diff --git a/Makefile b/Makefile index 077d055..6664be3 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 src/libultra assets assets/obseg \ + rsp src src/game src/inflate 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 @@ -76,6 +76,9 @@ APPBIN := ge007.$(COUNTRYCODE).bin HEADERFILES := $(foreach dir,src,$(wildcard $(dir)/*.s)) HEADEROBJECTS := $(foreach file,$(HEADERFILES),$(BUILD_DIR)/$(file:.s=.o)) +RSPCODE := $(foreach dir,rsp,$(wildcard $(dir)/*.s)) +RSPOBJECTS := $(foreach file,$(RSPCODE),$(BUILD_DIR)/$(file:.s=.bin)) + CODEFILES := $(foreach dir,src,$(wildcard $(dir)/*.c)) CODEOBJECTS := $(foreach file,$(CODEFILES),$(BUILD_DIR)/$(file:.c=.o)) @@ -111,14 +114,14 @@ OBSEG_RZ := $(BG_SEG_FILES) $(CHR_RZ_FILES) $(GUN_RZ_FILES) $(PROP_RZ_FILES) $(S IMAGE_BINS := $(foreach dir,assets/images/split,$(wildcard $(dir)/*.bin)) IMAGE_OBJS := $(foreach file,$(IMAGE_BINS),$(BUILD_DIR)/$(file:.bin=.o)) -RZFILES := rarezip/rarezip.c +RZFILES := inflate/inflate.c RZOBJECTS := $(foreach file,$(RZFILES),$(BUILD_DIR)/src/$(file:.c=.o)) -OBJECTS := $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(OBSEGMENT) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) +OBJECTS := $(RSPOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(OBSEGMENT) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) -INCLUDE := -I . -I include -I include/libultra -I src -I src/game -I src/rarezip +INCLUDE := -I . -I include -I include/ultra64 -I src -I src/game -I src/inflate CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc CFLAGS := -Wo,-loopunroll,0 -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm $(CFLAGWARNING) -woff 819,820,852,821,838 -signed $(INCLUDE) -mips2 $(LCDEFS) @@ -129,6 +132,7 @@ LDFLAGS := -T undefined_syms.txt -T $(LD_SCRIPT) -Map build/ge007.$(COUNTRYCODE) AS := $(TOOLCHAIN)as ASFLAGS := -march=vr4300 -mabi=32 $(INCLUDE) $(ASMDEFS) +ARMIPS := $(TOOLS_DIR)/armips ASM_PREPROC := python3 tools/asmpreproc/asm-processor.py OBJCOPY := $(TOOLCHAIN)objcopy @@ -141,7 +145,7 @@ endif codeclean: rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(COUNTRYCODE).map \ - $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) + $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(RSPOBJECTS) dataclean: rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(COUNTRYCODE).map \ @@ -150,7 +154,10 @@ dataclean: clean: rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(COUNTRYCODE).map \ $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \ - $(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) + $(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) + +$(BUILD_DIR)/rsp/%.bin: rsp/*.s + $(ARMIPS) -sym $@.sym -strequ CODE_FILE $(BUILD_DIR)/rsp/$*.bin -strequ DATA_FILE $(BUILD_DIR)/rsp/$*_data.bin $< $(BUILD_DIR)/%.o: src/%.s $(AS) $(ASFLAGS) -o $@ $< @@ -165,6 +172,8 @@ $(BUILD_DIR)/assets/%.o: assets/%.c $(BUILD_DIR)/assets/%.o: assets/%.s $(AS) $(ASFLAGS) -o $@ $< +$(BUILD_DIR)/src/rspboot.o: $(BUILD_DIR)/rsp/rspboot.bin + $(BUILD_DIR)/assets/ramrom/%.o: assets/ramrom/%.s $(AS) $(ASFLAGS) -o $@ $< @@ -188,7 +197,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) $(GLOBALIMAGETABLEOBJECTS) $(ROMOBJECTS2) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS) +$(APPELF): $(RSPOBJECTS) $(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 index d24d5d4..3415796 100644 --- a/assets/GlobalImageTable.c +++ b/assets/GlobalImageTable.c @@ -1,6 +1,7 @@ #include "ultra64.h" #include "bondconstants.h" #include "bondtypes.h" +#include struct sGlobalImageTable GlobalImageTable = { { //globalDL_0x000 @@ -400,294 +401,294 @@ struct sGlobalImageTable GlobalImageTable = { }, { //s_genericimage - {0x858, 0x36, 0x36, 3, F_IA, D_8BIT, MIRROR, MIRROR, 0} + {0x858, 0x36, 0x36, 3, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 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} + {0x878, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x879, 0x40, 0x20, 7, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x87A, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xCE, 0x40, 0x20, 7, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x878, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x878, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x878, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x87B, 0x20, 0x20, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x87C, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x5C3, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x87D, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x5C4, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x87E, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x87F, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x5C6, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x5C7, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x87A, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x878, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x878, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x878, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 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} + {0x880, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x881, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x882, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x883, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x884, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x885, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 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} + {0x886, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x887, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x888, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x889, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x88A, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0} }, { //s_flareimage1 - {0x8B5, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0} + {0x8B5, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0} }, { //s_flareimage2 - {0x8B6, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0} + {0x8B6, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0} }, { //s_flareimage3 - {0x850, 0x10, 0x20, 6, F_RGBA, D_32BIT, 0, 0, 0} + {0x850, 0x10, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} }, { //s_flareimage4 - {0x857, 0x10, 0x20, 6, F_RGBA, D_32BIT, 0, 0, 0} + {0x857, 0x10, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} }, { //s_flareimage5 - {0x856, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0} + {0x856, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} }, { //s_ammo9mmimage - {0x8B7, 5, 0xC, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x8B7, 5, 0xC, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_rifleammoimage - {0x8B8, 5, 0x1C, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x8B8, 5, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_shotgunammoimage - {0x877, 6, 0x14, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x877, 6, 0x14, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_knifeammoimage - {0x876, 6, 0x18, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x876, 6, 0x18, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_glammoimage - {0x875, 8, 0x15, 0, F_RGBA, D_32BIT, 0, MIRROR, 0} + {0x875, 8, 0x15, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0} }, { //s_rocketammoimage - {0x871, 7, 0x16, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x871, 7, 0x16, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_genericmineammoimage - {0x872, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x872, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_grenadeammoimage - {0x873, 0xE, 0x12, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x873, 0xE, 0x12, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_magnumammoimage - {0x874, 5, 0xF, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x874, 5, 0xF, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_goldengunammoimage - {0x8B9, 5, 0xC, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x8B9, 5, 0xC, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_remotemineammoimage - {0x8BA, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x8BA, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_timedmineammoimage - {0x8BE, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x8BE, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_proxmineammoimage - {0x8BB, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + {0x8BB, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_tankammoimage - {0x9A0, 7, 0x16, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0} + {0x9A0, 7, 0x16, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0} }, { //s_crosshairimage - {0x8BC, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0} + {0x8BC, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} }, { //s_betacrosshairimage - {0x8BD, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0} + {0x8BD, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 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} + {0x292, 0x20, 1, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x28E, 0x36, 0x36, 3, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 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} + {0x88B, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x88C, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x88D, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x88E, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x88F, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x890, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x891, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x892, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x893, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x894, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x895, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x4A1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x896, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x897, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x4A2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x4A3, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x898, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x246, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x247, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x248, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x899, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x89A, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x89B, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x89C, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x245, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x89D, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x89E, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8B3, 0x40, 0x40, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8AF, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8B0, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8B1, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8B2, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8AB, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8AC, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8AD, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8AE, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8AA, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x89F, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A0, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A1, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A2, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A3, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A4, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A5, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A6, 0x80, 0x30, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_CLAMP, 0}, + {0x8A7, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A8, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8A9, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x8D7, 0x36, 0x36, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0x345, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 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} + {0x8B4, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x5E4, 0x40, 0x40, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, + {0x5E5, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 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} + {0, 0x20, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0}, + {2, 0x20, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0}, + {3, 0x7A, 0x12, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {1, 0xF, 0xF, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {4, 0x14, 0x14, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA47, 0x10, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0} }, { //s_mpradarimages - {0xC8, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0} + {0xC8, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 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} + {0xA2A, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA2B, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA2C, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA2D, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA32, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA33, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA34, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA35, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA36, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA37, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA38, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA39, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA2E, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA2F, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA30, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA31, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA48, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA49, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA4A, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA4B, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA4C, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA4D, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA4E, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA4F, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA50, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA51, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA52, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA53, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA54, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA55, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA56, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA57, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA58, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA59, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA5A, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA5B, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA5C, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA5D, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA5E, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA5F, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA60, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA61, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA62, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA63, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA64, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA65, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA66, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA67, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA68, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA69, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA6A, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA6B, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA6C, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA6D, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA6E, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA6F, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA7A, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA7B, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA7C, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA7D, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA86, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA85, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA83, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA84, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 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} + {0xA20, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA16, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA12, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA19, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA14, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA1E, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA1B, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA24, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA17, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA15, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA18, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA1A, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA7E, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA7F, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA80, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA81, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, + {0xA87, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0} } }; diff --git a/assets/obseg/file_resource_table.inc.c b/assets/obseg/file_resource_table.inc.c new file mode 100644 index 0000000..40f1240 --- /dev/null +++ b/assets/obseg/file_resource_table.inc.c @@ -0,0 +1,753 @@ +//TODO: Autogenerate me +struct fileentry file_resource_table[] = { + {0, "", 0}, + {1, "bg/bg_sev_all_p.seg", &bg_sev_all_p_seg}, + {2, "bg/bg_silo_all_p.seg", &bg_silo_all_p_seg}, + {3, "bg/bg_stat_all_p.seg", &bg_stat_all_p_seg}, + {4, "bg/bg_arec_all_p.seg", &bg_arec_all_p_seg}, + {5, "bg/bg_arch_all_p.seg", &bg_arch_all_p_seg}, + {6, "bg/bg_tra_all_p.seg", &bg_tra_all_p_seg}, + {7, "bg/bg_dest_all_p.seg", &bg_dest_all_p_seg}, + {8, "bg/bg_sevb_all_p.seg", &bg_sevb_all_p_seg}, + {9, "bg/bg_azt_all_p.seg", &bg_azt_all_p_seg}, + {0xA, "bg/bg_pete_all_p.seg", &bg_pete_all_p_seg}, + {0xB, "bg/bg_depo_all_p.seg", &bg_depo_all_p_seg}, + {0xC, "bg/bg_ref_all_p.seg", &bg_ref_all_p_seg}, + {0xD, "bg/bg_cryp_all_p.seg", &bg_cryp_all_p_seg}, + {0xE, "bg/bg_dam_all_p.seg", &bg_dam_all_p_seg}, + {0xF, "bg/bg_ark_all_p.seg", &bg_ark_all_p_seg}, + {0x10, "bg/bg_run_all_p.seg", &bg_run_all_p_seg}, + {0x11, "bg/bg_sevx_all_p.seg", &bg_sevx_all_p_seg}, + {0x12, "bg/bg_jun_all_p.seg", &bg_jun_all_p_seg}, + {0x13, "bg/bg_dish_all_p.seg", &bg_dish_all_p_seg}, + {0x14, "bg/bg_cave_all_p.seg", &bg_cave_all_p_seg}, + {0x15, "bg/bg_cat_all_p.seg", &bg_cat_all_p_seg}, + {0x16, "bg/bg_crad_all_p.seg", &bg_crad_all_p_seg}, + {0x17, "bg/bg_sho_all_p.seg", &bg_sho_all_p_seg}, + {0x18, "bg/bg_eld_all_p.seg", &bg_imp_all_p_seg}, + {0x19, "bg/bg_imp_all_p.seg", &bg_imp_all_p_seg}, + {0x1A, "bg/bg_ash_all_p.seg", &bg_imp_all_p_seg}, + {0x1B, "bg/bg_lue_all_p.seg", &bg_imp_all_p_seg}, + {0x1C, "bg/bg_ame_all_p.seg", &bg_imp_all_p_seg}, + {0x1D, "bg/bg_rit_all_p.seg", &bg_rit_all_p_seg}, + {0x1E, "bg/bg_oat_all_p.seg", &bg_oat_all_p_seg}, + {0x1F, "bg/bg_ear_all_p.seg", &bg_ear_all_p_seg}, + {0x20, "bg/bg_lee_all_p.seg", &bg_lee_all_p_seg}, + {0x21, "bg/bg_lip_all_p.seg", &bg_lip_all_p_seg}, + {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}, + {0x28, "CbluemanZ", &CbluemanZ}, + {0x29, "CbluewomanZ", &CbluewomanZ}, + {0x2A, "CboilerbondZ", &CboilerbondZ}, + {0x2B, "CboilertrevZ", &CboilertrevZ}, + {0x2C, "CborisZ", &CborisZ}, + {0x2D, "CcamguardZ", &CcamguardZ}, + {0x2E, "CcardimanZ", &CcardimanZ}, + {0x2F, "CcheckmanZ", &CcheckmanZ}, + {0x30, "CcommguardZ", &CcommguardZ}, + {0x31, "CdjbondZ", &CdjbondZ}, + {0x32, "CfattechwomanZ", &CfattechwomanZ}, + {0x33, "Cgreatguard2Z", &Cgreatguard2Z}, + {0x34, "CgreatguardZ", &CgreatguardZ}, + {0x35, "CgreyguardZ", &CgreyguardZ}, + {0x36, "CgreymanZ", &CgreymanZ}, + {0x37, "CheadalanZ", &CheadalanZ}, + {0x38, "CheadbZ", &CheadbZ}, + {0x39, "CheadbalaclavaZ", &CheadbalaclavaZ}, + {0x3A, "CheadbikeZ", &CheadbikeZ}, + {0x3B, "CheadbrosnanZ", &CheadbrosnanZ}, + {0x3C, "CheadbrosnanboilerZ", &CheadbrosnanboilerZ}, + {0x3D, "CheadbrosnansnowZ", &CheadbrosnansnowZ}, + {0x3E, "CheadbrosnansuitZ", &CheadbrosnansuitZ}, + {0x3F, "CheadbrosnantimberZ", &CheadbrosnantimberZ}, + {0x40, "CheadchrisZ", &CheadchrisZ}, + {0x41, "CheaddaveZ", &CheaddaveZ}, + {0x42, "CheaddesZ", &CheaddesZ}, + {0x43, "CheadduncanZ", &CheadduncanZ}, + {0x44, "CheaddwayneZ", &CheaddwayneZ}, + {0x45, "CheadgrahamZ", &CheadgrahamZ}, + {0x46, "CheadgrantZ", &CheadgrantZ}, + {0x47, "CheadjimZ", &CheadjimZ}, + {0x48, "Cheadjoe2Z", &Cheadjoe2Z}, + {0x49, "CheadjoeZ", &CheadjoeZ}, + {0x4A, "CheadjoelZ", &CheadjoelZ}, + {0x4B, "CheadkarlZ", &CheadkarlZ}, + {0x4C, "CheadkenZ", &CheadkenZ}, + {0x4D, "CheadleeZ", &CheadleeZ}, + {0x4E, "CheadmandyZ", &CheadmandyZ}, + {0x4F, "CheadmarionZ", &CheadmarionZ}, + {0x50, "CheadmarkZ", &CheadmarkZ}, + {0x51, "CheadmartinZ", &CheadmartinZ}, + {0x52, "CheadmishkinZ", &CheadmishkinZ}, + {0x53, "CheadneilZ", &CheadneilZ}, + {0x54, "CheadpeteZ", &CheadpeteZ}, + {0x55, "CheadrobinZ", &CheadrobinZ}, + {0x56, "CheadsallyZ", &CheadsallyZ}, + {0x57, "CheadscottZ", &CheadscottZ}, + {0x58, "CheadshaunZ", &CheadshaunZ}, + {0x59, "CheadsteveeZ", &CheadsteveeZ}, + {0x5A, "CheadstevehZ", &CheadstevehZ}, + {0x5B, "CheadvivienZ", &CheadvivienZ}, + {0x5C, "CjawsZ", &CjawsZ}, + {0x5D, "CjeanwomanZ", &CjeanwomanZ}, + {0x5E, "CmaydayZ", &CmaydayZ}, + {0x5F, "CmoonfemaleZ", &CmoonfemaleZ}, + {0x60, "CmoonguardZ", &CmoonguardZ}, + {0x61, "CnatalyaZ", &CnatalyaZ}, + {0x62, "CnavyguardZ", &CnavyguardZ}, + {0x63, "CoddjobZ", &CoddjobZ}, + {0x64, "ColiveguardZ", &ColiveguardZ}, + {0x65, "CorumovZ", &CorumovZ}, + {0x66, "CpilotZ", &CpilotZ}, + {0x67, "CredmanZ", &CredmanZ}, + {0x68, "CrusguardZ", &CrusguardZ}, + {0x69, "CsnowbondZ", &CsnowbondZ}, + {0x6A, "CsnowguardZ", &CsnowguardZ}, + {0x6B, "CspicebondZ", &CspicebondZ}, + {0x6C, "Csuit_lf_handZ", &Csuit_lf_handZ}, + {0x6D, "CsuitbondZ", &CsuitbondZ}, + {0x6E, "CtechmanZ", &CtechmanZ}, + {0x6F, "CtechwomanZ", &CtechwomanZ}, + {0x70, "CtimberbondZ", &CtimberbondZ}, + {0x71, "CtrevelyanZ", &CtrevelyanZ}, + {0x72, "CtrevguardZ", &CtrevguardZ}, + {0x73, "CvalentinZ", &CvalentinZ}, + {0x74, "CxeniaZ", &CxeniaZ}, + + {0x75, "Gak47Z", &Gak47Z}, + {0x76, "GaudiotapeZ", &GaudiotapeZ}, + {0x77, "GautoshotZ", &GautoshotZ}, + {0x78, "GblackboxZ", &GblackboxZ}, + {0x79, "GblueprintsZ", &GblueprintsZ}, + {0x7A, "GbombcaseZ", &GbombcaseZ}, + {0x7B, "GbombdefuserZ", &GbombdefuserZ}, + {0x7C, "GbriefcaseZ", &GbriefcaseZ}, + {0x7D, "GbugZ", &GbugZ}, + {0x7E, "GbugdetectorZ", &GbugdetectorZ}, + {0x7F, "GbungeeZ", &GbungeeZ}, + {0x80, "GcameraZ", &GcameraZ}, + {0x81, "GcartblueZ", &GcartblueZ}, + {0x82, "GcartridgeZ", &GcartridgeZ}, + {0x83, "GcartrifleZ", &GcartrifleZ}, + {0x84, "GcartshellZ", &GcartshellZ}, + {0x85, "GcircuitboardZ", &GcircuitboardZ}, + {0x86, "GclipboardZ", &GclipboardZ}, + {0x87, "GcreditcardZ", &GcreditcardZ}, + {0x88, "GdarkglassesZ", &GdarkglassesZ}, + {0x89, "GdatathiefZ", &GdatathiefZ}, + {0x8A, "GdattapeZ", &GdattapeZ}, + {0x8B, "GdoordecoderZ", &GdoordecoderZ}, + {0x8C, "GdoorexploderZ", &GdoorexploderZ}, + {0x8D, "GdossierredZ", &GdossierredZ}, + {0x8E, "GdynamiteZ", &GdynamiteZ}, + {0x8F, "GexplosivefloppyZ", &GexplosivefloppyZ}, + {0x90, "GexplosivepenZ", &GexplosivepenZ}, + {0x91, "GextinguisherZ", &GextinguisherZ}, + {0x92, "GfingergunZ", &GfingergunZ}, + {0x93, "GfistZ", &GfistZ}, + {0x94, "GflarepistolZ", &GflarepistolZ}, + {0x95, "Gfnp90Z", &Gfnp90Z}, + {0x96, "GgaskeyringZ", &GgaskeyringZ}, + {0x97, "GgoldbarZ", &GgoldbarZ}, + {0x98, "GgoldeneyekeyZ", &GgoldeneyekeyZ}, + {0x99, "GgoldengunZ", &GgoldengunZ}, + {0x9A, "GgoldwppkZ", &GgoldwppkZ}, + {0x9B, "GgrenadeZ", &GgrenadeZ}, + {0x9C, "GgrenadelaunchZ", &GgrenadelaunchZ}, + {0x9D, "GheroinZ", &GheroinZ}, + {0x9E, "GjoypadZ", &GjoypadZ}, + {0x9F, "GkeyanalysercaseZ", &GkeyanalysercaseZ}, + {0xA0, "GkeyboltZ", &GkeyboltZ}, + {0xA1, "GkeycardZ", &GkeycardZ}, + {0xA2, "GkeyyaleZ", &GkeyyaleZ}, + {0xA3, "GknifeZ", &GknifeZ}, + {0xA4, "GlaserZ", &GlaserZ}, + {0xA5, "GlectreZ", &GlectreZ}, + {0xA6, "GlockexploderZ", &GlockexploderZ}, + {0xA7, "Gm16Z", &Gm16Z}, + {0xA8, "GmapZ", &GmapZ}, + {0xA9, "GmicrocameraZ", &GmicrocameraZ}, + {0xAA, "GmicrocodeZ", &GmicrocodeZ}, + {0xAB, "GmicrofilmZ", &GmicrofilmZ}, + {0xAC, "GmoneyZ", &GmoneyZ}, + {0xAD, "Gmp5kZ", &Gmp5kZ}, + {0xAE, "Gmp5ksilZ", &Gmp5ksilZ}, + {0xAF, "GpitongunZ", &GpitongunZ}, + {0xB0, "GplansZ", &GplansZ}, + {0xB1, "GplastiqueZ", &GplastiqueZ}, + {0xB2, "GpolarizedglassesZ", &GpolarizedglassesZ}, + {0xB3, "GproximitymineZ", &GproximitymineZ}, + {0xB4, "GremotemineZ", &GremotemineZ}, + {0xB5, "GrocketlaunchZ", &GrocketlaunchZ}, + {0xB6, "GrugerZ", &GrugerZ}, + {0xB7, "GsafecrackercaseZ", &GsafecrackercaseZ}, + {0xB8, "GshotgunZ", &GshotgunZ}, + {0xB9, "GsilverwppkZ", &GsilverwppkZ}, + {0xBA, "GskorpionZ", &GskorpionZ}, + {0xBB, "GsniperrifleZ", &GsniperrifleZ}, + {0xBC, "GspectreZ", &GspectreZ}, + {0xBD, "GspooltapeZ", &GspooltapeZ}, + {0xBE, "GspyfileZ", &GspyfileZ}, + {0xBF, "GstafflistZ", &GstafflistZ}, + {0xC0, "GtaserZ", &GtaserZ}, + {0xC1, "GthrowknifeZ", &GthrowknifeZ}, + {0xC2, "GtimedmineZ", &GtimedmineZ}, + {0xC3, "GtriggerZ", &GtriggerZ}, + {0xC4, "Gtt33Z", &Gtt33Z}, + {0xC5, "GuziZ", &GuziZ}, + {0xC6, "GvideotapeZ", &GvideotapeZ}, + {0xC7, "GwatchcommunicatorZ", &GwatchcommunicatorZ}, + {0xC8, "GwatchgeigercounterZ", &GwatchgeigercounterZ}, + {0xC9, "GwatchidentifierZ", &GwatchidentifierZ}, + {0xCA, "GwatchlaserZ", &GwatchlaserZ}, + {0xCB, "GwatchmagnetattractZ", &GwatchmagnetattractZ}, + {0xCC, "GwatchmagnetrepelZ", &GwatchmagnetrepelZ}, + {0xCD, "GweaponcaseZ", &GweaponcaseZ}, + {0xCE, "GwppkZ", &GwppkZ}, + {0xCF, "GwppksilZ", &GwppksilZ}, + {0xD0, "GwristdartZ", &GwristdartZ}, + + {0xD1, "PICBMZ", &PICBMZ}, + {0xD2, "PICBM_noseZ", &PICBM_noseZ}, + {0xD3, "Pak47magZ", &Pak47magZ}, + {0xD4, "Palarm1Z", &Palarm1Z}, + {0xD5, "Palarm2Z", &Palarm2Z}, + {0xD6, "Pammo_crate1Z", &Pammo_crate1Z}, + {0xD7, "Pammo_crate2Z", &Pammo_crate2Z}, + {0xD8, "Pammo_crate3Z", &Pammo_crate3Z}, + {0xD9, "Pammo_crate4Z", &Pammo_crate4Z}, + {0xDA, "Pammo_crate5Z", &Pammo_crate5Z}, + {0xDB, "PapcZ", &PapcZ}, + {0xDC, "Parchsecdoor1Z", &Parchsecdoor1Z}, + {0xDD, "Parchsecdoor2Z", &Parchsecdoor2Z}, + {0xDE, "ParticZ", &ParticZ}, + {0xDF, "PartictrailerZ", &PartictrailerZ}, + {0xE0, "PbarricadeZ", &PbarricadeZ}, + {0xE1, "Pbin1Z", &Pbin1Z}, + {0xE2, "Pblotter1Z", &Pblotter1Z}, + {0xE3, "PbodyarmourZ", &PbodyarmourZ}, + {0xE4, "PbodyarmourvestZ", &PbodyarmourvestZ}, + {0xE5, "PbollardZ", &PbollardZ}, + {0xE6, "PbombZ", &PbombZ}, + {0xE7, "Pbook1Z", &Pbook1Z}, + {0xE8, "Pbookshelf1Z", &Pbookshelf1Z}, + {0xE9, "Pborg_crateZ", &Pborg_crateZ}, + {0xEA, "PboxcartridgesZ", &PboxcartridgesZ}, + {0xEB, "Pboxes2x4Z", &Pboxes2x4Z}, + {0xEC, "Pboxes3x4Z", &Pboxes3x4Z}, + {0xED, "Pboxes4x4Z", &Pboxes4x4Z}, + {0xEE, "PbrakeunitZ", &PbrakeunitZ}, + {0xEF, "Pbridge_console1aZ", &Pbridge_console1aZ}, + {0xF0, "Pbridge_console1bZ", &Pbridge_console1bZ}, + {0xF1, "Pbridge_console2aZ", &Pbridge_console2aZ}, + {0xF2, "Pbridge_console2bZ", &Pbridge_console2bZ}, + {0xF3, "Pbridge_console3aZ", &Pbridge_console3aZ}, + {0xF4, "Pbridge_console3bZ", &Pbridge_console3bZ}, + {0xF5, "PcarbmwZ", &PcarbmwZ}, + {0xF6, "Pcard_box1Z", &Pcard_box1Z}, + {0xF7, "Pcard_box2Z", &Pcard_box2Z}, + {0xF8, "Pcard_box3Z", &Pcard_box3Z}, + {0xF9, "Pcard_box4_lgZ", &Pcard_box4Z}, + {0xFA, "Pcard_box5_lgZ", &Pcard_box5Z}, + {0xFB, "Pcard_box6_lgZ", &Pcard_box6Z}, + {0xFC, "PcarescortZ", &PcarescortZ}, + {0xFD, "PcargolfZ", &PcargolfZ}, + {0xFE, "PcarweirdZ", &PcarweirdZ}, + {0xFF, "PcarzilZ", &PcarzilZ}, + {0x100, "PcctvZ", &PcctvZ}, + {0x101, "PchraudiotapeZ", &PchraudiotapeZ}, + {0x102, "PchrautoshotZ", &PchrautoshotZ}, + {0x103, "PchrblackboxZ", &PchrblackboxZ}, + {0x104, "PchrblueprintsZ", &PchrblueprintsZ}, + {0x105, "PchrbombcaseZ", &PchrbombcaseZ}, + {0x106, "PchrbombdefuserZ", &PchrbombdefuserZ}, + {0x107, "PchrbriefcaseZ", &PchrbriefcaseZ}, + {0x108, "PchrbugZ", &PchrbugZ}, + {0x109, "PchrbugdetectorZ", &PchrbugdetectorZ}, + {0x10A, "PchrbungeeZ", &PchrbungeeZ}, + {0x10B, "PchrcameraZ", &PchrcameraZ}, + {0x10C, "PchrcircuitboardZ", &PchrcircuitboardZ}, + {0x10D, "PchrclipboardZ", &PchrclipboardZ}, + {0x10E, "PchrcreditcardZ", &PchrcreditcardZ}, + {0x10F, "PchrdarkglassesZ", &PchrdarkglassesZ}, + {0x110, "PchrdatathiefZ", &PchrdatathiefZ}, + {0x111, "PchrdattapeZ", &PchrdattapeZ}, + {0x112, "PchrdoordecoderZ", &PchrdoordecoderZ}, + {0x113, "PchrdoorexploderZ", &PchrdoorexploderZ}, + {0x114, "PchrdossierredZ", &PchrdossierredZ}, + {0x115, "PchrdynamiteZ", &PchrdynamiteZ}, + {0x116, "PchrexplosivepenZ", &PchrexplosivepenZ}, + {0x117, "PchrextinguisherZ", &PchrextinguisherZ}, + {0x118, "PchrfingergunZ", &PchrfingergunZ}, + {0x119, "PchrflarepistolZ", &PchrflarepistolZ}, + {0x11A, "Pchrfnp90Z", &Pchrfnp90Z}, + {0x11B, "PchrgaskeyringZ", &PchrgaskeyringZ}, + {0x11C, "PchrgoldbarZ", &PchrgoldbarZ}, + {0x11D, "PchrgoldenZ", &PchrgoldenZ}, + {0x11E, "PchrgoldeneyekeyZ", &PchrgoldeneyekeyZ}, + {0x11F, "PchrgoldwppkZ", &PchrgoldwppkZ}, + {0x120, "PchrgrenadeZ", &PchrgrenadeZ}, + {0x121, "PchrgrenadelaunchZ", &PchrgrenadelaunchZ}, + {0x122, "PchrgrenaderoundZ", &PchrgrenaderoundZ}, + {0x123, "PchrheroinZ", &PchrheroinZ}, + {0x124, "PchrkalashZ", &PchrkalashZ}, + {0x125, "PchrkeyanalysercaseZ", &PchrkeyanalysercaseZ}, + {0x126, "PchrkeyboltZ", &PchrkeyboltZ}, + {0x127, "PchrkeyyaleZ", &PchrkeyyaleZ}, + {0x128, "PchrknifeZ", &PchrknifeZ}, + {0x129, "PchrlaserZ", &PchrlaserZ}, + {0x12A, "PchrlectreZ", &PchrlectreZ}, + {0x12B, "PchrlockexploderZ", &PchrlockexploderZ}, + {0x12C, "Pchrm16Z", &Pchrm16Z}, + {0x12D, "PchrmapZ", &PchrmapZ}, + {0x12E, "PchrmicrocameraZ", &PchrmicrocameraZ}, + {0x12F, "PchrmicrocodeZ", &PchrmicrocodeZ}, + {0x130, "PchrmicrofilmZ", &PchrmicrofilmZ}, + {0x131, "PchrmoneyZ", &PchrmoneyZ}, + {0x132, "Pchrmp5kZ", &Pchrmp5kZ}, + {0x133, "Pchrmp5ksilZ", &Pchrmp5ksilZ}, + {0x134, "PchrpitongunZ", &PchrpitongunZ}, + {0x135, "PchrplansZ", &PchrplansZ}, + {0x136, "PchrplastiqueZ", &PchrplastiqueZ}, + {0x137, "PchrpolarizedglassesZ", &PchrpolarizedglassesZ}, + {0x138, "PchrproximitymineZ", &PchrproximitymineZ}, + {0x139, "PchrremotemineZ", &PchrremotemineZ}, + {0x13A, "PchrrocketZ", &PchrrocketZ}, + {0x13B, "PchrrocketlaunchZ", &PchrrocketlaunchZ}, + {0x13C, "PchrrugerZ", &PchrrugerZ}, + {0x13D, "PchrsafecrackercaseZ", &PchrsafecrackercaseZ}, + {0x13E, "PchrshotgunZ", &PchrshotgunZ}, + {0x13F, "PchrsilverwppkZ", &PchrsilverwppkZ}, + {0x140, "PchrskorpionZ", &PchrskorpionZ}, + {0x141, "PchrsniperrifleZ", &PchrsniperrifleZ}, + {0x142, "PchrspectreZ", &PchrspectreZ}, + {0x143, "PchrspooltapeZ", &PchrspooltapeZ}, + {0x144, "PchrspyfileZ", &PchrspyfileZ}, + {0x145, "PchrstafflistZ", &PchrstafflistZ}, + {0x146, "PchrtesttubeZ", &PchrtesttubeZ}, + {0x147, "PchrthrowknifeZ", &PchrthrowknifeZ}, + {0x148, "PchrtimedmineZ", &PchrtimedmineZ}, + {0x149, "Pchrtt33Z", &Pchrtt33Z}, + {0x14A, "PchruziZ", &PchruziZ}, + {0x14B, "PchrvideotapeZ", &PchrvideotapeZ}, + {0x14C, "PchrweaponcaseZ", &PchrweaponcaseZ}, + {0x14D, "PchrwppkZ", &PchrwppkZ}, + {0x14E, "PchrwppksilZ", &PchrwppksilZ}, + {0x14F, "PchrwristdartZ", &PchrwristdartZ}, + {0x150, "Pconsole1Z", &Pconsole1Z}, + {0x151, "Pconsole2Z", &Pconsole2Z}, + {0x152, "Pconsole3Z", &Pconsole3Z}, + {0x153, "Pconsole_sev2aZ", &Pconsole_sev2aZ}, + {0x154, "Pconsole_sev2bZ", &Pconsole_sev2bZ}, + {0x155, "Pconsole_sev2cZ", &Pconsole_sev2cZ}, + {0x156, "Pconsole_sev2dZ", &Pconsole_sev2dZ}, + {0x157, "Pconsole_sev_GEaZ", &Pconsole_sev_GEaZ}, + {0x158, "Pconsole_sev_GEbZ", &Pconsole_sev_GEbZ}, + {0x159, "Pconsole_sevaZ", &Pconsole_sevaZ}, + {0x15A, "Pconsole_sevbZ", &Pconsole_sevbZ}, + {0x15B, "Pconsole_sevcZ", &Pconsole_sevcZ}, + {0x15C, "Pconsole_sevdZ", &Pconsole_sevdZ}, + {0x15D, "Pcryptdoor1aZ", &Pcryptdoor1aZ}, + {0x15E, "Pcryptdoor1bZ", &Pcryptdoor1bZ}, + {0x15F, "Pcryptdoor2aZ", &Pcryptdoor2aZ}, + {0x160, "Pcryptdoor2bZ", &Pcryptdoor2bZ}, + {0x161, "Pcryptdoor3Z", &Pcryptdoor3Z}, + {0x162, "Pcryptdoor4Z", &Pcryptdoor4Z}, + {0x163, "PdamchaindoorZ", &PdamchaindoorZ}, + {0x164, "PdamgatedoorZ", &PdamgatedoorZ}, + {0x165, "PdamtundoorZ", &PdamtundoorZ}, + {0x166, "Pdepot_door_steelZ", &Pdepot_door_steelZ}, + {0x167, "Pdepot_gate_entryZ", &Pdepot_gate_entryZ}, + {0x168, "Pdesk1Z", &Pdesk1Z}, + {0x169, "Pdesk2Z", &Pdesk2Z}, + {0x16A, "Pdesk_arecibo1Z", &Pdesk_arecibo1Z}, + {0x16B, "Pdesk_lamp2Z", &Pdesk_lamp2Z}, + {0x16C, "Pdest_engineZ", &Pdest_engineZ}, + {0x16D, "Pdest_exocetZ", &Pdest_exocetZ}, + {0x16E, "Pdest_gunZ", &Pdest_gunZ}, + {0x16F, "Pdest_harpoonZ", &Pdest_harpoonZ}, + {0x170, "Pdest_seawolfZ", &Pdest_seawolfZ}, + {0x171, "Pdisc_readerZ", &Pdisc_readerZ}, + {0x172, "Pdisk_drive1Z", &Pdisk_drive1Z}, + {0x173, "Pdoor_azt_chairZ", &Pdoor_azt_chairZ}, + {0x174, "Pdoor_azt_deskZ", &Pdoor_azt_deskZ}, + {0x175, "Pdoor_azt_desk_topZ", &Pdoor_azt_desk_topZ}, + {0x176, "Pdoor_aztecZ", &Pdoor_aztecZ}, + {0x177, "Pdoor_dest1Z", &Pdoor_dest1Z}, + {0x178, "Pdoor_dest2Z", &Pdoor_dest2Z}, + {0x179, "Pdoor_eyelidZ", &Pdoor_eyelidZ}, + {0x17A, "Pdoor_irisZ", &Pdoor_irisZ}, + {0x17B, "Pdoor_mfZ", &Pdoor_mfZ}, + {0x17C, "Pdoor_roller1Z", &Pdoor_roller1Z}, + {0x17D, "Pdoor_roller2Z", &Pdoor_roller2Z}, + {0x17E, "Pdoor_roller3Z", &Pdoor_roller3Z}, + {0x17F, "Pdoor_roller4Z", &Pdoor_roller4Z}, + {0x180, "Pdoor_rollertrainZ", &Pdoor_rollertrainZ}, + {0x181, "Pdoor_st_arec1Z", &Pdoor_st_arec1Z}, + {0x182, "Pdoor_st_arec2Z", &Pdoor_st_arec2Z}, + {0x183, "Pdoor_winZ", &Pdoor_winZ}, + {0x184, "PdoorconsoleZ", &PdoorconsoleZ}, + {0x185, "PdoorpanelZ", &PdoorpanelZ}, + {0x186, "Pdoorprison1Z", &Pdoorprison1Z}, + {0x187, "PdoorstatgateZ", &PdoorstatgateZ}, + {0x188, "PexplosionbitZ", &PexplosionbitZ}, + {0x189, "Pfiling_cabinet1Z", &Pfiling_cabinet1Z}, + {0x18A, "PflagZ", &PflagZ}, + {0x18B, "PfloppyZ", &PfloppyZ}, + {0x18C, "Pfnp90magZ", &Pfnp90magZ}, + {0x18D, "Pgas_plant_met1_do1Z", &Pgas_plant_met1_do1Z}, + {0x18E, "Pgas_plant_sw2_do1Z", &Pgas_plant_sw2_do1Z}, + {0x18F, "Pgas_plant_sw3_do1Z", &Pgas_plant_sw3_do1Z}, + {0x190, "Pgas_plant_sw4_do1Z", &Pgas_plant_sw4_do1Z}, + {0x191, "Pgas_plant_sw_do1Z", &Pgas_plant_sw_do1Z}, + {0x192, "Pgas_plant_wc_cub1Z", &Pgas_plant_wc_cub1Z}, + {0x193, "PgasbarrelZ", &PgasbarrelZ}, + {0x194, "PgasbarrelsZ", &PgasbarrelsZ}, + {0x195, "Pgasplant_clear_doorZ", &Pgasplant_clear_doorZ}, + {0x196, "PgastankZ", &PgastankZ}, + {0x197, "Pglassware1Z", &Pglassware1Z}, + {0x198, "Pglassware2Z", &Pglassware2Z}, + {0x199, "Pglassware3Z", &Pglassware3Z}, + {0x19A, "Pglassware4Z", &Pglassware4Z}, + {0x19B, "PgoldeneyelogoZ", &PgoldeneyelogoZ}, + {0x19C, "PgoldenshellsZ", &PgoldenshellsZ}, + {0x19D, "PgroundgunZ", &PgroundgunZ}, + {0x19E, "Pgun_runway1Z", &Pgun_runway1Z}, + {0x19F, "PhatberetZ", &PhatberetZ}, + {0x1A0, "PhatberetblueZ", &PhatberetblueZ}, + {0x1A1, "PhatberetredZ", &PhatberetredZ}, + {0x1A2, "PhatchboltZ", &PhatchboltZ}, + {0x1A3, "PhatchdoorZ", &PhatchdoorZ}, + {0x1A4, "PhatchsevxZ", &PhatchsevxZ}, + {0x1A5, "PhatfurryZ", &PhatfurryZ}, + {0x1A6, "PhatfurryblackZ", &PhatfurryblackZ}, + {0x1A7, "PhatfurrybrownZ", &PhatfurrybrownZ}, + {0x1A8, "PhathelmetZ", &PhathelmetZ}, + {0x1A9, "PhathelmetgreyZ", &PhathelmetgreyZ}, + {0x1AA, "PhatmoonZ", &PhatmoonZ}, + {0x1AB, "PhatpeakedZ", &PhatpeakedZ}, + {0x1AC, "PhattbirdZ", &PhattbirdZ}, + {0x1AD, "PhattbirdbrownZ", &PhattbirdbrownZ}, + {0x1AE, "PhelicopterZ", &PhelicopterZ}, + {0x1AF, "PhindZ", &PhindZ}, + {0x1B0, "PjeepZ", &PjeepZ}, + {0x1B1, "Pjerry_can1Z", &Pjerry_can1Z}, + {0x1B2, "Pjungle3_treeZ", &Pjungle3_treeZ}, + {0x1B3, "Pjungle5_treeZ", &Pjungle5_treeZ}, + {0x1B4, "Pkey_holderZ", &Pkey_holderZ}, + {0x1B5, "Pkeyboard1Z", &Pkeyboard1Z}, + {0x1B6, "Pkit_units1Z", &Pkit_units1Z}, + {0x1B7, "PlabbenchZ", &PlabbenchZ}, + {0x1B8, "PlandmineZ", &PlandmineZ}, + {0x1B9, "PlegalpageZ", &PlegalpageZ}, + {0x1BA, "Pletter_tray1Z", &Pletter_tray1Z}, + {0x1BB, "Plocker3Z", &Plocker3Z}, + {0x1BC, "Plocker4Z", &Plocker4Z}, + {0x1BD, "Pm16magZ", &Pm16magZ}, + {0x1BE, "PmagnumshellsZ", &PmagnumshellsZ}, + {0x1BF, "Pmainframe1Z", &Pmainframe1Z}, + {0x1C0, "Pmainframe2Z", &Pmainframe2Z}, + {0x1C1, "Pmetal_chair1Z", &Pmetal_chair1Z}, + {0x1C2, "Pmetal_crate1Z", &Pmetal_crate1Z}, + {0x1C3, "Pmetal_crate2Z", &Pmetal_crate2Z}, + {0x1C4, "Pmetal_crate3Z", &Pmetal_crate3Z}, + {0x1C5, "Pmetal_crate4Z", &Pmetal_crate4Z}, + {0x1C6, "PmilcopterZ", &PmilcopterZ}, + {0x1C7, "PmiltruckZ", &PmiltruckZ}, + {0x1C8, "Pmissile_rack2Z", &Pmissile_rack2Z}, + {0x1C9, "Pmissile_rackZ", &Pmissile_rackZ}, + {0x1CA, "PmodemboxZ", &PmodemboxZ}, + {0x1CB, "PmotorbikeZ", &PmotorbikeZ}, + {0x1CC, "Pmp5kmagZ", &Pmp5kmagZ}, + {0x1CD, "PnintendologoZ", &PnintendologoZ}, + {0x1CE, "Poil_drum1Z", &Poil_drum1Z}, + {0x1CF, "Poil_drum2Z", &Poil_drum2Z}, + {0x1D0, "Poil_drum3Z", &Poil_drum3Z}, + {0x1D1, "Poil_drum5Z", &Poil_drum5Z}, + {0x1D2, "Poil_drum6Z", &Poil_drum6Z}, + {0x1D3, "Poil_drum7Z", &Poil_drum7Z}, + {0x1D4, "PpadlockZ", &PpadlockZ}, + {0x1D5, "PpalmZ", &PpalmZ}, + {0x1D6, "PpalmtreeZ", &PpalmtreeZ}, + {0x1D7, "Pphone1Z", &Pphone1Z}, + {0x1D8, "PplaneZ", &PplaneZ}, + {0x1D9, "Pplant11Z", &Pplant11Z}, + {0x1DA, "Pplant1Z", &Pplant1Z}, + {0x1DB, "Pplant2Z", &Pplant2Z}, + {0x1DC, "Pplant2bZ", &Pplant2bZ}, + {0x1DD, "Pplant3Z", &Pplant3Z}, + {0x1DE, "Pradio_unit1Z", &Pradio_unit1Z}, + {0x1DF, "Pradio_unit2Z", &Pradio_unit2Z}, + {0x1E0, "Pradio_unit3Z", &Pradio_unit3Z}, + {0x1E1, "Pradio_unit4Z", &Pradio_unit4Z}, + {0x1E2, "ProofgunZ", &ProofgunZ}, + {0x1E3, "PsafeZ", &PsafeZ}, + {0x1E4, "PsafedoorZ", &PsafedoorZ}, + {0x1E5, "Psat1_reflectZ", &Psat1_reflectZ}, + {0x1E6, "PsatboxZ", &PsatboxZ}, + {0x1E7, "PsatdishZ", &PsatdishZ}, + {0x1E8, "Psec_panelZ", &Psec_panelZ}, + {0x1E9, "Psev_door3Z", &Psev_door3Z}, + {0x1EA, "Psev_door3_windZ", &Psev_door3_windZ}, + {0x1EB, "Psev_door4_windZ", &Psev_door4_windZ}, + {0x1EC, "Psev_doorZ", &Psev_doorZ}, + {0x1ED, "Psev_door_v1Z", &Psev_door_v1Z}, + {0x1EE, "Psev_trislideZ", &Psev_trislideZ}, + {0x1EF, "PsevdishZ", &PsevdishZ}, + {0x1F0, "PsevdoormetslideZ", &PsevdoormetslideZ}, + {0x1F1, "PsevdoornowindZ", &PsevdoornowindZ}, + {0x1F2, "PsevdoorwindZ", &PsevdoorwindZ}, + {0x1F3, "PsevdoorwoodZ", &PsevdoorwoodZ}, + {0x1F4, "PshuttleZ", &PshuttleZ}, + {0x1F5, "Pshuttle_door_lZ", &Pshuttle_door_lZ}, + {0x1F6, "Pshuttle_door_rZ", &Pshuttle_door_rZ}, + {0x1F7, "PsilencerZ", &PsilencerZ}, + {0x1F8, "Psilo_lift_doorZ", &Psilo_lift_doorZ}, + {0x1F9, "PsilotopdoorZ", &PsilotopdoorZ}, + {0x1FA, "PskorpionmagZ", &PskorpionmagZ}, + {0x1FB, "PspectremagZ", &PspectremagZ}, + {0x1FC, "PspeedboatZ", &PspeedboatZ}, + {0x1FD, "Pst_pete_room_1iZ", &Pst_pete_room_1iZ}, + {0x1FE, "Pst_pete_room_2iZ", &Pst_pete_room_2iZ}, + {0x1FF, "Pst_pete_room_3tZ", &Pst_pete_room_3tZ}, + {0x200, "Pst_pete_room_5cZ", &Pst_pete_room_5cZ}, + {0x201, "Pst_pete_room_6cZ", &Pst_pete_room_6cZ}, + {0x202, "Psteel_door1Z", &Psteel_door1Z}, + {0x203, "Psteel_door2Z", &Psteel_door2Z}, + {0x204, "Psteel_door2bZ", &Psteel_door2bZ}, + {0x205, "Psteel_door3Z", &Psteel_door3Z}, + {0x206, "Pstool1Z", &Pstool1Z}, + {0x207, "Pswipe_card2Z", &Pswipe_card2Z}, + {0x208, "Pswivel_chair1Z", &Pswivel_chair1Z}, + {0x209, "PtankZ", &PtankZ}, + {0x20A, "PtigerZ", &PtigerZ}, + {0x20B, "Ptorpedo_rackZ", &Ptorpedo_rackZ}, + {0x20C, "Ptrain_door2Z", &Ptrain_door2Z}, + {0x20D, "Ptrain_door3Z", &Ptrain_door3Z}, + {0x20E, "Ptrain_doorZ", &Ptrain_doorZ}, + {0x20F, "PtrainextdoorZ", &PtrainextdoorZ}, + {0x210, "Ptt33magZ", &Ptt33magZ}, + {0x211, "Ptuning_console1Z", &Ptuning_console1Z}, + {0x212, "Ptv1Z", &Ptv1Z}, + {0x213, "Ptv4screenZ", &Ptv4screenZ}, + {0x214, "Ptv_holderZ", &Ptv_holderZ}, + {0x215, "PtvscreenZ", &PtvscreenZ}, + {0x216, "PuzimagZ", &PuzimagZ}, + {0x217, "PvertdoorZ", &PvertdoorZ}, + {0x218, "PwalletbondZ", &PwalletbondZ}, + {0x219, "PwindowZ", &PwindowZ}, + {0x21A, "Pwindow_cor11Z", &Pwindow_cor11Z}, + {0x21B, "Pwindow_lib_lg1Z", &Pwindow_lib_lg1Z}, + {0x21C, "Pwindow_lib_sm1Z", &Pwindow_lib_sm1Z}, + {0x21D, "Pwood_lg_crate1Z", &Pwood_lg_crate1Z}, + {0x21E, "Pwood_lg_crate2Z", &Pwood_lg_crate2Z}, + {0x21F, "Pwood_md_crate3Z", &Pwood_md_crate3Z}, + {0x220, "Pwood_sm_crate4Z", &Pwood_sm_crate4Z}, + {0x221, "Pwood_sm_crate5Z", &Pwood_sm_crate5Z}, + {0x222, "Pwood_sm_crate6Z", &Pwood_sm_crate6Z}, + {0x223, "Pwooden_table1Z", &Pwooden_table1Z}, + {0x224, "PwppkmagZ", &PwppkmagZ}, + + {0x225, "Tbg_ame_all_p_stanZ", &Tbg_ame_all_p_stanZ}, + {0x226, "Tbg_arch_all_p_stanZ", &Tbg_arch_all_p_stanZ}, + {0x227, "Tbg_arec_all_p_stanZ", &Tbg_arec_all_p_stanZ}, + {0x228, "Tbg_ark_all_p_stanZ", &Tbg_ark_all_p_stanZ}, + {0x229, "Tbg_ash_all_p_stanZ", &Tbg_ash_all_p_stanZ}, + {0x22A, "Tbg_azt_all_p_stanZ", &Tbg_azt_all_p_stanZ}, + {0x22B, "Tbg_cat_all_p_stanZ", &Tbg_cat_all_p_stanZ}, + {0x22C, "Tbg_cave_all_p_stanZ", &Tbg_cave_all_p_stanZ}, + {0x22D, "Tbg_crad_all_p_stanZ", &Tbg_crad_all_p_stanZ}, + {0x22E, "Tbg_cryp_all_p_stanZ", &Tbg_cryp_all_p_stanZ}, + {0x22F, "Tbg_dam_all_p_stanZ", &Tbg_dam_all_p_stanZ}, + {0x230, "Tbg_depo_all_p_stanZ", &Tbg_depo_all_p_stanZ}, + {0x231, "Tbg_dest_all_p_stanZ", &Tbg_dest_all_p_stanZ}, + {0x232, "Tbg_dish_all_p_stanZ", &Tbg_dish_all_p_stanZ}, + {0x233, "Tbg_ear_all_p_stanZ", &Tbg_imp_all_p_stanZ}, + {0x234, "Tbg_eld_all_p_stanZ", &Tbg_imp_all_p_stanZ}, + {0x235, "Tbg_imp_all_p_stanZ", &Tbg_imp_all_p_stanZ}, + {0x236, "Tbg_jun_all_p_stanZ", &Tbg_jun_all_p_stanZ}, + {0x237, "Tbg_lee_all_p_stanZ", &Tbg_len_all_p_stanZ}, + {0x238, "Tbg_len_all_p_stanZ", &Tbg_len_all_p_stanZ}, + {0x239, "Tbg_lip_all_p_stanZ", &Tbg_oat_all_p_stanZ}, + {0x23A, "Tbg_lue_all_p_stanZ", &Tbg_oat_all_p_stanZ}, + {0x23B, "Tbg_oat_all_p_stanZ", &Tbg_oat_all_p_stanZ}, + {0x23C, "Tbg_pam_all_p_stanZ", &Tbg_pete_all_p_stanZ}, + {0x23D, "Tbg_pete_all_p_stanZ", &Tbg_pete_all_p_stanZ}, + {0x23E, "Tbg_ref_all_p_stanZ", &Tbg_ref_all_p_stanZ}, + {0x23F, "Tbg_rit_all_p_stanZ", &Tbg_run_all_p_stanZ}, + {0x240, "Tbg_run_all_p_stanZ", &Tbg_run_all_p_stanZ}, + {0x241, "Tbg_sev_all_p_stanZ", &Tbg_sev_all_p_stanZ}, + {0x242, "Tbg_sevb_all_p_stanZ", &Tbg_sevb_all_p_stanZ}, + {0x243, "Tbg_sevx_all_p_stanZ", &Tbg_sevx_all_p_stanZ}, + {0x244, "Tbg_silo_all_p_stanZ", &Tbg_silo_all_p_stanZ}, + {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}, + {0x24B, "UbriefcaveZ", &UbriefcaveZ}, + {0x24C, "UbriefcontrolZ", &UbriefcontrolZ}, + {0x24D, "UbriefcradZ", &UbriefcradZ}, + {0x24E, "UbriefcrypZ", &UbriefcrypZ}, + {0x24F, "UbriefdamZ", &UbriefdamZ}, + {0x250, "UbriefdepoZ", &UbriefdepoZ}, + {0x251, "UbriefdestZ", &UbriefdestZ}, + {0x252, "UbriefjunZ", &UbriefjunZ}, + {0x253, "UbriefpeteZ", &UbriefpeteZ}, + {0x254, "UbriefrunZ", &UbriefrunZ}, + {0x255, "UbriefsevbZ", &UbriefsevbZ}, + {0x256, "UbriefsevbunkerZ", &UbriefsevbunkerZ}, + {0x257, "UbriefsevxZ", &UbriefsevxZ}, + {0x258, "UbriefsevxbZ", &UbriefsevxbZ}, + {0x259, "UbriefsiloZ", &UbriefsiloZ}, + {0x25A, "UbriefstatueZ", &UbriefstatueZ}, + {0x25B, "UbrieftraZ", &UbrieftraZ}, + + {0x25C, "Ump_setupameZ", &Ump_setupameZ}, + {0x25D, "Ump_setuparchZ", &Ump_setuparchZ}, + {0x25E, "Ump_setuparkZ", &Ump_setuparkZ}, + {0x25F, "Ump_setupashZ", &Ump_setupashZ}, + {0x260, "Ump_setupcaveZ", &Ump_setupcaveZ}, + {0x261, "Ump_setupcradZ", &Ump_setupcradZ}, + {0x262, "Ump_setupcrypZ", &Ump_setupcrypZ}, + {0x263, "Ump_setupdishZ", &Ump_setupdishZ}, + {0x264, "Ump_setupimpZ", &Ump_setupimpZ}, + {0x265, "Ump_setupoatZ", &Ump_setupoatZ}, + {0x266, "Ump_setuprefZ", &Ump_setuprefZ}, + {0x267, "Ump_setupsevbZ", &Ump_setupsevbZ}, + {0x268, "Ump_setupstatueZ", &Ump_setupstatueZ}, + + {0x269, "UsetuparchZ", &UsetuparchZ}, + {0x26A, "UsetuparkZ", &UsetuparkZ}, + {0x26B, "UsetupaztZ", &UsetupaztZ}, + {0x26C, "UsetupcaveZ", &UsetupcaveZ}, + {0x26D, "UsetupcontrolZ", &UsetupcontrolZ}, + {0x26E, "UsetupcradZ", &UsetupcradZ}, + {0x26F, "UsetupcrypZ", &UsetupcrypZ}, + {0x270, "UsetupdamZ", &UsetupdamZ}, + {0x271, "UsetupdepoZ", &UsetupdepoZ}, + {0x272, "UsetupdestZ", &UsetupdestZ}, + {0x273, "UsetupjunZ", &UsetupjunZ}, + {0x274, "UsetuplenZ", &UsetuplenZ}, + {0x275, "UsetuppeteZ", &UsetuppeteZ}, + {0x276, "UsetuprunZ", &UsetuprunZ}, + {0x277, "UsetupsevbZ", &UsetupsevbZ}, + {0x278, "UsetupsevbunkerZ", &UsetupsevbunkerZ}, + {0x279, "UsetupsevxZ", &UsetupsevxZ}, + {0x27A, "UsetupsevxbZ", &UsetupsevxbZ}, + {0x27B, "UsetupsiloZ", &UsetupsiloZ}, + {0x27C, "UsetupstatueZ", &UsetupstatueZ}, + {0x27D, "UsetuptraZ", &UsetuptraZ}, + + {0x27E, "LameE", &LameE}, + {0x27F, "LameJ", &LameJ}, + {0x280, "LarchE", &LarchE}, + {0x281, "LarchJ", &LarchJ}, + {0x282, "LarecE", &LarecE}, + {0x283, "LarecJ", &LarecJ}, + {0x284, "LarkE", &LarkE}, + {0x285, "LarkJ", &LarkJ}, + {0x286, "LashE", &LashE}, + {0x287, "LashJ", &LashJ}, + {0x288, "LaztE", &LaztE}, + {0x289, "LaztJ", &LaztJ}, + {0x28A, "LcatE", &LcatE}, + {0x28B, "LcatJ", &LcatJ}, + {0x28C, "LcaveE", &LcaveE}, + {0x28D, "LcaveJ", &LcaveJ}, + {0x28E, "LcradE", &LcradE}, + {0x28F, "LcradJ", &LcradJ}, + {0x290, "LcrypE", &LcrypE}, + {0x291, "LcrypJ", &LcrypJ}, + {0x292, "LdamE", &LdamE}, + {0x293, "LdamJ", &LdamJ}, + {0x294, "LdepoE", &LdepoE}, + {0x295, "LdepoJ", &LdepoJ}, + {0x296, "LdestE", &LdestE}, + {0x297, "LdestJ", &LdestJ}, + {0x298, "LdishE", &LdishE}, + {0x299, "LdishJ", &LdishJ}, + {0x29A, "LearE", &LearE}, + {0x29B, "LearJ", &LearJ}, + {0x29C, "LeldE", &LeldE}, + {0x29D, "LeldJ", &LeldJ}, + {0x29E, "LgunE", &LgunE}, + {0x29F, "LgunJ", &LgunJ}, + {0x2A0, "LimpE", &LimpE}, + {0x2A1, "LimpJ", &LimpJ}, + {0x2A2, "LjunE", &LjunE}, + {0x2A3, "LjunJ", &LjunJ}, + {0x2A4, "LleeE", &LleeE}, + {0x2A5, "LleeJ", &LleeJ}, + {0x2A6, "LlenE", &LlenE}, + {0x2A7, "LlenJ", &LlenJ}, + {0x2A8, "LlipE", &LlipE}, + {0x2A9, "LlipJ", &LlipJ}, + {0x2AA, "LlueE", &LlueE}, + {0x2AB, "LlueJ", &LlueJ}, + {0x2AC, "LmiscE", &LmiscE}, + {0x2AD, "LmiscJ", &LmiscJ}, + {0x2AE, "LmpmenuE", &LmpmenuE}, + {0x2AF, "LmpmenuJ", &LmpmenuJ}, + {0x2B0, "LmpweaponsE", &LmpweaponsE}, + {0x2B1, "LmpweaponsJ", &LmpweaponsJ}, + {0x2B2, "LoatE", &LoatE}, + {0x2B3, "LoatJ", &LoatJ}, + {0x2B4, "LoptionsE", &LoptionsE}, + {0x2B5, "LoptionsJ", &LoptionsJ}, + {0x2B6, "LpamE", &LpamE}, + {0x2B7, "LpamJ", &LpamJ}, + {0x2B8, "LpeteE", &LpeteE}, + {0x2B9, "LpeteJ", &LpeteJ}, + {0x2BA, "LpropobjE", &LpropobjE}, + {0x2BB, "LpropobjJ", &LpropobjJ}, + {0x2BC, "LrefE", &LrefE}, + {0x2BD, "LrefJ", &LrefJ}, + {0x2BE, "LritE", &LritE}, + {0x2BF, "LritJ", &LritJ}, + {0x2C0, "LrunE", &LrunE}, + {0x2C1, "LrunJ", &LrunJ}, + {0x2C2, "LsevE", &LsevE}, + {0x2C3, "LsevJ", &LsevJ}, + {0x2C4, "LsevbE", &LsevbE}, + {0x2C5, "LsevbJ", &LsevbJ}, + {0x2C6, "LsevxE", &LsevxE}, + {0x2C7, "LsevxJ", &LsevxJ}, + {0x2C8, "LsevxbE", &LsevxbE}, + {0x2C9, "LsevxbJ", &LsevxbJ}, + {0x2CA, "LshoE", &LshoE}, + {0x2CB, "LshoJ", &LshoJ}, + {0x2CC, "LsiloE", &LsiloE}, + {0x2CD, "LsiloJ", &LsiloJ}, + {0x2CE, "LstatE", &LstatE}, + {0x2CF, "LstatJ", &LstatJ}, + {0x2D0, "LtitleE", &LtitleE}, + {0x2D1, "LtitleJ", &LtitleJ}, + {0x2D2, "LtraE", &LtraE}, + {0x2D3, "LtraJ", &LtraJ}, + {0x2D4, "LwaxE", &LwaxE}, + {0x2D5, "LwaxJ", &LwaxJ}, + + {0x2D6, "ob/ob_end.seg", &ob__ob_end_seg}, + {0}, + {0}, + {0}, + {0}, + {0}, + {0}, + {0}, + {0}, + {0} +}; + +//only defined here as used (so far) exclusively in ob.c +//and easy to generate at compile time +#define OBJ_INDEX_END 0x2D7 +#define OBJ_INDEX_MAX 0x2E0 \ No newline at end of file diff --git a/assets/obseg/setup/Ump_setupameZ.c b/assets/obseg/setup/Ump_setupameZ.c new file mode 100644 index 0000000..6120e9c --- /dev/null +++ b/assets/obseg/setup/Ump_setupameZ.c @@ -0,0 +1,254 @@ +#include "ultra64.h" +#include "stagesetup.h" + +s32 intro[]; +u32 props[]; +struct path paths[]; +struct ailist ailists[]; +struct preset0x presets0x[]; +struct preset0x presets2x_0[]; +struct preset2x presets2x_2[]; + +struct stagesetup setup = { + pathtbl, + pathlink, + intro, + props, + paths, + ailists, + presets0x, + presets2x_0, + NULL, + NULL, +}; +struct preset0x presets0x[] = { + { -389.0f, 95.0f, 160.0f, 0.0f, 1.0f, 0.0f, -0.999859f, 0.0f, -0.016799f, "p274a2", 0}, + { -1536.0f, 95.0f, 767.0f, 0.0f, 1.0f, 0.0f, -0.999859f, 0.0f, -0.016799f, "p330a", 0}, + { -338.0f, 95.0f, -523.0f, 0.0f, 1.0f, 0.0f, -0.999859f, 0.0f, -0.016799f, "p297a", 0}, + { -323.0f, 95.0f, -2251.0f, 0.0f, 1.0f, 0.0f, -0.999859f, 0.0f, -0.016799f, "p306a", 0}, + { -1615.0f, 95.0f, -1247.0f, 0.0f, 1.0f, 0.0f, -0.999859f, 0.0f, -0.016799f, "p319a", 0}, + { 307.0f, 95.0f, 301.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p493a2", 0}, + { 530.0f, 95.0f, 742.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p577a2", 0}, + { -769.0f, 95.0f, -947.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p299a", 0}, + { -772.0f, 95.0f, -2027.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p309a", 0}, + { -1647.0f, 95.0f, -1305.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p319a", 0}, + { -2082.0f, 95.0f, -364.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p43a1", 0}, + { -1647.0f, 95.0f, 770.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p328a", 0}, + { 258.0f, 379.0f, -1623.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p343a1", 0}, + { -1419.0f, 379.0f, 73.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p338a2", 0}, + { -1236.0f, 379.0f, -951.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p175a2", 0}, + { -2130.0f, 95.0f, -1043.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p51a2", 0}, + { -461.0f, 379.0f, -1594.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p176a1", 0}, + { 299.0f, 95.0f, 104.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p493a1", 0}, + { 107.0f, 95.0f, 524.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p487a1", 0}, + { 286.0f, 95.0f, 506.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p575a", 0}, + { 802.0f, 95.0f, 506.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p29a", 0}, + { -454.0f, 95.0f, -1231.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p298a", 0}, + { -1016.0f, 95.0f, -644.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p303a", 0}, + { -280.0f, 95.0f, -2246.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p306a", 0}, + { -1264.0f, 95.0f, -1763.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p310a", 0}, + { -1784.0f, 95.0f, -1815.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p316a", 0}, + { -2081.0f, 95.0f, -1567.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p166a2", 0}, + { -1957.0f, 95.0f, -625.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p323a", 0}, + { -1741.0f, 95.0f, -471.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p325a", 0}, + { -1815.0f, 95.0f, 483.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p328a", 0}, + { -1852.0f, 95.0f, 1084.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p331a", 0}, + { 26.0f, 379.0f, -1200.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p184a1", 0}, + { 14.0f, 379.0f, -2041.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p182a2", 0}, + { -1814.0f, 379.0f, 92.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p186a1", 0}, + { -1579.0f, 379.0f, 469.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p188a1", 0}, + { -497.0f, 379.0f, -434.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p172a1", 0}, + { -1010.0f, 379.0f, -1411.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p174a1", 0}, + { -778.0f, -142.0f, 1050.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1104a", 0}, + { 757.0f, -142.0f, 480.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1162a", 0}, + { -1406.0f, -142.0f, -1685.0f, 0.0f, 1.0f, 0.0f, 0.016798f, 0.0f, -0.999859f, "p1125a", 0}, + { 1044.0f, -142.0f, -781.0f, 0.0f, 1.0f, 0.0f, 0.016798f, 0.0f, -0.999859f, "p1171a", 0}, + { -688.0f, -142.0f, -744.0f, 0.0f, 1.0f, 0.0f, -0.999859f, 0.0f, -0.016798f, "p803a2", 0}, + { 524.0f, -142.0f, 208.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1163a", 0}, + { 486.0f, -142.0f, -1369.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1244a", 0}, + { -1220.0f, -142.0f, 84.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p787a1", 0}, + { -745.0f, -142.0f, 834.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1080a", 0}, + { -976.0f, -142.0f, -2059.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1145a", 0}, + { -968.0f, -142.0f, -736.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p799a2", 0}, + { -212.0f, -142.0f, -495.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p591a2", 0}, + { 524.0f, -142.0f, 86.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1163a", 0}, + { 532.0f, -142.0f, 330.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1162a", 0}, + { 739.0f, -142.0f, -1636.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1261a", 0}, + { -849.0f, -142.0f, -727.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p799a2", 0}, + { 264.0f, -142.0f, -1047.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1249a", 0}, + { -975.0f, -142.0f, 667.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1087a", 0}, + { -531.0f, -142.0f, 636.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1092a", 0}, + { -1365.0f, -142.0f, -152.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p792a1", 0}, + { -1005.0f, -142.0f, -144.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p793a2", 0}, + { -1280.0f, -142.0f, -2058.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p1116a", 0}, + { -1098.0f, -142.0f, -715.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p799a1", 0}, + { -1038.0f, 95.0f, -1049.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p305a", 0}, + { -1896.0f, -142.0f, -2399.0f, 0.0f, 1.0f, 0.0f, 0.016799f, 0.0f, -0.999859f, "p938a2", 0}, + { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 00000000, 0}, +}; + + +struct preset0x presets2x_0[] = { + { 380.0f, 95.0f, -127.0f,-1.0f, 0.0f, 1.0E-6f, 0.0f, 1.0f, 0.0f, "p25a2", 0}, +}; +struct preset2x presets2x_2[] = { + {-89.0f, 90.0f, -5.7E-5f, 5.6E-5f, -94.99999f, 93.99999f, 199.0f, 95.0f, -265.0f, -1.0f, 0.0f, 1.0E-6f, 0.0f, 1.0f, 0.0f, "p25a1", 0}, + {-110.0f, 114.0f, -5.8E-5f, 5.5E-5f, -94.99999f, 93.99999f, 207.0f, 95.0f, 74.0f, -1.0f, 0.0f, 1.0E-6f, 0.0f, 1.0f, 0.0f, "p493a1", 0}, + {-72.0f, 74.0f, -5.7E-5f, 5.6E-5f, -94.99999f, 93.99999f, 207.0f, 95.0f, 307.0f, -1.0f, 0.0f, 1.0E-6f, 0.0f, 1.0f, 0.0f, "p493a1", 0}, + {-72.0f, 74.0f, -5.7E-5f, 5.6E-5f, -94.99999f, 93.99999f, 116.0f, 95.0f, 405.0f, -1.0E-6f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, "p487a1", 0}, + {-72.0f, 73.0f, -5.7E-5f, 5.6E-5f, -94.99999f, 93.99999f, -117.0f, 95.0f, 405.0f, -1.0E-6f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, "p487a1", 0}, + {-72.0f, 73.0f, -5.7E-5f, 5.6E-5f, -94.99999f, 93.99999f, -479.0f, 95.0f, 623.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, "p28a2", 0}, + {-89.0f, 90.0f, -4.5E-5f, 4.4E-5f, -94.99999f, 93.99999f, -341.0f, 95.0f, 443.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, "p28a2", 0}, + {-111.0f, 114.0f, -4.2E-5f, 4.1E-5f, -94.99999f, 93.99999f, -1841.0f, 95.0f, -568.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, "p325a", 0}, + {-167.0f, 170.0f, -4.2E-5f, 4.1E-5f, -94.99999f, 93.99999f, -1671.0f, 95.0f, -435.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, "p325a", 0}, + {-133.0f, 136.0f, -4.2E-5f, 4.1E-5f, -94.99999f, 93.99999f, -1685.0f, 95.0f, -1514.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, "p319a", 0}, + {-167.0f, 170.0f, -4.2E-5f, 4.1E-5f, -94.99999f, 93.99999f, -1667.0f, 95.0f, -1761.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, "p319a", 0}, + {-133.0f, 136.0f, -4.2E-5f, 4.1E-5f, -94.99999f, 93.99999f, -2022.0f, 39.0f, -767.0f, 1.0E-6f, -1.0E-6f, -1.0f, 0.0f, 1.0f, 0.0f, "p62a1", 0}, + {-15.000288f, 14.000024f, -9.000112f, 180.00003f, -39.000004f, 151.00002f, -2022.0f, 39.0f, -1145.0f, 1.0E-6f, -1.0E-6f, -1.0f, 0.0f, 1.0f, 0.0f, "p61a1", 0}, + {-15.000289f, 14.000024f, -9.000112f, 181.00003f, -39.000004f, 151.00002f, 464.0f, 39.0f, 402.0f, 1.0f, -1.0E-6f, 1.0E-6f, 0.0f, 1.0f, 0.0f, "p60a2", 0}, + {-15.000236f, 15.000024f, -9.000112f, 142.00005f, -39.000004f, 151.00002f, 464.0f, 39.0f, -23.0f, 1.0f, -1.0E-6f, 1.0E-6f, 0.0f, 1.0f, 0.0f, "p57a2", 0}, + {-15.000236f, 14.000024f, -9.000112f, 142.00003f, -39.000004f, 151.00002f, 213.0f, 39.0f, 786.0f, 1.0E-6f, -1.0E-6f, -1.0f, 0.0f, 1.0f, 0.0f, "p58a1", 0}, + {-15.000236f, 14.000024f, -9.000112f, 142.00003f, -39.000004f, 151.00002f, -213.0f, 39.0f, 786.0f, 1.0E-6f, -1.0E-6f, -1.0f, 0.0f, 1.0f, 0.0f, "p59a1", 0}, + {-14.000236f, 15.000024f, -9.00011f, 142.00005f, -39.000004f, 151.00002f, -1340.0f, 39.0f, -804.0f, 1.0E-6f, -1.0E-6f, -1.0f, 0.0f, 1.0f, 0.0f, "p56a2", 0}, + {-15.000237f, 14.000024f, -9.000112f, 143.00003f, -39.000004f, 151.00002f, -1500.0f, 39.0f, -804.0f, 1.0E-6f, -1.0E-6f, -1.0f, 0.0f, 1.0f, 0.0f, "p56a2", 0}, + {-15.000237f, 14.000024f, -9.000112f, 143.00003f, -39.000004f, 151.00002f, -2041.0f, -188.0f, -2392.0f, 3.0E-6f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, "p938a1", 0}, + {-4.000306f, 4.00002f, -6.000065f, 108.00002f, -40.0f, 150.0f, 219.0f, -188.0f, 979.0f, 3.0E-6f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, "p581a1", 0}, + {-5.000306f, 4.00002f, -6.000068f, 108.00002f, -40.0f, 150.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 00000000, 0}, +}; + +/* +00001100 00000000 ddw 0h +00001104 00000000 ddw 0h +00001108 00000000 ddw 0h +0000110c 00000000 ddw 0h +00001110 00000000 ddw 0h +00001114 00000000 ddw 0h +*/ + +u32 props[] = { + weapon(0x100, 0x0, 0x14D, 0x3B, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x58, 0xFF, 0xFFFF, 0x0) + bodyarmor(0x180, 0x0, 0x73, 0x30, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x10000, 0x0) + bodyarmor(0x180, 0x0, 0x73, 0xF, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x10000, 0x0) + bodyarmor(0x180, 0x0, 0x73, 0x10, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x10000, 0x0) + weapon(0x200, 0x0, 0x0, 0x2A, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF0, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x31, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x32, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x200, 0x0, 0x0, 0x2F, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF0, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x34, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x3B, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x200, 0x0, 0x0, 0x8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF1, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x17, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x18, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x200, 0x0, 0x0, 0xA, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF1, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x1B, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x1C, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x133, 0x0, 0x0, 0x2D, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF2, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x36, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x37, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x133, 0x0, 0x0, 0x2E, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF2, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x3A, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x133, 0x0, 0x0, 0x5, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF3, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x11, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x133, 0x0, 0x0, 0x9, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF3, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x19, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x1A, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x133, 0x0, 0x0, 0xC, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF4, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x1F, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x20, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x100, 0x0, 0x0, 0x2B, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF4, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x33, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x35, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x100, 0x0, 0x0, 0x2C, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF5, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x38, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x39, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x100, 0x0, 0x0, 0x6, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF5, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x13, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x14, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x100, 0x0, 0x0, 0xB, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF6, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x1D, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x1E, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x100, 0x0, 0x0, 0xD, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF6, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x21, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x22, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x100, 0x0, 0x0, 0x7, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF6, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x15, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x16, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + weapon(0x100, 0x0, 0x0, 0xE, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xF7, 0xFF, 0xFFFF, 0x0) + ammobox(0x99, 0x0, 0x5, 0x23, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + ammobox(0x99, 0x0, 0x5, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000) + glass(0x100, 0x0, 0x68, 0x2710, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2711, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2712, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2713, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2714, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2715, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2716, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2717, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2718, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x2719, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x271A, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + glass(0x100, 0x0, 0x68, 0x271B, 0x4000B62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0) + door(0x100, 0x0, 0x12A, 0xC, 0x10000400, 0x20000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x0, 0xF333, 0xE70A, 0x51, 0x51, 0x666, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5DC, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) + door(0x100, 0x0, 0x12A, 0xD, 0x10000400, 0x20000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x0, 0xF333, 0xE70A, 0x51, 0x51, 0x666, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5DC, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) + door(0x100, 0x0, 0x12A, 0xE, 0x10000400, 0x20000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x0, 0xF333, 0xE70A, 0x51, 0x51, 0x666, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5DC, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) + door(0x100, 0x0, 0x12A, 0xF, 0x10000400, 0x20000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x0, 0xF333, 0xE70A, 0x51, 0x51, 0x666, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5DC, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) + door(0x100, 0x0, 0x12A, 0x10, 0x10000400, 0x20000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x0, 0xF333, 0xE70A, 0x51, 0x51, 0x666, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5DC, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) + door(0x100, 0x0, 0x12A, 0x11, 0x10000400, 0x20000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x0, 0xF333, 0xE70A, 0x51, 0x51, 0x666, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5DC, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) + door(0x100, 0x0, 0x12A, 0x12, 0x10000400, 0x20000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x0, 0xF333, 0xE70A, 0x51, 0x51, 0x666, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5DC, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) + door(0x100, 0x0, 0x12A, 0x13, 0x10000400, 0x20000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3E8, 0x0, 0x0, 0x0, 0x0, 0xF333, 0xE70A, 0x51, 0x51, 0x666, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5DC, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) + endprops() +}; + +s32 intro[] = { + spawnpoint(0x0, 0x0) + spawnpoint(0x1, 0x0) + spawnpoint(0x2, 0x0) + spawnpoint(0x3, 0x0) + spawnpoint(0x4, 0x0) + spawnpoint(0x25, 0x0) + spawnpoint(0x26, 0x0) + spawnpoint(0x27, 0x0) + startweapon(0x1, 0xFFFFFFFF, 0x0) + cuff(0x3) + endintro() +}; + +s32 linkedpathsets1[] = { + 0xFFFFFFFF +}; + +s32 linkedpathsets2[] = { + 0xFFFFFFFF +}; + +struct s_pathLink pathlink[] = { + {0x00000000, 0x00000000, 0x00000000} +}; + +s32 linkedpathtbls[] = { + 0xFFFFFFFF +}; + +struct s_pathTbl pathtbl[] = { + {0xFFFF, 0xFFFF, 0, 0, 0, 0, 0} +}; + +s32 pathsetentries[] = { + 0xFFFFFFFF +}; + + +struct s_pathSet pathsets[] = { + {0, 0, 0, 0, 0} +}; + +s32 unknown[] = { + 0x4000000 +}; + + +s32 ailist[] = { + 0x0, 0x0, 0x0, 0x0, 0x0 +} + diff --git a/assets/obseg/setup/stagesetup.h b/assets/obseg/setup/stagesetup.h new file mode 100644 index 0000000..055d5fb --- /dev/null +++ b/assets/obseg/setup/stagesetup.h @@ -0,0 +1,318 @@ +#ifndef _STAGESETUP_H_ +#define _STAGESETUP_H_ + +struct s_pathTbl { + s16 pathtbl; + s16 field_0x2; + u32 *field_0x4; // + s16 field_0x8; + s16 field_0xa; + s16 field_0xc; + s16 field_0xe; +}; + +struct s_pathLink { + void *pathlink; + void *field_0x4; + void *field_0x8; +}; + +struct s_pathSet { + void *field_0x0; + u8 field_0x4; + u8 field_0x5; + u8 field_0x6; + u8 field_0x7; +}; + +struct preset0x { + float xcoord; + float ycoord; + float zcoord; + float vUpX; + float vUpY; + float vUpZ; + float vTargetX; + float vTargetY; + float vTargetZ; + u8 *field_0x24; + u32 field_0x28; +}; + +struct preset2x { + float field_0x0; + float field_0x4; + float field_0x8; + float field_0xc; + float field_0x10; + float field_0x14; + float field_0x18; + float field_0x1c; + float field_0x20; + float field_0x24; + float field_0x28; + float field_0x2c; + float field_0x30; + float field_0x34; + float field_0x38; + u8 *field_0x3c; + u32 field_0x40; +}; + +struct stagesetup { + struct s_pathTbl *pathtbl; + struct s_pathLink *pathlink; + s32 *intro; + u32 *props; + struct s_pathSet *paths; + u32 *ailists; + struct preset0x *presets0x; + struct preset0x *presets2x_0; + NULL; + NULL; +}; + +#define _mkshort(a, b) ((a << 8) | (b & 0xff)) +#define _mkword(a, b) ((a << 16) | (b & 0xffff)) + +#define _generic_object(scale, state, type, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c) \ + _mkword(scale, _mkshort(state, type)), \ + _mkword(objectID, presetID), \ + flags1, flags2, \ + ptrPOSData, ptrObjInstanceController, \ + u18, u1c, u20, u24, \ + u28, u2c, u30, u34, \ + u38, u3c, u40, u44, \ + u48, u4c, u50, u54, \ + xPOS, yPOS, zPOS, bitflags, \ + ptrCollisionblock, u6c, u70, \ + _mkword(health, maxhealth), \ + u78, u7c + +#define door(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c, linkedtodoor, travel_distance, walkthrough_distance, acceleration, rate, maxspeed, opentechnique_a, opentechnique_b, u9c, u9d, u9e, locked, time_open, sound, ua8, uac, ub0, ub4, ub8, ubc, uc0, uc4, uc8, ptr_doorNotClearVtxBuffer, ud0, ud4, ud8, udc, ue0, ue4, ue8, uec, uf0, uf4, uf8, ufc) \ + _generic_object(scale, state, 0x01, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c) \ + linkedtodoor, \ + travel_distance, walkthrough_distance, \ + acceleration, rate, maxspeed, \ + _mkword(opentechnique_a, opentechnique_b), \ + _mkword(_mkshort(u9c, u9d), _mkshort(u9e, locked)), \ + time_open, sound, \ + ua8, uac, ub0, ub4, \ + ub8, ubc, uc0, uc4, \ + uc8, ptr_doorNotClearVtxBuffer, ud0, ud4, \ + ud8, udc, ue0, ue4, \ + ue8, uec, uf0, uf4, \ + uf8, ufc, + +#define door_scale(modifier) \ + 0x2, modifier, + +#define standard(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c) \ + _generic_object(scale, state, 0x3, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), + +#define key(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c, key) \ + _generic_object(scale, state, 0x4, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), \ + key, + +#define alarm(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c) \ + _generic_object(scale, state, 0x5, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), + +#define surveillencecam() + _TODO(0x6) + +#define ammoclip(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c, ammotype) \ + _generic_object(scale, state, 0x7, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), \ + ammotype, + +#define weapon(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c, gun_pickup, linked_item, timer, ptr_linkeditem) \ + _generic_object(scale, state, 0x8, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), \ + _mkword(_mkshort(gun_pickup, linked_item), timer), \ + ptr_linkeditem, + +#define guard(scale, state, type, ID, spawnpreset, bodyID, action_path_assignment, preset_to_trigger, u10, health, reactiontime, head, ptr_runtimeguarddata) \ + _mkword(scale, _mkshort(state, 0x9), \ + _mkword(ID, spawnpreset), \ + _mkword(bodyID, action_path_assignment), \ + preset_to_trigger, \ + _mkword(u10, health), \ + _mkword(reactiontime, head), \ + ptr_runtimeguarddata, + + +#define single_monitor(size, state, u4, u8, uc, u10, u14, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, u58, u5c, u60, u64, u68, u6c, u70, health, maxhealth, u78, ptrAniRoutine, curNumCMDSfromStartRotation, loopcounteer, imgnum_or_ptrheader, rotation, curHZoom, curHZoomTime, finalHZoomTime, initialHZoom, finalHZoom, curVZoom, curVZoomTime, finalVZoomTime, initialVZoom, finalVZoom, curHPos, curHScrollTime, finalHScrollTime, initialHPos, finalHPos, curVPos, curVScrollTime, finalVScrollTime, initialVPos, finalVPos, curRed, initialRed, finalRed, curGreen, initialGreen, finalGreen, curBlue, initialBlue, finalBlue, curAlpha, initialAlpha, finalAlpha, curColorTransitionTime, finalColorTransitionTime, backwardMonLink, forwardMonLink, animationnum) \ + _mkword(size, _mkshort(state, 0xA)), \ + u4, u8, uc, u10, \ + u14, u18, u1c, u20, \ + u24, u28, u2c, u30, \ + u34, u38, u3c, u40, \ + u44, u48, u4c, u50, \ + u54, u58, u5c, u60, \ + u64, u68, u6c, u70, \ + _mkword(health, maxhealth), \ + u78, ptrAniRoutine, \ + curNumCMDSfromStartRotation, loopcounteer, \ + imgnum_or_ptrheader, rotation, \ + curHZoom, curHZoomTime, finalHZoomTime, initialHZoom, finalHZoom, \ + curVZoom, curVZoomTime, finalVZoomTime, initialVZoom, finalVZoom, \ + curHPos, curHScrollTime, finalHScrollTime, initialHPos, finalHPos, \ + curVPos, curVScrollTime, finalVScrollTime, initialVPos, finalVPos, \ + _mkword(_mkshort(curRed, initialRed), _mkshort(finalRed, curGreen)), \ + _mkword(_mkshort(initialGreen, finalGreen), _mkshort(curBlue, initialBlue)), \ + _mkword(_mkshort(finalBlue, curAlpha), _mkshort(initialAlpha, finalAlpha)), \ + curColorTransitionTime, finalColorTransitionTime, \ + backwardMonLink, forwardMonLink, \ + animationnum, + +#define multi_monitor() \ + _TODO(0xB) + +#define hanging_monitor() \ + _TODO(0xC) + +#define autogun() \ + _TODO(0xD) + +#define linkpickups() \ + _TODO(0xE) + +#define unknownF() \ + _TODO(0xF) + +#define unknown10() \ + _TODO(0x10) + +#define hat(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c) \ + _generic_object(scale, state, 0x11, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), + +#define setguardattribute(guardID, attribute) \ + 0x12, guardID, attribute, + +#define switch(numAwayForControlling, numAwayForControlled, field_0xc) \ + 0x13, numAwayForControlling, numAwayForControlled, field_0xc, + +#define ammobox(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c, ammo_9mm, ammo_9mm_2, ammo_rifle, ammo_shotgun, ammo_hgrenade, ammo_rockets, ammo_remote, ammo_prox, ammo_timed, ammo_throwing, ammo_glaunch, ammo_magnum, ammo_golden) \ + _generic_object(scale, state, 0x14, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), \ + ammo_9mm, ammo_9mm_2, ammo_rifle, ammo_shotgun, ammo_hgrenade, ammo_rockets, ammo_remote, ammo_prox, ammo_timed, ammo_throwing, ammo_glaunch, ammo_magnum, ammo_golden, + +#define bodyarmor(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c, armor_strength, armor_percent) \ + _generic_object(scale, state, 0x15, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), \ + armor_strength, armor_percent, + +#define tag(IDnum, numobjects_away, field_0x8, field_0xc) \ + 0x16, IDnum, numobjects_away, field_0x8, field_0xc, + +#define mission_objective(objectivenum, textID, mindifficulty) \ + 0x17, objectivenum, textID, mindifficulty, + +#define endobjective() \ + 0x18, + +#define destroyobject(objectID) \ + 0x19, objectID, + +#define completeIfTrue(testval) \ + 0x1A, testval, + +#define failIfTrue(testval) \ + 0x1B, testVal, + +#define collectobject(objecttagID) \ + 0x1C, objecttagID, + +#define depositobject(objecttagID) \ + 0x1D, objecttagID, + +#define photographobject(objecttagID) \ + 0x1E, objecttagID, 0x0, 0x0, + +#define null() \ + 0x1F, + +#define enterroom(presetinroom) \ + 0x20, presetinroom, 0x0, 0x0, + +#define depositobjectinroom(itemID,presetinroom) \ + 0x21, itemID, presetinroom, 0x0, 0x0, + +#define copy_item() + 0x22, + +#define watch_objective(menuOption, textID) \ + 0x23, menuOption, textID, 0x0, + +#define gas(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c) \ + _generic_object(scale, state, 0x24, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), + +#define renamefunction(numtargetobjectsaway, invValToAlter, watchMainTop, watchMainBottom, invSelName, onDefaultPickup, interactTextID, field_0x20, field_0x24) \ + 0x25, numtargetobjectsaway, invValToAlter, watchMainTop, watchMainBottom, invSelName, onDefaultPickup, interactTextID, field_0x20, field_0x24, + +#define lock_door(lockedptr, lockptr) \ + 0x26, lockedptr, lockptr, 0x0, + +#define wheeledvehicle() \ + _TODO(0x27), + +#define aircraft() \ + _TODO(0x28), + +#define unknown29() \ + 0x29, + +#define glass(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c) \ + _generic_object(scale, state, 0x2A, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), + +#define safe() \ + _TODO(0x2B), + +#define safeitem(objectptr, safeptr, safedoorptr) \ + 0x2C, objectptr, safeptr, safedoorptr, 0x0, + +#define tank() \ + _TODO(0x2D), + +#define cutscene_coord(xcoord, ycoord, zcoord, latrot, vertrot, illum_preset) \ + 0x2E, xcoord, ycoord, zcoord, latrot, vertrot, illum_preset, + +#define tintedglass(scale, state, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c, dist_fullillum, dist_vis, field_0x88, field_0x8c, field_0x90) \ + _generic_object(scale, state, 0x2A, objectID, presetID, flags1, flags2, ptrPOSData, ptrObjInstanceController, u18, u1c, u20, u24, u28, u2c, u30, u34, u38, u3c, u40, u44, u48, u4c, u50, u54, xPOS, yPOS, zPOS, bitflags, ptrCollisionblock, u6c, u70, health, maxhealth, u78, u7c), \ + dist_fullillum, dist_vis, field_0x88, field_0x8c, field_0x90, + +#define endprops() \ + 0x30, +//endprops + +//introblock +#define spawnpoint(u4, u8) \ + 0x0, u4, u8, + +#define startweapon(rightgun, leftgun, setnum) \ + 0x1, rightgun, leftgun, setnum, + +#define startammo(type, qty, set) \ + 0x2, type, qty, set, + +#define swirlintrocam(u1, x, y, z, l, r, u2) \ + 0x3, u1, x, y, z, l, r, u2, + +#define introcam(aniNum) \ + 0x4, aniNum, + +#define cuff(cuffID) \ + 0x5, cuffID, + +#define fixedcam(x, y, z, l, v, u1, t1, t2, c) \ + 0x6, x, y, z, l, v, u1, t1, t2, c, + +#define watchtime(h, m) \ + 0x7, h, m, + +#define credits() \ + 0x8, + +#define endintro() \ + 0x9 +//endintroblock + + + +#endif diff --git a/bin/aspboot.text.bin b/bin/aspboot.text.bin index 6e6f4d1..9feffe3 100644 Binary files a/bin/aspboot.text.bin and b/bin/aspboot.text.bin differ diff --git a/bin/bootcode_font.bin b/bin/bootcode_font.bin deleted file mode 100644 index 42f700c..0000000 Binary files a/bin/bootcode_font.bin and /dev/null differ diff --git a/ge007.e.ld b/ge007.e.ld index a95a427..fa5bcde 100644 --- a/ge007.e.ld +++ b/ge007.e.ld @@ -77,7 +77,7 @@ SECTIONS 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/motor.o (.text); build/e/src/rmon.o (.text); build/e/src/libultra/osPiRawStartDma.o (.text); @@ -125,7 +125,7 @@ SECTIONS 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/bcopy.o (.text); build/e/src/libultra/guPerspective.o (.text); build/e/src/libultra/Mtx.o (.text); build/e/src/libultra/__osGetCurrFaultedThread.o (.text); @@ -182,8 +182,8 @@ SECTIONS _rarezipSegmentStart = ADDR(.rarezip); _rarezipSegmentRomStart = _cdataSegmentRomEnd; .rarezip 0x70200000 : AT(_rarezipSegmentRomStart) { - build/e/src/rarezip/rarezip.o (.text); - build/e/src/rarezip/rarezip.o (.data); + build/e/src/inflate/inflate.o (.text); + build/e/src/inflate/inflate.o (.data); } _rarezipSegmentEnd = ADDR(.rarezip) + SIZEOF(.rarezip); _rarezipSegmentRomEnd = _rarezipSegmentRomStart + SIZEOF(.rarezip); @@ -254,7 +254,7 @@ SECTIONS 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/matrixmath.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); @@ -269,7 +269,7 @@ SECTIONS 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/bondinv.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); @@ -295,7 +295,7 @@ SECTIONS 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/ramromreplay.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); @@ -3104,7 +3104,7 @@ SECTIONS 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/motor.o (.data); build/e/src/rmon.o (.data); build/e/src/libultra/osPiRawStartDma.o (.data); @@ -3152,7 +3152,7 @@ SECTIONS 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/bcopy.o (.data); build/e/src/libultra/guPerspective.o (.data); build/e/src/libultra/Mtx.o (.data); build/e/src/libultra/__osGetCurrFaultedThread.o (.data); @@ -3224,7 +3224,7 @@ SECTIONS 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/motor.o (.rodata); build/e/src/rmon.o (.rodata); build/e/src/libultra/osPiRawStartDma.o (.rodata); @@ -3272,7 +3272,7 @@ SECTIONS 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/bcopy.o (.rodata); build/e/src/libultra/guPerspective.o (.rodata); build/e/src/libultra/Mtx.o (.rodata); build/e/src/libultra/__osGetCurrFaultedThread.o (.rodata); @@ -3369,7 +3369,7 @@ SECTIONS 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/matrixmath.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); @@ -3384,7 +3384,7 @@ SECTIONS 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/bondinv.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); @@ -3410,7 +3410,7 @@ SECTIONS 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/ramromreplay.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); @@ -3491,7 +3491,7 @@ SECTIONS 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/matrixmath.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); @@ -3506,7 +3506,7 @@ SECTIONS 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/bondinv.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); @@ -3532,7 +3532,7 @@ SECTIONS 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/ramromreplay.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); @@ -3597,7 +3597,7 @@ SECTIONS 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/motor.o (.bss); build/e/src/rmon.o (.bss); build/e/src/libultra/osPiRawStartDma.o (.bss); @@ -3645,7 +3645,7 @@ SECTIONS 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/bcopy.o (.bss); build/e/src/libultra/guPerspective.o (.bss); build/e/src/libultra/Mtx.o (.bss); build/e/src/libultra/__osGetCurrFaultedThread.o (.bss); @@ -3742,7 +3742,7 @@ SECTIONS 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/matrixmath.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); @@ -3757,7 +3757,7 @@ SECTIONS 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/bondinv.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); @@ -3783,7 +3783,7 @@ SECTIONS 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/ramromreplay.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); diff --git a/ge007.j.ld b/ge007.j.ld index 8a60592..54ff937 100644 --- a/ge007.j.ld +++ b/ge007.j.ld @@ -71,91 +71,182 @@ SECTIONS 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/motor.o (.text); build/j/src/rmon.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/u/src/libultra/osPiRawStartDma.o (.text);*/ + build/j/src/libultra/pirawdma.o (.text); + build/j/src/libultra/pigetstat.o (.text); + build/j/src/libultra/initialize.o (.text); + build/j/src/libultra/writebackdcacheall.o (.text); + build/j/src/libultra/invalicache.o (.text); + build/j/src/libultra/unmaptlb.o (.text); + build/j/src/libultra/getfpccsr.o (.text); + build/j/src/libultra/setfpccsr.o (.text); + build/j/src/libultra/createthread.o (.text); + build/j/src/libultra/startthread.o (.text); + build/j/src/libultra/createmesgqueue.o (.text); + build/j/src/libultra/parameters.o (.text); + build/j/src/libultra/stopthread.o (.text); + build/j/src/libultra/setthreadpri.o (.text); + build/j/src/libultra/getcount.o (.text); + build/j/src/libultra/vimgr.o (.text); + build/j/src/libultra/vitbl.o (.text); /*edited*/ + build/j/src/libultra/seteventmesg.o (.text); + build/j/src/libultra/visetevent.o (.text); + build/j/src/libultra/setintmask.o (.text); + build/j/src/libultra/recvmesg.o (.text); + build/j/src/libultra/sendmesg.o (.text); + build/j/src/libultra/visetmode.o (.text); + build/j/src/libultra/visetxscale.o (.text); + build/j/src/libultra/visetyscale.o (.text); + build/j/src/libultra/virepeatline.o (.text); + build/j/src/libultra/viblack.o (.text); + build/j/src/libultra/sptaskyielded.o (.text); + build/j/src/libultra/dpctr.o (.text); + build/j/src/libultra/vigetcurrframebuf.o (.text); + build/j/src/libultra/vigetnextframebuf.o (.text); + build/j/src/libultra/viswapbuf.o (.text); + build/j/src/libultra/dpsetstat.o (.text); + build/j/src/libultra/sptask.o (.text); + build/j/src/libultra/dpsetnextbuf.o (.text); + build/j/src/libultra/sptaskyield.o (.text); + build/j/src/libultra/gettlbhi.o (.text); + build/j/src/libultra/virtualtophysical.o (.text); + build/j/src/libultra/aisetfreq.o (.text); + build/j/src/libultra/sl.o (.text); + build/j/src/libultra/heapalloc.o (.text); + build/j/src/libultra/gettime.o (.text); + build/j/src/libultra/ll.o (.text); /*edited*/ + build/j/src/libultra/aisetnextbuf.o (.text); + build/j/src/libultra/aigetlen.o (.text); + build/j/src/libultra/synthesizer.o (.text); + build/j/src/libultra/pidma.o (.text); + build/j/src/libultra/visetspecial.o (.text); + build/j/src/libultra/bcopy.o (.text); + build/j/src/libultra/perspective.o (.text); + build/j/src/libultra/mtxutil.o (.text); + build/j/src/libultra/getcurrfaultthread.o (.text); + build/j/src/libultra/exception.o (.text); /*edited*/ + build/j/src/libultra/thread.o (.text); + build/j/src/libultra/yieldthread.o (.text); + build/j/src/libultra/invaldcache.o (.text); + build/j/src/libultra/writebackdcache.o (.text); + build/j/src/libultra/settimer.o (.text); + build/j/src/libultra/heapinit.o (.text); + build/j/src/libultra/bnkf.o (.text); + build/j/src/libultra/csplayer.o (.text); + build/j/src/libultra/seqpsetbank.o (.text); + build/j/src/libultra/cspgetstate.o (.text); + build/j/src/libultra/cseq.o (.text); + build/j/src/libultra/cspsetseq.o (.text); + build/j/src/libultra/cspplay.o (.text); + build/j/src/libultra/cspstop.o (.text); + build/j/src/libultra/cspsetvol.o (.text); + build/j/src/libultra/event.o (.text); + build/j/src/libultra/synaddplayer.o (.text); + build/j/src/libultra/synallocvoice.o (.text); + build/j/src/libultra/synsetvol.o (.text); + build/j/src/libultra/synstartvoice.o (.text); + build/j/src/libultra/synsetpan.o (.text); + build/j/src/libultra/synsetpitch.o (.text); + build/j/src/libultra/synsetfxmix.o (.text); + build/j/src/libultra/synstopvoice.o (.text); + build/j/src/libultra/synfreevoice.o (.text); + build/j/src/libultra/cents2ratio.o (.text); + build/j/src/libultra/piread.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);*/ + build/j/src/libultra/xprintf.o (.text); + build/j/src/libultra/pimgr.o (.text); + build/j/src/libultra/pfsinit.o (.text); + build/j/src/libultra/controller.o (.text); + build/j/src/libultra/contquery.o (.text); + build/j/src/libultra/contreaddata.o (.text); + build/j/src/libultra/conteepprobe.o (.text); + build/j/src/libultra/conteepread.o (.text); + build/j/src/libultra/conteepwrite.o (.text); + build/j/src/libultra/conteeplongread.o (.text); + build/j/src/libultra/conteeplongwrite.o (.text); + build/j/src/libultra/pfsisplug.o (.text); + build/j/src/libultra/siacs.o (.text); + build/j/src/libultra/sirawdma.o (.text); + build/j/src/libultra/crc.o (.text); + build/j/src/libultra/contramwrite.o (.text); + build/j/src/libultra/contramread.o (.text); + build/j/src/libultra/align.o (.text); + build/j/src/libultra/ortho.o (.text); + build/j/src/libultra/coss.o (.text); + build/j/src/libultra/sins.o (.text); + build/j/src/libultra/translate.o (.text); + build/j/src/libultra/bcmp.o (.text); + build/j/src/libultra/scale.o (.text); + build/j/src/libultra/lookatref.o (.text); + build/j/src/libultra/lookat.o (.text); + build/j/src/libultra/rotate.o (.text); + build/j/src/libultra/llcvt.o (.text); /*edited*/ + build/j/src/libultra/setsr.o (.text); + build/j/src/libultra/getsr.o (.text); + build/j/src/libultra/sirawread.o (.text); + build/j/src/libultra/sirawwrite.o (.text); + build/j/src/libultra/pirawread.o (.text); + build/j/src/libultra/bzero.o (.text); + build/j/src/libultra/sethwinterrupt.o (.text); + build/j/src/libultra/leointerrupt.o (.text); + build/j/src/libultra/interrupt.o (.text); + build/j/src/libultra/timerintr.o (.text); + build/j/src/libultra/kdebugserver.o (.text); + build/j/src/libultra/getthreadpri.o (.text); + build/j/src/libultra/vi.o (.text); /*edited*/ + build/j/src/libultra/vigetcurrcontext.o (.text); + build/j/src/libultra/viswapcontext.o (.text); + build/j/src/libultra/spgetstat.o (.text); + build/j/src/libultra/spsetstat.o (.text); + build/j/src/libultra/spsetpc.o (.text); + build/j/src/libultra/sprawdma.o (.text); + build/j/src/libultra/sp.o (.text); + build/j/src/libultra/dp.o (.text); + build/j/src/libultra/probetlb.o (.text); + build/j/src/libultra/syndelete.o (.text); + build/j/src/libultra/ai.o (.text); + build/j/src/libultra/drvrNew.o (.text); + build/j/src/libultra/synallocfx.o (.text); + build/j/src/libultra/mainbus.o (.text); + build/j/src/libultra/load.o (.text); + build/j/src/libultra/resample.o (.text); + build/j/src/libultra/env.o (.text); /*edited*/ + build/j/src/libultra/auxbus.o (.text); + build/j/src/libultra/save.o (.text); + build/j/src/libultra/jammesg.o (.text); + build/j/src/libultra/pigetcmdq.o (.text); + build/j/src/libultra/ultra7001B830.o (.text); /*edited*/ + build/j/src/libultra/ultra7001B9A0.o (.text); /*edited*/ + build/j/src/libultra/destroythread.o (.text); + build/j/src/libultra/seqplayer.o (.text); + build/j/src/libultra/synstartvoiceparam.o (.text); + build/j/src/libultra/copy.o (.text); + build/j/src/libultra/piacs.o (.text); + build/j/src/libultra/xlitob.o (.text); + build/j/src/libultra/xldtob.o (.text); + build/j/src/libultra/epirawdma.o (.text); + build/j/src/libultra/devmgr.o (.text); + build/j/src/libultra/contpfs.o (.text); + build/j/src/libultra/si.o (.text); + build/j/src/libultra/normalize.o (.text); + build/j/src/libultra/sqrtf.o (.text); + build/j/src/libultra/leodiskinit.o (.text); + build/j/src/libultra/setcompare.o (.text); + build/j/src/libultra/filter.o (.text); + build/j/src/libultra/reverb.o (.text); /*edited*/ + build/j/src/libultra/libm_vals.o (.text); /*edited*/ + build/j/src/libultra/seq.o (.text); + build/j/src/libultra/synsetpriority.o (.text); + build/j/src/libultra/ldiv.o (.text); + build/j/src/libultra/resetglobalintmask.o (.text); + build/j/src/libultra/epirawwrite.o (.text); + build/j/src/libultra/vimodentsclan1.o (.text); + build/j/src/libultra/vimodepallan1.o (.text); + build/j/src/libultra/ultra80069080.o (.text); /*edited*/ + /*build/u/src/libultra/libultra.a:libultra.o (.text);*/ } _codeSegmentEnd = ADDR(.code) + SIZEOF(.code); _codeSegmentRomEnd = _codeSegmentRomStart + SIZEOF(.code); @@ -176,8 +267,8 @@ SECTIONS _rarezipSegmentStart = ADDR(.rarezip); _rarezipSegmentRomStart = _cdataSegmentRomEnd; .rarezip 0x70200000 : AT(_rarezipSegmentRomStart) { - build/j/src/rarezip/rarezip.o (.text); - build/j/src/rarezip/rarezip.o (.data); + build/j/src/inflate/inflate.o (.text); + build/j/src/inflate/inflate.o (.data); } _rarezipSegmentEnd = ADDR(.rarezip) + SIZEOF(.rarezip); _rarezipSegmentRomEnd = _rarezipSegmentRomStart + SIZEOF(.rarezip); @@ -248,7 +339,7 @@ SECTIONS build/j/src/game/objective_status.o (.text); build/j/src/game/objective_status2.o (.text); build/j/src/game/sin.o (.text); - build/j/src/game/unk_057FD0.o (.text); + build/j/src/game/matrixmath.o (.text); build/j/src/game/unk_05A9E0.o (.text); build/j/src/game/convertangleusinginverse.o (.text); build/j/src/game/unk_05AB70.o (.text); @@ -263,7 +354,7 @@ SECTIONS build/j/src/game/objecthandler_2.o (.text); build/j/src/game/othermodemicrocode.o (.text); build/j/src/game/bond.o (.text); - build/j/src/game/bond2.o (.text); + build/j/src/game/bondinv.o (.text); build/j/src/game/unk_08DBB0.o (.text); build/j/src/game/debugmenu_08FE00.o (.text); build/j/src/game/debugmenu_090490.o (.text); @@ -289,7 +380,7 @@ SECTIONS build/j/src/game/ob.o (.text); build/j/src/game/dyn.o (.text); build/j/src/game/lvl.o (.text); - build/j/src/game/lvl_2.o (.text); + build/j/src/game/ramromreplay.o (.text); build/j/src/game/unk_0C0A70.o (.text); build/j/src/game/mp_music.o (.text); build/j/src/game/lvl_text.o (.text); @@ -3094,91 +3185,183 @@ SECTIONS build/j/src/vi.o (.data); build/j/src/debugmenu.o (.data); build/j/src/joy.o (.data); - build/j/src/joy_rumble.o (.data); + build/j/src/motor.o (.data); build/j/src/rmon.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/u/src/libultra/osPiRawStartDma.o (.data);*/ + build/j/src/libultra/pirawdma.o (.data); + build/j/src/libultra/pigetstat.o (.data); + build/j/src/libultra/initialize.o (.data); + build/j/src/libultra/writebackdcacheall.o (.data); + build/j/src/libultra/invalicache.o (.data); + build/j/src/libultra/unmaptlb.o (.data); + build/j/src/libultra/getfpccsr.o (.data); + build/j/src/libultra/setfpccsr.o (.data); + build/j/src/libultra/createthread.o (.data); + build/j/src/libultra/startthread.o (.data); + build/j/src/libultra/createmesgqueue.o (.data); + build/j/src/libultra/parameters.o (.data); + build/j/src/libultra/stopthread.o (.data); + build/j/src/libultra/setthreadpri.o (.data); + build/j/src/libultra/getcount.o (.data); + build/j/src/libultra/vimgr.o (.data); + build/j/src/libultra/vitbl.o (.data); /*edited*/ + build/j/src/libultra/seteventmesg.o (.data); + build/j/src/libultra/visetevent.o (.data); + build/j/src/libultra/setintmask.o (.data); + build/j/src/libultra/recvmesg.o (.data); + build/j/src/libultra/sendmesg.o (.data); + build/j/src/libultra/visetmode.o (.data); + build/j/src/libultra/visetxscale.o (.data); + build/j/src/libultra/visetyscale.o (.data); + build/j/src/libultra/virepeatline.o (.data); + build/j/src/libultra/viblack.o (.data); + build/j/src/libultra/sptaskyielded.o (.data); + build/j/src/libultra/dpctr.o (.data); + build/j/src/libultra/vigetcurrframebuf.o (.data); + build/j/src/libultra/vigetnextframebuf.o (.data); + build/j/src/libultra/viswapbuf.o (.data); + build/j/src/libultra/dpsetstat.o (.data); + build/j/src/libultra/sptask.o (.data); + build/j/src/libultra/dpsetnextbuf.o (.data); + build/j/src/libultra/sptaskyield.o (.data); + build/j/src/libultra/gettlbhi.o (.data); + build/j/src/libultra/virtualtophysical.o (.data); + build/j/src/libultra/aisetfreq.o (.data); + build/j/src/libultra/sl.o (.data); + build/j/src/libultra/heapalloc.o (.data); + build/j/src/libultra/gettime.o (.data); + build/j/src/libultra/ll.o (.data); /*edited*/ + build/j/src/libultra/aisetnextbuf.o (.data); + build/j/src/libultra/aigetlen.o (.data); + build/j/src/libultra/synthesizer.o (.data); + build/j/src/libultra/pidma.o (.data); + build/j/src/libultra/visetspecial.o (.data); + build/j/src/libultra/bcopy.o (.data); + build/j/src/libultra/perspective.o (.data); + build/j/src/libultra/mtxutil.o (.data); + build/j/src/libultra/getcurrfaultthread.o (.data); + build/j/src/libultra/exception.o (.data); /*edited*/ + build/j/src/libultra/thread.o (.data); + build/j/src/libultra/yieldthread.o (.data); + build/j/src/libultra/invaldcache.o (.data); + build/j/src/libultra/writebackdcache.o (.data); + build/j/src/libultra/settimer.o (.data); + build/j/src/libultra/heapinit.o (.data); + build/j/src/libultra/bnkf.o (.data); + build/j/src/libultra/csplayer.o (.data); + build/j/src/libultra/seqpsetbank.o (.data); + build/j/src/libultra/cspgetstate.o (.data); + build/j/src/libultra/cseq.o (.data); + build/j/src/libultra/cspsetseq.o (.data); + build/j/src/libultra/cspplay.o (.data); + build/j/src/libultra/cspstop.o (.data); + build/j/src/libultra/cspsetvol.o (.data); + build/j/src/libultra/event.o (.data); + build/j/src/libultra/synaddplayer.o (.data); + build/j/src/libultra/synallocvoice.o (.data); + build/j/src/libultra/synsetvol.o (.data); + build/j/src/libultra/synstartvoice.o (.data); + build/j/src/libultra/synsetpan.o (.data); + build/j/src/libultra/synsetpitch.o (.data); + build/j/src/libultra/synsetfxmix.o (.data); + build/j/src/libultra/synstopvoice.o (.data); + build/j/src/libultra/synfreevoice.o (.data); + build/j/src/libultra/cents2ratio.o (.data); + build/j/src/libultra/piread.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/libultra/xprintf.o (.data); + build/j/src/libultra/pimgr.o (.data); + build/j/src/libultra/pfsinit.o (.data); + build/j/src/libultra/controller.o (.data); + build/j/src/libultra/contquery.o (.data); + build/j/src/libultra/contreaddata.o (.data); + build/j/src/libultra/conteepprobe.o (.data); + build/j/src/libultra/conteepread.o (.data); + build/j/src/libultra/conteepwrite.o (.data); + build/j/src/libultra/conteeplongread.o (.data); + build/j/src/libultra/conteeplongwrite.o (.data); + build/j/src/libultra/pfsisplug.o (.data); + build/j/src/libultra/siacs.o (.data); + build/j/src/libultra/sirawdma.o (.data); + build/j/src/libultra/crc.o (.data); + build/j/src/libultra/contramwrite.o (.data); + build/j/src/libultra/contramread.o (.data); + build/j/src/libultra/align.o (.data); + build/j/src/libultra/ortho.o (.data); + build/j/src/libultra/coss.o (.data); + build/j/src/libultra/sins.o (.data); + build/j/src/libultra/translate.o (.data); + build/j/src/libultra/bcmp.o (.data); + build/j/src/libultra/scale.o (.data); + build/j/src/libultra/lookatref.o (.data); + build/j/src/libultra/lookat.o (.data); + build/j/src/libultra/rotate.o (.data); + build/j/src/libultra/llcvt.o (.data); /*edited*/ + build/j/src/libultra/setsr.o (.data); + build/j/src/libultra/getsr.o (.data); + build/j/src/libultra/sirawread.o (.data); + build/j/src/libultra/sirawwrite.o (.data); + build/j/src/libultra/pirawread.o (.data); + build/j/src/libultra/bzero.o (.data); + build/j/src/libultra/sethwinterrupt.o (.data); + build/j/src/libultra/leointerrupt.o (.data); + build/j/src/libultra/interrupt.o (.data); + build/j/src/libultra/timerintr.o (.data); + build/j/src/libultra/kdebugserver.o (.data); + build/j/src/libultra/getthreadpri.o (.data); + build/j/src/libultra/vi.o (.data); /*edited*/ + build/j/src/libultra/vigetcurrcontext.o (.data); + build/j/src/libultra/viswapcontext.o (.data); + build/j/src/libultra/spgetstat.o (.data); + build/j/src/libultra/spsetstat.o (.data); + build/j/src/libultra/spsetpc.o (.data); + build/j/src/libultra/sprawdma.o (.data); + build/j/src/libultra/sp.o (.data); + build/j/src/libultra/dp.o (.data); + build/j/src/libultra/probetlb.o (.data); + build/j/src/libultra/syndelete.o (.data); + build/j/src/libultra/ai.o (.data); + build/j/src/libultra/drvrNew.o (.data); + build/j/src/libultra/synallocfx.o (.data); + build/j/src/libultra/mainbus.o (.data); + build/j/src/libultra/load.o (.data); + build/j/src/libultra/resample.o (.data); + build/j/src/libultra/env.o (.data); /*edited*/ + build/j/src/libultra/auxbus.o (.data); + build/j/src/libultra/save.o (.data); + build/j/src/libultra/jammesg.o (.data); + build/j/src/libultra/pigetcmdq.o (.data); + build/j/src/libultra/ultra7001B830.o (.data); /*edited*/ + build/j/src/libultra/ultra7001B9A0.o (.data); /*edited*/ + build/j/src/libultra/destroythread.o (.data); + build/j/src/libultra/seqplayer.o (.data); + build/j/src/libultra/synstartvoiceparam.o (.data); + build/j/src/libultra/copy.o (.data); + build/j/src/libultra/piacs.o (.data); + build/j/src/libultra/xlitob.o (.data); + build/j/src/libultra/xldtob.o (.data); + build/j/src/libultra/epirawdma.o (.data); + build/j/src/libultra/devmgr.o (.data); + build/j/src/libultra/contpfs.o (.data); + build/j/src/libultra/si.o (.data); + build/j/src/libultra/normalize.o (.data); + build/j/src/libultra/sqrtf.o (.data); + build/j/src/libultra/leodiskinit.o (.data); + build/j/src/libultra/setcompare.o (.data); + build/j/src/libultra/filter.o (.data); + build/j/src/libultra/reverb.o (.data); /*edited*/ + build/j/src/libultra/libm_vals.o (.data); /*edited*/ + build/j/src/libultra/seq.o (.data); + build/j/src/libultra/synsetpriority.o (.data); + build/j/src/libultra/ldiv.o (.data); + build/j/src/libultra/resetglobalintmask.o (.data); + build/j/src/libultra/epirawwrite.o (.data); + build/j/src/libultra/vimodentsclan1.o (.data); + build/j/src/libultra/vimodepallan1.o (.data); + build/j/src/libultra/ultra80069080.o (.data); /*edited*/ + /*build/u/src/libultra/libultra.a:libultra.o (.data);*/ + build/j/src/aspboot.o (.rodata); build/j/src/boot.o (.rodata); @@ -3210,91 +3393,183 @@ SECTIONS build/j/src/vi.o (.rodata); build/j/src/debugmenu.o (.rodata); build/j/src/joy.o (.rodata); - build/j/src/joy_rumble.o (.rodata); + build/j/src/motor.o (.rodata); build/j/src/rmon.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/u/src/libultra/osPiRawStartDma.o (.rodata);*/ + build/j/src/libultra/pirawdma.o (.rodata); + build/j/src/libultra/pigetstat.o (.rodata); + build/j/src/libultra/initialize.o (.rodata); + build/j/src/libultra/writebackdcacheall.o (.rodata); + build/j/src/libultra/invalicache.o (.rodata); + build/j/src/libultra/unmaptlb.o (.rodata); + build/j/src/libultra/getfpccsr.o (.rodata); + build/j/src/libultra/setfpccsr.o (.rodata); + build/j/src/libultra/createthread.o (.rodata); + build/j/src/libultra/startthread.o (.rodata); + build/j/src/libultra/createmesgqueue.o (.rodata); + build/j/src/libultra/parameters.o (.rodata); + build/j/src/libultra/stopthread.o (.rodata); + build/j/src/libultra/setthreadpri.o (.rodata); + build/j/src/libultra/getcount.o (.rodata); + build/j/src/libultra/vimgr.o (.rodata); + build/j/src/libultra/vitbl.o (.rodata); /*edited*/ + build/j/src/libultra/seteventmesg.o (.rodata); + build/j/src/libultra/visetevent.o (.rodata); + build/j/src/libultra/setintmask.o (.rodata); + build/j/src/libultra/recvmesg.o (.rodata); + build/j/src/libultra/sendmesg.o (.rodata); + build/j/src/libultra/visetmode.o (.rodata); + build/j/src/libultra/visetxscale.o (.rodata); + build/j/src/libultra/visetyscale.o (.rodata); + build/j/src/libultra/virepeatline.o (.rodata); + build/j/src/libultra/viblack.o (.rodata); + build/j/src/libultra/sptaskyielded.o (.rodata); + build/j/src/libultra/dpctr.o (.rodata); + build/j/src/libultra/vigetcurrframebuf.o (.rodata); + build/j/src/libultra/vigetnextframebuf.o (.rodata); + build/j/src/libultra/viswapbuf.o (.rodata); + build/j/src/libultra/dpsetstat.o (.rodata); + build/j/src/libultra/sptask.o (.rodata); + build/j/src/libultra/dpsetnextbuf.o (.rodata); + build/j/src/libultra/sptaskyield.o (.rodata); + build/j/src/libultra/gettlbhi.o (.rodata); + build/j/src/libultra/virtualtophysical.o (.rodata); + build/j/src/libultra/aisetfreq.o (.rodata); + build/j/src/libultra/sl.o (.rodata); + build/j/src/libultra/heapalloc.o (.rodata); + build/j/src/libultra/gettime.o (.rodata); + build/j/src/libultra/ll.o (.rodata); /*edited*/ + build/j/src/libultra/aisetnextbuf.o (.rodata); + build/j/src/libultra/aigetlen.o (.rodata); + build/j/src/libultra/synthesizer.o (.rodata); + build/j/src/libultra/pidma.o (.rodata); + build/j/src/libultra/visetspecial.o (.rodata); + build/j/src/libultra/bcopy.o (.rodata); + build/j/src/libultra/perspective.o (.rodata); + build/j/src/libultra/mtxutil.o (.rodata); + build/j/src/libultra/getcurrfaultthread.o (.rodata); + build/j/src/libultra/exception.o (.rodata); /*edited*/ + build/j/src/libultra/thread.o (.rodata); + build/j/src/libultra/yieldthread.o (.rodata); + build/j/src/libultra/invaldcache.o (.rodata); + build/j/src/libultra/writebackdcache.o (.rodata); + build/j/src/libultra/settimer.o (.rodata); + build/j/src/libultra/heapinit.o (.rodata); + build/j/src/libultra/bnkf.o (.rodata); + build/j/src/libultra/csplayer.o (.rodata); + build/j/src/libultra/seqpsetbank.o (.rodata); + build/j/src/libultra/cspgetstate.o (.rodata); + build/j/src/libultra/cseq.o (.rodata); + build/j/src/libultra/cspsetseq.o (.rodata); + build/j/src/libultra/cspplay.o (.rodata); + build/j/src/libultra/cspstop.o (.rodata); + build/j/src/libultra/cspsetvol.o (.rodata); + build/j/src/libultra/event.o (.rodata); + build/j/src/libultra/synaddplayer.o (.rodata); + build/j/src/libultra/synallocvoice.o (.rodata); + build/j/src/libultra/synsetvol.o (.rodata); + build/j/src/libultra/synstartvoice.o (.rodata); + build/j/src/libultra/synsetpan.o (.rodata); + build/j/src/libultra/synsetpitch.o (.rodata); + build/j/src/libultra/synsetfxmix.o (.rodata); + build/j/src/libultra/synstopvoice.o (.rodata); + build/j/src/libultra/synfreevoice.o (.rodata); + build/j/src/libultra/cents2ratio.o (.rodata); + build/j/src/libultra/piread.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/libultra/xprintf.o (.rodata); + build/j/src/libultra/pimgr.o (.rodata); + build/j/src/libultra/pfsinit.o (.rodata); + build/j/src/libultra/controller.o (.rodata); + build/j/src/libultra/contquery.o (.rodata); + build/j/src/libultra/contreaddata.o (.rodata); + build/j/src/libultra/conteepprobe.o (.rodata); + build/j/src/libultra/conteepread.o (.rodata); + build/j/src/libultra/conteepwrite.o (.rodata); + build/j/src/libultra/conteeplongread.o (.rodata); + build/j/src/libultra/conteeplongwrite.o (.rodata); + build/j/src/libultra/pfsisplug.o (.rodata); + build/j/src/libultra/siacs.o (.rodata); + build/j/src/libultra/sirawdma.o (.rodata); + build/j/src/libultra/crc.o (.rodata); + build/j/src/libultra/contramwrite.o (.rodata); + build/j/src/libultra/contramread.o (.rodata); + build/j/src/libultra/align.o (.rodata); + build/j/src/libultra/ortho.o (.rodata); + build/j/src/libultra/coss.o (.rodata); + build/j/src/libultra/sins.o (.rodata); + build/j/src/libultra/translate.o (.rodata); + build/j/src/libultra/bcmp.o (.rodata); + build/j/src/libultra/scale.o (.rodata); + build/j/src/libultra/lookatref.o (.rodata); + build/j/src/libultra/lookat.o (.rodata); + build/j/src/libultra/rotate.o (.rodata); + build/j/src/libultra/llcvt.o (.rodata); /*edited*/ + build/j/src/libultra/setsr.o (.rodata); + build/j/src/libultra/getsr.o (.rodata); + build/j/src/libultra/sirawread.o (.rodata); + build/j/src/libultra/sirawwrite.o (.rodata); + build/j/src/libultra/pirawread.o (.rodata); + build/j/src/libultra/bzero.o (.rodata); + build/j/src/libultra/sethwinterrupt.o (.rodata); + build/j/src/libultra/leointerrupt.o (.rodata); + build/j/src/libultra/interrupt.o (.rodata); + build/j/src/libultra/timerintr.o (.rodata); + build/j/src/libultra/kdebugserver.o (.rodata); + build/j/src/libultra/getthreadpri.o (.rodata); + build/j/src/libultra/vi.o (.rodata); /*edited*/ + build/j/src/libultra/vigetcurrcontext.o (.rodata); + build/j/src/libultra/viswapcontext.o (.rodata); + build/j/src/libultra/spgetstat.o (.rodata); + build/j/src/libultra/spsetstat.o (.rodata); + build/j/src/libultra/spsetpc.o (.rodata); + build/j/src/libultra/sprawdma.o (.rodata); + build/j/src/libultra/sp.o (.rodata); + build/j/src/libultra/dp.o (.rodata); + build/j/src/libultra/probetlb.o (.rodata); + build/j/src/libultra/syndelete.o (.rodata); + build/j/src/libultra/ai.o (.rodata); + build/j/src/libultra/drvrNew.o (.rodata); + build/j/src/libultra/synallocfx.o (.rodata); + build/j/src/libultra/mainbus.o (.rodata); + build/j/src/libultra/load.o (.rodata); + build/j/src/libultra/resample.o (.rodata); + build/j/src/libultra/env.o (.rodata); /*edited*/ + build/j/src/libultra/auxbus.o (.rodata); + build/j/src/libultra/save.o (.rodata); + build/j/src/libultra/jammesg.o (.rodata); + build/j/src/libultra/pigetcmdq.o (.rodata); + build/j/src/libultra/ultra7001B830.o (.rodata); /*edited*/ + build/j/src/libultra/ultra7001B9A0.o (.rodata); /*edited*/ + build/j/src/libultra/destroythread.o (.rodata); + build/j/src/libultra/seqplayer.o (.rodata); + build/j/src/libultra/synstartvoiceparam.o (.rodata); + build/j/src/libultra/copy.o (.rodata); + build/j/src/libultra/piacs.o (.rodata); + build/j/src/libultra/xlitob.o (.rodata); + build/j/src/libultra/xldtob.o (.rodata); + build/j/src/libultra/epirawdma.o (.rodata); + build/j/src/libultra/devmgr.o (.rodata); + build/j/src/libultra/contpfs.o (.rodata); + build/j/src/libultra/si.o (.rodata); + build/j/src/libultra/normalize.o (.rodata); + build/j/src/libultra/sqrtf.o (.rodata); + build/j/src/libultra/leodiskinit.o (.rodata); + build/j/src/libultra/setcompare.o (.rodata); + build/j/src/libultra/filter.o (.rodata); + build/j/src/libultra/reverb.o (.rodata); /*edited*/ + build/j/src/libultra/libm_vals.o (.rodata); /*edited*/ + build/j/src/libultra/seq.o (.rodata); + build/j/src/libultra/synsetpriority.o (.rodata); + build/j/src/libultra/ldiv.o (.rodata); + build/j/src/libultra/resetglobalintmask.o (.rodata); + build/j/src/libultra/epirawwrite.o (.rodata); + build/j/src/libultra/vimodentsclan1.o (.rodata); + build/j/src/libultra/vimodepallan1.o (.rodata); + build/j/src/libultra/ultra80069080.o (.rodata); /*edited*/ + /*build/u/src/libultra/libultra.a:libultra.o (.rodata);*/ build/j/src/game/initgamedata.o (.data); build/j/src/game/initweaponanigroups.o (.data); @@ -3355,7 +3630,7 @@ SECTIONS build/j/src/game/objective_status.o (.data); build/j/src/game/objective_status2.o (.data); build/j/src/game/sin.o (.data); - build/j/src/game/unk_057FD0.o (.data); + build/j/src/game/matrixmath.o (.data); build/j/src/game/unk_05A9E0.o (.data); build/j/src/game/convertangleusinginverse.o (.data); build/j/src/game/unk_05AB70.o (.data); @@ -3370,7 +3645,7 @@ SECTIONS build/j/src/game/objecthandler_2.o (.data); build/j/src/game/othermodemicrocode.o (.data); build/j/src/game/bond.o (.data); - build/j/src/game/bond2.o (.data); + build/j/src/game/bondinv.o (.data); build/j/src/game/unk_08DBB0.o (.data); build/j/src/game/debugmenu_08FE00.o (.data); build/j/src/game/debugmenu_090490.o (.data); @@ -3396,7 +3671,7 @@ SECTIONS build/j/src/game/ob.o (.data); build/j/src/game/dyn.o (.data); build/j/src/game/lvl.o (.data); - build/j/src/game/lvl_2.o (.data); + build/j/src/game/ramromreplay.o (.data); build/j/src/game/unk_0C0A70.o (.data); build/j/src/game/mp_music.o (.data); build/j/src/game/lvl_text.o (.data); @@ -3477,7 +3752,7 @@ SECTIONS build/j/src/game/objective_status.o (.rodata); build/j/src/game/objective_status2.o (.rodata); build/j/src/game/sin.o (.rodata); - build/j/src/game/unk_057FD0.o (.rodata); + build/j/src/game/matrixmath.o (.rodata); build/j/src/game/unk_05A9E0.o (.rodata); build/j/src/game/convertangleusinginverse.o (.rodata); build/j/src/game/unk_05AB70.o (.rodata); @@ -3492,7 +3767,7 @@ SECTIONS build/j/src/game/objecthandler_2.o (.rodata); build/j/src/game/othermodemicrocode.o (.rodata); build/j/src/game/bond.o (.rodata); - build/j/src/game/bond2.o (.rodata); + build/j/src/game/bondinv.o (.rodata); build/j/src/game/unk_08DBB0.o (.rodata); build/j/src/game/debugmenu_08FE00.o (.rodata); build/j/src/game/debugmenu_090490.o (.rodata); @@ -3518,7 +3793,7 @@ SECTIONS build/j/src/game/ob.o (.rodata); build/j/src/game/dyn.o (.rodata); build/j/src/game/lvl.o (.rodata); - build/j/src/game/lvl_2.o (.rodata); + build/j/src/game/ramromreplay.o (.rodata); build/j/src/game/unk_0C0A70.o (.rodata); build/j/src/game/mp_music.o (.rodata); build/j/src/game/lvl_text.o (.rodata); @@ -3579,91 +3854,182 @@ SECTIONS build/j/src/vi.o (.bss); build/j/src/debugmenu.o (.bss); build/j/src/joy.o (.bss); - build/j/src/joy_rumble.o (.bss); + build/j/src/motor.o (.bss); build/j/src/rmon.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/u/src/libultra/osPiRawStartDma.o (.bss);*/ + build/j/src/libultra/pirawdma.o (.bss); + build/j/src/libultra/pigetstat.o (.bss); + build/j/src/libultra/initialize.o (.bss); + build/j/src/libultra/writebackdcacheall.o (.bss); + build/j/src/libultra/invalicache.o (.bss); + build/j/src/libultra/unmaptlb.o (.bss); + build/j/src/libultra/getfpccsr.o (.bss); + build/j/src/libultra/setfpccsr.o (.bss); + build/j/src/libultra/createthread.o (.bss); + build/j/src/libultra/startthread.o (.bss); + build/j/src/libultra/createmesgqueue.o (.bss); + build/j/src/libultra/parameters.o (.bss); + build/j/src/libultra/stopthread.o (.bss); + build/j/src/libultra/setthreadpri.o (.bss); + build/j/src/libultra/getcount.o (.bss); + build/j/src/libultra/vimgr.o (.bss); + build/j/src/libultra/vitbl.o (.bss); /*edited*/ + build/j/src/libultra/seteventmesg.o (.bss); + build/j/src/libultra/visetevent.o (.bss); + build/j/src/libultra/setintmask.o (.bss); + build/j/src/libultra/recvmesg.o (.bss); + build/j/src/libultra/sendmesg.o (.bss); + build/j/src/libultra/visetmode.o (.bss); + build/j/src/libultra/visetxscale.o (.bss); + build/j/src/libultra/visetyscale.o (.bss); + build/j/src/libultra/virepeatline.o (.bss); + build/j/src/libultra/viblack.o (.bss); + build/j/src/libultra/sptaskyielded.o (.bss); + build/j/src/libultra/dpctr.o (.bss); + build/j/src/libultra/vigetcurrframebuf.o (.bss); + build/j/src/libultra/vigetnextframebuf.o (.bss); + build/j/src/libultra/viswapbuf.o (.bss); + build/j/src/libultra/dpsetstat.o (.bss); + build/j/src/libultra/sptask.o (.bss); + build/j/src/libultra/dpsetnextbuf.o (.bss); + build/j/src/libultra/sptaskyield.o (.bss); + build/j/src/libultra/gettlbhi.o (.bss); + build/j/src/libultra/virtualtophysical.o (.bss); + build/j/src/libultra/aisetfreq.o (.bss); + build/j/src/libultra/sl.o (.bss); + build/j/src/libultra/heapalloc.o (.bss); + build/j/src/libultra/gettime.o (.bss); + build/j/src/libultra/ll.o (.bss); /*edited*/ + build/j/src/libultra/aisetnextbuf.o (.bss); + build/j/src/libultra/aigetlen.o (.bss); + build/j/src/libultra/synthesizer.o (.bss); + build/j/src/libultra/pidma.o (.bss); + build/j/src/libultra/visetspecial.o (.bss); + build/j/src/libultra/bcopy.o (.bss); + build/j/src/libultra/perspective.o (.bss); + build/j/src/libultra/mtxutil.o (.bss); + build/j/src/libultra/getcurrfaultthread.o (.bss); + build/j/src/libultra/exception.o (.bss); /*edited*/ + build/j/src/libultra/thread.o (.bss); + build/j/src/libultra/yieldthread.o (.bss); + build/j/src/libultra/invaldcache.o (.bss); + build/j/src/libultra/writebackdcache.o (.bss); + build/j/src/libultra/settimer.o (.bss); + build/j/src/libultra/heapinit.o (.bss); + build/j/src/libultra/bnkf.o (.bss); + build/j/src/libultra/csplayer.o (.bss); + build/j/src/libultra/seqpsetbank.o (.bss); + build/j/src/libultra/cspgetstate.o (.bss); + build/j/src/libultra/cseq.o (.bss); + build/j/src/libultra/cspsetseq.o (.bss); + build/j/src/libultra/cspplay.o (.bss); + build/j/src/libultra/cspstop.o (.bss); + build/j/src/libultra/cspsetvol.o (.bss); + build/j/src/libultra/event.o (.bss); + build/j/src/libultra/synaddplayer.o (.bss); + build/j/src/libultra/synallocvoice.o (.bss); + build/j/src/libultra/synsetvol.o (.bss); + build/j/src/libultra/synstartvoice.o (.bss); + build/j/src/libultra/synsetpan.o (.bss); + build/j/src/libultra/synsetpitch.o (.bss); + build/j/src/libultra/synsetfxmix.o (.bss); + build/j/src/libultra/synstopvoice.o (.bss); + build/j/src/libultra/synfreevoice.o (.bss); + build/j/src/libultra/cents2ratio.o (.bss); + build/j/src/libultra/piread.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/libultra/xprintf.o (.bss); + build/j/src/libultra/pimgr.o (.bss); + build/j/src/libultra/pfsinit.o (.bss); + build/j/src/libultra/controller.o (.bss); + build/j/src/libultra/contquery.o (.bss); + build/j/src/libultra/contreaddata.o (.bss); + build/j/src/libultra/conteepprobe.o (.bss); + build/j/src/libultra/conteepread.o (.bss); + build/j/src/libultra/conteepwrite.o (.bss); + build/j/src/libultra/conteeplongread.o (.bss); + build/j/src/libultra/conteeplongwrite.o (.bss); + build/j/src/libultra/pfsisplug.o (.bss); + build/j/src/libultra/siacs.o (.bss); + build/j/src/libultra/sirawdma.o (.bss); + build/j/src/libultra/crc.o (.bss); + build/j/src/libultra/contramwrite.o (.bss); + build/j/src/libultra/contramread.o (.bss); + build/j/src/libultra/align.o (.bss); + build/j/src/libultra/ortho.o (.bss); + build/j/src/libultra/coss.o (.bss); + build/j/src/libultra/sins.o (.bss); + build/j/src/libultra/translate.o (.bss); + build/j/src/libultra/bcmp.o (.bss); + build/j/src/libultra/scale.o (.bss); + build/j/src/libultra/lookatref.o (.bss); + build/j/src/libultra/lookat.o (.bss); + build/j/src/libultra/rotate.o (.bss); + build/j/src/libultra/llcvt.o (.bss); /*edited*/ + build/j/src/libultra/setsr.o (.bss); + build/j/src/libultra/getsr.o (.bss); + build/j/src/libultra/sirawread.o (.bss); + build/j/src/libultra/sirawwrite.o (.bss); + build/j/src/libultra/pirawread.o (.bss); + build/j/src/libultra/bzero.o (.bss); + build/j/src/libultra/sethwinterrupt.o (.bss); + build/j/src/libultra/leointerrupt.o (.bss); + build/j/src/libultra/interrupt.o (.bss); + build/j/src/libultra/timerintr.o (.bss); + build/j/src/libultra/kdebugserver.o (.bss); + build/j/src/libultra/getthreadpri.o (.bss); + build/j/src/libultra/vi.o (.bss); /*edited*/ + build/j/src/libultra/vigetcurrcontext.o (.bss); + build/j/src/libultra/viswapcontext.o (.bss); + build/j/src/libultra/spgetstat.o (.bss); + build/j/src/libultra/spsetstat.o (.bss); + build/j/src/libultra/spsetpc.o (.bss); + build/j/src/libultra/sprawdma.o (.bss); + build/j/src/libultra/sp.o (.bss); + build/j/src/libultra/dp.o (.bss); + build/j/src/libultra/probetlb.o (.bss); + build/j/src/libultra/syndelete.o (.bss); + build/j/src/libultra/ai.o (.bss); + build/j/src/libultra/drvrNew.o (.bss); + build/j/src/libultra/synallocfx.o (.bss); + build/j/src/libultra/mainbus.o (.bss); + build/j/src/libultra/load.o (.bss); + build/j/src/libultra/resample.o (.bss); + build/j/src/libultra/env.o (.bss); /*edited*/ + build/j/src/libultra/auxbus.o (.bss); + build/j/src/libultra/save.o (.bss); + build/j/src/libultra/jammesg.o (.bss); + build/j/src/libultra/pigetcmdq.o (.bss); + build/j/src/libultra/ultra7001B830.o (.bss); /*edited*/ + build/j/src/libultra/ultra7001B9A0.o (.bss); /*edited*/ + build/j/src/libultra/destroythread.o (.bss); + build/j/src/libultra/seqplayer.o (.bss); + build/j/src/libultra/synstartvoiceparam.o (.bss); + build/j/src/libultra/copy.o (.bss); + build/j/src/libultra/piacs.o (.bss); + build/j/src/libultra/xlitob.o (.bss); + build/j/src/libultra/xldtob.o (.bss); + build/j/src/libultra/epirawdma.o (.bss); + build/j/src/libultra/devmgr.o (.bss); + build/j/src/libultra/contpfs.o (.bss); + build/j/src/libultra/si.o (.bss); + build/j/src/libultra/normalize.o (.bss); + build/j/src/libultra/sqrtf.o (.bss); + build/j/src/libultra/leodiskinit.o (.bss); + build/j/src/libultra/setcompare.o (.bss); + build/j/src/libultra/filter.o (.bss); + build/j/src/libultra/reverb.o (.bss); /*edited*/ + build/j/src/libultra/libm_vals.o (.bss); /*edited*/ + build/j/src/libultra/seq.o (.bss); + build/j/src/libultra/synsetpriority.o (.bss); + build/j/src/libultra/ldiv.o (.bss); + build/j/src/libultra/resetglobalintmask.o (.bss); + build/j/src/libultra/epirawwrite.o (.bss); + build/j/src/libultra/vimodentsclan1.o (.bss); + build/j/src/libultra/vimodepallan1.o (.bss); + build/j/src/libultra/ultra80069080.o (.bss); /*edited*/ + /*build/u/src/libultra/libultra.a:libultra.o (.bss);*/ build/j/src/game/initgamedata.o (.bss); build/j/src/game/initweaponanigroups.o (.bss); @@ -3724,7 +4090,7 @@ SECTIONS build/j/src/game/objective_status.o (.bss); build/j/src/game/objective_status2.o (.bss); build/j/src/game/sin.o (.bss); - build/j/src/game/unk_057FD0.o (.bss); + build/j/src/game/matrixmath.o (.bss); build/j/src/game/unk_05A9E0.o (.bss); build/j/src/game/convertangleusinginverse.o (.bss); build/j/src/game/unk_05AB70.o (.bss); @@ -3739,7 +4105,7 @@ SECTIONS build/j/src/game/objecthandler_2.o (.bss); build/j/src/game/othermodemicrocode.o (.bss); build/j/src/game/bond.o (.bss); - build/j/src/game/bond2.o (.bss); + build/j/src/game/bondinv.o (.bss); build/j/src/game/unk_08DBB0.o (.bss); build/j/src/game/debugmenu_08FE00.o (.bss); build/j/src/game/debugmenu_090490.o (.bss); @@ -3765,7 +4131,7 @@ SECTIONS build/j/src/game/ob.o (.bss); build/j/src/game/dyn.o (.bss); build/j/src/game/lvl.o (.bss); - build/j/src/game/lvl_2.o (.bss); + build/j/src/game/ramromreplay.o (.bss); build/j/src/game/unk_0C0A70.o (.bss); build/j/src/game/mp_music.o (.bss); build/j/src/game/lvl_text.o (.bss); @@ -3799,6 +4165,14 @@ SECTIONS _roombufSegmentEnd = ADDR(.roombuf) + SIZEOF(.roombuf); _roombufSegmentRomEnd = _roombufSegmentRomStart + SIZEOF(.roombuf); + _tlbbufSegmentStart = ADDR(.tlbbuf); + _tlbbufSegmentRomStart = _roombufSegmentRomEnd; + .tlbbuf _roombufSegmentEnd : AT(_tlbbufSegmentRomStart){ + build/j/src/tlb_buffer.o (.bss); + } + _tlbbufSegmentEnd = ADDR(.tlbbuf) + SIZEOF(.tlbbuf); + _tlbbufSegmentRomEnd = _tlbbufSegmentRomStart + SIZEOF(.tlbbuf); + _decompbufSegmentStart = ADDR(.decompbuf); _decompbufSegmentRomStart = _roombufSegmentRomEnd; .decompbuf 0x80300000 : AT(_decompbufSegmentRomStart){ diff --git a/ge007.ld b/ge007.ld deleted file mode 100644 index bc41f1e..0000000 --- a/ge007.ld +++ /dev/null @@ -1,653 +0,0 @@ -/*OUTPUT_FORMAT ("elf32-bigmips")*/ -OUTPUT_ARCH (mips) - -#define BEGIN_SEG(name, addr) \ - _##name##SegmentStart = ADDR(.name); \ - _##name##SegmentRomStart = __romPos; \ - .name addr : AT(__romPos) - -#define END_SEG(name) \ - _##name##SegmentEnd = ADDR(.name) + SIZEOF(.name); \ - _##name##SegmentRomEnd = __romPos + SIZEOF(.name); \ - __romPos += SIZEOF(.name); - -#define BEGIN_NOLOAD(name) \ - _##name##SegmentNoloadStart = ADDR(.name.noload); \ - .name.noload (NOLOAD) : - -#define END_NOLOAD(name) \ - _##name##SegmentNoloadEnd = ADDR(.name.noload) + SIZEOF(.name.noload); - -SECTIONS -{ - __romPos = 0; - - BEGIN_SEG(boot, 0x04000000) - { - build/rom_header.o(.text); - build/bootcode.o(.text); - } - END_SEG(boot) - - __ramPos = 400; - BEGIN_SEG(code, 0x80000400) - { - build/_start.o (.text); - build/boot.o (.text); - build/init.o (.text); - build/sched.o (.text); - build/osMapTLB.o (.text); - build/tlb_manage.o (.text); - build/tlb_random.o (.text); - build/tlb_resolve.o (.text); - build/audi.o (.text); - build/speed_graph.o (.text); - build/video.o (.text); - build/deb.o (.text); - build/debug_getlastRA.o (.text); - build/ramrom.o (.text); - build/boss.o (.text); - build/music.o (.text); - build/snd.o (.text); - build/memp.o (.text); - build/mema.o (.text); - build/random.o (.text); - build/token.o (.text); - build/str.o (.text); - build/sprintf.o (.text); - build/pi.o (.text); - build/vi.o (.text); - build/debugmenu.o (.text); - build/joy.o (.text); - build/joy_rumble.o (.text); - build/rmon.o (.text); - build/libultra/libultra.o (.text); - } - END_SEG(code) - __ramPos += SIZEOF(.code); - - .c_data_dummy __romPos : AT(__romPos) { - * (.c_data_dummy); - } - __romPos += SIZEOF(.c_data_dummy); - - /* (0x70200000, 0x702029BC, 0x701CCA70), // 033590-035F4D [29BD] */ - BEGIN_SEG(rarezip, 0x70200000) - { - build/rarezip/rarezip.o (.text); - build/rarezip/rarezip.o (.data); - } - END_SEG(rarezip) - - - /* (0x7F000000, 0x7F0E2D50, 0x7EFCB4D0), // 034B30-117881 [E2D51] */ - BEGIN_SEG(game, 0x7F000000) - { - build/game/initgamedata.o (.text); - build/game/initweaponanigroups.o (.text); - build/game/initactorpropstuff.o (.text); - build/game/initnull_0009D0.o (.text); - build/game/initunk_0009E0.o (.text); - build/game/initanitable.o (.text); - build/game/initunk_000B60.o (.text); - build/game/setguscale.o (.text); - build/game/initnull_000BC0.o (.text); - build/game/initimages.o (.text); - build/game/initintromatrices.o (.text); - build/game/initmenus.o (.text); - build/game/initguards.o (.text); - build/game/deb_loadallmodels.o (.text); - build/game/initobjects.o (.text); - build/game/prop.o (.text); - build/game/objective.o (.text); - build/game/ejectedcartridges.o (.text); - build/game/initBondDATA.o (.text); - build/game/initunk_005450.o (.text); - build/game/initunk_005520.o (.text); - build/game/initcameraandthrown.o (.text); - build/game/inititemslots.o (.text); - build/game/initBondDATAdefaults.o (.text); - build/game/initpathtablesomething.o (.text); - build/game/initpathtablelinks.o (.text); - build/game/initexplosioncasing.o (.text); - build/game/initunk_007180.o (.text); - build/game/initunk_007290.o (.text); - build/game/initunk_0072B0.o (.text); - build/game/initmttex.o (.text); - build/game/initunk_0073B0.o (.text); - build/game/initunk_007460.o (.text); - build/game/cleanup_alarms.o (.text); - build/game/cleanup_objects.o (.text); - build/game/cleanup_objectives.o (.text); - build/game/cleanupSFXRelated.o (.text); - build/game/playerstats_007770.o (.text); - build/game/unk_007800.o (.text); - build/game/unk_007920.o (.text); - build/game/null_007970.o (.text); - build/game/unk_007980.o (.text); - build/game/intro_logos.o (.text); - build/game/mainmenu.o (.text); - build/game/blood_animation.o (.text); - build/game/blood_decrypt.o (.text); - build/game/gamefile.o (.text); - build/game/chr.o (.text); - build/game/chrai.o (.text); - build/game/loadobjectmodel.o (.text); - build/game/objective_status.o (.text); - build/game/sin.o (.text); - build/game/unk_057FD0.o (.text); - build/game/unk_05A9E0.o (.text); - build/game/convertangleusinginverse.o (.text); - build/game/unk_05AB70.o (.text); - build/game/unk_05ACB0.o (.text); - build/game/unk_05AE00.o (.text); - build/game/unk_05B1E0.o (.text); - build/game/truncf.o (.text); - build/game/unk_05C440.o (.text); - build/game/bondwalk.o (.text); - build/game/objecthandler.o (.text); - build/game/othermodemicrocode.o (.text); - build/game/bond.o (.text); - build/game/unk_08DBB0.o (.text); - build/game/debugmenu_08FE00.o (.text); - build/game/unk_091080.o (.text); - build/game/cheat_buttons.o (.text); - build/game/unk_092890.o (.text); - build/game/unk_092E50.o (.text); - build/game/unk_093880.o (.text); - build/game/unk_09B600.o (.text); - build/game/unk_09B740.o (.text); - build/game/unk_09B7A0.o (.text); - build/game/unk_09C250.o (.text); - build/game/unk_0A1DA0.o (.text); - build/game/watch.o (.text); - build/game/textrelated.o (.text); - build/game/stan.o (.text); - build/game/unk_0B3200.o (.text); - build/game/bg.o (.text); - build/game/fog.o (.text); - build/game/lightfixture.o (.text); - build/game/unk_0BC530.o (.text); - build/game/ob.o (.text); - build/game/dyn.o (.text); - build/game/lvl.o (.text); - build/game/unk_0C0A70.o (.text); - build/game/mp_music.o (.text); - build/game/lvl_text.o (.text); - build/game/mp_watch.o (.text); - build/game/radar.o (.text); - build/game/mp_weapon.o (.text); - build/game/image.o (.text); - build/game/image_bank.o (.text); - build/game/unk_0CC4C0.o (.text); - build/game/decompress.o (.text); - build/game/zlib.o (.text); - build/game/rsp.o (.text); - build/game/indy_comms.o (.text); - build/game/indy_commands.o (.text); - build/game/game_debug.o (.text); - build/game/compiletime.o (.text); - build/game/unk_0D1AC0.o (.text); - build/game/viewport.o (.text); - build/game/music_0D2720.o (.text); - build/game/spectrum.o (.text); - } - END_SEG(GAME) - - .romfiles 0x117880 : AT(__romPos) { - * (.romfiles); - - * (.ramrom); - - * (.font); - - * (.music); - - * (.musiccompressed); - } - __romPos += SIZEOF(.romfiles); - - .ob_seg 0x438660 : AT(__romPos) { - * (.ob_seg); - } - __romPos += SIZEOF(.ob_seg); - - .images : AT(__romPos) { - * (.images); - } - __romPos += SIZEOF(.ob_seg); - - __csegtempPos = 0xC00000; - __ramPos += 0x80000000; - .csegment __ramPos : AT(__csegtempPos){ - build/rspboot.o (.text); - build/gspboot.o (.text); - build/aspboot.o (.text); - build/boot.o (.data); - build/init.o (.data); - build/sched.o (.data); - build/osMapTLB.o (.data); - build/tlb_manage.o (.data); - build/tlb_random.o (.data); - build/tlb_resolve.o (.data); - build/audi.o (.data); - build/speed_graph.o (.data); - build/video.o (.data); - build/deb.o (.data); - build/debug_getlastRA.o (.data); - build/ramrom.o (.data); - build/boss.o (.data); - build/music.o (.data); - build/snd.o (.data); - build/memp.o (.data); - build/mema.o (.data); - build/random.o (.data); - build/token.o (.data); - build/str.o (.data); - build/sprintf.o (.data); - build/pi.o (.data); - build/vi.o (.data); - build/debugmenu.o (.data); - build/joy.o (.data); - build/joy_rumble.o (.data); - build/rmon.o (.data); - build/libultra/libultra.o (.data); - build/boot.o (.rodata); - build/init.o (.rodata); - build/sched.o (.rodata); - build/osMapTLB.o (.rodata); - build/tlb_manage.o (.rodata); - build/tlb_random.o (.rodata); - build/tlb_resolve.o (.rodata); - build/audi.o (.rodata); - build/speed_graph.o (.rodata); - build/video.o (.rodata); - build/deb.o (.rodata); - build/debug_getlastRA.o (.rodata); - build/ramrom.o (.rodata); - build/boss.o (.rodata); - build/music.o (.rodata); - build/snd.o (.rodata); - build/memp.o (.rodata); - build/mema.o (.rodata); - build/random.o (.rodata); - build/token.o (.rodata); - build/str.o (.rodata); - build/sprintf.o (.rodata); - build/pi.o (.rodata); - build/vi.o (.rodata); - build/debugmenu.o (.rodata); - build/joy.o (.rodata); - build/joy_rumble.o (.rodata); - build/rmon.o (.rodata); - build/libultra/libultra.o (.rodata); - build/game/initgamedata.o (.data); - build/game/initweaponanigroups.o (.data); - build/game/initactorpropstuff.o (.data); - build/game/initnull_0009D0.o (.data); - build/game/initunk_0009E0.o (.data); - build/game/initanitable.o (.data); - build/game/initunk_000B60.o (.data); - build/game/setguscale.o (.data); - build/game/initnull_000BC0.o (.data); - build/game/initimages.o (.data); - build/game/initintromatrices.o (.data); - build/game/initmenus.o (.data); - build/game/initguards.o (.data); - build/game/deb_loadallmodels.o (.data); - build/game/initobjects.o (.data); - build/game/prop.o (.data); - build/game/objective.o (.data); - build/game/ejectedcartridges.o (.data); - build/game/initBondDATA.o (.data); - build/game/initunk_005450.o (.data); - build/game/initunk_005520.o (.data); - build/game/initcameraandthrown.o (.data); - build/game/inititemslots.o (.data); - build/game/initBondDATAdefaults.o (.data); - build/game/initpathtablesomething.o (.data); - build/game/initpathtablelinks.o (.data); - build/game/initexplosioncasing.o (.data); - build/game/initunk_007180.o (.data); - build/game/initunk_007290.o (.data); - build/game/initunk_0072B0.o (.data); - build/game/initmttex.o (.data); - build/game/initunk_0073B0.o (.data); - build/game/initunk_007460.o (.data); - build/game/cleanup_alarms.o (.data); - build/game/cleanup_objects.o (.data); - build/game/cleanup_objectives.o (.data); - build/game/cleanupSFXRelated.o (.data); - build/game/playerstats_007770.o (.data); - build/game/unk_007800.o (.data); - build/game/unk_007920.o (.data); - build/game/null_007970.o (.data); - build/game/unk_007980.o (.data); - build/game/intro_logos.o (.data); - build/game/mainmenu.o (.data); - build/game/blood_animation.o (.data); - build/game/blood_decrypt.o (.data); - build/game/gamefile.o (.data); - build/game/chr.o (.data); - build/game/chrai.o (.data); - build/game/loadobjectmodel.o (.data); - build/game/objective_status.o (.data); - build/game/sin.o (.data); - build/game/unk_057FD0.o (.data); - build/game/unk_05A9E0.o (.data); - build/game/convertangleusinginverse.o (.data); - build/game/unk_05AB70.o (.data); - build/game/unk_05ACB0.o (.data); - build/game/unk_05AE00.o (.data); - build/game/unk_05B1E0.o (.data); - build/game/truncf.o (.data); - build/game/unk_05C440.o (.data); - build/game/bondwalk.o (.data); - build/game/objecthandler.o (.data); - build/game/othermodemicrocode.o (.data); - build/game/bond.o (.data); - build/game/unk_08DBB0.o (.data); - build/game/debugmenu_08FE00.o (.data); - build/game/unk_091080.o (.data); - build/game/cheat_buttons.o (.data); - build/game/unk_092890.o (.data); - build/game/unk_092E50.o (.data); - build/game/unk_093880.o (.data); - build/game/unk_09B600.o (.data); - build/game/unk_09B740.o (.data); - build/game/unk_09B7A0.o (.data); - build/game/unk_09C250.o (.data); - build/game/unk_0A1DA0.o (.data); - build/game/watch.o (.data); - build/game/textrelated.o (.data); - build/game/stan.o (.data); - build/game/unk_0B3200.o (.data); - build/game/bg.o (.data); - build/game/fog.o (.data); - build/game/lightfixture.o (.data); - build/game/unk_0BC530.o (.data); - build/game/ob.o (.data); - build/game/dyn.o (.data); - build/game/lvl.o (.data); - build/game/unk_0C0A70.o (.data); - build/game/mp_music.o (.data); - build/game/lvl_text.o (.data); - build/game/mp_watch.o (.data); - build/game/radar.o (.data); - build/game/mp_weapon.o (.data); - build/game/image.o (.data); - build/game/image_bank.o (.data); - build/game/unk_0CC4C0.o (.data); - build/game/decompress.o (.data); - build/game/zlib.o (.data); - build/game/rsp.o (.data); - build/game/indy_comms.o (.data); - build/game/indy_commands.o (.data); - build/game/game_debug.o (.data); - build/game/compiletime.o (.data); - build/game/unk_0D1AC0.o (.data); - build/game/viewport.o (.data); - build/game/music_0D2720.o (.data); - build/game/spectrum.o (.data); - build/game/initgamedata.o (.rodata); - build/game/initweaponanigroups.o (.rodata); - build/game/initactorpropstuff.o (.rodata); - build/game/initnull_0009D0.o (.rodata); - build/game/initunk_0009E0.o (.rodata); - build/game/initanitable.o (.rodata); - build/game/initunk_000B60.o (.rodata); - build/game/setguscale.o (.rodata); - build/game/initnull_000BC0.o (.rodata); - build/game/initimages.o (.rodata); - build/game/initintromatrices.o (.rodata); - build/game/initmenus.o (.rodata); - build/game/initguards.o (.rodata); - build/game/deb_loadallmodels.o (.rodata); - build/game/initobjects.o (.rodata); - build/game/prop.o (.rodata); - build/game/objective.o (.rodata); - build/game/ejectedcartridges.o (.rodata); - build/game/initBondDATA.o (.rodata); - build/game/initunk_005450.o (.rodata); - build/game/initunk_005520.o (.rodata); - build/game/initcameraandthrown.o (.rodata); - build/game/inititemslots.o (.rodata); - build/game/initBondDATAdefaults.o (.rodata); - build/game/initpathtablesomething.o (.rodata); - build/game/initpathtablelinks.o (.rodata); - build/game/initexplosioncasing.o (.rodata); - build/game/initunk_007180.o (.rodata); - build/game/initunk_007290.o (.rodata); - build/game/initunk_0072B0.o (.rodata); - build/game/initmttex.o (.rodata); - build/game/initunk_0073B0.o (.rodata); - build/game/initunk_007460.o (.rodata); - build/game/cleanup_alarms.o (.rodata); - build/game/cleanup_objects.o (.rodata); - build/game/cleanup_objectives.o (.rodata); - build/game/cleanupSFXRelated.o (.rodata); - build/game/playerstats_007770.o (.rodata); - build/game/unk_007800.o (.rodata); - build/game/unk_007920.o (.rodata); - build/game/null_007970.o (.rodata); - build/game/unk_007980.o (.rodata); - build/game/intro_logos.o (.rodata); - build/game/mainmenu.o (.rodata); - build/game/blood_animation.o (.rodata); - build/game/blood_decrypt.o (.rodata); - build/game/gamefile.o (.rodata); - build/game/chr.o (.rodata); - build/game/chrai.o (.rodata); - build/game/loadobjectmodel.o (.rodata); - build/game/objective_status.o (.rodata); - build/game/sin.o (.rodata); - build/game/unk_057FD0.o (.rodata); - build/game/unk_05A9E0.o (.rodata); - build/game/convertangleusinginverse.o (.rodata); - build/game/unk_05AB70.o (.rodata); - build/game/unk_05ACB0.o (.rodata); - build/game/unk_05AE00.o (.rodata); - build/game/unk_05B1E0.o (.rodata); - build/game/truncf.o (.rodata); - build/game/unk_05C440.o (.rodata); - build/game/bondwalk.o (.rodata); - build/game/objecthandler.o (.rodata); - build/game/othermodemicrocode.o (.rodata); - build/game/bond.o (.rodata); - build/game/unk_08DBB0.o (.rodata); - build/game/debugmenu_08FE00.o (.rodata); - build/game/unk_091080.o (.rodata); - build/game/cheat_buttons.o (.rodata); - build/game/unk_092890.o (.rodata); - build/game/unk_092E50.o (.rodata); - build/game/unk_093880.o (.rodata); - build/game/unk_09B600.o (.rodata); - build/game/unk_09B740.o (.rodata); - build/game/unk_09B7A0.o (.rodata); - build/game/unk_09C250.o (.rodata); - build/game/unk_0A1DA0.o (.rodata); - build/game/watch.o (.rodata); - build/game/textrelated.o (.rodata); - build/game/stan.o (.rodata); - build/game/unk_0B3200.o (.rodata); - build/game/bg.o (.rodata); - build/game/fog.o (.rodata); - build/game/lightfixture.o (.rodata); - build/game/unk_0BC530.o (.rodata); - build/game/ob.o (.rodata); - build/game/dyn.o (.rodata); - build/game/lvl.o (.rodata); - build/game/unk_0C0A70.o (.rodata); - build/game/mp_music.o (.rodata); - build/game/lvl_text.o (.rodata); - build/game/mp_watch.o (.rodata); - build/game/radar.o (.rodata); - build/game/mp_weapon.o (.rodata); - build/game/image.o (.rodata); - build/game/image_bank.o (.rodata); - build/game/unk_0CC4C0.o (.rodata); - build/game/decompress.o (.rodata); - build/game/zlib.o (.rodata); - build/game/rsp.o (.rodata); - build/game/indy_comms.o (.rodata); - build/game/indy_commands.o (.rodata); - build/game/game_debug.o (.rodata); - build/game/compiletime.o (.rodata); - build/game/unk_0D1AC0.o (.rodata); - build/game/viewport.o (.rodata); - build/game/music_0D2720.o (.rodata); - build/game/spectrum.o (.rodata); - build/gspboot.o (.data); - build/aspboot.o (.data); - } - __ramPos += SIZEOF(.csegment); - __csegtempPos += SIZEOF(.csegment); - .bss __ramPos : AT(__csegtempPos){ - build/boot.o (.bss); - build/init.o (.bss); - build/sched.o (.bss); - build/osMapTLB.o (.bss); - build/tlb_manage.o (.bss); - build/tlb_random.o (.bss); - build/tlb_resolve.o (.bss); - build/audi.o (.bss); - build/speed_graph.o (.bss); - build/video.o (.bss); - build/deb.o (.bss); - build/debug_getlastRA.o (.bss); - build/ramrom.o (.bss); - build/boss.o (.bss); - build/music.o (.bss); - build/snd.o (.bss); - build/memp.o (.bss); - build/mema.o (.bss); - build/random.o (.bss); - build/token.o (.bss); - build/str.o (.bss); - build/sprintf.o (.bss); - build/pi.o (.bss); - build/vi.o (.bss); - build/debugmenu.o (.bss); - build/joy.o (.bss); - build/joy_rumble.o (.bss); - build/rmon.o (.bss); - build/libultra/libultra.o (.bss); - build/game/initgamedata.o (.bss); - build/game/initweaponanigroups.o (.bss); - build/game/initactorpropstuff.o (.bss); - build/game/initnull_0009D0.o (.bss); - build/game/initunk_0009E0.o (.bss); - build/game/initanitable.o (.bss); - build/game/initunk_000B60.o (.bss); - build/game/setguscale.o (.bss); - build/game/initnull_000BC0.o (.bss); - build/game/initimages.o (.bss); - build/game/initintromatrices.o (.bss); - build/game/initmenus.o (.bss); - build/game/initguards.o (.bss); - build/game/deb_loadallmodels.o (.bss); - build/game/initobjects.o (.bss); - build/game/prop.o (.bss); - build/game/objective.o (.bss); - build/game/ejectedcartridges.o (.bss); - build/game/initBondDATA.o (.bss); - build/game/initunk_005450.o (.bss); - build/game/initunk_005520.o (.bss); - build/game/initcameraandthrown.o (.bss); - build/game/inititemslots.o (.bss); - build/game/initBondDATAdefaults.o (.bss); - build/game/initpathtablesomething.o (.bss); - build/game/initpathtablelinks.o (.bss); - build/game/initexplosioncasing.o (.bss); - build/game/initunk_007180.o (.bss); - build/game/initunk_007290.o (.bss); - build/game/initunk_0072B0.o (.bss); - build/game/initmttex.o (.bss); - build/game/initunk_0073B0.o (.bss); - build/game/initunk_007460.o (.bss); - build/game/cleanup_alarms.o (.bss); - build/game/cleanup_objects.o (.bss); - build/game/cleanup_objectives.o (.bss); - build/game/cleanupSFXRelated.o (.bss); - build/game/playerstats_007770.o (.bss); - build/game/unk_007800.o (.bss); - build/game/unk_007920.o (.bss); - build/game/null_007970.o (.bss); - build/game/unk_007980.o (.bss); - build/game/intro_logos.o (.bss); - build/game/mainmenu.o (.bss); - build/game/blood_animation.o (.bss); - build/game/blood_decrypt.o (.bss); - build/game/gamefile.o (.bss); - build/game/chr.o (.bss); - build/game/chrai.o (.bss); - build/game/loadobjectmodel.o (.bss); - build/game/objective_status.o (.bss); - build/game/sin.o (.bss); - build/game/unk_057FD0.o (.bss); - build/game/unk_05A9E0.o (.bss); - build/game/convertangleusinginverse.o (.bss); - build/game/unk_05AB70.o (.bss); - build/game/unk_05ACB0.o (.bss); - build/game/unk_05AE00.o (.bss); - build/game/unk_05B1E0.o (.bss); - build/game/truncf.o (.bss); - build/game/unk_05C440.o (.bss); - build/game/bondwalk.o (.bss); - build/game/objecthandler.o (.bss); - build/game/othermodemicrocode.o (.bss); - build/game/bond.o (.bss); - build/game/unk_08DBB0.o (.bss); - build/game/debugmenu_08FE00.o (.bss); - build/game/unk_091080.o (.bss); - build/game/cheat_buttons.o (.bss); - build/game/unk_092890.o (.bss); - build/game/unk_092E50.o (.bss); - build/game/unk_093880.o (.bss); - build/game/unk_09B600.o (.bss); - build/game/unk_09B740.o (.bss); - build/game/unk_09B7A0.o (.bss); - build/game/unk_09C250.o (.bss); - build/game/unk_0A1DA0.o (.bss); - build/game/watch.o (.bss); - build/game/textrelated.o (.bss); - build/game/stan.o (.bss); - build/game/unk_0B3200.o (.bss); - build/game/bg.o (.bss); - build/game/fog.o (.bss); - build/game/lightfixture.o (.bss); - build/game/unk_0BC530.o (.bss); - build/game/ob.o (.bss); - build/game/dyn.o (.bss); - build/game/lvl.o (.bss); - build/game/unk_0C0A70.o (.bss); - build/game/mp_music.o (.bss); - build/game/lvl_text.o (.bss); - build/game/mp_watch.o (.bss); - build/game/radar.o (.bss); - build/game/mp_weapon.o (.bss); - build/game/image.o (.bss); - build/game/image_bank.o (.bss); - build/game/unk_0CC4C0.o (.bss); - build/game/decompress.o (.bss); - build/game/zlib.o (.bss); - build/game/rsp.o (.bss); - build/game/indy_comms.o (.bss); - build/game/indy_commands.o (.bss); - build/game/game_debug.o (.bss); - build/game/compiletime.o (.bss); - build/game/unk_0D1AC0.o (.bss); - build/game/viewport.o (.bss); - build/game/music_0D2720.o (.bss); - build/game/spectrum.o (.bss); - } - __ramPos += SIZEOF(.csegment); - __csegtempPos += SIZEOF(.csegment); - - - /*move em to end, out of the way*/ - /DISCARD/ : { - * (.MIPS.abiflags); - * (.musicdecompressed); - } -} diff --git a/ge007.u.ld b/ge007.u.ld index a9e6801..81af918 100644 --- a/ge007.u.ld +++ b/ge007.u.ld @@ -71,90 +71,181 @@ SECTIONS build/u/src/vi.o (.text); build/u/src/debugmenu.o (.text); build/u/src/joy.o (.text); - build/u/src/joy_rumble.o (.text); + build/u/src/motor.o (.text); build/u/src/rmon.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/osPiRawStartDma.o (.text);*/ + build/u/src/libultra/pirawdma.o (.text); + build/u/src/libultra/pigetstat.o (.text); + build/u/src/libultra/initialize.o (.text); + build/u/src/libultra/writebackdcacheall.o (.text); + build/u/src/libultra/invalicache.o (.text); + build/u/src/libultra/unmaptlb.o (.text); + build/u/src/libultra/getfpccsr.o (.text); + build/u/src/libultra/setfpccsr.o (.text); + build/u/src/libultra/createthread.o (.text); + build/u/src/libultra/startthread.o (.text); + build/u/src/libultra/createmesgqueue.o (.text); + build/u/src/libultra/parameters.o (.text); + build/u/src/libultra/stopthread.o (.text); + build/u/src/libultra/setthreadpri.o (.text); + build/u/src/libultra/getcount.o (.text); + build/u/src/libultra/vimgr.o (.text); + build/u/src/libultra/vitbl.o (.text); /*edited*/ + build/u/src/libultra/seteventmesg.o (.text); + build/u/src/libultra/visetevent.o (.text); + build/u/src/libultra/setintmask.o (.text); + build/u/src/libultra/recvmesg.o (.text); + build/u/src/libultra/sendmesg.o (.text); + build/u/src/libultra/visetmode.o (.text); + build/u/src/libultra/visetxscale.o (.text); + build/u/src/libultra/visetyscale.o (.text); + build/u/src/libultra/virepeatline.o (.text); + build/u/src/libultra/viblack.o (.text); + build/u/src/libultra/sptaskyielded.o (.text); + build/u/src/libultra/dpctr.o (.text); + build/u/src/libultra/vigetcurrframebuf.o (.text); + build/u/src/libultra/vigetnextframebuf.o (.text); + build/u/src/libultra/viswapbuf.o (.text); + build/u/src/libultra/dpsetstat.o (.text); + build/u/src/libultra/sptask.o (.text); + build/u/src/libultra/dpsetnextbuf.o (.text); + build/u/src/libultra/sptaskyield.o (.text); + build/u/src/libultra/gettlbhi.o (.text); + build/u/src/libultra/virtualtophysical.o (.text); + build/u/src/libultra/aisetfreq.o (.text); + build/u/src/libultra/sl.o (.text); + build/u/src/libultra/heapalloc.o (.text); + build/u/src/libultra/gettime.o (.text); + build/u/src/libultra/ll.o (.text); /*edited*/ + build/u/src/libultra/aisetnextbuf.o (.text); + build/u/src/libultra/aigetlen.o (.text); + build/u/src/libultra/synthesizer.o (.text); + build/u/src/libultra/pidma.o (.text); + build/u/src/libultra/visetspecial.o (.text); + build/u/src/libultra/bcopy.o (.text); + build/u/src/libultra/perspective.o (.text); + build/u/src/libultra/mtxutil.o (.text); + build/u/src/libultra/getcurrfaultthread.o (.text); + build/u/src/libultra/exception.o (.text); /*edited*/ + build/u/src/libultra/thread.o (.text); + build/u/src/libultra/yieldthread.o (.text); + build/u/src/libultra/invaldcache.o (.text); + build/u/src/libultra/writebackdcache.o (.text); + build/u/src/libultra/settimer.o (.text); + build/u/src/libultra/heapinit.o (.text); + build/u/src/libultra/bnkf.o (.text); + build/u/src/libultra/csplayer.o (.text); + build/u/src/libultra/seqpsetbank.o (.text); + build/u/src/libultra/cspgetstate.o (.text); + build/u/src/libultra/cseq.o (.text); + build/u/src/libultra/cspsetseq.o (.text); + build/u/src/libultra/cspplay.o (.text); + build/u/src/libultra/cspstop.o (.text); + build/u/src/libultra/cspsetvol.o (.text); + build/u/src/libultra/event.o (.text); + build/u/src/libultra/synaddplayer.o (.text); + build/u/src/libultra/synallocvoice.o (.text); + build/u/src/libultra/synsetvol.o (.text); + build/u/src/libultra/synstartvoice.o (.text); + build/u/src/libultra/synsetpan.o (.text); + build/u/src/libultra/synsetpitch.o (.text); + build/u/src/libultra/synsetfxmix.o (.text); + build/u/src/libultra/synstopvoice.o (.text); + build/u/src/libultra/synfreevoice.o (.text); + build/u/src/libultra/cents2ratio.o (.text); + build/u/src/libultra/piread.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/xprintf.o (.text); + build/u/src/libultra/pimgr.o (.text); + build/u/src/libultra/pfsinit.o (.text); + build/u/src/libultra/controller.o (.text); + build/u/src/libultra/contquery.o (.text); + build/u/src/libultra/contreaddata.o (.text); + build/u/src/libultra/conteepprobe.o (.text); + build/u/src/libultra/conteepread.o (.text); + build/u/src/libultra/conteepwrite.o (.text); + build/u/src/libultra/conteeplongread.o (.text); + build/u/src/libultra/conteeplongwrite.o (.text); + build/u/src/libultra/pfsisplug.o (.text); + build/u/src/libultra/siacs.o (.text); + build/u/src/libultra/sirawdma.o (.text); + build/u/src/libultra/crc.o (.text); + build/u/src/libultra/contramwrite.o (.text); + build/u/src/libultra/contramread.o (.text); + build/u/src/libultra/align.o (.text); + build/u/src/libultra/ortho.o (.text); + build/u/src/libultra/coss.o (.text); + build/u/src/libultra/sins.o (.text); + build/u/src/libultra/translate.o (.text); + build/u/src/libultra/bcmp.o (.text); + build/u/src/libultra/scale.o (.text); + build/u/src/libultra/lookatref.o (.text); + build/u/src/libultra/lookat.o (.text); + build/u/src/libultra/rotate.o (.text); + build/u/src/libultra/llcvt.o (.text); /*edited*/ + build/u/src/libultra/setsr.o (.text); + build/u/src/libultra/getsr.o (.text); + build/u/src/libultra/sirawread.o (.text); + build/u/src/libultra/sirawwrite.o (.text); + build/u/src/libultra/pirawread.o (.text); + build/u/src/libultra/bzero.o (.text); + build/u/src/libultra/sethwinterrupt.o (.text); + build/u/src/libultra/leointerrupt.o (.text); + build/u/src/libultra/interrupt.o (.text); + build/u/src/libultra/timerintr.o (.text); + build/u/src/libultra/kdebugserver.o (.text); + build/u/src/libultra/getthreadpri.o (.text); + build/u/src/libultra/vi.o (.text); /*edited*/ + build/u/src/libultra/vigetcurrcontext.o (.text); + build/u/src/libultra/viswapcontext.o (.text); + build/u/src/libultra/spgetstat.o (.text); + build/u/src/libultra/spsetstat.o (.text); + build/u/src/libultra/spsetpc.o (.text); + build/u/src/libultra/sprawdma.o (.text); + build/u/src/libultra/sp.o (.text); + build/u/src/libultra/dp.o (.text); + build/u/src/libultra/probetlb.o (.text); + build/u/src/libultra/syndelete.o (.text); + build/u/src/libultra/ai.o (.text); + build/u/src/libultra/drvrNew.o (.text); + build/u/src/libultra/synallocfx.o (.text); + build/u/src/libultra/mainbus.o (.text); + build/u/src/libultra/load.o (.text); + build/u/src/libultra/resample.o (.text); + build/u/src/libultra/env.o (.text); /*edited*/ + build/u/src/libultra/auxbus.o (.text); + build/u/src/libultra/save.o (.text); + build/u/src/libultra/jammesg.o (.text); + build/u/src/libultra/pigetcmdq.o (.text); + build/u/src/libultra/ultra7001B830.o (.text); /*edited*/ + build/u/src/libultra/ultra7001B9A0.o (.text); /*edited*/ + build/u/src/libultra/destroythread.o (.text); + build/u/src/libultra/seqplayer.o (.text); + build/u/src/libultra/synstartvoiceparam.o (.text); + build/u/src/libultra/copy.o (.text); + build/u/src/libultra/piacs.o (.text); + build/u/src/libultra/xlitob.o (.text); + build/u/src/libultra/xldtob.o (.text); + build/u/src/libultra/epirawdma.o (.text); + build/u/src/libultra/devmgr.o (.text); + build/u/src/libultra/contpfs.o (.text); + build/u/src/libultra/si.o (.text); + build/u/src/libultra/normalize.o (.text); + build/u/src/libultra/sqrtf.o (.text); + build/u/src/libultra/leodiskinit.o (.text); + build/u/src/libultra/setcompare.o (.text); + build/u/src/libultra/filter.o (.text); + build/u/src/libultra/reverb.o (.text); /*edited*/ + build/u/src/libultra/libm_vals.o (.text); /*edited*/ + build/u/src/libultra/seq.o (.text); + build/u/src/libultra/synsetpriority.o (.text); + build/u/src/libultra/ldiv.o (.text); + build/u/src/libultra/resetglobalintmask.o (.text); + build/u/src/libultra/epirawwrite.o (.text); + build/u/src/libultra/vimodentsclan1.o (.text); + build/u/src/libultra/vimodepallan1.o (.text); + build/u/src/libultra/ultra80069080.o (.text); /*edited*/ /*build/u/src/libultra/libultra.a:libultra.o (.text);*/ } _codeSegmentEnd = ADDR(.code) + SIZEOF(.code); @@ -176,8 +267,8 @@ SECTIONS _rarezipSegmentStart = ADDR(.rarezip); _rarezipSegmentRomStart = _cdataSegmentRomEnd; .rarezip 0x70200000 : AT(_rarezipSegmentRomStart) { - build/u/src/rarezip/rarezip.o (.text); - build/u/src/rarezip/rarezip.o (.data); + build/u/src/inflate/inflate.o (.text); + build/u/src/inflate/inflate.o (.data); } _rarezipSegmentEnd = ADDR(.rarezip) + SIZEOF(.rarezip); _rarezipSegmentRomEnd = _rarezipSegmentRomStart + SIZEOF(.rarezip); @@ -248,7 +339,7 @@ SECTIONS build/u/src/game/objective_status.o (.text); build/u/src/game/objective_status2.o (.text); build/u/src/game/sin.o (.text); - build/u/src/game/unk_057FD0.o (.text); + build/u/src/game/matrixmath.o (.text); build/u/src/game/unk_05A9E0.o (.text); build/u/src/game/convertangleusinginverse.o (.text); build/u/src/game/unk_05AB70.o (.text); @@ -263,7 +354,7 @@ SECTIONS build/u/src/game/objecthandler_2.o (.text); build/u/src/game/othermodemicrocode.o (.text); build/u/src/game/bond.o (.text); - build/u/src/game/bond2.o (.text); + build/u/src/game/bondinv.o (.text); build/u/src/game/unk_08DBB0.o (.text); build/u/src/game/debugmenu_08FE00.o (.text); build/u/src/game/debugmenu_090490.o (.text); @@ -289,7 +380,7 @@ SECTIONS build/u/src/game/ob.o (.text); build/u/src/game/dyn.o (.text); build/u/src/game/lvl.o (.text); - build/u/src/game/lvl_2.o (.text); + build/u/src/game/ramromreplay.o (.text); build/u/src/game/unk_0C0A70.o (.text); build/u/src/game/mp_music.o (.text); build/u/src/game/lvl_text.o (.text); @@ -3097,90 +3188,181 @@ SECTIONS build/u/src/vi.o (.data); build/u/src/debugmenu.o (.data); build/u/src/joy.o (.data); - build/u/src/joy_rumble.o (.data); + build/u/src/motor.o (.data); build/u/src/rmon.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/osPiRawStartDma.o (.data);*/ + build/u/src/libultra/pirawdma.o (.data); + build/u/src/libultra/pigetstat.o (.data); + build/u/src/libultra/initialize.o (.data); + build/u/src/libultra/writebackdcacheall.o (.data); + build/u/src/libultra/invalicache.o (.data); + build/u/src/libultra/unmaptlb.o (.data); + build/u/src/libultra/getfpccsr.o (.data); + build/u/src/libultra/setfpccsr.o (.data); + build/u/src/libultra/createthread.o (.data); + build/u/src/libultra/startthread.o (.data); + build/u/src/libultra/createmesgqueue.o (.data); + build/u/src/libultra/parameters.o (.data); + build/u/src/libultra/stopthread.o (.data); + build/u/src/libultra/setthreadpri.o (.data); + build/u/src/libultra/getcount.o (.data); + build/u/src/libultra/vimgr.o (.data); + build/u/src/libultra/vitbl.o (.data); /*edited*/ + build/u/src/libultra/seteventmesg.o (.data); + build/u/src/libultra/visetevent.o (.data); + build/u/src/libultra/setintmask.o (.data); + build/u/src/libultra/recvmesg.o (.data); + build/u/src/libultra/sendmesg.o (.data); + build/u/src/libultra/visetmode.o (.data); + build/u/src/libultra/visetxscale.o (.data); + build/u/src/libultra/visetyscale.o (.data); + build/u/src/libultra/virepeatline.o (.data); + build/u/src/libultra/viblack.o (.data); + build/u/src/libultra/sptaskyielded.o (.data); + build/u/src/libultra/dpctr.o (.data); + build/u/src/libultra/vigetcurrframebuf.o (.data); + build/u/src/libultra/vigetnextframebuf.o (.data); + build/u/src/libultra/viswapbuf.o (.data); + build/u/src/libultra/dpsetstat.o (.data); + build/u/src/libultra/sptask.o (.data); + build/u/src/libultra/dpsetnextbuf.o (.data); + build/u/src/libultra/sptaskyield.o (.data); + build/u/src/libultra/gettlbhi.o (.data); + build/u/src/libultra/virtualtophysical.o (.data); + build/u/src/libultra/aisetfreq.o (.data); + build/u/src/libultra/sl.o (.data); + build/u/src/libultra/heapalloc.o (.data); + build/u/src/libultra/gettime.o (.data); + build/u/src/libultra/ll.o (.data); /*edited*/ + build/u/src/libultra/aisetnextbuf.o (.data); + build/u/src/libultra/aigetlen.o (.data); + build/u/src/libultra/synthesizer.o (.data); + build/u/src/libultra/pidma.o (.data); + build/u/src/libultra/visetspecial.o (.data); + build/u/src/libultra/bcopy.o (.data); + build/u/src/libultra/perspective.o (.data); + build/u/src/libultra/mtxutil.o (.data); + build/u/src/libultra/getcurrfaultthread.o (.data); + build/u/src/libultra/exception.o (.data); /*edited*/ + build/u/src/libultra/thread.o (.data); + build/u/src/libultra/yieldthread.o (.data); + build/u/src/libultra/invaldcache.o (.data); + build/u/src/libultra/writebackdcache.o (.data); + build/u/src/libultra/settimer.o (.data); + build/u/src/libultra/heapinit.o (.data); + build/u/src/libultra/bnkf.o (.data); + build/u/src/libultra/csplayer.o (.data); + build/u/src/libultra/seqpsetbank.o (.data); + build/u/src/libultra/cspgetstate.o (.data); + build/u/src/libultra/cseq.o (.data); + build/u/src/libultra/cspsetseq.o (.data); + build/u/src/libultra/cspplay.o (.data); + build/u/src/libultra/cspstop.o (.data); + build/u/src/libultra/cspsetvol.o (.data); + build/u/src/libultra/event.o (.data); + build/u/src/libultra/synaddplayer.o (.data); + build/u/src/libultra/synallocvoice.o (.data); + build/u/src/libultra/synsetvol.o (.data); + build/u/src/libultra/synstartvoice.o (.data); + build/u/src/libultra/synsetpan.o (.data); + build/u/src/libultra/synsetpitch.o (.data); + build/u/src/libultra/synsetfxmix.o (.data); + build/u/src/libultra/synstopvoice.o (.data); + build/u/src/libultra/synfreevoice.o (.data); + build/u/src/libultra/cents2ratio.o (.data); + build/u/src/libultra/piread.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/xprintf.o (.data); + build/u/src/libultra/pimgr.o (.data); + build/u/src/libultra/pfsinit.o (.data); + build/u/src/libultra/controller.o (.data); + build/u/src/libultra/contquery.o (.data); + build/u/src/libultra/contreaddata.o (.data); + build/u/src/libultra/conteepprobe.o (.data); + build/u/src/libultra/conteepread.o (.data); + build/u/src/libultra/conteepwrite.o (.data); + build/u/src/libultra/conteeplongread.o (.data); + build/u/src/libultra/conteeplongwrite.o (.data); + build/u/src/libultra/pfsisplug.o (.data); + build/u/src/libultra/siacs.o (.data); + build/u/src/libultra/sirawdma.o (.data); + build/u/src/libultra/crc.o (.data); + build/u/src/libultra/contramwrite.o (.data); + build/u/src/libultra/contramread.o (.data); + build/u/src/libultra/align.o (.data); + build/u/src/libultra/ortho.o (.data); + build/u/src/libultra/coss.o (.data); + build/u/src/libultra/sins.o (.data); + build/u/src/libultra/translate.o (.data); + build/u/src/libultra/bcmp.o (.data); + build/u/src/libultra/scale.o (.data); + build/u/src/libultra/lookatref.o (.data); + build/u/src/libultra/lookat.o (.data); + build/u/src/libultra/rotate.o (.data); + build/u/src/libultra/llcvt.o (.data); /*edited*/ + build/u/src/libultra/setsr.o (.data); + build/u/src/libultra/getsr.o (.data); + build/u/src/libultra/sirawread.o (.data); + build/u/src/libultra/sirawwrite.o (.data); + build/u/src/libultra/pirawread.o (.data); + build/u/src/libultra/bzero.o (.data); + build/u/src/libultra/sethwinterrupt.o (.data); + build/u/src/libultra/leointerrupt.o (.data); + build/u/src/libultra/interrupt.o (.data); + build/u/src/libultra/timerintr.o (.data); + build/u/src/libultra/kdebugserver.o (.data); + build/u/src/libultra/getthreadpri.o (.data); + build/u/src/libultra/vi.o (.data); /*edited*/ + build/u/src/libultra/vigetcurrcontext.o (.data); + build/u/src/libultra/viswapcontext.o (.data); + build/u/src/libultra/spgetstat.o (.data); + build/u/src/libultra/spsetstat.o (.data); + build/u/src/libultra/spsetpc.o (.data); + build/u/src/libultra/sprawdma.o (.data); + build/u/src/libultra/sp.o (.data); + build/u/src/libultra/dp.o (.data); + build/u/src/libultra/probetlb.o (.data); + build/u/src/libultra/syndelete.o (.data); + build/u/src/libultra/ai.o (.data); + build/u/src/libultra/drvrNew.o (.data); + build/u/src/libultra/synallocfx.o (.data); + build/u/src/libultra/mainbus.o (.data); + build/u/src/libultra/load.o (.data); + build/u/src/libultra/resample.o (.data); + build/u/src/libultra/env.o (.data); /*edited*/ + build/u/src/libultra/auxbus.o (.data); + build/u/src/libultra/save.o (.data); + build/u/src/libultra/jammesg.o (.data); + build/u/src/libultra/pigetcmdq.o (.data); + build/u/src/libultra/ultra7001B830.o (.data); /*edited*/ + build/u/src/libultra/ultra7001B9A0.o (.data); /*edited*/ + build/u/src/libultra/destroythread.o (.data); + build/u/src/libultra/seqplayer.o (.data); + build/u/src/libultra/synstartvoiceparam.o (.data); + build/u/src/libultra/copy.o (.data); + build/u/src/libultra/piacs.o (.data); + build/u/src/libultra/xlitob.o (.data); + build/u/src/libultra/xldtob.o (.data); + build/u/src/libultra/epirawdma.o (.data); + build/u/src/libultra/devmgr.o (.data); + build/u/src/libultra/contpfs.o (.data); + build/u/src/libultra/si.o (.data); + build/u/src/libultra/normalize.o (.data); + build/u/src/libultra/sqrtf.o (.data); + build/u/src/libultra/leodiskinit.o (.data); + build/u/src/libultra/setcompare.o (.data); + build/u/src/libultra/filter.o (.data); + build/u/src/libultra/reverb.o (.data); /*edited*/ + build/u/src/libultra/libm_vals.o (.data); /*edited*/ + build/u/src/libultra/seq.o (.data); + build/u/src/libultra/synsetpriority.o (.data); + build/u/src/libultra/ldiv.o (.data); + build/u/src/libultra/resetglobalintmask.o (.data); + build/u/src/libultra/epirawwrite.o (.data); + build/u/src/libultra/vimodentsclan1.o (.data); + build/u/src/libultra/vimodepallan1.o (.data); + build/u/src/libultra/ultra80069080.o (.data); /*edited*/ /*build/u/src/libultra/libultra.a:libultra.o (.data);*/ build/u/src/aspboot.o (.rodata); @@ -3213,90 +3395,181 @@ SECTIONS build/u/src/vi.o (.rodata); build/u/src/debugmenu.o (.rodata); build/u/src/joy.o (.rodata); - build/u/src/joy_rumble.o (.rodata); + build/u/src/motor.o (.rodata); build/u/src/rmon.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/osPiRawStartDma.o (.rodata);*/ + build/u/src/libultra/pirawdma.o (.rodata); + build/u/src/libultra/pigetstat.o (.rodata); + build/u/src/libultra/initialize.o (.rodata); + build/u/src/libultra/writebackdcacheall.o (.rodata); + build/u/src/libultra/invalicache.o (.rodata); + build/u/src/libultra/unmaptlb.o (.rodata); + build/u/src/libultra/getfpccsr.o (.rodata); + build/u/src/libultra/setfpccsr.o (.rodata); + build/u/src/libultra/createthread.o (.rodata); + build/u/src/libultra/startthread.o (.rodata); + build/u/src/libultra/createmesgqueue.o (.rodata); + build/u/src/libultra/parameters.o (.rodata); + build/u/src/libultra/stopthread.o (.rodata); + build/u/src/libultra/setthreadpri.o (.rodata); + build/u/src/libultra/getcount.o (.rodata); + build/u/src/libultra/vimgr.o (.rodata); + build/u/src/libultra/vitbl.o (.rodata); /*edited*/ + build/u/src/libultra/seteventmesg.o (.rodata); + build/u/src/libultra/visetevent.o (.rodata); + build/u/src/libultra/setintmask.o (.rodata); + build/u/src/libultra/recvmesg.o (.rodata); + build/u/src/libultra/sendmesg.o (.rodata); + build/u/src/libultra/visetmode.o (.rodata); + build/u/src/libultra/visetxscale.o (.rodata); + build/u/src/libultra/visetyscale.o (.rodata); + build/u/src/libultra/virepeatline.o (.rodata); + build/u/src/libultra/viblack.o (.rodata); + build/u/src/libultra/sptaskyielded.o (.rodata); + build/u/src/libultra/dpctr.o (.rodata); + build/u/src/libultra/vigetcurrframebuf.o (.rodata); + build/u/src/libultra/vigetnextframebuf.o (.rodata); + build/u/src/libultra/viswapbuf.o (.rodata); + build/u/src/libultra/dpsetstat.o (.rodata); + build/u/src/libultra/sptask.o (.rodata); + build/u/src/libultra/dpsetnextbuf.o (.rodata); + build/u/src/libultra/sptaskyield.o (.rodata); + build/u/src/libultra/gettlbhi.o (.rodata); + build/u/src/libultra/virtualtophysical.o (.rodata); + build/u/src/libultra/aisetfreq.o (.rodata); + build/u/src/libultra/sl.o (.rodata); + build/u/src/libultra/heapalloc.o (.rodata); + build/u/src/libultra/gettime.o (.rodata); + build/u/src/libultra/ll.o (.rodata); /*edited*/ + build/u/src/libultra/aisetnextbuf.o (.rodata); + build/u/src/libultra/aigetlen.o (.rodata); + build/u/src/libultra/synthesizer.o (.rodata); + build/u/src/libultra/pidma.o (.rodata); + build/u/src/libultra/visetspecial.o (.rodata); + build/u/src/libultra/bcopy.o (.rodata); + build/u/src/libultra/perspective.o (.rodata); + build/u/src/libultra/mtxutil.o (.rodata); + build/u/src/libultra/getcurrfaultthread.o (.rodata); + build/u/src/libultra/exception.o (.rodata); /*edited*/ + build/u/src/libultra/thread.o (.rodata); + build/u/src/libultra/yieldthread.o (.rodata); + build/u/src/libultra/invaldcache.o (.rodata); + build/u/src/libultra/writebackdcache.o (.rodata); + build/u/src/libultra/settimer.o (.rodata); + build/u/src/libultra/heapinit.o (.rodata); + build/u/src/libultra/bnkf.o (.rodata); + build/u/src/libultra/csplayer.o (.rodata); + build/u/src/libultra/seqpsetbank.o (.rodata); + build/u/src/libultra/cspgetstate.o (.rodata); + build/u/src/libultra/cseq.o (.rodata); + build/u/src/libultra/cspsetseq.o (.rodata); + build/u/src/libultra/cspplay.o (.rodata); + build/u/src/libultra/cspstop.o (.rodata); + build/u/src/libultra/cspsetvol.o (.rodata); + build/u/src/libultra/event.o (.rodata); + build/u/src/libultra/synaddplayer.o (.rodata); + build/u/src/libultra/synallocvoice.o (.rodata); + build/u/src/libultra/synsetvol.o (.rodata); + build/u/src/libultra/synstartvoice.o (.rodata); + build/u/src/libultra/synsetpan.o (.rodata); + build/u/src/libultra/synsetpitch.o (.rodata); + build/u/src/libultra/synsetfxmix.o (.rodata); + build/u/src/libultra/synstopvoice.o (.rodata); + build/u/src/libultra/synfreevoice.o (.rodata); + build/u/src/libultra/cents2ratio.o (.rodata); + build/u/src/libultra/piread.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/xprintf.o (.rodata); + build/u/src/libultra/pimgr.o (.rodata); + build/u/src/libultra/pfsinit.o (.rodata); + build/u/src/libultra/controller.o (.rodata); + build/u/src/libultra/contquery.o (.rodata); + build/u/src/libultra/contreaddata.o (.rodata); + build/u/src/libultra/conteepprobe.o (.rodata); + build/u/src/libultra/conteepread.o (.rodata); + build/u/src/libultra/conteepwrite.o (.rodata); + build/u/src/libultra/conteeplongread.o (.rodata); + build/u/src/libultra/conteeplongwrite.o (.rodata); + build/u/src/libultra/pfsisplug.o (.rodata); + build/u/src/libultra/siacs.o (.rodata); + build/u/src/libultra/sirawdma.o (.rodata); + build/u/src/libultra/crc.o (.rodata); + build/u/src/libultra/contramwrite.o (.rodata); + build/u/src/libultra/contramread.o (.rodata); + build/u/src/libultra/align.o (.rodata); + build/u/src/libultra/ortho.o (.rodata); + build/u/src/libultra/coss.o (.rodata); + build/u/src/libultra/sins.o (.rodata); + build/u/src/libultra/translate.o (.rodata); + build/u/src/libultra/bcmp.o (.rodata); + build/u/src/libultra/scale.o (.rodata); + build/u/src/libultra/lookatref.o (.rodata); + build/u/src/libultra/lookat.o (.rodata); + build/u/src/libultra/rotate.o (.rodata); + build/u/src/libultra/llcvt.o (.rodata); /*edited*/ + build/u/src/libultra/setsr.o (.rodata); + build/u/src/libultra/getsr.o (.rodata); + build/u/src/libultra/sirawread.o (.rodata); + build/u/src/libultra/sirawwrite.o (.rodata); + build/u/src/libultra/pirawread.o (.rodata); + build/u/src/libultra/bzero.o (.rodata); + build/u/src/libultra/sethwinterrupt.o (.rodata); + build/u/src/libultra/leointerrupt.o (.rodata); + build/u/src/libultra/interrupt.o (.rodata); + build/u/src/libultra/timerintr.o (.rodata); + build/u/src/libultra/kdebugserver.o (.rodata); + build/u/src/libultra/getthreadpri.o (.rodata); + build/u/src/libultra/vi.o (.rodata); /*edited*/ + build/u/src/libultra/vigetcurrcontext.o (.rodata); + build/u/src/libultra/viswapcontext.o (.rodata); + build/u/src/libultra/spgetstat.o (.rodata); + build/u/src/libultra/spsetstat.o (.rodata); + build/u/src/libultra/spsetpc.o (.rodata); + build/u/src/libultra/sprawdma.o (.rodata); + build/u/src/libultra/sp.o (.rodata); + build/u/src/libultra/dp.o (.rodata); + build/u/src/libultra/probetlb.o (.rodata); + build/u/src/libultra/syndelete.o (.rodata); + build/u/src/libultra/ai.o (.rodata); + build/u/src/libultra/drvrNew.o (.rodata); + build/u/src/libultra/synallocfx.o (.rodata); + build/u/src/libultra/mainbus.o (.rodata); + build/u/src/libultra/load.o (.rodata); + build/u/src/libultra/resample.o (.rodata); + build/u/src/libultra/env.o (.rodata); /*edited*/ + build/u/src/libultra/auxbus.o (.rodata); + build/u/src/libultra/save.o (.rodata); + build/u/src/libultra/jammesg.o (.rodata); + build/u/src/libultra/pigetcmdq.o (.rodata); + build/u/src/libultra/ultra7001B830.o (.rodata); /*edited*/ + build/u/src/libultra/ultra7001B9A0.o (.rodata); /*edited*/ + build/u/src/libultra/destroythread.o (.rodata); + build/u/src/libultra/seqplayer.o (.rodata); + build/u/src/libultra/synstartvoiceparam.o (.rodata); + build/u/src/libultra/copy.o (.rodata); + build/u/src/libultra/piacs.o (.rodata); + build/u/src/libultra/xlitob.o (.rodata); + build/u/src/libultra/xldtob.o (.rodata); + build/u/src/libultra/epirawdma.o (.rodata); + build/u/src/libultra/devmgr.o (.rodata); + build/u/src/libultra/contpfs.o (.rodata); + build/u/src/libultra/si.o (.rodata); + build/u/src/libultra/normalize.o (.rodata); + build/u/src/libultra/sqrtf.o (.rodata); + build/u/src/libultra/leodiskinit.o (.rodata); + build/u/src/libultra/setcompare.o (.rodata); + build/u/src/libultra/filter.o (.rodata); + build/u/src/libultra/reverb.o (.rodata); /*edited*/ + build/u/src/libultra/libm_vals.o (.rodata); /*edited*/ + build/u/src/libultra/seq.o (.rodata); + build/u/src/libultra/synsetpriority.o (.rodata); + build/u/src/libultra/ldiv.o (.rodata); + build/u/src/libultra/resetglobalintmask.o (.rodata); + build/u/src/libultra/epirawwrite.o (.rodata); + build/u/src/libultra/vimodentsclan1.o (.rodata); + build/u/src/libultra/vimodepallan1.o (.rodata); + build/u/src/libultra/ultra80069080.o (.rodata); /*edited*/ /*build/u/src/libultra/libultra.a:libultra.o (.rodata);*/ build/u/src/game/initgamedata.o (.data); @@ -3358,7 +3631,7 @@ SECTIONS build/u/src/game/objective_status.o (.data); build/u/src/game/objective_status2.o (.data); build/u/src/game/sin.o (.data); - build/u/src/game/unk_057FD0.o (.data); + build/u/src/game/matrixmath.o (.data); build/u/src/game/unk_05A9E0.o (.data); build/u/src/game/convertangleusinginverse.o (.data); build/u/src/game/unk_05AB70.o (.data); @@ -3373,7 +3646,7 @@ SECTIONS build/u/src/game/objecthandler_2.o (.data); build/u/src/game/othermodemicrocode.o (.data); build/u/src/game/bond.o (.data); - build/u/src/game/bond2.o (.data); + build/u/src/game/bondinv.o (.data); build/u/src/game/unk_08DBB0.o (.data); build/u/src/game/debugmenu_08FE00.o (.data); build/u/src/game/debugmenu_090490.o (.data); @@ -3399,7 +3672,7 @@ SECTIONS build/u/src/game/ob.o (.data); build/u/src/game/dyn.o (.data); build/u/src/game/lvl.o (.data); - build/u/src/game/lvl_2.o (.data); + build/u/src/game/ramromreplay.o (.data); build/u/src/game/unk_0C0A70.o (.data); build/u/src/game/mp_music.o (.data); build/u/src/game/lvl_text.o (.data); @@ -3480,7 +3753,7 @@ SECTIONS build/u/src/game/objective_status.o (.rodata); build/u/src/game/objective_status2.o (.rodata); build/u/src/game/sin.o (.rodata); - build/u/src/game/unk_057FD0.o (.rodata); + build/u/src/game/matrixmath.o (.rodata); build/u/src/game/unk_05A9E0.o (.rodata); build/u/src/game/convertangleusinginverse.o (.rodata); build/u/src/game/unk_05AB70.o (.rodata); @@ -3495,7 +3768,7 @@ SECTIONS build/u/src/game/objecthandler_2.o (.rodata); build/u/src/game/othermodemicrocode.o (.rodata); build/u/src/game/bond.o (.rodata); - build/u/src/game/bond2.o (.rodata); + build/u/src/game/bondinv.o (.rodata); build/u/src/game/unk_08DBB0.o (.rodata); build/u/src/game/debugmenu_08FE00.o (.rodata); build/u/src/game/debugmenu_090490.o (.rodata); @@ -3521,7 +3794,7 @@ SECTIONS build/u/src/game/ob.o (.rodata); build/u/src/game/dyn.o (.rodata); build/u/src/game/lvl.o (.rodata); - build/u/src/game/lvl_2.o (.rodata); + build/u/src/game/ramromreplay.o (.rodata); build/u/src/game/unk_0C0A70.o (.rodata); build/u/src/game/mp_music.o (.rodata); build/u/src/game/lvl_text.o (.rodata); @@ -3582,90 +3855,181 @@ SECTIONS build/u/src/vi.o (.bss); build/u/src/debugmenu.o (.bss); build/u/src/joy.o (.bss); - build/u/src/joy_rumble.o (.bss); + build/u/src/motor.o (.bss); build/u/src/rmon.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/osPiRawStartDma.o (.bss);*/ + build/u/src/libultra/pirawdma.o (.bss); + build/u/src/libultra/pigetstat.o (.bss); + build/u/src/libultra/initialize.o (.bss); + build/u/src/libultra/writebackdcacheall.o (.bss); + build/u/src/libultra/invalicache.o (.bss); + build/u/src/libultra/unmaptlb.o (.bss); + build/u/src/libultra/getfpccsr.o (.bss); + build/u/src/libultra/setfpccsr.o (.bss); + build/u/src/libultra/createthread.o (.bss); + build/u/src/libultra/startthread.o (.bss); + build/u/src/libultra/createmesgqueue.o (.bss); + build/u/src/libultra/parameters.o (.bss); + build/u/src/libultra/stopthread.o (.bss); + build/u/src/libultra/setthreadpri.o (.bss); + build/u/src/libultra/getcount.o (.bss); + build/u/src/libultra/vimgr.o (.bss); + build/u/src/libultra/vitbl.o (.bss); /*edited*/ + build/u/src/libultra/seteventmesg.o (.bss); + build/u/src/libultra/visetevent.o (.bss); + build/u/src/libultra/setintmask.o (.bss); + build/u/src/libultra/recvmesg.o (.bss); + build/u/src/libultra/sendmesg.o (.bss); + build/u/src/libultra/visetmode.o (.bss); + build/u/src/libultra/visetxscale.o (.bss); + build/u/src/libultra/visetyscale.o (.bss); + build/u/src/libultra/virepeatline.o (.bss); + build/u/src/libultra/viblack.o (.bss); + build/u/src/libultra/sptaskyielded.o (.bss); + build/u/src/libultra/dpctr.o (.bss); + build/u/src/libultra/vigetcurrframebuf.o (.bss); + build/u/src/libultra/vigetnextframebuf.o (.bss); + build/u/src/libultra/viswapbuf.o (.bss); + build/u/src/libultra/dpsetstat.o (.bss); + build/u/src/libultra/sptask.o (.bss); + build/u/src/libultra/dpsetnextbuf.o (.bss); + build/u/src/libultra/sptaskyield.o (.bss); + build/u/src/libultra/gettlbhi.o (.bss); + build/u/src/libultra/virtualtophysical.o (.bss); + build/u/src/libultra/aisetfreq.o (.bss); + build/u/src/libultra/sl.o (.bss); + build/u/src/libultra/heapalloc.o (.bss); + build/u/src/libultra/gettime.o (.bss); + build/u/src/libultra/ll.o (.bss); /*edited*/ + build/u/src/libultra/aisetnextbuf.o (.bss); + build/u/src/libultra/aigetlen.o (.bss); + build/u/src/libultra/synthesizer.o (.bss); + build/u/src/libultra/pidma.o (.bss); + build/u/src/libultra/visetspecial.o (.bss); + build/u/src/libultra/bcopy.o (.bss); + build/u/src/libultra/perspective.o (.bss); + build/u/src/libultra/mtxutil.o (.bss); + build/u/src/libultra/getcurrfaultthread.o (.bss); + build/u/src/libultra/exception.o (.bss); /*edited*/ + build/u/src/libultra/thread.o (.bss); + build/u/src/libultra/yieldthread.o (.bss); + build/u/src/libultra/invaldcache.o (.bss); + build/u/src/libultra/writebackdcache.o (.bss); + build/u/src/libultra/settimer.o (.bss); + build/u/src/libultra/heapinit.o (.bss); + build/u/src/libultra/bnkf.o (.bss); + build/u/src/libultra/csplayer.o (.bss); + build/u/src/libultra/seqpsetbank.o (.bss); + build/u/src/libultra/cspgetstate.o (.bss); + build/u/src/libultra/cseq.o (.bss); + build/u/src/libultra/cspsetseq.o (.bss); + build/u/src/libultra/cspplay.o (.bss); + build/u/src/libultra/cspstop.o (.bss); + build/u/src/libultra/cspsetvol.o (.bss); + build/u/src/libultra/event.o (.bss); + build/u/src/libultra/synaddplayer.o (.bss); + build/u/src/libultra/synallocvoice.o (.bss); + build/u/src/libultra/synsetvol.o (.bss); + build/u/src/libultra/synstartvoice.o (.bss); + build/u/src/libultra/synsetpan.o (.bss); + build/u/src/libultra/synsetpitch.o (.bss); + build/u/src/libultra/synsetfxmix.o (.bss); + build/u/src/libultra/synstopvoice.o (.bss); + build/u/src/libultra/synfreevoice.o (.bss); + build/u/src/libultra/cents2ratio.o (.bss); + build/u/src/libultra/piread.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/xprintf.o (.bss); + build/u/src/libultra/pimgr.o (.bss); + build/u/src/libultra/pfsinit.o (.bss); + build/u/src/libultra/controller.o (.bss); + build/u/src/libultra/contquery.o (.bss); + build/u/src/libultra/contreaddata.o (.bss); + build/u/src/libultra/conteepprobe.o (.bss); + build/u/src/libultra/conteepread.o (.bss); + build/u/src/libultra/conteepwrite.o (.bss); + build/u/src/libultra/conteeplongread.o (.bss); + build/u/src/libultra/conteeplongwrite.o (.bss); + build/u/src/libultra/pfsisplug.o (.bss); + build/u/src/libultra/siacs.o (.bss); + build/u/src/libultra/sirawdma.o (.bss); + build/u/src/libultra/crc.o (.bss); + build/u/src/libultra/contramwrite.o (.bss); + build/u/src/libultra/contramread.o (.bss); + build/u/src/libultra/align.o (.bss); + build/u/src/libultra/ortho.o (.bss); + build/u/src/libultra/coss.o (.bss); + build/u/src/libultra/sins.o (.bss); + build/u/src/libultra/translate.o (.bss); + build/u/src/libultra/bcmp.o (.bss); + build/u/src/libultra/scale.o (.bss); + build/u/src/libultra/lookatref.o (.bss); + build/u/src/libultra/lookat.o (.bss); + build/u/src/libultra/rotate.o (.bss); + build/u/src/libultra/llcvt.o (.bss); /*edited*/ + build/u/src/libultra/setsr.o (.bss); + build/u/src/libultra/getsr.o (.bss); + build/u/src/libultra/sirawread.o (.bss); + build/u/src/libultra/sirawwrite.o (.bss); + build/u/src/libultra/pirawread.o (.bss); + build/u/src/libultra/bzero.o (.bss); + build/u/src/libultra/sethwinterrupt.o (.bss); + build/u/src/libultra/leointerrupt.o (.bss); + build/u/src/libultra/interrupt.o (.bss); + build/u/src/libultra/timerintr.o (.bss); + build/u/src/libultra/kdebugserver.o (.bss); + build/u/src/libultra/getthreadpri.o (.bss); + build/u/src/libultra/vi.o (.bss); /*edited*/ + build/u/src/libultra/vigetcurrcontext.o (.bss); + build/u/src/libultra/viswapcontext.o (.bss); + build/u/src/libultra/spgetstat.o (.bss); + build/u/src/libultra/spsetstat.o (.bss); + build/u/src/libultra/spsetpc.o (.bss); + build/u/src/libultra/sprawdma.o (.bss); + build/u/src/libultra/sp.o (.bss); + build/u/src/libultra/dp.o (.bss); + build/u/src/libultra/probetlb.o (.bss); + build/u/src/libultra/syndelete.o (.bss); + build/u/src/libultra/ai.o (.bss); + build/u/src/libultra/drvrNew.o (.bss); + build/u/src/libultra/synallocfx.o (.bss); + build/u/src/libultra/mainbus.o (.bss); + build/u/src/libultra/load.o (.bss); + build/u/src/libultra/resample.o (.bss); + build/u/src/libultra/env.o (.bss); /*edited*/ + build/u/src/libultra/auxbus.o (.bss); + build/u/src/libultra/save.o (.bss); + build/u/src/libultra/jammesg.o (.bss); + build/u/src/libultra/pigetcmdq.o (.bss); + build/u/src/libultra/ultra7001B830.o (.bss); /*edited*/ + build/u/src/libultra/ultra7001B9A0.o (.bss); /*edited*/ + build/u/src/libultra/destroythread.o (.bss); + build/u/src/libultra/seqplayer.o (.bss); + build/u/src/libultra/synstartvoiceparam.o (.bss); + build/u/src/libultra/copy.o (.bss); + build/u/src/libultra/piacs.o (.bss); + build/u/src/libultra/xlitob.o (.bss); + build/u/src/libultra/xldtob.o (.bss); + build/u/src/libultra/epirawdma.o (.bss); + build/u/src/libultra/devmgr.o (.bss); + build/u/src/libultra/contpfs.o (.bss); + build/u/src/libultra/si.o (.bss); + build/u/src/libultra/normalize.o (.bss); + build/u/src/libultra/sqrtf.o (.bss); + build/u/src/libultra/leodiskinit.o (.bss); + build/u/src/libultra/setcompare.o (.bss); + build/u/src/libultra/filter.o (.bss); + build/u/src/libultra/reverb.o (.bss); /*edited*/ + build/u/src/libultra/libm_vals.o (.bss); /*edited*/ + build/u/src/libultra/seq.o (.bss); + build/u/src/libultra/synsetpriority.o (.bss); + build/u/src/libultra/ldiv.o (.bss); + build/u/src/libultra/resetglobalintmask.o (.bss); + build/u/src/libultra/epirawwrite.o (.bss); + build/u/src/libultra/vimodentsclan1.o (.bss); + build/u/src/libultra/vimodepallan1.o (.bss); + build/u/src/libultra/ultra80069080.o (.bss); /*edited*/ /*build/u/src/libultra/libultra.a:libultra.o (.bss);*/ build/u/src/game/initgamedata.o (.bss); @@ -3727,7 +4091,7 @@ SECTIONS build/u/src/game/objective_status.o (.bss); build/u/src/game/objective_status2.o (.bss); build/u/src/game/sin.o (.bss); - build/u/src/game/unk_057FD0.o (.bss); + build/u/src/game/matrixmath.o (.bss); build/u/src/game/unk_05A9E0.o (.bss); build/u/src/game/convertangleusinginverse.o (.bss); build/u/src/game/unk_05AB70.o (.bss); @@ -3742,7 +4106,7 @@ SECTIONS build/u/src/game/objecthandler_2.o (.bss); build/u/src/game/othermodemicrocode.o (.bss); build/u/src/game/bond.o (.bss); - build/u/src/game/bond2.o (.bss); + build/u/src/game/bondinv.o (.bss); build/u/src/game/unk_08DBB0.o (.bss); build/u/src/game/debugmenu_08FE00.o (.bss); build/u/src/game/debugmenu_090490.o (.bss); @@ -3768,7 +4132,7 @@ SECTIONS build/u/src/game/ob.o (.bss); build/u/src/game/dyn.o (.bss); build/u/src/game/lvl.o (.bss); - build/u/src/game/lvl_2.o (.bss); + build/u/src/game/ramromreplay.o (.bss); build/u/src/game/unk_0C0A70.o (.bss); build/u/src/game/mp_music.o (.bss); build/u/src/game/lvl_text.o (.bss); @@ -3802,8 +4166,17 @@ SECTIONS _roombufSegmentEnd = ADDR(.roombuf) + SIZEOF(.roombuf); _roombufSegmentRomEnd = _roombufSegmentRomStart + SIZEOF(.roombuf); + _tlbbufSegmentStart = ADDR(.tlbbuf); + _tlbbufSegmentRomStart = _roombufSegmentRomEnd; + .tlbbuf _roombufSegmentEnd : AT(_tlbbufSegmentRomStart){ + build/u/src/tlb_buffer.o (.bss); + } + _tlbbufSegmentEnd = ADDR(.tlbbuf) + SIZEOF(.tlbbuf); + _tlbbufSegmentRomEnd = _tlbbufSegmentRomStart + SIZEOF(.tlbbuf); + + _decompbufSegmentStart = ADDR(.decompbuf); - _decompbufSegmentRomStart = _roombufSegmentRomEnd; + _decompbufSegmentRomStart = _tlbbufSegmentRomEnd; .decompbuf 0x80300000 : AT(_decompbufSegmentRomStart){ build/u/src/decompressbuffer.o (.bss); } diff --git a/ge007_libultra/Makefile b/ge007_libultra/Makefile deleted file mode 100644 index 5b3b6b9..0000000 --- a/ge007_libultra/Makefile +++ /dev/null @@ -1,137 +0,0 @@ -### Default target ### - -default: all - -### Build Options ### -# Version of the game to build -VERSION ?= sgi -# If COMPARE is 1, check the output sha1sum when building 'all' -COMPARE ?= 1 -FINAL ?= YES - -ifeq ($(VERSION),gcc) - VERSION_CFLAGS := -DVERSION_GCC=1 - VERSION_ASFLAGS := --defsym VERSION_GCC=1 - TARGET := libgultra -else - VERSION_CFLAGS := -DVERSION_SGI=1 - VERSION_ASFLAGS := --defsym VERSION_SGI=1 - TARGET := libultra -endif - -ifeq ($(FINAL),YES) - FINAL_CFLAGS := -DFINAL=1 - FINAL_ASFLAGS := --defsym FINAL=1 - TARGET_TYPE := _rom -else - FINAL_CFLAGS := -DDEBUG=1 - FINAL_ASFLAGS := --defsym DEBUG=1 - TARGET_TYPE := -endif - -################ Target Executable and Sources ############### - -# BUILD_DIR is location where all build artifacts are placed -BUILD_DIR_BASE := ../build/libultra -BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION) - - -LIBULTRA := ../lib/$(TARGET)$(TARGET_TYPE).a - - -# Directories containing source files -ULTRA_SRC_DIRS := lib/src lib/src/math -ULTRA_ASM_DIRS := lib/asm - -MIPSISET := -mips2 -32 -OPT_FLAGS := -O2 - - -# Source code files -ULTRA_C_FILES := $(foreach dir,$(ULTRA_SRC_DIRS),$(wildcard $(dir)/*.c)) -ULTRA_S_FILES := $(foreach dir,$(ULTRA_ASM_DIRS),$(wildcard $(dir)/*.s)) - - -# Object files -ULTRA_O_FILES := $(foreach file,$(ULTRA_S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \ - $(foreach file,$(ULTRA_C_FILES),$(BUILD_DIR)/$(file:.c=.o)) - -IRIX_ROOT := ../tools/irix/root -QEMU_IRIX := ../tools/irix/qemu-irix -CROSS := mips-linux-gnu- -AS := $(CROSS)as -CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc -CPP := cpp -P -LD := $(CROSS)ld -AR := $(CROSS)ar -OBJDUMP := $(CROSS)objdump -OBJCOPY := $(CROSS)objcopy - - -ASFLAGS := -march=vr4300 -mabi=32 -I include -I $(BUILD_DIR) $(VERSION_ASFLAGS) -CFLAGS = -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm $(OPT_FLAGS) -signed -I include -I include/ultra64 $(VERSION_CFLAGS) $(MIPSISET) - - -####################### Other Tools ######################### - -# N64 tools -TOOLS_DIR = tools - -###################### Dependency Check ##################### - -BINUTILS_VER_MAJOR := $(shell $(LD) --version | grep ^GNU | sed 's/^.* //; s/\..*//g') -BINUTILS_VER_MINOR := $(shell $(LD) --version | grep ^GNU | sed 's/^[^.]*\.//; s/\..*//g') -BINUTILS_DEPEND := $(shell expr $(BINUTILS_VER_MAJOR) \>= 2 \& $(BINUTILS_VER_MINOR) \>= 27) -ifeq ($(BINUTILS_DEPEND),0) -$(error binutils version 2.27 required, version $(BINUTILS_VER_MAJOR).$(BINUTILS_VER_MINOR) detected) -endif - -ifndef QEMU_IRIX -$(error env variable QEMU_IRIX should point to the qemu-mips binary) -endif - -######################## Targets ############################# - -all: tools/patch_libultra_math libultra - -clean: - $(RM) -r $(LIBULTRA) $(BUILD_DIR_BASE) tools/patch_libultra_math - -libultra: $(LIBULTRA) - - -# Make sure build directory exists before compiling objects -$(BUILD_DIR): - mkdir -p $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(ULTRA_SRC_DIRS) $(ULTRA_ASM_DIRS)) - -$(ULTRA_O_FILES): | $(BUILD_DIR) - -# Source code -$(BUILD_DIR)/lib/src/%.o: OPT_FLAGS := -$(BUILD_DIR)/lib/src/math/ll%.o: MIPSISET := -mips3 -32 -$(BUILD_DIR)/lib/src/math/%.o: OPT_FLAGS := -O2 -$(BUILD_DIR)/lib/src/math/ll%.o: OPT_FLAGS := -$(BUILD_DIR)/lib/src/ldiv.o: OPT_FLAGS := -O2 -$(BUILD_DIR)/lib/src/string.o: OPT_FLAGS := -O2 -$(BUILD_DIR)/lib/src/gu%.o: OPT_FLAGS := -O3 -$(BUILD_DIR)/lib/src/al%.o: OPT_FLAGS := -O3 - -tools/patch_libultra_math: - make -C tools - -$(BUILD_DIR)/lib/src/math/%.o: lib/src/math/%.c - $(CC) -c $(CFLAGS) -o $@ $< - tools/patch_libultra_math $@ || rm $@ - -$(BUILD_DIR)/%.o: %.c - $(CC) -c $(CFLAGS) -o $@ $< - - -$(BUILD_DIR)/%.o: %.s - $(AS) $(ASFLAGS) -MD $(BUILD_DIR)/$*.d -o $@ $< - -$(LIBULTRA): $(ULTRA_O_FILES) - $(AR) rcs -o $@ $(ULTRA_O_FILES) - -.PHONY: all clean libultra - diff --git a/ge007_libultra/include/macros.inc b/ge007_libultra/include/macros.inc deleted file mode 100644 index c97fd81..0000000 --- a/ge007_libultra/include/macros.inc +++ /dev/null @@ -1,7 +0,0 @@ -# Assembly Macros - -.macro glabel label - .global \label - \label: -.endm - diff --git a/ge007_libultra/include/math.h b/ge007_libultra/include/math.h deleted file mode 100644 index a9728d0..0000000 --- a/ge007_libultra/include/math.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef _MATH_H_ -#define _MATH_H_ - -#define M_PI 3.14159265358979323846 - -float sinf(float); -double sin(double); -float cosf(float); -double cos(double); - -float sqrtf(float); - -#endif diff --git a/ge007_libultra/include/stdarg.h b/ge007_libultra/include/stdarg.h deleted file mode 100644 index 3303fdc..0000000 --- a/ge007_libultra/include/stdarg.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef _STDARG_H_ -#define _STDARG_H_ - -#include - -// When building with GCC, use the official vaarg macros to avoid warnings -// and possibly bad codegen. -#ifdef __GNUC__ -#define va_list __builtin_va_list -#define va_start __builtin_va_start -#define va_arg __builtin_va_arg -#define va_end __builtin_va_end -#else - -typedef char *va_list; -#define _FP 1 -#define _INT 0 -#define _STRUCT 2 - -#define _VA_FP_SAVE_AREA 0x10 -#define _VA_ALIGN(p, a) (((unsigned int)(((char *)p) + ((a) > 4 ? (a) : 4) - 1)) & -((a) > 4 ? (a) : 4)) -#define va_start(vp, parmN) (vp = ((va_list)&parmN + sizeof(parmN))) - -#define __va_stack_arg(list, mode) \ - ( \ - ((list) = (char *)_VA_ALIGN(list, __builtin_alignof(mode)) + \ - _VA_ALIGN(sizeof(mode), 4)), \ - (((char *)list) - (_VA_ALIGN(sizeof(mode), 4) - sizeof(mode)))) - -#define __va_double_arg(list, mode) \ - ( \ - (((long)list & 0x1) /* 1 byte aligned? */ \ - ? (list = (char *)((long)list + 7), (char *)((long)list - 6 - _VA_FP_SAVE_AREA)) \ - : (((long)list & 0x2) /* 2 byte aligned? */ \ - ? (list = (char *)((long)list + 10), (char *)((long)list - 24 - _VA_FP_SAVE_AREA)) \ - : __va_stack_arg(list, mode)))) - -#define va_arg(list, mode) ((mode *)(((__builtin_classof(mode) == _FP && \ - __builtin_alignof(mode) == sizeof(double)) \ - ? __va_double_arg(list, mode) \ - : __va_stack_arg(list, mode))))[-1] -#define va_end(__list) - -#endif -#endif diff --git a/ge007_libultra/include/stdlib.h b/ge007_libultra/include/stdlib.h deleted file mode 100644 index 1c7666d..0000000 --- a/ge007_libultra/include/stdlib.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _STDLIB_H_ -#define _STDLIB_H_ - -typedef struct lldiv_t -{ - long long quot; - long long rem; -} lldiv_t; - -typedef struct ldiv_t -{ - long quot; - long rem; -} ldiv_t; - -lldiv_t lldiv(long long, long long); -ldiv_t ldiv(long, long); - -#endif diff --git a/ge007_libultra/include/string.h b/ge007_libultra/include/string.h deleted file mode 100644 index 6aa5b3f..0000000 --- a/ge007_libultra/include/string.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _STRING_H_ -#define _STRING_H_ -#include "ultra64/types.h" -void* memcpy(void*, const void*, size_t); -size_t strlen(const u8 *str); -const u8 *strchr(const u8 *str, u32 ch); - -#endif diff --git a/ge007_libultra/include/ultra64.h b/ge007_libultra/include/ultra64.h deleted file mode 100644 index 6a96dc8..0000000 --- a/ge007_libultra/include/ultra64.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _ULTRA64_H_ -#define _ULTRA64_H_ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/ge007_libultra/include/ultra64/cache.h b/ge007_libultra/include/ultra64/cache.h deleted file mode 100644 index 1373a9a..0000000 --- a/ge007_libultra/include/ultra64/cache.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _ULTRA64_CACHE_H_ -#define _ULTRA64_CACHE_H_ - -/* Functions */ - -void osInvalICache(void *vaddr, s32 nbytes); -void osInvalDCache(void *vaddr, s32 nbytes); -void osWritebackDCache(void *vaddr, s32 nbytes); -void osWritebackDCacheAll(void); - -#endif diff --git a/ge007_libultra/include/ultra64/eeprom.h b/ge007_libultra/include/ultra64/eeprom.h deleted file mode 100644 index 1724a6d..0000000 --- a/ge007_libultra/include/ultra64/eeprom.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _ULTRA64_EEPROM_H_ -#define _ULTRA64_EEPROM_H_ - -typedef struct -{ - u16 unk00; - u16 unk01; -} OSEepromUnknownStruct0; - -/* Functions */ - -s32 osEepromLongRead(OSMesgQueue *mq, u8 address, u8 *buffer, int nbytes); -s32 osEepromLongWrite(OSMesgQueue *mq, u8 address, u8 *buffer, int nbytes); -s32 osEepromWrite(OSMesgQueue *mq, u8 address, u8 *buffer); -s32 osEepromRead(OSMesgQueue *mq, u8 address, u8 *buffer); -s32 osEepromProbe(OSMesgQueue *mq); - -#endif diff --git a/ge007_libultra/include/ultra64/gbi.h b/ge007_libultra/include/ultra64/gbi.h deleted file mode 100644 index ff2200b..0000000 --- a/ge007_libultra/include/ultra64/gbi.h +++ /dev/null @@ -1,685 +0,0 @@ -#ifndef _ULTRA64_GBI_H_ -#define _ULTRA64_GBI_H_ - -/* Types */ - -/* Vertex (set up for use with colors) */ -typedef struct -{ - short ob[3]; /* x, y, z */ - unsigned short flag; - short tc[2]; /* texture coord */ - unsigned char cn[4]; /* color & alpha */ -} Vtx_t; - -/* Vertex (set up for use with normals) */ -typedef struct -{ - short ob[3]; /* x, y, z */ - unsigned short flag; - short tc[2]; /* texture coord */ - signed char n[3]; /* normal */ - unsigned char a; /* alpha */ -} Vtx_tn; - -typedef union -{ - Vtx_t v; /* Use this one for colors */ - Vtx_tn n; /* Use this one for normals */ - long long int force_structure_alignment; -} Vtx; - - -typedef struct -{ - short vscale[4]; /* scale, 2 bits fraction */ - short vtrans[4]; /* translate, 2 bits fraction */ -} Vp_t; - -typedef union -{ - Vp_t vp; - long long int force_structure_alignment; -} Vp; - - -typedef struct -{ - unsigned int w0; - unsigned int w1; -} Gwords; - -/* TODO: fill in the rest of the members */ -typedef union -{ - Gwords words; - long long int force_structure_alignment; -} Gfx; - - -#define _SHIFTL(value, shift, size) \ - ((unsigned int) (((unsigned int) (value) & ((1 << size) - 1)) << shift)) - -#define G_ON 1 -#define G_OFF 0 - -#define GPACK_RGBA5551(r, g, b, a) \ - ((((r) << 8) & 0xF800) | \ - (((g) << 3) & 0x07C0) | \ - (((b) >> 2) & 0x003E) | \ - ((a) & 0x0001)) -#define GPACK_ZDZ(z, dz) ((z) << 2 | (dz)) - - -#define G_ZBUFFER 0x00000001 -#define G_TEXTURE_ENABLE 0x00000002 -#define G_SHADE 0x00000004 -#define G_SHADING_SMOOTH 0x00000200 -#define G_CULL_FRONT 0x00001000 -#define G_CULL_BACK 0x00002000 -#define G_CULL_BOTH 0x00003000 -#define G_FOG 0x00010000 -#define G_LIGHTING 0x00020000 -#define G_TEXTURE_GEN 0x00040000 -#define G_TEXTURE_GEN_LINEAR 0x00080000 -#define G_LOD 0x00100000 -#define G_CLIPPING 0x00800000 - -#define G_IM_FMT_RGBA 0 -#define G_IM_FMT_YUV 1 -#define G_IM_FMT_CI 2 -#define G_IM_FMT_IA 3 -#define G_IM_FMT_I 4 - -#define G_IM_SIZ_4b 0 -#define G_IM_SIZ_8b 1 -#define G_IM_SIZ_16b 2 -#define G_IM_SIZ_32b 3 -#define G_IM_SIZ_DD 5 - -#define G_AC_NONE (0 << 0) -#define G_AC_THRESHOLD (1 << 0) -#define G_AC_DITHER (3 << 0) - -#define G_ZS_PIXEL (0 << 2) -#define G_ZS_PRIM (1 << 2) - -#define G_CD_MAGICSQ (0 << 6) -#define G_CD_BAYER (1 << 6) -#define G_CD_NOISE (2 << 6) - -#define G_CK_NONE (0 << 8) -#define G_CK_KEY (1 << 8) - -#define G_TC_CONV (0 << 9) -#define G_TC_FILTCONV (5 << 9) -#define G_TC_FILT (6 << 9) - -#define G_TF_POINT (0 << 12) -#define G_TF_BILERP (2 << 12) -#define G_TF_AVERAGE (3 << 12) - -#define G_TT_NONE (0 << 14) -#define G_TT_RGBA16 (2 << 14) -#define G_TT_IA16 (3 << 14) - -#define G_TL_TILE (0 << 16) -#define G_TL_LOD (1 << 16) - -#define G_TD_CLAMP (0 << 17) -#define G_TD_SHARPEN (1 << 17) -#define G_TD_DETAIL (2 << 17) - -#define G_TP_NONE (0 << 19) -#define G_TP_PERSP (1 << 19) - -#define G_CYC_1CYCLE (0 << 20) -#define G_CYC_2CYCLE (1 << 20) -#define G_CYC_COPY (2 << 20) -#define G_CYC_FILL (3 << 20) - -#define G_PM_NPRIMITIVE (0 << 23) -#define G_PM_1PRIMITIVE (1 << 23) - -#define G_SC_NON_INTERLACE 0 -#define G_SC_ODD_INTERLACE 3 -#define G_SC_EVEN_INTERLACE 2 - -#define G_TX_LOADTILE 7 -#define G_TX_RENDERTILE 0 - -#define G_TX_NOMIRROR 0 -#define G_TX_WRAP 0 -#define G_TX_MIRROR 1 -#define G_TX_CLAMP 2 -#define G_TX_NOMASK 0 -#define G_TX_NOLOD 0 - -#define G_TX_LDBLK_MAX_TXL 2047 - -#define G_MV_VIEWPORT 0x80 -#define G_MV_LOOKATY 0x82 -#define G_MV_LOOKATX 0x84 -#define G_MV_L0 0x86 -#define G_MV_L1 0x88 -#define G_MV_L2 0x8A -#define G_MV_L3 0x8C -#define G_MV_L4 0x8E -#define G_MV_L5 0x90 -#define G_MV_L6 0x92 -#define G_MV_L7 0x94 -#define G_MV_TXTATT 0x96 -#define G_MV_MATRIX_1 0x9E -#define G_MV_MATRIX_2 0x98 -#define G_MV_MATRIX_3 0x9A -#define G_MV_MATRIX_4 0x9C - -#define G_SETOTHERMODE_L 0xB9 -#define G_SETOTHERMODE_H 0xBA - -#ifndef MAX -#define MAX(a, b) ((a) > (b) ? (a) : (b)) -#endif - -#ifndef MIN -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#endif - -#define gSPMatrix(pkt, m, p) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0x01, 24, 8) \ - | _SHIFTL((p), 16, 8) \ - | _SHIFTL(sizeof(Mtx), 0, 16); \ - _g->words.w1 = (u32)(m); \ -} - -#define gSPVertex(pkt, v, n, v0) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0x04, 24, 8) \ - | _SHIFTL(((n)-1) << 4 | (v0), 16, 8) \ - | _SHIFTL(sizeof(Vtx)*(n), 0, 16); \ - _g->words.w1 = (u32)(v); \ -} - -#define gDPLoadSync(pkt) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xE6000000; \ - _g->words.w1 = 0x00000000; \ -} - -#define gDPPipeSync(pkt) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xE7000000; \ - _g->words.w1 = 0x00000000; \ -} - -#define gDPTileSync(pkt) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xE8000000; \ - _g->words.w1 = 0x00000000; \ -} - -#define gDPFullSync(pkt) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xE9000000; \ - _g->words.w1 = 0x00000000; \ -} - -#define gSPDisplayList(pkt, dl) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0x06000000; \ - _g->words.w1 = (u32)(dl); \ -} - -#define gSPBranchList(pkt, dl) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = 0x06010000; \ - _g->words.w1 = (u32)(dl); \ -} - -#define gSPEndDisplayList(pkt) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xB8000000; \ - _g->words.w1 = 0x00000000; \ -} - -#define gDPSetCycleType(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA001402; \ - _g->words.w1 = type; \ -} - -#define gDPPipelineMode(pkt, mode) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA001701; \ - _g->words.w1 = mode; \ -} - -#define gDPSetScissor(pkt, mode, ulx, uly, lrx, lry) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xED, 24, 8) \ - | _SHIFTL((int)((float)(ulx)*4.0f), 12, 12) \ - | _SHIFTL((int)((float)(uly)*4.0f), 0, 12); \ - _g->words.w1 = _SHIFTL((mode), 24, 8) \ - | _SHIFTL((int)((float)(lrx)*4.0f), 12, 12) \ - | _SHIFTL((int)((float)(lry)*4.0f), 0, 12); \ -} - -#define gDPSetCombine(pkt, muxs0, muxs1) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xFC, 24, 8) \ - | _SHIFTL((muxs0), 0, 24); \ - _g->words.w1 = (muxs1); \ -} - -#define gDPSetTextureLOD(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA001001; \ - _g->words.w1 = type; \ -} - -#define gDPSetTextureLUT(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA000E02; \ - _g->words.w1 = type; \ -} - -#define gDPSetTextureDetail(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA001102; \ - _g->words.w1 = type; \ -} - -#define gDPSetTexturePersp(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA001301; \ - _g->words.w1 = type; \ -} - -#define gDPSetTextureFilter(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA000C02; \ - _g->words.w1 = type; \ -} - -#define gDPSetTextureConvert(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA000903; \ - _g->words.w1 = type; \ -} - -#define gDPSetCombineKey(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA000801; \ - _g->words.w1 = type; \ -} - -#define gDPSetColorDither(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBA000602; \ - _g->words.w1 = type; \ -} - -#define gDPSetFillColor(pkt, color) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xF7000000; \ - _g->words.w1 = color; \ -} - -#define gDPFillRectangle(pkt, ulx, uly, lrx, lry) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xF6, 24, 8) \ - | _SHIFTL((lrx), 14, 10) \ - | _SHIFTL((lry), 2, 10); \ - _g->words.w1 = _SHIFTL(0, 24, 8) \ - | _SHIFTL((ulx), 14, 10) \ - | _SHIFTL((uly), 2, 10); \ -} - -#define gDPSetAlphaCompare(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xB9000002; \ - _g->words.w1 = type; \ -} - -#define gDPSetDepthSource(pkt, type) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xB9000201; \ - _g->words.w1 = type; \ -} - -#define gSPSetOtherMode(pkt, cmd, shift, length, data) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = _SHIFTL((cmd), 24, 8) \ - | _SHIFTL((shift), 8, 8) \ - | _SHIFTL(((length)-1), 0, 8); \ - _g->words.w1 = (data); \ -} - -#define gDPSetRenderMode(pkt, mode1, mode2) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xB900031D; \ - _g->words.w1 = (mode1) | (mode2); \ -} - -#define gSPClearGeometryMode(pkt, mode) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xB6000000; \ - _g->words.w1 = mode; \ -} - -#define gSPSetGeometryMode(pkt, word) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xB7000000; \ - _g->words.w1 = word; \ -} - -#define gSPNumLights(pkt, n) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBC000002; \ - _g->words.w1 = (0x80000000 + ((n) + 1) * 0x20); \ -} - -#define gSPTexture(pkt, sc, tc, level, tile, on) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xBB, 24, 8) \ - | _SHIFTL(0, 16, 8) \ - | _SHIFTL((level), 11, 3) \ - | _SHIFTL((tile), 8, 3) \ - | _SHIFTL((on), 0, 8); \ - _g->words.w1 = _SHIFTL((sc), 16, 16) \ - | _SHIFTL((tc), 0, 16); \ -} - -#define gDPSetColorImage(pkt, fmt, size, width, image) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xFF, 24, 8) \ - | _SHIFTL((fmt), 21, 3) \ - | _SHIFTL((size), 19, 2) \ - | _SHIFTL((width)-1, 0, 12); \ - _g->words.w1 = (image); \ -} - -#define gDPSetTileSize(pkt, tile, uls, ult, lrs, lrt) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xF2, 24, 8) \ - | _SHIFTL(uls, 12, 12) \ - | _SHIFTL(ult, 0, 12); \ - _g->words.w1 = _SHIFTL(tile, 24, 3) \ - | _SHIFTL(lrs, 12, 12) \ - | _SHIFTL(lrt, 0, 12); \ -} - -#define gDPLoadBlock(pkt, tile, uls, ult, lrs, dxt) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xF3, 24, 8) \ - | _SHIFTL((uls), 12, 12) \ - | _SHIFTL((ult), 0, 12); \ - _g->words.w1 = _SHIFTL((tile), 24, 3) \ - | _SHIFTL((MIN((lrs),G_TX_LDBLK_MAX_TXL)), 12, 12) \ - | _SHIFTL((dxt), 0, 12); \ -} - -#define gDPSetTile(pkt, fmt, siz, line, tmem, tile, \ - palette, cmt, maskt, shiftt, cms, masks, shifts) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xF5, 24, 8) \ - | _SHIFTL((fmt), 21, 3) \ - | _SHIFTL((siz), 19, 2) \ - | _SHIFTL((line), 9, 9) \ - | _SHIFTL((tmem), 0, 9); \ - _g->words.w1 = _SHIFTL((tile), 24, 3) \ - | _SHIFTL((palette), 20, 4) \ - | _SHIFTL((cmt), 18, 2) \ - | _SHIFTL((maskt), 14, 4) \ - | _SHIFTL((shiftt), 10, 4) \ - | _SHIFTL((cms), 8, 2) \ - | _SHIFTL((masks), 4, 4) \ - | _SHIFTL((shifts), 0, 4); \ -} - -#define gDPSetDepthImage(pkt, image) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xFE, 24, 8); \ - _g->words.w1 = (image); \ -} - -#define G_SETPRIMCOLOR 0xFA - -#define gDPSetPrimColor(pkt, m, l, r, g, b, a) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(G_SETPRIMCOLOR, 24, 8) \ - | _SHIFTL(m, 8, 8) \ - | _SHIFTL(l, 0, 8); \ - _g->words.w1 = _SHIFTL(r, 24, 8) \ - | _SHIFTL(g, 16, 8) \ - | _SHIFTL(b, 8, 8) \ - | _SHIFTL(a, 0, 8); \ -} - -#define gDPSetEnvColor(pkt, r, g, b, a) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xFB, 24, 8); \ - _g->words.w1 = _SHIFTL((r), 24, 8) \ - | _SHIFTL((g), 16, 8) \ - | _SHIFTL((b), 8, 8) \ - | _SHIFTL((a), 0, 8); \ -} - -#define gDPSetTextureImage(pkt, fmt, size, width, img) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xFD, 24, 8) \ - | _SHIFTL((fmt), 21, 3) \ - | _SHIFTL((size), 19, 2) \ - | _SHIFTL((width)-1, 0, 12); \ - _g->words.w1 = (u32)(img); \ -} - -#define gMoveWd(pkt, index, offset, data) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xBC, 24, 8) \ - | _SHIFTL((offset), 8, 16) \ - | _SHIFTL((index), 0, 8); \ - _g->words.w1 = (u32)(data); \ -} - -/* Matrix Operations */ - -#define G_MTX_MODELVIEW 0x00 -#define G_MTX_PROJECTION 0x01 -#define G_MTX_MUL 0x00 -#define G_MTX_LOAD 0x02 -#define G_MTX_NOPUSH 0x00 -#define G_MTX_PUSH 0x04 - -#define gSPPopMatrix(pkt, n) \ -{ \ - Gfx *_g = (Gfx *) (pkt); \ - _g->words.w0 = 0xBD000000; \ - _g->words.w1 = (n); \ -} - -#define gSPViewport(pkt, v) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0x03, 24, 8) \ - | _SHIFTL(G_MV_VIEWPORT, 16, 8) \ - | _SHIFTL(sizeof(Vp), 0, 16); \ - _g->words.w1 = (u32)(v); \ -} - -#define gSP1Triangle(pkt, v0, v1, v2, flag) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xBF, 24, 8); \ - _g->words.w1 = _SHIFTL((flag), 24, 8) \ - | _SHIFTL((v0)*10, 16, 8) \ - | _SHIFTL((v1)*10, 8, 8) \ - | _SHIFTL((v2)*10, 0, 8); \ -} - -#define gSPTextureRectangle(pkt, xl, yl, xh, yh, tile, s, t, dsdx, dtdy) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xE4, 24, 8) \ - | _SHIFTL((xh), 12, 12) \ - | _SHIFTL((yh), 0, 12); \ - _g->words.w1 = _SHIFTL((tile), 24, 3) \ - | _SHIFTL((xl), 12, 12) \ - | _SHIFTL((yl), 0, 12); \ -} \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xB3, 24, 8); \ - _g->words.w1 = _SHIFTL((s), 16, 16) \ - | _SHIFTL((t), 0, 16); \ -} \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(0xB2, 24, 8); \ - _g->words.w1 = _SHIFTL((dsdx), 16, 16) \ - | _SHIFTL((dtdy), 0, 16); \ -} - -/* Lights and Light Operations */ - -typedef struct { - unsigned char col[3]; - char pad1; - unsigned char colc[3]; - char pad2; - signed char dir[3]; - char pad3; -} Light_t; - -typedef struct { - unsigned char col[3]; - char pad1; - unsigned char colc[3]; - char pad2; -} Ambient_t; - -typedef union { - Ambient_t l; - long long int force_structure_alignment[1]; -} Ambient; - -typedef union { - Light_t l; - long long int force_structure_alignment[2]; -} Light; - -typedef struct { - Ambient a; - Light l[4]; -} Lights4; - -typedef struct { - Light l[2]; -} LookAt; - -typedef struct { - int x1, y1, x2, y2; -} Hilite_t; - -typedef union { - Hilite_t h; - long int force_alignmnet[4]; -} Hilite; - -#define G_MOVEMEM 0x03 -/* for gSPNumLights */ -// is NUMLIGHTS_0 accurate? -#define NUMLIGHTS_0 1 -#define NUMLIGHTS_1 1 -#define NUMLIGHTS_2 2 -#define NUMLIGHTS_3 3 -#define NUMLIGHTS_4 4 -#define NUMLIGHTS_5 5 -#define NUMLIGHTS_6 6 -#define NUMLIGHTS_7 7 - -/* for gSPLight */ -#define LIGHT_1 1 -#define LIGHT_2 2 -#define LIGHT_3 3 -#define LIGHT_4 4 -#define LIGHT_5 5 -#define LIGHT_6 6 -#define LIGHT_7 7 -#define LIGHT_8 8 - -#define gSPLight(pkt, l, n) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(G_MOVEMEM, 24, 8) \ - | _SHIFTL(((n)-1)*2+G_MV_L0, 16, 8) \ - | _SHIFTL(sizeof(Light), 0, 16); \ - _g->words.w1 = (u32)(l); \ -} - -#define gSPLookAtX(pkt, la) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(G_MOVEMEM, 24, 8) \ - | _SHIFTL(G_MV_LOOKATX, 16, 8) \ - | _SHIFTL(sizeof(Light), 0, 16); \ - _g->words.w1 = (u32)(la); \ -} - -#define gSPLookAtY(pkt, la) \ -{ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = _SHIFTL(G_MOVEMEM, 24, 8) \ - | _SHIFTL(G_MV_LOOKATY, 16, 8) \ - | _SHIFTL(sizeof(Light), 0, 16); \ - _g->words.w1 = (u32)(la); \ -} - -#define gSPLookAt(pkt, la) \ -{ \ - gSPLookAtX((pkt), (la)) \ - gSPLookAtY((pkt), (char *)(la)+16) \ -} - -#endif diff --git a/ge007_libultra/include/ultra64/gbi.inc b/ge007_libultra/include/ultra64/gbi.inc deleted file mode 100644 index cb05cf4..0000000 --- a/ge007_libultra/include/ultra64/gbi.inc +++ /dev/null @@ -1,332 +0,0 @@ -/* GNU as assembler macros for F3D GBI */ - -/* commands with no parameters */ -.macro f3d_noparam cmd - .word (\cmd << 24), 0x00000000 -.endm - -.macro gsImmp1 cmd, param - .word (\cmd << 24), \param -.endm - -/* DMA helper */ -.macro gsDma1p cmd, segAddr, length, params - .byte \cmd, \params - .hword \length - .word \segAddr -.endm - -/* 01: G_MTX */ -/* params */ -.set G_MTX_MODELVIEW, 0x00 -.set G_MTX_PROJECTION, 0x01 -.set G_MTX_MUL, 0x00 -.set G_MTX_LOAD, 0x02 -.set G_MTX_NOPUSH, 0x00 -.set G_MTX_PUSH, 0x04 - -.set G_MTX, 0x01 -.macro gsSPMatrix matrix, params - gsDma1p G_MTX, \matrix, 64, \params -.endm - -/* 02: reserved */ - -/* 03: G_MOVEMEM */ -.set G_MOVEMEM, 0x03 -.set G_MV_L0, 0x86 -.macro gsSPLight light, num - gsDma1p G_MOVEMEM, \light, 16, ((\num)-1)*2+G_MV_L0 -.endm - -/* 04: G_VTX */ -.set G_VTX, 0x04 -.macro gsSPVertex verts, num, index - gsDma1p G_VTX, \verts, 16*\num, ((\num)-1)<<4|(\index) -.endm - -/* 05: reserved */ - -/* 06: G_DL */ -.set G_DL, 0x06 -.set G_DL_PUSH, 0x00 -.set G_DL_NOPUSH, 0x01 -.macro gsSPDisplayList dl - gsDma1p G_DL, \dl, 0, G_DL_PUSH -.endm -.macro gsSPBranchList dl - gsDma1p G_DL, \dl, 0, G_DL_NOPUSH -.endm - -/* geometry mode flags */ -.set G_ZBUFFER, 0x00000001 -.set G_SHADE, 0x00000004 -.set G_SHADING_SMOOTH, 0x00000200 -.set G_CULL_FRONT, 0x00001000 -.set G_CULL_BACK, 0x00002000 -.set G_FOG, 0x00010000 -.set G_LIGHTING, 0x00020000 -.set G_TEXTURE_GEN, 0x00040000 -.set G_TEXTURE_GEN_LINEAR, 0x00080000 - -/* B3: G_RDPHALF_2 */ -.set G_RDPHALF_2, 0xB3 - -/* B4: G_RDPHALF_1 */ -.set G_RDPHALF_1, 0xB4 - -/* B6: G_CLEARGEOMETRYMODE */ -.set G_CLEARGEOMETRYMODE, 0xB6 -.macro gsSPClearGeometryMode flags - .word G_CLEARGEOMETRYMODE << 24 - .word \flags -.endm - -/* B7: G_SETGEOMETRYMODE */ -.set G_SETGEOMETRYMODE, 0xB7 -.macro gsSPSetGeometryMode flags - .word G_SETGEOMETRYMODE << 24 - .word \flags -.endm - -/* B8: G_ENDDL */ -.set G_ENDDL, 0xB8 -.macro gsSPEndDisplayList - f3d_noparam G_ENDDL -.endm - -/* B9: G_SETOTHERMODE_L */ -.set G_SETOTHERMODE_L, 0xB9 -/* G_SETOTHERMODE_L sft: shift count */ -.set G_MDSFT_ALPHACOMPARE, 0 -.set G_MDSFT_ZSRCSEL, 2 -.set G_MDSFT_RENDERMODE, 3 -.set G_MDSFT_BLENDER, 16 - -/* BA: G_SETOTHERMODE_H */ -.set G_SETOTHERMODE_H, 0xBA -/* G_SETOTHERMODE_H sft: shift count */ -.set G_MDSFT_ALPHADITHER, 4 -.set G_MDSFT_RGBDITHER, 6 -.set G_MDSFT_COMBKEY, 8 -.set G_MDSFT_TEXTCONV, 9 -.set G_MDSFT_TEXTFILT, 12 -.set G_MDSFT_TEXTLUT, 14 -.set G_MDSFT_TEXTLOD, 16 -.set G_MDSFT_TEXTDETAIL, 17 -.set G_MDSFT_TEXTPERSP, 19 -.set G_MDSFT_CYCLETYPE, 20 -.set G_MDSFT_PIPELINE, 23 - -.macro gsSPSetOtherMode cmd, sft, len, data - .word ((\cmd & 0xFF) << 24) | ((\sft & 0xFF) << 8) | (\len & 0xFF) - .word \data -.endm - -/* BB: G_TEXTURE */ -.set G_TEXTURE, 0xBB -.macro gsSPTexture scaleS, scaleT, level, tile, enable - .word (G_TEXTURE << 24) | ((\level & 0x7) << 11) | ((\tile & 0x7) << 8) | \enable - .word ((\scaleS & 0xFFFF) << 16) | (\scaleT & 0xFFFF) -.endm - -/* BC: G_MOVEWORD */ -.set G_MOVEWORD, 0xBC -.macro gsMoveWd index, offset, data - .word G_MOVEWORD << 24 | ((\index & 0xFFFF) << 8) | (\offset & 0xFF) - .word \data -.endm - -/* BF: G_TRI1 */ -.set G_TRI1, 0xBF -.macro gsSP1Triangle v0, v1, v2, flag - .word G_TRI1 << 24 - .byte \flag, \v0*10, \v1*10, \v2*10 -.endm - -/* C0: G_NOOP */ -.set G_NOOP, 0xC0 -.macro gsDPNoOp - f3d_noparam G_NOOP -.endm - -/* E6: G_RDPLOADSYNC */ -.set G_RDPLOADSYNC, 0xE6 -.macro gsDPLoadSync - f3d_noparam G_RDPLOADSYNC -.endm - -/* E7: G_RDPPIPESYNC */ -.set G_RDPPIPESYNC, 0xE7 -.macro gsDPPipeSync - f3d_noparam G_RDPPIPESYNC -.endm - -/* E8: G_RDPTILESYNC */ -.set G_RDPTILESYNC, 0xE8 -.macro gsDPTileSync - f3d_noparam G_RDPTILESYNC -.endm - -/* E9: G_RDPFULLSYNC */ -.set G_RDPFULLSYNC, 0xE9 -.macro gsDPFullSync - f3d_noparam G_RDPFULLSYNC -.endm - -/* F0: G_LOADTLUT */ -.set G_LOADTLUT, 0xF0 -.macro gsDPLoadTLUTCmd tile, count - .word G_LOADTLUT << 24 - .word ((\tile & 0x7) << 24) | (\count & 0x3FFF) << 10 -.endm - -/* F1: unused */ - -/* F2: G_SETTILESIZE */ -.set G_SETTILESIZE, 0xF2 -.macro gsDPSetTileSize tile, uls, ult, lrs, lrt - .word (G_SETTILESIZE << 24) | ((\uls & 0x0FFF) << 12) | (\ult & 0x0FFF) - .word ((\tile & 0x7) << 24) | ((\lrs & 0x0FFF) << 12) | (\lrt & 0x0FFF) -.endm - -/* F3: G_LOADBLOCK */ -.set G_LOADBLOCK, 0xF3 -.macro gsDPLoadBlock tile, uls, ult, lrs, dxt - .word (G_LOADBLOCK << 24) | ((\uls & 0x0FFF) << 12) | (\ult & 0x0FFF) - .word ((\tile & 0x7) << 24) | ((\lrs & 0x0FFF) << 12) | (\dxt & 0x0FFF) -.endm - -/* F5: G_SETTILE */ -.set G_TX_LOADTILE, 0x7 -.set G_TX_RENDERTILE, 0x0 - -/* axis clamp and mirror flags */ -.set G_TX_NOMIRROR, 0x0 -.set G_TX_WRAP, 0x0 -.set G_TX_MIRROR, 0x1 -.set G_TX_CLAMP, 0x2 - -/* mask flags */ -.set G_TX_NOMASK, 0x0 - -/* shift flags */ -.set G_TX_NOLOD, 0x0 - -.set G_SETTILE, 0xF5 -.macro gsDPSetTile fmt, siz, line, tmem, tile, palette, cmt, maskt, shiftt, cms, masks, shifts - .word (G_SETTILE << 24) | ((\fmt & 0x7) << 21) | ((\siz & 0x3) << 19) | ((\line & 0x1FF) << 9) | (\tmem & 0x1FF) - .word ((\tile & 0x7) << 24) | ((\palette & 0xF) << 20) | ((\cmt & 0x3) << 18) | ((\maskt & 0xF) << 14) | ((\shiftt & 0xF) << 10) | ((\cms & 0x3) << 8) | ((\masks & 0xF) << 4) | (\shifts & 0xF) -.endm - -/* F6: G_FILLRECT */ -.set G_FILLRECT, 0xF6 -.macro gsDPFillRectangle ulx, uly, lrx, lry - .word (G_FILLRECT << 24) | ((\lrx & 0x3FF) << 14) | ((\lry & 0x3FF) << 2) - .word ((\ulx & 0x3FF) << 14) | ((\uly & 0x3FF) << 2) -.endm - -/* F7: G_SETFILLCOLOR */ -.set G_SETFILLCOLOR, 0xF7 -.macro gsDPSetFillColor fillValue - .word G_SETFILLCOLOR << 24 - .word \fillValue -.endm - -/* helper for RGBA colors */ -.macro sDPRGBColor cmd r, g, b, a - .word \cmd << 24 - .byte \r, \g, \b, \a -.endm - -/* F8: G_SETFOGCOLOR */ -.set G_SETFOGCOLOR, 0xF8 -.macro gsDPSetFogColor r, g, b, a - sDPRGBColor G_SETFOGCOLOR, \r, \g, \b, \a -.endm - -/* F9: G_SETBLENDCOLOR */ -.set G_SETBLENDCOLOR, 0xF9 -.macro gsDPSetBlendColor r, g, b, a - sDPRGBColor G_SETBLENDCOLOR, \r, \g, \b, \a -.endm - -/* FA: G_SETPRIMCOLOR */ -.set G_SETPRIMCOLOR, 0xFA -.macro gsDPSetPrimColor m, l, r, g, b, a - .word (G_SETPRIMCOLOR << 24) | ((\m & 0xFF) << 8) | (\l & 0xFF) - .byte \r, \g, \b, \a -.endm - -/* FB: G_SETENVCOLOR */ -.set G_SETENVCOLOR, 0xFB -.macro gsDPSetEnvColor r, g, b, a - sDPRGBColor G_SETENVCOLOR, \r, \g, \b, \a -.endm - -/* FC: G_SETCOMBINE */ -/* color combiner */ -.set G_CCMUX_COMBINED, 0 -.set G_CCMUX_TEXEL0, 1 -.set G_CCMUX_TEXEL1, 2 -.set G_CCMUX_PRIMITIVE, 3 -.set G_CCMUX_SHADE, 4 -.set G_CCMUX_ENVIRONMENT, 5 -.set G_CCMUX_CENTER, 6 -.set G_CCMUX_SCALE, 6 -.set G_CCMUX_COMBINED_ALPHA, 7 -.set G_CCMUX_TEXEL0_ALPHA, 8 -.set G_CCMUX_TEXEL1_ALPHA, 9 -.set G_CCMUX_PRIMITIVE_ALPHA, 10 -.set G_CCMUX_SHADE_ALPHA, 11 -.set G_CCMUX_ENV_ALPHA, 12 -.set G_CCMUX_LOD_FRACTION, 13 -.set G_CCMUX_PRIM_LOD_FRAC, 14 -.set G_CCMUX_NOISE, 7 -.set G_CCMUX_K4, 7 -.set G_CCMUX_K5, 15 -.set G_CCMUX_1, 6 -.set G_CCMUX_0, 31 - -/* alpha combiner */ -.set G_ACMUX_COMBINED, 0 -.set G_ACMUX_TEXEL0, 1 -.set G_ACMUX_TEXEL1, 2 -.set G_ACMUX_PRIMITIVE, 3 -.set G_ACMUX_SHADE, 4 -.set G_ACMUX_ENVIRONMENT, 5 -.set G_ACMUX_LOD_FRACTION, 0 -.set G_ACMUX_PRIM_LOD_FRAC, 6 -.set G_ACMUX_1, 6 -.set G_ACMUX_0, 7 - -.set G_SETCOMBINE, 0xFC -.macro gsDPSetCombine muxs0, muxs1 - .word (G_SETCOMBINE << 24) | (\muxs0 & 0x00FFFFFF) - .word \muxs1 -.endm -.macro gsDPSetCombineMode a0, b0, c0, d0, Aa0, Ab0, Ac0, Ad0, a1, b1, c1, d1, Aa1, Ab1, Ac1, Ad1 - .word (G_SETCOMBINE << 24) | ((\a0 & 0xF) << 20) | ((\c0 & 0x1F) << 15) | ((\Aa0 & 0x7) << 12) | ((\Ac0 & 0x7) << 9) | ((\a1 & 0xF) << 5) | (\c1 & 0x1F) - .word ((\b0 & 0xF) << 28) | ((\b1 & 0xF) << 24) | ((\Aa1 & 0x7) << 21) | ((\Ac1 & 0x7) << 18) | ((\d0 & 0x7) << 15) | ((\Ab0 & 0x7) << 12) | ((\Ad0 & 0x7) << 9) | ((\d1 & 0x7) << 6) | ((\Ab1 & 0x7) << 3) | (\Ad1 & 0x7) -.endm - -/* FD: G_SETTIMG */ -/* fmt */ -.set G_IM_FMT_RGBA, 0x00 -.set G_IM_FMT_YUV, 0x01 -.set G_IM_FMT_CI, 0x02 -.set G_IM_FMT_IA, 0x03 -.set G_IM_FMT_I, 0x04 - -/* size */ -.set G_IM_SIZ_4b, 0x00 -.set G_IM_SIZ_8b, 0x01 -.set G_IM_SIZ_16b, 0x02 -.set G_IM_SIZ_32b, 0x03 - -.set G_SETTIMG, 0xFD -.macro gsDPSetTextureImage fmt, size, width, segAddr - .word (G_SETTIMG << 24) | ((\fmt & 0x7) << 21) | ((\size & 0x3) << 19) | ((\width-1) & 0x0FFF) - .word \segAddr -.endm - diff --git a/ge007_libultra/include/ultra64/gu.h b/ge007_libultra/include/ultra64/gu.h deleted file mode 100644 index d2ff3a8..0000000 --- a/ge007_libultra/include/ultra64/gu.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _ULTRA64_GU_H_ -#define _ULTRA64_GU_H_ - -#define GU_PI 3.1415926 -/* Functions */ - -void guPerspectiveF(float mf[4][4], u16 *perspNorm, float fovy, float aspect, - float near, float far, float scale); -void guPerspective(Mtx *m, u16 *perspNorm, float fovy, float aspect, float near, - float far, float scale); -void guOrtho(Mtx *m, float left, float right, float bottom, float top, - float near, float far, float scale); -void guTranslate(Mtx *m, float x, float y, float z); -void guRotate(Mtx *m, float a, float x, float y, float z); -void guScale(Mtx *m, float x, float y, float z); -void guMtxF2L(float mf[4][4], Mtx *m); -void guMtxIdent(Mtx *m); -void guMtxIdentF(float mf[4][4]); -void guMtxL2F(float mf[4][4], Mtx *m); -void guNormalize(float *, float *, float *); -#endif diff --git a/ge007_libultra/include/ultra64/interrupt.h b/ge007_libultra/include/ultra64/interrupt.h deleted file mode 100644 index 7eb8a4d..0000000 --- a/ge007_libultra/include/ultra64/interrupt.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef _ULTRA64_INTERRUPT_H_ -#define _ULTRA64_INTERRUPT_H_ - -/* Types */ - -typedef u32 OSIntMask; - - -/* Functions */ - -OSIntMask osGetIntMask(void); -OSIntMask osSetIntMask(OSIntMask); - -#endif diff --git a/ge007_libultra/include/ultra64/libaudio.h b/ge007_libultra/include/ultra64/libaudio.h deleted file mode 100644 index 474061b..0000000 --- a/ge007_libultra/include/ultra64/libaudio.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _ULTRA64_LIBAUDIO_H_ -#define _ULTRA64_LIBAUDIO_H_ - - -typedef struct -{ - u8 *offset; - s32 len; -} ALSeqData; - -typedef struct -{ - s16 revision; - s16 seqCount; - ALSeqData seqArray[1]; -} ALSeqFile; - -void alSeqFileNew(ALSeqFile *f, u8 *base); - -#endif diff --git a/ge007_libultra/include/ultra64/libc.h b/ge007_libultra/include/ultra64/libc.h deleted file mode 100644 index 3b402d4..0000000 --- a/ge007_libultra/include/ultra64/libc.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _ULTRA64_LIBC_H_ -#define _ULTRA64_LIBC_H_ - -int sprintf(char *, const char *, ... ); -void bcopy(const void *src, void *dest, size_t size); -void bzero(void *s, size_t size); - -#endif diff --git a/ge007_libultra/include/ultra64/libultra.h b/ge007_libultra/include/ultra64/libultra.h deleted file mode 100644 index 0254392..0000000 --- a/ge007_libultra/include/ultra64/libultra.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _LIBULTRA_H -#define _LIBULTRA_H - -#define TV_TYPE_NTSC 1 -#define TV_TYPE_PAL 0 -#define TV_TYPE_MPAL 2 - -#define RESET_TYPE_COLD_RESET 0 -#define RESET_TYPE_NMI 1 -#define RESET_TYPE_BOOT_DISK 2 - -extern u32 osTvType; -extern u32 osRomBase; -extern u32 osResetType; -extern u8 osAppNmiBuffer[64]; - -#endif /* _LIBULTRA_H */ diff --git a/ge007_libultra/include/ultra64/message.h b/ge007_libultra/include/ultra64/message.h deleted file mode 100644 index 1953149..0000000 --- a/ge007_libultra/include/ultra64/message.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ULTRA64_MESSAGE_H_ -#define _ULTRA64_MESSAGE_H_ - -/* Events */ -#define OS_EVENT_SW1 0 -#define OS_EVENT_SW2 1 -#define OS_EVENT_CART 2 -#define OS_EVENT_COUNTER 3 -#define OS_EVENT_SP 4 -#define OS_EVENT_SI 5 -#define OS_EVENT_AI 6 -#define OS_EVENT_VI 7 -#define OS_EVENT_PI 8 -#define OS_EVENT_DP 9 -#define OS_EVENT_CPU_BREAK 10 -#define OS_EVENT_SP_BREAK 11 -#define OS_EVENT_FAULT 12 -#define OS_EVENT_THREADSTATUS 13 -#define OS_EVENT_PRENMI 14 - -#define OS_MESG_NOBLOCK 0 -#define OS_MESG_BLOCK 1 - -/* Types */ - -typedef u32 OSEvent; - -typedef void *OSMesg; - -typedef struct OSMesgQueue_s -{ - OSThread *mtqueue; - OSThread *fullqueue; - s32 validCount; - s32 first; - s32 msgCount; - OSMesg *msg; -} OSMesgQueue; - -/* Functions */ - -void osCreateMesgQueue(OSMesgQueue *mq, OSMesg *msgBuf, s32 count); -s32 osSendMesg(OSMesgQueue *mq, OSMesg msg, s32 flag); -s32 osJamMesg(OSMesgQueue *mq, OSMesg msg, s32 flag); -s32 osRecvMesg(OSMesgQueue *mq, OSMesg *msg, s32 flag); -void osSetEventMesg(OSEvent e, OSMesgQueue *mq, OSMesg msg); -void osViSetEvent(OSMesgQueue *mq, OSMesg msg, u32 retraceCount); -s32 osContStartReadData(OSMesgQueue *mq); - -#endif diff --git a/ge007_libultra/include/ultra64/os_ai.h b/ge007_libultra/include/ultra64/os_ai.h deleted file mode 100644 index 02e8ce8..0000000 --- a/ge007_libultra/include/ultra64/os_ai.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _ULTRA64_AI_H_ -#define _ULTRA64_AI_H_ - -u32 osAiGetLength(void); -s32 osAiSetNextBuffer(void *, u32); -s32 osAiSetFrequency(u32); - -#endif diff --git a/ge007_libultra/include/ultra64/os_cont.h b/ge007_libultra/include/ultra64/os_cont.h deleted file mode 100644 index 7393f39..0000000 --- a/ge007_libultra/include/ultra64/os_cont.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef _ULTRA64_CONTROLLER_H_ -#define _ULTRA64_CONTROLLER_H_ - -typedef struct -{ - /*0x00*/ u16 type; /* Controller Type */ - /*0x02*/ u8 status; /* Controller status */ - /*0x03*/ u8 errno; -} OSContStatus; - -typedef struct { - /*0x00*/ u16 button; - /*0x02*/ s8 stick_x; /* -80 <= stick_x <= 80 */ - /*0x03*/ s8 stick_y; /* -80 <= stick_y <= 80 */ - /*0x04*/ u8 errno; -} OSContPad; - -#define A_BUTTON (1 << 15) // 0x8000 -#define B_BUTTON (1 << 14) // 0x4000 -#define Z_TRIG (1 << 13) // 0x2000 -#define START_BUTTON (1 << 12) // 0x1000 -#define U_JPAD (1 << 11) // 0x0800 -#define D_JPAD (1 << 10) // 0x0400 -#define L_JPAD (1 << 9) // 0x0200 -#define R_JPAD (1 << 8) // 0x0100 -#define DUMMY_1 (1 << 7) // 0x0080 (unused) -#define DUMMY_2 (1 << 6) // 0x0040 (unused) -#define L_TRIG (1 << 5) // 0x0020 -#define R_TRIG (1 << 4) // 0x0010 -#define U_CBUTTONS (1 << 3) // 0x0008 -#define D_CBUTTONS (1 << 2) // 0x0004 -#define L_CBUTTONS (1 << 1) // 0x0002 -#define R_CBUTTONS (1 << 0) // 0x0001 - - -s32 osContInit(OSMesgQueue *, u8 *, OSContStatus *); -void osContGetReadData(OSContPad *); - -#endif diff --git a/ge007_libultra/include/ultra64/os_internal.h b/ge007_libultra/include/ultra64/os_internal.h deleted file mode 100644 index 067ebaa..0000000 --- a/ge007_libultra/include/ultra64/os_internal.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _ULTRA64_OS_INTERNAL_H_ -#define _ULTRA64_OS_INTERNAL_H_ - -/* Internal functions used by the operating system */ -/* Do not include this header in application code */ - -/* Variables */ - -//extern u64 osClockRate; - -/* Functions */ - -/*u32 __osProbeTLB(void *); -u32 __osDisableInt(void); -void __osRestoreInt(u32);*/ -#endif diff --git a/ge007_libultra/include/ultra64/os_misc.h b/ge007_libultra/include/ultra64/os_misc.h deleted file mode 100644 index fecc4e7..0000000 --- a/ge007_libultra/include/ultra64/os_misc.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _ULTRA64_OS_MISC_H_ -#define _ULTRA64_OS_MISC_H_ - -/* Miscellaneous OS functions */ - -void osInitialize(void); -u32 osGetCount(void); - -u32 osVirtualToPhysical(void *); - -#endif diff --git a/ge007_libultra/include/ultra64/pi.h b/ge007_libultra/include/ultra64/pi.h deleted file mode 100644 index 4844f81..0000000 --- a/ge007_libultra/include/ultra64/pi.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _ULTRA64_PI_H_ -#define _ULTRA64_PI_H_ - -/* Ultra64 Parallel Interface */ - -/* Types */ - -typedef struct -{ - u32 errStatus; - void *dramAddr; - void *C2Addr; - u32 sectorSize; - u32 C1ErrNum; - u32 C1ErrSector[4]; -} __OSBlockInfo; - -typedef struct -{ - u32 cmdType; - u16 transferMode; - u16 blockNum; - s32 sectorNum; - u32 devAddr; - u32 bmCtlShadow; - u32 seqCtlShadow; - __OSBlockInfo block[2]; -} __OSTranxInfo; - -typedef struct OSPiHandle_s -{ - struct OSPiHandle_s *next; - u8 type; - u8 latency; - u8 pageSize; - u8 relDuration; - u8 pulse; - u8 domain; - u32 baseAddress; - u32 speed; - __OSTranxInfo transferInfo; -} OSPiHandle; - -typedef struct -{ - u8 type; - u32 address; -} OSPiInfo; - -typedef struct -{ - u16 type; - u8 pri; - u8 status; - OSMesgQueue *retQueue; -} OSIoMesgHdr; - -typedef struct -{ - /*0x00*/ OSIoMesgHdr hdr; - /*0x08*/ void *dramAddr; - /*0x0C*/ u32 devAddr; - /*0x10*/ u32 size; - OSPiHandle *piHandle; //from the official definition -} OSIoMesg; - -/* Definitions */ - -#define OS_READ 0 // device -> RDRAM -#define OS_WRITE 1 // device <- RDRAM - -#define OS_MESG_PRI_NORMAL 0 -#define OS_MESG_PRI_HIGH 1 - -/* Functions */ - -s32 osPiStartDma(OSIoMesg *mb, s32 priority, s32 direction, - u32 devAddr, void *vAddr, u32 nbytes, OSMesgQueue *mq); -void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, - s32 cmdMsgCnt); -OSMesgQueue *osPiGetCmdQueue(void); -s32 osPiWriteIo(u32 devAddr, u32 data); -s32 osPiReadIo(u32 devAddr, u32 *data); - -#endif diff --git a/ge007_libultra/include/ultra64/rdp.h b/ge007_libultra/include/ultra64/rdp.h deleted file mode 100644 index 718d223..0000000 --- a/ge007_libultra/include/ultra64/rdp.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef _ULTRA64_RDP_H_ -#define _ULTRA64_RDP_H_ - -/* DP Command Registers */ - -#define DPC_REG_BASE 0xA4100000 - -#define DPC_START_REG (*(vu32 *)(DPC_REG_BASE + 0x00)) -#define DPC_END_REG (*(vu32 *)(DPC_REG_BASE + 0x04)) -#define DPC_CURRENT_REG (*(vu32 *)(DPC_REG_BASE + 0x08)) -#define DPC_STATUS_REG (*(vu32 *)(DPC_REG_BASE + 0x0C)) -#define DPC_CLOCK_REG (*(vu32 *)(DPC_REG_BASE + 0x10)) -#define DPC_BUFBUSY_REG (*(vu32 *)(DPC_REG_BASE + 0x14)) -#define DPC_PIPEBUSY_REG (*(vu32 *)(DPC_REG_BASE + 0x18)) -#define DPC_TMEM_REG (*(vu32 *)(DPC_REG_BASE + 0x1C)) - - -/* DP Span Registers */ - -#define DPS_REG_BASE 0xA4200000 - -#define DPS_TBIST_REG (*(vu32 *)(DPS_REG_BASE + 0x00)) -#define DPS_TEST_MODE_REG (*(vu32 *)(DPS_REG_BASE + 0x04)) -#define DPS_BUFTEST_ADDR_REG (*(vu32 *)(DPS_REG_BASE + 0x08)) -#define DPS_BUFTEST_DATA_REG (*(vu32 *)(DPS_REG_BASE + 0x0C)) - - -/* Functions */ - -u32 osDpGetStatus(void); -void osDpSetStatus(u32 status); - -#endif diff --git a/ge007_libultra/include/ultra64/sptask.h b/ge007_libultra/include/ultra64/sptask.h deleted file mode 100644 index 75d5752..0000000 --- a/ge007_libultra/include/ultra64/sptask.h +++ /dev/null @@ -1,114 +0,0 @@ -#ifndef _ULTRA64_SPTASK_H_ -#define _ULTRA64_SPTASK_H_ - -/* Task Types */ -#define M_GFXTASK 1 -#define M_AUDTASK 2 -#define M_VIDTASK 3 -#define M_HVQTASK 6 -#define M_HVQMTASK 7 - -//gGfxSPTaskYieldBuffer has to be changed for this too -#if (defined(F3DEX_GBI) || defined(F3DLP_GBI) || defined(F3DEX_GBI_2)) -#define OS_YIELD_DATA_SIZE 0xc00 -#else -#define OS_YIELD_DATA_SIZE 0x900 -#endif -#define OS_YIELD_AUDIO_SIZE 0x400 - -/* Flags */ -#define M_TASK_FLAG0 1 -#define M_TASK_FLAG1 2 - -/* SpStatus */ -#define SPSTATUS_CLEAR_HALT 0x00000001 -#define SPSTATUS_SET_HALT 0x00000002 -#define SPSTATUS_CLEAR_BROKE 0x00000004 -#define SPSTATUS_CLEAR_INTR 0x00000008 -#define SPSTATUS_SET_INTR 0x00000010 -#define SPSTATUS_CLEAR_SSTEP 0x00000020 -#define SPSTATUS_SET_SSTEP 0x00000040 -#define SPSTATUS_CLEAR_INTR_ON_BREAK 0x00000080 -#define SPSTATUS_SET_INTR_ON_BREAK 0x00000100 -#define SPSTATUS_CLEAR_SIGNAL0 0x00000200 -#define SPSTATUS_SET_SIGNAL0 0x00000400 -#define SPSTATUS_CLEAR_SIGNAL1 0x00000800 -#define SPSTATUS_SET_SIGNAL1 0x00001000 -#define SPSTATUS_CLEAR_SIGNAL2 0x00002000 -#define SPSTATUS_SET_SIGNAL2 0x00004000 -#define SPSTATUS_CLEAR_SIGNAL3 0x00008000 -#define SPSTATUS_SET_SIGNAL3 0x00010000 -#define SPSTATUS_CLEAR_SIGNAL4 0x00020000 -#define SPSTATUS_SET_SIGNAL4 0x00040000 -#define SPSTATUS_CLEAR_SIGNAL5 0x00080000 -#define SPSTATUS_SET_SIGNAL5 0x00100000 -#define SPSTATUS_CLEAR_SIGNAL6 0x00200000 -#define SPSTATUS_SET_SIGNAL6 0x00800000 -#define SPSTATUS_CLEAR_SIGNAL7 0x01000000 -#define SPSTATUS_SET_SIGNAL7 0x02000000 - -#define SPSTATUS_HALT 0x0001 -#define SPSTATUS_BROKE 0x0002 -#define SPSTATUS_DMA_BUSY 0x0004 -#define SPSTATUS_DMA_FULL 0x0008 -#define SPSTATUS_IO_FULL 0x0010 -#define SPSTATUS_SINGLE_STEP 0x0020 -#define SPSTATUS_INTERRUPT_ON_BREAK 0x0040 -#define SPSTATUS_SIGNAL0_SET 0x0080 -#define SPSTATUS_SIGNAL1_SET 0x0100 -#define SPSTATUS_SIGNAL2_SET 0x0200 -#define SPSTATUS_SIGNAL3_SET 0x0400 -#define SPSTATUS_SIGNAL4_SET 0x0800 -#define SPSTATUS_SIGNAL5_SET 0x1000 -#define SPSTATUS_SIGNAL6_SET 0x2000 -#define SPSTATUS_SIGNAL7_SET 0x4000 - -/* Types */ -/* Types */ - -typedef struct -{ - /*0x00*/ u32 type; - /*0x04*/ u32 flags; - - /*0x08*/ u64 *ucode_boot; - /*0x0C*/ u32 ucode_boot_size; - - /*0x10*/ u64 *ucode; - /*0x14*/ u32 ucode_size; - - /*0x18*/ u64 *ucode_data; - /*0x1C*/ u32 ucode_data_size; - - /*0x20*/ u64 *dram_stack; - /*0x24*/ u32 dram_stack_size; - - /*0x28*/ u64 *output_buff; - /*0x2C*/ u64 *output_buff_size; - - /*0x30*/ u64 *data_ptr; - /*0x34*/ u32 data_size; - - /*0x38*/ u64 *yield_data_ptr; - /*0x3C*/ u32 yield_data_size; -} OSTask_t; // size = 0x40 - -typedef union { - OSTask_t t; - long long int force_structure_alignment; -} OSTask; - -typedef u32 OSYieldResult; - -/* Functions */ - -#define osSpTaskStart(p) \ - osSpTaskLoad(p); \ - osSpTaskStartGo(p); - -void osSpTaskLoad(OSTask *task); -void osSpTaskStartGo(OSTask *task); -void osSpTaskYield(void); -OSYieldResult osSpTaskYielded(OSTask *task); - -#endif diff --git a/ge007_libultra/include/ultra64/thread.h b/ge007_libultra/include/ultra64/thread.h deleted file mode 100644 index 791701c..0000000 --- a/ge007_libultra/include/ultra64/thread.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef _ULTRA64_THREAD_H_ -#define _ULTRA64_THREAD_H_ - -/* Recommended priorities for system threads */ -#define OS_PRIORITY_MAX 255 -#define OS_PRIORITY_VIMGR 254 -#define OS_PRIORITY_RMON 250 -#define OS_PRIORITY_RMONSPIN 200 -#define OS_PRIORITY_PIMGR 150 -#define OS_PRIORITY_SIMGR 140 -#define OS_PRIORITY_APPMAX 127 -#define OS_PRIORITY_IDLE 0 - -#define OS_STATE_STOPPED 1 -#define OS_STATE_RUNNABLE 2 -#define OS_STATE_RUNNING 4 -#define OS_STATE_WAITING 8 - -/* Types */ - -typedef s32 OSPri; -typedef s32 OSId; - -typedef union -{ - struct {f32 f_odd; f32 f_even;} f; -} __OSfp; - -typedef struct -{ - /* registers */ - /*0x20*/ u64 at, v0, v1, a0, a1, a2, a3; - /*0x58*/ u64 t0, t1, t2, t3, t4, t5, t6, t7; - /*0x98*/ u64 s0, s1, s2, s3, s4, s5, s6, s7; - /*0xD8*/ u64 t8, t9, gp, sp, s8, ra; - /*0x108*/ u64 lo, hi; - /*0x118*/ u32 sr, pc, cause, badvaddr, rcp; - /*0x12C*/ u32 fpcsr; - __OSfp fp0, fp2, fp4, fp6, fp8, fp10, fp12, fp14; - __OSfp fp16, fp18, fp20, fp22, fp24, fp26, fp28, fp30; -} __OSThreadContext; - -typedef struct -{ - u32 flag; - u32 count; - u64 time; -} __OSThreadprofile_s; - -typedef struct OSThread_s -{ - /*0x00*/ struct OSThread_s *next; - /*0x04*/ OSPri priority; - /*0x08*/ struct OSThread_s **queue; - /*0x0C*/ struct OSThread_s *tlnext; - /*0x10*/ u16 state; - /*0x12*/ u16 flags; - /*0x14*/ OSId id; - /*0x18*/ int fp; - /*0x1C*/ __OSThreadprofile_s *thprof; - /*0x20*/ __OSThreadContext context; -} OSThread; - - -/* Functions */ - -void osCreateThread(OSThread *thread, OSId id, void (*entry)(void *), - void *arg, void *sp, OSPri pri); -OSId osGetThreadId(OSThread *thread); -OSPri osGetThreadPri(OSThread *thread); -void osSetThreadPri(OSThread *thread, OSPri pri); -void osStartThread(OSThread *thread); -void osStopThread(OSThread *thread); - -#endif diff --git a/ge007_libultra/include/ultra64/time.h b/ge007_libultra/include/ultra64/time.h deleted file mode 100644 index 1507ed3..0000000 --- a/ge007_libultra/include/ultra64/time.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef _ULTRA64_TIME_H_ -#define _ULTRA64_TIME_H_ -#include "message.h" - -/* Types */ - -typedef struct OSTimer_str -{ - struct OSTimer_str *next; - struct OSTimer_str *prev; - u64 interval; - u64 remaining; - OSMesgQueue *mq; - OSMesg *msg; -} OSTimer; - -typedef u64 OSTime; - -/* Functions */ - -OSTime osGetTime(void); -void osSetTime(OSTime time); -u32 osSetTimer(OSTimer *, OSTime, u64, OSMesgQueue *, OSMesg); - -#endif diff --git a/ge007_libultra/include/ultra64/tlb.h b/ge007_libultra/include/ultra64/tlb.h deleted file mode 100644 index 1a0f469..0000000 --- a/ge007_libultra/include/ultra64/tlb.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef _ULTRA64_TLB_H_ -#define _ULTRA64_TLB_H_ - -/* Types */ - -typedef u32 OSPageMask; -/* OSPageMask Valid Values */ -#define OS_PM_4K 0x0000000 -#define OS_PM_16K 0x0006000 -#define OS_PM_64K 0x001e000 -#define OS_PM_256K 0x007e000 -#define OS_PM_1M 0x01fe000 -#define OS_PM_4M 0x07fe000 -#define OS_PM_16M 0x1ffe000 - -/* Functions */ - -void osMapTLB(s32 index, OSPageMask pm, void *vaddr, u32 evenpaddr, - u32 oddpaddr, s32 asid); -void osMapTLBRdb(void); -void osUnmapTLB(s32 index); -void osUnmapTLBAll(void); -void osSetTLBASID(s32 asid); - -#endif diff --git a/ge007_libultra/include/ultra64/types.h b/ge007_libultra/include/ultra64/types.h deleted file mode 100644 index ddad7d1..0000000 --- a/ge007_libultra/include/ultra64/types.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef _ULTRA64_TYPES_H_ -#define _ULTRA64_TYPES_H_ - -#ifndef NULL -#define NULL (void *)0 -#endif - -#define TRUE 1 -#define FALSE 0 - -typedef signed char s8; -typedef unsigned char u8; -typedef signed short int s16; -typedef unsigned short int u16; -typedef signed int s32; -typedef unsigned int u32; -typedef signed long long int s64; -typedef unsigned long long int u64; - -typedef volatile u8 vu8; -typedef volatile u16 vu16; -typedef volatile u32 vu32; -typedef volatile u64 vu64; -typedef volatile s8 vs8; -typedef volatile s16 vs16; -typedef volatile s32 vs32; -typedef volatile s64 vs64; - -typedef float f32; -typedef double f64; - -typedef long int Mtx_t[4][4]; -typedef union -{ - Mtx_t m; - long long int forc_structure_alignment; -} Mtx; - -typedef unsigned long size_t; - -#endif diff --git a/ge007_libultra/include/ultra64/ucode.h b/ge007_libultra/include/ultra64/ucode.h deleted file mode 100644 index 407f7f6..0000000 --- a/ge007_libultra/include/ultra64/ucode.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _ULTRA64_UCODE_H_ -#define _ULTRA64_UCODE_H_ - -#define SP_DRAM_STACK_SIZE8 0x400 -#define SP_UCODE_SIZE 0x1000 -#define SP_UCODE_DATA_SIZE 0x800 - -// standard boot ucode -extern u64 rspF3DBootStart[], rspF3DBootEnd[]; - -// F3D ucode -extern u64 rspF3DStart[], rspF3DEnd[]; - -// F3D data ucode -extern u64 rspF3DDataStart[], rspF3DDataEnd[]; - -// F3D audio ucode -extern u64 rspF3DAudioStart[], rspF3DAudioEnd[]; - -// F3D audio data ucode -extern u64 rspF3DAudioDataStart[], rspF3DAudioDataEnd[]; - -#endif diff --git a/ge007_libultra/include/ultra64/vi.h b/ge007_libultra/include/ultra64/vi.h deleted file mode 100644 index 6433a1d..0000000 --- a/ge007_libultra/include/ultra64/vi.h +++ /dev/null @@ -1,143 +0,0 @@ -#ifndef _ULTRA64_VI_H_ -#define _ULTRA64_VI_H_ - -/* Ultra64 Video Interface */ - - -/* Special Features */ -#define OS_VI_GAMMA_ON 0x0001 -#define OS_VI_GAMMA_OFF 0x0002 -#define OS_VI_GAMMA_DITHER_ON 0x0004 -#define OS_VI_GAMMA_DITHER_OFF 0x0008 -#define OS_VI_DIVOT_ON 0x0010 -#define OS_VI_DIVOT_OFF 0x0020 -#define OS_VI_DITHER_FILTER_ON 0x0040 -#define OS_VI_DITHER_FILTER_OFF 0x0080 - -#define OS_VI_GAMMA 0x08 -#define OS_VI_GAMMA_DITHER 0x04 -#define OS_VI_DIVOT 0x10 -#define OS_VI_DITHER_FILTER 0x10000 -#define OS_VI_UNK200 0x200 -#define OS_VI_UNK100 0x100 - - -/* Types */ - -typedef struct -{ - u32 ctrl; - u32 width; - u32 burst; - u32 vSync; - u32 hSync; - u32 leap; - u32 hStart; - u32 xScale; - u32 vCurrent; -} OSViCommonRegs; - -typedef struct -{ - u32 origin; - u32 yScale; - u32 vStart; - u32 vBurst; - u32 vIntr; -} OSViFieldRegs; - -typedef struct -{ - u8 type; - OSViCommonRegs comRegs; - OSViFieldRegs fldRegs[2]; -} OSViMode; - -typedef struct -{ - /* 0x00 */ u16 unk00; //some kind of flags. swap buffer sets to 0x10 - /* 0x02 */ u16 retraceCount; - /* 0x04 */ void* buffer; - /* 0x08 */ OSViMode *unk08; - /* 0x0c */ u32 features; - /* 0x10 */ OSMesgQueue *mq; - /* 0x14 */ OSMesg *msg; - /* 0x18 */ u32 unk18; - /* 0x1c */ u32 unk1c; - /* 0x20 */ u32 unk20; - /* 0x24 */ f32 unk24; - /* 0x28 */ u16 unk28; - /* 0x2c */ u32 unk2c; -} OSViContext; - -void osCreateViManager(OSPri pri); -void osViSetMode(OSViMode *mode); -void osViBlack(u8 active); -void osViSetSpecialFeatures(u32 func); -void osViSwapBuffer(void *vaddr); - - -#define OS_VI_NTSC_LPN1 0 /* NTSC */ -#define OS_VI_NTSC_LPF1 1 -#define OS_VI_NTSC_LAN1 2 -#define OS_VI_NTSC_LAF1 3 -#define OS_VI_NTSC_LPN2 4 -#define OS_VI_NTSC_LPF2 5 -#define OS_VI_NTSC_LAN2 6 -#define OS_VI_NTSC_LAF2 7 -#define OS_VI_NTSC_HPN1 8 -#define OS_VI_NTSC_HPF1 9 -#define OS_VI_NTSC_HAN1 10 -#define OS_VI_NTSC_HAF1 11 -#define OS_VI_NTSC_HPN2 12 -#define OS_VI_NTSC_HPF2 13 - -#define OS_VI_PAL_LPN1 14 /* PAL */ -#define OS_VI_PAL_LPF1 15 -#define OS_VI_PAL_LAN1 16 -#define OS_VI_PAL_LAF1 17 -#define OS_VI_PAL_LPN2 18 -#define OS_VI_PAL_LPF2 19 -#define OS_VI_PAL_LAN2 20 -#define OS_VI_PAL_LAF2 21 -#define OS_VI_PAL_HPN1 22 -#define OS_VI_PAL_HPF1 23 -#define OS_VI_PAL_HAN1 24 -#define OS_VI_PAL_HAF1 25 -#define OS_VI_PAL_HPN2 26 -#define OS_VI_PAL_HPF2 27 - -#define OS_VI_MPAL_LPN1 28 /* MPAL - mainly Brazil */ -#define OS_VI_MPAL_LPF1 29 -#define OS_VI_MPAL_LAN1 30 -#define OS_VI_MPAL_LAF1 31 -#define OS_VI_MPAL_LPN2 32 -#define OS_VI_MPAL_LPF2 33 -#define OS_VI_MPAL_LAN2 34 -#define OS_VI_MPAL_LAF2 35 -#define OS_VI_MPAL_HPN1 36 -#define OS_VI_MPAL_HPF1 37 -#define OS_VI_MPAL_HAN1 38 -#define OS_VI_MPAL_HAF1 39 -#define OS_VI_MPAL_HPN2 40 -#define OS_VI_MPAL_HPF2 41 - -#define OS_VI_FPAL_LPN1 42 /* FPAL - Full screen PAL */ -#define OS_VI_FPAL_LPF1 43 -#define OS_VI_FPAL_LAN1 44 -#define OS_VI_FPAL_LAF1 45 -#define OS_VI_FPAL_LPN2 46 -#define OS_VI_FPAL_LPF2 47 -#define OS_VI_FPAL_LAN2 48 -#define OS_VI_FPAL_LAF2 49 -#define OS_VI_FPAL_HPN1 50 -#define OS_VI_FPAL_HPF1 51 -#define OS_VI_FPAL_HAN1 52 -#define OS_VI_FPAL_HAF1 53 -#define OS_VI_FPAL_HPN2 54 -#define OS_VI_FPAL_HPF2 55 - -extern OSViMode osViModeTable[]; /* Global VI mode table */ - - -#endif diff --git a/ge007_libultra/include/unused.h b/ge007_libultra/include/unused.h deleted file mode 100644 index 25bdd6c..0000000 --- a/ge007_libultra/include/unused.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _UNUSED_H_ -#define _UNUSED_H_ - -// Avoid compiler warnings for unused variables -#ifdef __GNUC__ -#define UNUSED __attribute__((unused)) -#else -#define UNUSED -#endif - - -#endif diff --git a/ge007_libultra/lib/asm/__osDisableInt.s b/ge007_libultra/lib/asm/__osDisableInt.s deleted file mode 100644 index 755b300..0000000 --- a/ge007_libultra/lib/asm/__osDisableInt.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - - -glabel __osDisableInt - mfc0 $t0, $12 - and $t1, $t0, -2 - mtc0 $t1, $12 - andi $v0, $t0, 1 - nop - jr $ra - nop - diff --git a/ge007_libultra/lib/asm/__osExceptionPreamble.s b/ge007_libultra/lib/asm/__osExceptionPreamble.s deleted file mode 100644 index 1f47d0a..0000000 --- a/ge007_libultra/lib/asm/__osExceptionPreamble.s +++ /dev/null @@ -1,648 +0,0 @@ - -.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 - lui $k0, %hi(__osException) # $k0, 0x8032 - addiu $k0, %lo(__osException) # addiu $k0, $k0, 0x66d0 - jr $k0 - nop - - -glabel __osException -/* 0E16D0 803266D0 3C1A8036 */ lui $k0, %hi(gInterruptedThread) # $k0, 0x8036 -/* 0E16D4 803266D4 275A5F40 */ addiu $k0, %lo(gInterruptedThread) # addiu $k0, $k0, 0x5f40 -/* 0E16D8 803266D8 FF410020 */ sd $at, 0x20($k0) -/* 0E16DC 803266DC 401B6000 */ mfc0 $k1, $12 -/* 0E16E0 803266E0 AF5B0118 */ sw $k1, 0x118($k0) -/* 0E16E4 803266E4 2401FFFC */ li $at, -4 -/* 0E16E8 803266E8 0361D824 */ and $k1, $k1, $at -/* 0E16EC 803266EC 409B6000 */ mtc0 $k1, $12 -/* 0E16F0 803266F0 FF480058 */ sd $t0, 0x58($k0) -/* 0E16F4 803266F4 FF490060 */ sd $t1, 0x60($k0) -/* 0E16F8 803266F8 FF4A0068 */ sd $t2, 0x68($k0) -/* 0E16FC 803266FC AF400018 */ sw $zero, 0x18($k0) -/* 0E1700 80326700 40086800 */ mfc0 $t0, $13 -/* 0E1704 80326704 3109007C */ andi $t1, $t0, 0x7c -/* 0E1708 80326708 240A0000 */ li $t2, 0 -/* 0E170C 8032670C 152A0010 */ bne $t1, $t2, .L80326750 -/* 0E1710 80326710 00000000 */ nop -/* 0E1714 80326714 03684824 */ and $t1, $k1, $t0 -/* 0E1718 80326718 312A4000 */ andi $t2, $t1, 0x4000 -/* 0E171C 8032671C 11400005 */ beqz $t2, .L80326734 -/* 0E1720 80326720 00000000 */ nop -/* 0E1724 80326724 24090001 */ li $t1, 1 -/* 0E1728 80326728 3C018033 */ lui $at, %hi(D_80334934) # $at, 0x8033 -/* 0E172C 8032672C 10000019 */ b .L80326794 -/* 0E1730 80326730 AC294934 */ sw $t1, %lo(D_80334934)($at) -.L80326734: -/* 0E1734 80326734 312A2000 */ andi $t2, $t1, 0x2000 -/* 0E1738 80326738 11400005 */ beqz $t2, .L80326750 -/* 0E173C 8032673C 00000000 */ nop -/* 0E1740 80326740 24090001 */ li $t1, 1 -/* 0E1744 80326744 3C018033 */ lui $at, %hi(D_80334938) # $at, 0x8033 -/* 0E1748 80326748 10000012 */ b .L80326794 -/* 0E174C 8032674C AC294938 */ sw $t1, %lo(D_80334938)($at) -.L80326750: -/* 0E1750 80326750 3C018033 */ lui $at, %hi(D_80334934) # $at, 0x8033 -/* 0E1754 80326754 AC204934 */ sw $zero, %lo(D_80334934)($at) -/* 0E1758 80326758 3C018033 */ lui $at, %hi(D_80334938) # $at, 0x8033 -/* 0E175C 8032675C 03404025 */ move $t0, $k0 -/* 0E1760 80326760 AC204938 */ sw $zero, %lo(D_80334938)($at) -/* 0E1764 80326764 3C1A8033 */ lui $k0, %hi(D_803348A0) # $k0, 0x8033 -/* 0E1768 80326768 8F5A48A0 */ lw $k0, %lo(D_803348A0)($k0) -/* 0E176C 8032676C DD090020 */ ld $t1, 0x20($t0) -/* 0E1770 80326770 FF490020 */ sd $t1, 0x20($k0) -/* 0E1774 80326774 DD090118 */ ld $t1, 0x118($t0) -/* 0E1778 80326778 FF490118 */ sd $t1, 0x118($k0) -/* 0E177C 8032677C DD090058 */ ld $t1, 0x58($t0) -/* 0E1780 80326780 FF490058 */ sd $t1, 0x58($k0) -/* 0E1784 80326784 DD090060 */ ld $t1, 0x60($t0) -/* 0E1788 80326788 FF490060 */ sd $t1, 0x60($k0) -/* 0E178C 8032678C DD090068 */ ld $t1, 0x68($t0) -/* 0E1790 80326790 FF490068 */ sd $t1, 0x68($k0) -.L80326794: -/* 0E1794 80326794 00004012 */ mflo $t0 -/* 0E1798 80326798 FF480108 */ sd $t0, 0x108($k0) -/* 0E179C 8032679C 00004010 */ mfhi $t0 -/* 0E17A0 803267A0 FF420028 */ sd $v0, 0x28($k0) -/* 0E17A4 803267A4 FF430030 */ sd $v1, 0x30($k0) -/* 0E17A8 803267A8 FF440038 */ sd $a0, 0x38($k0) -/* 0E17AC 803267AC FF450040 */ sd $a1, 0x40($k0) -/* 0E17B0 803267B0 FF460048 */ sd $a2, 0x48($k0) -/* 0E17B4 803267B4 FF470050 */ sd $a3, 0x50($k0) -/* 0E17B8 803267B8 FF4B0070 */ sd $t3, 0x70($k0) -/* 0E17BC 803267BC FF4C0078 */ sd $t4, 0x78($k0) -/* 0E17C0 803267C0 FF4D0080 */ sd $t5, 0x80($k0) -/* 0E17C4 803267C4 FF4E0088 */ sd $t6, 0x88($k0) -/* 0E17C8 803267C8 FF4F0090 */ sd $t7, 0x90($k0) -/* 0E17CC 803267CC FF500098 */ sd $s0, 0x98($k0) -/* 0E17D0 803267D0 FF5100A0 */ sd $s1, 0xa0($k0) -/* 0E17D4 803267D4 FF5200A8 */ sd $s2, 0xa8($k0) -/* 0E17D8 803267D8 FF5300B0 */ sd $s3, 0xb0($k0) -/* 0E17DC 803267DC FF5400B8 */ sd $s4, 0xb8($k0) -/* 0E17E0 803267E0 FF5500C0 */ sd $s5, 0xc0($k0) -/* 0E17E4 803267E4 FF5600C8 */ sd $s6, 0xc8($k0) -/* 0E17E8 803267E8 FF5700D0 */ sd $s7, 0xd0($k0) -/* 0E17EC 803267EC FF5800D8 */ sd $t8, 0xd8($k0) -/* 0E17F0 803267F0 FF5900E0 */ sd $t9, 0xe0($k0) -/* 0E17F4 803267F4 FF5C00E8 */ sd $gp, 0xe8($k0) -/* 0E17F8 803267F8 FF5D00F0 */ sd $sp, 0xf0($k0) -/* 0E17FC 803267FC FF5E00F8 */ sd $fp, 0xf8($k0) -/* 0E1800 80326800 FF5F0100 */ sd $ra, 0x100($k0) -/* 0E1804 80326804 FF480110 */ sd $t0, 0x110($k0) -/* 0E1808 80326808 40087000 */ mfc0 $t0, $14 -/* 0E180C 8032680C AF48011C */ sw $t0, 0x11c($k0) -/* 0E1810 80326810 8F480018 */ lw $t0, 0x18($k0) -/* 0E1814 80326814 11000014 */ beqz $t0, .L80326868 -/* 0E1818 80326818 00000000 */ nop -/* 0E181C 8032681C 4448F800 */ cfc1 $t0, $31 -/* 0E1820 80326820 00000000 */ nop -/* 0E1824 80326824 AF48012C */ sw $t0, 0x12c($k0) -/* 0E1828 80326828 F7400130 */ sdc1 $f0, 0x130($k0) -/* 0E182C 8032682C F7420138 */ sdc1 $f2, 0x138($k0) -/* 0E1830 80326830 F7440140 */ sdc1 $f4, 0x140($k0) -/* 0E1834 80326834 F7460148 */ sdc1 $f6, 0x148($k0) -/* 0E1838 80326838 F7480150 */ sdc1 $f8, 0x150($k0) -/* 0E183C 8032683C F74A0158 */ sdc1 $f10, 0x158($k0) -/* 0E1840 80326840 F74C0160 */ sdc1 $f12, 0x160($k0) -/* 0E1844 80326844 F74E0168 */ sdc1 $f14, 0x168($k0) -/* 0E1848 80326848 F7500170 */ sdc1 $f16, 0x170($k0) -/* 0E184C 8032684C F7520178 */ sdc1 $f18, 0x178($k0) -/* 0E1850 80326850 F7540180 */ sdc1 $f20, 0x180($k0) -/* 0E1854 80326854 F7560188 */ sdc1 $f22, 0x188($k0) -/* 0E1858 80326858 F7580190 */ sdc1 $f24, 0x190($k0) -/* 0E185C 8032685C F75A0198 */ sdc1 $f26, 0x198($k0) -/* 0E1860 80326860 F75C01A0 */ sdc1 $f28, 0x1a0($k0) -/* 0E1864 80326864 F75E01A8 */ sdc1 $f30, 0x1a8($k0) -.L80326868: -/* 0E1868 80326868 40086800 */ mfc0 $t0, $13 -/* 0E186C 8032686C AF480120 */ sw $t0, 0x120($k0) -/* 0E1870 80326870 3C09A430 */ lui $t1, %hi(D_A430000C) # $t1, 0xa430 -/* 0E1874 80326874 8D29000C */ lw $t1, %lo(D_A430000C)($t1) -/* 0E1878 80326878 AF490128 */ sw $t1, 0x128($k0) -/* 0E187C 8032687C 24090002 */ li $t1, 2 -/* 0E1880 80326880 A7490010 */ sh $t1, 0x10($k0) -/* 0E1884 80326884 3C098033 */ lui $t1, %hi(D_80334934) # $t1, 0x8033 -/* 0E1888 80326888 8D294934 */ lw $t1, %lo(D_80334934)($t1) -/* 0E188C 8032688C 11200009 */ beqz $t1, .L803268B4 -/* 0E1890 80326890 00000000 */ nop -/* 0E1894 80326894 3C0AC000 */ lui $t2, %hi(D_C0000008) # $t2, 0xc000 -/* 0E1898 80326898 AD400008 */ sw $zero, %lo(D_C0000008)($t2) -/* 0E189C 8032689C 3C04C000 */ lui $a0, 0xc000 -/* 0E18A0 803268A0 254A0008 */ addiu $t2, %lo(D_C0000008) # addiu $t2, $t2, 8 -/* 0E18A4 803268A4 0C0CA6EE */ jal kdebugserver -/* 0E18A8 803268A8 8C840000 */ lw $a0, ($a0) -/* 0E18AC 803268AC 10000156 */ b .L80326E08 -/* 0E18B0 803268B0 00000000 */ nop -.L803268B4: -/* 0E18B4 803268B4 3C098033 */ lui $t1, %hi(D_80334938) # $t1, 0x8033 -/* 0E18B8 803268B8 8D294938 */ lw $t1, %lo(D_80334938)($t1) -/* 0E18BC 803268BC 11200010 */ beqz $t1, .L80326900 -/* 0E18C0 803268C0 00000000 */ nop -/* 0E18C4 803268C4 3C0AC000 */ lui $t2, %hi(D_C000000C) # $t2, 0xc000 -/* 0E18C8 803268C8 AD40000C */ sw $zero, %lo(D_C000000C)($t2) -/* 0E18CC 803268CC 3C098033 */ lui $t1, %hi(D_80334A40) # $t1, 0x8033 -/* 0E18D0 803268D0 8D294A40 */ lw $t1, %lo(D_80334A40)($t1) -/* 0E18D4 803268D4 254A000C */ addiu $t2, %lo(D_C000000C) # addiu $t2, $t2, 0xc -/* 0E18D8 803268D8 11200003 */ beqz $t1, .L803268E8 -/* 0E18DC 803268DC 00000000 */ nop -/* 0E18E0 803268E0 0C0C9B06 */ jal send_mesg -/* 0E18E4 803268E4 24040078 */ li $a0, 120 -.L803268E8: -/* 0E18E8 803268E8 3C098033 */ lui $t1, %hi(D_80334A44) # $t1, 0x8033 -/* 0E18EC 803268EC 8D294A44 */ lw $t1, %lo(D_80334A44)($t1) -/* 0E18F0 803268F0 3C018033 */ lui $at, %hi(D_80334A44) # $at, 0x8033 -/* 0E18F4 803268F4 21290001 */ addi $t1, $t1, 1 -/* 0E18F8 803268F8 10000143 */ b .L80326E08 -/* 0E18FC 803268FC AC294A44 */ sw $t1, %lo(D_80334A44)($at) -.L80326900: -/* 0E1900 80326900 3109007C */ andi $t1, $t0, 0x7c -/* 0E1904 80326904 240A0024 */ li $t2, 36 -/* 0E1908 80326908 112A009E */ beq $t1, $t2, .L80326B84 -/* 0E190C 8032690C 00000000 */ nop -/* 0E1910 80326910 240A002C */ li $t2, 44 -/* 0E1914 80326914 112A00ED */ beq $t1, $t2, .L80326CCC -/* 0E1918 80326918 00000000 */ nop -/* 0E191C 8032691C 240A0000 */ li $t2, 0 -/* 0E1920 80326920 152A00B1 */ bne $t1, $t2, .L80326BE8 -/* 0E1924 80326924 00000000 */ nop -/* 0E1928 80326928 03688024 */ and $s0, $k1, $t0 -.L8032692C: -/* 0E192C 8032692C 3209FF00 */ andi $t1, $s0, 0xff00 -/* 0E1930 80326930 00095302 */ srl $t2, $t1, 0xc -/* 0E1934 80326934 15400003 */ bnez $t2, .L80326944 -/* 0E1938 80326938 00000000 */ nop -/* 0E193C 8032693C 00095202 */ srl $t2, $t1, 8 -/* 0E1940 80326940 214A0010 */ addi $t2, $t2, 0x10 -.L80326944: -/* 0E1944 80326944 3C018034 */ lui $at, %hi(D_80338610) -/* 0E1948 80326948 002A0821 */ addu $at, $at, $t2 -/* 0E194C 8032694C 902A8610 */ lbu $t2, %lo(D_80338610)($at) -/* 0E1950 80326950 3C018034 */ lui $at, %hi(jtbl_80338630) -/* 0E1954 80326954 002A0821 */ addu $at, $at, $t2 -/* 0E1958 80326958 8C2A8630 */ lw $t2, %lo(jtbl_80338630)($at) -/* 0E195C 8032695C 01400008 */ jr $t2 -/* 0E1960 80326960 00000000 */ nop -glabel L80326964 -/* 0E1964 80326964 40095800 */ mfc0 $t1, $11 -/* 0E1968 80326968 40895800 */ mtc0 $t1, $11 -/* 0E196C 8032696C 0C0C9B06 */ jal send_mesg -/* 0E1970 80326970 24040018 */ li $a0, 24 -/* 0E1974 80326974 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff -/* 0E1978 80326978 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* 0E197C 8032697C 1000FFEB */ b .L8032692C -/* 0E1980 80326980 02018024 */ and $s0, $s0, $at -glabel L80326984 -/* 0E1984 80326984 240A0004 */ li $t2, 4 -/* 0E1988 80326988 3C018033 */ lui $at, %hi(D_80334920) -/* 0E198C 8032698C 002A0821 */ addu $at, $at, $t2 -/* 0E1990 80326990 8C2A4920 */ lw $t2, %lo(D_80334920)($at) -/* 0E1994 80326994 11400003 */ beqz $t2, .L803269A4 -/* 0E1998 80326998 00000000 */ nop -/* 0E199C 8032699C 0140F809 */ jalr $t2 -/* 0E19A0 803269A0 00000000 */ nop -.L803269A4: -/* 0E19A4 803269A4 0C0C9B06 */ jal send_mesg -/* 0E19A8 803269A8 24040010 */ li $a0, 16 -/* 0E19AC 803269AC 2401F7FF */ li $at, -2049 -/* 0E19B0 803269B0 1000FFDE */ b .L8032692C -/* 0E19B4 803269B4 02018024 */ and $s0, $s0, $at -glabel L803269B8 -/* 0E19B8 803269B8 3C11A430 */ lui $s1, %hi(D_A4300008) # $s1, 0xa430 -/* 0E19BC 803269BC 8E310008 */ lw $s1, %lo(D_A4300008)($s1) -/* 0E19C0 803269C0 3231003F */ andi $s1, $s1, 0x3f -/* 0E19C4 803269C4 32290001 */ andi $t1, $s1, 1 -/* 0E19C8 803269C8 11200013 */ beqz $t1, .L80326A18 -/* 0E19CC 803269CC 00000000 */ nop -/* 0E19D0 803269D0 3C0CA404 */ lui $t4, %hi(D_A4040010) # $t4, 0xa404 -/* 0E19D4 803269D4 8D8C0010 */ lw $t4, %lo(D_A4040010)($t4) -/* 0E19D8 803269D8 24090008 */ li $t1, 8 -/* 0E19DC 803269DC 3C01A404 */ lui $at, %hi(D_A4040010) # $at, 0xa404 -/* 0E19E0 803269E0 318C0300 */ andi $t4, $t4, 0x300 -/* 0E19E4 803269E4 3231003E */ andi $s1, $s1, 0x3e -/* 0E19E8 803269E8 11800007 */ beqz $t4, .L80326A08 -/* 0E19EC 803269EC AC290010 */ sw $t1, %lo(D_A4040010)($at) -/* 0E19F0 803269F0 0C0C9B06 */ jal send_mesg -/* 0E19F4 803269F4 24040020 */ li $a0, 32 -/* 0E19F8 803269F8 12200038 */ beqz $s1, .L80326ADC -/* 0E19FC 803269FC 00000000 */ nop -/* 0E1A00 80326A00 10000005 */ b .L80326A18 -/* 0E1A04 80326A04 00000000 */ nop -.L80326A08: -/* 0E1A08 80326A08 0C0C9B06 */ jal send_mesg -/* 0E1A0C 80326A0C 24040058 */ li $a0, 88 -/* 0E1A10 80326A10 12200032 */ beqz $s1, .L80326ADC -/* 0E1A14 80326A14 00000000 */ nop -.L80326A18: -/* 0E1A18 80326A18 32290008 */ andi $t1, $s1, 8 -/* 0E1A1C 80326A1C 11200007 */ beqz $t1, .L80326A3C -/* 0E1A20 80326A20 3C01A440 */ lui $at, %hi(D_A4400010) # $at, 0xa440 -/* 0E1A24 80326A24 32310037 */ andi $s1, $s1, 0x37 -/* 0E1A28 80326A28 AC200010 */ sw $zero, %lo(D_A4400010)($at) -/* 0E1A2C 80326A2C 0C0C9B06 */ jal send_mesg -/* 0E1A30 80326A30 24040038 */ li $a0, 56 -/* 0E1A34 80326A34 12200029 */ beqz $s1, .L80326ADC -/* 0E1A38 80326A38 00000000 */ nop -.L80326A3C: -/* 0E1A3C 80326A3C 32290004 */ andi $t1, $s1, 4 -/* 0E1A40 80326A40 11200009 */ beqz $t1, .L80326A68 -/* 0E1A44 80326A44 00000000 */ nop -/* 0E1A48 80326A48 24090001 */ li $t1, 1 -/* 0E1A4C 80326A4C 3C01A450 */ lui $at, %hi(D_A450000C) # $at, 0xa450 -/* 0E1A50 80326A50 3231003B */ andi $s1, $s1, 0x3b -/* 0E1A54 80326A54 AC29000C */ sw $t1, %lo(D_A450000C)($at) -/* 0E1A58 80326A58 0C0C9B06 */ jal send_mesg -/* 0E1A5C 80326A5C 24040030 */ li $a0, 48 -/* 0E1A60 80326A60 1220001E */ beqz $s1, .L80326ADC -/* 0E1A64 80326A64 00000000 */ nop -.L80326A68: -/* 0E1A68 80326A68 32290002 */ andi $t1, $s1, 2 -/* 0E1A6C 80326A6C 11200007 */ beqz $t1, .L80326A8C -/* 0E1A70 80326A70 3C01A480 */ lui $at, %hi(D_A4800018) # $at, 0xa480 -/* 0E1A74 80326A74 3231003D */ andi $s1, $s1, 0x3d -/* 0E1A78 80326A78 AC200018 */ sw $zero, %lo(D_A4800018)($at) -/* 0E1A7C 80326A7C 0C0C9B06 */ jal send_mesg -/* 0E1A80 80326A80 24040028 */ li $a0, 40 -/* 0E1A84 80326A84 12200015 */ beqz $s1, .L80326ADC -/* 0E1A88 80326A88 00000000 */ nop -.L80326A8C: -/* 0E1A8C 80326A8C 32290010 */ andi $t1, $s1, 0x10 -/* 0E1A90 80326A90 11200009 */ beqz $t1, .L80326AB8 -/* 0E1A94 80326A94 00000000 */ nop -/* 0E1A98 80326A98 24090002 */ li $t1, 2 -/* 0E1A9C 80326A9C 3C01A460 */ lui $at, %hi(D_A4600010) # $at, 0xa460 -/* 0E1AA0 80326AA0 3231002F */ andi $s1, $s1, 0x2f -/* 0E1AA4 80326AA4 AC290010 */ sw $t1, %lo(D_A4600010)($at) -/* 0E1AA8 80326AA8 0C0C9B06 */ jal send_mesg -/* 0E1AAC 80326AAC 24040040 */ li $a0, 64 -/* 0E1AB0 80326AB0 1220000A */ beqz $s1, .L80326ADC -/* 0E1AB4 80326AB4 00000000 */ nop -.L80326AB8: -/* 0E1AB8 80326AB8 32290020 */ andi $t1, $s1, 0x20 -/* 0E1ABC 80326ABC 11200007 */ beqz $t1, .L80326ADC -/* 0E1AC0 80326AC0 00000000 */ nop -/* 0E1AC4 80326AC4 24090800 */ li $t1, 2048 -/* 0E1AC8 80326AC8 3C01A430 */ lui $at, 0xa430 -/* 0E1ACC 80326ACC 3231001F */ andi $s1, $s1, 0x1f -/* 0E1AD0 80326AD0 AC290000 */ sw $t1, ($at) -/* 0E1AD4 80326AD4 0C0C9B06 */ jal send_mesg -/* 0E1AD8 80326AD8 24040048 */ li $a0, 72 -.L80326ADC: -/* 0E1ADC 80326ADC 2401FBFF */ li $at, -1025 -/* 0E1AE0 80326AE0 1000FF92 */ b .L8032692C -/* 0E1AE4 80326AE4 02018024 */ and $s0, $s0, $at -glabel L80326AE8 -/* 0E1AE8 80326AE8 8F5B0118 */ lw $k1, 0x118($k0) -/* 0E1AEC 80326AEC 2401EFFF */ li $at, -4097 -/* 0E1AF0 80326AF0 3C098033 */ lui $t1, %hi(D_80334808) # $t1, 0x8033 -/* 0E1AF4 80326AF4 0361D824 */ and $k1, $k1, $at -/* 0E1AF8 80326AF8 AF5B0118 */ sw $k1, 0x118($k0) -/* 0E1AFC 80326AFC 25294808 */ addiu $t1, %lo(D_80334808) # addiu $t1, $t1, 0x4808 -/* 0E1B00 80326B00 8D2A0000 */ lw $t2, ($t1) -/* 0E1B04 80326B04 11400003 */ beqz $t2, .L80326B14 -/* 0E1B08 80326B08 2401EFFF */ li $at, -4097 -/* 0E1B0C 80326B0C 10000023 */ b .L80326B9C -/* 0E1B10 80326B10 02018024 */ and $s0, $s0, $at -.L80326B14: -/* 0E1B14 80326B14 240A0001 */ li $t2, 1 -/* 0E1B18 80326B18 AD2A0000 */ sw $t2, ($t1) -/* 0E1B1C 80326B1C 0C0C9B06 */ jal send_mesg -/* 0E1B20 80326B20 24040070 */ li $a0, 112 -/* 0E1B24 80326B24 3C0A8033 */ lui $t2, %hi(D_80334898) # $t2, 0x8033 -/* 0E1B28 80326B28 8D4A4898 */ lw $t2, %lo(D_80334898)($t2) -/* 0E1B2C 80326B2C 2401EFFF */ li $at, -4097 -/* 0E1B30 80326B30 02018024 */ and $s0, $s0, $at -/* 0E1B34 80326B34 8D5B0118 */ lw $k1, 0x118($t2) -/* 0E1B38 80326B38 0361D824 */ and $k1, $k1, $at -/* 0E1B3C 80326B3C 10000017 */ b .L80326B9C -/* 0E1B40 80326B40 AD5B0118 */ sw $k1, 0x118($t2) -glabel L80326B44 -/* 0E1B44 80326B44 2401FDFF */ li $at, -513 -/* 0E1B48 80326B48 01014024 */ and $t0, $t0, $at -/* 0E1B4C 80326B4C 40886800 */ mtc0 $t0, $13 -/* 0E1B50 80326B50 0C0C9B06 */ jal send_mesg -/* 0E1B54 80326B54 24040008 */ li $a0, 8 -/* 0E1B58 80326B58 2401FDFF */ li $at, -513 -/* 0E1B5C 80326B5C 1000FF73 */ b .L8032692C -/* 0E1B60 80326B60 02018024 */ and $s0, $s0, $at -glabel L80326B64 -/* 0E1B64 80326B64 2401FEFF */ li $at, -257 -/* 0E1B68 80326B68 01014024 */ and $t0, $t0, $at -/* 0E1B6C 80326B6C 40886800 */ mtc0 $t0, $13 -/* 0E1B70 80326B70 0C0C9B06 */ jal send_mesg -/* 0E1B74 80326B74 24040000 */ li $a0, 0 -/* 0E1B78 80326B78 2401FEFF */ li $at, -257 -/* 0E1B7C 80326B7C 1000FF6B */ b .L8032692C -/* 0E1B80 80326B80 02018024 */ and $s0, $s0, $at -.L80326B84: -/* 0E1B84 80326B84 24090001 */ li $t1, 1 -/* 0E1B88 80326B88 A7490012 */ sh $t1, 0x12($k0) -/* 0E1B8C 80326B8C 0C0C9B06 */ jal send_mesg -/* 0E1B90 80326B90 24040050 */ li $a0, 80 -/* 0E1B94 80326B94 10000001 */ b .L80326B9C -/* 0E1B98 80326B98 00000000 */ nop -.L80326B9C: -glabel L80326B9C -/* 0E1B9C 80326B9C 3C0A8033 */ lui $t2, %hi(D_80334898) # $t2, 0x8033 -/* 0E1BA0 80326BA0 8D4A4898 */ lw $t2, %lo(D_80334898)($t2) -/* 0E1BA4 80326BA4 8F490004 */ lw $t1, 4($k0) -/* 0E1BA8 80326BA8 8D4B0004 */ lw $t3, 4($t2) -/* 0E1BAC 80326BAC 012B082A */ slt $at, $t1, $t3 -/* 0E1BB0 80326BB0 10200007 */ beqz $at, .L80326BD0 -/* 0E1BB4 80326BB4 00000000 */ nop -/* 0E1BB8 80326BB8 3C048033 */ lui $a0, %hi(D_80334898) # $a0, 0x8033 -/* 0E1BBC 80326BBC 03402825 */ move $a1, $k0 -/* 0E1BC0 80326BC0 0C0C9B64 */ jal __osEnqueueThread -/* 0E1BC4 80326BC4 24844898 */ addiu $a0, %lo(D_80334898) # addiu $a0, $a0, 0x4898 -/* 0E1BC8 80326BC8 080C9B7A */ j __osDispatchThread -/* 0E1BCC 80326BCC 00000000 */ nop - -.L80326BD0: -/* 0E1BD0 80326BD0 3C098033 */ lui $t1, %hi(D_80334898) # $t1, 0x8033 -/* 0E1BD4 80326BD4 25294898 */ addiu $t1, %lo(D_80334898) # addiu $t1, $t1, 0x4898 -/* 0E1BD8 80326BD8 8D2A0000 */ lw $t2, ($t1) -/* 0E1BDC 80326BDC AF4A0000 */ sw $t2, ($k0) -/* 0E1BE0 80326BE0 080C9B7A */ j __osDispatchThread -/* 0E1BE4 80326BE4 AD3A0000 */ sw $k0, ($t1) - -.L80326BE8: -glabel L80326BE8 -/* 0E1BE8 80326BE8 3C018033 */ lui $at, %hi(D_803348A4) # $at, 0x8033 -/* 0E1BEC 80326BEC AC3A48A4 */ sw $k0, %lo(D_803348A4)($at) -/* 0E1BF0 80326BF0 24090001 */ li $t1, 1 -/* 0E1BF4 80326BF4 A7490010 */ sh $t1, 0x10($k0) -/* 0E1BF8 80326BF8 24090002 */ li $t1, 2 -/* 0E1BFC 80326BFC A7490012 */ sh $t1, 0x12($k0) -/* 0E1C00 80326C00 400A4000 */ mfc0 $t2, $8 -/* 0E1C04 80326C04 AF4A0124 */ sw $t2, 0x124($k0) -/* 0E1C08 80326C08 0C0C9B06 */ jal send_mesg -/* 0E1C0C 80326C0C 24040060 */ li $a0, 96 -/* 0E1C10 80326C10 080C9B7A */ j __osDispatchThread -/* 0E1C14 80326C14 00000000 */ nop - -glabel send_mesg -/* 0E1C18 80326C18 3C0A8036 */ lui $t2, %hi(D_80363830) # $t2, 0x8036 -/* 0E1C1C 80326C1C 254A3830 */ addiu $t2, %lo(D_80363830) # addiu $t2, $t2, 0x3830 -/* 0E1C20 80326C20 01445021 */ addu $t2, $t2, $a0 -/* 0E1C24 80326C24 8D490000 */ lw $t1, ($t2) -/* 0E1C28 80326C28 03E09025 */ move $s2, $ra -/* 0E1C2C 80326C2C 11200025 */ beqz $t1, .L80326CC4 -/* 0E1C30 80326C30 00000000 */ nop -/* 0E1C34 80326C34 8D2B0008 */ lw $t3, 8($t1) -/* 0E1C38 80326C38 8D2C0010 */ lw $t4, 0x10($t1) -/* 0E1C3C 80326C3C 016C082A */ slt $at, $t3, $t4 -/* 0E1C40 80326C40 10200020 */ beqz $at, .L80326CC4 -/* 0E1C44 80326C44 00000000 */ nop -/* 0E1C48 80326C48 8D2D000C */ lw $t5, 0xc($t1) -/* 0E1C4C 80326C4C 01AB6821 */ addu $t5, $t5, $t3 -/* 0E1C50 80326C50 01AC001A */ div $zero, $t5, $t4 -/* 0E1C54 80326C54 15800002 */ bnez $t4, .L80326C60 -/* 0E1C58 80326C58 00000000 */ nop -/* 0E1C5C 80326C5C 0007000D */ break 7 -.L80326C60: -/* 0E1C60 80326C60 2401FFFF */ li $at, -1 -/* 0E1C64 80326C64 15810004 */ bne $t4, $at, .L80326C78 -/* 0E1C68 80326C68 3C018000 */ lui $at, 0x8000 -/* 0E1C6C 80326C6C 15A10002 */ bne $t5, $at, .L80326C78 -/* 0E1C70 80326C70 00000000 */ nop -/* 0E1C74 80326C74 0006000D */ break 6 -.L80326C78: -/* 0E1C78 80326C78 8D2C0014 */ lw $t4, 0x14($t1) -/* 0E1C7C 80326C7C 00006810 */ mfhi $t5 -/* 0E1C80 80326C80 000D6880 */ sll $t5, $t5, 2 -/* 0E1C84 80326C84 018D6021 */ addu $t4, $t4, $t5 -/* 0E1C88 80326C88 8D4D0004 */ lw $t5, 4($t2) -/* 0E1C8C 80326C8C 256A0001 */ addiu $t2, $t3, 1 -/* 0E1C90 80326C90 AD8D0000 */ sw $t5, ($t4) -/* 0E1C94 80326C94 AD2A0008 */ sw $t2, 8($t1) -/* 0E1C98 80326C98 8D2A0000 */ lw $t2, ($t1) -/* 0E1C9C 80326C9C 8D4B0000 */ lw $t3, ($t2) -/* 0E1CA0 80326CA0 11600008 */ beqz $t3, .L80326CC4 -/* 0E1CA4 80326CA4 00000000 */ nop -/* 0E1CA8 80326CA8 0C0C9B76 */ jal __osPopThread -/* 0E1CAC 80326CAC 01202025 */ move $a0, $t1 -/* 0E1CB0 80326CB0 00405025 */ move $t2, $v0 -/* 0E1CB4 80326CB4 3C048033 */ lui $a0, %hi(D_80334898) # $a0, 0x8033 -/* 0E1CB8 80326CB8 01402825 */ move $a1, $t2 -/* 0E1CBC 80326CBC 0C0C9B64 */ jal __osEnqueueThread -/* 0E1CC0 80326CC0 24844898 */ addiu $a0, %lo(D_80334898) # addiu $a0, $a0, 0x4898 -.L80326CC4: -/* 0E1CC4 80326CC4 02400008 */ jr $s2 -/* 0E1CC8 80326CC8 00000000 */ nop -.L80326CCC: -/* 0E1CCC 80326CCC 3C013000 */ lui $at, 0x3000 -/* 0E1CD0 80326CD0 01014824 */ and $t1, $t0, $at -/* 0E1CD4 80326CD4 00094F02 */ srl $t1, $t1, 0x1c -/* 0E1CD8 80326CD8 240A0001 */ li $t2, 1 -/* 0E1CDC 80326CDC 152AFFC2 */ bne $t1, $t2, .L80326BE8 -/* 0E1CE0 80326CE0 00000000 */ nop -/* 0E1CE4 80326CE4 8F5B0118 */ lw $k1, 0x118($k0) -/* 0E1CE8 80326CE8 3C012000 */ lui $at, 0x2000 -/* 0E1CEC 80326CEC 24090001 */ li $t1, 1 -/* 0E1CF0 80326CF0 0361D825 */ or $k1, $k1, $at -/* 0E1CF4 80326CF4 AF490018 */ sw $t1, 0x18($k0) -/* 0E1CF8 80326CF8 1000FFB5 */ b .L80326BD0 -/* 0E1CFC 80326CFC AF5B0118 */ sw $k1, 0x118($k0) - - -glabel __osEnqueueAndYield -/* 0E1D00 80326D00 3C058033 */ lui $a1, %hi(D_803348A0) # $a1, 0x8033 -/* 0E1D04 80326D04 8CA548A0 */ lw $a1, %lo(D_803348A0)($a1) -/* 0E1D08 80326D08 40086000 */ mfc0 $t0, $12 -/* 0E1D0C 80326D0C 8CBB0018 */ lw $k1, 0x18($a1) -/* 0E1D10 80326D10 35080002 */ ori $t0, $t0, 2 -/* 0E1D14 80326D14 ACA80118 */ sw $t0, 0x118($a1) -/* 0E1D18 80326D18 FCB00098 */ sd $s0, 0x98($a1) -/* 0E1D1C 80326D1C FCB100A0 */ sd $s1, 0xa0($a1) -/* 0E1D20 80326D20 FCB200A8 */ sd $s2, 0xa8($a1) -/* 0E1D24 80326D24 FCB300B0 */ sd $s3, 0xb0($a1) -/* 0E1D28 80326D28 FCB400B8 */ sd $s4, 0xb8($a1) -/* 0E1D2C 80326D2C FCB500C0 */ sd $s5, 0xc0($a1) -/* 0E1D30 80326D30 FCB600C8 */ sd $s6, 0xc8($a1) -/* 0E1D34 80326D34 FCB700D0 */ sd $s7, 0xd0($a1) -/* 0E1D38 80326D38 FCBC00E8 */ sd $gp, 0xe8($a1) -/* 0E1D3C 80326D3C FCBD00F0 */ sd $sp, 0xf0($a1) -/* 0E1D40 80326D40 FCBE00F8 */ sd $fp, 0xf8($a1) -/* 0E1D44 80326D44 FCBF0100 */ sd $ra, 0x100($a1) -/* 0E1D48 80326D48 13600009 */ beqz $k1, .L80326D70 -/* 0E1D4C 80326D4C ACBF011C */ sw $ra, 0x11c($a1) -/* 0E1D50 80326D50 445BF800 */ cfc1 $k1, $31 -/* 0E1D54 80326D54 F4B40180 */ sdc1 $f20, 0x180($a1) -/* 0E1D58 80326D58 F4B60188 */ sdc1 $f22, 0x188($a1) -/* 0E1D5C 80326D5C F4B80190 */ sdc1 $f24, 0x190($a1) -/* 0E1D60 80326D60 F4BA0198 */ sdc1 $f26, 0x198($a1) -/* 0E1D64 80326D64 F4BC01A0 */ sdc1 $f28, 0x1a0($a1) -/* 0E1D68 80326D68 F4BE01A8 */ sdc1 $f30, 0x1a8($a1) -/* 0E1D6C 80326D6C ACBB012C */ sw $k1, 0x12c($a1) -.L80326D70: -/* 0E1D70 80326D70 3C1BA430 */ lui $k1, %hi(D_A430000C) # $k1, 0xa430 -/* 0E1D74 80326D74 8F7B000C */ lw $k1, %lo(D_A430000C)($k1) -/* 0E1D78 80326D78 10800003 */ beqz $a0, .L80326D88 -/* 0E1D7C 80326D7C ACBB0128 */ sw $k1, 0x128($a1) -/* 0E1D80 80326D80 0C0C9B64 */ jal __osEnqueueThread -/* 0E1D84 80326D84 00000000 */ nop -.L80326D88: -/* 0E1D88 80326D88 080C9B7A */ j __osDispatchThread -/* 0E1D8C 80326D8C 00000000 */ nop - - -#enqueue and pop look like compiled functions? but there's no easy way to extract them -glabel __osEnqueueThread -/* 0E1D90 80326D90 8C980000 */ lw $t8, ($a0) -/* 0E1D94 80326D94 8CAF0004 */ lw $t7, 4($a1) -/* 0E1D98 80326D98 0080C825 */ move $t9, $a0 -/* 0E1D9C 80326D9C 8F0E0004 */ lw $t6, 4($t8) -/* 0E1DA0 80326DA0 01CF082A */ slt $at, $t6, $t7 -/* 0E1DA4 80326DA4 14200007 */ bnez $at, .L80326DC4 -/* 0E1DA8 80326DA8 00000000 */ nop -.L80326DAC: -/* 0E1DAC 80326DAC 0300C825 */ move $t9, $t8 -/* 0E1DB0 80326DB0 8F180000 */ lw $t8, ($t8) -/* 0E1DB4 80326DB4 8F0E0004 */ lw $t6, 4($t8) -/* 0E1DB8 80326DB8 01CF082A */ slt $at, $t6, $t7 -/* 0E1DBC 80326DBC 1020FFFB */ beqz $at, .L80326DAC -/* 0E1DC0 80326DC0 00000000 */ nop -.L80326DC4: -/* 0E1DC4 80326DC4 8F380000 */ lw $t8, ($t9) -/* 0E1DC8 80326DC8 ACB80000 */ sw $t8, ($a1) -/* 0E1DCC 80326DCC AF250000 */ sw $a1, ($t9) -/* 0E1DD0 80326DD0 03E00008 */ jr $ra -/* 0E1DD4 80326DD4 ACA40008 */ sw $a0, 8($a1) - -glabel __osPopThread -/* 0E1DD8 80326DD8 8C820000 */ lw $v0, ($a0) -/* 0E1DDC 80326DDC 8C590000 */ lw $t9, ($v0) -/* 0E1DE0 80326DE0 03E00008 */ jr $ra -/* 0E1DE4 80326DE4 AC990000 */ sw $t9, ($a0) - -glabel __osDispatchThread -/* 0E1DE8 80326DE8 3C048033 */ lui $a0, %hi(D_80334898) # $a0, 0x8033 -/* 0E1DEC 80326DEC 0C0C9B76 */ jal __osPopThread -/* 0E1DF0 80326DF0 24844898 */ addiu $a0, %lo(D_80334898) # addiu $a0, $a0, 0x4898 -/* 0E1DF4 80326DF4 3C018033 */ lui $at, %hi(D_803348A0) # $at, 0x8033 -/* 0E1DF8 80326DF8 AC2248A0 */ sw $v0, %lo(D_803348A0)($at) -/* 0E1DFC 80326DFC 24080004 */ li $t0, 4 -/* 0E1E00 80326E00 A4480010 */ sh $t0, 0x10($v0) -/* 0E1E04 80326E04 0040D025 */ move $k0, $v0 -.L80326E08: -/* 0E1E08 80326E08 DF5B0108 */ ld $k1, 0x108($k0) -/* 0E1E0C 80326E0C DF410020 */ ld $at, 0x20($k0) -/* 0E1E10 80326E10 DF420028 */ ld $v0, 0x28($k0) -/* 0E1E14 80326E14 03600013 */ mtlo $k1 -/* 0E1E18 80326E18 DF5B0110 */ ld $k1, 0x110($k0) -/* 0E1E1C 80326E1C DF430030 */ ld $v1, 0x30($k0) -/* 0E1E20 80326E20 DF440038 */ ld $a0, 0x38($k0) -/* 0E1E24 80326E24 DF450040 */ ld $a1, 0x40($k0) -/* 0E1E28 80326E28 DF460048 */ ld $a2, 0x48($k0) -/* 0E1E2C 80326E2C DF470050 */ ld $a3, 0x50($k0) -/* 0E1E30 80326E30 DF480058 */ ld $t0, 0x58($k0) -/* 0E1E34 80326E34 DF490060 */ ld $t1, 0x60($k0) -/* 0E1E38 80326E38 DF4A0068 */ ld $t2, 0x68($k0) -/* 0E1E3C 80326E3C DF4B0070 */ ld $t3, 0x70($k0) -/* 0E1E40 80326E40 DF4C0078 */ ld $t4, 0x78($k0) -/* 0E1E44 80326E44 DF4D0080 */ ld $t5, 0x80($k0) -/* 0E1E48 80326E48 DF4E0088 */ ld $t6, 0x88($k0) -/* 0E1E4C 80326E4C DF4F0090 */ ld $t7, 0x90($k0) -/* 0E1E50 80326E50 DF500098 */ ld $s0, 0x98($k0) -/* 0E1E54 80326E54 DF5100A0 */ ld $s1, 0xa0($k0) -/* 0E1E58 80326E58 DF5200A8 */ ld $s2, 0xa8($k0) -/* 0E1E5C 80326E5C DF5300B0 */ ld $s3, 0xb0($k0) -/* 0E1E60 80326E60 DF5400B8 */ ld $s4, 0xb8($k0) -/* 0E1E64 80326E64 DF5500C0 */ ld $s5, 0xc0($k0) -/* 0E1E68 80326E68 DF5600C8 */ ld $s6, 0xc8($k0) -/* 0E1E6C 80326E6C DF5700D0 */ ld $s7, 0xd0($k0) -/* 0E1E70 80326E70 DF5800D8 */ ld $t8, 0xd8($k0) -/* 0E1E74 80326E74 DF5900E0 */ ld $t9, 0xe0($k0) -/* 0E1E78 80326E78 DF5C00E8 */ ld $gp, 0xe8($k0) -/* 0E1E7C 80326E7C 03600011 */ mthi $k1 -/* 0E1E80 80326E80 DF5D00F0 */ ld $sp, 0xf0($k0) -/* 0E1E84 80326E84 DF5E00F8 */ ld $fp, 0xf8($k0) -/* 0E1E88 80326E88 DF5F0100 */ ld $ra, 0x100($k0) -/* 0E1E8C 80326E8C 8F5B011C */ lw $k1, 0x11c($k0) -/* 0E1E90 80326E90 409B7000 */ mtc0 $k1, $14 -/* 0E1E94 80326E94 8F5B0118 */ lw $k1, 0x118($k0) -/* 0E1E98 80326E98 409B6000 */ mtc0 $k1, $12 -/* 0E1E9C 80326E9C 8F5B0018 */ lw $k1, 0x18($k0) -/* 0E1EA0 80326EA0 13600013 */ beqz $k1, .L80326EF0 -/* 0E1EA4 80326EA4 00000000 */ nop -/* 0E1EA8 80326EA8 8F5B012C */ lw $k1, 0x12c($k0) -/* 0E1EAC 80326EAC 44DBF800 */ ctc1 $k1, $31 -/* 0E1EB0 80326EB0 D7400130 */ ldc1 $f0, 0x130($k0) -/* 0E1EB4 80326EB4 D7420138 */ ldc1 $f2, 0x138($k0) -/* 0E1EB8 80326EB8 D7440140 */ ldc1 $f4, 0x140($k0) -/* 0E1EBC 80326EBC D7460148 */ ldc1 $f6, 0x148($k0) -/* 0E1EC0 80326EC0 D7480150 */ ldc1 $f8, 0x150($k0) -/* 0E1EC4 80326EC4 D74A0158 */ ldc1 $f10, 0x158($k0) -/* 0E1EC8 80326EC8 D74C0160 */ ldc1 $f12, 0x160($k0) -/* 0E1ECC 80326ECC D74E0168 */ ldc1 $f14, 0x168($k0) -/* 0E1ED0 80326ED0 D7500170 */ ldc1 $f16, 0x170($k0) -/* 0E1ED4 80326ED4 D7520178 */ ldc1 $f18, 0x178($k0) -/* 0E1ED8 80326ED8 D7540180 */ ldc1 $f20, 0x180($k0) -/* 0E1EDC 80326EDC D7560188 */ ldc1 $f22, 0x188($k0) -/* 0E1EE0 80326EE0 D7580190 */ ldc1 $f24, 0x190($k0) -/* 0E1EE4 80326EE4 D75A0198 */ ldc1 $f26, 0x198($k0) -/* 0E1EE8 80326EE8 D75C01A0 */ ldc1 $f28, 0x1a0($k0) -/* 0E1EEC 80326EEC D75E01A8 */ ldc1 $f30, 0x1a8($k0) -.L80326EF0: -/* 0E1EF0 80326EF0 8F5B0128 */ lw $k1, 0x128($k0) -/* 0E1EF4 80326EF4 001BD840 */ sll $k1, $k1, 1 -/* 0E1EF8 80326EF8 3C1A8034 */ lui $k0, %hi(D_803386D0) # $k0, 0x8034 -/* 0E1EFC 80326EFC 275A86D0 */ addiu $k0, %lo(D_803386D0) # addiu $k0, $k0, -0x7930 -/* 0E1F00 80326F00 037AD821 */ addu $k1, $k1, $k0 -/* 0E1F04 80326F04 977B0000 */ lhu $k1, ($k1) -/* 0E1F08 80326F08 3C1AA430 */ lui $k0, %hi(D_A430000C) # $k0, 0xa430 -/* 0E1F0C 80326F0C 275A000C */ addiu $k0, %lo(D_A430000C) # addiu $k0, $k0, 0xc -/* 0E1F10 80326F10 AF5B0000 */ sw $k1, ($k0) -/* 0E1F14 80326F14 00000000 */ nop -/* 0E1F18 80326F18 00000000 */ nop -/* 0E1F1C 80326F1C 00000000 */ nop -/* 0E1F20 80326F20 00000000 */ nop -/* 0E1F24 80326F24 42000018 */ eret -glabel __osCleanupThread -/* 0E1F28 80326F28 0C0CA7CC */ jal osDestroyThread -/* 0E1F2C 80326F2C 00002025 */ move $a0, $zero - -.section .data - -glabel D_80334920 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - -glabel D_80334934 - .word 0 - -glabel D_80334938 - .word 0 - .word 0 - - - -.section .rodata - -glabel D_80338610 - #.incbin "bin/rodata.bin", 0x3BA0, 0x20 - .byte 0x00,0x14,0x18,0x18,0x1C,0x1C,0x1C,0x1C,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x04,0x08,0x08,0x0C,0x0C,0x0C,0x0C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10 - -glabel jtbl_80338630 - .word L80326B9C - .word L80326B64 - .word L80326B44 - .word L803269B8 - .word L80326984 - .word L80326AE8 - .word L80326BE8 - .word L80326BE8 - .word L80326964 - .word 0 - .word 0 - .word 0 diff --git a/ge007_libultra/lib/asm/__osGetCause.s b/ge007_libultra/lib/asm/__osGetCause.s deleted file mode 100644 index 41613e1..0000000 --- a/ge007_libultra/lib/asm/__osGetCause.s +++ /dev/null @@ -1,17 +0,0 @@ - -.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 __osGetCause - mfc0 $v0, $13 - jr $ra - nop - - nop - diff --git a/ge007_libultra/lib/asm/__osGetFpcCsr.s b/ge007_libultra/lib/asm/__osGetFpcCsr.s deleted file mode 100644 index 0f77c08..0000000 --- a/ge007_libultra/lib/asm/__osGetFpcCsr.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -#s32 __osGetFpcCsr(void) - -.section .text, "ax" - -glabel __osGetFpcCsr -/* 00E010 7000D410 4442F800 */ cfc1 $v0, $31 -/* 00E014 7000D414 03E00008 */ jr $ra -/* 00E018 7000D418 00000000 */ nop - diff --git a/ge007_libultra/lib/asm/__osGetSR.s b/ge007_libultra/lib/asm/__osGetSR.s deleted file mode 100644 index f7b1121..0000000 --- a/ge007_libultra/lib/asm/__osGetSR.s +++ /dev/null @@ -1,17 +0,0 @@ - -.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 __osGetSR - mfc0 $v0, $12 - jr $ra - nop - - nop - diff --git a/ge007_libultra/lib/asm/__osGetTLBHi.s b/ge007_libultra/lib/asm/__osGetTLBHi.s deleted file mode 100644 index 9f0f304..0000000 --- a/ge007_libultra/lib/asm/__osGetTLBHi.s +++ /dev/null @@ -1,20 +0,0 @@ - -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -#u32 __osGetTLBHi(s32 index) - -.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/ge007_libultra/lib/asm/__osProbeTLB.s b/ge007_libultra/lib/asm/__osProbeTLB.s deleted file mode 100644 index 28a4cd7..0000000 --- a/ge007_libultra/lib/asm/__osProbeTLB.s +++ /dev/null @@ -1,65 +0,0 @@ - -.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 __osProbeTLB - mfc0 $t0, $10 - andi $t1, $t0, 0xff - li $at, -8192 - and $t2, $a0, $at - or $t1, $t1, $t2 - mtc0 $t1, $10 - nop - nop - nop - tlbp - nop - nop - mfc0 $t3, $0 - lui $at, 0x8000 - and $t3, $t3, $at - bnez $t3, .L8032A0D8 - nop - tlbr - nop - nop - nop - mfc0 $t3, $5 - addi $t3, $t3, 0x2000 - srl $t3, $t3, 1 - and $t4, $t3, $a0 - bnez $t4, .L8032A0A8 - addi $t3, $t3, -1 - mfc0 $v0, $2 - b .L8032A0AC - nop -.L8032A0A8: - mfc0 $v0, $3 -.L8032A0AC: - andi $t5, $v0, 2 - beqz $t5, .L8032A0D8 - nop - lui $at, (0x3FFFFFC0 >> 16) # lui $at, 0x3fff - ori $at, (0x3FFFFFC0 & 0xFFFF) # ori $at, $at, 0xffc0 - and $v0, $v0, $at - sll $v0, $v0, 6 - and $t5, $a0, $t3 - add $v0, $v0, $t5 - b .L8032A0DC - nop -.L8032A0D8: - li $v0, -1 -.L8032A0DC: - mtc0 $t0, $10 - jr $ra - nop - - nop - nop - diff --git a/ge007_libultra/lib/asm/__osRestoreInt.s b/ge007_libultra/lib/asm/__osRestoreInt.s deleted file mode 100644 index 1272a69..0000000 --- a/ge007_libultra/lib/asm/__osRestoreInt.s +++ /dev/null @@ -1,20 +0,0 @@ - -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel __osRestoreInt - mfc0 $t0, $12 - or $t0, $t0, $a0 - mtc0 $t0, $12 - nop - nop - jr $ra - nop - - nop - diff --git a/ge007_libultra/lib/asm/__osSetCompare.s b/ge007_libultra/lib/asm/__osSetCompare.s deleted file mode 100644 index 798fcf0..0000000 --- a/ge007_libultra/lib/asm/__osSetCompare.s +++ /dev/null @@ -1,17 +0,0 @@ - -.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 __osSetCompare - mtc0 $a0, $11 - jr $ra - nop - - nop - diff --git a/ge007_libultra/lib/asm/__osSetFpcCsr.s b/ge007_libultra/lib/asm/__osSetFpcCsr.s deleted file mode 100644 index 3f5f071..0000000 --- a/ge007_libultra/lib/asm/__osSetFpcCsr.s +++ /dev/null @@ -1,17 +0,0 @@ - -.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 - cfc1 $v0, $31 - ctc1 $a0, $31 - jr $ra - nop - - diff --git a/ge007_libultra/lib/asm/__osSetSR.s b/ge007_libultra/lib/asm/__osSetSR.s deleted file mode 100644 index 528988c..0000000 --- a/ge007_libultra/lib/asm/__osSetSR.s +++ /dev/null @@ -1,17 +0,0 @@ - -.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 __osSetSR - mtc0 $a0, $12 - nop - jr $ra - nop - - diff --git a/ge007_libultra/lib/asm/bcopy.s b/ge007_libultra/lib/asm/bcopy.s deleted file mode 100644 index 4ce556a..0000000 --- a/ge007_libultra/lib/asm/bcopy.s +++ /dev/null @@ -1,233 +0,0 @@ - -.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 - beqz $a2, .L80323A4C - move $a3, $a1 - beq $a0, $a1, .L80323A4C - slt $at, $a1, $a0 - bnezl $at, .L80323A14 - slti $at, $a2, 0x10 - add $v0, $a0, $a2 - slt $at, $a1, $v0 - beql $at, $zero, .L80323A14 - slti $at, $a2, 0x10 - b .L80323B78 - slti $at, $a2, 0x10 - slti $at, $a2, 0x10 -.L80323A14: - bnez $at, .L80323A2C - nop - andi $v0, $a0, 3 - andi $v1, $a1, 3 - beq $v0, $v1, .L80323A54 - nop -.L80323A2C: - beqz $a2, .L80323A4C - nop - addu $v1, $a0, $a2 -.L80323A38: - lb $v0, ($a0) - addiu $a0, $a0, 1 - addiu $a1, $a1, 1 - bne $a0, $v1, .L80323A38 - sb $v0, -1($a1) -.L80323A4C: - jr $ra - move $v0, $a3 - -.L80323A54: - beqz $v0, .L80323AB8 - li $at, 1 - beq $v0, $at, .L80323A9C - li $at, 2 - beql $v0, $at, .L80323A88 - lh $v0, ($a0) - lb $v0, ($a0) - addiu $a0, $a0, 1 - addiu $a1, $a1, 1 - addiu $a2, $a2, -1 - b .L80323AB8 - sb $v0, -1($a1) - lh $v0, ($a0) -.L80323A88: - addiu $a0, $a0, 2 - addiu $a1, $a1, 2 - addiu $a2, $a2, -2 - b .L80323AB8 - sh $v0, -2($a1) -.L80323A9C: - lb $v0, ($a0) - lh $v1, 1($a0) - addiu $a0, $a0, 3 - addiu $a1, $a1, 3 - addiu $a2, $a2, -3 - sb $v0, -3($a1) - sh $v1, -2($a1) -.L80323AB8: - slti $at, $a2, 0x20 - bnezl $at, .L80323B18 - slti $at, $a2, 0x10 - lw $v0, ($a0) - lw $v1, 4($a0) - lw $t0, 8($a0) - lw $t1, 0xc($a0) - lw $t2, 0x10($a0) - lw $t3, 0x14($a0) - lw $t4, 0x18($a0) - lw $t5, 0x1c($a0) - addiu $a0, $a0, 0x20 - addiu $a1, $a1, 0x20 - addiu $a2, $a2, -0x20 - sw $v0, -0x20($a1) - sw $v1, -0x1c($a1) - sw $t0, -0x18($a1) - sw $t1, -0x14($a1) - sw $t2, -0x10($a1) - sw $t3, -0xc($a1) - sw $t4, -8($a1) - b .L80323AB8 - sw $t5, -4($a1) -.L80323B14: - slti $at, $a2, 0x10 -.L80323B18: - bnezl $at, .L80323B54 - slti $at, $a2, 4 - lw $v0, ($a0) - lw $v1, 4($a0) - lw $t0, 8($a0) - lw $t1, 0xc($a0) - addiu $a0, $a0, 0x10 - addiu $a1, $a1, 0x10 - addiu $a2, $a2, -0x10 - sw $v0, -0x10($a1) - sw $v1, -0xc($a1) - sw $t0, -8($a1) - b .L80323B14 - sw $t1, -4($a1) -.L80323B50: - slti $at, $a2, 4 -.L80323B54: - bnez $at, .L80323A2C - nop - lw $v0, ($a0) - addiu $a0, $a0, 4 - addiu $a1, $a1, 4 - addiu $a2, $a2, -4 - b .L80323B50 - sw $v0, -4($a1) - slti $at, $a2, 0x10 -.L80323B78: - add $a0, $a0, $a2 - bnez $at, .L80323B94 - add $a1, $a1, $a2 - andi $v0, $a0, 3 - andi $v1, $a1, 3 - beq $v0, $v1, .L80323BC4 - nop -.L80323B94: - beqz $a2, .L80323A4C - nop - addiu $a0, $a0, -1 - addiu $a1, $a1, -1 - subu $v1, $a0, $a2 -.L80323BA8: - lb $v0, ($a0) - addiu $a0, $a0, -1 - addiu $a1, $a1, -1 - bne $a0, $v1, .L80323BA8 - sb $v0, 1($a1) - jr $ra - move $v0, $a3 - -.L80323BC4: - beqz $v0, .L80323C28 - li $at, 3 - beq $v0, $at, .L80323C0C - li $at, 2 - beql $v0, $at, .L80323BF8 - lh $v0, -2($a0) - lb $v0, -1($a0) - addiu $a0, $a0, -1 - addiu $a1, $a1, -1 - addiu $a2, $a2, -1 - b .L80323C28 - sb $v0, ($a1) - lh $v0, -2($a0) -.L80323BF8: - addiu $a0, $a0, -2 - addiu $a1, $a1, -2 - addiu $a2, $a2, -2 - b .L80323C28 - sh $v0, ($a1) -.L80323C0C: - lb $v0, -1($a0) - lh $v1, -3($a0) - addiu $a0, $a0, -3 - addiu $a1, $a1, -3 - addiu $a2, $a2, -3 - sb $v0, 2($a1) - sh $v1, ($a1) -.L80323C28: - slti $at, $a2, 0x20 - bnezl $at, .L80323C88 - slti $at, $a2, 0x10 - lw $v0, -4($a0) - lw $v1, -8($a0) - lw $t0, -0xc($a0) - lw $t1, -0x10($a0) - lw $t2, -0x14($a0) - lw $t3, -0x18($a0) - lw $t4, -0x1c($a0) - lw $t5, -0x20($a0) - addiu $a0, $a0, -0x20 - addiu $a1, $a1, -0x20 - addiu $a2, $a2, -0x20 - sw $v0, 0x1c($a1) - sw $v1, 0x18($a1) - sw $t0, 0x14($a1) - sw $t1, 0x10($a1) - sw $t2, 0xc($a1) - sw $t3, 8($a1) - sw $t4, 4($a1) - b .L80323C28 - sw $t5, ($a1) -.L80323C84: - slti $at, $a2, 0x10 -.L80323C88: - bnezl $at, .L80323CC4 - slti $at, $a2, 4 - lw $v0, -4($a0) - lw $v1, -8($a0) - lw $t0, -0xc($a0) - lw $t1, -0x10($a0) - addiu $a0, $a0, -0x10 - addiu $a1, $a1, -0x10 - addiu $a2, $a2, -0x10 - sw $v0, 0xc($a1) - sw $v1, 8($a1) - sw $t0, 4($a1) - b .L80323C84 - sw $t1, ($a1) -.L80323CC0: - slti $at, $a2, 4 -.L80323CC4: - bnez $at, .L80323B94 - nop - lw $v0, -4($a0) - addiu $a0, $a0, -4 - addiu $a1, $a1, -4 - addiu $a2, $a2, -4 - b .L80323CC0 - sw $v0, ($a1) - nop - nop - nop - diff --git a/ge007_libultra/lib/asm/bzero.s b/ge007_libultra/lib/asm/bzero.s deleted file mode 100644 index 038cad9..0000000 --- a/ge007_libultra/lib/asm/bzero.s +++ /dev/null @@ -1,55 +0,0 @@ - -#.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -#this file is probably handwritten - -.section .text, "ax" - -glabel bzero - blt $a1, 0xc, .L803236BC - negu $v1, $a0 - andi $v1, $v1, 3 - beqz $v1, .L80323660 - subu $a1, $a1, $v1 - swl $zero, ($a0) - addu $a0, $a0, $v1 -.L80323660: - and $a3, $a1, -32 - beqz $a3, .L8032369C - subu $a1, $a1, $a3 - addu $a3, $a3, $a0 -.L80323674: - addiu $a0, $a0, 0x20 - sw $zero, -0x20($a0) - sw $zero, -0x1c($a0) - sw $zero, -0x18($a0) - sw $zero, -0x14($a0) - sw $zero, -0x10($a0) - sw $zero, -0xc($a0) - sw $zero, -8($a0) - bne $a0, $a3, .L80323674 - sw $zero, -4($a0) -.L8032369C: - and $a3, $a1, -4 - beqz $a3, .L803236BC - subu $a1, $a1, $a3 - addu $a3, $a3, $a0 -.L803236B0: - addiu $a0, $a0, 4 - bne $a0, $a3, .L803236B0 - sw $zero, -4($a0) -.L803236BC: - blez $a1, .L803236D4 - nop - addu $a1, $a1, $a0 -.L803236C8: - addiu $a0, $a0, 1 - bne $a0, $a1, .L803236C8 - sb $zero, -1($a0) -.L803236D4: - jr $ra - diff --git a/ge007_libultra/lib/asm/osGetCount.s b/ge007_libultra/lib/asm/osGetCount.s deleted file mode 100644 index 663cd2a..0000000 --- a/ge007_libultra/lib/asm/osGetCount.s +++ /dev/null @@ -1,16 +0,0 @@ - -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osGetCount - mfc0 $v0, $9 - jr $ra - nop - - nop - diff --git a/ge007_libultra/lib/asm/osInvalDCache.s b/ge007_libultra/lib/asm/osInvalDCache.s deleted file mode 100644 index d7171b6..0000000 --- a/ge007_libultra/lib/asm/osInvalDCache.s +++ /dev/null @@ -1,58 +0,0 @@ - -.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 - blez $a1, .L80323500 - nop - li $t3, 8192 - sltu $at, $a1, $t3 - beqz $at, .L80323508 - nop - move $t0, $a0 - addu $t1, $a0, $a1 - sltu $at, $t0, $t1 - beqz $at, .L80323500 - nop - andi $t2, $t0, 0xf - beqz $t2, .L803234D0 - addiu $t1, $t1, -0x10 - subu $t0, $t0, $t2 - cache 0x15, ($t0) - sltu $at, $t0, $t1 - beqz $at, .L80323500 - nop - addiu $t0, $t0, 0x10 -.L803234D0: - andi $t2, $t1, 0xf - beqz $t2, .L803234F0 - nop - subu $t1, $t1, $t2 - cache 0x15, 0x10($t1) - sltu $at, $t1, $t0 - bnez $at, .L80323500 - nop -.L803234F0: - cache 0x11, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L803234F0 - addiu $t0, $t0, 0x10 - .L80323500: - jr $ra - nop - -.L80323508: - lui $t0, %hi(D_80000010) - addu $t1, $t0, $t3 - addiu $t1, $t1, -0x10 -.L80323514: - cache 1, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L80323514 - addiu $t0, %lo(D_80000010) # addiu $t0, $t0, 0x10 - jr $ra diff --git a/ge007_libultra/lib/asm/osInvalICache.s b/ge007_libultra/lib/asm/osInvalICache.s deleted file mode 100644 index 4683b11..0000000 --- a/ge007_libultra/lib/asm/osInvalICache.s +++ /dev/null @@ -1,45 +0,0 @@ - -.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 - blez $a1, .L80323728 - nop - li $t3, 16384 - sltu $at, $a1, $t3 - beqz $at, .L80323730 - nop - move $t0, $a0 - addu $t1, $a0, $a1 - sltu $at, $t0, $t1 - beqz $at, .L80323728 - nop - andi $t2, $t0, 0x1f - addiu $t1, $t1, -0x20 - subu $t0, $t0, $t2 -.L80323718: - cache 0x10, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L80323718 - addiu $t0, $t0, 0x20 -.L80323728: - jr $ra - nop - -.L80323730: - lui $t0, %hi(D_80000020) - addu $t1, $t0, $t3 - addiu $t1, $t1, -0x20 -.L8032373C: - cache 0, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L8032373C - addiu $t0, %lo(D_80000020) # addiu $t0, $t0, 0x20 - jr $ra - nop diff --git a/ge007_libultra/lib/asm/osMapTLB.s b/ge007_libultra/lib/asm/osMapTLB.s deleted file mode 100644 index 2eeb17c..0000000 --- a/ge007_libultra/lib/asm/osMapTLB.s +++ /dev/null @@ -1,64 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -# This file is handwritten - -#void osMapTLB(s32 index, OSPageMask pm, void *vaddr, u32 evenpaddr, -# u32 oddpaddr, s32 asid); -glabel osMapTLB - mfc0 $t0, $10 - mtc0 $a0, $0 - mtc0 $a1, $5 - lw $t1, 0x14($sp) #asid - beq $t1, -1, .L803214D8 - li $t4, 1 - li $t2, 30 - b .L803214DC - or $a2, $a2, $t1 #vaddr -.L803214D8: - li $t2, 31 -.L803214DC: - mtc0 $a2, $10 #vaddr - beq $a3, -1, .L80321500 #even paddr - nop - srl $t3, $a3, 6 #evenpaddr - or $t3, $t3, $t2 - mtc0 $t3, $2 - b .L80321504 - nop -.L80321500: - mtc0 $t4, $2 -.L80321504: - lw $t3, 0x10($sp) #oddpaddr - beq $t3, -1, .L80321528 - nop - srl $t3, $t3, 6 - or $t3, $t3, $t2 - mtc0 $t3, $3 - b .L80321540 - nop -.L80321528: - mtc0 $t4, $3 - bne $a3, -1, .L80321540 #evenpaddr - nop - lui $t3, 0x8000 - mtc0 $t3, $10 -.L80321540: - nop - tlbwi - nop - nop - nop - nop - mtc0 $t0, $10 - jr $ra - nop #file gets padded but - nop - nop - nop - \ No newline at end of file diff --git a/ge007_libultra/lib/asm/osMapTLBRdb.s b/ge007_libultra/lib/asm/osMapTLBRdb.s deleted file mode 100644 index 2049b19..0000000 --- a/ge007_libultra/lib/asm/osMapTLBRdb.s +++ /dev/null @@ -1,37 +0,0 @@ - -.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 osMapTLBRdb - mfc0 $t0, $10 - li $t1, 31 - mtc0 $t1, $0 - mtc0 $zero, $5 - li $t2, 23 - lui $t1, 0xc000 - mtc0 $t1, $10 - lui $t1, 0x8000 - srl $t3, $t1, 6 - or $t3, $t3, $t2 - mtc0 $t3, $2 - li $t1, 1 - mtc0 $t1, $3 - nop - tlbwi - nop - nop - nop - nop - mtc0 $t0, $10 - jr $ra - nop - - nop - nop - diff --git a/ge007_libultra/lib/asm/osSetIntMask.s b/ge007_libultra/lib/asm/osSetIntMask.s deleted file mode 100644 index 52e51c6..0000000 --- a/ge007_libultra/lib/asm/osSetIntMask.s +++ /dev/null @@ -1,105 +0,0 @@ - -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.eqv MI_INTR_MASK_REG, 0xA430000C - -.section .text, "ax" - -glabel osSetIntMask - mfc0 $t1, $12 - andi $v0, $t1, 0xff01 - lui $t2, %hi(MI_INTR_MASK_REG) # $t2, 0xa430 - lw $t2, %lo(MI_INTR_MASK_REG)($t2) - sll $t2, $t2, 0x10 - or $v0, $v0, $t2 - lui $at, 0x3f - and $t0, $a0, $at - srl $t0, $t0, 0xf - lui $t2, %hi(D_803386D0) - addu $t2, $t2, $t0 - lhu $t2, %lo(D_803386D0)($t2) - lui $at, %hi(MI_INTR_MASK_REG) # $at, 0xa430 - sw $t2, %lo(MI_INTR_MASK_REG)($at) - andi $t0, $a0, 0xff01 - lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff - ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff - and $t1, $t1, $at - or $t1, $t1, $t0 - mtc0 $t1, $12 - nop - nop - jr $ra - nop - - -.section .rodata - -glabel D_803386D0 -.half 0x0555 -.half 0x0556 -.half 0x0559 -.half 0x055A -.half 0x0565 -.half 0x0566 -.half 0x0569 -.half 0x056A -.half 0x0595 -.half 0x0596 -.half 0x0599 -.half 0x059A -.half 0x05A5 -.half 0x05A6 -.half 0x05A9 -.half 0x05AA -.half 0x0655 -.half 0x0656 -.half 0x0659 -.half 0x065A -.half 0x0665 -.half 0x0666 -.half 0x0669 -.half 0x066A -.half 0x0695 -.half 0x0696 -.half 0x0699 -.half 0x069A -.half 0x06A5 -.half 0x06A6 -.half 0x06A9 -.half 0x06AA -.half 0x0955 -.half 0x0956 -.half 0x0959 -.half 0x095A -.half 0x0965 -.half 0x0966 -.half 0x0969 -.half 0x096A -.half 0x0995 -.half 0x0996 -.half 0x0999 -.half 0x099A -.half 0x09A5 -.half 0x09A6 -.half 0x09A9 -.half 0x09AA -.half 0x0A55 -.half 0x0A56 -.half 0x0A59 -.half 0x0A5A -.half 0x0A65 -.half 0x0A66 -.half 0x0A69 -.half 0x0A6A -.half 0x0A95 -.half 0x0A96 -.half 0x0A99 -.half 0x0A9A -.half 0x0AA5 -.half 0x0AA6 -.half 0x0AA9 -.half 0x0AAA diff --git a/ge007_libultra/lib/asm/osUnmapTLB.s b/ge007_libultra/lib/asm/osUnmapTLB.s deleted file mode 100644 index d5df2cb..0000000 --- a/ge007_libultra/lib/asm/osUnmapTLB.s +++ /dev/null @@ -1,26 +0,0 @@ - -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -#void osUnmapTLB(int index) -.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/ge007_libultra/lib/asm/osUnmapTLBAll.s b/ge007_libultra/lib/asm/osUnmapTLBAll.s deleted file mode 100644 index 6fe947b..0000000 --- a/ge007_libultra/lib/asm/osUnmapTLBAll.s +++ /dev/null @@ -1,33 +0,0 @@ -.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 osUnmapTLBAll - mfc0 $t0, $10 - li $t1, 31 - lui $t2, 0x8000 - mtc0 $t2, $10 - mtc0 $zero, $2 - mtc0 $zero, $3 -.L80321588: - mtc0 $t1, $0 - nop - tlbwi - nop - nop - addi $t1, $t1, -1 - bnezl $t1, .L80321588 #bnezl, bnez but with likely hint - nop - mtc0 $t0, $10 - jr $ra - nop - - nop - nop - nop - \ No newline at end of file diff --git a/ge007_libultra/lib/asm/osWritebackDCache.s b/ge007_libultra/lib/asm/osWritebackDCache.s deleted file mode 100644 index 2957fff..0000000 --- a/ge007_libultra/lib/asm/osWritebackDCache.s +++ /dev/null @@ -1,40 +0,0 @@ - -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osWritebackDCache - blez $a1, .osWritebackDCacheReturn - nop - li $t3, 8192 - bgeu $a1, $t3, .L80324E40 - nop - move $t0, $a0 - addu $t1, $a0, $a1 - bgeu $t0, $t1, .osWritebackDCacheReturn - nop - andi $t2, $t0, 0xf - addiu $t1, $t1, -0x10 - subu $t0, $t0, $t2 -.L80324E28: - cache 0x19, ($t0) - bltu $t0, $t1, .L80324E28 - addiu $t0, $t0, 0x10 -.osWritebackDCacheReturn: - jr $ra - nop - -.L80324E40: - lui $t0, 0x8000 - addu $t1, $t0, $t3 - addiu $t1, $t1, -0x10 -.L80324E4C: - cache 1, ($t0) - bltu $t0, $t1, .L80324E4C - addiu $t0, 0x10 # addiu $t0, $t0, 0x10 - jr $ra - nop diff --git a/ge007_libultra/lib/asm/osWritebackDCacheAll.s b/ge007_libultra/lib/asm/osWritebackDCacheAll.s deleted file mode 100644 index d1a5dc0..0000000 --- a/ge007_libultra/lib/asm/osWritebackDCacheAll.s +++ /dev/null @@ -1,23 +0,0 @@ - -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -#void osWritebackDCacheAll(void) - -.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/ge007_libultra/lib/src/NaN.c b/ge007_libultra/lib/src/NaN.c deleted file mode 100644 index 04b6705..0000000 --- a/ge007_libultra/lib/src/NaN.c +++ /dev/null @@ -1,6 +0,0 @@ -typedef union -{ - int i; - float f; -} fu; -const fu NAN = {0x7f810000}; //nan 0x7f810000 diff --git a/ge007_libultra/lib/src/_Ldtob.c b/ge007_libultra/lib/src/_Ldtob.c deleted file mode 100644 index 4636f19..0000000 --- a/ge007_libultra/lib/src/_Ldtob.c +++ /dev/null @@ -1,323 +0,0 @@ -#include "libultra_internal.h" -#include -#include -#include "printf.h" -#include -#define BUFF_LEN 0x20 -s16 _Ldunscale(s16 *, printf_struct *); -void _Genld(printf_struct *, u8, u8 *, s16, s16); -const double D_80338670[] = {10e0L, 10e1L, 10e3L, 10e7L, 10e15L, 10e31L, 10e63L, 10e127L, 10e255L}; - -const u8 D_803386B8[] = "NaN"; -const u8 D_803386BC[] = "Inf"; -const u8 D_803386C0[] = "0"; //(0x3000000000000000); -typedef union { - struct - { - u32 upper; - u32 lower; - } i; - f64 d; -} du; -const du D_803386C8 = {{0x4197d784, 0x00000000}}; //10.0e8; - -/* float properties */ -#define _D0 0 -#define _DBIAS 0x3ff -#define _DLONG 1 -#define _DOFF 4 -#define _FBIAS 0x7e -#define _FOFF 7 -#define _FRND 1 -#define _LBIAS 0x3ffe -#define _LOFF 15 -/* integer properties */ -#define _C2 1 -#define _CSIGN 1 -#define _ILONG 0 -#define _MBMAX 8 -#define NAN 2 -#define INF 1 -#define FINITE -1 -#define _DFRAC ((1 << _DOFF) - 1) -#define _DMASK (0x7fff & ~_DFRAC) -#define _DMAX ((1 << (15 - _DOFF)) - 1) -#define _DNAN (0x8000 | _DMAX << _DOFF | 1 << (_DOFF - 1)) -#define _DSIGN 0x8000 -#if _D0 == 3 -#define _D1 2 /* little-endian order */ -#define _D2 1 -#define _D3 0 -#else -#define _D1 1 /* big-endian order */ -#define _D2 2 -#define _D3 3 -#endif -void _Ldtob(printf_struct *args, u8 type) -{ - u8 buff[BUFF_LEN]; - u8 *ptr; - UNUSED u32 sp70; - f64 val; - /* maybe struct? */ - s16 err; - s16 nsig; - s16 exp; - - s32 i; - s32 n; - f64 factor; - s32 gen; - s32 j; - s32 lo; - ldiv_t qr; - u8 drop; - s32 n2; - /* */ - UNUSED u8 unused[0x4]; - ptr = buff; - val = args->value.f64; - if (args->precision < 0) - { - args->precision = 6; - } - else - { - if (args->precision == 0 && (type == 'g' || type == 'G')) - { - args->precision = 1; - } - } - err = _Ldunscale(&exp, args); - if (err > 0) - { - memcpy(args->buff, err == 2 ? D_803386B8 : D_803386BC, args->part2_len = 3); - return; - } - if (err == 0) - { - nsig = 0; - exp = 0; - } - else - { - if (val < 0) - val = -val; - exp = exp * 30103 / 0x000186A0 - 4; - if (exp < 0) - { - n = (3 - exp) & ~3; - exp = -n; - for (i = 0; n > 0; n >>= 1, i++) - { - if ((n & 1) != 0) - { - val *= D_80338670[i]; - } - } - } - else - { - if (exp > 0) - { - factor = 1; - exp &= ~3; - n = exp; - - for (i = 0; n > 0; n >>= 1, i++) - { - if ((n & 1) != 0) - { - factor *= D_80338670[i]; - } - } - val /= factor; - } - } - gen = ((type == 'f') ? exp + 10 : 6) + args->precision; - if (gen > 0x13) - gen = 0x13; - *ptr++ = '0'; - while (gen > 0 && 0 < val) - { - lo = val; - if ((gen -= 8) > 0) - { - val = (val - lo) * D_803386C8.d; - } - ptr = ptr + 8; - for (j = 8; lo > 0 && --j >= 0;) - { - qr = ldiv(lo, 10); - *--ptr = qr.rem + '0'; - lo = qr.quot; - } - while (--j >= 0) - { - ptr--; - *ptr = '0'; - } - ptr += 8; - } - - gen = ptr - &buff[1]; - for (ptr = &buff[1], exp += 7; *ptr == '0'; ptr++) - { - --gen, --exp; - } - - nsig = ((type == 'f') ? exp + 1 : ((type == 'e' || type == 'E') ? 1 : 0)) + args->precision; - if (gen < nsig) - nsig = gen; - if (nsig > 0) - { - if (nsig < gen && ptr[nsig] > '4') - drop = '9'; - else - drop = '0'; - - for (n2 = nsig; ptr[--n2] == drop;) - { - nsig--; - } - if (drop == '9') - { - ptr[n2]++; - } - if (n2 < 0) - { - --ptr, ++nsig, - ++exp; - } - } - } - _Genld(args, type, ptr, nsig, exp); -} - -s16 _Ldunscale(s16 *pex, printf_struct *px) -{ - - unsigned short *ps = (unsigned short *)px; - short xchar = (ps[_D0] & _DMASK) >> _DOFF; - if (xchar == _DMAX) - { /* NaN or INF */ - *pex = 0; - return (s16)(ps[_D0] & _DFRAC || ps[_D1] || ps[_D2] || ps[_D3] ? NAN : INF); - } - else if (0 < xchar) - { - ps[_D0] = (ps[_D0] & ~_DMASK) | (_DBIAS << _DOFF); - *pex = xchar - (_DBIAS - 1); - return (FINITE); - } - if (0 > xchar) - return NAN; - else - { - *pex = 0; - return (0); - } -} -void _Genld(printf_struct *px, u8 code, u8 *p, s16 nsig, s16 xexp) -{ - u8 point = '.'; - if (nsig <= 0) - nsig = 1, - - p = (u8 *)D_803386C0; - - if (code == 'f' || ((code == 'g' || code == 'G') && (-4 <= xexp) && (xexp < px->precision))) - { /* 'f' format */ - ++xexp; /* change to leading digit count */ - if (code != 'f') - { /* fixup for 'g' */ - if (!(px->flags & FLAGS_HASH) && nsig < px->precision) - px->precision = nsig; - if ((px->precision -= xexp) < 0) - px->precision = 0; - } - if (xexp <= 0) - { /* digits only to right of point */ - px->buff[px->part2_len++] = '0'; - if (0 < px->precision || px->flags & FLAGS_HASH) - px->buff[px->part2_len++] = point; - if (px->precision < -xexp) - xexp = -px->precision; - px->num_mid_zeros = -xexp; - px->precision += xexp; - if (px->precision < nsig) - nsig = px->precision; - memcpy(&px->buff[px->part2_len], p, px->part3_len = nsig); - px->num_trailing_zeros = px->precision - nsig; - } - else if (nsig < xexp) - { /* zeros before point */ - memcpy(&px->buff[px->part2_len], p, nsig); - px->part2_len += nsig; - px->num_mid_zeros = xexp - nsig; - if (0 < px->precision || px->flags & FLAGS_HASH) - px->buff[px->part2_len] = point, ++px->part3_len; - px->num_trailing_zeros = px->precision; - } - else - { /* enough digits before point */ - memcpy(&px->buff[px->part2_len], p, xexp); - px->part2_len += xexp; - nsig -= xexp; - if (0 < px->precision || px->flags & FLAGS_HASH) - px->buff[px->part2_len++] = point; - if (px->precision < nsig) - nsig = px->precision; - memcpy(&px->buff[px->part2_len], p + xexp, nsig); - px->part2_len += nsig; - px->num_mid_zeros = px->precision - nsig; - } - } - else - { /* 'e' format */ - if (code == 'g' || code == 'G') - { /* fixup for 'g' */ - if (nsig < px->precision) - px->precision = nsig; - if (--px->precision < 0) - px->precision = 0; - code = code == 'g' ? 'e' : 'E'; - } - px->buff[px->part2_len++] = *p++; - if (0 < px->precision || px->flags & FLAGS_HASH) - px->buff[px->part2_len++] = point; - if (0 < px->precision) - { /* put fraction digits */ - if (px->precision < --nsig) - nsig = px->precision; - memcpy(&px->buff[px->part2_len], p, nsig); - px->part2_len += nsig; - px->num_mid_zeros = px->precision - nsig; - } - p = (u8*)&px->buff[px->part2_len]; /* put exponent */ - *p++ = code; - if (0 <= xexp) - *p++ = '+'; - else - { /* negative exponent */ - *p++ = '-'; - xexp = -xexp; - } - if (100 <= xexp) - { /* put oversize exponent */ - if (1000 <= xexp) - *p++ = xexp / 1000 + '0', xexp %= 1000; - *p++ = xexp / 100 + '0', xexp %= 100; - } - *p++ = xexp / 10 + '0', xexp %= 10; - *p++ = xexp + '0'; - px->part3_len = (u32)p - (u32)&px->buff[px->part2_len]; - } - if ((px->flags & (FLAGS_ZERO | FLAGS_MINUS)) == FLAGS_ZERO) - { /* pad with leading zeros */ - int n = px->part1_len + px->part2_len + px->num_mid_zeros + px->part3_len + px->num_trailing_zeros; - - if (n < px->width) - px->num_leading_zeros = px->width - n; - } -} diff --git a/ge007_libultra/lib/src/_Litob.c b/ge007_libultra/lib/src/_Litob.c deleted file mode 100644 index 3b324b7..0000000 --- a/ge007_libultra/lib/src/_Litob.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "libultra_internal.h" -#include -#include -#include "printf.h" - - u8 D_80334960[] = "0123456789abcdef"; - u8 D_80334974[] = "0123456789ABCDEF"; -#define BUFF_LEN 0x18 -void _Litob(printf_struct *args, u8 type) -{ - u8 buff[BUFF_LEN]; - const u8 *num_map; - s32 base; - s32 buff_ind; - u64 num; - lldiv_t quotrem; - - if (type == 'X') - num_map = D_80334974; - else - num_map = D_80334960; - - base = (type == 'o') ? 8 : ((type != 'x' && type != 'X') ? 10 : 16); - buff_ind = BUFF_LEN; - num = args->value.s64; - - if ((type == 'd' || type == 'i') && args->value.s64 < 0) - num = -num; - - if (num != 0 || args->precision != 0) - buff[--buff_ind] = num_map[num % base]; - - args->value.s64 = num / base; - - while (args->value.s64 > 0 && buff_ind > 0) - { - quotrem = lldiv(args->value.s64, base); - args->value.s64 = quotrem.quot; - buff[--buff_ind] = num_map[quotrem.rem]; - } - - args->part2_len = BUFF_LEN - buff_ind; - - memcpy(args->buff, buff + buff_ind, args->part2_len); - - if (args->part2_len < args->precision) - args->num_leading_zeros = args->precision - args->part2_len; - - if (args->precision < 0 && (args->flags & (FLAGS_ZERO | FLAGS_MINUS)) == FLAGS_ZERO) - { - buff_ind = args->width - args->part1_len - args->num_leading_zeros - args->part2_len; - if (buff_ind > 0) - args->num_leading_zeros += buff_ind; - } -} diff --git a/ge007_libultra/lib/src/_Printf.c b/ge007_libultra/lib/src/_Printf.c deleted file mode 100644 index 90ec2a0..0000000 --- a/ge007_libultra/lib/src/_Printf.c +++ /dev/null @@ -1,241 +0,0 @@ -#include "libultra_internal.h" -#include -#include -#include "printf.h" - -#define ATOI(i, a) \ - for (i = 0; *a >= '0' && *a <= '9'; a++) \ - if (i < 999) \ - i = *a + i * 10 - '0'; -#define _PROUT(dst, fmt, _size) \ - if (_size > 0) \ - { \ - dst = prout(dst, fmt, _size); \ - if (dst != 0) \ - sp78.size += _size; \ - else \ - return sp78.size; \ - } -#define _PAD(i, m, c, src, extracond) \ - if (extracond && m > 0) \ - for (i = m; i > 0; i -= c) \ - { \ - if ((u32)i > 32) \ - c = 32; \ - else \ - c = i; \ - _PROUT(dst, src, c); \ - } - - -const u8 length_str[] = "hlL"; -const u8 flags_str[] = " +-#0"; -const u32 flags_arr[] = {FLAGS_SPACE, FLAGS_PLUS, FLAGS_MINUS, FLAGS_HASH, FLAGS_ZERO, 0}; -char _spaces[] = " "; -char _zeroes[] = "00000000000000000000000000000000"; - -void _Putfld(printf_struct *, va_list *, u8, u8 *); - -s32 _Printf(char *prout(char *, const char *, size_t), char *dst, const char *fmt, va_list args) -{ - printf_struct sp78; - const u8 *fmt_ptr; - u8 c; - const u8 *flag_index; - u8 sp4c[0x20]; //probably a buffer? - s32 sp48, sp44, sp40, sp3c, sp38, sp34, sp30, sp2c, sp28, sp24; - sp78.size = 0; - while (1) - { - fmt_ptr = (u8 *)fmt; - while ((c = *fmt_ptr++) > 0) - { - if (c == '%') - { - fmt_ptr--; - break; - } - } - _PROUT(dst, fmt, (s32)fmt_ptr - (s32)fmt); - if (c == 0) - return sp78.size; - sp78.flags = 0; - fmt = (char *)++fmt_ptr; - for (flag_index = strchr(flags_str, *fmt_ptr); flag_index != NULL; flag_index = strchr(flags_str, *++fmt_ptr)) - { - sp78.flags |= flags_arr[flag_index - flags_str]; - } - if (fmt_ptr[0] == '*') - { - sp78.width = va_arg(args, s32); - if (sp78.width < 0) - { - sp78.width = -sp78.width; - sp78.flags |= FLAGS_MINUS; - } - fmt_ptr++; - } - else - { - ATOI(sp78.width, fmt_ptr); - } - if (*fmt_ptr != '.') - { - sp78.precision = -1; - } - else - { - fmt_ptr++; - if (*fmt_ptr == '*') - { - sp78.precision = va_arg(args, s32); - fmt_ptr++; - } - else - { - ATOI(sp78.precision, fmt_ptr); - } - } - if (strchr(length_str, *fmt_ptr) != NULL) - sp78.length = *fmt_ptr++; - else - sp78.length = 0; - - if (sp78.length == 'l' && *fmt_ptr == 'l') - { - sp78.length = 'L'; - fmt_ptr++; - } - _Putfld(&sp78, &args, *fmt_ptr, sp4c); - sp78.width = sp78.width - (sp78.part1_len + sp78.num_leading_zeros + sp78.part2_len + sp78.num_mid_zeros + sp78.part3_len + sp78.num_trailing_zeros); - _PAD(sp44, sp78.width, sp48, _spaces, !(sp78.flags & FLAGS_MINUS)); - _PROUT(dst, (char *)sp4c, sp78.part1_len); - _PAD(sp3c, sp78.num_leading_zeros, sp40, _zeroes, 1); - _PROUT(dst, sp78.buff, sp78.part2_len); - _PAD(sp34, sp78.num_mid_zeros, sp38, _zeroes, 1); - _PROUT(dst, (char *)(&sp78.buff[sp78.part2_len]), sp78.part3_len) - _PAD(sp2c, sp78.num_trailing_zeros, sp30, _zeroes, 1); - _PAD(sp24, sp78.width, sp28, _spaces, sp78.flags & FLAGS_MINUS); - fmt = (char *)fmt_ptr + 1; - } -} - -void _Putfld(printf_struct *a0, va_list *args, u8 type, u8 *buff) -{ - a0->part1_len = a0->num_leading_zeros = a0->part2_len = a0->num_mid_zeros = a0->part3_len = a0->num_trailing_zeros = 0; - - switch (type) - { - - case 'c': - buff[a0->part1_len++] = va_arg(*args, u32); - break; - - case 'd': - case 'i': - if (a0->length == 'l') - a0->value.s64 = va_arg(*args, s32); - else if (a0->length == 'L') - a0->value.s64 = va_arg(*args, s64); - else - a0->value.s64 = va_arg(*args, s32); - - if (a0->length == 'h') - a0->value.s64 = (s16)a0->value.s64; - - if (a0->value.s64 < 0) - buff[a0->part1_len++] = '-'; - else if (a0->flags & FLAGS_PLUS) - buff[a0->part1_len++] = '+'; - else if (a0->flags & FLAGS_SPACE) - buff[a0->part1_len++] = ' '; - - a0->buff = (char *)&buff[a0->part1_len]; - - _Litob(a0, type); - break; - - case 'x': - case 'X': - case 'u': - case 'o': - if (a0->length == 'l') - a0->value.s64 = va_arg(*args, s32); - else if (a0->length == 'L') - a0->value.s64 = va_arg(*args, s64); - else - a0->value.s64 = va_arg(*args, s32); - - if (a0->length == 'h') - a0->value.s64 = (u16)a0->value.s64; - else if (a0->length == 0) - a0->value.s64 = (u32)a0->value.s64; - - if (a0->flags & FLAGS_HASH) - { - buff[a0->part1_len++] = '0'; - if (type == 'x' || type == 'X') - - buff[a0->part1_len++] = type; - } - a0->buff = (char *)&buff[a0->part1_len]; - _Litob(a0, type); - break; - - case 'e': - case 'f': - case 'g': - case 'E': - case 'G': - //... okay? - a0->value.f64 = a0->length == 'L' ? va_arg(*args, f64) : va_arg(*args, f64); - - if (a0->value.u16 & 0x8000) - { - buff[a0->part1_len++] = '-'; - } - else - { - if (a0->flags & FLAGS_PLUS) - buff[a0->part1_len++] = '+'; - else if (a0->flags & FLAGS_SPACE) - buff[a0->part1_len++] = ' '; - } - - a0->buff = (char *)&buff[a0->part1_len]; - _Ldtob(a0, type); - break; - - case 'n': - if (a0->length == 'h') - *(va_arg(*args, u16 *)) = a0->size; - else if (a0->length == 'l') - *va_arg(*args, u32 *) = a0->size; - else if (a0->length == 'L') - *va_arg(*args, u64 *) = a0->size; - else - *va_arg(*args, u32 *) = a0->size; - break; - - case 'p': - a0->value.s64 = (long)va_arg(*args, void *); //void* - a0->buff = (char *)&buff[a0->part1_len]; - _Litob(a0, 'x'); - break; - - case 's': - a0->buff = va_arg(*args, char *); - a0->part2_len = strlen((u8*)a0->buff); - if (a0->precision >= 0 && a0->part2_len > a0->precision) - a0->part2_len = a0->precision; - break; - - case '%': - buff[a0->part1_len++] = '%'; - break; - - default: - buff[a0->part1_len++] = type; - break; - } -} diff --git a/ge007_libultra/lib/src/__osAiDeviceBusy.c b/ge007_libultra/lib/src/__osAiDeviceBusy.c deleted file mode 100644 index 32019b1..0000000 --- a/ge007_libultra/lib/src/__osAiDeviceBusy.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" - -s32 __osAiDeviceBusy(void) -{ - register s32 status = HW_REG(AI_STATUS_REG, u32); - if ((status & AI_STATUS_AI_FULL) != 0) - return 1; - else - return 0; -} diff --git a/ge007_libultra/lib/src/__osAtomicDec.c b/ge007_libultra/lib/src/__osAtomicDec.c deleted file mode 100644 index 0c43393..0000000 --- a/ge007_libultra/lib/src/__osAtomicDec.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "libultra_internal.h" - -s32 __osAtomicDec(u32 *a0) -{ - s32 sp1c; - s32 sp18; - // addiu $sp, $sp, -0x20 - // sw $ra, 0x14($sp) - // jal __osDisableInt - // sw $a0, 0x20($sp) - sp1c = __osDisableInt(); - // lw $t6, 0x20($sp) - // sw $v0, 0x1c($sp) - // lw $t7, ($t6) - // beqz $t7, .L8032A2F8 - // nop - if(*a0 != 0){ - // addiu $t8, $t7, -1 - // sw $t8, ($t6) - // li $t9, 1 - // b .L8032A2FC - // sw $t9, 0x18($sp) - (*a0)--; - sp18 = 1; - }else{ - //.L8032A2F8: - // sw $zero, 0x18($sp) - sp18 = 0; - } - //.L8032A2FC: - // jal __osRestoreInt - // lw $a0, 0x1c($sp) - __osRestoreInt(sp1c); - // lw $ra, 0x14($sp) - // lw $v0, 0x18($sp) - // addiu $sp, $sp, 0x20 - // jr $ra - // nop - return sp18; - - // nop - // nop -} diff --git a/ge007_libultra/lib/src/__osDequeueThread.c b/ge007_libultra/lib/src/__osDequeueThread.c deleted file mode 100644 index 41ba428..0000000 --- a/ge007_libultra/lib/src/__osDequeueThread.c +++ /dev/null @@ -1,51 +0,0 @@ -#include "libultra_internal.h" - -//these don't feel like they belong here -//but it makes the most logical since there was printf data before -OSThread *D_80334890 = NULL; -u32 unknown = -1; -OSThread *D_80334898 = (OSThread*)&D_80334890; -OSThread *D_8033489C = (OSThread*)&D_80334890; -OSThread *D_803348A0 = NULL; -u32 D_803348A4 = 0; //UNKNOWN - - -void __osDequeueThread(OSThread **queue, OSThread *thread) -{ - register OSThread **a2; - register OSThread *a3; - a2 = queue; - a3 = *a2; - // move $a2, $a0 - // lw $a3, ($a2) - // addiu $sp, $sp, -8 - // beqz $a3, .L80326598 - // nop - //.L80326574: - // bne $a3, $a1, .L80326588 - // nop - while (a3 != NULL) - { - if (a3 == thread) - { - *a2 = thread->next; - return; - } - // lw $t6, ($a1) - // b .L80326598 - // sw $t6, ($a2) - //.L80326588: - // move $a2, $a3 - a2 = &a3->next; - // lw $a3, ($a2) - a3 = *a2; - // bnez $a3, .L80326574 - // nop - //a3 = a3->next; - } - //a3->next = thread->next; - - //.L80326598: - // jr $ra - // addiu $sp, $sp, 8 -} diff --git a/ge007_libultra/lib/src/__osDevMgrMain.c b/ge007_libultra/lib/src/__osDevMgrMain.c deleted file mode 100644 index f5a0506..0000000 --- a/ge007_libultra/lib/src/__osDevMgrMain.c +++ /dev/null @@ -1,144 +0,0 @@ -#include "libultra_internal.h" - -void __osDevMgrMain(void *args) -{ - OSIoMesg *sp34; - OSMesg sp30; - OSMesg sp2c; - s32 sp28; - OSMgrArgs *sp24; - // addiu $sp, $sp, -0x38 - // sw $a0, 0x38($sp) - // lw $t6, 0x38($sp) - // sw $ra, 0x1c($sp) - // sw $s0, 0x18($sp) - // sw $zero, 0x34($sp) - sp34 = NULL; - // sw $zero, 0x28($sp) - sp28 = 0; - // sw $t6, 0x24($sp) - sp24 = (OSMgrArgs *)args; - while (1) - { - //.L80327630: - // lw $t7, 0x24($sp) - // addiu $a1, $sp, 0x34 - // li $a2, 1 - // jal osRecvMesg - // lw $a0, 8($t7) - osRecvMesg(sp24->unk08, (OSMesg)&sp34, OS_MESG_BLOCK); - // lw $t8, 0x34($sp) - // li $at, 10 - // lhu $s0, ($t8) - // beq $s0, $at, .L803276E8 - // li $at, 11 - // beq $s0, $at, .L80327670 - // li $at, 12 - // beq $s0, $at, .L803276AC - // nop - // b .L80327708 - // nop - switch (sp34->hdr.type) - { - case 11: - //.L80327670: - // lw $t9, 0x24($sp) - // addiu $a1, $sp, 0x2c - // li $a2, 1 - // jal osRecvMesg - // lw $a0, 0x10($t9) - osRecvMesg(sp24->unk10, &sp2c, OS_MESG_BLOCK); - // lw $t1, 0x24($sp) - // lw $t0, 0x34($sp) - // move $a0, $zero - // lw $t9, 0x14($t1) - // lw $a1, 0xc($t0) - // lw $a2, 8($t0) - // jalr $t9 - // lw $a3, 0x10($t0) - // b .L80327710 - // sw $v0, 0x28($sp) - sp28 = sp24->dma_func(0 /*write*/, sp34->devAddr, sp34->dramAddr, sp34->size); - break; - case 12: - //.L803276AC: - // lw $t2, 0x24($sp) - // addiu $a1, $sp, 0x2c - // li $a2, 1 - // jal osRecvMesg - // lw $a0, 0x10($t2) - osRecvMesg(sp24->unk10, &sp2c, OS_MESG_BLOCK); - // lw $t4, 0x24($sp) - // lw $t3, 0x34($sp) - // li $a0, 1 - // lw $t9, 0x14($t4) - // lw $a1, 0xc($t3) - // lw $a2, 8($t3) - // jalr $t9 - // lw $a3, 0x10($t3) - // b .L80327710 - // sw $v0, 0x28($sp) - sp28 = sp24->dma_func(1 /*read*/, sp34->devAddr, sp34->dramAddr, sp34->size); - break; - case 10: - //.L803276E8: - // lw $t5, 0x34($sp) - // move $a2, $zero - // lw $a0, 4($t5) - // jal osSendMesg - // move $a1, $t5 - osSendMesg(sp34->hdr.retQueue, sp34, OS_MESG_NOBLOCK); - // li $t6, -1 - // b .L80327710 - // sw $t6, 0x28($sp) - sp28 = -1; - break; - default: - //.L80327708: - // li $t7, -1 - // sw $t7, 0x28($sp) - sp28 = -1; - break; - } - //.L80327710: - // lw $t8, 0x28($sp) - // bnez $t8, .L80327630 - // nop - if (sp28 == 0) - { - // lw $t0, 0x24($sp) - // addiu $a1, $sp, 0x30 - // li $a2, 1 - // jal osRecvMesg - // lw $a0, 0xc($t0) - osRecvMesg(sp24->unk0c, &sp30, OS_MESG_BLOCK); - // lw $t1, 0x34($sp) - // move $a2, $zero - // lw $a0, 4($t1) - // jal osSendMesg - // move $a1, $t1 - osSendMesg(sp34->hdr.retQueue, sp34, OS_MESG_NOBLOCK); - // lw $t2, 0x24($sp) - // move $a1, $zero - // move $a2, $zero - // jal osSendMesg - // lw $a0, 0x10($t2) - osSendMesg(sp24->unk10, NULL, OS_MESG_NOBLOCK); - } - // b .L80327630 - // nop - } - // nop - // nop - // nop - // nop - // lw $ra, 0x1c($sp) - // lw $s0, 0x18($sp) - // addiu $sp, $sp, 0x38 - // jr $ra - // nop - - // nop - // nop - // nop -} diff --git a/ge007_libultra/lib/src/__osPiCreateAccessQueue.c b/ge007_libultra/lib/src/__osPiCreateAccessQueue.c deleted file mode 100644 index 789402f..0000000 --- a/ge007_libultra/lib/src/__osPiCreateAccessQueue.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "libultra_internal.h" -#define PIAccessQueueSize 2 -OSMesg osPiMesgBuff[PIAccessQueueSize]; -OSMesgQueue gOsPiMessageQueue; -u32 gOsPiAccessQueueCreated = 0; -void __osPiCreateAccessQueue() -{ - gOsPiAccessQueueCreated = 1; - osCreateMesgQueue(&gOsPiMessageQueue, &osPiMesgBuff[0], PIAccessQueueSize - 1); - osSendMesg(&gOsPiMessageQueue, NULL, OS_MESG_NOBLOCK); -} - -void __osPiGetAccess() -{ - OSMesg sp1c; - if (!gOsPiAccessQueueCreated) - __osPiCreateAccessQueue(); - osRecvMesg(&gOsPiMessageQueue, &sp1c, OS_MESG_BLOCK); -} -void __osPiRelAccess() -{ - osSendMesg(&gOsPiMessageQueue, NULL, OS_MESG_NOBLOCK); -} diff --git a/ge007_libultra/lib/src/__osSiCreateAccessQueue.c b/ge007_libultra/lib/src/__osSiCreateAccessQueue.c deleted file mode 100644 index 06db8c5..0000000 --- a/ge007_libultra/lib/src/__osSiCreateAccessQueue.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "libultra_internal.h" -#define SIAccessQueueSize 2 -OSMesg osSiMesgBuff[SIAccessQueueSize]; -OSMesgQueue gOsSiMessageQueue; - -u32 gOsSiAccessQueueCreated = 0; -void __osSiCreateAccessQueue() -{ - gOsSiAccessQueueCreated = 1; - osCreateMesgQueue(&gOsSiMessageQueue, &osSiMesgBuff[0], SIAccessQueueSize - 1); - osSendMesg(&gOsSiMessageQueue, NULL, OS_MESG_NOBLOCK); -} - -void __osSiGetAccess(void) -{ - OSMesg sp1c; - if (!gOsSiAccessQueueCreated) - __osSiCreateAccessQueue(); - osRecvMesg(&gOsSiMessageQueue, &sp1c, OS_MESG_BLOCK); -} - -void __osSiRelAccess(void) -{ - osSendMesg(&gOsSiMessageQueue, NULL, OS_MESG_NOBLOCK); -} diff --git a/ge007_libultra/lib/src/__osSiDeviceBusy.c b/ge007_libultra/lib/src/__osSiDeviceBusy.c deleted file mode 100644 index b0c7212..0000000 --- a/ge007_libultra/lib/src/__osSiDeviceBusy.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -s32 __osSiDeviceBusy() -{ - register u32 status; - // lui $t6, %hi(D_A4800018) # $t6, 0xa480 - // lw $a0, %lo(D_A4800018)($t6) - // addiu $sp, $sp, -8 - // andi $t7, $a0, 3 - // beqz $t7, .L8032A110 - // nop - status = HW_REG(SI_STATUS_REG, u32); - if (status & (SI_STATUS_DMA_BUSY | SI_STATUS_IO_READ_BUSY)) - { - return 1; - } - else - { - - return 0; - } - // b .L8032A114 - // li $v0, 1 - //.L8032A110: - // move $v0, $zero - //.L8032A114: - // jr $ra - // addiu $sp, $sp, 8 - - // nop -} diff --git a/ge007_libultra/lib/src/__osSiRawReadIo.c b/ge007_libultra/lib/src/__osSiRawReadIo.c deleted file mode 100644 index 4066cce..0000000 --- a/ge007_libultra/lib/src/__osSiRawReadIo.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -s32 __osSiRawReadIo(void *a0, u32 *a1) -{ - if (__osSiDeviceBusy()) - return -1; - *a1 = HW_REG((u32)a0, u32); - return 0; -} diff --git a/ge007_libultra/lib/src/__osSiRawStartDma.c b/ge007_libultra/lib/src/__osSiRawStartDma.c deleted file mode 100644 index f59fd90..0000000 --- a/ge007_libultra/lib/src/__osSiRawStartDma.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -s32 __osSiRawStartDma(s32 dir, void *addr) -{ - if (__osSiDeviceBusy()) - return -1; - if (dir == 1) - { - osWritebackDCache(addr, 64); - } - HW_REG(SI_DRAM_ADDR_REG, void *) = (void*)osVirtualToPhysical(addr); - if (dir == 0 /*read*/) - { - HW_REG(SI_PIF_ADDR_RD64B_REG, u32) = 0x1FC007C0; - } - else - { - HW_REG(SI_PIF_ADDR_WR64B_REG, u32) = 0x1FC007C0; - } - if (dir == 0) - { - osInvalDCache(addr, 64); - } - return 0; -} diff --git a/ge007_libultra/lib/src/__osSiRawWriteIo.c b/ge007_libultra/lib/src/__osSiRawWriteIo.c deleted file mode 100644 index 2ef95cf..0000000 --- a/ge007_libultra/lib/src/__osSiRawWriteIo.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -s32 __osSiRawWriteIo(void *a0, u32 a1) -{ - if (__osSiDeviceBusy()) - return -1; - HW_REG((u32)a0, u32) = a1; - return 0; -} diff --git a/ge007_libultra/lib/src/__osSpDeviceBusy.c b/ge007_libultra/lib/src/__osSpDeviceBusy.c deleted file mode 100644 index 3f93d0e..0000000 --- a/ge007_libultra/lib/src/__osSpDeviceBusy.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" - -s32 __osSpDeviceBusy() -{ - register u32 status = HW_REG(SP_STATUS_REG, u32); - if (status & (SPSTATUS_IO_FULL | SPSTATUS_DMA_FULL | SPSTATUS_DMA_BUSY)) - return 1; - return 0; -} diff --git a/ge007_libultra/lib/src/__osSpGetStatus.c b/ge007_libultra/lib/src/__osSpGetStatus.c deleted file mode 100644 index 17d850c..0000000 --- a/ge007_libultra/lib/src/__osSpGetStatus.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -u32 __osSpGetStatus() -{ - return HW_REG(SP_STATUS_REG, u32); -} diff --git a/ge007_libultra/lib/src/__osSpRawStartDma.c b/ge007_libultra/lib/src/__osSpRawStartDma.c deleted file mode 100644 index 0f7fd22..0000000 --- a/ge007_libultra/lib/src/__osSpRawStartDma.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" - -s32 __osSpRawStartDma(u32 dir, void *sp_ptr, void *dram_ptr, size_t size) -{ - if (__osSpDeviceBusy()) - return -1; - HW_REG(SP_MEM_ADDR_REG, void *) = sp_ptr; - HW_REG(SP_DRAM_ADDR_REG, void *) = (void *)osVirtualToPhysical(dram_ptr); - if (dir == 0) - HW_REG(SP_WR_LEN_REG, u32) = size - 1; - else - HW_REG(SP_RD_LEN_REG, u32) = size - 1; - return 0; -} diff --git a/ge007_libultra/lib/src/__osSpSetPc.c b/ge007_libultra/lib/src/__osSpSetPc.c deleted file mode 100644 index 3cd8f76..0000000 --- a/ge007_libultra/lib/src/__osSpSetPc.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" - -s32 __osSpSetPc(void *pc) -{ - register u32 status = HW_REG(SP_STATUS_REG, u32); - if (!(status & SPSTATUS_HALT)) - { - return -1; - } - else - { - HW_REG(SP_PC_REG, void *) = pc; - return 0; - } -} diff --git a/ge007_libultra/lib/src/__osSpSetStatus.c b/ge007_libultra/lib/src/__osSpSetStatus.c deleted file mode 100644 index c140e98..0000000 --- a/ge007_libultra/lib/src/__osSpSetStatus.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -void __osSpSetStatus(u32 status) -{ - HW_REG(SP_STATUS_REG, u32) = status; -} diff --git a/ge007_libultra/lib/src/__osSyncPutChars.c b/ge007_libultra/lib/src/__osSyncPutChars.c deleted file mode 100644 index 304d211..0000000 --- a/ge007_libultra/lib/src/__osSyncPutChars.c +++ /dev/null @@ -1,116 +0,0 @@ -#include "libultra_internal.h" - -typedef struct -{ - u8 unk00 : 2; - u8 pad : 4; - u8 unk01 : 2; - u8 unk2[3]; -} unkStruct; -u32 D_80334A40 = 0; -u32 D_80334A44 = 1; - -void __osSyncPutChars(s32 a0, s32 a1, u8 *a2) -{ - unkStruct sp24; - s32 sp20; - u32 sp1c; - // addiu $sp, $sp, -0x28 - // sw $a0, a0 - // lw $t6, a0 - // lbu $t0, 0x24($sp) - // sw $a1, a1 - // andi $t7, $t6, 3 - // lw $t3, a1 - // sll $t8, $t7, 6 - // andi $t9, $t8, 0xc0 - // andi $t1, $t0, 0xff3f - // or $t2, $t9, $t1 - // andi $t6, $t2, 0xff - // andi $t4, $t3, 3 - // andi $t5, $t4, 3 - // andi $t7, $t6, 0xfffc - // sb $t2, 0x24($sp) - // or $t8, $t5, $t7 - // sw $ra, 0x14($sp) - // sw $a2, a2 - // sb $t8, 0x24($sp) - // blez $t3, .L80329E28 - // sw $zero, 0x20($sp) - sp24.unk00 = a0; - sp24.unk01 = a1; - for (sp20 = 0; sp20 < a1; sp20++) - { - //.L80329DF8: - // lw $t0, a2 - // lw $t9, 0x20($sp) - // addu $t1, $t0, $t9 - // lbu $t4, ($t1) - // addu $t2, $sp, $t9 - // sb $t4, 0x25($t2) - sp24.unk2[sp20] = a2[sp20]; - // lw $t6, 0x20($sp) - // lw $t7, a1 - // addiu $t5, $t6, 1 - // slt $at, $t5, $t7 - // bnez $at, .L80329DF8 - // sw $t5, 0x20($sp) - } - //.L80329E28: - // lui $a0, %hi(D_80334A44) # $a0, 0x8033 - // jal __osAtomicDec - // addiu $a0, %lo(D_80334A44) # addiu $a0, $a0, 0x4a44 - // bnez $v0, .L80329E50 - // nop - while (!__osAtomicDec(&D_80334A44)) - ; - //.L80329E3C: - // lui $a0, %hi(D_80334A44) # $a0, 0x8033 - // jal __osAtomicDec - // addiu $a0, %lo(D_80334A44) # addiu $a0, $a0, 0x4a44 - // beqz $v0, .L80329E3C - // nop - //.L80329E50: - // jal __osDisableInt - // nop - sp1c = __osDisableInt(); - // sw $v0, 0x1c($sp) - // addiu $t8, $sp, 0x24 - // lw $t3, ($t8) - // lui $t0, 0xc000 - // jal __osGetCause - // sw $t3, ($t0) - *(u32 *)0xC0000000 = *(u32 *)&sp24; - // andi $t1, $v0, 0x2000 - // bnez $t1, .L80329E90 - // nop - //.L80329E7C: - // jal __osGetCause - // nop - // andi $t4, $v0, 0x2000 - // beqz $t4, .L80329E7C - // nop - while (!(__osGetCause() & 0x2000)) - ; - //.L80329E90: - // lui $t9, %hi(D_C000000C) # $t9, 0xc000 - // sw $zero, %lo(D_C000000C)($t9) - *(u32 *)0xC000000C = 0; - // lui $t2, %hi(D_80334A44) # $t2, 0x8033 - // lw $t2, %lo(D_80334A44)($t2) - // lui $at, %hi(D_80334A44) # $at, 0x8033 - // lw $a0, 0x1c($sp) - // addiu $t6, $t2, 1 - // jal __osRestoreInt - // sw $t6, %lo(D_80334A44)($at) - D_80334A44++; - __osRestoreInt(sp1c); - // lw $ra, 0x14($sp) - // addiu $sp, $sp, 0x28 - // jr $ra - // nop - - // nop - // nop - // nop -} diff --git a/ge007_libultra/lib/src/__osViGetCurrentContext.c b/ge007_libultra/lib/src/__osViGetCurrentContext.c deleted file mode 100644 index 2078dbc..0000000 --- a/ge007_libultra/lib/src/__osViGetCurrentContext.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "libultra_internal.h" -extern OSViContext*D_80334910; -OSViContext* __osViGetCurrentContext(){ - return D_80334910; -} diff --git a/ge007_libultra/lib/src/__osViInit.c b/ge007_libultra/lib/src/__osViInit.c deleted file mode 100644 index 0bee5e1..0000000 --- a/ge007_libultra/lib/src/__osViInit.c +++ /dev/null @@ -1,53 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" - -#ifdef VERSION_US -extern u32 osTvType; -#endif - -OSViContext D_803348B0[2] = {0}; -OSViContext *D_80334910 = &D_803348B0[0]; -OSViContext *D_80334914 = &D_803348B0[1]; -u32 D_80334918 = TV_TYPE_NTSC; -u32 D_8033491C = 0x02E6D354; - -extern OSViMode D_80334990; -extern OSViMode D_803349E0; -void __osViInit(void) -{ -//#ifdef VERSION_JP -#ifdef VERSION_US - D_80334918 = osTvType; -#endif - bzero(D_803348B0, sizeof(D_803348B0)); - D_80334910 = &D_803348B0[0]; - D_80334914 = &D_803348B0[1]; - D_80334914->retraceCount = 1; - D_80334910->retraceCount = 1; -#ifdef VERSION_JP - if (D_80334918 != TV_TYPE_PAL) -#else - if (D_80334918 == TV_TYPE_NTSC) -#endif - { - D_80334914->unk08 = &D_80334990; - D_8033491C = 0x02E6D354; - } - else - { - D_80334914->unk08 = &D_803349E0; -#ifdef VERSION_JP - D_8033491C = 0x02F5B2D2; -#else - D_8033491C = 0x02E6025C; -#endif - } - D_80334914->unk00 = 32; - D_80334914->features = D_80334914->unk08->comRegs.ctrl; -#ifdef VERSION_US - while (HW_REG(VI_CURRENT_REG, u32) > 0xa) - ; - HW_REG(VI_STATUS_REG, u32) = 0; -#endif - __osViSwapContext(); -} diff --git a/ge007_libultra/lib/src/__osViSwapContext.c b/ge007_libultra/lib/src/__osViSwapContext.c deleted file mode 100644 index 0ae0d7f..0000000 --- a/ge007_libultra/lib/src/__osViSwapContext.c +++ /dev/null @@ -1,67 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -extern OSViContext *D_80334914; -extern OSViContext *D_80334910; -void __osViSwapContext() -{ - register OSViMode *s0; - register OSViContext *s1; - u32 origin; - u32 hStart; - u32 sp34; - u32 field; - register u32 s2; - field = 0; - s1 = D_80334914; - s0 = s1->unk08; - field = HW_REG(VI_V_CURRENT_LINE_REG, u32) & 1; - s2 = osVirtualToPhysical(s1->buffer); - origin = (s0->fldRegs[field].origin) + s2; - if (s1->unk00 & 2) - { - s1->unk20 |= s0->comRegs.xScale & ~0xfff; - } - else - { - s1->unk20 = s0->comRegs.xScale; - } - if (s1->unk00 & 4) - { - sp34 = (u32)(s0->fldRegs[field].yScale & 0xfff); - s1->unk2c = s1->unk24 * sp34; - s1->unk2c |= s0->fldRegs[field].yScale & ~0xfff; - } - else - { - s1->unk2c = s0->fldRegs[field].yScale; - } - hStart = s0->comRegs.hStart; - if (s1->unk00 & 0x20) - hStart = 0; - if (s1->unk00 & 0x40) - { - s1->unk2c = 0; - origin = osVirtualToPhysical(s1->buffer); - } - if (s1->unk00 & 0x80) - { - s1->unk2c = (s1->unk28 << 0x10) & 0x3ff0000; - origin = osVirtualToPhysical(s1->buffer); - } - HW_REG(VI_ORIGIN_REG, u32) = origin; - HW_REG(VI_WIDTH_REG, u32) = s0->comRegs.width; - HW_REG(VI_BURST_REG, u32) = s0->comRegs.burst; - HW_REG(VI_V_SYNC_REG, u32) = s0->comRegs.vSync; - HW_REG(VI_H_SYNC_REG, u32) = s0->comRegs.hSync; - HW_REG(VI_LEAP_REG, u32) = s0->comRegs.leap; - HW_REG(VI_H_START_REG, u32) = hStart; - HW_REG(VI_V_START_REG, u32) = s0->fldRegs[field].vStart; - HW_REG(VI_V_BURST_REG, u32) = s0->fldRegs[field].vBurst; - HW_REG(VI_INTR_REG, u32) = s0->fldRegs[field].vIntr; - HW_REG(VI_X_SCALE_REG, u32) = s1->unk20; - HW_REG(VI_Y_SCALE_REG, u32) = s1->unk2c; - HW_REG(VI_CONTROL_REG, u32) = s1->features; - D_80334914 = D_80334910; - D_80334910 = s1; - *D_80334914 = *D_80334910; -} diff --git a/ge007_libultra/lib/src/alBnkfNew.c b/ge007_libultra/lib/src/alBnkfNew.c deleted file mode 100644 index db5b478..0000000 --- a/ge007_libultra/lib/src/alBnkfNew.c +++ /dev/null @@ -1,263 +0,0 @@ -#include "libultra_internal.h" -#include "libaudio_internal.h" -#define PATCH(SRC, BASE, TYPE) SRC = (TYPE)((u32)SRC + (u32)BASE) - - -void alSeqFileNew(ALSeqFile *f, u8 *base) -{ - int i; - // lh $t6, 2($a0) - // move $v0, $zero - // move $v1, $a0 - // blez $t6, .L80324DE0 - // nop - for (i = 0; i < f->seqCount; i++) - { - // lw $t7, 4($v1) - //.L80324DC0: - // addiu $v0, $v0, 1 - // addiu $v1, $v1, 8 - // addu $t8, $t7, $a1 - // sw $t8, -4($v1) - f->seqArray[i].offset = (u32)(f->seqArray[i].offset) + base; - // lh $t9, 2($a0) - // slt $at, $v0, $t9 - // bnezl $at, .L80324DC0 - // lw $t7, 4($v1) - } - //.L80324DE0: - // jr $ra - // nop - - // nop - // nop -} -static void _bnkfPatchBank(ALInstrument *f, ALBankFile *a1, u8 *a3) -{ - int i; - ALSound *sound; - ALWaveTable *wavetable; - u8 *a3_2; - // lbu $t6, 3($a0) - // bnez $t6, .L80324C94 - // nop - if (f->flags) - return; - - // lh $t7, 0xe($a0) - // li $t1, 1 - // sb $t1, 3($a0) - f->flags = 1; - // blez $t7, .L80324C94 - // move $v0, $zero - for (i = 0; i < f->soundCount; i++) - { - // move $v1, $a0 - // li $t2, 1 - // lw $t8, 0x10($v1) - //.L80324BDC: - // addu $t9, $t8, $a1 - // sw $t9, 0x10($v1) - PATCH(f->soundArray[i], a1, ALSound *); - sound = f->soundArray[i]; - - // lbu $t6, 0xe($t9) - // move $a2, $t9 - // bnezl $t6, .L80324C80 - if (sound->flags) - continue; - a3_2 = a3; - - // lh $t8, 0xe($a0) - // lw $t7, ($t9) - // sb $t1, 0xe($t9) - - sound->flags = 1; - // addu $t8, $t7, $a1 - // sw $t8, ($t9) - PATCH(sound->envelope, a1, ALEnvelope *); - //sound->envelope = (u32)sound->envelope + (u32)f; - // lw $t9, 4($t9) - // lw $t7, 8($a2) - // addu $t6, $t9, $a1 - // addu $t8, $t7, $a1 - // sw $t6, 4($a2) - PATCH(sound->keyMap, a1, ALKeyMap *); - // sw $t8, 8($a2) - PATCH(sound->wavetable, a1, ALWaveTable *); - // lbu $t9, 9($t8) - // move $t0, $t8 - wavetable = sound->wavetable; - // bnezl $t9, .L80324C80 - // lh $t8, 0xe($a0) - if (wavetable->flags) - continue; - - // lw $t6, ($t8) - // lbu $a2, 8($t8) - // sb $t1, 9($t8) - // addu $t7, $t6, $a3 - wavetable->flags = 1; - // bnez $a2, .L80324C64 - // sw $t7, ($t8) - PATCH(wavetable->base, a3_2, u8 *); - if (wavetable->type == 0) - { - // lw $t8, 0x10($t8) - // lw $a2, 0xc($t0) - // addu $t9, $t8, $a1 - // beqz $a2, .L80324C7C - // sw $t9, 0x10($t0) - PATCH(wavetable->waveInfo.adpcmWave.book, a1, ALADPCMBook *); - if (wavetable->waveInfo.adpcmWave.loop != NULL) - PATCH(wavetable->waveInfo.adpcmWave.loop, a1, ALADPCMloop *); - // addu $t6, $a2, $a1 - // b .L80324C7C - // sw $t6, 0xc($t0) - } - else if (wavetable->type == 1) - { - //.L80324C64: - // bnel $t2, $a2, .L80324C80 - // lh $t8, 0xe($a0) - // lw $a2, 0xc($t0) - // beqz $a2, .L80324C7C - if (wavetable->waveInfo.rawWave.loop != NULL) - // addu $t7, $a2, $a1 - // sw $t7, 0xc($t0) - PATCH(wavetable->waveInfo.rawWave.loop, a1, ALRawLoop *); - //.L80324C7C: - // lh $t8, 0xe($a0) - } - - //.L80324C80: - // addiu $v0, $v0, 1 - // addiu $v1, $v1, 4 - // slt $at, $v0, $t8 - // bnezl $at, .L80324BDC - // lw $t8, 0x10($v1) - } - - //.L80324C94: - // jr $ra - // nop -} -//force adding another jr $ra. has to be called or it doesn't get put in the right place -static void unused() -{ - // jr $ra - // nop -} - -//glabel alBnkfNew -void alBnkfNew(ALBankFile *f, u8 *table) -{ - //ALInstrument *_inst; - ALBank *bank; - int i; - int j; - unused(); - // addiu $sp, $sp, -0x30 - // sw $ra, 0x2c($sp) - // sw $s4, 0x28($sp) - // sw $s3, 0x24($sp) - // sw $s2, 0x20($sp) - // sw $s1, 0x1c($sp) - // sw $s0, 0x18($sp) - // lh $t6, ($a0) - // li $at, 16945 - // move $s0, $a0 - // bne $t6, $at, .L80324D88 - // move $s1, $a1 - if (f->revision != AL_BANK_VERSION) - return; - - // lh $t7, 2($a0) - // move $s3, $zero - // move $s2, $a0 - // blez $t7, .L80324D88 - // li $s4, 1 - for (i = 0; i < f->bankCount; i++) - { - // lw $t8, 4($s2) - //.L80324CEC: - // addu $t9, $t8, f - // beqz $t9, .L80324D70 - // sw $t9, 4($s2) - PATCH(f->bankArray[i], f, ALBank *); - if (f->bankArray[i] == NULL) - continue; - - // lbu $t6, 2($t9) - // move $t5, $t9 - bank = f->bankArray[i]; - // bnezl $t6, .L80324D74 - // lh $t8, 2(f) - if (bank->flags == 0) - { - // lw $v0, 8($t9) - // sb $s4, 2($t9) - bank->flags = 1; - // move $t4, $zero - // beqz $v0, .L80324D2C - // addu $a0, $v0, f - if (bank->percussion != NULL) - { - // sw $a0, 8($t9) - PATCH(bank->percussion, f, ALInstrument *); - // move $a1, f - // jal _bnkfPatchBank - // move $a3, $s1 - _bnkfPatchBank(bank->percussion, f, table); - } - //.L80324D2C: - // lh $t8, ($t5) - // move $t3, $t5 - // blezl $t8, .L80324D74 - // lh $t8, 2(f) - for (j = 0; j < bank->instCount; j++) - { - // lw $t9, 0xc($t3) - //.L80324D40: - // move $a1, f - // addu $a0, $t9, f - // beqz $a0, .L80324D58 - // sw $a0, 0xc($t3) - PATCH(bank->instArray[j], f, ALInstrument *); - //inst = bank->instArray[j]; - if (bank->instArray[j] != NULL) - { - - // jal _bnkfPatchBank - // move $a3, $s1 - _bnkfPatchBank(bank->instArray[j], f, table); - } - //.L80324D58: - // lh $t7, ($t5) - // addiu $t4, $t4, 1 - // addiu $t3, $t3, 4 - // slt $at, $t4, $t7 - // bnezl $at, .L80324D40 - // lw $t9, 0xc($t3) - } - } - - //.L80324D70: - // lh $t8, 2(f) - //.L80324D74: - // addiu $s3, $s3, 1 - // addiu $s2, $s2, 4 - // slt $at, $s3, $t8 - // bnezl $at, .L80324CEC - // lw $t8, 4($s2) - } - //.L80324D88: - // lw $ra, 0x2c($sp) - // lw $s0, 0x18($sp) - // lw $s1, 0x1c($sp) - // lw $s2, 0x20($sp) - // lw $s3, 0x24($sp) - // lw $s4, 0x28($sp) - // jr $ra - // addiu $sp, $sp, 0x30 -} diff --git a/ge007_libultra/lib/src/guMtxF2L.c b/ge007_libultra/lib/src/guMtxF2L.c deleted file mode 100644 index 49499bd..0000000 --- a/ge007_libultra/lib/src/guMtxF2L.c +++ /dev/null @@ -1,64 +0,0 @@ -#include "libultra_internal.h" - -void guMtxF2L(float mf[4][4], Mtx *m) -{ - int r, c; - long tmp1; - long tmp2; - long *m1 = &m->m[0][0]; - long *m2 = &m->m[2][0]; - for (r = 0; r < 4; r++) - { - for (c = 0; c < 2; c++) - { - tmp1 = mf[r][2 * c] * 65536.0f; - tmp2 = mf[r][2 * c + 1] * 65536.0f; - *m1++ = (tmp1 & 0xffff0000) | ((tmp2 >> 0x10) & 0xffff); - *m2++ = ((tmp1 << 0x10) & 0xffff0000) | (tmp2 & 0xffff); - } - } -} -void guMtxL2F(float mf[4][4], Mtx *m) -{ - int r, c; - u32 tmp1; - u32 tmp2; - u32 *m1; - u32 *m2; - s32 stmp1, stmp2; - m1 = (u32 *)&m->m[0][0]; - m2 = (u32 *)&m->m[2][0]; - for (r = 0; r < 4; r++) - { - for (c = 0; c < 2; c++) - { - tmp1 = (*m1 & 0xffff0000) | ((*m2 >> 0x10) & 0xffff); - tmp2 = ((*m1++ << 0x10) & 0xffff0000) | (*m2++ & 0xffff); - stmp1 = *(s32 *)&tmp1; - stmp2 = *(s32 *)&tmp2; - mf[r][c * 2 + 0] = stmp1 / 65536.0f; - mf[r][c * 2 + 1] = stmp2 / 65536.0f; - } - } -} - -void guMtxIdentF(float mf[4][4]) -{ - int r, c; - for (r = 0; r < 4; r++) - { - for (c = 0; c < 4; c++) - { - if (r == c) - mf[r][c] = 1.0f; - else - mf[r][c] = 0.0f; - } - } -} -void guMtxIdent(Mtx *m) -{ - float mf[4][4]; - guMtxIdentF(mf); - guMtxF2L(mf, m); -} diff --git a/ge007_libultra/lib/src/guNormalize.c b/ge007_libultra/lib/src/guNormalize.c deleted file mode 100644 index 6a4dafa..0000000 --- a/ge007_libultra/lib/src/guNormalize.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "libultra_internal.h" - -void guNormalize(f32 *x, f32 *y, f32 *z) -{ - f32 tmp = 1.0f / sqrtf(*x * *x + *y * *y + *z * *z); - *x = *x * tmp; - *y = *y * tmp; - *z = *z * tmp; -} diff --git a/ge007_libultra/lib/src/guOrthoF.c b/ge007_libultra/lib/src/guOrthoF.c deleted file mode 100644 index ec44ecf..0000000 --- a/ge007_libultra/lib/src/guOrthoF.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "libultra_internal.h" - -void guOrthoF(float m[4][4], float left, float right, float bottom, float top, - float near, float far, float scale) -{ - int row; - int col; - guMtxIdentF(m); - m[0][0] = 2 / (right - left); - m[1][1] = 2 / (top - bottom); - m[2][2] = -2 / (far - near); - m[3][0] = -(right + left) / (right - left); - m[3][1] = -(top + bottom) / (top - bottom); - m[3][2] = -(far + near) / (far - near); - m[3][3] = 1; - for (row = 0; row < 4; row++) - { - for (col = 0; col < 4; col++) - m[row][col] *= scale; - } -} - -void guOrtho(Mtx *m, float left, float right, float bottom, float top, - float near, float far, float scale) -{ - float sp28[4][4]; - guOrthoF(sp28, left, right, bottom, top, near, far, scale); - guMtxF2L(sp28, m); -} diff --git a/ge007_libultra/lib/src/guPerspectiveF.c b/ge007_libultra/lib/src/guPerspectiveF.c deleted file mode 100644 index ce5f0a1..0000000 --- a/ge007_libultra/lib/src/guPerspectiveF.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "libultra_internal.h" - -void guPerspectiveF(float mf[4][4], u16 *perspNorm, float fovy, float aspect, - float near, float far, float scale) -{ - float yscale; - int row; - int col; - guMtxIdentF(mf); - fovy *= GU_PI / 180.0; - yscale = cosf(fovy / 2) / sinf(fovy / 2); - mf[0][0] = yscale / aspect; - mf[1][1] = yscale; - mf[2][2] = (near + far) / (near - far); - mf[2][3] = -1; - mf[3][2] = 2 * near * far / (near - far); - mf[3][3] = 0.0f; - for (row = 0; row < 4; row++) - { - for (col = 0; col < 4; col++) - { - mf[row][col] *= scale; - } - } - if (perspNorm != NULL) - { - if (near + far <= 2.0) - { - *perspNorm = 65535; - } - else - { - *perspNorm = (double)(1 << 17) / (near + far); - if (*perspNorm <= 0) - *perspNorm = 1; - } - } -} -void guPerspective(Mtx *m, u16 *perspNorm, float fovy, float aspect, float near, - float far, float scale) -{ - float mat[4][4]; - guPerspectiveF(mat, perspNorm, fovy, aspect, near, far, scale); - guMtxF2L(mat, m); -} diff --git a/ge007_libultra/lib/src/guRotateF.c b/ge007_libultra/lib/src/guRotateF.c deleted file mode 100644 index 8fc95cc..0000000 --- a/ge007_libultra/lib/src/guRotateF.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "libultra_internal.h" - -void guRotateF(float m[4][4], float a, float x, float y, float z) -{ - float sin_a; - float cos_a; - float sp2c; - float sp28; - float sp24; - float xx, yy, zz; - static float D_80365D70 = GU_PI / 180; - - guNormalize(&x, &y, &z); - - a = a * D_80365D70; - - sin_a = sinf(a); - cos_a = cosf(a); - - sp2c = x * y * (1 - cos_a); - sp28 = y * z * (1 - cos_a); - sp24 = z * x * (1 - cos_a); - - guMtxIdentF(m); - xx = x * x; - m[0][0] = (1 - xx) * cos_a + xx; - m[2][1] = sp28 - x * sin_a; - m[1][2] = sp28 + x * sin_a; - yy = y * y; - m[1][1] = (1 - yy) * cos_a + yy; - m[2][0] = sp24 + y * sin_a; - m[0][2] = sp24 - y * sin_a; - zz = z * z; - m[2][2] = (1 - zz) * cos_a + zz; - m[1][0] = sp2c - z * sin_a; - m[0][1] = sp2c + z * sin_a; -} - -void guRotate(Mtx *m, float a, float x, float y, float z) -{ - float mf[4][4]; - guRotateF(mf, a, x, y, z); - guMtxF2L(mf, m); -} diff --git a/ge007_libultra/lib/src/guScaleF.c b/ge007_libultra/lib/src/guScaleF.c deleted file mode 100644 index 7b8e9ae..0000000 --- a/ge007_libultra/lib/src/guScaleF.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "libultra_internal.h" - -void guScaleF(float mf[4][4], float x, float y, float z) -{ - guMtxIdentF(mf); - mf[0][0] = x; - mf[1][1] = y; - mf[2][2] = z; - mf[3][3] = 1.0; -} -void guScale(Mtx *m, float x, float y, float z) -{ - float mf[4][4]; - guScaleF(mf, x, y, z); - guMtxF2L(mf, m); -} diff --git a/ge007_libultra/lib/src/guTranslateF.c b/ge007_libultra/lib/src/guTranslateF.c deleted file mode 100644 index e056a32..0000000 --- a/ge007_libultra/lib/src/guTranslateF.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libultra_internal.h" - -void guTranslateF(float m[4][4], float x, float y, float z) -{ - guMtxIdentF(m); - m[3][0] = x; - m[3][1] = y; - m[3][2] = z; -} -void guTranslate(Mtx *m, float x, float y, float z) -{ - float mf[4][4]; - guTranslateF(mf,x,y,z); - guMtxF2L(mf, m); -} diff --git a/ge007_libultra/lib/src/hardware.h b/ge007_libultra/lib/src/hardware.h deleted file mode 100644 index 95d10ee..0000000 --- a/ge007_libultra/lib/src/hardware.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _HARDWARE_H_ -#define _HARDWARE_H_ - -#define HW_REG(reg, type) *(volatile type *)(reg | 0xa0000000) - -#define AI_DRAM_ADDR_REG 0x04500000 -#define AI_LEN_REG 0x04500004 -#define AI_CONTROL_REG 0x04500008 -#define AI_STATUS_REG 0x0450000C -#define AI_STATUS_AI_FULL (1 << 31) -#define AI_STATUS_AI_BUSY (1 << 30) -#define AI_DACRATE_REG 0x04500010 -#define AI_BITRATE_REG 0x04500014 - -#define VI_STATUS_REG 0x04400000 -#define VI_CONTROL_REG 0x04400000 -#define VI_ORIGIN_REG 0x04400004 -#define VI_DRAM_ADDR_REG 0x04400004 -#define VI_WIDTH_REG 0x04400008 -#define VI_H_WIDTH_REG 0x04400008 -#define VI_INTR_REG 0x0440000C -#define VI_V_INTER_REG 0x0440000C -#define VI_CURRENT_REG 0x04400010 -#define VI_V_CURRENT_LINE_REG 0x04400010 -#define VI_BURST_REG 0x04400014 -#define VI_TIMING_REG 0x04400014 -#define VI_V_SYNC_REG 0x04400018 //VI vertical sync -#define VI_H_SYNC_REG 0x0440001C //VI horizontal sync -#define VI_LEAP_REG 0x04400020 //VI horizontal sync leap -#define VI_H_SYNC_LEAP_REG 0x04400020 -#define VI_H_START_REG 0x04400024 //VI horizontal video -#define VI_H_VIDEO_REG 0x04400024 -#define VI_V_START_REG 0x04400028 //VI vertical video -#define VI_V_VIDEO_REG 0x04400028 -#define VI_V_BURST_REG 0x0440002C //VI vertical burst -#define VI_X_SCALE_REG 0x04400030 //VI x-scale -#define VI_Y_SCALE_REG 0x04400034 //VI y-scale - -#define SP_IMEM_START 0x04001000 -#define SP_DMEM_START 0x04000000 - -#define SP_MEM_ADDR_REG 0x04040000 -#define SP_DRAM_ADDR_REG 0x04040004 -#define SP_RD_LEN_REG 0x04040008 -#define SP_WR_LEN_REG 0x0404000C -#define SP_STATUS_REG 0x04040010 -#define SP_PC_REG 0x04080000 - -#define PI_DRAM_ADDR_REG 0x04600000 //PI DRAM address -#define PI_CART_ADDR_REG 0x04600004 //PI pbus (cartridge) address -#define PI_RD_LEN_REG 0x04600008 //PI read length -#define PI_WR_LEN_REG 0x0460000C //PI write length -#define PI_STATUS_REG 0x04600010 //PI status -#define PI_BSD_DOM1_LAT_REG 0x04600014 //PI dom1 latency -#define PI_DOMAIN1_REG 0x04600014 -#define PI_BSD_DOM1_PWD_REG 0x04600018 //PI dom1 pulse width -#define PI_BSD_DOM1_PGS_REG 0x0460001C //PI dom1 page size -#define PI_BSD_DOM1_RLS_REG 0x04600020 //PI dom1 release -#define PI_BSD_DOM2_LAT_REG 0x04600024 //PI dom2 latency -#define PI_DOMAIN2_REG 0x04600024 -#define PI_BSD_DOM2_PWD_REG 0x04600028 //PI dom2 pulse width -#define PI_BSD_DOM2_PGS_REG 0x0460002C //PI dom2 page size -#define PI_BSD_DOM2_RLS_REG 0x04600030 //PI dom2 release - -#define PI_STATUS_BUSY 0x1 -#define PI_STATUS_IOBUSY 0x2 -#define PI_STATUS_ERROR 0x3 - -#define SI_DRAM_ADDR_REG 0x04800000 -#define SI_PIF_ADDR_RD64B_REG 0x04800004 -#define SI_PIF_ADDR_WR64B_REG 0x04800010 -#define SI_STATUS_REG 0x04800018 - -#define SI_STATUS_DMA_BUSY 0x1 -#define SI_STATUS_IO_READ_BUSY 0x2 -#define SI_STATUS_DMA_ERROR 0x8 -#define SI_STATUS_INTERRUPT (1 << 12) - -#define MI_INIT_MODE_REG 0x04300000 -#define MI_MODE_REG MI_INIT_MODE_REG -#define MI_VERSION_REG 0x04300004 -#define MI_INTR_REG 0x04300008 -#define MI_INTR_MASK_REG 0x0430000C - -#endif diff --git a/ge007_libultra/lib/src/kdebugserver.c b/ge007_libultra/lib/src/kdebugserver.c deleted file mode 100644 index b7d6ce3..0000000 --- a/ge007_libultra/lib/src/kdebugserver.c +++ /dev/null @@ -1,147 +0,0 @@ -#include "libultra_internal.h" -typedef struct -{ - u8 unk00 : 2; - u8 pad : 4; - u8 unk01 : 2; - u8 unk2[3]; -} unkStruct; - -extern u32 D_80334A44; -u32 D_80334A30 = 0; - -u32 D_80334A34 = 0; - -s32 D_80334A38 = 0; - -u8 D_80365E40[0x100]; -OSThread gInterruptedThread; - -void u32_to_string(u32 i, u8 *str) -{ - str[0] = (i >> 0x18) & 0xff; - str[1] = (i >> 0x10) & 0xff; - str[2] = (i >> 0x8) & 0xff; - str[3] = i & 0xff; -} -u32 string_to_u32(u8 *str) -{ - u32 i; - i = (str[0] & 0xff) << 0x18; - i |= (str[1] & 0xff) << 0x10; - i |= (str[2] & 0xff) << 0x8; - i |= (str[3] & 0xff); - return i; -} - -void send_packet(u8 *a0, s32 a1) -{ - unkStruct sp1c; - s32 i; - sp1c.unk00 = 2; - ; - for (sp1c.unk01 = a1, i = 0; i < a1; i++) - - { - sp1c.unk2[i] = a0[i]; - } - *(u32 *)0xc0000000 = *(u32 *)&sp1c; - while (!(__osGetCause() & 0x2000)) - ; - *(u32 *)0xc000000c = 0; -} -void send(u8 *buff, s32 len) -{ - s32 i; - s32 end; - s32 rem; - if (!D_80334A44) - { - while (!(__osGetCause() & 0x2000)) - ; - *(u32 *)0xC000000C = 0; - D_80334A44 = 1; - } - i = 0; - rem = len % 3; - end = len - rem; - for (; i < end; i += 3) - { - send_packet(&buff[i], 3); - } - if (rem > 0) - { - send_packet(&buff[end], rem); - } -} -void process_command_memory() -{ - u32 sp1c; - u32 sp18; - sp1c = string_to_u32(&D_80365E40[1]); - sp18 = string_to_u32(&D_80365E40[5]); - send((u8 *)sp1c, sp18); -} -void process_command_register() -{ - send((u8 *)&gInterruptedThread.context, sizeof(__OSThreadContext)); -} - -void kdebugserver(u32 a0) -{ - u32 sp2c; - unkStruct sp28; - *(u32 *)&sp28 = a0; - for (sp2c = 0; sp2c < sp28.unk01; sp2c++) - { - D_80365E40[D_80334A34] = sp28.unk2[sp2c]; - D_80334A34++; - } - D_80334A38 -= sp28.unk01; - switch (D_80334A30) - { - case 0: - switch (sp28.unk2[0]) - { - case 1: - D_80334A30 = 1; - D_80334A38 = 9 - sp28.unk01; - break; - case 2: - process_command_register(); - D_80334A30 = 0; - D_80334A34 = 0; - D_80334A38 = 0; - break; - default: - D_80334A30 = 0; - D_80334A34 = 0; - D_80334A38 = 0; - break; - } - break; - case 1: - if (D_80334A38 <= 0) - { - if (D_80365E40[0] == 1) - { - process_command_memory(); - D_80334A30 = 0; - D_80334A34 = 0; - D_80334A38 = 0; - } - else - { - D_80334A30 = 0; - D_80334A34 = 0; - D_80334A38 = 0; - } - } - break; - default: - D_80334A30 = 0; - D_80334A34 = 0; - D_80334A38 = 0; - break; - } -} diff --git a/ge007_libultra/lib/src/ldiv.c b/ge007_libultra/lib/src/ldiv.c deleted file mode 100644 index 8a44ccc..0000000 --- a/ge007_libultra/lib/src/ldiv.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "libultra_internal.h" - -#include -lldiv_t lldiv(long long num, long long denom) -{ - lldiv_t ret; - - ret.quot = num / denom; - ret.rem = num - denom * ret.quot; - if (ret.quot < 0 && ret.rem > 0) - { - ret.quot++; - ret.rem -= denom; - } - - return ret; -} -ldiv_t ldiv(long num, long denom) -{ - ldiv_t ret; - - ret.quot = num / denom; - ret.rem = num - denom * ret.quot; - if (ret.quot < 0 && ret.rem > 0) - { - ret.quot++; - ret.rem -= denom; - } - - return ret; -} diff --git a/ge007_libultra/lib/src/libaudio_internal.h b/ge007_libultra/lib/src/libaudio_internal.h deleted file mode 100644 index cd6355f..0000000 --- a/ge007_libultra/lib/src/libaudio_internal.h +++ /dev/null @@ -1,133 +0,0 @@ -#ifndef _LIBAUDIO_INTERNAL_H_ -#define _LIBAUDIO_INTERNAL_H_ - -/* abi.h */ -#define ADPCMVSIZE 8 -#define ADPCMFSIZE 16 -typedef short ADPCM_STATE[ADPCMFSIZE]; -/**/ - -#define AL_BANK_VERSION 0x4231 /* 'B1' */ - -typedef u8 ALPan; -typedef s32 ALMicroTime; - -/* Possible wavetable types */ -enum -{ - AL_ADPCM_WAVE = 0, - AL_RAW16_WAVE -}; - -typedef struct -{ - s32 order; - s32 npredictors; - s16 book[1]; /* Actually variable size. Must be 8-byte aligned */ -} ALADPCMBook; - -typedef struct -{ - u32 start; - u32 end; - u32 count; - ADPCM_STATE state; -} ALADPCMloop; - -typedef struct -{ - u32 start; - u32 end; - u32 count; -} ALRawLoop; - -typedef struct -{ - ALMicroTime attackTime; - ALMicroTime decayTime; - ALMicroTime releaseTime; - u8 attackVolume; - u8 decayVolume; -} ALEnvelope; - -typedef struct -{ - u8 velocityMin; - u8 velocityMax; - u8 keyMin; - u8 keyMax; - u8 keyBase; - s8 detune; -} ALKeyMap; - -typedef struct -{ - ALADPCMloop *loop; - ALADPCMBook *book; -} ALADPCMWaveInfo; - -typedef struct -{ - ALRawLoop *loop; -} ALRAWWaveInfo; - -typedef struct ALWaveTable_s -{ - u8 *base; /* ptr to start of wave data */ - s32 len; /* length of data in bytes */ - u8 type; /* compression type */ - u8 flags; /* offset/address flags */ - union { - ALADPCMWaveInfo adpcmWave; - ALRAWWaveInfo rawWave; - } waveInfo; -} ALWaveTable; - -typedef struct ALSound_s -{ - ALEnvelope *envelope; - ALKeyMap *keyMap; - ALWaveTable *wavetable; /* offset to wavetable struct */ - ALPan samplePan; - u8 sampleVolume; - u8 flags; -} ALSound; - -typedef struct -{ - u8 volume; /* overall volume for this instrument */ - ALPan pan; /* 0 = hard left, 127 = hard right */ - u8 priority; /* voice priority for this instrument */ - u8 flags; - u8 tremType; /* the type of tremelo osc. to use */ - u8 tremRate; /* the rate of the tremelo osc. */ - u8 tremDepth; /* the depth of the tremelo osc */ - u8 tremDelay; /* the delay for the tremelo osc */ - u8 vibType; /* the type of tremelo osc. to use */ - u8 vibRate; /* the rate of the tremelo osc. */ - u8 vibDepth; /* the depth of the tremelo osc */ - u8 vibDelay; /* the delay for the tremelo osc */ - s16 bendRange; /* pitch bend range in cents */ - s16 soundCount; /* number of sounds in this array */ - ALSound *soundArray[1]; -} ALInstrument; - -typedef struct ALBank_s -{ - s16 instCount; /* number of programs in this bank */ - u8 flags; - u8 pad; - s32 sampleRate; /* e.g. 44100, 22050, etc... */ - ALInstrument *percussion; /* default percussion for GM */ - ALInstrument *instArray[1]; /* ARRAY of instruments */ -} ALBank; - -typedef struct -{ /* Note: sizeof won't be correct */ - s16 revision; /* format revision of this file */ - s16 bankCount; /* number of banks */ - ALBank *bankArray[1]; /* ARRAY of bank offsets */ -} ALBankFile; - -void alBnkfNew(ALBankFile *f, u8 *table); -#endif diff --git a/ge007_libultra/lib/src/libultra_internal.h b/ge007_libultra/lib/src/libultra_internal.h deleted file mode 100644 index 5dc8492..0000000 --- a/ge007_libultra/lib/src/libultra_internal.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _LIBULTRA_INTERNAL_H_ -#define _LIBULTRA_INTERNAL_H_ -#include - -typedef struct -{ - u32 initialized; //probably something like initialized? - OSThread *mgrThread; - OSMesgQueue *unk08; - OSMesgQueue *unk0c; - OSMesgQueue *unk10; - s32 (*dma_func)(s32,u32,void*,size_t); - u64 force_align; -} OSMgrArgs; - -s32 __osDisableInt(); -void __osRestoreInt(s32); -void __osEnqueueAndYield(OSThread**); -void __osDequeueThread(OSThread**, OSThread*); -void __osEnqueueThread(OSThread**, OSThread*); -OSThread* __osPopThread(OSThread**); -s32 __osSiRawStartDma(s32, void*); -void __osSiCreateAccessQueue(); -void __osSiGetAccess(); -void __osSiRelAccess(); -u32 __osProbeTLB(void*); -void __osPiCreateAccessQueue(); -void __osPiGetAccess(); -void __osSetSR(u32); -u32 __osGetSR(); -void __osSetFpcCsr(u32); -s32 __osSiRawReadIo(void*, u32*); -s32 __osSiRawWriteIo(void*, u32); -s32 osPiRawReadIo(u32 a0, u32 *a1); -void __osSpSetStatus(u32); -u32 __osSpGetStatus(); -s32 __osSpSetPc(void*); -s32 __osSpDeviceBusy(); -s32 __osSiDeviceBusy(); -s32 __osSpRawStartDma(u32 dir, void *sp_ptr, void *dram_ptr, size_t size); -void __osViInit(); -OSViContext * __osViGetCurrentContext(); -void __osViSwapContext(); -void __osSetTimerIntr(u64); -u64 __osInsertTimer(OSTimer *); -void __osSetCompare(u32); -s32 __osAiDeviceBusy(); -void __osDispatchThread(); -u32 __osGetCause(); -s32 __osAtomicDec(u32*); -#endif diff --git a/ge007_libultra/lib/src/math/cosf.c b/ge007_libultra/lib/src/math/cosf.c deleted file mode 100644 index bf7de15..0000000 --- a/ge007_libultra/lib/src/math/cosf.c +++ /dev/null @@ -1,91 +0,0 @@ - -typedef union { - /* 0x0 */ double d; - /* 0x0 */ struct - { - /* 0x0 */ unsigned int hi; - /* 0x4 */ unsigned int lo; - } word; -} du; - -typedef union { - /* 0x0 */ float f; - /* 0x0 */ unsigned int i; -} fu; - -static const du P[5] = {{1.0}, - {-0.16666659550427756}, - {0.008333066246082155}, - {-1.980960290193795E-4}, - {2.605780637968037E-6}}; - -static const du rpi = {0.3183098861837907}; - -static const du pihi = { - 3.1415926218032837}; - -static const du pilo = { - 3.178650954705639E-8}; - -const fu zero = {0.0}; -extern fu NAN; - -float cosf(float x) -{ - double dx; // double x - double xsq; // x squared - double poly; - double dn; - float xabs; - int n; - double result; - int ix; // int x - int xpt; - ix = *(int *)&x; - xpt = (ix >> 22) & 0x1FF; - - if (xpt < 310) - { - if (0 < x) - xabs = x; - else - xabs = -x; - dx = xabs; - - dn = dx * rpi.d + .5; - if (0 <= dn) - { - - n = dn + .5; - } - else - { - n = dn - .5; - } - dn = n; - - dx -= (dn - .5) * pihi.d; - dx -= (dn - .5) * pilo.d; - xsq = dx * dx; - - poly = (((((P[4].d * xsq) + P[3].d) * xsq) + P[2].d) * xsq) + P[1].d; - - result = ((dx * xsq) * poly) + dx; - - if ((n & 0x1) == 0) - { - return result; - } - else - { - return -(float)result; - } - } - - if (x != x) - { - return NAN.f; - } - - return zero.f; -} diff --git a/ge007_libultra/lib/src/math/llconv.c b/ge007_libultra/lib/src/math/llconv.c deleted file mode 100644 index 3cf941c..0000000 --- a/ge007_libultra/lib/src/math/llconv.c +++ /dev/null @@ -1,34 +0,0 @@ -typedef signed long long int s64; -typedef unsigned long long int u64; -s64 __d_to_ll(double d) -{ - return d; -} -s64 __f_to_ll(float f) -{ - return f; -} -u64 __d_to_ull(double d) -{ - return d; -} -u64 __f_to_ull(float f) -{ - return f; -} -double __ll_to_d(s64 s) -{ - return s; -} -float __ll_to_f(s64 s) -{ - return s; -} -double __ull_to_d(u64 u) -{ - return u; -} -float __ull_to_f(u64 u) -{ - return u; -} diff --git a/ge007_libultra/lib/src/math/llmuldiv.c b/ge007_libultra/lib/src/math/llmuldiv.c deleted file mode 100644 index e64b9d0..0000000 --- a/ge007_libultra/lib/src/math/llmuldiv.c +++ /dev/null @@ -1,53 +0,0 @@ -unsigned long long __ull_rshift(unsigned long long a0, unsigned long long a1) -{ - return a0 >> a1; -} -unsigned long long __ull_rem(unsigned long long a0, unsigned long long a1) -{ - return a0 % a1; -} -unsigned long long __ull_div(unsigned long long a0, unsigned long long a1) -{ - return a0 / a1; -} - -unsigned long long __ll_lshift(unsigned long long a0, unsigned long long a1) -{ - return a0 << a1; -} - -long long __ll_rem(unsigned long long a0, long long a1) -{ - return a0 % a1; -} - -long long __ll_div(long long a0, long long a1) -{ - return a0 / a1; -} - -unsigned long long __ll_mul(unsigned long long a0, unsigned long long a1) -{ - return a0 * a1; -} - -void __ull_divremi(unsigned long long *div, unsigned long long *rem, unsigned long long a2, unsigned short a3) -{ - *div = a2 / a3; - *rem = a2 % a3; -} -long long __ll_mod(long long a0, long long a1) -{ - long long tmp = a0 % a1; - if ((tmp < 0 && a1 > 0) || (tmp > 0 && a1 < 0)) - { - - tmp += a1; - } - return tmp; -} - -long long __ll_rshift(long long a0, long long a1) -{ - return a0 >> a1; -} diff --git a/ge007_libultra/lib/src/math/sinf.c b/ge007_libultra/lib/src/math/sinf.c deleted file mode 100644 index 13fd193..0000000 --- a/ge007_libultra/lib/src/math/sinf.c +++ /dev/null @@ -1,108 +0,0 @@ -typedef union { - /* 0x0 */ double d; - /* 0x0 */ struct - { - /* 0x0 */ unsigned int hi; - /* 0x4 */ unsigned int lo; - } word; -} du; - -typedef union { - /* 0x0 */ float f; - /* 0x0 */ unsigned int i; -} fu; - -static const du P[5] = {{1.0}, - {-0.16666659550427756}, - {0.008333066246082155}, - {-1.980960290193795E-4}, - {2.605780637968037E-6}}; - -static const du rpi = {0.3183098861837907}; - -static const du pihi = { - 3.1415926218032837}; - -static const du pilo = { - 3.178650954705639E-8}; - -static const fu zero = {0.0}; -extern const fu NAN; //nan 0x7f810000 -//#define NAN D_80338660; - -float sinf(float x) -{ - double dx; // double x - double xsq; // x squared - double poly; - double dn; - int n; - double result; - int ix; // int x - int xpt; - - ix = *(int *)&x; - xpt = (ix >> 22) & 0x1FF; - - if (xpt < 255) - { - dx = x; - if (xpt >= 230) - { - xsq = dx * dx; - - poly = (((((P[4].d * xsq) + P[3].d) * xsq) + P[2].d) * xsq) + P[1].d; - - result = ((dx * xsq) * poly) + dx; - - return result; - } - else - { - return x; - } - } - - if (xpt < 310) - { - dx = x; - - dn = dx * rpi.d; - - if (dn >= 0) - { - n = dn + 0.5; - } - else - { - n = dn - 0.5; - } - - dn = n; - - dx -= dn * pihi.d; - dx -= dn * pilo.d; - - xsq = dx * dx; - - poly = (((((P[4].d * xsq) + P[3].d) * xsq) + P[2].d) * xsq) + P[1].d; - - result = ((dx * xsq) * poly) + dx; - - if ((n & 0x1) == 0) - { - return result; - } - else - { - return -(float)result; - } - } - - if (x != x) - { - return NAN.f; - } - - return zero.f; -} diff --git a/ge007_libultra/lib/src/osAi.h b/ge007_libultra/lib/src/osAi.h deleted file mode 100644 index 276fa07..0000000 --- a/ge007_libultra/lib/src/osAi.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _OSAI_H_ -#define _OSAI_H_ - -s32 osAiSetFrequency(u32); -s32 osAiSetNextBuffer(void *, u32); -u32 osAiGetLength(void); -#endif diff --git a/ge007_libultra/lib/src/osAiGetLength.c b/ge007_libultra/lib/src/osAiGetLength.c deleted file mode 100644 index 6e59e4a..0000000 --- a/ge007_libultra/lib/src/osAiGetLength.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "libultra_internal.h" -#include "osAi.h" -#include "hardware.h" -u32 osAiGetLength(){ - return HW_REG(AI_LEN_REG,u32); -} diff --git a/ge007_libultra/lib/src/osAiSetFrequency.c b/ge007_libultra/lib/src/osAiSetFrequency.c deleted file mode 100644 index 847c029..0000000 --- a/ge007_libultra/lib/src/osAiSetFrequency.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "libultra_internal.h" -#include "osAi.h" -#include "hardware.h" -extern s32 D_8033491C; -s32 osAiSetFrequency(u32 freq) -{ - register u32 a1; - register s32 a2; - register float ftmp; - ftmp = D_8033491C / (float)freq + .5f; - - a1 = ftmp; - - if (a1 < 0x84) - return -1; - - a2 = (a1 / 66) & 0xff; - if (a2 > 16) - a2 = 16; - - HW_REG(AI_DACRATE_REG, u32) = a1 - 1; - HW_REG(AI_BITRATE_REG, u32) = a2 - 1; - HW_REG(AI_CONTROL_REG, u32) = 1; //enable dma - return D_8033491C / (s32)a1; -} - -//put some extra jr $ra's down there please -static void filler1(void) {} -static void filler2(void) {} diff --git a/ge007_libultra/lib/src/osAiSetNextBuffer.c b/ge007_libultra/lib/src/osAiSetNextBuffer.c deleted file mode 100644 index 5b551bf..0000000 --- a/ge007_libultra/lib/src/osAiSetNextBuffer.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "libultra_internal.h" -#include "osAi.h" -#include "hardware.h" -u8 D_80334820 = 0; -s32 osAiSetNextBuffer(void *buff, u32 len) -{ - u8 *sp1c = buff; - if (D_80334820 != 0) - { - sp1c -= 0x2000; - } - if ((((u32)buff + len) & 0x3fff) == 0x2000) - - D_80334820 = 1; - - else - - D_80334820 = 0; - - if (__osAiDeviceBusy()) - return -1; - HW_REG(AI_DRAM_ADDR_REG, void *) = (void*)osVirtualToPhysical(sp1c); - HW_REG(AI_LEN_REG, u32) = len; - return 0; -} diff --git a/ge007_libultra/lib/src/osContInit.c b/ge007_libultra/lib/src/osContInit.c deleted file mode 100644 index 7b16735..0000000 --- a/ge007_libultra/lib/src/osContInit.c +++ /dev/null @@ -1,101 +0,0 @@ -#include "libultra_internal.h" -#include "osContInternal.h" - -void __osPackRequestData(u8); -void __osContGetInitData(u8 *, OSContStatus *); - -u32 D_80334810 = 0; //probably initialized - -extern u32 D_80365D1C; -extern u64 osClockRate; - -//these probably belong in EEPROMlongread or something -u8 D_80365D20; -u8 _osCont_numControllers; -OSTimer D_80365D28; //some kind of buffer, or maybe an as yet unknown struct -OSMesgQueue _osContMesgQueue; -OSMesg _osContMesgBuff[4]; -s32 osContInit(OSMesgQueue *mq, u8 *a1, OSContStatus *status) -{ - OSMesg mesg; - u32 sp78 = 0; - OSTime currentTime; - OSTimer sp50; - OSMesgQueue sp38; - - if (D_80334810) - { - return 0; - } - D_80334810 = 1; - currentTime = osGetTime(); - if (0x0007A120 * osClockRate / 1000000 > currentTime) - { - osCreateMesgQueue(&sp38, &mesg, 1); - osSetTimer(&sp50, 0x0007A120 * osClockRate / 1000000 - currentTime, 0, &sp38, &mesg); - osRecvMesg(&sp38, &mesg, OS_MESG_BLOCK); - } - _osCont_numControllers = 4; //TODO: figure out what it means - __osPackRequestData(255); - sp78 = __osSiRawStartDma(1, D_80365CE0); - osRecvMesg(mq, &mesg, OS_MESG_BLOCK); - sp78 = __osSiRawStartDma(0, D_80365CE0); - osRecvMesg(mq, &mesg, OS_MESG_BLOCK); - __osContGetInitData(a1, status); - D_80365D20 = 255; - __osSiCreateAccessQueue(); - osCreateMesgQueue(&_osContMesgQueue, _osContMesgBuff, 1); - return sp78; -} -void __osContGetInitData(u8 *a0, OSContStatus *status) -{ - OSContPackedRequest *sp14; - OSContPackedRequest spc; - s32 i; - u8 sp7; - - sp7 = 0; - sp14 = &(D_80365CE0[0].request); - for (i = 0; i < _osCont_numControllers; i++, sp14++, status++) - { - spc = *(OSContPackedRequest *)sp14; - status->errno = (spc.unk02 & 0xc0) >> 4; - if (status->errno == 0) - { - status->type = spc.unk05 << 8 | spc.unk04; - status->status = spc.unk06; - - sp7 |= 1 << i; - } - } - *a0 = sp7; -} -void __osPackRequestData(u8 a0) -{ - OSContPackedRequest *spc; - OSContPackedRequest sp4; - s32 i; - - //some kind of weird zeroing code - for (i = 0; i < 0x10; i++) - { - *((u32 *)&D_80365CE0 + i) = 0; - } - - D_80365D1C = 1; - spc = &D_80365CE0[0].request; - sp4.unk00 = 255; - sp4.unk01 = 1; - sp4.unk02 = 3; - sp4.unk03 = a0; - sp4.unk04 = 255; - sp4.unk05 = 255; - sp4.unk06 = 255; - sp4.unk07 = 255; - - for (i = 0; i < _osCont_numControllers; i++) - { - *spc++ = sp4; - } - spc->unk00 = 254; -} diff --git a/ge007_libultra/lib/src/osContInternal.h b/ge007_libultra/lib/src/osContInternal.h deleted file mode 100644 index c3383c1..0000000 --- a/ge007_libultra/lib/src/osContInternal.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _ULTRA64_CONTROLLER_INTERNAL_H_ -#define _ULTRA64_CONTROLLER_INTERNAL_H_ -#include -typedef struct -{ - u8 unk00; //unknown, set to 255 a lot - u8 unk01; - u8 unk02; //probably status - u8 unk03; //maybe errno - u16 button; - s8 rawStickX; - s8 rawStickY; -} OSContPackedRead; - -typedef struct -{ - u8 unk00; //unknown, set to 255 a lot - u8 unk01; - u8 unk02; //probably status - u8 unk03; //maybe errno - u8 unk04; - u8 unk05; - u8 unk06; - u8 unk07; -} OSContPackedRequest; - -typedef union { - OSContPackedRead read; - OSContPackedRequest request; -} OSContPackedStruct; - - -extern OSContPackedStruct D_80365CE0[7]; - -#endif diff --git a/ge007_libultra/lib/src/osContStartReadData.c b/ge007_libultra/lib/src/osContStartReadData.c deleted file mode 100644 index da64bfc..0000000 --- a/ge007_libultra/lib/src/osContStartReadData.c +++ /dev/null @@ -1,75 +0,0 @@ -#include "libultra_internal.h" -#include "osContInternal.h" - -OSContPackedStruct D_80365CE0[7]; -static u32 unused; //padding between these two variables -u32 D_80365D1C; - -extern u8 D_80365D20; -extern u8 _osCont_numControllers; - -void __osPackReadData(void); -s32 osContStartReadData(OSMesgQueue *mesg) -{ - s32 ret = 0; - s32 i; - __osSiGetAccess(); - if (D_80365D20 != 1) - { - __osPackReadData(); - ret = __osSiRawStartDma(1, D_80365CE0); - osRecvMesg(mesg, NULL, OS_MESG_BLOCK); - } - for (i = 0; i < 0x10; i++) - { - *((u32 *)&D_80365CE0 + i) = 255; - } - - D_80365D1C = 0; - ret = __osSiRawStartDma(0, &D_80365CE0); - D_80365D20 = 1; - __osSiRelAccess(); - return ret; -} -void osContGetReadData(OSContPad *pad) -{ - OSContPackedRead *spc; - OSContPackedRead sp4; - s32 i; - spc = &D_80365CE0[0].read; - for (i = 0; i < _osCont_numControllers; i++, spc++, pad++) - { - sp4 = *spc; - pad->errno = (sp4.unk02 & 0xc0) >> 4; - if (pad->errno == 0) - { - pad->button = sp4.button; - pad->stick_x = sp4.rawStickX; - pad->stick_y = sp4.rawStickY; - } - }; -} -void __osPackReadData() -{ - OSContPackedRead *spc; - OSContPackedRead sp4; - s32 i; - spc = &D_80365CE0[0].read; - for (i = 0; i < 0x10; i++) - { - *((u32 *)&D_80365CE0 + i) = 0; - } - D_80365D1C = 1; - sp4.unk00 = 255; - sp4.unk01 = 1; - sp4.unk02 = 4; - sp4.unk03 = 1; - sp4.button = 65535; - sp4.rawStickX = -1; - sp4.rawStickY = -1; - for (i = 0; i < _osCont_numControllers; i++) - { - *spc++ = sp4; - } - spc->unk00 = 254; -} diff --git a/ge007_libultra/lib/src/osCreateMesgQueue.c b/ge007_libultra/lib/src/osCreateMesgQueue.c deleted file mode 100644 index 6b727ef..0000000 --- a/ge007_libultra/lib/src/osCreateMesgQueue.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "libultra_internal.h" -extern OSThread *D_80334890; -void osCreateMesgQueue(OSMesgQueue *mq, OSMesg *msgBuf, s32 count) -{ - mq->mtqueue = (OSThread *)&D_80334890; //? - mq->fullqueue = (OSThread *)&D_80334890; - mq->validCount = 0; - mq->first = 0; - mq->msgCount = count; - mq->msg = msgBuf; - return; -} diff --git a/ge007_libultra/lib/src/osCreatePiManager.c b/ge007_libultra/lib/src/osCreatePiManager.c deleted file mode 100644 index 21957e6..0000000 --- a/ge007_libultra/lib/src/osCreatePiManager.c +++ /dev/null @@ -1,52 +0,0 @@ -#include "libultra_internal.h" -#define OS_PI_MGR_MESG_BUFF_SIZE 1 - -OSMgrArgs piMgrArgs = {0}; -OSThread piMgrThread; -u32 piMgrStack[0x400]; //stack bottom -OSMesgQueue __osPiMesgQueue; -OSMesg piMgrMesgBuff[OS_PI_MGR_MESG_BUFF_SIZE + 1]; -s32 osPiRawStartDma(s32 dir, u32 cart_addr, void *dram_addr, size_t size); -extern u32 gOsPiAccessQueueCreated; -extern OSMesgQueue gOsPiMessageQueue; -void __osDevMgrMain(void *); - -void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, - s32 cmdMsgCnt) -{ - u32 int_disabled; - OSPri newPri; - OSPri currentPri; - - if (!piMgrArgs.initialized) - { - osCreateMesgQueue(cmdQ, cmdBuf, cmdMsgCnt); - osCreateMesgQueue(&__osPiMesgQueue, &piMgrMesgBuff[0], OS_PI_MGR_MESG_BUFF_SIZE); - if (!gOsPiAccessQueueCreated) - { - __osPiCreateAccessQueue(); - } //what is this constant geez - osSetEventMesg(OS_EVENT_PI, &__osPiMesgQueue, (void *)0x22222222); - newPri = -1; - currentPri = osGetThreadPri(NULL); - if (currentPri < pri) - { - newPri = currentPri; - osSetThreadPri(NULL, pri); - } - int_disabled = __osDisableInt(); - piMgrArgs.initialized = TRUE; - piMgrArgs.mgrThread = &piMgrThread; - piMgrArgs.unk08 = cmdQ; - piMgrArgs.unk0c = &__osPiMesgQueue; - piMgrArgs.unk10 = &gOsPiMessageQueue; - piMgrArgs.dma_func = osPiRawStartDma; - osCreateThread(&piMgrThread, 0, __osDevMgrMain, (void *)&piMgrArgs, &piMgrStack[0x400], pri); - osStartThread(&piMgrThread); - __osRestoreInt(int_disabled); - if (newPri != -1) - { - osSetThreadPri(NULL, newPri); - } - } -} diff --git a/ge007_libultra/lib/src/osCreateThread.c b/ge007_libultra/lib/src/osCreateThread.c deleted file mode 100644 index 94f2882..0000000 --- a/ge007_libultra/lib/src/osCreateThread.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "libultra_internal.h" -extern OSThread* D_8033489C; -void __osCleanupThread(void); -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wint-conversion" -#pragma GCC diagnostic ignored "-Wpointer-to-int-cast" -void osCreateThread(OSThread *thread, OSId id, void (*entry)(void *), - void *arg, void *sp, OSPri pri) -{ - register u32 int_disabled; - u32 tmp; - thread->id = id; - thread->priority = pri; - thread->next = NULL; - thread->queue = NULL; - thread->context.pc = (u32)entry; - thread->context.a0 = arg; - thread->context.sp = ((u64)sp) - 16; - thread->context.ra = __osCleanupThread; - tmp = 0x003FFF01; - thread->context.sr = 65283; - thread->context.rcp = (tmp & 0x3f0000) >> 16; - thread->context.fpcsr = (u32)0x01000800; - thread->fp = 0; - thread->state = OS_STATE_STOPPED; - thread->flags = 0; - int_disabled = __osDisableInt(); - thread->tlnext = D_8033489C; - - D_8033489C = thread; - __osRestoreInt(int_disabled); -} -#pragma GCC diagnostic pop diff --git a/ge007_libultra/lib/src/osCreateViManager.c b/ge007_libultra/lib/src/osCreateViManager.c deleted file mode 100644 index 2e0ce88..0000000 --- a/ge007_libultra/lib/src/osCreateViManager.c +++ /dev/null @@ -1,1006 +0,0 @@ -#include "libultra_internal.h" -OSViMode osViModeTable[] = { - /*osViModeNtscLpn1*/ - { - /*type*/ 0, - /*comRegs*/ {/*ctrl*/ 12814, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 525, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscLpf1*/ - {/*type*/ 1, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 16778240, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 50332672, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscLan1*/ - {/*type*/ 2, - /*comRegs*/ {/*ctrl*/ 12574, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 525, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscLaf1*/ - {/*type*/ 3, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 16778240, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 50332672, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscLpn2*/ - {/*type*/ 4, - /*comRegs*/ {/*ctrl*/ 13071, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 525, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscLpf2*/ - {/*type*/ 5, - /*comRegs*/ {/*ctrl*/ 12879, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 16778240, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 50332672, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscLan2*/ - {/*type*/ 6, - /*comRegs*/ {/*ctrl*/ 12319, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 525, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscLaf2*/ - {/*type*/ 7, - /*comRegs*/ {/*ctrl*/ 12383, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 16778240, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 50332672, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscHpn1*/ - {/*type*/ 8, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 1280, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscHpf1*/ - {/*type*/ 9, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 640, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 33556480, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscHan1*/ - {/*type*/ 10, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 1280, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscHaf1*/ - {/*type*/ 11, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 640, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 33556480, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscHpn2*/ - {/*type*/ 12, - /*comRegs*/ {/*ctrl*/ 13135, - /*width*/ 1280, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 5120, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModeNtscHpf2*/ - {/*type*/ 13, - /*comRegs*/ {/*ctrl*/ 12879, - /*width*/ 640, - /*burst*/ 65348153, - /*vSync*/ 524, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 2294269, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 5120, - /*yScale*/ 33556480, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, -#ifdef VERSION_JP - - /*osViModePalLpn1*/ - {/*type*/ 14, - /*comRegs*/ {/*ctrl*/ 12814, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 625, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}}}, - /*osViModePalLpf1*/ - {/*type*/ 15, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 16778240, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 50332672, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalLan1*/ - {/*type*/ 16, - /*comRegs*/ {/*ctrl*/ 12574, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 625, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}}}, - /*osViModePalLaf1*/ - {/*type*/ 17, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 16778240, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 50332672, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalLpn2*/ - {/*type*/ 18, - /*comRegs*/ {/*ctrl*/ 13071, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 625, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}}}, - /*osViModePalLpf2*/ - {/*type*/ 19, - /*comRegs*/ {/*ctrl*/ 12879, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 16778240, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 50332672, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalLan2*/ - {/*type*/ 20, - /*comRegs*/ {/*ctrl*/ 12319, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 625, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}}}, - /*osViModePalLaf2*/ - {/*type*/ 21, - /*comRegs*/ {/*ctrl*/ 12383, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 16778240, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 50332672, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalHpn1*/ - {/*type*/ 22, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 1280, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalHpf1*/ - {/*type*/ 23, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 640, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 33556480, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalHan1*/ - {/*type*/ 24, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 1280, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalHaf1*/ - {/*type*/ 25, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 640, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 33556480, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalHpn2*/ - {/*type*/ 26, - /*comRegs*/ {/*ctrl*/ 13135, - /*width*/ 1280, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 5120, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, - /*osViModePalHpf2*/ - {/*type*/ 27, - /*comRegs*/ {/*ctrl*/ 12879, - /*width*/ 640, - /*burst*/ 67380026, - /*vSync*/ 624, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 6095415, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 5120, - /*yScale*/ 33556480, - /*vStart*/ 6226489, - /*vBurst*/ 852585, - /*vIntr*/ 2}}}, -#else - /*osViModePalLpn1*/ - {/*type*/ 28, - /*comRegs*/ {/*ctrl*/ 12814, - /*width*/ 320, - /*burst*/ 73735737, - /*vSync*/ 525, - /*hSync*/ 265233, - /*leap*/ 202968090, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalLpf1*/ - {/*type*/ 29, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 320, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 16778240, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 50332672, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalLan1*/ - {/*type*/ 30, - /*comRegs*/ {/*ctrl*/ 12574, - /*width*/ 320, - /*burst*/ 73735737, - /*vSync*/ 525, - /*hSync*/ 265233, - /*leap*/ 202968090, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalLaf1*/ - {/*type*/ 31, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 320, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 16778240, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 50332672, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalLpn2*/ - {/*type*/ 32, - /*comRegs*/ {/*ctrl*/ 13071, - /*width*/ 320, - /*burst*/ 73735737, - /*vSync*/ 525, - /*hSync*/ 265233, - /*leap*/ 202968090, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalLpf2*/ - {/*type*/ 33, - /*comRegs*/ {/*ctrl*/ 12879, - /*width*/ 320, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 16778240, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 50332672, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalLan2*/ - {/*type*/ 34, - /*comRegs*/ {/*ctrl*/ 12319, - /*width*/ 320, - /*burst*/ 73735737, - /*vSync*/ 525, - /*hSync*/ 265233, - /*leap*/ 202968090, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalLaf2*/ - {/*type*/ 35, - /*comRegs*/ {/*ctrl*/ 12383, - /*width*/ 320, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 16778240, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 1280, - /*yScale*/ 50332672, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalHpn1*/ - {/*type*/ 36, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 1280, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalHpf1*/ - {/*type*/ 37, - /*comRegs*/ {/*ctrl*/ 12878, - /*width*/ 640, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 33556480, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalHan1*/ - {/*type*/ 38, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 1280, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 1024, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalHaf1*/ - {/*type*/ 39, - /*comRegs*/ {/*ctrl*/ 12382, - /*width*/ 640, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 1280, - /*yScale*/ 33556480, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalHpn2*/ - {/*type*/ 40, - /*comRegs*/ {/*ctrl*/ 13135, - /*width*/ 1280, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 2560, - /*yScale*/ 1024, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 5120, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}, - /*osViModePalHpf2*/ - {/*type*/ 41, - /*comRegs*/ {/*ctrl*/ 12879, - /*width*/ 640, - /*burst*/ 73735737, - /*vSync*/ 524, - /*hSync*/ 3088, - /*leap*/ 203164700, - /*hStart*/ 7078636, - /*xScale*/ 1024, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 2560, - /*yScale*/ 33556480, - /*vStart*/ 2294269, - /*vBurst*/ 721410, - /*vIntr*/ 2}, - {/*origin*/ 5120, - /*yScale*/ 33556480, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}} -#endif -}; -#define OS_VI_MANAGER_MESSAGE_BUFF_SIZE 5 -OSMgrArgs viMgrMainArgs = {0}; -OSThread viMgrThread; -u32 viMgrStack[0x400]; //stack bottom -OSMesgQueue __osViMesgQueue; -OSMesg viMgrMesgBuff[OS_VI_MANAGER_MESSAGE_BUFF_SIZE + 1]; -typedef struct -{ - u16 unk00; - u8 unk02; - u32 unk04; - u8 pad[0xc]; - u16 unk14; - u16 unk16; -} viMesgStruct; -viMesgStruct viEventViMesg; -viMesgStruct viEventCounterMesg; -extern void __osTimerServicesInit(void); -extern void __osTimerInterrupt(void); -extern OSTime _osCurrentTime; -extern u32 D_80365DA8; -extern u32 D_80365DAC; -void viMgrMain(void *); -//glabel osCreateViManager -void osCreateViManager(OSPri pri) -{ - u32 int_disabled; //not register this time! - OSPri newPri; - OSPri currentPri; - if (!viMgrMainArgs.initialized) - { - __osTimerServicesInit(); - osCreateMesgQueue(&__osViMesgQueue, &viMgrMesgBuff[0], OS_VI_MANAGER_MESSAGE_BUFF_SIZE); - viEventViMesg.unk00 = 13; - viEventViMesg.unk02 = 0; - viEventViMesg.unk04 = 0; - viEventCounterMesg.unk00 = 14; - viEventCounterMesg.unk02 = 0; - viEventCounterMesg.unk04 = 0; - osSetEventMesg(OS_EVENT_VI, &__osViMesgQueue, &viEventViMesg); - osSetEventMesg(OS_EVENT_COUNTER, &__osViMesgQueue, &viEventCounterMesg); - newPri = -1; - currentPri = osGetThreadPri(NULL); - if (currentPri < pri) - { - newPri = currentPri; - osSetThreadPri(NULL, pri); - } - int_disabled = __osDisableInt(); - viMgrMainArgs.initialized = TRUE; - viMgrMainArgs.mgrThread = &viMgrThread; - viMgrMainArgs.unk08 = &__osViMesgQueue; - viMgrMainArgs.unk0c = &__osViMesgQueue; - viMgrMainArgs.unk10 = NULL; - viMgrMainArgs.dma_func = NULL; - osCreateThread(&viMgrThread, 0, viMgrMain, - (void *)&viMgrMainArgs, &viMgrStack[0x400], pri); - __osViInit(); - osStartThread(&viMgrThread); - __osRestoreInt(int_disabled); - if (newPri != -1) - { - osSetThreadPri(NULL, newPri); - } - } -} -//glabel viMgrMain -void viMgrMain(void *vargs) -{ - OSViContext *context; - OSMgrArgs *args; - OSMesg mesg; - u32 sp28; //useless? - u32 sp24; //time related - mesg = NULL; - sp28 = FALSE; - context = __osViGetCurrentContext(); - if ((viEventCounterMesg.unk14 = context->retraceCount) == 0) - { - viEventCounterMesg.unk14 = 1; - } - args = (OSMgrArgs *)vargs; - while (1) - { - osRecvMesg(args->unk0c, &mesg, OS_MESG_BLOCK); - switch (*(u16 *)mesg) - { - case 13: - __osViSwapContext(); - if (!--viEventCounterMesg.unk14) - { - context = __osViGetCurrentContext(); - if (context->mq != NULL) - { - osSendMesg(context->mq, context->msg, OS_MESG_NOBLOCK); - } - viEventCounterMesg.unk14 = context->retraceCount; - } - D_80365DAC++; - if (sp28) - { - sp24 = osGetCount(); - _osCurrentTime = sp24; - sp28 = 0; - } - sp24 = D_80365DA8; - D_80365DA8 = osGetCount(); - sp24 = D_80365DA8 - sp24; - _osCurrentTime = _osCurrentTime + sp24; - break; - case 14: - __osTimerInterrupt(); - break; - } - } -} diff --git a/ge007_libultra/lib/src/osDestroyThread.c b/ge007_libultra/lib/src/osDestroyThread.c deleted file mode 100644 index ccfb57f..0000000 --- a/ge007_libultra/lib/src/osDestroyThread.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "libultra_internal.h" -extern OSThread *D_803348A0; -extern OSThread* D_8033489C; -void osDestroyThread(OSThread *thread) -{ - register s32 int_disabled; - register OSThread *s1; - register OSThread *s2; - int_disabled = __osDisableInt(); - if (thread == NULL) - { - thread = D_803348A0; - } - else if (thread->state != OS_STATE_STOPPED) - { - __osDequeueThread(thread->queue, thread); - } - if (D_8033489C == thread) - { - D_8033489C = D_8033489C->tlnext; - } - else - { - s1 = D_8033489C; - s2 = s1->tlnext; - while (s2 != NULL) - { - if (s2 == thread) - { - s1->tlnext = thread->tlnext; - break; - } - else - { - s1 = s2; - s2 = s1->tlnext; - } - } - } - if (thread == D_803348A0) - __osDispatchThread(); - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osEepromLongRead.c b/ge007_libultra/lib/src/osEepromLongRead.c deleted file mode 100644 index b186737..0000000 --- a/ge007_libultra/lib/src/osEepromLongRead.c +++ /dev/null @@ -1,27 +0,0 @@ -#include "libultra_internal.h" -extern u64 osClockRate; -extern u8 D_80365D20; -extern u8 _osCont_numControllers; -extern OSTimer D_80365D28; //not sure what this is yet -extern OSMesgQueue _osContMesgQueue; -extern OSMesg _osContMesgBuff[4]; -s32 osEepromLongRead(OSMesgQueue *mq, u8 address, u8 *buffer, int nbytes) -{ - s32 status = 0; - if (address > 0x40) - return -1; - while (nbytes > 0) - { - status = osEepromRead(mq, address, buffer); - if (status != 0) - { - return status; - } - nbytes -= 8; - address += 1; - buffer += 8; - osSetTimer(&D_80365D28, 12000 * osClockRate / 1000000, 0, &_osContMesgQueue, _osContMesgBuff); - osRecvMesg(&_osContMesgQueue, NULL, OS_MESG_BLOCK); - } - return status; -} diff --git a/ge007_libultra/lib/src/osEepromLongWrite.c b/ge007_libultra/lib/src/osEepromLongWrite.c deleted file mode 100644 index 99f6cea..0000000 --- a/ge007_libultra/lib/src/osEepromLongWrite.c +++ /dev/null @@ -1,28 +0,0 @@ -#include "libultra_internal.h" -extern u64 osClockRate; -extern u8 D_80365D20; -extern u8 _osCont_numControllers; -extern OSTimer D_80365D28; -extern OSMesgQueue _osContMesgQueue; -extern OSMesg _osContMesgBuff[4]; -//exactly the same as osEepromLongRead except for osEepromWrite call -s32 osEepromLongWrite(OSMesgQueue *mq, u8 address, u8 *buffer, int nbytes) -{ - s32 result = 0; - if (address > 0x40) - return -1; - while (nbytes > 0) - { - result = osEepromWrite(mq, address, buffer); - if (result != 0) - { - return result; - } - nbytes -= 8; - address += 1; - buffer += 8; - osSetTimer(&D_80365D28, 12000 * osClockRate / 1000000, 0, &_osContMesgQueue, _osContMesgBuff); - osRecvMesg(&_osContMesgQueue, NULL, OS_MESG_BLOCK); - } - return result; -} diff --git a/ge007_libultra/lib/src/osEepromProbe.c b/ge007_libultra/lib/src/osEepromProbe.c deleted file mode 100644 index f557099..0000000 --- a/ge007_libultra/lib/src/osEepromProbe.c +++ /dev/null @@ -1,27 +0,0 @@ -#include "libultra_internal.h" - -//TODO: merge with osEepromWrite -typedef struct -{ - u16 unk00; - u8 unk02; - u8 unk03; -} unkStruct; -s32 __osEepStatus(OSMesgQueue *, unkStruct *); -s32 osEepromProbe(OSMesgQueue *mq) -{ - s32 status = 0; - unkStruct sp18; - __osSiGetAccess(); - status = __osEepStatus(mq, &sp18); - if (status == 0 && (sp18.unk00 & 0x8000) != 0) - { - status = 1; - } - else - { - status = 0; - } - __osSiRelAccess(); - return status; -} diff --git a/ge007_libultra/lib/src/osEepromRead.c b/ge007_libultra/lib/src/osEepromRead.c deleted file mode 100644 index 0f24c9d..0000000 --- a/ge007_libultra/lib/src/osEepromRead.c +++ /dev/null @@ -1,113 +0,0 @@ -#include "libultra_internal.h" - -extern u32 D_80365E00[15]; -extern u32 D_80365E3C; -extern u8 D_80365D20; - -typedef struct -{ - u16 unk00; - u8 unk02; - u8 unk03; -} unkStruct; -typedef struct -{ - u8 unk00; - u8 unk01; - u8 unk02; - u8 unk03; - u8 unk04; - u8 unk05; - u8 unk06; - u8 unk07; -} unkStruct3; - -typedef struct -{ - u8 unk00; - u8 unk01; - u8 unk02; - u8 unk03; - unkStruct3 unk04; -} unkStruct2; - -s32 __osEepStatus(OSMesgQueue *, unkStruct *); -s32 __osPackEepReadData(u8); -s32 osEepromRead(OSMesgQueue *mq, u8 address, u8 *buffer) -{ - s32 sp34; - s32 sp30; - u8 *sp2c; - unkStruct sp28; - unkStruct2 sp20; - sp34 = 0; - sp30 = 0; - sp2c = (u8*)&D_80365E00; - if (address > 0x40) - return -1; - __osSiGetAccess(); - sp34 = __osEepStatus(mq, &sp28); - if (sp34 != 0 || sp28.unk00 != 0x8000) - { - - return 8; - } - while (sp28.unk02 & 0x80) - { - __osEepStatus(mq, &sp28); - } - __osPackEepReadData(address); - sp34 = __osSiRawStartDma(1 /*write*/, &D_80365E00); - osRecvMesg(mq, NULL, OS_MESG_BLOCK); - for (sp30 = 0; sp30 < 0x10; sp30++) - { - (D_80365E00)[sp30] = 255; - } - D_80365E3C = 0; - sp34 = __osSiRawStartDma(0 /*write*/, D_80365E00); - D_80365D20 = 4; - osRecvMesg(mq, NULL, OS_MESG_BLOCK); - for (sp30 = 0; sp30 < 4; sp30++) - { - sp2c++; - } - sp20 = *(unkStruct2 *)sp2c; - sp34 = (sp20.unk01 & 0xc0) >> 4; - if (sp34 == 0) - { - for (sp30 = 0; sp30 < 8; sp30++) - { - *buffer++ = ((u8 *)&sp20.unk04)[sp30]; - } - } - __osSiRelAccess(); - return sp34; -} - -s32 __osPackEepReadData(u8 address) -{ - u8 *sp14; - unkStruct2 sp8; - s32 sp4; - sp14 = (u8*)&D_80365E00; - for (sp4 = 0; sp4 < 0x10; sp4++) - { - D_80365E00[sp4] = 255; - } - D_80365E3C = 1; - sp8.unk00 = 2; - sp8.unk01 = 8; - sp8.unk02 = 4; - sp8.unk03 = address; - for (sp4 = 0; sp4 < 8; sp4++) - { - ((u8 *)&sp8.unk04)[sp4] = 0; - } - for (sp4 = 0; sp4 < 4; sp4++) - { - *sp14++ = 0; - } - *(unkStruct2 *)sp14 = sp8; - sp14 += 0xc; - *sp14 = 254; -} diff --git a/ge007_libultra/lib/src/osEepromWrite.c b/ge007_libultra/lib/src/osEepromWrite.c deleted file mode 100644 index f489e50..0000000 --- a/ge007_libultra/lib/src/osEepromWrite.c +++ /dev/null @@ -1,155 +0,0 @@ -#include "libultra_internal.h" -#include "osContInternal.h" - -u32 D_80365E00[0x3c >> 2]; - u32 D_80365E3C; -extern u8 D_80365D20; - -typedef struct -{ - u16 unk00; - u8 unk02; - u8 unk03; -} unkStruct; -typedef struct -{ - u8 unk00; - u8 unk01; - u8 unk02; - u8 unk03; - u8 unk04; - u8 unk05; - u8 unk06; - u8 unk07; -} unkStruct3; - -typedef struct -{ - u8 unk00; - u8 unk01; - u8 unk02; - u8 unk03; - unkStruct3 unk04; -} unkStruct2; - -s32 __osEepStatus(OSMesgQueue *, unkStruct *); -s32 __osPackEepWriteData(u8, u8 *); -s32 osEepromWrite(OSMesgQueue *mq, u8 address, u8 *buffer) -{ - s32 sp34; - s32 sp30; - u8 *sp2c; - unkStruct2 sp20; - unkStruct sp1c; - sp34 = 0; - sp2c = (u8*)&D_80365E00; - if (address > 0x40) - return -1; - __osSiGetAccess(); - sp34 = __osEepStatus(mq, &sp1c); - if (sp34 != 0 || sp1c.unk00 != 0x8000) - { - - return 8; - } - while (sp1c.unk02 & 0x80) - { - __osEepStatus(mq, &sp1c); - } - __osPackEepWriteData(address, buffer); - sp34 = __osSiRawStartDma(1 /*write*/, &D_80365E00); - osRecvMesg(mq, NULL, OS_MESG_BLOCK); - for (sp30 = 0; sp30 < 0x10; sp30++) - { - (D_80365E00)[sp30] = 255; - } - D_80365E3C = 0; - sp34 = __osSiRawStartDma(0 /*write*/, D_80365E00); - D_80365D20 = 5; - osRecvMesg(mq, NULL, OS_MESG_BLOCK); - for (sp30 = 0; sp30 < 4; sp30++) - { - sp2c++; - } - sp20 = *(unkStruct2 *)sp2c; - sp34 = (sp20.unk01 & 0xc0) >> 4; - __osSiRelAccess(); - return sp34; -} - -s32 __osPackEepWriteData(u8 address, u8 *buffer) -{ - u8 *sp14; - unkStruct2 sp8; - s32 sp4; - sp14 = (u8*)&D_80365E00; - for (sp4 = 0; sp4 < 0x10; sp4++) - { - D_80365E00[sp4] = 255; - } - D_80365E3C = 1; - sp8.unk00 = 10; - sp8.unk01 = 1; - sp8.unk02 = 5; - sp8.unk03 = address; - for (sp4 = 0; sp4 < 8; sp4++) - { - ((u8 *)&sp8.unk04)[sp4] = *buffer++; - } - for (sp4 = 0; sp4 < 4; sp4++) - { - *sp14++ = 0; - } - *(unkStruct2 *)sp14 = sp8; - sp14 += 0xc; - *sp14 = 254; -} - -s32 __osEepStatus(OSMesgQueue *a0, unkStruct *a1) -{ - u32 sp2c = 0; - s32 sp28; - u8 *sp24 = (u8*)D_80365E00; - unkStruct3 sp1c; - - for (sp28 = 0; sp28 < 0x10; sp28++) - { - D_80365E00[sp28] = 0; - } - D_80365E3C = 1; - sp24 = (u8*)D_80365E00; - for (sp28 = 0; sp28 < 4; sp28++) - { - *sp24++ = 0; - } - sp1c.unk00 = 255; - sp1c.unk01 = 1; - sp1c.unk02 = 3; - sp1c.unk03 = 0; - sp1c.unk04 = 255; - sp1c.unk05 = 255; - sp1c.unk06 = 255; - sp1c.unk07 = 255; - *(unkStruct3 *)sp24 = sp1c; - sp24 += 8; - sp24[0] = 254; - sp2c = __osSiRawStartDma(1, D_80365E00); - osRecvMesg(a0, NULL, OS_MESG_BLOCK); - D_80365D20 = 5; - sp2c = __osSiRawStartDma(0, D_80365E00); - osRecvMesg(a0, NULL, OS_MESG_BLOCK); - if (sp2c != 0) - return sp2c; - sp24 = (u8*)D_80365E00; - for (sp28 = 0; sp28 < 4; sp28++) - { - *sp24++ = 0; - } - sp1c = *(unkStruct3 *)sp24; - a1->unk03 = (sp1c.unk02 & 0xc0) >> 4; - a1->unk00 = (sp1c.unk05 << 8) | sp1c.unk04; - a1->unk02 = sp1c.unk06; - if (a1->unk03 != 0) - return a1->unk03; - return 0; -} diff --git a/ge007_libultra/lib/src/osGetThreadPri.c b/ge007_libultra/lib/src/osGetThreadPri.c deleted file mode 100644 index f0b20f7..0000000 --- a/ge007_libultra/lib/src/osGetThreadPri.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "libultra_internal.h" -extern OSThread *D_803348A0; -OSPri osGetThreadPri(OSThread * thread){ - if(thread==NULL) thread = D_803348A0; - return thread->priority; -} diff --git a/ge007_libultra/lib/src/osGetTime.c b/ge007_libultra/lib/src/osGetTime.c deleted file mode 100644 index d209348..0000000 --- a/ge007_libultra/lib/src/osGetTime.c +++ /dev/null @@ -1,17 +0,0 @@ -#include "libultra_internal.h" -extern OSTime _osCurrentTime; -extern u32 D_80365DA8; -OSTime osGetTime() -{ - - u32 sp34; - u32 sp30; - OSTime sp28; - register u32 int_disabled; - int_disabled = __osDisableInt(); - sp34 = osGetCount(); - sp30 = sp34 - D_80365DA8; - sp28 = _osCurrentTime; - __osRestoreInt(int_disabled); - return sp28 + sp30; -} diff --git a/ge007_libultra/lib/src/osInitialize.c b/ge007_libultra/lib/src/osInitialize.c deleted file mode 100644 index fea5aff..0000000 --- a/ge007_libultra/lib/src/osInitialize.c +++ /dev/null @@ -1,54 +0,0 @@ -#include "libultra_internal.h" -#include -#define PIF_ADDR_START (void*)0x1FC007FC - -typedef struct -{ - u32 instr00; - u32 instr01; - u32 instr02; - u32 instr03; -} exceptionPreamble; - -u32 D_80365CD0; //maybe initialized? -u64 osClockRate = 62500000; -u32 D_80334808 = 0; - -#define EXCEPTION_TLB_MISS 0x80000000 -#define EXCEPTION_XTLB_MISS 0x80000080 -#define EXCEPTION_CACHE_ERROR 0x80000100 -#define EXCEPTION_GENERAL 0x80000180 - -extern u32 osResetType; -extern exceptionPreamble __osExceptionPreamble; -void osInitialize(void) -{ - u32 sp34; - u32 sp30 = 0; - UNUSED u32 sp2c; - D_80365CD0 = TRUE; - __osSetSR(__osGetSR() | 0x20000000); - __osSetFpcCsr(0x01000800); - while (__osSiRawReadIo(PIF_ADDR_START, &sp34)) - ; - while (__osSiRawWriteIo(PIF_ADDR_START, sp34 | 8)) - ; - *(exceptionPreamble *)EXCEPTION_TLB_MISS = __osExceptionPreamble; - *(exceptionPreamble *)EXCEPTION_XTLB_MISS = __osExceptionPreamble; - *(exceptionPreamble *)EXCEPTION_CACHE_ERROR = __osExceptionPreamble; - *(exceptionPreamble *)EXCEPTION_GENERAL = __osExceptionPreamble; - osWritebackDCache((void *)0x80000000, EXCEPTION_GENERAL + sizeof(exceptionPreamble) - EXCEPTION_TLB_MISS); - osInvalICache((void *)0x80000000, EXCEPTION_GENERAL + sizeof(exceptionPreamble) - EXCEPTION_TLB_MISS); - osMapTLBRdb(); - osPiRawReadIo(4, &sp30); - sp30 &= ~0xf; - if (sp30) - { - osClockRate = sp30; - } - osClockRate = osClockRate * 3 / 4; - if (osResetType == RESET_TYPE_COLD_RESET) - { - bzero(osAppNmiBuffer, sizeof(osAppNmiBuffer)); - } -} diff --git a/ge007_libultra/lib/src/osJamMesg.c b/ge007_libultra/lib/src/osJamMesg.c deleted file mode 100644 index 55f1669..0000000 --- a/ge007_libultra/lib/src/osJamMesg.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "libultra_internal.h" -extern OSThread *D_803348A0; -s32 osJamMesg(OSMesgQueue *mq, OSMesg msg, s32 flag) -{ - register s32 int_disabled; - int_disabled = __osDisableInt(); - while (mq->validCount >= mq->msgCount) - { - if (flag == 1) - { - D_803348A0->state = OS_STATE_WAITING; - __osEnqueueAndYield(&mq->fullqueue); - } - else - { - __osRestoreInt(int_disabled); - return -1; - } - } - - mq->first = (mq->first + mq->msgCount - 1) % mq->msgCount; - mq->msg[mq->first] = msg; - mq->validCount++; - if (mq->mtqueue->next != NULL) - { - osStartThread(__osPopThread(&mq->mtqueue)); - } - __osRestoreInt(int_disabled); - return 0; -} diff --git a/ge007_libultra/lib/src/osPiGetCmdQueue.c b/ge007_libultra/lib/src/osPiGetCmdQueue.c deleted file mode 100644 index 7a4879f..0000000 --- a/ge007_libultra/lib/src/osPiGetCmdQueue.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "libultra_internal.h" -extern OSMgrArgs piMgrArgs; - -OSMesgQueue *osPiGetCmdQueue(void) -{ - if (!piMgrArgs.initialized) - return NULL; - return piMgrArgs.unk08; -} diff --git a/ge007_libultra/lib/src/osPiGetStatus.c b/ge007_libultra/lib/src/osPiGetStatus.c deleted file mode 100644 index 7d37049..0000000 --- a/ge007_libultra/lib/src/osPiGetStatus.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "ultra64.h" -#include "hardware.h" - - -u32 osPiGetStatus(void){ - return HW_REG(PI_STATUS_REG); -} diff --git a/ge007_libultra/lib/src/osPiRawReadIo.c b/ge007_libultra/lib/src/osPiRawReadIo.c deleted file mode 100644 index b8d00f4..0000000 --- a/ge007_libultra/lib/src/osPiRawReadIo.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -extern u32 osRomBase; -s32 osPiRawReadIo(u32 a0, u32 *a1) -{ - register int status; - status = HW_REG(PI_STATUS_REG, u32); - while (status & (PI_STATUS_BUSY | PI_STATUS_IOBUSY | PI_STATUS_ERROR)) - { - status = HW_REG(PI_STATUS_REG, u32); - } - *a1 = HW_REG(osRomBase | a0, u32); - return 0; -} diff --git a/ge007_libultra/lib/src/osPiRawStartDma.c b/ge007_libultra/lib/src/osPiRawStartDma.c deleted file mode 100644 index 4e3134c..0000000 --- a/ge007_libultra/lib/src/osPiRawStartDma.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" - -extern u32 osRomBase; //TODO: figure out why this is like this -s32 osPiRawStartDma(s32 dir, u32 cart_addr, void *dram_addr, size_t size) -{ - register int status; - status = HW_REG(PI_STATUS_REG, u32); - while (status & (PI_STATUS_BUSY | PI_STATUS_IOBUSY | PI_STATUS_ERROR)) - { - status = HW_REG(PI_STATUS_REG, u32); - } - - HW_REG(PI_DRAM_ADDR_REG, void *) = (void *)osVirtualToPhysical(dram_addr); - - HW_REG(PI_CART_ADDR_REG, void *) = (void *)((osRomBase /*(*(u32 *)80000308)*/ | cart_addr) & 0x1fffffff); - - switch (dir) - { - case 0: - HW_REG(PI_WR_LEN_REG, u32) = size - 1; - break; - case 1: - HW_REG(PI_RD_LEN_REG, u32) = size - 1; - break; - default: - return -1; - break; - } - return 0; -} diff --git a/ge007_libultra/lib/src/osPiStartDma.c b/ge007_libultra/lib/src/osPiStartDma.c deleted file mode 100644 index 0a6d6de..0000000 --- a/ge007_libultra/lib/src/osPiStartDma.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "libultra_internal.h" -extern OSMgrArgs piMgrArgs; -s32 osPiStartDma(OSIoMesg *mb, s32 priority, s32 direction, - u32 devAddr, void *vAddr, u32 nbytes, OSMesgQueue *mq) -{ - register s32 result; - register OSMesgQueue *cmdQueue; - if (!piMgrArgs.initialized) - return -1; - //TODO: name magic constants - if (direction == 0) - { - mb->hdr.type = 11; - } - else - { - mb->hdr.type = 12; - } - mb->hdr.pri = priority; - mb->hdr.retQueue = mq; - mb->dramAddr = vAddr; - mb->devAddr = devAddr; - mb->size = nbytes; - if (priority == 1) - { - cmdQueue = osPiGetCmdQueue(); - result = osJamMesg(cmdQueue, mb, 0); - } - else - { - cmdQueue = osPiGetCmdQueue(); - result = osSendMesg(cmdQueue, mb, OS_MESG_NOBLOCK); - } - return result; -} diff --git a/ge007_libultra/lib/src/osRecvMesg.c b/ge007_libultra/lib/src/osRecvMesg.c deleted file mode 100644 index c2d50b3..0000000 --- a/ge007_libultra/lib/src/osRecvMesg.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "libultra_internal.h" -extern OSThread *D_803348A0; -s32 osRecvMesg(OSMesgQueue *mq, OSMesg *msg, s32 flag) -{ - register u32 int_disabled; - register OSThread *thread; - int_disabled = __osDisableInt(); - while (!mq->validCount) - { - if (!flag) - { - __osRestoreInt(int_disabled); - return -1; - } - D_803348A0->state = OS_STATE_WAITING; - __osEnqueueAndYield(&mq->mtqueue); - } - if (msg != NULL) - { - *msg = *(mq->first + mq->msg); - } - mq->first = (mq->first + 1) % mq->msgCount; - mq->validCount--; - if (mq->fullqueue->next != NULL) - { - thread = __osPopThread(&mq->fullqueue); - osStartThread(thread); - } - __osRestoreInt(int_disabled); - return 0; -} diff --git a/ge007_libultra/lib/src/osSendMesg.c b/ge007_libultra/lib/src/osSendMesg.c deleted file mode 100644 index cd86ee9..0000000 --- a/ge007_libultra/lib/src/osSendMesg.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "libultra_internal.h" -extern OSThread *D_803348A0; -s32 osSendMesg(OSMesgQueue *mq, OSMesg msg, s32 flag) -{ - register u32 int_disabled; - register s32 index; - register OSThread *s2; - int_disabled = __osDisableInt(); - while (mq->validCount >= mq->msgCount) - { - if (flag == 1) - { - D_803348A0->state = 8; - __osEnqueueAndYield(&mq->fullqueue); - } - else - { - __osRestoreInt(int_disabled); - return -1; - } - } - index = (mq->first + mq->validCount) % mq->msgCount; - mq->msg[index] = msg; - mq->validCount++; - if (mq->mtqueue->next != NULL) - { - s2 = __osPopThread(&mq->mtqueue); - osStartThread(s2); - } - __osRestoreInt(int_disabled); - return 0; -} diff --git a/ge007_libultra/lib/src/osSetEventMesg.c b/ge007_libultra/lib/src/osSetEventMesg.c deleted file mode 100644 index 08f238d..0000000 --- a/ge007_libultra/lib/src/osSetEventMesg.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "libultra_internal.h" -typedef struct OSEventMessageStruct_0_s -{ - OSMesgQueue *queue; - OSMesg msg; - //u8 pad[4]; -} OSEventMessageStruct_0; -OSEventMessageStruct_0 D_80363830[0x80 >> 3]; -void osSetEventMesg(OSEvent e, OSMesgQueue *mq, OSMesg msg) -{ - register u32 int_disabled; - OSEventMessageStruct_0 *msgs; - int_disabled = __osDisableInt(); - msgs = D_80363830 + e; - msgs->queue = mq; - msgs->msg = msg; - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osSetThreadPri.c b/ge007_libultra/lib/src/osSetThreadPri.c deleted file mode 100644 index ff1fa23..0000000 --- a/ge007_libultra/lib/src/osSetThreadPri.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "libultra_internal.h" -extern OSThread *D_803348A0; -extern OSThread *D_80334898; -void osSetThreadPri(OSThread *thread, OSPri pri) -{ - register u32 int_disabled = __osDisableInt(); - if (thread == NULL) - { - thread = D_803348A0; - } - if (thread->priority != pri) - { - thread->priority = pri; - if (thread != D_803348A0) - { - if (thread->state != OS_STATE_STOPPED) - { - __osDequeueThread(thread->queue, thread); - __osEnqueueThread(thread->queue, thread); - } - } - if (D_803348A0->priority < D_80334898->priority) - { - D_803348A0->state = OS_STATE_RUNNABLE; - __osEnqueueAndYield(&D_80334898); - } - } - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osSetTime.c b/ge007_libultra/lib/src/osSetTime.c deleted file mode 100644 index 1bd4d22..0000000 --- a/ge007_libultra/lib/src/osSetTime.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "libultra_internal.h" -extern OSTime _osCurrentTime; -void osSetTime(OSTime time) -{ - _osCurrentTime = time; -} diff --git a/ge007_libultra/lib/src/osSetTimer.c b/ge007_libultra/lib/src/osSetTimer.c deleted file mode 100644 index d38c666..0000000 --- a/ge007_libultra/lib/src/osSetTimer.c +++ /dev/null @@ -1,27 +0,0 @@ -#include "libultra_internal.h" -extern OSTimer *D_80334830; -extern u64 __osInsertTimer(OSTimer *); - -u32 osSetTimer(OSTimer *a0, OSTime a1, u64 a2, OSMesgQueue *a3, OSMesg a4) -{ - u64 sp18; - a0->next = NULL; - a0->prev = NULL; - a0->interval = a2; - if (a1 != 0) - { - a0->remaining = a1; - } - else - { - a0->remaining = a2; - } - a0->mq = a3; - a0->msg = a4; - sp18 = __osInsertTimer(a0); - if (D_80334830->next == a0) - { - __osSetTimerIntr(sp18); - } - return 0; -} diff --git a/ge007_libultra/lib/src/osSpTaskLoadGo.c b/ge007_libultra/lib/src/osSpTaskLoadGo.c deleted file mode 100644 index 0435a5f..0000000 --- a/ge007_libultra/lib/src/osSpTaskLoadGo.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "libultra_internal.h" -#include "hardware.h" -#include - -#define _osVirtualToPhysical(ptr) \ - if (ptr != NULL) \ - { \ - ptr = (void *)osVirtualToPhysical(ptr); \ - } - -OSTask D_803638B0; -OSTask *_VirtualToPhysicalTask(OSTask *task) -{ - OSTask *physicalTask; - physicalTask = &D_803638B0; - bcopy(task, physicalTask, sizeof(OSTask)); - _osVirtualToPhysical(physicalTask->t.ucode); - _osVirtualToPhysical(physicalTask->t.ucode_data); - _osVirtualToPhysical(physicalTask->t.dram_stack); - _osVirtualToPhysical(physicalTask->t.output_buff); - _osVirtualToPhysical(physicalTask->t.output_buff_size); - _osVirtualToPhysical(physicalTask->t.data_ptr); - _osVirtualToPhysical(physicalTask->t.yield_data_ptr); - return physicalTask; -} -void osSpTaskLoad(OSTask *task) -{ - OSTask *physicalTask; - physicalTask = _VirtualToPhysicalTask(task); - if (physicalTask->t.flags & M_TASK_FLAG0) - { - physicalTask->t.ucode_data = physicalTask->t.yield_data_ptr; - physicalTask->t.ucode_data_size = physicalTask->t.yield_data_size; - task->t.flags &= ~M_TASK_FLAG0; - } - osWritebackDCache(physicalTask, sizeof(OSTask)); - __osSpSetStatus(SPSTATUS_CLEAR_SIGNAL0 | - SPSTATUS_CLEAR_SIGNAL1 | - SPSTATUS_CLEAR_SIGNAL2 | - SPSTATUS_SET_INTR_ON_BREAK); - while (__osSpSetPc((void*)SP_IMEM_START) == -1) - ; - while (__osSpRawStartDma(1, (void*)(SP_IMEM_START - sizeof(*physicalTask)), physicalTask, sizeof(OSTask)) == -1) - ; - while (__osSpDeviceBusy()) - ; - while (__osSpRawStartDma(1, (void*)SP_IMEM_START, physicalTask->t.ucode_boot, physicalTask->t.ucode_boot_size) == -1) - ; -} -void osSpTaskStartGo(UNUSED OSTask *task) -{ - while (__osSpDeviceBusy()) - ; - __osSpSetStatus(SPSTATUS_SET_INTR_ON_BREAK | - SPSTATUS_CLEAR_SSTEP | - SPSTATUS_CLEAR_BROKE | - SPSTATUS_CLEAR_HALT); -} diff --git a/ge007_libultra/lib/src/osSpTaskYield.c b/ge007_libultra/lib/src/osSpTaskYield.c deleted file mode 100644 index 19828db..0000000 --- a/ge007_libultra/lib/src/osSpTaskYield.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "libultra_internal.h" - -void osSpTaskYield(void) -{ - __osSpSetStatus(SPSTATUS_SET_SIGNAL0); -} diff --git a/ge007_libultra/lib/src/osSpTaskYielded.c b/ge007_libultra/lib/src/osSpTaskYielded.c deleted file mode 100644 index 429818d..0000000 --- a/ge007_libultra/lib/src/osSpTaskYielded.c +++ /dev/null @@ -1,23 +0,0 @@ - -#include "libultra_internal.h" - -OSYieldResult osSpTaskYielded(OSTask *task) -{ - s32 status; - u32 int_disabledult; - status = __osSpGetStatus(); - if (status & SPSTATUS_SIGNAL1_SET) - { - int_disabledult = 1; - } - else - { - int_disabledult = 0; - } - if (status & SPSTATUS_SIGNAL0_SET) - { - task->t.flags |= int_disabledult; - task->t.flags &= ~(M_TASK_FLAG1); - } - return int_disabledult; -} diff --git a/ge007_libultra/lib/src/osStartThread.c b/ge007_libultra/lib/src/osStartThread.c deleted file mode 100644 index e0704af..0000000 --- a/ge007_libultra/lib/src/osStartThread.c +++ /dev/null @@ -1,51 +0,0 @@ -#include "libultra_internal.h" -extern OSThread *D_803348A0; -extern OSThread *D_80334898; -void osStartThread(OSThread *thread) -{ - register u32 int_disabled; - register u32 state; - int_disabled = __osDisableInt(); - state = thread->state; - - if (state != OS_STATE_STOPPED) - { - if (state == OS_STATE_WAITING) - { - do - { - } while (0); - thread->state = OS_STATE_RUNNABLE; - __osEnqueueThread(&D_80334898, thread); - } - } - else - { - if (thread->queue == NULL || thread->queue == &D_80334898) - { - thread->state = OS_STATE_RUNNABLE; - - __osEnqueueThread(&D_80334898, thread); - } - else - { - thread->state = OS_STATE_WAITING; - __osEnqueueThread(thread->queue, thread); - state = (u32)__osPopThread(thread->queue); - __osEnqueueThread(&D_80334898, (OSThread *)state); - } - } - if (D_803348A0 == NULL) - { - __osDispatchThread(); - } - else - { - if (D_803348A0->priority < D_80334898->priority) - { - D_803348A0->state = OS_STATE_RUNNABLE; - __osEnqueueAndYield(&D_80334898); - } - } - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osTimer.c b/ge007_libultra/lib/src/osTimer.c deleted file mode 100644 index 6f14c07..0000000 --- a/ge007_libultra/lib/src/osTimer.c +++ /dev/null @@ -1,100 +0,0 @@ -#include "libultra_internal.h" - -//TODO: document -OSTimer D_80365D80; -OSTimer *D_80334830 = &D_80365D80; -OSTime _osCurrentTime; -u32 D_80365DA8; -u32 D_80365DAC; -u32 D_80365DB0; -void __osTimerServicesInit() -{ - _osCurrentTime = 0; - D_80365DA8 = 0; - D_80365DAC = 0; - D_80334830->prev = D_80334830; - D_80334830->next = D_80334830->prev; - D_80334830->remaining = 0; - D_80334830->interval = D_80334830->remaining; - D_80334830->mq = NULL; - D_80334830->msg = NULL; -} - -void __osTimerInterrupt() -{ - OSTimer *sp24; - u32 sp20; - u32 sp1c; - if (D_80334830->next == D_80334830) - return; - while (1) - { - sp24 = D_80334830->next; - if (sp24 == D_80334830) - { - __osSetCompare(0); - D_80365DB0 = 0; - break; - } - sp20 = osGetCount(); - sp1c = sp20 - D_80365DB0; - D_80365DB0 = sp20; - if (sp1c < sp24->remaining) - { - sp24->remaining -= sp1c; - __osSetTimerIntr(sp24->remaining); - return; - } - else - { - sp24->prev->next = sp24->next; - sp24->next->prev = sp24->prev; - sp24->next = NULL; - sp24->prev = NULL; - if (sp24->mq != NULL) - { - osSendMesg(sp24->mq, sp24->msg, OS_MESG_NOBLOCK); - } - if (sp24->interval != 0) - { - sp24->remaining = sp24->interval; - __osInsertTimer(sp24); - } - } - } -} - -void __osSetTimerIntr(u64 a0) -{ - u64 tmp; - s32 intDisabled = __osDisableInt(); - D_80365DB0 = osGetCount(); - tmp = a0 + D_80365DB0; - __osSetCompare(tmp); - __osRestoreInt(intDisabled); -} - -u64 __osInsertTimer(OSTimer *a0) -{ - OSTimer *sp34; - u64 sp28; - s32 intDisabled; - intDisabled = __osDisableInt(); - for (sp34 = D_80334830->next, sp28 = a0->remaining; - sp34 != D_80334830 && sp28 > sp34->remaining; - sp28 -= sp34->remaining, sp34 = sp34->next) - { - ; - } - a0->remaining = sp28; - if (sp34 != D_80334830) - { - sp34->remaining -= sp28; - } - a0->next = sp34; - a0->prev = sp34->prev; - sp34->prev->next = a0; - sp34->prev = a0; - __osRestoreInt(intDisabled); - return sp28; -} diff --git a/ge007_libultra/lib/src/osViBlack.c b/ge007_libultra/lib/src/osViBlack.c deleted file mode 100644 index f6c7f84..0000000 --- a/ge007_libultra/lib/src/osViBlack.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "libultra_internal.h" -extern OSViContext *D_80334914; -//TODO: name magic constants -void osViBlack(u8 active) -{ - register u32 int_disabled = __osDisableInt(); - if (active) - { - D_80334914->unk00 |= 0x20; - } - else - { - D_80334914->unk00 &= ~0x20; - } - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osViData.c b/ge007_libultra/lib/src/osViData.c deleted file mode 100644 index 4fe240b..0000000 --- a/ge007_libultra/lib/src/osViData.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "libultra_internal.h" - -OSViMode D_80334990 = { - /*type*/ 2, - /*comRegs*/ {/*ctrl*/ 12574, - /*width*/ 320, - /*burst*/ 65348153, - /*vSync*/ 525, - /*hSync*/ 3093, - /*leap*/ 202705941, - /*hStart*/ 7078636, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 2425343, - /*vBurst*/ 918020, - /*vIntr*/ 2}}}; -OSViMode D_803349E0 = { - /*type*/ 16, - /*comRegs*/ {/*ctrl*/ 12574, - /*width*/ 320, - /*burst*/ 67380026, - /*vSync*/ 625, - /*hSync*/ 1379433, - /*leap*/ 208604270, - /*hStart*/ 8389376, - /*xScale*/ 512, - /*vCurrent*/ 0}, - /*fldRegs*/ {{/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}, - {/*origin*/ 640, - /*yScale*/ 1024, - /*vStart*/ 6226489, - /*vBurst*/ 590443, - /*vIntr*/ 2}}}; diff --git a/ge007_libultra/lib/src/osViSetEvent.c b/ge007_libultra/lib/src/osViSetEvent.c deleted file mode 100644 index 1ca1a67..0000000 --- a/ge007_libultra/lib/src/osViSetEvent.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "libultra_internal.h" -extern OSViContext *D_80334914; -void osViSetEvent(OSMesgQueue *mq, OSMesg msg, u32 retraceCount) -{ - - register u32 int_disabled = __osDisableInt(); - (D_80334914)->mq = mq; - (D_80334914)->msg = msg; - (D_80334914)->retraceCount = retraceCount; - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osViSetMode.c b/ge007_libultra/lib/src/osViSetMode.c deleted file mode 100644 index 9b9558c..0000000 --- a/ge007_libultra/lib/src/osViSetMode.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "libultra_internal.h" -extern OSViContext *D_80334914; -void osViSetMode(OSViMode *mode) -{ - register u32 int_disabled = __osDisableInt(); - D_80334914->unk08 = mode; - D_80334914->unk00 = 1; - D_80334914->features = D_80334914->unk08->comRegs.ctrl; - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osViSetSpecialFeatures.c b/ge007_libultra/lib/src/osViSetSpecialFeatures.c deleted file mode 100644 index 2a6105a..0000000 --- a/ge007_libultra/lib/src/osViSetSpecialFeatures.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "libultra_internal.h" -extern OSViContext *D_80334914; -void osViSetSpecialFeatures(u32 func) -{ - register u32 int_disabled = __osDisableInt(); - if (func & OS_VI_GAMMA_ON) - { - D_80334914->features |= OS_VI_GAMMA; - } - if (func & OS_VI_GAMMA_OFF) - { - D_80334914->features &= ~OS_VI_GAMMA; - } - if (func & OS_VI_GAMMA_DITHER_ON) - { - D_80334914->features |= OS_VI_GAMMA_DITHER; - } - if (func & OS_VI_GAMMA_DITHER_OFF) - { - - D_80334914->features &= ~OS_VI_GAMMA_DITHER; - } - if (func & OS_VI_DIVOT_ON) - { - - D_80334914->features |= OS_VI_DIVOT; - } - if (func & OS_VI_DIVOT_OFF) - { - - D_80334914->features &= ~OS_VI_DIVOT; - } - if (func & OS_VI_DITHER_FILTER_ON) - { - D_80334914->features |= OS_VI_DITHER_FILTER; - D_80334914->features &= ~(OS_VI_UNK200 | OS_VI_UNK100); - } - if (func & OS_VI_DITHER_FILTER_OFF) - { - D_80334914->features &= ~OS_VI_DITHER_FILTER; - D_80334914->features |= D_80334914->unk08->comRegs.ctrl & (OS_VI_UNK200 | OS_VI_UNK100); - } - D_80334914->unk00 |= 8; - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osViSwapBuffer.c b/ge007_libultra/lib/src/osViSwapBuffer.c deleted file mode 100644 index 6333e43..0000000 --- a/ge007_libultra/lib/src/osViSwapBuffer.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "libultra_internal.h" -extern OSViContext *D_80334914; -void osViSwapBuffer(void *vaddr) -{ - u32 int_disabled = __osDisableInt(); - D_80334914->buffer = vaddr; - D_80334914->unk00 |= 0x10;//TODO: figure out what this flag means - __osRestoreInt(int_disabled); -} diff --git a/ge007_libultra/lib/src/osVirtualToPhysical.c b/ge007_libultra/lib/src/osVirtualToPhysical.c deleted file mode 100644 index 6e22ce2..0000000 --- a/ge007_libultra/lib/src/osVirtualToPhysical.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "libultra_internal.h" - -u32 osVirtualToPhysical(void *addr) -{ - if ((u32)addr >= 0x80000000 && (u32)addr < 0xa0000000) - { - return ((u32)addr & 0x1fffffff); - } - - else if ((u32)addr >= 0xa0000000 && (u32)addr < 0xc0000000) - { - return ((u32)addr & 0x1fffffff); - } - else - { - return __osProbeTLB(addr); - } -} diff --git a/ge007_libultra/lib/src/printf.h b/ge007_libultra/lib/src/printf.h deleted file mode 100644 index a9cef6f..0000000 --- a/ge007_libultra/lib/src/printf.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef _PRINTF_H_ -#define _PRINTF_H_ -#include - -typedef struct -{ - union { - /* 00 */ s64 s64; - u64 u64; - f64 f64; - u32 u32; - u16 u16; - } value; - /* 08 */ char *buff; - /* 0c */ s32 part1_len; - /* 10 */ s32 num_leading_zeros; - /* 14 */ s32 part2_len; - /* 18 */ s32 num_mid_zeros; - /* 1c */ s32 part3_len; - /* 20 */ s32 num_trailing_zeros; - /* 24 */ s32 precision; - /* 28 */ s32 width; - /* 2c */ u32 size; - /* 30 */ u32 flags; - /* 34 */ u8 length; -} printf_struct; - -#define FLAGS_SPACE 1 -#define FLAGS_PLUS 2 -#define FLAGS_MINUS 4 -#define FLAGS_HASH 8 -#define FLAGS_ZERO 16 -s32 _Printf(char *prout(char *, const char *, size_t), char *dst, const char *fmt, va_list args); -void _Litob(printf_struct *args, u8 type); -void _Ldtob(printf_struct *args, u8 type); -#endif diff --git a/ge007_libultra/lib/src/sprintf.c b/ge007_libultra/lib/src/sprintf.c deleted file mode 100644 index 361c44e..0000000 --- a/ge007_libultra/lib/src/sprintf.c +++ /dev/null @@ -1,23 +0,0 @@ - -#include -#include "libultra_internal.h" -#include "printf.h" -#include -char *proutSprintf(char *dst, const char *src, size_t count); -int sprintf(char *dst, const char *fmt, ...) -{ - s32 written; - va_list args; - va_start(args, fmt); - written = _Printf(proutSprintf, dst, fmt, args); - if (written >= 0) - { - dst[written] = 0; - } - return written; -} - -char *proutSprintf(char *dst, const char *src, size_t count) -{ - return (char *)memcpy((u8 *)dst, (u8 *)src, count) + count; -} diff --git a/ge007_libultra/lib/src/sqrtf.c b/ge007_libultra/lib/src/sqrtf.c deleted file mode 100644 index fbdd212..0000000 --- a/ge007_libultra/lib/src/sqrtf.c +++ /dev/null @@ -1,11 +0,0 @@ -#include - -#ifndef __GNUC__ -#pragma intrinsic (sqrtf) -#define __builtin_sqrtf sqrtf -#endif - -float sqrtf(float f) -{ - return __builtin_sqrtf(f); -} diff --git a/ge007_libultra/lib/src/string.c b/ge007_libultra/lib/src/string.c deleted file mode 100644 index d5ffe9e..0000000 --- a/ge007_libultra/lib/src/string.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "libultra_internal.h" -#include -void *memcpy(void *dst, const void *src, size_t size) -{ - u8 *_dst = dst; - const u8 *_src = src; - while (size > 0) - { - *_dst++ = *_src++; - size--; - } - return dst; -} -size_t strlen(const u8 *str) -{ - const u8 *ptr = str; - while (*ptr) - ptr++; - return ptr - str; -} - -const u8 *strchr(const u8 *str, u32 ch) -{ - u8 c = ch; - while (*str != c) - { - if (*str == 0) - return NULL; - str++; - } - return str; -} diff --git a/ge007_libultra/libultra/createvimanager.c b/ge007_libultra/libultra/createvimanager.c deleted file mode 100644 index 46f2f41..0000000 --- a/ge007_libultra/libultra/createvimanager.c +++ /dev/null @@ -1,310 +0,0 @@ -#include "ultra64.h" - -//.section .data -osDevMgr __osViDevMgr = {0}; - -//.section .rodata - -//.section .bss -osThread viThread; -char viThreadStack[0x1000]; -OSMesgQueue viEventQueue; -char viEventBuf[0x18]; -osIoMesg viRetraceMsg; -osIoMesg viCounterMsg; -u16 retrace; - -#ifdef NONMATCHING -void osCreateViManager(s32 arg0, s32 argC) { - s32 sp24; - s32 sp28; - s32 sp2C; - - // Node 0 - if (__osViDevMgr == 0) - { - // Node 1 - __osTimerServicesInit(); - osCreateMesgQueue(&viEventQueue, &viEventBuf, 5); - viRetraceMsg = (u16)0xd; - viRetraceMsg.unk2 = (u8)0; - viRetraceMsg.unk4 = 0; - viCounterMsg = (u16)0xe; - viCounterMsg.unk2 = (u8)0; - viCounterMsg.unk4 = 0; - osSetEventMesg(7, &viEventQueue, &viRetraceMsg); - osSetEventMesg(3, &viEventQueue, &viCounterMsg); - sp28 = -1; - sp24 = osGetThreadPri(0); - if (sp24 < argC) - { - // Node 2 - sp28 = sp24; - osSetThreadPri(0, argC); - } - // Node 3 - __osViDevMgr = 1; - __osViDevMgr.unk4 = &viThread; - __osViDevMgr.unk8 = &viEventQueue; - __osViDevMgr.unkC = &viEventQueue; - sp2C = __osDisableInt(); - __osViDevMgr.unk10 = 0; - __osViDevMgr.unk14 = 0; - __osViDevMgr.unk18 = 0; - osCreateThread(&viThread, 0, &viMgrMain, &__osViDevMgr, (s32) (&viThreadStack + 0x1000), argC); - __osViInit(); - osStartThread(&viThread); - __osRestoreInt(sp2C); - if (sp28 != -1) - { - // Node 4 - osSetThreadPri(0, sp28); - return; - // (possible return value: osSetThreadPri(0, sp28)) - } - } - // (function likely void) -} - -#else -GLOBAL_ASM( -.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) # $a0, 0x8006 -/* 00E514 7000D914 3C058006 */ lui $a1, %hi(viEventBuf) # $a1, 0x8006 -/* 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) # $at, 0x8006 -/* 00E52C 7000D92C 240F000D */ li $t7, 13 -/* 00E530 7000D930 A42F69D0 */ sh $t7, 0($at) -/* 00E534 7000D934 A02069D2 */ sb $zero, 2($at) -/* 00E538 7000D938 AC2069D4 */ sw $zero, 4($at) -/* 00E53C 7000D93C 3C018006 */ lui $at, %hi(viCounterMsg) # $at, 0x8006 -/* 00E540 7000D940 2418000E */ li $t8, 14 -/* 00E544 7000D944 3C058006 */ lui $a1, %hi(viEventQueue) # $a1, 0x8006 -/* 00E548 7000D948 3C068006 */ lui $a2, %hi(viRetraceMsg) # $a2, 0x8006 -/* 00E54C 7000D94C A43869E8 */ sh $t8, 0($at) -/* 00E550 7000D950 A02069EA */ sb $zero, 2($at) -/* 00E554 7000D954 AC2069EC */ sw $zero, 4($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) # $a1, 0x8006 -/* 00E56C 7000D96C 3C068006 */ lui $a2, %hi(viCounterMsg) # $a2, 0x8006 -/* 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(__osViDevMgr) # $at, 0x8002 -/* 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, 0($at) -/* 00E5DC 7000D9DC AC2B69A4 */ sw $t3, 4($at) -/* 00E5E0 7000D9E0 AC2C69A8 */ sw $t4, 8($at) -/* 00E5E4 7000D9E4 AC2C69AC */ sw $t4, 0xC($at) -/* 00E5E8 7000D9E8 3C0D8006 */ lui $t5, %hi(viThreadStack) -/* 00E5EC 7000D9EC 8FAF0030 */ lw $t7, 0x30($sp) -/* 00E5F0 7000D9F0 3C018002 */ lui $at, %hi(__osViDevMgr) # $at, 0x8002 -/* 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) # $a3, 0x8002 -/* 00E604 7000DA04 AFA2002C */ sw $v0, 0x2c($sp) -/* 00E608 7000DA08 AC2069B0 */ sw $zero, 0x10($at) -/* 00E60C 7000DA0C AC2069B4 */ sw $zero, 0x14($at) -/* 00E610 7000DA10 AC2069B8 */ sw $zero, 0x18($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) # $a0, 0x8006 -/* 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 NONMATCHING - -#else -GLOBAL_ASM( -.text -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) # $at, 0x8006 -/* 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) # $at, 0x8006 -/* 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) # $at, 0x8006 -/* 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) # $at, 0x8006 -/* 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) # $at, 0x8007 -/* 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) # $at, 0x8007 -/* 00E78C 7000DB8C AC2C8E10 */ sw $t4, %lo(__osCurrentTime)($at) -/* 00E790 7000DB90 3C018007 */ lui $at, %hi(__osCurrentTime+4) # $at, 0x8007 -/* 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) # $at, 0x8007 -/* 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) # $at, 0x8007 -/* 00E7F0 7000DBF0 018A6021 */ addu $t4, $t4, $t2 -/* 00E7F4 7000DBF4 AC2C8E10 */ sw $t4, %lo(__osCurrentTime)($at) -/* 00E7F8 7000DBF8 3C018007 */ lui $at, %hi(__osCurrentTime+4) # $at, 0x8007 -/* 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 - - - diff --git a/ge007_libultra/libultra/dpgetcounters.c b/ge007_libultra/libultra/dpgetcounters.c deleted file mode 100644 index ad97666..0000000 --- a/ge007_libultra/libultra/dpgetcounters.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osDpGetCounters(void *arg0) { - void *temp_a0; - void *temp_a0_2; - - // Node 0 - *arg0 = (?32) DPC_CLOCK_REG; - temp_a0 = (arg0 + 4); - *temp_a0 = (?32) DPC_BUFBUSY_REG; - temp_a0_2 = ((temp_a0 + 4) + 4); - temp_a0_2->unk-4 = (?32) DPC_PIPEBUSY_REG; - (temp_a0_2 + 4)->unk-4 = (?32) DPC_TMEM_REG; - return; - // (function likely void) -} -#else -GLOBAL_ASM( -.text -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) -) -#endif - diff --git a/ge007_libultra/libultra/dpsetnextbuffer.c b/ge007_libultra/libultra/dpsetnextbuffer.c deleted file mode 100644 index 2e23a88..0000000 --- a/ge007_libultra/libultra/dpsetnextbuffer.c +++ /dev/null @@ -1,76 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osDpSetNextBuffer(s32 arg0, ? arg2, ? arg3, ? argA, s32 argC, u32 argD) { - // Node 0 - if (__osDpDeviceBusy() != 0) - { - // Node 1 - return; - // (possible return value: -1) - } - // Node 2 - DPC_STATUS_REG = 1; - // Node 3 - if ((DPC_STATUS_REG & 1) != 0) - { - goto loop_3; - } - // Node 4 - *(void *)0xa4100000 = osVirtualToPhysical(argA); - DPC_END_REG = (u32) (osVirtualToPhysical(argA) + argD); - return; - // (possible return value: 0) -} - -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/dpsetstatus.c b/ge007_libultra/libultra/dpsetstatus.c deleted file mode 100644 index fbd1c14..0000000 --- a/ge007_libultra/libultra/dpsetstatus.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osDpSetStatus(u32 data){ - DPC_STATUS_REG = data; -} -#else -GLOBAL_ASM( -.text -glabel osDpSetStatus -/* 00F0E0 7000E4E0 3C0EA410 */ lui $t6, %hi(DPC_STATUS_REG) -/* 00F0E4 7000E4E4 03E00008 */ jr $ra -/* 00F0E8 7000E4E8 ADC4000C */ sw $a0, %lo(DPC_STATUS_REG)($t6) -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/getcount.c b/ge007_libultra/libultra/getcount.c deleted file mode 100644 index 56efc1d..0000000 --- a/ge007_libultra/libultra/getcount.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -u32 osGetCount(void){ - -} -#else -GLOBAL_ASM( -.text -glabel osGetCount -/* 00E4E0 7000D8E0 40024800 */ mfc0 $v0, $9 -/* 00E4E4 7000D8E4 03E00008 */ jr $ra -/* 00E4E8 7000D8E8 00000000 */ nop -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/gettlbhi.c b/ge007_libultra/libultra/gettlbhi.c deleted file mode 100644 index 39f120b..0000000 --- a/ge007_libultra/libultra/gettlbhi.c +++ /dev/null @@ -1,20 +0,0 @@ - -#include "ultra64.h" -#ifdef NONMATCHING -u32 __osGetTLBHi(s32 index){ - -} -#else -GLOBAL_ASM( -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/libultra.s b/ge007_libultra/libultra/libultra.s deleted file mode 100644 index bc4228c..0000000 --- a/ge007_libultra/libultra/libultra.s +++ /dev/null @@ -1,23885 +0,0 @@ -# Goldeneye 007 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# 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" -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) # $at, 0x8006 -/* 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) # $at, 0x8002 -/* 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) # $a0, 0x8002 -/* 00DE40 7000D240 3C058002 */ lui $a1, %hi(osClockRate) # $a1, 0x8002 -/* 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) # $at, 0x8002 -/* 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) # $a0, 0x8000 -/* 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) # $at, 0x8002 -/* 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) # $at, 0x8002 -/* 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) # $at, 0x8002 -/* 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) # $a0, 0x8002 -/* 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) # $a0, 0x8002 -/* 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) # $a0, 0x8002 -/* 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) # $a0, 0x8002 -/* 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) # $a0, 0x8002 -/* 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) # $a0, 0x8006 -/* 00E514 7000D914 3C058006 */ lui $a1, %hi(viEventBuf) # $a1, 0x8006 -/* 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(dword_CODE_bss_800669D4) # $at, 0x8006 -/* 00E52C 7000D92C 240F000D */ li $t7, 13 -/* 00E530 7000D930 A42F69D0 */ sh $t7, %lo(viRetraceMsg)($at) -/* 00E534 7000D934 A02069D2 */ sb $zero, %lo(byte_CODE_bss_800669D2)($at) -/* 00E538 7000D938 AC2069D4 */ sw $zero, %lo(dword_CODE_bss_800669D4)($at) -/* 00E53C 7000D93C 3C018006 */ lui $at, %hi(dword_CODE_bss_800669EC) # $at, 0x8006 -/* 00E540 7000D940 2418000E */ li $t8, 14 -/* 00E544 7000D944 3C058006 */ lui $a1, %hi(viEventQueue) # $a1, 0x8006 -/* 00E548 7000D948 3C068006 */ lui $a2, %hi(viRetraceMsg) # $a2, 0x8006 -/* 00E54C 7000D94C A43869E8 */ sh $t8, %lo(viCounterMsg)($at) -/* 00E550 7000D950 A02069EA */ sb $zero, %lo(byte_CODE_bss_800669EA)($at) -/* 00E554 7000D954 AC2069EC */ sw $zero, %lo(dword_CODE_bss_800669EC)($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) # $a1, 0x8006 -/* 00E56C 7000D96C 3C068006 */ lui $a2, %hi(viCounterMsg) # $a2, 0x8006 -/* 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) # $at, 0x8002 -/* 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(viThread_sp_maybe) -/* 00E5EC 7000D9EC 8FAF0030 */ lw $t7, 0x30($sp) -/* 00E5F0 7000D9F0 3C018002 */ lui $at, %hi(D_800269B8) # $at, 0x8002 -/* 00E5F4 7000D9F4 25AD59A0 */ addiu $t5, %lo(viThread_sp_maybe) # 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) # $a3, 0x8002 -/* 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) # $a0, 0x8006 -/* 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) # $at, 0x8006 -/* 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) # $at, 0x8006 -/* 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) # $at, 0x8006 -/* 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) # $at, 0x8006 -/* 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) # $at, 0x8007 -/* 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) # $at, 0x8007 -/* 00E78C 7000DB8C AC2C8E10 */ sw $t4, %lo(__osCurrentTime)($at) -/* 00E790 7000DB90 3C018007 */ lui $at, %hi(__osCurrentTime+4) # $at, 0x8007 -/* 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) # $at, 0x8007 -/* 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) # $at, 0x8007 -/* 00E7F0 7000DBF0 018A6021 */ addu $t4, $t4, $t2 -/* 00E7F4 7000DBF4 AC2C8E10 */ sw $t4, %lo(__osCurrentTime)($at) -/* 00E7F8 7000DBF8 3C018007 */ lui $at, %hi(__osCurrentTime+4) # $at, 0x8007 -/* 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 -.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 .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+0x10) -/* 00E8E0 7000DCE0 8DEF8044 */ lw $t7, %lo(__osViNext+0x10)($t7) -/* 00E8E4 7000DCE4 8FAE0028 */ lw $t6, 0x28($sp) -/* 00E8E8 7000DCE8 3C198003 */ lui $t9, %hi(__osViNext+0x10) -/* 00E8EC 7000DCEC 3C098003 */ lui $t1, %hi(__osViNext+0x10) -/* 00E8F0 7000DCF0 ADEE0010 */ sw $t6, 0x10($t7) -/* 00E8F4 7000DCF4 8F398044 */ lw $t9, %lo(__osViNext+0x10)($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+0x10)($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, 0x8003 -/* 00E990 7000DD90 01485021 */ addu $t2, $t2, $t0 -/* 00E994 7000DD94 954A93A0 */ lhu $t2, -0x6c60($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+0x10) -/* 00EC78 7000E078 8DEF8044 */ lw $t7, %lo(__osViNext+0x10)($t7) -/* 00EC7C 7000E07C 8FAE0028 */ lw $t6, 0x28($sp) -/* 00EC80 7000E080 3C198003 */ lui $t9, %hi(__osViNext+0x10) -/* 00EC84 7000E084 24180001 */ li $t8, 1 -/* 00EC88 7000E088 ADEE0008 */ sw $t6, 8($t7) -/* 00EC8C 7000E08C 8F398044 */ lw $t9, %lo(__osViNext+0x10)($t9) -/* 00EC90 7000E090 3C088003 */ lui $t0, %hi(__osViNext+0x10) -/* 00EC94 7000E094 00408025 */ move $s0, $v0 -/* 00EC98 7000E098 A7380000 */ sh $t8, ($t9) -/* 00EC9C 7000E09C 8D088044 */ lw $t0, %lo(__osViNext+0x10)($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+0x10) -/* 00ECEC 7000E0EC 8DCE8044 */ lw $t6, %lo(__osViNext+0x10)($t6) -/* 00ECF0 7000E0F0 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 00ECF4 7000E0F4 3C0F8003 */ lui $t7, %hi(__osViNext+0x10) -/* 00ECF8 7000E0F8 3C088003 */ lui $t0, %hi(__osViNext+0x10) -/* 00ECFC 7000E0FC E5C40018 */ swc1 $f4, 0x18($t6) -/* 00ED00 7000E100 8DEF8044 */ lw $t7, %lo(__osViNext+0x10)($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+0x10)($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+0x10) -/* 00EE18 7000E218 8DCE8044 */ lw $t6, %lo(__osViNext+0x10)($t6) -/* 00EE1C 7000E21C C7A40028 */ lwc1 $f4, 0x28($sp) -/* 00EE20 7000E220 3C0F8003 */ lui $t7, %hi(__osViNext+0x10) -/* 00EE24 7000E224 00408025 */ move $s0, $v0 -/* 00EE28 7000E228 E5C40024 */ swc1 $f4, 0x24($t6) -/* 00EE2C 7000E22C 8DEF8044 */ lw $t7, %lo(__osViNext+0x10)($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+0x10) -/* 00EE88 7000E288 8DEF8044 */ lw $t7, %lo(__osViNext+0x10)($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+0x10) -/* 00EEA0 7000E2A0 8D088044 */ lw $t0, %lo(__osViNext+0x10)($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+0x10) -/* 00EEF8 7000E2F8 8DEF8044 */ lw $t7, %lo(__osViNext+0x10)($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+0x10) -/* 00EF10 7000E310 8D088044 */ lw $t0, %lo(__osViNext+0x10)($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+0x10) -/* 00F024 7000E424 8DCE8040 */ lw $t6, %lo(__osViCurr+0x10)($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+0x10) -/* 00F064 7000E464 8DCE8044 */ lw $t6, %lo(__osViNext+0x10)($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+0x10) -/* 00F0A4 7000E4A4 8DEF8044 */ lw $t7, %lo(__osViNext+0x10)($t7) -/* 00F0A8 7000E4A8 8FAE0020 */ lw $t6, 0x20($sp) -/* 00F0AC 7000E4AC AFA2001C */ sw $v0, 0x1c($sp) -/* 00F0B0 7000E4B0 3C188003 */ lui $t8, %hi(__osViNext+0x10) -/* 00F0B4 7000E4B4 ADEE0004 */ sw $t6, 4($t7) -/* 00F0B8 7000E4B8 8F188044 */ lw $t8, %lo(__osViNext+0x10)($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 -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(0x8002804C)#%hi(osViClock) -/* 00F534 7000E934 8DCE804C */ lw $t6, %lo(0x8002804C)($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(0x8002804C) #osViClock -/* 00F658 7000EA58 8DAD804C */ lw $t5, %lo(0x8002804C)($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) # $at, 0x8002 -/* 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) # $v0, 0x8002 -/* 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) # $t0, 0x8007 -/* 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) # $at, 0x8002 -/* 00FB50 7000EF50 10000003 */ b .L7000EF60 -/* 00FB54 7000EF54 A02B76F0 */ sb $t3, %lo(B_800276F0)($at) -.L7000EF58: -/* 00FB58 7000EF58 3C018002 */ lui $at, %hi(B_800276F0) # $at, 0x8002 -/* 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, 0x8003 -/* 00FBD4 7000EFD4 448E4000 */ mtc1 $t6, $f8 -/* 00FBD8 7000EFD8 468021A0 */ cvt.s.w $f6, $f4 -/* 00FBDC 7000EFDC D4249420 */ ldc1 $f4, -0x6be0($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) # $v0, 0x8002 -/* 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) # $v0, 0x8002 -/* 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) # $s1, 0x8002 -/* 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, 0x8003 -/* 00FDE0 7000F1E0 4480B000 */ mtc1 $zero, $f22 -/* 00FDE4 7000F1E4 D4349428 */ ldc1 $f20, -0x6bd8($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+0x10) -/* 0103DC 7000F7DC 8F188044 */ lw $t8, %lo(__osViNext+0x10)($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+0x10) -/* 010400 7000F800 8D6B8044 */ lw $t3, %lo(__osViNext+0x10)($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+0x10) -/* 010428 7000F828 8F398044 */ lw $t9, %lo(__osViNext+0x10)($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+0x10) -/* 01044C 7000F84C 8D8C8044 */ lw $t4, %lo(__osViNext+0x10)($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+0x10) -/* 010474 7000F874 8D088044 */ lw $t0, %lo(__osViNext+0x10)($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+0x10) -/* 010498 7000F898 8DAD8044 */ lw $t5, %lo(__osViNext+0x10)($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+0x10) -/* 0104C0 7000F8C0 8F188044 */ lw $t8, %lo(__osViNext+0x10)($t8) -/* 0104C4 7000F8C4 3C010001 */ lui $at, 1 -/* 0104C8 7000F8C8 3C098003 */ lui $t1, %hi(__osViNext+0x10) -/* 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+0x10)($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+0x10) -/* 010500 7000F900 8DCE8044 */ lw $t6, %lo(__osViNext+0x10)($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+0x10) -/* 010514 7000F914 01E1C824 */ and $t9, $t7, $at -/* 010518 7000F918 ADD9000C */ sw $t9, 0xc($t6) -/* 01051C 7000F91C 8D088044 */ lw $t0, %lo(__osViNext+0x10)($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+0x10) -/* 01053C 7000F93C 8DAD8044 */ lw $t5, %lo(__osViNext+0x10)($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 */ li $at, 0x80030000 #%hi(F64_80029430) #0x80030000 -/* 0108A8 7000FCA8 D4269430 */ ldc1 $f6, -0x6bd0($at) #%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 -.double 0.01745329222222222 -.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 __osGetCurrFaultedThread -/* 010D80 70010180 3C028002 */ lui $v0, 0x8002 -/* 010D84 70010184 03E00008 */ jr $ra -/* 010D88 70010188 8C427734 */ lw $v0, 0x7734($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, 0x8003 -/* 010FAC 700103AC 002A0821 */ addu $at, $at, $t2 -/* 010FB0 700103B0 902A9440 */ lbu $t2, -0x6bc0($at) -/* 010FB4 700103B4 3C018003 */ lui $at, 0x8003 -/* 010FB8 700103B8 002A0821 */ addu $at, $at, $t2 -/* 010FBC 700103BC 8C2A9460 */ lw $t2, -0x6ba0($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, 0x8002 -/* 011010 70010410 002A0821 */ addu $at, $at, $t2 -/* 011014 70010414 8C2A7700 */ lw $t2, 0x7700($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) # $a0, 0x8002 -/* 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) # $at, 0x8002 -/* 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) # $a0, 0x8002 -/* 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) # $a1, 0x8002 -/* 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) # $a0, 0x8002 -/* 011508 70010908 0C00423D */ jal __osPopThread -/* 01150C 7001090C 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 011510 70010910 3C018002 */ lui $at, %hi(__osRunningThread) # $at, 0x8002 -/* 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) # $a0, 0x8002 -/* 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+0xC) -/* 0118E8 70010CE8 8D4A7FD0 */ lw $t2, %lo(__osTimerList+0xC)($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 ultra_7001123C -/* 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+0xC) # 0x8003 -/* 011E70 70011270 002F0821 */ addu $at, $at, $t7 -/* 011E74 70011274 8C2F9490 */ lw $t7, %lo(audio_related_jump_table_0+0xC)($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+0xC) # 0x8003 -/* 0126C0 70011AC0 002F0821 */ addu $at, $at, $t7 -/* 0126C4 70011AC4 8C2F9614 */ lw $t7, %lo(audio_related_jump_table_1+0xC)($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+0xC) # 0x8003 -/* 0126FC 70011AFC 00390821 */ addu $at, $at, $t9 -/* 012700 70011B00 8C399674 */ lw $t9, %lo(audio_related_jump_table_2+0xC)($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 ultra_7001123C -/* 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 ultra_7001123C -/* 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+0xC) # $at, 0x8003 -/* 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+0xC)($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) # $a0, 0x8002 -/* 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, 0x8003 -/* 013630 70012A30 8DCF0040 */ lw $t7, 0x40($t6) -/* 013634 70012A34 D42696D0 */ ldc1 $f6, -0x6930($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, 0x8003 -/* 013774 70012B74 D43296D8 */ ldc1 $f18, -0x6928($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, 0x8003 -/* 0143D0 700137D0 3C018003 */ lui $at, %hi(F32_800296E4+0x10) # $at, 0x8003 -/* 0143D4 700137D4 10000003 */ b .L700137E4 -/* 0143D8 700137D8 C42096E0 */ lwc1 $f0, %lo(F32_800296E0+0x10)($at) -.L700137DC: -/* 0143DC 700137DC C42096E4 */ lwc1 $f0, %lo(F32_800296E4+0x10)($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, 0x8003 -/* 01453C 7001393C 002F0821 */ addu $at, $at, $t7 -/* 014540 70013940 8C2F9714 */ lw $t7, -0x68ec($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) # $s5, 0x8002 -/* 014B84 70013F84 3C168003 */ lui $s6, %hi(printf_symbols+0x10) # $s6, 0x8003 -/* 014B88 70013F88 3C178002 */ lui $s7, %hi(spaces) # $s7, 0x8002 -/* 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+0x10) # 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, 0x8003 -/* 014C60 70014060 01EE7821 */ addu $t7, $t7, $t6 -/* 014C64 70014064 8DEF96FC */ lw $t7, -0x6904($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+0x10) # $a0, 0x8003 -/* 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+0x10) # 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 J_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) # $a0, 0x8006 -/* 0151E8 700145E8 3C058006 */ lui $a1, %hi(piEventBuf) # $a1, 0x8006 -/* 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+0x10) -/* 015200 70014600 8DEF82E0 */ lw $t7, %lo(__osPiAccessQueueEnabled+0x10)($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) # $a1, 0x8006 -/* 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) # $at, 0x8002 -/* 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(cmdBuf) -/* 015298 70014698 AC2B7798 */ sw $t3, %lo(__osPiDevMgr.cmdQueue)($at) -/* 01529C 7001469C 8FA80030 */ lw $t0, 0x30($sp) -/* 0152A0 700146A0 3C018002 */ lui $at, %hi(__osPiDevMgr.edma) # $at, 0x8002 -/* 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, %lo(cmdBuf) # addiu $t8, $t8, 0x6c80 -/* 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) # $a3, 0x8002 -/* 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) # $a0, 0x8006 -/* 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 D_800277AC -glabel __osPiTable -.word 0 - -.section .text -glabel osPfsInit -/* 015340 70014740 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 015344 70014744 AFBF0014 */ sw $ra, 0x14($sp) -/* 015348 70014748 AFA40020 */ sw $a0, 0x20($sp) -/* 01534C 7001474C AFA50024 */ sw $a1, 0x24($sp) -/* 015350 70014750 AFA60028 */ sw $a2, 0x28($sp) -/* 015354 70014754 0C005798 */ jal __osSiGetAccess -/* 015358 70014758 AFA0001C */ sw $zero, 0x1c($sp) -/* 01535C 7001475C 8FA40020 */ lw $a0, 0x20($sp) -/* 015360 70014760 0C0051FD */ jal __osPfsGetStatus -/* 015364 70014764 8FA50028 */ lw $a1, 0x28($sp) -/* 015368 70014768 0C0057A9 */ jal __osSiRelAccess -/* 01536C 7001476C AFA2001C */ sw $v0, 0x1c($sp) -/* 015370 70014770 8FAE001C */ lw $t6, 0x1c($sp) -/* 015374 70014774 11C00003 */ beqz $t6, .L70014784 -/* 015378 70014778 00000000 */ nop -/* 01537C 7001477C 10000019 */ b .L700147E4 -/* 015380 70014780 01C01025 */ move $v0, $t6 -.L70014784: -/* 015384 70014784 8FAF0020 */ lw $t7, 0x20($sp) -/* 015388 70014788 8FB80024 */ lw $t8, 0x24($sp) -/* 01538C 7001478C AF0F0004 */ sw $t7, 4($t8) -/* 015390 70014790 8FA80024 */ lw $t0, 0x24($sp) -/* 015394 70014794 8FB90028 */ lw $t9, 0x28($sp) -/* 015398 70014798 AD190008 */ sw $t9, 8($t0) -/* 01539C 7001479C 8FA90024 */ lw $t1, 0x24($sp) -/* 0153A0 700147A0 AD200000 */ sw $zero, ($t1) -/* 0153A4 700147A4 0C007C0D */ jal __osGetId -/* 0153A8 700147A8 8FA40024 */ lw $a0, 0x24($sp) -/* 0153AC 700147AC AFA2001C */ sw $v0, 0x1c($sp) -/* 0153B0 700147B0 8FAA001C */ lw $t2, 0x1c($sp) -/* 0153B4 700147B4 11400003 */ beqz $t2, .L700147C4 -/* 0153B8 700147B8 00000000 */ nop -/* 0153BC 700147BC 10000009 */ b .L700147E4 -/* 0153C0 700147C0 01401025 */ move $v0, $t2 -.L700147C4: -/* 0153C4 700147C4 0C002DCA */ jal osPfsChecker -/* 0153C8 700147C8 8FA40024 */ lw $a0, 0x24($sp) -/* 0153CC 700147CC 8FAB0024 */ lw $t3, 0x24($sp) -/* 0153D0 700147D0 AFA2001C */ sw $v0, 0x1c($sp) -/* 0153D4 700147D4 8D6C0000 */ lw $t4, ($t3) -/* 0153D8 700147D8 358D0001 */ ori $t5, $t4, 1 -/* 0153DC 700147DC AD6D0000 */ sw $t5, ($t3) -/* 0153E0 700147E0 8FA2001C */ lw $v0, 0x1c($sp) -.L700147E4: -/* 0153E4 700147E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0153E8 700147E8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0153EC 700147EC 03E00008 */ jr $ra -/* 0153F0 700147F0 00000000 */ nop - -glabel __osPfsGetStatus -/* 0153F4 700147F4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0153F8 700147F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0153FC 700147FC AFA40038 */ sw $a0, 0x38($sp) -/* 015400 70014800 AFA5003C */ sw $a1, 0x3c($sp) -/* 015404 70014804 AFA00034 */ sw $zero, 0x34($sp) -/* 015408 70014808 0C005710 */ jal __osPfsRequestData -/* 01540C 7001480C 00002025 */ move $a0, $zero -/* 015410 70014810 3C058006 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8006 -/* 015414 70014814 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 015418 70014818 0C0057B4 */ jal __osSiRawStartDma -/* 01541C 7001481C 24040001 */ li $a0, 1 -/* 015420 70014820 AFA20034 */ sw $v0, 0x34($sp) -/* 015424 70014824 8FA40038 */ lw $a0, 0x38($sp) -/* 015428 70014828 27A50030 */ addiu $a1, $sp, 0x30 -/* 01542C 7001482C 0C003774 */ jal osRecvMesg -/* 015430 70014830 24060001 */ li $a2, 1 -/* 015434 70014834 3C058006 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8006 -/* 015438 70014838 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 01543C 7001483C 0C0057B4 */ jal __osSiRawStartDma -/* 015440 70014840 00002025 */ move $a0, $zero -/* 015444 70014844 AFA20034 */ sw $v0, 0x34($sp) -/* 015448 70014848 8FA40038 */ lw $a0, 0x38($sp) -/* 01544C 7001484C 27A50030 */ addiu $a1, $sp, 0x30 -/* 015450 70014850 0C003774 */ jal osRecvMesg -/* 015454 70014854 24060001 */ li $a2, 1 -/* 015458 70014858 27A4002F */ addiu $a0, $sp, 0x2f -/* 01545C 7001485C 0C00574F */ jal __osPfsGetInitData -/* 015460 70014860 27A5001C */ addiu $a1, $sp, 0x1c -/* 015464 70014864 8FAE003C */ lw $t6, 0x3c($sp) -/* 015468 70014868 000E7880 */ sll $t7, $t6, 2 -/* 01546C 7001486C 03AFC021 */ addu $t8, $sp, $t7 -/* 015470 70014870 9318001E */ lbu $t8, 0x1e($t8) -/* 015474 70014874 33190001 */ andi $t9, $t8, 1 -/* 015478 70014878 13200006 */ beqz $t9, .L70014894 -/* 01547C 7001487C 00000000 */ nop -/* 015480 70014880 33080002 */ andi $t0, $t8, 2 -/* 015484 70014884 11000003 */ beqz $t0, .L70014894 -/* 015488 70014888 00000000 */ nop -/* 01548C 7001488C 10000018 */ b .L700148F0 -/* 015490 70014890 24020002 */ li $v0, 2 -.L70014894: -/* 015494 70014894 8FA9003C */ lw $t1, 0x3c($sp) -/* 015498 70014898 27AB001C */ addiu $t3, $sp, 0x1c -/* 01549C 7001489C 00095080 */ sll $t2, $t1, 2 -/* 0154A0 700148A0 014B6021 */ addu $t4, $t2, $t3 -/* 0154A4 700148A4 918D0003 */ lbu $t5, 3($t4) -/* 0154A8 700148A8 15A00005 */ bnez $t5, .L700148C0 -/* 0154AC 700148AC 00000000 */ nop -/* 0154B0 700148B0 918E0002 */ lbu $t6, 2($t4) -/* 0154B4 700148B4 31CF0001 */ andi $t7, $t6, 1 -/* 0154B8 700148B8 15E00003 */ bnez $t7, .L700148C8 -/* 0154BC 700148BC 00000000 */ nop -.L700148C0: -/* 0154C0 700148C0 1000000B */ b .L700148F0 -/* 0154C4 700148C4 24020001 */ li $v0, 1 -.L700148C8: -/* 0154C8 700148C8 8FB9003C */ lw $t9, 0x3c($sp) -/* 0154CC 700148CC 0019C080 */ sll $t8, $t9, 2 -/* 0154D0 700148D0 03B84021 */ addu $t0, $sp, $t8 -/* 0154D4 700148D4 9108001E */ lbu $t0, 0x1e($t0) -/* 0154D8 700148D8 31090004 */ andi $t1, $t0, 4 -/* 0154DC 700148DC 11200003 */ beqz $t1, .L700148EC -/* 0154E0 700148E0 00000000 */ nop -/* 0154E4 700148E4 10000002 */ b .L700148F0 -/* 0154E8 700148E8 24020004 */ li $v0, 4 -.L700148EC: -/* 0154EC 700148EC 8FA20034 */ lw $v0, 0x34($sp) -.L700148F0: -/* 0154F0 700148F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0154F4 700148F4 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0154F8 700148F8 03E00008 */ jr $ra -/* 0154FC 700148FC 00000000 */ nop - -glabel osContInit -/* 015500 70014900 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 015504 70014904 3C0E8002 */ lui $t6, %hi(__osContinitialized) -/* 015508 70014908 8DCE77B0 */ lw $t6, %lo(__osContinitialized)($t6) -/* 01550C 7001490C AFBF0024 */ sw $ra, 0x24($sp) -/* 015510 70014910 AFA40080 */ sw $a0, 0x80($sp) -/* 015514 70014914 AFA50084 */ sw $a1, 0x84($sp) -/* 015518 70014918 AFA60088 */ sw $a2, 0x88($sp) -/* 01551C 7001491C 11C00003 */ beqz $t6, .L7001492C -/* 015520 70014920 AFA00078 */ sw $zero, 0x78($sp) -/* 015524 70014924 10000070 */ b .L70014AE8 -/* 015528 70014928 00001025 */ move $v0, $zero -.L7001492C: -/* 01552C 7001492C 240F0001 */ li $t7, 1 -/* 015530 70014930 3C018002 */ lui $at, %hi(__osContinitialized) # $at, 0x8002 -/* 015534 70014934 0C003AEC */ jal osGetTime -/* 015538 70014938 AC2F77B0 */ sw $t7, %lo(__osContinitialized)($at) -/* 01553C 7001493C 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7 -/* 015540 70014940 3C068002 */ lui $a2, %hi(osClockRate) # $a2, 0x8002 -/* 015544 70014944 3C078002 */ lui $a3, %hi(osClockRate+0x4) # $a3, 0x8002 -/* 015548 70014948 AFA20070 */ sw $v0, 0x70($sp) -/* 01554C 7001494C AFA30074 */ sw $v1, 0x74($sp) -/* 015550 70014950 8CE76984 */ lw $a3, %lo(osClockRate+0x4)($a3) -/* 015554 70014954 8CC66980 */ lw $a2, %lo(osClockRate)($a2) -/* 015558 70014958 34A5A120 */ ori $a1, (0x0007A120 & 0xFFFF) # ori $a1, $a1, 0xa120 -/* 01555C 7001495C 0C003B6A */ jal __ll_mul -/* 015560 70014960 24040000 */ li $a0, 0 -/* 015564 70014964 AFA20030 */ sw $v0, 0x30($sp) -/* 015568 70014968 AFA30034 */ sw $v1, 0x34($sp) -/* 01556C 7001496C 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf -/* 015570 70014970 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 -/* 015574 70014974 8FA50034 */ lw $a1, 0x34($sp) -/* 015578 70014978 8FA40030 */ lw $a0, 0x30($sp) -/* 01557C 7001497C 0C003B2A */ jal ull_div -/* 015580 70014980 24060000 */ li $a2, 0 -/* 015584 70014984 8FB80070 */ lw $t8, 0x70($sp) -/* 015588 70014988 8FB90074 */ lw $t9, 0x74($sp) -/* 01558C 7001498C 0058082B */ sltu $at, $v0, $t8 -/* 015590 70014990 14200031 */ bnez $at, .L70014A58 -/* 015594 70014994 0302082B */ sltu $at, $t8, $v0 -/* 015598 70014998 14200003 */ bnez $at, .L700149A8 -/* 01559C 7001499C 0323082B */ sltu $at, $t9, $v1 -/* 0155A0 700149A0 1020002D */ beqz $at, .L70014A58 -/* 0155A4 700149A4 00000000 */ nop -.L700149A8: -/* 0155A8 700149A8 27A40038 */ addiu $a0, $sp, 0x38 -/* 0155AC 700149AC 27A5007C */ addiu $a1, $sp, 0x7c -/* 0155B0 700149B0 0C0035B4 */ jal osCreateMesgQueue -/* 0155B4 700149B4 24060001 */ li $a2, 1 -/* 0155B8 700149B8 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7 -/* 0155BC 700149BC 3C068002 */ lui $a2, %hi(osClockRate) # $a2, 0x8002 -/* 0155C0 700149C0 3C078002 */ lui $a3, %hi(osClockRate+4) # $a3, 0x8002 -/* 0155C4 700149C4 8CE76984 */ lw $a3, %lo(osClockRate+4)($a3) -/* 0155C8 700149C8 8CC66980 */ lw $a2, %lo(osClockRate)($a2) -/* 0155CC 700149CC 34A5A120 */ ori $a1, (0x0007A120 & 0xFFFF) # ori $a1, $a1, 0xa120 -/* 0155D0 700149D0 0C003B6A */ jal __ll_mul -/* 0155D4 700149D4 24040000 */ li $a0, 0 -/* 0155D8 700149D8 AFA20028 */ sw $v0, 0x28($sp) -/* 0155DC 700149DC AFA3002C */ sw $v1, 0x2c($sp) -/* 0155E0 700149E0 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf -/* 0155E4 700149E4 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 -/* 0155E8 700149E8 8FA5002C */ lw $a1, 0x2c($sp) -/* 0155EC 700149EC 8FA40028 */ lw $a0, 0x28($sp) -/* 0155F0 700149F0 0C003B2A */ jal ull_div -/* 0155F4 700149F4 24060000 */ li $a2, 0 -/* 0155F8 700149F8 AFA20030 */ sw $v0, 0x30($sp) -/* 0155FC 700149FC AFA30034 */ sw $v1, 0x34($sp) -/* 015600 70014A00 8FA90034 */ lw $t1, 0x34($sp) -/* 015604 70014A04 8FA80030 */ lw $t0, 0x30($sp) -/* 015608 70014A08 8FAA0070 */ lw $t2, 0x70($sp) -/* 01560C 70014A0C 8FAB0074 */ lw $t3, 0x74($sp) -/* 015610 70014A10 240C0000 */ li $t4, 0 -/* 015614 70014A14 240D0000 */ li $t5, 0 -/* 015618 70014A18 27AE0038 */ addiu $t6, $sp, 0x38 -/* 01561C 70014A1C 27AF007C */ addiu $t7, $sp, 0x7c -/* 015620 70014A20 010A3023 */ subu $a2, $t0, $t2 -/* 015624 70014A24 012B082B */ sltu $at, $t1, $t3 -/* 015628 70014A28 00C13023 */ subu $a2, $a2, $at -/* 01562C 70014A2C AFAF001C */ sw $t7, 0x1c($sp) -/* 015630 70014A30 AFAE0018 */ sw $t6, 0x18($sp) -/* 015634 70014A34 AFAD0014 */ sw $t5, 0x14($sp) -/* 015638 70014A38 AFAC0010 */ sw $t4, 0x10($sp) -/* 01563C 70014A3C 27A40050 */ addiu $a0, $sp, 0x50 -/* 015640 70014A40 0C004314 */ jal osSetTimer -/* 015644 70014A44 012B3823 */ subu $a3, $t1, $t3 -/* 015648 70014A48 27A40038 */ addiu $a0, $sp, 0x38 -/* 01564C 70014A4C 27A5007C */ addiu $a1, $sp, 0x7c -/* 015650 70014A50 0C003774 */ jal osRecvMesg -/* 015654 70014A54 24060001 */ li $a2, 1 -.L70014A58: -/* 015658 70014A58 24180004 */ li $t8, 4 -/* 01565C 70014A5C 3C018006 */ lui $at, %hi(__osMaxControllers) # $at, 0x8006 -/* 015660 70014A60 A0387CE1 */ sb $t8, %lo(__osMaxControllers)($at) -/* 015664 70014A64 0C0052F2 */ jal __osPackRequestData -/* 015668 70014A68 00002025 */ move $a0, $zero -/* 01566C 70014A6C 3C058006 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8006 -/* 015670 70014A70 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 015674 70014A74 0C0057B4 */ jal __osSiRawStartDma -/* 015678 70014A78 24040001 */ li $a0, 1 -/* 01567C 70014A7C AFA20078 */ sw $v0, 0x78($sp) -/* 015680 70014A80 8FA40080 */ lw $a0, 0x80($sp) -/* 015684 70014A84 27A5007C */ addiu $a1, $sp, 0x7c -/* 015688 70014A88 0C003774 */ jal osRecvMesg -/* 01568C 70014A8C 24060001 */ li $a2, 1 -/* 015690 70014A90 3C058006 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8006 -/* 015694 70014A94 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 015698 70014A98 0C0057B4 */ jal __osSiRawStartDma -/* 01569C 70014A9C 00002025 */ move $a0, $zero -/* 0156A0 70014AA0 AFA20078 */ sw $v0, 0x78($sp) -/* 0156A4 70014AA4 8FA40080 */ lw $a0, 0x80($sp) -/* 0156A8 70014AA8 27A5007C */ addiu $a1, $sp, 0x7c -/* 0156AC 70014AAC 0C003774 */ jal osRecvMesg -/* 0156B0 70014AB0 24060001 */ li $a2, 1 -/* 0156B4 70014AB4 8FA40084 */ lw $a0, 0x84($sp) -/* 0156B8 70014AB8 0C0052BE */ jal __osContGetInitData -/* 0156BC 70014ABC 8FA50088 */ lw $a1, 0x88($sp) -/* 0156C0 70014AC0 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 0156C4 70014AC4 0C005784 */ jal __osSiCreateAccessQueue -/* 0156C8 70014AC8 A0207CE0 */ sb $zero, %lo(__osContLastCmd)($at) -/* 0156CC 70014ACC 3C048006 */ lui $a0, %hi(__osEepromTimerQ) # $a0, 0x8006 -/* 0156D0 70014AD0 3C058006 */ lui $a1, %hi(__osEepromTimerMsg) # $a1, 0x8006 -/* 0156D4 70014AD4 24A57D20 */ addiu $a1, %lo(__osEepromTimerMsg) # addiu $a1, $a1, 0x7d20 -/* 0156D8 70014AD8 24847D08 */ addiu $a0, %lo(__osEepromTimerQ) # addiu $a0, $a0, 0x7d08 -/* 0156DC 70014ADC 0C0035B4 */ jal osCreateMesgQueue -/* 0156E0 70014AE0 24060001 */ li $a2, 1 -/* 0156E4 70014AE4 8FA20078 */ lw $v0, 0x78($sp) -.L70014AE8: -/* 0156E8 70014AE8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0156EC 70014AEC 27BD0080 */ addiu $sp, $sp, 0x80 -/* 0156F0 70014AF0 03E00008 */ jr $ra -/* 0156F4 70014AF4 00000000 */ nop - -glabel __osContGetInitData -/* 0156F8 70014AF8 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 0156FC 70014AFC 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 015700 70014B00 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 015704 70014B04 3C0E8006 */ lui $t6, %hi(__osContPifRam) -/* 015708 70014B08 25CE7CA0 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, 0x7ca0 -/* 01570C 70014B0C A3A00007 */ sb $zero, 7($sp) -/* 015710 70014B10 AFAE0014 */ sw $t6, 0x14($sp) -/* 015714 70014B14 19E00028 */ blez $t7, .L70014BB8 -/* 015718 70014B18 AFA00008 */ sw $zero, 8($sp) -.L70014B1C: -/* 01571C 70014B1C 8FB90014 */ lw $t9, 0x14($sp) -/* 015720 70014B20 27B8000C */ addiu $t8, $sp, 0xc -/* 015724 70014B24 8B210000 */ lwl $at, ($t9) -/* 015728 70014B28 9B210003 */ lwr $at, 3($t9) -/* 01572C 70014B2C AF010000 */ sw $at, ($t8) -/* 015730 70014B30 8B290004 */ lwl $t1, 4($t9) -/* 015734 70014B34 9B290007 */ lwr $t1, 7($t9) -/* 015738 70014B38 AF090004 */ sw $t1, 4($t8) -/* 01573C 70014B3C 93AA000E */ lbu $t2, 0xe($sp) -/* 015740 70014B40 314B00C0 */ andi $t3, $t2, 0xc0 -/* 015744 70014B44 000B6103 */ sra $t4, $t3, 4 -/* 015748 70014B48 A0AC0003 */ sb $t4, 3($a1) -/* 01574C 70014B4C 90AD0003 */ lbu $t5, 3($a1) -/* 015750 70014B50 15A0000E */ bnez $t5, .L70014B8C -/* 015754 70014B54 00000000 */ nop -/* 015758 70014B58 93AE0011 */ lbu $t6, 0x11($sp) -/* 01575C 70014B5C 93A80010 */ lbu $t0, 0x10($sp) -/* 015760 70014B60 240B0001 */ li $t3, 1 -/* 015764 70014B64 000E7A00 */ sll $t7, $t6, 8 -/* 015768 70014B68 01E8C025 */ or $t8, $t7, $t0 -/* 01576C 70014B6C A4B80000 */ sh $t8, ($a1) -/* 015770 70014B70 93B90012 */ lbu $t9, 0x12($sp) -/* 015774 70014B74 A0B90002 */ sb $t9, 2($a1) -/* 015778 70014B78 8FAA0008 */ lw $t2, 8($sp) -/* 01577C 70014B7C 93A90007 */ lbu $t1, 7($sp) -/* 015780 70014B80 014B6004 */ sllv $t4, $t3, $t2 -/* 015784 70014B84 012C6825 */ or $t5, $t1, $t4 -/* 015788 70014B88 A3AD0007 */ sb $t5, 7($sp) -.L70014B8C: -/* 01578C 70014B8C 8FAE0008 */ lw $t6, 8($sp) -/* 015790 70014B90 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 015794 70014B94 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 015798 70014B98 8FA80014 */ lw $t0, 0x14($sp) -/* 01579C 70014B9C 25CF0001 */ addiu $t7, $t6, 1 -/* 0157A0 70014BA0 01F9082A */ slt $at, $t7, $t9 -/* 0157A4 70014BA4 25180008 */ addiu $t8, $t0, 8 -/* 0157A8 70014BA8 AFB80014 */ sw $t8, 0x14($sp) -/* 0157AC 70014BAC AFAF0008 */ sw $t7, 8($sp) -/* 0157B0 70014BB0 1420FFDA */ bnez $at, .L70014B1C -/* 0157B4 70014BB4 24A50004 */ addiu $a1, $a1, 4 -.L70014BB8: -/* 0157B8 70014BB8 93AB0007 */ lbu $t3, 7($sp) -/* 0157BC 70014BBC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0157C0 70014BC0 03E00008 */ jr $ra -/* 0157C4 70014BC4 A08B0000 */ sb $t3, ($a0) - -glabel __osPackRequestData -/* 0157C8 70014BC8 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0157CC 70014BCC 308400FF */ andi $a0, $a0, 0xff -/* 0157D0 70014BD0 AFA00000 */ sw $zero, ($sp) -.L70014BD4: -/* 0157D4 70014BD4 8FAE0000 */ lw $t6, ($sp) -/* 0157D8 70014BD8 8FB80000 */ lw $t8, ($sp) -/* 0157DC 70014BDC 3C018006 */ lui $at, 0x8006 -/* 0157E0 70014BE0 000E7880 */ sll $t7, $t6, 2 -/* 0157E4 70014BE4 002F0821 */ addu $at, $at, $t7 -/* 0157E8 70014BE8 AC207CA0 */ sw $zero, 0x7ca0($at) -/* 0157EC 70014BEC 27190001 */ addiu $t9, $t8, 1 -/* 0157F0 70014BF0 2B210010 */ slti $at, $t9, 0x10 -/* 0157F4 70014BF4 1420FFF7 */ bnez $at, .L70014BD4 -/* 0157F8 70014BF8 AFB90000 */ sw $t9, ($sp) -/* 0157FC 70014BFC 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 015800 70014C00 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 015804 70014C04 3C098006 */ lui $t1, %hi(__osContPifRam) -/* 015808 70014C08 24080001 */ li $t0, 1 -/* 01580C 70014C0C 3C018006 */ lui $at, %hi(__osContPifRam+0x3c) # $at, 0x8006 -/* 015810 70014C10 25297CA0 */ addiu $t1, %lo(__osContPifRam) # addiu $t1, $t1, 0x7ca0 -/* 015814 70014C14 240A00FF */ li $t2, 255 -/* 015818 70014C18 240B0001 */ li $t3, 1 -/* 01581C 70014C1C 240C0003 */ li $t4, 3 -/* 015820 70014C20 240D00FF */ li $t5, 255 -/* 015824 70014C24 240E00FF */ li $t6, 255 -/* 015828 70014C28 240F00FF */ li $t7, 255 -/* 01582C 70014C2C 241800FF */ li $t8, 255 -/* 015830 70014C30 AC287CDC */ sw $t0, %lo(__osContPifRam+0x3c)($at) -/* 015834 70014C34 AFA9000C */ sw $t1, 0xc($sp) -/* 015838 70014C38 A3AA0004 */ sb $t2, 4($sp) -/* 01583C 70014C3C A3AB0005 */ sb $t3, 5($sp) -/* 015840 70014C40 A3AC0006 */ sb $t4, 6($sp) -/* 015844 70014C44 A3A40007 */ sb $a0, 7($sp) -/* 015848 70014C48 A3AD0008 */ sb $t5, 8($sp) -/* 01584C 70014C4C A3AE0009 */ sb $t6, 9($sp) -/* 015850 70014C50 A3AF000A */ sb $t7, 0xa($sp) -/* 015854 70014C54 A3B8000B */ sb $t8, 0xb($sp) -/* 015858 70014C58 1B200013 */ blez $t9, .L70014CA8 -/* 01585C 70014C5C AFA00000 */ sw $zero, ($sp) -.L70014C60: -/* 015860 70014C60 27A90004 */ addiu $t1, $sp, 4 -/* 015864 70014C64 8D210000 */ lw $at, ($t1) -/* 015868 70014C68 8FA8000C */ lw $t0, 0xc($sp) -/* 01586C 70014C6C 3C188006 */ lui $t8, %hi(__osMaxControllers) -/* 015870 70014C70 A9010000 */ swl $at, ($t0) -/* 015874 70014C74 B9010003 */ swr $at, 3($t0) -/* 015878 70014C78 8D2B0004 */ lw $t3, 4($t1) -/* 01587C 70014C7C A90B0004 */ swl $t3, 4($t0) -/* 015880 70014C80 B90B0007 */ swr $t3, 7($t0) -/* 015884 70014C84 8FAE0000 */ lw $t6, ($sp) -/* 015888 70014C88 93187CE1 */ lbu $t8, %lo(__osMaxControllers)($t8) -/* 01588C 70014C8C 8FAC000C */ lw $t4, 0xc($sp) -/* 015890 70014C90 25CF0001 */ addiu $t7, $t6, 1 -/* 015894 70014C94 01F8082A */ slt $at, $t7, $t8 -/* 015898 70014C98 258D0008 */ addiu $t5, $t4, 8 -/* 01589C 70014C9C AFAF0000 */ sw $t7, ($sp) -/* 0158A0 70014CA0 1420FFEF */ bnez $at, .L70014C60 -/* 0158A4 70014CA4 AFAD000C */ sw $t5, 0xc($sp) -.L70014CA8: -/* 0158A8 70014CA8 8FAA000C */ lw $t2, 0xc($sp) -/* 0158AC 70014CAC 241900FE */ li $t9, 254 -/* 0158B0 70014CB0 27BD0010 */ addiu $sp, $sp, 0x10 -/* 0158B4 70014CB4 03E00008 */ jr $ra -/* 0158B8 70014CB8 A1590000 */ sb $t9, ($t2) - -/* 0158BC 70014CBC 00000000 */ nop - -.section .data -glabel __osContinitialized -.word 0 -.align 4 - -.section .text -glabel osContStartQuery -/* 0158C0 70014CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0158C4 70014CC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0158C8 70014CC8 AFA40020 */ sw $a0, 0x20($sp) -/* 0158CC 70014CCC 0C005798 */ jal __osSiGetAccess -/* 0158D0 70014CD0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0158D4 70014CD4 3C0E8006 */ lui $t6, %hi(__osContLastCmd) -/* 0158D8 70014CD8 91CE7CE0 */ lbu $t6, %lo(__osContLastCmd)($t6) -/* 0158DC 70014CDC 11C0000C */ beqz $t6, .L70014D10 -/* 0158E0 70014CE0 00000000 */ nop -/* 0158E4 70014CE4 0C0052F2 */ jal __osPackRequestData -/* 0158E8 70014CE8 00002025 */ move $a0, $zero -/* 0158EC 70014CEC 3C058006 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8006 -/* 0158F0 70014CF0 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 0158F4 70014CF4 0C0057B4 */ jal __osSiRawStartDma -/* 0158F8 70014CF8 24040001 */ li $a0, 1 -/* 0158FC 70014CFC AFA2001C */ sw $v0, 0x1c($sp) -/* 015900 70014D00 8FA40020 */ lw $a0, 0x20($sp) -/* 015904 70014D04 00002825 */ move $a1, $zero -/* 015908 70014D08 0C003774 */ jal osRecvMesg -/* 01590C 70014D0C 24060001 */ li $a2, 1 -.L70014D10: -/* 015910 70014D10 3C058006 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8006 -/* 015914 70014D14 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 015918 70014D18 0C0057B4 */ jal __osSiRawStartDma -/* 01591C 70014D1C 00002025 */ move $a0, $zero -/* 015920 70014D20 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 015924 70014D24 AFA2001C */ sw $v0, 0x1c($sp) -/* 015928 70014D28 0C0057A9 */ jal __osSiRelAccess -/* 01592C 70014D2C A0207CE0 */ sb $zero, %lo(__osContLastCmd)($at) -/* 015930 70014D30 8FBF0014 */ lw $ra, 0x14($sp) -/* 015934 70014D34 8FA2001C */ lw $v0, 0x1c($sp) -/* 015938 70014D38 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01593C 70014D3C 03E00008 */ jr $ra -/* 015940 70014D40 00000000 */ nop - -glabel osContGetQuery -/* 015944 70014D44 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 015948 70014D48 AFBF0014 */ sw $ra, 0x14($sp) -/* 01594C 70014D4C AFA40020 */ sw $a0, 0x20($sp) -/* 015950 70014D50 8FA50020 */ lw $a1, 0x20($sp) -/* 015954 70014D54 0C0052BE */ jal __osContGetInitData -/* 015958 70014D58 27A4001F */ addiu $a0, $sp, 0x1f -/* 01595C 70014D5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 015960 70014D60 27BD0020 */ addiu $sp, $sp, 0x20 -/* 015964 70014D64 03E00008 */ jr $ra -/* 015968 70014D68 00000000 */ nop - -/* 01596C 70014D6C 00000000 */ nop -glabel osContStartReadData -/* 015970 70014D70 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 015974 70014D74 AFBF0014 */ sw $ra, 0x14($sp) -/* 015978 70014D78 AFA40020 */ sw $a0, 0x20($sp) -/* 01597C 70014D7C 0C005798 */ jal __osSiGetAccess -/* 015980 70014D80 AFA0001C */ sw $zero, 0x1c($sp) -/* 015984 70014D84 3C0E8006 */ lui $t6, %hi(__osContLastCmd) -/* 015988 70014D88 91CE7CE0 */ lbu $t6, %lo(__osContLastCmd)($t6) -/* 01598C 70014D8C 24010001 */ li $at, 1 -/* 015990 70014D90 11C1000C */ beq $t6, $at, .L70014DC4 -/* 015994 70014D94 00000000 */ nop -/* 015998 70014D98 0C0053B7 */ jal osContReadData_sub -/* 01599C 70014D9C 00000000 */ nop -/* 0159A0 70014DA0 3C058006 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8006 -/* 0159A4 70014DA4 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 0159A8 70014DA8 0C0057B4 */ jal __osSiRawStartDma -/* 0159AC 70014DAC 24040001 */ li $a0, 1 -/* 0159B0 70014DB0 AFA2001C */ sw $v0, 0x1c($sp) -/* 0159B4 70014DB4 8FA40020 */ lw $a0, 0x20($sp) -/* 0159B8 70014DB8 00002825 */ move $a1, $zero -/* 0159BC 70014DBC 0C003774 */ jal osRecvMesg -/* 0159C0 70014DC0 24060001 */ li $a2, 1 -.L70014DC4: -/* 0159C4 70014DC4 AFA00018 */ sw $zero, 0x18($sp) -.L70014DC8: -/* 0159C8 70014DC8 8FB80018 */ lw $t8, 0x18($sp) -/* 0159CC 70014DCC 8FA80018 */ lw $t0, 0x18($sp) -/* 0159D0 70014DD0 3C018006 */ lui $at, 0x8006 -/* 0159D4 70014DD4 0018C880 */ sll $t9, $t8, 2 -/* 0159D8 70014DD8 00390821 */ addu $at, $at, $t9 -/* 0159DC 70014DDC 240F00FF */ li $t7, 255 -/* 0159E0 70014DE0 AC2F7CA0 */ sw $t7, 0x7ca0($at) -/* 0159E4 70014DE4 25090001 */ addiu $t1, $t0, 1 -/* 0159E8 70014DE8 29210010 */ slti $at, $t1, 0x10 -/* 0159EC 70014DEC 1420FFF6 */ bnez $at, .L70014DC8 -/* 0159F0 70014DF0 AFA90018 */ sw $t1, 0x18($sp) -/* 0159F4 70014DF4 3C018006 */ lui $at, %hi(__osContPifRam+0x3c) # $at, 0x8006 -/* 0159F8 70014DF8 3C058006 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8006 -/* 0159FC 70014DFC AC207CDC */ sw $zero, %lo(__osContPifRam+0x3c)($at) -/* 015A00 70014E00 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 015A04 70014E04 0C0057B4 */ jal __osSiRawStartDma -/* 015A08 70014E08 00002025 */ move $a0, $zero -/* 015A0C 70014E0C 240A0001 */ li $t2, 1 -/* 015A10 70014E10 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 015A14 70014E14 AFA2001C */ sw $v0, 0x1c($sp) -/* 015A18 70014E18 0C0057A9 */ jal __osSiRelAccess -/* 015A1C 70014E1C A02A7CE0 */ sb $t2, %lo(__osContLastCmd)($at) -/* 015A20 70014E20 8FBF0014 */ lw $ra, 0x14($sp) -/* 015A24 70014E24 8FA2001C */ lw $v0, 0x1c($sp) -/* 015A28 70014E28 27BD0020 */ addiu $sp, $sp, 0x20 -/* 015A2C 70014E2C 03E00008 */ jr $ra -/* 015A30 70014E30 00000000 */ nop - -glabel osContGetReadData -/* 015A34 70014E34 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 015A38 70014E38 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 015A3C 70014E3C 3C0E8006 */ lui $t6, %hi(__osContPifRam) -/* 015A40 70014E40 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 015A44 70014E44 25CE7CA0 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, 0x7ca0 -/* 015A48 70014E48 AFAE000C */ sw $t6, 0xc($sp) -/* 015A4C 70014E4C 19E00021 */ blez $t7, .L70014ED4 -/* 015A50 70014E50 AFA00000 */ sw $zero, ($sp) -.L70014E54: -/* 015A54 70014E54 8FB9000C */ lw $t9, 0xc($sp) -/* 015A58 70014E58 27B80004 */ addiu $t8, $sp, 4 -/* 015A5C 70014E5C 8B210000 */ lwl $at, ($t9) -/* 015A60 70014E60 9B210003 */ lwr $at, 3($t9) -/* 015A64 70014E64 AF010000 */ sw $at, ($t8) -/* 015A68 70014E68 8B290004 */ lwl $t1, 4($t9) -/* 015A6C 70014E6C 9B290007 */ lwr $t1, 7($t9) -/* 015A70 70014E70 AF090004 */ sw $t1, 4($t8) -/* 015A74 70014E74 93AA0006 */ lbu $t2, 6($sp) -/* 015A78 70014E78 314B00C0 */ andi $t3, $t2, 0xc0 -/* 015A7C 70014E7C 000B6103 */ sra $t4, $t3, 4 -/* 015A80 70014E80 A08C0004 */ sb $t4, 4($a0) -/* 015A84 70014E84 908D0004 */ lbu $t5, 4($a0) -/* 015A88 70014E88 15A00007 */ bnez $t5, .L70014EA8 -/* 015A8C 70014E8C 00000000 */ nop -/* 015A90 70014E90 97AE0008 */ lhu $t6, 8($sp) -/* 015A94 70014E94 A48E0000 */ sh $t6, ($a0) -/* 015A98 70014E98 83AF000A */ lb $t7, 0xa($sp) -/* 015A9C 70014E9C A08F0002 */ sb $t7, 2($a0) -/* 015AA0 70014EA0 83A8000B */ lb $t0, 0xb($sp) -/* 015AA4 70014EA4 A0880003 */ sb $t0, 3($a0) -.L70014EA8: -/* 015AA8 70014EA8 8FB80000 */ lw $t8, ($sp) -/* 015AAC 70014EAC 3C0B8006 */ lui $t3, %hi(__osMaxControllers) -/* 015AB0 70014EB0 916B7CE1 */ lbu $t3, %lo(__osMaxControllers)($t3) -/* 015AB4 70014EB4 8FA9000C */ lw $t1, 0xc($sp) -/* 015AB8 70014EB8 27190001 */ addiu $t9, $t8, 1 -/* 015ABC 70014EBC 032B082A */ slt $at, $t9, $t3 -/* 015AC0 70014EC0 252A0008 */ addiu $t2, $t1, 8 -/* 015AC4 70014EC4 AFAA000C */ sw $t2, 0xc($sp) -/* 015AC8 70014EC8 AFB90000 */ sw $t9, ($sp) -/* 015ACC 70014ECC 1420FFE1 */ bnez $at, .L70014E54 -/* 015AD0 70014ED0 24840006 */ addiu $a0, $a0, 6 -.L70014ED4: -/* 015AD4 70014ED4 03E00008 */ jr $ra -/* 015AD8 70014ED8 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel osContReadData_sub -/* 015ADC 70014EDC 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 015AE0 70014EE0 3C0E8006 */ lui $t6, %hi(__osContPifRam) -/* 015AE4 70014EE4 25CE7CA0 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, 0x7ca0 -/* 015AE8 70014EE8 AFAE000C */ sw $t6, 0xc($sp) -/* 015AEC 70014EEC AFA00000 */ sw $zero, ($sp) -.L70014EF0: -/* 015AF0 70014EF0 8FAF0000 */ lw $t7, ($sp) -/* 015AF4 70014EF4 8FB90000 */ lw $t9, ($sp) -/* 015AF8 70014EF8 3C018006 */ lui $at, 0x8006 -/* 015AFC 70014EFC 000FC080 */ sll $t8, $t7, 2 -/* 015B00 70014F00 00380821 */ addu $at, $at, $t8 -/* 015B04 70014F04 AC207CA0 */ sw $zero, 0x7ca0($at) -/* 015B08 70014F08 27280001 */ addiu $t0, $t9, 1 -/* 015B0C 70014F0C 29010010 */ slti $at, $t0, 0x10 -/* 015B10 70014F10 1420FFF7 */ bnez $at, .L70014EF0 -/* 015B14 70014F14 AFA80000 */ sw $t0, ($sp) -/* 015B18 70014F18 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 015B1C 70014F1C 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 015B20 70014F20 24090001 */ li $t1, 1 -/* 015B24 70014F24 3C018006 */ lui $at, %hi(__osContPifRam+0x3c) # $at, 0x8006 -/* 015B28 70014F28 240A00FF */ li $t2, 255 -/* 015B2C 70014F2C 240B0001 */ li $t3, 1 -/* 015B30 70014F30 240C0004 */ li $t4, 4 -/* 015B34 70014F34 240D0001 */ li $t5, 1 -/* 015B38 70014F38 340EFFFF */ li $t6, 65535 -/* 015B3C 70014F3C 240FFFFF */ li $t7, -1 -/* 015B40 70014F40 2418FFFF */ li $t8, -1 -/* 015B44 70014F44 AC297CDC */ sw $t1, %lo(__osContPifRam+0x3c)($at) -/* 015B48 70014F48 A3AA0004 */ sb $t2, 4($sp) -/* 015B4C 70014F4C A3AB0005 */ sb $t3, 5($sp) -/* 015B50 70014F50 A3AC0006 */ sb $t4, 6($sp) -/* 015B54 70014F54 A3AD0007 */ sb $t5, 7($sp) -/* 015B58 70014F58 A7AE0008 */ sh $t6, 8($sp) -/* 015B5C 70014F5C A3AF000A */ sb $t7, 0xa($sp) -/* 015B60 70014F60 A3B8000B */ sb $t8, 0xb($sp) -/* 015B64 70014F64 1B200013 */ blez $t9, .L70014FB4 -/* 015B68 70014F68 AFA00000 */ sw $zero, ($sp) -.L70014F6C: -/* 015B6C 70014F6C 27A90004 */ addiu $t1, $sp, 4 -/* 015B70 70014F70 8D210000 */ lw $at, ($t1) -/* 015B74 70014F74 8FA8000C */ lw $t0, 0xc($sp) -/* 015B78 70014F78 3C188006 */ lui $t8, %hi(__osMaxControllers) -/* 015B7C 70014F7C A9010000 */ swl $at, ($t0) -/* 015B80 70014F80 B9010003 */ swr $at, 3($t0) -/* 015B84 70014F84 8D2B0004 */ lw $t3, 4($t1) -/* 015B88 70014F88 A90B0004 */ swl $t3, 4($t0) -/* 015B8C 70014F8C B90B0007 */ swr $t3, 7($t0) -/* 015B90 70014F90 8FAE0000 */ lw $t6, ($sp) -/* 015B94 70014F94 93187CE1 */ lbu $t8, %lo(__osMaxControllers)($t8) -/* 015B98 70014F98 8FAC000C */ lw $t4, 0xc($sp) -/* 015B9C 70014F9C 25CF0001 */ addiu $t7, $t6, 1 -/* 015BA0 70014FA0 01F8082A */ slt $at, $t7, $t8 -/* 015BA4 70014FA4 258D0008 */ addiu $t5, $t4, 8 -/* 015BA8 70014FA8 AFAF0000 */ sw $t7, ($sp) -/* 015BAC 70014FAC 1420FFEF */ bnez $at, .L70014F6C -/* 015BB0 70014FB0 AFAD000C */ sw $t5, 0xc($sp) -.L70014FB4: -/* 015BB4 70014FB4 8FAA000C */ lw $t2, 0xc($sp) -/* 015BB8 70014FB8 241900FE */ li $t9, 254 -/* 015BBC 70014FBC 27BD0010 */ addiu $sp, $sp, 0x10 -/* 015BC0 70014FC0 03E00008 */ jr $ra -/* 015BC4 70014FC4 A1590000 */ sb $t9, ($t2) - -/* 015BC8 70014FC8 00000000 */ nop -/* 015BCC 70014FCC 00000000 */ nop -glabel osEepromProbe -/* 015BD0 70014FD0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 015BD4 70014FD4 AFBF0014 */ sw $ra, 0x14($sp) -/* 015BD8 70014FD8 AFA40020 */ sw $a0, 0x20($sp) -/* 015BDC 70014FDC 0C005798 */ jal __osSiGetAccess -/* 015BE0 70014FE0 AFA0001C */ sw $zero, 0x1c($sp) -/* 015BE4 70014FE4 8FA40020 */ lw $a0, 0x20($sp) -/* 015BE8 70014FE8 0C00557F */ jal __osEepStatus -/* 015BEC 70014FEC 27A50018 */ addiu $a1, $sp, 0x18 -/* 015BF0 70014FF0 AFA2001C */ sw $v0, 0x1c($sp) -/* 015BF4 70014FF4 8FAE001C */ lw $t6, 0x1c($sp) -/* 015BF8 70014FF8 15C00008 */ bnez $t6, .L7001501C -/* 015BFC 70014FFC 00000000 */ nop -/* 015C00 70015000 97AF0018 */ lhu $t7, 0x18($sp) -/* 015C04 70015004 31F88000 */ andi $t8, $t7, 0x8000 -/* 015C08 70015008 13000004 */ beqz $t8, .L7001501C -/* 015C0C 7001500C 00000000 */ nop -/* 015C10 70015010 24190001 */ li $t9, 1 -/* 015C14 70015014 10000002 */ b .L70015020 -/* 015C18 70015018 AFB9001C */ sw $t9, 0x1c($sp) -.L7001501C: -/* 015C1C 7001501C AFA0001C */ sw $zero, 0x1c($sp) -.L70015020: -/* 015C20 70015020 0C0057A9 */ jal __osSiRelAccess -/* 015C24 70015024 00000000 */ nop -/* 015C28 70015028 8FBF0014 */ lw $ra, 0x14($sp) -/* 015C2C 7001502C 8FA2001C */ lw $v0, 0x1c($sp) -/* 015C30 70015030 27BD0020 */ addiu $sp, $sp, 0x20 -/* 015C34 70015034 03E00008 */ jr $ra -/* 015C38 70015038 00000000 */ nop - -/* 015C3C 7001503C 00000000 */ nop -glabel osEepromRead -/* 015C40 70015040 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 015C44 70015044 AFA5003C */ sw $a1, 0x3c($sp) -/* 015C48 70015048 93AF003F */ lbu $t7, 0x3f($sp) -/* 015C4C 7001504C 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 015C50 70015050 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 015C54 70015054 29E10041 */ slti $at, $t7, 0x41 -/* 015C58 70015058 AFBF0014 */ sw $ra, 0x14($sp) -/* 015C5C 7001505C AFA40038 */ sw $a0, 0x38($sp) -/* 015C60 70015060 AFA60040 */ sw $a2, 0x40($sp) -/* 015C64 70015064 AFA00034 */ sw $zero, 0x34($sp) -/* 015C68 70015068 AFA00030 */ sw $zero, 0x30($sp) -/* 015C6C 7001506C 14200003 */ bnez $at, .L7001507C -/* 015C70 70015070 AFAE002C */ sw $t6, 0x2c($sp) -/* 015C74 70015074 1000006A */ b .L70015220 -/* 015C78 70015078 2402FFFF */ li $v0, -1 -.L7001507C: -/* 015C7C 7001507C 0C005798 */ jal __osSiGetAccess -/* 015C80 70015080 00000000 */ nop -/* 015C84 70015084 8FA40038 */ lw $a0, 0x38($sp) -/* 015C88 70015088 0C00557F */ jal __osEepStatus -/* 015C8C 7001508C 27A50028 */ addiu $a1, $sp, 0x28 -/* 015C90 70015090 AFA20034 */ sw $v0, 0x34($sp) -/* 015C94 70015094 8FB80034 */ lw $t8, 0x34($sp) -/* 015C98 70015098 17000005 */ bnez $t8, .L700150B0 -/* 015C9C 7001509C 00000000 */ nop -/* 015CA0 700150A0 97B90028 */ lhu $t9, 0x28($sp) -/* 015CA4 700150A4 34018000 */ li $at, 32768 -/* 015CA8 700150A8 13210003 */ beq $t9, $at, .L700150B8 -/* 015CAC 700150AC 00000000 */ nop -.L700150B0: -/* 015CB0 700150B0 1000005B */ b .L70015220 -/* 015CB4 700150B4 24020008 */ li $v0, 8 -.L700150B8: -/* 015CB8 700150B8 93A8002A */ lbu $t0, 0x2a($sp) -/* 015CBC 700150BC 31090080 */ andi $t1, $t0, 0x80 -/* 015CC0 700150C0 11200008 */ beqz $t1, .L700150E4 -/* 015CC4 700150C4 00000000 */ nop -.L700150C8: -/* 015CC8 700150C8 8FA40038 */ lw $a0, 0x38($sp) -/* 015CCC 700150CC 0C00557F */ jal __osEepStatus -/* 015CD0 700150D0 27A50028 */ addiu $a1, $sp, 0x28 -/* 015CD4 700150D4 93AA002A */ lbu $t2, 0x2a($sp) -/* 015CD8 700150D8 314B0080 */ andi $t3, $t2, 0x80 -/* 015CDC 700150DC 1560FFFA */ bnez $t3, .L700150C8 -/* 015CE0 700150E0 00000000 */ nop -.L700150E4: -/* 015CE4 700150E4 0C00548C */ jal osEepromRead_sub -/* 015CE8 700150E8 93A4003F */ lbu $a0, 0x3f($sp) -/* 015CEC 700150EC 3C058006 */ lui $a1, %hi(__osEepPifRam) # $a1, 0x8006 -/* 015CF0 700150F0 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 015CF4 700150F4 0C0057B4 */ jal __osSiRawStartDma -/* 015CF8 700150F8 24040001 */ li $a0, 1 -/* 015CFC 700150FC AFA20034 */ sw $v0, 0x34($sp) -/* 015D00 70015100 8FA40038 */ lw $a0, 0x38($sp) -/* 015D04 70015104 00002825 */ move $a1, $zero -/* 015D08 70015108 0C003774 */ jal osRecvMesg -/* 015D0C 7001510C 24060001 */ li $a2, 1 -/* 015D10 70015110 AFA00030 */ sw $zero, 0x30($sp) -.L70015114: -/* 015D14 70015114 8FAD0030 */ lw $t5, 0x30($sp) -/* 015D18 70015118 8FAF0030 */ lw $t7, 0x30($sp) -/* 015D1C 7001511C 3C018006 */ lui $at, 0x8006 -/* 015D20 70015120 000D7080 */ sll $t6, $t5, 2 -/* 015D24 70015124 002E0821 */ addu $at, $at, $t6 -/* 015D28 70015128 240C00FF */ li $t4, 255 -/* 015D2C 7001512C AC2C7D30 */ sw $t4, 0x7d30($at) -/* 015D30 70015130 25F80001 */ addiu $t8, $t7, 1 -/* 015D34 70015134 2B010010 */ slti $at, $t8, 0x10 -/* 015D38 70015138 1420FFF6 */ bnez $at, .L70015114 -/* 015D3C 7001513C AFB80030 */ sw $t8, 0x30($sp) -/* 015D40 70015140 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) # $at, 0x8006 -/* 015D44 70015144 3C058006 */ lui $a1, %hi(__osEepPifRam) # $a1, 0x8006 -/* 015D48 70015148 AC207D6C */ sw $zero, %lo(__osEepPifRam+0x3C)($at) -/* 015D4C 7001514C 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 015D50 70015150 0C0057B4 */ jal __osSiRawStartDma -/* 015D54 70015154 00002025 */ move $a0, $zero -/* 015D58 70015158 24190004 */ li $t9, 4 -/* 015D5C 7001515C 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 015D60 70015160 AFA20034 */ sw $v0, 0x34($sp) -/* 015D64 70015164 A0397CE0 */ sb $t9, %lo(__osContLastCmd)($at) -/* 015D68 70015168 8FA40038 */ lw $a0, 0x38($sp) -/* 015D6C 7001516C 00002825 */ move $a1, $zero -/* 015D70 70015170 0C003774 */ jal osRecvMesg -/* 015D74 70015174 24060001 */ li $a2, 1 -/* 015D78 70015178 AFA00030 */ sw $zero, 0x30($sp) -.L7001517C: -/* 015D7C 7001517C 8FAA0030 */ lw $t2, 0x30($sp) -/* 015D80 70015180 8FA8002C */ lw $t0, 0x2c($sp) -/* 015D84 70015184 254B0001 */ addiu $t3, $t2, 1 -/* 015D88 70015188 29610004 */ slti $at, $t3, 4 -/* 015D8C 7001518C 25090001 */ addiu $t1, $t0, 1 -/* 015D90 70015190 AFAB0030 */ sw $t3, 0x30($sp) -/* 015D94 70015194 1420FFF9 */ bnez $at, .L7001517C -/* 015D98 70015198 AFA9002C */ sw $t1, 0x2c($sp) -/* 015D9C 7001519C 8FAC002C */ lw $t4, 0x2c($sp) -/* 015DA0 700151A0 27AD001C */ addiu $t5, $sp, 0x1c -/* 015DA4 700151A4 89810000 */ lwl $at, ($t4) -/* 015DA8 700151A8 99810003 */ lwr $at, 3($t4) -/* 015DAC 700151AC ADA10000 */ sw $at, ($t5) -/* 015DB0 700151B0 898F0004 */ lwl $t7, 4($t4) -/* 015DB4 700151B4 998F0007 */ lwr $t7, 7($t4) -/* 015DB8 700151B8 ADAF0004 */ sw $t7, 4($t5) -/* 015DBC 700151BC 89810008 */ lwl $at, 8($t4) -/* 015DC0 700151C0 9981000B */ lwr $at, 0xb($t4) -/* 015DC4 700151C4 ADA10008 */ sw $at, 8($t5) -/* 015DC8 700151C8 93B8001D */ lbu $t8, 0x1d($sp) -/* 015DCC 700151CC 331900C0 */ andi $t9, $t8, 0xc0 -/* 015DD0 700151D0 00194103 */ sra $t0, $t9, 4 -/* 015DD4 700151D4 1500000F */ bnez $t0, .L70015214 -/* 015DD8 700151D8 AFA80034 */ sw $t0, 0x34($sp) -/* 015DDC 700151DC AFA00030 */ sw $zero, 0x30($sp) -.L700151E0: -/* 015DE0 700151E0 8FA90030 */ lw $t1, 0x30($sp) -/* 015DE4 700151E4 8FAB0040 */ lw $t3, 0x40($sp) -/* 015DE8 700151E8 03A95021 */ addu $t2, $sp, $t1 -/* 015DEC 700151EC 914A0020 */ lbu $t2, 0x20($t2) -/* 015DF0 700151F0 A16A0000 */ sb $t2, ($t3) -/* 015DF4 700151F4 8FAC0030 */ lw $t4, 0x30($sp) -/* 015DF8 700151F8 8FAE0040 */ lw $t6, 0x40($sp) -/* 015DFC 700151FC 258F0001 */ addiu $t7, $t4, 1 -/* 015E00 70015200 29E10008 */ slti $at, $t7, 8 -/* 015E04 70015204 25CD0001 */ addiu $t5, $t6, 1 -/* 015E08 70015208 AFAF0030 */ sw $t7, 0x30($sp) -/* 015E0C 7001520C 1420FFF4 */ bnez $at, .L700151E0 -/* 015E10 70015210 AFAD0040 */ sw $t5, 0x40($sp) -.L70015214: -/* 015E14 70015214 0C0057A9 */ jal __osSiRelAccess -/* 015E18 70015218 00000000 */ nop -/* 015E1C 7001521C 8FA20034 */ lw $v0, 0x34($sp) -.L70015220: -/* 015E20 70015220 8FBF0014 */ lw $ra, 0x14($sp) -/* 015E24 70015224 27BD0038 */ addiu $sp, $sp, 0x38 -/* 015E28 70015228 03E00008 */ jr $ra -/* 015E2C 7001522C 00000000 */ nop - -glabel osEepromRead_sub -/* 015E30 70015230 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 015E34 70015234 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 015E38 70015238 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 015E3C 7001523C 308400FF */ andi $a0, $a0, 0xff -/* 015E40 70015240 AFAE0014 */ sw $t6, 0x14($sp) -/* 015E44 70015244 AFA00004 */ sw $zero, 4($sp) -.L70015248: -/* 015E48 70015248 8FB80004 */ lw $t8, 4($sp) -/* 015E4C 7001524C 8FA80004 */ lw $t0, 4($sp) -/* 015E50 70015250 3C018006 */ lui $at, 0x8006 -/* 015E54 70015254 0018C880 */ sll $t9, $t8, 2 -/* 015E58 70015258 00390821 */ addu $at, $at, $t9 -/* 015E5C 7001525C 240F00FF */ li $t7, 255 -/* 015E60 70015260 AC2F7D30 */ sw $t7, 0x7d30($at) -/* 015E64 70015264 25090001 */ addiu $t1, $t0, 1 -/* 015E68 70015268 29210010 */ slti $at, $t1, 0x10 -/* 015E6C 7001526C 1420FFF6 */ bnez $at, .L70015248 -/* 015E70 70015270 AFA90004 */ sw $t1, 4($sp) -/* 015E74 70015274 240A0001 */ li $t2, 1 -/* 015E78 70015278 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) # $at, 0x8006 -/* 015E7C 7001527C 240B0002 */ li $t3, 2 -/* 015E80 70015280 240C0008 */ li $t4, 8 -/* 015E84 70015284 240D0004 */ li $t5, 4 -/* 015E88 70015288 AC2A7D6C */ sw $t2, %lo(__osEepPifRam+0x3C)($at) -/* 015E8C 7001528C A3AB0008 */ sb $t3, 8($sp) -/* 015E90 70015290 A3AC0009 */ sb $t4, 9($sp) -/* 015E94 70015294 A3AD000A */ sb $t5, 0xa($sp) -/* 015E98 70015298 A3A4000B */ sb $a0, 0xb($sp) -/* 015E9C 7001529C AFA00004 */ sw $zero, 4($sp) -.L700152A0: -/* 015EA0 700152A0 8FAE0004 */ lw $t6, 4($sp) -/* 015EA4 700152A4 03AEC021 */ addu $t8, $sp, $t6 -/* 015EA8 700152A8 A300000C */ sb $zero, 0xc($t8) -/* 015EAC 700152AC 8FAF0004 */ lw $t7, 4($sp) -/* 015EB0 700152B0 25F90001 */ addiu $t9, $t7, 1 -/* 015EB4 700152B4 2B210008 */ slti $at, $t9, 8 -/* 015EB8 700152B8 1420FFF9 */ bnez $at, .L700152A0 -/* 015EBC 700152BC AFB90004 */ sw $t9, 4($sp) -/* 015EC0 700152C0 AFA00004 */ sw $zero, 4($sp) -.L700152C4: -/* 015EC4 700152C4 8FA80014 */ lw $t0, 0x14($sp) -/* 015EC8 700152C8 A1000000 */ sb $zero, ($t0) -/* 015ECC 700152CC 8FAB0004 */ lw $t3, 4($sp) -/* 015ED0 700152D0 8FA90014 */ lw $t1, 0x14($sp) -/* 015ED4 700152D4 256C0001 */ addiu $t4, $t3, 1 -/* 015ED8 700152D8 29810004 */ slti $at, $t4, 4 -/* 015EDC 700152DC 252A0001 */ addiu $t2, $t1, 1 -/* 015EE0 700152E0 AFAC0004 */ sw $t4, 4($sp) -/* 015EE4 700152E4 1420FFF7 */ bnez $at, .L700152C4 -/* 015EE8 700152E8 AFAA0014 */ sw $t2, 0x14($sp) -/* 015EEC 700152EC 27AE0008 */ addiu $t6, $sp, 8 -/* 015EF0 700152F0 8DC10000 */ lw $at, ($t6) -/* 015EF4 700152F4 8FAD0014 */ lw $t5, 0x14($sp) -/* 015EF8 700152F8 240900FE */ li $t1, 254 -/* 015EFC 700152FC A9A10000 */ swl $at, ($t5) -/* 015F00 70015300 B9A10003 */ swr $at, 3($t5) -/* 015F04 70015304 8DCF0004 */ lw $t7, 4($t6) -/* 015F08 70015308 A9AF0004 */ swl $t7, 4($t5) -/* 015F0C 7001530C B9AF0007 */ swr $t7, 7($t5) -/* 015F10 70015310 8DC10008 */ lw $at, 8($t6) -/* 015F14 70015314 A9A10008 */ swl $at, 8($t5) -/* 015F18 70015318 B9A1000B */ swr $at, 0xb($t5) -/* 015F1C 7001531C 8FB90014 */ lw $t9, 0x14($sp) -/* 015F20 70015320 2728000C */ addiu $t0, $t9, 0xc -/* 015F24 70015324 AFA80014 */ sw $t0, 0x14($sp) -/* 015F28 70015328 A1090000 */ sb $t1, ($t0) -/* 015F2C 7001532C 03E00008 */ jr $ra -/* 015F30 70015330 27BD0018 */ addiu $sp, $sp, 0x18 - -/* 015F34 70015334 00000000 */ nop -/* 015F38 70015338 00000000 */ nop -/* 015F3C 7001533C 00000000 */ nop -glabel osEepromWrite -/* 015F40 70015340 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 015F44 70015344 AFA5003C */ sw $a1, 0x3c($sp) -/* 015F48 70015348 93AF003F */ lbu $t7, 0x3f($sp) -/* 015F4C 7001534C 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 015F50 70015350 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 015F54 70015354 29E10041 */ slti $at, $t7, 0x41 -/* 015F58 70015358 AFBF0014 */ sw $ra, 0x14($sp) -/* 015F5C 7001535C AFA40038 */ sw $a0, 0x38($sp) -/* 015F60 70015360 AFA60040 */ sw $a2, 0x40($sp) -/* 015F64 70015364 AFA00034 */ sw $zero, 0x34($sp) -/* 015F68 70015368 14200003 */ bnez $at, .L70015378 -/* 015F6C 7001536C AFAE002C */ sw $t6, 0x2c($sp) -/* 015F70 70015370 1000005B */ b .L700154E0 -/* 015F74 70015374 2402FFFF */ li $v0, -1 -.L70015378: -/* 015F78 70015378 0C005798 */ jal __osSiGetAccess -/* 015F7C 7001537C 00000000 */ nop -/* 015F80 70015380 8FA40038 */ lw $a0, 0x38($sp) -/* 015F84 70015384 0C00557F */ jal __osEepStatus -/* 015F88 70015388 27A5001C */ addiu $a1, $sp, 0x1c -/* 015F8C 7001538C AFA20034 */ sw $v0, 0x34($sp) -/* 015F90 70015390 8FB80034 */ lw $t8, 0x34($sp) -/* 015F94 70015394 17000005 */ bnez $t8, .L700153AC -/* 015F98 70015398 00000000 */ nop -/* 015F9C 7001539C 97B9001C */ lhu $t9, 0x1c($sp) -/* 015FA0 700153A0 34018000 */ li $at, 32768 -/* 015FA4 700153A4 13210003 */ beq $t9, $at, .L700153B4 -/* 015FA8 700153A8 00000000 */ nop -.L700153AC: -/* 015FAC 700153AC 1000004C */ b .L700154E0 -/* 015FB0 700153B0 24020008 */ li $v0, 8 -.L700153B4: -/* 015FB4 700153B4 93A8001E */ lbu $t0, 0x1e($sp) -/* 015FB8 700153B8 31090080 */ andi $t1, $t0, 0x80 -/* 015FBC 700153BC 11200008 */ beqz $t1, .L700153E0 -/* 015FC0 700153C0 00000000 */ nop -.L700153C4: -/* 015FC4 700153C4 8FA40038 */ lw $a0, 0x38($sp) -/* 015FC8 700153C8 0C00557F */ jal __osEepStatus -/* 015FCC 700153CC 27A5001C */ addiu $a1, $sp, 0x1c -/* 015FD0 700153D0 93AA001E */ lbu $t2, 0x1e($sp) -/* 015FD4 700153D4 314B0080 */ andi $t3, $t2, 0x80 -/* 015FD8 700153D8 1560FFFA */ bnez $t3, .L700153C4 -/* 015FDC 700153DC 00000000 */ nop -.L700153E0: -/* 015FE0 700153E0 93A4003F */ lbu $a0, 0x3f($sp) -/* 015FE4 700153E4 0C00553C */ jal osEepromWrite_sub -/* 015FE8 700153E8 8FA50040 */ lw $a1, 0x40($sp) -/* 015FEC 700153EC 3C058006 */ lui $a1, %hi(__osEepPifRam) # $a1, 0x8006 -/* 015FF0 700153F0 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 015FF4 700153F4 0C0057B4 */ jal __osSiRawStartDma -/* 015FF8 700153F8 24040001 */ li $a0, 1 -/* 015FFC 700153FC AFA20034 */ sw $v0, 0x34($sp) -/* 016000 70015400 8FA40038 */ lw $a0, 0x38($sp) -/* 016004 70015404 00002825 */ move $a1, $zero -/* 016008 70015408 0C003774 */ jal osRecvMesg -/* 01600C 7001540C 24060001 */ li $a2, 1 -/* 016010 70015410 AFA00030 */ sw $zero, 0x30($sp) -.L70015414: -/* 016014 70015414 8FAD0030 */ lw $t5, 0x30($sp) -/* 016018 70015418 8FAF0030 */ lw $t7, 0x30($sp) -/* 01601C 7001541C 3C018006 */ lui $at, 0x8006 -/* 016020 70015420 000D7080 */ sll $t6, $t5, 2 -/* 016024 70015424 002E0821 */ addu $at, $at, $t6 -/* 016028 70015428 240C00FF */ li $t4, 255 -/* 01602C 7001542C AC2C7D30 */ sw $t4, 0x7d30($at) -/* 016030 70015430 25F80001 */ addiu $t8, $t7, 1 -/* 016034 70015434 2B010010 */ slti $at, $t8, 0x10 -/* 016038 70015438 1420FFF6 */ bnez $at, .L70015414 -/* 01603C 7001543C AFB80030 */ sw $t8, 0x30($sp) -/* 016040 70015440 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) # $at, 0x8006 -/* 016044 70015444 3C058006 */ lui $a1, %hi(__osEepPifRam) # $a1, 0x8006 -/* 016048 70015448 AC207D6C */ sw $zero, %lo(__osEepPifRam+0x3C)($at) -/* 01604C 7001544C 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 016050 70015450 0C0057B4 */ jal __osSiRawStartDma -/* 016054 70015454 00002025 */ move $a0, $zero -/* 016058 70015458 24190005 */ li $t9, 5 -/* 01605C 7001545C 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 016060 70015460 AFA20034 */ sw $v0, 0x34($sp) -/* 016064 70015464 A0397CE0 */ sb $t9, %lo(__osContLastCmd)($at) -/* 016068 70015468 8FA40038 */ lw $a0, 0x38($sp) -/* 01606C 7001546C 00002825 */ move $a1, $zero -/* 016070 70015470 0C003774 */ jal osRecvMesg -/* 016074 70015474 24060001 */ li $a2, 1 -/* 016078 70015478 AFA00030 */ sw $zero, 0x30($sp) -.L7001547C: -/* 01607C 7001547C 8FAA0030 */ lw $t2, 0x30($sp) -/* 016080 70015480 8FA8002C */ lw $t0, 0x2c($sp) -/* 016084 70015484 254B0001 */ addiu $t3, $t2, 1 -/* 016088 70015488 29610004 */ slti $at, $t3, 4 -/* 01608C 7001548C 25090001 */ addiu $t1, $t0, 1 -/* 016090 70015490 AFAB0030 */ sw $t3, 0x30($sp) -/* 016094 70015494 1420FFF9 */ bnez $at, .L7001547C -/* 016098 70015498 AFA9002C */ sw $t1, 0x2c($sp) -/* 01609C 7001549C 8FAC002C */ lw $t4, 0x2c($sp) -/* 0160A0 700154A0 27AD0020 */ addiu $t5, $sp, 0x20 -/* 0160A4 700154A4 89810000 */ lwl $at, ($t4) -/* 0160A8 700154A8 99810003 */ lwr $at, 3($t4) -/* 0160AC 700154AC ADA10000 */ sw $at, ($t5) -/* 0160B0 700154B0 898F0004 */ lwl $t7, 4($t4) -/* 0160B4 700154B4 998F0007 */ lwr $t7, 7($t4) -/* 0160B8 700154B8 ADAF0004 */ sw $t7, 4($t5) -/* 0160BC 700154BC 89810008 */ lwl $at, 8($t4) -/* 0160C0 700154C0 9981000B */ lwr $at, 0xb($t4) -/* 0160C4 700154C4 ADA10008 */ sw $at, 8($t5) -/* 0160C8 700154C8 93B80021 */ lbu $t8, 0x21($sp) -/* 0160CC 700154CC 331900C0 */ andi $t9, $t8, 0xc0 -/* 0160D0 700154D0 00194103 */ sra $t0, $t9, 4 -/* 0160D4 700154D4 0C0057A9 */ jal __osSiRelAccess -/* 0160D8 700154D8 AFA80034 */ sw $t0, 0x34($sp) -/* 0160DC 700154DC 8FA20034 */ lw $v0, 0x34($sp) -.L700154E0: -/* 0160E0 700154E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0160E4 700154E4 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0160E8 700154E8 03E00008 */ jr $ra -/* 0160EC 700154EC 00000000 */ nop - -glabel osEepromWrite_sub -/* 0160F0 700154F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0160F4 700154F4 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 0160F8 700154F8 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 0160FC 700154FC 308400FF */ andi $a0, $a0, 0xff -/* 016100 70015500 AFAE0014 */ sw $t6, 0x14($sp) -/* 016104 70015504 AFA00004 */ sw $zero, 4($sp) -.L70015508: -/* 016108 70015508 8FB80004 */ lw $t8, 4($sp) -/* 01610C 7001550C 8FA80004 */ lw $t0, 4($sp) -/* 016110 70015510 3C018006 */ lui $at, 0x8006 -/* 016114 70015514 0018C880 */ sll $t9, $t8, 2 -/* 016118 70015518 00390821 */ addu $at, $at, $t9 -/* 01611C 7001551C 240F00FF */ li $t7, 255 -/* 016120 70015520 AC2F7D30 */ sw $t7, 0x7d30($at) -/* 016124 70015524 25090001 */ addiu $t1, $t0, 1 -/* 016128 70015528 29210010 */ slti $at, $t1, 0x10 -/* 01612C 7001552C 1420FFF6 */ bnez $at, .L70015508 -/* 016130 70015530 AFA90004 */ sw $t1, 4($sp) -/* 016134 70015534 240A0001 */ li $t2, 1 -/* 016138 70015538 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) # $at, 0x8006 -/* 01613C 7001553C 240B000A */ li $t3, 10 -/* 016140 70015540 240C0001 */ li $t4, 1 -/* 016144 70015544 240D0005 */ li $t5, 5 -/* 016148 70015548 AC2A7D6C */ sw $t2, %lo(__osEepPifRam+0x3C)($at) -/* 01614C 7001554C A3AB0008 */ sb $t3, 8($sp) -/* 016150 70015550 A3AC0009 */ sb $t4, 9($sp) -/* 016154 70015554 A3AD000A */ sb $t5, 0xa($sp) -/* 016158 70015558 A3A4000B */ sb $a0, 0xb($sp) -/* 01615C 7001555C AFA00004 */ sw $zero, 4($sp) -.L70015560: -/* 016160 70015560 8FB80004 */ lw $t8, 4($sp) -/* 016164 70015564 90AE0000 */ lbu $t6, ($a1) -/* 016168 70015568 24A50001 */ addiu $a1, $a1, 1 -/* 01616C 7001556C 03B87821 */ addu $t7, $sp, $t8 -/* 016170 70015570 A1EE000C */ sb $t6, 0xc($t7) -/* 016174 70015574 8FB90004 */ lw $t9, 4($sp) -/* 016178 70015578 27280001 */ addiu $t0, $t9, 1 -/* 01617C 7001557C 29010008 */ slti $at, $t0, 8 -/* 016180 70015580 1420FFF7 */ bnez $at, .L70015560 -/* 016184 70015584 AFA80004 */ sw $t0, 4($sp) -/* 016188 70015588 AFA00004 */ sw $zero, 4($sp) -.L7001558C: -/* 01618C 7001558C 8FA90014 */ lw $t1, 0x14($sp) -/* 016190 70015590 A1200000 */ sb $zero, ($t1) -/* 016194 70015594 8FAC0004 */ lw $t4, 4($sp) -/* 016198 70015598 8FAA0014 */ lw $t2, 0x14($sp) -/* 01619C 7001559C 258D0001 */ addiu $t5, $t4, 1 -/* 0161A0 700155A0 29A10004 */ slti $at, $t5, 4 -/* 0161A4 700155A4 254B0001 */ addiu $t3, $t2, 1 -/* 0161A8 700155A8 AFAD0004 */ sw $t5, 4($sp) -/* 0161AC 700155AC 1420FFF7 */ bnez $at, .L7001558C -/* 0161B0 700155B0 AFAB0014 */ sw $t3, 0x14($sp) -/* 0161B4 700155B4 27B80008 */ addiu $t8, $sp, 8 -/* 0161B8 700155B8 8F010000 */ lw $at, ($t8) -/* 0161BC 700155BC 8FAE0014 */ lw $t6, 0x14($sp) -/* 0161C0 700155C0 240A00FE */ li $t2, 254 -/* 0161C4 700155C4 A9C10000 */ swl $at, ($t6) -/* 0161C8 700155C8 B9C10003 */ swr $at, 3($t6) -/* 0161CC 700155CC 8F190004 */ lw $t9, 4($t8) -/* 0161D0 700155D0 A9D90004 */ swl $t9, 4($t6) -/* 0161D4 700155D4 B9D90007 */ swr $t9, 7($t6) -/* 0161D8 700155D8 8F010008 */ lw $at, 8($t8) -/* 0161DC 700155DC A9C10008 */ swl $at, 8($t6) -/* 0161E0 700155E0 B9C1000B */ swr $at, 0xb($t6) -/* 0161E4 700155E4 8FA80014 */ lw $t0, 0x14($sp) -/* 0161E8 700155E8 2509000C */ addiu $t1, $t0, 0xc -/* 0161EC 700155EC AFA90014 */ sw $t1, 0x14($sp) -/* 0161F0 700155F0 A12A0000 */ sb $t2, ($t1) -/* 0161F4 700155F4 03E00008 */ jr $ra -/* 0161F8 700155F8 27BD0018 */ addiu $sp, $sp, 0x18 - -glabel __osEepStatus -/* 0161FC 700155FC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 016200 70015600 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 016204 70015604 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 016208 70015608 AFBF0014 */ sw $ra, 0x14($sp) -/* 01620C 7001560C AFA40030 */ sw $a0, 0x30($sp) -/* 016210 70015610 AFA50034 */ sw $a1, 0x34($sp) -/* 016214 70015614 AFA0002C */ sw $zero, 0x2c($sp) -/* 016218 70015618 AFAE0024 */ sw $t6, 0x24($sp) -/* 01621C 7001561C AFA00028 */ sw $zero, 0x28($sp) -.L70015620: -/* 016220 70015620 8FAF0028 */ lw $t7, 0x28($sp) -/* 016224 70015624 8FB90028 */ lw $t9, 0x28($sp) -/* 016228 70015628 3C018006 */ lui $at, 0x8006 -/* 01622C 7001562C 000FC080 */ sll $t8, $t7, 2 -/* 016230 70015630 00380821 */ addu $at, $at, $t8 -/* 016234 70015634 AC207D30 */ sw $zero, 0x7d30($at) -/* 016238 70015638 27280001 */ addiu $t0, $t9, 1 -/* 01623C 7001563C 29010010 */ slti $at, $t0, 0x10 -/* 016240 70015640 1420FFF7 */ bnez $at, .L70015620 -/* 016244 70015644 AFA80028 */ sw $t0, 0x28($sp) -/* 016248 70015648 3C0A8006 */ lui $t2, %hi(__osEepPifRam) -/* 01624C 7001564C 24090001 */ li $t1, 1 -/* 016250 70015650 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) # $at, 0x8006 -/* 016254 70015654 254A7D30 */ addiu $t2, %lo(__osEepPifRam) # addiu $t2, $t2, 0x7d30 -/* 016258 70015658 AC297D6C */ sw $t1, %lo(__osEepPifRam+0x3C)($at) -/* 01625C 7001565C AFAA0024 */ sw $t2, 0x24($sp) -/* 016260 70015660 AFA00028 */ sw $zero, 0x28($sp) -.L70015664: -/* 016264 70015664 8FAB0024 */ lw $t3, 0x24($sp) -/* 016268 70015668 A1600000 */ sb $zero, ($t3) -/* 01626C 7001566C 8FAE0028 */ lw $t6, 0x28($sp) -/* 016270 70015670 8FAC0024 */ lw $t4, 0x24($sp) -/* 016274 70015674 25CF0001 */ addiu $t7, $t6, 1 -/* 016278 70015678 29E10004 */ slti $at, $t7, 4 -/* 01627C 7001567C 258D0001 */ addiu $t5, $t4, 1 -/* 016280 70015680 AFAF0028 */ sw $t7, 0x28($sp) -/* 016284 70015684 1420FFF7 */ bnez $at, .L70015664 -/* 016288 70015688 AFAD0024 */ sw $t5, 0x24($sp) -/* 01628C 7001568C 241800FF */ li $t8, 255 -/* 016290 70015690 24190001 */ li $t9, 1 -/* 016294 70015694 24080003 */ li $t0, 3 -/* 016298 70015698 240900FF */ li $t1, 255 -/* 01629C 7001569C 240A00FF */ li $t2, 255 -/* 0162A0 700156A0 240B00FF */ li $t3, 255 -/* 0162A4 700156A4 240C00FF */ li $t4, 255 -/* 0162A8 700156A8 A3B8001C */ sb $t8, 0x1c($sp) -/* 0162AC 700156AC A3B9001D */ sb $t9, 0x1d($sp) -/* 0162B0 700156B0 A3A8001E */ sb $t0, 0x1e($sp) -/* 0162B4 700156B4 A3A0001F */ sb $zero, 0x1f($sp) -/* 0162B8 700156B8 A3A90020 */ sb $t1, 0x20($sp) -/* 0162BC 700156BC A3AA0021 */ sb $t2, 0x21($sp) -/* 0162C0 700156C0 A3AB0022 */ sb $t3, 0x22($sp) -/* 0162C4 700156C4 A3AC0023 */ sb $t4, 0x23($sp) -/* 0162C8 700156C8 27AE001C */ addiu $t6, $sp, 0x1c -/* 0162CC 700156CC 8DC10000 */ lw $at, ($t6) -/* 0162D0 700156D0 8FAD0024 */ lw $t5, 0x24($sp) -/* 0162D4 700156D4 240A00FE */ li $t2, 254 -/* 0162D8 700156D8 3C058006 */ lui $a1, %hi(__osEepPifRam) # $a1, 0x8006 -/* 0162DC 700156DC A9A10000 */ swl $at, ($t5) -/* 0162E0 700156E0 B9A10003 */ swr $at, 3($t5) -/* 0162E4 700156E4 8DD90004 */ lw $t9, 4($t6) -/* 0162E8 700156E8 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 0162EC 700156EC 24040001 */ li $a0, 1 -/* 0162F0 700156F0 A9B90004 */ swl $t9, 4($t5) -/* 0162F4 700156F4 B9B90007 */ swr $t9, 7($t5) -/* 0162F8 700156F8 8FA80024 */ lw $t0, 0x24($sp) -/* 0162FC 700156FC 25090008 */ addiu $t1, $t0, 8 -/* 016300 70015700 AFA90024 */ sw $t1, 0x24($sp) -/* 016304 70015704 0C0057B4 */ jal __osSiRawStartDma -/* 016308 70015708 A12A0000 */ sb $t2, ($t1) -/* 01630C 7001570C AFA2002C */ sw $v0, 0x2c($sp) -/* 016310 70015710 8FA40030 */ lw $a0, 0x30($sp) -/* 016314 70015714 00002825 */ move $a1, $zero -/* 016318 70015718 0C003774 */ jal osRecvMesg -/* 01631C 7001571C 24060001 */ li $a2, 1 -/* 016320 70015720 240B0005 */ li $t3, 5 -/* 016324 70015724 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 016328 70015728 3C058006 */ lui $a1, %hi(__osEepPifRam) # $a1, 0x8006 -/* 01632C 7001572C A02B7CE0 */ sb $t3, %lo(__osContLastCmd)($at) -/* 016330 70015730 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 016334 70015734 0C0057B4 */ jal __osSiRawStartDma -/* 016338 70015738 00002025 */ move $a0, $zero -/* 01633C 7001573C AFA2002C */ sw $v0, 0x2c($sp) -/* 016340 70015740 8FA40030 */ lw $a0, 0x30($sp) -/* 016344 70015744 00002825 */ move $a1, $zero -/* 016348 70015748 0C003774 */ jal osRecvMesg -/* 01634C 7001574C 24060001 */ li $a2, 1 -/* 016350 70015750 8FAC002C */ lw $t4, 0x2c($sp) -/* 016354 70015754 11800003 */ beqz $t4, .L70015764 -/* 016358 70015758 00000000 */ nop -/* 01635C 7001575C 1000002C */ b .L70015810 -/* 016360 70015760 01801025 */ move $v0, $t4 -.L70015764: -/* 016364 70015764 3C188006 */ lui $t8, %hi(__osEepPifRam) -/* 016368 70015768 27187D30 */ addiu $t8, %lo(__osEepPifRam) # addiu $t8, $t8, 0x7d30 -/* 01636C 7001576C AFB80024 */ sw $t8, 0x24($sp) -/* 016370 70015770 AFA00028 */ sw $zero, 0x28($sp) -.L70015774: -/* 016374 70015774 8FAF0024 */ lw $t7, 0x24($sp) -/* 016378 70015778 A1E00000 */ sb $zero, ($t7) -/* 01637C 7001577C 8FB90028 */ lw $t9, 0x28($sp) -/* 016380 70015780 8FAD0024 */ lw $t5, 0x24($sp) -/* 016384 70015784 27280001 */ addiu $t0, $t9, 1 -/* 016388 70015788 29010004 */ slti $at, $t0, 4 -/* 01638C 7001578C 25AE0001 */ addiu $t6, $t5, 1 -/* 016390 70015790 AFA80028 */ sw $t0, 0x28($sp) -/* 016394 70015794 1420FFF7 */ bnez $at, .L70015774 -/* 016398 70015798 AFAE0024 */ sw $t6, 0x24($sp) -/* 01639C 7001579C 8FA90024 */ lw $t1, 0x24($sp) -/* 0163A0 700157A0 27AA001C */ addiu $t2, $sp, 0x1c -/* 0163A4 700157A4 89210000 */ lwl $at, ($t1) -/* 0163A8 700157A8 99210003 */ lwr $at, 3($t1) -/* 0163AC 700157AC AD410000 */ sw $at, ($t2) -/* 0163B0 700157B0 892C0004 */ lwl $t4, 4($t1) -/* 0163B4 700157B4 992C0007 */ lwr $t4, 7($t1) -/* 0163B8 700157B8 AD4C0004 */ sw $t4, 4($t2) -/* 0163BC 700157BC 93B8001E */ lbu $t8, 0x1e($sp) -/* 0163C0 700157C0 8FAE0034 */ lw $t6, 0x34($sp) -/* 0163C4 700157C4 330F00C0 */ andi $t7, $t8, 0xc0 -/* 0163C8 700157C8 000F6903 */ sra $t5, $t7, 4 -/* 0163CC 700157CC A1CD0003 */ sb $t5, 3($t6) -/* 0163D0 700157D0 93B90021 */ lbu $t9, 0x21($sp) -/* 0163D4 700157D4 93AB0020 */ lbu $t3, 0x20($sp) -/* 0163D8 700157D8 8FA90034 */ lw $t1, 0x34($sp) -/* 0163DC 700157DC 00194200 */ sll $t0, $t9, 8 -/* 0163E0 700157E0 010B5025 */ or $t2, $t0, $t3 -/* 0163E4 700157E4 A52A0000 */ sh $t2, ($t1) -/* 0163E8 700157E8 8FB80034 */ lw $t8, 0x34($sp) -/* 0163EC 700157EC 93AC0022 */ lbu $t4, 0x22($sp) -/* 0163F0 700157F0 A30C0002 */ sb $t4, 2($t8) -/* 0163F4 700157F4 8FAF0034 */ lw $t7, 0x34($sp) -/* 0163F8 700157F8 91ED0003 */ lbu $t5, 3($t7) -/* 0163FC 700157FC 11A00003 */ beqz $t5, .L7001580C -/* 016400 70015800 00000000 */ nop -/* 016404 70015804 10000002 */ b .L70015810 -/* 016408 70015808 01A01025 */ move $v0, $t5 -.L7001580C: -/* 01640C 7001580C 00001025 */ move $v0, $zero -.L70015810: -/* 016410 70015810 8FBF0014 */ lw $ra, 0x14($sp) -/* 016414 70015814 27BD0030 */ addiu $sp, $sp, 0x30 -/* 016418 70015818 03E00008 */ jr $ra -/* 01641C 7001581C 00000000 */ nop - -glabel osEepromLongRead -/* 016420 70015820 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 016424 70015824 AFA50044 */ sw $a1, 0x44($sp) -/* 016428 70015828 93AE0047 */ lbu $t6, 0x47($sp) -/* 01642C 7001582C AFBF0024 */ sw $ra, 0x24($sp) -/* 016430 70015830 AFA40040 */ sw $a0, 0x40($sp) -/* 016434 70015834 29C10041 */ slti $at, $t6, 0x41 -/* 016438 70015838 AFA60048 */ sw $a2, 0x48($sp) -/* 01643C 7001583C AFA7004C */ sw $a3, 0x4c($sp) -/* 016440 70015840 14200003 */ bnez $at, .L70015850 -/* 016444 70015844 AFA0003C */ sw $zero, 0x3c($sp) -/* 016448 70015848 10000040 */ b .L7001594C -/* 01644C 7001584C 2402FFFF */ li $v0, -1 -.L70015850: -/* 016450 70015850 8FAF004C */ lw $t7, 0x4c($sp) -/* 016454 70015854 19E0003C */ blez $t7, .L70015948 -/* 016458 70015858 00000000 */ nop -.L7001585C: -/* 01645C 7001585C 8FA40040 */ lw $a0, 0x40($sp) -/* 016460 70015860 93A50047 */ lbu $a1, 0x47($sp) -/* 016464 70015864 0C005410 */ jal osEepromRead -/* 016468 70015868 8FA60048 */ lw $a2, 0x48($sp) -/* 01646C 7001586C AFA2003C */ sw $v0, 0x3c($sp) -/* 016470 70015870 8FB8003C */ lw $t8, 0x3c($sp) -/* 016474 70015874 13000003 */ beqz $t8, .L70015884 -/* 016478 70015878 00000000 */ nop -/* 01647C 7001587C 10000033 */ b .L7001594C -/* 016480 70015880 03001025 */ move $v0, $t8 -.L70015884: -/* 016484 70015884 8FB9004C */ lw $t9, 0x4c($sp) -/* 016488 70015888 93A90047 */ lbu $t1, 0x47($sp) -/* 01648C 7001588C 8FAB0048 */ lw $t3, 0x48($sp) -/* 016490 70015890 3C068002 */ lui $a2, %hi(osClockRate) # $a2, 0x8002 -/* 016494 70015894 3C078002 */ lui $a3, %hi(osClockRate+4) # $a3, 0x8002 -/* 016498 70015898 2728FFF8 */ addiu $t0, $t9, -8 -/* 01649C 7001589C 252A0001 */ addiu $t2, $t1, 1 -/* 0164A0 700158A0 256C0008 */ addiu $t4, $t3, 8 -/* 0164A4 700158A4 AFA8004C */ sw $t0, 0x4c($sp) -/* 0164A8 700158A8 A3AA0047 */ sb $t2, 0x47($sp) -/* 0164AC 700158AC AFAC0048 */ sw $t4, 0x48($sp) -/* 0164B0 700158B0 8CE76984 */ lw $a3, %lo(osClockRate+4)($a3) -/* 0164B4 700158B4 8CC66980 */ lw $a2, %lo(osClockRate)($a2) -/* 0164B8 700158B8 24040000 */ li $a0, 0 -/* 0164BC 700158BC 0C003B6A */ jal __ll_mul -/* 0164C0 700158C0 24052EE0 */ li $a1, 12000 -/* 0164C4 700158C4 AFA20028 */ sw $v0, 0x28($sp) -/* 0164C8 700158C8 AFA3002C */ sw $v1, 0x2c($sp) -/* 0164CC 700158CC 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf -/* 0164D0 700158D0 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 -/* 0164D4 700158D4 8FA5002C */ lw $a1, 0x2c($sp) -/* 0164D8 700158D8 8FA40028 */ lw $a0, 0x28($sp) -/* 0164DC 700158DC 0C003B2A */ jal ull_div -/* 0164E0 700158E0 24060000 */ li $a2, 0 -/* 0164E4 700158E4 3C0D8006 */ lui $t5, %hi(__osEepromTimerQ) -/* 0164E8 700158E8 3C188006 */ lui $t8, %hi(__osEepromTimerMsg) -/* 0164EC 700158EC 27187D20 */ addiu $t8, %lo(__osEepromTimerMsg) # addiu $t8, $t8, 0x7d20 -/* 0164F0 700158F0 25AD7D08 */ addiu $t5, %lo(__osEepromTimerQ) # addiu $t5, $t5, 0x7d08 -/* 0164F4 700158F4 AFA20030 */ sw $v0, 0x30($sp) -/* 0164F8 700158F8 AFA30034 */ sw $v1, 0x34($sp) -/* 0164FC 700158FC 3C048006 */ lui $a0, %hi(__osEepromTimer) # $a0, 0x8006 -/* 016500 70015900 240E0000 */ li $t6, 0 -/* 016504 70015904 240F0000 */ li $t7, 0 -/* 016508 70015908 AFAF0014 */ sw $t7, 0x14($sp) -/* 01650C 7001590C AFAE0010 */ sw $t6, 0x10($sp) -/* 016510 70015910 24847CE8 */ addiu $a0, %lo(__osEepromTimer) # addiu $a0, $a0, 0x7ce8 -/* 016514 70015914 8FA70034 */ lw $a3, 0x34($sp) -/* 016518 70015918 8FA60030 */ lw $a2, 0x30($sp) -/* 01651C 7001591C AFAD0018 */ sw $t5, 0x18($sp) -/* 016520 70015920 0C004314 */ jal osSetTimer -/* 016524 70015924 AFB8001C */ sw $t8, 0x1c($sp) -/* 016528 70015928 3C048006 */ lui $a0, %hi(__osEepromTimerQ) # $a0, 0x8006 -/* 01652C 7001592C 24847D08 */ addiu $a0, %lo(__osEepromTimerQ) # addiu $a0, $a0, 0x7d08 -/* 016530 70015930 00002825 */ move $a1, $zero -/* 016534 70015934 0C003774 */ jal osRecvMesg -/* 016538 70015938 24060001 */ li $a2, 1 -/* 01653C 7001593C 8FB9004C */ lw $t9, 0x4c($sp) -/* 016540 70015940 1F20FFC6 */ bgtz $t9, .L7001585C -/* 016544 70015944 00000000 */ nop -.L70015948: -/* 016548 70015948 8FA2003C */ lw $v0, 0x3c($sp) -.L7001594C: -/* 01654C 7001594C 8FBF0024 */ lw $ra, 0x24($sp) -/* 016550 70015950 27BD0040 */ addiu $sp, $sp, 0x40 -/* 016554 70015954 03E00008 */ jr $ra -/* 016558 70015958 00000000 */ nop - -/* 01655C 7001595C 00000000 */ nop -glabel osEepromLongWrite -/* 016560 70015960 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 016564 70015964 AFA50044 */ sw $a1, 0x44($sp) -/* 016568 70015968 93AE0047 */ lbu $t6, 0x47($sp) -/* 01656C 7001596C AFBF0024 */ sw $ra, 0x24($sp) -/* 016570 70015970 AFA40040 */ sw $a0, 0x40($sp) -/* 016574 70015974 29C10041 */ slti $at, $t6, 0x41 -/* 016578 70015978 AFA60048 */ sw $a2, 0x48($sp) -/* 01657C 7001597C AFA7004C */ sw $a3, 0x4c($sp) -/* 016580 70015980 14200003 */ bnez $at, .L70015990 -/* 016584 70015984 AFA0003C */ sw $zero, 0x3c($sp) -/* 016588 70015988 10000040 */ b .L70015A8C -/* 01658C 7001598C 2402FFFF */ li $v0, -1 -.L70015990: -/* 016590 70015990 8FAF004C */ lw $t7, 0x4c($sp) -/* 016594 70015994 19E0003C */ blez $t7, .L70015A88 -/* 016598 70015998 00000000 */ nop -.L7001599C: -/* 01659C 7001599C 8FA40040 */ lw $a0, 0x40($sp) -/* 0165A0 700159A0 93A50047 */ lbu $a1, 0x47($sp) -/* 0165A4 700159A4 0C0054D0 */ jal osEepromWrite -/* 0165A8 700159A8 8FA60048 */ lw $a2, 0x48($sp) -/* 0165AC 700159AC AFA2003C */ sw $v0, 0x3c($sp) -/* 0165B0 700159B0 8FB8003C */ lw $t8, 0x3c($sp) -/* 0165B4 700159B4 13000003 */ beqz $t8, .L700159C4 -/* 0165B8 700159B8 00000000 */ nop -/* 0165BC 700159BC 10000033 */ b .L70015A8C -/* 0165C0 700159C0 03001025 */ move $v0, $t8 -.L700159C4: -/* 0165C4 700159C4 8FB9004C */ lw $t9, 0x4c($sp) -/* 0165C8 700159C8 93A90047 */ lbu $t1, 0x47($sp) -/* 0165CC 700159CC 8FAB0048 */ lw $t3, 0x48($sp) -/* 0165D0 700159D0 3C068002 */ lui $a2, %hi(osClockRate) # $a2, 0x8002 -/* 0165D4 700159D4 3C078002 */ lui $a3, %hi(osClockRate+4) # $a3, 0x8002 -/* 0165D8 700159D8 2728FFF8 */ addiu $t0, $t9, -8 -/* 0165DC 700159DC 252A0001 */ addiu $t2, $t1, 1 -/* 0165E0 700159E0 256C0008 */ addiu $t4, $t3, 8 -/* 0165E4 700159E4 AFA8004C */ sw $t0, 0x4c($sp) -/* 0165E8 700159E8 A3AA0047 */ sb $t2, 0x47($sp) -/* 0165EC 700159EC AFAC0048 */ sw $t4, 0x48($sp) -/* 0165F0 700159F0 8CE76984 */ lw $a3, %lo(osClockRate+4)($a3) -/* 0165F4 700159F4 8CC66980 */ lw $a2, %lo(osClockRate)($a2) -/* 0165F8 700159F8 24040000 */ li $a0, 0 -/* 0165FC 700159FC 0C003B6A */ jal __ll_mul -/* 016600 70015A00 24052EE0 */ li $a1, 12000 -/* 016604 70015A04 AFA20028 */ sw $v0, 0x28($sp) -/* 016608 70015A08 AFA3002C */ sw $v1, 0x2c($sp) -/* 01660C 70015A0C 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf -/* 016610 70015A10 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 -/* 016614 70015A14 8FA5002C */ lw $a1, 0x2c($sp) -/* 016618 70015A18 8FA40028 */ lw $a0, 0x28($sp) -/* 01661C 70015A1C 0C003B2A */ jal ull_div -/* 016620 70015A20 24060000 */ li $a2, 0 -/* 016624 70015A24 3C0D8006 */ lui $t5, %hi(__osEepromTimerQ) -/* 016628 70015A28 3C188006 */ lui $t8, %hi(__osEepromTimerMsg) -/* 01662C 70015A2C 27187D20 */ addiu $t8, %lo(__osEepromTimerMsg) # addiu $t8, $t8, 0x7d20 -/* 016630 70015A30 25AD7D08 */ addiu $t5, %lo(__osEepromTimerQ) # addiu $t5, $t5, 0x7d08 -/* 016634 70015A34 AFA20030 */ sw $v0, 0x30($sp) -/* 016638 70015A38 AFA30034 */ sw $v1, 0x34($sp) -/* 01663C 70015A3C 3C048006 */ lui $a0, %hi(__osEepromTimer) # $a0, 0x8006 -/* 016640 70015A40 240E0000 */ li $t6, 0 -/* 016644 70015A44 240F0000 */ li $t7, 0 -/* 016648 70015A48 AFAF0014 */ sw $t7, 0x14($sp) -/* 01664C 70015A4C AFAE0010 */ sw $t6, 0x10($sp) -/* 016650 70015A50 24847CE8 */ addiu $a0, %lo(__osEepromTimer) # addiu $a0, $a0, 0x7ce8 -/* 016654 70015A54 8FA70034 */ lw $a3, 0x34($sp) -/* 016658 70015A58 8FA60030 */ lw $a2, 0x30($sp) -/* 01665C 70015A5C AFAD0018 */ sw $t5, 0x18($sp) -/* 016660 70015A60 0C004314 */ jal osSetTimer -/* 016664 70015A64 AFB8001C */ sw $t8, 0x1c($sp) -/* 016668 70015A68 3C048006 */ lui $a0, %hi(__osEepromTimerQ) # $a0, 0x8006 -/* 01666C 70015A6C 24847D08 */ addiu $a0, %lo(__osEepromTimerQ) # addiu $a0, $a0, 0x7d08 -/* 016670 70015A70 00002825 */ move $a1, $zero -/* 016674 70015A74 0C003774 */ jal osRecvMesg -/* 016678 70015A78 24060001 */ li $a2, 1 -/* 01667C 70015A7C 8FB9004C */ lw $t9, 0x4c($sp) -/* 016680 70015A80 1F20FFC6 */ bgtz $t9, .L7001599C -/* 016684 70015A84 00000000 */ nop -.L70015A88: -/* 016688 70015A88 8FA2003C */ lw $v0, 0x3c($sp) -.L70015A8C: -/* 01668C 70015A8C 8FBF0024 */ lw $ra, 0x24($sp) -/* 016690 70015A90 27BD0040 */ addiu $sp, $sp, 0x40 -/* 016694 70015A94 03E00008 */ jr $ra -/* 016698 70015A98 00000000 */ nop - -/* 01669C 70015A9C 00000000 */ nop -glabel osPfsIsPlug -/* 0166A0 70015AA0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0166A4 70015AA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0166A8 70015AA8 240E0003 */ li $t6, 3 -/* 0166AC 70015AAC AFA40040 */ sw $a0, 0x40($sp) -/* 0166B0 70015AB0 AFA50044 */ sw $a1, 0x44($sp) -/* 0166B4 70015AB4 AFA0003C */ sw $zero, 0x3c($sp) -/* 0166B8 70015AB8 A3A0001F */ sb $zero, 0x1f($sp) -/* 0166BC 70015ABC 0C005798 */ jal __osSiGetAccess -/* 0166C0 70015AC0 AFAE0018 */ sw $t6, 0x18($sp) -.L70015AC4: -/* 0166C4 70015AC4 0C005710 */ jal __osPfsRequestData -/* 0166C8 70015AC8 00002025 */ move $a0, $zero -/* 0166CC 70015ACC 3C058006 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8006 -/* 0166D0 70015AD0 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 0166D4 70015AD4 0C0057B4 */ jal __osSiRawStartDma -/* 0166D8 70015AD8 24040001 */ li $a0, 1 -/* 0166DC 70015ADC AFA2003C */ sw $v0, 0x3c($sp) -/* 0166E0 70015AE0 8FA40040 */ lw $a0, 0x40($sp) -/* 0166E4 70015AE4 27A50038 */ addiu $a1, $sp, 0x38 -/* 0166E8 70015AE8 0C003774 */ jal osRecvMesg -/* 0166EC 70015AEC 24060001 */ li $a2, 1 -/* 0166F0 70015AF0 3C058006 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8006 -/* 0166F4 70015AF4 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 0166F8 70015AF8 0C0057B4 */ jal __osSiRawStartDma -/* 0166FC 70015AFC 00002025 */ move $a0, $zero -/* 016700 70015B00 AFA2003C */ sw $v0, 0x3c($sp) -/* 016704 70015B04 8FA40040 */ lw $a0, 0x40($sp) -/* 016708 70015B08 27A50038 */ addiu $a1, $sp, 0x38 -/* 01670C 70015B0C 0C003774 */ jal osRecvMesg -/* 016710 70015B10 24060001 */ li $a2, 1 -/* 016714 70015B14 27A40037 */ addiu $a0, $sp, 0x37 -/* 016718 70015B18 0C00574F */ jal __osPfsGetInitData -/* 01671C 70015B1C 27A50024 */ addiu $a1, $sp, 0x24 -/* 016720 70015B20 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 016724 70015B24 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 016728 70015B28 AFA00020 */ sw $zero, 0x20($sp) -/* 01672C 70015B2C 19E00014 */ blez $t7, .L70015B80 -/* 016730 70015B30 00000000 */ nop -.L70015B34: -/* 016734 70015B34 8FB80020 */ lw $t8, 0x20($sp) -/* 016738 70015B38 0018C880 */ sll $t9, $t8, 2 -/* 01673C 70015B3C 03B94021 */ addu $t0, $sp, $t9 -/* 016740 70015B40 91080026 */ lbu $t0, 0x26($t0) -/* 016744 70015B44 31090004 */ andi $t1, $t0, 4 -/* 016748 70015B48 15200005 */ bnez $t1, .L70015B60 -/* 01674C 70015B4C 00000000 */ nop -/* 016750 70015B50 8FAA0018 */ lw $t2, 0x18($sp) -/* 016754 70015B54 254BFFFF */ addiu $t3, $t2, -1 -/* 016758 70015B58 10000009 */ b .L70015B80 -/* 01675C 70015B5C AFAB0018 */ sw $t3, 0x18($sp) -.L70015B60: -/* 016760 70015B60 8FAC0020 */ lw $t4, 0x20($sp) -/* 016764 70015B64 3C0E8006 */ lui $t6, %hi(__osMaxControllers) -/* 016768 70015B68 91CE7CE1 */ lbu $t6, %lo(__osMaxControllers)($t6) -/* 01676C 70015B6C 258D0001 */ addiu $t5, $t4, 1 -/* 016770 70015B70 AFAD0020 */ sw $t5, 0x20($sp) -/* 016774 70015B74 01AE082A */ slt $at, $t5, $t6 -/* 016778 70015B78 1420FFEE */ bnez $at, .L70015B34 -/* 01677C 70015B7C 00000000 */ nop -.L70015B80: -/* 016780 70015B80 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 016784 70015B84 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 016788 70015B88 8FB80020 */ lw $t8, 0x20($sp) -/* 01678C 70015B8C 15F80002 */ bne $t7, $t8, .L70015B98 -/* 016790 70015B90 00000000 */ nop -/* 016794 70015B94 AFA00018 */ sw $zero, 0x18($sp) -.L70015B98: -/* 016798 70015B98 8FB90018 */ lw $t9, 0x18($sp) -/* 01679C 70015B9C 1F20FFC9 */ bgtz $t9, .L70015AC4 -/* 0167A0 70015BA0 00000000 */ nop -/* 0167A4 70015BA4 3C088006 */ lui $t0, %hi(__osMaxControllers) # $t0, 0x8006 -/* 0167A8 70015BA8 91087CE1 */ lbu $t0, %lo(__osMaxControllers)($t0) -/* 0167AC 70015BAC AFA00020 */ sw $zero, 0x20($sp) -/* 0167B0 70015BB0 19000019 */ blez $t0, .L70015C18 -/* 0167B4 70015BB4 00000000 */ nop -.L70015BB8: -/* 0167B8 70015BB8 8FA90020 */ lw $t1, 0x20($sp) -/* 0167BC 70015BBC 27AB0024 */ addiu $t3, $sp, 0x24 -/* 0167C0 70015BC0 00095080 */ sll $t2, $t1, 2 -/* 0167C4 70015BC4 014B6021 */ addu $t4, $t2, $t3 -/* 0167C8 70015BC8 918D0003 */ lbu $t5, 3($t4) -/* 0167CC 70015BCC 15A0000A */ bnez $t5, .L70015BF8 -/* 0167D0 70015BD0 00000000 */ nop -/* 0167D4 70015BD4 918E0002 */ lbu $t6, 2($t4) -/* 0167D8 70015BD8 31CF0001 */ andi $t7, $t6, 1 -/* 0167DC 70015BDC 11E00006 */ beqz $t7, .L70015BF8 -/* 0167E0 70015BE0 00000000 */ nop -/* 0167E4 70015BE4 93B8001F */ lbu $t8, 0x1f($sp) -/* 0167E8 70015BE8 24190001 */ li $t9, 1 -/* 0167EC 70015BEC 01394004 */ sllv $t0, $t9, $t1 -/* 0167F0 70015BF0 03085025 */ or $t2, $t8, $t0 -/* 0167F4 70015BF4 A3AA001F */ sb $t2, 0x1f($sp) -.L70015BF8: -/* 0167F8 70015BF8 8FAB0020 */ lw $t3, 0x20($sp) -/* 0167FC 70015BFC 3C0C8006 */ lui $t4, %hi(__osMaxControllers) -/* 016800 70015C00 918C7CE1 */ lbu $t4, %lo(__osMaxControllers)($t4) -/* 016804 70015C04 256D0001 */ addiu $t5, $t3, 1 -/* 016808 70015C08 AFAD0020 */ sw $t5, 0x20($sp) -/* 01680C 70015C0C 01AC082A */ slt $at, $t5, $t4 -/* 016810 70015C10 1420FFE9 */ bnez $at, .L70015BB8 -/* 016814 70015C14 00000000 */ nop -.L70015C18: -/* 016818 70015C18 0C0057A9 */ jal __osSiRelAccess -/* 01681C 70015C1C 00000000 */ nop -/* 016820 70015C20 93AE001F */ lbu $t6, 0x1f($sp) -/* 016824 70015C24 8FAF0044 */ lw $t7, 0x44($sp) -/* 016828 70015C28 A1EE0000 */ sb $t6, ($t7) -/* 01682C 70015C2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 016830 70015C30 8FA2003C */ lw $v0, 0x3c($sp) -/* 016834 70015C34 27BD0040 */ addiu $sp, $sp, 0x40 -/* 016838 70015C38 03E00008 */ jr $ra -/* 01683C 70015C3C 00000000 */ nop - -glabel __osPfsRequestData -/* 016840 70015C40 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 016844 70015C44 308400FF */ andi $a0, $a0, 0xff -/* 016848 70015C48 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 01684C 70015C4C A0247CE0 */ sb $a0, %lo(__osContLastCmd)($at) -/* 016850 70015C50 AFA00000 */ sw $zero, ($sp) -.L70015C54: -/* 016854 70015C54 8FAE0000 */ lw $t6, ($sp) -/* 016858 70015C58 8FB80000 */ lw $t8, ($sp) -/* 01685C 70015C5C 3C018006 */ lui $at, 0x8006 -/* 016860 70015C60 000E7880 */ sll $t7, $t6, 2 -/* 016864 70015C64 002F0821 */ addu $at, $at, $t7 -/* 016868 70015C68 AC207D70 */ sw $zero, 0x7d70($at) -/* 01686C 70015C6C 27190001 */ addiu $t9, $t8, 1 -/* 016870 70015C70 2B210010 */ slti $at, $t9, 0x10 -/* 016874 70015C74 1420FFF7 */ bnez $at, .L70015C54 -/* 016878 70015C78 AFB90000 */ sw $t9, ($sp) -/* 01687C 70015C7C 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 016880 70015C80 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 016884 70015C84 3C098006 */ lui $t1, %hi(__osPfsPifRam) -/* 016888 70015C88 24080001 */ li $t0, 1 -/* 01688C 70015C8C 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) # $at, 0x8006 -/* 016890 70015C90 25297D70 */ addiu $t1, %lo(__osPfsPifRam) # addiu $t1, $t1, 0x7d70 -/* 016894 70015C94 240A00FF */ li $t2, 255 -/* 016898 70015C98 240B0001 */ li $t3, 1 -/* 01689C 70015C9C 240C0003 */ li $t4, 3 -/* 0168A0 70015CA0 240D00FF */ li $t5, 255 -/* 0168A4 70015CA4 240E00FF */ li $t6, 255 -/* 0168A8 70015CA8 240F00FF */ li $t7, 255 -/* 0168AC 70015CAC 241800FF */ li $t8, 255 -/* 0168B0 70015CB0 AC287DAC */ sw $t0, %lo(__osPfsPifRam+0x3c)($at) -/* 0168B4 70015CB4 AFA9000C */ sw $t1, 0xc($sp) -/* 0168B8 70015CB8 A3AA0004 */ sb $t2, 4($sp) -/* 0168BC 70015CBC A3AB0005 */ sb $t3, 5($sp) -/* 0168C0 70015CC0 A3AC0006 */ sb $t4, 6($sp) -/* 0168C4 70015CC4 A3A40007 */ sb $a0, 7($sp) -/* 0168C8 70015CC8 A3AD0008 */ sb $t5, 8($sp) -/* 0168CC 70015CCC A3AE0009 */ sb $t6, 9($sp) -/* 0168D0 70015CD0 A3AF000A */ sb $t7, 0xa($sp) -/* 0168D4 70015CD4 A3B8000B */ sb $t8, 0xb($sp) -/* 0168D8 70015CD8 1B200013 */ blez $t9, .L70015D28 -/* 0168DC 70015CDC AFA00000 */ sw $zero, ($sp) -.L70015CE0: -/* 0168E0 70015CE0 27A90004 */ addiu $t1, $sp, 4 -/* 0168E4 70015CE4 8D210000 */ lw $at, ($t1) -/* 0168E8 70015CE8 8FA8000C */ lw $t0, 0xc($sp) -/* 0168EC 70015CEC 3C188006 */ lui $t8, %hi(__osMaxControllers) -/* 0168F0 70015CF0 A9010000 */ swl $at, ($t0) -/* 0168F4 70015CF4 B9010003 */ swr $at, 3($t0) -/* 0168F8 70015CF8 8D2B0004 */ lw $t3, 4($t1) -/* 0168FC 70015CFC A90B0004 */ swl $t3, 4($t0) -/* 016900 70015D00 B90B0007 */ swr $t3, 7($t0) -/* 016904 70015D04 8FAE0000 */ lw $t6, ($sp) -/* 016908 70015D08 93187CE1 */ lbu $t8, %lo(__osMaxControllers)($t8) -/* 01690C 70015D0C 8FAC000C */ lw $t4, 0xc($sp) -/* 016910 70015D10 25CF0001 */ addiu $t7, $t6, 1 -/* 016914 70015D14 01F8082A */ slt $at, $t7, $t8 -/* 016918 70015D18 258D0008 */ addiu $t5, $t4, 8 -/* 01691C 70015D1C AFAF0000 */ sw $t7, ($sp) -/* 016920 70015D20 1420FFEF */ bnez $at, .L70015CE0 -/* 016924 70015D24 AFAD000C */ sw $t5, 0xc($sp) -.L70015D28: -/* 016928 70015D28 8FAA000C */ lw $t2, 0xc($sp) -/* 01692C 70015D2C 241900FE */ li $t9, 254 -/* 016930 70015D30 27BD0010 */ addiu $sp, $sp, 0x10 -/* 016934 70015D34 03E00008 */ jr $ra -/* 016938 70015D38 A1590000 */ sb $t9, ($t2) - -glabel __osPfsGetInitData -/* 01693C 70015D3C 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 016940 70015D40 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 016944 70015D44 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 016948 70015D48 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 01694C 70015D4C 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 016950 70015D50 A3A00007 */ sb $zero, 7($sp) -/* 016954 70015D54 AFAE0014 */ sw $t6, 0x14($sp) -/* 016958 70015D58 19E00028 */ blez $t7, .L70015DFC -/* 01695C 70015D5C AFA00008 */ sw $zero, 8($sp) -.L70015D60: -/* 016960 70015D60 8FB90014 */ lw $t9, 0x14($sp) -/* 016964 70015D64 27B8000C */ addiu $t8, $sp, 0xc -/* 016968 70015D68 8B210000 */ lwl $at, ($t9) -/* 01696C 70015D6C 9B210003 */ lwr $at, 3($t9) -/* 016970 70015D70 AF010000 */ sw $at, ($t8) -/* 016974 70015D74 8B290004 */ lwl $t1, 4($t9) -/* 016978 70015D78 9B290007 */ lwr $t1, 7($t9) -/* 01697C 70015D7C AF090004 */ sw $t1, 4($t8) -/* 016980 70015D80 93AA000E */ lbu $t2, 0xe($sp) -/* 016984 70015D84 314B00C0 */ andi $t3, $t2, 0xc0 -/* 016988 70015D88 000B6103 */ sra $t4, $t3, 4 -/* 01698C 70015D8C A0AC0003 */ sb $t4, 3($a1) -/* 016990 70015D90 90AD0003 */ lbu $t5, 3($a1) -/* 016994 70015D94 15A0000E */ bnez $t5, .L70015DD0 -/* 016998 70015D98 00000000 */ nop -/* 01699C 70015D9C 93AE0011 */ lbu $t6, 0x11($sp) -/* 0169A0 70015DA0 93A80010 */ lbu $t0, 0x10($sp) -/* 0169A4 70015DA4 240B0001 */ li $t3, 1 -/* 0169A8 70015DA8 000E7A00 */ sll $t7, $t6, 8 -/* 0169AC 70015DAC 01E8C025 */ or $t8, $t7, $t0 -/* 0169B0 70015DB0 A4B80000 */ sh $t8, ($a1) -/* 0169B4 70015DB4 93B90012 */ lbu $t9, 0x12($sp) -/* 0169B8 70015DB8 A0B90002 */ sb $t9, 2($a1) -/* 0169BC 70015DBC 8FAA0008 */ lw $t2, 8($sp) -/* 0169C0 70015DC0 93A90007 */ lbu $t1, 7($sp) -/* 0169C4 70015DC4 014B6004 */ sllv $t4, $t3, $t2 -/* 0169C8 70015DC8 012C6825 */ or $t5, $t1, $t4 -/* 0169CC 70015DCC A3AD0007 */ sb $t5, 7($sp) -.L70015DD0: -/* 0169D0 70015DD0 8FAE0008 */ lw $t6, 8($sp) -/* 0169D4 70015DD4 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 0169D8 70015DD8 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 0169DC 70015DDC 8FA80014 */ lw $t0, 0x14($sp) -/* 0169E0 70015DE0 25CF0001 */ addiu $t7, $t6, 1 -/* 0169E4 70015DE4 01F9082A */ slt $at, $t7, $t9 -/* 0169E8 70015DE8 25180008 */ addiu $t8, $t0, 8 -/* 0169EC 70015DEC AFB80014 */ sw $t8, 0x14($sp) -/* 0169F0 70015DF0 AFAF0008 */ sw $t7, 8($sp) -/* 0169F4 70015DF4 1420FFDA */ bnez $at, .L70015D60 -/* 0169F8 70015DF8 24A50004 */ addiu $a1, $a1, 4 -.L70015DFC: -/* 0169FC 70015DFC 93AB0007 */ lbu $t3, 7($sp) -/* 016A00 70015E00 27BD0018 */ addiu $sp, $sp, 0x18 -/* 016A04 70015E04 03E00008 */ jr $ra -/* 016A08 70015E08 A08B0000 */ sb $t3, ($a0) - -/* 016A0C 70015E0C 00000000 */ nop -glabel __osSiCreateAccessQueue -/* 016A10 70015E10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 016A14 70015E14 AFBF0014 */ sw $ra, 0x14($sp) -/* 016A18 70015E18 240E0001 */ li $t6, 1 -/* 016A1C 70015E1C 3C018002 */ lui $at, %hi(__osSiAccessQueueEnabled) # $at, 0x8002 -/* 016A20 70015E20 3C048006 */ lui $a0, %hi(__osSiAccessQueue) # $a0, 0x8006 -/* 016A24 70015E24 3C058006 */ lui $a1, %hi(__osSiAccessBuf) # $a1, 0x8006 -/* 016A28 70015E28 AC2E77C0 */ sw $t6, %lo(__osSiAccessQueueEnabled)($at) -/* 016A2C 70015E2C 24A57DB0 */ addiu $a1, %lo(__osSiAccessBuf) # addiu $a1, $a1, 0x7db0 -/* 016A30 70015E30 24847DB8 */ addiu $a0, %lo(__osSiAccessQueue) # addiu $a0, $a0, 0x7db8 -/* 016A34 70015E34 0C0035B4 */ jal osCreateMesgQueue -/* 016A38 70015E38 24060001 */ li $a2, 1 -/* 016A3C 70015E3C 3C048006 */ lui $a0, %hi(__osSiAccessQueue) # $a0, 0x8006 -/* 016A40 70015E40 24847DB8 */ addiu $a0, %lo(__osSiAccessQueue) # addiu $a0, $a0, 0x7db8 -/* 016A44 70015E44 00002825 */ move $a1, $zero -/* 016A48 70015E48 0C0037C4 */ jal osSendMesg -/* 016A4C 70015E4C 00003025 */ move $a2, $zero -/* 016A50 70015E50 8FBF0014 */ lw $ra, 0x14($sp) -/* 016A54 70015E54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 016A58 70015E58 03E00008 */ jr $ra -/* 016A5C 70015E5C 00000000 */ nop - -glabel __osSiGetAccess -/* 016A60 70015E60 3C0E8002 */ lui $t6, %hi(__osSiAccessQueueEnabled) -/* 016A64 70015E64 8DCE77C0 */ lw $t6, %lo(__osSiAccessQueueEnabled)($t6) -/* 016A68 70015E68 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 016A6C 70015E6C AFBF0014 */ sw $ra, 0x14($sp) -/* 016A70 70015E70 15C00003 */ bnez $t6, .L70015E80 -/* 016A74 70015E74 00000000 */ nop -/* 016A78 70015E78 0C005784 */ jal __osSiCreateAccessQueue -/* 016A7C 70015E7C 00000000 */ nop -.L70015E80: -/* 016A80 70015E80 3C048006 */ lui $a0, %hi(__osSiAccessQueue) # $a0, 0x8006 -/* 016A84 70015E84 24847DB8 */ addiu $a0, %lo(__osSiAccessQueue) # addiu $a0, $a0, 0x7db8 -/* 016A88 70015E88 27A5001C */ addiu $a1, $sp, 0x1c -/* 016A8C 70015E8C 0C003774 */ jal osRecvMesg -/* 016A90 70015E90 24060001 */ li $a2, 1 -/* 016A94 70015E94 8FBF0014 */ lw $ra, 0x14($sp) -/* 016A98 70015E98 27BD0020 */ addiu $sp, $sp, 0x20 -/* 016A9C 70015E9C 03E00008 */ jr $ra -/* 016AA0 70015EA0 00000000 */ nop - -glabel __osSiRelAccess -/* 016AA4 70015EA4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 016AA8 70015EA8 AFBF0014 */ sw $ra, 0x14($sp) -/* 016AAC 70015EAC 3C048006 */ lui $a0, %hi(__osSiAccessQueue) # $a0, 0x8006 -/* 016AB0 70015EB0 24847DB8 */ addiu $a0, %lo(__osSiAccessQueue) # addiu $a0, $a0, 0x7db8 -/* 016AB4 70015EB4 00002825 */ move $a1, $zero -/* 016AB8 70015EB8 0C0037C4 */ jal osSendMesg -/* 016ABC 70015EBC 00003025 */ move $a2, $zero -/* 016AC0 70015EC0 8FBF0014 */ lw $ra, 0x14($sp) -/* 016AC4 70015EC4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 016AC8 70015EC8 03E00008 */ jr $ra -/* 016ACC 70015ECC 00000000 */ nop - -.section .data -__osSiAccessQueueEnabled: -glabel __osSiAccessQueueEnabled -.word 0 - -.section .text -glabel __osSiRawStartDma -/* 016AD0 70015ED0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 016AD4 70015ED4 AFBF0014 */ sw $ra, 0x14($sp) -/* 016AD8 70015ED8 AFA40018 */ sw $a0, 0x18($sp) -/* 016ADC 70015EDC 0C007DC8 */ jal __osSiDeviceBusy -/* 016AE0 70015EE0 AFA5001C */ sw $a1, 0x1c($sp) -/* 016AE4 70015EE4 10400003 */ beqz $v0, .L70015EF4 -/* 016AE8 70015EE8 00000000 */ nop -/* 016AEC 70015EEC 1000001F */ b .L70015F6C -/* 016AF0 70015EF0 2402FFFF */ li $v0, -1 -.L70015EF4: -/* 016AF4 70015EF4 8FAE0018 */ lw $t6, 0x18($sp) -/* 016AF8 70015EF8 24010001 */ li $at, 1 -/* 016AFC 70015EFC 15C10004 */ bne $t6, $at, .L70015F10 -/* 016B00 70015F00 00000000 */ nop -/* 016B04 70015F04 8FA4001C */ lw $a0, 0x1c($sp) -/* 016B08 70015F08 0C0042F4 */ jal osWritebackDCache -/* 016B0C 70015F0C 24050040 */ li $a1, 64 -.L70015F10: -/* 016B10 70015F10 0C003A2C */ jal osVirtualToPhysical -/* 016B14 70015F14 8FA4001C */ lw $a0, 0x1c($sp) -/* 016B18 70015F18 3C0FA480 */ lui $t7, 0xa480 -/* 016B1C 70015F1C ADE20000 */ sw $v0, ($t7) -/* 016B20 70015F20 8FB80018 */ lw $t8, 0x18($sp) -/* 016B24 70015F24 17000006 */ bnez $t8, .L70015F40 -/* 016B28 70015F28 00000000 */ nop -/* 016B2C 70015F2C 3C191FC0 */ lui $t9, (0x1FC007C0 >> 16) # lui $t9, 0x1fc0 -/* 016B30 70015F30 373907C0 */ ori $t9, (0x1FC007C0 & 0xFFFF) # ori $t9, $t9, 0x7c0 -/* 016B34 70015F34 3C08A480 */ lui $t0, %hi(SI_PIF_ADDR_RD64B_REG) # $t0, 0xa480 -/* 016B38 70015F38 10000005 */ b .L70015F50 -/* 016B3C 70015F3C AD190004 */ sw $t9, %lo(SI_PIF_ADDR_RD64B_REG)($t0) -.L70015F40: -/* 016B40 70015F40 3C091FC0 */ lui $t1, (0x1FC007C0 >> 16) # lui $t1, 0x1fc0 -/* 016B44 70015F44 352907C0 */ ori $t1, (0x1FC007C0 & 0xFFFF) # ori $t1, $t1, 0x7c0 -/* 016B48 70015F48 3C0AA480 */ lui $t2, %hi(SI_PIF_ADDR_WR64B_REG) # $t2, 0xa480 -/* 016B4C 70015F4C AD490010 */ sw $t1, %lo(SI_PIF_ADDR_WR64B_REG)($t2) -.L70015F50: -/* 016B50 70015F50 8FAB0018 */ lw $t3, 0x18($sp) -/* 016B54 70015F54 15600004 */ bnez $t3, .L70015F68 -/* 016B58 70015F58 00000000 */ nop -/* 016B5C 70015F5C 8FA4001C */ lw $a0, 0x1c($sp) -/* 016B60 70015F60 0C0042C8 */ jal osInvalDCache -/* 016B64 70015F64 24050040 */ li $a1, 64 -.L70015F68: -/* 016B68 70015F68 00001025 */ move $v0, $zero -.L70015F6C: -/* 016B6C 70015F6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 016B70 70015F70 27BD0018 */ addiu $sp, $sp, 0x18 -/* 016B74 70015F74 03E00008 */ jr $ra -/* 016B78 70015F78 00000000 */ nop - -/* 016B7C 70015F7C 00000000 */ nop -glabel __osContAddressCrc -/* 016B80 70015F80 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 016B84 70015F84 3084FFFF */ andi $a0, $a0, 0xffff -/* 016B88 70015F88 A3A0000F */ sb $zero, 0xf($sp) -/* 016B8C 70015F8C AFA00008 */ sw $zero, 8($sp) -.L70015F90: -/* 016B90 70015F90 93AE000F */ lbu $t6, 0xf($sp) -/* 016B94 70015F94 31CF0010 */ andi $t7, $t6, 0x10 -/* 016B98 70015F98 11E00004 */ beqz $t7, .L70015FAC -/* 016B9C 70015F9C 00000000 */ nop -/* 016BA0 70015FA0 24180015 */ li $t8, 21 -/* 016BA4 70015FA4 10000002 */ b .L70015FB0 -/* 016BA8 70015FA8 A3B8000E */ sb $t8, 0xe($sp) -.L70015FAC: -/* 016BAC 70015FAC A3A0000E */ sb $zero, 0xe($sp) -.L70015FB0: -/* 016BB0 70015FB0 93B9000F */ lbu $t9, 0xf($sp) -/* 016BB4 70015FB4 30890400 */ andi $t1, $a0, 0x400 -/* 016BB8 70015FB8 00194040 */ sll $t0, $t9, 1 -/* 016BBC 70015FBC 11200003 */ beqz $t1, .L70015FCC -/* 016BC0 70015FC0 A3A8000F */ sb $t0, 0xf($sp) -/* 016BC4 70015FC4 10000002 */ b .L70015FD0 -/* 016BC8 70015FC8 24050001 */ li $a1, 1 -.L70015FCC: -/* 016BCC 70015FCC 00002825 */ move $a1, $zero -.L70015FD0: -/* 016BD0 70015FD0 93AA000F */ lbu $t2, 0xf($sp) -/* 016BD4 70015FD4 8FA80008 */ lw $t0, 8($sp) -/* 016BD8 70015FD8 93AF000E */ lbu $t7, 0xe($sp) -/* 016BDC 70015FDC 30AB00FF */ andi $t3, $a1, 0xff -/* 016BE0 70015FE0 00046840 */ sll $t5, $a0, 1 -/* 016BE4 70015FE4 014B6025 */ or $t4, $t2, $t3 -/* 016BE8 70015FE8 01A02025 */ move $a0, $t5 -/* 016BEC 70015FEC 319800FF */ andi $t8, $t4, 0xff -/* 016BF0 70015FF0 25090001 */ addiu $t1, $t0, 1 -/* 016BF4 70015FF4 29210010 */ slti $at, $t1, 0x10 -/* 016BF8 70015FF8 A3AC000F */ sb $t4, 0xf($sp) -/* 016BFC 70015FFC 308EFFFF */ andi $t6, $a0, 0xffff -/* 016C00 70016000 030FC826 */ xor $t9, $t8, $t7 -/* 016C04 70016004 AFA90008 */ sw $t1, 8($sp) -/* 016C08 70016008 01C02025 */ move $a0, $t6 -/* 016C0C 7001600C 1420FFE0 */ bnez $at, .L70015F90 -/* 016C10 70016010 A3B9000F */ sb $t9, 0xf($sp) -/* 016C14 70016014 93A2000F */ lbu $v0, 0xf($sp) -/* 016C18 70016018 27BD0010 */ addiu $sp, $sp, 0x10 -/* 016C1C 7001601C 304A001F */ andi $t2, $v0, 0x1f -/* 016C20 70016020 01401025 */ move $v0, $t2 -/* 016C24 70016024 304B00FF */ andi $t3, $v0, 0xff -/* 016C28 70016028 03E00008 */ jr $ra -/* 016C2C 7001602C 01601025 */ move $v0, $t3 - -glabel __osContDataCrc -/* 016C30 70016030 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 016C34 70016034 A3A0000F */ sb $zero, 0xf($sp) -/* 016C38 70016038 AFA00008 */ sw $zero, 8($sp) -.L7001603C: -/* 016C3C 7001603C 240E0007 */ li $t6, 7 -/* 016C40 70016040 AFAE0004 */ sw $t6, 4($sp) -.L70016044: -/* 016C44 70016044 93AF000F */ lbu $t7, 0xf($sp) -/* 016C48 70016048 31F80080 */ andi $t8, $t7, 0x80 -/* 016C4C 7001604C 13000004 */ beqz $t8, .L70016060 -/* 016C50 70016050 00000000 */ nop -/* 016C54 70016054 24190085 */ li $t9, 133 -/* 016C58 70016058 10000002 */ b .L70016064 -/* 016C5C 7001605C A3B9000E */ sb $t9, 0xe($sp) -.L70016060: -/* 016C60 70016060 A3A0000E */ sb $zero, 0xe($sp) -.L70016064: -/* 016C64 70016064 93A8000F */ lbu $t0, 0xf($sp) -/* 016C68 70016068 8FAA0008 */ lw $t2, 8($sp) -/* 016C6C 7001606C 24010020 */ li $at, 32 -/* 016C70 70016070 00084840 */ sll $t1, $t0, 1 -/* 016C74 70016074 15410004 */ bne $t2, $at, .L70016088 -/* 016C78 70016078 A3A9000F */ sb $t1, 0xf($sp) -/* 016C7C 7001607C 312B00FF */ andi $t3, $t1, 0xff -/* 016C80 70016080 1000000E */ b .L700160BC -/* 016C84 70016084 A3AB000F */ sb $t3, 0xf($sp) -.L70016088: -/* 016C88 70016088 8FAD0004 */ lw $t5, 4($sp) -/* 016C8C 7001608C 908C0000 */ lbu $t4, ($a0) -/* 016C90 70016090 240E0001 */ li $t6, 1 -/* 016C94 70016094 01AE7804 */ sllv $t7, $t6, $t5 -/* 016C98 70016098 018FC024 */ and $t8, $t4, $t7 -/* 016C9C 7001609C 13000003 */ beqz $t8, .L700160AC -/* 016CA0 700160A0 00000000 */ nop -/* 016CA4 700160A4 10000002 */ b .L700160B0 -/* 016CA8 700160A8 24050001 */ li $a1, 1 -.L700160AC: -/* 016CAC 700160AC 00002825 */ move $a1, $zero -.L700160B0: -/* 016CB0 700160B0 93B9000F */ lbu $t9, 0xf($sp) -/* 016CB4 700160B4 03254025 */ or $t0, $t9, $a1 -/* 016CB8 700160B8 A3A8000F */ sb $t0, 0xf($sp) -.L700160BC: -/* 016CBC 700160BC 8FAE0004 */ lw $t6, 4($sp) -/* 016CC0 700160C0 93AA000F */ lbu $t2, 0xf($sp) -/* 016CC4 700160C4 93A9000E */ lbu $t1, 0xe($sp) -/* 016CC8 700160C8 25CDFFFF */ addiu $t5, $t6, -1 -/* 016CCC 700160CC AFAD0004 */ sw $t5, 4($sp) -/* 016CD0 700160D0 01495826 */ xor $t3, $t2, $t1 -/* 016CD4 700160D4 05A1FFDB */ bgez $t5, .L70016044 -/* 016CD8 700160D8 A3AB000F */ sb $t3, 0xf($sp) -/* 016CDC 700160DC 8FAC0008 */ lw $t4, 8($sp) -/* 016CE0 700160E0 24840001 */ addiu $a0, $a0, 1 -/* 016CE4 700160E4 258F0001 */ addiu $t7, $t4, 1 -/* 016CE8 700160E8 29E10021 */ slti $at, $t7, 0x21 -/* 016CEC 700160EC 1420FFD3 */ bnez $at, .L7001603C -/* 016CF0 700160F0 AFAF0008 */ sw $t7, 8($sp) -/* 016CF4 700160F4 93A2000F */ lbu $v0, 0xf($sp) -/* 016CF8 700160F8 03E00008 */ jr $ra -/* 016CFC 700160FC 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel __osContRamWrite -/* 016D00 70016100 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 016D04 70016104 8FB80070 */ lw $t8, 0x70($sp) -/* 016D08 70016108 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 016D0C 7001610C 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 016D10 70016110 240F0002 */ li $t7, 2 -/* 016D14 70016114 24010001 */ li $at, 1 -/* 016D18 70016118 AFBF001C */ sw $ra, 0x1c($sp) -/* 016D1C 7001611C AFA40060 */ sw $a0, 0x60($sp) -/* 016D20 70016120 AFA50064 */ sw $a1, 0x64($sp) -/* 016D24 70016124 AFA60068 */ sw $a2, 0x68($sp) -/* 016D28 70016128 AFA7006C */ sw $a3, 0x6c($sp) -/* 016D2C 7001612C AFB00018 */ sw $s0, 0x18($sp) -/* 016D30 70016130 AFA0005C */ sw $zero, 0x5c($sp) -/* 016D34 70016134 AFAE0054 */ sw $t6, 0x54($sp) -/* 016D38 70016138 13010009 */ beq $t8, $at, .L70016160 -/* 016D3C 7001613C AFAF0028 */ sw $t7, 0x28($sp) -/* 016D40 70016140 97B9006A */ lhu $t9, 0x6a($sp) -/* 016D44 70016144 2B210007 */ slti $at, $t9, 7 -/* 016D48 70016148 10200005 */ beqz $at, .L70016160 -/* 016D4C 7001614C 00000000 */ nop -/* 016D50 70016150 13200003 */ beqz $t9, .L70016160 -/* 016D54 70016154 00000000 */ nop -/* 016D58 70016158 10000070 */ b .L7001631C -/* 016D5C 7001615C 00001025 */ move $v0, $zero -.L70016160: -/* 016D60 70016160 0C005798 */ jal __osSiGetAccess -/* 016D64 70016164 00000000 */ nop -/* 016D68 70016168 24080003 */ li $t0, 3 -/* 016D6C 7001616C 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 016D70 70016170 A0287CE0 */ sb $t0, %lo(__osContLastCmd)($at) -/* 016D74 70016174 8FA40064 */ lw $a0, 0x64($sp) -/* 016D78 70016178 97A5006A */ lhu $a1, 0x6a($sp) -/* 016D7C 7001617C 0C0058CC */ jal __osContRamWrite_sub -/* 016D80 70016180 8FA6006C */ lw $a2, 0x6c($sp) -/* 016D84 70016184 3C058006 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8006 -/* 016D88 70016188 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 016D8C 7001618C 0C0057B4 */ jal __osSiRawStartDma -/* 016D90 70016190 24040001 */ li $a0, 1 -/* 016D94 70016194 AFA2005C */ sw $v0, 0x5c($sp) -/* 016D98 70016198 8FA40060 */ lw $a0, 0x60($sp) -/* 016D9C 7001619C 00002825 */ move $a1, $zero -/* 016DA0 700161A0 0C003774 */ jal osRecvMesg -/* 016DA4 700161A4 24060001 */ li $a2, 1 -.L700161A8: -/* 016DA8 700161A8 AFA00058 */ sw $zero, 0x58($sp) -.L700161AC: -/* 016DAC 700161AC 8FAA0058 */ lw $t2, 0x58($sp) -/* 016DB0 700161B0 8FAC0058 */ lw $t4, 0x58($sp) -/* 016DB4 700161B4 3C018006 */ lui $at, 0x8006 -/* 016DB8 700161B8 000A5880 */ sll $t3, $t2, 2 -/* 016DBC 700161BC 002B0821 */ addu $at, $at, $t3 -/* 016DC0 700161C0 240900FF */ li $t1, 255 -/* 016DC4 700161C4 AC297D70 */ sw $t1, 0x7d70($at) -/* 016DC8 700161C8 258D0001 */ addiu $t5, $t4, 1 -/* 016DCC 700161CC 29A10010 */ slti $at, $t5, 0x10 -/* 016DD0 700161D0 1420FFF6 */ bnez $at, .L700161AC -/* 016DD4 700161D4 AFAD0058 */ sw $t5, 0x58($sp) -/* 016DD8 700161D8 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) # $at, 0x8006 -/* 016DDC 700161DC 3C058006 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8006 -/* 016DE0 700161E0 AC207DAC */ sw $zero, %lo(__osPfsPifRam+0x3c)($at) -/* 016DE4 700161E4 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 016DE8 700161E8 0C0057B4 */ jal __osSiRawStartDma -/* 016DEC 700161EC 00002025 */ move $a0, $zero -/* 016DF0 700161F0 AFA2005C */ sw $v0, 0x5c($sp) -/* 016DF4 700161F4 8FA40060 */ lw $a0, 0x60($sp) -/* 016DF8 700161F8 00002825 */ move $a1, $zero -/* 016DFC 700161FC 0C003774 */ jal osRecvMesg -/* 016E00 70016200 24060001 */ li $a2, 1 -/* 016E04 70016204 8FAF0064 */ lw $t7, 0x64($sp) -/* 016E08 70016208 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 016E0C 7001620C 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 016E10 70016210 11E0000C */ beqz $t7, .L70016244 -/* 016E14 70016214 AFAE0054 */ sw $t6, 0x54($sp) -/* 016E18 70016218 19E0000A */ blez $t7, .L70016244 -/* 016E1C 7001621C AFA00058 */ sw $zero, 0x58($sp) -.L70016220: -/* 016E20 70016220 8FA80058 */ lw $t0, 0x58($sp) -/* 016E24 70016224 8FA90064 */ lw $t1, 0x64($sp) -/* 016E28 70016228 8FB80054 */ lw $t8, 0x54($sp) -/* 016E2C 7001622C 250A0001 */ addiu $t2, $t0, 1 -/* 016E30 70016230 0149082A */ slt $at, $t2, $t1 -/* 016E34 70016234 27190001 */ addiu $t9, $t8, 1 -/* 016E38 70016238 AFAA0058 */ sw $t2, 0x58($sp) -/* 016E3C 7001623C 1420FFF8 */ bnez $at, .L70016220 -/* 016E40 70016240 AFB90054 */ sw $t9, 0x54($sp) -.L70016244: -/* 016E44 70016244 8FAC0054 */ lw $t4, 0x54($sp) -/* 016E48 70016248 27AB002C */ addiu $t3, $sp, 0x2c -/* 016E4C 7001624C 258E0024 */ addiu $t6, $t4, 0x24 -.L70016250: -/* 016E50 70016250 89810000 */ lwl $at, ($t4) -/* 016E54 70016254 99810003 */ lwr $at, 3($t4) -/* 016E58 70016258 258C000C */ addiu $t4, $t4, 0xc -/* 016E5C 7001625C 256B000C */ addiu $t3, $t3, 0xc -/* 016E60 70016260 AD61FFF4 */ sw $at, -0xc($t3) -/* 016E64 70016264 8981FFF8 */ lwl $at, -8($t4) -/* 016E68 70016268 9981FFFB */ lwr $at, -5($t4) -/* 016E6C 7001626C AD61FFF8 */ sw $at, -8($t3) -/* 016E70 70016270 8981FFFC */ lwl $at, -4($t4) -/* 016E74 70016274 9981FFFF */ lwr $at, -1($t4) -/* 016E78 70016278 158EFFF5 */ bne $t4, $t6, .L70016250 -/* 016E7C 7001627C AD61FFFC */ sw $at, -4($t3) -/* 016E80 70016280 89810000 */ lwl $at, ($t4) -/* 016E84 70016284 99810003 */ lwr $at, 3($t4) -/* 016E88 70016288 AD610000 */ sw $at, ($t3) -/* 016E8C 7001628C 93AF002E */ lbu $t7, 0x2e($sp) -/* 016E90 70016290 31F800C0 */ andi $t8, $t7, 0xc0 -/* 016E94 70016294 0018C903 */ sra $t9, $t8, 4 -/* 016E98 70016298 17200013 */ bnez $t9, .L700162E8 -/* 016E9C 7001629C AFB9005C */ sw $t9, 0x5c($sp) -/* 016EA0 700162A0 0C00580C */ jal __osContDataCrc -/* 016EA4 700162A4 8FA4006C */ lw $a0, 0x6c($sp) -/* 016EA8 700162A8 93A80052 */ lbu $t0, 0x52($sp) -/* 016EAC 700162AC 1048000E */ beq $v0, $t0, .L700162E8 -/* 016EB0 700162B0 00000000 */ nop -/* 016EB4 700162B4 8FA40060 */ lw $a0, 0x60($sp) -/* 016EB8 700162B8 0C0051FD */ jal __osPfsGetStatus -/* 016EBC 700162BC 8FA50064 */ lw $a1, 0x64($sp) -/* 016EC0 700162C0 AFA2005C */ sw $v0, 0x5c($sp) -/* 016EC4 700162C4 8FAA005C */ lw $t2, 0x5c($sp) -/* 016EC8 700162C8 11400005 */ beqz $t2, .L700162E0 -/* 016ECC 700162CC 00000000 */ nop -/* 016ED0 700162D0 0C0057A9 */ jal __osSiRelAccess -/* 016ED4 700162D4 00000000 */ nop -/* 016ED8 700162D8 10000010 */ b .L7001631C -/* 016EDC 700162DC 8FA2005C */ lw $v0, 0x5c($sp) -.L700162E0: -/* 016EE0 700162E0 24090004 */ li $t1, 4 -/* 016EE4 700162E4 AFA9005C */ sw $t1, 0x5c($sp) -.L700162E8: -/* 016EE8 700162E8 8FAD005C */ lw $t5, 0x5c($sp) -/* 016EEC 700162EC 24010004 */ li $at, 4 -/* 016EF0 700162F0 15A10007 */ bne $t5, $at, .L70016310 -/* 016EF4 700162F4 00000000 */ nop -/* 016EF8 700162F8 8FAE0028 */ lw $t6, 0x28($sp) -/* 016EFC 700162FC 29D00000 */ slti $s0, $t6, 0 -/* 016F00 70016300 3A100001 */ xori $s0, $s0, 1 -/* 016F04 70016304 25CCFFFF */ addiu $t4, $t6, -1 -/* 016F08 70016308 1600FFA7 */ bnez $s0, .L700161A8 -/* 016F0C 7001630C AFAC0028 */ sw $t4, 0x28($sp) -.L70016310: -/* 016F10 70016310 0C0057A9 */ jal __osSiRelAccess -/* 016F14 70016314 00000000 */ nop -/* 016F18 70016318 8FA2005C */ lw $v0, 0x5c($sp) -.L7001631C: -/* 016F1C 7001631C 8FBF001C */ lw $ra, 0x1c($sp) -/* 016F20 70016320 8FB00018 */ lw $s0, 0x18($sp) -/* 016F24 70016324 27BD0060 */ addiu $sp, $sp, 0x60 -/* 016F28 70016328 03E00008 */ jr $ra -/* 016F2C 7001632C 00000000 */ nop - -glabel __osContRamWrite_sub -/* 016F30 70016330 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 016F34 70016334 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 016F38 70016338 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 016F3C 7001633C AFBF0014 */ sw $ra, 0x14($sp) -/* 016F40 70016340 AFA40048 */ sw $a0, 0x48($sp) -/* 016F44 70016344 AFA5004C */ sw $a1, 0x4c($sp) -/* 016F48 70016348 AFA60050 */ sw $a2, 0x50($sp) -/* 016F4C 7001634C AFAE0044 */ sw $t6, 0x44($sp) -/* 016F50 70016350 AFA00018 */ sw $zero, 0x18($sp) -.L70016354: -/* 016F54 70016354 8FAF0018 */ lw $t7, 0x18($sp) -/* 016F58 70016358 8FB90018 */ lw $t9, 0x18($sp) -/* 016F5C 7001635C 3C018006 */ lui $at, 0x8006 -/* 016F60 70016360 000FC080 */ sll $t8, $t7, 2 -/* 016F64 70016364 00380821 */ addu $at, $at, $t8 -/* 016F68 70016368 AC207D70 */ sw $zero, 0x7d70($at) -/* 016F6C 7001636C 27280001 */ addiu $t0, $t9, 1 -/* 016F70 70016370 29010010 */ slti $at, $t0, 0x10 -/* 016F74 70016374 1420FFF7 */ bnez $at, .L70016354 -/* 016F78 70016378 AFA80018 */ sw $t0, 0x18($sp) -/* 016F7C 7001637C 24090001 */ li $t1, 1 -/* 016F80 70016380 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) # $at, 0x8006 -/* 016F84 70016384 240A00FF */ li $t2, 255 -/* 016F88 70016388 240B0023 */ li $t3, 35 -/* 016F8C 7001638C 240C0001 */ li $t4, 1 -/* 016F90 70016390 240D0003 */ li $t5, 3 -/* 016F94 70016394 AC297DAC */ sw $t1, %lo(__osPfsPifRam+0x3c)($at) -/* 016F98 70016398 A3AA001C */ sb $t2, 0x1c($sp) -/* 016F9C 7001639C A3AB001D */ sb $t3, 0x1d($sp) -/* 016FA0 700163A0 A3AC001E */ sb $t4, 0x1e($sp) -/* 016FA4 700163A4 A3AD001F */ sb $t5, 0x1f($sp) -/* 016FA8 700163A8 0C0057E0 */ jal __osContAddressCrc -/* 016FAC 700163AC 97A4004E */ lhu $a0, 0x4e($sp) -/* 016FB0 700163B0 97AE004E */ lhu $t6, 0x4e($sp) -/* 016FB4 700163B4 241900FF */ li $t9, 255 -/* 016FB8 700163B8 A3B90042 */ sb $t9, 0x42($sp) -/* 016FBC 700163BC 000E7940 */ sll $t7, $t6, 5 -/* 016FC0 700163C0 004FC025 */ or $t8, $v0, $t7 -/* 016FC4 700163C4 A7B80020 */ sh $t8, 0x20($sp) -/* 016FC8 700163C8 AFA00018 */ sw $zero, 0x18($sp) -.L700163CC: -/* 016FCC 700163CC 8FA80050 */ lw $t0, 0x50($sp) -/* 016FD0 700163D0 8FAA0018 */ lw $t2, 0x18($sp) -/* 016FD4 700163D4 91090000 */ lbu $t1, ($t0) -/* 016FD8 700163D8 03AA5821 */ addu $t3, $sp, $t2 -/* 016FDC 700163DC A1690022 */ sb $t1, 0x22($t3) -/* 016FE0 700163E0 8FAE0018 */ lw $t6, 0x18($sp) -/* 016FE4 700163E4 8FAC0050 */ lw $t4, 0x50($sp) -/* 016FE8 700163E8 25CF0001 */ addiu $t7, $t6, 1 -/* 016FEC 700163EC 29E10020 */ slti $at, $t7, 0x20 -/* 016FF0 700163F0 258D0001 */ addiu $t5, $t4, 1 -/* 016FF4 700163F4 AFAF0018 */ sw $t7, 0x18($sp) -/* 016FF8 700163F8 1420FFF4 */ bnez $at, .L700163CC -/* 016FFC 700163FC AFAD0050 */ sw $t5, 0x50($sp) -/* 017000 70016400 8FB80048 */ lw $t8, 0x48($sp) -/* 017004 70016404 1300000E */ beqz $t8, .L70016440 -/* 017008 70016408 00000000 */ nop -/* 01700C 7001640C 1B00000C */ blez $t8, .L70016440 -/* 017010 70016410 AFA00018 */ sw $zero, 0x18($sp) -.L70016414: -/* 017014 70016414 8FB90044 */ lw $t9, 0x44($sp) -/* 017018 70016418 A3200000 */ sb $zero, ($t9) -/* 01701C 7001641C 8FAA0018 */ lw $t2, 0x18($sp) -/* 017020 70016420 8FAC0048 */ lw $t4, 0x48($sp) -/* 017024 70016424 8FA80044 */ lw $t0, 0x44($sp) -/* 017028 70016428 254B0001 */ addiu $t3, $t2, 1 -/* 01702C 7001642C 016C082A */ slt $at, $t3, $t4 -/* 017030 70016430 25090001 */ addiu $t1, $t0, 1 -/* 017034 70016434 AFAB0018 */ sw $t3, 0x18($sp) -/* 017038 70016438 1420FFF6 */ bnez $at, .L70016414 -/* 01703C 7001643C AFA90044 */ sw $t1, 0x44($sp) -.L70016440: -/* 017040 70016440 27AE001C */ addiu $t6, $sp, 0x1c -/* 017044 70016444 25D80024 */ addiu $t8, $t6, 0x24 -/* 017048 70016448 8FAD0044 */ lw $t5, 0x44($sp) -.L7001644C: -/* 01704C 7001644C 8DC10000 */ lw $at, ($t6) -/* 017050 70016450 25CE000C */ addiu $t6, $t6, 0xc -/* 017054 70016454 25AD000C */ addiu $t5, $t5, 0xc -/* 017058 70016458 A9A1FFF4 */ swl $at, -0xc($t5) -/* 01705C 7001645C B9A1FFF7 */ swr $at, -9($t5) -/* 017060 70016460 8DC1FFF8 */ lw $at, -8($t6) -/* 017064 70016464 A9A1FFF8 */ swl $at, -8($t5) -/* 017068 70016468 B9A1FFFB */ swr $at, -5($t5) -/* 01706C 7001646C 8DC1FFFC */ lw $at, -4($t6) -/* 017070 70016470 A9A1FFFC */ swl $at, -4($t5) -/* 017074 70016474 15D8FFF5 */ bne $t6, $t8, .L7001644C -/* 017078 70016478 B9A1FFFF */ swr $at, -1($t5) -/* 01707C 7001647C 8DC10000 */ lw $at, ($t6) -/* 017080 70016480 240900FE */ li $t1, 254 -/* 017084 70016484 A9A10000 */ swl $at, ($t5) -/* 017088 70016488 B9A10003 */ swr $at, 3($t5) -/* 01708C 7001648C 8FB90044 */ lw $t9, 0x44($sp) -/* 017090 70016490 27280028 */ addiu $t0, $t9, 0x28 -/* 017094 70016494 AFA80044 */ sw $t0, 0x44($sp) -/* 017098 70016498 A1090000 */ sb $t1, ($t0) -/* 01709C 7001649C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0170A0 700164A0 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0170A4 700164A4 03E00008 */ jr $ra -/* 0170A8 700164A8 00000000 */ nop - -/* 0170AC 700164AC 00000000 */ nop -glabel __osContRamRead -/* 0170B0 700164B0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0170B4 700164B4 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 0170B8 700164B8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0170BC 700164BC 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 0170C0 700164C0 240F0002 */ li $t7, 2 -/* 0170C4 700164C4 AFA40060 */ sw $a0, 0x60($sp) -/* 0170C8 700164C8 AFA50064 */ sw $a1, 0x64($sp) -/* 0170CC 700164CC AFA60068 */ sw $a2, 0x68($sp) -/* 0170D0 700164D0 AFA7006C */ sw $a3, 0x6c($sp) -/* 0170D4 700164D4 AFB00018 */ sw $s0, 0x18($sp) -/* 0170D8 700164D8 AFA0005C */ sw $zero, 0x5c($sp) -/* 0170DC 700164DC AFAE0054 */ sw $t6, 0x54($sp) -/* 0170E0 700164E0 0C005798 */ jal __osSiGetAccess -/* 0170E4 700164E4 AFAF0028 */ sw $t7, 0x28($sp) -/* 0170E8 700164E8 24180002 */ li $t8, 2 -/* 0170EC 700164EC 3C018006 */ lui $at, %hi(__osContLastCmd) # $at, 0x8006 -/* 0170F0 700164F0 A0387CE0 */ sb $t8, %lo(__osContLastCmd)($at) -/* 0170F4 700164F4 8FA40064 */ lw $a0, 0x64($sp) -/* 0170F8 700164F8 0C0059BD */ jal __osContRamRead_sub -/* 0170FC 700164FC 97A5006A */ lhu $a1, 0x6a($sp) -/* 017100 70016500 3C058006 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8006 -/* 017104 70016504 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 017108 70016508 0C0057B4 */ jal __osSiRawStartDma -/* 01710C 7001650C 24040001 */ li $a0, 1 -/* 017110 70016510 AFA2005C */ sw $v0, 0x5c($sp) -/* 017114 70016514 8FA40060 */ lw $a0, 0x60($sp) -/* 017118 70016518 00002825 */ move $a1, $zero -/* 01711C 7001651C 0C003774 */ jal osRecvMesg -/* 017120 70016520 24060001 */ li $a2, 1 -.L70016524: -/* 017124 70016524 AFA00058 */ sw $zero, 0x58($sp) -.L70016528: -/* 017128 70016528 8FA80058 */ lw $t0, 0x58($sp) -/* 01712C 7001652C 8FAA0058 */ lw $t2, 0x58($sp) -/* 017130 70016530 3C018006 */ lui $at, 0x8006 -/* 017134 70016534 00084880 */ sll $t1, $t0, 2 -/* 017138 70016538 00290821 */ addu $at, $at, $t1 -/* 01713C 7001653C 241900FF */ li $t9, 255 -/* 017140 70016540 AC397D70 */ sw $t9, 0x7d70($at) -/* 017144 70016544 254B0001 */ addiu $t3, $t2, 1 -/* 017148 70016548 29610010 */ slti $at, $t3, 0x10 -/* 01714C 7001654C 1420FFF6 */ bnez $at, .L70016528 -/* 017150 70016550 AFAB0058 */ sw $t3, 0x58($sp) -/* 017154 70016554 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) # $at, 0x8006 -/* 017158 70016558 3C058006 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8006 -/* 01715C 7001655C AC207DAC */ sw $zero, %lo(__osPfsPifRam+0x3c)($at) -/* 017160 70016560 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 017164 70016564 0C0057B4 */ jal __osSiRawStartDma -/* 017168 70016568 00002025 */ move $a0, $zero -/* 01716C 7001656C AFA2005C */ sw $v0, 0x5c($sp) -/* 017170 70016570 8FA40060 */ lw $a0, 0x60($sp) -/* 017174 70016574 00002825 */ move $a1, $zero -/* 017178 70016578 0C003774 */ jal osRecvMesg -/* 01717C 7001657C 24060001 */ li $a2, 1 -/* 017180 70016580 8FAD0064 */ lw $t5, 0x64($sp) -/* 017184 70016584 3C0C8006 */ lui $t4, %hi(__osPfsPifRam) -/* 017188 70016588 258C7D70 */ addiu $t4, %lo(__osPfsPifRam) # addiu $t4, $t4, 0x7d70 -/* 01718C 7001658C 11A0000C */ beqz $t5, .L700165C0 -/* 017190 70016590 AFAC0054 */ sw $t4, 0x54($sp) -/* 017194 70016594 19A0000A */ blez $t5, .L700165C0 -/* 017198 70016598 AFA00058 */ sw $zero, 0x58($sp) -.L7001659C: -/* 01719C 7001659C 8FB80058 */ lw $t8, 0x58($sp) -/* 0171A0 700165A0 8FB90064 */ lw $t9, 0x64($sp) -/* 0171A4 700165A4 8FAE0054 */ lw $t6, 0x54($sp) -/* 0171A8 700165A8 27080001 */ addiu $t0, $t8, 1 -/* 0171AC 700165AC 0119082A */ slt $at, $t0, $t9 -/* 0171B0 700165B0 25CF0001 */ addiu $t7, $t6, 1 -/* 0171B4 700165B4 AFA80058 */ sw $t0, 0x58($sp) -/* 0171B8 700165B8 1420FFF8 */ bnez $at, .L7001659C -/* 0171BC 700165BC AFAF0054 */ sw $t7, 0x54($sp) -.L700165C0: -/* 0171C0 700165C0 8FAA0054 */ lw $t2, 0x54($sp) -/* 0171C4 700165C4 27A9002C */ addiu $t1, $sp, 0x2c -/* 0171C8 700165C8 254C0024 */ addiu $t4, $t2, 0x24 -.L700165CC: -/* 0171CC 700165CC 89410000 */ lwl $at, ($t2) -/* 0171D0 700165D0 99410003 */ lwr $at, 3($t2) -/* 0171D4 700165D4 254A000C */ addiu $t2, $t2, 0xc -/* 0171D8 700165D8 2529000C */ addiu $t1, $t1, 0xc -/* 0171DC 700165DC AD21FFF4 */ sw $at, -0xc($t1) -/* 0171E0 700165E0 8941FFF8 */ lwl $at, -8($t2) -/* 0171E4 700165E4 9941FFFB */ lwr $at, -5($t2) -/* 0171E8 700165E8 AD21FFF8 */ sw $at, -8($t1) -/* 0171EC 700165EC 8941FFFC */ lwl $at, -4($t2) -/* 0171F0 700165F0 9941FFFF */ lwr $at, -1($t2) -/* 0171F4 700165F4 154CFFF5 */ bne $t2, $t4, .L700165CC -/* 0171F8 700165F8 AD21FFFC */ sw $at, -4($t1) -/* 0171FC 700165FC 89410000 */ lwl $at, ($t2) -/* 017200 70016600 99410003 */ lwr $at, 3($t2) -/* 017204 70016604 AD210000 */ sw $at, ($t1) -/* 017208 70016608 93AD002E */ lbu $t5, 0x2e($sp) -/* 01720C 7001660C 31AE00C0 */ andi $t6, $t5, 0xc0 -/* 017210 70016610 000E7903 */ sra $t7, $t6, 4 -/* 017214 70016614 15E00025 */ bnez $t7, .L700166AC -/* 017218 70016618 AFAF005C */ sw $t7, 0x5c($sp) -/* 01721C 7001661C 27A4002C */ addiu $a0, $sp, 0x2c -/* 017220 70016620 0C00580C */ jal __osContDataCrc -/* 017224 70016624 24840006 */ addiu $a0, $a0, 6 -/* 017228 70016628 A3A20027 */ sb $v0, 0x27($sp) -/* 01722C 7001662C 93B80027 */ lbu $t8, 0x27($sp) -/* 017230 70016630 93A80052 */ lbu $t0, 0x52($sp) -/* 017234 70016634 1308000F */ beq $t8, $t0, .L70016674 -/* 017238 70016638 00000000 */ nop -/* 01723C 7001663C 8FA40060 */ lw $a0, 0x60($sp) -/* 017240 70016640 0C0051FD */ jal __osPfsGetStatus -/* 017244 70016644 8FA50064 */ lw $a1, 0x64($sp) -/* 017248 70016648 AFA2005C */ sw $v0, 0x5c($sp) -/* 01724C 7001664C 8FB9005C */ lw $t9, 0x5c($sp) -/* 017250 70016650 13200005 */ beqz $t9, .L70016668 -/* 017254 70016654 00000000 */ nop -/* 017258 70016658 0C0057A9 */ jal __osSiRelAccess -/* 01725C 7001665C 00000000 */ nop -/* 017260 70016660 1000001F */ b .L700166E0 -/* 017264 70016664 8FA2005C */ lw $v0, 0x5c($sp) -.L70016668: -/* 017268 70016668 240B0004 */ li $t3, 4 -/* 01726C 7001666C 1000000F */ b .L700166AC -/* 017270 70016670 AFAB005C */ sw $t3, 0x5c($sp) -.L70016674: -/* 017274 70016674 AFA00058 */ sw $zero, 0x58($sp) -.L70016678: -/* 017278 70016678 8FAC0058 */ lw $t4, 0x58($sp) -/* 01727C 7001667C 8FA9006C */ lw $t1, 0x6c($sp) -/* 017280 70016680 03AC5021 */ addu $t2, $sp, $t4 -/* 017284 70016684 914A0032 */ lbu $t2, 0x32($t2) -/* 017288 70016688 A12A0000 */ sb $t2, ($t1) -/* 01728C 7001668C 8FAF0058 */ lw $t7, 0x58($sp) -/* 017290 70016690 8FAD006C */ lw $t5, 0x6c($sp) -/* 017294 70016694 25F80001 */ addiu $t8, $t7, 1 -/* 017298 70016698 2B010020 */ slti $at, $t8, 0x20 -/* 01729C 7001669C 25AE0001 */ addiu $t6, $t5, 1 -/* 0172A0 700166A0 AFB80058 */ sw $t8, 0x58($sp) -/* 0172A4 700166A4 1420FFF4 */ bnez $at, .L70016678 -/* 0172A8 700166A8 AFAE006C */ sw $t6, 0x6c($sp) -.L700166AC: -/* 0172AC 700166AC 8FA8005C */ lw $t0, 0x5c($sp) -/* 0172B0 700166B0 24010004 */ li $at, 4 -/* 0172B4 700166B4 15010007 */ bne $t0, $at, .L700166D4 -/* 0172B8 700166B8 00000000 */ nop -/* 0172BC 700166BC 8FB90028 */ lw $t9, 0x28($sp) -/* 0172C0 700166C0 2B300000 */ slti $s0, $t9, 0 -/* 0172C4 700166C4 3A100001 */ xori $s0, $s0, 1 -/* 0172C8 700166C8 272BFFFF */ addiu $t3, $t9, -1 -/* 0172CC 700166CC 1600FF95 */ bnez $s0, .L70016524 -/* 0172D0 700166D0 AFAB0028 */ sw $t3, 0x28($sp) -.L700166D4: -/* 0172D4 700166D4 0C0057A9 */ jal __osSiRelAccess -/* 0172D8 700166D8 00000000 */ nop -/* 0172DC 700166DC 8FA2005C */ lw $v0, 0x5c($sp) -.L700166E0: -/* 0172E0 700166E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0172E4 700166E4 8FB00018 */ lw $s0, 0x18($sp) -/* 0172E8 700166E8 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0172EC 700166EC 03E00008 */ jr $ra -/* 0172F0 700166F0 00000000 */ nop - -glabel __osContRamRead_sub -/* 0172F4 700166F4 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0172F8 700166F8 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 0172FC 700166FC 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 017300 70016700 AFBF0014 */ sw $ra, 0x14($sp) -/* 017304 70016704 AFA40048 */ sw $a0, 0x48($sp) -/* 017308 70016708 AFA5004C */ sw $a1, 0x4c($sp) -/* 01730C 7001670C AFAE0044 */ sw $t6, 0x44($sp) -/* 017310 70016710 AFA00018 */ sw $zero, 0x18($sp) -.L70016714: -/* 017314 70016714 8FAF0018 */ lw $t7, 0x18($sp) -/* 017318 70016718 8FB90018 */ lw $t9, 0x18($sp) -/* 01731C 7001671C 3C018006 */ lui $at, 0x8006 -/* 017320 70016720 000FC080 */ sll $t8, $t7, 2 -/* 017324 70016724 00380821 */ addu $at, $at, $t8 -/* 017328 70016728 AC207D70 */ sw $zero, 0x7d70($at) -/* 01732C 7001672C 27280001 */ addiu $t0, $t9, 1 -/* 017330 70016730 29010010 */ slti $at, $t0, 0x10 -/* 017334 70016734 1420FFF7 */ bnez $at, .L70016714 -/* 017338 70016738 AFA80018 */ sw $t0, 0x18($sp) -/* 01733C 7001673C 24090001 */ li $t1, 1 -/* 017340 70016740 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) # $at, 0x8006 -/* 017344 70016744 240A00FF */ li $t2, 255 -/* 017348 70016748 240B0003 */ li $t3, 3 -/* 01734C 7001674C 240C0021 */ li $t4, 33 -/* 017350 70016750 240D0002 */ li $t5, 2 -/* 017354 70016754 AC297DAC */ sw $t1, %lo(__osPfsPifRam+0x3c)($at) -/* 017358 70016758 A3AA001C */ sb $t2, 0x1c($sp) -/* 01735C 7001675C A3AB001D */ sb $t3, 0x1d($sp) -/* 017360 70016760 A3AC001E */ sb $t4, 0x1e($sp) -/* 017364 70016764 A3AD001F */ sb $t5, 0x1f($sp) -/* 017368 70016768 0C0057E0 */ jal __osContAddressCrc -/* 01736C 7001676C 97A4004E */ lhu $a0, 0x4e($sp) -/* 017370 70016770 97AE004E */ lhu $t6, 0x4e($sp) -/* 017374 70016774 241900FF */ li $t9, 255 -/* 017378 70016778 A3B90042 */ sb $t9, 0x42($sp) -/* 01737C 7001677C 000E7940 */ sll $t7, $t6, 5 -/* 017380 70016780 004FC025 */ or $t8, $v0, $t7 -/* 017384 70016784 A7B80020 */ sh $t8, 0x20($sp) -/* 017388 70016788 AFA00018 */ sw $zero, 0x18($sp) -.L7001678C: -/* 01738C 7001678C 8FA90018 */ lw $t1, 0x18($sp) -/* 017390 70016790 240800FF */ li $t0, 255 -/* 017394 70016794 03A95021 */ addu $t2, $sp, $t1 -/* 017398 70016798 A1480022 */ sb $t0, 0x22($t2) -/* 01739C 7001679C 8FAB0018 */ lw $t3, 0x18($sp) -/* 0173A0 700167A0 256C0001 */ addiu $t4, $t3, 1 -/* 0173A4 700167A4 29810020 */ slti $at, $t4, 0x20 -/* 0173A8 700167A8 1420FFF8 */ bnez $at, .L7001678C -/* 0173AC 700167AC AFAC0018 */ sw $t4, 0x18($sp) -/* 0173B0 700167B0 8FAD0048 */ lw $t5, 0x48($sp) -/* 0173B4 700167B4 11A0000E */ beqz $t5, .L700167F0 -/* 0173B8 700167B8 00000000 */ nop -/* 0173BC 700167BC 19A0000C */ blez $t5, .L700167F0 -/* 0173C0 700167C0 AFA00018 */ sw $zero, 0x18($sp) -.L700167C4: -/* 0173C4 700167C4 8FAE0044 */ lw $t6, 0x44($sp) -/* 0173C8 700167C8 A1C00000 */ sb $zero, ($t6) -/* 0173CC 700167CC 8FB90018 */ lw $t9, 0x18($sp) -/* 0173D0 700167D0 8FA90048 */ lw $t1, 0x48($sp) -/* 0173D4 700167D4 8FAF0044 */ lw $t7, 0x44($sp) -/* 0173D8 700167D8 27280001 */ addiu $t0, $t9, 1 -/* 0173DC 700167DC 0109082A */ slt $at, $t0, $t1 -/* 0173E0 700167E0 25F80001 */ addiu $t8, $t7, 1 -/* 0173E4 700167E4 AFA80018 */ sw $t0, 0x18($sp) -/* 0173E8 700167E8 1420FFF6 */ bnez $at, .L700167C4 -/* 0173EC 700167EC AFB80044 */ sw $t8, 0x44($sp) -.L700167F0: -/* 0173F0 700167F0 27AB001C */ addiu $t3, $sp, 0x1c -/* 0173F4 700167F4 256D0024 */ addiu $t5, $t3, 0x24 -/* 0173F8 700167F8 8FAA0044 */ lw $t2, 0x44($sp) -.L700167FC: -/* 0173FC 700167FC 8D610000 */ lw $at, ($t3) -/* 017400 70016800 256B000C */ addiu $t3, $t3, 0xc -/* 017404 70016804 254A000C */ addiu $t2, $t2, 0xc -/* 017408 70016808 A941FFF4 */ swl $at, -0xc($t2) -/* 01740C 7001680C B941FFF7 */ swr $at, -9($t2) -/* 017410 70016810 8D61FFF8 */ lw $at, -8($t3) -/* 017414 70016814 A941FFF8 */ swl $at, -8($t2) -/* 017418 70016818 B941FFFB */ swr $at, -5($t2) -/* 01741C 7001681C 8D61FFFC */ lw $at, -4($t3) -/* 017420 70016820 A941FFFC */ swl $at, -4($t2) -/* 017424 70016824 156DFFF5 */ bne $t3, $t5, .L700167FC -/* 017428 70016828 B941FFFF */ swr $at, -1($t2) -/* 01742C 7001682C 8D610000 */ lw $at, ($t3) -/* 017430 70016830 241800FE */ li $t8, 254 -/* 017434 70016834 A9410000 */ swl $at, ($t2) -/* 017438 70016838 B9410003 */ swr $at, 3($t2) -/* 01743C 7001683C 8FAE0044 */ lw $t6, 0x44($sp) -/* 017440 70016840 25CF0028 */ addiu $t7, $t6, 0x28 -/* 017444 70016844 AFAF0044 */ sw $t7, 0x44($sp) -/* 017448 70016848 A1F80000 */ sb $t8, ($t7) -/* 01744C 7001684C 8FBF0014 */ lw $ra, 0x14($sp) -/* 017450 70016850 27BD0048 */ addiu $sp, $sp, 0x48 -/* 017454 70016854 03E00008 */ jr $ra -/* 017458 70016858 00000000 */ nop - -/* 01745C 7001685C 00000000 */ nop -glabel guAlignF -/* 017460 70016860 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 017464 70016864 3C018003 */ lui $at, %hi(F32_800297F0+0x10) # $at, 0x8003 -/* 017468 70016868 C42497F0 */ lwc1 $f4, %lo(F32_800297F0+0x10)($at) -/* 01746C 7001686C AFB00018 */ sw $s0, 0x18($sp) -/* 017470 70016870 00808025 */ move $s0, $a0 -/* 017474 70016874 3C018006 */ lui $at, %hi(flt_CODE_bss_80067DD0) # $at, 0x8006 -/* 017478 70016878 AFBF001C */ sw $ra, 0x1c($sp) -/* 01747C 7001687C AFA50034 */ sw $a1, 0x34($sp) -/* 017480 70016880 AFA60038 */ sw $a2, 0x38($sp) -/* 017484 70016884 AFA7003C */ sw $a3, 0x3c($sp) -/* 017488 70016888 27A60040 */ addiu $a2, $sp, 0x40 -/* 01748C 7001688C 27A5003C */ addiu $a1, $sp, 0x3c -/* 017490 70016890 27A40038 */ addiu $a0, $sp, 0x38 -/* 017494 70016894 0C007DD4 */ jal guNormalize -/* 017498 70016898 E4247DD0 */ swc1 $f4, %lo(flt_CODE_bss_80067DD0)($at) -/* 01749C 7001689C 3C018006 */ li $at, 0x80060000 # -0.000000 -/* 0174A0 700168A0 C7AC0034 */ lwc1 $f12, 0x34($sp) -/* 0174A4 700168A4 C4267DD0 */ lwc1 $f6, %lo(flt_CODE_bss_80067DD0)($at) -/* 0174A8 700168A8 46066302 */ mul.s $f12, $f12, $f6 -/* 0174AC 700168AC 0FC15FAB */ jal sinf -/* 0174B0 700168B0 E7AC0034 */ swc1 $f12, 0x34($sp) -/* 0174B4 700168B4 C7AC0034 */ lwc1 $f12, 0x34($sp) -/* 0174B8 700168B8 0FC15FA8 */ jal cosf -/* 0174BC 700168BC E7A0002C */ swc1 $f0, 0x2c($sp) -/* 0174C0 700168C0 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 0174C4 700168C4 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 0174C8 700168C8 E7A00028 */ swc1 $f0, 0x28($sp) -/* 0174CC 700168CC 460E7202 */ mul.s $f8, $f14, $f14 -/* 0174D0 700168D0 00000000 */ nop -/* 0174D4 700168D4 46129282 */ mul.s $f10, $f18, $f18 -/* 0174D8 700168D8 0C007DF8 */ jal sqrtf -/* 0174DC 700168DC 460A4300 */ add.s $f12, $f8, $f10 -/* 0174E0 700168E0 02002025 */ move $a0, $s0 -/* 0174E4 700168E4 0C004004 */ jal guMtxIdentF -/* 0174E8 700168E8 E7A00024 */ swc1 $f0, 0x24($sp) -/* 0174EC 700168EC 44806000 */ mtc1 $zero, $f12 -/* 0174F0 700168F0 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 0174F4 700168F4 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 0174F8 700168F8 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 0174FC 700168FC 460C7032 */ c.eq.s $f14, $f12 -/* 017500 70016900 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 017504 70016904 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 017508 70016908 45030041 */ bc1tl .L70016A10 -/* 01750C 7001690C 8FBF001C */ lw $ra, 0x1c($sp) -/* 017510 70016910 44812000 */ mtc1 $at, $f4 -/* 017514 70016914 46068202 */ mul.s $f8, $f16, $f6 -/* 017518 70016918 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 01751C 7001691C C7A60040 */ lwc1 $f6, 0x40($sp) -/* 017520 70016920 460E2003 */ div.s $f0, $f4, $f14 -/* 017524 70016924 460A4102 */ mul.s $f4, $f8, $f10 -/* 017528 70016928 46003207 */ neg.s $f8, $f6 -/* 01752C 7001692C 46024282 */ mul.s $f10, $f8, $f2 -/* 017530 70016930 46045181 */ sub.s $f6, $f10, $f4 -/* 017534 70016934 46003202 */ mul.s $f8, $f6, $f0 -/* 017538 70016938 E6080000 */ swc1 $f8, ($s0) -/* 01753C 7001693C C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 017540 70016940 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 017544 70016944 460A1102 */ mul.s $f4, $f2, $f10 -/* 017548 70016948 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 01754C 7001694C 46062202 */ mul.s $f8, $f4, $f6 -/* 017550 70016950 00000000 */ nop -/* 017554 70016954 46105102 */ mul.s $f4, $f10, $f16 -/* 017558 70016958 46082181 */ sub.s $f6, $f4, $f8 -/* 01755C 7001695C 46003282 */ mul.s $f10, $f6, $f0 -/* 017560 70016960 E60A0010 */ swc1 $f10, 0x10($s0) -/* 017564 70016964 460E8182 */ mul.s $f6, $f16, $f14 -/* 017568 70016968 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 01756C 7001696C E60C0030 */ swc1 $f12, 0x30($s0) -/* 017570 70016970 460E1282 */ mul.s $f10, $f2, $f14 -/* 017574 70016974 46002207 */ neg.s $f8, $f4 -/* 017578 70016978 E6080020 */ swc1 $f8, 0x20($s0) -/* 01757C 7001697C E6060004 */ swc1 $f6, 4($s0) -/* 017580 70016980 E60A0014 */ swc1 $f10, 0x14($s0) -/* 017584 70016984 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 017588 70016988 E60C0034 */ swc1 $f12, 0x34($s0) -/* 01758C 7001698C 46002207 */ neg.s $f8, $f4 -/* 017590 70016990 E6080024 */ swc1 $f8, 0x24($s0) -/* 017594 70016994 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 017598 70016998 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 01759C 7001699C 46068282 */ mul.s $f10, $f16, $f6 -/* 0175A0 700169A0 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 0175A4 700169A4 46045202 */ mul.s $f8, $f10, $f4 -/* 0175A8 700169A8 00000000 */ nop -/* 0175AC 700169AC 46061282 */ mul.s $f10, $f2, $f6 -/* 0175B0 700169B0 46085101 */ sub.s $f4, $f10, $f8 -/* 0175B4 700169B4 46008287 */ neg.s $f10, $f16 -/* 0175B8 700169B8 46002182 */ mul.s $f6, $f4, $f0 -/* 0175BC 700169BC E6060008 */ swc1 $f6, 8($s0) -/* 0175C0 700169C0 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0175C4 700169C4 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0175C8 700169C8 46085102 */ mul.s $f4, $f10, $f8 -/* 0175CC 700169CC C7A80040 */ lwc1 $f8, 0x40($sp) -/* 0175D0 700169D0 46061282 */ mul.s $f10, $f2, $f6 -/* 0175D4 700169D4 00000000 */ nop -/* 0175D8 700169D8 46085182 */ mul.s $f6, $f10, $f8 -/* 0175DC 700169DC 46062281 */ sub.s $f10, $f4, $f6 -/* 0175E0 700169E0 46005202 */ mul.s $f8, $f10, $f0 -/* 0175E4 700169E4 44815000 */ mtc1 $at, $f10 -/* 0175E8 700169E8 E6080018 */ swc1 $f8, 0x18($s0) -/* 0175EC 700169EC C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0175F0 700169F0 E60C0038 */ swc1 $f12, 0x38($s0) -/* 0175F4 700169F4 E60C000C */ swc1 $f12, 0xc($s0) -/* 0175F8 700169F8 46002187 */ neg.s $f6, $f4 -/* 0175FC 700169FC E60C001C */ swc1 $f12, 0x1c($s0) -/* 017600 70016A00 E6060028 */ swc1 $f6, 0x28($s0) -/* 017604 70016A04 E60C002C */ swc1 $f12, 0x2c($s0) -/* 017608 70016A08 E60A003C */ swc1 $f10, 0x3c($s0) -/* 01760C 70016A0C 8FBF001C */ lw $ra, 0x1c($sp) -.L70016A10: -/* 017610 70016A10 8FB00018 */ lw $s0, 0x18($sp) -/* 017614 70016A14 27BD0030 */ addiu $sp, $sp, 0x30 -/* 017618 70016A18 03E00008 */ jr $ra -/* 01761C 70016A1C 00000000 */ nop - -glabel guAlign -/* 017620 70016A20 44856000 */ mtc1 $a1, $f12 -/* 017624 70016A24 44867000 */ mtc1 $a2, $f14 -/* 017628 70016A28 44878000 */ mtc1 $a3, $f16 -/* 01762C 70016A2C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 017630 70016A30 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 017634 70016A34 AFBF001C */ sw $ra, 0x1c($sp) -/* 017638 70016A38 AFA40060 */ sw $a0, 0x60($sp) -/* 01763C 70016A3C 44056000 */ mfc1 $a1, $f12 -/* 017640 70016A40 44067000 */ mfc1 $a2, $f14 -/* 017644 70016A44 44078000 */ mfc1 $a3, $f16 -/* 017648 70016A48 27A40020 */ addiu $a0, $sp, 0x20 -/* 01764C 70016A4C 0C005A18 */ jal guAlignF -/* 017650 70016A50 E7A40010 */ swc1 $f4, 0x10($sp) -/* 017654 70016A54 27A40020 */ addiu $a0, $sp, 0x20 -/* 017658 70016A58 0C003FC4 */ jal guMtxF2L -/* 01765C 70016A5C 8FA50060 */ lw $a1, 0x60($sp) -/* 017660 70016A60 8FBF001C */ lw $ra, 0x1c($sp) -/* 017664 70016A64 27BD0060 */ addiu $sp, $sp, 0x60 -/* 017668 70016A68 03E00008 */ jr $ra -/* 01766C 70016A6C 00000000 */ nop - -.section .rodata -glabel F32_800297F0 -.float 0.017453292 -.align 4 - -.section .text -glabel guOrthoF -/* 017670 70016A70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 017674 70016A74 AFBF0014 */ sw $ra, 0x14($sp) -/* 017678 70016A78 AFA5001C */ sw $a1, 0x1c($sp) -/* 01767C 70016A7C AFA60020 */ sw $a2, 0x20($sp) -/* 017680 70016A80 AFA70024 */ sw $a3, 0x24($sp) -/* 017684 70016A84 0C004004 */ jal guMtxIdentF -/* 017688 70016A88 AFA40018 */ sw $a0, 0x18($sp) -/* 01768C 70016A8C C7A40020 */ lwc1 $f4, 0x20($sp) -/* 017690 70016A90 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 017694 70016A94 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 017698 70016A98 44814000 */ mtc1 $at, $f8 -/* 01769C 70016A9C 46062001 */ sub.s $f0, $f4, $f6 -/* 0176A0 70016AA0 8FA20018 */ lw $v0, 0x18($sp) -/* 0176A4 70016AA4 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 0176A8 70016AA8 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 0176AC 70016AAC 46004283 */ div.s $f10, $f8, $f0 -/* 0176B0 70016AB0 C7B2002C */ lwc1 $f18, 0x2c($sp) -/* 0176B4 70016AB4 44813000 */ mtc1 $at, $f6 -/* 0176B8 70016AB8 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 0176BC 70016ABC 46128301 */ sub.s $f12, $f16, $f18 -/* 0176C0 70016AC0 00001825 */ move $v1, $zero -/* 0176C4 70016AC4 24040004 */ li $a0, 4 -/* 0176C8 70016AC8 E44A0000 */ swc1 $f10, ($v0) -/* 0176CC 70016ACC C7A40024 */ lwc1 $f4, 0x24($sp) -/* 0176D0 70016AD0 44815000 */ mtc1 $at, $f10 -/* 0176D4 70016AD4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0176D8 70016AD8 46047081 */ sub.s $f2, $f14, $f4 -/* 0176DC 70016ADC 460C5103 */ div.s $f4, $f10, $f12 -/* 0176E0 70016AE0 46023203 */ div.s $f8, $f6, $f2 -/* 0176E4 70016AE4 E4440028 */ swc1 $f4, 0x28($v0) -/* 0176E8 70016AE8 E4480014 */ swc1 $f8, 0x14($v0) -/* 0176EC 70016AEC C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 0176F0 70016AF0 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0176F4 70016AF4 46083280 */ add.s $f10, $f6, $f8 -/* 0176F8 70016AF8 46005107 */ neg.s $f4, $f10 -/* 0176FC 70016AFC 46002183 */ div.s $f6, $f4, $f0 -/* 017700 70016B00 E4460030 */ swc1 $f6, 0x30($v0) -/* 017704 70016B04 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 017708 70016B08 46087280 */ add.s $f10, $f14, $f8 -/* 01770C 70016B0C 46128200 */ add.s $f8, $f16, $f18 -/* 017710 70016B10 46005107 */ neg.s $f4, $f10 -/* 017714 70016B14 46004287 */ neg.s $f10, $f8 -/* 017718 70016B18 46022183 */ div.s $f6, $f4, $f2 -/* 01771C 70016B1C 460C5103 */ div.s $f4, $f10, $f12 -/* 017720 70016B20 E4460034 */ swc1 $f6, 0x34($v0) -/* 017724 70016B24 44813000 */ mtc1 $at, $f6 -/* 017728 70016B28 00000000 */ nop -/* 01772C 70016B2C E446003C */ swc1 $f6, 0x3c($v0) -/* 017730 70016B30 E4440038 */ swc1 $f4, 0x38($v0) -/* 017734 70016B34 C7A00034 */ lwc1 $f0, 0x34($sp) -/* 017738 70016B38 C4480000 */ lwc1 $f8, ($v0) -/* 01773C 70016B3C 24630001 */ addiu $v1, $v1, 1 -/* 017740 70016B40 C4520004 */ lwc1 $f18, 4($v0) -/* 017744 70016B44 46004302 */ mul.s $f12, $f8, $f0 -/* 017748 70016B48 C44E0008 */ lwc1 $f14, 8($v0) -/* 01774C 70016B4C 10640010 */ beq $v1, $a0, .L70016B90 -/* 017750 70016B50 C450000C */ lwc1 $f16, 0xc($v0) -.L70016B54: -/* 017754 70016B54 46009282 */ mul.s $f10, $f18, $f0 -/* 017758 70016B58 C4480010 */ lwc1 $f8, 0x10($v0) -/* 01775C 70016B5C C4520014 */ lwc1 $f18, 0x14($v0) -/* 017760 70016B60 46007182 */ mul.s $f6, $f14, $f0 -/* 017764 70016B64 C44E0018 */ lwc1 $f14, 0x18($v0) -/* 017768 70016B68 24630001 */ addiu $v1, $v1, 1 -/* 01776C 70016B6C 46008102 */ mul.s $f4, $f16, $f0 -/* 017770 70016B70 C450001C */ lwc1 $f16, 0x1c($v0) -/* 017774 70016B74 E44C0000 */ swc1 $f12, ($v0) -/* 017778 70016B78 46004302 */ mul.s $f12, $f8, $f0 -/* 01777C 70016B7C E44A0004 */ swc1 $f10, 4($v0) -/* 017780 70016B80 E4460008 */ swc1 $f6, 8($v0) -/* 017784 70016B84 24420010 */ addiu $v0, $v0, 0x10 -/* 017788 70016B88 1464FFF2 */ bne $v1, $a0, .L70016B54 -/* 01778C 70016B8C E444FFFC */ swc1 $f4, -4($v0) -.L70016B90: -/* 017790 70016B90 46009282 */ mul.s $f10, $f18, $f0 -/* 017794 70016B94 24420010 */ addiu $v0, $v0, 0x10 -/* 017798 70016B98 E44CFFF0 */ swc1 $f12, -0x10($v0) -/* 01779C 70016B9C 46007182 */ mul.s $f6, $f14, $f0 -/* 0177A0 70016BA0 00000000 */ nop -/* 0177A4 70016BA4 46008102 */ mul.s $f4, $f16, $f0 -/* 0177A8 70016BA8 E44AFFF4 */ swc1 $f10, -0xc($v0) -/* 0177AC 70016BAC E446FFF8 */ swc1 $f6, -8($v0) -/* 0177B0 70016BB0 E444FFFC */ swc1 $f4, -4($v0) -/* 0177B4 70016BB4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0177B8 70016BB8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0177BC 70016BBC 03E00008 */ jr $ra -/* 0177C0 70016BC0 00000000 */ nop - -glabel guOrtho -/* 0177C4 70016BC4 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0177C8 70016BC8 44856000 */ mtc1 $a1, $f12 -/* 0177CC 70016BCC 44867000 */ mtc1 $a2, $f14 -/* 0177D0 70016BD0 44878000 */ mtc1 $a3, $f16 -/* 0177D4 70016BD4 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0177D8 70016BD8 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 0177DC 70016BDC C7A80080 */ lwc1 $f8, 0x80($sp) -/* 0177E0 70016BE0 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 0177E4 70016BE4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0177E8 70016BE8 AFA40068 */ sw $a0, 0x68($sp) -/* 0177EC 70016BEC 44056000 */ mfc1 $a1, $f12 -/* 0177F0 70016BF0 44067000 */ mfc1 $a2, $f14 -/* 0177F4 70016BF4 44078000 */ mfc1 $a3, $f16 -/* 0177F8 70016BF8 27A40028 */ addiu $a0, $sp, 0x28 -/* 0177FC 70016BFC E7A40010 */ swc1 $f4, 0x10($sp) -/* 017800 70016C00 E7A60014 */ swc1 $f6, 0x14($sp) -/* 017804 70016C04 E7A80018 */ swc1 $f8, 0x18($sp) -/* 017808 70016C08 0C005A9C */ jal guOrthoF -/* 01780C 70016C0C E7AA001C */ swc1 $f10, 0x1c($sp) -/* 017810 70016C10 27A40028 */ addiu $a0, $sp, 0x28 -/* 017814 70016C14 0C003FC4 */ jal guMtxF2L -/* 017818 70016C18 8FA50068 */ lw $a1, 0x68($sp) -/* 01781C 70016C1C 8FBF0024 */ lw $ra, 0x24($sp) -/* 017820 70016C20 27BD0068 */ addiu $sp, $sp, 0x68 -/* 017824 70016C24 03E00008 */ jr $ra -/* 017828 70016C28 00000000 */ nop - -/* 01782C 70016C2C 00000000 */ nop -glabel coss -/* 017830 70016C30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 017834 70016C34 AFA40018 */ sw $a0, 0x18($sp) -/* 017838 70016C38 00802825 */ move $a1, $a0 -/* 01783C 70016C3C 24A44000 */ addiu $a0, $a1, 0x4000 -/* 017840 70016C40 AFBF0014 */ sw $ra, 0x14($sp) -/* 017844 70016C44 308EFFFF */ andi $t6, $a0, 0xffff -/* 017848 70016C48 0C005B18 */ jal sins -/* 01784C 70016C4C 01C02025 */ move $a0, $t6 -/* 017850 70016C50 8FBF0014 */ lw $ra, 0x14($sp) -/* 017854 70016C54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 017858 70016C58 03E00008 */ jr $ra -/* 01785C 70016C5C 00000000 */ nop - -glabel sins -/* 017860 70016C60 308EFFFF */ andi $t6, $a0, 0xffff -/* 017864 70016C64 000E7902 */ srl $t7, $t6, 4 -/* 017868 70016C68 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01786C 70016C6C 33190400 */ andi $t9, $t8, 0x400 -/* 017870 70016C70 AFA40000 */ sw $a0, ($sp) -/* 017874 70016C74 13200008 */ beqz $t9, .L70016C98 -/* 017878 70016C78 03001025 */ move $v0, $t8 -/* 01787C 70016C7C 330803FF */ andi $t0, $t8, 0x3ff -/* 017880 70016C80 00084840 */ sll $t1, $t0, 1 -/* 017884 70016C84 00095023 */ negu $t2, $t1 -/* 017888 70016C88 3C038002 */ lui $v1, %hi(sin_table + 0x7FE) # 0x8002 -/* 01788C 70016C8C 006A1821 */ addu $v1, $v1, $t2 -/* 017890 70016C90 10000006 */ b .L70016CAC -/* 017894 70016C94 84637FCE */ lh $v1, %lo(sin_table + 0x7FE)($v1) # 0x7fce($v1) -.L70016C98: -/* 017898 70016C98 304B03FF */ andi $t3, $v0, 0x3ff -/* 01789C 70016C9C 000B6040 */ sll $t4, $t3, 1 -/* 0178A0 70016CA0 3C038002 */ lui $v1, %hi(sin_table) # 0x8002 -/* 0178A4 70016CA4 006C1821 */ addu $v1, $v1, $t4 -/* 0178A8 70016CA8 846377D0 */ lh $v1, %lo(sin_table)($v1) # 0x77d0($v1) -.L70016CAC: -/* 0178AC 70016CAC 304D0800 */ andi $t5, $v0, 0x800 -/* 0178B0 70016CB0 11A00005 */ beqz $t5, .L70016CC8 -/* 0178B4 70016CB4 00601025 */ move $v0, $v1 -/* 0178B8 70016CB8 00031023 */ negu $v0, $v1 -/* 0178BC 70016CBC 00027400 */ sll $t6, $v0, 0x10 -/* 0178C0 70016CC0 03E00008 */ jr $ra -/* 0178C4 70016CC4 000E1403 */ sra $v0, $t6, 0x10 - -.L70016CC8: -/* 0178C8 70016CC8 03E00008 */ jr $ra -/* 0178CC 70016CCC 00000000 */ nop - - .section .data -glabel sin_table -.half 0, 0x32, 0x64, 0x96 -.half 0xC9, 0xFB, 0x12D, 0x160 -.half 0x192, 0x1C4, 0x1F7, 0x229 -.half 0x25B, 0x28E, 0x2C0, 0x2F2 -.half 0x324, 0x357, 0x389, 0x3BB -.half 0x3EE, 0x420, 0x452, 0x484 -.half 0x4B7, 0x4E9, 0x51B, 0x54E -.half 0x580, 0x5B2, 0x5E4, 0x617 -.half 0x649, 0x67B, 0x6AD, 0x6E0 -.half 0x712, 0x744, 0x776, 0x7A9 -.half 0x7DB, 0x80D, 0x83F, 0x871 -.half 0x8A4, 0x8D6, 0x908, 0x93A -.half 0x96C, 0x99F, 0x9D1, 0xA03 -.half 0xA35, 0xA67, 0xA99, 0xACB -.half 0xAFE, 0xB30, 0xB62, 0xB94 -.half 0xBC6, 0xBF8, 0xC2A, 0xC5C -.half 0xC8E, 0xCC0, 0xCF2, 0xD25 -.half 0xD57, 0xD89, 0xDBB, 0xDED -.half 0xE1F, 0xE51, 0xE83, 0xEB5 -.half 0xEE7, 0xF19, 0xF4B, 0xF7C -.half 0xFAE, 0xFE0,0x1012,0x1044 -.half 0x1076,0x10A8,0x10DA,0x110C -.half 0x113E,0x116F,0x11A1,0x11D3 -.half 0x1205,0x1237,0x1269,0x129A -.half 0x12CC,0x12FE,0x1330,0x1361 -.half 0x1393,0x13C5,0x13F6,0x1428 -.half 0x145A,0x148C,0x14BD,0x14EF -.half 0x1520,0x1552,0x1584,0x15B5 -.half 0x15E7,0x1618,0x164A,0x167B -.half 0x16AD,0x16DF,0x1710,0x1741 -.half 0x1773,0x17A4,0x17D6,0x1807 -.half 0x1839,0x186A,0x189B,0x18CD -.half 0x18FE,0x1930,0x1961,0x1992 -.half 0x19C3,0x19F5,0x1A26,0x1A57 -.half 0x1A88,0x1ABA,0x1AEB,0x1B1C -.half 0x1B4D,0x1B7E,0x1BAF,0x1BE1 -.half 0x1C12,0x1C43,0x1C74,0x1CA5 -.half 0x1CD6,0x1D07,0x1D38,0x1D69 -.half 0x1D9A,0x1DCB,0x1DFC,0x1E2D -.half 0x1E5D,0x1E8E,0x1EBF,0x1EF0 -.half 0x1F21,0x1F52,0x1F82,0x1FB3 -.half 0x1FE4,0x2015,0x2045,0x2076 -.half 0x20A7,0x20D7,0x2108,0x2139 -.half 0x2169,0x219A,0x21CA,0x21FB -.half 0x222B,0x225C,0x228C,0x22BD -.half 0x22ED,0x231D,0x234E,0x237E -.half 0x23AE,0x23DF,0x240F,0x243F -.half 0x2470,0x24A0,0x24D0,0x2500 -.half 0x2530,0x2560,0x2591,0x25C1 -.half 0x25F1,0x2621,0x2651,0x2681 -.half 0x26B1,0x26E1,0x2711,0x2740 -.half 0x2770,0x27A0,0x27D0,0x2800 -.half 0x2830,0x285F,0x288F,0x28BF -.half 0x28EE,0x291E,0x294E,0x297D -.half 0x29AD,0x29DD,0x2A0C,0x2A3C -.half 0x2A6B,0x2A9B,0x2ACA,0x2AF9 -.half 0x2B29,0x2B58,0x2B87,0x2BB7 -.half 0x2BE6,0x2C15,0x2C44,0x2C74 -.half 0x2CA3,0x2CD2,0x2D01,0x2D30 -.half 0x2D5F,0x2D8E,0x2DBD,0x2DEC -.half 0x2E1B,0x2E4A,0x2E79,0x2EA8 -.half 0x2ED7,0x2F06,0x2F34,0x2F63 -.half 0x2F92,0x2FC0,0x2FEF,0x301E -.half 0x304C,0x307B,0x30A9,0x30D8 -.half 0x3107,0x3135,0x3163,0x3192 -.half 0x31C0,0x31EF,0x321D,0x324B -.half 0x3279,0x32A8,0x32D6,0x3304 -.half 0x3332,0x3360,0x338E,0x33BC -.half 0x33EA,0x3418,0x3446,0x3474 -.half 0x34A2,0x34D0,0x34FE,0x352B -.half 0x3559,0x3587,0x35B5,0x35E2 -.half 0x3610,0x363D,0x366B,0x3698 -.half 0x36C6,0x36F3,0x3721,0x374E -.half 0x377C,0x37A9,0x37D6,0x3803 -.half 0x3831,0x385E,0x388B,0x38B8 -.half 0x38E5,0x3912,0x393F,0x396C -.half 0x3999,0x39C6,0x39F3,0x3A20 -.half 0x3A4D,0x3A79,0x3AA6,0x3AD3 -.half 0x3B00,0x3B2C,0x3B59,0x3B85 -.half 0x3BB2,0x3BDE,0x3C0B,0x3C37 -.half 0x3C64,0x3C90,0x3CBC,0x3CE9 -.half 0x3D15,0x3D41,0x3D6D,0x3D99 -.half 0x3DC5,0x3DF1,0x3E1D,0x3E49 -.half 0x3E75,0x3EA1,0x3ECD,0x3EF9 -.half 0x3F25,0x3F50,0x3F7C,0x3FA8 -.half 0x3FD3,0x3FFF,0x402B,0x4056 -.half 0x4082,0x40AD,0x40D8,0x4104 -.half 0x412F,0x415A,0x4186,0x41B1 -.half 0x41DC,0x4207,0x4232,0x425D -.half 0x4288,0x42B3,0x42DE,0x4309 -.half 0x4334,0x435F,0x4389,0x43B4 -.half 0x43DF,0x4409,0x4434,0x445F -.half 0x4489,0x44B4,0x44DE,0x4508 -.half 0x4533,0x455D,0x4587,0x45B1 -.half 0x45DC,0x4606,0x4630,0x465A -.half 0x4684,0x46AE,0x46D8,0x4702 -.half 0x472C,0x4755,0x477F,0x47A9 -.half 0x47D2,0x47FC,0x4826,0x484F -.half 0x4879,0x48A2,0x48CC,0x48F5 -.half 0x491E,0x4948,0x4971,0x499A -.half 0x49C3,0x49EC,0x4A15,0x4A3E -.half 0x4A67,0x4A90,0x4AB9,0x4AE2 -.half 0x4B0B,0x4B33,0x4B5C,0x4B85 -.half 0x4BAD,0x4BD6,0x4BFE,0x4C27 -.half 0x4C4F,0x4C78,0x4CA0,0x4CC8 -.half 0x4CF0,0x4D19,0x4D41,0x4D69 -.half 0x4D91,0x4DB9,0x4DE1,0x4E09 -.half 0x4E31,0x4E58,0x4E80,0x4EA8 -.half 0x4ED0,0x4EF7,0x4F1F,0x4F46 -.half 0x4F6E,0x4F95,0x4FBD,0x4FE4 -.half 0x500B,0x5032,0x505A,0x5081 -.half 0x50A8,0x50CF,0x50F6,0x511D -.half 0x5144,0x516B,0x5191,0x51B8 -.half 0x51DF,0x5205,0x522C,0x5253 -.half 0x5279,0x52A0,0x52C6,0x52EC -.half 0x5313,0x5339,0x535F,0x5385 -.half 0x53AB,0x53D1,0x53F7,0x541D -.half 0x5443,0x5469,0x548F,0x54B5 -.half 0x54DA,0x5500,0x5525,0x554B -.half 0x5571,0x5596,0x55BB,0x55E1 -.half 0x5606,0x562B,0x5650,0x5675 -.half 0x569B,0x56C0,0x56E5,0x5709 -.half 0x572E,0x5753,0x5778,0x579D -.half 0x57C1,0x57E6,0x580A,0x582F -.half 0x5853,0x5878,0x589C,0x58C0 -.half 0x58E5,0x5909,0x592D,0x5951 -.half 0x5975,0x5999,0x59BD,0x59E1 -.half 0x5A04,0x5A28,0x5A4C,0x5A6F -.half 0x5A93,0x5AB7,0x5ADA,0x5AFD -.half 0x5B21,0x5B44,0x5B67,0x5B8B -.half 0x5BAE,0x5BD1,0x5BF4,0x5C17 -.half 0x5C3A,0x5C5D,0x5C7F,0x5CA2 -.half 0x5CC5,0x5CE7,0x5D0A,0x5D2D -.half 0x5D4F,0x5D71,0x5D94,0x5DB6 -.half 0x5DD8,0x5DFA,0x5E1D,0x5E3F -.half 0x5E61,0x5E83,0x5EA5,0x5EC6 -.half 0x5EE8,0x5F0A,0x5F2C,0x5F4D -.half 0x5F6F,0x5F90,0x5FB2,0x5FD3 -.half 0x5FF4,0x6016,0x6037,0x6058 -.half 0x6079,0x609A,0x60BB,0x60DC -.half 0x60FD,0x611E,0x613E,0x615F -.half 0x6180,0x61A0,0x61C1,0x61E1 -.half 0x6202,0x6222,0x6242,0x6263 -.half 0x6283,0x62A3,0x62C3,0x62E3 -.half 0x6303,0x6323,0x6342,0x6362 -.half 0x6382,0x63A1,0x63C1,0x63E0 -.half 0x6400,0x641F,0x643F,0x645E -.half 0x647D,0x649C,0x64BB,0x64DA -.half 0x64F9,0x6518,0x6537,0x6556 -.half 0x6574,0x6593,0x65B2,0x65D0 -.half 0x65EF,0x660D,0x662B,0x664A -.half 0x6668,0x6686,0x66A4,0x66C2 -.half 0x66E0,0x66FE,0x671C,0x673A -.half 0x6757,0x6775,0x6792,0x67B0 -.half 0x67CD,0x67EB,0x6808,0x6825 -.half 0x6843,0x6860,0x687D,0x689A -.half 0x68B7,0x68D4,0x68F1,0x690D -.half 0x692A,0x6947,0x6963,0x6980 -.half 0x699C,0x69B9,0x69D5,0x69F1 -.half 0x6A0E,0x6A2A,0x6A46,0x6A62 -.half 0x6A7E,0x6A9A,0x6AB5,0x6AD1 -.half 0x6AED,0x6B08,0x6B24,0x6B40 -.half 0x6B5B,0x6B76,0x6B92,0x6BAD -.half 0x6BC8,0x6BE3,0x6BFE,0x6C19 -.half 0x6C34,0x6C4F,0x6C6A,0x6C84 -.half 0x6C9F,0x6CBA,0x6CD4,0x6CEF -.half 0x6D09,0x6D23,0x6D3E,0x6D58 -.half 0x6D72,0x6D8C,0x6DA6,0x6DC0 -.half 0x6DDA,0x6DF3,0x6E0D,0x6E27 -.half 0x6E40,0x6E5A,0x6E73,0x6E8D -.half 0x6EA6,0x6EBF,0x6ED9,0x6EF2 -.half 0x6F0B,0x6F24,0x6F3D,0x6F55 -.half 0x6F6E,0x6F87,0x6FA0,0x6FB8 -.half 0x6FD1,0x6FE9,0x7002,0x701A -.half 0x7032,0x704A,0x7062,0x707A -.half 0x7092,0x70AA,0x70C2,0x70DA -.half 0x70F2,0x7109,0x7121,0x7138 -.half 0x7150,0x7167,0x717E,0x7196 -.half 0x71AD,0x71C4,0x71DB,0x71F2 -.half 0x7209,0x7220,0x7236,0x724D -.half 0x7264,0x727A,0x7291,0x72A7 -.half 0x72BD,0x72D4,0x72EA,0x7300 -.half 0x7316,0x732C,0x7342,0x7358 -.half 0x736E,0x7383,0x7399,0x73AE -.half 0x73C4,0x73D9,0x73EF,0x7404 -.half 0x7419,0x742E,0x7443,0x7458 -.half 0x746D,0x7482,0x7497,0x74AC -.half 0x74C0,0x74D5,0x74EA,0x74FE -.half 0x7512,0x7527,0x753B,0x754F -.half 0x7563,0x7577,0x758B,0x759F -.half 0x75B3,0x75C7,0x75DA,0x75EE -.half 0x7601,0x7615,0x7628,0x763B -.half 0x764F,0x7662,0x7675,0x7688 -.half 0x769B,0x76AE,0x76C1,0x76D3 -.half 0x76E6,0x76F9,0x770B,0x771E -.half 0x7730,0x7742,0x7754,0x7767 -.half 0x7779,0x778B,0x779D,0x77AF -.half 0x77C0,0x77D2,0x77E4,0x77F5 -.half 0x7807,0x7818,0x782A,0x783B -.half 0x784C,0x785D,0x786E,0x787F -.half 0x7890,0x78A1,0x78B2,0x78C3 -.half 0x78D3,0x78E4,0x78F4,0x7905 -.half 0x7915,0x7925,0x7936,0x7946 -.half 0x7956,0x7966,0x7976,0x7985 -.half 0x7995,0x79A5,0x79B5,0x79C4 -.half 0x79D4,0x79E3,0x79F2,0x7A02 -.half 0x7A11,0x7A20,0x7A2F,0x7A3E -.half 0x7A4D,0x7A5B,0x7A6A,0x7A79 -.half 0x7A87,0x7A96,0x7AA4,0x7AB3 -.half 0x7AC1,0x7ACF,0x7ADD,0x7AEB -.half 0x7AF9,0x7B07,0x7B15,0x7B23 -.half 0x7B31,0x7B3E,0x7B4C,0x7B59 -.half 0x7B67,0x7B74,0x7B81,0x7B8E -.half 0x7B9B,0x7BA8,0x7BB5,0x7BC2 -.half 0x7BCF,0x7BDC,0x7BE8,0x7BF5 -.half 0x7C02,0x7C0E,0x7C1A,0x7C27 -.half 0x7C33,0x7C3F,0x7C4B,0x7C57 -.half 0x7C63,0x7C6F,0x7C7A,0x7C86 -.half 0x7C92,0x7C9D,0x7CA9,0x7CB4 -.half 0x7CBF,0x7CCB,0x7CD6,0x7CE1 -.half 0x7CEC,0x7CF7,0x7D02,0x7D0C -.half 0x7D17,0x7D22,0x7D2C,0x7D37 -.half 0x7D41,0x7D4B,0x7D56,0x7D60 -.half 0x7D6A,0x7D74,0x7D7E,0x7D88 -.half 0x7D91,0x7D9B,0x7DA5,0x7DAE -.half 0x7DB8,0x7DC1,0x7DCB,0x7DD4 -.half 0x7DDD,0x7DE6,0x7DEF,0x7DF8 -.half 0x7E01,0x7E0A,0x7E13,0x7E1B -.half 0x7E24,0x7E2C,0x7E35,0x7E3D -.half 0x7E45,0x7E4D,0x7E56,0x7E5E -.half 0x7E66,0x7E6D,0x7E75,0x7E7D -.half 0x7E85,0x7E8C,0x7E94,0x7E9B -.half 0x7EA3,0x7EAA,0x7EB1,0x7EB8 -.half 0x7EBF,0x7EC6,0x7ECD,0x7ED4 -.half 0x7EDB,0x7EE1,0x7EE8,0x7EEE -.half 0x7EF5,0x7EFB,0x7F01,0x7F08 -.half 0x7F0E,0x7F14,0x7F1A,0x7F20 -.half 0x7F25,0x7F2B,0x7F31,0x7F36 -.half 0x7F3C,0x7F41,0x7F47,0x7F4C -.half 0x7F51,0x7F56,0x7F5B,0x7F60 -.half 0x7F65,0x7F6A,0x7F6F,0x7F74 -.half 0x7F78,0x7F7D,0x7F81,0x7F85 -.half 0x7F8A,0x7F8E,0x7F92,0x7F96 -.half 0x7F9A,0x7F9E,0x7FA2,0x7FA6 -.half 0x7FA9,0x7FAD,0x7FB0,0x7FB4 -.half 0x7FB7,0x7FBA,0x7FBE,0x7FC1 -.half 0x7FC4,0x7FC7,0x7FCA,0x7FCC -.half 0x7FCF,0x7FD2,0x7FD4,0x7FD7 -.half 0x7FD9,0x7FDC,0x7FDE,0x7FE0 -.half 0x7FE2,0x7FE4,0x7FE6,0x7FE8 -.half 0x7FEA,0x7FEC,0x7FED,0x7FEF -.half 0x7FF1,0x7FF2,0x7FF3,0x7FF5 -.half 0x7FF6,0x7FF7,0x7FF8,0x7FF9 -.half 0x7FFA,0x7FFB,0x7FFB,0x7FFC -.half 0x7FFD,0x7FFD,0x7FFE,0x7FFE -.half 0x7FFE,0x7FFE,0x7FFE,0x7FFF - -.section .text -glabel guTranslateF -/* 0178D0 70016CD0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0178D4 70016CD4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0178D8 70016CD8 AFA5001C */ sw $a1, 0x1c($sp) -/* 0178DC 70016CDC AFA60020 */ sw $a2, 0x20($sp) -/* 0178E0 70016CE0 AFA70024 */ sw $a3, 0x24($sp) -/* 0178E4 70016CE4 0C004004 */ jal guMtxIdentF -/* 0178E8 70016CE8 AFA40018 */ sw $a0, 0x18($sp) -/* 0178EC 70016CEC 8FA40018 */ lw $a0, 0x18($sp) -/* 0178F0 70016CF0 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0178F4 70016CF4 E4840030 */ swc1 $f4, 0x30($a0) -/* 0178F8 70016CF8 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0178FC 70016CFC E4860034 */ swc1 $f6, 0x34($a0) -/* 017900 70016D00 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 017904 70016D04 E4880038 */ swc1 $f8, 0x38($a0) -/* 017908 70016D08 8FBF0014 */ lw $ra, 0x14($sp) -/* 01790C 70016D0C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 017910 70016D10 03E00008 */ jr $ra -/* 017914 70016D14 00000000 */ nop - -glabel guTranslate -/* 017918 70016D18 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 01791C 70016D1C AFBF0014 */ sw $ra, 0x14($sp) -/* 017920 70016D20 AFA40068 */ sw $a0, 0x68($sp) -/* 017924 70016D24 AFA5006C */ sw $a1, 0x6c($sp) -/* 017928 70016D28 AFA60070 */ sw $a2, 0x70($sp) -/* 01792C 70016D2C AFA70074 */ sw $a3, 0x74($sp) -/* 017930 70016D30 0C004004 */ jal guMtxIdentF -/* 017934 70016D34 27A40028 */ addiu $a0, $sp, 0x28 -/* 017938 70016D38 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 01793C 70016D3C C7A60070 */ lwc1 $f6, 0x70($sp) -/* 017940 70016D40 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 017944 70016D44 27A40028 */ addiu $a0, $sp, 0x28 -/* 017948 70016D48 8FA50068 */ lw $a1, 0x68($sp) -/* 01794C 70016D4C E7A40058 */ swc1 $f4, 0x58($sp) -/* 017950 70016D50 E7A6005C */ swc1 $f6, 0x5c($sp) -/* 017954 70016D54 0C003FC4 */ jal guMtxF2L -/* 017958 70016D58 E7A80060 */ swc1 $f8, 0x60($sp) -/* 01795C 70016D5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 017960 70016D60 27BD0068 */ addiu $sp, $sp, 0x68 -/* 017964 70016D64 03E00008 */ jr $ra -/* 017968 70016D68 00000000 */ nop - -/* 01796C 70016D6C 00000000 */ nop -glabel _bcmp -/* 017970 70016D70 28C10010 */ slti $at, $a2, 0x10 -/* 017974 70016D74 14200037 */ bnez $at, .L70016E54 -/* 017978 70016D78 00851026 */ xor $v0, $a0, $a1 -/* 01797C 70016D7C 30420003 */ andi $v0, $v0, 3 -/* 017980 70016D80 14400019 */ bnez $v0, .L70016DE8 -/* 017984 70016D84 0004C023 */ negu $t8, $a0 -/* 017988 70016D88 33180003 */ andi $t8, $t8, 3 -/* 01798C 70016D8C 13000007 */ beqz $t8, .L70016DAC -/* 017990 70016D90 00D83023 */ subu $a2, $a2, $t8 -/* 017994 70016D94 00601025 */ move $v0, $v1 -/* 017998 70016D98 88820000 */ lwl $v0, ($a0) -/* 01799C 70016D9C 88A30000 */ lwl $v1, ($a1) -/* 0179A0 70016DA0 00982021 */ addu $a0, $a0, $t8 -/* 0179A4 70016DA4 00B82821 */ addu $a1, $a1, $t8 -/* 0179A8 70016DA8 14430036 */ bne $v0, $v1, .L70016E84 -.L70016DAC: -/* 0179AC 70016DAC 2401FFFC */ li $at, -4 -/* 0179B0 70016DB0 00C13824 */ and $a3, $a2, $at -/* 0179B4 70016DB4 10E00027 */ beqz $a3, .L70016E54 -/* 0179B8 70016DB8 00C73023 */ subu $a2, $a2, $a3 -/* 0179BC 70016DBC 00E43821 */ addu $a3, $a3, $a0 -/* 0179C0 70016DC0 8C820000 */ lw $v0, ($a0) -.L70016DC4: -/* 0179C4 70016DC4 8CA30000 */ lw $v1, ($a1) -/* 0179C8 70016DC8 24840004 */ addiu $a0, $a0, 4 -/* 0179CC 70016DCC 24A50004 */ addiu $a1, $a1, 4 -/* 0179D0 70016DD0 1443002C */ bne $v0, $v1, .L70016E84 -/* 0179D4 70016DD4 00000000 */ nop -/* 0179D8 70016DD8 5487FFFA */ bnel $a0, $a3, .L70016DC4 -/* 0179DC 70016DDC 8C820000 */ lw $v0, ($a0) -/* 0179E0 70016DE0 1000001C */ b .L70016E54 -/* 0179E4 70016DE4 00000000 */ nop -.L70016DE8: -/* 0179E8 70016DE8 00053823 */ negu $a3, $a1 -/* 0179EC 70016DEC 30E70003 */ andi $a3, $a3, 3 -/* 0179F0 70016DF0 10E0000A */ beqz $a3, .L70016E1C -/* 0179F4 70016DF4 00C73023 */ subu $a2, $a2, $a3 -/* 0179F8 70016DF8 00E43821 */ addu $a3, $a3, $a0 -/* 0179FC 70016DFC 90820000 */ lbu $v0, ($a0) -.L70016E00: -/* 017A00 70016E00 90A30000 */ lbu $v1, ($a1) -/* 017A04 70016E04 24840001 */ addiu $a0, $a0, 1 -/* 017A08 70016E08 24A50001 */ addiu $a1, $a1, 1 -/* 017A0C 70016E0C 1443001D */ bne $v0, $v1, .L70016E84 -/* 017A10 70016E10 00000000 */ nop -/* 017A14 70016E14 5487FFFA */ bnel $a0, $a3, .L70016E00 -/* 017A18 70016E18 90820000 */ lbu $v0, ($a0) -.L70016E1C: -/* 017A1C 70016E1C 2401FFFC */ li $at, -4 -/* 017A20 70016E20 00C13824 */ and $a3, $a2, $at -/* 017A24 70016E24 10E0000B */ beqz $a3, .L70016E54 -/* 017A28 70016E28 00C73023 */ subu $a2, $a2, $a3 -/* 017A2C 70016E2C 00E43821 */ addu $a3, $a3, $a0 -/* 017A30 70016E30 88820000 */ lwl $v0, ($a0) -.L70016E34: -/* 017A34 70016E34 8CA30000 */ lw $v1, ($a1) -/* 017A38 70016E38 98820003 */ lwr $v0, 3($a0) -/* 017A3C 70016E3C 24840004 */ addiu $a0, $a0, 4 -/* 017A40 70016E40 24A50004 */ addiu $a1, $a1, 4 -/* 017A44 70016E44 1443000F */ bne $v0, $v1, .L70016E84 -/* 017A48 70016E48 00000000 */ nop -/* 017A4C 70016E4C 5487FFF9 */ bnel $a0, $a3, .L70016E34 -/* 017A50 70016E50 88820000 */ lwl $v0, ($a0) -.L70016E54: -/* 017A54 70016E54 18C00009 */ blez $a2, .L70016E7C -/* 017A58 70016E58 00C43821 */ addu $a3, $a2, $a0 -/* 017A5C 70016E5C 90820000 */ lbu $v0, ($a0) -.L70016E60: -/* 017A60 70016E60 90A30000 */ lbu $v1, ($a1) -/* 017A64 70016E64 24840001 */ addiu $a0, $a0, 1 -/* 017A68 70016E68 24A50001 */ addiu $a1, $a1, 1 -/* 017A6C 70016E6C 14430005 */ bne $v0, $v1, .L70016E84 -/* 017A70 70016E70 00000000 */ nop -/* 017A74 70016E74 5487FFFA */ bnel $a0, $a3, .L70016E60 -/* 017A78 70016E78 90820000 */ lbu $v0, ($a0) -.L70016E7C: -/* 017A7C 70016E7C 03E00008 */ jr $ra -/* 017A80 70016E80 00001025 */ move $v0, $zero - -.L70016E84: -/* 017A84 70016E84 03E00008 */ jr $ra -/* 017A88 70016E88 24020001 */ li $v0, 1 - -/* 017A8C 70016E8C 00000000 */ nop -glabel guScaleF -/* 017A90 70016E90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 017A94 70016E94 AFBF0014 */ sw $ra, 0x14($sp) -/* 017A98 70016E98 AFA5001C */ sw $a1, 0x1c($sp) -/* 017A9C 70016E9C AFA60020 */ sw $a2, 0x20($sp) -/* 017AA0 70016EA0 AFA70024 */ sw $a3, 0x24($sp) -/* 017AA4 70016EA4 0C004004 */ jal guMtxIdentF -/* 017AA8 70016EA8 AFA40018 */ sw $a0, 0x18($sp) -/* 017AAC 70016EAC 8FA40018 */ lw $a0, 0x18($sp) -/* 017AB0 70016EB0 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 017AB4 70016EB4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 017AB8 70016EB8 44815000 */ mtc1 $at, $f10 -/* 017ABC 70016EBC E4840000 */ swc1 $f4, ($a0) -/* 017AC0 70016EC0 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 017AC4 70016EC4 E4860014 */ swc1 $f6, 0x14($a0) -/* 017AC8 70016EC8 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 017ACC 70016ECC E48A003C */ swc1 $f10, 0x3c($a0) -/* 017AD0 70016ED0 E4880028 */ swc1 $f8, 0x28($a0) -/* 017AD4 70016ED4 8FBF0014 */ lw $ra, 0x14($sp) -/* 017AD8 70016ED8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 017ADC 70016EDC 03E00008 */ jr $ra -/* 017AE0 70016EE0 00000000 */ nop - -glabel guScale -/* 017AE4 70016EE4 44856000 */ mtc1 $a1, $f12 -/* 017AE8 70016EE8 44867000 */ mtc1 $a2, $f14 -/* 017AEC 70016EEC 44878000 */ mtc1 $a3, $f16 -/* 017AF0 70016EF0 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 017AF4 70016EF4 AFBF0014 */ sw $ra, 0x14($sp) -/* 017AF8 70016EF8 AFA40058 */ sw $a0, 0x58($sp) -/* 017AFC 70016EFC 44056000 */ mfc1 $a1, $f12 -/* 017B00 70016F00 44067000 */ mfc1 $a2, $f14 -/* 017B04 70016F04 44078000 */ mfc1 $a3, $f16 -/* 017B08 70016F08 0C005BA4 */ jal guScaleF -/* 017B0C 70016F0C 27A40018 */ addiu $a0, $sp, 0x18 -/* 017B10 70016F10 27A40018 */ addiu $a0, $sp, 0x18 -/* 017B14 70016F14 0C003FC4 */ jal guMtxF2L -/* 017B18 70016F18 8FA50058 */ lw $a1, 0x58($sp) -/* 017B1C 70016F1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 017B20 70016F20 27BD0058 */ addiu $sp, $sp, 0x58 -/* 017B24 70016F24 03E00008 */ jr $ra -/* 017B28 70016F28 00000000 */ nop - -/* 017B2C 70016F2C 00000000 */ nop -glabel guLookAtReflectF -/* 017B30 70016F30 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 017B34 70016F34 AFBF0044 */ sw $ra, 0x44($sp) -/* 017B38 70016F38 F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 017B3C 70016F3C F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 017B40 70016F40 F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 017B44 70016F44 F7B80020 */ sdc1 $f24, 0x20($sp) -/* 017B48 70016F48 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 017B4C 70016F4C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 017B50 70016F50 AFA60050 */ sw $a2, 0x50($sp) -/* 017B54 70016F54 AFA70054 */ sw $a3, 0x54($sp) -/* 017B58 70016F58 AFA40048 */ sw $a0, 0x48($sp) -/* 017B5C 70016F5C 0C004004 */ jal guMtxIdentF -/* 017B60 70016F60 AFA5004C */ sw $a1, 0x4c($sp) -/* 017B64 70016F64 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 017B68 70016F68 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 017B6C 70016F6C C7A80060 */ lwc1 $f8, 0x60($sp) -/* 017B70 70016F70 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 017B74 70016F74 46062001 */ sub.s $f0, $f4, $f6 -/* 017B78 70016F78 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 017B7C 70016F7C C7A40064 */ lwc1 $f4, 0x64($sp) -/* 017B80 70016F80 460A4581 */ sub.s $f22, $f8, $f10 -/* 017B84 70016F84 46000202 */ mul.s $f8, $f0, $f0 -/* 017B88 70016F88 46000506 */ mov.s $f20, $f0 -/* 017B8C 70016F8C 46062601 */ sub.s $f24, $f4, $f6 -/* 017B90 70016F90 4616B282 */ mul.s $f10, $f22, $f22 -/* 017B94 70016F94 460A4100 */ add.s $f4, $f8, $f10 -/* 017B98 70016F98 4618C182 */ mul.s $f6, $f24, $f24 -/* 017B9C 70016F9C 0C007DF8 */ jal sqrtf -/* 017BA0 70016FA0 46062300 */ add.s $f12, $f4, $f6 -/* 017BA4 70016FA4 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 -/* 017BA8 70016FA8 44814800 */ mtc1 $at, $f9 -/* 017BAC 70016FAC 44804000 */ mtc1 $zero, $f8 -/* 017BB0 70016FB0 460002A1 */ cvt.d.s $f10, $f0 -/* 017BB4 70016FB4 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 017BB8 70016FB8 462A4103 */ div.d $f4, $f8, $f10 -/* 017BBC 70016FBC C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 017BC0 70016FC0 462020A0 */ cvt.s.d $f2, $f4 -/* 017BC4 70016FC4 4602A502 */ mul.s $f20, $f20, $f2 -/* 017BC8 70016FC8 00000000 */ nop -/* 017BCC 70016FCC 4602B582 */ mul.s $f22, $f22, $f2 -/* 017BD0 70016FD0 00000000 */ nop -/* 017BD4 70016FD4 4602C602 */ mul.s $f24, $f24, $f2 -/* 017BD8 70016FD8 00000000 */ nop -/* 017BDC 70016FDC 46183202 */ mul.s $f8, $f6, $f24 -/* 017BE0 70016FE0 00000000 */ nop -/* 017BE4 70016FE4 46165102 */ mul.s $f4, $f10, $f22 -/* 017BE8 70016FE8 46044681 */ sub.s $f26, $f8, $f4 -/* 017BEC 70016FEC 46145202 */ mul.s $f8, $f10, $f20 -/* 017BF0 70016FF0 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 017BF4 70016FF4 46182282 */ mul.s $f10, $f4, $f24 -/* 017BF8 70016FF8 460A4701 */ sub.s $f28, $f8, $f10 -/* 017BFC 70016FFC 46162202 */ mul.s $f8, $f4, $f22 -/* 017C00 70017000 00000000 */ nop -/* 017C04 70017004 46143282 */ mul.s $f10, $f6, $f20 -/* 017C08 70017008 460A4781 */ sub.s $f30, $f8, $f10 -/* 017C0C 7001700C 461AD102 */ mul.s $f4, $f26, $f26 -/* 017C10 70017010 00000000 */ nop -/* 017C14 70017014 461CE182 */ mul.s $f6, $f28, $f28 -/* 017C18 70017018 46062200 */ add.s $f8, $f4, $f6 -/* 017C1C 7001701C 461EF282 */ mul.s $f10, $f30, $f30 -/* 017C20 70017020 0C007DF8 */ jal sqrtf -/* 017C24 70017024 460A4300 */ add.s $f12, $f8, $f10 -/* 017C28 70017028 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 017C2C 7001702C 44812800 */ mtc1 $at, $f5 -/* 017C30 70017030 44802000 */ mtc1 $zero, $f4 -/* 017C34 70017034 460001A1 */ cvt.d.s $f6, $f0 -/* 017C38 70017038 46262203 */ div.d $f8, $f4, $f6 -/* 017C3C 7001703C 462043A0 */ cvt.s.d $f14, $f8 -/* 017C40 70017040 460ED682 */ mul.s $f26, $f26, $f14 -/* 017C44 70017044 00000000 */ nop -/* 017C48 70017048 460EE702 */ mul.s $f28, $f28, $f14 -/* 017C4C 7001704C 00000000 */ nop -/* 017C50 70017050 460EF782 */ mul.s $f30, $f30, $f14 -/* 017C54 70017054 00000000 */ nop -/* 017C58 70017058 461EB282 */ mul.s $f10, $f22, $f30 -/* 017C5C 7001705C 00000000 */ nop -/* 017C60 70017060 461CC102 */ mul.s $f4, $f24, $f28 -/* 017C64 70017064 00000000 */ nop -/* 017C68 70017068 461AC182 */ mul.s $f6, $f24, $f26 -/* 017C6C 7001706C 00000000 */ nop -/* 017C70 70017070 461EA202 */ mul.s $f8, $f20, $f30 -/* 017C74 70017074 46045081 */ sub.s $f2, $f10, $f4 -/* 017C78 70017078 461CA282 */ mul.s $f10, $f20, $f28 -/* 017C7C 7001707C 00000000 */ nop -/* 017C80 70017080 461AB102 */ mul.s $f4, $f22, $f26 -/* 017C84 70017084 E7A20068 */ swc1 $f2, 0x68($sp) -/* 017C88 70017088 46083401 */ sub.s $f16, $f6, $f8 -/* 017C8C 7001708C 46021182 */ mul.s $f6, $f2, $f2 -/* 017C90 70017090 00000000 */ nop -/* 017C94 70017094 46108202 */ mul.s $f8, $f16, $f16 -/* 017C98 70017098 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 017C9C 7001709C 46045481 */ sub.s $f18, $f10, $f4 -/* 017CA0 700170A0 46129102 */ mul.s $f4, $f18, $f18 -/* 017CA4 700170A4 46083280 */ add.s $f10, $f6, $f8 -/* 017CA8 700170A8 E7B20070 */ swc1 $f18, 0x70($sp) -/* 017CAC 700170AC 0C007DF8 */ jal sqrtf -/* 017CB0 700170B0 46045300 */ add.s $f12, $f10, $f4 -/* 017CB4 700170B4 3C018003 */ lui $at, %hi(F64_80029800) # 0x8003 -/* 017CB8 700170B8 D4229800 */ ldc1 $f2, %lo(F64_80029800)($at) # -0x6800 -/* 017CBC 700170BC 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 017CC0 700170C0 44818800 */ mtc1 $at, $f17 -/* 017CC4 700170C4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 017CC8 700170C8 44813800 */ mtc1 $at, $f7 -/* 017CCC 700170CC 44803000 */ mtc1 $zero, $f6 -/* 017CD0 700170D0 46000221 */ cvt.d.s $f8, $f0 -/* 017CD4 700170D4 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 017CD8 700170D8 46283283 */ div.d $f10, $f6, $f8 -/* 017CDC 700170DC C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 017CE0 700170E0 44808000 */ mtc1 $zero, $f16 -/* 017CE4 700170E4 8FA40048 */ lw $a0, 0x48($sp) -/* 017CE8 700170E8 8FA5004C */ lw $a1, 0x4c($sp) -/* 017CEC 700170EC 24020080 */ li $v0, 128 -/* 017CF0 700170F0 462053A0 */ cvt.s.d $f14, $f10 -/* 017CF4 700170F4 460E2182 */ mul.s $f6, $f4, $f14 -/* 017CF8 700170F8 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 017CFC 700170FC 460E4282 */ mul.s $f10, $f8, $f14 -/* 017D00 70017100 4600D221 */ cvt.d.s $f8, $f26 -/* 017D04 70017104 E7A60068 */ swc1 $f6, 0x68($sp) -/* 017D08 70017108 460E2182 */ mul.s $f6, $f4, $f14 -/* 017D0C 7001710C E7AA006C */ swc1 $f10, 0x6c($sp) -/* 017D10 70017110 46304302 */ mul.d $f12, $f8, $f16 -/* 017D14 70017114 E7A60070 */ swc1 $f6, 0x70($sp) -/* 017D18 70017118 4622603C */ c.lt.d $f12, $f2 -/* 017D1C 7001711C 00000000 */ nop -/* 017D20 70017120 45020004 */ bc1fl .L70017134 -/* 017D24 70017124 46201006 */ mov.d $f0, $f2 -/* 017D28 70017128 10000002 */ b .L70017134 -/* 017D2C 7001712C 46206006 */ mov.d $f0, $f12 -/* 017D30 70017130 46201006 */ mov.d $f0, $f2 -.L70017134: -/* 017D34 70017134 4600E121 */ cvt.d.s $f4, $f28 -/* 017D38 70017138 4620028D */ trunc.w.d $f10, $f0 -/* 017D3C 7001713C 46302302 */ mul.d $f12, $f4, $f16 -/* 017D40 70017140 44185000 */ mfc1 $t8, $f10 -/* 017D44 70017144 00000000 */ nop -/* 017D48 70017148 A0B80008 */ sb $t8, 8($a1) -/* 017D4C 7001714C 4622603C */ c.lt.d $f12, $f2 -/* 017D50 70017150 00000000 */ nop -/* 017D54 70017154 45020004 */ bc1fl .L70017168 -/* 017D58 70017158 46201006 */ mov.d $f0, $f2 -/* 017D5C 7001715C 10000002 */ b .L70017168 -/* 017D60 70017160 46206006 */ mov.d $f0, $f12 -/* 017D64 70017164 46201006 */ mov.d $f0, $f2 -.L70017168: -/* 017D68 70017168 4600F221 */ cvt.d.s $f8, $f30 -/* 017D6C 7001716C 4620018D */ trunc.w.d $f6, $f0 -/* 017D70 70017170 46304302 */ mul.d $f12, $f8, $f16 -/* 017D74 70017174 44093000 */ mfc1 $t1, $f6 -/* 017D78 70017178 00000000 */ nop -/* 017D7C 7001717C A0A90009 */ sb $t1, 9($a1) -/* 017D80 70017180 4622603C */ c.lt.d $f12, $f2 -/* 017D84 70017184 00000000 */ nop -/* 017D88 70017188 45020004 */ bc1fl .L7001719C -/* 017D8C 7001718C 46201006 */ mov.d $f0, $f2 -/* 017D90 70017190 10000002 */ b .L7001719C -/* 017D94 70017194 46206006 */ mov.d $f0, $f12 -/* 017D98 70017198 46201006 */ mov.d $f0, $f2 -.L7001719C: -/* 017D9C 7001719C 4620028D */ trunc.w.d $f10, $f0 -/* 017DA0 700171A0 440C5000 */ mfc1 $t4, $f10 -/* 017DA4 700171A4 00000000 */ nop -/* 017DA8 700171A8 A0AC000A */ sb $t4, 0xa($a1) -/* 017DAC 700171AC C7A40068 */ lwc1 $f4, 0x68($sp) -/* 017DB0 700171B0 460021A1 */ cvt.d.s $f6, $f4 -/* 017DB4 700171B4 46303302 */ mul.d $f12, $f6, $f16 -/* 017DB8 700171B8 4622603C */ c.lt.d $f12, $f2 -/* 017DBC 700171BC 00000000 */ nop -/* 017DC0 700171C0 45020004 */ bc1fl .L700171D4 -/* 017DC4 700171C4 46201006 */ mov.d $f0, $f2 -/* 017DC8 700171C8 10000002 */ b .L700171D4 -/* 017DCC 700171CC 46206006 */ mov.d $f0, $f12 -/* 017DD0 700171D0 46201006 */ mov.d $f0, $f2 -.L700171D4: -/* 017DD4 700171D4 4620020D */ trunc.w.d $f8, $f0 -/* 017DD8 700171D8 440F4000 */ mfc1 $t7, $f8 -/* 017DDC 700171DC 00000000 */ nop -/* 017DE0 700171E0 A0AF0018 */ sb $t7, 0x18($a1) -/* 017DE4 700171E4 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 017DE8 700171E8 46005121 */ cvt.d.s $f4, $f10 -/* 017DEC 700171EC 46302302 */ mul.d $f12, $f4, $f16 -/* 017DF0 700171F0 4622603C */ c.lt.d $f12, $f2 -/* 017DF4 700171F4 00000000 */ nop -/* 017DF8 700171F8 45020004 */ bc1fl .L7001720C -/* 017DFC 700171FC 46201006 */ mov.d $f0, $f2 -/* 017E00 70017200 10000002 */ b .L7001720C -/* 017E04 70017204 46206006 */ mov.d $f0, $f12 -/* 017E08 70017208 46201006 */ mov.d $f0, $f2 -.L7001720C: -/* 017E0C 7001720C 4620018D */ trunc.w.d $f6, $f0 -/* 017E10 70017210 44083000 */ mfc1 $t0, $f6 -/* 017E14 70017214 00000000 */ nop -/* 017E18 70017218 A0A80019 */ sb $t0, 0x19($a1) -/* 017E1C 7001721C C7A80070 */ lwc1 $f8, 0x70($sp) -/* 017E20 70017220 460042A1 */ cvt.d.s $f10, $f8 -/* 017E24 70017224 46305302 */ mul.d $f12, $f10, $f16 -/* 017E28 70017228 4622603C */ c.lt.d $f12, $f2 -/* 017E2C 7001722C 00000000 */ nop -/* 017E30 70017230 45020004 */ bc1fl .L70017244 -/* 017E34 70017234 46201006 */ mov.d $f0, $f2 -/* 017E38 70017238 10000002 */ b .L70017244 -/* 017E3C 7001723C 46206006 */ mov.d $f0, $f12 -/* 017E40 70017240 46201006 */ mov.d $f0, $f2 -.L70017244: -/* 017E44 70017244 4620010D */ trunc.w.d $f4, $f0 -/* 017E48 70017248 A0A00000 */ sb $zero, ($a1) -/* 017E4C 7001724C A0A00001 */ sb $zero, 1($a1) -/* 017E50 70017250 A0A00002 */ sb $zero, 2($a1) -/* 017E54 70017254 440B2000 */ mfc1 $t3, $f4 -/* 017E58 70017258 A0A00003 */ sb $zero, 3($a1) -/* 017E5C 7001725C A0A00004 */ sb $zero, 4($a1) -/* 017E60 70017260 A0A00005 */ sb $zero, 5($a1) -/* 017E64 70017264 A0A00006 */ sb $zero, 6($a1) -/* 017E68 70017268 A0A00007 */ sb $zero, 7($a1) -/* 017E6C 7001726C A0A00010 */ sb $zero, 0x10($a1) -/* 017E70 70017270 A0A20011 */ sb $v0, 0x11($a1) -/* 017E74 70017274 A0A00012 */ sb $zero, 0x12($a1) -/* 017E78 70017278 A0A00013 */ sb $zero, 0x13($a1) -/* 017E7C 7001727C A0A00014 */ sb $zero, 0x14($a1) -/* 017E80 70017280 A0A20015 */ sb $v0, 0x15($a1) -/* 017E84 70017284 A0A00016 */ sb $zero, 0x16($a1) -/* 017E88 70017288 A0A00017 */ sb $zero, 0x17($a1) -/* 017E8C 7001728C A0AB001A */ sb $t3, 0x1a($a1) -/* 017E90 70017290 E49A0000 */ swc1 $f26, ($a0) -/* 017E94 70017294 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 017E98 70017298 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 017E9C 7001729C C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 017EA0 700172A0 461A9182 */ mul.s $f6, $f18, $f26 -/* 017EA4 700172A4 C7A00068 */ lwc1 $f0, 0x68($sp) -/* 017EA8 700172A8 C7AC006C */ lwc1 $f12, 0x6c($sp) -/* 017EAC 700172AC 461C8202 */ mul.s $f8, $f16, $f28 -/* 017EB0 700172B0 C7A20070 */ lwc1 $f2, 0x70($sp) -/* 017EB4 700172B4 E49C0010 */ swc1 $f28, 0x10($a0) -/* 017EB8 700172B8 461E7102 */ mul.s $f4, $f14, $f30 -/* 017EBC 700172BC E49E0020 */ swc1 $f30, 0x20($a0) -/* 017EC0 700172C0 E4940008 */ swc1 $f20, 8($a0) -/* 017EC4 700172C4 E4960018 */ swc1 $f22, 0x18($a0) -/* 017EC8 700172C8 E4980028 */ swc1 $f24, 0x28($a0) -/* 017ECC 700172CC 46083280 */ add.s $f10, $f6, $f8 -/* 017ED0 700172D0 E4800004 */ swc1 $f0, 4($a0) -/* 017ED4 700172D4 E48C0014 */ swc1 $f12, 0x14($a0) -/* 017ED8 700172D8 E4820024 */ swc1 $f2, 0x24($a0) -/* 017EDC 700172DC 46045180 */ add.s $f6, $f10, $f4 -/* 017EE0 700172E0 46009282 */ mul.s $f10, $f18, $f0 -/* 017EE4 700172E4 44800000 */ mtc1 $zero, $f0 -/* 017EE8 700172E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 017EEC 700172EC 460C8102 */ mul.s $f4, $f16, $f12 -/* 017EF0 700172F0 46003207 */ neg.s $f8, $f6 -/* 017EF4 700172F4 E4880030 */ swc1 $f8, 0x30($a0) -/* 017EF8 700172F8 46027202 */ mul.s $f8, $f14, $f2 -/* 017EFC 700172FC 46045180 */ add.s $f6, $f10, $f4 -/* 017F00 70017300 46083280 */ add.s $f10, $f6, $f8 -/* 017F04 70017304 46005107 */ neg.s $f4, $f10 -/* 017F08 70017308 E4840034 */ swc1 $f4, 0x34($a0) -/* 017F0C 7001730C C7A60050 */ lwc1 $f6, 0x50($sp) -/* 017F10 70017310 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 017F14 70017314 46143202 */ mul.s $f8, $f6, $f20 -/* 017F18 70017318 00000000 */ nop -/* 017F1C 7001731C 46165102 */ mul.s $f4, $f10, $f22 -/* 017F20 70017320 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 017F24 70017324 E480000C */ swc1 $f0, 0xc($a0) -/* 017F28 70017328 E480001C */ swc1 $f0, 0x1c($a0) -/* 017F2C 7001732C E480002C */ swc1 $f0, 0x2c($a0) -/* 017F30 70017330 46044180 */ add.s $f6, $f8, $f4 -/* 017F34 70017334 46185202 */ mul.s $f8, $f10, $f24 -/* 017F38 70017338 46083100 */ add.s $f4, $f6, $f8 -/* 017F3C 7001733C 44813000 */ mtc1 $at, $f6 -/* 017F40 70017340 46002287 */ neg.s $f10, $f4 -/* 017F44 70017344 E486003C */ swc1 $f6, 0x3c($a0) -/* 017F48 70017348 E48A0038 */ swc1 $f10, 0x38($a0) -/* 017F4C 7001734C 8FBF0044 */ lw $ra, 0x44($sp) -/* 017F50 70017350 D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 017F54 70017354 D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 017F58 70017358 D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 017F5C 7001735C D7B80020 */ ldc1 $f24, 0x20($sp) -/* 017F60 70017360 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 017F64 70017364 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 017F68 70017368 03E00008 */ jr $ra -/* 017F6C 7001736C 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel guLookAtReflect -/* 017F70 70017370 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 017F74 70017374 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 017F78 70017378 44866000 */ mtc1 $a2, $f12 -/* 017F7C 7001737C 44877000 */ mtc1 $a3, $f14 -/* 017F80 70017380 E7A40010 */ swc1 $f4, 0x10($sp) -/* 017F84 70017384 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 017F88 70017388 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 017F8C 7001738C C7A80090 */ lwc1 $f8, 0x90($sp) -/* 017F90 70017390 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 017F94 70017394 C7B00098 */ lwc1 $f16, 0x98($sp) -/* 017F98 70017398 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 017F9C 7001739C AFBF0034 */ sw $ra, 0x34($sp) -/* 017FA0 700173A0 AFA40078 */ sw $a0, 0x78($sp) -/* 017FA4 700173A4 44066000 */ mfc1 $a2, $f12 -/* 017FA8 700173A8 44077000 */ mfc1 $a3, $f14 -/* 017FAC 700173AC 27A40038 */ addiu $a0, $sp, 0x38 -/* 017FB0 700173B0 E7A40028 */ swc1 $f4, 0x28($sp) -/* 017FB4 700173B4 E7A60014 */ swc1 $f6, 0x14($sp) -/* 017FB8 700173B8 E7A80018 */ swc1 $f8, 0x18($sp) -/* 017FBC 700173BC E7AA001C */ swc1 $f10, 0x1c($sp) -/* 017FC0 700173C0 E7B00020 */ swc1 $f16, 0x20($sp) -/* 017FC4 700173C4 0C005BCC */ jal guLookAtReflectF -/* 017FC8 700173C8 E7B20024 */ swc1 $f18, 0x24($sp) -/* 017FCC 700173CC 27A40038 */ addiu $a0, $sp, 0x38 -/* 017FD0 700173D0 0C003FC4 */ jal guMtxF2L -/* 017FD4 700173D4 8FA50078 */ lw $a1, 0x78($sp) -/* 017FD8 700173D8 8FBF0034 */ lw $ra, 0x34($sp) -/* 017FDC 700173DC 27BD0078 */ addiu $sp, $sp, 0x78 -/* 017FE0 700173E0 03E00008 */ jr $ra -/* 017FE4 700173E4 00000000 */ nop - -.align 4 - -.section .rodata -glabel F64_80029800 -.double 127.0 -.align 4 - -.section .text -glabel guLookAtF -/* 017FF0 700173F0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 017FF4 700173F4 AFBF004C */ sw $ra, 0x4c($sp) -/* 017FF8 700173F8 AFB00048 */ sw $s0, 0x48($sp) -/* 017FFC 700173FC 00808025 */ move $s0, $a0 -/* 018000 70017400 F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 018004 70017404 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 018008 70017408 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 01800C 7001740C F7B80028 */ sdc1 $f24, 0x28($sp) -/* 018010 70017410 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 018014 70017414 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 018018 70017418 AFA50054 */ sw $a1, 0x54($sp) -/* 01801C 7001741C AFA60058 */ sw $a2, 0x58($sp) -/* 018020 70017420 0C004004 */ jal guMtxIdentF -/* 018024 70017424 AFA7005C */ sw $a3, 0x5c($sp) -/* 018028 70017428 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 01802C 7001742C C7A60054 */ lwc1 $f6, 0x54($sp) -/* 018030 70017430 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 018034 70017434 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 018038 70017438 46062001 */ sub.s $f0, $f4, $f6 -/* 01803C 7001743C C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 018040 70017440 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 018044 70017444 460A4581 */ sub.s $f22, $f8, $f10 -/* 018048 70017448 46000202 */ mul.s $f8, $f0, $f0 -/* 01804C 7001744C 46000506 */ mov.s $f20, $f0 -/* 018050 70017450 46062601 */ sub.s $f24, $f4, $f6 -/* 018054 70017454 4616B282 */ mul.s $f10, $f22, $f22 -/* 018058 70017458 460A4100 */ add.s $f4, $f8, $f10 -/* 01805C 7001745C 4618C182 */ mul.s $f6, $f24, $f24 -/* 018060 70017460 0C007DF8 */ jal sqrtf -/* 018064 70017464 46062300 */ add.s $f12, $f4, $f6 -/* 018068 70017468 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 -/* 01806C 7001746C 44814800 */ mtc1 $at, $f9 -/* 018070 70017470 44804000 */ mtc1 $zero, $f8 -/* 018074 70017474 460002A1 */ cvt.d.s $f10, $f0 -/* 018078 70017478 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 01807C 7001747C 462A4103 */ div.d $f4, $f8, $f10 -/* 018080 70017480 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 018084 70017484 462020A0 */ cvt.s.d $f2, $f4 -/* 018088 70017488 4602A502 */ mul.s $f20, $f20, $f2 -/* 01808C 7001748C 00000000 */ nop -/* 018090 70017490 4602B582 */ mul.s $f22, $f22, $f2 -/* 018094 70017494 00000000 */ nop -/* 018098 70017498 4602C602 */ mul.s $f24, $f24, $f2 -/* 01809C 7001749C 00000000 */ nop -/* 0180A0 700174A0 46183202 */ mul.s $f8, $f6, $f24 -/* 0180A4 700174A4 00000000 */ nop -/* 0180A8 700174A8 46165102 */ mul.s $f4, $f10, $f22 -/* 0180AC 700174AC 46044681 */ sub.s $f26, $f8, $f4 -/* 0180B0 700174B0 46145202 */ mul.s $f8, $f10, $f20 -/* 0180B4 700174B4 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 0180B8 700174B8 46182282 */ mul.s $f10, $f4, $f24 -/* 0180BC 700174BC 460A4701 */ sub.s $f28, $f8, $f10 -/* 0180C0 700174C0 46162202 */ mul.s $f8, $f4, $f22 -/* 0180C4 700174C4 00000000 */ nop -/* 0180C8 700174C8 46143282 */ mul.s $f10, $f6, $f20 -/* 0180CC 700174CC 460A4781 */ sub.s $f30, $f8, $f10 -/* 0180D0 700174D0 461AD102 */ mul.s $f4, $f26, $f26 -/* 0180D4 700174D4 00000000 */ nop -/* 0180D8 700174D8 461CE182 */ mul.s $f6, $f28, $f28 -/* 0180DC 700174DC 46062200 */ add.s $f8, $f4, $f6 -/* 0180E0 700174E0 461EF282 */ mul.s $f10, $f30, $f30 -/* 0180E4 700174E4 0C007DF8 */ jal sqrtf -/* 0180E8 700174E8 460A4300 */ add.s $f12, $f8, $f10 -/* 0180EC 700174EC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0180F0 700174F0 44812800 */ mtc1 $at, $f5 -/* 0180F4 700174F4 44802000 */ mtc1 $zero, $f4 -/* 0180F8 700174F8 460001A1 */ cvt.d.s $f6, $f0 -/* 0180FC 700174FC 46262203 */ div.d $f8, $f4, $f6 -/* 018100 70017500 462040A0 */ cvt.s.d $f2, $f8 -/* 018104 70017504 4602D682 */ mul.s $f26, $f26, $f2 -/* 018108 70017508 00000000 */ nop -/* 01810C 7001750C 4602E702 */ mul.s $f28, $f28, $f2 -/* 018110 70017510 00000000 */ nop -/* 018114 70017514 4602F782 */ mul.s $f30, $f30, $f2 -/* 018118 70017518 00000000 */ nop -/* 01811C 7001751C 461EB282 */ mul.s $f10, $f22, $f30 -/* 018120 70017520 00000000 */ nop -/* 018124 70017524 461CC102 */ mul.s $f4, $f24, $f28 -/* 018128 70017528 00000000 */ nop -/* 01812C 7001752C 461AC182 */ mul.s $f6, $f24, $f26 -/* 018130 70017530 00000000 */ nop -/* 018134 70017534 461EA202 */ mul.s $f8, $f20, $f30 -/* 018138 70017538 46045381 */ sub.s $f14, $f10, $f4 -/* 01813C 7001753C 461CA282 */ mul.s $f10, $f20, $f28 -/* 018140 70017540 00000000 */ nop -/* 018144 70017544 461AB102 */ mul.s $f4, $f22, $f26 -/* 018148 70017548 E7AE006C */ swc1 $f14, 0x6c($sp) -/* 01814C 7001754C 46083401 */ sub.s $f16, $f6, $f8 -/* 018150 70017550 460E7182 */ mul.s $f6, $f14, $f14 -/* 018154 70017554 00000000 */ nop -/* 018158 70017558 46108202 */ mul.s $f8, $f16, $f16 -/* 01815C 7001755C E7B00070 */ swc1 $f16, 0x70($sp) -/* 018160 70017560 46045481 */ sub.s $f18, $f10, $f4 -/* 018164 70017564 46129102 */ mul.s $f4, $f18, $f18 -/* 018168 70017568 46083280 */ add.s $f10, $f6, $f8 -/* 01816C 7001756C E7B20074 */ swc1 $f18, 0x74($sp) -/* 018170 70017570 0C007DF8 */ jal sqrtf -/* 018174 70017574 46045300 */ add.s $f12, $f10, $f4 -/* 018178 70017578 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 01817C 7001757C 44813800 */ mtc1 $at, $f7 -/* 018180 70017580 44803000 */ mtc1 $zero, $f6 -/* 018184 70017584 46000221 */ cvt.d.s $f8, $f0 -/* 018188 70017588 C7AE006C */ lwc1 $f14, 0x6c($sp) -/* 01818C 7001758C 46283283 */ div.d $f10, $f6, $f8 -/* 018190 70017590 C7AC0070 */ lwc1 $f12, 0x70($sp) -/* 018194 70017594 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 018198 70017598 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01819C 7001759C 462050A0 */ cvt.s.d $f2, $f10 -/* 0181A0 700175A0 46027382 */ mul.s $f14, $f14, $f2 -/* 0181A4 700175A4 00000000 */ nop -/* 0181A8 700175A8 46026302 */ mul.s $f12, $f12, $f2 -/* 0181AC 700175AC 00000000 */ nop -/* 0181B0 700175B0 46022182 */ mul.s $f6, $f4, $f2 -/* 0181B4 700175B4 E7A60074 */ swc1 $f6, 0x74($sp) -/* 0181B8 700175B8 E61A0000 */ swc1 $f26, ($s0) -/* 0181BC 700175BC E61C0010 */ swc1 $f28, 0x10($s0) -/* 0181C0 700175C0 E61E0020 */ swc1 $f30, 0x20($s0) -/* 0181C4 700175C4 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 0181C8 700175C8 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0181CC 700175CC 461A4282 */ mul.s $f10, $f8, $f26 -/* 0181D0 700175D0 00000000 */ nop -/* 0181D4 700175D4 461C2182 */ mul.s $f6, $f4, $f28 -/* 0181D8 700175D8 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 0181DC 700175DC E60E0004 */ swc1 $f14, 4($s0) -/* 0181E0 700175E0 E60C0014 */ swc1 $f12, 0x14($s0) -/* 0181E4 700175E4 46065200 */ add.s $f8, $f10, $f6 -/* 0181E8 700175E8 461E2282 */ mul.s $f10, $f4, $f30 -/* 0181EC 700175EC 460A4180 */ add.s $f6, $f8, $f10 -/* 0181F0 700175F0 46003107 */ neg.s $f4, $f6 -/* 0181F4 700175F4 E6040030 */ swc1 $f4, 0x30($s0) -/* 0181F8 700175F8 C7A00074 */ lwc1 $f0, 0x74($sp) -/* 0181FC 700175FC E7AC0070 */ swc1 $f12, 0x70($sp) -/* 018200 70017600 E7AE006C */ swc1 $f14, 0x6c($sp) -/* 018204 70017604 C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 018208 70017608 C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 01820C 7001760C C7A2005C */ lwc1 $f2, 0x5c($sp) -/* 018210 70017610 E6000024 */ swc1 $f0, 0x24($s0) -/* 018214 70017614 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 018218 70017618 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 01821C 7001761C E6140008 */ swc1 $f20, 8($s0) -/* 018220 70017620 46087282 */ mul.s $f10, $f14, $f8 -/* 018224 70017624 E6160018 */ swc1 $f22, 0x18($s0) -/* 018228 70017628 E6180028 */ swc1 $f24, 0x28($s0) -/* 01822C 7001762C 46066102 */ mul.s $f4, $f12, $f6 -/* 018230 70017630 46045200 */ add.s $f8, $f10, $f4 -/* 018234 70017634 46001182 */ mul.s $f6, $f2, $f0 -/* 018238 70017638 44800000 */ mtc1 $zero, $f0 -/* 01823C 7001763C 00000000 */ nop -/* 018240 70017640 E600000C */ swc1 $f0, 0xc($s0) -/* 018244 70017644 E600001C */ swc1 $f0, 0x1c($s0) -/* 018248 70017648 E600002C */ swc1 $f0, 0x2c($s0) -/* 01824C 7001764C 46064280 */ add.s $f10, $f8, $f6 -/* 018250 70017650 46147202 */ mul.s $f8, $f14, $f20 -/* 018254 70017654 00000000 */ nop -/* 018258 70017658 46166182 */ mul.s $f6, $f12, $f22 -/* 01825C 7001765C 46005107 */ neg.s $f4, $f10 -/* 018260 70017660 E6040034 */ swc1 $f4, 0x34($s0) -/* 018264 70017664 46181102 */ mul.s $f4, $f2, $f24 -/* 018268 70017668 46064280 */ add.s $f10, $f8, $f6 -/* 01826C 7001766C 46045200 */ add.s $f8, $f10, $f4 -/* 018270 70017670 44815000 */ mtc1 $at, $f10 -/* 018274 70017674 46004187 */ neg.s $f6, $f8 -/* 018278 70017678 E60A003C */ swc1 $f10, 0x3c($s0) -/* 01827C 7001767C E6060038 */ swc1 $f6, 0x38($s0) -/* 018280 70017680 8FBF004C */ lw $ra, 0x4c($sp) -/* 018284 70017684 8FB00048 */ lw $s0, 0x48($sp) -/* 018288 70017688 D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 01828C 7001768C D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 018290 70017690 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 018294 70017694 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 018298 70017698 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 01829C 7001769C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0182A0 700176A0 03E00008 */ jr $ra -/* 0182A4 700176A4 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel guLookAt -/* 0182A8 700176A8 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0182AC 700176AC C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0182B0 700176B0 44856000 */ mtc1 $a1, $f12 -/* 0182B4 700176B4 44867000 */ mtc1 $a2, $f14 -/* 0182B8 700176B8 44878000 */ mtc1 $a3, $f16 -/* 0182BC 700176BC E7A40010 */ swc1 $f4, 0x10($sp) -/* 0182C0 700176C0 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0182C4 700176C4 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 0182C8 700176C8 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 0182CC 700176CC C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0182D0 700176D0 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 0182D4 700176D4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0182D8 700176D8 AFA40070 */ sw $a0, 0x70($sp) -/* 0182DC 700176DC 44056000 */ mfc1 $a1, $f12 -/* 0182E0 700176E0 44067000 */ mfc1 $a2, $f14 -/* 0182E4 700176E4 44078000 */ mfc1 $a3, $f16 -/* 0182E8 700176E8 27A40030 */ addiu $a0, $sp, 0x30 -/* 0182EC 700176EC E7A40024 */ swc1 $f4, 0x24($sp) -/* 0182F0 700176F0 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0182F4 700176F4 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0182F8 700176F8 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0182FC 700176FC 0C005CFC */ jal guLookAtF -/* 018300 70017700 E7B20020 */ swc1 $f18, 0x20($sp) -/* 018304 70017704 27A40030 */ addiu $a0, $sp, 0x30 -/* 018308 70017708 0C003FC4 */ jal guMtxF2L -/* 01830C 7001770C 8FA50070 */ lw $a1, 0x70($sp) -/* 018310 70017710 8FBF002C */ lw $ra, 0x2c($sp) -/* 018314 70017714 27BD0070 */ addiu $sp, $sp, 0x70 -/* 018318 70017718 03E00008 */ jr $ra -/* 01831C 7001771C 00000000 */ nop - -glabel guRotateF -/* 018320 70017720 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 018324 70017724 3C018003 */ lui $at, %hi(F32_80029810) # $at, 0x8003 -/* 018328 70017728 C4249810 */ lwc1 $f4, %lo(F32_80029810)($at) -/* 01832C 7001772C AFB00018 */ sw $s0, 0x18($sp) -/* 018330 70017730 00808025 */ move $s0, $a0 -/* 018334 70017734 3C018006 */ li $at, 0x80060000 # -0.000000 -/* 018338 70017738 AFBF001C */ sw $ra, 0x1c($sp) -/* 01833C 7001773C AFA5003C */ sw $a1, 0x3c($sp) -/* 018340 70017740 AFA60040 */ sw $a2, 0x40($sp) -/* 018344 70017744 AFA70044 */ sw $a3, 0x44($sp) -/* 018348 70017748 27A60048 */ addiu $a2, $sp, 0x48 -/* 01834C 7001774C 27A50044 */ addiu $a1, $sp, 0x44 -/* 018350 70017750 27A40040 */ addiu $a0, $sp, 0x40 -/* 018354 70017754 0C007DD4 */ jal guNormalize -/* 018358 70017758 E4247DE0 */ swc1 $f4, %lo(flt_CODE_bss_80067DE0)($at) -/* 01835C 7001775C 3C018006 */ li $at, 0x80060000 # -0.000000 -/* 018360 70017760 C7AC003C */ lwc1 $f12, 0x3c($sp) -/* 018364 70017764 C4267DE0 */ lwc1 $f6, %lo(flt_CODE_bss_80067DE0)($at) -/* 018368 70017768 46066302 */ mul.s $f12, $f12, $f6 -/* 01836C 7001776C 0FC15FAB */ jal sinf -/* 018370 70017770 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 018374 70017774 C7AC003C */ lwc1 $f12, 0x3c($sp) -/* 018378 70017778 0FC15FA8 */ jal cosf -/* 01837C 7001777C E7A00034 */ swc1 $f0, 0x34($sp) -/* 018380 70017780 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 018384 70017784 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 018388 70017788 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01838C 7001778C 44814000 */ mtc1 $at, $f8 -/* 018390 70017790 46045182 */ mul.s $f6, $f10, $f4 -/* 018394 70017794 02002025 */ move $a0, $s0 -/* 018398 70017798 46004081 */ sub.s $f2, $f8, $f0 -/* 01839C 7001779C C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0183A0 700177A0 E7A00030 */ swc1 $f0, 0x30($sp) -/* 0183A4 700177A4 46023402 */ mul.s $f16, $f6, $f2 -/* 0183A8 700177A8 00000000 */ nop -/* 0183AC 700177AC 46082182 */ mul.s $f6, $f4, $f8 -/* 0183B0 700177B0 E7B0002C */ swc1 $f16, 0x2c($sp) -/* 0183B4 700177B4 46023482 */ mul.s $f18, $f6, $f2 -/* 0183B8 700177B8 00000000 */ nop -/* 0183BC 700177BC 460A4102 */ mul.s $f4, $f8, $f10 -/* 0183C0 700177C0 E7B20028 */ swc1 $f18, 0x28($sp) -/* 0183C4 700177C4 46022182 */ mul.s $f6, $f4, $f2 -/* 0183C8 700177C8 0C004004 */ jal guMtxIdentF -/* 0183CC 700177CC E7A60024 */ swc1 $f6, 0x24($sp) -/* 0183D0 700177D0 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 0183D4 700177D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0183D8 700177D8 44815000 */ mtc1 $at, $f10 -/* 0183DC 700177DC 46084002 */ mul.s $f0, $f8, $f8 -/* 0183E0 700177E0 C7AC0030 */ lwc1 $f12, 0x30($sp) -/* 0183E4 700177E4 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 0183E8 700177E8 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 0183EC 700177EC C7B20028 */ lwc1 $f18, 0x28($sp) -/* 0183F0 700177F0 46005101 */ sub.s $f4, $f10, $f0 -/* 0183F4 700177F4 460C2182 */ mul.s $f6, $f4, $f12 -/* 0183F8 700177F8 46003200 */ add.s $f8, $f6, $f0 -/* 0183FC 700177FC E6080000 */ swc1 $f8, ($s0) -/* 018400 70017800 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 018404 70017804 460E5102 */ mul.s $f4, $f10, $f14 -/* 018408 70017808 46049181 */ sub.s $f6, $f18, $f4 -/* 01840C 7001780C E6060024 */ swc1 $f6, 0x24($s0) -/* 018410 70017810 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 018414 70017814 460E4282 */ mul.s $f10, $f8, $f14 -/* 018418 70017818 44814000 */ mtc1 $at, $f8 -/* 01841C 7001781C 46125100 */ add.s $f4, $f10, $f18 -/* 018420 70017820 E6040018 */ swc1 $f4, 0x18($s0) -/* 018424 70017824 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 018428 70017828 46063082 */ mul.s $f2, $f6, $f6 -/* 01842C 7001782C 46024281 */ sub.s $f10, $f8, $f2 -/* 018430 70017830 460C5102 */ mul.s $f4, $f10, $f12 -/* 018434 70017834 46022180 */ add.s $f6, $f4, $f2 -/* 018438 70017838 E6060014 */ swc1 $f6, 0x14($s0) -/* 01843C 7001783C C7A80044 */ lwc1 $f8, 0x44($sp) -/* 018440 70017840 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 018444 70017844 460E4282 */ mul.s $f10, $f8, $f14 -/* 018448 70017848 46045180 */ add.s $f6, $f10, $f4 -/* 01844C 7001784C E6060020 */ swc1 $f6, 0x20($s0) -/* 018450 70017850 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 018454 70017854 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 018458 70017858 460E5102 */ mul.s $f4, $f10, $f14 -/* 01845C 7001785C 46044181 */ sub.s $f6, $f8, $f4 -/* 018460 70017860 44814000 */ mtc1 $at, $f8 -/* 018464 70017864 E6060008 */ swc1 $f6, 8($s0) -/* 018468 70017868 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 01846C 7001786C 460A5002 */ mul.s $f0, $f10, $f10 -/* 018470 70017870 46004101 */ sub.s $f4, $f8, $f0 -/* 018474 70017874 460C2182 */ mul.s $f6, $f4, $f12 -/* 018478 70017878 46003280 */ add.s $f10, $f6, $f0 -/* 01847C 7001787C E60A0028 */ swc1 $f10, 0x28($s0) -/* 018480 70017880 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 018484 70017884 460E4102 */ mul.s $f4, $f8, $f14 -/* 018488 70017888 46048181 */ sub.s $f6, $f16, $f4 -/* 01848C 7001788C E6060010 */ swc1 $f6, 0x10($s0) -/* 018490 70017890 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 018494 70017894 460E5202 */ mul.s $f8, $f10, $f14 -/* 018498 70017898 46104100 */ add.s $f4, $f8, $f16 -/* 01849C 7001789C E6040004 */ swc1 $f4, 4($s0) -/* 0184A0 700178A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0184A4 700178A4 8FB00018 */ lw $s0, 0x18($sp) -/* 0184A8 700178A8 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0184AC 700178AC 03E00008 */ jr $ra -/* 0184B0 700178B0 00000000 */ nop - -glabel guRotate -/* 0184B4 700178B4 44856000 */ mtc1 $a1, $f12 -/* 0184B8 700178B8 44867000 */ mtc1 $a2, $f14 -/* 0184BC 700178BC 44878000 */ mtc1 $a3, $f16 -/* 0184C0 700178C0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0184C4 700178C4 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0184C8 700178C8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0184CC 700178CC AFA40060 */ sw $a0, 0x60($sp) -/* 0184D0 700178D0 44056000 */ mfc1 $a1, $f12 -/* 0184D4 700178D4 44067000 */ mfc1 $a2, $f14 -/* 0184D8 700178D8 44078000 */ mfc1 $a3, $f16 -/* 0184DC 700178DC 27A40020 */ addiu $a0, $sp, 0x20 -/* 0184E0 700178E0 0C005DC8 */ jal guRotateF -/* 0184E4 700178E4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0184E8 700178E8 27A40020 */ addiu $a0, $sp, 0x20 -/* 0184EC 700178EC 0C003FC4 */ jal guMtxF2L -/* 0184F0 700178F0 8FA50060 */ lw $a1, 0x60($sp) -/* 0184F4 700178F4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0184F8 700178F8 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0184FC 700178FC 03E00008 */ jr $ra -/* 018500 70017900 00000000 */ nop -.align 4 - -.section .rodata -glabel F32_80029810 -.float 0.017453292 -.align 4 - -.section .text -glabel __d_to_ll -/* 018510 70017910 46206109 */ trunc.l.d $f4, $f12 -/* 018514 70017914 44222000 */ dmfc1 $v0, $f4 -/* 018518 70017918 00000000 */ nop -/* 01851C 7001791C 0002183C */ dsll32 $v1, $v0, 0 -/* 018520 70017920 0003183F */ dsra32 $v1, $v1, 0 -/* 018524 70017924 03E00008 */ jr $ra -/* 018528 70017928 0002103F */ dsra32 $v0, $v0, 0 - -glabel __f_to_ll -/* 01852C 7001792C 46006109 */ trunc.l.s $f4, $f12 -/* 018530 70017930 44222000 */ dmfc1 $v0, $f4 -/* 018534 70017934 00000000 */ nop -/* 018538 70017938 0002183C */ dsll32 $v1, $v0, 0 -/* 01853C 7001793C 0003183F */ dsra32 $v1, $v1, 0 -/* 018540 70017940 03E00008 */ jr $ra -/* 018544 70017944 0002103F */ dsra32 $v0, $v0, 0 - -glabel __d_to_ull -/* 018548 70017948 444EF800 */ cfc1 $t6, $31 -/* 01854C 7001794C 24020001 */ li $v0, 1 -/* 018550 70017950 44C2F800 */ ctc1 $v0, $31 -/* 018554 70017954 00000000 */ nop -/* 018558 70017958 46206125 */ cvt.l.d $f4, $f12 -/* 01855C 7001795C 4442F800 */ cfc1 $v0, $31 -/* 018560 70017960 00000000 */ nop -/* 018564 70017964 30410004 */ andi $at, $v0, 4 -/* 018568 70017968 30420078 */ andi $v0, $v0, 0x78 -/* 01856C 7001796C 10400015 */ beqz $v0, .L700179C4 -/* 018570 70017970 3C0143E0 */ li $at, 0x43E00000 # 448.000000 -/* 018574 70017974 44812800 */ mtc1 $at, $f5 -/* 018578 70017978 44802000 */ mtc1 $zero, $f4 -/* 01857C 7001797C 24020001 */ li $v0, 1 -/* 018580 70017980 46246101 */ sub.d $f4, $f12, $f4 -/* 018584 70017984 44C2F800 */ ctc1 $v0, $31 -/* 018588 70017988 00000000 */ nop -/* 01858C 7001798C 46202125 */ cvt.l.d $f4, $f4 -/* 018590 70017990 4442F800 */ cfc1 $v0, $31 -/* 018594 70017994 00000000 */ nop -/* 018598 70017998 30410004 */ andi $at, $v0, 4 -/* 01859C 7001799C 30420078 */ andi $v0, $v0, 0x78 -/* 0185A0 700179A0 14400006 */ bnez $v0, .L700179BC -/* 0185A4 700179A4 00000000 */ nop -/* 0185A8 700179A8 3C0F8003 */ lui $t7, %hi(D_80029820) -/* 0185AC 700179AC DDEF9820 */ ld $t7, %lo(D_80029820)($t7) -/* 0185B0 700179B0 44222000 */ dmfc1 $v0, $f4 -/* 0185B4 700179B4 10000007 */ b .L700179D4 -/* 0185B8 700179B8 004F1025 */ or $v0, $v0, $t7 -.L700179BC: -/* 0185BC 700179BC 10000005 */ b .L700179D4 -/* 0185C0 700179C0 2402FFFF */ li $v0, -1 -.L700179C4: -/* 0185C4 700179C4 44222000 */ dmfc1 $v0, $f4 -/* 0185C8 700179C8 00000000 */ nop -/* 0185CC 700179CC 0440FFFB */ bltz $v0, .L700179BC -/* 0185D0 700179D0 00000000 */ nop -.L700179D4: -/* 0185D4 700179D4 44CEF800 */ ctc1 $t6, $31 -/* 0185D8 700179D8 0002183C */ dsll32 $v1, $v0, 0 -/* 0185DC 700179DC 0003183F */ dsra32 $v1, $v1, 0 -/* 0185E0 700179E0 03E00008 */ jr $ra -/* 0185E4 700179E4 0002103F */ dsra32 $v0, $v0, 0 - -glabel __f_to_ull -/* 0185E8 700179E8 444EF800 */ cfc1 $t6, $31 -/* 0185EC 700179EC 24020001 */ li $v0, 1 -/* 0185F0 700179F0 44C2F800 */ ctc1 $v0, $31 -/* 0185F4 700179F4 00000000 */ nop -/* 0185F8 700179F8 46006125 */ cvt.l.s $f4, $f12 -/* 0185FC 700179FC 4442F800 */ cfc1 $v0, $31 -/* 018600 70017A00 00000000 */ nop -/* 018604 70017A04 30410004 */ andi $at, $v0, 4 -/* 018608 70017A08 30420078 */ andi $v0, $v0, 0x78 -/* 01860C 70017A0C 10400014 */ beqz $v0, .L70017A60 -/* 018610 70017A10 3C015F00 */ li $at, 0x5F000000 # 9223372036854775808.000000 -/* 018614 70017A14 44812000 */ mtc1 $at, $f4 -/* 018618 70017A18 24020001 */ li $v0, 1 -/* 01861C 70017A1C 46046101 */ sub.s $f4, $f12, $f4 -/* 018620 70017A20 44C2F800 */ ctc1 $v0, $31 -/* 018624 70017A24 00000000 */ nop -/* 018628 70017A28 46002125 */ cvt.l.s $f4, $f4 -/* 01862C 70017A2C 4442F800 */ cfc1 $v0, $31 -/* 018630 70017A30 00000000 */ nop -/* 018634 70017A34 30410004 */ andi $at, $v0, 4 -/* 018638 70017A38 30420078 */ andi $v0, $v0, 0x78 -/* 01863C 70017A3C 14400006 */ bnez $v0, .L70017A58 -/* 018640 70017A40 00000000 */ nop -/* 018644 70017A44 3C0F8003 */ lui $t7, %hi(D_80029828) -/* 018648 70017A48 DDEF9828 */ ld $t7, %lo(D_80029828)($t7) -/* 01864C 70017A4C 44222000 */ dmfc1 $v0, $f4 -/* 018650 70017A50 10000007 */ b .L70017A70 -/* 018654 70017A54 004F1025 */ or $v0, $v0, $t7 -.L70017A58: -/* 018658 70017A58 10000005 */ b .L70017A70 -/* 01865C 70017A5C 2402FFFF */ li $v0, -1 -.L70017A60: -/* 018660 70017A60 44222000 */ dmfc1 $v0, $f4 -/* 018664 70017A64 00000000 */ nop -/* 018668 70017A68 0440FFFB */ bltz $v0, .L70017A58 -/* 01866C 70017A6C 00000000 */ nop -.L70017A70: -/* 018670 70017A70 44CEF800 */ ctc1 $t6, $31 -/* 018674 70017A74 0002183C */ dsll32 $v1, $v0, 0 -/* 018678 70017A78 0003183F */ dsra32 $v1, $v1, 0 -/* 01867C 70017A7C 03E00008 */ jr $ra -/* 018680 70017A80 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_to_d -/* 018684 70017A84 AFA40000 */ sw $a0, ($sp) -/* 018688 70017A88 AFA50004 */ sw $a1, 4($sp) -/* 01868C 70017A8C DFAE0000 */ ld $t6, ($sp) -/* 018690 70017A90 44AE2000 */ dmtc1 $t6, $f4 -/* 018694 70017A94 03E00008 */ jr $ra -/* 018698 70017A98 46A02021 */ cvt.d.l $f0, $f4 - -glabel __ll_to_f -/* 01869C 70017A9C AFA40000 */ sw $a0, ($sp) -/* 0186A0 70017AA0 AFA50004 */ sw $a1, 4($sp) -/* 0186A4 70017AA4 DFAE0000 */ ld $t6, ($sp) -/* 0186A8 70017AA8 44AE2000 */ dmtc1 $t6, $f4 -/* 0186AC 70017AAC 03E00008 */ jr $ra -/* 0186B0 70017AB0 46A02020 */ cvt.s.l $f0, $f4 - -glabel __ull_to_d -/* 0186B4 70017AB4 AFA40000 */ sw $a0, ($sp) -/* 0186B8 70017AB8 AFA50004 */ sw $a1, 4($sp) -/* 0186BC 70017ABC DFAE0000 */ ld $t6, ($sp) -/* 0186C0 70017AC0 44AE2000 */ dmtc1 $t6, $f4 -/* 0186C4 70017AC4 05C10006 */ bgez $t6, .L70017AE0 -/* 0186C8 70017AC8 46A02021 */ cvt.d.l $f0, $f4 -/* 0186CC 70017ACC 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0186D0 70017AD0 44813800 */ mtc1 $at, $f7 -/* 0186D4 70017AD4 44803000 */ mtc1 $zero, $f6 -/* 0186D8 70017AD8 00000000 */ nop -/* 0186DC 70017ADC 46260000 */ add.d $f0, $f0, $f6 -.L70017AE0: -/* 0186E0 70017AE0 03E00008 */ jr $ra -/* 0186E4 70017AE4 00000000 */ nop - -glabel __ull_to_f -/* 0186E8 70017AE8 AFA40000 */ sw $a0, ($sp) -/* 0186EC 70017AEC AFA50004 */ sw $a1, 4($sp) -/* 0186F0 70017AF0 DFAE0000 */ ld $t6, ($sp) -/* 0186F4 70017AF4 44AE2000 */ dmtc1 $t6, $f4 -/* 0186F8 70017AF8 05C10005 */ bgez $t6, .L70017B10 -/* 0186FC 70017AFC 46A02020 */ cvt.s.l $f0, $f4 -/* 018700 70017B00 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 018704 70017B04 44813000 */ mtc1 $at, $f6 -/* 018708 70017B08 00000000 */ nop -/* 01870C 70017B0C 46060000 */ add.s $f0, $f0, $f6 -.L70017B10: -/* 018710 70017B10 03E00008 */ jr $ra -/* 018714 70017B14 00000000 */ nop -.align 4 -.section .rodata -glabel D_80029820 -.word 0x80000000, 0 -glabel D_80029828 -.word 0x80000000, 0 - -.section .text -glabel __osSetSR -/* 018720 70017B20 40846000 */ mtc0 $a0, $12 -/* 018724 70017B24 00000000 */ nop -/* 018728 70017B28 03E00008 */ jr $ra -/* 01872C 70017B2C 00000000 */ nop - -glabel __osGetSR -/* 018730 70017B30 40026000 */ mfc0 $v0, $12 -/* 018734 70017B34 03E00008 */ jr $ra -/* 018738 70017B38 00000000 */ nop - -/* 01873C 70017B3C 00000000 */ nop -glabel __osSiRawReadIo -/* 018740 70017B40 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 018744 70017B44 AFBF0014 */ sw $ra, 0x14($sp) -/* 018748 70017B48 AFA40018 */ sw $a0, 0x18($sp) -/* 01874C 70017B4C 0C007DC8 */ jal __osSiDeviceBusy -/* 018750 70017B50 AFA5001C */ sw $a1, 0x1c($sp) -/* 018754 70017B54 10400003 */ beqz $v0, .L70017B64 -/* 018758 70017B58 00000000 */ nop -/* 01875C 70017B5C 10000008 */ b .L70017B80 -/* 018760 70017B60 2402FFFF */ li $v0, -1 -.L70017B64: -/* 018764 70017B64 8FAE0018 */ lw $t6, 0x18($sp) -/* 018768 70017B68 3C01A000 */ lui $at, 0xa000 -/* 01876C 70017B6C 8FB9001C */ lw $t9, 0x1c($sp) -/* 018770 70017B70 01C17825 */ or $t7, $t6, $at -/* 018774 70017B74 8DF80000 */ lw $t8, ($t7) -/* 018778 70017B78 00001025 */ move $v0, $zero -/* 01877C 70017B7C AF380000 */ sw $t8, ($t9) -.L70017B80: -/* 018780 70017B80 8FBF0014 */ lw $ra, 0x14($sp) -/* 018784 70017B84 27BD0018 */ addiu $sp, $sp, 0x18 -/* 018788 70017B88 03E00008 */ jr $ra -/* 01878C 70017B8C 00000000 */ nop - -glabel __osSiRawWriteIo -/* 018790 70017B90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 018794 70017B94 AFBF0014 */ sw $ra, 0x14($sp) -/* 018798 70017B98 AFA40018 */ sw $a0, 0x18($sp) -/* 01879C 70017B9C 0C007DC8 */ jal __osSiDeviceBusy -/* 0187A0 70017BA0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0187A4 70017BA4 10400003 */ beqz $v0, .L70017BB4 -/* 0187A8 70017BA8 00000000 */ nop -/* 0187AC 70017BAC 10000007 */ b .L70017BCC -/* 0187B0 70017BB0 2402FFFF */ li $v0, -1 -.L70017BB4: -/* 0187B4 70017BB4 8FAF0018 */ lw $t7, 0x18($sp) -/* 0187B8 70017BB8 8FAE001C */ lw $t6, 0x1c($sp) -/* 0187BC 70017BBC 3C01A000 */ lui $at, 0xa000 -/* 0187C0 70017BC0 01E1C025 */ or $t8, $t7, $at -/* 0187C4 70017BC4 00001025 */ move $v0, $zero -/* 0187C8 70017BC8 AF0E0000 */ sw $t6, ($t8) -.L70017BCC: -/* 0187CC 70017BCC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0187D0 70017BD0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0187D4 70017BD4 03E00008 */ jr $ra -/* 0187D8 70017BD8 00000000 */ nop - -/* 0187DC 70017BDC 00000000 */ nop -glabel osPiRawReadIo -/* 0187E0 70017BE0 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 -/* 0187E4 70017BE4 8DC60010 */ lw $a2, %lo(PI_STATUS_REG)($t6) -/* 0187E8 70017BE8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0187EC 70017BEC 30CF0003 */ andi $t7, $a2, 3 -/* 0187F0 70017BF0 11E00006 */ beqz $t7, .L70017C0C -/* 0187F4 70017BF4 00000000 */ nop -.L70017BF8: -/* 0187F8 70017BF8 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 0187FC 70017BFC 8F060010 */ lw $a2, %lo(PI_STATUS_REG)($t8) -/* 018800 70017C00 30D90003 */ andi $t9, $a2, 3 -/* 018804 70017C04 1720FFFC */ bnez $t9, .L70017BF8 -/* 018808 70017C08 00000000 */ nop -.L70017C0C: -/* 01880C 70017C0C 3C088000 */ lui $t0, %hi(osRomBase) -/* 018810 70017C10 8D080308 */ lw $t0, %lo(osRomBase)($t0) -/* 018814 70017C14 3C01A000 */ lui $at, 0xa000 -/* 018818 70017C18 00001025 */ move $v0, $zero -/* 01881C 70017C1C 01044825 */ or $t1, $t0, $a0 -/* 018820 70017C20 01215025 */ or $t2, $t1, $at -/* 018824 70017C24 8D4B0000 */ lw $t3, ($t2) -/* 018828 70017C28 27BD0008 */ addiu $sp, $sp, 8 -/* 01882C 70017C2C 03E00008 */ jr $ra -/* 018830 70017C30 ACAB0000 */ sw $t3, ($a1) - -/* 018834 70017C34 00000000 */ nop -/* 018838 70017C38 00000000 */ nop -/* 01883C 70017C3C 00000000 */ nop -glabel _blkclr -/* 018840 70017C40 28A1000C */ slti $at, $a1, 0xc -/* 018844 70017C44 1420001D */ bnez $at, .L70017CBC -/* 018848 70017C48 00041823 */ negu $v1, $a0 -/* 01884C 70017C4C 30630003 */ andi $v1, $v1, 3 -/* 018850 70017C50 10600003 */ beqz $v1, .L70017C60 -/* 018854 70017C54 00A32823 */ subu $a1, $a1, $v1 -/* 018858 70017C58 A8800000 */ swl $zero, ($a0) -/* 01885C 70017C5C 00832021 */ addu $a0, $a0, $v1 -.L70017C60: -/* 018860 70017C60 2401FFE0 */ li $at, -32 -/* 018864 70017C64 00A13824 */ and $a3, $a1, $at -/* 018868 70017C68 10E0000C */ beqz $a3, .L70017C9C -/* 01886C 70017C6C 00A72823 */ subu $a1, $a1, $a3 -/* 018870 70017C70 00E43821 */ addu $a3, $a3, $a0 -.L70017C74: -/* 018874 70017C74 24840020 */ addiu $a0, $a0, 0x20 -/* 018878 70017C78 AC80FFE0 */ sw $zero, -0x20($a0) -/* 01887C 70017C7C AC80FFE4 */ sw $zero, -0x1c($a0) -/* 018880 70017C80 AC80FFE8 */ sw $zero, -0x18($a0) -/* 018884 70017C84 AC80FFEC */ sw $zero, -0x14($a0) -/* 018888 70017C88 AC80FFF0 */ sw $zero, -0x10($a0) -/* 01888C 70017C8C AC80FFF4 */ sw $zero, -0xc($a0) -/* 018890 70017C90 AC80FFF8 */ sw $zero, -8($a0) -/* 018894 70017C94 1487FFF7 */ bne $a0, $a3, .L70017C74 -/* 018898 70017C98 AC80FFFC */ sw $zero, -4($a0) -.L70017C9C: -/* 01889C 70017C9C 2401FFFC */ li $at, -4 -/* 0188A0 70017CA0 00A13824 */ and $a3, $a1, $at -/* 0188A4 70017CA4 10E00005 */ beqz $a3, .L70017CBC -/* 0188A8 70017CA8 00A72823 */ subu $a1, $a1, $a3 -/* 0188AC 70017CAC 00E43821 */ addu $a3, $a3, $a0 -.L70017CB0: -/* 0188B0 70017CB0 24840004 */ addiu $a0, $a0, 4 -/* 0188B4 70017CB4 1487FFFE */ bne $a0, $a3, .L70017CB0 -/* 0188B8 70017CB8 AC80FFFC */ sw $zero, -4($a0) -.L70017CBC: -/* 0188BC 70017CBC 18A00005 */ blez $a1, .L70017CD4 -/* 0188C0 70017CC0 00000000 */ nop -/* 0188C4 70017CC4 00A42821 */ addu $a1, $a1, $a0 -.L70017CC8: -/* 0188C8 70017CC8 24840001 */ addiu $a0, $a0, 1 -/* 0188CC 70017CCC 1485FFFE */ bne $a0, $a1, .L70017CC8 -/* 0188D0 70017CD0 A080FFFF */ sb $zero, -1($a0) -.L70017CD4: -/* 0188D4 70017CD4 03E00008 */ jr $ra -/* 0188D8 70017CD8 00000000 */ nop - -/* 0188DC 70017CDC 00000000 */ nop -glabel __osSetHWIntrRoutine -/* 0188E0 70017CE0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0188E4 70017CE4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0188E8 70017CE8 AFA40028 */ sw $a0, 0x28($sp) -/* 0188EC 70017CEC AFA5002C */ sw $a1, 0x2c($sp) -/* 0188F0 70017CF0 0C00617C */ jal __osDisableInt -/* 0188F4 70017CF4 AFB00018 */ sw $s0, 0x18($sp) -/* 0188F8 70017CF8 8FAF0028 */ lw $t7, 0x28($sp) -/* 0188FC 70017CFC 8FAE002C */ lw $t6, 0x2c($sp) -/* 018900 70017D00 3C018002 */ lui $at, 0x8002 -/* 018904 70017D04 000FC080 */ sll $t8, $t7, 2 -/* 018908 70017D08 00408025 */ move $s0, $v0 -/* 01890C 70017D0C 00380821 */ addu $at, $at, $t8 -/* 018910 70017D10 02002025 */ move $a0, $s0 -/* 018914 70017D14 0C006184 */ jal __osRestoreInt -/* 018918 70017D18 AC2E7700 */ sw $t6, 0x7700($at) -/* 01891C 70017D1C 8FBF001C */ lw $ra, 0x1c($sp) -/* 018920 70017D20 8FB00018 */ lw $s0, 0x18($sp) -/* 018924 70017D24 27BD0028 */ addiu $sp, $sp, 0x28 -/* 018928 70017D28 03E00008 */ jr $ra -/* 01892C 70017D2C 00000000 */ nop - -glabel __osLeoInterrupt -/* 018930 70017D30 3C0E8002 */ lui $t6, %hi(osDiskExist) -/* 018934 70017D34 8DCE6990 */ lw $t6, %lo(osDiskExist)($t6) -/* 018938 70017D38 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01893C 70017D3C AFBF001C */ sw $ra, 0x1c($sp) -/* 018940 70017D40 15C00003 */ bnez $t6, .L70017D50 -/* 018944 70017D44 00000000 */ nop -/* 018948 70017D48 100001AE */ b .L70018404 -/* 01894C 70017D4C 00001025 */ move $v0, $zero -.L70017D50: -/* 018950 70017D50 3C0F8007 */ lui $t7, %hi(__osDiskHandle) -/* 018954 70017D54 8DEF9074 */ lw $t7, %lo(__osDiskHandle)($t7) -/* 018958 70017D58 3C0BA460 */ lui $t3, %hi(PI_STATUS_REG) # $t3, 0xa460 -/* 01895C 70017D5C 25F80014 */ addiu $t8, $t7, 0x14 -/* 018960 70017D60 AFB80030 */ sw $t8, 0x30($sp) -/* 018964 70017D64 95F9001A */ lhu $t9, 0x1a($t7) -/* 018968 70017D68 001940C0 */ sll $t0, $t9, 3 -/* 01896C 70017D6C 01194021 */ addu $t0, $t0, $t9 -/* 018970 70017D70 00084080 */ sll $t0, $t0, 2 -/* 018974 70017D74 03084821 */ addu $t1, $t8, $t0 -/* 018978 70017D78 252A0018 */ addiu $t2, $t1, 0x18 -/* 01897C 70017D7C AFAA002C */ sw $t2, 0x2c($sp) -/* 018980 70017D80 8D6C0010 */ lw $t4, %lo(PI_STATUS_REG)($t3) -/* 018984 70017D84 AFAC0038 */ sw $t4, 0x38($sp) -/* 018988 70017D88 8FAD0038 */ lw $t5, 0x38($sp) -/* 01898C 70017D8C 31AE0001 */ andi $t6, $t5, 1 -/* 018990 70017D90 11C00034 */ beqz $t6, .L70017E64 -/* 018994 70017D94 00000000 */ nop -/* 018998 70017D98 240F0003 */ li $t7, 3 -/* 01899C 70017D9C 3C19A460 */ lui $t9, %hi(PI_STATUS_REG) # $t9, 0xa460 -/* 0189A0 70017DA0 AF2F0010 */ sw $t7, %lo(PI_STATUS_REG)($t9) -/* 0189A4 70017DA4 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 0189A8 70017DA8 8F080010 */ lw $t0, %lo(PI_STATUS_REG)($t8) -/* 0189AC 70017DAC AFA80038 */ sw $t0, 0x38($sp) -/* 0189B0 70017DB0 8FA90038 */ lw $t1, 0x38($sp) -/* 0189B4 70017DB4 312A0002 */ andi $t2, $t1, 2 -/* 0189B8 70017DB8 11400008 */ beqz $t2, .L70017DDC -/* 0189BC 70017DBC 00000000 */ nop -.L70017DC0: -/* 0189C0 70017DC0 3C0BA460 */ lui $t3, %hi(PI_STATUS_REG) # $t3, 0xa460 -/* 0189C4 70017DC4 8D6C0010 */ lw $t4, %lo(PI_STATUS_REG)($t3) -/* 0189C8 70017DC8 AFAC0038 */ sw $t4, 0x38($sp) -/* 0189CC 70017DCC 8FAD0038 */ lw $t5, 0x38($sp) -/* 0189D0 70017DD0 31AE0002 */ andi $t6, $t5, 2 -/* 0189D4 70017DD4 15C0FFFA */ bnez $t6, .L70017DC0 -/* 0189D8 70017DD8 00000000 */ nop -.L70017DDC: -/* 0189DC 70017DDC 3C0FA500 */ lui $t7, %hi(ASIC_STATUS) # $t7, 0xa500 -/* 0189E0 70017DE0 8DF90508 */ lw $t9, %lo(ASIC_STATUS)($t7) -/* 0189E4 70017DE4 3C010200 */ lui $at, 0x200 -/* 0189E8 70017DE8 AFB9003C */ sw $t9, 0x3c($sp) -/* 0189EC 70017DEC 8FB8003C */ lw $t8, 0x3c($sp) -/* 0189F0 70017DF0 03014024 */ and $t0, $t8, $at -/* 0189F4 70017DF4 11000015 */ beqz $t0, .L70017E4C -/* 0189F8 70017DF8 00000000 */ nop -/* 0189FC 70017DFC 3C09A460 */ lui $t1, %hi(PI_STATUS_REG) # $t1, 0xa460 -/* 018A00 70017E00 8D2A0010 */ lw $t2, %lo(PI_STATUS_REG)($t1) -/* 018A04 70017E04 AFAA0038 */ sw $t2, 0x38($sp) -/* 018A08 70017E08 8FAB0038 */ lw $t3, 0x38($sp) -/* 018A0C 70017E0C 316C0002 */ andi $t4, $t3, 2 -/* 018A10 70017E10 11800008 */ beqz $t4, .L70017E34 -/* 018A14 70017E14 00000000 */ nop -.L70017E18: -/* 018A18 70017E18 3C0DA460 */ lui $t5, %hi(PI_STATUS_REG) # $t5, 0xa460 -/* 018A1C 70017E1C 8DAE0010 */ lw $t6, %lo(PI_STATUS_REG)($t5) -/* 018A20 70017E20 AFAE0038 */ sw $t6, 0x38($sp) -/* 018A24 70017E24 8FAF0038 */ lw $t7, 0x38($sp) -/* 018A28 70017E28 31F90002 */ andi $t9, $t7, 2 -/* 018A2C 70017E2C 1720FFFA */ bnez $t9, .L70017E18 -/* 018A30 70017E30 00000000 */ nop -.L70017E34: -/* 018A34 70017E34 8FB80030 */ lw $t8, 0x30($sp) -/* 018A38 70017E38 3C010100 */ lui $at, 0x100 -/* 018A3C 70017E3C 3C0AA500 */ lui $t2, %hi(ASIC_BM_STATUS) # $t2, 0xa500 -/* 018A40 70017E40 8F080010 */ lw $t0, 0x10($t8) -/* 018A44 70017E44 01014825 */ or $t1, $t0, $at -/* 018A48 70017E48 AD490510 */ sw $t1, %lo(ASIC_BM_STATUS)($t2) -.L70017E4C: -/* 018A4C 70017E4C 8FAC002C */ lw $t4, 0x2c($sp) -/* 018A50 70017E50 240B004B */ li $t3, 75 -/* 018A54 70017E54 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018A58 70017E58 AD8B0000 */ sw $t3, ($t4) -/* 018A5C 70017E5C 10000169 */ b .L70018404 -/* 018A60 70017E60 24020001 */ li $v0, 1 -.L70017E64: -/* 018A64 70017E64 3C0DA460 */ lui $t5, %hi(PI_STATUS_REG) # $t5, 0xa460 -/* 018A68 70017E68 8DAE0010 */ lw $t6, %lo(PI_STATUS_REG)($t5) -/* 018A6C 70017E6C AFAE0038 */ sw $t6, 0x38($sp) -/* 018A70 70017E70 8FAF0038 */ lw $t7, 0x38($sp) -/* 018A74 70017E74 31F90002 */ andi $t9, $t7, 2 -/* 018A78 70017E78 13200008 */ beqz $t9, .L70017E9C -/* 018A7C 70017E7C 00000000 */ nop -.L70017E80: -/* 018A80 70017E80 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 018A84 70017E84 8F080010 */ lw $t0, %lo(PI_STATUS_REG)($t8) -/* 018A88 70017E88 AFA80038 */ sw $t0, 0x38($sp) -/* 018A8C 70017E8C 8FA90038 */ lw $t1, 0x38($sp) -/* 018A90 70017E90 312A0002 */ andi $t2, $t1, 2 -/* 018A94 70017E94 1540FFFA */ bnez $t2, .L70017E80 -/* 018A98 70017E98 00000000 */ nop -.L70017E9C: -/* 018A9C 70017E9C 3C0BA500 */ lui $t3, %hi(ASIC_STATUS) # $t3, 0xa500 -/* 018AA0 70017EA0 8D6C0508 */ lw $t4, %lo(ASIC_STATUS)($t3) -/* 018AA4 70017EA4 3C010200 */ lui $at, 0x200 -/* 018AA8 70017EA8 AFAC003C */ sw $t4, 0x3c($sp) -/* 018AAC 70017EAC 8FAD003C */ lw $t5, 0x3c($sp) -/* 018AB0 70017EB0 01A17024 */ and $t6, $t5, $at -/* 018AB4 70017EB4 11C00019 */ beqz $t6, .L70017F1C -/* 018AB8 70017EB8 00000000 */ nop -/* 018ABC 70017EBC 3C0FA460 */ lui $t7, %hi(PI_STATUS_REG) # $t7, 0xa460 -/* 018AC0 70017EC0 8DF90010 */ lw $t9, %lo(PI_STATUS_REG)($t7) -/* 018AC4 70017EC4 AFB90038 */ sw $t9, 0x38($sp) -/* 018AC8 70017EC8 8FB80038 */ lw $t8, 0x38($sp) -/* 018ACC 70017ECC 33080002 */ andi $t0, $t8, 2 -/* 018AD0 70017ED0 11000008 */ beqz $t0, .L70017EF4 -/* 018AD4 70017ED4 00000000 */ nop -.L70017ED8: -/* 018AD8 70017ED8 3C09A460 */ lui $t1, %hi(PI_STATUS_REG) # $t1, 0xa460 -/* 018ADC 70017EDC 8D2A0010 */ lw $t2, %lo(PI_STATUS_REG)($t1) -/* 018AE0 70017EE0 AFAA0038 */ sw $t2, 0x38($sp) -/* 018AE4 70017EE4 8FAB0038 */ lw $t3, 0x38($sp) -/* 018AE8 70017EE8 316C0002 */ andi $t4, $t3, 2 -/* 018AEC 70017EEC 1580FFFA */ bnez $t4, .L70017ED8 -/* 018AF0 70017EF0 00000000 */ nop -.L70017EF4: -/* 018AF4 70017EF4 8FAD0030 */ lw $t5, 0x30($sp) -/* 018AF8 70017EF8 3C010100 */ lui $at, 0x100 -/* 018AFC 70017EFC 3C19A500 */ lui $t9, %hi(ASIC_BM_STATUS) # $t9, 0xa500 -/* 018B00 70017F00 8DAE0010 */ lw $t6, 0x10($t5) -/* 018B04 70017F04 00001025 */ move $v0, $zero -/* 018B08 70017F08 01C17825 */ or $t7, $t6, $at -/* 018B0C 70017F0C AF2F0510 */ sw $t7, %lo(ASIC_BM_STATUS)($t9) -/* 018B10 70017F10 8FB8002C */ lw $t8, 0x2c($sp) -/* 018B14 70017F14 1000013B */ b .L70018404 -/* 018B18 70017F18 AF000000 */ sw $zero, ($t8) -.L70017F1C: -/* 018B1C 70017F1C 8FA8003C */ lw $t0, 0x3c($sp) -/* 018B20 70017F20 3C010800 */ lui $at, 0x800 -/* 018B24 70017F24 01014824 */ and $t1, $t0, $at -/* 018B28 70017F28 11200011 */ beqz $t1, .L70017F70 -/* 018B2C 70017F2C 00000000 */ nop -/* 018B30 70017F30 8FAB002C */ lw $t3, 0x2c($sp) -/* 018B34 70017F34 240A0003 */ li $t2, 3 -/* 018B38 70017F38 0C00613F */ jal __osLeoInterrupt_sub2 -/* 018B3C 70017F3C AD6A0000 */ sw $t2, ($t3) -/* 018B40 70017F40 240C0002 */ li $t4, 2 -/* 018B44 70017F44 3C0DA460 */ lui $t5, %hi(PI_STATUS_REG) # $t5, 0xa460 -/* 018B48 70017F48 ADAC0010 */ sw $t4, %lo(PI_STATUS_REG)($t5) -/* 018B4C 70017F4C 3C0E8002 */ lui $t6, %hi(__OSGlobalIntMask) -/* 018B50 70017F50 8DCE698C */ lw $t6, %lo(__OSGlobalIntMask)($t6) -/* 018B54 70017F54 3C010010 */ lui $at, (0x00100401 >> 16) # lui $at, 0x10 -/* 018B58 70017F58 34210401 */ ori $at, (0x00100401 & 0xFFFF) # ori $at, $at, 0x401 -/* 018B5C 70017F5C 01C17825 */ or $t7, $t6, $at -/* 018B60 70017F60 3C018002 */ lui $at, %hi(__OSGlobalIntMask) # $at, 0x8002 -/* 018B64 70017F64 AC2F698C */ sw $t7, %lo(__OSGlobalIntMask)($at) -/* 018B68 70017F68 10000126 */ b .L70018404 -/* 018B6C 70017F6C 24020001 */ li $v0, 1 -.L70017F70: -/* 018B70 70017F70 8FB90030 */ lw $t9, 0x30($sp) -/* 018B74 70017F74 24010001 */ li $at, 1 -/* 018B78 70017F78 8F380000 */ lw $t8, ($t9) -/* 018B7C 70017F7C 1701003B */ bne $t8, $at, .L7001806C -/* 018B80 70017F80 00000000 */ nop -/* 018B84 70017F84 8FA8003C */ lw $t0, 0x3c($sp) -/* 018B88 70017F88 3C014000 */ lui $at, 0x4000 -/* 018B8C 70017F8C 01014824 */ and $t1, $t0, $at -/* 018B90 70017F90 15200021 */ bnez $t1, .L70018018 -/* 018B94 70017F94 00000000 */ nop -/* 018B98 70017F98 972C0004 */ lhu $t4, 4($t9) -/* 018B9C 70017F9C 8F2A0008 */ lw $t2, 8($t9) -/* 018BA0 70017FA0 000C6880 */ sll $t5, $t4, 2 -/* 018BA4 70017FA4 01AC6821 */ addu $t5, $t5, $t4 -/* 018BA8 70017FA8 000D6880 */ sll $t5, $t5, 2 -/* 018BAC 70017FAC 01AC6821 */ addu $t5, $t5, $t4 -/* 018BB0 70017FB0 000D6880 */ sll $t5, $t5, 2 -/* 018BB4 70017FB4 01AC6821 */ addu $t5, $t5, $t4 -/* 018BB8 70017FB8 254B0001 */ addiu $t3, $t2, 1 -/* 018BBC 70017FBC 116D0007 */ beq $t3, $t5, .L70017FDC -/* 018BC0 70017FC0 00000000 */ nop -/* 018BC4 70017FC4 8FAF002C */ lw $t7, 0x2c($sp) -/* 018BC8 70017FC8 240E0006 */ li $t6, 6 -/* 018BCC 70017FCC 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018BD0 70017FD0 ADEE0000 */ sw $t6, ($t7) -/* 018BD4 70017FD4 1000010B */ b .L70018404 -/* 018BD8 70017FD8 24020001 */ li $v0, 1 -.L70017FDC: -/* 018BDC 70017FDC 24180002 */ li $t8, 2 -/* 018BE0 70017FE0 3C08A460 */ lui $t0, %hi(PI_STATUS_REG) # $t0, 0xa460 -/* 018BE4 70017FE4 AD180010 */ sw $t8, %lo(PI_STATUS_REG)($t0) -/* 018BE8 70017FE8 3C098002 */ lui $t1, %hi(__OSGlobalIntMask) -/* 018BEC 70017FEC 8D29698C */ lw $t1, %lo(__OSGlobalIntMask)($t1) -/* 018BF0 70017FF0 3C010010 */ lui $at, (0x00100401 >> 16) # lui $at, 0x10 -/* 018BF4 70017FF4 34210401 */ ori $at, (0x00100401 & 0xFFFF) # ori $at, $at, 0x401 -/* 018BF8 70017FF8 01215025 */ or $t2, $t1, $at -/* 018BFC 70017FFC 8FB9002C */ lw $t9, 0x2c($sp) -/* 018C00 70018000 3C018002 */ lui $at, %hi(__OSGlobalIntMask) # $at, 0x8002 -/* 018C04 70018004 AC2A698C */ sw $t2, %lo(__OSGlobalIntMask)($at) -/* 018C08 70018008 0C00613F */ jal __osLeoInterrupt_sub2 -/* 018C0C 7001800C AF200000 */ sw $zero, ($t9) -/* 018C10 70018010 100000FC */ b .L70018404 -/* 018C14 70018014 24020001 */ li $v0, 1 -.L70018018: -/* 018C18 70018018 8FAC002C */ lw $t4, 0x2c($sp) -/* 018C1C 7001801C 3C048007 */ lui $a0, %hi(__osDiskHandle) # $a0, 0x8007 -/* 018C20 70018020 3C060500 */ lui $a2, (0x05000400 >> 16) # lui $a2, 0x500 -/* 018C24 70018024 8D8B0004 */ lw $t3, 4($t4) -/* 018C28 70018028 8D8D000C */ lw $t5, 0xc($t4) -/* 018C2C 7001802C 34C60400 */ ori $a2, (0x05000400 & 0xFFFF) # ori $a2, $a2, 0x400 -/* 018C30 70018030 24050001 */ li $a1, 1 -/* 018C34 70018034 016D7021 */ addu $t6, $t3, $t5 -/* 018C38 70018038 AD8E0004 */ sw $t6, 4($t4) -/* 018C3C 7001803C 8FAF0030 */ lw $t7, 0x30($sp) -/* 018C40 70018040 8DF80008 */ lw $t8, 8($t7) -/* 018C44 70018044 27080001 */ addiu $t0, $t8, 1 -/* 018C48 70018048 ADE80008 */ sw $t0, 8($t7) -/* 018C4C 7001804C 8FA9002C */ lw $t1, 0x2c($sp) -/* 018C50 70018050 8C849074 */ lw $a0, %lo(__osDiskHandle)($a0) -/* 018C54 70018054 8D2A000C */ lw $t2, 0xc($t1) -/* 018C58 70018058 8D270004 */ lw $a3, 4($t1) -/* 018C5C 7001805C 0C00794C */ jal osEPiRawStartDma -/* 018C60 70018060 AFAA0010 */ sw $t2, 0x10($sp) -/* 018C64 70018064 100000E7 */ b .L70018404 -/* 018C68 70018068 24020001 */ li $v0, 1 -.L7001806C: -/* 018C6C 7001806C 8FB90030 */ lw $t9, 0x30($sp) -/* 018C70 70018070 8F2B0000 */ lw $t3, ($t9) -/* 018C74 70018074 156000DE */ bnez $t3, .L700183F0 -/* 018C78 70018078 00000000 */ nop -/* 018C7C 7001807C 972D0004 */ lhu $t5, 4($t9) -/* 018C80 70018080 24010003 */ li $at, 3 -/* 018C84 70018084 15A10017 */ bne $t5, $at, .L700180E4 -/* 018C88 70018088 00000000 */ nop -/* 018C8C 7001808C 8FAC002C */ lw $t4, 0x2c($sp) -/* 018C90 70018090 8F2E0008 */ lw $t6, 8($t9) -/* 018C94 70018094 8D980010 */ lw $t8, 0x10($t4) -/* 018C98 70018098 27080011 */ addiu $t0, $t8, 0x11 -/* 018C9C 7001809C 010E082A */ slt $at, $t0, $t6 -/* 018CA0 700180A0 10200005 */ beqz $at, .L700180B8 -/* 018CA4 700180A4 00000000 */ nop -/* 018CA8 700180A8 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018CAC 700180AC AD800000 */ sw $zero, ($t4) -/* 018CB0 700180B0 100000D4 */ b .L70018404 -/* 018CB4 700180B4 24020001 */ li $v0, 1 -.L700180B8: -/* 018CB8 700180B8 8FAF003C */ lw $t7, 0x3c($sp) -/* 018CBC 700180BC 3C014000 */ lui $at, 0x4000 -/* 018CC0 700180C0 01E14824 */ and $t1, $t7, $at -/* 018CC4 700180C4 1520000C */ bnez $t1, .L700180F8 -/* 018CC8 700180C8 00000000 */ nop -/* 018CCC 700180CC 8FAB002C */ lw $t3, 0x2c($sp) -/* 018CD0 700180D0 240A0011 */ li $t2, 17 -/* 018CD4 700180D4 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018CD8 700180D8 AD6A0000 */ sw $t2, ($t3) -/* 018CDC 700180DC 100000C9 */ b .L70018404 -/* 018CE0 700180E0 24020001 */ li $v0, 1 -.L700180E4: -/* 018CE4 700180E4 8FAD002C */ lw $t5, 0x2c($sp) -/* 018CE8 700180E8 8DB90004 */ lw $t9, 4($t5) -/* 018CEC 700180EC 8DB8000C */ lw $t8, 0xc($t5) -/* 018CF0 700180F0 03387021 */ addu $t6, $t9, $t8 -/* 018CF4 700180F4 ADAE0004 */ sw $t6, 4($t5) -.L700180F8: -/* 018CF8 700180F8 3C08A500 */ lui $t0, %hi(ASIC_BM_STATUS) # $t0, 0xa500 -/* 018CFC 700180FC 8D0C0510 */ lw $t4, %lo(ASIC_BM_STATUS)($t0) -/* 018D00 70018100 3C010020 */ lui $at, 0x20 -/* 018D04 70018104 AFAC0034 */ sw $t4, 0x34($sp) -/* 018D08 70018108 8FAF0034 */ lw $t7, 0x34($sp) -/* 018D0C 7001810C 01E14824 */ and $t1, $t7, $at -/* 018D10 70018110 11200004 */ beqz $t1, .L70018124 -/* 018D14 70018114 3C010040 */ lui $at, 0x40 -/* 018D18 70018118 01E15024 */ and $t2, $t7, $at -/* 018D1C 7001811C 15400006 */ bnez $t2, .L70018138 -/* 018D20 70018120 00000000 */ nop -.L70018124: -/* 018D24 70018124 8FAB0034 */ lw $t3, 0x34($sp) -/* 018D28 70018128 3C010200 */ lui $at, 0x200 -/* 018D2C 7001812C 0161C824 */ and $t9, $t3, $at -/* 018D30 70018130 13200022 */ beqz $t9, .L700181BC -/* 018D34 70018134 00000000 */ nop -.L70018138: -/* 018D38 70018138 8FB8002C */ lw $t8, 0x2c($sp) -/* 018D3C 7001813C 8F0E0010 */ lw $t6, 0x10($t8) -/* 018D40 70018140 2DC10004 */ sltiu $at, $t6, 4 -/* 018D44 70018144 14200010 */ bnez $at, .L70018188 -/* 018D48 70018148 00000000 */ nop -/* 018D4C 7001814C 8FAD0030 */ lw $t5, 0x30($sp) -/* 018D50 70018150 24010003 */ li $at, 3 -/* 018D54 70018154 95A80004 */ lhu $t0, 4($t5) -/* 018D58 70018158 15010005 */ bne $t0, $at, .L70018170 -/* 018D5C 7001815C 00000000 */ nop -/* 018D60 70018160 8DAC0008 */ lw $t4, 8($t5) -/* 018D64 70018164 29810053 */ slti $at, $t4, 0x53 -/* 018D68 70018168 14200010 */ bnez $at, .L700181AC -/* 018D6C 7001816C 00000000 */ nop -.L70018170: -/* 018D70 70018170 8FAF002C */ lw $t7, 0x2c($sp) -/* 018D74 70018174 24090011 */ li $t1, 17 -/* 018D78 70018178 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018D7C 7001817C ADE90000 */ sw $t1, ($t7) -/* 018D80 70018180 100000A0 */ b .L70018404 -/* 018D84 70018184 24020001 */ li $v0, 1 -.L70018188: -/* 018D88 70018188 8FAA002C */ lw $t2, 0x2c($sp) -/* 018D8C 7001818C 8FB90030 */ lw $t9, 0x30($sp) -/* 018D90 70018190 8D4B0010 */ lw $t3, 0x10($t2) -/* 018D94 70018194 AFAB0028 */ sw $t3, 0x28($sp) -/* 018D98 70018198 8F380008 */ lw $t8, 8($t9) -/* 018D9C 7001819C 000B4080 */ sll $t0, $t3, 2 -/* 018DA0 700181A0 01486821 */ addu $t5, $t2, $t0 -/* 018DA4 700181A4 270E0001 */ addiu $t6, $t8, 1 -/* 018DA8 700181A8 ADAE0014 */ sw $t6, 0x14($t5) -.L700181AC: -/* 018DAC 700181AC 8FAC002C */ lw $t4, 0x2c($sp) -/* 018DB0 700181B0 8D890010 */ lw $t1, 0x10($t4) -/* 018DB4 700181B4 252F0001 */ addiu $t7, $t1, 1 -/* 018DB8 700181B8 AD8F0010 */ sw $t7, 0x10($t4) -.L700181BC: -/* 018DBC 700181BC 8FB9003C */ lw $t9, 0x3c($sp) -/* 018DC0 700181C0 3C011000 */ lui $at, 0x1000 -/* 018DC4 700181C4 0321C024 */ and $t8, $t9, $at -/* 018DC8 700181C8 13000035 */ beqz $t8, .L700182A0 -/* 018DCC 700181CC 00000000 */ nop -/* 018DD0 700181D0 8FAB0030 */ lw $t3, 0x30($sp) -/* 018DD4 700181D4 24010057 */ li $at, 87 -/* 018DD8 700181D8 8D6A0008 */ lw $t2, 8($t3) -/* 018DDC 700181DC 11410005 */ beq $t2, $at, .L700181F4 -/* 018DE0 700181E0 00000000 */ nop -/* 018DE4 700181E4 8FAE002C */ lw $t6, 0x2c($sp) -/* 018DE8 700181E8 24080006 */ li $t0, 6 -/* 018DEC 700181EC 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018DF0 700181F0 ADC80000 */ sw $t0, ($t6) -.L700181F4: -/* 018DF4 700181F4 8FAD0030 */ lw $t5, 0x30($sp) -/* 018DF8 700181F8 24010002 */ li $at, 2 -/* 018DFC 700181FC 95A90004 */ lhu $t1, 4($t5) -/* 018E00 70018200 1521000F */ bne $t1, $at, .L70018240 -/* 018E04 70018204 00000000 */ nop -/* 018E08 70018208 95AF0006 */ lhu $t7, 6($t5) -/* 018E0C 7001820C 15E0000C */ bnez $t7, .L70018240 -/* 018E10 70018210 00000000 */ nop -/* 018E14 70018214 240C0001 */ li $t4, 1 -/* 018E18 70018218 A5AC0006 */ sh $t4, 6($t5) -/* 018E1C 7001821C 8FB80030 */ lw $t8, 0x30($sp) -/* 018E20 70018220 2419FFFF */ li $t9, -1 -/* 018E24 70018224 AF190008 */ sw $t9, 8($t8) -/* 018E28 70018228 8FAB0030 */ lw $t3, 0x30($sp) -/* 018E2C 7001822C 8D6A0040 */ lw $t2, 0x40($t3) -/* 018E30 70018230 8D680048 */ lw $t0, 0x48($t3) -/* 018E34 70018234 01487023 */ subu $t6, $t2, $t0 -/* 018E38 70018238 1000000B */ b .L70018268 -/* 018E3C 7001823C AD6E0040 */ sw $t6, 0x40($t3) -.L70018240: -/* 018E40 70018240 24090002 */ li $t1, 2 -/* 018E44 70018244 3C0FA460 */ lui $t7, %hi(PI_STATUS_REG) # $t7, 0xa460 -/* 018E48 70018248 ADE90010 */ sw $t1, %lo(PI_STATUS_REG)($t7) -/* 018E4C 7001824C 3C0C8002 */ lui $t4, %hi(__OSGlobalIntMask) -/* 018E50 70018250 8D8C698C */ lw $t4, %lo(__OSGlobalIntMask)($t4) -/* 018E54 70018254 3C010010 */ lui $at, (0x00100401 >> 16) # lui $at, 0x10 -/* 018E58 70018258 34210401 */ ori $at, (0x00100401 & 0xFFFF) # ori $at, $at, 0x401 -/* 018E5C 7001825C 01816825 */ or $t5, $t4, $at -/* 018E60 70018260 3C018002 */ lui $at, %hi(__OSGlobalIntMask) # $at, 0x8002 -/* 018E64 70018264 AC2D698C */ sw $t5, %lo(__OSGlobalIntMask)($at) -.L70018268: -/* 018E68 70018268 8FB9002C */ lw $t9, 0x2c($sp) -/* 018E6C 7001826C 3C048007 */ lui $a0, %hi(__osDiskHandle) # $a0, 0x8007 -/* 018E70 70018270 8C849074 */ lw $a0, %lo(__osDiskHandle)($a0) -/* 018E74 70018274 8F38000C */ lw $t8, 0xc($t9) -/* 018E78 70018278 8F270008 */ lw $a3, 8($t9) -/* 018E7C 7001827C 00002825 */ move $a1, $zero -/* 018E80 70018280 00185080 */ sll $t2, $t8, 2 -/* 018E84 70018284 AFAA0010 */ sw $t2, 0x10($sp) -/* 018E88 70018288 0C00794C */ jal osEPiRawStartDma -/* 018E8C 7001828C 3C060500 */ lui $a2, 0x500 -/* 018E90 70018290 8FA8002C */ lw $t0, 0x2c($sp) -/* 018E94 70018294 24020001 */ li $v0, 1 -/* 018E98 70018298 1000005A */ b .L70018404 -/* 018E9C 7001829C AD000000 */ sw $zero, ($t0) -.L700182A0: -/* 018EA0 700182A0 8FAE0030 */ lw $t6, 0x30($sp) -/* 018EA4 700182A4 2401FFFF */ li $at, -1 -/* 018EA8 700182A8 8DCB0008 */ lw $t3, 8($t6) -/* 018EAC 700182AC 15610021 */ bne $t3, $at, .L70018334 -/* 018EB0 700182B0 00000000 */ nop -/* 018EB4 700182B4 95C90004 */ lhu $t1, 4($t6) -/* 018EB8 700182B8 24010002 */ li $at, 2 -/* 018EBC 700182BC 1521001D */ bne $t1, $at, .L70018334 -/* 018EC0 700182C0 00000000 */ nop -/* 018EC4 700182C4 95CF0006 */ lhu $t7, 6($t6) -/* 018EC8 700182C8 24010001 */ li $at, 1 -/* 018ECC 700182CC 15E10019 */ bne $t7, $at, .L70018334 -/* 018ED0 700182D0 00000000 */ nop -/* 018ED4 700182D4 25CC0018 */ addiu $t4, $t6, 0x18 -/* 018ED8 700182D8 AFAC0024 */ sw $t4, 0x24($sp) -/* 018EDC 700182DC 8DCD0028 */ lw $t5, 0x28($t6) -/* 018EE0 700182E0 15A00011 */ bnez $t5, .L70018328 -/* 018EE4 700182E4 00000000 */ nop -/* 018EE8 700182E8 8DD90020 */ lw $t9, 0x20($t6) -/* 018EEC 700182EC 8F380000 */ lw $t8, ($t9) -/* 018EF0 700182F0 8F2A0004 */ lw $t2, 4($t9) -/* 018EF4 700182F4 8F2B0008 */ lw $t3, 8($t9) -/* 018EF8 700182F8 8F2F000C */ lw $t7, 0xc($t9) -/* 018EFC 700182FC 030A4025 */ or $t0, $t8, $t2 -/* 018F00 70018300 010B4825 */ or $t1, $t0, $t3 -/* 018F04 70018304 01E96025 */ or $t4, $t7, $t1 -/* 018F08 70018308 11800007 */ beqz $t4, .L70018328 -/* 018F0C 7001830C 00000000 */ nop -/* 018F10 70018310 8FAE002C */ lw $t6, 0x2c($sp) -/* 018F14 70018314 240D0006 */ li $t5, 6 -/* 018F18 70018318 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018F1C 7001831C ADCD0000 */ sw $t5, ($t6) -/* 018F20 70018320 10000038 */ b .L70018404 -/* 018F24 70018324 24020001 */ li $v0, 1 -.L70018328: -/* 018F28 70018328 8FB8002C */ lw $t8, 0x2c($sp) -/* 018F2C 7001832C 0C00613F */ jal __osLeoInterrupt_sub2 -/* 018F30 70018330 AF000000 */ sw $zero, ($t8) -.L70018334: -/* 018F34 70018334 8FAA0030 */ lw $t2, 0x30($sp) -/* 018F38 70018338 3C014000 */ lui $at, 0x4000 -/* 018F3C 7001833C 8D480008 */ lw $t0, 8($t2) -/* 018F40 70018340 250B0001 */ addiu $t3, $t0, 1 -/* 018F44 70018344 AD4B0008 */ sw $t3, 8($t2) -/* 018F48 70018348 8FB9003C */ lw $t9, 0x3c($sp) -/* 018F4C 7001834C 03217824 */ and $t7, $t9, $at -/* 018F50 70018350 11E0001A */ beqz $t7, .L700183BC -/* 018F54 70018354 00000000 */ nop -/* 018F58 70018358 8FA90030 */ lw $t1, 0x30($sp) -/* 018F5C 7001835C 8D2C0008 */ lw $t4, 8($t1) -/* 018F60 70018360 29810055 */ slti $at, $t4, 0x55 -/* 018F64 70018364 14200007 */ bnez $at, .L70018384 -/* 018F68 70018368 00000000 */ nop -/* 018F6C 7001836C 8FAE002C */ lw $t6, 0x2c($sp) -/* 018F70 70018370 240D0006 */ li $t5, 6 -/* 018F74 70018374 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018F78 70018378 ADCD0000 */ sw $t5, ($t6) -/* 018F7C 7001837C 10000021 */ b .L70018404 -/* 018F80 70018380 24020001 */ li $v0, 1 -.L70018384: -/* 018F84 70018384 8FB8002C */ lw $t8, 0x2c($sp) -/* 018F88 70018388 3C048007 */ lui $a0, %hi(__osDiskHandle) # $a0, 0x8007 -/* 018F8C 7001838C 3C060500 */ lui $a2, (0x05000400 >> 16) # lui $a2, 0x500 -/* 018F90 70018390 8F08000C */ lw $t0, 0xc($t8) -/* 018F94 70018394 8F070004 */ lw $a3, 4($t8) -/* 018F98 70018398 34C60400 */ ori $a2, (0x05000400 & 0xFFFF) # ori $a2, $a2, 0x400 -/* 018F9C 7001839C 8C849074 */ lw $a0, %lo(__osDiskHandle)($a0) -/* 018FA0 700183A0 00002825 */ move $a1, $zero -/* 018FA4 700183A4 0C00794C */ jal osEPiRawStartDma -/* 018FA8 700183A8 AFA80010 */ sw $t0, 0x10($sp) -/* 018FAC 700183AC 8FAB002C */ lw $t3, 0x2c($sp) -/* 018FB0 700183B0 24020001 */ li $v0, 1 -/* 018FB4 700183B4 10000013 */ b .L70018404 -/* 018FB8 700183B8 AD600000 */ sw $zero, ($t3) -.L700183BC: -/* 018FBC 700183BC 8FAA0030 */ lw $t2, 0x30($sp) -/* 018FC0 700183C0 8D590008 */ lw $t9, 8($t2) -/* 018FC4 700183C4 2B210055 */ slti $at, $t9, 0x55 -/* 018FC8 700183C8 10200007 */ beqz $at, .L700183E8 -/* 018FCC 700183CC 00000000 */ nop -/* 018FD0 700183D0 8FA9002C */ lw $t1, 0x2c($sp) -/* 018FD4 700183D4 240F0006 */ li $t7, 6 -/* 018FD8 700183D8 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018FDC 700183DC AD2F0000 */ sw $t7, ($t1) -/* 018FE0 700183E0 10000008 */ b .L70018404 -/* 018FE4 700183E4 24020001 */ li $v0, 1 -.L700183E8: -/* 018FE8 700183E8 10000006 */ b .L70018404 -/* 018FEC 700183EC 24020001 */ li $v0, 1 -.L700183F0: -/* 018FF0 700183F0 8FAD002C */ lw $t5, 0x2c($sp) -/* 018FF4 700183F4 240C004B */ li $t4, 75 -/* 018FF8 700183F8 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018FFC 700183FC ADAC0000 */ sw $t4, ($t5) -/* 019000 70018400 24020001 */ li $v0, 1 -.L70018404: -/* 019004 70018404 8FBF001C */ lw $ra, 0x1c($sp) -/* 019008 70018408 27BD0040 */ addiu $sp, $sp, 0x40 -/* 01900C 7001840C 03E00008 */ jr $ra -/* 019010 70018410 00000000 */ nop - -glabel __osLeoInterrupt_sub1 -/* 019014 70018414 3C0E8007 */ lui $t6, %hi(__osDiskHandle) -/* 019018 70018418 8DCE9074 */ lw $t6, %lo(__osDiskHandle)($t6) -/* 01901C 7001841C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 019020 70018420 AFBF0014 */ sw $ra, 0x14($sp) -/* 019024 70018424 25CF0014 */ addiu $t7, $t6, 0x14 -/* 019028 70018428 AFAF001C */ sw $t7, 0x1c($sp) -/* 01902C 7001842C 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 019030 70018430 8F190010 */ lw $t9, %lo(PI_STATUS_REG)($t8) -/* 019034 70018434 AFB90018 */ sw $t9, 0x18($sp) -/* 019038 70018438 8FA80018 */ lw $t0, 0x18($sp) -/* 01903C 7001843C 31090002 */ andi $t1, $t0, 2 -/* 019040 70018440 11200008 */ beqz $t1, .L70018464 -/* 019044 70018444 00000000 */ nop -.L70018448: -/* 019048 70018448 3C0AA460 */ lui $t2, %hi(PI_STATUS_REG) # $t2, 0xa460 -/* 01904C 7001844C 8D4B0010 */ lw $t3, %lo(PI_STATUS_REG)($t2) -/* 019050 70018450 AFAB0018 */ sw $t3, 0x18($sp) -/* 019054 70018454 8FAC0018 */ lw $t4, 0x18($sp) -/* 019058 70018458 318D0002 */ andi $t5, $t4, 2 -/* 01905C 7001845C 15A0FFFA */ bnez $t5, .L70018448 -/* 019060 70018460 00000000 */ nop -.L70018464: -/* 019064 70018464 8FAE001C */ lw $t6, 0x1c($sp) -/* 019068 70018468 3C011000 */ lui $at, 0x1000 -/* 01906C 7001846C 3C19A500 */ lui $t9, %hi(ASIC_BM_STATUS) # $t9, 0xa500 -/* 019070 70018470 8DCF0010 */ lw $t7, 0x10($t6) -/* 019074 70018474 3C08A460 */ lui $t0, %hi(PI_STATUS_REG) # $t0, 0xa460 -/* 019078 70018478 01E1C025 */ or $t8, $t7, $at -/* 01907C 7001847C AF380510 */ sw $t8, %lo(ASIC_BM_STATUS)($t9) -/* 019080 70018480 8D090010 */ lw $t1, %lo(PI_STATUS_REG)($t0) -/* 019084 70018484 AFA90018 */ sw $t1, 0x18($sp) -/* 019088 70018488 8FAA0018 */ lw $t2, 0x18($sp) -/* 01908C 7001848C 314B0002 */ andi $t3, $t2, 2 -/* 019090 70018490 11600008 */ beqz $t3, .L700184B4 -/* 019094 70018494 00000000 */ nop -.L70018498: -/* 019098 70018498 3C0CA460 */ lui $t4, %hi(PI_STATUS_REG) # $t4, 0xa460 -/* 01909C 7001849C 8D8D0010 */ lw $t5, %lo(PI_STATUS_REG)($t4) -/* 0190A0 700184A0 AFAD0018 */ sw $t5, 0x18($sp) -/* 0190A4 700184A4 8FAE0018 */ lw $t6, 0x18($sp) -/* 0190A8 700184A8 31CF0002 */ andi $t7, $t6, 2 -/* 0190AC 700184AC 15E0FFFA */ bnez $t7, .L70018498 -/* 0190B0 700184B0 00000000 */ nop -.L700184B4: -/* 0190B4 700184B4 8FB8001C */ lw $t8, 0x1c($sp) -/* 0190B8 700184B8 3C08A500 */ lui $t0, %hi(ASIC_BM_STATUS) # $t0, 0xa500 -/* 0190BC 700184BC 8F190010 */ lw $t9, 0x10($t8) -/* 0190C0 700184C0 0C00613F */ jal __osLeoInterrupt_sub2 -/* 0190C4 700184C4 AD190510 */ sw $t9, %lo(ASIC_BM_STATUS)($t0) -/* 0190C8 700184C8 24090002 */ li $t1, 2 -/* 0190CC 700184CC 3C0AA460 */ lui $t2, %hi(PI_STATUS_REG) # $t2, 0xa460 -/* 0190D0 700184D0 AD490010 */ sw $t1, %lo(PI_STATUS_REG)($t2) -/* 0190D4 700184D4 3C0B8002 */ lui $t3, %hi(__OSGlobalIntMask) -/* 0190D8 700184D8 8D6B698C */ lw $t3, %lo(__OSGlobalIntMask)($t3) -/* 0190DC 700184DC 3C010010 */ lui $at, (0x00100401 >> 16) # lui $at, 0x10 -/* 0190E0 700184E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0190E4 700184E4 34210401 */ ori $at, (0x00100401 & 0xFFFF) # ori $at, $at, 0x401 -/* 0190E8 700184E8 01616025 */ or $t4, $t3, $at -/* 0190EC 700184EC 3C018002 */ lui $at, %hi(__OSGlobalIntMask) # $at, 0x8002 -/* 0190F0 700184F0 AC2C698C */ sw $t4, %lo(__OSGlobalIntMask)($at) -/* 0190F4 700184F4 03E00008 */ jr $ra -/* 0190F8 700184F8 27BD0020 */ addiu $sp, $sp, 0x20 - -glabel __osLeoInterrupt_sub2 -/* 0190FC 700184FC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 019100 70018500 3C0E8006 */ lui $t6, %hi(__osEventStateTab) -/* 019104 70018504 25CE6A10 */ addiu $t6, %lo(__osEventStateTab) # addiu $t6, $t6, 0x6a10 -/* 019108 70018508 25CF0040 */ addiu $t7, $t6, 0x40 -/* 01910C 7001850C AFBF001C */ sw $ra, 0x1c($sp) -/* 019110 70018510 AFB00018 */ sw $s0, 0x18($sp) -/* 019114 70018514 AFAF002C */ sw $t7, 0x2c($sp) -/* 019118 70018518 8DD80040 */ lw $t8, 0x40($t6) -/* 01911C 7001851C 1300002D */ beqz $t8, .L700185D4 -/* 019120 70018520 AFB80028 */ sw $t8, 0x28($sp) -/* 019124 70018524 8F190008 */ lw $t9, 8($t8) -/* 019128 70018528 8F080010 */ lw $t0, 0x10($t8) -/* 01912C 7001852C 0328082A */ slt $at, $t9, $t0 -/* 019130 70018530 10200028 */ beqz $at, .L700185D4 -/* 019134 70018534 00000000 */ nop -/* 019138 70018538 8FA90028 */ lw $t1, 0x28($sp) -/* 01913C 7001853C 8FAE002C */ lw $t6, 0x2c($sp) -/* 019140 70018540 8D2A000C */ lw $t2, 0xc($t1) -/* 019144 70018544 8D2B0008 */ lw $t3, 8($t1) -/* 019148 70018548 8D2D0010 */ lw $t5, 0x10($t1) -/* 01914C 7001854C 014B6021 */ addu $t4, $t2, $t3 -/* 019150 70018550 018D001A */ div $zero, $t4, $t5 -/* 019154 70018554 00007810 */ mfhi $t7 -/* 019158 70018558 AFAF0024 */ sw $t7, 0x24($sp) -/* 01915C 7001855C 8D280014 */ lw $t0, 0x14($t1) -/* 019160 70018560 8DD80004 */ lw $t8, 4($t6) -/* 019164 70018564 000FC880 */ sll $t9, $t7, 2 -/* 019168 70018568 01195021 */ addu $t2, $t0, $t9 -/* 01916C 7001856C AD580000 */ sw $t8, ($t2) -/* 019170 70018570 8FAB0028 */ lw $t3, 0x28($sp) -/* 019174 70018574 15A00002 */ bnez $t5, .L70018580 -/* 019178 70018578 00000000 */ nop -/* 01917C 7001857C 0007000D */ break 7 -.L70018580: -/* 019180 70018580 2401FFFF */ li $at, -1 -/* 019184 70018584 15A10004 */ bne $t5, $at, .L70018598 -/* 019188 70018588 3C018000 */ lui $at, 0x8000 -/* 01918C 7001858C 15810002 */ bne $t4, $at, .L70018598 -/* 019190 70018590 00000000 */ nop -/* 019194 70018594 0006000D */ break 6 -.L70018598: -/* 019198 70018598 8D6C0008 */ lw $t4, 8($t3) -/* 01919C 7001859C 258D0001 */ addiu $t5, $t4, 1 -/* 0191A0 700185A0 AD6D0008 */ sw $t5, 8($t3) -/* 0191A4 700185A4 8FAE0028 */ lw $t6, 0x28($sp) -/* 0191A8 700185A8 8DCF0000 */ lw $t7, ($t6) -/* 0191AC 700185AC 8DE90000 */ lw $t1, ($t7) -/* 0191B0 700185B0 11200008 */ beqz $t1, .L700185D4 -/* 0191B4 700185B4 00000000 */ nop -/* 0191B8 700185B8 0C00423D */ jal __osPopThread -/* 0191BC 700185BC 01C02025 */ move $a0, $t6 -/* 0191C0 700185C0 00408025 */ move $s0, $v0 -/* 0191C4 700185C4 3C048002 */ lui $a0, %hi(__osRunQueue) # $a0, 0x8002 -/* 0191C8 700185C8 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 0191CC 700185CC 0C00422B */ jal __osEnqueueThread -/* 0191D0 700185D0 02002825 */ move $a1, $s0 -.L700185D4: -/* 0191D4 700185D4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0191D8 700185D8 8FB00018 */ lw $s0, 0x18($sp) -/* 0191DC 700185DC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0191E0 700185E0 03E00008 */ jr $ra -/* 0191E4 700185E4 00000000 */ nop - -/* 0191E8 700185E8 00000000 */ nop -/* 0191EC 700185EC 00000000 */ nop -glabel __osDisableInt -/* 0191F0 700185F0 40086000 */ mfc0 $t0, $12 -/* 0191F4 700185F4 2401FFFE */ li $at, -2 -/* 0191F8 700185F8 01014824 */ and $t1, $t0, $at -/* 0191FC 700185FC 40896000 */ mtc0 $t1, $12 -/* 019200 70018600 31020001 */ andi $v0, $t0, 1 -/* 019204 70018604 00000000 */ nop -/* 019208 70018608 03E00008 */ jr $ra -/* 01920C 7001860C 00000000 */ nop - -glabel __osRestoreInt -/* 019210 70018610 40086000 */ mfc0 $t0, $12 -/* 019214 70018614 01044025 */ or $t0, $t0, $a0 -/* 019218 70018618 40886000 */ mtc0 $t0, $12 -/* 01921C 7001861C 00000000 */ nop -/* 019220 70018620 00000000 */ nop -/* 019224 70018624 03E00008 */ jr $ra -/* 019228 70018628 00000000 */ nop - -/* 01922C 7001862C 00000000 */ nop -glabel __osTimerServicesInit -/* 019230 70018630 3C018007 */ lui $at, %hi(__osCurrentTime) # $at, 0x8007 -/* 019234 70018634 240E0000 */ li $t6, 0 -/* 019238 70018638 240F0000 */ li $t7, 0 -/* 01923C 7001863C AC2F8E14 */ sw $t7, %lo(__osCurrentTime+4)($at) -/* 019240 70018640 AC2E8E10 */ sw $t6, %lo(__osCurrentTime)($at) -/* 019244 70018644 3C018007 */ lui $at, %hi(__osBaseCounter) # $at, 0x8007 -/* 019248 70018648 3C188002 */ lui $t8, %hi(__osTimerList) -/* 01924C 7001864C 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 019250 70018650 AC208E18 */ sw $zero, %lo(__osBaseCounter)($at) -/* 019254 70018654 3C018007 */ lui $at, %hi(__osViIntrCount) # $at, 0x8007 -/* 019258 70018658 AC208E1C */ sw $zero, %lo(__osViIntrCount)($at) -/* 01925C 7001865C 3C198002 */ lui $t9, %hi(__osTimerList) -/* 019260 70018660 AF180004 */ sw $t8, 4($t8) -/* 019264 70018664 8F397FD0 */ lw $t9, %lo(__osTimerList)($t9) -/* 019268 70018668 3C098002 */ lui $t1, %hi(__osTimerList) -/* 01926C 7001866C 240A0000 */ li $t2, 0 -/* 019270 70018670 8F280004 */ lw $t0, 4($t9) -/* 019274 70018674 240B0000 */ li $t3, 0 -/* 019278 70018678 3C0C8002 */ lui $t4, %hi(__osTimerList) -/* 01927C 7001867C AF280000 */ sw $t0, ($t9) -/* 019280 70018680 8D297FD0 */ lw $t1, %lo(__osTimerList)($t1) -/* 019284 70018684 3C0D8002 */ lui $t5, %hi(__osTimerList) -/* 019288 70018688 3C188002 */ lui $t8, %hi(__osTimerList) -/* 01928C 7001868C AD2A0010 */ sw $t2, 0x10($t1) -/* 019290 70018690 AD2B0014 */ sw $t3, 0x14($t1) -/* 019294 70018694 8D8C7FD0 */ lw $t4, %lo(__osTimerList)($t4) -/* 019298 70018698 8D8E0010 */ lw $t6, 0x10($t4) -/* 01929C 7001869C 8D8F0014 */ lw $t7, 0x14($t4) -/* 0192A0 700186A0 AD8E0008 */ sw $t6, 8($t4) -/* 0192A4 700186A4 AD8F000C */ sw $t7, 0xc($t4) -/* 0192A8 700186A8 8DAD7FD0 */ lw $t5, %lo(__osTimerList)($t5) -/* 0192AC 700186AC ADA00018 */ sw $zero, 0x18($t5) -/* 0192B0 700186B0 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 0192B4 700186B4 03E00008 */ jr $ra -/* 0192B8 700186B8 AF00001C */ sw $zero, 0x1c($t8) - -glabel __osTimerInterrupt -/* 0192BC 700186BC 3C0E8002 */ lui $t6, %hi(__osTimerList) -/* 0192C0 700186C0 8DCE7FD0 */ lw $t6, %lo(__osTimerList)($t6) -/* 0192C4 700186C4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0192C8 700186C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0192CC 700186CC 8DCF0000 */ lw $t7, ($t6) -/* 0192D0 700186D0 11EE0054 */ beq $t7, $t6, .L70018824 -/* 0192D4 700186D4 00000000 */ nop -.L700186D8: -/* 0192D8 700186D8 3C188002 */ lui $t8, %hi(__osTimerList) -/* 0192DC 700186DC 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 0192E0 700186E0 8F190000 */ lw $t9, ($t8) -/* 0192E4 700186E4 17380006 */ bne $t9, $t8, .L70018700 -/* 0192E8 700186E8 AFB90024 */ sw $t9, 0x24($sp) -/* 0192EC 700186EC 0C007E38 */ jal __osSetCompare -/* 0192F0 700186F0 00002025 */ move $a0, $zero -/* 0192F4 700186F4 3C018007 */ lui $at, %hi(__osTimerCounter) # $at, 0x8007 -/* 0192F8 700186F8 1000004A */ b .L70018824 -/* 0192FC 700186FC AC208E20 */ sw $zero, %lo(__osTimerCounter)($at) -.L70018700: -/* 019300 70018700 0C003638 */ jal osGetCount -/* 019304 70018704 00000000 */ nop -/* 019308 70018708 AFA20020 */ sw $v0, 0x20($sp) -/* 01930C 7001870C 3C098007 */ lui $t1, %hi(__osTimerCounter) -/* 019310 70018710 8D298E20 */ lw $t1, %lo(__osTimerCounter)($t1) -/* 019314 70018714 8FA80020 */ lw $t0, 0x20($sp) -/* 019318 70018718 8FAF0024 */ lw $t7, 0x24($sp) -/* 01931C 7001871C 3C018007 */ lui $at, %hi(__osTimerCounter) # $at, 0x8007 -/* 019320 70018720 01095023 */ subu $t2, $t0, $t1 -/* 019324 70018724 AFAA001C */ sw $t2, 0x1c($sp) -/* 019328 70018728 AC288E20 */ sw $t0, %lo(__osTimerCounter)($at) -/* 01932C 7001872C 8DEE0010 */ lw $t6, 0x10($t7) -/* 019330 70018730 8FAB001C */ lw $t3, 0x1c($sp) -/* 019334 70018734 240C0000 */ li $t4, 0 -/* 019338 70018738 01E0C825 */ move $t9, $t7 -/* 01933C 7001873C 01CC082B */ sltu $at, $t6, $t4 -/* 019340 70018740 8DEF0014 */ lw $t7, 0x14($t7) -/* 019344 70018744 14200016 */ bnez $at, .L700187A0 -/* 019348 70018748 01606825 */ move $t5, $t3 -/* 01934C 7001874C 018E082B */ sltu $at, $t4, $t6 -/* 019350 70018750 14200003 */ bnez $at, .L70018760 -/* 019354 70018754 01AF082B */ sltu $at, $t5, $t7 -/* 019358 70018758 10200011 */ beqz $at, .L700187A0 -/* 01935C 7001875C 00000000 */ nop -.L70018760: -/* 019360 70018760 27380010 */ addiu $t8, $t9, 0x10 -/* 019364 70018764 AFB80018 */ sw $t8, 0x18($sp) -/* 019368 70018768 8F2B0014 */ lw $t3, 0x14($t9) -/* 01936C 7001876C 8F2A0010 */ lw $t2, 0x10($t9) -/* 019370 70018770 016D082B */ sltu $at, $t3, $t5 -/* 019374 70018774 014C4023 */ subu $t0, $t2, $t4 -/* 019378 70018778 01014023 */ subu $t0, $t0, $at -/* 01937C 7001877C 016D4823 */ subu $t1, $t3, $t5 -/* 019380 70018780 AF290014 */ sw $t1, 0x14($t9) -/* 019384 70018784 AF280010 */ sw $t0, 0x10($t9) -/* 019388 70018788 8FAE0024 */ lw $t6, 0x24($sp) -/* 01938C 7001878C 8DC40010 */ lw $a0, 0x10($t6) -/* 019390 70018790 0C00620D */ jal __osSetTimerIntr -/* 019394 70018794 8DC50014 */ lw $a1, 0x14($t6) -/* 019398 70018798 10000022 */ b .L70018824 -/* 01939C 7001879C 00000000 */ nop -.L700187A0: -/* 0193A0 700187A0 8FAF0024 */ lw $t7, 0x24($sp) -/* 0193A4 700187A4 8DF80000 */ lw $t8, ($t7) -/* 0193A8 700187A8 8DEA0004 */ lw $t2, 4($t7) -/* 0193AC 700187AC AD580000 */ sw $t8, ($t2) -/* 0193B0 700187B0 8FAB0024 */ lw $t3, 0x24($sp) -/* 0193B4 700187B4 8D6C0004 */ lw $t4, 4($t3) -/* 0193B8 700187B8 8D6D0000 */ lw $t5, ($t3) -/* 0193BC 700187BC ADAC0004 */ sw $t4, 4($t5) -/* 0193C0 700187C0 8FA80024 */ lw $t0, 0x24($sp) -/* 0193C4 700187C4 AD000000 */ sw $zero, ($t0) -/* 0193C8 700187C8 8FA90024 */ lw $t1, 0x24($sp) -/* 0193CC 700187CC AD200004 */ sw $zero, 4($t1) -/* 0193D0 700187D0 8FB90024 */ lw $t9, 0x24($sp) -/* 0193D4 700187D4 8F2E0018 */ lw $t6, 0x18($t9) -/* 0193D8 700187D8 11C00005 */ beqz $t6, .L700187F0 -/* 0193DC 700187DC 00000000 */ nop -/* 0193E0 700187E0 01C02025 */ move $a0, $t6 -/* 0193E4 700187E4 8F25001C */ lw $a1, 0x1c($t9) -/* 0193E8 700187E8 0C0037C4 */ jal osSendMesg -/* 0193EC 700187EC 00003025 */ move $a2, $zero -.L700187F0: -/* 0193F0 700187F0 8FAF0024 */ lw $t7, 0x24($sp) -/* 0193F4 700187F4 8DF80008 */ lw $t8, 8($t7) -/* 0193F8 700187F8 8DF9000C */ lw $t9, 0xc($t7) -/* 0193FC 700187FC 17000003 */ bnez $t8, .L7001880C -/* 019400 70018800 00000000 */ nop -/* 019404 70018804 1320FFB4 */ beqz $t9, .L700186D8 -/* 019408 70018808 00000000 */ nop -.L7001880C: -/* 01940C 7001880C ADF80010 */ sw $t8, 0x10($t7) -/* 019410 70018810 ADF90014 */ sw $t9, 0x14($t7) -/* 019414 70018814 0C00622A */ jal __osInsertTimer -/* 019418 70018818 8FA40024 */ lw $a0, 0x24($sp) -/* 01941C 7001881C 1000FFAE */ b .L700186D8 -/* 019420 70018820 00000000 */ nop -.L70018824: -/* 019424 70018824 8FBF0014 */ lw $ra, 0x14($sp) -/* 019428 70018828 27BD0028 */ addiu $sp, $sp, 0x28 -/* 01942C 7001882C 03E00008 */ jr $ra -/* 019430 70018830 00000000 */ nop - -glabel __osSetTimerIntr -/* 019434 70018834 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 019438 70018838 AFBF0014 */ sw $ra, 0x14($sp) -/* 01943C 7001883C AFA40028 */ sw $a0, 0x28($sp) -/* 019440 70018840 0C00617C */ jal __osDisableInt -/* 019444 70018844 AFA5002C */ sw $a1, 0x2c($sp) -/* 019448 70018848 0C003638 */ jal osGetCount -/* 01944C 7001884C AFA2001C */ sw $v0, 0x1c($sp) -/* 019450 70018850 3C018007 */ lui $at, %hi(__osTimerCounter) # $at, 0x8007 -/* 019454 70018854 AC228E20 */ sw $v0, %lo(__osTimerCounter)($at) -/* 019458 70018858 3C0E8007 */ lui $t6, %hi(__osTimerCounter) -/* 01945C 7001885C 8DCE8E20 */ lw $t6, %lo(__osTimerCounter)($t6) -/* 019460 70018860 8FA9002C */ lw $t1, 0x2c($sp) -/* 019464 70018864 8FA80028 */ lw $t0, 0x28($sp) -/* 019468 70018868 01C0C825 */ move $t9, $t6 -/* 01946C 7001886C 03295821 */ addu $t3, $t9, $t1 -/* 019470 70018870 24180000 */ li $t8, 0 -/* 019474 70018874 0169082B */ sltu $at, $t3, $t1 -/* 019478 70018878 00385021 */ addu $t2, $at, $t8 -/* 01947C 7001887C 01485021 */ addu $t2, $t2, $t0 -/* 019480 70018880 AFAA0020 */ sw $t2, 0x20($sp) -/* 019484 70018884 AFAB0024 */ sw $t3, 0x24($sp) -/* 019488 70018888 0C007E38 */ jal __osSetCompare -/* 01948C 7001888C 01602025 */ move $a0, $t3 -/* 019490 70018890 0C006184 */ jal __osRestoreInt -/* 019494 70018894 8FA4001C */ lw $a0, 0x1c($sp) -/* 019498 70018898 8FBF0014 */ lw $ra, 0x14($sp) -/* 01949C 7001889C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0194A0 700188A0 03E00008 */ jr $ra -/* 0194A4 700188A4 00000000 */ nop - -glabel __osInsertTimer -/* 0194A8 700188A8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0194AC 700188AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0194B0 700188B0 0C00617C */ jal __osDisableInt -/* 0194B4 700188B4 AFA40038 */ sw $a0, 0x38($sp) -/* 0194B8 700188B8 3C0E8002 */ lui $t6, %hi(__osTimerList) -/* 0194BC 700188BC 8DCE7FD0 */ lw $t6, %lo(__osTimerList)($t6) -/* 0194C0 700188C0 AFA20024 */ sw $v0, 0x24($sp) -/* 0194C4 700188C4 8FB80038 */ lw $t8, 0x38($sp) -/* 0194C8 700188C8 8DCF0000 */ lw $t7, ($t6) -/* 0194CC 700188CC AFAF0034 */ sw $t7, 0x34($sp) -/* 0194D0 700188D0 8F090014 */ lw $t1, 0x14($t8) -/* 0194D4 700188D4 8F080010 */ lw $t0, 0x10($t8) -/* 0194D8 700188D8 AFA9002C */ sw $t1, 0x2c($sp) -/* 0194DC 700188DC 11EE0029 */ beq $t7, $t6, .L70018984 -/* 0194E0 700188E0 AFA80028 */ sw $t0, 0x28($sp) -/* 0194E4 700188E4 8DEA0010 */ lw $t2, 0x10($t7) -/* 0194E8 700188E8 8DEB0014 */ lw $t3, 0x14($t7) -/* 0194EC 700188EC 010A082B */ sltu $at, $t0, $t2 -/* 0194F0 700188F0 14200024 */ bnez $at, .L70018984 -/* 0194F4 700188F4 0148082B */ sltu $at, $t2, $t0 -/* 0194F8 700188F8 14200003 */ bnez $at, .L70018908 -/* 0194FC 700188FC 0169082B */ sltu $at, $t3, $t1 -/* 019500 70018900 10200020 */ beqz $at, .L70018984 -/* 019504 70018904 00000000 */ nop -.L70018908: -/* 019508 70018908 27B90028 */ addiu $t9, $sp, 0x28 -/* 01950C 7001890C 8FB80034 */ lw $t8, 0x34($sp) -/* 019510 70018910 AFB90020 */ sw $t9, 0x20($sp) -/* 019514 70018914 8F2D0004 */ lw $t5, 4($t9) -/* 019518 70018918 8F2C0000 */ lw $t4, ($t9) -/* 01951C 7001891C 8F0F0014 */ lw $t7, 0x14($t8) -/* 019520 70018920 8F0E0010 */ lw $t6, 0x10($t8) -/* 019524 70018924 3C188002 */ lui $t8, %hi(__osTimerList) -/* 019528 70018928 01AF082B */ sltu $at, $t5, $t7 -/* 01952C 7001892C 018E4023 */ subu $t0, $t4, $t6 -/* 019530 70018930 01014023 */ subu $t0, $t0, $at -/* 019534 70018934 01AF4823 */ subu $t1, $t5, $t7 -/* 019538 70018938 AF290004 */ sw $t1, 4($t9) -/* 01953C 7001893C AF280000 */ sw $t0, ($t9) -/* 019540 70018940 8FAA0034 */ lw $t2, 0x34($sp) -/* 019544 70018944 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 019548 70018948 8D4B0000 */ lw $t3, ($t2) -/* 01954C 7001894C 1178000D */ beq $t3, $t8, .L70018984 -/* 019550 70018950 AFAB0034 */ sw $t3, 0x34($sp) -/* 019554 70018954 8FAC0028 */ lw $t4, 0x28($sp) -/* 019558 70018958 8D6E0010 */ lw $t6, 0x10($t3) -/* 01955C 7001895C 8FAD002C */ lw $t5, 0x2c($sp) -/* 019560 70018960 8D6F0014 */ lw $t7, 0x14($t3) -/* 019564 70018964 01CC082B */ sltu $at, $t6, $t4 -/* 019568 70018968 1420FFE7 */ bnez $at, .L70018908 -/* 01956C 7001896C 00000000 */ nop -/* 019570 70018970 018E082B */ sltu $at, $t4, $t6 -/* 019574 70018974 14200003 */ bnez $at, .L70018984 -/* 019578 70018978 01ED082B */ sltu $at, $t7, $t5 -/* 01957C 7001897C 1420FFE2 */ bnez $at, .L70018908 -/* 019580 70018980 00000000 */ nop -.L70018984: -/* 019584 70018984 8FB90038 */ lw $t9, 0x38($sp) -/* 019588 70018988 8FA80028 */ lw $t0, 0x28($sp) -/* 01958C 7001898C 8FA9002C */ lw $t1, 0x2c($sp) -/* 019590 70018990 3C188002 */ lui $t8, %hi(__osTimerList) -/* 019594 70018994 AF280010 */ sw $t0, 0x10($t9) -/* 019598 70018998 AF290014 */ sw $t1, 0x14($t9) -/* 01959C 7001899C 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 0195A0 700189A0 8FAA0034 */ lw $t2, 0x34($sp) -/* 0195A4 700189A4 1158000D */ beq $t2, $t8, .L700189DC -/* 0195A8 700189A8 00000000 */ nop -/* 0195AC 700189AC 254B0010 */ addiu $t3, $t2, 0x10 -/* 0195B0 700189B0 AFAB001C */ sw $t3, 0x1c($sp) -/* 0195B4 700189B4 8D4D0014 */ lw $t5, 0x14($t2) -/* 0195B8 700189B8 8D4C0010 */ lw $t4, 0x10($t2) -/* 0195BC 700189BC 8FAE0028 */ lw $t6, 0x28($sp) -/* 0195C0 700189C0 8FAF002C */ lw $t7, 0x2c($sp) -/* 0195C4 700189C4 018E4023 */ subu $t0, $t4, $t6 -/* 0195C8 700189C8 01AF082B */ sltu $at, $t5, $t7 -/* 0195CC 700189CC 01014023 */ subu $t0, $t0, $at -/* 0195D0 700189D0 01AF4823 */ subu $t1, $t5, $t7 -/* 0195D4 700189D4 AD490014 */ sw $t1, 0x14($t2) -/* 0195D8 700189D8 AD480010 */ sw $t0, 0x10($t2) -.L700189DC: -/* 0195DC 700189DC 8FB90034 */ lw $t9, 0x34($sp) -/* 0195E0 700189E0 8FB80038 */ lw $t8, 0x38($sp) -/* 0195E4 700189E4 AF190000 */ sw $t9, ($t8) -/* 0195E8 700189E8 8FAB0034 */ lw $t3, 0x34($sp) -/* 0195EC 700189EC 8FAD0038 */ lw $t5, 0x38($sp) -/* 0195F0 700189F0 8D6C0004 */ lw $t4, 4($t3) -/* 0195F4 700189F4 ADAC0004 */ sw $t4, 4($t5) -/* 0195F8 700189F8 8FAF0034 */ lw $t7, 0x34($sp) -/* 0195FC 700189FC 8FAE0038 */ lw $t6, 0x38($sp) -/* 019600 70018A00 8DE80004 */ lw $t0, 4($t7) -/* 019604 70018A04 AD0E0000 */ sw $t6, ($t0) -/* 019608 70018A08 8FAA0034 */ lw $t2, 0x34($sp) -/* 01960C 70018A0C 8FA90038 */ lw $t1, 0x38($sp) -/* 019610 70018A10 AD490004 */ sw $t1, 4($t2) -/* 019614 70018A14 0C006184 */ jal __osRestoreInt -/* 019618 70018A18 8FA40024 */ lw $a0, 0x24($sp) -/* 01961C 70018A1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 019620 70018A20 8FA20028 */ lw $v0, 0x28($sp) -/* 019624 70018A24 8FA3002C */ lw $v1, 0x2c($sp) -/* 019628 70018A28 03E00008 */ jr $ra -/* 01962C 70018A2C 27BD0038 */ addiu $sp, $sp, 0x38 - -.section .data -glabel __osTimerList -.word __osBaseTimer -.align 4 - -.section .text -glabel osGetThreadPri -/* 019630 70018A30 14800003 */ bnez $a0, .L70018A40 -/* 019634 70018A34 00000000 */ nop -/* 019638 70018A38 3C048002 */ lui $a0, %hi(__osRunningThread) # $a0, 0x8002 -/* 01963C 70018A3C 8C847730 */ lw $a0, %lo(__osRunningThread)($a0) -.L70018A40: -/* 019640 70018A40 03E00008 */ jr $ra -/* 019644 70018A44 8C820004 */ lw $v0, 4($a0) - -/* 019648 70018A48 00000000 */ nop -/* 01964C 70018A4C 00000000 */ nop - - -glabel __osViInit -/* 019650 70018A50 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019654 70018A54 AFBF0014 */ sw $ra, 0x14($sp) -/* 019658 70018A58 3C048002 */ lui $a0, %hi(buffer1) # $a0, 0x8002 -/* 01965C 70018A5C 24847FE0 */ addiu $a0, %lo(buffer1) # addiu $a0, $a0, 0x7fe0 -/* 019660 70018A60 0C005F10 */ jal _blkclr -/* 019664 70018A64 24050060 */ li $a1, 96 -/* 019668 70018A68 3C0E8002 */ lui $t6, %hi(buffer1) -/* 01966C 70018A6C 25CE7FE0 */ addiu $t6, %lo(buffer1) # addiu $t6, $t6, 0x7fe0 -/* 019670 70018A70 3C018003 */ lui $at, %hi(__osViCurr+0x10) # $at, 0x8003 -/* 019674 70018A74 AC2E8040 */ sw $t6, %lo(__osViCurr+0x10)($at) -/* 019678 70018A78 3C018003 */ lui $at, %hi(__osViNext+0x10) # $at, 0x8003 -/* 01967C 70018A7C 25CF0030 */ addiu $t7, $t6, 0x30 -/* 019680 70018A80 AC2F8044 */ sw $t7, %lo(__osViNext+0x10)($at) -/* 019684 70018A84 24180001 */ li $t8, 1 -/* 019688 70018A88 A5D80032 */ sh $t8, 0x32($t6) -/* 01968C 70018A8C 3C088003 */ lui $t0, %hi(__osViCurr+0x10) -/* 019690 70018A90 8D088040 */ lw $t0, %lo(__osViCurr+0x10)($t0) -/* 019694 70018A94 24190001 */ li $t9, 1 -/* 019698 70018A98 3C098003 */ lui $t1, %hi(osTvType) -/* 01969C 70018A9C A5190002 */ sh $t9, 2($t0) -/* 0196A0 70018AA0 8D298048 */ lw $t1, %lo(osTvType)($t1) -/* 0196A4 70018AA4 1120000B */ beqz $t1, .L70018AD4 -/* 0196A8 70018AA8 00000000 */ nop -/* 0196AC 70018AAC 3C0B8003 */ lui $t3, %hi(__osViNext+0x10) -/* 0196B0 70018AB0 8D6B8044 */ lw $t3, %lo(__osViNext+0x10)($t3) -/* 0196B4 70018AB4 3C0A8003 */ lui $t2, %hi(OS_VI_NTSC_LAN1) -/* 0196B8 70018AB8 254A8320 */ addiu $t2, %lo(OS_VI_NTSC_LAN1) # addiu $t2, $t2, -0x7ce0 -/* 0196BC 70018ABC 3C0C02E6 */ lui $t4, (0x02E6D354 >> 16) # lui $t4, 0x2e6 -/* 0196C0 70018AC0 358CD354 */ ori $t4, (0x02E6D354 & 0xFFFF) # ori $t4, $t4, 0xd354 -/* 0196C4 70018AC4 3C018003 */ lui $at, %hi(osViClock) # $at, 0x8003 -/* 0196C8 70018AC8 AD6A0008 */ sw $t2, 8($t3) -/* 0196CC 70018ACC 1000000A */ b .L70018AF8 -/* 0196D0 70018AD0 AC2C804C */ sw $t4, %lo(osViClock)($at) -.L70018AD4: -/* 0196D4 70018AD4 3C0F8003 */ lui $t7, %hi(__osViNext+0x10) -/* 0196D8 70018AD8 8DEF8044 */ lw $t7, %lo(__osViNext+0x10)($t7) -/* 0196DC 70018ADC 3C0D8003 */ lui $t5, %hi(OS_VI_PAL_LAN1) -/* 0196E0 70018AE0 25AD8370 */ addiu $t5, %lo(OS_VI_PAL_LAN1) # addiu $t5, $t5, -0x7c90 -/* 0196E4 70018AE4 3C1802F5 */ lui $t8, (0x02F5B2D2 >> 16) # lui $t8, 0x2f5 -/* 0196E8 70018AE8 3718B2D2 */ ori $t8, (0x02F5B2D2 & 0xFFFF) # ori $t8, $t8, 0xb2d2 -/* 0196EC 70018AEC 3C018003 */ lui $at, %hi(osViClock) # $at, 0x8003 -/* 0196F0 70018AF0 ADED0008 */ sw $t5, 8($t7) -/* 0196F4 70018AF4 AC38804C */ sw $t8, %lo(osViClock)($at) -.L70018AF8: -/* 0196F8 70018AF8 3C198003 */ lui $t9, %hi(__osViNext+0x10) -/* 0196FC 70018AFC 8F398044 */ lw $t9, %lo(__osViNext+0x10)($t9) -/* 019700 70018B00 240E0020 */ li $t6, 32 -/* 019704 70018B04 3C088003 */ lui $t0, %hi(__osViNext+0x10) -/* 019708 70018B08 A72E0000 */ sh $t6, ($t9) -/* 01970C 70018B0C 8D088044 */ lw $t0, %lo(__osViNext+0x10)($t0) -/* 019710 70018B10 3C0BA440 */ lui $t3, %hi(VI_CURRENT_REG) # $t3, 0xa440 -/* 019714 70018B14 8D090008 */ lw $t1, 8($t0) -/* 019718 70018B18 8D2A0004 */ lw $t2, 4($t1) -/* 01971C 70018B1C AD0A000C */ sw $t2, 0xc($t0) -/* 019720 70018B20 8D6C0010 */ lw $t4, %lo(VI_CURRENT_REG)($t3) -/* 019724 70018B24 2D81000B */ sltiu $at, $t4, 0xb -/* 019728 70018B28 14200006 */ bnez $at, .L70018B44 -/* 01972C 70018B2C 00000000 */ nop -.L70018B30: -/* 019730 70018B30 3C0DA440 */ lui $t5, %hi(VI_CURRENT_REG) # $t5, 0xa440 -/* 019734 70018B34 8DAF0010 */ lw $t7, %lo(VI_CURRENT_REG)($t5) -/* 019738 70018B38 2DE1000B */ sltiu $at, $t7, 0xb -/* 01973C 70018B3C 1020FFFC */ beqz $at, .L70018B30 -/* 019740 70018B40 00000000 */ nop -.L70018B44: -/* 019744 70018B44 3C18A440 */ lui $t8, 0xa440 -/* 019748 70018B48 0C0062DC */ jal __osViSwapContext -/* 01974C 70018B4C AF000000 */ sw $zero, ($t8) -/* 019750 70018B50 8FBF0014 */ lw $ra, 0x14($sp) -/* 019754 70018B54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019758 70018B58 03E00008 */ jr $ra -/* 01975C 70018B5C 00000000 */ nop - -glabel _libultraosviSegmentDataStart -.section .data -glabel buffer1 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -glabel __osViCurr -.word buffer1 -glabel __osViNext -.word buffer1+0x30 -glabel osViClock -.word 48681812 -.align 4 -glabel _libultraosviSegmentDataEnd - -.section .text -glabel __osViGetCurrentContext -/* 019760 70018B60 3C028003 */ lui $v0, 0x8003 -/* 019764 70018B64 03E00008 */ jr $ra -/* 019768 70018B68 8C428040 */ lw $v0, -0x7fc0($v0) - -/* 01976C 70018B6C 00000000 */ nop -glabel __osViSwapContext -/* 019770 70018B70 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 019774 70018B74 AFB1001C */ sw $s1, 0x1c($sp) -/* 019778 70018B78 AFBF0024 */ sw $ra, 0x24($sp) -/* 01977C 70018B7C AFB20020 */ sw $s2, 0x20($sp) -/* 019780 70018B80 AFB00018 */ sw $s0, 0x18($sp) -/* 019784 70018B84 AFA00030 */ sw $zero, 0x30($sp) -/* 019788 70018B88 3C118003 */ lui $s1, %hi(__osViNext+0x10) # $s1, 0x8003 -/* 01978C 70018B8C 3C0EA440 */ lui $t6, %hi(VI_CURRENT_REG) # $t6, 0xa440 -/* 019790 70018B90 8E318044 */ lw $s1, %lo(__osViNext+0x10)($s1) -/* 019794 70018B94 8DCF0010 */ lw $t7, %lo(VI_CURRENT_REG)($t6) -/* 019798 70018B98 8E300008 */ lw $s0, 8($s1) -/* 01979C 70018B9C 31F80001 */ andi $t8, $t7, 1 -/* 0197A0 70018BA0 AFB80030 */ sw $t8, 0x30($sp) -/* 0197A4 70018BA4 0C003A2C */ jal osVirtualToPhysical -/* 0197A8 70018BA8 8E240004 */ lw $a0, 4($s1) -/* 0197AC 70018BAC 8FB90030 */ lw $t9, 0x30($sp) -/* 0197B0 70018BB0 00409025 */ move $s2, $v0 -/* 0197B4 70018BB4 00194080 */ sll $t0, $t9, 2 -/* 0197B8 70018BB8 01194021 */ addu $t0, $t0, $t9 -/* 0197BC 70018BBC 00084080 */ sll $t0, $t0, 2 -/* 0197C0 70018BC0 02084821 */ addu $t1, $s0, $t0 -/* 0197C4 70018BC4 8D2A0028 */ lw $t2, 0x28($t1) -/* 0197C8 70018BC8 01525821 */ addu $t3, $t2, $s2 -/* 0197CC 70018BCC AFAB003C */ sw $t3, 0x3c($sp) -/* 0197D0 70018BD0 962C0000 */ lhu $t4, ($s1) -/* 0197D4 70018BD4 318D0002 */ andi $t5, $t4, 2 -/* 0197D8 70018BD8 11A00008 */ beqz $t5, .L70018BFC -/* 0197DC 70018BDC 00000000 */ nop -/* 0197E0 70018BE0 8E0F0020 */ lw $t7, 0x20($s0) -/* 0197E4 70018BE4 8E2E0020 */ lw $t6, 0x20($s1) -/* 0197E8 70018BE8 2401F000 */ li $at, -4096 -/* 0197EC 70018BEC 01E1C024 */ and $t8, $t7, $at -/* 0197F0 70018BF0 01D8C825 */ or $t9, $t6, $t8 -/* 0197F4 70018BF4 10000003 */ b .L70018C04 -/* 0197F8 70018BF8 AE390020 */ sw $t9, 0x20($s1) -.L70018BFC: -/* 0197FC 70018BFC 8E080020 */ lw $t0, 0x20($s0) -/* 019800 70018C00 AE280020 */ sw $t0, 0x20($s1) -.L70018C04: -/* 019804 70018C04 96290000 */ lhu $t1, ($s1) -/* 019808 70018C08 312A0004 */ andi $t2, $t1, 4 -/* 01980C 70018C0C 11400041 */ beqz $t2, .L70018D14 -/* 019810 70018C10 00000000 */ nop -/* 019814 70018C14 8FAB0030 */ lw $t3, 0x30($sp) -/* 019818 70018C18 000B6080 */ sll $t4, $t3, 2 -/* 01981C 70018C1C 018B6021 */ addu $t4, $t4, $t3 -/* 019820 70018C20 000C6080 */ sll $t4, $t4, 2 -/* 019824 70018C24 020C6821 */ addu $t5, $s0, $t4 -/* 019828 70018C28 8DAF002C */ lw $t7, 0x2c($t5) -/* 01982C 70018C2C 31EE0FFF */ andi $t6, $t7, 0xfff -/* 019830 70018C30 448E3000 */ mtc1 $t6, $f6 -/* 019834 70018C34 AFAE0034 */ sw $t6, 0x34($sp) -/* 019838 70018C38 C6240024 */ lwc1 $f4, 0x24($s1) -/* 01983C 70018C3C 05C10005 */ bgez $t6, .L70018C54 -/* 019840 70018C40 46803220 */ cvt.s.w $f8, $f6 -/* 019844 70018C44 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 019848 70018C48 44815000 */ mtc1 $at, $f10 -/* 01984C 70018C4C 00000000 */ nop -/* 019850 70018C50 460A4200 */ add.s $f8, $f8, $f10 -.L70018C54: -/* 019854 70018C54 46082402 */ mul.s $f16, $f4, $f8 -/* 019858 70018C58 24190001 */ li $t9, 1 -/* 01985C 70018C5C 4458F800 */ cfc1 $t8, $31 -/* 019860 70018C60 44D9F800 */ ctc1 $t9, $31 -/* 019864 70018C64 00000000 */ nop -/* 019868 70018C68 460084A4 */ cvt.w.s $f18, $f16 -/* 01986C 70018C6C 4459F800 */ cfc1 $t9, $31 -/* 019870 70018C70 00000000 */ nop -/* 019874 70018C74 33210004 */ andi $at, $t9, 4 -/* 019878 70018C78 33390078 */ andi $t9, $t9, 0x78 -/* 01987C 70018C7C 13200013 */ beqz $t9, .L70018CCC -/* 019880 70018C80 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 019884 70018C84 44819000 */ mtc1 $at, $f18 -/* 019888 70018C88 24190001 */ li $t9, 1 -/* 01988C 70018C8C 46128481 */ sub.s $f18, $f16, $f18 -/* 019890 70018C90 44D9F800 */ ctc1 $t9, $31 -/* 019894 70018C94 00000000 */ nop -/* 019898 70018C98 460094A4 */ cvt.w.s $f18, $f18 -/* 01989C 70018C9C 4459F800 */ cfc1 $t9, $31 -/* 0198A0 70018CA0 00000000 */ nop -/* 0198A4 70018CA4 33210004 */ andi $at, $t9, 4 -/* 0198A8 70018CA8 33390078 */ andi $t9, $t9, 0x78 -/* 0198AC 70018CAC 17200005 */ bnez $t9, .L70018CC4 -/* 0198B0 70018CB0 00000000 */ nop -/* 0198B4 70018CB4 44199000 */ mfc1 $t9, $f18 -/* 0198B8 70018CB8 3C018000 */ lui $at, 0x8000 -/* 0198BC 70018CBC 10000007 */ b .L70018CDC -/* 0198C0 70018CC0 0321C825 */ or $t9, $t9, $at -.L70018CC4: -/* 0198C4 70018CC4 10000005 */ b .L70018CDC -/* 0198C8 70018CC8 2419FFFF */ li $t9, -1 -.L70018CCC: -/* 0198CC 70018CCC 44199000 */ mfc1 $t9, $f18 -/* 0198D0 70018CD0 00000000 */ nop -/* 0198D4 70018CD4 0720FFFB */ bltz $t9, .L70018CC4 -/* 0198D8 70018CD8 00000000 */ nop -.L70018CDC: -/* 0198DC 70018CDC AE39002C */ sw $t9, 0x2c($s1) -/* 0198E0 70018CE0 8FA90030 */ lw $t1, 0x30($sp) -/* 0198E4 70018CE4 8E28002C */ lw $t0, 0x2c($s1) -/* 0198E8 70018CE8 2401F000 */ li $at, -4096 -/* 0198EC 70018CEC 00095080 */ sll $t2, $t1, 2 -/* 0198F0 70018CF0 01495021 */ addu $t2, $t2, $t1 -/* 0198F4 70018CF4 000A5080 */ sll $t2, $t2, 2 -/* 0198F8 70018CF8 020A5821 */ addu $t3, $s0, $t2 -/* 0198FC 70018CFC 8D6C002C */ lw $t4, 0x2c($t3) -/* 019900 70018D00 44D8F800 */ ctc1 $t8, $31 -/* 019904 70018D04 01816824 */ and $t5, $t4, $at -/* 019908 70018D08 010D7825 */ or $t7, $t0, $t5 -/* 01990C 70018D0C 10000008 */ b .L70018D30 -/* 019910 70018D10 AE2F002C */ sw $t7, 0x2c($s1) -.L70018D14: -/* 019914 70018D14 8FAE0030 */ lw $t6, 0x30($sp) -/* 019918 70018D18 000EC080 */ sll $t8, $t6, 2 -/* 01991C 70018D1C 030EC021 */ addu $t8, $t8, $t6 -/* 019920 70018D20 0018C080 */ sll $t8, $t8, 2 -/* 019924 70018D24 0218C821 */ addu $t9, $s0, $t8 -/* 019928 70018D28 8F29002C */ lw $t1, 0x2c($t9) -/* 01992C 70018D2C AE29002C */ sw $t1, 0x2c($s1) -.L70018D30: -/* 019930 70018D30 8E0A001C */ lw $t2, 0x1c($s0) -/* 019934 70018D34 AFAA0038 */ sw $t2, 0x38($sp) -/* 019938 70018D38 962B0000 */ lhu $t3, ($s1) -/* 01993C 70018D3C 316C0020 */ andi $t4, $t3, 0x20 -/* 019940 70018D40 11800002 */ beqz $t4, .L70018D4C -/* 019944 70018D44 00000000 */ nop -/* 019948 70018D48 AFA00038 */ sw $zero, 0x38($sp) -.L70018D4C: -/* 01994C 70018D4C 96280000 */ lhu $t0, ($s1) -/* 019950 70018D50 310D0040 */ andi $t5, $t0, 0x40 -/* 019954 70018D54 11A00005 */ beqz $t5, .L70018D6C -/* 019958 70018D58 00000000 */ nop -/* 01995C 70018D5C AE20002C */ sw $zero, 0x2c($s1) -/* 019960 70018D60 0C003A2C */ jal osVirtualToPhysical -/* 019964 70018D64 8E240004 */ lw $a0, 4($s1) -/* 019968 70018D68 AFA2003C */ sw $v0, 0x3c($sp) -.L70018D6C: -/* 01996C 70018D6C 962F0000 */ lhu $t7, ($s1) -/* 019970 70018D70 31EE0080 */ andi $t6, $t7, 0x80 -/* 019974 70018D74 11C00009 */ beqz $t6, .L70018D9C -/* 019978 70018D78 00000000 */ nop -/* 01997C 70018D7C 96380028 */ lhu $t8, 0x28($s1) -/* 019980 70018D80 3C0103FF */ lui $at, 0x3ff -/* 019984 70018D84 8E240004 */ lw $a0, 4($s1) -/* 019988 70018D88 0018CC00 */ sll $t9, $t8, 0x10 -/* 01998C 70018D8C 03214824 */ and $t1, $t9, $at -/* 019990 70018D90 0C003A2C */ jal osVirtualToPhysical -/* 019994 70018D94 AE29002C */ sw $t1, 0x2c($s1) -/* 019998 70018D98 AFA2003C */ sw $v0, 0x3c($sp) -.L70018D9C: -/* 01999C 70018D9C 8FAA003C */ lw $t2, 0x3c($sp) -/* 0199A0 70018DA0 3C0BA440 */ lui $t3, %hi(VI_LEAP_REG) # $t3, 0xa440 -/* 0199A4 70018DA4 3C08A440 */ lui $t0, %hi(VI_V_BURST_REG) # $t0, 0xa440 -/* 0199A8 70018DA8 AD6A0004 */ sw $t2, %lo(VI_ORIGIN_REG)($t3) -/* 0199AC 70018DAC 8E0C0008 */ lw $t4, 8($s0) -/* 0199B0 70018DB0 3C0FA440 */ lui $t7, %hi(VI_BURST_REG) # $t7, 0xa440 -/* 0199B4 70018DB4 3C18A440 */ lui $t8, %hi(VI_V_SYNC_REG) # $t8, 0xa440 -/* 0199B8 70018DB8 AD0C0008 */ sw $t4, %lo(VI_WIDTH_REG)($t0) -/* 0199BC 70018DBC 8E0D000C */ lw $t5, 0xc($s0) -/* 0199C0 70018DC0 3C09A440 */ lui $t1, %hi(VI_H_SYNC_REG) # $t1, 0xa440 -/* 0199C4 70018DC4 3C018003 */ lui $at, %hi(__osViNext+0x10) # $at, 0x8003 -/* 0199C8 70018DC8 ADED0014 */ sw $t5, %lo(VI_BURST_REG)($t7) -/* 0199CC 70018DCC 8E0E0010 */ lw $t6, 0x10($s0) -/* 0199D0 70018DD0 AF0E0018 */ sw $t6, %lo(VI_V_SYNC_REG)($t8) -/* 0199D4 70018DD4 8E190014 */ lw $t9, 0x14($s0) -/* 0199D8 70018DD8 AD39001C */ sw $t9, %lo(VI_H_SYNC_REG)($t1) -/* 0199DC 70018DDC 8E0A0018 */ lw $t2, 0x18($s0) -/* 0199E0 70018DE0 3C19A440 */ lui $t9, %hi(VI_INTR_REG) # $t9, 0xa440 -/* 0199E4 70018DE4 AD6A0020 */ sw $t2, %lo(VI_LEAP_REG)($t3) -/* 0199E8 70018DE8 8FAC0038 */ lw $t4, 0x38($sp) -/* 0199EC 70018DEC AD0C0024 */ sw $t4, %lo(VI_H_START_REG)($t0) -/* 0199F0 70018DF0 8FAD0030 */ lw $t5, 0x30($sp) -/* 0199F4 70018DF4 000D7880 */ sll $t7, $t5, 2 -/* 0199F8 70018DF8 01ED7821 */ addu $t7, $t7, $t5 -/* 0199FC 70018DFC 000F7880 */ sll $t7, $t7, 2 -/* 019A00 70018E00 020F7021 */ addu $t6, $s0, $t7 -/* 019A04 70018E04 8DD80030 */ lw $t8, 0x30($t6) -/* 019A08 70018E08 AF380028 */ sw $t8, %lo(VI_V_START_REG)($t9) -/* 019A0C 70018E0C 8FA90030 */ lw $t1, 0x30($sp) -/* 019A10 70018E10 00095080 */ sll $t2, $t1, 2 -/* 019A14 70018E14 01495021 */ addu $t2, $t2, $t1 -/* 019A18 70018E18 000A5080 */ sll $t2, $t2, 2 -/* 019A1C 70018E1C 020A5821 */ addu $t3, $s0, $t2 -/* 019A20 70018E20 8D6C0034 */ lw $t4, 0x34($t3) -/* 019A24 70018E24 3C0AA440 */ lui $t2, %hi(VI_X_SCALE_REG) # $t2, 0xa440 -/* 019A28 70018E28 AD0C002C */ sw $t4, %lo(VI_V_BURST_REG)($t0) -/* 019A2C 70018E2C 8FAD0030 */ lw $t5, 0x30($sp) -/* 019A30 70018E30 3C0CA440 */ lui $t4, %hi(VI_Y_SCALE_REG) # $t4, 0xa440 -/* 019A34 70018E34 000D7880 */ sll $t7, $t5, 2 -/* 019A38 70018E38 01ED7821 */ addu $t7, $t7, $t5 -/* 019A3C 70018E3C 000F7880 */ sll $t7, $t7, 2 -/* 019A40 70018E40 020F7021 */ addu $t6, $s0, $t7 -/* 019A44 70018E44 8DD80038 */ lw $t8, 0x38($t6) -/* 019A48 70018E48 3C0DA440 */ lui $t5, 0xa440 -/* 019A4C 70018E4C 3C0F8003 */ lui $t7, %hi(__osViCurr+0x10) -/* 019A50 70018E50 AF38000C */ sw $t8, %lo(VI_INTR_REG)($t9) -/* 019A54 70018E54 8E290020 */ lw $t1, 0x20($s1) -/* 019A58 70018E58 3C188003 */ lui $t8, %hi(__osViCurr+0x10) -/* 019A5C 70018E5C 3C0E8003 */ lui $t6, %hi(__osViNext+0x10) -/* 019A60 70018E60 AD490030 */ sw $t1, %lo(VI_X_SCALE_REG)($t2) -/* 019A64 70018E64 8E2B002C */ lw $t3, 0x2c($s1) -/* 019A68 70018E68 AD8B0034 */ sw $t3, %lo(VI_Y_SCALE_REG)($t4) -/* 019A6C 70018E6C 8E28000C */ lw $t0, 0xc($s1) -/* 019A70 70018E70 ADA80000 */ sw $t0, ($t5) -/* 019A74 70018E74 8DEF8040 */ lw $t7, %lo(__osViCurr+0x10)($t7) -/* 019A78 70018E78 AC2F8044 */ sw $t7, %lo(__osViNext+0x10)($at) -/* 019A7C 70018E7C 3C018003 */ lui $at, %hi(__osViCurr+0x10) # $at, 0x8003 -/* 019A80 70018E80 AC318040 */ sw $s1, %lo(__osViCurr+0x10)($at) -/* 019A84 70018E84 8F188040 */ lw $t8, %lo(__osViCurr+0x10)($t8) -/* 019A88 70018E88 8DCE8044 */ lw $t6, %lo(__osViNext+0x10)($t6) -/* 019A8C 70018E8C 270A0030 */ addiu $t2, $t8, 0x30 -.L70018E90: -/* 019A90 70018E90 8F010000 */ lw $at, ($t8) -/* 019A94 70018E94 2718000C */ addiu $t8, $t8, 0xc -/* 019A98 70018E98 25CE000C */ addiu $t6, $t6, 0xc -/* 019A9C 70018E9C ADC1FFF4 */ sw $at, -0xc($t6) -/* 019AA0 70018EA0 8F01FFF8 */ lw $at, -8($t8) -/* 019AA4 70018EA4 ADC1FFF8 */ sw $at, -8($t6) -/* 019AA8 70018EA8 8F01FFFC */ lw $at, -4($t8) -/* 019AAC 70018EAC 170AFFF8 */ bne $t8, $t2, .L70018E90 -/* 019AB0 70018EB0 ADC1FFFC */ sw $at, -4($t6) -/* 019AB4 70018EB4 8FBF0024 */ lw $ra, 0x24($sp) -/* 019AB8 70018EB8 8FB00018 */ lw $s0, 0x18($sp) -/* 019ABC 70018EBC 8FB1001C */ lw $s1, 0x1c($sp) -/* 019AC0 70018EC0 8FB20020 */ lw $s2, 0x20($sp) -/* 019AC4 70018EC4 03E00008 */ jr $ra -/* 019AC8 70018EC8 27BD0048 */ addiu $sp, $sp, 0x48 - -/* 019ACC 70018ECC 00000000 */ nop -glabel __osSpGetStatus -/* 019AD0 70018ED0 3C0EA404 */ lui $t6, 0xa404 -/* 019AD4 70018ED4 03E00008 */ jr $ra -/* 019AD8 70018ED8 8DC20010 */ lw $v0, 0x10($t6) - -/* 019ADC 70018EDC 00000000 */ nop -glabel __osSpSetStatus -/* 019AE0 70018EE0 3C0EA404 */ lui $t6, 0xa404 -/* 019AE4 70018EE4 03E00008 */ jr $ra -/* 019AE8 70018EE8 ADC40010 */ sw $a0, 0x10($t6) - -/* 019AEC 70018EEC 00000000 */ nop -glabel __osSpSetPc -/* 019AF0 70018EF0 3C0EA404 */ lui $t6, %hi(SP_STATUS_REG) # $t6, 0xa404 -/* 019AF4 70018EF4 8DC50010 */ lw $a1, %lo(SP_STATUS_REG)($t6) -/* 019AF8 70018EF8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 019AFC 70018EFC 30AF0001 */ andi $t7, $a1, 1 -/* 019B00 70018F00 15E00003 */ bnez $t7, .L70018F10 -/* 019B04 70018F04 00000000 */ nop -/* 019B08 70018F08 10000004 */ b .L70018F1C -/* 019B0C 70018F0C 2402FFFF */ li $v0, -1 -.L70018F10: -/* 019B10 70018F10 3C18A408 */ lui $t8, 0xa408 -/* 019B14 70018F14 AF040000 */ sw $a0, ($t8) -/* 019B18 70018F18 00001025 */ move $v0, $zero -.L70018F1C: -/* 019B1C 70018F1C 03E00008 */ jr $ra -/* 019B20 70018F20 27BD0008 */ addiu $sp, $sp, 8 - -/* 019B24 70018F24 00000000 */ nop -/* 019B28 70018F28 00000000 */ nop -/* 019B2C 70018F2C 00000000 */ nop -glabel __osSpRawStartDma -/* 019B30 70018F30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019B34 70018F34 AFBF0014 */ sw $ra, 0x14($sp) -/* 019B38 70018F38 AFA40018 */ sw $a0, 0x18($sp) -/* 019B3C 70018F3C AFA5001C */ sw $a1, 0x1c($sp) -/* 019B40 70018F40 AFA60020 */ sw $a2, 0x20($sp) -/* 019B44 70018F44 0C0063F0 */ jal __osSpDeviceBusy -/* 019B48 70018F48 AFA70024 */ sw $a3, 0x24($sp) -/* 019B4C 70018F4C 10400003 */ beqz $v0, .L70018F5C -/* 019B50 70018F50 00000000 */ nop -/* 019B54 70018F54 10000015 */ b .L70018FAC -/* 019B58 70018F58 2402FFFF */ li $v0, -1 -.L70018F5C: -/* 019B5C 70018F5C 8FAE001C */ lw $t6, 0x1c($sp) -/* 019B60 70018F60 3C0FA404 */ lui $t7, 0xa404 -/* 019B64 70018F64 ADEE0000 */ sw $t6, ($t7) -/* 019B68 70018F68 0C003A2C */ jal osVirtualToPhysical -/* 019B6C 70018F6C 8FA40020 */ lw $a0, 0x20($sp) -/* 019B70 70018F70 3C18A404 */ lui $t8, %hi(SP_DRAM_ADDR_REG) # $t8, 0xa404 -/* 019B74 70018F74 AF020004 */ sw $v0, %lo(SP_DRAM_ADDR_REG)($t8) -/* 019B78 70018F78 8FB90018 */ lw $t9, 0x18($sp) -/* 019B7C 70018F7C 17200006 */ bnez $t9, .L70018F98 -/* 019B80 70018F80 00000000 */ nop -/* 019B84 70018F84 8FA80024 */ lw $t0, 0x24($sp) -/* 019B88 70018F88 3C0AA404 */ lui $t2, %hi(SP_WR_LEN_REG) # $t2, 0xa404 -/* 019B8C 70018F8C 2509FFFF */ addiu $t1, $t0, -1 -/* 019B90 70018F90 10000005 */ b .L70018FA8 -/* 019B94 70018F94 AD49000C */ sw $t1, %lo(SP_WR_LEN_REG)($t2) -.L70018F98: -/* 019B98 70018F98 8FAB0024 */ lw $t3, 0x24($sp) -/* 019B9C 70018F9C 3C0DA404 */ lui $t5, %hi(SP_RD_LEN_REG) # $t5, 0xa404 -/* 019BA0 70018FA0 256CFFFF */ addiu $t4, $t3, -1 -/* 019BA4 70018FA4 ADAC0008 */ sw $t4, %lo(SP_RD_LEN_REG)($t5) -.L70018FA8: -/* 019BA8 70018FA8 00001025 */ move $v0, $zero -.L70018FAC: -/* 019BAC 70018FAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 019BB0 70018FB0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019BB4 70018FB4 03E00008 */ jr $ra -/* 019BB8 70018FB8 00000000 */ nop - -/* 019BBC 70018FBC 00000000 */ nop -glabel __osSpDeviceBusy -/* 019BC0 70018FC0 3C0EA404 */ lui $t6, %hi(SP_STATUS_REG) # $t6, 0xa404 -/* 019BC4 70018FC4 8DC40010 */ lw $a0, %lo(SP_STATUS_REG)($t6) -/* 019BC8 70018FC8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 019BCC 70018FCC 308F001C */ andi $t7, $a0, 0x1c -/* 019BD0 70018FD0 11E00003 */ beqz $t7, .L70018FE0 -/* 019BD4 70018FD4 00000000 */ nop -/* 019BD8 70018FD8 10000002 */ b .L70018FE4 -/* 019BDC 70018FDC 24020001 */ li $v0, 1 -.L70018FE0: -/* 019BE0 70018FE0 00001025 */ move $v0, $zero -.L70018FE4: -/* 019BE4 70018FE4 03E00008 */ jr $ra -/* 019BE8 70018FE8 27BD0008 */ addiu $sp, $sp, 8 - -/* 019BEC 70018FEC 00000000 */ nop -glabel __osDpDeviceBusy -/* 019BF0 70018FF0 3C0EA410 */ lui $t6, %hi(DPC_STATUS_REG) # $t6, 0xa410 -/* 019BF4 70018FF4 8DC4000C */ lw $a0, %lo(DPC_STATUS_REG)($t6) -/* 019BF8 70018FF8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 019BFC 70018FFC 308F0100 */ andi $t7, $a0, 0x100 -/* 019C00 70019000 11E00003 */ beqz $t7, .L70019010 -/* 019C04 70019004 00000000 */ nop -/* 019C08 70019008 10000002 */ b .L70019014 -/* 019C0C 7001900C 24020001 */ li $v0, 1 -.L70019010: -/* 019C10 70019010 00001025 */ move $v0, $zero -.L70019014: -/* 019C14 70019014 03E00008 */ jr $ra -/* 019C18 70019018 27BD0008 */ addiu $sp, $sp, 8 - -/* 019C1C 7001901C 00000000 */ nop -glabel __osProbeTLB -/* 019C20 70019020 40085000 */ mfc0 $t0, $10 -/* 019C24 70019024 310900FF */ andi $t1, $t0, 0xff -/* 019C28 70019028 2401E000 */ li $at, -8192 -/* 019C2C 7001902C 00815024 */ and $t2, $a0, $at -/* 019C30 70019030 012A4825 */ or $t1, $t1, $t2 -/* 019C34 70019034 40895000 */ mtc0 $t1, $10 -/* 019C38 70019038 00000000 */ nop -/* 019C3C 7001903C 00000000 */ nop -/* 019C40 70019040 00000000 */ nop -/* 019C44 70019044 42000008 */ tlbp -/* 019C48 70019048 00000000 */ nop -/* 019C4C 7001904C 00000000 */ nop -/* 019C50 70019050 400B0000 */ mfc0 $t3, $0 -/* 019C54 70019054 3C018000 */ lui $at, 0x8000 -/* 019C58 70019058 01615824 */ and $t3, $t3, $at -/* 019C5C 7001905C 1560001A */ bnez $t3, .L700190C8 -/* 019C60 70019060 00000000 */ nop -/* 019C64 70019064 42000001 */ tlbr -/* 019C68 70019068 00000000 */ nop -/* 019C6C 7001906C 00000000 */ nop -/* 019C70 70019070 00000000 */ nop -/* 019C74 70019074 400B2800 */ mfc0 $t3, $5 -/* 019C78 70019078 216B2000 */ addi $t3, $t3, 0x2000 -/* 019C7C 7001907C 000B5842 */ srl $t3, $t3, 1 -/* 019C80 70019080 01646024 */ and $t4, $t3, $a0 -/* 019C84 70019084 15800004 */ bnez $t4, .L70019098 -/* 019C88 70019088 216BFFFF */ addi $t3, $t3, -1 -/* 019C8C 7001908C 40021000 */ mfc0 $v0, $2 -/* 019C90 70019090 10000002 */ b .L7001909C -/* 019C94 70019094 00000000 */ nop -.L70019098: -/* 019C98 70019098 40021800 */ mfc0 $v0, $3 -.L7001909C: -/* 019C9C 7001909C 304D0002 */ andi $t5, $v0, 2 -/* 019CA0 700190A0 11A00009 */ beqz $t5, .L700190C8 -/* 019CA4 700190A4 00000000 */ nop -/* 019CA8 700190A8 3C013FFF */ lui $at, (0x3FFFFFC0 >> 16) # lui $at, 0x3fff -/* 019CAC 700190AC 3421FFC0 */ ori $at, (0x3FFFFFC0 & 0xFFFF) # ori $at, $at, 0xffc0 -/* 019CB0 700190B0 00411024 */ and $v0, $v0, $at -/* 019CB4 700190B4 00021180 */ sll $v0, $v0, 6 -/* 019CB8 700190B8 008B6824 */ and $t5, $a0, $t3 -/* 019CBC 700190BC 004D1020 */ add $v0, $v0, $t5 -/* 019CC0 700190C0 10000002 */ b .L700190CC -/* 019CC4 700190C4 00000000 */ nop -.L700190C8: -/* 019CC8 700190C8 2402FFFF */ li $v0, -1 -.L700190CC: -/* 019CCC 700190CC 40885000 */ mtc0 $t0, $10 -/* 019CD0 700190D0 03E00008 */ jr $ra -/* 019CD4 700190D4 00000000 */ nop - -/* 019CD8 700190D8 00000000 */ nop -/* 019CDC 700190DC 00000000 */ nop -glabel alSynDelete -/* 019CE0 700190E0 03E00008 */ jr $ra -/* 019CE4 700190E4 AC800000 */ sw $zero, ($a0) - -/* 019CE8 700190E8 00000000 */ nop -/* 019CEC 700190EC 00000000 */ nop -glabel __osAiDeviceBusy -/* 019CF0 700190F0 3C0EA450 */ lui $t6, %hi(AI_STATUS_REG) # $t6, 0xa450 -/* 019CF4 700190F4 8DC4000C */ lw $a0, %lo(AI_STATUS_REG)($t6) -/* 019CF8 700190F8 3C018000 */ lui $at, 0x8000 -/* 019CFC 700190FC 27BDFFF8 */ addiu $sp, $sp, -8 -/* 019D00 70019100 00817824 */ and $t7, $a0, $at -/* 019D04 70019104 11E00003 */ beqz $t7, .L70019114 -/* 019D08 70019108 00000000 */ nop -/* 019D0C 7001910C 10000002 */ b .L70019118 -/* 019D10 70019110 24020001 */ li $v0, 1 -.L70019114: -/* 019D14 70019114 00001025 */ move $v0, $zero -.L70019118: -/* 019D18 70019118 03E00008 */ jr $ra -/* 019D1C 7001911C 27BD0008 */ addiu $sp, $sp, 8 - -glabel alSaveNew -/* 019D20 70019120 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019D24 70019124 AFBF0014 */ sw $ra, 0x14($sp) -/* 019D28 70019128 3C057002 */ lui $a1, %hi(alSavePull) # $a1, 0x7002 -/* 019D2C 7001912C 3C067002 */ lui $a2, %hi(alSaveParam) # $a2, 0x7002 -/* 019D30 70019130 24C6B5F0 */ addiu $a2, %lo(alSaveParam) # addiu $a2, $a2, -0x4a10 -/* 019D34 70019134 24A5B624 */ addiu $a1, %lo(alSavePull) # addiu $a1, $a1, -0x49dc -/* 019D38 70019138 AFA40018 */ sw $a0, 0x18($sp) -/* 019D3C 7001913C 0C007E3C */ jal alFilterNew -/* 019D40 70019140 24070003 */ li $a3, 3 -/* 019D44 70019144 8FA40018 */ lw $a0, 0x18($sp) -/* 019D48 70019148 240E0001 */ li $t6, 1 -/* 019D4C 7001914C AC800014 */ sw $zero, 0x14($a0) -/* 019D50 70019150 AC8E0018 */ sw $t6, 0x18($a0) -/* 019D54 70019154 8FBF0014 */ lw $ra, 0x14($sp) -/* 019D58 70019158 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019D5C 7001915C 03E00008 */ jr $ra -/* 019D60 70019160 00000000 */ nop - -glabel alMainBusNew -/* 019D64 70019164 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019D68 70019168 AFA5001C */ sw $a1, 0x1c($sp) -/* 019D6C 7001916C AFA60020 */ sw $a2, 0x20($sp) -/* 019D70 70019170 AFBF0014 */ sw $ra, 0x14($sp) -/* 019D74 70019174 3C067002 */ lui $a2, %hi(alMainBusParam) # $a2, 0x7002 -/* 019D78 70019178 3C057002 */ lui $a1, %hi(alMainBusPull) # $a1, 0x7002 -/* 019D7C 7001917C 24A59990 */ addiu $a1, %lo(alMainBusPull) # addiu $a1, $a1, -0x6670 -/* 019D80 70019180 24C69960 */ addiu $a2, %lo(alMainBusParam) # addiu $a2, $a2, -0x66a0 -/* 019D84 70019184 AFA40018 */ sw $a0, 0x18($sp) -/* 019D88 70019188 0C007E3C */ jal alFilterNew -/* 019D8C 7001918C 24070007 */ li $a3, 7 -/* 019D90 70019190 8FA40018 */ lw $a0, 0x18($sp) -/* 019D94 70019194 AC800014 */ sw $zero, 0x14($a0) -/* 019D98 70019198 8FAE0020 */ lw $t6, 0x20($sp) -/* 019D9C 7001919C AC8E0018 */ sw $t6, 0x18($a0) -/* 019DA0 700191A0 8FAF001C */ lw $t7, 0x1c($sp) -/* 019DA4 700191A4 AC8F001C */ sw $t7, 0x1c($a0) -/* 019DA8 700191A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 019DAC 700191AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019DB0 700191B0 03E00008 */ jr $ra -/* 019DB4 700191B4 00000000 */ nop - -glabel alAuxBusNew -/* 019DB8 700191B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019DBC 700191BC AFA5001C */ sw $a1, 0x1c($sp) -/* 019DC0 700191C0 AFA60020 */ sw $a2, 0x20($sp) -/* 019DC4 700191C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 019DC8 700191C8 3C067002 */ lui $a2, %hi(ultra_7001B4E0) # $a2, 0x7002 -/* 019DCC 700191CC 3C057002 */ lui $a1, %hi(ultra_7001B510) # $a1, 0x7002 -/* 019DD0 700191D0 24A5B510 */ addiu $a1, %lo(ultra_7001B510) # addiu $a1, $a1, -0x4af0 -/* 019DD4 700191D4 24C6B4E0 */ addiu $a2, %lo(ultra_7001B4E0) # addiu $a2, $a2, -0x4b20 -/* 019DD8 700191D8 AFA40018 */ sw $a0, 0x18($sp) -/* 019DDC 700191DC 0C007E3C */ jal alFilterNew -/* 019DE0 700191E0 24070006 */ li $a3, 6 -/* 019DE4 700191E4 8FA40018 */ lw $a0, 0x18($sp) -/* 019DE8 700191E8 AC800014 */ sw $zero, 0x14($a0) -/* 019DEC 700191EC 8FAE0020 */ lw $t6, 0x20($sp) -/* 019DF0 700191F0 AC8E0018 */ sw $t6, 0x18($a0) -/* 019DF4 700191F4 8FAF001C */ lw $t7, 0x1c($sp) -/* 019DF8 700191F8 AC8F001C */ sw $t7, 0x1c($a0) -/* 019DFC 700191FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 019E00 70019200 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019E04 70019204 03E00008 */ jr $ra -/* 019E08 70019208 00000000 */ nop - -glabel alResampleNew -/* 019E0C 7001920C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 019E10 70019210 AFA50024 */ sw $a1, 0x24($sp) -/* 019E14 70019214 AFBF001C */ sw $ra, 0x1c($sp) -/* 019E18 70019218 3C057002 */ lui $a1, %hi(alResamplePull) # $a1, 0x7002 -/* 019E1C 7001921C 3C067002 */ lui $a2, %hi(alResampleParam) # $a2, 0x7002 -/* 019E20 70019220 24C6A600 */ addiu $a2, %lo(alResampleParam) # addiu $a2, $a2, -0x5a00 -/* 019E24 70019224 24A5A6EC */ addiu $a1, %lo(alResamplePull) # addiu $a1, $a1, -0x5914 -/* 019E28 70019228 AFA40020 */ sw $a0, 0x20($sp) -/* 019E2C 7001922C 0C007E3C */ jal alFilterNew -/* 019E30 70019230 24070001 */ li $a3, 1 -/* 019E34 70019234 240E0020 */ li $t6, 32 -/* 019E38 70019238 AFAE0010 */ sw $t6, 0x10($sp) -/* 019E3C 7001923C 00002025 */ move $a0, $zero -/* 019E40 70019240 00002825 */ move $a1, $zero -/* 019E44 70019244 8FA60024 */ lw $a2, 0x24($sp) -/* 019E48 70019248 0C003AD4 */ jal alHeapDBAlloc -/* 019E4C 7001924C 24070001 */ li $a3, 1 -/* 019E50 70019250 8FA80020 */ lw $t0, 0x20($sp) -/* 019E54 70019254 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 019E58 70019258 44802000 */ mtc1 $zero, $f4 -/* 019E5C 7001925C 44813000 */ mtc1 $at, $f6 -/* 019E60 70019260 240F0001 */ li $t7, 1 -/* 019E64 70019264 AD020014 */ sw $v0, 0x14($t0) -/* 019E68 70019268 AD0F0024 */ sw $t7, 0x24($t0) -/* 019E6C 7001926C AD000030 */ sw $zero, 0x30($t0) -/* 019E70 70019270 AD00001C */ sw $zero, 0x1c($t0) -/* 019E74 70019274 AD000028 */ sw $zero, 0x28($t0) -/* 019E78 70019278 AD00002C */ sw $zero, 0x2c($t0) -/* 019E7C 7001927C E5040020 */ swc1 $f4, 0x20($t0) -/* 019E80 70019280 E5060018 */ swc1 $f6, 0x18($t0) -/* 019E84 70019284 8FBF001C */ lw $ra, 0x1c($sp) -/* 019E88 70019288 27BD0020 */ addiu $sp, $sp, 0x20 -/* 019E8C 7001928C 03E00008 */ jr $ra -/* 019E90 70019290 00000000 */ nop - -glabel alLoadNew -/* 019E94 70019294 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 019E98 70019298 AFA5002C */ sw $a1, 0x2c($sp) -/* 019E9C 7001929C AFA60030 */ sw $a2, 0x30($sp) -/* 019EA0 700192A0 AFBF0024 */ sw $ra, 0x24($sp) -/* 019EA4 700192A4 AFB00020 */ sw $s0, 0x20($sp) -/* 019EA8 700192A8 3C067002 */ lui $a2, %hi(alLoadParam) # $a2, 0x7002 -/* 019EAC 700192AC 3C057002 */ lui $a1, %hi(alAdpcmPull) # $a1, 0x7002 -/* 019EB0 700192B0 00808025 */ move $s0, $a0 -/* 019EB4 700192B4 24A5A15C */ addiu $a1, %lo(alAdpcmPull) # addiu $a1, $a1, -0x5ea4 -/* 019EB8 700192B8 24C69AB0 */ addiu $a2, %lo(alLoadParam) # addiu $a2, $a2, -0x6550 -/* 019EBC 700192BC 0C007E3C */ jal alFilterNew -/* 019EC0 700192C0 00003825 */ move $a3, $zero -/* 019EC4 700192C4 240E0020 */ li $t6, 32 -/* 019EC8 700192C8 AFAE0010 */ sw $t6, 0x10($sp) -/* 019ECC 700192CC 00002025 */ move $a0, $zero -/* 019ED0 700192D0 00002825 */ move $a1, $zero -/* 019ED4 700192D4 8FA60030 */ lw $a2, 0x30($sp) -/* 019ED8 700192D8 0C003AD4 */ jal alHeapDBAlloc -/* 019EDC 700192DC 24070001 */ li $a3, 1 -/* 019EE0 700192E0 AE020014 */ sw $v0, 0x14($s0) -/* 019EE4 700192E4 240F0020 */ li $t7, 32 -/* 019EE8 700192E8 AFAF0010 */ sw $t7, 0x10($sp) -/* 019EEC 700192EC 8FA60030 */ lw $a2, 0x30($sp) -/* 019EF0 700192F0 00002025 */ move $a0, $zero -/* 019EF4 700192F4 00002825 */ move $a1, $zero -/* 019EF8 700192F8 0C003AD4 */ jal alHeapDBAlloc -/* 019EFC 700192FC 24070001 */ li $a3, 1 -/* 019F00 70019300 AE020018 */ sw $v0, 0x18($s0) -/* 019F04 70019304 8FB9002C */ lw $t9, 0x2c($sp) -/* 019F08 70019308 26040034 */ addiu $a0, $s0, 0x34 -/* 019F0C 7001930C 0320F809 */ jalr $t9 -/* 019F10 70019310 00000000 */ nop -/* 019F14 70019314 24180001 */ li $t8, 1 -/* 019F18 70019318 AE020030 */ sw $v0, 0x30($s0) -/* 019F1C 7001931C AE00003C */ sw $zero, 0x3c($s0) -/* 019F20 70019320 AE180040 */ sw $t8, 0x40($s0) -/* 019F24 70019324 AE000044 */ sw $zero, 0x44($s0) -/* 019F28 70019328 8FBF0024 */ lw $ra, 0x24($sp) -/* 019F2C 7001932C 8FB00020 */ lw $s0, 0x20($sp) -/* 019F30 70019330 27BD0028 */ addiu $sp, $sp, 0x28 -/* 019F34 70019334 03E00008 */ jr $ra -/* 019F38 70019338 00000000 */ nop - -glabel alEnvmixerNew -/* 019F3C 7001933C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 019F40 70019340 AFA50024 */ sw $a1, 0x24($sp) -/* 019F44 70019344 AFBF001C */ sw $ra, 0x1c($sp) -/* 019F48 70019348 3C057002 */ lui $a1, %hi(alEnvmixerPull) # $a1, 0x7002 -/* 019F4C 7001934C 3C067002 */ lui $a2, %hi(alEnvmixerParam) # $a2, 0x7002 -/* 019F50 70019350 24C6AA14 */ addiu $a2, %lo(alEnvmixerParam) # addiu $a2, $a2, -0x55ec -/* 019F54 70019354 24A5AE5C */ addiu $a1, %lo(alEnvmixerPull) # addiu $a1, $a1, -0x51a4 -/* 019F58 70019358 AFA40020 */ sw $a0, 0x20($sp) -/* 019F5C 7001935C 0C007E3C */ jal alFilterNew -/* 019F60 70019360 24070004 */ li $a3, 4 -/* 019F64 70019364 240E0050 */ li $t6, 80 -/* 019F68 70019368 AFAE0010 */ sw $t6, 0x10($sp) -/* 019F6C 7001936C 00002025 */ move $a0, $zero -/* 019F70 70019370 00002825 */ move $a1, $zero -/* 019F74 70019374 8FA60024 */ lw $a2, 0x24($sp) -/* 019F78 70019378 0C003AD4 */ jal alHeapDBAlloc -/* 019F7C 7001937C 24070001 */ li $a3, 1 -/* 019F80 70019380 8FA80020 */ lw $t0, 0x20($sp) -/* 019F84 70019384 24030001 */ li $v1, 1 -/* 019F88 70019388 AD020014 */ sw $v0, 0x14($t0) -/* 019F8C 7001938C AD030038 */ sw $v1, 0x38($t0) -/* 019F90 70019390 AD000048 */ sw $zero, 0x48($t0) -/* 019F94 70019394 A503001A */ sh $v1, 0x1a($t0) -/* 019F98 70019398 A5030028 */ sh $v1, 0x28($t0) -/* 019F9C 7001939C A503002E */ sh $v1, 0x2e($t0) -/* 019FA0 700193A0 A503001C */ sh $v1, 0x1c($t0) -/* 019FA4 700193A4 A503001E */ sh $v1, 0x1e($t0) -/* 019FA8 700193A8 A5000020 */ sh $zero, 0x20($t0) -/* 019FAC 700193AC A5000022 */ sh $zero, 0x22($t0) -/* 019FB0 700193B0 A5030026 */ sh $v1, 0x26($t0) -/* 019FB4 700193B4 A5000024 */ sh $zero, 0x24($t0) -/* 019FB8 700193B8 AD000030 */ sw $zero, 0x30($t0) -/* 019FBC 700193BC AD000034 */ sw $zero, 0x34($t0) -/* 019FC0 700193C0 A5000018 */ sh $zero, 0x18($t0) -/* 019FC4 700193C4 AD00003C */ sw $zero, 0x3c($t0) -/* 019FC8 700193C8 AD000040 */ sw $zero, 0x40($t0) -/* 019FCC 700193CC AD000044 */ sw $zero, 0x44($t0) -/* 019FD0 700193D0 8FBF001C */ lw $ra, 0x1c($sp) -/* 019FD4 700193D4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 019FD8 700193D8 03E00008 */ jr $ra -/* 019FDC 700193DC 00000000 */ nop - -glabel init_lpfilter -/* 019FE0 700193E0 84820000 */ lh $v0, ($a0) -/* 019FE4 700193E4 24194000 */ li $t9, 16384 -/* 019FE8 700193E8 24090001 */ li $t1, 1 -/* 019FEC 700193EC 00027380 */ sll $t6, $v0, 0xe -/* 019FF0 700193F0 000E1BC3 */ sra $v1, $t6, 0xf -/* 019FF4 700193F4 00037C00 */ sll $t7, $v1, 0x10 -/* 019FF8 700193F8 000F1C03 */ sra $v1, $t7, 0x10 -/* 019FFC 700193FC 03234023 */ subu $t0, $t9, $v1 -/* 01A000 70019400 A4880002 */ sh $t0, 2($a0) -/* 01A004 70019404 AC89002C */ sw $t1, 0x2c($a0) -/* 01A008 70019408 00002825 */ move $a1, $zero -/* 01A00C 7001940C 00803025 */ move $a2, $a0 -.L70019410: -/* 01A010 70019410 24A50001 */ addiu $a1, $a1, 1 -/* 01A014 70019414 28A10008 */ slti $at, $a1, 8 -/* 01A018 70019418 24C60002 */ addiu $a2, $a2, 2 -/* 01A01C 7001941C 1420FFFC */ bnez $at, .L70019410 -/* 01A020 70019420 A4C00006 */ sh $zero, 6($a2) -/* 01A024 70019424 44832000 */ mtc1 $v1, $f4 -/* 01A028 70019428 3C0140D0 */ li $at, 0x40D00000 # 6.500000 -/* 01A02C 7001942C 44816800 */ mtc1 $at, $f13 -/* 01A030 70019430 468021A1 */ cvt.d.w $f6, $f4 -/* 01A034 70019434 44806000 */ mtc1 $zero, $f12 -/* 01A038 70019438 24A50001 */ addiu $a1, $a1, 1 -/* 01A03C 7001943C 28A10010 */ slti $at, $a1, 0x10 -/* 01A040 70019440 A4C30008 */ sh $v1, 8($a2) -/* 01A044 70019444 462C3083 */ div.d $f2, $f6, $f12 -/* 01A048 70019448 24C60002 */ addiu $a2, $a2, 2 -/* 01A04C 7001944C 1020000A */ beqz $at, .L70019478 -/* 01A050 70019450 46201006 */ mov.d $f0, $f2 -.L70019454: -/* 01A054 70019454 46220002 */ mul.d $f0, $f0, $f2 -/* 01A058 70019458 24A50001 */ addiu $a1, $a1, 1 -/* 01A05C 7001945C 28A10010 */ slti $at, $a1, 0x10 -/* 01A060 70019460 24C60002 */ addiu $a2, $a2, 2 -/* 01A064 70019464 462C0202 */ mul.d $f8, $f0, $f12 -/* 01A068 70019468 4620428D */ trunc.w.d $f10, $f8 -/* 01A06C 7001946C 440B5000 */ mfc1 $t3, $f10 -/* 01A070 70019470 1420FFF8 */ bnez $at, .L70019454 -/* 01A074 70019474 A4CB0006 */ sh $t3, 6($a2) -.L70019478: -/* 01A078 70019478 03E00008 */ jr $ra -/* 01A07C 7001947C 00000000 */ nop - -glabel alFxNew -/* 01A080 70019480 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 01A084 70019484 AFB60058 */ sw $s6, 0x58($sp) -/* 01A088 70019488 00C0B025 */ move $s6, $a2 -/* 01A08C 7001948C AFBF0064 */ sw $ra, 0x64($sp) -/* 01A090 70019490 AFB50054 */ sw $s5, 0x54($sp) -/* 01A094 70019494 AFA5006C */ sw $a1, 0x6c($sp) -/* 01A098 70019498 3C067002 */ lui $a2, %hi(alFxParam) # $a2, 0x7002 -/* 01A09C 7001949C 0080A825 */ move $s5, $a0 -/* 01A0A0 700194A0 AFBE0060 */ sw $fp, 0x60($sp) -/* 01A0A4 700194A4 AFB7005C */ sw $s7, 0x5c($sp) -/* 01A0A8 700194A8 AFB40050 */ sw $s4, 0x50($sp) -/* 01A0AC 700194AC AFB3004C */ sw $s3, 0x4c($sp) -/* 01A0B0 700194B0 AFB20048 */ sw $s2, 0x48($sp) -/* 01A0B4 700194B4 AFB10044 */ sw $s1, 0x44($sp) -/* 01A0B8 700194B8 AFB00040 */ sw $s0, 0x40($sp) -/* 01A0BC 700194BC F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 01A0C0 700194C0 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 01A0C4 700194C4 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 01A0C8 700194C8 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 01A0CC 700194CC 24C601C0 */ addiu $a2, %lo(alFxParam) # addiu $a2, $a2, 0x1c0 -/* 01A0D0 700194D0 00002825 */ move $a1, $zero -/* 01A0D4 700194D4 0C007E3C */ jal alFilterNew -/* 01A0D8 700194D8 24070005 */ li $a3, 5 -/* 01A0DC 700194DC 8FA2006C */ lw $v0, 0x6c($sp) -/* 01A0E0 700194E0 3C0E7002 */ lui $t6, %hi(alFxPull) # $t6, 0x7002 -/* 01A0E4 700194E4 3C0F7002 */ lui $t7, %hi(alFxParamHdl) # $t7, 0x7002 -/* 01A0E8 700194E8 25CE01D8 */ addiu $t6, %lo(alFxPull) # addiu $t6, $t6, 0x1d8 -/* 01A0EC 700194EC 25EFFFA8 */ addiu $t7, %lo(alFxParamHdl) # addiu $t7, $t7, -0x58 -/* 01A0F0 700194F0 AEAE0004 */ sw $t6, 4($s5) -/* 01A0F4 700194F4 AEAF0028 */ sw $t7, 0x28($s5) -/* 01A0F8 700194F8 9058001C */ lbu $t8, 0x1c($v0) -/* 01A0FC 700194FC 3C138003 */ lui $s3, %hi(NULL_PARAMS) # $s3, 0x8003 -/* 01A100 70019500 267381B8 */ addiu $s3, %lo(NULL_PARAMS) # addiu $s3, $s3, -0x7e48 -/* 01A104 70019504 2719FFFF */ addiu $t9, $t8, -1 -/* 01A108 70019508 2F210006 */ sltiu $at, $t9, 6 -/* 01A10C 7001950C 10200017 */ beqz $at, .L7001956C -/* 01A110 70019510 0019C880 */ sll $t9, $t9, 2 -/* 01A114 70019514 3C018003 */ lui $at, 0x8003 -/* 01A118 70019518 00390821 */ addu $at, $at, $t9 -/* 01A11C 7001951C 8C399830 */ lw $t9, -0x67d0($at) -/* 01A120 70019520 03200008 */ jr $t9 -/* 01A124 70019524 00000000 */ nop -.L70019528: -/* 01A128 70019528 3C138003 */ lui $s3, %hi(SMALLROOM_PARAMS) # $s3, 0x8003 -/* 01A12C 7001952C 1000000F */ b .L7001956C -/* 01A130 70019530 26738050 */ addiu $s3, %lo(SMALLROOM_PARAMS) # addiu $s3, $s3, -0x7fb0 -.L70019534: -/* 01A134 70019534 3C138003 */ lui $s3, %hi(BIGROOM_PARAMS) # $s3, 0x8003 -/* 01A138 70019538 1000000C */ b .L7001956C -/* 01A13C 7001953C 267380B8 */ addiu $s3, %lo(BIGROOM_PARAMS) # addiu $s3, $s3, -0x7f48 -.L70019540: -/* 01A140 70019540 3C138003 */ lui $s3, %hi(ECHO_PARAMS) # $s3, 0x8003 -/* 01A144 70019544 10000009 */ b .L7001956C -/* 01A148 70019548 26738140 */ addiu $s3, %lo(ECHO_PARAMS) # addiu $s3, $s3, -0x7ec0 -.L7001954C: -/* 01A14C 7001954C 3C138003 */ lui $s3, %hi(CHORUS_PARAMS) # $s3, 0x8003 -/* 01A150 70019550 10000006 */ b .L7001956C -/* 01A154 70019554 26738168 */ addiu $s3, %lo(CHORUS_PARAMS) # addiu $s3, $s3, -0x7e98 -.L70019558: -/* 01A158 70019558 3C138003 */ lui $s3, %hi(FLANGE_PARAMS) # $s3, 0x8003 -/* 01A15C 7001955C 10000003 */ b .L7001956C -/* 01A160 70019560 26738190 */ addiu $s3, %lo(FLANGE_PARAMS) # addiu $s3, $s3, -0x7e70 -.L70019564: -/* 01A164 70019564 10000001 */ b .L7001956C -/* 01A168 70019568 8C530020 */ lw $s3, 0x20($v0) -.L7001956C: -/* 01A16C 7001956C 8E680000 */ lw $t0, ($s3) -/* 01A170 70019570 240A0028 */ li $t2, 40 -/* 01A174 70019574 24110002 */ li $s1, 2 -/* 01A178 70019578 A2A80024 */ sb $t0, 0x24($s5) -/* 01A17C 7001957C 8E690004 */ lw $t1, 4($s3) -/* 01A180 70019580 00002025 */ move $a0, $zero -/* 01A184 70019584 00002825 */ move $a1, $zero -/* 01A188 70019588 AEA9001C */ sw $t1, 0x1c($s5) -/* 01A18C 7001958C AFAA0010 */ sw $t2, 0x10($sp) -/* 01A190 70019590 02C03025 */ move $a2, $s6 -/* 01A194 70019594 0C003AD4 */ jal alHeapDBAlloc -/* 01A198 70019598 310700FF */ andi $a3, $t0, 0xff -/* 01A19C 7001959C AEA20020 */ sw $v0, 0x20($s5) -/* 01A1A0 700195A0 8EA7001C */ lw $a3, 0x1c($s5) -/* 01A1A4 700195A4 240B0002 */ li $t3, 2 -/* 01A1A8 700195A8 AFAB0010 */ sw $t3, 0x10($sp) -/* 01A1AC 700195AC 00002025 */ move $a0, $zero -/* 01A1B0 700195B0 00002825 */ move $a1, $zero -/* 01A1B4 700195B4 0C003AD4 */ jal alHeapDBAlloc -/* 01A1B8 700195B8 02C03025 */ move $a2, $s6 -/* 01A1BC 700195BC 8EAC001C */ lw $t4, 0x1c($s5) -/* 01A1C0 700195C0 AEA20014 */ sw $v0, 0x14($s5) -/* 01A1C4 700195C4 AEA20018 */ sw $v0, 0x18($s5) -/* 01A1C8 700195C8 1180000C */ beqz $t4, .L700195FC -/* 01A1CC 700195CC 00001825 */ move $v1, $zero -/* 01A1D0 700195D0 8EAD0014 */ lw $t5, 0x14($s5) -.L700195D4: -/* 01A1D4 700195D4 00037040 */ sll $t6, $v1, 1 -/* 01A1D8 700195D8 24630001 */ addiu $v1, $v1, 1 -/* 01A1DC 700195DC 01AE7821 */ addu $t7, $t5, $t6 -/* 01A1E0 700195E0 A5E00000 */ sh $zero, ($t7) -/* 01A1E4 700195E4 8EB9001C */ lw $t9, 0x1c($s5) -/* 01A1E8 700195E8 3078FFFF */ andi $t8, $v1, 0xffff -/* 01A1EC 700195EC 03001825 */ move $v1, $t8 -/* 01A1F0 700195F0 0319082B */ sltu $at, $t8, $t9 -/* 01A1F4 700195F4 5420FFF7 */ bnezl $at, .L700195D4 -/* 01A1F8 700195F8 8EAD0014 */ lw $t5, 0x14($s5) -.L700195FC: -/* 01A1FC 700195FC 92A80024 */ lbu $t0, 0x24($s5) -/* 01A200 70019600 0000A025 */ move $s4, $zero -/* 01A204 70019604 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01A208 70019608 1900009C */ blez $t0, .L7001987C -/* 01A20C 7001960C 241E0001 */ li $fp, 1 -/* 01A210 70019610 4481C000 */ mtc1 $at, $f24 -/* 01A214 70019614 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 01A218 70019618 4481B000 */ mtc1 $at, $f22 -/* 01A21C 7001961C 3C018003 */ lui $at, 0x8003 -/* 01A220 70019620 4480D000 */ mtc1 $zero, $f26 -/* 01A224 70019624 D4349848 */ ldc1 $f20, -0x67b8($at) -/* 01A228 70019628 24170028 */ li $s7, 40 -.L7001962C: -/* 01A22C 7001962C 02970019 */ multu $s4, $s7 -/* 01A230 70019630 00115880 */ sll $t3, $s1, 2 -/* 01A234 70019634 8EA90020 */ lw $t1, 0x20($s5) -/* 01A238 70019638 026B6021 */ addu $t4, $s3, $t3 -/* 01A23C 7001963C 8D8D0000 */ lw $t5, ($t4) -/* 01A240 70019640 26310001 */ addiu $s1, $s1, 1 -/* 01A244 70019644 322EFFFF */ andi $t6, $s1, 0xffff -/* 01A248 70019648 000E7880 */ sll $t7, $t6, 2 -/* 01A24C 7001964C 026FC021 */ addu $t8, $s3, $t7 -/* 01A250 70019650 25D10001 */ addiu $s1, $t6, 1 -/* 01A254 70019654 00005012 */ mflo $t2 -/* 01A258 70019658 012A8021 */ addu $s0, $t1, $t2 -/* 01A25C 7001965C AE0D0000 */ sw $t5, ($s0) -/* 01A260 70019660 8F190000 */ lw $t9, ($t8) -/* 01A264 70019664 3228FFFF */ andi $t0, $s1, 0xffff -/* 01A268 70019668 00084880 */ sll $t1, $t0, 2 -/* 01A26C 7001966C 02695021 */ addu $t2, $s3, $t1 -/* 01A270 70019670 AE190004 */ sw $t9, 4($s0) -/* 01A274 70019674 8D4B0000 */ lw $t3, ($t2) -/* 01A278 70019678 25110001 */ addiu $s1, $t0, 1 -/* 01A27C 7001967C 322CFFFF */ andi $t4, $s1, 0xffff -/* 01A280 70019680 000C6880 */ sll $t5, $t4, 2 -/* 01A284 70019684 026D7021 */ addu $t6, $s3, $t5 -/* 01A288 70019688 A60B000A */ sh $t3, 0xa($s0) -/* 01A28C 7001968C 8DCF0000 */ lw $t7, ($t6) -/* 01A290 70019690 25910001 */ addiu $s1, $t4, 1 -/* 01A294 70019694 3238FFFF */ andi $t8, $s1, 0xffff -/* 01A298 70019698 0018C880 */ sll $t9, $t8, 2 -/* 01A29C 7001969C 02794021 */ addu $t0, $s3, $t9 -/* 01A2A0 700196A0 A60F0008 */ sh $t7, 8($s0) -/* 01A2A4 700196A4 8D090000 */ lw $t1, ($t0) -/* 01A2A8 700196A8 27110001 */ addiu $s1, $t8, 1 -/* 01A2AC 700196AC 322AFFFF */ andi $t2, $s1, 0xffff -/* 01A2B0 700196B0 000A5880 */ sll $t3, $t2, 2 -/* 01A2B4 700196B4 026B6021 */ addu $t4, $s3, $t3 -/* 01A2B8 700196B8 A609000C */ sh $t1, 0xc($s0) -/* 01A2BC 700196BC 8D820000 */ lw $v0, ($t4) -/* 01A2C0 700196C0 01408825 */ move $s1, $t2 -/* 01A2C4 700196C4 02204025 */ move $t0, $s1 -/* 01A2C8 700196C8 10400040 */ beqz $v0, .L700197CC -/* 01A2CC 700196CC 25110002 */ addiu $s1, $t0, 2 -/* 01A2D0 700196D0 44822000 */ mtc1 $v0, $f4 -/* 01A2D4 700196D4 8FAD006C */ lw $t5, 0x6c($sp) -/* 01A2D8 700196D8 8E180004 */ lw $t8, 4($s0) -/* 01A2DC 700196DC 468021A0 */ cvt.s.w $f6, $f4 -/* 01A2E0 700196E0 8DAE0018 */ lw $t6, 0x18($t5) -/* 01A2E4 700196E4 8E190000 */ lw $t9, ($s0) -/* 01A2E8 700196E8 25510001 */ addiu $s1, $t2, 1 -/* 01A2EC 700196EC 448E8000 */ mtc1 $t6, $f16 -/* 01A2F0 700196F0 322FFFFF */ andi $t7, $s1, 0xffff -/* 01A2F4 700196F4 46163203 */ div.s $f8, $f6, $f22 -/* 01A2F8 700196F8 03194023 */ subu $t0, $t8, $t9 -/* 01A2FC 700196FC 01E08825 */ move $s1, $t7 -/* 01A300 70019700 00114880 */ sll $t1, $s1, 2 -/* 01A304 70019704 468084A1 */ cvt.d.w $f18, $f16 -/* 01A308 70019708 02695021 */ addu $t2, $s3, $t1 -/* 01A30C 7001970C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 01A310 70019710 46004021 */ cvt.d.s $f0, $f8 -/* 01A314 70019714 44884000 */ mtc1 $t0, $f8 -/* 01A318 70019718 46200280 */ add.d $f10, $f0, $f0 -/* 01A31C 7001971C 46804421 */ cvt.d.w $f16, $f8 -/* 01A320 70019720 46325103 */ div.d $f4, $f10, $f18 -/* 01A324 70019724 462021A0 */ cvt.s.d $f6, $f4 -/* 01A328 70019728 05010005 */ bgez $t0, .L70019740 -/* 01A32C 7001972C E6060010 */ swc1 $f6, 0x10($s0) -/* 01A330 70019730 44815800 */ mtc1 $at, $f11 -/* 01A334 70019734 44805000 */ mtc1 $zero, $f10 -/* 01A338 70019738 00000000 */ nop -/* 01A33C 7001973C 462A8400 */ add.d $f16, $f16, $f10 -.L70019740: -/* 01A340 70019740 8D4B0000 */ lw $t3, ($t2) -/* 01A344 70019744 26310001 */ addiu $s1, $s1, 1 -/* 01A348 70019748 322CFFFF */ andi $t4, $s1, 0xffff -/* 01A34C 7001974C 448B9000 */ mtc1 $t3, $f18 -/* 01A350 70019750 E6180014 */ swc1 $f24, 0x14($s0) -/* 01A354 70019754 AE000018 */ sw $zero, 0x18($s0) -/* 01A358 70019758 46809120 */ cvt.s.w $f4, $f18 -/* 01A35C 7001975C 240D0034 */ li $t5, 52 -/* 01A360 70019760 01808825 */ move $s1, $t4 -/* 01A364 70019764 00002025 */ move $a0, $zero -/* 01A368 70019768 00002825 */ move $a1, $zero -/* 01A36C 7001976C 02C03025 */ move $a2, $s6 -/* 01A370 70019770 460021A1 */ cvt.d.s $f6, $f4 -/* 01A374 70019774 03C03825 */ move $a3, $fp -/* 01A378 70019778 46343203 */ div.d $f8, $f6, $f20 -/* 01A37C 7001977C 46304282 */ mul.d $f10, $f8, $f16 -/* 01A380 70019780 462054A0 */ cvt.s.d $f18, $f10 -/* 01A384 70019784 E612001C */ swc1 $f18, 0x1c($s0) -/* 01A388 70019788 0C003AD4 */ jal alHeapDBAlloc -/* 01A38C 7001978C AFAD0010 */ sw $t5, 0x10($sp) -/* 01A390 70019790 AE020024 */ sw $v0, 0x24($s0) -/* 01A394 70019794 240E0020 */ li $t6, 32 -/* 01A398 70019798 AFAE0010 */ sw $t6, 0x10($sp) -/* 01A39C 7001979C 00002025 */ move $a0, $zero -/* 01A3A0 700197A0 00002825 */ move $a1, $zero -/* 01A3A4 700197A4 02C03025 */ move $a2, $s6 -/* 01A3A8 700197A8 0C003AD4 */ jal alHeapDBAlloc -/* 01A3AC 700197AC 03C03825 */ move $a3, $fp -/* 01A3B0 700197B0 8E0F0024 */ lw $t7, 0x24($s0) -/* 01A3B4 700197B4 ADE20014 */ sw $v0, 0x14($t7) -/* 01A3B8 700197B8 8E180024 */ lw $t8, 0x24($s0) -/* 01A3BC 700197BC E71A0020 */ swc1 $f26, 0x20($t8) -/* 01A3C0 700197C0 8E190024 */ lw $t9, 0x24($s0) -/* 01A3C4 700197C4 10000004 */ b .L700197D8 -/* 01A3C8 700197C8 AF3E0024 */ sw $fp, 0x24($t9) -.L700197CC: -/* 01A3CC 700197CC 3229FFFF */ andi $t1, $s1, 0xffff -/* 01A3D0 700197D0 AE000024 */ sw $zero, 0x24($s0) -/* 01A3D4 700197D4 01208825 */ move $s1, $t1 -.L700197D8: -/* 01A3D8 700197D8 00115080 */ sll $t2, $s1, 2 -/* 01A3DC 700197DC 026A9021 */ addu $s2, $s3, $t2 -/* 01A3E0 700197E0 8E4B0000 */ lw $t3, ($s2) -/* 01A3E4 700197E4 00002025 */ move $a0, $zero -/* 01A3E8 700197E8 00002825 */ move $a1, $zero -/* 01A3EC 700197EC 11600019 */ beqz $t3, .L70019854 -/* 01A3F0 700197F0 02C03025 */ move $a2, $s6 -/* 01A3F4 700197F4 240C0030 */ li $t4, 48 -/* 01A3F8 700197F8 AFAC0010 */ sw $t4, 0x10($sp) -/* 01A3FC 700197FC 0C003AD4 */ jal alHeapDBAlloc -/* 01A400 70019800 03C03825 */ move $a3, $fp -/* 01A404 70019804 AE020020 */ sw $v0, 0x20($s0) -/* 01A408 70019808 240D0008 */ li $t5, 8 -/* 01A40C 7001980C AFAD0010 */ sw $t5, 0x10($sp) -/* 01A410 70019810 00002025 */ move $a0, $zero -/* 01A414 70019814 00002825 */ move $a1, $zero -/* 01A418 70019818 02C03025 */ move $a2, $s6 -/* 01A41C 7001981C 0C003AD4 */ jal alHeapDBAlloc -/* 01A420 70019820 03C03825 */ move $a3, $fp -/* 01A424 70019824 8E0E0020 */ lw $t6, 0x20($s0) -/* 01A428 70019828 26310001 */ addiu $s1, $s1, 1 -/* 01A42C 7001982C 3239FFFF */ andi $t9, $s1, 0xffff -/* 01A430 70019830 ADC20028 */ sw $v0, 0x28($t6) -/* 01A434 70019834 8E180020 */ lw $t8, 0x20($s0) -/* 01A438 70019838 8E4F0000 */ lw $t7, ($s2) -/* 01A43C 7001983C 03208825 */ move $s1, $t9 -/* 01A440 70019840 A70F0000 */ sh $t7, ($t8) -/* 01A444 70019844 0C0064F8 */ jal init_lpfilter -/* 01A448 70019848 8E040020 */ lw $a0, 0x20($s0) -/* 01A44C 7001984C 10000006 */ b .L70019868 -/* 01A450 70019850 92AA0024 */ lbu $t2, 0x24($s5) -.L70019854: -/* 01A454 70019854 26310001 */ addiu $s1, $s1, 1 -/* 01A458 70019858 3228FFFF */ andi $t0, $s1, 0xffff -/* 01A45C 7001985C AE000020 */ sw $zero, 0x20($s0) -/* 01A460 70019860 01008825 */ move $s1, $t0 -/* 01A464 70019864 92AA0024 */ lbu $t2, 0x24($s5) -.L70019868: -/* 01A468 70019868 26940001 */ addiu $s4, $s4, 1 -/* 01A46C 7001986C 3289FFFF */ andi $t1, $s4, 0xffff -/* 01A470 70019870 012A082A */ slt $at, $t1, $t2 -/* 01A474 70019874 1420FF6D */ bnez $at, .L7001962C -/* 01A478 70019878 0120A025 */ move $s4, $t1 -.L7001987C: -/* 01A47C 7001987C 8FBF0064 */ lw $ra, 0x64($sp) -/* 01A480 70019880 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 01A484 70019884 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 01A488 70019888 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 01A48C 7001988C D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 01A490 70019890 8FB00040 */ lw $s0, 0x40($sp) -/* 01A494 70019894 8FB10044 */ lw $s1, 0x44($sp) -/* 01A498 70019898 8FB20048 */ lw $s2, 0x48($sp) -/* 01A49C 7001989C 8FB3004C */ lw $s3, 0x4c($sp) -/* 01A4A0 700198A0 8FB40050 */ lw $s4, 0x50($sp) -/* 01A4A4 700198A4 8FB50054 */ lw $s5, 0x54($sp) -/* 01A4A8 700198A8 8FB60058 */ lw $s6, 0x58($sp) -/* 01A4AC 700198AC 8FB7005C */ lw $s7, 0x5c($sp) -/* 01A4B0 700198B0 8FBE0060 */ lw $fp, 0x60($sp) -/* 01A4B4 700198B4 03E00008 */ jr $ra -/* 01A4B8 700198B8 27BD0068 */ addiu $sp, $sp, 0x68 - -/* 01A4BC 700198BC 00000000 */ nop - -.section .data -glabel SMALLROOM_PARAMS -.word 3, 0xFA0, 0, 0x870, 0x2666,0xFFFFD99A, 0, 0 -.word 0, 0, 0x2F8, 0x5F0, 0xCCC,0xFFFFF334, 0x3FFF, 0 -.word 0, 0, 0, 0x960, 0x1388, 0, 0, 0 -.word 0, 0x5000 -glabel BIGROOM_PARAMS -.word 4, 0xFA0, 0, 0xA50, 0x2666,0xFFFFD99A, 0, 0 -.word 0, 0, 0x370, 0x870, 0xCCC,0xFFFFF334, 0x3FFF, 0 -.word 0, 0, 0xA50, 0xE38, 0xCCC,0xFFFFF334, 0x3FFF, 0 -.word 0, 0, 0, 0xEB0, 0x1F40, 0, 0, 0 -.word 0, 0x5000 -glabel ECHO_PARAMS -.word 1, 0x1F40, 0, 0x1BF8, 0x2EE0, 0, 0x7FFF, 0 -.word 0, 0 -glabel CHORUS_PARAMS -.word 1, 0x320, 0, 0xC8, 0x4000, 0, 0x7FFF, 0x1DB0 -.word 0x2BC, 0 -glabel FLANGE_PARAMS -.word 1, 0x320, 0, 0xC8, 0, 0x5FFF, 0x7FFF, 0x17C -.word 0x1F4, 0 -glabel NULL_PARAMS -.word 0, 0, 0, 0, 0, 0, 0, 0 -.word 0, 0 -.section .rodata -glabel J_80019520 -.word .L70019528 -.word .L70019534 -.word .L7001954C -.word .L70019558 -.word .L70019540 -.word .L70019564 -glabel F64_80029848 -.double 173123.404906676 - -.section .text -glabel alSynAllocFX -/* 01A4C0 700198C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01A4C4 700198C4 00054400 */ sll $t0, $a1, 0x10 -/* 01A4C8 700198C8 00087403 */ sra $t6, $t0, 0x10 -/* 01A4CC 700198CC AFB10018 */ sw $s1, 0x18($sp) -/* 01A4D0 700198D0 000E8880 */ sll $s1, $t6, 2 -/* 01A4D4 700198D4 AFBF001C */ sw $ra, 0x1c($sp) -/* 01A4D8 700198D8 AFB00014 */ sw $s0, 0x14($sp) -/* 01A4DC 700198DC AFA50024 */ sw $a1, 0x24($sp) -/* 01A4E0 700198E0 022E8821 */ addu $s1, $s1, $t6 -/* 01A4E4 700198E4 8C8F0034 */ lw $t7, 0x34($a0) -/* 01A4E8 700198E8 00118880 */ sll $s1, $s1, 2 -/* 01A4EC 700198EC 022E8823 */ subu $s1, $s1, $t6 -/* 01A4F0 700198F0 00808025 */ move $s0, $a0 -/* 01A4F4 700198F4 00118880 */ sll $s1, $s1, 2 -/* 01A4F8 700198F8 00C02825 */ move $a1, $a2 -/* 01A4FC 700198FC 01F12021 */ addu $a0, $t7, $s1 -/* 01A500 70019900 24840020 */ addiu $a0, $a0, 0x20 -/* 01A504 70019904 0C006520 */ jal alFxNew -/* 01A508 70019908 00E03025 */ move $a2, $a3 -/* 01A50C 7001990C 8E180034 */ lw $t8, 0x34($s0) -/* 01A510 70019910 24050001 */ li $a1, 1 -/* 01A514 70019914 03113021 */ addu $a2, $t8, $s1 -/* 01A518 70019918 0C008070 */ jal alFxParam -/* 01A51C 7001991C 24C40020 */ addiu $a0, $a2, 0x20 -/* 01A520 70019920 8E190034 */ lw $t9, 0x34($s0) -/* 01A524 70019924 8E040030 */ lw $a0, 0x30($s0) -/* 01A528 70019928 24050002 */ li $a1, 2 -/* 01A52C 7001992C 03313021 */ addu $a2, $t9, $s1 -/* 01A530 70019930 0C006658 */ jal alMainBusParam -/* 01A534 70019934 24C60020 */ addiu $a2, $a2, 0x20 -/* 01A538 70019938 8E0A0034 */ lw $t2, 0x34($s0) -/* 01A53C 7001993C 8FBF001C */ lw $ra, 0x1c($sp) -/* 01A540 70019940 8FB00014 */ lw $s0, 0x14($sp) -/* 01A544 70019944 01511021 */ addu $v0, $t2, $s1 -/* 01A548 70019948 8FB10018 */ lw $s1, 0x18($sp) -/* 01A54C 7001994C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01A550 70019950 03E00008 */ jr $ra -/* 01A554 70019954 24420020 */ addiu $v0, $v0, 0x20 - -/* 01A558 70019958 00000000 */ nop -/* 01A55C 7001995C 00000000 */ nop -glabel alMainBusParam -/* 01A560 70019960 24010002 */ li $at, 2 -/* 01A564 70019964 14A10008 */ bne $a1, $at, .L70019988 -/* 01A568 70019968 8C82001C */ lw $v0, 0x1c($a0) -/* 01A56C 7001996C 8C8E0014 */ lw $t6, 0x14($a0) -/* 01A570 70019970 000E7880 */ sll $t7, $t6, 2 -/* 01A574 70019974 004FC021 */ addu $t8, $v0, $t7 -/* 01A578 70019978 AF060000 */ sw $a2, ($t8) -/* 01A57C 7001997C 8C990014 */ lw $t9, 0x14($a0) -/* 01A580 70019980 27280001 */ addiu $t0, $t9, 1 -/* 01A584 70019984 AC880014 */ sw $t0, 0x14($a0) -.L70019988: -/* 01A588 70019988 03E00008 */ jr $ra -/* 01A58C 7001998C 00001025 */ move $v0, $zero - -glabel alMainBusPull -/* 01A590 70019990 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 01A594 70019994 8FA80058 */ lw $t0, 0x58($sp) -/* 01A598 70019998 AFBF0044 */ sw $ra, 0x44($sp) -/* 01A59C 7001999C AFBE0040 */ sw $fp, 0x40($sp) -/* 01A5A0 700199A0 AFB7003C */ sw $s7, 0x3c($sp) -/* 01A5A4 700199A4 AFB60038 */ sw $s6, 0x38($sp) -/* 01A5A8 700199A8 AFB50034 */ sw $s5, 0x34($sp) -/* 01A5AC 700199AC AFB40030 */ sw $s4, 0x30($sp) -/* 01A5B0 700199B0 AFB3002C */ sw $s3, 0x2c($sp) -/* 01A5B4 700199B4 AFB20028 */ sw $s2, 0x28($sp) -/* 01A5B8 700199B8 AFB10024 */ sw $s1, 0x24($sp) -/* 01A5BC 700199BC AFB00020 */ sw $s0, 0x20($sp) -/* 01A5C0 700199C0 8C83001C */ lw $v1, 0x1c($a0) -/* 01A5C4 700199C4 3C0E0200 */ lui $t6, (0x02000440 >> 16) # lui $t6, 0x200 -/* 01A5C8 700199C8 00061040 */ sll $v0, $a2, 1 -/* 01A5CC 700199CC 3C0F0200 */ lui $t7, (0x02000580 >> 16) # lui $t7, 0x200 -/* 01A5D0 700199D0 35CE0440 */ ori $t6, (0x02000440 & 0xFFFF) # ori $t6, $t6, 0x440 -/* 01A5D4 700199D4 35EF0580 */ ori $t7, (0x02000580 & 0xFFFF) # ori $t7, $t7, 0x580 -/* 01A5D8 700199D8 AD0E0000 */ sw $t6, ($t0) -/* 01A5DC 700199DC AD020004 */ sw $v0, 4($t0) -/* 01A5E0 700199E0 AD0F0008 */ sw $t7, 8($t0) -/* 01A5E4 700199E4 AD02000C */ sw $v0, 0xc($t0) -/* 01A5E8 700199E8 8C980014 */ lw $t8, 0x14($a0) -/* 01A5EC 700199EC 00C0A825 */ move $s5, $a2 -/* 01A5F0 700199F0 00A0B825 */ move $s7, $a1 -/* 01A5F4 700199F4 00E0F025 */ move $fp, $a3 -/* 01A5F8 700199F8 0080A025 */ move $s4, $a0 -/* 01A5FC 700199FC 00008025 */ move $s0, $zero -/* 01A600 70019A00 1B00001E */ blez $t8, .L70019A7C -/* 01A604 70019A04 25130010 */ addiu $s3, $t0, 0x10 -/* 01A608 70019A08 3C120C00 */ lui $s2, (0x0C007FFF >> 16) # lui $s2, 0xc00 -/* 01A60C 70019A0C 36527FFF */ ori $s2, (0x0C007FFF & 0xFFFF) # ori $s2, $s2, 0x7fff -/* 01A610 70019A10 00608825 */ move $s1, $v1 -/* 01A614 70019A14 3056FFFF */ andi $s6, $v0, 0xffff -.L70019A18: -/* 01A618 70019A18 8E240000 */ lw $a0, ($s1) -/* 01A61C 70019A1C AFB30010 */ sw $s3, 0x10($sp) -/* 01A620 70019A20 02E02825 */ move $a1, $s7 -/* 01A624 70019A24 8C990004 */ lw $t9, 4($a0) -/* 01A628 70019A28 02A03025 */ move $a2, $s5 -/* 01A62C 70019A2C 03C03825 */ move $a3, $fp -/* 01A630 70019A30 0320F809 */ jalr $t9 -/* 01A634 70019A34 00000000 */ nop -/* 01A638 70019A38 3C0A06C0 */ lui $t2, (0x06C00440 >> 16) # lui $t2, 0x6c0 -/* 01A63C 70019A3C 3C0B0800 */ lui $t3, (0x08000580 >> 16) # lui $t3, 0x800 -/* 01A640 70019A40 3C090800 */ lui $t1, 0x800 -/* 01A644 70019A44 354A0440 */ ori $t2, (0x06C00440 & 0xFFFF) # ori $t2, $t2, 0x440 -/* 01A648 70019A48 356B0580 */ ori $t3, (0x08000580 & 0xFFFF) # ori $t3, $t3, 0x580 -/* 01A64C 70019A4C AC490000 */ sw $t1, ($v0) -/* 01A650 70019A50 AC560004 */ sw $s6, 4($v0) -/* 01A654 70019A54 AC4A000C */ sw $t2, 0xc($v0) -/* 01A658 70019A58 AC520008 */ sw $s2, 8($v0) -/* 01A65C 70019A5C AC4B0014 */ sw $t3, 0x14($v0) -/* 01A660 70019A60 AC520010 */ sw $s2, 0x10($v0) -/* 01A664 70019A64 8E8C0014 */ lw $t4, 0x14($s4) -/* 01A668 70019A68 26100001 */ addiu $s0, $s0, 1 -/* 01A66C 70019A6C 26310004 */ addiu $s1, $s1, 4 -/* 01A670 70019A70 020C082A */ slt $at, $s0, $t4 -/* 01A674 70019A74 1420FFE8 */ bnez $at, .L70019A18 -/* 01A678 70019A78 24530018 */ addiu $s3, $v0, 0x18 -.L70019A7C: -/* 01A67C 70019A7C 8FBF0044 */ lw $ra, 0x44($sp) -/* 01A680 70019A80 02601025 */ move $v0, $s3 -/* 01A684 70019A84 8FB3002C */ lw $s3, 0x2c($sp) -/* 01A688 70019A88 8FB00020 */ lw $s0, 0x20($sp) -/* 01A68C 70019A8C 8FB10024 */ lw $s1, 0x24($sp) -/* 01A690 70019A90 8FB20028 */ lw $s2, 0x28($sp) -/* 01A694 70019A94 8FB40030 */ lw $s4, 0x30($sp) -/* 01A698 70019A98 8FB50034 */ lw $s5, 0x34($sp) -/* 01A69C 70019A9C 8FB60038 */ lw $s6, 0x38($sp) -/* 01A6A0 70019AA0 8FB7003C */ lw $s7, 0x3c($sp) -/* 01A6A4 70019AA4 8FBE0040 */ lw $fp, 0x40($sp) -/* 01A6A8 70019AA8 03E00008 */ jr $ra -/* 01A6AC 70019AAC 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel alLoadParam -/* 01A6B0 70019AB0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01A6B4 70019AB4 24010004 */ li $at, 4 -/* 01A6B8 70019AB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 01A6BC 70019ABC 10A10055 */ beq $a1, $at, .L70019C14 -/* 01A6C0 70019AC0 00803825 */ move $a3, $a0 -/* 01A6C4 70019AC4 24010005 */ li $at, 5 -/* 01A6C8 70019AC8 54A1006B */ bnel $a1, $at, .L70019C78 -/* 01A6CC 70019ACC 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A6D0 70019AD0 AC860028 */ sw $a2, 0x28($a0) -/* 01A6D4 70019AD4 8CCE0000 */ lw $t6, ($a2) -/* 01A6D8 70019AD8 AC800038 */ sw $zero, 0x38($a0) -/* 01A6DC 70019ADC 3C0F7002 */ lui $t7, %hi(alAdpcmPull) # $t7, 0x7002 -/* 01A6E0 70019AE0 AC8E0044 */ sw $t6, 0x44($a0) -/* 01A6E4 70019AE4 90C20008 */ lbu $v0, 8($a2) -/* 01A6E8 70019AE8 50400007 */ beql $v0, $zero, .L70019B08 -/* 01A6EC 70019AEC 8CE20028 */ lw $v0, 0x28($a3) -/* 01A6F0 70019AF0 24040001 */ li $a0, 1 -/* 01A6F4 70019AF4 10440034 */ beq $v0, $a0, .L70019BC8 -/* 01A6F8 70019AF8 3C087002 */ lui $t0, %hi(alRaw16Pull) # $t0, 0x7002 -/* 01A6FC 70019AFC 1000005E */ b .L70019C78 -/* 01A700 70019B00 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A704 70019B04 8CE20028 */ lw $v0, 0x28($a3) -.L70019B08: -/* 01A708 70019B08 25EFA15C */ addiu $t7, %lo(alAdpcmPull) # addiu $t7, $t7, -0x5ea4 -/* 01A70C 70019B0C ACEF0004 */ sw $t7, 4($a3) -/* 01A710 70019B10 8C580004 */ lw $t8, 4($v0) -/* 01A714 70019B14 24050009 */ li $a1, 9 -/* 01A718 70019B18 0305001A */ div $zero, $t8, $a1 -/* 01A71C 70019B1C 0000C812 */ mflo $t9 -/* 01A720 70019B20 14A00002 */ bnez $a1, .L70019B2C -/* 01A724 70019B24 00000000 */ nop -/* 01A728 70019B28 0007000D */ break 7 -.L70019B2C: -/* 01A72C 70019B2C 2401FFFF */ li $at, -1 -/* 01A730 70019B30 14A10004 */ bne $a1, $at, .L70019B44 -/* 01A734 70019B34 3C018000 */ lui $at, 0x8000 -/* 01A738 70019B38 17010002 */ bne $t8, $at, .L70019B44 -/* 01A73C 70019B3C 00000000 */ nop -/* 01A740 70019B40 0006000D */ break 6 -.L70019B44: -/* 01A744 70019B44 03250019 */ multu $t9, $a1 -/* 01A748 70019B48 00004012 */ mflo $t0 -/* 01A74C 70019B4C AC480004 */ sw $t0, 4($v0) -/* 01A750 70019B50 8CE20028 */ lw $v0, 0x28($a3) -/* 01A754 70019B54 8C440010 */ lw $a0, 0x10($v0) -/* 01A758 70019B58 8C890000 */ lw $t1, ($a0) -/* 01A75C 70019B5C 8C8B0004 */ lw $t3, 4($a0) -/* 01A760 70019B60 00095100 */ sll $t2, $t1, 4 -/* 01A764 70019B64 014B0019 */ multu $t2, $t3 -/* 01A768 70019B68 00006012 */ mflo $t4 -/* 01A76C 70019B6C ACEC002C */ sw $t4, 0x2c($a3) -/* 01A770 70019B70 8C43000C */ lw $v1, 0xc($v0) -/* 01A774 70019B74 50600011 */ beql $v1, $zero, .L70019BBC -/* 01A778 70019B78 ACE00024 */ sw $zero, 0x24($a3) -/* 01A77C 70019B7C 8C6D0000 */ lw $t5, ($v1) -/* 01A780 70019B80 8CE50018 */ lw $a1, 0x18($a3) -/* 01A784 70019B84 24060020 */ li $a2, 32 -/* 01A788 70019B88 ACED001C */ sw $t5, 0x1c($a3) -/* 01A78C 70019B8C 8C4E000C */ lw $t6, 0xc($v0) -/* 01A790 70019B90 8DCF0004 */ lw $t7, 4($t6) -/* 01A794 70019B94 ACEF0020 */ sw $t7, 0x20($a3) -/* 01A798 70019B98 8C58000C */ lw $t8, 0xc($v0) -/* 01A79C 70019B9C 8F190008 */ lw $t9, 8($t8) -/* 01A7A0 70019BA0 ACF90024 */ sw $t9, 0x24($a3) -/* 01A7A4 70019BA4 8C44000C */ lw $a0, 0xc($v0) -/* 01A7A8 70019BA8 0C0075A4 */ jal alCopy -/* 01A7AC 70019BAC 2484000C */ addiu $a0, $a0, 0xc -/* 01A7B0 70019BB0 10000031 */ b .L70019C78 -/* 01A7B4 70019BB4 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A7B8 70019BB8 ACE00024 */ sw $zero, 0x24($a3) -.L70019BBC: -/* 01A7BC 70019BBC ACE00020 */ sw $zero, 0x20($a3) -/* 01A7C0 70019BC0 1000002C */ b .L70019C74 -/* 01A7C4 70019BC4 ACE0001C */ sw $zero, 0x1c($a3) -.L70019BC8: -/* 01A7C8 70019BC8 8CE20028 */ lw $v0, 0x28($a3) -/* 01A7CC 70019BCC 25089C84 */ addiu $t0, %lo(alRaw16Pull) # addiu $t0, $t0, -0x637c -/* 01A7D0 70019BD0 ACE80004 */ sw $t0, 4($a3) -/* 01A7D4 70019BD4 8C43000C */ lw $v1, 0xc($v0) -/* 01A7D8 70019BD8 5060000B */ beql $v1, $zero, .L70019C08 -/* 01A7DC 70019BDC ACE00024 */ sw $zero, 0x24($a3) -/* 01A7E0 70019BE0 8C690000 */ lw $t1, ($v1) -/* 01A7E4 70019BE4 ACE9001C */ sw $t1, 0x1c($a3) -/* 01A7E8 70019BE8 8C4A000C */ lw $t2, 0xc($v0) -/* 01A7EC 70019BEC 8D4B0004 */ lw $t3, 4($t2) -/* 01A7F0 70019BF0 ACEB0020 */ sw $t3, 0x20($a3) -/* 01A7F4 70019BF4 8C4C000C */ lw $t4, 0xc($v0) -/* 01A7F8 70019BF8 8D8D0008 */ lw $t5, 8($t4) -/* 01A7FC 70019BFC 1000001D */ b .L70019C74 -/* 01A800 70019C00 ACED0024 */ sw $t5, 0x24($a3) -/* 01A804 70019C04 ACE00024 */ sw $zero, 0x24($a3) -.L70019C08: -/* 01A808 70019C08 ACE00020 */ sw $zero, 0x20($a3) -/* 01A80C 70019C0C 10000019 */ b .L70019C74 -/* 01A810 70019C10 ACE0001C */ sw $zero, 0x1c($a3) -.L70019C14: -/* 01A814 70019C14 8CE20028 */ lw $v0, 0x28($a3) -/* 01A818 70019C18 24040001 */ li $a0, 1 -/* 01A81C 70019C1C ACE0003C */ sw $zero, 0x3c($a3) -/* 01A820 70019C20 ACE40040 */ sw $a0, 0x40($a3) -/* 01A824 70019C24 10400013 */ beqz $v0, .L70019C74 -/* 01A828 70019C28 ACE00038 */ sw $zero, 0x38($a3) -/* 01A82C 70019C2C 8C4E0000 */ lw $t6, ($v0) -/* 01A830 70019C30 ACEE0044 */ sw $t6, 0x44($a3) -/* 01A834 70019C34 90430008 */ lbu $v1, 8($v0) -/* 01A838 70019C38 14600007 */ bnez $v1, .L70019C58 -/* 01A83C 70019C3C 00000000 */ nop -/* 01A840 70019C40 8C43000C */ lw $v1, 0xc($v0) -/* 01A844 70019C44 5060000C */ beql $v1, $zero, .L70019C78 -/* 01A848 70019C48 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A84C 70019C4C 8C6F0008 */ lw $t7, 8($v1) -/* 01A850 70019C50 10000008 */ b .L70019C74 -/* 01A854 70019C54 ACEF0024 */ sw $t7, 0x24($a3) -.L70019C58: -/* 01A858 70019C58 54830007 */ bnel $a0, $v1, .L70019C78 -/* 01A85C 70019C5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A860 70019C60 8C43000C */ lw $v1, 0xc($v0) -/* 01A864 70019C64 50600004 */ beql $v1, $zero, .L70019C78 -/* 01A868 70019C68 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A86C 70019C6C 8C780008 */ lw $t8, 8($v1) -/* 01A870 70019C70 ACF80024 */ sw $t8, 0x24($a3) -.L70019C74: -/* 01A874 70019C74 8FBF0014 */ lw $ra, 0x14($sp) -.L70019C78: -/* 01A878 70019C78 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01A87C 70019C7C 03E00008 */ jr $ra -/* 01A880 70019C80 00000000 */ nop - -glabel alRaw16Pull -/* 01A884 70019C84 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 01A888 70019C88 8FA80060 */ lw $t0, 0x60($sp) -/* 01A88C 70019C8C AFB30020 */ sw $s3, 0x20($sp) -/* 01A890 70019C90 AFB00014 */ sw $s0, 0x14($sp) -/* 01A894 70019C94 00808025 */ move $s0, $a0 -/* 01A898 70019C98 00C09825 */ move $s3, $a2 -/* 01A89C 70019C9C AFBF0024 */ sw $ra, 0x24($sp) -/* 01A8A0 70019CA0 AFB2001C */ sw $s2, 0x1c($sp) -/* 01A8A4 70019CA4 AFB10018 */ sw $s1, 0x18($sp) -/* 01A8A8 70019CA8 AFA7005C */ sw $a3, 0x5c($sp) -/* 01A8AC 70019CAC 00A05025 */ move $t2, $a1 -/* 01A8B0 70019CB0 14C00003 */ bnez $a2, .L70019CC0 -/* 01A8B4 70019CB4 01004825 */ move $t1, $t0 -/* 01A8B8 70019CB8 100000D6 */ b .L7001A014 -/* 01A8BC 70019CBC 01001025 */ move $v0, $t0 -.L70019CC0: -/* 01A8C0 70019CC0 8E020038 */ lw $v0, 0x38($s0) -/* 01A8C4 70019CC4 8E030020 */ lw $v1, 0x20($s0) -/* 01A8C8 70019CC8 00537021 */ addu $t6, $v0, $s3 -/* 01A8CC 70019CCC 006E082B */ sltu $at, $v1, $t6 -/* 01A8D0 70019CD0 50200084 */ beql $at, $zero, .L70019EE4 -/* 01A8D4 70019CD4 8E020028 */ lw $v0, 0x28($s0) -/* 01A8D8 70019CD8 8E0F0024 */ lw $t7, 0x24($s0) -/* 01A8DC 70019CDC 00629023 */ subu $s2, $v1, $v0 -/* 01A8E0 70019CE0 51E00080 */ beql $t7, $zero, .L70019EE4 -/* 01A8E4 70019CE4 8E020028 */ lw $v0, 0x28($s0) -/* 01A8E8 70019CE8 1A40001E */ blez $s2, .L70019D64 -/* 01A8EC 70019CEC 00128840 */ sll $s1, $s2, 1 -/* 01A8F0 70019CF0 8E040044 */ lw $a0, 0x44($s0) -/* 01A8F4 70019CF4 8E060034 */ lw $a2, 0x34($s0) -/* 01A8F8 70019CF8 AFAA0054 */ sw $t2, 0x54($sp) -/* 01A8FC 70019CFC 8E190030 */ lw $t9, 0x30($s0) -/* 01A900 70019D00 02202825 */ move $a1, $s1 -/* 01A904 70019D04 0320F809 */ jalr $t9 -/* 01A908 70019D08 00000000 */ nop -/* 01A90C 70019D0C 8FAA0054 */ lw $t2, 0x54($sp) -/* 01A910 70019D10 30460007 */ andi $a2, $v0, 7 -/* 01A914 70019D14 8FA80060 */ lw $t0, 0x60($sp) -/* 01A918 70019D18 85580000 */ lh $t8, ($t2) -/* 01A91C 70019D1C 02263821 */ addu $a3, $s1, $a2 -/* 01A920 70019D20 30ED0007 */ andi $t5, $a3, 7 -/* 01A924 70019D24 00ED7023 */ subu $t6, $a3, $t5 -/* 01A928 70019D28 3C010800 */ lui $at, 0x800 -/* 01A92C 70019D2C 330BFFFF */ andi $t3, $t8, 0xffff -/* 01A930 70019D30 01616025 */ or $t4, $t3, $at -/* 01A934 70019D34 25CF0008 */ addiu $t7, $t6, 8 -/* 01A938 70019D38 25090008 */ addiu $t1, $t0, 8 -/* 01A93C 70019D3C 31F9FFFF */ andi $t9, $t7, 0xffff -/* 01A940 70019D40 01202025 */ move $a0, $t1 -/* 01A944 70019D44 00465823 */ subu $t3, $v0, $a2 -/* 01A948 70019D48 3C180400 */ lui $t8, 0x400 -/* 01A94C 70019D4C AD190004 */ sw $t9, 4($t0) -/* 01A950 70019D50 AD0C0000 */ sw $t4, ($t0) -/* 01A954 70019D54 AC8B0004 */ sw $t3, 4($a0) -/* 01A958 70019D58 AC980000 */ sw $t8, ($a0) -/* 01A95C 70019D5C 10000002 */ b .L70019D68 -/* 01A960 70019D60 25290008 */ addiu $t1, $t1, 8 -.L70019D64: -/* 01A964 70019D64 00003025 */ move $a2, $zero -.L70019D68: -/* 01A968 70019D68 854C0000 */ lh $t4, ($t2) -/* 01A96C 70019D6C 0253082A */ slt $at, $s2, $s3 -/* 01A970 70019D70 01866821 */ addu $t5, $t4, $a2 -/* 01A974 70019D74 A54D0000 */ sh $t5, ($t2) -/* 01A978 70019D78 8E0E0028 */ lw $t6, 0x28($s0) -/* 01A97C 70019D7C 8E02001C */ lw $v0, 0x1c($s0) -/* 01A980 70019D80 8DCF0000 */ lw $t7, ($t6) -/* 01A984 70019D84 0002C840 */ sll $t9, $v0, 1 -/* 01A988 70019D88 AE020038 */ sw $v0, 0x38($s0) -/* 01A98C 70019D8C 01F9C021 */ addu $t8, $t7, $t9 -/* 01A990 70019D90 AE180044 */ sw $t8, 0x44($s0) -/* 01A994 70019D94 10200049 */ beqz $at, .L70019EBC -/* 01A998 70019D98 85480000 */ lh $t0, ($t2) -/* 01A99C 70019D9C 8E020024 */ lw $v0, 0x24($s0) -.L70019DA0: -/* 01A9A0 70019DA0 2401FFFF */ li $at, -1 -/* 01A9A4 70019DA4 01114021 */ addu $t0, $t0, $s1 -/* 01A9A8 70019DA8 10410004 */ beq $v0, $at, .L70019DBC -/* 01A9AC 70019DAC 02729823 */ subu $s3, $s3, $s2 -/* 01A9B0 70019DB0 10400002 */ beqz $v0, .L70019DBC -/* 01A9B4 70019DB4 244BFFFF */ addiu $t3, $v0, -1 -/* 01A9B8 70019DB8 AE0B0024 */ sw $t3, 0x24($s0) -.L70019DBC: -/* 01A9BC 70019DBC 8E0C0020 */ lw $t4, 0x20($s0) -/* 01A9C0 70019DC0 8E0D001C */ lw $t5, 0x1c($s0) -/* 01A9C4 70019DC4 018D1023 */ subu $v0, $t4, $t5 -/* 01A9C8 70019DC8 0262082B */ sltu $at, $s3, $v0 -/* 01A9CC 70019DCC 10200003 */ beqz $at, .L70019DDC -/* 01A9D0 70019DD0 00409025 */ move $s2, $v0 -/* 01A9D4 70019DD4 10000001 */ b .L70019DDC -/* 01A9D8 70019DD8 02609025 */ move $s2, $s3 -.L70019DDC: -/* 01A9DC 70019DDC 8E040044 */ lw $a0, 0x44($s0) -/* 01A9E0 70019DE0 8E060034 */ lw $a2, 0x34($s0) -/* 01A9E4 70019DE4 AFA9004C */ sw $t1, 0x4c($sp) -/* 01A9E8 70019DE8 AFA8002C */ sw $t0, 0x2c($sp) -/* 01A9EC 70019DEC 8E190030 */ lw $t9, 0x30($s0) -/* 01A9F0 70019DF0 00128840 */ sll $s1, $s2, 1 -/* 01A9F4 70019DF4 02202825 */ move $a1, $s1 -/* 01A9F8 70019DF8 0320F809 */ jalr $t9 -/* 01A9FC 70019DFC 00000000 */ nop -/* 01AA00 70019E00 8FA8002C */ lw $t0, 0x2c($sp) -/* 01AA04 70019E04 30450007 */ andi $a1, $v0, 7 -/* 01AA08 70019E08 8FA9004C */ lw $t1, 0x4c($sp) -/* 01AA0C 70019E0C 31030007 */ andi $v1, $t0, 7 -/* 01AA10 70019E10 10600004 */ beqz $v1, .L70019E24 -/* 01AA14 70019E14 02253821 */ addu $a3, $s1, $a1 -/* 01AA18 70019E18 240E0008 */ li $t6, 8 -/* 01AA1C 70019E1C 10000002 */ b .L70019E28 -/* 01AA20 70019E20 01C33023 */ subu $a2, $t6, $v1 -.L70019E24: -/* 01AA24 70019E24 00003025 */ move $a2, $zero -.L70019E28: -/* 01AA28 70019E28 01067821 */ addu $t7, $t0, $a2 -/* 01AA2C 70019E2C 30EC0007 */ andi $t4, $a3, 7 -/* 01AA30 70019E30 00EC6823 */ subu $t5, $a3, $t4 -/* 01AA34 70019E34 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01AA38 70019E38 01201825 */ move $v1, $t1 -/* 01AA3C 70019E3C 3C010800 */ lui $at, 0x800 -/* 01AA40 70019E40 03015825 */ or $t3, $t8, $at -/* 01AA44 70019E44 25290008 */ addiu $t1, $t1, 8 -/* 01AA48 70019E48 25B90008 */ addiu $t9, $t5, 8 -/* 01AA4C 70019E4C 332EFFFF */ andi $t6, $t9, 0xffff -/* 01AA50 70019E50 01202025 */ move $a0, $t1 -/* 01AA54 70019E54 AC6E0004 */ sw $t6, 4($v1) -/* 01AA58 70019E58 AC6B0000 */ sw $t3, ($v1) -/* 01AA5C 70019E5C 0045C023 */ subu $t8, $v0, $a1 -/* 01AA60 70019E60 3C0F0400 */ lui $t7, 0x400 -/* 01AA64 70019E64 AC8F0000 */ sw $t7, ($a0) -/* 01AA68 70019E68 AC980004 */ sw $t8, 4($a0) -/* 01AA6C 70019E6C 14A00002 */ bnez $a1, .L70019E78 -/* 01AA70 70019E70 25290008 */ addiu $t1, $t1, 8 -/* 01AA74 70019E74 10C0000E */ beqz $a2, .L70019EB0 -.L70019E78: -/* 01AA78 70019E78 01055821 */ addu $t3, $t0, $a1 -/* 01AA7C 70019E7C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01AA80 70019E80 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01AA84 70019E84 01666021 */ addu $t4, $t3, $a2 -/* 01AA88 70019E88 01816824 */ and $t5, $t4, $at -/* 01AA8C 70019E8C 01201025 */ move $v0, $t1 -/* 01AA90 70019E90 3C010A00 */ lui $at, 0xa00 -/* 01AA94 70019E94 00087C00 */ sll $t7, $t0, 0x10 -/* 01AA98 70019E98 3238FFFF */ andi $t8, $s1, 0xffff -/* 01AA9C 70019E9C 01F85825 */ or $t3, $t7, $t8 -/* 01AAA0 70019EA0 01A1C825 */ or $t9, $t5, $at -/* 01AAA4 70019EA4 AC590000 */ sw $t9, ($v0) -/* 01AAA8 70019EA8 AC4B0004 */ sw $t3, 4($v0) -/* 01AAAC 70019EAC 25290008 */ addiu $t1, $t1, 8 -.L70019EB0: -/* 01AAB0 70019EB0 0253082A */ slt $at, $s2, $s3 -/* 01AAB4 70019EB4 5420FFBA */ bnezl $at, .L70019DA0 -/* 01AAB8 70019EB8 8E020024 */ lw $v0, 0x24($s0) -.L70019EBC: -/* 01AABC 70019EBC 8E0C0038 */ lw $t4, 0x38($s0) -/* 01AAC0 70019EC0 8E190044 */ lw $t9, 0x44($s0) -/* 01AAC4 70019EC4 00137040 */ sll $t6, $s3, 1 -/* 01AAC8 70019EC8 01936821 */ addu $t5, $t4, $s3 -/* 01AACC 70019ECC 032E7821 */ addu $t7, $t9, $t6 -/* 01AAD0 70019ED0 AE0D0038 */ sw $t5, 0x38($s0) -/* 01AAD4 70019ED4 AE0F0044 */ sw $t7, 0x44($s0) -/* 01AAD8 70019ED8 1000004E */ b .L7001A014 -/* 01AADC 70019EDC 01201025 */ move $v0, $t1 -/* 01AAE0 70019EE0 8E020028 */ lw $v0, 0x28($s0) -.L70019EE4: -/* 01AAE4 70019EE4 8E040044 */ lw $a0, 0x44($s0) -/* 01AAE8 70019EE8 00138840 */ sll $s1, $s3, 1 -/* 01AAEC 70019EEC 8C580000 */ lw $t8, ($v0) -/* 01AAF0 70019EF0 8C4C0004 */ lw $t4, 4($v0) -/* 01AAF4 70019EF4 00911821 */ addu $v1, $a0, $s1 -/* 01AAF8 70019EF8 00785823 */ subu $t3, $v1, $t8 -/* 01AAFC 70019EFC 016C9023 */ subu $s2, $t3, $t4 -/* 01AB00 70019F00 06430003 */ bgezl $s2, .L70019F10 -/* 01AB04 70019F04 0232082A */ slt $at, $s1, $s2 -/* 01AB08 70019F08 00009025 */ move $s2, $zero -/* 01AB0C 70019F0C 0232082A */ slt $at, $s1, $s2 -.L70019F10: -/* 01AB10 70019F10 50200003 */ beql $at, $zero, .L70019F20 -/* 01AB14 70019F14 0251082A */ slt $at, $s2, $s1 -/* 01AB18 70019F18 02209025 */ move $s2, $s1 -/* 01AB1C 70019F1C 0251082A */ slt $at, $s2, $s1 -.L70019F20: -/* 01AB20 70019F20 5020002C */ beql $at, $zero, .L70019FD4 -/* 01AB24 70019F24 AE030044 */ sw $v1, 0x44($s0) -/* 01AB28 70019F28 1A60001F */ blez $s3, .L70019FA8 -/* 01AB2C 70019F2C 00003025 */ move $a2, $zero -/* 01AB30 70019F30 8E060034 */ lw $a2, 0x34($s0) -/* 01AB34 70019F34 02322823 */ subu $a1, $s1, $s2 -/* 01AB38 70019F38 AFA50048 */ sw $a1, 0x48($sp) -/* 01AB3C 70019F3C AFAA0054 */ sw $t2, 0x54($sp) -/* 01AB40 70019F40 8E190030 */ lw $t9, 0x30($s0) -/* 01AB44 70019F44 0320F809 */ jalr $t9 -/* 01AB48 70019F48 00000000 */ nop -/* 01AB4C 70019F4C 8FAA0054 */ lw $t2, 0x54($sp) -/* 01AB50 70019F50 8FA70048 */ lw $a3, 0x48($sp) -/* 01AB54 70019F54 30460007 */ andi $a2, $v0, 7 -/* 01AB58 70019F58 854D0000 */ lh $t5, ($t2) -/* 01AB5C 70019F5C 8FA80060 */ lw $t0, 0x60($sp) -/* 01AB60 70019F60 00E63821 */ addu $a3, $a3, $a2 -/* 01AB64 70019F64 30F80007 */ andi $t8, $a3, 7 -/* 01AB68 70019F68 00F85823 */ subu $t3, $a3, $t8 -/* 01AB6C 70019F6C 3C010800 */ lui $at, 0x800 -/* 01AB70 70019F70 31AEFFFF */ andi $t6, $t5, 0xffff -/* 01AB74 70019F74 01C17825 */ or $t7, $t6, $at -/* 01AB78 70019F78 256C0008 */ addiu $t4, $t3, 8 -/* 01AB7C 70019F7C 25090008 */ addiu $t1, $t0, 8 -/* 01AB80 70019F80 3199FFFF */ andi $t9, $t4, 0xffff -/* 01AB84 70019F84 01202025 */ move $a0, $t1 -/* 01AB88 70019F88 00467023 */ subu $t6, $v0, $a2 -/* 01AB8C 70019F8C 3C0D0400 */ lui $t5, 0x400 -/* 01AB90 70019F90 AD190004 */ sw $t9, 4($t0) -/* 01AB94 70019F94 AD0F0000 */ sw $t7, ($t0) -/* 01AB98 70019F98 AC8E0004 */ sw $t6, 4($a0) -/* 01AB9C 70019F9C AC8D0000 */ sw $t5, ($a0) -/* 01ABA0 70019FA0 10000001 */ b .L70019FA8 -/* 01ABA4 70019FA4 25290008 */ addiu $t1, $t1, 8 -.L70019FA8: -/* 01ABA8 70019FA8 854F0000 */ lh $t7, ($t2) -/* 01ABAC 70019FAC 01E6C021 */ addu $t8, $t7, $a2 -/* 01ABB0 70019FB0 A5580000 */ sh $t8, ($t2) -/* 01ABB4 70019FB4 8E0B0038 */ lw $t3, 0x38($s0) -/* 01ABB8 70019FB8 8E190044 */ lw $t9, 0x44($s0) -/* 01ABBC 70019FBC 01736021 */ addu $t4, $t3, $s3 -/* 01ABC0 70019FC0 03316821 */ addu $t5, $t9, $s1 -/* 01ABC4 70019FC4 AE0C0038 */ sw $t4, 0x38($s0) -/* 01ABC8 70019FC8 10000002 */ b .L70019FD4 -/* 01ABCC 70019FCC AE0D0044 */ sw $t5, 0x44($s0) -/* 01ABD0 70019FD0 AE030044 */ sw $v1, 0x44($s0) -.L70019FD4: -/* 01ABD4 70019FD4 1240000E */ beqz $s2, .L7001A010 -/* 01ABD8 70019FD8 02321823 */ subu $v1, $s1, $s2 -/* 01ABDC 70019FDC 04610002 */ bgez $v1, .L70019FE8 -/* 01ABE0 70019FE0 01201025 */ move $v0, $t1 -/* 01ABE4 70019FE4 00001825 */ move $v1, $zero -.L70019FE8: -/* 01ABE8 70019FE8 854E0000 */ lh $t6, ($t2) -/* 01ABEC 70019FEC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01ABF0 70019FF0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01ABF4 70019FF4 01C37821 */ addu $t7, $t6, $v1 -/* 01ABF8 70019FF8 01E1C024 */ and $t8, $t7, $at -/* 01ABFC 70019FFC 3C010200 */ lui $at, 0x200 -/* 01AC00 7001A000 03015825 */ or $t3, $t8, $at -/* 01AC04 7001A004 AC4B0000 */ sw $t3, ($v0) -/* 01AC08 7001A008 AC520004 */ sw $s2, 4($v0) -/* 01AC0C 7001A00C 25290008 */ addiu $t1, $t1, 8 -.L7001A010: -/* 01AC10 7001A010 01201025 */ move $v0, $t1 -.L7001A014: -/* 01AC14 7001A014 8FBF0024 */ lw $ra, 0x24($sp) -/* 01AC18 7001A018 8FB00014 */ lw $s0, 0x14($sp) -/* 01AC1C 7001A01C 8FB10018 */ lw $s1, 0x18($sp) -/* 01AC20 7001A020 8FB2001C */ lw $s2, 0x1c($sp) -/* 01AC24 7001A024 8FB30020 */ lw $s3, 0x20($sp) -/* 01AC28 7001A028 03E00008 */ jr $ra -/* 01AC2C 7001A02C 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel ultra_7001A030 -/* 01AC30 7001A030 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01AC34 7001A034 AFB3002C */ sw $s3, 0x2c($sp) -/* 01AC38 7001A038 AFB50028 */ sw $s5, 0x28($sp) -/* 01AC3C 7001A03C 00137400 */ sll $t6, $s3, 0x10 -/* 01AC40 7001A040 0015C400 */ sll $t8, $s5, 0x10 -/* 01AC44 7001A044 0018AC03 */ sra $s5, $t8, 0x10 -/* 01AC48 7001A048 000E9C03 */ sra $s3, $t6, 0x10 -/* 01AC4C 7001A04C 1A20001A */ blez $s1, .L7001A0B8 -/* 01AC50 7001A050 AFBF0014 */ sw $ra, 0x14($sp) -/* 01AC54 7001A054 8E590030 */ lw $t9, 0x30($s2) -/* 01AC58 7001A058 8E440044 */ lw $a0, 0x44($s2) -/* 01AC5C 7001A05C 02202825 */ move $a1, $s1 -/* 01AC60 7001A060 0320F809 */ jalr $t9 -/* 01AC64 7001A064 8E460034 */ lw $a2, 0x34($s2) -/* 01AC68 7001A068 30460007 */ andi $a2, $v0, 7 -/* 01AC6C 7001A06C 02268821 */ addu $s1, $s1, $a2 -/* 01AC70 7001A070 326EFFFF */ andi $t6, $s3, 0xffff -/* 01AC74 7001A074 3C010800 */ lui $at, 0x800 -/* 01AC78 7001A078 01C17825 */ or $t7, $t6, $at -/* 01AC7C 7001A07C 32380007 */ andi $t8, $s1, 7 -/* 01AC80 7001A080 02002025 */ move $a0, $s0 -/* 01AC84 7001A084 0238C823 */ subu $t9, $s1, $t8 -/* 01AC88 7001A088 272E0008 */ addiu $t6, $t9, 8 -/* 01AC8C 7001A08C AC8F0000 */ sw $t7, ($a0) -/* 01AC90 7001A090 26100008 */ addiu $s0, $s0, 8 -/* 01AC94 7001A094 31CFFFFF */ andi $t7, $t6, 0xffff -/* 01AC98 7001A098 02002825 */ move $a1, $s0 -/* 01AC9C 7001A09C AC8F0004 */ sw $t7, 4($a0) -/* 01ACA0 7001A0A0 0046C823 */ subu $t9, $v0, $a2 -/* 01ACA4 7001A0A4 3C180400 */ lui $t8, 0x400 -/* 01ACA8 7001A0A8 ACB80000 */ sw $t8, ($a1) -/* 01ACAC 7001A0AC ACB90004 */ sw $t9, 4($a1) -/* 01ACB0 7001A0B0 10000002 */ b .L7001A0BC -/* 01ACB4 7001A0B4 26100008 */ addiu $s0, $s0, 8 -.L7001A0B8: -/* 01ACB8 7001A0B8 00003025 */ move $a2, $zero -.L7001A0BC: -/* 01ACBC 7001A0BC 328E0002 */ andi $t6, $s4, 2 -/* 01ACC0 7001A0C0 11C00009 */ beqz $t6, .L7001A0E8 -/* 01ACC4 7001A0C4 02001025 */ move $v0, $s0 -/* 01ACC8 7001A0C8 3C0F0F00 */ lui $t7, 0xf00 -/* 01ACCC 7001A0CC AC4F0000 */ sw $t7, ($v0) -/* 01ACD0 7001A0D0 8E580018 */ lw $t8, 0x18($s2) -/* 01ACD4 7001A0D4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 01ACD8 7001A0D8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01ACDC 7001A0DC 0301C824 */ and $t9, $t8, $at -/* 01ACE0 7001A0E0 AC590004 */ sw $t9, 4($v0) -/* 01ACE4 7001A0E4 26100008 */ addiu $s0, $s0, 8 -.L7001A0E8: -/* 01ACE8 7001A0E8 02667021 */ addu $t6, $s3, $a2 -/* 01ACEC 7001A0EC 31CFFFFF */ andi $t7, $t6, 0xffff -/* 01ACF0 7001A0F0 3C010800 */ lui $at, 0x800 -/* 01ACF4 7001A0F4 01E1C025 */ or $t8, $t7, $at -/* 01ACF8 7001A0F8 02001825 */ move $v1, $s0 -/* 01ACFC 7001A0FC AC780000 */ sw $t8, ($v1) -/* 01AD00 7001A100 00167840 */ sll $t7, $s6, 1 -/* 01AD04 7001A104 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01AD08 7001A108 00157400 */ sll $t6, $s5, 0x10 -/* 01AD0C 7001A10C 01D8C825 */ or $t9, $t6, $t8 -/* 01AD10 7001A110 328F00FF */ andi $t7, $s4, 0xff -/* 01AD14 7001A114 26100008 */ addiu $s0, $s0, 8 -/* 01AD18 7001A118 000F7400 */ sll $t6, $t7, 0x10 -/* 01AD1C 7001A11C 3C010100 */ lui $at, 0x100 -/* 01AD20 7001A120 AC790004 */ sw $t9, 4($v1) -/* 01AD24 7001A124 01C1C025 */ or $t8, $t6, $at -/* 01AD28 7001A128 02002025 */ move $a0, $s0 -/* 01AD2C 7001A12C AC980000 */ sw $t8, ($a0) -/* 01AD30 7001A130 8E590014 */ lw $t9, 0x14($s2) -/* 01AD34 7001A134 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 01AD38 7001A138 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01AD3C 7001A13C 03217824 */ and $t7, $t9, $at -/* 01AD40 7001A140 AC8F0004 */ sw $t7, 4($a0) -/* 01AD44 7001A144 AE400040 */ sw $zero, 0x40($s2) -/* 01AD48 7001A148 8FBF0014 */ lw $ra, 0x14($sp) -/* 01AD4C 7001A14C 26100008 */ addiu $s0, $s0, 8 -/* 01AD50 7001A150 02001025 */ move $v0, $s0 -/* 01AD54 7001A154 03E00008 */ jr $ra -/* 01AD58 7001A158 27BD0018 */ addiu $sp, $sp, 0x18 - -glabel alAdpcmPull -/* 01AD5C 7001A15C 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 01AD60 7001A160 AFB70044 */ sw $s7, 0x44($sp) -/* 01AD64 7001A164 AFA700BC */ sw $a3, 0xbc($sp) -/* 01AD68 7001A168 00A03825 */ move $a3, $a1 -/* 01AD6C 7001A16C 0080B825 */ move $s7, $a0 -/* 01AD70 7001A170 AFBF004C */ sw $ra, 0x4c($sp) -/* 01AD74 7001A174 AFBE0048 */ sw $fp, 0x48($sp) -/* 01AD78 7001A178 AFB60040 */ sw $s6, 0x40($sp) -/* 01AD7C 7001A17C AFB5003C */ sw $s5, 0x3c($sp) -/* 01AD80 7001A180 AFB40038 */ sw $s4, 0x38($sp) -/* 01AD84 7001A184 AFB30034 */ sw $s3, 0x34($sp) -/* 01AD88 7001A188 AFB20030 */ sw $s2, 0x30($sp) -/* 01AD8C 7001A18C AFB1002C */ sw $s1, 0x2c($sp) -/* 01AD90 7001A190 AFB00028 */ sw $s0, 0x28($sp) -/* 01AD94 7001A194 AFA500B4 */ sw $a1, 0xb4($sp) -/* 01AD98 7001A198 00C04025 */ move $t0, $a2 -/* 01AD9C 7001A19C 14C00003 */ bnez $a2, .L7001A1AC -/* 01ADA0 7001A1A0 00006825 */ move $t5, $zero -/* 01ADA4 7001A1A4 10000109 */ b .L7001A5CC -/* 01ADA8 7001A1A8 8FA200C0 */ lw $v0, 0xc0($sp) -.L7001A1AC: -/* 01ADAC 7001A1AC 8EEE002C */ lw $t6, 0x2c($s7) -/* 01ADB0 7001A1B0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01ADB4 7001A1B4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01ADB8 7001A1B8 8FA500C0 */ lw $a1, 0xc0($sp) -/* 01ADBC 7001A1BC 01C17824 */ and $t7, $t6, $at -/* 01ADC0 7001A1C0 3C010B00 */ lui $at, 0xb00 -/* 01ADC4 7001A1C4 01E1C025 */ or $t8, $t7, $at -/* 01ADC8 7001A1C8 ACB80000 */ sw $t8, ($a1) -/* 01ADCC 7001A1CC 8EF90028 */ lw $t9, 0x28($s7) -/* 01ADD0 7001A1D0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 01ADD4 7001A1D4 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01ADD8 7001A1D8 8F2E0010 */ lw $t6, 0x10($t9) -/* 01ADDC 7001A1DC 24AA0008 */ addiu $t2, $a1, 8 -/* 01ADE0 7001A1E0 00003025 */ move $a2, $zero -/* 01ADE4 7001A1E4 25CF0008 */ addiu $t7, $t6, 8 -/* 01ADE8 7001A1E8 01E1C024 */ and $t8, $t7, $at -/* 01ADEC 7001A1EC ACB80004 */ sw $t8, 4($a1) -/* 01ADF0 7001A1F0 8EE30038 */ lw $v1, 0x38($s7) -/* 01ADF4 7001A1F4 8EE40020 */ lw $a0, 0x20($s7) -/* 01ADF8 7001A1F8 01002825 */ move $a1, $t0 -/* 01ADFC 7001A1FC 0068C821 */ addu $t9, $v1, $t0 -/* 01AE00 7001A200 0099482B */ sltu $t1, $a0, $t9 -/* 01AE04 7001A204 11200004 */ beqz $t1, .L7001A218 -/* 01AE08 7001A208 240F0010 */ li $t7, 16 -/* 01AE0C 7001A20C 8EE90024 */ lw $t1, 0x24($s7) -/* 01AE10 7001A210 0009702B */ sltu $t6, $zero, $t1 -/* 01AE14 7001A214 01C04825 */ move $t1, $t6 -.L7001A218: -/* 01AE18 7001A218 11200003 */ beqz $t1, .L7001A228 -/* 01AE1C 7001A21C 24010009 */ li $at, 9 -/* 01AE20 7001A220 10000001 */ b .L7001A228 -/* 01AE24 7001A224 00832823 */ subu $a1, $a0, $v1 -.L7001A228: -/* 01AE28 7001A228 8EE3003C */ lw $v1, 0x3c($s7) -/* 01AE2C 7001A22C 01408025 */ move $s0, $t2 -/* 01AE30 7001A230 02E09025 */ move $s2, $s7 -/* 01AE34 7001A234 10600003 */ beqz $v1, .L7001A244 -/* 01AE38 7001A238 00009825 */ move $s3, $zero -/* 01AE3C 7001A23C 10000001 */ b .L7001A244 -/* 01AE40 7001A240 01E33023 */ subu $a2, $t7, $v1 -.L7001A244: -/* 01AE44 7001A244 00A62023 */ subu $a0, $a1, $a2 -/* 01AE48 7001A248 04810002 */ bgez $a0, .L7001A254 -/* 01AE4C 7001A24C 00000000 */ nop -/* 01AE50 7001A250 00002025 */ move $a0, $zero -.L7001A254: -/* 01AE54 7001A254 11200081 */ beqz $t1, .L7001A45C -/* 01AE58 7001A258 249E000F */ addiu $fp, $a0, 0xf -/* 01AE5C 7001A25C 249E000F */ addiu $fp, $a0, 0xf -/* 01AE60 7001A260 001EC103 */ sra $t8, $fp, 4 -/* 01AE64 7001A264 84F50000 */ lh $s5, ($a3) -/* 01AE68 7001A268 8EF40040 */ lw $s4, 0x40($s7) -/* 01AE6C 7001A26C 001848C0 */ sll $t1, $t8, 3 -/* 01AE70 7001A270 01384821 */ addu $t1, $t1, $t8 -/* 01AE74 7001A274 01208825 */ move $s1, $t1 -/* 01AE78 7001A278 AFA9005C */ sw $t1, 0x5c($sp) -/* 01AE7C 7001A27C AFA800B8 */ sw $t0, 0xb8($sp) -/* 01AE80 7001A280 AFA700B4 */ sw $a3, 0xb4($sp) -/* 01AE84 7001A284 AFA5008C */ sw $a1, 0x8c($sp) -/* 01AE88 7001A288 0300F025 */ move $fp, $t8 -/* 01AE8C 7001A28C 0C00680C */ jal ultra_7001A030 -/* 01AE90 7001A290 0080B025 */ move $s6, $a0 -/* 01AE94 7001A294 8EE3003C */ lw $v1, 0x3c($s7) -/* 01AE98 7001A298 8FA5008C */ lw $a1, 0x8c($sp) -/* 01AE9C 7001A29C 8FA700B4 */ lw $a3, 0xb4($sp) -/* 01AEA0 7001A2A0 8FA800B8 */ lw $t0, 0xb8($sp) -/* 01AEA4 7001A2A4 8FA9005C */ lw $t1, 0x5c($sp) -/* 01AEA8 7001A2A8 10600006 */ beqz $v1, .L7001A2C4 -/* 01AEAC 7001A2AC 00405025 */ move $t2, $v0 -/* 01AEB0 7001A2B0 84F90000 */ lh $t9, ($a3) -/* 01AEB4 7001A2B4 00037040 */ sll $t6, $v1, 1 -/* 01AEB8 7001A2B8 032E7821 */ addu $t7, $t9, $t6 -/* 01AEBC 7001A2BC 10000004 */ b .L7001A2D0 -/* 01AEC0 7001A2C0 A4EF0000 */ sh $t7, ($a3) -.L7001A2C4: -/* 01AEC4 7001A2C4 84F80000 */ lh $t8, ($a3) -/* 01AEC8 7001A2C8 27190020 */ addiu $t9, $t8, 0x20 -/* 01AECC 7001A2CC A4F90000 */ sh $t9, ($a3) -.L7001A2D0: -/* 01AED0 7001A2D0 8EE2001C */ lw $v0, 0x1c($s7) -/* 01AED4 7001A2D4 8EEF0028 */ lw $t7, 0x28($s7) -/* 01AED8 7001A2D8 00A8082A */ slt $at, $a1, $t0 -/* 01AEDC 7001A2DC 304E000F */ andi $t6, $v0, 0xf -/* 01AEE0 7001A2E0 AEEE003C */ sw $t6, 0x3c($s7) -/* 01AEE4 7001A2E4 8DF80000 */ lw $t8, ($t7) -/* 01AEE8 7001A2E8 0002C902 */ srl $t9, $v0, 4 -/* 01AEEC 7001A2EC 001970C0 */ sll $t6, $t9, 3 -/* 01AEF0 7001A2F0 01D97021 */ addu $t6, $t6, $t9 -/* 01AEF4 7001A2F4 030E7821 */ addu $t7, $t8, $t6 -/* 01AEF8 7001A2F8 25F90009 */ addiu $t9, $t7, 9 -/* 01AEFC 7001A2FC AEF90044 */ sw $t9, 0x44($s7) -/* 01AF00 7001A300 AEE20038 */ sw $v0, 0x38($s7) -/* 01AF04 7001A304 10200049 */ beqz $at, .L7001A42C -/* 01AF08 7001A308 84E60000 */ lh $a2, ($a3) -/* 01AF0C 7001A30C 00051840 */ sll $v1, $a1, 1 -.L7001A310: -/* 01AF10 7001A310 27D80001 */ addiu $t8, $fp, 1 -/* 01AF14 7001A314 00187140 */ sll $t6, $t8, 5 -/* 01AF18 7001A318 8EE20024 */ lw $v0, 0x24($s7) -/* 01AF1C 7001A31C 01C63821 */ addu $a3, $t6, $a2 -/* 01AF20 7001A320 2401FFE0 */ li $at, -32 -/* 01AF24 7001A324 00E17824 */ and $t7, $a3, $at -/* 01AF28 7001A328 2401FFFF */ li $at, -1 -/* 01AF2C 7001A32C 01054023 */ subu $t0, $t0, $a1 -/* 01AF30 7001A330 01E03825 */ move $a3, $t7 -/* 01AF34 7001A334 10410004 */ beq $v0, $at, .L7001A348 -/* 01AF38 7001A338 00C33021 */ addu $a2, $a2, $v1 -/* 01AF3C 7001A33C 10400002 */ beqz $v0, .L7001A348 -/* 01AF40 7001A340 2459FFFF */ addiu $t9, $v0, -1 -/* 01AF44 7001A344 AEF90024 */ sw $t9, 0x24($s7) -.L7001A348: -/* 01AF48 7001A348 8EF80020 */ lw $t8, 0x20($s7) -/* 01AF4C 7001A34C 8EEE001C */ lw $t6, 0x1c($s7) -/* 01AF50 7001A350 01408025 */ move $s0, $t2 -/* 01AF54 7001A354 02E09025 */ move $s2, $s7 -/* 01AF58 7001A358 030E1023 */ subu $v0, $t8, $t6 -/* 01AF5C 7001A35C 0102082B */ sltu $at, $t0, $v0 -/* 01AF60 7001A360 10200003 */ beqz $at, .L7001A370 -/* 01AF64 7001A364 0007AC00 */ sll $s5, $a3, 0x10 -/* 01AF68 7001A368 10000002 */ b .L7001A374 -/* 01AF6C 7001A36C 01002825 */ move $a1, $t0 -.L7001A370: -/* 01AF70 7001A370 00402825 */ move $a1, $v0 -.L7001A374: -/* 01AF74 7001A374 8EEF003C */ lw $t7, 0x3c($s7) -/* 01AF78 7001A378 0015C403 */ sra $t8, $s5, 0x10 -/* 01AF7C 7001A37C 0300A825 */ move $s5, $t8 -/* 01AF80 7001A380 00AF2021 */ addu $a0, $a1, $t7 -/* 01AF84 7001A384 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 01AF88 7001A388 04810002 */ bgez $a0, .L7001A394 -/* 01AF8C 7001A38C 00009825 */ move $s3, $zero -/* 01AF90 7001A390 00002025 */ move $a0, $zero -.L7001A394: -/* 01AF94 7001A394 8EF40040 */ lw $s4, 0x40($s7) -/* 01AF98 7001A398 249E000F */ addiu $fp, $a0, 0xf -/* 01AF9C 7001A39C 001EC903 */ sra $t9, $fp, 4 -/* 01AFA0 7001A3A0 001948C0 */ sll $t1, $t9, 3 -/* 01AFA4 7001A3A4 01394821 */ addu $t1, $t1, $t9 -/* 01AFA8 7001A3A8 368E0002 */ ori $t6, $s4, 2 -/* 01AFAC 7001A3AC 01C0A025 */ move $s4, $t6 -/* 01AFB0 7001A3B0 01208825 */ move $s1, $t1 -/* 01AFB4 7001A3B4 AFA9005C */ sw $t1, 0x5c($sp) -/* 01AFB8 7001A3B8 0320F025 */ move $fp, $t9 -/* 01AFBC 7001A3BC AFA800B8 */ sw $t0, 0xb8($sp) -/* 01AFC0 7001A3C0 AFA70088 */ sw $a3, 0x88($sp) -/* 01AFC4 7001A3C4 AFA60080 */ sw $a2, 0x80($sp) -/* 01AFC8 7001A3C8 AFA5008C */ sw $a1, 0x8c($sp) -/* 01AFCC 7001A3CC 0C00680C */ jal ultra_7001A030 -/* 01AFD0 7001A3D0 0080B025 */ move $s6, $a0 -/* 01AFD4 7001A3D4 8EEF003C */ lw $t7, 0x3c($s7) -/* 01AFD8 7001A3D8 8FA70088 */ lw $a3, 0x88($sp) -/* 01AFDC 7001A3DC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01AFE0 7001A3E0 000FC840 */ sll $t9, $t7, 1 -/* 01AFE4 7001A3E4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01AFE8 7001A3E8 0327C021 */ addu $t8, $t9, $a3 -/* 01AFEC 7001A3EC 03017024 */ and $t6, $t8, $at -/* 01AFF0 7001A3F0 8FA5008C */ lw $a1, 0x8c($sp) -/* 01AFF4 7001A3F4 3C010A00 */ lui $at, 0xa00 -/* 01AFF8 7001A3F8 8FA60080 */ lw $a2, 0x80($sp) -/* 01AFFC 7001A3FC 01C17825 */ or $t7, $t6, $at -/* 01B000 7001A400 8FA800B8 */ lw $t0, 0xb8($sp) -/* 01B004 7001A404 8FA9005C */ lw $t1, 0x5c($sp) -/* 01B008 7001A408 00051840 */ sll $v1, $a1, 1 -/* 01B00C 7001A40C 306EFFFF */ andi $t6, $v1, 0xffff -/* 01B010 7001A410 AC4F0000 */ sw $t7, ($v0) -/* 01B014 7001A414 0006C400 */ sll $t8, $a2, 0x10 -/* 01B018 7001A418 030E7825 */ or $t7, $t8, $t6 -/* 01B01C 7001A41C 00A8082A */ slt $at, $a1, $t0 -/* 01B020 7001A420 AC4F0004 */ sw $t7, 4($v0) -/* 01B024 7001A424 1420FFBA */ bnez $at, .L7001A310 -/* 01B028 7001A428 244A0008 */ addiu $t2, $v0, 8 -.L7001A42C: -/* 01B02C 7001A42C 8EF9003C */ lw $t9, 0x3c($s7) -/* 01B030 7001A430 8EEF0038 */ lw $t7, 0x38($s7) -/* 01B034 7001A434 01401025 */ move $v0, $t2 -/* 01B038 7001A438 0328C021 */ addu $t8, $t9, $t0 -/* 01B03C 7001A43C 330E000F */ andi $t6, $t8, 0xf -/* 01B040 7001A440 8EF80044 */ lw $t8, 0x44($s7) -/* 01B044 7001A444 AEEE003C */ sw $t6, 0x3c($s7) -/* 01B048 7001A448 01E8C821 */ addu $t9, $t7, $t0 -/* 01B04C 7001A44C 03097021 */ addu $t6, $t8, $t1 -/* 01B050 7001A450 AEF90038 */ sw $t9, 0x38($s7) -/* 01B054 7001A454 1000005D */ b .L7001A5CC -/* 01B058 7001A458 AEEE0044 */ sw $t6, 0x44($s7) -.L7001A45C: -/* 01B05C 7001A45C 8EE20028 */ lw $v0, 0x28($s7) -/* 01B060 7001A460 001E7903 */ sra $t7, $fp, 4 -/* 01B064 7001A464 8EF90044 */ lw $t9, 0x44($s7) -/* 01B068 7001A468 000F48C0 */ sll $t1, $t7, 3 -/* 01B06C 7001A46C 8C580000 */ lw $t8, ($v0) -/* 01B070 7001A470 012F4821 */ addu $t1, $t1, $t7 -/* 01B074 7001A474 01E0F025 */ move $fp, $t7 -/* 01B078 7001A478 8C4F0004 */ lw $t7, 4($v0) -/* 01B07C 7001A47C 03295821 */ addu $t3, $t9, $t1 -/* 01B080 7001A480 01787023 */ subu $t6, $t3, $t8 -/* 01B084 7001A484 01CF1823 */ subu $v1, $t6, $t7 -/* 01B088 7001A488 04610002 */ bgez $v1, .L7001A494 -/* 01B08C 7001A48C 001E2900 */ sll $a1, $fp, 4 -/* 01B090 7001A490 00001825 */ move $v1, $zero -.L7001A494: -/* 01B094 7001A494 0061001A */ div $zero, $v1, $at -/* 01B098 7001A498 00001012 */ mflo $v0 -/* 01B09C 7001A49C 00022100 */ sll $a0, $v0, 4 -/* 01B0A0 7001A4A0 00A66021 */ addu $t4, $a1, $a2 -/* 01B0A4 7001A4A4 0184082A */ slt $at, $t4, $a0 -/* 01B0A8 7001A4A8 10200002 */ beqz $at, .L7001A4B4 -/* 01B0AC 7001A4AC 01408025 */ move $s0, $t2 -/* 01B0B0 7001A4B0 01802025 */ move $a0, $t4 -.L7001A4B4: -/* 01B0B4 7001A4B4 3098000F */ andi $t8, $a0, 0xf -/* 01B0B8 7001A4B8 00987023 */ subu $t6, $a0, $t8 -/* 01B0BC 7001A4BC 01C8082A */ slt $at, $t6, $t0 -/* 01B0C0 7001A4C0 1020002B */ beqz $at, .L7001A570 -/* 01B0C4 7001A4C4 01233023 */ subu $a2, $t1, $v1 -/* 01B0C8 7001A4C8 84F50000 */ lh $s5, ($a3) -/* 01B0CC 7001A4CC 8EF40040 */ lw $s4, 0x40($s7) -/* 01B0D0 7001A4D0 240D0001 */ li $t5, 1 -/* 01B0D4 7001A4D4 AFAD007C */ sw $t5, 0x7c($sp) -/* 01B0D8 7001A4D8 AFAC0050 */ sw $t4, 0x50($sp) -/* 01B0DC 7001A4DC AFA9005C */ sw $t1, 0x5c($sp) -/* 01B0E0 7001A4E0 AFA800B8 */ sw $t0, 0xb8($sp) -/* 01B0E4 7001A4E4 AFA700B4 */ sw $a3, 0xb4($sp) -/* 01B0E8 7001A4E8 AFA40090 */ sw $a0, 0x90($sp) -/* 01B0EC 7001A4EC 02E09025 */ move $s2, $s7 -/* 01B0F0 7001A4F0 00A4B023 */ subu $s6, $a1, $a0 -/* 01B0F4 7001A4F4 00C08825 */ move $s1, $a2 -/* 01B0F8 7001A4F8 0C00680C */ jal ultra_7001A030 -/* 01B0FC 7001A4FC 00009825 */ move $s3, $zero -/* 01B100 7001A500 8EE3003C */ lw $v1, 0x3c($s7) -/* 01B104 7001A504 8FA40090 */ lw $a0, 0x90($sp) -/* 01B108 7001A508 8FA700B4 */ lw $a3, 0xb4($sp) -/* 01B10C 7001A50C 8FA800B8 */ lw $t0, 0xb8($sp) -/* 01B110 7001A510 8FA9005C */ lw $t1, 0x5c($sp) -/* 01B114 7001A514 8FAC0050 */ lw $t4, 0x50($sp) -/* 01B118 7001A518 8FAD007C */ lw $t5, 0x7c($sp) -/* 01B11C 7001A51C 10600006 */ beqz $v1, .L7001A538 -/* 01B120 7001A520 00405025 */ move $t2, $v0 -/* 01B124 7001A524 84EF0000 */ lh $t7, ($a3) -/* 01B128 7001A528 0003C840 */ sll $t9, $v1, 1 -/* 01B12C 7001A52C 01F9C021 */ addu $t8, $t7, $t9 -/* 01B130 7001A530 10000004 */ b .L7001A544 -/* 01B134 7001A534 A4F80000 */ sh $t8, ($a3) -.L7001A538: -/* 01B138 7001A538 84EE0000 */ lh $t6, ($a3) -/* 01B13C 7001A53C 25CF0020 */ addiu $t7, $t6, 0x20 -/* 01B140 7001A540 A4EF0000 */ sh $t7, ($a3) -.L7001A544: -/* 01B144 7001A544 8EF9003C */ lw $t9, 0x3c($s7) -/* 01B148 7001A548 8EEF0038 */ lw $t7, 0x38($s7) -/* 01B14C 7001A54C 0328C021 */ addu $t8, $t9, $t0 -/* 01B150 7001A550 330E000F */ andi $t6, $t8, 0xf -/* 01B154 7001A554 8EF80044 */ lw $t8, 0x44($s7) -/* 01B158 7001A558 AEEE003C */ sw $t6, 0x3c($s7) -/* 01B15C 7001A55C 01E8C821 */ addu $t9, $t7, $t0 -/* 01B160 7001A560 03097021 */ addu $t6, $t8, $t1 -/* 01B164 7001A564 AEF90038 */ sw $t9, 0x38($s7) -/* 01B168 7001A568 10000003 */ b .L7001A578 -/* 01B16C 7001A56C AEEE0044 */ sw $t6, 0x44($s7) -.L7001A570: -/* 01B170 7001A570 AEE0003C */ sw $zero, 0x3c($s7) -/* 01B174 7001A574 AEEB0044 */ sw $t3, 0x44($s7) -.L7001A578: -/* 01B178 7001A578 10800013 */ beqz $a0, .L7001A5C8 -/* 01B17C 7001A57C 01401025 */ move $v0, $t2 -/* 01B180 7001A580 11A00005 */ beqz $t5, .L7001A598 -/* 01B184 7001A584 AEE0003C */ sw $zero, 0x3c($s7) -/* 01B188 7001A588 01841823 */ subu $v1, $t4, $a0 -/* 01B18C 7001A58C 00037840 */ sll $t7, $v1, 1 -/* 01B190 7001A590 10000002 */ b .L7001A59C -/* 01B194 7001A594 01E01825 */ move $v1, $t7 -.L7001A598: -/* 01B198 7001A598 00001825 */ move $v1, $zero -.L7001A59C: -/* 01B19C 7001A59C 84F90000 */ lh $t9, ($a3) -/* 01B1A0 7001A5A0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01B1A4 7001A5A4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01B1A8 7001A5A8 0323C021 */ addu $t8, $t9, $v1 -/* 01B1AC 7001A5AC 03017024 */ and $t6, $t8, $at -/* 01B1B0 7001A5B0 3C010200 */ lui $at, 0x200 -/* 01B1B4 7001A5B4 01C17825 */ or $t7, $t6, $at -/* 01B1B8 7001A5B8 0004C840 */ sll $t9, $a0, 1 -/* 01B1BC 7001A5BC AC590004 */ sw $t9, 4($v0) -/* 01B1C0 7001A5C0 AC4F0000 */ sw $t7, ($v0) -/* 01B1C4 7001A5C4 254A0008 */ addiu $t2, $t2, 8 -.L7001A5C8: -/* 01B1C8 7001A5C8 01401025 */ move $v0, $t2 -.L7001A5CC: -/* 01B1CC 7001A5CC 8FBF004C */ lw $ra, 0x4c($sp) -/* 01B1D0 7001A5D0 8FB00028 */ lw $s0, 0x28($sp) -/* 01B1D4 7001A5D4 8FB1002C */ lw $s1, 0x2c($sp) -/* 01B1D8 7001A5D8 8FB20030 */ lw $s2, 0x30($sp) -/* 01B1DC 7001A5DC 8FB30034 */ lw $s3, 0x34($sp) -/* 01B1E0 7001A5E0 8FB40038 */ lw $s4, 0x38($sp) -/* 01B1E4 7001A5E4 8FB5003C */ lw $s5, 0x3c($sp) -/* 01B1E8 7001A5E8 8FB60040 */ lw $s6, 0x40($sp) -/* 01B1EC 7001A5EC 8FB70044 */ lw $s7, 0x44($sp) -/* 01B1F0 7001A5F0 8FBE0048 */ lw $fp, 0x48($sp) -/* 01B1F4 7001A5F4 03E00008 */ jr $ra -/* 01B1F8 7001A5F8 27BD00B0 */ addiu $sp, $sp, 0xb0 - -/* 01B1FC 7001A5FC 00000000 */ nop -glabel alResampleParam -/* 01B200 7001A600 24AEFFFF */ addiu $t6, $a1, -1 -/* 01B204 7001A604 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01B208 7001A608 2DC10009 */ sltiu $at, $t6, 9 -/* 01B20C 7001A60C AFBF0014 */ sw $ra, 0x14($sp) -/* 01B210 7001A610 1020002B */ beqz $at, .L7001A6C0 -/* 01B214 7001A614 00803825 */ move $a3, $a0 -/* 01B218 7001A618 000E7080 */ sll $t6, $t6, 2 -/* 01B21C 7001A61C 3C018003 */ lui $at, 0x8003 -/* 01B220 7001A620 002E0821 */ addu $at, $at, $t6 -/* 01B224 7001A624 8C2E9850 */ lw $t6, -0x67b0($at) -/* 01B228 7001A628 01C00008 */ jr $t6 -/* 01B22C 7001A62C 00000000 */ nop -.L7001A630: -/* 01B230 7001A630 10000029 */ b .L7001A6D8 -/* 01B234 7001A634 ACE60000 */ sw $a2, ($a3) -.L7001A638: -/* 01B238 7001A638 8CE40000 */ lw $a0, ($a3) -/* 01B23C 7001A63C 44802000 */ mtc1 $zero, $f4 -/* 01B240 7001A640 240F0001 */ li $t7, 1 -/* 01B244 7001A644 ACEF0024 */ sw $t7, 0x24($a3) -/* 01B248 7001A648 ACE00030 */ sw $zero, 0x30($a3) -/* 01B24C 7001A64C ACE0001C */ sw $zero, 0x1c($a3) -/* 01B250 7001A650 10800021 */ beqz $a0, .L7001A6D8 -/* 01B254 7001A654 E4E40020 */ swc1 $f4, 0x20($a3) -/* 01B258 7001A658 8C990008 */ lw $t9, 8($a0) -/* 01B25C 7001A65C 24050004 */ li $a1, 4 -/* 01B260 7001A660 00003025 */ move $a2, $zero -/* 01B264 7001A664 0320F809 */ jalr $t9 -/* 01B268 7001A668 00000000 */ nop -/* 01B26C 7001A66C 1000001B */ b .L7001A6DC -/* 01B270 7001A670 8FBF0014 */ lw $ra, 0x14($sp) -.L7001A674: -/* 01B274 7001A674 8CE40000 */ lw $a0, ($a3) -/* 01B278 7001A678 24180001 */ li $t8, 1 -/* 01B27C 7001A67C ACF80030 */ sw $t8, 0x30($a3) -/* 01B280 7001A680 50800016 */ beql $a0, $zero, .L7001A6DC -/* 01B284 7001A684 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B288 7001A688 8C990008 */ lw $t9, 8($a0) -/* 01B28C 7001A68C 24050009 */ li $a1, 9 -/* 01B290 7001A690 00003025 */ move $a2, $zero -/* 01B294 7001A694 0320F809 */ jalr $t9 -/* 01B298 7001A698 00000000 */ nop -/* 01B29C 7001A69C 1000000F */ b .L7001A6DC -/* 01B2A0 7001A6A0 8FBF0014 */ lw $ra, 0x14($sp) -.L7001A6A4: -/* 01B2A4 7001A6A4 AFA6001C */ sw $a2, 0x1c($sp) -/* 01B2A8 7001A6A8 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 01B2AC 7001A6AC 1000000A */ b .L7001A6D8 -/* 01B2B0 7001A6B0 E4E60018 */ swc1 $f6, 0x18($a3) -.L7001A6B4: -/* 01B2B4 7001A6B4 24080001 */ li $t0, 1 -/* 01B2B8 7001A6B8 10000007 */ b .L7001A6D8 -/* 01B2BC 7001A6BC ACE8001C */ sw $t0, 0x1c($a3) -.L7001A6C0: -/* 01B2C0 7001A6C0 8CE40000 */ lw $a0, ($a3) -/* 01B2C4 7001A6C4 50800005 */ beql $a0, $zero, .L7001A6DC -/* 01B2C8 7001A6C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B2CC 7001A6CC 8C990008 */ lw $t9, 8($a0) -/* 01B2D0 7001A6D0 0320F809 */ jalr $t9 -/* 01B2D4 7001A6D4 00000000 */ nop -.L7001A6D8: -/* 01B2D8 7001A6D8 8FBF0014 */ lw $ra, 0x14($sp) -.L7001A6DC: -/* 01B2DC 7001A6DC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 01B2E0 7001A6E0 00001025 */ move $v0, $zero -/* 01B2E4 7001A6E4 03E00008 */ jr $ra -/* 01B2E8 7001A6E8 00000000 */ nop - -glabel alResamplePull -/* 01B2EC 7001A6EC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 01B2F0 7001A6F0 AFBF001C */ sw $ra, 0x1c($sp) -/* 01B2F4 7001A6F4 AFA50054 */ sw $a1, 0x54($sp) -/* 01B2F8 7001A6F8 8C890000 */ lw $t1, ($a0) -/* 01B2FC 7001A6FC 240E0140 */ li $t6, 320 -/* 01B300 7001A700 00804025 */ move $t0, $a0 -/* 01B304 7001A704 00C05025 */ move $t2, $a2 -/* 01B308 7001A708 14C00003 */ bnez $a2, .L7001A718 -/* 01B30C 7001A70C A7AE0046 */ sh $t6, 0x46($sp) -/* 01B310 7001A710 10000074 */ b .L7001A8E4 -/* 01B314 7001A714 8FA20060 */ lw $v0, 0x60($sp) -.L7001A718: -/* 01B318 7001A718 8D0F001C */ lw $t7, 0x1c($t0) -/* 01B31C 7001A71C 8FB80060 */ lw $t8, 0x60($sp) -/* 01B320 7001A720 51E0001A */ beql $t7, $zero, .L7001A78C -/* 01B324 7001A724 C5020018 */ lwc1 $f2, 0x18($t0) -/* 01B328 7001A728 AFB80010 */ sw $t8, 0x10($sp) -/* 01B32C 7001A72C AFAA0058 */ sw $t2, 0x58($sp) -/* 01B330 7001A730 8D390004 */ lw $t9, 4($t1) -/* 01B334 7001A734 01202025 */ move $a0, $t1 -/* 01B338 7001A738 27A50046 */ addiu $a1, $sp, 0x46 -/* 01B33C 7001A73C 0320F809 */ jalr $t9 -/* 01B340 7001A740 01403025 */ move $a2, $t2 -/* 01B344 7001A744 87AB0046 */ lh $t3, 0x46($sp) -/* 01B348 7001A748 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01B34C 7001A74C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01B350 7001A750 01616024 */ and $t4, $t3, $at -/* 01B354 7001A754 3C010A00 */ lui $at, 0xa00 -/* 01B358 7001A758 8FAA0058 */ lw $t2, 0x58($sp) -/* 01B35C 7001A75C 01816825 */ or $t5, $t4, $at -/* 01B360 7001A760 AC4D0000 */ sw $t5, ($v0) -/* 01B364 7001A764 8FAE0054 */ lw $t6, 0x54($sp) -/* 01B368 7001A768 000A5840 */ sll $t3, $t2, 1 -/* 01B36C 7001A76C 316CFFFF */ andi $t4, $t3, 0xffff -/* 01B370 7001A770 85D80000 */ lh $t8, ($t6) -/* 01B374 7001A774 24450008 */ addiu $a1, $v0, 8 -/* 01B378 7001A778 0018CC00 */ sll $t9, $t8, 0x10 -/* 01B37C 7001A77C 032C6825 */ or $t5, $t9, $t4 -/* 01B380 7001A780 10000057 */ b .L7001A8E0 -/* 01B384 7001A784 AC4D0004 */ sw $t5, 4($v0) -/* 01B388 7001A788 C5020018 */ lwc1 $f2, 0x18($t0) -.L7001A78C: -/* 01B38C 7001A78C 3C018003 */ lui $at, 0x8003 -/* 01B390 7001A790 D4249878 */ ldc1 $f4, -0x6788($at) -/* 01B394 7001A794 460011A1 */ cvt.d.s $f6, $f2 -/* 01B398 7001A798 3C018003 */ lui $at, 0x8003 -/* 01B39C 7001A79C 4626203C */ c.lt.d $f4, $f6 -/* 01B3A0 7001A7A0 00000000 */ nop -/* 01B3A4 7001A7A4 45020005 */ bc1fl .L7001A7BC -/* 01B3A8 7001A7A8 3C014700 */ lui $at, 0x4700 -/* 01B3AC 7001A7AC C4289880 */ lwc1 $f8, %lo(0x46FF9880)($at) -/* 01B3B0 7001A7B0 E5080018 */ swc1 $f8, 0x18($t0) -/* 01B3B4 7001A7B4 C5020018 */ lwc1 $f2, 0x18($t0) -/* 01B3B8 7001A7B8 3C014700 */ li $at, 0x47000000 # 32768.000000 -.L7001A7BC: -/* 01B3BC 7001A7BC 44816000 */ mtc1 $at, $f12 -/* 01B3C0 7001A7C0 01202025 */ move $a0, $t1 -/* 01B3C4 7001A7C4 27A50046 */ addiu $a1, $sp, 0x46 -/* 01B3C8 7001A7C8 460C1282 */ mul.s $f10, $f2, $f12 -/* 01B3CC 7001A7CC 4600540D */ trunc.w.s $f16, $f10 -/* 01B3D0 7001A7D0 440F8000 */ mfc1 $t7, $f16 -/* 01B3D4 7001A7D4 448A8000 */ mtc1 $t2, $f16 -/* 01B3D8 7001A7D8 448F9000 */ mtc1 $t7, $f18 -/* 01B3DC 7001A7DC 00000000 */ nop -/* 01B3E0 7001A7E0 46809120 */ cvt.s.w $f4, $f18 -/* 01B3E4 7001A7E4 468084A0 */ cvt.s.w $f18, $f16 -/* 01B3E8 7001A7E8 E5040018 */ swc1 $f4, 0x18($t0) -/* 01B3EC 7001A7EC C5060018 */ lwc1 $f6, 0x18($t0) -/* 01B3F0 7001A7F0 460C3203 */ div.s $f8, $f6, $f12 -/* 01B3F4 7001A7F4 C5060020 */ lwc1 $f6, 0x20($t0) -/* 01B3F8 7001A7F8 E5080018 */ swc1 $f8, 0x18($t0) -/* 01B3FC 7001A7FC C50A0018 */ lwc1 $f10, 0x18($t0) -/* 01B400 7001A800 46125102 */ mul.s $f4, $f10, $f18 -/* 01B404 7001A804 46043000 */ add.s $f0, $f6, $f4 -/* 01B408 7001A808 4600020D */ trunc.w.s $f8, $f0 -/* 01B40C 7001A80C 44064000 */ mfc1 $a2, $f8 -/* 01B410 7001A810 00000000 */ nop -/* 01B414 7001A814 44868000 */ mtc1 $a2, $f16 -/* 01B418 7001A818 00000000 */ nop -/* 01B41C 7001A81C 468082A0 */ cvt.s.w $f10, $f16 -/* 01B420 7001A820 460A0481 */ sub.s $f18, $f0, $f10 -/* 01B424 7001A824 E5120020 */ swc1 $f18, 0x20($t0) -/* 01B428 7001A828 8FAB0060 */ lw $t3, 0x60($sp) -/* 01B42C 7001A82C AFAA0058 */ sw $t2, 0x58($sp) -/* 01B430 7001A830 AFA80050 */ sw $t0, 0x50($sp) -/* 01B434 7001A834 AFAB0010 */ sw $t3, 0x10($sp) -/* 01B438 7001A838 8D390004 */ lw $t9, 4($t1) -/* 01B43C 7001A83C 0320F809 */ jalr $t9 -/* 01B440 7001A840 00000000 */ nop -/* 01B444 7001A844 8FA80050 */ lw $t0, 0x50($sp) -/* 01B448 7001A848 87AD0046 */ lh $t5, 0x46($sp) -/* 01B44C 7001A84C 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 01B450 7001A850 44812000 */ mtc1 $at, $f4 -/* 01B454 7001A854 C5060018 */ lwc1 $f6, 0x18($t0) -/* 01B458 7001A858 3C010800 */ lui $at, 0x800 -/* 01B45C 7001A85C 31AEFFFF */ andi $t6, $t5, 0xffff -/* 01B460 7001A860 8FAA0058 */ lw $t2, 0x58($sp) -/* 01B464 7001A864 01C17825 */ or $t7, $t6, $at -/* 01B468 7001A868 AC4F0000 */ sw $t7, ($v0) -/* 01B46C 7001A86C 8FB80054 */ lw $t8, 0x54($sp) -/* 01B470 7001A870 46043202 */ mul.s $f8, $f6, $f4 -/* 01B474 7001A874 000A6840 */ sll $t5, $t2, 1 -/* 01B478 7001A878 87190000 */ lh $t9, ($t8) -/* 01B47C 7001A87C 31AEFFFF */ andi $t6, $t5, 0xffff -/* 01B480 7001A880 24580008 */ addiu $t8, $v0, 8 -/* 01B484 7001A884 00196400 */ sll $t4, $t9, 0x10 -/* 01B488 7001A888 018E7825 */ or $t7, $t4, $t6 -/* 01B48C 7001A88C 4600440D */ trunc.w.s $f16, $f8 -/* 01B490 7001A890 AC4F0004 */ sw $t7, 4($v0) -/* 01B494 7001A894 AFB80028 */ sw $t8, 0x28($sp) -/* 01B498 7001A898 8D0B0024 */ lw $t3, 0x24($t0) -/* 01B49C 7001A89C 44038000 */ mfc1 $v1, $f16 -/* 01B4A0 7001A8A0 3C010500 */ lui $at, 0x500 -/* 01B4A4 7001A8A4 317900FF */ andi $t9, $t3, 0xff -/* 01B4A8 7001A8A8 00196C00 */ sll $t5, $t9, 0x10 -/* 01B4AC 7001A8AC 01A16025 */ or $t4, $t5, $at -/* 01B4B0 7001A8B0 306EFFFF */ andi $t6, $v1, 0xffff -/* 01B4B4 7001A8B4 018E7825 */ or $t7, $t4, $t6 -/* 01B4B8 7001A8B8 AC4F0008 */ sw $t7, 8($v0) -/* 01B4BC 7001A8BC 24450010 */ addiu $a1, $v0, 0x10 -/* 01B4C0 7001A8C0 8D040014 */ lw $a0, 0x14($t0) -/* 01B4C4 7001A8C4 0C003A2C */ jal osVirtualToPhysical -/* 01B4C8 7001A8C8 AFA50048 */ sw $a1, 0x48($sp) -/* 01B4CC 7001A8CC 8FB80028 */ lw $t8, 0x28($sp) -/* 01B4D0 7001A8D0 8FA80050 */ lw $t0, 0x50($sp) -/* 01B4D4 7001A8D4 8FA50048 */ lw $a1, 0x48($sp) -/* 01B4D8 7001A8D8 AF020004 */ sw $v0, 4($t8) -/* 01B4DC 7001A8DC AD000024 */ sw $zero, 0x24($t0) -.L7001A8E0: -/* 01B4E0 7001A8E0 00A01025 */ move $v0, $a1 -.L7001A8E4: -/* 01B4E4 7001A8E4 8FBF001C */ lw $ra, 0x1c($sp) -/* 01B4E8 7001A8E8 27BD0050 */ addiu $sp, $sp, 0x50 -/* 01B4EC 7001A8EC 03E00008 */ jr $ra -/* 01B4F0 7001A8F0 00000000 */ nop -.align 4 - -.section .rodata -glabel J_8001A628 -.word .L7001A630 -.word .L7001A6C0 -.word .L7001A6C0 -.word .L7001A638 -.word .L7001A6C0 -.word .L7001A6C0 -.word .L7001A6A4 -.word .L7001A6B4 -.word .L7001A674 -.align 3 -glabel F64_80029878 -.double 1.99996 -.float 1.9999599 -.word 0 -.word 0 -.word 0 - -.section .text -glabel _ldexpf -/* 01B500 7001A900 10C00007 */ beqz $a2, .L7001A920 -/* 01B504 7001A904 240E0001 */ li $t6, 1 -/* 01B508 7001A908 00CE7804 */ sllv $t7, $t6, $a2 -/* 01B50C 7001A90C 448F2000 */ mtc1 $t7, $f4 -/* 01B510 7001A910 00000000 */ nop -/* 01B514 7001A914 468021A1 */ cvt.d.w $f6, $f4 -/* 01B518 7001A918 46266302 */ mul.d $f12, $f12, $f6 -/* 01B51C 7001A91C 00000000 */ nop -.L7001A920: -/* 01B520 7001A920 03E00008 */ jr $ra -/* 01B524 7001A924 46206006 */ mov.d $f0, $f12 - -glabel _frexpf -/* 01B528 7001A928 44801800 */ mtc1 $zero, $f3 -/* 01B52C 7001A92C 44801000 */ mtc1 $zero, $f2 -/* 01B530 7001A930 ACC00000 */ sw $zero, ($a2) -/* 01B534 7001A934 3C013FF0 */ lui $at, 0x3ff0 -/* 01B538 7001A938 46226032 */ c.eq.d $f12, $f2 -/* 01B53C 7001A93C 00000000 */ nop -/* 01B540 7001A940 45020004 */ bc1fl .L7001A954 -/* 01B544 7001A944 462C103C */ c.lt.d $f2, $f12 -/* 01B548 7001A948 03E00008 */ jr $ra -/* 01B54C 7001A94C 46206006 */ mov.d $f0, $f12 - -/* 01B550 7001A950 462C103C */ c.lt.d $f2, $f12 -.L7001A954: -/* 01B554 7001A954 44817800 */ mtc1 $at, $f15 -/* 01B558 7001A958 44807000 */ mtc1 $zero, $f14 -/* 01B55C 7001A95C 3C013FE0 */ lui $at, 0x3fe0 -/* 01B560 7001A960 45020004 */ bc1fl .L7001A974 -/* 01B564 7001A964 46206007 */ neg.d $f0, $f12 -/* 01B568 7001A968 10000002 */ b .L7001A974 -/* 01B56C 7001A96C 46206006 */ mov.d $f0, $f12 -/* 01B570 7001A970 46206007 */ neg.d $f0, $f12 -.L7001A974: -/* 01B574 7001A974 4620703E */ c.le.d $f14, $f0 -/* 01B578 7001A978 00000000 */ nop -/* 01B57C 7001A97C 4502000D */ bc1fl .L7001A9B4 -/* 01B580 7001A980 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 01B584 7001A984 44818800 */ mtc1 $at, $f17 -/* 01B588 7001A988 44808000 */ mtc1 $zero, $f16 -/* 01B58C 7001A98C 00000000 */ nop -.L7001A990: -/* 01B590 7001A990 46300002 */ mul.d $f0, $f0, $f16 -/* 01B594 7001A994 8CCE0000 */ lw $t6, ($a2) -/* 01B598 7001A998 25CF0001 */ addiu $t7, $t6, 1 -/* 01B59C 7001A99C ACCF0000 */ sw $t7, ($a2) -/* 01B5A0 7001A9A0 4620703E */ c.le.d $f14, $f0 -/* 01B5A4 7001A9A4 00000000 */ nop -/* 01B5A8 7001A9A8 4501FFF9 */ bc1t .L7001A990 -/* 01B5AC 7001A9AC 00000000 */ nop -/* 01B5B0 7001A9B0 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -.L7001A9B4: -/* 01B5B4 7001A9B4 44818800 */ mtc1 $at, $f17 -/* 01B5B8 7001A9B8 44808000 */ mtc1 $zero, $f16 -/* 01B5BC 7001A9BC 00000000 */ nop -/* 01B5C0 7001A9C0 4630003C */ c.lt.d $f0, $f16 -/* 01B5C4 7001A9C4 00000000 */ nop -/* 01B5C8 7001A9C8 45020009 */ bc1fl .L7001A9F0 -/* 01B5CC 7001A9CC 462C103C */ c.lt.d $f2, $f12 -/* 01B5D0 7001A9D0 46200000 */ add.d $f0, $f0, $f0 -.L7001A9D4: -/* 01B5D4 7001A9D4 8CD80000 */ lw $t8, ($a2) -/* 01B5D8 7001A9D8 4630003C */ c.lt.d $f0, $f16 -/* 01B5DC 7001A9DC 2719FFFF */ addiu $t9, $t8, -1 -/* 01B5E0 7001A9E0 ACD90000 */ sw $t9, ($a2) -/* 01B5E4 7001A9E4 4503FFFB */ bc1tl .L7001A9D4 -/* 01B5E8 7001A9E8 46200000 */ add.d $f0, $f0, $f0 -/* 01B5EC 7001A9EC 462C103C */ c.lt.d $f2, $f12 -.L7001A9F0: -/* 01B5F0 7001A9F0 00000000 */ nop -/* 01B5F4 7001A9F4 45020004 */ bc1fl .L7001AA08 -/* 01B5F8 7001A9F8 46200087 */ neg.d $f2, $f0 -/* 01B5FC 7001A9FC 10000002 */ b .L7001AA08 -/* 01B600 7001AA00 46200086 */ mov.d $f2, $f0 -/* 01B604 7001AA04 46200087 */ neg.d $f2, $f0 -.L7001AA08: -/* 01B608 7001AA08 46201006 */ mov.d $f0, $f2 -/* 01B60C 7001AA0C 03E00008 */ jr $ra -/* 01B610 7001AA10 00000000 */ nop - -glabel alEnvmixerParam -/* 01B614 7001AA14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01B618 7001AA18 24020001 */ li $v0, 1 -/* 01B61C 7001AA1C AFBF0014 */ sw $ra, 0x14($sp) -/* 01B620 7001AA20 10A20027 */ beq $a1, $v0, .L7001AAC0 -/* 01B624 7001AA24 00803825 */ move $a3, $a0 -/* 01B628 7001AA28 24010003 */ li $at, 3 -/* 01B62C 7001AA2C 10A10007 */ beq $a1, $at, .L7001AA4C -/* 01B630 7001AA30 24010004 */ li $at, 4 -/* 01B634 7001AA34 10A1000D */ beq $a1, $at, .L7001AA6C -/* 01B638 7001AA38 24010009 */ li $at, 9 -/* 01B63C 7001AA3C 50A10017 */ beql $a1, $at, .L7001AA9C -/* 01B640 7001AA40 8CE40000 */ lw $a0, ($a3) -/* 01B644 7001AA44 10000021 */ b .L7001AACC -/* 01B648 7001AA48 8CE40000 */ lw $a0, ($a3) -.L7001AA4C: -/* 01B64C 7001AA4C 8CE20040 */ lw $v0, 0x40($a3) -/* 01B650 7001AA50 50400004 */ beql $v0, $zero, .L7001AA64 -/* 01B654 7001AA54 ACE6003C */ sw $a2, 0x3c($a3) -/* 01B658 7001AA58 10000002 */ b .L7001AA64 -/* 01B65C 7001AA5C AC460000 */ sw $a2, ($v0) -/* 01B660 7001AA60 ACE6003C */ sw $a2, 0x3c($a3) -.L7001AA64: -/* 01B664 7001AA64 1000001E */ b .L7001AAE0 -/* 01B668 7001AA68 ACE60040 */ sw $a2, 0x40($a3) -.L7001AA6C: -/* 01B66C 7001AA6C 8CE40000 */ lw $a0, ($a3) -/* 01B670 7001AA70 ACE20038 */ sw $v0, 0x38($a3) -/* 01B674 7001AA74 ACE00048 */ sw $zero, 0x48($a3) -/* 01B678 7001AA78 10800019 */ beqz $a0, .L7001AAE0 -/* 01B67C 7001AA7C A4E2001A */ sh $v0, 0x1a($a3) -/* 01B680 7001AA80 8C990008 */ lw $t9, 8($a0) -/* 01B684 7001AA84 24050004 */ li $a1, 4 -/* 01B688 7001AA88 0320F809 */ jalr $t9 -/* 01B68C 7001AA8C 00000000 */ nop -/* 01B690 7001AA90 10000014 */ b .L7001AAE4 -/* 01B694 7001AA94 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B698 7001AA98 8CE40000 */ lw $a0, ($a3) -.L7001AA9C: -/* 01B69C 7001AA9C ACE20048 */ sw $v0, 0x48($a3) -/* 01B6A0 7001AAA0 50800010 */ beql $a0, $zero, .L7001AAE4 -/* 01B6A4 7001AAA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B6A8 7001AAA8 8C990008 */ lw $t9, 8($a0) -/* 01B6AC 7001AAAC 24050009 */ li $a1, 9 -/* 01B6B0 7001AAB0 0320F809 */ jalr $t9 -/* 01B6B4 7001AAB4 00000000 */ nop -/* 01B6B8 7001AAB8 1000000A */ b .L7001AAE4 -/* 01B6BC 7001AABC 8FBF0014 */ lw $ra, 0x14($sp) -.L7001AAC0: -/* 01B6C0 7001AAC0 10000007 */ b .L7001AAE0 -/* 01B6C4 7001AAC4 ACE60000 */ sw $a2, ($a3) -/* 01B6C8 7001AAC8 8CE40000 */ lw $a0, ($a3) -.L7001AACC: -/* 01B6CC 7001AACC 50800005 */ beql $a0, $zero, .L7001AAE4 -/* 01B6D0 7001AAD0 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B6D4 7001AAD4 8C990008 */ lw $t9, 8($a0) -/* 01B6D8 7001AAD8 0320F809 */ jalr $t9 -/* 01B6DC 7001AADC 00000000 */ nop -.L7001AAE0: -/* 01B6E0 7001AAE0 8FBF0014 */ lw $ra, 0x14($sp) -.L7001AAE4: -/* 01B6E4 7001AAE4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01B6E8 7001AAE8 00001025 */ move $v0, $zero -/* 01B6EC 7001AAEC 03E00008 */ jr $ra -/* 01B6F0 7001AAF0 00000000 */ nop - -glabel ultra_7001AAF4 -/* 01B6F4 7001AAF4 5480000C */ bnezl $a0, .L7001AB28 -/* 01B6F8 7001AAF8 44843000 */ mtc1 $a0, $f6 -/* 01B6FC 7001AAFC 460C703E */ c.le.s $f14, $f12 -/* 01B700 7001AB00 340EFFFF */ li $t6, 65535 -/* 01B704 7001AB04 24028000 */ li $v0, -32768 -/* 01B708 7001AB08 45000004 */ bc1f .L7001AB1C -/* 01B70C 7001AB0C 00000000 */ nop -/* 01B710 7001AB10 A4AE0000 */ sh $t6, ($a1) -/* 01B714 7001AB14 03E00008 */ jr $ra -/* 01B718 7001AB18 24027FFF */ li $v0, 32767 - -.L7001AB1C: -/* 01B71C 7001AB1C 03E00008 */ jr $ra -/* 01B720 7001AB20 A4A00000 */ sh $zero, ($a1) - -/* 01B724 7001AB24 44843000 */ mtc1 $a0, $f6 -.L7001AB28: -/* 01B728 7001AB28 460E6101 */ sub.s $f4, $f12, $f14 -/* 01B72C 7001AB2C 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 01B730 7001AB30 44812800 */ mtc1 $at, $f5 -/* 01B734 7001AB34 46803220 */ cvt.s.w $f8, $f6 -/* 01B738 7001AB38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01B73C 7001AB3C 46082283 */ div.s $f10, $f4, $f8 -/* 01B740 7001AB40 44802000 */ mtc1 $zero, $f4 -/* 01B744 7001AB44 460051A1 */ cvt.d.s $f6, $f10 -/* 01B748 7001AB48 44805000 */ mtc1 $zero, $f10 -/* 01B74C 7001AB4C 46243202 */ mul.d $f8, $f6, $f4 -/* 01B750 7001AB50 462040A0 */ cvt.s.d $f2, $f8 -/* 01B754 7001AB54 460A103C */ c.lt.s $f2, $f10 -/* 01B758 7001AB58 46001006 */ mov.s $f0, $f2 -/* 01B75C 7001AB5C 45020005 */ bc1fl .L7001AB74 -/* 01B760 7001AB60 4600010D */ trunc.w.s $f4, $f0 -/* 01B764 7001AB64 44813000 */ mtc1 $at, $f6 -/* 01B768 7001AB68 00000000 */ nop -/* 01B76C 7001AB6C 46061001 */ sub.s $f0, $f2, $f6 -/* 01B770 7001AB70 4600010D */ trunc.w.s $f4, $f0 -.L7001AB74: -/* 01B774 7001AB74 3C018003 */ lui $at, %hi(F32_80029964) # $at, 0x8003 -/* 01B778 7001AB78 44032000 */ mfc1 $v1, $f4 -/* 01B77C 7001AB7C C4249964 */ lwc1 $f4, %lo(F32_80029964)($at) -/* 01B780 7001AB80 0003C400 */ sll $t8, $v1, 0x10 -/* 01B784 7001AB84 00181403 */ sra $v0, $t8, 0x10 -/* 01B788 7001AB88 44824000 */ mtc1 $v0, $f8 -/* 01B78C 7001AB8C 00000000 */ nop -/* 01B790 7001AB90 468042A0 */ cvt.s.w $f10, $f8 -/* 01B794 7001AB94 460A0181 */ sub.s $f6, $f0, $f10 -/* 01B798 7001AB98 46043202 */ mul.s $f8, $f6, $f4 -/* 01B79C 7001AB9C 4600428D */ trunc.w.s $f10, $f8 -/* 01B7A0 7001ABA0 440F5000 */ mfc1 $t7, $f10 -/* 01B7A4 7001ABA4 00000000 */ nop -/* 01B7A8 7001ABA8 A4AF0000 */ sh $t7, ($a1) -/* 01B7AC 7001ABAC 03E00008 */ jr $ra -/* 01B7B0 7001ABB0 00000000 */ nop - -glabel ultra_7001ABB4 -/* 01B7B4 7001ABB4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01B7B8 7001ABB8 AFBF001C */ sw $ra, 0x1c($sp) -/* 01B7BC 7001ABBC 16400003 */ bnez $s2, .L7001ABCC -/* 01B7C0 7001ABC0 8E110000 */ lw $s1, ($s0) -/* 01B7C4 7001ABC4 1000009F */ b .L7001AE44 -/* 01B7C8 7001ABC8 02801025 */ move $v0, $s4 -.L7001ABCC: -/* 01B7CC 7001ABCC 16200008 */ bnez $s1, .L7001ABF0 -/* 01B7D0 7001ABD0 3C048003 */ lui $a0, %hi(aAssertionFaultSSLineD_1) # $a0, 0x8003 -/* 01B7D4 7001ABD4 3C058003 */ lui $a1, %hi(aSource) # $a1, 0x8003 -/* 01B7D8 7001ABD8 3C068003 */ lui $a2, %hi(aEnv_c_1) # $a2, 0x8003 -/* 01B7DC 7001ABDC 24C6995C */ addiu $a2, %lo(aEnv_c_1) # addiu $a2, $a2, -0x66a4 -/* 01B7E0 7001ABE0 24A59954 */ addiu $a1, %lo(aSource) # addiu $a1, $a1, -0x66ac -/* 01B7E4 7001ABE4 24849928 */ addiu $a0, %lo(aAssertionFaultSSLineD_1) # addiu $a0, $a0, -0x66d8 -/* 01B7E8 7001ABE8 0C0033D1 */ jal osSyncPrintf -/* 01B7EC 7001ABEC 24070175 */ li $a3, 373 -.L7001ABF0: -/* 01B7F0 7001ABF0 AFB40010 */ sw $s4, 0x10($sp) -/* 01B7F4 7001ABF4 8E390004 */ lw $t9, 4($s1) -/* 01B7F8 7001ABF8 02202025 */ move $a0, $s1 -/* 01B7FC 7001ABFC 02A02825 */ move $a1, $s5 -/* 01B800 7001AC00 02403025 */ move $a2, $s2 -/* 01B804 7001AC04 0320F809 */ jalr $t9 -/* 01B808 7001AC08 02C03825 */ move $a3, $s6 -/* 01B80C 7001AC0C 86AE0000 */ lh $t6, ($s5) -/* 01B810 7001AC10 3C010800 */ lui $at, 0x800 -/* 01B814 7001AC14 0012A040 */ sll $s4, $s2, 1 -/* 01B818 7001AC18 31CFFFFF */ andi $t7, $t6, 0xffff -/* 01B81C 7001AC1C 01E1C025 */ or $t8, $t7, $at -/* 01B820 7001AC20 AC580000 */ sw $t8, ($v0) -/* 01B824 7001AC24 86790000 */ lh $t9, ($s3) -/* 01B828 7001AC28 3C010808 */ lui $at, 0x808 -/* 01B82C 7001AC2C 24510010 */ addiu $s1, $v0, 0x10 -/* 01B830 7001AC30 272F0440 */ addiu $t7, $t9, 0x440 -/* 01B834 7001AC34 000FC400 */ sll $t8, $t7, 0x10 -/* 01B838 7001AC38 3299FFFF */ andi $t9, $s4, 0xffff -/* 01B83C 7001AC3C 03197025 */ or $t6, $t8, $t9 -/* 01B840 7001AC40 AC4E0004 */ sw $t6, 4($v0) -/* 01B844 7001AC44 866F0000 */ lh $t7, ($s3) -/* 01B848 7001AC48 02209025 */ move $s2, $s1 -/* 01B84C 7001AC4C 25F80580 */ addiu $t8, $t7, 0x580 -/* 01B850 7001AC50 3319FFFF */ andi $t9, $t8, 0xffff -/* 01B854 7001AC54 03217025 */ or $t6, $t9, $at -/* 01B858 7001AC58 AC4E0008 */ sw $t6, 8($v0) -/* 01B85C 7001AC5C 86630000 */ lh $v1, ($s3) -/* 01B860 7001AC60 246F0800 */ addiu $t7, $v1, 0x800 -/* 01B864 7001AC64 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01B868 7001AC68 246E06C0 */ addiu $t6, $v1, 0x6c0 -/* 01B86C 7001AC6C 000E7C00 */ sll $t7, $t6, 0x10 -/* 01B870 7001AC70 030FC825 */ or $t9, $t8, $t7 -/* 01B874 7001AC74 AC59000C */ sw $t9, 0xc($v0) -/* 01B878 7001AC78 8E0E0038 */ lw $t6, 0x38($s0) -/* 01B87C 7001AC7C 3C198003 */ lui $t9, 0x8003 -/* 01B880 7001AC80 51C00067 */ beql $t6, $zero, .L7001AE20 -/* 01B884 7001AC84 3C0E0308 */ lui $t6, 0x308 -/* 01B888 7001AC88 86180018 */ lh $t8, 0x18($s0) -/* 01B88C 7001AC8C AE000038 */ sw $zero, 0x38($s0) -/* 01B890 7001AC90 860E001A */ lh $t6, 0x1a($s0) -/* 01B894 7001AC94 00187840 */ sll $t7, $t8, 1 -/* 01B898 7001AC98 032FC821 */ addu $t9, $t9, $t7 -/* 01B89C 7001AC9C 873981E0 */ lh $t9, -0x7e20($t9) -/* 01B8A0 7001ACA0 8E040034 */ lw $a0, 0x34($s0) -/* 01B8A4 7001ACA4 26050024 */ addiu $a1, $s0, 0x24 -/* 01B8A8 7001ACA8 032E0019 */ multu $t9, $t6 -/* 01B8AC 7001ACAC 8619001C */ lh $t9, 0x1c($s0) -/* 01B8B0 7001ACB0 44992000 */ mtc1 $t9, $f4 -/* 01B8B4 7001ACB4 00000000 */ nop -/* 01B8B8 7001ACB8 468023A0 */ cvt.s.w $f14, $f4 -/* 01B8BC 7001ACBC 0000C012 */ mflo $t8 -/* 01B8C0 7001ACC0 00187BC3 */ sra $t7, $t8, 0xf -/* 01B8C4 7001ACC4 A60F0028 */ sh $t7, 0x28($s0) -/* 01B8C8 7001ACC8 860E0028 */ lh $t6, 0x28($s0) -/* 01B8CC 7001ACCC 448E3000 */ mtc1 $t6, $f6 -/* 01B8D0 7001ACD0 0C006ABD */ jal ultra_7001AAF4 -/* 01B8D4 7001ACD4 46803320 */ cvt.s.w $f12, $f6 -/* 01B8D8 7001ACD8 86180018 */ lh $t8, 0x18($s0) -/* 01B8DC 7001ACDC 3C0E8003 */ lui $t6, 0x8003 -/* 01B8E0 7001ACE0 A6020026 */ sh $v0, 0x26($s0) -/* 01B8E4 7001ACE4 00187840 */ sll $t7, $t8, 1 -/* 01B8E8 7001ACE8 000FC823 */ negu $t9, $t7 -/* 01B8EC 7001ACEC 01D97021 */ addu $t6, $t6, $t9 -/* 01B8F0 7001ACF0 85CE82DE */ lh $t6, -0x7d22($t6) -/* 01B8F4 7001ACF4 8618001A */ lh $t8, 0x1a($s0) -/* 01B8F8 7001ACF8 8E040034 */ lw $a0, 0x34($s0) -/* 01B8FC 7001ACFC 2605002A */ addiu $a1, $s0, 0x2a -/* 01B900 7001AD00 01D80019 */ multu $t6, $t8 -/* 01B904 7001AD04 860E001E */ lh $t6, 0x1e($s0) -/* 01B908 7001AD08 448E4000 */ mtc1 $t6, $f8 -/* 01B90C 7001AD0C 00000000 */ nop -/* 01B910 7001AD10 468043A0 */ cvt.s.w $f14, $f8 -/* 01B914 7001AD14 00007812 */ mflo $t7 -/* 01B918 7001AD18 000FCBC3 */ sra $t9, $t7, 0xf -/* 01B91C 7001AD1C A619002E */ sh $t9, 0x2e($s0) -/* 01B920 7001AD20 8618002E */ lh $t8, 0x2e($s0) -/* 01B924 7001AD24 44985000 */ mtc1 $t8, $f10 -/* 01B928 7001AD28 0C006ABD */ jal ultra_7001AAF4 -/* 01B92C 7001AD2C 46805320 */ cvt.s.w $f12, $f10 -/* 01B930 7001AD30 860F001C */ lh $t7, 0x1c($s0) -/* 01B934 7001AD34 A602002C */ sh $v0, 0x2c($s0) -/* 01B938 7001AD38 02201825 */ move $v1, $s1 -/* 01B93C 7001AD3C 3C010906 */ lui $at, 0x906 -/* 01B940 7001AD40 31F9FFFF */ andi $t9, $t7, 0xffff -/* 01B944 7001AD44 03217025 */ or $t6, $t9, $at -/* 01B948 7001AD48 AC6E0000 */ sw $t6, ($v1) -/* 01B94C 7001AD4C AC600004 */ sw $zero, 4($v1) -/* 01B950 7001AD50 8618001E */ lh $t8, 0x1e($s0) -/* 01B954 7001AD54 26310008 */ addiu $s1, $s1, 8 -/* 01B958 7001AD58 02202025 */ move $a0, $s1 -/* 01B95C 7001AD5C 3C010904 */ lui $at, 0x904 -/* 01B960 7001AD60 330FFFFF */ andi $t7, $t8, 0xffff -/* 01B964 7001AD64 01E1C825 */ or $t9, $t7, $at -/* 01B968 7001AD68 AC990000 */ sw $t9, ($a0) -/* 01B96C 7001AD6C AC800004 */ sw $zero, 4($a0) -/* 01B970 7001AD70 860E0028 */ lh $t6, 0x28($s0) -/* 01B974 7001AD74 26310008 */ addiu $s1, $s1, 8 -/* 01B978 7001AD78 3C010902 */ lui $at, 0x902 -/* 01B97C 7001AD7C 31D8FFFF */ andi $t8, $t6, 0xffff -/* 01B980 7001AD80 03017825 */ or $t7, $t8, $at -/* 01B984 7001AD84 02202825 */ move $a1, $s1 -/* 01B988 7001AD88 ACAF0000 */ sw $t7, ($a1) -/* 01B98C 7001AD8C 860E0026 */ lh $t6, 0x26($s0) -/* 01B990 7001AD90 96190024 */ lhu $t9, 0x24($s0) -/* 01B994 7001AD94 26310008 */ addiu $s1, $s1, 8 -/* 01B998 7001AD98 000EC400 */ sll $t8, $t6, 0x10 -/* 01B99C 7001AD9C 03197025 */ or $t6, $t8, $t9 -/* 01B9A0 7001ADA0 ACAE0004 */ sw $t6, 4($a1) -/* 01B9A4 7001ADA4 860F002E */ lh $t7, 0x2e($s0) -/* 01B9A8 7001ADA8 3C010900 */ lui $at, 0x900 -/* 01B9AC 7001ADAC 02203025 */ move $a2, $s1 -/* 01B9B0 7001ADB0 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01B9B4 7001ADB4 0301C825 */ or $t9, $t8, $at -/* 01B9B8 7001ADB8 ACD90000 */ sw $t9, ($a2) -/* 01B9BC 7001ADBC 860F002C */ lh $t7, 0x2c($s0) -/* 01B9C0 7001ADC0 960E002A */ lhu $t6, 0x2a($s0) -/* 01B9C4 7001ADC4 26310008 */ addiu $s1, $s1, 8 -/* 01B9C8 7001ADC8 000FC400 */ sll $t8, $t7, 0x10 -/* 01B9CC 7001ADCC 030E7825 */ or $t7, $t8, $t6 -/* 01B9D0 7001ADD0 ACCF0004 */ sw $t7, 4($a2) -/* 01B9D4 7001ADD4 86190020 */ lh $t9, 0x20($s0) -/* 01B9D8 7001ADD8 3C010908 */ lui $at, 0x908 -/* 01B9DC 7001ADDC 02201025 */ move $v0, $s1 -/* 01B9E0 7001ADE0 3338FFFF */ andi $t8, $t9, 0xffff -/* 01B9E4 7001ADE4 03017025 */ or $t6, $t8, $at -/* 01B9E8 7001ADE8 AC4E0000 */ sw $t6, ($v0) -/* 01B9EC 7001ADEC 860F0022 */ lh $t7, 0x22($s0) -/* 01B9F0 7001ADF0 26310008 */ addiu $s1, $s1, 8 -/* 01B9F4 7001ADF4 02209025 */ move $s2, $s1 -/* 01B9F8 7001ADF8 31F9FFFF */ andi $t9, $t7, 0xffff -/* 01B9FC 7001ADFC AC590004 */ sw $t9, 4($v0) -/* 01BA00 7001AE00 3C180309 */ lui $t8, 0x309 -/* 01BA04 7001AE04 AE580000 */ sw $t8, ($s2) -/* 01BA08 7001AE08 8E040014 */ lw $a0, 0x14($s0) -/* 01BA0C 7001AE0C 0C003A2C */ jal osVirtualToPhysical -/* 01BA10 7001AE10 26310008 */ addiu $s1, $s1, 8 -/* 01BA14 7001AE14 10000007 */ b .L7001AE34 -/* 01BA18 7001AE18 AE420004 */ sw $v0, 4($s2) -/* 01BA1C 7001AE1C 3C0E0308 */ lui $t6, 0x308 -.L7001AE20: -/* 01BA20 7001AE20 AE4E0000 */ sw $t6, ($s2) -/* 01BA24 7001AE24 8E040014 */ lw $a0, 0x14($s0) -/* 01BA28 7001AE28 0C003A2C */ jal osVirtualToPhysical -/* 01BA2C 7001AE2C 26310008 */ addiu $s1, $s1, 8 -/* 01BA30 7001AE30 AE420004 */ sw $v0, 4($s2) -.L7001AE34: -/* 01BA34 7001AE34 86AF0000 */ lh $t7, ($s5) -/* 01BA38 7001AE38 02201025 */ move $v0, $s1 -/* 01BA3C 7001AE3C 01F4C821 */ addu $t9, $t7, $s4 -/* 01BA40 7001AE40 A6B90000 */ sh $t9, ($s5) -.L7001AE44: -/* 01BA44 7001AE44 8FBF001C */ lw $ra, 0x1c($sp) -/* 01BA48 7001AE48 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01BA4C 7001AE4C 03E00008 */ jr $ra -/* 01BA50 7001AE50 00000000 */ nop - -/* 01BA54 7001AE54 03E00008 */ jr $ra -/* 01BA58 7001AE58 00000000 */ nop - -glabel alEnvmixerPull -/* 01BA5C 7001AE5C 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 01BA60 7001AE60 8FAE00E8 */ lw $t6, 0xe8($sp) -/* 01BA64 7001AE64 AFBF0054 */ sw $ra, 0x54($sp) -/* 01BA68 7001AE68 AFBE0050 */ sw $fp, 0x50($sp) -/* 01BA6C 7001AE6C AFB7004C */ sw $s7, 0x4c($sp) -/* 01BA70 7001AE70 AFB60048 */ sw $s6, 0x48($sp) -/* 01BA74 7001AE74 AFB50044 */ sw $s5, 0x44($sp) -/* 01BA78 7001AE78 AFB40040 */ sw $s4, 0x40($sp) -/* 01BA7C 7001AE7C AFB3003C */ sw $s3, 0x3c($sp) -/* 01BA80 7001AE80 AFB20038 */ sw $s2, 0x38($sp) -/* 01BA84 7001AE84 AFB10034 */ sw $s1, 0x34($sp) -/* 01BA88 7001AE88 AFB00030 */ sw $s0, 0x30($sp) -/* 01BA8C 7001AE8C F7B60028 */ sdc1 $f22, 0x28($sp) -/* 01BA90 7001AE90 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 01BA94 7001AE94 AFA500DC */ sw $a1, 0xdc($sp) -/* 01BA98 7001AE98 AFA600E0 */ sw $a2, 0xe0($sp) -/* 01BA9C 7001AE9C AFA700E4 */ sw $a3, 0xe4($sp) -/* 01BAA0 7001AEA0 AFA400D0 */ sw $a0, 0xd0($sp) -/* 01BAA4 7001AEA4 AFA700C4 */ sw $a3, 0xc4($sp) -/* 01BAA8 7001AEA8 A7A000BE */ sh $zero, 0xbe($sp) -/* 01BAAC 7001AEAC A7A000CE */ sh $zero, 0xce($sp) -/* 01BAB0 7001AEB0 AFAE00D4 */ sw $t6, 0xd4($sp) -/* 01BAB4 7001AEB4 8C98003C */ lw $t8, 0x3c($a0) -/* 01BAB8 7001AEB8 0080B825 */ move $s7, $a0 -/* 01BABC 7001AEBC 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 01BAC0 7001AEC0 53000162 */ beql $t8, $zero, .L7001B44C -/* 01BAC4 7001AEC4 8EEE0048 */ lw $t6, 0x48($s7) -/* 01BAC8 7001AEC8 4481B800 */ mtc1 $at, $f23 -/* 01BACC 7001AECC 3C0140F0 */ li $at, 0x40F00000 # 7.500000 -/* 01BAD0 7001AED0 4481A800 */ mtc1 $at, $f21 -/* 01BAD4 7001AED4 4480B000 */ mtc1 $zero, $f22 -/* 01BAD8 7001AED8 4480A000 */ mtc1 $zero, $f20 -/* 01BADC 7001AEDC 24110001 */ li $s1, 1 -/* 01BAE0 7001AEE0 8EF9003C */ lw $t9, 0x3c($s7) -.L7001AEE4: -/* 01BAE4 7001AEE4 8FA200C4 */ lw $v0, 0xc4($sp) -/* 01BAE8 7001AEE8 8FB800E0 */ lw $t8, 0xe0($sp) -/* 01BAEC 7001AEEC 8F2E0004 */ lw $t6, 4($t9) -/* 01BAF0 7001AEF0 3C048003 */ lui $a0, %hi(aAssertionFaultSSLineD) # $a0, 0x8003 -/* 01BAF4 7001AEF4 24849890 */ addiu $a0, %lo(aAssertionFaultSSLineD) # addiu $a0, $a0, -0x6770 -/* 01BAF8 7001AEF8 01C2F023 */ subu $fp, $t6, $v0 -/* 01BAFC 7001AEFC 031E082A */ slt $at, $t8, $fp -/* 01BB00 7001AF00 14200151 */ bnez $at, .L7001B448 -/* 01BB04 7001AF04 AFAE00C4 */ sw $t6, 0xc4($sp) -/* 01BB08 7001AF08 07C10006 */ bgez $fp, .L7001AF24 -/* 01BB0C 7001AF0C 3C058003 */ lui $a1, %hi(aSamples0) # $a1, 0x8003 -/* 01BB10 7001AF10 3C068003 */ lui $a2, %hi(aEnv_c) # $a2, 0x8003 -/* 01BB14 7001AF14 24C698CC */ addiu $a2, %lo(aEnv_c) # addiu $a2, $a2, -0x6734 -/* 01BB18 7001AF18 24A598BC */ addiu $a1, %lo(aSamples0) # addiu $a1, $a1, -0x6744 -/* 01BB1C 7001AF1C 0C0033D1 */ jal osSyncPrintf -/* 01BB20 7001AF20 24070068 */ li $a3, 104 -.L7001AF24: -/* 01BB24 7001AF24 2BC100A1 */ slti $at, $fp, 0xa1 -/* 01BB28 7001AF28 14200008 */ bnez $at, .L7001AF4C -/* 01BB2C 7001AF2C 3C048003 */ lui $a0, %hi(aAssertionFaultSSLineD_0) # $a0, 0x8003 -/* 01BB30 7001AF30 3C058003 */ lui $a1, %hi(aSamplesAl_max_rsp_samples) # $a1, 0x8003 -/* 01BB34 7001AF34 3C068003 */ lui $a2, %hi(aEnv_c_0) # $a2, 0x8003 -/* 01BB38 7001AF38 24C69920 */ addiu $a2, %lo(aEnv_c_0) # addiu $a2, $a2, -0x66e0 -/* 01BB3C 7001AF3C 24A59900 */ addiu $a1, %lo(aSamplesAl_max_rsp_samples) # addiu $a1, $a1, -0x6700 -/* 01BB40 7001AF40 248498D4 */ addiu $a0, %lo(aAssertionFaultSSLineD_0) # addiu $a0, $a0, -0x672c -/* 01BB44 7001AF44 0C0033D1 */ jal osSyncPrintf -/* 01BB48 7001AF48 24070069 */ li $a3, 105 -.L7001AF4C: -/* 01BB4C 7001AF4C 8EE3003C */ lw $v1, 0x3c($s7) -/* 01BB50 7001AF50 94790008 */ lhu $t9, 8($v1) -/* 01BB54 7001AF54 2F210011 */ sltiu $at, $t9, 0x11 -/* 01BB58 7001AF58 10200117 */ beqz $at, .L7001B3B8 -/* 01BB5C 7001AF5C 0019C880 */ sll $t9, $t9, 2 -/* 01BB60 7001AF60 3C018003 */ lui $at, 0x8003 -/* 01BB64 7001AF64 00390821 */ addu $at, $at, $t9 -/* 01BB68 7001AF68 8C399968 */ lw $t9, -0x6698($at) -/* 01BB6C 7001AF6C 03200008 */ jr $t9 -/* 01BB70 7001AF70 00000000 */ nop -.L7001AF74: -/* 01BB74 7001AF74 846E000A */ lh $t6, 0xa($v1) -/* 01BB78 7001AF78 00608025 */ move $s0, $v1 -/* 01BB7C 7001AF7C 51C00007 */ beql $t6, $zero, .L7001AF9C -/* 01BB80 7001AF80 8EF90008 */ lw $t9, 8($s7) -/* 01BB84 7001AF84 8EF90008 */ lw $t9, 8($s7) -/* 01BB88 7001AF88 02E02025 */ move $a0, $s7 -/* 01BB8C 7001AF8C 24050008 */ li $a1, 8 -/* 01BB90 7001AF90 0320F809 */ jalr $t9 -/* 01BB94 7001AF94 00003025 */ move $a2, $zero -/* 01BB98 7001AF98 8EF90008 */ lw $t9, 8($s7) -.L7001AF9C: -/* 01BB9C 7001AF9C 02E02025 */ move $a0, $s7 -/* 01BBA0 7001AFA0 24050005 */ li $a1, 5 -/* 01BBA4 7001AFA4 0320F809 */ jalr $t9 -/* 01BBA8 7001AFA8 8E060018 */ lw $a2, 0x18($s0) -/* 01BBAC 7001AFAC 8EF90008 */ lw $t9, 8($s7) -/* 01BBB0 7001AFB0 02E02025 */ move $a0, $s7 -/* 01BBB4 7001AFB4 24050009 */ li $a1, 9 -/* 01BBB8 7001AFB8 0320F809 */ jalr $t9 -/* 01BBBC 7001AFBC 00003025 */ move $a2, $zero -/* 01BBC0 7001AFC0 AEF10038 */ sw $s1, 0x38($s7) -/* 01BBC4 7001AFC4 AEE00030 */ sw $zero, 0x30($s7) -/* 01BBC8 7001AFC8 8E0F0014 */ lw $t7, 0x14($s0) -/* 01BBCC 7001AFCC AEEF0034 */ sw $t7, 0x34($s7) -/* 01BBD0 7001AFD0 86030010 */ lh $v1, 0x10($s0) -/* 01BBD4 7001AFD4 00630019 */ multu $v1, $v1 -/* 01BBD8 7001AFD8 00002012 */ mflo $a0 -/* 01BBDC 7001AFDC 0004C3C3 */ sra $t8, $a0, 0xf -/* 01BBE0 7001AFE0 A6F8001A */ sh $t8, 0x1a($s7) -/* 01BBE4 7001AFE4 920E0012 */ lbu $t6, 0x12($s0) -/* 01BBE8 7001AFE8 3C188003 */ lui $t8, 0x8003 -/* 01BBEC 7001AFEC A6EE0018 */ sh $t6, 0x18($s7) -/* 01BBF0 7001AFF0 92190013 */ lbu $t9, 0x13($s0) -/* 01BBF4 7001AFF4 00197840 */ sll $t7, $t9, 1 -/* 01BBF8 7001AFF8 030FC021 */ addu $t8, $t8, $t7 -/* 01BBFC 7001AFFC 871881E0 */ lh $t8, -0x7e20($t8) -/* 01BC00 7001B000 A6F80020 */ sh $t8, 0x20($s7) -/* 01BC04 7001B004 920E0013 */ lbu $t6, 0x13($s0) -/* 01BC08 7001B008 3C188003 */ lui $t8, 0x8003 -/* 01BC0C 7001B00C 000EC840 */ sll $t9, $t6, 1 -/* 01BC10 7001B010 00197823 */ negu $t7, $t9 -/* 01BC14 7001B014 030FC021 */ addu $t8, $t8, $t7 -/* 01BC18 7001B018 871882DE */ lh $t8, -0x7d22($t8) -/* 01BC1C 7001B01C A6F80022 */ sh $t8, 0x22($s7) -/* 01BC20 7001B020 8E0E0014 */ lw $t6, 0x14($s0) -/* 01BC24 7001B024 51C00005 */ beql $t6, $zero, .L7001B03C -/* 01BC28 7001B028 86E20018 */ lh $v0, 0x18($s7) -/* 01BC2C 7001B02C A6F1001C */ sh $s1, 0x1c($s7) -/* 01BC30 7001B030 10000013 */ b .L7001B080 -/* 01BC34 7001B034 A6F1001E */ sh $s1, 0x1e($s7) -/* 01BC38 7001B038 86E20018 */ lh $v0, 0x18($s7) -.L7001B03C: -/* 01BC3C 7001B03C 3C0F8003 */ lui $t7, 0x8003 -/* 01BC40 7001B040 86E3001A */ lh $v1, 0x1a($s7) -/* 01BC44 7001B044 0002C840 */ sll $t9, $v0, 1 -/* 01BC48 7001B048 01F97821 */ addu $t7, $t7, $t9 -/* 01BC4C 7001B04C 85EF81E0 */ lh $t7, -0x7e20($t7) -/* 01BC50 7001B050 0019C823 */ negu $t9, $t9 -/* 01BC54 7001B054 01E30019 */ multu $t7, $v1 -/* 01BC58 7001B058 3C0F8003 */ lui $t7, 0x8003 -/* 01BC5C 7001B05C 01F97821 */ addu $t7, $t7, $t9 -/* 01BC60 7001B060 0000C012 */ mflo $t8 -/* 01BC64 7001B064 001873C3 */ sra $t6, $t8, 0xf -/* 01BC68 7001B068 A6EE001C */ sh $t6, 0x1c($s7) -/* 01BC6C 7001B06C 85EF82DE */ lh $t7, -0x7d22($t7) -/* 01BC70 7001B070 01E30019 */ multu $t7, $v1 -/* 01BC74 7001B074 0000C012 */ mflo $t8 -/* 01BC78 7001B078 001873C3 */ sra $t6, $t8, 0xf -/* 01BC7C 7001B07C A6EE001E */ sh $t6, 0x1e($s7) -.L7001B080: -/* 01BC80 7001B080 8EF90000 */ lw $t9, ($s7) -/* 01BC84 7001B084 532000DF */ beql $t9, $zero, .L7001B404 -/* 01BC88 7001B088 87B800BE */ lh $t8, 0xbe($sp) -/* 01BC8C 7001B08C C604000C */ lwc1 $f4, 0xc($s0) -/* 01BC90 7001B090 24050007 */ li $a1, 7 -/* 01BC94 7001B094 E7A400A4 */ swc1 $f4, 0xa4($sp) -/* 01BC98 7001B098 8EE40000 */ lw $a0, ($s7) -/* 01BC9C 7001B09C 8FA600A4 */ lw $a2, 0xa4($sp) -/* 01BCA0 7001B0A0 8C990008 */ lw $t9, 8($a0) -/* 01BCA4 7001B0A4 0320F809 */ jalr $t9 -/* 01BCA8 7001B0A8 00000000 */ nop -/* 01BCAC 7001B0AC 100000D5 */ b .L7001B404 -/* 01BCB0 7001B0B0 87B800BE */ lh $t8, 0xbe($sp) -.L7001B0B4: -/* 01BCB4 7001B0B4 02E08025 */ move $s0, $s7 -/* 01BCB8 7001B0B8 27B500CE */ addiu $s5, $sp, 0xce -/* 01BCBC 7001B0BC 27B300BE */ addiu $s3, $sp, 0xbe -/* 01BCC0 7001B0C0 03C09025 */ move $s2, $fp -/* 01BCC4 7001B0C4 8FB600E4 */ lw $s6, 0xe4($sp) -/* 01BCC8 7001B0C8 0C006AED */ jal ultra_7001ABB4 -/* 01BCCC 7001B0CC 8FB400D4 */ lw $s4, 0xd4($sp) -/* 01BCD0 7001B0D0 AFA200D4 */ sw $v0, 0xd4($sp) -/* 01BCD4 7001B0D4 8EEF0030 */ lw $t7, 0x30($s7) -/* 01BCD8 7001B0D8 8EE40034 */ lw $a0, 0x34($s7) -/* 01BCDC 7001B0DC 24110001 */ li $s1, 1 -/* 01BCE0 7001B0E0 01FE2821 */ addu $a1, $t7, $fp -/* 01BCE4 7001B0E4 00A4082A */ slt $at, $a1, $a0 -/* 01BCE8 7001B0E8 14200019 */ bnez $at, .L7001B150 -/* 01BCEC 7001B0EC AEE50030 */ sw $a1, 0x30($s7) -/* 01BCF0 7001B0F0 86E20018 */ lh $v0, 0x18($s7) -/* 01BCF4 7001B0F4 3C198003 */ lui $t9, 0x8003 -/* 01BCF8 7001B0F8 86E3001A */ lh $v1, 0x1a($s7) -/* 01BCFC 7001B0FC 00027040 */ sll $t6, $v0, 1 -/* 01BD00 7001B100 032EC821 */ addu $t9, $t9, $t6 -/* 01BD04 7001B104 873981E0 */ lh $t9, -0x7e20($t9) -/* 01BD08 7001B108 000E7023 */ negu $t6, $t6 -/* 01BD0C 7001B10C 03230019 */ multu $t9, $v1 -/* 01BD10 7001B110 3C198003 */ lui $t9, 0x8003 -/* 01BD14 7001B114 032EC821 */ addu $t9, $t9, $t6 -/* 01BD18 7001B118 00007812 */ mflo $t7 -/* 01BD1C 7001B11C 000FC3C3 */ sra $t8, $t7, 0xf -/* 01BD20 7001B120 A6F80028 */ sh $t8, 0x28($s7) -/* 01BD24 7001B124 873982DE */ lh $t9, -0x7d22($t9) -/* 01BD28 7001B128 86EE0028 */ lh $t6, 0x28($s7) -/* 01BD2C 7001B12C AEE40030 */ sw $a0, 0x30($s7) -/* 01BD30 7001B130 03230019 */ multu $t9, $v1 -/* 01BD34 7001B134 A6EE001C */ sh $t6, 0x1c($s7) -/* 01BD38 7001B138 00007812 */ mflo $t7 -/* 01BD3C 7001B13C 000FC3C3 */ sra $t8, $t7, 0xf -/* 01BD40 7001B140 A6F8002E */ sh $t8, 0x2e($s7) -/* 01BD44 7001B144 86F9002E */ lh $t9, 0x2e($s7) -/* 01BD48 7001B148 10000040 */ b .L7001B24C -/* 01BD4C 7001B14C A6F9001E */ sh $t9, 0x1e($s7) -.L7001B150: -/* 01BD50 7001B150 86EF001C */ lh $t7, 0x1c($s7) -/* 01BD54 7001B154 86E30026 */ lh $v1, 0x26($s7) -/* 01BD58 7001B158 96E40024 */ lhu $a0, 0x24($s7) -/* 01BD5C 7001B15C 448F3000 */ mtc1 $t7, $f6 -/* 01BD60 7001B160 0003C400 */ sll $t8, $v1, 0x10 -/* 01BD64 7001B164 44984000 */ mtc1 $t8, $f8 -/* 01BD68 7001B168 44842000 */ mtc1 $a0, $f4 -/* 01BD6C 7001B16C 46803320 */ cvt.s.w $f12, $f6 -/* 01BD70 7001B170 00A01025 */ move $v0, $a1 -/* 01BD74 7001B174 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 01BD78 7001B178 468042A0 */ cvt.s.w $f10, $f8 -/* 01BD7C 7001B17C 04810004 */ bgez $a0, .L7001B190 -/* 01BD80 7001B180 468021A0 */ cvt.s.w $f6, $f4 -/* 01BD84 7001B184 44814000 */ mtc1 $at, $f8 -/* 01BD88 7001B188 00000000 */ nop -/* 01BD8C 7001B18C 46083180 */ add.s $f6, $f6, $f8 -.L7001B190: -/* 01BD90 7001B190 46065100 */ add.s $f4, $f10, $f6 -/* 01BD94 7001B194 86EF001E */ lh $t7, 0x1e($s7) -/* 01BD98 7001B198 86E3002C */ lh $v1, 0x2c($s7) -/* 01BD9C 7001B19C 96E4002A */ lhu $a0, 0x2a($s7) -/* 01BDA0 7001B1A0 46002221 */ cvt.d.s $f8, $f4 -/* 01BDA4 7001B1A4 44822000 */ mtc1 $v0, $f4 -/* 01BDA8 7001B1A8 46344283 */ div.d $f10, $f8, $f20 -/* 01BDAC 7001B1AC 0003C400 */ sll $t8, $v1, 0x10 -/* 01BDB0 7001B1B0 00A01025 */ move $v0, $a1 -/* 01BDB4 7001B1B4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 01BDB8 7001B1B8 46802220 */ cvt.s.w $f8, $f4 -/* 01BDBC 7001B1BC 462051A0 */ cvt.s.d $f6, $f10 -/* 01BDC0 7001B1C0 46083282 */ mul.s $f10, $f6, $f8 -/* 01BDC4 7001B1C4 46006221 */ cvt.d.s $f8, $f12 -/* 01BDC8 7001B1C8 46005121 */ cvt.d.s $f4, $f10 -/* 01BDCC 7001B1CC 46362182 */ mul.d $f6, $f4, $f22 -/* 01BDD0 7001B1D0 46264280 */ add.d $f10, $f8, $f6 -/* 01BDD4 7001B1D4 448F4000 */ mtc1 $t7, $f8 -/* 01BDD8 7001B1D8 44983000 */ mtc1 $t8, $f6 -/* 01BDDC 7001B1DC 46205320 */ cvt.s.d $f12, $f10 -/* 01BDE0 7001B1E0 468040A0 */ cvt.s.w $f2, $f8 -/* 01BDE4 7001B1E4 4600610D */ trunc.w.s $f4, $f12 -/* 01BDE8 7001B1E8 468032A0 */ cvt.s.w $f10, $f6 -/* 01BDEC 7001B1EC 44192000 */ mfc1 $t9, $f4 -/* 01BDF0 7001B1F0 44842000 */ mtc1 $a0, $f4 -/* 01BDF4 7001B1F4 A6F9001C */ sh $t9, 0x1c($s7) -/* 01BDF8 7001B1F8 04810004 */ bgez $a0, .L7001B20C -/* 01BDFC 7001B1FC 46802220 */ cvt.s.w $f8, $f4 -/* 01BE00 7001B200 44813000 */ mtc1 $at, $f6 -/* 01BE04 7001B204 00000000 */ nop -/* 01BE08 7001B208 46064200 */ add.s $f8, $f8, $f6 -.L7001B20C: -/* 01BE0C 7001B20C 46085100 */ add.s $f4, $f10, $f8 -/* 01BE10 7001B210 460021A1 */ cvt.d.s $f6, $f4 -/* 01BE14 7001B214 44822000 */ mtc1 $v0, $f4 -/* 01BE18 7001B218 46343283 */ div.d $f10, $f6, $f20 -/* 01BE1C 7001B21C 468021A0 */ cvt.s.w $f6, $f4 -/* 01BE20 7001B220 46205220 */ cvt.s.d $f8, $f10 -/* 01BE24 7001B224 46064282 */ mul.s $f10, $f8, $f6 -/* 01BE28 7001B228 460011A1 */ cvt.d.s $f6, $f2 -/* 01BE2C 7001B22C 46005121 */ cvt.d.s $f4, $f10 -/* 01BE30 7001B230 46362202 */ mul.d $f8, $f4, $f22 -/* 01BE34 7001B234 46283280 */ add.d $f10, $f6, $f8 -/* 01BE38 7001B238 462050A0 */ cvt.s.d $f2, $f10 -/* 01BE3C 7001B23C 4600110D */ trunc.w.s $f4, $f2 -/* 01BE40 7001B240 44192000 */ mfc1 $t9, $f4 -/* 01BE44 7001B244 00000000 */ nop -/* 01BE48 7001B248 A6F9001E */ sh $t9, 0x1e($s7) -.L7001B24C: -/* 01BE4C 7001B24C 86EF001C */ lh $t7, 0x1c($s7) -/* 01BE50 7001B250 55E00003 */ bnezl $t7, .L7001B260 -/* 01BE54 7001B254 86F8001E */ lh $t8, 0x1e($s7) -/* 01BE58 7001B258 A6F1001C */ sh $s1, 0x1c($s7) -/* 01BE5C 7001B25C 86F8001E */ lh $t8, 0x1e($s7) -.L7001B260: -/* 01BE60 7001B260 57000003 */ bnezl $t8, .L7001B270 -/* 01BE64 7001B264 8EE3003C */ lw $v1, 0x3c($s7) -/* 01BE68 7001B268 A6F1001E */ sh $s1, 0x1e($s7) -/* 01BE6C 7001B26C 8EE3003C */ lw $v1, 0x3c($s7) -.L7001B270: -/* 01BE70 7001B270 2401000C */ li $at, 12 -/* 01BE74 7001B274 84640008 */ lh $a0, 8($v1) -/* 01BE78 7001B278 54810005 */ bnel $a0, $at, .L7001B290 -/* 01BE7C 7001B27C 2401000B */ li $at, 11 -/* 01BE80 7001B280 8C6E000C */ lw $t6, 0xc($v1) -/* 01BE84 7001B284 A6EE0018 */ sh $t6, 0x18($s7) -/* 01BE88 7001B288 84640008 */ lh $a0, 8($v1) -/* 01BE8C 7001B28C 2401000B */ li $at, 11 -.L7001B290: -/* 01BE90 7001B290 5481000B */ bnel $a0, $at, .L7001B2C0 -/* 01BE94 7001B294 24010010 */ li $at, 16 -/* 01BE98 7001B298 AEE00030 */ sw $zero, 0x30($s7) -/* 01BE9C 7001B29C 8C62000C */ lw $v0, 0xc($v1) -/* 01BEA0 7001B2A0 00420019 */ multu $v0, $v0 -/* 01BEA4 7001B2A4 00001012 */ mflo $v0 -/* 01BEA8 7001B2A8 0002CBC3 */ sra $t9, $v0, 0xf -/* 01BEAC 7001B2AC A6F9001A */ sh $t9, 0x1a($s7) -/* 01BEB0 7001B2B0 8C6F0010 */ lw $t7, 0x10($v1) -/* 01BEB4 7001B2B4 AEEF0034 */ sw $t7, 0x34($s7) -/* 01BEB8 7001B2B8 84640008 */ lh $a0, 8($v1) -/* 01BEBC 7001B2BC 24010010 */ li $at, 16 -.L7001B2C0: -/* 01BEC0 7001B2C0 1481000E */ bne $a0, $at, .L7001B2FC -/* 01BEC4 7001B2C4 00000000 */ nop -/* 01BEC8 7001B2C8 8C78000C */ lw $t8, 0xc($v1) -/* 01BECC 7001B2CC 3C198003 */ lui $t9, 0x8003 -/* 01BED0 7001B2D0 00187040 */ sll $t6, $t8, 1 -/* 01BED4 7001B2D4 032EC821 */ addu $t9, $t9, $t6 -/* 01BED8 7001B2D8 873981E0 */ lh $t9, -0x7e20($t9) -/* 01BEDC 7001B2DC A6F90020 */ sh $t9, 0x20($s7) -/* 01BEE0 7001B2E0 8C6F000C */ lw $t7, 0xc($v1) -/* 01BEE4 7001B2E4 3C198003 */ lui $t9, 0x8003 -/* 01BEE8 7001B2E8 000FC040 */ sll $t8, $t7, 1 -/* 01BEEC 7001B2EC 00187023 */ negu $t6, $t8 -/* 01BEF0 7001B2F0 032EC821 */ addu $t9, $t9, $t6 -/* 01BEF4 7001B2F4 873982DE */ lh $t9, -0x7d22($t9) -/* 01BEF8 7001B2F8 A6F90022 */ sh $t9, 0x22($s7) -.L7001B2FC: -/* 01BEFC 7001B2FC 10000040 */ b .L7001B400 -/* 01BF00 7001B300 AEF10038 */ sw $s1, 0x38($s7) -.L7001B304: -/* 01BF04 7001B304 846F000A */ lh $t7, 0xa($v1) -/* 01BF08 7001B308 00608025 */ move $s0, $v1 -/* 01BF0C 7001B30C 51E00007 */ beql $t7, $zero, .L7001B32C -/* 01BF10 7001B310 8EF90008 */ lw $t9, 8($s7) -/* 01BF14 7001B314 8EF90008 */ lw $t9, 8($s7) -/* 01BF18 7001B318 02E02025 */ move $a0, $s7 -/* 01BF1C 7001B31C 24050008 */ li $a1, 8 -/* 01BF20 7001B320 0320F809 */ jalr $t9 -/* 01BF24 7001B324 00003025 */ move $a2, $zero -/* 01BF28 7001B328 8EF90008 */ lw $t9, 8($s7) -.L7001B32C: -/* 01BF2C 7001B32C 02E02025 */ move $a0, $s7 -/* 01BF30 7001B330 24050005 */ li $a1, 5 -/* 01BF34 7001B334 0320F809 */ jalr $t9 -/* 01BF38 7001B338 8E06000C */ lw $a2, 0xc($s0) -/* 01BF3C 7001B33C 8EF90008 */ lw $t9, 8($s7) -/* 01BF40 7001B340 02E02025 */ move $a0, $s7 -/* 01BF44 7001B344 24050009 */ li $a1, 9 -/* 01BF48 7001B348 0320F809 */ jalr $t9 -/* 01BF4C 7001B34C 00003025 */ move $a2, $zero -/* 01BF50 7001B350 1000002C */ b .L7001B404 -/* 01BF54 7001B354 87B800BE */ lh $t8, 0xbe($sp) -.L7001B358: -/* 01BF58 7001B358 02E08025 */ move $s0, $s7 -/* 01BF5C 7001B35C 27B500CE */ addiu $s5, $sp, 0xce -/* 01BF60 7001B360 27B300BE */ addiu $s3, $sp, 0xbe -/* 01BF64 7001B364 03C09025 */ move $s2, $fp -/* 01BF68 7001B368 8FB600E4 */ lw $s6, 0xe4($sp) -/* 01BF6C 7001B36C 0C006AED */ jal ultra_7001ABB4 -/* 01BF70 7001B370 8FB400D4 */ lw $s4, 0xd4($sp) -/* 01BF74 7001B374 AFA200D4 */ sw $v0, 0xd4($sp) -/* 01BF78 7001B378 8EF90008 */ lw $t9, 8($s7) -/* 01BF7C 7001B37C 24110001 */ li $s1, 1 -/* 01BF80 7001B380 02E02025 */ move $a0, $s7 -/* 01BF84 7001B384 24050004 */ li $a1, 4 -/* 01BF88 7001B388 0320F809 */ jalr $t9 -/* 01BF8C 7001B38C 00003025 */ move $a2, $zero -/* 01BF90 7001B390 1000001C */ b .L7001B404 -/* 01BF94 7001B394 87B800BE */ lh $t8, 0xbe($sp) -.L7001B398: -/* 01BF98 7001B398 8C78000C */ lw $t8, 0xc($v1) -/* 01BF9C 7001B39C 3C048002 */ lui $a0, %hi(alGlobals) # $a0, 0x8002 -/* 01BFA0 7001B3A0 8C8476E0 */ lw $a0, %lo(alGlobals)($a0) -/* 01BFA4 7001B3A4 AF0000D8 */ sw $zero, 0xd8($t8) -/* 01BFA8 7001B3A8 0C003C08 */ jal _freePVoice -/* 01BFAC 7001B3AC 8C65000C */ lw $a1, 0xc($v1) -/* 01BFB0 7001B3B0 10000014 */ b .L7001B404 -/* 01BFB4 7001B3B4 87B800BE */ lh $t8, 0xbe($sp) -.L7001B3B8: -/* 01BFB8 7001B3B8 02E08025 */ move $s0, $s7 -/* 01BFBC 7001B3BC 27B500CE */ addiu $s5, $sp, 0xce -/* 01BFC0 7001B3C0 27B300BE */ addiu $s3, $sp, 0xbe -/* 01BFC4 7001B3C4 03C09025 */ move $s2, $fp -/* 01BFC8 7001B3C8 8FB600E4 */ lw $s6, 0xe4($sp) -/* 01BFCC 7001B3CC 0C006AED */ jal ultra_7001ABB4 -/* 01BFD0 7001B3D0 8FB400D4 */ lw $s4, 0xd4($sp) -/* 01BFD4 7001B3D4 AFA200D4 */ sw $v0, 0xd4($sp) -/* 01BFD8 7001B3D8 8EEE0030 */ lw $t6, 0x30($s7) -/* 01BFDC 7001B3DC 8EF90008 */ lw $t9, 8($s7) -/* 01BFE0 7001B3E0 8EE3003C */ lw $v1, 0x3c($s7) -/* 01BFE4 7001B3E4 01DE7821 */ addu $t7, $t6, $fp -/* 01BFE8 7001B3E8 AEEF0030 */ sw $t7, 0x30($s7) -/* 01BFEC 7001B3EC 24110001 */ li $s1, 1 -/* 01BFF0 7001B3F0 02E02025 */ move $a0, $s7 -/* 01BFF4 7001B3F4 8C66000C */ lw $a2, 0xc($v1) -/* 01BFF8 7001B3F8 0320F809 */ jalr $t9 -/* 01BFFC 7001B3FC 84650008 */ lh $a1, 8($v1) -.L7001B400: -/* 01C000 7001B400 87B800BE */ lh $t8, 0xbe($sp) -.L7001B404: -/* 01C004 7001B404 8FB900E0 */ lw $t9, 0xe0($sp) -/* 01C008 7001B408 001E7040 */ sll $t6, $fp, 1 -/* 01C00C 7001B40C 030E7821 */ addu $t7, $t8, $t6 -/* 01C010 7001B410 033EC023 */ subu $t8, $t9, $fp -/* 01C014 7001B414 A7AF00BE */ sh $t7, 0xbe($sp) -/* 01C018 7001B418 AFB800E0 */ sw $t8, 0xe0($sp) -/* 01C01C 7001B41C 8EE4003C */ lw $a0, 0x3c($s7) -/* 01C020 7001B420 8C8E0000 */ lw $t6, ($a0) -/* 01C024 7001B424 15C00002 */ bnez $t6, .L7001B430 -/* 01C028 7001B428 AEEE003C */ sw $t6, 0x3c($s7) -/* 01C02C 7001B42C AEE00040 */ sw $zero, 0x40($s7) -.L7001B430: -/* 01C030 7001B430 0C003C2E */ jal __freeParam -/* 01C034 7001B434 00000000 */ nop -/* 01C038 7001B438 8FB900D0 */ lw $t9, 0xd0($sp) -/* 01C03C 7001B43C 8F38003C */ lw $t8, 0x3c($t9) -/* 01C040 7001B440 5700FEA8 */ bnezl $t8, .L7001AEE4 -/* 01C044 7001B444 8EF9003C */ lw $t9, 0x3c($s7) -.L7001B448: -/* 01C048 7001B448 8EEE0048 */ lw $t6, 0x48($s7) -.L7001B44C: -/* 01C04C 7001B44C 24110001 */ li $s1, 1 -/* 01C050 7001B450 02E08025 */ move $s0, $s7 -/* 01C054 7001B454 162E000B */ bne $s1, $t6, .L7001B484 -/* 01C058 7001B458 27B500CE */ addiu $s5, $sp, 0xce -/* 01C05C 7001B45C 27B300BE */ addiu $s3, $sp, 0xbe -/* 01C060 7001B460 8FB200E0 */ lw $s2, 0xe0($sp) -/* 01C064 7001B464 8FB600E4 */ lw $s6, 0xe4($sp) -/* 01C068 7001B468 0C006AED */ jal ultra_7001ABB4 -/* 01C06C 7001B46C 8FB400D4 */ lw $s4, 0xd4($sp) -/* 01C070 7001B470 AFA200D4 */ sw $v0, 0xd4($sp) -/* 01C074 7001B474 8EEF0030 */ lw $t7, 0x30($s7) -/* 01C078 7001B478 8FB900E0 */ lw $t9, 0xe0($sp) -/* 01C07C 7001B47C 01F9C021 */ addu $t8, $t7, $t9 -/* 01C080 7001B480 AEF80030 */ sw $t8, 0x30($s7) -.L7001B484: -/* 01C084 7001B484 8EE40034 */ lw $a0, 0x34($s7) -/* 01C088 7001B488 8EEE0030 */ lw $t6, 0x30($s7) -/* 01C08C 7001B48C 008E082A */ slt $at, $a0, $t6 -/* 01C090 7001B490 50200003 */ beql $at, $zero, .L7001B4A0 -/* 01C094 7001B494 8FBF0054 */ lw $ra, 0x54($sp) -/* 01C098 7001B498 AEE40030 */ sw $a0, 0x30($s7) -/* 01C09C 7001B49C 8FBF0054 */ lw $ra, 0x54($sp) -.L7001B4A0: -/* 01C0A0 7001B4A0 8FA200D4 */ lw $v0, 0xd4($sp) -/* 01C0A4 7001B4A4 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 01C0A8 7001B4A8 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 01C0AC 7001B4AC 8FB00030 */ lw $s0, 0x30($sp) -/* 01C0B0 7001B4B0 8FB10034 */ lw $s1, 0x34($sp) -/* 01C0B4 7001B4B4 8FB20038 */ lw $s2, 0x38($sp) -/* 01C0B8 7001B4B8 8FB3003C */ lw $s3, 0x3c($sp) -/* 01C0BC 7001B4BC 8FB40040 */ lw $s4, 0x40($sp) -/* 01C0C0 7001B4C0 8FB50044 */ lw $s5, 0x44($sp) -/* 01C0C4 7001B4C4 8FB60048 */ lw $s6, 0x48($sp) -/* 01C0C8 7001B4C8 8FB7004C */ lw $s7, 0x4c($sp) -/* 01C0CC 7001B4CC 8FBE0050 */ lw $fp, 0x50($sp) -/* 01C0D0 7001B4D0 03E00008 */ jr $ra -/* 01C0D4 7001B4D4 27BD00D8 */ addiu $sp, $sp, 0xd8 - -/* 01C0D8 7001B4D8 00000000 */ nop -/* 01C0DC 7001B4DC 00000000 */ nop - -.section .data -glabel eqpower -.half 32767,32764,32757,32744,32727,32704,32677,32644 -.half 32607,32564,32517,32464,32407,32344,32277,32205 -.half 32127,32045,31958,31866,31770,31668,31561,31450 -.half 31334,31213,31087,30957,30822,30682,30537,30388 -.half 30234,30075,29912,29744,29572,29395,29214,29028 -.half 28838,28643,28444,28241,28033,27821,27605,27385 -.half 27160,26931,26698,26461,26220,25975,25726,25473 -.half 25216,24956,24691,24423,24151,23875,23596,23313 -.half 23026,22736,22442,22145,21845,21541,21234,20924 -.half 20610,20294,19974,19651,19325,18997,18665,18331 -.half 17993,17653,17310,16965,16617,16266,15913,15558 -.half 15200,14840,14477,14113,13746,13377,13006,12633 -.half 12258,11881,11503,11122,10740,10357, 9971, 9584 -.half 9196, 8806, 8415, 8023, 7630, 7235, 6839, 6442 -.half 6044, 5646, 5246, 4845, 4444, 4042, 3640, 3237 -.half 2833, 2429, 2025, 1620, 1216, 810, 405, 0 - -.section .rodata -glabel aAssertionFaultSSLineD -.asciiz "\n--- ASSERTION FAULT - %s - %s, line %d\n\n" -.align 2 -glabel aSamples0 -.asciiz "samples >= 0" -.align 2 -glabel aEnv_c -.asciiz "env.c" -.align 2 -glabel aAssertionFaultSSLineD_0 -.asciiz "\n--- ASSERTION FAULT - %s - %s, line %d\n\n" -.align 4 -glabel aSamplesAl_max_rsp_samples -.asciiz "samples <= AL_MAX_RSP_SAMPLES" -.align 4 -glabel aEnv_c_0 -.asciiz "env.c" -.align 2 -glabel aAssertionFaultSSLineD_1 -.asciiz "\n--- ASSERTION FAULT - %s - %s, line %d\n\n" -.align 2 -glabel aSource -.asciiz "source" -.align 2 -glabel aEnv_c_1 -.asciiz "env.c" -.align 2 -glabel F32_80029964 -.float 65535.0 -glabel J_8001AF6C -.word .L7001B398 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B0B4 -.word .L7001B0B4 -.word .L7001AF74 -.word .L7001B304 -.word .L7001B358 -.word .L7001B0B4 -.align 4 - -.section .text -glabel ultra_7001B4E0 -/* 01C0E0 7001B4E0 24010002 */ li $at, 2 -/* 01C0E4 7001B4E4 14A10008 */ bne $a1, $at, .L7001B508 -/* 01C0E8 7001B4E8 8C82001C */ lw $v0, 0x1c($a0) -/* 01C0EC 7001B4EC 8C8E0014 */ lw $t6, 0x14($a0) -/* 01C0F0 7001B4F0 000E7880 */ sll $t7, $t6, 2 -/* 01C0F4 7001B4F4 004FC021 */ addu $t8, $v0, $t7 -/* 01C0F8 7001B4F8 AF060000 */ sw $a2, ($t8) -/* 01C0FC 7001B4FC 8C990014 */ lw $t9, 0x14($a0) -/* 01C100 7001B500 27280001 */ addiu $t0, $t9, 1 -/* 01C104 7001B504 AC880014 */ sw $t0, 0x14($a0) -.L7001B508: -/* 01C108 7001B508 03E00008 */ jr $ra -/* 01C10C 7001B50C 00001025 */ move $v0, $zero - -glabel ultra_7001B510 -/* 01C110 7001B510 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01C114 7001B514 8FA80050 */ lw $t0, 0x50($sp) -/* 01C118 7001B518 AFBF003C */ sw $ra, 0x3c($sp) -/* 01C11C 7001B51C AFB60038 */ sw $s6, 0x38($sp) -/* 01C120 7001B520 AFB50034 */ sw $s5, 0x34($sp) -/* 01C124 7001B524 AFB40030 */ sw $s4, 0x30($sp) -/* 01C128 7001B528 AFB3002C */ sw $s3, 0x2c($sp) -/* 01C12C 7001B52C AFB20028 */ sw $s2, 0x28($sp) -/* 01C130 7001B530 AFB10024 */ sw $s1, 0x24($sp) -/* 01C134 7001B534 AFB00020 */ sw $s0, 0x20($sp) -/* 01C138 7001B538 8C83001C */ lw $v1, 0x1c($a0) -/* 01C13C 7001B53C 3C0E0200 */ lui $t6, (0x020006C0 >> 16) # lui $t6, 0x200 -/* 01C140 7001B540 00061040 */ sll $v0, $a2, 1 -/* 01C144 7001B544 3C0F0200 */ lui $t7, (0x02000800 >> 16) # lui $t7, 0x200 -/* 01C148 7001B548 35CE06C0 */ ori $t6, (0x020006C0 & 0xFFFF) # ori $t6, $t6, 0x6c0 -/* 01C14C 7001B54C 35EF0800 */ ori $t7, (0x02000800 & 0xFFFF) # ori $t7, $t7, 0x800 -/* 01C150 7001B550 AD0E0000 */ sw $t6, ($t0) -/* 01C154 7001B554 AD020004 */ sw $v0, 4($t0) -/* 01C158 7001B558 AD0F0008 */ sw $t7, 8($t0) -/* 01C15C 7001B55C AD02000C */ sw $v0, 0xc($t0) -/* 01C160 7001B560 8C980014 */ lw $t8, 0x14($a0) -/* 01C164 7001B564 00C0A025 */ move $s4, $a2 -/* 01C168 7001B568 00A0A825 */ move $s5, $a1 -/* 01C16C 7001B56C 00E0B025 */ move $s6, $a3 -/* 01C170 7001B570 00809825 */ move $s3, $a0 -/* 01C174 7001B574 00008025 */ move $s0, $zero -/* 01C178 7001B578 1B000010 */ blez $t8, .L7001B5BC -/* 01C17C 7001B57C 25120010 */ addiu $s2, $t0, 0x10 -/* 01C180 7001B580 00608825 */ move $s1, $v1 -.L7001B584: -/* 01C184 7001B584 8E240000 */ lw $a0, ($s1) -/* 01C188 7001B588 AFB20010 */ sw $s2, 0x10($sp) -/* 01C18C 7001B58C 02A02825 */ move $a1, $s5 -/* 01C190 7001B590 8C990004 */ lw $t9, 4($a0) -/* 01C194 7001B594 02803025 */ move $a2, $s4 -/* 01C198 7001B598 02C03825 */ move $a3, $s6 -/* 01C19C 7001B59C 0320F809 */ jalr $t9 -/* 01C1A0 7001B5A0 00000000 */ nop -/* 01C1A4 7001B5A4 8E690014 */ lw $t1, 0x14($s3) -/* 01C1A8 7001B5A8 26100001 */ addiu $s0, $s0, 1 -/* 01C1AC 7001B5AC 26310004 */ addiu $s1, $s1, 4 -/* 01C1B0 7001B5B0 0209082A */ slt $at, $s0, $t1 -/* 01C1B4 7001B5B4 1420FFF3 */ bnez $at, .L7001B584 -/* 01C1B8 7001B5B8 00409025 */ move $s2, $v0 -.L7001B5BC: -/* 01C1BC 7001B5BC 8FBF003C */ lw $ra, 0x3c($sp) -/* 01C1C0 7001B5C0 02401025 */ move $v0, $s2 -/* 01C1C4 7001B5C4 8FB20028 */ lw $s2, 0x28($sp) -/* 01C1C8 7001B5C8 8FB00020 */ lw $s0, 0x20($sp) -/* 01C1CC 7001B5CC 8FB10024 */ lw $s1, 0x24($sp) -/* 01C1D0 7001B5D0 8FB3002C */ lw $s3, 0x2c($sp) -/* 01C1D4 7001B5D4 8FB40030 */ lw $s4, 0x30($sp) -/* 01C1D8 7001B5D8 8FB50034 */ lw $s5, 0x34($sp) -/* 01C1DC 7001B5DC 8FB60038 */ lw $s6, 0x38($sp) -/* 01C1E0 7001B5E0 03E00008 */ jr $ra -/* 01C1E4 7001B5E4 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 01C1E8 7001B5E8 00000000 */ nop -/* 01C1EC 7001B5EC 00000000 */ nop -glabel alSaveParam -/* 01C1F0 7001B5F0 24010001 */ li $at, 1 -/* 01C1F4 7001B5F4 10A10006 */ beq $a1, $at, .L7001B610 -/* 01C1F8 7001B5F8 00001025 */ move $v0, $zero -/* 01C1FC 7001B5FC 24010006 */ li $at, 6 -/* 01C200 7001B600 50A10006 */ beql $a1, $at, .L7001B61C -/* 01C204 7001B604 AC860014 */ sw $a2, 0x14($a0) -/* 01C208 7001B608 03E00008 */ jr $ra -/* 01C20C 7001B60C 00001025 */ move $v0, $zero - -.L7001B610: -/* 01C210 7001B610 03E00008 */ jr $ra -/* 01C214 7001B614 AC860000 */ sw $a2, ($a0) - -/* 01C218 7001B618 AC860014 */ sw $a2, 0x14($a0) -.L7001B61C: -/* 01C21C 7001B61C 03E00008 */ jr $ra -/* 01C220 7001B620 00001025 */ move $v0, $zero - -glabel alSavePull -/* 01C224 7001B624 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01C228 7001B628 AFBF001C */ sw $ra, 0x1c($sp) -/* 01C22C 7001B62C AFA40020 */ sw $a0, 0x20($sp) -/* 01C230 7001B630 8C840000 */ lw $a0, ($a0) -/* 01C234 7001B634 8FAF0030 */ lw $t7, 0x30($sp) -/* 01C238 7001B638 AFA60028 */ sw $a2, 0x28($sp) -/* 01C23C 7001B63C AFAF0010 */ sw $t7, 0x10($sp) -/* 01C240 7001B640 8C990004 */ lw $t9, 4($a0) -/* 01C244 7001B644 0320F809 */ jalr $t9 -/* 01C248 7001B648 00000000 */ nop -/* 01C24C 7001B64C 8FA60028 */ lw $a2, 0x28($sp) -/* 01C250 7001B650 3C030800 */ lui $v1, 0x800 -/* 01C254 7001B654 3C0A0440 */ lui $t2, (0x04400580 >> 16) # lui $t2, 0x440 -/* 01C258 7001B658 0006C040 */ sll $t8, $a2, 1 -/* 01C25C 7001B65C 00065880 */ sll $t3, $a2, 2 -/* 01C260 7001B660 3308FFFF */ andi $t0, $t8, 0xffff -/* 01C264 7001B664 354A0580 */ ori $t2, (0x04400580 & 0xFFFF) # ori $t2, $t2, 0x580 -/* 01C268 7001B668 3C090D00 */ lui $t1, 0xd00 -/* 01C26C 7001B66C 316CFFFF */ andi $t4, $t3, 0xffff -/* 01C270 7001B670 3C0D0600 */ lui $t5, 0x600 -/* 01C274 7001B674 AC480004 */ sw $t0, 4($v0) -/* 01C278 7001B678 AC430000 */ sw $v1, ($v0) -/* 01C27C 7001B67C AC490008 */ sw $t1, 8($v0) -/* 01C280 7001B680 AC4A000C */ sw $t2, 0xc($v0) -/* 01C284 7001B684 AC4C0014 */ sw $t4, 0x14($v0) -/* 01C288 7001B688 AC430010 */ sw $v1, 0x10($v0) -/* 01C28C 7001B68C AC4D0018 */ sw $t5, 0x18($v0) -/* 01C290 7001B690 8FAE0020 */ lw $t6, 0x20($sp) -/* 01C294 7001B694 24420020 */ addiu $v0, $v0, 0x20 -/* 01C298 7001B698 8DCF0014 */ lw $t7, 0x14($t6) -/* 01C29C 7001B69C AC4FFFFC */ sw $t7, -4($v0) -/* 01C2A0 7001B6A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 01C2A4 7001B6A4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01C2A8 7001B6A8 03E00008 */ jr $ra -/* 01C2AC 7001B6AC 00000000 */ nop - -glabel osJamMesg -/* 01C2B0 7001B6B0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01C2B4 7001B6B4 AFBF001C */ sw $ra, 0x1c($sp) -/* 01C2B8 7001B6B8 AFA40028 */ sw $a0, 0x28($sp) -/* 01C2BC 7001B6BC AFA5002C */ sw $a1, 0x2c($sp) -/* 01C2C0 7001B6C0 AFA60030 */ sw $a2, 0x30($sp) -/* 01C2C4 7001B6C4 AFB10018 */ sw $s1, 0x18($sp) -/* 01C2C8 7001B6C8 0C00617C */ jal __osDisableInt -/* 01C2CC 7001B6CC AFB00014 */ sw $s0, 0x14($sp) -/* 01C2D0 7001B6D0 8FAE0028 */ lw $t6, 0x28($sp) -/* 01C2D4 7001B6D4 00408025 */ move $s0, $v0 -/* 01C2D8 7001B6D8 8DCF0008 */ lw $t7, 8($t6) -/* 01C2DC 7001B6DC 8DD80010 */ lw $t8, 0x10($t6) -/* 01C2E0 7001B6E0 01F8082A */ slt $at, $t7, $t8 -/* 01C2E4 7001B6E4 14200018 */ bnez $at, .L7001B748 -/* 01C2E8 7001B6E8 00000000 */ nop -.L7001B6EC: -/* 01C2EC 7001B6EC 8FB90030 */ lw $t9, 0x30($sp) -/* 01C2F0 7001B6F0 24010001 */ li $at, 1 -/* 01C2F4 7001B6F4 1721000A */ bne $t9, $at, .L7001B720 -/* 01C2F8 7001B6F8 00000000 */ nop -/* 01C2FC 7001B6FC 3C098002 */ lui $t1, %hi(__osRunningThread) -/* 01C300 7001B700 8D297730 */ lw $t1, %lo(__osRunningThread)($t1) -/* 01C304 7001B704 24080008 */ li $t0, 8 -/* 01C308 7001B708 A5280010 */ sh $t0, 0x10($t1) -/* 01C30C 7001B70C 8FA40028 */ lw $a0, 0x28($sp) -/* 01C310 7001B710 0C0041EB */ jal __osEnqueueAndYield -/* 01C314 7001B714 24840004 */ addiu $a0, $a0, 4 -/* 01C318 7001B718 10000005 */ b .L7001B730 -/* 01C31C 7001B71C 00000000 */ nop -.L7001B720: -/* 01C320 7001B720 0C006184 */ jal __osRestoreInt -/* 01C324 7001B724 02002025 */ move $a0, $s0 -/* 01C328 7001B728 10000030 */ b .L7001B7EC -/* 01C32C 7001B72C 2402FFFF */ li $v0, -1 -.L7001B730: -/* 01C330 7001B730 8FAA0028 */ lw $t2, 0x28($sp) -/* 01C334 7001B734 8D4B0008 */ lw $t3, 8($t2) -/* 01C338 7001B738 8D4C0010 */ lw $t4, 0x10($t2) -/* 01C33C 7001B73C 016C082A */ slt $at, $t3, $t4 -/* 01C340 7001B740 1020FFEA */ beqz $at, .L7001B6EC -/* 01C344 7001B744 00000000 */ nop -.L7001B748: -/* 01C348 7001B748 8FAD0028 */ lw $t5, 0x28($sp) -/* 01C34C 7001B74C 8DAE000C */ lw $t6, 0xc($t5) -/* 01C350 7001B750 8DAF0010 */ lw $t7, 0x10($t5) -/* 01C354 7001B754 01CFC021 */ addu $t8, $t6, $t7 -/* 01C358 7001B758 2719FFFF */ addiu $t9, $t8, -1 -/* 01C35C 7001B75C 032F001A */ div $zero, $t9, $t7 -/* 01C360 7001B760 00004010 */ mfhi $t0 -/* 01C364 7001B764 ADA8000C */ sw $t0, 0xc($t5) -/* 01C368 7001B768 8FAA0028 */ lw $t2, 0x28($sp) -/* 01C36C 7001B76C 8FA9002C */ lw $t1, 0x2c($sp) -/* 01C370 7001B770 15E00002 */ bnez $t7, .L7001B77C -/* 01C374 7001B774 00000000 */ nop -/* 01C378 7001B778 0007000D */ break 7 -.L7001B77C: -/* 01C37C 7001B77C 2401FFFF */ li $at, -1 -/* 01C380 7001B780 15E10004 */ bne $t7, $at, .L7001B794 -/* 01C384 7001B784 3C018000 */ lui $at, 0x8000 -/* 01C388 7001B788 17210002 */ bne $t9, $at, .L7001B794 -/* 01C38C 7001B78C 00000000 */ nop -/* 01C390 7001B790 0006000D */ break 6 -.L7001B794: -/* 01C394 7001B794 8D4C000C */ lw $t4, 0xc($t2) -/* 01C398 7001B798 8D4B0014 */ lw $t3, 0x14($t2) -/* 01C39C 7001B79C 000C7080 */ sll $t6, $t4, 2 -/* 01C3A0 7001B7A0 016EC021 */ addu $t8, $t3, $t6 -/* 01C3A4 7001B7A4 AF090000 */ sw $t1, ($t8) -/* 01C3A8 7001B7A8 8FB90028 */ lw $t9, 0x28($sp) -/* 01C3AC 7001B7AC 8F2F0008 */ lw $t7, 8($t9) -/* 01C3B0 7001B7B0 25E80001 */ addiu $t0, $t7, 1 -/* 01C3B4 7001B7B4 AF280008 */ sw $t0, 8($t9) -/* 01C3B8 7001B7B8 8FAD0028 */ lw $t5, 0x28($sp) -/* 01C3BC 7001B7BC 8DAA0000 */ lw $t2, ($t5) -/* 01C3C0 7001B7C0 8D4C0000 */ lw $t4, ($t2) -/* 01C3C4 7001B7C4 11800006 */ beqz $t4, .L7001B7E0 -/* 01C3C8 7001B7C8 00000000 */ nop -/* 01C3CC 7001B7CC 0C00423D */ jal __osPopThread -/* 01C3D0 7001B7D0 01A02025 */ move $a0, $t5 -/* 01C3D4 7001B7D4 00408825 */ move $s1, $v0 -/* 01C3D8 7001B7D8 0C003560 */ jal osStartThread -/* 01C3DC 7001B7DC 02202025 */ move $a0, $s1 -.L7001B7E0: -/* 01C3E0 7001B7E0 0C006184 */ jal __osRestoreInt -/* 01C3E4 7001B7E4 02002025 */ move $a0, $s0 -/* 01C3E8 7001B7E8 00001025 */ move $v0, $zero -.L7001B7EC: -/* 01C3EC 7001B7EC 8FBF001C */ lw $ra, 0x1c($sp) -/* 01C3F0 7001B7F0 8FB00014 */ lw $s0, 0x14($sp) -/* 01C3F4 7001B7F4 8FB10018 */ lw $s1, 0x18($sp) -/* 01C3F8 7001B7F8 03E00008 */ jr $ra -/* 01C3FC 7001B7FC 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel osPiGetCmdQueue -/* 01C400 7001B800 3C0E8002 */ lui $t6, %hi(__osPiDevMgr) -/* 01C404 7001B804 8DCE7790 */ lw $t6, %lo(__osPiDevMgr)($t6) -/* 01C408 7001B808 15C00003 */ bnez $t6, .L7001B818 -/* 01C40C 7001B80C 00000000 */ nop -/* 01C410 7001B810 03E00008 */ jr $ra -/* 01C414 7001B814 00001025 */ move $v0, $zero - -.L7001B818: -/* 01C418 7001B818 3C028002 */ lui $v0, %hi(__osPiDevMgr.cmdQueue) # $v0, 0x8002 -/* 01C41C 7001B81C 8C427798 */ lw $v0, %lo(__osPiDevMgr.cmdQueue)($v0) -/* 01C420 7001B820 03E00008 */ jr $ra -/* 01C424 7001B824 00000000 */ nop - -/* 01C428 7001B828 00000000 */ nop -/* 01C42C 7001B82C 00000000 */ nop - -glabel ultra_7001B830 -/* 01C430 7001B830 E7AC0000 */ swc1 $f12, ($sp) -/* 01C434 7001B834 8FA20000 */ lw $v0, ($sp) -/* 01C438 7001B838 C7A60000 */ lwc1 $f6, ($sp) -/* 01C43C 7001B83C C7AA0000 */ lwc1 $f10, ($sp) -/* 01C440 7001B840 00027583 */ sra $t6, $v0, 0x16 -/* 01C444 7001B844 31CF01FF */ andi $t7, $t6, 0x1ff -/* 01C448 7001B848 29E10136 */ slti $at, $t7, 0x136 -/* 01C44C 7001B84C 50200049 */ beql $at, $zero, .L7001B974 -/* 01C450 7001B850 460A5032 */ c.eq.s $f10, $f10 -/* 01C454 7001B854 44802000 */ mtc1 $zero, $f4 -/* 01C458 7001B858 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 01C45C 7001B85C 44819800 */ mtc1 $at, $f19 -/* 01C460 7001B860 4606203C */ c.lt.s $f4, $f6 -/* 01C464 7001B864 C7A00000 */ lwc1 $f0, ($sp) -/* 01C468 7001B868 3C018003 */ lui $at, 0x8003 -/* 01C46C 7001B86C 45020004 */ bc1fl .L7001B880 -/* 01C470 7001B870 46000007 */ neg.s $f0, $f0 -/* 01C474 7001B874 10000002 */ b .L7001B880 -/* 01C478 7001B878 46003006 */ mov.s $f0, $f6 -/* 01C47C 7001B87C 46000007 */ neg.s $f0, $f0 -.L7001B880: -/* 01C480 7001B880 D42899D8 */ ldc1 $f8, -0x6628($at) -/* 01C484 7001B884 46000321 */ cvt.d.s $f12, $f0 -/* 01C488 7001B888 44809000 */ mtc1 $zero, $f18 -/* 01C48C 7001B88C 46286282 */ mul.d $f10, $f12, $f8 -/* 01C490 7001B890 44802800 */ mtc1 $zero, $f5 -/* 01C494 7001B894 44802000 */ mtc1 $zero, $f4 -/* 01C498 7001B898 46325380 */ add.d $f14, $f10, $f18 -/* 01C49C 7001B89C 462E203E */ c.le.d $f4, $f14 -/* 01C4A0 7001B8A0 00000000 */ nop -/* 01C4A4 7001B8A4 45020007 */ bc1fl .L7001B8C4 -/* 01C4A8 7001B8A8 46327281 */ sub.d $f10, $f14, $f18 -/* 01C4AC 7001B8AC 46327180 */ add.d $f6, $f14, $f18 -/* 01C4B0 7001B8B0 4620320D */ trunc.w.d $f8, $f6 -/* 01C4B4 7001B8B4 44024000 */ mfc1 $v0, $f8 -/* 01C4B8 7001B8B8 10000006 */ b .L7001B8D4 -/* 01C4BC 7001B8BC 44823000 */ mtc1 $v0, $f6 -/* 01C4C0 7001B8C0 46327281 */ sub.d $f10, $f14, $f18 -.L7001B8C4: -/* 01C4C4 7001B8C4 4620510D */ trunc.w.d $f4, $f10 -/* 01C4C8 7001B8C8 44022000 */ mfc1 $v0, $f4 -/* 01C4CC 7001B8CC 00000000 */ nop -/* 01C4D0 7001B8D0 44823000 */ mtc1 $v0, $f6 -.L7001B8D4: -/* 01C4D4 7001B8D4 3C018003 */ lui $at, 0x8003 -/* 01C4D8 7001B8D8 D42A99E0 */ ldc1 $f10, -0x6620($at) -/* 01C4DC 7001B8DC 46803221 */ cvt.d.w $f8, $f6 -/* 01C4E0 7001B8E0 3C018003 */ lui $at, 0x8003 -/* 01C4E4 7001B8E4 D42699E8 */ ldc1 $f6, -0x6618($at) -/* 01C4E8 7001B8E8 3C038003 */ lui $v1, %hi(F64_800299B0) # $v1, 0x8003 -/* 01C4EC 7001B8EC 246399B0 */ addiu $v1, %lo(F64_800299B0) # addiu $v1, $v1, -0x6650 -/* 01C4F0 7001B8F0 46324001 */ sub.d $f0, $f8, $f18 -/* 01C4F4 7001B8F4 30480001 */ andi $t0, $v0, 1 -/* 01C4F8 7001B8F8 462A0102 */ mul.d $f4, $f0, $f10 -/* 01C4FC 7001B8FC D46A0020 */ ldc1 $f10, 0x20($v1) -/* 01C500 7001B900 46260202 */ mul.d $f8, $f0, $f6 -/* 01C504 7001B904 D4660018 */ ldc1 $f6, 0x18($v1) -/* 01C508 7001B908 46246081 */ sub.d $f2, $f12, $f4 -/* 01C50C 7001B90C 46281081 */ sub.d $f2, $f2, $f8 -/* 01C510 7001B910 46221382 */ mul.d $f14, $f2, $f2 -/* 01C514 7001B914 00000000 */ nop -/* 01C518 7001B918 462E5102 */ mul.d $f4, $f10, $f14 -/* 01C51C 7001B91C 46262200 */ add.d $f8, $f4, $f6 -/* 01C520 7001B920 D4640010 */ ldc1 $f4, 0x10($v1) -/* 01C524 7001B924 462E4282 */ mul.d $f10, $f8, $f14 -/* 01C528 7001B928 46245180 */ add.d $f6, $f10, $f4 -/* 01C52C 7001B92C D46A0008 */ ldc1 $f10, 8($v1) -/* 01C530 7001B930 462E3202 */ mul.d $f8, $f6, $f14 -/* 01C534 7001B934 15000007 */ bnez $t0, .L7001B954 -/* 01C538 7001B938 46285400 */ add.d $f16, $f10, $f8 -/* 01C53C 7001B93C 462E1102 */ mul.d $f4, $f2, $f14 -/* 01C540 7001B940 00000000 */ nop -/* 01C544 7001B944 46302182 */ mul.d $f6, $f4, $f16 -/* 01C548 7001B948 46223280 */ add.d $f10, $f6, $f2 -/* 01C54C 7001B94C 03E00008 */ jr $ra -/* 01C550 7001B950 46205020 */ cvt.s.d $f0, $f10 - -.L7001B954: -/* 01C554 7001B954 462E1202 */ mul.d $f8, $f2, $f14 -/* 01C558 7001B958 00000000 */ nop -/* 01C55C 7001B95C 46304102 */ mul.d $f4, $f8, $f16 -/* 01C560 7001B960 46222180 */ add.d $f6, $f4, $f2 -/* 01C564 7001B964 46203020 */ cvt.s.d $f0, $f6 -/* 01C568 7001B968 03E00008 */ jr $ra -/* 01C56C 7001B96C 46000007 */ neg.s $f0, $f0 - -/* 01C570 7001B970 460A5032 */ c.eq.s $f10, $f10 -.L7001B974: -/* 01C574 7001B974 3C018003 */ lui $at, 0x8003 -/* 01C578 7001B978 45010004 */ bc1t .L7001B98C -/* 01C57C 7001B97C 00000000 */ nop -/* 01C580 7001B980 3C018003 */ lui $at, 0x8003 -/* 01C584 7001B984 03E00008 */ jr $ra -/* 01C588 7001B988 C4209D40 */ lwc1 $f0, -0x62c0($at) - -.L7001B98C: -/* 01C58C 7001B98C C42099F0 */ lwc1 $f0, -0x6610($at) -/* 01C590 7001B990 03E00008 */ jr $ra -/* 01C594 7001B994 00000000 */ nop - -/* 01C598 7001B998 00000000 */ nop -/* 01C59C 7001B99C 00000000 */ nop - -.section .rodata -glabel F64_800299B0 -.double 1.0 -glabel F64_800299B8 -.double -0.1666665955042776 -glabel F64_800299C0 -.double 0.008333066246082155 -glabel F64_800299C8 -.double -0.0001980960290193795 -glabel F64_800299D0 -.double 0.000002605780637968037 -glabel F64_800299D8 -.double 0.3183098861837907 -glabel F64_800299E0 -.double 3.141592621803284 -glabel F64_800299E8 -.double 3.178650954705639e-8 -glabel F64_800299F0 -.double 0.0 - .word 0 - .word 0 -.section .text - - -glabel ultra_7001B9A0 -/* 01C5A0 7001B9A0 E7AC0000 */ swc1 $f12, ($sp) -/* 01C5A4 7001B9A4 8FA20000 */ lw $v0, ($sp) -/* 01C5A8 7001B9A8 C7A40000 */ lwc1 $f4, ($sp) -/* 01C5AC 7001B9AC 00021D83 */ sra $v1, $v0, 0x16 -/* 01C5B0 7001B9B0 306E01FF */ andi $t6, $v1, 0x1ff -/* 01C5B4 7001B9B4 29C100FF */ slti $at, $t6, 0xff -/* 01C5B8 7001B9B8 10200019 */ beqz $at, .L7001BA20 -/* 01C5BC 7001B9BC 01C01825 */ move $v1, $t6 -/* 01C5C0 7001B9C0 29C100E6 */ slti $at, $t6, 0xe6 -/* 01C5C4 7001B9C4 14200014 */ bnez $at, .L7001BA18 -/* 01C5C8 7001B9C8 460020A1 */ cvt.d.s $f2, $f4 -/* 01C5CC 7001B9CC 46221302 */ mul.d $f12, $f2, $f2 -/* 01C5D0 7001B9D0 3C038003 */ lui $v1, %hi(F64_80029A00) # $v1, 0x8003 -/* 01C5D4 7001B9D4 24639A00 */ addiu $v1, %lo(F64_80029A00) # addiu $v1, $v1, -0x6600 -/* 01C5D8 7001B9D8 D4660020 */ ldc1 $f6, 0x20($v1) -/* 01C5DC 7001B9DC D46A0018 */ ldc1 $f10, 0x18($v1) -/* 01C5E0 7001B9E0 D4640010 */ ldc1 $f4, 0x10($v1) -/* 01C5E4 7001B9E4 462C3202 */ mul.d $f8, $f6, $f12 -/* 01C5E8 7001B9E8 462A4400 */ add.d $f16, $f8, $f10 -/* 01C5EC 7001B9EC D46A0008 */ ldc1 $f10, 8($v1) -/* 01C5F0 7001B9F0 462C8482 */ mul.d $f18, $f16, $f12 -/* 01C5F4 7001B9F4 46249180 */ add.d $f6, $f18, $f4 -/* 01C5F8 7001B9F8 462C3202 */ mul.d $f8, $f6, $f12 -/* 01C5FC 7001B9FC 46285380 */ add.d $f14, $f10, $f8 -/* 01C600 7001BA00 462C1402 */ mul.d $f16, $f2, $f12 -/* 01C604 7001BA04 00000000 */ nop -/* 01C608 7001BA08 462E8482 */ mul.d $f18, $f16, $f14 -/* 01C60C 7001BA0C 46229100 */ add.d $f4, $f18, $f2 -/* 01C610 7001BA10 03E00008 */ jr $ra -/* 01C614 7001BA14 46202020 */ cvt.s.d $f0, $f4 - -.L7001BA18: -/* 01C618 7001BA18 03E00008 */ jr $ra -/* 01C61C 7001BA1C C7A00000 */ lwc1 $f0, ($sp) - -.L7001BA20: -/* 01C620 7001BA20 28610136 */ slti $at, $v1, 0x136 -/* 01C624 7001BA24 10200044 */ beqz $at, .L7001BB38 -/* 01C628 7001BA28 C7A40000 */ lwc1 $f4, ($sp) -/* 01C62C 7001BA2C C7A60000 */ lwc1 $f6, ($sp) -/* 01C630 7001BA30 3C018003 */ li $at, 0x80030000 # -0.000000 -/* 01C634 7001BA34 D42A9A28 */ ldc1 $f10, -0x65d8($at) -/* 01C638 7001BA38 460030A1 */ cvt.d.s $f2, $f6 -/* 01C63C 7001BA3C 44804800 */ mtc1 $zero, $f9 -/* 01C640 7001BA40 462A1002 */ mul.d $f0, $f2, $f10 -/* 01C644 7001BA44 44804000 */ mtc1 $zero, $f8 -/* 01C648 7001BA48 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 01C64C 7001BA4C 4620403E */ c.le.d $f8, $f0 -/* 01C650 7001BA50 00000000 */ nop -/* 01C654 7001BA54 4502000B */ bc1fl .L7001BA84 -/* 01C658 7001BA58 44813800 */ mtc1 $at, $f7 -/* 01C65C 7001BA5C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 01C660 7001BA60 44818800 */ mtc1 $at, $f17 -/* 01C664 7001BA64 44808000 */ mtc1 $zero, $f16 -/* 01C668 7001BA68 00000000 */ nop -/* 01C66C 7001BA6C 46300480 */ add.d $f18, $f0, $f16 -/* 01C670 7001BA70 4620910D */ trunc.w.d $f4, $f18 -/* 01C674 7001BA74 44022000 */ mfc1 $v0, $f4 -/* 01C678 7001BA78 10000009 */ b .L7001BAA0 -/* 01C67C 7001BA7C 44828000 */ mtc1 $v0, $f16 -/* 01C680 7001BA80 44813800 */ mtc1 $at, $f7 -.L7001BA84: -/* 01C684 7001BA84 44803000 */ mtc1 $zero, $f6 -/* 01C688 7001BA88 00000000 */ nop -/* 01C68C 7001BA8C 46260281 */ sub.d $f10, $f0, $f6 -/* 01C690 7001BA90 4620520D */ trunc.w.d $f8, $f10 -/* 01C694 7001BA94 44024000 */ mfc1 $v0, $f8 -/* 01C698 7001BA98 00000000 */ nop -/* 01C69C 7001BA9C 44828000 */ mtc1 $v0, $f16 -.L7001BAA0: -/* 01C6A0 7001BAA0 3C018003 */ lui $at, 0x8003 -/* 01C6A4 7001BAA4 D4329A30 */ ldc1 $f18, -0x65d0($at) -/* 01C6A8 7001BAA8 46808021 */ cvt.d.w $f0, $f16 -/* 01C6AC 7001BAAC 3C018003 */ lui $at, 0x8003 -/* 01C6B0 7001BAB0 D4269A38 */ ldc1 $f6, -0x65c8($at) -/* 01C6B4 7001BAB4 3C038003 */ lui $v1, %hi(F64_80029A00) # $v1, 0x8003 -/* 01C6B8 7001BAB8 24639A00 */ addiu $v1, %lo(F64_80029A00) # addiu $v1, $v1, -0x6600 -/* 01C6BC 7001BABC 46320102 */ mul.d $f4, $f0, $f18 -/* 01C6C0 7001BAC0 D4680020 */ ldc1 $f8, 0x20($v1) -/* 01C6C4 7001BAC4 D4720018 */ ldc1 $f18, 0x18($v1) -/* 01C6C8 7001BAC8 30590001 */ andi $t9, $v0, 1 -/* 01C6CC 7001BACC 46260282 */ mul.d $f10, $f0, $f6 -/* 01C6D0 7001BAD0 46241081 */ sub.d $f2, $f2, $f4 -/* 01C6D4 7001BAD4 462A1081 */ sub.d $f2, $f2, $f10 -/* 01C6D8 7001BAD8 D46A0010 */ ldc1 $f10, 0x10($v1) -/* 01C6DC 7001BADC 46221302 */ mul.d $f12, $f2, $f2 -/* 01C6E0 7001BAE0 00000000 */ nop -/* 01C6E4 7001BAE4 462C4402 */ mul.d $f16, $f8, $f12 -/* 01C6E8 7001BAE8 46328100 */ add.d $f4, $f16, $f18 -/* 01C6EC 7001BAEC D4720008 */ ldc1 $f18, 8($v1) -/* 01C6F0 7001BAF0 462C2182 */ mul.d $f6, $f4, $f12 -/* 01C6F4 7001BAF4 462A3200 */ add.d $f8, $f6, $f10 -/* 01C6F8 7001BAF8 462C4402 */ mul.d $f16, $f8, $f12 -/* 01C6FC 7001BAFC 17200007 */ bnez $t9, .L7001BB1C -/* 01C700 7001BB00 46309380 */ add.d $f14, $f18, $f16 -/* 01C704 7001BB04 462C1102 */ mul.d $f4, $f2, $f12 -/* 01C708 7001BB08 00000000 */ nop -/* 01C70C 7001BB0C 462E2182 */ mul.d $f6, $f4, $f14 -/* 01C710 7001BB10 46223280 */ add.d $f10, $f6, $f2 -/* 01C714 7001BB14 03E00008 */ jr $ra -/* 01C718 7001BB18 46205020 */ cvt.s.d $f0, $f10 - -.L7001BB1C: -/* 01C71C 7001BB1C 462C1202 */ mul.d $f8, $f2, $f12 -/* 01C720 7001BB20 00000000 */ nop -/* 01C724 7001BB24 462E4482 */ mul.d $f18, $f8, $f14 -/* 01C728 7001BB28 46229400 */ add.d $f16, $f18, $f2 -/* 01C72C 7001BB2C 46208020 */ cvt.s.d $f0, $f16 -/* 01C730 7001BB30 03E00008 */ jr $ra -/* 01C734 7001BB34 46000007 */ neg.s $f0, $f0 - -.L7001BB38: -/* 01C738 7001BB38 46042032 */ c.eq.s $f4, $f4 -/* 01C73C 7001BB3C 3C018003 */ lui $at, 0x8003 -/* 01C740 7001BB40 45010004 */ bc1t .L7001BB54 -/* 01C744 7001BB44 00000000 */ nop -/* 01C748 7001BB48 3C018003 */ lui $at, 0x8003 -/* 01C74C 7001BB4C 03E00008 */ jr $ra -/* 01C750 7001BB50 C4209D40 */ lwc1 $f0, -0x62c0($at) - -.L7001BB54: -/* 01C754 7001BB54 C4209A40 */ lwc1 $f0, -0x65c0($at) -/* 01C758 7001BB58 03E00008 */ jr $ra -/* 01C75C 7001BB5C 00000000 */ nop - -.section .rodata -glabel F64_80029A00 -.double 1.0 -glabel F64_80029A08 -.double -0.1666665955042776 -glabel F64_80029A10 -.double 0.008333066246082155 -glabel F64_80029A18 -.double -0.0001980960290193795 -glabel F64_80029A20 -.double 0.000002605780637968037 -glabel F64_80029A28 -.double 0.3183098861837907 -glabel F64_80029A30 -.double 3.141592621803284 -glabel F64_80029A38 -.double 3.178650954705639e-8 -glabel F64_80029A40 -.double 0.0 - .word 0 - .word 0 -.section .text - -glabel osDestroyThread -/* 01C760 7001BB60 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01C764 7001BB64 AFBF0024 */ sw $ra, 0x24($sp) -/* 01C768 7001BB68 AFA40038 */ sw $a0, 0x38($sp) -/* 01C76C 7001BB6C AFB20020 */ sw $s2, 0x20($sp) -/* 01C770 7001BB70 AFB1001C */ sw $s1, 0x1c($sp) -/* 01C774 7001BB74 0C00617C */ jal __osDisableInt -/* 01C778 7001BB78 AFB00018 */ sw $s0, 0x18($sp) -/* 01C77C 7001BB7C 8FAE0038 */ lw $t6, 0x38($sp) -/* 01C780 7001BB80 00408025 */ move $s0, $v0 -/* 01C784 7001BB84 15C00005 */ bnez $t6, .L7001BB9C -/* 01C788 7001BB88 00000000 */ nop -/* 01C78C 7001BB8C 3C0F8002 */ lui $t7, %hi(__osRunningThread) -/* 01C790 7001BB90 8DEF7730 */ lw $t7, %lo(__osRunningThread)($t7) -/* 01C794 7001BB94 10000009 */ b .L7001BBBC -/* 01C798 7001BB98 AFAF0038 */ sw $t7, 0x38($sp) -.L7001BB9C: -/* 01C79C 7001BB9C 8FB80038 */ lw $t8, 0x38($sp) -/* 01C7A0 7001BBA0 24010001 */ li $at, 1 -/* 01C7A4 7001BBA4 97190010 */ lhu $t9, 0x10($t8) -/* 01C7A8 7001BBA8 13210004 */ beq $t9, $at, .L7001BBBC -/* 01C7AC 7001BBAC 00000000 */ nop -/* 01C7B0 7001BBB0 8F040008 */ lw $a0, 8($t8) -/* 01C7B4 7001BBB4 0C0042A4 */ jal __osDequeueThread -/* 01C7B8 7001BBB8 03002825 */ move $a1, $t8 -.L7001BBBC: -/* 01C7BC 7001BBBC 3C088002 */ lui $t0, %hi(__osActiveQueue) -/* 01C7C0 7001BBC0 8D08772C */ lw $t0, %lo(__osActiveQueue)($t0) -/* 01C7C4 7001BBC4 8FA90038 */ lw $t1, 0x38($sp) -/* 01C7C8 7001BBC8 15090005 */ bne $t0, $t1, .L7001BBE0 -/* 01C7CC 7001BBCC 00000000 */ nop -/* 01C7D0 7001BBD0 8D0A000C */ lw $t2, 0xc($t0) -/* 01C7D4 7001BBD4 3C018002 */ lui $at, %hi(__osActiveQueue) # $at, 0x8002 -/* 01C7D8 7001BBD8 10000010 */ b .L7001BC1C -/* 01C7DC 7001BBDC AC2A772C */ sw $t2, %lo(__osActiveQueue)($at) -.L7001BBE0: -/* 01C7E0 7001BBE0 3C118002 */ lui $s1, %hi(__osActiveQueue) # $s1, 0x8002 -/* 01C7E4 7001BBE4 8E31772C */ lw $s1, %lo(__osActiveQueue)($s1) -/* 01C7E8 7001BBE8 8E32000C */ lw $s2, 0xc($s1) -/* 01C7EC 7001BBEC 1240000B */ beqz $s2, .L7001BC1C -/* 01C7F0 7001BBF0 00000000 */ nop -.L7001BBF4: -/* 01C7F4 7001BBF4 8FAB0038 */ lw $t3, 0x38($sp) -/* 01C7F8 7001BBF8 164B0004 */ bne $s2, $t3, .L7001BC0C -/* 01C7FC 7001BBFC 00000000 */ nop -/* 01C800 7001BC00 8D6C000C */ lw $t4, 0xc($t3) -/* 01C804 7001BC04 10000005 */ b .L7001BC1C -/* 01C808 7001BC08 AE2C000C */ sw $t4, 0xc($s1) -.L7001BC0C: -/* 01C80C 7001BC0C 02408825 */ move $s1, $s2 -/* 01C810 7001BC10 8E32000C */ lw $s2, 0xc($s1) -/* 01C814 7001BC14 1640FFF7 */ bnez $s2, .L7001BBF4 -/* 01C818 7001BC18 00000000 */ nop -.L7001BC1C: -/* 01C81C 7001BC1C 3C0E8002 */ lui $t6, %hi(__osRunningThread) -/* 01C820 7001BC20 8DCE7730 */ lw $t6, %lo(__osRunningThread)($t6) -/* 01C824 7001BC24 8FAD0038 */ lw $t5, 0x38($sp) -/* 01C828 7001BC28 15AE0003 */ bne $t5, $t6, .L7001BC38 -/* 01C82C 7001BC2C 00000000 */ nop -/* 01C830 7001BC30 0C004241 */ jal __osDispatchThread -/* 01C834 7001BC34 00000000 */ nop -.L7001BC38: -/* 01C838 7001BC38 0C006184 */ jal __osRestoreInt -/* 01C83C 7001BC3C 02002025 */ move $a0, $s0 -/* 01C840 7001BC40 8FBF0024 */ lw $ra, 0x24($sp) -/* 01C844 7001BC44 8FB00018 */ lw $s0, 0x18($sp) -/* 01C848 7001BC48 8FB1001C */ lw $s1, 0x1c($sp) -/* 01C84C 7001BC4C 8FB20020 */ lw $s2, 0x20($sp) -/* 01C850 7001BC50 03E00008 */ jr $ra -/* 01C854 7001BC54 27BD0038 */ addiu $sp, $sp, 0x38 - -/* 01C858 7001BC58 00000000 */ nop -/* 01C85C 7001BC5C 00000000 */ nop - - -glabel __setInstChanState -/* 01C860 7001BC60 8C8E0060 */ lw $t6, 0x60($a0) -/* 01C864 7001BC64 00061100 */ sll $v0, $a2, 4 -/* 01C868 7001BC68 01C27821 */ addu $t7, $t6, $v0 -/* 01C86C 7001BC6C ADE50000 */ sw $a1, ($t7) -/* 01C870 7001BC70 8C990060 */ lw $t9, 0x60($a0) -/* 01C874 7001BC74 90B80001 */ lbu $t8, 1($a1) -/* 01C878 7001BC78 03224021 */ addu $t0, $t9, $v0 -/* 01C87C 7001BC7C A1180007 */ sb $t8, 7($t0) -/* 01C880 7001BC80 8C8A0060 */ lw $t2, 0x60($a0) -/* 01C884 7001BC84 90A90000 */ lbu $t1, ($a1) -/* 01C888 7001BC88 01425821 */ addu $t3, $t2, $v0 -/* 01C88C 7001BC8C A1690009 */ sb $t1, 9($t3) -/* 01C890 7001BC90 8C8D0060 */ lw $t5, 0x60($a0) -/* 01C894 7001BC94 90AC0002 */ lbu $t4, 2($a1) -/* 01C898 7001BC98 01A27021 */ addu $t6, $t5, $v0 -/* 01C89C 7001BC9C A1CC0008 */ sb $t4, 8($t6) -/* 01C8A0 7001BCA0 8C990060 */ lw $t9, 0x60($a0) -/* 01C8A4 7001BCA4 84AF000C */ lh $t7, 0xc($a1) -/* 01C8A8 7001BCA8 0322C021 */ addu $t8, $t9, $v0 -/* 01C8AC 7001BCAC 03E00008 */ jr $ra -/* 01C8B0 7001BCB0 A70F0004 */ sh $t7, 4($t8) - -glabel __resetPerfChanState -/* 01C8B4 7001BCB4 8C8E0060 */ lw $t6, 0x60($a0) -/* 01C8B8 7001BCB8 00051100 */ sll $v0, $a1, 4 -/* 01C8BC 7001BCBC 24080040 */ li $t0, 64 -/* 01C8C0 7001BCC0 01C27821 */ addu $t7, $t6, $v0 -/* 01C8C4 7001BCC4 A1E00006 */ sb $zero, 6($t7) -/* 01C8C8 7001BCC8 8C980060 */ lw $t8, 0x60($a0) -/* 01C8CC 7001BCCC 240B007F */ li $t3, 127 -/* 01C8D0 7001BCD0 240E0005 */ li $t6, 5 -/* 01C8D4 7001BCD4 0302C821 */ addu $t9, $t8, $v0 -/* 01C8D8 7001BCD8 A320000A */ sb $zero, 0xa($t9) -/* 01C8DC 7001BCDC 8C890060 */ lw $t1, 0x60($a0) -/* 01C8E0 7001BCE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01C8E4 7001BCE4 44812000 */ mtc1 $at, $f4 -/* 01C8E8 7001BCE8 01225021 */ addu $t2, $t1, $v0 -/* 01C8EC 7001BCEC A1480007 */ sb $t0, 7($t2) -/* 01C8F0 7001BCF0 8C8C0060 */ lw $t4, 0x60($a0) -/* 01C8F4 7001BCF4 240800C8 */ li $t0, 200 -/* 01C8F8 7001BCF8 01826821 */ addu $t5, $t4, $v0 -/* 01C8FC 7001BCFC A1AB0009 */ sb $t3, 9($t5) -/* 01C900 7001BD00 8C8F0060 */ lw $t7, 0x60($a0) -/* 01C904 7001BD04 01E2C021 */ addu $t8, $t7, $v0 -/* 01C908 7001BD08 A30E0008 */ sb $t6, 8($t8) -/* 01C90C 7001BD0C 8C990060 */ lw $t9, 0x60($a0) -/* 01C910 7001BD10 03224821 */ addu $t1, $t9, $v0 -/* 01C914 7001BD14 A120000B */ sb $zero, 0xb($t1) -/* 01C918 7001BD18 8C8A0060 */ lw $t2, 0x60($a0) -/* 01C91C 7001BD1C 01426021 */ addu $t4, $t2, $v0 -/* 01C920 7001BD20 A5880004 */ sh $t0, 4($t4) -/* 01C924 7001BD24 8C8B0060 */ lw $t3, 0x60($a0) -/* 01C928 7001BD28 01626821 */ addu $t5, $t3, $v0 -/* 01C92C 7001BD2C 03E00008 */ jr $ra -/* 01C930 7001BD30 E5A4000C */ swc1 $f4, 0xc($t5) - -glabel __initFromBank -/* 01C934 7001BD34 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01C938 7001BD38 AFB20020 */ sw $s2, 0x20($sp) -/* 01C93C 7001BD3C 00809025 */ move $s2, $a0 -/* 01C940 7001BD40 AFBF0024 */ sw $ra, 0x24($sp) -/* 01C944 7001BD44 AFB1001C */ sw $s1, 0x1c($sp) -/* 01C948 7001BD48 AFB00018 */ sw $s0, 0x18($sp) -/* 01C94C 7001BD4C AFA5002C */ sw $a1, 0x2c($sp) -/* 01C950 7001BD50 00A01025 */ move $v0, $a1 -/* 01C954 7001BD54 8C51000C */ lw $s1, 0xc($v0) -.L7001BD58: -/* 01C958 7001BD58 24420004 */ addiu $v0, $v0, 4 -/* 01C95C 7001BD5C 5220FFFE */ beql $s1, $zero, .L7001BD58 -/* 01C960 7001BD60 8C51000C */ lw $s1, 0xc($v0) -/* 01C964 7001BD64 924E0034 */ lbu $t6, 0x34($s2) -/* 01C968 7001BD68 00008025 */ move $s0, $zero -/* 01C96C 7001BD6C 19C0000C */ blez $t6, .L7001BDA0 -/* 01C970 7001BD70 02402025 */ move $a0, $s2 -.L7001BD74: -/* 01C974 7001BD74 0C006F2D */ jal __resetPerfChanState -/* 01C978 7001BD78 02002825 */ move $a1, $s0 -/* 01C97C 7001BD7C 02402025 */ move $a0, $s2 -/* 01C980 7001BD80 02202825 */ move $a1, $s1 -/* 01C984 7001BD84 0C006F18 */ jal __setInstChanState -/* 01C988 7001BD88 02003025 */ move $a2, $s0 -/* 01C98C 7001BD8C 924F0034 */ lbu $t7, 0x34($s2) -/* 01C990 7001BD90 26100001 */ addiu $s0, $s0, 1 -/* 01C994 7001BD94 020F082A */ slt $at, $s0, $t7 -/* 01C998 7001BD98 5420FFF6 */ bnezl $at, .L7001BD74 -/* 01C99C 7001BD9C 02402025 */ move $a0, $s2 -.L7001BDA0: -/* 01C9A0 7001BDA0 8FB8002C */ lw $t8, 0x2c($sp) -/* 01C9A4 7001BDA4 02402025 */ move $a0, $s2 -/* 01C9A8 7001BDA8 8F190008 */ lw $t9, 8($t8) -/* 01C9AC 7001BDAC 53200009 */ beql $t9, $zero, .L7001BDD4 -/* 01C9B0 7001BDB0 8FBF0024 */ lw $ra, 0x24($sp) -/* 01C9B4 7001BDB4 0C006F2D */ jal __resetPerfChanState -/* 01C9B8 7001BDB8 02002825 */ move $a1, $s0 -/* 01C9BC 7001BDBC 8FA8002C */ lw $t0, 0x2c($sp) -/* 01C9C0 7001BDC0 02402025 */ move $a0, $s2 -/* 01C9C4 7001BDC4 24060009 */ li $a2, 9 -/* 01C9C8 7001BDC8 0C006F18 */ jal __setInstChanState -/* 01C9CC 7001BDCC 8D050008 */ lw $a1, 8($t0) -/* 01C9D0 7001BDD0 8FBF0024 */ lw $ra, 0x24($sp) -.L7001BDD4: -/* 01C9D4 7001BDD4 8FB00018 */ lw $s0, 0x18($sp) -/* 01C9D8 7001BDD8 8FB1001C */ lw $s1, 0x1c($sp) -/* 01C9DC 7001BDDC 8FB20020 */ lw $s2, 0x20($sp) -/* 01C9E0 7001BDE0 03E00008 */ jr $ra -/* 01C9E4 7001BDE4 27BD0028 */ addiu $sp, $sp, 0x28 - -/* 01C9E8 7001BDE8 03E00008 */ jr $ra -/* 01C9EC 7001BDEC 00000000 */ nop - -glabel __vsDelta -/* 01C9F0 7001BDF0 8C8E0024 */ lw $t6, 0x24($a0) -/* 01C9F4 7001BDF4 240203E8 */ li $v0, 1000 -/* 01C9F8 7001BDF8 01C51823 */ subu $v1, $t6, $a1 -/* 01C9FC 7001BDFC 04600003 */ bltz $v1, .L7001BE0C -/* 01CA00 7001BE00 00000000 */ nop -/* 01CA04 7001BE04 03E00008 */ jr $ra -/* 01CA08 7001BE08 00601025 */ move $v0, $v1 - -.L7001BE0C: -/* 01CA0C 7001BE0C 03E00008 */ jr $ra -/* 01CA10 7001BE10 00000000 */ nop - -glabel __vsVol -/* 01CA14 7001BE14 908E0036 */ lbu $t6, 0x36($a0) -/* 01CA18 7001BE18 908F0033 */ lbu $t7, 0x33($a0) -/* 01CA1C 7001BE1C 90990030 */ lbu $t9, 0x30($a0) -/* 01CA20 7001BE20 908A0031 */ lbu $t2, 0x31($a0) -/* 01CA24 7001BE24 01CF0019 */ multu $t6, $t7 -/* 01CA28 7001BE28 8CA90060 */ lw $t1, 0x60($a1) -/* 01CA2C 7001BE2C 8C8E0020 */ lw $t6, 0x20($a0) -/* 01CA30 7001BE30 000A5900 */ sll $t3, $t2, 4 -/* 01CA34 7001BE34 012B6021 */ addu $t4, $t1, $t3 -/* 01CA38 7001BE38 918D0009 */ lbu $t5, 9($t4) -/* 01CA3C 7001BE3C 91CF000D */ lbu $t7, 0xd($t6) -/* 01CA40 7001BE40 0000C012 */ mflo $t8 -/* 01CA44 7001BE44 00000000 */ nop -/* 01CA48 7001BE48 00000000 */ nop -/* 01CA4C 7001BE4C 03190019 */ multu $t8, $t9 -/* 01CA50 7001BE50 84B90032 */ lh $t9, 0x32($a1) -/* 01CA54 7001BE54 00001812 */ mflo $v1 -/* 01CA58 7001BE58 00034183 */ sra $t0, $v1, 6 -/* 01CA5C 7001BE5C 01001825 */ move $v1, $t0 -/* 01CA60 7001BE60 01AF0019 */ multu $t5, $t7 -/* 01CA64 7001BE64 0000C012 */ mflo $t8 -/* 01CA68 7001BE68 00000000 */ nop -/* 01CA6C 7001BE6C 00000000 */ nop -/* 01CA70 7001BE70 03190019 */ multu $t8, $t9 -/* 01CA74 7001BE74 00003012 */ mflo $a2 -/* 01CA78 7001BE78 00064383 */ sra $t0, $a2, 0xe -/* 01CA7C 7001BE7C 00000000 */ nop -/* 01CA80 7001BE80 00680019 */ multu $v1, $t0 -/* 01CA84 7001BE84 00001812 */ mflo $v1 -/* 01CA88 7001BE88 000353C2 */ srl $t2, $v1, 0xf -/* 01CA8C 7001BE8C 000A1400 */ sll $v0, $t2, 0x10 -/* 01CA90 7001BE90 00024C03 */ sra $t1, $v0, 0x10 -/* 01CA94 7001BE94 03E00008 */ jr $ra -/* 01CA98 7001BE98 01201025 */ move $v0, $t1 - -glabel __seqpReleaseVoice -/* 01CA9C 7001BE9C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 01CAA0 7001BEA0 AFBF0034 */ sw $ra, 0x34($sp) -/* 01CAA4 7001BEA4 AFB60030 */ sw $s6, 0x30($sp) -/* 01CAA8 7001BEA8 AFB5002C */ sw $s5, 0x2c($sp) -/* 01CAAC 7001BEAC AFB40028 */ sw $s4, 0x28($sp) -/* 01CAB0 7001BEB0 AFB30024 */ sw $s3, 0x24($sp) -/* 01CAB4 7001BEB4 AFB20020 */ sw $s2, 0x20($sp) -/* 01CAB8 7001BEB8 AFB1001C */ sw $s1, 0x1c($sp) -/* 01CABC 7001BEBC AFB00018 */ sw $s0, 0x18($sp) -/* 01CAC0 7001BEC0 AFA60068 */ sw $a2, 0x68($sp) -/* 01CAC4 7001BEC4 8CB60010 */ lw $s6, 0x10($a1) -/* 01CAC8 7001BEC8 0080A025 */ move $s4, $a0 -/* 01CACC 7001BECC 00A0A825 */ move $s5, $a1 -/* 01CAD0 7001BED0 92CE0034 */ lbu $t6, 0x34($s6) -/* 01CAD4 7001BED4 55C0001A */ bnezl $t6, .L7001BF40 -/* 01CAD8 7001BED8 240A0003 */ li $t2, 3 -/* 01CADC 7001BEDC 8C900050 */ lw $s0, 0x50($a0) -/* 01CAE0 7001BEE0 24130006 */ li $s3, 6 -/* 01CAE4 7001BEE4 52000016 */ beql $s0, $zero, .L7001BF40 -/* 01CAE8 7001BEE8 240A0003 */ li $t2, 3 -.L7001BEEC: -/* 01CAEC 7001BEEC 860F000C */ lh $t7, 0xc($s0) -/* 01CAF0 7001BEF0 8E110000 */ lw $s1, ($s0) -/* 01CAF4 7001BEF4 166F000F */ bne $s3, $t7, .L7001BF34 -/* 01CAF8 7001BEF8 00000000 */ nop -/* 01CAFC 7001BEFC 8E180010 */ lw $t8, 0x10($s0) -/* 01CB00 7001BF00 16B8000C */ bne $s5, $t8, .L7001BF34 -/* 01CB04 7001BF04 00000000 */ nop -/* 01CB08 7001BF08 12200005 */ beqz $s1, .L7001BF20 -/* 01CB0C 7001BF0C 26920048 */ addiu $s2, $s4, 0x48 -/* 01CB10 7001BF10 8E390008 */ lw $t9, 8($s1) -/* 01CB14 7001BF14 8E080008 */ lw $t0, 8($s0) -/* 01CB18 7001BF18 03284821 */ addu $t1, $t9, $t0 -/* 01CB1C 7001BF1C AE290008 */ sw $t1, 8($s1) -.L7001BF20: -/* 01CB20 7001BF20 0C003AA4 */ jal alUnlink -/* 01CB24 7001BF24 02002025 */ move $a0, $s0 -/* 01CB28 7001BF28 02002025 */ move $a0, $s0 -/* 01CB2C 7001BF2C 0C003AB0 */ jal alLink -/* 01CB30 7001BF30 02402825 */ move $a1, $s2 -.L7001BF34: -/* 01CB34 7001BF34 1620FFED */ bnez $s1, .L7001BEEC -/* 01CB38 7001BF38 02208025 */ move $s0, $s1 -/* 01CB3C 7001BF3C 240A0003 */ li $t2, 3 -.L7001BF40: -/* 01CB40 7001BF40 A2C00033 */ sb $zero, 0x33($s6) -/* 01CB44 7001BF44 A2CA0034 */ sb $t2, 0x34($s6) -/* 01CB48 7001BF48 A2C00030 */ sb $zero, 0x30($s6) -/* 01CB4C 7001BF4C 8FAC0068 */ lw $t4, 0x68($sp) -/* 01CB50 7001BF50 8E8B001C */ lw $t3, 0x1c($s4) -/* 01CB54 7001BF54 02A02825 */ move $a1, $s5 -/* 01CB58 7001BF58 00003025 */ move $a2, $zero -/* 01CB5C 7001BF5C 016C6821 */ addu $t5, $t3, $t4 -/* 01CB60 7001BF60 AECD0024 */ sw $t5, 0x24($s6) -/* 01CB64 7001BF64 8E840014 */ lw $a0, 0x14($s4) -/* 01CB68 7001BF68 0C0082D0 */ jal alSynSetPriority -/* 01CB6C 7001BF6C 26920048 */ addiu $s2, $s4, 0x48 -/* 01CB70 7001BF70 8E840014 */ lw $a0, 0x14($s4) -/* 01CB74 7001BF74 02A02825 */ move $a1, $s5 -/* 01CB78 7001BF78 00003025 */ move $a2, $zero -/* 01CB7C 7001BF7C 0C004CE8 */ jal alSynSetVol -/* 01CB80 7001BF80 8FA70068 */ lw $a3, 0x68($sp) -/* 01CB84 7001BF84 240E0005 */ li $t6, 5 -/* 01CB88 7001BF88 A7AE0050 */ sh $t6, 0x50($sp) -/* 01CB8C 7001BF8C AFB50054 */ sw $s5, 0x54($sp) -/* 01CB90 7001BF90 02402025 */ move $a0, $s2 -/* 01CB94 7001BF94 27A50050 */ addiu $a1, $sp, 0x50 -/* 01CB98 7001BF98 0C004BBF */ jal alEvtqPostEvent -/* 01CB9C 7001BF9C 8FA60068 */ lw $a2, 0x68($sp) -/* 01CBA0 7001BFA0 8FBF0034 */ lw $ra, 0x34($sp) -/* 01CBA4 7001BFA4 8FB00018 */ lw $s0, 0x18($sp) -/* 01CBA8 7001BFA8 8FB1001C */ lw $s1, 0x1c($sp) -/* 01CBAC 7001BFAC 8FB20020 */ lw $s2, 0x20($sp) -/* 01CBB0 7001BFB0 8FB30024 */ lw $s3, 0x24($sp) -/* 01CBB4 7001BFB4 8FB40028 */ lw $s4, 0x28($sp) -/* 01CBB8 7001BFB8 8FB5002C */ lw $s5, 0x2c($sp) -/* 01CBBC 7001BFBC 8FB60030 */ lw $s6, 0x30($sp) -/* 01CBC0 7001BFC0 03E00008 */ jr $ra -/* 01CBC4 7001BFC4 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel __voiceNeedsNoteKill -/* 01CBC8 7001BFC8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 01CBCC 7001BFCC AFBF0014 */ sw $ra, 0x14($sp) -/* 01CBD0 7001BFD0 8C870050 */ lw $a3, 0x50($a0) -/* 01CBD4 7001BFD4 00805025 */ move $t2, $a0 -/* 01CBD8 7001BFD8 00004025 */ move $t0, $zero -/* 01CBDC 7001BFDC 10E0001F */ beqz $a3, .L7001C05C -/* 01CBE0 7001BFE0 24090001 */ li $t1, 1 -/* 01CBE4 7001BFE4 24040005 */ li $a0, 5 -.L7001BFE8: -/* 01CBE8 7001BFE8 84EE000C */ lh $t6, 0xc($a3) -/* 01CBEC 7001BFEC 8CE30008 */ lw $v1, 8($a3) -/* 01CBF0 7001BFF0 8CE20000 */ lw $v0, ($a3) -/* 01CBF4 7001BFF4 148E0017 */ bne $a0, $t6, .L7001C054 -/* 01CBF8 7001BFF8 01034021 */ addu $t0, $t0, $v1 -/* 01CBFC 7001BFFC 8CEF0010 */ lw $t7, 0x10($a3) -/* 01CC00 7001C000 14AF0014 */ bne $a1, $t7, .L7001C054 -/* 01CC04 7001C004 00C8082A */ slt $at, $a2, $t0 -/* 01CC08 7001C008 10200010 */ beqz $at, .L7001C04C -/* 01CC0C 7001C00C 00E02025 */ move $a0, $a3 -/* 01CC10 7001C010 50400005 */ beql $v0, $zero, .L7001C028 -/* 01CC14 7001C014 AFA7002C */ sw $a3, 0x2c($sp) -/* 01CC18 7001C018 8C580008 */ lw $t8, 8($v0) -/* 01CC1C 7001C01C 0303C821 */ addu $t9, $t8, $v1 -/* 01CC20 7001C020 AC590008 */ sw $t9, 8($v0) -/* 01CC24 7001C024 AFA7002C */ sw $a3, 0x2c($sp) -.L7001C028: -/* 01CC28 7001C028 A3A9001F */ sb $t1, 0x1f($sp) -/* 01CC2C 7001C02C 0C003AA4 */ jal alUnlink -/* 01CC30 7001C030 AFAA0030 */ sw $t2, 0x30($sp) -/* 01CC34 7001C034 8FAA0030 */ lw $t2, 0x30($sp) -/* 01CC38 7001C038 8FA4002C */ lw $a0, 0x2c($sp) -/* 01CC3C 7001C03C 0C003AB0 */ jal alLink -/* 01CC40 7001C040 25450048 */ addiu $a1, $t2, 0x48 -/* 01CC44 7001C044 10000005 */ b .L7001C05C -/* 01CC48 7001C048 93A9001F */ lbu $t1, 0x1f($sp) -.L7001C04C: -/* 01CC4C 7001C04C 10000003 */ b .L7001C05C -/* 01CC50 7001C050 00004825 */ move $t1, $zero -.L7001C054: -/* 01CC54 7001C054 1440FFE4 */ bnez $v0, .L7001BFE8 -/* 01CC58 7001C058 00403825 */ move $a3, $v0 -.L7001C05C: -/* 01CC5C 7001C05C 8FBF0014 */ lw $ra, 0x14($sp) -/* 01CC60 7001C060 27BD0030 */ addiu $sp, $sp, 0x30 -/* 01CC64 7001C064 01201025 */ move $v0, $t1 -/* 01CC68 7001C068 03E00008 */ jr $ra -/* 01CC6C 7001C06C 00000000 */ nop - -glabel __unmapVoice -/* 01CC70 7001C070 8C830064 */ lw $v1, 0x64($a0) -/* 01CC74 7001C074 00001025 */ move $v0, $zero -/* 01CC78 7001C078 24A6FFFC */ addiu $a2, $a1, -4 -/* 01CC7C 7001C07C 10600016 */ beqz $v1, .L7001C0D8 -/* 01CC80 7001C080 00000000 */ nop -.L7001C084: -/* 01CC84 7001C084 54660011 */ bnel $v1, $a2, .L7001C0CC -/* 01CC88 7001C088 00601025 */ move $v0, $v1 -/* 01CC8C 7001C08C 50400005 */ beql $v0, $zero, .L7001C0A4 -/* 01CC90 7001C090 8C6F0000 */ lw $t7, ($v1) -/* 01CC94 7001C094 8C6E0000 */ lw $t6, ($v1) -/* 01CC98 7001C098 10000003 */ b .L7001C0A8 -/* 01CC9C 7001C09C AC4E0000 */ sw $t6, ($v0) -/* 01CCA0 7001C0A0 8C6F0000 */ lw $t7, ($v1) -.L7001C0A4: -/* 01CCA4 7001C0A4 AC8F0064 */ sw $t7, 0x64($a0) -.L7001C0A8: -/* 01CCA8 7001C0A8 8C980068 */ lw $t8, 0x68($a0) -/* 01CCAC 7001C0AC 54780003 */ bnel $v1, $t8, .L7001C0BC -/* 01CCB0 7001C0B0 8C99006C */ lw $t9, 0x6c($a0) -/* 01CCB4 7001C0B4 AC820068 */ sw $v0, 0x68($a0) -/* 01CCB8 7001C0B8 8C99006C */ lw $t9, 0x6c($a0) -.L7001C0BC: -/* 01CCBC 7001C0BC AC790000 */ sw $t9, ($v1) -/* 01CCC0 7001C0C0 03E00008 */ jr $ra -/* 01CCC4 7001C0C4 AC83006C */ sw $v1, 0x6c($a0) - -/* 01CCC8 7001C0C8 00601025 */ move $v0, $v1 -.L7001C0CC: -/* 01CCCC 7001C0CC 8C630000 */ lw $v1, ($v1) -/* 01CCD0 7001C0D0 1460FFEC */ bnez $v1, .L7001C084 -/* 01CCD4 7001C0D4 00000000 */ nop -.L7001C0D8: -/* 01CCD8 7001C0D8 03E00008 */ jr $ra -/* 01CCDC 7001C0DC 00000000 */ nop - -glabel __postNextSeqEvent -/* 01CCE0 7001C0E0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01CCE4 7001C0E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 01CCE8 7001C0E8 8C8E002C */ lw $t6, 0x2c($a0) -/* 01CCEC 7001C0EC 24010001 */ li $at, 1 -/* 01CCF0 7001C0F0 00803825 */ move $a3, $a0 -/* 01CCF4 7001C0F4 15C1002D */ bne $t6, $at, .L7001C1AC -/* 01CCF8 7001C0F8 8C860018 */ lw $a2, 0x18($a0) -/* 01CCFC 7001C0FC 10C0002B */ beqz $a2, .L7001C1AC -/* 01CD00 7001C100 00C02025 */ move $a0, $a2 -/* 01CD04 7001C104 27A50024 */ addiu $a1, $sp, 0x24 -/* 01CD08 7001C108 AFA60020 */ sw $a2, 0x20($sp) -/* 01CD0C 7001C10C 0C008264 */ jal __alSeqNextDelta -/* 01CD10 7001C110 AFA70038 */ sw $a3, 0x38($sp) -/* 01CD14 7001C114 8FA60020 */ lw $a2, 0x20($sp) -/* 01CD18 7001C118 10400024 */ beqz $v0, .L7001C1AC -/* 01CD1C 7001C11C 8FA70038 */ lw $a3, 0x38($sp) -/* 01CD20 7001C120 8CEF0084 */ lw $t7, 0x84($a3) -/* 01CD24 7001C124 00C02025 */ move $a0, $a2 -/* 01CD28 7001C128 51E00018 */ beql $t7, $zero, .L7001C18C -/* 01CD2C 7001C12C A7A00028 */ sh $zero, 0x28($sp) -/* 01CD30 7001C130 AFA60020 */ sw $a2, 0x20($sp) -/* 01CD34 7001C134 0C008156 */ jal alSeqGetTicks -/* 01CD38 7001C138 AFA70038 */ sw $a3, 0x38($sp) -/* 01CD3C 7001C13C 8FA70038 */ lw $a3, 0x38($sp) -/* 01CD40 7001C140 8FB80024 */ lw $t8, 0x24($sp) -/* 01CD44 7001C144 8FA60020 */ lw $a2, 0x20($sp) -/* 01CD48 7001C148 8CE80080 */ lw $t0, 0x80($a3) -/* 01CD4C 7001C14C 0058C821 */ addu $t9, $v0, $t8 -/* 01CD50 7001C150 00C02025 */ move $a0, $a2 -/* 01CD54 7001C154 8D090008 */ lw $t1, 8($t0) -/* 01CD58 7001C158 0329082A */ slt $at, $t9, $t1 -/* 01CD5C 7001C15C 5420000B */ bnezl $at, .L7001C18C -/* 01CD60 7001C160 A7A00028 */ sh $zero, 0x28($sp) -/* 01CD64 7001C164 8CE5007C */ lw $a1, 0x7c($a3) -/* 01CD68 7001C168 0C00814F */ jal alSeqSetLoc -/* 01CD6C 7001C16C AFA70038 */ sw $a3, 0x38($sp) -/* 01CD70 7001C170 8FA70038 */ lw $a3, 0x38($sp) -/* 01CD74 7001C174 2401FFFF */ li $at, -1 -/* 01CD78 7001C178 8CE20084 */ lw $v0, 0x84($a3) -/* 01CD7C 7001C17C 10410002 */ beq $v0, $at, .L7001C188 -/* 01CD80 7001C180 244AFFFF */ addiu $t2, $v0, -1 -/* 01CD84 7001C184 ACEA0084 */ sw $t2, 0x84($a3) -.L7001C188: -/* 01CD88 7001C188 A7A00028 */ sh $zero, 0x28($sp) -.L7001C18C: -/* 01CD8C 7001C18C 8CEB0024 */ lw $t3, 0x24($a3) -/* 01CD90 7001C190 8FAC0024 */ lw $t4, 0x24($sp) -/* 01CD94 7001C194 24E40048 */ addiu $a0, $a3, 0x48 -/* 01CD98 7001C198 27A50028 */ addiu $a1, $sp, 0x28 -/* 01CD9C 7001C19C 016C0019 */ multu $t3, $t4 -/* 01CDA0 7001C1A0 00003012 */ mflo $a2 -/* 01CDA4 7001C1A4 0C004BBF */ jal alEvtqPostEvent -/* 01CDA8 7001C1A8 00000000 */ nop -.L7001C1AC: -/* 01CDAC 7001C1AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 01CDB0 7001C1B0 27BD0038 */ addiu $sp, $sp, 0x38 -/* 01CDB4 7001C1B4 03E00008 */ jr $ra -/* 01CDB8 7001C1B8 00000000 */ nop - -glabel __handleMetaMsg -/* 01CDBC 7001C1BC 908E0008 */ lbu $t6, 8($a0) -/* 01CDC0 7001C1C0 240100FF */ li $at, 255 -/* 01CDC4 7001C1C4 15C10019 */ bne $t6, $at, .L7001C22C -/* 01CDC8 7001C1C8 00000000 */ nop -/* 01CDCC 7001C1CC 908F0009 */ lbu $t7, 9($a0) -/* 01CDD0 7001C1D0 24010051 */ li $at, 81 -/* 01CDD4 7001C1D4 24820004 */ addiu $v0, $a0, 4 -/* 01CDD8 7001C1D8 15E10014 */ bne $t7, $at, .L7001C22C -/* 01CDDC 7001C1DC 00000000 */ nop -/* 01CDE0 7001C1E0 904E0008 */ lbu $t6, 8($v0) -/* 01CDE4 7001C1E4 90580007 */ lbu $t8, 7($v0) -/* 01CDE8 7001C1E8 8CA60018 */ lw $a2, 0x18($a1) -/* 01CDEC 7001C1EC 000E7A00 */ sll $t7, $t6, 8 -/* 01CDF0 7001C1F0 904E0009 */ lbu $t6, 9($v0) -/* 01CDF4 7001C1F4 0018CC00 */ sll $t9, $t8, 0x10 -/* 01CDF8 7001C1F8 032FC025 */ or $t8, $t9, $t7 -/* 01CDFC 7001C1FC 030E1825 */ or $v1, $t8, $t6 -/* 01CE00 7001C200 44832000 */ mtc1 $v1, $f4 -/* 01CE04 7001C204 241801E8 */ li $t8, 488 -/* 01CE08 7001C208 10C00007 */ beqz $a2, .L7001C228 -/* 01CE0C 7001C20C 46802020 */ cvt.s.w $f0, $f4 -/* 01CE10 7001C210 C4C60014 */ lwc1 $f6, 0x14($a2) -/* 01CE14 7001C214 46060202 */ mul.s $f8, $f0, $f6 -/* 01CE18 7001C218 4600428D */ trunc.w.s $f10, $f8 -/* 01CE1C 7001C21C 440F5000 */ mfc1 $t7, $f10 -/* 01CE20 7001C220 03E00008 */ jr $ra -/* 01CE24 7001C224 ACAF0024 */ sw $t7, 0x24($a1) - -.L7001C228: -/* 01CE28 7001C228 ACB80024 */ sw $t8, 0x24($a1) -.L7001C22C: -/* 01CE2C 7001C22C 03E00008 */ jr $ra -/* 01CE30 7001C230 00000000 */ nop - -glabel __vsPan -/* 01CE34 7001C234 908F0031 */ lbu $t7, 0x31($a0) -/* 01CE38 7001C238 8CAE0060 */ lw $t6, 0x60($a1) -/* 01CE3C 7001C23C 8C890020 */ lw $t1, 0x20($a0) -/* 01CE40 7001C240 000FC100 */ sll $t8, $t7, 4 -/* 01CE44 7001C244 01D8C821 */ addu $t9, $t6, $t8 -/* 01CE48 7001C248 93280007 */ lbu $t0, 7($t9) -/* 01CE4C 7001C24C 912A000C */ lbu $t2, 0xc($t1) -/* 01CE50 7001C250 010A1821 */ addu $v1, $t0, $t2 -/* 01CE54 7001C254 2463FFC0 */ addiu $v1, $v1, -0x40 -/* 01CE58 7001C258 5C600003 */ bgtzl $v1, .L7001C268 -/* 01CE5C 7001C25C 2861007F */ slti $at, $v1, 0x7f -/* 01CE60 7001C260 00001825 */ move $v1, $zero -/* 01CE64 7001C264 2861007F */ slti $at, $v1, 0x7f -.L7001C268: -/* 01CE68 7001C268 14200002 */ bnez $at, .L7001C274 -/* 01CE6C 7001C26C 00000000 */ nop -/* 01CE70 7001C270 2403007F */ li $v1, 127 -.L7001C274: -/* 01CE74 7001C274 03E00008 */ jr $ra -/* 01CE78 7001C278 306200FF */ andi $v0, $v1, 0xff - -glabel __lookupVoice -/* 01CE7C 7001C27C AFA50004 */ sw $a1, 4($sp) -/* 01CE80 7001C280 AFA60008 */ sw $a2, 8($sp) -/* 01CE84 7001C284 8C830064 */ lw $v1, 0x64($a0) -/* 01CE88 7001C288 30CF00FF */ andi $t7, $a2, 0xff -/* 01CE8C 7001C28C 01E03025 */ move $a2, $t7 -/* 01CE90 7001C290 10600014 */ beqz $v1, .L7001C2E4 -/* 01CE94 7001C294 30AE00FF */ andi $t6, $a1, 0xff -/* 01CE98 7001C298 01C01025 */ move $v0, $t6 -/* 01CE9C 7001C29C 24070004 */ li $a3, 4 -/* 01CEA0 7001C2A0 24050003 */ li $a1, 3 -/* 01CEA4 7001C2A4 90780032 */ lbu $t8, 0x32($v1) -.L7001C2A8: -/* 01CEA8 7001C2A8 5458000C */ bnel $v0, $t8, .L7001C2DC -/* 01CEAC 7001C2AC 8C630000 */ lw $v1, ($v1) -/* 01CEB0 7001C2B0 90790031 */ lbu $t9, 0x31($v1) -/* 01CEB4 7001C2B4 54D90009 */ bnel $a2, $t9, .L7001C2DC -/* 01CEB8 7001C2B8 8C630000 */ lw $v1, ($v1) -/* 01CEBC 7001C2BC 90640035 */ lbu $a0, 0x35($v1) -/* 01CEC0 7001C2C0 50A40006 */ beql $a1, $a0, .L7001C2DC -/* 01CEC4 7001C2C4 8C630000 */ lw $v1, ($v1) -/* 01CEC8 7001C2C8 50E40004 */ beql $a3, $a0, .L7001C2DC -/* 01CECC 7001C2CC 8C630000 */ lw $v1, ($v1) -/* 01CED0 7001C2D0 03E00008 */ jr $ra -/* 01CED4 7001C2D4 00601025 */ move $v0, $v1 - -/* 01CED8 7001C2D8 8C630000 */ lw $v1, ($v1) -.L7001C2DC: -/* 01CEDC 7001C2DC 5460FFF2 */ bnezl $v1, .L7001C2A8 -/* 01CEE0 7001C2E0 90780032 */ lbu $t8, 0x32($v1) -.L7001C2E4: -/* 01CEE4 7001C2E4 00001025 */ move $v0, $zero -/* 01CEE8 7001C2E8 03E00008 */ jr $ra -/* 01CEEC 7001C2EC 00000000 */ nop - -glabel __mapVoice -/* 01CEF0 7001C2F0 AFA50004 */ sw $a1, 4($sp) -/* 01CEF4 7001C2F4 AFA60008 */ sw $a2, 8($sp) -/* 01CEF8 7001C2F8 AFA7000C */ sw $a3, 0xc($sp) -/* 01CEFC 7001C2FC 8C83006C */ lw $v1, 0x6c($a0) -/* 01CF00 7001C300 30AE00FF */ andi $t6, $a1, 0xff -/* 01CF04 7001C304 30CF00FF */ andi $t7, $a2, 0xff -/* 01CF08 7001C308 30F800FF */ andi $t8, $a3, 0xff -/* 01CF0C 7001C30C 03003825 */ move $a3, $t8 -/* 01CF10 7001C310 01E03025 */ move $a2, $t7 -/* 01CF14 7001C314 10600010 */ beqz $v1, .L7001C358 -/* 01CF18 7001C318 01C02825 */ move $a1, $t6 -/* 01CF1C 7001C31C 8C790000 */ lw $t9, ($v1) -/* 01CF20 7001C320 AC99006C */ sw $t9, 0x6c($a0) -/* 01CF24 7001C324 AC600000 */ sw $zero, ($v1) -/* 01CF28 7001C328 8C880064 */ lw $t0, 0x64($a0) -/* 01CF2C 7001C32C 55000004 */ bnezl $t0, .L7001C340 -/* 01CF30 7001C330 8C890068 */ lw $t1, 0x68($a0) -/* 01CF34 7001C334 10000003 */ b .L7001C344 -/* 01CF38 7001C338 AC830064 */ sw $v1, 0x64($a0) -/* 01CF3C 7001C33C 8C890068 */ lw $t1, 0x68($a0) -.L7001C340: -/* 01CF40 7001C340 AD230000 */ sw $v1, ($t1) -.L7001C344: -/* 01CF44 7001C344 AC830068 */ sw $v1, 0x68($a0) -/* 01CF48 7001C348 A0670031 */ sb $a3, 0x31($v1) -/* 01CF4C 7001C34C A0650032 */ sb $a1, 0x32($v1) -/* 01CF50 7001C350 A0660033 */ sb $a2, 0x33($v1) -/* 01CF54 7001C354 AC630014 */ sw $v1, 0x14($v1) -.L7001C358: -/* 01CF58 7001C358 03E00008 */ jr $ra -/* 01CF5C 7001C35C 00601025 */ move $v0, $v1 - -glabel __lookupSoundQuick -/* 01CF60 7001C360 AFA50004 */ sw $a1, 4($sp) -/* 01CF64 7001C364 AFA60008 */ sw $a2, 8($sp) -/* 01CF68 7001C368 AFA7000C */ sw $a3, 0xc($sp) -/* 01CF6C 7001C36C 8C980060 */ lw $t8, 0x60($a0) -/* 01CF70 7001C370 30EF00FF */ andi $t7, $a3, 0xff -/* 01CF74 7001C374 000FC900 */ sll $t9, $t7, 4 -/* 01CF78 7001C378 03196021 */ addu $t4, $t8, $t9 -/* 01CF7C 7001C37C 8D820000 */ lw $v0, ($t4) -/* 01CF80 7001C380 30AE00FF */ andi $t6, $a1, 0xff -/* 01CF84 7001C384 30CB00FF */ andi $t3, $a2, 0xff -/* 01CF88 7001C388 8448000E */ lh $t0, 0xe($v0) -/* 01CF8C 7001C38C 24030001 */ li $v1, 1 -/* 01CF90 7001C390 01C04825 */ move $t1, $t6 -/* 01CF94 7001C394 1900002E */ blez $t0, .L7001C450 -/* 01CF98 7001C398 00682821 */ addu $a1, $v1, $t0 -.L7001C39C: -/* 01CF9C 7001C39C 04A10003 */ bgez $a1, .L7001C3AC -/* 01CFA0 7001C3A0 00056843 */ sra $t5, $a1, 1 -/* 01CFA4 7001C3A4 24A10001 */ addiu $at, $a1, 1 -/* 01CFA8 7001C3A8 00016843 */ sra $t5, $at, 1 -.L7001C3AC: -/* 01CFAC 7001C3AC 000D7080 */ sll $t6, $t5, 2 -/* 01CFB0 7001C3B0 004E7821 */ addu $t7, $v0, $t6 -/* 01CFB4 7001C3B4 8DE7000C */ lw $a3, 0xc($t7) -/* 01CFB8 7001C3B8 01A02025 */ move $a0, $t5 -/* 01CFBC 7001C3BC 8CE60004 */ lw $a2, 4($a3) -/* 01CFC0 7001C3C0 90CA0002 */ lbu $t2, 2($a2) -/* 01CFC4 7001C3C4 012A082A */ slt $at, $t1, $t2 -/* 01CFC8 7001C3C8 54200011 */ bnezl $at, .L7001C410 -/* 01CFCC 7001C3CC 012A082A */ slt $at, $t1, $t2 -/* 01CFD0 7001C3D0 90D80003 */ lbu $t8, 3($a2) -/* 01CFD4 7001C3D4 0309082A */ slt $at, $t8, $t1 -/* 01CFD8 7001C3D8 5420000D */ bnezl $at, .L7001C410 -/* 01CFDC 7001C3DC 012A082A */ slt $at, $t1, $t2 -/* 01CFE0 7001C3E0 90D90000 */ lbu $t9, ($a2) -/* 01CFE4 7001C3E4 01602825 */ move $a1, $t3 -/* 01CFE8 7001C3E8 0179082A */ slt $at, $t3, $t9 -/* 01CFEC 7001C3EC 54200008 */ bnezl $at, .L7001C410 -/* 01CFF0 7001C3F0 012A082A */ slt $at, $t1, $t2 -/* 01CFF4 7001C3F4 90CC0001 */ lbu $t4, 1($a2) -/* 01CFF8 7001C3F8 0185082A */ slt $at, $t4, $a1 -/* 01CFFC 7001C3FC 54200004 */ bnezl $at, .L7001C410 -/* 01D000 7001C400 012A082A */ slt $at, $t1, $t2 -/* 01D004 7001C404 03E00008 */ jr $ra -/* 01D008 7001C408 00E01025 */ move $v0, $a3 - -/* 01D00C 7001C40C 012A082A */ slt $at, $t1, $t2 -.L7001C410: -/* 01D010 7001C410 14200009 */ bnez $at, .L7001C438 -/* 01D014 7001C414 00000000 */ nop -/* 01D018 7001C418 90CD0000 */ lbu $t5, ($a2) -/* 01D01C 7001C41C 016D082A */ slt $at, $t3, $t5 -/* 01D020 7001C420 50200008 */ beql $at, $zero, .L7001C444 -/* 01D024 7001C424 24830001 */ addiu $v1, $a0, 1 -/* 01D028 7001C428 90CE0003 */ lbu $t6, 3($a2) -/* 01D02C 7001C42C 01C9082A */ slt $at, $t6, $t1 -/* 01D030 7001C430 54200004 */ bnezl $at, .L7001C444 -/* 01D034 7001C434 24830001 */ addiu $v1, $a0, 1 -.L7001C438: -/* 01D038 7001C438 10000002 */ b .L7001C444 -/* 01D03C 7001C43C 2488FFFF */ addiu $t0, $a0, -1 -/* 01D040 7001C440 24830001 */ addiu $v1, $a0, 1 -.L7001C444: -/* 01D044 7001C444 0103082A */ slt $at, $t0, $v1 -/* 01D048 7001C448 5020FFD4 */ beql $at, $zero, .L7001C39C -/* 01D04C 7001C44C 00682821 */ addu $a1, $v1, $t0 -.L7001C450: -/* 01D050 7001C450 00001025 */ move $v0, $zero -/* 01D054 7001C454 03E00008 */ jr $ra -/* 01D058 7001C458 00000000 */ nop - -glabel __handleMIDIMsg -/* 01D05C 7001C45C 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 01D060 7001C460 AFBF0024 */ sw $ra, 0x24($sp) -/* 01D064 7001C464 90960008 */ lbu $s6, 8($a0) -/* 01D068 7001C468 90930009 */ lbu $s3, 9($a0) -/* 01D06C 7001C46C 9094000A */ lbu $s4, 0xa($a0) -/* 01D070 7001C470 32C300F0 */ andi $v1, $s6, 0xf0 -/* 01D074 7001C474 246FFF80 */ addiu $t7, $v1, -0x80 -/* 01D078 7001C478 2DE10061 */ sltiu $at, $t7, 0x61 -/* 01D07C 7001C47C 32CE000F */ andi $t6, $s6, 0xf -/* 01D080 7001C480 102001F8 */ beqz $at, .L7001CC64 -/* 01D084 7001C484 01C0B025 */ move $s6, $t6 -/* 01D088 7001C488 000F7880 */ sll $t7, $t7, 2 -/* 01D08C 7001C48C 3C018003 */ lui $at, 0x8003 -/* 01D090 7001C490 002F0821 */ addu $at, $at, $t7 -/* 01D094 7001C494 8C2F9A50 */ lw $t7, -0x65b0($at) -/* 01D098 7001C498 01E00008 */ jr $t7 -/* 01D09C 7001C49C 00000000 */ nop -.L7001C4A0: -/* 01D0A0 7001C4A0 528000D5 */ beql $s4, $zero, .L7001C7F8 -/* 01D0A4 7001C4A4 02202025 */ move $a0, $s1 -/* 01D0A8 7001C4A8 8E38002C */ lw $t8, 0x2c($s1) -/* 01D0AC 7001C4AC 24010001 */ li $at, 1 -/* 01D0B0 7001C4B0 02202025 */ move $a0, $s1 -/* 01D0B4 7001C4B4 170101EB */ bne $t8, $at, .L7001CC64 -/* 01D0B8 7001C4B8 326500FF */ andi $a1, $s3, 0xff -/* 01D0BC 7001C4BC 328600FF */ andi $a2, $s4, 0xff -/* 01D0C0 7001C4C0 0C0070D8 */ jal __lookupSoundQuick -/* 01D0C4 7001C4C4 32C700FF */ andi $a3, $s6, 0xff -/* 01D0C8 7001C4C8 104001E6 */ beqz $v0, .L7001CC64 -/* 01D0CC 7001C4CC 0040B825 */ move $s7, $v0 -/* 01D0D0 7001C4D0 8E390060 */ lw $t9, 0x60($s1) -/* 01D0D4 7001C4D4 0016F100 */ sll $fp, $s6, 4 -/* 01D0D8 7001C4D8 02202025 */ move $a0, $s1 -/* 01D0DC 7001C4DC 033E7021 */ addu $t6, $t9, $fp -/* 01D0E0 7001C4E0 91CF0008 */ lbu $t7, 8($t6) -/* 01D0E4 7001C4E4 A7A0009E */ sh $zero, 0x9e($sp) -/* 01D0E8 7001C4E8 A3A000A0 */ sb $zero, 0xa0($sp) -/* 01D0EC 7001C4EC 326500FF */ andi $a1, $s3, 0xff -/* 01D0F0 7001C4F0 328600FF */ andi $a2, $s4, 0xff -/* 01D0F4 7001C4F4 32C700FF */ andi $a3, $s6, 0xff -/* 01D0F8 7001C4F8 0C0070BC */ jal __mapVoice -/* 01D0FC 7001C4FC A7AF009C */ sh $t7, 0x9c($sp) -/* 01D100 7001C500 104001D8 */ beqz $v0, .L7001CC64 -/* 01D104 7001C504 00408025 */ move $s0, $v0 -/* 01D108 7001C508 8E240014 */ lw $a0, 0x14($s1) -/* 01D10C 7001C50C 24450004 */ addiu $a1, $v0, 4 -/* 01D110 7001C510 AFA50034 */ sw $a1, 0x34($sp) -/* 01D114 7001C514 0C004C96 */ jal alSynAllocVoice -/* 01D118 7001C518 27A6009C */ addiu $a2, $sp, 0x9c -/* 01D11C 7001C51C AE170020 */ sw $s7, 0x20($s0) -/* 01D120 7001C520 A2000034 */ sb $zero, 0x34($s0) -/* 01D124 7001C524 8E380060 */ lw $t8, 0x60($s1) -/* 01D128 7001C528 24150002 */ li $s5, 2 -/* 01D12C 7001C52C 031EC821 */ addu $t9, $t8, $fp -/* 01D130 7001C530 932E000B */ lbu $t6, 0xb($t9) -/* 01D134 7001C534 29C10040 */ slti $at, $t6, 0x40 -/* 01D138 7001C538 54200004 */ bnezl $at, .L7001C54C -/* 01D13C 7001C53C A2000035 */ sb $zero, 0x35($s0) -/* 01D140 7001C540 10000002 */ b .L7001C54C -/* 01D144 7001C544 A2150035 */ sb $s5, 0x35($s0) -/* 01D148 7001C548 A2000035 */ sb $zero, 0x35($s0) -.L7001C54C: -/* 01D14C 7001C54C 8EE20004 */ lw $v0, 4($s7) -/* 01D150 7001C550 904F0004 */ lbu $t7, 4($v0) -/* 01D154 7001C554 804E0005 */ lb $t6, 5($v0) -/* 01D158 7001C558 026FC023 */ subu $t8, $s3, $t7 -/* 01D15C 7001C55C 0018C880 */ sll $t9, $t8, 2 -/* 01D160 7001C560 0338C823 */ subu $t9, $t9, $t8 -/* 01D164 7001C564 0019C8C0 */ sll $t9, $t9, 3 -/* 01D168 7001C568 0338C821 */ addu $t9, $t9, $t8 -/* 01D16C 7001C56C 0019C880 */ sll $t9, $t9, 2 -/* 01D170 7001C570 032E2021 */ addu $a0, $t9, $t6 -/* 01D174 7001C574 00047C00 */ sll $t7, $a0, 0x10 -/* 01D178 7001C578 0C004DF0 */ jal alCents2Ratio -/* 01D17C 7001C57C 000F2403 */ sra $a0, $t7, 0x10 -/* 01D180 7001C580 E6000028 */ swc1 $f0, 0x28($s0) -/* 01D184 7001C584 8EF90000 */ lw $t9, ($s7) -/* 01D188 7001C588 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 01D18C 7001C58C 44812000 */ mtc1 $at, $f4 -/* 01D190 7001C590 932E000C */ lbu $t6, 0xc($t9) -/* 01D194 7001C594 A20E0030 */ sb $t6, 0x30($s0) -/* 01D198 7001C598 8EF80000 */ lw $t8, ($s7) -/* 01D19C 7001C59C 8E2F001C */ lw $t7, 0x1c($s1) -/* 01D1A0 7001C5A0 8F190000 */ lw $t9, ($t8) -/* 01D1A4 7001C5A4 A2000037 */ sb $zero, 0x37($s0) -/* 01D1A8 7001C5A8 01F97021 */ addu $t6, $t7, $t9 -/* 01D1AC 7001C5AC AE0E0024 */ sw $t6, 0x24($s0) -/* 01D1B0 7001C5B0 8E380060 */ lw $t8, 0x60($s1) -/* 01D1B4 7001C5B4 031E7821 */ addu $t7, $t8, $fp -/* 01D1B8 7001C5B8 8DF20000 */ lw $s2, ($t7) -/* 01D1BC 7001C5BC E7A4008C */ swc1 $f4, 0x8c($sp) -/* 01D1C0 7001C5C0 92460004 */ lbu $a2, 4($s2) -/* 01D1C4 7001C5C4 50C0001A */ beql $a2, $zero, .L7001C630 -/* 01D1C8 7001C5C8 4458F800 */ cfc1 $t8, $31 -/* 01D1CC 7001C5CC 8E220070 */ lw $v0, 0x70($s1) -/* 01D1D0 7001C5D0 50400017 */ beql $v0, $zero, .L7001C630 -/* 01D1D4 7001C5D4 4458F800 */ cfc1 $t8, $31 -/* 01D1D8 7001C5D8 92590006 */ lbu $t9, 6($s2) -/* 01D1DC 7001C5DC 92470005 */ lbu $a3, 5($s2) -/* 01D1E0 7001C5E0 27A40084 */ addiu $a0, $sp, 0x84 -/* 01D1E4 7001C5E4 AFB90010 */ sw $t9, 0x10($sp) -/* 01D1E8 7001C5E8 924E0007 */ lbu $t6, 7($s2) -/* 01D1EC 7001C5EC 27A5008C */ addiu $a1, $sp, 0x8c -/* 01D1F0 7001C5F0 0040F809 */ jalr $v0 -/* 01D1F4 7001C5F4 AFAE0014 */ sw $t6, 0x14($sp) -/* 01D1F8 7001C5F8 1040000C */ beqz $v0, .L7001C62C -/* 01D1FC 7001C5FC 24180016 */ li $t8, 22 -/* 01D200 7001C600 8FAF0084 */ lw $t7, 0x84($sp) -/* 01D204 7001C604 A7B800B4 */ sh $t8, 0xb4($sp) -/* 01D208 7001C608 AFB000B8 */ sw $s0, 0xb8($sp) -/* 01D20C 7001C60C 26240048 */ addiu $a0, $s1, 0x48 -/* 01D210 7001C610 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 01D214 7001C614 00403025 */ move $a2, $v0 -/* 01D218 7001C618 0C004BBF */ jal alEvtqPostEvent -/* 01D21C 7001C61C AFAF00BC */ sw $t7, 0xbc($sp) -/* 01D220 7001C620 92190037 */ lbu $t9, 0x37($s0) -/* 01D224 7001C624 372E0001 */ ori $t6, $t9, 1 -/* 01D228 7001C628 A20E0037 */ sb $t6, 0x37($s0) -.L7001C62C: -/* 01D22C 7001C62C 4458F800 */ cfc1 $t8, $31 -.L7001C630: -/* 01D230 7001C630 240F0001 */ li $t7, 1 -/* 01D234 7001C634 44CFF800 */ ctc1 $t7, $31 -/* 01D238 7001C638 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 01D23C 7001C63C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 01D240 7001C640 46003224 */ cvt.w.s $f8, $f6 -/* 01D244 7001C644 444FF800 */ cfc1 $t7, $31 -/* 01D248 7001C648 00000000 */ nop -/* 01D24C 7001C64C 31EF0078 */ andi $t7, $t7, 0x78 -/* 01D250 7001C650 51E00013 */ beql $t7, $zero, .L7001C6A0 -/* 01D254 7001C654 440F4000 */ mfc1 $t7, $f8 -/* 01D258 7001C658 44814000 */ mtc1 $at, $f8 -/* 01D25C 7001C65C 240F0001 */ li $t7, 1 -/* 01D260 7001C660 46083201 */ sub.s $f8, $f6, $f8 -/* 01D264 7001C664 44CFF800 */ ctc1 $t7, $31 -/* 01D268 7001C668 00000000 */ nop -/* 01D26C 7001C66C 46004224 */ cvt.w.s $f8, $f8 -/* 01D270 7001C670 444FF800 */ cfc1 $t7, $31 -/* 01D274 7001C674 00000000 */ nop -/* 01D278 7001C678 31EF0078 */ andi $t7, $t7, 0x78 -/* 01D27C 7001C67C 15E00005 */ bnez $t7, .L7001C694 -/* 01D280 7001C680 00000000 */ nop -/* 01D284 7001C684 440F4000 */ mfc1 $t7, $f8 -/* 01D288 7001C688 3C018000 */ lui $at, 0x8000 -/* 01D28C 7001C68C 10000007 */ b .L7001C6AC -/* 01D290 7001C690 01E17825 */ or $t7, $t7, $at -.L7001C694: -/* 01D294 7001C694 10000005 */ b .L7001C6AC -/* 01D298 7001C698 240FFFFF */ li $t7, -1 -/* 01D29C 7001C69C 440F4000 */ mfc1 $t7, $f8 -.L7001C6A0: -/* 01D2A0 7001C6A0 00000000 */ nop -/* 01D2A4 7001C6A4 05E0FFFB */ bltz $t7, .L7001C694 -/* 01D2A8 7001C6A8 00000000 */ nop -.L7001C6AC: -/* 01D2AC 7001C6AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01D2B0 7001C6B0 44815000 */ mtc1 $at, $f10 -/* 01D2B4 7001C6B4 A20F0036 */ sb $t7, 0x36($s0) -/* 01D2B8 7001C6B8 44D8F800 */ ctc1 $t8, $31 -/* 01D2BC 7001C6BC E7AA008C */ swc1 $f10, 0x8c($sp) -/* 01D2C0 7001C6C0 92460008 */ lbu $a2, 8($s2) -/* 01D2C4 7001C6C4 26350048 */ addiu $s5, $s1, 0x48 -/* 01D2C8 7001C6C8 50C0001B */ beql $a2, $zero, .L7001C738 -/* 01D2CC 7001C6CC C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 01D2D0 7001C6D0 8E220070 */ lw $v0, 0x70($s1) -/* 01D2D4 7001C6D4 50400018 */ beql $v0, $zero, .L7001C738 -/* 01D2D8 7001C6D8 C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 01D2DC 7001C6DC 9259000A */ lbu $t9, 0xa($s2) -/* 01D2E0 7001C6E0 92470009 */ lbu $a3, 9($s2) -/* 01D2E4 7001C6E4 27A40084 */ addiu $a0, $sp, 0x84 -/* 01D2E8 7001C6E8 AFB90010 */ sw $t9, 0x10($sp) -/* 01D2EC 7001C6EC 924E000B */ lbu $t6, 0xb($s2) -/* 01D2F0 7001C6F0 27A5008C */ addiu $a1, $sp, 0x8c -/* 01D2F4 7001C6F4 0040F809 */ jalr $v0 -/* 01D2F8 7001C6F8 AFAE0014 */ sw $t6, 0x14($sp) -/* 01D2FC 7001C6FC 1040000D */ beqz $v0, .L7001C734 -/* 01D300 7001C700 24180017 */ li $t8, 23 -/* 01D304 7001C704 8FAF0084 */ lw $t7, 0x84($sp) -/* 01D308 7001C708 A7B800B4 */ sh $t8, 0xb4($sp) -/* 01D30C 7001C70C AFB000B8 */ sw $s0, 0xb8($sp) -/* 01D310 7001C710 A3B600C0 */ sb $s6, 0xc0($sp) -/* 01D314 7001C714 02A02025 */ move $a0, $s5 -/* 01D318 7001C718 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 01D31C 7001C71C 00403025 */ move $a2, $v0 -/* 01D320 7001C720 0C004BBF */ jal alEvtqPostEvent -/* 01D324 7001C724 AFAF00BC */ sw $t7, 0xbc($sp) -/* 01D328 7001C728 92190037 */ lbu $t9, 0x37($s0) -/* 01D32C 7001C72C 372E0002 */ ori $t6, $t9, 2 -/* 01D330 7001C730 A20E0037 */ sb $t6, 0x37($s0) -.L7001C734: -/* 01D334 7001C734 C7A4008C */ lwc1 $f4, 0x8c($sp) -.L7001C738: -/* 01D338 7001C738 C6080028 */ lwc1 $f8, 0x28($s0) -/* 01D33C 7001C73C 02002025 */ move $a0, $s0 -/* 01D340 7001C740 E604002C */ swc1 $f4, 0x2c($s0) -/* 01D344 7001C744 8E380060 */ lw $t8, 0x60($s1) -/* 01D348 7001C748 C604002C */ lwc1 $f4, 0x2c($s0) -/* 01D34C 7001C74C 02202825 */ move $a1, $s1 -/* 01D350 7001C750 031E1021 */ addu $v0, $t8, $fp -/* 01D354 7001C754 C446000C */ lwc1 $f6, 0xc($v0) -/* 01D358 7001C758 9052000A */ lbu $s2, 0xa($v0) -/* 01D35C 7001C75C 46083282 */ mul.s $f10, $f6, $f8 -/* 01D360 7001C760 00000000 */ nop -/* 01D364 7001C764 46045502 */ mul.s $f20, $f10, $f4 -/* 01D368 7001C768 0C00708D */ jal __vsPan -/* 01D36C 7001C76C 00000000 */ nop -/* 01D370 7001C770 305400FF */ andi $s4, $v0, 0xff -/* 01D374 7001C774 02002025 */ move $a0, $s0 -/* 01D378 7001C778 0C006F85 */ jal __vsVol -/* 01D37C 7001C77C 02202825 */ move $a1, $s1 -/* 01D380 7001C780 8EEF0000 */ lw $t7, ($s7) -/* 01D384 7001C784 8E240014 */ lw $a0, 0x14($s1) -/* 01D388 7001C788 8EE60008 */ lw $a2, 8($s7) -/* 01D38C 7001C78C 8DF30000 */ lw $s3, ($t7) -/* 01D390 7001C790 4407A000 */ mfc1 $a3, $f20 -/* 01D394 7001C794 AFB20018 */ sw $s2, 0x18($sp) -/* 01D398 7001C798 AFB40014 */ sw $s4, 0x14($sp) -/* 01D39C 7001C79C AFA20010 */ sw $v0, 0x10($sp) -/* 01D3A0 7001C7A0 8FA50034 */ lw $a1, 0x34($sp) -/* 01D3A4 7001C7A4 0C007568 */ jal alSynStartVoiceParams -/* 01D3A8 7001C7A8 AFB3001C */ sw $s3, 0x1c($sp) -/* 01D3AC 7001C7AC 8FAE0034 */ lw $t6, 0x34($sp) -/* 01D3B0 7001C7B0 24190006 */ li $t9, 6 -/* 01D3B4 7001C7B4 A7B900B4 */ sh $t9, 0xb4($sp) -/* 01D3B8 7001C7B8 AFAE00B8 */ sw $t6, 0xb8($sp) -/* 01D3BC 7001C7BC 8EF80000 */ lw $t8, ($s7) -/* 01D3C0 7001C7C0 02A02025 */ move $a0, $s5 -/* 01D3C4 7001C7C4 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 01D3C8 7001C7C8 930F000D */ lbu $t7, 0xd($t8) -/* 01D3CC 7001C7CC A3AF00C0 */ sb $t7, 0xc0($sp) -/* 01D3D0 7001C7D0 8EF90000 */ lw $t9, ($s7) -/* 01D3D4 7001C7D4 8F2E0004 */ lw $t6, 4($t9) -/* 01D3D8 7001C7D8 AFAE00BC */ sw $t6, 0xbc($sp) -/* 01D3DC 7001C7DC 8EF80000 */ lw $t8, ($s7) -/* 01D3E0 7001C7E0 8F130000 */ lw $s3, ($t8) -/* 01D3E4 7001C7E4 0C004BBF */ jal alEvtqPostEvent -/* 01D3E8 7001C7E8 02603025 */ move $a2, $s3 -/* 01D3EC 7001C7EC 1000011E */ b .L7001CC68 -/* 01D3F0 7001C7F0 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C7F4: -/* 01D3F4 7001C7F4 02202025 */ move $a0, $s1 -.L7001C7F8: -/* 01D3F8 7001C7F8 326500FF */ andi $a1, $s3, 0xff -/* 01D3FC 7001C7FC 0C00709F */ jal __lookupVoice -/* 01D400 7001C800 32C600FF */ andi $a2, $s6, 0xff -/* 01D404 7001C804 10400117 */ beqz $v0, .L7001CC64 -/* 01D408 7001C808 00408025 */ move $s0, $v0 -/* 01D40C 7001C80C 904F0035 */ lbu $t7, 0x35($v0) -/* 01D410 7001C810 24160002 */ li $s6, 2 -/* 01D414 7001C814 24190004 */ li $t9, 4 -/* 01D418 7001C818 16CF0003 */ bne $s6, $t7, .L7001C828 -/* 01D41C 7001C81C 02202025 */ move $a0, $s1 -/* 01D420 7001C820 10000110 */ b .L7001CC64 -/* 01D424 7001C824 A0590035 */ sb $t9, 0x35($v0) -.L7001C828: -/* 01D428 7001C828 8E0E0020 */ lw $t6, 0x20($s0) -/* 01D42C 7001C82C 241E0003 */ li $fp, 3 -/* 01D430 7001C830 A21E0035 */ sb $fp, 0x35($s0) -/* 01D434 7001C834 8DD80000 */ lw $t8, ($t6) -/* 01D438 7001C838 26050004 */ addiu $a1, $s0, 4 -/* 01D43C 7001C83C 0C006FA7 */ jal __seqpReleaseVoice -/* 01D440 7001C840 8F060008 */ lw $a2, 8($t8) -/* 01D444 7001C844 10000108 */ b .L7001CC68 -/* 01D448 7001C848 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C84C: -/* 01D44C 7001C84C 02202025 */ move $a0, $s1 -/* 01D450 7001C850 326500FF */ andi $a1, $s3, 0xff -/* 01D454 7001C854 0C00709F */ jal __lookupVoice -/* 01D458 7001C858 32C600FF */ andi $a2, $s6, 0xff -/* 01D45C 7001C85C 10400101 */ beqz $v0, .L7001CC64 -/* 01D460 7001C860 00408025 */ move $s0, $v0 -/* 01D464 7001C864 A0540033 */ sb $s4, 0x33($v0) -/* 01D468 7001C868 00402025 */ move $a0, $v0 -/* 01D46C 7001C86C 0C006F85 */ jal __vsVol -/* 01D470 7001C870 02202825 */ move $a1, $s1 -/* 01D474 7001C874 8E23001C */ lw $v1, 0x1c($s1) -/* 01D478 7001C878 8E190024 */ lw $t9, 0x24($s0) -/* 01D47C 7001C87C 00023400 */ sll $a2, $v0, 0x10 -/* 01D480 7001C880 00067C03 */ sra $t7, $a2, 0x10 -/* 01D484 7001C884 03232023 */ subu $a0, $t9, $v1 -/* 01D488 7001C888 04800003 */ bltz $a0, .L7001C898 -/* 01D48C 7001C88C 01E03025 */ move $a2, $t7 -/* 01D490 7001C890 10000002 */ b .L7001C89C -/* 01D494 7001C894 00801025 */ move $v0, $a0 -.L7001C898: -/* 01D498 7001C898 240203E8 */ li $v0, 1000 -.L7001C89C: -/* 01D49C 7001C89C 8E240014 */ lw $a0, 0x14($s1) -/* 01D4A0 7001C8A0 26050004 */ addiu $a1, $s0, 4 -/* 01D4A4 7001C8A4 0C004CE8 */ jal alSynSetVol -/* 01D4A8 7001C8A8 00403825 */ move $a3, $v0 -/* 01D4AC 7001C8AC 100000EE */ b .L7001CC68 -/* 01D4B0 7001C8B0 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C8B4: -/* 01D4B4 7001C8B4 8E300064 */ lw $s0, 0x64($s1) -/* 01D4B8 7001C8B8 520000EB */ beql $s0, $zero, .L7001CC68 -/* 01D4BC 7001C8BC 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D4C0 7001C8C0 02C09025 */ move $s2, $s6 -/* 01D4C4 7001C8C4 920E0031 */ lbu $t6, 0x31($s0) -.L7001C8C8: -/* 01D4C8 7001C8C8 02002025 */ move $a0, $s0 -/* 01D4CC 7001C8CC 02202825 */ move $a1, $s1 -/* 01D4D0 7001C8D0 564E0012 */ bnel $s2, $t6, .L7001C91C -/* 01D4D4 7001C8D4 8E100000 */ lw $s0, ($s0) -/* 01D4D8 7001C8D8 0C006F85 */ jal __vsVol -/* 01D4DC 7001C8DC A2130033 */ sb $s3, 0x33($s0) -/* 01D4E0 7001C8E0 8E23001C */ lw $v1, 0x1c($s1) -/* 01D4E4 7001C8E4 8E0F0024 */ lw $t7, 0x24($s0) -/* 01D4E8 7001C8E8 00023400 */ sll $a2, $v0, 0x10 -/* 01D4EC 7001C8EC 0006C403 */ sra $t8, $a2, 0x10 -/* 01D4F0 7001C8F0 01E32023 */ subu $a0, $t7, $v1 -/* 01D4F4 7001C8F4 04800003 */ bltz $a0, .L7001C904 -/* 01D4F8 7001C8F8 03003025 */ move $a2, $t8 -/* 01D4FC 7001C8FC 10000002 */ b .L7001C908 -/* 01D500 7001C900 00801025 */ move $v0, $a0 -.L7001C904: -/* 01D504 7001C904 240203E8 */ li $v0, 1000 -.L7001C908: -/* 01D508 7001C908 8E240014 */ lw $a0, 0x14($s1) -/* 01D50C 7001C90C 26050004 */ addiu $a1, $s0, 4 -/* 01D510 7001C910 0C004CE8 */ jal alSynSetVol -/* 01D514 7001C914 00403825 */ move $a3, $v0 -/* 01D518 7001C918 8E100000 */ lw $s0, ($s0) -.L7001C91C: -/* 01D51C 7001C91C 5600FFEA */ bnezl $s0, .L7001C8C8 -/* 01D520 7001C920 920E0031 */ lbu $t6, 0x31($s0) -/* 01D524 7001C924 100000D0 */ b .L7001CC68 -/* 01D528 7001C928 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C92C: -/* 01D52C 7001C92C 2A610041 */ slti $at, $s3, 0x41 -/* 01D530 7001C930 14200008 */ bnez $at, .L7001C954 -/* 01D534 7001C934 02601025 */ move $v0, $s3 -/* 01D538 7001C938 2401005B */ li $at, 91 -/* 01D53C 7001C93C 10410082 */ beq $v0, $at, .L7001CB48 -/* 01D540 7001C940 2401005D */ li $at, 93 -/* 01D544 7001C944 504100C8 */ beql $v0, $at, .L7001CC68 -/* 01D548 7001C948 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D54C 7001C94C 100000C6 */ b .L7001CC68 -/* 01D550 7001C950 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C954: -/* 01D554 7001C954 2841001C */ slti $at, $v0, 0x1c -/* 01D558 7001C958 14200006 */ bnez $at, .L7001C974 -/* 01D55C 7001C95C 2459FFF9 */ addiu $t9, $v0, -7 -/* 01D560 7001C960 24010040 */ li $at, 64 -/* 01D564 7001C964 5041004D */ beql $v0, $at, .L7001CA9C -/* 01D568 7001C968 8E2F0060 */ lw $t7, 0x60($s1) -/* 01D56C 7001C96C 100000BE */ b .L7001CC68 -/* 01D570 7001C970 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C974: -/* 01D574 7001C974 2F210015 */ sltiu $at, $t9, 0x15 -/* 01D578 7001C978 102000BA */ beqz $at, .L7001CC64 -/* 01D57C 7001C97C 0019C880 */ sll $t9, $t9, 2 -/* 01D580 7001C980 3C018003 */ lui $at, 0x8003 -/* 01D584 7001C984 00390821 */ addu $at, $at, $t9 -/* 01D588 7001C988 8C399BD4 */ lw $t9, -0x642c($at) -/* 01D58C 7001C98C 03200008 */ jr $t9 -/* 01D590 7001C990 00000000 */ nop -.L7001C994: -/* 01D594 7001C994 8E2E0060 */ lw $t6, 0x60($s1) -/* 01D598 7001C998 0016C100 */ sll $t8, $s6, 4 -/* 01D59C 7001C99C 01D87821 */ addu $t7, $t6, $t8 -/* 01D5A0 7001C9A0 A1F40007 */ sb $s4, 7($t7) -/* 01D5A4 7001C9A4 8E300064 */ lw $s0, 0x64($s1) -/* 01D5A8 7001C9A8 520000AF */ beql $s0, $zero, .L7001CC68 -/* 01D5AC 7001C9AC 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D5B0 7001C9B0 02C09025 */ move $s2, $s6 -/* 01D5B4 7001C9B4 92190031 */ lbu $t9, 0x31($s0) -.L7001C9B8: -/* 01D5B8 7001C9B8 02002025 */ move $a0, $s0 -/* 01D5BC 7001C9BC 56590008 */ bnel $s2, $t9, .L7001C9E0 -/* 01D5C0 7001C9C0 8E100000 */ lw $s0, ($s0) -/* 01D5C4 7001C9C4 0C00708D */ jal __vsPan -/* 01D5C8 7001C9C8 02202825 */ move $a1, $s1 -/* 01D5CC 7001C9CC 8E240014 */ lw $a0, 0x14($s1) -/* 01D5D0 7001C9D0 26050004 */ addiu $a1, $s0, 4 -/* 01D5D4 7001C9D4 0C004D34 */ jal alSynSetPan -/* 01D5D8 7001C9D8 304600FF */ andi $a2, $v0, 0xff -/* 01D5DC 7001C9DC 8E100000 */ lw $s0, ($s0) -.L7001C9E0: -/* 01D5E0 7001C9E0 5600FFF5 */ bnezl $s0, .L7001C9B8 -/* 01D5E4 7001C9E4 92190031 */ lbu $t9, 0x31($s0) -/* 01D5E8 7001C9E8 1000009F */ b .L7001CC68 -/* 01D5EC 7001C9EC 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C9F0: -/* 01D5F0 7001C9F0 8E2E0060 */ lw $t6, 0x60($s1) -/* 01D5F4 7001C9F4 0016C100 */ sll $t8, $s6, 4 -/* 01D5F8 7001C9F8 01D87821 */ addu $t7, $t6, $t8 -/* 01D5FC 7001C9FC A1F40009 */ sb $s4, 9($t7) -/* 01D600 7001CA00 8E300064 */ lw $s0, 0x64($s1) -/* 01D604 7001CA04 52000098 */ beql $s0, $zero, .L7001CC68 -/* 01D608 7001CA08 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D60C 7001CA0C 02C09025 */ move $s2, $s6 -/* 01D610 7001CA10 24130003 */ li $s3, 3 -/* 01D614 7001CA14 92190031 */ lbu $t9, 0x31($s0) -.L7001CA18: -/* 01D618 7001CA18 56590016 */ bnel $s2, $t9, .L7001CA74 -/* 01D61C 7001CA1C 8E100000 */ lw $s0, ($s0) -/* 01D620 7001CA20 920E0034 */ lbu $t6, 0x34($s0) -/* 01D624 7001CA24 02002025 */ move $a0, $s0 -/* 01D628 7001CA28 526E0012 */ beql $s3, $t6, .L7001CA74 -/* 01D62C 7001CA2C 8E100000 */ lw $s0, ($s0) -/* 01D630 7001CA30 0C006F85 */ jal __vsVol -/* 01D634 7001CA34 02202825 */ move $a1, $s1 -/* 01D638 7001CA38 8E23001C */ lw $v1, 0x1c($s1) -/* 01D63C 7001CA3C 8E0F0024 */ lw $t7, 0x24($s0) -/* 01D640 7001CA40 00023400 */ sll $a2, $v0, 0x10 -/* 01D644 7001CA44 0006C403 */ sra $t8, $a2, 0x10 -/* 01D648 7001CA48 01E32023 */ subu $a0, $t7, $v1 -/* 01D64C 7001CA4C 04800003 */ bltz $a0, .L7001CA5C -/* 01D650 7001CA50 03003025 */ move $a2, $t8 -/* 01D654 7001CA54 10000002 */ b .L7001CA60 -/* 01D658 7001CA58 00801025 */ move $v0, $a0 -.L7001CA5C: -/* 01D65C 7001CA5C 240203E8 */ li $v0, 1000 -.L7001CA60: -/* 01D660 7001CA60 8E240014 */ lw $a0, 0x14($s1) -/* 01D664 7001CA64 26050004 */ addiu $a1, $s0, 4 -/* 01D668 7001CA68 0C004CE8 */ jal alSynSetVol -/* 01D66C 7001CA6C 00403825 */ move $a3, $v0 -/* 01D670 7001CA70 8E100000 */ lw $s0, ($s0) -.L7001CA74: -/* 01D674 7001CA74 5600FFE8 */ bnezl $s0, .L7001CA18 -/* 01D678 7001CA78 92190031 */ lbu $t9, 0x31($s0) -/* 01D67C 7001CA7C 1000007A */ b .L7001CC68 -/* 01D680 7001CA80 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CA84: -/* 01D684 7001CA84 8E390060 */ lw $t9, 0x60($s1) -/* 01D688 7001CA88 00167100 */ sll $t6, $s6, 4 -/* 01D68C 7001CA8C 032EC021 */ addu $t8, $t9, $t6 -/* 01D690 7001CA90 10000074 */ b .L7001CC64 -/* 01D694 7001CA94 A3140008 */ sb $s4, 8($t8) -/* 01D698 7001CA98 8E2F0060 */ lw $t7, 0x60($s1) -.L7001CA9C: -/* 01D69C 7001CA9C 0016C900 */ sll $t9, $s6, 4 -/* 01D6A0 7001CAA0 01F97021 */ addu $t6, $t7, $t9 -/* 01D6A4 7001CAA4 A1D4000B */ sb $s4, 0xb($t6) -/* 01D6A8 7001CAA8 8E300064 */ lw $s0, 0x64($s1) -/* 01D6AC 7001CAAC 5200006E */ beql $s0, $zero, .L7001CC68 -/* 01D6B0 7001CAB0 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D6B4 7001CAB4 02C09025 */ move $s2, $s6 -/* 01D6B8 7001CAB8 24160002 */ li $s6, 2 -/* 01D6BC 7001CABC 241E0003 */ li $fp, 3 -/* 01D6C0 7001CAC0 24170004 */ li $s7, 4 -/* 01D6C4 7001CAC4 24150002 */ li $s5, 2 -/* 01D6C8 7001CAC8 24130003 */ li $s3, 3 -/* 01D6CC 7001CACC 92180031 */ lbu $t8, 0x31($s0) -.L7001CAD0: -/* 01D6D0 7001CAD0 56580019 */ bnel $s2, $t8, .L7001CB38 -/* 01D6D4 7001CAD4 8E100000 */ lw $s0, ($s0) -/* 01D6D8 7001CAD8 92020035 */ lbu $v0, 0x35($s0) -/* 01D6DC 7001CADC 2A810040 */ slti $at, $s4, 0x40 -/* 01D6E0 7001CAE0 52620015 */ beql $s3, $v0, .L7001CB38 -/* 01D6E4 7001CAE4 8E100000 */ lw $s0, ($s0) -/* 01D6E8 7001CAE8 14200005 */ bnez $at, .L7001CB00 -/* 01D6EC 7001CAEC 00000000 */ nop -/* 01D6F0 7001CAF0 54400011 */ bnezl $v0, .L7001CB38 -/* 01D6F4 7001CAF4 8E100000 */ lw $s0, ($s0) -/* 01D6F8 7001CAF8 1000000E */ b .L7001CB34 -/* 01D6FC 7001CAFC A2150035 */ sb $s5, 0x35($s0) -.L7001CB00: -/* 01D700 7001CB00 16C20003 */ bne $s6, $v0, .L7001CB10 -/* 01D704 7001CB04 00000000 */ nop -/* 01D708 7001CB08 1000000A */ b .L7001CB34 -/* 01D70C 7001CB0C A2000035 */ sb $zero, 0x35($s0) -.L7001CB10: -/* 01D710 7001CB10 56E20009 */ bnel $s7, $v0, .L7001CB38 -/* 01D714 7001CB14 8E100000 */ lw $s0, ($s0) -/* 01D718 7001CB18 8E0F0020 */ lw $t7, 0x20($s0) -/* 01D71C 7001CB1C A21E0035 */ sb $fp, 0x35($s0) -/* 01D720 7001CB20 02202025 */ move $a0, $s1 -/* 01D724 7001CB24 8DF90000 */ lw $t9, ($t7) -/* 01D728 7001CB28 26050004 */ addiu $a1, $s0, 4 -/* 01D72C 7001CB2C 0C006FA7 */ jal __seqpReleaseVoice -/* 01D730 7001CB30 8F260008 */ lw $a2, 8($t9) -.L7001CB34: -/* 01D734 7001CB34 8E100000 */ lw $s0, ($s0) -.L7001CB38: -/* 01D738 7001CB38 5600FFE5 */ bnezl $s0, .L7001CAD0 -/* 01D73C 7001CB3C 92180031 */ lbu $t8, 0x31($s0) -/* 01D740 7001CB40 10000049 */ b .L7001CC68 -/* 01D744 7001CB44 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CB48: -/* 01D748 7001CB48 8E2E0060 */ lw $t6, 0x60($s1) -/* 01D74C 7001CB4C 0016C100 */ sll $t8, $s6, 4 -/* 01D750 7001CB50 01D87821 */ addu $t7, $t6, $t8 -/* 01D754 7001CB54 A1F4000A */ sb $s4, 0xa($t7) -/* 01D758 7001CB58 8E300064 */ lw $s0, 0x64($s1) -/* 01D75C 7001CB5C 52000042 */ beql $s0, $zero, .L7001CC68 -/* 01D760 7001CB60 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D764 7001CB64 02C09025 */ move $s2, $s6 -/* 01D768 7001CB68 92190031 */ lbu $t9, 0x31($s0) -.L7001CB6C: -/* 01D76C 7001CB6C 26050004 */ addiu $a1, $s0, 4 -/* 01D770 7001CB70 328600FF */ andi $a2, $s4, 0xff -/* 01D774 7001CB74 56590004 */ bnel $s2, $t9, .L7001CB88 -/* 01D778 7001CB78 8E100000 */ lw $s0, ($s0) -/* 01D77C 7001CB7C 0C004D7C */ jal alSynSetFXMix -/* 01D780 7001CB80 8E240014 */ lw $a0, 0x14($s1) -/* 01D784 7001CB84 8E100000 */ lw $s0, ($s0) -.L7001CB88: -/* 01D788 7001CB88 5600FFF8 */ bnezl $s0, .L7001CB6C -/* 01D78C 7001CB8C 92190031 */ lbu $t9, 0x31($s0) -/* 01D790 7001CB90 10000035 */ b .L7001CC68 -/* 01D794 7001CB94 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CB98: -/* 01D798 7001CB98 8E220020 */ lw $v0, 0x20($s1) -/* 01D79C 7001CB9C 0013C080 */ sll $t8, $s3, 2 -/* 01D7A0 7001CBA0 02202025 */ move $a0, $s1 -/* 01D7A4 7001CBA4 844E0000 */ lh $t6, ($v0) -/* 01D7A8 7001CBA8 02C03025 */ move $a2, $s6 -/* 01D7AC 7001CBAC 00587821 */ addu $t7, $v0, $t8 -/* 01D7B0 7001CBB0 026E082A */ slt $at, $s3, $t6 -/* 01D7B4 7001CBB4 5020002C */ beql $at, $zero, .L7001CC68 -/* 01D7B8 7001CBB8 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D7BC 7001CBBC 0C006F18 */ jal __setInstChanState -/* 01D7C0 7001CBC0 8DE5000C */ lw $a1, 0xc($t7) -/* 01D7C4 7001CBC4 10000028 */ b .L7001CC68 -/* 01D7C8 7001CBC8 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CBCC: -/* 01D7CC 7001CBCC 8E390060 */ lw $t9, 0x60($s1) -/* 01D7D0 7001CBD0 0016F100 */ sll $fp, $s6, 4 -/* 01D7D4 7001CBD4 001479C0 */ sll $t7, $s4, 7 -/* 01D7D8 7001CBD8 033E7021 */ addu $t6, $t9, $fp -/* 01D7DC 7001CBDC 85D80004 */ lh $t8, 4($t6) -/* 01D7E0 7001CBE0 01F3C821 */ addu $t9, $t7, $s3 -/* 01D7E4 7001CBE4 272EE000 */ addiu $t6, $t9, -0x2000 -/* 01D7E8 7001CBE8 030E0019 */ multu $t8, $t6 -/* 01D7EC 7001CBEC 00002012 */ mflo $a0 -/* 01D7F0 7001CBF0 04810003 */ bgez $a0, .L7001CC00 -/* 01D7F4 7001CBF4 00047B43 */ sra $t7, $a0, 0xd -/* 01D7F8 7001CBF8 24811FFF */ addiu $at, $a0, 0x1fff -/* 01D7FC 7001CBFC 00017B43 */ sra $t7, $at, 0xd -.L7001CC00: -/* 01D800 7001CC00 0C004DF0 */ jal alCents2Ratio -/* 01D804 7001CC04 01E02025 */ move $a0, $t7 -/* 01D808 7001CC08 8E390060 */ lw $t9, 0x60($s1) -/* 01D80C 7001CC0C 46000506 */ mov.s $f20, $f0 -/* 01D810 7001CC10 033EC021 */ addu $t8, $t9, $fp -/* 01D814 7001CC14 E700000C */ swc1 $f0, 0xc($t8) -/* 01D818 7001CC18 8E300064 */ lw $s0, 0x64($s1) -/* 01D81C 7001CC1C 52000012 */ beql $s0, $zero, .L7001CC68 -/* 01D820 7001CC20 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D824 7001CC24 02C09025 */ move $s2, $s6 -/* 01D828 7001CC28 920E0031 */ lbu $t6, 0x31($s0) -.L7001CC2C: -/* 01D82C 7001CC2C 564E000B */ bnel $s2, $t6, .L7001CC5C -/* 01D830 7001CC30 8E100000 */ lw $s0, ($s0) -/* 01D834 7001CC34 C6060028 */ lwc1 $f6, 0x28($s0) -/* 01D838 7001CC38 C60A002C */ lwc1 $f10, 0x2c($s0) -/* 01D83C 7001CC3C 8E240014 */ lw $a0, 0x14($s1) -/* 01D840 7001CC40 46143202 */ mul.s $f8, $f6, $f20 -/* 01D844 7001CC44 26050004 */ addiu $a1, $s0, 4 -/* 01D848 7001CC48 460A4102 */ mul.s $f4, $f8, $f10 -/* 01D84C 7001CC4C 44062000 */ mfc1 $a2, $f4 -/* 01D850 7001CC50 0C004D58 */ jal alSynSetPitch -/* 01D854 7001CC54 00000000 */ nop -/* 01D858 7001CC58 8E100000 */ lw $s0, ($s0) -.L7001CC5C: -/* 01D85C 7001CC5C 5600FFF3 */ bnezl $s0, .L7001CC2C -/* 01D860 7001CC60 920E0031 */ lbu $t6, 0x31($s0) -.L7001CC64: -/* 01D864 7001CC64 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CC68: -/* 01D868 7001CC68 27BD00E0 */ addiu $sp, $sp, 0xe0 -/* 01D86C 7001CC6C 03E00008 */ jr $ra -/* 01D870 7001CC70 00000000 */ nop - -/* 01D874 7001CC74 03E00008 */ jr $ra -/* 01D878 7001CC78 00000000 */ nop - -glabel __seqpVoiceHandler -/* 01D87C 7001CC7C 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 01D880 7001CC80 AFB50034 */ sw $s5, 0x34($sp) -/* 01D884 7001CC84 AFB20028 */ sw $s2, 0x28($sp) -/* 01D888 7001CC88 248E0038 */ addiu $t6, $a0, 0x38 -/* 01D88C 7001CC8C 00809025 */ move $s2, $a0 -/* 01D890 7001CC90 AFBF0044 */ sw $ra, 0x44($sp) -/* 01D894 7001CC94 AFBE0040 */ sw $fp, 0x40($sp) -/* 01D898 7001CC98 AFB7003C */ sw $s7, 0x3c($sp) -/* 01D89C 7001CC9C AFB60038 */ sw $s6, 0x38($sp) -/* 01D8A0 7001CCA0 AFB40030 */ sw $s4, 0x30($sp) -/* 01D8A4 7001CCA4 AFB3002C */ sw $s3, 0x2c($sp) -/* 01D8A8 7001CCA8 AFB10024 */ sw $s1, 0x24($sp) -/* 01D8AC 7001CCAC AFB00020 */ sw $s0, 0x20($sp) -/* 01D8B0 7001CCB0 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 01D8B4 7001CCB4 AFAE0050 */ sw $t6, 0x50($sp) -/* 01D8B8 7001CCB8 24950048 */ addiu $s5, $a0, 0x48 -.L7001CCBC: -/* 01D8BC 7001CCBC 964F0038 */ lhu $t7, 0x38($s2) -/* 01D8C0 7001CCC0 2DE10018 */ sltiu $at, $t7, 0x18 -/* 01D8C4 7001CCC4 10200161 */ beqz $at, .L7001D24C -/* 01D8C8 7001CCC8 000F7880 */ sll $t7, $t7, 2 -/* 01D8CC 7001CCCC 3C018003 */ lui $at, 0x8003 -/* 01D8D0 7001CCD0 002F0821 */ addu $at, $at, $t7 -/* 01D8D4 7001CCD4 8C2F9C28 */ lw $t7, -0x63d8($at) -/* 01D8D8 7001CCD8 01E00008 */ jr $t7 -/* 01D8DC 7001CCDC 00000000 */ nop -.L7001CCE0: -/* 01D8E0 7001CCE0 8E440018 */ lw $a0, 0x18($s2) -/* 01D8E4 7001CCE4 5080015A */ beql $a0, $zero, .L7001D250 -/* 01D8E8 7001CCE8 02A02025 */ move $a0, $s5 -/* 01D8EC 7001CCEC 0C00816D */ jal alSeqNextEvent -/* 01D8F0 7001CCF0 27A50088 */ addiu $a1, $sp, 0x88 -/* 01D8F4 7001CCF4 87A20088 */ lh $v0, 0x88($sp) -/* 01D8F8 7001CCF8 24010001 */ li $at, 1 -/* 01D8FC 7001CCFC 02408825 */ move $s1, $s2 -/* 01D900 7001CD00 10410009 */ beq $v0, $at, .L7001CD28 -/* 01D904 7001CD04 27A40088 */ addiu $a0, $sp, 0x88 -/* 01D908 7001CD08 24010003 */ li $at, 3 -/* 01D90C 7001CD0C 1041000F */ beq $v0, $at, .L7001CD4C -/* 01D910 7001CD10 02402825 */ move $a1, $s2 -/* 01D914 7001CD14 24010004 */ li $at, 4 -/* 01D918 7001CD18 10410012 */ beq $v0, $at, .L7001CD64 -/* 01D91C 7001CD1C 24180002 */ li $t8, 2 -/* 01D920 7001CD20 1000014B */ b .L7001D250 -/* 01D924 7001CD24 02A02025 */ move $a0, $s5 -.L7001CD28: -/* 01D928 7001CD28 AFB200D0 */ sw $s2, 0xd0($sp) -/* 01D92C 7001CD2C 0C007117 */ jal __handleMIDIMsg -/* 01D930 7001CD30 AFB5004C */ sw $s5, 0x4c($sp) -/* 01D934 7001CD34 8FB200D0 */ lw $s2, 0xd0($sp) -/* 01D938 7001CD38 8FB5004C */ lw $s5, 0x4c($sp) -/* 01D93C 7001CD3C 0C007038 */ jal __postNextSeqEvent -/* 01D940 7001CD40 02402025 */ move $a0, $s2 -/* 01D944 7001CD44 10000142 */ b .L7001D250 -/* 01D948 7001CD48 02A02025 */ move $a0, $s5 -.L7001CD4C: -/* 01D94C 7001CD4C 0C00706F */ jal __handleMetaMsg -/* 01D950 7001CD50 27A40088 */ addiu $a0, $sp, 0x88 -/* 01D954 7001CD54 0C007038 */ jal __postNextSeqEvent -/* 01D958 7001CD58 02402025 */ move $a0, $s2 -/* 01D95C 7001CD5C 1000013C */ b .L7001D250 -/* 01D960 7001CD60 02A02025 */ move $a0, $s5 -.L7001CD64: -/* 01D964 7001CD64 AE58002C */ sw $t8, 0x2c($s2) -/* 01D968 7001CD68 24190010 */ li $t9, 16 -/* 01D96C 7001CD6C 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 01D970 7001CD70 A7B90088 */ sh $t9, 0x88($sp) -/* 01D974 7001CD74 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 01D978 7001CD78 02A02025 */ move $a0, $s5 -/* 01D97C 7001CD7C 0C004BBF */ jal alEvtqPostEvent -/* 01D980 7001CD80 27A50088 */ addiu $a1, $sp, 0x88 -/* 01D984 7001CD84 10000132 */ b .L7001D250 -/* 01D988 7001CD88 02A02025 */ move $a0, $s5 -.L7001CD8C: -/* 01D98C 7001CD8C 240E0009 */ li $t6, 9 -/* 01D990 7001CD90 A7AE00BC */ sh $t6, 0xbc($sp) -/* 01D994 7001CD94 8E46005C */ lw $a2, 0x5c($s2) -/* 01D998 7001CD98 02A02025 */ move $a0, $s5 -/* 01D99C 7001CD9C 0C004BBF */ jal alEvtqPostEvent -/* 01D9A0 7001CDA0 27A500BC */ addiu $a1, $sp, 0xbc -/* 01D9A4 7001CDA4 1000012A */ b .L7001D250 -/* 01D9A8 7001CDA8 02A02025 */ move $a0, $s5 -.L7001CDAC: -/* 01D9AC 7001CDAC 8E50003C */ lw $s0, 0x3c($s2) -/* 01D9B0 7001CDB0 8E440014 */ lw $a0, 0x14($s2) -/* 01D9B4 7001CDB4 0C004DA4 */ jal alSynStopVoice -/* 01D9B8 7001CDB8 02002825 */ move $a1, $s0 -/* 01D9BC 7001CDBC 8E440014 */ lw $a0, 0x14($s2) -/* 01D9C0 7001CDC0 0C004DC4 */ jal alSynFreeVoice -/* 01D9C4 7001CDC4 02002825 */ move $a1, $s0 -/* 01D9C8 7001CDC8 8E110010 */ lw $s1, 0x10($s0) -/* 01D9CC 7001CDCC 02402025 */ move $a0, $s2 -/* 01D9D0 7001CDD0 922F0037 */ lbu $t7, 0x37($s1) -/* 01D9D4 7001CDD4 51E00004 */ beql $t7, $zero, .L7001CDE8 -/* 01D9D8 7001CDD8 02402025 */ move $a0, $s2 -/* 01D9DC 7001CDDC 0C0074A8 */ jal __seqpStopOsc -/* 01D9E0 7001CDE0 02202825 */ move $a1, $s1 -/* 01D9E4 7001CDE4 02402025 */ move $a0, $s2 -.L7001CDE8: -/* 01D9E8 7001CDE8 0C00701C */ jal __unmapVoice -/* 01D9EC 7001CDEC 02002825 */ move $a1, $s0 -/* 01D9F0 7001CDF0 10000117 */ b .L7001D250 -/* 01D9F4 7001CDF4 02A02025 */ move $a0, $s5 -.L7001CDF8: -/* 01D9F8 7001CDF8 8E50003C */ lw $s0, 0x3c($s2) -/* 01D9FC 7001CDFC 24190001 */ li $t9, 1 -/* 01DA00 7001CE00 8E110010 */ lw $s1, 0x10($s0) -/* 01DA04 7001CE04 92380034 */ lbu $t8, 0x34($s1) -/* 01DA08 7001CE08 57000003 */ bnezl $t8, .L7001CE18 -/* 01DA0C 7001CE0C 924E0044 */ lbu $t6, 0x44($s2) -/* 01DA10 7001CE10 A2390034 */ sb $t9, 0x34($s1) -/* 01DA14 7001CE14 924E0044 */ lbu $t6, 0x44($s2) -.L7001CE18: -/* 01DA18 7001CE18 8E530040 */ lw $s3, 0x40($s2) -/* 01DA1C 7001CE1C 02202025 */ move $a0, $s1 -/* 01DA20 7001CE20 A22E0030 */ sb $t6, 0x30($s1) -/* 01DA24 7001CE24 8E4F001C */ lw $t7, 0x1c($s2) -/* 01DA28 7001CE28 02402825 */ move $a1, $s2 -/* 01DA2C 7001CE2C 01F3C021 */ addu $t8, $t7, $s3 -/* 01DA30 7001CE30 0C006F85 */ jal __vsVol -/* 01DA34 7001CE34 AE380024 */ sw $t8, 0x24($s1) -/* 01DA38 7001CE38 00023400 */ sll $a2, $v0, 0x10 -/* 01DA3C 7001CE3C 0006CC03 */ sra $t9, $a2, 0x10 -/* 01DA40 7001CE40 03203025 */ move $a2, $t9 -/* 01DA44 7001CE44 8E440014 */ lw $a0, 0x14($s2) -/* 01DA48 7001CE48 02002825 */ move $a1, $s0 -/* 01DA4C 7001CE4C 0C004CE8 */ jal alSynSetVol -/* 01DA50 7001CE50 02603825 */ move $a3, $s3 -/* 01DA54 7001CE54 100000FE */ b .L7001D250 -/* 01DA58 7001CE58 02A02025 */ move $a0, $s5 -.L7001CE5C: -/* 01DA5C 7001CE5C 8E590074 */ lw $t9, 0x74($s2) -/* 01DA60 7001CE60 8E540040 */ lw $s4, 0x40($s2) -/* 01DA64 7001CE64 8E51003C */ lw $s1, 0x3c($s2) -/* 01DA68 7001CE68 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 01DA6C 7001CE6C 0320F809 */ jalr $t9 -/* 01DA70 7001CE70 02802025 */ move $a0, $s4 -/* 01DA74 7001CE74 444EF800 */ cfc1 $t6, $31 -/* 01DA78 7001CE78 240F0001 */ li $t7, 1 -/* 01DA7C 7001CE7C 44CFF800 */ ctc1 $t7, $31 -/* 01DA80 7001CE80 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 01DA84 7001CE84 00409825 */ move $s3, $v0 -/* 01DA88 7001CE88 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 01DA8C 7001CE8C 460021A4 */ cvt.w.s $f6, $f4 -/* 01DA90 7001CE90 02202025 */ move $a0, $s1 -/* 01DA94 7001CE94 02402825 */ move $a1, $s2 -/* 01DA98 7001CE98 444FF800 */ cfc1 $t7, $31 -/* 01DA9C 7001CE9C 00000000 */ nop -/* 01DAA0 7001CEA0 31EF0078 */ andi $t7, $t7, 0x78 -/* 01DAA4 7001CEA4 51E00013 */ beql $t7, $zero, .L7001CEF4 -/* 01DAA8 7001CEA8 440F3000 */ mfc1 $t7, $f6 -/* 01DAAC 7001CEAC 44813000 */ mtc1 $at, $f6 -/* 01DAB0 7001CEB0 240F0001 */ li $t7, 1 -/* 01DAB4 7001CEB4 46062181 */ sub.s $f6, $f4, $f6 -/* 01DAB8 7001CEB8 44CFF800 */ ctc1 $t7, $31 -/* 01DABC 7001CEBC 00000000 */ nop -/* 01DAC0 7001CEC0 460031A4 */ cvt.w.s $f6, $f6 -/* 01DAC4 7001CEC4 444FF800 */ cfc1 $t7, $31 -/* 01DAC8 7001CEC8 00000000 */ nop -/* 01DACC 7001CECC 31EF0078 */ andi $t7, $t7, 0x78 -/* 01DAD0 7001CED0 15E00005 */ bnez $t7, .L7001CEE8 -/* 01DAD4 7001CED4 00000000 */ nop -/* 01DAD8 7001CED8 440F3000 */ mfc1 $t7, $f6 -/* 01DADC 7001CEDC 3C018000 */ lui $at, 0x8000 -/* 01DAE0 7001CEE0 10000007 */ b .L7001CF00 -/* 01DAE4 7001CEE4 01E17825 */ or $t7, $t7, $at -.L7001CEE8: -/* 01DAE8 7001CEE8 10000005 */ b .L7001CF00 -/* 01DAEC 7001CEEC 240FFFFF */ li $t7, -1 -/* 01DAF0 7001CEF0 440F3000 */ mfc1 $t7, $f6 -.L7001CEF4: -/* 01DAF4 7001CEF4 00000000 */ nop -/* 01DAF8 7001CEF8 05E0FFFB */ bltz $t7, .L7001CEE8 -/* 01DAFC 7001CEFC 00000000 */ nop -.L7001CF00: -/* 01DB00 7001CF00 44CEF800 */ ctc1 $t6, $31 -/* 01DB04 7001CF04 0C006F85 */ jal __vsVol -/* 01DB08 7001CF08 A22F0036 */ sb $t7, 0x36($s1) -/* 01DB0C 7001CF0C 8E43001C */ lw $v1, 0x1c($s2) -/* 01DB10 7001CF10 8E390024 */ lw $t9, 0x24($s1) -/* 01DB14 7001CF14 00023400 */ sll $a2, $v0, 0x10 -/* 01DB18 7001CF18 0006C403 */ sra $t8, $a2, 0x10 -/* 01DB1C 7001CF1C 03232023 */ subu $a0, $t9, $v1 -/* 01DB20 7001CF20 04800003 */ bltz $a0, .L7001CF30 -/* 01DB24 7001CF24 03003025 */ move $a2, $t8 -/* 01DB28 7001CF28 10000002 */ b .L7001CF34 -/* 01DB2C 7001CF2C 00801025 */ move $v0, $a0 -.L7001CF30: -/* 01DB30 7001CF30 240203E8 */ li $v0, 1000 -.L7001CF34: -/* 01DB34 7001CF34 8E440014 */ lw $a0, 0x14($s2) -/* 01DB38 7001CF38 26250004 */ addiu $a1, $s1, 4 -/* 01DB3C 7001CF3C 0C004CE8 */ jal alSynSetVol -/* 01DB40 7001CF40 00403825 */ move $a3, $v0 -/* 01DB44 7001CF44 240E0016 */ li $t6, 22 -/* 01DB48 7001CF48 A7AE00BC */ sh $t6, 0xbc($sp) -/* 01DB4C 7001CF4C AFB100C0 */ sw $s1, 0xc0($sp) -/* 01DB50 7001CF50 AFB400C4 */ sw $s4, 0xc4($sp) -/* 01DB54 7001CF54 02A02025 */ move $a0, $s5 -/* 01DB58 7001CF58 27A500BC */ addiu $a1, $sp, 0xbc -/* 01DB5C 7001CF5C 0C004BBF */ jal alEvtqPostEvent -/* 01DB60 7001CF60 02603025 */ move $a2, $s3 -/* 01DB64 7001CF64 100000BA */ b .L7001D250 -/* 01DB68 7001CF68 02A02025 */ move $a0, $s5 -.L7001CF6C: -/* 01DB6C 7001CF6C 8E590074 */ lw $t9, 0x74($s2) -/* 01DB70 7001CF70 8E540040 */ lw $s4, 0x40($s2) -/* 01DB74 7001CF74 8E51003C */ lw $s1, 0x3c($s2) -/* 01DB78 7001CF78 92500044 */ lbu $s0, 0x44($s2) -/* 01DB7C 7001CF7C 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 01DB80 7001CF80 0320F809 */ jalr $t9 -/* 01DB84 7001CF84 02802025 */ move $a0, $s4 -/* 01DB88 7001CF88 C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 01DB8C 7001CF8C C6240028 */ lwc1 $f4, 0x28($s1) -/* 01DB90 7001CF90 0010C100 */ sll $t8, $s0, 4 -/* 01DB94 7001CF94 E628002C */ swc1 $f8, 0x2c($s1) -/* 01DB98 7001CF98 C626002C */ lwc1 $f6, 0x2c($s1) -/* 01DB9C 7001CF9C 8E4F0060 */ lw $t7, 0x60($s2) -/* 01DBA0 7001CFA0 00409825 */ move $s3, $v0 -/* 01DBA4 7001CFA4 46062202 */ mul.s $f8, $f4, $f6 -/* 01DBA8 7001CFA8 01F87021 */ addu $t6, $t7, $t8 -/* 01DBAC 7001CFAC C5CA000C */ lwc1 $f10, 0xc($t6) -/* 01DBB0 7001CFB0 8E440014 */ lw $a0, 0x14($s2) -/* 01DBB4 7001CFB4 26250004 */ addiu $a1, $s1, 4 -/* 01DBB8 7001CFB8 46085102 */ mul.s $f4, $f10, $f8 -/* 01DBBC 7001CFBC 44062000 */ mfc1 $a2, $f4 -/* 01DBC0 7001CFC0 0C004D58 */ jal alSynSetPitch -/* 01DBC4 7001CFC4 00000000 */ nop -/* 01DBC8 7001CFC8 24190017 */ li $t9, 23 -/* 01DBCC 7001CFCC A7B900BC */ sh $t9, 0xbc($sp) -/* 01DBD0 7001CFD0 AFB100C0 */ sw $s1, 0xc0($sp) -/* 01DBD4 7001CFD4 AFB400C4 */ sw $s4, 0xc4($sp) -/* 01DBD8 7001CFD8 A3B000C8 */ sb $s0, 0xc8($sp) -/* 01DBDC 7001CFDC 02A02025 */ move $a0, $s5 -/* 01DBE0 7001CFE0 27A500BC */ addiu $a1, $sp, 0xbc -/* 01DBE4 7001CFE4 0C004BBF */ jal alEvtqPostEvent -/* 01DBE8 7001CFE8 02603025 */ move $a2, $s3 -/* 01DBEC 7001CFEC 10000098 */ b .L7001D250 -/* 01DBF0 7001CFF0 02A02025 */ move $a0, $s5 -.L7001CFF4: -/* 01DBF4 7001CFF4 02408825 */ move $s1, $s2 -/* 01DBF8 7001CFF8 8FA40050 */ lw $a0, 0x50($sp) -/* 01DBFC 7001CFFC AFB200D0 */ sw $s2, 0xd0($sp) -/* 01DC00 7001D000 0C007117 */ jal __handleMIDIMsg -/* 01DC04 7001D004 AFB5004C */ sw $s5, 0x4c($sp) -/* 01DC08 7001D008 8FB200D0 */ lw $s2, 0xd0($sp) -/* 01DC0C 7001D00C 1000008F */ b .L7001D24C -/* 01DC10 7001D010 8FB5004C */ lw $s5, 0x4c($sp) -.L7001D014: -/* 01DC14 7001D014 02402825 */ move $a1, $s2 -/* 01DC18 7001D018 0C00706F */ jal __handleMetaMsg -/* 01DC1C 7001D01C 8FA40050 */ lw $a0, 0x50($sp) -/* 01DC20 7001D020 1000008B */ b .L7001D250 -/* 01DC24 7001D024 02A02025 */ move $a0, $s5 -.L7001D028: -/* 01DC28 7001D028 8E4F002C */ lw $t7, 0x2c($s2) -/* 01DC2C 7001D02C 24010001 */ li $at, 1 -/* 01DC30 7001D030 24180001 */ li $t8, 1 -/* 01DC34 7001D034 11E10085 */ beq $t7, $at, .L7001D24C -/* 01DC38 7001D038 02402025 */ move $a0, $s2 -/* 01DC3C 7001D03C 0C007038 */ jal __postNextSeqEvent -/* 01DC40 7001D040 AE58002C */ sw $t8, 0x2c($s2) -/* 01DC44 7001D044 10000082 */ b .L7001D250 -/* 01DC48 7001D048 02A02025 */ move $a0, $s5 -.L7001D04C: -/* 01DC4C 7001D04C 8E4E002C */ lw $t6, 0x2c($s2) -/* 01DC50 7001D050 24010002 */ li $at, 2 -/* 01DC54 7001D054 55C1007E */ bnel $t6, $at, .L7001D250 -/* 01DC58 7001D058 02A02025 */ move $a0, $s5 -/* 01DC5C 7001D05C 8E510064 */ lw $s1, 0x64($s2) -/* 01DC60 7001D060 12200013 */ beqz $s1, .L7001D0B0 -/* 01DC64 7001D064 26300004 */ addiu $s0, $s1, 4 -.L7001D068: -/* 01DC68 7001D068 02002825 */ move $a1, $s0 -/* 01DC6C 7001D06C 0C004DA4 */ jal alSynStopVoice -/* 01DC70 7001D070 8E440014 */ lw $a0, 0x14($s2) -/* 01DC74 7001D074 8E440014 */ lw $a0, 0x14($s2) -/* 01DC78 7001D078 0C004DC4 */ jal alSynFreeVoice -/* 01DC7C 7001D07C 02002825 */ move $a1, $s0 -/* 01DC80 7001D080 92390037 */ lbu $t9, 0x37($s1) -/* 01DC84 7001D084 02402025 */ move $a0, $s2 -/* 01DC88 7001D088 53200004 */ beql $t9, $zero, .L7001D09C -/* 01DC8C 7001D08C 02402025 */ move $a0, $s2 -/* 01DC90 7001D090 0C0074A8 */ jal __seqpStopOsc -/* 01DC94 7001D094 02202825 */ move $a1, $s1 -/* 01DC98 7001D098 02402025 */ move $a0, $s2 -.L7001D09C: -/* 01DC9C 7001D09C 0C00701C */ jal __unmapVoice -/* 01DCA0 7001D0A0 02002825 */ move $a1, $s0 -/* 01DCA4 7001D0A4 8E510064 */ lw $s1, 0x64($s2) -/* 01DCA8 7001D0A8 5620FFEF */ bnezl $s1, .L7001D068 -/* 01DCAC 7001D0AC 26300004 */ addiu $s0, $s1, 4 -.L7001D0B0: -/* 01DCB0 7001D0B0 AE40001C */ sw $zero, 0x1c($s2) -/* 01DCB4 7001D0B4 10000065 */ b .L7001D24C -/* 01DCB8 7001D0B8 AE40002C */ sw $zero, 0x2c($s2) -.L7001D0BC: -/* 01DCBC 7001D0BC 8E4F002C */ lw $t7, 0x2c($s2) -/* 01DCC0 7001D0C0 24010001 */ li $at, 1 -/* 01DCC4 7001D0C4 02A02025 */ move $a0, $s5 -/* 01DCC8 7001D0C8 55E10061 */ bnel $t7, $at, .L7001D250 -/* 01DCCC 7001D0CC 02A02025 */ move $a0, $s5 -/* 01DCD0 7001D0D0 0C004B78 */ jal alEvtqFlushType -/* 01DCD4 7001D0D4 00002825 */ move $a1, $zero -/* 01DCD8 7001D0D8 02A02025 */ move $a0, $s5 -/* 01DCDC 7001D0DC 0C004B78 */ jal alEvtqFlushType -/* 01DCE0 7001D0E0 24050002 */ li $a1, 2 -/* 01DCE4 7001D0E4 8E510064 */ lw $s1, 0x64($s2) -/* 01DCE8 7001D0E8 1220000D */ beqz $s1, .L7001D120 -/* 01DCEC 7001D0EC 26300004 */ addiu $s0, $s1, 4 -.L7001D0F0: -/* 01DCF0 7001D0F0 02002825 */ move $a1, $s0 -/* 01DCF4 7001D0F4 02402025 */ move $a0, $s2 -/* 01DCF8 7001D0F8 0C006FF2 */ jal __voiceNeedsNoteKill -/* 01DCFC 7001D0FC 3406C350 */ li $a2, 50000 -/* 01DD00 7001D100 10400004 */ beqz $v0, .L7001D114 -/* 01DD04 7001D104 02402025 */ move $a0, $s2 -/* 01DD08 7001D108 02002825 */ move $a1, $s0 -/* 01DD0C 7001D10C 0C006FA7 */ jal __seqpReleaseVoice -/* 01DD10 7001D110 3406C350 */ li $a2, 50000 -.L7001D114: -/* 01DD14 7001D114 8E310000 */ lw $s1, ($s1) -/* 01DD18 7001D118 5620FFF5 */ bnezl $s1, .L7001D0F0 -/* 01DD1C 7001D11C 26300004 */ addiu $s0, $s1, 4 -.L7001D120: -/* 01DD20 7001D120 24180002 */ li $t8, 2 -/* 01DD24 7001D124 AE58002C */ sw $t8, 0x2c($s2) -/* 01DD28 7001D128 240E0010 */ li $t6, 16 -/* 01DD2C 7001D12C 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 01DD30 7001D130 A7AE00BC */ sh $t6, 0xbc($sp) -/* 01DD34 7001D134 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 01DD38 7001D138 02A02025 */ move $a0, $s5 -/* 01DD3C 7001D13C 0C004BBF */ jal alEvtqPostEvent -/* 01DD40 7001D140 27A500BC */ addiu $a1, $sp, 0xbc -/* 01DD44 7001D144 10000042 */ b .L7001D250 -/* 01DD48 7001D148 02A02025 */ move $a0, $s5 -.L7001D14C: -/* 01DD4C 7001D14C 8E510064 */ lw $s1, 0x64($s2) -/* 01DD50 7001D150 8659003C */ lh $t9, 0x3c($s2) -/* 01DD54 7001D154 1220003D */ beqz $s1, .L7001D24C -/* 01DD58 7001D158 A6590032 */ sh $t9, 0x32($s2) -/* 01DD5C 7001D15C 02202025 */ move $a0, $s1 -.L7001D160: -/* 01DD60 7001D160 0C006F85 */ jal __vsVol -/* 01DD64 7001D164 02402825 */ move $a1, $s2 -/* 01DD68 7001D168 8E43001C */ lw $v1, 0x1c($s2) -/* 01DD6C 7001D16C 8E380024 */ lw $t8, 0x24($s1) -/* 01DD70 7001D170 00023400 */ sll $a2, $v0, 0x10 -/* 01DD74 7001D174 00067C03 */ sra $t7, $a2, 0x10 -/* 01DD78 7001D178 03032023 */ subu $a0, $t8, $v1 -/* 01DD7C 7001D17C 04800003 */ bltz $a0, .L7001D18C -/* 01DD80 7001D180 01E03025 */ move $a2, $t7 -/* 01DD84 7001D184 10000002 */ b .L7001D190 -/* 01DD88 7001D188 00801025 */ move $v0, $a0 -.L7001D18C: -/* 01DD8C 7001D18C 240203E8 */ li $v0, 1000 -.L7001D190: -/* 01DD90 7001D190 8E440014 */ lw $a0, 0x14($s2) -/* 01DD94 7001D194 26250004 */ addiu $a1, $s1, 4 -/* 01DD98 7001D198 0C004CE8 */ jal alSynSetVol -/* 01DD9C 7001D19C 00403825 */ move $a3, $v0 -/* 01DDA0 7001D1A0 8E310000 */ lw $s1, ($s1) -/* 01DDA4 7001D1A4 5620FFEE */ bnezl $s1, .L7001D160 -/* 01DDA8 7001D1A8 02202025 */ move $a0, $s1 -/* 01DDAC 7001D1AC 10000028 */ b .L7001D250 -/* 01DDB0 7001D1B0 02A02025 */ move $a0, $s5 -.L7001D1B4: -/* 01DDB4 7001D1B4 8E4E003C */ lw $t6, 0x3c($s2) -/* 01DDB8 7001D1B8 8E590040 */ lw $t9, 0x40($s2) -/* 01DDBC 7001D1BC 8E4F0044 */ lw $t7, 0x44($s2) -/* 01DDC0 7001D1C0 AE4E007C */ sw $t6, 0x7c($s2) -/* 01DDC4 7001D1C4 AE590080 */ sw $t9, 0x80($s2) -/* 01DDC8 7001D1C8 10000020 */ b .L7001D24C -/* 01DDCC 7001D1CC AE4F0084 */ sw $t7, 0x84($s2) -.L7001D1D0: -/* 01DDD0 7001D1D0 9250003C */ lbu $s0, 0x3c($s2) -/* 01DDD4 7001D1D4 8E4E0060 */ lw $t6, 0x60($s2) -/* 01DDD8 7001D1D8 9258003D */ lbu $t8, 0x3d($s2) -/* 01DDDC 7001D1DC 0010C900 */ sll $t9, $s0, 4 -/* 01DDE0 7001D1E0 01D97821 */ addu $t7, $t6, $t9 -/* 01DDE4 7001D1E4 10000019 */ b .L7001D24C -/* 01DDE8 7001D1E8 A1F80008 */ sb $t8, 8($t7) -.L7001D1EC: -/* 01DDEC 7001D1EC 8E45003C */ lw $a1, 0x3c($s2) -/* 01DDF0 7001D1F0 240F01E8 */ li $t7, 488 -/* 01DDF4 7001D1F4 3C018003 */ lui $at, %hi(F32_80029C88) # $at, 0x8003 -/* 01DDF8 7001D1F8 10A00008 */ beqz $a1, .L7001D21C -/* 01DDFC 7001D1FC AE450018 */ sw $a1, 0x18($s2) -/* 01DE00 7001D200 C4269C88 */ lwc1 $f6, %lo(F32_80029C88)($at) -/* 01DE04 7001D204 C4AA0014 */ lwc1 $f10, 0x14($a1) -/* 01DE08 7001D208 460A3202 */ mul.s $f8, $f6, $f10 -/* 01DE0C 7001D20C 4600410D */ trunc.w.s $f4, $f8 -/* 01DE10 7001D210 44182000 */ mfc1 $t8, $f4 -/* 01DE14 7001D214 10000002 */ b .L7001D220 -/* 01DE18 7001D218 AE580024 */ sw $t8, 0x24($s2) -.L7001D21C: -/* 01DE1C 7001D21C AE4F0024 */ sw $t7, 0x24($s2) -.L7001D220: -/* 01DE20 7001D220 8E450020 */ lw $a1, 0x20($s2) -/* 01DE24 7001D224 50A0000A */ beql $a1, $zero, .L7001D250 -/* 01DE28 7001D228 02A02025 */ move $a0, $s5 -/* 01DE2C 7001D22C 0C006F4D */ jal __initFromBank -/* 01DE30 7001D230 02402025 */ move $a0, $s2 -/* 01DE34 7001D234 10000006 */ b .L7001D250 -/* 01DE38 7001D238 02A02025 */ move $a0, $s5 -.L7001D23C: -/* 01DE3C 7001D23C 8E45003C */ lw $a1, 0x3c($s2) -/* 01DE40 7001D240 02402025 */ move $a0, $s2 -/* 01DE44 7001D244 0C006F4D */ jal __initFromBank -/* 01DE48 7001D248 AE450020 */ sw $a1, 0x20($s2) -.L7001D24C: -/* 01DE4C 7001D24C 02A02025 */ move $a0, $s5 -.L7001D250: -/* 01DE50 7001D250 0C004C08 */ jal alEvtqNextEvent -/* 01DE54 7001D254 8FA50050 */ lw $a1, 0x50($sp) -/* 01DE58 7001D258 1040FE98 */ beqz $v0, .L7001CCBC -/* 01DE5C 7001D25C AE420028 */ sw $v0, 0x28($s2) -/* 01DE60 7001D260 8E4E001C */ lw $t6, 0x1c($s2) -/* 01DE64 7001D264 01C2C821 */ addu $t9, $t6, $v0 -/* 01DE68 7001D268 AE59001C */ sw $t9, 0x1c($s2) -/* 01DE6C 7001D26C 8FBF0044 */ lw $ra, 0x44($sp) -/* 01DE70 7001D270 8FBE0040 */ lw $fp, 0x40($sp) -/* 01DE74 7001D274 8FB7003C */ lw $s7, 0x3c($sp) -/* 01DE78 7001D278 8FB60038 */ lw $s6, 0x38($sp) -/* 01DE7C 7001D27C 8FB50034 */ lw $s5, 0x34($sp) -/* 01DE80 7001D280 8FB40030 */ lw $s4, 0x30($sp) -/* 01DE84 7001D284 8FB3002C */ lw $s3, 0x2c($sp) -/* 01DE88 7001D288 8FB20028 */ lw $s2, 0x28($sp) -/* 01DE8C 7001D28C 8FB10024 */ lw $s1, 0x24($sp) -/* 01DE90 7001D290 8FB00020 */ lw $s0, 0x20($sp) -/* 01DE94 7001D294 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 01DE98 7001D298 03E00008 */ jr $ra -/* 01DE9C 7001D29C 27BD00D0 */ addiu $sp, $sp, 0xd0 - -glabel __seqpStopOsc -/* 01DEA0 7001D2A0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01DEA4 7001D2A4 AFBF0034 */ sw $ra, 0x34($sp) -/* 01DEA8 7001D2A8 AFB70030 */ sw $s7, 0x30($sp) -/* 01DEAC 7001D2AC AFB6002C */ sw $s6, 0x2c($sp) -/* 01DEB0 7001D2B0 AFB50028 */ sw $s5, 0x28($sp) -/* 01DEB4 7001D2B4 AFB40024 */ sw $s4, 0x24($sp) -/* 01DEB8 7001D2B8 AFB30020 */ sw $s3, 0x20($sp) -/* 01DEBC 7001D2BC AFB2001C */ sw $s2, 0x1c($sp) -/* 01DEC0 7001D2C0 AFB10018 */ sw $s1, 0x18($sp) -/* 01DEC4 7001D2C4 AFB00014 */ sw $s0, 0x14($sp) -/* 01DEC8 7001D2C8 8C900050 */ lw $s0, 0x50($a0) -/* 01DECC 7001D2CC 00A09025 */ move $s2, $a1 -/* 01DED0 7001D2D0 0080A825 */ move $s5, $a0 -/* 01DED4 7001D2D4 12000028 */ beqz $s0, .L7001D378 -/* 01DED8 7001D2D8 24170017 */ li $s7, 23 -/* 01DEDC 7001D2DC 24160016 */ li $s6, 22 -.L7001D2E0: -/* 01DEE0 7001D2E0 8613000C */ lh $s3, 0xc($s0) -/* 01DEE4 7001D2E4 8E110000 */ lw $s1, ($s0) -/* 01DEE8 7001D2E8 52760004 */ beql $s3, $s6, .L7001D2FC -/* 01DEEC 7001D2EC 8E0E0010 */ lw $t6, 0x10($s0) -/* 01DEF0 7001D2F0 1677001F */ bne $s3, $s7, .L7001D370 -/* 01DEF4 7001D2F4 00000000 */ nop -/* 01DEF8 7001D2F8 8E0E0010 */ lw $t6, 0x10($s0) -.L7001D2FC: -/* 01DEFC 7001D2FC 164E001C */ bne $s2, $t6, .L7001D370 -glabel unknown_libname_37 -/* 01DF00 7001D300 00000000 */ nop -/* 01DF04 7001D304 8EB90078 */ lw $t9, 0x78($s5) -/* 01DF08 7001D308 8E040014 */ lw $a0, 0x14($s0) -/* 01DF0C 7001D30C 26B40048 */ addiu $s4, $s5, 0x48 -/* 01DF10 7001D310 0320F809 */ jalr $t9 -/* 01DF14 7001D314 00000000 */ nop -/* 01DF18 7001D318 0C003AA4 */ jal alUnlink -/* 01DF1C 7001D31C 02002025 */ move $a0, $s0 -/* 01DF20 7001D320 12200005 */ beqz $s1, .L7001D338 -/* 01DF24 7001D324 02002025 */ move $a0, $s0 -/* 01DF28 7001D328 8E2F0008 */ lw $t7, 8($s1) -glabel unknown_libname_38 -/* 01DF2C 7001D32C 8E180008 */ lw $t8, 8($s0) -/* 01DF30 7001D330 01F84021 */ addu $t0, $t7, $t8 -/* 01DF34 7001D334 AE280008 */ sw $t0, 8($s1) -glabel unknown_libname_39 -.L7001D338: -/* 01DF38 7001D338 0C003AB0 */ jal alLink -/* 01DF3C 7001D33C 02802825 */ move $a1, $s4 -/* 01DF40 7001D340 56760006 */ bnel $s3, $s6, .L7001D35C -/* 01DF44 7001D344 924B0037 */ lbu $t3, 0x37($s2) -/* 01DF48 7001D348 92490037 */ lbu $t1, 0x37($s2) -/* 01DF4C 7001D34C 312A00FE */ andi $t2, $t1, 0xfe -/* 01DF50 7001D350 10000004 */ b .L7001D364 -/* 01DF54 7001D354 A24A0037 */ sb $t2, 0x37($s2) -/* 01DF58 7001D358 924B0037 */ lbu $t3, 0x37($s2) -glabel unknown_libname_40 -.L7001D35C: -/* 01DF5C 7001D35C 316C00FD */ andi $t4, $t3, 0xfd -/* 01DF60 7001D360 A24C0037 */ sb $t4, 0x37($s2) -.L7001D364: -/* 01DF64 7001D364 924D0037 */ lbu $t5, 0x37($s2) -/* 01DF68 7001D368 51A00004 */ beql $t5, $zero, .L7001D37C -/* 01DF6C 7001D36C 8FBF0034 */ lw $ra, 0x34($sp) -.L7001D370: -/* 01DF70 7001D370 1620FFDB */ bnez $s1, .L7001D2E0 -/* 01DF74 7001D374 02208025 */ move $s0, $s1 -.L7001D378: -/* 01DF78 7001D378 8FBF0034 */ lw $ra, 0x34($sp) -.L7001D37C: -/* 01DF7C 7001D37C 8FB00014 */ lw $s0, 0x14($sp) -/* 01DF80 7001D380 8FB10018 */ lw $s1, 0x18($sp) -/* 01DF84 7001D384 8FB2001C */ lw $s2, 0x1c($sp) -/* 01DF88 7001D388 8FB30020 */ lw $s3, 0x20($sp) -glabel unknown_libname_41 -/* 01DF8C 7001D38C 8FB40024 */ lw $s4, 0x24($sp) -/* 01DF90 7001D390 8FB50028 */ lw $s5, 0x28($sp) -/* 01DF94 7001D394 8FB6002C */ lw $s6, 0x2c($sp) -/* 01DF98 7001D398 8FB70030 */ lw $s7, 0x30($sp) -/* 01DF9C 7001D39C 03E00008 */ jr $ra -glabel unknown_libname_42 -/* 01DFA0 7001D3A0 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel __initChanState -/* 01DFA4 7001D3A4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01DFA8 7001D3A8 AFBF0024 */ sw $ra, 0x24($sp) -/* 01DFAC 7001D3AC AFB20020 */ sw $s2, 0x20($sp) -/* 01DFB0 7001D3B0 AFB1001C */ sw $s1, 0x1c($sp) -/* 01DFB4 7001D3B4 AFB00018 */ sw $s0, 0x18($sp) -/* 01DFB8 7001D3B8 908E0034 */ lbu $t6, 0x34($a0) -/* 01DFBC 7001D3BC 00808825 */ move $s1, $a0 -/* 01DFC0 7001D3C0 00008025 */ move $s0, $zero -/* 01DFC4 7001D3C4 19C0000D */ blez $t6, .L7001D3FC -/* 01DFC8 7001D3C8 00009025 */ move $s2, $zero -/* 01DFCC 7001D3CC 8E2F0060 */ lw $t7, 0x60($s1) -.L7001D3D0: -/* 01DFD0 7001D3D0 02202025 */ move $a0, $s1 -/* 01DFD4 7001D3D4 02002825 */ move $a1, $s0 -/* 01DFD8 7001D3D8 01F2C021 */ addu $t8, $t7, $s2 -/* 01DFDC 7001D3DC 0C006F2D */ jal __resetPerfChanState -/* 01DFE0 7001D3E0 AF000000 */ sw $zero, ($t8) -/* 01DFE4 7001D3E4 92390034 */ lbu $t9, 0x34($s1) -/* 01DFE8 7001D3E8 26100001 */ addiu $s0, $s0, 1 -/* 01DFEC 7001D3EC 26520010 */ addiu $s2, $s2, 0x10 -/* 01DFF0 7001D3F0 0219082A */ slt $at, $s0, $t9 -/* 01DFF4 7001D3F4 5420FFF6 */ bnezl $at, .L7001D3D0 -/* 01DFF8 7001D3F8 8E2F0060 */ lw $t7, 0x60($s1) -.L7001D3FC: -/* 01DFFC 7001D3FC 8FBF0024 */ lw $ra, 0x24($sp) -/* 01E000 7001D400 8FB00018 */ lw $s0, 0x18($sp) -/* 01E004 7001D404 8FB1001C */ lw $s1, 0x1c($sp) -/* 01E008 7001D408 8FB20020 */ lw $s2, 0x20($sp) -/* 01E00C 7001D40C 03E00008 */ jr $ra -/* 01E010 7001D410 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel alSeqpNew -/* 01E014 7001D414 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01E018 7001D418 AFBF0024 */ sw $ra, 0x24($sp) -/* 01E01C 7001D41C AFB10020 */ sw $s1, 0x20($sp) -/* 01E020 7001D420 AFB0001C */ sw $s0, 0x1c($sp) -/* 01E024 7001D424 8CA6000C */ lw $a2, 0xc($a1) -/* 01E028 7001D428 AC800020 */ sw $zero, 0x20($a0) -/* 01E02C 7001D42C AC800018 */ sw $zero, 0x18($a0) -/* 01E030 7001D430 3C0E8002 */ lui $t6, %hi(alGlobals) -/* 01E034 7001D434 8DCE76E0 */ lw $t6, %lo(alGlobals)($t6) -/* 01E038 7001D438 240F00FF */ li $t7, 255 -/* 01E03C 7001D43C 241801E8 */ li $t8, 488 -/* 01E040 7001D440 24197FFF */ li $t9, 32767 -/* 01E044 7001D444 A48F0030 */ sh $t7, 0x30($a0) -/* 01E048 7001D448 AC980024 */ sw $t8, 0x24($a0) -/* 01E04C 7001D44C AC800028 */ sw $zero, 0x28($a0) -/* 01E050 7001D450 AC80002C */ sw $zero, 0x2c($a0) -/* 01E054 7001D454 A4990032 */ sh $t9, 0x32($a0) -/* 01E058 7001D458 AC8E0014 */ sw $t6, 0x14($a0) -/* 01E05C 7001D45C 90A80009 */ lbu $t0, 9($a1) -/* 01E060 7001D460 24093E80 */ li $t1, 16000 -/* 01E064 7001D464 AC89005C */ sw $t1, 0x5c($a0) -/* 01E068 7001D468 AC80001C */ sw $zero, 0x1c($a0) -/* 01E06C 7001D46C A0880035 */ sb $t0, 0x35($a0) -/* 01E070 7001D470 8CAA0010 */ lw $t2, 0x10($a1) -/* 01E074 7001D474 240D0009 */ li $t5, 9 -/* 01E078 7001D478 00A08825 */ move $s1, $a1 -/* 01E07C 7001D47C AC8A0070 */ sw $t2, 0x70($a0) -/* 01E080 7001D480 8CAB0014 */ lw $t3, 0x14($a1) -/* 01E084 7001D484 00808025 */ move $s0, $a0 -/* 01E088 7001D488 240F0010 */ li $t7, 16 -/* 01E08C 7001D48C AC8B0074 */ sw $t3, 0x74($a0) -/* 01E090 7001D490 8CAC0018 */ lw $t4, 0x18($a1) -/* 01E094 7001D494 AC80007C */ sw $zero, 0x7c($a0) -/* 01E098 7001D498 AC800080 */ sw $zero, 0x80($a0) -/* 01E09C 7001D49C AC800084 */ sw $zero, 0x84($a0) -/* 01E0A0 7001D4A0 A48D0038 */ sh $t5, 0x38($a0) -/* 01E0A4 7001D4A4 AC8C0078 */ sw $t4, 0x78($a0) -/* 01E0A8 7001D4A8 90AE0008 */ lbu $t6, 8($a1) -/* 01E0AC 7001D4AC 00002825 */ move $a1, $zero -/* 01E0B0 7001D4B0 A08E0034 */ sb $t6, 0x34($a0) -/* 01E0B4 7001D4B4 92270008 */ lbu $a3, 8($s1) -/* 01E0B8 7001D4B8 AFAF0010 */ sw $t7, 0x10($sp) -/* 01E0BC 7001D4BC 00002025 */ move $a0, $zero -/* 01E0C0 7001D4C0 0C003AD4 */ jal alHeapDBAlloc -/* 01E0C4 7001D4C4 AFA6002C */ sw $a2, 0x2c($sp) -/* 01E0C8 7001D4C8 AE020060 */ sw $v0, 0x60($s0) -/* 01E0CC 7001D4CC 0C0074E9 */ jal __initChanState -/* 01E0D0 7001D4D0 02002025 */ move $a0, $s0 -/* 01E0D4 7001D4D4 8E270000 */ lw $a3, ($s1) -/* 01E0D8 7001D4D8 24180038 */ li $t8, 56 -/* 01E0DC 7001D4DC AFB80010 */ sw $t8, 0x10($sp) -/* 01E0E0 7001D4E0 00002025 */ move $a0, $zero -/* 01E0E4 7001D4E4 00002825 */ move $a1, $zero -/* 01E0E8 7001D4E8 0C003AD4 */ jal alHeapDBAlloc -/* 01E0EC 7001D4EC 8FA6002C */ lw $a2, 0x2c($sp) -/* 01E0F0 7001D4F0 AE00006C */ sw $zero, 0x6c($s0) -/* 01E0F4 7001D4F4 8E390000 */ lw $t9, ($s1) -/* 01E0F8 7001D4F8 00002025 */ move $a0, $zero -/* 01E0FC 7001D4FC 00002825 */ move $a1, $zero -/* 01E100 7001D500 1B20000B */ blez $t9, .L7001D530 -/* 01E104 7001D504 240A001C */ li $t2, 28 -/* 01E108 7001D508 00401825 */ move $v1, $v0 -/* 01E10C 7001D50C 8E08006C */ lw $t0, 0x6c($s0) -.L7001D510: -/* 01E110 7001D510 24840001 */ addiu $a0, $a0, 1 -/* 01E114 7001D514 AC680000 */ sw $t0, ($v1) -/* 01E118 7001D518 AE03006C */ sw $v1, 0x6c($s0) -/* 01E11C 7001D51C 8E290000 */ lw $t1, ($s1) -/* 01E120 7001D520 24630038 */ addiu $v1, $v1, 0x38 -/* 01E124 7001D524 0089082A */ slt $at, $a0, $t1 -/* 01E128 7001D528 5420FFF9 */ bnezl $at, .L7001D510 -/* 01E12C 7001D52C 8E08006C */ lw $t0, 0x6c($s0) -.L7001D530: -/* 01E130 7001D530 AE000064 */ sw $zero, 0x64($s0) -/* 01E134 7001D534 AE000068 */ sw $zero, 0x68($s0) -/* 01E138 7001D538 8E270004 */ lw $a3, 4($s1) -/* 01E13C 7001D53C AFAA0010 */ sw $t2, 0x10($sp) -/* 01E140 7001D540 8FA6002C */ lw $a2, 0x2c($sp) -/* 01E144 7001D544 0C003AD4 */ jal alHeapDBAlloc -/* 01E148 7001D548 00002025 */ move $a0, $zero -/* 01E14C 7001D54C 26040048 */ addiu $a0, $s0, 0x48 -/* 01E150 7001D550 00402825 */ move $a1, $v0 -/* 01E154 7001D554 0C004C2B */ jal alEvtqNew -/* 01E158 7001D558 8E260004 */ lw $a2, 4($s1) -/* 01E15C 7001D55C 3C0B7002 */ lui $t3, %hi(__seqpVoiceHandler) # $t3, 0x7002 -/* 01E160 7001D560 256BCC7C */ addiu $t3, %lo(__seqpVoiceHandler) # addiu $t3, $t3, -0x3384 -/* 01E164 7001D564 AE000000 */ sw $zero, ($s0) -/* 01E168 7001D568 AE0B0008 */ sw $t3, 8($s0) -/* 01E16C 7001D56C AE100004 */ sw $s0, 4($s0) -/* 01E170 7001D570 3C048002 */ lui $a0, %hi(alGlobals) # $a0, 0x8002 -/* 01E174 7001D574 8C8476E0 */ lw $a0, %lo(alGlobals)($a0) -/* 01E178 7001D578 0C004C48 */ jal alSynAddPlayer -/* 01E17C 7001D57C 02002825 */ move $a1, $s0 -/* 01E180 7001D580 8FBF0024 */ lw $ra, 0x24($sp) -/* 01E184 7001D584 8FB0001C */ lw $s0, 0x1c($sp) -/* 01E188 7001D588 8FB10020 */ lw $s1, 0x20($sp) -/* 01E18C 7001D58C 03E00008 */ jr $ra -/* 01E190 7001D590 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 01E194 7001D594 00000000 */ nop -/* 01E198 7001D598 00000000 */ nop -/* 01E19C 7001D59C 00000000 */ nop -.section .rodata - - -.section .rodata -glabel jpt_8001C498 - .word .L7001C7F4, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001C4A0, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001C84C, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001C92C, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CB98, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001C8B4, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CBCC -glabel jpt_8001C98C - .word .L7001C9F0, .L7001CC64, .L7001CC64, .L7001C994 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CA84, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64 -glabel jpt_8001CCD8 - .word .L7001CCE0, .L7001D24C, .L7001CFF4, .L7001D24C - .word .L7001D24C, .L7001CDAC, .L7001CDF8, .L7001D014 - .word .L7001D24C, .L7001CD8C, .L7001D14C, .L7001D1B4 - .word .L7001D1D0, .L7001D1EC, .L7001D23C, .L7001D028 - .word .L7001D04C, .L7001D0BC, .L7001D24C, .L7001D24C - .word .L7001D24C, .L7001D24C, .L7001CE5C, .L7001CF6C -glabel F32_80029C88 -.float 500000.0 - .align 4 - -.section .text -glabel alSynStartVoiceParams -/* 01E1A0 7001D5A0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01E1A4 7001D5A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 01E1A8 7001D5A8 AFA50024 */ sw $a1, 0x24($sp) -/* 01E1AC 7001D5AC AFA60028 */ sw $a2, 0x28($sp) -/* 01E1B0 7001D5B0 AFA7002C */ sw $a3, 0x2c($sp) -/* 01E1B4 7001D5B4 8CAE0008 */ lw $t6, 8($a1) -/* 01E1B8 7001D5B8 51C0002F */ beql $t6, $zero, .L7001D678 -/* 01E1BC 7001D5BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 01E1C0 7001D5C0 AFA40020 */ sw $a0, 0x20($sp) -/* 01E1C4 7001D5C4 0C003C34 */ jal __allocParam -/* 01E1C8 7001D5C8 AFA50024 */ sw $a1, 0x24($sp) -/* 01E1CC 7001D5CC 8FA40020 */ lw $a0, 0x20($sp) -/* 01E1D0 7001D5D0 8FA70024 */ lw $a3, 0x24($sp) -/* 01E1D4 7001D5D4 10400027 */ beqz $v0, .L7001D674 -/* 01E1D8 7001D5D8 00403025 */ move $a2, $v0 -/* 01E1DC 7001D5DC 93A3003B */ lbu $v1, 0x3b($sp) -/* 01E1E0 7001D5E0 04610004 */ bgez $v1, .L7001D5F4 -/* 01E1E4 7001D5E4 00601025 */ move $v0, $v1 -/* 01E1E8 7001D5E8 00021823 */ negu $v1, $v0 -/* 01E1EC 7001D5EC 306F00FF */ andi $t7, $v1, 0xff -/* 01E1F0 7001D5F0 01E01825 */ move $v1, $t7 -.L7001D5F4: -/* 01E1F4 7001D5F4 8CF90008 */ lw $t9, 8($a3) -/* 01E1F8 7001D5F8 8C98001C */ lw $t8, 0x1c($a0) -/* 01E1FC 7001D5FC 240A000D */ li $t2, 13 -/* 01E200 7001D600 8F2800D8 */ lw $t0, 0xd8($t9) -/* 01E204 7001D604 ACC00000 */ sw $zero, ($a2) -/* 01E208 7001D608 A4CA0008 */ sh $t2, 8($a2) -/* 01E20C 7001D60C 03084821 */ addu $t1, $t8, $t0 -/* 01E210 7001D610 ACC90004 */ sw $t1, 4($a2) -/* 01E214 7001D614 84EB001A */ lh $t3, 0x1a($a3) -/* 01E218 7001D618 A4CB000A */ sh $t3, 0xa($a2) -/* 01E21C 7001D61C 93AC0037 */ lbu $t4, 0x37($sp) -/* 01E220 7001D620 A0CC0012 */ sb $t4, 0x12($a2) -/* 01E224 7001D624 87AD0032 */ lh $t5, 0x32($sp) -/* 01E228 7001D628 A0C30013 */ sb $v1, 0x13($a2) -/* 01E22C 7001D62C A4CD0010 */ sh $t5, 0x10($a2) -/* 01E230 7001D630 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 01E234 7001D634 E4C4000C */ swc1 $f4, 0xc($a2) -/* 01E238 7001D638 AFA70024 */ sw $a3, 0x24($sp) -/* 01E23C 7001D63C AFA6001C */ sw $a2, 0x1c($sp) -/* 01E240 7001D640 0C003BF2 */ jal _timeToSamples -/* 01E244 7001D644 8FA5003C */ lw $a1, 0x3c($sp) -/* 01E248 7001D648 8FA6001C */ lw $a2, 0x1c($sp) -/* 01E24C 7001D64C 8FA70024 */ lw $a3, 0x24($sp) -/* 01E250 7001D650 24050003 */ li $a1, 3 -/* 01E254 7001D654 ACC20014 */ sw $v0, 0x14($a2) -/* 01E258 7001D658 8FAE0028 */ lw $t6, 0x28($sp) -/* 01E25C 7001D65C ACCE0018 */ sw $t6, 0x18($a2) -/* 01E260 7001D660 8CEF0008 */ lw $t7, 8($a3) -/* 01E264 7001D664 8DE4000C */ lw $a0, 0xc($t7) -/* 01E268 7001D668 8C990008 */ lw $t9, 8($a0) -/* 01E26C 7001D66C 0320F809 */ jalr $t9 -/* 01E270 7001D670 00000000 */ nop -.L7001D674: -/* 01E274 7001D674 8FBF0014 */ lw $ra, 0x14($sp) -.L7001D678: -/* 01E278 7001D678 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01E27C 7001D67C 03E00008 */ jr $ra -/* 01E280 7001D680 00000000 */ nop - -/* 01E284 7001D684 00000000 */ nop -/* 01E288 7001D688 00000000 */ nop -/* 01E28C 7001D68C 00000000 */ nop -glabel alCopy -/* 01E290 7001D690 00801025 */ move $v0, $a0 -/* 01E294 7001D694 00A01825 */ move $v1, $a1 -/* 01E298 7001D698 18C00018 */ blez $a2, .L7001D6FC -/* 01E29C 7001D69C 00003825 */ move $a3, $zero -/* 01E2A0 7001D6A0 30C50003 */ andi $a1, $a2, 3 -/* 01E2A4 7001D6A4 10A00009 */ beqz $a1, .L7001D6CC -/* 01E2A8 7001D6A8 00A02025 */ move $a0, $a1 -.L7001D6AC: -/* 01E2AC 7001D6AC 904E0000 */ lbu $t6, ($v0) -/* 01E2B0 7001D6B0 24E70001 */ addiu $a3, $a3, 1 -/* 01E2B4 7001D6B4 24630001 */ addiu $v1, $v1, 1 -/* 01E2B8 7001D6B8 24420001 */ addiu $v0, $v0, 1 -/* 01E2BC 7001D6BC 1487FFFB */ bne $a0, $a3, .L7001D6AC -/* 01E2C0 7001D6C0 A06EFFFF */ sb $t6, -1($v1) -/* 01E2C4 7001D6C4 10E6000D */ beq $a3, $a2, .L7001D6FC -/* 01E2C8 7001D6C8 00000000 */ nop -.L7001D6CC: -/* 01E2CC 7001D6CC 904F0000 */ lbu $t7, ($v0) -/* 01E2D0 7001D6D0 24E70004 */ addiu $a3, $a3, 4 -/* 01E2D4 7001D6D4 24630004 */ addiu $v1, $v1, 4 -/* 01E2D8 7001D6D8 A06FFFFC */ sb $t7, -4($v1) -/* 01E2DC 7001D6DC 90580001 */ lbu $t8, 1($v0) -/* 01E2E0 7001D6E0 24420004 */ addiu $v0, $v0, 4 -/* 01E2E4 7001D6E4 A078FFFD */ sb $t8, -3($v1) -/* 01E2E8 7001D6E8 9059FFFE */ lbu $t9, -2($v0) -/* 01E2EC 7001D6EC A079FFFE */ sb $t9, -2($v1) -/* 01E2F0 7001D6F0 9048FFFF */ lbu $t0, -1($v0) -/* 01E2F4 7001D6F4 14E6FFF5 */ bne $a3, $a2, .L7001D6CC -/* 01E2F8 7001D6F8 A068FFFF */ sb $t0, -1($v1) -.L7001D6FC: -/* 01E2FC 7001D6FC 03E00008 */ jr $ra -/* 01E300 7001D700 00000000 */ nop - -/* 01E304 7001D704 00000000 */ nop -/* 01E308 7001D708 00000000 */ nop -/* 01E30C 7001D70C 00000000 */ nop -glabel __osPiCreateAccessQueue -/* 01E310 7001D710 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01E314 7001D714 AFBF0014 */ sw $ra, 0x14($sp) -/* 01E318 7001D718 240E0001 */ li $t6, 1 -/* 01E31C 7001D71C 3C018003 */ lui $at, %hi(__osPiAccessQueueEnabled) # $at, 0x8003 -/* 01E320 7001D720 3C048007 */ lui $a0, %hi(__osPiAccessQueue) # $a0, 0x8007 -/* 01E324 7001D724 3C058007 */ lui $a1, %hi(piAccessBuf) # $a1, 0x8007 -/* 01E328 7001D728 AC2E82E0 */ sw $t6, %lo(__osPiAccessQueueEnabled)($at) -/* 01E32C 7001D72C 24A58FE0 */ addiu $a1, %lo(piAccessBuf) # addiu $a1, $a1, -0x7020 -/* 01E330 7001D730 24848FE8 */ addiu $a0, %lo(__osPiAccessQueue) # addiu $a0, $a0, -0x7018 -/* 01E334 7001D734 0C0035B4 */ jal osCreateMesgQueue -/* 01E338 7001D738 24060001 */ li $a2, 1 -/* 01E33C 7001D73C 3C048007 */ lui $a0, %hi(__osPiAccessQueue) # $a0, 0x8007 -/* 01E340 7001D740 24848FE8 */ addiu $a0, %lo(__osPiAccessQueue) # addiu $a0, $a0, -0x7018 -/* 01E344 7001D744 00002825 */ move $a1, $zero -/* 01E348 7001D748 0C0037C4 */ jal osSendMesg -/* 01E34C 7001D74C 00003025 */ move $a2, $zero -/* 01E350 7001D750 8FBF0014 */ lw $ra, 0x14($sp) -/* 01E354 7001D754 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01E358 7001D758 03E00008 */ jr $ra -/* 01E35C 7001D75C 00000000 */ nop - -glabel __osPiGetAccess -/* 01E360 7001D760 3C0E8003 */ lui $t6, %hi(__osPiAccessQueueEnabled) -/* 01E364 7001D764 8DCE82E0 */ lw $t6, %lo(__osPiAccessQueueEnabled)($t6) -/* 01E368 7001D768 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01E36C 7001D76C AFBF0014 */ sw $ra, 0x14($sp) -/* 01E370 7001D770 15C00003 */ bnez $t6, .L7001D780 -/* 01E374 7001D774 00000000 */ nop -/* 01E378 7001D778 0C0075C4 */ jal __osPiCreateAccessQueue -/* 01E37C 7001D77C 00000000 */ nop -.L7001D780: -/* 01E380 7001D780 3C048007 */ lui $a0, %hi(__osPiAccessQueue) # $a0, 0x8007 -/* 01E384 7001D784 24848FE8 */ addiu $a0, %lo(__osPiAccessQueue) # addiu $a0, $a0, -0x7018 -/* 01E388 7001D788 27A5001C */ addiu $a1, $sp, 0x1c -/* 01E38C 7001D78C 0C003774 */ jal osRecvMesg -/* 01E390 7001D790 24060001 */ li $a2, 1 -/* 01E394 7001D794 8FBF0014 */ lw $ra, 0x14($sp) -/* 01E398 7001D798 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01E39C 7001D79C 03E00008 */ jr $ra -/* 01E3A0 7001D7A0 00000000 */ nop - -glabel __osPiRelAccess -/* 01E3A4 7001D7A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01E3A8 7001D7A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 01E3AC 7001D7AC 3C048007 */ lui $a0, %hi(__osPiAccessQueue) # $a0, 0x8007 -/* 01E3B0 7001D7B0 24848FE8 */ addiu $a0, %lo(__osPiAccessQueue) # addiu $a0, $a0, -0x7018 -/* 01E3B4 7001D7B4 00002825 */ move $a1, $zero -/* 01E3B8 7001D7B8 0C0037C4 */ jal osSendMesg -/* 01E3BC 7001D7BC 00003025 */ move $a2, $zero -/* 01E3C0 7001D7C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 01E3C4 7001D7C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01E3C8 7001D7C8 03E00008 */ jr $ra -/* 01E3CC 7001D7CC 00000000 */ nop - -.section .data -glabel __osPiAccessQueueEnabled -.word 0 - -.section .text -glabel _Litob -/* 01E3D0 7001D7D0 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 01E3D4 7001D7D4 AFB10020 */ sw $s1, 0x20($sp) -/* 01E3D8 7001D7D8 30A200FF */ andi $v0, $a1, 0xff -/* 01E3DC 7001D7DC 24030058 */ li $v1, 88 -/* 01E3E0 7001D7E0 00808825 */ move $s1, $a0 -/* 01E3E4 7001D7E4 AFBF002C */ sw $ra, 0x2c($sp) -/* 01E3E8 7001D7E8 AFB30028 */ sw $s3, 0x28($sp) -/* 01E3EC 7001D7EC AFB20024 */ sw $s2, 0x24($sp) -/* 01E3F0 7001D7F0 AFB0001C */ sw $s0, 0x1c($sp) -/* 01E3F4 7001D7F4 14620004 */ bne $v1, $v0, .L7001D808 -/* 01E3F8 7001D7F8 AFA50094 */ sw $a1, 0x94($sp) -/* 01E3FC 7001D7FC 3C138003 */ lui $s3, %hi(auppercase_hex_char) # $s3, 0x8003 -/* 01E400 7001D800 10000003 */ b .L7001D810 -/* 01E404 7001D804 26738304 */ addiu $s3, %lo(auppercase_hex_char) # addiu $s3, $s3, -0x7cfc -.L7001D808: -/* 01E408 7001D808 3C138003 */ lui $s3, %hi(alowercase_hex_char) # $s3, 0x8003 -/* 01E40C 7001D80C 267382F0 */ addiu $s3, %lo(alowercase_hex_char) # addiu $s3, $s3, -0x7d10 -.L7001D810: -/* 01E410 7001D810 2401006F */ li $at, 111 -/* 01E414 7001D814 14410003 */ bne $v0, $at, .L7001D824 -/* 01E418 7001D818 24100018 */ li $s0, 24 -/* 01E41C 7001D81C 10000009 */ b .L7001D844 -/* 01E420 7001D820 24090008 */ li $t1, 8 -.L7001D824: -/* 01E424 7001D824 24010078 */ li $at, 120 -/* 01E428 7001D828 10410005 */ beq $v0, $at, .L7001D840 -/* 01E42C 7001D82C 24080010 */ li $t0, 16 -/* 01E430 7001D830 10620003 */ beq $v1, $v0, .L7001D840 -/* 01E434 7001D834 00000000 */ nop -/* 01E438 7001D838 10000001 */ b .L7001D840 -/* 01E43C 7001D83C 2408000A */ li $t0, 10 -.L7001D840: -/* 01E440 7001D840 01004825 */ move $t1, $t0 -.L7001D844: -/* 01E444 7001D844 8E380000 */ lw $t8, ($s1) -/* 01E448 7001D848 8E390004 */ lw $t9, 4($s1) -/* 01E44C 7001D84C 24010064 */ li $at, 100 -/* 01E450 7001D850 AFB80060 */ sw $t8, 0x60($sp) -/* 01E454 7001D854 AFB80040 */ sw $t8, 0x40($sp) -/* 01E458 7001D858 AFB90044 */ sw $t9, 0x44($sp) -/* 01E45C 7001D85C 10410004 */ beq $v0, $at, .L7001D870 -/* 01E460 7001D860 AFB90064 */ sw $t9, 0x64($sp) -/* 01E464 7001D864 24010069 */ li $at, 105 -/* 01E468 7001D868 54410010 */ bnel $v0, $at, .L7001D8AC -/* 01E46C 7001D86C 8FAA0060 */ lw $t2, 0x60($sp) -.L7001D870: -/* 01E470 7001D870 8FAC0040 */ lw $t4, 0x40($sp) -/* 01E474 7001D874 5D80000D */ bgtzl $t4, .L7001D8AC -/* 01E478 7001D878 8FAA0060 */ lw $t2, 0x60($sp) -/* 01E47C 7001D87C 05800003 */ bltz $t4, .L7001D88C -/* 01E480 7001D880 8FAE0060 */ lw $t6, 0x60($sp) -/* 01E484 7001D884 10000009 */ b .L7001D8AC -/* 01E488 7001D888 8FAA0060 */ lw $t2, 0x60($sp) -.L7001D88C: -/* 01E48C 7001D88C 8FAF0064 */ lw $t7, 0x64($sp) -/* 01E490 7001D890 01C0C027 */ not $t8, $t6 -/* 01E494 7001D894 2DE10001 */ sltiu $at, $t7, 1 -/* 01E498 7001D898 0301C021 */ addu $t8, $t8, $at -/* 01E49C 7001D89C 000FC823 */ negu $t9, $t7 -/* 01E4A0 7001D8A0 AFB90064 */ sw $t9, 0x64($sp) -/* 01E4A4 7001D8A4 AFB80060 */ sw $t8, 0x60($sp) -/* 01E4A8 7001D8A8 8FAA0060 */ lw $t2, 0x60($sp) -.L7001D8AC: -/* 01E4AC 7001D8AC 8FAB0064 */ lw $t3, 0x64($sp) -/* 01E4B0 7001D8B0 24080017 */ li $t0, 23 -/* 01E4B4 7001D8B4 15400006 */ bnez $t2, .L7001D8D0 -/* 01E4B8 7001D8B8 8FA40060 */ lw $a0, 0x60($sp) -/* 01E4BC 7001D8BC 55600005 */ bnezl $t3, .L7001D8D4 -/* 01E4C0 7001D8C0 24100017 */ li $s0, 23 -/* 01E4C4 7001D8C4 8E2C0024 */ lw $t4, 0x24($s1) -/* 01E4C8 7001D8C8 51800010 */ beql $t4, $zero, .L7001D90C -/* 01E4CC 7001D8CC 27B20078 */ addiu $s2, $sp, 0x78 -.L7001D8D0: -/* 01E4D0 7001D8D0 24100017 */ li $s0, 23 -.L7001D8D4: -/* 01E4D4 7001D8D4 8FA50064 */ lw $a1, 0x64($sp) -/* 01E4D8 7001D8D8 01203825 */ move $a3, $t1 -/* 01E4DC 7001D8DC 000937C3 */ sra $a2, $t1, 0x1f -/* 01E4E0 7001D8E0 AFA8004C */ sw $t0, 0x4c($sp) -/* 01E4E4 7001D8E4 0C003B1B */ jal __ull_rem -/* 01E4E8 7001D8E8 AFA90070 */ sw $t1, 0x70($sp) -/* 01E4EC 7001D8EC 8FA8004C */ lw $t0, 0x4c($sp) -/* 01E4F0 7001D8F0 00737021 */ addu $t6, $v1, $s3 -/* 01E4F4 7001D8F4 91CF0000 */ lbu $t7, ($t6) -/* 01E4F8 7001D8F8 27B20078 */ addiu $s2, $sp, 0x78 -/* 01E4FC 7001D8FC 8FA90070 */ lw $t1, 0x70($sp) -/* 01E500 7001D900 0248C021 */ addu $t8, $s2, $t0 -/* 01E504 7001D904 A30F0000 */ sb $t7, ($t8) -/* 01E508 7001D908 27B20078 */ addiu $s2, $sp, 0x78 -.L7001D90C: -/* 01E50C 7001D90C 8FA40060 */ lw $a0, 0x60($sp) -/* 01E510 7001D910 8FA50064 */ lw $a1, 0x64($sp) -/* 01E514 7001D914 01203825 */ move $a3, $t1 -/* 01E518 7001D918 000937C3 */ sra $a2, $t1, 0x1f -/* 01E51C 7001D91C 0C003B2A */ jal ull_div -/* 01E520 7001D920 AFA90070 */ sw $t1, 0x70($sp) -/* 01E524 7001D924 8FA90070 */ lw $t1, 0x70($sp) -/* 01E528 7001D928 AE230004 */ sw $v1, 4($s1) -/* 01E52C 7001D92C 0440002B */ bltz $v0, .L7001D9DC -/* 01E530 7001D930 AE220000 */ sw $v0, ($s1) -/* 01E534 7001D934 1C400003 */ bgtz $v0, .L7001D944 -/* 01E538 7001D938 00000000 */ nop -/* 01E53C 7001D93C 50600028 */ beql $v1, $zero, .L7001D9E0 -/* 01E540 7001D940 240C0018 */ li $t4, 24 -.L7001D944: -/* 01E544 7001D944 1A000025 */ blez $s0, .L7001D9DC -/* 01E548 7001D948 000967C3 */ sra $t4, $t1, 0x1f -/* 01E54C 7001D94C 8E2A0000 */ lw $t2, ($s1) -/* 01E550 7001D950 8E2B0004 */ lw $t3, 4($s1) -/* 01E554 7001D954 AFA9003C */ sw $t1, 0x3c($sp) -/* 01E558 7001D958 AFAC0038 */ sw $t4, 0x38($sp) -/* 01E55C 7001D95C AFAA0040 */ sw $t2, 0x40($sp) -/* 01E560 7001D960 AFAB0044 */ sw $t3, 0x44($sp) -/* 01E564 7001D964 8FAE0038 */ lw $t6, 0x38($sp) -.L7001D968: -/* 01E568 7001D968 8FAF003C */ lw $t7, 0x3c($sp) -/* 01E56C 7001D96C 27A40050 */ addiu $a0, $sp, 0x50 -/* 01E570 7001D970 8FA60040 */ lw $a2, 0x40($sp) -/* 01E574 7001D974 8FA70044 */ lw $a3, 0x44($sp) -/* 01E578 7001D978 AFAE0010 */ sw $t6, 0x10($sp) -/* 01E57C 7001D97C 0C0082D4 */ jal lldiv -/* 01E580 7001D980 AFAF0014 */ sw $t7, 0x14($sp) -/* 01E584 7001D984 8FB80050 */ lw $t8, 0x50($sp) -/* 01E588 7001D988 8FB90054 */ lw $t9, 0x54($sp) -/* 01E58C 7001D98C 2604FFFF */ addiu $a0, $s0, -1 -/* 01E590 7001D990 AE380000 */ sw $t8, ($s1) -/* 01E594 7001D994 AE390004 */ sw $t9, 4($s1) -/* 01E598 7001D998 8FAB005C */ lw $t3, 0x5c($sp) -/* 01E59C 7001D99C 02447821 */ addu $t7, $s2, $a0 -/* 01E5A0 7001D9A0 00808025 */ move $s0, $a0 -/* 01E5A4 7001D9A4 01736821 */ addu $t5, $t3, $s3 -/* 01E5A8 7001D9A8 91AE0000 */ lbu $t6, ($t5) -/* 01E5AC 7001D9AC A1EE0000 */ sb $t6, ($t7) -/* 01E5B0 7001D9B0 8E380000 */ lw $t8, ($s1) -/* 01E5B4 7001D9B4 8E390004 */ lw $t9, 4($s1) -/* 01E5B8 7001D9B8 AFB80040 */ sw $t8, 0x40($sp) -/* 01E5BC 7001D9BC 07000007 */ bltz $t8, .L7001D9DC -/* 01E5C0 7001D9C0 AFB90044 */ sw $t9, 0x44($sp) -/* 01E5C4 7001D9C4 1F000003 */ bgtz $t8, .L7001D9D4 -/* 01E5C8 7001D9C8 00000000 */ nop -/* 01E5CC 7001D9CC 53200004 */ beql $t9, $zero, .L7001D9E0 -/* 01E5D0 7001D9D0 240C0018 */ li $t4, 24 -.L7001D9D4: -/* 01E5D4 7001D9D4 5E00FFE4 */ bgtzl $s0, .L7001D968 -/* 01E5D8 7001D9D8 8FAE0038 */ lw $t6, 0x38($sp) -.L7001D9DC: -/* 01E5DC 7001D9DC 240C0018 */ li $t4, 24 -.L7001D9E0: -/* 01E5E0 7001D9E0 01903023 */ subu $a2, $t4, $s0 -/* 01E5E4 7001D9E4 AE260014 */ sw $a2, 0x14($s1) -/* 01E5E8 7001D9E8 8E240008 */ lw $a0, 8($s1) -/* 01E5EC 7001D9EC 0C004E14 */ jal memcpy -/* 01E5F0 7001D9F0 02502821 */ addu $a1, $s2, $s0 -/* 01E5F4 7001D9F4 8E250014 */ lw $a1, 0x14($s1) -/* 01E5F8 7001D9F8 8E240024 */ lw $a0, 0x24($s1) -/* 01E5FC 7001D9FC 00A4082A */ slt $at, $a1, $a0 -/* 01E600 7001DA00 10200002 */ beqz $at, .L7001DA0C -/* 01E604 7001DA04 00856823 */ subu $t5, $a0, $a1 -/* 01E608 7001DA08 AE2D0010 */ sw $t5, 0x10($s1) -.L7001DA0C: -/* 01E60C 7001DA0C 04830010 */ bgezl $a0, .L7001DA50 -/* 01E610 7001DA10 8FBF002C */ lw $ra, 0x2c($sp) -/* 01E614 7001DA14 8E2E0030 */ lw $t6, 0x30($s1) -/* 01E618 7001DA18 24010010 */ li $at, 16 -/* 01E61C 7001DA1C 31CF0014 */ andi $t7, $t6, 0x14 -/* 01E620 7001DA20 55E1000B */ bnel $t7, $at, .L7001DA50 -/* 01E624 7001DA24 8FBF002C */ lw $ra, 0x2c($sp) -/* 01E628 7001DA28 8E380028 */ lw $t8, 0x28($s1) -/* 01E62C 7001DA2C 8E39000C */ lw $t9, 0xc($s1) -/* 01E630 7001DA30 8E220010 */ lw $v0, 0x10($s1) -/* 01E634 7001DA34 03195023 */ subu $t2, $t8, $t9 -/* 01E638 7001DA38 01425823 */ subu $t3, $t2, $v0 -/* 01E63C 7001DA3C 01658023 */ subu $s0, $t3, $a1 -/* 01E640 7001DA40 1A000002 */ blez $s0, .L7001DA4C -/* 01E644 7001DA44 00506021 */ addu $t4, $v0, $s0 -/* 01E648 7001DA48 AE2C0010 */ sw $t4, 0x10($s1) -.L7001DA4C: -/* 01E64C 7001DA4C 8FBF002C */ lw $ra, 0x2c($sp) -.L7001DA50: -/* 01E650 7001DA50 8FB0001C */ lw $s0, 0x1c($sp) -/* 01E654 7001DA54 8FB10020 */ lw $s1, 0x20($sp) -/* 01E658 7001DA58 8FB20024 */ lw $s2, 0x24($sp) -/* 01E65C 7001DA5C 8FB30028 */ lw $s3, 0x28($sp) -/* 01E660 7001DA60 03E00008 */ jr $ra -/* 01E664 7001DA64 27BD0090 */ addiu $sp, $sp, 0x90 - -/* 01E668 7001DA68 00000000 */ nop -/* 01E66C 7001DA6C 00000000 */ nop - -.section .data -glabel alowercase_hex_char -.asciiz "0123456789abcdef" -.align 2 -glabel auppercase_hex_char -.asciiz "0123456789ABCDEF" -.align 4 -.section .rodata -glabel digits - .double 10.0 - .double 100.0 - .double 10000.0 - .double 1.0e8 - .double 1.0e16 - .double 1.0e32 - .double 1.0e64 - .double 1.0e128 - .double 1.0e256 -glabel aNan - .asciiz "NaN" -glabel aInf - .asciiz "Inf" - -.section .text -glabel xldtob_sub0 -/* 01E670 7001DA70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01E674 7001DA74 AFB20028 */ sw $s2, 0x28($sp) -/* 01E678 7001DA78 00127400 */ sll $t6, $s2, 0x10 -/* 01E67C 7001DA7C 000E9403 */ sra $s2, $t6, 0x10 -/* 01E680 7001DA80 AFB30024 */ sw $s3, 0x24($sp) -/* 01E684 7001DA84 0013C400 */ sll $t8, $s3, 0x10 -/* 01E688 7001DA88 00189C03 */ sra $s3, $t8, 0x10 -/* 01E68C 7001DA8C 328E00FF */ andi $t6, $s4, 0xff -/* 01E690 7001DA90 AFB4001C */ sw $s4, 0x1c($sp) -/* 01E694 7001DA94 01C0A025 */ move $s4, $t6 -/* 01E698 7001DA98 1E600004 */ bgtz $s3, .L7001DAAC -/* 01E69C 7001DA9C AFBF0014 */ sw $ra, 0x14($sp) -/* 01E6A0 7001DAA0 3C118003 */ lui $s1, %hi(asc_D_80029CE0) # $s1, 0x8003 -/* 01E6A4 7001DAA4 26319CE0 */ addiu $s1, %lo(asc_D_80029CE0) # addiu $s1, $s1, -0x6320 -/* 01E6A8 7001DAA8 24130001 */ li $s3, 1 -.L7001DAAC: -/* 01E6AC 7001DAAC 24020066 */ li $v0, 102 -/* 01E6B0 7001DAB0 1054000C */ beq $v0, $s4, .L7001DAE4 -/* 01E6B4 7001DAB4 02801825 */ move $v1, $s4 -/* 01E6B8 7001DAB8 24040067 */ li $a0, 103 -/* 01E6BC 7001DABC 10830002 */ beq $a0, $v1, .L7001DAC8 -/* 01E6C0 7001DAC0 24010047 */ li $at, 71 -/* 01E6C4 7001DAC4 14610096 */ bne $v1, $at, .L7001DD20 -.L7001DAC8: -/* 01E6C8 7001DAC8 2A41FFFC */ slti $at, $s2, -4 -/* 01E6CC 7001DACC 14200094 */ bnez $at, .L7001DD20 -/* 01E6D0 7001DAD0 00000000 */ nop -/* 01E6D4 7001DAD4 8E0F0024 */ lw $t7, 0x24($s0) -/* 01E6D8 7001DAD8 024F082A */ slt $at, $s2, $t7 -/* 01E6DC 7001DADC 10200090 */ beqz $at, .L7001DD20 -/* 01E6E0 7001DAE0 00000000 */ nop -.L7001DAE4: -/* 01E6E4 7001DAE4 26520001 */ addiu $s2, $s2, 1 -/* 01E6E8 7001DAE8 0012C400 */ sll $t8, $s2, 0x10 -/* 01E6EC 7001DAEC 1043000E */ beq $v0, $v1, .L7001DB28 -/* 01E6F0 7001DAF0 00189403 */ sra $s2, $t8, 0x10 -/* 01E6F4 7001DAF4 8E0E0030 */ lw $t6, 0x30($s0) -/* 01E6F8 7001DAF8 8E020024 */ lw $v0, 0x24($s0) -/* 01E6FC 7001DAFC 31CF0008 */ andi $t7, $t6, 8 -/* 01E700 7001DB00 15E00005 */ bnez $t7, .L7001DB18 -/* 01E704 7001DB04 0262082A */ slt $at, $s3, $v0 -/* 01E708 7001DB08 50200004 */ beql $at, $zero, .L7001DB1C -/* 01E70C 7001DB0C 0052C023 */ subu $t8, $v0, $s2 -/* 01E710 7001DB10 AE130024 */ sw $s3, 0x24($s0) -/* 01E714 7001DB14 02601025 */ move $v0, $s3 -.L7001DB18: -/* 01E718 7001DB18 0052C023 */ subu $t8, $v0, $s2 -.L7001DB1C: -/* 01E71C 7001DB1C 07010002 */ bgez $t8, .L7001DB28 -/* 01E720 7001DB20 AE180024 */ sw $t8, 0x24($s0) -/* 01E724 7001DB24 AE000024 */ sw $zero, 0x24($s0) -.L7001DB28: -/* 01E728 7001DB28 1E400033 */ bgtz $s2, .L7001DBF8 -/* 01E72C 7001DB2C 0272082A */ slt $at, $s3, $s2 -/* 01E730 7001DB30 8E0F0008 */ lw $t7, 8($s0) -/* 01E734 7001DB34 8E180014 */ lw $t8, 0x14($s0) -/* 01E738 7001DB38 240E0030 */ li $t6, 48 -/* 01E73C 7001DB3C 00121823 */ negu $v1, $s2 -/* 01E740 7001DB40 01F8C821 */ addu $t9, $t7, $t8 -/* 01E744 7001DB44 A32E0000 */ sb $t6, ($t9) -/* 01E748 7001DB48 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E74C 7001DB4C 8E020024 */ lw $v0, 0x24($s0) -/* 01E750 7001DB50 02202825 */ move $a1, $s1 -/* 01E754 7001DB54 25F80001 */ addiu $t8, $t7, 1 -/* 01E758 7001DB58 1C400005 */ bgtz $v0, .L7001DB70 -/* 01E75C 7001DB5C AE180014 */ sw $t8, 0x14($s0) -/* 01E760 7001DB60 8E0E0030 */ lw $t6, 0x30($s0) -/* 01E764 7001DB64 31D90008 */ andi $t9, $t6, 8 -/* 01E768 7001DB68 5320000B */ beql $t9, $zero, .L7001DB98 -/* 01E76C 7001DB6C 0043082A */ slt $at, $v0, $v1 -.L7001DB70: -/* 01E770 7001DB70 8E180008 */ lw $t8, 8($s0) -/* 01E774 7001DB74 8E0E0014 */ lw $t6, 0x14($s0) -/* 01E778 7001DB78 240F002E */ li $t7, 46 -/* 01E77C 7001DB7C 030EC821 */ addu $t9, $t8, $t6 -/* 01E780 7001DB80 A32F0000 */ sb $t7, ($t9) -/* 01E784 7001DB84 8E180014 */ lw $t8, 0x14($s0) -/* 01E788 7001DB88 8E020024 */ lw $v0, 0x24($s0) -/* 01E78C 7001DB8C 270E0001 */ addiu $t6, $t8, 1 -/* 01E790 7001DB90 AE0E0014 */ sw $t6, 0x14($s0) -/* 01E794 7001DB94 0043082A */ slt $at, $v0, $v1 -.L7001DB98: -/* 01E798 7001DB98 50200006 */ beql $at, $zero, .L7001DBB4 -/* 01E79C 7001DB9C 0052C021 */ addu $t8, $v0, $s2 -/* 01E7A0 7001DBA0 00029023 */ negu $s2, $v0 -/* 01E7A4 7001DBA4 00127C00 */ sll $t7, $s2, 0x10 -/* 01E7A8 7001DBA8 000F9403 */ sra $s2, $t7, 0x10 -/* 01E7AC 7001DBAC 00121823 */ negu $v1, $s2 -/* 01E7B0 7001DBB0 0052C021 */ addu $t8, $v0, $s2 -.L7001DBB4: -/* 01E7B4 7001DBB4 0313082A */ slt $at, $t8, $s3 -/* 01E7B8 7001DBB8 AE030018 */ sw $v1, 0x18($s0) -/* 01E7BC 7001DBBC 10200004 */ beqz $at, .L7001DBD0 -/* 01E7C0 7001DBC0 AE180024 */ sw $t8, 0x24($s0) -/* 01E7C4 7001DBC4 00189C00 */ sll $s3, $t8, 0x10 -/* 01E7C8 7001DBC8 00137403 */ sra $t6, $s3, 0x10 -/* 01E7CC 7001DBCC 01C09825 */ move $s3, $t6 -.L7001DBD0: -/* 01E7D0 7001DBD0 8E0F0008 */ lw $t7, 8($s0) -/* 01E7D4 7001DBD4 8E190014 */ lw $t9, 0x14($s0) -/* 01E7D8 7001DBD8 AE13001C */ sw $s3, 0x1c($s0) -/* 01E7DC 7001DBDC 02603025 */ move $a2, $s3 -/* 01E7E0 7001DBE0 0C004E14 */ jal memcpy -/* 01E7E4 7001DBE4 01F92021 */ addu $a0, $t7, $t9 -/* 01E7E8 7001DBE8 8E180024 */ lw $t8, 0x24($s0) -/* 01E7EC 7001DBEC 03137023 */ subu $t6, $t8, $s3 -/* 01E7F0 7001DBF0 100000E2 */ b .L7001DF7C -/* 01E7F4 7001DBF4 AE0E0020 */ sw $t6, 0x20($s0) -.L7001DBF8: -/* 01E7F8 7001DBF8 1020001D */ beqz $at, .L7001DC70 -/* 01E7FC 7001DBFC 02202825 */ move $a1, $s1 -/* 01E800 7001DC00 8E0F0008 */ lw $t7, 8($s0) -/* 01E804 7001DC04 8E190014 */ lw $t9, 0x14($s0) -/* 01E808 7001DC08 02202825 */ move $a1, $s1 -/* 01E80C 7001DC0C 02603025 */ move $a2, $s3 -/* 01E810 7001DC10 0C004E14 */ jal memcpy -/* 01E814 7001DC14 01F92021 */ addu $a0, $t7, $t9 -/* 01E818 7001DC18 8E180014 */ lw $t8, 0x14($s0) -/* 01E81C 7001DC1C 8E020024 */ lw $v0, 0x24($s0) -/* 01E820 7001DC20 02537823 */ subu $t7, $s2, $s3 -/* 01E824 7001DC24 03137021 */ addu $t6, $t8, $s3 -/* 01E828 7001DC28 AE0E0014 */ sw $t6, 0x14($s0) -/* 01E82C 7001DC2C 1C400005 */ bgtz $v0, .L7001DC44 -/* 01E830 7001DC30 AE0F0018 */ sw $t7, 0x18($s0) -/* 01E834 7001DC34 8E190030 */ lw $t9, 0x30($s0) -/* 01E838 7001DC38 33380008 */ andi $t8, $t9, 8 -/* 01E83C 7001DC3C 1300000A */ beqz $t8, .L7001DC68 -/* 01E840 7001DC40 00000000 */ nop -.L7001DC44: -/* 01E844 7001DC44 8E0F0008 */ lw $t7, 8($s0) -/* 01E848 7001DC48 8E190014 */ lw $t9, 0x14($s0) -/* 01E84C 7001DC4C 240E002E */ li $t6, 46 -/* 01E850 7001DC50 01F9C021 */ addu $t8, $t7, $t9 -/* 01E854 7001DC54 A30E0000 */ sb $t6, ($t8) -/* 01E858 7001DC58 8E0F001C */ lw $t7, 0x1c($s0) -/* 01E85C 7001DC5C 8E020024 */ lw $v0, 0x24($s0) -/* 01E860 7001DC60 25F90001 */ addiu $t9, $t7, 1 -/* 01E864 7001DC64 AE19001C */ sw $t9, 0x1c($s0) -.L7001DC68: -/* 01E868 7001DC68 100000C4 */ b .L7001DF7C -/* 01E86C 7001DC6C AE020020 */ sw $v0, 0x20($s0) -.L7001DC70: -/* 01E870 7001DC70 8E0E0008 */ lw $t6, 8($s0) -/* 01E874 7001DC74 8E180014 */ lw $t8, 0x14($s0) -/* 01E878 7001DC78 02403025 */ move $a2, $s2 -/* 01E87C 7001DC7C 0C004E14 */ jal memcpy -/* 01E880 7001DC80 01D82021 */ addu $a0, $t6, $t8 -/* 01E884 7001DC84 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E888 7001DC88 8E020024 */ lw $v0, 0x24($s0) -/* 01E88C 7001DC8C 02729823 */ subu $s3, $s3, $s2 -/* 01E890 7001DC90 00137400 */ sll $t6, $s3, 0x10 -/* 01E894 7001DC94 01F2C821 */ addu $t9, $t7, $s2 -/* 01E898 7001DC98 AE190014 */ sw $t9, 0x14($s0) -/* 01E89C 7001DC9C 1C400005 */ bgtz $v0, .L7001DCB4 -/* 01E8A0 7001DCA0 000E9C03 */ sra $s3, $t6, 0x10 -/* 01E8A4 7001DCA4 8E0F0030 */ lw $t7, 0x30($s0) -/* 01E8A8 7001DCA8 31F90008 */ andi $t9, $t7, 8 -/* 01E8AC 7001DCAC 5320000B */ beql $t9, $zero, .L7001DCDC -/* 01E8B0 7001DCB0 0053082A */ slt $at, $v0, $s3 -.L7001DCB4: -/* 01E8B4 7001DCB4 8E180008 */ lw $t8, 8($s0) -/* 01E8B8 7001DCB8 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E8BC 7001DCBC 240E002E */ li $t6, 46 -/* 01E8C0 7001DCC0 030FC821 */ addu $t9, $t8, $t7 -/* 01E8C4 7001DCC4 A32E0000 */ sb $t6, ($t9) -/* 01E8C8 7001DCC8 8E180014 */ lw $t8, 0x14($s0) -/* 01E8CC 7001DCCC 8E020024 */ lw $v0, 0x24($s0) -/* 01E8D0 7001DCD0 270F0001 */ addiu $t7, $t8, 1 -/* 01E8D4 7001DCD4 AE0F0014 */ sw $t7, 0x14($s0) -/* 01E8D8 7001DCD8 0053082A */ slt $at, $v0, $s3 -.L7001DCDC: -/* 01E8DC 7001DCDC 10200004 */ beqz $at, .L7001DCF0 -/* 01E8E0 7001DCE0 02512821 */ addu $a1, $s2, $s1 -/* 01E8E4 7001DCE4 00029C00 */ sll $s3, $v0, 0x10 -/* 01E8E8 7001DCE8 00137403 */ sra $t6, $s3, 0x10 -/* 01E8EC 7001DCEC 01C09825 */ move $s3, $t6 -.L7001DCF0: -/* 01E8F0 7001DCF0 8E190008 */ lw $t9, 8($s0) -/* 01E8F4 7001DCF4 8E180014 */ lw $t8, 0x14($s0) -/* 01E8F8 7001DCF8 02603025 */ move $a2, $s3 -/* 01E8FC 7001DCFC 0C004E14 */ jal memcpy -/* 01E900 7001DD00 03382021 */ addu $a0, $t9, $t8 -/* 01E904 7001DD04 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E908 7001DD08 8E190024 */ lw $t9, 0x24($s0) -/* 01E90C 7001DD0C 01F37021 */ addu $t6, $t7, $s3 -/* 01E910 7001DD10 0333C023 */ subu $t8, $t9, $s3 -/* 01E914 7001DD14 AE0E0014 */ sw $t6, 0x14($s0) -/* 01E918 7001DD18 10000098 */ b .L7001DF7C -/* 01E91C 7001DD1C AE180018 */ sw $t8, 0x18($s0) -.L7001DD20: -/* 01E920 7001DD20 10830003 */ beq $a0, $v1, .L7001DD30 -/* 01E924 7001DD24 24010047 */ li $at, 71 -/* 01E928 7001DD28 54610011 */ bnel $v1, $at, .L7001DD70 -/* 01E92C 7001DD2C 8E180008 */ lw $t8, 8($s0) -.L7001DD30: -/* 01E930 7001DD30 8E020024 */ lw $v0, 0x24($s0) -/* 01E934 7001DD34 24140045 */ li $s4, 69 -/* 01E938 7001DD38 0262082A */ slt $at, $s3, $v0 -/* 01E93C 7001DD3C 50200004 */ beql $at, $zero, .L7001DD50 -/* 01E940 7001DD40 244FFFFF */ addiu $t7, $v0, -1 -/* 01E944 7001DD44 AE130024 */ sw $s3, 0x24($s0) -/* 01E948 7001DD48 02601025 */ move $v0, $s3 -/* 01E94C 7001DD4C 244FFFFF */ addiu $t7, $v0, -1 -.L7001DD50: -/* 01E950 7001DD50 05E10002 */ bgez $t7, .L7001DD5C -/* 01E954 7001DD54 AE0F0024 */ sw $t7, 0x24($s0) -/* 01E958 7001DD58 AE000024 */ sw $zero, 0x24($s0) -.L7001DD5C: -/* 01E95C 7001DD5C 14830003 */ bne $a0, $v1, .L7001DD6C -/* 01E960 7001DD60 00000000 */ nop -/* 01E964 7001DD64 10000001 */ b .L7001DD6C -/* 01E968 7001DD68 24140065 */ li $s4, 101 -.L7001DD6C: -/* 01E96C 7001DD6C 8E180008 */ lw $t8, 8($s0) -.L7001DD70: -/* 01E970 7001DD70 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E974 7001DD74 92390000 */ lbu $t9, ($s1) -/* 01E978 7001DD78 26310001 */ addiu $s1, $s1, 1 -/* 01E97C 7001DD7C 030F7021 */ addu $t6, $t8, $t7 -/* 01E980 7001DD80 A1D90000 */ sb $t9, ($t6) -/* 01E984 7001DD84 8E180014 */ lw $t8, 0x14($s0) -/* 01E988 7001DD88 8E020024 */ lw $v0, 0x24($s0) -/* 01E98C 7001DD8C 270F0001 */ addiu $t7, $t8, 1 -/* 01E990 7001DD90 1C400005 */ bgtz $v0, .L7001DDA8 -/* 01E994 7001DD94 AE0F0014 */ sw $t7, 0x14($s0) -/* 01E998 7001DD98 8E190030 */ lw $t9, 0x30($s0) -/* 01E99C 7001DD9C 332E0008 */ andi $t6, $t9, 8 -/* 01E9A0 7001DDA0 11C0000A */ beqz $t6, .L7001DDCC -/* 01E9A4 7001DDA4 00000000 */ nop -.L7001DDA8: -/* 01E9A8 7001DDA8 8E0F0008 */ lw $t7, 8($s0) -/* 01E9AC 7001DDAC 8E190014 */ lw $t9, 0x14($s0) -/* 01E9B0 7001DDB0 2418002E */ li $t8, 46 -/* 01E9B4 7001DDB4 01F97021 */ addu $t6, $t7, $t9 -/* 01E9B8 7001DDB8 A1D80000 */ sb $t8, ($t6) -/* 01E9BC 7001DDBC 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E9C0 7001DDC0 8E020024 */ lw $v0, 0x24($s0) -/* 01E9C4 7001DDC4 25F90001 */ addiu $t9, $t7, 1 -/* 01E9C8 7001DDC8 AE190014 */ sw $t9, 0x14($s0) -.L7001DDCC: -/* 01E9CC 7001DDCC 58400016 */ blezl $v0, .L7001DE28 -/* 01E9D0 7001DDD0 8E0E0008 */ lw $t6, 8($s0) -/* 01E9D4 7001DDD4 2673FFFF */ addiu $s3, $s3, -1 -/* 01E9D8 7001DDD8 0013C400 */ sll $t8, $s3, 0x10 -/* 01E9DC 7001DDDC 00189C03 */ sra $s3, $t8, 0x10 -/* 01E9E0 7001DDE0 0053082A */ slt $at, $v0, $s3 -/* 01E9E4 7001DDE4 10200004 */ beqz $at, .L7001DDF8 -/* 01E9E8 7001DDE8 02202825 */ move $a1, $s1 -/* 01E9EC 7001DDEC 00029C00 */ sll $s3, $v0, 0x10 -/* 01E9F0 7001DDF0 00137C03 */ sra $t7, $s3, 0x10 -/* 01E9F4 7001DDF4 01E09825 */ move $s3, $t7 -.L7001DDF8: -/* 01E9F8 7001DDF8 8E190008 */ lw $t9, 8($s0) -/* 01E9FC 7001DDFC 8E180014 */ lw $t8, 0x14($s0) -/* 01EA00 7001DE00 02603025 */ move $a2, $s3 -/* 01EA04 7001DE04 0C004E14 */ jal memcpy -/* 01EA08 7001DE08 03382021 */ addu $a0, $t9, $t8 -/* 01EA0C 7001DE0C 8E0E0014 */ lw $t6, 0x14($s0) -/* 01EA10 7001DE10 8E190024 */ lw $t9, 0x24($s0) -/* 01EA14 7001DE14 01D37821 */ addu $t7, $t6, $s3 -/* 01EA18 7001DE18 0333C023 */ subu $t8, $t9, $s3 -/* 01EA1C 7001DE1C AE0F0014 */ sw $t7, 0x14($s0) -/* 01EA20 7001DE20 AE180018 */ sw $t8, 0x18($s0) -/* 01EA24 7001DE24 8E0E0008 */ lw $t6, 8($s0) -.L7001DE28: -/* 01EA28 7001DE28 8E0F0014 */ lw $t7, 0x14($s0) -/* 01EA2C 7001DE2C 01CF8821 */ addu $s1, $t6, $t7 -/* 01EA30 7001DE30 26310001 */ addiu $s1, $s1, 1 -/* 01EA34 7001DE34 06400005 */ bltz $s2, .L7001DE4C -/* 01EA38 7001DE38 A234FFFF */ sb $s4, -1($s1) -/* 01EA3C 7001DE3C 2419002B */ li $t9, 43 -/* 01EA40 7001DE40 A2390000 */ sb $t9, ($s1) -/* 01EA44 7001DE44 10000008 */ b .L7001DE68 -/* 01EA48 7001DE48 26310001 */ addiu $s1, $s1, 1 -.L7001DE4C: -/* 01EA4C 7001DE4C 00129023 */ negu $s2, $s2 -/* 01EA50 7001DE50 00127400 */ sll $t6, $s2, 0x10 -/* 01EA54 7001DE54 2418002D */ li $t8, 45 -/* 01EA58 7001DE58 000E7C03 */ sra $t7, $t6, 0x10 -/* 01EA5C 7001DE5C A2380000 */ sb $t8, ($s1) -/* 01EA60 7001DE60 26310001 */ addiu $s1, $s1, 1 -/* 01EA64 7001DE64 01E09025 */ move $s2, $t7 -.L7001DE68: -/* 01EA68 7001DE68 2A410064 */ slti $at, $s2, 0x64 -/* 01EA6C 7001DE6C 5420002A */ bnezl $at, .L7001DF18 -/* 01EA70 7001DE70 2402000A */ li $v0, 10 -/* 01EA74 7001DE74 2A4103E8 */ slti $at, $s2, 0x3e8 -/* 01EA78 7001DE78 14200013 */ bnez $at, .L7001DEC8 -/* 01EA7C 7001DE7C 240203E8 */ li $v0, 1000 -/* 01EA80 7001DE80 0242001A */ div $zero, $s2, $v0 -/* 01EA84 7001DE84 14400002 */ bnez $v0, .L7001DE90 -/* 01EA88 7001DE88 00000000 */ nop -/* 01EA8C 7001DE8C 0007000D */ break 7 -.L7001DE90: -/* 01EA90 7001DE90 2401FFFF */ li $at, -1 -/* 01EA94 7001DE94 14410004 */ bne $v0, $at, .L7001DEA8 -/* 01EA98 7001DE98 3C018000 */ lui $at, 0x8000 -/* 01EA9C 7001DE9C 16410002 */ bne $s2, $at, .L7001DEA8 -/* 01EAA0 7001DEA0 00000000 */ nop -/* 01EAA4 7001DEA4 0006000D */ break 6 -.L7001DEA8: -/* 01EAA8 7001DEA8 00009010 */ mfhi $s2 -/* 01EAAC 7001DEAC 00127400 */ sll $t6, $s2, 0x10 -/* 01EAB0 7001DEB0 0000C812 */ mflo $t9 -/* 01EAB4 7001DEB4 27380030 */ addiu $t8, $t9, 0x30 -/* 01EAB8 7001DEB8 000E7C03 */ sra $t7, $t6, 0x10 -/* 01EABC 7001DEBC 01E09025 */ move $s2, $t7 -/* 01EAC0 7001DEC0 A2380000 */ sb $t8, ($s1) -/* 01EAC4 7001DEC4 26310001 */ addiu $s1, $s1, 1 -.L7001DEC8: -/* 01EAC8 7001DEC8 24020064 */ li $v0, 100 -/* 01EACC 7001DECC 0242001A */ div $zero, $s2, $v0 -/* 01EAD0 7001DED0 14400002 */ bnez $v0, .L7001DEDC -/* 01EAD4 7001DED4 00000000 */ nop -/* 01EAD8 7001DED8 0007000D */ break 7 -.L7001DEDC: -/* 01EADC 7001DEDC 2401FFFF */ li $at, -1 -/* 01EAE0 7001DEE0 14410004 */ bne $v0, $at, .L7001DEF4 -/* 01EAE4 7001DEE4 3C018000 */ lui $at, 0x8000 -/* 01EAE8 7001DEE8 16410002 */ bne $s2, $at, .L7001DEF4 -/* 01EAEC 7001DEEC 00000000 */ nop -/* 01EAF0 7001DEF0 0006000D */ break 6 -.L7001DEF4: -/* 01EAF4 7001DEF4 00009010 */ mfhi $s2 -/* 01EAF8 7001DEF8 00127400 */ sll $t6, $s2, 0x10 -/* 01EAFC 7001DEFC 0000C812 */ mflo $t9 -/* 01EB00 7001DF00 27380030 */ addiu $t8, $t9, 0x30 -/* 01EB04 7001DF04 000E7C03 */ sra $t7, $t6, 0x10 -/* 01EB08 7001DF08 01E09025 */ move $s2, $t7 -/* 01EB0C 7001DF0C A2380000 */ sb $t8, ($s1) -/* 01EB10 7001DF10 26310001 */ addiu $s1, $s1, 1 -/* 01EB14 7001DF14 2402000A */ li $v0, 10 -.L7001DF18: -/* 01EB18 7001DF18 0242001A */ div $zero, $s2, $v0 -/* 01EB1C 7001DF1C 14400002 */ bnez $v0, .L7001DF28 -/* 01EB20 7001DF20 00000000 */ nop -/* 01EB24 7001DF24 0007000D */ break 7 -.L7001DF28: -/* 01EB28 7001DF28 2401FFFF */ li $at, -1 -/* 01EB2C 7001DF2C 14410004 */ bne $v0, $at, .L7001DF40 -/* 01EB30 7001DF30 3C018000 */ lui $at, 0x8000 -/* 01EB34 7001DF34 16410002 */ bne $s2, $at, .L7001DF40 -/* 01EB38 7001DF38 00000000 */ nop -/* 01EB3C 7001DF3C 0006000D */ break 6 -.L7001DF40: -/* 01EB40 7001DF40 00009010 */ mfhi $s2 -/* 01EB44 7001DF44 00127400 */ sll $t6, $s2, 0x10 -/* 01EB48 7001DF48 0000C812 */ mflo $t9 -/* 01EB4C 7001DF4C 27380030 */ addiu $t8, $t9, 0x30 -/* 01EB50 7001DF50 000E7C03 */ sra $t7, $t6, 0x10 -/* 01EB54 7001DF54 25F90030 */ addiu $t9, $t7, 0x30 -/* 01EB58 7001DF58 A2380000 */ sb $t8, ($s1) -/* 01EB5C 7001DF5C A2390001 */ sb $t9, 1($s1) -/* 01EB60 7001DF60 8E180008 */ lw $t8, 8($s0) -/* 01EB64 7001DF64 01E09025 */ move $s2, $t7 -/* 01EB68 7001DF68 8E0F0014 */ lw $t7, 0x14($s0) -/* 01EB6C 7001DF6C 26310002 */ addiu $s1, $s1, 2 -/* 01EB70 7001DF70 02387023 */ subu $t6, $s1, $t8 -/* 01EB74 7001DF74 01CFC823 */ subu $t9, $t6, $t7 -/* 01EB78 7001DF78 AE19001C */ sw $t9, 0x1c($s0) -.L7001DF7C: -/* 01EB7C 7001DF7C 8E180030 */ lw $t8, 0x30($s0) -/* 01EB80 7001DF80 24010010 */ li $at, 16 -/* 01EB84 7001DF84 330E0014 */ andi $t6, $t8, 0x14 -/* 01EB88 7001DF88 55C10010 */ bnel $t6, $at, .L7001DFCC -/* 01EB8C 7001DF8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 01EB90 7001DF90 8E0F000C */ lw $t7, 0xc($s0) -/* 01EB94 7001DF94 8E190014 */ lw $t9, 0x14($s0) -/* 01EB98 7001DF98 8E0E0018 */ lw $t6, 0x18($s0) -/* 01EB9C 7001DF9C 8E030028 */ lw $v1, 0x28($s0) -/* 01EBA0 7001DFA0 01F9C021 */ addu $t8, $t7, $t9 -/* 01EBA4 7001DFA4 8E19001C */ lw $t9, 0x1c($s0) -/* 01EBA8 7001DFA8 030E7821 */ addu $t7, $t8, $t6 -/* 01EBAC 7001DFAC 8E0E0020 */ lw $t6, 0x20($s0) -/* 01EBB0 7001DFB0 01F9C021 */ addu $t8, $t7, $t9 -/* 01EBB4 7001DFB4 030E1021 */ addu $v0, $t8, $t6 -/* 01EBB8 7001DFB8 0043082A */ slt $at, $v0, $v1 -/* 01EBBC 7001DFBC 10200002 */ beqz $at, .L7001DFC8 -/* 01EBC0 7001DFC0 00627823 */ subu $t7, $v1, $v0 -/* 01EBC4 7001DFC4 AE0F0010 */ sw $t7, 0x10($s0) -.L7001DFC8: -/* 01EBC8 7001DFC8 8FBF0014 */ lw $ra, 0x14($sp) -.L7001DFCC: -/* 01EBCC 7001DFCC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01EBD0 7001DFD0 03E00008 */ jr $ra -/* 01EBD4 7001DFD4 00000000 */ nop - -/* 01EBD8 7001DFD8 03E00008 */ jr $ra -/* 01EBDC 7001DFDC 00000000 */ nop - -glabel _Ldtob -/* 01EBE0 7001DFE0 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 01EBE4 7001DFE4 AFBF003C */ sw $ra, 0x3c($sp) -/* 01EBE8 7001DFE8 AFB50038 */ sw $s5, 0x38($sp) -/* 01EBEC 7001DFEC AFB40034 */ sw $s4, 0x34($sp) -/* 01EBF0 7001DFF0 AFB30030 */ sw $s3, 0x30($sp) -/* 01EBF4 7001DFF4 AFB2002C */ sw $s2, 0x2c($sp) -/* 01EBF8 7001DFF8 AFB10028 */ sw $s1, 0x28($sp) -/* 01EBFC 7001DFFC AFB00024 */ sw $s0, 0x24($sp) -/* 01EC00 7001E000 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 01EC04 7001E004 AFA400D0 */ sw $a0, 0xd0($sp) -/* 01EC08 7001E008 AFA500D4 */ sw $a1, 0xd4($sp) -/* 01EC0C 7001E00C 8C820024 */ lw $v0, 0x24($a0) -/* 01EC10 7001E010 27B500B0 */ addiu $s5, $sp, 0xb0 -/* 01EC14 7001E014 D4940000 */ ldc1 $f20, ($a0) -/* 01EC18 7001E018 04410003 */ bgez $v0, .L7001E028 -/* 01EC1C 7001E01C 240F0006 */ li $t7, 6 -/* 01EC20 7001E020 1000000C */ b .L7001E054 -/* 01EC24 7001E024 AC8F0024 */ sw $t7, 0x24($a0) -.L7001E028: -/* 01EC28 7001E028 1440000A */ bnez $v0, .L7001E054 -/* 01EC2C 7001E02C 93B800D7 */ lbu $t8, 0xd7($sp) -/* 01EC30 7001E030 24010067 */ li $at, 103 -/* 01EC34 7001E034 13010004 */ beq $t8, $at, .L7001E048 -/* 01EC38 7001E038 AFB80048 */ sw $t8, 0x48($sp) -/* 01EC3C 7001E03C 24010047 */ li $at, 71 -/* 01EC40 7001E040 57010005 */ bnel $t8, $at, .L7001E058 -/* 01EC44 7001E044 8FAE00D0 */ lw $t6, 0xd0($sp) -.L7001E048: -/* 01EC48 7001E048 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 01EC4C 7001E04C 24190001 */ li $t9, 1 -/* 01EC50 7001E050 ADF90024 */ sw $t9, 0x24($t7) -.L7001E054: -/* 01EC54 7001E054 8FAE00D0 */ lw $t6, 0xd0($sp) -.L7001E058: -/* 01EC58 7001E058 240107FF */ li $at, 2047 -/* 01EC5C 7001E05C 95C40000 */ lhu $a0, ($t6) -/* 01EC60 7001E060 30837FF0 */ andi $v1, $a0, 0x7ff0 -/* 01EC64 7001E064 0003C103 */ sra $t8, $v1, 4 -/* 01EC68 7001E068 0018CC00 */ sll $t9, $t8, 0x10 -/* 01EC6C 7001E06C 00191C03 */ sra $v1, $t9, 0x10 -/* 01EC70 7001E070 14610018 */ bne $v1, $at, .L7001E0D4 -/* 01EC74 7001E074 00000000 */ nop -/* 01EC78 7001E078 A7A0009A */ sh $zero, 0x9a($sp) -/* 01EC7C 7001E07C 95D80000 */ lhu $t8, ($t6) -/* 01EC80 7001E080 24030002 */ li $v1, 2 -/* 01EC84 7001E084 00031400 */ sll $v0, $v1, 0x10 -/* 01EC88 7001E088 3319000F */ andi $t9, $t8, 0xf -/* 01EC8C 7001E08C 5720000A */ bnezl $t9, .L7001E0B8 -/* 01EC90 7001E090 00027C03 */ sra $t7, $v0, 0x10 -/* 01EC94 7001E094 95CF0002 */ lhu $t7, 2($t6) -/* 01EC98 7001E098 55E00007 */ bnezl $t7, .L7001E0B8 -/* 01EC9C 7001E09C 00027C03 */ sra $t7, $v0, 0x10 -/* 01ECA0 7001E0A0 95D80004 */ lhu $t8, 4($t6) -/* 01ECA4 7001E0A4 57000004 */ bnezl $t8, .L7001E0B8 -/* 01ECA8 7001E0A8 00027C03 */ sra $t7, $v0, 0x10 -/* 01ECAC 7001E0AC 95D90006 */ lhu $t9, 6($t6) -/* 01ECB0 7001E0B0 13200003 */ beqz $t9, .L7001E0C0 -/* 01ECB4 7001E0B4 00027C03 */ sra $t7, $v0, 0x10 -.L7001E0B8: -/* 01ECB8 7001E0B8 10000014 */ b .L7001E10C -/* 01ECBC 7001E0BC 01E01025 */ move $v0, $t7 -.L7001E0C0: -/* 01ECC0 7001E0C0 24030001 */ li $v1, 1 -/* 01ECC4 7001E0C4 00031400 */ sll $v0, $v1, 0x10 -/* 01ECC8 7001E0C8 00027C03 */ sra $t7, $v0, 0x10 -/* 01ECCC 7001E0CC 1000000F */ b .L7001E10C -/* 01ECD0 7001E0D0 01E01025 */ move $v0, $t7 -.L7001E0D4: -/* 01ECD4 7001E0D4 18600008 */ blez $v1, .L7001E0F8 -/* 01ECD8 7001E0D8 3098800F */ andi $t8, $a0, 0x800f -/* 01ECDC 7001E0DC 8FB900D0 */ lw $t9, 0xd0($sp) -/* 01ECE0 7001E0E0 370E3FF0 */ ori $t6, $t8, 0x3ff0 -/* 01ECE4 7001E0E4 246FFC02 */ addiu $t7, $v1, -0x3fe -/* 01ECE8 7001E0E8 A72E0000 */ sh $t6, ($t9) -/* 01ECEC 7001E0EC A7AF009A */ sh $t7, 0x9a($sp) -/* 01ECF0 7001E0F0 10000006 */ b .L7001E10C -/* 01ECF4 7001E0F4 2402FFFF */ li $v0, -1 -.L7001E0F8: -/* 01ECF8 7001E0F8 04610003 */ bgez $v1, .L7001E108 -/* 01ECFC 7001E0FC 00001025 */ move $v0, $zero -/* 01ED00 7001E100 10000002 */ b .L7001E10C -/* 01ED04 7001E104 24020002 */ li $v0, 2 -.L7001E108: -/* 01ED08 7001E108 A7A0009A */ sh $zero, 0x9a($sp) -.L7001E10C: -/* 01ED0C 7001E10C 18400012 */ blez $v0, .L7001E158 -/* 01ED10 7001E110 0002C400 */ sll $t8, $v0, 0x10 -/* 01ED14 7001E114 0002C400 */ sll $t8, $v0, 0x10 -/* 01ED18 7001E118 00187403 */ sra $t6, $t8, 0x10 -/* 01ED1C 7001E11C 24010002 */ li $at, 2 -/* 01ED20 7001E120 15C10004 */ bne $t6, $at, .L7001E134 -/* 01ED24 7001E124 8FB900D0 */ lw $t9, 0xd0($sp) -/* 01ED28 7001E128 3C058003 */ lui $a1, %hi(aNan) # $a1, 0x8003 -/* 01ED2C 7001E12C 10000003 */ b .L7001E13C -/* 01ED30 7001E130 24A59CD8 */ addiu $a1, %lo(aNan) # addiu $a1, $a1, -0x6328 -.L7001E134: -/* 01ED34 7001E134 3C058003 */ lui $a1, %hi(aInf) # $a1, 0x8003 -/* 01ED38 7001E138 24A59CDC */ addiu $a1, %lo(aInf) # addiu $a1, $a1, -0x6324 -.L7001E13C: -/* 01ED3C 7001E13C 240F0003 */ li $t7, 3 -/* 01ED40 7001E140 AF2F0014 */ sw $t7, 0x14($t9) -/* 01ED44 7001E144 8F240008 */ lw $a0, 8($t9) -/* 01ED48 7001E148 0C004E14 */ jal memcpy -/* 01ED4C 7001E14C 24060003 */ li $a2, 3 -/* 01ED50 7001E150 100000ED */ b .L7001E508 -/* 01ED54 7001E154 8FBF003C */ lw $ra, 0x3c($sp) -.L7001E158: -/* 01ED58 7001E158 00187403 */ sra $t6, $t8, 0x10 -/* 01ED5C 7001E15C 15C00003 */ bnez $t6, .L7001E16C -/* 01ED60 7001E160 00009825 */ move $s3, $zero -/* 01ED64 7001E164 100000E2 */ b .L7001E4F0 -/* 01ED68 7001E168 A7A0009A */ sh $zero, 0x9a($sp) -.L7001E16C: -/* 01ED6C 7001E16C 44801800 */ mtc1 $zero, $f3 -/* 01ED70 7001E170 44801000 */ mtc1 $zero, $f2 -/* 01ED74 7001E174 93AF00D7 */ lbu $t7, 0xd7($sp) -/* 01ED78 7001E178 87B9009A */ lh $t9, 0x9a($sp) -/* 01ED7C 7001E17C 4622A03C */ c.lt.d $f20, $f2 -/* 01ED80 7001E180 24017597 */ li $at, 30103 -/* 01ED84 7001E184 00001825 */ move $v1, $zero -/* 01ED88 7001E188 27B500B1 */ addiu $s5, $sp, 0xb1 -/* 01ED8C 7001E18C 45000002 */ bc1f .L7001E198 -/* 01ED90 7001E190 AFAF0048 */ sw $t7, 0x48($sp) -/* 01ED94 7001E194 4620A507 */ neg.d $f20, $f20 -.L7001E198: -/* 01ED98 7001E198 03210019 */ multu $t9, $at -/* 01ED9C 7001E19C 3C010001 */ lui $at, (0x000186A0 >> 16) # lui $at, 1 -/* 01EDA0 7001E1A0 342186A0 */ ori $at, (0x000186A0 & 0xFFFF) # ori $at, $at, 0x86a0 -/* 01EDA4 7001E1A4 24050006 */ li $a1, 6 -/* 01EDA8 7001E1A8 0000C012 */ mflo $t8 -/* 01EDAC 7001E1AC 00000000 */ nop -/* 01EDB0 7001E1B0 00000000 */ nop -/* 01EDB4 7001E1B4 0301001A */ div $zero, $t8, $at -/* 01EDB8 7001E1B8 00007012 */ mflo $t6 -/* 01EDBC 7001E1BC 25CFFFFC */ addiu $t7, $t6, -4 -/* 01EDC0 7001E1C0 000FCC00 */ sll $t9, $t7, 0x10 -/* 01EDC4 7001E1C4 0019C403 */ sra $t8, $t9, 0x10 -/* 01EDC8 7001E1C8 07010019 */ bgez $t8, .L7001E230 -/* 01EDCC 7001E1CC A7AF009A */ sh $t7, 0x9a($sp) -/* 01EDD0 7001E1D0 000FCC00 */ sll $t9, $t7, 0x10 -/* 01EDD4 7001E1D4 0019C403 */ sra $t8, $t9, 0x10 -/* 01EDD8 7001E1D8 240E0003 */ li $t6, 3 -/* 01EDDC 7001E1DC 01D82023 */ subu $a0, $t6, $t8 -/* 01EDE0 7001E1E0 2401FFFC */ li $at, -4 -/* 01EDE4 7001E1E4 00811024 */ and $v0, $a0, $at -/* 01EDE8 7001E1E8 0002C823 */ negu $t9, $v0 -/* 01EDEC 7001E1EC 1840002C */ blez $v0, .L7001E2A0 -/* 01EDF0 7001E1F0 A7B9009A */ sh $t9, 0x9a($sp) -/* 01EDF4 7001E1F4 3C048003 */ lui $a0, %hi(digits) # $a0, 0x8003 -/* 01EDF8 7001E1F8 24849C90 */ addiu $a0, %lo(digits) # addiu $a0, $a0, -0x6370 -.L7001E1FC: -/* 01EDFC 7001E1FC 304E0001 */ andi $t6, $v0, 1 -/* 01EE00 7001E200 11C00006 */ beqz $t6, .L7001E21C -/* 01EE04 7001E204 0002C843 */ sra $t9, $v0, 1 -/* 01EE08 7001E208 0003C0C0 */ sll $t8, $v1, 3 -/* 01EE0C 7001E20C 00987821 */ addu $t7, $a0, $t8 -/* 01EE10 7001E210 D5E40000 */ ldc1 $f4, ($t7) -/* 01EE14 7001E214 4624A502 */ mul.d $f20, $f20, $f4 -/* 01EE18 7001E218 00000000 */ nop -.L7001E21C: -/* 01EE1C 7001E21C 03201025 */ move $v0, $t9 -/* 01EE20 7001E220 1F20FFF6 */ bgtz $t9, .L7001E1FC -/* 01EE24 7001E224 24630001 */ addiu $v1, $v1, 1 -/* 01EE28 7001E228 1000001E */ b .L7001E2A4 -/* 01EE2C 7001E22C 8FAF0048 */ lw $t7, 0x48($sp) -.L7001E230: -/* 01EE30 7001E230 87AE009A */ lh $t6, 0x9a($sp) -/* 01EE34 7001E234 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 01EE38 7001E238 00001825 */ move $v1, $zero -/* 01EE3C 7001E23C 19C00018 */ blez $t6, .L7001E2A0 -/* 01EE40 7001E240 31D8FFFC */ andi $t8, $t6, 0xfffc -/* 01EE44 7001E244 00181400 */ sll $v0, $t8, 0x10 -/* 01EE48 7001E248 0018CC00 */ sll $t9, $t8, 0x10 -/* 01EE4C 7001E24C 44810800 */ mtc1 $at, $f1 -/* 01EE50 7001E250 44800000 */ mtc1 $zero, $f0 -/* 01EE54 7001E254 00197403 */ sra $t6, $t9, 0x10 -/* 01EE58 7001E258 00027C03 */ sra $t7, $v0, 0x10 -/* 01EE5C 7001E25C A7B8009A */ sh $t8, 0x9a($sp) -/* 01EE60 7001E260 19C0000E */ blez $t6, .L7001E29C -/* 01EE64 7001E264 01E01025 */ move $v0, $t7 -/* 01EE68 7001E268 3C048003 */ lui $a0, %hi(digits) # $a0, 0x8003 -/* 01EE6C 7001E26C 24849C90 */ addiu $a0, %lo(digits) # addiu $a0, $a0, -0x6370 -.L7001E270: -/* 01EE70 7001E270 304F0001 */ andi $t7, $v0, 1 -/* 01EE74 7001E274 11E00006 */ beqz $t7, .L7001E290 -/* 01EE78 7001E278 00027043 */ sra $t6, $v0, 1 -/* 01EE7C 7001E27C 0003C0C0 */ sll $t8, $v1, 3 -/* 01EE80 7001E280 0098C821 */ addu $t9, $a0, $t8 -/* 01EE84 7001E284 D7260000 */ ldc1 $f6, ($t9) -/* 01EE88 7001E288 46260002 */ mul.d $f0, $f0, $f6 -/* 01EE8C 7001E28C 00000000 */ nop -.L7001E290: -/* 01EE90 7001E290 01C01025 */ move $v0, $t6 -/* 01EE94 7001E294 1DC0FFF6 */ bgtz $t6, .L7001E270 -/* 01EE98 7001E298 24630001 */ addiu $v1, $v1, 1 -.L7001E29C: -/* 01EE9C 7001E29C 4620A503 */ div.d $f20, $f20, $f0 -.L7001E2A0: -/* 01EEA0 7001E2A0 8FAF0048 */ lw $t7, 0x48($sp) -.L7001E2A4: -/* 01EEA4 7001E2A4 24010066 */ li $at, 102 -/* 01EEA8 7001E2A8 8FB800D0 */ lw $t8, 0xd0($sp) -/* 01EEAC 7001E2AC 15E10004 */ bne $t7, $at, .L7001E2C0 -/* 01EEB0 7001E2B0 240E0030 */ li $t6, 48 -/* 01EEB4 7001E2B4 87A5009A */ lh $a1, 0x9a($sp) -/* 01EEB8 7001E2B8 10000001 */ b .L7001E2C0 -/* 01EEBC 7001E2BC 24A5000A */ addiu $a1, $a1, 0xa -.L7001E2C0: -/* 01EEC0 7001E2C0 8F190024 */ lw $t9, 0x24($t8) -/* 01EEC4 7001E2C4 00B9A021 */ addu $s4, $a1, $t9 -/* 01EEC8 7001E2C8 2A810014 */ slti $at, $s4, 0x14 -/* 01EECC 7001E2CC 14200002 */ bnez $at, .L7001E2D8 -/* 01EED0 7001E2D0 00000000 */ nop -/* 01EED4 7001E2D4 24140013 */ li $s4, 19 -.L7001E2D8: -/* 01EED8 7001E2D8 1A800033 */ blez $s4, .L7001E3A8 -/* 01EEDC 7001E2DC A3AE00B0 */ sb $t6, 0xb0($sp) -/* 01EEE0 7001E2E0 4634103C */ c.lt.d $f2, $f20 -/* 01EEE4 7001E2E4 24130030 */ li $s3, 48 -/* 01EEE8 7001E2E8 27B20074 */ addiu $s2, $sp, 0x74 -/* 01EEEC 7001E2EC 4502002F */ bc1fl .L7001E3AC -/* 01EEF0 7001E2F0 87B8009A */ lh $t8, 0x9a($sp) -/* 01EEF4 7001E2F4 4620A20D */ trunc.w.d $f8, $f20 -.L7001E2F8: -/* 01EEF8 7001E2F8 2694FFF8 */ addiu $s4, $s4, -8 -/* 01EEFC 7001E2FC 26B50008 */ addiu $s5, $s5, 8 -/* 01EF00 7001E300 44114000 */ mfc1 $s1, $f8 -/* 01EF04 7001E304 1A800008 */ blez $s4, .L7001E328 -/* 01EF08 7001E308 00000000 */ nop -/* 01EF0C 7001E30C 44915000 */ mtc1 $s1, $f10 -/* 01EF10 7001E310 3C018003 */ lui $at, 0x8003 -/* 01EF14 7001E314 D4289CE8 */ ldc1 $f8, -0x6318($at) -/* 01EF18 7001E318 46805121 */ cvt.d.w $f4, $f10 -/* 01EF1C 7001E31C 4624A181 */ sub.d $f6, $f20, $f4 -/* 01EF20 7001E320 46283502 */ mul.d $f20, $f6, $f8 -/* 01EF24 7001E324 00000000 */ nop -.L7001E328: -/* 01EF28 7001E328 1A200011 */ blez $s1, .L7001E370 -/* 01EF2C 7001E32C 24100008 */ li $s0, 8 -/* 01EF30 7001E330 24100007 */ li $s0, 7 -/* 01EF34 7001E334 0600000E */ bltz $s0, .L7001E370 -/* 01EF38 7001E338 02402025 */ move $a0, $s2 -.L7001E33C: -/* 01EF3C 7001E33C 02202825 */ move $a1, $s1 -/* 01EF40 7001E340 0C008314 */ jal ldiv -/* 01EF44 7001E344 2406000A */ li $a2, 10 -/* 01EF48 7001E348 8FB80078 */ lw $t8, 0x78($sp) -/* 01EF4C 7001E34C 26B5FFFF */ addiu $s5, $s5, -1 -/* 01EF50 7001E350 27190030 */ addiu $t9, $t8, 0x30 -/* 01EF54 7001E354 A2B90000 */ sb $t9, ($s5) -/* 01EF58 7001E358 8FB10074 */ lw $s1, 0x74($sp) -/* 01EF5C 7001E35C 5A200005 */ blezl $s1, .L7001E374 -/* 01EF60 7001E360 44801800 */ mtc1 $zero, $f3 -/* 01EF64 7001E364 2610FFFF */ addiu $s0, $s0, -1 -/* 01EF68 7001E368 0603FFF4 */ bgezl $s0, .L7001E33C -/* 01EF6C 7001E36C 02402025 */ move $a0, $s2 -.L7001E370: -/* 01EF70 7001E370 44801800 */ mtc1 $zero, $f3 -.L7001E374: -/* 01EF74 7001E374 44801000 */ mtc1 $zero, $f2 -/* 01EF78 7001E378 2610FFFF */ addiu $s0, $s0, -1 -/* 01EF7C 7001E37C 06000004 */ bltz $s0, .L7001E390 -.L7001E380: -/* 01EF80 7001E380 2610FFFF */ addiu $s0, $s0, -1 -/* 01EF84 7001E384 26B5FFFF */ addiu $s5, $s5, -1 -/* 01EF88 7001E388 0601FFFD */ bgez $s0, .L7001E380 -/* 01EF8C 7001E38C A2B30000 */ sb $s3, ($s5) -.L7001E390: -/* 01EF90 7001E390 1A800005 */ blez $s4, .L7001E3A8 -/* 01EF94 7001E394 26B50008 */ addiu $s5, $s5, 8 -/* 01EF98 7001E398 4634103C */ c.lt.d $f2, $f20 -/* 01EF9C 7001E39C 00000000 */ nop -/* 01EFA0 7001E3A0 4503FFD5 */ bc1tl .L7001E2F8 -/* 01EFA4 7001E3A4 4620A20D */ trunc.w.d $f8, $f20 -.L7001E3A8: -/* 01EFA8 7001E3A8 87B8009A */ lh $t8, 0x9a($sp) -.L7001E3AC: -/* 01EFAC 7001E3AC 93AE00B1 */ lbu $t6, 0xb1($sp) -/* 01EFB0 7001E3B0 27AF00B0 */ addiu $t7, $sp, 0xb0 -/* 01EFB4 7001E3B4 24020030 */ li $v0, 48 -/* 01EFB8 7001E3B8 02AFA023 */ subu $s4, $s5, $t7 -/* 01EFBC 7001E3BC 27190007 */ addiu $t9, $t8, 7 -/* 01EFC0 7001E3C0 2694FFFF */ addiu $s4, $s4, -1 -/* 01EFC4 7001E3C4 A7B9009A */ sh $t9, 0x9a($sp) -/* 01EFC8 7001E3C8 144E0009 */ bne $v0, $t6, .L7001E3F0 -/* 01EFCC 7001E3CC 27B500B1 */ addiu $s5, $sp, 0xb1 -/* 01EFD0 7001E3D0 87AF009A */ lh $t7, 0x9a($sp) -.L7001E3D4: -/* 01EFD4 7001E3D4 26B50001 */ addiu $s5, $s5, 1 -/* 01EFD8 7001E3D8 2694FFFF */ addiu $s4, $s4, -1 -/* 01EFDC 7001E3DC 25F8FFFF */ addiu $t8, $t7, -1 -/* 01EFE0 7001E3E0 A7B8009A */ sh $t8, 0x9a($sp) -/* 01EFE4 7001E3E4 92B90000 */ lbu $t9, ($s5) -/* 01EFE8 7001E3E8 5059FFFA */ beql $v0, $t9, .L7001E3D4 -/* 01EFEC 7001E3EC 87AF009A */ lh $t7, 0x9a($sp) -.L7001E3F0: -/* 01EFF0 7001E3F0 8FAE0048 */ lw $t6, 0x48($sp) -/* 01EFF4 7001E3F4 24010066 */ li $at, 102 -/* 01EFF8 7001E3F8 8FB800D0 */ lw $t8, 0xd0($sp) -/* 01EFFC 7001E3FC 15C10004 */ bne $t6, $at, .L7001E410 -/* 01F000 7001E400 8FAF0048 */ lw $t7, 0x48($sp) -/* 01F004 7001E404 87A5009A */ lh $a1, 0x9a($sp) -/* 01F008 7001E408 10000009 */ b .L7001E430 -/* 01F00C 7001E40C 24A50001 */ addiu $a1, $a1, 1 -.L7001E410: -/* 01F010 7001E410 24010065 */ li $at, 101 -/* 01F014 7001E414 11E10003 */ beq $t7, $at, .L7001E424 -/* 01F018 7001E418 24010045 */ li $at, 69 -/* 01F01C 7001E41C 15E10003 */ bne $t7, $at, .L7001E42C -/* 01F020 7001E420 00001025 */ move $v0, $zero -.L7001E424: -/* 01F024 7001E424 10000001 */ b .L7001E42C -/* 01F028 7001E428 24020001 */ li $v0, 1 -.L7001E42C: -/* 01F02C 7001E42C 00402825 */ move $a1, $v0 -.L7001E430: -/* 01F030 7001E430 8F190024 */ lw $t9, 0x24($t8) -/* 01F034 7001E434 00B99821 */ addu $s3, $a1, $t9 -/* 01F038 7001E438 00137400 */ sll $t6, $s3, 0x10 -/* 01F03C 7001E43C 000E9C03 */ sra $s3, $t6, 0x10 -/* 01F040 7001E440 0293082A */ slt $at, $s4, $s3 -/* 01F044 7001E444 10200004 */ beqz $at, .L7001E458 -/* 01F048 7001E448 00000000 */ nop -/* 01F04C 7001E44C 00149C00 */ sll $s3, $s4, 0x10 -/* 01F050 7001E450 0013C403 */ sra $t8, $s3, 0x10 -/* 01F054 7001E454 03009825 */ move $s3, $t8 -.L7001E458: -/* 01F058 7001E458 1A600025 */ blez $s3, .L7001E4F0 -/* 01F05C 7001E45C 0274082A */ slt $at, $s3, $s4 -/* 01F060 7001E460 10200007 */ beqz $at, .L7001E480 -/* 01F064 7001E464 02751021 */ addu $v0, $s3, $s5 -/* 01F068 7001E468 90590000 */ lbu $t9, ($v0) -/* 01F06C 7001E46C 2B210035 */ slti $at, $t9, 0x35 -/* 01F070 7001E470 54200004 */ bnezl $at, .L7001E484 -/* 01F074 7001E474 24050030 */ li $a1, 48 -/* 01F078 7001E478 10000003 */ b .L7001E488 -/* 01F07C 7001E47C 24050039 */ li $a1, 57 -.L7001E480: -/* 01F080 7001E480 24050030 */ li $a1, 48 -.L7001E484: -/* 01F084 7001E484 02751021 */ addu $v0, $s3, $s5 -.L7001E488: -/* 01F088 7001E488 904EFFFF */ lbu $t6, -1($v0) -/* 01F08C 7001E48C 2663FFFF */ addiu $v1, $s3, -1 -/* 01F090 7001E490 00A02025 */ move $a0, $a1 -/* 01F094 7001E494 14AE0009 */ bne $a1, $t6, .L7001E4BC -/* 01F098 7001E498 24010039 */ li $at, 57 -/* 01F09C 7001E49C 00751021 */ addu $v0, $v1, $s5 -.L7001E4A0: -/* 01F0A0 7001E4A0 9059FFFF */ lbu $t9, -1($v0) -/* 01F0A4 7001E4A4 2673FFFF */ addiu $s3, $s3, -1 -/* 01F0A8 7001E4A8 00137C00 */ sll $t7, $s3, 0x10 -/* 01F0AC 7001E4AC 2463FFFF */ addiu $v1, $v1, -1 -/* 01F0B0 7001E4B0 2442FFFF */ addiu $v0, $v0, -1 -/* 01F0B4 7001E4B4 1099FFFA */ beq $a0, $t9, .L7001E4A0 -/* 01F0B8 7001E4B8 000F9C03 */ sra $s3, $t7, 0x10 -.L7001E4BC: -/* 01F0BC 7001E4BC 14810004 */ bne $a0, $at, .L7001E4D0 -/* 01F0C0 7001E4C0 02A31021 */ addu $v0, $s5, $v1 -/* 01F0C4 7001E4C4 904E0000 */ lbu $t6, ($v0) -/* 01F0C8 7001E4C8 25CF0001 */ addiu $t7, $t6, 1 -/* 01F0CC 7001E4CC A04F0000 */ sb $t7, ($v0) -.L7001E4D0: -/* 01F0D0 7001E4D0 04610007 */ bgez $v1, .L7001E4F0 -/* 01F0D4 7001E4D4 87AE009A */ lh $t6, 0x9a($sp) -/* 01F0D8 7001E4D8 26730001 */ addiu $s3, $s3, 1 -/* 01F0DC 7001E4DC 0013C400 */ sll $t8, $s3, 0x10 -/* 01F0E0 7001E4E0 25CF0001 */ addiu $t7, $t6, 1 -/* 01F0E4 7001E4E4 A7AF009A */ sh $t7, 0x9a($sp) -/* 01F0E8 7001E4E8 00189C03 */ sra $s3, $t8, 0x10 -/* 01F0EC 7001E4EC 26B5FFFF */ addiu $s5, $s5, -1 -.L7001E4F0: -/* 01F0F0 7001E4F0 8FB000D0 */ lw $s0, 0xd0($sp) -/* 01F0F4 7001E4F4 93B400D7 */ lbu $s4, 0xd7($sp) -/* 01F0F8 7001E4F8 02A08825 */ move $s1, $s5 -/* 01F0FC 7001E4FC 0C00769C */ jal xldtob_sub0 -/* 01F100 7001E500 87B2009A */ lh $s2, 0x9a($sp) -/* 01F104 7001E504 8FBF003C */ lw $ra, 0x3c($sp) -.L7001E508: -/* 01F108 7001E508 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 01F10C 7001E50C 8FB00024 */ lw $s0, 0x24($sp) -/* 01F110 7001E510 8FB10028 */ lw $s1, 0x28($sp) -/* 01F114 7001E514 8FB2002C */ lw $s2, 0x2c($sp) -/* 01F118 7001E518 8FB30030 */ lw $s3, 0x30($sp) -/* 01F11C 7001E51C 8FB40034 */ lw $s4, 0x34($sp) -/* 01F120 7001E520 8FB50038 */ lw $s5, 0x38($sp) -/* 01F124 7001E524 03E00008 */ jr $ra -/* 01F128 7001E528 27BD00D0 */ addiu $sp, $sp, 0xd0 - -/* 01F12C 7001E52C 00000000 */ nop -.section .rodata -glabel asc_D_80029CE0 - .ascii "0"<0> - .align 3 -glabel F64_80029CE8 - .double 1.0e8 - -.section .text -glabel osEPiRawStartDma -/* 01F130 7001E530 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01F134 7001E534 AFBF001C */ sw $ra, 0x1c($sp) -/* 01F138 7001E538 AFA40028 */ sw $a0, 0x28($sp) -/* 01F13C 7001E53C AFA5002C */ sw $a1, 0x2c($sp) -/* 01F140 7001E540 AFA60030 */ sw $a2, 0x30($sp) -/* 01F144 7001E544 AFA70034 */ sw $a3, 0x34($sp) -/* 01F148 7001E548 AFB10018 */ sw $s1, 0x18($sp) -/* 01F14C 7001E54C AFB00014 */ sw $s0, 0x14($sp) -/* 01F150 7001E550 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 -/* 01F154 7001E554 8DD00010 */ lw $s0, %lo(PI_STATUS_REG)($t6) -/* 01F158 7001E558 320F0003 */ andi $t7, $s0, 3 -/* 01F15C 7001E55C 11E00006 */ beqz $t7, .L7001E578 -/* 01F160 7001E560 00000000 */ nop -.L7001E564: -/* 01F164 7001E564 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 01F168 7001E568 8F100010 */ lw $s0, %lo(PI_STATUS_REG)($t8) -/* 01F16C 7001E56C 32190003 */ andi $t9, $s0, 3 -/* 01F170 7001E570 1720FFFC */ bnez $t9, .L7001E564 -/* 01F174 7001E574 00000000 */ nop -.L7001E578: -/* 01F178 7001E578 0C003A2C */ jal osVirtualToPhysical -/* 01F17C 7001E57C 8FA40034 */ lw $a0, 0x34($sp) -/* 01F180 7001E580 3C08A460 */ lui $t0, 0xa460 -/* 01F184 7001E584 AD020000 */ sw $v0, ($t0) -/* 01F188 7001E588 8FA90028 */ lw $t1, 0x28($sp) -/* 01F18C 7001E58C 8FAB0030 */ lw $t3, 0x30($sp) -/* 01F190 7001E590 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 01F194 7001E594 8D2A000C */ lw $t2, 0xc($t1) -/* 01F198 7001E598 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01F19C 7001E59C 3C0EA460 */ lui $t6, %hi(PI_CART_ADDR_REG) # $t6, 0xa460 -/* 01F1A0 7001E5A0 014B6025 */ or $t4, $t2, $t3 -/* 01F1A4 7001E5A4 01816824 */ and $t5, $t4, $at -/* 01F1A8 7001E5A8 ADCD0004 */ sw $t5, %lo(PI_CART_ADDR_REG)($t6) -/* 01F1AC 7001E5AC 8FB1002C */ lw $s1, 0x2c($sp) -/* 01F1B0 7001E5B0 12200005 */ beqz $s1, .L7001E5C8 -/* 01F1B4 7001E5B4 24010001 */ li $at, 1 -/* 01F1B8 7001E5B8 12210008 */ beq $s1, $at, .L7001E5DC -/* 01F1BC 7001E5BC 00000000 */ nop -/* 01F1C0 7001E5C0 1000000B */ b .L7001E5F0 -/* 01F1C4 7001E5C4 00000000 */ nop -.L7001E5C8: -/* 01F1C8 7001E5C8 8FAF0038 */ lw $t7, 0x38($sp) -/* 01F1CC 7001E5CC 3C19A460 */ lui $t9, %hi(PI_WR_LEN_REG) # $t9, 0xa460 -/* 01F1D0 7001E5D0 25F8FFFF */ addiu $t8, $t7, -1 -/* 01F1D4 7001E5D4 10000008 */ b .L7001E5F8 -/* 01F1D8 7001E5D8 AF38000C */ sw $t8, %lo(PI_WR_LEN_REG)($t9) -.L7001E5DC: -/* 01F1DC 7001E5DC 8FA80038 */ lw $t0, 0x38($sp) -/* 01F1E0 7001E5E0 3C0AA460 */ lui $t2, %hi(PI_RD_LEN_REG) # $t2, 0xa460 -/* 01F1E4 7001E5E4 2509FFFF */ addiu $t1, $t0, -1 -/* 01F1E8 7001E5E8 10000003 */ b .L7001E5F8 -/* 01F1EC 7001E5EC AD490008 */ sw $t1, %lo(PI_RD_LEN_REG)($t2) -.L7001E5F0: -/* 01F1F0 7001E5F0 10000002 */ b .L7001E5FC -/* 01F1F4 7001E5F4 2402FFFF */ li $v0, -1 -.L7001E5F8: -/* 01F1F8 7001E5F8 00001025 */ move $v0, $zero -.L7001E5FC: -/* 01F1FC 7001E5FC 8FBF001C */ lw $ra, 0x1c($sp) -/* 01F200 7001E600 8FB00014 */ lw $s0, 0x14($sp) -/* 01F204 7001E604 8FB10018 */ lw $s1, 0x18($sp) -/* 01F208 7001E608 03E00008 */ jr $ra -/* 01F20C 7001E60C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel __osDevMgrMain -/* 01F210 7001E610 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01F214 7001E614 AFA40040 */ sw $a0, 0x40($sp) -/* 01F218 7001E618 8FAE0040 */ lw $t6, 0x40($sp) -/* 01F21C 7001E61C AFBF001C */ sw $ra, 0x1c($sp) -/* 01F220 7001E620 AFA00028 */ sw $zero, 0x28($sp) -/* 01F224 7001E624 AFA0003C */ sw $zero, 0x3c($sp) -/* 01F228 7001E628 AFA00030 */ sw $zero, 0x30($sp) -/* 01F22C 7001E62C AFAE002C */ sw $t6, 0x2c($sp) -.L7001E630: -/* 01F230 7001E630 8FAF002C */ lw $t7, 0x2c($sp) -/* 01F234 7001E634 27A5003C */ addiu $a1, $sp, 0x3c -/* 01F238 7001E638 24060001 */ li $a2, 1 -/* 01F23C 7001E63C 0C003774 */ jal osRecvMesg -/* 01F240 7001E640 8DE40008 */ lw $a0, 8($t7) -/* 01F244 7001E644 8FB8003C */ lw $t8, 0x3c($sp) -/* 01F248 7001E648 8F190014 */ lw $t9, 0x14($t8) -/* 01F24C 7001E64C 13200065 */ beqz $t9, .L7001E7E4 -/* 01F250 7001E650 00000000 */ nop -/* 01F254 7001E654 93280004 */ lbu $t0, 4($t9) -/* 01F258 7001E658 24010002 */ li $at, 2 -/* 01F25C 7001E65C 15010061 */ bne $t0, $at, .L7001E7E4 -/* 01F260 7001E660 00000000 */ nop -/* 01F264 7001E664 8F290014 */ lw $t1, 0x14($t9) -/* 01F268 7001E668 11200003 */ beqz $t1, .L7001E678 -/* 01F26C 7001E66C 24010001 */ li $at, 1 -/* 01F270 7001E670 1521005C */ bne $t1, $at, .L7001E7E4 -/* 01F274 7001E674 00000000 */ nop -.L7001E678: -/* 01F278 7001E678 8FAA003C */ lw $t2, 0x3c($sp) -/* 01F27C 7001E67C 2408FFFF */ li $t0, -1 -/* 01F280 7001E680 24010003 */ li $at, 3 -/* 01F284 7001E684 8D4B0014 */ lw $t3, 0x14($t2) -/* 01F288 7001E688 256C0014 */ addiu $t4, $t3, 0x14 -/* 01F28C 7001E68C AFAC0020 */ sw $t4, 0x20($sp) -/* 01F290 7001E690 958D0006 */ lhu $t5, 6($t4) -/* 01F294 7001E694 000D70C0 */ sll $t6, $t5, 3 -/* 01F298 7001E698 01CD7021 */ addu $t6, $t6, $t5 -/* 01F29C 7001E69C 000E7080 */ sll $t6, $t6, 2 -/* 01F2A0 7001E6A0 018E7821 */ addu $t7, $t4, $t6 -/* 01F2A4 7001E6A4 25F80018 */ addiu $t8, $t7, 0x18 -/* 01F2A8 7001E6A8 AFB80024 */ sw $t8, 0x24($sp) -/* 01F2AC 7001E6AC AD880008 */ sw $t0, 8($t4) -/* 01F2B0 7001E6B0 8FB90020 */ lw $t9, 0x20($sp) -/* 01F2B4 7001E6B4 97290004 */ lhu $t1, 4($t9) -/* 01F2B8 7001E6B8 11210006 */ beq $t1, $at, .L7001E6D4 -/* 01F2BC 7001E6BC 00000000 */ nop -/* 01F2C0 7001E6C0 8FAA0024 */ lw $t2, 0x24($sp) -/* 01F2C4 7001E6C4 8D4B0004 */ lw $t3, 4($t2) -/* 01F2C8 7001E6C8 8D4D000C */ lw $t5, 0xc($t2) -/* 01F2CC 7001E6CC 016D7023 */ subu $t6, $t3, $t5 -/* 01F2D0 7001E6D0 AD4E0004 */ sw $t6, 4($t2) -.L7001E6D4: -/* 01F2D4 7001E6D4 8FAF0020 */ lw $t7, 0x20($sp) -/* 01F2D8 7001E6D8 24010002 */ li $at, 2 -/* 01F2DC 7001E6DC 95F80004 */ lhu $t8, 4($t7) -/* 01F2E0 7001E6E0 17010009 */ bne $t8, $at, .L7001E708 -/* 01F2E4 7001E6E4 00000000 */ nop -/* 01F2E8 7001E6E8 8FA8003C */ lw $t0, 0x3c($sp) -/* 01F2EC 7001E6EC 8D0C0014 */ lw $t4, 0x14($t0) -/* 01F2F0 7001E6F0 8D990014 */ lw $t9, 0x14($t4) -/* 01F2F4 7001E6F4 17200004 */ bnez $t9, .L7001E708 -/* 01F2F8 7001E6F8 00000000 */ nop -/* 01F2FC 7001E6FC 24090001 */ li $t1, 1 -/* 01F300 7001E700 10000002 */ b .L7001E70C -/* 01F304 7001E704 AFA90028 */ sw $t1, 0x28($sp) -.L7001E708: -/* 01F308 7001E708 AFA00028 */ sw $zero, 0x28($sp) -.L7001E70C: -/* 01F30C 7001E70C 8FAB002C */ lw $t3, 0x2c($sp) -/* 01F310 7001E710 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F314 7001E714 24060001 */ li $a2, 1 -/* 01F318 7001E718 0C003774 */ jal osRecvMesg -/* 01F31C 7001E71C 8D640010 */ lw $a0, 0x10($t3) -/* 01F320 7001E720 3C040010 */ lui $a0, (0x00100401 >> 16) # lui $a0, 0x10 -/* 01F324 7001E724 0C008338 */ jal __osResetGlobalIntMask -/* 01F328 7001E728 34840401 */ ori $a0, (0x00100401 & 0xFFFF) # ori $a0, $a0, 0x401 -/* 01F32C 7001E72C 8FAE0020 */ lw $t6, 0x20($sp) -/* 01F330 7001E730 8FAD003C */ lw $t5, 0x3c($sp) -/* 01F334 7001E734 3C018000 */ lui $at, 0x8000 -/* 01F338 7001E738 8DC60010 */ lw $a2, 0x10($t6) -/* 01F33C 7001E73C 3C050500 */ lui $a1, (0x05000510 >> 16) # lui $a1, 0x500 -/* 01F340 7001E740 34A50510 */ ori $a1, (0x05000510 & 0xFFFF) # ori $a1, $a1, 0x510 -/* 01F344 7001E744 00C15025 */ or $t2, $a2, $at -/* 01F348 7001E748 01403025 */ move $a2, $t2 -/* 01F34C 7001E74C 0C008350 */ jal osEPiRawWriteIo -/* 01F350 7001E750 8DA40014 */ lw $a0, 0x14($t5) -.L7001E754: -/* 01F354 7001E754 8FAF002C */ lw $t7, 0x2c($sp) -/* 01F358 7001E758 27A50038 */ addiu $a1, $sp, 0x38 -/* 01F35C 7001E75C 24060001 */ li $a2, 1 -/* 01F360 7001E760 0C003774 */ jal osRecvMesg -/* 01F364 7001E764 8DE4000C */ lw $a0, 0xc($t7) -/* 01F368 7001E768 8FB8003C */ lw $t8, 0x3c($sp) -/* 01F36C 7001E76C 00003025 */ move $a2, $zero -/* 01F370 7001E770 8F040004 */ lw $a0, 4($t8) -/* 01F374 7001E774 0C0037C4 */ jal osSendMesg -/* 01F378 7001E778 03002825 */ move $a1, $t8 -/* 01F37C 7001E77C 8FA80028 */ lw $t0, 0x28($sp) -/* 01F380 7001E780 24010001 */ li $at, 1 -/* 01F384 7001E784 15010008 */ bne $t0, $at, .L7001E7A8 -/* 01F388 7001E788 00000000 */ nop -/* 01F38C 7001E78C 8FAC003C */ lw $t4, 0x3c($sp) -/* 01F390 7001E790 8D990014 */ lw $t9, 0x14($t4) -/* 01F394 7001E794 8F29002C */ lw $t1, 0x2c($t9) -/* 01F398 7001E798 15200003 */ bnez $t1, .L7001E7A8 -/* 01F39C 7001E79C 00000000 */ nop -/* 01F3A0 7001E7A0 1000FFEC */ b .L7001E754 -/* 01F3A4 7001E7A4 AFA00028 */ sw $zero, 0x28($sp) -.L7001E7A8: -/* 01F3A8 7001E7A8 8FAB002C */ lw $t3, 0x2c($sp) -/* 01F3AC 7001E7AC 00002825 */ move $a1, $zero -/* 01F3B0 7001E7B0 00003025 */ move $a2, $zero -/* 01F3B4 7001E7B4 0C0037C4 */ jal osSendMesg -/* 01F3B8 7001E7B8 8D640010 */ lw $a0, 0x10($t3) -/* 01F3BC 7001E7BC 8FAD003C */ lw $t5, 0x3c($sp) -/* 01F3C0 7001E7C0 24010001 */ li $at, 1 -/* 01F3C4 7001E7C4 8DAE0014 */ lw $t6, 0x14($t5) -/* 01F3C8 7001E7C8 95CA001A */ lhu $t2, 0x1a($t6) -/* 01F3CC 7001E7CC 1541FF98 */ bne $t2, $at, .L7001E630 -/* 01F3D0 7001E7D0 00000000 */ nop -/* 01F3D4 7001E7D4 0C0042B4 */ jal osYieldThread -/* 01F3D8 7001E7D8 00000000 */ nop -/* 01F3DC 7001E7DC 1000FF94 */ b .L7001E630 -/* 01F3E0 7001E7E0 00000000 */ nop -.L7001E7E4: -/* 01F3E4 7001E7E4 8FAF003C */ lw $t7, 0x3c($sp) -/* 01F3E8 7001E7E8 95F80000 */ lhu $t8, ($t7) -/* 01F3EC 7001E7EC 2708FFF6 */ addiu $t0, $t8, -0xa -/* 01F3F0 7001E7F0 2D010007 */ sltiu $at, $t0, 7 -/* 01F3F4 7001E7F4 10200052 */ beqz $at, .L7001E940 -/* 01F3F8 7001E7F8 00000000 */ nop -/* 01F3FC 7001E7FC 00084080 */ sll $t0, $t0, 2 -/* 01F400 7001E800 3C018003 */ lui $at, 0x8003 -/* 01F404 7001E804 00280821 */ addu $at, $at, $t0 -/* 01F408 7001E808 8C289CF0 */ lw $t0, -0x6310($at) -/* 01F40C 7001E80C 01000008 */ jr $t0 -/* 01F410 7001E810 00000000 */ nop -.L7001E814: -/* 01F414 7001E814 8FAC002C */ lw $t4, 0x2c($sp) -/* 01F418 7001E818 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F41C 7001E81C 24060001 */ li $a2, 1 -/* 01F420 7001E820 0C003774 */ jal osRecvMesg -/* 01F424 7001E824 8D840010 */ lw $a0, 0x10($t4) -/* 01F428 7001E828 8FB9003C */ lw $t9, 0x3c($sp) -/* 01F42C 7001E82C 8FA9002C */ lw $t1, 0x2c($sp) -/* 01F430 7001E830 00002025 */ move $a0, $zero -/* 01F434 7001E834 8F25000C */ lw $a1, 0xc($t9) -/* 01F438 7001E838 8F260008 */ lw $a2, 8($t9) -/* 01F43C 7001E83C 8F270010 */ lw $a3, 0x10($t9) -/* 01F440 7001E840 8D390014 */ lw $t9, 0x14($t1) -/* 01F444 7001E844 0320F809 */ jalr $t9 -/* 01F448 7001E848 00000000 */ nop -/* 01F44C 7001E84C 1000003E */ b .L7001E948 -/* 01F450 7001E850 AFA20030 */ sw $v0, 0x30($sp) -.L7001E854: -/* 01F454 7001E854 8FAB002C */ lw $t3, 0x2c($sp) -/* 01F458 7001E858 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F45C 7001E85C 24060001 */ li $a2, 1 -/* 01F460 7001E860 0C003774 */ jal osRecvMesg -/* 01F464 7001E864 8D640010 */ lw $a0, 0x10($t3) -/* 01F468 7001E868 8FAE002C */ lw $t6, 0x2c($sp) -/* 01F46C 7001E86C 8FAD003C */ lw $t5, 0x3c($sp) -/* 01F470 7001E870 24040001 */ li $a0, 1 -/* 01F474 7001E874 8DD90014 */ lw $t9, 0x14($t6) -/* 01F478 7001E878 8DA5000C */ lw $a1, 0xc($t5) -/* 01F47C 7001E87C 8DA60008 */ lw $a2, 8($t5) -/* 01F480 7001E880 0320F809 */ jalr $t9 -/* 01F484 7001E884 8DA70010 */ lw $a3, 0x10($t5) -/* 01F488 7001E888 1000002F */ b .L7001E948 -/* 01F48C 7001E88C AFA20030 */ sw $v0, 0x30($sp) -.L7001E890: -/* 01F490 7001E890 8FAA002C */ lw $t2, 0x2c($sp) -/* 01F494 7001E894 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F498 7001E898 24060001 */ li $a2, 1 -/* 01F49C 7001E89C 0C003774 */ jal osRecvMesg -/* 01F4A0 7001E8A0 8D440010 */ lw $a0, 0x10($t2) -/* 01F4A4 7001E8A4 8FAF003C */ lw $t7, 0x3c($sp) -/* 01F4A8 7001E8A8 8FA8002C */ lw $t0, 0x2c($sp) -/* 01F4AC 7001E8AC 00002825 */ move $a1, $zero -/* 01F4B0 7001E8B0 8DF80010 */ lw $t8, 0x10($t7) -/* 01F4B4 7001E8B4 8DE40014 */ lw $a0, 0x14($t7) -/* 01F4B8 7001E8B8 8DE6000C */ lw $a2, 0xc($t7) -/* 01F4BC 7001E8BC 8DE70008 */ lw $a3, 8($t7) -/* 01F4C0 7001E8C0 AFB80010 */ sw $t8, 0x10($sp) -/* 01F4C4 7001E8C4 8D190018 */ lw $t9, 0x18($t0) -/* 01F4C8 7001E8C8 0320F809 */ jalr $t9 -/* 01F4CC 7001E8CC 00000000 */ nop -/* 01F4D0 7001E8D0 1000001D */ b .L7001E948 -/* 01F4D4 7001E8D4 AFA20030 */ sw $v0, 0x30($sp) -.L7001E8D8: -/* 01F4D8 7001E8D8 8FAC002C */ lw $t4, 0x2c($sp) -/* 01F4DC 7001E8DC 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F4E0 7001E8E0 24060001 */ li $a2, 1 -/* 01F4E4 7001E8E4 0C003774 */ jal osRecvMesg -/* 01F4E8 7001E8E8 8D840010 */ lw $a0, 0x10($t4) -/* 01F4EC 7001E8EC 8FA9003C */ lw $t1, 0x3c($sp) -/* 01F4F0 7001E8F0 8FAD002C */ lw $t5, 0x2c($sp) -/* 01F4F4 7001E8F4 24050001 */ li $a1, 1 -/* 01F4F8 7001E8F8 8D2B0010 */ lw $t3, 0x10($t1) -/* 01F4FC 7001E8FC 8D240014 */ lw $a0, 0x14($t1) -/* 01F500 7001E900 8D26000C */ lw $a2, 0xc($t1) -/* 01F504 7001E904 8D270008 */ lw $a3, 8($t1) -/* 01F508 7001E908 AFAB0010 */ sw $t3, 0x10($sp) -/* 01F50C 7001E90C 8DB90018 */ lw $t9, 0x18($t5) -/* 01F510 7001E910 0320F809 */ jalr $t9 -/* 01F514 7001E914 00000000 */ nop -/* 01F518 7001E918 1000000B */ b .L7001E948 -/* 01F51C 7001E91C AFA20030 */ sw $v0, 0x30($sp) -.L7001E920: -/* 01F520 7001E920 8FAE003C */ lw $t6, 0x3c($sp) -/* 01F524 7001E924 00003025 */ move $a2, $zero -/* 01F528 7001E928 8DC40004 */ lw $a0, 4($t6) -/* 01F52C 7001E92C 0C0037C4 */ jal osSendMesg -/* 01F530 7001E930 01C02825 */ move $a1, $t6 -/* 01F534 7001E934 240AFFFF */ li $t2, -1 -/* 01F538 7001E938 10000003 */ b .L7001E948 -/* 01F53C 7001E93C AFAA0030 */ sw $t2, 0x30($sp) -.L7001E940: -/* 01F540 7001E940 240FFFFF */ li $t7, -1 -/* 01F544 7001E944 AFAF0030 */ sw $t7, 0x30($sp) -.L7001E948: -/* 01F548 7001E948 8FB80030 */ lw $t8, 0x30($sp) -/* 01F54C 7001E94C 1700FF38 */ bnez $t8, .L7001E630 -/* 01F550 7001E950 00000000 */ nop -/* 01F554 7001E954 8FA8002C */ lw $t0, 0x2c($sp) -/* 01F558 7001E958 27A50038 */ addiu $a1, $sp, 0x38 -/* 01F55C 7001E95C 24060001 */ li $a2, 1 -/* 01F560 7001E960 0C003774 */ jal osRecvMesg -/* 01F564 7001E964 8D04000C */ lw $a0, 0xc($t0) -/* 01F568 7001E968 8FAC003C */ lw $t4, 0x3c($sp) -/* 01F56C 7001E96C 00003025 */ move $a2, $zero -/* 01F570 7001E970 8D840004 */ lw $a0, 4($t4) -/* 01F574 7001E974 0C0037C4 */ jal osSendMesg -/* 01F578 7001E978 01802825 */ move $a1, $t4 -/* 01F57C 7001E97C 8FA9002C */ lw $t1, 0x2c($sp) -/* 01F580 7001E980 00002825 */ move $a1, $zero -/* 01F584 7001E984 00003025 */ move $a2, $zero -/* 01F588 7001E988 0C0037C4 */ jal osSendMesg -/* 01F58C 7001E98C 8D240010 */ lw $a0, 0x10($t1) -/* 01F590 7001E990 1000FF27 */ b .L7001E630 -/* 01F594 7001E994 00000000 */ nop -/* 01F598 7001E998 00000000 */ nop -/* 01F59C 7001E99C 00000000 */ nop -/* 01F5A0 7001E9A0 00000000 */ nop -/* 01F5A4 7001E9A4 00000000 */ nop -/* 01F5A8 7001E9A8 00000000 */ nop -/* 01F5AC 7001E9AC 00000000 */ nop -/* 01F5B0 7001E9B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 01F5B4 7001E9B4 27BD0040 */ addiu $sp, $sp, 0x40 -/* 01F5B8 7001E9B8 03E00008 */ jr $ra -/* 01F5BC 7001E9BC 00000000 */ nop -.section .rodata -glabel jpt_8001E80C - .word .L7001E920 - .word .L7001E814 - .word .L7001E854 - .word .L7001E940 - .word .L7001E940 - .word .L7001E890 - .word .L7001E8D8 -.align 4 - -.section .text -glabel __osSumcalc -/* 01F5C0 7001E9C0 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 01F5C4 7001E9C4 AFA00008 */ sw $zero, 8($sp) -/* 01F5C8 7001E9C8 AFA40004 */ sw $a0, 4($sp) -/* 01F5CC 7001E9CC 18A00010 */ blez $a1, .L7001EA10 -/* 01F5D0 7001E9D0 AFA0000C */ sw $zero, 0xc($sp) -.L7001E9D4: -/* 01F5D4 7001E9D4 8FAF0004 */ lw $t7, 4($sp) -/* 01F5D8 7001E9D8 8FAE0008 */ lw $t6, 8($sp) -/* 01F5DC 7001E9DC 8FAB000C */ lw $t3, 0xc($sp) -/* 01F5E0 7001E9E0 91F80000 */ lbu $t8, ($t7) -/* 01F5E4 7001E9E4 25E80001 */ addiu $t0, $t7, 1 -/* 01F5E8 7001E9E8 256C0001 */ addiu $t4, $t3, 1 -/* 01F5EC 7001E9EC 01D8C821 */ addu $t9, $t6, $t8 -/* 01F5F0 7001E9F0 AFB90008 */ sw $t9, 8($sp) -/* 01F5F4 7001E9F4 8FA90008 */ lw $t1, 8($sp) -/* 01F5F8 7001E9F8 0185082A */ slt $at, $t4, $a1 -/* 01F5FC 7001E9FC AFAC000C */ sw $t4, 0xc($sp) -/* 01F600 7001EA00 312AFFFF */ andi $t2, $t1, 0xffff -/* 01F604 7001EA04 AFA80004 */ sw $t0, 4($sp) -/* 01F608 7001EA08 1420FFF2 */ bnez $at, .L7001E9D4 -/* 01F60C 7001EA0C AFAA0008 */ sw $t2, 8($sp) -.L7001EA10: -/* 01F610 7001EA10 97A2000A */ lhu $v0, 0xa($sp) -/* 01F614 7001EA14 03E00008 */ jr $ra -/* 01F618 7001EA18 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel __osIdCheckSum -/* 01F61C 7001EA1C 27BDFFF8 */ addiu $sp, $sp, -8 -/* 01F620 7001EA20 A7A00006 */ sh $zero, 6($sp) -/* 01F624 7001EA24 A4C00000 */ sh $zero, ($a2) -/* 01F628 7001EA28 94CE0000 */ lhu $t6, ($a2) -/* 01F62C 7001EA2C A4AE0000 */ sh $t6, ($a1) -/* 01F630 7001EA30 AFA00000 */ sw $zero, ($sp) -.L7001EA34: -/* 01F634 7001EA34 8FAF0000 */ lw $t7, ($sp) -/* 01F638 7001EA38 008FC021 */ addu $t8, $a0, $t7 -/* 01F63C 7001EA3C 97190000 */ lhu $t9, ($t8) -/* 01F640 7001EA40 A7B90006 */ sh $t9, 6($sp) -/* 01F644 7001EA44 94A80000 */ lhu $t0, ($a1) -/* 01F648 7001EA48 01194821 */ addu $t1, $t0, $t9 -/* 01F64C 7001EA4C A4A90000 */ sh $t1, ($a1) -/* 01F650 7001EA50 97AB0006 */ lhu $t3, 6($sp) -/* 01F654 7001EA54 94CA0000 */ lhu $t2, ($a2) -/* 01F658 7001EA58 01606027 */ not $t4, $t3 -/* 01F65C 7001EA5C 014C6821 */ addu $t5, $t2, $t4 -/* 01F660 7001EA60 A4CD0000 */ sh $t5, ($a2) -/* 01F664 7001EA64 8FAE0000 */ lw $t6, ($sp) -/* 01F668 7001EA68 25CF0002 */ addiu $t7, $t6, 2 -/* 01F66C 7001EA6C 2DE1001C */ sltiu $at, $t7, 0x1c -/* 01F670 7001EA70 1420FFF0 */ bnez $at, .L7001EA34 -/* 01F674 7001EA74 AFAF0000 */ sw $t7, ($sp) -/* 01F678 7001EA78 00001025 */ move $v0, $zero -/* 01F67C 7001EA7C 03E00008 */ jr $ra -/* 01F680 7001EA80 27BD0008 */ addiu $sp, $sp, 8 - -glabel __osRepairPackId -/* 01F684 7001EA84 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 01F688 7001EA88 AFA40078 */ sw $a0, 0x78($sp) -/* 01F68C 7001EA8C 8FAE0078 */ lw $t6, 0x78($sp) -/* 01F690 7001EA90 AFBF001C */ sw $ra, 0x1c($sp) -/* 01F694 7001EA94 AFA5007C */ sw $a1, 0x7c($sp) -/* 01F698 7001EA98 AFA60080 */ sw $a2, 0x80($sp) -/* 01F69C 7001EA9C AFA00074 */ sw $zero, 0x74($sp) -/* 01F6A0 7001EAA0 A3A00033 */ sb $zero, 0x33($sp) -/* 01F6A4 7001EAA4 91CF0065 */ lbu $t7, 0x65($t6) -/* 01F6A8 7001EAA8 11E0000A */ beqz $t7, .L7001EAD4 -/* 01F6AC 7001EAAC 00000000 */ nop -/* 01F6B0 7001EAB0 A1C00065 */ sb $zero, 0x65($t6) -/* 01F6B4 7001EAB4 0C007DAB */ jal __osPfsSelectBank -/* 01F6B8 7001EAB8 8FA40078 */ lw $a0, 0x78($sp) -/* 01F6BC 7001EABC AFA20074 */ sw $v0, 0x74($sp) -/* 01F6C0 7001EAC0 8FB80074 */ lw $t8, 0x74($sp) -/* 01F6C4 7001EAC4 13000003 */ beqz $t8, .L7001EAD4 -/* 01F6C8 7001EAC8 00000000 */ nop -/* 01F6CC 7001EACC 100000EF */ b .L7001EE8C -/* 01F6D0 7001EAD0 03001025 */ move $v0, $t8 -.L7001EAD4: -/* 01F6D4 7001EAD4 8FA80080 */ lw $t0, 0x80($sp) -/* 01F6D8 7001EAD8 2419FFFF */ li $t9, -1 -/* 01F6DC 7001EADC 0C003638 */ jal osGetCount -/* 01F6E0 7001EAE0 AD190000 */ sw $t9, ($t0) -/* 01F6E4 7001EAE4 8FA90080 */ lw $t1, 0x80($sp) -/* 01F6E8 7001EAE8 AD220004 */ sw $v0, 4($t1) -/* 01F6EC 7001EAEC 8FAA007C */ lw $t2, 0x7c($sp) -/* 01F6F0 7001EAF0 8FAB0080 */ lw $t3, 0x80($sp) -/* 01F6F4 7001EAF4 8D4C0008 */ lw $t4, 8($t2) -/* 01F6F8 7001EAF8 8D4D000C */ lw $t5, 0xc($t2) -/* 01F6FC 7001EAFC AD6C0008 */ sw $t4, 8($t3) -/* 01F700 7001EB00 AD6D000C */ sw $t5, 0xc($t3) -/* 01F704 7001EB04 8FAF007C */ lw $t7, 0x7c($sp) -/* 01F708 7001EB08 8FB80080 */ lw $t8, 0x80($sp) -/* 01F70C 7001EB0C 8DEE0010 */ lw $t6, 0x10($t7) -/* 01F710 7001EB10 8DEF0014 */ lw $t7, 0x14($t7) -/* 01F714 7001EB14 AF0E0010 */ sw $t6, 0x10($t8) -/* 01F718 7001EB18 AF0F0014 */ sw $t7, 0x14($t8) -/* 01F71C 7001EB1C AFA00028 */ sw $zero, 0x28($sp) -.L7001EB20: -/* 01F720 7001EB20 8FB90028 */ lw $t9, 0x28($sp) -/* 01F724 7001EB24 8FA80078 */ lw $t0, 0x78($sp) -/* 01F728 7001EB28 A1190065 */ sb $t9, 0x65($t0) -/* 01F72C 7001EB2C 0C007DAB */ jal __osPfsSelectBank -/* 01F730 7001EB30 8FA40078 */ lw $a0, 0x78($sp) -/* 01F734 7001EB34 AFA20074 */ sw $v0, 0x74($sp) -/* 01F738 7001EB38 8FA90074 */ lw $t1, 0x74($sp) -/* 01F73C 7001EB3C 11200003 */ beqz $t1, .L7001EB4C -/* 01F740 7001EB40 00000000 */ nop -/* 01F744 7001EB44 100000D1 */ b .L7001EE8C -/* 01F748 7001EB48 01201025 */ move $v0, $t1 -.L7001EB4C: -/* 01F74C 7001EB4C 8FAA0078 */ lw $t2, 0x78($sp) -/* 01F750 7001EB50 00003025 */ move $a2, $zero -/* 01F754 7001EB54 27A70054 */ addiu $a3, $sp, 0x54 -/* 01F758 7001EB58 8D440004 */ lw $a0, 4($t2) -/* 01F75C 7001EB5C 0C00592C */ jal __osContRamRead -/* 01F760 7001EB60 8D450008 */ lw $a1, 8($t2) -/* 01F764 7001EB64 AFA20074 */ sw $v0, 0x74($sp) -/* 01F768 7001EB68 8FAC0074 */ lw $t4, 0x74($sp) -/* 01F76C 7001EB6C 11800003 */ beqz $t4, .L7001EB7C -/* 01F770 7001EB70 00000000 */ nop -/* 01F774 7001EB74 100000C5 */ b .L7001EE8C -/* 01F778 7001EB78 01801025 */ move $v0, $t4 -.L7001EB7C: -/* 01F77C 7001EB7C 8FAD0028 */ lw $t5, 0x28($sp) -/* 01F780 7001EB80 27AE0054 */ addiu $t6, $sp, 0x54 -/* 01F784 7001EB84 240F0001 */ li $t7, 1 -/* 01F788 7001EB88 35AB0080 */ ori $t3, $t5, 0x80 -/* 01F78C 7001EB8C A1CB0000 */ sb $t3, ($t6) -/* 01F790 7001EB90 AFAF002C */ sw $t7, 0x2c($sp) -.L7001EB94: -/* 01F794 7001EB94 8FB8002C */ lw $t8, 0x2c($sp) -/* 01F798 7001EB98 27B90054 */ addiu $t9, $sp, 0x54 -/* 01F79C 7001EB9C 03194021 */ addu $t0, $t8, $t9 -/* 01F7A0 7001EBA0 91090000 */ lbu $t1, ($t0) -/* 01F7A4 7001EBA4 01205027 */ not $t2, $t1 -/* 01F7A8 7001EBA8 A10A0000 */ sb $t2, ($t0) -/* 01F7AC 7001EBAC 8FAC002C */ lw $t4, 0x2c($sp) -/* 01F7B0 7001EBB0 258D0001 */ addiu $t5, $t4, 1 -/* 01F7B4 7001EBB4 29A10020 */ slti $at, $t5, 0x20 -/* 01F7B8 7001EBB8 1420FFF6 */ bnez $at, .L7001EB94 -/* 01F7BC 7001EBBC AFAD002C */ sw $t5, 0x2c($sp) -/* 01F7C0 7001EBC0 8FAB0078 */ lw $t3, 0x78($sp) -/* 01F7C4 7001EBC4 00003025 */ move $a2, $zero -/* 01F7C8 7001EBC8 27A70054 */ addiu $a3, $sp, 0x54 -/* 01F7CC 7001EBCC 8D640004 */ lw $a0, 4($t3) -/* 01F7D0 7001EBD0 8D650008 */ lw $a1, 8($t3) -/* 01F7D4 7001EBD4 0C005840 */ jal __osContRamWrite -/* 01F7D8 7001EBD8 AFA00010 */ sw $zero, 0x10($sp) -/* 01F7DC 7001EBDC AFA20074 */ sw $v0, 0x74($sp) -/* 01F7E0 7001EBE0 8FAE0074 */ lw $t6, 0x74($sp) -/* 01F7E4 7001EBE4 11C00003 */ beqz $t6, .L7001EBF4 -/* 01F7E8 7001EBE8 00000000 */ nop -/* 01F7EC 7001EBEC 100000A7 */ b .L7001EE8C -/* 01F7F0 7001EBF0 01C01025 */ move $v0, $t6 -.L7001EBF4: -/* 01F7F4 7001EBF4 8FAF0078 */ lw $t7, 0x78($sp) -/* 01F7F8 7001EBF8 00003025 */ move $a2, $zero -/* 01F7FC 7001EBFC 27A70034 */ addiu $a3, $sp, 0x34 -/* 01F800 7001EC00 8DE40004 */ lw $a0, 4($t7) -/* 01F804 7001EC04 0C00592C */ jal __osContRamRead -/* 01F808 7001EC08 8DE50008 */ lw $a1, 8($t7) -/* 01F80C 7001EC0C AFA20074 */ sw $v0, 0x74($sp) -/* 01F810 7001EC10 8FB80074 */ lw $t8, 0x74($sp) -/* 01F814 7001EC14 13000003 */ beqz $t8, .L7001EC24 -/* 01F818 7001EC18 00000000 */ nop -/* 01F81C 7001EC1C 1000009B */ b .L7001EE8C -/* 01F820 7001EC20 03001025 */ move $v0, $t8 -.L7001EC24: -/* 01F824 7001EC24 AFA0002C */ sw $zero, 0x2c($sp) -.L7001EC28: -/* 01F828 7001EC28 8FB9002C */ lw $t9, 0x2c($sp) -/* 01F82C 7001EC2C 03B94821 */ addu $t1, $sp, $t9 -/* 01F830 7001EC30 03B95021 */ addu $t2, $sp, $t9 -/* 01F834 7001EC34 914A0034 */ lbu $t2, 0x34($t2) -/* 01F838 7001EC38 91290054 */ lbu $t1, 0x54($t1) -/* 01F83C 7001EC3C 152A0006 */ bne $t1, $t2, .L7001EC58 -/* 01F840 7001EC40 00000000 */ nop -/* 01F844 7001EC44 8FA8002C */ lw $t0, 0x2c($sp) -/* 01F848 7001EC48 250C0001 */ addiu $t4, $t0, 1 -/* 01F84C 7001EC4C 29810020 */ slti $at, $t4, 0x20 -/* 01F850 7001EC50 1420FFF5 */ bnez $at, .L7001EC28 -/* 01F854 7001EC54 AFAC002C */ sw $t4, 0x2c($sp) -.L7001EC58: -/* 01F858 7001EC58 8FAD002C */ lw $t5, 0x2c($sp) -/* 01F85C 7001EC5C 24010020 */ li $at, 32 -/* 01F860 7001EC60 15A10026 */ bne $t5, $at, .L7001ECFC -/* 01F864 7001EC64 00000000 */ nop -/* 01F868 7001EC68 8FAB0028 */ lw $t3, 0x28($sp) -/* 01F86C 7001EC6C 1960001C */ blez $t3, .L7001ECE0 -/* 01F870 7001EC70 00000000 */ nop -/* 01F874 7001EC74 8FAE0078 */ lw $t6, 0x78($sp) -/* 01F878 7001EC78 A1C00065 */ sb $zero, 0x65($t6) -/* 01F87C 7001EC7C 0C007DAB */ jal __osPfsSelectBank -/* 01F880 7001EC80 8FA40078 */ lw $a0, 0x78($sp) -/* 01F884 7001EC84 AFA20074 */ sw $v0, 0x74($sp) -/* 01F888 7001EC88 8FAF0074 */ lw $t7, 0x74($sp) -/* 01F88C 7001EC8C 11E00003 */ beqz $t7, .L7001EC9C -/* 01F890 7001EC90 00000000 */ nop -/* 01F894 7001EC94 1000007D */ b .L7001EE8C -/* 01F898 7001EC98 01E01025 */ move $v0, $t7 -.L7001EC9C: -/* 01F89C 7001EC9C 8FB80078 */ lw $t8, 0x78($sp) -/* 01F8A0 7001ECA0 00003025 */ move $a2, $zero -/* 01F8A4 7001ECA4 27A70054 */ addiu $a3, $sp, 0x54 -/* 01F8A8 7001ECA8 8F040004 */ lw $a0, 4($t8) -/* 01F8AC 7001ECAC 0C00592C */ jal __osContRamRead -/* 01F8B0 7001ECB0 8F050008 */ lw $a1, 8($t8) -/* 01F8B4 7001ECB4 AFA20074 */ sw $v0, 0x74($sp) -/* 01F8B8 7001ECB8 8FB90074 */ lw $t9, 0x74($sp) -/* 01F8BC 7001ECBC 13200003 */ beqz $t9, .L7001ECCC -/* 01F8C0 7001ECC0 00000000 */ nop -/* 01F8C4 7001ECC4 10000071 */ b .L7001EE8C -/* 01F8C8 7001ECC8 03201025 */ move $v0, $t9 -.L7001ECCC: -/* 01F8CC 7001ECCC 27A90054 */ addiu $t1, $sp, 0x54 -/* 01F8D0 7001ECD0 912A0000 */ lbu $t2, ($t1) -/* 01F8D4 7001ECD4 24010080 */ li $at, 128 -/* 01F8D8 7001ECD8 15410008 */ bne $t2, $at, .L7001ECFC -/* 01F8DC 7001ECDC 00000000 */ nop -.L7001ECE0: -/* 01F8E0 7001ECE0 8FA80028 */ lw $t0, 0x28($sp) -/* 01F8E4 7001ECE4 250C0001 */ addiu $t4, $t0, 1 -/* 01F8E8 7001ECE8 AFAC0028 */ sw $t4, 0x28($sp) -/* 01F8EC 7001ECEC 8FAD0028 */ lw $t5, 0x28($sp) -/* 01F8F0 7001ECF0 29A1003E */ slti $at, $t5, 0x3e -/* 01F8F4 7001ECF4 1420FF8A */ bnez $at, .L7001EB20 -/* 01F8F8 7001ECF8 00000000 */ nop -.L7001ECFC: -/* 01F8FC 7001ECFC 8FAB0078 */ lw $t3, 0x78($sp) -/* 01F900 7001ED00 A1600065 */ sb $zero, 0x65($t3) -/* 01F904 7001ED04 0C007DAB */ jal __osPfsSelectBank -/* 01F908 7001ED08 8FA40078 */ lw $a0, 0x78($sp) -/* 01F90C 7001ED0C AFA20074 */ sw $v0, 0x74($sp) -/* 01F910 7001ED10 8FAE0074 */ lw $t6, 0x74($sp) -/* 01F914 7001ED14 11C00003 */ beqz $t6, .L7001ED24 -/* 01F918 7001ED18 00000000 */ nop -/* 01F91C 7001ED1C 1000005B */ b .L7001EE8C -/* 01F920 7001ED20 01C01025 */ move $v0, $t6 -.L7001ED24: -/* 01F924 7001ED24 8FAF0028 */ lw $t7, 0x28($sp) -/* 01F928 7001ED28 19E00004 */ blez $t7, .L7001ED3C -/* 01F92C 7001ED2C 00000000 */ nop -/* 01F930 7001ED30 24180001 */ li $t8, 1 -/* 01F934 7001ED34 10000002 */ b .L7001ED40 -/* 01F938 7001ED38 A3B80033 */ sb $t8, 0x33($sp) -.L7001ED3C: -/* 01F93C 7001ED3C A3A00033 */ sb $zero, 0x33($sp) -.L7001ED40: -/* 01F940 7001ED40 8FB9007C */ lw $t9, 0x7c($sp) -/* 01F944 7001ED44 93A80033 */ lbu $t0, 0x33($sp) -/* 01F948 7001ED48 8FAD0080 */ lw $t5, 0x80($sp) -/* 01F94C 7001ED4C 97290018 */ lhu $t1, 0x18($t9) -/* 01F950 7001ED50 312AFFFE */ andi $t2, $t1, 0xfffe -/* 01F954 7001ED54 01486025 */ or $t4, $t2, $t0 -/* 01F958 7001ED58 A5AC0018 */ sh $t4, 0x18($t5) -/* 01F95C 7001ED5C 8FAE0080 */ lw $t6, 0x80($sp) -/* 01F960 7001ED60 8FAB0028 */ lw $t3, 0x28($sp) -/* 01F964 7001ED64 A1CB001A */ sb $t3, 0x1a($t6) -/* 01F968 7001ED68 8FAF007C */ lw $t7, 0x7c($sp) -/* 01F96C 7001ED6C 8FB90080 */ lw $t9, 0x80($sp) -/* 01F970 7001ED70 91F8001B */ lbu $t8, 0x1b($t7) -/* 01F974 7001ED74 A338001B */ sb $t8, 0x1b($t9) -/* 01F978 7001ED78 8FA90080 */ lw $t1, 0x80($sp) -/* 01F97C 7001ED7C 01202025 */ move $a0, $t1 -/* 01F980 7001ED80 2525001C */ addiu $a1, $t1, 0x1c -/* 01F984 7001ED84 0C007A87 */ jal __osIdCheckSum -/* 01F988 7001ED88 2526001E */ addiu $a2, $t1, 0x1e -/* 01F98C 7001ED8C 240A0001 */ li $t2, 1 -/* 01F990 7001ED90 27A80020 */ addiu $t0, $sp, 0x20 -/* 01F994 7001ED94 A50A0000 */ sh $t2, ($t0) -/* 01F998 7001ED98 240C0003 */ li $t4, 3 -/* 01F99C 7001ED9C 27AD0020 */ addiu $t5, $sp, 0x20 -/* 01F9A0 7001EDA0 A5AC0002 */ sh $t4, 2($t5) -/* 01F9A4 7001EDA4 240B0004 */ li $t3, 4 -/* 01F9A8 7001EDA8 27AE0020 */ addiu $t6, $sp, 0x20 -/* 01F9AC 7001EDAC A5CB0004 */ sh $t3, 4($t6) -/* 01F9B0 7001EDB0 240F0006 */ li $t7, 6 -/* 01F9B4 7001EDB4 27B80020 */ addiu $t8, $sp, 0x20 -/* 01F9B8 7001EDB8 A70F0006 */ sh $t7, 6($t8) -/* 01F9BC 7001EDBC AFA0002C */ sw $zero, 0x2c($sp) -.L7001EDC0: -/* 01F9C0 7001EDC0 8FA9002C */ lw $t1, 0x2c($sp) -/* 01F9C4 7001EDC4 8FB90078 */ lw $t9, 0x78($sp) -/* 01F9C8 7001EDC8 24080001 */ li $t0, 1 -/* 01F9CC 7001EDCC 00095040 */ sll $t2, $t1, 1 -/* 01F9D0 7001EDD0 03AA3021 */ addu $a2, $sp, $t2 -/* 01F9D4 7001EDD4 94C60020 */ lhu $a2, 0x20($a2) -/* 01F9D8 7001EDD8 8F240004 */ lw $a0, 4($t9) -/* 01F9DC 7001EDDC 8F250008 */ lw $a1, 8($t9) -/* 01F9E0 7001EDE0 AFA80010 */ sw $t0, 0x10($sp) -/* 01F9E4 7001EDE4 0C005840 */ jal __osContRamWrite -/* 01F9E8 7001EDE8 8FA70080 */ lw $a3, 0x80($sp) -/* 01F9EC 7001EDEC AFA20074 */ sw $v0, 0x74($sp) -/* 01F9F0 7001EDF0 8FAC0074 */ lw $t4, 0x74($sp) -/* 01F9F4 7001EDF4 11800003 */ beqz $t4, .L7001EE04 -/* 01F9F8 7001EDF8 00000000 */ nop -/* 01F9FC 7001EDFC 10000023 */ b .L7001EE8C -/* 01FA00 7001EE00 01801025 */ move $v0, $t4 -.L7001EE04: -/* 01FA04 7001EE04 8FAD002C */ lw $t5, 0x2c($sp) -/* 01FA08 7001EE08 25AB0001 */ addiu $t3, $t5, 1 -/* 01FA0C 7001EE0C 29610004 */ slti $at, $t3, 4 -/* 01FA10 7001EE10 1420FFEB */ bnez $at, .L7001EDC0 -/* 01FA14 7001EE14 AFAB002C */ sw $t3, 0x2c($sp) -/* 01FA18 7001EE18 8FAE0078 */ lw $t6, 0x78($sp) -/* 01FA1C 7001EE1C 24060001 */ li $a2, 1 -/* 01FA20 7001EE20 27A70054 */ addiu $a3, $sp, 0x54 -/* 01FA24 7001EE24 8DC40004 */ lw $a0, 4($t6) -/* 01FA28 7001EE28 0C00592C */ jal __osContRamRead -/* 01FA2C 7001EE2C 8DC50008 */ lw $a1, 8($t6) -/* 01FA30 7001EE30 AFA20074 */ sw $v0, 0x74($sp) -/* 01FA34 7001EE34 8FAF0074 */ lw $t7, 0x74($sp) -/* 01FA38 7001EE38 11E00003 */ beqz $t7, .L7001EE48 -/* 01FA3C 7001EE3C 00000000 */ nop -/* 01FA40 7001EE40 10000012 */ b .L7001EE8C -/* 01FA44 7001EE44 01E01025 */ move $v0, $t7 -.L7001EE48: -/* 01FA48 7001EE48 AFA0002C */ sw $zero, 0x2c($sp) -.L7001EE4C: -/* 01FA4C 7001EE4C 8FB9002C */ lw $t9, 0x2c($sp) -/* 01FA50 7001EE50 8FB80080 */ lw $t8, 0x80($sp) -/* 01FA54 7001EE54 03B94021 */ addu $t0, $sp, $t9 -/* 01FA58 7001EE58 03194821 */ addu $t1, $t8, $t9 -/* 01FA5C 7001EE5C 912A0000 */ lbu $t2, ($t1) -/* 01FA60 7001EE60 91080054 */ lbu $t0, 0x54($t0) -/* 01FA64 7001EE64 11480003 */ beq $t2, $t0, .L7001EE74 -/* 01FA68 7001EE68 00000000 */ nop -/* 01FA6C 7001EE6C 10000007 */ b .L7001EE8C -/* 01FA70 7001EE70 2402000A */ li $v0, 10 -.L7001EE74: -/* 01FA74 7001EE74 8FAC002C */ lw $t4, 0x2c($sp) -/* 01FA78 7001EE78 258D0001 */ addiu $t5, $t4, 1 -/* 01FA7C 7001EE7C 29A10020 */ slti $at, $t5, 0x20 -/* 01FA80 7001EE80 1420FFF2 */ bnez $at, .L7001EE4C -/* 01FA84 7001EE84 AFAD002C */ sw $t5, 0x2c($sp) -/* 01FA88 7001EE88 00001025 */ move $v0, $zero -.L7001EE8C: -/* 01FA8C 7001EE8C 8FBF001C */ lw $ra, 0x1c($sp) -/* 01FA90 7001EE90 27BD0078 */ addiu $sp, $sp, 0x78 -/* 01FA94 7001EE94 03E00008 */ jr $ra -/* 01FA98 7001EE98 00000000 */ nop - -glabel __osCheckPackId -/* 01FA9C 7001EE9C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01FAA0 7001EEA0 AFA40038 */ sw $a0, 0x38($sp) -/* 01FAA4 7001EEA4 8FAE0038 */ lw $t6, 0x38($sp) -/* 01FAA8 7001EEA8 AFBF001C */ sw $ra, 0x1c($sp) -/* 01FAAC 7001EEAC AFA5003C */ sw $a1, 0x3c($sp) -/* 01FAB0 7001EEB0 AFA0002C */ sw $zero, 0x2c($sp) -/* 01FAB4 7001EEB4 91CF0065 */ lbu $t7, 0x65($t6) -/* 01FAB8 7001EEB8 11E0000A */ beqz $t7, .L7001EEE4 -/* 01FABC 7001EEBC 00000000 */ nop -/* 01FAC0 7001EEC0 A1C00065 */ sb $zero, 0x65($t6) -/* 01FAC4 7001EEC4 0C007DAB */ jal __osPfsSelectBank -/* 01FAC8 7001EEC8 8FA40038 */ lw $a0, 0x38($sp) -/* 01FACC 7001EECC AFA2002C */ sw $v0, 0x2c($sp) -/* 01FAD0 7001EED0 8FB8002C */ lw $t8, 0x2c($sp) -/* 01FAD4 7001EED4 13000003 */ beqz $t8, .L7001EEE4 -/* 01FAD8 7001EED8 00000000 */ nop -/* 01FADC 7001EEDC 10000051 */ b .L7001F024 -/* 01FAE0 7001EEE0 03001025 */ move $v0, $t8 -.L7001EEE4: -/* 01FAE4 7001EEE4 24190001 */ li $t9, 1 -/* 01FAE8 7001EEE8 27A80030 */ addiu $t0, $sp, 0x30 -/* 01FAEC 7001EEEC A5190000 */ sh $t9, ($t0) -/* 01FAF0 7001EEF0 24090003 */ li $t1, 3 -/* 01FAF4 7001EEF4 27AA0030 */ addiu $t2, $sp, 0x30 -/* 01FAF8 7001EEF8 A5490002 */ sh $t1, 2($t2) -/* 01FAFC 7001EEFC 240B0004 */ li $t3, 4 -/* 01FB00 7001EF00 27AC0030 */ addiu $t4, $sp, 0x30 -/* 01FB04 7001EF04 A58B0004 */ sh $t3, 4($t4) -/* 01FB08 7001EF08 240D0006 */ li $t5, 6 -/* 01FB0C 7001EF0C 27AF0030 */ addiu $t7, $sp, 0x30 -/* 01FB10 7001EF10 A5ED0006 */ sh $t5, 6($t7) -/* 01FB14 7001EF14 240E0001 */ li $t6, 1 -/* 01FB18 7001EF18 AFAE0024 */ sw $t6, 0x24($sp) -.L7001EF1C: -/* 01FB1C 7001EF1C 8FB90024 */ lw $t9, 0x24($sp) -/* 01FB20 7001EF20 8FB80038 */ lw $t8, 0x38($sp) -/* 01FB24 7001EF24 8FA7003C */ lw $a3, 0x3c($sp) -/* 01FB28 7001EF28 00194040 */ sll $t0, $t9, 1 -/* 01FB2C 7001EF2C 03A83021 */ addu $a2, $sp, $t0 -/* 01FB30 7001EF30 94C60030 */ lhu $a2, 0x30($a2) -/* 01FB34 7001EF34 8F040004 */ lw $a0, 4($t8) -/* 01FB38 7001EF38 0C00592C */ jal __osContRamRead -/* 01FB3C 7001EF3C 8F050008 */ lw $a1, 8($t8) -/* 01FB40 7001EF40 AFA2002C */ sw $v0, 0x2c($sp) -/* 01FB44 7001EF44 8FA9002C */ lw $t1, 0x2c($sp) -/* 01FB48 7001EF48 11200003 */ beqz $t1, .L7001EF58 -/* 01FB4C 7001EF4C 00000000 */ nop -/* 01FB50 7001EF50 10000034 */ b .L7001F024 -/* 01FB54 7001EF54 01201025 */ move $v0, $t1 -.L7001EF58: -/* 01FB58 7001EF58 8FA4003C */ lw $a0, 0x3c($sp) -/* 01FB5C 7001EF5C 27A5002A */ addiu $a1, $sp, 0x2a -/* 01FB60 7001EF60 0C007A87 */ jal __osIdCheckSum -/* 01FB64 7001EF64 27A60028 */ addiu $a2, $sp, 0x28 -/* 01FB68 7001EF68 8FAA003C */ lw $t2, 0x3c($sp) -/* 01FB6C 7001EF6C 97AC002A */ lhu $t4, 0x2a($sp) -/* 01FB70 7001EF70 954B001C */ lhu $t3, 0x1c($t2) -/* 01FB74 7001EF74 156C0005 */ bne $t3, $t4, .L7001EF8C -/* 01FB78 7001EF78 00000000 */ nop -/* 01FB7C 7001EF7C 954D001E */ lhu $t5, 0x1e($t2) -/* 01FB80 7001EF80 97AF0028 */ lhu $t7, 0x28($sp) -/* 01FB84 7001EF84 11AF0006 */ beq $t5, $t7, .L7001EFA0 -/* 01FB88 7001EF88 00000000 */ nop -.L7001EF8C: -/* 01FB8C 7001EF8C 8FAE0024 */ lw $t6, 0x24($sp) -/* 01FB90 7001EF90 25D80001 */ addiu $t8, $t6, 1 -/* 01FB94 7001EF94 2B010004 */ slti $at, $t8, 4 -/* 01FB98 7001EF98 1420FFE0 */ bnez $at, .L7001EF1C -/* 01FB9C 7001EF9C AFB80024 */ sw $t8, 0x24($sp) -.L7001EFA0: -/* 01FBA0 7001EFA0 8FB90024 */ lw $t9, 0x24($sp) -/* 01FBA4 7001EFA4 24010004 */ li $at, 4 -/* 01FBA8 7001EFA8 17210003 */ bne $t9, $at, .L7001EFB8 -/* 01FBAC 7001EFAC 00000000 */ nop -/* 01FBB0 7001EFB0 1000001C */ b .L7001F024 -/* 01FBB4 7001EFB4 2402000A */ li $v0, 10 -.L7001EFB8: -/* 01FBB8 7001EFB8 AFA00020 */ sw $zero, 0x20($sp) -.L7001EFBC: -/* 01FBBC 7001EFBC 8FA80020 */ lw $t0, 0x20($sp) -/* 01FBC0 7001EFC0 8FA90024 */ lw $t1, 0x24($sp) -/* 01FBC4 7001EFC4 11090011 */ beq $t0, $t1, .L7001F00C -/* 01FBC8 7001EFC8 00000000 */ nop -/* 01FBCC 7001EFCC 8FAB0038 */ lw $t3, 0x38($sp) -/* 01FBD0 7001EFD0 00086040 */ sll $t4, $t0, 1 -/* 01FBD4 7001EFD4 03AC3021 */ addu $a2, $sp, $t4 -/* 01FBD8 7001EFD8 94C60030 */ lhu $a2, 0x30($a2) -/* 01FBDC 7001EFDC 240A0001 */ li $t2, 1 -/* 01FBE0 7001EFE0 8D640004 */ lw $a0, 4($t3) -/* 01FBE4 7001EFE4 8D650008 */ lw $a1, 8($t3) -/* 01FBE8 7001EFE8 AFAA0010 */ sw $t2, 0x10($sp) -/* 01FBEC 7001EFEC 0C005840 */ jal __osContRamWrite -/* 01FBF0 7001EFF0 8FA7003C */ lw $a3, 0x3c($sp) -/* 01FBF4 7001EFF4 AFA2002C */ sw $v0, 0x2c($sp) -/* 01FBF8 7001EFF8 8FAD002C */ lw $t5, 0x2c($sp) -/* 01FBFC 7001EFFC 11A00003 */ beqz $t5, .L7001F00C -/* 01FC00 7001F000 00000000 */ nop -/* 01FC04 7001F004 10000007 */ b .L7001F024 -/* 01FC08 7001F008 01A01025 */ move $v0, $t5 -.L7001F00C: -/* 01FC0C 7001F00C 8FAF0020 */ lw $t7, 0x20($sp) -/* 01FC10 7001F010 25EE0001 */ addiu $t6, $t7, 1 -/* 01FC14 7001F014 29C10004 */ slti $at, $t6, 4 -/* 01FC18 7001F018 1420FFE8 */ bnez $at, .L7001EFBC -/* 01FC1C 7001F01C AFAE0020 */ sw $t6, 0x20($sp) -/* 01FC20 7001F020 00001025 */ move $v0, $zero -.L7001F024: -/* 01FC24 7001F024 8FBF001C */ lw $ra, 0x1c($sp) -/* 01FC28 7001F028 27BD0038 */ addiu $sp, $sp, 0x38 -/* 01FC2C 7001F02C 03E00008 */ jr $ra -/* 01FC30 7001F030 00000000 */ nop - -glabel __osGetId -/* 01FC34 7001F034 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 01FC38 7001F038 AFA40068 */ sw $a0, 0x68($sp) -/* 01FC3C 7001F03C 8FAE0068 */ lw $t6, 0x68($sp) -/* 01FC40 7001F040 AFBF0014 */ sw $ra, 0x14($sp) -/* 01FC44 7001F044 91CF0065 */ lbu $t7, 0x65($t6) -/* 01FC48 7001F048 11E0000A */ beqz $t7, .L7001F074 -/* 01FC4C 7001F04C 00000000 */ nop -/* 01FC50 7001F050 A1C00065 */ sb $zero, 0x65($t6) -/* 01FC54 7001F054 0C007DAB */ jal __osPfsSelectBank -/* 01FC58 7001F058 8FA40068 */ lw $a0, 0x68($sp) -/* 01FC5C 7001F05C AFA2001C */ sw $v0, 0x1c($sp) -/* 01FC60 7001F060 8FB8001C */ lw $t8, 0x1c($sp) -/* 01FC64 7001F064 13000003 */ beqz $t8, .L7001F074 -/* 01FC68 7001F068 00000000 */ nop -/* 01FC6C 7001F06C 10000084 */ b .L7001F280 -/* 01FC70 7001F070 03001025 */ move $v0, $t8 -.L7001F074: -/* 01FC74 7001F074 8FB90068 */ lw $t9, 0x68($sp) -/* 01FC78 7001F078 24060001 */ li $a2, 1 -/* 01FC7C 7001F07C 27A70040 */ addiu $a3, $sp, 0x40 -/* 01FC80 7001F080 8F240004 */ lw $a0, 4($t9) -/* 01FC84 7001F084 0C00592C */ jal __osContRamRead -/* 01FC88 7001F088 8F250008 */ lw $a1, 8($t9) -/* 01FC8C 7001F08C AFA2001C */ sw $v0, 0x1c($sp) -/* 01FC90 7001F090 8FA8001C */ lw $t0, 0x1c($sp) -/* 01FC94 7001F094 11000003 */ beqz $t0, .L7001F0A4 -/* 01FC98 7001F098 00000000 */ nop -/* 01FC9C 7001F09C 10000078 */ b .L7001F280 -/* 01FCA0 7001F0A0 01001025 */ move $v0, $t0 -.L7001F0A4: -/* 01FCA4 7001F0A4 27A40040 */ addiu $a0, $sp, 0x40 -/* 01FCA8 7001F0A8 27A50062 */ addiu $a1, $sp, 0x62 -/* 01FCAC 7001F0AC 0C007A87 */ jal __osIdCheckSum -/* 01FCB0 7001F0B0 27A60060 */ addiu $a2, $sp, 0x60 -/* 01FCB4 7001F0B4 27A90040 */ addiu $t1, $sp, 0x40 -/* 01FCB8 7001F0B8 AFA90018 */ sw $t1, 0x18($sp) -/* 01FCBC 7001F0BC 952A001C */ lhu $t2, 0x1c($t1) -/* 01FCC0 7001F0C0 97AB0062 */ lhu $t3, 0x62($sp) -/* 01FCC4 7001F0C4 154B0005 */ bne $t2, $t3, .L7001F0DC -/* 01FCC8 7001F0C8 00000000 */ nop -/* 01FCCC 7001F0CC 952C001E */ lhu $t4, 0x1e($t1) -/* 01FCD0 7001F0D0 97AD0060 */ lhu $t5, 0x60($sp) -/* 01FCD4 7001F0D4 118D001B */ beq $t4, $t5, .L7001F144 -/* 01FCD8 7001F0D8 00000000 */ nop -.L7001F0DC: -/* 01FCDC 7001F0DC 8FA40068 */ lw $a0, 0x68($sp) -/* 01FCE0 7001F0E0 0C007BA7 */ jal __osCheckPackId -/* 01FCE4 7001F0E4 8FA50018 */ lw $a1, 0x18($sp) -/* 01FCE8 7001F0E8 AFA2001C */ sw $v0, 0x1c($sp) -/* 01FCEC 7001F0EC 8FAF001C */ lw $t7, 0x1c($sp) -/* 01FCF0 7001F0F0 2401000A */ li $at, 10 -/* 01FCF4 7001F0F4 15E1000E */ bne $t7, $at, .L7001F130 -/* 01FCF8 7001F0F8 00000000 */ nop -/* 01FCFC 7001F0FC 8FA40068 */ lw $a0, 0x68($sp) -/* 01FD00 7001F100 8FA50018 */ lw $a1, 0x18($sp) -/* 01FD04 7001F104 0C007AA1 */ jal __osRepairPackId -/* 01FD08 7001F108 27A60020 */ addiu $a2, $sp, 0x20 -/* 01FD0C 7001F10C AFA2001C */ sw $v0, 0x1c($sp) -/* 01FD10 7001F110 8FAE001C */ lw $t6, 0x1c($sp) -/* 01FD14 7001F114 11C00003 */ beqz $t6, .L7001F124 -/* 01FD18 7001F118 00000000 */ nop -/* 01FD1C 7001F11C 10000058 */ b .L7001F280 -/* 01FD20 7001F120 01C01025 */ move $v0, $t6 -.L7001F124: -/* 01FD24 7001F124 27B80020 */ addiu $t8, $sp, 0x20 -/* 01FD28 7001F128 10000006 */ b .L7001F144 -/* 01FD2C 7001F12C AFB80018 */ sw $t8, 0x18($sp) -.L7001F130: -/* 01FD30 7001F130 8FB9001C */ lw $t9, 0x1c($sp) -/* 01FD34 7001F134 13200003 */ beqz $t9, .L7001F144 -/* 01FD38 7001F138 00000000 */ nop -/* 01FD3C 7001F13C 10000050 */ b .L7001F280 -/* 01FD40 7001F140 03201025 */ move $v0, $t9 -.L7001F144: -/* 01FD44 7001F144 8FA80018 */ lw $t0, 0x18($sp) -/* 01FD48 7001F148 950A0018 */ lhu $t2, 0x18($t0) -/* 01FD4C 7001F14C 314B0001 */ andi $t3, $t2, 1 -/* 01FD50 7001F150 15600013 */ bnez $t3, .L7001F1A0 -/* 01FD54 7001F154 00000000 */ nop -/* 01FD58 7001F158 8FA40068 */ lw $a0, 0x68($sp) -/* 01FD5C 7001F15C 01002825 */ move $a1, $t0 -/* 01FD60 7001F160 0C007AA1 */ jal __osRepairPackId -/* 01FD64 7001F164 27A60020 */ addiu $a2, $sp, 0x20 -/* 01FD68 7001F168 AFA2001C */ sw $v0, 0x1c($sp) -/* 01FD6C 7001F16C 8FA9001C */ lw $t1, 0x1c($sp) -/* 01FD70 7001F170 11200003 */ beqz $t1, .L7001F180 -/* 01FD74 7001F174 00000000 */ nop -/* 01FD78 7001F178 10000041 */ b .L7001F280 -/* 01FD7C 7001F17C 01201025 */ move $v0, $t1 -.L7001F180: -/* 01FD80 7001F180 27AC0020 */ addiu $t4, $sp, 0x20 -/* 01FD84 7001F184 AFAC0018 */ sw $t4, 0x18($sp) -/* 01FD88 7001F188 958D0018 */ lhu $t5, 0x18($t4) -/* 01FD8C 7001F18C 31AF0001 */ andi $t7, $t5, 1 -/* 01FD90 7001F190 15E00003 */ bnez $t7, .L7001F1A0 -/* 01FD94 7001F194 00000000 */ nop -/* 01FD98 7001F198 10000039 */ b .L7001F280 -/* 01FD9C 7001F19C 2402000B */ li $v0, 11 -.L7001F1A0: -/* 01FDA0 7001F1A0 AFA00064 */ sw $zero, 0x64($sp) -.L7001F1A4: -/* 01FDA4 7001F1A4 8FAE0018 */ lw $t6, 0x18($sp) -/* 01FDA8 7001F1A8 8FB80064 */ lw $t8, 0x64($sp) -/* 01FDAC 7001F1AC 8FAB0068 */ lw $t3, 0x68($sp) -/* 01FDB0 7001F1B0 01D8C821 */ addu $t9, $t6, $t8 -/* 01FDB4 7001F1B4 932A0000 */ lbu $t2, ($t9) -/* 01FDB8 7001F1B8 01784021 */ addu $t0, $t3, $t8 -/* 01FDBC 7001F1BC A10A000C */ sb $t2, 0xc($t0) -/* 01FDC0 7001F1C0 8FA90064 */ lw $t1, 0x64($sp) -/* 01FDC4 7001F1C4 252C0001 */ addiu $t4, $t1, 1 -/* 01FDC8 7001F1C8 29810020 */ slti $at, $t4, 0x20 -/* 01FDCC 7001F1CC 1420FFF5 */ bnez $at, .L7001F1A4 -/* 01FDD0 7001F1D0 AFAC0064 */ sw $t4, 0x64($sp) -/* 01FDD4 7001F1D4 8FAD0018 */ lw $t5, 0x18($sp) -/* 01FDD8 7001F1D8 8FAE0068 */ lw $t6, 0x68($sp) -/* 01FDDC 7001F1DC 24060007 */ li $a2, 7 -/* 01FDE0 7001F1E0 91AF001B */ lbu $t7, 0x1b($t5) -/* 01FDE4 7001F1E4 240D0010 */ li $t5, 16 -/* 01FDE8 7001F1E8 ADCF004C */ sw $t7, 0x4c($t6) -/* 01FDEC 7001F1EC 8FB90018 */ lw $t9, 0x18($sp) -/* 01FDF0 7001F1F0 8FB80068 */ lw $t8, 0x68($sp) -/* 01FDF4 7001F1F4 240E0008 */ li $t6, 8 -/* 01FDF8 7001F1F8 932B001A */ lbu $t3, 0x1a($t9) -/* 01FDFC 7001F1FC A30B0064 */ sb $t3, 0x64($t8) -/* 01FE00 7001F200 8FAA0068 */ lw $t2, 0x68($sp) -/* 01FE04 7001F204 91480064 */ lbu $t0, 0x64($t2) -/* 01FE08 7001F208 00084840 */ sll $t1, $t0, 1 -/* 01FE0C 7001F20C 252C0003 */ addiu $t4, $t1, 3 -/* 01FE10 7001F210 AD4C0060 */ sw $t4, 0x60($t2) -/* 01FE14 7001F214 8FAF0068 */ lw $t7, 0x68($sp) -/* 01FE18 7001F218 ADED0050 */ sw $t5, 0x50($t7) -/* 01FE1C 7001F21C 8FB90068 */ lw $t9, 0x68($sp) -/* 01FE20 7001F220 AF2E0054 */ sw $t6, 0x54($t9) -/* 01FE24 7001F224 8FAB0068 */ lw $t3, 0x68($sp) -/* 01FE28 7001F228 91780064 */ lbu $t8, 0x64($t3) -/* 01FE2C 7001F22C 001840C0 */ sll $t0, $t8, 3 -/* 01FE30 7001F230 25090008 */ addiu $t1, $t0, 8 -/* 01FE34 7001F234 AD690058 */ sw $t1, 0x58($t3) -/* 01FE38 7001F238 8FAC0068 */ lw $t4, 0x68($sp) -/* 01FE3C 7001F23C 918D0064 */ lbu $t5, 0x64($t4) -/* 01FE40 7001F240 8D8A0058 */ lw $t2, 0x58($t4) -/* 01FE44 7001F244 000D78C0 */ sll $t7, $t5, 3 -/* 01FE48 7001F248 014F7021 */ addu $t6, $t2, $t7 -/* 01FE4C 7001F24C AD8E005C */ sw $t6, 0x5c($t4) -/* 01FE50 7001F250 8FB90068 */ lw $t9, 0x68($sp) -/* 01FE54 7001F254 8F240004 */ lw $a0, 4($t9) -/* 01FE58 7001F258 8F250008 */ lw $a1, 8($t9) -/* 01FE5C 7001F25C 0C00592C */ jal __osContRamRead -/* 01FE60 7001F260 2727002C */ addiu $a3, $t9, 0x2c -/* 01FE64 7001F264 AFA2001C */ sw $v0, 0x1c($sp) -/* 01FE68 7001F268 8FB8001C */ lw $t8, 0x1c($sp) -/* 01FE6C 7001F26C 13000003 */ beqz $t8, .L7001F27C -/* 01FE70 7001F270 00000000 */ nop -/* 01FE74 7001F274 10000002 */ b .L7001F280 -/* 01FE78 7001F278 03001025 */ move $v0, $t8 -.L7001F27C: -/* 01FE7C 7001F27C 00001025 */ move $v0, $zero -.L7001F280: -/* 01FE80 7001F280 8FBF0014 */ lw $ra, 0x14($sp) -/* 01FE84 7001F284 27BD0068 */ addiu $sp, $sp, 0x68 -/* 01FE88 7001F288 03E00008 */ jr $ra -/* 01FE8C 7001F28C 00000000 */ nop - -glabel __osCheckId -/* 01FE90 7001F290 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01FE94 7001F294 AFA40040 */ sw $a0, 0x40($sp) -/* 01FE98 7001F298 8FAE0040 */ lw $t6, 0x40($sp) -/* 01FE9C 7001F29C AFBF0014 */ sw $ra, 0x14($sp) -/* 01FEA0 7001F2A0 91CF0065 */ lbu $t7, 0x65($t6) -/* 01FEA4 7001F2A4 11E0000A */ beqz $t7, .L7001F2D0 -/* 01FEA8 7001F2A8 00000000 */ nop -/* 01FEAC 7001F2AC A1C00065 */ sb $zero, 0x65($t6) -/* 01FEB0 7001F2B0 0C007DAB */ jal __osPfsSelectBank -/* 01FEB4 7001F2B4 8FA40040 */ lw $a0, 0x40($sp) -/* 01FEB8 7001F2B8 AFA20018 */ sw $v0, 0x18($sp) -/* 01FEBC 7001F2BC 8FB80018 */ lw $t8, 0x18($sp) -/* 01FEC0 7001F2C0 13000003 */ beqz $t8, .L7001F2D0 -/* 01FEC4 7001F2C4 00000000 */ nop -/* 01FEC8 7001F2C8 1000002C */ b .L7001F37C -/* 01FECC 7001F2CC 03001025 */ move $v0, $t8 -.L7001F2D0: -/* 01FED0 7001F2D0 8FB90040 */ lw $t9, 0x40($sp) -/* 01FED4 7001F2D4 24060001 */ li $a2, 1 -/* 01FED8 7001F2D8 27A7001C */ addiu $a3, $sp, 0x1c -/* 01FEDC 7001F2DC 8F240004 */ lw $a0, 4($t9) -/* 01FEE0 7001F2E0 0C00592C */ jal __osContRamRead -/* 01FEE4 7001F2E4 8F250008 */ lw $a1, 8($t9) -/* 01FEE8 7001F2E8 AFA20018 */ sw $v0, 0x18($sp) -/* 01FEEC 7001F2EC 8FA80018 */ lw $t0, 0x18($sp) -/* 01FEF0 7001F2F0 11000011 */ beqz $t0, .L7001F338 -/* 01FEF4 7001F2F4 24010002 */ li $at, 2 -/* 01FEF8 7001F2F8 11010003 */ beq $t0, $at, .L7001F308 -/* 01FEFC 7001F2FC 00000000 */ nop -/* 01FF00 7001F300 1000001E */ b .L7001F37C -/* 01FF04 7001F304 01001025 */ move $v0, $t0 -.L7001F308: -/* 01FF08 7001F308 8FA90040 */ lw $t1, 0x40($sp) -/* 01FF0C 7001F30C 24060001 */ li $a2, 1 -/* 01FF10 7001F310 27A7001C */ addiu $a3, $sp, 0x1c -/* 01FF14 7001F314 8D240004 */ lw $a0, 4($t1) -/* 01FF18 7001F318 0C00592C */ jal __osContRamRead -/* 01FF1C 7001F31C 8D250008 */ lw $a1, 8($t1) -/* 01FF20 7001F320 AFA20018 */ sw $v0, 0x18($sp) -/* 01FF24 7001F324 8FAA0018 */ lw $t2, 0x18($sp) -/* 01FF28 7001F328 11400003 */ beqz $t2, .L7001F338 -/* 01FF2C 7001F32C 00000000 */ nop -/* 01FF30 7001F330 10000012 */ b .L7001F37C -/* 01FF34 7001F334 01401025 */ move $v0, $t2 -.L7001F338: -/* 01FF38 7001F338 AFA0003C */ sw $zero, 0x3c($sp) -.L7001F33C: -/* 01FF3C 7001F33C 8FAB003C */ lw $t3, 0x3c($sp) -/* 01FF40 7001F340 8FAD0040 */ lw $t5, 0x40($sp) -/* 01FF44 7001F344 03AB6021 */ addu $t4, $sp, $t3 -/* 01FF48 7001F348 01AB7821 */ addu $t7, $t5, $t3 -/* 01FF4C 7001F34C 91EE000C */ lbu $t6, 0xc($t7) -/* 01FF50 7001F350 918C001C */ lbu $t4, 0x1c($t4) -/* 01FF54 7001F354 118E0003 */ beq $t4, $t6, .L7001F364 -/* 01FF58 7001F358 00000000 */ nop -/* 01FF5C 7001F35C 10000007 */ b .L7001F37C -/* 01FF60 7001F360 24020002 */ li $v0, 2 -.L7001F364: -/* 01FF64 7001F364 8FB8003C */ lw $t8, 0x3c($sp) -/* 01FF68 7001F368 27190001 */ addiu $t9, $t8, 1 -/* 01FF6C 7001F36C 2B210020 */ slti $at, $t9, 0x20 -/* 01FF70 7001F370 1420FFF2 */ bnez $at, .L7001F33C -/* 01FF74 7001F374 AFB9003C */ sw $t9, 0x3c($sp) -/* 01FF78 7001F378 00001025 */ move $v0, $zero -.L7001F37C: -/* 01FF7C 7001F37C 8FBF0014 */ lw $ra, 0x14($sp) -/* 01FF80 7001F380 27BD0040 */ addiu $sp, $sp, 0x40 -/* 01FF84 7001F384 03E00008 */ jr $ra -/* 01FF88 7001F388 00000000 */ nop - -glabel __osPfsRWInode -/* 01FF8C 7001F38C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01FF90 7001F390 AFA40038 */ sw $a0, 0x38($sp) -/* 01FF94 7001F394 8FAE0038 */ lw $t6, 0x38($sp) -/* 01FF98 7001F398 AFBF001C */ sw $ra, 0x1c($sp) -/* 01FF9C 7001F39C AFA5003C */ sw $a1, 0x3c($sp) -/* 01FFA0 7001F3A0 AFA60040 */ sw $a2, 0x40($sp) -/* 01FFA4 7001F3A4 AFA70044 */ sw $a3, 0x44($sp) -/* 01FFA8 7001F3A8 91CF0065 */ lbu $t7, 0x65($t6) -/* 01FFAC 7001F3AC 11E0000A */ beqz $t7, .L7001F3D8 -/* 01FFB0 7001F3B0 00000000 */ nop -/* 01FFB4 7001F3B4 A1C00065 */ sb $zero, 0x65($t6) -/* 01FFB8 7001F3B8 0C007DAB */ jal __osPfsSelectBank -/* 01FFBC 7001F3BC 8FA40038 */ lw $a0, 0x38($sp) -/* 01FFC0 7001F3C0 AFA2002C */ sw $v0, 0x2c($sp) -/* 01FFC4 7001F3C4 8FB8002C */ lw $t8, 0x2c($sp) -/* 01FFC8 7001F3C8 13000003 */ beqz $t8, .L7001F3D8 -/* 01FFCC 7001F3CC 00000000 */ nop -/* 01FFD0 7001F3D0 100000B2 */ b .L7001F69C -/* 01FFD4 7001F3D4 03001025 */ move $v0, $t8 -.L7001F3D8: -/* 01FFD8 7001F3D8 93B90047 */ lbu $t9, 0x47($sp) -/* 01FFDC 7001F3DC 1B200004 */ blez $t9, .L7001F3F0 -/* 01FFE0 7001F3E0 00000000 */ nop -/* 01FFE4 7001F3E4 24080001 */ li $t0, 1 -/* 01FFE8 7001F3E8 10000004 */ b .L7001F3FC -/* 01FFEC 7001F3EC AFA80028 */ sw $t0, 0x28($sp) -.L7001F3F0: -/* 01FFF0 7001F3F0 8FA90038 */ lw $t1, 0x38($sp) -/* 01FFF4 7001F3F4 8D2A0060 */ lw $t2, 0x60($t1) -/* 01FFF8 7001F3F8 AFAA0028 */ sw $t2, 0x28($sp) -.L7001F3FC: -/* 01FFFC 7001F3FC 93AB0043 */ lbu $t3, 0x43($sp) -/* 020000 7001F400 24010001 */ li $at, 1 -/* 020004 7001F404 1561000C */ bne $t3, $at, .L7001F438 -/* 020008 7001F408 00000000 */ nop -/* 02000C 7001F40C 8FAD0028 */ lw $t5, 0x28($sp) -/* 020010 7001F410 8FAC003C */ lw $t4, 0x3c($sp) -/* 020014 7001F414 000D2823 */ negu $a1, $t5 -/* 020018 7001F418 00057040 */ sll $t6, $a1, 1 -/* 02001C 7001F41C 01C02825 */ move $a1, $t6 -/* 020020 7001F420 000D7840 */ sll $t7, $t5, 1 -/* 020024 7001F424 24A50100 */ addiu $a1, $a1, 0x100 -/* 020028 7001F428 0C007A70 */ jal __osSumcalc -/* 02002C 7001F42C 018F2021 */ addu $a0, $t4, $t7 -/* 020030 7001F430 8FB8003C */ lw $t8, 0x3c($sp) -/* 020034 7001F434 A3020001 */ sb $v0, 1($t8) -.L7001F438: -/* 020038 7001F438 AFA00030 */ sw $zero, 0x30($sp) -.L7001F43C: -/* 02003C 7001F43C 8FA80030 */ lw $t0, 0x30($sp) -/* 020040 7001F440 8FB9003C */ lw $t9, 0x3c($sp) -/* 020044 7001F444 93AB0043 */ lbu $t3, 0x43($sp) -/* 020048 7001F448 00084940 */ sll $t1, $t0, 5 -/* 02004C 7001F44C 24010001 */ li $at, 1 -/* 020050 7001F450 03295021 */ addu $t2, $t9, $t1 -/* 020054 7001F454 1561001B */ bne $t3, $at, .L7001F4C4 -/* 020058 7001F458 AFAA0024 */ sw $t2, 0x24($sp) -/* 02005C 7001F45C 8FAC0038 */ lw $t4, 0x38($sp) -/* 020060 7001F460 93AD0047 */ lbu $t5, 0x47($sp) -/* 020064 7001F464 01403825 */ move $a3, $t2 -/* 020068 7001F468 8D8F0054 */ lw $t7, 0x54($t4) -/* 02006C 7001F46C 000D70C0 */ sll $t6, $t5, 3 -/* 020070 7001F470 8D840004 */ lw $a0, 4($t4) -/* 020074 7001F474 8D850008 */ lw $a1, 8($t4) -/* 020078 7001F478 01EEC021 */ addu $t8, $t7, $t6 -/* 02007C 7001F47C 03083021 */ addu $a2, $t8, $t0 -/* 020080 7001F480 0C005840 */ jal __osContRamWrite -/* 020084 7001F484 AFA00010 */ sw $zero, 0x10($sp) -/* 020088 7001F488 8FB90038 */ lw $t9, 0x38($sp) -/* 02008C 7001F48C 93AB0047 */ lbu $t3, 0x47($sp) -/* 020090 7001F490 AFA2002C */ sw $v0, 0x2c($sp) -/* 020094 7001F494 8F290058 */ lw $t1, 0x58($t9) -/* 020098 7001F498 8FAF0030 */ lw $t7, 0x30($sp) -/* 02009C 7001F49C 000B60C0 */ sll $t4, $t3, 3 -/* 0200A0 7001F4A0 8F250008 */ lw $a1, 8($t9) -/* 0200A4 7001F4A4 8F240004 */ lw $a0, 4($t9) -/* 0200A8 7001F4A8 012C6821 */ addu $t5, $t1, $t4 -/* 0200AC 7001F4AC AFA00010 */ sw $zero, 0x10($sp) -/* 0200B0 7001F4B0 8FA70024 */ lw $a3, 0x24($sp) -/* 0200B4 7001F4B4 0C005840 */ jal __osContRamWrite -/* 0200B8 7001F4B8 01AF3021 */ addu $a2, $t5, $t7 -/* 0200BC 7001F4BC 1000000D */ b .L7001F4F4 -/* 0200C0 7001F4C0 AFA2002C */ sw $v0, 0x2c($sp) -.L7001F4C4: -/* 0200C4 7001F4C4 8FAE0038 */ lw $t6, 0x38($sp) -/* 0200C8 7001F4C8 93A80047 */ lbu $t0, 0x47($sp) -/* 0200CC 7001F4CC 8FAB0030 */ lw $t3, 0x30($sp) -/* 0200D0 7001F4D0 8DD80054 */ lw $t8, 0x54($t6) -/* 0200D4 7001F4D4 000850C0 */ sll $t2, $t0, 3 -/* 0200D8 7001F4D8 8FA70024 */ lw $a3, 0x24($sp) -/* 0200DC 7001F4DC 030AC821 */ addu $t9, $t8, $t2 -/* 0200E0 7001F4E0 8DC40004 */ lw $a0, 4($t6) -/* 0200E4 7001F4E4 8DC50008 */ lw $a1, 8($t6) -/* 0200E8 7001F4E8 0C00592C */ jal __osContRamRead -/* 0200EC 7001F4EC 032B3021 */ addu $a2, $t9, $t3 -/* 0200F0 7001F4F0 AFA2002C */ sw $v0, 0x2c($sp) -.L7001F4F4: -/* 0200F4 7001F4F4 8FA9002C */ lw $t1, 0x2c($sp) -/* 0200F8 7001F4F8 11200003 */ beqz $t1, .L7001F508 -/* 0200FC 7001F4FC 00000000 */ nop -/* 020100 7001F500 10000066 */ b .L7001F69C -/* 020104 7001F504 01201025 */ move $v0, $t1 -.L7001F508: -/* 020108 7001F508 8FAC0030 */ lw $t4, 0x30($sp) -/* 02010C 7001F50C 258D0001 */ addiu $t5, $t4, 1 -/* 020110 7001F510 29A10008 */ slti $at, $t5, 8 -/* 020114 7001F514 1420FFC9 */ bnez $at, .L7001F43C -/* 020118 7001F518 AFAD0030 */ sw $t5, 0x30($sp) -/* 02011C 7001F51C 93AF0043 */ lbu $t7, 0x43($sp) -/* 020120 7001F520 15E0005D */ bnez $t7, .L7001F698 -/* 020124 7001F524 00000000 */ nop -/* 020128 7001F528 8FA80028 */ lw $t0, 0x28($sp) -/* 02012C 7001F52C 8FAE003C */ lw $t6, 0x3c($sp) -/* 020130 7001F530 00082823 */ negu $a1, $t0 -/* 020134 7001F534 00055040 */ sll $t2, $a1, 1 -/* 020138 7001F538 01402825 */ move $a1, $t2 -/* 02013C 7001F53C 0008C040 */ sll $t8, $t0, 1 -/* 020140 7001F540 24A50100 */ addiu $a1, $a1, 0x100 -/* 020144 7001F544 0C007A70 */ jal __osSumcalc -/* 020148 7001F548 01D82021 */ addu $a0, $t6, $t8 -/* 02014C 7001F54C 8FB9003C */ lw $t9, 0x3c($sp) -/* 020150 7001F550 A3A20037 */ sb $v0, 0x37($sp) -/* 020154 7001F554 93A90037 */ lbu $t1, 0x37($sp) -/* 020158 7001F558 932B0001 */ lbu $t3, 1($t9) -/* 02015C 7001F55C 11690037 */ beq $t3, $t1, .L7001F63C -/* 020160 7001F560 00000000 */ nop -/* 020164 7001F564 AFA00030 */ sw $zero, 0x30($sp) -.L7001F568: -/* 020168 7001F568 8FAD0030 */ lw $t5, 0x30($sp) -/* 02016C 7001F56C 8FAC003C */ lw $t4, 0x3c($sp) -/* 020170 7001F570 8FB80038 */ lw $t8, 0x38($sp) -/* 020174 7001F574 000D7940 */ sll $t7, $t5, 5 -/* 020178 7001F578 018F7021 */ addu $t6, $t4, $t7 -/* 02017C 7001F57C 93AA0047 */ lbu $t2, 0x47($sp) -/* 020180 7001F580 AFAE0024 */ sw $t6, 0x24($sp) -/* 020184 7001F584 8F080058 */ lw $t0, 0x58($t8) -/* 020188 7001F588 000AC8C0 */ sll $t9, $t2, 3 -/* 02018C 7001F58C 01C03825 */ move $a3, $t6 -/* 020190 7001F590 01195821 */ addu $t3, $t0, $t9 -/* 020194 7001F594 016D3021 */ addu $a2, $t3, $t5 -/* 020198 7001F598 8F050008 */ lw $a1, 8($t8) -/* 02019C 7001F59C 0C00592C */ jal __osContRamRead -/* 0201A0 7001F5A0 8F040004 */ lw $a0, 4($t8) -/* 0201A4 7001F5A4 8FA90030 */ lw $t1, 0x30($sp) -/* 0201A8 7001F5A8 AFA2002C */ sw $v0, 0x2c($sp) -/* 0201AC 7001F5AC 252C0001 */ addiu $t4, $t1, 1 -/* 0201B0 7001F5B0 29810008 */ slti $at, $t4, 8 -/* 0201B4 7001F5B4 1420FFEC */ bnez $at, .L7001F568 -/* 0201B8 7001F5B8 AFAC0030 */ sw $t4, 0x30($sp) -/* 0201BC 7001F5BC 8FAF003C */ lw $t7, 0x3c($sp) -/* 0201C0 7001F5C0 93AA0037 */ lbu $t2, 0x37($sp) -/* 0201C4 7001F5C4 91F80001 */ lbu $t8, 1($t7) -/* 0201C8 7001F5C8 130A0003 */ beq $t8, $t2, .L7001F5D8 -/* 0201CC 7001F5CC 00000000 */ nop -/* 0201D0 7001F5D0 10000032 */ b .L7001F69C -/* 0201D4 7001F5D4 24020003 */ li $v0, 3 -.L7001F5D8: -/* 0201D8 7001F5D8 AFA00030 */ sw $zero, 0x30($sp) -.L7001F5DC: -/* 0201DC 7001F5DC 8FB90030 */ lw $t9, 0x30($sp) -/* 0201E0 7001F5E0 8FA8003C */ lw $t0, 0x3c($sp) -/* 0201E4 7001F5E4 8FAE0038 */ lw $t6, 0x38($sp) -/* 0201E8 7001F5E8 00195940 */ sll $t3, $t9, 5 -/* 0201EC 7001F5EC 010B6821 */ addu $t5, $t0, $t3 -/* 0201F0 7001F5F0 93AC0047 */ lbu $t4, 0x47($sp) -/* 0201F4 7001F5F4 AFAD0024 */ sw $t5, 0x24($sp) -/* 0201F8 7001F5F8 8DC90054 */ lw $t1, 0x54($t6) -/* 0201FC 7001F5FC 000C78C0 */ sll $t7, $t4, 3 -/* 020200 7001F600 8DC50008 */ lw $a1, 8($t6) -/* 020204 7001F604 8DC40004 */ lw $a0, 4($t6) -/* 020208 7001F608 012FC021 */ addu $t8, $t1, $t7 -/* 02020C 7001F60C AFA00010 */ sw $zero, 0x10($sp) -/* 020210 7001F610 01A03825 */ move $a3, $t5 -/* 020214 7001F614 0C005840 */ jal __osContRamWrite -/* 020218 7001F618 03193021 */ addu $a2, $t8, $t9 -/* 02021C 7001F61C 8FAA0030 */ lw $t2, 0x30($sp) -/* 020220 7001F620 AFA2002C */ sw $v0, 0x2c($sp) -/* 020224 7001F624 25480001 */ addiu $t0, $t2, 1 -/* 020228 7001F628 29010008 */ slti $at, $t0, 8 -/* 02022C 7001F62C 1420FFEB */ bnez $at, .L7001F5DC -/* 020230 7001F630 AFA80030 */ sw $t0, 0x30($sp) -/* 020234 7001F634 10000018 */ b .L7001F698 -/* 020238 7001F638 00000000 */ nop -.L7001F63C: -/* 02023C 7001F63C AFA00030 */ sw $zero, 0x30($sp) -.L7001F640: -/* 020240 7001F640 8FAE0030 */ lw $t6, 0x30($sp) -/* 020244 7001F644 8FAB003C */ lw $t3, 0x3c($sp) -/* 020248 7001F648 8FAF0038 */ lw $t7, 0x38($sp) -/* 02024C 7001F64C 000E6140 */ sll $t4, $t6, 5 -/* 020250 7001F650 016C4821 */ addu $t1, $t3, $t4 -/* 020254 7001F654 93B90047 */ lbu $t9, 0x47($sp) -/* 020258 7001F658 AFA90024 */ sw $t1, 0x24($sp) -/* 02025C 7001F65C 8DF80058 */ lw $t8, 0x58($t7) -/* 020260 7001F660 001968C0 */ sll $t5, $t9, 3 -/* 020264 7001F664 8DE50008 */ lw $a1, 8($t7) -/* 020268 7001F668 8DE40004 */ lw $a0, 4($t7) -/* 02026C 7001F66C 030D5021 */ addu $t2, $t8, $t5 -/* 020270 7001F670 AFA00010 */ sw $zero, 0x10($sp) -/* 020274 7001F674 01203825 */ move $a3, $t1 -/* 020278 7001F678 0C005840 */ jal __osContRamWrite -/* 02027C 7001F67C 014E3021 */ addu $a2, $t2, $t6 -/* 020280 7001F680 8FA80030 */ lw $t0, 0x30($sp) -/* 020284 7001F684 AFA2002C */ sw $v0, 0x2c($sp) -/* 020288 7001F688 250B0001 */ addiu $t3, $t0, 1 -/* 02028C 7001F68C 29610008 */ slti $at, $t3, 8 -/* 020290 7001F690 1420FFEB */ bnez $at, .L7001F640 -/* 020294 7001F694 AFAB0030 */ sw $t3, 0x30($sp) -.L7001F698: -/* 020298 7001F698 00001025 */ move $v0, $zero -.L7001F69C: -/* 02029C 7001F69C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0202A0 7001F6A0 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0202A4 7001F6A4 03E00008 */ jr $ra -/* 0202A8 7001F6A8 00000000 */ nop - -glabel __osPfsSelectBank -/* 0202AC 7001F6AC 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0202B0 7001F6B0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0202B4 7001F6B4 AFA40048 */ sw $a0, 0x48($sp) -/* 0202B8 7001F6B8 AFA00020 */ sw $zero, 0x20($sp) -/* 0202BC 7001F6BC AFA00024 */ sw $zero, 0x24($sp) -.L7001F6C0: -/* 0202C0 7001F6C0 8FAE0048 */ lw $t6, 0x48($sp) -/* 0202C4 7001F6C4 8FB80024 */ lw $t8, 0x24($sp) -/* 0202C8 7001F6C8 91CF0065 */ lbu $t7, 0x65($t6) -/* 0202CC 7001F6CC 03B8C821 */ addu $t9, $sp, $t8 -/* 0202D0 7001F6D0 A32F0028 */ sb $t7, 0x28($t9) -/* 0202D4 7001F6D4 8FA80024 */ lw $t0, 0x24($sp) -/* 0202D8 7001F6D8 25090001 */ addiu $t1, $t0, 1 -/* 0202DC 7001F6DC 29210020 */ slti $at, $t1, 0x20 -/* 0202E0 7001F6E0 1420FFF7 */ bnez $at, .L7001F6C0 -/* 0202E4 7001F6E4 AFA90024 */ sw $t1, 0x24($sp) -/* 0202E8 7001F6E8 8FAA0048 */ lw $t2, 0x48($sp) -/* 0202EC 7001F6EC 24060400 */ li $a2, 1024 -/* 0202F0 7001F6F0 27A70028 */ addiu $a3, $sp, 0x28 -/* 0202F4 7001F6F4 8D440004 */ lw $a0, 4($t2) -/* 0202F8 7001F6F8 8D450008 */ lw $a1, 8($t2) -/* 0202FC 7001F6FC 0C005840 */ jal __osContRamWrite -/* 020300 7001F700 AFA00010 */ sw $zero, 0x10($sp) -/* 020304 7001F704 8FBF001C */ lw $ra, 0x1c($sp) -/* 020308 7001F708 AFA20020 */ sw $v0, 0x20($sp) -/* 02030C 7001F70C 8FA20020 */ lw $v0, 0x20($sp) -/* 020310 7001F710 03E00008 */ jr $ra -/* 020314 7001F714 27BD0048 */ addiu $sp, $sp, 0x48 - -/* 020318 7001F718 00000000 */ nop -/* 02031C 7001F71C 00000000 */ nop -glabel __osSiDeviceBusy -/* 020320 7001F720 3C0EA480 */ lui $t6, %hi(SI_STATUS_REG) # $t6, 0xa480 -/* 020324 7001F724 8DC40018 */ lw $a0, %lo(SI_STATUS_REG)($t6) -/* 020328 7001F728 27BDFFF8 */ addiu $sp, $sp, -8 -/* 02032C 7001F72C 308F0003 */ andi $t7, $a0, 3 -/* 020330 7001F730 11E00003 */ beqz $t7, .L7001F740 -/* 020334 7001F734 00000000 */ nop -/* 020338 7001F738 10000002 */ b .L7001F744 -/* 02033C 7001F73C 24020001 */ li $v0, 1 -.L7001F740: -/* 020340 7001F740 00001025 */ move $v0, $zero -.L7001F744: -/* 020344 7001F744 03E00008 */ jr $ra -/* 020348 7001F748 27BD0008 */ addiu $sp, $sp, 8 - -/* 02034C 7001F74C 00000000 */ nop -glabel guNormalize -/* 020350 7001F750 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 020354 7001F754 AFBF0014 */ sw $ra, 0x14($sp) -/* 020358 7001F758 C4820000 */ lwc1 $f2, ($a0) -/* 02035C 7001F75C C4AE0000 */ lwc1 $f14, ($a1) -/* 020360 7001F760 C4C00000 */ lwc1 $f0, ($a2) -/* 020364 7001F764 46021102 */ mul.s $f4, $f2, $f2 -/* 020368 7001F768 AFA60020 */ sw $a2, 0x20($sp) -/* 02036C 7001F76C AFA5001C */ sw $a1, 0x1c($sp) -/* 020370 7001F770 460E7182 */ mul.s $f6, $f14, $f14 -/* 020374 7001F774 AFA40018 */ sw $a0, 0x18($sp) -/* 020378 7001F778 46000282 */ mul.s $f10, $f0, $f0 -/* 02037C 7001F77C 46062200 */ add.s $f8, $f4, $f6 -/* 020380 7001F780 0C007DF8 */ jal sqrtf -/* 020384 7001F784 46085300 */ add.s $f12, $f10, $f8 -/* 020388 7001F788 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02038C 7001F78C 44818000 */ mtc1 $at, $f16 -/* 020390 7001F790 8FA40018 */ lw $a0, 0x18($sp) -/* 020394 7001F794 8FA5001C */ lw $a1, 0x1c($sp) -/* 020398 7001F798 46008083 */ div.s $f2, $f16, $f0 -/* 02039C 7001F79C C4920000 */ lwc1 $f18, ($a0) -/* 0203A0 7001F7A0 8FA60020 */ lw $a2, 0x20($sp) -/* 0203A4 7001F7A4 46029102 */ mul.s $f4, $f18, $f2 -/* 0203A8 7001F7A8 E4840000 */ swc1 $f4, ($a0) -/* 0203AC 7001F7AC C4A60000 */ lwc1 $f6, ($a1) -/* 0203B0 7001F7B0 46023282 */ mul.s $f10, $f6, $f2 -/* 0203B4 7001F7B4 E4AA0000 */ swc1 $f10, ($a1) -/* 0203B8 7001F7B8 C4C80000 */ lwc1 $f8, ($a2) -/* 0203BC 7001F7BC 46024402 */ mul.s $f16, $f8, $f2 -/* 0203C0 7001F7C0 E4D00000 */ swc1 $f16, ($a2) -/* 0203C4 7001F7C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0203C8 7001F7C8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0203CC 7001F7CC 03E00008 */ jr $ra -/* 0203D0 7001F7D0 00000000 */ nop - -/* 0203D4 7001F7D4 00000000 */ nop -/* 0203D8 7001F7D8 00000000 */ nop -/* 0203DC 7001F7DC 00000000 */ nop -glabel sqrtf -/* 0203E0 7001F7E0 03E00008 */ jr $ra -/* 0203E4 7001F7E4 46006004 */ sqrt.s $f0, $f12 - -/* 0203E8 7001F7E8 00000000 */ nop -/* 0203EC 7001F7EC 00000000 */ nop -glabel osLeoDiskInit -/* 0203F0 7001F7F0 240E0002 */ li $t6, 2 -/* 0203F4 7001F7F4 3C018007 */ lui $at, %hi(LeoDiskHandle+0x4) # $at, 0x8007 -/* 0203F8 7001F7F8 A02E9004 */ sb $t6, %lo(LeoDiskHandle+0x4)($at) -/* 0203FC 7001F7FC 3C018007 */ lui $at, %hi(LeoDiskHandle+0xC) # $at, 0x8007 -/* 020400 7001F800 3C0FA500 */ lui $t7, 0xa500 -/* 020404 7001F804 AC2F900C */ sw $t7, %lo(LeoDiskHandle+0xC)($at) -/* 020408 7001F808 3C018007 */ lui $at, %hi(LeoDiskHandle+0x5) # $at, 0x8007 -/* 02040C 7001F80C 24180003 */ li $t8, 3 -/* 020410 7001F810 A0389005 */ sb $t8, %lo(LeoDiskHandle+0x5)($at) -/* 020414 7001F814 3C018007 */ lui $at, %hi(LeoDiskHandle+0x8) # $at, 0x8007 -/* 020418 7001F818 24190006 */ li $t9, 6 -/* 02041C 7001F81C A0399008 */ sb $t9, %lo(LeoDiskHandle+0x8)($at) -/* 020420 7001F820 3C018007 */ lui $at, %hi(LeoDiskHandle+0x7) # $at, 0x8007 -/* 020424 7001F824 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 020428 7001F828 24080006 */ li $t0, 6 -/* 02042C 7001F82C 24090002 */ li $t1, 2 -/* 020430 7001F830 AFBF0014 */ sw $ra, 0x14($sp) -/* 020434 7001F834 A0289006 */ sb $t0, %lo(LeoDiskHandle+0x6)($at) -/* 020438 7001F838 A0299007 */ sb $t1, %lo(LeoDiskHandle+0x7)($at) -/* 02043C 7001F83C 240A0003 */ li $t2, 3 -/* 020440 7001F840 3C0BA460 */ lui $t3, %hi(PI_BSD_DOM2_LAT_REG) # $t3, 0xa460 -/* 020444 7001F844 AD6A0024 */ sw $t2, %lo(PI_BSD_DOM2_LAT_REG)($t3) -/* 020448 7001F848 3C0C8007 */ lui $t4, %hi(LeoDiskHandle+0x8) -/* 02044C 7001F84C 918C9008 */ lbu $t4, %lo(LeoDiskHandle+0x8)($t4) -/* 020450 7001F850 3C0DA460 */ lui $t5, %hi(PI_BSD_DOM2_PWD_REG) # $t5, 0xa460 -/* 020454 7001F854 3C0E8007 */ lui $t6, %hi(LeoDiskHandle+0x6) -/* 020458 7001F858 ADAC0028 */ sw $t4, %lo(PI_BSD_DOM2_PWD_REG)($t5) -/* 02045C 7001F85C 91CE9006 */ lbu $t6, %lo(LeoDiskHandle+0x6)($t6) -/* 020460 7001F860 3C0FA460 */ lui $t7, %hi(PI_BSD_DOM2_PGS_REG) # $t7, 0xa460 -/* 020464 7001F864 3C188007 */ lui $t8, %hi(LeoDiskHandle+0x7) -/* 020468 7001F868 ADEE002C */ sw $t6, %lo(PI_BSD_DOM2_PGS_REG)($t7) -/* 02046C 7001F86C 93189007 */ lbu $t8, %lo(LeoDiskHandle+0x7)($t8) -/* 020470 7001F870 3C048007 */ lui $a0, %hi(LeoDiskHandle) # $a0, 0x8007 -/* 020474 7001F874 3C19A460 */ lui $t9, %hi(PI_BSD_DOM2_RLS_REG) # $t9, 0xa460 -/* 020478 7001F878 24849000 */ addiu $a0, %lo(LeoDiskHandle) # addiu $a0, $a0, -0x7000 -/* 02047C 7001F87C 24840014 */ addiu $a0, $a0, 0x14 -/* 020480 7001F880 24050060 */ li $a1, 96 -/* 020484 7001F884 0C005F10 */ jal _blkclr -/* 020488 7001F888 AF380030 */ sw $t8, %lo(PI_BSD_DOM2_RLS_REG)($t9) -/* 02048C 7001F88C 0C00617C */ jal __osDisableInt -/* 020490 7001F890 00000000 */ nop -/* 020494 7001F894 3C088002 */ lui $t0, %hi(D_800277AC) -/* 020498 7001F898 8D0877AC */ lw $t0, %lo(D_800277AC)($t0) -/* 02049C 7001F89C 3C018007 */ lui $at, %hi(LeoDiskHandle) # $at, 0x8007 -/* 0204A0 7001F8A0 3C098007 */ lui $t1, %hi(LeoDiskHandle) -/* 0204A4 7001F8A4 AC289000 */ sw $t0, %lo(LeoDiskHandle)($at) -/* 0204A8 7001F8A8 3C018002 */ lui $at, %hi(D_800277AC) # $at, 0x8002 -/* 0204AC 7001F8AC 25299000 */ addiu $t1, %lo(LeoDiskHandle) # addiu $t1, $t1, -0x7000 -/* 0204B0 7001F8B0 AC2977AC */ sw $t1, %lo(D_800277AC)($at) -/* 0204B4 7001F8B4 AFA2001C */ sw $v0, 0x1c($sp) -/* 0204B8 7001F8B8 3C018007 */ lui $at, %hi(__osDiskHandle) # $at, 0x8007 -/* 0204BC 7001F8BC AC299074 */ sw $t1, %lo(__osDiskHandle)($at) -/* 0204C0 7001F8C0 0C006184 */ jal __osRestoreInt -/* 0204C4 7001F8C4 8FA4001C */ lw $a0, 0x1c($sp) -/* 0204C8 7001F8C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0204CC 7001F8CC 3C028007 */ lui $v0, %hi(LeoDiskHandle) # $v0, 0x8007 -/* 0204D0 7001F8D0 24429000 */ addiu $v0, %lo(LeoDiskHandle) # addiu $v0, $v0, -0x7000 -/* 0204D4 7001F8D4 03E00008 */ jr $ra -/* 0204D8 7001F8D8 27BD0020 */ addiu $sp, $sp, 0x20 - -/* 0204DC 7001F8DC 00000000 */ nop -glabel __osSetCompare -/* 0204E0 7001F8E0 40845800 */ mtc0 $a0, $11 -/* 0204E4 7001F8E4 03E00008 */ jr $ra -/* 0204E8 7001F8E8 00000000 */ nop - -/* 0204EC 7001F8EC 00000000 */ nop -glabel alFilterNew -/* 0204F0 7001F8F0 AC800000 */ sw $zero, ($a0) -/* 0204F4 7001F8F4 AC850004 */ sw $a1, 4($a0) -/* 0204F8 7001F8F8 AC860008 */ sw $a2, 8($a0) -/* 0204FC 7001F8FC A480000C */ sh $zero, 0xc($a0) -/* 020500 7001F900 A480000E */ sh $zero, 0xe($a0) -/* 020504 7001F904 03E00008 */ jr $ra -/* 020508 7001F908 AC870010 */ sw $a3, 0x10($a0) - -/* 02050C 7001F90C 00000000 */ nop -glabel _doModFunc -/* 020510 7001F910 44853000 */ mtc1 $a1, $f6 -/* 020514 7001F914 C4840010 */ lwc1 $f4, 0x10($a0) -/* 020518 7001F918 C4900014 */ lwc1 $f16, 0x14($a0) -/* 02051C 7001F91C 46803220 */ cvt.s.w $f8, $f6 -/* 020520 7001F920 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 020524 7001F924 44812800 */ mtc1 $at, $f5 -/* 020528 7001F928 3C014010 */ li $at, 0x40100000 # 2.250000 -/* 02052C 7001F92C 46082282 */ mul.s $f10, $f4, $f8 -/* 020530 7001F930 44802000 */ mtc1 $zero, $f4 -/* 020534 7001F934 460A8480 */ add.s $f18, $f16, $f10 -/* 020538 7001F938 E4920014 */ swc1 $f18, 0x14($a0) -/* 02053C 7001F93C C4860014 */ lwc1 $f6, 0x14($a0) -/* 020540 7001F940 46003021 */ cvt.d.s $f0, $f6 -/* 020544 7001F944 44803000 */ mtc1 $zero, $f6 -/* 020548 7001F948 4620203C */ c.lt.d $f4, $f0 -/* 02054C 7001F94C 00000000 */ nop -/* 020550 7001F950 45020009 */ bc1fl .L7001F978 -/* 020554 7001F954 462004A0 */ cvt.s.d $f18, $f0 -/* 020558 7001F958 44814800 */ mtc1 $at, $f9 -/* 02055C 7001F95C 44804000 */ mtc1 $zero, $f8 -/* 020560 7001F960 00000000 */ nop -/* 020564 7001F964 46280401 */ sub.d $f16, $f0, $f8 -/* 020568 7001F968 462082A0 */ cvt.s.d $f10, $f16 -/* 02056C 7001F96C 10000003 */ b .L7001F97C -/* 020570 7001F970 E48A0014 */ swc1 $f10, 0x14($a0) -/* 020574 7001F974 462004A0 */ cvt.s.d $f18, $f0 -.L7001F978: -/* 020578 7001F978 E4920014 */ swc1 $f18, 0x14($a0) -.L7001F97C: -/* 02057C 7001F97C C4820014 */ lwc1 $f2, 0x14($a0) -/* 020580 7001F980 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 020584 7001F984 44814800 */ mtc1 $at, $f9 -/* 020588 7001F988 4606103C */ c.lt.s $f2, $f6 -/* 02058C 7001F98C 44804000 */ mtc1 $zero, $f8 -/* 020590 7001F990 45020003 */ bc1fl .L7001F9A0 -/* 020594 7001F994 46001121 */ cvt.d.s $f4, $f2 -/* 020598 7001F998 46001087 */ neg.s $f2, $f2 -/* 02059C 7001F99C 46001121 */ cvt.d.s $f4, $f2 -.L7001F9A0: -/* 0205A0 7001F9A0 C48A001C */ lwc1 $f10, 0x1c($a0) -/* 0205A4 7001F9A4 46282401 */ sub.d $f16, $f4, $f8 -/* 0205A8 7001F9A8 462080A0 */ cvt.s.d $f2, $f16 -/* 0205AC 7001F9AC 46025002 */ mul.s $f0, $f10, $f2 -/* 0205B0 7001F9B0 03E00008 */ jr $ra -/* 0205B4 7001F9B4 00000000 */ nop - -glabel _filterBuffer -/* 0205B8 7001F9B8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0205BC 7001F9BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0205C0 7001F9C0 30A2FFFF */ andi $v0, $a1, 0xffff -/* 0205C4 7001F9C4 0006C040 */ sll $t8, $a2, 1 -/* 0205C8 7001F9C8 3319FFFF */ andi $t9, $t8, 0xffff -/* 0205CC 7001F9CC 00027C00 */ sll $t7, $v0, 0x10 -/* 0205D0 7001F9D0 3C010800 */ lui $at, 0x800 -/* 0205D4 7001F9D4 3C0A0B00 */ lui $t2, (0x0B000020 >> 16) # lui $t2, 0xb00 -/* 0205D8 7001F9D8 00417025 */ or $t6, $v0, $at -/* 0205DC 7001F9DC 01F94825 */ or $t1, $t7, $t9 -/* 0205E0 7001F9E0 354A0020 */ ori $t2, (0x0B000020 & 0xFFFF) # ori $t2, $t2, 0x20 -/* 0205E4 7001F9E4 00804025 */ move $t0, $a0 -/* 0205E8 7001F9E8 ACE90004 */ sw $t1, 4($a3) -/* 0205EC 7001F9EC ACEE0000 */ sw $t6, ($a3) -/* 0205F0 7001F9F0 ACEA0008 */ sw $t2, 8($a3) -/* 0205F4 7001F9F4 AFA80028 */ sw $t0, 0x28($sp) -/* 0205F8 7001F9F8 AFA70034 */ sw $a3, 0x34($sp) -/* 0205FC 7001F9FC 0C003A2C */ jal osVirtualToPhysical -/* 020600 7001FA00 24840008 */ addiu $a0, $a0, 8 -/* 020604 7001FA04 8FA70034 */ lw $a3, 0x34($sp) -/* 020608 7001FA08 8FA80028 */ lw $t0, 0x28($sp) -/* 02060C 7001FA0C 3C010E00 */ lui $at, 0xe00 -/* 020610 7001FA10 24E30010 */ addiu $v1, $a3, 0x10 -/* 020614 7001FA14 246B0008 */ addiu $t3, $v1, 8 -/* 020618 7001FA18 ACE2000C */ sw $v0, 0xc($a3) -/* 02061C 7001FA1C AFAB0024 */ sw $t3, 0x24($sp) -/* 020620 7001FA20 8D0C002C */ lw $t4, 0x2c($t0) -/* 020624 7001FA24 850F0002 */ lh $t7, 2($t0) -/* 020628 7001FA28 318D00FF */ andi $t5, $t4, 0xff -/* 02062C 7001FA2C 000D7400 */ sll $t6, $t5, 0x10 -/* 020630 7001FA30 01C1C025 */ or $t8, $t6, $at -/* 020634 7001FA34 31F9FFFF */ andi $t9, $t7, 0xffff -/* 020638 7001FA38 03194825 */ or $t1, $t8, $t9 -/* 02063C 7001FA3C AC690000 */ sw $t1, ($v1) -/* 020640 7001FA40 8D040028 */ lw $a0, 0x28($t0) -/* 020644 7001FA44 0C003A2C */ jal osVirtualToPhysical -/* 020648 7001FA48 AFA30018 */ sw $v1, 0x18($sp) -/* 02064C 7001FA4C 8FA50018 */ lw $a1, 0x18($sp) -/* 020650 7001FA50 8FA80028 */ lw $t0, 0x28($sp) -/* 020654 7001FA54 ACA20004 */ sw $v0, 4($a1) -/* 020658 7001FA58 AD00002C */ sw $zero, 0x2c($t0) -/* 02065C 7001FA5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 020660 7001FA60 8FA20024 */ lw $v0, 0x24($sp) -/* 020664 7001FA64 27BD0028 */ addiu $sp, $sp, 0x28 -/* 020668 7001FA68 03E00008 */ jr $ra -/* 02066C 7001FA6C 00000000 */ nop - -glabel _saveBuffer -/* 020670 7001FA70 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 020674 7001FA74 AFBF001C */ sw $ra, 0x1c($sp) -/* 020678 7001FA78 AFB00018 */ sw $s0, 0x18($sp) -/* 02067C 7001FA7C 8C83001C */ lw $v1, 0x1c($a0) -/* 020680 7001FA80 8C820014 */ lw $v0, 0x14($a0) -/* 020684 7001FA84 8FA80070 */ lw $t0, 0x70($sp) -/* 020688 7001FA88 00037040 */ sll $t6, $v1, 1 -/* 02068C 7001FA8C 00A2082B */ sltu $at, $a1, $v0 -/* 020690 7001FA90 00805025 */ move $t2, $a0 -/* 020694 7001FA94 00C06825 */ move $t5, $a2 -/* 020698 7001FA98 00E05825 */ move $t3, $a3 -/* 02069C 7001FA9C 10200002 */ beqz $at, .L7001FAA8 -/* 0206A0 7001FAA0 004E4821 */ addu $t1, $v0, $t6 -/* 0206A4 7001FAA4 00AE2821 */ addu $a1, $a1, $t6 -.L7001FAA8: -/* 0206A8 7001FAA8 000B3040 */ sll $a2, $t3, 1 -/* 0206AC 7001FAAC 00C53821 */ addu $a3, $a2, $a1 -/* 0206B0 7001FAB0 0127082B */ sltu $at, $t1, $a3 -/* 0206B4 7001FAB4 1020003C */ beqz $at, .L7001FBA8 -/* 0206B8 7001FAB8 25100008 */ addiu $s0, $t0, 8 -/* 0206BC 7001FABC 01255823 */ subu $t3, $t1, $a1 -/* 0206C0 7001FAC0 000BC043 */ sra $t8, $t3, 1 -/* 0206C4 7001FAC4 3C0F0800 */ lui $t7, 0x800 -/* 0206C8 7001FAC8 AD0F0000 */ sw $t7, ($t0) -/* 0206CC 7001FACC 00185840 */ sll $t3, $t8, 1 -/* 0206D0 7001FAD0 3178FFFF */ andi $t8, $t3, 0xffff -/* 0206D4 7001FAD4 000D7C00 */ sll $t7, $t5, 0x10 -/* 0206D8 7001FAD8 01F8C825 */ or $t9, $t7, $t8 -/* 0206DC 7001FADC 25100008 */ addiu $s0, $t0, 8 -/* 0206E0 7001FAE0 AD190004 */ sw $t9, 4($t0) -/* 0206E4 7001FAE4 02006025 */ move $t4, $s0 -/* 0206E8 7001FAE8 3C0E0600 */ lui $t6, 0x600 -/* 0206EC 7001FAEC AD8E0000 */ sw $t6, ($t4) -/* 0206F0 7001FAF0 AFAD0068 */ sw $t5, 0x68($sp) -/* 0206F4 7001FAF4 AFAC0044 */ sw $t4, 0x44($sp) -/* 0206F8 7001FAF8 AFAB0024 */ sw $t3, 0x24($sp) -/* 0206FC 7001FAFC AFAA0060 */ sw $t2, 0x60($sp) -/* 020700 7001FB00 AFA9004C */ sw $t1, 0x4c($sp) -/* 020704 7001FB04 AFA70028 */ sw $a3, 0x28($sp) -/* 020708 7001FB08 AFA6002C */ sw $a2, 0x2c($sp) -/* 02070C 7001FB0C 26100008 */ addiu $s0, $s0, 8 -/* 020710 7001FB10 0C003A2C */ jal osVirtualToPhysical -/* 020714 7001FB14 00A02025 */ move $a0, $a1 -/* 020718 7001FB18 8FAC0044 */ lw $t4, 0x44($sp) -/* 02071C 7001FB1C 8FA70028 */ lw $a3, 0x28($sp) -/* 020720 7001FB20 8FA9004C */ lw $t1, 0x4c($sp) -/* 020724 7001FB24 8FAB0024 */ lw $t3, 0x24($sp) -/* 020728 7001FB28 8FAD0068 */ lw $t5, 0x68($sp) -/* 02072C 7001FB2C 8FAA0060 */ lw $t2, 0x60($sp) -/* 020730 7001FB30 02001825 */ move $v1, $s0 -/* 020734 7001FB34 3C0F0800 */ lui $t7, 0x800 -/* 020738 7001FB38 AD820004 */ sw $v0, 4($t4) -/* 02073C 7001FB3C AC6F0000 */ sw $t7, ($v1) -/* 020740 7001FB40 00E97823 */ subu $t7, $a3, $t1 -/* 020744 7001FB44 016DC821 */ addu $t9, $t3, $t5 -/* 020748 7001FB48 00197400 */ sll $t6, $t9, 0x10 -/* 02074C 7001FB4C 000FC043 */ sra $t8, $t7, 1 -/* 020750 7001FB50 0018C840 */ sll $t9, $t8, 1 -/* 020754 7001FB54 332FFFFF */ andi $t7, $t9, 0xffff -/* 020758 7001FB58 01CFC025 */ or $t8, $t6, $t7 -/* 02075C 7001FB5C 26100008 */ addiu $s0, $s0, 8 -/* 020760 7001FB60 AC780004 */ sw $t8, 4($v1) -/* 020764 7001FB64 02002825 */ move $a1, $s0 -/* 020768 7001FB68 3C190600 */ lui $t9, 0x600 -/* 02076C 7001FB6C ACB90000 */ sw $t9, ($a1) -/* 020770 7001FB70 8D440014 */ lw $a0, 0x14($t2) -/* 020774 7001FB74 AFA5003C */ sw $a1, 0x3c($sp) -/* 020778 7001FB78 0C003A2C */ jal osVirtualToPhysical -/* 02077C 7001FB7C 26100008 */ addiu $s0, $s0, 8 -/* 020780 7001FB80 8FA5003C */ lw $a1, 0x3c($sp) -/* 020784 7001FB84 8FA6002C */ lw $a2, 0x2c($sp) -/* 020788 7001FB88 02001825 */ move $v1, $s0 -/* 02078C 7001FB8C 3C0E0800 */ lui $t6, 0x800 -/* 020790 7001FB90 ACA20004 */ sw $v0, 4($a1) -/* 020794 7001FB94 30CFFFFF */ andi $t7, $a2, 0xffff -/* 020798 7001FB98 AC6F0004 */ sw $t7, 4($v1) -/* 02079C 7001FB9C AC6E0000 */ sw $t6, ($v1) -/* 0207A0 7001FBA0 10000010 */ b .L7001FBE4 -/* 0207A4 7001FBA4 26100008 */ addiu $s0, $s0, 8 -.L7001FBA8: -/* 0207A8 7001FBA8 3C180800 */ lui $t8, 0x800 -/* 0207AC 7001FBAC AD180000 */ sw $t8, ($t0) -/* 0207B0 7001FBB0 000D7400 */ sll $t6, $t5, 0x10 -/* 0207B4 7001FBB4 30CFFFFF */ andi $t7, $a2, 0xffff -/* 0207B8 7001FBB8 01CFC025 */ or $t8, $t6, $t7 -/* 0207BC 7001FBBC AD180004 */ sw $t8, 4($t0) -/* 0207C0 7001FBC0 02001825 */ move $v1, $s0 -/* 0207C4 7001FBC4 3C190600 */ lui $t9, 0x600 -/* 0207C8 7001FBC8 AC790000 */ sw $t9, ($v1) -/* 0207CC 7001FBCC AFA30030 */ sw $v1, 0x30($sp) -/* 0207D0 7001FBD0 26100008 */ addiu $s0, $s0, 8 -/* 0207D4 7001FBD4 0C003A2C */ jal osVirtualToPhysical -/* 0207D8 7001FBD8 00A02025 */ move $a0, $a1 -/* 0207DC 7001FBDC 8FA30030 */ lw $v1, 0x30($sp) -/* 0207E0 7001FBE0 AC620004 */ sw $v0, 4($v1) -.L7001FBE4: -/* 0207E4 7001FBE4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0207E8 7001FBE8 02001025 */ move $v0, $s0 -/* 0207EC 7001FBEC 8FB00018 */ lw $s0, 0x18($sp) -/* 0207F0 7001FBF0 03E00008 */ jr $ra -/* 0207F4 7001FBF4 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel _loadBuffer -/* 0207F8 7001FBF8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0207FC 7001FBFC AFBF001C */ sw $ra, 0x1c($sp) -/* 020800 7001FC00 AFB00018 */ sw $s0, 0x18($sp) -/* 020804 7001FC04 8C83001C */ lw $v1, 0x1c($a0) -/* 020808 7001FC08 8C820014 */ lw $v0, 0x14($a0) -/* 02080C 7001FC0C 8FA80070 */ lw $t0, 0x70($sp) -/* 020810 7001FC10 00037040 */ sll $t6, $v1, 1 -/* 020814 7001FC14 00A2082B */ sltu $at, $a1, $v0 -/* 020818 7001FC18 00805025 */ move $t2, $a0 -/* 02081C 7001FC1C 00C06825 */ move $t5, $a2 -/* 020820 7001FC20 00E05825 */ move $t3, $a3 -/* 020824 7001FC24 10200002 */ beqz $at, .L7001FC30 -/* 020828 7001FC28 004E4821 */ addu $t1, $v0, $t6 -/* 02082C 7001FC2C 00AE2821 */ addu $a1, $a1, $t6 -.L7001FC30: -/* 020830 7001FC30 000B3040 */ sll $a2, $t3, 1 -/* 020834 7001FC34 00C53821 */ addu $a3, $a2, $a1 -/* 020838 7001FC38 0127082B */ sltu $at, $t1, $a3 -/* 02083C 7001FC3C 10200037 */ beqz $at, .L7001FD1C -/* 020840 7001FC40 25100008 */ addiu $s0, $t0, 8 -/* 020844 7001FC44 31AFFFFF */ andi $t7, $t5, 0xffff -/* 020848 7001FC48 3C010800 */ lui $at, 0x800 -/* 02084C 7001FC4C 01255823 */ subu $t3, $t1, $a1 -/* 020850 7001FC50 000BC843 */ sra $t9, $t3, 1 -/* 020854 7001FC54 01E1C025 */ or $t8, $t7, $at -/* 020858 7001FC58 00197040 */ sll $t6, $t9, 1 -/* 02085C 7001FC5C 31CFFFFF */ andi $t7, $t6, 0xffff -/* 020860 7001FC60 AD180000 */ sw $t8, ($t0) -/* 020864 7001FC64 25100008 */ addiu $s0, $t0, 8 -/* 020868 7001FC68 AD0F0004 */ sw $t7, 4($t0) -/* 02086C 7001FC6C 02006025 */ move $t4, $s0 -/* 020870 7001FC70 3C180400 */ lui $t8, 0x400 -/* 020874 7001FC74 AD980000 */ sw $t8, ($t4) -/* 020878 7001FC78 AFAD0068 */ sw $t5, 0x68($sp) -/* 02087C 7001FC7C AFAC0044 */ sw $t4, 0x44($sp) -/* 020880 7001FC80 AFAE0024 */ sw $t6, 0x24($sp) -/* 020884 7001FC84 AFAA0060 */ sw $t2, 0x60($sp) -/* 020888 7001FC88 AFA9004C */ sw $t1, 0x4c($sp) -/* 02088C 7001FC8C AFA70028 */ sw $a3, 0x28($sp) -/* 020890 7001FC90 AFA6002C */ sw $a2, 0x2c($sp) -/* 020894 7001FC94 26100008 */ addiu $s0, $s0, 8 -/* 020898 7001FC98 0C003A2C */ jal osVirtualToPhysical -/* 02089C 7001FC9C 00A02025 */ move $a0, $a1 -/* 0208A0 7001FCA0 8FAB0024 */ lw $t3, 0x24($sp) -/* 0208A4 7001FCA4 8FAD0068 */ lw $t5, 0x68($sp) -/* 0208A8 7001FCA8 8FA70028 */ lw $a3, 0x28($sp) -/* 0208AC 7001FCAC 8FA9004C */ lw $t1, 0x4c($sp) -/* 0208B0 7001FCB0 8FAC0044 */ lw $t4, 0x44($sp) -/* 0208B4 7001FCB4 016DC821 */ addu $t9, $t3, $t5 -/* 0208B8 7001FCB8 332EFFFF */ andi $t6, $t9, 0xffff -/* 0208BC 7001FCBC 3C010800 */ lui $at, 0x800 -/* 0208C0 7001FCC0 8FAA0060 */ lw $t2, 0x60($sp) -/* 0208C4 7001FCC4 01C17825 */ or $t7, $t6, $at -/* 0208C8 7001FCC8 00E9C023 */ subu $t8, $a3, $t1 -/* 0208CC 7001FCCC 0018C843 */ sra $t9, $t8, 1 -/* 0208D0 7001FCD0 02001825 */ move $v1, $s0 -/* 0208D4 7001FCD4 AD820004 */ sw $v0, 4($t4) -/* 0208D8 7001FCD8 AC6F0000 */ sw $t7, ($v1) -/* 0208DC 7001FCDC 00197040 */ sll $t6, $t9, 1 -/* 0208E0 7001FCE0 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0208E4 7001FCE4 26100008 */ addiu $s0, $s0, 8 -/* 0208E8 7001FCE8 AC6F0004 */ sw $t7, 4($v1) -/* 0208EC 7001FCEC 02002825 */ move $a1, $s0 -/* 0208F0 7001FCF0 3C180400 */ lui $t8, 0x400 -/* 0208F4 7001FCF4 ACB80000 */ sw $t8, ($a1) -/* 0208F8 7001FCF8 8D440014 */ lw $a0, 0x14($t2) -/* 0208FC 7001FCFC AFA5003C */ sw $a1, 0x3c($sp) -/* 020900 7001FD00 0C003A2C */ jal osVirtualToPhysical -/* 020904 7001FD04 26100008 */ addiu $s0, $s0, 8 -/* 020908 7001FD08 8FA5003C */ lw $a1, 0x3c($sp) -/* 02090C 7001FD0C 8FA6002C */ lw $a2, 0x2c($sp) -/* 020910 7001FD10 ACA20004 */ sw $v0, 4($a1) -/* 020914 7001FD14 10000012 */ b .L7001FD60 -/* 020918 7001FD18 30C7FFFF */ andi $a3, $a2, 0xffff -.L7001FD1C: -/* 02091C 7001FD1C 31B9FFFF */ andi $t9, $t5, 0xffff -/* 020920 7001FD20 3C010800 */ lui $at, 0x800 -/* 020924 7001FD24 03217025 */ or $t6, $t9, $at -/* 020928 7001FD28 30C7FFFF */ andi $a3, $a2, 0xffff -/* 02092C 7001FD2C AD070004 */ sw $a3, 4($t0) -/* 020930 7001FD30 AD0E0000 */ sw $t6, ($t0) -/* 020934 7001FD34 02001825 */ move $v1, $s0 -/* 020938 7001FD38 3C0F0400 */ lui $t7, 0x400 -/* 02093C 7001FD3C AC6F0000 */ sw $t7, ($v1) -/* 020940 7001FD40 AFA70028 */ sw $a3, 0x28($sp) -/* 020944 7001FD44 AFA30034 */ sw $v1, 0x34($sp) -/* 020948 7001FD48 26100008 */ addiu $s0, $s0, 8 -/* 02094C 7001FD4C 0C003A2C */ jal osVirtualToPhysical -/* 020950 7001FD50 00A02025 */ move $a0, $a1 -/* 020954 7001FD54 8FA30034 */ lw $v1, 0x34($sp) -/* 020958 7001FD58 8FA70028 */ lw $a3, 0x28($sp) -/* 02095C 7001FD5C AC620004 */ sw $v0, 4($v1) -.L7001FD60: -/* 020960 7001FD60 02001825 */ move $v1, $s0 -/* 020964 7001FD64 3C180800 */ lui $t8, 0x800 -/* 020968 7001FD68 AC780000 */ sw $t8, ($v1) -/* 02096C 7001FD6C AC670004 */ sw $a3, 4($v1) -/* 020970 7001FD70 8FBF001C */ lw $ra, 0x1c($sp) -/* 020974 7001FD74 26020008 */ addiu $v0, $s0, 8 -/* 020978 7001FD78 8FB00018 */ lw $s0, 0x18($sp) -/* 02097C 7001FD7C 03E00008 */ jr $ra -/* 020980 7001FD80 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel _loadOutputBuffer -/* 020984 7001FD84 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 020988 7001FD88 AFBF0024 */ sw $ra, 0x24($sp) -/* 02098C 7001FD8C AFB10020 */ sw $s1, 0x20($sp) -/* 020990 7001FD90 AFB0001C */ sw $s0, 0x1c($sp) -/* 020994 7001FD94 AFA60068 */ sw $a2, 0x68($sp) -/* 020998 7001FD98 8CAE0024 */ lw $t6, 0x24($a1) -/* 02099C 7001FD9C 00A08025 */ move $s0, $a1 -/* 0209A0 7001FDA0 00E08825 */ move $s1, $a3 -/* 0209A4 7001FDA4 11C0006E */ beqz $t6, .L7001FF60 -/* 0209A8 7001FDA8 00805025 */ move $t2, $a0 -/* 0209AC 7001FDAC 8CAF0004 */ lw $t7, 4($a1) -/* 0209B0 7001FDB0 8CB80000 */ lw $t8, ($a1) -/* 0209B4 7001FDB4 00A02025 */ move $a0, $a1 -/* 0209B8 7001FDB8 00E02825 */ move $a1, $a3 -/* 0209BC 7001FDBC 01F8C823 */ subu $t9, $t7, $t8 -/* 0209C0 7001FDC0 AFB90038 */ sw $t9, 0x38($sp) -/* 0209C4 7001FDC4 0C007E44 */ jal _doModFunc -/* 0209C8 7001FDC8 AFAA0060 */ sw $t2, 0x60($sp) -/* 0209CC 7001FDCC 8FAC0038 */ lw $t4, 0x38($sp) -/* 0209D0 7001FDD0 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 0209D4 7001FDD4 44817000 */ mtc1 $at, $f14 -/* 0209D8 7001FDD8 448C3000 */ mtc1 $t4, $f6 -/* 0209DC 7001FDDC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0209E0 7001FDE0 44812800 */ mtc1 $at, $f5 -/* 0209E4 7001FDE4 46803220 */ cvt.s.w $f8, $f6 -/* 0209E8 7001FDE8 44802000 */ mtc1 $zero, $f4 -/* 0209EC 7001FDEC 8FA40060 */ lw $a0, 0x60($sp) -/* 0209F0 7001FDF0 24060280 */ li $a2, 640 -/* 0209F4 7001FDF4 46080283 */ div.s $f10, $f0, $f8 -/* 0209F8 7001FDF8 460E5402 */ mul.s $f16, $f10, $f14 -/* 0209FC 7001FDFC 4600848D */ trunc.w.s $f18, $f16 -/* 020A00 7001FE00 440E9000 */ mfc1 $t6, $f18 -/* 020A04 7001FE04 00000000 */ nop -/* 020A08 7001FE08 448E3000 */ mtc1 $t6, $f6 -/* 020A0C 7001FE0C 00000000 */ nop -/* 020A10 7001FE10 46803220 */ cvt.s.w $f8, $f6 -/* 020A14 7001FE14 460E4283 */ div.s $f10, $f8, $f14 -/* 020A18 7001FE18 44914000 */ mtc1 $s1, $f8 -/* 020A1C 7001FE1C 46005421 */ cvt.d.s $f16, $f10 -/* 020A20 7001FE20 468042A0 */ cvt.s.w $f10, $f8 -/* 020A24 7001FE24 46302481 */ sub.d $f18, $f4, $f16 -/* 020A28 7001FE28 462090A0 */ cvt.s.d $f2, $f18 -/* 020A2C 7001FE2C 460A1102 */ mul.s $f4, $f2, $f10 -/* 020A30 7001FE30 E7A20044 */ swc1 $f2, 0x44($sp) -/* 020A34 7001FE34 8E020024 */ lw $v0, 0x24($s0) -/* 020A38 7001FE38 C4460020 */ lwc1 $f6, 0x20($v0) -/* 020A3C 7001FE3C 46043300 */ add.s $f12, $f6, $f4 -/* 020A40 7001FE40 4600640D */ trunc.w.s $f16, $f12 -/* 020A44 7001FE44 44098000 */ mfc1 $t1, $f16 -/* 020A48 7001FE48 00000000 */ nop -/* 020A4C 7001FE4C 44899000 */ mtc1 $t1, $f18 -/* 020A50 7001FE50 00000000 */ nop -/* 020A54 7001FE54 46809220 */ cvt.s.w $f8, $f18 -/* 020A58 7001FE58 46086281 */ sub.s $f10, $f12, $f8 -/* 020A5C 7001FE5C E44A0020 */ swc1 $f10, 0x20($v0) -/* 020A60 7001FE60 8E190018 */ lw $t9, 0x18($s0) -/* 020A64 7001FE64 8E180004 */ lw $t8, 4($s0) -/* 020A68 7001FE68 8C8F0018 */ lw $t7, 0x18($a0) -/* 020A6C 7001FE6C AFA9002C */ sw $t1, 0x2c($sp) -/* 020A70 7001FE70 03196023 */ subu $t4, $t8, $t9 -/* 020A74 7001FE74 000C6823 */ negu $t5, $t4 -/* 020A78 7001FE78 000D7040 */ sll $t6, $t5, 1 -/* 020A7C 7001FE7C 01EE4021 */ addu $t0, $t7, $t6 -/* 020A80 7001FE80 31030007 */ andi $v1, $t0, 7 -/* 020A84 7001FE84 8FB90070 */ lw $t9, 0x70($sp) -/* 020A88 7001FE88 0003C043 */ sra $t8, $v1, 1 -/* 020A8C 7001FE8C 00185840 */ sll $t3, $t8, 1 -/* 020A90 7001FE90 010B2823 */ subu $a1, $t0, $t3 -/* 020A94 7001FE94 AFAB0028 */ sw $t3, 0x28($sp) -/* 020A98 7001FE98 03001825 */ move $v1, $t8 -/* 020A9C 7001FE9C 01383821 */ addu $a3, $t1, $t8 -/* 020AA0 7001FEA0 0C007EFE */ jal _loadBuffer -/* 020AA4 7001FEA4 AFB90010 */ sw $t9, 0x10($sp) -/* 020AA8 7001FEA8 8FAB0028 */ lw $t3, 0x28($sp) -/* 020AAC 7001FEAC 3C010800 */ lui $at, 0x800 -/* 020AB0 7001FEB0 244E0008 */ addiu $t6, $v0, 8 -/* 020AB4 7001FEB4 256C0280 */ addiu $t4, $t3, 0x280 -/* 020AB8 7001FEB8 318DFFFF */ andi $t5, $t4, 0xffff -/* 020ABC 7001FEBC 01A17825 */ or $t7, $t5, $at -/* 020AC0 7001FEC0 AC4F0000 */ sw $t7, ($v0) -/* 020AC4 7001FEC4 8FB80068 */ lw $t8, 0x68($sp) -/* 020AC8 7001FEC8 00116040 */ sll $t4, $s1, 1 -/* 020ACC 7001FECC 318DFFFF */ andi $t5, $t4, 0xffff -/* 020AD0 7001FED0 0018CC00 */ sll $t9, $t8, 0x10 -/* 020AD4 7001FED4 032D7825 */ or $t7, $t9, $t5 -/* 020AD8 7001FED8 AC4F0004 */ sw $t7, 4($v0) -/* 020ADC 7001FEDC 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 020AE0 7001FEE0 44812000 */ mtc1 $at, $f4 -/* 020AE4 7001FEE4 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 020AE8 7001FEE8 AFAE0030 */ sw $t6, 0x30($sp) -/* 020AEC 7001FEEC 8E0D0024 */ lw $t5, 0x24($s0) -/* 020AF0 7001FEF0 46043402 */ mul.s $f16, $f6, $f4 -/* 020AF4 7001FEF4 3C010500 */ lui $at, 0x500 -/* 020AF8 7001FEF8 8DAF0024 */ lw $t7, 0x24($t5) -/* 020AFC 7001FEFC 24430010 */ addiu $v1, $v0, 0x10 -/* 020B00 7001FF00 31EE00FF */ andi $t6, $t7, 0xff -/* 020B04 7001FF04 000EC400 */ sll $t8, $t6, 0x10 -/* 020B08 7001FF08 4600848D */ trunc.w.s $f18, $f16 -/* 020B0C 7001FF0C 440C9000 */ mfc1 $t4, $f18 -/* 020B10 7001FF10 00000000 */ nop -/* 020B14 7001FF14 3199FFFF */ andi $t9, $t4, 0xffff -/* 020B18 7001FF18 03016025 */ or $t4, $t8, $at -/* 020B1C 7001FF1C 01996825 */ or $t5, $t4, $t9 -/* 020B20 7001FF20 AC4D0008 */ sw $t5, 8($v0) -/* 020B24 7001FF24 8E0F0024 */ lw $t7, 0x24($s0) -/* 020B28 7001FF28 8DE40014 */ lw $a0, 0x14($t7) -/* 020B2C 7001FF2C 0C003A2C */ jal osVirtualToPhysical -/* 020B30 7001FF30 AFA3005C */ sw $v1, 0x5c($sp) -/* 020B34 7001FF34 8FAE0030 */ lw $t6, 0x30($sp) -/* 020B38 7001FF38 8FA9002C */ lw $t1, 0x2c($sp) -/* 020B3C 7001FF3C 8FA3005C */ lw $v1, 0x5c($sp) -/* 020B40 7001FF40 ADC20004 */ sw $v0, 4($t6) -/* 020B44 7001FF44 8E180024 */ lw $t8, 0x24($s0) -/* 020B48 7001FF48 AF000024 */ sw $zero, 0x24($t8) -/* 020B4C 7001FF4C 8E0C0018 */ lw $t4, 0x18($s0) -/* 020B50 7001FF50 0189C821 */ addu $t9, $t4, $t1 -/* 020B54 7001FF54 03316823 */ subu $t5, $t9, $s1 -/* 020B58 7001FF58 1000000D */ b .L7001FF90 -/* 020B5C 7001FF5C AE0D0018 */ sw $t5, 0x18($s0) -.L7001FF60: -/* 020B60 7001FF60 8E0E0004 */ lw $t6, 4($s0) -/* 020B64 7001FF64 8D4F0018 */ lw $t7, 0x18($t2) -/* 020B68 7001FF68 8FB90070 */ lw $t9, 0x70($sp) -/* 020B6C 7001FF6C 000EC023 */ negu $t8, $t6 -/* 020B70 7001FF70 00186040 */ sll $t4, $t8, 1 -/* 020B74 7001FF74 01402025 */ move $a0, $t2 -/* 020B78 7001FF78 8FA60068 */ lw $a2, 0x68($sp) -/* 020B7C 7001FF7C 02203825 */ move $a3, $s1 -/* 020B80 7001FF80 01EC2821 */ addu $a1, $t7, $t4 -/* 020B84 7001FF84 0C007EFE */ jal _loadBuffer -/* 020B88 7001FF88 AFB90010 */ sw $t9, 0x10($sp) -/* 020B8C 7001FF8C 00401825 */ move $v1, $v0 -.L7001FF90: -/* 020B90 7001FF90 8FBF0024 */ lw $ra, 0x24($sp) -/* 020B94 7001FF94 8FB0001C */ lw $s0, 0x1c($sp) -/* 020B98 7001FF98 8FB10020 */ lw $s1, 0x20($sp) -/* 020B9C 7001FF9C 27BD0060 */ addiu $sp, $sp, 0x60 -/* 020BA0 7001FFA0 03E00008 */ jr $ra -/* 020BA4 7001FFA4 00601025 */ move $v0, $v1 - -glabel alFxParamHdl -/* 020BA8 7001FFA8 24A2FFFE */ addiu $v0, $a1, -2 -/* 020BAC 7001FFAC 304E0007 */ andi $t6, $v0, 7 -/* 020BB0 7001FFB0 2DC10008 */ sltiu $at, $t6, 8 -/* 020BB4 7001FFB4 10200080 */ beqz $at, .L700201B8 -/* 020BB8 7001FFB8 8CC30000 */ lw $v1, ($a2) -/* 020BBC 7001FFBC 000E7080 */ sll $t6, $t6, 2 -/* 020BC0 7001FFC0 3C018003 */ lui $at, 0x8003 -/* 020BC4 7001FFC4 002E0821 */ addu $at, $at, $t6 -/* 020BC8 7001FFC8 8C2E9D10 */ lw $t6, -0x62f0($at) -/* 020BCC 7001FFCC 01C00008 */ jr $t6 -/* 020BD0 7001FFD0 00000000 */ nop -.L7001FFD4: -/* 020BD4 7001FFD4 8C8F0020 */ lw $t7, 0x20($a0) -/* 020BD8 7001FFD8 04410003 */ bgez $v0, .L7001FFE8 -/* 020BDC 7001FFDC 0002C0C3 */ sra $t8, $v0, 3 -/* 020BE0 7001FFE0 24410007 */ addiu $at, $v0, 7 -/* 020BE4 7001FFE4 0001C0C3 */ sra $t8, $at, 3 -.L7001FFE8: -/* 020BE8 7001FFE8 0018C880 */ sll $t9, $t8, 2 -/* 020BEC 7001FFEC 0338C821 */ addu $t9, $t9, $t8 -/* 020BF0 7001FFF0 0019C8C0 */ sll $t9, $t9, 3 -/* 020BF4 7001FFF4 01F94021 */ addu $t0, $t7, $t9 -/* 020BF8 7001FFF8 AD030000 */ sw $v1, ($t0) -/* 020BFC 7001FFFC 03E00008 */ jr $ra -/* 020C00 70020000 00001025 */ move $v0, $zero -.L70020004: -/* 020C04 70020004 8C890020 */ lw $t1, 0x20($a0) -/* 020C08 70020008 04410003 */ bgez $v0, .L70020018 -/* 020C0C 7002000C 000250C3 */ sra $t2, $v0, 3 -/* 020C10 70020010 24410007 */ addiu $at, $v0, 7 -/* 020C14 70020014 000150C3 */ sra $t2, $at, 3 -.L70020018: -/* 020C18 70020018 000A5880 */ sll $t3, $t2, 2 -/* 020C1C 7002001C 016A5821 */ addu $t3, $t3, $t2 -/* 020C20 70020020 000B58C0 */ sll $t3, $t3, 3 -/* 020C24 70020024 012B6021 */ addu $t4, $t1, $t3 -/* 020C28 70020028 AD830004 */ sw $v1, 4($t4) -/* 020C2C 7002002C 03E00008 */ jr $ra -/* 020C30 70020030 00001025 */ move $v0, $zero -.L70020034: -/* 020C34 70020034 8C8D0020 */ lw $t5, 0x20($a0) -/* 020C38 70020038 04410003 */ bgez $v0, .L70020048 -/* 020C3C 7002003C 000270C3 */ sra $t6, $v0, 3 -/* 020C40 70020040 24410007 */ addiu $at, $v0, 7 -/* 020C44 70020044 000170C3 */ sra $t6, $at, 3 -.L70020048: -/* 020C48 70020048 000EC080 */ sll $t8, $t6, 2 -/* 020C4C 7002004C 030EC021 */ addu $t8, $t8, $t6 -/* 020C50 70020050 0018C0C0 */ sll $t8, $t8, 3 -/* 020C54 70020054 01B87821 */ addu $t7, $t5, $t8 -/* 020C58 70020058 A5E30008 */ sh $v1, 8($t7) -/* 020C5C 7002005C 03E00008 */ jr $ra -/* 020C60 70020060 00001025 */ move $v0, $zero -.L70020064: -/* 020C64 70020064 8C990020 */ lw $t9, 0x20($a0) -/* 020C68 70020068 04410003 */ bgez $v0, .L70020078 -/* 020C6C 7002006C 000240C3 */ sra $t0, $v0, 3 -/* 020C70 70020070 24410007 */ addiu $at, $v0, 7 -/* 020C74 70020074 000140C3 */ sra $t0, $at, 3 -.L70020078: -/* 020C78 70020078 00085080 */ sll $t2, $t0, 2 -/* 020C7C 7002007C 01485021 */ addu $t2, $t2, $t0 -/* 020C80 70020080 000A50C0 */ sll $t2, $t2, 3 -/* 020C84 70020084 032A4821 */ addu $t1, $t9, $t2 -/* 020C88 70020088 A523000A */ sh $v1, 0xa($t1) -/* 020C8C 7002008C 03E00008 */ jr $ra -/* 020C90 70020090 00001025 */ move $v0, $zero -.L70020094: -/* 020C94 70020094 8C8B0020 */ lw $t3, 0x20($a0) -/* 020C98 70020098 04410003 */ bgez $v0, .L700200A8 -/* 020C9C 7002009C 000260C3 */ sra $t4, $v0, 3 -/* 020CA0 700200A0 24410007 */ addiu $at, $v0, 7 -/* 020CA4 700200A4 000160C3 */ sra $t4, $at, 3 -.L700200A8: -/* 020CA8 700200A8 000C7080 */ sll $t6, $t4, 2 -/* 020CAC 700200AC 01CC7021 */ addu $t6, $t6, $t4 -/* 020CB0 700200B0 000E70C0 */ sll $t6, $t6, 3 -/* 020CB4 700200B4 016E6821 */ addu $t5, $t3, $t6 -/* 020CB8 700200B8 A5A3000C */ sh $v1, 0xc($t5) -/* 020CBC 700200BC 03E00008 */ jr $ra -/* 020CC0 700200C0 00001025 */ move $v0, $zero -.L700200C4: -/* 020CC4 700200C4 44832000 */ mtc1 $v1, $f4 -/* 020CC8 700200C8 3C018003 */ lui $at, %hi(F64_80029D30) # $at, 0x8003 -/* 020CCC 700200CC C4289D30 */ lwc1 $f8, %lo(F64_80029D30)($at) -/* 020CD0 700200D0 468021A0 */ cvt.s.w $f6, $f4 -/* 020CD4 700200D4 8C980020 */ lw $t8, 0x20($a0) -/* 020CD8 700200D8 46083283 */ div.s $f10, $f6, $f8 -/* 020CDC 700200DC 04410003 */ bgez $v0, .L700200EC -/* 020CE0 700200E0 000278C3 */ sra $t7, $v0, 3 -/* 020CE4 700200E4 24410007 */ addiu $at, $v0, 7 -/* 020CE8 700200E8 000178C3 */ sra $t7, $at, 3 -.L700200EC: -/* 020CEC 700200EC 000F4080 */ sll $t0, $t7, 2 -/* 020CF0 700200F0 010F4021 */ addu $t0, $t0, $t7 -/* 020CF4 700200F4 000840C0 */ sll $t0, $t0, 3 -/* 020CF8 700200F8 0308C821 */ addu $t9, $t8, $t0 -/* 020CFC 700200FC 00001025 */ move $v0, $zero -/* 020D00 70020100 03E00008 */ jr $ra -/* 020D04 70020104 E72A0010 */ swc1 $f10, 0x10($t9) -.L70020108: -/* 020D08 70020108 8C8A0020 */ lw $t2, 0x20($a0) -/* 020D0C 7002010C 04410003 */ bgez $v0, .L7002011C -/* 020D10 70020110 000248C3 */ sra $t1, $v0, 3 -/* 020D14 70020114 24410007 */ addiu $at, $v0, 7 -/* 020D18 70020118 000148C3 */ sra $t1, $at, 3 -.L7002011C: -/* 020D1C 7002011C 00096080 */ sll $t4, $t1, 2 -/* 020D20 70020120 01896021 */ addu $t4, $t4, $t1 -/* 020D24 70020124 000C60C0 */ sll $t4, $t4, 3 -/* 020D28 70020128 014C2821 */ addu $a1, $t2, $t4 -/* 020D2C 7002012C 8CAB0004 */ lw $t3, 4($a1) -/* 020D30 70020130 8CAE0000 */ lw $t6, ($a1) -/* 020D34 70020134 44833000 */ mtc1 $v1, $f6 -/* 020D38 70020138 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 020D3C 7002013C 016E6823 */ subu $t5, $t3, $t6 -/* 020D40 70020140 448D8000 */ mtc1 $t5, $f16 -/* 020D44 70020144 46803220 */ cvt.s.w $f8, $f6 -/* 020D48 70020148 05A10005 */ bgez $t5, .L70020160 -/* 020D4C 7002014C 468084A1 */ cvt.d.w $f18, $f16 -/* 020D50 70020150 44812800 */ mtc1 $at, $f5 -/* 020D54 70020154 44802000 */ mtc1 $zero, $f4 -/* 020D58 70020158 00000000 */ nop -/* 020D5C 7002015C 46249480 */ add.d $f18, $f18, $f4 -.L70020160: -/* 020D60 70020160 3C018003 */ lui $at, 0x8003 -/* 020D64 70020164 D4309D38 */ ldc1 $f16, -0x62c8($at) -/* 020D68 70020168 460042A1 */ cvt.d.s $f10, $f8 -/* 020D6C 7002016C 00001025 */ move $v0, $zero -/* 020D70 70020170 46305103 */ div.d $f4, $f10, $f16 -/* 020D74 70020174 46249182 */ mul.d $f6, $f18, $f4 -/* 020D78 70020178 46203220 */ cvt.s.d $f8, $f6 -/* 020D7C 7002017C 03E00008 */ jr $ra -/* 020D80 70020180 E4A8001C */ swc1 $f8, 0x1c($a1) -.L70020184: -/* 020D84 70020184 8C8F0020 */ lw $t7, 0x20($a0) -/* 020D88 70020188 04410003 */ bgez $v0, .L70020198 -/* 020D8C 7002018C 0002C0C3 */ sra $t8, $v0, 3 -/* 020D90 70020190 24410007 */ addiu $at, $v0, 7 -/* 020D94 70020194 0001C0C3 */ sra $t8, $at, 3 -.L70020198: -/* 020D98 70020198 00184080 */ sll $t0, $t8, 2 -/* 020D9C 7002019C 01184021 */ addu $t0, $t0, $t8 -/* 020DA0 700201A0 000840C0 */ sll $t0, $t0, 3 -/* 020DA4 700201A4 01E8C821 */ addu $t9, $t7, $t0 -/* 020DA8 700201A8 8F250020 */ lw $a1, 0x20($t9) -/* 020DAC 700201AC 10A00002 */ beqz $a1, .L700201B8 -/* 020DB0 700201B0 00000000 */ nop -/* 020DB4 700201B4 A4A30000 */ sh $v1, ($a1) -.L700201B8: -/* 020DB8 700201B8 03E00008 */ jr $ra -/* 020DBC 700201BC 00001025 */ move $v0, $zero - -glabel alFxParam -/* 020DC0 700201C0 24010001 */ li $at, 1 -/* 020DC4 700201C4 14A10002 */ bne $a1, $at, .L700201D0 -/* 020DC8 700201C8 00000000 */ nop -/* 020DCC 700201CC AC860000 */ sw $a2, ($a0) -.L700201D0: -/* 020DD0 700201D0 03E00008 */ jr $ra -/* 020DD4 700201D4 00001025 */ move $v0, $zero - -glabel alFxPull -/* 020DD8 700201D8 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 020DDC 700201DC AFB3002C */ sw $s3, 0x2c($sp) -/* 020DE0 700201E0 00809825 */ move $s3, $a0 -/* 020DE4 700201E4 AFBF0044 */ sw $ra, 0x44($sp) -/* 020DE8 700201E8 AFBE0040 */ sw $fp, 0x40($sp) -/* 020DEC 700201EC AFB7003C */ sw $s7, 0x3c($sp) -/* 020DF0 700201F0 AFB60038 */ sw $s6, 0x38($sp) -/* 020DF4 700201F4 AFB50034 */ sw $s5, 0x34($sp) -/* 020DF8 700201F8 AFB40030 */ sw $s4, 0x30($sp) -/* 020DFC 700201FC AFB20028 */ sw $s2, 0x28($sp) -/* 020E00 70020200 AFB10024 */ sw $s1, 0x24($sp) -/* 020E04 70020204 AFB00020 */ sw $s0, 0x20($sp) -/* 020E08 70020208 8C840000 */ lw $a0, ($a0) -/* 020E0C 7002020C 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 020E10 70020210 AFA00080 */ sw $zero, 0x80($sp) -/* 020E14 70020214 00C0B025 */ move $s6, $a2 -/* 020E18 70020218 AFAE0010 */ sw $t6, 0x10($sp) -/* 020E1C 7002021C 8C990004 */ lw $t9, 4($a0) -/* 020E20 70020220 0320F809 */ jalr $t9 -/* 020E24 70020224 00000000 */ nop -/* 020E28 70020228 00168840 */ sll $s1, $s6, 1 -/* 020E2C 7002022C 3C180C00 */ lui $t8, (0x0C00DA83 >> 16) # lui $t8, 0xc00 -/* 020E30 70020230 3C0A06C0 */ lui $t2, (0x06C006C0 >> 16) # lui $t2, 0x6c0 -/* 020E34 70020234 3C0B0C00 */ lui $t3, (0x0C005A82 >> 16) # lui $t3, 0xc00 -/* 020E38 70020238 3C0C0800 */ lui $t4, (0x080006C0 >> 16) # lui $t4, 0x800 -/* 020E3C 7002023C 3229FFFF */ andi $t1, $s1, 0xffff -/* 020E40 70020240 3C0F0800 */ lui $t7, 0x800 -/* 020E44 70020244 354A06C0 */ ori $t2, (0x06C006C0 & 0xFFFF) # ori $t2, $t2, 0x6c0 -/* 020E48 70020248 3718DA83 */ ori $t8, (0x0C00DA83 & 0xFFFF) # ori $t8, $t8, 0xda83 -/* 020E4C 7002024C 358C06C0 */ ori $t4, (0x080006C0 & 0xFFFF) # ori $t4, $t4, 0x6c0 -/* 020E50 70020250 356B5A82 */ ori $t3, (0x0C005A82 & 0xFFFF) # ori $t3, $t3, 0x5a82 -/* 020E54 70020254 AC4F0000 */ sw $t7, ($v0) -/* 020E58 70020258 AC490004 */ sw $t1, 4($v0) -/* 020E5C 7002025C AC580008 */ sw $t8, 8($v0) -/* 020E60 70020260 AC4A000C */ sw $t2, 0xc($v0) -/* 020E64 70020264 AC4B0010 */ sw $t3, 0x10($v0) -/* 020E68 70020268 AC4C0014 */ sw $t4, 0x14($v0) -/* 020E6C 7002026C 8E650018 */ lw $a1, 0x18($s3) -/* 020E70 70020270 244D0018 */ addiu $t5, $v0, 0x18 -/* 020E74 70020274 0000A825 */ move $s5, $zero -/* 020E78 70020278 24120140 */ li $s2, 320 -/* 020E7C 7002027C AFAD0010 */ sw $t5, 0x10($sp) -/* 020E80 70020280 AFA90048 */ sw $t1, 0x48($sp) -/* 020E84 70020284 AFB10050 */ sw $s1, 0x50($sp) -/* 020E88 70020288 02602025 */ move $a0, $s3 -/* 020E8C 7002028C 240606C0 */ li $a2, 1728 -/* 020E90 70020290 0C007E9C */ jal _saveBuffer -/* 020E94 70020294 02C03825 */ move $a3, $s6 -/* 020E98 70020298 8FA30080 */ lw $v1, 0x80($sp) -/* 020E9C 7002029C 3C0E0200 */ lui $t6, (0x02000800 >> 16) # lui $t6, 0x200 -/* 020EA0 700202A0 35CE0800 */ ori $t6, (0x02000800 & 0xFFFF) # ori $t6, $t6, 0x800 -/* 020EA4 700202A4 AC4E0000 */ sw $t6, ($v0) -/* 020EA8 700202A8 AC510004 */ sw $s1, 4($v0) -/* 020EAC 700202AC 92790024 */ lbu $t9, 0x24($s3) -/* 020EB0 700202B0 24500008 */ addiu $s0, $v0, 8 -/* 020EB4 700202B4 0000B825 */ move $s7, $zero -/* 020EB8 700202B8 5B200077 */ blezl $t9, .L70020498 -/* 020EBC 700202BC 8E63001C */ lw $v1, 0x1c($s3) -/* 020EC0 700202C0 8E620018 */ lw $v0, 0x18($s3) -.L700202C4: -/* 020EC4 700202C4 8E6F0020 */ lw $t7, 0x20($s3) -/* 020EC8 700202C8 0017C080 */ sll $t8, $s7, 2 -/* 020ECC 700202CC 0317C021 */ addu $t8, $t8, $s7 -/* 020ED0 700202D0 0018C0C0 */ sll $t8, $t8, 3 -/* 020ED4 700202D4 01F88821 */ addu $s1, $t7, $t8 -/* 020ED8 700202D8 8E2A0000 */ lw $t2, ($s1) -/* 020EDC 700202DC 8E2D0004 */ lw $t5, 4($s1) -/* 020EE0 700202E0 02602025 */ move $a0, $s3 -/* 020EE4 700202E4 000A5823 */ negu $t3, $t2 -/* 020EE8 700202E8 000B6040 */ sll $t4, $t3, 1 -/* 020EEC 700202EC 000D7023 */ negu $t6, $t5 -/* 020EF0 700202F0 004CA021 */ addu $s4, $v0, $t4 -/* 020EF4 700202F4 000EC840 */ sll $t9, $t6, 1 -/* 020EF8 700202F8 16830009 */ bne $s4, $v1, .L70020320 -/* 020EFC 700202FC 0059F021 */ addu $fp, $v0, $t9 -/* 020F00 70020300 02407825 */ move $t7, $s2 -/* 020F04 70020304 00159400 */ sll $s2, $s5, 0x10 -/* 020F08 70020308 000FAC00 */ sll $s5, $t7, 0x10 -/* 020F0C 7002030C 00155403 */ sra $t2, $s5, 0x10 -/* 020F10 70020310 0012C403 */ sra $t8, $s2, 0x10 -/* 020F14 70020314 03009025 */ move $s2, $t8 -/* 020F18 70020318 10000007 */ b .L70020338 -/* 020F1C 7002031C 0140A825 */ move $s5, $t2 -.L70020320: -/* 020F20 70020320 02802825 */ move $a1, $s4 -/* 020F24 70020324 02A03025 */ move $a2, $s5 -/* 020F28 70020328 02C03825 */ move $a3, $s6 -/* 020F2C 7002032C 0C007EFE */ jal _loadBuffer -/* 020F30 70020330 AFB00010 */ sw $s0, 0x10($sp) -/* 020F34 70020334 00408025 */ move $s0, $v0 -.L70020338: -/* 020F38 70020338 02602025 */ move $a0, $s3 -/* 020F3C 7002033C 02202825 */ move $a1, $s1 -/* 020F40 70020340 02403025 */ move $a2, $s2 -/* 020F44 70020344 02C03825 */ move $a3, $s6 -/* 020F48 70020348 0C007F61 */ jal _loadOutputBuffer -/* 020F4C 7002034C AFB00010 */ sw $s0, 0x10($sp) -/* 020F50 70020350 86240008 */ lh $a0, 8($s1) -/* 020F54 70020354 00408025 */ move $s0, $v0 -/* 020F58 70020358 3C010C00 */ lui $at, 0xc00 -/* 020F5C 7002035C 10800014 */ beqz $a0, .L700203B0 -/* 020F60 70020360 308CFFFF */ andi $t4, $a0, 0xffff -/* 020F64 70020364 0015CC00 */ sll $t9, $s5, 0x10 -/* 020F68 70020368 324FFFFF */ andi $t7, $s2, 0xffff -/* 020F6C 7002036C 032FC025 */ or $t8, $t9, $t7 -/* 020F70 70020370 01816825 */ or $t5, $t4, $at -/* 020F74 70020374 AC4D0000 */ sw $t5, ($v0) -/* 020F78 70020378 AC580004 */ sw $t8, 4($v0) -/* 020F7C 7002037C 8E2A0024 */ lw $t2, 0x24($s1) -/* 020F80 70020380 24500008 */ addiu $s0, $v0, 8 -/* 020F84 70020384 5540000B */ bnezl $t2, .L700203B4 -/* 020F88 70020388 8623000A */ lh $v1, 0xa($s1) -/* 020F8C 7002038C 8E2B0020 */ lw $t3, 0x20($s1) -/* 020F90 70020390 02602025 */ move $a0, $s3 -/* 020F94 70020394 03C02825 */ move $a1, $fp -/* 020F98 70020398 15600005 */ bnez $t3, .L700203B0 -/* 020F9C 7002039C 02403025 */ move $a2, $s2 -/* 020FA0 700203A0 02C03825 */ move $a3, $s6 -/* 020FA4 700203A4 0C007E9C */ jal _saveBuffer -/* 020FA8 700203A8 AFB00010 */ sw $s0, 0x10($sp) -/* 020FAC 700203AC 00408025 */ move $s0, $v0 -.L700203B0: -/* 020FB0 700203B0 8623000A */ lh $v1, 0xa($s1) -.L700203B4: -/* 020FB4 700203B4 02001025 */ move $v0, $s0 -/* 020FB8 700203B8 3C010C00 */ lui $at, 0xc00 -/* 020FBC 700203BC 1060000F */ beqz $v1, .L700203FC -/* 020FC0 700203C0 306DFFFF */ andi $t5, $v1, 0xffff -/* 020FC4 700203C4 00127C00 */ sll $t7, $s2, 0x10 -/* 020FC8 700203C8 32B8FFFF */ andi $t8, $s5, 0xffff -/* 020FCC 700203CC 01F85025 */ or $t2, $t7, $t8 -/* 020FD0 700203D0 01A17025 */ or $t6, $t5, $at -/* 020FD4 700203D4 AC4E0000 */ sw $t6, ($v0) -/* 020FD8 700203D8 AC4A0004 */ sw $t2, 4($v0) -/* 020FDC 700203DC 26100008 */ addiu $s0, $s0, 8 -/* 020FE0 700203E0 AFB00010 */ sw $s0, 0x10($sp) -/* 020FE4 700203E4 02602025 */ move $a0, $s3 -/* 020FE8 700203E8 02802825 */ move $a1, $s4 -/* 020FEC 700203EC 02A03025 */ move $a2, $s5 -/* 020FF0 700203F0 0C007E9C */ jal _saveBuffer -/* 020FF4 700203F4 02C03825 */ move $a3, $s6 -/* 020FF8 700203F8 00408025 */ move $s0, $v0 -.L700203FC: -/* 020FFC 700203FC 8E240020 */ lw $a0, 0x20($s1) -/* 021000 70020400 02402825 */ move $a1, $s2 -/* 021004 70020404 02C03025 */ move $a2, $s6 -/* 021008 70020408 50800005 */ beql $a0, $zero, .L70020420 -/* 02100C 7002040C 8E2B0024 */ lw $t3, 0x24($s1) -/* 021010 70020410 0C007E6E */ jal _filterBuffer -/* 021014 70020414 02003825 */ move $a3, $s0 -/* 021018 70020418 00408025 */ move $s0, $v0 -/* 02101C 7002041C 8E2B0024 */ lw $t3, 0x24($s1) -.L70020420: -/* 021020 70020420 02602025 */ move $a0, $s3 -/* 021024 70020424 03C02825 */ move $a1, $fp -/* 021028 70020428 15600005 */ bnez $t3, .L70020440 -/* 02102C 7002042C 02403025 */ move $a2, $s2 -/* 021030 70020430 02C03825 */ move $a3, $s6 -/* 021034 70020434 0C007E9C */ jal _saveBuffer -/* 021038 70020438 AFB00010 */ sw $s0, 0x10($sp) -/* 02103C 7002043C 00408025 */ move $s0, $v0 -.L70020440: -/* 021040 70020440 8623000C */ lh $v1, 0xc($s1) -/* 021044 70020444 26F70001 */ addiu $s7, $s7, 1 -/* 021048 70020448 00176400 */ sll $t4, $s7, 0x10 -/* 02104C 7002044C 1060000A */ beqz $v1, .L70020478 -/* 021050 70020450 000CBC03 */ sra $s7, $t4, 0x10 -/* 021054 70020454 02001025 */ move $v0, $s0 -/* 021058 70020458 306DFFFF */ andi $t5, $v1, 0xffff -/* 02105C 7002045C 3C010C00 */ lui $at, 0xc00 -/* 021060 70020460 00127C00 */ sll $t7, $s2, 0x10 -/* 021064 70020464 35F80800 */ ori $t8, $t7, 0x800 -/* 021068 70020468 01A17025 */ or $t6, $t5, $at -/* 02106C 7002046C AC4E0000 */ sw $t6, ($v0) -/* 021070 70020470 AC580004 */ sw $t8, 4($v0) -/* 021074 70020474 26100008 */ addiu $s0, $s0, 8 -.L70020478: -/* 021078 70020478 926E0024 */ lbu $t6, 0x24($s3) -/* 02107C 7002047C 8E2A0004 */ lw $t2, 4($s1) -/* 021080 70020480 8E620018 */ lw $v0, 0x18($s3) -/* 021084 70020484 02EE082A */ slt $at, $s7, $t6 -/* 021088 70020488 000A5840 */ sll $t3, $t2, 1 -/* 02108C 7002048C 1420FF8D */ bnez $at, .L700202C4 -/* 021090 70020490 004B1821 */ addu $v1, $v0, $t3 -/* 021094 70020494 8E63001C */ lw $v1, 0x1c($s3) -.L70020498: -/* 021098 70020498 8E790018 */ lw $t9, 0x18($s3) -/* 02109C 7002049C 8FAF0050 */ lw $t7, 0x50($sp) -/* 0210A0 700204A0 8E6B0014 */ lw $t3, 0x14($s3) -/* 0210A4 700204A4 00035040 */ sll $t2, $v1, 1 -/* 0210A8 700204A8 032FC021 */ addu $t8, $t9, $t7 -/* 0210AC 700204AC 016A6021 */ addu $t4, $t3, $t2 -/* 0210B0 700204B0 0198082B */ sltu $at, $t4, $t8 -/* 0210B4 700204B4 10200003 */ beqz $at, .L700204C4 -/* 0210B8 700204B8 AE780018 */ sw $t8, 0x18($s3) -/* 0210BC 700204BC 030A6823 */ subu $t5, $t8, $t2 -/* 0210C0 700204C0 AE6D0018 */ sw $t5, 0x18($s3) -.L700204C4: -/* 0210C4 700204C4 3C0E0A00 */ lui $t6, (0x0A000800 >> 16) # lui $t6, 0xa00 -/* 0210C8 700204C8 35CE0800 */ ori $t6, (0x0A000800 & 0xFFFF) # ori $t6, $t6, 0x800 -/* 0210CC 700204CC 02001825 */ move $v1, $s0 -/* 0210D0 700204D0 AC6E0000 */ sw $t6, ($v1) -/* 0210D4 700204D4 8FB90048 */ lw $t9, 0x48($sp) -/* 0210D8 700204D8 3C0106C0 */ lui $at, 0x6c0 -/* 0210DC 700204DC 26020008 */ addiu $v0, $s0, 8 -/* 0210E0 700204E0 03217825 */ or $t7, $t9, $at -/* 0210E4 700204E4 AC6F0004 */ sw $t7, 4($v1) -/* 0210E8 700204E8 8FBF0044 */ lw $ra, 0x44($sp) -/* 0210EC 700204EC 8FBE0040 */ lw $fp, 0x40($sp) -/* 0210F0 700204F0 8FB7003C */ lw $s7, 0x3c($sp) -/* 0210F4 700204F4 8FB60038 */ lw $s6, 0x38($sp) -/* 0210F8 700204F8 8FB50034 */ lw $s5, 0x34($sp) -/* 0210FC 700204FC 8FB40030 */ lw $s4, 0x30($sp) -/* 021100 70020500 8FB3002C */ lw $s3, 0x2c($sp) -/* 021104 70020504 8FB20028 */ lw $s2, 0x28($sp) -/* 021108 70020508 8FB10024 */ lw $s1, 0x24($sp) -/* 02110C 7002050C 8FB00020 */ lw $s0, 0x20($sp) -/* 021110 70020510 03E00008 */ jr $ra -/* 021114 70020514 27BD00A8 */ addiu $sp, $sp, 0xa8 - -/* 021118 70020518 00000000 */ nop -/* 02111C 7002051C 00000000 */ nop -.section .rodata -glabel jpt_8001FFCC - .word .L7001FFD4 - .word .L70020004 - .word .L70020064 - .word .L70020034 - .word .L70020094 - .word .L700200C4 - .word .L70020108 - .word .L70020184 -glabel F64_80029D30 - .double 4.903983392368225e55 -glabel F64_80029D38 - .double 173123.404906676 -glabel F64_80029D40 - .double 1.492225746711883e306 -.word 0 -.word 0 - -.section .text -glabel alSeqGetLoc -/* 021120 70020520 8C8E0008 */ lw $t6, 8($a0) -/* 021124 70020524 ACAE0000 */ sw $t6, ($a1) -/* 021128 70020528 848F001A */ lh $t7, 0x1a($a0) -/* 02112C 7002052C A4AF000C */ sh $t7, 0xc($a1) -/* 021130 70020530 8C98000C */ lw $t8, 0xc($a0) -/* 021134 70020534 03E00008 */ jr $ra -/* 021138 70020538 ACB80004 */ sw $t8, 4($a1) - -glabel alSeqSetLoc -/* 02113C 7002053C 8CAE0000 */ lw $t6, ($a1) -/* 021140 70020540 AC8E0008 */ sw $t6, 8($a0) -/* 021144 70020544 84AF000C */ lh $t7, 0xc($a1) -/* 021148 70020548 A48F001A */ sh $t7, 0x1a($a0) -/* 02114C 7002054C 8CB80004 */ lw $t8, 4($a1) -/* 021150 70020550 03E00008 */ jr $ra -/* 021154 70020554 AC98000C */ sw $t8, 0xc($a0) - -glabel alSeqGetTicks -/* 021158 70020558 03E00008 */ jr $ra -/* 02115C 7002055C 8C82000C */ lw $v0, 0xc($a0) - -/* 021160 70020560 03E00008 */ jr $ra -/* 021164 70020564 00000000 */ nop - -glabel readVarLen -/* 021168 70020568 8C830008 */ lw $v1, 8($a0) -/* 02116C 7002056C 90620000 */ lbu $v0, ($v1) -/* 021170 70020570 246E0001 */ addiu $t6, $v1, 1 -/* 021174 70020574 AC8E0008 */ sw $t6, 8($a0) -/* 021178 70020578 304F0080 */ andi $t7, $v0, 0x80 -/* 02117C 7002057C 11E0000B */ beqz $t7, .L700205AC -/* 021180 70020580 00402825 */ move $a1, $v0 -/* 021184 70020584 3045007F */ andi $a1, $v0, 0x7f -.L70020588: -/* 021188 70020588 8C830008 */ lw $v1, 8($a0) -/* 02118C 7002058C 0005C9C0 */ sll $t9, $a1, 7 -/* 021190 70020590 90620000 */ lbu $v0, ($v1) -/* 021194 70020594 24780001 */ addiu $t8, $v1, 1 -/* 021198 70020598 AC980008 */ sw $t8, 8($a0) -/* 02119C 7002059C 304E007F */ andi $t6, $v0, 0x7f -/* 0211A0 700205A0 304F0080 */ andi $t7, $v0, 0x80 -/* 0211A4 700205A4 15E0FFF8 */ bnez $t7, .L70020588 -/* 0211A8 700205A8 032E2821 */ addu $a1, $t9, $t6 -.L700205AC: -/* 0211AC 700205AC 03E00008 */ jr $ra -/* 0211B0 700205B0 00A01025 */ move $v0, $a1 - -glabel alSeqNextEvent -/* 0211B4 700205B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0211B8 700205B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0211BC 700205BC 00803025 */ move $a2, $a0 -/* 0211C0 700205C0 0C00815A */ jal readVarLen -/* 0211C4 700205C4 00A03825 */ move $a3, $a1 -/* 0211C8 700205C8 8CCE000C */ lw $t6, 0xc($a2) -/* 0211CC 700205CC 8CC30008 */ lw $v1, 8($a2) -/* 0211D0 700205D0 00404825 */ move $t1, $v0 -/* 0211D4 700205D4 01C27821 */ addu $t7, $t6, $v0 -/* 0211D8 700205D8 ACCF000C */ sw $t7, 0xc($a2) -/* 0211DC 700205DC 90640000 */ lbu $a0, ($v1) -/* 0211E0 700205E0 240100FF */ li $at, 255 -/* 0211E4 700205E4 24780001 */ addiu $t8, $v1, 1 -/* 0211E8 700205E8 ACD80008 */ sw $t8, 8($a2) -/* 0211EC 700205EC 00801025 */ move $v0, $a0 -/* 0211F0 700205F0 1481002F */ bne $a0, $at, .L700206B0 -/* 0211F4 700205F4 308500FF */ andi $a1, $a0, 0xff -/* 0211F8 700205F8 93020000 */ lbu $v0, ($t8) -/* 0211FC 700205FC 27190001 */ addiu $t9, $t8, 1 -/* 021200 70020600 24010051 */ li $at, 81 -/* 021204 70020604 ACD90008 */ sw $t9, 8($a2) -/* 021208 70020608 1441001B */ bne $v0, $at, .L70020678 -/* 02120C 7002060C 00404025 */ move $t0, $v0 -/* 021210 70020610 240E0003 */ li $t6, 3 -/* 021214 70020614 A4EE0000 */ sh $t6, ($a3) -/* 021218 70020618 ACE90004 */ sw $t1, 4($a3) -/* 02121C 7002061C A0E50008 */ sb $a1, 8($a3) -/* 021220 70020620 A0E80009 */ sb $t0, 9($a3) -/* 021224 70020624 8CC30008 */ lw $v1, 8($a2) -/* 021228 70020628 90620000 */ lbu $v0, ($v1) -/* 02122C 7002062C 246F0001 */ addiu $t7, $v1, 1 -/* 021230 70020630 ACCF0008 */ sw $t7, 8($a2) -/* 021234 70020634 A0E2000A */ sb $v0, 0xa($a3) -/* 021238 70020638 8CC30008 */ lw $v1, 8($a2) -/* 02123C 7002063C 90640000 */ lbu $a0, ($v1) -/* 021240 70020640 24780001 */ addiu $t8, $v1, 1 -/* 021244 70020644 ACD80008 */ sw $t8, 8($a2) -/* 021248 70020648 A0E4000B */ sb $a0, 0xb($a3) -/* 02124C 7002064C 8CC30008 */ lw $v1, 8($a2) -/* 021250 70020650 90650000 */ lbu $a1, ($v1) -/* 021254 70020654 24790001 */ addiu $t9, $v1, 1 -/* 021258 70020658 ACD90008 */ sw $t9, 8($a2) -/* 02125C 7002065C A0E5000C */ sb $a1, 0xc($a3) -/* 021260 70020660 8CC30008 */ lw $v1, 8($a2) -/* 021264 70020664 90640000 */ lbu $a0, ($v1) -/* 021268 70020668 246E0001 */ addiu $t6, $v1, 1 -/* 02126C 7002066C ACCE0008 */ sw $t6, 8($a2) -/* 021270 70020670 1000000D */ b .L700206A8 -/* 021274 70020674 A0E4000D */ sb $a0, 0xd($a3) -.L70020678: -/* 021278 70020678 2401002F */ li $at, 47 -/* 02127C 7002067C 1441000A */ bne $v0, $at, .L700206A8 -/* 021280 70020680 240F0004 */ li $t7, 4 -/* 021284 70020684 A4EF0000 */ sh $t7, ($a3) -/* 021288 70020688 ACE90004 */ sw $t1, 4($a3) -/* 02128C 7002068C A0E50008 */ sb $a1, 8($a3) -/* 021290 70020690 A0E80009 */ sb $t0, 9($a3) -/* 021294 70020694 8CC30008 */ lw $v1, 8($a2) -/* 021298 70020698 90640000 */ lbu $a0, ($v1) -/* 02129C 7002069C 24780001 */ addiu $t8, $v1, 1 -/* 0212A0 700206A0 ACD80008 */ sw $t8, 8($a2) -/* 0212A4 700206A4 A0E4000A */ sb $a0, 0xa($a3) -.L700206A8: -/* 0212A8 700206A8 1000001F */ b .L70020728 -/* 0212AC 700206AC A4C0001A */ sh $zero, 0x1a($a2) -.L700206B0: -/* 0212B0 700206B0 24190001 */ li $t9, 1 -/* 0212B4 700206B4 304E0080 */ andi $t6, $v0, 0x80 -/* 0212B8 700206B8 A4F90000 */ sh $t9, ($a3) -/* 0212BC 700206BC 11C00009 */ beqz $t6, .L700206E4 -/* 0212C0 700206C0 ACE90004 */ sw $t1, 4($a3) -/* 0212C4 700206C4 A0E50008 */ sb $a1, 8($a3) -/* 0212C8 700206C8 8CC30008 */ lw $v1, 8($a2) -/* 0212CC 700206CC 90640000 */ lbu $a0, ($v1) -/* 0212D0 700206D0 246F0001 */ addiu $t7, $v1, 1 -/* 0212D4 700206D4 ACCF0008 */ sw $t7, 8($a2) -/* 0212D8 700206D8 A0E40009 */ sb $a0, 9($a3) -/* 0212DC 700206DC 10000004 */ b .L700206F0 -/* 0212E0 700206E0 A4C5001A */ sh $a1, 0x1a($a2) -.L700206E4: -/* 0212E4 700206E4 84D8001A */ lh $t8, 0x1a($a2) -/* 0212E8 700206E8 A0E40009 */ sb $a0, 9($a3) -/* 0212EC 700206EC A0F80008 */ sb $t8, 8($a3) -.L700206F0: -/* 0212F0 700206F0 90E20008 */ lbu $v0, 8($a3) -/* 0212F4 700206F4 240100C0 */ li $at, 192 -/* 0212F8 700206F8 305900F0 */ andi $t9, $v0, 0xf0 -/* 0212FC 700206FC 13210009 */ beq $t9, $at, .L70020724 -/* 021300 70020700 240100D0 */ li $at, 208 -/* 021304 70020704 53210008 */ beql $t9, $at, .L70020728 -/* 021308 70020708 A0E0000A */ sb $zero, 0xa($a3) -/* 02130C 7002070C 8CC30008 */ lw $v1, 8($a2) -/* 021310 70020710 90640000 */ lbu $a0, ($v1) -/* 021314 70020714 246E0001 */ addiu $t6, $v1, 1 -/* 021318 70020718 ACCE0008 */ sw $t6, 8($a2) -/* 02131C 7002071C 10000002 */ b .L70020728 -/* 021320 70020720 A0E4000A */ sb $a0, 0xa($a3) -.L70020724: -/* 021324 70020724 A0E0000A */ sb $zero, 0xa($a3) -.L70020728: -/* 021328 70020728 8FBF0014 */ lw $ra, 0x14($sp) -/* 02132C 7002072C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 021330 70020730 03E00008 */ jr $ra -/* 021334 70020734 00000000 */ nop - -glabel alSeqNewMarker -/* 021338 70020738 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 02133C 7002073C AFB70030 */ sw $s7, 0x30($sp) -/* 021340 70020740 AFB10018 */ sw $s1, 0x18($sp) -/* 021344 70020744 AFB00014 */ sw $s0, 0x14($sp) -/* 021348 70020748 00808025 */ move $s0, $a0 -/* 02134C 7002074C 00C08825 */ move $s1, $a2 -/* 021350 70020750 00A0B825 */ move $s7, $a1 -/* 021354 70020754 AFBF0034 */ sw $ra, 0x34($sp) -/* 021358 70020758 AFB6002C */ sw $s6, 0x2c($sp) -/* 02135C 7002075C AFB50028 */ sw $s5, 0x28($sp) -/* 021360 70020760 AFB40024 */ sw $s4, 0x24($sp) -/* 021364 70020764 AFB30020 */ sw $s3, 0x20($sp) -/* 021368 70020768 14C00007 */ bnez $a2, .L70020788 -/* 02136C 7002076C AFB2001C */ sw $s2, 0x1c($sp) -/* 021370 70020770 8C8E0004 */ lw $t6, 4($a0) -/* 021374 70020774 A4A0000C */ sh $zero, 0xc($a1) -/* 021378 70020778 ACA00004 */ sw $zero, 4($a1) -/* 02137C 7002077C ACA00008 */ sw $zero, 8($a1) -/* 021380 70020780 1000002A */ b .L7002082C -/* 021384 70020784 ACAE0000 */ sw $t6, ($a1) -.L70020788: -/* 021388 70020788 8E0F0008 */ lw $t7, 8($s0) -/* 02138C 7002078C 00001025 */ move $v0, $zero -/* 021390 70020790 24130004 */ li $s3, 4 -/* 021394 70020794 AFAF004C */ sw $t7, 0x4c($sp) -/* 021398 70020798 8618001A */ lh $t8, 0x1a($s0) -/* 02139C 7002079C 27B20050 */ addiu $s2, $sp, 0x50 -/* 0213A0 700207A0 A7B8003E */ sh $t8, 0x3e($sp) -/* 0213A4 700207A4 8E19000C */ lw $t9, 0xc($s0) -/* 0213A8 700207A8 AFB90044 */ sw $t9, 0x44($sp) -/* 0213AC 700207AC 8E080004 */ lw $t0, 4($s0) -/* 0213B0 700207B0 A600001A */ sh $zero, 0x1a($s0) -/* 0213B4 700207B4 AE00000C */ sw $zero, 0xc($s0) -/* 0213B8 700207B8 AE080008 */ sw $t0, 8($s0) -/* 0213BC 700207BC 8E140008 */ lw $s4, 8($s0) -.L700207C0: -/* 0213C0 700207C0 8615001A */ lh $s5, 0x1a($s0) -/* 0213C4 700207C4 0040B025 */ move $s6, $v0 -/* 0213C8 700207C8 02002025 */ move $a0, $s0 -/* 0213CC 700207CC 0C00816D */ jal alSeqNextEvent -/* 0213D0 700207D0 02402825 */ move $a1, $s2 -/* 0213D4 700207D4 87A90050 */ lh $t1, 0x50($sp) -/* 0213D8 700207D8 55330006 */ bnel $t1, $s3, .L700207F4 -/* 0213DC 700207DC 8E02000C */ lw $v0, 0xc($s0) -/* 0213E0 700207E0 8E140008 */ lw $s4, 8($s0) -/* 0213E4 700207E4 8615001A */ lh $s5, 0x1a($s0) -/* 0213E8 700207E8 10000005 */ b .L70020800 -/* 0213EC 700207EC 8E16000C */ lw $s6, 0xc($s0) -/* 0213F0 700207F0 8E02000C */ lw $v0, 0xc($s0) -.L700207F4: -/* 0213F4 700207F4 0051082B */ sltu $at, $v0, $s1 -/* 0213F8 700207F8 5420FFF1 */ bnezl $at, .L700207C0 -/* 0213FC 700207FC 8E140008 */ lw $s4, 8($s0) -.L70020800: -/* 021400 70020800 AEF40000 */ sw $s4, ($s7) -/* 021404 70020804 A6F5000C */ sh $s5, 0xc($s7) -/* 021408 70020808 AEF60004 */ sw $s6, 4($s7) -/* 02140C 7002080C 8E0A000C */ lw $t2, 0xc($s0) -/* 021410 70020810 AEEA0008 */ sw $t2, 8($s7) -/* 021414 70020814 8FAB004C */ lw $t3, 0x4c($sp) -/* 021418 70020818 AE0B0008 */ sw $t3, 8($s0) -/* 02141C 7002081C 87AC003E */ lh $t4, 0x3e($sp) -/* 021420 70020820 A60C001A */ sh $t4, 0x1a($s0) -/* 021424 70020824 8FAD0044 */ lw $t5, 0x44($sp) -/* 021428 70020828 AE0D000C */ sw $t5, 0xc($s0) -.L7002082C: -/* 02142C 7002082C 8FBF0034 */ lw $ra, 0x34($sp) -/* 021430 70020830 8FB00014 */ lw $s0, 0x14($sp) -/* 021434 70020834 8FB10018 */ lw $s1, 0x18($sp) -/* 021438 70020838 8FB2001C */ lw $s2, 0x1c($sp) -/* 02143C 7002083C 8FB30020 */ lw $s3, 0x20($sp) -/* 021440 70020840 8FB40024 */ lw $s4, 0x24($sp) -/* 021444 70020844 8FB50028 */ lw $s5, 0x28($sp) -/* 021448 70020848 8FB6002C */ lw $s6, 0x2c($sp) -/* 02144C 7002084C 8FB70030 */ lw $s7, 0x30($sp) -/* 021450 70020850 03E00008 */ jr $ra -/* 021454 70020854 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel alSeqSecToTicks -/* 021458 70020858 44856000 */ mtc1 $a1, $f12 -/* 02145C 7002085C 3C018003 */ lui $at, 0x8003 -/* 021460 70020860 D4269D50 */ ldc1 $f6, -0x62b0($at) -/* 021464 70020864 848E0018 */ lh $t6, 0x18($a0) -/* 021468 70020868 46006121 */ cvt.d.s $f4, $f12 -/* 02146C 7002086C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 021470 70020870 46262202 */ mul.d $f8, $f4, $f6 -/* 021474 70020874 448E5000 */ mtc1 $t6, $f10 -/* 021478 70020878 44862000 */ mtc1 $a2, $f4 -/* 02147C 7002087C 46805421 */ cvt.d.w $f16, $f10 -/* 021480 70020880 468021A1 */ cvt.d.w $f6, $f4 -/* 021484 70020884 46304482 */ mul.d $f18, $f8, $f16 -/* 021488 70020888 04C30006 */ bgezl $a2, .L700208A4 -/* 02148C 7002088C 46269203 */ div.d $f8, $f18, $f6 -/* 021490 70020890 44815800 */ mtc1 $at, $f11 -/* 021494 70020894 44805000 */ mtc1 $zero, $f10 -/* 021498 70020898 00000000 */ nop -/* 02149C 7002089C 462A3180 */ add.d $f6, $f6, $f10 -/* 0214A0 700208A0 46269203 */ div.d $f8, $f18, $f6 -.L700208A4: -/* 0214A4 700208A4 24020001 */ li $v0, 1 -/* 0214A8 700208A8 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 0214AC 700208AC 444FF800 */ cfc1 $t7, $31 -/* 0214B0 700208B0 44C2F800 */ ctc1 $v0, $31 -/* 0214B4 700208B4 00000000 */ nop -/* 0214B8 700208B8 46204424 */ cvt.w.d $f16, $f8 -/* 0214BC 700208BC 4442F800 */ cfc1 $v0, $31 -/* 0214C0 700208C0 00000000 */ nop -/* 0214C4 700208C4 30420078 */ andi $v0, $v0, 0x78 -/* 0214C8 700208C8 50400016 */ beql $v0, $zero, .L70020924 -/* 0214CC 700208CC 44028000 */ mfc1 $v0, $f16 -/* 0214D0 700208D0 44818800 */ mtc1 $at, $f17 -/* 0214D4 700208D4 44808000 */ mtc1 $zero, $f16 -/* 0214D8 700208D8 24020001 */ li $v0, 1 -/* 0214DC 700208DC 3C018000 */ lui $at, 0x8000 -/* 0214E0 700208E0 46304401 */ sub.d $f16, $f8, $f16 -/* 0214E4 700208E4 44C2F800 */ ctc1 $v0, $31 -/* 0214E8 700208E8 00000000 */ nop -/* 0214EC 700208EC 46208424 */ cvt.w.d $f16, $f16 -/* 0214F0 700208F0 4442F800 */ cfc1 $v0, $31 -/* 0214F4 700208F4 00000000 */ nop -/* 0214F8 700208F8 30420078 */ andi $v0, $v0, 0x78 -/* 0214FC 700208FC 54400006 */ bnezl $v0, .L70020918 -/* 021500 70020900 44CFF800 */ ctc1 $t7, $31 -/* 021504 70020904 44028000 */ mfc1 $v0, $f16 -/* 021508 70020908 44CFF800 */ ctc1 $t7, $31 -/* 02150C 7002090C 03E00008 */ jr $ra -/* 021510 70020910 00411025 */ or $v0, $v0, $at - -/* 021514 70020914 44CFF800 */ ctc1 $t7, $31 -.L70020918: -/* 021518 70020918 03E00008 */ jr $ra -/* 02151C 7002091C 2402FFFF */ li $v0, -1 - -/* 021520 70020920 44028000 */ mfc1 $v0, $f16 -.L70020924: -/* 021524 70020924 00000000 */ nop -/* 021528 70020928 0442FFFB */ bltzl $v0, .L70020918 -/* 02152C 7002092C 44CFF800 */ ctc1 $t7, $31 -/* 021530 70020930 44CFF800 */ ctc1 $t7, $31 -/* 021534 70020934 03E00008 */ jr $ra -/* 021538 70020938 00000000 */ nop - -glabel alSeqTicksToSec -/* 02153C 7002093C 44852000 */ mtc1 $a1, $f4 -/* 021540 70020940 44864000 */ mtc1 $a2, $f8 -/* 021544 70020944 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 021548 70020948 468021A0 */ cvt.s.w $f6, $f4 -/* 02154C 7002094C 04C10004 */ bgez $a2, .L70020960 -/* 021550 70020950 468042A0 */ cvt.s.w $f10, $f8 -/* 021554 70020954 44818000 */ mtc1 $at, $f16 -/* 021558 70020958 00000000 */ nop -/* 02155C 7002095C 46105280 */ add.s $f10, $f10, $f16 -.L70020960: -/* 021560 70020960 848E0018 */ lh $t6, 0x18($a0) -/* 021564 70020964 460A3482 */ mul.s $f18, $f6, $f10 -/* 021568 70020968 3C018003 */ lui $at, 0x8003 -/* 02156C 7002096C 448E4000 */ mtc1 $t6, $f8 -/* 021570 70020970 D42A9D58 */ ldc1 $f10, -0x62a8($at) -/* 021574 70020974 46804420 */ cvt.s.w $f16, $f8 -/* 021578 70020978 46009121 */ cvt.d.s $f4, $f18 -/* 02157C 7002097C 460081A1 */ cvt.d.s $f6, $f16 -/* 021580 70020980 462A3482 */ mul.d $f18, $f6, $f10 -/* 021584 70020984 46322203 */ div.d $f8, $f4, $f18 -/* 021588 70020988 03E00008 */ jr $ra -/* 02158C 7002098C 46204020 */ cvt.s.d $f0, $f8 -.section .rodata -glabel F64_80029D50 - .double 1000000.0 -glabel F64_80029D58 - .double 1000000.0 - -.section .text -glabel __alSeqNextDelta -/* 021590 70020990 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 021594 70020994 AFBF0014 */ sw $ra, 0x14($sp) -/* 021598 70020998 8C8F0010 */ lw $t7, 0x10($a0) -/* 02159C 7002099C 8C8E0000 */ lw $t6, ($a0) -/* 0215A0 700209A0 8C820008 */ lw $v0, 8($a0) -/* 0215A4 700209A4 00803025 */ move $a2, $a0 -/* 0215A8 700209A8 01CFC021 */ addu $t8, $t6, $t7 -/* 0215AC 700209AC 0058082B */ sltu $at, $v0, $t8 -/* 0215B0 700209B0 14200003 */ bnez $at, .L700209C0 -/* 0215B4 700209B4 00A04025 */ move $t0, $a1 -/* 0215B8 700209B8 10000007 */ b .L700209D8 -/* 0215BC 700209BC 00001025 */ move $v0, $zero -.L700209C0: -/* 0215C0 700209C0 00403825 */ move $a3, $v0 -/* 0215C4 700209C4 0C00815A */ jal readVarLen -/* 0215C8 700209C8 00C02025 */ move $a0, $a2 -/* 0215CC 700209CC AD020000 */ sw $v0, ($t0) -/* 0215D0 700209D0 ACC70008 */ sw $a3, 8($a2) -/* 0215D4 700209D4 24020001 */ li $v0, 1 -.L700209D8: -/* 0215D8 700209D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0215DC 700209DC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0215E0 700209E0 03E00008 */ jr $ra -/* 0215E4 700209E4 00000000 */ nop - -glabel read32 -/* 0215E8 700209E8 8C850008 */ lw $a1, 8($a0) -/* 0215EC 700209EC 90A30000 */ lbu $v1, ($a1) -/* 0215F0 700209F0 24AF0001 */ addiu $t7, $a1, 1 -/* 0215F4 700209F4 AC8F0008 */ sw $t7, 8($a0) -/* 0215F8 700209F8 91F80000 */ lbu $t8, ($t7) -/* 0215FC 700209FC 00037600 */ sll $t6, $v1, 0x18 -/* 021600 70020A00 0018CC00 */ sll $t9, $t8, 0x10 -/* 021604 70020A04 01D91825 */ or $v1, $t6, $t9 -/* 021608 70020A08 25EE0001 */ addiu $t6, $t7, 1 -/* 02160C 70020A0C AC8E0008 */ sw $t6, 8($a0) -/* 021610 70020A10 91CF0000 */ lbu $t7, ($t6) -/* 021614 70020A14 25D90001 */ addiu $t9, $t6, 1 -/* 021618 70020A18 AC990008 */ sw $t9, 8($a0) -/* 02161C 70020A1C 000FC200 */ sll $t8, $t7, 8 -/* 021620 70020A20 932E0000 */ lbu $t6, ($t9) -/* 021624 70020A24 00781825 */ or $v1, $v1, $t8 -/* 021628 70020A28 272F0001 */ addiu $t7, $t9, 1 -/* 02162C 70020A2C AC8F0008 */ sw $t7, 8($a0) -/* 021630 70020A30 03E00008 */ jr $ra -/* 021634 70020A34 006E1025 */ or $v0, $v1, $t6 - -glabel read16 -/* 021638 70020A38 8C850008 */ lw $a1, 8($a0) -/* 02163C 70020A3C 90A30000 */ lbu $v1, ($a1) -/* 021640 70020A40 24B90001 */ addiu $t9, $a1, 1 -/* 021644 70020A44 AC990008 */ sw $t9, 8($a0) -/* 021648 70020A48 932E0000 */ lbu $t6, ($t9) -/* 02164C 70020A4C 0003C200 */ sll $t8, $v1, 8 -/* 021650 70020A50 27390001 */ addiu $t9, $t9, 1 -/* 021654 70020A54 030E1825 */ or $v1, $t8, $t6 -/* 021658 70020A58 00037C00 */ sll $t7, $v1, 0x10 -/* 02165C 70020A5C 000F1403 */ sra $v0, $t7, 0x10 -/* 021660 70020A60 03E00008 */ jr $ra -/* 021664 70020A64 AC990008 */ sw $t9, 8($a0) - -glabel alSeqNew -/* 021668 70020A68 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02166C 70020A6C AFBF0014 */ sw $ra, 0x14($sp) -/* 021670 70020A70 00803825 */ move $a3, $a0 -/* 021674 70020A74 AC850000 */ sw $a1, ($a0) -/* 021678 70020A78 AC860010 */ sw $a2, 0x10($a0) -/* 02167C 70020A7C A480001A */ sh $zero, 0x1a($a0) -/* 021680 70020A80 AC80000C */ sw $zero, 0xc($a0) -/* 021684 70020A84 0C00827A */ jal read32 -/* 021688 70020A88 AC850008 */ sw $a1, 8($a0) -/* 02168C 70020A8C 3C014D54 */ lui $at, (0x4D546864 >> 16) # lui $at, 0x4d54 -/* 021690 70020A90 34216864 */ ori $at, (0x4D546864 & 0xFFFF) # ori $at, $at, 0x6864 -/* 021694 70020A94 54410027 */ bnel $v0, $at, .L70020B34 -/* 021698 70020A98 8FBF0014 */ lw $ra, 0x14($sp) -/* 02169C 70020A9C 0C00827A */ jal read32 -/* 0216A0 70020AA0 00E02025 */ move $a0, $a3 -/* 0216A4 70020AA4 0C00828E */ jal read16 -/* 0216A8 70020AA8 00E02025 */ move $a0, $a3 -/* 0216AC 70020AAC 54400021 */ bnezl $v0, .L70020B34 -/* 0216B0 70020AB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0216B4 70020AB4 0C00828E */ jal read16 -/* 0216B8 70020AB8 00E02025 */ move $a0, $a3 -/* 0216BC 70020ABC 24010001 */ li $at, 1 -/* 0216C0 70020AC0 5441001C */ bnel $v0, $at, .L70020B34 -/* 0216C4 70020AC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0216C8 70020AC8 0C00828E */ jal read16 -/* 0216CC 70020ACC 00E02025 */ move $a0, $a3 -/* 0216D0 70020AD0 A4E20018 */ sh $v0, 0x18($a3) -/* 0216D4 70020AD4 84E30018 */ lh $v1, 0x18($a3) -/* 0216D8 70020AD8 306E8000 */ andi $t6, $v1, 0x8000 -/* 0216DC 70020ADC 55C00015 */ bnezl $t6, .L70020B34 -/* 0216E0 70020AE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0216E4 70020AE4 44833000 */ mtc1 $v1, $f6 -/* 0216E8 70020AE8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0216EC 70020AEC 44812800 */ mtc1 $at, $f5 -/* 0216F0 70020AF0 46803220 */ cvt.s.w $f8, $f6 -/* 0216F4 70020AF4 44802000 */ mtc1 $zero, $f4 -/* 0216F8 70020AF8 00E02025 */ move $a0, $a3 -/* 0216FC 70020AFC 460042A1 */ cvt.d.s $f10, $f8 -/* 021700 70020B00 462A2183 */ div.d $f6, $f4, $f10 -/* 021704 70020B04 46203220 */ cvt.s.d $f8, $f6 -/* 021708 70020B08 0C00827A */ jal read32 -/* 02170C 70020B0C E4E80014 */ swc1 $f8, 0x14($a3) -/* 021710 70020B10 3C014D54 */ lui $at, (0x4D54726B >> 16) # lui $at, 0x4d54 -/* 021714 70020B14 3421726B */ ori $at, (0x4D54726B & 0xFFFF) # ori $at, $at, 0x726b -/* 021718 70020B18 54410006 */ bnel $v0, $at, .L70020B34 -/* 02171C 70020B1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 021720 70020B20 0C00827A */ jal read32 -/* 021724 70020B24 00E02025 */ move $a0, $a3 -/* 021728 70020B28 8CEF0008 */ lw $t7, 8($a3) -/* 02172C 70020B2C ACEF0004 */ sw $t7, 4($a3) -/* 021730 70020B30 8FBF0014 */ lw $ra, 0x14($sp) -.L70020B34: -/* 021734 70020B34 27BD0018 */ addiu $sp, $sp, 0x18 -/* 021738 70020B38 03E00008 */ jr $ra -/* 02173C 70020B3C 00000000 */ nop - -glabel alSynSetPriority -/* 021740 70020B40 AFA40000 */ sw $a0, ($sp) -/* 021744 70020B44 AFA60008 */ sw $a2, 8($sp) -/* 021748 70020B48 03E00008 */ jr $ra -/* 02174C 70020B4C A4A60016 */ sh $a2, 0x16($a1) - -glabel lldiv -/* 021750 70020B50 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 021754 70020B54 AFA40030 */ sw $a0, 0x30($sp) -/* 021758 70020B58 AFBF0014 */ sw $ra, 0x14($sp) -/* 02175C 70020B5C AFA60038 */ sw $a2, 0x38($sp) -/* 021760 70020B60 AFA7003C */ sw $a3, 0x3c($sp) -/* 021764 70020B64 00C02025 */ move $a0, $a2 -/* 021768 70020B68 00E02825 */ move $a1, $a3 -/* 02176C 70020B6C 8FA70044 */ lw $a3, 0x44($sp) -/* 021770 70020B70 0C003B53 */ jal __ll_div -/* 021774 70020B74 8FA60040 */ lw $a2, 0x40($sp) -/* 021778 70020B78 AFA20020 */ sw $v0, 0x20($sp) -/* 02177C 70020B7C AFA30024 */ sw $v1, 0x24($sp) -/* 021780 70020B80 8FA40040 */ lw $a0, 0x40($sp) -/* 021784 70020B84 8FA50044 */ lw $a1, 0x44($sp) -/* 021788 70020B88 00403025 */ move $a2, $v0 -/* 02178C 70020B8C 0C003B6A */ jal __ll_mul -/* 021790 70020B90 00603825 */ move $a3, $v1 -/* 021794 70020B94 8FAE0038 */ lw $t6, 0x38($sp) -/* 021798 70020B98 8FAF003C */ lw $t7, 0x3c($sp) -/* 02179C 70020B9C 8FA80020 */ lw $t0, 0x20($sp) -/* 0217A0 70020BA0 01C2C023 */ subu $t8, $t6, $v0 -/* 0217A4 70020BA4 01E3082B */ sltu $at, $t7, $v1 -/* 0217A8 70020BA8 0301C023 */ subu $t8, $t8, $at -/* 0217AC 70020BAC 01E3C823 */ subu $t9, $t7, $v1 -/* 0217B0 70020BB0 AFB9002C */ sw $t9, 0x2c($sp) -/* 0217B4 70020BB4 AFB80028 */ sw $t8, 0x28($sp) -/* 0217B8 70020BB8 1D000017 */ bgtz $t0, .L70020C18 -/* 0217BC 70020BBC 8FA90024 */ lw $t1, 0x24($sp) -/* 0217C0 70020BC0 05000003 */ bltz $t0, .L70020BD0 -/* 0217C4 70020BC4 00000000 */ nop -/* 0217C8 70020BC8 10000014 */ b .L70020C1C -/* 0217CC 70020BCC 27A80020 */ addiu $t0, $sp, 0x20 -.L70020BD0: -/* 0217D0 70020BD0 07020012 */ bltzl $t8, .L70020C1C -/* 0217D4 70020BD4 27A80020 */ addiu $t0, $sp, 0x20 -/* 0217D8 70020BD8 1F000003 */ bgtz $t8, .L70020BE8 -/* 0217DC 70020BDC 252B0001 */ addiu $t3, $t1, 1 -/* 0217E0 70020BE0 5320000E */ beql $t9, $zero, .L70020C1C -/* 0217E4 70020BE4 27A80020 */ addiu $t0, $sp, 0x20 -.L70020BE8: -/* 0217E8 70020BE8 8FAC0040 */ lw $t4, 0x40($sp) -/* 0217EC 70020BEC 8FAD0044 */ lw $t5, 0x44($sp) -/* 0217F0 70020BF0 2D610001 */ sltiu $at, $t3, 1 -/* 0217F4 70020BF4 01015021 */ addu $t2, $t0, $at -/* 0217F8 70020BF8 030C7023 */ subu $t6, $t8, $t4 -/* 0217FC 70020BFC 032D082B */ sltu $at, $t9, $t5 -/* 021800 70020C00 01C17023 */ subu $t6, $t6, $at -/* 021804 70020C04 032D7823 */ subu $t7, $t9, $t5 -/* 021808 70020C08 AFAA0020 */ sw $t2, 0x20($sp) -/* 02180C 70020C0C AFAB0024 */ sw $t3, 0x24($sp) -/* 021810 70020C10 AFAF002C */ sw $t7, 0x2c($sp) -/* 021814 70020C14 AFAE0028 */ sw $t6, 0x28($sp) -.L70020C18: -/* 021818 70020C18 27A80020 */ addiu $t0, $sp, 0x20 -.L70020C1C: -/* 02181C 70020C1C 8FA20030 */ lw $v0, 0x30($sp) -/* 021820 70020C20 8D010000 */ lw $at, ($t0) -/* 021824 70020C24 AC410000 */ sw $at, ($v0) -/* 021828 70020C28 8D0B0004 */ lw $t3, 4($t0) -/* 02182C 70020C2C AC4B0004 */ sw $t3, 4($v0) -/* 021830 70020C30 8D010008 */ lw $at, 8($t0) -/* 021834 70020C34 AC410008 */ sw $at, 8($v0) -/* 021838 70020C38 8D0B000C */ lw $t3, 0xc($t0) -/* 02183C 70020C3C AC4B000C */ sw $t3, 0xc($v0) -/* 021840 70020C40 8FBF0014 */ lw $ra, 0x14($sp) -/* 021844 70020C44 27BD0030 */ addiu $sp, $sp, 0x30 -/* 021848 70020C48 03E00008 */ jr $ra -/* 02184C 70020C4C 00000000 */ nop - -glabel ldiv -/* 021850 70020C50 00A6001A */ div $zero, $a1, $a2 -/* 021854 70020C54 00001012 */ mflo $v0 -/* 021858 70020C58 27BDFFF8 */ addiu $sp, $sp, -8 -/* 02185C 70020C5C 14C00002 */ bnez $a2, .L70020C68 -/* 021860 70020C60 00000000 */ nop -/* 021864 70020C64 0007000D */ break 7 -.L70020C68: -/* 021868 70020C68 2401FFFF */ li $at, -1 -/* 02186C 70020C6C 14C10004 */ bne $a2, $at, .L70020C80 -/* 021870 70020C70 3C018000 */ lui $at, 0x8000 -/* 021874 70020C74 14A10002 */ bne $a1, $at, .L70020C80 -/* 021878 70020C78 00000000 */ nop -/* 02187C 70020C7C 0006000D */ break 6 -.L70020C80: -/* 021880 70020C80 00C20019 */ multu $a2, $v0 -/* 021884 70020C84 AFA20000 */ sw $v0, ($sp) -/* 021888 70020C88 27AF0000 */ addiu $t7, $sp, 0 -/* 02188C 70020C8C 00007012 */ mflo $t6 -/* 021890 70020C90 00AE1823 */ subu $v1, $a1, $t6 -/* 021894 70020C94 04410008 */ bgez $v0, .L70020CB8 -/* 021898 70020C98 AFA30004 */ sw $v1, 4($sp) -/* 02189C 70020C9C AFA20000 */ sw $v0, ($sp) -/* 0218A0 70020CA0 18600005 */ blez $v1, .L70020CB8 -/* 0218A4 70020CA4 AFA30004 */ sw $v1, 4($sp) -/* 0218A8 70020CA8 24420001 */ addiu $v0, $v0, 1 -/* 0218AC 70020CAC 00661823 */ subu $v1, $v1, $a2 -/* 0218B0 70020CB0 AFA30004 */ sw $v1, 4($sp) -/* 0218B4 70020CB4 AFA20000 */ sw $v0, ($sp) -.L70020CB8: -/* 0218B8 70020CB8 8DE10000 */ lw $at, ($t7) -/* 0218BC 70020CBC 00801025 */ move $v0, $a0 -/* 0218C0 70020CC0 AC810000 */ sw $at, ($a0) -/* 0218C4 70020CC4 8DE80004 */ lw $t0, 4($t7) -/* 0218C8 70020CC8 27BD0008 */ addiu $sp, $sp, 8 -/* 0218CC 70020CCC 03E00008 */ jr $ra -/* 0218D0 70020CD0 AC880004 */ sw $t0, 4($a0) - -/* 0218D4 70020CD4 00000000 */ nop -/* 0218D8 70020CD8 00000000 */ nop -/* 0218DC 70020CDC 00000000 */ nop -glabel __osResetGlobalIntMask -/* 0218E0 70020CE0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0218E4 70020CE4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0218E8 70020CE8 AFA40028 */ sw $a0, 0x28($sp) -/* 0218EC 70020CEC 0C00617C */ jal __osDisableInt -/* 0218F0 70020CF0 AFB00018 */ sw $s0, 0x18($sp) -/* 0218F4 70020CF4 8FAF0028 */ lw $t7, 0x28($sp) -/* 0218F8 70020CF8 3C0E8002 */ lui $t6, %hi(__OSGlobalIntMask) -/* 0218FC 70020CFC 8DCE698C */ lw $t6, %lo(__OSGlobalIntMask)($t6) -/* 021900 70020D00 2401FBFE */ li $at, -1026 -/* 021904 70020D04 01E1C024 */ and $t8, $t7, $at -/* 021908 70020D08 0300C827 */ not $t9, $t8 -/* 02190C 70020D0C 00408025 */ move $s0, $v0 -/* 021910 70020D10 3C018002 */ lui $at, %hi(__OSGlobalIntMask) # $at, 0x8002 -/* 021914 70020D14 01D94024 */ and $t0, $t6, $t9 -/* 021918 70020D18 AC28698C */ sw $t0, %lo(__OSGlobalIntMask)($at) -/* 02191C 70020D1C 0C006184 */ jal __osRestoreInt -/* 021920 70020D20 02002025 */ move $a0, $s0 -/* 021924 70020D24 8FBF001C */ lw $ra, 0x1c($sp) -/* 021928 70020D28 8FB00018 */ lw $s0, 0x18($sp) -/* 02192C 70020D2C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 021930 70020D30 03E00008 */ jr $ra -/* 021934 70020D34 00000000 */ nop - -/* 021938 70020D38 00000000 */ nop -/* 02193C 70020D3C 00000000 */ nop -glabel osEPiRawWriteIo -/* 021940 70020D40 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 -/* 021944 70020D44 8DC70010 */ lw $a3, %lo(PI_STATUS_REG)($t6) -/* 021948 70020D48 27BDFFF8 */ addiu $sp, $sp, -8 -/* 02194C 70020D4C 30EF0003 */ andi $t7, $a3, 3 -/* 021950 70020D50 11E00006 */ beqz $t7, .L70020D6C -/* 021954 70020D54 00000000 */ nop -.L70020D58: -/* 021958 70020D58 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 02195C 70020D5C 8F070010 */ lw $a3, %lo(PI_STATUS_REG)($t8) -/* 021960 70020D60 30F90003 */ andi $t9, $a3, 3 -/* 021964 70020D64 1720FFFC */ bnez $t9, .L70020D58 -/* 021968 70020D68 00000000 */ nop -.L70020D6C: -/* 02196C 70020D6C 8C88000C */ lw $t0, 0xc($a0) -/* 021970 70020D70 3C01A000 */ lui $at, 0xa000 -/* 021974 70020D74 27BD0008 */ addiu $sp, $sp, 8 -/* 021978 70020D78 01054825 */ or $t1, $t0, $a1 -/* 02197C 70020D7C 01215025 */ or $t2, $t1, $at -/* 021980 70020D80 AD460000 */ sw $a2, ($t2) -/* 021984 70020D84 03E00008 */ jr $ra -/* 021988 70020D88 00001025 */ move $v0, $zero - -/* 02198C 70020D8C 00000000 */ nop - -.section .data -glabel osViModeNtscLan1 -.word 0x2000000, 0x311E, 0x140, 0x3E52239 -.word 0x20D, 0xC15, 0xC150C15, 0x6C02EC -.word 0x200, 0, 0x280, 0x400 -.word 0x2501FF, 0xE0204, 2, 0x280 -.word 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModePalLan1 -.word 0x10000000, 0x311E, 0x140, 0x404233A -.word 0x271, 0x150C69, 0xC6F0C6E, 0x800300 -.word 0x200, 0, 0x280, 0x400 -.word 0x5F0239, 0x9026B, 2, 0x280 -.word 0x400, 0x5F0239, 0x9026B, 2 -.word 0x10, 0x10, 0x20, 0 -.section .bss -/*hacky filler*/ -glabel LIBULTRABSSFILLER_START -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,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 -.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -.word 0,0,0,0,0,0,0,0,0,0,0,0 -glabel LIBULTRABSSFILLER_END - - - - - diff --git a/ge007_libultra/libultra/recvmesg.c b/ge007_libultra/libultra/recvmesg.c deleted file mode 100644 index 67067bb..0000000 --- a/ge007_libultra/libultra/recvmesg.c +++ /dev/null @@ -1,138 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osRecvMesg(s32 arg0, s32 arg1, ? arg2, void *argA, void *argB, s32 argC) { - s32 temp_s0; - - // Node 0 - temp_s0 = __osDisableInt(); - if (argA->unk8 == 0) - { - loop_1: - // Node 1 - if (argC == 0) - { - // Node 2 - __osRestoreInt(temp_s0); - return; - // (possible return value: -1) - } - // Node 3 - __osRunningThread->unk10 = (u16)8; - __osEnqueueAndYield(argA); - if (argA->unk8 == 0) - { - goto loop_1; - } - } - // Node 4 - if (argB != 0) - { - // Node 5 - *argB = (?32) *(argA->unk14 + (argA->unkC * 4)); - } - // Node 6 - argA->unkC = (s32) ((s32) (argA->unkC + 1) % (s32) argA->unk10); - argA->unk8 = (s32) (argA->unk8 + -1); - if (*argA->unk4 != 0) - { - // Node 7 - osStartThread(__osPopThread((argA + 4))); - } - // Node 8 - __osRestoreInt(temp_s0); - return; - // (possible return value: 0) -} -#else -GLOBAL_ASM( -.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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/sendmesg.c b/ge007_libultra/libultra/sendmesg.c deleted file mode 100644 index bacd4b6..0000000 --- a/ge007_libultra/libultra/sendmesg.c +++ /dev/null @@ -1,138 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osSendMesg(s32 arg0, s32 arg1, ? arg2, void *argE, ?32 argF, s32 arg10) { - s32 temp_s0; - - // Node 0 - temp_s0 = __osDisableInt(); - if (argE->unk8 >= argE->unk10) - { - loop_1: - // Node 1 - if (arg10 != 1) - { - // Node 3 - __osRestoreInt(temp_s0); - return; - // (possible return value: -1) - } - // Node 2 - __osRunningThread->unk10 = (u16)8; - __osEnqueueAndYield((argE + 4)); - // Node 4 - if (argE->unk8 >= argE->unk10) - { - goto loop_1; - } - } - // Node 5 - *(argE->unk14 + (((s32) (argE->unkC + argE->unk8) % (s32) argE->unk10) * 4)) = argF; - argE->unk8 = (s32) (argE->unk8 + 1); - if (**argE != 0) - { - // Node 6 - osStartThread(__osPopThread(argE)); - } - // Node 7 - __osRestoreInt(temp_s0); - return; - // (possible return value: 0) -} -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/seteventmesg.c b/ge007_libultra/libultra/seteventmesg.c deleted file mode 100644 index 33bc9c8..0000000 --- a/ge007_libultra/libultra/seteventmesg.c +++ /dev/null @@ -1,48 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osSetEventMesg(s32 arg0, s32 arg1, ? arg2, s32 argA, ?32 argB, ?32 argC) { - void *sp20; - void *temp_t9; - - // Node 0 - temp_t9 = ((argA * 8) + &__osEventStateTab); - sp20 = temp_t9; - *temp_t9 = argB; - sp20->unk4 = argC; - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: __osRestoreInt(__osDisableInt())) -} -#else -GLOBAL_ASM( -.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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/setintmask.c b/ge007_libultra/libultra/setintmask.c deleted file mode 100644 index 5bef21f..0000000 --- a/ge007_libultra/libultra/setintmask.c +++ /dev/null @@ -1,65 +0,0 @@ -#include "ultra64.h" - - -//.section .rodata -const s16 __osRcpImTable[] = { - 0x555, 0x556, 0x559, 0x55a, 0x565, 0x566, 0x569, 0x56a, - 0x595, 0x596, 0x599, 0x59a, 0x5a5, 0x5a6, 0x5a9, 0x5aa, - 0x655, 0x656, 0x659, 0x65a, 0x665, 0x666, 0x669, 0x66a, - 0x695, 0x696, 0x699, 0x69a, 0x6a5, 0x6a6, 0x6a9, 0x6aa, - 0x955, 0x956, 0x959, 0x95a, 0x965, 0x966, 0x969, 0x96a, - 0x995, 0x996, 0x999, 0x99a, 0x9a5, 0x9a6, 0x9a9, 0x9aa, - 0xa55, 0xa56, 0xa59, 0xa5a, 0xa65, 0xa66, 0xa69, 0xa6a, - 0xa95, 0xa96, 0xa99, 0xa9a, 0xaa5, 0xaa6, 0xaa9, 0xaaa -}; - -#ifdef NONMATCHING - -#else -GLOBAL_ASM( -.text - -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/setthreadpri.c b/ge007_libultra/libultra/setthreadpri.c deleted file mode 100644 index 981ef89..0000000 --- a/ge007_libultra/libultra/setthreadpri.c +++ /dev/null @@ -1,103 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osSetThreadPri(s32 arg0, s32 arg1, void *argA, s32 argB) { - // Node 0 - if (argA == 0) - { - // Node 1 - argA = (void *) __osRunningThread; - } - // Node 2 - if (argA->unk4 != argB) - { - // Node 3 - argA->unk4 = argB; - if (argA != __osRunningThread) - { - // Node 4 - if (argA->unk10 != 1) - { - // Node 5 - __osDequeueThread(argA->unk8, argA); - __osEnqueueThread(argA->unk8, argA); - } - } - // Node 6 - if (__osRunningThread->unk4 < __osRunQueue->unk4) - { - // Node 7 - __osRunningThread->unk10 = (u16)2; - __osEnqueueAndYield(&__osRunQueue); - } - } - // Node 8 - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: __osRestoreInt(__osDisableInt())) -} -#else -GLOBAL_ASM( -.text -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) # $a0, 0x8002 -/* 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 -) -#endif diff --git a/ge007_libultra/libultra/sptask.c b/ge007_libultra/libultra/sptask.c deleted file mode 100644 index ec79ef5..0000000 --- a/ge007_libultra/libultra/sptask.c +++ /dev/null @@ -1,345 +0,0 @@ -#include "ultra64.h" - -//.section .bss -OSTask tmp_task; - - -#ifdef NONMATCHING -void *_VirtualToPhysicalTask(s32 arg0, ? arg8) { - void *sp1C; - - // Node 0 - sp1C = &tmp_task; - _bcopy(arg8, &tmp_task, 0x40); - if (sp1C->unk10 != 0) - { - // Node 1 - sp1C->unk10 = osVirtualToPhysical(sp1C->unk10); - } - // Node 2 - if (sp1C->unk18 != 0) - { - // Node 3 - sp1C->unk18 = osVirtualToPhysical(sp1C->unk18); - } - // Node 4 - if (sp1C->unk20 != 0) - { - // Node 5 - sp1C->unk20 = osVirtualToPhysical(sp1C->unk20); - } - // Node 6 - if (sp1C->unk28 != 0) - { - // Node 7 - sp1C->unk28 = osVirtualToPhysical(sp1C->unk28); - } - // Node 8 - if (sp1C->unk2C != 0) - { - // Node 9 - sp1C->unk2C = osVirtualToPhysical(sp1C->unk2C); - } - // Node 10 - if (sp1C->unk30 != 0) - { - // Node 11 - sp1C->unk30 = osVirtualToPhysical(sp1C->unk30); - } - // Node 12 - if (sp1C->unk38 != 0) - { - // Node 13 - sp1C->unk38 = osVirtualToPhysical(sp1C->unk38); - return; - // (possible return value: sp1C) - } - // (possible return value: sp1C) -} -#else -GLOBAL_ASM( -.text -glabel _VirtualToPhysicalTask -/* 00F0F0 7000E4F0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00F0F4 7000E4F4 3C0E8006 */ lui $t6, %hi(tmp_task) -/* 00F0F8 7000E4F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 00F0FC 7000E4FC AFA40020 */ sw $a0, 0x20($sp) -/* 00F100 7000E500 25CE6A90 */ addiu $t6, %lo(tmp_task) # 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 -) -#endif - -#ifdef NONMATCHING -void osSpTaskLoad(s32 arg0, void *arg8) { - s32 sp1C; - - // Node 0 - sp1C = _VirtualToPhysicalTask(arg8); - if ((sp1C->unk4 & 1) != 0) - { - // Node 1 - sp1C->unk18 = (?32) sp1C->unk38; - sp1C->unk1C = (?32) sp1C->unk3C; - arg8->unk4 = (s32) (arg8->unk4 & -2); - } - // Node 2 - osWritebackDCache(sp1C, 0x40); - __osSpSetStatus(0x2b00); - if (__osSpSetPc(0x4001000) == -1) - { - loop_3: - // Node 3 - if (__osSpSetPc(0x4001000) == -1) - { - goto loop_3; - } - } - // Node 4 - if (__osSpRawStartDma(1, 0x4000fc0, sp1C, 0x40) == -1) - { - loop_5: - // Node 5 - if (__osSpRawStartDma(1, 0x4000fc0, sp1C, 0x40) == -1) - { - goto loop_5; - } - } - // Node 6 - if (__osSpDeviceBusy() != 0) - { - loop_7: - // Node 7 - if (__osSpDeviceBusy() != 0) - { - goto loop_7; - } - } - // Node 8 - if (__osSpRawStartDma(1, 0x4001000, sp1C->unk8, sp1C->unkC) == -1) - { - loop_9: - // Node 9 - if (__osSpRawStartDma(1, 0x4001000, sp1C->unk8, sp1C->unkC) == -1) - { - goto loop_9; - } - } - // (possible return value: __osSpRawStartDma(1, 0x4001000, sp1C->unk8, sp1C->unkC)) -} -#else -GLOBAL_ASM( -.text -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 -) -#endif - -#ifdef NONMATCHING -void osSpTaskStartGo(s32 arg0) { - // Node 0 - if (__osSpDeviceBusy() != 0) - { - loop_1: - // Node 1 - if (__osSpDeviceBusy() != 0) - { - goto loop_1; - } - } - // Node 2 - __osSpSetStatus(0x125); - return; - // (possible return value: __osSpSetStatus(0x125)) -} -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/sptaskyielded.c b/ge007_libultra/libultra/sptaskyielded.c deleted file mode 100644 index 903bd2b..0000000 --- a/ge007_libultra/libultra/sptaskyielded.c +++ /dev/null @@ -1,71 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -s32 osSpTaskYielded(s32 arg0, void *arg8) { - s32 sp18; - s32 sp1C; - - // Node 0 - sp1C = __osSpGetStatus(); - if ((sp1C & 0x100) != 0) - { - // Node 1 - sp18 = 1; - } - else - { - // Node 2 - sp18 = 0; - } - // Node 3 - if ((sp1C & 0x80) != 0) - { - // Node 4 - arg8->unk4 = (s32) (arg8->unk4 | sp18); - arg8->unk4 = (s32) (arg8->unk4 & -3); - return; - // (possible return value: sp18) - } - // (possible return value: sp18) -} -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/stopthread.c b/ge007_libultra/libultra/stopthread.c deleted file mode 100644 index 1346cb9..0000000 --- a/ge007_libultra/libultra/stopthread.c +++ /dev/null @@ -1,65 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osStopThread(OSThread *t){ - -} -#else -GLOBAL_ASM( -.text -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 -) -#endif diff --git a/ge007_libultra/libultra/viblack.c b/ge007_libultra/libultra/viblack.c deleted file mode 100644 index dcad682..0000000 --- a/ge007_libultra/libultra/viblack.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osViBlack(s32 arg0, s32 argA) { - // Node 0 - if (argA != 0) - { - // Node 1 - *__osViNext = (s16) (*__osViNext | 0x20); - } - else - { - // Node 2 - *__osViNext = (s16) (*__osViNext & -0x21); - } - // Node 3 - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: __osRestoreInt(__osDisableInt())) -} - -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/vigetcurrentframebuffer.c b/ge007_libultra/libultra/vigetcurrentframebuffer.c deleted file mode 100644 index e0a3f40..0000000 --- a/ge007_libultra/libultra/vigetcurrentframebuffer.c +++ /dev/null @@ -1,34 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -?32 osViGetCurrentFramebuffer(void) { - ?32 sp20; - - // Node 0 - sp20 = (?32) __osViCurr->unk4; - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: sp20) -} -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/vigetnextframebuffer.c b/ge007_libultra/libultra/vigetnextframebuffer.c deleted file mode 100644 index 2f28220..0000000 --- a/ge007_libultra/libultra/vigetnextframebuffer.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -?32 osViGetNextFramebuffer(void) { - ?32 sp20; - - // Node 0 - sp20 = (?32) __osViNext->unk4; - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: sp20) -} - -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/vimodetable.c b/ge007_libultra/libultra/vimodetable.c deleted file mode 100644 index 5e64eaf..0000000 --- a/ge007_libultra/libultra/vimodetable.c +++ /dev/null @@ -1,214 +0,0 @@ -#include "ultra64.h" - -OSViMode osViModeTable[] = { -{OS_VI_NTSC_LPN1, - 0x320E, 0x140, 0x3E52239, 0x20D, - 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0, - 0x280, 0x400, 0x2501FF, 0xE0204, 2, - 0x280, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_LPF1, - 0x324E, 0x140, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0, - 0x280, 0x1000400, 0x2301FD, 0xE0204, 2, - 0x280, 0x3000400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_LAN1, - 0x311E, 0x140, 0x3E52239, 0x20D, - 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0, - 0x280, 0x400, 0x2501FF, 0xE0204, 2, - 0x280, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_LAF1, - 0x305E, 0x140, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0, - 0x280, 0x1000400, 0x2301FD, 0xE0204, 2, - 0x280, 0x3000400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_LPN2, - 0x330F, 0x140, 0x3E52239, 0x20D, - 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0, - 0x500, 0x400, 0x2501FF, 0xE0204, 2, - 0x500, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_LPF2, - 0x324F, 0x140, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0, - 0x500, 0x1000400, 0x2301FD, 0xE0204, 2, - 0x500, 0x3000400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_LAN2, - 0x301F, 0x140, 0x3E52239, 0x20D, - 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0, - 0x500, 0x400, 0x2501FF, 0xE0204, 2, - 0x500, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_LAF2, - 0x305F, 0x140, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0, - 0x500, 0x1000400, 0x2301FD, 0xE0204, 2, - 0x500, 0x3000400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_HPN1, - 0x324E, 0x500, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0, - 0x500, 0x400, 0x2301FD, 0xE0204, 2, - 0xA00, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_HPF1, - 0x324E, 0x280, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0, - 0x500, 0x2000800, 0x2301FD, 0xE0204, 2, - 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_HAN1, - 0x305E, 0x500, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0, - 0x500, 0x400, 0x2301FD, 0xE0204, 2, - 0xA00, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_HAF1, - 0x305E, 0x280, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0, - 0x500, 0x2000800, 0x2301FD, 0xE0204, 2, - 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_HPN2, - 0x334F, 0x500, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0, - 0xA00, 0x400, 0x2301FD, 0xE0204, 2, - 0x1400, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_NTSC_HPF2, - 0x324F, 0x280, 0x3E52239, 0x20C, - 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0, - 0xA00, 0x2000800, 0x2301FD, 0xE0204, 2, - 0x1400, 0x2000800, 0x2501FF, 0xE0204, 2}, -{OS_VI_PAL_LPN1, - 0x320E, 0x140, 0x404233A, 0x271, - 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0, - 0x280, 0x400, 0x5F0239, 0x9026B, 2, - 0x280, 0x400, 0x5F0239, 0x9026B, 2}, -{OS_VI_PAL_LPF1, - 0x324E, 0x140, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0, - 0x280, 0x1000400, 0x5D0237, 0x9026B, 2, - 0x280, 0x3000400, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_LAN1, - 0x311E, 0x140, 0x404233A, 0x271, - 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0, - 0x280, 0x400, 0x5F0239, 0x9026B, 2, - 0x280, 0x400, 0x5F0239, 0x9026B, 2}, -{OS_VI_PAL_LAF1, - 0x305E, 0x140, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0, - 0x280, 0x1000400, 0x5D0237, 0x9026B, 2, - 0x280, 0x3000400, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_LPN2, - 0x330F, 0x140, 0x404233A, 0x271, - 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0, - 0x500, 0x400, 0x5F0239, 0x9026B, 2, - 0x500, 0x400, 0x5F0239, 0x9026B, 2}, -{OS_VI_PAL_LPF2, - 0x324F, 0x140, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0, - 0x500, 0x1000400, 0x5D0237, 0x9026B, 2, - 0x500, 0x3000400, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_LAN2, - 0x301F, 0x140, 0x404233A, 0x271, - 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0, - 0x500, 0x400, 0x5F0239, 0x9026B, 2, - 0x500, 0x400, 0x5F0239, 0x9026B, 2}, -{OS_VI_PAL_LAF2, - 0x305F, 0x140, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0, - 0x500, 0x1000400, 0x5D0237, 0x9026B, 2, - 0x500, 0x3000400, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_HPN1, - 0x324E, 0x500, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0, - 0x500, 0x400, 0x5D0237, 0x9026B, 2, - 0xA00, 0x400, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_HPF1, - 0x324E, 0x280, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0, - 0x500, 0x2000800, 0x5D0237, 0x9026B, 2, - 0xA00, 0x2000800, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_HAN1, - 0x305E, 0x500, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0, - 0x500, 0x400, 0x5D0237, 0x9026B, 2, - 0xA00, 0x400, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_HAF1, - 0x305E, 0x280, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0, - 0x500, 0x2000800, 0x5D0237, 0x9026B, 2, - 0xA00, 0x2000800, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_HPN2, - 0x334F, 0x500, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0, - 0xA00, 0x400, 0x5D0237, 0x9026B, 2, - 0x1400, 0x400, 0x5F0239, 0xD0269, 2}, -{OS_VI_PAL_HPF2, - 0x324F, 0x280, 0x404233A, 0x270, - 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0, - 0xA00, 0x2000800, 0x5D0237, 0x9026B, 2, - 0x1400, 0x2000800, 0x5F0239, 0xD0269, 2}, -{OS_VI_MPAL_LPN1, - 0x320E, 0x140, 0x4651E39, 0x20D, - 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0, - 0x280, 0x400, 0x2501FF, 0xE0204, 2, - 0x280, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_LPF1, - 0x324E, 0x140, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0, - 0x280, 0x1000400, 0x2301FD, 0xB0202, 2, - 0x280, 0x3000400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_LAN1, - 0x311E, 0x140, 0x4651E39, 0x20D, - 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0, - 0x280, 0x400, 0x2501FF, 0xE0204, 2, - 0x280, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_LAF1, - 0x305E, 0x140, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0, - 0x280, 0x1000400, 0x2301FD, 0xB0202, 2, - 0x280, 0x3000400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_LPN2, - 0x330F, 0x140, 0x4651E39, 0x20D, - 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0, - 0x500, 0x400, 0x2501FF, 0xE0204, 2, - 0x500, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_LPF2, - 0x324F, 0x140, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0, - 0x500, 0x1000400, 0x2301FD, 0xB0202, 2, - 0x500, 0x3000400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_LAN2, - 0x301F, 0x140, 0x4651E39, 0x20D, - 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0, - 0x500, 0x400, 0x2501FF, 0xE0204, 2, - 0x500, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_LAF2, - 0x305F, 0x140, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0, - 0x500, 0x1000400, 0x2301FD, 0xB0202, 2, - 0x500, 0x3000400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_HPN1, - 0x324E, 0x500, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0, - 0x500, 0x400, 0x2301FD, 0xB0202, 2, - 0xA00, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_HPF1, - 0x324E, 0x280, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0, - 0x500, 0x2000800, 0x2301FD, 0xB0202, 2, - 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_HAN1, - 0x305E, 0x500, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0, - 0x500, 0x400, 0x2301FD, 0xB0202, 2, - 0xA00, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_HAF1, - 0x305E, 0x280, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0, - 0x500, 0x2000800, 0x2301FD, 0xB0202, 2, - 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_HPN2, - 0x334F, 0x500, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0, - 0xA00, 0x400, 0x2301FD, 0xB0202, 2, - 0x1400, 0x400, 0x2501FF, 0xE0204, 2}, -{OS_VI_MPAL_HPF2, - 0x324F, 0x280, 0x4651E39, 0x20C, - 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0, - 0xA00, 0x2000800, 0x2301FD, 0xB0202, 2, - 0x1400, 0x2000800, 0x2501FF, 0xE0204, 2}, -}; \ No newline at end of file diff --git a/ge007_libultra/libultra/virepeatline.c b/ge007_libultra/libultra/virepeatline.c deleted file mode 100644 index 57868c8..0000000 --- a/ge007_libultra/libultra/virepeatline.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osViRepeatLine(s32 arg0, s32 argA) { - // Node 0 - if (argA != 0) - { - // Node 1 - *__osViNext = (s16) (*__osViNext | 0x40); - } - else - { - // Node 2 - *__osViNext = (s16) (*__osViNext & -0x41); - } - // Node 3 - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: __osRestoreInt(__osDisableInt())) -} -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/visetevent.c b/ge007_libultra/libultra/visetevent.c deleted file mode 100644 index ad9d00b..0000000 --- a/ge007_libultra/libultra/visetevent.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osViSetEvent(s32 arg0, s32 arg1, ? arg2, ?32 argA, ?32 argB, s16 argC) { - // Node 0 - __osViNext->unk10 = argA; - __osViNext->unk14 = argB; - __osViNext->unk2 = argC; - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: __osRestoreInt(__osDisableInt())) -} -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/visetmode.c b/ge007_libultra/libultra/visetmode.c deleted file mode 100644 index 251ce83..0000000 --- a/ge007_libultra/libultra/visetmode.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osViSetMode(s32 arg0, ?32 argA) { - // Node 0 - __osViNext->unk8 = argA; - *__osViNext = (u16)1; - __osViNext->unkC = (?32) __osViNext->unk8->unk4; - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: __osRestoreInt(__osDisableInt())) -} -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/visetxscale.c b/ge007_libultra/libultra/visetxscale.c deleted file mode 100644 index 723fb6b..0000000 --- a/ge007_libultra/libultra/visetxscale.c +++ /dev/null @@ -1,88 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING - -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/visetyscale.c b/ge007_libultra/libultra/visetyscale.c deleted file mode 100644 index 5d595dc..0000000 --- a/ge007_libultra/libultra/visetyscale.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osViSetYScale(f32 arg0, f32 argA) { - // Node 0 - __osViNext->unk24 = argA; - *__osViNext = (s16) (*__osViNext | 4); - __osRestoreInt(__osDisableInt()); - return; - // (possible return value: __osRestoreInt(__osDisableInt())) -} - -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/libultra/viswapbuffer.c b/ge007_libultra/libultra/viswapbuffer.c deleted file mode 100644 index 7b1c1e1..0000000 --- a/ge007_libultra/libultra/viswapbuffer.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void osViSwapBuffer(s32 arg0, ?32 arg8) { - s32 sp1C; - - // Node 0 - sp1C = __osDisableInt(); - __osViNext->unk4 = arg8; - *__osViNext = (s16) (*__osViNext | 0x10); - __osRestoreInt(sp1C); - return; - // (possible return value: __osRestoreInt(sp1C)) -} - -#else -GLOBAL_ASM( -.text -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 -) -#endif \ No newline at end of file diff --git a/ge007_libultra/tools/Makefile b/ge007_libultra/tools/Makefile deleted file mode 100644 index ad898c2..0000000 --- a/ge007_libultra/tools/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -CC := gcc -CFLAGS := -I . -Wall -Wextra -pedantic -std=c99 -O3 -s -PROGRAMS := patch_libultra_math - -patch_libultra_math_SOURCES := patch_libultra_math.c - -all: $(PROGRAMS) - -clean: - $(RM) $(PROGRAMS) - -define COMPILE -$(1): $($1_SOURCES) - $(CC) $(CFLAGS) $($1_CFLAGS) $$^ -lm -o $$@ -endef - -$(foreach p,$(PROGRAMS),$(eval $(call COMPILE,$(p)))) \ No newline at end of file diff --git a/ge007_libultra/tools/patch_libultra_math b/ge007_libultra/tools/patch_libultra_math deleted file mode 100644 index ef3cd68..0000000 Binary files a/ge007_libultra/tools/patch_libultra_math and /dev/null differ diff --git a/ge007_libultra/tools/patch_libultra_math.c b/ge007_libultra/tools/patch_libultra_math.c deleted file mode 100644 index bf93cee..0000000 --- a/ge007_libultra/tools/patch_libultra_math.c +++ /dev/null @@ -1,10 +0,0 @@ -#include - -int main(int argc, char **argv) -{ - FILE *f = fopen(argv[1], "r+"); - fseek(f, 0x24, SEEK_SET); - char byte = 0x10; - fwrite(&byte, sizeof(char), 1, f); - fclose(f); -} diff --git a/lib/F3D.bin b/lib/F3D.bin deleted file mode 100644 index 27d994b..0000000 Binary files a/lib/F3D.bin and /dev/null differ diff --git a/lib/F3D_audio.bin b/lib/F3D_audio.bin deleted file mode 100644 index 8553f65..0000000 Binary files a/lib/F3D_audio.bin and /dev/null differ diff --git a/lib/F3D_audio_data.bin b/lib/F3D_audio_data.bin deleted file mode 100644 index 1e74134..0000000 Binary files a/lib/F3D_audio_data.bin and /dev/null differ diff --git a/lib/F3D_audio_unk.bin b/lib/F3D_audio_unk.bin deleted file mode 100644 index efb4f69..0000000 Binary files a/lib/F3D_audio_unk.bin and /dev/null differ diff --git a/lib/F3D_boot.bin b/lib/F3D_boot.bin deleted file mode 100644 index af19e62..0000000 Binary files a/lib/F3D_boot.bin and /dev/null differ diff --git a/lib/F3D_data.bin b/lib/F3D_data.bin deleted file mode 100644 index 56a28db..0000000 Binary files a/lib/F3D_data.bin and /dev/null differ diff --git a/lib/F3D_unk.bin b/lib/F3D_unk.bin deleted file mode 100644 index 9d4bf7b..0000000 Binary files a/lib/F3D_unk.bin and /dev/null differ diff --git a/lib/rsp.s b/lib/rsp.s deleted file mode 100644 index 1865c2d..0000000 --- a/lib/rsp.s +++ /dev/null @@ -1,37 +0,0 @@ -.include "macros.inc" - -.section .text - -.balign 16 -glabel rspF3DBootStart - .incbin "lib/F3D_boot.bin" -glabel rspF3DBootEnd - -# Both of these ucode bins are 0x1000/0x800 respectively as defined in their -# ucode initializations, but there's extra data afterwards. However, it's not the -# RSP data as that is pointed to below in the rodata section. TODO: What are these -# extra bins? - -.balign 16 -glabel rspF3DStart - .incbin "lib/F3D.bin" - .incbin "lib/F3D_unk.bin" -glabel rspF3DEnd - -.balign 16 -glabel rspF3DAudioStart - .incbin "lib/F3D_audio.bin" - .incbin "lib/F3D_audio_unk.bin" -glabel rspF3DAudioEnd - -.section .rodata - -.balign 16 -glabel rspF3DDataStart - .incbin "lib/F3D_data.bin" -glabel rspF3DDataEnd - -.balign 16 -glabel rspF3DAudioDataStart - .incbin "lib/F3D_audio_data.bin" -glabel rspF3DAudioDataEnd diff --git a/notes/StyleGuide.txt b/notes/StyleGuide.txt new file mode 100644 index 0000000..6dffbdf --- /dev/null +++ b/notes/StyleGuide.txt @@ -0,0 +1,267 @@ +/* +================================ Style Guide ================================== + +GE/PD mostly uses namespaceFunctionName() + joyTickRetrace(); + aiIfOpportunityFireJumpF(); +with occasional Pascal_Snake_Case + Snd_Play_Universal() +and snake_case + font_makegt +however sometimes its Snake_PrefixPascalCase + Pak_AddOneCameraFile + +GE Constant example + MAX_FUDGE_DATA_SIZE + +SDK also mostly uses namespaceFunctionName() in camelCase + alSndpPlay() + +Basically, Rare had no style guide! + + + +If an original name is known - Use it! + +In all other cases follow this guide. + + + +_______________________________________________________________________________ + Prefix Table +_______________________________________________________________________________ +Prefix Meaning Example Notes +-------|---------------|-------------------|----------------------------------- + g global gPrefService Not needed if already prefixed + "Global" +-------|---------------|-------------------|----------------------------------- + a argument aCount; + func(aCount); +-------|---------------|-------------------|----------------------------------- + s static member sPrefChecked Static Local retains value over App + life, but remains local +-------|---------------|-------------------|----------------------------------- + m private member -------file1------- a C file (Not H) + + static mLength; mLength is only accessable to file1 + + GetLength() because mLength was declared + { Static. + return mLength; + } + + -------Header------ Header included anywhere + + extern GetLength(); GetLegnth() is global because it + was declared extern. +-------|---------------|-------------------|----------------------------------- + E_ enum constants enum E_FOO + { + E_FOO_BAR, Also prefix with Enum Name. + E_FOO_BAZ + } +-------|---------------|-------------------|----------------------------------- + _ Implementation __osThingy Underscore prefix should NOT be + __ (Reserved) used in game code. + However, expect to find them in OS + as Internal Identifiers but no + Accessable Identifier will start + with _ or __. +-------|---------------|-------------------|----------------------------------- + + +Sufix Meaning Example Notes +-------|---------------|-------------------|----------------------------------- + p Pointer glistp Pointer to glist +_______________________________________________________________________________ + + +TYPES + Use SDK types (u8, s32 etc) rather than C Types (unsigned char, int etc) + Remember to include + +CONSTANTS + ALL_CAPS for constants eg. #define NULL 0 + +INCLUDE UNITS IN NAMES + If a variable represents time, weight, or some other unit then include the unit + in the name so developers can more easily spot problems. + For example: + int timeout_msecs; + int my_weight_lbs; + +VARIABLE NAMES + Should be nouns (as they represent state). The name should be camelCase + (e.g. index, currentEnvironment or bond). + + Prefixes are sometimes usefull, please refer to prefix table above + + Suffixes are sometimes useful eg: + max - to mean the maximum value something can have. + cnt - the current count of a running count variable. + key - key value. + For example: retry_max to mean the maximum number of retries, retry_cnt to mean + the current retry count. + + +FUNCTION NAMES + Should be verb phrases (as they represent actions), and command-like function + should be imperative. + The name should make clear what it does: + check_for_errors() instead of error_check(), + dump_data_to_file() instead of data_file(). + This will also make functions and data objects more distinguishable. + + Prefixes are sometimes useful: + is - to ask a question about something. Whenever someone sees Is they will + know it's a question. + get - get a value. set - set a value. + + For example: isAlive + +STRUCT NAMES + Structs are often nouns and should be PascalCase + + +COMMENTS + Comments should be C style / * * / for block comments and header documentation + C++ style / / for inline comments documenting single items + XML Documentation for Intelisense / / / should precede functions directly + without extra line breaks + + +SCOPE + Variables inside braces have "Block" scope and end when the block ends (unless + declared static where they retain their value till program ends). if(1) + { + int a = 1; + } + else + { + int a = 0; + } + + Variables Outside functions, usually at top of file (or in header) have by + default Global Scope (extern aka Public). + If declaired as static they are demoted to "Translation Unit" Scope, + (the file including any included files) and cannot be addressed by other + files (aka Private). + Both extern and static have Static Duration - they end when the program ends. + + //Initial Declaration + int gi1 = 1; // defnition, external linkage (Public) + static int ii2 = 2; // defnition, internal linkage (Private) + extern int gi3 = 3; // defnition, external linkage (Public) + int gi4; // tentative defnition, external linkage (Public) + static int ii5; // tentative defnition, internal linkage (Private) + + //Attempted Referencing + int gi1; // valid tentative defnition, refers to previous + int ii2; // 6.2.2 renders undefned, linkage disagreement + int gi3; // valid tentative defnition, refers to previous + int gi4; // valid tentative defnition, refers to previous + int ii5; // 6.2.2 renders undefned, linkage disagreement + + //Reference (Brings into Scope) + extern int gi1; // refers to previous, whose linkage is external + extern int ii2; // refers to previous, whose linkage is internal + extern int gi3; // refers to previous, whose linkage is external + extern int gi4; // refers to previous, whose linkage is external + extern int ii5; // refers to previous, whose linkage is internal + + + +=================== EXAMPLE C ====================== +*/ + + +/* -- FILE 1 -- */ + + static f32 mAiTime; // Static, holds value for duration of program, scoped to file 1 + // There should be good reason to keep a limited scope. + + /// Returns the time + extern f32 ai_get_Time() //Explicit extern for clarity (not required) + { + return mAiTime; // Gets time from private mTime + } + + /// sets the time from an integer + void ai_set_Time(u32 time) // though not explicit, this is still extern + { + mAiTime = time / 60; // Sets time to mTime format + } +/*----------------------------------*/ + + + + + +/* -- Global Header (Perhaps included with ultra64.h) -- */ + + extern int ai_get_Time(); // Gets time from private mTime + +/*----------------------------------*/ + + + + + + +/* -- FILE 2 -- */ + + s32 D_80000000; // Unknown label data (extern by default) + u32 gGlobalData = 0; // camelCasedNaming and defined as early as possible + + typedef enum E_ID // prefix with E_ + { + E_ID_AGENT, // prefix with enum name + E_ID_SECRETAGENT, + E_ID_00AGENT + }; + + typedef struct Person // structs themselves should use PascalCase and be Nouns + { + E_ID ID; // struct member Noun and PascalCase + char *Name; + int Age; + } Person; + + Person gTrevor = {E_ID_00AGENT, "Trevor", 30}; // Global Person defined early + + // This can be done, but its pointless since gGlobalData has global scope and nothing special is being done + int get_GlobalData() + { + return gGlobalData; + } + + + /// functions should be snake_cased + /// further xml documentation + /// parameter1 is a s32 and defines the number of xxx + void function_name_sample(int Parameter1) + { // newline for opening braces (ALLMAN) + u32 tempvar; // Use SDK Types + + if (gGlobalData == 1) + { + gGlobalData = 2; + D_80000000 = 10; + } + else + { + tempVar = get_GlobalData(); // wastes cpu instructions + tempVar = gGlobalData(); // This works equally as well + } + + if (gGlobalData == 4) + gGlobalData = 2; // this syntex may be used + } + + void main() + { + int aSomeArg = ai_get_Time(); // Access Global Getter + //aSomeArg = mAiTime; // This fails as mAiTime is not visible in this file (Scope limited to file1) + function_name_sample(aSomeArg); + } + diff --git a/notes/ge007.e.yaml b/notes/ge007.e.yaml deleted file mode 100644 index 42475a9..0000000 --- a/notes/ge007.e.yaml +++ /dev/null @@ -1,104 +0,0 @@ -# ROM splitter configuration file -name: "Goldeneye 007" - -# checksums from ROM header offsets 0x10 and 0x14 -# used for auto configuration detection -checksum1: 0x0414CA61 -checksum2: 0x2E57B8AA - -# base filename used for outputs (please, no spaces] -basename: "ge007.e" - - -ranges: - - [0x00000000, 0x000040, "header", "header"] - - [0x00000040, 0x001000, "bin", "boot"] - - [0x00001000, 0x001050, "asm", "start", 0x80000400] - - [0x00001050, 0x01F850, "asm", "code", 0x70000450] - - [0x0001F850, 0x031450, "bin", "Compressedrodata"] - - [0x00031450, 0x0329F0, "asm", "rarezip", 0x70200000] - - [0x000329F0, 0x1047F0, "asm", "codeTLB", 0x7F000000] - -labels: - - [0x80000400, "_start"] - - [0x70000450, "boot"] - - [0x700004BC, "get_csegmentSegmentStart"] - - [0x700004C8, "get_cdataSegmentRomStart"] - - [0x700004D4, "get_cdataSegmentRomEnd"] - - [0x700004E0, "get_rarezipSegmentRomStart"] - - [0x700004EC, "get_rarezipSegmentRomEnd"] - - [0x700004F8, "jump_decompressfile"] - - [0x70000510, "init"] - - [0x700006F0, "set_stack_entry"] - - [0x700006FC, "set_hw_address_and_unknown"] - - [0x70000718, "thread1_idle"] - - [0x70000738, "start_idle_thread"] - - [0x70000790, "start_rmon_thread"] - - [0x700007EC, "init_scheduler"] - - [0x7000089C, "thread3_main"] - - [0x70000908, "setuplastentryofdebughandler"] - - [0x70000970, "activate_stderr"] - - [0x7000097C, "enable_stderr"] - - [0x70000988, "permit_stderr"] - - [0x70000994, "setUserCompareValue"] - - [0x700009A0, "CheckDisplayErrorBuffer"] - - [0x700009F8, "CheckDisplayErrorBufferEvery16Frames"] - - [0x70000A88, "osCreateLog"] - - [0x70000AAC, "osCreateScheduler"] - - [0x70000c14, "osScAddClient"] - - [0x70000c70, "osScRemoveClient"] - - [0x70000cf8, "osScGetCmdQ"] - - [0x70000d00, "__scMain"] - - [0x70000eb4, "__scHandleRetrace"] - - [0x70001014, "__scHandleRSP"] - - [0x7000111c, "get_counters"] - - [0x70001128, "__scHandleRDP"] - - [0x700011e0, "__scTaskReady"] - - [0x70001230, "__scTaskComplete"] - - [0x700013d8, "__scAppendList"] - - [0x70001440, "__scExec"] - - [0x70001560, "__scYield"] - - [0x7000159c, "__scSchedule"] - - [0x70001780, "osMapTLBRdb"] - - - [0x700017e0, "osCreateViManager"] - - [0x70001958, "viMgrMain"] - - [0x70001af0, "osCreatePiManager"] - - - [0x70001c60, "establish_TLB_buffer_management_table"] - - [0x70001d10, "mp_tlb_related"] - - [0x70001d38, "return_TLB_index_for_entry"] - - [0x70001d98, "find_remove_TLB_entry"] - - [0x70001dcc, "remove_TLB_entry_from_table"] - - [0x70001e50, "translate_load_rom_from_TLBaddress"] - - [0x70001f70, "return_ptr_TLBallocatedblock"] - #- [0x, ""] - - ############################### - #rarezipsegment.o - #rarezipsegment.s - - [0x70200000, "decompress.buildtable"] - - [0x70200654, "decompress.inflate"] - - [0x70200A48, "decompress.type0"] - - [0x70200B9C, "decompress.type1"] - - [0x70200D04, "decompress.type2"] - - [0x70201228, "decompress.table"] - - [0x70201348, "decompress.start"] - - [0x7020141C, "decompress.entry"] - #.data - - [0x70201480, "rarezip.ptr_source"] - - [0x70201484, "rarezip.ptr_target"] - - [0x70201488, "rarezip.curoffset"] - - [0x7020148C, "rarezip.decompressed_count"] - - [0x70201490, "rarezip.ptrbuffer"] - - [0x70201494, "rarezip.order"] - - [0x702014A8, "rarezip.lbase"] - - [0x702014E8, "rarezip.lextra"] - - [0x70201508, "rarezip.dbase"] - - [0x70201544, "rarezip.dextra"] - - [0x70201564, "rarezip.sample"] - - [0x70201568, "rarezip.bits_in_sample"] - - [0x7020156C, "rarezip.masks"] - - [0x70201590, "rarezip.data1"] - - [0x70201594, "rarezip.data2"] - - [0x70201598, "rarezip.data3"] \ No newline at end of file diff --git a/notes/ge007.j.yaml b/notes/ge007.j.yaml deleted file mode 100644 index 018a761..0000000 --- a/notes/ge007.j.yaml +++ /dev/null @@ -1,7546 +0,0 @@ -# ROM splitter configuration file -name: "Goldeneye 007" - -# checksums from ROM header offsets 0x10 and 0x14 -# used for auto configuration detection -checksum1: 0xA24F4CF1 -checksum2: 0xA82327BA - -# base filename used for outputs (please, no spaces] -basename: "ge007.j" - - -ranges: - - [0x00000000, 0x000040, "header", "header"] - - [0x00000040, 0x001000, "bin", "boot"] - - [0x00001000, 0x001050, "asm", "start", 0x80000400] - - [0x00001050, 0x0219D0, "asm", "code", 0x70000450] - - [0x000219D0, 0x0335D0, "bin", "Compressedrodata"] - - [0x000335D0, 0x034B70, "asm", "rarezip", 0x70200000] - - [0x00034B70, 0x117880, "asm", "codeTLB", 0x7F000000] -labels: - ############################### - - [0x80000400, "_start"] - - - [0x70000450, "boot"] - - [0x700004bc, "get_csegmentSegmentStart"] - - [0x700004c8, "get_cdataSegmentRomStart"] - - [0x700004d4, "get_cdataSegmentRomEnd"] - - [0x700004e0, "get_rarezipSegmentRomStart"] - - [0x700004ec, "get_rarezipSegmentRomEnd"] - - [0x700004f8, "jump_decompressfile"] - - - [0x70000510, "init"] - - [0x700006f0, "set_stack_entry"] - - [0x700006fc, "set_hw_address_and_unknown"] - - [0x70000718, "thread1_idle"] - - [0x70000738, "start_idle_thread"] - - [0x70000790, "start_rmon_thread"] - - [0x700007ec, "init_scheduler"] - - [0x7000089c, "thread3_main"] - - [0x70000908, "setuplastentryofdebughandler"] - - - [0x70000970, "activate_stderr"] - - [0x7000097c, "enable_stderr"] - - [0x70000988, "permit_stderr"] - - [0x70000994, "setUserCompareValue"] - - [0x700009a0, "CheckDisplayErrorBuffer"] - - [0x700009f8, "CheckDisplayErrorBufferEvery16Frames"] - - [0x70000a88, "osCreateLog"] - - [0x70000aac, "osCreateScheduler"] - - [0x70000c14, "osScAddClient"] - - [0x70000c70, "osScRemoveClient"] - - [0x70000cf8, "osScGetCmdQ"] - - [0x70000d00, "__scMain"] - - [0x70000eb4, "__scHandleRetrace"] - - [0x70001014, "__scHandleRSP"] - - [0x7000111c, "get_counters"] - - [0x70001128, "__scHandleRDP"] - - [0x700011e0, "__scTaskReady"] - - [0x70001230, "__scTaskComplete"] - - [0x700013d8, "__scAppendList"] - - [0x70001440, "__scExec"] - - [0x70001560, "__scYield"] - - [0x7000159c, "__scSchedule"] - - [0x70001780, "osMapTLBRdb"] - - [0x700017e0, "establish_TLB_buffer_management_table"] - - [0x70001898, "mp_tlb_related"] - - [0x700018c0, "return_TLB_index_for_entry"] - - [0x70001920, "find_remove_TLB_entry"] - - [0x70001954, "remove_TLB_entry_from_table"] - - [0x700019d8, "translate_load_rom_from_TLBaddress"] - - [0x70001af8, "return_ptr_TLBallocatedblock"] - - [0x70001b10, "return_tlb_random_value"] - - [0x70001b60, "resolve_TLBaddress_for_InvalidHit"] - - [0x70001bb0, "set_hardwire_TLB_to_2"] - - [0x70001bd0, "amCreateAudioMgr"] - - [0x70001f58, "startaudiThread"] - - [0x70001f7c, "_amMain"] - - [0x70002244, "_amHandleFrameMsg"] - - [0x700023e4, "__amHandleDoneMsg"] - - [0x70002424, "__amDMA"] - - [0x700025d8, "__amDmaNew"] - - [0x70002610, "__clearAudioDMA"] - - [0x70002730, "displaylist_related"] - - [0x700027a4, "video_related_1"] - - [0x70002810, "video_related_2"] - - [0x70002854, "video_related_3"] - - [0x70002958, "display_speed_graph"] - - [0x70002cd8, "video_DL_related_4"] - - [0x70003060, "init_video_settings"] - - [0x70003124, "init_both_video_buffers"] - - [0x70003190, "video_related_6"] - - [0x700031a0, "video_related_7"] - - [0x70003298, "video_related_8"] - - [0x70003b04, "video_related_9"] - - [0x70003b64, "receive_vi_c_msgs"] - - [0x70003bb0, "setVideoWidthHeightToMode"] - - [0x70003c00, "set_coloroutputmode_16bit"] - - [0x70003c10, "set_coloroutputmode_32bit"] - - [0x70003c1c, "get_video_settings2_frameb"] - - [0x70003c2c, "get_video_settings1_frameb"] - - [0x70003c3c, "set_video2buf_frameb"] - - [0x70003c4c, "get_80060824"] - - [0x70003c58, "video_related_F"] - - [0x70003eb4, "video_related_10"] - - [0x70003ef8, "insert_generic_fillrect"] - - [0x70003f64, "setupscreensfornumplayers"] - - [0x70004384, "set_D_800232A0"] - - [0x70004390, "get_D_800232A0"] - - [0x7000439c, "set_D_8002329C"] - - [0x700043a8, "get_D_8002329C"] - - [0x700043b4, "set_video2_settings_offset_18_1A"] - - [0x700043d8, "get_video2_settings_offset_18"] - - [0x700043e8, "get_video2_settings_offset_1A"] - - [0x700043f8, "set_video2_text_clip_size"] - - [0x7000441c, "get_video2_settings_txtClipW"] - - [0x7000442c, "get_video2_settings_txtClipH"] - - [0x7000443c, "set_video2_width_height"] - - [0x7000449c, "get_video2_settings_width"] - - [0x700044ac, "get_video2_settings_height"] - - [0x700044bc, "set_video2_ulx_uly"] - - [0x70004514, "get_video2_settings_ulx"] - - [0x70004524, "get_video2_settings_uly"] - - [0x70004534, "set_video2_settings_offset_24"] - - [0x70004544, "setvideo_far"] - - [0x70004590, "video_related_21"] - - [0x700045dc, "video_related_23"] - - [0x700045ec, "video_related_24"] - - [0x70004650, "set_page_height"] - - [0x700046ac, "video_related_27"] - - [0x700046d0, "set_setfillcolor"] - - [0x70004758, "indy_grab_jpg_16bit"] - - [0x700048d4, "indy_grab_jpg_32bit"] - - [0x70004a60, "indy_grab_rgb_16bit"] - - [0x70004bb4, "indy_grab_rgb_32bit"] - - [0x70004d20, "return_match_in_debug_notice_list"] - - [0x70004d80, "get_entry_of_size_in_debug_notice_list"] - - [0x70004de0, "add_new_entry_to_debug_notice_list"] - - [0x70004e2c, "add_debug_notice_deb_c_debug"] - - [0x70004e60, "get_ptr_debug_notice_list_entry"] - - [0x70004e98, "scan_debug_notice_list_till_NULL"] - - [0x70004ebc, "debug_stubbed_70004EBC"] - - [0x70004ec4, "debug_removed"] - - [0x70004ee0, "init_tlb"] - - [0x70004f54, "thread5_translate_7F_address"] - - [0x700050ac, "debug_related_8"] - - [0x700051e0, "was_opcode_In_70000450_70020D90"] - - [0x70005258, "return_strlen"] - - [0x70005294, "indy_file_get_address_subsequent_data"] - - [0x70005340, "scan_load_resourceID_from_indy_read_buf"] - - [0x700053c8, "is_valid_indy_read_buf_resourceID"] - - [0x700053fc, "debug_indy_stub"] - - [0x70005404, "debug_indy_stub_0"] - - [0x7000540c, "debug_indy_stub_1"] - - [0x70005414, "return_indy_read_buf_resourceID"] - - [0x70005420, "debug_sp_related_11"] - - [0x700054e4, "debug_sp_related_12"] - - [0x70005560, "_is_normal_single_precision_float"] - - [0x700055a4, "is_normal_single_precision_float"] - - [0x700055c8, "set_normality_of_single_precision_floats"] - - [0x70005628, "debug_indy_stub_2"] - - [0x70005630, "write_char_to_pos_stderr"] - - [0x700056bc, "__osRdbSend"] - - [0x700057cc, "scroll_stderr_oneline"] - - [0x7000585c, "print_to_vidbuff1"] - - [0x70005984, "set_ptr_video_buffers"] - - [0x700059a4, "set_video_buffer_pointers"] - - [0x700059d0, "write_stderr_to_buffer"] - - [0x70005b10, "return_last_RA_saved_to_stack"] - - [0x70005b18, ".L70005B18"] - - [0x70005b60, "romCreateMesgQueue"] - - [0x70005b90, "doRomCopy"] - - [0x70005bf0, "romReceiveMesg"] - - [0x70005c1c, "romCopy"] - - [0x70005c44, "romCopyAligned"] - - [0x70005ca8, "doRomWrite"] - - [0x70005d08, "romWrite"] - - [0x70005d30, "init_mainthread_data"] - - [0x70005ff4, "enable_show_mem_use_flag"] - - [0x70006004, "mem_bars_flag_toggle"] - - [0x7000601c, "setup_gamevalues_and_launchmainloop"] - - [0x70006060, "mainloop"] - - [0x70006930, "run_title_stage"] - - [0x70006950, "set_loaded_stage"] - - [0x7000695c, "get_stage_num"] - - [0x70006968, "return_to_title_from_level_end"] - - [0x700069c4, "get_debug_parse_flag"] - - [0x700069d0, "something_with_boss_c_debug"] - - [0x70006a00, "audio_related"] - - [0x70006a40, "setupaudio"] - - [0x70006e8c, "musicTrack1Play"] - - [0x70006fe0, "musicTrack1Stop"] - - [0x70007040, "musicTrack1Length"] - - [0x7000704c, "musicTrack1Vol"] - - [0x700070b0, "musicTrack1Tempo"] - - [0x70007108, "music_related_1"] - - [0x70007178, "music_related_3"] - - [0x70007214, "musicTrack2Play"] - - [0x70007368, "musicTrack2Stop"] - - [0x700073c8, "musicTrack2Length"] - - [0x700073d4, "musicTrack2Vol"] - - [0x70007438, "musicTrack2Tempo"] - - [0x70007490, "music_related_6"] - - [0x70007500, "music_related_8"] - - [0x7000759c, "music_related_3rd_block"] - - [0x700076f0, "musicTrack3Stop"] - - [0x70007750, "get_music3len"] - - [0x7000775c, "musicTrack3Vol"] - - [0x700077c0, "music_related_10"] - - [0x70007818, "music_related_11"] - - [0x70007888, "music_related_13"] - - [0x70007924, "music_related_15"] - - [0x70007b30, "sfx_c_70007B20"] - - [0x70007dec, "sfx_c_70007DDC"] - - [0x70007e90, "sfx_c_70007E80"] - - [0x70007fcc, ".L70007FBC"] - - [0x70008398, ".L70008388"] - - [0x7000848c, ".L7000847C"] - - [0x70008500, ".L700084F0"] - - [0x700085d8, ".L700085C8"] - - [0x700088e4, ".L700088D4"] - - [0x70008958, "sfx_c_70008948"] - - [0x700089d4, "sfx_c_700089C4"] - - [0x70008a40, "sfx_c_70008A30"] - - [0x70008b00, "sfx_c_70008AF0"] - - [0x70008b80, "sfx_c_70008B70"] - - [0x70008d14, "sfx_c_70008D04"] - - [0x70008de8, "sfx_c_70008DD8"] - - [0x70008e00, "sfxGetArg0Unk3F"] - - [0x70008e18, "play_sfx_a1"] - - [0x70009030, "sfxDeactivate"] - - [0x7000907c, "sfx_c_7000906C"] - - [0x70009134, "sfx_c_70009124"] - - [0x70009154, "sfx_c_70009144"] - - [0x70009174, "sfx_c_70009164"] - - [0x70009194, "sfx_c_70009184"] - - [0x700091d8, "sfx_c_700091C8"] - - [0x700091f8, "sfx_c_700091E8"] - - [0x70009248, "sfx_c_70009238"] - - [0x70009274, "sfx_c_70009264"] - - [0x70009294, "sfx_c_70009284"] - - [0x70009390, "something_with_memp_c_debug"] - - [0x700093bc, "mempCheckMemflagTokens"] - - [0x70009524, "mempSetBankStarts"] - - [0x70009730, "mempAllocBytesInBank"] - - [0x70009814, "mempAddEntryOfSizeToBank"] - - [0x70009900, "nulled_mempLoopAllMemBanks"] - - [0x70009920, "mempGetBankSizeLeft"] - - [0x70009980, "mempAllocPackedBytesInBank"] - - [0x700099ac, "mempResetBank"] - - [0x700099d4, "mempNullNextEntryInBank"] - - [0x70009a20, "memaSwap"] - - [0x70009a44, "memaMerge"] - - [0x70009a60, "memaSortMergeEntries"] - - [0x70009b28, "memaSortMergeAllEntries"] - - [0x70009b70, "mem_related"] - - [0x70009c84, "memaAllocRoomBuffer"] - - [0x70009d7c, "something_with_mema_c_debug"] - - [0x70009da8, "mempInitMallocTable"] - - [0x70009e20, "mem_related_calls_sort_merge_entries"] - - [0x70009e44, "mem_related_something_find_first"] - - [0x70009fb8, "mem_related_something_find_first_0"] - - [0x7000a030, "mem_related_model_room_buffers_0"] - - [0x7000a050, "mem_related_allocated_table_related"] - - [0x7000a074, "mem_related_something_first_related"] - - [0x7000a110, "generate_list_alloc_mem"] - - [0x7000a2ac, "memaGenerateListsBeforeAfterMerge"] - - [0x7000a308, "mem_related_something_first_related_0"] - - [0x7000a380, "mem_related_0"] - - [0x7000a3ec, "mem_related_1"] - - [0x7000a460, "get_random_value"] - - [0x7000a4a8, "increment_random_num"] - - [0x7000a4bc, "lotsa_shifting_randomizer_related"] - - [0x7000a500, "check_string_something"] - - [0x7000a59c, "strtok"] - - [0x7000a5d0, "check_boot_switches"] - - [0x7000a6b0, "check_token"] - - [0x7000a780, "textpointer_load_parse_something"] - - [0x7000a7b0, "something_with_strings"] - - [0x7000a80c, "string_append_from_obseg_textbank"] - - [0x7000a85c, "something_with_strings_0"] - - [0x7000a8a8, "string_related"] - - [0x7000a908, "strtol_related"] - - [0x7000a940, "strtol_related_0"] - - [0x7000a960, "strtol_related_1"] - - [0x7000a99c, "strtol_related_2"] - - [0x7000a9f0, "strtol"] - - [0x7000ac80, "proutSprintf"] - - [0x7000aca4, "sprintf"] - - [0x7000ad00, "start_pi_manager"] - - [0x7000ad40, "start_nulled_entry"] - - [0x7000ad48, "something_with_vi_c_debug"] - - [0x7000ad90, "dummied_function_7000AD80"] - - [0x7000ada0, "dummied_function_7000AD90"] - - [0x7000adb0, "null_function_7000ADA0"] - - [0x7000adb8, "null_init_main_0"] - - [0x7000adc0, "debug_text_related_2"] - - [0x7000ade0, "display_text_to_coord"] - - [0x7000aeec, "debugMenuSetTextPOStoOffset"] - - [0x7000af10, "blank_debug_buffer_chars"] - - [0x7000af94, "stubbed_function_7000AF84"] - - [0x7000afa8, "something_debug_info_related"] - - [0x7000b050, "set_final_debug_text_positions"] - - [0x7000b07c, "set_debug_text_color"] - - [0x7000b0a8, "set_color_speedgraph"] - - [0x7000b0d4, "write_char_to_screen"] - - [0x7000b1d0, "debug_printcharatpos"] - - [0x7000b1f8, "write_string_stdout"] - - [0x7000b240, "debug_text_related"] - - [0x7000b28c, "read_screen_display_block_and_write_chars"] - - [0x7000b570, "something_with_joy_c_debug"] - - [0x7000b6bc, "test_controller_presence"] - - [0x7000b738, "osPfsChecker"] - - [0x7000b744, "controller_7000B734"] - - [0x7000b820, "controller_check_for_rumble_maybe"] - - [0x7000ba08, "get_attached_controller_count"] - - [0x7000ba80, "get_num_controllers_plugged_in"] - - [0x7000ba8c, "controller_rumble_related"] - - [0x7000bc0c, "set_disable_all_rumble_and_something"] - - [0x7000bc20, "set_ptr_tlb_ramrom_record"] - - [0x7000bc2c, "probably_ramrom_related"] - - [0x7000bd70, "redirect_to_ramrom_replay_and_record_handlers_if_set"] - - [0x7000bdec, "controllerSchedulerRelated"] - - [0x7000c150, "get_cur_controller_horz_stick_pos"] - - [0x7000c1d8, "controller_7000C174"] - - [0x7000c260, "get_cur_controller_vert_stick_pos"] - - [0x7000c2e8, "controller_7000C284"] - - [0x7000c370, "get_controller_buttons_held"] - - [0x7000c410, "get_controller_buttons_pressed"] - - [0x7000c494, "controller_7000C430"] - - [0x7000c4d4, "controller_7000C470"] - - [0x7000c518, "get_controller_3dstick_L_R"] - - [0x7000c58c, "get_controller_3dstick_U_D"] - - [0x7000c600, "controller_7000C59C"] - - [0x7000c670, "controller_7000C60C"] - - [0x7000c6e0, "controller_7000C67C"] - - [0x7000c720, "controller_7000C6BC"] - - [0x7000c760, "save_7000C6FC"] - - [0x7000c798, "save_7000C734"] - - [0x7000c7dc, "save_7000C778"] - - [0x7000c820, "save_7000C7BC"] - - [0x7000c86c, "save_7000C808"] - - [0x7000c8b8, "controller_7000C854"] - - [0x7000c940, "reset_cont_rumble_detect"] - - [0x7000c96c, "controller_7000C930"] - - [0x7000c990, "controller_7000C954"] - - [0x7000c9c0, "send_rumble_off_to_PIF"] - - [0x7000caec, "controller_7000CAAC"] - - [0x7000cc1c, "controller_7000CBDC"] - - [0x7000cd78, "controller_7000CD38"] - - [0x7000cee0, "thread0_rmon"] - - [0x7000cee8, "rmon_debug_is_final_build"] - - [0x7000cef0, "rmon_debug_returns_neg_1"] - - [0x7000cef8, "rmon_debug_stub"] - - [0x7000cf00, "rmon_debug_stub_0"] - - [0x7000cf08, "rmon_debug_stub_1"] - - [0x7000cf10, "rmon_debug_stub_2"] - - [0x7000cf18, "rmon_debug_stub_3"] - - [0x7000cf20, "rmon_debug_stub_4"] - - [0x7000cf28, "proutSyncPrintf"] - - [0x7000cf84, "osSyncPrintf"] - - [0x7000cfd0, "osPiRawStartDma"] - - [0x7000d0b0, "osPiGetStatus"] - - [0x7000d0c0, "osInitialize"] - - [0x7000d360, "osWritebackDCacheAll"] - - [0x7000d390, "osInvalICache"] - - [0x7000d410, "osUnmapTLB"] - - [0x7000d450, "__osGetFpcCsr"] - - [0x7000d460, "__osSetFpcCsr"] - - [0x7000d470, "osCreateThread"] - - [0x7000d5c0, "osStartThread"] - - [0x7000d710, "osCreateMesgQueue"] - - [0x7000d780, "osStopThread"] - - [0x7000d840, "osSetThreadPri"] - - [0x7000d920, "osGetCount"] - - [0x7000d930, "osCreateViManager"] - - [0x7000dab8, "viMgrMain"] - - [0x7000dc90, "osSetEventMesg"] - - [0x7000dd00, "osViSetEvent"] - - [0x7000dd70, "osSetIntMask"] - - [0x7000de10, "osRecvMesg"] - - [0x7000df50, "osSendMesg"] - - [0x7000e0a0, "osViSetMode"] - - [0x7000e110, "osViSetXScale"] - - [0x7000e240, "osViSetYScale"] - - [0x7000e2a0, "osViRepeatLine"] - - [0x7000e310, "osViBlack"] - - [0x7000e380, "osSpTaskYielded"] - - [0x7000e400, "osDpGetCounters"] - - [0x7000e450, "osViGetCurrentFramebuffer"] - - [0x7000e490, "osViGetNextFramebuffer"] - - [0x7000e4d0, "osViSwapBuffer"] - - [0x7000e520, "osDpSetStatus"] - - [0x7000e530, "_VirtualToPhysicalTask"] - - [0x7000e64c, "osSpTaskLoad"] - - [0x7000e7ac, "osSpTaskStartGo"] - - [0x7000e7f0, "osDpSetNextBuffer"] - - [0x7000e8a0, "osSpTaskYield"] - - [0x7000e8c0, "__osGetTLBHi"] - - [0x7000e8f0, "osVirtualToPhysical"] - - [0x7000e970, "osAiSetFrequency"] - - [0x7000ead0, "alUnlink"] - - [0x7000eb00, "alLink"] - - [0x7000eb24, "alClose"] - - [0x7000eb5c, "alInit"] - - [0x7000eb90, "alHeapDBAlloc"] - - [0x7000ebf0, "osGetTime"] - - [0x7000ec80, "__ull_rshift"] - - [0x7000ecac, "__ull_rem"] - - [0x7000ece8, "__ull_div"] - - [0x7000ed24, "__ll_lshift"] - - [0x7000ed50, "__ll_rem"] - - [0x7000ed8c, "__ll_div"] - - [0x7000ede8, "__ll_mul"] - - [0x7000ee18, "__ull_divremi"] - - [0x7000ee78, "__ll_mod"] - - [0x7000ef14, "__ll_rshift"] - - [0x7000ef40, "osAiSetNextBuffer"] - - [0x7000eff0, "osAiGetLength"] - - [0x7000f008, "_timeToSamples"] - - [0x7000f060, "_freePVoice"] - - [0x7000f098, "_collectPVoices"] - - [0x7000f0f8, "__freeParam"] - - [0x7000f110, "__allocParam"] - - [0x7000f148, "alAudioFrame"] - - [0x7000f3e0, "alSynNew"] - - [0x7000f6e0, "osPiStartDma"] - - [0x7000f7f0, "osViSetSpecialFeatures"] - - [0x7000f9b0, "_bcopy"] - - [0x7000fcc0, "guPerspectiveF"] - - [0x7000fef0, "guPerspective"] - - [0x7000ff50, "guMtxF2L"] - - [0x70010050, "guMtxIdentF"] - - [0x700100d8, "guMtxIdent"] - - [0x70010108, "guMtxL2F"] - - [0x700101c0, "__osGetCurrFaultedThread"] - - [0x700101d0, "__osExceptionPreamble"] - - [0x700101e0, "__osException"] - - [0x700103d0, "next_interrupt"] - - [0x70010408, "IP6_Hdlr"] - - [0x70010414, "IP7_Hdlr"] - - [0x70010420, "counter"] - - [0x70010440, "cart"] - - [0x70010494, "rcp"] - - [0x700105d4, "prenmi"] - - [0x70010630, "sw2"] - - [0x70010650, "swl"] - - [0x70010688, "redispatch"] - - [0x700106bc, "enqueueRunning"] - - [0x70010704, "send_mesg"] - - [0x700107b8, "handle_CpU"] - - [0x700107ec, "__osEnqueueAndYield"] - - [0x700108ec, "__osEnqueueThread"] - - [0x70010934, "__osPopThread"] - - [0x70010944, "__osDispatchThread"] - - [0x70010964, "__osDispatchThreadSave"] - - [0x70010ac0, "__osCleanupThread"] - - [0x70010ad0, "__osDequeueThread"] - - [0x70010b10, "osYieldThread"] - - [0x70010b60, "osInvalDCache"] - - [0x70010c10, "osWritebackDCache"] - - [0x70010c90, "osSetTimer"] - - [0x70010d70, "alHeapInit"] - - [0x70010dc0, "ultra_70010D80"] - - [0x70010eb4, "alBnkfNew"] - - [0x70010fb8, "alSeqFileNew"] - - [0x70011000, "__CSPPostNextSeqEvent"] - - [0x70011070, "ultra_70011030"] - - [0x700110ac, "ultra_7001106C"] - - [0x7001127c, "__CSPHandleMIDIMsg"] - - [0x70011aac, "ultra_70011A6C"] - - [0x700120c0, "alCSPNew"] - - [0x70012230, "alSeqpSetBank"] - - [0x70012270, "alCSPGetState"] - - [0x70012280, "alCSeqGetLoc"] - - [0x70012320, "alCSeqSetLoc"] - - [0x700123c0, "ultra_70012380"] - - [0x70012484, "ultra_70012444"] - - [0x700124e4, "alCSeqNextEvent"] - - [0x700127dc, "alCSeqNew"] - - [0x700128f0, "alCSeqNewMarker"] - - [0x70012a5c, "alCSeqGetTicks"] - - [0x70012a64, "alCSeqSecToTicks"] - - [0x70012b60, "alCSeqTicksToSec"] - - [0x70012bcc, "__alCSeqNextDelta"] - - [0x70012d40, "alCSPSetSeq"] - - [0x70012d80, "alCSPPlay"] - - [0x70012db0, "alCSPStop"] - - [0x70012de0, "alCSPSetVol"] - - [0x70012e20, "alEvtqFlushType"] - - [0x70012ecc, "alEvtqFlush"] - - [0x70012f3c, "alEvtqPostEvent"] - - [0x70013060, "alEvtqNextEvent"] - - [0x700130ec, "alEvtqNew"] - - [0x70013160, "alSynAddPlayer"] - - [0x700131b0, "_allocatePVoice"] - - [0x70013298, "alSynAllocVoice"] - - [0x700133e0, "alSynSetVol"] - - [0x70013480, "alSynStartVoice"] - - [0x70013510, "alSynSetPan"] - - [0x700135a0, "alSynSetPitch"] - - [0x70013630, "alSynSetFXMix"] - - [0x700136d0, "alSynStopVoice"] - - [0x70013750, "alSynFreeVoice"] - - [0x70013800, "alCents2Ratio"] - - [0x70013850, "osPiReadIo"] - - [0x70013890, "memcpy"] - - [0x700138bc, "strlen"] - - [0x700138e4, "strchr"] - - [0x70013930, "_Putfld"] - - [0x70013fa0, "_Printf"] - - [0x700145f0, "osCreatePiManager"] - - [0x70014780, "osPfsInit"] - - [0x70014834, "__osPfsGetStatus"] - - [0x70014940, "osContInit"] - - [0x70014b38, "__osContGetInitData"] - - [0x70014c08, "__osPackRequestData"] - - [0x70014d00, "osContStartQuery"] - - [0x70014d84, "osContGetQuery"] - - [0x70014db0, "osContStartReadData"] - - [0x70014e74, "osContGetReadData"] - - [0x70014f1c, "osContReadData_sub"] - - [0x70015010, "osEepromProbe"] - - [0x70015080, "osEepromRead"] - - [0x70015270, "osEepromRead_sub"] - - [0x70015380, "osEepromWrite"] - - [0x70015530, "osEepromWrite_sub"] - - [0x7001563c, "__osEepStatus"] - - [0x70015860, "osEepromLongRead"] - - [0x700159a0, "osEepromLongWrite"] - - [0x70015ae0, "osPfsIsPlug"] - - [0x70015c80, "__osPfsRequestData"] - - [0x70015d7c, "__osPfsGetInitData"] - - [0x70015e50, "__osSiCreateAccessQueue"] - - [0x70015ea0, "__osSiGetAccess"] - - [0x70015ee4, "__osSiRelAccess"] - - [0x70015f10, "__osSiRawStartDma"] - - [0x70015fc0, "__osContAddressCrc"] - - [0x70016070, "__osContDataCrc"] - - [0x70016140, "__osContRamWrite"] - - [0x70016370, "__osContRamWrite_sub"] - - [0x700164f0, "__osContRamRead"] - - [0x70016734, "__osContRamRead_sub"] - - [0x700168a0, "guAlignF"] - - [0x70016a60, "guAlign"] - - [0x70016ab0, "guOrthoF"] - - [0x70016c04, "guOrtho"] - - [0x70016c70, "coss"] - - [0x70016ca0, "sins"] - - [0x70016d10, "guTranslateF"] - - [0x70016d58, "guTranslate"] - - [0x70016db0, "_bcmp"] - - [0x70016ed0, "guScaleF"] - - [0x70016f24, "guScale"] - - [0x70016f70, "guLookAtReflectF"] - - [0x700173b0, "guLookAtReflect"] - - [0x70017430, "guLookAtF"] - - [0x700176e8, "guLookAt"] - - [0x70017760, "guRotateF"] - - [0x700178f4, "guRotate"] - - [0x70017950, "__d_to_ll"] - - [0x7001796c, "__f_to_ll"] - - [0x70017988, "__d_to_ull"] - - [0x70017a28, "__f_to_ull"] - - [0x70017ac4, "__ll_to_d"] - - [0x70017adc, "__ll_to_f"] - - [0x70017af4, "__ull_to_d"] - - [0x70017b28, "__ull_to_f"] - - [0x70017b60, "__osSetSR"] - - [0x70017b70, "__osGetSR"] - - [0x70017b80, "__osSiRawReadIo"] - - [0x70017bd0, "__osSiRawWriteIo"] - - [0x70017c20, "osPiRawReadIo"] - - [0x70017c80, "_blkclr"] - - [0x70017d20, "__osSetHWIntrRoutine"] - - [0x70017d70, "__osLeoInterrupt"] - - [0x70018454, "__osLeoInterrupt_sub1"] - - [0x7001853c, "__osLeoInterrupt_sub2"] - - [0x70018630, "__osDisableInt"] - - [0x70018650, "__osRestoreInt"] - - [0x70018670, "__osTimerServicesInit"] - - [0x700186fc, "__osTimerInterrupt"] - - [0x70018874, "__osSetTimerIntr"] - - [0x700188e8, "__osInsertTimer"] - - [0x70018a70, "osGetThreadPri"] - - [0x70018a90, "__osViInit"] - - [0x70018ba0, "__osViGetCurrentContext"] - - [0x70018bb0, "__osViSwapContext"] - - [0x70018f10, "__osSpGetStatus"] - - [0x70018f20, "__osSpSetStatus"] - - [0x70018f30, "__osSpSetPc"] - - [0x70018f70, "__osSpRawStartDma"] - - [0x70019000, "__osSpDeviceBusy"] - - [0x70019030, "__osDpDeviceBusy"] - - [0x70019060, "__osProbeTLB"] - - [0x70019120, "alSynDelete"] - - [0x70019130, "__osAiDeviceBusy"] - - [0x70019160, "alSaveNew"] - - [0x700191a4, "alMainBusNew"] - - [0x700191f8, "alAuxBusNew"] - - [0x7001924c, "alResampleNew"] - - [0x700192d4, "alLoadNew"] - - [0x7001937c, "alEnvmixerNew"] - - [0x70019420, "init_lpfilter"] - - [0x700194c0, "alFxNew"] - - [0x70019900, "alSynAllocFX"] - - [0x700199a0, "alMainBusParam"] - - [0x700199d0, "alMainBusPull"] - - [0x70019af0, "alLoadParam"] - - [0x70019cc4, "alRaw16Pull"] - - [0x7001a070, "ultra_7001A030"] - - [0x7001a19c, "alAdpcmPull"] - - [0x7001a640, "alResampleParam"] - - [0x7001a72c, "alResamplePull"] - - [0x7001a940, "_ldexpf"] - - [0x7001a968, "_frexpf"] - - [0x7001aa54, "alEnvmixerParam"] - - [0x7001ab34, "ultra_7001AAF4"] - - [0x7001abf4, "ultra_7001ABB4"] - - [0x7001ae9c, "alEnvmixerPull"] - - [0x7001b520, "ultra_7001B4E0"] - - [0x7001b550, "ultra_7001B510"] - - [0x7001b630, "alSaveParam"] - - [0x7001b664, "alSavePull"] - - [0x7001b6f0, "osJamMesg"] - - [0x7001b840, "osPiGetCmdQueue"] - - [0x7001b870, "ultra_7001B830"] - - [0x7001b9e0, "ultra_7001B9A0"] - - [0x7001bba0, "osDestroyThread"] - - [0x7001bca0, "__setInstChanState"] - - [0x7001bcf4, "__resetPerfChanState"] - - [0x7001bd74, "__initFromBank"] - - [0x7001be30, "__vsDelta"] - - [0x7001be54, "__vsVol"] - - [0x7001bedc, "__seqpReleaseVoice"] - - [0x7001c008, "__voiceNeedsNoteKill"] - - [0x7001c0b0, "__unmapVoice"] - - [0x7001c120, "__postNextSeqEvent"] - - [0x7001c1fc, "__handleMetaMsg"] - - [0x7001c274, "__vsPan"] - - [0x7001c2bc, "__lookupVoice"] - - [0x7001c330, "__mapVoice"] - - [0x7001c3a0, "__lookupSoundQuick"] - - [0x7001c49c, "__handleMIDIMsg"] - - [0x7001ccbc, "__seqpVoiceHandler"] - - [0x7001d2e0, "__seqpStopOsc"] - - [0x7001d340, "unknown_libname_37"] - - [0x7001d36c, "unknown_libname_38"] - - [0x7001d378, "unknown_libname_39"] - - [0x7001d39c, "unknown_libname_40"] - - [0x7001d3cc, "unknown_libname_41"] - - [0x7001d3e0, "unknown_libname_42"] - - [0x7001d3e4, "__initChanState"] - - [0x7001d454, "alSeqpNew"] - - [0x7001d5e0, "alSynStartVoiceParams"] - - [0x7001d6d0, "alCopy"] - - [0x7001d750, "__osPiCreateAccessQueue"] - - [0x7001d7a0, "__osPiGetAccess"] - - [0x7001d7e4, "__osPiRelAccess"] - - [0x7001d810, "_Litob"] - - [0x7001dab0, "xldtob_sub0"] - - [0x7001e020, "_Ldtob"] - - [0x7001e570, "osEPiRawStartDma"] - - [0x7001e650, "__osDevMgrMain"] - - [0x7001ea00, "__osSumcalc"] - - [0x7001ea5c, "__osIdCheckSum"] - - [0x7001eac4, "__osRepairPackId"] - - [0x7001eedc, "__osCheckPackId"] - - [0x7001f074, "__osGetId"] - - [0x7001f2d0, "__osCheckId"] - - [0x7001f3cc, "__osPfsRWInode"] - - [0x7001f6ec, "__osPfsSelectBank"] - - [0x7001f760, "__osSiDeviceBusy"] - - [0x7001f790, "guNormalize"] - - [0x7001f820, "sqrtf"] - - [0x7001f830, "osLeoDiskInit"] - - [0x7001f920, "__osSetCompare"] - - [0x7001f930, "alFilterNew"] - - [0x7001f950, "_doModFunc"] - - [0x7001f9f8, "_filterBuffer"] - - [0x7001fab0, "_saveBuffer"] - - [0x7001fc38, "_loadBuffer"] - - [0x7001fdc4, "_loadOutputBuffer"] - - [0x7001ffe8, "alFxParamHdl"] - - [0x70020200, "alFxParam"] - - [0x70020218, "alFxPull"] - - [0x70020560, "alSeqGetLoc"] - - [0x7002057c, "alSeqSetLoc"] - - [0x70020598, "alSeqGetTicks"] - - [0x700205a8, "readVarLen"] - - [0x700205f4, "alSeqNextEvent"] - - [0x70020778, "alSeqNewMarker"] - - [0x70020898, "alSeqSecToTicks"] - - [0x7002097c, "alSeqTicksToSec"] - - [0x700209d0, "__alSeqNextDelta"] - - [0x70020a28, "read32"] - - [0x70020a78, "read16"] - - [0x70020aa8, "alSeqNew"] - - [0x70020b80, "alSynSetPriority"] - - [0x70020b90, "lldiv"] - - [0x70020c90, "ldiv"] - - [0x70020d20, "__osResetGlobalIntMask"] - - [0x70020d80, "osEPiRawWriteIo"] - - #rarezipsegment.o - #rarezipsegment.s - - [0x70200000, "decompress.buildtable"] - - [0x70200654, "decompress.inflate"] - - [0x70200A48, "decompress.type0"] - - [0x70200B9C, "decompress.type1"] - - [0x70200D04, "decompress.type2"] - - [0x70201228, "decompress.table"] - - [0x70201348, "decompress.start"] - - [0x7020141C, "decompress.entry"] - #.data - - [0x70201480, "rarezip.ptr_source"] - - [0x70201484, "rarezip.ptr_target"] - - [0x70201488, "rarezip.curoffset"] - - [0x7020148C, "rarezip.decompressed_count"] - - [0x70201490, "rarezip.ptrbuffer"] - - [0x70201494, "rarezip.order"] - - [0x702014A8, "rarezip.lbase"] - - [0x702014E8, "rarezip.lextra"] - - [0x70201508, "rarezip.dbase"] - - [0x70201544, "rarezip.dextra"] - - [0x70201564, "rarezip.sample"] - - [0x70201568, "rarezip.bits_in_sample"] - - [0x7020156C, "rarezip.masks"] - - [0x70201590, "rarezip.data1"] - - [0x70201594, "rarezip.data2"] - - [0x70201598, "rarezip.data3"] - - - - [0x7f000000, "initGameData"] - - [0x7f0000e0, "init_weapon_animation_groups_maybe"] - - [0x7f000110, "reset_counter_rand_body_head"] - - [0x7f0001f0, "sub_GAME_7F0001F0"] - - [0x7f000290, "sub_GAME_7F000290"] - - [0x7f00032c, "sub_GAME_7F00032C"] - - [0x7f00046c, "sub_GAME_7F00046C"] - - [0x7f0004d0, "sub_GAME_7F0004D0"] - - [0x7f000518, "somethingwith_weapon_animation_groups"] - - [0x7f000980, "sub_GAME_7F000980"] - - [0x7f0009a0, "sub_GAME_7F0009A0"] - - [0x7f0009d0, "null_init_main_3"] - - [0x7f0009e0, "sub_GAME_7F0009E0"] - - [0x7f000a00, "expand_ani_table_entries"] - - [0x7f000aac, "alloc_load_expand_ani_table"] - - [0x7f000b60, "sub_GAME_7F000B60"] - - [0x7f000b80, "set_gu_scale"] - - [0x7f000bc0, "null_init_main_2"] - - [0x7f000bd0, "image_entries_load"] - - [0x7f000c70, "alloc_intro_matrices"] - - [0x7f000d20, "init_menus_or_reset"] - - [0x7f000e40, "init_guards"] - - [0x7f000eb8, "alloc_init_GUARDdata_entries"] - - [0x7f000f50, "set_new_rand_head_bodies"] - - [0x7f001020, "init_obj_register_difficulty_vals"] - - [0x7f00105c, "alloc_false_GUARDdata_to_exec_global_action"] - - [0x7f001258, "debug_object_load_all_models"] - - [0x7f00140c, "debug_weapon_load_table"] - - [0x7f0014b0, "init_sound_effects_registers"] - - [0x7f0014e0, "init_load_objpos_table"] - - [0x7f0015d0, "alloc_lookup_buffers"] - - [0x7f001750, "reinit_between_menus"] - - [0x7f001910, "sub_GAME_7F001910"] - - [0x7f001928, "sub_GAME_7F001928"] - - [0x7f001940, "sub_GAME_7F001940"] - - [0x7f001958, "write_monitor_ani_control_blocks"] - - [0x7f001b08, "initialize_temp_mine_table"] - - [0x7f001b50, "load_proptype"] - - [0x7f001bd4, "sub_GAME_7F001BD4"] - - [0x7f001d9c, "prepare_load_objects"] - - [0x7f002738, "expand_08_obj_set_guard_MP_weapons"] - - [0x7f0029a8, "MP_weapon_expansion_routine"] - - [0x7f002a1c, "jmp_prepare_load_objects"] - - [0x7f002a3c, "sub_GAME_7F002A3C"] - - [0x7f002c58, "expand_type_0D_object_autoturret"] - - [0x7f002e1c, "jmp_prepare_load_objects_0"] - - [0x7f002e3c, "sub_GAME_7F002E3C"] - - [0x7f0030d0, "sub_GAME_7F0030D0"] - - [0x7f00324c, "sub_GAME_7F00324C"] - - [0x7f003480, "sub_GAME_7F003480"] - - [0x7f003bf0, "proplvreset2"] - - [0x7f004ed0, "something_with_stage_objectives"] - - [0x7f004fa0, "set_parent_cur_tag_entry"] - - [0x7f004fb8, "setup_briefing_text_entry_parent"] - - [0x7f004fd0, "add_ptr_to_objective"] - - [0x7f00500c, "set_parent_cur_obj_enter_room"] - - [0x7f005024, "set_parent_cur_obj_deposited_in_room"] - - [0x7f00503c, "set_parent_cur_obj_photograph"] - - [0x7f005060, "something_with_ejected_cartridges"] - - [0x7f0050f0, "init_player_BONDdata_stats"] - - [0x7f005470, "sub_GAME_7F005450"] - - [0x7f005540, "zero_contents_of_80036070_74"] - - [0x7f005554, "set_contents_of_80036078"] - - [0x7f005560, "sub_GAME_7F005540"] - - [0x7f005644, "sub_GAME_7F005624"] - - [0x7f005730, "set_weapon_model_generated_thrown_object"] - - [0x7f0057e4, "load_camera_intro_type_values"] - - [0x7f0061f0, "sub_GAME_7F0061F0"] - - [0x7f00625c, "alloc_additional_item_slots"] - - [0x7f0062c0, "sub_GAME_7F0062C0"] - - [0x7f00638c, "sets_a_bunch_of_BONDdata_values_to_default"] - - [0x7f0067e0, "init_pathtable_something"] - - [0x7f0068b0, "init_path_table_links"] - - [0x7f006db0, "alloc_explosion_smoke_casing_scorch_impact_buffers"] - - [0x7f0071a0, "sub_GAME_7F007180"] - - [0x7f0072b0, "sub_GAME_7F007290"] - - [0x7f0072d0, "sub_GAME_7F0072B0"] - - [0x7f007318, "disable_onscreen_cheat_text"] - - [0x7f007340, "set_mt_tex_alloc"] - - [0x7f0073d0, "cleanupGuardData"] - - [0x7f007480, "cleanupObjectSounds"] - - [0x7f0074f0, "cleanupAlarms"] - - [0x7f007520, "cleanupObjects"] - - [0x7f0075b0, "cleanupObjectives"] - - [0x7f007720, "cleanupSFXRelated"] - - [0x7f007790, "sub_GAME_7F007770"] - - [0x7f007820, "cleanupExplosions"] - - [0x7f007940, "sub_GAME_7F007920"] - - [0x7f007990, "cleanup_REMOVED_"] - - [0x7f0079a0, "cleanupplayersoundrelated"] - - [0x7f007a60, "something_with_gunbarrel_and_rareware_logo_matrix_manip"] - - [0x7f007bb4, "insert_sight_backdrop_eye_intro"] - - [0x7f007ce8, "sub_GAME_7F007CC8"] - - [0x7f007dac, "insert_sniper_sight_eye_intro"] - - [0x7f007e90, "sub_GAME_7F007E70"] - - [0x7f007f50, "sub_GAME_7F007F30"] - - [0x7f0082e8, "insert_bond_eye_intro"] - - [0x7f0084e0, "load_display_rare_logo"] - - [0x7f008b78, "sub_GAME_7F008B58"] - - [0x7f008bfc, "retrieve_display_rareware_logo"] - - [0x7f008df0, "sub_GAME_7F008DD0"] - - [0x7f008e04, "sub_GAME_7F008DE4"] - - [0x7f008ea0, "sub_GAME_7F008E80"] - - [0x7f00922c, "sub_GAME_7F00920C"] - - [0x7f009274, "sub_GAME_7F009254"] - - [0x7f009764, "sub_GAME_7F009744"] - - [0x7f009780, "write_text_at_abs_coord"] - - [0x7f009868, "check_if_cheat_available"] - - [0x7f009b70, "getplayerfavoredweapon"] - - [0x7f009ba4, "menu_control_stick_tracking"] - - [0x7f009f28, "load_draw_selected_icon_folder_select"] - - [0x7f00a0a0, "add_tab1_start"] - - [0x7f00a204, "isontab1"] - - [0x7f00a258, "add_tab3_previous"] - - [0x7f00a3bc, "isontab3"] - - [0x7f00a410, "set_cursor_pos_tab2"] - - [0x7f00a434, "add_tab2_next"] - - [0x7f00a598, "isontab2"] - - [0x7f00a608, "init_menu00_legalscreen"] - - [0x7f00a6d0, "update_menu00_legalscreen"] - - [0x7f00a6fc, "interface_menu00_legalscreen"] - - [0x7f00a804, "display_aligned_white_text_to_screen"] - - [0x7f00a900, "constructor_menu00_legalscreen"] - - [0x7f00ab0c, "reset_menutimer"] - - [0x7f00ab18, "dummy7F00AAF8"] - - [0x7f00ab20, "interface_menu17_switchscreens"] - - [0x7f00abc8, "constructor_menu17_switchscreens"] - - [0x7f00abe8, "init_menu01_nintendo"] - - [0x7f00acc4, "update_menu01_nintendo"] - - [0x7f00ace8, "interface_menu01_nintendo"] - - [0x7f00adb8, "constructor_menu01_nintendo"] - - [0x7f00b084, "init_menu02_rarelogo"] - - [0x7f00b0c4, "update_menu02_rareware"] - - [0x7f00b0cc, "interface_menu02_rareware"] - - [0x7f00b154, "constructor_menu02_rareware"] - - [0x7f00b174, "init_menu03_eyeintro"] - - [0x7f00b1b0, "update_menu_03_eye"] - - [0x7f00b1d0, "interface_menu03_eye"] - - [0x7f00b258, "constructor_menu03_eye"] - - [0x7f00b278, "init_menu04_goldeneyelogo"] - - [0x7f00b324, "update_menu04_goldeneye"] - - [0x7f00b350, "interface_menu04_goldeneyelogo"] - - [0x7f00b49c, "constructor_menu04_goldeneyelogo"] - - [0x7f00b744, "disable_all_switches"] - - [0x7f00b7e0, "set_item_visibility_in_objinstance"] - - [0x7f00b828, "select_load_bond_picture"] - - [0x7f00b8cc, "load_walletbond"] - - [0x7f00b9b0, "sub_GAME_7F00B990"] - - [0x7f00ba08, "init_menu05_fileselect"] - - [0x7f00bb00, "update_menu05_filesel"] - - [0x7f00bb3c, "get_chapter_briefing_entry"] - - [0x7f00bb88, "toggle_deletion_menu_for_folder"] - - [0x7f00bbec, "interface_menu05_fileselect"] - - [0x7f00c3a4, "get_ptr_difficulty_name"] - - [0x7f00c428, "constructor_menu05_fileselect"] - - [0x7f00d270, "init_menu06_modeselect"] - - [0x7f00d2b0, "update_menu06_modesel"] - - [0x7f00d2b8, "interface_menu06_modesel"] - - [0x7f00d608, "sub_GAME_7F00D5E8"] - - [0x7f00d81c, "set_menu_cursor_pos_to_setting"] - - [0x7f00d848, "constructor_menu06_modesel"] - - [0x7f00dce0, "pull_and_display_text_for_folder_a0"] - - [0x7f00dd2c, "check_if_stage_completed_on_difficulty"] - - [0x7f00dd80, "get_highest_unlocked_difficulty_for_level"] - - [0x7f00de70, "init_menu07_missionselect"] - - [0x7f00ded0, "update_menu07_missionsel"] - - [0x7f00ded8, "interface_menu07_missionsel"] - - [0x7f00e420, "set_cursor_to_stage_solo"] - - [0x7f00e498, "constructor_menu07_missionsel"] - - [0x7f00e7c0, "init_menu08_difficultyselect"] - - [0x7f00e7f8, "update_menu08_difficulty"] - - [0x7f00e800, "interface_menu08_difficulty"] - - [0x7f00eafc, "print_current_solo_briefing_stage_name"] - - [0x7f00eda4, "set_cursor_pos_difficulty"] - - [0x7f00edd8, "constructor_menu08_difficulty"] - - [0x7f00f340, "init_menu09_007difficultyselect"] - - [0x7f00f3ac, "update_menu09_007options"] - - [0x7f00f3b4, "interface_menu09_007options"] - - [0x7f00f7d8, "constructor_menu09_007options"] - - [0x7f0100fc, "get_player_control_style"] - - [0x7f010110, "check_if_mp_stage_unlocked"] - - [0x7f0101b0, "select_game_length"] - - [0x7f010218, "copy_aim_settings_to_playerdata"] - - [0x7f01027c, "advance_aim_settings_selection"] - - [0x7f0102c0, "unlock_all_mp_chars"] - - [0x7f0102d0, "get_selected_num_players"] - - [0x7f0102fc, "get_player_mp_char_head"] - - [0x7f01034c, "get_player_mp_char_gender"] - - [0x7f01039c, "get_player_mp_char_body"] - - [0x7f0103ec, "get_player_mp_handicap"] - - [0x7f010410, "get_player_mp_char_height"] - - [0x7f010460, "get_mp_timelimit"] - - [0x7f010484, "get_mp_pointlimit"] - - [0x7f0104a8, "reset_mp_options_for_scenario"] - - [0x7f010648, "init_mp_options_for_scenario"] - - [0x7f01077c, "init_menu0E_mpoptions"] - - [0x7f010880, "update_menu0E_mpoptions"] - - [0x7f010888, "interface_menu0E_mpoptions"] - - [0x7f010f50, "constructor_menu0E_mpoptions"] - - [0x7f011c18, "get_players_who_have_selected_mp_char"] - - [0x7f011c7c, "init_menu0f_mpcharsel"] - - [0x7f011f0c, "update_menu0F_mpcharsel"] - - [0x7f011f14, "interface_menu0F_mpcharsel"] - - [0x7f0122e8, "sub_GAME_7F0122A8"] - - [0x7f01235c, "sub_GAME_7F01231C"] - - [0x7f0127d4, "constructor_menu0F_mpcharsel"] - - [0x7f012e70, "init_menu10_mphandicap"] - - [0x7f012efc, "update_menu10_mphandicap"] - - [0x7f012f04, "interface_menu10_mphandicap"] - - [0x7f0131bc, "constructor_menu10_mphandicap"] - - [0x7f0135b4, "init_menu11_mpcontrol"] - - [0x7f013640, "update_menu11_mpcontrols"] - - [0x7f013648, "interface_menu11_mpcontrols"] - - [0x7f013a30, "constructor_menu11_mpcontrol"] - - [0x7f013e28, "init_menu12_mpstage"] - - [0x7f013e7c, "update_menu12_mpstage"] - - [0x7f013e84, "interface_menu12_mpstage"] - - [0x7f014100, "constructor_menu12_mpstage"] - - [0x7f014808, "get_scenario"] - - [0x7f014814, "init_menu13_mpscenariosel"] - - [0x7f014860, "update_menu13_mpscenario"] - - [0x7f014868, "interface_menu13_mpscenario"] - - [0x7f014af8, "constructor_menu13_mpscenario"] - - [0x7f014d38, "get_players_team_or_scenario_item_flag"] - - [0x7f014d54, "set_players_team_or_scenario_item_flag"] - - [0x7f014d70, "init_menu14_mpteamsel"] - - [0x7f014df0, "update_menu14_mpteams"] - - [0x7f014df8, "interface_menu14_mpteams"] - - [0x7f0151e8, "constructor_menu14_mpteams"] - - [0x7f0155c0, "set_briefing_page"] - - [0x7f0155d0, "load_briefing_text_for_stage"] - - [0x7f0156a4, "init_menu0A_briefing"] - - [0x7f0156f0, "update_menu0A_briefing"] - - [0x7f01574c, "interface_menu0A_briefing"] - - [0x7f015ab8, "print_objectives_and_status_to_menu"] - - [0x7f015e24, "constructor_menu0A_briefing"] - - [0x7f016114, "init_menu0B_runstage"] - - [0x7f016144, "init_menu0C_missionfailed"] - - [0x7f0161b8, "update_menu0C_missionfailed"] - - [0x7f0161c0, "interface_menu0C_missionfailed"] - - [0x7f0163cc, "sub_GAME_7F01631C"] - - [0x7f01649c, "constructor_menu0C_missionfailed"] - - [0x7f01672c, "init_menu0D_missioncomplete"] - - [0x7f016780, "update_menu0D_missioncomplete"] - - [0x7f016788, "interface_menu0D_missioncomplete"] - - [0x7f016ab8, "constructor_menu0D_missioncomplete"] - - [0x7f017c00, "init_menu15_cheat"] - - [0x7f017ca4, "update_menu15_cheat"] - - [0x7f017d38, "interface_menu15_cheat"] - - [0x7f01800c, "constructor_menu15_cheat"] - - [0x7f0184e8, "init_menu16_nocontroller"] - - [0x7f0184f0, "update_menu16_nocontrollers"] - - [0x7f0184f8, "interface_menu16_nocontrollers"] - - [0x7f018500, "constructor_menu16_nocontrollers"] - - [0x7f018824, "do_extended_cast_display"] - - [0x7f018850, "init_menu18_displaycast"] - - [0x7f0190cc, "update_menu18_displaycast"] - - [0x7f019114, "interface_menu18_displaycast"] - - [0x7f0194dc, "constructor_menu18_displaycast"] - - [0x7f01a550, "init_menu19_spectrum"] - - [0x7f01a634, "update_menu19_spectrum"] - - [0x7f01a63c, "interface_menu19_spectrum"] - - [0x7f01a694, "constructor_menu19_spectrum"] - - [0x7f01a788, "set_menu_to_mode"] - - [0x7f01a7c4, "get_currentmenu"] - - [0x7f01a7d0, "menu_init"] - - [0x7f01b0b0, "menu_jump_constructor_handler"] - - [0x7f01b0e8, "menu00_legal_constructor"] - - [0x7f01b0f8, "menu17_switchscreens_constructor"] - - [0x7f01b108, "menu01_nintendo_constructor"] - - [0x7f01b118, "menu02_rareware_constructor"] - - [0x7f01b128, "menu03_eyeintro_constructor"] - - [0x7f01b138, "menu04_goldeneye_constructor"] - - [0x7f01b148, "menu05_fileselect_constructor"] - - [0x7f01b158, "menu06_modesel_constructor"] - - [0x7f01b168, "menu07_missionsel_constructor"] - - [0x7f01b178, "menu08_difficulty_constructor"] - - [0x7f01b188, "menu09_007options_constructor"] - - [0x7f01b198, "menu0A_briefing_constructor"] - - [0x7f01b1a8, "menu0C_missionfailed_constructor"] - - [0x7f01b1b8, "menu0D_missioncomplete_constructor"] - - [0x7f01b1c8, "menu0E_mpoptions_constructor"] - - [0x7f01b1d8, "menu13_mpscenario_constructor"] - - [0x7f01b1e8, "menu0F_mpcharsel_constructor"] - - [0x7f01b1f8, "menu14_mpteams_constructor"] - - [0x7f01b208, "menu10_mphandicap_constructor"] - - [0x7f01b218, "menu11_mpcontrol_constructor"] - - [0x7f01b228, "menu12_mpstage_constructor"] - - [0x7f01b238, "menu15_cheat_constructor"] - - [0x7f01b248, "menu16_nocontrollers_constructor"] - - [0x7f01b258, "menu18_displaycast_constructor"] - - [0x7f01b268, "menu19_spectrum_constructor"] - - [0x7f01b274, "menu0B_runstage_constructor"] - - [0x7f01b290, "sub_GAME_7F01B0E0"] - - [0x7f01b2e4, "sub_GAME_7F01B134"] - - [0x7f01b378, "sub_GAME_7F01B1C8"] - - [0x7f01b3f0, "sub_GAME_7F01B240"] - - [0x7f01b890, "sub_GAME_7F01B6E0"] - - [0x7f01bc90, "sub_GAME_7F01BAE0"] - - [0x7f01c1a8, "sub_GAME_7F01BFF8"] - - [0x7f01c280, "insert_imageDL"] - - [0x7f01c354, "sub_GAME_7F01C1A4"] - - [0x7f01c434, "die_blood_image_routine"] - - [0x7f01c5b0, "sub_GAME_7F01C400"] - - [0x7f01c820, "sub_GAME_7F01C670"] - - [0x7f01cbc8, "sub_GAME_7F01CA18"] - - [0x7f01cc90, "decrypt_bleeding_animation_data"] - - [0x7f01ce44, "sub_GAME_7F01CC94"] - - [0x7f01ce9c, "sub_GAME_7F01CCEC"] - - [0x7f01d09c, "sub_GAME_7F01CEEC"] - - [0x7f01d1dc, "sub_GAME_7F01D02C"] - - [0x7f01d31c, "sub_GAME_7F01D16C"] - - [0x7f01d370, "sub_GAME_7F01D1C0"] - - [0x7f01d44c, "func_7F01D29C"] - - [0x7f01d460, "get_007_reaction_speed"] - - [0x7f01d498, "get_007_health_mod"] - - [0x7f01d4d4, "get_007_damage_mod"] - - [0x7f01d510, "get_007_accuracy_mod"] - - [0x7f01d54c, "end_of_mission_briefing"] - - [0x7f01d6a4, "sub_GAME_7F01D500"] - - [0x7f01d6c8, "deleteCurrentSelectedFolder"] - - [0x7f01d6ec, "copyCurrentEEPROMtoStack"] - - [0x7f01d710, "getSelectedFolderBond"] - - [0x7f01d734, "set_selected_folder_num"] - - [0x7f01d740, "set_selected_difficulty"] - - [0x7f01d790, "set_solo_and_ptr_briefing"] - - [0x7f01d7c0, "sub_GAME_7F01D61C"] - - [0x7f01d7e8, "sub_GAME_7F01D644"] - - [0x7f01d824, "store_favorite_weapon_current_player"] - - [0x7f01d870, "sub_GAME_7F01D6C0"] - - [0x7f01d890, "sub_GAME_7F01D6E0"] - - [0x7f01d908, "sub_GAME_7F01D758"] - - [0x7f01d950, "sub_GAME_7F01D7A0"] - - [0x7f01d9f0, "sub_GAME_7F01D840"] - - [0x7f01da78, "get_foldernum_of_eeprom"] - - [0x7f01da88, "set_eeprom_to_folder_num"] - - [0x7f01daa4, "set_eeprom_flag_0x18"] - - [0x7f01dab4, "reset_eeprom_flag_0x18"] - - [0x7f01dad4, "get_selected_bond"] - - [0x7f01dae4, "set_selected_bond"] - - [0x7f01db04, "check_if_eeprom_flag_set_0x80"] - - [0x7f01db14, "toggle_eeprom_flag_set_0x80"] - - [0x7f01db40, "get_eeprom_stage_complete_time_for_difficulty"] - - [0x7f01dc94, "sub_GAME_7F01DAE4"] - - [0x7f01de10, "get_eeprom_stage_completed_for_difficulty"] - - [0x7f01de60, "sub_GAME_7F01DCB0"] - - [0x7f01ded0, "check_if_cheat_unlocked"] - - [0x7f01df24, "sub_GAME_7F01DD74"] - - [0x7f01df74, "get_save_folder_ptr"] - - [0x7f01e000, "sub_GAME_7F01DE50"] - - [0x7f01e064, "sub_GAME_7F01DEB4"] - - [0x7f01e140, "sub_GAME_7F01DF90"] - - [0x7f01e43c, "check_if_valid_folder_num"] - - [0x7f01e470, "isStageUnlockedAtDifficulty"] - - [0x7f01e6b4, "sub_GAME_7F01E504"] - - [0x7f01e7a8, "unlock_stage_in_folder_on_difficulty"] - - [0x7f01e910, "sub_GAME_7F01E760"] - - [0x7f01ea24, "get_highest_stage_difficulty_completed_in_folder"] - - [0x7f01eac4, "check_egypt_completed_in_folder"] - - [0x7f01eb48, "check_egypt_completed_any_folder"] - - [0x7f01eba4, "check_cradle_completed_in_folder"] - - [0x7f01ec0c, "check_aztec_completed_in_folder_secret_00"] - - [0x7f01ec58, "check_egypt_completed_in_folder_00"] - - [0x7f01ec80, "check_cradle_completed_any_folder"] - - [0x7f01ecd0, "check_aztec_completed_any_folder_secret_00"] - - [0x7f01ed20, "check_egypt_completed_any_folder_00"] - - [0x7f01ed70, "removed_would_have_returned_bond_for_folder_num"] - - [0x7f01ed7c, "set_selected_bond_to_folder"] - - [0x7f01eda4, "sub_GAME_7F01EBF4"] - - [0x7f01edac, "sub_GAME_7F01EBFC"] - - [0x7f01edb4, "delete_eeprom_folder"] - - [0x7f01eec0, "sub_GAME_7F01ED10"] - - [0x7f01ef50, "sub_GAME_7F01EDA0"] - - [0x7f01f0c0, "update_eeprom_to_current_solo_watch_settings"] - - [0x7f01f1e0, "get_screen_ratio_settings_for_mpgame_from_folder"] - - [0x7f01f334, "delete_update_eeprom_file"] - - [0x7f01f44c, "copy_eeprom_to_stack_set_folder_num"] - - [0x7f01f544, "copy_eeprom_from_to"] - - [0x7f01f60c, "copy_eepromfile_a0_from_a1_to_buffer"] - - [0x7f01f650, "check_for_007_mode_unlocked"] - - [0x7f01f6e0, "get_numguards"] - - [0x7f01f6ec, "get_ptr_allocated_block_for_vertices"] - - [0x7f01f70c, "set_show_patrols_flag"] - - [0x7f01f718, "get_show_patrols_flag"] - - [0x7f01f724, "sub_GAME_7F01F574"] - - [0x7f01f798, "set_or_unset_GUARDdata_flag"] - - [0x7f01f7c4, "sub_GAME_7F01F614"] - - [0x7f01fdc0, "sub_GAME_7F01FC10"] - - [0x7f020170, "get_next_available_guardID"] - - [0x7f0201c8, "sub_GAME_7F020018"] - - [0x7f0201fc, "sub_GAME_7F02004C"] - - [0x7f020204, "sub_GAME_7F020054"] - - [0x7f020240, "sub_GAME_7F020090"] - - [0x7f02026c, "init_GUARDdata_with_set_values"] - - [0x7f020568, "replace_GUARDdata_with_actual_values"] - - [0x7f0205c4, "disable_sounds_attached_to_player_then_something"] - - [0x7f0206f0, "animation_speed_related"] - - [0x7f020794, "get_animation_rate"] - - [0x7f0207a0, "sub_GAME_7F0205F0"] - - [0x7f020884, "sub_GAME_7F0206D4"] - - [0x7f020944, "sub_GAME_7F020794"] - - [0x7f0209ec, "jp_only_7F0209EC"] - - [0x7f020aac, "sub_GAME_7F02083C"] - - [0x7f02102c, "sub_GAME_7F020D94"] - - [0x7f0210d8, "sub_GAME_7F020E40"] - - [0x7f021188, "sub_GAME_7F020EF0"] - - [0x7f021e08, "sub_GAME_7F021B20"] - - [0x7f021e9c, "sub_GAME_7F021BB4"] - - [0x7f021ec0, "sub_GAME_7F021BD8"] - - [0x7f021ee4, "sub_GAME_7F021BFC"] - - [0x7f022360, "sub_GAME_7F022078"] - - [0x7f0224c4, "sub_GAME_7F0221DC"] - - [0x7f022930, "sub_GAME_7F022648"] - - [0x7f022c68, "sub_GAME_7F022980"] - - [0x7f023104, "sub_GAME_7F022E1C"] - - [0x7f02310c, "sub_GAME_7F022E24"] - - [0x7f023118, "sub_GAME_7F022E30"] - - [0x7f023178, "sub_GAME_7F022E90"] - - [0x7f0231b0, "sub_GAME_7F022EC8"] - - [0x7f0231c8, "sub_GAME_7F022EE0"] - - [0x7f0231d4, "sub_GAME_7F022EEC"] - - [0x7f0232b0, "check_if_guardnum_loaded_get_ptr_GUARDdata"] - - [0x7f023314, "something_with_weaponpos_of_guarddata_hand"] - - [0x7f023324, "is_weapon_in_guarddata_hand"] - - [0x7f023374, "sub_GAME_7F02308C"] - - [0x7f023448, "sub_GAME_7F023160"] - - [0x7f023470, "sub_GAME_7F023188"] - - [0x7f02347c, "sub_GAME_7F023194"] - - [0x7f023580, "load_body_head_if_not_loaded"] - - [0x7f0235d8, "maybe_load_models_for_guards"] - - [0x7f0237a8, "sub_GAME_7F0234A8"] - - [0x7f0237d0, "retrieve_header_for_body_and_head"] - - [0x7f023890, "get_current_random_body"] - - [0x7f0238ac, "select_psuedorandom_heads"] - - [0x7f023960, "get_random_head"] - - [0x7f023a0c, "expand_09_characters"] - - [0x7f023c10, "check_if_item_held_like_pistol"] - - [0x7f023c48, "sub_GAME_7F023948"] - - [0x7f023d94, "sub_GAME_7F023A94"] - - [0x7f023e64, "sub_GAME_7F023B5C"] - - [0x7f023ec8, "sub_GAME_7F023BC0"] - - [0x7f023f5c, "sub_GAME_7F023C54"] - - [0x7f023fc0, "sub_GAME_7F023CB8"] - - [0x7f02411c, "sub_GAME_7F023E14"] - - [0x7f024150, "sub_GAME_7F023E48"] - - [0x7f02417c, "actor_kneel"] - - [0x7f0242ec, "perform_animation_for_actor"] - - [0x7f024458, "sub_GAME_7F024150"] - - [0x7f024540, "throw_weapon_in_guard_hand"] - - [0x7f02463c, "sub_GAME_7F024334"] - - [0x7f024720, "actor_shuffle_feet"] - - [0x7f0247b4, "actor_fawn_on_shoulder"] - - [0x7f024850, "actor_look_flustered"] - - [0x7f024950, "actor_throw_weapon_surrender"] - - [0x7f024ac0, "actor_fade_away"] - - [0x7f024b08, "sub_GAME_7F024800"] - - [0x7f024d8c, "sub_GAME_7F024A84"] - - [0x7f025000, "sub_GAME_7F024CF8"] - - [0x7f025208, "sub_GAME_7F024F00"] - - [0x7f025294, "sub_GAME_7F024F8C"] - - [0x7f0253c4, "sub_GAME_7F0250BC"] - - [0x7f025474, "sub_GAME_7F02516C"] - - [0x7f025868, "sub_GAME_7F025560"] - - [0x7f0259f8, "sub_GAME_7F0256F0"] - - [0x7f025b84, "sub_GAME_7F02587C"] - - [0x7f025f48, "sub_GAME_7F025C40"] - - [0x7f026438, "sub_GAME_7F026130"] - - [0x7f026554, "sub_GAME_7F02624C"] - - [0x7f0265a0, "sub_GAME_7F026298"] - - [0x7f02666c, "sub_GAME_7F026364"] - - [0x7f0267b8, "sub_GAME_7F0264B0"] - - [0x7f026810, "triggered_on_shot_hit"] - - [0x7f027238, "sub_GAME_7F026F30"] - - [0x7f027368, "play_sound_for_shot_actor"] - - [0x7f027584, "handles_shot_actors"] - - [0x7f027b0c, "sub_GAME_7F027804"] - - [0x7f027efc, "get_ptrpreset_in_table_matching_tile"] - - [0x7f027f68, "check_if_any_path_preset_lies_on_tile"] - - [0x7f027f8c, "sub_GAME_7F027C84"] - - [0x7f027fdc, "sub_GAME_7F027CD4"] - - [0x7f0280b8, "sub_GAME_7F027DB0"] - - [0x7f028178, "sub_GAME_7F027E70"] - - [0x7f028198, "sub_GAME_7F027E90"] - - [0x7f028228, "sub_GAME_7F027F20"] - - [0x7f0282b0, "sub_GAME_7F027FA8"] - - [0x7f02844c, "sub_GAME_7F028144"] - - [0x7f0284fc, "sub_GAME_7F0281F4"] - - [0x7f028504, "sub_GAME_7F0281FC"] - - [0x7f028594, "sub_GAME_7F02828C"] - - [0x7f0285e8, "sub_GAME_7F0282E0"] - - [0x7f028650, "sub_GAME_7F028348"] - - [0x7f028704, "sub_GAME_7F0283FC"] - - [0x7f02877c, "sub_GAME_7F028474"] - - [0x7f02879c, "sub_GAME_7F028494"] - - [0x7f0287e4, "sub_GAME_7F0284DC"] - - [0x7f028818, "sub_GAME_7F028510"] - - [0x7f028908, "sub_GAME_7F028600"] - - [0x7f028b9c, "sub_GAME_7F028894"] - - [0x7f028d64, "get_sound_at_range"] - - [0x7f0290a8, "play_hit_soundeffect_and_proper_volume"] - - [0x7f0290e4, "plot_course_for_actor"] - - [0x7f0292b4, "sub_GAME_7F028FAC"] - - [0x7f029400, "set_actor_on_path"] - - [0x7f0295a0, "update_GUARDdata_timer_to_current"] - - [0x7f0295b0, "sub_GAME_7F0292A8"] - - [0x7f0297c4, "sub_GAME_7F0294BC"] - - [0x7f0298d8, "check_if_position_in_same_room"] - - [0x7f0299a4, "sub_GAME_7F02969C"] - - [0x7f029a68, "sub_GAME_7F029760"] - - [0x7f029b34, "sub_GAME_7F02982C"] - - [0x7f029d9c, "sub_GAME_7F029A94"] - - [0x7f029df8, "sub_GAME_7F029AF0"] - - [0x7f029eb8, "sub_GAME_7F029BB0"] - - [0x7f029f08, "sub_GAME_7F029C00"] - - [0x7f029f64, "check_if_actor_stationary"] - - [0x7f02a078, "sub_GAME_7F029D70"] - - [0x7f02a34c, "sub_GAME_7F02A044"] - - [0x7f02a3f4, "sub_GAME_7F02A0EC"] - - [0x7f02a464, "sub_GAME_7F02A15C"] - - [0x7f02a4f0, "sub_GAME_7F02A1E8"] - - [0x7f02a560, "true_if_actor_dying_fading_limping_shot"] - - [0x7f02a5ac, "true_if_actor_dying_fading"] - - [0x7f02a5d0, "actor_steps_sideways"] - - [0x7f02a730, "actor_hops_sideways"] - - [0x7f02a890, "actor_runs_sideways"] - - [0x7f02aa0c, "actor_walks_and_fires"] - - [0x7f02ab00, "actor_runs_and_fires"] - - [0x7f02abf4, "actor_rolls_fires_crouched"] - - [0x7f02ad24, "actor_aim_at_actor"] - - [0x7f02ad90, "actor_kneel_aim_at_actor"] - - [0x7f02adfc, "sub_GAME_7F02AAF4"] - - [0x7f02ae4c, "check_set_actor_standing_still"] - - [0x7f02aebc, "actor_moves_to_preset_at_speed"] - - [0x7f02b05c, "if_actor_able_set_on_path"] - - [0x7f02b0a0, "sub_GAME_7F02AD98"] - - [0x7f02b7e8, "actor_reset_sleep"] - - [0x7f02b7f0, "sub_GAME_7F02B4E8"] - - [0x7f02b940, "sub_GAME_7F02B638"] - - [0x7f02ba7c, "manage_guard_fade"] - - [0x7f02bb08, "sub_GAME_7F02B800"] - - [0x7f02bcac, "guard_body_hit_sfx"] - - [0x7f02bf88, "sub_GAME_7F02BC80"] - - [0x7f02c028, "sub_GAME_7F02BD20"] - - [0x7f02c0ac, "sub_GAME_7F02BDA4"] - - [0x7f02c108, "sub_GAME_7F02BE00"] - - [0x7f02c160, "sub_GAME_7F02BE58"] - - [0x7f02c1b0, "sub_GAME_7F02BEA8"] - - [0x7f02c22c, "sub_GAME_7F02BF24"] - - [0x7f02c2ec, "sub_GAME_7F02BFE4"] - - [0x7f02c498, "sub_GAME_7F02C190"] - - [0x7f02c584, "sub_GAME_7F02C27C"] - - [0x7f02c5b8, "sub_GAME_7F02C2B0"] - - [0x7f02c7c8, "sub_GAME_7F02C4C0"] - - [0x7f02d350, "sub_GAME_7F02D048"] - - [0x7f02d400, "sub_GAME_7F02D0F8"] - - [0x7f02d420, "sub_GAME_7F02D118"] - - [0x7f02d450, "sub_GAME_7F02D148"] - - [0x7f02d48c, "sub_GAME_7F02D184"] - - [0x7f02d4cc, "sub_GAME_7F02D1C4"] - - [0x7f02d54c, "sub_GAME_7F02D244"] - - [0x7f02d5ec, "sub_GAME_7F02D2E4"] - - [0x7f02d938, "sub_GAME_7F02D630"] - - [0x7f02da3c, "sub_GAME_7F02D734"] - - [0x7f02e574, "sub_GAME_7F02E26C"] - - [0x7f02e5e8, "sub_GAME_7F02E2E0"] - - [0x7f02e6c0, "sub_GAME_7F02E3B8"] - - [0x7f02e7c8, "sub_GAME_7F02E4C0"] - - [0x7f02ef04, "sub_GAME_7F02EBFC"] - - [0x7f02f1e0, "sub_GAME_7F02EEE0"] - - [0x7f02f6f8, "sub_GAME_7F02F3F8"] - - [0x7f02f8a4, "sub_GAME_7F02F5A4"] - - [0x7f02f988, "sub_GAME_7F02F688"] - - [0x7f02f990, "sub_GAME_7F02F690"] - - [0x7f02fb88, "sub_GAME_7F02F888"] - - [0x7f02ff34, "sub_GAME_7F02FC34"] - - [0x7f030050, "sub_GAME_7F02FD50"] - - [0x7f030178, "sub_GAME_7F02FE78"] - - [0x7f030428, "sub_GAME_7F030128"] - - [0x7f0304fc, "sub_GAME_7F0301FC"] - - [0x7f0307ac, "sub_GAME_7F0304AC"] - - [0x7f0308e0, "sub_GAME_7F0305E0"] - - [0x7f030a4c, "sub_GAME_7F03074C"] - - [0x7f030b1c, "sub_GAME_7F03081C"] - - [0x7f031070, "sub_GAME_7F030D70"] - - [0x7f03160c, "sub_GAME_7F03130C"] - - [0x7f0318a4, "sub_GAME_7F0315A4"] - - [0x7f032388, "sub_GAME_7F032088"] - - [0x7f032848, "sub_GAME_7F032548"] - - [0x7f0329bc, "manage_actions"] - - [0x7f032c1c, "sub_GAME_7F03291C"] - - [0x7f032e68, "sub_GAME_7F032B68"] - - [0x7f032ea0, "sub_GAME_7F032BA0"] - - [0x7f032ed8, "get_distance_actor_to_position"] - - [0x7f032f4c, "sub_GAME_7F032C4C"] - - [0x7f032f78, "sub_GAME_7F032C78"] - - [0x7f033070, "get_angle_between_actor_cur_player"] - - [0x7f0330e4, "sub_GAME_7F032DE4"] - - [0x7f033148, "sub_GAME_7F032E48"] - - [0x7f0331fc, "check_if_room_for_preset_loaded"] - - [0x7f033294, "sub_GAME_7F032F94"] - - [0x7f0332ac, "sub_GAME_7F032FAC"] - - [0x7f033340, "get_handle_for_guard_id"] - - [0x7f0333c4, "get_distance_between_actor_and_actorID"] - - [0x7f033454, "get_distance_between_actor_and_preset"] - - [0x7f033518, "sub_GAME_7F033218"] - - [0x7f03352c, "sub_GAME_7F03322C"] - - [0x7f033544, "sub_GAME_7F033244"] - - [0x7f033560, "sub_GAME_7F033260"] - - [0x7f033590, "sub_GAME_7F033290"] - - [0x7f0335c0, "sub_GAME_7F0332C0"] - - [0x7f0335fc, "toggle_objective_bitflags"] - - [0x7f033618, "untoggle_objective_bitflags"] - - [0x7f033638, "check_if_objective_bitflags_set"] - - [0x7f033654, "check_if_actor_02_flag_set"] - - [0x7f033664, "check_if_able_to_then_surrender"] - - [0x7f0336a0, "sub_GAME_7F0333A0"] - - [0x7f0336c4, "reset_and_start_loop_counter"] - - [0x7f0336d8, "get_loop_counter_time_in_seconds"] - - [0x7f0336f8, "sub_GAME_7F0333F8"] - - [0x7f033790, "check_if_actor_invisible"] - - [0x7f0337a0, "actor_move_to_curplayer_at_speed"] - - [0x7f03380c, "actor_move_to_actorID_at_speed"] - - [0x7f0338a4, "get_times_actor_shot"] - - [0x7f0338ac, "get_num_shots_near_actor"] - - [0x7f0338b4, "check_if_actor_FA_target_set"] - - [0x7f0338c4, "check_if_actor_FB_target_set"] - - [0x7f0338d4, "sub_GAME_7F0335D4"] - - [0x7f033910, "check_if_able_to_then_shuffle_feet"] - - [0x7f03394c, "check_if_able_to_then_fawn_on_shoulder"] - - [0x7f033988, "check_if_able_to_then_look_flustered"] - - [0x7f0339c4, "check_if_able_to_then_kneel"] - - [0x7f033a00, "check_if_able_to_then_perform_animation"] - - [0x7f033a60, "alarm_timer_related"] - - [0x7f033a80, "sub_GAME_7F033780"] - - [0x7f033b34, "sub_GAME_7F033834"] - - [0x7f033c98, "check_2328_preset_set_with_method"] - - [0x7f033dac, "sub_GAME_7F033AAC"] - - [0x7f033e38, "sub_GAME_7F033B38"] - - [0x7f033ff4, "sub_GAME_7F033CF4"] - - [0x7f03401c, "sub_GAME_7F033D1C"] - - [0x7f03405c, "sub_GAME_7F033D5C"] - - [0x7f034084, "sub_GAME_7F033D84"] - - [0x7f0340c4, "sub_GAME_7F033DC4"] - - [0x7f0341ac, "sub_GAME_7F033EAC"] - - [0x7f034248, "sub_GAME_7F033F48"] - - [0x7f03445c, "actionblock_guard_constructor_BDBE"] - - [0x7f034558, "guard_constructor_BD"] - - [0x7f034608, "guard_constructor_BE"] - - [0x7f034688, "check_if_actorID_is_at_preset"] - - [0x7f03474c, "check_if_actor_is_at_preset"] - - [0x7f0347fc, "removed_animation_routine_27"] - - [0x7f034808, "removed_animation_routine_2B"] - - [0x7f034814, "sub_GAME_7F034514"] - - [0x7f03487c, "actor_draws_throws_grenade_at_player_if_possible"] - - [0x7f0349fc, "actor_drops_itemtype_setting_timer"] - - [0x7f034aa0, "set_sound_effect_source_to_location"] - - [0x7f034be4, "loop_set_sound_effect_all_slots"] - - [0x7f034c24, "set_sound_effect_to_slot"] - - [0x7f034cbc, "sub_GAME_7F0349BC"] - - [0x7f034cfc, "get_length_of_action_block"] - - [0x7f035544, "sub_GAME_7F035244"] - - [0x7f0355f0, "true_if_sucessfully_performing_action"] - - [0x7f035698, "LoadNext_PrevActionBlock"] - - [0x7f035734, "get_ptr_path_for_pathnum"] - - [0x7f035784, "parse_handle_actionblocks"] - - [0x7f03a540, "sub_GAME_7F03A240"] - - [0x7f03a704, "set_stateflag_0x04_for_posdata"] - - [0x7f03a714, "unset_stateflag_0x04_for_posdata"] - - [0x7f03a724, "get_ptr_obj_pos_list_current_entry"] - - [0x7f03a730, "remove_last_obj_pos_data_entry"] - - [0x7f03a784, "set_last_obj_pos_data"] - - [0x7f03a7a4, "set_current_objposdata_plus_0x28"] - - [0x7f03a7f0, "sub_GAME_7F03A4F0"] - - [0x7f03a838, "sub_GAME_7F03A538"] - - [0x7f03a8a4, "sub_GAME_7F03A5A4"] - - [0x7f03a8d0, "sub_GAME_7F03A5D0"] - - [0x7f03a92c, "sub_GAME_7F03A62C"] - - [0x7f03a9f4, "sub_GAME_7F03A6F4"] - - [0x7f03ac7c, "sub_GAME_7F03A97C"] - - [0x7f03ad44, "sub_GAME_7F03AA44"] - - [0x7f03ae58, "sub_GAME_7F03AB58"] - - [0x7f03b0f4, "sub_GAME_7F03ADF4"] - - [0x7f03b25c, "sub_GAME_7F03AF5C"] - - [0x7f03b45c, "sub_GAME_7F03B15C"] - - [0x7f03bcc0, "sub_GAME_7F03B9C0"] - - [0x7f03c0ec, "sub_GAME_7F03BDEC"] - - [0x7f03c3f0, "sub_GAME_7F03C0F0"] - - [0x7f03c594, "sub_GAME_7F03C294"] - - [0x7f03c5bc, "sub_GAME_7F03C2BC"] - - [0x7f03c6fc, "sub_GAME_7F03C3FC"] - - [0x7f03c7f0, "sub_GAME_7F03C4F0"] - - [0x7f03c874, "sub_GAME_7F03C574"] - - [0x7f03c948, "handle_mp_respawn_and_some_things"] - - [0x7f03cd30, "determing_type_of_object_and_detection"] - - [0x7f03ce8c, "sub_GAME_7F03CB8C"] - - [0x7f03cf20, "sub_GAME_7F03CC20"] - - [0x7f03cfb0, "sub_GAME_7F03CCB0"] - - [0x7f03cfd8, "sub_GAME_7F03CCD8"] - - [0x7f03d288, "sub_GAME_7F03CF88"] - - [0x7f03d2e8, "sub_GAME_7F03CFE8"] - - [0x7f03d358, "sub_GAME_7F03D058"] - - [0x7f03d3d4, "sub_GAME_7F03D0D4"] - - [0x7f03d488, "sub_GAME_7F03D188"] - - [0x7f03da8c, "sub_GAME_7F03D78C"] - - [0x7f03dcec, "sub_GAME_7F03D9EC"] - - [0x7f03dd50, "sub_GAME_7F03DA50"] - - [0x7f03de70, "sub_GAME_7F03DB70"] - - [0x7f03decc, "sub_GAME_7F03DBCC"] - - [0x7f03dfb8, "sub_GAME_7F03DCB8"] - - [0x7f03e09c, "sub_GAME_7F03DD9C"] - - [0x7f03e194, "sub_GAME_7F03DE94"] - - [0x7f03e434, "sub_GAME_7F03E134"] - - [0x7f03e48c, "sub_GAME_7F03E18C"] - - [0x7f03e510, "sub_GAME_7F03E210"] - - [0x7f03e57c, "sub_GAME_7F03E27C"] - - [0x7f03e6fc, "sub_GAME_7F03E3FC"] - - [0x7f03e7f0, "sub_GAME_7F03E4F0"] - - [0x7f03e998, "removed_debug_roomblocks_feature"] - - [0x7f03e9a0, "sub_GAME_7F03E6A0"] - - [0x7f03ea18, "sub_GAME_7F03E718"] - - [0x7f03eaac, "sub_GAME_7F03E7AC"] - - [0x7f03eb30, "sub_GAME_7F03E830"] - - [0x7f03eb5c, "sub_GAME_7F03E85C"] - - [0x7f03eb64, "sub_GAME_7F03E864"] - - [0x7f03eb6c, "sub_GAME_7F03E86C"] - - [0x7f03eb74, "sub_GAME_7F03E874"] - - [0x7f03eb7c, "sub_GAME_7F03E87C"] - - [0x7f03ec1c, "sub_GAME_7F03E91C"] - - [0x7f03ecbc, "sub_GAME_7F03E9BC"] - - [0x7f03ed5c, "sub_GAME_7F03EA5C"] - - [0x7f03edfc, "sub_GAME_7F03EAFC"] - - [0x7f03ee9c, "sub_GAME_7F03EB9C"] - - [0x7f03ef3c, "sub_GAME_7F03EC3C"] - - [0x7f03efc0, "sub_GAME_7F03ECC0"] - - [0x7f03f840, "sub_GAME_7F03F540"] - - [0x7f03f898, "sub_GAME_7F03F598"] - - [0x7f03fa48, "sub_GAME_7F03F748"] - - [0x7f03fc0c, "sub_GAME_7F03F90C"] - - [0x7f03fc48, "sub_GAME_7F03F948"] - - [0x7f03fd44, "scan_position_data_table_for_normal_object_at_preset"] - - [0x7f03fdb0, "sub_GAME_7F03FAB0"] - - [0x7f03fe70, "sub_GAME_7F03FB70"] - - [0x7f03fefc, "sub_GAME_7F03FBFC"] - - [0x7f03ff80, "sub_GAME_7F03FC80"] - - [0x7f0400a8, "sub_GAME_7F03FDA8"] - - [0x7f040114, "sub_GAME_7F03FE14"] - - [0x7f040188, "sub_GAME_7F03FE88"] - - [0x7f040198, "sub_GAME_7F03FE98"] - - [0x7f040260, "sub_GAME_7F03FF60"] - - [0x7f0402c0, "do_something_if_object_destroyed"] - - [0x7f0402f8, "sub_GAME_7F03FFF8"] - - [0x7f040378, "sub_GAME_7F040078"] - - [0x7f04039c, "set_color_shading_from_tile"] - - [0x7f0405b4, "sub_GAME_7F0402B4"] - - [0x7f040610, "update_color_shading"] - - [0x7f040684, "sub_GAME_7F040384"] - - [0x7f040784, "sub_GAME_7F040484"] - - [0x7f04084c, "init_standard_object"] - - [0x7f0409f8, "sub_GAME_7F0406F8"] - - [0x7f040a1c, "sub_GAME_7F04071C"] - - [0x7f040a54, "sub_GAME_7F040754"] - - [0x7f040af4, "sub_GAME_7F0407F4"] - - [0x7f040b8c, "sub_GAME_7F04088C"] - - [0x7f040ea0, "sub_GAME_7F040BA0"] - - [0x7f040ff0, "sub_GAME_7F040CF0"] - - [0x7f041098, "sub_GAME_7F040D98"] - - [0x7f041324, "sub_GAME_7F041024"] - - [0x7f041344, "if_a0_plus_3_is_4_then_10_else_20"] - - [0x7f041374, "sub_GAME_7F041074"] - - [0x7f041460, "sub_GAME_7F041160"] - - [0x7f041700, "sub_GAME_7F041400"] - - [0x7f041adc, "sub_GAME_7F0417DC"] - - [0x7f041ce4, "sub_GAME_7F0419E4"] - - [0x7f041eb8, "sub_GAME_7F041BB8"] - - [0x7f04210c, "sub_GAME_7F041E0C"] - - [0x7f04254c, "handles_projectile_motion"] - - [0x7f042d0c, "sub_GAME_7F042A0C"] - - [0x7f0431b4, "sub_GAME_7F042EB4"] - - [0x7f043218, "sub_GAME_7F042F18"] - - [0x7f04340c, "sub_GAME_7F04310C"] - - [0x7f0434e4, "sub_GAME_7F0431E4"] - - [0x7f043950, "sub_GAME_7F043650"] - - [0x7f043b38, "sub_GAME_7F043838"] - - [0x7f043cb8, "sub_GAME_7F0439B8"] - - [0x7f043d6c, "sub_GAME_7F043A6C"] - - [0x7f043e7c, "generate_explosion_at_position"] - - [0x7f044074, "handle_thrown_explosive_detonation"] - - [0x7f0444e8, "sub_GAME_7F044200"] - - [0x7f044534, "sub_GAME_7F04424C"] - - [0x7f0445c4, "sub_GAME_7F0442DC"] - - [0x7f0446fc, "sub_GAME_7F044414"] - - [0x7f0449a0, "sub_GAME_7F0446B8"] - - [0x7f044aec, "sub_GAME_7F044718"] - - [0x7f044c7c, "sub_GAME_7F0448A8"] - - [0x7f044f0c, "sub_GAME_7F044B38"] - - [0x7f0455b0, "sub_GAME_7F0451DC"] - - [0x7f0456a8, "object_interaction"] - - [0x7f049f5c, "sub_GAME_7F049B58"] - - [0x7f04a090, "save_ptr_monitor_ani_code_to_obj_ani_slot"] - - [0x7f04a09c, "set_ptr_monitor_img_to_obj_ani_slot"] - - [0x7f04a344, "save_img_index_to_obj_ani_slot"] - - [0x7f04a34c, "process_monitor_animation_microcode"] - - [0x7f04b024, "sub_GAME_7F04AC20"] - - [0x7f04b554, "sub_GAME_7F04B150"] - - [0x7f04b87c, "sub_GAME_7F04B478"] - - [0x7f04b994, "sub_GAME_7F04B590"] - - [0x7f04ba14, "sub_GAME_7F04B610"] - - [0x7f04c0e0, "sub_GAME_7F04BCDC"] - - [0x7f04c3d4, "sub_GAME_7F04BFD0"] - - [0x7f04c448, "sub_GAME_7F04C044"] - - [0x7f04c534, "sub_GAME_7F04C130"] - - [0x7f04ce48, "sub_GAME_7F04CA44"] - - [0x7f04d108, "sub_GAME_7F04CD04"] - - [0x7f04d210, "object_explosion_related"] - - [0x7f04d570, "sub_GAME_7F04D16C"] - - [0x7f04ddb4, "sub_GAME_7F04D9B0"] - - [0x7f04e0b8, "sub_GAME_7F04DCB4"] - - [0x7f04e16c, "sub_GAME_7F04DD68"] - - [0x7f04e21c, "sub_GAME_7F04DE18"] - - [0x7f04e300, "sub_GAME_7F04DEFC"] - - [0x7f04e3d4, "check_if_destroyable_object_type"] - - [0x7f04e410, "check_if_collectable_object"] - - [0x7f04e44c, "check_if_destroyable_not_invincible"] - - [0x7f04e4d0, "sub_GAME_7F04E0CC"] - - [0x7f04e50c, "maybe_detonate_object"] - - [0x7f04eb24, "sub_GAME_7F04E720"] - - [0x7f04edc0, "sub_GAME_7F04E9BC"] - - [0x7f04ee6c, "sub_GAME_7F04EA68"] - - [0x7f04f338, "check_if_object_has_not_been_destroyed"] - - [0x7f04f35c, "sub_GAME_7F04EF58"] - - [0x7f04f574, "sub_GAME_7F04F170"] - - [0x7f04f61c, "sub_GAME_7F04F218"] - - [0x7f04f648, "sub_GAME_7F04F244"] - - [0x7f04f6b8, "append_text_picked_up"] - - [0x7f04f6f0, "append_text_ammo_amount_word"] - - [0x7f04f810, "apped_text_ammotype"] - - [0x7f04fb8c, "set_sound_effect_for_ammo_collection"] - - [0x7f04fc14, "set_sound_effect_for_weapontype_collection"] - - [0x7f04fd24, "prepare_ammo_type_collection_text"] - - [0x7f04fdfc, "display_text_when_ammo_collected"] - - [0x7f04fe6c, "add_ammo_to_inventory"] - - [0x7f050040, "get_ammo_in_magazine"] - - [0x7f0500fc, "ammo_collected_from_weapon"] - - [0x7f0501e4, "generate_language_specific_text_for_weapon"] - - [0x7f050628, "display_text_for_weapon_in_lower_left_corner"] - - [0x7f050654, "collect_or_interact_object"] - - [0x7f050ae0, "object_collectability_routines"] - - [0x7f05122c, "sub_GAME_7F050D30"] - - [0x7f0512e4, "sub_GAME_7F050DE8"] - - [0x7f05144c, "sub_GAME_7F050F50"] - - [0x7f051524, "sub_GAME_7F051028"] - - [0x7f051580, "sub_GAME_7F051084"] - - [0x7f0515bc, "sub_GAME_7F0510C0"] - - [0x7f051768, "sub_GAME_7F05126C"] - - [0x7f051a84, "sub_GAME_7F051588"] - - [0x7f051aac, "sub_GAME_7F0515B0"] - - [0x7f051da4, "sub_GAME_7F0518A8"] - - [0x7f051dcc, "sub_GAME_7F0518D0"] - - [0x7f051f14, "trigger_remote_mine_detonation"] - - [0x7f051f64, "check_if_entry_is_collectable"] - - [0x7f051fe8, "check_if_item_deposited"] - - [0x7f052058, "add_obj_to_temp_proxmine_table"] - - [0x7f052090, "remove_obj_from_temp_proxmine_table"] - - [0x7f0520c8, "detonate_proxmine_In_range"] - - [0x7f0521c4, "check_guard_detonate_proxmine"] - - [0x7f052270, "link_objects"] - - [0x7f05228c, "complete_object_data_block_return_position_entry"] - - [0x7f0522d4, "sub_GAME_7F051DD8"] - - [0x7f052318, "sub_GAME_7F051E1C"] - - [0x7f05242c, "sub_GAME_7F051F30"] - - [0x7f0524d0, "sub_GAME_7F051FD4"] - - [0x7f05252c, "sub_GAME_7F052030"] - - [0x7f052568, "create_new_item_instance_of_model"] - - [0x7f0526e4, "set_0x4_in_runtime_flags_for_item_in_guards_hand"] - - [0x7f052710, "something_with_generating_object"] - - [0x7f0528d0, "actor_draws_weapon_with_model"] - - [0x7f0528f4, "sub_GAME_7F0523F8"] - - [0x7f052a50, "redirect_object_collectability_routines"] - - [0x7f052a70, "sub_GAME_7F052574"] - - [0x7f052b00, "sub_GAME_7F052604"] - - [0x7f052b80, "get_hat_model"] - - [0x7f052be8, "sub_GAME_7F0526EC"] - - [0x7f052ffc, "sub_GAME_7F052B00"] - - [0x7f053288, "sub_GAME_7F052D8C"] - - [0x7f053a94, "sub_GAME_7F053598"] - - [0x7f053ac0, "sub_GAME_7F0535C4"] - - [0x7f053aec, "initialize_door"] - - [0x7f053cb4, "sub_GAME_7F0537B8"] - - [0x7f053d90, "sub_GAME_7F053894"] - - [0x7f053e68, "sub_GAME_7F05396C"] - - [0x7f053eb4, "sub_GAME_7F0539B8"] - - [0x7f053ee0, "sub_GAME_7F0539E4"] - - [0x7f053f0c, "sub_GAME_7F053A10"] - - [0x7f053f38, "sub_GAME_7F053A3C"] - - [0x7f05400c, "sub_GAME_7F053B10"] - - [0x7f054074, "play_door_opening_soundeffect_0"] - - [0x7f054460, "play_door_opening_soundeffect_1"] - - [0x7f0547c0, "play_door_closing_soundeffect_0"] - - [0x7f0549b4, "play_door_closing_soundeffect_1"] - - [0x7f054c48, "sub_GAME_7F05474C"] - - [0x7f054cd8, "sub_GAME_7F0547DC"] - - [0x7f054d08, "sub_GAME_7F05480C"] - - [0x7f054d78, "sub_GAME_7F05487C"] - - [0x7f054da0, "sub_GAME_7F0548A4"] - - [0x7f054e84, "set_door_state"] - - [0x7f054f1c, "sub_GAME_7F054A20"] - - [0x7f054f60, "sub_GAME_7F054A64"] - - [0x7f05507c, "sub_GAME_7F054B80"] - - [0x7f055154, "sub_GAME_7F054C58"] - - [0x7f055268, "sub_GAME_7F054D6C"] - - [0x7f0553a4, "sub_GAME_7F054EA8"] - - [0x7f0554b0, "sub_GAME_7F054FB4"] - - [0x7f055728, "sub_GAME_7F05522C"] - - [0x7f055af4, "sub_GAME_7F0555F8"] - - [0x7f055d00, "sub_GAME_7F055804"] - - [0x7f055e98, "sub_GAME_7F05599C"] - - [0x7f055f6c, "sub_GAME_7F055A70"] - - [0x7f056074, "sub_GAME_7F055B78"] - - [0x7f05613c, "sub_GAME_7F055C40"] - - [0x7f0562c4, "start_alarm"] - - [0x7f0562e8, "deactivate_alarm_sound_effect"] - - [0x7f056328, "stop_alarm"] - - [0x7f05634c, "is_alarm_on"] - - [0x7f056360, "init_trigger_toxic_gas_effect"] - - [0x7f0563f4, "check_deactivate_gas_sound"] - - [0x7f056434, "check_if_toxic_gas_activated"] - - [0x7f056460, "handle_gas_damage"] - - [0x7f05665c, "set_unset_clock_lock_bits"] - - [0x7f056698, "is_clock_drawn_onscreen"] - - [0x7f0566ac, "set_clock_time"] - - [0x7f0566b8, "get_clock_time"] - - [0x7f0566c4, "set_clock_enable"] - - [0x7f0566d0, "get_clock_enable"] - - [0x7f0566dc, "if_enabled_reset_clock"] - - [0x7f05670c, "sub_GAME_7F056210"] - - [0x7f056aec, "handle_alarm_gas_timer_calldamage"] - - [0x7f056b8c, "sub_GAME_7F056690"] - - [0x7f056c78, "drop_inventory"] - - [0x7f056d50, "sub_GAME_7F056850"] - - [0x7f056df4, "get_size_of_setup_object_type"] - - [0x7f056f88, "sub_GAME_7F056A88"] - - [0x7f05701c, "check_if_object_type_has_been_loaded"] - - [0x7f0570a8, "sub_GAME_7F056BA8"] - - [0x7f057138, "load_model"] - - [0x7f0571a0, "sub_GAME_7F056CA0"] - - [0x7f0573a0, "sub_GAME_7F056EA0"] - - [0x7f057408, "sub_GAME_7F056F08"] - - [0x7f057580, "sub_GAME_7F057080"] - - [0x7f0575c0, "get_handle_to_tagged_object"] - - [0x7f057604, "get_ptr_text_for_watch_breifing_page"] - - [0x7f0576a8, "add_objective"] - - [0x7f0576b8, "get_text_for_objective"] - - [0x7f057704, "get_difficulty_for_objective"] - - [0x7f057738, "get_status_of_objective"] - - [0x7f0579b8, "check_objectives_complete"] - - [0x7f057a40, "FUN_7f057a40"] - - [0x7f057a50, "display_objective_status_text_on_status_change"] - - [0x7f057c60, "sub_GAME_7F057744"] - - [0x7f057d04, "sub_GAME_7F0577E8"] - - [0x7f057db4, "sub_GAME_7F057898"] - - [0x7f057fe0, "sub_GAME_7F057AC0"] - - [0x7f058134, "sub_GAME_7F057C14"] - - [0x7f058264, "sub_GAME_7F057D44"] - - [0x7f0582a8, "sub_GAME_7F057D88"] - - [0x7f058318, "sub_GAME_7F057DF8"] - - [0x7f058378, "sub_GAME_7F057E58"] - - [0x7f0583c0, "cosf"] - - [0x7f0583cc, "sinf"] - - [0x7f0584e4, "func_7F057FC4"] - - [0x7f0584f0, "reset_array_of_0x10_floats"] - - [0x7f058540, "sub_GAME_7F058020"] - - [0x7f058588, "sub_GAME_7F058068"] - - [0x7f0585b8, "sub_GAME_7F058098"] - - [0x7f0585e8, "sub_GAME_7F0580C8"] - - [0x7f0586ac, "sub_GAME_7F05818C"] - - [0x7f058794, "sub_GAME_7F058274"] - - [0x7f0588a0, "sub_GAME_7F058380"] - - [0x7f0588f8, "sub_GAME_7F0583D8"] - - [0x7f058938, "sub_GAME_7F058418"] - - [0x7f058994, "sub_GAME_7F058474"] - - [0x7f0589f0, "sub_GAME_7F0584D0"] - - [0x7f058a90, "sub_GAME_7F058570"] - - [0x7f058b1c, "sub_GAME_7F0585FC"] - - [0x7f058ba8, "sub_GAME_7F058688"] - - [0x7f058c34, "sub_GAME_7F058714"] - - [0x7f058d80, "sub_GAME_7F058860"] - - [0x7f058e4c, "sub_GAME_7F05892C"] - - [0x7f058e84, "init_something_copy_posdata_to_it"] - - [0x7f058eb8, "copies_first_3_floats_from_a0_to_a1_plus_0x30"] - - [0x7f058ed4, "sub_GAME_7F0589B4"] - - [0x7f058f04, "sub_GAME_7F0589E4"] - - [0x7f058f34, "sub_GAME_7F058A14"] - - [0x7f058f6c, "sub_GAME_7F058A4C"] - - [0x7f058f9c, "matrix_multiply_A1_by_F12"] - - [0x7f059030, "sub_GAME_7F058B10"] - - [0x7f0590a0, "sub_GAME_7F058B80"] - - [0x7f0590d8, "sub_GAME_7F058BB8"] - - [0x7f05916c, "sub_GAME_7F058C4C"] - - [0x7f059184, "sub_GAME_7F058C64"] - - [0x7f0591a8, "sub_GAME_7F058C88"] - - [0x7f0591bc, "sub_GAME_7F058C9C"] - - [0x7f059398, "sub_GAME_7F058E78"] - - [0x7f059564, "sub_GAME_7F059044"] - - [0x7f05966c, "sub_GAME_7F05914C"] - - [0x7f059764, "sub_GAME_7F059244"] - - [0x7f059854, "sub_GAME_7F059334"] - - [0x7f059944, "sub_GAME_7F059424"] - - [0x7f059bb4, "sub_GAME_7F059694"] - - [0x7f059c28, "sub_GAME_7F059708"] - - [0x7f059e28, "sub_GAME_7F059908"] - - [0x7f059e9c, "sub_GAME_7F05997C"] - - [0x7f059f68, "sub_GAME_7F059A48"] - - [0x7f05a078, "sub_GAME_7F059B58"] - - [0x7f05a208, "sub_GAME_7F059CE8"] - - [0x7f05a250, "sub_GAME_7F059D30"] - - [0x7f05a258, "sub_GAME_7F059D38"] - - [0x7f05a2cc, "sub_GAME_7F059DAC"] - - [0x7f05a384, "sub_GAME_7F059E64"] - - [0x7f05a4d8, "sub_GAME_7F059FB8"] - - [0x7f05a770, "sub_GAME_7F05A250"] - - [0x7f05a830, "sub_GAME_7F05A310"] - - [0x7f05ac94, "sub_GAME_7F05A774"] - - [0x7f05ae48, "sub_GAME_7F05A928"] - - [0x7f05aed8, "sub_GAME_7F05A9B8"] - - [0x7f05af00, "sub_GAME_7F05A9E0"] - - [0x7f05af50, "convert_angle_using_inverse"] - - [0x7f05b090, "sub_GAME_7F05AB70"] - - [0x7f05b110, "sub_GAME_7F05ABF0"] - - [0x7f05b164, "sub_GAME_7F05AC44"] - - [0x7f05b1d0, "sub_GAME_7F05ACB0"] - - [0x7f05b27c, "sub_GAME_7F05AD5C"] - - [0x7f05b320, "sub_GAME_7F05AE00"] - - [0x7f05b370, "sub_GAME_7F05AE50"] - - [0x7f05b41c, "sub_GAME_7F05AEFC"] - - [0x7f05b544, "sub_GAME_7F05B024"] - - [0x7f05b674, "sub_GAME_7F05B154"] - - [0x7f05b700, "sub_GAME_7F05B1E0"] - - [0x7f05b914, "sub_GAME_7F05B3F4"] - - [0x7f05ba48, "sub_GAME_7F05B528"] - - [0x7f05ba9c, "sub_GAME_7F05B57C"] - - [0x7f05baf4, "sub_GAME_7F05B5D4"] - - [0x7f05bb48, "sub_GAME_7F05B628"] - - [0x7f05bcb8, "sub_GAME_7F05B798"] - - [0x7f05bed4, "sub_GAME_7F05B9B4"] - - [0x7f05bf28, "sub_GAME_7F05BA08"] - - [0x7f05c188, "sub_GAME_7F05BC68"] - - [0x7f05c330, "sub_GAME_7F05BE10"] - - [0x7f05c3a8, "sub_GAME_7F05BE88"] - - [0x7f05c4ac, "sub_GAME_7F05BF8C"] - - [0x7f05c4f4, "sub_GAME_7F05BFD4"] - - [0x7f05c588, "sub_GAME_7F05C068"] - - [0x7f05c658, "sub_GAME_7F05C138"] - - [0x7f05c770, "sub_GAME_7F05C250"] - - [0x7f05c810, "sub_GAME_7F05C2F0"] - - [0x7f05c880, "truncf"] - - [0x7f05c8f8, "sub_GAME_7F05C3D8"] - - [0x7f05c960, "sub_GAME_7F05C440"] - - [0x7f05c9d8, "sub_GAME_7F05C4B8"] - - [0x7f05ca40, "set_cartridges_eject"] - - [0x7f05ca4c, "get_cartridges_eject"] - - [0x7f05ca58, "nullsub_73"] - - [0x7f05ca60, "sub_GAME_7F05C540"] - - [0x7f05cab4, "sub_GAME_7F05C594"] - - [0x7f05cb34, "sub_GAME_7F05C614"] - - [0x7f05cbd8, "sub_GAME_7F05C6B8"] - - [0x7f05cc1c, "sub_GAME_7F05C6FC"] - - [0x7f05cdd4, "get_ptr_item_statistics"] - - [0x7f05ce10, "copy_item_in_hand"] - - [0x7f05ce58, "copy_item_in_hand_to_main_list"] - - [0x7f05cea0, "unknown_takes_playerhand"] - - [0x7f05d3dc, "sub_GAME_7F05CEBC"] - - [0x7f05d420, "get_itemtype_in_hand"] - - [0x7f05d438, "get_ptr_itemheader_in_hand"] - - [0x7f05d450, "getPlayerWeaponBufferForHand"] - - [0x7f05d468, "getSizeBufferWeaponInHand"] - - [0x7f05d47c, "remove_item_in_hand"] - - [0x7f05d4c4, "place_item_in_hand_swap_and_make_visible"] - - [0x7f05d538, "get_ptr_item_text_call_line"] - - [0x7f05d568, "get_ptr_weapon_model_header_line"] - - [0x7f05d598, "getCurrentWeaponOrItem"] - - [0x7f05d5a8, "used_to_load_1st_person_model_on_demand"] - - [0x7f05d854, "sub_GAME_7F05D334"] - - [0x7f05d954, "get_next_weapon_in_cycle_for_hand"] - - [0x7f05da00, "sub_GAME_7F05D4E0"] - - [0x7f05db30, "sub_GAME_7F05D610"] - - [0x7f05db70, "sub_GAME_7F05D650"] - - [0x7f05dbb0, "sub_GAME_7F05D690"] - - [0x7f05dbf0, "advance_through_inventory"] - - [0x7f05dc88, "backstep_through_inventory"] - - [0x7f05dd20, "autoadvance_on_deplete_all_ammo"] - - [0x7f05de34, "draw_item_in_hand_has_more_ammo"] - - [0x7f05de84, "attempt_reload_item_in_hand"] - - [0x7f05def0, "get_item_in_hand"] - - [0x7f05df20, "draw_item_in_hand"] - - [0x7f05df64, "return_ammo_in_hand"] - - [0x7f05dfac, "sub_GAME_7F05DA8C"] - - [0x7f05e004, "sub_GAME_7F05DAE4"] - - [0x7f05e074, "remove_hands_item"] - - [0x7f05e1a8, "get_hands_firing_status"] - - [0x7f05e1d8, "sub_GAME_7F05DCB8"] - - [0x7f05e208, "sub_GAME_7F05DCE8"] - - [0x7f05e258, "sub_GAME_7F05DD38"] - - [0x7f05e2c4, "sub_GAME_7F05DDA4"] - - [0x7f05e3b4, "sub_GAME_7F05DE94"] - - [0x7f05e4a4, "sub_GAME_7F05DF84"] - - [0x7f05e4c8, "sub_GAME_7F05DFA8"] - - [0x7f05e4ec, "get_automatic_firing_rate"] - - [0x7f05e510, "get_sound_trigger_rate"] - - [0x7f05e534, "sub_GAME_7F05E014"] - - [0x7f05e558, "sub_GAME_7F05E038"] - - [0x7f05e57c, "check_if_have_ammo_for_item"] - - [0x7f05e5d4, "check_special_attributes"] - - [0x7f05e604, "sub_GAME_7F05E0E4"] - - [0x7f05eb10, "sub_GAME_7F05E5F0"] - - [0x7f05eb84, "get_value_if_watch_is_on_hand_or_not"] - - [0x7f05ebd4, "sub_GAME_7F05E6B4"] - - [0x7f05ed28, "sub_GAME_7F05E808"] - - [0x7f05ed5c, "sub_GAME_7F05E83C"] - - [0x7f05ee98, "sub_GAME_7F05E978"] - - [0x7f05efb4, "sub_GAME_7F05EA94"] - - [0x7f05f02c, "sub_GAME_7F05EB0C"] - - [0x7f05f13c, "sub_GAME_7F05EC1C"] - - [0x7f05f344, "sub_GAME_7F05EE24"] - - [0x7f05f5bc, "sub_GAME_7F05F09C"] - - [0x7f05f878, "generate_player_thrown_object"] - - [0x7f05fc5c, "sub_GAME_7F05F73C"] - - [0x7f05fe48, "sub_GAME_7F05F928"] - - [0x7f05ff9c, "sub_GAME_7F05FA7C"] - - [0x7f060020, "sub_GAME_7F05FB00"] - - [0x7f060084, "sub_GAME_7F05FB64"] - - [0x7f0604e8, "handles_firing_or_throwing_weapon_in_hand"] - - [0x7f061e4c, "sub_GAME_7F061920"] - - [0x7f061e74, "sub_GAME_7F061948"] - - [0x7f062120, "sub_GAME_7F061BF4"] - - [0x7f062344, "sub_GAME_7F061E18"] - - [0x7f06302c, "sub_GAME_7F062B00"] - - [0x7f063110, "sub_GAME_7F062BE4"] - - [0x7f063530, "set_enviro_fog_for_items_in_solo_watch_menu"] - - [0x7f063a04, "sub_GAME_7F0634D8"] - - [0x7f063a28, "sub_GAME_7F0634FC"] - - [0x7f063a48, "sub_GAME_7F06351C"] - - [0x7f063ac8, "sub_GAME_7F06359C"] - - [0x7f064890, "sub_GAME_7F064364"] - - [0x7f0648cc, "sub_GAME_7F0643A0"] - - [0x7f064948, "recall_joy2_hits_edit_detail_edit_flag"] - - [0x7f064c58, "sub_GAME_7F064720"] - - [0x7f064cbc, "recall_joy2_hits_edit_flag"] - - [0x7f064e8c, "sub_GAME_7F064934"] - - [0x7f064f10, "sub_GAME_7F0649AC"] - - [0x7f064f3c, "sub_GAME_7F0649D8"] - - [0x7f06508c, "handle_weapon_id_values_possibly_1st_person_animation"] - - [0x7f06743c, "sub_GAME_7F066E64"] - - [0x7f0674d0, "get_keyanalyzer_flag"] - - [0x7f0674e0, "sub_GAME_7F066F08"] - - [0x7f06757c, "get_vertical_position_solo_watch_menu_main_page_for_item"] - - [0x7f067598, "get_lateral_position_solo_watch_menu_main_page_for_item"] - - [0x7f0675b4, "get_depth_on_solo_watch_menu_page_for_item"] - - [0x7f0675d0, "get_zrotation_solo_watch_menu_for_item"] - - [0x7f0675ec, "get_xrotation_solo_watch_menu_for_item"] - - [0x7f067608, "get_45_degree_angle"] - - [0x7f067618, "get_ptr_first_title_line_item"] - - [0x7f06764c, "get_ptr_second_title_line_item"] - - [0x7f067680, "get_ptr_short_watch_text_for_item"] - - [0x7f0676b4, "get_ptr_long_watch_text_for_item"] - - [0x7f0676e8, "get_45_degree_angle_0"] - - [0x7f0676f8, "get_horizontal_offset_on_solo_watch_menu_for_item"] - - [0x7f067714, "get_vertical_offset_on_solo_watch_menu_for_item"] - - [0x7f067730, "get_depth_offset_solo_watch_menu_inventory_page_for_item"] - - [0x7f06774c, "sub_GAME_7F067174"] - - [0x7f06777c, "sub_GAME_7F0671A4"] - - [0x7f06798c, "sub_GAME_7F0673B4"] - - [0x7f0679f8, "sub_GAME_7F067420"] - - [0x7f06807c, "sub_GAME_7F067AA4"] - - [0x7f06808c, "sub_GAME_7F067AB4"] - - [0x7f068124, "sub_GAME_7F067B4C"] - - [0x7f06816c, "caclulate_gun_crosshair_position_rotation"] - - [0x7f068530, "sub_GAME_7F067F58"] - - [0x7f068594, "sub_GAME_7F067FBC"] - - [0x7f0685e0, "sub_GAME_7F068008"] - - [0x7f068604, "sub_GAME_7F06802C"] - - [0x7f0686ac, "sub_GAME_7F0680D4"] - - [0x7f068768, "sub_GAME_7F068190"] - - [0x7f0687a4, "sub_GAME_7F0681CC"] - - [0x7f0689f8, "sub_GAME_7F068420"] - - [0x7f068ae0, "sub_GAME_7F068508"] - - [0x7f0692f8, "sub_GAME_7F068D20"] - - [0x7f069458, "sub_GAME_7F068E6C"] - - [0x7f0694b0, "sub_GAME_7F068EC4"] - - [0x7f069678, "sub_GAME_7F06908C"] - - [0x7f0696e0, "set_unset_ammo_on_screen_setting"] - - [0x7f06971c, "give_cur_player_ammo"] - - [0x7f06982c, "check_cur_player_ammo_amount_in_inventory"] - - [0x7f069844, "check_cur_player_ammo_amount_total"] - - [0x7f0698c0, "get_max_ammo_for_type"] - - [0x7f0698dc, "set_max_ammo_for_cur_player"] - - [0x7f069930, "get_ammo_in_hands_magazine"] - - [0x7f069960, "get_ammo_in_hands_weapon"] - - [0x7f069a18, "get_ammo_type_for_weapon"] - - [0x7f069a3c, "get_ammo_count_for_weapon"] - - [0x7f069a70, "add_ammo_to_weapon"] - - [0x7f069a9c, "get_max_ammo_for_weapon"] - - [0x7f069ad4, "microcode_generation_ammo_related"] - - [0x7f069fd0, "set_rgba_redirect_generate_microcode"] - - [0x7f06a03c, "some_kind_of_display_routine"] - - [0x7f06a278, "display_ammo_total_in_a1"] - - [0x7f06a2e0, "generate_ammo_total_microcode"] - - [0x7f06a920, "sub_GAME_7F06A334"] - - [0x7f06ab94, "set_unset_bitflags"] - - [0x7f06abd0, "sub_GAME_7F06A5E4"] - - [0x7f06ace4, "inc_curplayer_hitcount_with_weapon"] - - [0x7f06ad2c, "get_curplayer_shot_register"] - - [0x7f06ad44, "inc_cur_civilian_casualties"] - - [0x7f06ad5c, "get_civilian_casualties"] - - [0x7f06ad6c, "increment_num_kills_display_text_in_MP"] - - [0x7f06af10, "get_curplay_killcount"] - - [0x7f06af20, "increment_num_times_killed_MwtGC"] - - [0x7f06af38, "get_times_killed_mwtgx"] - - [0x7f06af48, "increment_num_deaths"] - - [0x7f06aff4, "get_curplayer_numdeaths"] - - [0x7f06b004, "increment_num_suicides_display_MP"] - - [0x7f06b190, "get_curplayer_numsuicides"] - - [0x7f06b1a0, "sub_GAME_7F06ABB0"] - - [0x7f06b5d8, "display_image_at_on_screen_coord"] - - [0x7f06b710, "sub_GAME_7F06B120"] - - [0x7f06b838, "sub_GAME_7F06B248"] - - [0x7f06b88c, "sub_GAME_7F06B29C"] - - [0x7f06c118, "sub_GAME_7F06BB28"] - - [0x7f06c1fc, "drawjointlist"] - - [0x7f06c3f0, "probably_damage_detail_blood_effect_related"] - - [0x7f06c600, "sub_GAME_7F06C010"] - - [0x7f06c650, "sub_GAME_7F06C060"] - - [0x7f06c684, "get_obj_instance_controller_for_header"] - - [0x7f06c824, "set_obj_instance_scale_to_zero"] - - [0x7f06c82c, "get_aircraft_obj_instance_controller"] - - [0x7f06c9a4, "sub_GAME_7F06C3B4"] - - [0x7f06c9e8, "set_aircraft_obj_inst_scale_to_zero"] - - [0x7f06c9f0, "set_80036084"] - - [0x7f06c9fc, "set_float_80036088"] - - [0x7f06ca08, "sub_GAME_7F06C418"] - - [0x7f06ca50, "set_8003608C"] - - [0x7f06ca5c, "return_null"] - - [0x7f06ca64, "sub_GAME_7F06C474"] - - [0x7f06cb40, "sub_GAME_7F06C550"] - - [0x7f06cb60, "sub_GAME_7F06C570"] - - [0x7f06cc50, "sub_GAME_7F06C660"] - - [0x7f06cc90, "getsubmatrix"] - - [0x7f06cd00, "sub_GAME_7F06C710"] - - [0x7f06cd58, "sub_GAME_7F06C768"] - - [0x7f06cd8c, "extract_id_from_object_structure_microcode"] - - [0x7f06ce88, "getpartoffset"] - - [0x7f06cfc0, "setpartoffset"] - - [0x7f06d188, "getsuboffset"] - - [0x7f06d1fc, "setsuboffset"] - - [0x7f06d270, "getsubroty"] - - [0x7f06d32c, "setsubroty"] - - [0x7f06d468, "set_obj_instance_controller_scale"] - - [0x7f06d474, "sub_GAME_7F06CE84"] - - [0x7f06d480, "getjointsize"] - - [0x7f06d5fc, "getinstsize"] - - [0x7f06d66c, "sub_GAME_7F06D07C"] - - [0x7f06d6bc, "sub_GAME_7F06D0CC"] - - [0x7f06d750, "sub_GAME_7F06D160"] - - [0x7f06d7bc, "sub_GAME_7F06D1CC"] - - [0x7f06d8d4, "sub_GAME_7F06D2E4"] - - [0x7f06d9e4, "sub_GAME_7F06D3F4"] - - [0x7f06da80, "sub_GAME_7F06D490"] - - [0x7f06dca0, "subcalcpos"] - - [0x7f06dd28, "process_01_group_heading"] - - [0x7f06dea0, "sub_GAME_7F06D8B0"] - - [0x7f06e14c, "sub_GAME_7F06DB5C"] - - [0x7f06e3f4, "sub_GAME_7F06DE04"] - - [0x7f06e4b0, "sub_GAME_7F06DEC0"] - - [0x7f06e690, "process_02_position"] - - [0x7f06e8a8, "sub_GAME_7F06E2B8"] - - [0x7f06eb30, "sub_GAME_7F06E540"] - - [0x7f06ec3c, "process_03_unknown"] - - [0x7f06ed98, "process_15_subposition"] - - [0x7f06ee48, "process_08_distance_triggers"] - - [0x7f06ef60, "sub_GAME_7F06E970"] - - [0x7f06efac, "process_12_handle_switch"] - - [0x7f06eff8, "process_17_pointer_to_head"] - - [0x7f06f044, "sub_GAME_7F06EA54"] - - [0x7f06f100, "sub_GAME_7F06EB10"] - - [0x7f06f12c, "process_09_head_hat_placement_interlink"] - - [0x7f06f2e8, "process_07_unknown"] - - [0x7f06f494, "sub_GAME_7F06EEA4"] - - [0x7f06f5b4, "sub_GAME_7F06EFC4"] - - [0x7f06f6c0, "sub_GAME_7F06F0D0"] - - [0x7f06f838, "instcalcmatrices"] - - [0x7f06f8e8, "subcalcmatrices"] - - [0x7f06fb9c, "sub_GAME_7F06F5AC"] - - [0x7f06fba4, "sub_GAME_7F06F5B4"] - - [0x7f06fbac, "sub_GAME_7F06F5BC"] - - [0x7f06fbb4, "sub_GAME_7F06F5C4"] - - [0x7f06fc00, "sub_GAME_7F06F610"] - - [0x7f06fc08, "sub_GAME_7F06F618"] - - [0x7f06fc30, "sub_GAME_7F06F640"] - - [0x7f06fc5c, "sub_GAME_7F06F66C"] - - [0x7f06fd70, "sub_GAME_7F06F780"] - - [0x7f06fe68, "sub_GAME_7F06F878"] - - [0x7f07023c, "sub_GAME_7F06FC4C"] - - [0x7f070298, "sub_GAME_7F06FCA8"] - - [0x7f0702ec, "sub_GAME_7F06FCFC"] - - [0x7f0703bc, "sub_GAME_7F06FDCC"] - - [0x7f0703d8, "sub_GAME_7F06FDE8"] - - [0x7f07042c, "sub_GAME_7F06FE3C"] - - [0x7f070434, "sub_GAME_7F06FE44"] - - [0x7f07043c, "sub_GAME_7F06FE4C"] - - [0x7f070480, "sub_GAME_7F06FE90"] - - [0x7f070508, "sub_GAME_7F06FF18"] - - [0x7f07054c, "sub_GAME_7F06FF5C"] - - [0x7f070554, "sub_GAME_7F06FF64"] - - [0x7f070680, "sub_GAME_7F070090"] - - [0x7f0707c4, "sub_GAME_7F0701D4"] - - [0x7f0707d0, "sub_GAME_7F0701E0"] - - [0x7f0707dc, "sub_GAME_7F0701EC"] - - [0x7f0710dc, "sub_GAME_7F070AEC"] - - [0x7f071570, "sub_GAME_7F070F80"] - - [0x7f071620, "sub_GAME_7F071030"] - - [0x7f072134, "sub_GAME_7F071B44"] - - [0x7f072c34, "sub_GAME_7F072644"] - - [0x7f072ce8, "sub_GAME_7F0726F8"] - - [0x7f072d74, "sub_GAME_7F072784"] - - [0x7f072f74, "sub_GAME_7F072984"] - - [0x7f073200, "sub_GAME_7F072C10"] - - [0x7f073210, "dorottex"] - - [0x7f073628, "sub_GAME_7F073038"] - - [0x7f07365c, "sub_GAME_7F07306C"] - - [0x7f07366c, "dotube"] - - [0x7f073ddc, "sub_GAME_7F0737EC"] - - [0x7f073dec, "sub_GAME_7F0737FC"] - - [0x7f073dfc, "dogfnegx"] - - [0x7f0745b8, "sub_GAME_7F073FC8"] - - [0x7f0745c4, "doshadow"] - - [0x7f074b04, "sub_GAME_7F074514"] - - [0x7f074b14, "sub_GAME_7F074524"] - - [0x7f074b24, "sub_GAME_7F074534"] - - [0x7f074c74, "subdraw"] - - [0x7f074d80, "sub_GAME_7F074790"] - - [0x7f074dc0, "sub_GAME_7F0747D0"] - - [0x7f075258, "sub_GAME_7F074C68"] - - [0x7f07529c, "sub_GAME_7F074CAC"] - - [0x7f0758ec, "sub_GAME_7F0752FC"] - - [0x7f075a8c, "sub_GAME_7F07549C"] - - [0x7f075aac, "sub_GAME_7F0754BC"] - - [0x7f075ba0, "sub_GAME_7F0755B0"] - - [0x7f075bcc, "convert_obj_microcode_offset_to_rdram_addr"] - - [0x7f076080, "sub_GAME_7F075A90"] - - [0x7f0760f8, "sub_GAME_7F075B08"] - - [0x7f07610c, "set_microcode_entry_numbers"] - - [0x7f0762e4, "set_objuse_flag_compute_grp_nums_set_obj_loaded"] - - [0x7f07631c, "unknown_object_microcode_handler"] - - [0x7f076558, "sub_GAME_7F075F68"] - - [0x7f07659c, "sub_GAME_7F075FAC"] - - [0x7f076620, "sub_GAME_7F076030"] - - [0x7f0766b4, "sub_GAME_7F0760C4"] - - [0x7f07682c, "sub_GAME_7F07623C"] - - [0x7f0768d0, "sub_GAME_7F0762E0"] - - [0x7f076a94, "load_object_fill_header"] - - [0x7f076b3c, "load_object_into_memory"] - - [0x7f076b64, "load_object_into_memory_unused_maybe"] - - [0x7f076b90, "is_less_than_certain_power_of_2"] - - [0x7f076c38, "ceil8000"] - - [0x7f076c9c, "ceil4000"] - - [0x7f076d00, "ceil2000"] - - [0x7f076d64, "ceil1000"] - - [0x7f076dc8, "sub_GAME_7F0767D8"] - - [0x7f076e38, "sub_GAME_7F076848"] - - [0x7f076ea8, "sub_GAME_7F0768B8"] - - [0x7f076f18, "sub_GAME_7F076928"] - - [0x7f076f88, "generate_microcode_for_othermode_setting"] - - [0x7f077358, "likely_generate_DL_for_image_declaration"] - - [0x7f0781a8, "sub_GAME_7F077BB8"] - - [0x7f0781c0, "nullsub_75"] - - [0x7f0781c8, "set_BONDdata_screensize"] - - [0x7f078204, "set_ulx_uly"] - - [0x7f078220, "sub_GAME_7F077C30"] - - [0x7f07824c, "sub_GAME_7F077C5C"] - - [0x7f0784dc, "sub_GAME_7F077EEC"] - - [0x7f0785a4, "sub_GAME_7F077FB4"] - - [0x7f0785e4, "sub_GAME_7F077FF4"] - - [0x7f078650, "sub_GAME_7F078060"] - - [0x7f0786e0, "sub_GAME_7F0780F0"] - - [0x7f078730, "sub_GAME_7F078140"] - - [0x7f078848, "sub_GAME_7F078258"] - - [0x7f078914, "set_BONDdata_field_10C4"] - - [0x7f078924, "get_BONDdata_field_10C4"] - - [0x7f078934, "set_BONDdata_field_10C8"] - - [0x7f078944, "get_BONDdata_field_10C8"] - - [0x7f078954, "set_BONDdata_field_10D8"] - - [0x7f078964, "get_BONDdata_field_10D8"] - - [0x7f078974, "set_BONDdata_field_10E0"] - - [0x7f078984, "get_BONDdata_field_10E0"] - - [0x7f078994, "copy_BONDdata_field_10CC_to_10E8_set_10CC"] - - [0x7f0789b4, "get_BONDdata_field_10CC"] - - [0x7f0789c4, "set_BONDdata_field_10DC"] - - [0x7f0789d4, "get_BONDdata_field_10DC"] - - [0x7f0789e4, "sub_GAME_7F0783F4"] - - [0x7f0789f4, "sub_GAME_7F078404"] - - [0x7f078a04, "sub_GAME_7F078414"] - - [0x7f078a14, "sub_GAME_7F078424"] - - [0x7f078a34, "sub_GAME_7F078444"] - - [0x7f078a44, "sub_GAME_7F078454"] - - [0x7f078a54, "sub_GAME_7F078464"] - - [0x7f078a64, "sub_GAME_7F078474"] - - [0x7f078a74, "getPlayer_c_lodscalez"] - - [0x7f078a84, "getPlayer_c_lodscalezu32"] - - [0x7f078a94, "getPlayer_c_screenwidth"] - - [0x7f078aa4, "getPlayer_c_screenheight"] - - [0x7f078ab4, "getPlayer_c_screenleft"] - - [0x7f078ac4, "getPlayer_c_screentop"] - - [0x7f078ad4, "getPlayer_c_perspfovy"] - - [0x7f078ae4, "getPlayer_c_perspaspect"] - - [0x7f078af4, "sub_GAME_7F078504"] - - [0x7f078b24, "sub_GAME_7F078534"] - - [0x7f078b58, "sub_GAME_7F078568"] - - [0x7f078b88, "sub_GAME_7F078598"] - - [0x7f078bbc, "getPlayer_c_perspnear"] - - [0x7f078bcc, "sub_GAME_7F0785DC"] - - [0x7f078f40, "sub_GAME_7F078950"] - - [0x7f078f70, "sub_GAME_7F078980"] - - [0x7f078fa0, "sub_GAME_7F0789B0"] - - [0x7f078fd0, "sub_GAME_7F0789E0"] - - [0x7f079000, "sub_GAME_7F078A10"] - - [0x7f079048, "sub_GAME_7F078A58"] - - [0x7f0791e4, "sub_GAME_7F078BF4"] - - [0x7f0796e0, "sub_GAME_7F0790F0"] - - [0x7f0799dc, "init_player_BONDdata"] - - [0x7f079ea8, "sub_GAME_7F0798B8"] - - [0x7f079f78, "sub_GAME_7F079988"] - - [0x7f079f9c, "change_crouch_position"] - - [0x7f079fe0, "sub_GAME_7F0799F0"] - - [0x7f07a00c, "sub_GAME_7F079A1C"] - - [0x7f07a040, "setptrBONDdata"] - - [0x7f07a050, "sub_GAME_7F079A60"] - - [0x7f07a2e0, "solo_char_load"] - - [0x7f07aac0, "maybe_solo_intro_camera_handler"] - - [0x7f07ab48, "get_camera_mode"] - - [0x7f07ab54, "sub_GAME_7F07A534"] - - [0x7f07afd8, "set_camera_mode"] - - [0x7f07b7c4, "sub_GAME_7F07B1A4"] - - [0x7f07b8c0, "sub_GAME_7F07B2A0"] - - [0x7f07bb8c, "sub_GAME_7F07B56C"] - - [0x7f07cb64, "sub_GAME_7F07C540"] - - [0x7f07cb74, "set_BONDdata_lookahead_setting"] - - [0x7f07cb84, "get_BONDdata_lookahead_setting"] - - [0x7f07cb94, "set_BONDdata_autoaim_y"] - - [0x7f07cba4, "get_BONDdata_autoaim_y"] - - [0x7f07cbe4, "redirect_get_BONDdata_autoaim_y"] - - [0x7f07cc04, "get_BONDdata_is_aiming"] - - [0x7f07cc14, "sub_GAME_7F07C5F0"] - - [0x7f07cc7c, "set_BONDdata_autoaim_x"] - - [0x7f07cc8c, "get_BONDdata_autoaim_x"] - - [0x7f07cccc, "redirect_get_BONDdata_autoaim_x"] - - [0x7f07ccec, "sub_GAME_7F07C6C8"] - - [0x7f07cd54, "change_player_pos_to_target"] - - [0x7f07cdd8, "sub_GAME_7F07C7B4"] - - [0x7f07ceac, "sub_GAME_7F07C888"] - - [0x7f07d050, "sub_GAME_7F07CA2C"] - - [0x7f07d0ec, "sub_GAME_7F07CAC8"] - - [0x7f07d3cc, "sub_GAME_7F07CDA8"] - - [0x7f07d3f8, "sub_GAME_7F07CDD4"] - - [0x7f07d49c, "get_intank_flag"] - - [0x7f07d4a8, "get_ptr_for_players_tank"] - - [0x7f07d4d4, "sub_GAME_7F07CEB0"] - - [0x7f07d5a4, "sub_GAME_7F07CF80"] - - [0x7f07d5b0, "cal_player_collision"] - - [0x7f07d858, "sub_GAME_7F07D234"] - - [0x7f07d8d8, "sub_GAME_7F07D2B4"] - - [0x7f07dae4, "sub_GAME_7F07D4C0"] - - [0x7f07dc40, "sub_GAME_7F07D61C"] - - [0x7f07df78, "sub_GAME_7F07D954"] - - [0x7f07df84, "sub_GAME_7F07D960"] - - [0x7f07e488, "sub_GAME_7F07DE64"] - - [0x7f07e4c0, "sub_GAME_7F07DE9C"] - - [0x7f07e520, "sub_GAME_7F07DEFC"] - - [0x7f07e54c, "sub_GAME_7F07DF28"] - - [0x7f07e634, "sub_GAME_7F07E010"] - - [0x7f07e660, "sub_GAME_7F07E03C"] - - [0x7f07e68c, "sub_GAME_7F07E068"] - - [0x7f07e6b4, "sub_GAME_7F07E090"] - - [0x7f07e9ac, "sub_GAME_7F07E388"] - - [0x7f07ea24, "trigger_watch_zoom"] - - [0x7f07ea5c, "sub_GAME_7F07E438"] - - [0x7f07ea90, "sub_GAME_7F07E46C"] - - [0x7f07eb28, "sub_GAME_7F07E504"] - - [0x7f07eb50, "zoom_to_watch_on_open"] - - [0x7f07ebb8, "zoom_from_watch_on_exit"] - - [0x7f07ec20, "check_watch_page_transistion_running"] - - [0x7f07ec50, "sub_GAME_7F07E62C"] - - [0x7f07ed4c, "sub_GAME_7F07E740"] - - [0x7f07edd8, "sub_GAME_7F07E7CC"] - - [0x7f07eebc, "sub_GAME_7F07E8B0"] - - [0x7f07ef1c, "sub_GAME_7F07E910"] - - [0x7f07ef70, "sub_GAME_7F07E964"] - - [0x7f07f084, "sub_GAME_7F07EA78"] - - [0x7f07f0dc, "set_BONDdata_paused_flag"] - - [0x7f07f0ec, "get_BONDdata_paused_flag"] - - [0x7f07f0fc, "sub_GAME_7F07EAF0"] - - [0x7f07f260, "sub_GAME_7F07EC54"] - - [0x7f07fe70, "set_open_close_solo_watch_menu_to1"] - - [0x7f07fe84, "trigger_solo_watch_menu"] - - [0x7f0802d4, "sub_GAME_7F07FCC4"] - - [0x7f08042c, "sub_GAME_7F07FE1C"] - - [0x7f080584, "sub_GAME_7F07FF74"] - - [0x7f080620, "sub_GAME_7F080010"] - - [0x7f080838, "sub_GAME_7F080228"] - - [0x7f0808d4, "sub_GAME_7F0802C4"] - - [0x7f080af0, "sub_GAME_7F0804E0"] - - [0x7f080dc0, "set_rgba_tint"] - - [0x7f080df0, "sub_GAME_7F0807E0"] - - [0x7f080e68, "fade_to_over_seconds"] - - [0x7f080e9c, "check_if_fade_to_black_complete"] - - [0x7f080ecc, "sub_GAME_7F0808BC"] - - [0x7f081020, "set_curplayer_fade"] - - [0x7f081090, "update_curplayer_fade"] - - [0x7f081144, "sub_GAME_7F080B34"] - - [0x7f081370, "sub_GAME_7F080D60"] - - [0x7f081408, "sub_GAME_7F080DF8"] - - [0x7f081a88, "sub_GAME_7F081478"] - - [0x7f081da0, "sub_GAME_7F081790"] - - [0x7f081f84, "controller_gameplay_interaction"] - - [0x7f0845d8, "sub_GAME_7F083FC8"] - - [0x7f084a10, "sub_GAME_7F084360"] - - [0x7f084cf8, "MoveBond"] - - [0x7f08705c, "sub_GAME_7F086990"] - - [0x7f0872c4, "getWidth320or440"] - - [0x7f0872e8, "getHeight330or240"] - - [0x7f08730c, "get_curplayer_viewport_width"] - - [0x7f087390, "get_curplayer_viewport_ulx"] - - [0x7f0873f0, "get_curplayer_viewport_height"] - - [0x7f087504, "get_curplayer_viewport_uly"] - - [0x7f087668, "possibly_reset_viewport_options_for_player"] - - [0x7f087cb0, "sub_GAME_7F0875E4"] - - [0x7f087d30, "store_BONDdata_curpos_to_previous"] - - [0x7f087d90, "sub_GAME_7F0876C4"] - - [0x7f0880d4, "sub_GAME_7F087A08"] - - [0x7f0882e0, "seems_to_load_cuff_microcode"] - - [0x7f088540, "sub_GAME_7F087E74"] - - [0x7f088cec, "sub_GAME_7F088618"] - - [0x7f088fbc, "mp_respawn_handler"] - - [0x7f0893ac, "sub_GAME_7F088CD8"] - - [0x7f0898dc, "maybe_mp_interface"] - - [0x7f089d94, "write_stan_tiles_in_yellow"] - - [0x7f089dec, "sub_GAME_7F089718"] - - [0x7f089e40, "sub_GAME_7F08976C"] - - [0x7f089e4c, "sub_GAME_7F089778"] - - [0x7f089e54, "sub_GAME_7F089780"] - - [0x7f089e6c, "get_curplayer_positiondata"] - - [0x7f089e7c, "kill_current_player"] - - [0x7f089fbc, "sub_GAME_7F0898E8"] - - [0x7f089ff0, "record_damage_kills"] - - [0x7f08a554, "sub_GAME_7F089E4C"] - - [0x7f08a5ac, "check_if_bond_is_invincible"] - - [0x7f08a5dc, "check_if_healthbar_timer_greater_than_0"] - - [0x7f08a60c, "get_BONDdata_bondfadefracnew"] - - [0x7f08a61c, "get_curplay_horizontal_rotation_in_degrees"] - - [0x7f08a648, "get_curplay_vertical_rotation_in_degrees"] - - [0x7f08a670, "sub_GAME_7F089F38"] - - [0x7f08a680, "set_bondata_invincible_flag"] - - [0x7f08a690, "get_bondata_invincible_flag"] - - [0x7f08a6a0, "set_invisible_to_guards_flag"] - - [0x7f08a6ac, "get_invisible_to_guards_flag"] - - [0x7f08a6b8, "set_obj_collision_flag"] - - [0x7f08a6c4, "get_obj_collision_flag"] - - [0x7f08a6d0, "get_cur_players_room"] - - [0x7f08a70c, "get_BONDdata_position"] - - [0x7f08a738, "get_BONDdata_position3"] - - [0x7f08a764, "get_BONDdata_field408"] - - [0x7f08a774, "sub_GAME_7F08A03C"] - - [0x7f08a7e8, "sub_GAME_7F08A0B0"] - - [0x7f08a8d4, "sub_GAME_7F08A19C"] - - [0x7f08a9ac, "sub_GAME_7F08A274"] - - [0x7f08aa24, "get_BONDdata_watch_health"] - - [0x7f08aa34, "get_BONDdata_watch_armor"] - - [0x7f08aa44, "add_BONDdata_watch_armor"] - - [0x7f08aa68, "reset_intro_camera_message_dialogs_for_BONDdata"] - - [0x7f08aa98, "unset_flags_in_BONDdata_stationary_intro_cam"] - - [0x7f08aab4, "set_flags_in_BONDdata_stationary_intro_cam"] - - [0x7f08aacc, "display_string_in_lower_left_corner"] - - [0x7f08ac40, "jp_display_string_in_lower_left_corner"] - - [0x7f08ac6c, "sub_GAME_7F08A4E4"] - - [0x7f08ad84, "sub_GAME_7F08A5FC"] - - [0x7f08b0dc, "sub_GAME_7F08A900"] - - [0x7f08b104, "sub_GAME_7F08A928"] - - [0x7f08b120, "sub_GAME_7F08A944"] - - [0x7f08b138, "display_string_at_top_of_screen"] - - [0x7f08b1d4, "sub_GAME_7F08A9F8"] - - [0x7f08b2c4, "sub_GAME_7F08AAE8"] - - [0x7f08b978, "sub_GAME_7F08B0F0"] - - [0x7f08c540, "sub_GAME_7F08BCB8"] - - [0x7f08c548, "sub_GAME_7F08BCC0"] - - [0x7f08c57c, "sub_GAME_7F08BCF4"] - - [0x7f08c5a0, "sub_GAME_7F08BD18"] - - [0x7f08c5d0, "sub_GAME_7F08BD48"] - - [0x7f08c64c, "sub_GAME_7F08BDC4"] - - [0x7f08c6b4, "sub_GAME_7F08BE2C"] - - [0x7f08c774, "sub_GAME_7F08BEEC"] - - [0x7f08c840, "sub_GAME_7F08BFB8"] - - [0x7f08c84c, "trigger_explosions_around_player"] - - [0x7f08c880, "reinit_BONDdata_inventory"] - - [0x7f08c8e4, "sub_GAME_7F08C054"] - - [0x7f08ca24, "add_additional_weapon_slot_to_player_inventory_guess"] - - [0x7f08ca8c, "reorder_inventory_ptrs_based_on_id_code"] - - [0x7f08cad4, "get_ptr_next_available_weapon"] - - [0x7f08cb2c, "set_BONDdata_allguns_flag"] - - [0x7f08cb3c, "get_BONDdata_allguns_flag"] - - [0x7f08cb4c, "get_ptr_inventory_item"] - - [0x7f08cba4, "is_weapon_in_inv"] - - [0x7f08cbc8, "get_ptr_inventory_for_item_in_hand"] - - [0x7f08cc2c, "is_item_for_hand_in_inventory"] - - [0x7f08cc50, "check_if_item_available"] - - [0x7f08ccb4, "check_if_item_for_hand_available"] - - [0x7f08cd68, "add_item_to_inventory"] - - [0x7f08ce04, "add_doubles_item_to_inventory"] - - [0x7f08ce68, "sub_GAME_7F08C570"] - - [0x7f08cf14, "sub_GAME_7F08C61C"] - - [0x7f08d01c, "sub_GAME_7F08C724"] - - [0x7f08d05c, "sub_GAME_7F08C764"] - - [0x7f08d164, "sub_GAME_7F08C86C"] - - [0x7f08d43c, "sub_GAME_7F08CB10"] - - [0x7f08d7d4, "sub_GAME_7F08CE70"] - - [0x7f08d870, "sub_GAME_7F08CF0C"] - - [0x7f08d8e4, "sub_GAME_7F08CF80"] - - [0x7f08d924, "checkforgoldengun"] - - [0x7f08d944, "sub_GAME_7F08CFE0"] - - [0x7f08d99c, "sub_GAME_7F08D038"] - - [0x7f08da84, "sub_GAME_7F08D108"] - - [0x7f08dbcc, "sub_GAME_7F08D21C"] - - [0x7f08dc0c, "sub_GAME_7F08D25C"] - - [0x7f08dc58, "sub_GAME_7F08D2A8"] - - [0x7f08dd28, "sub_GAME_7F08D340"] - - [0x7f08de5c, "sub_GAME_7F08D434"] - - [0x7f08df90, "sub_GAME_7F08D528"] - - [0x7f08dfb8, "sub_GAME_7F08D550"] - - [0x7f08dfe0, "sub_GAME_7F08D578"] - - [0x7f08e008, "sub_GAME_7F08D5A0"] - - [0x7f08e030, "sub_GAME_7F08D5C8"] - - [0x7f08e164, "sub_GAME_7F08D6BC"] - - [0x7f08e298, "sub_GAME_7F08D7B0"] - - [0x7f08e2c0, "sub_GAME_7F08D7D8"] - - [0x7f08e2e8, "sub_GAME_7F08D800"] - - [0x7f08e310, "sub_GAME_7F08D828"] - - [0x7f08e338, "sub_GAME_7F08D850"] - - [0x7f08e360, "sub_GAME_7F08D878"] - - [0x7f08e388, "sub_GAME_7F08D8A0"] - - [0x7f08e3a8, "sub_GAME_7F08D8C0"] - - [0x7f08e3b8, "sub_GAME_7F08D8D0"] - - [0x7f08e3c8, "sub_GAME_7F08D8E0"] - - [0x7f08e444, "sub_GAME_7F08D95C"] - - [0x7f08e48c, "sub_GAME_7F08D9A4"] - - [0x7f08e4d4, "sub_GAME_7F08D9EC"] - - [0x7f08e5f0, "sub_GAME_7F08DB08"] - - [0x7f08e690, "sub_GAME_7F08DBB0"] - - [0x7f08e6a8, "sub_GAME_7F08DBC8"] - - [0x7f08e928, "sub_GAME_7F08DE48"] - - [0x7f08ea24, "sub_GAME_7F08DF44"] - - [0x7f08ec44, "sub_GAME_7F08E164"] - - [0x7f08ed20, "sub_GAME_7F08E240"] - - [0x7f08f39c, "sub_GAME_7F08E8BC"] - - [0x7f08f528, "sub_GAME_7F08EA48"] - - [0x7f08f598, "sub_GAME_7F08EAB8"] - - [0x7f08f5d8, "sub_GAME_7F08EAF8"] - - [0x7f08f6b0, "sub_GAME_7F08EBD0"] - - [0x7f08f76c, "sub_GAME_7F08EC8C"] - - [0x7f08f840, "sub_GAME_7F08ED60"] - - [0x7f08f894, "sub_GAME_7F08EDB4"] - - [0x7f08f8e0, "sub_GAME_7F08EE00"] - - [0x7f08f950, "sub_GAME_7F08EE70"] - - [0x7f08f9fc, "sub_GAME_7F08EF1C"] - - [0x7f08fa80, "sub_GAME_7F08EFA0"] - - [0x7f08fb70, "sub_GAME_7F08F090"] - - [0x7f08fbc8, "sub_GAME_7F08F0E8"] - - [0x7f08fc18, "sub_GAME_7F08F138"] - - [0x7f08fcb8, "sub_GAME_7F08F1D8"] - - [0x7f08fdac, "sub_GAME_7F08F2CC"] - - [0x7f08fe30, "sub_GAME_7F08F350"] - - [0x7f08ff18, "sub_GAME_7F08F438"] - - [0x7f08ffd0, "sub_GAME_7F08F4F0"] - - [0x7f09015c, "sub_GAME_7F08F67C"] - - [0x7f090190, "sub_GAME_7F08F6B0"] - - [0x7f0903e8, "sub_GAME_7F08F908"] - - [0x7f090670, "sub_GAME_7F08FB90"] - - [0x7f0907fc, "sub_GAME_7F08FD1C"] - - [0x7f0908e0, "nullsub_32"] - - [0x7f0908e8, "sub_GAME_7F08FE08"] - - [0x7f0908f4, "init_debug_menu_values"] - - [0x7f090954, "print_debug_mcm_to_stdout"] - - [0x7f090aec, "sub_GAME_7F09000C"] - - [0x7f090c90, "get_highlighted_debug_option"] - - [0x7f090c9c, "sub_GAME_7F0901BC"] - - [0x7f090ca8, "sub_GAME_7F0901C8"] - - [0x7f090d28, "sub_GAME_7F090248"] - - [0x7f090da0, "sub_GAME_7F0902C0"] - - [0x7f090e7c, "sub_GAME_7F09039C"] - - [0x7f090f70, "display_debug_menu_text_onscreen"] - - [0x7f090fa4, "sub_GAME_7F0904C4"] - - [0x7f090fe8, "sub_GAME_7F090508"] - - [0x7f09102c, "sub_GAME_7F09054C"] - - [0x7f091070, "removed_do_debug_profile_flag_false"] - - [0x7f091078, "removed_do_debug_profile_flag_true"] - - [0x7f091080, "debug_menu_processor"] - - [0x7f0919dc, "get_debug_render_raster"] - - [0x7f0919e8, "get_debug_freeze_processing"] - - [0x7f0919f4, "get_debug_limit_controller_input"] - - [0x7f091a00, "set_debug_limit_controller_input"] - - [0x7f091a14, "get_memusage_display_flag"] - - [0x7f091a20, "get_debug_do_draw_bg"] - - [0x7f091a2c, "get_debug_do_draw_obj"] - - [0x7f091a38, "get_debug_stanhit_flag"] - - [0x7f091a44, "get_debug_stanregion_flag"] - - [0x7f091a50, "get_turbo_mode_flag"] - - [0x7f091a5c, "get_debug_man_pos_flag"] - - [0x7f091a68, "get_debug_testingmanpos_flag"] - - [0x7f091a74, "set_debug_testingmanpos_flag"] - - [0x7f091a80, "get_debug_joy2skyedit_flag"] - - [0x7f091a8c, "get_debug_joy2hitsedit_flag"] - - [0x7f091a98, "get_debug_joy2detailedit_flag"] - - [0x7f091aa4, "get_debug_explosioninfo_flag"] - - [0x7f091ab0, "get_debug_prroomloads_flag"] - - [0x7f091abc, "get_debug_VisCVG_flag"] - - [0x7f091ac8, "set_debug_VisCVG_flag"] - - [0x7f091ad4, "get_debug_007_unlock_flag"] - - [0x7f091ae0, "get_debug_enable_agent_levels_flag"] - - [0x7f091aec, "get_debug_enable_all_levels_flag"] - - [0x7f091af8, "get_debug_fast_bond_flag"] - - [0x7f091b04, "set_debug_fast_bond_flag"] - - [0x7f091b10, "get_debug_all_obj_complete_flag"] - - [0x7f091b1c, "get_debug_portal_flag"] - - [0x7f091b28, "get_debug_chrnum_flag"] - - [0x7f091b34, "get_debug_gunwatchpos_flag"] - - [0x7f091b40, "get_debug_profile_flag"] - - [0x7f091b4c, "get_debug_taskgrab_val"] - - [0x7f091b60, "sub_GAME_7F091080"] - - [0x7f092060, "sub_GAME_7F091580"] - - [0x7f09209c, "sub_GAME_7F0915BC"] - - [0x7f0920f8, "sub_GAME_7F091618"] - - [0x7f09214c, "sub_GAME_7F09166C"] - - [0x7f0921d4, "sub_GAME_7F0916F4"] - - [0x7f092220, "cheatButton_7F091740"] - - [0x7f09225c, "cheatButton_7F09177C"] - - [0x7f09241c, "cheat_buttons_mp_related"] - - [0x7f09253c, "is_cheat_index_equal_to_1C"] - - [0x7f092558, "cheatCheckIfMPCheat"] - - [0x7f09258c, "handle_cheats_turned_on"] - - [0x7f092644, "handle_cheats_turned_on"] - - [0x7f092fb8, "cheatDisplayMessageActivateCheat"] - - [0x7f093240, "cheatDisableAllCheats"] - - [0x7f0932f4, "cheatGetMenuTextPointer"] - - [0x7f09333c, "cheatCheckIfOn"] - - [0x7f093374, "set_DKMode"] - - [0x7f093430, "sub_GAME_7F092890"] - - [0x7f0939f0, "sub_GAME_7F092E50"] - - [0x7f093fdc, "sub_GAME_7F09343C"] - - [0x7f0941fc, "sub_GAME_7F09365C"] - - [0x7f094420, "sub_GAME_7F093880"] - - [0x7f09449c, "sub_GAME_7F0938FC"] - - [0x7f094618, "sub_GAME_7F093A78"] - - [0x7f09479c, "sub_GAME_7F093BFC"] - - [0x7f0947e8, "sub_GAME_7F093C48"] - - [0x7f094828, "addpoint5tofloat"] - - [0x7f094850, "sub_GAME_7F093CB0"] - - [0x7f094b44, "sub_GAME_7F093FA4"] - - [0x7f094e38, "sub_GAME_7F094298"] - - [0x7f094fcc, "store_stagenum_to_copyof_stagenum"] - - [0x7f094fd8, "sub_GAME_7F094438"] - - [0x7f095028, "sub_GAME_7F094488"] - - [0x7f097f28, "sub_GAME_7F097388"] - - [0x7f098354, "sub_GAME_7F0977B4"] - - [0x7f0983b8, "sub_GAME_7F097818"] - - [0x7f0995cc, "sub_GAME_7F098A2C"] - - [0x7f09ae80, "default_player_perspective_and_height"] - - [0x7f09aecc, "reset_play_data_ptrs"] - - [0x7f09af2c, "init_player_data_ptrs_construct_viewports"] - - [0x7f09b004, "get_num_players"] - - [0x7f09b05c, "initBONDdataforPlayer"] - - [0x7f09bcac, "set_cur_player"] - - [0x7f09bcf0, "get_cur_playernum"] - - [0x7f09bcfc, "sub_GAME_7F09B15C"] - - [0x7f09bd7c, "set_cur_player_screen_size"] - - [0x7f09bd98, "set_cur_player_viewport_size"] - - [0x7f09bdb4, "set_cur_player_fovy"] - - [0x7f09bdc4, "set_cur_player_aspect"] - - [0x7f09bdd4, "get_cur_player_fovy"] - - [0x7f09bde4, "sub_GAME_7F09B244"] - - [0x7f09bf08, "sub_GAME_7F09B368"] - - [0x7f09bf38, "sub_GAME_7F09B398"] - - [0x7f09bfbc, "sub_GAME_7F09B41C"] - - [0x7f09c078, "sub_GAME_7F09B4D8"] - - [0x7f09c0c8, "sub_GAME_7F09B528"] - - [0x7f09c1a0, "sub_GAME_7F09B600"] - - [0x7f09c2e0, "sub_GAME_7F09B740"] - - [0x7f09c328, "sub_GAME_7F09B788"] - - [0x7f09c340, "null_init_main_1"] - - [0x7f09c348, "sub_GAME_7F09B7A8"] - - [0x7f09c384, "sub_GAME_7F09B7E4"] - - [0x7f09c3c0, "sub_GAME_7F09B820"] - - [0x7f09c664, "sub_GAME_7F09BAC4"] - - [0x7f09c75c, "sub_GAME_7F09BBBC"] - - [0x7f09c9ec, "sub_GAME_7F09BE4C"] - - [0x7f09cbe4, "sub_GAME_7F09C044"] - - [0x7f09cdf0, "sub_GAME_7F09C250"] - - [0x7f09d320, "sub_GAME_7F09C7AC"] - - [0x7f09d338, "sub_GAME_7F09C7C4"] - - [0x7f09d57c, "sub_GAME_7F09C9D8"] - - [0x7f09da8c, "sub_GAME_7F09CEE8"] - - [0x7f09e090, "sub_GAME_7F09D4EC"] - - [0x7f09e144, "sub_GAME_7F09D5A0"] - - [0x7f09e3d0, "sub_GAME_7F09D82C"] - - [0x7f09e948, "sub_GAME_7F09DDA4"] - - [0x7f09f2a4, "sub_GAME_7F09E700"] - - [0x7f09f450, "sub_GAME_7F09E8AC"] - - [0x7f09fb40, "sub_GAME_7F09EF9C"] - - [0x7f09fbe0, "sub_GAME_7F09F03C"] - - [0x7f09fdf8, "sub_GAME_7F09F254"] - - [0x7f0a08e0, "sub_GAME_7F09FD3C"] - - [0x7f0a0bd8, "sub_GAME_7F0A0034"] - - [0x7f0a0e20, "sub_GAME_7F0A027C"] - - [0x7f0a1658, "sub_GAME_7F0A0AB4"] - - [0x7f0a1818, "sub_GAME_7F0A0C74"] - - [0x7f0a1870, "sub_GAME_7F0A0CCC"] - - [0x7f0a1934, "sub_GAME_7F0A0D90"] - - [0x7f0a1a3c, "sub_GAME_7F0A0E98"] - - [0x7f0a1c30, "sub_GAME_7F0A108C"] - - [0x7f0a2638, "sub_GAME_7F0A1A94"] - - [0x7f0a291c, "sub_GAME_7F0A1D78"] - - [0x7f0a2940, "sub_GAME_7F0A1DA0"] - - [0x7f0a2d00, "sub_GAME_7F0A2160"] - - [0x7f0a3474, "sub_GAME_7F0A28D4"] - - [0x7f0a37e4, "sub_GAME_7F0A2C44"] - - [0x7f0a3ad0, "sub_GAME_7F0A2F30"] - - [0x7f0a3ed0, "sub_GAME_7F0A3330"] - - [0x7f0a3f98, "sub_GAME_7F0A33F8"] - - [0x7f0a4518, "sub_GAME_7F0A3978"] - - [0x7f0a4658, "sub_GAME_7F0A3AB8"] - - [0x7f0a46e0, "sub_GAME_7F0A3B40"] - - [0x7f0a4710, "sub_GAME_7F0A3B70"] - - [0x7f0a4744, "sub_GAME_7F0A3BA4"] - - [0x7f0a4778, "sub_GAME_7F0A3BD8"] - - [0x7f0a47a8, "sub_GAME_7F0A3C08"] - - [0x7f0a49bc, "sub_GAME_7F0A3E1C"] - - [0x7f0a4a40, "sub_GAME_7F0A3EA0"] - - [0x7f0a4aa4, "sub_GAME_7F0A3F04"] - - [0x7f0a50c8, "sub_GAME_7F0A4528"] - - [0x7f0a5134, "sub_GAME_7F0A4594"] - - [0x7f0a5178, "sub_GAME_7F0A45D8"] - - [0x7f0a51a0, "sub_GAME_7F0A4600"] - - [0x7f0a5240, "sub_GAME_7F0A46A0"] - - [0x7f0a5308, "sub_GAME_7F0A4768"] - - [0x7f0a5374, "sub_GAME_7F0A47D4"] - - [0x7f0a539c, "sub_GAME_7F0A47FC"] - - [0x7f0a53c4, "sub_GAME_7F0A4824"] - - [0x7f0a5400, "nullsub_7F0A4860"] - - [0x7f0a5408, "init_watch_at_start_of_stage"] - - [0x7f0a5638, "controller_deadzone_related"] - - [0x7f0a56e0, "sub_GAME_7F0A4B40"] - - [0x7f0a5914, "controllerCheckDualControllerTypesAllowed"] - - [0x7f0a5960, "cur_player_get_control_type"] - - [0x7f0a5970, "cur_player_set_control_type"] - - [0x7f0a59d8, "get_cur_player_look_vertical_inverted"] - - [0x7f0a59e4, "set_cur_player_look_vertical_inverted"] - - [0x7f0a59f0, "cur_player_get_autoaim"] - - [0x7f0a59fc, "cur_player_set_autoaim"] - - [0x7f0a5a08, "cur_player_get_lookahead"] - - [0x7f0a5a14, "cur_player_set_lookahead"] - - [0x7f0a5a20, "cur_player_get_aim_control"] - - [0x7f0a5a2c, "cur_player_set_aim_control"] - - [0x7f0a5a38, "cur_player_get_sight_onscreen_control"] - - [0x7f0a5a44, "cur_player_set_sight_onscreen_control"] - - [0x7f0a5a50, "cur_player_get_ammo_onscreen_setting"] - - [0x7f0a5a5c, "cur_player_set_ammo_onscreen_setting"] - - [0x7f0a5a68, "cur_player_get_screen_setting"] - - [0x7f0a5a74, "cur_player_set_screen_setting"] - - [0x7f0a5a80, "get_screen_ratio"] - - [0x7f0a5a8c, "set_screen_ratio"] - - [0x7f0a5a98, "sub_GAME_7F0A4EF8"] - - [0x7f0a5ae4, "sub_GAME_7F0A4F44"] - - [0x7f0a5af0, "is_holding_greater_than_2E_left_on_stick"] - - [0x7f0a5b14, "is_holding_greater_than_2E_right_on_stick"] - - [0x7f0a5b38, "get_controlstick_lr_enabled"] - - [0x7f0a5b44, "set_controlstick_lr_disabled"] - - [0x7f0a5b50, "sub_GAME_7F0A4FB0"] - - [0x7f0a5b8c, "sub_GAME_7F0A4FEC"] - - [0x7f0a5bc8, "is_holding_greater_than_2E_up_on_stick"] - - [0x7f0a5bec, "is_holding_greater_than_2E_down_on_stick"] - - [0x7f0a5c10, "get_D_80040AE0"] - - [0x7f0a5c1c, "set_D_80040AE0_0"] - - [0x7f0a5c28, "sub_GAME_7F0A5088"] - - [0x7f0a5c64, "sub_GAME_7F0A50C4"] - - [0x7f0a5ca0, "is_holding_less_than_10_up_on_stick"] - - [0x7f0a5cc4, "is_holding_less_than_10_down_on_stick"] - - [0x7f0a5ce8, "get_D_80040AE4"] - - [0x7f0a5cf4, "set_D_80040AE4_0"] - - [0x7f0a5d00, "sub_GAME_7F0A5160"] - - [0x7f0a5d3c, "sub_GAME_7F0A519C"] - - [0x7f0a5d78, "sub_GAME_7F0A51D8"] - - [0x7f0a5db0, "sub_GAME_7F0A5210"] - - [0x7f0a5e0c, "sub_GAME_7F0A526C"] - - [0x7f0a5f78, "sub_GAME_7F0A53D8"] - - [0x7f0a60a4, "sub_GAME_7F0A5504"] - - [0x7f0a6164, "sub_GAME_7F0A55C4"] - - [0x7f0a6244, "sub_GAME_7F0A56A4"] - - [0x7f0a6324, "sub_GAME_7F0A5784"] - - [0x7f0a6400, "sub_GAME_7F0A5860"] - - [0x7f0a64a0, "sub_GAME_7F0A5900"] - - [0x7f0a6538, "sub_GAME_7F0A5998"] - - [0x7f0a6604, "sub_GAME_7F0A5A64"] - - [0x7f0a6694, "sub_GAME_7F0A5AF4"] - - [0x7f0a6720, "sub_GAME_7F0A5B80"] - - [0x7f0a6cbc, "sub_GAME_7F0A611C"] - - [0x7f0a71b8, "sub_GAME_7F0A6618"] - - [0x7f0a7240, "sub_GAME_7F0A66A0"] - - [0x7f0a72cc, "sub_GAME_7F0A672C"] - - [0x7f0a735c, "sub_GAME_7F0A67BC"] - - [0x7f0a73ec, "sub_GAME_7F0A684C"] - - [0x7f0a7478, "sub_GAME_7F0A68D8"] - - [0x7f0a7548, "sub_GAME_7F0A69A8"] - - [0x7f0a75cc, "sub_GAME_7F0A6A2C"] - - [0x7f0a7620, "sub_GAME_7F0A6A80"] - - [0x7f0a7a80, "sub_GAME_7F0A6EE8"] - - [0x7f0a7c44, "sub_GAME_7F0A70AC"] - - [0x7f0a7ce4, "sub_GAME_7F0A714C"] - - [0x7f0a8340, "sub_GAME_7F0A77A8"] - - [0x7f0a8360, "sub_GAME_7F0A77C8"] - - [0x7f0a87b0, "sub_GAME_7F0A7C18"] - - [0x7f0a8954, "sub_GAME_7F0A7DBC"] - - [0x7f0a895c, "sub_GAME_7F0A7DC4"] - - [0x7f0a8a40, "debug_gun_watch_move_related"] - - [0x7f0a8ea4, "sub_GAME_7F0A830C"] - - [0x7f0a8fbc, "debug_gun_watch_move_related2"] - - [0x7f0a96d0, "sub_GAME_7F0A8B10"] - - [0x7f0a9900, "sub_GAME_7F0A8D40"] - - [0x7f0a9a90, "sub_GAME_7F0A8ED0"] - - [0x7f0a9bac, "sub_GAME_7F0A8FEC"] - - [0x7f0a9d40, "call_sfx_c_700091C8"] - - [0x7f0a9d60, "sub_GAME_7F0A91A0"] - - [0x7f0a9d88, "sub_GAME_7F0A91C8"] - - [0x7f0a9f18, "sub_GAME_7F0A9358"] - - [0x7f0a9f24, "sub_GAME_7F0A9364"] - - [0x7f0a9f58, "sub_GAME_7F0A9398"] - - [0x7f0aa184, "sub_GAME_7F0A95C4"] - - [0x7f0aa1d0, "sub_GAME_7F0A9610"] - - [0x7f0aa244, "sub_GAME_7F0A9684"] - - [0x7f0aa390, "sub_GAME_7F0A97D0"] - - [0x7f0aa678, "sub_GAME_7F0A9AB8"] - - [0x7f0ab388, "sub_GAME_7F0AA7C8"] - - [0x7f0ab980, "sub_GAME_7F0AADC0"] - - [0x7f0ac034, "zero_D_80040998"] - - [0x7f0ac040, "zero_D_8004099C"] - - [0x7f0ac04c, "zero_D_800409A4"] - - [0x7f0ac058, "return_arg0_7F0AB4B0"] - - [0x7f0ac060, "sub_GAME_7F0AB4B8"] - - [0x7f0ac34c, "set_pparam1toparam2_disablejoylr_playsfx"] - - [0x7f0ac380, "sub_GAME_7F0AB7D8"] - - [0x7f0ac4b0, "sub_GAME_7F0AB908"] - - [0x7f0ac7c4, "sub_GAME_7F0ABC1C"] - - [0x7f0ac9a4, "sub_GAME_7F0ABDFC"] - - [0x7f0acc90, "sub_GAME_7F0AC0E8"] - - [0x7f0accc8, "sub_GAME_7F0AC120"] - - [0x7f0acd10, "sub_GAME_7F0AC168"] - - [0x7f0ad5d0, "sub_GAME_7F0ACA28"] - - [0x7f0ad720, "null_init_main_7f0acb70"] - - [0x7f0ad728, "setTextSpacingInverted"] - - [0x7f0ad738, "setTextOrientation"] - - [0x7f0ad744, "setTextWordWrap"] - - [0x7f0ad750, "setTextOverlapCorrection"] - - [0x7f0ad75c, "load_font_tables"] - - [0x7f0ad948, "microcode_constructor"] - - [0x7f0adaa0, "combiner_bayer_lod_perspective"] - - [0x7f0adafc, "draw_blackbox_to_screen"] - - [0x7f0adbc4, "microcode_constructor_related_to_menus"] - - [0x7f0adca8, "sub_GAME_7F0AD0F8"] - - [0x7f0ae66c, "en_text_write_stuff"] - - [0x7f0ae95c, "sub_GAME_7F0ADDAC"] - - [0x7f0af00c, "sub_GAME_7F0AE45C"] - - [0x7f0af29c, "jp_text_write_stuff"] - - [0x7f0af53c, "sub_GAME_7F0AE98C"] - - [0x7f0af714, "sub_GAME_7F0AEB64"] - - [0x7f0afabc, "sub_GAME_7F0AEF0C"] - - [0x7f0afad0, "sub_GAME_7F0AEF20"] - - [0x7f0afae0, "sub_GAME_7F0AEF30"] - - [0x7f0afaec, "sub_GAME_7F0AEF3C"] - - [0x7f0afb90, "sub_GAME_7F0AEFE0"] - - [0x7f0afbb0, "stanRemovedAnimationRoutine"] - - [0x7f0afbbc, "something_stan_c_debug_related"] - - [0x7f0afbe8, "sub_GAME_7F0AF038"] - - [0x7f0afdbc, "sub_GAME_7F0AF20C"] - - [0x7f0b0168, "stanLoadFile"] - - [0x7f0b01e0, "sub_GAME_7F0AF630"] - - [0x7f0b01e8, "sub_GAME_7F0AF638"] - - [0x7f0b0310, "sub_GAME_7F0AF760"] - - [0x7f0b03b8, "sub_GAME_7F0AF808"] - - [0x7f0b04d4, "sub_GAME_7F0AF924"] - - [0x7f0b05cc, "sub_GAME_7F0AFA1C"] - - [0x7f0b06cc, "sub_GAME_7F0AFB1C"] - - [0x7f0b0728, "sub_GAME_7F0AFB78"] - - [0x7f0b08cc, "sub_GAME_7F0AFD1C"] - - [0x7f0b0a20, "sub_GAME_7F0AFE70"] - - [0x7f0b0b7c, "sub_GAME_7F0AFFCC"] - - [0x7f0b0bc8, "sub_GAME_7F0B0018"] - - [0x7f0b0c14, "sub_GAME_7F0B0064"] - - [0x7f0b0c74, "sub_GAME_7F0B00C4"] - - [0x7f0b0cf0, "sub_GAME_7F0B0140"] - - [0x7f0b0d48, "sub_GAME_7F0B0198"] - - [0x7f0b0e88, "sub_GAME_7F0B02D8"] - - [0x7f0b0f1c, "sub_GAME_7F0B036C"] - - [0x7f0b0fb0, "sub_GAME_7F0B0400"] - - [0x7f0b10c8, "sub_GAME_7F0B0518"] - - [0x7f0b1170, "sub_GAME_7F0B05C0"] - - [0x7f0b1238, "sub_GAME_7F0B0688"] - - [0x7f0b136c, "sub_GAME_7F0B07BC"] - - [0x7f0b14c4, "sub_GAME_7F0B0914"] - - [0x7f0b1794, "sub_GAME_7F0B0BE4"] - - [0x7f0b17d4, "sub_GAME_7F0B0C24"] - - [0x7f0b1848, "sub_GAME_7F0B0C98"] - - [0x7f0b189c, "sub_GAME_7F0B0CEC"] - - [0x7f0b18bc, "sub_GAME_7F0B0D0C"] - - [0x7f0b19d4, "sub_GAME_7F0B0E24"] - - [0x7f0b1fc0, "sub_GAME_7F0B1410"] - - [0x7f0b2274, "sub_GAME_7F0B16C4"] - - [0x7f0b2344, "sub_GAME_7F0B1794"] - - [0x7f0b2394, "sub_GAME_7F0B17E4"] - - [0x7f0b2468, "sub_GAME_7F0B18B8"] - - [0x7f0b2874, "sub_GAME_7F0B1CC4"] - - [0x7f0b2890, "sub_GAME_7F0B1CE0"] - - [0x7f0b289c, "sub_GAME_7F0B1CEC"] - - [0x7f0b28a8, "sub_GAME_7F0B1CF8"] - - [0x7f0b298c, "sub_GAME_7F0B1DDC"] - - [0x7f0b2c80, "sub_GAME_7F0B20D0"] - - [0x7f0b2cc0, "sub_GAME_7F0B2110"] - - [0x7f0b2d44, "sub_GAME_7F0B2194"] - - [0x7f0b2d60, "sub_GAME_7F0B21B0"] - - [0x7f0b2df4, "sub_GAME_7F0B2244"] - - [0x7f0b2e24, "sub_GAME_7F0B2274"] - - [0x7f0b2ec4, "sub_GAME_7F0B2314"] - - [0x7f0b2f4c, "sub_GAME_7F0B239C"] - - [0x7f0b2f54, "sub_GAME_7F0B23A4"] - - [0x7f0b2f5c, "sub_GAME_7F0B23AC"] - - [0x7f0b2fd0, "sub_GAME_7F0B2420"] - - [0x7f0b31bc, "sub_GAME_7F0B260C"] - - [0x7f0b3268, "sub_GAME_7F0B26B8"] - - [0x7f0b32c8, "sub_GAME_7F0B2718"] - - [0x7f0b3460, "sub_GAME_7F0B28B0"] - - [0x7f0b3500, "sub_GAME_7F0B2950"] - - [0x7f0b3520, "sub_GAME_7F0B2970"] - - [0x7f0b37dc, "copy_tile_RGB_as_24bit"] - - [0x7f0b3824, "sub_GAME_7F0B2C74"] - - [0x7f0b38c4, "sub_GAME_7F0B2D14"] - - [0x7f0b38e8, "sub_GAME_7F0B2D38"] - - [0x7f0b38f8, "sub_GAME_7F0B2D48"] - - [0x7f0b3900, "stanConvertNameStringToS32"] - - [0x7f0b3a08, "stanMatchTileName"] - - [0x7f0b3ab0, "sub_GAME_7F0B2F00"] - - [0x7f0b3adc, "stanDetermineEOF"] - - [0x7f0b3b88, "sub_GAME_7F0B2FD8"] - - [0x7f0b3b90, "sub_GAME_7F0B2FE0"] - - [0x7f0b3bb4, "sub_GAME_7F0B3004"] - - [0x7f0b3bd4, "sub_GAME_7F0B3024"] - - [0x7f0b3be4, "sub_GAME_7F0B3034"] - - [0x7f0b3bec, "sub_GAME_7F0B303C"] - - [0x7f0b3bf4, "sub_GAME_7F0B3044"] - - [0x7f0b3cdc, "sub_GAME_7F0B312C"] - - [0x7f0b3ce8, "sub_GAME_7F0B3138"] - - [0x7f0b3d54, "sub_GAME_7F0B31A4"] - - [0x7f0b3db0, "sub_GAME_7F0B3200"] - - [0x7f0b3e88, "sub_GAME_7F0B32D8"] - - [0x7f0b3f8c, "sub_GAME_7F0B33DC"] - - [0x7f0b4370, "something_with_bg_c_debug"] - - [0x7f0b439c, "sub_GAME_7F0B37EC"] - - [0x7f0b4464, "sub_GAME_7F0B38B4"] - - [0x7f0b456c, "sub_GAME_7F0B39BC"] - - [0x7f0b46b4, "sub_GAME_7F0B3B04"] - - [0x7f0b46d0, "sub_GAME_7F0B3B20"] - - [0x7f0b4774, "sub_GAME_7F0B3BC4"] - - [0x7f0b47bc, "sub_GAME_7F0B3C0C"] - - [0x7f0b483c, "sub_GAME_7F0B3C8C"] - - [0x7f0b4be4, "sub_GAME_7F0B4034"] - - [0x7f0b4c34, "sub_GAME_7F0B4084"] - - [0x7f0b4c84, "sub_GAME_7F0B40D4"] - - [0x7f0b4cd4, "load_bg_file"] - - [0x7f0b5390, "sub_GAME_7F0B47E0"] - - [0x7f0b53c0, "sub_GAME_7F0B4810"] - - [0x7f0b53e0, "get_room_data_float2"] - - [0x7f0b53ec, "get_room_data_float1"] - - [0x7f0b53f8, "sub_GAME_7F0B4848"] - - [0x7f0b5428, "sub_GAME_7F0B4878"] - - [0x7f0b5434, "sub_GAME_7F0B4884"] - - [0x7f0b5600, "sub_GAME_7F0B4A50"] - - [0x7f0b5664, "sub_GAME_7F0B4AB4"] - - [0x7f0b59f0, "sub_GAME_7F0B4E40"] - - [0x7f0b5b4c, "sub_GAME_7F0B4F9C"] - - [0x7f0b5b64, "sub_GAME_7F0B4FB4"] - - [0x7f0b5ba4, "sub_GAME_7F0B4FF4"] - - [0x7f0b5c08, "sub_GAME_7F0B5058"] - - [0x7f0b5d18, "sub_GAME_7F0B5168"] - - [0x7f0b5d4c, "sub_GAME_7F0B519C"] - - [0x7f0b5db8, "sub_GAME_7F0B5208"] - - [0x7f0b6038, "sub_GAME_7F0B5488"] - - [0x7f0b60d8, "sub_GAME_7F0B5528"] - - [0x7f0b6414, "sub_GAME_7F0B5864"] - - [0x7f0b66c4, "sub_GAME_7F0B5B14"] - - [0x7f0b6710, "sub_GAME_7F0B5B60"] - - [0x7f0b678c, "vis_is_inline_of_sight"] - - [0x7f0b6870, "sub_GAME_7F0B5CC0"] - - [0x7f0b6908, "copy_4_floats_a1_to_a0"] - - [0x7f0b692c, "sub_GAME_7F0B5D7C"] - - [0x7f0b6990, "sub_GAME_7F0B5DE0"] - - [0x7f0b69f4, "getMaxNumRooms"] - - [0x7f0b6a00, "sub_GAME_7F0B5E50"] - - [0x7f0b6a1c, "sub_GAME_7F0B5E6C"] - - [0x7f0b6a38, "sub_GAME_7F0B5E88"] - - [0x7f0b6a88, "generate_room_load_string"] - - [0x7f0b6b3c, "sub_GAME_7F0B5F8C"] - - [0x7f0b6b5c, "sub_GAME_7F0B5FAC"] - - [0x7f0b6c4c, "sub_GAME_7F0B609C"] - - [0x7f0b6d8c, "sub_GAME_7F0B61DC"] - - [0x7f0b6ec4, "sub_GAME_7F0B6314"] - - [0x7f0b6f18, "sub_GAME_7F0B6368"] - - [0x7f0b7174, "sub_GAME_7F0B65C4"] - - [0x7f0b722c, "sub_GAME_7F0B667C"] - - [0x7f0b7298, "sub_GAME_7F0B66E8"] - - [0x7f0b732c, "sub_GAME_7F0B677C"] - - [0x7f0b7448, "sub_GAME_7F0B6898"] - - [0x7f0b7544, "sub_GAME_7F0B6994"] - - [0x7f0b789c, "sub_GAME_7F0B6CEC"] - - [0x7f0b7bc0, "sub_GAME_7F0B7010"] - - [0x7f0b8628, "sub_GAME_7F0B7A78"] - - [0x7f0b8944, "sub_GAME_7F0B7D94"] - - [0x7f0b8958, "sub_GAME_7F0B7DA8"] - - [0x7f0b8994, "sub_GAME_7F0B7DE4"] - - [0x7f0b8a94, "sub_GAME_7F0B7EE4"] - - [0x7f0b8b34, "sub_GAME_7F0B7F84"] - - [0x7f0b8f24, "push_arg_to_table"] - - [0x7f0b8f60, "pull_arg_from_stack"] - - [0x7f0b8f94, "sub_GAME_7F0B83E4"] - - [0x7f0b8fc4, "parse_global_vis_command_list"] - - [0x7f0b95d4, "sub_GAME_7F0B8A24"] - - [0x7f0b961c, "sub_GAME_7F0B8A6C"] - - [0x7f0b9928, "sub_GAME_7F0B8D78"] - - [0x7f0b99a4, "sub_GAME_7F0B8DF4"] - - [0x7f0b9a48, "sub_GAME_7F0B8E98"] - - [0x7f0b9aac, "sub_GAME_7F0B8EFC"] - - [0x7f0b9b80, "sub_GAME_7F0B8FD0"] - - [0x7f0b9bf0, "sub_GAME_7F0B9040"] - - [0x7f0b9c3c, "sub_GAME_7F0B908C"] - - [0x7f0b9e64, "sub_GAME_7F0B92B4"] - - [0x7f0b9ee8, "sub_GAME_7F0B9338"] - - [0x7f0ba188, "sub_GAME_7F0B95D8"] - - [0x7f0ba27c, "sub_GAME_7F0B96CC"] - - [0x7f0ba4ec, "sub_GAME_7F0B993C"] - - [0x7f0ba540, "sub_GAME_7F0B9990"] - - [0x7f0ba5c4, "sub_GAME_7F0B9A14"] - - [0x7f0ba5dc, "sub_GAME_7F0B9A2C"] - - [0x7f0ba62c, "sub_GAME_7F0B9A7C"] - - [0x7f0ba694, "sub_GAME_7F0B9AE4"] - - [0x7f0ba6b4, "sub_GAME_7F0B9B04"] - - [0x7f0ba6d4, "sub_GAME_7F0B9B24"] - - [0x7f0ba6f4, "sub_GAME_7F0B9B44"] - - [0x7f0ba714, "sub_GAME_7F0B9B64"] - - [0x7f0ba744, "sub_GAME_7F0B9B94"] - - [0x7f0ba878, "sub_GAME_7F0B9CC8"] - - [0x7f0ba96c, "sub_GAME_7F0B9DBC"] - - [0x7f0ba994, "sub_GAME_7F0B9DE4"] - - [0x7f0ba9a4, "sub_GAME_7F0B9DF4"] - - [0x7f0ba9ac, "sub_GAME_7F0B9DFC"] - - [0x7f0ba9b4, "sub_GAME_7F0B9E04"] - - [0x7f0baac4, "sub_GAME_7F0B9F14"] - - [0x7f0bae1c, "sub_GAME_7F0BA26C"] - - [0x7f0bae84, "sub_GAME_7F0BA2D4"] - - [0x7f0bb170, "sub_GAME_7F0BA5C0"] - - [0x7f0bb1f0, "sub_GAME_7F0BA640"] - - [0x7f0bb2d0, "sub_GAME_7F0BA720"] - - [0x7f0bb2dc, "get_ptr_currentdata"] - - [0x7f0bb2e8, "get_near_fog_value"] - - [0x7f0bb2f4, "square_near_fog_value"] - - [0x7f0bb308, "copy_table1_env_to_current"] - - [0x7f0bb580, "copy_table2_env_to_current"] - - [0x7f0bb60c, "sub_GAME_7F0BAA5C"] - - [0x7f0bb614, "load_enviroment"] - - [0x7f0bb858, "switch_to_solosky2"] - - [0x7f0bbc20, "sub_GAME_7F0BB070"] - - [0x7f0bbe48, "sub_GAME_7F0BB298"] - - [0x7f0bbe78, "sub_GAME_7F0BB2C8"] - - [0x7f0bbf48, "return_nearfog_values"] - - [0x7f0bbf54, "if_sky_present_convert_values"] - - [0x7f0bc080, "init_lightfixture_tables"] - - [0x7f0bc0d4, "get_index_of_current_entry_in_init_lightfixture_table"] - - [0x7f0bc14c, "add_entry_to_init_lightfixture_table"] - - [0x7f0bc1b0, "save_ptrDL_enpoint_to_current_init_lightfixture_table"] - - [0x7f0bc1e0, "check_if_imageID_is_light"] - - [0x7f0bc244, "return_ptr_vertex_of_entry_room"] - - [0x7f0bc2a4, "sub_GAME_7F0BB6F4"] - - [0x7f0bc424, "sub_GAME_7F0BB874"] - - [0x7f0bc528, "sub_GAME_7F0BB978"] - - [0x7f0bc5d0, "sub_GAME_7F0BBA20"] - - [0x7f0bc68c, "sub_GAME_7F0BBADC"] - - [0x7f0bc758, "sub_GAME_7F0BBBA8"] - - [0x7f0bc7e0, "sub_GAME_7F0BBC30"] - - [0x7f0bc87c, "sub_GAME_7F0BBCCC"] - - [0x7f0bc9bc, "sub_GAME_7F0BBE0C"] - - [0x7f0bd074, "sub_GAME_7F0BC4C4"] - - [0x7f0bd0e0, "sub_GAME_7F0BC530"] - - [0x7f0bd1d4, "sub_GAME_7F0BC624"] - - [0x7f0bd1e4, "sub_GAME_7F0BC634"] - - [0x7f0bd210, "sub_GAME_7F0BC660"] - - [0x7f0bd240, "sub_GAME_7F0BC690"] - - [0x7f0bd2a0, "sub_GAME_7F0BC6F0"] - - [0x7f0bd384, "sub_GAME_7F0BC7D4"] - - [0x7f0bd40c, "sub_GAME_7F0BC85C"] - - [0x7f0bd574, "sub_GAME_7F0BC9C4"] - - [0x7f0bd5c4, "sub_GAME_7F0BCA14"] - - [0x7f0bd5e4, "sub_GAME_7F0BCA34"] - - [0x7f0bd650, "load_resource"] - - [0x7f0bd6e4, "resource_load_from_indy"] - - [0x7f0bd7d8, "ob_c_debug_setup"] - - [0x7f0bd86c, "_load_rom_index_to_membank"] - - [0x7f0bd894, "_load_resource_index_to_membank"] - - [0x7f0bd8b4, "_load_resource_named_to_membank"] - - [0x7f0bd8f0, "_load_resource_named_to_buffer"] - - [0x7f0bd92c, "load_bg_bytes_at_offset_to_membank"] - - [0x7f0bd9bc, "load_rom_resource_index_to_membank"] - - [0x7f0bdb90, "load_resource_index_to_buffer"] - - [0x7f0bdcb0, "get_pc_remaining_buffer_for_index"] - - [0x7f0bdccc, "get_rom_remaining_buffer_for_index"] - - [0x7f0bdce8, "sub_GAME_7F0BD138"] - - [0x7f0bdd38, "get_pc_buffer_remaining_value"] - - [0x7f0bdd6c, "something_mem_bank_a0"] - - [0x7f0bdde4, "sub_GAME_7F0BD234"] - - [0x7f0bde04, "get_index_num_of_named_resource"] - - [0x7f0bdf34, "removed_handle_filetable_entry"] - - [0x7f0bdf3c, "removed_loop_handle_filetable_entries"] - - [0x7f0bdf94, "removed_loop_filetableentries"] - - [0x7f0bdfc0, "sub_GAME_7F0BD410"] - - [0x7f0be010, "something_with_dyn_c_debug"] - - [0x7f0be03c, "set_vtx_gfx_mem_alloc"] - - [0x7f0be224, "get_ptr_displaylist"] - - [0x7f0be24c, "allocate_something_in_mgfx"] - - [0x7f0be274, "sub_GAME_7F0BD6C4"] - - [0x7f0be290, "sub_GAME_7F0BD6E0"] - - [0x7f0be2a8, "sub_GAME_7F0BD6F8"] - - [0x7f0be2c4, "sub_GAME_7F0BD714"] - - [0x7f0be2e8, "allocate_something_in_mvtx"] - - [0x7f0be324, "removed_debug_routine"] - - [0x7f0be32c, "num_microcode_cmds_that_fit"] - - [0x7f0be354, "sub_GAME_7F0BD7A4"] - - [0x7f0be37c, "compute_membar_display_string"] - - [0x7f0be3c0, "draw_membars"] - - [0x7f0be4a0, "sub_GAME_7F0BD8F0"] - - [0x7f0be4ac, "sub_GAME_7F0BD8FC"] - - [0x7f0be4b8, "something_with_lvl_c_debug"] - - [0x7f0be534, "sub_GAME_7F0BD984"] - - [0x7f0be574, "playmusictrack1"] - - [0x7f0be59c, "music_append_play_solo_death_short"] - - [0x7f0be5e8, "music_append_play_endtheme"] - - [0x7f0be634, "sub_GAME_7F0BDA84"] - - [0x7f0be660, "stage_load"] - - [0x7f0beac4, "sub_GAME_7F0BDF04"] - - [0x7f0bead0, "sub_GAME_7F0BDF10"] - - [0x7f0beecc, "sub_GAME_7F0BE30C"] - - [0x7f0bf4b4, "sub_GAME_7F0BE8D0"] - - [0x7f0bf7ac, "manage_mp_game"] - - [0x7f0c0438, "sub_GAME_7F0BF800"] - - [0x7f0c0758, "unload_stage_text_data"] - - [0x7f0c0830, "set_controls_locked_flag"] - - [0x7f0c086c, "get_controls_locked_flag"] - - [0x7f0c0878, "get_current_difficulty"] - - [0x7f0c0884, "set_difficulty"] - - [0x7f0c0890, "set_mp_time"] - - [0x7f0c089c, "set_mp_point"] - - [0x7f0c08a8, "get_cur_mp_sec"] - - [0x7f0c08b4, "get_cur_mp_min"] - - [0x7f0c08c0, "get_stage_time_sec"] - - [0x7f0c08cc, "get_poweron_time_sec"] - - [0x7f0c08e0, "clear_ramrom_block_buffer_heading_ptrs"] - - [0x7f0c08fc, "get_is_ramrom_flag"] - - [0x7f0c0908, "get_recording_ramrom_flag"] - - [0x7f0c0914, "interface_menu0B_runstage"] - - [0x7f0c0920, "finalize_ramrom_on_hw"] - - [0x7f0c09d0, "save_ramrom_to_devtool"] - - [0x7f0c0a70, "load_ramrom_from_devtool"] - - [0x7f0c0acc, "record_player_input_as_packet"] - - [0x7f0c0cf0, "ramrom_replay_handler"] - - [0x7f0c0ed8, "iterate_ramrom_entries_handle_camera_out"] - - [0x7f0c1018, "copy_current_ingame_registers_before_ramrom_playback"] - - [0x7f0c1164, "copy_recorded_ramrom_registers_to_proper_place_ingame"] - - [0x7f0c12b0, "test_if_recording_demos_this_stage_load"] - - [0x7f0c142c, "setRamRomRecordSlot"] - - [0x7f0c1444, "stop_recording_ramrom"] - - [0x7f0c148c, "replay_recorded_ramrom_at_address"] - - [0x7f0c1518, "replay_recorded_ramrom_from_indy"] - - [0x7f0c1538, "ensureCameraModeA"] - - [0x7f0c156c, "stop_demo_playback"] - - [0x7f0c15e0, "select_ramrom_to_play"] - - [0x7f0c1690, "check_ramrom_flags"] - - [0x7f0c16e0, "store_osgetcount"] - - [0x7f0c1710, "sub_GAME_7F0C0AA0"] - - [0x7f0c17dc, "sub_GAME_7F0C0B4C"] - - [0x7f0c1874, "sub_GAME_7F0C0BE4"] - - [0x7f0c1880, "sub_GAME_7F0C0BF0"] - - [0x7f0c18a0, "sub_GAME_7F0C0C10"] - - [0x7f0c18c0, "get_mission_state"] - - [0x7f0c18cc, "set_missionstate"] - - [0x7f0c1eac, "sub_GAME_7F0C11FC"] - - [0x7f0c1f18, "sub_GAME_7F0C1268"] - - [0x7f0c1f38, "sub_GAME_7F0C1288"] - - [0x7f0c1f7c, "sub_GAME_7F0C12CC"] - - [0x7f0c1fc0, "sub_GAME_7F0C1310"] - - [0x7f0c1ff0, "sub_GAME_7F0C1340"] - - [0x7f0c2014, "sub_GAME_7F0C1364"] - - [0x7f0c2078, "reset_all_music_slots"] - - [0x7f0c21ac, "set_musicslot_time"] - - [0x7f0c2208, "reset_music_in_slot"] - - [0x7f0c2290, "get_textbank_number_for_stagenum"] - - [0x7f0c239c, "init_LnameX"] - - [0x7f0c25f0, "something_with_LnameJ"] - - [0x7f0c26e0, "something_with_LnameX"] - - [0x7f0c29b8, "load_mission_text_bank"] - - [0x7f0c2a14, "load_briefing_text_bank"] - - [0x7f0c2a74, "blank_text_bank"] - - [0x7f0c2a88, "get_textptr_for_textID"] - - [0x7f0c2ad0, "check_can_advance_right_on_mpmenu"] - - [0x7f0c2b3c, "check_can_advance_left_on_mpmenu"] - - [0x7f0c2ba8, "check_if_player_is_pressing_anything_right"] - - [0x7f0c2c18, "check_if_player_is_pressing_anything_left"] - - [0x7f0c2c8c, "play_watch_sfx_beep"] - - [0x7f0c2cb8, "unpause_game"] - - [0x7f0c2cd4, "sub_GAME_7F0C2024"] - - [0x7f0c2dc4, "sub_GAME_7F0C2114"] - - [0x7f0c2eb4, "sub_GAME_7F0C2204"] - - [0x7f0c2ffc, "sub_GAME_7F0C234C"] - - [0x7f0c3144, "pauseAndLockControls"] - - [0x7f0c316c, "sub_GAME_7F0C24BC"] - - [0x7f0c31d0, "set_stopplay_flag"] - - [0x7f0c31e0, "sub_GAME_7F0C2530"] - - [0x7f0c3b30, "sub_GAME_7F0C2E80"] - - [0x7f0c4250, "display_text_for_playerdata_on_MP_menu"] - - [0x7f0c4588, "get_points_for_mp_player"] - - [0x7f0c4944, "write_playerrank_to_buffer"] - - [0x7f0c4c0c, "true_if_displaying_rank_in_mp"] - - [0x7f0c4c7c, "true_if_displaying_score_in_mp"] - - [0x7f0c4cd4, "mp_watch_menu_display"] - - [0x7f0c6d2c, "sub_GAME_7F0C6048"] - - [0x7f0c6d64, "checkGamePaused"] - - [0x7f0c6d70, "display_red_blue_on_radar"] - - [0x7f0c72b0, "advance_mp_weapon_set_by_one_save_value"] - - [0x7f0c72d8, "get_ptr_current_mp_weapon_set_text_code"] - - [0x7f0c72f4, "get_ptr_mp_weapon_set_data"] - - [0x7f0c7310, "set_mp_weapon_set"] - - [0x7f0c731c, "get_mp_weapon_set"] - - [0x7f0c7330, "nullsub_41"] - - [0x7f0c7338, "image_related_calls_decompressdata_function"] - - [0x7f0c78a8, "copy_loaded_image_to_final_mem_location"] - - [0x7f0c7950, "sub_GAME_7F0C6C70"] - - [0x7f0c848c, "sub_GAME_7F0C77AC"] - - [0x7f0c88b8, "sub_GAME_7F0C7BD8"] - - [0x7f0c8adc, "process_huffman_compressed_images"] - - [0x7f0c9434, "image_decompresion_related"] - - [0x7f0c9eb0, "generate_sample_table"] - - [0x7f0ca39c, "type4_7_9_getsamples"] - - [0x7f0ca600, "type5_6_7_getsamples"] - - [0x7f0ca704, "sub_GAME_7F0C9A24"] - - [0x7f0ca728, "image_get_alpha_values"] - - [0x7f0ca77c, "image_compression0_expand"] - - [0x7f0caa84, "generate_link_final_image"] - - [0x7f0cb570, "type5_generate_link_final_image"] - - [0x7f0cb938, "type6_7_generate_link_final_image"] - - [0x7f0cc35c, "sub_GAME_7F0CB67C"] - - [0x7f0cc4c0, "type8_9_doohick"] - - [0x7f0cc7d4, "sub_GAME_7F0CBAF4"] - - [0x7f0cc7ec, "sub_GAME_7F0CBB0C"] - - [0x7f0cc844, "sub_GAME_7F0CBB64"] - - [0x7f0cc854, "check_load_image_to_buffer"] - - [0x7f0cc8f8, "load_image_to_buffer"] - - [0x7f0ccb30, "sub_GAME_7F0CBE50"] - - [0x7f0ccbc8, "sub_GAME_7F0CBEE8"] - - [0x7f0ccbf0, "makeemptyimageatpos"] - - [0x7f0ccc0c, "sub_GAME_7F0CBF2C"] - - [0x7f0ccc90, "load_prepare_global_image_bank"] - - [0x7f0cd1a0, "nullsub_47"] - - [0x7f0cd1a8, "sub_GAME_7F0CC4C8"] - - [0x7f0cd1fc, "sub_GAME_7F0CC51C"] - - [0x7f0cd228, "sub_GAME_7F0CC548"] - - [0x7f0cd254, "sub_GAME_7F0CC574"] - - [0x7f0cd370, "sub_GAME_7F0CC690"] - - [0x7f0cd3f4, "sub_GAME_7F0CC714"] - - [0x7f0cd4dc, "sub_GAME_7F0CC7FC"] - - [0x7f0cd5c4, "sub_GAME_7F0CC8E4"] - - [0x7f0cd674, "sub_GAME_7F0CC994"] - - [0x7f0cd6b4, "sub_GAME_7F0CC9D4"] - - [0x7f0cd77c, "sub_GAME_7F0CCA9C"] - - [0x7f0cd7ac, "sub_GAME_7F0CCACC"] - - [0x7f0cd7dc, "sub_GAME_7F0CCAFC"] - - [0x7f0cd818, "sub_GAME_7F0CCB38"] - - [0x7f0cd930, "sub_GAME_7F0CCC50"] - - [0x7f0cdc9c, "sub_GAME_7F0CCFBC"] - - [0x7f0cdd58, "expland_c0_DL_psuedocommands"] - - [0x7f0ce110, "sub_GAME_7F0CD430"] - - [0x7f0ce48c, "sub_GAME_7F0CD7AC"] - - [0x7f0ce844, "sub_GAME_7F0CDB64"] - - [0x7f0ceaf8, "sub_GAME_7F0CDE18"] - - [0x7f0ceb88, "sub_GAME_7F0CDEA8"] - - [0x7f0cec88, "sub_GAME_7F0CDFA8"] - - [0x7f0ced44, "sub_GAME_7F0CE064"] - - [0x7f0ced8c, "sub_GAME_7F0CE0AC"] - - [0x7f0cedf8, "process_microcode_sort_display_modes_expand_image_calls"] - - [0x7f0cf474, "sub_GAME_7F0CE794"] - - [0x7f0cf4d0, "decompressdata"] - - [0x7f0cf574, "sub_GAME_7F0CE894"] - - [0x7f0cf590, "sub_GAME_7F0CE8B0"] - - [0x7f0cfbd0, "sub_GAME_7F0CEEF0"] - - [0x7f0d006c, "zlib_decompressor_type0"] - - [0x7f0d0208, "zlib_decompressor_type1"] - - [0x7f0d0370, "zlib_decompressor_type2"] - - [0x7f0d0894, "select_zlib_decompression_routine"] - - [0x7f0d09b4, "loop_to_decompress_entire_file"] - - [0x7f0d0a90, "something_with_rsp_c_debug"] - - [0x7f0d0abc, "allocate_init_rsp_buffers"] - - [0x7f0d0af8, "load_rsp_microcode"] - - [0x7f0d0c10, "init_indy_if_not_ready"] - - [0x7f0d0c44, "nullsub_48"] - - [0x7f0d0c4c, "init_indy_if_ready"] - - [0x7f0d0c7c, "load_resource_on_indy"] - - [0x7f0d0cc0, "indy_send_capture_data"] - - [0x7f0d0cfc, "indy_loadfile"] - - [0x7f0d0d3c, "check_file_exported"] - - [0x7f0d0d78, "check_file_found_on_indy"] - - [0x7f0d0dc0, "response_from_command_string"] - - [0x7f0d0e04, "sub_GAME_7F0D0124"] - - [0x7f0d0e34, "send_indy_close_port_cmd"] - - [0x7f0d0e60, "sub_GAME_7F0D0180"] - - [0x7f0d0eb0, "sub_GAME_7F0D01D0"] - - [0x7f0d0f00, "postindyresourcecommand"] - - [0x7f0d1038, "send2indyresourcecommands"] - - [0x7f0d106c, "post_type1_indyrescmd_sizenextcmd"] - - [0x7f0d10b4, "post_type2_indyrescmd_cmds_rdy_to_proc"] - - [0x7f0d10fc, "post_type0_indyrescmd_init"] - - [0x7f0d1140, "post_type3_indyrescmd"] - - [0x7f0d11a4, "post_type4_indyrescmd_data_recieved"] - - [0x7f0d11f4, "post_type5_indyrescmd_printfsend"] - - [0x7f0d1258, "post_type6_indyrescmd_printfrecieved"] - - [0x7f0d12b0, "post_type7_indyrescmd_log_send"] - - [0x7f0d1324, "post_type8_indyrescmd_log_recieved"] - - [0x7f0d13a0, "post_type9_indyrescmd_app_command_ready"] - - [0x7f0d1420, "post_typeA_indyrescmd_app_command_recieved"] - - [0x7f0d1470, "post_typeF_indyrescmd_fault_send"] - - [0x7f0d14ec, "post_type10_indyrescmd_fault_ack_by_host"] - - [0x7f0d154c, "post_typeD_indyrescmd_prof_send_filename"] - - [0x7f0d15c8, "post_typeE_indyrescmd_prof_recv"] - - [0x7f0d1618, "post_typeB_indyrescmd_host_prof_req"] - - [0x7f0d167c, "post_typeC_indyrescmd_prof_send"] - - [0x7f0d16cc, "post_typeA_indyrescmd_app_data_recieved"] - - [0x7f0d171c, "post_indy__res_cmd_initialize_seq"] - - [0x7f0d175c, "post_indyrescmd_game_data_send"] - - [0x7f0d17a4, "post_indyrescmd_debug_data_recv"] - - [0x7f0d17ec, "post_indyrescmd_game_printf_send"] - - [0x7f0d1834, "post_indyrescmd_debug_printf_recv"] - - [0x7f0d1884, "post_indyrescmd_req_filename_size"] - - [0x7f0d18d4, "post_indyrescmd_1_8_2"] - - [0x7f0d1948, "post_indyrescmd_send_capture_data"] - - [0x7f0d19b0, "post_indyrescmd_recv_capture_data_success"] - - [0x7f0d19f8, "post_indyrescmd_request_ramrom_file"] - - [0x7f0d1a54, "post_indyrescmd_1_10_2"] - - [0x7f0d1ab0, "post_indyrescmd_game_prof_sendfile"] - - [0x7f0d1b0c, "post_indyrescmd_host_prof_recv"] - - [0x7f0d1b54, "post_indyrescmd_1_B_2"] - - [0x7f0d1b9c, "post_indyrescmd_1_C_2"] - - [0x7f0d1be4, "post_indyrescmd_1_A_2"] - - [0x7f0d1c2c, "post_indyrescmd_read_command"] - - [0x7f0d1d88, "post_indyrescmd_read_2commands"] - - [0x7f0d1de0, "post_indyrescmd_istype1_correctsize"] - - [0x7f0d1e8c, "post_indyrescmd_istype2_correctvalue"] - - [0x7f0d1f28, "post_indyrescmd_istype4_correctvalue"] - - [0x7f0d1fd4, "post_indyrescmd_istype6_correctvalue"] - - [0x7f0d2090, "post_indyrescmd_istype8_correctvalue"] - - [0x7f0d2178, "post_indyrescmd_istypeA_correctvalue"] - - [0x7f0d2224, "post_indyrescmd_istype10_correctvalue"] - - [0x7f0d22ec, "post_indyrescmd_istypeE_correctvalue"] - - [0x7f0d2398, "post_indyrescmd_istypeC_correctvalue"] - - [0x7f0d2444, "response_indyrescmd_1_4_2"] - - [0x7f0d248c, "response_indyrescmd_1_6_2"] - - [0x7f0d24dc, "response_indyrescmd_1_8_2"] - - [0x7f0d2544, "response_indyrescmd_1_A_2"] - - [0x7f0d258c, "response_indyrescmd_1_10_2"] - - [0x7f0d25e8, "response_indyrescmd_1_E_2"] - - [0x7f0d2630, "response_indyrescmd_1_C_2"] - - [0x7f0d2678, "response_indyrescmd_curr_matches_expected"] - - [0x7f0d2700, "something_game_c_debug_related"] - - [0x7f0d272c, "reset_mem_bank_5"] - - [0x7f0d275c, "sub_GAME_7F0D1A7C"] - - [0x7f0d2790, "get_compile_time"] - - [0x7f0d27a0, "sub_GAME_7F0D1AC0"] - - [0x7f0d2874, "sub_GAME_7F0D1B94"] - - [0x7f0d28b0, "sub_GAME_7F0D1BD0"] - - [0x7f0d2aac, "sub_GAME_7F0D1DCC"] - - [0x7f0d2adc, "sub_GAME_7F0D1DFC"] - - [0x7f0d2b24, "sub_GAME_7F0D1E44"] - - [0x7f0d2b78, "sub_GAME_7F0D1E98"] - - [0x7f0d3000, "sub_GAME_7F0D2320"] - - [0x7f0d3060, "remove_viewport_buffer"] - - [0x7f0d306c, "allocate_viewport_buffer"] - - [0x7f0d3128, "sub_GAME_7F0D2448"] - - [0x7f0d3144, "sub_GAME_7F0D2464"] - - [0x7f0d31f8, "sub_GAME_7F0D2518"] - - [0x7f0d3400, "getmusictrack_or_randomtrack"] - - [0x7f0d3528, "sub_GAME_7F0D2848"] - - [0x7f0d3570, "sub_GAME_7F0D2890"] - - [0x7f0d35c0, "sub_GAME_7F0D28E0"] - - [0x7f0d3764, "sub_GAME_7F0D2A84"] - - [0x7f0d3964, "spectrum_p1controller_to_kempston"] - - [0x7f0d3ca4, "init_spectrum_game"] - - [0x7f0d4054, "run_spectrum_game"] - - [0x7f0d4094, "spectrum_draw_screen"] - - [0x7f0d43b8, "spectrum_input_handling"] - - [0x7f0d44b4, "nullsub_50"] - - [0x7f0d44bc, "sub_GAME_7F0D37DC"] - - [0x7f0d450c, "spectrum_hw_emulation"] - - [0x80020dd0, "rspbootTextStart"] - - [0x80020ea0, "gsp3DTextStart"] - - [0x800222c0, "aspMainTextStart"] - - [0x80023084, "unknown_init_val"] - - [0x80023088, "cart_hw_address"] - - [0x8002308c, "debug_handler_table"] - - [0x800230d0, "stderr_unused"] - - [0x800230d4, "stderr_enabled"] - - [0x800230d8, "stderr_active"] - - [0x800230dc, "stderr_permitted"] - - [0x800230e0, "userCompareValue"] - - [0x800230e4, "currentcount"] - - [0x800230e8, "setby_DPCfill_0"] - - [0x800230ec, "setby_DPCfill_1"] - - [0x800230f0, "something_with_osVI_0"] - - [0x800230f4, "something_with_osVI_4"] - - [0x800230f8, "something_with_osVI_8"] - - [0x800230fc, "something_with_osVI_C"] - - [0x80023100, "something_with_osVI_10"] - - [0x80023104, "something_with_osVI_14"] - - [0x80023108, "something_with_osVI_18"] - - [0x8002310c, "D_800230CC"] - - [0x80023110, "maybe_cur_TLB_entries"] - - [0x80023114, "tlb_segment_num"] - - [0x80023120, "tlb_random_seed"] - - [0x80023130, "D_800230F0"] - - [0x80023134, "audFrameCt"] - - [0x80023138, "nextDMA"] - - [0x8002313c, "curAcmdList"] - - [0x80023140, "D_80023100"] - - [0x80023208, "firstTime"] - - [0x80023210, "D_800231D0"] - - [0x80023214, "D_800231D4"] - - [0x80023264, "D_80023224"] - - [0x80023268, "D_80023228"] - - [0x8002326c, "D_8002322C"] - - [0x80023270, "counterforframes"] - - [0x80023274, "D_80023234"] - - [0x80023280, "D_80023240"] - - [0x80023284, "video1_settings"] - - [0x800232b0, "video2_settings"] - - [0x800232dc, "D_8002329C"] - - [0x800232e0, "D_800232A0"] - - [0x800232e4, "ptr_video_settings1"] - - [0x800232e8, "ptr_video_settings2"] - - [0x800232ec, "coloroutputmode"] - - [0x800232f0, "D_800232B0"] - - [0x800232f4, "D_800232B4"] - - [0x800232f8, "D_800232B8"] - - [0x800232fc, "D_800232BC"] - - [0x80023300, "D_800232C0"] - - [0x80023304, "jpg_16bit_grabnum"] - - [0x80023308, "jpg_32bit_grabnum"] - - [0x8002330c, "rgb_16bit_grabnum"] - - [0x80023310, "rgb_32bit_grabnum"] - - [0x80023320, "D_800232E0"] - - [0x80023328, "debug_notice_list"] - - [0x80023338, "debug_notice_list_data"] - - [0x80023340, "D_80023300"] - - [0x80023344, "debug_processor_error_table"] - - [0x8002371c, "stack_ptrs_1"] - - [0x80023730, "stack_ptrs_2"] - - [0x80023744, "stack_ptrs_3"] - - [0x80023758, "stderr_buffer"] - - [0x80024040, "std_error_font_bitcode"] - - [0x800241bc, "ptr_videobuffer1"] - - [0x800241c0, "ptr_videobuffer2"] - - [0x800241c4, "padding_80024184"] - - [0x800241e0, "boss_c_ptr_debug_notice_list_entry"] - - [0x800241e4, "debug_and_update_stage_flag"] - - [0x800241e8, "current_stage_num"] - - [0x800241ec, "current_m_malloc_value"] - - [0x800241f0, "current_ma_malloc_value"] - - [0x800241f4, "show_mem_use_flag"] - - [0x800241f8, "show_mem_bars_flag"] - - [0x800241fc, "memallocstringtable"] - - [0x8002433c, "loadedstage"] - - [0x80024340, "debug_feature_flag"] - - [0x80024344, "D_80024304"] - - [0x80024348, "D_80024308"] - - [0x8002434c, "D_8002430C"] - - [0x80024350, "D_80024310"] - - [0x80024354, "D_80024314"] - - [0x80024358, "D_80024318"] - - [0x8002435c, "D_8002431C"] - - [0x80024360, "D_80024320"] - - [0x80024364, "taskgrab_ramdump_num"] - - [0x80024370, "music_unused"] - - [0x80024374, "music1_track_num"] - - [0x80024378, "music1len"] - - [0x8002437c, "music2_track_num"] - - [0x80024380, "music2len"] - - [0x80024384, "music3_track_num"] - - [0x80024388, "music3len"] - - [0x8002438c, "music1_playing"] - - [0x80024390, "music2_playing"] - - [0x80024394, "music3_playing"] - - [0x80024398, "music_tempo_array"] - - [0x80024420, "sfx_unused"] - - [0x80024424, "D_800243E4"] - - [0x80024428, "D_800243E8"] - - [0x8002442c, "D_800243EC"] - - [0x80024430, "D_800243F0"] - - [0x80024434, "D_800243F4"] - - [0x80024438, "bootswitch_sound"] - - [0x8002443c, "F32_800243FC"] - - [0x80024440, "ptr_memp_c_debug_debug_notice_list"] - - [0x80024444, "needmemallocation"] - - [0x80024454, "D_80024414"] - - [0x80024458, "D_80024418"] - - [0x8002445c, "D_8002441C"] - - [0x80024460, "D_80024420"] - - [0x80024464, "D_80024424"] - - [0x80024468, "D_80024428"] - - [0x8002446c, "D_8002442C"] - - [0x80024470, "D_80024430"] - - [0x80024474, "D_80024434"] - - [0x80024478, "D_80024438"] - - [0x8002447c, "D_8002443C"] - - [0x80024480, "D_80024440"] - - [0x80024484, "D_80024444"] - - [0x80024488, "D_80024448"] - - [0x8002448c, "D_8002444C"] - - [0x80024490, "ptr_mema_c_debug_notice_list"] - - [0x800244a0, "randseed"] - - [0x800244b0, "strstr_numstings"] - - [0x800244b4, "strstr_ptrcurrent_string"] - - [0x800244b8, "D_80024478"] - - [0x80024540, "ptr_vi_c_debug_debug_notice_list"] - - [0x80024558, "enddl_80024518"] - - [0x80024560, "image_resource"] - - [0x80024fe0, "debug_menu_x_pos_offset"] - - [0x80024fe4, "debug_menu_y_pos_offset"] - - [0x80024fe8, "debug_menu_x_text_pos"] - - [0x80024fec, "debug_menu_y_text_pos"] - - [0x80024ff0, "stdout_display_list"] - - [0x80025070, "stdout_debug_menu_screen_buffer"] - - [0x80026650, "stdout_primary_color_table"] - - [0x80026750, "stdout_environment_color_table"] - - [0x80026850, "string_formatting"] - - [0x800268d8, "end_displaylist_command"] - - [0x800268e0, "blank_C0_command"] - - [0x800268e8, "stdout_primary_color"] - - [0x800268ec, "debug_text_color"] - - [0x800268f0, "debug_text_bg_color"] - - [0x800268f4, "speedgraph_color"] - - [0x800268f8, "D_800268B8"] - - [0x80026900, "D_800268C0"] - - [0x80026904, "ptr_current_point_in_controller_input_index"] - - [0x80026908, "D_800268C8"] - - [0x8002690c, "D_800268CC"] - - [0x80026910, "num_controller_plugged_in_flags"] - - [0x80026914, "num_controller_plugged_in_flags_0"] - - [0x80026918, "controller_1_rumble_inserted"] - - [0x8002691c, "controller_2_rumble_inserted"] - - [0x80026920, "controller_3_rumble_inserted"] - - [0x80026924, "controller_4_rumble_inserted"] - - [0x80026928, "controller_1_rumble_state"] - - [0x8002692c, "controller_2_rumble_state"] - - [0x80026930, "controller_3_rumble_state"] - - [0x80026934, "controller_4_rumble_state"] - - [0x80026938, "controller_1_rumble_duration"] - - [0x8002693c, "controller_2_rumble_duration"] - - [0x80026940, "controller_3_rumble_duration"] - - [0x80026944, "controller_4_rumble_duration"] - - [0x80026948, "controller_1_rumble_pulse"] - - [0x8002694c, "controller_2_rumble_pulse"] - - [0x80026950, "controller_3_rumble_pulse"] - - [0x80026954, "controller_4_rumble_pulse"] - - [0x80026958, "D_80026918"] - - [0x8002695c, "D_8002691C"] - - [0x80026960, "D_80026920"] - - [0x80026964, "disable_all_rumble"] - - [0x80026968, "ptr_to_tlb_ramrom_record"] - - [0x8002696c, "D_8002692C"] - - [0x80026970, "pl1_controller_failure_lr"] - - [0x80026974, "pl2_controller_failure_lr"] - - [0x80026978, "pl3_controller_failure_lr"] - - [0x8002697c, "pl4_controller_failure_lr"] - - [0x80026980, "pl1_controller_failure_ud"] - - [0x80026984, "pl2_controller_failure_ud"] - - [0x80026988, "pl3_controller_failure_ud"] - - [0x8002698c, "pl4_controller_failure_ud"] - - [0x80026990, "pl1_controller_failure_held"] - - [0x80026994, "pl2_controller_failure_held"] - - [0x80026998, "pl3_controller_failure_held"] - - [0x8002699c, "pl4_controller_failure_held"] - - [0x800269a0, "pl1_controller_failure_pressed"] - - [0x800269a4, "pl2_controller_failure_pressed"] - - [0x800269a8, "pl3_controller_failure_pressed"] - - [0x800269ac, "pl4_controller_failure_pressed"] - - [0x800269b0, "D_80026970"] - - [0x800269c0, "osClockRate"] - - [0x800269c8, "__osShutdown"] - - [0x800269cc, "__OSGlobalIntMask"] - - [0x800269d0, "osDiskExist"] - - [0x800269e0, "__osViDevMgr"] - - [0x800269e4, "D_800269A4"] - - [0x800269e8, "D_800269A8"] - - [0x800269ec, "D_800269AC"] - - [0x800269f0, "D_800269B0"] - - [0x800269f4, "D_800269B4"] - - [0x800269f8, "D_800269B8"] - - [0x80026a00, "osViModeTable_osViModeNtscLpn1"] - - [0x80026a50, "osViModeTable_osViModeNtscLpf1"] - - [0x80026aa0, "osViModeTable_osViModeNtscLan1"] - - [0x80026af0, "osViModeTable_osViModeNtscLaf1"] - - [0x80026b40, "osViModeTable_osViModeNtscLpn2"] - - [0x80026b90, "osViModeTable_osViModeNtscLpf2"] - - [0x80026be0, "osViModeTable_osViModeNtscLan2"] - - [0x80026c30, "osViModeTable_osViModeNtscLaf2"] - - [0x80026c80, "osViModeTable_osViModeNtscHpn1"] - - [0x80026cd0, "osViModeTable_osViModeNtscHpf1"] - - [0x80026d20, "osViModeTable_osViModeNtscHan1"] - - [0x80026d70, "osViModeTable_osViModeNtscHaf1"] - - [0x80026dc0, "osViModeTable_osViModeNtscHpn2"] - - [0x80026e10, "osViModeTable_osViModeNtscHpf2"] - - [0x80026e60, "osViModeTable_osViModePalLpn1"] - - [0x80026eb0, "osViModeTable_osViModePalLpf1"] - - [0x80026f00, "osViModeTable_osViModePalLan1"] - - [0x80026f50, "osViModeTable_osViModePalLaf1"] - - [0x80026fa0, "osViModeTable_osViModePalLpn2"] - - [0x80026ff0, "osViModeTable_osViModePalLpf2"] - - [0x80027040, "osViModeTable_osViModePalLan2"] - - [0x80027090, "osViModeTable_osViModePalLaf2"] - - [0x800270e0, "osViModeTable_osViModePalHpn1"] - - [0x80027130, "osViModeTable_osViModePalHpf1"] - - [0x80027180, "osViModeTable_osViModePalHan1"] - - [0x800271d0, "osViModeTable_osViModePalHaf1"] - - [0x80027220, "osViModeTable_osViModePalHpn2"] - - [0x80027270, "osViModeTable_osViModePalHpf2"] - - [0x800272c0, "osViModeTable_osViModeMpalLpn1"] - - [0x80027310, "osViModeTable_osViModeMpalLpf1"] - - [0x80027360, "osViModeTable_osViModeMpalLan1"] - - [0x800273b0, "osViModeTable_osViModeMpalLaf1"] - - [0x80027400, "osViModeTable_osViModeMpalLpn2"] - - [0x80027450, "osViModeTable_osViModeMpalLpf2"] - - [0x800274a0, "osViModeTable_osViModeMpalLan2"] - - [0x800274f0, "osViModeTable_osViModeMpalLaf2"] - - [0x80027540, "osViModeTable_osViModeMpalHpn1"] - - [0x80027590, "osViModeTable_osViModeMpalHpf1"] - - [0x800275e0, "osViModeTable_osViModeMpalHan1"] - - [0x80027630, "osViModeTable_osViModeMpalHaf1"] - - [0x80027680, "osViModeTable_osViModeMpalHpn2"] - - [0x800276d0, "osViModeTable_osViModeMpalHpf2"] - - [0x80027720, "alGlobals"] - - [0x80027730, "B_800276F0"] - - [0x80027740, "__osHwIntTable"] - - [0x80027760, "__osThreadTail"] - - [0x80027768, "__osRunQueue"] - - [0x8002776c, "__osActiveQueue"] - - [0x80027770, "__osRunningThread"] - - [0x80027774, "__osFaultedThread"] - - [0x80027780, "spaces"] - - [0x800277a4, "zeros"] - - [0x800277d0, "__osPiDevMgr.active"] - - [0x800277d4, "__osPiDevMgr.thread"] - - [0x800277d8, "__osPiDevMgr.cmdQueue"] - - [0x800277dc, "__osPiDevMgr.evtQueue"] - - [0x800277e0, "__osPiDevMgr.acsQueue"] - - [0x800277e4, "__osPiDevMgr.dma"] - - [0x800277e8, "__osPiDevMgr.edma"] - - [0x800277ec, "__osPiTable"] - - [0x800277f0, "__osContinitialized"] - - [0x80027800, "__osSiAccessQueueEnabled"] - - [0x80027810, "sin_table"] - - [0x80028010, "__osTimerList"] - - [0x80028020, "vi"] - - [0x80028050, "vi_buffer_next"] - - [0x80028080, "__osViCurr"] - - [0x80028084, "__osViNext"] - - [0x80028088, "copy_osTvType"] - - [0x8002808c, "osViClock"] - - [0x80028090, "SMALLROOM_PARAMS"] - - [0x800280f8, "BIGROOM_PARAMS"] - - [0x80028180, "ECHO_PARAMS"] - - [0x800281a8, "CHORUS_PARAMS"] - - [0x800281d0, "FLANGE_PARAMS"] - - [0x800281f8, "NULL_PARAMS"] - - [0x80028220, "eqpower"] - - [0x80028320, "__osPiAccessQueueEnabled"] - - [0x80028330, "alowercase_hex_char"] - - [0x80028344, "auppercase_hex_char"] - - [0x80028360, "osViModeNtscLan1"] - - [0x800283b0, "osViModePalLan1"] - - [0x80028410, "aBoot"] - - [0x80028418, "aRmon"] - - [0x80028420, "aIdle"] - - [0x80028428, "aShed"] - - [0x80028430, "aMain"] - - [0x80028438, "aAudi"] - - [0x80028440, "jpt_80028400"] - - [0x80028460, "aUtz2_0f"] - - [0x80028470, "aRsp2_0f"] - - [0x80028480, "aTex2_0f"] - - [0x8002848c, "a2dHz"] - - [0x80028494, "a2dFrames"] - - [0x800284a0, "a2d"] - - [0x800284a8, "asc_D_80028468"] - - [0x800284b0, "aIL0"] - - [0x800284c0, "widths_80028480"] - - [0x800284c8, "heights_80028488"] - - [0x800284d0, "aGrab_D_jpeg_1"] - - [0x800284e0, "aGrab_D_temp_uix"] - - [0x800284f4, "aUix2pixGrab_D_temp_uix"] - - [0x80028510, "aFromaliasGrab_D_temp_pixGrab_D_tem"] - - [0x8002853c, "aImgcopyFjfifGrab_D_temp_rgbGrab_D_"] - - [0x8002856c, "aRmGrab_D_temp_uixGrab_D_temp_pixGr"] - - [0x800285a4, "aImgviewGrab_D_jpeg"] - - [0x800285bc, "aGrab_D_jpeg"] - - [0x800285cc, "aGrab_D_temp_uix_0"] - - [0x800285e0, "aUix2pixXsDGrab_D_temp_uix"] - - [0x80028600, "aFromaliasGrab_D_temp_pixGrab_D_t_0"] - - [0x8002862c, "::aImgcopyFjfifGrab_D_temp_rgbGrab(void)"] - - [0x8002865c, "aRmGrab_D_temp_uixGrab_D_temp_pix_0"] - - [0x80028694, "aImgviewGrab_D_jpeg_0"] - - [0x800286ac, "aGrab_D_rgb"] - - [0x800286b8, "aGrab_D_temp_uix_1"] - - [0x800286cc, "aUix2pixGrab_D_temp_uix_0"] - - [0x800286e8, "aFromaliasGrab_D_temp_pixGrab_D_rgb"] - - [0x80028710, "aRmGrab_D_temp_uixGrab_D_temp_pix"] - - [0x80028738, "aImgviewGrab_D_rgb"] - - [0x8002874c, "aGrab_D_rgb_0"] - - [0x80028758, "aGrab_D_temp_uix_2"] - - [0x8002876c, "aUix2pixXsDGrab_D_temp_uix_0"] - - [0x8002878c, "aFromaliasGrab_D_temp_pixGrab_D_r_0"] - - [0x800287b4, "aRmGrab_D_temp_uixGrab_D_temp_pix_1"] - - [0x800287dc, "aImgviewGrab_D_rgb_0"] - - [0x80029144, "::aLevel(void)"] - - [0x8002914c, "aLevel__1"] - - [0x80029154, "aHard"] - - [0x8002915c, "aHard_1"] - - [0x80029164, "aHard_2"] - - [0x8002916c, "aMa"] - - [0x80029170, "aMa_0"] - - [0x80029174, "aU64_taskgrab_D_core"] - - [0x800291a0, "jpt_80029160"] - - [0x800291f0, "aMf"] - - [0x800291f4, "aMf_0"] - - [0x800291f8, "aMl"] - - [0x800291fc, "aMl_0"] - - [0x80029200, "aMe"] - - [0x80029204, "aMe_0"] - - [0x80029220, "aD_3"] - - [0x80029224, "a___"] - - [0x80029228, "aD_5"] - - [0x80029230, "str_empty"] - - [0x80029234, "aD_6"] - - [0x80029238, "aS_2"] - - [0x8002923c, "aJ"] - - [0x800293d0, "aJoy_c_debug"] - - [0x800293e0, "__osRcpImTable"] - - [0x80029460, "F64_80029420"] - - [0x80029468, "F64_80029428"] - - [0x80029470, "F64_80029430"] - - [0x80029480, "__osIntOffTable"] - - [0x800294a0, "__osIntTable"] - - [0x800294d0, "audio_related_jump_table_0"] - - [0x80029654, "audio_related_jump_table_1"] - - [0x800296b4, "audio_related_jump_table_2"] - - [0x80029704, "F32_800296C4"] - - [0x80029710, "F64_800296D0"] - - [0x80029718, "F64_800296D8"] - - [0x80029720, "F32_800296E0"] - - [0x80029724, "F32_800296E4"] - - [0x80029730, "aHll"] - - [0x80029734, "printf_symbols"] - - [0x8002973c, "byteshiftleft_lookup"] - - [0x80029754, "jpt_80029714"] - - [0x80029830, "F32_800297F0"] - - [0x80029840, "F64_80029800"] - - [0x80029850, "F32_80029810"] - - [0x80029860, "D_80029820"] - - [0x80029868, "D_80029828"] - - [0x80029870, "jpt_80029830"] - - [0x80029888, "F64_80029848"] - - [0x80029890, "jpt_80029850"] - - [0x800298b8, "F64_80029878"] - - [0x800298c0, "F64_80029880"] - - [0x800298d0, "aAssertionFaultSSLineD"] - - [0x800298fc, "aSamples0"] - - [0x8002990c, "aEnv_c"] - - [0x80029914, "aAssertionFaultSSLineD_0"] - - [0x80029940, "aSamplesAl_max_rsp_samples"] - - [0x80029960, "aEnv_c_0"] - - [0x80029968, "aAssertionFaultSSLineD_1"] - - [0x80029994, "aSource"] - - [0x8002999c, "aEnv_c_1"] - - [0x800299a4, "F32_80029964"] - - [0x800299a8, "jpt_80029968"] - - [0x800299f0, "F64_800299B0"] - - [0x800299f8, "F64_800299B8"] - - [0x80029a00, "F64_800299C0"] - - [0x80029a08, "F64_800299C8"] - - [0x80029a10, "F64_800299D0"] - - [0x80029a18, "F64_800299D8"] - - [0x80029a20, "F64_800299E0"] - - [0x80029a28, "F64_800299E8"] - - [0x80029a30, "F64_800299F0"] - - [0x80029a40, "F64_80029A00"] - - [0x80029a48, "F64_80029A08"] - - [0x80029a50, "F64_80029A10"] - - [0x80029a58, "F64_80029A18"] - - [0x80029a60, "F64_80029A20"] - - [0x80029a68, "F64_80029A28"] - - [0x80029a70, "F64_80029A30"] - - [0x80029a78, "F64_80029A38"] - - [0x80029a80, "F64_80029A40"] - - [0x80029a90, "jpt_80029A50"] - - [0x80029c14, "jpt_80029BD4"] - - [0x80029c68, "jpt_80029C28"] - - [0x80029cc8, "F32_80029C88"] - - [0x80029cd0, "digits"] - - [0x80029d18, "aNan"] - - [0x80029d1c, "aInf"] - - [0x80029d20, "asc_D_80029CE0"] - - [0x80029d28, "F64_80029CE8"] - - [0x80029d30, "jpt_80029CF0"] - - [0x80029d50, "jpt_80029D10"] - - [0x80029d70, "F64_80029D30"] - - [0x80029d78, "F64_80029D38"] - - [0x80029d80, "F64_80029D40"] - - [0x80029d90, "F64_80029D50"] - - [0x80029d98, "F64_80029D58"] - - [0x80029da0, "D_80029D60"] - - [0x80029dac, "animation_table_ptrs1"] - - [0x8002a08c, "animation_table_ptrs2"] - - [0x8002a0a0, "global_action_block_temp_buffer"] - - [0x8002a27c, "weapon_models_for_weapon_load"] - - [0x8002a2a0, "ptr_monitorimageobjectanimationcontroller"] - - [0x8002a314, "unknown_object_animation_controller"] - - [0x8002a388, "taser_object_animation_controller"] - - [0x8002a3fc, "unused_8002a3bc"] - - [0x8002a400, "scale_1_0_item_related"] - - [0x8002a410, "BONDdata_item_control_blocks_initdata"] - - [0x8002a7c0, "D_8002A780"] - - [0x8002a7c4, "D_8002A784"] - - [0x8002a7c8, "D_8002A788"] - - [0x8002a7d0, "D_8002A790"] - - [0x8002a810, "D_8002A7D0"] - - [0x8002a814, "D_8002A7D4"] - - [0x8002a818, "D_8002A7D8"] - - [0x8002a81c, "D_8002A7DC"] - - [0x8002a820, "D_8002A7E0"] - - [0x8002a824, "D_8002A7E4"] - - [0x8002a828, "D_8002A7E8"] - - [0x8002a82c, "D_8002A7EC"] - - [0x8002a830, "D_8002A7F0"] - - [0x8002a834, "D_8002A7F4"] - - [0x8002a838, "D_8002A7F8"] - - [0x8002a83c, "D_8002A7FC"] - - [0x8002a840, "D_8002A800"] - - [0x8002a844, "D_8002A804"] - - [0x8002a848, "D_8002A808"] - - [0x8002a84c, "D_8002A80C"] - - [0x8002a850, "D_8002A810"] - - [0x8002a854, "D_8002A814"] - - [0x8002a858, "D_8002A818"] - - [0x8002a85c, "D_8002A81C"] - - [0x8002a860, "D_8002A820"] - - [0x8002a864, "D_8002A824"] - - [0x8002a868, "D_8002A828"] - - [0x8002a86c, "D_8002A82C"] - - [0x8002a870, "D_8002A830"] - - [0x8002a874, "D_8002A834"] - - [0x8002a878, "D_8002A838"] - - [0x8002a87c, "D_8002A83C"] - - [0x8002a880, "D_8002A840"] - - [0x8002a884, "D_8002A844"] - - [0x8002a888, "D_8002A848"] - - [0x8002a88c, "D_8002A84C"] - - [0x8002a890, "D_8002A850"] - - [0x8002a894, "D_8002A854"] - - [0x8002a898, "D_8002A858"] - - [0x8002a89c, "D_8002A85C"] - - [0x8002a8a0, "D_8002A860"] - - [0x8002a8a4, "D_8002A864"] - - [0x8002a8a8, "D_8002A868"] - - [0x8002a8ac, "D_8002A86C"] - - [0x8002a8b0, "D_8002A870"] - - [0x8002a8b4, "D_8002A874"] - - [0x8002a8b8, "D_8002A878"] - - [0x8002a8bc, "D_8002A87C"] - - [0x8002a8c0, "D_8002A880"] - - [0x8002a8c4, "D_8002A884"] - - [0x8002a8c8, "D_8002A888"] - - [0x8002a8cc, "D_8002A88C"] - - [0x8002a8d0, "D_8002A890"] - - [0x8002a8d4, "D_8002A894"] - - [0x8002a8d8, "D_8002A898"] - - [0x8002a8dc, "D_8002A89C"] - - [0x8002a8e0, "intro_eye_counter"] - - [0x8002a8e4, "intro_state_blood_animation"] - - [0x8002a8e8, "D_8002A8A8"] - - [0x8002a8ec, "D_8002A8AC"] - - [0x8002a8f0, "D_8002A8B0"] - - [0x8002a900, "current_menu"] - - [0x8002a904, "menu_update"] - - [0x8002a908, "maybe_prev_menu"] - - [0x8002a90c, "menu_timer"] - - [0x8002a910, "tab_1_selected"] - - [0x8002a914, "tab_2_selected"] - - [0x8002a918, "tab_3_selected"] - - [0x8002a91c, "tab_1_highlight"] - - [0x8002a920, "tab_2_highlight"] - - [0x8002a924, "tab_3_highlight"] - - [0x8002a928, "selected_folder_num"] - - [0x8002a92c, "selected_folder_num_copy"] - - [0x8002a930, "gamemode"] - - [0x8002a934, "selected_stage"] - - [0x8002a938, "briefingpage"] - - [0x8002a93c, "selected_difficulty"] - - [0x8002a940, "append_cheat_sp"] - - [0x8002a944, "append_cheat_mp"] - - [0x8002a948, "cursor_h_pos"] - - [0x8002a94c, "cursor_v_pos"] - - [0x8002a950, "final_menu_briefing_page"] - - [0x8002a954, "current_menu_briefing_page"] - - [0x8002a958, "folder_selection_screen_option_icon"] - - [0x8002a95c, "folder_selected_for_deletion"] - - [0x8002a960, "folder_selected_for_deletion_choice"] - - [0x8002a964, "mission_failed_or_aborted"] - - [0x8002a968, "mission_kia_flag"] - - [0x8002a96c, "is_first_time_on_legal_screen"] - - [0x8002a970, "is_first_time_on_main_menu"] - - [0x8002a974, "prev_keypresses"] - - [0x8002a978, "D_8002A938"] - - [0x8002a97c, "maybe_is_in_menu"] - - [0x8002a980, "screen_size"] - - [0x8002a984, "spectrum_related_flag"] - - [0x8002a988, "is_emulating_spectrum"] - - [0x8002a98c, "is_cheat_menu_available"] - - [0x8002a990, "ptr_logo_and_walletbond_DL"] - - [0x8002a994, "ptr_menu_videobuffer"] - - [0x8002a998, "something_legalscreen_constructor"] - - [0x8002a99c, "ptr_folder_object_instance"] - - [0x8002a9a0, "set0_never_used"] - - [0x8002a9a4, "set0_never_used_0"] - - [0x8002a9a8, "D_8002A968"] - - [0x8002a9ac, "D_8002A96C"] - - [0x8002a9b0, "D_8002A970"] - - [0x8002a9b4, "D_8002A974"] - - [0x8002a9b8, "D_8002A978"] - - [0x8002a9bc, "D_8002A97C"] - - [0x8002a9c0, "D_8002A980"] - - [0x8002a9c4, "D_8002A984"] - - [0x8002a9c8, "D_8002A988"] - - [0x8002a9cc, "D_8002A98C"] - - [0x8002a9d0, "D_8002A990"] - - [0x8002a9d4, "D_8002A994"] - - [0x8002a9d8, "D_8002A998"] - - [0x8002a9dc, "D_8002A99C"] - - [0x8002a9e0, "slider_007_mode_reaction"] - - [0x8002a9e4, "slider_007_mode_health"] - - [0x8002a9e8, "slider_007_mode_accuracy"] - - [0x8002a9ec, "slider_007_mode_damage"] - - [0x8002a9f0, "D_8002A9B0"] - - [0x8002a9f4, "D_8002A9B4"] - - [0x8002a9f8, "D_8002A9B8"] - - [0x8002a9fc, "D_8002A9BC"] - - [0x8002aa00, "D_8002A9C0"] - - [0x8002aa04, "D_8002A9C4"] - - [0x8002aa08, "D_8002A9C8"] - - [0x8002aa0c, "D_8002A9CC"] - - [0x8002aafc, "D_8002AABC"] - - [0x8002ab00, "D_8002AAC0"] - - [0x8002ab04, "D_8002AAC4"] - - [0x8002ab08, "D_8002AAC8"] - - [0x8002ab0c, "D_8002AACC"] - - [0x8002ab10, "D_8002AAD0"] - - [0x8002ab14, "D_8002AAD4"] - - [0x8002ab18, "D_8002AAD8"] - - [0x8002ab1c, "D_8002AADC"] - - [0x8002ab20, "D_8002AAE0"] - - [0x8002ab24, "D_8002AAE4"] - - [0x8002ab28, "D_8002AAE8"] - - [0x8002ab2c, "D_8002AAEC"] - - [0x8002ab30, "D_8002AAF0"] - - [0x8002ab34, "D_8002AAF4"] - - [0x8002ab38, "D_8002AAF8"] - - [0x8002ab3c, "D_8002AAFC"] - - [0x8002ab40, "D_8002AB00"] - - [0x8002ab44, "D_8002AB04"] - - [0x8002ab48, "D_8002AB08"] - - [0x8002ab4c, "D_8002AB0C"] - - [0x8002ab50, "D_8002AB10"] - - [0x8002ab54, "D_8002AB14"] - - [0x8002ab58, "D_8002AB18"] - - [0x8002ab5c, "D_8002AB1C"] - - [0x8002ab60, "D_8002AB20"] - - [0x8002ab64, "D_8002AB24"] - - [0x8002ab68, "D_8002AB28"] - - [0x8002ab6c, "D_8002AB2C"] - - [0x8002ab70, "D_8002AB30"] - - [0x8002ab74, "D_8002AB34"] - - [0x8002ab78, "D_8002AB38"] - - [0x8002ab7c, "D_8002AB3C"] - - [0x8002ab80, "D_8002AB40"] - - [0x8002ab84, "D_8002AB44"] - - [0x8002ab88, "D_8002AB48"] - - [0x8002ab8c, "D_8002AB4C"] - - [0x8002ab90, "D_8002AB50"] - - [0x8002ab94, "D_8002AB54"] - - [0x8002ab98, "D_8002AB58"] - - [0x8002ab9c, "D_8002AB5C"] - - [0x8002aba0, "D_8002AB60"] - - [0x8002aba4, "D_8002AB64"] - - [0x8002aba8, "D_8002AB68"] - - [0x8002abac, "D_8002AB6C"] - - [0x8002abb0, "D_8002AB70"] - - [0x8002abb4, "D_8002AB74"] - - [0x8002abb8, "D_8002AB78"] - - [0x8002abbc, "D_8002AB7C"] - - [0x8002abc0, "D_8002AB80"] - - [0x8002abc4, "D_8002AB84"] - - [0x8002abc8, "D_8002AB88"] - - [0x8002abcc, "D_8002AB8C"] - - [0x8002abd0, "D_8002AB90"] - - [0x8002abd4, "D_8002AB94"] - - [0x8002abd8, "D_8002AB98"] - - [0x8002abdc, "D_8002AB9C"] - - [0x8002abe0, "D_8002ABA0"] - - [0x8002abe4, "D_8002ABA4"] - - [0x8002abe8, "D_8002ABA8"] - - [0x8002abec, "D_8002ABAC"] - - [0x8002abf0, "D_8002ABB0"] - - [0x8002abf4, "D_8002ABB4"] - - [0x8002abf8, "D_8002ABB8"] - - [0x8002abfc, "D_8002ABBC"] - - [0x8002ac00, "D_8002ABC0"] - - [0x8002ac04, "folder_option_COPY_left_bound"] - - [0x8002ac08, "folder_option_COPY_upper_bound"] - - [0x8002ac0c, "folder_option_COPY_right_bound"] - - [0x8002ac10, "folder_option_COPY_lower_bound"] - - [0x8002ac14, "folder_option_ERASE_left_bound"] - - [0x8002ac18, "folder_option_ERASE_upper_bound"] - - [0x8002ac1c, "folder_option_ERASE_right_bound"] - - [0x8002ac20, "folder_option_ERASE_lower_bound"] - - [0x8002ac24, "mission_folder_setup_entries"] - - [0x8002af6c, "unknown_folderselect_constructor"] - - [0x8002af70, "D_8002AF30"] - - [0x8002af74, "D_8002AF34"] - - [0x8002af78, "unknown_folderselect_constructor_0"] - - [0x8002af7c, "D_8002AF3C"] - - [0x8002af80, "D_8002AF40"] - - [0x8002af84, "unknown_folderselect"] - - [0x8002afc4, "D_8002AF84"] - - [0x8002b000, "D_8002AFC0"] - - [0x8002b004, "D_8002AFC4"] - - [0x8002b008, "D_8002AFC8"] - - [0x8002b00c, "D_8002AFCC"] - - [0x8002b010, "cursor_xpos_table_mission_select"] - - [0x8002b024, "cursor_ypos_table_mission_select"] - - [0x8002b034, "multi_game_lengths"] - - [0x8002b094, "mp_player_counts"] - - [0x8002b0b4, "multi_stage_setups"] - - [0x8002b1d4, "num_chars_selectable_mp"] - - [0x8002b1d8, "mp_chr_setup"] - - [0x8002b4d8, "MP_handicap_table"] - - [0x8002b530, "MP_controller_configuration_table"] - - [0x8002b550, "mp_sight_adjust_table"] - - [0x8002b560, "selected_num_players"] - - [0x8002b564, "player_1_char"] - - [0x8002b568, "player_2_char"] - - [0x8002b56c, "player_3_char"] - - [0x8002b570, "player_4_char"] - - [0x8002b574, "MP_stage_selected"] - - [0x8002b578, "game_length"] - - [0x8002b57c, "aim_sight_adjustment"] - - [0x8002b580, "scenario"] - - [0x8002b584, "unlock_stage_select"] - - [0x8002b588, "unlock_game_length"] - - [0x8002b58c, "unlock_chars"] - - [0x8002b590, "unlock_weapon_select"] - - [0x8002b594, "unlock_handicap"] - - [0x8002b598, "unlock_control_style"] - - [0x8002b59c, "unlock_aim_sight"] - - [0x8002b5a0, "D_8002B560"] - - [0x8002b5a4, "solo_target_time_array"] - - [0x8002b61c, "D_8002B5DC"] - - [0x8002b620, "D_8002B5E0"] - - [0x8002b624, "MP_menu_selected_option"] - - [0x8002b628, "do_not_play_intro_movie"] - - [0x8002b62c, "randomly_selected_intro_animation"] - - [0x8002b630, "intro_animation_count"] - - [0x8002b634, "objinstance"] - - [0x8002b638, "ptrobjinstance"] - - [0x8002b63c, "full_actor_intro"] - - [0x8002b640, "intro_char_table"] - - [0x8002b8fc, "intro_animation_table"] - - [0x8002ba6c, "D_8002BA2C"] - - [0x8002ba70, "D_8002BA30"] - - [0x8002ba74, "D_8002BA34"] - - [0x8002ba78, "random_rifles_in_intro"] - - [0x8002ba90, "random_pistols_in_intro"] - - [0x8002bab8, "D_8002BA78"] - - [0x8002babc, "D_8002BA7C"] - - [0x8002bac0, "D_8002BA80"] - - [0x8002bac4, "D_8002BA84"] - - [0x8002bac8, "D_8002BA88"] - - [0x8002bacc, "D_8002BA8C"] - - [0x8002bad0, "D_8002BA90"] - - [0x8002bad4, "D_8002BA94"] - - [0x8002bad8, "D_8002BA98"] - - [0x8002badc, "D_8002BA9C"] - - [0x8002bae0, "D_8002BAA0"] - - [0x8002bae4, "D_8002BAA4"] - - [0x8002bae8, "D_8002BAA8"] - - [0x8002baec, "D_8002BAAC"] - - [0x8002baf0, "D_8002BAB0"] - - [0x8002baf4, "D_8002BAB4"] - - [0x8002baf8, "D_8002BAB8"] - - [0x8002bafc, "D_8002BABC"] - - [0x8002bb00, "D_8002BAC0"] - - [0x8002bb04, "D_8002BAC4"] - - [0x8002bb08, "D_8002BAC8"] - - [0x8002bb0c, "D_8002BACC"] - - [0x8002bb10, "D_8002BAD0"] - - [0x8002bb14, "D_8002BAD4"] - - [0x8002bb18, "D_8002BAD8"] - - [0x8002bb1c, "D_8002BADC"] - - [0x8002bb20, "D_8002BAE0"] - - [0x8002bb24, "D_8002BAE4"] - - [0x8002bb28, "D_8002BAE8"] - - [0x8002bb2c, "D_8002BAEC"] - - [0x8002bb30, "color_palette_entries_50_percent"] - - [0x8002bb40, "D_8002BB00"] - - [0x8002bb44, "D_8002BB04"] - - [0x8002bb48, "D_8002BB08"] - - [0x8002bb4c, "D_8002BB0C"] - - [0x8002bb50, "D_8002BB10"] - - [0x8002bb54, "D_8002BB14"] - - [0x8002bb58, "D_8002BB18"] - - [0x8002bb5c, "D_8002BB1C"] - - [0x8002bb60, "D_8002BB20"] - - [0x8002bb64, "D_8002BB24"] - - [0x8002bb68, "D_8002BB28"] - - [0x8002bb6c, "D_8002BB2C"] - - [0x8002bb70, "die_blood_image_1"] - - [0x8002c54c, "D_8002C50C"] - - [0x8002c550, "save_selected_bond"] - - [0x8002c560, "D_8002C520"] - - [0x8002c5c0, "D_8002C580"] - - [0x8002c620, "D_8002C5E0"] - - [0x8002c680, "D_8002C640"] - - [0x8002c684, "D_8002C644"] - - [0x8002c688, "flt_8002C648"] - - [0x8002c68c, "dword_8002C64C"] - - [0x8002c690, "dword_8002C650"] - - [0x8002c694, "dword_8002C654"] - - [0x8002c698, "dword_8002C658"] - - [0x8002c69c, "dword_8002C65C"] - - [0x8002c6a0, "D_8002C660"] - - [0x8002c700, "D_8002C6C0"] - - [0x8002c760, "D_8002C720"] - - [0x8002c7c0, "D_8002C780"] - - [0x8002c820, "D_8002C7E0"] - - [0x8002c880, "D_8002C840"] - - [0x8002c8e0, "blank_eeprom"] - - [0x8002c940, "animation_rate"] - - [0x8002c944, "D_8002C904"] - - [0x8002c948, "D_8002C908"] - - [0x8002c94c, "D_8002C90C"] - - [0x8002c950, "D_8002C910"] - - [0x8002c954, "D_8002C914"] - - [0x8002c980, "D_8002C940"] - - [0x8002c9ac, "D_8002C96C"] - - [0x8002c9d8, "D_8002C998"] - - [0x8002ca04, "D_8002C9C4"] - - [0x8002ca30, "D_8002C9F0"] - - [0x8002ca5c, "D_8002CA1C"] - - [0x8002ca88, "D_8002CA48"] - - [0x8002cab4, "D_8002CA74"] - - [0x8002cae0, "D_8002CAA0"] - - [0x8002cb0c, "D_8002CACC"] - - [0x8002cb38, "D_8002CAF8"] - - [0x8002cb64, "D_8002CB24"] - - [0x8002cb90, "D_8002CB50"] - - [0x8002cbbc, "D_8002CB7C"] - - [0x8002cbe8, "D_8002CBA8"] - - [0x8002cc14, "D_8002CBD4"] - - [0x8002cc40, "D_8002CC00"] - - [0x8002cc6c, "D_8002CC2C"] - - [0x8002cc98, "D_8002CC58"] - - [0x8002cc9c, "show_patrols_flag"] - - [0x8002cca0, "player1_guardID"] - - [0x8002cca4, "ptr_guard_data"] - - [0x8002cca8, "num_guards"] - - [0x8002ccac, "D_8002CC6C"] - - [0x8002cce8, "D_8002CCA8"] - - [0x8002ccec, "D_8002CCAC"] - - [0x8002ccf0, "D_8002CCB0"] - - [0x8002ccf4, "D_8002CCB4"] - - [0x8002ccf8, "D_8002CCB8"] - - [0x8002ccfc, "D_8002CCBC"] - - [0x8002cd00, "D_8002CCC0"] - - [0x8002cd38, "D_8002CCF8"] - - [0x8002cd3c, "D_8002CCFC"] - - [0x8002cd40, "num_bodies"] - - [0x8002cd44, "num_male_heads"] - - [0x8002cd48, "num_female_heads"] - - [0x8002cd4c, "list_of_bodies"] - - [0x8002cdf8, "random_male_heads"] - - [0x8002ce60, "random_female_heads"] - - [0x8002ce74, "current_random_body"] - - [0x8002ce78, "current_random_male_head"] - - [0x8002ce7c, "current_random_female_head"] - - [0x8002ce80, "ai_accuracy_modifier"] - - [0x8002ce84, "ai_damage_modifier"] - - [0x8002ce88, "ai_health_modifier"] - - [0x8002ce8c, "ai_reaction_speed"] - - [0x8002ce90, "setting_007_5"] - - [0x8002ce94, "D_8002CE54"] - - [0x8002cf20, "D_8002CEE0"] - - [0x8002cfac, "D_8002CF6C"] - - [0x8002d054, "D_8002D014"] - - [0x8002d0e0, "D_8002D0A0"] - - [0x8002d16c, "D_8002D12C"] - - [0x8002d214, "D_8002D1D4"] - - [0x8002d3f0, "D_8002D3B0"] - - [0x8002d71c, "D_8002D6DC"] - - [0x8002d7a8, "D_8002D768"] - - [0x8002d834, "D_8002D7F4"] - - [0x8002d8c0, "D_8002D880"] - - [0x8002d94c, "D_8002D90C"] - - [0x8002d9d8, "D_8002D998"] - - [0x8002da64, "D_8002DA24"] - - [0x8002dd20, "D_8002DCE0"] - - [0x8002defc, "D_8002DEBC"] - - [0x8002df50, "D_8002DF10"] - - [0x8002dfa4, "D_8002DF64"] - - [0x8002dff8, "D_8002DFB8"] - - [0x8002e068, "D_8002E028"] - - [0x8002e0bc, "D_8002E07C"] - - [0x8002e110, "D_8002E0D0"] - - [0x8002e180, "D_8002E140"] - - [0x8002e27c, "D_8002E23C"] - - [0x8002e340, "D_8002E300"] - - [0x8002e394, "D_8002E354"] - - [0x8002e3e8, "D_8002E3A8"] - - [0x8002e458, "D_8002E418"] - - [0x8002e4ac, "D_8002E46C"] - - [0x8002e500, "D_8002E4C0"] - - [0x8002e570, "D_8002E530"] - - [0x8002e5fc, "D_8002E5BC"] - - [0x8002e688, "D_8002E648"] - - [0x8002e97c, "expl_forward"] - - [0x8002e984, "expl_f_left"] - - [0x8002e988, "expl_f_right"] - - [0x8002e98c, "expl_left"] - - [0x8002e990, "expl_right"] - - [0x8002e994, "expl_back"] - - [0x8002e998, "expl_b_right"] - - [0x8002e99c, "expl_b_left"] - - [0x8002e9a0, "explosion_animation_table"] - - [0x8002e9e0, "rifle_firing_animation_group1"] - - [0x8002ea70, "ptr_rifle_firing_animation_group1"] - - [0x8002ea78, "rifle_firing_animation_group2"] - - [0x8002eb50, "ptr_rifle_firing_animation_group2"] - - [0x8002eb58, "rifle_firing_animation_group5"] - - [0x8002ec30, "ptr_rifle_firing_animation_group5"] - - [0x8002ec38, "rifle_firing_animation_group3"] - - [0x8002ecc8, "ptr_rifle_firing_animation_group3"] - - [0x8002ecd0, "rifle_firing_animation_group4"] - - [0x8002ed60, "ptr_rifle_firing_animation_group4"] - - [0x8002ed68, "ptr_rifle_firing_animation_groups"] - - [0x8002ede8, "pistol_firing_animation_group1"] - - [0x8002ef50, "ptr_pistol_firing_animation_group1"] - - [0x8002ef58, "pistol_firing_animation_group2"] - - [0x8002f030, "ptr_pistol_firing_animation_group2"] - - [0x8002f038, "pistol_firing_animation_group3"] - - [0x8002f1a0, "ptr_pistol_firing_animation_group3"] - - [0x8002f1a8, "pistol_firing_animation_group6"] - - [0x8002f310, "ptr_pistol_firing_animation_group6"] - - [0x8002f318, "pistol_firing_animation_group4"] - - [0x8002f3a8, "ptr_pistol_firing_animation_group4"] - - [0x8002f3b0, "pistol_firing_animation_group5"] - - [0x8002f440, "ptr_pistol_firing_animation_group5"] - - [0x8002f448, "ptr_pistol_firing_animation_groups"] - - [0x8002f4c8, "doubles_firing_animation_group1"] - - [0x8002f558, "ptr_doubles_firing_animation_group1"] - - [0x8002f560, "doubles_firing_animation_group2"] - - [0x8002f638, "ptr_doubles_firing_animation_group2"] - - [0x8002f640, "doubles_firing_animation_group3"] - - [0x8002f718, "ptr_doubles_firing_animation_group3"] - - [0x8002f720, "ptr_doubles_firing_animation_groups"] - - [0x8002f7a0, "crouched_rifle_firing_animation_group1"] - - [0x8002f7e8, "crouched_rifle_firing_animation_groupA"] - - [0x8002f878, "ptr_crouched_rifle_firing_animation_group1"] - - [0x8002f880, "crouched_rifle_firing_animation_group2"] - - [0x8002f910, "ptr_crouched_rifle_firing_animation_group2"] - - [0x8002f918, "crouched_rifle_firing_animation_group3"] - - [0x8002f9a8, "ptr_crouched_rifle_firing_animation_group3"] - - [0x8002f9b0, "ptr_crouched_rifle_firing_animation_groups"] - - [0x8002fa30, "crouched_pistol_firing_animation_group1"] - - [0x8002fb08, "ptr_crouched_pistol_firing_animation_group1"] - - [0x8002fb10, "crouched_pistol_firing_animation_group2"] - - [0x8002fc30, "ptr_crouched_pistol_firing_animation_group2"] - - [0x8002fc38, "crouched_pistol_firing_animation_group3"] - - [0x8002fd10, "ptr_crouched_pistol_firing_animation_group3"] - - [0x8002fd18, "ptr_crouched_pistol_firing_animation_groups"] - - [0x8002fd98, "crouched_doubles_firing_animation_group1"] - - [0x8002fe70, "ptr_crouched_doubles_firing_animation_group1"] - - [0x8002fe78, "crouched_doubles_firing_animation_group2"] - - [0x8002ff50, "ptr_crouched_doubles_firing_animation_group2"] - - [0x8002ff58, "crouched_doubles_firing_animation_group3"] - - [0x80030030, "ptr_crouched_doubles_firing_animation_group3"] - - [0x80030038, "ptr_crouched_doubles_firing_animation_groups"] - - [0x800300b8, "D_80030078"] - - [0x80030100, "D_800300C0"] - - [0x80030148, "D_80030108"] - - [0x80030190, "D_80030150"] - - [0x800301d8, "D_80030198"] - - [0x80030220, "D_800301E0"] - - [0x80030268, "D_80030228"] - - [0x800302b0, "D_80030270"] - - [0x800302f8, "D_800302B8"] - - [0x80030340, "D_80030300"] - - [0x80030388, "D_80030348"] - - [0x800303d0, "D_80030390"] - - [0x80030418, "D_800303D8"] - - [0x80030460, "D_80030420"] - - [0x800304a8, "D_80030468"] - - [0x800304f0, "D_800304B0"] - - [0x80030538, "D_800304F8"] - - [0x80030580, "D_80030540"] - - [0x800305c8, "D_80030588"] - - [0x80030610, "D_800305D0"] - - [0x80030658, "D_80030618"] - - [0x800306a0, "D_80030660"] - - [0x800306e8, "D_800306A8"] - - [0x80030730, "D_800306F0"] - - [0x80030778, "D_80030738"] - - [0x800307c0, "D_80030780"] - - [0x80030808, "D_800307C8"] - - [0x80030850, "D_80030810"] - - [0x80030898, "D_80030858"] - - [0x800308e0, "D_800308A0"] - - [0x80030928, "D_800308E8"] - - [0x80030970, "D_80030930"] - - [0x800309b8, "objectiveregisters1"] - - [0x800309bc, "objectiveregisters2"] - - [0x800309c0, "objectiveregisters3"] - - [0x800309c4, "D_80030984"] - - [0x800309c8, "D_80030988"] - - [0x800309cc, "D_8003098C"] - - [0x800309d0, "D_80030990"] - - [0x800309d4, "D_80030994"] - - [0x800309d8, "D_80030998"] - - [0x800309dc, "D_8003099C"] - - [0x800309e0, "D_800309A0"] - - [0x800309e4, "D_800309A4"] - - [0x800309e8, "D_800309A8"] - - [0x800309ec, "D_800309AC"] - - [0x800309f0, "D_800309B0"] - - [0x800309f4, "D_800309B4"] - - [0x800309f8, "D_800309B8"] - - [0x800309fc, "D_800309BC"] - - [0x80030a00, "D_800309C0"] - - [0x80030a04, "D_800309C4"] - - [0x80030a08, "D_800309C8"] - - [0x80030a0c, "D_800309CC"] - - [0x80030a10, "D_800309D0"] - - [0x80030a14, "D_800309D4"] - - [0x80030a18, "D_800309D8"] - - [0x80030a1c, "D_800309DC"] - - [0x80030a20, "D_800309E0"] - - [0x80030a24, "D_800309E4"] - - [0x80030a28, "D_800309E8"] - - [0x80030a2c, "D_800309EC"] - - [0x80030a30, "D_800309F0"] - - [0x80030a34, "D_800309F4"] - - [0x80030a38, "male_guard_yelps"] - - [0x80030a6c, "female_guard_yelps"] - - [0x80030a74, "male_guard_yelp_counter"] - - [0x80030a78, "female_guard_yelp_counter"] - - [0x80030a7c, "metal_ricochet_SFX"] - - [0x80030a84, "D_80030A44"] - - [0x80030a88, "D_80030A48"] - - [0x80030a8c, "D_80030A4C"] - - [0x80030a90, "body_hit_SFX"] - - [0x80030aa8, "D_80030A68"] - - [0x80030ab0, "D_80030A70"] - - [0x80030ab4, "D_80030A74"] - - [0x80030ab8, "D_80030A78"] - - [0x80030abc, "D_80030A7C"] - - [0x80030ac0, "D_80030A80"] - - [0x80030ac4, "D_80030A84"] - - [0x80030ac8, "D_80030A88"] - - [0x80030acc, "D_80030A8C"] - - [0x80030ad0, "D_80030A90"] - - [0x80030ad4, "D_80030A94"] - - [0x80030ad8, "D_80030A98"] - - [0x80030adc, "D_80030A9C"] - - [0x80030ae0, "ptr_obj_pos_list_current_entry"] - - [0x80030ae4, "ptr_obj_pos_list_first_entry"] - - [0x80030ae8, "ptr_obj_pos_list_final_entry"] - - [0x80030aec, "difficulty"] - - [0x80030af0, "D_80030AB0"] - - [0x80030af4, "D_80030AB4"] - - [0x80030af8, "D_80030AB8"] - - [0x80030afc, "D_80030ABC"] - - [0x80030b00, "alarm_timer"] - - [0x80030b04, "ptr_alarm_sfx"] - - [0x80030b08, "toxic_gas_sound_timer"] - - [0x80030b0c, "activate_gas_sound_timer"] - - [0x80030b10, "D_80030AD0"] - - [0x80030b14, "D_80030AD4"] - - [0x80030b18, "D_80030AD8"] - - [0x80030b1c, "D_80030ADC"] - - [0x80030b20, "D_80030AE0"] - - [0x80030b24, "ptr_gas_sound"] - - [0x80030b28, "clock_drawn_flag"] - - [0x80030b2c, "clock_enable"] - - [0x80030b30, "clock_time"] - - [0x80030b34, "D_80030AF4"] - - [0x80030b38, "D_80030AF8"] - - [0x80030b3c, "D_80030AFC"] - - [0x80030b40, "D_80030B00"] - - [0x80030b44, "D_80030B04"] - - [0x80030b48, "D_80030B08"] - - [0x80030b4c, "D_80030B0C"] - - [0x80030b50, "bodypartshot"] - - [0x80030b54, "D_80030B14"] - - [0x80030b58, "D_80030B18"] - - [0x80030b5c, "D_80030B1C"] - - [0x80030b60, "D_80030B20"] - - [0x80030b64, "D_80030B24"] - - [0x80030b68, "solo_ammo_multiplier"] - - [0x80030b6c, "Throwing_knife_SFX"] - - [0x80030b74, "D_80030B34"] - - [0x80030bb4, "monitor_animation_microcode"] - - [0x80030c40, "D_80030C00"] - - [0x80030e64, "D_80030E24"] - - [0x80030f08, "D_80030EC8"] - - [0x80030f84, "D_80030F44"] - - [0x80031058, "D_80031018"] - - [0x800310b4, "D_80031074"] - - [0x80031130, "D_800310F0"] - - [0x800311cc, "D_8003118C"] - - [0x8003125c, "D_8003121C"] - - [0x80031288, "D_80031248"] - - [0x800312b4, "D_80031274"] - - [0x800312e0, "D_800312A0"] - - [0x800312f4, "D_800312B4"] - - [0x80031308, "D_800312C8"] - - [0x80031334, "D_800312F4"] - - [0x80031350, "D_80031310"] - - [0x800313a0, "D_80031360"] - - [0x800314d0, "D_80031490"] - - [0x80031538, "D_800314F8"] - - [0x800315ac, "D_8003156C"] - - [0x8003160c, "D_800315CC"] - - [0x80031888, "D_80031848"] - - [0x800318d8, "D_80031898"] - - [0x800318f8, "D_800318B8"] - - [0x80031958, "D_80031918"] - - [0x8003195c, "D_8003191C"] - - [0x8003198c, "D_8003194C"] - - [0x80031990, "D_80031950"] - - [0x80031a08, "D_800319C8"] - - [0x80031a14, "D_800319D4"] - - [0x80031a30, "D_800319F0"] - - [0x80031a4c, "D_80031A0C"] - - [0x80031a68, "D_80031A28"] - - [0x80031a84, "D_80031A44"] - - [0x80031aa0, "D_80031A60"] - - [0x80031abc, "D_80031A7C"] - - [0x80031ad8, "D_80031A98"] - - [0x80031af4, "D_80031AB4"] - - [0x80031b10, "D_80031AD0"] - - [0x80031b2c, "D_80031AEC"] - - [0x80031b50, "D_80031B10"] - - [0x80031b64, "D_80031B24"] - - [0x80031b78, "D_80031B38"] - - [0x80031b8c, "D_80031B4C"] - - [0x80031ba0, "D_80031B60"] - - [0x80031ba8, "D_80031B68"] - - [0x80031bb4, "D_80031B74"] - - [0x80031bc0, "D_80031B80"] - - [0x80031bcc, "D_80031B8C"] - - [0x80031bd8, "D_80031B98"] - - [0x80031be4, "D_80031BA4"] - - [0x80031bf4, "D_80031BB4"] - - [0x80031c10, "D_80031BD0"] - - [0x80031c2c, "D_80031BEC"] - - [0x80031c48, "D_80031C08"] - - [0x80031cc0, "D_80031C80"] - - [0x80031d70, "D_80031D30"] - - [0x80031d98, "D_80031D58"] - - [0x80031de8, "D_80031DA8"] - - [0x80031e34, "D_80031DF4"] - - [0x80031e80, "D_80031E40"] - - [0x80031eb8, "D_80031E78"] - - [0x80031ef0, "D_80031EB0"] - - [0x80031f28, "D_80031EE8"] - - [0x80031f40, "dword_D_80031F00"] - - [0x80031f84, "dword_D_80031F44"] - - [0x80032010, "D_80031FD0"] - - [0x80032050, "D_80032010"] - - [0x80032054, "D_80032014"] - - [0x80032058, "D_80032018"] - - [0x8003205c, "D_8003201C"] - - [0x80032060, "D_80032020"] - - [0x80032064, "D_80032024"] - - [0x80032068, "D_80032028"] - - [0x8003206c, "D_8003202C"] - - [0x80032070, "D_80032030"] - - [0x80032074, "D_80032034"] - - [0x80032078, "D_80032038"] - - [0x8003207c, "D_8003203C"] - - [0x80032080, "D_80032040"] - - [0x80032084, "D_80032044"] - - [0x80032088, "D_80032048"] - - [0x8003208c, "D_8003204C"] - - [0x80032090, "D_80032050"] - - [0x80032094, "D_80032054"] - - [0x80032098, "D_80032058"] - - [0x8003209c, "D_8003205C"] - - [0x800320a0, "D_80032060"] - - [0x800320a4, "D_80032064"] - - [0x800320a8, "D_80032068"] - - [0x800320ac, "D_8003206C"] - - [0x800320b0, "D_80032070"] - - [0x800320b4, "D_80032074"] - - [0x800320b8, "D_80032078"] - - [0x800320bc, "D_8003207C"] - - [0x800320c0, "D_80032080"] - - [0x800320c4, "D_80032084"] - - [0x800320c8, "D_80032088"] - - [0x800320cc, "D_8003208C"] - - [0x800320d0, "D_80032090"] - - [0x800320d4, "blank_07_object"] - - [0x8003214c, "D_8003210C"] - - [0x80032154, "blank_11_object"] - - [0x800321cc, "D_8003218C"] - - [0x800321d4, "blank_08_object_preset_1"] - - [0x80032258, "D_80032218"] - - [0x8003225c, "blank_08_object_preset_4001"] - - [0x800322e0, "D_800322A0"] - - [0x800322e4, "D_800322A4"] - - [0x800322e8, "D_800322A8"] - - [0x800322f0, "D_800322B0"] - - [0x80032300, "D_800322C0"] - - [0x80032330, "num_objective_ptrs"] - - [0x80032340, "D_80032300"] - - [0x80032344, "D_80032304"] - - [0x80032348, "D_80032308"] - - [0x80032350, "D_80032310"] - - [0x80032354, "D_80032314"] - - [0x80032360, "table_1"] - - [0x800323dc, "table_2"] - - [0x8003245c, "table_3"] - - [0x80032470, "D_80032430"] - - [0x80032474, "D_80032434"] - - [0x80032480, "D_80032440"] - - [0x80032488, "D_80032448"] - - [0x80032494, "D_80032454"] - - [0x80032498, "D_80032458"] - - [0x8003249c, "size_item_buffer"] - - [0x800324a0, "size_left_item_buffer"] - - [0x800324a4, "D_80032464"] - - [0x800324ac, "ejected_cartridge"] - - [0x800324d4, "default_weaponstats"] - - [0x80032544, "GfistZ_stats"] - - [0x800325b4, "GknifeZ_stats"] - - [0x80032624, "GthrowknifeZ_stats"] - - [0x80032694, "GwppkZ_stats"] - - [0x80032704, "GwppksilZ_stats"] - - [0x80032774, "Gtt33Z_stats"] - - [0x800327e4, "GskorpianZ_stats"] - - [0x80032854, "Gak47Z_stats"] - - [0x800328c4, "GuziZ_stats"] - - [0x80032934, "Gmp5kZ_stats"] - - [0x800329a4, "Gmp5ksilZ_stats"] - - [0x80032a14, "GspectreZ_stats"] - - [0x80032a84, "Gm16Z_stats"] - - [0x80032af4, "Gfnp90Z_stats"] - - [0x80032b64, "GshotgunZ_stats"] - - [0x80032bd4, "GautoshotZ_stats"] - - [0x80032c44, "GsniperrifleZ_stats"] - - [0x80032cb4, "GrugerZ_stats"] - - [0x80032d24, "GgoldengunZ_stats"] - - [0x80032d94, "GsilverwppkZ_stats"] - - [0x80032e04, "GgoldwppkZ_stats"] - - [0x80032e74, "GlaserZ_stats"] - - [0x80032ee4, "GwatchlaserZ_stats"] - - [0x80032f54, "GgrenadelaunchZ_stats"] - - [0x80032fc4, "GrocketlaunchZ_stats"] - - [0x80033034, "GgrenadeZ_stats"] - - [0x800330a4, "GtimedmineZ_stats"] - - [0x80033114, "GproximitymineZ_stats"] - - [0x80033184, "GremotemineZ_stats"] - - [0x800331f4, "GtriggerZ_stats"] - - [0x80033264, "GtaserZ_stats"] - - [0x800332d4, "GtankZ_stats"] - - [0x80033344, "GbombcaseZ_stats"] - - [0x800333b4, "GplastiqueZ_stats"] - - [0x80033424, "GflarepistolZ_stats"] - - [0x80033494, "GpitongunZ_stats"] - - [0x80033504, "GbugZ_stats"] - - [0x80033574, "GmicrocameraZ_stats"] - - [0x800335e4, "GwatchmagnetattractZ_stats"] - - [0x80033654, "GgoldeneyekeyZ_stats"] - - [0x800336c4, "GcameraZ_stats"] - - [0x80033734, "Csuit_lf_handz_stats"] - - [0x800337a4, "GjoypadZ_stats"] - - [0x80033814, "stru_D_800337D4"] - - [0x80033884, "stru_D_80033844"] - - [0x800338f4, "stru_D_800338B4"] - - [0x80033964, "gitem_structs"] - - [0x80034cdc, "cartridges_eject"] - - [0x80034ce0, "D_80034CA0"] - - [0x80034ce4, "D_80034CA4"] - - [0x80034e4c, "D_80034E0C"] - - [0x80034fb4, "D_80034F74"] - - [0x8003508c, "D_8003504C"] - - [0x80035164, "D_80035124"] - - [0x8003523c, "D_800351FC"] - - [0x80035314, "D_800352D4"] - - [0x800353ec, "D_800353AC"] - - [0x800354e8, "D_800354A8"] - - [0x80035650, "D_80035610"] - - [0x800357b8, "D_80035778"] - - [0x80035944, "D_80035904"] - - [0x80035ad0, "D_80035A90"] - - [0x80035ba8, "D_80035B68"] - - [0x80035c80, "D_80035C40"] - - [0x80035c84, "D_80035C44"] - - [0x80035c88, "D_80035C48"] - - [0x80035c8c, "D_80035C4C"] - - [0x80035c90, "D_80035C50"] - - [0x80035c94, "D_80035C54"] - - [0x80035c98, "D_80035C58"] - - [0x80035c9c, "D_80035C5C"] - - [0x80035ca0, "D_80035C60"] - - [0x80035ca4, "D_80035C64"] - - [0x80035ca8, "D_80035C68"] - - [0x80035cac, "D_80035C6C"] - - [0x80035cb0, "D_80035C70"] - - [0x80035cb4, "D_80035C74"] - - [0x80035cb8, "D_80035C78"] - - [0x80035cbc, "D_80035C7C"] - - [0x80035cc0, "D_80035C80"] - - [0x80035cc4, "D_80035C84"] - - [0x80035cc8, "D_80035C88"] - - [0x80035ccc, "D_80035C8C"] - - [0x80035cd0, "D_80035C90"] - - [0x80035cd4, "D_80035C94"] - - [0x80035cd8, "D_80035C98"] - - [0x80035cdc, "D_80035C9C"] - - [0x80035ce0, "D_80035CA0"] - - [0x80035ce4, "D_80035CA4"] - - [0x80035ce8, "D_80035CA8"] - - [0x80035cec, "D_80035CAC"] - - [0x80035cf0, "D_80035CB0"] - - [0x80035cf4, "D_80035CB4"] - - [0x80035cf8, "D_80035CB8"] - - [0x80035cfc, "D_80035CBC"] - - [0x80035d00, "D_80035CC0"] - - [0x80035d04, "D_80035CC4"] - - [0x80035d40, "D_80035D00"] - - [0x80035d44, "D_80035D04"] - - [0x80035d84, "D_80035D44"] - - [0x80035e44, "D_80035E04"] - - [0x80035e68, "D_80035E28"] - - [0x80035e6c, "D_80035E2C"] - - [0x80035e70, "D_80035E30"] - - [0x80035e74, "D_80035E34"] - - [0x80035e78, "D_80035E38"] - - [0x80035e7c, "D_80035E3C"] - - [0x80035ec4, "D_80035E84"] - - [0x80035ec8, "D_80035E88"] - - [0x80035ecc, "D_80035E8C"] - - [0x80035ed0, "D_80035E90"] - - [0x80035ed4, "D_80035E94"] - - [0x80035ed8, "D_80035E98"] - - [0x80035edc, "D_80035E9C"] - - [0x80035ee0, "D_80035EA0"] - - [0x80035ee4, "D_80035EA4"] - - [0x80035ee8, "D_80035EA8"] - - [0x80035eec, "D_80035EAC"] - - [0x80035ef0, "D_80035EB0"] - - [0x80035f2c, "dword_D_80035EEC"] - - [0x80035f30, "ammo_related"] - - [0x800360a0, "D_80036060"] - - [0x800360b0, "D_80036070"] - - [0x800360b4, "D_80036074"] - - [0x800360b8, "D_80036078"] - - [0x800360bc, "D_8003607C"] - - [0x800360c0, "D_80036080"] - - [0x800360c4, "D_80036084"] - - [0x800360c8, "D_80036088"] - - [0x800360cc, "D_8003608C"] - - [0x800360d0, "D_80036090"] - - [0x800360d4, "D_80036094"] - - [0x800360d8, "D_80036098"] - - [0x800360dc, "D_8003609C"] - - [0x800360e0, "D_800360A0"] - - [0x800360e4, "D_800360A4"] - - [0x800360e8, "D_800360A8"] - - [0x800360ec, "D_800360AC"] - - [0x800360f0, "D_800360B0"] - - [0x800360f4, "D_800360B4"] - - [0x800360f8, "D_800360B8"] - - [0x800360fc, "D_800360BC"] - - [0x80036100, "D_800360C0"] - - [0x80036104, "D_800360C4"] - - [0x80036108, "D_800360C8"] - - [0x8003610c, "D_800360CC"] - - [0x80036110, "D_800360D0"] - - [0x80036114, "D_800360D4"] - - [0x80036118, "D_800360D8"] - - [0x8003611c, "D_800360DC"] - - [0x80036120, "D_800360E0"] - - [0x80036124, "D_800360E4"] - - [0x80036128, "D_800360E8"] - - [0x8003612c, "D_800360EC"] - - [0x80036130, "D_800360F0"] - - [0x80036134, "D_800360F4"] - - [0x80036138, "D_800360F8"] - - [0x8003613c, "D_800360FC"] - - [0x80036140, "D_80036100"] - - [0x80036144, "D_80036104"] - - [0x80036148, "D_80036108"] - - [0x8003614c, "D_8003610C"] - - [0x80036150, "D_80036110"] - - [0x80036154, "D_80036114"] - - [0x80036158, "D_80036118"] - - [0x8003615c, "D_8003611C"] - - [0x80036160, "D_80036120"] - - [0x80036164, "D_80036124"] - - [0x80036168, "D_80036128"] - - [0x8003616c, "D_8003612C"] - - [0x80036170, "D_80036130"] - - [0x80036174, "D_80036134"] - - [0x80036178, "D_80036138"] - - [0x8003617c, "D_8003613C"] - - [0x80036180, "D_80036140"] - - [0x80036184, "D_80036144"] - - [0x80036188, "D_80036148"] - - [0x8003618c, "D_8003614C"] - - [0x80036190, "D_80036150"] - - [0x80036194, "D_80036154"] - - [0x80036198, "D_80036158"] - - [0x8003619c, "D_8003615C"] - - [0x800361a0, "D_80036160"] - - [0x800361a4, "D_80036164"] - - [0x800361a8, "D_80036168"] - - [0x800361ac, "D_8003616C"] - - [0x800361b0, "D_80036170"] - - [0x800361b4, "D_80036174"] - - [0x800361b8, "D_80036178"] - - [0x800361bc, "D_8003617C"] - - [0x800361c0, "D_80036180"] - - [0x800361c4, "D_80036184"] - - [0x800361c8, "D_80036188"] - - [0x800361cc, "D_8003618C"] - - [0x800361d0, "D_80036190"] - - [0x800361d4, "D_80036194"] - - [0x800361d8, "D_80036198"] - - [0x800361dc, "D_8003619C"] - - [0x800361e0, "D_800361A0"] - - [0x800361e4, "D_800361A4"] - - [0x800361e8, "D_800361A8"] - - [0x800361ec, "D_800361AC"] - - [0x800361f0, "D_800361B0"] - - [0x800361f4, "D_800361B4"] - - [0x800361f8, "D_800361B8"] - - [0x800361fc, "D_800361BC"] - - [0x80036200, "D_800361C0"] - - [0x80036204, "D_800361C4"] - - [0x80036208, "D_800361C8"] - - [0x8003620c, "D_800361CC"] - - [0x80036210, "D_800361D0"] - - [0x80036214, "D_800361D4"] - - [0x80036218, "D_800361D8"] - - [0x8003621c, "D_800361DC"] - - [0x80036220, "D_800361E0"] - - [0x80036224, "D_800361E4"] - - [0x80036228, "D_800361E8"] - - [0x8003622c, "D_800361EC"] - - [0x80036230, "D_800361F0"] - - [0x80036234, "D_800361F4"] - - [0x80036238, "D_800361F8"] - - [0x8003623c, "D_800361FC"] - - [0x80036240, "D_80036200"] - - [0x80036244, "D_80036204"] - - [0x80036248, "D_80036208"] - - [0x8003624c, "D_8003620C"] - - [0x80036250, "D_80036210"] - - [0x80036254, "D_80036214"] - - [0x80036258, "D_80036218"] - - [0x8003625c, "D_8003621C"] - - [0x80036260, "D_80036220"] - - [0x80036264, "D_80036224"] - - [0x80036268, "D_80036228"] - - [0x8003626c, "D_8003622C"] - - [0x80036270, "D_80036230"] - - [0x80036274, "D_80036234"] - - [0x80036278, "D_80036238"] - - [0x8003627c, "D_8003623C"] - - [0x80036280, "D_80036240"] - - [0x80036284, "D_80036244"] - - [0x80036288, "D_80036248"] - - [0x8003628c, "D_8003624C"] - - [0x80036290, "D_80036250"] - - [0x80036294, "D_80036254"] - - [0x80036298, "D_80036258"] - - [0x8003629c, "D_8003625C"] - - [0x800362a0, "D_80036260"] - - [0x800362a4, "D_80036264"] - - [0x800362a8, "D_80036268"] - - [0x800362ac, "D_8003626C"] - - [0x800362b0, "D_80036270"] - - [0x800362b4, "D_80036274"] - - [0x800362b8, "D_80036278"] - - [0x800362bc, "D_8003627C"] - - [0x800362c0, "D_80036280"] - - [0x800362c4, "D_80036284"] - - [0x800362c8, "D_80036288"] - - [0x800362cc, "D_8003628C"] - - [0x800362d0, "D_80036290"] - - [0x800362d4, "D_80036294"] - - [0x800362d8, "D_80036298"] - - [0x800362dc, "D_8003629C"] - - [0x800362e0, "D_800362A0"] - - [0x800362e4, "D_800362A4"] - - [0x800362e8, "D_800362A8"] - - [0x800362ec, "D_800362AC"] - - [0x800362f0, "D_800362B0"] - - [0x800362f4, "D_800362B4"] - - [0x800362f8, "D_800362B8"] - - [0x800362fc, "D_800362BC"] - - [0x80036300, "D_800362C0"] - - [0x80036304, "D_800362C4"] - - [0x80036308, "D_800362C8"] - - [0x8003630c, "D_800362CC"] - - [0x80036310, "D_800362D0"] - - [0x80036314, "D_800362D4"] - - [0x80036318, "D_800362D8"] - - [0x8003631c, "D_800362DC"] - - [0x80036320, "D_800362E0"] - - [0x80036324, "D_800362E4"] - - [0x80036328, "D_800362E8"] - - [0x8003632c, "D_800362EC"] - - [0x80036330, "D_800362F0"] - - [0x80036334, "D_800362F4"] - - [0x80036338, "D_800362F8"] - - [0x8003633c, "D_800362FC"] - - [0x80036340, "D_80036300"] - - [0x80036344, "D_80036304"] - - [0x80036348, "D_80036308"] - - [0x8003634c, "D_8003630C"] - - [0x80036350, "D_80036310"] - - [0x80036354, "D_80036314"] - - [0x80036358, "D_80036318"] - - [0x8003635c, "D_8003631C"] - - [0x80036420, "D_800363E0"] - - [0x80036424, "D_800363E4"] - - [0x80036428, "D_800363E8"] - - [0x8003642c, "D_800363EC"] - - [0x80036430, "D_800363F0"] - - [0x80036434, "D_800363F4"] - - [0x80036438, "D_800363F8"] - - [0x8003643c, "D_800363FC"] - - [0x80036440, "D_80036400"] - - [0x80036444, "D_80036404"] - - [0x80036448, "D_80036408"] - - [0x8003644c, "D_8003640C"] - - [0x80036450, "D_80036410"] - - [0x80036454, "D_80036414"] - - [0x80036458, "D_80036418"] - - [0x8003645c, "D_8003641C"] - - [0x80036460, "D_80036420"] - - [0x80036464, "camera_80036424"] - - [0x80036468, "resolution"] - - [0x8003646c, "camera_8003642C"] - - [0x80036470, "camera_80036430"] - - [0x80036474, "camera_80036434"] - - [0x80036478, "camera_80036438"] - - [0x8003647c, "D_8003643C"] - - [0x80036480, "D_80036440"] - - [0x80036484, "D_80036444"] - - [0x80036488, "in_tank_flag"] - - [0x8003648c, "D_8003644C"] - - [0x80036490, "ptr_playerstank"] - - [0x80036494, "D_80036454"] - - [0x80036498, "SFX_80036458"] - - [0x8003649c, "SFX_8003645C"] - - [0x800364a0, "D_80036460"] - - [0x800364a4, "D_80036464"] - - [0x800364a8, "D_80036468"] - - [0x800364ac, "D_8003646C"] - - [0x800364b0, "D_80036470"] - - [0x800364b4, "D_80036474"] - - [0x800364b8, "D_80036478"] - - [0x800364bc, "D_8003647C"] - - [0x800364c0, "D_80036480"] - - [0x800364c4, "D_80036484"] - - [0x800364c8, "D_80036488"] - - [0x800364cc, "D_8003648C"] - - [0x800364d0, "D_80036490"] - - [0x800364d4, "cameramode"] - - [0x800364d8, "enable_move_after_cinema"] - - [0x800364dc, "D_8003649C"] - - [0x800364e0, "stop_time_flag"] - - [0x800364e4, "D_800364A4"] - - [0x800364e8, "D_800364A8"] - - [0x800364ec, "D_800364AC"] - - [0x800364f0, "D_800364B0"] - - [0x800364f4, "disable_player_pickups_flag"] - - [0x800364f8, "D_800364B8"] - - [0x800364fc, "D_800364BC"] - - [0x80036500, "ptr_random06cam_entry"] - - [0x80036504, "invisible_to_guards_flag"] - - [0x80036508, "obj_collision_flag"] - - [0x8003650c, "D_800364CC"] - - [0x80036510, "D_800364D0"] - - [0x80036514, "D_800364D4"] - - [0x80036518, "D_800364D8"] - - [0x8003654c, "D_8003650C"] - - [0x80036550, "D_80036510"] - - [0x80036554, "D_80036514"] - - [0x80036558, "stage_intro_anim_table"] - - [0x800365e8, "watch_transition_time"] - - [0x800365ec, "dummy_08_pp7_obj"] - - [0x80036670, "D_80036630"] - - [0x80036674, "D_80036634"] - - [0x800367d4, "D_80036794"] - - [0x800367d8, "D_80036798"] - - [0x800367dc, "D_8003679C"] - - [0x80036834, "D_800367F4"] - - [0x80036838, "D_800367F8"] - - [0x8003683c, "D_800367FC"] - - [0x80036840, "D_80036800"] - - [0x80036844, "D_80036804"] - - [0x80036848, "D_80036808"] - - [0x8003684c, "D_8003680C"] - - [0x80036850, "D_80036810"] - - [0x80036854, "D_80036814"] - - [0x80036858, "D_80036818"] - - [0x8003685c, "D_8003681C"] - - [0x80036860, "D_80036820"] - - [0x80036864, "D_80036824"] - - [0x80036868, "D_80036828"] - - [0x8003686c, "D_8003682C"] - - [0x80036870, "D_80036830"] - - [0x80036874, "D_80036834"] - - [0x80036878, "D_80036838"] - - [0x8003687c, "D_8003683C"] - - [0x800368b8, "D_80036878"] - - [0x800368bc, "D_8003687C"] - - [0x800368c0, "D_80036880"] - - [0x800368c4, "D_80036884"] - - [0x800368c8, "D_80036888"] - - [0x800368cc, "D_8003688C"] - - [0x800368d0, "D_80036890"] - - [0x800368d4, "D_80036894"] - - [0x800368d8, "status_bar_text_buffer_index"] - - [0x800368dc, "display_statusbar"] - - [0x800368e0, "upper_text_buffer_index"] - - [0x800368e4, "display_upper_text_window"] - - [0x800368e8, "upper_text_window_timer"] - - [0x800368ec, "D_800368B4"] - - [0x800368f0, "D_800368B8"] - - [0x80036910, "firing_animation_groups"] - - [0x80036af0, "D_80036AB8"] - - [0x80036af4, "D_80036ABC"] - - [0x80036af8, "D_80036AC0"] - - [0x80036afc, "D_80036AC4"] - - [0x80036b00, "D_80036AD0"] - - [0x80036b04, "D_80036AD4"] - - [0x80036b08, "D_80036AD8"] - - [0x80036b0c, "D_80036ADC"] - - [0x80036b10, "D_80036AE0"] - - [0x80036b14, "D_80036AE4"] - - [0x80036b18, "D_80036AE8"] - - [0x80036b1c, "D_80036AEC"] - - [0x80036b20, "D_80036AF0"] - - [0x80036b24, "D_80036AF4"] - - [0x80036b28, "D_80036AF8"] - - [0x80036b2c, "D_80036AFC"] - - [0x80036b30, "D_80036B00"] - - [0x80036b34, "D_80036B04"] - - [0x80036b38, "D_80036B08"] - - [0x80036b3c, "D_80036B0C"] - - [0x80036b40, "D_80036B10"] - - [0x80036b44, "D_80036B14"] - - [0x80036b48, "D_80036B18"] - - [0x80036b4c, "D_80036B1C"] - - [0x80036b50, "D_80036B20"] - - [0x80036b54, "D_80036B24"] - - [0x80036b58, "D_80036B28"] - - [0x80036b5c, "D_80036B2C"] - - [0x80036b60, "D_80036B30"] - - [0x80036b90, "D_80036B60"] - - [0x80036b94, "D_80036B64"] - - [0x80036b98, "D_80036B68"] - - [0x80036b9c, "D_80036B6C"] - - [0x80036ba0, "highlighted_debug_option"] - - [0x80036ba4, "ptr_last_debuggrp_cutoff"] - - [0x80036ba8, "ptr_textptrs"] - - [0x80036bac, "ptr_positions"] - - [0x80036bb0, "number_groups"] - - [0x80036bb4, "ptr_groupings"] - - [0x80036bb8, "num_mcm_something"] - - [0x80036bbc, "mcm_xoffset_multiplier"] - - [0x80036bc0, "mcm_yoffset_multiplier"] - - [0x80036bd0, "D_80036BA0"] - - [0x80036bd4, "mcm_column_groupings"] - - [0x80036bf8, "mcm_onscreen_positions"] - - [0x80036e60, "mcm_strings"] - - [0x80036f94, "debug_render_raster"] - - [0x80036f98, "debug_freeze_processing"] - - [0x80036f9c, "debug_limit_controller_input"] - - [0x80036fa0, "debug_unknown"] - - [0x80036fa4, "memusage_display_flag"] - - [0x80036fa8, "debug_do_draw_bg"] - - [0x80036fac, "debug_do_draw_obj"] - - [0x80036fb0, "debug_unknown2"] - - [0x80036fb4, "debug_stanhit_flag"] - - [0x80036fb8, "debug_stanregion_flag"] - - [0x80036fbc, "turbo_mode_flag"] - - [0x80036fc0, "debug_man_pos_flag"] - - [0x80036fc4, "debug_prroomloads_flag"] - - [0x80036fc8, "debug_joy2skyedit_flag"] - - [0x80036fcc, "debug_joy2hitsedit_flag"] - - [0x80036fd0, "debug_joy2detailedit_flag"] - - [0x80036fd4, "debug_explosioninfo_flag"] - - [0x80036fd8, "debug_VisCVG_flag"] - - [0x80036fdc, "debug_007_unlock_flag"] - - [0x80036fe0, "debug_enable_agent_levels_flag"] - - [0x80036fe4, "debug_enable_all_levels_flag"] - - [0x80036fe8, "debug_chrnum_flag"] - - [0x80036fec, "debug_gunwatchpos_flags"] - - [0x80036ff0, "debug_profile_flag"] - - [0x80036ff4, "debug_enable_taskgrab_flag"] - - [0x80036ff8, "debug_testingmanpos_flag"] - - [0x80036ffc, "debug_fast_bond_flag"] - - [0x80037000, "debug_all_obj_complete_flag"] - - [0x80037004, "debug_portal_flag"] - - [0x80037008, "dword_D_80036FD8"] - - [0x80037018, "dword_D_80036FE8"] - - [0x80037028, "show_debug_menu_flag"] - - [0x8003702c, "grab_rgb_screenshot_flag"] - - [0x80037030, "grab_jpeg_screenshot_flag"] - - [0x80037034, "player_pos_x"] - - [0x80037038, "player_pos_y"] - - [0x8003703c, "player_pos_z"] - - [0x80037040, "D_80037010"] - - [0x80037044, "stanbondx"] - - [0x80037048, "stanbondy"] - - [0x8003704c, "stanbondz"] - - [0x80037050, "D_80037020"] - - [0x80037054, "D_80037024"] - - [0x80037058, "D_80037028"] - - [0x8003705c, "D_8003702C"] - - [0x80037060, "D_80037030"] - - [0x80037064, "D_80037034"] - - [0x80037068, "D_80037038"] - - [0x8003706c, "D_8003703C"] - - [0x80037070, "D_80037040"] - - [0x80037074, "D_80037044"] - - [0x80037078, "D_80037048"] - - [0x8003707c, "D_8003704C"] - - [0x80037080, "D_80037050"] - - [0x80037084, "D_80037054"] - - [0x80037088, "D_80037058"] - - [0x8003708c, "D_8003705C"] - - [0x80037090, "D_80037060"] - - [0x80037094, "D_80037064"] - - [0x80037098, "D_80037068"] - - [0x800370a0, "dword_D_80037070"] - - [0x800370ac, "dword_D_8003707C"] - - [0x800370b4, "dword_D_80037084"] - - [0x8003710c, "dword_D_800370DC"] - - [0x8003716c, "dword_D_8003713C"] - - [0x800371ac, "dword_D_8003717C"] - - [0x800371e4, "dword_D_800371B4"] - - [0x8003723c, "dword_D_8003720C"] - - [0x80037254, "dword_D_80037224"] - - [0x80037278, "dword_D_80037248"] - - [0x80037280, "dword_D_80037250"] - - [0x800372b0, "dword_D_80037280"] - - [0x80037300, "dword_D_800372D0"] - - [0x80037310, "dword_D_800372E0"] - - [0x80037400, "dword_D_800373D0"] - - [0x80037410, "dword_D_800373E0"] - - [0x80037418, "dword_D_800373E8"] - - [0x80037474, "dword_D_80037444"] - - [0x8003747c, "D_8003744C"] - - [0x8003750c, "D_800374DC"] - - [0x80037514, "setup_text_pointers"] - - [0x80037600, "Palarm1z_header"] - - [0x80037620, "Palarm2Z_header"] - - [0x80037640, "PexplosionbitZ_header"] - - [0x80037660, "Pammo_crate1Z_header"] - - [0x80037680, "Pammo_crate2Z_header"] - - [0x800376a0, "Pammo_crate3Z_header"] - - [0x800376c0, "Pammo_crate4Z_header"] - - [0x800376e0, "Pammo_crate5Z_header"] - - [0x80037700, "Pbin1Z_header"] - - [0x80037720, "Pblotter1Z_header"] - - [0x80037740, "Pbook1Z_header"] - - [0x80037760, "Pbookshelf1Z_header"] - - [0x80037780, "Pbridge_console1aZ_header"] - - [0x800377a0, "Pbridge_console1bZ_header"] - - [0x800377c0, "Pbridge_console2aZ_header"] - - [0x800377e0, "Pbridge_console2bZ_header"] - - [0x80037800, "Pbridge_console3aZ_header"] - - [0x80037820, "Pbridge_console3bZ_header"] - - [0x80037840, "Pcard_box1Z_header"] - - [0x80037860, "Pcard_box2Z_header"] - - [0x80037880, "Pcard_box3Z_header"] - - [0x800378a0, "Pcard_box4_lgZ_header"] - - [0x800378c0, "Pcard_box5_lgZ_header"] - - [0x800378e0, "Pcard_box6_lgZ_header"] - - [0x80037900, "PcctvZ_header"] - - [0x80037920, "Pconsole1Z_header"] - - [0x80037940, "Pconsole2Z_header"] - - [0x80037960, "Pconsole3Z_header"] - - [0x80037980, "Pconsole_sevaZ_header"] - - [0x800379a0, "Pconsole_sevbZ_header"] - - [0x800379c0, "Pconsole_sevcZ_header"] - - [0x800379e0, "Pconsole_sevdZ_header"] - - [0x80037a00, "Pconsole_sev2aZ_header"] - - [0x80037a20, "Pconsole_sev2bZ_header"] - - [0x80037a40, "Pconsole_sev2cZ_header"] - - [0x80037a60, "Pconsole_sev2dZ_header"] - - [0x80037a80, "Pconsole_sev_GEaZ_header"] - - [0x80037aa0, "Pconsole_sev_GEbZ_header"] - - [0x80037ac0, "Pdesk1Z_header"] - - [0x80037ae0, "Pdesk2Z_header"] - - [0x80037b00, "Pdesk_lamp2Z_header"] - - [0x80037b20, "Pdisc_readerZ_header"] - - [0x80037b40, "Pdisk_drive1Z_header"] - - [0x80037b60, "Pfiling_cabinet1Z_header"] - - [0x80037b80, "Pjerry_can1Z_header"] - - [0x80037ba0, "Pkeyboard1Z_header"] - - [0x80037bc0, "Pkit_units1Z_header"] - - [0x80037be0, "Pletter_tray1Z_header"] - - [0x80037c00, "Pmainframe1Z_header"] - - [0x80037c20, "Pmainframe2Z_header"] - - [0x80037c40, "Pmetal_chair1Z_header"] - - [0x80037c60, "Pmetal_crate1Z_header"] - - [0x80037c80, "Pmetal_crate2Z_header"] - - [0x80037ca0, "Pmetal_crate3Z_header"] - - [0x80037cc0, "Pmetal_crate4Z_header"] - - [0x80037ce0, "Pmissile_rackZ_header"] - - [0x80037d00, "Pmissile_rack2Z_header"] - - [0x80037d20, "Poil_drum1Z_header"] - - [0x80037d40, "Poil_drum2Z_header"] - - [0x80037d60, "Poil_drum3Z_header"] - - [0x80037d80, "Poil_drum5Z_header"] - - [0x80037da0, "Poil_drum6Z_header"] - - [0x80037dc0, "Poil_drum7Z_header"] - - [0x80037de0, "PpadlockZ_header"] - - [0x80037e00, "Pphone1Z_header"] - - [0x80037e20, "Pradio_unit1Z_header"] - - [0x80037e40, "Pradio_unit2Z_header"] - - [0x80037e60, "Pradio_unit3Z_header"] - - [0x80037e80, "Pradio_unit4Z_header"] - - [0x80037ea0, "Psat1_reflectZ_header"] - - [0x80037ec0, "PsatdishZ_header"] - - [0x80037ee0, "PsatboxZ_header"] - - [0x80037f00, "Pstool1Z_header"] - - [0x80037f20, "Pswivel_chair1Z_header"] - - [0x80037f40, "Ptorpedo_rackZ_header"] - - [0x80037f60, "Ptv1Z_header"] - - [0x80037f80, "Ptv_holderZ_header"] - - [0x80037fa0, "PtvscreenZ_header"] - - [0x80037fc0, "Ptv4screenZ_header"] - - [0x80037fe0, "Pwood_lg_crate1Z_header"] - - [0x80038000, "Pwood_lg_crate2Z_header"] - - [0x80038020, "Pwood_md_crate3Z_header"] - - [0x80038040, "Pwood_sm_crate4Z_header"] - - [0x80038060, "Pwood_sm_crate5Z_header"] - - [0x80038080, "Pwood_sm_crate6Z_header"] - - [0x800380a0, "Pwooden_table1Z_header"] - - [0x800380c0, "Pswipe_card2Z_header"] - - [0x800380e0, "Pborg_crateZ_header"] - - [0x80038100, "Pboxes4x4Z_header"] - - [0x80038120, "Pboxes3x4Z_header"] - - [0x80038140, "Pboxes2x4Z_header"] - - [0x80038160, "Psec_panelZ_header"] - - [0x80038180, "PICBM_noseZ_header"] - - [0x800381a0, "PICBMZ_header"] - - [0x800381c0, "Ptuning_console1Z_header"] - - [0x800381e0, "Pdesk_arecibo1Z_header"] - - [0x80038200, "Plocker3Z_header"] - - [0x80038220, "Plocker4Z_header"] - - [0x80038240, "ProofgunZ_header"] - - [0x80038260, "Pdest_engineZ_header"] - - [0x80038280, "Pdest_exocetZ_header"] - - [0x800382a0, "Pdest_gunZ_header"] - - [0x800382c0, "Pdest_harpoonZ_header"] - - [0x800382e0, "Pdest_seawolfZ_header"] - - [0x80038300, "PwindowZ_header"] - - [0x80038320, "Pwindow_lib_lg1Z_header"] - - [0x80038340, "Pwindow_lib_sm1Z_header"] - - [0x80038360, "Pwindow_cor11Z_header"] - - [0x80038380, "Pjungle3_treeZ_header"] - - [0x800383a0, "PpalmZ_header"] - - [0x800383c0, "PpalmtreeZ_header"] - - [0x800383e0, "Pplant2bZ_header"] - - [0x80038400, "PlabbenchZ_header"] - - [0x80038420, "PgasbarrelZ_header"] - - [0x80038440, "PgasbarrelsZ_header"] - - [0x80038460, "PbodyarmourZ_header"] - - [0x80038480, "PbodyarmourvestZ_header"] - - [0x800384a0, "PgastankZ_header"] - - [0x800384c0, "Pglassware1Z_header"] - - [0x800384e0, "PhatchboltZ_header"] - - [0x80038500, "PbrakeunitZ_header"] - - [0x80038520, "Pak47magZ_header"] - - [0x80038540, "Pm16magZ_header"] - - [0x80038560, "Pmp5kmagZ_header"] - - [0x80038580, "PskorpionmagZ_header"] - - [0x800385a0, "PspectremagZ_header"] - - [0x800385c0, "PuzimagZ_header"] - - [0x800385e0, "PsilencerZ_header"] - - [0x80038600, "PchrextinguisherZ_header"] - - [0x80038620, "PboxcartridgesZ_header"] - - [0x80038640, "Pfnp90magZ_header"] - - [0x80038660, "PgoldenshellsZ_header"] - - [0x80038680, "PmagnumshellsZ_header"] - - [0x800386a0, "PwppkmagZ_header"] - - [0x800386c0, "Ptt33magZ_header"] - - [0x800386e0, "Psev_doorZ_header"] - - [0x80038700, "Psev_door3Z_header"] - - [0x80038720, "Psev_door3_windZ_header"] - - [0x80038740, "Psev_door4_windZ_header"] - - [0x80038760, "Psev_trislideZ_header"] - - [0x80038780, "Psev_door_v1Z_header"] - - [0x800387a0, "Psteel_door1Z_header"] - - [0x800387c0, "Psteel_door2Z_header"] - - [0x800387e0, "Psteel_door3Z_header"] - - [0x80038800, "Psilo_lift_doorZ_header"] - - [0x80038820, "Psteel_door2bZ_header"] - - [0x80038840, "Pdoor_roller1Z_header"] - - [0x80038860, "Pdoor_roller2Z_header"] - - [0x80038880, "Pdoor_roller3Z_header"] - - [0x800388a0, "Pdoor_roller4Z_header"] - - [0x800388c0, "Pdoor_st_arec1Z_header"] - - [0x800388e0, "Pdoor_st_arec2Z_header"] - - [0x80038900, "Pdoor_dest1Z_header"] - - [0x80038920, "Pdoor_dest2Z_header"] - - [0x80038940, "Pgas_plant_sw_do1Z_header"] - - [0x80038960, "Pgas_plant_sw2_do1Z_header"] - - [0x80038980, "Pgas_plant_sw3_do1Z_header"] - - [0x800389a0, "Pgas_plant_sw4_do1Z_header"] - - [0x800389c0, "Pgas_plant_met1_do1Z_header"] - - [0x800389e0, "Pgas_plant_wc_cub1Z_header"] - - [0x80038a00, "Pgasplant_clear_doorZ_header"] - - [0x80038a20, "Ptrain_doorZ_header"] - - [0x80038a40, "Ptrain_door2Z_header"] - - [0x80038a60, "Ptrain_door3Z_header"] - - [0x80038a80, "Pdoor_eyelidZ_header"] - - [0x80038aa0, "Pdoor_irisZ_header"] - - [0x80038ac0, "PsevdoorwoodZ_header"] - - [0x80038ae0, "PsevdoorwindZ_header"] - - [0x80038b00, "PsevdoornowindZ_header"] - - [0x80038b20, "PsevdoormetslideZ_header"] - - [0x80038b40, "Pcryptdoor1aZ_header"] - - [0x80038b60, "Pcryptdoor1bZ_header"] - - [0x80038b80, "Pcryptdoor2aZ_header"] - - [0x80038ba0, "Pcryptdoor2bZ_header"] - - [0x80038bc0, "Pcryptdoor3Z_header"] - - [0x80038be0, "Pcryptdoor4Z_header"] - - [0x80038c00, "PvertdoorZ_header"] - - [0x80038c20, "PhatchdoorZ_header"] - - [0x80038c40, "PdamgatedoorZ_header"] - - [0x80038c60, "PdamtundoorZ_header"] - - [0x80038c80, "PdamchaindoorZ_header"] - - [0x80038ca0, "PsilotopdoorZ_header"] - - [0x80038cc0, "Pdoorprison1Z_header"] - - [0x80038ce0, "PdoorstatgateZ_header"] - - [0x80038d00, "PchrkalashZ_header"] - - [0x80038d20, "PchrgrenadelaunchZ_header"] - - [0x80038d40, "PchrknifeZ_header"] - - [0x80038d60, "PchrlaserZ_header"] - - [0x80038d80, "Pchrm16Z_header"] - - [0x80038da0, "Pchrmp5kZ_header"] - - [0x80038dc0, "PchrrugerZ_header"] - - [0x80038de0, "PchrwppkZ_header"] - - [0x80038e00, "PchrshotgunZ_header"] - - [0x80038e20, "PchrskorpionZ_header"] - - [0x80038e40, "PchrspectreZ_header"] - - [0x80038e60, "PchruziZ_header"] - - [0x80038e80, "PchrgrenadeZ_header"] - - [0x80038ea0, "Pchrfnp90Z_header"] - - [0x80038ec0, "PchrbriefcaseZ_header"] - - [0x80038ee0, "PchrremotemineZ_header"] - - [0x80038f00, "PchrproximitymineZ_header"] - - [0x80038f20, "PchrtimedmineZ_header"] - - [0x80038f40, "PchrrocketZ_header"] - - [0x80038f60, "PchrgrenaderoundZ_header"] - - [0x80038f80, "PchrwppksilZ_header"] - - [0x80038fa0, "Pchrtt33Z_header"] - - [0x80038fc0, "Pchrmp5ksilZ_header"] - - [0x80038fe0, "PchrautoshotZ_header"] - - [0x80039000, "PchrgoldenZ_header"] - - [0x80039020, "PchrthrowknifeZ_header"] - - [0x80039040, "PchrsniperrifleZ_header"] - - [0x80039060, "PchrrocketlaunchZ_header"] - - [0x80039080, "PhatfurryZ_header"] - - [0x800390a0, "PhatfurrybrownZ_header"] - - [0x800390c0, "PhatfurryblackZ_header"] - - [0x800390e0, "PhattbirdZ_header"] - - [0x80039100, "PhattbirdbrownZ_header"] - - [0x80039120, "PhathelmetZ_header"] - - [0x80039140, "PhathelmetgreyZ_header"] - - [0x80039160, "PhatmoonZ_header"] - - [0x80039180, "PhatberetZ_header"] - - [0x800391a0, "PhatberetblueZ_header"] - - [0x800391c0, "PhatberetredZ_header"] - - [0x800391e0, "PhatpeakedZ_header"] - - [0x80039200, "PchrwristdartZ_header"] - - [0x80039220, "PchrexplosivepenZ_header"] - - [0x80039240, "PchrbombcaseZ_header"] - - [0x80039260, "PchrflarepistolZ_header"] - - [0x80039280, "PchrpitongunZ_header"] - - [0x800392a0, "PchrfingergunZ_header"] - - [0x800392c0, "PchrsilverwppkZ_header"] - - [0x800392e0, "PchrgoldwppkZ_header"] - - [0x80039300, "PchrdynamiteZ_header"] - - [0x80039320, "PchrbungeeZ_header"] - - [0x80039340, "PchrdoordecoderZ_header"] - - [0x80039360, "PchrbombdefuserZ_header"] - - [0x80039380, "PchrbugdetectorZ_header"] - - [0x800393a0, "PchrsafecrackercaseZ_header"] - - [0x800393c0, "PchrcameraZ_header"] - - [0x800393e0, "PchrlockexploderZ_header"] - - [0x80039400, "PchrdoorexploderZ_header"] - - [0x80039420, "PchrkeyanalysercaseZ_header"] - - [0x80039440, "PchrweaponcaseZ_header"] - - [0x80039460, "PchrkeyyaleZ_header"] - - [0x80039480, "PchrkeyboltZ_header"] - - [0x800394a0, "PchrbugZ_header"] - - [0x800394c0, "PchrmicrocameraZ_header"] - - [0x800394e0, "PfloppyZ_header"] - - [0x80039500, "PchrgoldeneyekeyZ_header"] - - [0x80039520, "PchrpolarizedglassesZ_header"] - - [0x80039540, "PchrcreditcardZ_header"] - - [0x80039560, "PchrdarkglassesZ_header"] - - [0x80039580, "PchrgaskeyringZ_header"] - - [0x800395a0, "PchrdatathiefZ_header"] - - [0x800395c0, "PsafeZ_header"] - - [0x800395e0, "PbombZ_header"] - - [0x80039600, "PchrplansZ_header"] - - [0x80039620, "PchrspyfileZ_header"] - - [0x80039640, "PchrblueprintsZ_header"] - - [0x80039660, "PchrcircuitboardZ_header"] - - [0x80039680, "PchrmapZ_header"] - - [0x800396a0, "PchrspooltapeZ_header"] - - [0x800396c0, "PchraudiotapeZ_header"] - - [0x800396e0, "PchrmicrofilmZ_header"] - - [0x80039700, "PchrmicrocodeZ_header"] - - [0x80039720, "PchrlectreZ_header"] - - [0x80039740, "PchrmoneyZ_header"] - - [0x80039760, "PchrgoldbarZ_header"] - - [0x80039780, "PchrheroinZ_header"] - - [0x800397a0, "PchrclipboardZ_header"] - - [0x800397c0, "PchrdossierredZ_header"] - - [0x800397e0, "PchrstafflistZ_header"] - - [0x80039800, "PchrdattapeZ_header"] - - [0x80039820, "PchrplastiqueZ_header"] - - [0x80039840, "PchrblackboxZ_header"] - - [0x80039860, "PchrvideotapeZ_header"] - - [0x80039880, "PnintendologoZ_header"] - - [0x800398a0, "PgoldeneyelogoZ_header"] - - [0x800398c0, "PwalletbondZ_header"] - - [0x800398e0, "PmiltruckZ_header"] - - [0x80039900, "PjeepZ_header"] - - [0x80039920, "ParticZ_header"] - - [0x80039940, "PhelicopterZ_header"] - - [0x80039960, "PtigerZ_header"] - - [0x80039980, "PmilcopterZ_header"] - - [0x800399a0, "PhindZ_header"] - - [0x800399c0, "PartictrailerZ_header"] - - [0x800399e0, "PmotorbikeZ_header"] - - [0x80039a00, "PtankZ_header"] - - [0x80039a20, "PapcZ_header"] - - [0x80039a40, "PspeedboatZ_header"] - - [0x80039a60, "PplaneZ_header"] - - [0x80039a80, "Pgun_runway1Z_header"] - - [0x80039aa0, "PsafedoorZ_header"] - - [0x80039ac0, "Pkey_holderZ_header"] - - [0x80039ae0, "PhatchsevxZ_header"] - - [0x80039b00, "PsevdishZ_header"] - - [0x80039b20, "Parchsecdoor1Z_header"] - - [0x80039b40, "Parchsecdoor2Z_header"] - - [0x80039b60, "PgroundgunZ_header"] - - [0x80039b80, "PtrainextdoorZ_header"] - - [0x80039ba0, "PcarbmwZ_header"] - - [0x80039bc0, "PcarescortZ_header"] - - [0x80039be0, "PcargolfZ_header"] - - [0x80039c00, "PcarweirdZ_header"] - - [0x80039c20, "PcarzilZ_header"] - - [0x80039c40, "Pshuttle_door_lZ_header"] - - [0x80039c60, "Pshuttle_door_rZ_header"] - - [0x80039c80, "Pdepot_gate_entryZ_header"] - - [0x80039ca0, "Pdepot_door_steelZ_header"] - - [0x80039cc0, "Pglassware2Z_header"] - - [0x80039ce0, "Pglassware3Z_header"] - - [0x80039d00, "Pglassware4Z_header"] - - [0x80039d20, "PlandmineZ_header"] - - [0x80039d40, "Pplant1Z_header"] - - [0x80039d60, "Pplant11Z_header"] - - [0x80039d80, "Pplant2Z_header"] - - [0x80039da0, "Pplant3Z_header"] - - [0x80039dc0, "Pjungle5_treeZ_header"] - - [0x80039de0, "PlegalpageZ_header"] - - [0x80039e00, "Pst_pete_room_1iZ_header"] - - [0x80039e20, "Pst_pete_room_2iZ_header"] - - [0x80039e40, "Pst_pete_room_3tZ_header"] - - [0x80039e60, "Pst_pete_room_5cZ_header"] - - [0x80039e80, "Pst_pete_room_6cZ_header"] - - [0x80039ea0, "Pdoor_rollertrainZ_header"] - - [0x80039ec0, "Pdoor_winZ_header"] - - [0x80039ee0, "Pdoor_aztecZ_header"] - - [0x80039f00, "PshuttleZ_header"] - - [0x80039f20, "Pdoor_azt_deskZ_header"] - - [0x80039f40, "Pdoor_azt_desk_topZ_header"] - - [0x80039f60, "Pdoor_azt_chairZ_header"] - - [0x80039f80, "Pdoor_mfZ_header"] - - [0x80039fa0, "PflagZ_header"] - - [0x80039fc0, "PbarricadeZ_header"] - - [0x80039fe0, "PmodemboxZ_header"] - - [0x8003a000, "PdoorpanelZ_header"] - - [0x8003a020, "PdoorconsoleZ_header"] - - [0x8003a040, "PchrtesttubeZ_header"] - - [0x8003a060, "Pbollardz_header"] - - [0x8003a080, "word_D_8003A050"] - - [0x8003a08c, "prop_cctv_related"] - - [0x8003a098, "word_D_8003A068"] - - [0x8003a0a0, "prop_console_one_screen_related"] - - [0x8003a0ac, "word_D_8003A07C"] - - [0x8003a0b4, "prop_console_four_screen_related"] - - [0x8003a0c0, "word_D_8003A090"] - - [0x8003a0e0, "prop_tv_holder_related"] - - [0x8003a0ec, "word_D_8003A0BC"] - - [0x8003a110, "prop_rotating_stuff_related"] - - [0x8003a11c, "word_D_8003A0EC"] - - [0x8003a130, "prop_eyelid_door_related"] - - [0x8003a13c, "word_D_8003A10C"] - - [0x8003a18c, "prop_iris_door_related"] - - [0x8003a198, "word_D_8003A168"] - - [0x8003a1a0, "prop_walletbond_related"] - - [0x8003a1ac, "word_D_8003A17C"] - - [0x8003a1cc, "prop_car_related"] - - [0x8003a1d8, "word_D_8003A1A8"] - - [0x8003a1f8, "prop_flying_related"] - - [0x8003a204, "word_D_8003A1D4"] - - [0x8003a20c, "prop_door_related"] - - [0x8003a218, "word_D_8003A1E8"] - - [0x8003a238, "item_tank_related"] - - [0x8003a244, "word_D_8003A214"] - - [0x8003a24c, "item_hat_related"] - - [0x8003a258, "PitemZ_entries"] - - [0x8003b254, "object_explosion_details"] - - [0x8003c500, "word_D_8003C4D0"] - - [0x8003c508, "model_object_standard_object"] - - [0x8003c514, "D_8003C4E4"] - - [0x8003c518, "D_8003C4E8"] - - [0x8003c51c, "D_8003C4EC"] - - [0x8003c520, "word_D_8003C4F0"] - - [0x8003c52c, "prop_weapon_related"] - - [0x8003c538, "D_8003C508"] - - [0x8003c53c, "D_8003C50C"] - - [0x8003c540, "dword_D_8003C510"] - - [0x8003c5a0, "dword_D_8003C570"] - - [0x8003c5ac, "D_8003C57C"] - - [0x8003c5b0, "player_gait_hdr"] - - [0x8003c5c8, "player_gait_pos_hdr_1"] - - [0x8003c5e0, "player_gait_pos_hdr_2"] - - [0x8003c5f8, "player_gait_pos_hdr_3"] - - [0x8003c610, "player_gait_obj"] - - [0x8003c620, "player_gait_pos_1"] - - [0x8003c63c, "player_gait_pos_2"] - - [0x8003c658, "player_gait_pos_3"] - - [0x8003c674, "D_8003C644"] - - [0x8003c678, "D_8003C648"] - - [0x8003c67c, "D_8003C64C"] - - [0x8003c680, "player_gait_object"] - - [0x8003c6a0, "dword_D_8003C670"] - - [0x8003c714, "model_suit_lf_hand"] - - [0x8003c720, "dword_D_8003C6F0"] - - [0x8003c744, "weapon_gun_standard_gun"] - - [0x8003c750, "dword_D_8003C720"] - - [0x8003c758, "weapon_gun_unassigned"] - - [0x8003c764, "D_8003C734"] - - [0x8003c768, "D_8003C738"] - - [0x8003c76c, "D_8003C73C"] - - [0x8003c770, "dword_D_8003C740"] - - [0x8003c79c, "weapon_gun_revolver"] - - [0x8003c7a8, "D_8003C778"] - - [0x8003c7ac, "D_8003C77C"] - - [0x8003c7b0, "dword_D_8003C780"] - - [0x8003c7dc, "weapon_gun_kf7"] - - [0x8003c7e8, "D_8003C7B8"] - - [0x8003c7ec, "D_8003C7BC"] - - [0x8003c7f0, "GwppkZ_struct"] - - [0x8003c810, "GwppksilZ_struct"] - - [0x8003c830, "Gtt33Z_struct"] - - [0x8003c850, "GskorpianZ_struct"] - - [0x8003c870, "Gak47Z_struct"] - - [0x8003c890, "GuziZ_struct"] - - [0x8003c8b0, "Gmp5kZ_struct"] - - [0x8003c8d0, "Gmp5ksilZ_struct"] - - [0x8003c8f0, "Gm16Z_struct"] - - [0x8003c910, "Gfnp90Z_struct"] - - [0x8003c930, "G8003C900_struct"] - - [0x8003c950, "GrugerZ_struct"] - - [0x8003c970, "GgoldengunZ_struct"] - - [0x8003c990, "GshotgunZ_struct"] - - [0x8003c9b0, "GautoshotZ_struct"] - - [0x8003c9d0, "GgrenadelaunchZ_struct"] - - [0x8003c9f0, "GspectreZ_struct"] - - [0x8003ca10, "GlaserZ_struct"] - - [0x8003ca30, "GrocketlaunchZ_struct"] - - [0x8003ca50, "GknifeZ_header"] - - [0x8003ca70, "GthrowknifeZ_struct"] - - [0x8003ca90, "GtaserZ_struct"] - - [0x8003cab0, "GremotemineZ_struct"] - - [0x8003cad0, "GproximitymineZ_struct"] - - [0x8003caf0, "GtimedmineZ_struct"] - - [0x8003cb10, "GtriggerZ_struct"] - - [0x8003cb30, "GgrenadeZ_struct"] - - [0x8003cb50, "GfistZ_header"] - - [0x8003cb70, "GsniperrifleZ_struct"] - - [0x8003cb90, "GcartridgeZ_struct"] - - [0x8003cbb0, "GcartrifleZ_struct"] - - [0x8003cbd0, "GcartblueZ_struct"] - - [0x8003cbf0, "GcartshellZ_struct"] - - [0x8003cc10, "GjoypadZ_struct"] - - [0x8003cc30, "G8003CC00_struct"] - - [0x8003cc50, "G8003CC20_struct"] - - [0x8003cc70, "GbombcaseZ_struct"] - - [0x8003cc90, "GflarepistolZ_struct"] - - [0x8003ccb0, "GpitongunZ_struct"] - - [0x8003ccd0, "G8003CCA0_struct"] - - [0x8003ccf0, "GsilverwppkZ_struct"] - - [0x8003cd10, "GgoldwppkZ_struct"] - - [0x8003cd30, "G8003CD00_struct"] - - [0x8003cd50, "GbungeeZ_struct"] - - [0x8003cd70, "GdoordecoderZ_struct"] - - [0x8003cd90, "GbombdefuserZ_struct"] - - [0x8003cdb0, "GbugdetectorZ_struct"] - - [0x8003cdd0, "GsafecrackercaseZ_struct"] - - [0x8003cdf0, "GcameraZ_struct"] - - [0x8003ce10, "GlockexploderZ_struct"] - - [0x8003ce30, "GdoorexploderZ_struct"] - - [0x8003ce50, "GkeyanalysercaseZ_struct"] - - [0x8003ce70, "GweaponcaseZ_struct"] - - [0x8003ce90, "GkeycardZ_struct"] - - [0x8003ceb0, "GkeyyaleZ_struct"] - - [0x8003ced0, "GkeyboltZ_struct"] - - [0x8003cef0, "GbugZ_struct"] - - [0x8003cf10, "GmicrocameraZ_struct"] - - [0x8003cf30, "GexplosivefloppyZ_struct"] - - [0x8003cf50, "GgoldeneyekeyZ_struct"] - - [0x8003cf70, "GpolarizedglassesZ_struct"] - - [0x8003cf90, "GcreditcardZ_struct"] - - [0x8003cfb0, "GdarkglassesZ_struct"] - - [0x8003cfd0, "GwatchidentifierZ_struct"] - - [0x8003cff0, "GwatchcommunicatorZ_struct"] - - [0x8003d010, "GwatchlaserZ_struct"] - - [0x8003d030, "GwatchgeigercounterZ_struct"] - - [0x8003d050, "GwatchmagnetrepelZ_struct"] - - [0x8003d070, "GwatchmagnetattractZ_struct"] - - [0x8003d090, "GgaskeyringZ_struct"] - - [0x8003d0b0, "GdatathiefZ_struct"] - - [0x8003d0d0, "GbriefcaseZ_struct"] - - [0x8003d0f0, "GblackboxZ_struct"] - - [0x8003d110, "GplastiqueZ_struct"] - - [0x8003d130, "GvideotapeZ_struct"] - - [0x8003d150, "GclipboardZ_struct"] - - [0x8003d170, "GstafflistZ_struct"] - - [0x8003d190, "GdossierredZ_struct"] - - [0x8003d1b0, "GaudiotapeZ_struct"] - - [0x8003d1d0, "GdattapeZ_struct"] - - [0x8003d1f0, "GplansZ_struct"] - - [0x8003d210, "GspyfileZ_struct"] - - [0x8003d230, "GblueprintsZ_struct"] - - [0x8003d250, "GcircuitboardZ_struct"] - - [0x8003d270, "GmapZ_struct"] - - [0x8003d290, "GspooltapeZ_struct"] - - [0x8003d2b0, "GmicrofilmZ_struct"] - - [0x8003d2d0, "GmicrocodeZ_struct"] - - [0x8003d2f0, "GlectreZ_struct"] - - [0x8003d310, "GmoneyZ_struct"] - - [0x8003d330, "GgoldbarZ_struct"] - - [0x8003d350, "GheroinZ_struct"] - - [0x8003d370, "dword_D_8003D340"] - - [0x8003d3c0, "weapon_gun_controller"] - - [0x8003d3cc, "D_8003D39C"] - - [0x8003d3d0, "dword_D_8003D3A0"] - - [0x8003d430, "model_guard_character"] - - [0x8003d43c, "D_8003D40C"] - - [0x8003d440, "CcamguardZ_struct"] - - [0x8003d460, "CgreyguardZ_struct"] - - [0x8003d480, "ColiveguardZ_struct"] - - [0x8003d4a0, "CrusguardZ_struct"] - - [0x8003d4c0, "CtrevguardZ_struct"] - - [0x8003d4e0, "CborisZ_struct"] - - [0x8003d500, "CorumovZ_struct"] - - [0x8003d520, "CtrevelyanZ_struct"] - - [0x8003d540, "CboilertrevZ_struct"] - - [0x8003d560, "CvalentinZ_struct"] - - [0x8003d580, "CxeniaZ_struct"] - - [0x8003d5a0, "CbaronsamediZ_struct"] - - [0x8003d5c0, "CjawsZ_struct"] - - [0x8003d5e0, "CmaydayZ_struct"] - - [0x8003d600, "CoddjobZ_struct"] - - [0x8003d620, "CnatalyaZ_struct"] - - [0x8003d640, "CarmourguardZ_struct"] - - [0x8003d660, "CcommguardZ_struct"] - - [0x8003d680, "CgreatguardZ_struct"] - - [0x8003d6a0, "CnavyguardZ_struct"] - - [0x8003d6c0, "CsnowguardZ_struct"] - - [0x8003d6e0, "CbluewomanZ_struct"] - - [0x8003d700, "CfattechwomanZ_struct"] - - [0x8003d720, "CtechwomanZ_struct"] - - [0x8003d740, "CjeanwomanZ_struct"] - - [0x8003d760, "CgreymanZ_struct"] - - [0x8003d780, "CbluemanZ_struct"] - - [0x8003d7a0, "CredmanZ_struct"] - - [0x8003d7c0, "CcardimanZ_struct"] - - [0x8003d7e0, "CcheckmanZ_struct"] - - [0x8003d800, "CtechmanZ_struct"] - - [0x8003d820, "CpilotZ_struct"] - - [0x8003d840, "Cgreatguard2Z_struct"] - - [0x8003d860, "CbluecamguardZ_struct"] - - [0x8003d880, "CmoonguardZ_struct"] - - [0x8003d8a0, "CmoonfemaleZ_struct"] - - [0x8003d8c0, "CboilerbondZ_struct"] - - [0x8003d8e0, "CsuitbondZ_struct"] - - [0x8003d900, "CtimberbondZ_struct"] - - [0x8003d920, "CsnowbondZ_struct"] - - [0x8003d940, "CdjbondZ_struct"] - - [0x8003d960, "Csuit_lf_handz_struct"] - - [0x8003d980, "CheadkarlZ_struct"] - - [0x8003d9a0, "CheadalanZ_struct"] - - [0x8003d9c0, "CheadpeteZ_struct"] - - [0x8003d9e0, "CheadmartinZ_struct"] - - [0x8003da00, "stru_D_8003D9D0"] - - [0x8003da20, "stru_D_8003D9F0"] - - [0x8003da40, "stru_D_8003DA10"] - - [0x8003da60, "stru_D_8003DA30"] - - [0x8003da80, "stru_D_8003DA50"] - - [0x8003daa0, "stru_D_8003DA70"] - - [0x8003dac0, "stru_D_8003DA90"] - - [0x8003dae0, "stru_D_8003DAB0"] - - [0x8003db00, "stru_D_8003DAD0"] - - [0x8003db20, "stru_D_8003DAF0"] - - [0x8003db40, "stru_D_8003DB10"] - - [0x8003db60, "stru_D_8003DB30"] - - [0x8003db80, "stru_D_8003DB50"] - - [0x8003dba0, "stru_D_8003DB70"] - - [0x8003dbc0, "stru_D_8003DB90"] - - [0x8003dbe0, "stru_D_8003DBB0"] - - [0x8003dc00, "stru_D_8003DBD0"] - - [0x8003dc20, "stru_D_8003DBF0"] - - [0x8003dc40, "stru_D_8003DC10"] - - [0x8003dc60, "stru_D_8003DC30"] - - [0x8003dc80, "stru_D_8003DC50"] - - [0x8003dca0, "stru_D_8003DC70"] - - [0x8003dcc0, "stru_D_8003DC90"] - - [0x8003dce0, "stru_D_8003DCB0"] - - [0x8003dd00, "stru_D_8003DCD0"] - - [0x8003dd20, "stru_D_8003DCF0"] - - [0x8003dd40, "stru_D_8003DD10"] - - [0x8003dd60, "stru_D_8003DD30"] - - [0x8003dd80, "stru_D_8003DD50"] - - [0x8003dda0, "CheadbrosnansuitZ_struct"] - - [0x8003ddc0, "CheadbrosnantimberZ_struct"] - - [0x8003dde0, "CheadbrosnansnowZ_struct"] - - [0x8003de00, "CheadbrosnanZ_struct"] - - [0x8003de20, "CspicebondZ_struct"] - - [0x8003de40, "c_item_entries"] - - [0x8003e480, "D_8003E450"] - - [0x8003e484, "D_8003E454"] - - [0x8003e488, "D_8003E458"] - - [0x8003e48c, "D_8003E45C"] - - [0x8003e490, "D_8003E460"] - - [0x8003e494, "headHat_array_8003E464"] - - [0x8003f460, "dword_D_8003F430"] - - [0x8003f474, "dword_D_8003F444"] - - [0x8003f488, "dword_D_8003F458"] - - [0x8003f49c, "dword_D_8003F46C"] - - [0x8003f4b0, "dword_D_8003F480"] - - [0x8003f4c4, "dword_D_8003F494"] - - [0x8003f4d8, "dword_D_8003F4A8"] - - [0x8003f4ec, "dword_D_8003F4BC"] - - [0x8003f500, "dword_D_8003F4D0"] - - [0x8003f514, "dword_D_8003F4E4"] - - [0x8003f528, "dword_D_8003F4F8"] - - [0x8003f53c, "dword_D_8003F50C"] - - [0x8003f550, "dword_D_8003F520"] - - [0x8003f564, "dword_D_8003F534"] - - [0x8003f578, "dword_D_8003F548"] - - [0x8003f58c, "dword_D_8003F55C"] - - [0x8003f5a0, "dword_D_8003F570"] - - [0x8003f5b4, "dword_D_8003F584"] - - [0x8003f5c8, "dword_D_8003F598"] - - [0x8003f5dc, "dword_D_8003F5AC"] - - [0x8003f5f0, "dword_D_8003F5C0"] - - [0x8003f604, "dword_D_8003F5D4"] - - [0x8003f618, "dword_D_8003F5E8"] - - [0x8003f62c, "dword_D_8003F5FC"] - - [0x8003f640, "dword_D_8003F610"] - - [0x8003f654, "dword_D_8003F624"] - - [0x8003f668, "dword_D_8003F638"] - - [0x8003f67c, "dword_D_8003F64C"] - - [0x8003f690, "dword_D_8003F660"] - - [0x8003f6ac, "dword_D_8003F67C"] - - [0x8003f6c0, "dword_D_8003F690"] - - [0x8003f6d4, "dword_D_8003F6A4"] - - [0x8003f6e8, "dword_D_8003F6B8"] - - [0x8003f6fc, "dword_D_8003F6CC"] - - [0x8003f710, "dword_D_8003F6E0"] - - [0x8003f724, "dword_D_8003F6F4"] - - [0x8003f738, "dword_D_8003F708"] - - [0x8003f74c, "dword_D_8003F71C"] - - [0x8003f760, "dword_D_8003F730"] - - [0x8003f774, "dword_D_8003F744"] - - [0x8003f788, "dword_D_8003F758"] - - [0x8003f79c, "dword_D_8003F76C"] - - [0x8003f7b0, "dword_D_8003F780"] - - [0x8003f7c4, "dword_D_8003F794"] - - [0x8003f7d8, "dword_D_8003F7A8"] - - [0x8003f7ec, "dword_D_8003F7BC"] - - [0x8003f800, "dword_D_8003F7D0"] - - [0x8003f814, "dword_D_8003F7E4"] - - [0x8003f828, "dword_D_8003F7F8"] - - [0x8003f834, "D_8003F804"] - - [0x8003f838, "D_8003F808"] - - [0x8003f83c, "D_8003F80C"] - - [0x8003fcf0, "MipMap2C_Something_Setup"] - - [0x8003fd58, "MipMap2C_Something2_Setup"] - - [0x8003fdc0, "D_8003FD90"] - - [0x8003fdc4, "D_8003FD94"] - - [0x8003fdd8, "D_8003FDA8"] - - [0x80040190, "random_val"] - - [0x800401a0, "D_80040170"] - - [0x800401a4, "D_80040174"] - - [0x800401a8, "D_80040178"] - - [0x800401ac, "D_8004017C"] - - [0x8004083c, "D_8004080C"] - - [0x8004093c, "D_8004090C"] - - [0x80040940, "D_80040910"] - - [0x80040944, "D_80040914"] - - [0x80040948, "D_80040918"] - - [0x8004094c, "D_8004091C"] - - [0x80040950, "D_80040920"] - - [0x80040954, "D_80040924"] - - [0x80040958, "D_80040928"] - - [0x8004095c, "D_8004092C"] - - [0x80040960, "D_80040930"] - - [0x80040964, "D_80040934"] - - [0x80040968, "D_80040938"] - - [0x8004096c, "D_8004093C"] - - [0x80040970, "D_80040940"] - - [0x80040990, "D_80040960"] - - [0x800409b0, "D_80040980"] - - [0x800409b4, "D_80040984"] - - [0x800409b8, "D_80040988"] - - [0x800409bc, "D_8004098C"] - - [0x800409c0, "D_80040990"] - - [0x800409c4, "D_80040994"] - - [0x800409c8, "D_80040998"] - - [0x800409cc, "D_8004099C"] - - [0x800409d0, "D_800409A0"] - - [0x800409d4, "D_800409A4"] - - [0x800409d8, "watch_soundrelated_maybe"] - - [0x800409dc, "D_800409AC"] - - [0x800409e0, "D_800409B0"] - - [0x800409e4, "D_800409B4"] - - [0x800409e8, "D_800409B8"] - - [0x800409ec, "D_800409BC"] - - [0x800409f0, "D_800409C0"] - - [0x800409f4, "D_800409C4"] - - [0x800409f8, "D_800409C8"] - - [0x800409fc, "D_800409CC"] - - [0x80040a00, "D_800409D0"] - - [0x80040a04, "D_800409D4"] - - [0x80040a08, "D_800409D8"] - - [0x80040a0c, "D_800409DC"] - - [0x80040aac, "D_80040A7C"] - - [0x80040ab4, "cur_player_look_vertical_inverted"] - - [0x80040ab8, "D_80040A88"] - - [0x80040ac0, "cur_player_autoaim_setting"] - - [0x80040ac4, "D_80040A94"] - - [0x80040acc, "cur_player_aim_control"] - - [0x80040ad0, "D_80040AA0"] - - [0x80040ad8, "cur_player_sight_onscreen"] - - [0x80040adc, "D_80040AAC"] - - [0x80040ae4, "cur_player_lookahead_setting"] - - [0x80040ae8, "D_80040AB8"] - - [0x80040af0, "cur_player_ammo_onscreen_setting"] - - [0x80040af4, "D_80040AC4"] - - [0x80040afc, "cur_player_screen_setting"] - - [0x80040b00, "D_80040AD0"] - - [0x80040b08, "screen_ratio"] - - [0x80040b0c, "controlstick_lr_enabled"] - - [0x80040b10, "D_80040AE0"] - - [0x80040b14, "D_80040AE4"] - - [0x80040b18, "D_80040AE8"] - - [0x80040b1c, "D_80040AEC"] - - [0x80040b20, "D_80040AF0"] - - [0x80040b24, "D_80040AF4"] - - [0x80040b28, "D_80040AF8"] - - [0x80040b2c, "D_80040AFC"] - - [0x80040b30, "D_80040B00"] - - [0x80040b34, "D_80040B04"] - - [0x80040b38, "D_80040B08"] - - [0x80040b3c, "D_80040B0C"] - - [0x80040b40, "D_80040B10"] - - [0x80040b44, "D_80040B14"] - - [0x80040b48, "D_80040B18"] - - [0x80040b4c, "D_80040B1C"] - - [0x80040b50, "D_80040B20"] - - [0x80040b54, "D_80040B24"] - - [0x80040b58, "D_80040B28"] - - [0x80040b5c, "D_80040B2C"] - - [0x80040b60, "D_80040B30"] - - [0x80040b64, "D_80040B34"] - - [0x80040b68, "D_80040B38"] - - [0x80040b6c, "D_80040B3C"] - - [0x80040b70, "D_80040B40"] - - [0x80040b74, "D_80040B44"] - - [0x80040b78, "D_80040B48"] - - [0x80040b7c, "D_80040B4C"] - - [0x80040b80, "D_80040B50"] - - [0x80040b84, "D_80040B54"] - - [0x80040b88, "mTrack2Vol"] - - [0x80040b8c, "D_80040B5C"] - - [0x80040b90, "D_80040B60"] - - [0x80040b94, "D_80040B64"] - - [0x80040b98, "D_80040B68"] - - [0x80040b9c, "D_80040B6C"] - - [0x80040ba0, "D_80040B70"] - - [0x80040ba4, "D_80040B74"] - - [0x80040ba8, "D_80040B78"] - - [0x80040bac, "D_80040B7C"] - - [0x80040bb0, "D_80040B80"] - - [0x80040bb4, "D_80040B84"] - - [0x80040bb8, "D_80040B88"] - - [0x80040bbc, "D_80040B8C"] - - [0x80040bc0, "D_80040B90"] - - [0x80040bc4, "D_80040B94"] - - [0x80040bc8, "D_80040B98"] - - [0x80040bcc, "D_80040B9C"] - - [0x80040bd0, "D_80040BA0"] - - [0x80040bd4, "D_80040BA4"] - - [0x80040bd8, "D_80040BA8"] - - [0x80040bdc, "D_80040BAC"] - - [0x80040be0, "D_80040BB0"] - - [0x80040be4, "D_80040BB4"] - - [0x80040d40, "D_80040D10"] - - [0x80040d4c, "D_80040D1C"] - - [0x80040d50, "D_80040D20"] - - [0x80040e1c, "D_80040DEC"] - - [0x80040e28, "D_80040DF8"] - - [0x80040e2c, "D_80040DFC"] - - [0x80040e68, "D_80040E38"] - - [0x80040e6c, "D_80040E3C"] - - [0x80040e70, "D_80040E40"] - - [0x80040eac, "D_80040E7C"] - - [0x80040eb0, "D_80040E80"] - - [0x80040eb4, "text_spacing"] - - [0x80040eb8, "text_orientation"] - - [0x80040ebc, "text_wordwrap"] - - [0x80040ec0, "overlap_correction"] - - [0x80040ec4, "text_bilevel_filter"] - - [0x80040ec8, "text_x"] - - [0x80040ecc, "text_y"] - - [0x80040ed0, "text_s"] - - [0x80040ed4, "text_t"] - - [0x80040ed8, "D_80040EA8"] - - [0x80040edc, "ptrFirstFontTableSmall"] - - [0x80040ee0, "ptrSecondFontTableSmall"] - - [0x80040ee4, "ptrFirstFontTableLarge"] - - [0x80040ee8, "ptrSecondFontTableLarge"] - - [0x80040eec, "D_80040EBC"] - - [0x80040f0c, "D_80040EDC"] - - [0x80040f10, "D_80040EE0"] - - [0x80040f14, "D_80040EE4"] - - [0x80040f2c, "D_80040EFC"] - - [0x80040f30, "D_80040F00"] - - [0x80040f34, "D_80040F04"] - - [0x80040f38, "D_80040F08"] - - [0x80040f3c, "D_80040F0C"] - - [0x80040f40, "D_80040F10"] - - [0x80040f44, "D_80040F14"] - - [0x80040f48, "D_80040F18"] - - [0x80040f4c, "D_80040F1C"] - - [0x80040f50, "D_80040F20"] - - [0x80040f54, "D_80040F24"] - - [0x80040f58, "D_80040F28"] - - [0x80040f60, "D_80040F30"] - - [0x80040f70, "stan_c_debug_notice_list_entry"] - - [0x80040f74, "D_80040F44"] - - [0x80040f78, "D_80040F48"] - - [0x80040f7c, "list_of_tilesizes"] - - [0x80040f88, "base_ptr_connection_vals"] - - [0x80040f8c, "ptr_firstroom_0"] - - [0x80040f90, "D_80040F60"] - - [0x80040f94, "D_80040F64"] - - [0x80040fdc, "D_80040FAC"] - - [0x80040fe0, "stanLoaded"] - - [0x80040fe4, "stanlinelog_flag"] - - [0x800413ec, "D_800413BC"] - - [0x800413f0, "D_800413C0"] - - [0x800413f4, "D_800413C4"] - - [0x800413f8, "D_800413C8"] - - [0x800413fc, "D_800413CC"] - - [0x80041400, "D_800413D0"] - - [0x80041420, "ptr_bg_c_debug_debug_notice_list"] - - [0x80041424, "room_data_float1"] - - [0x80041428, "room_data_float2"] - - [0x8004142c, "D_800413FC"] - - [0x80041430, "D_80041400"] - - [0x80041434, "D_80041404"] - - [0x80041438, "D_80041408"] - - [0x8004143c, "D_8004140C"] - - [0x80041440, "D_80041410"] - - [0x80041444, "D_80041414"] - - [0x80041448, "D_80041418"] - - [0x80041454, "room_information"] - - [0x800414a4, "D_80041474"] - - [0x800414f4, "D_800414C4"] - - [0x80041544, "D_80041514"] - - [0x80041594, "D_80041564"] - - [0x800415e4, "D_800415B4"] - - [0x80041634, "D_80041604"] - - [0x80041684, "D_80041654"] - - [0x800416d4, "D_800416A4"] - - [0x80041724, "D_800416F4"] - - [0x80041774, "D_80041744"] - - [0x800417c4, "D_80041794"] - - [0x80041814, "D_800417E4"] - - [0x80041864, "D_80041834"] - - [0x800418b4, "D_80041884"] - - [0x80041904, "D_800418D4"] - - [0x80041954, "D_80041924"] - - [0x800419a4, "D_80041974"] - - [0x800419f4, "D_800419C4"] - - [0x80041a44, "D_80041A14"] - - [0x80041a94, "D_80041A64"] - - [0x80041ae4, "D_80041AB4"] - - [0x80041b34, "D_80041B04"] - - [0x80041b84, "D_80041B54"] - - [0x80041bd4, "D_80041BA4"] - - [0x80041c24, "D_80041BF4"] - - [0x80041c74, "D_80041C44"] - - [0x80041cc4, "D_80041C94"] - - [0x80041d14, "D_80041CE4"] - - [0x80041d64, "D_80041D34"] - - [0x80041db4, "D_80041D84"] - - [0x80041e04, "D_80041DD4"] - - [0x80041e54, "D_80041E24"] - - [0x80041ea4, "D_80041E74"] - - [0x80041ef4, "D_80041EC4"] - - [0x80041f44, "D_80041F14"] - - [0x80041f94, "D_80041F64"] - - [0x80041fe4, "D_80041FB4"] - - [0x80042034, "D_80042004"] - - [0x80042084, "D_80042054"] - - [0x800420d4, "D_800420A4"] - - [0x80042124, "D_800420F4"] - - [0x80042174, "D_80042144"] - - [0x800421c4, "D_80042194"] - - [0x80042214, "D_800421E4"] - - [0x80042264, "D_80042234"] - - [0x800422b4, "D_80042284"] - - [0x80042304, "D_800422D4"] - - [0x80042354, "D_80042324"] - - [0x800423a4, "D_80042374"] - - [0x800423f4, "D_800423C4"] - - [0x80042444, "D_80042414"] - - [0x80042494, "D_80042464"] - - [0x800424e4, "D_800424B4"] - - [0x80042534, "D_80042504"] - - [0x80042584, "D_80042554"] - - [0x800425d4, "D_800425A4"] - - [0x80042624, "D_800425F4"] - - [0x80042674, "D_80042644"] - - [0x800426c4, "D_80042694"] - - [0x80042714, "D_800426E4"] - - [0x80042764, "D_80042734"] - - [0x800427b4, "D_80042784"] - - [0x80042804, "D_800427D4"] - - [0x80042854, "D_80042824"] - - [0x800428a4, "D_80042874"] - - [0x800428f4, "D_800428C4"] - - [0x80042944, "D_80042914"] - - [0x80042994, "D_80042964"] - - [0x800429e4, "D_800429B4"] - - [0x80042a34, "D_80042A04"] - - [0x80042a84, "D_80042A54"] - - [0x80042ad4, "D_80042AA4"] - - [0x80042b24, "D_80042AF4"] - - [0x80042b74, "D_80042B44"] - - [0x80042bc4, "D_80042B94"] - - [0x80042c14, "D_80042BE4"] - - [0x80042c64, "D_80042C34"] - - [0x80042cb4, "D_80042C84"] - - [0x80042d04, "D_80042CD4"] - - [0x80042d54, "D_80042D24"] - - [0x80042da4, "D_80042D74"] - - [0x80042df4, "D_80042DC4"] - - [0x80042e44, "D_80042E14"] - - [0x80042e94, "D_80042E64"] - - [0x80042ee4, "D_80042EB4"] - - [0x80042f34, "D_80042F04"] - - [0x80042f84, "D_80042F54"] - - [0x80042fd4, "D_80042FA4"] - - [0x80043024, "D_80042FF4"] - - [0x80043074, "D_80043044"] - - [0x800430c4, "D_80043094"] - - [0x80043114, "D_800430E4"] - - [0x80043164, "D_80043134"] - - [0x800431b4, "D_80043184"] - - [0x80043204, "D_800431D4"] - - [0x80043254, "D_80043224"] - - [0x800432a4, "D_80043274"] - - [0x800432f4, "D_800432C4"] - - [0x80043344, "D_80043314"] - - [0x80043394, "D_80043364"] - - [0x800433e4, "D_800433B4"] - - [0x80043434, "D_80043404"] - - [0x80043484, "D_80043454"] - - [0x800434d4, "D_800434A4"] - - [0x80043524, "D_800434F4"] - - [0x80043574, "D_80043544"] - - [0x800435c4, "D_80043594"] - - [0x80043614, "D_800435E4"] - - [0x80043664, "D_80043634"] - - [0x800436b4, "D_80043684"] - - [0x80043704, "D_800436D4"] - - [0x80043754, "D_80043724"] - - [0x800437a4, "D_80043774"] - - [0x800437f4, "D_800437C4"] - - [0x80043844, "D_80043814"] - - [0x80043894, "D_80043864"] - - [0x800438e4, "D_800438B4"] - - [0x80043934, "D_80043904"] - - [0x80043984, "D_80043954"] - - [0x800439d4, "D_800439A4"] - - [0x80043a24, "D_800439F4"] - - [0x80043a74, "D_80043A44"] - - [0x80043ac4, "D_80043A94"] - - [0x80043b14, "D_80043AE4"] - - [0x80043b64, "D_80043B34"] - - [0x80043bb4, "D_80043B84"] - - [0x80043c04, "D_80043BD4"] - - [0x80043c54, "D_80043C24"] - - [0x80043ca4, "D_80043C74"] - - [0x80043cf4, "D_80043CC4"] - - [0x80043d44, "D_80043D14"] - - [0x80043d94, "D_80043D64"] - - [0x80043de4, "D_80043DB4"] - - [0x80043e34, "D_80043E04"] - - [0x80043e84, "D_80043E54"] - - [0x80043ed4, "D_80043EA4"] - - [0x80043f24, "D_80043EF4"] - - [0x80043f74, "D_80043F44"] - - [0x80043fc4, "D_80043F94"] - - [0x80044014, "D_80043FE4"] - - [0x80044064, "D_80044034"] - - [0x800440b4, "D_80044084"] - - [0x80044104, "D_800440D4"] - - [0x80044154, "D_80044124"] - - [0x800441a4, "D_80044174"] - - [0x800441f4, "D_800441C4"] - - [0x80044244, "D_80044214"] - - [0x80044294, "D_80044264"] - - [0x800442e4, "D_800442B4"] - - [0x80044324, "MaxNumRooms"] - - [0x80044328, "D_800442F8"] - - [0x8004432c, "D_800442FC"] - - [0x800443f4, "D_800443C4"] - - [0x800444bc, "levelinfotable"] - - [0x8004484c, "D_8004481C"] - - [0x80044854, "D_80044824"] - - [0x80044868, "current_room_maybe"] - - [0x8004486c, "NumberOfRoomsDrawn"] - - [0x80044870, "GlobalLight"] - - [0x80044888, "D_80044858"] - - [0x8004488c, "D_8004485C"] - - [0x80044890, "D_80044860"] - - [0x80044894, "D_80044864"] - - [0x80044898, "D_80044868"] - - [0x8004489c, "D_8004486C"] - - [0x800448a0, "D_80044870"] - - [0x800448a4, "D_80044874"] - - [0x800448a8, "D_80044878"] - - [0x800448ac, "D_8004487C"] - - [0x800448b0, "D_80044880"] - - [0x800448b4, "D_80044884"] - - [0x800448b8, "D_80044888"] - - [0x800448bc, "D_8004488C"] - - [0x800448c0, "D_80044890"] - - [0x800448c4, "D_80044894"] - - [0x800448c8, "D_80044898"] - - [0x800448cc, "D_8004489C"] - - [0x800448d0, "D_800448A0"] - - [0x800448d4, "D_800448A4"] - - [0x800448d8, "D_800448A8"] - - [0x80044928, "D_800448F8"] - - [0x8004492c, "current_visibility"] - - [0x80044930, "D_80044900"] - - [0x80044934, "D_80044904"] - - [0x80044938, "D_80044908"] - - [0x8004493c, "D_8004490C"] - - [0x80044940, "D_80044910"] - - [0x80044944, "D_80044914"] - - [0x80044948, "D_80044918"] - - [0x8004494c, "D_8004491C"] - - [0x80044950, "D_80044920"] - - [0x80044954, "D_80044924"] - - [0x80044958, "D_80044928"] - - [0x80044970, "D_80044940"] - - [0x800449f8, "D_800449C8"] - - [0x80044ae0, "D_80044AB0"] - - [0x80044b88, "D_80044B58"] - - [0x80044c30, "D_80044C00"] - - [0x80044c58, "D_80044C28"] - - [0x80044c80, "D_80044C50"] - - [0x80044c98, "D_80044C68"] - - [0x80044cd0, "D_80044CA0"] - - [0x80044db8, "ptrDynamic_CC_RM_LUT"] - - [0x80044de0, "D_80044DB0"] - - [0x80044df0, "D_80044DC0"] - - [0x80044df4, "near_fog_value"] - - [0x80044df8, "near_fog_times_intensity"] - - [0x80044dfc, "ptr_current_data"] - - [0x80044e40, "fog_tables"] - - [0x80045f80, "fog_tables2"] - - [0x80046060, "D_80046030"] - - [0x80046080, "ob_c_debug_notice_list_entry"] - - [0x80046084, "file_resource_table"] - - [0x80048304, "file_entry_max"] - - [0x80048310, "D_800482E0"] - - [0x80048314, "D_800482E4"] - - [0x80048320, "D_800482F0"] - - [0x80048334, "membars_string1"] - - [0x80048350, "membars_string2"] - - [0x8004836c, "membars_string3"] - - [0x80048390, "lvl_c_debug_notice_list"] - - [0x80048394, "current_stage_to_load"] - - [0x80048398, "D_80048368"] - - [0x8004839c, "musictrack1_playing"] - - [0x800483a0, "controls_locked_flag"] - - [0x800483a4, "clock_timer"] - - [0x800483a8, "global_timer_delta"] - - [0x800483ac, "global_timer"] - - [0x800483b0, "D_80048380"] - - [0x800483b4, "jp_global_timer_delta"] - - [0x800483b8, "difficulty_0"] - - [0x800483bc, "D_80048388"] - - [0x800483c0, "D_8004838C"] - - [0x800483c4, "D_80048390"] - - [0x800483c8, "D_80048394"] - - [0x800483cc, "mp_time"] - - [0x800483d0, "mp_point"] - - [0x800483d4, "D_800483A0"] - - [0x800483d8, "cur_mp_sec"] - - [0x800483dc, "D_800483A8"] - - [0x800483e0, "cur_mp_min"] - - [0x800483e4, "D_800483B0"] - - [0x800483e8, "stage_time_sec"] - - [0x800483ec, "D_800483B8"] - - [0x800483f0, "poweron_time_sec"] - - [0x800483f4, "D_800483C0"] - - [0x800483f8, "D_800483C4"] - - [0x800483fc, "D_800483C8"] - - [0x80048400, "D_800483CC"] - - [0x80048404, "D_800483D0"] - - [0x80048408, "D_800483D4"] - - [0x8004840c, "D_800483D8"] - - [0x80048410, "D_800483DC"] - - [0x80048414, "D_800483E0"] - - [0x80048418, "D_800483E4"] - - [0x80048420, "ramrom_table"] - - [0x80048498, "ptr_active_demofile"] - - [0x8004849c, "ramrom_blkbuf_2"] - - [0x800484a0, "ramrom_blkbuf_3"] - - [0x800484a4, "is_ramrom_flag"] - - [0x800484a8, "ramrom_demo_related_3"] - - [0x800484ac, "ramrom_demo_related_4"] - - [0x800484b0, "recording_ramrom_flag"] - - [0x800484b4, "ramrom_demo_related_6"] - - [0x800484b8, "flag_to_record_ramrom"] - - [0x800484c0, "D_80048490"] - - [0x800484c4, "D_80048494"] - - [0x800484c8, "D_80048498"] - - [0x800484cc, "jpD_800484CC"] - - [0x800484d0, "jpD_800484D0"] - - [0x800484d4, "D_8004849C"] - - [0x800484d8, "D_800484A0"] - - [0x800484dc, "D_800484A4"] - - [0x800484e0, "D_800484A8"] - - [0x800484e4, "copy_of_osgetcount_value_0"] - - [0x800484e8, "copy_of_osgetcount_value_1"] - - [0x800484ec, "D_800484B4"] - - [0x800484f0, "mission_state"] - - [0x80048500, "j_text_trigger"] - - [0x80048504, "LnameX_lookuptable"] - - [0x80048670, "loaded_text_index"] - - [0x800486a0, "mp_weapon_set_slaps"] - - [0x80048760, "mp_weapon_set_pistols"] - - [0x80048820, "mp_weapon_set_knife"] - - [0x800488e0, "mp_weapon_set_auto"] - - [0x800489a0, "mp_weapon_set_power"] - - [0x80048a60, "mp_weapon_set_sniper"] - - [0x80048b20, "mp_weapon_set_grenade"] - - [0x80048be0, "mp_weapon_set_remote_m"] - - [0x80048ca0, "mp_weapon_set_glaunch"] - - [0x80048d60, "mp_weapon_set_timed_m"] - - [0x80048e20, "mp_weapon_set_prox_m"] - - [0x80048ee0, "mp_weapon_set_rockets"] - - [0x80048fa0, "mp_weapon_set_lasers"] - - [0x80049060, "mp_weapon_set_golden"] - - [0x80049120, "mp_weapon_set_text_table"] - - [0x80049190, "mp_weapon_set"] - - [0x800491a0, "bytes"] - - [0x800491a4, "D_80049174"] - - [0x800491a8, "pixelbytecounts"] - - [0x80049210, "pixelsamplebits"] - - [0x80049278, "n64imagetypes"] - - [0x80049288, "D_80049258"] - - [0x800492c8, "D_80049298"] - - [0x800492d0, "D_800492A0"] - - [0x800492d8, "D_800492A8"] - - [0x80049304, "D_800492D4"] - - [0x80049330, "image_entries"] - - [0x8004e790, "D_8004E760"] - - [0x8004e794, "D_8004E764"] - - [0x8004e798, "isnd_default"] - - [0x8004e7a4, "D_8004E774"] - - [0x8004e7a8, "D_8004E778"] - - [0x8004e7ac, "isnd_stone"] - - [0x8004e7b8, "D_8004E788"] - - [0x8004e7bc, "D_8004E78C"] - - [0x8004e7c0, "isnd_wood"] - - [0x8004e7cc, "D_8004E79C"] - - [0x8004e7d4, "D_8004E7A4"] - - [0x8004e7d8, "isnd_metal"] - - [0x8004e7e4, "D_8004E7B4"] - - [0x8004e7e8, "D_8004E7B8"] - - [0x8004e7ec, "isnd_glass"] - - [0x8004e7f8, "D_8004E7C8"] - - [0x8004e7fc, "D_8004E7CC"] - - [0x8004e800, "isnd_water"] - - [0x8004e80c, "D_8004E7DC"] - - [0x8004e810, "D_8004E7E0"] - - [0x8004e814, "isnd_snow"] - - [0x8004e820, "D_8004E7F0"] - - [0x8004e824, "D_8004E7F4"] - - [0x8004e828, "isnd_dirt"] - - [0x8004e834, "D_8004E804"] - - [0x8004e83c, "D_8004E80C"] - - [0x8004e840, "isnd_mud"] - - [0x8004e84c, "D_8004E81C"] - - [0x8004e850, "D_8004E820"] - - [0x8004e854, "isnd_tile"] - - [0x8004e860, "D_8004E830"] - - [0x8004e864, "D_8004E834"] - - [0x8004e868, "isnd_metalobj"] - - [0x8004e874, "D_8004E844"] - - [0x8004e878, "D_8004E848"] - - [0x8004e87c, "isnd_chr"] - - [0x8004e888, "D_8004E858"] - - [0x8004e88c, "D_8004E85C"] - - [0x8004e890, "isnd_glass_xlu"] - - [0x8004e89c, "D_8004E86C"] - - [0x8004e910, "D_8004E8E0"] - - [0x8004e924, "D_8004E8F4"] - - [0x8004e964, "D_8004E934"] - - [0x8004e984, "D_8004E954"] - - [0x8004e9c0, "D_8004E990"] - - [0x8004e9e0, "D_8004E9B0"] - - [0x8004ea04, "D_8004E9D4"] - - [0x8004ea08, "D_8004E9D8"] - - [0x8004ea10, "D_8004E9E0"] - - [0x8004ea14, "D_8004E9E4"] - - [0x8004ea18, "D_8004E9E8"] - - [0x8004ea1c, "D_8004E9EC"] - - [0x8004ea20, "fast3d_related_0"] - - [0x8004ea80, "fast3d_related_1"] - - [0x8004eae0, "fast3d_related_array"] - - [0x8004eaf0, "D_8004EAC0"] - - [0x8004eaf4, "indy_status"] - - [0x8004eaf8, "indy_ready"] - - [0x8004eafc, "D_8004EACC"] - - [0x8004eb00, "D_8004EAD0"] - - [0x8004eb10, "D_8004EAE0"] - - [0x8004eb20, "D_8004EAF0"] - - [0x8004eb24, "D_8004EAF4"] - - [0x8004eb30, "viewport_img"] - - [0x8004eb40, "music_setup_entries"] - - [0x8004ec00, "random_tracks"] - - [0x8004ec60, "D_8004EC30"] - - [0x8004ec64, "D_8004EC34"] - - [0x8004ec68, "D_8004EC38"] - - [0x8004ec6c, "D_8004EC3C"] - - [0x8004ec70, "D_8004EC40"] - - [0x8004ed38, "D_8004ED08"] - - [0x8004ed3c, "D_8004ED0C"] - - [0x8004ed5c, "romnames"] - - [0x8004ed84, "D_8004ED54"] - - [0x8004eda0, "F32_8004ED70"] - - [0x8004eda4, "F32_8004ED74"] - - [0x8004eda8, "F32_8004ED78"] - - [0x8004edb0, "default_gu_scale"] - - [0x8004edc0, "aNochr"] - - [0x8004edc8, "aNoprop"] - - [0x8004edd0, "aNoobj"] - - [0x8004edd8, "aNoprop_0"] - - [0x8004ede0, "only_read_by_stageload"] - - [0x8004eee0, "aMp_"] - - [0x8004eee4, "D_8004EEB4"] - - [0x8004eee8, "jpt_8004EEB8"] - - [0x8004ef60, "jpt_mp_ammo_crate_expansion"] - - [0x8004ef80, "D_8004EF50"] - - [0x8004ef84, "D_8004EF54"] - - [0x8004ef88, "D_8004EF58"] - - [0x8004ef8c, "D_8004EF5C"] - - [0x8004ef90, "D_8004EF60"] - - [0x8004ef94, "D_8004EF64"] - - [0x8004ef98, "jpt_object_type_expansion"] - - [0x8004f054, "D_8004F024"] - - [0x8004f058, "D_8004F028"] - - [0x8004f05c, "jpt_8004F02C"] - - [0x8004f110, "D_8004F0E0"] - - [0x8004f114, "fl_neg_pi"] - - [0x8004f120, "projectile_ptr_table"] - - [0x8004f1d8, "default_zoom_speed"] - - [0x8004f1dc, "jpt_8004F1AC"] - - [0x8004f200, "D_8004F1D0"] - - [0x8004f204, "D_8004F1D4"] - - [0x8004f208, "D_8004F1D8"] - - [0x8004f20c, "D_8004F1DC"] - - [0x8004f210, "D_8004F1E0"] - - [0x8004f220, "D_8004F1F0"] - - [0x8004f224, "D_8004F1F4"] - - [0x8004f228, "D_8004F1F8"] - - [0x8004f230, "str_Mt"] - - [0x8004f234, "str_Mt_0"] - - [0x8004f240, "jpt_8004F210"] - - [0x8004f300, "D_8004F2D0"] - - [0x8004f304, "D_8004F2D4"] - - [0x8004f308, "D_8004F2D8"] - - [0x8004f30c, "D_8004F2DC"] - - [0x8004f310, "jpt_8004F2E0"] - - [0x8004f32c, "D_8004F2FC"] - - [0x8004f330, "D_8004F300"] - - [0x8004f334, "D_8004F304"] - - [0x8004f4b8, "asc_D_8004F488"] - - [0x8004f4bc, "a_"] - - [0x8004f4c0, "asc_D_8004F490"] - - [0x8004f4c4, "a1_"] - - [0x8004f4c8, "a2_"] - - [0x8004f4cc, "a3_"] - - [0x8004f4d0, "asc_D_8004F4A0"] - - [0x8004f4d4, "asc_D_8004F4A4"] - - [0x8004f4d8, "asc_D_8004F4A8"] - - [0x8004f4dc, "asc_D_8004F4AC"] - - [0x8004f4e0, "asc_D_8004F4B0"] - - [0x8004f4e4, "asc_D_8004F4B4"] - - [0x8005009c, "aD_"] - - [0x800500a4, "asc_D_80050074"] - - [0x80050c5c, "aD"] - - [0x80050c64, "aD_0"] - - [0x80050c6c, "aD_1"] - - [0x80050c74, "aD_2"] - - [0x80050c7c, "aD_7"] - - [0x80050c80, "aA_"] - - [0x80050c84, "asc_D_80050C54"] - - [0x8005183c, "a02d02d"] - - [0x80051848, "aS"] - - [0x80051854, "a02d02d_0"] - - [0x80051860, "aS02d02d"] - - [0x80051878, "D_80051848"] - - [0x8005187c, "a02d02d_1"] - - [0x80051888, "a_1f"] - - [0x80051890, "aX2"] - - [0x80051898, "aD_8"] - - [0x8005189c, "aDD_0"] - - [0x800518a8, "aDD_1"] - - [0x800518b4, "aDD_2"] - - [0x800518c0, "aDD_3"] - - [0x800518cc, "aD_10"] - - [0x800518d0, "cheat_available_table"] - - [0x800519f8, "folder_menu_x_dim"] - - [0x800519fc, "folder_menu_z_dim"] - - [0x80051a00, "D_800519D0"] - - [0x80051a04, "D_800519D4"] - - [0x80051a08, "tab1_max_x_coord"] - - [0x80051a0c, "tab2_first_x_coord"] - - [0x80051a10, "tab2_bottom_y_coord"] - - [0x80051a14, "D_800519E4"] - - [0x80051a18, "D_800519E8"] - - [0x80051a1c, "D_800519EC"] - - [0x80051a20, "D_800519F0"] - - [0x80051a24, "D_800519F4"] - - [0x80051a28, "D_800519F8"] - - [0x80051a2c, "menu01_aspect"] - - [0x80051a30, "menu01_pageheight"] - - [0x80051a34, "D_80051A04"] - - [0x80051a38, "D_80051A08"] - - [0x80051a3c, "D_80051A0C"] - - [0x80051a40, "D_80051A10"] - - [0x80051a44, "D_80051A14"] - - [0x80051a48, "D_80051A18"] - - [0x80051a4c, "D_80051A1C"] - - [0x80051a50, "D_80051A20"] - - [0x80051a54, "D_80051A24"] - - [0x80051a58, "D_80051A28"] - - [0x80051a5c, "D_80051A2C"] - - [0x80051a60, "D_80051A30"] - - [0x80051a64, "D_80051A34"] - - [0x80051a68, "D_80051A38"] - - [0x80051a6c, "D_80051A3C"] - - [0x80051a70, "D_80051A40"] - - [0x80051a74, "D_80051A44"] - - [0x80051a78, "D_80051A48"] - - [0x80051a7c, "D_80051A4C"] - - [0x80051a80, "D_80051A50"] - - [0x80051a84, "D_80051A54"] - - [0x80051a88, "D_80051A58"] - - [0x80051a8c, "D_80051A5C"] - - [0x80051a90, "jpt_scenario_specific_settings_mp"] - - [0x80051ab0, "menu0E_aspect"] - - [0x80051ab4, "menu0E_pageheight"] - - [0x80051ab8, "D_80051A88"] - - [0x80051abc, "D_80051A8C"] - - [0x80051ac0, "D_80051A90"] - - [0x80051ac4, "D_80051A94"] - - [0x80051ac8, "D_80051A98"] - - [0x80051acc, "D_80051A9C"] - - [0x80051ad0, "D_80051AA0"] - - [0x80051ad4, "D_80051AA4"] - - [0x80051ad8, "D_80051AA8"] - - [0x80051adc, "D_80051AAC"] - - [0x80051ae0, "D_80051AB0"] - - [0x80051ae4, "D_80051AB4"] - - [0x80051ae8, "D_80051AB8"] - - [0x80051aec, "D_80051ABC"] - - [0x80051af0, "jpt_briefingpage_name"] - - [0x80051b04, "menu0C_aspect"] - - [0x80051b08, "menu0C_pageheight"] - - [0x80051b0c, "menu0D_aspect"] - - [0x80051b10, "menu0D_pageheight"] - - [0x80051b14, "menu15_aspect"] - - [0x80051b18, "menu15_pageheight"] - - [0x80051b1c, "jpt_intro_bond_head"] - - [0x80051b30, "D_80051B00"] - - [0x80051b34, "D_80051B04"] - - [0x80051b38, "D_80051B08"] - - [0x80051b3c, "D_80051B0C"] - - [0x80051b40, "D_80051B10"] - - [0x80051b44, "D_80051B14"] - - [0x80051b48, "D_80051B18"] - - [0x80051b4c, "D_80051B1C"] - - [0x80051b50, "D_80051B20"] - - [0x80051b54, "D_80051B24"] - - [0x80051b58, "D_80051B28"] - - [0x80051b5c, "D_80051B2C"] - - [0x80051b60, "D_80051B30"] - - [0x80051b64, "D_80051B34"] - - [0x80051b68, "D_80051B38"] - - [0x80051b6c, "D_80051B3C"] - - [0x80051b70, "D_80051B40"] - - [0x80051b74, "D_80051B44"] - - [0x80051b78, "D_80051B48"] - - [0x80051b7c, "jpt_menu_update"] - - [0x80051be4, "jpt_menu_init"] - - [0x80051c4c, "jpt_menu_interface"] - - [0x80051cb4, "jpt_menu_constructor"] - - [0x80051d20, "D_80051CF0"] - - [0x80051d30, "PI_80051D00"] - - [0x80051d40, "D_80051D10"] - - [0x80051d44, "D_80051D14"] - - [0x80051d48, "D_80051D18"] - - [0x80051d4c, "D_80051D1C"] - - [0x80051d50, "D_80051D20"] - - [0x80051d54, "D_80051D24"] - - [0x80051d58, "D_80051D28"] - - [0x80051d5c, "D_80051D2C"] - - [0x80051d60, "D_80051D30"] - - [0x80051d64, "D_80051D34"] - - [0x80051d68, "D_80051D38"] - - [0x80051d6c, "D_80051D3C"] - - [0x80051d70, "D_80051D40"] - - [0x80051d74, "D_80051D44"] - - [0x80051d78, "D_80051D48"] - - [0x80051d7c, "D_80051D4C"] - - [0x80051d80, "D_80051D50"] - - [0x80051d84, "D_80051D54"] - - [0x80051d88, "D_jp80051D88"] - - [0x80051d8c, "D_80051D58"] - - [0x80051d90, "D_80051D5C"] - - [0x80051d94, "D_80051D60"] - - [0x80051d98, "D_80051D64"] - - [0x80051d9c, "D_80051D68"] - - [0x80051da0, "D_80051D6C"] - - [0x80051da4, "D_80051D70"] - - [0x80051da8, "D_80051D74"] - - [0x80051dac, "D_80051D78"] - - [0x80051db0, "D_80051D7C"] - - [0x80051db4, "D_80051D80"] - - [0x80051db8, "D_80051D84"] - - [0x80051dbc, "D_80051D88"] - - [0x80051dc0, "D_80051D90"] - - [0x80051dc4, "D_80051D94"] - - [0x80051dc8, "D_80051D98"] - - [0x80051dcc, "D_80051D9C"] - - [0x80051dd0, "D_80051DA0"] - - [0x80051dd4, "D_80051DA4"] - - [0x80051dd8, "D_80051DA8"] - - [0x80051ddc, "D_80051DAC"] - - [0x80051de0, "D_80051DB0"] - - [0x80051de4, "D_80051DB4"] - - [0x80051de8, "D_80051DB8"] - - [0x80051dec, "D_80051DBC"] - - [0x80051df0, "D_80051DC0"] - - [0x80051df4, "D_80051DC4"] - - [0x80051df8, "D_80051DC8"] - - [0x80051dfc, "D_80051DCC"] - - [0x80051e00, "D_80051DD0"] - - [0x80051e04, "D_80051DD4"] - - [0x80051e08, "D_80051DD8"] - - [0x80051e0c, "D_80051DDC"] - - [0x80051e10, "D_80051DE0"] - - [0x80051e14, "D_80051DE4"] - - [0x80051e18, "D_80051DE8"] - - [0x80051e1c, "D_80051DEC"] - - [0x80051e20, "D_80051DF0"] - - [0x80051e24, "D_80051DF4"] - - [0x80051e28, "D_80051DF8"] - - [0x80051e2c, "D_80051DFC"] - - [0x80051e30, "D_80051E00"] - - [0x80051e34, "D_80051E04"] - - [0x80051e38, "D_80051E08"] - - [0x80051e3c, "D_80051E0C"] - - [0x80051e40, "D_80051E10"] - - [0x80051e44, "D_80051E14"] - - [0x80051e48, "D_80051E18"] - - [0x80051e4c, "D_80051E1C"] - - [0x80051e50, "D_80051E20"] - - [0x80051e54, "D_80051E24"] - - [0x80051e58, "D_80051E28"] - - [0x80051e5c, "D_80051E2C"] - - [0x80051e60, "D_80051E30"] - - [0x80051e64, "D_80051E34"] - - [0x80051e68, "D_80051E38"] - - [0x80051e6c, "D_80051E3C"] - - [0x80051e70, "D_80051E40"] - - [0x80051e74, "D_80051E44"] - - [0x80051e78, "D_80051E48"] - - [0x80051e7c, "D_80051E4C"] - - [0x80051e80, "D_80051E50"] - - [0x80051e84, "D_80051E54"] - - [0x80051e88, "D_80051E58"] - - [0x80051e8c, "D_80051E5C"] - - [0x80051e90, "D_80051E60"] - - [0x80051e94, "D_80051E64"] - - [0x80051e98, "D_80051E68"] - - [0x80051e9c, "D_80051E6C"] - - [0x80051ea0, "D_80051E70"] - - [0x80051ea4, "D_80051E74"] - - [0x80051ea8, "D_80051E78"] - - [0x80051eac, "D_80051E7C"] - - [0x80051eb0, "D_80051E80"] - - [0x80051eb4, "D_80051E84"] - - [0x80051eb8, "D_80051E88"] - - [0x80051ebc, "D_80051E8C"] - - [0x80051ec0, "D_80051E90"] - - [0x80051ec4, "D_80051E94"] - - [0x80051ec8, "D_80051E98"] - - [0x80051ecc, "D_80051E9C"] - - [0x80051ed0, "D_80051EA0"] - - [0x80051ed4, "D_80051EA4"] - - [0x80051ed8, "D_80051EA8"] - - [0x80051edc, "D_80051EAC"] - - [0x80051ee0, "D_80051EB0"] - - [0x80051ee4, "D_80051EB4"] - - [0x80051ee8, "D_80051EB8"] - - [0x80051eec, "D_80051EBC"] - - [0x80051ef0, "D_80051EC0"] - - [0x80051ef4, "D_80051EC4"] - - [0x80051ef8, "D_80051EC8"] - - [0x80051efc, "D_80051ECC"] - - [0x80051f00, "D_80051ED0"] - - [0x80051f04, "D_80051ED4"] - - [0x80051f08, "D_80051ED8"] - - [0x80051f0c, "D_80051EDC"] - - [0x80051f10, "D_80051EE0"] - - [0x80051f14, "D_80051EE4"] - - [0x80051f18, "D_80051EE8"] - - [0x80051f1c, "D_80051EEC"] - - [0x80051f20, "D_80051EF0"] - - [0x80051f24, "D_80051EF4"] - - [0x80051f28, "D_80051EF8"] - - [0x80051f2c, "D_80051EFC"] - - [0x80051f30, "D_80051F00"] - - [0x80051f34, "D_80051F04"] - - [0x80051f38, "D_80051F08"] - - [0x80051f3c, "D_80051F0C"] - - [0x80051f40, "D_80051F10"] - - [0x80051f44, "D_80051F14"] - - [0x80051f48, "D_80051F18"] - - [0x80051f4c, "D_80051F1C"] - - [0x80051f50, "D_80051F20"] - - [0x80051f54, "D_80051F24"] - - [0x80051f58, "D_80051F28"] - - [0x80051f5c, "D_80051F2C"] - - [0x80051f60, "D_80051F30"] - - [0x80051f64, "D_80051F34"] - - [0x80051f68, "D_80051F38"] - - [0x80051f6c, "D_80051F3C"] - - [0x80051f70, "D_80051F40"] - - [0x80051f74, "D_80051F44"] - - [0x80051f78, "D_80051F48"] - - [0x80051f7c, "D_80051F4C"] - - [0x80051f80, "D_80051F50"] - - [0x80051f84, "D_80051F54"] - - [0x80051f88, "D_80051F58"] - - [0x80051f8c, "D_80051F5C"] - - [0x80051f90, "D_80051F60"] - - [0x80051f94, "D_80051F64"] - - [0x80051f98, "D_80051F68"] - - [0x80051f9c, "D_80051F6C"] - - [0x80051fa0, "D_80051F70"] - - [0x80051fa4, "D_80051F74"] - - [0x80051fa8, "D_80051F78"] - - [0x80051fac, "jpt_80051F7C"] - - [0x80051ff8, "D_80051FC8"] - - [0x80051ffc, "D_80051FCC"] - - [0x80052000, "D_80051FD0"] - - [0x80052004, "D_80051FD4"] - - [0x80052008, "D_80051FD8"] - - [0x8005200c, "D_80051FDC"] - - [0x80052010, "D_80051FE0"] - - [0x80052014, "D_80051FE4"] - - [0x80052018, "D_80051FE8"] - - [0x8005201c, "D_80051FEC"] - - [0x80052020, "D_80051FF0"] - - [0x80052024, "D_80051FF4"] - - [0x80052028, "D_80051FF8"] - - [0x8005202c, "D_80051FFC"] - - [0x80052030, "D_80052000"] - - [0x80052034, "D_80052004"] - - [0x80052038, "D_80052008"] - - [0x8005203c, "D_8005200C"] - - [0x80052040, "D_80052010"] - - [0x80052044, "D_80052014"] - - [0x80052048, "D_80052018"] - - [0x8005204c, "D_8005201C"] - - [0x80052050, "D_80052020"] - - [0x80052054, "D_80052024"] - - [0x80052058, "D_80052028"] - - [0x8005205c, "D_8005202C"] - - [0x80052060, "D_80052030"] - - [0x80052064, "D_80052034"] - - [0x80052068, "D_80052038"] - - [0x8005206c, "D_8005203C"] - - [0x80052070, "D_80052040"] - - [0x80052074, "D_80052044"] - - [0x80052078, "D_80052048"] - - [0x8005207c, "D_8005204C"] - - [0x80052080, "D_80052050"] - - [0x80052084, "D_80052054"] - - [0x80052088, "D_80052058"] - - [0x8005208c, "D_8005205C"] - - [0x80052090, "D_80052060"] - - [0x80052094, "D_80052064"] - - [0x80052098, "D_80052068"] - - [0x8005209c, "D_8005206C"] - - [0x800520a0, "jpt_80052070"] - - [0x80052100, "D_800520D0"] - - [0x80052104, "D_800520D4"] - - [0x80052108, "D_800520D8"] - - [0x8005210c, "D_800520DC"] - - [0x80052110, "D_800520E0"] - - [0x80052114, "D_800520E4"] - - [0x80052118, "D_800520E8"] - - [0x8005211c, "D_800520EC"] - - [0x80052120, "D_800520F0"] - - [0x80052124, "D_800520F4"] - - [0x80052128, "D_800520F8"] - - [0x8005212c, "D_800520FC"] - - [0x80052130, "jpt_actionblock_lengths"] - - [0x80052524, "D_800524F4"] - - [0x80052528, "jpt_800524F8"] - - [0x8005291c, "D_800528EC"] - - [0x80052920, "D_800528F0"] - - [0x80052924, "D_800528F4"] - - [0x80052928, "D_800528F8"] - - [0x8005292c, "jpt_800528FC"] - - [0x800529a4, "D_80052974"] - - [0x800529a8, "D_80052978"] - - [0x800529b0, "jpt_80052980"] - - [0x800529d0, "jpt_800529A0"] - - [0x800529f0, "D_800529C0"] - - [0x800529f4, "D_800529C4"] - - [0x800529f8, "D_800529C8"] - - [0x80052a00, "D_800529D0"] - - [0x80052a04, "D_800529D4"] - - [0x80052a08, "D_800529D8"] - - [0x80052a68, "D_80052A38"] - - [0x80052a6c, "D_80052A3C"] - - [0x80052a70, "D_80052A40"] - - [0x80052a74, "D_80052A44"] - - [0x80052a78, "D_80052A48"] - - [0x80052a7c, "D_80052A4C"] - - [0x80052a80, "D_80052A50"] - - [0x80052a84, "D_80052A54"] - - [0x80052a88, "D_80052A58"] - - [0x80052a8c, "D_80052A5C"] - - [0x80052a90, "D_80052A60"] - - [0x80052a94, "D_80052A64"] - - [0x80052a98, "D_80052A68"] - - [0x80052a9c, "D_80052A6C"] - - [0x80052aa0, "D_80052A70"] - - [0x80052aa4, "D_80052A74"] - - [0x80052aa8, "D_80052A78"] - - [0x80052aac, "D_80052A7C"] - - [0x80052ab0, "D_80052A80"] - - [0x80052ab4, "D_80052A84"] - - [0x80052ab8, "D_80052A88"] - - [0x80052abc, "D_80052A8C"] - - [0x80052ac0, "D_80052A90"] - - [0x80052ac4, "D_80052A94"] - - [0x80052ac8, "rocket_initial_gravity_modifier"] - - [0x80052acc, "D_80052A9C"] - - [0x80052ad0, "D_80052AA0"] - - [0x80052ad4, "prop_projectile_gravity_modifier"] - - [0x80052ad8, "D_80052AA8"] - - [0x80052adc, "D_80052AAC"] - - [0x80052ae0, "D_80052AB0"] - - [0x80052ae4, "D_80052AB4"] - - [0x80052ae8, "D_80052AB8"] - - [0x80052aec, "D_80052ABC"] - - [0x80052af0, "D_80052AC0"] - - [0x80052af4, "D_80052AC4"] - - [0x80052af8, "D_80052AC8"] - - [0x80052afc, "D_80052ACC"] - - [0x80052b00, "D_80052AD0"] - - [0x80052b04, "D_80052AD4"] - - [0x80052b08, "D_80052AD8"] - - [0x80052b0c, "D_80052ADC"] - - [0x80052b10, "D_80052AE0"] - - [0x80052b14, "D_80052AE4"] - - [0x80052b18, "D_80052AE8"] - - [0x80052b1c, "D_80052AEC"] - - [0x80052b20, "D_80052AF0"] - - [0x80052b24, "D_80052AF4"] - - [0x80052b28, "D_80052AF8"] - - [0x80052b2c, "D_80052AFC"] - - [0x80052b30, "D_80052B00"] - - [0x80052b34, "D_80052B04"] - - [0x80052b38, "D_80052B08"] - - [0x80052b3c, "D_80052B0C"] - - [0x80052b40, "D_80052B10"] - - [0x80052b44, "D_80052B14"] - - [0x80052b48, "D_80052B18"] - - [0x80052b4c, "D_80052B1C"] - - [0x80052b50, "D_80052B20"] - - [0x80052b54, "D_80052B24"] - - [0x80052b58, "D_80052B28"] - - [0x80052b5c, "D_80052B2C"] - - [0x80052b60, "D_80052B30"] - - [0x80052b64, "D_80052B34"] - - [0x80052b68, "D_80052B38"] - - [0x80052b6c, "D_80052B3C"] - - [0x80052b70, "D_80052B40"] - - [0x80052b74, "D_80052B44"] - - [0x80052b78, "D_80052B48"] - - [0x80052b7c, "D_80052B4C"] - - [0x80052b80, "D_80052B50"] - - [0x80052b84, "D_80052B54"] - - [0x80052b88, "D_80052B58"] - - [0x80052b8c, "D_80052B5C"] - - [0x80052b90, "D_80052B60"] - - [0x80052b94, "D_80052B64"] - - [0x80052b98, "D_80052B68"] - - [0x80052b9c, "D_80052B6C"] - - [0x80052ba0, "D_80052B70"] - - [0x80052ba4, "D_80052B74"] - - [0x80052ba8, "D_80052B78"] - - [0x80052bac, "D_80052B7C"] - - [0x80052bb0, "D_80052B80"] - - [0x80052bb4, "D_80052B84"] - - [0x80052bb8, "D_80052B88"] - - [0x80052bbc, "D_80052B8C"] - - [0x80052bc0, "D_80052B90"] - - [0x80052bc4, "D_80052B94"] - - [0x80052bc8, "jpt_80052B98"] - - [0x80052c98, "D_80052C68"] - - [0x80052c9c, "jpt_80052C6C"] - - [0x80052cdc, "D_80052CAC"] - - [0x80052ce0, "D_80052CB0"] - - [0x80052ce4, "D_80052CB4"] - - [0x80052ce8, "D_80052CB8"] - - [0x80052cec, "D_80052CBC"] - - [0x80052cf0, "D_80052CC0"] - - [0x80052cf4, "D_80052CC4"] - - [0x80052cf8, "D_80052CC8"] - - [0x80052cfc, "D_80052CCC"] - - [0x80052d00, "D_80052CD0"] - - [0x80052d04, "D_80052CD4"] - - [0x80052d08, "D_80052CD8"] - - [0x80052d0c, "D_80052CDC"] - - [0x80052d10, "D_80052CE0"] - - [0x80052d14, "D_80052CE4"] - - [0x80052d18, "D_80052CE8"] - - [0x80052d1c, "D_80052CEC"] - - [0x80052d20, "D_80052CF0"] - - [0x80052d24, "D_80052CF4"] - - [0x80052d28, "D_80052CF8"] - - [0x80052d2c, "D_80052CFC"] - - [0x80052d30, "D_80052D00"] - - [0x80052d34, "D_80052D04"] - - [0x80052d38, "D_80052D08"] - - [0x80052d3c, "D_80052D0C"] - - [0x80052d40, "D_80052D10"] - - [0x80052d44, "D_80052D14"] - - [0x80052d48, "D_80052D18"] - - [0x80052d4c, "D_80052D1C"] - - [0x80052d50, "D_80052D20"] - - [0x80052d54, "D_80052D24"] - - [0x80052d58, "D_80052D28"] - - [0x80052d5c, "D_80052D2C"] - - [0x80052d60, "D_80052D30"] - - [0x80052d64, "D_80052D34"] - - [0x80052d68, "D_80052D38"] - - [0x80052d6c, "D_80052D3C"] - - [0x80052d70, "D_80052D40"] - - [0x80052d74, "D_80052D44"] - - [0x80052d78, "D_80052D48"] - - [0x80052d7c, "D_80052D4C"] - - [0x80052d80, "D_80052D50"] - - [0x80052d84, "D_80052D54"] - - [0x80052d88, "D_80052D58"] - - [0x80052d8c, "D_80052D5C"] - - [0x80052d90, "D_80052D60"] - - [0x80052d94, "D_80052D64"] - - [0x80052d98, "D_80052D68"] - - [0x80052d9c, "D_80052D6C"] - - [0x80052da0, "D_80052D70"] - - [0x80052da4, "D_80052D74"] - - [0x80052da8, "D_80052D78"] - - [0x80052dac, "D_80052D7C"] - - [0x80052db0, "D_80052D80"] - - [0x80052db4, "D_80052D84"] - - [0x80052db8, "D_80052D88"] - - [0x80052dbc, "D_80052D8C"] - - [0x80052dc0, "D_80052D90"] - - [0x80052dc4, "D_80052D94"] - - [0x80052dc8, "D_80052D98"] - - [0x80052dcc, "jpt_80052D9C"] - - [0x80052e20, "jpt_80052DF0"] - - [0x80052edc, "jpt_80052EAC"] - - [0x80052f24, "D_80052EF4"] - - [0x80052f28, "D_80052EF8"] - - [0x80052f2c, "D_80052EFC"] - - [0x80052f30, "D_80052F00"] - - [0x80052f34, "D_80052F04"] - - [0x80052f38, "D_80052F08"] - - [0x80052f3c, "D_80052F0C"] - - [0x80052f40, "jpt_80052F10"] - - [0x80052fb4, "jpt_80052F84"] - - [0x8005301c, "jpt_80052FEC"] - - [0x80053090, "ammo_collected_from_magazine"] - - [0x800530c8, "ammo_in_weapon"] - - [0x80053100, "jpt_800530D0"] - - [0x8005325c, "object_interaction_table"] - - [0x80053310, "D_800532E0"] - - [0x80053314, "D_800532E4"] - - [0x80053318, "D_800532E8"] - - [0x8005331c, "D_800532EC"] - - [0x80053320, "D_800532F0"] - - [0x80053324, "jpt_hat_worn"] - - [0x80053354, "D_80053324"] - - [0x80053358, "D_80053328"] - - [0x8005335c, "D_8005332C"] - - [0x80053360, "D_80053330"] - - [0x80053364, "D_80053334"] - - [0x80053368, "D_80053338"] - - [0x8005336c, "D_8005333C"] - - [0x80053370, "D_80053340"] - - [0x80053374, "D_80053344"] - - [0x80053378, "D_80053348"] - - [0x8005337c, "door_opening_sound_table_0"] - - [0x800533c0, "door_opening_sound_table_1"] - - [0x80053404, "door_closing_sound_table_0"] - - [0x80053448, "door_closing_sound_table_1"] - - [0x8005348c, "D_8005345C"] - - [0x80053490, "D_80053460"] - - [0x80053494, "D_80053464"] - - [0x80053498, "D_80053468"] - - [0x8005349c, "D_8005346C"] - - [0x800534a0, "D_80053470"] - - [0x800534a4, "D_80053474"] - - [0x800534a8, "D_80053478"] - - [0x800534ac, "D_8005347C"] - - [0x800534b0, "D_80053480"] - - [0x800534b4, "D_80053484"] - - [0x800534b8, "D_80053488"] - - [0x800534bc, "D_8005348C"] - - [0x800534c0, "jpt_object_setup_size"] - - [0x8005357c, "jpt_8005354C"] - - [0x80053640, "D_80053610"] - - [0x80053674, "aSAC"] - - [0x8005367c, "aSC"] - - [0x80053684, "jpt_objectives_microcode_handler"] - - [0x800536c0, "D_80053690"] - - [0x800536c4, "D_80053694"] - - [0x800536c8, "D_80053698"] - - [0x800536cc, "D_8005369C"] - - [0x800536d0, "D_800536A0"] - - [0x800536d4, "D_800536A4"] - - [0x800536d8, "D_800536A8"] - - [0x800536dc, "D_800536AC"] - - [0x800536e0, "D_800536B0"] - - [0x800536e4, "D_800536B4"] - - [0x800536e8, "D_800536B8"] - - [0x800536ec, "npc_gravity_modifier"] - - [0x800536f0, "D_800536C0"] - - [0x800536f4, "D_800536C4"] - - [0x800536f8, "D_800536C8"] - - [0x800536fc, "D_800536CC"] - - [0x80053700, "D_800536D0"] - - [0x80053704, "D_800536D4"] - - [0x80053708, "D_800536D8"] - - [0x8005370c, "D_800536DC"] - - [0x80053710, "D_800536E0"] - - [0x80053714, "D_800536E4"] - - [0x80053718, "D_800536E8"] - - [0x8005371c, "D_800536EC"] - - [0x80053720, "D_800536F0"] - - [0x80053730, "D_80053700"] - - [0x80053734, "D_80053704"] - - [0x80053738, "D_80053708"] - - [0x8005373c, "D_8005370C"] - - [0x80053740, "D_80053710"] - - [0x80053744, "D_80053714"] - - [0x80053748, "D_80053718"] - - [0x80053750, "D_80053720"] - - [0x80053754, "D_80053724"] - - [0x80053758, "D_80053728"] - - [0x8005375c, "D_8005372C"] - - [0x80053760, "D_80053730"] - - [0x80053764, "D_80053734"] - - [0x80053770, "D_80053740"] - - [0x80053774, "D_80053744"] - - [0x80053778, "D_80053748"] - - [0x8005377c, "D_8005374C"] - - [0x80053780, "D_80053750"] - - [0x80053c24, "aD_9"] - - [0x80053c28, "aSD"] - - [0x80053c30, "aSDS"] - - [0x80053c3c, "aSD_0"] - - [0x80053c44, "D_80053C14"] - - [0x80053c48, "D_80053C18"] - - [0x80053c4c, "D_80053C1C"] - - [0x80053c50, "D_80053C20"] - - [0x80053c54, "D_80053C24"] - - [0x80053c58, "D_80053C28"] - - [0x80053c5c, "D_80053C2C"] - - [0x80053c60, "D_80053C30"] - - [0x80053c64, "D_80053C34"] - - [0x80053c68, "D_80053C38"] - - [0x80053c6c, "D_80053C3C"] - - [0x80053c70, "D_80053C40"] - - [0x80053c74, "D_80053C44"] - - [0x80053c78, "D_80053C48"] - - [0x80053c7c, "D_80053C4C"] - - [0x80053c80, "D_80053C50"] - - [0x80053c84, "D_80053C54"] - - [0x80053c88, "D_80053C58"] - - [0x80053c8c, "D_80053C5C"] - - [0x80053c90, "D_80053C60"] - - [0x80053c94, "D_80053C64"] - - [0x80053c98, "D_80053C68"] - - [0x80053c9c, "D_80053C6C"] - - [0x80053ca0, "D_80053C70"] - - [0x80053ca4, "D_80053C74"] - - [0x80053ca8, "D_80053C78"] - - [0x80053cac, "D_80053C7C"] - - [0x80053cb0, "D_80053C80"] - - [0x80053cb4, "D_80053C84"] - - [0x80053cb8, "D_80053C88"] - - [0x80053cbc, "D_80053C8C"] - - [0x80053cc0, "D_80053C90"] - - [0x80053cc4, "D_80053C94"] - - [0x80053cc8, "D_80053C98"] - - [0x80053ccc, "D_80053C9C"] - - [0x80053cd0, "D_80053CA0"] - - [0x80053cd4, "D_80053CA4"] - - [0x80053cd8, "D_80053CA8"] - - [0x80053cdc, "D_80053CAC"] - - [0x80053ce0, "jpt_player_thrown_object"] - - [0x80053d6c, "jpt_temp_obj_for_itemtype"] - - [0x80053df8, "D_80053DC8"] - - [0x80053dfc, "D_80053DCC"] - - [0x80053e00, "D_80053DD0"] - - [0x80053e04, "D_80053DD4"] - - [0x80053e08, "D_80053DD8"] - - [0x80053e0c, "D_80053DDC"] - - [0x80053e10, "D_80053DE0"] - - [0x80053e14, "D_80053DE4"] - - [0x80053e18, "D_80053DE8"] - - [0x80053e1c, "D_80053DEC"] - - [0x80053e20, "D_80053DF0"] - - [0x80053e24, "D_80053DF4"] - - [0x80053e28, "D_80053DF8"] - - [0x80053e2c, "D_80053DFC"] - - [0x80053e30, "D_80053E00"] - - [0x80053e34, "D_80053E04"] - - [0x80053e38, "D_80053E08"] - - [0x80053e3c, "D_80053E0C"] - - [0x80053e40, "D_80053E10"] - - [0x80053e44, "D_80053E14"] - - [0x80053e48, "D_80053E18"] - - [0x80053e4c, "D_80053E1C"] - - [0x80053e50, "D_80053E20"] - - [0x80053e54, "D_80053E24"] - - [0x80053e58, "D_80053E28"] - - [0x80053e5c, "D_80053E2C"] - - [0x80053e60, "D_80053E30"] - - [0x80053e64, "D_80053E34"] - - [0x80053e68, "jpt_weapon_bullet_type"] - - [0x80053eb8, "D_80053E88"] - - [0x80053ebc, "D_80053E8C"] - - [0x80053ec0, "D_80053E90"] - - [0x80053ec4, "D_80053E94"] - - [0x80053ec8, "D_80053E98"] - - [0x80053ecc, "D_80053E9C"] - - [0x80053ed0, "D_80053EA0"] - - [0x80053ed4, "D_80053EA4"] - - [0x80053ed8, "D_80053EA8"] - - [0x80053edc, "D_80053EAC"] - - [0x80053ee0, "D_80053EB0"] - - [0x80053ee4, "D_80053EB4"] - - [0x80053ee8, "D_80053EB8"] - - [0x80053eec, "D_80053EBC"] - - [0x80053ef0, "D_80053EC0"] - - [0x80053ef4, "D_80053EC4"] - - [0x80053ef8, "D_80053EC8"] - - [0x80053efc, "D_80053ECC"] - - [0x80053f00, "D_80053ED0"] - - [0x80053f04, "D_80053ED4"] - - [0x80053f08, "D_80053ED8"] - - [0x80053f0c, "D_80053EDC"] - - [0x80053f10, "D_80053EE0"] - - [0x80053f14, "D_80053EE4"] - - [0x80053f18, "D_80053EE8"] - - [0x80053f1c, "D_80053EEC"] - - [0x80053f20, "D_80053EF0"] - - [0x80053f24, "D_80053EF4"] - - [0x80053f28, "D_80053EF8"] - - [0x80053f2c, "D_80053EFC"] - - [0x80053f30, "D_80053F00"] - - [0x80053f34, "D_80053F04"] - - [0x80053f38, "D_80053F08"] - - [0x80053f3c, "D_80053F0C"] - - [0x80053f40, "D_80053F10"] - - [0x80053f44, "D_80053F14"] - - [0x80053f48, "D_80053F18"] - - [0x80053f4c, "D_80053F1C"] - - [0x80053f50, "D_80053F20"] - - [0x80053f54, "jpt_80053F24"] - - [0x800540b4, "jpt_80054084"] - - [0x800541a0, "D_80054170"] - - [0x800541a4, "D_80054174"] - - [0x800541a8, "D_80054178"] - - [0x800541ac, "D_8005417C"] - - [0x800541b0, "D_80054180"] - - [0x800541b4, "D_80054184"] - - [0x800541b8, "D_80054188"] - - [0x800541bc, "D_8005418C"] - - [0x800541c0, "D_80054190"] - - [0x800541c4, "jpt_80054194"] - - [0x800542bc, "D_8005428C"] - - [0x800542c0, "D_80054290"] - - [0x800542c4, "jpt_80054294"] - - [0x800543bc, "D_8005438C"] - - [0x800543c0, "D_80054390"] - - [0x800543c4, "D_80054394"] - - [0x800543c8, "D_80054398"] - - [0x800543cc, "D_8005439C"] - - [0x800543d0, "D_800543A0"] - - [0x800543d4, "D_800543A4"] - - [0x800543d8, "D_800543A8"] - - [0x800543dc, "D_800543AC"] - - [0x800543e0, "D_800543B0"] - - [0x800543e4, "D_800543B4"] - - [0x800543e8, "D_800543B8"] - - [0x800543ec, "D_800543BC"] - - [0x800543f0, "D_800543C0"] - - [0x800543f4, "D_800543C4"] - - [0x800543f8, "D_800543C8"] - - [0x800543fc, "D_800543CC"] - - [0x80054400, "D_800543D0"] - - [0x80054404, "D_800543D4"] - - [0x80054408, "expended_shell_initial_gravity_modifier_pistol"] - - [0x8005440c, "D_800543DC"] - - [0x80054410, "D_800543E0"] - - [0x80054414, "D_800543E4"] - - [0x80054418, "D_800543E8"] - - [0x8005441c, "D_800543EC"] - - [0x80054420, "D_800543F0"] - - [0x80054424, "D_800543F4"] - - [0x80054428, "D_800543F8"] - - [0x8005442c, "D_800543FC"] - - [0x80054430, "expended_shell_initial_gravity_modifier_non_pistol"] - - [0x80054434, "expended_shell_initial_gravity_modifier_all"] - - [0x80054438, "D_80054408"] - - [0x8005443c, "D_8005440C"] - - [0x80054440, "D_80054410"] - - [0x80054450, "aDrawjointlistNoGfxlist"] - - [0x8005446c, "aDrawjointlistNoObject0xX"] - - [0x80054490, "aDrawjointlistObjectNotInitialised0"] - - [0x800544c0, "jpt_80054490"] - - [0x80054514, "jpt_800544E4"] - - [0x80054568, "obj_table_jointlist"] - - [0x800545c8, "jpt_damage_detail"] - - [0x80054628, "D_800545F8"] - - [0x80054630, "aGetsubmatrixNoObjinst"] - - [0x8005464c, "aGetsubmatrixObjinstHasNoObject"] - - [0x80054674, "aGetpartoffsetNoObjinst"] - - [0x80054690, "aGetpartoffsetNoPartdesc"] - - [0x800546ac, "aSetpartoffsetNoObjinst"] - - [0x800546c8, "aSetpartoffsetNoPartdesc"] - - [0x800546e4, "aGetsuboffsetNoObjinst"] - - [0x80054700, "aGetsuboffsetObjinstHasNoObject"] - - [0x80054728, "aSetsuboffsetNoObjinst"] - - [0x80054744, "aSetsuboffsetObjinstHasNoObject"] - - [0x8005476c, "aGetsubrotyNoObjinst"] - - [0x80054784, "aGetsubrotyObjinstHasNoObject"] - - [0x800547a8, "aGetsubrotyObjinstHasNoRootPart"] - - [0x800547d0, "aSetsubrotyNoObjinst"] - - [0x800547e8, "aSetsubrotyObjinstHasNoObject"] - - [0x8005480c, "aSetsubrotyObjinstHasNoRootPart"] - - [0x80054834, "aGetjointsizeNoObjinst"] - - [0x80054850, "aGetinstsizeNoObjinst"] - - [0x8005486c, "aGetinstsizeNoObjdesc"] - - [0x80054888, "aSubcalcposNoObjanim"] - - [0x800548a4, "aSubcalcposNoObjdesc"] - - [0x800548c0, "aInstcalcmatricesNoObjinst"] - - [0x800548e0, "aInstcalcmatricesNoBasemtx"] - - [0x80054900, "aInstcalcmatricesNoMtxlist"] - - [0x80054920, "aSubcalcmatricesNoObjanim"] - - [0x80054940, "aSubcalcmatricesNoBasemtx"] - - [0x80054960, "aSubcalcmatricesNoMtxlist"] - - [0x80054980, "aSubcalcmatricesNoAttachForObjinst"] - - [0x800549ac, "aSubcalcmatricesFrameaOutOfRange"] - - [0x800549d4, "aSubcalcmatricesFramebOutOfRange"] - - [0x800549fc, "aSubcalcmatricesNoAnim2"] - - [0x80054a18, "aSubcalcmatricesFrame2aOutOfRange"] - - [0x80054a40, "aSubcalcmatricesFrame2bOutOfRange"] - - [0x80054a68, "aDorottexNoVtxAllocator"] - - [0x80054a88, "aDotubeNoVtxAllocator"] - - [0x80054aa4, "aDogfnegxNoVtxAllocator"] - - [0x80054ac4, "aDoshadowNoVtxAllocator"] - - [0x80054ae4, "aSubdrawNoGfxlist"] - - [0x80054afc, "aSubdrawObjectNotInitialised0xX"] - - [0x80054b28, "jpt_obj_struct_microcode_id"] - - [0x80054b88, "D_80054B58"] - - [0x80054b8c, "D_80054B5C"] - - [0x80054b90, "jpt_getjointsize"] - - [0x80054be4, "D_80054BB4"] - - [0x80054be8, "D_80054BB8"] - - [0x80054bec, "D_80054BBC"] - - [0x80054bf0, "D_80054BC0"] - - [0x80054bf4, "D_80054BC4"] - - [0x80054bf8, "D_80054BC8"] - - [0x80054bfc, "D_80054BCC"] - - [0x80054c00, "D_80054BD0"] - - [0x80054c04, "D_80054BD4"] - - [0x80054c08, "D_80054BD8"] - - [0x80054c0c, "D_80054BDC"] - - [0x80054c10, "D_80054BE0"] - - [0x80054c14, "D_80054BE4"] - - [0x80054c18, "D_80054BE8"] - - [0x80054c1c, "D_80054BEC"] - - [0x80054c20, "D_80054BF0"] - - [0x80054c24, "D_80054BF4"] - - [0x80054c28, "D_80054BF8"] - - [0x80054c2c, "D_80054BFC"] - - [0x80054c30, "D_80054C00"] - - [0x80054c34, "D_80054C04"] - - [0x80054c38, "D_80054C08"] - - [0x80054c3c, "D_80054C0C"] - - [0x80054c40, "D_80054C10"] - - [0x80054c44, "D_80054C14"] - - [0x80054c48, "D_80054C18"] - - [0x80054c4c, "D_80054C1C"] - - [0x80054c50, "jpt_80054C20"] - - [0x80054cb0, "jpt_80054C80"] - - [0x80054d10, "jpt_80054CE0"] - - [0x80054d70, "D_80054D40"] - - [0x80054d74, "D_80054D44"] - - [0x80054d78, "D_80054D48"] - - [0x80054d7c, "D_80054D4C"] - - [0x80054d80, "D_80054D50"] - - [0x80054d84, "jpt_80054D54"] - - [0x80054de4, "jpt_80054DB4"] - - [0x80054e44, "jpt_80054E14"] - - [0x80054ea4, "jpt_80054E74"] - - [0x80054f04, "jpt_80054ED4"] - - [0x80054f64, "jpt_80054F34"] - - [0x80054fc0, "D_80054F90"] - - [0x80054fc4, "D_80054F94"] - - [0x80054fc8, "D_80054F98"] - - [0x80054fcc, "D_80054F9C"] - - [0x80054fd0, "D_80054FA0"] - - [0x80054fd4, "D_80054FA4"] - - [0x80054fd8, "D_80054FA8"] - - [0x80054fdc, "D_80054FAC"] - - [0x80054fe0, "D_80054FB0"] - - [0x80054fe4, "D_80054FB4"] - - [0x80054fe8, "D_80054FB8"] - - [0x80054fec, "D_80054FBC"] - - [0x80054ff0, "a8s"] - - [0x80054ff4, "aX4_0f"] - - [0x80054ffc, "aY4_0f"] - - [0x80055004, "aZ4_0f"] - - [0x8005500c, "aS3d"] - - [0x80055014, "jpt_bondcuff"] - - [0x80055038, "jpt_bondhead"] - - [0x8005505c, "D_8005502C"] - - [0x80055060, "D_80055030"] - - [0x80055064, "D_80055034"] - - [0x80055068, "D_80055038"] - - [0x8005506c, "D_8005503C"] - - [0x80055070, "D_80055040"] - - [0x80055074, "D_80055044"] - - [0x80055078, "D_80055048"] - - [0x8005507c, "D_8005504C"] - - [0x80055080, "D_80055050"] - - [0x80055084, "D_80055054"] - - [0x80055088, "D_80055058"] - - [0x8005508c, "D_8005505C"] - - [0x80055090, "D_80055060"] - - [0x80055094, "D_80055064"] - - [0x80055098, "D_80055068"] - - [0x8005509c, "D_8005506C"] - - [0x800550a0, "D_80055070"] - - [0x800550a4, "D_80055074"] - - [0x800550a8, "D_80055078"] - - [0x800550ac, "final"] - - [0x800550b0, "D_80055080"] - - [0x800550b4, "D_80055084"] - - [0x800550b8, "D_80055088"] - - [0x800550bc, "D_8005508C"] - - [0x800550c0, "D_80055090"] - - [0x800550c4, "D_80055094"] - - [0x800550c8, "D_80055098"] - - [0x800550cc, "D_8005509C"] - - [0x800550d0, "D_800550A0"] - - [0x800550d4, "D_800550A4"] - - [0x800550d8, "D_800550A8"] - - [0x800550dc, "D_800550AC"] - - [0x800550e0, "D_800550B0"] - - [0x800550e4, "D_800550B4"] - - [0x800550e8, "D_800550B8"] - - [0x800550ec, "D_800550BC"] - - [0x800550f0, "D_800550C0"] - - [0x800550f4, "D_800550C4"] - - [0x800550f8, "D_800550C8"] - - [0x800550fc, "D_800550CC"] - - [0x80055100, "D_800550D0"] - - [0x80055104, "firstperson_weapon_movement_restrictor"] - - [0x80055108, "D_800550D8"] - - [0x8005510c, "D_800550DC"] - - [0x80055110, "D_800550E0"] - - [0x80055114, "D_800550E4"] - - [0x80055118, "D_800550E8"] - - [0x8005511c, "D_800550EC"] - - [0x80055120, "player_gravity_modifier"] - - [0x80055124, "player_view_gravity_modifier"] - - [0x80055128, "D_800550F8"] - - [0x8005512c, "D_800550FC"] - - [0x80055130, "D_80055100"] - - [0x80055134, "D_80055104"] - - [0x80055138, "D_80055108"] - - [0x8005513c, "D_8005510C"] - - [0x80055140, "D_80055110"] - - [0x80055144, "D_80055114"] - - [0x80055148, "D_80055118"] - - [0x8005514c, "D_8005511C"] - - [0x80055150, "D_80055120"] - - [0x80055154, "D_80055124"] - - [0x80055158, "D_80055128"] - - [0x8005515c, "D_8005512C"] - - [0x80055160, "D_80055130"] - - [0x80055164, "D_80055134"] - - [0x80055168, "D_80055138"] - - [0x8005516c, "D_8005513C"] - - [0x80055170, "D_80055140"] - - [0x80055174, "D_80055144"] - - [0x80055178, "D_80055148"] - - [0x8005517c, "D_8005514C"] - - [0x80055180, "D_80055150"] - - [0x80055184, "D_80055154"] - - [0x80055188, "D_80055158"] - - [0x8005518c, "D_8005515C"] - - [0x80055190, "D_80055160"] - - [0x80055194, "D_80055164"] - - [0x80055198, "D_80055168"] - - [0x8005519c, "D_8005516C"] - - [0x800551a0, "D_80055170"] - - [0x800551a4, "D_80055174"] - - [0x800551a8, "D_80055178"] - - [0x800551ac, "D_8005517C"] - - [0x800551b0, "D_80055180"] - - [0x800551b4, "D_80055184"] - - [0x800551b8, "D_80055188"] - - [0x800551bc, "D_8005518C"] - - [0x800551c0, "D_80055190"] - - [0x800551c4, "D_80055194"] - - [0x800551c8, "D_80055198"] - - [0x800551cc, "D_8005519C"] - - [0x800551d0, "D_800551A0"] - - [0x800551d4, "D_800551A4"] - - [0x800551d8, "D_800551A8"] - - [0x800551dc, "D_800551AC"] - - [0x800551e0, "D_800551B0"] - - [0x800551e4, "D_800551B4"] - - [0x800551e8, "D_800551B8"] - - [0x800551ec, "D_800551BC"] - - [0x800551f0, "D_800551C0"] - - [0x800551f4, "D_800551C4"] - - [0x800551f8, "D_800551C8"] - - [0x800551fc, "D_800551CC"] - - [0x80055200, "D_800551D0"] - - [0x80055204, "D_800551D4"] - - [0x80055208, "D_800551D8"] - - [0x8005520c, "D_800551DC"] - - [0x80055210, "D_800551E0"] - - [0x80055214, "D_800551E4"] - - [0x80055218, "D_800551E8"] - - [0x8005521c, "D_800551EC"] - - [0x80055220, "D_800551F0"] - - [0x80055224, "D_800551F4"] - - [0x80055228, "D_800551F8"] - - [0x8005522c, "D_800551FC"] - - [0x80055230, "D_80055200"] - - [0x80055234, "D_80055204"] - - [0x80055238, "D_80055208"] - - [0x8005523c, "D_8005520C"] - - [0x80055240, "D_80055210"] - - [0x80055244, "D_80055214"] - - [0x80055248, "D_80055218"] - - [0x8005524c, "D_8005521C"] - - [0x80055250, "D_80055220"] - - [0x80055254, "D_80055224"] - - [0x80055258, "D_80055228"] - - [0x8005525c, "D_8005522C"] - - [0x80055260, "D_80055230"] - - [0x80055264, "D_80055234"] - - [0x80055268, "D_80055238"] - - [0x8005526c, "D_8005523C"] - - [0x80055270, "D_80055240"] - - [0x80055274, "D_80055244"] - - [0x80055278, "D_80055248"] - - [0x8005527c, "D_8005524C"] - - [0x80055280, "D_80055250"] - - [0x80055284, "D_80055254"] - - [0x80055288, "D_80055258"] - - [0x8005528c, "D_8005525C"] - - [0x80055290, "D_80055260"] - - [0x80055294, "D_80055264"] - - [0x80055298, "D_80055268"] - - [0x8005529c, "D_8005526C"] - - [0x800552a0, "D_80055270"] - - [0x800552a4, "D_80055274"] - - [0x800552a8, "D_80055278"] - - [0x800552ac, "D_8005527C"] - - [0x800552b0, "D_80055280"] - - [0x800552b4, "D_80055284"] - - [0x800552b8, "D_80055288"] - - [0x800552bc, "D_8005528C"] - - [0x800552c0, "jpt_mpspawntype"] - - [0x800552dc, "D_800552AC"] - - [0x800552e0, "pi_800552B0"] - - [0x800552e4, "twopi_800552B4"] - - [0x800552e8, "D_800552B8"] - - [0x800552ec, "D_800552BC"] - - [0x800552f0, "D_800552C0"] - - [0x800552f4, "D_800552C4"] - - [0x800552f8, "D_800552C8"] - - [0x800552fc, "D_800552CC"] - - [0x80055300, "D_800552D0"] - - [0x80055310, "D_800552E0"] - - [0x80055314, "D_800552E4"] - - [0x80055318, "D_800552E8"] - - [0x8005531c, "D_800552EC"] - - [0x80055320, "D_800552F0"] - - [0x80055324, "D_800552F4"] - - [0x80055328, "D_800552F8"] - - [0x8005532c, "master_player_perspective"] - - [0x80055330, "D_80055300"] - - [0x80055334, "D_80055304"] - - [0x80055338, "D_80055308"] - - [0x8005533c, "D_8005530C"] - - [0x80055340, "D_80055310"] - - [0x80055344, "D_80055314"] - - [0x80055348, "D_80055318"] - - [0x8005534c, "D_8005531C"] - - [0x80055350, "D_80055320"] - - [0x80055354, "D_80055324"] - - [0x80055358, "D_80055328"] - - [0x8005535c, "D_8005532C"] - - [0x80055360, "D_80055330"] - - [0x80055364, "D_80055334"] - - [0x80055368, "D_80055338"] - - [0x8005536c, "D_8005533C"] - - [0x80055370, "aMenu_cErrorTriedToCallFont_makegt"] - - [0x8005572c, "jpt_debug_menu_options"] - - [0x80055860, "jpt_80055830"] - - [0x80055880, "D_80055850"] - - [0x80055884, "D_80055854"] - - [0x80055888, "D_80055858"] - - [0x8005588c, "D_8005585C"] - - [0x80055890, "D_80055860"] - - [0x80055a84, "spacer_string"] - - [0x80056ea4, "padding_chars_for_strings"] - - [0x800572e0, "jpt_cheats_cheat"] - - [0x80057408, "finalamount"] - - [0x8005740c, "jpt_800573DC"] - - [0x80057534, "D_80057504"] - - [0x80057540, "D_80057510"] - - [0x80057544, "D_80057514"] - - [0x80057548, "D_80057518"] - - [0x80057550, "D_80057520"] - - [0x80057554, "D_80057524"] - - [0x80057558, "D_80057528"] - - [0x8005755c, "D_8005752C"] - - [0x80057560, "D_80057530"] - - [0x80057564, "D_80057534"] - - [0x80057568, "D_80057538"] - - [0x8005756c, "D_8005753C"] - - [0x80057570, "D_80057540"] - - [0x80057574, "jpt_80057544"] - - [0x800575b4, "D_80057584"] - - [0x800575b8, "D_80057588"] - - [0x800575bc, "D_8005758C"] - - [0x800575c0, "jpt_80057590"] - - [0x80057600, "D_800575D0"] - - [0x80057604, "D_800575D4"] - - [0x80057608, "D_800575D8"] - - [0x8005760c, "D_800575DC"] - - [0x80057610, "D_800575E0"] - - [0x80057614, "D_800575E4"] - - [0x80057618, "D_800575E8"] - - [0x8005761c, "D_800575EC"] - - [0x80057620, "D_800575F0"] - - [0x80057624, "D_800575F4"] - - [0x80057628, "D_800575F8"] - - [0x8005762c, "D_800575FC"] - - [0x80057630, "D_80057600"] - - [0x80057634, "D_80057604"] - - [0x80057638, "D_80057608"] - - [0x8005763c, "D_8005760C"] - - [0x80057640, "D_80057610"] - - [0x80057644, "D_80057614"] - - [0x80057648, "D_80057618"] - - [0x8005764c, "D_8005761C"] - - [0x80057650, "D_80057620"] - - [0x80057654, "D_80057624"] - - [0x80057658, "D_80057628"] - - [0x8005765c, "jpt_weapon_multi"] - - [0x800576e0, "D_800576B0"] - - [0x800576e4, "D_800576B4"] - - [0x800576e8, "D_800576B8"] - - [0x800576f0, "D_800576BC"] - - [0x800576f4, "D_800576C0"] - - [0x800576f8, "D_800576C4"] - - [0x800576fc, "D_800576C8"] - - [0x80057700, "D_800576CC"] - - [0x80057704, "D_800576D0"] - - [0x80057708, "D_800576D4"] - - [0x8005770c, "D_800576D8"] - - [0x80057710, "D_800576DC"] - - [0x80057714, "D_800576E0"] - - [0x80057718, "D_800576E4"] - - [0x8005771c, "D_800576E8"] - - [0x80057720, "D_800576EC"] - - [0x80057724, "D_800576F0"] - - [0x80057728, "D_800576F4"] - - [0x8005772c, "D_800576F8"] - - [0x80057730, "D_800576FC"] - - [0x80057734, "D_80057700"] - - [0x80057738, "D_80057704"] - - [0x8005773c, "D_80057708"] - - [0x80057740, "D_8005770C"] - - [0x80057750, "D_80057710"] - - [0x80057754, "D_80057714"] - - [0x80057758, "D_80057718"] - - [0x8005775c, "D_8005771C"] - - [0x80057760, "D_80057720"] - - [0x80057764, "D_80057724"] - - [0x80057768, "D_80057728"] - - [0x8005776c, "D_8005772C"] - - [0x80057770, "D_80057730"] - - [0x80057774, "D_80057734"] - - [0x80057778, "D_80057738"] - - [0x8005777c, "D_8005773C"] - - [0x80057780, "D_80057740"] - - [0x80057788, "D_80057748"] - - [0x8005778c, "D_8005774C"] - - [0x80057790, "D_80057750"] - - [0x80057794, "D_80057754"] - - [0x800577a0, "aDD"] - - [0x800577a8, "aDDDF"] - - [0x800577b8, "aA"] - - [0x800577c0, "aB"] - - [0x800577c8, "aZ"] - - [0x800577d0, "aL"] - - [0x800577d8, "aR"] - - [0x800577e0, "aC"] - - [0x800577e8, "D_800577A8"] - - [0x800577f0, "aS_0"] - - [0x800577f8, "a3d"] - - [0x80057800, "D_800577C0"] - - [0x80057804, "D_800577C4"] - - [0x80058000, "D_80057FC0"] - - [0x80058480, "D_80058440"] - - [0x80058484, "D_80058444"] - - [0x80058488, "aC_2"] - - [0x80058490, "D_80058450"] - - [0x80058494, "D_80058454"] - - [0x80058498, "D_80058458"] - - [0x8005849c, "D_8005845C"] - - [0x800584a0, "D_80058460"] - - [0x800584a4, "D_80058464"] - - [0x800584a8, "D_80058468"] - - [0x800584ac, "D_8005846C"] - - [0x800584b0, "D_80058470"] - - [0x800584b4, "D_80058474"] - - [0x800584b8, "D_80058478"] - - [0x800584bc, "D_8005847C"] - - [0x800584c0, "D_80058480"] - - [0x800584c4, "D_80058484"] - - [0x800584c8, "D_80058488"] - - [0x800584cc, "D_8005848C"] - - [0x800584d0, "D_80058490"] - - [0x800584d4, "D_80058494"] - - [0x800584d8, "D_80058498"] - - [0x800584dc, "D_8005849C"] - - [0x800584e0, "D_800584A0"] - - [0x800584e4, "D_800584A4"] - - [0x800584e8, "D_800584A8"] - - [0x800584ec, "D_800584AC"] - - [0x800584f0, "D_800584B0"] - - [0x800584f4, "D_800584B4"] - - [0x800584f8, "D_800584B8"] - - [0x800584fc, "D_800584BC"] - - [0x80058500, "D_800584C0"] - - [0x80058504, "D_800584C4"] - - [0x80058508, "D_800584C8"] - - [0x8005850c, "jpt_800584CC"] - - [0x80058520, "jpt_800584E0"] - - [0x80058548, "D_80058508"] - - [0x8005854c, "D_8005850C"] - - [0x80058550, "D_80058510"] - - [0x80058554, "D_80058514"] - - [0x80058558, "D_80058518"] - - [0x8005855c, "D_8005851C"] - - [0x80058560, "D_80058520"] - - [0x80058564, "D_80058524"] - - [0x80058568, "D_80058528"] - - [0x8005856c, "D_8005852C"] - - [0x80058570, "D_80058530"] - - [0x80058574, "D_80058534"] - - [0x80058578, "D_80058538"] - - [0x8005857c, "D_8005853C"] - - [0x80058580, "D_80058540"] - - [0x80058584, "D_80058544"] - - [0x80058588, "D_80058548"] - - [0x8005858c, "D_8005854C"] - - [0x80058590, "D_80058550"] - - [0x80058594, "D_80058554"] - - [0x80058598, "D_80058558"] - - [0x8005859c, "D_8005855C"] - - [0x800585a0, "D_80058560"] - - [0x800585a4, "D_80058564"] - - [0x800585a8, "D_80058568"] - - [0x800585ac, "D_8005856C"] - - [0x800585b0, "jpt_80058570"] - - [0x800585c4, "jpt_80058584"] - - [0x800585e0, "aCDCC"] - - [0x800585ec, "aStan_c_debug"] - - [0x800585fc, "aStanlinelog"] - - [0x8005860c, "D_800585CC"] - - [0x80058610, "D_800585D0"] - - [0x80058614, "D_800585D4"] - - [0x80058618, "D_800585D8"] - - [0x8005861c, "D_800585DC"] - - [0x80058620, "D_800585E0"] - - [0x80058624, "D_800585E4"] - - [0x80058c88, "aPortD"] - - [0x80058c90, "aRoomD"] - - [0x80058c98, "jpt_80058C58"] - - [0x80058cbc, "D_80058C7C"] - - [0x80058cc0, "jpt_80058C80"] - - [0x80058cf4, "vis_command_jpt"] - - [0x80058d94, "D_80058D54"] - - [0x80058d98, "D_80058D58"] - - [0x80058d9c, "D_80058D5C"] - - [0x80058da0, "D_80058D60"] - - [0x80058db0, "default_near_fog"] - - [0x80058db4, "D_80058D74"] - - [0x80058dc0, "jpt_80058D80"] - - [0x8005b6ac, "rz_header_1"] - - [0x8005b6b0, "rz_header_2"] - - [0x8005b6b4, "aOb_c_debug"] - - [0x8005b6cc, "aMgfx"] - - [0x8005b6d4, "aMgfx_1"] - - [0x8005b6dc, "aMvtx"] - - [0x8005b6e4, "aMvtx_0"] - - [0x8005b6f0, "aLv_c_debug"] - - [0x8005b6fc, "aStanshow_"] - - [0x8005b708, "aStanshow__5"] - - [0x8005b714, "::aStanshow(void)"] - - [0x8005b720, "aStanshow__1"] - - [0x8005b72c, "aStanshow__2"] - - [0x8005b738, "aStanshow__3"] - - [0x8005b744, "aSetdetailDDDDDDDDD"] - - [0x8005b76c, "D_8005B73C"] - - [0x8005b770, "D_8005B740"] - - [0x8005b774, "D_8005B744"] - - [0x8005b778, "D_8005B748"] - - [0x8005b77c, "D_8005B74C"] - - [0x8005b790, "aReplayDemo_D"] - - [0x8005b7a0, "aReplayDemo_D_1"] - - [0x8005b7b0, "aReplayDemo_load"] - - [0x8005b7d0, "jpt_8005B790"] - - [0x8005b7ec, "jpt_8005B7AC"] - - [0x8005b808, "jpt_8005B7C8"] - - [0x8005b824, "music_rate_8005B7E4"] - - [0x8005b828, "jpt_8005B7E8"] - - [0x8005b844, "jpt_8005B804"] - - [0x8005b860, "jpt_8005B820"] - - [0x8005b87c, "jpt_8005B83C"] - - [0x8005b898, "jpt_8005B858"] - - [0x8005bba0, "jpt_stage_text"] - - [0x8005bc60, "ascii_MP_watch_menu_percentd"] - - [0x8005bc64, "ascii_MP_watch_menu_BLANK"] - - [0x8005bc68, "ascii_MP_watch_menu_left_chevron"] - - [0x8005bc6c, "ascii_MP_watch_menu_right_chevron"] - - [0x8005bc70, "ascii_pnum_KILLS"] - - [0x8005bc78, "ascii_pnum_LOSSES"] - - [0x8005bc80, "jpt_MP_menu_page_adv_right"] - - [0x8005bca0, "jpt_MP_menu_page_adv_left"] - - [0x8005bcc0, "D_8005BC80"] - - [0x8005bcc4, "D_8005BC84"] - - [0x8005bcc8, "jpt_MP_overlays_scoring_scenario_0"] - - [0x8005bce0, "jpt_MP_overlays_scoring"] - - [0x8005bd00, "jpt_MP_overlays_scoring_scenario_1"] - - [0x8005bd20, "jpt_MP_overlays_scoring_scenario_2"] - - [0x8005bd40, "jpt_MP_menu_window_text"] - - [0x8005bd60, "D_8005BD20"] - - [0x8005bd64, "D_8005BD24"] - - [0x8005bd70, "jpt_8005BD30"] - - [0x8005bd98, "jpt_8005BD58"] - - [0x8005bdbc, "jpt_8005BD7C"] - - [0x8005bde0, "jpt_8005BDA0"] - - [0x8005be04, "jpt_8005BDC4"] - - [0x8005be28, "jpt_8005BDE8"] - - [0x8005be4c, "jpt_8005BE0C"] - - [0x8005be70, "jpt_8005BE30"] - - [0x8005bea4, "jpt_8005BE64"] - - [0x8005bf5c, "PADDINGHACKING"] - - [0x8005bf60, "tlb_ptr_DL_type_B1toC0"] - - [0x8005bfa0, "tlb_ptr_C0_image_recall_types"] - - [0x8005bfc0, "rz_header_bytes"] - - [0x8005c154, "aEmDataSpec_rom_seg_rz"] - - [0x8005c16c, "spectrum_op_table"] - - [0x8005c56c, "jpt_8005C52C"] - - [0x8005c66c, "jpt_8005C62C"] - - [0x8005c68c, "jpt_8005C64C"] - - [0x8005c6ac, "jpt_8005C66C"] - - [0x8005c6cc, "jpt_8005C68C"] - - [0x8005c6ec, "jpt_8005C6AC"] - - [0x8005c75c, "jpt_8005C71C"] - - [0x8005c860, "gsp3DDataStart"] - - [0x8005d060, "aspMainDataStart"] diff --git a/notes/ge007.u.yaml b/notes/ge007.u.yaml deleted file mode 100644 index 194945c..0000000 --- a/notes/ge007.u.yaml +++ /dev/null @@ -1,8461 +0,0 @@ -# Works fine with debug compiled n64split, segfaults on release build. -# ROM splitter configuration file -name: "Goldeneye 007" - -# checksums from ROM header offsets 0x10 and 0x14 -# used for auto configuration detection -checksum1: 0xDCBC50D1 -checksum2: 0x09FD1AA3 - -basename: "ge007_u" - - -ranges: - - [0x00000000, 0x00000040, "header", "header"] - - [0x00000040, 0x00000B70, "asm", "bootcode", 0x04000040] - - [0x00000B70, 0x00001000, "bin", "bootcode_font"] - - [0x00001000, 0x00001050, "asm", "_start", 0x80000400] - #even though this gets tlb mapped to 0x70000000, most of it uses relative - #addresses so I disassemble as 0x80000000 to make eventual linking easier - - [0x00001050, 0x00021990, "asm", "code", 0x70000450] - #rz compressed, change bin to rz and use with my branch of n64spit to auto decompress - - [0x00021990, 0x033590, "bin", "Compressedrodata"] -# - [0x00001050, 0x0010bc, "asm", "boot0", 0x80000450] -# - [0x000010BC, 0x021990, "asm", "code", 0x700004BC] - - [0x033590, 0x00034A10, "asm", "rarezip", 0x70200000] - - [0x034A10, 0x034A14, "ptr", "rarezip.ptr_source"] - - [0x034A14, 0x034A18, "ptr", "rarezip.ptr_target"] - - [0x034A18, 0x034A1C, "ptr", "rarezip.curoffset"] - - [0x034A1C, 0x034A20, "ptr", "rarezip.decompressed_count"] - - [0x034A20, 0x034A24, "ptr", "rarezip.ptrbuffer"] - - [0x034A24, 0x034A38, "ptr", "rarezip.order"] - - [0x034A38, 0x034A78, "ptr", "rarezip.lbase"] - - [0x034A78, 0x034A98, "ptr", "rarezip.lextra"] - - [0x034A98, 0x034AD4, "ptr", "rarezip.dbase"] - - [0x034AD4, 0x034AF4, "ptr", "rarezip.dextra"] - - [0x034AF4, 0x034AF8, "ptr", "rarezip.sample"] - - [0x034AF8, 0x034AFC, "ptr", "rarezip.bitsinsample"] - - [0x034AFC, 0x034B20, "ptr", "rarezip.masks"] - - [0x034B20, 0x034B24, "ptr", "rarezip.data1"] - - [0x034B24, 0x034B28, "ptr", "rarezip.data2"] - - [0x034B28, 0x034B2C, "ptr", "rarezip.data3"] - - [0x00034b30, 0x00117880, "asm", "game", 0x7F000000] -# - [0x, ""] -labels: - - [0x00001050, "_codeSegmentRomStart"] - - [0x00021990, "_compresseddataSegmentRomStart"] - - [0x00033590, "_rarezipSegmentRomStart"] - - [0x00034b30, "_rarezipSegmentRomEnd"] - - - - ############################### - # created by makerom - # asm/_start.s - - [0x80000400, "_start"] - - ############################### - # object codesegment.o - # file asm/code/boot0.s - - [0x70000450, "boot"] - - [0x700004BC, "get_cdataSegmentVaddrStart"] - - [0x700004C8, "get_cdataSegmentRomStart"] - - [0x700004D4, "get_cdataSegmentRomEnd"] - - [0x700004E0, "get_rarezipSegmentRomStart"] - - [0x700004EC, "get_rarezipSegmentRomEnd"] - - [0x700004F8, "jump_decompressfile"] - # file asm/code/boot1.s - - [0x70000510, "boot1"] - - [0x700006A8, "generate_main_thread"] - - [0x700006F0, "set_stack_entry"] - - [0x700006FC, "set_hw_address_and_unknown"] - - [0x70000718, "idle_entry"] - - [0x70000738, "start_idle_thread"] - - [0x70000790, "start_rmon_thread"] - - [0x700007EC, "setup_message_queue_for_scheduler"] - - [0x7000089C, "main_entry"] - - [0x70000908, "setuplastentryofdebughandler"] - # file asm/code/std_err_flags.s - - [0x70000970, "set_stderr_activated"] - - [0x7000097C, "set_stderr_enable"] - - [0x70000988, "permit_stderr"] - - [0x70000994, "set_user_Compare"] - # file asm/code/scheduler.s - - [0x700009A0, "testtodisplaystderrandupdatecount"] - - [0x700009F8, "testtodisplaystderrorevery16thframe"] - - [0x70000A88, "osCreateLog"] - - [0x70000AAC, "osCreateScheduler"] - - [0x70000C14, "osScAddClient"] - - [0x70000C70, "osScRemoveClient"] - - [0x70000CF8, "osScGetCmdQ"] - - [0x70000D00, "__scMain"] - - [0x70000EB4, "__scHandleRetrace"] - - [0x70001014, "__scHandleRSP"] - - [0x7000111C, "get_counters"] - - [0x70001128, "__scHandleRDP"] - - [0x700011E0, "__scTaskReady"] - - [0x70001230, "__scTaskComplete"] - - [0x700013D8, "__scAppendList"] - - [0x70001440, "__scExec"] - - [0x70001560, "__scYield"] - - [0x7000159C, "__scSchedule"] - # file asm/code/osMapTLBRdb.s - - [0x70001780, "osMapTLBRdb"] - # file asm/code/tlb_buffer_management.s - - [0x700017E0, "establish_TLB_buffer_management_table"] - - [0x70001898, "mp_tlb_related"] - # file asm/code/tlb_index.s - - [0x700018C0, "return_TLB_index_for_entry"] - # file asm/code/tlb_load_remove.s - - [0x70001920, "find_remove_TLB_entry"] - - [0x70001954, "remove_TLB_entry_from_table"] - - [0x700019D8, "translate_load_rom_from_TLBaddress"] - - [0x70001AF8, "return_ptr_TLBmemory"] - # file asm/code/tlb_random.s - - [0x70001B10, "return_tlb_random_value"] - # file asm/code/tlb_resolve.s - - [0x70001B60, "resolve_TLBaddress_for_InvalidHit"] - # file asm/code/tlb_set_hardwire.s - - [0x70001BB0, "set_hardwire_TLB_to_2"] - # file asm/code/amCreateAudioMgr.s - - [0x70001BD0, "amCreateAudioMgr"] - - [0x70001F58, "startaudiThread"] - - [0x70001F7C, "audi_entry"] - - [0x70002244, "process_audio_packet"] - - [0x700023E4, "audi_length_related"] - - [0x70002424, "audi_related_2"] - - [0x700025D8, "audi_related_3"] - - [0x70002610, "audi_related_4"] - # file asm/code/speed_graph.s - - [0x70002730, "displaylist_related"] - - [0x700027A4, "video_related_1"] - - [0x70002810, "video_related_2"] - - [0x70002854, "video_related_3"] - - [0x70002958, "display_speed_graph"] - - [0x70002CD8, "video_DL_related_4"] - # file asm/code/video.s - - [0x70003060, "init_video_settings"] - - [0x70003124, "init_both_video_buffers"] - - [0x70003190, "video_related_6"] - - [0x700031A0, "video_related_7"] - - [0x70003298, "video_related_8"] - - [0x70003B04, "video_related_9"] - - [0x70003B64, "receive_vi_c_msgs"] - - [0x70003BB0, "setVideoWidthHeightToMode"] - - [0x70003C00, "coloroutputmode_1"] - - [0x70003C10, "coloroutputmode_0"] - - [0x70003C1C, "get_video2buf_offset28"] - - [0x70003C2C, "get_video1buf_offset28"] - - [0x70003C3C, "set_video2buf_frameb"] - - [0x70003C4C, "get_80060824"] - - [0x70003C58, "video_related_F"] - - [0x70003EB4, "video_related_10"] - - [0x70003EF8, "insert_generic_fillrect"] - - [0x70003F64, "setupscreensfornumplayers"] - - [0x70004384, "set_D_800232A0"] - - [0x70004390, "get_D_800232A0"] - - [0x7000439C, "set_D_8002329C"] - - [0x700043A8, "get_D_8002329C"] - - [0x700043B4, "set_video2_settings_offset_18_1A"] - - [0x700043D8, "get_video2_settings_offset_18"] - - [0x700043E8, "get_video2_settings_offset_1A"] - - [0x700043F8, "set_video2_text_clip_size"] - - [0x7000441C, "get_video2_settings_txtClipW"] - - [0x7000442C, "get_video2_settings_txtClipH"] - - [0x7000443C, "set_video2_width_height"] - - [0x7000449C, "get_video2_settings_width"] - - [0x700044AC, "get_video2_settings_height"] - - [0x700044BC, "set_video2_ulx_uly"] - - [0x70004514, "get_video2_settings_ulx"] - - [0x70004524, "get_video2_settings_uly"] - - [0x70004534, "set_video2_settings_offset_24"] - - [0x70004544, "setvideo_far"] - - [0x70004590, "video_related_21"] - - [0x700045DC, "video_related_23"] - - [0x700045EC, "video_related_24"] - - [0x70004650, "set_page_height"] - - [0x700046AC, "video_related_27"] - - [0x700046D0, "set_setfillcolor"] - - [0x70004758, "indy_grab_jpg_16bit"] - - [0x700048D4, "indy_grab_jpg_32bit"] - - [0x70004A60, "indy_grab_rgb_16bit"] - - [0x70004BB4, "indy_grab_rgb_32bit"] - # file asm/code/debug_notice_list_handler.s - - [0x70004D20, "return_match_in_debug_notice_list"] - - [0x70004D80, "get_entry_of_size_in_debug_notice_list"] - - [0x70004DE0, "add_new_entry_to_debug_notice_list"] - - [0x70004E2C, "add_debug_notice_deb_c_debug"] - - [0x70004E60, "get_ptr_debug_notice_list_entry"] - - [0x70004E98, "scan_debug_notice_list_till_NULL"] - - [0x70004EC4, "debug_removed"] - # file asm/code/tlb_init_indy_load.s - - [0x70004EE0, "init_tlb"] - - [0x70004F54, "translate_7F_address"] - - [0x700050AC, "debug_related_8"] - - [0x700051E0, "was_opcode_In_70000450_70020D90"] - - [0x70005258, "return_strlen"] - - [0x70005294, "indy_file_get_address_subsequent_data"] - - [0x70005340, "scan_load_resourceID_from_indy_read_buf"] - - [0x700053C8, "is_valid_indy_read_buf_resourceID"] - - [0x700053FC, "debug_indy_stub"] - - [0x70005404, "debug_indy_stub_0"] - - [0x7000540C, "debug_indy_stub_1"] - - [0x70005414, "return_indy_read_buf_resourceID"] - # file asm/code/debug_sp_related.s - - [0x70005420, "debug_sp_related_11"] - - [0x700054E4, "debug_sp_related_12"] - # file asm/code/normal_float_handler.s - - [0x70005560, "_is_normal_single_precision_float"] - - [0x700055A4, "is_normal_single_precision_float"] - - [0x700055C8, "set_normality_of_single_precision_floats"] - # file asm/code/std_err_handler.s - - [0x70005630, "write_char_to_pos_stderr"] - - [0x700056BC, "__osRdbSend"] - - [0x700057CC, "scroll_stderr_oneline"] - - [0x7000585C, "print_to_vidbuff1"] - - [0x70005984, "set_ptr_video_buffers"] - - [0x700059A4, "set_video_buffer_pointers"] - - [0x700059D0, "write_stderr_to_buffer"] - # file asm/code/error_handler_last_ra_on_stack.s - - [0x70005B10, "return_last_RA_saved_to_stack"] - # file asm/code/load_file.s - - [0x70005B60, "creates_a_message_queue_for_memory"] - - [0x70005B90, "read_bytes_from_hw_to_rdram"] - - [0x70005BF0, "receive_memoryMesg"] - - [0x70005C1C, "romCopy"] - - [0x70005C44, "romCopyAligned"] - - [0x70005CA8, "write_rdram_to_hw"] - - [0x70005D08, "romWrite"] - # file asm/code/main.s - - [0x70005D30, "init_mainthread_data"] - - [0x70005FF4, "enable_show_mem_use_flag"] - - [0x70006004, "mem_bars_flag_toggle"] - - [0x7000601C, "setup_gamevalues_and_launchmainloop"] - - [0x70006060, "mainloop"] - - [0x70006930, "run_title_stage"] - - [0x70006950, "set_loaded_stage"] - - [0x7000695C, "get_stage_num"] - - [0x70006968, "return_to_title_from_level_end"] - - [0x700069B4, "get_debug_parse_flag"] - - [0x700069C0, "something_with_boss_c_debug"] - # file asm/code/music1.s - - [0x700069F0, "audio_related"] - - [0x70006A30, "setupaudio"] - - [0x70006E7C, "musicTrack1Play"] - - [0x70006FD0, "musicTrack1Stop"] - - [0x70007030, "get_music1len"] - - [0x7000703C, "musicTrack1Vol"] - - [0x700070A0, "musicTrack1Tempo"] - - [0x700070F8, "music_related_1"] - - [0x70007168, "music_related_3"] - - [0x70007204, "musicTrack2Play"] - - [0x70007358, "musicTrack2Stop"] - - [0x700073B8, "get_music2len"] - - [0x700073C4, "musicTrack2Vol"] - - [0x70007428, "music_related_5"] - - [0x70007480, "music_related_6"] - - [0x700074F0, "music_related_8"] - - [0x7000758C, "music_related_3rd_block"] - - [0x700076E0, "musicTrack3Stop"] - - [0x70007740, "get_music3len"] - - [0x7000774C, "musicTrack3Vol"] - - [0x700077B0, "music_related_10"] - - [0x70007808, "music_related_11"] - - [0x70007878, "music_related_13"] - - [0x70007914, "music_related_15"] - # file asm/code/music2.s - - [0x70007B20, "music_related_16"] - - [0x70007DDC, "music_related_17"] - - [0x70007E80, "music_related_18"] - - [0x70008948, "music_related_19"] - - [0x700089C4, "music_related_20"] - - [0x70008A30, "music_related_21"] - - [0x70008AF0, "music_related_22"] - - [0x70008B70, "music_related_23"] - - [0x70008D04, "music_related_24"] - - [0x70008DD8, "music_related_25"] - - [0x70008DF0, "sfxGetArg0Unk3F"] - - [0x70008E08, "play_sfx_a1"] - - [0x70009020, "sfxSetArg0Unk3EPostEvent"] - - [0x7000906C, "music_related_29"] - - [0x70009124, "music_related_30"] - - [0x70009144, "music_related_32"] - - [0x70009164, "music_related_34"] - - [0x70009184, "music_related_36"] - - [0x700091C8, "music_related_37"] - - [0x700091E8, "music_related_38"] - - [0x70009238, "music_related_39"] - - [0x70009264, "music_related_41"] - - [0x70009284, "music_related_42"] - # file asm/code/memp.s - - [0x70009380, "something_with_memp_c_debug"] - - [0x700093AC, "mempCheckMemflagTokens"] - - [0x70009514, "mempSetBankStarts"] - - [0x70009720, "mempAllocBytesInBank"] - - [0x70009804, "mempAddEntryOfSizeToBank"] - - [0x700098F0, "nulled_mempLoopAllMemBanks"] - - [0x70009910, "mempGetBankSizeLeft"] - - [0x70009970, "mempAllocPackedBytesInBank"] - - [0x7000999C, "mempResetBank"] - - [0x700099C4, "mempNullNextEntryInBank"] - # file asm/code/mema.s - - [0x70009A10, "memaSwap"] - - [0x70009A34, "memaMerge"] - - [0x70009A50, "memaSortMergeEntries"] - - [0x70009B18, "memaSortMergeAllEntries"] - - [0x70009B60, "mem_related"] - - [0x70009C74, "memaAllocRoomBuffer"] - - [0x70009D6C, "something_with_mema_c_debug"] - - [0x70009D98, "mempInitMallocTable"] - - [0x70009E10, "mem_related_calls_sort_merge_entries"] - - [0x70009E34, "mem_related_something_find_first"] - - [0x70009FA8, "mem_related_something_find_first_0"] - - [0x7000A020, "mem_related_model_room_buffers_0"] - - [0x7000A040, "mem_related_allocated_table_related"] - - [0x7000A064, "mem_related_something_first_related"] - - [0x7000A100, "generate_list_alloc_mem"] - - [0x7000A29C, "memaGenerateListsBeforeAfterMerge"] - - [0x7000A2F8, "mem_related_something_first_related_0"] - - [0x7000A370, "mem_related_0"] - - [0x7000A3DC, "mem_related_1"] - # file asm/code/random.s - - [0x7000A450, "random_related"] - - [0x7000A498, "increment_random_num"] - - [0x7000A4AC, "lotsa_shifting_randomizer_related"] - # file asm/code/checktoken.s - - [0x7000A4F0, "check_string_something"] - - [0x7000A58C, "strtok"] - - [0x7000A5C0, "check_boot_switches"] - - [0x7000A6A0, "check_token"] - # file asm/code/string_stuff.s - - [0x7000A770, "textpointer_load_parse_something"] - - [0x7000A7A0, "something_with_strings"] - - [0x7000A7FC, "string_append_from_obseg_textbank"] - - [0x7000A84C, "something_with_strings_0"] - - [0x7000A898, "string_related"] - - [0x7000A8F8, "strtol_related"] - - [0x7000A930, "strtol_related_0"] - - [0x7000A950, "strtol_related_1"] - - [0x7000A98C, "strtol_related_2"] - - [0x7000A9E0, "strtol"] - # file asm/code/sprintf.s - - [0x7000AC70, "proutSprintf"] - - [0x7000AC94, "sprintf"] - # file asm/code/vi_c.s - - [0x7000ACF0, "start_pi_manager"] - - [0x7000AD30, "start_nulled_entry"] - - [0x7000AD38, "something_with_vi_c_debug"] - # file asm/code/dummied_7000AD80.s - - [0x7000AD80, "dummied_function"] - - [0x7000AD90, "dummied_function_0"] - - [0x7000ADA0, "null_function"] - - [0x7000ADA8, "null_init_main_0"] - # file asm/code/debug.s - - [0x7000ADB0, "debug_text_related_2"] - - [0x7000ADD0, "display_text_to_coord"] - - [0x7000AEDC, "debug_menu_text_related"] - - [0x7000AF00, "blank_debug_buffer_chars"] - - [0x7000AF84, "stubbed_function"] - - [0x7000AF98, "something_debug_info_related"] - - [0x7000B040, "set_final_debug_text_positions"] - - [0x7000B06C, "set_debug_text_color"] - - [0x7000B098, "set_color_speedgraph"] - - [0x7000B0C4, "write_char_to_screen"] - - [0x7000B1C0, "debug_text_related_0"] - - [0x7000B1E8, "write_string_stdout"] - - [0x7000B230, "debug_text_related"] - - [0x7000B27C, "read_screen_display_block_and_write_chars"] - # file asm/code/joy_c.s - - [0x7000B560, "something_with_joy_c_debug"] - - [0x7000B6AC, "test_controller_presence"] - - [0x7000B728, "osPfsChecker"] - - [0x7000B734, "controller_7000B734"] - - [0x7000B810, "controller_check_for_rumble_maybe"] - - [0x7000B9F8, "controller_finding_controller_maybe"] - - [0x7000BA70, "get_num_controllers_plugged_in"] - - [0x7000BA7C, "controller_rumble_related"] - - [0x7000BBA8, "set_disable_all_rumble_and_something"] - - [0x7000BBBC, "set_ptr_tlb_ramrom_record"] - - [0x7000BBC8, "probably_ramrom_related"] - - [0x7000BD0C, "redirect_to_ramrom_replay_and_record_handlers_if_set"] - - [0x7000BD88, "controller_7000BD88"] - - [0x7000C0EC, "get_cur_controller_horz_stick_pos"] - - [0x7000C174, "controller_7000C174"] - - [0x7000C1FC, "get_cur_controller_vert_stick_pos"] - - [0x7000C284, "controller_7000C284"] - - [0x7000C30C, "get_controller_buttons_held"] - - [0x7000C3AC, "get_controller_buttons_pressed"] - - [0x7000C430, "controller_7000C430"] - - [0x7000C470, "controller_7000C470"] - - [0x7000C4B4, "get_controller_3dstick_L_R"] - - [0x7000C528, "get_controller_3dstick_U_D"] - - [0x7000C59C, "controller_7000C59C"] - - [0x7000C60C, "controller_7000C60C"] - - [0x7000C67C, "controller_7000C67C"] - - [0x7000C6BC, "controller_7000C6BC"] - - [0x7000C6FC, "save_7000C6FC"] - - [0x7000C734, "save_7000C734"] - - [0x7000C778, "save_7000C778"] - - [0x7000C7BC, "save_7000C7BC"] - - [0x7000C808, "save_7000C808"] - - [0x7000C854, "controller_7000C854"] - - [0x7000C8DC, "reset_cont_rumble_detect"] - - [0x7000C930, "controller_7000C930"] - - [0x7000C954, "controller_7000C954"] - # file asm/code/rumble.s - - [0x7000C980, "send_rumble_off_to_PIF"] - - [0x7000CAAC, "controller_7000CAAC"] - - [0x7000CBDC, "controller_7000CBDC"] - - [0x7000CD38, "controller_7000CD38"] - # file asm/code/rmon.s - - [0x7000CEA0, "rmonMain"] - - [0x7000CEA8, "rmon_debug_is_final_build"] - - [0x7000CEB0, "rmon_debug_returns_neg_1"] - - [0x7000CEB8, "rmon_debug_stub"] - - [0x7000CEC0, "rmon_debug_stub_0"] - - [0x7000CEC8, "rmon_debug_stub_1"] - - [0x7000CED0, "rmon_debug_stub_2"] - - [0x7000CED8, "rmon_debug_stub_3"] - - [0x7000CEE0, "rmon_debug_stub_4"] - - [0x7000CEE8, "proutSyncPrintf"] - - [0x7000CF44, "osSyncPrintf"] - # file asm/libultra/libultra.s - - [0x7000CF90, "osPiRawStartDma"] - - [0x7000D070, "osPiGetStatus"] - - [0x7000D080, "osInitialize"] - - [0x7000D320, "osWritebackDCacheAll"] - - [0x7000D350, "osInvalICache"] - - [0x7000D3D0, "osUnmapTLB"] - - [0x7000D410, "__osGetFpcCsr"] - - [0x7000D420, "__osSetFpcCsr"] - - [0x7000D430, "osCreateThread"] - - [0x7000D580, "osStartThread"] - - [0x7000D6D0, "osCreateMesgQueue"] - - [0x7000D740, "osStopThread"] - - [0x7000D800, "osSetThreadPri"] - - [0x7000D8E0, "osGetCount"] - - [0x7000D8F0, "osCreateViManager"] - - [0x7000DA78, "viMgrMain"] - - [0x7000DC30, "osCreateViManager_sub"] - - [0x7000DC50, "osSetEventMesg"] - - [0x7000DCC0, "osViSetEvent"] - - [0x7000DD30, "osSetIntMask"] - - [0x7000DDD0, "osRecvMesg"] - - [0x7000DF10, "osSendMesg"] - - [0x7000E060, "osViSetMode"] - - [0x7000E0D0, "osViSetXScale"] - - [0x7000E200, "osViSetYScale"] - - [0x7000E260, "osViRepeatLine"] - - [0x7000E2D0, "osViBlack"] - - [0x7000E340, "osSpTaskYielded"] - - [0x7000E3C0, "osDpGetCounters"] - - [0x7000E410, "osViGetCurrentFramebuffer"] - - [0x7000E450, "osViGetNextFramebuffer"] - - [0x7000E490, "osViSwapBuffer"] - - [0x7000E4E0, "osDpSetStatus"] - - [0x7000E4F0, "_VirtualToPhysicalTask"] - - [0x7000E60C, "osSpTaskLoad"] - - [0x7000E76C, "osSpTaskStartGo"] - - [0x7000E7B0, "osDpSetNextBuffer"] - - [0x7000E860, "osSpTaskYield"] - - [0x7000E880, "__osGetTLBHi"] - - [0x7000E8B0, "osVirtualToPhysical"] - - [0x7000E930, "osAiSetFrequency"] - - [0x7000EA90, "alUnlink"] - - [0x7000EAC0, "alLink"] - - [0x7000EAE4, "alClose"] - - [0x7000EB1C, "alInit"] - - [0x7000EB50, "alHeapDBAlloc"] - - [0x7000EBB0, "osGetTime"] - - [0x7000EC40, "__ull_rshift"] - - [0x7000EC6C, "__ull_rem"] - - [0x7000ECA8, "ull_div"] - - [0x7000ECE4, "__ll_lshift"] - - [0x7000ED10, "__ll_rem"] - - [0x7000ED4C, "__ll_div"] - - [0x7000EDA8, "__ll_mul"] - - [0x7000EDD8, "__ull_divremi"] - - [0x7000EE38, "__ll_mod"] - - [0x7000EED4, "__ll_rshift"] - - [0x7000EF00, "osAiSetNextBuffer"] - - [0x7000EFB0, "osAiGetLength"] - - [0x7000EFC8, "_timeToSamples"] - - [0x7000F020, "_freePVoice"] - - [0x7000F058, "_collectPVoices"] - - [0x7000F0B8, "__freeParam"] - - [0x7000F0D0, "__allocParam"] - - [0x7000F108, "alAudioFrame"] - - [0x7000F3A0, "alSynNew"] - - [0x7000F6A0, "osPiStartDma"] - - [0x7000F7B0, "osViSetSpecialFeatures"] - - [0x7000F970, "_bcopy"] - - [0x7000FC80, "guPerspectiveF"] - - [0x7000FEB0, "guPerspective"] - - [0x7000FF10, "guMtxF2L"] - - [0x70010010, "guMtxIdentF"] - - [0x70010098, "guMtxIdent"] - - [0x700100C8, "guMtxL2F"] - - [0x70010180, "__osGetCurrFaultedThread"] - - [0x70010190, "__osExceptionPreamble"] - - [0x700101A0, "__osException"] - - [0x70010390, "next_interrupt"] - - [0x700103C8, "IP6_Hdlr"] - - [0x700103D4, "IP7_Hdlr"] - - [0x700103E0, "counter"] - - [0x70010400, "cart"] - - [0x70010454, "rcp"] - - [0x70010594, "prenmi"] - - [0x700105F0, "sw2"] - - [0x70010610, "swl"] - - [0x70010648, "redispatch"] - - [0x7001067C, "enqueueRunning"] - - [0x700106C4, "send_mesg"] - - [0x70010778, "handle_CpU"] - - [0x700107AC, "__osEnqueueAndYield"] - - [0x700108AC, "__osEnqueueThread"] - - [0x700108F4, "__osPopThread"] - - [0x70010904, "__osDispatchThread"] - - [0x70010924, "__osDispatchThreadSave"] - - [0x70010A80, "__osCleanupThread"] - - [0x70010A90, "__osDequeueThread"] - - [0x70010AD0, "osYieldThread"] - - [0x70010B20, "osInvalDCache"] - - [0x70010BD0, "osWritebackDCache"] - - [0x70010C50, "osSetTimer"] - - [0x70010D30, "alHeapInit"] - - [0x70010D80, "ultra_70010D80"] - - [0x70010E74, "alBnkfNew"] - - [0x70010F78, "alSeqFileNew"] - - [0x70010FC0, "__CSPPostNextSeqEvent"] - - [0x70011030, "ultra_70011030"] - - [0x7001106C, "ultra_7001106C"] - - [0x7001123C, "ultra_7001123C"] - - [0x70011A6C, "ultra_70011A6C"] - - [0x70012080, "alCSPNew"] - - [0x700121F0, "alSeqpSetBank"] - - [0x70012230, "alCSPGetState"] - - [0x70012240, "alCSeqGetLoc"] - - [0x700122E0, "alCSeqSetLoc"] - - [0x70012380, "ultra_70012380"] - - [0x70012444, "ultra_70012444"] - - [0x700124A4, "alCSeqNextEvent"] - - [0x7001279C, "alCSeqNew"] - - [0x700128B0, "alCSeqNewMarker"] - - [0x70012A1C, "alCSeqGetTicks"] - - [0x70012A24, "alCSeqSecToTicks"] - - [0x70012B20, "alCSeqTicksToSec"] - - [0x70012B8C, "__alCSeqNextDelta"] - - [0x70012D00, "alCSPSetSeq"] - - [0x70012D40, "alCSPPlay"] - - [0x70012D70, "alCSPStop"] - - [0x70012DA0, "alCSPSetVol"] - - [0x70012DE0, "alEvtqFlushType"] - - [0x70012E8C, "alEvtqFlush"] - - [0x70012EFC, "alEvtqPostEvent"] - - [0x70013020, "alEvtqNextEvent"] - - [0x700130AC, "alEvtqNew"] - - [0x70013120, "alSynAddPlayer"] - - [0x70013170, "_allocatePVoice"] - - [0x70013258, "alSynAllocVoice"] - - [0x700133A0, "alSynSetVol"] - - [0x70013440, "alSynStartVoice"] - - [0x700134D0, "alSynSetPan"] - - [0x70013560, "alSynSetPitch"] - - [0x700135F0, "alSynSetFXMix"] - - [0x70013690, "alSynStopVoice"] - - [0x70013710, "alSynFreeVoice"] - - [0x700137C0, "alCents2Ratio"] - - [0x70013810, "osPiReadIo"] - - [0x70013850, "memcpy"] - - [0x7001387C, "strlen"] - - [0x700138A4, "strchr"] - - [0x700138F0, "_Putfld"] - - [0x70013F60, "_Printf"] - - [0x700145B0, "osCreatePiManager"] - - [0x70014740, "osPfsInit"] - - [0x700147F4, "__osPfsGetStatus"] - - [0x70014900, "osContInit"] - - [0x70014AF8, "__osContGetInitData"] - - [0x70014BC8, "__osPackRequestData"] - - [0x70014CC0, "osContStartQuery"] - - [0x70014D44, "osContGetQuery"] - - [0x70014D70, "osContStartReadData"] - - [0x70014E34, "osContGetReadData"] - - [0x70014EDC, "osContReadData_sub"] - - [0x70014FD0, "osEepromProbe"] - - [0x70015040, "osEepromRead"] - - [0x70015230, "osEepromRead_sub"] - - [0x70015340, "osEepromWrite"] - - [0x700154F0, "osEepromWrite_sub"] - - [0x700155FC, "__osEepStatus"] - - [0x70015820, "osEepromLongRead"] - - [0x70015960, "osEepromLongWrite"] - - [0x70015AA0, "osPfsIsPlug"] - - [0x70015C40, "__osPfsRequestData"] - - [0x70015D3C, "__osPfsGetInitData"] - - [0x70015E10, "__osSiCreateAccessQueue"] - - [0x70015E60, "__osSiGetAccess"] - - [0x70015EA4, "__osSiRelAccess"] - - [0x70015ED0, "__osSiRawStartDma"] - - [0x70015F80, "__osContAddressCrc"] - - [0x70016030, "__osContDataCrc"] - - [0x70016100, "__osContRamWrite"] - - [0x70016330, "__osContRamWrite_sub"] - - [0x700164B0, "__osContRamRead"] - - [0x700166F4, "__osContRamRead_sub"] - - [0x70016860, "guAlignF"] - - [0x70016A20, "guAlign"] - - [0x70016A70, "guOrthoF"] - - [0x70016BC4, "guOrtho"] - - [0x70016C30, "coss"] - - [0x70016C60, "sins"] - - [0x70016CD0, "guTranslateF"] - - [0x70016D18, "guTranslate"] - - [0x70016D70, "_bcmp"] - - [0x70016E90, "guScaleF"] - - [0x70016EE4, "guScale"] - - [0x70016F30, "guLookAtReflectF"] - - [0x70017370, "guLookAtReflect"] - - [0x700173F0, "guLookAtF"] - - [0x700176A8, "guLookAt"] - - [0x70017720, "guRotateF"] - - [0x700178B4, "guRotate"] - - [0x70017910, "__d_to_ll"] - - [0x7001792C, "__f_to_ll"] - - [0x70017948, "__d_to_ull"] - - [0x700179E8, "__f_to_ull"] - - [0x70017A84, "__ll_to_d"] - - [0x70017A9C, "__ll_to_f"] - - [0x70017AB4, "__ull_to_d"] - - [0x70017AE8, "__ull_to_f"] - - [0x70017B20, "__osSetSR"] - - [0x70017B30, "__osGetSR"] - - [0x70017B40, "__osSiRawReadIo"] - - [0x70017B90, "__osSiRawWriteIo"] - - [0x70017BE0, "osPiRawReadIo"] - - [0x70017C40, "_blkclr"] - - [0x70017CE0, "__osSetHWIntrRoutine"] - - [0x70017D30, "__osLeoInterrupt"] - - [0x70018414, "__osLeoInterrupt_sub1"] - - [0x700184FC, "__osLeoInterrupt_sub2"] - - [0x700185F0, "__osDisableInt"] - - [0x70018610, "__osRestoreInt"] - - [0x70018630, "__osTimerServicesInit"] - - [0x700186BC, "__osTimerInterrupt"] - - [0x70018834, "__osSetTimerIntr"] - - [0x700188A8, "__osInsertTimer"] - - [0x70018A30, "osGetThreadPri"] - - [0x70018A50, "__osViInit"] - - [0x70018B60, "__osViGetCurrentContext"] - - [0x70018B70, "__osViSwapContext"] - - [0x70018ED0, "__osSpGetStatus"] - - [0x70018EE0, "__osSpSetStatus"] - - [0x70018EF0, "__osSpSetPc"] - - [0x70018F30, "__osSpRawStartDma"] - - [0x70018FC0, "__osSpDeviceBusy"] - - [0x70018FF0, "__osDpDeviceBusy"] - - [0x70019020, "__osProbeTLB"] - - [0x700190E0, "alSynDelete"] - - [0x700190F0, "__osAiDeviceBusy"] - - [0x70019120, "alSaveNew"] - - [0x70019164, "alMainBusNew"] - - [0x700191B8, "alAuxBusNew"] - - [0x7001920C, "alResampleNew"] - - [0x70019294, "alLoadNew"] - - [0x7001933C, "alEnvmixerNew"] - - [0x700193E0, "init_lpfilter"] - - [0x70019480, "alFxNew"] - - [0x700198C0, "alSynAllocFX"] - - [0x70019960, "alMainBusParam"] - - [0x70019990, "alMainBusPull"] - - [0x70019AB0, "alLoadParam"] - - [0x70019C84, "alRaw16Pull"] - - [0x7001A030, "ultra_7001A030"] - - [0x7001A15C, "alAdpcmPull"] - - [0x7001A600, "alResampleParam"] - - [0x7001A6EC, "alResamplePull"] - - [0x7001A900, "_ldexpf"] - - [0x7001A928, "_frexpf"] - - [0x7001AA14, "alEnvmixerParam"] - - [0x7001AAF4, "ultra_7001AAF4"] - - [0x7001ABB4, "ultra_7001ABB4"] - - [0x7001AE5C, "alEnvmixerPull"] - - [0x7001B4E0, "ultra_7001B4E0"] - - [0x7001B510, "ultra_7001B510"] - - [0x7001B5F0, "alSaveParam"] - - [0x7001B624, "alSavePull"] - - [0x7001B6B0, "osJamMesg"] - - [0x7001B800, "osPiGetCmdQueue"] - - [0x7001B830, "ultra_7001B830"] - - [0x7001B9A0, "ultra_7001B9A0"] - - [0x7001BB60, "osDestroyThread"] - - [0x7001BC60, "__setInstChanState"] - - [0x7001BCB4, "__resetPerfChanState"] - - [0x7001BD34, "__initFromBank"] - - [0x7001BDF0, "__vsDelta"] - - [0x7001BE14, "__vsVol"] - - [0x7001BE9C, "__seqpReleaseVoice"] - - [0x7001BFC8, "__voiceNeedsNoteKill"] - - [0x7001C070, "__unmapVoice"] - - [0x7001C0E0, "__postNextSeqEvent"] - - [0x7001C1BC, "__handleMetaMsg"] - - [0x7001C234, "__vsPan"] - - [0x7001C27C, "__lookupVoice"] - - [0x7001C2F0, "__mapVoice"] - - [0x7001C360, "__lookupSoundQuick"] - - [0x7001C45C, "__handleMIDIMsg"] - - [0x7001CC7C, "__seqpVoiceHandler"] - - [0x7001D2A0, "__seqpStopOsc"] - - [0x7001D300, "unknown_libname_37"] - - [0x7001D32C, "unknown_libname_38"] - - [0x7001D338, "unknown_libname_39"] - - [0x7001D35C, "unknown_libname_40"] - - [0x7001D38C, "unknown_libname_41"] - - [0x7001D3A0, "unknown_libname_42"] - - [0x7001D3A4, "__initChanState"] - - [0x7001D414, "alSeqpNew"] - - [0x7001D5A0, "alSynStartVoiceParams"] - - [0x7001D690, "alCopy"] - - [0x7001D710, "__osPiCreateAccessQueue"] - - [0x7001D760, "__osPiGetAccess"] - - [0x7001D7A4, "__osPiRelAccess"] - - [0x7001D7D0, "_Litob"] - - [0x7001DA70, "xldtob_sub0"] - - [0x7001DFE0, "_Ldtob"] - - [0x7001E530, "osEPiRawStartDma"] - - [0x7001E610, "__osDevMgrMain"] - - [0x7001E9C0, "__osSumcalc"] - - [0x7001EA1C, "__osIdCheckSum"] - - [0x7001EA84, "__osRepairPackId"] - - [0x7001EE9C, "__osCheckPackId"] - - [0x7001F034, "__osGetId"] - - [0x7001F290, "__osCheckId"] - - [0x7001F38C, "__osPfsRWInode"] - - [0x7001F6AC, "__osPfsSelectBank"] - - [0x7001F720, "__osSiDeviceBusy"] - - [0x7001F750, "guNormalize"] - - [0x7001F7E0, "sqrtf"] - - [0x7001F7F0, "osLeoDiskInit"] - - [0x7001F8E0, "__osSetCompare"] - - [0x7001F8F0, "alFilterNew"] - - [0x7001F910, "_doModFunc"] - - [0x7001F9B8, "_filterBuffer"] - - [0x7001FA70, "_saveBuffer"] - - [0x7001FBF8, "_loadBuffer"] - - [0x7001FD84, "_loadOutputBuffer"] - - [0x7001FFA8, "alFxParamHdl"] - - [0x700201C0, "alFxParam"] - - [0x700201D8, "alFxPull"] - - [0x70020520, "alSeqGetLoc"] - - [0x7002053C, "alSeqSetLoc"] - - [0x70020558, "alSeqGetTicks"] - - [0x70020568, "readVarLen"] - - [0x700205B4, "alSeqNextEvent"] - - [0x70020738, "alSeqNewMarker"] - - [0x70020858, "alSeqSecToTicks"] - - [0x7002093C, "alSeqTicksToSec"] - - [0x70020990, "__alSeqNextDelta"] - - [0x700209E8, "read32"] - - [0x70020A38, "read16"] - - [0x70020A68, "alSeqNew"] - - [0x70020B40, "alSynSetPriority"] - - [0x70020B50, "lldiv"] - - [0x70020C50, "ldiv"] - - [0x70020CE0, "__osResetGlobalIntMask"] - - [0x70020D40, "osEPiRawWriteIo"] - - ############################### - # object rarezipsegment.o - # .text - # file asm/rarezip/rarezipsegment.s - - [0x70200000, "decompress.buildtable"] - - [0x70200654, "decompress.inflate"] - - [0x70200A48, "decompress.type0"] - - [0x70200B9C, "decompress.type1"] - - [0x70200D04, "decompress.type2"] - - [0x70201228, "decompress.table"] - - [0x70201348, "decompress.start"] - - [0x7020141C, "decompress.entry"] - # .data - - [0x70201480, "rarezip.ptr_source"] - - [0x70201484, "rarezip.ptr_target"] - - [0x70201488, "rarezip.curoffset"] - - [0x7020148C, "rarezip.decompressed_count"] - - [0x70201490, "rarezip.ptrbuffer"] - - [0x70201494, "rarezip.order"] - - [0x702014A8, "rarezip.lbase"] - - [0x702014E8, "rarezip.lextra"] - - [0x70201508, "rarezip.dbase"] - - [0x70201544, "rarezip.dextra"] - - [0x70201564, "rarezip.sample"] - - [0x70201568, "rarezip.bits_in_sample"] - - [0x7020156C, "rarezip.masks"] - - [0x70201590, "rarezip.data1"] - - [0x70201594, "rarezip.data2"] - - [0x70201598, "rarezip.data3"] - - ############################### - # object gamesegment.o - # .text - # file asm/game/initdata.s - - [0x7F000000, "zero_basic_data"] - # file asm/game/init_weapon_anim_groups.s - - [0x7F0000E0, "init_weapon_animation_groups_maybe"] - # file asm/game/7F000110.s - - [0x7F000110, "reset_counter_rand_body_head"] - - [0x7F0001F0, "sub_GAME_7F0001F0"] - - [0x7F000290, "sub_GAME_7F000290"] - - [0x7F00032C, "sub_GAME_7F00032C"] - - [0x7F00046C, "sub_GAME_7F00046C"] - - [0x7F0004D0, "sub_GAME_7F0004D0"] - - [0x7F000518, "somethingwith_weapon_animation_groups"] - - [0x7F000980, "sub_GAME_7F000980"] - - [0x7F0009A0, "sub_GAME_7F0009A0"] - # file asm/game/7F0009D0.s - - [0x7F0009D0, "null_init_main_3"] - # file asm/game/7F0009E0.s - - [0x7F0009E0, "sub_GAME_7F0009E0"] - # file asm/game/prep_ani_table.s - - [0x7F000A00, "expand_ani_table_entries"] - - [0x7F000AAC, "alloc_load_expand_ani_table"] - # file asm/game/7F000B60.s - - [0x7F000B60, "sub_GAME_7F000B60"] - # file asm/game/gu_scale.s - - [0x7F000B80, "set_gu_scale"] - # file asm/game/7F000BC0.s - - [0x7F000BC0, "null_init_main_2"] - # file asm/game/image_related.s - - [0x7F000BD0, "image_entries_load"] - # file asm/game/alloc_intro_matrices.s - - [0x7F000C70, "alloc_intro_matrices"] - # file asm/game/init_menus.s - - [0x7F000D20, "init_menus_or_reset"] - # file asm/game/init_guards.s - - [0x7F000E40, "init_guards"] - - [0x7F000EB8, "alloc_init_GUARDdata_entries"] - - [0x7F000F50, "set_new_rand_head_bodies"] - # file asm/game/init_objectives_and_models.s - - [0x7F001020, "init_obj_register_difficulty_vals"] - - [0x7F00105C, "alloc_false_GUARDdata_to_exec_global_action"] - - [0x7F001258, "debug_object_load_all_models"] - - [0x7F00140C, "debug_weapon_load_table"] - # file asm/game/level_init_stuff.s - - [0x7F0014B0, "init_sound_effects_registers"] - - [0x7F0014E0, "init_load_objpos_table"] - - [0x7F0015D0, "alloc_lookup_buffers"] - - [0x7F001750, "reinit_between_menus"] - - [0x7F001910, "sub_GAME_7F001910"] - - [0x7F001928, "sub_GAME_7F001928"] - - [0x7F001940, "sub_GAME_7F001940"] - - [0x7F001958, "write_monitor_ani_control_blocks"] - - [0x7F001B08, "initialize_temp_mine_table"] - # file asm/game/loadmorestuff.s - - [0x7F001B50, "load_proptype"] - - [0x7F001BD4, "sub_GAME_7F001BD4"] - - [0x7F001D9C, "prepare_load_objects"] - - [0x7F002738, "expand_08_obj_set_guard_MP_weapons"] - - [0x7F00296C, "def_7F002854"] - - [0x7F0029A8, "MP_weapon_expansion_routine"] - - [0x7F002A1C, "jmp_prepare_load_objects"] - - [0x7F002A3C, "sub_GAME_7F002A3C"] - - [0x7F002C58, "expand_type_0D_object_autoturret"] - - [0x7F002E1C, "jmp_prepare_load_objects_0"] - - [0x7F002E3C, "sub_GAME_7F002E3C"] - - [0x7F0030D0, "sub_GAME_7F0030D0"] - - [0x7F00324C, "sub_GAME_7F00324C"] - - [0x7F003480, "sub_GAME_7F003480"] - - [0x7F003BF0, "proplvreset2"] - - [0x7F004388, "actor_attr_expand"] - - [0x7F0043BC, "actor_expand"] - - [0x7F0043E0, "door_expand"] - - [0x7F004410, "door_scale_expand"] - - [0x7F004434, "item_expand"] - - [0x7F004468, "key_expand"] - - [0x7F00449C, "hat_expand"] - - [0x7F0044D0, "surv_camera_expand"] - - [0x7F004500, "autogun_expand"] - - [0x7F004530, "rack_expand"] - - [0x7F004560, "single_screen_display_expand"] - - [0x7F004590, "multi_screen_display_expand"] - - [0x7F0045C0, "body_armor_expand"] - - [0x7F004614, "type2F_tinted_glass"] - - [0x7F004730, "obj_03_expand"] - - [0x7F004760, "ammo_box_expand"] - - [0x7F004814, "type2D_tank"] - - [0x7F0048A4, "type27_wheeled_vehicle"] - - [0x7F004954, "type28_aircraft"] - - [0x7F0049CC, "tag_expand"] - - [0x7F004A00, "type25_rename"] - - [0x7F004A34, "type23_solo_brief_text"] - - [0x7F004A44, "type2E_viewport_pos"] - - [0x7F004AC4, "type17_objective_expand"] - - [0x7F004AD4, "type20_subobjective_expand"] - - [0x7F004AE4, "type21_subobjective_expand"] - - [0x7F004AF4, "type1E_subobjective_expand"] - - [0x7F004AFC, "other_obj_expand"] - # file asm/game/objective_related.s - - [0x7F004EC0, "something_with_stage_objectives"] - - [0x7F004F88, "set_parent_cur_tag_entry"] - - [0x7F004FA0, "setup_briefing_text_entry_parent"] - - [0x7F004FB8, "add_ptr_to_objective"] - - [0x7F004FF4, "set_parent_cur_obj_enter_room"] - - [0x7F00500C, "set_parent_cur_obj_deposited_in_room"] - - [0x7F005024, "set_parent_cur_obj_photograph"] - # file asm/game/ejected_cartridges.s - - [0x7F005040, "something_with_ejected_cartridges"] - # file asm/game/init_BONDdata.s - - [0x7F0050D0, "init_player_BONDdata_stats"] - # file asm/game/7F005450.s - - [0x7F005450, "sub_GAME_7F005450"] - # file asm/game/level_load_stuff.s - - [0x7F005520, "zero_contents_of_80036070_74"] - - [0x7F005534, "set_contents_of_80036078"] - - [0x7F005540, "sub_GAME_7F005540"] - - [0x7F005624, "sub_GAME_7F005624"] - # file asm/game/generate_launched_object.s - - [0x7F005710, "set_weapon_model_generated_thrown_object"] - - [0x7F005740, "throwingknife"] - - [0x7F005748, "grenade_launch_round"] - - [0x7F005750, "rocket"] - - [0x7F005758, "grenade"] - - [0x7F005760, "timed_mine"] - - [0x7F005768, "prox_mine"] - - [0x7F005770, "remote_mine"] - - [0x7F005778, "rocket_0"] - - [0x7F005780, "bombcase"] - - [0x7F005788, "plastique"] - - [0x7F005790, "bug"] - - [0x7F005798, "microcamera"] - - [0x7F00579C, "default"] - - [0x7F0057C4, "load_camera_intro_type_values"] - - [0x7F005A7C, "spawn_point"] - - [0x7F005AF0, "weapon"] - - [0x7F005B78, "ammo"] - - [0x7F005BA0, "swirling_intro_cam"] - - [0x7F005C28, "intro_ani"] - - [0x7F005C3C, "cuff_char"] - - [0x7F005C50, "fixed_cam"] - - [0x7F005D14, "watch_time"] - - [0x7F005D8C, "credits"] - - [0x7F005DE0, "def_7F005A74"] - # file asm/game/alloc_item_slots.s - - [0x7F0061F0, "sub_GAME_7F0061F0"] - - [0x7F00625C, "alloc_additional_item_slots"] - # file asm/game/default_BONDdata_stuff.s - - [0x7F0062C0, "sub_GAME_7F0062C0"] - - [0x7F00638C, "sets_a_bunch_of_BONDdata_values_to_default"] - # file asm/game/load_init_path_table.s - - [0x7F0067C0, "init_pathtable_something"] - - [0x7F006890, "init_path_table_links"] - # file asm/game/7F006D90.s - - [0x7F006D90, "alloc_explosion_smoke_casing_scorch_impact_buffers"] - # file asm/game/7F007180.s - - [0x7F007180, "sub_GAME_7F007180"] - # file asm/game/7F007290.s - - [0x7F007290, "sub_GAME_7F007290"] - # file asm/game/7F0072B0.s - - [0x7F0072B0, "sub_GAME_7F0072B0"] - - [0x7F0072F8, "disable_onscreen_cheat_text"] - # file asm/game/7F007320.s - - [0x7F007320, "set_mt_tex_alloc"] - # file asm/game/7F0073B0.s - - [0x7F0073B0, "cleanupGuardData"] - # file asm/game/7F007460.s - - [0x7F007460, "cleanupObjectSounds"] - # file asm/game/7F0074D0.s - - [0x7F0074D0, "cleanupAlarms"] - # file asm/game/7F007500.s - - [0x7F007500, "cleanupObjects"] - - [0x7F007590, "cleanupObjectives"] - # file asm/game/7F007700.s - - [0x7F007700, "cleanupSFXRelated"] - # file asm/game/7F007770.s - - [0x7F007770, "sub_GAME_7F007770"] - # file asm/game/7F007800.s - - [0x7F007800, "cleanupExplosions"] - # file asm/game/7F007920.s - - [0x7F007920, "sub_GAME_7F007920"] - # file asm/game/7F007970.s - - [0x7F007970, "cleanup_REMOVED_"] - # file asm/game/7F007980.s - - [0x7F007980, "cleanupplayersoundrelated"] - # file asm/game/intro_logos.s - - [0x7F007A40, "something_with_gunbarrel_and_rareware_logo_matrix_manip"] - - [0x7F007B94, "insert_sight_backdrop_eye_intro"] - - [0x7F007CC8, "sub_GAME_7F007CC8"] - - [0x7F007D8C, "insert_sniper_sight_eye_intro"] - - [0x7F007E70, "sub_GAME_7F007E70"] - - [0x7F007F30, "sub_GAME_7F007F30"] - - [0x7F0082C8, "insert_bond_eye_intro"] - - [0x7F0084C0, "load_display_rare_logo"] - - [0x7F008B58, "sub_GAME_7F008B58"] - - [0x7F008BDC, "retrieve_display_rareware_logo"] - - [0x7F008DD0, "sub_GAME_7F008DD0"] - - [0x7F008DE4, "sub_GAME_7F008DE4"] - - [0x7F008E80, "sub_GAME_7F008E80"] - - [0x7F00920C, "sub_GAME_7F00920C"] - - [0x7F009254, "sub_GAME_7F009254"] - - [0x7F009730, "def_7F00929C"] - - [0x7F009744, "sub_GAME_7F009744"] - # file asm/game/menus.s - - [0x7F009760, "write_text_at_abs_coord"] - - [0x7F009848, "check_if_cheat_available"] - - [0x7F009874, "default_nonmenucheats"] - - [0x7F00987C, "cheat_invincible"] - - [0x7F00989C, "cheat_allguns"] - - [0x7F0098BC, "cheat_noradar"] - - [0x7F0098DC, "cheat_fast"] - - [0x7F0098FC, "cheat_invisible"] - - [0x7F00991C, "cheat_infinite_ammo"] - - [0x7F00993C, "cheat_dk_mode"] - - [0x7F00995C, "cheat_tinybond"] - - [0x7F00997C, "cheat_slow"] - - [0x7F00999C, "cheat_paintball"] - - [0x7F0099BC, "cheat_silverpp7"] - - [0x7F0099DC, "cheat_goldpp7"] - - [0x7F0099FC, "cheat_enemyrockets"] - - [0x7F009A1C, "cheat_2xrocket"] - - [0x7F009A3C, "cheat_2xgrenadelauncher"] - - [0x7F009A5C, "cheat_2xrcp90"] - - [0x7F009A7C, "cheat_2xthrowingknife"] - - [0x7F009A9C, "cheat_2xhuntingknife"] - - [0x7F009ABC, "cheat_2xlaser"] - - [0x7F009ADC, "cheat_turbo"] - - [0x7F009AFC, "cheat_unlockcradle"] - - [0x7F009B10, "cheat_unlockaztec"] - - [0x7F009B24, "cheat_unlockegypt"] - - [0x7F009B38, "def_7F00986C"] - - [0x7F009B50, "getplayerfavoredweapon"] - - [0x7F009B84, "menu_control_stick_tracking"] - - [0x7F009F08, "load_draw_selected_icon_folder_select"] - - [0x7F00A080, "add_tab1_start"] - - [0x7F00A1E4, "isontab1"] - - [0x7F00A238, "add_tab3_previous"] - - [0x7F00A39C, "isontab3"] - - [0x7F00A3F0, "set_cursor_pos_tab2"] - - [0x7F00A414, "add_tab2_next"] - - [0x7F00A578, "isontab2"] - - [0x7F00A5E8, "init_menu00_legalscreen"] - - [0x7F00A6B0, "update_menu00_legalscreen"] - - [0x7F00A6DC, "interface_menu00_legalscreen"] - - [0x7F00A7E4, "display_aligned_white_text_to_screen"] - - [0x7F00A8E0, "constructor_menu00_legalscreen"] - - [0x7F00AAEC, "reset_menutimer"] - - [0x7F00AAF8, "sub_GAME_7F00AAF8"] - - [0x7F00AB00, "interface_menu17_switchscreens"] - - [0x7F00ABA8, "constructor_menu17_switchscreens"] - - [0x7F00ABC8, "init_menu01_nintendo"] - - [0x7F00ACA4, "update_menu01_nintendo"] - - [0x7F00ACC8, "interface_menu01_nintendo"] - - [0x7F00AD98, "constructor_menu01_nintendo"] - - [0x7F00B064, "init_menu02_rarelogo"] - - [0x7F00B0A4, "update_menu02_rareware"] - - [0x7F00B0AC, "interface_menu02_rareware"] - - [0x7F00B134, "constructor_menu02_rareware"] - - [0x7F00B154, "init_menu03_eyeintro"] - - [0x7F00B190, "update_menu_03_eye"] - - [0x7F00B1B0, "interface_menu03_eye"] - - [0x7F00B238, "constructor_menu03_eye"] - - [0x7F00B258, "init_menu04_goldeneyelogo"] - - [0x7F00B304, "update_menu04_goldeneye"] - - [0x7F00B330, "interface_menu04_goldeneyelogo"] - - [0x7F00B47C, "constructor_menu04_goldeneyelogo"] - - [0x7F00B724, "disable_all_switches"] - - [0x7F00B7C0, "set_item_visibility_in_objinstance"] - - [0x7F00B808, "select_load_bond_picture"] - - [0x7F00B8AC, "load_walletbond"] - - [0x7F00B990, "sub_GAME_7F00B990"] - - [0x7F00B9E8, "init_menu05_fileselect"] - - [0x7F00BAE0, "update_menu05_filesel"] - - [0x7F00BB1C, "get_chapter_briefing_entry"] - - [0x7F00BB68, "toggle_deletion_menu_for_folder"] - - [0x7F00BBCC, "interface_menu05_fileselect"] - - [0x7F00C384, "get_ptr_difficulty_name"] - - [0x7F00C408, "constructor_menu05_fileselect"] - - [0x7F00D250, "init_menu06_modeselect"] - - [0x7F00D290, "update_menu06_modesel"] - - [0x7F00D298, "interface_menu06_modesel"] - - [0x7F00D5E8, "sub_GAME_7F00D5E8"] - - [0x7F00D7FC, "set_menu_cursor_pos_to_setting"] - - [0x7F00D828, "constructor_menu06_modesel"] - - [0x7F00DCC0, "pull_and_display_text_for_folder_a0"] - - [0x7F00DD0C, "check_if_stage_completed_on_difficulty"] - - [0x7F00DD60, "get_highest_unlocked_difficulty_for_level"] - - [0x7F00DE50, "init_menu07_missionselect"] - - [0x7F00DEB0, "update_menu07_missionsel"] - - [0x7F00DEB8, "interface_menu07_missionsel"] - - [0x7F00E3E0, "set_cursor_to_stage_solo"] - - [0x7F00E458, "constructor_menu07_missionsel"] - - [0x7F00E780, "init_menu08_difficultyselect"] - - [0x7F00E7B8, "update_menu08_difficulty"] - - [0x7F00E7C0, "interface_menu08_difficulty"] - - [0x7F00EABC, "print_current_solo_briefing_stage_name"] - - [0x7F00ED64, "set_cursor_pos_difficulty"] - - [0x7F00ED98, "constructor_menu08_difficulty"] - - [0x7F00F300, "init_menu09_007difficultyselect"] - - [0x7F00F36C, "update_menu09_007options"] - - [0x7F00F374, "interface_menu09_007options"] - - [0x7F00F798, "constructor_menu09_007options"] - - [0x7F0100BC, "get_player_control_style"] - - [0x7F0100D0, "check_if_mp_stage_unlocked"] - - [0x7F010170, "select_game_length"] - - [0x7F0101D8, "copy_aim_settings_to_playerdata"] - - [0x7F01023C, "advance_aim_settings_selection"] - - [0x7F010280, "unlock_all_mp_chars"] - - [0x7F010290, "get_selected_num_players"] - - [0x7F0102BC, "get_player_mp_char_head"] - - [0x7F01030C, "get_player_mp_char_gender"] - - [0x7F01035C, "get_player_mp_char_body"] - - [0x7F0103AC, "get_player_mp_handicap"] - - [0x7F0103D0, "get_player_mp_char_height"] - - [0x7F010420, "get_time_div_selected_length"] - - [0x7F010444, "get_score_div_selected_length"] - - [0x7F010468, "reset_mp_options_for_scenario"] - - [0x7F0105F8, "def_7F0104D4"] - - [0x7F010608, "init_mp_options_for_scenario"] - - [0x7F01073C, "init_menu0E_mpoptions"] - - [0x7F010840, "update_menu0E_mpoptions"] - - [0x7F010848, "interface_menu0E_mpoptions"] - - [0x7F010F10, "constructor_menu0E_mpoptions"] - - [0x7F011BD8, "get_players_who_have_selected_mp_char"] - - [0x7F011C3C, "init_menu0f_mpcharsel"] - - [0x7F011ECC, "update_menu0F_mpcharsel"] - - [0x7F011ED4, "interface_menu0F_mpcharsel"] - - [0x7F0122A8, "sub_GAME_7F0122A8"] - - [0x7F01231C, "sub_GAME_7F01231C"] - - [0x7F012794, "constructor_menu0F_mpcharsel"] - - [0x7F012E30, "init_menu10_mphandicap"] - - [0x7F012EBC, "update_menu10_mphandicap"] - - [0x7F012EC4, "interface_menu10_mphandicap"] - - [0x7F01317C, "constructor_menu10_mphandicap"] - - [0x7F013574, "init_menu11_mpcontrol"] - - [0x7F013600, "update_menu11_mpcontrols"] - - [0x7F013608, "interface_menu11_mpcontrols"] - - [0x7F013980, "constructor_menu11_mpcontrol"] - - [0x7F013D78, "init_menu12_mpstage"] - - [0x7F013DCC, "update_menu12_mpstage"] - - [0x7F013DD4, "interface_menu12_mpstage"] - - [0x7F014050, "constructor_menu12_mpstage"] - - [0x7F014758, "get_scenario"] - - [0x7F014764, "init_menu13_mpscenariosel"] - - [0x7F0147B0, "update_menu13_mpscenario"] - - [0x7F0147B8, "interface_menu13_mpscenario"] - - [0x7F014A48, "constructor_menu13_mpscenario"] - - [0x7F014C88, "get_players_team_or_scenario_item_flag"] - - [0x7F014CA4, "set_players_team_or_scenario_item_flag"] - - [0x7F014CC0, "init_menu14_mpteamsel"] - - [0x7F014D40, "update_menu14_mpteams"] - - [0x7F014D48, "interface_menu14_mpteams"] - - [0x7F015138, "constructor_menu14_mpteams"] - - [0x7F015510, "set_briefing_page"] - - [0x7F015520, "load_briefing_text_for_stage"] - - [0x7F0155F4, "init_menu0A_briefing"] - - [0x7F015640, "update_menu0A_briefing"] - - [0x7F01569C, "interface_menu0A_briefing"] - - [0x7F015A08, "print_objectives_and_status_to_menu"] - - [0x7F015D74, "constructor_menu0A_briefing"] - - [0x7F015E60, "def_7F015E0C"] - - [0x7F016064, "init_menu0B_runstage"] - - [0x7F016094, "init_menu0C_missionfailed"] - - [0x7F016108, "update_menu0C_missionfailed"] - - [0x7F016110, "interface_menu0C_missionfailed"] - - [0x7F01631C, "sub_GAME_7F01631C"] - - [0x7F0163EC, "constructor_menu0C_missionfailed"] - - [0x7F01667C, "init_menu0D_missioncomplete"] - - [0x7F0166D0, "update_menu0D_missioncomplete"] - - [0x7F0166D8, "interface_menu0D_missioncomplete"] - - [0x7F016A08, "constructor_menu0D_missioncomplete"] - - [0x7F017B50, "init_menu15_cheat"] - - [0x7F017BF4, "update_menu15_cheat"] - - [0x7F017C88, "interface_menu15_cheat"] - - [0x7F017F5C, "constructor_menu15_cheat"] - - [0x7F018438, "init_menu16_nocontroller"] - - [0x7F018440, "update_menu16_nocontrollers"] - - [0x7F018448, "interface_menu16_nocontrollers"] - - [0x7F018450, "constructor_menu16_nocontrollers"] - - [0x7F018670, "do_extended_cast_display"] - - [0x7F01869C, "init_menu18_displaycast"] - - [0x7F01881C, "set_body_default"] - - [0x7F018830, "set_body_jungle"] - - [0x7F018844, "set_body_snowsuit"] - - [0x7F018858, "set_body_5"] - - [0x7F0188C0, "set_body_mp_choice_maybe"] - - [0x7F018F18, "update_menu18_displaycast"] - - [0x7F018F60, "interface_menu18_displaycast"] - - [0x7F019328, "constructor_menu18_displaycast"] - - [0x7F01A39C, "init_menu19_spectrum"] - - [0x7F01A480, "update_menu19_spectrum"] - - [0x7F01A488, "interface_menu19_spectrum"] - - [0x7F01A4E0, "constructor_menu19_spectrum"] - - [0x7F01A5D4, "set_menu_to_mode"] - - [0x7F01A610, "get_currentmenu"] - - [0x7F01A61C, "menu_init"] - - [0x7F01A7D4, "menu_legal_screen_update"] - - [0x7F01A7F0, "menu_nintendo_logo_update"] - - [0x7F01A80C, "menu_rareware_logo_update"] - - [0x7F01A828, "menu_eye_intro_update"] - - [0x7F01A844, "menu_goldeneye_logo_update"] - - [0x7F01A860, "menu_file_select_update"] - - [0x7F01A87C, "menu_mode_select_update"] - - [0x7F01A898, "menu_mission_select_update"] - - [0x7F01A8B4, "menu_difficulty_update"] - - [0x7F01A8D0, "menu_007_options_update"] - - [0x7F01A8EC, "menu_briefing_update"] - - [0x7F01A908, "menu_mission_failed_update"] - - [0x7F01A924, "menu_mission_complete_update"] - - [0x7F01A940, "menu_mp_options_update"] - - [0x7F01A95C, "menu_mp_scenario_select_update"] - - [0x7F01A978, "menu_mp_char_select_update"] - - [0x7F01A994, "menu_mp_teams_update"] - - [0x7F01A9B0, "menu_mp_handicap_update"] - - [0x7F01A9CC, "menu_mp_control_style_update"] - - [0x7F01A9E8, "menu_mp_stage_select_update"] - - [0x7F01AA04, "menu_cheat_update"] - - [0x7F01AA20, "menu_no_controllers_update"] - - [0x7F01AA3C, "menu_display_cast_update"] - - [0x7F01AA58, "menu_spectrum_emu_update"] - - [0x7F01AA70, "menu_switch_screen_update"] - - [0x7F01AAC8, "menu_legal_screen_init"] - - [0x7F01AADC, "menu_nintendo_logo_init"] - - [0x7F01AAF0, "menu_rareware_logo_init"] - - [0x7F01AB04, "menu_eye_intro_init"] - - [0x7F01AB18, "menu_goldeneye_logo_init"] - - [0x7F01AB2C, "menu_file_select_init"] - - [0x7F01AB40, "menu_mode_select_init"] - - [0x7F01AB54, "menu_mission_select_init"] - - [0x7F01AB68, "menu_difficulty_init"] - - [0x7F01AB7C, "menu_007_options_init"] - - [0x7F01AB90, "menu_briefing_init"] - - [0x7F01ABA4, "menu_runstage_init"] - - [0x7F01ABB8, "menu_mission_failed_init"] - - [0x7F01ABCC, "menu_mission_complete_init"] - - [0x7F01ABE0, "menu_mp_options_init"] - - [0x7F01ABF4, "menu_mp_scenario_select_init"] - - [0x7F01AC08, "menu_mp_char_select_init"] - - [0x7F01AC1C, "menu_mp_teams_init"] - - [0x7F01AC30, "menu_mp_handicap_init"] - - [0x7F01AC44, "menu_mp_control_style_init"] - - [0x7F01AC58, "menu_mp_stage_select_init"] - - [0x7F01AC6C, "menu_cheat_init"] - - [0x7F01AC80, "menu_no_controllers_init"] - - [0x7F01AC94, "menu_display_cast_init"] - - [0x7F01ACA8, "menu_spectrum_emu_init"] - - [0x7F01ACB8, "menu_switch_screens_init"] - - [0x7F01ACDC, "menu00_legal_interface"] - - [0x7F01ACEC, "menu17_switchscreen_interface"] - - [0x7F01ACFC, "menu01_nintendo_interface"] - - [0x7F01AD0C, "menu02_rareware_interface"] - - [0x7F01AD1C, "menu03_eye_interface"] - - [0x7F01AD2C, "menu04_goldeneye_interface"] - - [0x7F01AD3C, "menu05_filesel_interface"] - - [0x7F01AD4C, "menu06_modesel_interface"] - - [0x7F01AD5C, "menu07_missionsel_interface"] - - [0x7F01AD6C, "menu08_difficulty_interface"] - - [0x7F01AD7C, "menu09_007options_interface"] - - [0x7F01AD8C, "menu0A_briefing_interface"] - - [0x7F01AD9C, "menu0C_missionfailed_interface"] - - [0x7F01ADAC, "menu0D_missioncomplete_interface"] - - [0x7F01ADBC, "menu0E_mpoptions_interface"] - - [0x7F01ADCC, "menu13_mpscenario_interface"] - - [0x7F01ADDC, "menu0F_mpcharsel_interface"] - - [0x7F01ADEC, "menu14_mpteams_interface"] - - [0x7F01ADFC, "menu10_mphandicap_interface"] - - [0x7F01AE0C, "menu11_mpcontrol_interface"] - - [0x7F01AE1C, "menu12_mpstage_interface"] - - [0x7F01AE2C, "menu15_cheat_interface"] - - [0x7F01AE3C, "menu16_nocontrollers_interface"] - - [0x7F01AE4C, "menu18_displaycast_interface"] - - [0x7F01AE5C, "menu19_spectrum_interface"] - - [0x7F01AE6C, "menu0B_runstage_interface"] - - [0x7F01AEFC, "menu_jump_constructor_handler"] - - [0x7F01AF34, "menu00_legal_constructor"] - - [0x7F01AF44, "menu17_switchscreens_constructor"] - - [0x7F01AF54, "menu01_nintendo_constructor"] - - [0x7F01AF64, "menu02_rareware_constructor"] - - [0x7F01AF74, "menu03_eyeintro_constructor"] - - [0x7F01AF84, "menu04_goldeneye_constructor"] - - [0x7F01AF94, "menu05_fileselect_constructor"] - - [0x7F01AFA4, "menu06_modesel_constructor"] - - [0x7F01AFB4, "menu07_missionsel_constructor"] - - [0x7F01AFC4, "menu08_difficulty_constructor"] - - [0x7F01AFD4, "menu09_007options_constructor"] - - [0x7F01AFE4, "menu0A_briefing_constructor"] - - [0x7F01AFF4, "menu0C_missionfailed_constructor"] - - [0x7F01B004, "menu0D_missioncomplete_constructor"] - - [0x7F01B014, "menu0E_mpoptions_constructor"] - - [0x7F01B024, "menu13_mpscenario_constructor"] - - [0x7F01B034, "menu0F_mpcharsel_constructor"] - - [0x7F01B044, "menu14_mpteams_constructor"] - - [0x7F01B054, "menu10_mphandicap_constructor"] - - [0x7F01B064, "menu11_mpcontrol_constructor"] - - [0x7F01B074, "menu12_mpstage_constructor"] - - [0x7F01B084, "menu15_cheat_constructor"] - - [0x7F01B094, "menu16_nocontrollers_constructor"] - - [0x7F01B0A4, "menu18_displaycast_constructor"] - - [0x7F01B0B4, "menu19_spectrum_constructor"] - - [0x7F01B0C0, "menu0B_runstage_constructor"] - # file asm/game/7F01B0E0.s - - [0x7F01B0E0, "sub_GAME_7F01B0E0"] - - [0x7F01B134, "sub_GAME_7F01B134"] - - [0x7F01B1C8, "sub_GAME_7F01B1C8"] - - [0x7F01B230, "sub_GAME_7F01B230"] - # file asm/game/7F01B240.s - - [0x7F01B240, "sub_GAME_7F01B240"] - - [0x7F01B6E0, "sub_GAME_7F01B6E0"] - # file asm/game/7F01BAE0.s - - [0x7F01BAE0, "sub_GAME_7F01BAE0"] - - [0x7F01BFF8, "sub_GAME_7F01BFF8"] - # file asm/game/7F01C0D0.s - - [0x7F01C0D0, "insert_imageDL"] - - [0x7F01C1A4, "sub_GAME_7F01C1A4"] - - [0x7F01C284, "die_blood_image_routine"] - # file asm/game/7F01C400.s - - [0x7F01C400, "sub_GAME_7F01C400"] - # file asm/game/7F01C670.s - - [0x7F01C670, "sub_GAME_7F01C670"] - - [0x7F01CA18, "sub_GAME_7F01CA18"] - # file asm/game/decrypt_bleeding_animation.s - - [0x7F01CAE0, "decrypt_bleeding_animation_data"] - - [0x7F01CC94, "sub_GAME_7F01CC94"] - - [0x7F01CCEC, "sub_GAME_7F01CCEC"] - - [0x7F01CEEC, "sub_GAME_7F01CEEC"] - - [0x7F01D02C, "sub_GAME_7F01D02C"] - - [0x7F01D16C, "sub_GAME_7F01D16C"] - - [0x7F01D1C0, "sub_GAME_7F01D1C0"] - # file asm/game/7F01D2B0.s - - [0x7F01D2B0, "get_007_reaction_speed"] - - [0x7F01D2E8, "get_007_health_mod"] - - [0x7F01D324, "get_007_damage_mod"] - - [0x7F01D360, "get_007_accuracy_mod"] - - [0x7F01D39C, "end_of_mission_briefing"] - # file asm/game/init_watch.s - - [0x7F01D500, "sub_GAME_7F01D500"] - - [0x7F01D524, "deleteCurrentSelectedFolder"] - - [0x7F01D548, "copyCurrentEEPROMtoStack"] - - [0x7F01D56C, "getSelectedFolderBond"] - # file asm/game/7F01D590.s - - [0x7F01D590, "set_selected_folder_num"] - - [0x7F01D59C, "set_selected_difficulty"] - - [0x7F01D5EC, "set_solo_and_ptr_briefing"] - - [0x7F01D61C, "sub_GAME_7F01D61C"] - - [0x7F01D644, "sub_GAME_7F01D644"] - # file asm/game/7F01D680.s - - [0x7F01D680, "store_favorite_weapon_current_player"] - - [0x7F01D6C0, "sub_GAME_7F01D6C0"] - - [0x7F01D6E0, "sub_GAME_7F01D6E0"] - - [0x7F01D758, "sub_GAME_7F01D758"] - # file asm/game/eeprom_stuff.s - - [0x7F01D7A0, "sub_GAME_7F01D7A0"] - - [0x7F01D840, "sub_GAME_7F01D840"] - - [0x7F01D8C8, "get_foldernum_of_eeprom"] - - [0x7F01D8D8, "set_eeprom_to_folder_num"] - - [0x7F01D8F4, "set_eeprom_flag_0x18"] - - [0x7F01D904, "reset_eeprom_flag_0x18"] - - [0x7F01D924, "get_selected_bond"] - - [0x7F01D934, "set_selected_bond"] - - [0x7F01D954, "check_if_eeprom_flag_set_0x80"] - - [0x7F01D964, "toggle_eeprom_flag_set_0x80"] - - [0x7F01D990, "get_eeprom_stage_complete_time_for_difficulty"] - - [0x7F01DAE4, "sub_GAME_7F01DAE4"] - - [0x7F01DC60, "get_eeprom_stage_completed_for_difficulty"] - - [0x7F01DCB0, "sub_GAME_7F01DCB0"] - - [0x7F01DD20, "check_if_cheat_unlocked"] - - [0x7F01DD74, "sub_GAME_7F01DD74"] - - [0x7F01DDC4, "get_save_folder_ptr"] - - [0x7F01DE50, "sub_GAME_7F01DE50"] - - [0x7F01DEB4, "sub_GAME_7F01DEB4"] - - [0x7F01DF90, "sub_GAME_7F01DF90"] - - [0x7F01E28C, "check_if_valid_folder_num"] - - [0x7F01E2C0, "check_unlock_complete_for_eeprom_stagecomplete_difficulty"] - - [0x7F01E504, "sub_GAME_7F01E504"] - - [0x7F01E5F8, "unlock_stage_in_folder_on_difficulty"] - - [0x7F01E760, "sub_GAME_7F01E760"] - - [0x7F01E874, "get_highest_stage_difficulty_completed_in_folder"] - - [0x7F01E914, "check_egypt_completed_in_folder"] - - [0x7F01E998, "check_egypt_completed_any_folder"] - - [0x7F01E9F4, "check_cradle_completed_in_folder"] - - [0x7F01EA5C, "check_aztec_completed_in_folder_secret_00"] - - [0x7F01EAA8, "check_egypt_completed_in_folder_00"] - - [0x7F01EAD0, "check_cradle_completed_any_folder"] - - [0x7F01EB20, "check_aztec_completed_any_folder_secret_00"] - - [0x7F01EB70, "check_egypt_completed_any_folder_00"] - - [0x7F01EBC0, "removed_would_have_returned_bond_for_folder_num"] - - [0x7F01EBCC, "set_selected_bond_to_folder"] - - [0x7F01EBF4, "sub_GAME_7F01EBF4"] - - [0x7F01EBFC, "sub_GAME_7F01EBFC"] - - [0x7F01EC04, "delete_eeprom_folder"] - - [0x7F01ED10, "sub_GAME_7F01ED10"] - - [0x7F01EDA0, "sub_GAME_7F01EDA0"] - - [0x7F01EF10, "update_eeprom_to_current_solo_watch_settings"] - - [0x7F01F030, "get_screen_ratio_settings_for_mpgame_from_folder"] - - [0x7F01F184, "delete_update_eeprom_file"] - - [0x7F01F29C, "copy_eeprom_to_stack_set_folder_num"] - - [0x7F01F394, "copy_eeprom_from_to"] - - [0x7F01F45C, "copy_eepromfile_a0_from_a1_to_buffer"] - - [0x7F01F4A0, "check_for_007_mode_unlocked"] - # file asm/game/7F01F530.s - - [0x7F01F530, "get_numguards"] - - [0x7F01F53C, "get_ptr_allocated_block_for_vertices"] - - [0x7F01F55C, "set_show_patrols_flag"] - - [0x7F01F568, "get_show_patrols_flag"] - - [0x7F01F574, "sub_GAME_7F01F574"] - - [0x7F01F5E8, "set_or_unset_GUARDdata_flag"] - - [0x7F01F614, "sub_GAME_7F01F614"] - - [0x7F01FC10, "sub_GAME_7F01FC10"] - - [0x7F01FFC0, "get_next_available_guardID"] - - [0x7F020018, "sub_GAME_7F020018"] - - [0x7F02004C, "sub_GAME_7F02004C"] - - [0x7F020054, "sub_GAME_7F020054"] - - [0x7F020090, "sub_GAME_7F020090"] - - [0x7F0200BC, "init_GUARDdata_with_set_values"] - - [0x7F0203B8, "replace_GUARDdata_with_actual_values"] - - [0x7F020414, "disable_sounds_attached_to_player_then_something"] - # file asm/game/7F020540.s - - [0x7F020540, "animation_speed_related"] - - [0x7F0205E4, "get_animation_rate"] - - [0x7F0205F0, "sub_GAME_7F0205F0"] - - [0x7F0206D4, "sub_GAME_7F0206D4"] - - [0x7F020794, "sub_GAME_7F020794"] - - [0x7F02083C, "sub_GAME_7F02083C"] - - [0x7F020D94, "sub_GAME_7F020D94"] - - [0x7F020E40, "sub_GAME_7F020E40"] - - [0x7F020EF0, "sub_GAME_7F020EF0"] - - [0x7F021B20, "sub_GAME_7F021B20"] - - [0x7F021BB4, "sub_GAME_7F021BB4"] - - [0x7F021BD8, "sub_GAME_7F021BD8"] - - [0x7F021BFC, "sub_GAME_7F021BFC"] - - [0x7F022078, "sub_GAME_7F022078"] - - [0x7F0221DC, "sub_GAME_7F0221DC"] - - [0x7F022648, "sub_GAME_7F022648"] - - [0x7F022980, "sub_GAME_7F022980"] - - [0x7F022E1C, "sub_GAME_7F022E1C"] - - [0x7F022E24, "sub_GAME_7F022E24"] - - [0x7F022E30, "sub_GAME_7F022E30"] - - [0x7F022E90, "sub_GAME_7F022E90"] - - [0x7F022EC8, "sub_GAME_7F022EC8"] - - [0x7F022EE0, "sub_GAME_7F022EE0"] - - [0x7F022EEC, "sub_GAME_7F022EEC"] - - [0x7F022FC8, "check_if_guardnum_loaded_get_ptr_GUARDdata"] - - [0x7F02302C, "something_with_weaponpos_of_guarddata_hand"] - - [0x7F02303C, "is_weapon_in_guarddata_hand"] - - [0x7F02308C, "sub_GAME_7F02308C"] - - [0x7F023160, "sub_GAME_7F023160"] - - [0x7F023188, "sub_GAME_7F023188"] - - [0x7F023194, "sub_GAME_7F023194"] - - [0x7F023290, "load_body_head_if_not_loaded"] - - [0x7F0232E8, "maybe_load_models_for_guards"] - - [0x7F0234A8, "sub_GAME_7F0234A8"] - - [0x7F0234D0, "retrieve_header_for_body_and_head"] - - [0x7F023590, "get_current_random_body"] - - [0x7F0235AC, "select_psuedorandom_heads"] - - [0x7F023660, "get_random_head"] - - [0x7F02370C, "expand_09_characters"] - - [0x7F023910, "check_if_item_held_like_pistol"] - - [0x7F023948, "sub_GAME_7F023948"] - - [0x7F023A94, "sub_GAME_7F023A94"] - - [0x7F023B5C, "sub_GAME_7F023B5C"] - - [0x7F023BC0, "sub_GAME_7F023BC0"] - - [0x7F023C54, "sub_GAME_7F023C54"] - - [0x7F023CB8, "sub_GAME_7F023CB8"] - - [0x7F023E14, "sub_GAME_7F023E14"] - - [0x7F023E48, "sub_GAME_7F023E48"] - - [0x7F023E74, "actor_kneel"] - - [0x7F023FE4, "perform_animation_for_actor"] - - [0x7F024150, "sub_GAME_7F024150"] - - [0x7F024238, "throw_weapon_in_guard_hand"] - - [0x7F024334, "sub_GAME_7F024334"] - - [0x7F024418, "actor_shuffle_feet"] - - [0x7F0244AC, "actor_fawn_on_shoulder"] - - [0x7F024548, "actor_look_flustered"] - - [0x7F024648, "actor_throw_weapon_surrender"] - - [0x7F0247B8, "actor_fade_away"] - - [0x7F024800, "sub_GAME_7F024800"] - - [0x7F024A84, "sub_GAME_7F024A84"] - - [0x7F024CF8, "sub_GAME_7F024CF8"] - - [0x7F024F00, "sub_GAME_7F024F00"] - - [0x7F024F8C, "sub_GAME_7F024F8C"] - - [0x7F0250BC, "sub_GAME_7F0250BC"] - - [0x7F02516C, "sub_GAME_7F02516C"] - - [0x7F025560, "sub_GAME_7F025560"] - - [0x7F0256F0, "sub_GAME_7F0256F0"] - - [0x7F02587C, "sub_GAME_7F02587C"] - - [0x7F025C40, "sub_GAME_7F025C40"] - - [0x7F026130, "sub_GAME_7F026130"] - - [0x7F02624C, "sub_GAME_7F02624C"] - - [0x7F026298, "sub_GAME_7F026298"] - - [0x7F026364, "sub_GAME_7F026364"] - - [0x7F0264B0, "sub_GAME_7F0264B0"] - - [0x7F026508, "triggered_on_shot_hit"] - - [0x7F026F30, "sub_GAME_7F026F30"] - - [0x7F027060, "play_sound_for_shot_actor"] - - [0x7F02727C, "handles_shot_actors"] - - [0x7F027804, "sub_GAME_7F027804"] - - [0x7F027BF4, "get_ptrpreset_in_table_matching_tile"] - - [0x7F027C60, "check_if_any_path_preset_lies_on_tile"] - - [0x7F027C84, "sub_GAME_7F027C84"] - - [0x7F027CD4, "sub_GAME_7F027CD4"] - - [0x7F027DB0, "sub_GAME_7F027DB0"] - - [0x7F027E70, "sub_GAME_7F027E70"] - - [0x7F027E90, "sub_GAME_7F027E90"] - - [0x7F027F20, "sub_GAME_7F027F20"] - - [0x7F027FA8, "sub_GAME_7F027FA8"] - - [0x7F028144, "sub_GAME_7F028144"] - - [0x7F0281F4, "sub_GAME_7F0281F4"] - - [0x7F0281FC, "sub_GAME_7F0281FC"] - - [0x7F02828C, "sub_GAME_7F02828C"] - - [0x7F0282E0, "sub_GAME_7F0282E0"] - - [0x7F028348, "sub_GAME_7F028348"] - - [0x7F0283FC, "sub_GAME_7F0283FC"] - - [0x7F028474, "sub_GAME_7F028474"] - - [0x7F028494, "sub_GAME_7F028494"] - - [0x7F0284DC, "sub_GAME_7F0284DC"] - - [0x7F028510, "sub_GAME_7F028510"] - - [0x7F028600, "sub_GAME_7F028600"] - - [0x7F028894, "sub_GAME_7F028894"] - - [0x7F028A5C, "get_sound_at_range"] - - [0x7F028DA0, "play_hit_soundeffect_and_proper_volume"] - - [0x7F028DDC, "plot_course_for_actor"] - - [0x7F028FAC, "sub_GAME_7F028FAC"] - - [0x7F0290F8, "set_actor_on_path"] - - [0x7F029298, "update_GUARDdata_timer_to_current"] - - [0x7F0292A8, "sub_GAME_7F0292A8"] - - [0x7F0294BC, "sub_GAME_7F0294BC"] - - [0x7F0295D0, "check_if_position_in_same_room"] - - [0x7F02969C, "sub_GAME_7F02969C"] - - [0x7F029760, "sub_GAME_7F029760"] - - [0x7F02982C, "sub_GAME_7F02982C"] - - [0x7F029A94, "sub_GAME_7F029A94"] - - [0x7F029AF0, "sub_GAME_7F029AF0"] - - [0x7F029BB0, "sub_GAME_7F029BB0"] - - [0x7F029C00, "sub_GAME_7F029C00"] - - [0x7F029C5C, "check_if_actor_stationary"] - - [0x7F029D70, "sub_GAME_7F029D70"] - - [0x7F02A044, "sub_GAME_7F02A044"] - - [0x7F02A0EC, "sub_GAME_7F02A0EC"] - - [0x7F02A15C, "sub_GAME_7F02A15C"] - - [0x7F02A1E8, "sub_GAME_7F02A1E8"] - - [0x7F02A258, "true_if_actor_dying_fading_limping_shot"] - - [0x7F02A2A4, "true_if_actor_dying_fading"] - - [0x7F02A2C8, "actor_steps_sideways"] - - [0x7F02A428, "actor_hops_sideways"] - - [0x7F02A588, "actor_runs_sideways"] - - [0x7F02A704, "actor_walks_and_fires"] - - [0x7F02A7F8, "actor_runs_and_fires"] - - [0x7F02A8EC, "actor_rolls_fires_crouched"] - - [0x7F02AA1C, "actor_aim_at_actor"] - - [0x7F02AA88, "actor_kneel_aim_at_actor"] - - [0x7F02AAF4, "sub_GAME_7F02AAF4"] - - [0x7F02AB44, "check_set_actor_standing_still"] - - [0x7F02ABB4, "actor_moves_to_preset_at_speed"] - - [0x7F02AD54, "if_actor_able_set_on_path"] - - [0x7F02AD98, "sub_GAME_7F02AD98"] - - [0x7F02B4E0, "actor_reset_sleep"] - - [0x7F02B4E8, "sub_GAME_7F02B4E8"] - - [0x7F02B638, "sub_GAME_7F02B638"] - - [0x7F02B774, "manage_guard_fade"] - - [0x7F02B800, "sub_GAME_7F02B800"] - - [0x7F02B9A4, "guard_body_hit_sfx"] - - [0x7F02BC80, "sub_GAME_7F02BC80"] - - [0x7F02BD20, "sub_GAME_7F02BD20"] - - [0x7F02BDA4, "sub_GAME_7F02BDA4"] - - [0x7F02BE00, "sub_GAME_7F02BE00"] - - [0x7F02BE58, "sub_GAME_7F02BE58"] - - [0x7F02BEA8, "sub_GAME_7F02BEA8"] - - [0x7F02BF24, "sub_GAME_7F02BF24"] - - [0x7F02BFE4, "sub_GAME_7F02BFE4"] - - [0x7F02C190, "sub_GAME_7F02C190"] - - [0x7F02C27C, "sub_GAME_7F02C27C"] - - [0x7F02C2B0, "sub_GAME_7F02C2B0"] - - [0x7F02C4C0, "sub_GAME_7F02C4C0"] - - [0x7F02D048, "sub_GAME_7F02D048"] - - [0x7F02D0F8, "sub_GAME_7F02D0F8"] - - [0x7F02D118, "sub_GAME_7F02D118"] - - [0x7F02D148, "sub_GAME_7F02D148"] - - [0x7F02D184, "sub_GAME_7F02D184"] - - [0x7F02D1C4, "sub_GAME_7F02D1C4"] - - [0x7F02D244, "sub_GAME_7F02D244"] - - [0x7F02D2E4, "sub_GAME_7F02D2E4"] - - [0x7F02D630, "sub_GAME_7F02D630"] - - [0x7F02D734, "sub_GAME_7F02D734"] - - [0x7F02E1D4, "weapon_guard_fires_bullet_projectile"] - - [0x7F02E1E0, "weapon_guard_fires_bullet_no_projectile"] - - [0x7F02E26C, "sub_GAME_7F02E26C"] - - [0x7F02E2E0, "sub_GAME_7F02E2E0"] - - [0x7F02E3B8, "sub_GAME_7F02E3B8"] - - [0x7F02E4C0, "sub_GAME_7F02E4C0"] - - [0x7F02EBFC, "sub_GAME_7F02EBFC"] - - [0x7F02EEE0, "sub_GAME_7F02EEE0"] - - [0x7F02F3F8, "sub_GAME_7F02F3F8"] - - [0x7F02F5A4, "sub_GAME_7F02F5A4"] - - [0x7F02F688, "sub_GAME_7F02F688"] - - [0x7F02F690, "sub_GAME_7F02F690"] - - [0x7F02F888, "sub_GAME_7F02F888"] - - [0x7F02FC34, "sub_GAME_7F02FC34"] - - [0x7F02FD50, "sub_GAME_7F02FD50"] - - [0x7F02FE78, "sub_GAME_7F02FE78"] - - [0x7F030128, "sub_GAME_7F030128"] - - [0x7F0301FC, "sub_GAME_7F0301FC"] - - [0x7F0304AC, "sub_GAME_7F0304AC"] - - [0x7F0305E0, "sub_GAME_7F0305E0"] - - [0x7F03074C, "sub_GAME_7F03074C"] - - [0x7F03081C, "sub_GAME_7F03081C"] - - [0x7F030D70, "sub_GAME_7F030D70"] - - [0x7F03130C, "sub_GAME_7F03130C"] - - [0x7F0315A4, "sub_GAME_7F0315A4"] - - [0x7F032088, "sub_GAME_7F032088"] - - [0x7F032548, "sub_GAME_7F032548"] - - [0x7F0326BC, "manage_actions"] - - [0x7F0328E0, "def_7F032780"] - - [0x7F03291C, "sub_GAME_7F03291C"] - - [0x7F032B68, "sub_GAME_7F032B68"] - - [0x7F032BA0, "sub_GAME_7F032BA0"] - - [0x7F032BD8, "get_distance_actor_to_position"] - - [0x7F032C4C, "sub_GAME_7F032C4C"] - - [0x7F032C78, "sub_GAME_7F032C78"] - - [0x7F032D70, "get_angle_between_actor_cur_player"] - - [0x7F032DE4, "sub_GAME_7F032DE4"] - - [0x7F032E48, "sub_GAME_7F032E48"] - - [0x7F032EFC, "check_if_room_for_preset_loaded"] - - [0x7F032F94, "sub_GAME_7F032F94"] - - [0x7F032FAC, "sub_GAME_7F032FAC"] - - [0x7F033040, "get_handle_for_guard_id"] - - [0x7F0330C4, "get_distance_between_actor_and_actorID"] - - [0x7F033154, "get_distance_between_actor_and_preset"] - - [0x7F033218, "sub_GAME_7F033218"] - - [0x7F03322C, "sub_GAME_7F03322C"] - - [0x7F033244, "sub_GAME_7F033244"] - - [0x7F033260, "sub_GAME_7F033260"] - - [0x7F033290, "sub_GAME_7F033290"] - - [0x7F0332C0, "sub_GAME_7F0332C0"] - - [0x7F0332FC, "toggle_objective_bitflags"] - - [0x7F033318, "untoggle_objective_bitflags"] - - [0x7F033338, "check_if_objective_bitflags_set"] - - [0x7F033354, "check_if_actor_02_flag_set"] - - [0x7F033364, "check_if_able_to_then_surrender"] - - [0x7F0333A0, "sub_GAME_7F0333A0"] - - [0x7F0333C4, "reset_and_start_loop_counter"] - - [0x7F0333D8, "get_loop_counter_time_in_seconds"] - - [0x7F0333F8, "sub_GAME_7F0333F8"] - - [0x7F033490, "check_if_actor_invisible"] - - [0x7F0334A0, "actor_move_to_curplayer_at_speed"] - - [0x7F03350C, "actor_move_to_actorID_at_speed"] - - [0x7F0335A4, "get_times_actor_shot"] - - [0x7F0335AC, "get_num_shots_near_actor"] - - [0x7F0335B4, "check_if_actor_FA_target_set"] - - [0x7F0335C4, "check_if_actor_FB_target_set"] - - [0x7F0335D4, "sub_GAME_7F0335D4"] - - [0x7F033610, "check_if_able_to_then_shuffle_feet"] - - [0x7F03364C, "check_if_able_to_then_fawn_on_shoulder"] - - [0x7F033688, "check_if_able_to_then_look_flustered"] - - [0x7F0336C4, "check_if_able_to_then_kneel"] - - [0x7F033700, "check_if_able_to_then_perform_animation"] - - [0x7F033760, "alarm_timer_related"] - - [0x7F033780, "sub_GAME_7F033780"] - - [0x7F033834, "sub_GAME_7F033834"] - - [0x7F033998, "check_2328_preset_set_with_method"] - - [0x7F033AAC, "sub_GAME_7F033AAC"] - - [0x7F033B38, "sub_GAME_7F033B38"] - - [0x7F033CF4, "sub_GAME_7F033CF4"] - - [0x7F033D1C, "sub_GAME_7F033D1C"] - - [0x7F033D5C, "sub_GAME_7F033D5C"] - - [0x7F033D84, "sub_GAME_7F033D84"] - - [0x7F033DC4, "sub_GAME_7F033DC4"] - - [0x7F033EAC, "sub_GAME_7F033EAC"] - - [0x7F033F48, "sub_GAME_7F033F48"] - - [0x7F03415C, "actionblock_guard_constructor_BDBE"] - - [0x7F034258, "guard_constructor_BD"] - - [0x7F034308, "guard_constructor_BE"] - - [0x7F034388, "check_if_actorID_is_at_preset"] - - [0x7F03444C, "check_if_actor_is_at_preset"] - - [0x7F0344FC, "removed_animation_routine_27"] - - [0x7F034508, "removed_animation_routine_2B"] - - [0x7F034514, "sub_GAME_7F034514"] - - [0x7F03457C, "actor_draws_throws_grenade_at_player_if_possible"] - - [0x7F0346FC, "actor_drops_itemtype_setting_timer"] - # file asm/game/7F0347A0.s - - [0x7F0347A0, "set_sound_effect_source_to_location"] - - [0x7F0348E4, "loop_set_sound_effect_all_slots"] - - [0x7F034924, "set_sound_effect_to_slot"] - - [0x7F0349BC, "sub_GAME_7F0349BC"] - - [0x7F0349FC, "get_length_of_action_block"] - - [0x7F034A24, "action00_length"] - - [0x7F034A2C, "action01_length"] - - [0x7F0351FC, "actionFC_length"] - - [0x7F035204, "actionAD_length"] - - [0x7F035238, "invalid_type"] - - [0x7F035244, "sub_GAME_7F035244"] - - [0x7F0352F0, "true_if_sucessfully_performing_action"] - - [0x7F035398, "LoadNext_PrevActionBlock"] - - [0x7F035434, "get_ptr_path_for_pathnum"] - - [0x7F035484, "parse_handle_actionblocks"] - - [0x7F0355B4, "action00_RVL_2"] - - [0x7F0355D0, "action01_Go_To_Beginning_Then_RVL_2"] - - [0x7F0355EC, "action02_Resume_If_RVL_Met_2"] - - [0x7F0355F8, "action03_Leave_The_Routine_When_Return_Continue_From_Spot_1"] - - [0x7F03563C, "action05_Jump_To_Function_4"] - - [0x7F0356B0, "action06_Set_Return_Subroutine_for_0007_Command_3"] - - [0x7F03570C, "action07_Jump_to_Return_Subroutine_1"] - - [0x7F035768, "action08_Reset_Animation_1"] - - [0x7F03577C, "action09_Guard_Kneels_1"] - - [0x7F035790, "action0A_Animation_9"] - - [0x7F03589C, "action0B_If_Guard_WastingTime_SwatFlies_RVL_2"] - - [0x7F0358D0, "action0C_Guard_Gestures_1"] - - [0x7F0358E4, "action0D_Guard_Looks_Around_When_Shot_At_1"] - - [0x7F0358F8, "action2F_When_Guard_Stops_Moving_RVL_2"] - - [0x7F03592C, "action30_Detect_If_Guard_Killed_RVL_If_So_3"] - - [0x7F035974, "action31_If_GuardID_Finish_DeathAnimation_RVL_3"] - - [0x7F0359B4, "action32_If_Bond_In_Sight_RVL_2"] - - [0x7F0359E8, "action0E_Guard_Steps_Sideways_RVL_2"] - - [0x7F035A1C, "action0F_Guard_Hops_Sideways_RVL_2"] - - [0x7F035A50, "action10_Guard_Runs_Sideways_RVL_2"] - - [0x7F035A84, "action11_Guard_Walks_Firing_RVL_2"] - - [0x7F035AB8, "action12_Guard_Runs_Firing_RVL_2"] - - [0x7F035AEC, "action13_Guard_Rolls_On_Ground_Then_Fires_Crouched_RVL_2"] - - [0x7F035B20, "action14_Guard_Aims_Shoots_at_Bond_Guard_Pad_RVL_6"] - - [0x7F035B74, "action15_Guard_Kneels_Aims_Shoots_at_Bond_Guard_Pad_RVL_6"] - - [0x7F035BC8, "actionE7_If_Guard_Moving_And_Shooting_RVL_2"] - - [0x7F035C1C, "actionE8_If_Guard_Is_Shooting_RVL_2"] - - [0x7F035C50, "action16_Guard_Shoots_Guards_Without_Animation_Change_RVL_6"] - - [0x7F035CA4, "action17_Guard_Constantly_Angles_To_Face_RVL_6"] - - [0x7F035CF8, "action18_Shoot_Guard_ID_In_Style_With_Weapon_Type_num_4"] - - [0x7F035D5C, "action19_Guard_ID1_Shoots_Guard_ID2_In_Style_4"] - - [0x7F035E78, "action1A_Guard_Throws_Grenade_RVL_2"] - - [0x7F035EAC, "action1B_Drop_Weapon_Inventory_num_RVL_5"] - - [0x7F035EF8, "action21_Guard_Surrenders_1"] - - [0x7F035F0C, "action22_Guard_Set_To_Move_Fades_And_Disappear_1"] - - [0x7F035F20, "action23_Eliminate_Guard_ID_2"] - - [0x7F035F54, "action24_Activate_Object_At_Preset_RVL_If_Successful_4"] - - [0x7F035F9C, "action25_Sound_Alarm_1"] - - [0x7F035FB0, "action26_Turn_Off_Alarm_1"] - - [0x7F035FC4, "action27_Return_False_Invalid_Type_2"] - - [0x7F035FF8, "action28_Jog_To_Bond_Return_Loop_When_Reached_Bond_2"] - - [0x7F036030, "action29_Walk_To_Bond_Return_Loop_When_Reached_Bond_2"] - - [0x7F036068, "action2A_Run_To_Bond_Return_Loop_When_Reached_Bond_2"] - - [0x7F0360A0, "action2B_Return_False_Invalid_Type_2"] - - [0x7F0360D4, "action2C_Jog_To_Character_Position_RVL_On_Arrival_3"] - - [0x7F036110, "action2D_Walk_To_Character_Position_RVL_On_Arrival_3"] - - [0x7F03614C, "action2E_Run_To_Character_Position_RVL_On_Arrival_3"] - - [0x7F036188, "action33_Seed_Random_Byte_1"] - - [0x7F0361A0, "action34_If_Seeded_Byte_LTV_Go_Into_RVL_3"] - - [0x7F0361DC, "action35_If_Seeded_Byte_GTV_Go_Into_RVL_3"] - - [0x7F036218, "action1C_Guard_Jogs_To_Preset_3"] - - [0x7F036244, "action1D_Guard_Jogs_To_Predefined_Preset_2328_1"] - - [0x7F036260, "action1E_Guard_Walks_To_Preset_3"] - - [0x7F03628C, "action1F_Guard_Runs__To_Preset_3"] - - [0x7F0362B8, "action20_Activate_Path_2"] - - [0x7F0362D8, "action36_If_Alarm_Activated_RVL_Plus_Stack_2"] - - [0x7F03630C, "action37_If_Alarm_Activated_RVL_2"] - - [0x7F036340, "action38_If_Toxic_Gas_Released_RVL_2"] - - [0x7F036374, "action39_If_Guard_Heard_Gunfire_RVL_2"] - - [0x7F0363A8, "action3A_If_Bond_Shoots_Another_Guard_RVL_2"] - - [0x7F0363DC, "action3B_If_Guard_Killed_In_Front_Of_Guard_RVL_2"] - - [0x7F036410, "action3C_If_Guard_In_Firing_Range_RVL_2"] - - [0x7F036444, "action3D___Unused___Unknown___2"] - - [0x7F036478, "action3E_If_Shot_Current_Guard_RVL_2"] - - [0x7F0364AC, "action3F_If_Heard_Bond_RVL_2"] - - [0x7F0364E0, "action40_If_Another_Guard_In_Same_Room_As_Guard_ID_RVL_3"] - - [0x7F036540, "action41_If_Guard_Has_Been_On_Screen_RVL_2"] - - [0x7F036578, "action42_If_Current_Guard_On_Screen_In_Loaded_Room_RVL_2"] - - [0x7F0365B4, "action43_If_Guard_In_A_Room_Currently_Loaded_RVL_2"] - - [0x7F0365F4, "action44_If_Room_Containing_Preset_Is_Loaded_RVL_4"] - - [0x7F03663C, "action45_Go_To_RVL_If_Bond_Has_Guard_At_Gunpoint_2"] - - [0x7F036670, "action46_If_Fired_A_Shot_RVL_2"] - - [0x7F0366A4, "action47_If_Distance_Between_Bond_And_Guard_LTV_RVL_3"] - - [0x7F036718, "action48_If_Distance_Between_Bond_And_Guard_GTV_RVL_3"] - - [0x7F03678C, "action49_Test_if_Actor_and_Player_CCWAngle_LTV_RVL_Unused_3"] - - [0x7F036800, "action4A_Test_if_Actor_and_Player_CCWAngle_GTV_RVL_Unused_3"] - - [0x7F036874, "action4B_RVL_If_In_Proximity_Of_Bond_4"] - - [0x7F0368DC, "action4C_RVL_If_Not_In_Proximity_Of_Bond_4"] - - [0x7F036944, "action4D_When_Guard_In_Proximity_Of_Preset_RVL_7"] - - [0x7F0369D4, "action4E_When_Guard_Not_In_Proximity_Of_Preset_RVL_7"] - - [0x7F036A64, "action4F_If_Current_Guard_Is_In_Units_Of_Guard_ID_RVL_5"] - - [0x7F036AD0, "action50_If_Current_Guard_Is_Not_In_Units_Of_Guard_ID_RVL_5"] - - [0x7F036B3C, "action51_SetClosestGuardUnitsGuardID_Then_RVL_IfSuccess_4"] - - [0x7F036B98, "action52_GoIntoRVLIf_In_Units_Of_Preset_6"] - - [0x7F036C10, "action53_GoIntoRVLIf_Not_In_Units_Of_Preset_6"] - - [0x7F036C88, "action54_GoIntoRVLIf_Guard_Is_At_Preset_5"] - - [0x7F036CD4, "action55_GoIntoRVLIf_Entered_Room_with_Preset_4"] - - [0x7F036D1C, "action56_GoIntoRVLIf_16_Object_num_Collected_3"] - - [0x7F036D6C, "action57_GoIntoRVLIf_Specified_Weapon_Deposited_3"] - - [0x7F036DA0, "action58_GoIntoRVLIf_SpecifiedWeaponDeposited_On16Object_4"] - - [0x7F036E2C, "action59_GoIntoRVLIf_Specified_Weapon_Is_Out_3"] - - [0x7F036E78, "action5A_GoIntoRVLIf_Type_16_Object_num_Loaded_3"] - - [0x7F036EBC, "action5B_GoIntoRVLIf_16_Object_num_Not_Destroyed_3"] - - [0x7F036F0C, "action5C_GoIntoRVLIf_16_Object_num_Activated_3"] - - [0x7F036F70, "action5D_GoIntoRVLIf_Gadget_Used_On_16_Object_num_3"] - - [0x7F036FD0, "action5E_16_Object_Activates_2"] - - [0x7F037038, "action5F_16_Object_Explodes_2"] - - [0x7F0370B4, "action60_Guard_Drops_16_Object_num_2"] - - [0x7F037118, "action61_Kill_Guard_num_2"] - - [0x7F03714C, "action62_Guard_num_Throws_Equipment_2"] - - [0x7F0371BC, "action63_Guard_Gives_Bond_16_Object_num_2"] - - [0x7F0371FC, "action64_Type_16_Object_Equipped_On_Guard_3"] - - [0x7F0372A0, "action65_Object_Moved_To_Preset_4"] - - [0x7F0373BC, "action66_Open_Door_2"] - - [0x7F037400, "action67_Close_Door_2"] - - [0x7F037444, "action68_Check_Door_Status_RVL_If_Met_4"] - - [0x7F037518, "action69_If_16_Object_Is_Valid_Door_RVL_3"] - - [0x7F03757C, "action6A_Set_Bits_To_Lock_On_Type_16_Door_3"] - - [0x7F0375C0, "action6B_Unset_Bits_To_Lock_On_Type_16_Door_3"] - - [0x7F037608, "action6C_If_Tagged_Locked_Door_16_Objects_Toggled_RVL_4"] - - [0x7F037678, "action6D_If_Objective_num_Complete_RVL_3"] - - [0x7F0376C8, "action6E_If_Guard_2328_Preset_RVL_3"] - - [0x7F037700, "action6F_If_Guard_2328_Preset_Set_RVL_3"] - - [0x7F037738, "action78_Go_To_RVL_If_Guard_Shot_LTV_3"] - - [0x7F037778, "action79_Go_To_RVL_If_Guard_Shot_GTV_3"] - - [0x7F0377B8, "action7A_Go_To_RVL_If_Number_Near_Miss_Gunshots_LTV_3"] - - [0x7F0377F8, "action7B_Go_To_RVL_If_Number_Near_Miss_Gunshots_GTV_3"] - - [0x7F037838, "action7C_If_Guard_Health_Below_Value_RVL_4"] - - [0x7F0378C4, "action7D_If_Guard_Health_Above_Value_RVL_4"] - - [0x7F037950, "action7E_If_Guard_nums_Bitflag_01000000_Set_RVL_3"] - - [0x7F0379AC, "action7F_If_Health_Below_Value_RVL_3"] - - [0x7F037A20, "action80_If_Health_Above_Value_RVL_3"] - - [0x7F037A94, "action70_Go_Into_RVL_Difficulty_LTV_3"] - - [0x7F037AD4, "action71_GoIntoRVLIf_Difficulty_GTV_3"] - - [0x7F037B14, "action72_Go_To_RVL_If_Time_LTV_4"] - - [0x7F037B74, "action73_Go_To_RVL_If_Time_GTV_4"] - - [0x7F037BD4, "action74_Go_To_RVL_If_Power_On_Time_LTV_4"] - - [0x7F037C38, "action75_Go_To_RVL_If_Power_On_Time_GTV_4"] - - [0x7F037C9C, "action76_Go_To_RVL_If_Stage_Number_LTV_3"] - - [0x7F037CDC, "action77_Go_To_RVL_If_Stage_Number_GTV_3"] - - [0x7F037D1C, "action81_Set_User_Byte_num1_2"] - - [0x7F037D30, "action82_Add_Value_To_User_Byte_num1_Max_To_FF_2"] - - [0x7F037D70, "action83_Subtract_Value_To_User_Byte_num1_Min_To_0_2"] - - [0x7F037DA4, "action84_If_Value_GreaterThan_User_Byte_num1_RVL_3"] - - [0x7F037DE0, "action85_If_User_Byte_num1_LessThan_Random_Value_RVL_2"] - - [0x7F037E1C, "action86_Set_User_Byte_num2_2"] - - [0x7F037E30, "action87_Add_Value_To_User_Byte_num2_Max_To_FF_2"] - - [0x7F037E70, "action88_Subtract_Value_To_User_Byte_num2_Min_To_0_2"] - - [0x7F037EA4, "action89_If_Value_GreaterThan_User_Byte_num2_RVL_3"] - - [0x7F037EE0, "action8A_If_User_Byte_num2_LessThan_Random_Value_RVL_2"] - - [0x7F037F1C, "action8B_Set_Guard_Hearing_Distance_3"] - - [0x7F037F50, "action8C_Set_Guard_Visible_Distance_2"] - - [0x7F037F80, "action8D_Set_Guard_Grenade_Probability_2"] - - [0x7F037F94, "action8E_Set_Guard_ID_2"] - - [0x7F037FA8, "action8F_Set_Guard_Health_3"] - - [0x7F037FE8, "action90_Set_Guard_Armor_Amount_3"] - - [0x7F038028, "action91_Set_Character_Reaction_Speed_2"] - - [0x7F03803C, "action92_Set_Character_Injury_Recovery_Speed_2"] - - [0x7F038050, "action93_Set_Character_Accuracy_2"] - - [0x7F038064, "action94_Mask_Guard_Type_With_Value_2"] - - [0x7F03807C, "action95_Unmask_Guard_Type_With_Value_2"] - - [0x7F038094, "action96_If_Guard_Type_Value_Is_Set_RVL_3"] - - [0x7F0380CC, "action97_Mask_Guard_Type_Flags_With_Value_3"] - - [0x7F0380E8, "action98_Unmask_Guard_Type_Flags_With_Value_3"] - - [0x7F038104, "action99_If_Guard_Type_Flags_Set_RVL_4"] - - [0x7F038140, "action9A_Set_Objective_Bits_5"] - - [0x7F03817C, "action9B_Unset_Objective_Value_5"] - - [0x7F0381B8, "action9C_Check_If_Objective_Value_Return_Loop_If_So_6"] - - [0x7F038214, "action9D_Set_Guard_Bit_Tags_5"] - - [0x7F038254, "action9E_Unset_Guard_Bit_Tags_5"] - - [0x7F038298, "action9F_Check_Guard_Bits_If_Same_RVL_6"] - - [0x7F0382F4, "actionA0_Set_Guard_ID_Bits_6"] - - [0x7F038344, "actionA1_Unset_Guard_ID_Bits_6"] - - [0x7F038398, "actionA2_Check_Guard_Bits_If_Same_RVL_7"] - - [0x7F03840C, "actionA3_Set_State_Bits_16_Type_Object_6"] - - [0x7F038464, "actionA4_Unset_State_Bits_16_Type_Object_6"] - - [0x7F0384C0, "actionA5_Check_State_Bits_16_Type_Object_If_Same_RVL_7"] - - [0x7F03853C, "actionA6_Set_16_Object_States_More_6"] - - [0x7F038594, "actionA7_Unset_16_Object_States_More_6"] - - [0x7F0385F0, "actionA8_Check_16_Object_States_More_If_Same_RVL_7"] - - [0x7F03866C, "actionA9_Sets_To_Guard_ID_Fc_Current_Guard_2"] - - [0x7F038684, "actionAA_Sets_FC_Value_For_Guard_ID_To_Guard_ID_3"] - - [0x7F0386A0, "actionAB_Set_Current_Guards_2328_Value_To_Preset_3"] - - [0x7F0386EC, "actionAC_Set_Guard_ID_numS_2328_Value_To_Preset_4"] - - [0x7F038718, "actionAD_Debug_Comment_20"] - - [0x7F038730, "actionAE_Reset_Cycle_Counter_And_Enable_It_1"] - - [0x7F038744, "actionAF_Reset_Cycle_Counter_1"] - - [0x7F038754, "actionB0_Disable_Cycle_Counter_1"] - - [0x7F03876C, "actionB1_Enable_Cycle_Counter_1"] - - [0x7F038784, "actionB2_Check_Cycle_Counter_Enable_Status_2"] - - [0x7F0387BC, "actionB3_If_Cycle_Counter_LTV_RVL_5"] - - [0x7F038840, "actionB4_If_Cycle_Counter_GTV_RVL_5"] - - [0x7F0388C4, "actionB5_Show_Timer_1"] - - [0x7F0388DC, "actionB6_Hide_Timer_Silent_Countdown_1"] - - [0x7F0388F4, "actionB7_Set_Timer_X_Seconds__Doesnt_Show_Timer_Yet_3"] - - [0x7F038928, "actionB8_Stop_Timer_1"] - - [0x7F03893C, "actionB9_Start_Timer_1"] - - [0x7F038950, "actionBA_Check_Timer_Enabled_Status_RVL_If_Enabled_2"] - - [0x7F038984, "actionBB_Detect_If_Timer_Below_Certain_Point_RVL_If_So_4"] - - [0x7F0389E8, "actionBC_Detect_If_Timer_Above_Certain_Point_RVL_If_So_4"] - - [0x7F038A4C, "actionBD_Spawn_Guard_C"] - - [0x7F038AF4, "actionBE_Respawn_Guard_with_ID_B"] - - [0x7F038B7C, "actionBF_Spawn_Weapon_9"] - - [0x7F038C80, "actionC0_Spawn_Hat_8"] - - [0x7F038D10, "actionC1_GuardIDDoesAV_If_Gunfire_RVL_WhenComplete_5"] - - [0x7F038EC8, "actionC2_Display_Text_Preset_Bottom_Screen_3"] - - [0x7F038EF0, "actionC3_Display_Text_Preset_Top_Screen_3"] - - [0x7F038F18, "actionC4_Play_Sound_Effect_num_In_Slot_num_0_7_4"] - - [0x7F038F44, "actionC9_Shut_Off_Sound_In_Slot_Number_2"] - - [0x7F038F58, "actionC7_Sound_In_Slot_num_Crecendos_To_Volume_Over_ms_6"] - - [0x7F039008, "actionC8_Sound_In_Slot_num_Fades_To_Volume_Over_ms_6"] - - [0x7F0390C4, "actionC5_EmanateSoundSlotnumFrom16ObjectWithAudibleRV_5"] - - [0x7F039160, "actionC6_EmanateSoundSlotnumFromPresetWithAudibleRV_6"] - - [0x7F039260, "actionCA_If_Value_GreaterThan_Volume_7FFF_Max_RVL_5"] - - [0x7F0392D4, "actionCB_Set_Object_Path_27_Type_Object_2"] - - [0x7F0392FC, "actionCC_Set_Speed_Moving_Vehicle_27_Type_Object_5"] - - [0x7F039360, "actionCD_Set_Speed_Aircraft_Rotor_5"] - - [0x7F0393BC, "actionCE_Detect_If_Currently_In_Intro_Camera_RVL_If_So_2"] - - [0x7F039408, "actionCF_Detect_If_Currently_In_Intro_Swirl_RVL_If_So_2"] - - [0x7F039440, "actionD0_Change_Animation_Type_Of_Type_16_Monitor_4"] - - [0x7F0394CC, "actionD1_If_Bond_In_Tank_RVL_2"] - - [0x7F039504, "actionD2_Exit_Level_1"] - - [0x7F039550, "actionD3_Return_From_Camera_Scene_1"] - - [0x7F039564, "actionD4_Camera_Looks_At_Bond_From_Preset_3"] - - [0x7F0395F0, "actionD5_Go_To_Camera_Position_6"] - - [0x7F039670, "actionD6_If_Less_Than_Elevation_RVL_4"] - - [0x7F0396DC, "actionD7_Disable_Text_Variable_2"] - - [0x7F039750, "actionD8_Enable_All_On_Screen_Displays_1"] - - [0x7F03979C, "actionD9_GuardIDMovedToPresetReturnLoopIfSuccessful_5"] - - [0x7F039964, "actionDA_Fade_Out_From_Cut_Scene_1"] - - [0x7F0399A4, "actionDB_Fade_In_From_Black_Reset_DA_1"] - - [0x7F0399E0, "actionDC_RVL_When_Fade_Complete_2"] - - [0x7F039A24, "actionDD_Remove_All_Guards_1"] - - [0x7F039A80, "actionDE_Bring_Removed_Guards_Back_1"] - - [0x7F039AD4, "actionDF_Open_Type_16_Door_Used_Cut_Scenes_2"] - - [0x7F039B30, "actionE0_Guard_ID_Draws_Weapon_num_3"] - - [0x7F039B58, "actionE1_If_Fewer_than_This_Many_Players_Playing_RVL_3"] - - [0x7F039B98, "actionE2_If_Ammo_Value_In_Type_Is_LTV_RVL_4"] - - [0x7F039BD8, "actionE3_Draw_Weapon_From_Inventory_In_Game_2"] - - [0x7F039BFC, "actionE4_Draw_Weapon_From_Inventory_Cut_Scene_2"] - - [0x7F039C20, "actionE5_Set_Bonds_Speed_3"] - - [0x7F039C5C, "actionE6_If_16_Object_And_Preset_Are_In_Same_Room_RVL_5"] - - [0x7F039D2C, "actionE9_Instantly_Switch_Sky_To_Sky_2_1"] - - [0x7F039D48, "actionEA_Stop_Game_Time_1"] - - [0x7F039D6C, "actionEB_If_Key_Pressed_RVL_2"] - - [0x7F039DA8, "actionEC_Disable_Player_Pickups_1"] - - [0x7F039DC0, "actionED_Hide_First_Person_Display_1"] - - [0x7F039DDC, "actionEE_Cuba_Circular_Camera_Aim_D"] - - [0x7F039EE8, "actionEF_Trigger_Credits_1"] - - [0x7F039F00, "actionF0_RVL_If_Credits_Completed_2"] - - [0x7F039F38, "actionF1_If_All_Objectives_Complete_RVL_2"] - - [0x7F039F6C, "actionF2_Check_Current_Folder_Bond_RVL_3"] - - [0x7F039FA8, "actionF3_If_Player_Pickups_Disabled_RVL_2"] - - [0x7F039FE0, "actionF4_PlaysValuenum1ThemeSlot03ForValuenum2Seconds_4"] - - [0x7F03A004, "actionF5_Turn_Off_Music_In_Slot_num_0_3_2"] - - [0x7F03A020, "actionF6_Trigger_Explosions_Around_Bond_1"] - - [0x7F03A034, "actionF7_If_Number_Of_Hostages_Scientists_Killed_RVL_3"] - - [0x7F03A074, "actionF8_If_Guard_ID_00200000_Flag_Set_Unset_And_Return_3"] - - [0x7F03A0D4, "actionF9_Set_Killed_In_Action_Automatic_Mission_Failure_1"] - - [0x7F03A0EC, "actionFA_Guard_Fawns_On_Shoulder_1"] - - [0x7F03A100, "actionFB_SwitchToSkyValuenumAndActivateGasContainersIfExist_1"] - - [0x7F03A134, "actionFC_Launch_Shuttle_2"] - - [0x7F03A200, "action04_Terminator_1"] - # file asm/game/7F03A240.s - - [0x7F03A240, "sub_GAME_7F03A240"] - - [0x7F03A404, "set_stateflag_0x04_for_posdata"] - - [0x7F03A414, "unset_stateflag_0x04_for_posdata"] - - [0x7F03A424, "get_ptr_obj_pos_list_current_entry"] - - [0x7F03A430, "remove_last_obj_pos_data_entry"] - - [0x7F03A484, "set_last_obj_pos_data"] - - [0x7F03A4A4, "set_current_objposdata_plus_0x28"] - - [0x7F03A4F0, "sub_GAME_7F03A4F0"] - - [0x7F03A538, "sub_GAME_7F03A538"] - - [0x7F03A5A4, "sub_GAME_7F03A5A4"] - - [0x7F03A5D0, "sub_GAME_7F03A5D0"] - - [0x7F03A62C, "sub_GAME_7F03A62C"] - - [0x7F03A6F4, "sub_GAME_7F03A6F4"] - - [0x7F03A97C, "sub_GAME_7F03A97C"] - - [0x7F03AA44, "sub_GAME_7F03AA44"] - - [0x7F03AB58, "sub_GAME_7F03AB58"] - - [0x7F03ADF4, "sub_GAME_7F03ADF4"] - - [0x7F03AF5C, "sub_GAME_7F03AF5C"] - - [0x7F03B15C, "sub_GAME_7F03B15C"] - - [0x7F03B9C0, "sub_GAME_7F03B9C0"] - - [0x7F03BDEC, "sub_GAME_7F03BDEC"] - - [0x7F03C0F0, "sub_GAME_7F03C0F0"] - - [0x7F03C294, "sub_GAME_7F03C294"] - - [0x7F03C2BC, "sub_GAME_7F03C2BC"] - - [0x7F03C3FC, "sub_GAME_7F03C3FC"] - - [0x7F03C4F0, "sub_GAME_7F03C4F0"] - - [0x7F03C550, "def_7F03C52C"] - - [0x7F03C574, "sub_GAME_7F03C574"] - - [0x7F03C648, "handle_mp_respawn_and_some_things"] - - [0x7F03CA30, "determing_type_of_object_and_detection"] - - [0x7F03CB8C, "sub_GAME_7F03CB8C"] - - [0x7F03CC20, "sub_GAME_7F03CC20"] - - [0x7F03CCB0, "sub_GAME_7F03CCB0"] - - [0x7F03CCD8, "sub_GAME_7F03CCD8"] - - [0x7F03CF88, "sub_GAME_7F03CF88"] - - [0x7F03CFE8, "sub_GAME_7F03CFE8"] - - [0x7F03D058, "sub_GAME_7F03D058"] - - [0x7F03D0D4, "sub_GAME_7F03D0D4"] - - [0x7F03D160, "def_7F03D13C"] - - [0x7F03D188, "sub_GAME_7F03D188"] - - [0x7F03D78C, "sub_GAME_7F03D78C"] - - [0x7F03D9EC, "sub_GAME_7F03D9EC"] - - [0x7F03DA50, "sub_GAME_7F03DA50"] - - [0x7F03DB70, "sub_GAME_7F03DB70"] - - [0x7F03DBCC, "sub_GAME_7F03DBCC"] - - [0x7F03DCB8, "sub_GAME_7F03DCB8"] - - [0x7F03DD9C, "sub_GAME_7F03DD9C"] - - [0x7F03DE94, "sub_GAME_7F03DE94"] - - [0x7F03E134, "sub_GAME_7F03E134"] - - [0x7F03E18C, "sub_GAME_7F03E18C"] - - [0x7F03E210, "sub_GAME_7F03E210"] - - [0x7F03E27C, "sub_GAME_7F03E27C"] - - [0x7F03E3FC, "sub_GAME_7F03E3FC"] - - [0x7F03E4F0, "sub_GAME_7F03E4F0"] - - [0x7F03E698, "removed_debug_roomblocks_feature"] - - [0x7F03E6A0, "sub_GAME_7F03E6A0"] - - [0x7F03E718, "sub_GAME_7F03E718"] - - [0x7F03E7AC, "sub_GAME_7F03E7AC"] - - [0x7F03E830, "sub_GAME_7F03E830"] - - [0x7F03E85C, "sub_GAME_7F03E85C"] - - [0x7F03E864, "sub_GAME_7F03E864"] - - [0x7F03E86C, "sub_GAME_7F03E86C"] - - [0x7F03E874, "sub_GAME_7F03E874"] - - [0x7F03E87C, "sub_GAME_7F03E87C"] - - [0x7F03E91C, "sub_GAME_7F03E91C"] - - [0x7F03E9BC, "sub_GAME_7F03E9BC"] - - [0x7F03EA5C, "sub_GAME_7F03EA5C"] - - [0x7F03EAFC, "sub_GAME_7F03EAFC"] - - [0x7F03EB9C, "sub_GAME_7F03EB9C"] - - [0x7F03EC3C, "sub_GAME_7F03EC3C"] - - [0x7F03ECC0, "sub_GAME_7F03ECC0"] - - [0x7F03F540, "sub_GAME_7F03F540"] - - [0x7F03F598, "sub_GAME_7F03F598"] - - [0x7F03F748, "sub_GAME_7F03F748"] - - [0x7F03F90C, "sub_GAME_7F03F90C"] - - [0x7F03F948, "sub_GAME_7F03F948"] - - [0x7F03FA44, "scan_position_data_table_for_normal_object_at_preset"] - - [0x7F03FAB0, "sub_GAME_7F03FAB0"] - - [0x7F03FB70, "sub_GAME_7F03FB70"] - - [0x7F03FBFC, "sub_GAME_7F03FBFC"] - - [0x7F03FC80, "sub_GAME_7F03FC80"] - - [0x7F03FDA8, "sub_GAME_7F03FDA8"] - - [0x7F03FE14, "sub_GAME_7F03FE14"] - - [0x7F03FE88, "sub_GAME_7F03FE88"] - - [0x7F03FE98, "sub_GAME_7F03FE98"] - - [0x7F03FF60, "sub_GAME_7F03FF60"] - - [0x7F03FFC0, "do_something_if_object_destroyed"] - - [0x7F03FFF8, "sub_GAME_7F03FFF8"] - - [0x7F040078, "sub_GAME_7F040078"] - - [0x7F04009C, "set_color_shading_from_tile"] - - [0x7F0402B4, "sub_GAME_7F0402B4"] - - [0x7F040310, "update_color_shading"] - - [0x7F040384, "sub_GAME_7F040384"] - - [0x7F040484, "sub_GAME_7F040484"] - - [0x7F04054C, "init_standard_object"] - - [0x7F0406F8, "sub_GAME_7F0406F8"] - - [0x7F04071C, "sub_GAME_7F04071C"] - - [0x7F040754, "sub_GAME_7F040754"] - - [0x7F0407F4, "sub_GAME_7F0407F4"] - - [0x7F04088C, "sub_GAME_7F04088C"] - - [0x7F040BA0, "sub_GAME_7F040BA0"] - - [0x7F040CF0, "sub_GAME_7F040CF0"] - - [0x7F040D98, "sub_GAME_7F040D98"] - - [0x7F041024, "sub_GAME_7F041024"] - - [0x7F041044, "if_a0_plus_3_is_4_then_10_else_20"] - - [0x7F041074, "sub_GAME_7F041074"] - - [0x7F041160, "sub_GAME_7F041160"] - - [0x7F041400, "sub_GAME_7F041400"] - - [0x7F0417DC, "sub_GAME_7F0417DC"] - - [0x7F0419E4, "sub_GAME_7F0419E4"] - - [0x7F041BB8, "sub_GAME_7F041BB8"] - - [0x7F041E0C, "sub_GAME_7F041E0C"] - - [0x7F04224C, "handles_projectile_motion"] - - [0x7F042A0C, "sub_GAME_7F042A0C"] - - [0x7F042EB4, "sub_GAME_7F042EB4"] - - [0x7F042F18, "sub_GAME_7F042F18"] - - [0x7F04310C, "sub_GAME_7F04310C"] - - [0x7F0431E4, "sub_GAME_7F0431E4"] - - [0x7F043650, "sub_GAME_7F043650"] - - [0x7F043838, "sub_GAME_7F043838"] - - [0x7F0439B8, "sub_GAME_7F0439B8"] - - [0x7F043A6C, "sub_GAME_7F043A6C"] - - [0x7F043B7C, "generate_explosion_at_position"] - - [0x7F043D70, "handle_thrown_explosive_detonation"] - - [0x7F044200, "sub_GAME_7F044200"] - - [0x7F04424C, "sub_GAME_7F04424C"] - - [0x7F0442DC, "sub_GAME_7F0442DC"] - - [0x7F044414, "sub_GAME_7F044414"] - - [0x7F0446B8, "sub_GAME_7F0446B8"] - - [0x7F044718, "sub_GAME_7F044718"] - - [0x7F0448A8, "sub_GAME_7F0448A8"] - - [0x7F044B38, "sub_GAME_7F044B38"] - - [0x7F0451DC, "sub_GAME_7F0451DC"] - - [0x7F0452D4, "object_interaction"] - - [0x7F049B58, "sub_GAME_7F049B58"] - - [0x7F049C8C, "save_ptr_monitor_ani_code_to_obj_ani_slot"] - - [0x7F049C98, "set_ptr_monitor_img_to_obj_ani_slot"] - - [0x7F049F28, "def_7F049CC0"] - - [0x7F049F40, "save_img_index_to_obj_ani_slot"] - - [0x7F049F48, "process_monitor_animation_microcode"] - - [0x7F04A024, "command00_reset_scroll_shift"] - - [0x7F04A038, "command01_horizontal_scroll"] - - [0x7F04A094, "command02_vertical_scroll"] - - [0x7F04A0F0, "command03_horizontal_pos"] - - [0x7F04A148, "command04_vertical_pos"] - - [0x7F04A1A0, "command05_zoomx"] - - [0x7F04A1F8, "command06_zoomy"] - - [0x7F04A250, "command07_use_image_from_global_monitor_table"] - - [0x7F04A274, "command08_halt_processing_for_time"] - - [0x7F04A2C4, "command09_jump"] - - [0x7F04A2E0, "command0A_jump_conditional"] - - [0x7F04A338, "command0B_restart"] - - [0x7F04A340, "command0C_break"] - - [0x7F04A348, "command0D_colour_transition"] - - [0x7F04A3CC, "command0E_set_rotation"] - - [0x7F04A3F4, "command0F_rotate"] - - [0x7F04A468, "def_7F04A01C"] - - [0x7F04AC20, "sub_GAME_7F04AC20"] - - [0x7F04B150, "sub_GAME_7F04B150"] - - [0x7F04B478, "sub_GAME_7F04B478"] - - [0x7F04B590, "sub_GAME_7F04B590"] - - [0x7F04B610, "sub_GAME_7F04B610"] - - [0x7F04BCDC, "sub_GAME_7F04BCDC"] - - [0x7F04BFD0, "sub_GAME_7F04BFD0"] - - [0x7F04C044, "sub_GAME_7F04C044"] - - [0x7F04C130, "sub_GAME_7F04C130"] - - [0x7F04CA44, "sub_GAME_7F04CA44"] - - [0x7F04CD04, "sub_GAME_7F04CD04"] - - [0x7F04CE0C, "object_explosion_related"] - - [0x7F04D16C, "sub_GAME_7F04D16C"] - - [0x7F04D9B0, "sub_GAME_7F04D9B0"] - - [0x7F04DB0C, "def_7F04DA40"] - - [0x7F04DCB4, "sub_GAME_7F04DCB4"] - - [0x7F04DD68, "sub_GAME_7F04DD68"] - - [0x7F04DE18, "sub_GAME_7F04DE18"] - - [0x7F04DEFC, "sub_GAME_7F04DEFC"] - - [0x7F04DFD0, "check_if_destroyable_object_type"] - - [0x7F04DFF8, "destroyable_object"] - - [0x7F04E000, "nondestroyable_object"] - - [0x7F04E00C, "check_if_collectable_object"] - - [0x7F04E034, "collectable_object"] - - [0x7F04E03C, "notcollectable_object"] - - [0x7F04E048, "check_if_destroyable_not_invincible"] - - [0x7F04E0CC, "sub_GAME_7F04E0CC"] - - [0x7F04E108, "maybe_detonate_object"] - - [0x7F04E720, "sub_GAME_7F04E720"] - - [0x7F04E9BC, "sub_GAME_7F04E9BC"] - - [0x7F04EA68, "sub_GAME_7F04EA68"] - - [0x7F04EF34, "check_if_object_has_not_been_destroyed"] - - [0x7F04EF58, "sub_GAME_7F04EF58"] - - [0x7F04F170, "sub_GAME_7F04F170"] - - [0x7F04F218, "sub_GAME_7F04F218"] - - [0x7F04F244, "sub_GAME_7F04F244"] - - [0x7F04F2B4, "append_text_picked_up"] - - [0x7F04F2EC, "append_text_ammo_amount_word"] - - [0x7F04F31C, "text_some"] - - [0x7F04F338, "text_a"] - - [0x7F04F37C, "text_an"] - - [0x7F04F3C0, "text_the"] - - [0x7F04F3FC, "text_NONE"] - - [0x7F04F40C, "apped_text_ammotype"] - - [0x7F04F544, "text_pickup_shotgun_cartridge"] - - [0x7F04F560, "text_pickup_magnum_bullet"] - - [0x7F04F57C, "text_pickup_golden_bullet"] - - [0x7F04F598, "text_pickup_hand_grenade"] - - [0x7F04F5B4, "text_pickup_grenade_round"] - - [0x7F04F5D0, "text_pickup_rocket"] - - [0x7F04F5EC, "text_pickup_remote_mine"] - - [0x7F04F608, "text_pickup_proximity_mine"] - - [0x7F04F624, "text_pickup_timed_mine"] - - [0x7F04F640, "text_pickup_dart"] - - [0x7F04F65C, "text_pickup_explosive_pen"] - - [0x7F04F678, "text_pickup_explosive_case"] - - [0x7F04F694, "text_pickup_flare"] - - [0x7F04F6B0, "text_pickup_piton"] - - [0x7F04F6CC, "text_pickup_bug"] - - [0x7F04F6E8, "text_pickup_micro_camera"] - - [0x7F04F704, "text_pickup_goldeneye_key"] - - [0x7F04F720, "text_pickup_token"] - - [0x7F04F73C, "text_pickup_plastique"] - - [0x7F04F750, "pluralize_multiples"] - - [0x7F04F788, "set_sound_effect_for_ammo_collection"] - - [0x7F04F7B4, "ammo_sfx_pickup_firearm"] - - [0x7F04F7D0, "ammo_sfx_pickup_mine"] - - [0x7F04F7EC, "ammo_sfx_pickup_knife"] - - [0x7F04F800, "ammo_sfx_pickup_default"] - - [0x7F04F810, "set_sound_effect_for_weapontype_collection"] - - [0x7F04F920, "prepare_ammo_type_collection_text"] - - [0x7F04F9F8, "display_text_when_ammo_collected"] - - [0x7F04FA68, "add_ammo_to_inventory"] - - [0x7F04FC3C, "get_ammo_in_magazine"] - - [0x7F04FC70, "magazine_has_10_rounds_type1"] - - [0x7F04FC78, "magazine_has_10_rounds_type2"] - - [0x7F04FC80, "magazine_has_10_rounds_type3"] - - [0x7F04FC88, "magazine_has_5_rounds_type4"] - - [0x7F04FC90, "magazine_has_5_rounds_typeC"] - - [0x7F04FC98, "magazine_has_3_rounds_typeD"] - - [0x7F04FCA0, "magazine_has_4_rounds_typeE"] - - [0x7F04FCA4, "magazine_has_default_ammo_rounds"] - - [0x7F04FCF8, "ammo_collected_from_weapon"] - - [0x7F04FD50, "weapon_has_10_rounds_type1"] - - [0x7F04FD58, "weapon_has_10_rounds_type2"] - - [0x7F04FD60, "weapon_has_10_rounds_type3"] - - [0x7F04FD68, "weapon_has_5_rounds_type4"] - - [0x7F04FD70, "weapon_has_5_rounds_typeC"] - - [0x7F04FD78, "weapon_has_3_rounds_typeD"] - - [0x7F04FD80, "weapon_has_4_rounds_typeE"] - - [0x7F04FD88, "weapon_has_3_rounds_typeB"] - - [0x7F04FD8C, "weapon_has_default_ammo"] - - [0x7F04FDE0, "generate_language_specific_text_for_weapon"] - - [0x7F04FE7C, "weapon_collect_msg_BLANK"] - - [0x7F04FE9C, "weapon_collect_msg_a_hunting_knife"] - - [0x7F04FEB8, "weapon_collect_msg_a_pp7"] - - [0x7F04FED4, "weapon_collect_msg_a_silenced_pp7"] - - [0x7F04FEF0, "weapon_collect_msg_a_dd44"] - - [0x7F04FF0C, "weapon_collect_msg_a_klobb"] - - [0x7F04FF28, "weapon_collect_msg_a_kf7"] - - [0x7F04FF44, "weapon_collect_msg_a_zmg"] - - [0x7F04FF60, "weapon_collect_msg_a_d5k"] - - [0x7F04FF7C, "weapon_collect_msg_a_silenced_d5k"] - - [0x7F04FF98, "weapon_collect_msg_a_phantom"] - - [0x7F04FFB4, "weapon_collect_msg_a_ar33"] - - [0x7F04FFD0, "weapon_collect_msg_a_rcp90"] - - [0x7F04FFEC, "weapon_collect_msg_a_shotgun"] - - [0x7F050008, "weapon_collect_msg_an_auto_shotgun"] - - [0x7F050024, "weapon_collect_msg_a_sniper"] - - [0x7F050040, "weapon_collect_msg_a_grenade_launcher"] - - [0x7F05005C, "weapon_collect_msg_a_rocket_launcher"] - - [0x7F050078, "weapon_collect_msg_a_cougar_magnum"] - - [0x7F050094, "weapon_collect_msg_a_golden_gun"] - - [0x7F0500B0, "weapon_collect_msg_a_moonraker_laser"] - - [0x7F0500CC, "weapon_collect_msg_a_flare_pistol"] - - [0x7F0500E8, "weapon_collect_msg_a_piton_gun"] - - [0x7F050104, "weapon_collect_msg_a_silver_pp7"] - - [0x7F050120, "weapon_collect_msg_a_gold_pp7"] - - [0x7F05013C, "weapon_collect_msg_a_keycard"] - - [0x7F050158, "weapon_collect_msg_a_yale_key"] - - [0x7F050174, "weapon_collect_msg_a_bolt_key"] - - [0x7F050190, "weapon_collect_msg_a_new_weapon"] - - [0x7F050224, "display_text_for_weapon_in_lower_left_corner"] - - [0x7F050250, "collect_or_interact_object"] - - [0x7F0502C4, "interact_key_object"] - - [0x7F050310, "interact_magazine_object"] - - [0x7F050338, "interact_ammobox_object"] - - [0x7F0503DC, "interact_weapon_object"] - - [0x7F0505B4, "interact_bodyarmor_object"] - - [0x7F05062C, "interact_default_object"] - - [0x7F0506DC, "object_collectability_routines"] - - [0x7F050D30, "sub_GAME_7F050D30"] - - [0x7F050DE8, "sub_GAME_7F050DE8"] - - [0x7F050F50, "sub_GAME_7F050F50"] - - [0x7F051028, "sub_GAME_7F051028"] - - [0x7F051084, "sub_GAME_7F051084"] - - [0x7F0510C0, "sub_GAME_7F0510C0"] - - [0x7F05126C, "sub_GAME_7F05126C"] - - [0x7F051588, "sub_GAME_7F051588"] - - [0x7F0515B0, "sub_GAME_7F0515B0"] - - [0x7F0518A8, "sub_GAME_7F0518A8"] - - [0x7F0518D0, "sub_GAME_7F0518D0"] - - [0x7F051A18, "trigger_remote_mine_detonation"] - - [0x7F051A68, "check_if_entry_is_collectable"] - - [0x7F051AEC, "check_if_item_deposited"] - - [0x7F051B5C, "add_obj_to_temp_proxmine_table"] - - [0x7F051B94, "remove_obj_from_temp_proxmine_table"] - - [0x7F051BCC, "detonate_proxmine_In_range"] - - [0x7F051CC8, "check_guard_detonate_proxmine"] - - [0x7F051D74, "link_objects"] - - [0x7F051D90, "complete_object_data_block_return_position_entry"] - - [0x7F051DD8, "sub_GAME_7F051DD8"] - - [0x7F051E1C, "sub_GAME_7F051E1C"] - - [0x7F051F30, "sub_GAME_7F051F30"] - - [0x7F051FD4, "sub_GAME_7F051FD4"] - - [0x7F052030, "sub_GAME_7F052030"] - - [0x7F05206C, "create_new_item_instance_of_model"] - - [0x7F0521E8, "set_0x4_in_runtime_flags_for_item_in_guards_hand"] - - [0x7F052214, "something_with_generating_object"] - - [0x7F0523D4, "actor_draws_weapon_with_model"] - - [0x7F0523F8, "sub_GAME_7F0523F8"] - - [0x7F052554, "redirect_object_collectability_routines"] - - [0x7F052574, "sub_GAME_7F052574"] - - [0x7F052604, "sub_GAME_7F052604"] - - [0x7F052684, "get_hat_model"] - - [0x7F0526B4, "model_hat_fur"] - - [0x7F0526BC, "model_hat_greencap"] - - [0x7F0526C4, "model_hat_combat_helmet"] - - [0x7F0526CC, "model_hat_moonraker_headgear"] - - [0x7F0526D4, "model_hat_beret"] - - [0x7F0526DC, "model_hat_officerhat"] - - [0x7F0526E4, "model_hat_default"] - - [0x7F0526EC, "sub_GAME_7F0526EC"] - - [0x7F052B00, "sub_GAME_7F052B00"] - - [0x7F052D8C, "sub_GAME_7F052D8C"] - - [0x7F053598, "sub_GAME_7F053598"] - - [0x7F0535C4, "sub_GAME_7F0535C4"] - - [0x7F0535F0, "initialize_door"] - - [0x7F0537B8, "sub_GAME_7F0537B8"] - - [0x7F053894, "sub_GAME_7F053894"] - - [0x7F05396C, "sub_GAME_7F05396C"] - - [0x7F0539B8, "sub_GAME_7F0539B8"] - - [0x7F0539E4, "sub_GAME_7F0539E4"] - - [0x7F053A10, "sub_GAME_7F053A10"] - - [0x7F053A3C, "sub_GAME_7F053A3C"] - - [0x7F053B10, "sub_GAME_7F053B10"] - - [0x7F053B78, "play_door_opening_soundeffect_0"] - - [0x7F053F2C, "def_7F053BE4"] - - [0x7F053F64, "play_door_opening_soundeffect_1"] - - [0x7F05428C, "def_7F053FD0"] - - [0x7F0542C4, "play_door_closing_soundeffect_0"] - - [0x7F054484, "def_7F054300"] - - [0x7F0544B8, "play_door_closing_soundeffect_1"] - - [0x7F054718, "def_7F0544F4"] - - [0x7F05474C, "sub_GAME_7F05474C"] - - [0x7F0547DC, "sub_GAME_7F0547DC"] - - [0x7F05480C, "sub_GAME_7F05480C"] - - [0x7F05487C, "sub_GAME_7F05487C"] - - [0x7F0548A4, "sub_GAME_7F0548A4"] - - [0x7F054988, "set_door_state"] - - [0x7F054A20, "sub_GAME_7F054A20"] - - [0x7F054A64, "sub_GAME_7F054A64"] - - [0x7F054B80, "sub_GAME_7F054B80"] - - [0x7F054C58, "sub_GAME_7F054C58"] - - [0x7F054D6C, "sub_GAME_7F054D6C"] - - [0x7F054EA8, "sub_GAME_7F054EA8"] - - [0x7F054FB4, "sub_GAME_7F054FB4"] - - [0x7F05522C, "sub_GAME_7F05522C"] - - [0x7F0555F8, "sub_GAME_7F0555F8"] - - [0x7F055804, "sub_GAME_7F055804"] - - [0x7F05599C, "sub_GAME_7F05599C"] - - [0x7F055A70, "sub_GAME_7F055A70"] - - [0x7F055B78, "sub_GAME_7F055B78"] - - [0x7F055C40, "sub_GAME_7F055C40"] - - [0x7F055DC8, "start_alarm"] - - [0x7F055DEC, "deactivate_alarm_sound_effect"] - - [0x7F055E2C, "stop_alarm"] - - [0x7F055E50, "is_alarm_on"] - - [0x7F055E64, "init_trigger_toxic_gas_effect"] - - [0x7F055EF8, "check_deactivate_gas_sound"] - - [0x7F055F38, "check_if_toxic_gas_activated"] - - [0x7F055F64, "handle_gas_damage"] - - [0x7F056160, "set_unset_clock_lock_bits"] - - [0x7F05619C, "is_clock_drawn_onscreen"] - - [0x7F0561B0, "set_clock_time"] - - [0x7F0561BC, "get_clock_time"] - - [0x7F0561C8, "set_clock_enable"] - - [0x7F0561D4, "get_clock_enable"] - - [0x7F0561E0, "if_enabled_reset_clock"] - - [0x7F056210, "sub_GAME_7F056210"] - - [0x7F0565F0, "handle_alarm_gas_timer_calldamage"] - - [0x7F056690, "sub_GAME_7F056690"] - - [0x7F05677C, "drop_inventory"] - # file asm/game/7F056850.s - - [0x7F056850, "sub_GAME_7F056850"] - - [0x7F0568F4, "get_size_of_setup_object_type"] - - [0x7F05691C, "object_size_type_09"] - - [0x7F056924, "object_size_type_01"] - - [0x7F05692C, "object_size_type_02"] - - [0x7F056934, "object_size_type_03"] - - [0x7F05693C, "object_size_type_2A"] - - [0x7F056944, "object_size_type_2F"] - - [0x7F05694C, "object_size_type_2B"] - - [0x7F056954, "object_size_type_24"] - - [0x7F05695C, "object_size_type_04"] - - [0x7F056964, "object_size_type_05"] - - [0x7F05696C, "object_size_type_06"] - - [0x7F056974, "object_size_type_07"] - - [0x7F05697C, "object_size_type_08"] - - [0x7F056984, "object_size_type_0A"] - - [0x7F05698C, "object_size_type_0B"] - - [0x7F056994, "object_size_type_0C"] - - [0x7F05699C, "object_size_type_0D"] - - [0x7F0569A4, "object_size_type_0E"] - - [0x7F0569AC, "object_size_type_11"] - - [0x7F0569B4, "object_size_type_12"] - - [0x7F0569BC, "object_size_type_13"] - - [0x7F0569C4, "object_size_type_2C"] - - [0x7F0569CC, "object_size_type_14"] - - [0x7F0569D4, "object_size_type_15"] - - [0x7F0569DC, "object_size_type_16"] - - [0x7F0569E4, "object_size_type_25"] - - [0x7F0569EC, "object_size_type_17"] - - [0x7F0569F4, "object_size_type_18"] - - [0x7F0569FC, "object_size_type_19"] - - [0x7F056A04, "object_size_type_1A"] - - [0x7F056A0C, "object_size_type_1B"] - - [0x7F056A14, "object_size_type_1C"] - - [0x7F056A1C, "object_size_type_1D"] - - [0x7F056A24, "object_size_type_1E"] - - [0x7F056A2C, "object_size_type_1F"] - - [0x7F056A34, "object_size_type_20"] - - [0x7F056A3C, "object_size_type_21"] - - [0x7F056A44, "object_size_type_22"] - - [0x7F056A4C, "object_size_type_23"] - - [0x7F056A54, "object_size_type_26"] - - [0x7F056A5C, "object_size_type_27"] - - [0x7F056A64, "object_size_type_28"] - - [0x7F056A6C, "object_size_type_2D"] - - [0x7F056A74, "object_size_type_2E"] - - [0x7F056A7C, "object_size_type_default"] - - [0x7F056A88, "sub_GAME_7F056A88"] - - [0x7F056B1C, "check_if_object_type_has_been_loaded"] - - [0x7F056BA8, "sub_GAME_7F056BA8"] - - [0x7F056C38, "load_model"] - - [0x7F056CA0, "sub_GAME_7F056CA0"] - - [0x7F056EA0, "sub_GAME_7F056EA0"] - - [0x7F056EF4, "def_7F056EDC"] - - [0x7F056F08, "sub_GAME_7F056F08"] - # file asm/game/7F057080.s - - [0x7F057080, "sub_GAME_7F057080"] - - [0x7F0570C0, "get_handle_to_tagged_object"] - - [0x7F057104, "get_ptr_text_for_watch_breifing_page"] - - [0x7F0571A8, "add_objective"] - - [0x7F0571B8, "get_text_for_objective"] - - [0x7F057204, "get_difficulty_for_objective"] - - [0x7F057238, "get_status_of_objective"] - - [0x7F0572C4, "objective_microcode_type_19_destroy_object"] - - [0x7F0572F8, "objective_microcode_type_1A_complete_if_true"] - - [0x7F057314, "objective_microcode_type_1B_fail_if_true"] - - [0x7F057330, "objective_microcode_type_1C_collect_object"] - - [0x7F05737C, "objective_microcode_type_1D_deposit_object"] - - [0x7F0573B0, "objective_microcode_type_1E_photograph_object"] - - [0x7F0573FC, "objective_microcode_type_20_enter_room"] - - [0x7F057410, "objective_microcode_type_21_deposit_object_in_room"] - - [0x7F057424, "objective_microcode_type_22_use_key_analyzer_on_object"] - - [0x7F057438, "objective_microcode_type_17_18_1F_default"] - - [0x7F0574B8, "check_objectives_complete"] - - [0x7F057540, "display_objective_status_text_on_status_change"] - - [0x7F057744, "sub_GAME_7F057744"] - - [0x7F0577E8, "sub_GAME_7F0577E8"] - - [0x7F057898, "sub_GAME_7F057898"] - - [0x7F057AC0, "sub_GAME_7F057AC0"] - - [0x7F057C14, "sub_GAME_7F057C14"] - - [0x7F057D44, "sub_GAME_7F057D44"] - - [0x7F057D88, "sub_GAME_7F057D88"] - - [0x7F057DF8, "sub_GAME_7F057DF8"] - - [0x7F057E58, "sub_GAME_7F057E58"] - - [0x7F057EA0, "cosf"] - - [0x7F057EAC, "sinf"] - # file asm/game/7F057FD0.s - - [0x7F057FD0, "reset_array_of_0x10_floats"] - - [0x7F058020, "sub_GAME_7F058020"] - - [0x7F058068, "sub_GAME_7F058068"] - - [0x7F058098, "sub_GAME_7F058098"] - - [0x7F0580C8, "sub_GAME_7F0580C8"] - - [0x7F05818C, "sub_GAME_7F05818C"] - - [0x7F058274, "sub_GAME_7F058274"] - - [0x7F058380, "sub_GAME_7F058380"] - - [0x7F0583D8, "sub_GAME_7F0583D8"] - - [0x7F058418, "sub_GAME_7F058418"] - - [0x7F058474, "sub_GAME_7F058474"] - - [0x7F0584D0, "sub_GAME_7F0584D0"] - - [0x7F058570, "sub_GAME_7F058570"] - - [0x7F0585FC, "sub_GAME_7F0585FC"] - - [0x7F058688, "sub_GAME_7F058688"] - - [0x7F058714, "sub_GAME_7F058714"] - - [0x7F058860, "sub_GAME_7F058860"] - - [0x7F05892C, "sub_GAME_7F05892C"] - - [0x7F058964, "init_something_copy_posdata_to_it"] - - [0x7F058998, "copies_first_3_floats_from_a0_to_a1_plus_0x30"] - - [0x7F0589B4, "sub_GAME_7F0589B4"] - - [0x7F0589E4, "sub_GAME_7F0589E4"] - - [0x7F058A14, "sub_GAME_7F058A14"] - - [0x7F058A4C, "sub_GAME_7F058A4C"] - - [0x7F058A7C, "matrix_multiply_A1_by_F12"] - - [0x7F058B10, "sub_GAME_7F058B10"] - - [0x7F058B80, "sub_GAME_7F058B80"] - - [0x7F058BB8, "sub_GAME_7F058BB8"] - - [0x7F058C4C, "sub_GAME_7F058C4C"] - - [0x7F058C64, "sub_GAME_7F058C64"] - - [0x7F058C88, "sub_GAME_7F058C88"] - - [0x7F058C9C, "sub_GAME_7F058C9C"] - - [0x7F058E78, "sub_GAME_7F058E78"] - - [0x7F059044, "sub_GAME_7F059044"] - - [0x7F05914C, "sub_GAME_7F05914C"] - - [0x7F059244, "sub_GAME_7F059244"] - - [0x7F059334, "sub_GAME_7F059334"] - - [0x7F059424, "sub_GAME_7F059424"] - - [0x7F059694, "sub_GAME_7F059694"] - - [0x7F059708, "sub_GAME_7F059708"] - - [0x7F059908, "sub_GAME_7F059908"] - - [0x7F05997C, "sub_GAME_7F05997C"] - - [0x7F059A48, "sub_GAME_7F059A48"] - - [0x7F059B58, "sub_GAME_7F059B58"] - - [0x7F059CE8, "sub_GAME_7F059CE8"] - - [0x7F059D30, "sub_GAME_7F059D30"] - - [0x7F059D38, "sub_GAME_7F059D38"] - - [0x7F059DAC, "sub_GAME_7F059DAC"] - - [0x7F059E64, "sub_GAME_7F059E64"] - - [0x7F059FB8, "sub_GAME_7F059FB8"] - - [0x7F05A250, "sub_GAME_7F05A250"] - - [0x7F05A310, "sub_GAME_7F05A310"] - - [0x7F05A774, "sub_GAME_7F05A774"] - - [0x7F05A928, "sub_GAME_7F05A928"] - - [0x7F05A9B8, "sub_GAME_7F05A9B8"] - # file asm/game/7F05A9E0.s - - [0x7F05A9E0, "sub_GAME_7F05A9E0"] - # file asm/game/7F05AA30.s - - [0x7F05AA30, "convert_angle_using_inverse"] - # file asm/game/7F05AB70.s - - [0x7F05AB70, "sub_GAME_7F05AB70"] - - [0x7F05ABF0, "sub_GAME_7F05ABF0"] - - [0x7F05AC44, "sub_GAME_7F05AC44"] - # file asm/game/7F05ACB0.s - - [0x7F05ACB0, "sub_GAME_7F05ACB0"] - - [0x7F05AD5C, "sub_GAME_7F05AD5C"] - # file asm/game/7F05AE00.s - - [0x7F05AE00, "sub_GAME_7F05AE00"] - - [0x7F05AE50, "sub_GAME_7F05AE50"] - - [0x7F05AEFC, "sub_GAME_7F05AEFC"] - - [0x7F05B024, "sub_GAME_7F05B024"] - - [0x7F05B154, "sub_GAME_7F05B154"] - # file asm/game/7F05B1E0.s - - [0x7F05B1E0, "sub_GAME_7F05B1E0"] - - [0x7F05B3F4, "sub_GAME_7F05B3F4"] - - [0x7F05B528, "sub_GAME_7F05B528"] - - [0x7F05B57C, "sub_GAME_7F05B57C"] - - [0x7F05B5D4, "sub_GAME_7F05B5D4"] - - [0x7F05B628, "sub_GAME_7F05B628"] - - [0x7F05B798, "sub_GAME_7F05B798"] - - [0x7F05B9B4, "sub_GAME_7F05B9B4"] - - [0x7F05BA08, "sub_GAME_7F05BA08"] - - [0x7F05BC68, "sub_GAME_7F05BC68"] - - [0x7F05BE10, "sub_GAME_7F05BE10"] - - [0x7F05BE88, "sub_GAME_7F05BE88"] - - [0x7F05BF8C, "sub_GAME_7F05BF8C"] - - [0x7F05BFD4, "sub_GAME_7F05BFD4"] - - [0x7F05C068, "sub_GAME_7F05C068"] - - [0x7F05C138, "sub_GAME_7F05C138"] - - [0x7F05C250, "sub_GAME_7F05C250"] - - [0x7F05C2F0, "sub_GAME_7F05C2F0"] - # file asm/game/7F05C360.s - - [0x7F05C360, "truncf"] - - [0x7F05C3D8, "sub_GAME_7F05C3D8"] - # file asm/game/7F05C440.s - - [0x7F05C440, "sub_GAME_7F05C440"] - - [0x7F05C4B8, "sub_GAME_7F05C4B8"] - # file asm/game/7F05C520.s - - [0x7F05C520, "sub_GAME_7F05C520"] - - [0x7F05C52C, "sub_GAME_7F05C52C"] - - [0x7F05C538, "nullsub_73"] - - [0x7F05C540, "sub_GAME_7F05C540"] - - [0x7F05C594, "sub_GAME_7F05C594"] - - [0x7F05C614, "sub_GAME_7F05C614"] - - [0x7F05C6B8, "sub_GAME_7F05C6B8"] - - [0x7F05C6FC, "sub_GAME_7F05C6FC"] - - [0x7F05C8B4, "get_ptr_item_statistics"] - - [0x7F05C8F0, "copy_item_in_hand"] - - [0x7F05C938, "copy_item_in_hand_to_main_list"] - - [0x7F05C980, "unknown_takes_playerhand"] - - [0x7F05CEBC, "sub_GAME_7F05CEBC"] - - [0x7F05CF00, "get_itemtype_in_hand"] - - [0x7F05CF18, "get_ptr_itemheader_in_hand"] - - [0x7F05CF30, "getPlayerWeaponBufferForHand"] - - [0x7F05CF48, "getSizeBufferWeaponInHand"] - - [0x7F05CF5C, "remove_item_in_hand"] - - [0x7F05CFA4, "place_item_in_hand_swap_and_make_visible"] - - [0x7F05D018, "get_ptr_item_text_call_line"] - - [0x7F05D048, "get_ptr_weapon_model_header_line"] - - [0x7F05D078, "getCurrentWeaponOrItem"] - - [0x7F05D088, "used_to_load_1st_person_model_on_demand"] - - [0x7F05D334, "sub_GAME_7F05D334"] - - [0x7F05D434, "get_next_weapon_in_cycle_for_hand"] - - [0x7F05D4E0, "sub_GAME_7F05D4E0"] - - [0x7F05D610, "sub_GAME_7F05D610"] - - [0x7F05D650, "sub_GAME_7F05D650"] - - [0x7F05D690, "sub_GAME_7F05D690"] - - [0x7F05D6D0, "advance_through_inventory"] - - [0x7F05D768, "backstep_through_inventory"] - - [0x7F05D800, "autoadvance_on_deplete_all_ammo"] - - [0x7F05D914, "draw_item_in_hand_has_more_ammo"] - - [0x7F05D964, "attempt_reload_item_in_hand"] - - [0x7F05D9D0, "get_item_in_hand"] - - [0x7F05DA00, "draw_item_in_hand"] - - [0x7F05DA44, "return_ammo_in_hand"] - - [0x7F05DA8C, "sub_GAME_7F05DA8C"] - - [0x7F05DAE4, "sub_GAME_7F05DAE4"] - - [0x7F05DB54, "remove_hands_item"] - - [0x7F05DC88, "get_hands_firing_status"] - - [0x7F05DCB8, "sub_GAME_7F05DCB8"] - - [0x7F05DCE8, "sub_GAME_7F05DCE8"] - - [0x7F05DD38, "sub_GAME_7F05DD38"] - - [0x7F05DDA4, "sub_GAME_7F05DDA4"] - - [0x7F05DE94, "sub_GAME_7F05DE94"] - - [0x7F05DF84, "sub_GAME_7F05DF84"] - - [0x7F05DFA8, "sub_GAME_7F05DFA8"] - - [0x7F05DFCC, "sub_GAME_7F05DFCC"] - - [0x7F05DFF0, "sub_GAME_7F05DFF0"] - - [0x7F05E014, "sub_GAME_7F05E014"] - - [0x7F05E038, "sub_GAME_7F05E038"] - - [0x7F05E05C, "check_if_have_ammo_for_item"] - - [0x7F05E0B4, "check_special_attributes"] - - [0x7F05E0E4, "sub_GAME_7F05E0E4"] - - [0x7F05E5F0, "sub_GAME_7F05E5F0"] - - [0x7F05E664, "get_value_if_watch_is_on_hand_or_not"] - - [0x7F05E6B4, "sub_GAME_7F05E6B4"] - - [0x7F05E808, "sub_GAME_7F05E808"] - - [0x7F05E83C, "sub_GAME_7F05E83C"] - - [0x7F05E978, "sub_GAME_7F05E978"] - - [0x7F05EA94, "sub_GAME_7F05EA94"] - - [0x7F05EB0C, "sub_GAME_7F05EB0C"] - - [0x7F05EC1C, "sub_GAME_7F05EC1C"] - - [0x7F05EE24, "sub_GAME_7F05EE24"] - - [0x7F05F09C, "sub_GAME_7F05F09C"] - - [0x7F05F358, "generate_player_thrown_object"] - - [0x7F05F564, "thrown_item_proximity_mine"] - - [0x7F05F56C, "thrown_item_timed_mine"] - - [0x7F05F574, "thrown_item_bombcase"] - - [0x7F05F57C, "thrown_item_bug"] - - [0x7F05F584, "thrown_item_micro_camera"] - - [0x7F05F58C, "thrown_item_GE_key"] - - [0x7F05F594, "thrown_item_plastique"] - - [0x7F05F598, "create_instance"] - - [0x7F05F5D0, "generate_temp_remote_mine"] - - [0x7F05F5F8, "generate_temp_proximity_mine"] - - [0x7F05F620, "generate_temp_timed_mine"] - - [0x7F05F648, "generate_temp_bombcase"] - - [0x7F05F670, "generate_temp_static_thrown"] - - [0x7F05F67C, "generate_temp_default"] - - [0x7F05F73C, "sub_GAME_7F05F73C"] - - [0x7F05F928, "sub_GAME_7F05F928"] - - [0x7F05FA7C, "sub_GAME_7F05FA7C"] - - [0x7F05FB00, "sub_GAME_7F05FB00"] - - [0x7F05FB64, "sub_GAME_7F05FB64"] - - [0x7F05FFC8, "handles_firing_or_throwing_weapon_in_hand"] - - [0x7F0617B4, "weapon_bullet_type_pistol"] - - [0x7F0617CC, "weapon_bullet_type_none"] - - [0x7F0617D4, "weapon_bullet_type_shotgun_mine"] - - [0x7F061920, "sub_GAME_7F061920"] - - [0x7F061948, "sub_GAME_7F061948"] - - [0x7F061BF4, "sub_GAME_7F061BF4"] - - [0x7F061E18, "sub_GAME_7F061E18"] - - [0x7F062B00, "sub_GAME_7F062B00"] - - [0x7F062BE4, "sub_GAME_7F062BE4"] - - [0x7F063004, "set_enviro_fog_for_items_in_solo_watch_menu"] - - [0x7F0634D8, "sub_GAME_7F0634D8"] - - [0x7F0634FC, "sub_GAME_7F0634FC"] - - [0x7F06351C, "sub_GAME_7F06351C"] - - [0x7F06359C, "sub_GAME_7F06359C"] - - [0x7F064364, "sub_GAME_7F064364"] - - [0x7F0643A0, "sub_GAME_7F0643A0"] - - [0x7F06441C, "recall_joy2_hits_edit_detail_edit_flag"] - - [0x7F064720, "sub_GAME_7F064720"] - - [0x7F064774, "recall_joy2_hits_edit_flag"] - - [0x7F064934, "sub_GAME_7F064934"] - - [0x7F0649AC, "sub_GAME_7F0649AC"] - - [0x7F0649D8, "sub_GAME_7F0649D8"] - - [0x7F064B28, "handle_weapon_id_values_possibly_1st_person_animation"] - - [0x7F064DD0, "Weapon_function_magnum"] - - [0x7F064DF4, "Weapon_function_camera"] - - [0x7F064E54, "Weapon_function_guns"] - - [0x7F064E68, "Weapon_function_throwable_item"] - - [0x7F064E7C, "Weapon_function_hunting_knife"] - - [0x7F064EAC, "Weapon_function_grenades"] - - [0x7F064EEC, "Weapon_function_slapper"] - - [0x7F064F1C, "Weapon_function_throwing_knife"] - - [0x7F064F30, "Weapon_function_tazer"] - - [0x7F064F7C, "Weapon_function_key"] - - [0x7F064F90, "Weapon_function_collectible"] - - [0x7F064FE8, "Weapon_shooting_watch_magnet"] - - [0x7F065034, "Weapon_shooting_pistol"] - - [0x7F0650C4, "Weapon_shooting_machinegun"] - - [0x7F0651D0, "Weapon_shooting_noammo"] - - [0x7F06520C, "Weapon_shooting_tazer"] - - [0x7F06528C, "Weapon_shooting_throwable"] - - [0x7F065E54, "weapon_playsfx_F2"] - - [0x7F065E70, "weapon_playsfx_knife"] - - [0x7F065E8C, "weapon_playsfx_mine"] - - [0x7F065EA8, "weapon_playsfx_gun"] - - [0x7F065EBC, "weapon_switchstyle_NONE"] - - [0x7F0661AC, "weapon_reload_gun_sfx"] - - [0x7F0661C0, "weapon_reload_none_sfx"] - - [0x7F066E64, "sub_GAME_7F066E64"] - - [0x7F066EF8, "get_keyanalyzer_flag"] - - [0x7F066F08, "sub_GAME_7F066F08"] - - [0x7F066FA4, "get_vertical_position_solo_watch_menu_main_page_for_item"] - - [0x7F066FC0, "get_lateral_position_solo_watch_menu_main_page_for_item"] - - [0x7F066FDC, "get_depth_on_solo_watch_menu_page_for_item"] - - [0x7F066FF8, "get_zrotation_solo_watch_menu_for_item"] - - [0x7F067014, "get_xrotation_solo_watch_menu_for_item"] - - [0x7F067030, "get_45_degree_angle"] - - [0x7F067040, "get_ptr_first_title_line_item"] - - [0x7F067074, "get_ptr_second_title_line_item"] - - [0x7F0670A8, "get_ptr_short_watch_text_for_item"] - - [0x7F0670DC, "get_ptr_long_watch_text_for_item"] - - [0x7F067110, "get_45_degree_angle_0"] - - [0x7F067120, "get_horizontal_offset_on_solo_watch_menu_for_item"] - - [0x7F06713C, "get_vertical_offset_on_solo_watch_menu_for_item"] - - [0x7F067158, "get_depth_offset_solo_watch_menu_inventory_page_for_item"] - - [0x7F067174, "sub_GAME_7F067174"] - - [0x7F0671A4, "sub_GAME_7F0671A4"] - - [0x7F0673B4, "sub_GAME_7F0673B4"] - - [0x7F067420, "sub_GAME_7F067420"] - - [0x7F067AA4, "sub_GAME_7F067AA4"] - - [0x7F067AB4, "sub_GAME_7F067AB4"] - - [0x7F067B4C, "sub_GAME_7F067B4C"] - - [0x7F067B94, "caclulate_gun_crosshair_position_rotation"] - - [0x7F067F58, "sub_GAME_7F067F58"] - - [0x7F067FBC, "sub_GAME_7F067FBC"] - - [0x7F068008, "sub_GAME_7F068008"] - - [0x7F06802C, "sub_GAME_7F06802C"] - - [0x7F0680D4, "sub_GAME_7F0680D4"] - - [0x7F068190, "sub_GAME_7F068190"] - - [0x7F0681CC, "sub_GAME_7F0681CC"] - - [0x7F068420, "sub_GAME_7F068420"] - - [0x7F068508, "sub_GAME_7F068508"] - - [0x7F068D20, "sub_GAME_7F068D20"] - - [0x7F068E6C, "sub_GAME_7F068E6C"] - - [0x7F068EC4, "sub_GAME_7F068EC4"] - - [0x7F06908C, "sub_GAME_7F06908C"] - - [0x7F0690F4, "set_unset_ammo_on_screen_setting"] - - [0x7F069130, "give_cur_player_ammo"] - - [0x7F069240, "check_cur_player_ammo_amount_in_inventory"] - - [0x7F069258, "check_cur_player_ammo_amount_total"] - - [0x7F0692D4, "get_max_ammo_for_type"] - - [0x7F0692F0, "set_max_ammo_for_cur_player"] - - [0x7F069344, "get_ammo_in_hands_magazine"] - - [0x7F069374, "get_ammo_in_hands_weapon"] - - [0x7F06942C, "get_ammo_type_for_weapon"] - - [0x7F069450, "get_ammo_count_for_weapon"] - - [0x7F069484, "add_ammo_to_weapon"] - - [0x7F0694B0, "get_max_ammo_for_weapon"] - - [0x7F0694E8, "microcode_generation_ammo_related"] - - [0x7F0699E4, "set_rgba_redirect_generate_microcode"] - - [0x7F069A50, "some_kind_of_display_routine"] - - [0x7F069C8C, "display_ammo_total_in_a1"] - - [0x7F069CF4, "generate_ammo_total_microcode"] - - [0x7F06A334, "sub_GAME_7F06A334"] - - [0x7F06A5A8, "set_unset_bitflags"] - - [0x7F06A5E4, "sub_GAME_7F06A5E4"] - - [0x7F06A6F8, "inc_curplayer_hitcount_with_weapon"] - - [0x7F06A740, "get_curplayer_shot_register"] - - [0x7F06A758, "inc_cur_civilian_casualties"] - - [0x7F06A770, "get_civilian_casualties"] - - [0x7F06A780, "increment_num_kills_display_text_in_MP"] - - [0x7F06A924, "get_curplay_killcount"] - - [0x7F06A934, "increment_num_times_killed_MwtGC"] - - [0x7F06A94C, "get_times_killed_mwtgx"] - - [0x7F06A95C, "increment_num_deaths"] - - [0x7F06AA08, "get_curplayer_numdeaths"] - - [0x7F06AA18, "increment_num_suicides_display_MP"] - - [0x7F06ABA0, "get_curplayer_numsuicides"] - - [0x7F06ABB0, "sub_GAME_7F06ABB0"] - - [0x7F06AFE8, "display_image_at_on_screen_coord"] - # file asm/game/7F06B120.s - - [0x7F06B120, "sub_GAME_7F06B120"] - - [0x7F06B188, "def_7F06B16C"] - - [0x7F06B248, "sub_GAME_7F06B248"] - - [0x7F06B29C, "sub_GAME_7F06B29C"] - - [0x7F06B6A4, "def_7F06B2F4"] - - [0x7F06BB28, "sub_GAME_7F06BB28"] - - [0x7F06BC0C, "drawjointlist"] - - [0x7F06BD68, "def_7F06BD3C"] - - [0x7F06BE00, "probably_damage_detail_blood_effect_related"] - - [0x7F06BFC8, "def_7F06BEEC"] - - [0x7F06C010, "sub_GAME_7F06C010"] - - [0x7F06C060, "sub_GAME_7F06C060"] - - [0x7F06C094, "get_obj_instance_controller_for_header"] - - [0x7F06C234, "set_obj_instance_scale_to_zero"] - - [0x7F06C23C, "get_aircraft_obj_instance_controller"] - - [0x7F06C3B4, "sub_GAME_7F06C3B4"] - - [0x7F06C3F8, "set_aircraft_obj_inst_scale_to_zero"] - - [0x7F06C400, "set_80036084"] - - [0x7F06C40C, "set_float_80036088"] - - [0x7F06C418, "sub_GAME_7F06C418"] - - [0x7F06C460, "set_8003608C"] - - [0x7F06C46C, "return_null"] - - [0x7F06C474, "sub_GAME_7F06C474"] - - [0x7F06C550, "sub_GAME_7F06C550"] - - [0x7F06C570, "sub_GAME_7F06C570"] - - [0x7F06C660, "sub_GAME_7F06C660"] - - [0x7F06C6A0, "getsubmatrix"] - - [0x7F06C710, "sub_GAME_7F06C710"] - - [0x7F06C768, "sub_GAME_7F06C768"] - - [0x7F06C79C, "extract_id_from_object_structure_microcode"] - - [0x7F06C840, "def_7F06C7D0"] - - [0x7F06C898, "getpartoffset"] - - [0x7F06C9D0, "setpartoffset"] - - [0x7F06CB98, "getsuboffset"] - - [0x7F06CC0C, "setsuboffset"] - - [0x7F06CC80, "getsubroty"] - - [0x7F06CD3C, "setsubroty"] - - [0x7F06CE78, "set_obj_instance_controller_scale"] - - [0x7F06CE84, "sub_GAME_7F06CE84"] - - [0x7F06CE90, "getjointsize"] - - [0x7F06CFE8, "def_7F06CEF0"] - - [0x7F06D00C, "getinstsize"] - - [0x7F06D07C, "sub_GAME_7F06D07C"] - - [0x7F06D0CC, "sub_GAME_7F06D0CC"] - - [0x7F06D160, "sub_GAME_7F06D160"] - - [0x7F06D1CC, "sub_GAME_7F06D1CC"] - - [0x7F06D2E4, "sub_GAME_7F06D2E4"] - - [0x7F06D3F4, "sub_GAME_7F06D3F4"] - - [0x7F06D490, "sub_GAME_7F06D490"] - - [0x7F06D6B0, "subcalcpos"] - - [0x7F06D738, "process_01_group_heading"] - - [0x7F06D8B0, "sub_GAME_7F06D8B0"] - - [0x7F06DB5C, "sub_GAME_7F06DB5C"] - - [0x7F06DE04, "sub_GAME_7F06DE04"] - - [0x7F06DEC0, "sub_GAME_7F06DEC0"] - - [0x7F06E0A0, "process_02_position"] - - [0x7F06E2B8, "sub_GAME_7F06E2B8"] - - [0x7F06E540, "sub_GAME_7F06E540"] - - [0x7F06E64C, "process_03_unknown"] - - [0x7F06E7A8, "process_15_subposition"] - - [0x7F06E858, "process_08_distance_triggers"] - - [0x7F06E970, "sub_GAME_7F06E970"] - - [0x7F06E9BC, "process_12_handle_switch"] - - [0x7F06EA08, "process_17_pointer_to_head"] - - [0x7F06EA54, "sub_GAME_7F06EA54"] - - [0x7F06EB10, "sub_GAME_7F06EB10"] - - [0x7F06EB3C, "process_09_head_hat_placement_interlink"] - - [0x7F06ECF8, "process_07_unknown"] - - [0x7F06EEA4, "sub_GAME_7F06EEA4"] - - [0x7F06EF4C, "def_7F06EEF4"] - - [0x7F06EFC4, "sub_GAME_7F06EFC4"] - - [0x7F06F078, "def_7F06F00C"] - - [0x7F06F0D0, "sub_GAME_7F06F0D0"] - - [0x7F06F1EC, "def_7F06F120"] - - [0x7F06F248, "instcalcmatrices"] - - [0x7F06F2F8, "subcalcmatrices"] - - [0x7F06F5AC, "sub_GAME_7F06F5AC"] - - [0x7F06F5B4, "sub_GAME_7F06F5B4"] - - [0x7F06F5BC, "sub_GAME_7F06F5BC"] - - [0x7F06F5C4, "sub_GAME_7F06F5C4"] - - [0x7F06F610, "sub_GAME_7F06F610"] - - [0x7F06F618, "sub_GAME_7F06F618"] - - [0x7F06F640, "sub_GAME_7F06F640"] - - [0x7F06F66C, "sub_GAME_7F06F66C"] - - [0x7F06F780, "sub_GAME_7F06F780"] - - [0x7F06F878, "sub_GAME_7F06F878"] - - [0x7F06FC4C, "sub_GAME_7F06FC4C"] - - [0x7F06FCA8, "sub_GAME_7F06FCA8"] - - [0x7F06FCFC, "sub_GAME_7F06FCFC"] - - [0x7F06FDCC, "sub_GAME_7F06FDCC"] - - [0x7F06FDE8, "sub_GAME_7F06FDE8"] - - [0x7F06FE3C, "sub_GAME_7F06FE3C"] - - [0x7F06FE44, "sub_GAME_7F06FE44"] - - [0x7F06FE4C, "sub_GAME_7F06FE4C"] - - [0x7F06FE90, "sub_GAME_7F06FE90"] - - [0x7F06FF18, "sub_GAME_7F06FF18"] - - [0x7F06FF5C, "sub_GAME_7F06FF5C"] - - [0x7F06FF64, "sub_GAME_7F06FF64"] - - [0x7F070090, "sub_GAME_7F070090"] - - [0x7F0701D4, "sub_GAME_7F0701D4"] - - [0x7F0701E0, "sub_GAME_7F0701E0"] - - [0x7F0701EC, "sub_GAME_7F0701EC"] - - [0x7F070AEC, "sub_GAME_7F070AEC"] - - [0x7F070F80, "sub_GAME_7F070F80"] - - [0x7F071030, "sub_GAME_7F071030"] - - [0x7F071B44, "sub_GAME_7F071B44"] - - [0x7F072644, "sub_GAME_7F072644"] - - [0x7F0726F8, "sub_GAME_7F0726F8"] - - [0x7F072784, "sub_GAME_7F072784"] - - [0x7F072984, "sub_GAME_7F072984"] - - [0x7F072C10, "sub_GAME_7F072C10"] - - [0x7F072C20, "dorottex"] - - [0x7F073038, "sub_GAME_7F073038"] - - [0x7F07306C, "sub_GAME_7F07306C"] - - [0x7F07307C, "dotube"] - - [0x7F0737EC, "sub_GAME_7F0737EC"] - - [0x7F0737FC, "sub_GAME_7F0737FC"] - - [0x7F07380C, "dogfnegx"] - - [0x7F073FC8, "sub_GAME_7F073FC8"] - - [0x7F073FD4, "doshadow"] - - [0x7F074514, "sub_GAME_7F074514"] - - [0x7F074524, "sub_GAME_7F074524"] - - [0x7F074534, "sub_GAME_7F074534"] - - [0x7F074674, "def_7F074564"] - - [0x7F074684, "subdraw"] - - [0x7F074790, "sub_GAME_7F074790"] - - [0x7F0747D0, "sub_GAME_7F0747D0"] - - [0x7F074C68, "sub_GAME_7F074C68"] - - [0x7F074CAC, "sub_GAME_7F074CAC"] - - [0x7F0752FC, "sub_GAME_7F0752FC"] - - [0x7F075470, "def_7F0753C4"] - - [0x7F07549C, "sub_GAME_7F07549C"] - - [0x7F0754BC, "sub_GAME_7F0754BC"] - - [0x7F0755B0, "sub_GAME_7F0755B0"] - - [0x7F0755DC, "convert_obj_microcode_offset_to_rdram_addr"] - - [0x7F075A44, "def_7F075670"] - - [0x7F075A90, "sub_GAME_7F075A90"] - - [0x7F075B08, "sub_GAME_7F075B08"] - - [0x7F075B1C, "set_microcode_entry_numbers"] - - [0x7F075C84, "def_7F075B60"] - - [0x7F075CF4, "set_objuse_flag_compute_grp_nums_set_obj_loaded"] - - [0x7F075D2C, "unknown_object_microcode_handler"] - - [0x7F075EF4, "def_7F075D80"] - - [0x7F075F68, "sub_GAME_7F075F68"] - - [0x7F075FAC, "sub_GAME_7F075FAC"] - - [0x7F076030, "sub_GAME_7F076030"] - - [0x7F0760C4, "sub_GAME_7F0760C4"] - - [0x7F0761CC, "def_7F076120"] - - [0x7F07623C, "sub_GAME_7F07623C"] - - [0x7F0762E0, "sub_GAME_7F0762E0"] - - [0x7F0764A4, "load_object_fill_header"] - - [0x7F07654C, "load_object_into_memory"] - - [0x7F076574, "load_object_into_memory_unused_maybe"] - # file asm/game/7F0765A0.s - - [0x7F0765A0, "is_less_than_certain_power_of_2"] - - [0x7F076648, "ceil8000"] - - [0x7F0766AC, "ceil4000"] - - [0x7F076710, "ceil2000"] - - [0x7F076774, "ceil1000"] - - [0x7F0767D8, "sub_GAME_7F0767D8"] - - [0x7F076848, "sub_GAME_7F076848"] - - [0x7F0768B8, "sub_GAME_7F0768B8"] - - [0x7F076928, "sub_GAME_7F076928"] - - [0x7F076998, "generate_microcode_for_othermode_setting"] - - [0x7F076D68, "likely_generate_DL_for_image_declaration"] - - [0x7F077BB8, "sub_GAME_7F077BB8"] - # file asm/game/7F077BD0.s - - [0x7F077BD0, "nullsub_75"] - - [0x7F077BD8, "set_BONDdata_screensize"] - - [0x7F077C14, "sub_GAME_7F077C14"] - - [0x7F077C30, "sub_GAME_7F077C30"] - - [0x7F077C5C, "sub_GAME_7F077C5C"] - - [0x7F077EEC, "sub_GAME_7F077EEC"] - - [0x7F077FB4, "sub_GAME_7F077FB4"] - - [0x7F077FF4, "sub_GAME_7F077FF4"] - - [0x7F078060, "sub_GAME_7F078060"] - - [0x7F0780F0, "sub_GAME_7F0780F0"] - - [0x7F078140, "sub_GAME_7F078140"] - - [0x7F078258, "sub_GAME_7F078258"] - - [0x7F078324, "set_BONDdata_field_10C4"] - - [0x7F078334, "get_BONDdata_field_10C4"] - - [0x7F078344, "set_BONDdata_field_10C8"] - - [0x7F078354, "get_BONDdata_field_10C8"] - - [0x7F078364, "set_BONDdata_field_10D8"] - - [0x7F078374, "get_BONDdata_field_10D8"] - - [0x7F078384, "set_BONDdata_field_10E0"] - - [0x7F078394, "get_BONDdata_field_10E0"] - - [0x7F0783A4, "copy_BONDdata_field_10CC_to_10E8_set_10CC"] - - [0x7F0783C4, "get_BONDdata_field_10CC"] - - [0x7F0783D4, "set_BONDdata_field_10DC"] - - [0x7F0783E4, "get_BONDdata_field_10DC"] - - [0x7F0783F4, "sub_GAME_7F0783F4"] - - [0x7F078404, "sub_GAME_7F078404"] - - [0x7F078414, "sub_GAME_7F078414"] - - [0x7F078424, "sub_GAME_7F078424"] - - [0x7F078444, "sub_GAME_7F078444"] - - [0x7F078454, "sub_GAME_7F078454"] - - [0x7F078464, "sub_GAME_7F078464"] - - [0x7F078474, "sub_GAME_7F078474"] - - [0x7F078484, "sub_GAME_7F078484"] - - [0x7F078494, "sub_GAME_7F078494"] - - [0x7F0784A4, "sub_GAME_7F0784A4"] - - [0x7F0784B4, "sub_GAME_7F0784B4"] - - [0x7F0784C4, "sub_GAME_7F0784C4"] - - [0x7F0784D4, "sub_GAME_7F0784D4"] - - [0x7F0784E4, "sub_GAME_7F0784E4"] - - [0x7F0784F4, "sub_GAME_7F0784F4"] - - [0x7F078504, "sub_GAME_7F078504"] - - [0x7F078534, "sub_GAME_7F078534"] - - [0x7F078568, "sub_GAME_7F078568"] - - [0x7F078598, "sub_GAME_7F078598"] - - [0x7F0785CC, "sub_GAME_7F0785CC"] - - [0x7F0785DC, "sub_GAME_7F0785DC"] - - [0x7F078950, "sub_GAME_7F078950"] - - [0x7F078980, "sub_GAME_7F078980"] - - [0x7F0789B0, "sub_GAME_7F0789B0"] - - [0x7F0789E0, "sub_GAME_7F0789E0"] - - [0x7F078A10, "sub_GAME_7F078A10"] - - [0x7F078A58, "sub_GAME_7F078A58"] - - [0x7F078BF4, "sub_GAME_7F078BF4"] - - [0x7F0790F0, "sub_GAME_7F0790F0"] - - [0x7F0793EC, "init_player_BONDdata"] - - [0x7F0798B8, "sub_GAME_7F0798B8"] - - [0x7F079988, "sub_GAME_7F079988"] - - [0x7F0799AC, "change_crouch_position"] - - [0x7F0799F0, "sub_GAME_7F0799F0"] - - [0x7F079A1C, "sub_GAME_7F079A1C"] - - [0x7F079A50, "setptrBONDdata"] - - [0x7F079A60, "sub_GAME_7F079A60"] - - [0x7F079CF0, "solo_char_load"] - - [0x7F079E00, "cuff_3_boiler"] - - [0x7F079E0C, "cuff_2_jungle"] - - [0x7F079E18, "cuff_4_snowsuit"] - - [0x7F079E24, "cuff_1_brosnan"] - - [0x7F079E30, "cuff_5_connery"] - - [0x7F079E3C, "cuff_6_moore"] - - [0x7F079E48, "cuff_7_dalton"] - - [0x7F079E54, "cuff_8_variable_bond_head"] - - [0x7F079EF4, "boiler_bond_head_set"] - - [0x7F079F00, "jungle_head_set"] - - [0x7F079F0C, "brosnan_tux_head_set"] - - [0x7F079F18, "connery_head_set"] - - [0x7F079F24, "moore_head_set"] - - [0x7F079F30, "dalton_head_set"] - - [0x7F079F3C, "variable_body_head"] - - [0x7F07A4A0, "maybe_solo_intro_camera_handler"] - - [0x7F07A528, "get_camera_mode"] - - [0x7F07A534, "sub_GAME_7F07A534"] - - [0x7F07A9B8, "set_camera_mode"] - - [0x7F07B1A4, "sub_GAME_7F07B1A4"] - - [0x7F07B2A0, "sub_GAME_7F07B2A0"] - - [0x7F07B56C, "sub_GAME_7F07B56C"] - - [0x7F07C540, "sub_GAME_7F07C540"] - - [0x7F07C550, "set_BONDdata_lookahead_setting"] - - [0x7F07C560, "get_BONDdata_lookahead_setting"] - - [0x7F07C570, "set_BONDdata_autoaim_y"] - - [0x7F07C580, "get_BONDdata_autoaim_y"] - - [0x7F07C5C0, "redirect_get_BONDdata_autoaim_y"] - - [0x7F07C5E0, "get_BONDdata_is_aiming"] - - [0x7F07C5F0, "sub_GAME_7F07C5F0"] - - [0x7F07C658, "set_BONDdata_autoaim_x"] - - [0x7F07C668, "get_BONDdata_autoaim_x"] - - [0x7F07C6A8, "redirect_get_BONDdata_autoaim_x"] - - [0x7F07C6C8, "sub_GAME_7F07C6C8"] - - [0x7F07C730, "change_player_pos_to_target"] - - [0x7F07C7B4, "sub_GAME_7F07C7B4"] - - [0x7F07C888, "sub_GAME_7F07C888"] - - [0x7F07CA2C, "sub_GAME_7F07CA2C"] - - [0x7F07CAC8, "sub_GAME_7F07CAC8"] - - [0x7F07CDA8, "sub_GAME_7F07CDA8"] - - [0x7F07CDD4, "sub_GAME_7F07CDD4"] - - [0x7F07CE78, "get_intank_flag"] - - [0x7F07CE84, "get_ptr_for_players_tank"] - - [0x7F07CEB0, "sub_GAME_7F07CEB0"] - - [0x7F07CF80, "sub_GAME_7F07CF80"] - - [0x7F07CF8C, "cal_player_collision"] - - [0x7F07D234, "sub_GAME_7F07D234"] - - [0x7F07D2B4, "sub_GAME_7F07D2B4"] - - [0x7F07D4C0, "sub_GAME_7F07D4C0"] - - [0x7F07D61C, "sub_GAME_7F07D61C"] - - [0x7F07D954, "sub_GAME_7F07D954"] - - [0x7F07D960, "sub_GAME_7F07D960"] - - [0x7F07DE64, "sub_GAME_7F07DE64"] - - [0x7F07DE9C, "sub_GAME_7F07DE9C"] - - [0x7F07DEFC, "sub_GAME_7F07DEFC"] - - [0x7F07DF28, "sub_GAME_7F07DF28"] - - [0x7F07E010, "sub_GAME_7F07E010"] - - [0x7F07E03C, "sub_GAME_7F07E03C"] - - [0x7F07E068, "sub_GAME_7F07E068"] - - [0x7F07E090, "sub_GAME_7F07E090"] - - [0x7F07E388, "sub_GAME_7F07E388"] - - [0x7F07E400, "trigger_watch_zoom"] - - [0x7F07E438, "sub_GAME_7F07E438"] - - [0x7F07E46C, "sub_GAME_7F07E46C"] - - [0x7F07E504, "sub_GAME_7F07E504"] - - [0x7F07E52C, "zoom_to_watch_on_open"] - - [0x7F07E594, "zoom_from_watch_on_exit"] - - [0x7F07E5FC, "check_watch_page_transistion_running"] - - [0x7F07E62C, "sub_GAME_7F07E62C"] - - [0x7F07E740, "sub_GAME_7F07E740"] - - [0x7F07E7CC, "sub_GAME_7F07E7CC"] - - [0x7F07E8B0, "sub_GAME_7F07E8B0"] - - [0x7F07E910, "sub_GAME_7F07E910"] - - [0x7F07E964, "sub_GAME_7F07E964"] - - [0x7F07EA78, "sub_GAME_7F07EA78"] - - [0x7F07EAD0, "set_BONDdata_paused_flag"] - - [0x7F07EAE0, "get_BONDdata_paused_flag"] - - [0x7F07EAF0, "sub_GAME_7F07EAF0"] - - [0x7F07EC54, "sub_GAME_7F07EC54"] - - [0x7F07F860, "setptrBONDdataUnk1D0to1"] - - [0x7F07F874, "trigger_solo_watch_menu"] - - [0x7F07FCC4, "sub_GAME_7F07FCC4"] - - [0x7F07FE1C, "sub_GAME_7F07FE1C"] - - [0x7F07FF74, "sub_GAME_7F07FF74"] - - [0x7F080010, "sub_GAME_7F080010"] - - [0x7F080228, "sub_GAME_7F080228"] - - [0x7F0802C4, "sub_GAME_7F0802C4"] - - [0x7F0804E0, "sub_GAME_7F0804E0"] - - [0x7F0807B0, "sub_GAME_7F0807B0"] - - [0x7F0807E0, "sub_GAME_7F0807E0"] - - [0x7F080858, "fade_to_over_seconds"] - - [0x7F08088C, "check_if_fade_to_black_complete"] - - [0x7F0808BC, "sub_GAME_7F0808BC"] - - [0x7F080A10, "set_curplayer_fade"] - - [0x7F080A80, "update_curplayer_fade"] - - [0x7F080B34, "sub_GAME_7F080B34"] - - [0x7F080D60, "sub_GAME_7F080D60"] - - [0x7F080DF8, "sub_GAME_7F080DF8"] - - [0x7F081478, "sub_GAME_7F081478"] - - [0x7F081790, "sub_GAME_7F081790"] - - [0x7F081974, "controller_gameplay_interaction"] - - [0x7F083FC8, "sub_GAME_7F083FC8"] - - [0x7F084360, "sub_GAME_7F084360"] - - [0x7F084648, "MoveBond"] - - [0x7F086990, "sub_GAME_7F086990"] - - [0x7F086BF8, "getWidth320or440"] - - [0x7F086C1C, "getHeight330or240"] - - [0x7F086C40, "get_curplayer_viewport_width"] - - [0x7F086CC4, "get_curplayer_viewport_ulx"] - - [0x7F086D24, "get_curplayer_viewport_height"] - - [0x7F086E38, "get_curplayer_viewport_uly"] - - [0x7F086F9C, "possibly_reset_viewport_options_for_player"] - - [0x7F0875E4, "sub_GAME_7F0875E4"] - - [0x7F087664, "store_BONDdata_curpos_to_previous"] - - [0x7F0876C4, "sub_GAME_7F0876C4"] - - [0x7F087A08, "sub_GAME_7F087A08"] - - [0x7F087C14, "seems_to_load_cuff_microcode"] - - [0x7F087E74, "sub_GAME_7F087E74"] - - [0x7F088618, "sub_GAME_7F088618"] - - [0x7F0888E8, "mp_respawn_handler"] - - [0x7F088BE8, "mp_spawntype_spawn"] - - [0x7F088BF0, "mp_spawntype_weapon"] - - [0x7F088C30, "mp_spawntype_ammo"] - - [0x7F088C58, "mp_spawntype_intro_swirly"] - - [0x7F088C60, "mp_spawntype_intro_anim"] - - [0x7F088C68, "mp_spawntype_handcuff"] - - [0x7F088C70, "mp_spawntype_intro_camera"] - - [0x7F088C78, "mp_spawntype_default"] - - [0x7F088CD8, "sub_GAME_7F088CD8"] - - [0x7F089208, "maybe_mp_interface"] - - [0x7F0896C0, "write_stan_tiles_in_yellow"] - - [0x7F089718, "sub_GAME_7F089718"] - - [0x7F08976C, "sub_GAME_7F08976C"] - - [0x7F089778, "sub_GAME_7F089778"] - - [0x7F089780, "sub_GAME_7F089780"] - - [0x7F089798, "get_curplayer_positiondata"] - - [0x7F0897A8, "kill_current_player"] - - [0x7F0898E8, "sub_GAME_7F0898E8"] - - [0x7F08991C, "record_damage_kills"] - - [0x7F089E4C, "sub_GAME_7F089E4C"] - - [0x7F089EA4, "check_if_bond_is_invincible"] - - [0x7F089EBC, "check_if_healthbar_timer_greater_than_0"] - - [0x7F089ED4, "get_BONDdata_bondfadefracnew"] - - [0x7F089EE4, "get_curplay_horizontal_rotation_in_degrees"] - - [0x7F089F10, "get_curplay_vertical_rotation_in_degrees"] - - [0x7F089F38, "sub_GAME_7F089F38"] - - [0x7F089F48, "set_bondata_invincible_flag"] - - [0x7F089F58, "get_bondata_invincible_flag"] - - [0x7F089F68, "set_invisible_to_guards_flag"] - - [0x7F089F74, "get_invisible_to_guards_flag"] - - [0x7F089F80, "set_obj_collision_flag"] - - [0x7F089F8C, "get_obj_collision_flag"] - - [0x7F089F98, "get_cur_players_room"] - - [0x7F089FD4, "get_BONDdata_position"] - - [0x7F08A000, "get_BONDdata_position3"] - - [0x7F08A02C, "get_BONDdata_field408"] - - [0x7F08A03C, "sub_GAME_7F08A03C"] - - [0x7F08A0B0, "sub_GAME_7F08A0B0"] - - [0x7F08A19C, "sub_GAME_7F08A19C"] - - [0x7F08A274, "sub_GAME_7F08A274"] - - [0x7F08A2EC, "get_BONDdata_watch_health"] - - [0x7F08A2FC, "get_BONDdata_watch_armor"] - - [0x7F08A30C, "add_BONDdata_watch_armor"] - - [0x7F08A330, "reset_intro_camera_message_dialogs_for_BONDdata"] - - [0x7F08A380, "unset_flags_in_BONDdata_stationary_intro_cam"] - - [0x7F08A39C, "set_flags_in_BONDdata_stationary_intro_cam"] - - [0x7F08A3B4, "sub_GAME_7F08A3B4"] - - [0x7F08A3C8, "display_string_in_lower_left_corner"] - - [0x7F08A4E4, "sub_GAME_7F08A4E4"] - - [0x7F08A5FC, "sub_GAME_7F08A5FC"] - - [0x7F08A900, "sub_GAME_7F08A900"] - - [0x7F08A928, "sub_GAME_7F08A928"] - - [0x7F08A944, "sub_GAME_7F08A944"] - - [0x7F08A95C, "display_string_at_top_of_screen"] - - [0x7F08A9F8, "sub_GAME_7F08A9F8"] - - [0x7F08AAE8, "sub_GAME_7F08AAE8"] - - [0x7F08B0F0, "sub_GAME_7F08B0F0"] - - [0x7F08BCB8, "sub_GAME_7F08BCB8"] - - [0x7F08BCC0, "sub_GAME_7F08BCC0"] - - [0x7F08BCF4, "sub_GAME_7F08BCF4"] - - [0x7F08BD18, "sub_GAME_7F08BD18"] - - [0x7F08BD48, "sub_GAME_7F08BD48"] - - [0x7F08BDC4, "sub_GAME_7F08BDC4"] - - [0x7F08BE2C, "sub_GAME_7F08BE2C"] - - [0x7F08BEEC, "sub_GAME_7F08BEEC"] - - [0x7F08BFB8, "sub_GAME_7F08BFB8"] - - [0x7F08BFC4, "trigger_explosions_around_player"] - - [0x7F08BFF0, "reinit_BONDdata_inventory"] - - [0x7F08C054, "sub_GAME_7F08C054"] - - [0x7F08C194, "add_additional_weapon_slot_to_player_inventory_guess"] - - [0x7F08C1FC, "reorder_inventory_ptrs_based_on_id_code"] - - [0x7F08C244, "get_ptr_next_available_weapon"] - - [0x7F08C29C, "set_BONDdata_allguns_flag"] - - [0x7F08C2AC, "get_BONDdata_allguns_flag"] - - [0x7F08C2BC, "get_ptr_inventory_item"] - - [0x7F08C314, "is_weapon_in_inv"] - - [0x7F08C338, "get_ptr_inventory_for_item_in_hand"] - - [0x7F08C39C, "is_item_for_hand_in_inventory"] - - [0x7F08C3C0, "check_if_item_available"] - - [0x7F08C40C, "check_if_item_for_hand_available"] - - [0x7F08C488, "add_item_to_inventory"] - - [0x7F08C50C, "add_doubles_item_to_inventory"] - - [0x7F08C570, "sub_GAME_7F08C570"] - - [0x7F08C61C, "sub_GAME_7F08C61C"] - - [0x7F08C724, "sub_GAME_7F08C724"] - - [0x7F08C764, "sub_GAME_7F08C764"] - - [0x7F08C86C, "sub_GAME_7F08C86C"] - - [0x7F08CB10, "sub_GAME_7F08CB10"] - - [0x7F08CE70, "sub_GAME_7F08CE70"] - - [0x7F08CF0C, "sub_GAME_7F08CF0C"] - - [0x7F08CF80, "sub_GAME_7F08CF80"] - - [0x7F08CFC0, "checkforgoldengun"] - - [0x7F08CFE0, "sub_GAME_7F08CFE0"] - - [0x7F08D038, "sub_GAME_7F08D038"] - - [0x7F08D108, "sub_GAME_7F08D108"] - - [0x7F08D21C, "sub_GAME_7F08D21C"] - - [0x7F08D25C, "sub_GAME_7F08D25C"] - - [0x7F08D2A8, "sub_GAME_7F08D2A8"] - - [0x7F08D340, "sub_GAME_7F08D340"] - - [0x7F08D434, "sub_GAME_7F08D434"] - - [0x7F08D528, "sub_GAME_7F08D528"] - - [0x7F08D550, "sub_GAME_7F08D550"] - - [0x7F08D578, "sub_GAME_7F08D578"] - - [0x7F08D5A0, "sub_GAME_7F08D5A0"] - - [0x7F08D5C8, "sub_GAME_7F08D5C8"] - - [0x7F08D6BC, "sub_GAME_7F08D6BC"] - - [0x7F08D7B0, "sub_GAME_7F08D7B0"] - - [0x7F08D7D8, "sub_GAME_7F08D7D8"] - - [0x7F08D800, "sub_GAME_7F08D800"] - - [0x7F08D828, "sub_GAME_7F08D828"] - - [0x7F08D850, "sub_GAME_7F08D850"] - - [0x7F08D878, "sub_GAME_7F08D878"] - - [0x7F08D8A0, "sub_GAME_7F08D8A0"] - - [0x7F08D8C0, "sub_GAME_7F08D8C0"] - - [0x7F08D8D0, "sub_GAME_7F08D8D0"] - - [0x7F08D8E0, "sub_GAME_7F08D8E0"] - - [0x7F08D95C, "sub_GAME_7F08D95C"] - - [0x7F08D9A4, "sub_GAME_7F08D9A4"] - - [0x7F08D9EC, "sub_GAME_7F08D9EC"] - - [0x7F08DB08, "sub_GAME_7F08DB08"] - # file asm/game/7F08DBB0.s - - [0x7F08DBB0, "sub_GAME_7F08DBB0"] - - [0x7F08DBC8, "sub_GAME_7F08DBC8"] - - [0x7F08DE48, "sub_GAME_7F08DE48"] - - [0x7F08DF44, "sub_GAME_7F08DF44"] - - [0x7F08E164, "sub_GAME_7F08E164"] - - [0x7F08E240, "sub_GAME_7F08E240"] - - [0x7F08E8BC, "sub_GAME_7F08E8BC"] - - [0x7F08EA48, "sub_GAME_7F08EA48"] - - [0x7F08EAB8, "sub_GAME_7F08EAB8"] - - [0x7F08EAF8, "sub_GAME_7F08EAF8"] - - [0x7F08EBD0, "sub_GAME_7F08EBD0"] - - [0x7F08EC8C, "sub_GAME_7F08EC8C"] - - [0x7F08ED60, "sub_GAME_7F08ED60"] - - [0x7F08EDB4, "sub_GAME_7F08EDB4"] - - [0x7F08EE00, "sub_GAME_7F08EE00"] - - [0x7F08EE70, "sub_GAME_7F08EE70"] - - [0x7F08EF1C, "sub_GAME_7F08EF1C"] - - [0x7F08EFA0, "sub_GAME_7F08EFA0"] - - [0x7F08F090, "sub_GAME_7F08F090"] - - [0x7F08F0E8, "sub_GAME_7F08F0E8"] - - [0x7F08F138, "sub_GAME_7F08F138"] - - [0x7F08F1D8, "sub_GAME_7F08F1D8"] - - [0x7F08F2CC, "sub_GAME_7F08F2CC"] - - [0x7F08F350, "sub_GAME_7F08F350"] - - [0x7F08F438, "sub_GAME_7F08F438"] - - [0x7F08F4F0, "sub_GAME_7F08F4F0"] - - [0x7F08F67C, "sub_GAME_7F08F67C"] - - [0x7F08F6B0, "sub_GAME_7F08F6B0"] - - [0x7F08F908, "sub_GAME_7F08F908"] - - [0x7F08FB90, "sub_GAME_7F08FB90"] - - [0x7F08FD1C, "sub_GAME_7F08FD1C"] - # file asm/game/7F08FE00.s - - [0x7F08FE00, "nullsub_32"] - - [0x7F08FE08, "sub_GAME_7F08FE08"] - - [0x7F08FE14, "init_debug_menu_values"] - - [0x7F08FE74, "print_debug_mcm_to_stdout"] - - [0x7F09000C, "sub_GAME_7F09000C"] - - [0x7F0901B0, "get_highlighted_debug_option"] - - [0x7F0901BC, "sub_GAME_7F0901BC"] - - [0x7F0901C8, "sub_GAME_7F0901C8"] - - [0x7F090248, "sub_GAME_7F090248"] - - [0x7F0902C0, "sub_GAME_7F0902C0"] - - [0x7F09039C, "sub_GAME_7F09039C"] - # file asm/game/7F090490.s - - [0x7F090490, "display_debug_menu_text_onscreen"] - - [0x7F0904C4, "dbgStanViewProcess"] - - [0x7F090508, "dbgBondViewProcess"] - - [0x7F09054C, "sub_GAME_7F09054C"] - - [0x7F090590, "removed_do_debug_profile_flag_false"] - - [0x7F090598, "removed_do_debug_profile_flag_true"] - - [0x7F0905A0, "debug_menu_processor"] - - [0x7F090778, "debug_stanview"] - - [0x7F090788, "debug_bondview"] - - [0x7F0907A8, "debug_level"] - - [0x7F0907D0, "debug_scale"] - - [0x7F0907E4, "debug_selectanim"] - - [0x7F0907F8, "debug_gunpos"] - - [0x7F09080C, "debug_flashcolor"] - - [0x7F090820, "debug_hitcolor"] - - [0x7F090848, "debug_screenpos"] - - [0x7F09085C, "debug_music"] - - [0x7F090870, "portal_close_inf_approx"] - - [0x7F090888, "debug_sfx"] - - [0x7F09089C, "debug_invincible"] - - [0x7F0908B4, "debug_visible"] - - [0x7F0908CC, "debug_collisions"] - - [0x7F0908E4, "debug_allguns"] - - [0x7F090934, "debug_maxammo"] - - [0x7F090990, "debug_displayspeed"] - - [0x7F0909B8, "debug_dodrawbg"] - - [0x7F0909D0, "debug_dodrawobj"] - - [0x7F0909E8, "debug_stanhit"] - - [0x7F090A00, "debug_stanregion"] - - [0x7F090A18, "debug_turbo"] - - [0x7F090A30, "debug_printmanpos"] - - [0x7F090A48, "debug_testingmanpos"] - - [0x7F090A60, "debug_playtitle"] - - [0x7F090A70, "debug_bonddie"] - - [0x7F090A80, "debug_prroomloads"] - - [0x7F090A98, "debug_showmemuse"] - - [0x7F090AA8, "debug_showmembars"] - - [0x7F090AB8, "debug_grabrgb"] - - [0x7F090ADC, "debug_grabjpeg"] - - [0x7F090B00, "debug_taskgrab"] - - [0x7F090B18, "debug_recordramrom"] - - [0x7F090B28, "debug_ramrom_record1"] - - [0x7F090B38, "debug_ramrom_record2"] - - [0x7F090B48, "debug_ramrom_record3"] - - [0x7F090B58, "debug_replayramrom"] - - [0x7F090B68, "debug_saveramrom"] - - [0x7F090B78, "debug_loadramrom"] - - [0x7F090B88, "debug_autoyaim"] - - [0x7F090BA0, "debug_autoxaim"] - - [0x7F090BB8, "debug_007"] - - [0x7F090BD0, "debug_agent"] - - [0x7F090BE8, "debug_all"] - - [0x7F090C00, "fast_bond_debug"] - - [0x7F090C18, "debug_objectives"] - - [0x7F090C30, "debug_showpatrols"] - - [0x7F090C48, "debug_intro"] - - [0x7F090C58, "debug_intropos"] - - [0x7F090C78, "debug_worldpos"] - - [0x7F090D18, "debug_chrkeypos"] - - [0x7F090D2C, "debug_chrnum"] - - [0x7F090D44, "debug_viscvc"] - - [0x7F090D5C, "debug_joy2skyedit"] - - [0x7F090D74, "debug_joy2hitsedit"] - - [0x7F090D8C, "debug_joy2detailedit"] - - [0x7F090DA4, "debug_explosioninfo"] - - [0x7F090DBC, "debug_magicfog"] - - [0x7F090DD0, "debug_fog"] - - [0x7F090DE4, "debug_gunwatchpos"] - - [0x7F090DFC, "debug_roomblocks"] - - [0x7F090E0C, "debug_profile"] - - [0x7F090E44, "debug_objload"] - - [0x7F090E54, "debug_weaponload"] - - [0x7F090E64, "debug_introedit"] - - [0x7F090E74, "def_7F090770"] - - [0x7F090EB0, "def_7F090EA8"] - - [0x7F090EFC, "get_debug_render_raster"] - - [0x7F090F08, "get_debug_freeze_processing"] - - [0x7F090F14, "get_debug_limit_controller_input"] - - [0x7F090F20, "set_debug_limit_controller_input"] - - [0x7F090F34, "get_memusage_display_flag"] - - [0x7F090F40, "get_debug_do_draw_bg"] - - [0x7F090F4C, "get_debug_do_draw_obj"] - - [0x7F090F58, "get_debug_stanhit_flag"] - - [0x7F090F64, "get_debug_stanregion_flag"] - - [0x7F090F70, "get_turbo_mode_flag"] - - [0x7F090F7C, "get_debug_man_pos_flag"] - - [0x7F090F88, "get_debug_testingmanpos_flag"] - - [0x7F090F94, "set_debug_testingmanpos_flag"] - - [0x7F090FA0, "get_debug_joy2skyedit_flag"] - - [0x7F090FAC, "get_debug_joy2hitsedit_flag"] - - [0x7F090FB8, "get_debug_joy2detailedit_flag"] - - [0x7F090FC4, "get_debug_explosioninfo_flag"] - - [0x7F090FD0, "get_debug_prroomloads_flag"] - - [0x7F090FDC, "get_debug_VisCVG_flag"] - - [0x7F090FE8, "set_debug_VisCVG_flag"] - - [0x7F090FF4, "get_debug_007_unlock_flag"] - - [0x7F091000, "get_debug_enable_agent_levels_flag"] - - [0x7F09100C, "get_debug_enable_all_levels_flag"] - - [0x7F091018, "get_debug_fast_bond_flag"] - - [0x7F091024, "set_debug_fast_bond_flag"] - - [0x7F091030, "get_debug_all_obj_complete_flag"] - - [0x7F09103C, "get_debug_portal_flag"] - - [0x7F091048, "get_debug_chrnum_flag"] - - [0x7F091054, "get_debug_gunwatchpos_flag"] - - [0x7F091060, "get_debug_profile_flag"] - - [0x7F09106C, "get_debug_taskgrab_val"] - # file asm/game/7F091080.s - - [0x7F091080, "sub_GAME_7F091080"] - - [0x7F091580, "sub_GAME_7F091580"] - - [0x7F0915BC, "sub_GAME_7F0915BC"] - - [0x7F091618, "sub_GAME_7F091618"] - - [0x7F09166C, "sub_GAME_7F09166C"] - - [0x7F0916F4, "sub_GAME_7F0916F4"] - # file asm/game/7F091740.s - - [0x7F091740, "cheatButton_7F091740"] - - [0x7F09177C, "cheatButton_7F09177C"] - - [0x7F09193C, "cheat_buttons_mp_related"] - - [0x7F091A5C, "is_cheat_index_equal_to_1C"] - - [0x7F091A78, "cheatCheckIfMPCheat"] - - [0x7F091AAC, "handle_cheats_turned_on"] - - [0x7F091B64, "handle_cheats_turned_on"] - - [0x7F091C10, "cheats_cheat_extra_mp_chars"] - - [0x7F091C20, "cheats_cheat_invincibility"] - - [0x7F091C50, "cheats_cheat_allguns"] - - [0x7F091C80, "cheats_cheat_max_ammo"] - - [0x7F091CA0, "cheats_cheat_deactivate_invincibility"] - - [0x7F091D28, "cheats_cheat_linemode"] - - [0x7F091D38, "cheats_cheat_2x_health"] - - [0x7F091DB8, "cheats_cheat_2x_armor"] - - [0x7F091E2C, "cheats_cheat_invisibility"] - - [0x7F091E5C, "cheats_cheat_infinite_ammo"] - - [0x7F091E74, "cheats_cheat_dk_mode"] - - [0x7F091E94, "cheats_cheat_extra_weapons"] - - [0x7F091F5C, "cheats_cheat_tiny_bond"] - - [0x7F091FDC, "cheats_cheat_paintball"] - - [0x7F091FF4, "cheats_cheat_10x_health"] - - [0x7F092068, "cheats_cheat_magnum"] - - [0x7F092098, "cheats_cheat_laser"] - - [0x7F0920B4, "cheats_cheat_goldengun"] - - [0x7F0920E4, "cheats_cheat_silverpp7"] - - [0x7F092114, "cheats_cheat_goldpp7"] - - [0x7F092144, "cheats_cheat_invisibility_mp"] - - [0x7F092160, "cheats_cheat_fast"] - - [0x7F092190, "cheats_debug_pos"] - - [0x7F0921B0, "cheats_debug_fast_ani"] - - [0x7F0921FC, "cheats_debug_slow_ani"] - - [0x7F092248, "cheats_debug_2x_rockets"] - - [0x7F092278, "cheats_debug_2x_grenade_launch"] - - [0x7F0922A8, "cheats_debug_2x_rcp90"] - - [0x7F0922D8, "cheats_debug_2x_throwing_knife"] - - [0x7F092308, "cheats_debug_2x_hunting_knife"] - - [0x7F092324, "cheats_debug_2x_laser"] - - [0x7F092340, "cheats_debug_unlockcheat"] - - [0x7F092380, "cheats_debug_unlocklevel"] - - [0x7F092428, "cheats_debug_return_saved_ra"] - - [0x7F092438, "cheatDisplayMessageActivateCheat"] - - [0x7F0924D8, "cheat_button_invincibility"] - - [0x7F092508, "cheat_button_all_guns"] - - [0x7F092538, "cheat_button_line_mode"] - - [0x7F092548, "cheat_button_unknown"] - - [0x7F092578, "cheat_button_infinite_ammo"] - - [0x7F092590, "cheat_button_dkmode"] - - [0x7F0925B0, "cheat_button_unknown_0"] - - [0x7F092630, "cheat_button_paintball"] - - [0x7F092648, "cheat_button_mp_invis"] - - [0x7F092668, "cheat_button_fast_mode"] - - [0x7F092698, "cheat_button_debug_mode"] - - [0x7F0926B0, "cheat_button_default"] - - [0x7F0926C0, "cheatDisableAllCheats"] - - [0x7F092774, "cheatGetMenuTextPointer"] - - [0x7F0927BC, "cheatCheckIfOn"] - - [0x7F0927F4, "set_DKMode"] - # file asm/game/7F092890.s - - [0x7F092890, "sub_GAME_7F092890"] - # file asm/game/7F092E50.s - - [0x7F092E50, "sub_GAME_7F092E50"] - - [0x7F09343C, "sub_GAME_7F09343C"] - - [0x7F09365C, "sub_GAME_7F09365C"] - # file asm/game/7F093880.s - - [0x7F093880, "sub_GAME_7F093880"] - - [0x7F0938FC, "sub_GAME_7F0938FC"] - - [0x7F093A78, "sub_GAME_7F093A78"] - - [0x7F093BFC, "sub_GAME_7F093BFC"] - - [0x7F093C48, "sub_GAME_7F093C48"] - - [0x7F093C88, "addpoint5tofloat"] - - [0x7F093CB0, "sub_GAME_7F093CB0"] - - [0x7F093FA4, "sub_GAME_7F093FA4"] - - [0x7F094298, "sub_GAME_7F094298"] - - [0x7F09442C, "store_stagenum_to_copyof_stagenum"] - - [0x7F094438, "sub_GAME_7F094438"] - - [0x7F094488, "sub_GAME_7F094488"] - - [0x7F0957A4, "def_7F094A38"] - - [0x7F096E20, "def_7F095E0C"] - - [0x7F097388, "sub_GAME_7F097388"] - - [0x7F0977B4, "sub_GAME_7F0977B4"] - - [0x7F097818, "sub_GAME_7F097818"] - - [0x7F098A2C, "sub_GAME_7F098A2C"] - - [0x7F09A2E0, "default_player_perspective_and_height"] - - [0x7F09A32C, "reset_play_data_ptrs"] - - [0x7F09A38C, "init_player_data_ptrs_construct_viewports"] - - [0x7F09A464, "get_num_players"] - - [0x7F09A4BC, "initBONDdataforPlayer"] - - [0x7F09B10C, "set_cur_player"] - - [0x7F09B150, "get_cur_playernum"] - - [0x7F09B15C, "sub_GAME_7F09B15C"] - - [0x7F09B1DC, "set_cur_player_screen_size"] - - [0x7F09B1F8, "set_cur_player_viewport_size"] - - [0x7F09B214, "set_cur_player_fovy"] - - [0x7F09B224, "set_cur_player_aspect"] - - [0x7F09B234, "get_cur_player_fovy"] - - [0x7F09B244, "sub_GAME_7F09B244"] - - [0x7F09B284, "weapon_multi_hunting_knife"] - - [0x7F09B28C, "weapon_multi_pp7"] - - [0x7F09B294, "weapon_multi_klobb"] - - [0x7F09B29C, "weapon_multi_kf7"] - - [0x7F09B2A4, "weapon_multi_zmg"] - - [0x7F09B2AC, "weapon_multi_d5k"] - - [0x7F09B2B4, "weapon_multi_phantom"] - - [0x7F09B2BC, "weapon_multi_ar33"] - - [0x7F09B2C4, "weapon_multi_rcp90"] - - [0x7F09B2CC, "weapon_multi_shotgun"] - - [0x7F09B2D4, "weapon_multi_grenade_laun"] - - [0x7F09B2DC, "weapon_multi_hand"] - - [0x7F09B2E4, "weapon_multi_remote"] - - [0x7F09B2EC, "weapon_multi_prox"] - - [0x7F09B2F4, "weapon_multi_timed"] - - [0x7F09B2FC, "weapon_multi_cougar"] - - [0x7F09B304, "weapon_multi_moonraker"] - - [0x7F09B30C, "weapon_multi_sniper"] - - [0x7F09B314, "weapon_multi_d5k_silent"] - - [0x7F09B31C, "weapon_multi_dd44"] - - [0x7F09B324, "weapon_multi_pp7_silent"] - - [0x7F09B32C, "weapon_multi_throwing_knife"] - - [0x7F09B334, "weapon_multi_auto_shot"] - - [0x7F09B33C, "weapon_multi_rocket_launch"] - - [0x7F09B344, "weapon_multi_goldengun"] - - [0x7F09B34C, "weapon_multi_pp7_special1"] - - [0x7F09B354, "weapon_multi_pp7_special2"] - - [0x7F09B360, "weapon_multi_none"] - - [0x7F09B368, "sub_GAME_7F09B368"] - - [0x7F09B398, "sub_GAME_7F09B398"] - - [0x7F09B41C, "sub_GAME_7F09B41C"] - - [0x7F09B4D8, "sub_GAME_7F09B4D8"] - - [0x7F09B528, "sub_GAME_7F09B528"] - # file asm/game/7F09B600.s - - [0x7F09B600, "sub_GAME_7F09B600"] - # file asm/game/7F09B740.s - - [0x7F09B740, "sub_GAME_7F09B740"] - - [0x7F09B788, "sub_GAME_7F09B788"] - # file asm/game/7F09B7A0.s - - [0x7F09B7A0, "null_init_main_1"] - - [0x7F09B7A8, "sub_GAME_7F09B7A8"] - - [0x7F09B7E4, "sub_GAME_7F09B7E4"] - - [0x7F09B820, "sub_GAME_7F09B820"] - - [0x7F09BAC4, "sub_GAME_7F09BAC4"] - - [0x7F09BBBC, "sub_GAME_7F09BBBC"] - - [0x7F09BE4C, "sub_GAME_7F09BE4C"] - - [0x7F09C044, "sub_GAME_7F09C044"] - # file asm/game/7F09C250.s - - [0x7F09C250, "sub_GAME_7F09C250"] - - [0x7F09C7AC, "sub_GAME_7F09C7AC"] - - [0x7F09C7C4, "sub_GAME_7F09C7C4"] - - [0x7F09C9D8, "sub_GAME_7F09C9D8"] - - [0x7F09CEE8, "sub_GAME_7F09CEE8"] - - [0x7F09D4EC, "sub_GAME_7F09D4EC"] - - [0x7F09D5A0, "sub_GAME_7F09D5A0"] - - [0x7F09D82C, "sub_GAME_7F09D82C"] - - [0x7F09DDA4, "sub_GAME_7F09DDA4"] - - [0x7F09E700, "sub_GAME_7F09E700"] - - [0x7F09E8AC, "sub_GAME_7F09E8AC"] - - [0x7F09EF9C, "sub_GAME_7F09EF9C"] - - [0x7F09F03C, "sub_GAME_7F09F03C"] - - [0x7F09F254, "sub_GAME_7F09F254"] - - [0x7F09FD3C, "sub_GAME_7F09FD3C"] - - [0x7F0A0034, "sub_GAME_7F0A0034"] - - [0x7F0A027C, "sub_GAME_7F0A027C"] - - [0x7F0A0AB4, "sub_GAME_7F0A0AB4"] - - [0x7F0A0C74, "sub_GAME_7F0A0C74"] - - [0x7F0A0CCC, "sub_GAME_7F0A0CCC"] - - [0x7F0A0D90, "sub_GAME_7F0A0D90"] - - [0x7F0A0E98, "sub_GAME_7F0A0E98"] - - [0x7F0A108C, "sub_GAME_7F0A108C"] - - [0x7F0A1A94, "sub_GAME_7F0A1A94"] - - [0x7F0A1D78, "sub_GAME_7F0A1D78"] - # file asm/game/7F0A1DA0.s - - [0x7F0A1DA0, "sub_GAME_7F0A1DA0"] - - [0x7F0A2160, "sub_GAME_7F0A2160"] - - [0x7F0A28D4, "sub_GAME_7F0A28D4"] - - [0x7F0A2C44, "sub_GAME_7F0A2C44"] - - [0x7F0A2F30, "sub_GAME_7F0A2F30"] - - [0x7F0A3330, "sub_GAME_7F0A3330"] - - [0x7F0A33F8, "sub_GAME_7F0A33F8"] - - [0x7F0A3978, "sub_GAME_7F0A3978"] - - [0x7F0A3AB8, "sub_GAME_7F0A3AB8"] - - [0x7F0A3B40, "sub_GAME_7F0A3B40"] - - [0x7F0A3B70, "sub_GAME_7F0A3B70"] - - [0x7F0A3BA4, "sub_GAME_7F0A3BA4"] - - [0x7F0A3BD8, "sub_GAME_7F0A3BD8"] - - [0x7F0A3C08, "sub_GAME_7F0A3C08"] - - [0x7F0A3E1C, "sub_GAME_7F0A3E1C"] - - [0x7F0A3EA0, "sub_GAME_7F0A3EA0"] - - [0x7F0A3F04, "sub_GAME_7F0A3F04"] - - [0x7F0A4528, "sub_GAME_7F0A4528"] - - [0x7F0A4594, "sub_GAME_7F0A4594"] - - [0x7F0A45D8, "sub_GAME_7F0A45D8"] - - [0x7F0A4600, "sub_GAME_7F0A4600"] - - [0x7F0A46A0, "sub_GAME_7F0A46A0"] - - [0x7F0A4768, "sub_GAME_7F0A4768"] - - [0x7F0A47D4, "sub_GAME_7F0A47D4"] - - [0x7F0A47FC, "sub_GAME_7F0A47FC"] - - [0x7F0A4824, "sub_GAME_7F0A4824"] - # file asm/game/7F0A4860.s - - [0x7F0A4860, "nullsub_46"] - - [0x7F0A4868, "init_watch_at_start_of_stage"] - - [0x7F0A4A98, "controller_deadzone_related"] - - [0x7F0A4B40, "sub_GAME_7F0A4B40"] - - [0x7F0A4D74, "controllerCheckDualControllerTypesAllowed"] - - [0x7F0A4DC0, "cur_player_get_control_type"] - - [0x7F0A4DD0, "cur_player_set_control_type"] - - [0x7F0A4E38, "get_cur_player_look_vertical_inverted"] - - [0x7F0A4E44, "set_cur_player_look_vertical_inverted"] - - [0x7F0A4E50, "cur_player_get_autoaim"] - - [0x7F0A4E5C, "cur_player_set_autoaim"] - - [0x7F0A4E68, "cur_player_get_lookahead"] - - [0x7F0A4E74, "cur_player_set_lookahead"] - - [0x7F0A4E80, "cur_player_get_aim_control"] - - [0x7F0A4E8C, "cur_player_set_aim_control"] - - [0x7F0A4E98, "cur_player_get_sight_onscreen_control"] - - [0x7F0A4EA4, "cur_player_set_sight_onscreen_control"] - - [0x7F0A4EB0, "cur_player_get_ammo_onscreen_setting"] - - [0x7F0A4EBC, "cur_player_set_ammo_onscreen_setting"] - - [0x7F0A4EC8, "cur_player_get_screen_setting"] - - [0x7F0A4ED4, "cur_player_set_screen_setting"] - - [0x7F0A4EE0, "get_screen_ratio"] - - [0x7F0A4EEC, "set_screen_ratio"] - - [0x7F0A4EF8, "sub_GAME_7F0A4EF8"] - - [0x7F0A4F44, "sub_GAME_7F0A4F44"] - - [0x7F0A4F50, "is_holding_greater_than_2E_left_on_stick"] - - [0x7F0A4F74, "is_holding_greater_than_2E_right_on_stick"] - - [0x7F0A4F98, "get_controlstick_lr_enabled"] - - [0x7F0A4FA4, "set_controlstick_lr_enabled"] - - [0x7F0A4FB0, "sub_GAME_7F0A4FB0"] - - [0x7F0A4FEC, "sub_GAME_7F0A4FEC"] - - [0x7F0A5028, "is_holding_greater_than_2E_up_on_stick"] - - [0x7F0A504C, "is_holding_greater_than_2E_down_on_stick"] - - [0x7F0A5070, "sub_GAME_7F0A5070"] - - [0x7F0A507C, "sub_GAME_7F0A507C"] - - [0x7F0A5088, "sub_GAME_7F0A5088"] - - [0x7F0A50C4, "sub_GAME_7F0A50C4"] - - [0x7F0A5100, "is_holding_less_than_10_up_on_stick"] - - [0x7F0A5124, "is_holding_less_than_10_down_on_stick"] - - [0x7F0A5148, "sub_GAME_7F0A5148"] - - [0x7F0A5154, "sub_GAME_7F0A5154"] - - [0x7F0A5160, "sub_GAME_7F0A5160"] - - [0x7F0A519C, "sub_GAME_7F0A519C"] - - [0x7F0A51D8, "sub_GAME_7F0A51D8"] - - [0x7F0A5210, "sub_GAME_7F0A5210"] - - [0x7F0A526C, "sub_GAME_7F0A526C"] - - [0x7F0A53D8, "sub_GAME_7F0A53D8"] - - [0x7F0A5504, "sub_GAME_7F0A5504"] - - [0x7F0A55C4, "sub_GAME_7F0A55C4"] - - [0x7F0A56A4, "sub_GAME_7F0A56A4"] - - [0x7F0A5784, "sub_GAME_7F0A5784"] - - [0x7F0A5860, "sub_GAME_7F0A5860"] - - [0x7F0A5900, "sub_GAME_7F0A5900"] - - [0x7F0A5998, "sub_GAME_7F0A5998"] - - [0x7F0A5A64, "sub_GAME_7F0A5A64"] - - [0x7F0A5AF4, "sub_GAME_7F0A5AF4"] - - [0x7F0A5B80, "sub_GAME_7F0A5B80"] - - [0x7F0A611C, "sub_GAME_7F0A611C"] - - [0x7F0A6618, "sub_GAME_7F0A6618"] - - [0x7F0A66A0, "sub_GAME_7F0A66A0"] - - [0x7F0A672C, "sub_GAME_7F0A672C"] - - [0x7F0A67BC, "sub_GAME_7F0A67BC"] - - [0x7F0A684C, "sub_GAME_7F0A684C"] - - [0x7F0A68D8, "sub_GAME_7F0A68D8"] - - [0x7F0A69A8, "sub_GAME_7F0A69A8"] - - [0x7F0A6A2C, "sub_GAME_7F0A6A2C"] - - [0x7F0A6A80, "sub_GAME_7F0A6A80"] - - [0x7F0A6EB0, "def_7F0A6E80"] - - [0x7F0A6ED8, "def_7F0A6DFC"] - - [0x7F0A6EE8, "sub_GAME_7F0A6EE8"] - - [0x7F0A70AC, "sub_GAME_7F0A70AC"] - - [0x7F0A714C, "sub_GAME_7F0A714C"] - - [0x7F0A77A8, "sub_GAME_7F0A77A8"] - - [0x7F0A77C8, "sub_GAME_7F0A77C8"] - - [0x7F0A7C18, "sub_GAME_7F0A7C18"] - - [0x7F0A7DBC, "sub_GAME_7F0A7DBC"] - - [0x7F0A7DC4, "sub_GAME_7F0A7DC4"] - - [0x7F0A7EA8, "debug_gun_watch_move_related"] - - [0x7F0A830C, "sub_GAME_7F0A830C"] - - [0x7F0A8378, "sub_GAME_7F0A8378"] - - [0x7F0A8424, "debug_gun_watch_move_related2"] - - [0x7F0A8B10, "sub_GAME_7F0A8B10"] - - [0x7F0A8D40, "sub_GAME_7F0A8D40"] - - [0x7F0A8ED0, "sub_GAME_7F0A8ED0"] - - [0x7F0A8FEC, "sub_GAME_7F0A8FEC"] - - [0x7F0A9180, "call_sfx_c_700091C8"] - - [0x7F0A91A0, "sub_GAME_7F0A91A0"] - - [0x7F0A91C8, "sub_GAME_7F0A91C8"] - - [0x7F0A9358, "sub_GAME_7F0A9358"] - - [0x7F0A9364, "sub_GAME_7F0A9364"] - - [0x7F0A9398, "sub_GAME_7F0A9398"] - - [0x7F0A95C4, "sub_GAME_7F0A95C4"] - - [0x7F0A9610, "sub_GAME_7F0A9610"] - - [0x7F0A9684, "sub_GAME_7F0A9684"] - - [0x7F0A97D0, "sub_GAME_7F0A97D0"] - - [0x7F0A9AB8, "sub_GAME_7F0A9AB8"] - - [0x7F0AA7C8, "sub_GAME_7F0AA7C8"] - - [0x7F0AADC0, "sub_GAME_7F0AADC0"] - - [0x7F0AB48C, "zero_D_80040998"] - - [0x7F0AB498, "zero_D_8004099C"] - - [0x7F0AB4A4, "zero_D_800409A4"] - - [0x7F0AB4B0, "return_arg0_7F0AB4B0"] - - [0x7F0AB4B8, "sub_GAME_7F0AB4B8"] - - [0x7F0AB7A4, "set_pparam1toparam2_disablejoylr_playsfx"] - - [0x7F0AB7D8, "sub_GAME_7F0AB7D8"] - - [0x7F0AB908, "sub_GAME_7F0AB908"] - - [0x7F0ABC1C, "sub_GAME_7F0ABC1C"] - - [0x7F0ABDFC, "sub_GAME_7F0ABDFC"] - - [0x7F0AC0E8, "sub_GAME_7F0AC0E8"] - - [0x7F0AC120, "sub_GAME_7F0AC120"] - - [0x7F0AC168, "sub_GAME_7F0AC168"] - - [0x7F0AC8EC, "def_7F0AC3B0"] - - [0x7F0ACA28, "sub_GAME_7F0ACA28"] - - [0x7F0ACB5C, "def_7F0ACAC8"] - - [0x7F0ACB70, "null_init_main_7f0acb70"] - - [0x7F0ACB78, "setTextSpacingInverted"] - - [0x7F0ACB88, "setTextOrientation"] - - [0x7F0ACB94, "setTextWordWrap"] - - [0x7F0ACBA0, "setTextOverlapCorrection"] - - [0x7F0ACBAC, "load_font_tables"] - - [0x7F0ACD98, "microcode_constructor"] - - [0x7F0ACEF0, "combiner_bayer_lod_perspective"] - - [0x7F0ACF4C, "draw_blackbox_to_screen"] - - [0x7F0AD014, "microcode_constructor_related_to_menus"] - - [0x7F0AD0F8, "sub_GAME_7F0AD0F8"] - - [0x7F0ADABC, "en_text_write_stuff"] - - [0x7F0ADDAC, "sub_GAME_7F0ADDAC"] - - [0x7F0AE45C, "sub_GAME_7F0AE45C"] - - [0x7F0AE6EC, "jp_text_write_stuff"] - - [0x7F0AE98C, "sub_GAME_7F0AE98C"] - - [0x7F0AEB64, "sub_GAME_7F0AEB64"] - - [0x7F0AEF0C, "sub_GAME_7F0AEF0C"] - - [0x7F0AEF20, "sub_GAME_7F0AEF20"] - # file asm/game/7F0AEF30.s - - [0x7F0AEF30, "sub_GAME_7F0AEF30"] - - [0x7F0AEF3C, "sub_GAME_7F0AEF3C"] - - [0x7F0AEFE0, "sub_GAME_7F0AEFE0"] - - [0x7F0AF000, "stanRemovedAnimationRoutine"] - - [0x7F0AF00C, "something_stan_c_debug_related"] - - [0x7F0AF038, "sub_GAME_7F0AF038"] - - [0x7F0AF20C, "sub_GAME_7F0AF20C"] - - [0x7F0AF5B8, "stanLoadFile"] - - [0x7F0AF630, "sub_GAME_7F0AF630"] - - [0x7F0AF638, "sub_GAME_7F0AF638"] - - [0x7F0AF760, "sub_GAME_7F0AF760"] - - [0x7F0AF808, "sub_GAME_7F0AF808"] - - [0x7F0AF924, "sub_GAME_7F0AF924"] - - [0x7F0AFA1C, "sub_GAME_7F0AFA1C"] - - [0x7F0AFB1C, "sub_GAME_7F0AFB1C"] - - [0x7F0AFB78, "sub_GAME_7F0AFB78"] - - [0x7F0AFD1C, "sub_GAME_7F0AFD1C"] - - [0x7F0AFE70, "sub_GAME_7F0AFE70"] - - [0x7F0AFFCC, "sub_GAME_7F0AFFCC"] - - [0x7F0B0018, "sub_GAME_7F0B0018"] - - [0x7F0B0064, "sub_GAME_7F0B0064"] - - [0x7F0B00C4, "sub_GAME_7F0B00C4"] - - [0x7F0B0140, "sub_GAME_7F0B0140"] - - [0x7F0B0198, "sub_GAME_7F0B0198"] - - [0x7F0B02D8, "sub_GAME_7F0B02D8"] - - [0x7F0B036C, "sub_GAME_7F0B036C"] - - [0x7F0B0400, "sub_GAME_7F0B0400"] - - [0x7F0B0518, "sub_GAME_7F0B0518"] - - [0x7F0B05C0, "sub_GAME_7F0B05C0"] - - [0x7F0B0688, "sub_GAME_7F0B0688"] - - [0x7F0B07BC, "sub_GAME_7F0B07BC"] - - [0x7F0B0914, "sub_GAME_7F0B0914"] - - [0x7F0B0BE4, "sub_GAME_7F0B0BE4"] - - [0x7F0B0C24, "sub_GAME_7F0B0C24"] - - [0x7F0B0C98, "sub_GAME_7F0B0C98"] - - [0x7F0B0CEC, "sub_GAME_7F0B0CEC"] - - [0x7F0B0D0C, "sub_GAME_7F0B0D0C"] - - [0x7F0B0E24, "sub_GAME_7F0B0E24"] - - [0x7F0B1410, "sub_GAME_7F0B1410"] - - [0x7F0B16C4, "sub_GAME_7F0B16C4"] - - [0x7F0B1794, "sub_GAME_7F0B1794"] - - [0x7F0B17E4, "sub_GAME_7F0B17E4"] - - [0x7F0B18B8, "sub_GAME_7F0B18B8"] - - [0x7F0B1CC4, "sub_GAME_7F0B1CC4"] - - [0x7F0B1CE0, "sub_GAME_7F0B1CE0"] - - [0x7F0B1CEC, "sub_GAME_7F0B1CEC"] - - [0x7F0B1CF8, "sub_GAME_7F0B1CF8"] - - [0x7F0B1DDC, "sub_GAME_7F0B1DDC"] - - [0x7F0B20D0, "sub_GAME_7F0B20D0"] - - [0x7F0B2110, "sub_GAME_7F0B2110"] - - [0x7F0B2194, "sub_GAME_7F0B2194"] - - [0x7F0B21B0, "sub_GAME_7F0B21B0"] - - [0x7F0B2244, "sub_GAME_7F0B2244"] - - [0x7F0B2274, "sub_GAME_7F0B2274"] - - [0x7F0B2314, "sub_GAME_7F0B2314"] - - [0x7F0B239C, "sub_GAME_7F0B239C"] - - [0x7F0B23A4, "sub_GAME_7F0B23A4"] - - [0x7F0B23AC, "sub_GAME_7F0B23AC"] - - [0x7F0B2420, "sub_GAME_7F0B2420"] - - [0x7F0B260C, "sub_GAME_7F0B260C"] - - [0x7F0B26B8, "sub_GAME_7F0B26B8"] - - [0x7F0B2718, "sub_GAME_7F0B2718"] - - [0x7F0B28B0, "sub_GAME_7F0B28B0"] - - [0x7F0B2950, "sub_GAME_7F0B2950"] - - [0x7F0B2970, "sub_GAME_7F0B2970"] - - [0x7F0B2C2C, "copy_tile_RGB_as_24bit"] - - [0x7F0B2C74, "sub_GAME_7F0B2C74"] - - [0x7F0B2D14, "sub_GAME_7F0B2D14"] - - [0x7F0B2D38, "sub_GAME_7F0B2D38"] - - [0x7F0B2D48, "sub_GAME_7F0B2D48"] - - [0x7F0B2D50, "stanConvertNameStringToS32"] - - [0x7F0B2E58, "stanMatchTileName"] - - [0x7F0B2F00, "sub_GAME_7F0B2F00"] - - [0x7F0B2F2C, "stanDetermineEOF"] - - [0x7F0B2FD8, "sub_GAME_7F0B2FD8"] - - [0x7F0B2FE0, "sub_GAME_7F0B2FE0"] - - [0x7F0B3004, "sub_GAME_7F0B3004"] - - [0x7F0B3024, "sub_GAME_7F0B3024"] - - [0x7F0B3034, "sub_GAME_7F0B3034"] - - [0x7F0B303C, "sub_GAME_7F0B303C"] - - [0x7F0B3044, "sub_GAME_7F0B3044"] - - [0x7F0B312C, "sub_GAME_7F0B312C"] - - [0x7F0B3138, "sub_GAME_7F0B3138"] - - [0x7F0B31A4, "sub_GAME_7F0B31A4"] - - [0x7F0B3200, "sub_GAME_7F0B3200"] - - [0x7F0B32D8, "sub_GAME_7F0B32D8"] - - [0x7F0B33DC, "sub_GAME_7F0B33DC"] - # file asm/game/7F0B37C0.s - - [0x7F0B37C0, "something_with_bg_c_debug"] - - [0x7F0B37EC, "sub_GAME_7F0B37EC"] - - [0x7F0B38B4, "sub_GAME_7F0B38B4"] - - [0x7F0B39BC, "sub_GAME_7F0B39BC"] - - [0x7F0B3B04, "sub_GAME_7F0B3B04"] - - [0x7F0B3B20, "sub_GAME_7F0B3B20"] - - [0x7F0B3BC4, "sub_GAME_7F0B3BC4"] - - [0x7F0B3C0C, "sub_GAME_7F0B3C0C"] - - [0x7F0B3C8C, "sub_GAME_7F0B3C8C"] - - [0x7F0B4034, "sub_GAME_7F0B4034"] - - [0x7F0B4084, "sub_GAME_7F0B4084"] - - [0x7F0B40D4, "sub_GAME_7F0B40D4"] - - [0x7F0B4124, "load_bg_file"] - - [0x7F0B47E0, "sub_GAME_7F0B47E0"] - - [0x7F0B4810, "sub_GAME_7F0B4810"] - - [0x7F0B4830, "sub_GAME_7F0B4830"] - - [0x7F0B483C, "sub_GAME_7F0B483C"] - - [0x7F0B4848, "sub_GAME_7F0B4848"] - - [0x7F0B4878, "sub_GAME_7F0B4878"] - - [0x7F0B4884, "sub_GAME_7F0B4884"] - - [0x7F0B491C, "def_7F0B490C"] - - [0x7F0B4A50, "sub_GAME_7F0B4A50"] - - [0x7F0B4AB4, "sub_GAME_7F0B4AB4"] - - [0x7F0B4E40, "sub_GAME_7F0B4E40"] - - [0x7F0B4F9C, "sub_GAME_7F0B4F9C"] - - [0x7F0B4FB4, "sub_GAME_7F0B4FB4"] - - [0x7F0B4FF4, "sub_GAME_7F0B4FF4"] - - [0x7F0B5058, "sub_GAME_7F0B5058"] - - [0x7F0B5168, "sub_GAME_7F0B5168"] - - [0x7F0B519C, "sub_GAME_7F0B519C"] - - [0x7F0B5208, "sub_GAME_7F0B5208"] - - [0x7F0B5488, "sub_GAME_7F0B5488"] - - [0x7F0B5528, "sub_GAME_7F0B5528"] - - [0x7F0B5864, "sub_GAME_7F0B5864"] - - [0x7F0B5B14, "sub_GAME_7F0B5B14"] - - [0x7F0B5B60, "sub_GAME_7F0B5B60"] - - [0x7F0B5BDC, "vis_is_inline_of_sight"] - - [0x7F0B5CC0, "sub_GAME_7F0B5CC0"] - - [0x7F0B5D58, "copy_4_floats_a1_to_a0"] - - [0x7F0B5D7C, "sub_GAME_7F0B5D7C"] - - [0x7F0B5DE0, "sub_GAME_7F0B5DE0"] - - [0x7F0B5E44, "getMaxNumRooms"] - - [0x7F0B5E50, "sub_GAME_7F0B5E50"] - - [0x7F0B5E6C, "sub_GAME_7F0B5E6C"] - - [0x7F0B5E88, "sub_GAME_7F0B5E88"] - - [0x7F0B5ED8, "generate_room_load_string"] - - [0x7F0B5F8C, "sub_GAME_7F0B5F8C"] - - [0x7F0B5FAC, "sub_GAME_7F0B5FAC"] - - [0x7F0B609C, "sub_GAME_7F0B609C"] - - [0x7F0B61DC, "sub_GAME_7F0B61DC"] - - [0x7F0B6314, "sub_GAME_7F0B6314"] - - [0x7F0B6368, "sub_GAME_7F0B6368"] - - [0x7F0B65C4, "sub_GAME_7F0B65C4"] - - [0x7F0B667C, "sub_GAME_7F0B667C"] - - [0x7F0B66E8, "sub_GAME_7F0B66E8"] - - [0x7F0B677C, "sub_GAME_7F0B677C"] - - [0x7F0B6898, "sub_GAME_7F0B6898"] - - [0x7F0B6994, "sub_GAME_7F0B6994"] - - [0x7F0B6CEC, "sub_GAME_7F0B6CEC"] - - [0x7F0B7010, "sub_GAME_7F0B7010"] - - [0x7F0B7A78, "sub_GAME_7F0B7A78"] - - [0x7F0B7D94, "sub_GAME_7F0B7D94"] - - [0x7F0B7DA8, "sub_GAME_7F0B7DA8"] - - [0x7F0B7DE4, "sub_GAME_7F0B7DE4"] - - [0x7F0B7EE4, "sub_GAME_7F0B7EE4"] - - [0x7F0B7F84, "sub_GAME_7F0B7F84"] - - [0x7F0B8374, "push_arg_to_table"] - - [0x7F0B83B0, "pull_arg_from_stack"] - - [0x7F0B83E4, "sub_GAME_7F0B83E4"] - - [0x7F0B8414, "parse_global_vis_command_list"] - - [0x7F0B84D0, "break"] - - [0x7F0B84D8, "push_to_stack"] - - [0x7F0B84F8, "pull_from_stack"] - - [0x7F0B8518, "and_merge_last_two_on_stack"] - - [0x7F0B8548, "or_merge_last_two_on_stack"] - - [0x7F0B8578, "not_merge_last_two_on_stack"] - - [0x7F0B85A0, "carrot_merge_last_two_on_stack"] - - [0x7F0B85D0, "push_tf_if_in_range_rooms"] - - [0x7F0B8614, "force_visible"] - - [0x7F0B8654, "match_portal_vis"] - - [0x7F0B86A8, "visible_if_seen_through_portal"] - - [0x7F0B8714, "not_visible_if_seen_through_portal"] - - [0x7F0B8788, "add_visible_room"] - - [0x7F0B87F4, "disable_room"] - - [0x7F0B8828, "disable_room_range"] - - [0x7F0B8884, "preload_room"] - - [0x7F0B88B8, "preload_room_range"] - - [0x7F0B8914, "remove_vis"] - - [0x7F0B8930, "if_statement"] - - [0x7F0B8954, "endif_continue_exec"] - - [0x7F0B896C, "dont_exec_commands_even_on_return"] - - [0x7F0B8990, "if_statement_pull_from_stack"] - - [0x7F0B89C8, "toggle_exec_vs_ro"] - - [0x7F0B89E0, "endif"] - - [0x7F0B89F0, "invalid_type_terminate"] - - [0x7F0B8A24, "sub_GAME_7F0B8A24"] - - [0x7F0B8A6C, "sub_GAME_7F0B8A6C"] - - [0x7F0B8D78, "sub_GAME_7F0B8D78"] - - [0x7F0B8DF4, "sub_GAME_7F0B8DF4"] - - [0x7F0B8E98, "sub_GAME_7F0B8E98"] - - [0x7F0B8EFC, "sub_GAME_7F0B8EFC"] - - [0x7F0B8FD0, "sub_GAME_7F0B8FD0"] - - [0x7F0B9040, "sub_GAME_7F0B9040"] - - [0x7F0B908C, "sub_GAME_7F0B908C"] - - [0x7F0B92B4, "sub_GAME_7F0B92B4"] - - [0x7F0B9338, "sub_GAME_7F0B9338"] - - [0x7F0B95D8, "sub_GAME_7F0B95D8"] - - [0x7F0B96CC, "sub_GAME_7F0B96CC"] - - [0x7F0B993C, "sub_GAME_7F0B993C"] - - [0x7F0B9990, "sub_GAME_7F0B9990"] - - [0x7F0B9A14, "sub_GAME_7F0B9A14"] - - [0x7F0B9A2C, "sub_GAME_7F0B9A2C"] - - [0x7F0B9A7C, "sub_GAME_7F0B9A7C"] - - [0x7F0B9AE4, "sub_GAME_7F0B9AE4"] - - [0x7F0B9B04, "sub_GAME_7F0B9B04"] - - [0x7F0B9B24, "sub_GAME_7F0B9B24"] - - [0x7F0B9B44, "sub_GAME_7F0B9B44"] - - [0x7F0B9B64, "sub_GAME_7F0B9B64"] - - [0x7F0B9B94, "sub_GAME_7F0B9B94"] - - [0x7F0B9CC8, "sub_GAME_7F0B9CC8"] - - [0x7F0B9DBC, "sub_GAME_7F0B9DBC"] - - [0x7F0B9DE4, "sub_GAME_7F0B9DE4"] - - [0x7F0B9DF4, "sub_GAME_7F0B9DF4"] - - [0x7F0B9DFC, "sub_GAME_7F0B9DFC"] - - [0x7F0B9E04, "sub_GAME_7F0B9E04"] - - [0x7F0B9F14, "sub_GAME_7F0B9F14"] - - [0x7F0BA26C, "sub_GAME_7F0BA26C"] - - [0x7F0BA2D4, "sub_GAME_7F0BA2D4"] - - [0x7F0BA5C0, "sub_GAME_7F0BA5C0"] - - [0x7F0BA640, "sub_GAME_7F0BA640"] - # file asm/game/7F0BA720.s - - [0x7F0BA720, "sub_GAME_7F0BA720"] - - [0x7F0BA72C, "sub_GAME_7F0BA72C"] - - [0x7F0BA738, "sub_GAME_7F0BA738"] - - [0x7F0BA744, "square_near_fog_value"] - - [0x7F0BA758, "copy_table1_env_to_current"] - - [0x7F0BA9D0, "copy_table2_env_to_current"] - - [0x7F0BAA5C, "sub_GAME_7F0BAA5C"] - - [0x7F0BAA64, "load_enviroment"] - - [0x7F0BACA8, "switch_to_solosky2"] - - [0x7F0BB070, "sub_GAME_7F0BB070"] - - [0x7F0BB298, "sub_GAME_7F0BB298"] - - [0x7F0BB2C8, "sub_GAME_7F0BB2C8"] - - [0x7F0BB398, "return_nearfog_values"] - - [0x7F0BB3A4, "if_sky_present_convert_values"] - # file asm/game/7F0BB4D0.s - - [0x7F0BB4D0, "init_lightfixture_tables"] - - [0x7F0BB524, "get_index_of_current_entry_in_init_lightfixture_table"] - - [0x7F0BB59C, "add_entry_to_init_lightfixture_table"] - - [0x7F0BB600, "save_ptrDL_enpoint_to_current_init_lightfixture_table"] - - [0x7F0BB630, "check_if_imageID_is_light"] - - [0x7F0BB694, "return_ptr_vertex_of_entry_room"] - - [0x7F0BB6F4, "sub_GAME_7F0BB6F4"] - - [0x7F0BB86C, "def_7F0BB70C"] - - [0x7F0BB874, "sub_GAME_7F0BB874"] - - [0x7F0BB978, "sub_GAME_7F0BB978"] - - [0x7F0BBA20, "sub_GAME_7F0BBA20"] - - [0x7F0BBADC, "sub_GAME_7F0BBADC"] - - [0x7F0BBBA8, "sub_GAME_7F0BBBA8"] - - [0x7F0BBC30, "sub_GAME_7F0BBC30"] - - [0x7F0BBCCC, "sub_GAME_7F0BBCCC"] - - [0x7F0BBE0C, "sub_GAME_7F0BBE0C"] - - [0x7F0BC4C4, "sub_GAME_7F0BC4C4"] - # file asm/game/7F0BC530.s - - [0x7F0BC530, "sub_GAME_7F0BC530"] - - [0x7F0BC624, "sub_GAME_7F0BC624"] - - [0x7F0BC634, "sub_GAME_7F0BC634"] - - [0x7F0BC660, "sub_GAME_7F0BC660"] - - [0x7F0BC690, "sub_GAME_7F0BC690"] - - [0x7F0BC6F0, "sub_GAME_7F0BC6F0"] - - [0x7F0BC7D4, "sub_GAME_7F0BC7D4"] - - [0x7F0BC85C, "sub_GAME_7F0BC85C"] - - [0x7F0BC9C4, "sub_GAME_7F0BC9C4"] - - [0x7F0BCA14, "sub_GAME_7F0BCA14"] - - [0x7F0BCA34, "sub_GAME_7F0BCA34"] - # file asm/game/7F0BCAA0.s - - [0x7F0BCAA0, "load_resource"] - - [0x7F0BCB34, "resource_load_from_indy"] - - [0x7F0BCC28, "ob_c_debug_setup"] - - [0x7F0BCCBC, "_load_rom_index_to_membank"] - - [0x7F0BCCE4, "_load_resource_index_to_membank"] - - [0x7F0BCD04, "_load_resource_named_to_membank"] - - [0x7F0BCD40, "_load_resource_named_to_buffer"] - - [0x7F0BCD7C, "load_bg_bytes_at_offset_to_membank"] - - [0x7F0BCE0C, "load_rom_resource_index_to_membank"] - - [0x7F0BCFE0, "load_resource_index_to_buffer"] - - [0x7F0BD100, "get_pc_remaining_buffer_for_index"] - - [0x7F0BD11C, "get_rom_remaining_buffer_for_index"] - - [0x7F0BD138, "sub_GAME_7F0BD138"] - - [0x7F0BD188, "get_pc_buffer_remaining_value"] - - [0x7F0BD1BC, "something_mem_bank_a0"] - - [0x7F0BD234, "sub_GAME_7F0BD234"] - - [0x7F0BD254, "get_index_num_of_named_resource"] - - [0x7F0BD384, "removed_handle_filetable_entry"] - - [0x7F0BD38C, "removed_loop_handle_filetable_entries"] - - [0x7F0BD3E4, "removed_loop_filetableentries"] - - [0x7F0BD410, "sub_GAME_7F0BD410"] - - [0x7F0BD460, "something_with_dyn_c_debug"] - - [0x7F0BD48C, "set_vtx_gfx_mem_alloc"] - - [0x7F0BD674, "get_ptr_displaylist"] - - [0x7F0BD69C, "allocate_something_in_mgfx"] - - [0x7F0BD6C4, "sub_GAME_7F0BD6C4"] - - [0x7F0BD6E0, "sub_GAME_7F0BD6E0"] - - [0x7F0BD6F8, "sub_GAME_7F0BD6F8"] - - [0x7F0BD714, "sub_GAME_7F0BD714"] - - [0x7F0BD738, "allocate_something_in_mvtx"] - - [0x7F0BD774, "removed_debug_routine"] - - [0x7F0BD77C, "num_microcode_cmds_that_fit"] - - [0x7F0BD7A4, "sub_GAME_7F0BD7A4"] - - [0x7F0BD7CC, "compute_membar_display_string"] - - [0x7F0BD810, "draw_membars"] - # file asm/game/7F0BD8F0.s - - [0x7F0BD8F0, "sub_GAME_7F0BD8F0"] - - [0x7F0BD8FC, "sub_GAME_7F0BD8FC"] - - [0x7F0BD908, "something_with_lvl_c_debug"] - - [0x7F0BD984, "sub_GAME_7F0BD984"] - - [0x7F0BD9C4, "playmusictrack1"] - - [0x7F0BD9EC, "music_append_play_solo_death_short"] - - [0x7F0BDA38, "music_append_play_endtheme"] - - [0x7F0BDA84, "sub_GAME_7F0BDA84"] - - [0x7F0BDAB0, "stage_load"] - - [0x7F0BDF04, "sub_GAME_7F0BDF04"] - - [0x7F0BDF10, "sub_GAME_7F0BDF10"] - - [0x7F0BE30C, "sub_GAME_7F0BE30C"] - - [0x7F0BE8D0, "sub_GAME_7F0BE8D0"] - - [0x7F0BEB88, "manage_mp_game"] - - [0x7F0BF800, "sub_GAME_7F0BF800"] - - [0x7F0BFB20, "unload_stage_text_data"] - - [0x7F0BFBF8, "set_controls_locked_flag"] - - [0x7F0BFC04, "get_controls_locked_flag"] - - [0x7F0BFC10, "get_current_difficulty"] - - [0x7F0BFC1C, "set_difficulty"] - - [0x7F0BFC28, "set_mp_time"] - - [0x7F0BFC34, "set_mp_point"] - - [0x7F0BFC40, "get_cur_mp_sec"] - - [0x7F0BFC4C, "get_cur_mp_min"] - - [0x7F0BFC58, "get_stage_time_sec"] - - [0x7F0BFC64, "get_poweron_time_sec"] - - [0x7F0BFC70, "clear_ramrom_block_buffer_heading_ptrs"] - - [0x7F0BFC8C, "get_is_ramrom_flag"] - - [0x7F0BFC98, "get_recording_ramrom_flag"] - - [0x7F0BFCA4, "interface_menu0B_runstage"] - - [0x7F0BFCB0, "finalize_ramrom_on_hw"] - - [0x7F0BFD60, "save_ramrom_to_devtool"] - - [0x7F0BFE00, "load_ramrom_from_devtool"] - - [0x7F0BFE5C, "record_player_input_as_packet"] - - [0x7F0C0080, "ramrom_replay_handler"] - - [0x7F0C0268, "iterate_ramrom_entries_handle_camera_out"] - - [0x7F0C03A8, "copy_current_ingame_registers_before_ramrom_playback"] - - [0x7F0C04F4, "copy_recorded_ramrom_registers_to_proper_place_ingame"] - - [0x7F0C0640, "test_if_recording_demos_this_stage_load"] - - [0x7F0C07BC, "setRamRomRecordSlot"] - - [0x7F0C07D4, "stop_recording_ramrom"] - - [0x7F0C081C, "replay_recorded_ramrom_at_address"] - - [0x7F0C08A8, "replay_recorded_ramrom_from_indy"] - - [0x7F0C08C8, "ensureCameraModeA"] - - [0x7F0C08FC, "stop_demo_playback"] - - [0x7F0C0970, "select_ramrom_to_play"] - - [0x7F0C0A20, "check_ramrom_flags"] - # file asm/game/7F0C0A70.s - - [0x7F0C0A70, "store_osgetcount"] - - [0x7F0C0AA0, "sub_GAME_7F0C0AA0"] - - [0x7F0C0B4C, "sub_GAME_7F0C0B4C"] - - [0x7F0C0BE4, "sub_GAME_7F0C0BE4"] - - [0x7F0C0BF0, "sub_GAME_7F0C0BF0"] - - [0x7F0C0C10, "sub_GAME_7F0C0C10"] - - [0x7F0C0C30, "sub_GAME_7F0C0C30"] - - [0x7F0C0C3C, "sub_GAME_7F0C0C3C"] - - [0x7F0C11FC, "sub_GAME_7F0C11FC"] - - [0x7F0C1268, "sub_GAME_7F0C1268"] - - [0x7F0C1288, "sub_GAME_7F0C1288"] - - [0x7F0C12CC, "sub_GAME_7F0C12CC"] - - [0x7F0C1310, "sub_GAME_7F0C1310"] - - [0x7F0C1340, "sub_GAME_7F0C1340"] - - [0x7F0C1364, "sub_GAME_7F0C1364"] - - [0x7F0C13C8, "reset_all_music_slots"] - - [0x7F0C14FC, "set_musicslot_time"] - - [0x7F0C1558, "reset_music_in_slot"] - # file asm/game/7F0C15E0.s - - [0x7F0C15E0, "get_textbank_number_for_stagenum"] - - [0x7F0C16DC, "stagetext_loop"] - - [0x7F0C16EC, "init_LnameX"] - - [0x7F0C1940, "something_with_LnameJ"] - - [0x7F0C1A30, "something_with_LnameX"] - - [0x7F0C1D08, "load_mission_text_bank"] - - [0x7F0C1D64, "load_briefing_text_bank"] - - [0x7F0C1DC4, "blank_text_bank"] - - [0x7F0C1DD8, "get_textptr_for_textID"] - # file asm/game/7F0C1E20.s - - [0x7F0C1E20, "check_can_advance_right_on_mpmenu"] - - [0x7F0C1E50, "page_adv_right_yes"] - - [0x7F0C1E58, "page_adv_right_no"] - - [0x7F0C1E60, "page_adv_right_gameover"] - - [0x7F0C1E8C, "check_can_advance_left_on_mpmenu"] - - [0x7F0C1EBC, "page_adv_left_yes"] - - [0x7F0C1EC4, "page_adv_left_no"] - - [0x7F0C1ECC, "page_adv_left_gameover"] - - [0x7F0C1EF0, "def_7F0C1EB4"] - - [0x7F0C1EF8, "check_if_player_is_pressing_anything_right"] - - [0x7F0C1F68, "check_if_player_is_pressing_anything_left"] - - [0x7F0C1FDC, "play_watch_sfx_beep"] - - [0x7F0C2008, "unpause_game"] - - [0x7F0C2024, "sub_GAME_7F0C2024"] - - [0x7F0C2114, "sub_GAME_7F0C2114"] - - [0x7F0C2204, "sub_GAME_7F0C2204"] - - [0x7F0C234C, "sub_GAME_7F0C234C"] - - [0x7F0C2494, "pauseAndLockControls"] - - [0x7F0C24BC, "sub_GAME_7F0C24BC"] - - [0x7F0C2520, "set_stopplay_flag"] - - [0x7F0C2530, "sub_GAME_7F0C2530"] - - [0x7F0C2E80, "sub_GAME_7F0C2E80"] - - [0x7F0C35A0, "display_text_for_playerdata_on_MP_menu"] - - [0x7F0C3634, "green_text_normal"] - - [0x7F0C369C, "green_text_highlighted"] - - [0x7F0C3710, "red_text_normal"] - - [0x7F0C3778, "red_text_highlighted"] - - [0x7F0C37EC, "blue_text_normal"] - - [0x7F0C3854, "blue_text_highlighted"] - - [0x7F0C38C0, "def_7F0C362C"] - - [0x7F0C38D8, "get_points_for_mp_player"] - - [0x7F0C3954, "num_player_kills"] - - [0x7F0C3B14, "num_deaths"] - - [0x7F0C3B24, "time_with_flag"] - - [0x7F0C3B2C, "team_player_kills"] - - [0x7F0C3C80, "def_7F0C394C"] - - [0x7F0C3C94, "write_playerrank_to_buffer"] - - [0x7F0C3F5C, "true_if_displaying_rank_in_mp"] - - [0x7F0C3F8C, "not_yolt"] - - [0x7F0C3F94, "yolt"] - - [0x7F0C3FB4, "def_7F0C3F84"] - - [0x7F0C3FCC, "true_if_displaying_score_in_mp"] - - [0x7F0C3FFC, "not_yolt_tld"] - - [0x7F0C4004, "yolt_tld"] - - [0x7F0C400C, "def_7F0C3FF4"] - - [0x7F0C4024, "mp_watch_menu_display"] - - [0x7F0C40C8, "text_play"] - - [0x7F0C4118, "text_blank"] - - [0x7F0C4128, "text_pause_unpause"] - - [0x7F0C4170, "text_exit"] - - [0x7F0C4190, "def_7F0C40C0"] - - [0x7F0C6048, "sub_GAME_7F0C6048"] - - [0x7F0C6080, "sub_GAME_7F0C6080"] - # file asm/game/7F0C6090.s - - [0x7F0C6090, "display_red_blue_on_radar"] - # file asm/game/7F0C65D0.s - - [0x7F0C65D0, "advance_mp_weapon_set_by_one_save_value"] - - [0x7F0C65F8, "get_ptr_current_mp_weapon_set_text_code"] - - [0x7F0C6614, "get_ptr_mp_weapon_set_data"] - - [0x7F0C6630, "set_mp_weapon_set"] - - [0x7F0C663C, "get_mp_weapon_set"] - # file asm/game/7F0C6650.s - - [0x7F0C6650, "nullsub_41"] - - [0x7F0C6658, "image_related_calls_decompressdata_function"] - - [0x7F0C6BC8, "copy_loaded_image_to_final_mem_location"] - - [0x7F0C6C70, "sub_GAME_7F0C6C70"] - - [0x7F0C77AC, "sub_GAME_7F0C77AC"] - - [0x7F0C7BD8, "sub_GAME_7F0C7BD8"] - - [0x7F0C7DFC, "process_huffman_compressed_images"] - - [0x7F0C805C, "huffman_type0_1"] - - [0x7F0C8084, "huffman_type2"] - - [0x7F0C8120, "huffman_type3"] - - [0x7F0C81D8, "huffman_type4"] - - [0x7F0C8268, "huffman_type5"] - - [0x7F0C82B8, "huffman_type6"] - - [0x7F0C8324, "huffman_type7"] - - [0x7F0C838C, "huffman_type8"] - - [0x7F0C8464, "huffman_type9"] - - [0x7F0C8534, "def_7F0C8054"] - - [0x7F0C8754, "image_decompresion_related"] - - [0x7F0C8858, "def_7F0C87C4"] - - [0x7F0C91A0, "def_7F0C8874"] - - [0x7F0C91D0, "generate_sample_table"] - - [0x7F0C96BC, "type4_7_9_getsamples"] - - [0x7F0C9920, "type5_6_7_getsamples"] - - [0x7F0C9A24, "sub_GAME_7F0C9A24"] - - [0x7F0C9A48, "image_get_alpha_values"] - - [0x7F0C9A9C, "image_compression0_expand"] - - [0x7F0C9D74, "def_7F0C9B04"] - - [0x7F0C9DA4, "generate_link_final_image"] - - [0x7F0CA874, "def_7F0C9DF0"] - - [0x7F0CA890, "type5_generate_link_final_image"] - - [0x7F0CAC28, "def_7F0CA900"] - - [0x7F0CAC58, "type6_7_generate_link_final_image"] - - [0x7F0CB668, "def_7F0CACBC"] - - [0x7F0CB67C, "sub_GAME_7F0CB67C"] - - [0x7F0CB700, "def_7F0CB6A0"] - - [0x7F0CB7E0, "type8_9_doohick"] - - [0x7F0CBAC8, "def_7F0CB8A0"] - - [0x7F0CBAF4, "sub_GAME_7F0CBAF4"] - - [0x7F0CBB0C, "sub_GAME_7F0CBB0C"] - - [0x7F0CBB64, "sub_GAME_7F0CBB64"] - - [0x7F0CBB74, "check_load_image_to_buffer"] - - [0x7F0CBC18, "load_image_to_buffer"] - - [0x7F0CBE50, "sub_GAME_7F0CBE50"] - - [0x7F0CBEE8, "sub_GAME_7F0CBEE8"] - # file asm/game/7F0CBF10.s - - [0x7F0CBF10, "makeemptyimageatpos"] - - [0x7F0CBF2C, "sub_GAME_7F0CBF2C"] - - [0x7F0CBFB0, "load_prepare_global_image_bank"] - # file asm/game/7F0CC4C0.s - - [0x7F0CC4C0, "nullsub_47"] - - [0x7F0CC4C8, "sub_GAME_7F0CC4C8"] - - [0x7F0CC51C, "sub_GAME_7F0CC51C"] - - [0x7F0CC548, "sub_GAME_7F0CC548"] - - [0x7F0CC574, "sub_GAME_7F0CC574"] - - [0x7F0CC690, "sub_GAME_7F0CC690"] - - [0x7F0CC714, "sub_GAME_7F0CC714"] - - [0x7F0CC7FC, "sub_GAME_7F0CC7FC"] - - [0x7F0CC8E4, "sub_GAME_7F0CC8E4"] - - [0x7F0CC994, "sub_GAME_7F0CC994"] - - [0x7F0CC9D4, "sub_GAME_7F0CC9D4"] - - [0x7F0CCA9C, "sub_GAME_7F0CCA9C"] - - [0x7F0CCACC, "sub_GAME_7F0CCACC"] - - [0x7F0CCAFC, "sub_GAME_7F0CCAFC"] - - [0x7F0CCB38, "sub_GAME_7F0CCB38"] - - [0x7F0CCC50, "sub_GAME_7F0CCC50"] - - [0x7F0CCFBC, "sub_GAME_7F0CCFBC"] - - [0x7F0CD078, "expland_c0_DL_psuedocommands"] - - [0x7F0CD430, "sub_GAME_7F0CD430"] - - [0x7F0CD7AC, "sub_GAME_7F0CD7AC"] - - [0x7F0CDB64, "sub_GAME_7F0CDB64"] - - [0x7F0CDE18, "sub_GAME_7F0CDE18"] - - [0x7F0CDEA8, "sub_GAME_7F0CDEA8"] - - [0x7F0CDFA8, "sub_GAME_7F0CDFA8"] - - [0x7F0CE064, "sub_GAME_7F0CE064"] - - [0x7F0CE0AC, "sub_GAME_7F0CE0AC"] - - [0x7F0CE118, "process_microcode_sort_display_modes_expand_image_calls"] - - [0x7F0CE5F0, "def_7F0CE2B4"] - - [0x7F0CE794, "sub_GAME_7F0CE794"] - # file asm/game/7F0CE7F0.s - - [0x7F0CE7F0, "decompressdata"] - - [0x7F0CE894, "sub_GAME_7F0CE894"] - # file asm/game/7F0CE8B0.s - - [0x7F0CE8B0, "sub_GAME_7F0CE8B0"] - - [0x7F0CEEF0, "sub_GAME_7F0CEEF0"] - - [0x7F0CF38C, "zlib_decompressor_type0"] - - [0x7F0CF528, "zlib_decompressor_type1"] - - [0x7F0CF690, "zlib_decompressor_type2"] - - [0x7F0CFBB4, "select_zlib_decompression_routine"] - - [0x7F0CFCD4, "loop_to_decompress_entire_file"] - # file asm/game/7F0CFDB0.s - - [0x7F0CFDB0, "something_with_rsp_c_debug"] - - [0x7F0CFDDC, "allocate_init_rsp_buffers"] - - [0x7F0CFE18, "load_rsp_microcode"] - # file asm/game/7F0CFF30.s - - [0x7F0CFF30, "init_indy_if_not_ready"] - - [0x7F0CFF64, "nullsub_48"] - - [0x7F0CFF6C, "init_indy_if_ready"] - - [0x7F0CFF9C, "load_resource_on_indy"] - - [0x7F0CFFE0, "indy_send_capture_data"] - - [0x7F0D001C, "indy_loadfile"] - - [0x7F0D005C, "check_file_exported"] - - [0x7F0D0098, "check_file_found_on_indy"] - - [0x7F0D00E0, "response_from_command_string"] - - [0x7F0D0124, "sub_GAME_7F0D0124"] - - [0x7F0D0154, "send_indy_close_port_cmd"] - - [0x7F0D0170, "nullsub_49"] - # file asm/game/7F0D0180.s - - [0x7F0D0180, "sub_GAME_7F0D0180"] - - [0x7F0D01D0, "sub_GAME_7F0D01D0"] - - [0x7F0D0220, "postindyresourcecommand"] - - [0x7F0D0358, "send2indyresourcecommands"] - - [0x7F0D038C, "post_type1_indyrescmd_sizenextcmd"] - - [0x7F0D03D4, "post_type2_indyrescmd_cmds_rdy_to_proc"] - - [0x7F0D041C, "post_type0_indyrescmd_init"] - - [0x7F0D0460, "post_type3_indyrescmd"] - - [0x7F0D04C4, "post_type4_indyrescmd_data_recieved"] - - [0x7F0D0514, "post_type5_indyrescmd_printfsend"] - - [0x7F0D0578, "post_type6_indyrescmd_printfrecieved"] - - [0x7F0D05D0, "post_type7_indyrescmd_log_send"] - - [0x7F0D0644, "post_type8_indyrescmd_log_recieved"] - - [0x7F0D06C0, "post_type9_indyrescmd_app_command_ready"] - - [0x7F0D0740, "post_typeA_indyrescmd_app_command_recieved"] - - [0x7F0D0790, "post_typeF_indyrescmd_fault_send"] - - [0x7F0D080C, "post_type10_indyrescmd_fault_ack_by_host"] - - [0x7F0D086C, "post_typeD_indyrescmd_prof_send_filename"] - - [0x7F0D08E8, "post_typeE_indyrescmd_prof_recv"] - - [0x7F0D0938, "post_typeB_indyrescmd_host_prof_req"] - - [0x7F0D099C, "post_typeC_indyrescmd_prof_send"] - - [0x7F0D09EC, "post_typeA_indyrescmd_app_data_recieved"] - - [0x7F0D0A3C, "post_indy__res_cmd_initialize_seq"] - - [0x7F0D0A7C, "post_indyrescmd_game_data_send"] - - [0x7F0D0AC4, "post_indyrescmd_debug_data_recv"] - - [0x7F0D0B0C, "post_indyrescmd_game_printf_send"] - - [0x7F0D0B54, "post_indyrescmd_debug_printf_recv"] - - [0x7F0D0BA4, "post_indyrescmd_req_filename_size"] - - [0x7F0D0BF4, "post_indyrescmd_1_8_2"] - - [0x7F0D0C68, "post_indyrescmd_send_capture_data"] - - [0x7F0D0CD0, "post_indyrescmd_recv_capture_data_success"] - - [0x7F0D0D18, "post_indyrescmd_request_ramrom_file"] - - [0x7F0D0D74, "post_indyrescmd_1_10_2"] - - [0x7F0D0DD0, "post_indyrescmd_game_prof_sendfile"] - - [0x7F0D0E2C, "post_indyrescmd_host_prof_recv"] - - [0x7F0D0E74, "post_indyrescmd_1_B_2"] - - [0x7F0D0EBC, "post_indyrescmd_1_C_2"] - - [0x7F0D0F04, "post_indyrescmd_1_A_2"] - - [0x7F0D0F4C, "post_indyrescmd_read_command"] - - [0x7F0D10A8, "post_indyrescmd_read_2commands"] - - [0x7F0D1100, "post_indyrescmd_istype1_correctsize"] - - [0x7F0D11AC, "post_indyrescmd_istype2_correctvalue"] - - [0x7F0D1248, "post_indyrescmd_istype4_correctvalue"] - - [0x7F0D12F4, "post_indyrescmd_istype6_correctvalue"] - - [0x7F0D13B0, "post_indyrescmd_istype8_correctvalue"] - - [0x7F0D1498, "post_indyrescmd_istypeA_correctvalue"] - - [0x7F0D1544, "post_indyrescmd_istype10_correctvalue"] - - [0x7F0D160C, "post_indyrescmd_istypeE_correctvalue"] - - [0x7F0D16B8, "post_indyrescmd_istypeC_correctvalue"] - - [0x7F0D1764, "response_indyrescmd_1_4_2"] - - [0x7F0D17AC, "response_indyrescmd_1_6_2"] - - [0x7F0D17FC, "response_indyrescmd_1_8_2"] - - [0x7F0D1864, "response_indyrescmd_1_A_2"] - - [0x7F0D18AC, "response_indyrescmd_1_10_2"] - - [0x7F0D1908, "response_indyrescmd_1_E_2"] - - [0x7F0D1950, "response_indyrescmd_1_C_2"] - - [0x7F0D1998, "response_indyrescmd_curr_matches_expected"] - # file asm/game/7F0D1A20.s - - [0x7F0D1A20, "something_game_c_debug_related"] - - [0x7F0D1A4C, "reset_mem_bank_5"] - - [0x7F0D1A7C, "sub_GAME_7F0D1A7C"] - # file asm/game/compiletime.s - - [0x7F0D1AB0, "get_compile_time"] - # file asm/game/7F0D1AC0.s - - [0x7F0D1AC0, "sub_GAME_7F0D1AC0"] - - [0x7F0D1B94, "sub_GAME_7F0D1B94"] - - [0x7F0D1BD0, "sub_GAME_7F0D1BD0"] - - [0x7F0D1DCC, "sub_GAME_7F0D1DCC"] - - [0x7F0D1DFC, "sub_GAME_7F0D1DFC"] - - [0x7F0D1E44, "sub_GAME_7F0D1E44"] - - [0x7F0D1E98, "sub_GAME_7F0D1E98"] - - [0x7F0D2320, "sub_GAME_7F0D2320"] - # file asm/game/7F0D2380.s - - [0x7F0D2380, "remove_viewport_buffer"] - - [0x7F0D238C, "allocate_viewport_buffer"] - - [0x7F0D2448, "sub_GAME_7F0D2448"] - - [0x7F0D2464, "sub_GAME_7F0D2464"] - - [0x7F0D2518, "sub_GAME_7F0D2518"] - # file asm/game/7F0D2720.s - - [0x7F0D2720, "getmusictrack_or_randomtrack"] - - [0x7F0D2848, "sub_GAME_7F0D2848"] - - [0x7F0D2890, "sub_GAME_7F0D2890"] - # file asm/game/spectrum.s - - [0x7F0D28E0, "sub_GAME_7F0D28E0"] - - [0x7F0D2A84, "sub_GAME_7F0D2A84"] - - [0x7F0D2C84, "spectrum_p1controller_to_kempston"] - - [0x7F0D2FC4, "init_spectrum_game"] - - [0x7F0D3374, "run_spectrum_game"] - - [0x7F0D33B4, "spectrum_draw_screen"] - - [0x7F0D36D8, "spectrum_input_handling"] - - [0x7F0D37D4, "nullsub_50"] - - [0x7F0D37DC, "sub_GAME_7F0D37DC"] - - # for script sanity - # file asm/end.s - - [0x7F0E2D48, "endofcode"] - ########################## - # object compresseddata.rz - # .text - - [0x80020D90, "rspbootTextStart"] - - [0x80020E60, "gsp3DTextStart"] - - [0x80022280, "aspMainTextStart"] - # .data - - [0x80023044, "unknown_init_val"] - - [0x80023048, "cart_hw_address"] - - [0x8002304C, "debug_handler_table"] - - [0x8002307C, "debug_handler_table_end"] - - [0x80023094, "stderr.enable"] - - [0x80023098, "stderr.activated"] - - [0x8002309C, "stderr.permitted"] - - [0x800230A0, "user.compare"] - - [0x800230A4, "currentcount"] - - [0x800230A8, "setby_DPCfill_0"] - - [0x800230AC, "setby_DPCfill_1"] - - [0x800230D4, "tlb_segment_num"] - - [0x80023230, "counterforframes"] - - [0x80023244, "video1.settings"] - - [0x80023270, "video2.settings"] - - [0x800232A4, "ptr_video_settings1"] - - [0x800232A8, "ptr_video_settings2"] - - [0x800232AC, "coloroutputmode"] - - [0x800232C4, "jpg_16bit_grabnum"] - - [0x800232C8, "jpg_32bit_grabnum"] - - [0x800232CC, "rgb_16bit_grabnum"] - - [0x800232D0, "rgb_32bit_grabnum"] - - [0x80023304, "debug_processor_error_table"] - - [0x800236DC, "stack_ptrs_1"] - - [0x800236E0, "ptr_sp_idle_0"] - - [0x800236E4, "ptr_sp_shed_0"] - - [0x800236E8, "ptr_sp_main_0"] - - [0x800236EC, "ptr_sp_audi_0"] - - [0x800236F0, "stack_ptrs_2"] - - [0x800236F4, "ptr_sp_shed_1"] - - [0x800236F8, "ptr_sp_main_1"] - - [0x800236FC, "ptr_sp_audi_1"] - - [0x80023700, "ptr_sp_debug_0"] - - [0x80023704, "stack_ptrs_3"] - - [0x80023708, "ptr_sp_idle_2"] - - [0x8002370C, "ptr_sp_shed_2"] - - [0x80023710, "ptr_sp_main_2"] - - [0x80023714, "ptr_sp_audi_2"] - - [0x80023718, "stderr_buffer"] - - [0x80024000, "std_error_font_bitcode"] - - [0x8002417C, "ptr_videobuffer1"] - - [0x80024180, "ptr_videobuffer2"] - - [0x800241A4, "debug_and_update_stage_flag"] - - [0x800241A8, "current_stage_num"] - - [0x800241AC, "current_m_malloc_value"] - - [0x800241B0, "current_ma_malloc_value"] - - [0x800241B4, "show_mem_use_flag"] - - [0x800241B8, "show_mem_bars_flag"] - - [0x800242FC, "loadedstage"] - - [0x80024300, "debug_feature_flag"] - - [0x80024324, "u64.taskgrab.num.core_ramdump_num"] - - [0x80024334, "music1_track_num"] - - [0x80024338, "music1len"] - - [0x8002433C, "music2_track_num"] - - [0x80024340, "music2len"] - - [0x80024344, "music3_track_num"] - - [0x80024348, "music3len"] - - [0x80024358, "music_array_tempo_maybe"] - - [0x800243F8, "bootswitch_sound"] - - [0x80024404, "needmemallocation"] - - [0x80024460, "randseed"] - - [0x80024470, "strstr_numstings"] - - [0x80024474, "strstr_ptrcurrent_string"] - - [0x80024518, "start_resource"] - - [0x80024FA0, "debug_menu_x_pos_offset"] - - [0x80024FA4, "debug_menu_y_pos_offset"] - - [0x80024FA8, "debug_menu_x_text_pos"] - - [0x80024FAC, "debug_menu_y_text_pos"] - - [0x80024FB0, "stdout_display_list"] - - [0x80025030, "stdout_debug_menu_screen_buffer"] - - [0x80026610, "stdout_primary_color_table"] - - [0x80026710, "stdout_environment_color_table"] - - [0x80026810, "string_formatting"] - - [0x80026898, "end_displaylist_command"] - - [0x800268A0, "blank_C0_command"] - - [0x800268A8, "stdout_primary_color"] - - [0x800268AC, "debug_text_color"] - - [0x800268C4, "ptr_current_point_in_controller_input_index"] - - [0x800268D0, "num_controller_plugged_in_flags"] - - [0x800268D4, "num_controller_plugged_in_flags_0"] - - [0x800268D8, "controller_1_rumble_inserted"] - - [0x800268DC, "controller_2_rumble_inserted"] - - [0x800268E0, "controller_3_rumble_inserted"] - - [0x800268E4, "controller_4_rumble_inserted"] - - [0x800268E8, "controller_1_rumble_state"] - - [0x800268EC, "controller_2_rumble_state"] - - [0x800268F0, "controller_3_rumble_state"] - - [0x800268F4, "controller_4_rumble_state"] - - [0x800268F8, "controller_1_rumble_duration"] - - [0x800268FC, "controller_2_rumble_duration"] - - [0x80026900, "controller_3_rumble_duration"] - - [0x80026904, "controller_4_rumble_duration"] - - [0x80026908, "controller_1_rumble_pulse"] - - [0x8002690C, "controller_2_rumble_pulse"] - - [0x80026910, "controller_3_rumble_pulse"] - - [0x80026914, "controller_4_rumble_pulse"] - - [0x80026924, "disable_all_rumble"] - - [0x80026928, "ptr_to_tlb_ramrom_record"] - - [0x80026930, "pl1_controller_failure_lr"] - - [0x80026934, "pl2_controller_failure_lr"] - - [0x80026938, "pl3_controller_failure_lr"] - - [0x8002693C, "pl4_controller_failure_lr"] - - [0x80026940, "pl1_controller_failure_ud"] - - [0x80026944, "pl2_controller_failure_ud"] - - [0x80026948, "pl3_controller_failure_ud"] - - [0x8002694C, "pl4_controller_failure_ud"] - - [0x80026950, "pl1_controller_failure_held"] - - [0x80026954, "pl2_controller_failure_held"] - - [0x80026958, "pl3_controller_failure_held"] - - [0x8002695C, "pl4_controller_failure_held"] - - [0x80026960, "pl1_controller_failure_pressed"] - - [0x80026964, "pl2_controller_failure_pressed"] - - [0x80026968, "pl3_controller_failure_pressed"] - - [0x8002696C, "pl4_controller_failure_pressed"] - - [0x80026980, "osClockRate"] - - [0x80026988, "__osShutdown"] - - [0x8002698C, "__OSGlobalIntMask"] - - [0x80026990, "osDiskExist"] - - [0x800269A0, "__osViDevMgr"] - - [0x80027704, "__osHwIntTable"] - - [0x80027720, "__osThreadTail"] - - [0x80027728, "__osRunQueue"] - - [0x8002772C, "__osActiveQueue"] - - [0x80027730, "__osRunningThread"] - - [0x80027734, "__osFaultedThread_0"] - - [0x80027740, "spaces"] - - [0x80027764, "zeros"] - - [0x80027790, "__osPiDevMgr"] - - [0x80027794, "__osPiDevMgr.thread"] - - [0x80027798, "cmdQ"] - - [0x8002779C, "__osPiDevMgr.evtQueue"] - - [0x800277A0, "__osPiDevMgr.acsQueue"] - - [0x800277A4, "__osPiDevMgr.dma"] - - [0x800277A8, "__osPiDevMgr.edma"] - - [0x800277B0, "__osContinitialized"] - - [0x800277D0, "sin_table"] - - [0x80027FD0, "__osTimerList"] - - [0x80027FE0, "__osViCurr"] - - [0x80028010, "vi_buffer_next"] - - [0x80028040, "__osViCurr"] - - [0x80028044, "__osViNext"] - - [0x80028048, "osTvType"] - - [0x8002804C, "osViClock"] - - [0x80028050, "SMALLROOM_PARAMS"] - - [0x80028078, "soundtable2"] - - [0x800280A0, "soundtable3"] - - [0x800280C8, "soundtable4"] - - [0x800280F0, "soundtable5"] - - [0x80028118, "soundtable6"] - - [0x80028140, "ECHO_PARAMS"] - - [0x80028168, "CHORUS_PARAMS"] - - [0x80028190, "FLANGE_PARAMS"] - - [0x800281B8, "NULL_PARAMS"] - - [0x800282E0, "__osPiAccessQueueEnabled"] - - [0x800282F0, "alowercase_hex_char"] - - [0x80028304, "auppercase_hex_char"] - - [0x80028320, "OS_VI_NTSC_LAN1"] - - [0x80028370, "OS_VI_PAL_LAN1"] - - [0x800283D0, "aBoot"] - - [0x800283D8, "aRmon"] - - [0x800283E0, "aIdle"] - - [0x800283E8, "aShed"] - - [0x800283F0, "aMain"] - - [0x800283F8, "aAudi"] - - [0x80028400, "jpt_70001674"] - - [0x80028420, "aUtz2_0f"] - - [0x80028430, "aRsp2_0f"] - - [0x80028440, "aTex2_0f"] - - [0x8002844C, "a2dHz"] - - [0x80028454, "a2dFrames"] - - [0x80028460, "a2d"] - - [0x80028470, "aIL0"] - - [0x80028490, "aGrab_D_jpeg_1"] - - [0x800284A0, "aGrab_D_temp_uix"] - - [0x800284B4, "aUix2pixGrab_D_temp_uix"] - - [0x800284D0, "aFromaliasGrab_D_temp_pixGrab_D_tem"] - - [0x800284FC, "aImgcopyFjfifGrab_D_temp_rgbGrab_D_"] - - [0x8002852C, "aRmGrab_D_temp_uixGrab_D_temp_pixGr"] - - [0x80028564, "aImgviewGrab_D_jpeg"] - - [0x8002857C, "aGrab_D_jpeg"] - - [0x8002858C, "aGrab_D_temp_uix_0"] - - [0x800285A0, "aUix2pixXsDGrab_D_temp_uix"] - - [0x800285C0, "aFromaliasGrab_D_temp_pixGrab_D_t_0"] - - [0x800285EC, "aImgcopyFjfifGrab_D_temp_rgbGrab__0"] - - [0x8002861C, "aRmGrab_D_temp_uixGrab_D_temp_pix_0"] - - [0x80028654, "aImgviewGrab_D_jpeg_0"] - - [0x8002866C, "aGrab_D_rgb"] - - [0x80028678, "aGrab_D_temp_uix_1"] - - [0x8002868C, "aUix2pixGrab_D_temp_uix_0"] - - [0x800286A8, "aFromaliasGrab_D_temp_pixGrab_D_rgb"] - - [0x800286D0, "aRmGrab_D_temp_uixGrab_D_temp_pix"] - - [0x800286F8, "aImgviewGrab_D_rgb"] - - [0x8002870C, "aGrab_D_rgb_0"] - - [0x80028718, "aGrab_D_temp_uix_2"] - - [0x8002872C, "aUix2pixXsDGrab_D_temp_uix_0"] - - [0x8002874C, "aFromaliasGrab_D_temp_pixGrab_D_r_0"] - - [0x80028774, "aRmGrab_D_temp_uixGrab_D_temp_pix_1"] - - [0x8002879C, "aImgviewGrab_D_rgb_0"] - - [0x800287B0, "aDeb_c_debug"] - - [0x800287C0, "aBd"] - - [0x800287C4, "aIp8"] - - [0x800287C8, "aIp7"] - - [0x800287CC, "aIp6"] - - [0x800287D0, "aIp5"] - - [0x800287D4, "aIp4"] - - [0x800287D8, "aIp3"] - - [0x800287DC, "aIp2"] - - [0x800287E0, "aIp1"] - - [0x800287E4, "aInt"] - - [0x800287E8, "aTlbmod"] - - [0x800287F0, "aTlbload"] - - [0x800287F8, "aTlbstore"] - - [0x80028804, "aAddressErrorOnLoadOrInstructionFet"] - - [0x80028830, "aAddressErrorOnStore"] - - [0x80028848, "aBusErrorExceptionOnInstructionFetc"] - - [0x80028874, "aBusErrorExceptionOnDataReference"] - - [0x8002889C, "aSyscall"] - - [0x800288A4, "aBrk"] - - [0x800288A8, "aReservedInstruction"] - - [0x800288C0, "aCopUnusable"] - - [0x800288D0, "aOverflow"] - - [0x800288DC, "aTrap"] - - [0x800288E4, "aVirtualCoherencyExceptionOnIntruct"] - - [0x80028914, "aFpException"] - - [0x80028924, "aWatchpoint"] - - [0x80028930, "aVirtualCoherencyExceptionOnDataRef"] - - [0x80028960, "aExceptionNULL_0"] - - [0x80028964, "aCu3"] - - [0x80028968, "aCu2"] - - [0x8002896C, "aCu1"] - - [0x80028970, "aCu0"] - - [0x80028974, "aRp"] - - [0x80028978, "aFr"] - - [0x8002897C, "aRe"] - - [0x80028980, "aBev"] - - [0x80028984, "aTs"] - - [0x80028988, "aSr"] - - [0x8002898C, "aCh"] - - [0x80028990, "aCe"] - - [0x80028994, "aDe"] - - [0x80028998, "aIm8"] - - [0x8002899C, "aIm7"] - - [0x800289A0, "aIm6"] - - [0x800289A4, "aIm5"] - - [0x800289A8, "aIm4"] - - [0x800289AC, "aIm3"] - - [0x800289B0, "aIm2"] - - [0x800289B4, "aIm1"] - - [0x800289B8, "aKx"] - - [0x800289BC, "aSx"] - - [0x800289C0, "aUx"] - - [0x800289C4, "aUsr"] - - [0x800289C8, "aSup"] - - [0x800289CC, "aKer"] - - [0x800289D0, "aErl"] - - [0x800289D4, "aExl"] - - [0x800289D8, "aIe"] - - [0x800289DC, "aExceptionNULL_1"] - - [0x800289E0, "aFs"] - - [0x800289E4, "aC_1"] - - [0x800289E8, "aUnimplemented"] - - [0x800289F8, "aInvalidOp"] - - [0x80028A04, "aBy0_0"] - - [0x80028A10, "aOverflow_0"] - - [0x80028A1C, "aUnderflow"] - - [0x80028A28, "aInexactOp"] - - [0x80028A34, "aEv"] - - [0x80028A38, "aEz"] - - [0x80028A3C, "aEo"] - - [0x80028A40, "aEu"] - - [0x80028A44, "aEi"] - - [0x80028A48, "aFv"] - - [0x80028A4C, "aFz"] - - [0x80028A50, "aFo"] - - [0x80028A54, "aFu"] - - [0x80028A58, "aFi"] - - [0x80028A5C, "aRn"] - - [0x80028A60, "aRz"] - - [0x80028A64, "aRp_1"] - - [0x80028A68, "aRm"] - - [0x80028A6C, "aExceptionNULL"] - - [0x80028A70, "aMl0Me0Mgfx70Mvtx50Mt625Ma275"] - - [0x80028A9C, "aMl0Me0Mgfx70Mvtx50Mt650Ma160"] - - [0x80028AC8, "aMl0Me0Mgfx100Mvtx50Mt610Ma300"] - - [0x80028AF4, "aMl0Me0Mgfx70Mvtx50Mt600Ma300"] - - [0x80028B20, "aMl0Me0Mgfx100Mvtx50Mt700Ma150"] - - [0x80028B4C, "aMl0Me0Mgfx70Mvtx50Mt660Ma150"] - - [0x80028B78, "aMl0Me0Mgfx70Mvtx50Mt750Ma225"] - - [0x80028BA4, "aMl0Me0Mgfx100Mvtx50Mt550Ma350"] - - [0x80028BD0, "aMl0Me0Mgfx100Mvtx50Mt725Ma150"] - - [0x80028BFC, "aMl0Me0Mgfx70Mvtx50Mt750Ma220"] - - [0x80028C28, "aMl0Me0Mgfx70Mvtx50Mt600Ma250"] - - [0x80028C54, "aMl0Me0Mgfx60Mvtx40Mt635Ma290"] - - [0x80028C80, "aMl0Me0Mgfx60Mvtx50Mt710Ma300"] - - [0x80028CAC, "aMl0Me0Mgfx100Mvtx50Mt600Ma200"] - - [0x80028CD8, "aMl0Me0Mgfx70Mvtx50Mt500Ma200"] - - [0x80028D04, "aMl0Me0Mgfx70Mvtx50Mt671Ma200"] - - [0x80028D30, "aMl0Me0Mgfx100Mvtx50Mt650Ma250"] - - [0x80028D5C, "aMl0Me0Mgfx100Mvtx50Mt530Ma250"] - - [0x80028D88, "aMl0Me0Mgfx60Mvtx40Mt855Ma135"] - - [0x80028DB4, "aMl0Me0Mgfx100Mvtx50Mt600Ma250"] - - [0x80028DE0, "aMl0Me0Mgfx100Mvtx50Mt650Ma150"] - - [0x80028E0C, "aMl0Me0Mgfx100Mvtx50Mt300Ma300"] - - [0x80028E38, "aMl0Me0Mgfx80Mvtx20Mt646Ma001"] - - [0x80028E60, "aMl0Me0Mgfx60Mvtx20Mt500Ma001"] - - [0x80028E88, "aMl0Me0Mgfx60Mvtx20Mt500Ma001_0"] - - [0x80028EB0, "aMl0Me0Mgfx130Mvtx100Mt390Ma100"] - - [0x80028EDC, "aMl0Me0Mgfx130Mvtx100Mt400Ma100"] - - [0x80028F08, "aMl0Me0Mgfx130Mvtx100Mt400Ma100_0"] - - [0x80028F34, "aMl0Me0Mgfx130Mvtx100Mt400Ma100_1"] - - [0x80028F60, "aMl0Me0Mgfx130Mvtx100Mt400Ma100_2"] - - [0x80028F8C, "aMl0Me0Mgfx130Mvtx100Mt400Ma300"] - - [0x80028FB8, "aMl0Me0Mgfx130Mvtx100Mt550Ma170"] - - [0x80028FE4, "aMl0Me0Mgfx80Mvtx100Mt550Ma250"] - - [0x80029010, "aMl0Me0Mgfx130Mvtx100Mt440Ma220"] - - [0x8002903C, "aMl0Me0Mgfx90Mvtx100Mt550Ma230"] - - [0x80029068, "aMl0Me0Mgfx110Mvtx100Mt350Ma400"] - - [0x80029094, "aMl0Me0Mgfx100Mvtx50Mt700Ma400"] - - [0x800290C0, "aLevel_"] - - [0x800290C8, "aMl0Me0Mgfx100Mvtx50Mt700Ma400_1"] - - [0x800290FC, "aM"] - - [0x80029100, "aM_1"] - - [0x80029104, "aLevel__0"] - - [0x8002910C, "aLevel__1"] - - [0x80029114, "aHard"] - - [0x8002911C, "aHard_1"] - - [0x80029124, "aHard_2"] - - [0x8002912C, "aMa"] - - [0x80029130, "aMa_0"] - - [0x80029134, "aU64_taskgrab_D_core"] - - [0x8002914C, "aBoss_c_debug"] - - [0x80029160, "jpt_70007FB4"] - - [0x800291A0, "aMemp_c_debug"] - - [0x800291B0, "aMf"] - - [0x800291B4, "aMf_0"] - - [0x800291B8, "aMl"] - - [0x800291BC, "aMl_0"] - - [0x800291C0, "aMe"] - - [0x800291C4, "aMe_0"] - - [0x800291D0, "aMema_c_debug"] - - [0x800291E0, "aD_3"] - - [0x800291E4, "a___"] - - [0x800291E8, "aD_5"] - - [0x800291F4, "aD_6"] - - [0x800291F8, "aS_2"] - - [0x800291FC, "aJ"] - - [0x80029200, "aVi_c_debug"] - - [0x80029210, "a31m40m"] - - [0x8002921C, "a37m40m"] - - [0x80029228, "a32m40m"] - - [0x80029234, "a33m40m"] - - [0x80029240, "a34m40m"] - - [0x8002924C, "a35m40m"] - - [0x80029258, "a36m40m"] - - [0x80029264, "a37m44m"] - - [0x80029270, "a31m44m"] - - [0x8002927C, "a32m44m"] - - [0x80029288, "a33m44m"] - - [0x80029294, "a30m44m"] - - [0x800292A0, "a35m44m"] - - [0x800292AC, "a36m44m"] - - [0x800292B8, "a37m41m"] - - [0x800292C4, "a30m41m"] - - [0x800292D0, "a32m41m"] - - [0x800292DC, "a33m41m"] - - [0x800292E8, "a34m41m"] - - [0x800292F4, "a35m41m"] - - [0x80029300, "a36m41m"] - - [0x8002930C, "a37m45m"] - - [0x80029318, "a31m45m"] - - [0x80029324, "a32m45m"] - - [0x80029330, "a33m45m"] - - [0x8002933C, "a34m45m"] - - [0x80029348, "a30m45m"] - - [0x80029354, "a36m45m"] - - [0x80029360, "a37m42m"] - - [0x8002936C, "a31m42m"] - - [0x80029378, "a30m42m"] - - [0x80029384, "a33m42m"] - - [0x80029390, "aJoy_c_debug"] - - [0x800293A0, "__osRcpImTable"] - - [0x80029440, "__osIntOffTable"] - - [0x80029460, "__osIntTable"] - - [0x80029490, "jpt_70011278"] - - [0x80029614, "jpt_70011AC8"] - - [0x80029674, "jpt_70011B04"] - - [0x800296F0, "aHll"] - - [0x800296F4, "printf_symbols"] - - [0x800296FC, "byteshiftleft_lookup"] - - [0x80029714, "jpt_70013944"] - - [0x80029830, "jpt_70019520"] - - [0x80029850, "jpt_7001A628"] - - [0x80029890, "aAssertionFaultSSLineD"] - - [0x800298BC, "aSamples0"] - - [0x800298CC, "aEnv_c"] - - [0x800298D4, "aAssertionFaultSSLineD_0"] - - [0x80029900, "aSamplesAl_max_rsp_samples"] - - [0x80029920, "aEnv_c_0"] - - [0x80029928, "aAssertionFaultSSLineD_1"] - - [0x80029954, "aSource"] - - [0x8002995C, "aEnv_c_1"] - - [0x80029968, "jpt_7001AF6C"] - - [0x80029A50, "jpt_7001C498"] - - [0x80029BD4, "jpt_7001C98C"] - - [0x80029C28, "jpt_7001CCD8"] - - [0x80029C90, "digits"] - - [0x80029CD8, "aNan"] - - [0x80029CDC, "aInf"] - - [0x80029CF0, "jpt_7001E80C"] - - [0x80029D10, "jpt_7001FFCC"] - - [0x80029D6C, "animation_table_ptrs1"] - - [0x8002A04C, "animation_table_ptrs2"] - - [0x8002A060, "global_action_block_temp_buffer"] - - [0x8002A23C, "weapon_models_for_weapon_load"] - - [0x8002A260, "ptr_monitorimageobjectanimationcontroller"] - - [0x8002A2D4, "unknown_object_animation_controller"] - - [0x8002A348, "taser_object_animation_controller"] - - [0x8002A3C0, "scale_1_0_item_related"] - - [0x8002A3D0, "BONDdata_item_control_blocks_initdata"] - - [0x8002A83C, "D_8002A83C"] - - [0x8002A848, "D_8002A848"] - - [0x8002A8A0, "intro_eye_counter"] - - [0x8002A8A4, "intro_state_blood_animation"] - - [0x8002A8C0, "current_menu"] - - [0x8002A8C4, "menu_update"] - - [0x8002A8C8, "maybe_prev_menu"] - - [0x8002A8CC, "menu_timer"] - - [0x8002A8D0, "tab_1_selected"] - - [0x8002A8D4, "tab_2_selected"] - - [0x8002A8D8, "tab_3_selected"] - - [0x8002A8DC, "tab_1_highlight"] - - [0x8002A8E0, "tab_2_highlight"] - - [0x8002A8E4, "tab_3_highlight"] - - [0x8002A8E8, "selected_folder_num"] - - [0x8002A8EC, "selected_folder_num_copy"] - - [0x8002A8F0, "gamemode"] - - [0x8002A8F4, "selected_stage"] - - [0x8002A8F8, "ptr_briefingdata"] - - [0x8002A8FC, "selected_difficulty"] - - [0x8002A900, "append_cheat_sp"] - - [0x8002A904, "append_cheat_mp"] - - [0x8002A908, "cursor_h_pos"] - - [0x8002A90C, "cursor_v_pos"] - - [0x8002A910, "final_menu_briefing_page"] - - [0x8002A914, "current_menu_briefing_page"] - - [0x8002A918, "folder_selection_screen_option_icon"] - - [0x8002A91C, "folder_selected_for_deletion"] - - [0x8002A920, "folder_selected_for_deletion_choice"] - - [0x8002A924, "mission_failed_or_aborted"] - - [0x8002A928, "mission_kia"] - - [0x8002A92C, "is_first_time_on_legal_screen"] - - [0x8002A930, "is_first_time_on_main_menu"] - - [0x8002A934, "prev_keypresses"] - - [0x8002A93C, "maybe_is_in_menu"] - - [0x8002A940, "screen_size"] - - [0x8002A948, "is_emulating_spectrum"] - - [0x8002A94C, "is_cheat_menu_available"] - - [0x8002A950, "ptr_logo_and_walletbond_DL"] - - [0x8002A954, "ptr_menu_videobuffer"] - - [0x8002A958, "something_legalscreen_constructor"] - - [0x8002A95C, "ptr_folder_object_instance"] - - [0x8002A960, "set0_never_used"] - - [0x8002A964, "set0_never_used_0"] - - [0x8002A9A0, "slider_007_mode_reaction"] - - [0x8002A9A4, "slider_007_mode_health"] - - [0x8002A9A8, "slider_007_mode_accuracy"] - - [0x8002A9AC, "slider_007_mode_damage"] - - [0x8002ABC4, "folder_option_COPY_left_bound"] - - [0x8002ABC8, "folder_option_COPY_upper_bound"] - - [0x8002ABCC, "folder_option_COPY_right_bound"] - - [0x8002ABD0, "folder_option_COPY_lower_bound"] - - [0x8002ABD4, "folder_option_ERASE_left_bound"] - - [0x8002ABD8, "folder_option_ERASE_upper_bound"] - - [0x8002ABDC, "folder_option_ERASE_right_bound"] - - [0x8002ABE0, "folder_option_ERASE_lower_bound"] - - [0x8002ABE4, "mission_folder_setup_entries"] - - [0x8002ACC8, "aAB"] - - [0x8002AD8C, "aEJ"] - - [0x8002AEC0, "aXC"] - - [0x8002AEF8, "aSS"] - - [0x8002AF2C, "unknown_folderselect_constructor"] - - [0x8002AF38, "unknown_folderselect_constructor_0"] - - [0x8002AF44, "unknown_folderselect"] - - [0x8002AFD0, "cursor_xpos_table_mission_select"] - - [0x8002AFE4, "cursor_ypos_table_mission_select"] - - [0x8002B074, "multi_stage_setups"] - - [0x8002B08C, "aA_9"] - - [0x8002B194, "num_chars_selectable_mp"] - - [0x8002B198, "mp_chr_setup"] - - [0x8002B498, "MP_handicap_table"] - - [0x8002B520, "selected_num_players"] - - [0x8002B524, "player_1_char"] - - [0x8002B528, "player_2_char"] - - [0x8002B52C, "player_3_char"] - - [0x8002B530, "player_4_char"] - - [0x8002B534, "MP_stage_selected"] - - [0x8002B538, "game_length"] - - [0x8002B53C, "aim_sight_adjustment"] - - [0x8002B540, "scenario"] - - [0x8002B544, "unlock_stage_select"] - - [0x8002B548, "unlock_game_length"] - - [0x8002B54C, "unlock_chars"] - - [0x8002B550, "unlock_weapon_select"] - - [0x8002B554, "unlock_handicap"] - - [0x8002B558, "unlock_control_style"] - - [0x8002B55C, "unlock_aim_sight"] - - [0x8002B5E4, "MP_menu_selected_option"] - - [0x8002B5E8, "do_not_play_intro_movie"] - - [0x8002B5EC, "randomly_selected_intro_animation"] - - [0x8002B5F0, "intro_animation_count"] - - [0x8002B5FC, "full_actor_intro"] - - [0x8002B600, "intro_char_table"] - - [0x8002B8BC, "intro_animation_table"] - - [0x8002B994, "a?fff"] - - [0x8002B9A4, "a?fff_0"] - - [0x8002B9B4, "a?fff_1"] - - [0x8002B9D4, "a?fff_2"] - - [0x8002B9E4, "a?fff_3"] - - [0x8002BA38, "random_rifles_in_intro"] - - [0x8002BA50, "random_pistols_in_intro"] - - [0x8002BAF0, "color_palette_entries_50_percent"] - - [0x8002BB30, "die_blood_image_1"] - - [0x8002C510, "save1_selected_bond"] - - [0x8002C514, "save2_selected_bond"] - - [0x8002C518, "save3_selected_bond"] - - [0x8002C51C, "save4_selected_bond"] - - [0x8002C8A0, "blank_eeprom"] - - [0x8002C900, "animation_rate"] - - [0x8002CC5C, "show_patrols"] - - [0x8002CC60, "player1_guardID"] - - [0x8002CC64, "ptr_guard_data"] - - [0x8002CD00, "num_bodies"] - - [0x8002CD04, "num_male_heads"] - - [0x8002CD08, "num_female_heads"] - - [0x8002CD0C, "list_of_bodies"] - - [0x8002CDB8, "random_male_heads"] - - [0x8002CE20, "random_female_heads"] - - [0x8002CE34, "current_random_body"] - - [0x8002CE38, "current_random_male_head"] - - [0x8002CE3C, "current_random_female_head"] - - [0x8002CE40, "ai_accuracy_modifier"] - - [0x8002CE44, "ai_damage_modifier"] - - [0x8002CE48, "ai_health_modifier"] - - [0x8002CE4C, "ai_reaction_speed"] - - [0x8002CE50, "setting_007_5"] - - [0x8002E93C, "expl_forward"] - - [0x8002E944, "expl_f_left"] - - [0x8002E948, "expl_f_right"] - - [0x8002E94C, "expl_left"] - - [0x8002E950, "expl_right"] - - [0x8002E954, "expl_back"] - - [0x8002E958, "expl_b_right"] - - [0x8002E95C, "expl_b_left"] - - [0x8002E960, "explosion_animation_table"] - - [0x8002E9A0, "rifle_firing_animation_group1"] - - [0x8002EA30, "ptr_rifle_firing_animation_group1"] - - [0x8002EA38, "rifle_firing_animation_group2"] - - [0x8002EB10, "ptr_rifle_firing_animation_group2"] - - [0x8002EB18, "rifle_firing_animation_group5"] - - [0x8002EBF0, "ptr_rifle_firing_animation_group5"] - - [0x8002EBF8, "rifle_firing_animation_group3"] - - [0x8002EC88, "ptr_rifle_firing_animation_group3"] - - [0x8002EC90, "rifle_firing_animation_group4"] - - [0x8002ED20, "ptr_rifle_firing_animation_group4"] - - [0x8002ED28, "ptr_rifle_firing_animation_groups"] - - [0x8002EDA8, "pistol_firing_animation_group1"] - - [0x8002EF10, "ptr_pistol_firing_animation_group1"] - - [0x8002EF18, "pistol_firing_animation_group2"] - - [0x8002EFF0, "ptr_pistol_firing_animation_group2"] - - [0x8002EFF8, "pistol_firing_animation_group3"] - - [0x8002F160, "ptr_pistol_firing_animation_group3"] - - [0x8002F168, "pistol_firing_animation_group6"] - - [0x8002F204, "a@cF@r"] - - [0x8002F20C, "aC_3"] - - [0x8002F210, "aBx"] - - [0x8002F214, "aB_2"] - - [0x8002F218, "aBt"] - - [0x8002F21C, "aB_3"] - - [0x8002F220, "aA_10"] - - [0x8002F24C, "a@cF@a"] - - [0x8002F254, "aBu"] - - [0x8002F258, "aAi"] - - [0x8002F25C, "aBh"] - - [0x8002F260, "aA_11"] - - [0x8002F264, "aB_4"] - - [0x8002F268, "aA_12"] - - [0x8002F26C, "aBa"] - - [0x8002F2D0, "ptr_pistol_firing_animation_group6"] - - [0x8002F2D8, "pistol_firing_animation_group4"] - - [0x8002F368, "ptr_pistol_firing_animation_group4"] - - [0x8002F370, "pistol_firing_animation_group5"] - - [0x8002F37C, "a@cF@a_0"] - - [0x8002F384, "aBu_0"] - - [0x8002F388, "aAi_0"] - - [0x8002F38C, "aBh_0"] - - [0x8002F390, "aA_13"] - - [0x8002F394, "aB_5"] - - [0x8002F398, "aA_14"] - - [0x8002F39C, "aBa_0"] - - [0x8002F400, "ptr_pistol_firing_animation_group5"] - - [0x8002F408, "ptr_pistol_firing_animation_groups"] - - [0x8002F488, "doubles_firing_animation_group1"] - - [0x8002F518, "ptr_doubles_firing_animation_group1"] - - [0x8002F520, "doubles_firing_animation_group2"] - - [0x8002F5F8, "ptr_doubles_firing_animation_group2"] - - [0x8002F600, "doubles_firing_animation_group3"] - - [0x8002F60C, "a@cFa"] - - [0x8002F654, "a@cFa_0"] - - [0x8002F6D8, "ptr_doubles_firing_animation_group3"] - - [0x8002F6E0, "ptr_doubles_firing_animation_groups"] - - [0x8002F760, "crouched_rifle_firing_animation_group1"] - - [0x8002F838, "ptr_crouched_rifle_firing_animation_group1"] - - [0x8002F840, "crouched_rifle_firing_animation_group2"] - - [0x8002F8D0, "ptr_crouched_rifle_firing_animation_group2"] - - [0x8002F8D8, "crouched_rifle_firing_animation_group3"] - - [0x8002F968, "ptr_crouched_rifle_firing_animation_group3"] - - [0x8002F970, "ptr_crouched_rifle_firing_animation_groups"] - - [0x8002F9F0, "crouched_pistol_firing_animation_group1"] - - [0x8002FAC8, "ptr_crouched_pistol_firing_animation_group1"] - - [0x8002FAD0, "crouched_pistol_firing_animation_group2"] - - [0x8002FBF0, "ptr_crouched_pistol_firing_animation_group2"] - - [0x8002FBF8, "crouched_pistol_firing_animation_group3"] - - [0x8002FC04, "a@cFap"] - - [0x8002FC4C, "a@cF"] - - [0x8002FC54, "aBk"] - - [0x8002FC58, "aB_6"] - - [0x8002FCD0, "ptr_crouched_pistol_firing_animation_group3"] - - [0x8002FCD8, "ptr_crouched_pistol_firing_animation_groups"] - - [0x8002FD58, "crouched_doubles_firing_animation_group1"] - - [0x8002FE30, "ptr_crouched_doubles_firing_animation_group1"] - - [0x8002FE38, "crouched_doubles_firing_animation_group2"] - - [0x8002FF10, "ptr_crouched_doubles_firing_animation_group2"] - - [0x8002FF18, "crouched_doubles_firing_animation_group3"] - - [0x8002FF24, "a@cFa_1"] - - [0x8002FF2C, "aB_7"] - - [0x8002FF30, "aB_8"] - - [0x8002FF34, "aBj"] - - [0x8002FF38, "aA_15"] - - [0x8002FF3C, "aA_16"] - - [0x8002FF40, "aAi_1"] - - [0x8002FF44, "aB_9"] - - [0x8002FF6C, "a@cF@r_0"] - - [0x8002FF74, "aB_10"] - - [0x8002FF78, "aB_11"] - - [0x8002FF7C, "aBp"] - - [0x8002FF80, "aA_17"] - - [0x8002FF84, "aA_18"] - - [0x8002FF88, "aAa_0"] - - [0x8002FF8C, "aBi"] - - [0x8002FFF0, "ptr_crouched_doubles_firing_animation_group3"] - - [0x8002FFF8, "ptr_crouched_doubles_firing_animation_groups"] - - [0x800308F4, "a@cF_0"] - - [0x800308FC, "aA_19"] - - [0x80030978, "objectiveregisters1"] - - [0x8003097C, "objectiveregisters2"] - - [0x80030980, "objectiveregisters3"] - - [0x800309F8, "male_guard_yelps"] - - [0x80030A2C, "female_guard_yelps"] - - [0x80030A34, "male_guard_yelp_counter"] - - [0x80030A38, "female_guard_yelp_counter"] - - [0x80030A3C, "metal_ricochet_SFX"] - - [0x80030A3E, "metal_ricochet_SFX2"] - - [0x80030A40, "metal_ricochet_SFX3"] - - [0x80030A50, "body_hit_SFX"] - - [0x80030A52, "body_hit_SFX2"] - - [0x80030A54, "body_hit_SFX3"] - - [0x80030A56, "body_hit_SFX4"] - - [0x80030A58, "body_hit_SFX5"] - - [0x80030A5A, "body_hit_SFX6"] - - [0x80030A5C, "body_hit_SFX7"] - - [0x80030A5E, "body_hit_SFX8"] - - [0x80030A60, "body_hit_SFX9"] - - [0x80030A62, "body_hit_SFXA"] - - [0x80030A64, "body_hit_SFXB"] - - [0x80030A66, "body_hit_SFXC"] - - [0x80030AA0, "ptr_obj_pos_list_current_entry"] - - [0x80030AA4, "ptr_obj_pos_list_first_entry"] - - [0x80030AA8, "ptr_obj_pos_list_final_entry"] - - [0x80030AAC, "difficulty"] - - [0x80030AC0, "alarm_timer"] - - [0x80030AC4, "ptr_alarm_sfx"] - - [0x80030AC8, "toxic_gas_sound_timer"] - - [0x80030ACC, "activate_gas_sound_timer"] - - [0x80030AE8, "clock"] - - [0x80030B28, "solo_ammo_multiplier"] - - [0x80030B2C, "Throwing_knife_SFX"] - - [0x80030B2E, "Throwing_knife_SFX_2"] - - [0x80030B30, "Throwing_knife_SFX_3"] - - [0x80030B32, "Throwing_knife_SFX_4"] - - [0x80030B74, "monitor_animation_microcode"] - - [0x80032094, "blank_07_object"] - - [0x80032114, "blank_11_object"] - - [0x80032194, "blank_08_object_preset_1"] - - [0x8003221C, "blank_08_object_preset_4001"] - - [0x800322F0, "num_objective_ptrs"] - - [0x80032320, "table_1"] - - [0x8003239C, "table_2"] - - [0x8003241C, "table_3"] - - [0x8003245C, "allocation_size_0"] - - [0x80032460, "allocation_size_1"] - - [0x8003246C, "ejected_cartridge"] - - [0x800324CC, "a?l?fff?a"] - - [0x80032504, "GfistZ_stats"] - - [0x8003253C, "a?l?ys?a"] - - [0x80032574, "GknifeZ_stats"] - - [0x800325AC, "a?l?ys?a_0"] - - [0x800325E4, "GthrowknifeZ_stats"] - - [0x8003261C, "a?l?ys?a_1"] - - [0x80032654, "GwppkZ_stats"] - - [0x8003268C, "a?l?ys?a_2"] - - [0x800326C4, "GwppksilZ_stats"] - - [0x800326FC, "a?l?ys?a_3"] - - [0x80032734, "Gtt33Z_stats"] - - [0x8003276C, "a?l?ys?a_4"] - - [0x800327A4, "GskorpianZ_stats"] - - [0x800327DC, "a?l?c?a"] - - [0x80032814, "Gak47Z_stats"] - - [0x80032884, "GuziZ_stats"] - - [0x800328BC, "a?l?ago?a"] - - [0x800328F4, "Gmp5kZ_stats"] - - [0x8003292C, "a?l?c?a_0"] - - [0x80032964, "Gmp5ksilZ_stats"] - - [0x8003299C, "a?l?c?a_1"] - - [0x800329D4, "GspectreZ_stats"] - - [0x80032A0C, "a?l?c?a_2"] - - [0x80032A44, "Gm16Z_stats"] - - [0x80032AB4, "Gfnp90Z_stats"] - - [0x80032AEC, "a?l?R?a"] - - [0x80032B24, "GshotgunZ_stats"] - - [0x80032B5C, "a?l?fff?a_0"] - - [0x80032B94, "GautoshotZ_stats"] - - [0x80032BCC, "a?l?fff?a_1"] - - [0x80032C04, "GsniperrifleZ_stats"] - - [0x80032C74, "GrugerZ_stats"] - - [0x80032CE4, "GgoldengunZ_stats"] - - [0x80032D1C, "a?l?ys?a_5"] - - [0x80032D54, "GsilverwppkZ_stats"] - - [0x80032D8C, "a?l?ys?a_6"] - - [0x80032DC4, "GgoldwppkZ_stats"] - - [0x80032DFC, "a?l?ys?a_7"] - - [0x80032E34, "GlaserZ_stats"] - - [0x80032E6C, "a?l?c?a_3"] - - [0x80032EA4, "GwatchlaserZ_stats"] - - [0x80032EDC, "a?l?c?a_4"] - - [0x80032F14, "GgrenadelaunchZ_stats"] - - [0x80032F84, "GrocketlaunchZ_stats"] - - [0x80032FF4, "GgrenadeZ_stats"] - - [0x8003302C, "a?l?ys?a_8"] - - [0x80033064, "GtimedmineZ_stats"] - - [0x8003309C, "a?l?ys?a_9"] - - [0x800330D4, "GproximitymineZ_stats"] - - [0x8003310C, "a?l?ys?a_10"] - - [0x80033144, "GremotemineZ_stats"] - - [0x8003317C, "a?l?ys?a_11"] - - [0x800331B4, "GtriggerZ_stats"] - - [0x800331EC, "a?l?ys?a_12"] - - [0x80033224, "GtaserZ_stats"] - - [0x8003325C, "a?l?fff?a_2"] - - [0x80033294, "GtankZ_stats"] - - [0x80033304, "GbombcaseZ_stats"] - - [0x8003333C, "a?l?ys?a_13"] - - [0x80033374, "GplastiqueZ_stats"] - - [0x800333AC, "a?l?ys?a_14"] - - [0x800333E4, "GflarepistolZ_stats"] - - [0x80033454, "GpitongunZ_stats"] - - [0x800334C4, "GbugZ_stats"] - - [0x800334FC, "a?l?ys?a_15"] - - [0x80033534, "GmicrocameraZ_stats"] - - [0x8003356C, "a?l?ys?a_16"] - - [0x800335A4, "GwatchmagnetattractZ_stats"] - - [0x800335DC, "a?l?ys?a_17"] - - [0x80033614, "GgoldeneyekeyZ_stats"] - - [0x8003364C, "a?l?ys?a_18"] - - [0x80033684, "GcameraZ_stats"] - - [0x800336BC, "a?l?ys?a_19"] - - [0x800336F4, "Csuit_lf_handz_stats"] - - [0x8003372C, "a?l?fff?a_3"] - - [0x80033764, "GjoypadZ_stats"] - - [0x80036424, "camera_80036424"] - - [0x80036428, "resolution"] - - [0x8003642C, "camera_8003642C"] - - [0x80036430, "camera_80036430"] - - [0x80036434, "camera_80036434"] - - [0x80036438, "camera_80036438"] - - [0x800365AC, "dummy_08_pp7_obj"] - - [0x800368E0, "aBu_1"] - - [0x800368E8, "aBo"] - - [0x80036944, "aB_36"] - - [0x8003694C, "aBi_0"] - - [0x800369BC, "aB4"] - - [0x800369C4, "aB_37"] - - [0x80036A48, "aB_38"] - - [0x80036A50, "aB_39"] - - [0x80036E30, "mcm_strings"] - - [0x80036F64, "debug_render_raster"] - - [0x80036F68, "debug_freeze_processing"] - - [0x80036F6C, "debug_limit_controller_input"] - - [0x80036F70, "debug_unknown"] - - [0x80036F74, "debug_fps_counter_membars"] - - [0x80036F78, "debug_do_draw_bg"] - - [0x80036F7C, "debug_do_draw_obj"] - - [0x80036F80, "debug_unknown2"] - - [0x80036F84, "line_mode"] - - [0x80036F88, "debug_man_pos"] - - [0x80036F8C, "turbo_mode"] - - [0x80036FB0, "debug_enable_agent_levels_flag"] - - [0x80036FB4, "debug_enable_all_levels_flag"] - - [0x80036FC4, "debug_walk_through_doors"] - - [0x80036FCC, "debug_fast_bond_flag"] - - [0x80036FD0, "debug_all_obj_complete"] - - [0x800374E4, "setup_text_pointers"] - - [0x800375D0, "Palarm1z_header"] - - [0x800375F0, "Palarm2Z_header"] - - [0x80037610, "PexplosionbitZ_header"] - - [0x80037630, "Pammo_crate1Z_header"] - - [0x80037650, "Pammo_crate2Z_header"] - - [0x80037670, "Pammo_crate3Z_header"] - - [0x80037690, "Pammo_crate4Z_header"] - - [0x800376B0, "Pammo_crate5Z_header"] - - [0x800376D0, "Pbin1Z_header"] - - [0x800376F0, "Pblotter1Z_header"] - - [0x80037710, "Pbook1Z_header"] - - [0x80037730, "Pbookshelf1Z_header"] - - [0x80037750, "Pbridge_console1aZ_header"] - - [0x80037770, "Pbridge_console1bZ_header"] - - [0x80037790, "Pbridge_console2aZ_header"] - - [0x800377B0, "Pbridge_console2bZ_header"] - - [0x800377D0, "Pbridge_console3aZ_header"] - - [0x800377F0, "Pbridge_console3bZ_header"] - - [0x80037810, "Pcard_box1Z_header"] - - [0x80037830, "Pcard_box2Z_header"] - - [0x80037850, "Pcard_box3Z_header"] - - [0x80037870, "Pcard_box4_lgZ_header"] - - [0x80037890, "Pcard_box5_lgZ_header"] - - [0x800378B0, "Pcard_box6_lgZ_header"] - - [0x800378D0, "PcctvZ_header"] - - [0x800378F0, "Pconsole1Z_header"] - - [0x80037910, "Pconsole2Z_header"] - - [0x80037930, "Pconsole3Z_header"] - - [0x80037950, "Pconsole_sevaZ_header"] - - [0x80037970, "Pconsole_sevbZ_header"] - - [0x80037990, "Pconsole_sevcZ_header"] - - [0x800379B0, "Pconsole_sevdZ_header"] - - [0x800379D0, "Pconsole_sev2aZ_header"] - - [0x800379F0, "Pconsole_sev2bZ_header"] - - [0x80037A10, "Pconsole_sev2cZ_header"] - - [0x80037A30, "Pconsole_sev2dZ_header"] - - [0x80037A50, "Pconsole_sev_GEaZ_header"] - - [0x80037A70, "Pconsole_sev_GEbZ_header"] - - [0x80037A90, "Pdesk1Z_header"] - - [0x80037AB0, "Pdesk2Z_header"] - - [0x80037AD0, "Pdesk_lamp2Z_header"] - - [0x80037AF0, "Pdisc_readerZ_header"] - - [0x80037B10, "Pdisk_drive1Z_header"] - - [0x80037B30, "Pfiling_cabinet1Z_header"] - - [0x80037B50, "Pjerry_can1Z_header"] - - [0x80037B70, "Pkeyboard1Z_header"] - - [0x80037B90, "Pkit_units1Z_header"] - - [0x80037BB0, "Pletter_tray1Z_header"] - - [0x80037BD0, "Pmainframe1Z_header"] - - [0x80037BF0, "Pmainframe2Z_header"] - - [0x80037C10, "Pmetal_chair1Z_header"] - - [0x80037C30, "Pmetal_crate1Z_header"] - - [0x80037C50, "Pmetal_crate2Z_header"] - - [0x80037C70, "Pmetal_crate3Z_header"] - - [0x80037C90, "Pmetal_crate4Z_header"] - - [0x80037CB0, "Pmissile_rackZ_header"] - - [0x80037CD0, "Pmissile_rack2Z_header"] - - [0x80037CF0, "Poil_drum1Z_header"] - - [0x80037D10, "Poil_drum2Z_header"] - - [0x80037D30, "Poil_drum3Z_header"] - - [0x80037D50, "Poil_drum5Z_header"] - - [0x80037D70, "Poil_drum6Z_header"] - - [0x80037D90, "Poil_drum7Z_header"] - - [0x80037DB0, "PpadlockZ_header"] - - [0x80037DD0, "Pphone1Z_header"] - - [0x80037DF0, "Pradio_unit1Z_header"] - - [0x80037E10, "Pradio_unit2Z_header"] - - [0x80037E30, "Pradio_unit3Z_header"] - - [0x80037E50, "Pradio_unit4Z_header"] - - [0x80037E70, "Psat1_reflectZ_header"] - - [0x80037E90, "PsatdishZ_header"] - - [0x80037EB0, "PsatboxZ_header"] - - [0x80037ED0, "Pstool1Z_header"] - - [0x80037EF0, "Pswivel_chair1Z_header"] - - [0x80037F10, "Ptorpedo_rackZ_header"] - - [0x80037F30, "Ptv1Z_header"] - - [0x80037F50, "Ptv_holderZ_header"] - - [0x80037F70, "PtvscreenZ_header"] - - [0x80037F90, "Ptv4screenZ_header"] - - [0x80037FB0, "Pwood_lg_crate1Z_header"] - - [0x80037FD0, "Pwood_lg_crate2Z_header"] - - [0x80037FF0, "Pwood_md_crate3Z_header"] - - [0x80038010, "Pwood_sm_crate4Z_header"] - - [0x80038030, "Pwood_sm_crate5Z_header"] - - [0x80038050, "Pwood_sm_crate6Z_header"] - - [0x80038070, "Pwooden_table1Z_header"] - - [0x80038090, "Pswipe_card2Z_header"] - - [0x800380B0, "Pborg_crateZ_header"] - - [0x800380D0, "Pboxes4x4Z_header"] - - [0x800380F0, "Pboxes3x4Z_header"] - - [0x80038110, "Pboxes2x4Z_header"] - - [0x80038130, "Psec_panelZ_header"] - - [0x80038150, "PICBM_noseZ_header"] - - [0x80038170, "PICBMZ_header"] - - [0x80038190, "Ptuning_console1Z_header"] - - [0x800381B0, "Pdesk_arecibo1Z_header"] - - [0x800381D0, "Plocker3Z_header"] - - [0x800381F0, "Plocker4Z_header"] - - [0x80038210, "ProofgunZ_header"] - - [0x80038230, "Pdest_engineZ_header"] - - [0x80038250, "Pdest_exocetZ_header"] - - [0x80038270, "Pdest_gunZ_header"] - - [0x80038290, "Pdest_harpoonZ_header"] - - [0x800382B0, "Pdest_seawolfZ_header"] - - [0x800382D0, "PwindowZ_header"] - - [0x800382F0, "Pwindow_lib_lg1Z_header"] - - [0x80038310, "Pwindow_lib_sm1Z_header"] - - [0x80038330, "Pwindow_cor11Z_header"] - - [0x80038350, "Pjungle3_treeZ_header"] - - [0x80038370, "PpalmZ_header"] - - [0x80038390, "PpalmtreeZ_header"] - - [0x800383B0, "Pplant2bZ_header"] - - [0x800383D0, "PlabbenchZ_header"] - - [0x800383F0, "PgasbarrelZ_header"] - - [0x80038410, "PgasbarrelsZ_header"] - - [0x80038430, "PbodyarmourZ_header"] - - [0x80038450, "PbodyarmourvestZ_header"] - - [0x80038470, "PgastankZ_header"] - - [0x80038490, "Pglassware1Z_header"] - - [0x800384B0, "PhatchboltZ_header"] - - [0x800384D0, "PbrakeunitZ_header"] - - [0x800384F0, "Pak47magZ_header"] - - [0x80038510, "Pm16magZ_header"] - - [0x80038530, "Pmp5kmagZ_header"] - - [0x80038550, "PskorpionmagZ_header"] - - [0x80038570, "PspectremagZ_header"] - - [0x80038590, "PuzimagZ_header"] - - [0x800385B0, "PsilencerZ_header"] - - [0x800385D0, "PchrextinguisherZ_header"] - - [0x800385F0, "PboxcartridgesZ_header"] - - [0x80038610, "Pfnp90magZ_header"] - - [0x80038630, "PgoldenshellsZ_header"] - - [0x80038650, "PmagnumshellsZ_header"] - - [0x80038670, "PwppkmagZ_header"] - - [0x80038690, "Ptt33magZ_header"] - - [0x800386B0, "Psev_doorZ_header"] - - [0x800386D0, "Psev_door3Z_header"] - - [0x800386F0, "Psev_door3_windZ_header"] - - [0x80038710, "Psev_door4_windZ_header"] - - [0x80038730, "Psev_trislideZ_header"] - - [0x80038750, "Psev_door_v1Z_header"] - - [0x80038770, "Psteel_door1Z_header"] - - [0x80038790, "Psteel_door2Z_header"] - - [0x800387B0, "Psteel_door3Z_header"] - - [0x800387D0, "Psilo_lift_doorZ_header"] - - [0x800387F0, "Psteel_door2bZ_header"] - - [0x80038810, "Pdoor_roller1Z_header"] - - [0x80038830, "Pdoor_roller2Z_header"] - - [0x80038850, "Pdoor_roller3Z_header"] - - [0x80038870, "Pdoor_roller4Z_header"] - - [0x80038890, "Pdoor_st_arec1Z_header"] - - [0x800388B0, "Pdoor_st_arec2Z_header"] - - [0x800388D0, "Pdoor_dest1Z_header"] - - [0x800388F0, "Pdoor_dest2Z_header"] - - [0x80038910, "Pgas_plant_sw_do1Z_header"] - - [0x80038930, "Pgas_plant_sw2_do1Z_header"] - - [0x80038950, "Pgas_plant_sw3_do1Z_header"] - - [0x80038970, "Pgas_plant_sw4_do1Z_header"] - - [0x80038990, "Pgas_plant_met1_do1Z_header"] - - [0x800389B0, "Pgas_plant_wc_cub1Z_header"] - - [0x800389D0, "Pgasplant_clear_doorZ_header"] - - [0x800389F0, "Ptrain_doorZ_header"] - - [0x80038A10, "Ptrain_door2Z_header"] - - [0x80038A30, "Ptrain_door3Z_header"] - - [0x80038A50, "Pdoor_eyelidZ_header"] - - [0x80038A70, "Pdoor_irisZ_header"] - - [0x80038A90, "PsevdoorwoodZ_header"] - - [0x80038AB0, "PsevdoorwindZ_header"] - - [0x80038AD0, "PsevdoornowindZ_header"] - - [0x80038AF0, "PsevdoormetslideZ_header"] - - [0x80038B10, "Pcryptdoor1aZ_header"] - - [0x80038B30, "Pcryptdoor1bZ_header"] - - [0x80038B50, "Pcryptdoor2aZ_header"] - - [0x80038B70, "Pcryptdoor2bZ_header"] - - [0x80038B90, "Pcryptdoor3Z_header"] - - [0x80038BB0, "Pcryptdoor4Z_header"] - - [0x80038BD0, "PvertdoorZ_header"] - - [0x80038BF0, "PhatchdoorZ_header"] - - [0x80038C10, "PdamgatedoorZ_header"] - - [0x80038C30, "PdamtundoorZ_header"] - - [0x80038C50, "PdamchaindoorZ_header"] - - [0x80038C70, "PsilotopdoorZ_header"] - - [0x80038C90, "Pdoorprison1Z_header"] - - [0x80038CB0, "PdoorstatgateZ_header"] - - [0x80038CD0, "PchrkalashZ_header"] - - [0x80038CE0, "aC_11"] - - [0x80038CF0, "PchrgrenadelaunchZ_header"] - - [0x80038D00, "aCX"] - - [0x80038D10, "PchrknifeZ_header"] - - [0x80038D20, "aCuM"] - - [0x80038D30, "PchrlaserZ_header"] - - [0x80038D40, "aCT"] - - [0x80038D50, "Pchrm16Z_header"] - - [0x80038D70, "Pchrmp5kZ_header"] - - [0x80038D80, "aCki@"] - - [0x80038D90, "PchrrugerZ_header"] - - [0x80038DB0, "PchrwppkZ_header"] - - [0x80038DD0, "PchrshotgunZ_header"] - - [0x80038DF0, "PchrskorpionZ_header"] - - [0x80038E00, "aC7I"] - - [0x80038E10, "PchrspectreZ_header"] - - [0x80038E20, "aCpvv"] - - [0x80038E30, "PchruziZ_header"] - - [0x80038E50, "PchrgrenadeZ_header"] - - [0x80038E70, "Pchrfnp90Z_header"] - - [0x80038E90, "PchrbriefcaseZ_header"] - - [0x80038EB0, "PchrremotemineZ_header"] - - [0x80038EC0, "aBo_0"] - - [0x80038ED0, "PchrproximitymineZ_header"] - - [0x80038EE0, "aBodk"] - - [0x80038EF0, "PchrtimedmineZ_header"] - - [0x80038F00, "aBoX"] - - [0x80038F10, "PchrrocketZ_header"] - - [0x80038F20, "aClnd"] - - [0x80038F30, "PchrgrenaderoundZ_header"] - - [0x80038F50, "PchrwppksilZ_header"] - - [0x80038F70, "Pchrtt33Z_header"] - - [0x80038F90, "Pchrmp5ksilZ_header"] - - [0x80038FB0, "PchrautoshotZ_header"] - - [0x80038FC0, "aCQ_0"] - - [0x80038FD0, "PchrgoldenZ_header"] - - [0x80038FF0, "PchrthrowknifeZ_header"] - - [0x80039000, "aCyuo"] - - [0x80039010, "PchrsniperrifleZ_header"] - - [0x80039030, "PchrrocketlaunchZ_header"] - - [0x80039050, "PhatfurryZ_header"] - - [0x80039070, "PhatfurrybrownZ_header"] - - [0x80039090, "PhatfurryblackZ_header"] - - [0x800390B0, "PhattbirdZ_header"] - - [0x800390D0, "PhattbirdbrownZ_header"] - - [0x800390F0, "PhathelmetZ_header"] - - [0x80039110, "PhathelmetgreyZ_header"] - - [0x80039130, "PhatmoonZ_header"] - - [0x80039150, "PhatberetZ_header"] - - [0x80039170, "PhatberetblueZ_header"] - - [0x80039190, "PhatberetredZ_header"] - - [0x800391B0, "PhatpeakedZ_header"] - - [0x800391D0, "PchrwristdartZ_header"] - - [0x800391F0, "PchrexplosivepenZ_header"] - - [0x80039210, "PchrbombcaseZ_header"] - - [0x80039230, "PchrflarepistolZ_header"] - - [0x80039250, "PchrpitongunZ_header"] - - [0x80039270, "PchrfingergunZ_header"] - - [0x80039290, "PchrsilverwppkZ_header"] - - [0x800392B0, "PchrgoldwppkZ_header"] - - [0x800392D0, "PchrdynamiteZ_header"] - - [0x800392F0, "PchrbungeeZ_header"] - - [0x80039310, "PchrdoordecoderZ_header"] - - [0x80039320, "aC4g"] - - [0x80039330, "PchrbombdefuserZ_header"] - - [0x80039350, "PchrbugdetectorZ_header"] - - [0x80039370, "PchrsafecrackercaseZ_header"] - - [0x80039390, "PchrcameraZ_header"] - - [0x800393B0, "PchrlockexploderZ_header"] - - [0x800393D0, "PchrdoorexploderZ_header"] - - [0x800393F0, "PchrkeyanalysercaseZ_header"] - - [0x80039410, "PchrweaponcaseZ_header"] - - [0x80039430, "PchrkeyyaleZ_header"] - - [0x80039450, "PchrkeyboltZ_header"] - - [0x80039470, "PchrbugZ_header"] - - [0x80039490, "PchrmicrocameraZ_header"] - - [0x800394B0, "PfloppyZ_header"] - - [0x800394D0, "PchrgoldeneyekeyZ_header"] - - [0x800394F0, "PchrpolarizedglassesZ_header"] - - [0x80039510, "PchrcreditcardZ_header"] - - [0x80039530, "PchrdarkglassesZ_header"] - - [0x80039550, "PchrgaskeyringZ_header"] - - [0x80039570, "PchrdatathiefZ_header"] - - [0x80039590, "PsafeZ_header"] - - [0x800395B0, "PbombZ_header"] - - [0x800395D0, "PchrplansZ_header"] - - [0x800395F0, "PchrspyfileZ_header"] - - [0x80039610, "PchrblueprintsZ_header"] - - [0x80039630, "PchrcircuitboardZ_header"] - - [0x80039650, "PchrmapZ_header"] - - [0x80039670, "PchrspooltapeZ_header"] - - [0x80039690, "PchraudiotapeZ_header"] - - [0x800396B0, "PchrmicrofilmZ_header"] - - [0x800396D0, "PchrmicrocodeZ_header"] - - [0x800396F0, "PchrlectreZ_header"] - - [0x80039710, "PchrmoneyZ_header"] - - [0x80039730, "PchrgoldbarZ_header"] - - [0x80039750, "PchrheroinZ_header"] - - [0x80039770, "PchrclipboardZ_header"] - - [0x80039790, "PchrdossierredZ_header"] - - [0x800397B0, "PchrstafflistZ_header"] - - [0x800397D0, "PchrdattapeZ_header"] - - [0x800397F0, "PchrplastiqueZ_header"] - - [0x80039810, "PchrblackboxZ_header"] - - [0x80039830, "PchrvideotapeZ_header"] - - [0x80039850, "PnintendologoZ_header"] - - [0x80039870, "PgoldeneyelogoZ_header"] - - [0x80039890, "PwalletbondZ_header"] - - [0x800398A0, "aE"] - - [0x800398B0, "PmiltruckZ_header"] - - [0x800398D0, "PjeepZ_header"] - - [0x800398F0, "ParticZ_header"] - - [0x80039910, "PhelicopterZ_header"] - - [0x80039930, "PtigerZ_header"] - - [0x80039950, "PmilcopterZ_header"] - - [0x80039970, "PhindZ_header"] - - [0x80039990, "PartictrailerZ_header"] - - [0x800399B0, "PmotorbikeZ_header"] - - [0x800399D0, "PtankZ_header"] - - [0x800399F0, "PapcZ_header"] - - [0x80039A10, "PspeedboatZ_header"] - - [0x80039A30, "PplaneZ_header"] - - [0x80039A50, "Pgun_runway1Z_header"] - - [0x80039A70, "PsafedoorZ_header"] - - [0x80039A90, "Pkey_holderZ_header"] - - [0x80039AB0, "PhatchsevxZ_header"] - - [0x80039AD0, "PsevdishZ_header"] - - [0x80039AF0, "Parchsecdoor1Z_header"] - - [0x80039B10, "Parchsecdoor2Z_header"] - - [0x80039B30, "PgroundgunZ_header"] - - [0x80039B50, "PtrainextdoorZ_header"] - - [0x80039B70, "PcarbmwZ_header"] - - [0x80039B90, "PcarescortZ_header"] - - [0x80039BB0, "PcargolfZ_header"] - - [0x80039BD0, "PcarweirdZ_header"] - - [0x80039BF0, "PcarzilZ_header"] - - [0x80039C10, "Pshuttle_door_lZ_header"] - - [0x80039C30, "Pshuttle_door_rZ_header"] - - [0x80039C50, "Pdepot_gate_entryZ_header"] - - [0x80039C70, "Pdepot_door_steelZ_header"] - - [0x80039C90, "Pglassware2Z_header"] - - [0x80039CB0, "Pglassware3Z_header"] - - [0x80039CD0, "Pglassware4Z_header"] - - [0x80039CF0, "PlandmineZ_header"] - - [0x80039D10, "Pplant1Z_header"] - - [0x80039D30, "Pplant11Z_header"] - - [0x80039D50, "Pplant2Z_header"] - - [0x80039D70, "Pplant3Z_header"] - - [0x80039D90, "Pjungle5_treeZ_header"] - - [0x80039DB0, "PlegalpageZ_header"] - - [0x80039DD0, "Pst_pete_room_1iZ_header"] - - [0x80039DF0, "Pst_pete_room_2iZ_header"] - - [0x80039E10, "Pst_pete_room_3tZ_header"] - - [0x80039E30, "Pst_pete_room_5cZ_header"] - - [0x80039E50, "Pst_pete_room_6cZ_header"] - - [0x80039E70, "Pdoor_rollertrainZ_header"] - - [0x80039E90, "Pdoor_winZ_header"] - - [0x80039EB0, "Pdoor_aztecZ_header"] - - [0x80039ED0, "PshuttleZ_header"] - - [0x80039EF0, "Pdoor_azt_deskZ_header"] - - [0x80039F10, "Pdoor_azt_desk_topZ_header"] - - [0x80039F30, "Pdoor_azt_chairZ_header"] - - [0x80039F50, "Pdoor_mfZ_header"] - - [0x80039F70, "PflagZ_header"] - - [0x80039F80, "aDwu_0"] - - [0x80039F90, "PbarricadeZ_header"] - - [0x80039FB0, "PmodemboxZ_header"] - - [0x80039FD0, "PdoorpanelZ_header"] - - [0x80039FF0, "PdoorconsoleZ_header"] - - [0x8003A010, "PchrtesttubeZ_header"] - - [0x8003A020, "aCB"] - - [0x8003A030, "Pbollardz_header"] - - [0x8003A05C, "prop_cctv_related"] - - [0x8003A070, "prop_console_one_screen_related"] - - [0x8003A084, "prop_console_four_screen_related"] - - [0x8003A0B0, "prop_tv_holder_related"] - - [0x8003A0E0, "prop_rotating_stuff_related"] - - [0x8003A100, "prop_eyelid_door_related"] - - [0x8003A15C, "prop_iris_door_related"] - - [0x8003A170, "prop_walletbond_related"] - - [0x8003A19C, "prop_car_related"] - - [0x8003A1C8, "prop_flying_related"] - - [0x8003A1DC, "prop_door_related"] - - [0x8003A208, "item_tank_related"] - - [0x8003A21C, "item_hat_related"] - - [0x8003A228, "PitemZ_entries"] - - [0x8003AB1C, "PchrwppkZ_entry"] - - [0x8003AF18, "PnintendologoZ_header"] - - [0x8003AF24, "PgoldeneyelogoZ_header"] - - [0x8003AF30, "PwalletbondZ_entry"] - - [0x8003B11C, "PlegalpageZ_header"] - - [0x8003B218, "PitemZ_entry_end"] - - [0x8003C4D8, "model_object_standard_object"] - - [0x8003C4FC, "prop_weapon_related"] - - [0x8003C6E4, "model_suit_lf_hand"] - - [0x8003C714, "weapon_gun_standard_gun"] - - [0x8003C728, "weapon_gun_unassigned"] - - [0x8003C76C, "weapon_gun_revolver"] - - [0x8003C7AC, "weapon_gun_kf7"] - - [0x8003C7C0, "GwppkZ_struct"] - - [0x8003C7D0, "aCt"] - - [0x8003C7E0, "GwppksilZ_struct"] - - [0x8003C800, "Gtt33Z_struct"] - - [0x8003C820, "GskorpianZ_struct"] - - [0x8003C830, "aC3@"] - - [0x8003C840, "Gak47Z_struct"] - - [0x8003C850, "aDk_0"] - - [0x8003C860, "GuziZ_struct"] - - [0x8003C880, "Gmp5kZ_struct"] - - [0x8003C8A0, "Gmp5ksilZ_struct"] - - [0x8003C8C0, "Gm16Z_struct"] - - [0x8003C8D0, "aDi"] - - [0x8003C8E0, "Gfnp90Z_struct"] - - [0x8003C8F0, "aCch"] - - [0x8003C910, "aCnq"] - - [0x8003C920, "GrugerZ_struct"] - - [0x8003C930, "aD_19"] - - [0x8003C940, "GgoldengunZ_struct"] - - [0x8003C960, "GshotgunZ_struct"] - - [0x8003C970, "aDe_0"] - - [0x8003C980, "GautoshotZ_struct"] - - [0x8003C990, "aDrO"] - - [0x8003C9A0, "GgrenadelaunchZ_struct"] - - [0x8003C9C0, "GspectreZ_struct"] - - [0x8003C9E0, "GlaserZ_struct"] - - [0x8003C9F0, "aCH"] - - [0x8003CA00, "GrocketlaunchZ_struct"] - - [0x8003CA10, "aDA_0"] - - [0x8003CA20, "GknifeZ_header"] - - [0x8003CA40, "GthrowknifeZ_struct"] - - [0x8003CA50, "aCI"] - - [0x8003CA60, "GtaserZ_struct"] - - [0x8003CA70, "aC6F"] - - [0x8003CA80, "GremotemineZ_struct"] - - [0x8003CAA0, "GproximitymineZ_struct"] - - [0x8003CAC0, "GtimedmineZ_struct"] - - [0x8003CAD0, "aBey"] - - [0x8003CAE0, "GtriggerZ_struct"] - - [0x8003CB00, "GgrenadeZ_struct"] - - [0x8003CB10, "aCVk"] - - [0x8003CB20, "GfistZ_header"] - - [0x8003CB40, "GsniperrifleZ_struct"] - - [0x8003CB60, "GcartridgeZ_struct"] - - [0x8003CB80, "GcartrifleZ_struct"] - - [0x8003CBA0, "GcartblueZ_struct"] - - [0x8003CBC0, "GcartshellZ_struct"] - - [0x8003CBE0, "GjoypadZ_struct"] - - [0x8003CC40, "GbombcaseZ_struct"] - - [0x8003CC50, "aBs8"] - - [0x8003CC60, "GflarepistolZ_struct"] - - [0x8003CC80, "GpitongunZ_struct"] - - [0x8003CCC0, "GsilverwppkZ_struct"] - - [0x8003CCD0, "aCt_0"] - - [0x8003CCE0, "GgoldwppkZ_struct"] - - [0x8003CCF0, "aCt_1"] - - [0x8003CD20, "GbungeeZ_struct"] - - [0x8003CD40, "GdoordecoderZ_struct"] - - [0x8003CD50, "aBsf"] - - [0x8003CD60, "GbombdefuserZ_struct"] - - [0x8003CD70, "aBi_1"] - - [0x8003CD80, "GbugdetectorZ_struct"] - - [0x8003CDA0, "GsafecrackercaseZ_struct"] - - [0x8003CDB0, "aBs8_0"] - - [0x8003CDC0, "GcameraZ_struct"] - - [0x8003CDE0, "GlockexploderZ_struct"] - - [0x8003CE00, "GdoorexploderZ_struct"] - - [0x8003CE20, "GkeyanalysercaseZ_struct"] - - [0x8003CE30, "aBs8_1"] - - [0x8003CE40, "GweaponcaseZ_struct"] - - [0x8003CE50, "aBs8_2"] - - [0x8003CE60, "GkeycardZ_struct"] - - [0x8003CE80, "GkeyyaleZ_struct"] - - [0x8003CE90, "aC3_2"] - - [0x8003CEA0, "GkeyboltZ_struct"] - - [0x8003CEC0, "GbugZ_struct"] - - [0x8003CED0, "aBN"] - - [0x8003CEE0, "GmicrocameraZ_struct"] - - [0x8003CF00, "GexplosivefloppyZ_struct"] - - [0x8003CF20, "GgoldeneyekeyZ_struct"] - - [0x8003CF40, "GpolarizedglassesZ_struct"] - - [0x8003CF60, "GcreditcardZ_struct"] - - [0x8003CF80, "GdarkglassesZ_struct"] - - [0x8003CFA0, "GwatchidentifierZ_struct"] - - [0x8003CFB0, "aCVu"] - - [0x8003CFC0, "GwatchcommunicatorZ_struct"] - - [0x8003CFD0, "aCVu_0"] - - [0x8003CFE0, "GwatchlaserZ_struct"] - - [0x8003D000, "GwatchgeigercounterZ_struct"] - - [0x8003D010, "aCVu_1"] - - [0x8003D020, "GwatchmagnetrepelZ_struct"] - - [0x8003D030, "aCVu_2"] - - [0x8003D040, "GwatchmagnetattractZ_struct"] - - [0x8003D050, "aCVu_3"] - - [0x8003D060, "GgaskeyringZ_struct"] - - [0x8003D070, "aB2z"] - - [0x8003D080, "GdatathiefZ_struct"] - - [0x8003D090, "aBqrl"] - - [0x8003D0A0, "GbriefcaseZ_struct"] - - [0x8003D0B0, "aBs8_3"] - - [0x8003D0C0, "GblackboxZ_struct"] - - [0x8003D0E0, "GplastiqueZ_struct"] - - [0x8003D100, "GvideotapeZ_struct"] - - [0x8003D120, "GclipboardZ_struct"] - - [0x8003D130, "aCJ"] - - [0x8003D140, "GstafflistZ_struct"] - - [0x8003D150, "aCwU"] - - [0x8003D160, "GdossierredZ_struct"] - - [0x8003D170, "aC7k"] - - [0x8003D180, "GaudiotapeZ_struct"] - - [0x8003D1A0, "GdattapeZ_struct"] - - [0x8003D1B0, "aBq"] - - [0x8003D1C0, "GplansZ_struct"] - - [0x8003D1D0, "aBgcs"] - - [0x8003D1E0, "GspyfileZ_struct"] - - [0x8003D200, "GblueprintsZ_struct"] - - [0x8003D220, "GcircuitboardZ_struct"] - - [0x8003D230, "aCC"] - - [0x8003D240, "GmapZ_struct"] - - [0x8003D260, "GspooltapeZ_struct"] - - [0x8003D280, "GmicrofilmZ_struct"] - - [0x8003D2A0, "GmicrocodeZ_struct"] - - [0x8003D2C0, "GlectreZ_struct"] - - [0x8003D2E0, "GmoneyZ_struct"] - - [0x8003D300, "GgoldbarZ_struct"] - - [0x8003D320, "GheroinZ_struct"] - - [0x8003D390, "weapon_gun_controller"] - - [0x8003D400, "model_guard_character"] - - [0x8003D410, "CcamguardZ_struct"] - - [0x8003D430, "CgreyguardZ_struct"] - - [0x8003D450, "ColiveguardZ_struct"] - - [0x8003D470, "CrusguardZ_struct"] - - [0x8003D490, "CtrevguardZ_struct"] - - [0x8003D4B0, "CborisZ_struct"] - - [0x8003D4D0, "CorumovZ_struct"] - - [0x8003D4F0, "CtrevelyanZ_struct"] - - [0x8003D510, "CboilertrevZ_struct"] - - [0x8003D530, "CvalentinZ_struct"] - - [0x8003D550, "CxeniaZ_struct"] - - [0x8003D570, "CbaronsamediZ_struct"] - - [0x8003D590, "CjawsZ_struct"] - - [0x8003D5B0, "CmaydayZ_struct"] - - [0x8003D5D0, "CoddjobZ_struct"] - - [0x8003D5F0, "CnatalyaZ_struct"] - - [0x8003D610, "CarmourguardZ_struct"] - - [0x8003D630, "CcommguardZ_struct"] - - [0x8003D650, "CgreatguardZ_struct"] - - [0x8003D670, "CnavyguardZ_struct"] - - [0x8003D690, "CsnowguardZ_struct"] - - [0x8003D6B0, "CbluewomanZ_struct"] - - [0x8003D6D0, "CfattechwomanZ_struct"] - - [0x8003D6F0, "CtechwomanZ_struct"] - - [0x8003D710, "CjeanwomanZ_struct"] - - [0x8003D730, "CgreymanZ_struct"] - - [0x8003D750, "CbluemanZ_struct"] - - [0x8003D770, "CredmanZ_struct"] - - [0x8003D790, "CcardimanZ_struct"] - - [0x8003D7B0, "CcheckmanZ_struct"] - - [0x8003D7D0, "CtechmanZ_struct"] - - [0x8003D7F0, "CpilotZ_struct"] - - [0x8003D810, "Cgreatguard2Z_struct"] - - [0x8003D830, "CbluecamguardZ_struct"] - - [0x8003D850, "CmoonguardZ_struct"] - - [0x8003D870, "CmoonfemaleZ_struct"] - - [0x8003D890, "CboilerbondZ_struct"] - - [0x8003D8B0, "CsuitbondZ_struct"] - - [0x8003D8D0, "CtimberbondZ_struct"] - - [0x8003D8F0, "CsnowbondZ_struct"] - - [0x8003D910, "CdjbondZ_struct"] - - [0x8003D930, "Csuit_lf_handz_struct"] - - [0x8003D950, "CheadkarlZ_struct"] - - [0x8003D970, "CheadalanZ_struct"] - - [0x8003D990, "CheadpeteZ_struct"] - - [0x8003D9B0, "CheadmartinZ_struct"] - - [0x8003DD70, "CheadbrosnansuitZ_struct"] - - [0x8003DD90, "CheadbrosnantimberZ_struct"] - - [0x8003DDB0, "CheadbrosnansnowZ_struct"] - - [0x8003DDD0, "CheadbrosnanZ_struct"] - - [0x8003DDF0, "CspicebondZ_struct"] - - [0x8003DE10, "c_item_entries"] - - [0x8003E530, "a?iO?a"] - - [0x8003E538, "a?a"] - - [0x8003E920, "a?kc?a"] - - [0x8003E928, "a?a_0"] - - [0x8003F0FC, "a?7k?jG?a"] - - [0x80040A84, "cur.play.up_down.setting"] - - [0x80040A90, "cur.player.autoaim.setting"] - - [0x80040A9C, "cur.player.aim.control"] - - [0x80040AA8, "cur.player.sight.onscreen"] - - [0x80040AB4, "cur.player.lookahead.setting"] - - [0x80040AC0, "cur.player.ammo.onscreen.setting"] - - [0x80040ACC, "cur.player.screen.setting"] - - [0x80040AD8, "screen_ratio"] - - [0x80040ADC, "controlstick_lr_enabled"] - - [0x80040F4C, "list_of_tilesizes"] - - [0x80040F58, "base_ptr_connection_vals"] - - [0x80040F5C, "ptr_firstroom_0"] - - [0x80041424, "room_information"] - - [0x800442F4, "MaxNumRooms"] - - [0x8004448C, "levelinfotable"] - - [0x80044DC4, "near_fog_value"] - - [0x80044DC8, "near_fog_times_intensity"] - - [0x80044DCC, "ptr_current_data"] - - [0x80044E10, "fog_tables"] - - [0x80045F50, "fog_tables2"] - - [0x80046054, "file_resource_table"] - - [0x800482D4, "file_entry_max"] - - [0x80048364, "current_stage_to_load"] - - [0x80048374, "clock_timer"] - - [0x80048384, "difficulty_0"] - - [0x800483F0, "ramrom_table"] - - [0x80048468, "ramrom_table_end"] - - [0x80048488, "flag_to_record_ramrom"] - - [0x800484D0, "j_text_trigger"] - - [0x800484D4, "LnameX_lookuptable"] - - [0x80048640, "loaded_text_index"] - - [0x80049170, "bytes"] - - [0x80049300, "image_entries"] - - [0x8004EAC8, "indy_ready"] - - [0x8004EB00, "viewport.img"] - - [0x8004EB10, "music_setup_entries"] - - [0x8004EBD0, "random_tracks"] - - [0x8004ED2C, "aEmDataSabre_seg_rz_ptr"] - - [0x8004ED80, "default_gu_scale"] - - [0x8004ED90, "aNochr"] - - [0x8004ED98, "aNoprop"] - - [0x8004EDA0, "aNoobj"] - - [0x8004EDA8, "aNoprop_0"] - - [0x8004EDB0, "only_read_by_stageload"] - - [0x8004EEB0, "aMp_"] - - [0x8004EEB8, "jpt_7F0027C0"] - - [0x8004EF30, "jpt_7F002854"] - - [0x8004EF68, "jpt_7F004380"] - - [0x8004F02C, "jpt_7F004B64"] - - [0x8004F0E4, "fl_neg_pi"] - - [0x8004F0F0, "jpt_7F005738"] - - [0x8004F1A8, "default_zoom_speed"] - - [0x8004F1AC, "jpt_7F005A74"] - - [0x8004F210, "jpt_7F007548"] - - [0x8004F2E0, "jpt_7F00929C"] - - [0x8004F314, "aI_0"] - - [0x8004F318, "aUbriefdamz_1"] - - [0x8004F324, "aIi"] - - [0x8004F328, "aUbriefarkz_1"] - - [0x8004F334, "aIii"] - - [0x8004F338, "aUbriefrunz_1"] - - [0x8004F348, "aI_2"] - - [0x8004F34C, "aUbriefsevxz_0"] - - [0x8004F358, "aIi_1"] - - [0x8004F35C, "aUbriefsevbunkerz_1"] - - [0x8004F374, "aI_1"] - - [0x8004F378, "aUbriefsiloz_0"] - - [0x8004F384, "a4"] - - [0x8004F388, "aI_3"] - - [0x8004F38C, "aUbriefdestz_0"] - - [0x8004F398, "a5"] - - [0x8004F39C, "aI_4"] - - [0x8004F3A0, "aUbriefsevxbz_0"] - - [0x8004F3B0, "aIi_0"] - - [0x8004F3B4, "aUbriefsevbz_0"] - - [0x8004F3C0, "a6"] - - [0x8004F3C4, "aI_5"] - - [0x8004F3C8, "aUbriefstatuez_0"] - - [0x8004F3D8, "aIi_2"] - - [0x8004F3DC, "aUbriefarchz_0"] - - [0x8004F3E8, "aIii_0"] - - [0x8004F3EC, "aUbriefpetez_0"] - - [0x8004F3F8, "aIv"] - - [0x8004F3FC, "aUbriefdepoz_0"] - - [0x8004F408, "aV"] - - [0x8004F40C, "aUbrieftraz_0"] - - [0x8004F418, "a7"] - - [0x8004F41C, "aI_6"] - - [0x8004F420, "aUbriefjunz_0"] - - [0x8004F42C, "aIi_3"] - - [0x8004F430, "aUbriefcontrolz_0"] - - [0x8004F440, "aIii_1"] - - [0x8004F444, "aUbriefcavez_0"] - - [0x8004F450, "aIv_0"] - - [0x8004F454, "aUbriefcradz_0"] - - [0x8004F460, "a8"] - - [0x8004F464, "aI_7"] - - [0x8004F468, "aUbriefaztz_0"] - - [0x8004F474, "a9"] - - [0x8004F478, "aI_8"] - - [0x8004F47C, "aUbriefcrypz_0"] - - [0x8004F48C, "a_"] - - [0x8004F494, "a1_"] - - [0x8004F498, "a2_"] - - [0x8004F49C, "a3_"] - - [0x8005006C, "aD_"] - - [0x80050C2C, "aD"] - - [0x80050C34, "aD_0"] - - [0x80050C3C, "aD_1"] - - [0x80050C44, "aD_2"] - - [0x80050C4C, "aD_7"] - - [0x80050C50, "aA_"] - - [0x8005180C, "a02d02d"] - - [0x80051818, "aS"] - - [0x80051824, "a02d02d_0"] - - [0x80051830, "aS02d02d"] - - [0x8005184C, "a02d02d_1"] - - [0x80051858, "a_1f"] - - [0x80051860, "aX2"] - - [0x80051868, "aD_8"] - - [0x8005186C, "aDD_0"] - - [0x80051878, "aDD_1"] - - [0x80051884, "aDD_2"] - - [0x80051890, "aDD_3"] - - [0x8005189C, "aD_10"] - - [0x800518A0, "jpt_7F00986C"] - - [0x800519C8, "folder_menu_x_dim"] - - [0x800519CC, "folder_menu_z_dim"] - - [0x80051A60, "jpt_7F0104D4"] - - [0x80051AC0, "jpt_7F015E0C"] - - [0x80051AEC, "jpt_7F018814"] - - [0x80051B4C, "jpt_7F01A7CC"] - - [0x80051BB4, "jpt_7F01AAC0"] - - [0x80051C1C, "jpt_7F01ACD4"] - - [0x80051C84, "jpt_7F01AF2C"] - - [0x80051F7C, "jpt_7F02E1CC"] - - [0x80052070, "jpt_7F032780"] - - [0x80052100, "jpt_7F034A1C"] - - [0x800524F8, "jpt_7F0355AC"] - - [0x800528FC, "jpt_7F038C04"] - - [0x80052980, "jpt_7F03C52C"] - - [0x800529A0, "jpt_7F03D13C"] - - [0x80052B98, "jpt_7F049CC0"] - - [0x80052C6C, "jpt_7F04A01C"] - - [0x80052D9C, "jpt_7F04DA40"] - - [0x80052DF0, "jpt_7F04DFF0"] - - [0x80052EAC, "jpt_7F04E02C"] - - [0x80052F10, "jpt_7F04F314"] - - [0x80052F84, "jpt_7F04F53C"] - - [0x80052FEC, "jpt_7F04F7AC"] - - [0x80053060, "jpt_7F04FC68"] - - [0x80053098, "jpt_7F04FD48"] - - [0x800530D0, "jpt_7F04FE74"] - - [0x8005322C, "jpt_7F0502BC"] - - [0x800532F4, "jpt_7F0526AC"] - - [0x8005334C, "jpt_7F053BE4"] - - [0x80053390, "jpt_7F053FD0"] - - [0x800533D4, "jpt_7F054300"] - - [0x80053418, "jpt_7F0544F4"] - - [0x80053490, "jpt_7F056914"] - - [0x8005354C, "jpt_7F056EDC"] - - [0x80053644, "aSAC"] - - [0x8005364C, "aSC"] - - [0x80053654, "jpt_7F0572BC"] - - [0x80053760, "aGcartridgez"] - - [0x8005376C, "aGcartriflez"] - - [0x80053778, "aGcartbluez"] - - [0x80053784, "aGcartshellz"] - - [0x80053790, "aGnocartZ"] - - [0x80053794, "aGfistz"] - - [0x8005379C, "aGknifez"] - - [0x800537A4, "aGthrowknifez"] - - [0x800537B4, "aGwppkz"] - - [0x800537BC, "aGwppksilz"] - - [0x800537C8, "aGtt33z"] - - [0x800537D0, "aGskorpionz"] - - [0x800537DC, "aGak47z"] - - [0x800537E4, "aGuziz"] - - [0x800537EC, "aGmp5kz"] - - [0x800537F4, "aGmp5ksilz"] - - [0x80053800, "aGspectrez"] - - [0x8005380C, "aGm16z"] - - [0x80053814, "aGfnp90z"] - - [0x8005381C, "aGshotgunz"] - - [0x80053828, "aGautoshotz"] - - [0x80053834, "aGsniperriflez"] - - [0x80053844, "aGrugerz"] - - [0x8005384C, "aGgoldengunz"] - - [0x80053858, "aGsilverwppkz"] - - [0x80053868, "aGgoldwppkz"] - - [0x80053874, "aGlaserz"] - - [0x8005387C, "aGwatchlaserz"] - - [0x8005388C, "aGgrenadelaunchz"] - - [0x8005389C, "aGrocketlaunchz"] - - [0x800538AC, "aGgrenadez"] - - [0x800538B8, "aGtimedminez"] - - [0x800538C4, "aGproximityminez"] - - [0x800538D4, "aGremoteminez"] - - [0x800538E4, "aGtriggerz"] - - [0x800538F0, "aGtaserz"] - - [0x800538F8, "aGbombcasez"] - - [0x80053904, "aGplastiquez"] - - [0x80053910, "aGflarepistolz"] - - [0x80053920, "aGpitongunz"] - - [0x8005392C, "aGbungeez"] - - [0x80053938, "aGdoordecoderz"] - - [0x80053948, "aGbombdefuserz"] - - [0x80053958, "aGcameraz"] - - [0x80053964, "aGlockexploderz"] - - [0x80053974, "aGdoorexploderz"] - - [0x80053984, "aGbriefcasez"] - - [0x80053990, "aGweaponcasez"] - - [0x800539A0, "aGsafecrackercasez"] - - [0x800539B4, "aGkeyanalysercasez"] - - [0x800539C8, "aGbugz"] - - [0x800539D0, "aGmicrocameraz"] - - [0x800539E0, "aGbugdetectorz"] - - [0x800539F0, "aGexplosivefloppyz"] - - [0x80053A04, "aGpolarizedglassesz"] - - [0x80053A18, "aGdarkglassesz"] - - [0x80053A28, "aGcreditcardz"] - - [0x80053A38, "aGgaskeyringz"] - - [0x80053A48, "aGdatathiefz"] - - [0x80053A54, "aGwatchidentifierz"] - - [0x80053A68, "aGwatchcommunicatorz"] - - [0x80053A7C, "aGwatchgeigercounterz"] - - [0x80053A94, "aGwatchmagnetrepelz"] - - [0x80053AA8, "aGwatchmagnetattractz"] - - [0x80053AC0, "aGgoldeneyekeyz"] - - [0x80053AD0, "aGblackboxz"] - - [0x80053ADC, "aGcircuitboardz"] - - [0x80053AEC, "aGclipboardz"] - - [0x80053AF8, "aGstafflistz"] - - [0x80053B04, "aGdossierredz"] - - [0x80053B14, "aGplansz"] - - [0x80053B1C, "aGspyfilez"] - - [0x80053B28, "aGblueprintsz"] - - [0x80053B38, "aGmapz"] - - [0x80053B40, "aGaudiotapez"] - - [0x80053B4C, "aGvideotapez"] - - [0x80053B58, "aGdattapez"] - - [0x80053B64, "aGspooltapez"] - - [0x80053B70, "aGmicrofilmz"] - - [0x80053B7C, "aGmicrocodez"] - - [0x80053B88, "aGlectrez"] - - [0x80053B94, "aGmoneyz"] - - [0x80053B9C, "aGgoldbarz"] - - [0x80053BA8, "aGheroinz"] - - [0x80053BB4, "aGkeycardz"] - - [0x80053BC0, "aGkeyyalez"] - - [0x80053BCC, "aGkeyboltz"] - - [0x80053BD8, "aCsuit_lf_handz"] - - [0x80053BE8, "aGjoypadz"] - - [0x80053BF4, "aD_9"] - - [0x80053BF8, "aSD"] - - [0x80053C00, "aSDS"] - - [0x80053C0C, "aSD_0"] - - [0x80053CB0, "jpt_7F05F55C"] - - [0x80053D3C, "jpt_7F05F5C8"] - - [0x80053E38, "jpt_7F0617AC"] - - [0x80053F24, "jpt_7F064DC8"] - - [0x80054084, "jpt_7F064FE0"] - - [0x80054194, "jpt_7F065E4C"] - - [0x80054294, "jpt_7F0661A4"] - - [0x80054420, "aDrawjointlistNoGfxlist"] - - [0x8005443C, "aDrawjointlistNoObject0xX"] - - [0x80054460, "aDrawjointlistObjectNotInitialised0"] - - [0x80054490, "jpt_7F06B16C"] - - [0x800544E4, "jpt_7F06B2F4"] - - [0x80054538, "jpt_7F06BD3C"] - - [0x80054598, "jpt_7F06BEEC"] - - [0x80054600, "aGetsubmatrixNoObjinst"] - - [0x8005461C, "aGetsubmatrixObjinstHasNoObject"] - - [0x80054644, "aGetpartoffsetNoObjinst"] - - [0x80054660, "aGetpartoffsetNoPartdesc"] - - [0x8005467C, "aSetpartoffsetNoObjinst"] - - [0x80054698, "aSetpartoffsetNoPartdesc"] - - [0x800546B4, "aGetsuboffsetNoObjinst"] - - [0x800546D0, "aGetsuboffsetObjinstHasNoObject"] - - [0x800546F8, "aSetsuboffsetNoObjinst"] - - [0x80054714, "aSetsuboffsetObjinstHasNoObject"] - - [0x8005473C, "aGetsubrotyNoObjinst"] - - [0x80054754, "aGetsubrotyObjinstHasNoObject"] - - [0x80054778, "aGetsubrotyObjinstHasNoRootPart"] - - [0x800547A0, "aSetsubrotyNoObjinst"] - - [0x800547B8, "aSetsubrotyObjinstHasNoObject"] - - [0x800547DC, "aSetsubrotyObjinstHasNoRootPart"] - - [0x80054804, "aGetjointsizeNoObjinst"] - - [0x80054820, "aGetinstsizeNoObjinst"] - - [0x8005483C, "aGetinstsizeNoObjdesc"] - - [0x80054858, "aSubcalcposNoObjanim"] - - [0x80054874, "aSubcalcposNoObjdesc"] - - [0x80054890, "aInstcalcmatricesNoObjinst"] - - [0x800548B0, "aInstcalcmatricesNoBasemtx"] - - [0x800548D0, "aInstcalcmatricesNoMtxlist"] - - [0x800548F0, "aSubcalcmatricesNoObjanim"] - - [0x80054910, "aSubcalcmatricesNoBasemtx"] - - [0x80054930, "aSubcalcmatricesNoMtxlist"] - - [0x80054950, "aSubcalcmatricesNoAttachForObjinst"] - - [0x8005497C, "aSubcalcmatricesFrameaOutOfRange"] - - [0x800549A4, "aSubcalcmatricesFramebOutOfRange"] - - [0x800549CC, "aSubcalcmatricesNoAnim2"] - - [0x800549E8, "aSubcalcmatricesFrame2aOutOfRange"] - - [0x80054A10, "aSubcalcmatricesFrame2bOutOfRange"] - - [0x80054A38, "aDorottexNoVtxAllocator"] - - [0x80054A58, "aDotubeNoVtxAllocator"] - - [0x80054A74, "aDogfnegxNoVtxAllocator"] - - [0x80054A94, "aDoshadowNoVtxAllocator"] - - [0x80054AB4, "aSubdrawNoGfxlist"] - - [0x80054ACC, "aSubdrawObjectNotInitialised0xX"] - - [0x80054AF8, "jpt_7F06C7D0"] - - [0x80054B60, "jpt_7F06CEF0"] - - [0x80054C20, "jpt_7F06EEF4"] - - [0x80054C80, "jpt_7F06F00C"] - - [0x80054CE0, "jpt_7F06F120"] - - [0x80054D54, "jpt_7F074564"] - - [0x80054DB4, "jpt_7F0753C4"] - - [0x80054E14, "jpt_7F075670"] - - [0x80054E74, "jpt_7F075B60"] - - [0x80054ED4, "jpt_7F075D80"] - - [0x80054F34, "jpt_7F076120"] - - [0x80054FC0, "a8s"] - - [0x80054FC4, "aX4_0f"] - - [0x80054FCC, "aY4_0f"] - - [0x80054FD4, "aZ4_0f"] - - [0x80054FDC, "aS3d"] - - [0x80054FE4, "jpt_7F079DF8"] - - [0x80055008, "jpt_7F079EEC"] - - [0x80055290, "jpt_7F088BE0"] - - [0x80055340, "aMenu_cErrorTriedToCallFont_makegt"] - - [0x80055370, "aMoveView"] - - [0x8005537C, "aStanView"] - - [0x80055388, "aBondView"] - - [0x80055394, "aLevel"] - - [0x8005539C, "aRegion"] - - [0x800553A4, "aScale"] - - [0x800553AC, "aPlayTitle"] - - [0x800553B8, "aBondDie"] - - [0x800553C4, "aSelectAnim"] - - [0x800553D0, "aGunPos"] - - [0x800553D8, "aFlashColour"] - - [0x800553E8, "aHitColour"] - - [0x800553F4, "aMusic"] - - [0x800553FC, "aSfx"] - - [0x80055400, "aInvincible"] - - [0x8005540C, "aVisible"] - - [0x80055414, "aCollisions"] - - [0x80055420, "aAllGuns"] - - [0x8005542C, "aMaxAmmo"] - - [0x80055438, "aDisplaySpeed"] - - [0x80055448, "aBackground"] - - [0x80055454, "aProps"] - - [0x8005545C, "aStanHit"] - - [0x80055468, "aStanRegion"] - - [0x80055474, "aStanProblems"] - - [0x80055484, "aPrintManPos"] - - [0x80055494, "aPortClose"] - - [0x800554A0, "aPortInf"] - - [0x800554AC, "aPortApprox"] - - [0x800554B8, "aPrRoomLoads"] - - [0x800554C8, "aShowMemUse"] - - [0x800554D8, "aShowMemBars"] - - [0x800554E8, "aGrabRgb"] - - [0x800554F4, "aGrabJpeg"] - - [0x80055500, "aGrabTask"] - - [0x8005550C, "aRndWalk"] - - [0x80055518, "aRecordRamrom"] - - [0x80055528, "aRecord1"] - - [0x80055534, "aRecord2"] - - [0x80055540, "aRecord3"] - - [0x8005554C, "aReplayRamrom"] - - [0x8005555C, "aSaveRamrom"] - - [0x80055568, "aLoadRamrom"] - - [0x80055574, "aAutoYAim"] - - [0x80055580, "aAutoXAim"] - - [0x8005558C, "a007"] - - [0x80055590, "aAgent"] - - [0x80055598, "aAll"] - - [0x8005559C, "aFast"] - - [0x800555A4, "aObjectives"] - - [0x800555B0, "aMargTop"] - - [0x800555BC, "aMargBot"] - - [0x800555C8, "aMargLeft"] - - [0x800555D4, "aMargRight"] - - [0x800555E0, "aMargReset"] - - [0x800555EC, "aScreenSize"] - - [0x800555F8, "aScreenPos"] - - [0x80055604, "aShowPatrols"] - - [0x80055614, "aIntro"] - - [0x8005561C, "aIntroEdit"] - - [0x80055628, "aIntroPos"] - - [0x80055634, "aWorldPos"] - - [0x80055640, "aGunKeyPos"] - - [0x8005564C, "aVisCvg"] - - [0x80055654, "aChrNum"] - - [0x8005565C, "aRoomBlocks"] - - [0x80055668, "aProfile"] - - [0x80055670, "aObjLoad"] - - [0x8005567C, "aWeaponLoad"] - - [0x80055688, "aJoy2SkyEdit"] - - [0x80055698, "aJoy2HitsEdit"] - - [0x800556A8, "aJoy2DetailEdit"] - - [0x800556BC, "aExplosionInfo"] - - [0x800556CC, "aMagicFog"] - - [0x800556D8, "aGunWatchPos"] - - [0x800556E8, "aTestingManPos"] - - [0x800556F8, "aFog"] - - [0x800556FC, "jpt_7F090770"] - - [0x80055830, "jpt_7F090EA8"] - - [0x80055870, "aUsetupsevbunkerz"] - - [0x80055884, "aUsetupsiloz"] - - [0x80055890, "aUsetupsevbunkerz_0"] - - [0x800558A4, "aUsetupstatuez"] - - [0x800558B4, "aUsetupcontrolz"] - - [0x800558C4, "aUsetuparchz"] - - [0x800558D0, "aUsetuptraz"] - - [0x800558DC, "aUsetupdestz"] - - [0x800558E8, "aUsetupsevbz"] - - [0x800558F4, "aUsetupaztz"] - - [0x80055900, "aUsetuppetez"] - - [0x8005590C, "aUsetupdepoz"] - - [0x80055918, "aUsetuprefz"] - - [0x80055924, "aUsetupcrypz"] - - [0x80055930, "aUsetupdamz"] - - [0x8005593C, "aUsetuparkz"] - - [0x80055948, "aUsetuprunz"] - - [0x80055954, "aUsetupsevxz"] - - [0x80055960, "aUsetupjunz"] - - [0x8005596C, "aUsetupdishz"] - - [0x80055978, "aUsetupcavez"] - - [0x80055984, "aUsetupcatz"] - - [0x80055990, "aUsetupcradz"] - - [0x8005599C, "aUsetupshoz"] - - [0x800559A8, "aUsetupsevxbz"] - - [0x800559B8, "aUsetupeldz"] - - [0x800559C4, "aUsetupimpz"] - - [0x800559D0, "aUsetupashz"] - - [0x800559DC, "aUsetupluez"] - - [0x800559E8, "aUsetupamez"] - - [0x800559F4, "aUsetupritz"] - - [0x80055A00, "aUsetupoatz"] - - [0x80055A0C, "aUsetupearz"] - - [0x80055A18, "aUsetupleez"] - - [0x80055A24, "aUsetuplipz"] - - [0x80055A30, "aUsetuplenz"] - - [0x80055A3C, "aUsetupwaxz"] - - [0x80055A48, "aUsetuppamz"] - - [0x80055A60, "aPalarm1z"] - - [0x80055A6C, "aPalarm2z"] - - [0x80055A78, "aPexplosionbitz"] - - [0x80055A88, "aPammo_crate1z"] - - [0x80055A98, "aPammo_crate2z"] - - [0x80055AA8, "aPammo_crate3z"] - - [0x80055AB8, "aPammo_crate4z"] - - [0x80055AC8, "aPammo_crate5z"] - - [0x80055AD8, "aPbin1z"] - - [0x80055AE0, "aPblotter1z"] - - [0x80055AEC, "aPbook1z"] - - [0x80055AF4, "aPbookshelf1z"] - - [0x80055B04, "aPbridge_console1az"] - - [0x80055B18, "aPbridge_console1bz"] - - [0x80055B2C, "aPbridge_console2az"] - - [0x80055B40, "aPbridge_console2bz"] - - [0x80055B54, "aPbridge_console3az"] - - [0x80055B68, "aPbridge_console3bz"] - - [0x80055B7C, "aPcard_box1z"] - - [0x80055B88, "aPcard_box2z"] - - [0x80055B94, "aPcard_box3z"] - - [0x80055BA0, "aPcard_box4_lgz"] - - [0x80055BB0, "aPcard_box5_lgz"] - - [0x80055BC0, "aPcard_box6_lgz"] - - [0x80055BD0, "aPcctvz"] - - [0x80055BD8, "aPconsole1z"] - - [0x80055BE4, "aPconsole2z"] - - [0x80055BF0, "aPconsole3z"] - - [0x80055BFC, "aPconsole_sevaz"] - - [0x80055C0C, "aPconsole_sevbz"] - - [0x80055C1C, "aPconsole_sevcz"] - - [0x80055C2C, "aPconsole_sevdz"] - - [0x80055C3C, "aPconsole_sev2az"] - - [0x80055C4C, "aPconsole_sev2bz"] - - [0x80055C5C, "aPconsole_sev2cz"] - - [0x80055C6C, "aPconsole_sev2dz"] - - [0x80055C7C, "aPconsole_sev_geaz"] - - [0x80055C90, "aPconsole_sev_gebz"] - - [0x80055CA4, "aPdesk1z"] - - [0x80055CAC, "aPdesk2z"] - - [0x80055CB4, "aPdesk_lamp2z"] - - [0x80055CC4, "aPdisc_readerz"] - - [0x80055CD4, "aPdisk_drive1z"] - - [0x80055CE4, "aPfiling_cabinet1z"] - - [0x80055CF8, "aPjerry_can1z"] - - [0x80055D08, "aPkeyboard1z"] - - [0x80055D14, "aPkit_units1z"] - - [0x80055D24, "aPletter_tray1z"] - - [0x80055D34, "aPmainframe1z"] - - [0x80055D44, "aPmainframe2z"] - - [0x80055D54, "aPmetal_chair1z"] - - [0x80055D64, "aPmetal_crate1z"] - - [0x80055D74, "aPmetal_crate2z"] - - [0x80055D84, "aPmetal_crate3z"] - - [0x80055D94, "aPmetal_crate4z"] - - [0x80055DA4, "aPmissile_rackz"] - - [0x80055DB4, "aPmissile_rack2z"] - - [0x80055DC4, "aPoil_drum1z"] - - [0x80055DD0, "aPoil_drum2z"] - - [0x80055DDC, "aPoil_drum3z"] - - [0x80055DE8, "aPoil_drum5z"] - - [0x80055DF4, "aPoil_drum6z"] - - [0x80055E00, "aPoil_drum7z"] - - [0x80055E0C, "aPpadlockz"] - - [0x80055E18, "aPphone1z"] - - [0x80055E24, "aPradio_unit1z"] - - [0x80055E34, "aPradio_unit2z"] - - [0x80055E44, "aPradio_unit3z"] - - [0x80055E54, "aPradio_unit4z"] - - [0x80055E64, "aPsat1_reflectz"] - - [0x80055E74, "aPsatdishz"] - - [0x80055E80, "aPsatboxz"] - - [0x80055E8C, "aPstool1z"] - - [0x80055E98, "aPswivel_chair1z"] - - [0x80055EA8, "aPtorpedo_rackz"] - - [0x80055EB8, "aPtv1z"] - - [0x80055EC0, "aPtv_holderz"] - - [0x80055ECC, "aPtvscreenz"] - - [0x80055ED8, "aPtv4screenz"] - - [0x80055EE4, "aPwood_lg_crate1z"] - - [0x80055EF8, "aPwood_lg_crate2z"] - - [0x80055F0C, "aPwood_md_crate3z"] - - [0x80055F20, "aPwood_sm_crate4z"] - - [0x80055F34, "aPwood_sm_crate5z"] - - [0x80055F48, "aPwood_sm_crate6z"] - - [0x80055F5C, "aPwooden_table1z"] - - [0x80055F6C, "aPswipe_card2z"] - - [0x80055F7C, "aPborg_cratez"] - - [0x80055F8C, "aPboxes4x4z"] - - [0x80055F98, "aPboxes3x4z"] - - [0x80055FA4, "aPboxes2x4z"] - - [0x80055FB0, "aPsec_panelz"] - - [0x80055FBC, "aPicbm_nosez"] - - [0x80055FC8, "aPicbmz"] - - [0x80055FD0, "aPtuning_console1z"] - - [0x80055FE4, "aPdesk_arecibo1z"] - - [0x80055FF4, "aPlocker3z"] - - [0x80056000, "aPlocker4z"] - - [0x8005600C, "aProofgunz"] - - [0x80056018, "aPdest_enginez"] - - [0x80056028, "aPdest_exocetz"] - - [0x80056038, "aPdest_gunz"] - - [0x80056044, "aPdest_harpoonz"] - - [0x80056054, "aPdest_seawolfz"] - - [0x80056064, "aPwindowz"] - - [0x80056070, "aPwindow_lib_lg1z"] - - [0x80056084, "aPwindow_lib_sm1z"] - - [0x80056098, "aPwindow_cor11z"] - - [0x800560A8, "aPjungle3_treez"] - - [0x800560B8, "aPpalmz"] - - [0x800560C0, "aPpalmtreez"] - - [0x800560CC, "aPplant2bz"] - - [0x800560D8, "aPlabbenchz"] - - [0x800560E4, "aPgasbarrelz"] - - [0x800560F0, "aPgasbarrelsz"] - - [0x80056100, "aPbodyarmourz"] - - [0x80056110, "aPbodyarmourvestz"] - - [0x80056124, "aPgastankz"] - - [0x80056130, "aPglassware1z"] - - [0x80056140, "aPhatchboltz"] - - [0x8005614C, "aPbrakeunitz"] - - [0x80056158, "aPak47magz"] - - [0x80056164, "aPm16magz"] - - [0x80056170, "aPmp5kmagz"] - - [0x8005617C, "aPskorpionmagz"] - - [0x8005618C, "aPspectremagz"] - - [0x8005619C, "aPuzimagz"] - - [0x800561A8, "aPsilencerz"] - - [0x800561B4, "aPchrextinguisherz"] - - [0x800561C8, "aPboxcartridgesz"] - - [0x800561D8, "aPfnp90magz"] - - [0x800561E4, "aPgoldenshellsz"] - - [0x800561F4, "aPmagnumshellsz"] - - [0x80056204, "aPwppkmagz"] - - [0x80056210, "aPtt33magz"] - - [0x8005621C, "aPsev_doorz"] - - [0x80056228, "aPsev_door3z"] - - [0x80056234, "aPsev_door3_windz"] - - [0x80056248, "aPsev_door4_windz"] - - [0x8005625C, "aPsev_trislidez"] - - [0x8005626C, "aPsev_door_v1z"] - - [0x8005627C, "aPsteel_door1z"] - - [0x8005628C, "aPsteel_door2z"] - - [0x8005629C, "aPsteel_door3z"] - - [0x800562AC, "aPsilo_lift_doorz"] - - [0x800562C0, "aPsteel_door2bz"] - - [0x800562D0, "aPdoor_roller1z"] - - [0x800562E0, "aPdoor_roller2z"] - - [0x800562F0, "aPdoor_roller3z"] - - [0x80056300, "aPdoor_roller4z"] - - [0x80056310, "aPdoor_st_arec1z"] - - [0x80056320, "aPdoor_st_arec2z"] - - [0x80056330, "aPdoor_dest1z"] - - [0x80056340, "aPdoor_dest2z"] - - [0x80056350, "aPgas_plant_sw_do1z"] - - [0x80056364, "aPgas_plant_sw2_do1z"] - - [0x80056378, "aPgas_plant_sw3_do1z"] - - [0x8005638C, "aPgas_plant_sw4_do1z"] - - [0x800563A0, "aPgas_plant_met1_do1z"] - - [0x800563B8, "aPgas_plant_wc_cub1z"] - - [0x800563CC, "aPgasplant_clear_doorz"] - - [0x800563E4, "aPtrain_doorz"] - - [0x800563F4, "aPtrain_door2z"] - - [0x80056404, "aPtrain_door3z"] - - [0x80056414, "aPdoor_eyelidz"] - - [0x80056424, "aPdoor_irisz"] - - [0x80056430, "aPsevdoorwoodz"] - - [0x80056440, "aPsevdoorwindz"] - - [0x80056450, "aPsevdoornowindz"] - - [0x80056460, "aPsevdoormetslidez"] - - [0x80056474, "aPcryptdoor1az"] - - [0x80056484, "aPcryptdoor1bz"] - - [0x80056494, "aPcryptdoor2az"] - - [0x800564A4, "aPcryptdoor2bz"] - - [0x800564B4, "aPcryptdoor3z"] - - [0x800564C4, "aPcryptdoor4z"] - - [0x800564D4, "aPvertdoorz"] - - [0x800564E0, "aPhatchdoorz"] - - [0x800564EC, "aPdamgatedoorz"] - - [0x800564FC, "aPdamtundoorz"] - - [0x8005650C, "aPdamchaindoorz"] - - [0x8005651C, "aPsilotopdoorz"] - - [0x8005652C, "aPdoorprison1z"] - - [0x8005653C, "aPdoorstatgatez"] - - [0x8005654C, "aPchrkalashz"] - - [0x80056558, "aPchrgrenadelaunchz"] - - [0x8005656C, "aPchrknifez"] - - [0x80056578, "aPchrlaserz"] - - [0x80056584, "aPchrm16z"] - - [0x80056590, "aPchrmp5kz"] - - [0x8005659C, "aPchrrugerz"] - - [0x800565A8, "aPchrwppkz"] - - [0x800565B4, "aPchrshotgunz"] - - [0x800565C4, "aPchrskorpionz"] - - [0x800565D4, "aPchrspectrez"] - - [0x800565E4, "aPchruziz"] - - [0x800565F0, "aPchrgrenadez"] - - [0x80056600, "aPchrfnp90z"] - - [0x8005660C, "aPchrbriefcasez"] - - [0x8005661C, "aPchrremoteminez"] - - [0x8005662C, "aPchrproximityminez"] - - [0x80056640, "aPchrtimedminez"] - - [0x80056650, "aPchrrocketz"] - - [0x8005665C, "aPchrgrenaderoundz"] - - [0x80056670, "aPchrwppksilz"] - - [0x80056680, "aPchrtt33z"] - - [0x8005668C, "aPchrmp5ksilz"] - - [0x8005669C, "aPchrautoshotz"] - - [0x800566AC, "aPchrgoldenz"] - - [0x800566B8, "aPchrthrowknifez"] - - [0x800566C8, "aPchrsniperriflez"] - - [0x800566DC, "aPchrrocketlaunchz"] - - [0x800566F0, "aPhatfurryz"] - - [0x800566FC, "aPhatfurrybrownz"] - - [0x8005670C, "aPhatfurryblackz"] - - [0x8005671C, "aPhattbirdz"] - - [0x80056728, "aPhattbirdbrownz"] - - [0x80056738, "aPhathelmetz"] - - [0x80056744, "aPhathelmetgreyz"] - - [0x80056754, "aPhatmoonz"] - - [0x80056760, "aPhatberetz"] - - [0x8005676C, "aPhatberetbluez"] - - [0x8005677C, "aPhatberetredz"] - - [0x8005678C, "aPhatpeakedz"] - - [0x80056798, "aPchrwristdartz"] - - [0x800567A8, "aPchrexplosivepenz"] - - [0x800567BC, "aPchrbombcasez"] - - [0x800567CC, "aPchrflarepistolz"] - - [0x800567E0, "aPchrpitongunz"] - - [0x800567F0, "aPchrfingergunz"] - - [0x80056800, "aPchrsilverwppkz"] - - [0x80056810, "aPchrgoldwppkz"] - - [0x80056820, "aPchrdynamitez"] - - [0x80056830, "aPchrbungeez"] - - [0x8005683C, "aPchrdoordecoderz"] - - [0x80056850, "aPchrbombdefuserz"] - - [0x80056864, "aPchrbugdetectorz"] - - [0x80056878, "aPchrsafecrackercasez"] - - [0x80056890, "aPchrcameraz"] - - [0x8005689C, "aPchrlockexploderz"] - - [0x800568B0, "aPchrdoorexploderz"] - - [0x800568C4, "aPchrkeyanalysercasez"] - - [0x800568DC, "aPchrweaponcasez"] - - [0x800568EC, "aPchrkeyyalez"] - - [0x800568FC, "aPchrkeyboltz"] - - [0x8005690C, "aPchrbugz"] - - [0x80056918, "aPchrmicrocameraz"] - - [0x8005692C, "aPfloppyz"] - - [0x80056938, "aPchrgoldeneyekeyz"] - - [0x8005694C, "aPchrpolarizedglassesz"] - - [0x80056964, "aPchrcreditcardz"] - - [0x80056974, "aPchrdarkglassesz"] - - [0x80056988, "aPchrgaskeyringz"] - - [0x80056998, "aPchrdatathiefz"] - - [0x800569A8, "aPsafez"] - - [0x800569B0, "aPbombz"] - - [0x800569B8, "aPchrplansz"] - - [0x800569C4, "aPchrspyfilez"] - - [0x800569D4, "aPchrblueprintsz"] - - [0x800569E4, "aPchrcircuitboardz"] - - [0x800569F8, "aPchrmapz"] - - [0x80056A04, "aPchrspooltapez"] - - [0x80056A14, "aPchraudiotapez"] - - [0x80056A24, "aPchrmicrofilmz"] - - [0x80056A34, "aPchrmicrocodez"] - - [0x80056A44, "aPchrlectrez"] - - [0x80056A50, "aPchrmoneyz"] - - [0x80056A5C, "aPchrgoldbarz"] - - [0x80056A6C, "aPchrheroinz"] - - [0x80056A78, "aPchrclipboardz"] - - [0x80056A88, "aPchrdossierredz"] - - [0x80056A98, "aPchrstafflistz"] - - [0x80056AA8, "aPchrdattapez"] - - [0x80056AB8, "aPchrplastiquez"] - - [0x80056AC8, "aPchrblackboxz"] - - [0x80056AD8, "aPchrvideotapez"] - - [0x80056AE8, "aPnintendologoz"] - - [0x80056AF8, "aPgoldeneyelogoz"] - - [0x80056B08, "aPwalletbondz"] - - [0x80056B18, "aPmiltruckz"] - - [0x80056B24, "aPjeepz"] - - [0x80056B2C, "aParticz"] - - [0x80056B34, "aPhelicopterz"] - - [0x80056B44, "aPtigerz"] - - [0x80056B4C, "aPmilcopterz"] - - [0x80056B58, "aPhindz"] - - [0x80056B60, "aPartictrailerz"] - - [0x80056B70, "aPmotorbikez"] - - [0x80056B7C, "aPtankz"] - - [0x80056B84, "aPapcz"] - - [0x80056B8C, "aPspeedboatz"] - - [0x80056B98, "aPplanez"] - - [0x80056BA0, "aPgun_runway1z"] - - [0x80056BB0, "aPsafedoorz"] - - [0x80056BBC, "aPkey_holderz"] - - [0x80056BCC, "aPhatchsevxz"] - - [0x80056BD8, "aPsevdishz"] - - [0x80056BE4, "aParchsecdoor1z"] - - [0x80056BF4, "aParchsecdoor2z"] - - [0x80056C04, "aPgroundgunz"] - - [0x80056C10, "aPtrainextdoorz"] - - [0x80056C20, "aPcarbmwz"] - - [0x80056C2C, "aPcarescortz"] - - [0x80056C38, "aPcargolfz"] - - [0x80056C44, "aPcarweirdz"] - - [0x80056C50, "aPcarzilz"] - - [0x80056C5C, "aPshuttle_door_lz"] - - [0x80056C70, "aPshuttle_door_rz"] - - [0x80056C84, "aPdepot_gate_entryz"] - - [0x80056C98, "aPdepot_door_steelz"] - - [0x80056CAC, "aPglassware2z"] - - [0x80056CBC, "aPglassware3z"] - - [0x80056CCC, "aPglassware4z"] - - [0x80056CDC, "aPlandminez"] - - [0x80056CE8, "aPplant1z"] - - [0x80056CF4, "aPplant11z"] - - [0x80056D00, "aPplant2z"] - - [0x80056D0C, "aPplant3z"] - - [0x80056D18, "aPjungle5_treez"] - - [0x80056D28, "aPlegalpagez"] - - [0x80056D34, "aPst_pete_room_1iz"] - - [0x80056D48, "aPst_pete_room_2iz"] - - [0x80056D5C, "aPst_pete_room_3tz"] - - [0x80056D70, "aPst_pete_room_5cz"] - - [0x80056D84, "aPst_pete_room_6cz"] - - [0x80056D98, "aPdoor_rollertrainz"] - - [0x80056DAC, "aPdoor_winz"] - - [0x80056DB8, "aPdoor_aztecz"] - - [0x80056DC8, "aPshuttlez"] - - [0x80056DD4, "aPdoor_azt_deskz"] - - [0x80056DE4, "aPdoor_azt_desk_topz"] - - [0x80056DF8, "aPdoor_azt_chairz"] - - [0x80056E0C, "aPdoor_mfz"] - - [0x80056E18, "aPflagz"] - - [0x80056E20, "aPbarricadez"] - - [0x80056E2C, "aPmodemboxz"] - - [0x80056E38, "aPdoorpanelz"] - - [0x80056E44, "aPdoorconsolez"] - - [0x80056E54, "aPchrtesttubez"] - - [0x80056E64, "aPbollardz"] - - [0x80056E70, "aPnullZ"] - - [0x80056E80, "aCcamguardz"] - - [0x80056E8C, "aCgreyguardz"] - - [0x80056E98, "aColiveguardz"] - - [0x80056EA8, "aCrusguardz"] - - [0x80056EB4, "aCtrevguardz"] - - [0x80056EC0, "aCdjbondz"] - - [0x80056ECC, "aCborisz"] - - [0x80056ED4, "aCorumovz"] - - [0x80056EE0, "aCtrevelyanz"] - - [0x80056EEC, "aCboilertrevz"] - - [0x80056EFC, "aCvalentinz"] - - [0x80056F08, "aCxeniaz"] - - [0x80056F10, "aCbaronsamediz"] - - [0x80056F20, "aCjawsz"] - - [0x80056F28, "aCmaydayz"] - - [0x80056F34, "aCoddjobz"] - - [0x80056F40, "aCnatalyaz"] - - [0x80056F4C, "aCarmourguardz"] - - [0x80056F5C, "aCcommguardz"] - - [0x80056F68, "aCgreatguardz"] - - [0x80056F78, "aCnavyguardz"] - - [0x80056F84, "aCsnowguardz"] - - [0x80056F90, "aCboilerbondz"] - - [0x80056FA0, "aCsuitbondz"] - - [0x80056FAC, "aCtimberbondz"] - - [0x80056FBC, "aCsnowbondz"] - - [0x80056FC8, "aCbluewomanz"] - - [0x80056FD4, "aCfattechwomanz"] - - [0x80056FE4, "aCtechwomanz"] - - [0x80056FF0, "aCjeanwomanz"] - - [0x80056FFC, "aCgreymanz"] - - [0x80057008, "aCbluemanz"] - - [0x80057014, "aCredmanz"] - - [0x80057020, "aCcardimanz"] - - [0x8005702C, "aCcheckmanz"] - - [0x80057038, "aCtechmanz"] - - [0x80057044, "aCpilotz"] - - [0x8005704C, "aCgreatguard2z"] - - [0x8005705C, "aCbluecamguardz"] - - [0x8005706C, "aCmoonguardz"] - - [0x80057078, "aCmoonfemalez"] - - [0x80057088, "aCsuit_lf_handz_0"] - - [0x80057098, "aCheadkarlz"] - - [0x800570A4, "aCheadalanz"] - - [0x800570B0, "aCheadpetez"] - - [0x800570BC, "aCheadmartinz"] - - [0x800570CC, "aCheadmarkz"] - - [0x800570D8, "aCheadduncanz"] - - [0x800570E8, "aCheadshaunz"] - - [0x800570F4, "aCheaddwaynez"] - - [0x80057104, "aCheadbz"] - - [0x8005710C, "aCheaddavez"] - - [0x80057118, "aCheadgrantz"] - - [0x80057124, "aCheaddesz"] - - [0x80057130, "aCheadchrisz"] - - [0x8005713C, "aCheadleez"] - - [0x80057148, "aCheadneilz"] - - [0x80057154, "aCheadjimz"] - - [0x80057160, "aCheadrobinz"] - - [0x8005716C, "aCheadstevehz"] - - [0x8005717C, "aCheadbalaclavaz"] - - [0x8005718C, "aCheadbikez"] - - [0x80057198, "aCheadgrahamz"] - - [0x800571A8, "aCheadsteveez"] - - [0x800571B8, "aCheadjoelz"] - - [0x800571C4, "aCheadscottz"] - - [0x800571D0, "aCheadjoez"] - - [0x800571DC, "aCheadkenz"] - - [0x800571E8, "aCheadjoe2z"] - - [0x800571F4, "aCheadmishkinz"] - - [0x80057204, "aCheadsallyz"] - - [0x80057210, "aCheadmarionz"] - - [0x80057220, "aCheadmandyz"] - - [0x8005722C, "aCheadvivienz"] - - [0x8005723C, "aCheadbrosnanboilerz"] - - [0x80057250, "aCheadbrosnansuitz"] - - [0x80057264, "aCheadbrosnantimberz"] - - [0x80057278, "aCheadbrosnansnowz"] - - [0x8005728C, "aCheadbrosnanz"] - - [0x8005729C, "aCspicebondz"] - - [0x800572B0, "jpt_7F091C08"] - - [0x800573DC, "jpt_7F0924D0"] - - [0x80057544, "jpt_7F094A38"] - - [0x80057590, "jpt_7F095E0C"] - - [0x8005762C, "jpt_7F09B27C"] - - [0x80057760, "aDD"] - - [0x80057768, "aDDDF"] - - [0x80057778, "aA"] - - [0x80057780, "aB"] - - [0x80057788, "aZ"] - - [0x80057790, "aL"] - - [0x80057798, "aR"] - - [0x800577A0, "aC"] - - [0x800577B0, "aS_0"] - - [0x800577B8, "a3d"] - - [0x80058448, "aC_2"] - - [0x800584CC, "jpt_7F0A6DFC"] - - [0x800584E0, "jpt_7F0A6E80"] - - [0x80058570, "jpt_7F0AC3B0"] - - [0x80058584, "jpt_7F0ACAC8"] - - [0x800585A0, "aCDCC"] - - [0x800585AC, "aStan_c_debug"] - - [0x800585BC, "aStanlinelog"] - - [0x800585F0, "aBgBg_sev_all_p_seg"] - - [0x80058604, "aTbg_sev_all_p_stanz"] - - [0x80058618, "aBgBg_silo_all_p_seg"] - - [0x80058630, "aTbg_silo_all_p_stanz"] - - [0x80058648, "aBgBg_stat_all_p_seg"] - - [0x80058660, "aTbg_stat_all_p_stanz"] - - [0x80058678, "aBgBg_arec_all_p_seg"] - - [0x80058690, "aTbg_arec_all_p_stanz"] - - [0x800586A8, "aBgBg_arch_all_p_seg"] - - [0x800586C0, "aTbg_arch_all_p_stanz"] - - [0x800586D8, "aBgBg_tra_all_p_seg"] - - [0x800586EC, "aTbg_tra_all_p_stanz"] - - [0x80058700, "aBgBg_dest_all_p_seg"] - - [0x80058718, "aTbg_dest_all_p_stanz"] - - [0x80058730, "aBgBg_sevb_all_p_seg"] - - [0x80058748, "aTbg_sevb_all_p_stanz"] - - [0x80058760, "aBgBg_azt_all_p_seg"] - - [0x80058774, "aTbg_azt_all_p_stanz"] - - [0x80058788, "aBgBg_pete_all_p_seg"] - - [0x800587A0, "aTbg_pete_all_p_stanz"] - - [0x800587B8, "aBgBg_depo_all_p_seg"] - - [0x800587D0, "aTbg_depo_all_p_stanz"] - - [0x800587E8, "aBgBg_ref_all_p_seg"] - - [0x800587FC, "aTbg_ref_all_p_stanz"] - - [0x80058810, "aBgBg_cryp_all_p_seg"] - - [0x80058828, "aTbg_cryp_all_p_stanz"] - - [0x80058840, "aBgBg_dam_all_p_seg"] - - [0x80058854, "aTbg_dam_all_p_stanz"] - - [0x80058868, "aBgBg_ark_all_p_seg"] - - [0x8005887C, "aTbg_ark_all_p_stanz"] - - [0x80058890, "aBgBg_run_all_p_seg"] - - [0x800588A4, "aTbg_run_all_p_stanz"] - - [0x800588B8, "aBgBg_sevx_all_p_seg"] - - [0x800588D0, "aTbg_sevx_all_p_stanz"] - - [0x800588E8, "aBgBg_jun_all_p_seg"] - - [0x800588FC, "aTbg_jun_all_p_stanz"] - - [0x80058910, "aBgBg_dish_all_p_seg"] - - [0x80058928, "aTbg_dish_all_p_stanz"] - - [0x80058940, "aBgBg_cave_all_p_seg"] - - [0x80058958, "aTbg_cave_all_p_stanz"] - - [0x80058970, "aBgBg_cat_all_p_seg"] - - [0x80058984, "aTbg_cat_all_p_stanz"] - - [0x80058998, "aBgBg_crad_all_p_seg"] - - [0x800589B0, "aTbg_crad_all_p_stanz"] - - [0x800589C8, "aBgBg_sho_all_p_seg"] - - [0x800589DC, "aTbg_sho_all_p_stanz"] - - [0x800589F0, "aBgBg_sevx_all_p_seg_0"] - - [0x80058A08, "aTbg_sevx_all_p_stanz_0"] - - [0x80058A20, "aBgBg_eld_all_p_seg"] - - [0x80058A34, "aTbg_eld_all_p_stanz"] - - [0x80058A48, "aBgBg_ame_all_p_seg"] - - [0x80058A5C, "aTbg_ame_all_p_stanz"] - - [0x80058A70, "aBgBg_ame_all_p_seg_0"] - - [0x80058A84, "aTbg_ame_all_p_stanz_0"] - - [0x80058A98, "aBgBg_lue_all_p_seg"] - - [0x80058AAC, "aTbg_lue_all_p_stanz"] - - [0x80058AC0, "aBgBg_ame_all_p_seg_1"] - - [0x80058AD4, "aTbg_ame_all_p_stanz_1"] - - [0x80058AE8, "aBgBg_rit_all_p_seg"] - - [0x80058AFC, "aTbg_rit_all_p_stanz"] - - [0x80058B10, "aBgBg_oat_all_p_seg"] - - [0x80058B24, "aTbg_oat_all_p_stanz"] - - [0x80058B38, "aBgBg_ear_all_p_seg"] - - [0x80058B4C, "aTbg_ear_all_p_stanz"] - - [0x80058B60, "aBgBg_lee_all_p_seg"] - - [0x80058B74, "aTbg_lee_all_p_stanz"] - - [0x80058B88, "aBgBg_lip_all_p_seg"] - - [0x80058B9C, "aTbg_lip_all_p_stanz"] - - [0x80058BB0, "aBgBg_len_all_p_seg"] - - [0x80058BC4, "aTbg_len_all_p_stanz"] - - [0x80058BD8, "aBgBg_wax_all_p_seg"] - - [0x80058BEC, "aTbg_wax_all_p_stanz"] - - [0x80058C00, "aBgBg_pam_all_p_seg"] - - [0x80058C14, "aTbg_pam_all_p_stanz"] - - [0x80058C28, "aBgBgx_seg"] - - [0x80058C34, "aTbgxz"] - - [0x80058C3C, "aBg_c_debug"] - - [0x80058C48, "aPortD"] - - [0x80058C50, "aRoomD"] - - [0x80058C58, "jpt_7F0B490C"] - - [0x80058C80, "jpt_7F0B84A8"] - - [0x80058CB4, "jpt_7F0B84C8"] - - [0x80058D70, "default_near_fog"] - - [0x80058D80, "jpt_7F0BB70C"] - - [0x80058DA0, "aBgBg_NaBgBg_NULLall_p_seg_0"] - - [0x80058DA4, "aBgBg_sev_all_p_seg_0"] - - [0x80058DB8, "aBgBg_silo_all_p_seg_0"] - - [0x80058DD0, "aBgBg_stat_all_p_seg_0"] - - [0x80058DE8, "aBgBg_arec_all_p_seg_0"] - - [0x80058E00, "aBgBg_arch_all_p_seg_0"] - - [0x80058E18, "aBgBg_tra_all_p_seg_0"] - - [0x80058E2C, "aBgBg_dest_all_p_seg_0"] - - [0x80058E44, "aBgBg_sevb_all_p_seg_0"] - - [0x80058E5C, "aBgBg_azt_all_p_seg_0"] - - [0x80058E70, "aBgBg_pete_all_p_seg_0"] - - [0x80058E88, "aBgBg_depo_all_p_seg_0"] - - [0x80058EA0, "aBgBg_ref_all_p_seg_0"] - - [0x80058EB4, "aBgBg_cryp_all_p_seg_0"] - - [0x80058ECC, "aBgBg_dam_all_p_seg_0"] - - [0x80058EE0, "aBgBg_ark_all_p_seg_0"] - - [0x80058EF4, "aBgBg_run_all_p_seg_0"] - - [0x80058F08, "aBgBg_sevx_all_p_seg_1"] - - [0x80058F20, "aBgBg_jun_all_p_seg_0"] - - [0x80058F34, "aBgBg_dish_all_p_seg_0"] - - [0x80058F4C, "aBgBg_cave_all_p_seg_0"] - - [0x80058F64, "aBgBg_cat_all_p_seg_0"] - - [0x80058F78, "aBgBg_crad_all_p_seg_0"] - - [0x80058F90, "aBgBg_sho_all_p_seg_0"] - - [0x80058FA4, "aBgBg_eld_all_p_seg_0"] - - [0x80058FB8, "aBgBg_imp_all_p_seg"] - - [0x80058FCC, "aBgBg_ash_all_p_seg"] - - [0x80058FE0, "aBgBg_lue_all_p_seg_0"] - - [0x80058FF4, "aBgBg_ame_all_p_seg_2"] - - [0x80059008, "aBgBg_rit_all_p_seg_0"] - - [0x8005901C, "aBgBg_oat_all_p_seg_0"] - - [0x80059030, "aBgBg_ear_all_p_seg_0"] - - [0x80059044, "aBgBg_lee_all_p_seg_0"] - - [0x80059058, "aBgBg_lip_all_p_seg_0"] - - [0x8005906C, "aBgBg_len_all_p_seg_0"] - - [0x80059080, "aBgBg_wax_all_p_seg_0"] - - [0x80059094, "aBgBg_pam_all_p_seg_0"] - - [0x800590A8, "aCarmourguardz_0"] - - [0x800590B8, "aCbaronsamediz_0"] - - [0x800590C8, "aCbluecamguardz_0"] - - [0x800590D8, "aCbluemanz_0"] - - [0x800590E4, "aCbluewomanz_0"] - - [0x800590F0, "aCboilerbondz_0"] - - [0x80059100, "aCboilertrevz_0"] - - [0x80059110, "aCborisz_0"] - - [0x80059118, "aCcamguardz_0"] - - [0x80059124, "aCcardimanz_0"] - - [0x80059130, "aCcheckmanz_0"] - - [0x8005913C, "aCcommguardz_0"] - - [0x80059148, "aCdjbondz_0"] - - [0x80059154, "aCfattechwomanz_1"] - - [0x80059164, "aCgreatguard2z_0"] - - [0x80059174, "aCgreatguardz_0"] - - [0x80059184, "aCgreyguardz_0"] - - [0x80059190, "aCgreymanz_0"] - - [0x8005919C, "aCheadalanz_0"] - - [0x800591A8, "aCheadbz_0"] - - [0x800591B0, "aCheadbalaclavaz_0"] - - [0x800591C0, "aCheadbikez_0"] - - [0x800591CC, "aCheadbrosnanz_0"] - - [0x800591DC, "aCheadbrosnanboilerz_0"] - - [0x800591F0, "aCheadbrosnansnowz_0"] - - [0x80059204, "aCheadbrosnansuitz_0"] - - [0x80059218, "aCheadbrosnantimberz_0"] - - [0x8005922C, "aCheadchrisz_0"] - - [0x80059238, "aCheaddavez_0"] - - [0x80059244, "aCheaddesz_0"] - - [0x80059250, "aCheadduncanz_0"] - - [0x80059260, "aCheaddwaynez_0"] - - [0x80059270, "aCheadgrahamz_0"] - - [0x80059280, "aCheadgrantz_0"] - - [0x8005928C, "aCheadjimz_0"] - - [0x80059298, "aCheadjoe2z_0"] - - [0x800592A4, "aCheadjoez_0"] - - [0x800592B0, "aCheadjoelz_0"] - - [0x800592BC, "aCheadkarlz_0"] - - [0x800592C8, "aCheadkenz_0"] - - [0x800592D4, "aCheadleez_0"] - - [0x800592E0, "aCheadmandyz_0"] - - [0x800592EC, "aCheadmarionz_0"] - - [0x800592FC, "aCheadmarkz_0"] - - [0x80059308, "aCheadmartinz_0"] - - [0x80059318, "aCheadmishkinz_0"] - - [0x80059328, "aCheadneilz_0"] - - [0x80059334, "aCheadpetez_0"] - - [0x80059340, "aCheadrobinz_0"] - - [0x8005934C, "aCheadsallyz_0"] - - [0x80059358, "aCheadscottz_0"] - - [0x80059364, "aCheadshaunz_0"] - - [0x80059370, "aCheadsteveez_0"] - - [0x80059380, "aCheadstevehz_0"] - - [0x80059390, "aCheadvivienz_0"] - - [0x800593A0, "aCjawsz_0"] - - [0x800593A8, "aCjeanwomanz_0"] - - [0x800593B4, "aCmaydayz_0"] - - [0x800593C0, "aCmoonfemalez_0"] - - [0x800593D0, "aCmoonguardz_0"] - - [0x800593DC, "aCnatalyaz_0"] - - [0x800593E8, "aCnavyguardz_0"] - - [0x800593F4, "aCoddjobz_0"] - - [0x80059400, "aColiveguardz_0"] - - [0x80059410, "aCorumovz_0"] - - [0x8005941C, "aCpilotz_0"] - - [0x80059424, "aCredmanz_0"] - - [0x80059430, "aCrusguardz_0"] - - [0x8005943C, "aCsnowbondz_0"] - - [0x80059448, "aCsnowguardz_0"] - - [0x80059454, "aCspicebondz_0"] - - [0x80059460, "aCsuit_lf_handz_1"] - - [0x80059470, "aCsuitbondz_0"] - - [0x8005947C, "aCtechmanz_0"] - - [0x80059488, "aCtechwomanz_0"] - - [0x80059494, "aCtimberbondz_0"] - - [0x800594A4, "aCtrevelyanz_0"] - - [0x800594B0, "aCtrevguardz_0"] - - [0x800594BC, "aCvalentinz_0"] - - [0x800594C8, "aCxeniaz_0"] - - [0x800594D0, "aGak47z_0"] - - [0x800594D8, "aGaudiotapez_0"] - - [0x800594E4, "aGautoshotz_0"] - - [0x800594F0, "aGblackboxz_0"] - - [0x800594FC, "aGblueprintsz_0"] - - [0x8005950C, "aGbombcasez_0"] - - [0x80059518, "aGbombdefuserz_0"] - - [0x80059528, "aGbriefcasez_0"] - - [0x80059534, "aGbugz_0"] - - [0x8005953C, "aGbugdetectorz_0"] - - [0x8005954C, "aGbungeez_0"] - - [0x80059558, "aGcameraz_0"] - - [0x80059564, "aGcartbluez_0"] - - [0x80059570, "aGcartridgez_0"] - - [0x8005957C, "aGcartriflez_0"] - - [0x80059588, "aGcartshellz_0"] - - [0x80059594, "aGcircuitboardz_0"] - - [0x800595A4, "aGclipboardz_0"] - - [0x800595B0, "aGcreditcardz_0"] - - [0x800595C0, "aGdarkglassesz_0"] - - [0x800595D0, "aGdatathiefz_0"] - - [0x800595DC, "aGdattapez_0"] - - [0x800595E8, "aGdoordecoderz_0"] - - [0x800595F8, "aGdoorexploderz_0"] - - [0x80059608, "aGdossierredz_0"] - - [0x80059618, "aGdynamitez"] - - [0x80059624, "aGexplosivefloppyz_0"] - - [0x80059638, "aGexplosivepenz"] - - [0x80059648, "aGextinguisherz"] - - [0x80059658, "aGfingergunz"] - - [0x80059664, "aGfistz_0"] - - [0x8005966C, "aGflarepistolz_0"] - - [0x8005967C, "aGfnp90z_0"] - - [0x80059684, "aGgaskeyringz_0"] - - [0x80059694, "aGgoldbarz_0"] - - [0x800596A0, "aGgoldeneyekeyz_0"] - - [0x800596B0, "aGgoldengunz_0"] - - [0x800596BC, "aGgoldwppkz_0"] - - [0x800596C8, "aGgrenadez_0"] - - [0x800596D4, "aGgrenadelaunchz_0"] - - [0x800596E4, "aGheroinz_0"] - - [0x800596F0, "aGjoypadz_0"] - - [0x800596FC, "aGkeyanalysercasez_0"] - - [0x80059710, "aGkeyboltz_0"] - - [0x8005971C, "aGkeycardz_0"] - - [0x80059728, "aGkeyyalez_0"] - - [0x80059734, "aGknifez_0"] - - [0x8005973C, "aGlaserz_0"] - - [0x80059744, "aGlectrez_0"] - - [0x80059750, "aGlockexploderz_0"] - - [0x80059760, "aGm16z_0"] - - [0x80059768, "aGmapz_0"] - - [0x80059770, "aGmicrocameraz_0"] - - [0x80059780, "aGmicrocodez_0"] - - [0x8005978C, "aGmicrofilmz_0"] - - [0x80059798, "aGmoneyz_0"] - - [0x800597A0, "aGmp5kz_0"] - - [0x800597A8, "aGmp5ksilz_0"] - - [0x800597B4, "aGpitongunz_0"] - - [0x800597C0, "aGplansz_0"] - - [0x800597C8, "aGplastiquez_0"] - - [0x800597D4, "aGpolarizedglassesz_0"] - - [0x800597E8, "aGproximityminez_0"] - - [0x800597F8, "aGremoteminez_0"] - - [0x80059808, "aGrocketlaunchz_0"] - - [0x80059818, "aGrugerz_0"] - - [0x80059820, "aGsafecrackercasez_0"] - - [0x80059834, "aGshotgunz_0"] - - [0x80059840, "aGsilverwppkz_0"] - - [0x80059850, "aGskorpionz_0"] - - [0x8005985C, "aGsniperriflez_0"] - - [0x8005986C, "aGspectrez_0"] - - [0x80059878, "aGspooltapez_0"] - - [0x80059884, "aGspyfilez_0"] - - [0x80059890, "aGstafflistz_0"] - - [0x8005989C, "aGtaserz_0"] - - [0x800598A4, "aGthrowknifez_0"] - - [0x800598B4, "aGtimedminez_0"] - - [0x800598C0, "aGtriggerz_0"] - - [0x800598CC, "aGtt33z_0"] - - [0x800598D4, "aGuziz_0"] - - [0x800598DC, "aGvideotapez_0"] - - [0x800598E8, "aGwatchcommunicatorz_0"] - - [0x800598FC, "aGwatchgeigercounterz_0"] - - [0x80059914, "aGwatchidentifierz_0"] - - [0x80059928, "aGwatchlaserz_0"] - - [0x80059938, "aGwatchmagnetattractz_0"] - - [0x80059950, "aGwatchmagnetrepelz_0"] - - [0x80059964, "aGweaponcasez_0"] - - [0x80059974, "aGwppkz_0"] - - [0x8005997C, "aGwppksilz_0"] - - [0x80059988, "aGwristdartz"] - - [0x80059994, "aPicbmz_0"] - - [0x8005999C, "aPicbm_nosez_0"] - - [0x800599A8, "aPak47magz_0"] - - [0x800599B4, "aPalarm1z_0"] - - [0x800599C0, "aPalarm2z_0"] - - [0x800599CC, "aPammo_crate1z_0"] - - [0x800599DC, "aPammo_crate2z_0"] - - [0x800599EC, "aPammo_crate3z_0"] - - [0x800599FC, "aPammo_crate4z_0"] - - [0x80059A0C, "aPammo_crate5z_0"] - - [0x80059A1C, "aPapcz_0"] - - [0x80059A24, "aParchsecdoor1z_0"] - - [0x80059A34, "aParchsecdoor2z_0"] - - [0x80059A44, "aParticz_0"] - - [0x80059A4C, "aPartictrailerz_0"] - - [0x80059A5C, "aPbarricadez_0"] - - [0x80059A68, "aPbin1z_0"] - - [0x80059A70, "aPblotter1z_0"] - - [0x80059A7C, "aPbodyarmourz_0"] - - [0x80059A8C, "aPbodyarmourvestz_0"] - - [0x80059AA0, "aPbollardz_0"] - - [0x80059AAC, "aPbombz_0"] - - [0x80059AB4, "aPbook1z_0"] - - [0x80059ABC, "aPbookshelf1z_0"] - - [0x80059ACC, "aPborg_cratez_0"] - - [0x80059ADC, "aPboxcartridgesz_0"] - - [0x80059AEC, "aPboxes2x4z_0"] - - [0x80059AF8, "aPboxes3x4z_0"] - - [0x80059B04, "aPboxes4x4z_0"] - - [0x80059B10, "aPbrakeunitz_0"] - - [0x80059B1C, "aPbridge_console1az_0"] - - [0x80059B30, "aPbridge_console1bz_0"] - - [0x80059B44, "aPbridge_console2az_0"] - - [0x80059B58, "aPbridge_console2bz_0"] - - [0x80059B6C, "aPbridge_console3az_0"] - - [0x80059B80, "aPbridge_console3bz_0"] - - [0x80059B94, "aPcarbmwz_0"] - - [0x80059BA0, "aPcard_box1z_0"] - - [0x80059BAC, "aPcard_box2z_0"] - - [0x80059BB8, "aPcard_box3z_0"] - - [0x80059BC4, "aPcard_box4_lgz_0"] - - [0x80059BD4, "aPcard_box5_lgz_0"] - - [0x80059BE4, "aPcard_box6_lgz_0"] - - [0x80059BF4, "aPcarescortz_0"] - - [0x80059C00, "aPcargolfz_0"] - - [0x80059C0C, "aPcarweirdz_0"] - - [0x80059C18, "aPcarzilz_0"] - - [0x80059C24, "aPcctvz_0"] - - [0x80059C2C, "aPchraudiotapez_0"] - - [0x80059C3C, "aPchrautoshotz_0"] - - [0x80059C4C, "aPchrblackboxz_0"] - - [0x80059C5C, "aPchrblueprintsz_0"] - - [0x80059C6C, "aPchrbombcasez_0"] - - [0x80059C7C, "aPchrbombdefuserz_0"] - - [0x80059C90, "aPchrbriefcasez_0"] - - [0x80059CA0, "aPchrbugz_0"] - - [0x80059CAC, "aPchrbugdetectorz_0"] - - [0x80059CC0, "aPchrbungeez_0"] - - [0x80059CCC, "aPchrcameraz_0"] - - [0x80059CD8, "aPchrcircuitboardz_0"] - - [0x80059CEC, "aPchrclipboardz_0"] - - [0x80059CFC, "aPchrcreditcardz_0"] - - [0x80059D0C, "aPchrdarkglassesz_0"] - - [0x80059D20, "aPchrdatathiefz_0"] - - [0x80059D30, "aPchrdattapez_0"] - - [0x80059D40, "aPchrdoordecoderz_0"] - - [0x80059D54, "aPchrdoorexploderz_0"] - - [0x80059D68, "aPchrdossierredz_0"] - - [0x80059D78, "aPchrdynamitez_0"] - - [0x80059D88, "aPchrexplosivepenz_0"] - - [0x80059D9C, "aPchrextinguisherz_0"] - - [0x80059DB0, "aPchrfingergunz_0"] - - [0x80059DC0, "aPchrflarepistolz_0"] - - [0x80059DD4, "aPchrfnp90z_0"] - - [0x80059DE0, "aPchrgaskeyringz_0"] - - [0x80059DF0, "aPchrgoldbarz_0"] - - [0x80059E00, "aPchrgoldenz_0"] - - [0x80059E0C, "aPchrgoldeneyekeyz_0"] - - [0x80059E20, "aPchrgoldwppkz_0"] - - [0x80059E30, "aPchrgrenadez_0"] - - [0x80059E40, "aPchrgrenadelaunchz_0"] - - [0x80059E54, "aPchrgrenaderoundz_0"] - - [0x80059E68, "aPchrheroinz_0"] - - [0x80059E74, "aPchrkalashz_0"] - - [0x80059E80, "aPchrkeyanalysercasez_0"] - - [0x80059E98, "aPchrkeyboltz_0"] - - [0x80059EA8, "aPchrkeyyalez_0"] - - [0x80059EB8, "aPchrknifez_0"] - - [0x80059EC4, "aPchrlaserz_0"] - - [0x80059ED0, "aPchrlectrez_0"] - - [0x80059EDC, "aPchrlockexploderz_0"] - - [0x80059EF0, "aPchrm16z_0"] - - [0x80059EFC, "aPchrmapz_0"] - - [0x80059F08, "aPchrmicrocameraz_0"] - - [0x80059F1C, "aPchrmicrocodez_0"] - - [0x80059F2C, "aPchrmicrofilmz_0"] - - [0x80059F3C, "aPchrmoneyz_0"] - - [0x80059F48, "aPchrmp5kz_0"] - - [0x80059F54, "aPchrmp5ksilz_0"] - - [0x80059F64, "aPchrpitongunz_0"] - - [0x80059F74, "aPchrplansz_0"] - - [0x80059F80, "aPchrplastiquez_0"] - - [0x80059F90, "aPchrpolarizedglassesz_0"] - - [0x80059FA8, "aPchrproximityminez_0"] - - [0x80059FBC, "aPchrremoteminez_0"] - - [0x80059FCC, "aPchrrocketz_0"] - - [0x80059FD8, "aPchrrocketlaunchz_0"] - - [0x80059FEC, "aPchrrugerz_0"] - - [0x80059FF8, "aPchrsafecrackercasez_0"] - - [0x8005A010, "aPchrshotgunz_0"] - - [0x8005A020, "aPchrsilverwppkz_0"] - - [0x8005A030, "aPchrskorpionz_0"] - - [0x8005A040, "aPchrsniperriflez_0"] - - [0x8005A054, "aPchrspectrez_0"] - - [0x8005A064, "aPchrspooltapez_0"] - - [0x8005A074, "aPchrspyfilez_0"] - - [0x8005A084, "aPchrstafflistz_0"] - - [0x8005A094, "aPchrtesttubez_0"] - - [0x8005A0A4, "aPchrthrowknifez_0"] - - [0x8005A0B4, "aPchrtimedminez_0"] - - [0x8005A0C4, "aPchrtt33z_0"] - - [0x8005A0D0, "aPchruziz_0"] - - [0x8005A0DC, "aPchrvideotapez_0"] - - [0x8005A0EC, "aPchrweaponcasez_0"] - - [0x8005A0FC, "aPchrwppkz_0"] - - [0x8005A108, "aPchrwppksilz_0"] - - [0x8005A118, "aPchrwristdartz_0"] - - [0x8005A128, "aPconsole1z_0"] - - [0x8005A134, "aPconsole2z_0"] - - [0x8005A140, "aPconsole3z_0"] - - [0x8005A14C, "aPconsole_sev2az_0"] - - [0x8005A15C, "aPconsole_sev2bz_0"] - - [0x8005A16C, "aPconsole_sev2cz_0"] - - [0x8005A17C, "aPconsole_sev2dz_0"] - - [0x8005A18C, "aPconsole_sev_geaz_0"] - - [0x8005A1A0, "aPconsole_sev_gebz_0"] - - [0x8005A1B4, "aPconsole_sevaz_0"] - - [0x8005A1C4, "aPconsole_sevbz_0"] - - [0x8005A1D4, "aPconsole_sevcz_0"] - - [0x8005A1E4, "aPconsole_sevdz_0"] - - [0x8005A1F4, "aPcryptdoor1az_0"] - - [0x8005A204, "aPcryptdoor1bz_0"] - - [0x8005A214, "aPcryptdoor2az_0"] - - [0x8005A224, "aPcryptdoor2bz_0"] - - [0x8005A234, "aPcryptdoor3z_0"] - - [0x8005A244, "aPcryptdoor4z_0"] - - [0x8005A254, "aPdamchaindoorz_0"] - - [0x8005A264, "aPdamgatedoorz_0"] - - [0x8005A274, "aPdamtundoorz_0"] - - [0x8005A284, "aPdepot_door_steelz_0"] - - [0x8005A298, "aPdepot_gate_entryz_0"] - - [0x8005A2AC, "aPdesk1z_0"] - - [0x8005A2B4, "aPdesk2z_0"] - - [0x8005A2BC, "aPdesk_arecibo1z_0"] - - [0x8005A2CC, "aPdesk_lamp2z_0"] - - [0x8005A2DC, "aPdest_enginez_0"] - - [0x8005A2EC, "aPdest_exocetz_0"] - - [0x8005A2FC, "aPdest_gunz_0"] - - [0x8005A308, "aPdest_harpoonz_0"] - - [0x8005A318, "aPdest_seawolfz_0"] - - [0x8005A328, "aPdisc_readerz_0"] - - [0x8005A338, "aPdisk_drive1z_0"] - - [0x8005A348, "aPdoor_azt_chairz_0"] - - [0x8005A35C, "aPdoor_azt_deskz_0"] - - [0x8005A36C, "aPdoor_azt_desk_topz_0"] - - [0x8005A380, "aPdoor_aztecz_0"] - - [0x8005A390, "aPdoor_dest1z_0"] - - [0x8005A3A0, "aPdoor_dest2z_0"] - - [0x8005A3B0, "aPdoor_eyelidz_0"] - - [0x8005A3C0, "aPdoor_irisz_0"] - - [0x8005A3CC, "aPdoor_mfz_0"] - - [0x8005A3D8, "aPdoor_roller1z_0"] - - [0x8005A3E8, "aPdoor_roller2z_0"] - - [0x8005A3F8, "aPdoor_roller3z_0"] - - [0x8005A408, "aPdoor_roller4z_0"] - - [0x8005A418, "aPdoor_rollertrainz_0"] - - [0x8005A42C, "aPdoor_st_arec1z_0"] - - [0x8005A43C, "aPdoor_st_arec2z_0"] - - [0x8005A44C, "aPdoor_winz_0"] - - [0x8005A458, "aPdoorconsolez_0"] - - [0x8005A468, "aPdoorpanelz_0"] - - [0x8005A474, "aPdoorprison1z_0"] - - [0x8005A484, "aPdoorstatgatez_0"] - - [0x8005A494, "aPexplosionbitz_0"] - - [0x8005A4A4, "aPfiling_cabinet1z_0"] - - [0x8005A4B8, "aPflagz_0"] - - [0x8005A4C0, "aPfloppyz_0"] - - [0x8005A4CC, "aPfnp90magz_0"] - - [0x8005A4D8, "aPgas_plant_met1_do1z_0"] - - [0x8005A4F0, "aPgas_plant_sw2_do1z_0"] - - [0x8005A504, "aPgas_plant_sw3_do1z_0"] - - [0x8005A518, "aPgas_plant_sw4_do1z_0"] - - [0x8005A52C, "aPgas_plant_sw_do1z_0"] - - [0x8005A540, "aPgas_plant_wc_cub1z_0"] - - [0x8005A554, "aPgasbarrelz_0"] - - [0x8005A560, "aPgasbarrelsz_0"] - - [0x8005A570, "aPgasplant_clear_doorz_0"] - - [0x8005A588, "aPgastankz_0"] - - [0x8005A594, "aPglassware1z_0"] - - [0x8005A5A4, "aPglassware2z_0"] - - [0x8005A5B4, "aPglassware3z_0"] - - [0x8005A5C4, "aPglassware4z_0"] - - [0x8005A5D4, "aPgoldeneyelogoz_0"] - - [0x8005A5E4, "aPgoldenshellsz_0"] - - [0x8005A5F4, "aPgroundgunz_0"] - - [0x8005A600, "aPgun_runway1z_0"] - - [0x8005A610, "aPhatberetz_0"] - - [0x8005A61C, "aPhatberetbluez_0"] - - [0x8005A62C, "aPhatberetredz_0"] - - [0x8005A63C, "aPhatchboltz_0"] - - [0x8005A648, "aPhatchdoorz_0"] - - [0x8005A654, "aPhatchsevxz_0"] - - [0x8005A660, "aPhatfurryz_0"] - - [0x8005A66C, "aPhatfurryblackz_0"] - - [0x8005A67C, "aPhatfurrybrownz_0"] - - [0x8005A68C, "aPhathelmetz_0"] - - [0x8005A698, "aPhathelmetgreyz_0"] - - [0x8005A6A8, "aPhatmoonz_0"] - - [0x8005A6B4, "aPhatpeakedz_0"] - - [0x8005A6C0, "aPhattbirdz_0"] - - [0x8005A6CC, "aPhattbirdbrownz_0"] - - [0x8005A6DC, "aPhelicopterz_0"] - - [0x8005A6EC, "aPhindz_0"] - - [0x8005A6F4, "aPjeepz_0"] - - [0x8005A6FC, "aPjerry_can1z_0"] - - [0x8005A70C, "aPjungle3_treez_0"] - - [0x8005A71C, "aPjungle5_treez_0"] - - [0x8005A72C, "aPkey_holderz_0"] - - [0x8005A73C, "aPkeyboard1z_0"] - - [0x8005A748, "aPkit_units1z_0"] - - [0x8005A758, "aPlabbenchz_0"] - - [0x8005A764, "aPlandminez_0"] - - [0x8005A770, "aPlegalpagez_0"] - - [0x8005A77C, "aPletter_tray1z_0"] - - [0x8005A78C, "aPlocker3z_0"] - - [0x8005A798, "aPlocker4z_0"] - - [0x8005A7A4, "aPm16magz_0"] - - [0x8005A7B0, "aPmagnumshellsz_0"] - - [0x8005A7C0, "aPmainframe1z_0"] - - [0x8005A7D0, "aPmainframe2z_0"] - - [0x8005A7E0, "aPmetal_chair1z_0"] - - [0x8005A7F0, "aPmetal_crate1z_0"] - - [0x8005A800, "aPmetal_crate2z_0"] - - [0x8005A810, "aPmetal_crate3z_0"] - - [0x8005A820, "aPmetal_crate4z_0"] - - [0x8005A830, "aPmilcopterz_0"] - - [0x8005A83C, "aPmiltruckz_0"] - - [0x8005A848, "aPmissile_rack2z_0"] - - [0x8005A858, "aPmissile_rackz_0"] - - [0x8005A868, "aPmodemboxz_0"] - - [0x8005A874, "aPmotorbikez_0"] - - [0x8005A880, "aPmp5kmagz_0"] - - [0x8005A88C, "aPnintendologoz_0"] - - [0x8005A89C, "aPoil_drum1z_0"] - - [0x8005A8A8, "aPoil_drum2z_0"] - - [0x8005A8B4, "aPoil_drum3z_0"] - - [0x8005A8C0, "aPoil_drum5z_0"] - - [0x8005A8CC, "aPoil_drum6z_0"] - - [0x8005A8D8, "aPoil_drum7z_0"] - - [0x8005A8E4, "aPpadlockz_0"] - - [0x8005A8F0, "aPpalmz_0"] - - [0x8005A8F8, "aPpalmtreez_0"] - - [0x8005A904, "aPphone1z_0"] - - [0x8005A910, "aPplanez_0"] - - [0x8005A918, "aPplant11z_0"] - - [0x8005A924, "aPplant1z_0"] - - [0x8005A930, "aPplant2z_0"] - - [0x8005A93C, "aPplant2bz_0"] - - [0x8005A948, "aPplant3z_0"] - - [0x8005A954, "aPradio_unit1z_0"] - - [0x8005A964, "aPradio_unit2z_0"] - - [0x8005A974, "aPradio_unit3z_0"] - - [0x8005A984, "aPradio_unit4z_0"] - - [0x8005A994, "aProofgunz_0"] - - [0x8005A9A0, "aPsafez_0"] - - [0x8005A9A8, "aPsafedoorz_0"] - - [0x8005A9B4, "aPsat1_reflectz_0"] - - [0x8005A9C4, "aPsatboxz_0"] - - [0x8005A9D0, "aPsatdishz_0"] - - [0x8005A9DC, "aPsec_panelz_0"] - - [0x8005A9E8, "aPsev_door3z_0"] - - [0x8005A9F4, "aPsev_door3_windz_0"] - - [0x8005AA08, "aPsev_door4_windz_0"] - - [0x8005AA1C, "aPsev_doorz_0"] - - [0x8005AA28, "aPsev_door_v1z_0"] - - [0x8005AA38, "aPsev_trislidez_0"] - - [0x8005AA48, "aPsevdishz_0"] - - [0x8005AA54, "aPsevdoormetslidez_0"] - - [0x8005AA68, "aPsevdoornowindz_0"] - - [0x8005AA78, "aPsevdoorwindz_0"] - - [0x8005AA88, "aPsevdoorwoodz_0"] - - [0x8005AA98, "aPshuttlez_0"] - - [0x8005AAA4, "aPshuttle_door_lz_0"] - - [0x8005AAB8, "aPshuttle_door_rz_0"] - - [0x8005AACC, "aPsilencerz_0"] - - [0x8005AAD8, "aPsilo_lift_doorz_0"] - - [0x8005AAEC, "aPsilotopdoorz_0"] - - [0x8005AAFC, "aPskorpionmagz_0"] - - [0x8005AB0C, "aPspectremagz_0"] - - [0x8005AB1C, "aPspeedboatz_0"] - - [0x8005AB28, "aPst_pete_room_1iz_0"] - - [0x8005AB3C, "aPst_pete_room_2iz_0"] - - [0x8005AB50, "aPst_pete_room_3tz_0"] - - [0x8005AB64, "aPst_pete_room_5cz_0"] - - [0x8005AB78, "aPst_pete_room_6cz_0"] - - [0x8005AB8C, "aPsteel_door1z_0"] - - [0x8005AB9C, "aPsteel_door2z_0"] - - [0x8005ABAC, "aPsteel_door2bz_0"] - - [0x8005ABBC, "aPsteel_door3z_0"] - - [0x8005ABCC, "aPstool1z_0"] - - [0x8005ABD8, "aPswipe_card2z_0"] - - [0x8005ABE8, "aPswivel_chair1z_0"] - - [0x8005ABF8, "aPtankz_0"] - - [0x8005AC00, "aPtigerz_0"] - - [0x8005AC08, "aPtorpedo_rackz_0"] - - [0x8005AC18, "aPtrain_door2z_0"] - - [0x8005AC28, "aPtrain_door3z_0"] - - [0x8005AC38, "aPtrain_doorz_0"] - - [0x8005AC48, "aPtrainextdoorz_0"] - - [0x8005AC58, "aPtt33magz_0"] - - [0x8005AC64, "aPtuning_console1z_0"] - - [0x8005AC78, "aPtv1z_0"] - - [0x8005AC80, "aPtv4screenz_0"] - - [0x8005AC8C, "aPtv_holderz_0"] - - [0x8005AC98, "aPtvscreenz_1"] - - [0x8005ACA4, "aPuzimagz_0"] - - [0x8005ACB0, "aPvertdoorz_1"] - - [0x8005ACBC, "aPwalletbondz_0"] - - [0x8005ACCC, "aPwindowz_0"] - - [0x8005ACD8, "aPwindow_cor11z_1"] - - [0x8005ACE8, "aPwindow_lib_lg1z_0"] - - [0x8005ACFC, "aPwindow_lib_sm1z_0"] - - [0x8005AD10, "aPwood_lg_crate1z_0"] - - [0x8005AD24, "aPwood_lg_crate2z_0"] - - [0x8005AD38, "aPwood_md_crate3z_0"] - - [0x8005AD4C, "aPwood_sm_crate4z_0"] - - [0x8005AD60, "aPwood_sm_crate5z_0"] - - [0x8005AD74, "aPwood_sm_crate6z_0"] - - [0x8005AD88, "aPwooden_table1z_0"] - - [0x8005AD98, "aPwppkmagz_0"] - - [0x8005ADA4, "aTbg_ame_all_p_stanz_2"] - - [0x8005ADB8, "aTbg_arch_all_p_stanz_0"] - - [0x8005ADD0, "aTbg_arec_all_p_stanz_0"] - - [0x8005ADE8, "aTbg_ark_all_p_stanz_0"] - - [0x8005ADFC, "aTbg_ash_all_p_stanz"] - - [0x8005AE10, "aTbg_azt_all_p_stanz_0"] - - [0x8005AE24, "aTbg_cat_all_p_stanz_0"] - - [0x8005AE38, "aTbg_cave_all_p_stanz_0"] - - [0x8005AE50, "aTbg_crad_all_p_stanz_0"] - - [0x8005AE68, "aTbg_cryp_all_p_stanz_0"] - - [0x8005AE80, "aTbg_dam_all_p_stanz_0"] - - [0x8005AE94, "aTbg_depo_all_p_stanz_0"] - - [0x8005AEAC, "aTbg_dest_all_p_stanz_0"] - - [0x8005AEC4, "aTbg_dish_all_p_stanz_0"] - - [0x8005AEDC, "aTbg_ear_all_p_stanz_0"] - - [0x8005AEF0, "aTbg_eld_all_p_stanz_0"] - - [0x8005AF04, "aTbg_imp_all_p_stanz"] - - [0x8005AF18, "aTbg_jun_all_p_stanz_0"] - - [0x8005AF2C, "aTbg_lee_all_p_stanz_0"] - - [0x8005AF40, "aTbg_len_all_p_stanz_0"] - - [0x8005AF54, "aTbg_lip_all_p_stanz_0"] - - [0x8005AF68, "aTbg_lue_all_p_stanz_0"] - - [0x8005AF7C, "aTbg_oat_all_p_stanz_0"] - - [0x8005AF90, "aTbg_pam_all_p_stanz_0"] - - [0x8005AFA4, "aTbg_pete_all_p_stanz_0"] - - [0x8005AFBC, "aTbg_ref_all_p_stanz_0"] - - [0x8005AFD0, "aTbg_rit_all_p_stanz_0"] - - [0x8005AFE4, "aTbg_run_all_p_stanz_0"] - - [0x8005AFF8, "aTbg_sev_all_p_stanz_0"] - - [0x8005B00C, "aTbg_sevb_all_p_stanz_0"] - - [0x8005B024, "aTbg_sevx_all_p_stanz_1"] - - [0x8005B03C, "aTbg_silo_all_p_stanz_0"] - - [0x8005B054, "aTbg_stat_all_p_stanz_0"] - - [0x8005B06C, "aTbg_tra_all_p_stanz_0"] - - [0x8005B080, "aTbg_wax_all_p_stanz_0"] - - [0x8005B094, "aUbriefarchz"] - - [0x8005B0A0, "aUbriefarkz"] - - [0x8005B0AC, "aUbriefaztz"] - - [0x8005B0B8, "aUbriefcavez"] - - [0x8005B0C4, "aUbriefcontrolz"] - - [0x8005B0D4, "aUbriefcradz"] - - [0x8005B0E0, "aUbriefcrypz"] - - [0x8005B0EC, "aUbriefdamz"] - - [0x8005B0F8, "aUbriefdepoz"] - - [0x8005B104, "aUbriefdestz"] - - [0x8005B110, "aUbriefjunz"] - - [0x8005B11C, "aUbriefpetez"] - - [0x8005B128, "aUbriefrunz"] - - [0x8005B134, "aUbriefsevbz"] - - [0x8005B140, "aUbriefsevbunkerz"] - - [0x8005B154, "aUbriefsevxz"] - - [0x8005B160, "aUbriefsevxbz"] - - [0x8005B170, "aUbriefsiloz"] - - [0x8005B17C, "aUbriefstatuez"] - - [0x8005B18C, "aUbrieftraz"] - - [0x8005B198, "aUmp_setupamez"] - - [0x8005B1A8, "aUmp_setuparchz"] - - [0x8005B1B8, "aUmp_setuparkz"] - - [0x8005B1C8, "aUmp_setupashz"] - - [0x8005B1D8, "aUmp_setupcavez"] - - [0x8005B1E8, "aUmp_setupcradz"] - - [0x8005B1F8, "aUmp_setupcrypz"] - - [0x8005B208, "aUmp_setupdishz"] - - [0x8005B218, "aUmp_setupimpz"] - - [0x8005B228, "aUmp_setupoatz"] - - [0x8005B238, "aUmp_setuprefz"] - - [0x8005B248, "aUmp_setupsevbz"] - - [0x8005B258, "aUmp_setupstatuez"] - - [0x8005B26C, "aUsetuparchz_0"] - - [0x8005B278, "aUsetuparkz_1"] - - [0x8005B284, "aUsetupaztz_1"] - - [0x8005B290, "aUsetupcavez_0"] - - [0x8005B29C, "aUsetupcontrolz_1"] - - [0x8005B2AC, "aUsetupcradz_0"] - - [0x8005B2B8, "aUsetupcrypz_0"] - - [0x8005B2C4, "aUsetupdamz_1"] - - [0x8005B2D0, "aUsetupdepoz_0"] - - [0x8005B2DC, "aUsetupdestz_0"] - - [0x8005B2E8, "aUsetupjunz_1"] - - [0x8005B2F4, "aUsetuplenz_1"] - - [0x8005B300, "aUsetuppetez_0"] - - [0x8005B30C, "aUsetuprunz_1"] - - [0x8005B318, "aUsetupsevbz_0"] - - [0x8005B324, "aUsetupsevbunkerz_1"] - - [0x8005B338, "aUsetupsevxz_0"] - - [0x8005B344, "aUsetupsevxbz_0"] - - [0x8005B354, "aUsetupsiloz_0"] - - [0x8005B360, "aUsetupstatuez_0"] - - [0x8005B370, "aUsetuptraz_1"] - - [0x8005B37C, "aLamee_0"] - - [0x8005B384, "aLamej_0"] - - [0x8005B38C, "aLarche_1"] - - [0x8005B394, "aLarchj_1"] - - [0x8005B39C, "aLarece_1"] - - [0x8005B3A4, "aLarecj_1"] - - [0x8005B3AC, "aLarke_0"] - - [0x8005B3B4, "aLarkj_0"] - - [0x8005B3BC, "aLashe_0"] - - [0x8005B3C4, "aLashj_0"] - - [0x8005B3CC, "aLazte_0"] - - [0x8005B3D4, "aLaztj_0"] - - [0x8005B3DC, "aLcate_0"] - - [0x8005B3E4, "aLcatj_0"] - - [0x8005B3EC, "aLcavee_1"] - - [0x8005B3F4, "aLcavej_1"] - - [0x8005B3FC, "aLcrade_1"] - - [0x8005B404, "aLcradj_1"] - - [0x8005B40C, "aLcrype_1"] - - [0x8005B414, "aLcrypj_1"] - - [0x8005B41C, "aLdame_0"] - - [0x8005B424, "aLdamj_0"] - - [0x8005B42C, "aLdepoe_1"] - - [0x8005B434, "aLdepoj_1"] - - [0x8005B43C, "aLdeste_1"] - - [0x8005B444, "aLdestj_1"] - - [0x8005B44C, "aLdishe_1"] - - [0x8005B454, "aLdishj_1"] - - [0x8005B45C, "aLeare_0"] - - [0x8005B464, "aLearj_0"] - - [0x8005B46C, "aLelde_0"] - - [0x8005B474, "aLeldj_0"] - - [0x8005B47C, "aLgune_0"] - - [0x8005B484, "aLgunj_0"] - - [0x8005B48C, "aLimpe_0"] - - [0x8005B494, "aLimpj_0"] - - [0x8005B49C, "aLjune_0"] - - [0x8005B4A4, "aLjunj_0"] - - [0x8005B4AC, "aLleee_0"] - - [0x8005B4B4, "aLleej_0"] - - [0x8005B4BC, "aLlene_0"] - - [0x8005B4C4, "aLlenj_0"] - - [0x8005B4CC, "aLlipe_0"] - - [0x8005B4D4, "aLlipj_0"] - - [0x8005B4DC, "aLluee_0"] - - [0x8005B4E4, "aLluej_0"] - - [0x8005B4EC, "aLmisce_1"] - - [0x8005B4F4, "aLmiscj_1"] - - [0x8005B4FC, "aLmpmenue_0"] - - [0x8005B508, "aLmpmenuj_0"] - - [0x8005B514, "aLmpweaponse_0"] - - [0x8005B520, "aLmpweaponsj_0"] - - [0x8005B52C, "aLoate_0"] - - [0x8005B534, "aLoatj_0"] - - [0x8005B53C, "aLoptionse_0"] - - [0x8005B548, "aLoptionsj_0"] - - [0x8005B554, "aLpame_0"] - - [0x8005B55C, "aLpamj_0"] - - [0x8005B564, "aLpetee_1"] - - [0x8005B56C, "aLpetej_1"] - - [0x8005B574, "aLpropobje_0"] - - [0x8005B580, "aLpropobjj_0"] - - [0x8005B58C, "aLrefe_0"] - - [0x8005B594, "aLrefj_0"] - - [0x8005B59C, "aLrite_0"] - - [0x8005B5A4, "aLritj_0"] - - [0x8005B5AC, "aLrune_0"] - - [0x8005B5B4, "aLrunj_0"] - - [0x8005B5BC, "aLseve_0"] - - [0x8005B5C4, "aLsevj_0"] - - [0x8005B5CC, "aLsevbe_1"] - - [0x8005B5D4, "aLsevbj_1"] - - [0x8005B5DC, "aLsevxe_1"] - - [0x8005B5E4, "aLsevxj_1"] - - [0x8005B5EC, "aLsevxbe_0"] - - [0x8005B5F4, "aLsevxbj_0"] - - [0x8005B5FC, "aLshoe_0"] - - [0x8005B604, "aLshoj_0"] - - [0x8005B60C, "aLsiloe_1"] - - [0x8005B614, "aLsiloj_1"] - - [0x8005B61C, "aLstate_1"] - - [0x8005B624, "aLstatj_1"] - - [0x8005B62C, "aLtitlee_0"] - - [0x8005B634, "aLtitlej_0"] - - [0x8005B63C, "aLtrae_0"] - - [0x8005B644, "aLtraj_0"] - - [0x8005B64C, "aLwaxe_0"] - - [0x8005B654, "aLwaxj_0"] - - [0x8005B65C, "aObOb_end_seg"] - - [0x8005B66C, "rz_header_1"] - - [0x8005B670, "rz_header_2"] - - [0x8005B674, "aOb_c_debug"] - - [0x8005B680, "aDyn_c_debug"] - - [0x8005B68C, "aMgfx"] - - [0x8005B694, "aMgfx_1"] - - [0x8005B69C, "aMvtx"] - - [0x8005B6A4, "aMvtx_0"] - - [0x8005B6B0, "aLv_c_debug"] - - [0x8005B6BC, "aStanshow_"] - - [0x8005B6C8, "aStanshow__5"] - - [0x8005B6D4, "aStanshow__0"] - - [0x8005B6E0, "aStanshow__1"] - - [0x8005B6EC, "aStanshow__2"] - - [0x8005B6F8, "aStanshow__3"] - - [0x8005B704, "aOneMinuteLeft"] - - [0x8005B714, "aSetdetailDDDDDDDDD"] - - [0x8005B750, "aReplayDemo_D"] - - [0x8005B760, "aReplayDemo_D_1"] - - [0x8005B770, "aReplayDemo_load"] - - [0x8005B790, "jpt_7F0C0C6C"] - - [0x8005B7AC, "jpt_7F0C0C8C"] - - [0x8005B7C8, "jpt_7F0C0D40"] - - [0x8005B7E8, "jpt_7F0C0E30"] - - [0x8005B804, "jpt_7F0C0EC8"] - - [0x8005B820, "jpt_7F0C1000"] - - [0x8005B83C, "jpt_7F0C10CC"] - - [0x8005B858, "jpt_7F0C1174"] - - [0x8005B880, "aLamee"] - - [0x8005B888, "aLamej"] - - [0x8005B890, "aLarche"] - - [0x8005B898, "aLarchj"] - - [0x8005B8A0, "aLarke"] - - [0x8005B8A8, "aLarkj"] - - [0x8005B8B0, "aLashe"] - - [0x8005B8B8, "aLashj"] - - [0x8005B8C0, "aLazte"] - - [0x8005B8C8, "aLaztj"] - - [0x8005B8D0, "aLcate"] - - [0x8005B8D8, "aLcatj"] - - [0x8005B8E0, "aLcavee"] - - [0x8005B8E8, "aLcavej"] - - [0x8005B8F0, "aLarece"] - - [0x8005B8F8, "aLarecj"] - - [0x8005B900, "aLcrade"] - - [0x8005B908, "aLcradj"] - - [0x8005B910, "aLcrype"] - - [0x8005B918, "aLcrypj"] - - [0x8005B920, "aLdame"] - - [0x8005B928, "aLdamj"] - - [0x8005B930, "aLdepoe"] - - [0x8005B938, "aLdepoj"] - - [0x8005B940, "aLdeste"] - - [0x8005B948, "aLdestj"] - - [0x8005B950, "aLdishe"] - - [0x8005B958, "aLdishj"] - - [0x8005B960, "aLeare"] - - [0x8005B968, "aLearj"] - - [0x8005B970, "aLelde"] - - [0x8005B978, "aLeldj"] - - [0x8005B980, "aLimpe"] - - [0x8005B988, "aLimpj"] - - [0x8005B990, "aLjune"] - - [0x8005B998, "aLjunj"] - - [0x8005B9A0, "aLleee"] - - [0x8005B9A8, "aLleej"] - - [0x8005B9B0, "aLlene"] - - [0x8005B9B8, "aLlenj"] - - [0x8005B9C0, "aLlipe"] - - [0x8005B9C8, "aLlipj"] - - [0x8005B9D0, "aLluee"] - - [0x8005B9D8, "aLluej"] - - [0x8005B9E0, "aLoate"] - - [0x8005B9E8, "aLoatj"] - - [0x8005B9F0, "aLpame"] - - [0x8005B9F8, "aLpamj"] - - [0x8005BA00, "aLpetee"] - - [0x8005BA08, "aLpetej"] - - [0x8005BA10, "aLrefe"] - - [0x8005BA18, "aLrefj"] - - [0x8005BA20, "aLrite"] - - [0x8005BA28, "aLritj"] - - [0x8005BA30, "aLrune"] - - [0x8005BA38, "aLrunj"] - - [0x8005BA40, "aLsevbe"] - - [0x8005BA48, "aLsevbj"] - - [0x8005BA50, "aLseve"] - - [0x8005BA58, "aLsevj"] - - [0x8005BA60, "aLsevxe"] - - [0x8005BA68, "aLsevxj"] - - [0x8005BA70, "aLsevxbe"] - - [0x8005BA78, "aLsevxbj"] - - [0x8005BA80, "aLshoe"] - - [0x8005BA88, "aLshoj"] - - [0x8005BA90, "aLsiloe"] - - [0x8005BA98, "aLsiloj"] - - [0x8005BAA0, "aLstate"] - - [0x8005BAA8, "aLstatj"] - - [0x8005BAB0, "aLtrae"] - - [0x8005BAB8, "aLtraj"] - - [0x8005BAC0, "aLwaxe"] - - [0x8005BAC8, "aLwaxj"] - - [0x8005BAD0, "aLgune"] - - [0x8005BAD8, "aLgunj"] - - [0x8005BAE0, "aLtitlee"] - - [0x8005BAE8, "aLtitlej"] - - [0x8005BAF0, "aLmpmenue"] - - [0x8005BAFC, "aLmpmenuj"] - - [0x8005BB08, "aLpropobje"] - - [0x8005BB14, "aLpropobjj"] - - [0x8005BB20, "aLmpweaponse"] - - [0x8005BB2C, "aLmpweaponsj"] - - [0x8005BB38, "aLoptionse"] - - [0x8005BB44, "aLoptionsj"] - - [0x8005BB50, "aLmisce"] - - [0x8005BB58, "aLmiscj"] - - [0x8005BB60, "jpt_7F0C15FC"] - - [0x8005BC20, "ascii_MP_watch_menu_percentd"] - - [0x8005BC24, "ascii_MP_watch_menu_BLANK"] - - [0x8005BC28, "ascii_MP_watch_menu_left_chevron"] - - [0x8005BC2C, "ascii_MP_watch_menu_right_chevron"] - - [0x8005BC30, "ascii_pnum_KILLS"] - - [0x8005BC38, "ascii_pnum_LOSSES"] - - [0x8005BC40, "jpt_7F0C1E48"] - - [0x8005BC60, "jpt_7F0C1EB4"] - - [0x8005BC88, "jpt_7F0C362C"] - - [0x8005BCA0, "jpt_7F0C394C"] - - [0x8005BCC0, "jpt_7F0C3F84"] - - [0x8005BCE0, "jpt_7F0C3FF4"] - - [0x8005BD00, "jpt_7F0C40C0"] - - [0x8005BD30, "jpt_7F0C8054"] - - [0x8005BD58, "jpt_7F0C87C4"] - - [0x8005BD7C, "jpt_7F0C8874"] - - [0x8005BDA0, "jpt_7F0C9B04"] - - [0x8005BDC4, "jpt_7F0C9DF0"] - - [0x8005BDE8, "jpt_7F0CA900"] - - [0x8005BE0C, "jpt_7F0CACBC"] - - [0x8005BE30, "jpt_7F0CB6A0"] - - [0x8005BE64, "jpt_7F0CB8A0"] - - [0x8005BE80, "aHit_default"] - - [0x8005BE8C, "aHit_stone"] - - [0x8005BE98, "aHit_wood"] - - [0x8005BEA4, "aHit_metal"] - - [0x8005BEB0, "aHit_glass"] - - [0x8005BEBC, "aHit_water"] - - [0x8005BEC8, "aHit_snow"] - - [0x8005BED4, "aHit_dirt"] - - [0x8005BEE0, "aHit_mud"] - - [0x8005BEE8, "aHit_tile"] - - [0x8005BEF4, "aHit_metalobj"] - - [0x8005BF04, "aHit_chr"] - - [0x8005BF0C, "aHit_glass_xlu"] - - [0x8005BF20, "jpt_7F0CE1D0"] - - [0x8005BF60, "jpt_7F0CE2B4"] - - [0x8005BFB0, "aRsp_c_debug"] - - [0x8005BFC0, "aSleep5EtcKillallGhostGload"] - - [0x8005BFF0, "aGame_c_debug"] - - [0x8005C000, "build_date"] - - [0x8005C020, "aEmDataSabre_seg_rz"] - - [0x8005C038, "aEmDataAtic_seg_rz"] - - [0x8005C04C, "aEmDataJetpac_seg_rz"] - - [0x8005C064, "aEmDataJetman_seg_rz"] - - [0x8005C07C, "aEmDataAlien8_seg_rz"] - - [0x8005C094, "aEmDataGunfright_seg_rz"] - - [0x8005C0B0, "aEmDataUnder_seg_rz"] - - [0x8005C0C8, "aEmDataKnightlore_seg_rz"] - - [0x8005C0E4, "aEmDataPssst_seg_rz"] - - [0x8005C0FC, "aEmDataCookie_seg_rz"] - - [0x8005C114, "aEmDataSpec_rom_seg_rz"] - - [0x8005C12C, "jpt_7F0D3A34"] - - [0x8005C52C, "jpt_7F0DA40C"] - - [0x8005C62C, "jpt_7F0DBEB8"] - - [0x8005C64C, "jpt_7F0DBEF0"] - - [0x8005C66C, "jpt_7F0DBF10"] - - [0x8005C68C, "jpt_7F0DC5BC"] - - [0x8005C6AC, "jpt_7F0DEA38"] - - [0x8005C71C, "jpt_7F0DEA60"] - - [0x8005CA90, "aRspSwVersion2_0g093096"] - - [0x8005CAAF, "aSgiU64GfxSwTeamSAndersonSCarrHChen"] - - [0x8005CAF4, "a2Fpzdnxvmc"] - - [0x8005D2E0, "rmonthread"] - - [0x8005D490, "idlethread"] - - [0x8005D640, "mainthread"] - - [0x8005D7F0, "shedthread"] - - [0x8005D9A0, "gfxFrameMsgQ"] - - [0x8005D9B8, "msgQ_buf_8005D9B8"] - - [0x8005DA38, "mq"] - - [0x8005DB18, "dword_CODE_bss_8005DB18"] - - [0x8005DB30, "target_for_counters_maybe"] - - [0x8005DB40, "dword_CODE_bss_8005DB40"] - - [0x8005DBF0, "TLB_managment_table"] - - [0x8005E3F0, "TLB_manager_mapping_table_start"] - - [0x8005E4A4, "TLB_manager_mapping_table_end"] - - [0x8005E4A8, "ptr_TLBallocatedblock"] - - [0x8005E4B8, "dword_CODE_bss_8005E4B8"] - - [0x8005E4C0, "dword_CODE_bss_8005E4C0"] - - [0x8005E4C4, "dword_CODE_bss_8005E4C4"] - - [0x8005E4C8, "dword_CODE_bss_8005E4C8"] - - [0x8005E4CC, "dword_CODE_bss_8005E4CC"] - - [0x8005E4D0, "dword_CODE_bss_8005E4D0"] - - [0x8005E4D8, "dword_CODE_bss_8005E4D8"] - - [0x8005E4E0, "dword_CODE_bss_8005E4E0"] - - [0x8005E518, "_am"] - - [0x8005E520, "_am+0x8"] - - [0x8005E524, "_am+0xC"] - - [0x8005E530, "_am+0x18"] - - [0x8005E6E0, "_am+0x1C8"] - - [0x8005E6F8, "_am+0x1E0"] - - [0x8005E718, "_am+0x200"] - - [0x8005E730, "_am+0x218"] - - [0x8005E750, "_am+0x238"] - - [0x8005E7A0, "audi_client"] - - [0x8005E7B0, "dmaState_initialized"] - - [0x8005E7B4, "dword_CODE_bss_8005E7B4"] - - [0x8005E7B8, "dword_CODE_bss_8005E7B8"] - - [0x8005E7C0, "dmaBuffs"] - - [0x8005E7C4, "dword_CODE_bss_8005E7C4"] - - [0x8005E7D4, "dmaBuffs+14"] - - [0x8005ECC0, "minFrameSize"] - - [0x8005ECC4, "frameSize"] - - [0x8005ECC8, "maxFrameSize"] - - [0x8005ECCC, "cmdLen"] - - [0x8005ECD0, "audDMAIOMesgBuf"] - - [0x8005F2D0, "audDMAMessageQ"] - - [0x8005F2E8, "audDMAMessageBuf"] - - [0x8005F3F0, "dword_CODE_bss_8005F3F0"] - - [0x8005F400, "displaylist_0"] - - [0x8005FC50, "displaylist_1"] - - [0x800604A0, "displaylist_bank"] - - [0x800604A4, "dword_CODE_bss_800604A4"] - - [0x800604A8, "dword_CODE_bss_800604A8"] - - [0x800604B0, "dword_CODE_bss_800604B0"] - - [0x800607B0, "dword_CODE_bss_800607B0"] - - [0x800607C0, "dword_CODE_bss_800607C0"] - - [0x800607CC, "dword_CODE_bss_800607CC"] - - [0x800607D0, "dword_CODE_bss_800607D0"] - - [0x800607DC, "dword_CODE_bss_800607DC"] - - [0x800607E0, "dword_CODE_bss_800607E0"] - - [0x80060820, "m"] - - [0x80060824, "word_CODE_bss_80060824"] - - [0x80060828, "dword_CODE_bss_80060828"] - - [0x80060844, "dword_CODE_bss_80060844"] - - [0x80060858, "dword_CODE_bss_80060858"] - - [0x8006086C, "dword_CODE_bss_8006086C"] - - [0x80060878, "off_CODE_bss_80060878"] - - [0x80060879, "off_CODE_bss_80060879"] - - [0x8006087C, "viMode"] - - [0x80060880, "dword_CODE_bss_80060880"] - - [0x80060884, "dword_CODE_bss_80060884"] - - [0x80060888, "dword_CODE_bss_80060888"] - - [0x8006088C, "dword_CODE_bss_8006088C"] - - [0x80060890, "dword_CODE_bss_80060890"] - - [0x80060C90, "thread_video_manager_debugthread"] - - [0x80061340, "dword_CODE_bss_80061340"] - - [0x80063640, "interrupt_entry_c_buffer"] - - [0x80063658, "dword_CODE_bss_80063658"] - - [0x8006365C, "ptr_tlbthread_maybe"] - - [0x80063660, "dword_CODE_bss_80063660"] - - [0x80063664, "current_indy_read_buf_resourceID"] - - [0x80063668, "ptr_indy_read_buf_string1"] - - [0x8006366C, "ptr_indy_read_buf_string2"] - - [0x80063670, "indy_read_buffer"] - - [0x800636D0, "memoryMesgMB"] - - [0x800636E8, "ptr_memorymsg"] - - [0x800636F0, "memoryMesgQueue"] - - [0x80063710, "dword_CODE_bss_80063710"] - - [0x80063720, "ptr_sfx_buf"] - - [0x80063724, "dword_CODE_bss_80063724"] - - [0x80063728, "ptr_1st_music_ctrl_block"] - - [0x8006372C, "ptr_2nd_music_ctrl_block"] - - [0x80063730, "ptr_3rd_music_ctrl_block"] - - [0x80063734, "ptr_musicdatatable"] - - [0x80063BB0, "memory_bank_ptrs"] - - - [0x80063C20, "ptr_model_room_buf_secondary"] - - [0x80063C24, "size_modelroom_buf"] - - [0x80063C28, "ptr_table_allocated_mem_blocks"] - - [0x80063C2C, "dword_CODE_bss_80063C2C"] - - [0x80063C30, "index_for_loadedroom"] - - [0x80063C34, "dword_CODE_bss_80063C34"] - - [0x80063C38, "ptr_table_allocated_mem_blocks + 0x10"] - - [0x80063C3C, "dword_CODE_bss_80063C3C"] - - [0x80063C48, "dword_CODE_bss_80063C48"] - - [0x80064C08, "ptr_table_allocated_mem_blocks + 0xFE0"] - - [0x80064C10, "ptr_table_allocated_mem_blocks + 0xFE8"] - - [0x80064C18, "dword_CODE_bss_80064C18"] - - [0x80064C1C, "dword_CODE_bss_80064C1C"] - - [0x80064C20, "dword_CODE_bss_80064C20"] - - [0x80064C24, "dword_CODE_bss_80064C24"] - - [0x80064C30, "boot_token_from_indy"] - - [0x80064EB0, "piCmdBuf"] - - [0x80064ED0, "dword_CODE_bss_80064ED0"] - - [0x80064EF0, "vi_c_debug_MSG"] - - [0x80064F10, "vi_c_debug_MQ"] - - [0x80064F30, "controller_input_index"] - - [0x80065110, "dword_CODE_bss_80065110"] - - [0x80065114, "dword_CODE_bss_80065114"] - - [0x80065118, "dword_CODE_bss_80065118"] - - [0x8006511C, "dword_CODE_bss_8006511C"] - - [0x8006512C, "dword_CODE_bss_8006512C"] - - [0x8006530C, "dword_CODE_bss_8006530C"] - - [0x80065314, "dword_CODE_bss_80065314"] - - [0x80065324, "dword_CODE_bss_80065324"] - - [0x80065328, "contdemoMesg"] - - [0x80065350, "contdemoMesgMQ"] - - [0x80065368, "cont1Mesg"] - - [0x80065370, "cont1MesgMQ"] - - [0x80065388, "cont2Mesg"] - - [0x80065390, "cont2MesgMQ"] - - [0x800653A8, "cont3Mesg"] - - [0x800653B0, "cont3MesgMQ"] - - [0x800653C8, "cont4Mesg"] - - [0x800653D0, "cont4MesgMQ"] - - [0x800653E8, "player1_controllerstatus"] - - [0x800653EC, "player2_controllerstatus"] - - [0x800653F0, "player3_controllerstatus"] - - [0x800653F4, "player4_controllerstatus"] - - [0x800653F8, "player1_controller_packet"] - - [0x800655A0, "rumble_off_player1_packet_buffer"] - - [0x800656A0, "rumble_on_player_packet_buffers"] - - [0x800657A0, "rumble_on_buffer"] - - [0x800657C0, "rumble_off_buffer"] - - [0x800657E0, "__osFinalRom"] - - [0x800657F0, "viThread"] - - [0x800659A0, "viThread_sp_maybe"] - - [0x800669A0, "viEventQueue"] - - [0x800669B8, "viEventBuf"] - - [0x800669D0, "viRetraceMsg"] - - [0x800669D2, "byte_CODE_bss_800669D2"] - - [0x800669D4, "dword_CODE_bss_800669D4"] - - [0x800669E8, "viCounterMsg"] - - [0x800669EA, "byte_CODE_bss_800669EA"] - - [0x800669EC, "dword_CODE_bss_800669EC"] - - [0x80066A00, "retrace"] - - [0x80066A10, "__osEventStateTab"] - - [0x80066A50, "dword_CODE_bss_80066A50"] - - [0x80066A90, "tp"] - - [0x80066AD0, "piThread"] - - [0x80066C80, "cmdBuf"] - - [0x80067C80, "pieventQueue"] - - [0x80067C98, "piEventBuf"] - - [0x80067CA0, "__osContPifRam"] - - [0x80067CDC, "__osContPifRam+0x3c"] - - [0x80067CE0, "__osContLastCmd"] - - [0x80067CE1, "__osMaxControllers"] - - [0x80067CE8, "__osEepromTimer"] - - [0x80067D08, "__osEepromTimerQ"] - - [0x80067D20, "__osEepromTimerMsg"] - - [0x80067D30, "__osEepPifRam"] - - [0x80067D6C, "__osEepPifRam+0x3C"] - - [0x80067D70, "__osPfsPifRam"] - - [0x80067DAC, "__osPfsPifRam+0x3c"] - - [0x80067DB0, "__osSiAccessBuf"] - - [0x80067DB8, "__osSiAccessQueue"] - - [0x80067DD0, "flt_CODE_bss_80067DD0"] - - [0x80067DE0, "flt_CODE_bss_80067DE0"] - - [0x80067DF0, "leoDiskStack"] - - [0x80068DF0, "__osBaseTimer"] - - [0x80068E10, "__osCurrentTime"] - - [0x80068E18, "__osBaseCounter"] - - [0x80068E1C, "__osViIntrCount"] - - [0x80068E20, "__osTimerCounter"] - - [0x80068E30, "__osThreadSave"] - - [0x80068E48, "__osFaultedThread"] - - [0x80068E50, "T_CONTEXT_AT"] - - [0x80068E88, "T_CONTEXT_T0"] - - [0x80068E90, "T_CONTEXT_T1"] - - [0x80068E98, "T_CONTEXT_T2"] - - [0x80068F48, "T_CONTEXT_SR"] - - [0x80068FE0, "piAccessBuf"] - - [0x80068FE8, "__osPiAccessQueue"] - - [0x80069000, "LeoDiskHandle"] - - [0x80069074, "__osDiskHandle"] - - [0x80069078, "dword_CODE_bss_80069078"] - - [0x80069170, "dword_CODE_bss_80069170"] - - [0x80069440, "dword_CODE_bss_80069440"] - - [0x80069458, "dword_CODE_bss_80069458"] - - [0x80069518, "dword_CODE_bss_80069518"] - - [0x80069538, "ptr_animation_table"] - - [0x80069540, "lastmpweaponnum"] - - [0x80069550, "dword_CODE_bss_80069550"] - - [0x80069554, "dword_CODE_bss_80069554"] - - [0x80069558, "matrix_buffer_rarelogo_0"] - - [0x8006955C, "matrix_buffer_gunbarrel_0"] - - [0x80069560, "matrix_buffer_rarelogo_1"] - - [0x80069564, "matrix_buffer_rarelogo_2"] - - [0x80069568, "matrix_buffer_gunbarrel_1"] - - [0x8006956C, "matrix_buffer_intro_backdrop"] - - [0x80069570, "matrix_buffer_intro_bond"] - - [0x80069574, "x"] - - [0x80069578, "y"] - - [0x8006957C, "dword_CODE_bss_8006957C"] - - [0x80069580, "dword_CODE_bss_80069580"] - - [0x80069584, "word_CODE_bss_80069584"] - - [0x80069588, "dword_CODE_bss_80069588"] - - [0x8006958C, "dword_CODE_bss_8006958C"] - - [0x80069590, "virtualaddress"] - - [0x80069594, "dword_CODE_bss_80069594"] - - [0x800695A0, "flt_CODE_bss_800695A0"] - - [0x800695A4, "flt_CODE_bss_800695A4"] - - [0x800695A8, "flt_CODE_bss_800695A8"] - - [0x800695AC, "flt_CODE_bss_800695AC"] - - [0x800695B0, "flt_CODE_bss_800695B0"] - - [0x800695B4, "flt_CODE_bss_800695B4"] - - [0x800695B8, "flt_CODE_bss_800695B8"] - - [0x800695BC, "flt_CODE_bss_800695BC"] - - [0x800695C0, "flt_CODE_bss_800695C0"] - - [0x800695C8, "flt_CODE_bss_800695C8"] - - [0x800695CC, "flt_CODE_bss_800695CC"] - - [0x800695D0, "flt_CODE_bss_800695D0"] - - [0x800695D8, "flt_CODE_bss_800695D8"] - - [0x800695DC, "flt_CODE_bss_800695DC"] - - [0x800695E0, "flt_CODE_bss_800695E0"] - - [0x800695E4, "flt_CODE_bss_800695E4"] - - [0x800695E8, "flt_CODE_bss_800695E8"] - - [0x800695EC, "flt_CODE_bss_800695EC"] - - [0x800695F0, "flt_CODE_bss_800695F0"] - - [0x800695F8, "flt_CODE_bss_800695F8"] - - [0x800695FC, "flt_CODE_bss_800695FC"] - - [0x80069600, "flt_CODE_bss_80069600"] - - [0x80069608, "flt_CODE_bss_80069608"] - - [0x8006960C, "flt_CODE_bss_8006960C"] - - [0x80069610, "flt_CODE_bss_80069610"] - - [0x80069614, "flt_CODE_bss_80069614"] - - [0x80069618, "flt_CODE_bss_80069618"] - - [0x80069620, "dword_CODE_bss_80069620"] - - [0x80069651, "cheat_available"] - - [0x80069652, "CHEAT_AVAILABLE_INVINCIBLE"] - - [0x80069653, "CHEAT_AVAILABLE_ALLGUNS"] - - [0x80069657, "CHEAT_AVAILABLE_LINEMODE"] - - [0x80069658, "CHEAT_AVAILABLE_2X_HEALTH"] - - [0x80069659, "CHEAT_AVAILABLE_2X_ARMOR"] - - [0x8006965A, "CHEAT_AVAILABLE_BOND_INVIS"] - - [0x8006965B, "CHEAT_AVAILABLE_INFINITE_AMMO"] - - [0x8006965C, "CHEAT_AVAILABLE_DK_MODE"] - - [0x8006965D, "CHEAT_AVAILABLE_EXTRA_WEAPONS"] - - [0x8006965E, "CHEAT_AVAILABLE_TINY_BOND"] - - [0x8006965F, "CHEAT_AVAILABLE_PAINTBALL"] - - [0x80069660, "CHEAT_AVAILABLE_10X_HEALTH"] - - [0x80069661, "CHEAT_AVAILABLE_MAGNUM"] - - [0x80069662, "CHEAT_AVAILABLE_LASER"] - - [0x80069663, "CHEAT_AVAILABLE_GOLDENGUN"] - - [0x80069664, "CHEAT_AVAILABLE_SILVERPP7"] - - [0x80069665, "CHEAT_AVAILABLE_GOLDPP7"] - - [0x80069666, "CHEAT_AVAILABLE_MP_INVINCIBILITY"] - - [0x80069667, "CHEAT_AVAILABLE_NO_MP_RADAR"] - - [0x80069668, "CHEAT_AVAILABLE_TURBO"] - - [0x80069669, "CHEAT_AVAILABLE_DEBUG_MODE"] - - [0x8006966A, "CHEAT_AVAILABLE_FAST_ANI"] - - [0x8006966B, "CHEAT_AVAILABLE_SLOW_ANI"] - - [0x8006966C, "CHEAT_AVAILABLE_ENMY_ROCKETS"] - - [0x8006966D, "CHEAT_AVAILABLE_2X_ROCKET"] - - [0x8006966E, "CHEAT_AVAILABLE_2X_GRENADE_LAUNCHER"] - - [0x8006966F, "CHEAT_AVAILABLE_2X_RCP90"] - - [0x80069670, "CHEAT_AVAILABLE_2X_THROWING_KNIVES"] - - [0x80069671, "CHEAT_AVAILABLE_2X_HUNTING_KNIVES"] - - [0x80069672, "CHEAT_AVAILABLE_2X_LASER"] - - [0x800696A0, "cheat_activated"] - - [0x800696A1, "CHEAT_AVAILABLE_EXTRA_CHARS"] - - [0x800696A2, "cheat_activated_1"] - - [0x800696A3, "cheat_activated_2"] - - [0x800696A4, "CHEAT_AVAILABLE_MAX_AMMO"] - - [0x800696A5, "cheat_activated_4"] - - [0x800696A6, "cheat_activated_5"] - - [0x800696A7, "cheat_activated_6"] - - [0x800696A8, "cheat_activated_7"] - - [0x800696A9, "cheat_activated_8"] - - [0x800696AA, "cheat_activated_9"] - - [0x800696AB, "cheat_activated_10"] - - [0x800696AC, "cheat_activated_11"] - - [0x800696AD, "cheat_activated_12"] - - [0x800696AE, "cheat_activated_13"] - - [0x800696AF, "cheat_activated_14"] - - [0x800696B0, "cheat_activated_15"] - - [0x800696B1, "cheat_activated_16"] - - [0x800696B2, "cheat_activated_17"] - - [0x800696B3, "cheat_activated_18"] - - [0x800696B4, "cheat_activated_19"] - - [0x800696B5, "cheat_activated_20"] - - [0x800696B6, "cheat_activated_21"] - - [0x800696B7, "cheat_activated_22"] - - [0x800696B8, "cheat_activated_23"] - - [0x800696B9, "cheat_activated_24"] - - [0x800696BA, "cheat_activated_25"] - - [0x800696BB, "cheat_activated_26"] - - [0x800696BC, "cheat_activated_27"] - - [0x800696BD, "cheat_activated_28"] - - [0x800696BE, "cheat_activated_29"] - - [0x800696BF, "cheat_activated_30"] - - [0x800696C0, "cheat_activated_31"] - - [0x800696C1, "cheat_activated_32"] - - [0x800696C2, "cheat_activated_33"] - - [0x800696C3, "cheat_activated_34"] - - [0x800696C4, "cheat_activated_35"] - - [0x800696C5, "cheat_activated_36"] - - [0x800696C6, "cheat_activated_37"] - - [0x800696C7, "cheat_activated_38"] - - [0x800696C8, "cheat_activated_39"] - - [0x800696C9, "cheat_activated_40"] - - [0x800696CA, "cheat_activated_41"] - - [0x800696CB, "cheat_activated_42"] - - [0x800696CC, "cheat_activated_43"] - - [0x800696CD, "cheat_activated_44"] - - [0x800696CE, "cheat_activated_45"] - - [0x800696CF, "cheat_activated_46"] - - [0x800696D0, "cheat_activated_47"] - - [0x800696D1, "cheat_activated_48"] - - [0x800696D2, "cheat_activated_49"] - - [0x800696D3, "cheat_activated_50"] - - [0x800696D4, "cheat_activated_51"] - - [0x800696D5, "cheat_activated_52"] - - [0x800696D6, "cheat_activated_53"] - - [0x800696D7, "cheat_activated_54"] - - [0x800696D8, "cheat_activated_55"] - - [0x800696D9, "cheat_activated_56"] - - [0x800696DA, "cheat_activated_57"] - - [0x800696DB, "cheat_activated_58"] - - [0x800696DC, "cheat_activated_59"] - - [0x800696DD, "cheat_activated_60"] - - [0x800696DE, "cheat_activated_61"] - - [0x800696DF, "cheat_activated_62"] - - [0x800696E0, "cheat_activated_63"] - - [0x800696E1, "cheat_activated_64"] - - [0x800696E2, "cheat_activated_65"] - - [0x800696E3, "cheat_activated_66"] - - [0x800696E4, "cheat_activated_67"] - - [0x800696E5, "cheat_activated_68"] - - [0x800696E6, "cheat_activated_69"] - - [0x800696E7, "cheat_activated_70"] - - [0x800696E8, "cheat_activated_71"] - - [0x800696E9, "cheat_activated_72"] - - [0x800696EA, "cheat_activated_73"] - - [0x800696EB, "cheat_activated_74"] - - [0x800696EC, "cheat_activated_75"] - - [0x800696ED, "cheat_activated_76"] - - [0x800696EE, "cheat_activated_77"] - - [0x800696EF, "cheat_activated_78"] - - [0x800696F0, "fav_weapon_right_player1"] - - [0x800696F4, "fav_weapon_left_player1"] - - [0x800696F8, "fav_weapon_right_player2"] - - [0x800696FC, "fav_weapon_left_player2"] - - [0x80069700, "fav_weapon_right_player3"] - - [0x80069704, "fav_weapon_left_player3"] - - [0x80069708, "fav_weapon_right_player4"] - - [0x8006970C, "fav_weapon_left_player4"] - - [0x80069710, "mp_char_cur_select_player1"] - - [0x80069714, "mp_char_cur_select_player2"] - - [0x80069718, "mp_char_cur_select_player3"] - - [0x8006971C, "mp_char_cur_select_player4"] - - [0x80069720, "mp_char_prev_select_player1"] - - [0x80069724, "mp_char_prev_select_player2"] - - [0x80069728, "mp_char_prev_select_player3"] - - [0x8006972C, "mp_char_prev_select_player4"] - - [0x80069730, "dword_CODE_bss_80069730"] - - [0x80069734, "dword_CODE_bss_80069734"] - - [0x80069738, "dword_CODE_bss_80069738"] - - [0x8006973C, "dword_CODE_bss_8006973C"] - - [0x80069740, "has_selected_char_player1"] - - [0x80069744, "has_selected_char_player2"] - - [0x80069748, "has_selected_char_player3"] - - [0x8006974C, "has_selected_char_player4"] - - [0x80069750, "size_mp_select_image_player1"] - - [0x80069754, "size_mp_select_image_player2"] - - [0x80069758, "size_mp_select_image_player3"] - - [0x8006975C, "size_mp_select_image_player4"] - - [0x80069760, "dword_CODE_bss_80069760"] - - [0x80069764, "dword_CODE_bss_80069764"] - - [0x80069768, "dword_CODE_bss_80069768"] - - [0x8006976C, "dword_CODE_bss_8006976C"] - - [0x80069770, "dword_CODE_bss_80069770"] - - [0x80069774, "dword_CODE_bss_80069774"] - - [0x80069778, "dword_CODE_bss_80069778"] - - [0x8006977C, "current_mp_stage_highlighted"] - - [0x80069780, "dword_CODE_bss_80069780"] - - [0x80069784, "mission_difficulty_highlighted"] - - [0x80069788, "teamsize"] - - [0x8006978C, "ptrbriefingdata"] - - [0x80069790, "newcheatunlocked"] - - [0x80069794, "highlight_enemy_reaction"] - - [0x80069798, "highlight_enemy_health"] - - [0x8006979C, "highlight_enemy_accuracy"] - - [0x800697A0, "highlight_enemy_damage"] - - [0x800697A8, "handicap_player1"] - - [0x800697AC, "handicap_player2"] - - [0x800697B0, "handicap_player3"] - - [0x800697B4, "handicap_player4"] - - [0x800697B8, "controlstyle_player1"] - - [0x800697BC, "controlstyle_player2"] - - [0x800697C0, "controlstyle_player3"] - - [0x800697C4, "controlstyle_player4"] - - [0x800697C8, "highlight_players"] - - [0x800697CC, "highlight_scenario"] - - [0x800697D0, "highlight_gameselect"] - - [0x800697D4, "highlight_gamelength"] - - [0x800697D8, "highlight_character"] - - [0x800697DC, "highlight_weaponselect"] - - [0x800697E0, "highlight_health"] - - [0x800697E4, "highlight_controlstyle"] - - [0x800697E8, "highlight_aimadjustment"] - - [0x800697F0, "dword_CODE_bss_800697F0"] - - [0x80069920, "save1"] - - [0x80069980, "save2"] - - [0x800699E0, "save3"] - - [0x80069A40, "save4"] - - [0x80069AA0, "save5"] - - [0x80069B00, "save6"] - - [0x80069B60, "dword_CODE_bss_80069B60"] - - [0x80069B70, "sfx_related"] - - [0x80069B74, "dword_CODE_bss_80069B74"] - - [0x80069B78, "dword_CODE_bss_80069B78"] - - [0x80069C30, "ptr_list_object_lookup_indices"] - - [0x80069C34, "num_obj_position_data_entries"] - - [0x80069C38, "pos_data_entry"] - - [0x80069C5C, "dword_CODE_bss_80069C5C"] - - [0x80069C6C, "dword_CODE_bss_80069C6C"] - - [0x80069C90, "dword_CODE_bss_80069C90"] - - [0x80069CA0, "dword_CODE_bss_80069CA0"] - - [0x80069CC4, "dword_CODE_bss_80069CC4"] - - [0x80069CD4, "dword_CODE_bss_80069CD4"] - - [0x80069D08, "dword_CODE_bss_80069D08"] - - [0x80069D3C, "dword_CODE_bss_80069D3C"] - - [0x80069D70, "dword_CODE_bss_80069D70"] - - [0x80069DA4, "dword_CODE_bss_80069DA4"] - - [0x80071618, "ptr_room_lookup_buffer_maybe"] - - [0x8007161C, "dword_CODE_bss_8007161C"] - - [0x80071620, "dword_CODE_bss_80071620"] - - [0x800716B4, "dword_CODE_bss_800716B4"] - - [0x80071DF0, "dword_CODE_bss_80071DF0"] - - [0x80071DF4, "dword_CODE_bss_80071DF4"] - - [0x80071DF8, "dword_CODE_bss_80071DF8"] - - [0x80071E00, "temp_mine_table"] - - [0x80071E04, "dword_CODE_bss_80071E04"] - - [0x80071E08, "dword_CODE_bss_80071E08"] - - [0x80071E78, "gas_damage_flag"] - - [0x80071E7C, "gas_cutoff_flag"] - - [0x80071E80, "autogenerated_weapons"] - - [0x80072E70, "dword_CODE_bss_80072E70"] - - [0x80073370, "dword_CODE_bss_80073370"] - - [0x80073DC0, "dword_CODE_bss_80073DC0"] - - [0x80075030, "dword_CODE_bss_80075030"] - - [0x80075B70, "objinst"] - - [0x80075B74, "dword_CODE_bss_80075B74"] - - [0x80075B78, "flt_CODE_bss_80075B78"] - - [0x80075B7C, "flt_CODE_bss_80075B7C"] - - [0x80075B80, "flt_CODE_bss_80075B80"] - - [0x80075B88, "flt_CODE_bss_80075B88"] - - [0x80075B8C, "flt_CODE_bss_80075B8C"] - - [0x80075B90, "flt_CODE_bss_80075B90"] - - [0x80075B98, "dword_CODE_bss_80075B98"] - - [0x80075C04, "dword_CODE_bss_80075C04"] - - [0x80075C10, "dword_CODE_bss_80075C10"] - - [0x80075C88, "dword_CODE_bss_80075C88"] - - [0x80075D00, "ptr_setup_path_tbl"] - - [0x80075D04, "ptr_setup_path_link"] - - [0x80075D08, "ptr_setup_intro"] - - [0x80075D0C, "ptr_setup_objects"] - - [0x80075D10, "ptr_setup_path_sets"] - - [0x80075D14, "ptr_setup_actions"] - - [0x80075D18, "ptr_0xxxpresets"] - - [0x80075D1C, "ptr_2xxxpresets"] - - [0x80075D20, "dword_CODE_bss_80075D20"] - - [0x80075D24, "dword_CODE_bss_80075D24"] - - [0x80075D28, "dword_CODE_bss_80075D28"] - - [0x80075D30, "objective_ptrs"] - - [0x80075D34, "objective_ptrs+4"] - - [0x80075D38, "objective_ptrs+8"] - - [0x80075D58, "dword_CODE_bss_80075D58"] - - [0x80075D5C, "dword_CODE_bss_80075D5C"] - - [0x80075D60, "dword_CODE_bss_80075D60"] - - [0x80075D80, "ptr_last_tag_entry_type16"] - - [0x80075D84, "ptr_last_briefing_setup_entry_type23"] - - [0x80075D88, "ptr_last_enter_room_subobject_entry_type20"] - - [0x80075D8C, "ptr_last_deposit_in_room_subobject_entry_type21"] - - [0x80075D90, "ptr_last_photo_obj_in_room_subobject_entry_type1E"] - - [0x80075DA0, "flt_CODE_bss_80075DA0"] - - [0x80075DB0, "dword_CODE_bss_80075DB0"] - - [0x80075DB8, "dword_CODE_bss_80075DB8"] - - [0x80075DBC, "dword_CODE_bss_80075DBC"] - - [0x80075DC0, "dword_CODE_bss_80075DC0"] - - [0x80075DC4, "dword_CODE_bss_80075DC4"] - - [0x80075DC8, "dword_CODE_bss_80075DC8"] - - [0x80075E64, "dword_CODE_bss_80075E64"] - - [0x80075E68, "dword_CODE_bss_80075E68"] - - [0x80076A48, "dword_CODE_bss_80076A48"] - - [0x80076A50, "dword_CODE_bss_80076A50"] - - [0x80076A5C, "dword_CODE_bss_80076A5C"] - - [0x80076A64, "dword_CODE_bss_80076A64"] - - [0x80076A70, "dword_CODE_bss_80076A70"] - - [0x80076A74, "dword_CODE_bss_80076A74"] - - [0x80076A78, "dword_CODE_bss_80076A78"] - - [0x80076A84, "dword_CODE_bss_80076A84"] - - [0x80076A88, "dword_CODE_bss_80076A88"] - - [0x80076A8C, "dword_CODE_bss_80076A8C"] - - [0x80076AA0, "dword_CODE_bss_80076AA0"] - - [0x80076AB4, "dword_CODE_bss_80076AB4"] - - [0x80076AC8, "dword_CODE_bss_80076AC8"] - - [0x80076ADC, "dword_CODE_bss_80076ADC"] - - [0x80079908, "dword_CODE_bss_80079908"] - - [0x80079930, "ptr_allocation_0"] - - [0x80079934, "ptr_allocation_1"] - - [0x80079940, "flt_CODE_bss_80079940"] - - [0x80079944, "flt_CODE_bss_80079944"] - - [0x80079948, "flt_CODE_bss_80079948"] - - [0x8007994C, "flt_CODE_bss_8007994C"] - - [0x80079950, "flt_CODE_bss_80079950"] - - [0x80079954, "flt_CODE_bss_80079954"] - - [0x80079958, "flt_CODE_bss_80079958"] - - [0x8007995C, "flt_CODE_bss_8007995C"] - - [0x80079960, "flt_CODE_bss_80079960"] - - [0x80079964, "flt_CODE_bss_80079964"] - - [0x80079968, "flt_CODE_bss_80079968"] - - [0x8007996C, "flt_CODE_bss_8007996C"] - - [0x80079970, "flt_CODE_bss_80079970"] - - [0x80079974, "flt_CODE_bss_80079974"] - - [0x80079978, "flt_CODE_bss_80079978"] - - [0x8007997C, "flt_CODE_bss_8007997C"] - - [0x80079980, "flt_CODE_bss_80079980"] - - [0x80079990, "flt_CODE_bss_80079990"] - - [0x80079994, "flt_CODE_bss_80079994"] - - [0x80079998, "flt_CODE_bss_80079998"] - - [0x8007999C, "dword_CODE_bss_8007999C"] - - [0x800799A0, "dword_CODE_bss_800799A0"] - - [0x800799A8, "flt_CODE_bss_800799A8"] - - [0x800799AC, "flt_CODE_bss_800799AC"] - - [0x800799B0, "flt_CODE_bss_800799B0"] - - [0x800799B4, "dword_CODE_bss_800799B4"] - - [0x800799B8, "dword_CODE_bss_800799B8"] - - [0x800799BC, "flt_CODE_bss_800799BC"] - - [0x800799C0, "flt_CODE_bss_800799C0"] - - [0x800799C4, "flt_CODE_bss_800799C4"] - - [0x800799C8, "flt_CODE_bss_800799C8"] - - [0x800799D0, "flt_CODE_bss_800799D0"] - - [0x800799D4, "flt_CODE_bss_800799D4"] - - [0x800799D8, "flt_CODE_bss_800799D8"] - - [0x800799E0, "starting_right_weapon"] - - [0x800799E4, "starting_left_weapon"] - - [0x800799E8, "flt_CODE_bss_800799E8"] - - [0x800799EC, "flt_CODE_bss_800799EC"] - - [0x800799F0, "flt_CODE_bss_800799F0"] - - [0x800799F4, "dword_CODE_bss_800799F4"] - - [0x800799F8, "dword_CODE_bss_800799F8"] - - [0x800799FC, "dword_CODE_bss_800799FC"] - - [0x80079A00, "flt_CODE_bss_80079A00"] - - [0x80079A04, "flt_CODE_bss_80079A04"] - - [0x80079A08, "flt_CODE_bss_80079A08"] - - [0x80079A0C, "flt_CODE_bss_80079A0C"] - - [0x80079A10, "flt_CODE_bss_80079A10"] - - [0x80079A14, "dword_CODE_bss_80079A14"] - - [0x80079A18, "dword_CODE_bss_80079A18"] - - [0x80079A1C, "dword_CODE_bss_80079A1C"] - - [0x80079A20, "dword_CODE_bss_80079A20"] - - [0x80079A24, "watch_time_0"] - - [0x80079A28, "dword_CODE_bss_80079A28"] - - [0x80079C28, "dword_CODE_bss_80079C28"] - - [0x80079C68, "dword_CODE_bss_80079C68"] - - [0x80079C70, "dword_CODE_bss_80079C70"] - - [0x80079DA0, "dword_CODE_bss_80079DA0"] - - [0x80079DA4, "dword_CODE_bss_80079DA4"] - - [0x80079DA8, "dword_CODE_bss_80079DA8"] - - [0x80079DC8, "dword_CODE_bss_80079DC8"] - - [0x80079E04, "flt_CODE_bss_80079E04"] - - [0x80079E08, "flt_CODE_bss_80079E08"] - - [0x80079E0C, "flt_CODE_bss_80079E0C"] - - [0x80079E10, "flt_CODE_bss_80079E10"] - - [0x80079E20, "dword_CODE_bss_80079E20"] - - [0x80079E30, "off_CODE_bss_80079E30"] - - [0x80079E31, "off_CODE_bss_80079E30+1"] - - [0x80079E32, "off_CODE_bss_80079E30+2"] - - [0x80079E33, "off_CODE_bss_80079E30+3"] - - [0x80079E7B, "off_CODE_bss_80079E30+0x4b"] - - [0x80079E80, "flt_CODE_bss_80079E80"] - - [0x80079E84, "flt_CODE_bss_80079E84"] - - [0x80079E88, "flt_CODE_bss_80079E88"] - - [0x80079E90, "dword_CODE_bss_80079E90"] - - [0x80079E98, "dword_CODE_bss_80079E98"] - - [0x80079EE0, "ptr_BONDdata_p1"] - - [0x80079EE4, "ptr_BONDdata_p2"] - - [0x80079EE8, "ptr_BONDdata_p3"] - - [0x80079EEC, "ptr_BONDdata_p4"] - - [0x80079EF0, "player1_player_data"] - - [0x80079F60, "player2_player_data"] - - [0x80079FD0, "player3_player_data"] - - [0x8007A040, "player4_player_data"] - - [0x8007A0B0, "ptr_BONDdata"] - - [0x8007A0B4, "pPlayersPerm"] - - [0x8007A0B8, "player_num"] - - [0x8007A0BC, "random_byte"] - - [0x8007A0C0, "dword_CODE_bss_8007A0C0"] - - [0x8007A0C4, "dword_CODE_bss_8007A0C4"] - - [0x8007A0C8, "dword_CODE_bss_8007A0C8"] - - [0x8007A0CC, "dword_CODE_bss_8007A0CC"] - - [0x8007A0D0, "dword_CODE_bss_8007A0D0"] - - [0x8007A0D4, "dword_CODE_bss_8007A0D4"] - - [0x8007A0D8, "dword_CODE_bss_8007A0D8"] - - [0x8007A0DC, "dword_CODE_bss_8007A0DC"] - - [0x8007A0E0, "dword_CODE_bss_8007A0E0"] - - [0x8007A0E4, "dword_CODE_bss_8007A0E4"] - - [0x8007A0E8, "dword_CODE_bss_8007A0E8"] - - [0x8007A0EC, "dword_CODE_bss_8007A0EC"] - - [0x8007A0F0, "word_CODE_bss_8007A0F0"] - - [0x8007A0F2, "word_CODE_bss_8007A0F2"] - - [0x8007A100, "dword_CODE_bss_8007A100"] - - [0x8007A140, "ptr_smoke_buf"] - - [0x8007A144, "ptr_explosion_buf"] - - [0x8007A148, "max_casings"] - - [0x8007A14C, "ptr_ejected_casing_buf"] - - [0x8007A150, "ptr_scorch_buf"] - - [0x8007A154, "ptr_bullet_impact_buf"] - - [0x8007A160, "dword_CODE_bss_8007A160"] - - [0x8007A164, "dword_CODE_bss_8007A164"] - - [0x8007A170, "dword_CODE_bss_8007A170"] - - [0x8007A174, "word_CODE_bss_8007A174"] - - [0x8007A4E0, "dword_CODE_bss_8007A4E0"] - - [0x8007A4E4, "word_CODE_bss_8007A4E4"] - - [0x8007B098, "dword_CODE_bss_8007B098"] - - [0x8007B0A0, "dword_CODE_bss_8007B0A0"] - - [0x8007B0E0, "dword_CODE_bss_8007B0E0"] - - [0x8007B120, "clippingfile"] - - [0x8007B124, "ptr_firstroom"] - - [0x8007B128, "dword_CODE_bss_8007B128"] - - [0x8007B12C, "dword_CODE_bss_8007B12C"] - - [0x8007B130, "dword_CODE_bss_8007B130"] - - [0x8007B134, "dword_CODE_bss_8007B134"] - - [0x8007B354, "dword_CODE_bss_8007B354"] - - [0x8007B358, "dword_CODE_bss_8007B358"] - - [0x8007B9DC, "dword_CODE_bss_8007B9DC"] - - [0x8007B9E4, "dword_CODE_bss_8007B9E4"] - - [0x8007B9E8, "dword_CODE_bss_8007B9E8"] - - [0x8007B9F0, "flt_CODE_bss_8007B9F0"] - - [0x8007B9F4, "flt_CODE_bss_8007B9F4"] - - [0x8007B9F8, "flt_CODE_bss_8007B9F8"] - - [0x8007B9FC, "flt_CODE_bss_8007B9FC"] - - [0x8007BA00, "flt_CODE_bss_8007BA00"] - - [0x8007BA04, "dword_CODE_bss_8007BA04"] - - [0x8007BA0C, "dword_CODE_bss_8007BA0C"] - - [0x8007BA10, "dword_CODE_bss_8007BA10"] - - [0x8007BF90, "ptr_bg_data"] - - [0x8007BF94, "ptr_clipping"] - - [0x8007BF98, "dword_CODE_bss_8007BF98"] - - [0x8007BFA0, "list_visible_rooms_in_cur_global_vis_packet"] - - [0x8007C038, "num_visible_rooms_in_cur_global_vis_packet"] - - [0x8007C040, "dword_CODE_bss_8007C040"] - - [0x8007C0A0, "dword_CODE_bss_8007C0A0"] - - [0x8007C100, "dword_CODE_bss_8007C100"] - - [0x8007FF80, "ptr_bgdata_portals"] - - [0x8007FF84, "ptr_bgdata_offsets"] - - [0x8007FF88, "dword_CODE_bss_8007FF88"] - - [0x8007FF8C, "ptr_bgdata_room_fileposition_list"] - - [0x8007FF90, "dword_CODE_bss_8007FF90"] - - [0x8007FF94, "dword_CODE_bss_8007FF94"] - - [0x8007FF98, "dword_CODE_bss_8007FF98"] - - [0x8007FFA0, "dword_CODE_bss_8007FFA0"] - - [0x8007FFA4, "dword_CODE_bss_8007FFA4"] - - [0x80081600, "dword_CODE_bss_80081600"] - - [0x80081610, "dword_CODE_bss_80081600 + 0x10"] - - [0x80081618, "table_for_portals"] - - [0x800825B8, "dword_CODE_bss_800825B8"] - - [0x800825C0, "sky_enabled"] - - [0x800825C4, "ptr_nearfog_enviroment_values"] - - [0x800825C8, "buffer_far_pervasiveness"] - - [0x800825CC, "far_fog"] - - [0x800825D8, "flt_CODE_bss_800825D8"] - - [0x800825DC, "flt_CODE_bss_800825DC"] - - [0x800825E0, "buffer_far_ambiant"] - - [0x800825E4, "bg_dif_light"] - - [0x800825E8, "env_table_hit"] - - [0x800825EC, "env_table_match_start"] - - [0x800825F0, "env_table_match_end"] - - [0x800825F8, "dword_CODE_bss_800825F8"] - - [0x800825FC, "flt_CODE_bss_800825FC"] - - [0x80082600, "flt_CODE_bss_80082600"] - - [0x80082618, "dword_CODE_bss_80082618"] - - [0x8008261C, "dword_CODE_bss_8008261C"] - - [0x80082620, "off_CODE_bss_80082620"] - - [0x80082621, "byte_CODE_bss_80082621"] - - [0x80082622, "byte_CODE_bss_80082622"] - - [0x80082660, "light_fixture_table"] - - [0x80082B10, "cur_entry_lightfixture_table"] - - [0x80082B12, "index_of_cur_entry_lightfixture_table"] - - [0x80082B18, "word_CODE_bss_80082B18"] - - [0x80083318, "dword_CODE_bss_80083318"] - - [0x80083320, "dword_CODE_bss_80083320"] - - [0x80083450, "dword_CODE_bss_80083450"] - - [0x80083900, "dword_CODE_bss_80083900"] - - [0x80083DB0, "dword_CODE_bss_80083DB0"] - - [0x800888B0, "resource_lookup_data_array"] - - [0x800888C4, "ptr_res_data_next"] - - [0x800888D8, "dword_CODE_bss_800888D8"] - - [0x8008C230, "ptr_mgfx0_alloc_start"] - - [0x8008C234, "ptr_mgfx1_alloc_start"] - - [0x8008C238, "ptr_mgfx_end"] - - [0x8008C240, "ptr_mvtx0_alloc_start"] - - [0x8008C244, "ptr_mvtx1_alloc_start"] - - [0x8008C248, "ptr_mvtx_end"] - - [0x8008C24C, "ptr_mvtx_cur_pos"] - - [0x8008C250, "bank_in_mgfx_alloc_table"] - - [0x8008C254, "dword_CODE_bss_8008C254"] - - [0x8008C260, "ptr_jfont_DL"] - - [0x8008C270, "ramrom_data_target"] - - [0x8008C27F, "byte_CODE_bss_8008C27F"] - - [0x8008C380, "ramrom_data_target + 0x110"] - - [0x8008C468, "ramrom_data_target + 0x1F8"] - - [0x8008C477, "byte_CODE_bss_8008C477"] - - [0x8008C48E, "ramrom_data_target + 0x21E"] - - [0x8008C5F0, "record_slot_num"] - - [0x8008C5F4, "address_demo_loaded"] - - [0x8008C5F8, "dword_CODE_bss_8008C5F8"] - - [0x8008C600, "dword_CODE_bss_8008C600"] - - [0x8008C604, "dword_CODE_bss_8008C604"] - - [0x8008C608, "music_slot_active"] - - [0x8008C60C, "dword_CODE_bss_8008C60C"] - - [0x8008C610, "dword_CODE_bss_8008C610"] - - [0x8008C614, "dword_CODE_bss_8008C614"] - - [0x8008C618, "music_slot_minutes"] - - [0x8008C61C, "dword_CODE_bss_8008C61C"] - - [0x8008C620, "dword_CODE_bss_8008C620"] - - [0x8008C624, "dword_CODE_bss_8008C624"] - - [0x8008C628, "music_slot_seconds"] - - [0x8008C62C, "dword_CODE_bss_8008C62C"] - - [0x8008C630, "dword_CODE_bss_8008C630"] - - [0x8008C634, "dword_CODE_bss_8008C634"] - - [0x8008C640, "ptr_text"] - - [0x8008C644, "table_text_pointers"] - - [0x8008C6D8, "dword_CODE_bss_8008C6D8"] - - [0x8008C6DC, "dword_CODE_bss_8008C6DC"] - - [0x8008C6E0, "dword_CODE_bss_8008C6E0"] - - [0x8008C6E4, "dword_CODE_bss_8008C6E4"] - - [0x8008C6E8, "dword_CODE_bss_8008C6E8"] - - [0x8008C6EC, "dword_CODE_bss_8008C6EC"] - - [0x8008C6F0, "dword_CODE_bss_8008C6F0"] - - [0x8008C6F4, "ptr_j_char_data_buf"] - - [0x8008C6F8, "ptr_j_char_registry"] - - [0x8008C700, "stop_play_flag"] - - [0x8008C704, "is_gameover_flag"] - - [0x8008C708, "dword_CODE_bss_8008C708"] - - [0x8008C70C, "dword_CODE_bss_8008C70C"] - - [0x8008C710, "time_trigger_alt_gameover_msg"] - - [0x8008C714, "dword_CODE_bss_8008C714"] - - [0x8008C718, "is_paused"] - - [0x8008C71C, "who_paused"] - - [0x8008C720, "ptr_texture_alloc_start"] - - [0x8008C724, "ptr_texture_alloc_end"] - - [0x8008C728, "ptr_next_available_space"] - - [0x8008C72C, "ptr_last_entry_facemapping"] - - [0x8008C730, "word_CODE_bss_8008C730"] - - [0x8008D090, "dword_CODE_bss_8008D090"] - - [0x8008D094, "dword_CODE_bss_8008D094"] - - [0x8008D0A0, "img_curpos"] - - [0x8008D0A4, "img_curdatatable"] - - [0x8008D0A8, "img_bitcount"] - - [0x8008D0B0, "globalbank_rdram_offset"] - - [0x8008D0B4, "pGlobalimagetable"] - - [0x8008D0B8, "image"] - - [0x8008D0BC, "impactimages"] - - [0x8008D0C0, "explosion_smokeimages"] - - [0x8008D0C4, "scattered_explosions"] - - [0x8008D0C8, "flareimage1"] - - [0x8008D0CC, "flareimage2"] - - [0x8008D0D0, "flareimage3"] - - [0x8008D0D4, "flareimage4"] - - [0x8008D0D8, "flareimage5"] - - [0x8008D0DC, "ammo9mmimage"] - - [0x8008D0E0, "rifleammoimage"] - - [0x8008D0E4, "shotgunammoimage"] - - [0x8008D0E8, "knifeammoimage"] - - [0x8008D0EC, "glaunchammoimage"] - - [0x8008D0F0, "rocketammoimage"] - - [0x8008D0F4, "genericmineammoimage"] - - [0x8008D0F8, "grenadeammoimage"] - - [0x8008D0FC, "magnumammoimage"] - - [0x8008D100, "goldengunammoimage"] - - [0x8008D104, "remotemineammoimage"] - - [0x8008D108, "timedmineammoimage"] - - [0x8008D10C, "proxmineammoimage"] - - [0x8008D110, "tankammoimage"] - - [0x8008D114, "imgcall"] - - [0x8008D118, "betacrosshairimage"] - - [0x8008D11C, "glassoverlayimage"] - - [0x8008D120, "monitorimages"] - - [0x8008D124, "skywaterimages"] - - [0x8008D128, "mainfolderimages"] - - [0x8008D12C, "mpradarimages"] - - [0x8008D130, "mpcharselimages"] - - [0x8008D134, "mpstageselimages"] - - [0x8008D140, "dword_CODE_bss_8008D140"] - - [0x8008D148, "dword_CODE_bss_8008D148"] - - [0x8008D2A8, "dword_CODE_bss_8008D2A8"] - - [0x8008D348, "dword_CODE_bss_8008D348"] - - [0x8008D350, "dword_CODE_bss_8008D350"] - - [0x8008D354, "dword_CODE_bss_8008D354"] - - [0x8008D358, "dword_CODE_bss_8008D358"] - - [0x8008D35C, "dword_CODE_bss_8008D35C"] - - [0x8008D360, "dword_CODE_bss_8008D360"] - - [0x8008D364, "dword_CODE_bss_8008D364"] - - [0x8008D368, "dword_CODE_bss_8008D368"] - - [0x8008D36C, "dword_CODE_bss_8008D36C"] - - [0x8008D370, "dword_CODE_bss_8008D370"] - - [0x8008D770, "dword_CODE_bss_8008D770"] - - [0x8008E310, "viewport_img_width"] - - [0x8008E314, "viewport_img_height"] - - [0x8008E320, "ptr_sectrum_monitor_data_temp_buf"] - - [0x8008E324, "ptr_sectrum_game_data_temp_buf"] - - [0x8008E328, "ptr_spectrum_roms"] - - [0x8008E32C, "ptr_300alloc"] - - [0x8008E330, "ptr_6000alloc"] - - [0x8008E334, "ptr_pc_keyboard_table_alloc"] - - [0x8008E338, "spectrum_header16_15"] - - [0x8008E339, "byte_CODE_bss_8008E339"] - - [0x8008E33A, "byte_CODE_bss_8008E33A"] - - [0x8008E33B, "byte_CODE_bss_8008E33B"] - - [0x8008E33C, "off_CODE_bss_8008E33C"] - - [0x8008E33D, "byte_CODE_bss_8008E33D"] - - [0x8008E33E, "byte_CODE_bss_8008E33E"] - - [0x8008E33F, "byte_CODE_bss_8008E33F"] - - [0x8008E340, "off_CODE_bss_8008E340"] - - [0x8008E341, "byte_CODE_bss_8008E341"] - - [0x8008E342, "byte_CODE_bss_8008E342"] - - [0x8008E343, "byte_CODE_bss_8008E343"] - - [0x8008E344, "off_CODE_bss_8008E344"] - - [0x8008E345, "byte_CODE_bss_8008E345"] - - [0x8008E346, "byte_CODE_bss_8008E346"] - - [0x8008E347, "byte_CODE_bss_8008E347"] - - [0x8008E348, "spec_I"] - - [0x8008E349, "byte_CODE_bss_8008E349"] - - [0x8008E34A, "spec_IFF2_lower"] - - [0x8008E34B, "spec_IFF2_upper"] - - [0x8008E34C, "spec_IM"] - - [0x8008E34D, "byte_CODE_bss_8008E34D"] - - [0x8008E34E, "spec_IX"] - - [0x8008E350, "spec_IY"] - - [0x8008E352, "spec_SP"] - - [0x8008E354, "spec_PC"] - - - [0x80300000, "rarezip_buffer"] - - [0x803AB400, "sp_boot"] - - [0x803AB410, "sp_rmon"] - - [0x803AB710, "sp_idle"] - - [0x803AB750, "sp_shed"] - - [0x803AB950, "sp_main"] - - [0x803B3950, "sp_audi"] - - [0x803B4950, "sp_debug"] - diff --git a/notes/ge007.u.yaml.OLD b/notes/ge007.u.yaml.OLD deleted file mode 100644 index b6fa8f0..0000000 --- a/notes/ge007.u.yaml.OLD +++ /dev/null @@ -1,11494 +0,0 @@ -# ROM splitter configuration file - -## to use you need to append the decompressed data segment to end of rom -## and to decompress make sure its my repo of sm64tools -name: "Goldeneye 007" - -# checksums from ROM header offsets 0x10 and 0x14 -# used for auto configuration detection -checksum1: 0xDCBC50D1 -checksum2: 0x09FD1AA3 - -# base filename used for outputs (please, no spaces] -basename: "ge007.u" - - -ranges: - - [0x00000000, 0x000040, "header", "header"] - - [0x00000040, 0x001000, "bin", "bootcode"] - - [0x00001000, 0x001050, "asm", "_start", 0x80000400] -# - [0x00001050, 0x021990, "asm", "code", 0x70000450] - - [0x00001050, 0x0010BC, "asm", "boot", 0x80000450] - - [0x000010BC, 0x021990, "asm", "code", 0x700004BC] - - [0x00021990, 0x033590, "rz", "Compressedrodata"] - - [0x00033590, 0x034A10, "asm", "rarezip", 0x70200000] - - [0x00034A10, 0x034A14, "ptr", "rarezip.ptr_source"] - - [0x00034A14, 0x034A18, "ptr", "rarezip.ptr_target"] - - [0x00034A18, 0x034A1C, "ptr", "rarezip.curoffset"] - - [0x00034A1C, 0x034A20, "ptr", "rarezip.decompressed_count"] - - [0x00034A20, 0x034A24, "ptr", "rarezip.ptrbuffer"] - - [0x00034A24, 0x034A38, "ptr", "rarezip.order"] - - [0x00034A38, 0x034A78, "ptr", "rarezip.lbase"] - - [0x00034A78, 0x034A98, "ptr", "rarezip.lextra"] - - [0x00034A98, 0x034AD4, "ptr", "rarezip.dbase"] - - [0x00034AD4, 0x034AF4, "ptr", "rarezip.dextra"] - - [0x00034AF4, 0x034AF8, "ptr", "rarezip.sample"] - - [0x00034AF8, 0x034AFC, "ptr", "rarezip.bitsinsample"] - - [0x00034AFC, 0x034B20, "ptr", "rarezip.masks"] - - [0x00034B20, 0x034B24, "ptr", "rarezip.data1"] - - [0x00034B24, 0x034B28, "ptr", "rarezip.data2"] - - [0x00034B28, 0x034B2C, "ptr", "rarezip.data3"] - - [0x00034b30, 0x117880, "asm", "game", 0x7F000000] - - [0x00117880, 0x117940, "bin", "unknown117880"] - - [0x00117940, 0x123040, "bin", "unknown117940"] - - [0x00123040, 0x124ac0, "bin", "unknown123040"] - - [0x00124ac0, 0x28e980, "bin", "animation_table"] - - [0x0028e980, 0x29D160, "bin", "animation_data"] - - [0x0029D160, 0x29E560, "bin", "Globalimagetable"] - - [0x0029E560, 0x2A4D50, "bin", "Globalimagetable_commandblock"] - - [0x002A4D50, 0x002bf2d0, "bin", "unknown2A4D50"] - - [0x002bf2d0, 0x002C44D0, "bin", "ramrom_Dam_1"] - - [0x002C44D0, 0x002C64A0, "bin", "ramrom_Dam_2"] - - [0x002C64A0, 0x002C7F50, "bin", "ramrom_Facility_1"] - - [0x002C7F50, 0x002CA330, "bin", "ramrom_Facility_2"] - - [0x002CA330, 0x002CBFA0, "bin", "ramrom_Facility_3"] - - [0x002CBFA0, 0x002CE6F0, "bin", "ramrom_Runway_1"] - - [0x002CE6F0, 0x002D1000, "bin", "ramrom_Runway_2"] - - [0x002D1000, 0x002D4390, "bin", "ramrom_BunkerI_1"] - - [0x002D4390, 0x002D9610, "bin", "ramrom_BunkerI_2"] - - [0x002D9610, 0x002DB7A0, "bin", "ramrom_Silo_1"] - - [0x002DB7A0, 0x002DD770, "bin", "ramrom_Silo_2"] - - [0x002DD770, 0x002DF120, "bin", "ramrom_Frigate_1"] - - [0x002DF120, 0x002E2600, "bin", "ramrom_Frigate_2"] - - [0x002E2600, 0x002E63F0, "bin", "ramrom_Train"] - - [0x002E63F0, 0x002E6694, "bin", "font_first_font_table_controller_small"] - - [0x002E6694, 0x002E88A0, "bin", "font_second_font_table_controller_small"] - - [0x002E88A0, 0x002E8B44, "bin", "font_first_font_table_controller_large"] - - [0x002E8B44, 0x002EBDE0, "bin", "font_second_font_table_controller_large"] - - [0x002EBDE0, 0x002F19A0, "bin", "sfx.ctl"] - - [0x002F19A0, 0x00392BBD, "bin", "sfx.tbl"] - - [0x00392BBD, 0x003A045B, "bin", "music_somethinginmusic"] - - [0x003A045B, 0x003B4450, "bin", "music_moresomethinginmusic"] - - [0x003B4450, 0x003B87F0, "bin", "music_sounds.ptr"] - - [0x003B87F0, 0x00419790, "bin", "music_sounds.bnk"] - - [0x00419790, 0x00419794, "bin", "music_number_music_samples"] - - [0x00419794, 0x0041998c, "bin", "music_table_music_data"] - - [0x41998c, 0x4199b6, "rz", "Mno_musicZ"] - - [0x4199b6, 0x419b8c, "rz", "Msolo_death_abrevZ"] - - [0x419b8c, 0x41a43a, "rz", "Mintro_eyeZ"] - - [0x41a43a, 0x41b024, "rz", "MtrainZ"] - - [0x41b024, 0x41bdc4, "rz", "MdepotZ"] - - [0x41bdc4, 0x41cb5c, "rz", "Mjungle_unusedZ"] - - [0x41cb5c, 0x41d91c, "rz", "McitadelZ"] - - [0x41d91c, 0x41e3ea, "rz", "MfacilityZ"] - - [0x41e3ea, 0x41ef48, "rz", "McontrolZ"] - - [0x41ef48, 0x41fd4c, "rz", "MdamZ"] - - [0x41fd4c, 0x420b2c, "rz", "MfrigateZ"] - - [0x420b2c, 0x421480, "rz", "MarchivesZ"] - - [0x421480, 0x4222f0, "rz", "MsiloZ"] - - [0x4222f0, 0x42325c, "rz", "Mjungle_perimeter_unusedZ"] - - [0x42325c, 0x423f5e, "rz", "MstreetsZ"] - - [0x423f5e, 0x4245d0, "rz", "Mbunker1Z"] - - [0x4245d0, 0x424c50, "rz", "Mbunker2Z"] - - [0x424c50, 0x4255e8, "rz", "MstatueZ"] - - [0x4255e8, 0x425fc2, "rz", "Melevator_controlZ"] - - [0x425fc2, 0x426d22, "rz", "McradleZ"] - - [0x426d22, 0x426d4c, "rz", "Mnull1Z"] - - [0x426d4c, 0x427392, "rz", "Melevator_wcZ"] - - [0x427392, 0x42812c, "rz", "MegyptianZ"] - - [0x42812c, 0x42850e, "rz", "MfoldersZ"] - - [0x42850e, 0x428700, "rz", "MwatchmusicZ"] - - [0x428700, 0x429372, "rz", "MaztecZ"] - - [0x429372, 0x42a19e, "rz", "MwatercavernsZ"] - - [0x42a19e, 0x42a504, "rz", "MdeathsoloZ"] - - [0x42a504, 0x42b2ba, "rz", "Msurface2Z"] - - [0x42b2ba, 0x42bb5a, "rz", "MtrainxZ"] - - [0x42bb5a, 0x42bb84, "rz", "Mnull2Z"] - - [0x42bb84, 0x42c4dc, "rz", "MfacilityxZ"] - - [0x42c4dc, 0x42cc98, "rz", "MdepotxZ"] - - [0x42cc98, 0x42d1e0, "rz", "McontrolxZ"] - - [0x42d1e0, 0x42d934, "rz", "MwatercavernsxZ"] - - [0x42d934, 0x42de54, "rz", "MdamxZ"] - - [0x42de54, 0x42e416, "rz", "MfrigatexZ"] - - [0x42e416, 0x42eb3a, "rz", "MarchivesxZ"] - - [0x42eb3a, 0x42f42e, "rz", "MsiloxZ"] - - [0x42f42e, 0x42f458, "rz", "Mnull3Z"] - - [0x42f458, 0x42fac4, "rz", "MstreetsxZ"] - - [0x42fac4, 0x43026a, "rz", "Mbunker1xZ"] - - [0x43026a, 0x4308b8, "rz", "Mbunker2xZ"] - - [0x4308b8, 0x4310ce, "rz", "MjunglexZ"] - - [0x4310ce, 0x431500, "rz", "Mnint_rare_logoZ"] - - [0x431500, 0x431bb8, "rz", "MstatuexZ"] - - [0x431bb8, 0x43248e, "rz", "MaztecxZ"] - - [0x43248e, 0x432d3e, "rz", "MegyptianxZ"] - - [0x432d3e, 0x433408, "rz", "McradlexZ"] - - [0x433408, 0x433c52, "rz", "McubaZ"] - - [0x433c52, 0x434970, "rz", "MrunwayZ"] - - [0x434970, 0x434c4a, "rz", "Mrunway_planeZ"] - - [0x434c4a, 0x435372, "rz", "Msurface2xZ"] - - [0x435372, 0x435894, "rz", "MwindblowingZ"] - - [0x435894, 0x435aa0, "rz", "Mmultideath_altZ"] - - [0x435aa0, 0x436228, "rz", "MjungleZ"] - - [0x436228, 0x43684a, "rz", "MrunwayxZ"] - - [0x43684a, 0x4375b2, "rz", "Msurface1Z"] - - [0x4375b2, 0x43787a, "rz", "MmultiplayerdeathZ"] - - [0x43787a, 0x437fa2, "rz", "Msurface1xZ"] - - [0x437fa2, 0x43823e, "rz", "Msurface2_endingZ"] - - [0x43823e, 0x4383a4, "rz", "Mstatue_endingZ"] - - [0x4383a4, 0x438660, "rz", "Mfrigate_outroZ"] - - [0x00438660, 0x00449450, "bin", "bg_sev_all_p.seg"] - - [0x00449450, 0x0049a390, "bin", "bg_silo_all_p.seg"] - - [0x0049a390, 0x004bc460, "bin", "bg_stat_all_p.seg"] - - [0x004bc460, 0x004ea7e0, "bin", "bg_arec_all_p.seg"] - - [0x004ea7e0, 0x005102d0, "bin", "bg_arch_all_p.seg"] - - [0x005102d0, 0x00530840, "bin", "bg_tra_all_p.seg"] - - [0x00530840, 0x0055e200, "bin", "bg_dest_all_p.seg"] - - [0x0055e200, 0x00578fa0, "bin", "bg_sevb_all_p.seg"] - - [0x00578fa0, 0x0059a9f0, "bin", "bg_azt_all_p.seg"] - - [0x0059a9f0, 0x005b4620, "bin", "bg_pete_all_p.seg"] - - [0x005b4620, 0x005e0f90, "bin", "bg_depo_all_p.seg"] - - [0x005e0f90, 0x005ea5a0, "bin", "bg_ref_all_p.seg"] - - [0x005ea5a0, 0x005ffc50, "bin", "bg_cryp_all_p.seg"] - - [0x005ffc50, 0x0062fdf0, "bin", "bg_dam_all_p.seg"] - - [0x0062fdf0, 0x00660d70, "bin", "bg_ark_all_p.seg"] - - [0x00660d70, 0x0066b140, "bin", "bg_run_all_p.seg"] - - [0x0066b140, 0x00687710, "bin", "bg_sevx_all_p.seg"] - - [0x00687710, 0x0069c860, "bin", "bg_jun_all_p.seg"] - - [0x0069c860, 0x006a10d0, "bin", "bg_dish_all_p.seg"] - - [0x006a10d0, 0x006c55c0, "bin", "bg_cave_all_p.seg"] - - [0x006c55c0, 0x006caaf0, "bin", "bg_cat_all_p.seg"] - - [0x006caaf0, 0x006dae40, "bin", "bg_crad_all_p.seg"] - # - [0x006dae40, 0x006dae40, "bin", "bg_imp_all_p.seg"] - # - [0x006dae40, 0x006dae40, "bin", "bg_ash_all_p.seg"] - - [0x006dae40, 0x006e4da0, "bin", "bg_ame_all_p.seg"] - - [0x006e4da0, 0x006ebbf0, "bin", "bg_oat_all_p.seg"] - - [0x006ebbf0, 0x006ecb90, "bin", "bg_len_all_p.seg"] - - [0x006ecb90, 0x006ef010, "rz", "CarmourguardZ"] - - [0x006ef010, 0x006f2700, "rz", "CbaronsamediZ"] - - [0x006f2700, 0x006f4df0, "rz", "CbluecamguardZ"] - - [0x006f4df0, 0x006f6c00, "rz", "CbluemanZ"] - - [0x006f6c00, 0x006f8ac0, "rz", "CbluewomanZ"] - - [0x006f8ac0, 0x006fb6d0, "rz", "CboilerbondZ"] - - [0x006fb6d0, 0x006fed50, "rz", "CboilertrevZ"] - - [0x006fed50, 0x00701e70, "rz", "CborisZ"] - - [0x00701e70, 0x00704550, "rz", "CcamguardZ"] - - [0x00704550, 0x00706350, "rz", "CcardimanZ"] - - [0x00706350, 0x007081d0, "rz", "CcheckmanZ"] - - [0x007081d0, 0x0070a7d0, "rz", "CcommguardZ"] - - [0x0070a7d0, 0x0070d660, "rz", "CdjbondZ"] - - [0x0070d660, 0x0070f580, "rz", "CfattechwomanZ"] - - [0x0070f580, 0x00711ca0, "rz", "Cgreatguard2Z"] - - [0x00711ca0, 0x00714320, "rz", "CgreatguardZ"] - - [0x00714320, 0x007169f0, "rz", "CgreyguardZ"] - - [0x007169f0, 0x007187b0, "rz", "CgreymanZ"] - - [0x007187b0, 0x00718d80, "rz", "CheadalanZ"] - - [0x00718d80, 0x007192f0, "rz", "CheadbZ"] - - [0x007192f0, 0x007196c0, "rz", "CheadbalaclaZ"] - - [0x007196c0, 0x00719d60, "rz", "CheadbikeZ"] - - [0x00719d60, 0x0071aab0, "rz", "CheadbrosnanZ"] - - [0x0071aab0, 0x0071b650, "rz", "CheadbrosnanboilerZ"] - - [0x0071b650, 0x0071c4d0, "rz", "CheadbrosnansnowZ"] - - [0x0071c4d0, 0x0071d250, "rz", "CheadbrosnansuitZ"] - - [0x0071d250, 0x0071de10, "rz", "CheadbrosnantimberZ"] - - [0x0071de10, 0x0071e350, "rz", "CheadchrisZ"] - - [0x0071e350, 0x0071e8d0, "rz", "CheaddaveZ"] - - [0x0071e8d0, 0x0071ee00, "rz", "CheaddesZ"] - - [0x0071ee00, 0x0071f320, "rz", "CheadduncanZ"] - - [0x0071f320, 0x0071f8a0, "rz", "CheaddwayneZ"] - - [0x0071f8a0, 0x0071fe10, "rz", "CheadgrahamZ"] - - [0x0071fe10, 0x00720340, "rz", "CheadgrantZ"] - - [0x00720340, 0x00720870, "rz", "CheadjimZ"] - - [0x00720870, 0x00720c90, "rz", "Cheadjoe2Z"] - - [0x00720c90, 0x00721200, "rz", "CheadjoeZ"] - - [0x00721200, 0x00721710, "rz", "CheadjoelZ"] - - [0x00721710, 0x00721c70, "rz", "CheadkarlZ"] - - [0x00721c70, 0x007221c0, "rz", "CheadkenZ"] - - [0x007221c0, 0x00722740, "rz", "CheadleeZ"] - - [0x00722740, 0x00722b30, "rz", "CheadmandyZ"] - - [0x00722b30, 0x00722f40, "rz", "CheadmarionZ"] - - [0x00722f40, 0x00723470, "rz", "CheadmarkZ"] - - [0x00723470, 0x007239d0, "rz", "CheadmartinZ"] - - [0x007239d0, 0x00723f30, "rz", "CheadmishkinZ"] - - [0x00723f30, 0x00724450, "rz", "CheadneilZ"] - - [0x00724450, 0x007249e0, "rz", "CheadpeteZ"] - - [0x007249e0, 0x00724ef0, "rz", "CheadrobinZ"] - - [0x00724ef0, 0x007252f0, "rz", "CheadsallyZ"] - - [0x007252f0, 0x00725870, "rz", "CheadscottZ"] - - [0x00725870, 0x00725e50, "rz", "CheadshaunZ"] - - [0x00725e50, 0x007263a0, "rz", "CheadsteveeZ"] - - [0x007263a0, 0x007268f0, "rz", "CheadstevehZ"] - - [0x007268f0, 0x00726d80, "rz", "CheadvivienZ"] - - [0x00726d80, 0x007299c0, "rz", "CjawsZ"] - - [0x007299c0, 0x0072b9d0, "rz", "CjeanwomanZ"] - - [0x0072b9d0, 0x0072e570, "rz", "CmaydayZ"] - - [0x0072e570, 0x007306c0, "rz", "CmoonfemaleZ"] - - [0x007306c0, 0x00732cb0, "rz", "CmoonguardZ"] - - [0x00732cb0, 0x00736570, "rz", "CnatalayaZ"] - - [0x00736570, 0x00738c50, "rz", "CnavyguardZ"] - - [0x00738c50, 0x0073bd80, "rz", "CoddjobZ"] - - [0x0073bd80, 0x0073e3d0, "rz", "ColiveguardZ"] - - [0x0073e3d0, 0x00741800, "rz", "CorumovZ"] - - [0x00741800, 0x00744880, "rz", "CpilotZ"] - - [0x00744880, 0x00746fb0, "rz", "CredmanZ"] - - [0x00746fb0, 0x00748be0, "rz", "CrusguardZ"] - - [0x00748be0, 0x0074bf10, "rz", "CsnowbondZ"] - - [0x0074bf10, 0x0074eb90, "rz", "CsnowguardZ"] - - [0x0074eb90, 0x007524b0, "rz", "CspicebondZ"] - - [0x007524b0, 0x007556d0, "rz", "Csuit_lf_handZ"] - - [0x007556d0, 0x00758460, "rz", "CsuitbondZ"] - - [0x00758460, 0x0075ab10, "rz", "CtechmanZ"] - - [0x0075ab10, 0x0075cb00, "rz", "CtechwomanZ"] - - [0x0075cb00, 0x0075f830, "rz", "CtimberbondZ"] - - [0x0075f830, 0x00763000, "rz", "CtreveleanZ"] - - [0x00763000, 0x00765610, "rz", "CtrevguardZ"] - - [0x00765610, 0x00768580, "rz", "CvalentinZ"] - - [0x00768580, 0x0076bf70, "rz", "CxeniaZ"] - - [0x0076bf70, 0x0076c980, "rz", "Gak47Z"] - - [0x0076c980, 0x0076cd10, "rz", "GaudiotapeZ"] - - [0x0076cd10, 0x0076e520, "rz", "GautoshotZ"] - - [0x0076e520, 0x0076eb20, "rz", "GblackboxZ"] - - [0x0076eb20, 0x0076ec20, "rz", "GblueprintsZ"] - - [0x0076ec20, 0x0076f3b0, "rz", "GbombcaseZ"] - - [0x0076f3b0, 0x0076f9a0, "rz", "GbombdefuserZ"] - - [0x0076f9a0, 0x00770130, "rz", "GbriefcaseZ"] - - [0x00770130, 0x00770aa0, "rz", "GbugZ"] - - [0x00770aa0, 0x00770df0, "rz", "GbugdetectorZ"] - - [0x00770df0, 0x00771140, "rz", "GbungeeZ"] - - [0x00771140, 0x007715c0, "rz", "GcameraZ"] - - [0x007715c0, 0x00771820, "rz", "GcartblueZ"] - - [0x00771820, 0x00771950, "rz", "GcartridgeZ"] - - [0x00771950, 0x00771b60, "rz", "GcartrifleZ"] - - [0x00771b60, 0x00771d60, "rz", "GcartshellZ"] - - [0x00771d60, 0x00771ea0, "rz", "GcircuitboardZ"] - - [0x00771ea0, 0x00772090, "rz", "GclipboardZ"] - - [0x00772090, 0x007723e0, "rz", "GcreditcardZ"] - - [0x007723e0, 0x00772730, "rz", "GdarglassesZ"] - - [0x00772730, 0x00772870, "rz", "GdatathiefZ"] - - [0x00772870, 0x007729e0, "rz", "GdattapeZ"] - - [0x007729e0, 0x00772f60, "rz", "GdoordecoderZ"] - - [0x00772f60, 0x007732b0, "rz", "GdoorexploderZ"] - - [0x007732b0, 0x00773610, "rz", "GdossierredZ"] - - [0x00773610, 0x00773960, "rz", "GdynamiteZ"] - - [0x00773960, 0x00773bb0, "rz", "GexpelosivefloppyZ"] - - [0x00773bb0, 0x00773f00, "rz", "GexplosivepenZ"] - - [0x00773f00, 0x007746f0, "rz", "GextinguisherZ"] - - [0x007746f0, 0x00774a40, "rz", "GfingergunZ"] - - [0x00774a40, 0x00776140, "rz", "GfistZ"] - - [0x00776140, 0x00776490, "rz", "GflarepistolZ"] - - [0x00776490, 0x00777130, "rz", "Gfnp90Z"] - - [0x00777130, 0x00777b60, "rz", "GgaskeyringZ"] - - [0x00777b60, 0x00777eb0, "rz", "GgoldbarZ"] - - [0x00777eb0, 0x00778860, "rz", "GgoldeneyekeyZ"] - - [0x00778860, 0x0077a040, "rz", "GgoldengunZ"] - - [0x0077a040, 0x0077b9a0, "rz", "GgoldwppkZ"] - - [0x0077b9a0, 0x0077c3d0, "rz", "GgrenadeZ"] - - [0x0077c3d0, 0x0077d450, "rz", "GgrenadelaunchZ"] - - [0x0077d450, 0x0077d7a0, "rz", "GheroinZ"] - - [0x0077d7a0, 0x0077f650, "rz", "GjoypadZ"] - - [0x0077f650, 0x0077fde0, "rz", "GkeyanalysercaseZ"] - - [0x0077fde0, 0x007807d0, "rz", "GkeyboltZ"] - - [0x007807d0, 0x00780900, "rz", "GkeycardZ"] - - [0x00780900, 0x00781650, "rz", "GkeyyaleZ"] - - [0x00781650, 0x00783120, "rz", "GknifeZ"] - - [0x00783120, 0x00783f10, "rz", "GlaserZ"] - - [0x00783f10, 0x00784260, "rz", "GlectreZ"] - - [0x00784260, 0x007845b0, "rz", "GlockexploderZ"] - - [0x007845b0, 0x00784fd0, "rz", "Gm16Z"] - - [0x00784fd0, 0x007850c0, "rz", "GmapZ"] - - [0x007850c0, 0x00785700, "rz", "GmicrocameraZ"] - - [0x00785700, 0x00785a50, "rz", "GmicrocodeZ"] - - [0x00785a50, 0x00785da0, "rz", "GmicrofilmZ"] - - [0x00785da0, 0x007860f0, "rz", "GmoneyZ"] - - [0x007860f0, 0x00786cd0, "rz", "Gmp5kZ"] - - [0x00786cd0, 0x007879d0, "rz", "Gmp5ksilZ"] - - [0x007879d0, 0x00787d20, "rz", "GpitongunZ"] - - [0x00787d20, 0x00787ef0, "rz", "GplansZ"] - - [0x00787ef0, 0x00788240, "rz", "GplastiqueZ"] - - [0x00788240, 0x007887a0, "rz", "GpolarizedglassesZ"] - - [0x007887a0, 0x00788f90, "rz", "GproximitymineZ"] - - [0x00788f90, 0x00789950, "rz", "GremotemineZ"] - - [0x00789950, 0x0078ab70, "rz", "GrocketlaunchZ"] - - [0x0078ab70, 0x0078c900, "rz", "GrugerZ"] - - [0x0078c900, 0x0078d090, "rz", "GsafecrackercaseZ"] - - [0x0078d090, 0x0078df70, "rz", "GshotgunZ"] - - [0x0078df70, 0x0078f8d0, "rz", "GsilverwppkZ"] - - [0x0078f8d0, 0x00790ad0, "rz", "GskorpionZ"] - - [0x00790ad0, 0x00791b40, "rz", "GsniperrifleZ"] - - [0x00791b40, 0x007927c0, "rz", "GspecterZ"] - - [0x007927c0, 0x00792b10, "rz", "GspooltapeZ"] - - [0x00792b10, 0x00792e60, "rz", "GspyfileZ"] - - [0x00792e60, 0x00793000, "rz", "GstafflistZ"] - - [0x00793000, 0x00794e60, "rz", "GtaserZ"] - - [0x00794e60, 0x00796950, "rz", "GthrowknifeZ"] - - [0x00796950, 0x00797410, "rz", "GtimedmineZ"] - - [0x00797410, 0x0079a810, "rz", "GtriggerZ"] - - [0x0079a810, 0x0079c330, "rz", "Gtt33Z"] - - [0x0079c330, 0x0079cc40, "rz", "GuziZ"] - - [0x0079cc40, 0x0079ce50, "rz", "GvideotapeZ"] - - [0x0079ce50, 0x0079e2b0, "rz", "GwatchcommunicatorZ"] - - [0x0079e2b0, 0x0079f710, "rz", "GwatchgeigercounterZ"] - - [0x0079f710, 0x007a0b70, "rz", "GwatchidentifierZ"] - - [0x007a0b70, 0x007a3f70, "rz", "GwatchlaserZ"] - - [0x007a3f70, 0x007a53c0, "rz", "GwatchmagnetattractZ"] - - [0x007a53c0, 0x007a6820, "rz", "GwatchmagnetrepelZ"] - - [0x007a6820, 0x007a6fb0, "rz", "GweaponcaseZ"] - - [0x007a6fb0, 0x007a8c40, "rz", "GwppkZ"] - - [0x007a8c40, 0x007aa980, "rz", "GwppksilZ"] - - [0x007aa980, 0x007aacd0, "rz", "GwristdartZ"] - - [0x007aacd0, 0x007ad250, "rz", "PICBMZ"] - - [0x007ad250, 0x007ada00, "rz", "PICBM_noseZ"] - - [0x007ada00, 0x007adbe0, "rz", "Pak47magZ"] - - [0x007adbe0, 0x007add40, "rz", "Palarm1Z"] - - [0x007add40, 0x007adee0, "rz", "Palarm2Z"] - - [0x007adee0, 0x007ae120, "rz", "Pammo_crate1Z"] - - [0x007ae120, 0x007ae360, "rz", "Pammo_crate2Z"] - - [0x007ae360, 0x007ae5b0, "rz", "Pammo_crate3Z"] - - [0x007ae5b0, 0x007ae820, "rz", "Pammo_crate4Z"] - - [0x007ae820, 0x007aeae0, "rz", "Pammo_crate5Z"] - - [0x007aeae0, 0x007b0740, "rz", "PapcZ"] - - [0x007b0740, 0x007b0920, "rz", "Parchsecdoor1Z"] - - [0x007b0920, 0x007b0af0, "rz", "Parchsecdoor2Z"] - - [0x007b0af0, 0x007b18f0, "rz", "ParticZ"] - - [0x007b18f0, 0x007b2200, "rz", "ParctictrailerZ"] - - [0x007b2200, 0x007b2440, "rz", "PbarricadeZ"] - - [0x007b2440, 0x007b2790, "rz", "Pbin1Z"] - - [0x007b2790, 0x007b2870, "rz", "Pblotter1Z"] - - [0x007b2870, 0x007b2d10, "rz", "PbodyarmourZ"] - - [0x007b2d10, 0x007b3130, "rz", "PbodyarmourvestZ"] - - [0x007b3130, 0x007b3330, "rz", "PbollardZ"] - - [0x007b3330, 0x007b34a0, "rz", "PbombZ"] - - [0x007b34a0, 0x007b3630, "rz", "Pbook1Z"] - - [0x007b3630, 0x007b3d20, "rz", "Pbookshelf1Z"] - - [0x007b3d20, 0x007b3e90, "rz", "Pborg_crateZ"] - - [0x007b3e90, 0x007b4090, "rz", "PboxcartridgesZ"] - - [0x007b4090, 0x007b44c0, "rz", "Pboxes2x4Z"] - - [0x007b44c0, 0x007b4900, "rz", "Pboxes3x4Z"] - - [0x007b4900, 0x007b4f60, "rz", "Pboxes4x4Z"] - - [0x007b4f60, 0x007b52d0, "rz", "PbrakeunitZ"] - - [0x007b52d0, 0x007b5850, "rz", "Pbridge_console1aZ"] - - [0x007b5850, 0x007b5db0, "rz", "Pbridge_console1bZ"] - - [0x007b5db0, 0x007b6330, "rz", "Pbridge_console2aZ"] - - [0x007b6330, 0x007b6820, "rz", "Pbridge_console2bZ"] - - [0x007b6820, 0x007b6d70, "rz", "Pbridge_console3aZ"] - - [0x007b6d70, 0x007b7300, "rz", "Pbridge_console3bZ"] - - [0x007b7300, 0x007b7fe0, "rz", "PcarbmwZ"] - - [0x007b7fe0, 0x007b81e0, "rz", "Pcard_box1Z"] - - [0x007b81e0, 0x007b8420, "rz", "Pcard_box2Z"] - - [0x007b8420, 0x007b8610, "rz", "Pcard_box3Z"] - - [0x007b8610, 0x007b87c0, "rz", "Pcard_box4Z"] - - [0x007b87c0, 0x007b89c0, "rz", "Pcard_box5Z"] - - [0x007b89c0, 0x007b8bb0, "rz", "Pcard_box6Z"] - - [0x007b8bb0, 0x007b97b0, "rz", "PcarescortZ"] - - [0x007b97b0, 0x007ba3e0, "rz", "PcargolfZ"] - - [0x007ba3e0, 0x007bb520, "rz", "PcarweirdZ"] - - [0x007bb520, 0x007bcb20, "rz", "PcarzilZ"] - - [0x007bcb20, 0x007bcea0, "rz", "PcctvZ"] - - [0x007bcea0, 0x007bd400, "rz", "PchraudiotapeZ"] - - [0x007bd400, 0x007bd760, "rz", "PchrautoshotZ"] - - [0x007bd760, 0x007bdfe0, "rz", "PchrblackboxZ"] - - [0x007bdfe0, 0x007be130, "rz", "PchrblueprintsZ"] - - [0x007be130, 0x007be320, "rz", "PchrbombcaseZ"] - - [0x007be320, 0x007bec00, "rz", "PchrbombdefuserZ"] - - [0x007bec00, 0x007bed90, "rz", "PchrbriefcaseZ"] - - [0x007bed90, 0x007bfb40, "rz", "PchrbugZ"] - - [0x007bfb40, 0x007bfcb0, "rz", "PchrbugdetectorZ"] - - [0x007bfcb0, 0x007bfe20, "rz", "PbungeeZ"] - - [0x007bfe20, 0x007c04b0, "rz", "PchrcameraZ"] - - [0x007c04b0, 0x007c0650, "rz", "PchrcircuitboardZ"] - - [0x007c0650, 0x007c08d0, "rz", "PchrclipboardZ"] - - [0x007c08d0, 0x007c0a40, "rz", "PchrcreditcardZ"] - - [0x007c0a40, 0x007c0bb0, "rz", "PchrdarkglassesZ"] - - [0x007c0bb0, 0x007c0d50, "rz", "PchrdatathiefZ"] - - [0x007c0d50, 0x007c0f40, "rz", "PchrdattapeZ"] - - [0x007c0f40, 0x007c17a0, "rz", "PchrdoordecoderZ"] - - [0x007c17a0, 0x007c1910, "rz", "PchrdoorexploderZ"] - - [0x007c1910, 0x007c1de0, "rz", "PchrdossierredZ"] - - [0x007c1de0, 0x007c1f50, "rz", "PchrdynamiteZ"] - - [0x007c1f50, 0x007c20c0, "rz", "PchrexplosivepenZ"] - - [0x007c20c0, 0x007c25c0, "rz", "PchrextinguisherZ"] - - [0x007c25c0, 0x007c2730, "rz", "PchrfingergunZ"] - - [0x007c2730, 0x007c28a0, "rz", "PchrflarepistolZ"] - - [0x007c28a0, 0x007c2d00, "rz", "Pchrfnp90Z"] - - [0x007c2d00, 0x007c3c10, "rz", "PchrgaskeyringZ"] - - [0x007c3c10, 0x007c3d80, "rz", "PchrgoldbarZ"] - - [0x007c3d80, 0x007c3ff0, "rz", "PchrgoldenZ"] - - [0x007c3ff0, 0x007c4e90, "rz", "PchrgoldeneyekeyZ"] - - [0x007c4e90, 0x007c5000, "rz", "PchrgoldwppkZ"] - - [0x007c5000, 0x007c5370, "rz", "PchrgrenadeZ"] - - [0x007c5370, 0x007c5700, "rz", "PchrgrenadelaunchZ"] - - [0x007c5700, 0x007c5970, "rz", "PchrgrenaderoundZ"] - - [0x007c5970, 0x007c5ae0, "rz", "PchrheroinZ"] - - [0x007c5ae0, 0x007c5ed0, "rz", "PchrkalashZ"] - - [0x007c5ed0, 0x007c60c0, "rz", "PchrkeyanalysercaseZ"] - - [0x007c60c0, 0x007c6f60, "rz", "PchrkeyboltZ"] - - [0x007c6f60, 0x007c83c0, "rz", "PchrkeyyaleZ"] - - [0x007c83c0, 0x007c85c0, "rz", "PchrknifeZ"] - - [0x007c85c0, 0x007c8980, "rz", "PchrlaserZ"] - - [0x007c8980, 0x007c8af0, "rz", "PchrlectreZ"] - - [0x007c8af0, 0x007c8c60, "rz", "PchrlockexploderZ"] - - [0x007c8c60, 0x007c9030, "rz", "Pchrm16Z"] - - [0x007c9030, 0x007c9180, "rz", "PchrmapZ"] - - [0x007c9180, 0x007c9a70, "rz", "PchrmicrocameraZ"] - - [0x007c9a70, 0x007c9be0, "rz", "PchrmicrocodeZ"] - - [0x007c9be0, 0x007c9d50, "rz", "PchrmicrofilmZ"] - - [0x007c9d50, 0x007c9ec0, "rz", "PchrmoneyZ"] - - [0x007c9ec0, 0x007ca240, "rz", "Pchrmp5kZ"] - - [0x007ca240, 0x007ca650, "rz", "Pchrmp5ksilZ"] - - [0x007ca650, 0x007ca7c0, "rz", "PchrpitongunZ"] - - [0x007ca7c0, 0x007caa50, "rz", "PchrplansZ"] - - [0x007caa50, 0x007caeb0, "rz", "PchrplastiqueZ"] - - [0x007caeb0, 0x007cb770, "rz", "PchrpolarizedglassesZ"] - - [0x007cb770, 0x007cbbd0, "rz", "PchrproximitymineZ"] - - [0x007cbbd0, 0x007cc030, "rz", "PchrremotemineZ"] - - [0x007cc030, 0x007cc5e0, "rz", "PchrrocketZ"] - - [0x007cc5e0, 0x007cc9c0, "rz", "PchrrocketlaunchZ"] - - [0x007cc9c0, 0x007ccda0, "rz", "PchrrugerZ"] - - [0x007ccda0, 0x007ccf90, "rz", "PchrsafecrackercaseZ"] - - [0x007ccf90, 0x007cd2e0, "rz", "PchrshotgunZ"] - - [0x007cd2e0, 0x007cd450, "rz", "PchrsilverwppkZ"] - - [0x007cd450, 0x007cd7d0, "rz", "PchrskorpionZ"] - - [0x007cd7d0, 0x007cdb60, "rz", "PchrsniperrifleZ"] - - [0x007cdb60, 0x007cded0, "rz", "PchrspectreZ"] - - [0x007cded0, 0x007ce040, "rz", "PchrspooltapeZ"] - - [0x007ce040, 0x007ce1b0, "rz", "PchrspyfileZ"] - - [0x007ce1b0, 0x007ce3d0, "rz", "PchrstafflistZ"] - - [0x007ce3d0, 0x007ce590, "rz", "PchrtesttubeZ"] - - [0x007ce590, 0x007ce7b0, "rz", "PchrthrowknifeZ"] - - [0x007ce7b0, 0x007cece0, "rz", "PchrtimedmineZ"] - - [0x007cece0, 0x007cef70, "rz", "Pchrtt33Z"] - - [0x007cef70, 0x007cf240, "rz", "PchruziZ"] - - [0x007cf240, 0x007cf510, "rz", "PchrvideotapeZ"] - - [0x007cf510, 0x007cf710, "rz", "PchrweaponcaseZ"] - - [0x007cf710, 0x007cf950, "rz", "PchrwppkZ"] - - [0x007cf950, 0x007cfc30, "rz", "PchrwppksilZ"] - - [0x007cfc30, 0x007cfda0, "rz", "PchrwristdartZ"] - - [0x007cfda0, 0x007d0420, "rz", "Pconsole1Z"] - - [0x007d0420, 0x007d0aa0, "rz", "Pconsole2Z"] - - [0x007d0aa0, 0x007d1130, "rz", "Pconsole3Z"] - - [0x007d1130, 0x007d1550, "rz", "Pconsole_sev2aZ"] - - [0x007d1550, 0x007d1a10, "rz", "Pconsole_sev2bZ"] - - [0x007d1a10, 0x007d1e50, "rz", "Pconsole_sev2cZ"] - - [0x007d1e50, 0x007d2280, "rz", "Pconsole_sev2dZ"] - - [0x007d2280, 0x007d26b0, "rz", "Pconsole_sev_GEZ"] - - [0x007d26b0, 0x007d2ae0, "rz", "Pconsole_sevGEbZ"] - - [0x007d2ae0, 0x007d2f60, "rz", "Pconsole_sevaZ"] - - [0x007d2f60, 0x007d33d0, "rz", "Pconsole_sevbZ"] - - [0x007d33d0, 0x007d3800, "rz", "Pconsole_sevcZ"] - - [0x007d3800, 0x007d3c30, "rz", "Pconsole_sevdZ"] - - [0x007d3c30, 0x007d3dc0, "rz", "Pcryptdoor1aZ"] - - [0x007d3dc0, 0x007d3f50, "rz", "Pcryptdoor1bZ"] - - [0x007d3f50, 0x007d40e0, "rz", "Pcryptdoor2aZ"] - - [0x007d40e0, 0x007d4270, "rz", "Pcryptdoor2bZ"] - - [0x007d4270, 0x007d44e0, "rz", "Pcryptdoor3Z"] - - [0x007d44e0, 0x007d4660, "rz", "Pcryptdoor4Z"] - - [0x007d4660, 0x007d48e0, "rz", "PdamchaindoorZ"] - - [0x007d48e0, 0x007d4b00, "rz", "PdamgatedoorZ"] - - [0x007d4b00, 0x007d4e70, "rz", "PdamtundoorZ"] - - [0x007d4e70, 0x007d5010, "rz", "Pdepot_door_steelZ"] - - [0x007d5010, 0x007d5250, "rz", "Pdepot_gate_entryZ"] - - [0x007d5250, 0x007d53d0, "rz", "Pdesk1Z"] - - [0x007d53d0, 0x007d5550, "rz", "Pdesk2Z"] - - [0x007d5550, 0x007d5790, "rz", "Pdesk_arecibo1Z"] - - [0x007d5790, 0x007d5a90, "rz", "Pdesk_lamp2Z"] - - [0x007d5a90, 0x007d7380, "rz", "Pdest_engineZ"] - - [0x007d7380, 0x007d79e0, "rz", "Pdest_exocetZ"] - - [0x007d79e0, 0x007d8050, "rz", "Pdest_gunZ"] - - [0x007d8050, 0x007d88f0, "rz", "Pdest_harpoonZ"] - - [0x007d88f0, 0x007d98a0, "rz", "Pdest_seawolfZ"] - - [0x007d98a0, 0x007d9a60, "rz", "Pdisc_readerZ"] - - [0x007d9a60, 0x007d9bf0, "rz", "Pdisk_drive1Z"] - - [0x007d9bf0, 0x007d9d70, "rz", "Pdoor_azt_chairZ"] - - [0x007d9d70, 0x007da1b0, "rz", "Pdoor_azt_deskZ"] - - [0x007da1b0, 0x007da540, "rz", "Pdoor_azt_desk_topZ"] - - [0x007da540, 0x007da770, "rz", "Pdoor_aztecZ"] - - [0x007da770, 0x007daa70, "rz", "Pdoor_dest1Z"] - - [0x007daa70, 0x007dae30, "rz", "Pdoor_dest2Z"] - - [0x007dae30, 0x007db390, "rz", "Pdoor_eyelidZ"] - - [0x007db390, 0x007dbde0, "rz", "Pdoor_irisZ"] - - [0x007dbde0, 0x007dc0d0, "rz", "Pdoor_mfZ"] - - [0x007dc0d0, 0x007dc440, "rz", "Pdoor_roller1Z"] - - [0x007dc440, 0x007dc680, "rz", "Pdoor_roller2Z"] - - [0x007dc680, 0x007dc8c0, "rz", "Pdoor_roller3Z"] - - [0x007dc8c0, 0x007dcb20, "rz", "Pdoor_roller4Z"] - - [0x007dcb20, 0x007dcc50, "rz", "Pdoor_rollertrainZ"] - - [0x007dcc50, 0x007dceb0, "rz", "Pdoor_st_arec1Z"] - - [0x007dceb0, 0x007dd190, "rz", "Pdoor_st_arec2Z"] - - [0x007dd190, 0x007dd330, "rz", "PwinZ"] - - [0x007dd330, 0x007dd7a0, "rz", "PdoorconsoleZ"] - - [0x007dd7a0, 0x007ddb10, "rz", "PdoorpanelZ"] - - [0x007ddb10, 0x007ddc60, "rz", "Pdoorprison1Z"] - - [0x007ddc60, 0x007dde60, "rz", "PdoorstatgateZ"] - - [0x007dde60, 0x007ddf80, "rz", "PexplosionbitZ"] - - [0x007ddf80, 0x007de100, "rz", "Pfiling_cabinet1Z"] - - [0x007de100, 0x007de230, "rz", "PflagZ"] - - [0x007de230, 0x007de550, "rz", "PfloppyZ"] - - [0x007de550, 0x007de6f0, "rz", "Pfnp90magZ"] - - [0x007de6f0, 0x007dea70, "rz", "Pgas_plant_met1_do1Z"] - - [0x007dea70, 0x007dec50, "rz", "Pgas_plant_sw2_do1Z"] - - [0x007dec50, 0x007dee50, "rz", "Pgas_plant_sw3_do1Z"] - - [0x007dee50, 0x007defb0, "rz", "Pgas_plant_sw4_do1Z"] - - [0x007defb0, 0x007df240, "rz", "Pgas_plant_sw_do1Z"] - - [0x007df240, 0x007df450, "rz", "Pgas_plant_wc_cub1Z"] - - [0x007df450, 0x007df660, "rz", "PgasbarrelZ"] - - [0x007df660, 0x007dfba0, "rz", "PgasbarrelsZ"] - - [0x007dfba0, 0x007e0100, "rz", "Pgas_plant_clear_doorZ"] - - [0x007e0100, 0x007e06b0, "rz", "PgastankZ"] - - [0x007e06b0, 0x007e0810, "rz", "Pglassware1Z"] - - [0x007e0810, 0x007e0aa0, "rz", "Pglassware2Z"] - - [0x007e0aa0, 0x007e0cb0, "rz", "Pglassware3Z"] - - [0x007e0cb0, 0x007e1230, "rz", "Pglassware4Z"] - - [0x007e1230, 0x007e20e0, "rz", "PgoldeneyelogoZ"] - - [0x007e20e0, 0x007e22e0, "rz", "PgoldenshellsZ"] - - [0x007e22e0, 0x007e2ab0, "rz", "PgroundgunZ"] - - [0x007e2ab0, 0x007e31f0, "rz", "Pgun_runway1Z"] - - [0x007e31f0, 0x007e3490, "rz", "PhatberetZ"] - - [0x007e3490, 0x007e3760, "rz", "PhatberetblueZ"] - - [0x007e3760, 0x007e3a40, "rz", "PhatberetredZ"] - - [0x007e3a40, 0x007e3b10, "rz", "PhatchboltZ"] - - [0x007e3b10, 0x007e3d30, "rz", "PhatchdoorZ"] - - [0x007e3d30, 0x007e3ea0, "rz", "PhatchsevxZ"] - - [0x007e3ea0, 0x007e40d0, "rz", "PhatfurryZ"] - - [0x007e40d0, 0x007e42f0, "rz", "PhatfurryblackZ"] - - [0x007e42f0, 0x007e4500, "rz", "PhatfurrybrownZ"] - - [0x007e4500, 0x007e4730, "rz", "PhathelmetZ"] - - [0x007e4730, 0x007e4960, "rz", "PhathelmetgreyZ"] - - [0x007e4960, 0x007e4d40, "rz", "PhatmoonZ"] - - [0x007e4d40, 0x007e5050, "rz", "PhatpeakedZ"] - - [0x007e5050, 0x007e52a0, "rz", "PhattbirdZ"] - - [0x007e52a0, 0x007e5510, "rz", "PhattbirdbrownZ"] - - [0x007e5510, 0x007e9730, "rz", "PhelicopterZ"] - - [0x007e9730, 0x007eaea0, "rz", "PhindZ"] - - [0x007eaea0, 0x007ec000, "rz", "PjeepZ"] - - [0x007ec000, 0x007ec260, "rz", "Pjerry_can1Z"] - - [0x007ec260, 0x007ec9e0, "rz", "Pjungle3_treeZ"] - - [0x007ec9e0, 0x007ecf10, "rz", "Pjungle5_treeZ"] - - [0x007ecf10, 0x007ed260, "rz", "Pkey_holderZ"] - - [0x007ed260, 0x007ed3d0, "rz", "Pkeyboard1Z"] - - [0x007ed3d0, 0x007ed670, "rz", "Pkit_units1Z"] - - [0x007ed670, 0x007eda40, "rz", "PlabbenchZ"] - - [0x007eda40, 0x007edcb0, "rz", "PlandmineZ"] - - [0x007edcb0, 0x007eec70, "rz", "PlegalpageZ"] - - [0x007eec70, 0x007eedd0, "rz", "Pletter_tray1Z"] - - [0x007eedd0, 0x007eef60, "rz", "Plocker3Z"] - - [0x007eef60, 0x007ef0f0, "rz", "Plocker4Z"] - - [0x007ef0f0, 0x007ef230, "rz", "PPm16magZ"] - - [0x007ef230, 0x007ef430, "rz", "PmagnumshellsZ"] - - [0x007ef430, 0x007ef730, "rz", "Pmainframe1Z"] - - [0x007ef730, 0x007efa00, "rz", "Pmainframe2Z"] - - [0x007efa00, 0x007efd40, "rz", "Pmetal_chair1Z"] - - [0x007efd40, 0x007eff00, "rz", "Pmetal_crate1Z"] - - [0x007eff00, 0x007f00c0, "rz", "Pmetal_crate2Z"] - - [0x007f00c0, 0x007f0280, "rz", "Pmetal_crate3Z"] - - [0x007f0280, 0x007f0440, "rz", "Pmetal_crate4Z"] - - [0x007f0440, 0x007f1d20, "rz", "PmilcopterZ"] - - [0x007f1d20, 0x007f4020, "rz", "PmiltruckZ"] - - [0x007f4020, 0x007f4a30, "rz", "Pmissile_rack2Z"] - - [0x007f4a30, 0x007f4e10, "rz", "Pmissile_rackZ"] - - [0x007f4e10, 0x007f5150, "rz", "PmodemboxZ"] - - [0x007f5150, 0x007f6010, "rz", "PmotorbikeZ"] - - [0x007f6010, 0x007f6160, "rz", "Pmp5kmagZ"] - - [0x007f6160, 0x007f8c40, "rz", "PnintendologoZ"] - - [0x007f8c40, 0x007f8eb0, "rz", "Poil_drum1Z"] - - [0x007f8eb0, 0x007f91a0, "rz", "Poil_drum2Z"] - - [0x007f91a0, 0x007f9490, "rz", "Poil_drum3Z"] - - [0x007f9490, 0x007f9780, "rz", "Poil_drum5Z"] - - [0x007f9780, 0x007f9a90, "rz", "Poil_drum6Z"] - - [0x007f9a90, 0x007f9d90, "rz", "Poil_drum7Z"] - - [0x007f9d90, 0x007fa7e0, "rz", "PpadlockZ"] - - [0x007fa7e0, 0x007fac30, "rz", "PpalmZ"] - - [0x007fac30, 0x007fb100, "rz", "PpalmtreeZ"] - - [0x007fb100, 0x007fb240, "rz", "Pphone1Z"] - - [0x007fb240, 0x007fd820, "rz", "PplaneZ"] - - [0x007fd820, 0x007fdbe0, "rz", "Pplant11Z"] - - [0x007fdbe0, 0x007fdf70, "rz", "Pplant1Z"] - - [0x007fdf70, 0x007fe2d0, "rz", "Pplant2Z"] - - [0x007fe2d0, 0x007fe6e0, "rz", "Pplant2bZ"] - - [0x007fe6e0, 0x007feb30, "rz", "Pplant3Z"] - - [0x007feb30, 0x007fece0, "rz", "Pradio_unit1Z"] - - [0x007fece0, 0x007feea0, "rz", "Pradio_unit2Z"] - - [0x007feea0, 0x007ff060, "rz", "Pradio_unit3Z"] - - [0x007ff060, 0x007ff220, "rz", "Pradio_unit4Z"] - - [0x007ff220, 0x007ff880, "rz", "ProofgunZ"] - - [0x007ff880, 0x007ffbd0, "rz", "PsafeZ"] - - [0x007ffbd0, 0x008000c0, "rz", "PsafedoorZ"] - - [0x008000c0, 0x00801630, "rz", "Psat1_reflectZ"] - - [0x00801630, 0x00801750, "rz", "PsatboxZ"] - - [0x00801750, 0x00801bb0, "rz", "PsatdishZ"] - - [0x00801bb0, 0x00801d50, "rz", "Psec_panelZ"] - - [0x00801d50, 0x00801fe0, "rz", "Psev_door3Z"] - - [0x00801fe0, 0x00802370, "rz", "Psev_door3_windZ"] - - [0x00802370, 0x00802750, "rz", "Psev_door4_windZ"] - - [0x00802750, 0x00802aa0, "rz", "Psev_doorZ"] - - [0x00802aa0, 0x00802dd0, "rz", "Psev_door_v1Z"] - - [0x00802dd0, 0x00803180, "rz", "Psev_trislideZ"] - - [0x00803180, 0x008040a0, "rz", "PsevdishZ"] - - [0x008040a0, 0x00804380, "rz", "PsevdoormetslideZ"] - - [0x00804380, 0x008044f0, "rz", "PsevdoornowindZ"] - - [0x008044f0, 0x00804920, "rz", "PsevdoorwindZ"] - - [0x00804920, 0x00804cd0, "rz", "PsevdoorwoodZ"] - - [0x00804cd0, 0x008076d0, "rz", "PshuttleZ"] - - [0x008076d0, 0x00808300, "rz", "Pshuttle_door_1Z"] - - [0x00808300, 0x00809000, "rz", "Pshuttle_door_rZ"] - - [0x00809000, 0x008091a0, "rz", "PsilencerZ"] - - [0x008091a0, 0x008093e0, "rz", "Psilo_lit_doorZ"] - - [0x008093e0, 0x008096d0, "rz", "PsilotopdoorZ"] - - [0x008096d0, 0x00809830, "rz", "PskorpionmagZ"] - - [0x00809830, 0x008099a0, "rz", "PspectremagZ"] - - [0x008099a0, 0x0080a6e0, "rz", "PspeedboatZ"] - - [0x0080a6e0, 0x0080d820, "rz", "Pst_pete_room_1Z"] - - [0x0080d820, 0x00810a00, "rz", "Pst_pete_room_2Z"] - - [0x00810a00, 0x00813940, "rz", "Pst_pete_room_3Z"] - - [0x00813940, 0x00816ed0, "rz", "Pst_pete_room_5Z"] - - [0x00816ed0, 0x0081a2e0, "rz", "Pst_pete_room_6Z"] - - [0x0081a2e0, 0x0081a550, "rz", "Psteel_door1Z"] - - [0x0081a550, 0x0081a800, "rz", "Psteel_door2Z"] - - [0x0081a800, 0x0081aad0, "rz", "Psteel_door2bZ"] - - [0x0081aad0, 0x0081ada0, "rz", "Psteel_door3Z"] - - [0x0081ada0, 0x0081b060, "rz", "Pstool1Z"] - - [0x0081b060, 0x0081b1f0, "rz", "Pswipe_card2Z"] - - [0x0081b1f0, 0x0081b480, "rz", "Pswivel_chair1Z"] - - [0x0081b480, 0x0081cf20, "rz", "PtankZ"] - - [0x0081cf20, 0x0081edb0, "rz", "PtigerZ"] - - [0x0081edb0, 0x0081f630, "rz", "Ptorpedo_rackZ"] - - [0x0081f630, 0x0081fa00, "rz", "Ptrain_door2Z"] - - [0x0081fa00, 0x0081fe20, "rz", "Ptrain_door3Z"] - - [0x0081fe20, 0x00820090, "rz", "Ptrain_doorZ"] - - [0x00820090, 0x008203d0, "rz", "PtrainextdoorZ"] - - [0x008203d0, 0x00820510, "rz", "Ptt33magZ"] - - [0x00820510, 0x00820a30, "rz", "Ptuning_console1Z"] - - [0x00820a30, 0x00820c00, "rz", "Ptv1Z"] - - [0x00820c00, 0x00820da0, "rz", "Ptv4screenZ"] - - [0x00820da0, 0x00821470, "rz", "Ptv_holderZ"] - - [0x00821470, 0x00821540, "rz", "PtvscreenZ"] - - [0x00821540, 0x00821680, "rz", "PuzimagZ"] - - [0x00821680, 0x00821c90, "rz", "PvertdoorZ"] - - [0x00821c90, 0x00823240, "rz", "PwalletbondZ"] - - [0x00823240, 0x00823330, "rz", "PwindowZ"] - - [0x00823330, 0x00823410, "rz", "Pwindow_cor11Z"] - - [0x00823410, 0x008234f0, "rz", "Pwindow_lib_lg1Z"] - - [0x008234f0, 0x008235e0, "rz", "Pwindow_lib_sm1Z"] - - [0x008235e0, 0x00823860, "rz", "Pwood_lg_crate1Z"] - - [0x00823860, 0x00823a80, "rz", "Pwood_lg_crate2Z"] - - [0x00823a80, 0x00823ca0, "rz", "Pwood_md_crate3Z"] - - [0x00823ca0, 0x00823f00, "rz", "Pwood_sm_crate4Z"] - - [0x00823f00, 0x00824160, "rz", "Pwood_sm_crate5Z"] - - [0x00824160, 0x00824380, "rz", "Pwood_sm_crate6Z"] - - [0x00824380, 0x008246f0, "rz", "Pwooden_table1Z"] - - [0x008246f0, 0x00824830, "rz", "PwppkmagZ"] - - [0x00824830, 0x00826160, "rz", "Tbg_ame_all_p_stanZ"] - - [0x00826160, 0x0082be50, "rz", "Tbg_arch_all_p_stanZ"] - - [0x0082be50, 0x008341a0, "rz", "Tbg_arec_all_p_stanZ"] - - [0x008341a0, 0x0083d160, "rz", "Tbg_ark_all_p_stanZ"] - - [0x0083d160, 0x0083ea90, "rz", "Tbg_ash_all_p_stanZ"] - - [0x0083ea90, 0x00844010, "rz", "Tbg_azt_all_p_stanZ"] - - [0x00844010, 0x00846740, "rz", "Tbg_cat_all_p_stanZ"] - - [0x00846740, 0x0084b630, "rz", "Tbg_cave_all_p_stanZ"] - - [0x0084b630, 0x0084df40, "rz", "Tbg_crad_all_p_stanZ"] - - [0x0084df40, 0x00850fb0, "rz", "Tbg_cryp_all_p_stanZ"] - - [0x00850fb0, 0x0085b390, "rz", "Tbg_dam_all_p_stanZ"] - - [0x0085b390, 0x008622d0, "rz", "Tbg_depo_all_p_stanZ"] - - [0x008622d0, 0x00868bc0, "rz", "Tbg_dest_all_p_stanZ"] - - [0x00868bc0, 0x008696d0, "rz", "Tbg_dish_all_p_stanZ"] - - [0x008696d0, 0x0086b000, "rz", "Tbg_imp_all_p_stanZ"] - - [0x0086b000, 0x00872150, "rz", "Tbg_jun_all_p_stanZ"] - - [0x00872150, 0x00872c10, "rz", "Tbg_len_all_p_stanZ"] - - [0x00872c10, 0x00874510, "rz", "Tbg_oat_all_p_stanZ"] - - [0x00874510, 0x00878ba0, "rz", "Tbg_pete_all_p_stanZ"] - - [0x00878ba0, 0x0087a970, "rz", "Tbg_ref_all_p_stanZ"] - - [0x0087a970, 0x0087c3f0, "rz", "Tbg_run_all_p_stanZ"] - - [0x0087c3f0, 0x008801c0, "rz", "Tbg_sev_all_p_stanZ"] - - [0x008801c0, 0x00885100, "rz", "Tbg_sevb_all_p_stanZ"] - - [0x00885100, 0x0088e430, "rz", "Tbg_sevx_all_p_stanZ"] - - [0x0088e430, 0x008974d0, "rz", "Tbg_silo_all_p_stanZ"] - - [0x008974d0, 0x0089c390, "rz", "Tbg_stat_all_p_stanZ"] - - [0x0089c390, 0x0089e760, "rz", "Tbg_tra_all_p_stanZ"] - - [0x0089e760, 0x0089e780, "rz", "UbriefarchZ"] - - [0x0089e780, 0x0089e7a0, "rz", "UbriefarkZ"] - - [0x0089e7a0, 0x0089e7c0, "rz", "UbriefaztZ"] - - [0x0089e7c0, 0x0089e7e0, "rz", "UbriefcaveZ"] - - [0x0089e7e0, 0x0089e800, "rz", "UbriefcontrolZ"] - - [0x0089e800, 0x0089e820, "rz", "UbriefcradZ"] - - [0x0089e820, 0x0089e840, "rz", "UbriefcrypZ"] - - [0x0089e840, 0x0089e860, "rz", "UbriefdamZ"] - - [0x0089e860, 0x0089e880, "rz", "UbriefdepoZ"] - - [0x0089e880, 0x0089e8a0, "rz", "UbriefdestZ"] - - [0x0089e8a0, 0x0089e8c0, "rz", "UbriefjunZ"] - - [0x0089e8c0, 0x0089e8e0, "rz", "UbriefpeteZ"] - - [0x0089e8e0, 0x0089e900, "rz", "UbriefrunZ"] - - [0x0089e900, 0x0089e920, "rz", "UbriefsevbZ"] - - [0x0089e920, 0x0089e940, "rz", "UbriefsevbunkerZ"] - - [0x0089e940, 0x0089e960, "rz", "UbriefsevxZ"] - - [0x0089e960, 0x0089e980, "rz", "UbriefsevxbZ"] - - [0x0089e980, 0x0089e9a0, "rz", "UbriefsiloZ"] - - [0x0089e9a0, 0x0089e9c0, "rz", "UbriefstatueZ"] - - [0x0089e9c0, 0x0089e9e0, "rz", "UbrieftraZ"] - - [0x0089e9e0, 0x0089f100, "rz", "Ump_setupameZ"] - - [0x0089f100, 0x008a1ea0, "rz", "Ump_setuparchZ"] - - [0x008a1ea0, 0x008a3be0, "rz", "Ump_setuparkZ"] - - [0x008a3be0, 0x008a42d0, "rz", "Ump_setupashZ"] - - [0x008a42d0, 0x008a6830, "rz", "Ump_setupcaveZ"] - - [0x008a6830, 0x008a7190, "rz", "Ump_setupcradZ"] - - [0x008a7190, 0x008a7ef0, "rz", "Ump_setupcrypZ"] - - [0x008a7ef0, 0x008a82e0, "rz", "Ump_setupdishZ"] - - [0x008a82e0, 0x008a8920, "rz", "Ump_setupimpZ"] - - [0x008a8920, 0x008a8c70, "rz", "Ump_setupoatZ"] - - [0x008a8c70, 0x008a9080, "rz", "Ump_setuprefZ"] - - [0x008a9080, 0x008aa390, "rz", "Ump_setupsevbZ"] - - [0x008aa390, 0x008ab210, "rz", "Ump_setupstatueZ"] - - [0x008ab210, 0x008af820, "rz", "UsetuparchZ"] - - [0x008af820, 0x008b33b0, "rz", "UsetuparkZ"] - - [0x008b33b0, 0x008b5cb0, "rz", "UsetupaztZ"] - - [0x008b5cb0, 0x008b9b10, "rz", "UsetupcaveZ"] - - [0x008b9b10, 0x008bd610, "rz", "UsetupcontrolZ"] - - [0x008bd610, 0x008bf240, "rz", "UsetupcradZ"] - - [0x008bf240, 0x008c10d0, "rz", "UsetupcrypZ"] - - [0x008c10d0, 0x008c53a0, "rz", "UsetupdamZ"] - - [0x008c53a0, 0x008c8330, "rz", "UsetupdepoZ"] - - [0x008c8330, 0x008ca680, "rz", "UsetupdestZ"] - - [0x008ca680, 0x008cdd80, "rz", "UsetupjunZ"] - - [0x008cdd80, 0x008ce350, "rz", "UsetuplenZ"] - - [0x008ce350, 0x008d12d0, "rz", "UsetuppeteZ"] - - [0x008d12d0, 0x008d2b30, "rz", "UsetuprunZ"] - - [0x008d2b30, 0x008d5190, "rz", "UsetupsevbZ"] - - [0x008d5190, 0x008d6bc0, "rz", "UsetupsevbunkerZ"] - - [0x008d6bc0, 0x008daed0, "rz", "UsetupsevxZ"] - - [0x008daed0, 0x008defc0, "rz", "UsetupsevxbZ"] - - [0x008defc0, 0x008e1a10, "rz", "UsetupsiloZ"] - - [0x008e1a10, 0x008e41e0, "rz", "UsetupstatueZ"] - - [0x008e41e0, 0x008e7410, "rz", "UsetuptraZ"] - - [0x008e7410, 0x008e7420, "ge_l", "LameE"] - - [0x008e7420, 0x008e7430, "ge_l", "LameJ"] - - [0x008e7430, 0x008e7a60, "ge_l", "LarchE"] - - [0x008e7a60, 0x008e80c0, "ge_l", "LarchJ"] - - [0x008e80c0, 0x008e8690, "ge_l", "LarecE"] - - [0x008e8690, 0x008e8c20, "ge_l", "LarecJ"] - - [0x008e8c20, 0x008e92c0, "ge_l", "LarkE"] - - [0x008e92c0, 0x008e9970, "ge_l", "LarkJ"] - - [0x008e9970, 0x008e9980, "ge_l", "LashE"] - - [0x008e9980, 0x008e9990, "ge_l", "LashJ"] - - [0x008e9990, 0x008e9dd0, "ge_l", "LaztE"] - - [0x008e9dd0, 0x008ea280, "ge_l", "LaztJ"] - - [0x008ea280, 0x008ea290, "ge_l", "LcatE"] - - [0x008ea290, 0x008ea2a0, "ge_l", "LcatJ"] - - [0x008ea2a0, 0x008ea6a0, "ge_l", "LcaveE"] - - [0x008ea6a0, 0x008eab00, "ge_l", "LcaveJ"] - - [0x008eab00, 0x008eafd0, "ge_l", "LcradE"] - - [0x008eafd0, 0x008eb480, "ge_l", "LcradJ"] - - [0x008eb480, 0x008eb6d0, "ge_l", "LcrypE"] - - [0x008eb6d0, 0x008eb990, "ge_l", "LcrypJ"] - - [0x008eb990, 0x008ebde0, "ge_l", "LdamE"] - - [0x008ebde0, 0x008ec250, "ge_l", "LdamJ"] - - [0x008ec250, 0x008ec5c0, "ge_l", "LdepoE"] - - [0x008ec5c0, 0x008ec900, "ge_l", "LdepoJ"] - - [0x008ec900, 0x008ecd90, "ge_l", "LdestE"] - - [0x008ecd90, 0x008ed1f0, "ge_l", "LdestJ"] - - [0x008ed1f0, 0x008ed200, "ge_l", "LdishE"] - - [0x008ed200, 0x008ed210, "ge_l", "LdishJ"] - - [0x008ed210, 0x008ed220, "ge_l", "LearE"] - - [0x008ed220, 0x008ed230, "ge_l", "LearJ"] - - [0x008ed230, 0x008ed240, "ge_l", "LeldE"] - - [0x008ed240, 0x008ed250, "ge_l", "LeldJ"] - - [0x008ed250, 0x008ed970, "ge_l", "LgunE"] - - [0x008ed970, 0x008ee0c0, "ge_l", "LgunJ"] - - [0x008ee0c0, 0x008ee0d0, "ge_l", "LimpE"] - - [0x008ee0d0, 0x008ee0e0, "ge_l", "LimpJ"] - - [0x008ee0e0, 0x008ee600, "ge_l", "LjunE"] - - [0x008ee600, 0x008eeb40, "ge_l", "LjunJ"] - - [0x008eeb40, 0x008eeb50, "ge_l", "LleeE"] - - [0x008eeb50, 0x008eeb60, "ge_l", "LleeJ"] - - [0x008eeb60, 0x008ef1a0, "ge_l", "LlenE"] - - [0x008ef1a0, 0x008ef450, "ge_l", "LlenJ"] - - [0x008ef450, 0x008ef460, "ge_l", "LlipE"] - - [0x008ef460, 0x008ef470, "ge_l", "LlipJ"] - - [0x008ef470, 0x008ef480, "ge_l", "LlueE"] - - [0x008ef480, 0x008ef490, "ge_l", "LlueJ"] - - [0x008ef490, 0x008ef730, "ge_l", "LmiscE"] - - [0x008ef730, 0x008efa10, "ge_l", "LmiscJ"] - - [0x008efa10, 0x008efbb0, "ge_l", "LmpmenuE"] - - [0x008efbb0, 0x008efd40, "ge_l", "LmpmenuJ"] - - [0x008efd40, 0x008efe00, "ge_l", "LmpweaponsE"] - - [0x008efe00, 0x008efee0, "ge_l", "LmpweaponsJ"] - - [0x008efee0, 0x008efef0, "ge_l", "LoatE"] - - [0x008efef0, 0x008eff00, "ge_l", "LoatJ"] - - [0x008eff00, 0x008f0130, "ge_l", "LoptionsE"] - - [0x008f0130, 0x008f0380, "ge_l", "LoptionsJ"] - - [0x008f0380, 0x008f0390, "ge_l", "LpamE"] - - [0x008f0390, 0x008f03a0, "ge_l", "LpamJ"] - - [0x008f03a0, 0x008f0820, "ge_l", "LpeteE"] - - [0x008f0820, 0x008f0c90, "ge_l", "LpeteJ"] - - [0x008f0c90, 0x008f0f30, "ge_l", "LpropobjE"] - - [0x008f0f30, 0x008f11f0, "ge_l", "LpropobjJ"] - - [0x008f11f0, 0x008f1200, "ge_l", "LrefE"] - - [0x008f1200, 0x008f1210, "ge_l", "LrefJ"] - - [0x008f1210, 0x008f1220, "ge_l", "LritE"] - - [0x008f1220, 0x008f1230, "ge_l", "LritJ"] - - [0x008f1230, 0x008f14a0, "ge_l", "LrunE"] - - [0x008f14a0, 0x008f1730, "ge_l", "LrunJ"] - - [0x008f1730, 0x008f1c90, "ge_l", "LsevE"] - - [0x008f1c90, 0x008f21a0, "ge_l", "LsevJ"] - - [0x008f21a0, 0x008f28f0, "ge_l", "LsevbE"] - - [0x008f28f0, 0x008f30e0, "ge_l", "LsevbJ"] - - [0x008f30e0, 0x008f3540, "ge_l", "LsevxE"] - - [0x008f3540, 0x008f3900, "ge_l", "LsevxJ"] - - [0x008f3900, 0x008f3d90, "ge_l", "LsevxbE"] - - [0x008f3d90, 0x008f41e0, "ge_l", "LsevxbJ"] - - [0x008f41e0, 0x008f41f0, "ge_l", "LshoE"] - - [0x008f41f0, 0x008f4200, "ge_l", "LshoJ"] - - [0x008f4200, 0x008f47b0, "ge_l", "LsiloE"] - - [0x008f47b0, 0x008f4d90, "ge_l", "LsiloJ"] - - [0x008f4d90, 0x008f56b0, "ge_l", "LstatE"] - - [0x008f56b0, 0x008f5f20, "ge_l", "LstatJ"] - - [0x008f5f20, 0x008f69e0, "ge_l", "LtitleE"] - - [0x008f69e0, 0x008f7570, "ge_l", "LtitleJ"] - - [0x008f7570, 0x008f79a0, "ge_l", "LtraE"] - - [0x008f79a0, 0x008f7dc0, "ge_l", "LtraJ"] - - [0x008f7dc0, 0x008f7dd0, "ge_l", "LwaxE"] - - [0x008f7dd0, 0x008f7de0, "ge_l", "LwaxJ"] - - [0x008f7de0, 0x008f7df0, "bin", "ob__ob_end.seg"] - - [0x008f7df0, 0x00BE6D10, "bin", "images"] - - [0x00C00000, 0x00C022B4, "bin", "rspcode"] - - [0xC022B4, 0xC022B8, "ptr", "unknown_init_val"] - - [0xC022B8, 0xC022BC, "ptr", "cart_hw_address"] - - [0xC022BC, 0xC022EC, "ptr", "debug_handler_table"] - - [0xC022EC, 0xC02304, "ptr", "debug_handler_table_end"] - - [0xC02304, 0xC02308, "ptr", "stderr_enable"] - - [0xC02308, 0xC0230C, "ptr", "stderr_activated"] - - [0xC0230C, 0xC02310, "ptr", "stderr_permitted"] - - [0xC02310, 0xC02314, "ptr", "display_usercompare"] - - [0xC02314, 0xC02318, "ptr", "currentcount"] - - [0xC02318, 0xC0231C, "ptr", "setby_DPCfill_0"] - - [0xC0231C, 0xC02320, "ptr", "setby_DPCfill_1"] - - [0xC02320, 0xC0232C, "ptr", "somthing_with_osVI"] - - [0xC0232C, 0xC0233C, "ptr", "D_800230BC"] - - [0xC0233C, 0xC02340, "ptr", "D_800230CC"] - - [0xC02340, 0xC02344, "ptr", "D_800230D0"] - - [0xC02344, 0xC02350, "ptr", "tlb_segment_num"] - - [0xC02350, 0xC02364, "ptr", "D_800230E0"] - - [0xC02364, 0xC02368, "ptr", "D_800230F4"] - - [0xC02368, 0xC0236C, "ptr", "D_800230F8"] - - [0xC0236C, 0xC02370, "ptr", "D_800230FC"] - - [0xC02370, 0xC02418, "ptr", "D_80023100"] - - [0xC02418, 0xC02438, "ptr", "D_800231A8"] - - [0xC02438, 0xC02444, "ptr", "D_800231C8"] - - [0xC02444, 0xC02494, "ptr", "D_800231D4"] - - [0xC02494, 0xC02498, "ptr", "D_80023224"] - - [0xC02498, 0xC0249C, "ptr", "D_80023228"] - - [0xC0249C, 0xC024A0, "ptr", "D_8002322C"] - - [0xC024A0, 0xC024A4, "ptr", "counterforframes"] - - [0xC024A4, 0xC024B4, "ptr", "D_80023234"] - - [0xC024B4, 0xC024E0, "ptr", "video1_settings"] - - [0xC024E0, 0xC0250C, "ptr", "video2_settings"] - - [0xC0250C, 0xC02510, "ptr", "D_8002329C"] - - [0xC02510, 0xC02514, "ptr", "D_800232A0"] - - [0xC02514, 0xC02518, "ptr", "ptr_video1_settings"] - - [0xC02518, 0xC0251C, "ptr", "ptr_video2_settings"] - - [0xC0251C, 0xC02520, "ptr", "coloroutputmode"] - - [0xC02520, 0xC02524, "ptr", "D_800232B0"] - - [0xC02524, 0xC02528, "ptr", "D_800232B4"] - - [0xC02528, 0xC0252C, "ptr", "D_800232B8"] - - [0xC0252C, 0xC0252F, "ptr", "D_800232BC"] - - [0xC0252F, 0xC02530, "ptr", "D_800232BF"] - - [0xC02530, 0xC02534, "ptr", "D_800232C0"] - - [0xC02534, 0xC02538, "ptr", "jpg_16bit_grabnum"] - - [0xC02538, 0xC0253C, "ptr", "jpg_32bit_grabnum"] - - [0xC0253C, 0xC02540, "ptr", "rgb_16bit_grabnum"] - - [0xC02540, 0xC02550, "ptr", "rgb_32bit_grabnum"] - - [0xC02550, 0xC02558, "ptr", "D_800232E0"] - - [0xC02558, 0xC02568, "ptr", "D_800232E8"] - - [0xC02568, 0xC02574, "ptr", "D_800232F8"] - - [0xC02574, 0xC0294C, "ptr", "debug_processor_error_table"] - - [0xC0294C, 0xC02950, "ptr", "ptr_sp_rmon_0"] - - [0xC02950, 0xC02954, "ptr", "ptr_sp_idle_0"] - - [0xC02954, 0xC02958, "ptr", "ptr_sp_shed_0"] - - [0xC02958, 0xC0295C, "ptr", "ptr_sp_main_0"] - - [0xC0295C, 0xC02960, "ptr", "ptr_sp_audi_0"] - - [0xC02960, 0xC02964, "ptr", "ptr_sp_idle_1"] - - [0xC02964, 0xC02968, "ptr", "ptr_sp_shed_1"] - - [0xC02968, 0xC0296C, "ptr", "ptr_sp_main_1"] - - [0xC0296C, 0xC02970, "ptr", "ptr_sp_audi_1"] - - [0xC02970, 0xC02974, "ptr", "ptr_sp_debug_0"] - - [0xC02974, 0xC02978, "ptr", "ptr_sp_rmon_1"] - - [0xC02978, 0xC0297C, "ptr", "ptr_sp_idle_2"] - - [0xC0297C, 0xC02980, "ptr", "ptr_sp_shed_2"] - - [0xC02980, 0xC02984, "ptr", "ptr_sp_main_2"] - - [0xC02984, 0xC02988, "ptr", "ptr_sp_audi_2"] - - [0xC02988, 0xC03148, "ptr", "stderr_buffer"] - - [0xC03148, 0xC03220, "ptr", "D_80023ED8"] - - [0xC03220, 0xC03221, "ptr", "D_80023FB0"] - - [0xC03221, 0xC03268, "ptr", "D_80023FB1"] - - [0xC03268, 0xC0326C, "ptr", "D_80023FF8"] - - [0xC0326C, 0xC03270, "ptr", "D_80023FFC"] - - [0xC03270, 0xC033EC, "ptr", "std_error_font_bitcode"] - - [0xC033EC, 0xC033F0, "ptr", "ptr_videobuffer1"] - - [0xC033F0, 0xC03410, "ptr", "ptr_videobuffer2"] - - [0xC03410, 0xC03414, "ptr", "boss_c_ptr_debug_notice_list_entry"] - - [0xC03414, 0xC03418, "ptr", "debug_and_update_stage_flag"] - - [0xC03418, 0xC0341C, "ptr", "current_stage_num"] - - [0xC0341C, 0xC03420, "ptr", "current_m_malloc_value"] - - [0xC03420, 0xC03424, "ptr", "current_ma_malloc_value"] - - [0xC03424, 0xC03428, "ptr", "show_mem_use_flag"] - - [0xC03428, 0xC0342C, "ptr", "show_mem_bars_flag"] - - [0xC0342C, 0xC0356C, "ptr", "memallocstringtable"] - - [0xC0356C, 0xC03570, "ptr", "loadedstage"] - - [0xC03570, 0xC03574, "ptr", "debug_feature_flag"] - - [0xC03574, 0xC03578, "ptr", "D_80024304"] - - [0xC03578, 0xC0357C, "ptr", "D_80024308"] - - [0xC0357C, 0xC03580, "ptr", "D_8002430C"] - - [0xC03580, 0xC03584, "ptr", "D_80024310"] - - [0xC03584, 0xC03588, "ptr", "D_80024314"] - - [0xC03588, 0xC0358C, "ptr", "D_80024318"] - - [0xC0358C, 0xC03590, "ptr", "D_8002431C"] - - [0xC03590, 0xC03594, "ptr", "D_80024320"] - - [0xC03594, 0xC035A4, "ptr", "u64_taskgrab_num"] - - [0xC035A4, 0xC035A8, "ptr", "music1_track_num"] - - [0xC035A8, 0xC035AC, "ptr", "music1len"] - - [0xC035AC, 0xC035B0, "ptr", "music2_track_num"] - - [0xC035B0, 0xC035B4, "ptr", "music2len"] - - [0xC035B4, 0xC035B8, "ptr", "music3_track_num"] - - [0xC035B8, 0xC035BC, "ptr", "music3len"] - - [0xC035BC, 0xC035C0, "ptr", "music1_playing"] - - [0xC035C0, 0xC035C4, "ptr", "music2_playing"] - - [0xC035C4, 0xC035C8, "ptr", "music3_playing"] - - [0xC035C8, 0xC035CA, "ptr", "music_tempo_maybe"] - - [0xC035CA, 0xC03654, "ptr", "music_related_array"] - - [0xC03654, 0xC03658, "ptr", "D_800243E4"] - - [0xC03658, 0xC0365C, "ptr", "D_800243E8"] - - [0xC0365C, 0xC03660, "ptr", "D_800243EC"] - - [0xC03660, 0xC03664, "ptr", "D_800243F0"] - - [0xC03664, 0xC03668, "ptr", "D_800243F4"] - - [0xC03668, 0xC0366C, "ptr", "bootswitch_sound"] - - [0xC0366C, 0xC03670, "ptr", "D_800243FC"] - - [0xC03670, 0xC03674, "ptr", "D_80024400"] - - [0xC03674, 0xC03684, "ptr", "tied_to_mem_management"] - - [0xC03684, 0xC03688, "ptr", "D_80024414"] - - [0xC03688, 0xC0368C, "ptr", "D_80024418"] - - [0xC0368C, 0xC03690, "ptr", "D_8002441C"] - - [0xC03690, 0xC03694, "ptr", "D_80024420"] - - [0xC03694, 0xC03698, "ptr", "D_80024424"] - - [0xC03698, 0xC0369C, "ptr", "D_80024428"] - - [0xC0369C, 0xC036A0, "ptr", "D_8002442C"] - - [0xC036A0, 0xC036A4, "ptr", "D_80024430"] - - [0xC036A4, 0xC036A8, "ptr", "D_80024434"] - - [0xC036A8, 0xC036AC, "ptr", "D_80024438"] - - [0xC036AC, 0xC036B0, "ptr", "D_8002443C"] - - [0xC036B0, 0xC036B4, "ptr", "D_80024440"] - - [0xC036B4, 0xC036B8, "ptr", "D_80024444"] - - [0xC036B8, 0xC036BC, "ptr", "D_80024448"] - - [0xC036BC, 0xC036C0, "ptr", "D_8002444C"] - - [0xC036C0, 0xC036D0, "ptr", "D_80024450"] - - [0xC036D0, 0xC036E0, "ptr", "randseed"] - - [0xC036E0, 0xC036E4, "ptr", "strstr_numstings"] - - [0xC036E4, 0xC036E8, "ptr", "strstr_ptrcurrent_string"] - - [0xC036E8, 0xC03770, "ptr", "D_80024478"] - - [0xC03770, 0xC03788, "ptr", "D_80024500"] - - [0xC03788, 0xC04210, "ptr", "start_resource"] - - [0xC04210, 0xC04214, "ptr", "debug_menu_x_pos_offset"] - - [0xC04214, 0xC04218, "ptr", "debug_menu_y_pos_offset"] - - [0xC04218, 0xC0421C, "ptr", "debug_menu_x_text_pos"] - - [0xC0421C, 0xC04220, "ptr", "debug_menu_y_text_pos"] - - [0xC04220, 0xC042A0, "ptr", "stdout_display_list"] - - [0xC042A0, 0xC05880, "ptr", "stdout_debug_menu_screen_buffer"] - - [0xC05880, 0xC05980, "ptr", "stdout_primary_color_table"] - - [0xC05980, 0xC05A80, "ptr", "stdout_environment_color_table"] - - [0xC05A80, 0xC05B08, "ptr", "string_formatting"] - - [0xC05B08, 0xC05B10, "ptr", "end_displaylist_command"] - - [0xC05B10, 0xC05B18, "ptr", "blank_C0_command"] - - [0xC05B18, 0xC05B1C, "ptr", "stdout_primary_color"] - - [0xC05B1C, 0xC05B20, "ptr", "debug_text_color"] - - [0xC05B20, 0xC05B24, "ptr", "debug_text_bg_color"] - - [0xC05B24, 0xC05B28, "ptr", "speedgraph_color"] - - [0xC05B28, 0xC05B30, "ptr", "D_800268B8"] - - [0xC05B30, 0xC05B34, "ptr", "D_800268C0"] - - [0xC05B34, 0xC05B38, "ptr", "ptr_current_point_in_controller_input_index"] - - [0xC05B38, 0xC05B3C, "ptr", "D_800268C8"] - - [0xC05B3C, 0xC05B40, "ptr", "D_800268CC"] - - [0xC05B40, 0xC05B44, "ptr", "num_controller_plugged_in_flags"] - - [0xC05B44, 0xC05B48, "ptr", "num_controller_plugged_in_flags_0"] - - [0xC05B48, 0xC05B4C, "ptr", "controller_1_rumble_inserted"] - - [0xC05B4C, 0xC05B50, "ptr", "controller_2_rumble_inserted"] - - [0xC05B50, 0xC05B54, "ptr", "controller_3_rumble_inserted"] - - [0xC05B54, 0xC05B58, "ptr", "controller_4_rumble_inserted"] - - [0xC05B58, 0xC05B5C, "ptr", "controller_1_rumble_state"] - - [0xC05B5C, 0xC05B60, "ptr", "controller_2_rumble_state"] - - [0xC05B60, 0xC05B64, "ptr", "controller_3_rumble_state"] - - [0xC05B64, 0xC05B68, "ptr", "controller_4_rumble_state"] - - [0xC05B68, 0xC05B6C, "ptr", "controller_1_rumble_duration"] - - [0xC05B6C, 0xC05B70, "ptr", "controller_2_rumble_duration"] - - [0xC05B70, 0xC05B74, "ptr", "controller_3_rumble_duration"] - - [0xC05B74, 0xC05B78, "ptr", "controller_4_rumble_duration"] - - [0xC05B78, 0xC05B7C, "ptr", "controller_1_rumble_pulse"] - - [0xC05B7C, 0xC05B80, "ptr", "controller_2_rumble_pulse"] - - [0xC05B80, 0xC05B84, "ptr", "controller_3_rumble_pulse"] - - [0xC05B84, 0xC05B88, "ptr", "controller_4_rumble_pulse"] - - [0xC05B88, 0xC05B8C, "ptr", "D_80026918"] - - [0xC05B8C, 0xC05B90, "ptr", "D_8002691C"] - - [0xC05B90, 0xC05B94, "ptr", "D_80026920"] - - [0xC05B94, 0xC05B98, "ptr", "disable_all_rumble"] - - [0xC05B98, 0xC05B9C, "ptr", "ptr_to_tlb_ramrom_record"] - - [0xC05B9C, 0xC05BA0, "ptr", "D_8002692C"] - - [0xC05BA0, 0xC05BA4, "ptr", "pl1_controller_failure_lr"] - - [0xC05BA4, 0xC05BA8, "ptr", "pl2_controller_failure_lr"] - - [0xC05BA8, 0xC05BAC, "ptr", "pl3_controller_failure_lr"] - - [0xC05BAC, 0xC05BB0, "ptr", "pl4_controller_failure_lr"] - - [0xC05BB0, 0xC05BB4, "ptr", "pl1_controller_failure_ud"] - - [0xC05BB4, 0xC05BB8, "ptr", "pl2_controller_failure_ud"] - - [0xC05BB8, 0xC05BBC, "ptr", "pl3_controller_failure_ud"] - - [0xC05BBC, 0xC05BC0, "ptr", "pl4_controller_failure_ud"] - - [0xC05BC0, 0xC05BC4, "ptr", "pl1_controller_failure_held"] - - [0xC05BC4, 0xC05BC8, "ptr", "pl2_controller_failure_held"] - - [0xC05BC8, 0xC05BCC, "ptr", "pl3_controller_failure_held"] - - [0xC05BCC, 0xC05BD0, "ptr", "pl4_controller_failure_held"] - - [0xC05BD0, 0xC05BD4, "ptr", "pl1_controller_failure_pressed"] - - [0xC05BD4, 0xC05BD8, "ptr", "pl2_controller_failure_pressed"] - - [0xC05BD8, 0xC05BDC, "ptr", "pl3_controller_failure_pressed"] - - [0xC05BDC, 0xC05BE0, "ptr", "pl4_controller_failure_pressed"] - - [0xC05BE0, 0xC05BF0, "ptr", "D_80026970"] - - [0xC05BF0, 0xC05BF8, "ptr", "osClockRate"] - - [0xC05BF8, 0xC05BFC, "ptr", "__osShutdown"] - - [0xC05BFC, 0xC05C00, "ptr", "__OSGlobalIntMask"] - - [0xC05C00, 0xC05C10, "ptr", "osDiskExist"] - - [0xC05C10, 0xC05C14, "ptr", "__osViDevMgr"] - - [0xC05C14, 0xC05C18, "ptr", "D_800269A4"] - - [0xC05C18, 0xC05C1C, "ptr", "D_800269A8"] - - [0xC05C1C, 0xC05C20, "ptr", "D_800269AC"] - - [0xC05C20, 0xC05C24, "ptr", "D_800269B0"] - - [0xC05C24, 0xC05C28, "ptr", "D_800269B4"] - - [0xC05C28, 0xC05C30, "ptr", "D_800269B8"] - - [0xC05C30, 0xC05CD0, "ptr", "D_800269C0"] - - [0xC05CD0, 0xC05E10, "ptr", "D_80026A60"] - - [0xC05E10, 0xC05FA0, "ptr", "D_80026BA0"] - - [0xC05FA0, 0xC06590, "ptr", "D_80026D30"] - - [0xC06590, 0xC066D0, "ptr", "D_80027320"] - - [0xC066D0, 0xC06860, "ptr", "D_80027460"] - - [0xC06860, 0xC06950, "ptr", "D_800275F0"] - - [0xC06950, 0xC06960, "ptr", "D_800276E0"] - - [0xC06960, 0xC06974, "ptr", "D_800276F0"] - - [0xC06974, 0xC06990, "ptr", "D_80027704"] - - [0xC06990, 0xC06994, "ptr", "__osThreadTail"] - - [0xC06994, 0xC06998, "ptr", "D_80027724"] - - [0xC06998, 0xC0699C, "ptr", "__osRunQueue"] - - [0xC0699C, 0xC069A0, "ptr", "__osActiveQueue"] - - [0xC069A0, 0xC069A4, "ptr", "__osRunningThread"] - - [0xC069A4, 0xC069B0, "ptr", "__osFaultedThread_0"] - - [0xC069B0, 0xC069D4, "ptr", "stdout_bg_alpha"] - - [0xC069D4, 0xC06A00, "ptr", "stdout_fg_alpha"] - - [0xC06A00, 0xC06A04, "ptr", "__osPiDevMgr"] - - [0xC06A04, 0xC06A08, "ptr", "ptr_piThread"] - - [0xC06A08, 0xC06A0C, "ptr", "cmdQ"] - - [0xC06A0C, 0xC06A10, "ptr", "ptr_pieventQueue"] - - [0xC06A10, 0xC06A14, "ptr", "ptr___osPiAccessQueue"] - - [0xC06A14, 0xC06A18, "ptr", "ptr_PiRawStartDma"] - - [0xC06A18, 0xC06A1C, "ptr", "ptr_EPiRawStartDma"] - - [0xC06A1C, 0xC06A20, "ptr", "D_800277AC"] - - [0xC06A20, 0xC06A30, "ptr", "__osContinitialized"] - - [0xC06A30, 0xC06A40, "ptr", "__osSiAccessQueueEnabled"] - - [0xC06A40, 0xC07240, "ptr", "sin_table"] - - [0xC07240, 0xC07250, "ptr", "__osTimerList"] - - [0xC07250, 0xC07280, "ptr", "buffer1"] - - [0xC07280, 0xC072B0, "ptr", "buffer2"] - - [0xC072B0, 0xC072B4, "ptr", "__osViCurr"] - - [0xC072B4, 0xC072B8, "ptr", "__osViNext"] - - [0xC072B8, 0xC072BC, "ptr", "D_80028048"] - - [0xC072BC, 0xC072C0, "ptr", "osViClock"] - - [0xC072C0, 0xC072E8, "ptr", "soundtable1"] - - [0xC072E8, 0xC07310, "ptr", "soundtable2"] - - [0xC07310, 0xC07338, "ptr", "soundtable3"] - - [0xC07338, 0xC07360, "ptr", "soundtable4"] - - [0xC07360, 0xC07388, "ptr", "soundtable5"] - - [0xC07388, 0xC073B0, "ptr", "soundtable6"] - - [0xC073B0, 0xC073D8, "ptr", "soundtable7"] - - [0xC073D8, 0xC07400, "ptr", "soundtable8"] - - [0xC07400, 0xC07428, "ptr", "soundtable9"] - - [0xC07428, 0xC07550, "ptr", "soundtableA"] - - [0xC07550, 0xC07560, "ptr", "__osPiAccessQueueEnabled"] - - [0xC07560, 0xC07574, "ascii", "alowercase_hex_char"] - - [0xC07574, 0xC07590, "ascii", "auppercase_hex_char"] - - [0xC07590, 0xC075E0, "ptr", "vi_settings_1"] - - [0xC075E0, 0xC07640, "ptr", "vi_settings_2"] - - [0xC07640, 0xC07648, "ascii", "aBoot"] - - [0xC07648, 0xC07650, "ascii", "aRmon"] - - [0xC07650, 0xC07658, "ascii", "aIdle"] - - [0xC07658, 0xC07660, "ascii", "aShed"] - - [0xC07660, 0xC07668, "ascii", "aMain"] - - [0xC07668, 0xC07670, "ascii", "aAudi"] - - [0xC07670, 0xC07690, "ptr", "jpt_80001674"] - - [0xC07690, 0xC076A0, "ascii", "aUtz2_0f"] - - [0xC076A0, 0xC076B0, "ascii", "aRsp2_0f"] - - [0xC076B0, 0xC076BC, "ascii", "aTex2_0f"] - - [0xC076BC, 0xC076C4, "ascii", "a2dHz"] - - [0xC076C4, 0xC076D0, "ascii", "a2dFrames"] - - [0xC076D0, 0xC076D8, "ascii", "a2d"] - - [0xC076D8, 0xC076E0, "ptr", "D_80028468"] - - [0xC076E0, 0xC076F8, "ascii", "aIL0"] - - [0xC076F8, 0xC07700, "ptr", "heights_80028488"] - - [0xC07700, 0xC07710, "ascii", "aGrab_D_jpeg_1"] - - [0xC07710, 0xC07724, "ascii", "aGrab_D_temp_uix"] - - [0xC07724, 0xC07740, "ascii", "aUix2pixGrab_D_temp_uix"] - - [0xC07740, 0xC0776C, "ascii", "aFromaliasGrab_D_temp_pixGrab_D_tem"] - - [0xC0776C, 0xC0779C, "ascii", "aImgcopyFjfifGrab_D_temp_rgbGrab_D_"] - - [0xC0779C, 0xC077D4, "ascii", "aRmGrab_D_temp_uixGrab_D_temp_pixGr"] - - [0xC077D4, 0xC077EC, "ascii", "aImgviewGrab_D_jpeg"] - - [0xC077EC, 0xC077FC, "ascii", "aGrab_D_jpeg"] - - [0xC077FC, 0xC07810, "ascii", "aGrab_D_temp_uix_0"] - - [0xC07810, 0xC07830, "ascii", "aUix2pixXsDGrab_D_temp_uix"] - - [0xC07830, 0xC0785C, "ascii", "aFromaliasGrab_D_temp_pixGrab_D_t_0"] - - [0xC0785C, 0xC0788C, "ascii", "aImgcopyFjfifGrab_D_temp_rgbGrab__0"] - - [0xC0788C, 0xC078C4, "ascii", "aRmGrab_D_temp_uixGrab_D_temp_pix_0"] - - [0xC078C4, 0xC078DC, "ascii", "aImgviewGrab_D_jpeg_0"] - - [0xC078DC, 0xC078E8, "ascii", "aGrab_D_rgb"] - - [0xC078E8, 0xC078FC, "ascii", "aGrab_D_temp_uix_1"] - - [0xC078FC, 0xC07918, "ascii", "aUix2pixGrab_D_temp_uix_0"] - - [0xC07918, 0xC07940, "ascii", "aFromaliasGrab_D_temp_pixGrab_D_rgb"] - - [0xC07940, 0xC07968, "ascii", "aRmGrab_D_temp_uixGrab_D_temp_pix"] - - [0xC07968, 0xC0797C, "ascii", "aImgviewGrab_D_rgb"] - - [0xC0797C, 0xC07988, "ascii", "aGrab_D_rgb_0"] - - [0xC07988, 0xC0799C, "ascii", "aGrab_D_temp_uix_2"] - - [0xC0799C, 0xC079BC, "ascii", "aUix2pixXsDGrab_D_temp_uix_0"] - - [0xC079BC, 0xC079E4, "ascii", "aFromaliasGrab_D_temp_pixGrab_D_r_0"] - - [0xC079E4, 0xC07A0C, "ascii", "aRmGrab_D_temp_uixGrab_D_temp_pix_1"] - - [0xC07A0C, 0xC07A20, "ascii", "aImgviewGrab_D_rgb_0"] - - [0xC07A20, 0xC07A30, "ascii", "aDeb_c_debug"] - - [0xC07A30, 0xC07A34, "ascii", "aBd"] - - [0xC07A34, 0xC07A38, "ascii", "aIp8"] - - [0xC07A38, 0xC07A3C, "ascii", "aIp7"] - - [0xC07A3C, 0xC07A40, "ascii", "aIp6"] - - [0xC07A40, 0xC07A44, "ascii", "aIp5"] - - [0xC07A44, 0xC07A48, "ascii", "aIp4"] - - [0xC07A48, 0xC07A4C, "ascii", "aIp3"] - - [0xC07A4C, 0xC07A50, "ascii", "aIp2"] - - [0xC07A50, 0xC07A54, "ascii", "aIp1"] - - [0xC07A54, 0xC07A58, "ascii", "aInt"] - - [0xC07A58, 0xC07A60, "ascii", "aTlbmod"] - - [0xC07A60, 0xC07A68, "ascii", "aTlbload"] - - [0xC07A68, 0xC07A74, "ascii", "aTlbstore"] - - [0xC07A74, 0xC07AA0, "ascii", "aAddressErrorOnLoadOrInstructionFet"] - - [0xC07AA0, 0xC07AB8, "ascii", "aAddressErrorOnStore"] - - [0xC07AB8, 0xC07AE4, "ascii", "aBusErrorExceptionOnInstructionFetc"] - - [0xC07AE4, 0xC07B0C, "ascii", "aBusErrorExceptionOnDataReference"] - - [0xC07B0C, 0xC07B14, "ascii", "aSyscall"] - - [0xC07B14, 0xC07B18, "ascii", "aBrk"] - - [0xC07B18, 0xC07B30, "ascii", "aReservedInstruction"] - - [0xC07B30, 0xC07B40, "ascii", "aCopUnusable"] - - [0xC07B40, 0xC07B4C, "ascii", "aOverflow"] - - [0xC07B4C, 0xC07B54, "ascii", "aTrap"] - - [0xC07B54, 0xC07B84, "ascii", "aVirtualCoherencyExceptionOnIntruct"] - - [0xC07B84, 0xC07B94, "ascii", "aFpException"] - - [0xC07B94, 0xC07BA0, "ascii", "aWatchpoint"] - - [0xC07BA0, 0xC07BD0, "ascii", "aVirtualCoherencyExceptionOnDataRef"] - - [0xC07BD0, 0xC07BD4, "ascii", "aExceptionNULL_0"] - - [0xC07BD4, 0xC07BD8, "ascii", "aCu3"] - - [0xC07BD8, 0xC07BDC, "ascii", "aCu2"] - - [0xC07BDC, 0xC07BE0, "ascii", "aCu1"] - - [0xC07BE0, 0xC07BE4, "ascii", "aCu0"] - - [0xC07BE4, 0xC07BE8, "ascii", "aRp"] - - [0xC07BE8, 0xC07BEC, "ascii", "aFr"] - - [0xC07BEC, 0xC07BF0, "ascii", "aRe"] - - [0xC07BF0, 0xC07BF4, "ascii", "aBev"] - - [0xC07BF4, 0xC07BF8, "ascii", "aTs"] - - [0xC07BF8, 0xC07BFC, "ascii", "aSr"] - - [0xC07BFC, 0xC07C00, "ascii", "aCh"] - - [0xC07C00, 0xC07C04, "ascii", "aCe"] - - [0xC07C04, 0xC07C08, "ascii", "aDe"] - - [0xC07C08, 0xC07C0C, "ascii", "aIm8"] - - [0xC07C0C, 0xC07C10, "ascii", "aIm7"] - - [0xC07C10, 0xC07C14, "ascii", "aIm6"] - - [0xC07C14, 0xC07C18, "ascii", "aIm5"] - - [0xC07C18, 0xC07C1C, "ascii", "aIm4"] - - [0xC07C1C, 0xC07C20, "ascii", "aIm3"] - - [0xC07C20, 0xC07C24, "ascii", "aIm2"] - - [0xC07C24, 0xC07C28, "ascii", "aIm1"] - - [0xC07C28, 0xC07C2C, "ascii", "aKx"] - - [0xC07C2C, 0xC07C30, "ascii", "aSx"] - - [0xC07C30, 0xC07C34, "ascii", "aUx"] - - [0xC07C34, 0xC07C38, "ascii", "aUsr"] - - [0xC07C38, 0xC07C3C, "ascii", "aSup"] - - [0xC07C3C, 0xC07C40, "ascii", "aKer"] - - [0xC07C40, 0xC07C44, "ascii", "aErl"] - - [0xC07C44, 0xC07C48, "ascii", "aExl"] - - [0xC07C48, 0xC07C4C, "ascii", "aIe"] - - [0xC07C4C, 0xC07C50, "ascii", "aExceptionNULL_1"] - - [0xC07C50, 0xC07C54, "ascii", "aFs"] - - [0xC07C54, 0xC07C58, "ascii", "aC_1"] - - [0xC07C58, 0xC07C68, "ascii", "aUnimplemented"] - - [0xC07C68, 0xC07C74, "ascii", "aInvalidOp"] - - [0xC07C74, 0xC07C80, "ascii", "aBy0_0"] - - [0xC07C80, 0xC07C8C, "ascii", "aOverflow_0"] - - [0xC07C8C, 0xC07C98, "ascii", "aUnderflow"] - - [0xC07C98, 0xC07CA4, "ascii", "aInexactOp"] - - [0xC07CA4, 0xC07CA8, "ascii", "aEv"] - - [0xC07CA8, 0xC07CAC, "ascii", "aEz"] - - [0xC07CAC, 0xC07CB0, "ascii", "aEo"] - - [0xC07CB0, 0xC07CB4, "ascii", "aEu"] - - [0xC07CB4, 0xC07CB8, "ascii", "aEi"] - - [0xC07CB8, 0xC07CBC, "ascii", "aFv"] - - [0xC07CBC, 0xC07CC0, "ascii", "aFz"] - - [0xC07CC0, 0xC07CC4, "ascii", "aFo"] - - [0xC07CC4, 0xC07CC8, "ascii", "aFu"] - - [0xC07CC8, 0xC07CCC, "ascii", "aFi"] - - [0xC07CCC, 0xC07CD0, "ascii", "aRn"] - - [0xC07CD0, 0xC07CD4, "ascii", "aRz"] - - [0xC07CD4, 0xC07CD8, "ascii", "aRp_1"] - - [0xC07CD8, 0xC07CDC, "ascii", "aRm"] - - [0xC07CDC, 0xC07CE0, "ascii", "aExceptionNULL"] - - [0xC07CE0, 0xC07D0C, "ascii", "aMl0Me0Mgfx70Mvtx50Mt625Ma275"] - - [0xC07D0C, 0xC07D38, "ascii", "aMl0Me0Mgfx70Mvtx50Mt650Ma160"] - - [0xC07D38, 0xC07D64, "ascii", "aMl0Me0Mgfx100Mvtx50Mt610Ma300"] - - [0xC07D64, 0xC07D90, "ascii", "aMl0Me0Mgfx70Mvtx50Mt600Ma300"] - - [0xC07D90, 0xC07DBC, "ascii", "aMl0Me0Mgfx100Mvtx50Mt700Ma150"] - - [0xC07DBC, 0xC07DE8, "ascii", "aMl0Me0Mgfx70Mvtx50Mt660Ma150"] - - [0xC07DE8, 0xC07E14, "ascii", "aMl0Me0Mgfx70Mvtx50Mt750Ma225"] - - [0xC07E14, 0xC07E40, "ascii", "aMl0Me0Mgfx100Mvtx50Mt550Ma350"] - - [0xC07E40, 0xC07E6C, "ascii", "aMl0Me0Mgfx100Mvtx50Mt725Ma150"] - - [0xC07E6C, 0xC07E98, "ascii", "aMl0Me0Mgfx70Mvtx50Mt750Ma220"] - - [0xC07E98, 0xC07EC4, "ascii", "aMl0Me0Mgfx70Mvtx50Mt600Ma250"] - - [0xC07EC4, 0xC07EF0, "ascii", "aMl0Me0Mgfx60Mvtx40Mt635Ma290"] - - [0xC07EF0, 0xC07F1C, "ascii", "aMl0Me0Mgfx60Mvtx50Mt710Ma300"] - - [0xC07F1C, 0xC07F48, "ascii", "aMl0Me0Mgfx100Mvtx50Mt600Ma200"] - - [0xC07F48, 0xC07F74, "ascii", "aMl0Me0Mgfx70Mvtx50Mt500Ma200"] - - [0xC07F74, 0xC07FA0, "ascii", "aMl0Me0Mgfx70Mvtx50Mt671Ma200"] - - [0xC07FA0, 0xC07FCC, "ascii", "aMl0Me0Mgfx100Mvtx50Mt650Ma250"] - - [0xC07FCC, 0xC07FF8, "ascii", "aMl0Me0Mgfx100Mvtx50Mt530Ma250"] - - [0xC07FF8, 0xC08024, "ascii", "aMl0Me0Mgfx60Mvtx40Mt855Ma135"] - - [0xC08024, 0xC08050, "ascii", "aMl0Me0Mgfx100Mvtx50Mt600Ma250"] - - [0xC08050, 0xC0807C, "ascii", "aMl0Me0Mgfx100Mvtx50Mt650Ma150"] - - [0xC0807C, 0xC080A8, "ascii", "aMl0Me0Mgfx100Mvtx50Mt300Ma300"] - - [0xC080A8, 0xC080D0, "ascii", "aMl0Me0Mgfx80Mvtx20Mt646Ma001"] - - [0xC080D0, 0xC080F8, "ascii", "aMl0Me0Mgfx60Mvtx20Mt500Ma001"] - - [0xC080F8, 0xC08120, "ascii", "aMl0Me0Mgfx60Mvtx20Mt500Ma001_0"] - - [0xC08120, 0xC0814C, "ascii", "aMl0Me0Mgfx130Mvtx100Mt390Ma100"] - - [0xC0814C, 0xC08178, "ascii", "aMl0Me0Mgfx130Mvtx100Mt400Ma100"] - - [0xC08178, 0xC081A4, "ascii", "aMl0Me0Mgfx130Mvtx100Mt400Ma100_0"] - - [0xC081A4, 0xC081D0, "ascii", "aMl0Me0Mgfx130Mvtx100Mt400Ma100_1"] - - [0xC081D0, 0xC081FC, "ascii", "aMl0Me0Mgfx130Mvtx100Mt400Ma100_2"] - - [0xC081FC, 0xC08228, "ascii", "aMl0Me0Mgfx130Mvtx100Mt400Ma300"] - - [0xC08228, 0xC08254, "ascii", "aMl0Me0Mgfx130Mvtx100Mt550Ma170"] - - [0xC08254, 0xC08280, "ascii", "aMl0Me0Mgfx80Mvtx100Mt550Ma250"] - - [0xC08280, 0xC082AC, "ascii", "aMl0Me0Mgfx130Mvtx100Mt440Ma220"] - - [0xC082AC, 0xC082D8, "ascii", "aMl0Me0Mgfx90Mvtx100Mt550Ma230"] - - [0xC082D8, 0xC08304, "ascii", "aMl0Me0Mgfx110Mvtx100Mt350Ma400"] - - [0xC08304, 0xC08330, "ascii", "aMl0Me0Mgfx100Mvtx50Mt700Ma400"] - - [0xC08330, 0xC08338, "ascii", "aLevel_"] - - [0xC08338, 0xC0836C, "ascii", "aMl0Me0Mgfx100Mvtx50Mt700Ma400_1"] - - [0xC0836C, 0xC08370, "ascii", "aM"] - - [0xC08370, 0xC08374, "ascii", "aM_1"] - - [0xC08374, 0xC0837C, "ascii", "aLevel__0"] - - [0xC0837C, 0xC08384, "ascii", "aLevel__1"] - - [0xC08384, 0xC0838C, "ascii", "aHard"] - - [0xC0838C, 0xC08394, "ascii", "aHard_1"] - - [0xC08394, 0xC0839C, "ascii", "aHard_2"] - - [0xC0839C, 0xC083A0, "ascii", "aMa"] - - [0xC083A0, 0xC083A4, "ascii", "aMa_0"] - - [0xC083A4, 0xC083BC, "ascii", "aU64_taskgrab_D_core"] - - [0xC083BC, 0xC083D0, "ascii", "aBoss_c_debug"] - - [0xC083D0, 0xC08410, "ptr", "jpt_80007FB4"] - - [0xC08410, 0xC08420, "ascii", "aMemp_c_debug"] - - [0xC08420, 0xC08424, "ascii", "aMf"] - - [0xC08424, 0xC08428, "ascii", "aMf_0"] - - [0xC08428, 0xC0842C, "ascii", "aMl"] - - [0xC0842C, 0xC08430, "ascii", "aMl_0"] - - [0xC08430, 0xC08434, "ascii", "aMe"] - - [0xC08434, 0xC08440, "ascii", "aMe_0"] - - [0xC08440, 0xC08450, "ascii", "aMema_c_debug"] - - [0xC08450, 0xC08454, "ascii", "aD_3"] - - [0xC08454, 0xC08458, "ascii", "a___"] - - [0xC08458, 0xC08460, "ascii", "aD_5"] - - [0xC08460, 0xC08464, "ptr", "str_empty"] - - [0xC08464, 0xC08468, "ascii", "aD_6"] - - [0xC08468, 0xC0846C, "ascii", "aS_2"] - - [0xC0846C, 0xC08470, "ascii", "aJ"] - - [0xC08470, 0xC08480, "ascii", "aVi_c_debug"] - - [0xC08480, 0xC0848C, "ascii", "a31m40m"] - - [0xC0848C, 0xC08498, "ascii", "a37m40m"] - - [0xC08498, 0xC084A4, "ascii", "a32m40m"] - - [0xC084A4, 0xC084B0, "ascii", "a33m40m"] - - [0xC084B0, 0xC084BC, "ascii", "a34m40m"] - - [0xC084BC, 0xC084C8, "ascii", "a35m40m"] - - [0xC084C8, 0xC084D4, "ascii", "a36m40m"] - - [0xC084D4, 0xC084E0, "ascii", "a37m44m"] - - [0xC084E0, 0xC084EC, "ascii", "a31m44m"] - - [0xC084EC, 0xC084F8, "ascii", "a32m44m"] - - [0xC084F8, 0xC08504, "ascii", "a33m44m"] - - [0xC08504, 0xC08510, "ascii", "a30m44m"] - - [0xC08510, 0xC0851C, "ascii", "a35m44m"] - - [0xC0851C, 0xC08528, "ascii", "a36m44m"] - - [0xC08528, 0xC08534, "ascii", "a37m41m"] - - [0xC08534, 0xC08540, "ascii", "a30m41m"] - - [0xC08540, 0xC0854C, "ascii", "a32m41m"] - - [0xC0854C, 0xC08558, "ascii", "a33m41m"] - - [0xC08558, 0xC08564, "ascii", "a34m41m"] - - [0xC08564, 0xC08570, "ascii", "a35m41m"] - - [0xC08570, 0xC0857C, "ascii", "a36m41m"] - - [0xC0857C, 0xC08588, "ascii", "a37m45m"] - - [0xC08588, 0xC08594, "ascii", "a31m45m"] - - [0xC08594, 0xC085A0, "ascii", "a32m45m"] - - [0xC085A0, 0xC085AC, "ascii", "a33m45m"] - - [0xC085AC, 0xC085B8, "ascii", "a34m45m"] - - [0xC085B8, 0xC085C4, "ascii", "a30m45m"] - - [0xC085C4, 0xC085D0, "ascii", "a36m45m"] - - [0xC085D0, 0xC085DC, "ascii", "a37m42m"] - - [0xC085DC, 0xC085E8, "ascii", "a31m42m"] - - [0xC085E8, 0xC085F4, "ascii", "a30m42m"] - - [0xC085F4, 0xC08600, "ascii", "a33m42m"] - - [0xC08600, 0xC08610, "ascii", "aJoy_c_debug"] - - [0xC08610, 0xC08690, "ptr", "__osRcpImTable"] - - [0xC08690, 0xC08698, "ptr", "D_80029420"] - - [0xC08698, 0xC086A0, "ptr", "D_80029428"] - - [0xC086A0, 0xC086B0, "ptr", "D_80029430"] - - [0xC086B0, 0xC086D0, "ptr", "__osIntOffTable"] - - [0xC086D0, 0xC08700, "ptr", "__osIntTable"] - - [0xC08700, 0xC08884, "ptr", "audio_related_jump_table_0"] - - [0xC08884, 0xC088E4, "ptr", "audio_related_jump_table_1"] - - [0xC088E4, 0xC08934, "ptr", "audio_related_jump_table_2"] - - [0xC08934, 0xC08940, "ptr", "D_800296C4"] - - [0xC08940, 0xC08948, "ptr", "D_800296D0"] - - [0xC08948, 0xC08950, "ptr", "D_800296D8"] - - [0xC08950, 0xC08954, "ptr", "D_800296E0"] - - [0xC08954, 0xC08960, "ptr", "D_800296E4"] - - [0xC08960, 0xC08964, "ascii", "aHll"] - - [0xC08964, 0xC0896C, "ptr", "printf_symbols"] - - [0xC0896C, 0xC08984, "ptr", "byteshiftleft_lookup"] - - [0xC08984, 0xC08A60, "ptr", "D_80029714"] - - [0xC08A60, 0xC08A70, "ptr", "D_800297F0"] - - [0xC08A70, 0xC08A80, "ptr", "D_80029800"] - - [0xC08A80, 0xC08A90, "ptr", "D_80029810"] - - [0xC08A90, 0xC08A98, "ptr", "D_80029820"] - - [0xC08A98, 0xC08AA0, "ptr", "D_80029828"] - - [0xC08AA0, 0xC08AB8, "ptr", "jpt_80019520"] - - [0xC08AB8, 0xC08AC0, "ptr", "D_80029848"] - - [0xC08AC0, 0xC08AE8, "ptr", "jpt_8001A628"] - - [0xC08AE8, 0xC08B00, "ptr", "D_80029878"] - - [0xC08B00, 0xC08B2C, "ascii", "aAssertionFaultSSLineD"] - - [0xC08B2C, 0xC08B3C, "ascii", "aSamples0"] - - [0xC08B3C, 0xC08B44, "ascii", "aEnv_c"] - - [0xC08B44, 0xC08B70, "ascii", "aAssertionFaultSSLineD_0"] - - [0xC08B70, 0xC08B90, "ascii", "aSamplesAl_max_rsp_samples"] - - [0xC08B90, 0xC08B98, "ascii", "aEnv_c_0"] - - [0xC08B98, 0xC08BC4, "ascii", "aAssertionFaultSSLineD_1"] - - [0xC08BC4, 0xC08BCC, "ascii", "aSource"] - - [0xC08BCC, 0xC08BD4, "ascii", "aEnv_c_1"] - - [0xC08BD4, 0xC08BD8, "ptr", "D_80029964"] - - [0xC08BD8, 0xC08C20, "ptr", "jpt_8001AF6C"] - - [0xC08C20, 0xC08C28, "ptr", "D_800299B0"] - - [0xC08C28, 0xC08C30, "ptr", "D_800299B8"] - - [0xC08C30, 0xC08C38, "ptr", "D_800299C0"] - - [0xC08C38, 0xC08C40, "ptr", "D_800299C8"] - - [0xC08C40, 0xC08C48, "ptr", "D_800299D0"] - - [0xC08C48, 0xC08C50, "ptr", "D_800299D8"] - - [0xC08C50, 0xC08C58, "ptr", "D_800299E0"] - - [0xC08C58, 0xC08C60, "ptr", "D_800299E8"] - - [0xC08C60, 0xC08C70, "ptr", "D_800299F0"] - - [0xC08C70, 0xC08C78, "ptr", "F64_80029A00"] - - [0xC08C78, 0xC08C80, "ptr", "D_80029A08"] - - [0xC08C80, 0xC08C88, "ptr", "D_80029A10"] - - [0xC08C88, 0xC08C90, "ptr", "D_80029A18"] - - [0xC08C90, 0xC08C98, "ptr", "D_80029A20"] - - [0xC08C98, 0xC08CA0, "ptr", "D_80029A28"] - - [0xC08CA0, 0xC08CA8, "ptr", "D_80029A30"] - - [0xC08CA8, 0xC08CB0, "ptr", "D_80029A38"] - - [0xC08CB0, 0xC08CC0, "ptr", "D_80029A40"] - - [0xC08CC0, 0xC08E44, "ptr", "jpt_8001C498"] - - [0xC08E44, 0xC08E98, "ptr", "jpt_8001C98C"] - - [0xC08E98, 0xC08EF8, "ptr", "jpt_8001CCD8"] - - [0xC08EF8, 0xC08F00, "ptr", "F32_80029C88"] - - [0xC08F00, 0xC08F48, "ptr", "digits"] - - [0xC08F48, 0xC08F4C, "ascii", "aNan"] - - [0xC08F4C, 0xC08F50, "ascii", "aInf"] - - [0xC08F50, 0xC08F58, "ptr", "asc_D_80029CE0"] - - [0xC08F58, 0xC08F60, "ptr", "D_80029CE8"] - - [0xC08F60, 0xC08F80, "ptr", "jpt_8001E80C"] - - [0xC08F80, 0xC08FA0, "ptr", "jpt_8001FFCC"] - - [0xC08FA0, 0xC08FA8, "ptr", "F64_80029D30"] - - [0xC08FA8, 0xC08FB0, "ptr", "D_80029D38"] - - [0xC08FB0, 0xC08FC0, "ptr", "D_80029D40"] - - [0xC08FC0, 0xC08FC8, "ptr", "D_80029D50"] - - [0xC08FC8, 0xC08FD0, "ptr", "D_80029D58"] - - [0xC08FD0, 0xC08FDC, "ptr", "D_80029D60"] - - [0xC08FDC, 0xC092BC, "ptr", "animation_table_ptrs1"] - - [0xC092BC, 0xC092C0, "ptr", "animation_table_ptrs2"] - - [0xC092C0, 0xC092D0, "ptr", "animation_table_ptrs2+4"] - - [0xC092D0, 0xC094AC, "ptr", "global_action_block_temp_buffer"] - - [0xC094AC, 0xC094D0, "ptr", "weapon_models_for_weapon_load"] - - [0xC094D0, 0xC09544, "ptr", "ptr_monitorimageobjectanimationcontroller"] - - [0xC09544, 0xC095B8, "ptr", "unknown_object_animation_controller"] - - [0xC095B8, 0xC09630, "ptr", "taser_object_animation_controller"] - - [0xC09630, 0xC09640, "ptr", "scale_1_0_item_related"] - - [0xC09640, 0xC099F0, "ptr", "BONDdata_item_control_blocks_initdata"] - - [0xC099F0, 0xC099F4, "ptr", "D_8002A780"] - - [0xC099F4, 0xC099F8, "ptr", "D_8002A784"] - - [0xC099F8, 0xC09A00, "ptr", "D_8002A788"] - - [0xC09A00, 0xC09A04, "ptr", "D_8002A790"] - - [0xC09A04, 0xC09A44, "ptr", "D_8002A794"] - - [0xC09A44, 0xC09A58, "ptr", "D_8002A7D4"] - - [0xC09A58, 0xC09A70, "ptr", "D_8002A7E8"] - - [0xC09A70, 0xC09AAC, "ptr", "D_8002A800"] - - [0xC09AAC, 0xC09AC0, "ptr", "D_8002A83C"] - - [0xC09AC0, 0xC09AC4, "ptr", "D_8002A850"] - - [0xC09AC4, 0xC09AC8, "ptr", "D_8002A854"] - - [0xC09AC8, 0xC09ACC, "ptr", "D_8002A858"] - - [0xC09ACC, 0xC09AD0, "ptr", "D_8002A85C"] - - [0xC09AD0, 0xC09AD4, "ptr", "D_8002A860"] - - [0xC09AD4, 0xC09AD8, "ptr", "D_8002A864"] - - [0xC09AD8, 0xC09AE8, "ptr", "D_8002A868"] - - [0xC09AE8, 0xC09AEC, "ptr", "D_8002A878"] - - [0xC09AEC, 0xC09AF0, "ptr", "D_8002A87C"] - - [0xC09AF0, 0xC09AFC, "ptr", "D_8002A880"] - - [0xC09AFC, 0xC09B00, "ptr", "D_8002A88C"] - - [0xC09B00, 0xC09B04, "ptr", "D_8002A890"] - - [0xC09B04, 0xC09B08, "ptr", "D_8002A894"] - - [0xC09B08, 0xC09B0C, "ptr", "D_8002A898"] - - [0xC09B0C, 0xC09B10, "ptr", "a"] - - [0xC09B10, 0xC09B14, "ptr", "intro_eye_counter"] - - [0xC09B14, 0xC09B18, "ptr", "intro_state_blood_animation"] - - [0xC09B18, 0xC09B1C, "ptr", "D_8002A8A8"] - - [0xC09B1C, 0xC09B20, "ptr", "D_8002A8AC"] - - [0xC09B20, 0xC09B30, "ptr", "D_8002A8B0"] - - [0xC09B30, 0xC09B34, "ptr", "current_menu"] - - [0xC09B34, 0xC09B38, "ptr", "menu_update"] - - [0xC09B38, 0xC09B3C, "ptr", "maybe_prev_menu"] - - [0xC09B3C, 0xC09B40, "ptr", "menu_timer"] - - [0xC09B40, 0xC09B44, "ptr", "tab_1_selected"] - - [0xC09B44, 0xC09B48, "ptr", "tab_2_selected"] - - [0xC09B48, 0xC09B4C, "ptr", "tab_3_selected"] - - [0xC09B4C, 0xC09B50, "ptr", "tab_1_highlight"] - - [0xC09B50, 0xC09B54, "ptr", "tab_2_highlight"] - - [0xC09B54, 0xC09B58, "ptr", "tab_3_highlight"] - - [0xC09B58, 0xC09B5C, "ptr", "selected_folder_num"] - - [0xC09B5C, 0xC09B60, "ptr", "selected_folder_num_copy"] - - [0xC09B60, 0xC09B64, "ptr", "gamemode"] - - [0xC09B64, 0xC09B68, "ptr", "selected_stage"] - - [0xC09B68, 0xC09B6C, "ptr", "ptr_briefingdata"] - - [0xC09B6C, 0xC09B70, "ptr", "selected_difficulty"] - - [0xC09B70, 0xC09B74, "ptr", "append_cheat_sp"] - - [0xC09B74, 0xC09B78, "ptr", "append_cheat_mp"] - - [0xC09B78, 0xC09B7C, "ptr", "cursor_h_pos"] - - [0xC09B7C, 0xC09B80, "ptr", "cursor_v_pos"] - - [0xC09B80, 0xC09B84, "ptr", "final_menu_briefing_page"] - - [0xC09B84, 0xC09B88, "ptr", "current_menu_briefing_page"] - - [0xC09B88, 0xC09B8C, "ptr", "folder_selection_screen_option_icon"] - - [0xC09B8C, 0xC09B90, "ptr", "folder_selected_for_deletion"] - - [0xC09B90, 0xC09B94, "ptr", "folder_selected_for_deletion_choice"] - - [0xC09B94, 0xC09B98, "ptr", "mission_failed_or_aborted"] - - [0xC09B98, 0xC09B9C, "ptr", "mission_kia"] - - [0xC09B9C, 0xC09BA0, "ptr", "is_first_time_on_legal_screen"] - - [0xC09BA0, 0xC09BA4, "ptr", "is_first_time_on_main_menu"] - - [0xC09BA4, 0xC09BA8, "ptr", "prev_keypresses"] - - [0xC09BA8, 0xC09BAC, "ptr", "D_8002A938"] - - [0xC09BAC, 0xC09BB0, "ptr", "maybe_is_in_menu"] - - [0xC09BB0, 0xC09BB4, "ptr", "screen_size"] - - [0xC09BB4, 0xC09BB8, "ptr", "spectrum_related_flag"] - - [0xC09BB8, 0xC09BBC, "ptr", "is_emulating_spectrum"] - - [0xC09BBC, 0xC09BC0, "ptr", "is_cheat_menu_available"] - - [0xC09BC0, 0xC09BC4, "ptr", "ptr_logo_and_walletbond_DL"] - - [0xC09BC4, 0xC09BC8, "ptr", "ptr_menu_videobuffer"] - - [0xC09BC8, 0xC09BCC, "ptr", "something_legalscreen_constructor"] - - [0xC09BCC, 0xC09BD0, "ptr", "ptr_folder_object_instance"] - - [0xC09BD0, 0xC09BD4, "ptr", "set0_never_used"] - - [0xC09BD4, 0xC09BD8, "ptr", "set0_never_used_0"] - - [0xC09BD8, 0xC09BDC, "ptr", "D_8002A968"] - - [0xC09BDC, 0xC09BE0, "ptr", "D_8002A96C"] - - [0xC09BE0, 0xC09BE8, "ptr", "D_8002A970"] - - [0xC09BE8, 0xC09BF8, "ptr", "D_8002A978"] - - [0xC09BF8, 0xC09BFC, "ptr", "D_8002A988"] - - [0xC09BFC, 0xC09C00, "ptr", "D_8002A98C"] - - [0xC09C00, 0xC09C10, "ptr", "D_8002A990"] - - [0xC09C10, 0xC09C14, "ptr", "slider_007_mode_reaction"] - - [0xC09C14, 0xC09C18, "ptr", "slider_007_mode_health"] - - [0xC09C18, 0xC09C1C, "ptr", "slider_007_mode_accuracy"] - - [0xC09C1C, 0xC09C20, "ptr", "slider_007_mode_damage"] - - [0xC09C20, 0xC09C24, "ptr", "D_8002A9B0"] - - [0xC09C24, 0xC09C28, "ptr", "D_8002A9B4"] - - [0xC09C28, 0xC09C2C, "ptr", "D_8002A9B8"] - - [0xC09C2C, 0xC09C30, "ptr", "D_8002A9BC"] - - [0xC09C30, 0xC09C34, "ptr", "D_8002A9C0"] - - [0xC09C34, 0xC09C38, "ptr", "D_8002A9C4"] - - [0xC09C38, 0xC09C3C, "ptr", "D_8002A9C8"] - - [0xC09C3C, 0xC09D2C, "ptr", "D_8002A9CC"] - - [0xC09D2C, 0xC09D30, "ptr", "D_8002AABC"] - - [0xC09D30, 0xC09D7C, "ptr", "D_8002AAC0"] - - [0xC09D7C, 0xC09DC8, "ptr", "D_8002AB0C"] - - [0xC09DC8, 0xC09E04, "ptr", "D_8002AB58"] - - [0xC09E04, 0xC09E34, "ptr", "D_8002AB94"] - - [0xC09E34, 0xC09E38, "ptr", "folder_option_COPY_left_bound"] - - [0xC09E38, 0xC09E3C, "ptr", "folder_option_COPY_upper_bound"] - - [0xC09E3C, 0xC09E40, "ptr", "folder_option_COPY_right_bound"] - - [0xC09E40, 0xC09E44, "ptr", "folder_option_COPY_lower_bound"] - - [0xC09E44, 0xC09E48, "ptr", "folder_option_ERASE_left_bound"] - - [0xC09E48, 0xC09E4C, "ptr", "folder_option_ERASE_upper_bound"] - - [0xC09E4C, 0xC09E50, "ptr", "folder_option_ERASE_right_bound"] - - [0xC09E50, 0xC09E54, "ptr", "folder_option_ERASE_lower_bound"] - - [0xC09E54, 0xC0A19C, "ptr", "mission_folder_setup_entries"] - - [0xC0A19C, 0xC0A1A0, "ptr", "unknown_folderselect_constructor"] - - [0xC0A1A0, 0xC0A1A4, "ptr", "D_8002AF30"] - - [0xC0A1A4, 0xC0A1A8, "ptr", "D_8002AF34"] - - [0xC0A1A8, 0xC0A1AC, "ptr", "unknown_folderselect_constructor_0"] - - [0xC0A1AC, 0xC0A1B0, "ptr", "D_8002AF3C"] - - [0xC0A1B0, 0xC0A1B4, "ptr", "D_8002AF40"] - - [0xC0A1B4, 0xC0A1F4, "ptr", "unknown_folderselect"] - - [0xC0A1F4, 0xC0A230, "ptr", "D_8002AF84"] - - [0xC0A230, 0xC0A234, "ptr", "D_8002AFC0"] - - [0xC0A234, 0xC0A238, "ptr", "D_8002AFC4"] - - [0xC0A238, 0xC0A23C, "ptr", "D_8002AFC8"] - - [0xC0A23C, 0xC0A240, "ptr", "D_8002AFCC"] - - [0xC0A240, 0xC0A254, "ptr", "cursor_xpos_table_mission_select"] - - [0xC0A254, 0xC0A2C4, "ptr", "cursor_ypos_table_mission_select"] - - [0xC0A2C4, 0xC0A2E4, "ptr", "mp_player_counts"] - - [0xC0A2E4, 0xC0A2FC, "ptr", "multi_stage_setups"] - - [0xC0A2FC, 0xC0A404, "ptr", "D_8002B08C"] - - [0xC0A404, 0xC0A408, "ptr", "num_chars_selectable_mp"] - - [0xC0A408, 0xC0A708, "ptr", "mp_chr_setup"] - - [0xC0A708, 0xC0A780, "ptr", "MP_handicap_table"] - - [0xC0A780, 0xC0A790, "ptr", "D_8002B510"] - - [0xC0A790, 0xC0A794, "ptr", "selected_num_players"] - - [0xC0A794, 0xC0A798, "ptr", "player_1_char"] - - [0xC0A798, 0xC0A79C, "ptr", "player_2_char"] - - [0xC0A79C, 0xC0A7A0, "ptr", "player_3_char"] - - [0xC0A7A0, 0xC0A7A4, "ptr", "player_4_char"] - - [0xC0A7A4, 0xC0A7A8, "ptr", "MP_stage_selected"] - - [0xC0A7A8, 0xC0A7AC, "ptr", "game_length"] - - [0xC0A7AC, 0xC0A7B0, "ptr", "aim_sight_adjustment"] - - [0xC0A7B0, 0xC0A7B4, "ptr", "scenario"] - - [0xC0A7B4, 0xC0A7B8, "ptr", "unlock_stage_select"] - - [0xC0A7B8, 0xC0A7BC, "ptr", "unlock_game_length"] - - [0xC0A7BC, 0xC0A7C0, "ptr", "unlock_chars"] - - [0xC0A7C0, 0xC0A7C4, "ptr", "unlock_weapon_select"] - - [0xC0A7C4, 0xC0A7C8, "ptr", "unlock_handicap"] - - [0xC0A7C8, 0xC0A7CC, "ptr", "unlock_control_style"] - - [0xC0A7CC, 0xC0A7D0, "ptr", "unlock_aim_sight"] - - [0xC0A7D0, 0xC0A84C, "ptr", "D_8002B560"] - - [0xC0A84C, 0xC0A850, "ptr", "D_8002B5DC"] - - [0xC0A850, 0xC0A854, "ptr", "D_8002B5E0"] - - [0xC0A854, 0xC0A858, "ptr", "MP_menu_selected_option"] - - [0xC0A858, 0xC0A85C, "ptr", "do_not_play_intro_movie"] - - [0xC0A85C, 0xC0A860, "ptr", "randomly_selected_intro_animation"] - - [0xC0A860, 0xC0A864, "ptr", "intro_animation_count"] - - [0xC0A864, 0xC0A868, "ptr", "objinstance"] - - [0xC0A868, 0xC0A86C, "ptr", "ptrobjinstance"] - - [0xC0A86C, 0xC0A870, "ptr", "full_actor_intro"] - - [0xC0A870, 0xC0AB2C, "ptr", "intro_char_table"] - - [0xC0AB2C, 0xC0AC5C, "ptr", "intro_animation_table"] - - [0xC0AC5C, 0xC0AC9C, "ptr", "D_8002B9EC"] - - [0xC0AC9C, 0xC0ACA8, "ptr", "D_8002BA2C"] - - [0xC0ACA8, 0xC0ACC0, "ptr", "random_rifles_in_intro"] - - [0xC0ACC0, 0xC0ACE8, "ptr", "random_pistols_in_intro"] - - [0xC0ACE8, 0xC0ACF4, "ptr", "D_8002BA78"] - - [0xC0ACF4, 0xC0AD00, "ptr", "D_8002BA84"] - - [0xC0AD00, 0xC0AD0C, "ptr", "D_8002BA90"] - - [0xC0AD0C, 0xC0AD10, "ptr", "D_8002BA9C"] - - [0xC0AD10, 0xC0AD50, "ptr", "D_8002BAA0"] - - [0xC0AD50, 0xC0AD54, "ptr", "D_8002BAE0"] - - [0xC0AD54, 0xC0AD60, "ptr", "D_8002BAE4"] - - [0xC0AD60, 0xC0AD70, "ptr", "color_palette_entries_50_percent"] - - [0xC0AD70, 0xC0AD74, "ptr", "D_8002BB00"] - - [0xC0AD74, 0xC0AD78, "ptr", "D_8002BB04"] - - [0xC0AD78, 0xC0AD7C, "ptr", "D_8002BB08"] - - [0xC0AD7C, 0xC0AD80, "ptr", "D_8002BB0C"] - - [0xC0AD80, 0xC0AD84, "ptr", "D_8002BB10"] - - [0xC0AD84, 0xC0AD88, "ptr", "D_8002BB14"] - - [0xC0AD88, 0xC0AD8C, "ptr", "D_8002BB18"] - - [0xC0AD8C, 0xC0AD90, "ptr", "D_8002BB1C"] - - [0xC0AD90, 0xC0AD94, "ptr", "D_8002BB20"] - - [0xC0AD94, 0xC0AD98, "ptr", "D_8002BB24"] - - [0xC0AD98, 0xC0AD9C, "ptr", "D_8002BB28"] - - [0xC0AD9C, 0xC0ADA0, "ptr", "D_8002BB2C"] - - [0xC0ADA0, 0xC0B77C, "ptr", "die_blood_image_1"] - - [0xC0B77C, 0xC0B780, "ptr", "D_8002C50C"] - - [0xC0B780, 0xC0B784, "ptr", "save1_selected_bond"] - - [0xC0B784, 0xC0B788, "ptr", "save2_selected_bond"] - - [0xC0B788, 0xC0B78C, "ptr", "save3_selected_bond"] - - [0xC0B78C, 0xC0B790, "ptr", "save4_selected_bond"] - - [0xC0B790, 0xC0B798, "ptr", "D_8002C520"] - - [0xC0B798, 0xC0B7F8, "ptr", "D_8002C528"] - - [0xC0B7F8, 0xC0B858, "ptr", "D_8002C588"] - - [0xC0B858, 0xC0B8B8, "ptr", "D_8002C5E8"] - - [0xC0B8B8, 0xC0B8BC, "ptr", "D_8002C648"] - - [0xC0B8BC, 0xC0B8C0, "ptr", "D_8002C64C"] - - [0xC0B8C0, 0xC0B8C4, "ptr", "D_8002C650"] - - [0xC0B8C4, 0xC0B8C8, "ptr", "D_8002C654"] - - [0xC0B8C8, 0xC0B8CC, "ptr", "D_8002C658"] - - [0xC0B8CC, 0xC0B8D0, "ptr", "D_8002C65C"] - - [0xC0B8D0, 0xC0B930, "ptr", "D_8002C640+0x20"] - - [0xC0B930, 0xC0B938, "ptr", "D_8002C6C0"] - - [0xC0B938, 0xC0B998, "ptr", "D_8002C6C8"] - - [0xC0B998, 0xC0B9F8, "ptr", "D_8002C728"] - - [0xC0B9F8, 0xC0BA58, "ptr", "D_8002C788"] - - [0xC0BA58, 0xC0BB10, "ptr", "D_8002C7E8"] - - [0xC0BB10, 0xC0BB18, "ptr", "blank_eeprom"] - - [0xC0BB18, 0xC0BB70, "ptr", "D_8002C8A8"] - - [0xC0BB70, 0xC0BB74, "ptr", "animation_rate"] - - [0xC0BB74, 0xC0BB78, "ptr", "D_8002C904"] - - [0xC0BB78, 0xC0BB7C, "ptr", "D_8002C908"] - - [0xC0BB7C, 0xC0BB80, "ptr", "D_8002C90C"] - - [0xC0BB80, 0xC0BB84, "ptr", "D_8002C910"] - - [0xC0BB84, 0xC0BD10, "ptr", "D_8002C914"] - - [0xC0BD10, 0xC0BD3C, "ptr", "D_8002CAA0"] - - [0xC0BD3C, 0xC0BD94, "ptr", "D_8002CACC"] - - [0xC0BD94, 0xC0BDC0, "ptr", "D_8002CB24"] - - [0xC0BDC0, 0xC0BE9C, "ptr", "D_8002CB50"] - - [0xC0BE9C, 0xC0BEC8, "ptr", "D_8002CC2C"] - - [0xC0BEC8, 0xC0BECC, "ptr", "D_8002CC58"] - - [0xC0BECC, 0xC0BED0, "ptr", "show_patrols"] - - [0xC0BED0, 0xC0BED4, "ptr", "player1_guardID"] - - [0xC0BED4, 0xC0BED8, "ptr", "ptr_guard_data"] - - [0xC0BED8, 0xC0BEDC, "ptr", "num_guards"] - - [0xC0BEDC, 0xC0BF18, "ptr", "D_8002CC6C"] - - [0xC0BF18, 0xC0BF1C, "ptr", "D_8002CCA8"] - - [0xC0BF1C, 0xC0BF20, "ptr", "D_8002CCAC"] - - [0xC0BF20, 0xC0BF24, "ptr", "D_8002CCB0"] - - [0xC0BF24, 0xC0BF28, "ptr", "D_8002CCB4"] - - [0xC0BF28, 0xC0BF29, "ptr", "D_8002CCB8"] - - [0xC0BF29, 0xC0BF2A, "ptr", "D_8002CCB9"] - - [0xC0BF2A, 0xC0BF2C, "ptr", "D_8002CCBA"] - - [0xC0BF2C, 0xC0BF30, "ptr", "D_8002CCBC"] - - [0xC0BF30, 0xC0BF68, "ptr", "D_8002CCC0"] - - [0xC0BF68, 0xC0BF70, "ptr", "D_8002CCF8"] - - [0xC0BF70, 0xC0BF74, "ptr", "num_bodies"] - - [0xC0BF74, 0xC0BF78, "ptr", "num_male_heads"] - - [0xC0BF78, 0xC0BF7C, "ptr", "num_female_heads"] - - [0xC0BF7C, 0xC0C028, "ptr", "list_of_bodies"] - - [0xC0C028, 0xC0C090, "ptr", "random_male_heads"] - - [0xC0C090, 0xC0C0A4, "ptr", "random_female_heads"] - - [0xC0C0A4, 0xC0C0A8, "ptr", "current_random_body"] - - [0xC0C0A8, 0xC0C0AC, "ptr", "current_random_male_head"] - - [0xC0C0AC, 0xC0C0B0, "ptr", "current_random_female_head"] - - [0xC0C0B0, 0xC0C0B4, "ptr", "ai_accuracy_modifier"] - - [0xC0C0B4, 0xC0C0B8, "ptr", "ai_damage_modifier"] - - [0xC0C0B8, 0xC0C0BC, "ptr", "ai_health_modifier"] - - [0xC0C0BC, 0xC0C0C0, "ptr", "ai_reaction_speed"] - - [0xC0C0C0, 0xC0C0C4, "ptr", "setting_007_5"] - - [0xC0C0C4, 0xC0C150, "ptr", "D_8002CE54"] - - [0xC0C150, 0xC0C1DC, "ptr", "D_8002CEE0"] - - [0xC0C1DC, 0xC0C284, "ptr", "D_8002CF6C"] - - [0xC0C284, 0xC0C310, "ptr", "D_8002D014"] - - [0xC0C310, 0xC0C39C, "ptr", "D_8002D0A0"] - - [0xC0C39C, 0xC0C444, "ptr", "D_8002D12C"] - - [0xC0C444, 0xC0C620, "ptr", "D_8002D1D4"] - - [0xC0C620, 0xC0C94C, "ptr", "D_8002D3B0"] - - [0xC0C94C, 0xC0C9D8, "ptr", "D_8002D6DC"] - - [0xC0C9D8, 0xC0CA64, "ptr", "D_8002D768"] - - [0xC0CA64, 0xC0CAF0, "ptr", "D_8002D7F4"] - - [0xC0CAF0, 0xC0CB7C, "ptr", "D_8002D880"] - - [0xC0CB7C, 0xC0CC08, "ptr", "D_8002D90C"] - - [0xC0CC08, 0xC0CC94, "ptr", "D_8002D998"] - - [0xC0CC94, 0xC0CF50, "ptr", "D_8002DA24"] - - [0xC0CF50, 0xC0D12C, "ptr", "D_8002DCE0"] - - [0xC0D12C, 0xC0D180, "ptr", "D_8002DEBC"] - - [0xC0D180, 0xC0D1D4, "ptr", "D_8002DF10"] - - [0xC0D1D4, 0xC0D228, "ptr", "D_8002DF64"] - - [0xC0D228, 0xC0D298, "ptr", "D_8002DFB8"] - - [0xC0D298, 0xC0D2EC, "ptr", "D_8002E028"] - - [0xC0D2EC, 0xC0D340, "ptr", "D_8002E07C"] - - [0xC0D340, 0xC0D3B0, "ptr", "D_8002E0D0"] - - [0xC0D3B0, 0xC0D4AC, "ptr", "D_8002E140"] - - [0xC0D4AC, 0xC0D570, "ptr", "D_8002E23C"] - - [0xC0D570, 0xC0D5C4, "ptr", "D_8002E300"] - - [0xC0D5C4, 0xC0D618, "ptr", "D_8002E354"] - - [0xC0D618, 0xC0D688, "ptr", "D_8002E3A8"] - - [0xC0D688, 0xC0D6DC, "ptr", "D_8002E418"] - - [0xC0D6DC, 0xC0D730, "ptr", "D_8002E46C"] - - [0xC0D730, 0xC0D7A0, "ptr", "D_8002E4C0"] - - [0xC0D7A0, 0xC0D82C, "ptr", "D_8002E530"] - - [0xC0D82C, 0xC0D8B8, "ptr", "D_8002E5BC"] - - [0xC0D8B8, 0xC0DBAC, "ptr", "D_8002E648"] - - [0xC0DBAC, 0xC0DBB4, "ptr", "expl_forward"] - - [0xC0DBB4, 0xC0DBB8, "ptr", "expl_f_left"] - - [0xC0DBB8, 0xC0DBBC, "ptr", "expl_f_right"] - - [0xC0DBBC, 0xC0DBC0, "ptr", "expl_left"] - - [0xC0DBC0, 0xC0DBC4, "ptr", "expl_right"] - - [0xC0DBC4, 0xC0DBC8, "ptr", "expl_back"] - - [0xC0DBC8, 0xC0DBCC, "ptr", "expl_b_right"] - - [0xC0DBCC, 0xC0DBD0, "ptr", "expl_b_left"] - - [0xC0DBD0, 0xC0DC10, "ptr", "explosion_animation_table"] - - [0xC0DC10, 0xC0DCA0, "ptr", "rifle_firing_animation_group1"] - - [0xC0DCA0, 0xC0DCA8, "ptr", "ptr_rifle_firing_animation_group1"] - - [0xC0DCA8, 0xC0DD80, "ptr", "rifle_firing_animation_group2"] - - [0xC0DD80, 0xC0DD88, "ptr", "ptr_rifle_firing_animation_group2"] - - [0xC0DD88, 0xC0DE60, "ptr", "rifle_firing_animation_group5"] - - [0xC0DE60, 0xC0DE68, "ptr", "ptr_rifle_firing_animation_group5"] - - [0xC0DE68, 0xC0DEF8, "ptr", "rifle_firing_animation_group3"] - - [0xC0DEF8, 0xC0DF00, "ptr", "ptr_rifle_firing_animation_group3"] - - [0xC0DF00, 0xC0DF90, "ptr", "rifle_firing_animation_group4"] - - [0xC0DF90, 0xC0DF98, "ptr", "ptr_rifle_firing_animation_group4"] - - [0xC0DF98, 0xC0E018, "ptr", "ptr_rifle_firing_animation_groups"] - - [0xC0E018, 0xC0E180, "ptr", "pistol_firing_animation_group1"] - - [0xC0E180, 0xC0E188, "ptr", "ptr_pistol_firing_animation_group1"] - - [0xC0E188, 0xC0E260, "ptr", "pistol_firing_animation_group2"] - - [0xC0E260, 0xC0E268, "ptr", "ptr_pistol_firing_animation_group2"] - - [0xC0E268, 0xC0E3D0, "ptr", "pistol_firing_animation_group3"] - - [0xC0E3D0, 0xC0E3D8, "ptr", "ptr_pistol_firing_animation_group3"] - - [0xC0E3D8, 0xC0E540, "ptr", "pistol_firing_animation_group6"] - - [0xC0E540, 0xC0E548, "ptr", "ptr_pistol_firing_animation_group6"] - - [0xC0E548, 0xC0E5D8, "ptr", "pistol_firing_animation_group4"] - - [0xC0E5D8, 0xC0E5E0, "ptr", "ptr_pistol_firing_animation_group4"] - - [0xC0E5E0, 0xC0E670, "ptr", "pistol_firing_animation_group5"] - - [0xC0E670, 0xC0E678, "ptr", "ptr_pistol_firing_animation_group5"] - - [0xC0E678, 0xC0E6F8, "ptr", "ptr_pistol_firing_animation_groups"] - - [0xC0E6F8, 0xC0E788, "ptr", "doubles_firing_animation_group1"] - - [0xC0E788, 0xC0E790, "ptr", "ptr_doubles_firing_animation_group1"] - - [0xC0E790, 0xC0E868, "ptr", "doubles_firing_animation_group2"] - - [0xC0E868, 0xC0E870, "ptr", "ptr_doubles_firing_animation_group2"] - - [0xC0E870, 0xC0E948, "ptr", "doubles_firing_animation_group3"] - - [0xC0E948, 0xC0E950, "ptr", "ptr_doubles_firing_animation_group3"] - - [0xC0E950, 0xC0E9D0, "ptr", "ptr_doubles_firing_animation_groups"] - - [0xC0E9D0, 0xC0EAA8, "ptr", "crouched_rifle_firing_animation_group1"] - - [0xC0EAA8, 0xC0EAB0, "ptr", "ptr_crouched_rifle_firing_animation_group1"] - - [0xC0EAB0, 0xC0EB40, "ptr", "crouched_rifle_firing_animation_group2"] - - [0xC0EB40, 0xC0EB48, "ptr", "ptr_crouched_rifle_firing_animation_group2"] - - [0xC0EB48, 0xC0EBD8, "ptr", "crouched_rifle_firing_animation_group3"] - - [0xC0EBD8, 0xC0EBE0, "ptr", "ptr_crouched_rifle_firing_animation_group3"] - - [0xC0EBE0, 0xC0EC60, "ptr", "ptr_crouched_rifle_firing_animation_groups"] - - [0xC0EC60, 0xC0ED38, "ptr", "crouched_pistol_firing_animation_group1"] - - [0xC0ED38, 0xC0ED40, "ptr", "ptr_crouched_pistol_firing_animation_group1"] - - [0xC0ED40, 0xC0EE60, "ptr", "crouched_pistol_firing_animation_group2"] - - [0xC0EE60, 0xC0EE68, "ptr", "ptr_crouched_pistol_firing_animation_group2"] - - [0xC0EE68, 0xC0EF40, "ptr", "crouched_pistol_firing_animation_group3"] - - [0xC0EF40, 0xC0EF48, "ptr", "ptr_crouched_pistol_firing_animation_group3"] - - [0xC0EF48, 0xC0EFC8, "ptr", "ptr_crouched_pistol_firing_animation_groups"] - - [0xC0EFC8, 0xC0F0A0, "ptr", "crouched_doubles_firing_animation_group1"] - - [0xC0F0A0, 0xC0F0A8, "ptr", "ptr_crouched_doubles_firing_animation_group1"] - - [0xC0F0A8, 0xC0F180, "ptr", "crouched_doubles_firing_animation_group2"] - - [0xC0F180, 0xC0F188, "ptr", "ptr_crouched_doubles_firing_animation_group2"] - - [0xC0F188, 0xC0F260, "ptr", "crouched_doubles_firing_animation_group3"] - - [0xC0F260, 0xC0F268, "ptr", "ptr_crouched_doubles_firing_animation_group3"] - - [0xC0F268, 0xC0F2E8, "ptr", "ptr_crouched_doubles_firing_animation_groups"] - - [0xC0F2E8, 0xC0F330, "ptr", "D_80030078"] - - [0xC0F330, 0xC0F378, "ptr", "D_800300C0"] - - [0xC0F378, 0xC0F3C0, "ptr", "D_80030108"] - - [0xC0F3C0, 0xC0F408, "ptr", "D_80030150"] - - [0xC0F408, 0xC0F450, "ptr", "D_80030198"] - - [0xC0F450, 0xC0F498, "ptr", "D_800301E0"] - - [0xC0F498, 0xC0F4E0, "ptr", "D_80030228"] - - [0xC0F4E0, 0xC0F528, "ptr", "D_80030270"] - - [0xC0F528, 0xC0F570, "ptr", "D_800302B8"] - - [0xC0F570, 0xC0F5B8, "ptr", "D_80030300"] - - [0xC0F5B8, 0xC0F600, "ptr", "D_80030348"] - - [0xC0F600, 0xC0F648, "ptr", "D_80030390"] - - [0xC0F648, 0xC0F690, "ptr", "D_800303D8"] - - [0xC0F690, 0xC0F6D8, "ptr", "D_80030420"] - - [0xC0F6D8, 0xC0F720, "ptr", "D_80030468"] - - [0xC0F720, 0xC0F768, "ptr", "D_800304B0"] - - [0xC0F768, 0xC0F7B0, "ptr", "D_800304F8"] - - [0xC0F7B0, 0xC0F7F8, "ptr", "D_80030540"] - - [0xC0F7F8, 0xC0F840, "ptr", "D_80030588"] - - [0xC0F840, 0xC0F8D0, "ptr", "D_800305D0"] - - [0xC0F8D0, 0xC0F918, "ptr", "D_80030660"] - - [0xC0F918, 0xC0F960, "ptr", "D_800306A8"] - - [0xC0F960, 0xC0F9A8, "ptr", "D_800306F0"] - - [0xC0F9A8, 0xC0F9F0, "ptr", "D_80030738"] - - [0xC0F9F0, 0xC0FA38, "ptr", "D_80030780"] - - [0xC0FA38, 0xC0FA80, "ptr", "D_800307C8"] - - [0xC0FA80, 0xC0FAC8, "ptr", "D_80030810"] - - [0xC0FAC8, 0xC0FBE8, "ptr", "D_80030858"] - - [0xC0FBE8, 0xC0FBEC, "ptr", "objectiveregisters1"] - - [0xC0FBEC, 0xC0FBF0, "ptr", "objectiveregisters2"] - - [0xC0FBF0, 0xC0FBF4, "ptr", "objectiveregisters3"] - - [0xC0FBF4, 0xC0FBF8, "ptr", "D_80030984"] - - [0xC0FBF8, 0xC0FBFC, "ptr", "D_80030988"] - - [0xC0FBFC, 0xC0FC00, "ptr", "D_8003098C"] - - [0xC0FC00, 0xC0FC04, "ptr", "D_80030990"] - - [0xC0FC04, 0xC0FC08, "ptr", "D_80030994"] - - [0xC0FC08, 0xC0FC0C, "ptr", "D_80030998"] - - [0xC0FC0C, 0xC0FC10, "ptr", "D_8003099C"] - - [0xC0FC10, 0xC0FC14, "ptr", "D_800309A0"] - - [0xC0FC14, 0xC0FC18, "ptr", "D_800309A4"] - - [0xC0FC18, 0xC0FC1C, "ptr", "D_800309A8"] - - [0xC0FC1C, 0xC0FC20, "ptr", "D_800309AC"] - - [0xC0FC20, 0xC0FC24, "ptr", "D_800309B0"] - - [0xC0FC24, 0xC0FC28, "ptr", "D_800309B4"] - - [0xC0FC28, 0xC0FC2C, "ptr", "D_800309B8"] - - [0xC0FC2C, 0xC0FC30, "ptr", "D_800309BC"] - - [0xC0FC30, 0xC0FC34, "ptr", "D_800309C0"] - - [0xC0FC34, 0xC0FC38, "ptr", "D_800309C4"] - - [0xC0FC38, 0xC0FC3C, "ptr", "D_800309C8"] - - [0xC0FC3C, 0xC0FC40, "ptr", "D_800309CC"] - - [0xC0FC40, 0xC0FC44, "ptr", "D_800309D0"] - - [0xC0FC44, 0xC0FC48, "ptr", "D_800309D4"] - - [0xC0FC48, 0xC0FC4C, "ptr", "D_800309D8"] - - [0xC0FC4C, 0xC0FC50, "ptr", "D_800309DC"] - - [0xC0FC50, 0xC0FC54, "ptr", "D_800309E0"] - - [0xC0FC54, 0xC0FC58, "ptr", "D_800309E4"] - - [0xC0FC58, 0xC0FC5C, "ptr", "D_800309E8"] - - [0xC0FC5C, 0xC0FC60, "ptr", "D_800309EC"] - - [0xC0FC60, 0xC0FC64, "ptr", "D_800309F0"] - - [0xC0FC64, 0xC0FC68, "ptr", "D_800309F4"] - - [0xC0FC68, 0xC0FC9C, "ptr", "male_guard_yelps"] - - [0xC0FC9C, 0xC0FCA4, "ptr", "female_guard_yelps"] - - [0xC0FCA4, 0xC0FCA8, "ptr", "male_guard_yelp_counter"] - - [0xC0FCA8, 0xC0FCAC, "ptr", "female_guard_yelp_counter"] - - [0xC0FCAC, 0xC0FCAE, "ptr", "metal_ricochet_SFX"] - - [0xC0FCAE, 0xC0FCB0, "ptr", "metal_ricochet_SFX2"] - - [0xC0FCB0, 0xC0FCB4, "ptr", "metal_ricochet_SFX3"] - - [0xC0FCB4, 0xC0FCB8, "ptr", "D_80030A44"] - - [0xC0FCB8, 0xC0FCBC, "ptr", "D_80030A48"] - - [0xC0FCBC, 0xC0FCC0, "ptr", "D_80030A4C"] - - [0xC0FCC0, 0xC0FCC2, "ptr", "body_hit_SFX"] - - [0xC0FCC2, 0xC0FCC4, "ptr", "body_hit_SFX2"] - - [0xC0FCC4, 0xC0FCC6, "ptr", "body_hit_SFX3"] - - [0xC0FCC6, 0xC0FCC8, "ptr", "body_hit_SFX4"] - - [0xC0FCC8, 0xC0FCCA, "ptr", "body_hit_SFX5"] - - [0xC0FCCA, 0xC0FCCC, "ptr", "body_hit_SFX6"] - - [0xC0FCCC, 0xC0FCCE, "ptr", "body_hit_SFX7"] - - [0xC0FCCE, 0xC0FCD0, "ptr", "body_hit_SFX8"] - - [0xC0FCD0, 0xC0FCD2, "ptr", "body_hit_SFX9"] - - [0xC0FCD2, 0xC0FCD4, "ptr", "body_hit_SFXA"] - - [0xC0FCD4, 0xC0FCD6, "ptr", "body_hit_SFXB"] - - [0xC0FCD6, 0xC0FCD8, "ptr", "body_hit_SFXC"] - - [0xC0FCD8, 0xC0FCE0, "ptr", "D_80030A68"] - - [0xC0FCE0, 0xC0FCE4, "ptr", "D_80030A70"] - - [0xC0FCE4, 0xC0FCE8, "ptr", "D_80030A74"] - - [0xC0FCE8, 0xC0FCEC, "ptr", "D_80030A78"] - - [0xC0FCEC, 0xC0FCF0, "ptr", "D_80030A7C"] - - [0xC0FCF0, 0xC0FCF4, "ptr", "D_80030A80"] - - [0xC0FCF4, 0xC0FCF8, "ptr", "D_80030A84"] - - [0xC0FCF8, 0xC0FCFC, "ptr", "D_80030A88"] - - [0xC0FCFC, 0xC0FD00, "ptr", "D_80030A8C"] - - [0xC0FD00, 0xC0FD10, "ptr", "D_80030A90"] - - [0xC0FD10, 0xC0FD14, "ptr", "ptr_obj_pos_list_current_entry"] - - [0xC0FD14, 0xC0FD18, "ptr", "ptr_obj_pos_list_first_entry"] - - [0xC0FD18, 0xC0FD1C, "ptr", "ptr_obj_pos_list_final_entry"] - - [0xC0FD1C, 0xC0FD20, "ptr", "difficulty"] - - [0xC0FD20, 0xC0FD24, "ptr", "D_80030AB0"] - - [0xC0FD24, 0xC0FD30, "ptr", "D_80030AB4"] - - [0xC0FD30, 0xC0FD34, "ptr", "alarm_timer"] - - [0xC0FD34, 0xC0FD38, "ptr", "ptr_alarm_sfx"] - - [0xC0FD38, 0xC0FD3C, "ptr", "toxic_gas_sound_timer"] - - [0xC0FD3C, 0xC0FD40, "ptr", "activate_gas_sound_timer"] - - [0xC0FD40, 0xC0FD44, "ptr", "D_80030AD0"] - - [0xC0FD44, 0xC0FD48, "ptr", "D_80030AD4"] - - [0xC0FD48, 0xC0FD4C, "ptr", "D_80030AD8"] - - [0xC0FD4C, 0xC0FD50, "ptr", "D_80030ADC"] - - [0xC0FD50, 0xC0FD54, "ptr", "D_80030AE0"] - - [0xC0FD54, 0xC0FD58, "ptr", "D_80030AE4"] - - [0xC0FD58, 0xC0FD5C, "ptr", "clock"] - - [0xC0FD5C, 0xC0FD60, "ptr", "D_80030AEC"] - - [0xC0FD60, 0xC0FD64, "ptr", "D_80030AF0"] - - [0xC0FD64, 0xC0FD68, "ptr", "D_80030AF4"] - - [0xC0FD68, 0xC0FD6C, "ptr", "D_80030AF8"] - - [0xC0FD6C, 0xC0FD70, "ptr", "D_80030AFC"] - - [0xC0FD70, 0xC0FD74, "ptr", "D_80030B00"] - - [0xC0FD74, 0xC0FD78, "ptr", "D_80030B04"] - - [0xC0FD78, 0xC0FD7C, "ptr", "D_80030B08"] - - [0xC0FD7C, 0xC0FD80, "ptr", "D_80030B0C"] - - [0xC0FD80, 0xC0FD84, "ptr", "D_80030B10"] - - [0xC0FD84, 0xC0FD88, "ptr", "D_80030B14"] - - [0xC0FD88, 0xC0FD8C, "ptr", "D_80030B18"] - - [0xC0FD8C, 0xC0FD90, "ptr", "D_80030B1C"] - - [0xC0FD90, 0xC0FD94, "ptr", "D_80030B20"] - - [0xC0FD94, 0xC0FD98, "ptr", "D_80030B24"] - - [0xC0FD98, 0xC0FD9C, "ptr", "solo_ammo_multiplier"] - - [0xC0FD9C, 0xC0FD9E, "ptr", "Throwing_knife_SFX"] - - [0xC0FD9E, 0xC0FDA0, "ptr", "Throwing_knife_SFX_2"] - - [0xC0FDA0, 0xC0FDA2, "ptr", "Throwing_knife_SFX_3"] - - [0xC0FDA2, 0xC0FDE4, "ptr", "Throwing_knife_SFX_4"] - - [0xC0FDE4, 0xC0FDEC, "ptr", "monitor_animation_microcode"] - - [0xC0FDEC, 0xC0FDF0, "ptr", "D_80030B7C"] - - [0xC0FDF0, 0xC101B4, "ptr", "D_80030B80"] - - [0xC101B4, 0xC10288, "ptr", "D_80030F44"] - - [0xC10288, 0xC102E4, "ptr", "D_80031018"] - - [0xC102E4, 0xC10360, "ptr", "D_80031074"] - - [0xC10360, 0xC103FC, "ptr", "D_800310F0"] - - [0xC103FC, 0xC1048C, "ptr", "D_8003118C"] - - [0xC1048C, 0xC104B8, "ptr", "D_8003121C"] - - [0xC104B8, 0xC104E4, "ptr", "D_80031248"] - - [0xC104E4, 0xC105EC, "ptr", "D_80031274"] - - [0xC105EC, 0xC10700, "ptr", "D_8003137C"] - - [0xC10700, 0xC10768, "ptr", "D_80031490"] - - [0xC10768, 0xC107DC, "ptr", "D_800314F8"] - - [0xC107DC, 0xC107E8, "ptr", "D_8003156C"] - - [0xC107E8, 0xC10AAC, "ptr", "D_80031578"] - - [0xC10AAC, 0xC10B08, "ptr", "D_8003183C"] - - [0xC10B08, 0xC10B28, "ptr", "D_80031898"] - - [0xC10B28, 0xC10B8C, "ptr", "D_800318B8"] - - [0xC10B8C, 0xC10BC0, "ptr", "D_8003191C"] - - [0xC10BC0, 0xC10C44, "ptr", "D_80031950"] - - [0xC10C44, 0xC10C60, "ptr", "D_800319D4"] - - [0xC10C60, 0xC10C7C, "ptr", "D_800319F0"] - - [0xC10C7C, 0xC10C98, "ptr", "D_80031A0C"] - - [0xC10C98, 0xC10CB4, "ptr", "D_80031A28"] - - [0xC10CB4, 0xC10CD0, "ptr", "D_80031A44"] - - [0xC10CD0, 0xC10CEC, "ptr", "D_80031A60"] - - [0xC10CEC, 0xC10D08, "ptr", "D_80031A7C"] - - [0xC10D08, 0xC10D24, "ptr", "D_80031A98"] - - [0xC10D24, 0xC10D40, "ptr", "D_80031AB4"] - - [0xC10D40, 0xC10D5C, "ptr", "D_80031AD0"] - - [0xC10D5C, 0xC10D94, "ptr", "D_80031AEC"] - - [0xC10D94, 0xC10DA8, "ptr", "D_80031B24"] - - [0xC10DA8, 0xC10DBC, "ptr", "D_80031B38"] - - [0xC10DBC, 0xC10DD0, "ptr", "D_80031B4C"] - - [0xC10DD0, 0xC10E24, "ptr", "D_80031B60"] - - [0xC10E24, 0xC10E40, "ptr", "D_80031BB4"] - - [0xC10E40, 0xC10E5C, "ptr", "D_80031BD0"] - - [0xC10E5C, 0xC10E78, "ptr", "D_80031BEC"] - - [0xC10E78, 0xC10EF0, "ptr", "D_80031C08"] - - [0xC10EF0, 0xC10FA0, "ptr", "D_80031C80"] - - [0xC10FA0, 0xC10FC8, "ptr", "D_80031D30"] - - [0xC10FC8, 0xC11018, "ptr", "D_80031D58"] - - [0xC11018, 0xC11064, "ptr", "D_80031DA8"] - - [0xC11064, 0xC11084, "ptr", "D_80031DF4"] - - [0xC11084, 0xC110B0, "ptr", "D_80031E14"] - - [0xC110B0, 0xC110E8, "ptr", "D_80031E40"] - - [0xC110E8, 0xC11108, "ptr", "D_80031E78"] - - [0xC11108, 0xC11140, "ptr", "D_80031E98"] - - [0xC11140, 0xC1116C, "ptr", "D_80031ED0"] - - [0xC1116C, 0xC11170, "ptr", "D_80031EFC"] - - [0xC11170, 0xC111B4, "ptr", "D_80031F00"] - - [0xC111B4, 0xC111BC, "ptr", "D_80031F44"] - - [0xC111BC, 0xC11244, "ptr", "D_80031F4C"] - - [0xC11244, 0xC112BC, "ptr", "D_80031FD4"] - - [0xC112BC, 0xC112E0, "ptr", "D_8003204C"] - - [0xC112E0, 0xC11304, "ptr", "D_80032070"] - - [0xC11304, 0xC1137C, "ptr", "blank_07_object"] - - [0xC1137C, 0xC11384, "ptr", "D_8003210C"] - - [0xC11384, 0xC113FC, "ptr", "blank_11_object"] - - [0xC113FC, 0xC11404, "ptr", "D_8003218C"] - - [0xC11404, 0xC11488, "ptr", "blank_08_object_preset_1"] - - [0xC11488, 0xC1148C, "ptr", "D_80032218"] - - [0xC1148C, 0xC11510, "ptr", "blank_08_object_preset_4001"] - - [0xC11510, 0xC11514, "ptr", "D_800322A0"] - - [0xC11514, 0xC11518, "ptr", "D_800322A4"] - - [0xC11518, 0xC11560, "ptr", "D_800322A8"] - - [0xC11560, 0xC11570, "ptr", "num_objective_ptrs"] - - [0xC11570, 0xC11574, "ptr", "D_80032300"] - - [0xC11574, 0xC11578, "ptr", "D_80032304"] - - [0xC11578, 0xC11580, "ptr", "D_80032308"] - - [0xC11580, 0xC11590, "ptr", "D_80032310"] - - [0xC11590, 0xC1160C, "ptr", "table_1"] - - [0xC1160C, 0xC1168C, "ptr", "table_2"] - - [0xC1168C, 0xC116A0, "ptr", "table_3"] - - [0xC116A0, 0xC116B0, "ptr", "D_80032430"] - - [0xC116B0, 0xC116B8, "ptr", "D_80032440"] - - [0xC116B8, 0xC116C8, "ptr", "D_80032448"] - - [0xC116C8, 0xC116CC, "ptr", "D_80032458"] - - [0xC116CC, 0xC116D0, "ptr", "allocation_size_0"] - - [0xC116D0, 0xC116D4, "ptr", "allocation_size_1"] - - [0xC116D4, 0xC116DC, "ptr", "D_80032464"] - - [0xC116DC, 0xC11704, "ptr", "ejected_cartridge"] - - [0xC11704, 0xC11774, "ptr", "stru_D_80032494"] - - [0xC11774, 0xC117E4, "ptr", "GfistZ_stats"] - - [0xC117E4, 0xC11854, "ptr", "GknifeZ_stats"] - - [0xC11854, 0xC118C4, "ptr", "GthrowknifeZ_stats"] - - [0xC118C4, 0xC11934, "ptr", "GwppkZ_stats"] - - [0xC11934, 0xC119A4, "ptr", "GwppksilZ_stats"] - - [0xC119A4, 0xC11A14, "ptr", "Gtt33Z_stats"] - - [0xC11A14, 0xC11A84, "ptr", "GskorpianZ_stats"] - - [0xC11A84, 0xC11AF4, "ptr", "Gak47Z_stats"] - - [0xC11AF4, 0xC11B64, "ptr", "GuziZ_stats"] - - [0xC11B64, 0xC11BD4, "ptr", "Gmp5kZ_stats"] - - [0xC11BD4, 0xC11C44, "ptr", "Gmp5ksilZ_stats"] - - [0xC11C44, 0xC11CB4, "ptr", "GspectreZ_stats"] - - [0xC11CB4, 0xC11D24, "ptr", "Gm16Z_stats"] - - [0xC11D24, 0xC11D94, "ptr", "Gfnp90Z_stats"] - - [0xC11D94, 0xC11E04, "ptr", "GshotgunZ_stats"] - - [0xC11E04, 0xC11E74, "ptr", "GautoshotZ_stats"] - - [0xC11E74, 0xC11EE4, "ptr", "GsniperrifleZ_stats"] - - [0xC11EE4, 0xC11F54, "ptr", "GrugerZ_stats"] - - [0xC11F54, 0xC11FC4, "ptr", "GgoldengunZ_stats"] - - [0xC11FC4, 0xC12034, "ptr", "GsilverwppkZ_stats"] - - [0xC12034, 0xC120A4, "ptr", "GgoldwppkZ_stats"] - - [0xC120A4, 0xC12114, "ptr", "GlaserZ_stats"] - - [0xC12114, 0xC12184, "ptr", "GwatchlaserZ_stats"] - - [0xC12184, 0xC121F4, "ptr", "GgrenadelaunchZ_stats"] - - [0xC121F4, 0xC12264, "ptr", "GrocketlaunchZ_stats"] - - [0xC12264, 0xC122D4, "ptr", "GgrenadeZ_stats"] - - [0xC122D4, 0xC12344, "ptr", "GtimedmineZ_stats"] - - [0xC12344, 0xC123B4, "ptr", "GproximitymineZ_stats"] - - [0xC123B4, 0xC12424, "ptr", "GremotemineZ_stats"] - - [0xC12424, 0xC12494, "ptr", "GtriggerZ_stats"] - - [0xC12494, 0xC12504, "ptr", "GtaserZ_stats"] - - [0xC12504, 0xC12574, "ptr", "GtankZ_stats"] - - [0xC12574, 0xC125E4, "ptr", "GbombcaseZ_stats"] - - [0xC125E4, 0xC12654, "ptr", "GplastiqueZ_stats"] - - [0xC12654, 0xC126C4, "ptr", "GflarepistolZ_stats"] - - [0xC126C4, 0xC12734, "ptr", "GpitongunZ_stats"] - - [0xC12734, 0xC127A4, "ptr", "GbugZ_stats"] - - [0xC127A4, 0xC12814, "ptr", "GmicrocameraZ_stats"] - - [0xC12814, 0xC12884, "ptr", "GwatchmagnetattractZ_stats"] - - [0xC12884, 0xC128F4, "ptr", "GgoldeneyekeyZ_stats"] - - [0xC128F4, 0xC12964, "ptr", "GcameraZ_stats"] - - [0xC12964, 0xC129D4, "ptr", "Csuit_lf_handz_stats"] - - [0xC129D4, 0xC12A44, "ptr", "GjoypadZ_stats"] - - [0xC12A44, 0xC12AB4, "ptr", "D_800337D4"] - - [0xC12AB4, 0xC12B24, "ptr", "D_80033844"] - - [0xC12B24, 0xC12B94, "ptr", "D_800338B4"] - - [0xC12B94, 0xC13EE4, "ptr", "D_80033924"] - - [0xC13EE4, 0xC14050, "ptr", "D_80034C74"] - - [0xC14050, 0xC1407C, "ptr", "D_80034DE0"] - - [0xC1407C, 0xC141B8, "ptr", "D_80034E0C"] - - [0xC141B8, 0xC141E4, "ptr", "D_80034F48"] - - [0xC141E4, 0xC14290, "ptr", "D_80034F74"] - - [0xC14290, 0xC142BC, "ptr", "D_80035020"] - - [0xC142BC, 0xC14368, "ptr", "D_8003504C"] - - [0xC14368, 0xC14394, "ptr", "D_800350F8"] - - [0xC14394, 0xC14440, "ptr", "D_80035124"] - - [0xC14440, 0xC1446C, "ptr", "D_800351D0"] - - [0xC1446C, 0xC14518, "ptr", "D_800351FC"] - - [0xC14518, 0xC145F0, "ptr", "D_800352A8"] - - [0xC145F0, 0xC146EC, "ptr", "D_80035380"] - - [0xC146EC, 0xC14854, "ptr", "D_8003547C"] - - [0xC14854, 0xC149BC, "ptr", "D_800355E4"] - - [0xC149BC, 0xC14B48, "ptr", "D_8003574C"] - - [0xC14B48, 0xC14CD4, "ptr", "D_800358D8"] - - [0xC14CD4, 0xC14D94, "ptr", "D_80035A64"] - - [0xC14D94, 0xC14E84, "ptr", "D_80035B24"] - - [0xC14E84, 0xC14EB0, "ptr", "D_80035C14"] - - [0xC14EB0, 0xC14EB4, "ptr", "D_80035C40"] - - [0xC14EB4, 0xC14EB8, "ptr", "D_80035C44"] - - [0xC14EB8, 0xC14EBC, "ptr", "D_80035C48"] - - [0xC14EBC, 0xC14EC0, "ptr", "D_80035C4C"] - - [0xC14EC0, 0xC14EC4, "ptr", "D_80035C50"] - - [0xC14EC4, 0xC14EC8, "ptr", "D_80035C54"] - - [0xC14EC8, 0xC14ECC, "ptr", "D_80035C58"] - - [0xC14ECC, 0xC14ED0, "ptr", "D_80035C5C"] - - [0xC14ED0, 0xC14ED4, "ptr", "D_80035C60"] - - [0xC14ED4, 0xC14ED8, "ptr", "D_80035C64"] - - [0xC14ED8, 0xC14EDC, "ptr", "D_80035C68"] - - [0xC14EDC, 0xC14EE0, "ptr", "D_80035C6C"] - - [0xC14EE0, 0xC14EE4, "ptr", "D_80035C70"] - - [0xC14EE4, 0xC14EE8, "ptr", "D_80035C74"] - - [0xC14EE8, 0xC14EEC, "ptr", "D_80035C78"] - - [0xC14EEC, 0xC14EF0, "ptr", "D_80035C7C"] - - [0xC14EF0, 0xC14EF4, "ptr", "D_80035C80"] - - [0xC14EF4, 0xC14EF8, "ptr", "D_80035C84"] - - [0xC14EF8, 0xC14EFC, "ptr", "D_80035C88"] - - [0xC14EFC, 0xC14F00, "ptr", "D_80035C8C"] - - [0xC14F00, 0xC14F08, "ptr", "D_80035C90"] - - [0xC14F08, 0xC14F0C, "ptr", "D_80035C98"] - - [0xC14F0C, 0xC14F10, "ptr", "D_80035C9C"] - - [0xC14F10, 0xC14F14, "ptr", "D_80035CA0"] - - [0xC14F14, 0xC14F34, "ptr", "D_80035CA4"] - - [0xC14F34, 0xC14F74, "ptr", "D_80035CC4"] - - [0xC14F74, 0xC14FB4, "ptr", "D_80035D04"] - - [0xC14FB4, 0xC15074, "ptr", "D_80035D44"] - - [0xC15074, 0xC15124, "ptr", "D_80035E04"] - - [0xC15124, 0xC152B0, "ptr", "D_80035EB4"] - - [0xC152B0, 0xC152F8, "ptr", "D_80036040"] - - [0xC152F8, 0xC152FC, "ptr", "D_80036088"] - - [0xC152FC, 0xC15300, "ptr", "D_8003608C"] - - [0xC15300, 0xC15304, "ptr", "D_80036090"] - - [0xC15304, 0xC15308, "ptr", "D_80036094"] - - [0xC15308, 0xC1530C, "ptr", "D_80036098"] - - [0xC1530C, 0xC15310, "ptr", "D_8003609C"] - - [0xC15310, 0xC15314, "ptr", "D_800360A0"] - - [0xC15314, 0xC15318, "ptr", "D_800360A4"] - - [0xC15318, 0xC1531C, "ptr", "D_800360A8"] - - [0xC1531C, 0xC15320, "ptr", "D_800360AC"] - - [0xC15320, 0xC15324, "ptr", "D_800360B0"] - - [0xC15324, 0xC15328, "ptr", "D_800360B4"] - - [0xC15328, 0xC1532C, "ptr", "D_800360B8"] - - [0xC1532C, 0xC15330, "ptr", "D_800360BC"] - - [0xC15330, 0xC15334, "ptr", "D_800360C0"] - - [0xC15334, 0xC154B4, "ptr", "D_800360C4"] - - [0xC154B4, 0xC154B8, "ptr", "D_80036244"] - - [0xC154B8, 0xC154BC, "ptr", "D_80036248"] - - [0xC154BC, 0xC154C0, "ptr", "D_8003624C"] - - [0xC154C0, 0xC1558C, "ptr", "D_80036250"] - - [0xC1558C, 0xC1565C, "ptr", "D_8003631C"] - - [0xC1565C, 0xC15660, "ptr", "D_800363EC"] - - [0xC15660, 0xC15668, "ptr", "D_800363F0"] - - [0xC15668, 0xC1566C, "ptr", "D_800363F8"] - - [0xC1566C, 0xC15670, "ptr", "D_800363FC"] - - [0xC15670, 0xC15674, "ptr", "D_80036400"] - - [0xC15674, 0xC15678, "ptr", "D_80036404"] - - [0xC15678, 0xC1567C, "ptr", "D_80036408"] - - [0xC1567C, 0xC15680, "ptr", "D_8003640C"] - - [0xC15680, 0xC15684, "ptr", "D_80036410"] - - [0xC15684, 0xC15688, "ptr", "D_80036414"] - - [0xC15688, 0xC1568C, "ptr", "D_80036418"] - - [0xC1568C, 0xC15694, "ptr", "D_8003641C"] - - [0xC15694, 0xC15698, "ptr", "camera_80036424"] - - [0xC15698, 0xC1569C, "ptr", "resolution"] - - [0xC1569C, 0xC156A0, "ptr", "camera_8003642C"] - - [0xC156A0, 0xC156A4, "ptr", "camera_80036430"] - - [0xC156A4, 0xC156A8, "ptr", "camera_80036434"] - - [0xC156A8, 0xC156AC, "ptr", "camera_80036438"] - - [0xC156AC, 0xC156B0, "ptr", "D_8003643C"] - - [0xC156B0, 0xC156B4, "ptr", "D_80036440"] - - [0xC156B4, 0xC156B8, "ptr", "D_80036444"] - - [0xC156B8, 0xC156BC, "ptr", "D_80036448"] - - [0xC156BC, 0xC156C0, "ptr", "D_8003644C"] - - [0xC156C0, 0xC156C4, "ptr", "D_80036450"] - - [0xC156C4, 0xC156C8, "ptr", "D_80036454"] - - [0xC156C8, 0xC156CC, "ptr", "SFX_80036458"] - - [0xC156CC, 0xC156D0, "ptr", "SFX_8003645C"] - - [0xC156D0, 0xC156D4, "ptr", "D_80036460"] - - [0xC156D4, 0xC156D8, "ptr", "D_80036464"] - - [0xC156D8, 0xC156DC, "ptr", "D_80036468"] - - [0xC156DC, 0xC156E0, "ptr", "D_8003646C"] - - [0xC156E0, 0xC156E4, "ptr", "D_80036470"] - - [0xC156E4, 0xC156E8, "ptr", "D_80036474"] - - [0xC156E8, 0xC156EC, "ptr", "D_80036478"] - - [0xC156EC, 0xC156F0, "ptr", "D_8003647C"] - - [0xC156F0, 0xC156F4, "ptr", "D_80036480"] - - [0xC156F4, 0xC156F8, "ptr", "D_80036484"] - - [0xC156F8, 0xC156FC, "ptr", "D_80036488"] - - [0xC156FC, 0xC15700, "ptr", "D_8003648C"] - - [0xC15700, 0xC15704, "ptr", "D_80036490"] - - [0xC15704, 0xC15708, "ptr", "D_80036494"] - - [0xC15708, 0xC1570C, "ptr", "D_80036498"] - - [0xC1570C, 0xC15710, "ptr", "D_8003649C"] - - [0xC15710, 0xC15714, "ptr", "D_800364A0"] - - [0xC15714, 0xC15718, "ptr", "D_800364A4"] - - [0xC15718, 0xC1571C, "ptr", "D_800364A8"] - - [0xC1571C, 0xC15720, "ptr", "D_800364AC"] - - [0xC15720, 0xC15724, "ptr", "D_800364B0"] - - [0xC15724, 0xC15728, "ptr", "disable_player_pickups_flag"] - - [0xC15728, 0xC1572C, "ptr", "D_800364B8"] - - [0xC1572C, 0xC15730, "ptr", "D_800364BC"] - - [0xC15730, 0xC15734, "ptr", "D_800364C0"] - - [0xC15734, 0xC15738, "ptr", "invisible_to_guards_flag"] - - [0xC15738, 0xC1573C, "ptr", "obj_collision_flag"] - - [0xC1573C, 0xC15740, "ptr", "D_800364CC"] - - [0xC15740, 0xC15744, "ptr", "D_800364D0"] - - [0xC15744, 0xC15748, "ptr", "D_800364D4"] - - [0xC15748, 0xC1577C, "ptr", "D_800364D8"] - - [0xC1577C, 0xC15780, "ptr", "D_8003650C"] - - [0xC15780, 0xC15784, "ptr", "D_80036510"] - - [0xC15784, 0xC15788, "ptr", "D_80036514"] - - [0xC15788, 0xC15818, "ptr", "D_80036518"] - - [0xC15818, 0xC1581C, "ptr", "D_800365A8"] - - [0xC1581C, 0xC158A0, "ptr", "dummy_08_pp7_obj"] - - [0xC158A0, 0xC158A4, "ptr", "D_80036630"] - - [0xC158A4, 0xC15A04, "ptr", "D_80036634"] - - [0xC15A04, 0xC15A64, "ptr", "D_80036794"] - - [0xC15A64, 0xC15A68, "ptr", "D_800367F4"] - - [0xC15A68, 0xC15A6C, "ptr", "D_800367F8"] - - [0xC15A6C, 0xC15A70, "ptr", "D_800367FC"] - - [0xC15A70, 0xC15A74, "ptr", "D_80036800"] - - [0xC15A74, 0xC15A78, "ptr", "D_80036804"] - - [0xC15A78, 0xC15A7C, "ptr", "D_80036808"] - - [0xC15A7C, 0xC15A80, "ptr", "D_8003680C"] - - [0xC15A80, 0xC15A84, "ptr", "D_80036810"] - - [0xC15A84, 0xC15A88, "ptr", "D_80036814"] - - [0xC15A88, 0xC15A8C, "ptr", "D_80036818"] - - [0xC15A8C, 0xC15A90, "ptr", "D_8003681C"] - - [0xC15A90, 0xC15A94, "ptr", "D_80036820"] - - [0xC15A94, 0xC15A98, "ptr", "D_80036824"] - - [0xC15A98, 0xC15A9C, "ptr", "D_80036828"] - - [0xC15A9C, 0xC15AA0, "ptr", "D_8003682C"] - - [0xC15AA0, 0xC15AA4, "ptr", "D_80036830"] - - [0xC15AA4, 0xC15AA8, "ptr", "D_80036834"] - - [0xC15AA8, 0xC15AAC, "ptr", "D_80036838"] - - [0xC15AAC, 0xC15AB0, "ptr", "D_8003683C"] - - [0xC15AB0, 0xC15B20, "ptr", "D_80036840"] - - [0xC15B20, 0xC15B28, "ptr", "D_800368B0"] - - [0xC15B28, 0xC15B48, "ptr", "D_800368B8"] - - [0xC15B48, 0xC15D1C, "ptr", "firing_animation_groups"] - - [0xC15D1C, 0xC15D40, "ptr", "D_80036AAC"] - - [0xC15D40, 0xC15D54, "ptr", "D_80036AD0"] - - [0xC15D54, 0xC15D70, "ptr", "D_80036AE4"] - - [0xC15D70, 0xC15D74, "ptr", "D_80036B00"] - - [0xC15D74, 0xC15D78, "ptr", "D_80036B04"] - - [0xC15D78, 0xC15D7C, "ptr", "D_80036B08"] - - [0xC15D7C, 0xC15D80, "ptr", "D_80036B0C"] - - [0xC15D80, 0xC15D84, "ptr", "D_80036B10"] - - [0xC15D84, 0xC15D88, "ptr", "D_80036B14"] - - [0xC15D88, 0xC15D8C, "ptr", "D_80036B18"] - - [0xC15D8C, 0xC15D90, "ptr", "D_80036B1C"] - - [0xC15D90, 0xC15D94, "ptr", "D_80036B20"] - - [0xC15D94, 0xC15D98, "ptr", "D_80036B24"] - - [0xC15D98, 0xC15D9C, "ptr", "D_80036B28"] - - [0xC15D9C, 0xC15DA0, "ptr", "D_80036B2C"] - - [0xC15DA0, 0xC15DD0, "ptr", "D_80036B30"] - - [0xC15DD0, 0xC15DD4, "ptr", "D_80036B60"] - - [0xC15DD4, 0xC15DD8, "ptr", "D_80036B64"] - - [0xC15DD8, 0xC15DDC, "ptr", "D_80036B68"] - - [0xC15DDC, 0xC15DE0, "ptr", "D_80036B6C"] - - [0xC15DE0, 0xC15DE4, "ptr", "highlighted_debug_option"] - - [0xC15DE4, 0xC15DE8, "ptr", "ptr_last_debuggrp_cutoff"] - - [0xC15DE8, 0xC15DEC, "ptr", "ptr_textptrs"] - - [0xC15DEC, 0xC15DF0, "ptr", "ptr_positions"] - - [0xC15DF0, 0xC15DF4, "ptr", "number_groups"] - - [0xC15DF4, 0xC15DF8, "ptr", "ptr_groupings"] - - [0xC15DF8, 0xC15DFC, "ptr", "num_mcm_something"] - - [0xC15DFC, 0xC15E00, "ptr", "mcm_xoffset_multiplier"] - - [0xC15E00, 0xC15E14, "ptr", "mcm_yoffset_multiplier"] - - [0xC15E14, 0xC15E38, "ptr", "mcm_column_groupings"] - - [0xC15E38, 0xC160A0, "ptr", "mcm_onscreen_positions"] - - [0xC160A0, 0xC161D4, "ptr", "mcm_strings"] - - [0xC161D4, 0xC161D8, "ptr", "debug_render_raster"] - - [0xC161D8, 0xC161DC, "ptr", "debug_freeze_processing"] - - [0xC161DC, 0xC161E0, "ptr", "debug_limit_controller_input"] - - [0xC161E0, 0xC161E4, "ptr", "debug_unknown"] - - [0xC161E4, 0xC161E8, "ptr", "debug_fps_counter_membars"] - - [0xC161E8, 0xC161EC, "ptr", "debug_do_draw_bg"] - - [0xC161EC, 0xC161F0, "ptr", "debug_do_draw_obj"] - - [0xC161F0, 0xC161F4, "ptr", "debug_unknown2"] - - [0xC161F4, 0xC161F8, "ptr", "line_mode"] - - [0xC161F8, 0xC161FC, "ptr", "debug_man_pos"] - - [0xC161FC, 0xC16200, "ptr", "turbo_mode"] - - [0xC16200, 0xC16204, "ptr", "D_80036F90"] - - [0xC16204, 0xC16208, "ptr", "D_80036F94"] - - [0xC16208, 0xC1620C, "ptr", "D_80036F98"] - - [0xC1620C, 0xC16210, "ptr", "D_80036F9C"] - - [0xC16210, 0xC16214, "ptr", "D_80036FA0"] - - [0xC16214, 0xC16218, "ptr", "D_80036FA4"] - - [0xC16218, 0xC1621C, "ptr", "D_80036FA8"] - - [0xC1621C, 0xC16220, "ptr", "D_80036FAC"] - - [0xC16220, 0xC16224, "ptr", "debug_enable_agent_levels_flag"] - - [0xC16224, 0xC16228, "ptr", "debug_enable_all_levels_flag"] - - [0xC16228, 0xC1622C, "ptr", "D_80036FB8"] - - [0xC1622C, 0xC1622F, "ptr", "D_80036FBC"] - - [0xC1622F, 0xC16230, "ptr", "move_watch_item_preview_flag"] - - [0xC16230, 0xC16234, "ptr", "D_80036FC0"] - - [0xC16234, 0xC16238, "ptr", "debug_enable_taskgrab_flag"] - - [0xC16238, 0xC1623C, "ptr", "D_80036FC8"] - - [0xC1623C, 0xC16240, "ptr", "debug_fast_bond_flag"] - - [0xC16240, 0xC16244, "ptr", "debug_all_obj_complete"] - - [0xC16244, 0xC16248, "ptr", "D_80036FD4"] - - [0xC16248, 0xC16268, "ptr", "D_80036FD8"] - - [0xC16268, 0xC1626C, "ptr", "show_debug_menu_flag"] - - [0xC1626C, 0xC16270, "ptr", "grab_rgb_screenshot"] - - [0xC16270, 0xC16274, "ptr", "grab_jpeg_screenshot"] - - [0xC16274, 0xC16278, "ptr", "D_80037004"] - - [0xC16278, 0xC1627C, "ptr", "D_80037008"] - - [0xC1627C, 0xC16284, "ptr", "D_8003700C"] - - [0xC16284, 0xC16288, "ptr", "D_80037014"] - - [0xC16288, 0xC1628C, "ptr", "D_80037018"] - - [0xC1628C, 0xC16290, "ptr", "D_8003701C"] - - [0xC16290, 0xC16294, "ptr", "D_80037020"] - - [0xC16294, 0xC16298, "ptr", "D_80037024"] - - [0xC16298, 0xC1629C, "ptr", "D_80037028"] - - [0xC1629C, 0xC162A0, "ptr", "D_8003702C"] - - [0xC162A0, 0xC162A4, "ptr", "D_80037030"] - - [0xC162A4, 0xC162A8, "ptr", "D_80037034"] - - [0xC162A8, 0xC162AC, "ptr", "D_80037038"] - - [0xC162AC, 0xC162B0, "ptr", "D_8003703C"] - - [0xC162B0, 0xC162B4, "ptr", "D_80037040"] - - [0xC162B4, 0xC162B8, "ptr", "D_80037044"] - - [0xC162B8, 0xC162BC, "ptr", "D_80037048"] - - [0xC162BC, 0xC162C0, "ptr", "D_8003704C"] - - [0xC162C0, 0xC162C4, "ptr", "D_80037050"] - - [0xC162C4, 0xC162C8, "ptr", "D_80037054"] - - [0xC162C8, 0xC162CC, "ptr", "D_80037058"] - - [0xC162CC, 0xC162D0, "ptr", "D_8003705C"] - - [0xC162D0, 0xC162D4, "ptr", "D_80037060"] - - [0xC162D4, 0xC162D8, "ptr", "D_80037064"] - - [0xC162D8, 0xC162E0, "ptr", "D_80037068"] - - [0xC162E0, 0xC162EC, "ptr", "D_80037070"] - - [0xC162EC, 0xC162F4, "ptr", "D_8003707C"] - - [0xC162F4, 0xC1634C, "ptr", "D_80037084"] - - [0xC1634C, 0xC163AC, "ptr", "D_800370DC"] - - [0xC163AC, 0xC163EC, "ptr", "D_8003713C"] - - [0xC163EC, 0xC16424, "ptr", "D_8003717C"] - - [0xC16424, 0xC1647C, "ptr", "D_800371B4"] - - [0xC1647C, 0xC16494, "ptr", "D_8003720C"] - - [0xC16494, 0xC164B8, "ptr", "D_80037224"] - - [0xC164B8, 0xC164C0, "ptr", "D_80037248"] - - [0xC164C0, 0xC164F0, "ptr", "D_80037250"] - - [0xC164F0, 0xC16540, "ptr", "D_80037280"] - - [0xC16540, 0xC16550, "ptr", "D_800372D0"] - - [0xC16550, 0xC16640, "ptr", "D_800372E0"] - - [0xC16640, 0xC16650, "ptr", "D_800373D0"] - - [0xC16650, 0xC16658, "ptr", "D_800373E0"] - - [0xC16658, 0xC166B4, "ptr", "D_800373E8"] - - [0xC166B4, 0xC166BC, "ptr", "D_80037444"] - - [0xC166BC, 0xC16754, "ptr", "D_8003744C"] - - [0xC16754, 0xC16840, "ptr", "setup_text_pointers"] - - [0xC16840, 0xC16860, "ptr", "Palarm1z_header"] - - [0xC16860, 0xC16880, "ptr", "Palarm2Z_header"] - - [0xC16880, 0xC168A0, "ptr", "PexplosionbitZ_header"] - - [0xC168A0, 0xC168C0, "ptr", "Pammo_crate1Z_header"] - - [0xC168C0, 0xC168E0, "ptr", "Pammo_crate2Z_header"] - - [0xC168E0, 0xC16900, "ptr", "Pammo_crate3Z_header"] - - [0xC16900, 0xC16920, "ptr", "Pammo_crate4Z_header"] - - [0xC16920, 0xC16940, "ptr", "Pammo_crate5Z_header"] - - [0xC16940, 0xC16960, "ptr", "Pbin1Z_header"] - - [0xC16960, 0xC16980, "ptr", "Pblotter1Z_header"] - - [0xC16980, 0xC169A0, "ptr", "Pbook1Z_header"] - - [0xC169A0, 0xC169C0, "ptr", "Pbookshelf1Z_header"] - - [0xC169C0, 0xC169E0, "ptr", "Pbridge_console1aZ_header"] - - [0xC169E0, 0xC16A00, "ptr", "Pbridge_console1bZ_header"] - - [0xC16A00, 0xC16A20, "ptr", "Pbridge_console2aZ_header"] - - [0xC16A20, 0xC16A40, "ptr", "Pbridge_console2bZ_header"] - - [0xC16A40, 0xC16A60, "ptr", "Pbridge_console3aZ_header"] - - [0xC16A60, 0xC16A80, "ptr", "Pbridge_console3bZ_header"] - - [0xC16A80, 0xC16AA0, "ptr", "Pcard_box1Z_header"] - - [0xC16AA0, 0xC16AC0, "ptr", "Pcard_box2Z_header"] - - [0xC16AC0, 0xC16AE0, "ptr", "Pcard_box3Z_header"] - - [0xC16AE0, 0xC16B00, "ptr", "Pcard_box4_lgZ_header"] - - [0xC16B00, 0xC16B20, "ptr", "Pcard_box5_lgZ_header"] - - [0xC16B20, 0xC16B40, "ptr", "Pcard_box6_lgZ_header"] - - [0xC16B40, 0xC16B60, "ptr", "PcctvZ_header"] - - [0xC16B60, 0xC16B80, "ptr", "Pconsole1Z_header"] - - [0xC16B80, 0xC16BA0, "ptr", "Pconsole2Z_header"] - - [0xC16BA0, 0xC16BC0, "ptr", "Pconsole3Z_header"] - - [0xC16BC0, 0xC16BE0, "ptr", "Pconsole_sevaZ_header"] - - [0xC16BE0, 0xC16C00, "ptr", "Pconsole_sevbZ_header"] - - [0xC16C00, 0xC16C20, "ptr", "Pconsole_sevcZ_header"] - - [0xC16C20, 0xC16C40, "ptr", "Pconsole_sevdZ_header"] - - [0xC16C40, 0xC16C60, "ptr", "Pconsole_sev2aZ_header"] - - [0xC16C60, 0xC16C80, "ptr", "Pconsole_sev2bZ_header"] - - [0xC16C80, 0xC16CA0, "ptr", "Pconsole_sev2cZ_header"] - - [0xC16CA0, 0xC16CC0, "ptr", "Pconsole_sev2dZ_header"] - - [0xC16CC0, 0xC16CE0, "ptr", "Pconsole_sev_GEaZ_header"] - - [0xC16CE0, 0xC16D00, "ptr", "Pconsole_sev_GEbZ_header"] - - [0xC16D00, 0xC16D20, "ptr", "Pdesk1Z_header"] - - [0xC16D20, 0xC16D40, "ptr", "Pdesk2Z_header"] - - [0xC16D40, 0xC16D60, "ptr", "Pdesk_lamp2Z_header"] - - [0xC16D60, 0xC16D80, "ptr", "Pdisc_readerZ_header"] - - [0xC16D80, 0xC16DA0, "ptr", "Pdisk_drive1Z_header"] - - [0xC16DA0, 0xC16DC0, "ptr", "Pfiling_cabinet1Z_header"] - - [0xC16DC0, 0xC16DE0, "ptr", "Pjerry_can1Z_header"] - - [0xC16DE0, 0xC16E00, "ptr", "Pkeyboard1Z_header"] - - [0xC16E00, 0xC16E20, "ptr", "Pkit_units1Z_header"] - - [0xC16E20, 0xC16E40, "ptr", "Pletter_tray1Z_header"] - - [0xC16E40, 0xC16E60, "ptr", "Pmainframe1Z_header"] - - [0xC16E60, 0xC16E80, "ptr", "Pmainframe2Z_header"] - - [0xC16E80, 0xC16EA0, "ptr", "Pmetal_chair1Z_header"] - - [0xC16EA0, 0xC16EC0, "ptr", "Pmetal_crate1Z_header"] - - [0xC16EC0, 0xC16EE0, "ptr", "Pmetal_crate2Z_header"] - - [0xC16EE0, 0xC16F00, "ptr", "Pmetal_crate3Z_header"] - - [0xC16F00, 0xC16F20, "ptr", "Pmetal_crate4Z_header"] - - [0xC16F20, 0xC16F40, "ptr", "Pmissile_rackZ_header"] - - [0xC16F40, 0xC16F60, "ptr", "Pmissile_rack2Z_header"] - - [0xC16F60, 0xC16F80, "ptr", "Poil_drum1Z_header"] - - [0xC16F80, 0xC16FA0, "ptr", "Poil_drum2Z_header"] - - [0xC16FA0, 0xC16FC0, "ptr", "Poil_drum3Z_header"] - - [0xC16FC0, 0xC16FE0, "ptr", "Poil_drum5Z_header"] - - [0xC16FE0, 0xC17000, "ptr", "Poil_drum6Z_header"] - - [0xC17000, 0xC17020, "ptr", "Poil_drum7Z_header"] - - [0xC17020, 0xC17040, "ptr", "PpadlockZ_header"] - - [0xC17040, 0xC17060, "ptr", "Pphone1Z_header"] - - [0xC17060, 0xC17080, "ptr", "Pradio_unit1Z_header"] - - [0xC17080, 0xC170A0, "ptr", "Pradio_unit2Z_header"] - - [0xC170A0, 0xC170C0, "ptr", "Pradio_unit3Z_header"] - - [0xC170C0, 0xC170E0, "ptr", "Pradio_unit4Z_header"] - - [0xC170E0, 0xC17100, "ptr", "Psat1_reflectZ_header"] - - [0xC17100, 0xC17120, "ptr", "PsatdishZ_header"] - - [0xC17120, 0xC17140, "ptr", "PsatboxZ_header"] - - [0xC17140, 0xC17160, "ptr", "Pstool1Z_header"] - - [0xC17160, 0xC17180, "ptr", "Pswivel_chair1Z_header"] - - [0xC17180, 0xC171A0, "ptr", "Ptorpedo_rackZ_header"] - - [0xC171A0, 0xC171C0, "ptr", "Ptv1Z_header"] - - [0xC171C0, 0xC171E0, "ptr", "Ptv_holderZ_header"] - - [0xC171E0, 0xC17200, "ptr", "PtvscreenZ_header"] - - [0xC17200, 0xC17220, "ptr", "Ptv4screenZ_header"] - - [0xC17220, 0xC17240, "ptr", "Pwood_lg_crate1Z_header"] - - [0xC17240, 0xC17260, "ptr", "Pwood_lg_crate2Z_header"] - - [0xC17260, 0xC17280, "ptr", "Pwood_md_crate3Z_header"] - - [0xC17280, 0xC172A0, "ptr", "Pwood_sm_crate4Z_header"] - - [0xC172A0, 0xC172C0, "ptr", "Pwood_sm_crate5Z_header"] - - [0xC172C0, 0xC172E0, "ptr", "Pwood_sm_crate6Z_header"] - - [0xC172E0, 0xC17300, "ptr", "Pwooden_table1Z_header"] - - [0xC17300, 0xC17320, "ptr", "Pswipe_card2Z_header"] - - [0xC17320, 0xC17340, "ptr", "Pborg_crateZ_header"] - - [0xC17340, 0xC17360, "ptr", "Pboxes4x4Z_header"] - - [0xC17360, 0xC17380, "ptr", "Pboxes3x4Z_header"] - - [0xC17380, 0xC173A0, "ptr", "Pboxes2x4Z_header"] - - [0xC173A0, 0xC173C0, "ptr", "Psec_panelZ_header"] - - [0xC173C0, 0xC173E0, "ptr", "PICBM_noseZ_header"] - - [0xC173E0, 0xC17400, "ptr", "PICBMZ_header"] - - [0xC17400, 0xC17420, "ptr", "Ptuning_console1Z_header"] - - [0xC17420, 0xC17440, "ptr", "Pdesk_arecibo1Z_header"] - - [0xC17440, 0xC17460, "ptr", "Plocker3Z_header"] - - [0xC17460, 0xC17480, "ptr", "Plocker4Z_header"] - - [0xC17480, 0xC174A0, "ptr", "ProofgunZ_header"] - - [0xC174A0, 0xC174C0, "ptr", "Pdest_engineZ_header"] - - [0xC174C0, 0xC174E0, "ptr", "Pdest_exocetZ_header"] - - [0xC174E0, 0xC17500, "ptr", "Pdest_gunZ_header"] - - [0xC17500, 0xC17520, "ptr", "Pdest_harpoonZ_header"] - - [0xC17520, 0xC17540, "ptr", "Pdest_seawolfZ_header"] - - [0xC17540, 0xC17560, "ptr", "PwindowZ_header"] - - [0xC17560, 0xC17580, "ptr", "Pwindow_lib_lg1Z_header"] - - [0xC17580, 0xC175A0, "ptr", "Pwindow_lib_sm1Z_header"] - - [0xC175A0, 0xC175C0, "ptr", "Pwindow_cor11Z_header"] - - [0xC175C0, 0xC175E0, "ptr", "Pjungle3_treeZ_header"] - - [0xC175E0, 0xC17600, "ptr", "PpalmZ_header"] - - [0xC17600, 0xC17620, "ptr", "PpalmtreeZ_header"] - - [0xC17620, 0xC17640, "ptr", "Pplant2bZ_header"] - - [0xC17640, 0xC17660, "ptr", "PlabbenchZ_header"] - - [0xC17660, 0xC17680, "ptr", "PgasbarrelZ_header"] - - [0xC17680, 0xC176A0, "ptr", "PgasbarrelsZ_header"] - - [0xC176A0, 0xC176C0, "ptr", "PbodyarmourZ_header"] - - [0xC176C0, 0xC176E0, "ptr", "PbodyarmourvestZ_header"] - - [0xC176E0, 0xC17700, "ptr", "PgastankZ_header"] - - [0xC17700, 0xC17720, "ptr", "Pglassware1Z_header"] - - [0xC17720, 0xC17740, "ptr", "PhatchboltZ_header"] - - [0xC17740, 0xC17760, "ptr", "PbrakeunitZ_header"] - - [0xC17760, 0xC17780, "ptr", "Pak47magZ_header"] - - [0xC17780, 0xC177A0, "ptr", "Pm16magZ_header"] - - [0xC177A0, 0xC177C0, "ptr", "Pmp5kmagZ_header"] - - [0xC177C0, 0xC177E0, "ptr", "PskorpionmagZ_header"] - - [0xC177E0, 0xC17800, "ptr", "PspectremagZ_header"] - - [0xC17800, 0xC17820, "ptr", "PuzimagZ_header"] - - [0xC17820, 0xC17840, "ptr", "PsilencerZ_header"] - - [0xC17840, 0xC17860, "ptr", "PchrextinguisherZ_header"] - - [0xC17860, 0xC17880, "ptr", "PboxcartridgesZ_header"] - - [0xC17880, 0xC178A0, "ptr", "Pfnp90magZ_header"] - - [0xC178A0, 0xC178C0, "ptr", "PgoldenshellsZ_header"] - - [0xC178C0, 0xC178E0, "ptr", "PmagnumshellsZ_header"] - - [0xC178E0, 0xC17900, "ptr", "PwppkmagZ_header"] - - [0xC17900, 0xC17920, "ptr", "Ptt33magZ_header"] - - [0xC17920, 0xC17940, "ptr", "Psev_doorZ_header"] - - [0xC17940, 0xC17960, "ptr", "Psev_door3Z_header"] - - [0xC17960, 0xC17980, "ptr", "Psev_door3_windZ_header"] - - [0xC17980, 0xC179A0, "ptr", "Psev_door4_windZ_header"] - - [0xC179A0, 0xC179C0, "ptr", "Psev_trislideZ_header"] - - [0xC179C0, 0xC179E0, "ptr", "Psev_door_v1Z_header"] - - [0xC179E0, 0xC17A00, "ptr", "Psteel_door1Z_header"] - - [0xC17A00, 0xC17A20, "ptr", "Psteel_door2Z_header"] - - [0xC17A20, 0xC17A40, "ptr", "Psteel_door3Z_header"] - - [0xC17A40, 0xC17A60, "ptr", "Psilo_lift_doorZ_header"] - - [0xC17A60, 0xC17A80, "ptr", "Psteel_door2bZ_header"] - - [0xC17A80, 0xC17AA0, "ptr", "Pdoor_roller1Z_header"] - - [0xC17AA0, 0xC17AC0, "ptr", "Pdoor_roller2Z_header"] - - [0xC17AC0, 0xC17AE0, "ptr", "Pdoor_roller3Z_header"] - - [0xC17AE0, 0xC17B00, "ptr", "Pdoor_roller4Z_header"] - - [0xC17B00, 0xC17B20, "ptr", "Pdoor_st_arec1Z_header"] - - [0xC17B20, 0xC17B40, "ptr", "Pdoor_st_arec2Z_header"] - - [0xC17B40, 0xC17B60, "ptr", "Pdoor_dest1Z_header"] - - [0xC17B60, 0xC17B80, "ptr", "Pdoor_dest2Z_header"] - - [0xC17B80, 0xC17BA0, "ptr", "Pgas_plant_sw_do1Z_header"] - - [0xC17BA0, 0xC17BC0, "ptr", "Pgas_plant_sw2_do1Z_header"] - - [0xC17BC0, 0xC17BE0, "ptr", "Pgas_plant_sw3_do1Z_header"] - - [0xC17BE0, 0xC17C00, "ptr", "Pgas_plant_sw4_do1Z_header"] - - [0xC17C00, 0xC17C20, "ptr", "Pgas_plant_met1_do1Z_header"] - - [0xC17C20, 0xC17C40, "ptr", "Pgas_plant_wc_cub1Z_header"] - - [0xC17C40, 0xC17C60, "ptr", "Pgasplant_clear_doorZ_header"] - - [0xC17C60, 0xC17C80, "ptr", "Ptrain_doorZ_header"] - - [0xC17C80, 0xC17CA0, "ptr", "Ptrain_door2Z_header"] - - [0xC17CA0, 0xC17CC0, "ptr", "Ptrain_door3Z_header"] - - [0xC17CC0, 0xC17CE0, "ptr", "Pdoor_eyelidZ_header"] - - [0xC17CE0, 0xC17D00, "ptr", "Pdoor_irisZ_header"] - - [0xC17D00, 0xC17D20, "ptr", "PsevdoorwoodZ_header"] - - [0xC17D20, 0xC17D40, "ptr", "PsevdoorwindZ_header"] - - [0xC17D40, 0xC17D60, "ptr", "PsevdoornowindZ_header"] - - [0xC17D60, 0xC17D80, "ptr", "PsevdoormetslideZ_header"] - - [0xC17D80, 0xC17DA0, "ptr", "Pcryptdoor1aZ_header"] - - [0xC17DA0, 0xC17DC0, "ptr", "Pcryptdoor1bZ_header"] - - [0xC17DC0, 0xC17DE0, "ptr", "Pcryptdoor2aZ_header"] - - [0xC17DE0, 0xC17E00, "ptr", "Pcryptdoor2bZ_header"] - - [0xC17E00, 0xC17E20, "ptr", "Pcryptdoor3Z_header"] - - [0xC17E20, 0xC17E40, "ptr", "Pcryptdoor4Z_header"] - - [0xC17E40, 0xC17E60, "ptr", "PvertdoorZ_header"] - - [0xC17E60, 0xC17E80, "ptr", "PhatchdoorZ_header"] - - [0xC17E80, 0xC17EA0, "ptr", "PdamgatedoorZ_header"] - - [0xC17EA0, 0xC17EC0, "ptr", "PdamtundoorZ_header"] - - [0xC17EC0, 0xC17EE0, "ptr", "PdamchaindoorZ_header"] - - [0xC17EE0, 0xC17F00, "ptr", "PsilotopdoorZ_header"] - - [0xC17F00, 0xC17F20, "ptr", "Pdoorprison1Z_header"] - - [0xC17F20, 0xC17F40, "ptr", "PdoorstatgateZ_header"] - - [0xC17F40, 0xC17F60, "ptr", "PchrkalashZ_header"] - - [0xC17F60, 0xC17F80, "ptr", "PchrgrenadelaunchZ_header"] - - [0xC17F80, 0xC17FA0, "ptr", "PchrknifeZ_header"] - - [0xC17FA0, 0xC17FC0, "ptr", "PchrlaserZ_header"] - - [0xC17FC0, 0xC17FE0, "ptr", "Pchrm16Z_header"] - - [0xC17FE0, 0xC18000, "ptr", "Pchrmp5kZ_header"] - - [0xC18000, 0xC18020, "ptr", "PchrrugerZ_header"] - - [0xC18020, 0xC18040, "ptr", "PchrwppkZ_header"] - - [0xC18040, 0xC18060, "ptr", "PchrshotgunZ_header"] - - [0xC18060, 0xC18080, "ptr", "PchrskorpionZ_header"] - - [0xC18080, 0xC180A0, "ptr", "PchrspectreZ_header"] - - [0xC180A0, 0xC180C0, "ptr", "PchruziZ_header"] - - [0xC180C0, 0xC180E0, "ptr", "PchrgrenadeZ_header"] - - [0xC180E0, 0xC18100, "ptr", "Pchrfnp90Z_header"] - - [0xC18100, 0xC18120, "ptr", "PchrbriefcaseZ_header"] - - [0xC18120, 0xC18140, "ptr", "PchrremotemineZ_header"] - - [0xC18140, 0xC18160, "ptr", "PchrproximitymineZ_header"] - - [0xC18160, 0xC18180, "ptr", "PchrtimedmineZ_header"] - - [0xC18180, 0xC181A0, "ptr", "PchrrocketZ_header"] - - [0xC181A0, 0xC181C0, "ptr", "PchrgrenaderoundZ_header"] - - [0xC181C0, 0xC181E0, "ptr", "PchrwppksilZ_header"] - - [0xC181E0, 0xC18200, "ptr", "Pchrtt33Z_header"] - - [0xC18200, 0xC18220, "ptr", "Pchrmp5ksilZ_header"] - - [0xC18220, 0xC18240, "ptr", "PchrautoshotZ_header"] - - [0xC18240, 0xC18260, "ptr", "PchrgoldenZ_header"] - - [0xC18260, 0xC18280, "ptr", "PchrthrowknifeZ_header"] - - [0xC18280, 0xC182A0, "ptr", "PchrsniperrifleZ_header"] - - [0xC182A0, 0xC182C0, "ptr", "PchrrocketlaunchZ_header"] - - [0xC182C0, 0xC182E0, "ptr", "PhatfurryZ_header"] - - [0xC182E0, 0xC18300, "ptr", "PhatfurrybrownZ_header"] - - [0xC18300, 0xC18320, "ptr", "PhatfurryblackZ_header"] - - [0xC18320, 0xC18340, "ptr", "PhattbirdZ_header"] - - [0xC18340, 0xC18360, "ptr", "PhattbirdbrownZ_header"] - - [0xC18360, 0xC18380, "ptr", "PhathelmetZ_header"] - - [0xC18380, 0xC183A0, "ptr", "PhathelmetgreyZ_header"] - - [0xC183A0, 0xC183C0, "ptr", "PhatmoonZ_header"] - - [0xC183C0, 0xC183E0, "ptr", "PhatberetZ_header"] - - [0xC183E0, 0xC18400, "ptr", "PhatberetblueZ_header"] - - [0xC18400, 0xC18420, "ptr", "PhatberetredZ_header"] - - [0xC18420, 0xC18440, "ptr", "PhatpeakedZ_header"] - - [0xC18440, 0xC18460, "ptr", "PchrwristdartZ_header"] - - [0xC18460, 0xC18480, "ptr", "PchrexplosivepenZ_header"] - - [0xC18480, 0xC184A0, "ptr", "PchrbombcaseZ_header"] - - [0xC184A0, 0xC184C0, "ptr", "PchrflarepistolZ_header"] - - [0xC184C0, 0xC184E0, "ptr", "PchrpitongunZ_header"] - - [0xC184E0, 0xC18500, "ptr", "PchrfingergunZ_header"] - - [0xC18500, 0xC18520, "ptr", "PchrsilverwppkZ_header"] - - [0xC18520, 0xC18540, "ptr", "PchrgoldwppkZ_header"] - - [0xC18540, 0xC18560, "ptr", "PchrdynamiteZ_header"] - - [0xC18560, 0xC18580, "ptr", "PchrbungeeZ_header"] - - [0xC18580, 0xC185A0, "ptr", "PchrdoordecoderZ_header"] - - [0xC185A0, 0xC185C0, "ptr", "PchrbombdefuserZ_header"] - - [0xC185C0, 0xC185E0, "ptr", "PchrbugdetectorZ_header"] - - [0xC185E0, 0xC18600, "ptr", "PchrsafecrackercaseZ_header"] - - [0xC18600, 0xC18620, "ptr", "PchrcameraZ_header"] - - [0xC18620, 0xC18640, "ptr", "PchrlockexploderZ_header"] - - [0xC18640, 0xC18660, "ptr", "PchrdoorexploderZ_header"] - - [0xC18660, 0xC18680, "ptr", "PchrkeyanalysercaseZ_header"] - - [0xC18680, 0xC186A0, "ptr", "PchrweaponcaseZ_header"] - - [0xC186A0, 0xC186C0, "ptr", "PchrkeyyaleZ_header"] - - [0xC186C0, 0xC186E0, "ptr", "PchrkeyboltZ_header"] - - [0xC186E0, 0xC18700, "ptr", "PchrbugZ_header"] - - [0xC18700, 0xC18720, "ptr", "PchrmicrocameraZ_header"] - - [0xC18720, 0xC18740, "ptr", "PfloppyZ_header"] - - [0xC18740, 0xC18760, "ptr", "PchrgoldeneyekeyZ_header"] - - [0xC18760, 0xC18780, "ptr", "PchrpolarizedglassesZ_header"] - - [0xC18780, 0xC187A0, "ptr", "PchrcreditcardZ_header"] - - [0xC187A0, 0xC187C0, "ptr", "PchrdarkglassesZ_header"] - - [0xC187C0, 0xC187E0, "ptr", "PchrgaskeyringZ_header"] - - [0xC187E0, 0xC18800, "ptr", "PchrdatathiefZ_header"] - - [0xC18800, 0xC18820, "ptr", "PsafeZ_header"] - - [0xC18820, 0xC18840, "ptr", "PbombZ_header"] - - [0xC18840, 0xC18860, "ptr", "PchrplansZ_header"] - - [0xC18860, 0xC18880, "ptr", "PchrspyfileZ_header"] - - [0xC18880, 0xC188A0, "ptr", "PchrblueprintsZ_header"] - - [0xC188A0, 0xC188C0, "ptr", "PchrcircuitboardZ_header"] - - [0xC188C0, 0xC188E0, "ptr", "PchrmapZ_header"] - - [0xC188E0, 0xC18900, "ptr", "PchrspooltapeZ_header"] - - [0xC18900, 0xC18920, "ptr", "PchraudiotapeZ_header"] - - [0xC18920, 0xC18940, "ptr", "PchrmicrofilmZ_header"] - - [0xC18940, 0xC18960, "ptr", "PchrmicrocodeZ_header"] - - [0xC18960, 0xC18980, "ptr", "PchrlectreZ_header"] - - [0xC18980, 0xC189A0, "ptr", "PchrmoneyZ_header"] - - [0xC189A0, 0xC189C0, "ptr", "PchrgoldbarZ_header"] - - [0xC189C0, 0xC189E0, "ptr", "PchrheroinZ_header"] - - [0xC189E0, 0xC18A00, "ptr", "PchrclipboardZ_header"] - - [0xC18A00, 0xC18A20, "ptr", "PchrdossierredZ_header"] - - [0xC18A20, 0xC18A40, "ptr", "PchrstafflistZ_header"] - - [0xC18A40, 0xC18A60, "ptr", "PchrdattapeZ_header"] - - [0xC18A60, 0xC18A80, "ptr", "PchrplastiqueZ_header"] - - [0xC18A80, 0xC18AA0, "ptr", "PchrblackboxZ_header"] - - [0xC18AA0, 0xC18AC0, "ptr", "PchrvideotapeZ_header"] - - [0xC18AC0, 0xC18AE0, "ptr", "PnintendologoZ_header"] - - [0xC18AE0, 0xC18B00, "ptr", "PgoldeneyelogoZ_header"] - - [0xC18B00, 0xC18B20, "ptr", "PwalletbondZ_header"] - - [0xC18B20, 0xC18B40, "ptr", "PmiltruckZ_header"] - - [0xC18B40, 0xC18B60, "ptr", "PjeepZ_header"] - - [0xC18B60, 0xC18B80, "ptr", "ParticZ_header"] - - [0xC18B80, 0xC18BA0, "ptr", "PhelicopterZ_header"] - - [0xC18BA0, 0xC18BC0, "ptr", "PtigerZ_header"] - - [0xC18BC0, 0xC18BE0, "ptr", "PmilcopterZ_header"] - - [0xC18BE0, 0xC18C00, "ptr", "PhindZ_header"] - - [0xC18C00, 0xC18C20, "ptr", "PartictrailerZ_header"] - - [0xC18C20, 0xC18C40, "ptr", "PmotorbikeZ_header"] - - [0xC18C40, 0xC18C60, "ptr", "PtankZ_header"] - - [0xC18C60, 0xC18C80, "ptr", "PapcZ_header"] - - [0xC18C80, 0xC18CA0, "ptr", "PspeedboatZ_header"] - - [0xC18CA0, 0xC18CC0, "ptr", "PplaneZ_header"] - - [0xC18CC0, 0xC18CE0, "ptr", "Pgun_runway1Z_header"] - - [0xC18CE0, 0xC18D00, "ptr", "PsafedoorZ_header"] - - [0xC18D00, 0xC18D20, "ptr", "Pkey_holderZ_header"] - - [0xC18D20, 0xC18D40, "ptr", "PhatchsevxZ_header"] - - [0xC18D40, 0xC18D60, "ptr", "PsevdishZ_header"] - - [0xC18D60, 0xC18D80, "ptr", "Parchsecdoor1Z_header"] - - [0xC18D80, 0xC18DA0, "ptr", "Parchsecdoor2Z_header"] - - [0xC18DA0, 0xC18DC0, "ptr", "PgroundgunZ_header"] - - [0xC18DC0, 0xC18DE0, "ptr", "PtrainextdoorZ_header"] - - [0xC18DE0, 0xC18E00, "ptr", "PcarbmwZ_header"] - - [0xC18E00, 0xC18E20, "ptr", "PcarescortZ_header"] - - [0xC18E20, 0xC18E40, "ptr", "PcargolfZ_header"] - - [0xC18E40, 0xC18E60, "ptr", "PcarweirdZ_header"] - - [0xC18E60, 0xC18E80, "ptr", "PcarzilZ_header"] - - [0xC18E80, 0xC18EA0, "ptr", "Pshuttle_door_lZ_header"] - - [0xC18EA0, 0xC18EC0, "ptr", "Pshuttle_door_rZ_header"] - - [0xC18EC0, 0xC18EE0, "ptr", "Pdepot_gate_entryZ_header"] - - [0xC18EE0, 0xC18F00, "ptr", "Pdepot_door_steelZ_header"] - - [0xC18F00, 0xC18F20, "ptr", "Pglassware2Z_header"] - - [0xC18F20, 0xC18F40, "ptr", "Pglassware3Z_header"] - - [0xC18F40, 0xC18F60, "ptr", "Pglassware4Z_header"] - - [0xC18F60, 0xC18F80, "ptr", "PlandmineZ_header"] - - [0xC18F80, 0xC18FA0, "ptr", "Pplant1Z_header"] - - [0xC18FA0, 0xC18FC0, "ptr", "Pplant11Z_header"] - - [0xC18FC0, 0xC18FE0, "ptr", "Pplant2Z_header"] - - [0xC18FE0, 0xC19000, "ptr", "Pplant3Z_header"] - - [0xC19000, 0xC19020, "ptr", "Pjungle5_treeZ_header"] - - [0xC19020, 0xC19040, "ptr", "PlegalpageZ_header"] - - [0xC19040, 0xC19060, "ptr", "Pst_pete_room_1iZ_header"] - - [0xC19060, 0xC19080, "ptr", "Pst_pete_room_2iZ_header"] - - [0xC19080, 0xC190A0, "ptr", "Pst_pete_room_3tZ_header"] - - [0xC190A0, 0xC190C0, "ptr", "Pst_pete_room_5cZ_header"] - - [0xC190C0, 0xC190E0, "ptr", "Pst_pete_room_6cZ_header"] - - [0xC190E0, 0xC19100, "ptr", "Pdoor_rollertrainZ_header"] - - [0xC19100, 0xC19120, "ptr", "Pdoor_winZ_header"] - - [0xC19120, 0xC19140, "ptr", "Pdoor_aztecZ_header"] - - [0xC19140, 0xC19160, "ptr", "PshuttleZ_header"] - - [0xC19160, 0xC19180, "ptr", "Pdoor_azt_deskZ_header"] - - [0xC19180, 0xC191A0, "ptr", "Pdoor_azt_desk_topZ_header"] - - [0xC191A0, 0xC191C0, "ptr", "Pdoor_azt_chairZ_header"] - - [0xC191C0, 0xC191E0, "ptr", "Pdoor_mfZ_header"] - - [0xC191E0, 0xC19200, "ptr", "PflagZ_header"] - - [0xC19200, 0xC19220, "ptr", "PbarricadeZ_header"] - - [0xC19220, 0xC19240, "ptr", "PmodemboxZ_header"] - - [0xC19240, 0xC19260, "ptr", "PdoorpanelZ_header"] - - [0xC19260, 0xC19280, "ptr", "PdoorconsoleZ_header"] - - [0xC19280, 0xC192A0, "ptr", "PchrtesttubeZ_header"] - - [0xC192A0, 0xC192C0, "ptr", "Pbollardz_header"] - - [0xC192C0, 0xC192CC, "ptr", "D_8003A050"] - - [0xC192CC, 0xC192D8, "ptr", "prop_cctv_related"] - - [0xC192D8, 0xC192E0, "ptr", "D_8003A068"] - - [0xC192E0, 0xC192EC, "ptr", "prop_console_one_screen_related"] - - [0xC192EC, 0xC192F4, "ptr", "D_8003A07C"] - - [0xC192F4, 0xC19300, "ptr", "prop_console_four_screen_related"] - - [0xC19300, 0xC19320, "ptr", "D_8003A090"] - - [0xC19320, 0xC1932C, "ptr", "prop_tv_holder_related"] - - [0xC1932C, 0xC19350, "ptr", "D_8003A0BC"] - - [0xC19350, 0xC1935C, "ptr", "prop_rotating_stuff_related"] - - [0xC1935C, 0xC19370, "ptr", "D_8003A0EC"] - - [0xC19370, 0xC1937C, "ptr", "prop_eyelid_door_related"] - - [0xC1937C, 0xC193CC, "ptr", "D_8003A10C"] - - [0xC193CC, 0xC193D8, "ptr", "prop_iris_door_related"] - - [0xC193D8, 0xC193E0, "ptr", "D_8003A168"] - - [0xC193E0, 0xC193EC, "ptr", "prop_walletbond_related"] - - [0xC193EC, 0xC1940C, "ptr", "D_8003A17C"] - - [0xC1940C, 0xC19418, "ptr", "prop_car_related"] - - [0xC19418, 0xC19438, "ptr", "D_8003A1A8"] - - [0xC19438, 0xC19444, "ptr", "prop_flying_related"] - - [0xC19444, 0xC1944C, "ptr", "D_8003A1D4"] - - [0xC1944C, 0xC19458, "ptr", "prop_door_related"] - - [0xC19458, 0xC19478, "ptr", "D_8003A1E8"] - - [0xC19478, 0xC19484, "ptr", "item_tank_related"] - - [0xC19484, 0xC1948C, "ptr", "D_8003A214"] - - [0xC1948C, 0xC19498, "ptr", "item_hat_related"] - - [0xC19498, 0xC19D8C, "ptr", "PitemZ_entries"] - - [0xC19D8C, 0xC1A188, "ptr", "PchrwppkZ_entry"] - - [0xC1A188, 0xC1A194, "ptr", "PnintendologoZ_header"] - - [0xC1A194, 0xC1A1A0, "ptr", "PgoldeneyelogoZ_header"] - - [0xC1A1A0, 0xC1A38C, "ptr", "PwalletbondZ_entry"] - - [0xC1A38C, 0xC1A488, "ptr", "PlegalpageZ_header"] - - [0xC1A488, 0xC1B740, "ptr", "PitemZ_entry_end"] - - [0xC1B740, 0xC1B748, "ptr", "D_8003C4D0"] - - [0xC1B748, 0xC1B760, "ptr", "model_object_standard_object"] - - [0xC1B760, 0xC1B76C, "ptr", "D_8003C4F0"] - - [0xC1B76C, 0xC1B780, "ptr", "prop_weapon_related"] - - [0xC1B780, 0xC1B78C, "ptr", "D_8003C510"] - - [0xC1B78C, 0xC1B7E0, "ptr", "D_8003C51C"] - - [0xC1B7E0, 0xC1B7F0, "ptr", "D_8003C570"] - - [0xC1B7F0, 0xC1B808, "ptr", "D_8003C580"] - - [0xC1B808, 0xC1B820, "ptr", "D_8003C598"] - - [0xC1B820, 0xC1B838, "ptr", "D_8003C5B0"] - - [0xC1B838, 0xC1B850, "ptr", "D_8003C5C8"] - - [0xC1B850, 0xC1B860, "ptr", "D_8003C5E0"] - - [0xC1B860, 0xC1B87C, "ptr", "D_8003C5F0"] - - [0xC1B87C, 0xC1B898, "ptr", "D_8003C60C"] - - [0xC1B898, 0xC1B8A4, "ptr", "D_8003C628"] - - [0xC1B8A4, 0xC1B8C0, "ptr", "D_8003C634"] - - [0xC1B8C0, 0xC1B8CC, "ptr", "D_8003C650"] - - [0xC1B8CC, 0xC1B8D4, "ptr", "D_8003C65C"] - - [0xC1B8D4, 0xC1B8E0, "ptr", "D_8003C664"] - - [0xC1B8E0, 0xC1B8EC, "ptr", "D_8003C670"] - - [0xC1B8EC, 0xC1B954, "ptr", "D_8003C67C"] - - [0xC1B954, 0xC1B960, "ptr", "model_suit_lf_hand"] - - [0xC1B960, 0xC1B984, "ptr", "D_8003C6F0"] - - [0xC1B984, 0xC1B990, "ptr", "weapon_gun_standard_gun"] - - [0xC1B990, 0xC1B998, "ptr", "D_8003C720"] - - [0xC1B998, 0xC1B9B0, "ptr", "weapon_gun_unassigned"] - - [0xC1B9B0, 0xC1B9DC, "ptr", "D_8003C740"] - - [0xC1B9DC, 0xC1B9F0, "ptr", "weapon_gun_revolver"] - - [0xC1B9F0, 0xC1BA1C, "ptr", "D_8003C780"] - - [0xC1BA1C, 0xC1BA30, "ptr", "weapon_gun_kf7"] - - [0xC1BA30, 0xC1BA50, "ptr", "GwppkZ_struct"] - - [0xC1BA50, 0xC1BA70, "ptr", "GwppksilZ_struct"] - - [0xC1BA70, 0xC1BA90, "ptr", "Gtt33Z_struct"] - - [0xC1BA90, 0xC1BAB0, "ptr", "GskorpianZ_struct"] - - [0xC1BAB0, 0xC1BAD0, "ptr", "Gak47Z_struct"] - - [0xC1BAD0, 0xC1BAF0, "ptr", "GuziZ_struct"] - - [0xC1BAF0, 0xC1BB10, "ptr", "Gmp5kZ_struct"] - - [0xC1BB10, 0xC1BB30, "ptr", "Gmp5ksilZ_struct"] - - [0xC1BB30, 0xC1BB50, "ptr", "Gm16Z_struct"] - - [0xC1BB50, 0xC1BB90, "ptr", "Gfnp90Z_struct"] - - [0xC1BB90, 0xC1BBB0, "ptr", "GrugerZ_struct"] - - [0xC1BBB0, 0xC1BBD0, "ptr", "GgoldengunZ_struct"] - - [0xC1BBD0, 0xC1BBF0, "ptr", "GshotgunZ_struct"] - - [0xC1BBF0, 0xC1BC10, "ptr", "GautoshotZ_struct"] - - [0xC1BC10, 0xC1BC30, "ptr", "GgrenadelaunchZ_struct"] - - [0xC1BC30, 0xC1BC50, "ptr", "GspectreZ_struct"] - - [0xC1BC50, 0xC1BC70, "ptr", "GlaserZ_struct"] - - [0xC1BC70, 0xC1BC90, "ptr", "GrocketlaunchZ_struct"] - - [0xC1BC90, 0xC1BCB0, "ptr", "GknifeZ_header"] - - [0xC1BCB0, 0xC1BCD0, "ptr", "GthrowknifeZ_struct"] - - [0xC1BCD0, 0xC1BCF0, "ptr", "GtaserZ_struct"] - - [0xC1BCF0, 0xC1BD10, "ptr", "GremotemineZ_struct"] - - [0xC1BD10, 0xC1BD30, "ptr", "GproximitymineZ_struct"] - - [0xC1BD30, 0xC1BD50, "ptr", "GtimedmineZ_struct"] - - [0xC1BD50, 0xC1BD70, "ptr", "GtriggerZ_struct"] - - [0xC1BD70, 0xC1BD90, "ptr", "GgrenadeZ_struct"] - - [0xC1BD90, 0xC1BDB0, "ptr", "GfistZ_header"] - - [0xC1BDB0, 0xC1BDD0, "ptr", "GsniperrifleZ_struct"] - - [0xC1BDD0, 0xC1BDF0, "ptr", "GcartridgeZ_struct"] - - [0xC1BDF0, 0xC1BE10, "ptr", "GcartrifleZ_struct"] - - [0xC1BE10, 0xC1BE30, "ptr", "GcartblueZ_struct"] - - [0xC1BE30, 0xC1BE50, "ptr", "GcartshellZ_struct"] - - [0xC1BE50, 0xC1BEB0, "ptr", "GjoypadZ_struct"] - - [0xC1BEB0, 0xC1BED0, "ptr", "GbombcaseZ_struct"] - - [0xC1BED0, 0xC1BEF0, "ptr", "GflarepistolZ_struct"] - - [0xC1BEF0, 0xC1BF30, "ptr", "GpitongunZ_struct"] - - [0xC1BF30, 0xC1BF50, "ptr", "GsilverwppkZ_struct"] - - [0xC1BF50, 0xC1BF90, "ptr", "GgoldwppkZ_struct"] - - [0xC1BF90, 0xC1BFB0, "ptr", "GbungeeZ_struct"] - - [0xC1BFB0, 0xC1BFD0, "ptr", "GdoordecoderZ_struct"] - - [0xC1BFD0, 0xC1BFF0, "ptr", "GbombdefuserZ_struct"] - - [0xC1BFF0, 0xC1C010, "ptr", "GbugdetectorZ_struct"] - - [0xC1C010, 0xC1C030, "ptr", "GsafecrackercaseZ_struct"] - - [0xC1C030, 0xC1C050, "ptr", "GcameraZ_struct"] - - [0xC1C050, 0xC1C070, "ptr", "GlockexploderZ_struct"] - - [0xC1C070, 0xC1C090, "ptr", "GdoorexploderZ_struct"] - - [0xC1C090, 0xC1C0B0, "ptr", "GkeyanalysercaseZ_struct"] - - [0xC1C0B0, 0xC1C0D0, "ptr", "GweaponcaseZ_struct"] - - [0xC1C0D0, 0xC1C0F0, "ptr", "GkeycardZ_struct"] - - [0xC1C0F0, 0xC1C110, "ptr", "GkeyyaleZ_struct"] - - [0xC1C110, 0xC1C130, "ptr", "GkeyboltZ_struct"] - - [0xC1C130, 0xC1C150, "ptr", "GbugZ_struct"] - - [0xC1C150, 0xC1C170, "ptr", "GmicrocameraZ_struct"] - - [0xC1C170, 0xC1C190, "ptr", "GexplosivefloppyZ_struct"] - - [0xC1C190, 0xC1C1B0, "ptr", "GgoldeneyekeyZ_struct"] - - [0xC1C1B0, 0xC1C1D0, "ptr", "GpolarizedglassesZ_struct"] - - [0xC1C1D0, 0xC1C1F0, "ptr", "GcreditcardZ_struct"] - - [0xC1C1F0, 0xC1C210, "ptr", "GdarkglassesZ_struct"] - - [0xC1C210, 0xC1C230, "ptr", "GwatchidentifierZ_struct"] - - [0xC1C230, 0xC1C250, "ptr", "GwatchcommunicatorZ_struct"] - - [0xC1C250, 0xC1C270, "ptr", "GwatchlaserZ_struct"] - - [0xC1C270, 0xC1C290, "ptr", "GwatchgeigercounterZ_struct"] - - [0xC1C290, 0xC1C2B0, "ptr", "GwatchmagnetrepelZ_struct"] - - [0xC1C2B0, 0xC1C2D0, "ptr", "GwatchmagnetattractZ_struct"] - - [0xC1C2D0, 0xC1C2F0, "ptr", "GgaskeyringZ_struct"] - - [0xC1C2F0, 0xC1C310, "ptr", "GdatathiefZ_struct"] - - [0xC1C310, 0xC1C330, "ptr", "GbriefcaseZ_struct"] - - [0xC1C330, 0xC1C350, "ptr", "GblackboxZ_struct"] - - [0xC1C350, 0xC1C370, "ptr", "GplastiqueZ_struct"] - - [0xC1C370, 0xC1C390, "ptr", "GvideotapeZ_struct"] - - [0xC1C390, 0xC1C3B0, "ptr", "GclipboardZ_struct"] - - [0xC1C3B0, 0xC1C3D0, "ptr", "GstafflistZ_struct"] - - [0xC1C3D0, 0xC1C3F0, "ptr", "GdossierredZ_struct"] - - [0xC1C3F0, 0xC1C410, "ptr", "GaudiotapeZ_struct"] - - [0xC1C410, 0xC1C430, "ptr", "GdattapeZ_struct"] - - [0xC1C430, 0xC1C450, "ptr", "GplansZ_struct"] - - [0xC1C450, 0xC1C470, "ptr", "GspyfileZ_struct"] - - [0xC1C470, 0xC1C490, "ptr", "GblueprintsZ_struct"] - - [0xC1C490, 0xC1C4B0, "ptr", "GcircuitboardZ_struct"] - - [0xC1C4B0, 0xC1C4D0, "ptr", "GmapZ_struct"] - - [0xC1C4D0, 0xC1C4F0, "ptr", "GspooltapeZ_struct"] - - [0xC1C4F0, 0xC1C510, "ptr", "GmicrofilmZ_struct"] - - [0xC1C510, 0xC1C530, "ptr", "GmicrocodeZ_struct"] - - [0xC1C530, 0xC1C550, "ptr", "GlectreZ_struct"] - - [0xC1C550, 0xC1C570, "ptr", "GmoneyZ_struct"] - - [0xC1C570, 0xC1C590, "ptr", "GgoldbarZ_struct"] - - [0xC1C590, 0xC1C5B0, "ptr", "GheroinZ_struct"] - - [0xC1C5B0, 0xC1C600, "ptr", "D_8003D340"] - - [0xC1C600, 0xC1C610, "ptr", "weapon_gun_controller"] - - [0xC1C610, 0xC1C61C, "ptr", "D_8003D3A0"] - - [0xC1C61C, 0xC1C670, "ptr", "D_8003D3AC"] - - [0xC1C670, 0xC1C680, "ptr", "model_guard_character"] - - [0xC1C680, 0xC1C6A0, "ptr", "CcamguardZ_struct"] - - [0xC1C6A0, 0xC1C6C0, "ptr", "CgreyguardZ_struct"] - - [0xC1C6C0, 0xC1C6E0, "ptr", "ColiveguardZ_struct"] - - [0xC1C6E0, 0xC1C700, "ptr", "CrusguardZ_struct"] - - [0xC1C700, 0xC1C720, "ptr", "CtrevguardZ_struct"] - - [0xC1C720, 0xC1C740, "ptr", "CborisZ_struct"] - - [0xC1C740, 0xC1C760, "ptr", "CorumovZ_struct"] - - [0xC1C760, 0xC1C780, "ptr", "CtrevelyanZ_struct"] - - [0xC1C780, 0xC1C7A0, "ptr", "CboilertrevZ_struct"] - - [0xC1C7A0, 0xC1C7C0, "ptr", "CvalentinZ_struct"] - - [0xC1C7C0, 0xC1C7E0, "ptr", "CxeniaZ_struct"] - - [0xC1C7E0, 0xC1C800, "ptr", "CbaronsamediZ_struct"] - - [0xC1C800, 0xC1C820, "ptr", "CjawsZ_struct"] - - [0xC1C820, 0xC1C840, "ptr", "CmaydayZ_struct"] - - [0xC1C840, 0xC1C860, "ptr", "CoddjobZ_struct"] - - [0xC1C860, 0xC1C880, "ptr", "CnatalyaZ_struct"] - - [0xC1C880, 0xC1C8A0, "ptr", "CarmourguardZ_struct"] - - [0xC1C8A0, 0xC1C8C0, "ptr", "CcommguardZ_struct"] - - [0xC1C8C0, 0xC1C8E0, "ptr", "CgreatguardZ_struct"] - - [0xC1C8E0, 0xC1C900, "ptr", "CnavyguardZ_struct"] - - [0xC1C900, 0xC1C920, "ptr", "CsnowguardZ_struct"] - - [0xC1C920, 0xC1C940, "ptr", "CbluewomanZ_struct"] - - [0xC1C940, 0xC1C960, "ptr", "CfattechwomanZ_struct"] - - [0xC1C960, 0xC1C980, "ptr", "CtechwomanZ_struct"] - - [0xC1C980, 0xC1C9A0, "ptr", "CjeanwomanZ_struct"] - - [0xC1C9A0, 0xC1C9C0, "ptr", "CgreymanZ_struct"] - - [0xC1C9C0, 0xC1C9E0, "ptr", "CbluemanZ_struct"] - - [0xC1C9E0, 0xC1CA00, "ptr", "CredmanZ_struct"] - - [0xC1CA00, 0xC1CA20, "ptr", "CcardimanZ_struct"] - - [0xC1CA20, 0xC1CA40, "ptr", "CcheckmanZ_struct"] - - [0xC1CA40, 0xC1CA60, "ptr", "CtechmanZ_struct"] - - [0xC1CA60, 0xC1CA80, "ptr", "CpilotZ_struct"] - - [0xC1CA80, 0xC1CAA0, "ptr", "Cgreatguard2Z_struct"] - - [0xC1CAA0, 0xC1CAC0, "ptr", "CbluecamguardZ_struct"] - - [0xC1CAC0, 0xC1CAE0, "ptr", "CmoonguardZ_struct"] - - [0xC1CAE0, 0xC1CB00, "ptr", "CmoonfemaleZ_struct"] - - [0xC1CB00, 0xC1CB20, "ptr", "CboilerbondZ_struct"] - - [0xC1CB20, 0xC1CB40, "ptr", "CsuitbondZ_struct"] - - [0xC1CB40, 0xC1CB60, "ptr", "CtimberbondZ_struct"] - - [0xC1CB60, 0xC1CB80, "ptr", "CsnowbondZ_struct"] - - [0xC1CB80, 0xC1CBA0, "ptr", "CdjbondZ_struct"] - - [0xC1CBA0, 0xC1CBC0, "ptr", "Csuit_lf_handz_struct"] - - [0xC1CBC0, 0xC1CBE0, "ptr", "CheadkarlZ_struct"] - - [0xC1CBE0, 0xC1CC00, "ptr", "CheadalanZ_struct"] - - [0xC1CC00, 0xC1CC20, "ptr", "CheadpeteZ_struct"] - - [0xC1CC20, 0xC1CC40, "ptr", "CheadmartinZ_struct"] - - [0xC1CC40, 0xC1CC60, "ptr", "D_8003D9D0"] - - [0xC1CC60, 0xC1CC80, "ptr", "D_8003D9F0"] - - [0xC1CC80, 0xC1CCA0, "ptr", "D_8003DA10"] - - [0xC1CCA0, 0xC1CCC0, "ptr", "D_8003DA30"] - - [0xC1CCC0, 0xC1CCE0, "ptr", "D_8003DA50"] - - [0xC1CCE0, 0xC1CD00, "ptr", "D_8003DA70"] - - [0xC1CD00, 0xC1CD20, "ptr", "D_8003DA90"] - - [0xC1CD20, 0xC1CD40, "ptr", "D_8003DAB0"] - - [0xC1CD40, 0xC1CD60, "ptr", "D_8003DAD0"] - - [0xC1CD60, 0xC1CD80, "ptr", "D_8003DAF0"] - - [0xC1CD80, 0xC1CDA0, "ptr", "D_8003DB10"] - - [0xC1CDA0, 0xC1CDC0, "ptr", "D_8003DB30"] - - [0xC1CDC0, 0xC1CDE0, "ptr", "D_8003DB50"] - - [0xC1CDE0, 0xC1CE00, "ptr", "D_8003DB70"] - - [0xC1CE00, 0xC1CE20, "ptr", "D_8003DB90"] - - [0xC1CE20, 0xC1CE40, "ptr", "D_8003DBB0"] - - [0xC1CE40, 0xC1CE60, "ptr", "D_8003DBD0"] - - [0xC1CE60, 0xC1CE80, "ptr", "D_8003DBF0"] - - [0xC1CE80, 0xC1CEA0, "ptr", "D_8003DC10"] - - [0xC1CEA0, 0xC1CEC0, "ptr", "D_8003DC30"] - - [0xC1CEC0, 0xC1CEE0, "ptr", "D_8003DC50"] - - [0xC1CEE0, 0xC1CF00, "ptr", "D_8003DC70"] - - [0xC1CF00, 0xC1CF20, "ptr", "D_8003DC90"] - - [0xC1CF20, 0xC1CF40, "ptr", "D_8003DCB0"] - - [0xC1CF40, 0xC1CF60, "ptr", "D_8003DCD0"] - - [0xC1CF60, 0xC1CF80, "ptr", "D_8003DCF0"] - - [0xC1CF80, 0xC1CFA0, "ptr", "D_8003DD10"] - - [0xC1CFA0, 0xC1CFC0, "ptr", "D_8003DD30"] - - [0xC1CFC0, 0xC1CFE0, "ptr", "D_8003DD50"] - - [0xC1CFE0, 0xC1D000, "ptr", "CheadbrosnansuitZ_struct"] - - [0xC1D000, 0xC1D020, "ptr", "CheadbrosnantimberZ_struct"] - - [0xC1D020, 0xC1D040, "ptr", "CheadbrosnansnowZ_struct"] - - [0xC1D040, 0xC1D060, "ptr", "CheadbrosnanZ_struct"] - - [0xC1D060, 0xC1D080, "ptr", "CspicebondZ_struct"] - - [0xC1D080, 0xC1D0E4, "ptr", "c_item_entries"] - - [0xC1D0E4, 0xC1D3B4, "ptr", "D_8003DE74"] - - [0xC1D3B4, 0xC1D698, "ptr", "D_8003E144"] - - [0xC1D698, 0xC1D6D4, "ptr", "D_8003E428"] - - [0xC1D6D4, 0xC1E36C, "ptr", "D_8003E464"] - - [0xC1E36C, 0xC1E6A0, "ptr", "D_8003F0FC"] - - [0xC1E6A0, 0xC1E6B4, "ptr", "D_8003F430"] - - [0xC1E6B4, 0xC1E6C8, "ptr", "D_8003F444"] - - [0xC1E6C8, 0xC1E6DC, "ptr", "D_8003F458"] - - [0xC1E6DC, 0xC1E6F0, "ptr", "D_8003F46C"] - - [0xC1E6F0, 0xC1E704, "ptr", "D_8003F480"] - - [0xC1E704, 0xC1E718, "ptr", "D_8003F494"] - - [0xC1E718, 0xC1E72C, "ptr", "D_8003F4A8"] - - [0xC1E72C, 0xC1E740, "ptr", "D_8003F4BC"] - - [0xC1E740, 0xC1E754, "ptr", "D_8003F4D0"] - - [0xC1E754, 0xC1E768, "ptr", "D_8003F4E4"] - - [0xC1E768, 0xC1E77C, "ptr", "D_8003F4F8"] - - [0xC1E77C, 0xC1E790, "ptr", "D_8003F50C"] - - [0xC1E790, 0xC1E7A4, "ptr", "D_8003F520"] - - [0xC1E7A4, 0xC1E7B8, "ptr", "D_8003F534"] - - [0xC1E7B8, 0xC1E7CC, "ptr", "D_8003F548"] - - [0xC1E7CC, 0xC1E7E0, "ptr", "D_8003F55C"] - - [0xC1E7E0, 0xC1E7F4, "ptr", "D_8003F570"] - - [0xC1E7F4, 0xC1E808, "ptr", "D_8003F584"] - - [0xC1E808, 0xC1E81C, "ptr", "D_8003F598"] - - [0xC1E81C, 0xC1E830, "ptr", "D_8003F5AC"] - - [0xC1E830, 0xC1E844, "ptr", "D_8003F5C0"] - - [0xC1E844, 0xC1E858, "ptr", "D_8003F5D4"] - - [0xC1E858, 0xC1E86C, "ptr", "D_8003F5E8"] - - [0xC1E86C, 0xC1E880, "ptr", "D_8003F5FC"] - - [0xC1E880, 0xC1E894, "ptr", "D_8003F610"] - - [0xC1E894, 0xC1E8A8, "ptr", "D_8003F624"] - - [0xC1E8A8, 0xC1E8BC, "ptr", "D_8003F638"] - - [0xC1E8BC, 0xC1E8D0, "ptr", "D_8003F64C"] - - [0xC1E8D0, 0xC1E8EC, "ptr", "D_8003F660"] - - [0xC1E8EC, 0xC1E900, "ptr", "D_8003F67C"] - - [0xC1E900, 0xC1E914, "ptr", "D_8003F690"] - - [0xC1E914, 0xC1E928, "ptr", "D_8003F6A4"] - - [0xC1E928, 0xC1E93C, "ptr", "D_8003F6B8"] - - [0xC1E93C, 0xC1E950, "ptr", "D_8003F6CC"] - - [0xC1E950, 0xC1E964, "ptr", "D_8003F6E0"] - - [0xC1E964, 0xC1E978, "ptr", "D_8003F6F4"] - - [0xC1E978, 0xC1E98C, "ptr", "D_8003F708"] - - [0xC1E98C, 0xC1E9A0, "ptr", "D_8003F71C"] - - [0xC1E9A0, 0xC1E9B4, "ptr", "D_8003F730"] - - [0xC1E9B4, 0xC1E9C8, "ptr", "D_8003F744"] - - [0xC1E9C8, 0xC1E9DC, "ptr", "D_8003F758"] - - [0xC1E9DC, 0xC1E9F0, "ptr", "D_8003F76C"] - - [0xC1E9F0, 0xC1EA04, "ptr", "D_8003F780"] - - [0xC1EA04, 0xC1EA18, "ptr", "D_8003F794"] - - [0xC1EA18, 0xC1EA2C, "ptr", "D_8003F7A8"] - - [0xC1EA2C, 0xC1EA40, "ptr", "D_8003F7BC"] - - [0xC1EA40, 0xC1EA54, "ptr", "D_8003F7D0"] - - [0xC1EA54, 0xC1EA68, "ptr", "D_8003F7E4"] - - [0xC1EA68, 0xC1EA74, "ptr", "D_8003F7F8"] - - [0xC1EA74, 0xC1EA78, "ptr", "D_8003F804"] - - [0xC1EA78, 0xC1EA7C, "ptr", "D_8003F808"] - - [0xC1EA7C, 0xC1EA8C, "ptr", "D_8003F80C"] - - [0xC1EA8C, 0xC1EF30, "ptr", "D_8003F81C"] - - [0xC1EF30, 0xC1EF48, "ptr", "D_8003FCC0"] - - [0xC1EF48, 0xC1EF98, "ptr", "D_8003FCD8"] - - [0xC1EF98, 0xC1EFB0, "ptr", "D_8003FD28"] - - [0xC1EFB0, 0xC1EFE8, "ptr", "D_8003FD40"] - - [0xC1EFE8, 0xC1F1F4, "ptr", "D_8003FD78"] - - [0xC1F1F4, 0xC1F3D0, "ptr", "D_8003FF84"] - - [0xC1F3D0, 0xC1F3E8, "ptr", "random_val"] - - [0xC1F3E8, 0xC1F3F8, "ptr", "D_80040178"] - - [0xC1F3F8, 0xC1FA2C, "ptr", "D_80040188"] - - [0xC1FA2C, 0xC1FA7C, "ptr", "D_800407BC"] - - [0xC1FA7C, 0xC1FB7C, "ptr", "D_8004080C"] - - [0xC1FB7C, 0xC1FB80, "ptr", "D_8004090C"] - - [0xC1FB80, 0xC1FB84, "ptr", "D_80040910"] - - [0xC1FB84, 0xC1FB88, "ptr", "D_80040914"] - - [0xC1FB88, 0xC1FB8C, "ptr", "D_80040918"] - - [0xC1FB8C, 0xC1FB90, "ptr", "D_8004091C"] - - [0xC1FB90, 0xC1FB94, "ptr", "D_80040920"] - - [0xC1FB94, 0xC1FB98, "ptr", "D_80040924"] - - [0xC1FB98, 0xC1FB9C, "ptr", "D_80040928"] - - [0xC1FB9C, 0xC1FBA0, "ptr", "D_8004092C"] - - [0xC1FBA0, 0xC1FBA4, "ptr", "D_80040930"] - - [0xC1FBA4, 0xC1FBA8, "ptr", "D_80040934"] - - [0xC1FBA8, 0xC1FBAC, "ptr", "D_80040938"] - - [0xC1FBAC, 0xC1FBB0, "ptr", "D_8004093C"] - - [0xC1FBB0, 0xC1FBD0, "ptr", "D_80040940"] - - [0xC1FBD0, 0xC1FC10, "ptr", "D_80040960"] - - [0xC1FC10, 0xC1FC14, "ptr", "D_800409A0"] - - [0xC1FC14, 0xC1FC18, "ptr", "D_800409A4"] - - [0xC1FC18, 0xC1FC1C, "ptr", "D_800409A8"] - - [0xC1FC1C, 0xC1FC20, "ptr", "D_800409AC"] - - [0xC1FC20, 0xC1FC24, "ptr", "D_800409B0"] - - [0xC1FC24, 0xC1FC28, "ptr", "D_800409B4"] - - [0xC1FC28, 0xC1FC2C, "ptr", "D_800409B8"] - - [0xC1FC2C, 0xC1FC30, "ptr", "D_800409BC"] - - [0xC1FC30, 0xC1FC34, "ptr", "D_800409C0"] - - [0xC1FC34, 0xC1FC38, "ptr", "D_800409C4"] - - [0xC1FC38, 0xC1FC3C, "ptr", "D_800409C8"] - - [0xC1FC3C, 0xC1FC40, "ptr", "D_800409CC"] - - [0xC1FC40, 0xC1FC48, "ptr", "D_800409D0"] - - [0xC1FC48, 0xC1FC4C, "ptr", "D_800409D8"] - - [0xC1FC4C, 0xC1FCEC, "ptr", "D_800409DC"] - - [0xC1FCEC, 0xC1FCF4, "ptr", "D_80040A7C"] - - [0xC1FCF4, 0xC1FCF8, "ptr", "cur_play_up_down_setting"] - - [0xC1FCF8, 0xC1FD00, "ptr", "D_80040A88"] - - [0xC1FD00, 0xC1FD0C, "ptr", "cur_player_autoaim_setting"] - - [0xC1FD0C, 0xC1FD10, "ptr", "cur_player_aim_control"] - - [0xC1FD10, 0xC1FD18, "ptr", "D_80040AA0"] - - [0xC1FD18, 0xC1FD24, "ptr", "cur_player_sight_onscreen"] - - [0xC1FD24, 0xC1FD30, "ptr", "cur_player_lookahead_setting"] - - [0xC1FD30, 0xC1FD3C, "ptr", "cur_player_ammo_onscreen_setting"] - - [0xC1FD3C, 0xC1FD40, "ptr", "cur_player_screen_setting"] - - [0xC1FD40, 0xC1FD48, "ptr", "D_80040AD0"] - - [0xC1FD48, 0xC1FD4C, "ptr", "screen_ratio"] - - [0xC1FD4C, 0xC1FD50, "ptr", "controlstick_lr_enabled"] - - [0xC1FD50, 0xC1FD54, "ptr", "D_80040AE0"] - - [0xC1FD54, 0xC1FD58, "ptr", "D_80040AE4"] - - [0xC1FD58, 0xC1FD5C, "ptr", "D_80040AE8"] - - [0xC1FD5C, 0xC1FD60, "ptr", "D_80040AEC"] - - [0xC1FD60, 0xC1FD64, "ptr", "D_80040AF0"] - - [0xC1FD64, 0xC1FD68, "ptr", "D_80040AF4"] - - [0xC1FD68, 0xC1FD6C, "ptr", "D_80040AF8"] - - [0xC1FD6C, 0xC1FD70, "ptr", "D_80040AFC"] - - [0xC1FD70, 0xC1FD74, "ptr", "D_80040B00"] - - [0xC1FD74, 0xC1FD78, "ptr", "D_80040B04"] - - [0xC1FD78, 0xC1FD7C, "ptr", "D_80040B08"] - - [0xC1FD7C, 0xC1FD80, "ptr", "D_80040B0C"] - - [0xC1FD80, 0xC1FD84, "ptr", "D_80040B10"] - - [0xC1FD84, 0xC1FD88, "ptr", "D_80040B14"] - - [0xC1FD88, 0xC1FD8C, "ptr", "D_80040B18"] - - [0xC1FD8C, 0xC1FD90, "ptr", "D_80040B1C"] - - [0xC1FD90, 0xC1FD94, "ptr", "D_80040B20"] - - [0xC1FD94, 0xC1FD98, "ptr", "D_80040B24"] - - [0xC1FD98, 0xC1FD9C, "ptr", "D_80040B28"] - - [0xC1FD9C, 0xC1FDA0, "ptr", "D_80040B2C"] - - [0xC1FDA0, 0xC1FDA4, "ptr", "D_80040B30"] - - [0xC1FDA4, 0xC1FDA8, "ptr", "D_80040B34"] - - [0xC1FDA8, 0xC1FDAC, "ptr", "D_80040B38"] - - [0xC1FDAC, 0xC1FDB0, "ptr", "D_80040B3C"] - - [0xC1FDB0, 0xC1FDB4, "ptr", "D_80040B40"] - - [0xC1FDB4, 0xC1FDB8, "ptr", "D_80040B44"] - - [0xC1FDB8, 0xC1FDBC, "ptr", "D_80040B48"] - - [0xC1FDBC, 0xC1FDC0, "ptr", "D_80040B4C"] - - [0xC1FDC0, 0xC1FDC4, "ptr", "D_80040B50"] - - [0xC1FDC4, 0xC1FDC8, "ptr", "D_80040B54"] - - [0xC1FDC8, 0xC1FDCC, "ptr", "D_80040B58"] - - [0xC1FDCC, 0xC1FDD0, "ptr", "D_80040B5C"] - - [0xC1FDD0, 0xC1FDD4, "ptr", "D_80040B60"] - - [0xC1FDD4, 0xC1FDD8, "ptr", "D_80040B64"] - - [0xC1FDD8, 0xC1FE24, "ptr", "D_80040B68"] - - [0xC1FE24, 0xC1FF80, "ptr", "D_80040BB4"] - - [0xC1FF80, 0xC1FF8C, "ptr", "D_80040D10"] - - [0xC1FF8C, 0xC1FF90, "ptr", "D_80040D1C"] - - [0xC1FF90, 0xC2005C, "ptr", "D_80040D20"] - - [0xC2005C, 0xC20068, "ptr", "D_80040DEC"] - - [0xC20068, 0xC2006C, "ptr", "D_80040DF8"] - - [0xC2006C, 0xC200A8, "ptr", "D_80040DFC"] - - [0xC200A8, 0xC200AC, "ptr", "D_80040E38"] - - [0xC200AC, 0xC200B0, "ptr", "D_80040E3C"] - - [0xC200B0, 0xC200EC, "ptr", "D_80040E40"] - - [0xC200EC, 0xC200F4, "ptr", "D_80040E7C"] - - [0xC200F4, 0xC200F8, "ptr", "D_80040E84"] - - [0xC200F8, 0xC200FC, "ptr", "D_80040E88"] - - [0xC200FC, 0xC20100, "ptr", "D_80040E8C"] - - [0xC20100, 0xC20104, "ptr", "D_80040E90"] - - [0xC20104, 0xC20108, "ptr", "D_80040E94"] - - [0xC20108, 0xC2010C, "ptr", "D_80040E98"] - - [0xC2010C, 0xC20110, "ptr", "D_80040E9C"] - - [0xC20110, 0xC20114, "ptr", "D_80040EA0"] - - [0xC20114, 0xC20118, "ptr", "D_80040EA4"] - - [0xC20118, 0xC2011C, "ptr", "D_80040EA8"] - - [0xC2011C, 0xC20120, "ptr", "D_80040EAC"] - - [0xC20120, 0xC20124, "ptr", "D_80040EB0"] - - [0xC20124, 0xC20128, "ptr", "D_80040EB4"] - - [0xC20128, 0xC2012C, "ptr", "D_80040EB8"] - - [0xC2012C, 0xC20154, "ptr", "D_80040EBC"] - - [0xC20154, 0xC20174, "ptr", "D_80040EE4"] - - [0xC20174, 0xC20178, "ptr", "D_80040F04"] - - [0xC20178, 0xC2017C, "ptr", "D_80040F08"] - - [0xC2017C, 0xC20180, "ptr", "D_80040F0C"] - - [0xC20180, 0xC20184, "ptr", "D_80040F10"] - - [0xC20184, 0xC20188, "ptr", "D_80040F14"] - - [0xC20188, 0xC2018C, "ptr", "D_80040F18"] - - [0xC2018C, 0xC20190, "ptr", "D_80040F1C"] - - [0xC20190, 0xC20194, "ptr", "D_80040F20"] - - [0xC20194, 0xC20198, "ptr", "D_80040F24"] - - [0xC20198, 0xC201A0, "ptr", "D_80040F28"] - - [0xC201A0, 0xC201B4, "ptr", "D_80040F30"] - - [0xC201B4, 0xC201B8, "ptr", "D_80040F44"] - - [0xC201B8, 0xC201BC, "ptr", "D_80040F48"] - - [0xC201BC, 0xC201C8, "ptr", "list_of_tilesizes"] - - [0xC201C8, 0xC201CC, "ptr", "base_ptr_connection_vals"] - - [0xC201CC, 0xC201D4, "ptr", "ptr_firstroom_0"] - - [0xC201D4, 0xC2021C, "ptr", "D_80040F64"] - - [0xC2021C, 0xC20220, "ptr", "D_80040FAC"] - - [0xC20220, 0xC20224, "ptr", "stanLoaded"] - - [0xC20224, 0xC2062C, "ptr", "stanlinelog_flag"] - - [0xC2062C, 0xC20630, "ptr", "D_800413BC"] - - [0xC20630, 0xC20634, "ptr", "D_800413C0"] - - [0xC20634, 0xC20638, "ptr", "D_800413C4"] - - [0xC20638, 0xC2063C, "ptr", "D_800413C8"] - - [0xC2063C, 0xC20640, "ptr", "D_800413CC"] - - [0xC20640, 0xC20660, "ptr", "D_800413D0"] - - [0xC20660, 0xC20664, "ptr", "ptr_bg_c_debug_debug_notice_list"] - - [0xC20664, 0xC20668, "ptr", "D_800413F4"] - - [0xC20668, 0xC2066C, "ptr", "D_800413F8"] - - [0xC2066C, 0xC20670, "ptr", "D_800413FC"] - - [0xC20670, 0xC20674, "ptr", "D_80041400"] - - [0xC20674, 0xC20678, "ptr", "D_80041404"] - - [0xC20678, 0xC2067C, "ptr", "D_80041408"] - - [0xC2067C, 0xC20680, "ptr", "D_8004140C"] - - [0xC20680, 0xC20684, "ptr", "D_80041410"] - - [0xC20684, 0xC20687, "ptr", "D_80041414"] - - [0xC20687, 0xC20688, "ptr", "D_80041417"] - - [0xC20688, 0xC20694, "ptr", "D_80041418"] - - [0xC20694, 0xC206E4, "ptr", "room_information"] - - [0xC206E4, 0xC23564, "ptr", "D_80041474"] - - [0xC23564, 0xC23568, "ptr", "MaxNumRooms"] - - [0xC23568, 0xC2356C, "ptr", "D_800442F8"] - - [0xC2356C, 0xC23634, "ptr", "D_800442FC"] - - [0xC23634, 0xC236FC, "ptr", "D_800443C4"] - - [0xC236FC, 0xC23A94, "ptr", "levelinfotable"] - - [0xC23A94, 0xC23AB0, "ptr", "D_80044824"] - - [0xC23AB0, 0xC23AB8, "ptr", "D_80044840"] - - [0xC23AB8, 0xC23AC8, "ptr", "D_80044848"] - - [0xC23AC8, 0xC23ACC, "ptr", "D_80044858"] - - [0xC23ACC, 0xC23AD0, "ptr", "D_8004485C"] - - [0xC23AD0, 0xC23AD4, "ptr", "D_80044860"] - - [0xC23AD4, 0xC23AD8, "ptr", "D_80044864"] - - [0xC23AD8, 0xC23ADC, "ptr", "D_80044868"] - - [0xC23ADC, 0xC23AE0, "ptr", "D_8004486C"] - - [0xC23AE0, 0xC23AE4, "ptr", "D_80044870"] - - [0xC23AE4, 0xC23AE8, "ptr", "D_80044874"] - - [0xC23AE8, 0xC23AEC, "ptr", "D_80044878"] - - [0xC23AEC, 0xC23AF0, "ptr", "D_8004487C"] - - [0xC23AF0, 0xC23AF4, "ptr", "D_80044880"] - - [0xC23AF4, 0xC23AF8, "ptr", "D_80044884"] - - [0xC23AF8, 0xC23AFC, "ptr", "D_80044888"] - - [0xC23AFC, 0xC23B00, "ptr", "D_8004488C"] - - [0xC23B00, 0xC23B04, "ptr", "D_80044890"] - - [0xC23B04, 0xC23B08, "ptr", "D_80044894"] - - [0xC23B08, 0xC23B0C, "ptr", "D_80044898"] - - [0xC23B0C, 0xC23B10, "ptr", "D_8004489C"] - - [0xC23B10, 0xC23B14, "ptr", "D_800448A0"] - - [0xC23B14, 0xC23B68, "ptr", "D_800448A4"] - - [0xC23B68, 0xC23B6C, "ptr", "D_800448F8"] - - [0xC23B6C, 0xC23B70, "ptr", "current_visibility"] - - [0xC23B70, 0xC23B74, "ptr", "D_80044900"] - - [0xC23B74, 0xC23B98, "ptr", "D_80044904"] - - [0xC23B98, 0xC23BB0, "ptr", "D_80044928"] - - [0xC23BB0, 0xC23C38, "ptr", "D_80044940"] - - [0xC23C38, 0xC23D20, "ptr", "D_800449C8"] - - [0xC23D20, 0xC23DC8, "ptr", "D_80044AB0"] - - [0xC23DC8, 0xC23E70, "ptr", "D_80044B58"] - - [0xC23E70, 0xC23E98, "ptr", "D_80044C00"] - - [0xC23E98, 0xC23EC0, "ptr", "D_80044C28"] - - [0xC23EC0, 0xC23ED8, "ptr", "D_80044C50"] - - [0xC23ED8, 0xC23F10, "ptr", "D_80044C68"] - - [0xC23F10, 0xC23FF8, "ptr", "D_80044CA0"] - - [0xC23FF8, 0xC24020, "ptr", "D_80044D88"] - - [0xC24020, 0xC24034, "ptr", "D_80044DB0"] - - [0xC24034, 0xC24038, "ptr", "near_fog_value"] - - [0xC24038, 0xC2403C, "ptr", "near_fog_times_intensity"] - - [0xC2403C, 0xC24080, "ptr", "ptr_current_data"] - - [0xC24080, 0xC251C0, "ptr", "fog_tables"] - - [0xC251C0, 0xC25240, "ptr", "fog_tables2"] - - [0xC25240, 0xC252A0, "ptr", "D_80045FD0"] - - [0xC252A0, 0xC252C0, "ptr", "D_80046030"] - - [0xC252C0, 0xC252C4, "ptr", "D_80046050"] - - [0xC252C4, 0xC252D0, "ptr", "resource_table"] - - [0xC252D0, 0xC27544, "ptr", "file_entry_offset"] - - [0xC27544, 0xC27550, "ptr", "file_entry_max"] - - [0xC27550, 0xC27554, "ptr", "D_800482E0"] - - [0xC27554, 0xC27560, "ptr", "D_800482E4"] - - [0xC27560, 0xC27590, "ptr", "D_800482F0"] - - [0xC27590, 0xC275D0, "ptr", "membars_string"] - - [0xC275D0, 0xC275D4, "ptr", "D_80048360"] - - [0xC275D4, 0xC275D8, "ptr", "current_stage_to_load"] - - [0xC275D8, 0xC275DC, "ptr", "D_80048368"] - - [0xC275DC, 0xC275E0, "ptr", "D_8004836C"] - - [0xC275E0, 0xC275E4, "ptr", "controls_locked_flag"] - - [0xC275E4, 0xC275E8, "ptr", "clock_timer"] - - [0xC275E8, 0xC275EC, "ptr", "global_timer_delta"] - - [0xC275EC, 0xC275F0, "ptr", "global_timer"] - - [0xC275F0, 0xC275F4, "ptr", "D_80048380"] - - [0xC275F4, 0xC275F8, "ptr", "difficulty_0"] - - [0xC275F8, 0xC275FC, "ptr", "D_80048388"] - - [0xC275FC, 0xC27600, "ptr", "D_8004838C"] - - [0xC27600, 0xC27604, "ptr", "D_80048390"] - - [0xC27604, 0xC27608, "ptr", "D_80048394"] - - [0xC27608, 0xC2760C, "ptr", "mp_time"] - - [0xC2760C, 0xC27610, "ptr", "mp_point"] - - [0xC27610, 0xC27614, "ptr", "D_800483A0"] - - [0xC27614, 0xC27618, "ptr", "cur_mp_sec"] - - [0xC27618, 0xC2761C, "ptr", "D_800483A8"] - - [0xC2761C, 0xC27620, "ptr", "cur_mp_min"] - - [0xC27620, 0xC27624, "ptr", "D_800483B0"] - - [0xC27624, 0xC27628, "ptr", "stage_time_sec"] - - [0xC27628, 0xC2762C, "ptr", "D_800483B8"] - - [0xC2762C, 0xC27630, "ptr", "poweron_time_sec"] - - [0xC27630, 0xC27634, "ptr", "D_800483C0"] - - [0xC27634, 0xC27638, "ptr", "D_800483C4"] - - [0xC27638, 0xC2763C, "ptr", "D_800483C8"] - - [0xC2763C, 0xC27640, "ptr", "D_800483CC"] - - [0xC27640, 0xC27644, "ptr", "D_800483D0"] - - [0xC27644, 0xC27648, "ptr", "D_800483D4"] - - [0xC27648, 0xC2764C, "ptr", "D_800483D8"] - - [0xC2764C, 0xC27650, "ptr", "D_800483DC"] - - [0xC27650, 0xC27654, "ptr", "D_800483E0"] - - [0xC27654, 0xC27660, "ptr", "D_800483E4"] - - [0xC27660, 0xC276D8, "ptr", "ramrom_table"] - - [0xC276D8, 0xC276DC, "ptr", "ramrom_blkbuf_1"] - - [0xC276DC, 0xC276E0, "ptr", "ramrom_blkbuf_2"] - - [0xC276E0, 0xC276E4, "ptr", "ramrom_blkbuf_3"] - - [0xC276E4, 0xC276E8, "ptr", "ramrom_blkbuf_1_2"] - - [0xC276E8, 0xC276EC, "ptr", "ramrom_demo_related_3"] - - [0xC276EC, 0xC276F0, "ptr", "ramrom_demo_related_4"] - - [0xC276F0, 0xC276F4, "ptr", "ramrom_blkbuf_1_5"] - - [0xC276F4, 0xC276F8, "ptr", "ramrom_demo_related_6"] - - [0xC276F8, 0xC27700, "ptr", "flag_to_record_ramrom"] - - [0xC27700, 0xC27704, "ptr", "D_80048490"] - - [0xC27704, 0xC27708, "ptr", "D_80048494"] - - [0xC27708, 0xC2770C, "ptr", "D_80048498"] - - [0xC2770C, 0xC27710, "ptr", "D_8004849C"] - - [0xC27710, 0xC27714, "ptr", "D_800484A0"] - - [0xC27714, 0xC27718, "ptr", "D_800484A4"] - - [0xC27718, 0xC2771C, "ptr", "D_800484A8"] - - [0xC2771C, 0xC27720, "ptr", "copy_of_osgetcount_value_0"] - - [0xC27720, 0xC27724, "ptr", "copy_of_osgetcount_value_1"] - - [0xC27724, 0xC27730, "ptr", "D_800484B4"] - - [0xC27730, 0xC27740, "ptr", "mission_state"] - - [0xC27740, 0xC27744, "ptr", "j_text_trigger"] - - [0xC27744, 0xC278B0, "ptr", "LnameX_lookuptable"] - - [0xC278B0, 0xC278E0, "ptr", "loaded_text_index"] - - [0xC278E0, 0xC279A0, "ptr", "type_0_stru_800490F0"] - - [0xC279A0, 0xC27A60, "ptr", "type_1_stru_800490F0"] - - [0xC27A60, 0xC27B20, "ptr", "type_D_stru_800490F0"] - - [0xC27B20, 0xC27BE0, "ptr", "type_2_stru_800490F0"] - - [0xC27BE0, 0xC27CA0, "ptr", "type_3_stru_800490F0"] - - [0xC27CA0, 0xC27D60, "ptr", "type_4_stru_800490F0"] - - [0xC27D60, 0xC27E20, "ptr", "type_5_stru_800490F0"] - - [0xC27E20, 0xC27EE0, "ptr", "type_6_stru_800490F0"] - - [0xC27EE0, 0xC27FA0, "ptr", "type_7_stru_800490F0"] - - [0xC27FA0, 0xC28060, "ptr", "type_8_stru_800490F0"] - - [0xC28060, 0xC28120, "ptr", "type_9_stru_800490F0"] - - [0xC28120, 0xC281E0, "ptr", "type_A_stru_800490F0"] - - [0xC281E0, 0xC282A0, "ptr", "type_B_stru_800490F0"] - - [0xC282A0, 0xC28360, "ptr", "type_C_stru_800490F0"] - - [0xC28360, 0xC283D0, "ptr", "D_800490F0"] - - [0xC283D0, 0xC283E0, "ptr", "D_80049160"] - - [0xC283E0, 0xC283E8, "ptr", "bytes"] - - [0xC283E8, 0xC28450, "ptr", "D_80049178"] - - [0xC28450, 0xC28570, "ptr", "D_800491E0"] - - [0xC28570, 0xC2D9D0, "ptr", "image_entries"] - - [0xC2D9D0, 0xC2D9D4, "ptr", "D_8004E760"] - - [0xC2D9D4, 0xC2D9D8, "ptr", "D_8004E764"] - - [0xC2D9D8, 0xC2D9E4, "ptr", "isnd_default"] - - [0xC2D9E4, 0xC2D9E8, "ptr", "D_8004E774"] - - [0xC2D9E8, 0xC2D9EC, "ptr", "D_8004E778"] - - [0xC2D9EC, 0xC2D9F8, "ptr", "D_8004E77C"] - - [0xC2D9F8, 0xC2D9FC, "ptr", "D_8004E788"] - - [0xC2D9FC, 0xC2DA00, "ptr", "D_8004E78C"] - - [0xC2DA00, 0xC2DA0C, "ptr", "D_8004E790"] - - [0xC2DA0C, 0xC2DA14, "ptr", "D_8004E79C"] - - [0xC2DA14, 0xC2DA18, "ptr", "D_8004E7A4"] - - [0xC2DA18, 0xC2DA24, "ptr", "D_8004E7A8"] - - [0xC2DA24, 0xC2DA28, "ptr", "D_8004E7B4"] - - [0xC2DA28, 0xC2DA2C, "ptr", "D_8004E7B8"] - - [0xC2DA2C, 0xC2DA38, "ptr", "D_8004E7BC"] - - [0xC2DA38, 0xC2DA3C, "ptr", "D_8004E7C8"] - - [0xC2DA3C, 0xC2DA40, "ptr", "D_8004E7CC"] - - [0xC2DA40, 0xC2DA4C, "ptr", "D_8004E7D0"] - - [0xC2DA4C, 0xC2DA50, "ptr", "D_8004E7DC"] - - [0xC2DA50, 0xC2DA54, "ptr", "D_8004E7E0"] - - [0xC2DA54, 0xC2DA60, "ptr", "D_8004E7E4"] - - [0xC2DA60, 0xC2DA64, "ptr", "D_8004E7F0"] - - [0xC2DA64, 0xC2DA68, "ptr", "D_8004E7F4"] - - [0xC2DA68, 0xC2DA74, "ptr", "D_8004E7F8"] - - [0xC2DA74, 0xC2DA7C, "ptr", "D_8004E804"] - - [0xC2DA7C, 0xC2DA80, "ptr", "D_8004E80C"] - - [0xC2DA80, 0xC2DA8C, "ptr", "D_8004E810"] - - [0xC2DA8C, 0xC2DA90, "ptr", "D_8004E81C"] - - [0xC2DA90, 0xC2DA94, "ptr", "D_8004E820"] - - [0xC2DA94, 0xC2DAA0, "ptr", "D_8004E824"] - - [0xC2DAA0, 0xC2DAA4, "ptr", "D_8004E830"] - - [0xC2DAA4, 0xC2DAA8, "ptr", "D_8004E834"] - - [0xC2DAA8, 0xC2DAB4, "ptr", "D_8004E838"] - - [0xC2DAB4, 0xC2DAB8, "ptr", "D_8004E844"] - - [0xC2DAB8, 0xC2DABC, "ptr", "D_8004E848"] - - [0xC2DABC, 0xC2DAC8, "ptr", "D_8004E84C"] - - [0xC2DAC8, 0xC2DACC, "ptr", "D_8004E858"] - - [0xC2DACC, 0xC2DAD0, "ptr", "D_8004E85C"] - - [0xC2DAD0, 0xC2DADC, "ptr", "D_8004E860"] - - [0xC2DADC, 0xC2DB50, "ptr", "D_8004E86C"] - - [0xC2DB50, 0xC2DBAC, "ptr", "D_8004E8E0"] - - [0xC2DBAC, 0xC2DC04, "ptr", "D_8004E93C"] - - [0xC2DC04, 0xC2DC20, "ptr", "D_8004E994"] - - [0xC2DC20, 0xC2DC44, "ptr", "D_8004E9B0"] - - [0xC2DC44, 0xC2DC48, "ptr", "D_8004E9D4"] - - [0xC2DC48, 0xC2DC50, "ptr", "D_8004E9D8"] - - [0xC2DC50, 0xC2DC54, "ptr", "D_8004E9E0"] - - [0xC2DC54, 0xC2DC58, "ptr", "D_8004E9E4"] - - [0xC2DC58, 0xC2DC60, "ptr", "D_8004E9E8"] - - [0xC2DC60, 0xC2DCC0, "ptr", "fast3d_related"] - - [0xC2DCC0, 0xC2DD20, "ptr", "fast3d_related_0"] - - [0xC2DD20, 0xC2DD34, "ptr", "fast3d_related_array"] - - [0xC2DD34, 0xC2DD38, "ptr", "D_8004EAC4"] - - [0xC2DD38, 0xC2DD50, "ptr", "indy_ready"] - - [0xC2DD50, 0xC2DD60, "ptr", "D_8004EAE0"] - - [0xC2DD60, 0xC2DD64, "ptr", "D_8004EAF0"] - - [0xC2DD64, 0xC2DD70, "ptr", "D_8004EAF4"] - - [0xC2DD70, 0xC2DD80, "ptr", "viewport_img"] - - [0xC2DD80, 0xC2DE40, "ptr", "music_setup_entries"] - - [0xC2DE40, 0xC2DEA4, "ptr", "random_tracks"] - - [0xC2DEA4, 0xC2DEA5, "ptr", "D_8004EC34"] - - [0xC2DEA5, 0xC2DEA7, "ptr", "D_8004EC34+1"] - - [0xC2DEA7, 0xC2DEA8, "ptr", "D_8004EC37"] - - [0xC2DEA8, 0xC2DEAB, "ptr", "D_8004EC38"] - - [0xC2DEAB, 0xC2DEAD, "ptr", "D_8004EC3B"] - - [0xC2DEAD, 0xC2DEB0, "ptr", "D_8004EC3C+1"] - - [0xC2DEB0, 0xC2DEB4, "ptr", "D_8004EC40"] - - [0xC2DEB4, 0xC2DF7C, "ptr", "D_8004EC44"] - - [0xC2DF7C, 0xC2DF9C, "ptr", "D_8004ED0C"] - - [0xC2DF9C, 0xC2DFC4, "ptr", "aEmDataSabre_seg_rz_ptr"] - - [0xC2DFC4, 0xC2DFE0, "ptr", "D_8004ED54"] - - [0xC2DFE0, 0xC2DFE4, "ptr", "D_8004ED70"] - - [0xC2DFE4, 0xC2DFE8, "ptr", "D_8004ED74"] - - [0xC2DFE8, 0xC2DFF0, "ptr", "D_8004ED78"] - - [0xC2DFF0, 0xC2E000, "ptr", "default_gu_scale"] - - [0xC2E000, 0xC2E008, "ascii", "aNochr"] - - [0xC2E008, 0xC2E010, "ascii", "aNoprop"] - - [0xC2E010, 0xC2E018, "ascii", "aNoobj"] - - [0xC2E018, 0xC2E020, "ascii", "aNoprop_0"] - - [0xC2E020, 0xC2E120, "ptr", "only_read_by_stageload"] - - [0xC2E120, 0xC2E124, "ascii", "aMp_"] - - [0xC2E124, 0xC2E128, "ptr", "D_8004EEB4"] - - [0xC2E128, 0xC2E1A0, "ptr", "jpt_700366F0"] - - [0xC2E1A0, 0xC2E1C0, "ptr", "jpt_mp_ammo_crate_expansion"] - - [0xC2E1C0, 0xC2E1C4, "ptr", "D_8004EF50"] - - [0xC2E1C4, 0xC2E1C8, "ptr", "D_8004EF54"] - - [0xC2E1C8, 0xC2E1CC, "ptr", "D_8004EF58"] - - [0xC2E1CC, 0xC2E1D0, "ptr", "D_8004EF5C"] - - [0xC2E1D0, 0xC2E1D4, "ptr", "D_8004EF60"] - - [0xC2E1D4, 0xC2E1D8, "ptr", "D_8004EF64"] - - [0xC2E1D8, 0xC2E294, "ptr", "jpt_object_type_expansion"] - - [0xC2E294, 0xC2E298, "ptr", "D_8004F024"] - - [0xC2E298, 0xC2E29C, "ptr", "D_8004F028"] - - [0xC2E29C, 0xC2E350, "ptr", "jpt_70038A94"] - - [0xC2E350, 0xC2E354, "ptr", "D_8004F0E0"] - - [0xC2E354, 0xC2E360, "ptr", "fl_neg_pi"] - - [0xC2E360, 0xC2E418, "ptr", "projectile_ptr_table"] - - [0xC2E418, 0xC2E41C, "ptr", "D_8004F1A8"] - - [0xC2E41C, 0xC2E440, "ptr", "jpt_700399A4"] - - [0xC2E440, 0xC2E444, "ptr", "D_8004F1D0"] - - [0xC2E444, 0xC2E448, "ptr", "D_8004F1D4"] - - [0xC2E448, 0xC2E44C, "ptr", "D_8004F1D8"] - - [0xC2E44C, 0xC2E450, "ptr", "D_8004F1DC"] - - [0xC2E450, 0xC2E460, "ptr", "D_8004F1E0"] - - [0xC2E460, 0xC2E464, "ptr", "D_8004F1F0"] - - [0xC2E464, 0xC2E468, "ptr", "D_8004F1F4"] - - [0xC2E468, 0xC2E470, "ptr", "D_8004F1F8"] - - [0xC2E470, 0xC2E474, "ptr", "str_Mt"] - - [0xC2E474, 0xC2E480, "ptr", "str_Mt_0"] - - [0xC2E480, 0xC2E540, "ptr", "jpt_7003B478"] - - [0xC2E540, 0xC2E544, "ptr", "D_8004F2D0"] - - [0xC2E544, 0xC2E548, "ptr", "D_8004F2D4"] - - [0xC2E548, 0xC2E54C, "ptr", "D_8004F2D8"] - - [0xC2E54C, 0xC2E550, "ptr", "D_8004F2DC"] - - [0xC2E550, 0xC2E56C, "ptr", "jpt_7003D1CC"] - - [0xC2E56C, 0xC2E570, "ptr", "D_8004F2FC"] - - [0xC2E570, 0xC2E574, "ptr", "D_8004F300"] - - [0xC2E574, 0xC2E580, "ptr", "D_8004F304"] - - [0xC2E580, 0xC2E584, "ptr", "D_8004F310"] - - [0xC2E584, 0xC2E588, "ascii", "aI_0"] - - [0xC2E588, 0xC2E594, "ascii", "aUbriefdamz_1"] - - [0xC2E594, 0xC2E598, "ascii", "aIi"] - - [0xC2E598, 0xC2E5A4, "ascii", "aUbriefarkz_1"] - - [0xC2E5A4, 0xC2E5A8, "ascii", "aIii"] - - [0xC2E5A8, 0xC2E5B4, "ascii", "aUbriefrunz_1"] - - [0xC2E5B4, 0xC2E5B8, "ptr", "D_8004F344"] - - [0xC2E5B8, 0xC2E5BC, "ascii", "aI_2"] - - [0xC2E5BC, 0xC2E5C8, "ascii", "aUbriefsevxz_0"] - - [0xC2E5C8, 0xC2E5CC, "ascii", "aIi_1"] - - [0xC2E5CC, 0xC2E5E0, "ascii", "aUbriefsevbunkerz_1"] - - [0xC2E5E0, 0xC2E5E4, "ptr", "D_8004F370"] - - [0xC2E5E4, 0xC2E5E8, "ascii", "aI_1"] - - [0xC2E5E8, 0xC2E5F4, "ascii", "aUbriefsiloz_0"] - - [0xC2E5F4, 0xC2E5F8, "ascii", "a4"] - - [0xC2E5F8, 0xC2E5FC, "ascii", "aI_3"] - - [0xC2E5FC, 0xC2E608, "ascii", "aUbriefdestz_0"] - - [0xC2E608, 0xC2E60C, "ascii", "a5"] - - [0xC2E60C, 0xC2E610, "ascii", "aI_4"] - - [0xC2E610, 0xC2E620, "ascii", "aUbriefsevxbz_0"] - - [0xC2E620, 0xC2E624, "ascii", "aIi_0"] - - [0xC2E624, 0xC2E630, "ascii", "aUbriefsevbz_0"] - - [0xC2E630, 0xC2E634, "ascii", "a6"] - - [0xC2E634, 0xC2E638, "ascii", "aI_5"] - - [0xC2E638, 0xC2E648, "ascii", "aUbriefstatuez_0"] - - [0xC2E648, 0xC2E64C, "ascii", "aIi_2"] - - [0xC2E64C, 0xC2E658, "ascii", "aUbriefarchz_0"] - - [0xC2E658, 0xC2E65C, "ascii", "aIii_0"] - - [0xC2E65C, 0xC2E668, "ascii", "aUbriefpetez_0"] - - [0xC2E668, 0xC2E66C, "ascii", "aIv"] - - [0xC2E66C, 0xC2E678, "ascii", "aUbriefdepoz_0"] - - [0xC2E678, 0xC2E67C, "ascii", "aV"] - - [0xC2E67C, 0xC2E688, "ascii", "aUbrieftraz_0"] - - [0xC2E688, 0xC2E68C, "ascii", "a7"] - - [0xC2E68C, 0xC2E690, "ascii", "aI_6"] - - [0xC2E690, 0xC2E69C, "ascii", "aUbriefjunz_0"] - - [0xC2E69C, 0xC2E6A0, "ascii", "aIi_3"] - - [0xC2E6A0, 0xC2E6B0, "ascii", "aUbriefcontrolz_0"] - - [0xC2E6B0, 0xC2E6B4, "ascii", "aIii_1"] - - [0xC2E6B4, 0xC2E6C0, "ascii", "aUbriefcavez_0"] - - [0xC2E6C0, 0xC2E6C4, "ascii", "aIv_0"] - - [0xC2E6C4, 0xC2E6D0, "ascii", "aUbriefcradz_0"] - - [0xC2E6D0, 0xC2E6D4, "ascii", "a8"] - - [0xC2E6D4, 0xC2E6D8, "ascii", "aI_7"] - - [0xC2E6D8, 0xC2E6E4, "ascii", "aUbriefaztz_0"] - - [0xC2E6E4, 0xC2E6E8, "ascii", "a9"] - - [0xC2E6E8, 0xC2E6EC, "ascii", "aI_8"] - - [0xC2E6EC, 0xC2E6F8, "ascii", "aUbriefcrypz_0"] - - [0xC2E6F8, 0xC2E6FC, "ptr", "asc_D_8004F488"] - - [0xC2E6FC, 0xC2E700, "ascii", "a_"] - - [0xC2E700, 0xC2E704, "ptr", "asc_D_8004F490"] - - [0xC2E704, 0xC2E708, "ascii", "a1_"] - - [0xC2E708, 0xC2E70C, "ascii", "a2_"] - - [0xC2E70C, 0xC2E710, "ascii", "a3_"] - - [0xC2E710, 0xC2E714, "ptr", "asc_D_8004F4A0"] - - [0xC2E714, 0xC2E718, "ptr", "asc_D_8004F4A4"] - - [0xC2E718, 0xC2E71C, "ptr", "asc_D_8004F4A8"] - - [0xC2E71C, 0xC2E720, "ptr", "asc_D_8004F4AC"] - - [0xC2E720, 0xC2E724, "ptr", "asc_D_8004F4B0"] - - [0xC2E724, 0xC2F2DC, "ptr", "asc_D_8004F4B4"] - - [0xC2F2DC, 0xC2F2E4, "ascii", "aD_"] - - [0xC2F2E4, 0xC2FE9C, "ptr", "asc_D_80050074"] - - [0xC2FE9C, 0xC2FEA4, "ascii", "aD"] - - [0xC2FEA4, 0xC2FEAC, "ascii", "aD_0"] - - [0xC2FEAC, 0xC2FEB4, "ascii", "aD_1"] - - [0xC2FEB4, 0xC2FEBC, "ascii", "aD_2"] - - [0xC2FEBC, 0xC2FEC0, "ascii", "aD_7"] - - [0xC2FEC0, 0xC2FEC4, "ascii", "aA_"] - - [0xC2FEC4, 0xC30A7C, "ptr", "asc_D_80050C54"] - - [0xC30A7C, 0xC30A88, "ascii", "a02d02d"] - - [0xC30A88, 0xC30A94, "ascii", "aS"] - - [0xC30A94, 0xC30AA0, "ascii", "a02d02d_0"] - - [0xC30AA0, 0xC30AB8, "ascii", "aS02d02d"] - - [0xC30AB8, 0xC30ABC, "ptr", "D_80051848"] - - [0xC30ABC, 0xC30AC8, "ascii", "a02d02d_1"] - - [0xC30AC8, 0xC30AD0, "ascii", "a_1f"] - - [0xC30AD0, 0xC30AD8, "ascii", "aX2"] - - [0xC30AD8, 0xC30ADC, "ascii", "aD_8"] - - [0xC30ADC, 0xC30AE8, "ascii", "aDD_0"] - - [0xC30AE8, 0xC30AF4, "ascii", "aDD_1"] - - [0xC30AF4, 0xC30B00, "ascii", "aDD_2"] - - [0xC30B00, 0xC30B0C, "ascii", "aDD_3"] - - [0xC30B0C, 0xC30B10, "ascii", "aD_10"] - - [0xC30B10, 0xC30C38, "ptr", "jpt_7003D79C"] - - [0xC30C38, 0xC30C3C, "ptr", "folder_menu_x_dim"] - - [0xC30C3C, 0xC30C40, "ptr", "folder_menu_z_dim"] - - [0xC30C40, 0xC30C44, "ptr", "D_800519D0"] - - [0xC30C44, 0xC30C48, "ptr", "D_800519D4"] - - [0xC30C48, 0xC30C4C, "ptr", "D_800519D8"] - - [0xC30C4C, 0xC30C50, "ptr", "D_800519DC"] - - [0xC30C50, 0xC30C54, "ptr", "D_800519E0"] - - [0xC30C54, 0xC30C58, "ptr", "D_800519E4"] - - [0xC30C58, 0xC30C5C, "ptr", "D_800519E8"] - - [0xC30C5C, 0xC30C60, "ptr", "D_800519EC"] - - [0xC30C60, 0xC30C64, "ptr", "D_800519F0"] - - [0xC30C64, 0xC30C68, "ptr", "D_800519F4"] - - [0xC30C68, 0xC30C6C, "ptr", "D_800519F8"] - - [0xC30C6C, 0xC30C70, "ptr", "D_800519FC"] - - [0xC30C70, 0xC30C74, "ptr", "D_80051A00"] - - [0xC30C74, 0xC30C78, "ptr", "D_80051A04"] - - [0xC30C78, 0xC30C7C, "ptr", "D_80051A08"] - - [0xC30C7C, 0xC30C80, "ptr", "D_80051A0C"] - - [0xC30C80, 0xC30C84, "ptr", "D_80051A10"] - - [0xC30C84, 0xC30C88, "ptr", "D_80051A14"] - - [0xC30C88, 0xC30C8C, "ptr", "D_80051A18"] - - [0xC30C8C, 0xC30C90, "ptr", "D_80051A1C"] - - [0xC30C90, 0xC30C94, "ptr", "D_80051A20"] - - [0xC30C94, 0xC30C98, "ptr", "D_80051A24"] - - [0xC30C98, 0xC30C9C, "ptr", "D_80051A28"] - - [0xC30C9C, 0xC30CA0, "ptr", "D_80051A2C"] - - [0xC30CA0, 0xC30CA4, "ptr", "D_80051A30"] - - [0xC30CA4, 0xC30CA8, "ptr", "D_80051A34"] - - [0xC30CA8, 0xC30CAC, "ptr", "D_80051A38"] - - [0xC30CAC, 0xC30CB0, "ptr", "D_80051A3C"] - - [0xC30CB0, 0xC30CB4, "ptr", "D_80051A40"] - - [0xC30CB4, 0xC30CB8, "ptr", "D_80051A44"] - - [0xC30CB8, 0xC30CBC, "ptr", "D_80051A48"] - - [0xC30CBC, 0xC30CC0, "ptr", "D_80051A4C"] - - [0xC30CC0, 0xC30CC4, "ptr", "D_80051A50"] - - [0xC30CC4, 0xC30CC8, "ptr", "D_80051A54"] - - [0xC30CC8, 0xC30CCC, "ptr", "D_80051A58"] - - [0xC30CCC, 0xC30CD0, "ptr", "D_80051A5C"] - - [0xC30CD0, 0xC30CF0, "ptr", "jpt_scenario_specific_settings_mp"] - - [0xC30CF0, 0xC30CF4, "ptr", "D_80051A80"] - - [0xC30CF4, 0xC30CF8, "ptr", "D_80051A84"] - - [0xC30CF8, 0xC30CFC, "ptr", "D_80051A88"] - - [0xC30CFC, 0xC30D00, "ptr", "D_80051A8C"] - - [0xC30D00, 0xC30D04, "ptr", "D_80051A90"] - - [0xC30D04, 0xC30D08, "ptr", "D_80051A94"] - - [0xC30D08, 0xC30D0C, "ptr", "D_80051A98"] - - [0xC30D0C, 0xC30D10, "ptr", "D_80051A9C"] - - [0xC30D10, 0xC30D14, "ptr", "D_80051AA0"] - - [0xC30D14, 0xC30D18, "ptr", "D_80051AA4"] - - [0xC30D18, 0xC30D1C, "ptr", "D_80051AA8"] - - [0xC30D1C, 0xC30D20, "ptr", "D_80051AAC"] - - [0xC30D20, 0xC30D24, "ptr", "D_80051AB0"] - - [0xC30D24, 0xC30D28, "ptr", "D_80051AB4"] - - [0xC30D28, 0xC30D2C, "ptr", "D_80051AB8"] - - [0xC30D2C, 0xC30D30, "ptr", "D_80051ABC"] - - [0xC30D30, 0xC30D44, "ptr", "jpt_briefingpage_name"] - - [0xC30D44, 0xC30D48, "ptr", "D_80051AD4"] - - [0xC30D48, 0xC30D4C, "ptr", "D_80051AD8"] - - [0xC30D4C, 0xC30D50, "ptr", "D_80051ADC"] - - [0xC30D50, 0xC30D54, "ptr", "D_80051AE0"] - - [0xC30D54, 0xC30D58, "ptr", "D_80051AE4"] - - [0xC30D58, 0xC30D5C, "ptr", "D_80051AE8"] - - [0xC30D5C, 0xC30D70, "ptr", "jpt_intro_bond_head"] - - [0xC30D70, 0xC30D74, "ptr", "D_80051B00"] - - [0xC30D74, 0xC30D78, "ptr", "D_80051B04"] - - [0xC30D78, 0xC30D7C, "ptr", "D_80051B08"] - - [0xC30D7C, 0xC30D80, "ptr", "D_80051B0C"] - - [0xC30D80, 0xC30D84, "ptr", "D_80051B10"] - - [0xC30D84, 0xC30D88, "ptr", "D_80051B14"] - - [0xC30D88, 0xC30D8C, "ptr", "D_80051B18"] - - [0xC30D8C, 0xC30D90, "ptr", "D_80051B1C"] - - [0xC30D90, 0xC30D94, "ptr", "D_80051B20"] - - [0xC30D94, 0xC30D98, "ptr", "D_80051B24"] - - [0xC30D98, 0xC30DA0, "ptr", "D_80051B28"] - - [0xC30DA0, 0xC30DA4, "ptr", "D_80051B30"] - - [0xC30DA4, 0xC30DA8, "ptr", "D_80051B34"] - - [0xC30DA8, 0xC30DAC, "ptr", "D_80051B38"] - - [0xC30DAC, 0xC30DB0, "ptr", "D_80051B3C"] - - [0xC30DB0, 0xC30DB4, "ptr", "D_80051B40"] - - [0xC30DB4, 0xC30DB8, "ptr", "D_80051B44"] - - [0xC30DB8, 0xC30DBC, "ptr", "D_80051B48"] - - [0xC30DBC, 0xC30E24, "ptr", "jpt_menu_update"] - - [0xC30E24, 0xC30E8C, "ptr", "jpt_menu_init"] - - [0xC30E8C, 0xC30EF4, "ptr", "jpt_menu_interface"] - - [0xC30EF4, 0xC30F60, "ptr", "jpt_menu_constructor"] - - [0xC30F60, 0xC30F70, "ptr", "D_80051CF0"] - - [0xC30F70, 0xC30F80, "ptr", "D_80051D00"] - - [0xC30F80, 0xC30F84, "ptr", "D_80051D10"] - - [0xC30F84, 0xC30F88, "ptr", "D_80051D14"] - - [0xC30F88, 0xC30F8C, "ptr", "D_80051D18"] - - [0xC30F8C, 0xC30F90, "ptr", "D_80051D1C"] - - [0xC30F90, 0xC30F94, "ptr", "D_80051D20"] - - [0xC30F94, 0xC30F98, "ptr", "D_80051D24"] - - [0xC30F98, 0xC30F9C, "ptr", "D_80051D28"] - - [0xC30F9C, 0xC30FA0, "ptr", "D_80051D2C"] - - [0xC30FA0, 0xC30FA4, "ptr", "D_80051D30"] - - [0xC30FA4, 0xC30FA8, "ptr", "D_80051D34"] - - [0xC30FA8, 0xC30FAC, "ptr", "D_80051D38"] - - [0xC30FAC, 0xC30FB0, "ptr", "D_80051D3C"] - - [0xC30FB0, 0xC30FB4, "ptr", "D_80051D40"] - - [0xC30FB4, 0xC30FB8, "ptr", "D_80051D44"] - - [0xC30FB8, 0xC30FBC, "ptr", "D_80051D48"] - - [0xC30FBC, 0xC30FC0, "ptr", "D_80051D4C"] - - [0xC30FC0, 0xC30FC4, "ptr", "D_80051D50"] - - [0xC30FC4, 0xC30FC8, "ptr", "D_80051D54"] - - [0xC30FC8, 0xC30FCC, "ptr", "D_80051D58"] - - [0xC30FCC, 0xC30FD0, "ptr", "D_80051D5C"] - - [0xC30FD0, 0xC30FD4, "ptr", "D_80051D60"] - - [0xC30FD4, 0xC30FD8, "ptr", "D_80051D64"] - - [0xC30FD8, 0xC30FDC, "ptr", "D_80051D68"] - - [0xC30FDC, 0xC30FE0, "ptr", "D_80051D6C"] - - [0xC30FE0, 0xC30FE4, "ptr", "D_80051D70"] - - [0xC30FE4, 0xC30FE8, "ptr", "D_80051D74"] - - [0xC30FE8, 0xC30FEC, "ptr", "D_80051D78"] - - [0xC30FEC, 0xC30FF0, "ptr", "D_80051D7C"] - - [0xC30FF0, 0xC30FF4, "ptr", "D_80051D80"] - - [0xC30FF4, 0xC30FF8, "ptr", "D_80051D84"] - - [0xC30FF8, 0xC31000, "ptr", "D_80051D88"] - - [0xC31000, 0xC31004, "ptr", "D_80051D90"] - - [0xC31004, 0xC31010, "ptr", "D_80051D94"] - - [0xC31010, 0xC31014, "ptr", "D_80051DA0"] - - [0xC31014, 0xC31018, "ptr", "D_80051DA4"] - - [0xC31018, 0xC3101C, "ptr", "D_80051DA8"] - - [0xC3101C, 0xC31020, "ptr", "D_80051DAC"] - - [0xC31020, 0xC31024, "ptr", "D_80051DB0"] - - [0xC31024, 0xC31028, "ptr", "D_80051DB4"] - - [0xC31028, 0xC3102C, "ptr", "D_80051DB8"] - - [0xC3102C, 0xC31030, "ptr", "D_80051DBC"] - - [0xC31030, 0xC31034, "ptr", "D_80051DC0"] - - [0xC31034, 0xC31038, "ptr", "D_80051DC4"] - - [0xC31038, 0xC3103C, "ptr", "D_80051DC8"] - - [0xC3103C, 0xC31040, "ptr", "D_80051DCC"] - - [0xC31040, 0xC31044, "ptr", "D_80051DD0"] - - [0xC31044, 0xC31048, "ptr", "D_80051DD4"] - - [0xC31048, 0xC3104C, "ptr", "D_80051DD8"] - - [0xC3104C, 0xC31054, "ptr", "D_80051DDC"] - - [0xC31054, 0xC3105C, "ptr", "D_80051DE4"] - - [0xC3105C, 0xC31060, "ptr", "D_80051DEC"] - - [0xC31060, 0xC31064, "ptr", "D_80051DF0"] - - [0xC31064, 0xC31068, "ptr", "D_80051DF4"] - - [0xC31068, 0xC3106C, "ptr", "D_80051DF8"] - - [0xC3106C, 0xC31070, "ptr", "D_80051DFC"] - - [0xC31070, 0xC31074, "ptr", "D_80051E00"] - - [0xC31074, 0xC31078, "ptr", "D_80051E04"] - - [0xC31078, 0xC3107C, "ptr", "D_80051E08"] - - [0xC3107C, 0xC31080, "ptr", "D_80051E0C"] - - [0xC31080, 0xC31084, "ptr", "D_80051E10"] - - [0xC31084, 0xC31088, "ptr", "D_80051E14"] - - [0xC31088, 0xC3108C, "ptr", "D_80051E18"] - - [0xC3108C, 0xC31090, "ptr", "D_80051E1C"] - - [0xC31090, 0xC31094, "ptr", "D_80051E20"] - - [0xC31094, 0xC31098, "ptr", "D_80051E24"] - - [0xC31098, 0xC3109C, "ptr", "D_80051E28"] - - [0xC3109C, 0xC310A0, "ptr", "D_80051E2C"] - - [0xC310A0, 0xC310A4, "ptr", "D_80051E30"] - - [0xC310A4, 0xC310A8, "ptr", "D_80051E34"] - - [0xC310A8, 0xC310AC, "ptr", "D_80051E38"] - - [0xC310AC, 0xC310B0, "ptr", "D_80051E3C"] - - [0xC310B0, 0xC310B4, "ptr", "D_80051E40"] - - [0xC310B4, 0xC310B8, "ptr", "D_80051E44"] - - [0xC310B8, 0xC310BC, "ptr", "D_80051E48"] - - [0xC310BC, 0xC310C0, "ptr", "D_80051E4C"] - - [0xC310C0, 0xC310C4, "ptr", "D_80051E50"] - - [0xC310C4, 0xC310C8, "ptr", "D_80051E54"] - - [0xC310C8, 0xC310CC, "ptr", "D_80051E58"] - - [0xC310CC, 0xC310D0, "ptr", "D_80051E5C"] - - [0xC310D0, 0xC310D4, "ptr", "D_80051E60"] - - [0xC310D4, 0xC310D8, "ptr", "D_80051E64"] - - [0xC310D8, 0xC310DC, "ptr", "D_80051E68"] - - [0xC310DC, 0xC310E0, "ptr", "D_80051E6C"] - - [0xC310E0, 0xC310E4, "ptr", "D_80051E70"] - - [0xC310E4, 0xC310E8, "ptr", "D_80051E74"] - - [0xC310E8, 0xC310EC, "ptr", "D_80051E78"] - - [0xC310EC, 0xC310F0, "ptr", "D_80051E7C"] - - [0xC310F0, 0xC310F4, "ptr", "D_80051E80"] - - [0xC310F4, 0xC310F8, "ptr", "D_80051E84"] - - [0xC310F8, 0xC310FC, "ptr", "D_80051E88"] - - [0xC310FC, 0xC31100, "ptr", "D_80051E8C"] - - [0xC31100, 0xC31104, "ptr", "D_80051E90"] - - [0xC31104, 0xC31108, "ptr", "D_80051E94"] - - [0xC31108, 0xC3110C, "ptr", "D_80051E98"] - - [0xC3110C, 0xC31110, "ptr", "D_80051E9C"] - - [0xC31110, 0xC31114, "ptr", "D_80051EA0"] - - [0xC31114, 0xC31118, "ptr", "D_80051EA4"] - - [0xC31118, 0xC3111C, "ptr", "D_80051EA8"] - - [0xC3111C, 0xC31120, "ptr", "D_80051EAC"] - - [0xC31120, 0xC31124, "ptr", "D_80051EB0"] - - [0xC31124, 0xC31128, "ptr", "D_80051EB4"] - - [0xC31128, 0xC3112C, "ptr", "D_80051EB8"] - - [0xC3112C, 0xC31130, "ptr", "D_80051EBC"] - - [0xC31130, 0xC31134, "ptr", "D_80051EC0"] - - [0xC31134, 0xC31138, "ptr", "D_80051EC4"] - - [0xC31138, 0xC3113C, "ptr", "D_80051EC8"] - - [0xC3113C, 0xC31140, "ptr", "D_80051ECC"] - - [0xC31140, 0xC31144, "ptr", "D_80051ED0"] - - [0xC31144, 0xC31148, "ptr", "D_80051ED4"] - - [0xC31148, 0xC3114C, "ptr", "D_80051ED8"] - - [0xC3114C, 0xC31150, "ptr", "D_80051EDC"] - - [0xC31150, 0xC31154, "ptr", "D_80051EE0"] - - [0xC31154, 0xC31158, "ptr", "D_80051EE4"] - - [0xC31158, 0xC3115C, "ptr", "D_80051EE8"] - - [0xC3115C, 0xC31160, "ptr", "D_80051EEC"] - - [0xC31160, 0xC31164, "ptr", "D_80051EF0"] - - [0xC31164, 0xC31168, "ptr", "D_80051EF4"] - - [0xC31168, 0xC3116C, "ptr", "D_80051EF8"] - - [0xC3116C, 0xC31170, "ptr", "D_80051EFC"] - - [0xC31170, 0xC31174, "ptr", "D_80051F00"] - - [0xC31174, 0xC31178, "ptr", "D_80051F04"] - - [0xC31178, 0xC3117C, "ptr", "D_80051F08"] - - [0xC3117C, 0xC31180, "ptr", "D_80051F0C"] - - [0xC31180, 0xC31184, "ptr", "D_80051F10"] - - [0xC31184, 0xC31188, "ptr", "D_80051F14"] - - [0xC31188, 0xC3118C, "ptr", "D_80051F18"] - - [0xC3118C, 0xC31190, "ptr", "D_80051F1C"] - - [0xC31190, 0xC31194, "ptr", "D_80051F20"] - - [0xC31194, 0xC31198, "ptr", "D_80051F24"] - - [0xC31198, 0xC3119C, "ptr", "D_80051F28"] - - [0xC3119C, 0xC311A0, "ptr", "D_80051F2C"] - - [0xC311A0, 0xC311A4, "ptr", "D_80051F30"] - - [0xC311A4, 0xC311A8, "ptr", "D_80051F34"] - - [0xC311A8, 0xC311AC, "ptr", "D_80051F38"] - - [0xC311AC, 0xC311B0, "ptr", "D_80051F3C"] - - [0xC311B0, 0xC311B4, "ptr", "D_80051F40"] - - [0xC311B4, 0xC311B8, "ptr", "D_80051F44"] - - [0xC311B8, 0xC311BC, "ptr", "D_80051F48"] - - [0xC311BC, 0xC311C0, "ptr", "D_80051F4C"] - - [0xC311C0, 0xC311C4, "ptr", "D_80051F50"] - - [0xC311C4, 0xC311C8, "ptr", "D_80051F54"] - - [0xC311C8, 0xC311CC, "ptr", "D_80051F58"] - - [0xC311CC, 0xC311D0, "ptr", "D_80051F5C"] - - [0xC311D0, 0xC311D4, "ptr", "D_80051F60"] - - [0xC311D4, 0xC311D8, "ptr", "D_80051F64"] - - [0xC311D8, 0xC311DC, "ptr", "D_80051F68"] - - [0xC311DC, 0xC311E0, "ptr", "D_80051F6C"] - - [0xC311E0, 0xC311E4, "ptr", "D_80051F70"] - - [0xC311E4, 0xC311E8, "ptr", "D_80051F74"] - - [0xC311E8, 0xC311EC, "ptr", "D_80051F78"] - - [0xC311EC, 0xC31238, "ptr", "jpt_700620FC"] - - [0xC31238, 0xC3123C, "ptr", "D_80051FC8"] - - [0xC3123C, 0xC31240, "ptr", "D_80051FCC"] - - [0xC31240, 0xC31244, "ptr", "D_80051FD0"] - - [0xC31244, 0xC3124C, "ptr", "D_80051FD4"] - - [0xC3124C, 0xC31250, "ptr", "D_80051FDC"] - - [0xC31250, 0xC31254, "ptr", "D_80051FE0"] - - [0xC31254, 0xC31258, "ptr", "D_80051FE4"] - - [0xC31258, 0xC3125C, "ptr", "D_80051FE8"] - - [0xC3125C, 0xC31260, "ptr", "D_80051FEC"] - - [0xC31260, 0xC31264, "ptr", "D_80051FF0"] - - [0xC31264, 0xC31268, "ptr", "D_80051FF4"] - - [0xC31268, 0xC3126C, "ptr", "D_80051FF8"] - - [0xC3126C, 0xC31270, "ptr", "D_80051FFC"] - - [0xC31270, 0xC31274, "ptr", "D_80052000"] - - [0xC31274, 0xC31278, "ptr", "D_80052004"] - - [0xC31278, 0xC3127C, "ptr", "D_80052008"] - - [0xC3127C, 0xC31280, "ptr", "D_8005200C"] - - [0xC31280, 0xC31284, "ptr", "D_80052010"] - - [0xC31284, 0xC31288, "ptr", "D_80052014"] - - [0xC31288, 0xC3128C, "ptr", "D_80052018"] - - [0xC3128C, 0xC31290, "ptr", "D_8005201C"] - - [0xC31290, 0xC31294, "ptr", "D_80052020"] - - [0xC31294, 0xC31298, "ptr", "D_80052024"] - - [0xC31298, 0xC3129C, "ptr", "D_80052028"] - - [0xC3129C, 0xC312A0, "ptr", "D_8005202C"] - - [0xC312A0, 0xC312A4, "ptr", "D_80052030"] - - [0xC312A4, 0xC312A8, "ptr", "D_80052034"] - - [0xC312A8, 0xC312AC, "ptr", "D_80052038"] - - [0xC312AC, 0xC312B0, "ptr", "D_8005203C"] - - [0xC312B0, 0xC312B4, "ptr", "D_80052040"] - - [0xC312B4, 0xC312B8, "ptr", "D_80052044"] - - [0xC312B8, 0xC312BC, "ptr", "D_80052048"] - - [0xC312BC, 0xC312C0, "ptr", "D_8005204C"] - - [0xC312C0, 0xC312C4, "ptr", "D_80052050"] - - [0xC312C4, 0xC312C8, "ptr", "D_80052054"] - - [0xC312C8, 0xC312CC, "ptr", "D_80052058"] - - [0xC312CC, 0xC312D0, "ptr", "D_8005205C"] - - [0xC312D0, 0xC312D4, "ptr", "D_80052060"] - - [0xC312D4, 0xC312D8, "ptr", "D_80052064"] - - [0xC312D8, 0xC312DC, "ptr", "D_80052068"] - - [0xC312DC, 0xC312E0, "ptr", "D_8005206C"] - - [0xC312E0, 0xC31340, "ptr", "jpt_700666B0"] - - [0xC31340, 0xC31344, "ptr", "D_800520D0"] - - [0xC31344, 0xC31348, "ptr", "D_800520D4"] - - [0xC31348, 0xC3134C, "ptr", "D_800520D8"] - - [0xC3134C, 0xC31350, "ptr", "D_800520DC"] - - [0xC31350, 0xC31354, "ptr", "D_800520E0"] - - [0xC31354, 0xC31358, "ptr", "D_800520E4"] - - [0xC31358, 0xC3135C, "ptr", "D_800520E8"] - - [0xC3135C, 0xC31360, "ptr", "D_800520EC"] - - [0xC31360, 0xC31364, "ptr", "D_800520F0"] - - [0xC31364, 0xC31368, "ptr", "D_800520F4"] - - [0xC31368, 0xC3136C, "ptr", "D_800520F8"] - - [0xC3136C, 0xC31370, "ptr", "D_800520FC"] - - [0xC31370, 0xC31764, "ptr", "jpt_7006894C"] - - [0xC31764, 0xC31768, "ptr", "D_800524F4"] - - [0xC31768, 0xC31B5C, "ptr", "jpt_700694DC"] - - [0xC31B5C, 0xC31B60, "ptr", "D_800528EC"] - - [0xC31B60, 0xC31B64, "ptr", "D_800528F0"] - - [0xC31B64, 0xC31B68, "ptr", "D_800528F4"] - - [0xC31B68, 0xC31B6C, "ptr", "D_800528F8"] - - [0xC31B6C, 0xC31BE4, "ptr", "jpt_7006CB34"] - - [0xC31BE4, 0xC31BE8, "ptr", "D_80052974"] - - [0xC31BE8, 0xC31BF0, "ptr", "D_80052978"] - - [0xC31BF0, 0xC31C10, "ptr", "jpt_7007045C"] - - [0xC31C10, 0xC31C30, "ptr", "jpt_7007106C"] - - [0xC31C30, 0xC31C34, "ptr", "D_800529C0"] - - [0xC31C34, 0xC31C40, "ptr", "D_800529C4"] - - [0xC31C40, 0xC31C44, "ptr", "D_800529D0"] - - [0xC31C44, 0xC31C48, "ptr", "D_800529D4"] - - [0xC31C48, 0xC31CA8, "ptr", "D_800529D8"] - - [0xC31CA8, 0xC31CAC, "ptr", "D_80052A38"] - - [0xC31CAC, 0xC31CB0, "ptr", "D_80052A3C"] - - [0xC31CB0, 0xC31CB4, "ptr", "D_80052A40"] - - [0xC31CB4, 0xC31CB8, "ptr", "D_80052A44"] - - [0xC31CB8, 0xC31CBC, "ptr", "D_80052A48"] - - [0xC31CBC, 0xC31CC0, "ptr", "D_80052A4C"] - - [0xC31CC0, 0xC31CC4, "ptr", "D_80052A50"] - - [0xC31CC4, 0xC31CC8, "ptr", "D_80052A54"] - - [0xC31CC8, 0xC31CCC, "ptr", "D_80052A58"] - - [0xC31CCC, 0xC31CD0, "ptr", "D_80052A5C"] - - [0xC31CD0, 0xC31CD4, "ptr", "D_80052A60"] - - [0xC31CD4, 0xC31CD8, "ptr", "D_80052A64"] - - [0xC31CD8, 0xC31CDC, "ptr", "D_80052A68"] - - [0xC31CDC, 0xC31CE0, "ptr", "D_80052A6C"] - - [0xC31CE0, 0xC31CE4, "ptr", "D_80052A70"] - - [0xC31CE4, 0xC31CE8, "ptr", "D_80052A74"] - - [0xC31CE8, 0xC31CEC, "ptr", "D_80052A78"] - - [0xC31CEC, 0xC31CF0, "ptr", "D_80052A7C"] - - [0xC31CF0, 0xC31CF4, "ptr", "D_80052A80"] - - [0xC31CF4, 0xC31CF8, "ptr", "D_80052A84"] - - [0xC31CF8, 0xC31CFC, "ptr", "D_80052A88"] - - [0xC31CFC, 0xC31D00, "ptr", "D_80052A8C"] - - [0xC31D00, 0xC31D04, "ptr", "D_80052A90"] - - [0xC31D04, 0xC31D08, "ptr", "D_80052A94"] - - [0xC31D08, 0xC31D0C, "ptr", "rocket_initial_gravity_modifier"] - - [0xC31D0C, 0xC31D10, "ptr", "D_80052A9C"] - - [0xC31D10, 0xC31D14, "ptr", "D_80052AA0"] - - [0xC31D14, 0xC31D18, "ptr", "prop_projectile_gravity_modifier"] - - [0xC31D18, 0xC31D1C, "ptr", "D_80052AA8"] - - [0xC31D1C, 0xC31D24, "ptr", "D_80052AAC"] - - [0xC31D24, 0xC31D28, "ptr", "D_80052AB4"] - - [0xC31D28, 0xC31D2C, "ptr", "D_80052AB8"] - - [0xC31D2C, 0xC31D30, "ptr", "D_80052ABC"] - - [0xC31D30, 0xC31D34, "ptr", "D_80052AC0"] - - [0xC31D34, 0xC31D38, "ptr", "D_80052AC4"] - - [0xC31D38, 0xC31D3C, "ptr", "D_80052AC8"] - - [0xC31D3C, 0xC31D40, "ptr", "D_80052ACC"] - - [0xC31D40, 0xC31D44, "ptr", "D_80052AD0"] - - [0xC31D44, 0xC31D48, "ptr", "D_80052AD4"] - - [0xC31D48, 0xC31D50, "ptr", "D_80052AD8"] - - [0xC31D50, 0xC31D54, "ptr", "D_80052AE0"] - - [0xC31D54, 0xC31D58, "ptr", "D_80052AE4"] - - [0xC31D58, 0xC31D5C, "ptr", "D_80052AE8"] - - [0xC31D5C, 0xC31D64, "ptr", "D_80052AEC"] - - [0xC31D64, 0xC31D68, "ptr", "D_80052AF4"] - - [0xC31D68, 0xC31D6C, "ptr", "D_80052AF8"] - - [0xC31D6C, 0xC31D70, "ptr", "D_80052AFC"] - - [0xC31D70, 0xC31D74, "ptr", "D_80052B00"] - - [0xC31D74, 0xC31D78, "ptr", "D_80052B04"] - - [0xC31D78, 0xC31D7C, "ptr", "D_80052B08"] - - [0xC31D7C, 0xC31D80, "ptr", "D_80052B0C"] - - [0xC31D80, 0xC31D84, "ptr", "D_80052B10"] - - [0xC31D84, 0xC31D88, "ptr", "D_80052B14"] - - [0xC31D88, 0xC31D8C, "ptr", "D_80052B18"] - - [0xC31D8C, 0xC31D90, "ptr", "D_80052B1C"] - - [0xC31D90, 0xC31D94, "ptr", "D_80052B20"] - - [0xC31D94, 0xC31D98, "ptr", "D_80052B24"] - - [0xC31D98, 0xC31D9C, "ptr", "D_80052B28"] - - [0xC31D9C, 0xC31DA0, "ptr", "D_80052B2C"] - - [0xC31DA0, 0xC31DA4, "ptr", "D_80052B30"] - - [0xC31DA4, 0xC31DA8, "ptr", "D_80052B34"] - - [0xC31DA8, 0xC31DAC, "ptr", "D_80052B38"] - - [0xC31DAC, 0xC31DB0, "ptr", "D_80052B3C"] - - [0xC31DB0, 0xC31DB4, "ptr", "D_80052B40"] - - [0xC31DB4, 0xC31DB8, "ptr", "D_80052B44"] - - [0xC31DB8, 0xC31DBC, "ptr", "D_80052B48"] - - [0xC31DBC, 0xC31DC0, "ptr", "D_80052B4C"] - - [0xC31DC0, 0xC31DC4, "ptr", "D_80052B50"] - - [0xC31DC4, 0xC31DCC, "ptr", "D_80052B54"] - - [0xC31DCC, 0xC31DD4, "ptr", "D_80052B5C"] - - [0xC31DD4, 0xC31DD8, "ptr", "D_80052B64"] - - [0xC31DD8, 0xC31DDC, "ptr", "D_80052B68"] - - [0xC31DDC, 0xC31DE0, "ptr", "D_80052B6C"] - - [0xC31DE0, 0xC31DE4, "ptr", "D_80052B70"] - - [0xC31DE4, 0xC31DE8, "ptr", "D_80052B74"] - - [0xC31DE8, 0xC31DEC, "ptr", "D_80052B78"] - - [0xC31DEC, 0xC31DF0, "ptr", "D_80052B7C"] - - [0xC31DF0, 0xC31DF4, "ptr", "D_80052B80"] - - [0xC31DF4, 0xC31DF8, "ptr", "D_80052B84"] - - [0xC31DF8, 0xC31DFC, "ptr", "D_80052B88"] - - [0xC31DFC, 0xC31E00, "ptr", "D_80052B8C"] - - [0xC31E00, 0xC31E04, "ptr", "D_80052B90"] - - [0xC31E04, 0xC31E08, "ptr", "D_80052B94"] - - [0xC31E08, 0xC31ED8, "ptr", "jpt_7007DBF0"] - - [0xC31ED8, 0xC31EDC, "ptr", "D_80052C68"] - - [0xC31EDC, 0xC31F20, "ptr", "jpt_7007DF4C"] - - [0xC31F20, 0xC31F24, "ptr", "D_80052CB0"] - - [0xC31F24, 0xC31F28, "ptr", "D_80052CB4"] - - [0xC31F28, 0xC31F2C, "ptr", "D_80052CB8"] - - [0xC31F2C, 0xC31F30, "ptr", "D_80052CBC"] - - [0xC31F30, 0xC31F34, "ptr", "D_80052CC0"] - - [0xC31F34, 0xC31F38, "ptr", "D_80052CC4"] - - [0xC31F38, 0xC31F3C, "ptr", "D_80052CC8"] - - [0xC31F3C, 0xC31F40, "ptr", "D_80052CCC"] - - [0xC31F40, 0xC31F44, "ptr", "D_80052CD0"] - - [0xC31F44, 0xC31F48, "ptr", "D_80052CD4"] - - [0xC31F48, 0xC31F4C, "ptr", "D_80052CD8"] - - [0xC31F4C, 0xC31F50, "ptr", "D_80052CDC"] - - [0xC31F50, 0xC31F54, "ptr", "D_80052CE0"] - - [0xC31F54, 0xC31F58, "ptr", "D_80052CE4"] - - [0xC31F58, 0xC31F5C, "ptr", "D_80052CE8"] - - [0xC31F5C, 0xC31F60, "ptr", "D_80052CEC"] - - [0xC31F60, 0xC31F64, "ptr", "D_80052CF0"] - - [0xC31F64, 0xC31F68, "ptr", "D_80052CF4"] - - [0xC31F68, 0xC31F6C, "ptr", "D_80052CF8"] - - [0xC31F6C, 0xC31F70, "ptr", "D_80052CFC"] - - [0xC31F70, 0xC31F74, "ptr", "D_80052D00"] - - [0xC31F74, 0xC31F78, "ptr", "D_80052D04"] - - [0xC31F78, 0xC31F7C, "ptr", "D_80052D08"] - - [0xC31F7C, 0xC31F80, "ptr", "D_80052D0C"] - - [0xC31F80, 0xC31F84, "ptr", "D_80052D10"] - - [0xC31F84, 0xC31F88, "ptr", "D_80052D14"] - - [0xC31F88, 0xC31F8C, "ptr", "D_80052D18"] - - [0xC31F8C, 0xC31F90, "ptr", "D_80052D1C"] - - [0xC31F90, 0xC31F94, "ptr", "D_80052D20"] - - [0xC31F94, 0xC31F98, "ptr", "D_80052D24"] - - [0xC31F98, 0xC31F9C, "ptr", "D_80052D28"] - - [0xC31F9C, 0xC31FA0, "ptr", "D_80052D2C"] - - [0xC31FA0, 0xC31FA4, "ptr", "D_80052D30"] - - [0xC31FA4, 0xC31FA8, "ptr", "D_80052D34"] - - [0xC31FA8, 0xC31FAC, "ptr", "D_80052D38"] - - [0xC31FAC, 0xC31FB0, "ptr", "D_80052D3C"] - - [0xC31FB0, 0xC31FB4, "ptr", "D_80052D40"] - - [0xC31FB4, 0xC31FB8, "ptr", "D_80052D44"] - - [0xC31FB8, 0xC31FBC, "ptr", "D_80052D48"] - - [0xC31FBC, 0xC31FC0, "ptr", "D_80052D4C"] - - [0xC31FC0, 0xC31FC4, "ptr", "D_80052D50"] - - [0xC31FC4, 0xC31FC8, "ptr", "D_80052D54"] - - [0xC31FC8, 0xC31FCC, "ptr", "D_80052D58"] - - [0xC31FCC, 0xC31FD0, "ptr", "D_80052D5C"] - - [0xC31FD0, 0xC31FD4, "ptr", "D_80052D60"] - - [0xC31FD4, 0xC31FD8, "ptr", "D_80052D64"] - - [0xC31FD8, 0xC31FDC, "ptr", "D_80052D68"] - - [0xC31FDC, 0xC31FE0, "ptr", "D_80052D6C"] - - [0xC31FE0, 0xC31FE4, "ptr", "D_80052D70"] - - [0xC31FE4, 0xC31FE8, "ptr", "D_80052D74"] - - [0xC31FE8, 0xC31FEC, "ptr", "D_80052D78"] - - [0xC31FEC, 0xC31FF0, "ptr", "D_80052D7C"] - - [0xC31FF0, 0xC31FF4, "ptr", "D_80052D80"] - - [0xC31FF4, 0xC31FF8, "ptr", "D_80052D84"] - - [0xC31FF8, 0xC31FFC, "ptr", "D_80052D88"] - - [0xC31FFC, 0xC32000, "ptr", "D_80052D8C"] - - [0xC32000, 0xC32004, "ptr", "D_80052D90"] - - [0xC32004, 0xC32008, "ptr", "D_80052D94"] - - [0xC32008, 0xC3200C, "ptr", "D_80052D98"] - - [0xC3200C, 0xC32060, "ptr", "jpt_70081970"] - - [0xC32060, 0xC3211C, "ptr", "jpt_70081F20"] - - [0xC3211C, 0xC32164, "ptr", "jpt_70081F5C"] - - [0xC32164, 0xC32168, "ptr", "D_80052EF4"] - - [0xC32168, 0xC3216C, "ptr", "D_80052EF8"] - - [0xC3216C, 0xC32170, "ptr", "D_80052EFC"] - - [0xC32170, 0xC32174, "ptr", "D_80052F00"] - - [0xC32174, 0xC32178, "ptr", "D_80052F04"] - - [0xC32178, 0xC3217C, "ptr", "D_80052F08"] - - [0xC3217C, 0xC32180, "ptr", "D_80052F0C"] - - [0xC32180, 0xC321F4, "ptr", "jpt_70083244"] - - [0xC321F4, 0xC3225C, "ptr", "jpt_7008346C"] - - [0xC3225C, 0xC322D0, "ptr", "jpt_700836DC"] - - [0xC322D0, 0xC32308, "ptr", "jpt_70083B98"] - - [0xC32308, 0xC32340, "ptr", "jpt_70083C78"] - - [0xC32340, 0xC3249C, "ptr", "jpt_70083DA4"] - - [0xC3249C, 0xC32550, "ptr", "jpt_700841EC"] - - [0xC32550, 0xC32554, "ptr", "D_800532E0"] - - [0xC32554, 0xC32558, "ptr", "D_800532E4"] - - [0xC32558, 0xC3255C, "ptr", "D_800532E8"] - - [0xC3255C, 0xC32560, "ptr", "D_800532EC"] - - [0xC32560, 0xC32564, "ptr", "D_800532F0"] - - [0xC32564, 0xC32594, "ptr", "jpt_700865DC"] - - [0xC32594, 0xC32598, "ptr", "D_80053324"] - - [0xC32598, 0xC3259C, "ptr", "D_80053328"] - - [0xC3259C, 0xC325A0, "ptr", "D_8005332C"] - - [0xC325A0, 0xC325A4, "ptr", "D_80053330"] - - [0xC325A4, 0xC325A8, "ptr", "D_80053334"] - - [0xC325A8, 0xC325AC, "ptr", "D_80053338"] - - [0xC325AC, 0xC325B0, "ptr", "D_8005333C"] - - [0xC325B0, 0xC325B4, "ptr", "D_80053340"] - - [0xC325B4, 0xC325B8, "ptr", "D_80053344"] - - [0xC325B8, 0xC325BC, "ptr", "D_80053348"] - - [0xC325BC, 0xC32600, "ptr", "jpt_70087B14"] - - [0xC32600, 0xC32644, "ptr", "jpt_70087F00"] - - [0xC32644, 0xC32688, "ptr", "jpt_70088230"] - - [0xC32688, 0xC326CC, "ptr", "jpt_70088424"] - - [0xC326CC, 0xC326D0, "ptr", "D_8005345C"] - - [0xC326D0, 0xC326D4, "ptr", "D_80053460"] - - [0xC326D4, 0xC326D8, "ptr", "D_80053464"] - - [0xC326D8, 0xC326DC, "ptr", "D_80053468"] - - [0xC326DC, 0xC326E0, "ptr", "D_8005346C"] - - [0xC326E0, 0xC326E4, "ptr", "D_80053470"] - - [0xC326E4, 0xC326E8, "ptr", "D_80053474"] - - [0xC326E8, 0xC326EC, "ptr", "D_80053478"] - - [0xC326EC, 0xC326F0, "ptr", "D_8005347C"] - - [0xC326F0, 0xC326F4, "ptr", "D_80053480"] - - [0xC326F4, 0xC326F8, "ptr", "D_80053484"] - - [0xC326F8, 0xC326FC, "ptr", "D_80053488"] - - [0xC326FC, 0xC32700, "ptr", "D_8005348C"] - - [0xC32700, 0xC327BC, "ptr", "jpt_7008A844"] - - [0xC327BC, 0xC32880, "ptr", "jpt_7008AE0C"] - - [0xC32880, 0xC328B0, "ptr", "D_80053610"] - - [0xC328B0, 0xC328B4, "ptr", "D_80053640"] - - [0xC328B4, 0xC328BC, "ascii", "aSAC"] - - [0xC328BC, 0xC328C4, "ascii", "aSC"] - - [0xC328C4, 0xC32900, "ptr", "jpt_7008B1EC"] - - [0xC32900, 0xC32904, "ptr", "D_80053690"] - - [0xC32904, 0xC32908, "ptr", "D_80053694"] - - [0xC32908, 0xC3290C, "ptr", "D_80053698"] - - [0xC3290C, 0xC32910, "ptr", "D_8005369C"] - - [0xC32910, 0xC32914, "ptr", "D_800536A0"] - - [0xC32914, 0xC32918, "ptr", "D_800536A4"] - - [0xC32918, 0xC3291C, "ptr", "D_800536A8"] - - [0xC3291C, 0xC32920, "ptr", "D_800536AC"] - - [0xC32920, 0xC32924, "ptr", "D_800536B0"] - - [0xC32924, 0xC32928, "ptr", "D_800536B4"] - - [0xC32928, 0xC3292C, "ptr", "D_800536B8"] - - [0xC3292C, 0xC32930, "ptr", "D_800536BC"] - - [0xC32930, 0xC32934, "ptr", "D_800536C0"] - - [0xC32934, 0xC32938, "ptr", "D_800536C4"] - - [0xC32938, 0xC3293C, "ptr", "D_800536C8"] - - [0xC3293C, 0xC32940, "ptr", "D_800536CC"] - - [0xC32940, 0xC32944, "ptr", "D_800536D0"] - - [0xC32944, 0xC32948, "ptr", "D_800536D4"] - - [0xC32948, 0xC3294C, "ptr", "D_800536D8"] - - [0xC3294C, 0xC32950, "ptr", "D_800536DC"] - - [0xC32950, 0xC32954, "ptr", "D_800536E0"] - - [0xC32954, 0xC32958, "ptr", "D_800536E4"] - - [0xC32958, 0xC3295C, "ptr", "D_800536E8"] - - [0xC3295C, 0xC32960, "ptr", "D_800536EC"] - - [0xC32960, 0xC32970, "ptr", "D_800536F0"] - - [0xC32970, 0xC32974, "ptr", "D_80053700"] - - [0xC32974, 0xC32978, "ptr", "D_80053704"] - - [0xC32978, 0xC3297C, "ptr", "D_80053708"] - - [0xC3297C, 0xC32980, "ptr", "D_8005370C"] - - [0xC32980, 0xC32984, "ptr", "D_80053710"] - - [0xC32984, 0xC32988, "ptr", "D_80053714"] - - [0xC32988, 0xC32990, "ptr", "D_80053718"] - - [0xC32990, 0xC32994, "ptr", "D_80053720"] - - [0xC32994, 0xC32998, "ptr", "D_80053724"] - - [0xC32998, 0xC3299C, "ptr", "D_80053728"] - - [0xC3299C, 0xC329A0, "ptr", "D_8005372C"] - - [0xC329A0, 0xC329A4, "ptr", "D_80053730"] - - [0xC329A4, 0xC329B0, "ptr", "D_80053734"] - - [0xC329B0, 0xC329B4, "ptr", "D_80053740"] - - [0xC329B4, 0xC329B8, "ptr", "D_80053744"] - - [0xC329B8, 0xC329BC, "ptr", "D_80053748"] - - [0xC329BC, 0xC329C0, "ptr", "D_8005374C"] - - [0xC329C0, 0xC329D0, "ptr", "D_80053750"] - - [0xC329D0, 0xC329DC, "ascii", "aGcartridgez"] - - [0xC329DC, 0xC329E8, "ascii", "aGcartriflez"] - - [0xC329E8, 0xC329F4, "ascii", "aGcartbluez"] - - [0xC329F4, 0xC32A00, "ascii", "aGcartshellz"] - - [0xC32A00, 0xC32A04, "ascii", "aGnocartZ"] - - [0xC32A04, 0xC32A0C, "ascii", "aGfistz"] - - [0xC32A0C, 0xC32A14, "ascii", "aGknifez"] - - [0xC32A14, 0xC32A24, "ascii", "aGthrowknifez"] - - [0xC32A24, 0xC32A2C, "ascii", "aGwppkz"] - - [0xC32A2C, 0xC32A38, "ascii", "aGwppksilz"] - - [0xC32A38, 0xC32A40, "ascii", "aGtt33z"] - - [0xC32A40, 0xC32A4C, "ascii", "aGskorpionz"] - - [0xC32A4C, 0xC32A54, "ascii", "aGak47z"] - - [0xC32A54, 0xC32A5C, "ascii", "aGuziz"] - - [0xC32A5C, 0xC32A64, "ascii", "aGmp5kz"] - - [0xC32A64, 0xC32A70, "ascii", "aGmp5ksilz"] - - [0xC32A70, 0xC32A7C, "ascii", "aGspectrez"] - - [0xC32A7C, 0xC32A84, "ascii", "aGm16z"] - - [0xC32A84, 0xC32A8C, "ascii", "aGfnp90z"] - - [0xC32A8C, 0xC32A98, "ascii", "aGshotgunz"] - - [0xC32A98, 0xC32AA4, "ascii", "aGautoshotz"] - - [0xC32AA4, 0xC32AB4, "ascii", "aGsniperriflez"] - - [0xC32AB4, 0xC32ABC, "ascii", "aGrugerz"] - - [0xC32ABC, 0xC32AC8, "ascii", "aGgoldengunz"] - - [0xC32AC8, 0xC32AD8, "ascii", "aGsilverwppkz"] - - [0xC32AD8, 0xC32AE4, "ascii", "aGgoldwppkz"] - - [0xC32AE4, 0xC32AEC, "ascii", "aGlaserz"] - - [0xC32AEC, 0xC32AFC, "ascii", "aGwatchlaserz"] - - [0xC32AFC, 0xC32B0C, "ascii", "aGgrenadelaunchz"] - - [0xC32B0C, 0xC32B1C, "ascii", "aGrocketlaunchz"] - - [0xC32B1C, 0xC32B28, "ascii", "aGgrenadez"] - - [0xC32B28, 0xC32B34, "ascii", "aGtimedminez"] - - [0xC32B34, 0xC32B44, "ascii", "aGproximityminez"] - - [0xC32B44, 0xC32B54, "ascii", "aGremoteminez"] - - [0xC32B54, 0xC32B60, "ascii", "aGtriggerz"] - - [0xC32B60, 0xC32B68, "ascii", "aGtaserz"] - - [0xC32B68, 0xC32B74, "ascii", "aGbombcasez"] - - [0xC32B74, 0xC32B80, "ascii", "aGplastiquez"] - - [0xC32B80, 0xC32B90, "ascii", "aGflarepistolz"] - - [0xC32B90, 0xC32B9C, "ascii", "aGpitongunz"] - - [0xC32B9C, 0xC32BA8, "ascii", "aGbungeez"] - - [0xC32BA8, 0xC32BB8, "ascii", "aGdoordecoderz"] - - [0xC32BB8, 0xC32BC8, "ascii", "aGbombdefuserz"] - - [0xC32BC8, 0xC32BD4, "ascii", "aGcameraz"] - - [0xC32BD4, 0xC32BE4, "ascii", "aGlockexploderz"] - - [0xC32BE4, 0xC32BF4, "ascii", "aGdoorexploderz"] - - [0xC32BF4, 0xC32C00, "ascii", "aGbriefcasez"] - - [0xC32C00, 0xC32C10, "ascii", "aGweaponcasez"] - - [0xC32C10, 0xC32C24, "ascii", "aGsafecrackercasez"] - - [0xC32C24, 0xC32C38, "ascii", "aGkeyanalysercasez"] - - [0xC32C38, 0xC32C40, "ascii", "aGbugz"] - - [0xC32C40, 0xC32C50, "ascii", "aGmicrocameraz"] - - [0xC32C50, 0xC32C60, "ascii", "aGbugdetectorz"] - - [0xC32C60, 0xC32C74, "ascii", "aGexplosivefloppyz"] - - [0xC32C74, 0xC32C88, "ascii", "aGpolarizedglassesz"] - - [0xC32C88, 0xC32C98, "ascii", "aGdarkglassesz"] - - [0xC32C98, 0xC32CA8, "ascii", "aGcreditcardz"] - - [0xC32CA8, 0xC32CB8, "ascii", "aGgaskeyringz"] - - [0xC32CB8, 0xC32CC4, "ascii", "aGdatathiefz"] - - [0xC32CC4, 0xC32CD8, "ascii", "aGwatchidentifierz"] - - [0xC32CD8, 0xC32CEC, "ascii", "aGwatchcommunicatorz"] - - [0xC32CEC, 0xC32D04, "ascii", "aGwatchgeigercounterz"] - - [0xC32D04, 0xC32D18, "ascii", "aGwatchmagnetrepelz"] - - [0xC32D18, 0xC32D30, "ascii", "aGwatchmagnetattractz"] - - [0xC32D30, 0xC32D40, "ascii", "aGgoldeneyekeyz"] - - [0xC32D40, 0xC32D4C, "ascii", "aGblackboxz"] - - [0xC32D4C, 0xC32D5C, "ascii", "aGcircuitboardz"] - - [0xC32D5C, 0xC32D68, "ascii", "aGclipboardz"] - - [0xC32D68, 0xC32D74, "ascii", "aGstafflistz"] - - [0xC32D74, 0xC32D84, "ascii", "aGdossierredz"] - - [0xC32D84, 0xC32D8C, "ascii", "aGplansz"] - - [0xC32D8C, 0xC32D98, "ascii", "aGspyfilez"] - - [0xC32D98, 0xC32DA8, "ascii", "aGblueprintsz"] - - [0xC32DA8, 0xC32DB0, "ascii", "aGmapz"] - - [0xC32DB0, 0xC32DBC, "ascii", "aGaudiotapez"] - - [0xC32DBC, 0xC32DC8, "ascii", "aGvideotapez"] - - [0xC32DC8, 0xC32DD4, "ascii", "aGdattapez"] - - [0xC32DD4, 0xC32DE0, "ascii", "aGspooltapez"] - - [0xC32DE0, 0xC32DEC, "ascii", "aGmicrofilmz"] - - [0xC32DEC, 0xC32DF8, "ascii", "aGmicrocodez"] - - [0xC32DF8, 0xC32E04, "ascii", "aGlectrez"] - - [0xC32E04, 0xC32E0C, "ascii", "aGmoneyz"] - - [0xC32E0C, 0xC32E18, "ascii", "aGgoldbarz"] - - [0xC32E18, 0xC32E24, "ascii", "aGheroinz"] - - [0xC32E24, 0xC32E30, "ascii", "aGkeycardz"] - - [0xC32E30, 0xC32E3C, "ascii", "aGkeyyalez"] - - [0xC32E3C, 0xC32E48, "ascii", "aGkeyboltz"] - - [0xC32E48, 0xC32E58, "ascii", "aCsuit_lf_handz"] - - [0xC32E58, 0xC32E64, "ascii", "aGjoypadz"] - - [0xC32E64, 0xC32E68, "ascii", "aD_9"] - - [0xC32E68, 0xC32E70, "ascii", "aSD"] - - [0xC32E70, 0xC32E7C, "ascii", "aSDS"] - - [0xC32E7C, 0xC32E84, "ascii", "aSD_0"] - - [0xC32E84, 0xC32E88, "ptr", "D_80053C14"] - - [0xC32E88, 0xC32E8C, "ptr", "D_80053C18"] - - [0xC32E8C, 0xC32E90, "ptr", "D_80053C1C"] - - [0xC32E90, 0xC32E94, "ptr", "D_80053C20"] - - [0xC32E94, 0xC32E98, "ptr", "D_80053C24"] - - [0xC32E98, 0xC32E9C, "ptr", "D_80053C28"] - - [0xC32E9C, 0xC32EA0, "ptr", "D_80053C2C"] - - [0xC32EA0, 0xC32EA4, "ptr", "D_80053C30"] - - [0xC32EA4, 0xC32EAC, "ptr", "D_80053C34"] - - [0xC32EAC, 0xC32EB0, "ptr", "D_80053C3C"] - - [0xC32EB0, 0xC32EB4, "ptr", "D_80053C40"] - - [0xC32EB4, 0xC32EB8, "ptr", "D_80053C44"] - - [0xC32EB8, 0xC32EBC, "ptr", "D_80053C48"] - - [0xC32EBC, 0xC32EC4, "ptr", "D_80053C4C"] - - [0xC32EC4, 0xC32EC8, "ptr", "D_80053C54"] - - [0xC32EC8, 0xC32ECC, "ptr", "D_80053C58"] - - [0xC32ECC, 0xC32ED0, "ptr", "D_80053C5C"] - - [0xC32ED0, 0xC32ED4, "ptr", "D_80053C60"] - - [0xC32ED4, 0xC32ED8, "ptr", "D_80053C64"] - - [0xC32ED8, 0xC32EDC, "ptr", "D_80053C68"] - - [0xC32EDC, 0xC32EE0, "ptr", "D_80053C6C"] - - [0xC32EE0, 0xC32EE4, "ptr", "D_80053C70"] - - [0xC32EE4, 0xC32EE8, "ptr", "D_80053C74"] - - [0xC32EE8, 0xC32EEC, "ptr", "D_80053C78"] - - [0xC32EEC, 0xC32EF0, "ptr", "D_80053C7C"] - - [0xC32EF0, 0xC32EF4, "ptr", "D_80053C80"] - - [0xC32EF4, 0xC32EF8, "ptr", "D_80053C84"] - - [0xC32EF8, 0xC32EFC, "ptr", "D_80053C88"] - - [0xC32EFC, 0xC32F00, "ptr", "D_80053C8C"] - - [0xC32F00, 0xC32F04, "ptr", "D_80053C90"] - - [0xC32F04, 0xC32F08, "ptr", "D_80053C94"] - - [0xC32F08, 0xC32F0C, "ptr", "D_80053C98"] - - [0xC32F0C, 0xC32F10, "ptr", "D_80053C9C"] - - [0xC32F10, 0xC32F14, "ptr", "D_80053CA0"] - - [0xC32F14, 0xC32F18, "ptr", "D_80053CA4"] - - [0xC32F18, 0xC32F1C, "ptr", "D_80053CA8"] - - [0xC32F1C, 0xC32F20, "ptr", "D_80053CAC"] - - [0xC32F20, 0xC32FAC, "ptr", "jpt_7009348C"] - - [0xC32FAC, 0xC33038, "ptr", "jpt_700934F8"] - - [0xC33038, 0xC3303C, "ptr", "D_80053DC8"] - - [0xC3303C, 0xC33040, "ptr", "D_80053DCC"] - - [0xC33040, 0xC33044, "ptr", "D_80053DD0"] - - [0xC33044, 0xC33048, "ptr", "D_80053DD4"] - - [0xC33048, 0xC3304C, "ptr", "D_80053DD8"] - - [0xC3304C, 0xC33050, "ptr", "D_80053DDC"] - - [0xC33050, 0xC33054, "ptr", "D_80053DE0"] - - [0xC33054, 0xC33058, "ptr", "D_80053DE4"] - - [0xC33058, 0xC3305C, "ptr", "D_80053DE8"] - - [0xC3305C, 0xC33060, "ptr", "D_80053DEC"] - - [0xC33060, 0xC33064, "ptr", "D_80053DF0"] - - [0xC33064, 0xC33068, "ptr", "D_80053DF4"] - - [0xC33068, 0xC3306C, "ptr", "D_80053DF8"] - - [0xC3306C, 0xC33070, "ptr", "D_80053DFC"] - - [0xC33070, 0xC33074, "ptr", "D_80053E00"] - - [0xC33074, 0xC33078, "ptr", "D_80053E04"] - - [0xC33078, 0xC3307C, "ptr", "D_80053E08"] - - [0xC3307C, 0xC33080, "ptr", "D_80053E0C"] - - [0xC33080, 0xC33084, "ptr", "D_80053E10"] - - [0xC33084, 0xC33088, "ptr", "D_80053E14"] - - [0xC33088, 0xC3308C, "ptr", "D_80053E18"] - - [0xC3308C, 0xC33090, "ptr", "D_80053E1C"] - - [0xC33090, 0xC33094, "ptr", "D_80053E20"] - - [0xC33094, 0xC33098, "ptr", "D_80053E24"] - - [0xC33098, 0xC3309C, "ptr", "D_80053E28"] - - [0xC3309C, 0xC330A0, "ptr", "D_80053E2C"] - - [0xC330A0, 0xC330A4, "ptr", "D_80053E30"] - - [0xC330A4, 0xC330A8, "ptr", "D_80053E34"] - - [0xC330A8, 0xC330F8, "ptr", "jpt_700956DC"] - - [0xC330F8, 0xC330FC, "ptr", "D_80053E88"] - - [0xC330FC, 0xC33100, "ptr", "D_80053E8C"] - - [0xC33100, 0xC33104, "ptr", "D_80053E90"] - - [0xC33104, 0xC33108, "ptr", "D_80053E94"] - - [0xC33108, 0xC3310C, "ptr", "D_80053E98"] - - [0xC3310C, 0xC33110, "ptr", "D_80053E9C"] - - [0xC33110, 0xC33114, "ptr", "D_80053EA0"] - - [0xC33114, 0xC33118, "ptr", "D_80053EA4"] - - [0xC33118, 0xC3311C, "ptr", "D_80053EA8"] - - [0xC3311C, 0xC33120, "ptr", "D_80053EAC"] - - [0xC33120, 0xC33124, "ptr", "D_80053EB0"] - - [0xC33124, 0xC33128, "ptr", "D_80053EB4"] - - [0xC33128, 0xC3312C, "ptr", "D_80053EB8"] - - [0xC3312C, 0xC33130, "ptr", "D_80053EBC"] - - [0xC33130, 0xC33134, "ptr", "D_80053EC0"] - - [0xC33134, 0xC33138, "ptr", "D_80053EC4"] - - [0xC33138, 0xC3313C, "ptr", "D_80053EC8"] - - [0xC3313C, 0xC33140, "ptr", "D_80053ECC"] - - [0xC33140, 0xC33144, "ptr", "D_80053ED0"] - - [0xC33144, 0xC33148, "ptr", "D_80053ED4"] - - [0xC33148, 0xC3314C, "ptr", "D_80053ED8"] - - [0xC3314C, 0xC33150, "ptr", "D_80053EDC"] - - [0xC33150, 0xC33154, "ptr", "D_80053EE0"] - - [0xC33154, 0xC33158, "ptr", "D_80053EE4"] - - [0xC33158, 0xC3315C, "ptr", "D_80053EE8"] - - [0xC3315C, 0xC33160, "ptr", "D_80053EEC"] - - [0xC33160, 0xC33164, "ptr", "D_80053EF0"] - - [0xC33164, 0xC33168, "ptr", "D_80053EF4"] - - [0xC33168, 0xC3316C, "ptr", "D_80053EF8"] - - [0xC3316C, 0xC33170, "ptr", "D_80053EFC"] - - [0xC33170, 0xC33174, "ptr", "D_80053F00"] - - [0xC33174, 0xC33178, "ptr", "D_80053F04"] - - [0xC33178, 0xC3317C, "ptr", "D_80053F08"] - - [0xC3317C, 0xC33180, "ptr", "D_80053F0C"] - - [0xC33180, 0xC33184, "ptr", "D_80053F10"] - - [0xC33184, 0xC33188, "ptr", "D_80053F14"] - - [0xC33188, 0xC3318C, "ptr", "D_80053F18"] - - [0xC3318C, 0xC33190, "ptr", "D_80053F1C"] - - [0xC33190, 0xC33194, "ptr", "D_80053F20"] - - [0xC33194, 0xC332F4, "ptr", "jpt_70098CF8"] - - [0xC332F4, 0xC333E0, "ptr", "jpt_70098F10"] - - [0xC333E0, 0xC333E4, "ptr", "D_80054170"] - - [0xC333E4, 0xC333E8, "ptr", "D_80054174"] - - [0xC333E8, 0xC333EC, "ptr", "D_80054178"] - - [0xC333EC, 0xC333F0, "ptr", "D_8005417C"] - - [0xC333F0, 0xC333F4, "ptr", "D_80054180"] - - [0xC333F4, 0xC333F8, "ptr", "D_80054184"] - - [0xC333F8, 0xC333FC, "ptr", "D_80054188"] - - [0xC333FC, 0xC33400, "ptr", "D_8005418C"] - - [0xC33400, 0xC33404, "ptr", "D_80054190"] - - [0xC33404, 0xC334FC, "ptr", "jpt_70099D7C"] - - [0xC334FC, 0xC33500, "ptr", "D_8005428C"] - - [0xC33500, 0xC33504, "ptr", "D_80054290"] - - [0xC33504, 0xC335FC, "ptr", "jpt_7009A0D4"] - - [0xC335FC, 0xC33600, "ptr", "D_8005438C"] - - [0xC33600, 0xC33604, "ptr", "D_80054390"] - - [0xC33604, 0xC33608, "ptr", "D_80054394"] - - [0xC33608, 0xC3360C, "ptr", "D_80054398"] - - [0xC3360C, 0xC33610, "ptr", "D_8005439C"] - - [0xC33610, 0xC33614, "ptr", "D_800543A0"] - - [0xC33614, 0xC33618, "ptr", "D_800543A4"] - - [0xC33618, 0xC3361C, "ptr", "D_800543A8"] - - [0xC3361C, 0xC33620, "ptr", "D_800543AC"] - - [0xC33620, 0xC33624, "ptr", "D_800543B0"] - - [0xC33624, 0xC33628, "ptr", "D_800543B4"] - - [0xC33628, 0xC3362C, "ptr", "D_800543B8"] - - [0xC3362C, 0xC33630, "ptr", "D_800543BC"] - - [0xC33630, 0xC33634, "ptr", "D_800543C0"] - - [0xC33634, 0xC33638, "ptr", "D_800543C4"] - - [0xC33638, 0xC3363C, "ptr", "D_800543C8"] - - [0xC3363C, 0xC33640, "ptr", "D_800543CC"] - - [0xC33640, 0xC33644, "ptr", "D_800543D0"] - - [0xC33644, 0xC33648, "ptr", "D_800543D4"] - - [0xC33648, 0xC3364C, "ptr", "expended_shell_initial_gravity_modifier_pistol"] - - [0xC3364C, 0xC33650, "ptr", "D_800543DC"] - - [0xC33650, 0xC33654, "ptr", "D_800543E0"] - - [0xC33654, 0xC33658, "ptr", "D_800543E4"] - - [0xC33658, 0xC3365C, "ptr", "D_800543E8"] - - [0xC3365C, 0xC33660, "ptr", "D_800543EC"] - - [0xC33660, 0xC33664, "ptr", "D_800543F0"] - - [0xC33664, 0xC33668, "ptr", "D_800543F4"] - - [0xC33668, 0xC3366C, "ptr", "D_800543F8"] - - [0xC3366C, 0xC33670, "ptr", "D_800543FC"] - - [0xC33670, 0xC33674, "ptr", "expended_shell_initial_gravity_modifier_non_pistol"] - - [0xC33674, 0xC33678, "ptr", "expended_shell_initial_gravity_modifier_all"] - - [0xC33678, 0xC3367C, "ptr", "D_80054408"] - - [0xC3367C, 0xC33680, "ptr", "D_8005440C"] - - [0xC33680, 0xC33690, "ptr", "D_80054410"] - - [0xC33690, 0xC336AC, "ascii", "aDrawjointlistNoGfxlist"] - - [0xC336AC, 0xC336D0, "ascii", "aDrawjointlistNoObject0xX"] - - [0xC336D0, 0xC33700, "ascii", "aDrawjointlistObjectNotInitialised0"] - - [0xC33700, 0xC33754, "ptr", "jpt_7009F09C"] - - [0xC33754, 0xC337A8, "ptr", "jpt_7009F224"] - - [0xC337A8, 0xC33808, "ptr", "jpt_7009FC6C"] - - [0xC33808, 0xC33870, "ptr", "jpt_7009FE1C"] - - [0xC33870, 0xC3388C, "ascii", "aGetsubmatrixNoObjinst"] - - [0xC3388C, 0xC338B4, "ascii", "aGetsubmatrixObjinstHasNoObject"] - - [0xC338B4, 0xC338D0, "ascii", "aGetpartoffsetNoObjinst"] - - [0xC338D0, 0xC338EC, "ascii", "aGetpartoffsetNoPartdesc"] - - [0xC338EC, 0xC33908, "ascii", "aSetpartoffsetNoObjinst"] - - [0xC33908, 0xC33924, "ascii", "aSetpartoffsetNoPartdesc"] - - [0xC33924, 0xC33940, "ascii", "aGetsuboffsetNoObjinst"] - - [0xC33940, 0xC33968, "ascii", "aGetsuboffsetObjinstHasNoObject"] - - [0xC33968, 0xC33984, "ascii", "aSetsuboffsetNoObjinst"] - - [0xC33984, 0xC339AC, "ascii", "aSetsuboffsetObjinstHasNoObject"] - - [0xC339AC, 0xC339C4, "ascii", "aGetsubrotyNoObjinst"] - - [0xC339C4, 0xC339E8, "ascii", "aGetsubrotyObjinstHasNoObject"] - - [0xC339E8, 0xC33A10, "ascii", "aGetsubrotyObjinstHasNoRootPart"] - - [0xC33A10, 0xC33A28, "ascii", "aSetsubrotyNoObjinst"] - - [0xC33A28, 0xC33A4C, "ascii", "aSetsubrotyObjinstHasNoObject"] - - [0xC33A4C, 0xC33A74, "ascii", "aSetsubrotyObjinstHasNoRootPart"] - - [0xC33A74, 0xC33A90, "ascii", "aGetjointsizeNoObjinst"] - - [0xC33A90, 0xC33AAC, "ascii", "aGetinstsizeNoObjinst"] - - [0xC33AAC, 0xC33AC8, "ascii", "aGetinstsizeNoObjdesc"] - - [0xC33AC8, 0xC33AE4, "ascii", "aSubcalcposNoObjanim"] - - [0xC33AE4, 0xC33B00, "ascii", "aSubcalcposNoObjdesc"] - - [0xC33B00, 0xC33B20, "ascii", "aInstcalcmatricesNoObjinst"] - - [0xC33B20, 0xC33B40, "ascii", "aInstcalcmatricesNoBasemtx"] - - [0xC33B40, 0xC33B60, "ascii", "aInstcalcmatricesNoMtxlist"] - - [0xC33B60, 0xC33B80, "ascii", "aSubcalcmatricesNoObjanim"] - - [0xC33B80, 0xC33BA0, "ascii", "aSubcalcmatricesNoBasemtx"] - - [0xC33BA0, 0xC33BC0, "ascii", "aSubcalcmatricesNoMtxlist"] - - [0xC33BC0, 0xC33BEC, "ascii", "aSubcalcmatricesNoAttachForObjinst"] - - [0xC33BEC, 0xC33C14, "ascii", "aSubcalcmatricesFrameaOutOfRange"] - - [0xC33C14, 0xC33C3C, "ascii", "aSubcalcmatricesFramebOutOfRange"] - - [0xC33C3C, 0xC33C58, "ascii", "aSubcalcmatricesNoAnim2"] - - [0xC33C58, 0xC33C80, "ascii", "aSubcalcmatricesFrame2aOutOfRange"] - - [0xC33C80, 0xC33CA8, "ascii", "aSubcalcmatricesFrame2bOutOfRange"] - - [0xC33CA8, 0xC33CC8, "ascii", "aDorottexNoVtxAllocator"] - - [0xC33CC8, 0xC33CE4, "ascii", "aDotubeNoVtxAllocator"] - - [0xC33CE4, 0xC33D04, "ascii", "aDogfnegxNoVtxAllocator"] - - [0xC33D04, 0xC33D24, "ascii", "aDoshadowNoVtxAllocator"] - - [0xC33D24, 0xC33D3C, "ascii", "aSubdrawNoGfxlist"] - - [0xC33D3C, 0xC33D68, "ascii", "aSubdrawObjectNotInitialised0xX"] - - [0xC33D68, 0xC33DC8, "ptr", "jpt_700A0700"] - - [0xC33DC8, 0xC33DCC, "ptr", "D_80054B58"] - - [0xC33DCC, 0xC33DD0, "ptr", "D_80054B5C"] - - [0xC33DD0, 0xC33E24, "ptr", "jpt_700A0E20"] - - [0xC33E24, 0xC33E28, "ptr", "D_80054BB4"] - - [0xC33E28, 0xC33E2C, "ptr", "D_80054BB8"] - - [0xC33E2C, 0xC33E30, "ptr", "D_80054BBC"] - - [0xC33E30, 0xC33E34, "ptr", "D_80054BC0"] - - [0xC33E34, 0xC33E38, "ptr", "D_80054BC4"] - - [0xC33E38, 0xC33E3C, "ptr", "D_80054BC8"] - - [0xC33E3C, 0xC33E40, "ptr", "D_80054BCC"] - - [0xC33E40, 0xC33E44, "ptr", "D_80054BD0"] - - [0xC33E44, 0xC33E48, "ptr", "D_80054BD4"] - - [0xC33E48, 0xC33E4C, "ptr", "D_80054BD8"] - - [0xC33E4C, 0xC33E50, "ptr", "D_80054BDC"] - - [0xC33E50, 0xC33E54, "ptr", "D_80054BE0"] - - [0xC33E54, 0xC33E58, "ptr", "D_80054BE4"] - - [0xC33E58, 0xC33E5C, "ptr", "D_80054BE8"] - - [0xC33E5C, 0xC33E60, "ptr", "D_80054BEC"] - - [0xC33E60, 0xC33E64, "ptr", "D_80054BF0"] - - [0xC33E64, 0xC33E68, "ptr", "D_80054BF4"] - - [0xC33E68, 0xC33E6C, "ptr", "D_80054BF8"] - - [0xC33E6C, 0xC33E70, "ptr", "D_80054BFC"] - - [0xC33E70, 0xC33E74, "ptr", "D_80054C00"] - - [0xC33E74, 0xC33E78, "ptr", "D_80054C04"] - - [0xC33E78, 0xC33E7C, "ptr", "D_80054C08"] - - [0xC33E7C, 0xC33E80, "ptr", "D_80054C0C"] - - [0xC33E80, 0xC33E84, "ptr", "D_80054C10"] - - [0xC33E84, 0xC33E88, "ptr", "D_80054C14"] - - [0xC33E88, 0xC33E8C, "ptr", "D_80054C18"] - - [0xC33E8C, 0xC33E90, "ptr", "D_80054C1C"] - - [0xC33E90, 0xC33EF0, "ptr", "jpt_700A2E24"] - - [0xC33EF0, 0xC33F50, "ptr", "jpt_700A2F3C"] - - [0xC33F50, 0xC33FB0, "ptr", "jpt_700A3050"] - - [0xC33FB0, 0xC33FB4, "ptr", "D_80054D40"] - - [0xC33FB4, 0xC33FB8, "ptr", "D_80054D44"] - - [0xC33FB8, 0xC33FBC, "ptr", "D_80054D48"] - - [0xC33FBC, 0xC33FC0, "ptr", "D_80054D4C"] - - [0xC33FC0, 0xC33FC4, "ptr", "D_80054D50"] - - [0xC33FC4, 0xC34024, "ptr", "jpt_700A8494"] - - [0xC34024, 0xC34084, "ptr", "jpt_700A92F4"] - - [0xC34084, 0xC340E4, "ptr", "jpt_700A95A0"] - - [0xC340E4, 0xC34144, "ptr", "jpt_700A9A90"] - - [0xC34144, 0xC341A4, "ptr", "jpt_700A9CB0"] - - [0xC341A4, 0xC34200, "ptr", "jpt_700AA050"] - - [0xC34200, 0xC34204, "ptr", "D_80054F90"] - - [0xC34204, 0xC34208, "ptr", "D_80054F94"] - - [0xC34208, 0xC3420C, "ptr", "D_80054F98"] - - [0xC3420C, 0xC34210, "ptr", "D_80054F9C"] - - [0xC34210, 0xC34214, "ptr", "D_80054FA0"] - - [0xC34214, 0xC34218, "ptr", "D_80054FA4"] - - [0xC34218, 0xC3421C, "ptr", "D_80054FA8"] - - [0xC3421C, 0xC34220, "ptr", "D_80054FAC"] - - [0xC34220, 0xC34224, "ptr", "D_80054FB0"] - - [0xC34224, 0xC34230, "ptr", "D_80054FB4"] - - [0xC34230, 0xC34234, "ascii", "a8s"] - - [0xC34234, 0xC3423C, "ascii", "aX4_0f"] - - [0xC3423C, 0xC34244, "ascii", "aY4_0f"] - - [0xC34244, 0xC3424C, "ascii", "aZ4_0f"] - - [0xC3424C, 0xC34254, "ascii", "aS3d"] - - [0xC34254, 0xC34278, "ptr", "jpt_700ADD28"] - - [0xC34278, 0xC3429C, "ptr", "jpt_700ADE1C"] - - [0xC3429C, 0xC342A0, "ptr", "D_8005502C"] - - [0xC342A0, 0xC342A4, "ptr", "D_80055030"] - - [0xC342A4, 0xC342A8, "ptr", "D_80055034"] - - [0xC342A8, 0xC342AC, "ptr", "D_80055038"] - - [0xC342AC, 0xC342B0, "ptr", "D_8005503C"] - - [0xC342B0, 0xC342B4, "ptr", "D_80055040"] - - [0xC342B4, 0xC342B8, "ptr", "D_80055044"] - - [0xC342B8, 0xC342BC, "ptr", "D_80055048"] - - [0xC342BC, 0xC342C0, "ptr", "D_8005504C"] - - [0xC342C0, 0xC342C4, "ptr", "D_80055050"] - - [0xC342C4, 0xC342C8, "ptr", "D_80055054"] - - [0xC342C8, 0xC342CC, "ptr", "D_80055058"] - - [0xC342CC, 0xC342D0, "ptr", "D_8005505C"] - - [0xC342D0, 0xC342D4, "ptr", "D_80055060"] - - [0xC342D4, 0xC342D8, "ptr", "D_80055064"] - - [0xC342D8, 0xC342DC, "ptr", "D_80055068"] - - [0xC342DC, 0xC342E0, "ptr", "D_8005506C"] - - [0xC342E0, 0xC342E4, "ptr", "D_80055070"] - - [0xC342E4, 0xC342E8, "ptr", "D_80055074"] - - [0xC342E8, 0xC342EC, "ptr", "D_80055078"] - - [0xC342EC, 0xC342F0, "ptr", "D_8005507C"] - - [0xC342F0, 0xC342F4, "ptr", "D_80055080"] - - [0xC342F4, 0xC342F8, "ptr", "D_80055084"] - - [0xC342F8, 0xC342FC, "ptr", "D_80055088"] - - [0xC342FC, 0xC34300, "ptr", "D_8005508C"] - - [0xC34300, 0xC34304, "ptr", "D_80055090"] - - [0xC34304, 0xC34308, "ptr", "D_80055094"] - - [0xC34308, 0xC3430C, "ptr", "D_80055098"] - - [0xC3430C, 0xC34310, "ptr", "D_8005509C"] - - [0xC34310, 0xC34314, "ptr", "D_800550A0"] - - [0xC34314, 0xC34318, "ptr", "D_800550A4"] - - [0xC34318, 0xC3431C, "ptr", "D_800550A8"] - - [0xC3431C, 0xC34320, "ptr", "D_800550AC"] - - [0xC34320, 0xC34324, "ptr", "D_800550B0"] - - [0xC34324, 0xC34328, "ptr", "D_800550B4"] - - [0xC34328, 0xC3432C, "ptr", "D_800550B8"] - - [0xC3432C, 0xC34330, "ptr", "D_800550BC"] - - [0xC34330, 0xC34334, "ptr", "D_800550C0"] - - [0xC34334, 0xC34338, "ptr", "D_800550C4"] - - [0xC34338, 0xC3433C, "ptr", "D_800550C8"] - - [0xC3433C, 0xC34340, "ptr", "D_800550CC"] - - [0xC34340, 0xC34344, "ptr", "D_800550D0"] - - [0xC34344, 0xC34348, "ptr", "firstperson_weapon_movement_restrictor"] - - [0xC34348, 0xC3434C, "ptr", "D_800550D8"] - - [0xC3434C, 0xC34350, "ptr", "D_800550DC"] - - [0xC34350, 0xC34354, "ptr", "D_800550E0"] - - [0xC34354, 0xC34358, "ptr", "D_800550E4"] - - [0xC34358, 0xC3435C, "ptr", "D_800550E8"] - - [0xC3435C, 0xC34360, "ptr", "D_800550EC"] - - [0xC34360, 0xC34364, "ptr", "D_800550F0"] - - [0xC34364, 0xC34368, "ptr", "D_800550F4"] - - [0xC34368, 0xC3436C, "ptr", "D_800550F8"] - - [0xC3436C, 0xC34370, "ptr", "D_800550FC"] - - [0xC34370, 0xC34374, "ptr", "D_80055100"] - - [0xC34374, 0xC34378, "ptr", "D_80055104"] - - [0xC34378, 0xC3437C, "ptr", "D_80055108"] - - [0xC3437C, 0xC34380, "ptr", "D_8005510C"] - - [0xC34380, 0xC34384, "ptr", "D_80055110"] - - [0xC34384, 0xC34388, "ptr", "D_80055114"] - - [0xC34388, 0xC3438C, "ptr", "D_80055118"] - - [0xC3438C, 0xC34390, "ptr", "D_8005511C"] - - [0xC34390, 0xC34394, "ptr", "D_80055120"] - - [0xC34394, 0xC34398, "ptr", "D_80055124"] - - [0xC34398, 0xC3439C, "ptr", "D_80055128"] - - [0xC3439C, 0xC343A0, "ptr", "D_8005512C"] - - [0xC343A0, 0xC343A4, "ptr", "D_80055130"] - - [0xC343A4, 0xC343A8, "ptr", "D_80055134"] - - [0xC343A8, 0xC343B0, "ptr", "D_80055138"] - - [0xC343B0, 0xC343B4, "ptr", "D_80055140"] - - [0xC343B4, 0xC343B8, "ptr", "D_80055144"] - - [0xC343B8, 0xC343BC, "ptr", "D_80055148"] - - [0xC343BC, 0xC343C0, "ptr", "D_8005514C"] - - [0xC343C0, 0xC343C4, "ptr", "D_80055150"] - - [0xC343C4, 0xC343C8, "ptr", "D_80055154"] - - [0xC343C8, 0xC343CC, "ptr", "D_80055158"] - - [0xC343CC, 0xC343D0, "ptr", "D_8005515C"] - - [0xC343D0, 0xC343D4, "ptr", "D_80055160"] - - [0xC343D4, 0xC343D8, "ptr", "D_80055164"] - - [0xC343D8, 0xC343DC, "ptr", "D_80055168"] - - [0xC343DC, 0xC343E0, "ptr", "D_8005516C"] - - [0xC343E0, 0xC343E4, "ptr", "D_80055170"] - - [0xC343E4, 0xC343E8, "ptr", "D_80055174"] - - [0xC343E8, 0xC343EC, "ptr", "D_80055178"] - - [0xC343EC, 0xC343F0, "ptr", "D_8005517C"] - - [0xC343F0, 0xC343F4, "ptr", "D_80055180"] - - [0xC343F4, 0xC343F8, "ptr", "D_80055184"] - - [0xC343F8, 0xC343FC, "ptr", "D_80055188"] - - [0xC343FC, 0xC34400, "ptr", "D_8005518C"] - - [0xC34400, 0xC34404, "ptr", "D_80055190"] - - [0xC34404, 0xC34408, "ptr", "D_80055194"] - - [0xC34408, 0xC3440C, "ptr", "D_80055198"] - - [0xC3440C, 0xC34410, "ptr", "D_8005519C"] - - [0xC34410, 0xC34418, "ptr", "D_800551A0"] - - [0xC34418, 0xC3441C, "ptr", "D_800551A8"] - - [0xC3441C, 0xC3442C, "ptr", "D_800551AC"] - - [0xC3442C, 0xC3443C, "ptr", "D_800551BC"] - - [0xC3443C, 0xC34440, "ptr", "D_800551CC"] - - [0xC34440, 0xC34444, "ptr", "D_800551D0"] - - [0xC34444, 0xC34448, "ptr", "D_800551D4"] - - [0xC34448, 0xC3444C, "ptr", "D_800551D8"] - - [0xC3444C, 0xC34450, "ptr", "D_800551DC"] - - [0xC34450, 0xC34454, "ptr", "D_800551E0"] - - [0xC34454, 0xC34458, "ptr", "D_800551E4"] - - [0xC34458, 0xC3445C, "ptr", "D_800551E8"] - - [0xC3445C, 0xC34460, "ptr", "D_800551EC"] - - [0xC34460, 0xC34464, "ptr", "D_800551F0"] - - [0xC34464, 0xC34468, "ptr", "D_800551F4"] - - [0xC34468, 0xC3446C, "ptr", "D_800551F8"] - - [0xC3446C, 0xC34470, "ptr", "D_800551FC"] - - [0xC34470, 0xC34474, "ptr", "D_80055200"] - - [0xC34474, 0xC34478, "ptr", "D_80055204"] - - [0xC34478, 0xC3447C, "ptr", "D_80055208"] - - [0xC3447C, 0xC34480, "ptr", "D_8005520C"] - - [0xC34480, 0xC34484, "ptr", "D_80055210"] - - [0xC34484, 0xC34488, "ptr", "D_80055214"] - - [0xC34488, 0xC3448C, "ptr", "D_80055218"] - - [0xC3448C, 0xC34490, "ptr", "D_8005521C"] - - [0xC34490, 0xC34494, "ptr", "D_80055220"] - - [0xC34494, 0xC34498, "ptr", "D_80055224"] - - [0xC34498, 0xC3449C, "ptr", "D_80055228"] - - [0xC3449C, 0xC344A0, "ptr", "D_8005522C"] - - [0xC344A0, 0xC344A4, "ptr", "D_80055230"] - - [0xC344A4, 0xC344A8, "ptr", "D_80055234"] - - [0xC344A8, 0xC344AC, "ptr", "D_80055238"] - - [0xC344AC, 0xC344B0, "ptr", "D_8005523C"] - - [0xC344B0, 0xC344B4, "ptr", "D_80055240"] - - [0xC344B4, 0xC344B8, "ptr", "D_80055244"] - - [0xC344B8, 0xC344BC, "ptr", "D_80055248"] - - [0xC344BC, 0xC344C0, "ptr", "D_8005524C"] - - [0xC344C0, 0xC344C4, "ptr", "D_80055250"] - - [0xC344C4, 0xC344C8, "ptr", "D_80055254"] - - [0xC344C8, 0xC344CC, "ptr", "D_80055258"] - - [0xC344CC, 0xC344D0, "ptr", "D_8005525C"] - - [0xC344D0, 0xC344D4, "ptr", "D_80055260"] - - [0xC344D4, 0xC344D8, "ptr", "D_80055264"] - - [0xC344D8, 0xC344DC, "ptr", "D_80055268"] - - [0xC344DC, 0xC344E0, "ptr", "D_8005526C"] - - [0xC344E0, 0xC344E4, "ptr", "D_80055270"] - - [0xC344E4, 0xC344E8, "ptr", "D_80055274"] - - [0xC344E8, 0xC344EC, "ptr", "D_80055278"] - - [0xC344EC, 0xC344F0, "ptr", "D_8005527C"] - - [0xC344F0, 0xC344F4, "ptr", "D_80055280"] - - [0xC344F4, 0xC344F8, "ptr", "D_80055284"] - - [0xC344F8, 0xC344FC, "ptr", "D_80055288"] - - [0xC344FC, 0xC34500, "ptr", "D_8005528C"] - - [0xC34500, 0xC3451C, "ptr", "jpt_700BCB10"] - - [0xC3451C, 0xC34520, "ptr", "D_800552AC"] - - [0xC34520, 0xC34524, "ptr", "pi_800552B0"] - - [0xC34524, 0xC34528, "ptr", "twopi_800552B4"] - - [0xC34528, 0xC3452C, "ptr", "D_800552B8"] - - [0xC3452C, 0xC34530, "ptr", "D_800552BC"] - - [0xC34530, 0xC34534, "ptr", "D_800552C0"] - - [0xC34534, 0xC34538, "ptr", "D_800552C4"] - - [0xC34538, 0xC3453C, "ptr", "D_800552C8"] - - [0xC3453C, 0xC34540, "ptr", "D_800552CC"] - - [0xC34540, 0xC34550, "ptr", "D_800552D0"] - - [0xC34550, 0xC34554, "ptr", "D_800552E0"] - - [0xC34554, 0xC34558, "ptr", "D_800552E4"] - - [0xC34558, 0xC3455C, "ptr", "D_800552E8"] - - [0xC3455C, 0xC34560, "ptr", "D_800552EC"] - - [0xC34560, 0xC34564, "ptr", "D_800552F0"] - - [0xC34564, 0xC34568, "ptr", "D_800552F4"] - - [0xC34568, 0xC3456C, "ptr", "D_800552F8"] - - [0xC3456C, 0xC34570, "ptr", "master_player_perspective"] - - [0xC34570, 0xC34574, "ptr", "D_80055300"] - - [0xC34574, 0xC34578, "ptr", "D_80055304"] - - [0xC34578, 0xC3457C, "ptr", "D_80055308"] - - [0xC3457C, 0xC34580, "ptr", "D_8005530C"] - - [0xC34580, 0xC34584, "ptr", "D_80055310"] - - [0xC34584, 0xC34588, "ptr", "D_80055314"] - - [0xC34588, 0xC3458C, "ptr", "D_80055318"] - - [0xC3458C, 0xC34590, "ptr", "D_8005531C"] - - [0xC34590, 0xC34594, "ptr", "D_80055320"] - - [0xC34594, 0xC34598, "ptr", "D_80055324"] - - [0xC34598, 0xC3459C, "ptr", "D_80055328"] - - [0xC3459C, 0xC345A0, "ptr", "D_8005532C"] - - [0xC345A0, 0xC345A4, "ptr", "D_80055330"] - - [0xC345A4, 0xC345A8, "ptr", "D_80055334"] - - [0xC345A8, 0xC345AC, "ptr", "D_80055338"] - - [0xC345AC, 0xC345B0, "ptr", "D_8005533C"] - - [0xC345B0, 0xC345E0, "ascii", "aMenu_cErrorTriedToCallFont_makegt"] - - [0xC345E0, 0xC345EC, "ascii", "aMoveView"] - - [0xC345EC, 0xC345F8, "ascii", "aStanView"] - - [0xC345F8, 0xC34604, "ascii", "aBondView"] - - [0xC34604, 0xC3460C, "ascii", "aLevel"] - - [0xC3460C, 0xC34614, "ascii", "aRegion"] - - [0xC34614, 0xC3461C, "ascii", "aScale"] - - [0xC3461C, 0xC34628, "ascii", "aPlayTitle"] - - [0xC34628, 0xC34634, "ascii", "aBondDie"] - - [0xC34634, 0xC34640, "ascii", "aSelectAnim"] - - [0xC34640, 0xC34648, "ascii", "aGunPos"] - - [0xC34648, 0xC34658, "ascii", "aFlashColour"] - - [0xC34658, 0xC34664, "ascii", "aHitColour"] - - [0xC34664, 0xC3466C, "ascii", "aMusic"] - - [0xC3466C, 0xC34670, "ascii", "aSfx"] - - [0xC34670, 0xC3467C, "ascii", "aInvincible"] - - [0xC3467C, 0xC34684, "ascii", "aVisible"] - - [0xC34684, 0xC34690, "ascii", "aCollisions"] - - [0xC34690, 0xC3469C, "ascii", "aAllGuns"] - - [0xC3469C, 0xC346A8, "ascii", "aMaxAmmo"] - - [0xC346A8, 0xC346B8, "ascii", "aDisplaySpeed"] - - [0xC346B8, 0xC346C4, "ascii", "aBackground"] - - [0xC346C4, 0xC346CC, "ascii", "aProps"] - - [0xC346CC, 0xC346D8, "ascii", "aStanHit"] - - [0xC346D8, 0xC346E4, "ascii", "aStanRegion"] - - [0xC346E4, 0xC346F4, "ascii", "aStanProblems"] - - [0xC346F4, 0xC34704, "ascii", "aPrintManPos"] - - [0xC34704, 0xC34710, "ascii", "aPortClose"] - - [0xC34710, 0xC3471C, "ascii", "aPortInf"] - - [0xC3471C, 0xC34728, "ascii", "aPortApprox"] - - [0xC34728, 0xC34738, "ascii", "aPrRoomLoads"] - - [0xC34738, 0xC34748, "ascii", "aShowMemUse"] - - [0xC34748, 0xC34758, "ascii", "aShowMemBars"] - - [0xC34758, 0xC34764, "ascii", "aGrabRgb"] - - [0xC34764, 0xC34770, "ascii", "aGrabJpeg"] - - [0xC34770, 0xC3477C, "ascii", "aGrabTask"] - - [0xC3477C, 0xC34788, "ascii", "aRndWalk"] - - [0xC34788, 0xC34798, "ascii", "aRecordRamrom"] - - [0xC34798, 0xC347A4, "ascii", "aRecord1"] - - [0xC347A4, 0xC347B0, "ascii", "aRecord2"] - - [0xC347B0, 0xC347BC, "ascii", "aRecord3"] - - [0xC347BC, 0xC347CC, "ascii", "aReplayRamrom"] - - [0xC347CC, 0xC347D8, "ascii", "aSaveRamrom"] - - [0xC347D8, 0xC347E4, "ascii", "aLoadRamrom"] - - [0xC347E4, 0xC347F0, "ascii", "aAutoYAim"] - - [0xC347F0, 0xC347FC, "ascii", "aAutoXAim"] - - [0xC347FC, 0xC34800, "ascii", "a007"] - - [0xC34800, 0xC34808, "ascii", "aAgent"] - - [0xC34808, 0xC3480C, "ascii", "aAll"] - - [0xC3480C, 0xC34814, "ascii", "aFast"] - - [0xC34814, 0xC34820, "ascii", "aObjectives"] - - [0xC34820, 0xC3482C, "ascii", "aMargTop"] - - [0xC3482C, 0xC34838, "ascii", "aMargBot"] - - [0xC34838, 0xC34844, "ascii", "aMargLeft"] - - [0xC34844, 0xC34850, "ascii", "aMargRight"] - - [0xC34850, 0xC3485C, "ascii", "aMargReset"] - - [0xC3485C, 0xC34868, "ascii", "aScreenSize"] - - [0xC34868, 0xC34874, "ascii", "aScreenPos"] - - [0xC34874, 0xC34884, "ascii", "aShowPatrols"] - - [0xC34884, 0xC3488C, "ascii", "aIntro"] - - [0xC3488C, 0xC34898, "ascii", "aIntroEdit"] - - [0xC34898, 0xC348A4, "ascii", "aIntroPos"] - - [0xC348A4, 0xC348B0, "ascii", "aWorldPos"] - - [0xC348B0, 0xC348BC, "ascii", "aGunKeyPos"] - - [0xC348BC, 0xC348C4, "ascii", "aVisCvg"] - - [0xC348C4, 0xC348CC, "ascii", "aChrNum"] - - [0xC348CC, 0xC348D8, "ascii", "aRoomBlocks"] - - [0xC348D8, 0xC348E0, "ascii", "aProfile"] - - [0xC348E0, 0xC348EC, "ascii", "aObjLoad"] - - [0xC348EC, 0xC348F8, "ascii", "aWeaponLoad"] - - [0xC348F8, 0xC34908, "ascii", "aJoy2SkyEdit"] - - [0xC34908, 0xC34918, "ascii", "aJoy2HitsEdit"] - - [0xC34918, 0xC3492C, "ascii", "aJoy2DetailEdit"] - - [0xC3492C, 0xC3493C, "ascii", "aExplosionInfo"] - - [0xC3493C, 0xC34948, "ascii", "aMagicFog"] - - [0xC34948, 0xC34958, "ascii", "aGunWatchPos"] - - [0xC34958, 0xC34968, "ascii", "aTestingManPos"] - - [0xC34968, 0xC3496C, "ascii", "aFog"] - - [0xC3496C, 0xC34AA0, "ptr", "jpt_700C46A0"] - - [0xC34AA0, 0xC34AC0, "ptr", "jpt_700C4DD8"] - - [0xC34AC0, 0xC34AC4, "ptr", "D_80055850"] - - [0xC34AC4, 0xC34AC8, "ptr", "D_80055854"] - - [0xC34AC8, 0xC34ACC, "ptr", "D_80055858"] - - [0xC34ACC, 0xC34AD0, "ptr", "D_8005585C"] - - [0xC34AD0, 0xC34AE0, "ptr", "D_80055860"] - - [0xC34AE0, 0xC34AF4, "ascii", "aUsetupsevbunkerz"] - - [0xC34AF4, 0xC34B00, "ascii", "aUsetupsiloz"] - - [0xC34B00, 0xC34B14, "ascii", "aUsetupsevbunkerz_0"] - - [0xC34B14, 0xC34B24, "ascii", "aUsetupstatuez"] - - [0xC34B24, 0xC34B34, "ascii", "aUsetupcontrolz"] - - [0xC34B34, 0xC34B40, "ascii", "aUsetuparchz"] - - [0xC34B40, 0xC34B4C, "ascii", "aUsetuptraz"] - - [0xC34B4C, 0xC34B58, "ascii", "aUsetupdestz"] - - [0xC34B58, 0xC34B64, "ascii", "aUsetupsevbz"] - - [0xC34B64, 0xC34B70, "ascii", "aUsetupaztz"] - - [0xC34B70, 0xC34B7C, "ascii", "aUsetuppetez"] - - [0xC34B7C, 0xC34B88, "ascii", "aUsetupdepoz"] - - [0xC34B88, 0xC34B94, "ascii", "aUsetuprefz"] - - [0xC34B94, 0xC34BA0, "ascii", "aUsetupcrypz"] - - [0xC34BA0, 0xC34BAC, "ascii", "aUsetupdamz"] - - [0xC34BAC, 0xC34BB8, "ascii", "aUsetuparkz"] - - [0xC34BB8, 0xC34BC4, "ascii", "aUsetuprunz"] - - [0xC34BC4, 0xC34BD0, "ascii", "aUsetupsevxz"] - - [0xC34BD0, 0xC34BDC, "ascii", "aUsetupjunz"] - - [0xC34BDC, 0xC34BE8, "ascii", "aUsetupdishz"] - - [0xC34BE8, 0xC34BF4, "ascii", "aUsetupcavez"] - - [0xC34BF4, 0xC34C00, "ascii", "aUsetupcatz"] - - [0xC34C00, 0xC34C0C, "ascii", "aUsetupcradz"] - - [0xC34C0C, 0xC34C18, "ascii", "aUsetupshoz"] - - [0xC34C18, 0xC34C28, "ascii", "aUsetupsevxbz"] - - [0xC34C28, 0xC34C34, "ascii", "aUsetupeldz"] - - [0xC34C34, 0xC34C40, "ascii", "aUsetupimpz"] - - [0xC34C40, 0xC34C4C, "ascii", "aUsetupashz"] - - [0xC34C4C, 0xC34C58, "ascii", "aUsetupluez"] - - [0xC34C58, 0xC34C64, "ascii", "aUsetupamez"] - - [0xC34C64, 0xC34C70, "ascii", "aUsetupritz"] - - [0xC34C70, 0xC34C7C, "ascii", "aUsetupoatz"] - - [0xC34C7C, 0xC34C88, "ascii", "aUsetupearz"] - - [0xC34C88, 0xC34C94, "ascii", "aUsetupleez"] - - [0xC34C94, 0xC34CA0, "ascii", "aUsetuplipz"] - - [0xC34CA0, 0xC34CAC, "ascii", "aUsetuplenz"] - - [0xC34CAC, 0xC34CB8, "ascii", "aUsetupwaxz"] - - [0xC34CB8, 0xC34CD0, "ascii", "aUsetuppamz"] - - [0xC34CD0, 0xC34CDC, "ascii", "aPalarm1z"] - - [0xC34CDC, 0xC34CE8, "ascii", "aPalarm2z"] - - [0xC34CE8, 0xC34CF8, "ascii", "aPexplosionbitz"] - - [0xC34CF8, 0xC34D08, "ascii", "aPammo_crate1z"] - - [0xC34D08, 0xC34D18, "ascii", "aPammo_crate2z"] - - [0xC34D18, 0xC34D28, "ascii", "aPammo_crate3z"] - - [0xC34D28, 0xC34D38, "ascii", "aPammo_crate4z"] - - [0xC34D38, 0xC34D48, "ascii", "aPammo_crate5z"] - - [0xC34D48, 0xC34D50, "ascii", "aPbin1z"] - - [0xC34D50, 0xC34D5C, "ascii", "aPblotter1z"] - - [0xC34D5C, 0xC34D64, "ascii", "aPbook1z"] - - [0xC34D64, 0xC34D74, "ascii", "aPbookshelf1z"] - - [0xC34D74, 0xC34D88, "ascii", "aPbridge_console1az"] - - [0xC34D88, 0xC34D9C, "ascii", "aPbridge_console1bz"] - - [0xC34D9C, 0xC34DB0, "ascii", "aPbridge_console2az"] - - [0xC34DB0, 0xC34DC4, "ascii", "aPbridge_console2bz"] - - [0xC34DC4, 0xC34DD8, "ascii", "aPbridge_console3az"] - - [0xC34DD8, 0xC34DEC, "ascii", "aPbridge_console3bz"] - - [0xC34DEC, 0xC34DF8, "ascii", "aPcard_box1z"] - - [0xC34DF8, 0xC34E04, "ascii", "aPcard_box2z"] - - [0xC34E04, 0xC34E10, "ascii", "aPcard_box3z"] - - [0xC34E10, 0xC34E20, "ascii", "aPcard_box4_lgz"] - - [0xC34E20, 0xC34E30, "ascii", "aPcard_box5_lgz"] - - [0xC34E30, 0xC34E40, "ascii", "aPcard_box6_lgz"] - - [0xC34E40, 0xC34E48, "ascii", "aPcctvz"] - - [0xC34E48, 0xC34E54, "ascii", "aPconsole1z"] - - [0xC34E54, 0xC34E60, "ascii", "aPconsole2z"] - - [0xC34E60, 0xC34E6C, "ascii", "aPconsole3z"] - - [0xC34E6C, 0xC34E7C, "ascii", "aPconsole_sevaz"] - - [0xC34E7C, 0xC34E8C, "ascii", "aPconsole_sevbz"] - - [0xC34E8C, 0xC34E9C, "ascii", "aPconsole_sevcz"] - - [0xC34E9C, 0xC34EAC, "ascii", "aPconsole_sevdz"] - - [0xC34EAC, 0xC34EBC, "ascii", "aPconsole_sev2az"] - - [0xC34EBC, 0xC34ECC, "ascii", "aPconsole_sev2bz"] - - [0xC34ECC, 0xC34EDC, "ascii", "aPconsole_sev2cz"] - - [0xC34EDC, 0xC34EEC, "ascii", "aPconsole_sev2dz"] - - [0xC34EEC, 0xC34F00, "ascii", "aPconsole_sev_geaz"] - - [0xC34F00, 0xC34F14, "ascii", "aPconsole_sev_gebz"] - - [0xC34F14, 0xC34F1C, "ascii", "aPdesk1z"] - - [0xC34F1C, 0xC34F24, "ascii", "aPdesk2z"] - - [0xC34F24, 0xC34F34, "ascii", "aPdesk_lamp2z"] - - [0xC34F34, 0xC34F44, "ascii", "aPdisc_readerz"] - - [0xC34F44, 0xC34F54, "ascii", "aPdisk_drive1z"] - - [0xC34F54, 0xC34F68, "ascii", "aPfiling_cabinet1z"] - - [0xC34F68, 0xC34F78, "ascii", "aPjerry_can1z"] - - [0xC34F78, 0xC34F84, "ascii", "aPkeyboard1z"] - - [0xC34F84, 0xC34F94, "ascii", "aPkit_units1z"] - - [0xC34F94, 0xC34FA4, "ascii", "aPletter_tray1z"] - - [0xC34FA4, 0xC34FB4, "ascii", "aPmainframe1z"] - - [0xC34FB4, 0xC34FC4, "ascii", "aPmainframe2z"] - - [0xC34FC4, 0xC34FD4, "ascii", "aPmetal_chair1z"] - - [0xC34FD4, 0xC34FE4, "ascii", "aPmetal_crate1z"] - - [0xC34FE4, 0xC34FF4, "ascii", "aPmetal_crate2z"] - - [0xC34FF4, 0xC35004, "ascii", "aPmetal_crate3z"] - - [0xC35004, 0xC35014, "ascii", "aPmetal_crate4z"] - - [0xC35014, 0xC35024, "ascii", "aPmissile_rackz"] - - [0xC35024, 0xC35034, "ascii", "aPmissile_rack2z"] - - [0xC35034, 0xC35040, "ascii", "aPoil_drum1z"] - - [0xC35040, 0xC3504C, "ascii", "aPoil_drum2z"] - - [0xC3504C, 0xC35058, "ascii", "aPoil_drum3z"] - - [0xC35058, 0xC35064, "ascii", "aPoil_drum5z"] - - [0xC35064, 0xC35070, "ascii", "aPoil_drum6z"] - - [0xC35070, 0xC3507C, "ascii", "aPoil_drum7z"] - - [0xC3507C, 0xC35088, "ascii", "aPpadlockz"] - - [0xC35088, 0xC35094, "ascii", "aPphone1z"] - - [0xC35094, 0xC350A4, "ascii", "aPradio_unit1z"] - - [0xC350A4, 0xC350B4, "ascii", "aPradio_unit2z"] - - [0xC350B4, 0xC350C4, "ascii", "aPradio_unit3z"] - - [0xC350C4, 0xC350D4, "ascii", "aPradio_unit4z"] - - [0xC350D4, 0xC350E4, "ascii", "aPsat1_reflectz"] - - [0xC350E4, 0xC350F0, "ascii", "aPsatdishz"] - - [0xC350F0, 0xC350FC, "ascii", "aPsatboxz"] - - [0xC350FC, 0xC35108, "ascii", "aPstool1z"] - - [0xC35108, 0xC35118, "ascii", "aPswivel_chair1z"] - - [0xC35118, 0xC35128, "ascii", "aPtorpedo_rackz"] - - [0xC35128, 0xC35130, "ascii", "aPtv1z"] - - [0xC35130, 0xC3513C, "ascii", "aPtv_holderz"] - - [0xC3513C, 0xC35148, "ascii", "aPtvscreenz"] - - [0xC35148, 0xC35154, "ascii", "aPtv4screenz"] - - [0xC35154, 0xC35168, "ascii", "aPwood_lg_crate1z"] - - [0xC35168, 0xC3517C, "ascii", "aPwood_lg_crate2z"] - - [0xC3517C, 0xC35190, "ascii", "aPwood_md_crate3z"] - - [0xC35190, 0xC351A4, "ascii", "aPwood_sm_crate4z"] - - [0xC351A4, 0xC351B8, "ascii", "aPwood_sm_crate5z"] - - [0xC351B8, 0xC351CC, "ascii", "aPwood_sm_crate6z"] - - [0xC351CC, 0xC351DC, "ascii", "aPwooden_table1z"] - - [0xC351DC, 0xC351EC, "ascii", "aPswipe_card2z"] - - [0xC351EC, 0xC351FC, "ascii", "aPborg_cratez"] - - [0xC351FC, 0xC35208, "ascii", "aPboxes4x4z"] - - [0xC35208, 0xC35214, "ascii", "aPboxes3x4z"] - - [0xC35214, 0xC35220, "ascii", "aPboxes2x4z"] - - [0xC35220, 0xC3522C, "ascii", "aPsec_panelz"] - - [0xC3522C, 0xC35238, "ascii", "aPicbm_nosez"] - - [0xC35238, 0xC35240, "ascii", "aPicbmz"] - - [0xC35240, 0xC35254, "ascii", "aPtuning_console1z"] - - [0xC35254, 0xC35264, "ascii", "aPdesk_arecibo1z"] - - [0xC35264, 0xC35270, "ascii", "aPlocker3z"] - - [0xC35270, 0xC3527C, "ascii", "aPlocker4z"] - - [0xC3527C, 0xC35288, "ascii", "aProofgunz"] - - [0xC35288, 0xC35298, "ascii", "aPdest_enginez"] - - [0xC35298, 0xC352A8, "ascii", "aPdest_exocetz"] - - [0xC352A8, 0xC352B4, "ascii", "aPdest_gunz"] - - [0xC352B4, 0xC352C4, "ascii", "aPdest_harpoonz"] - - [0xC352C4, 0xC352D4, "ascii", "aPdest_seawolfz"] - - [0xC352D4, 0xC352E0, "ascii", "aPwindowz"] - - [0xC352E0, 0xC352F4, "ascii", "aPwindow_lib_lg1z"] - - [0xC352F4, 0xC35308, "ascii", "aPwindow_lib_sm1z"] - - [0xC35308, 0xC35318, "ascii", "aPwindow_cor11z"] - - [0xC35318, 0xC35328, "ascii", "aPjungle3_treez"] - - [0xC35328, 0xC35330, "ascii", "aPpalmz"] - - [0xC35330, 0xC3533C, "ascii", "aPpalmtreez"] - - [0xC3533C, 0xC35348, "ascii", "aPplant2bz"] - - [0xC35348, 0xC35354, "ascii", "aPlabbenchz"] - - [0xC35354, 0xC35360, "ascii", "aPgasbarrelz"] - - [0xC35360, 0xC35370, "ascii", "aPgasbarrelsz"] - - [0xC35370, 0xC35380, "ascii", "aPbodyarmourz"] - - [0xC35380, 0xC35394, "ascii", "aPbodyarmourvestz"] - - [0xC35394, 0xC353A0, "ascii", "aPgastankz"] - - [0xC353A0, 0xC353B0, "ascii", "aPglassware1z"] - - [0xC353B0, 0xC353BC, "ascii", "aPhatchboltz"] - - [0xC353BC, 0xC353C8, "ascii", "aPbrakeunitz"] - - [0xC353C8, 0xC353D4, "ascii", "aPak47magz"] - - [0xC353D4, 0xC353E0, "ascii", "aPm16magz"] - - [0xC353E0, 0xC353EC, "ascii", "aPmp5kmagz"] - - [0xC353EC, 0xC353FC, "ascii", "aPskorpionmagz"] - - [0xC353FC, 0xC3540C, "ascii", "aPspectremagz"] - - [0xC3540C, 0xC35418, "ascii", "aPuzimagz"] - - [0xC35418, 0xC35424, "ascii", "aPsilencerz"] - - [0xC35424, 0xC35438, "ascii", "aPchrextinguisherz"] - - [0xC35438, 0xC35448, "ascii", "aPboxcartridgesz"] - - [0xC35448, 0xC35454, "ascii", "aPfnp90magz"] - - [0xC35454, 0xC35464, "ascii", "aPgoldenshellsz"] - - [0xC35464, 0xC35474, "ascii", "aPmagnumshellsz"] - - [0xC35474, 0xC35480, "ascii", "aPwppkmagz"] - - [0xC35480, 0xC3548C, "ascii", "aPtt33magz"] - - [0xC3548C, 0xC35498, "ascii", "aPsev_doorz"] - - [0xC35498, 0xC354A4, "ascii", "aPsev_door3z"] - - [0xC354A4, 0xC354B8, "ascii", "aPsev_door3_windz"] - - [0xC354B8, 0xC354CC, "ascii", "aPsev_door4_windz"] - - [0xC354CC, 0xC354DC, "ascii", "aPsev_trislidez"] - - [0xC354DC, 0xC354EC, "ascii", "aPsev_door_v1z"] - - [0xC354EC, 0xC354FC, "ascii", "aPsteel_door1z"] - - [0xC354FC, 0xC3550C, "ascii", "aPsteel_door2z"] - - [0xC3550C, 0xC3551C, "ascii", "aPsteel_door3z"] - - [0xC3551C, 0xC35530, "ascii", "aPsilo_lift_doorz"] - - [0xC35530, 0xC35540, "ascii", "aPsteel_door2bz"] - - [0xC35540, 0xC35550, "ascii", "aPdoor_roller1z"] - - [0xC35550, 0xC35560, "ascii", "aPdoor_roller2z"] - - [0xC35560, 0xC35570, "ascii", "aPdoor_roller3z"] - - [0xC35570, 0xC35580, "ascii", "aPdoor_roller4z"] - - [0xC35580, 0xC35590, "ascii", "aPdoor_st_arec1z"] - - [0xC35590, 0xC355A0, "ascii", "aPdoor_st_arec2z"] - - [0xC355A0, 0xC355B0, "ascii", "aPdoor_dest1z"] - - [0xC355B0, 0xC355C0, "ascii", "aPdoor_dest2z"] - - [0xC355C0, 0xC355D4, "ascii", "aPgas_plant_sw_do1z"] - - [0xC355D4, 0xC355E8, "ascii", "aPgas_plant_sw2_do1z"] - - [0xC355E8, 0xC355FC, "ascii", "aPgas_plant_sw3_do1z"] - - [0xC355FC, 0xC35610, "ascii", "aPgas_plant_sw4_do1z"] - - [0xC35610, 0xC35628, "ascii", "aPgas_plant_met1_do1z"] - - [0xC35628, 0xC3563C, "ascii", "aPgas_plant_wc_cub1z"] - - [0xC3563C, 0xC35654, "ascii", "aPgasplant_clear_doorz"] - - [0xC35654, 0xC35664, "ascii", "aPtrain_doorz"] - - [0xC35664, 0xC35674, "ascii", "aPtrain_door2z"] - - [0xC35674, 0xC35684, "ascii", "aPtrain_door3z"] - - [0xC35684, 0xC35694, "ascii", "aPdoor_eyelidz"] - - [0xC35694, 0xC356A0, "ascii", "aPdoor_irisz"] - - [0xC356A0, 0xC356B0, "ascii", "aPsevdoorwoodz"] - - [0xC356B0, 0xC356C0, "ascii", "aPsevdoorwindz"] - - [0xC356C0, 0xC356D0, "ascii", "aPsevdoornowindz"] - - [0xC356D0, 0xC356E4, "ascii", "aPsevdoormetslidez"] - - [0xC356E4, 0xC356F4, "ascii", "aPcryptdoor1az"] - - [0xC356F4, 0xC35704, "ascii", "aPcryptdoor1bz"] - - [0xC35704, 0xC35714, "ascii", "aPcryptdoor2az"] - - [0xC35714, 0xC35724, "ascii", "aPcryptdoor2bz"] - - [0xC35724, 0xC35734, "ascii", "aPcryptdoor3z"] - - [0xC35734, 0xC35744, "ascii", "aPcryptdoor4z"] - - [0xC35744, 0xC35750, "ascii", "aPvertdoorz"] - - [0xC35750, 0xC3575C, "ascii", "aPhatchdoorz"] - - [0xC3575C, 0xC3576C, "ascii", "aPdamgatedoorz"] - - [0xC3576C, 0xC3577C, "ascii", "aPdamtundoorz"] - - [0xC3577C, 0xC3578C, "ascii", "aPdamchaindoorz"] - - [0xC3578C, 0xC3579C, "ascii", "aPsilotopdoorz"] - - [0xC3579C, 0xC357AC, "ascii", "aPdoorprison1z"] - - [0xC357AC, 0xC357BC, "ascii", "aPdoorstatgatez"] - - [0xC357BC, 0xC357C8, "ascii", "aPchrkalashz"] - - [0xC357C8, 0xC357DC, "ascii", "aPchrgrenadelaunchz"] - - [0xC357DC, 0xC357E8, "ascii", "aPchrknifez"] - - [0xC357E8, 0xC357F4, "ascii", "aPchrlaserz"] - - [0xC357F4, 0xC35800, "ascii", "aPchrm16z"] - - [0xC35800, 0xC3580C, "ascii", "aPchrmp5kz"] - - [0xC3580C, 0xC35818, "ascii", "aPchrrugerz"] - - [0xC35818, 0xC35824, "ascii", "aPchrwppkz"] - - [0xC35824, 0xC35834, "ascii", "aPchrshotgunz"] - - [0xC35834, 0xC35844, "ascii", "aPchrskorpionz"] - - [0xC35844, 0xC35854, "ascii", "aPchrspectrez"] - - [0xC35854, 0xC35860, "ascii", "aPchruziz"] - - [0xC35860, 0xC35870, "ascii", "aPchrgrenadez"] - - [0xC35870, 0xC3587C, "ascii", "aPchrfnp90z"] - - [0xC3587C, 0xC3588C, "ascii", "aPchrbriefcasez"] - - [0xC3588C, 0xC3589C, "ascii", "aPchrremoteminez"] - - [0xC3589C, 0xC358B0, "ascii", "aPchrproximityminez"] - - [0xC358B0, 0xC358C0, "ascii", "aPchrtimedminez"] - - [0xC358C0, 0xC358CC, "ascii", "aPchrrocketz"] - - [0xC358CC, 0xC358E0, "ascii", "aPchrgrenaderoundz"] - - [0xC358E0, 0xC358F0, "ascii", "aPchrwppksilz"] - - [0xC358F0, 0xC358FC, "ascii", "aPchrtt33z"] - - [0xC358FC, 0xC3590C, "ascii", "aPchrmp5ksilz"] - - [0xC3590C, 0xC3591C, "ascii", "aPchrautoshotz"] - - [0xC3591C, 0xC35928, "ascii", "aPchrgoldenz"] - - [0xC35928, 0xC35938, "ascii", "aPchrthrowknifez"] - - [0xC35938, 0xC3594C, "ascii", "aPchrsniperriflez"] - - [0xC3594C, 0xC35960, "ascii", "aPchrrocketlaunchz"] - - [0xC35960, 0xC3596C, "ascii", "aPhatfurryz"] - - [0xC3596C, 0xC3597C, "ascii", "aPhatfurrybrownz"] - - [0xC3597C, 0xC3598C, "ascii", "aPhatfurryblackz"] - - [0xC3598C, 0xC35998, "ascii", "aPhattbirdz"] - - [0xC35998, 0xC359A8, "ascii", "aPhattbirdbrownz"] - - [0xC359A8, 0xC359B4, "ascii", "aPhathelmetz"] - - [0xC359B4, 0xC359C4, "ascii", "aPhathelmetgreyz"] - - [0xC359C4, 0xC359D0, "ascii", "aPhatmoonz"] - - [0xC359D0, 0xC359DC, "ascii", "aPhatberetz"] - - [0xC359DC, 0xC359EC, "ascii", "aPhatberetbluez"] - - [0xC359EC, 0xC359FC, "ascii", "aPhatberetredz"] - - [0xC359FC, 0xC35A08, "ascii", "aPhatpeakedz"] - - [0xC35A08, 0xC35A18, "ascii", "aPchrwristdartz"] - - [0xC35A18, 0xC35A2C, "ascii", "aPchrexplosivepenz"] - - [0xC35A2C, 0xC35A3C, "ascii", "aPchrbombcasez"] - - [0xC35A3C, 0xC35A50, "ascii", "aPchrflarepistolz"] - - [0xC35A50, 0xC35A60, "ascii", "aPchrpitongunz"] - - [0xC35A60, 0xC35A70, "ascii", "aPchrfingergunz"] - - [0xC35A70, 0xC35A80, "ascii", "aPchrsilverwppkz"] - - [0xC35A80, 0xC35A90, "ascii", "aPchrgoldwppkz"] - - [0xC35A90, 0xC35AA0, "ascii", "aPchrdynamitez"] - - [0xC35AA0, 0xC35AAC, "ascii", "aPchrbungeez"] - - [0xC35AAC, 0xC35AC0, "ascii", "aPchrdoordecoderz"] - - [0xC35AC0, 0xC35AD4, "ascii", "aPchrbombdefuserz"] - - [0xC35AD4, 0xC35AE8, "ascii", "aPchrbugdetectorz"] - - [0xC35AE8, 0xC35B00, "ascii", "aPchrsafecrackercasez"] - - [0xC35B00, 0xC35B0C, "ascii", "aPchrcameraz"] - - [0xC35B0C, 0xC35B20, "ascii", "aPchrlockexploderz"] - - [0xC35B20, 0xC35B34, "ascii", "aPchrdoorexploderz"] - - [0xC35B34, 0xC35B4C, "ascii", "aPchrkeyanalysercasez"] - - [0xC35B4C, 0xC35B5C, "ascii", "aPchrweaponcasez"] - - [0xC35B5C, 0xC35B6C, "ascii", "aPchrkeyyalez"] - - [0xC35B6C, 0xC35B7C, "ascii", "aPchrkeyboltz"] - - [0xC35B7C, 0xC35B88, "ascii", "aPchrbugz"] - - [0xC35B88, 0xC35B9C, "ascii", "aPchrmicrocameraz"] - - [0xC35B9C, 0xC35BA8, "ascii", "aPfloppyz"] - - [0xC35BA8, 0xC35BBC, "ascii", "aPchrgoldeneyekeyz"] - - [0xC35BBC, 0xC35BD4, "ascii", "aPchrpolarizedglassesz"] - - [0xC35BD4, 0xC35BE4, "ascii", "aPchrcreditcardz"] - - [0xC35BE4, 0xC35BF8, "ascii", "aPchrdarkglassesz"] - - [0xC35BF8, 0xC35C08, "ascii", "aPchrgaskeyringz"] - - [0xC35C08, 0xC35C18, "ascii", "aPchrdatathiefz"] - - [0xC35C18, 0xC35C20, "ascii", "aPsafez"] - - [0xC35C20, 0xC35C28, "ascii", "aPbombz"] - - [0xC35C28, 0xC35C34, "ascii", "aPchrplansz"] - - [0xC35C34, 0xC35C44, "ascii", "aPchrspyfilez"] - - [0xC35C44, 0xC35C54, "ascii", "aPchrblueprintsz"] - - [0xC35C54, 0xC35C68, "ascii", "aPchrcircuitboardz"] - - [0xC35C68, 0xC35C74, "ascii", "aPchrmapz"] - - [0xC35C74, 0xC35C84, "ascii", "aPchrspooltapez"] - - [0xC35C84, 0xC35C94, "ascii", "aPchraudiotapez"] - - [0xC35C94, 0xC35CA4, "ascii", "aPchrmicrofilmz"] - - [0xC35CA4, 0xC35CB4, "ascii", "aPchrmicrocodez"] - - [0xC35CB4, 0xC35CC0, "ascii", "aPchrlectrez"] - - [0xC35CC0, 0xC35CCC, "ascii", "aPchrmoneyz"] - - [0xC35CCC, 0xC35CDC, "ascii", "aPchrgoldbarz"] - - [0xC35CDC, 0xC35CE8, "ascii", "aPchrheroinz"] - - [0xC35CE8, 0xC35CF8, "ascii", "aPchrclipboardz"] - - [0xC35CF8, 0xC35D08, "ascii", "aPchrdossierredz"] - - [0xC35D08, 0xC35D18, "ascii", "aPchrstafflistz"] - - [0xC35D18, 0xC35D28, "ascii", "aPchrdattapez"] - - [0xC35D28, 0xC35D38, "ascii", "aPchrplastiquez"] - - [0xC35D38, 0xC35D48, "ascii", "aPchrblackboxz"] - - [0xC35D48, 0xC35D58, "ascii", "aPchrvideotapez"] - - [0xC35D58, 0xC35D68, "ascii", "aPnintendologoz"] - - [0xC35D68, 0xC35D78, "ascii", "aPgoldeneyelogoz"] - - [0xC35D78, 0xC35D88, "ascii", "aPwalletbondz"] - - [0xC35D88, 0xC35D94, "ascii", "aPmiltruckz"] - - [0xC35D94, 0xC35D9C, "ascii", "aPjeepz"] - - [0xC35D9C, 0xC35DA4, "ascii", "aParticz"] - - [0xC35DA4, 0xC35DB4, "ascii", "aPhelicopterz"] - - [0xC35DB4, 0xC35DBC, "ascii", "aPtigerz"] - - [0xC35DBC, 0xC35DC8, "ascii", "aPmilcopterz"] - - [0xC35DC8, 0xC35DD0, "ascii", "aPhindz"] - - [0xC35DD0, 0xC35DE0, "ascii", "aPartictrailerz"] - - [0xC35DE0, 0xC35DEC, "ascii", "aPmotorbikez"] - - [0xC35DEC, 0xC35DF4, "ascii", "aPtankz"] - - [0xC35DF4, 0xC35DFC, "ascii", "aPapcz"] - - [0xC35DFC, 0xC35E08, "ascii", "aPspeedboatz"] - - [0xC35E08, 0xC35E10, "ascii", "aPplanez"] - - [0xC35E10, 0xC35E20, "ascii", "aPgun_runway1z"] - - [0xC35E20, 0xC35E2C, "ascii", "aPsafedoorz"] - - [0xC35E2C, 0xC35E3C, "ascii", "aPkey_holderz"] - - [0xC35E3C, 0xC35E48, "ascii", "aPhatchsevxz"] - - [0xC35E48, 0xC35E54, "ascii", "aPsevdishz"] - - [0xC35E54, 0xC35E64, "ascii", "aParchsecdoor1z"] - - [0xC35E64, 0xC35E74, "ascii", "aParchsecdoor2z"] - - [0xC35E74, 0xC35E80, "ascii", "aPgroundgunz"] - - [0xC35E80, 0xC35E90, "ascii", "aPtrainextdoorz"] - - [0xC35E90, 0xC35E9C, "ascii", "aPcarbmwz"] - - [0xC35E9C, 0xC35EA8, "ascii", "aPcarescortz"] - - [0xC35EA8, 0xC35EB4, "ascii", "aPcargolfz"] - - [0xC35EB4, 0xC35EC0, "ascii", "aPcarweirdz"] - - [0xC35EC0, 0xC35ECC, "ascii", "aPcarzilz"] - - [0xC35ECC, 0xC35EE0, "ascii", "aPshuttle_door_lz"] - - [0xC35EE0, 0xC35EF4, "ascii", "aPshuttle_door_rz"] - - [0xC35EF4, 0xC35F08, "ascii", "aPdepot_gate_entryz"] - - [0xC35F08, 0xC35F1C, "ascii", "aPdepot_door_steelz"] - - [0xC35F1C, 0xC35F2C, "ascii", "aPglassware2z"] - - [0xC35F2C, 0xC35F3C, "ascii", "aPglassware3z"] - - [0xC35F3C, 0xC35F4C, "ascii", "aPglassware4z"] - - [0xC35F4C, 0xC35F58, "ascii", "aPlandminez"] - - [0xC35F58, 0xC35F64, "ascii", "aPplant1z"] - - [0xC35F64, 0xC35F70, "ascii", "aPplant11z"] - - [0xC35F70, 0xC35F7C, "ascii", "aPplant2z"] - - [0xC35F7C, 0xC35F88, "ascii", "aPplant3z"] - - [0xC35F88, 0xC35F98, "ascii", "aPjungle5_treez"] - - [0xC35F98, 0xC35FA4, "ascii", "aPlegalpagez"] - - [0xC35FA4, 0xC35FB8, "ascii", "aPst_pete_room_1iz"] - - [0xC35FB8, 0xC35FCC, "ascii", "aPst_pete_room_2iz"] - - [0xC35FCC, 0xC35FE0, "ascii", "aPst_pete_room_3tz"] - - [0xC35FE0, 0xC35FF4, "ascii", "aPst_pete_room_5cz"] - - [0xC35FF4, 0xC36008, "ascii", "aPst_pete_room_6cz"] - - [0xC36008, 0xC3601C, "ascii", "aPdoor_rollertrainz"] - - [0xC3601C, 0xC36028, "ascii", "aPdoor_winz"] - - [0xC36028, 0xC36038, "ascii", "aPdoor_aztecz"] - - [0xC36038, 0xC36044, "ascii", "aPshuttlez"] - - [0xC36044, 0xC36054, "ascii", "aPdoor_azt_deskz"] - - [0xC36054, 0xC36068, "ascii", "aPdoor_azt_desk_topz"] - - [0xC36068, 0xC3607C, "ascii", "aPdoor_azt_chairz"] - - [0xC3607C, 0xC36088, "ascii", "aPdoor_mfz"] - - [0xC36088, 0xC36090, "ascii", "aPflagz"] - - [0xC36090, 0xC3609C, "ascii", "aPbarricadez"] - - [0xC3609C, 0xC360A8, "ascii", "aPmodemboxz"] - - [0xC360A8, 0xC360B4, "ascii", "aPdoorpanelz"] - - [0xC360B4, 0xC360C4, "ascii", "aPdoorconsolez"] - - [0xC360C4, 0xC360D4, "ascii", "aPchrtesttubez"] - - [0xC360D4, 0xC360E0, "ascii", "aPbollardz"] - - [0xC360E0, 0xC360F0, "ascii", "aPnullZ"] - - [0xC360F0, 0xC360FC, "ascii", "aCcamguardz"] - - [0xC360FC, 0xC36108, "ascii", "aCgreyguardz"] - - [0xC36108, 0xC36118, "ascii", "aColiveguardz"] - - [0xC36118, 0xC36124, "ascii", "aCrusguardz"] - - [0xC36124, 0xC36130, "ascii", "aCtrevguardz"] - - [0xC36130, 0xC3613C, "ascii", "aCdjbondz"] - - [0xC3613C, 0xC36144, "ascii", "aCborisz"] - - [0xC36144, 0xC36150, "ascii", "aCorumovz"] - - [0xC36150, 0xC3615C, "ascii", "aCtrevelyanz"] - - [0xC3615C, 0xC3616C, "ascii", "aCboilertrevz"] - - [0xC3616C, 0xC36178, "ascii", "aCvalentinz"] - - [0xC36178, 0xC36180, "ascii", "aCxeniaz"] - - [0xC36180, 0xC36190, "ascii", "aCbaronsamediz"] - - [0xC36190, 0xC36198, "ascii", "aCjawsz"] - - [0xC36198, 0xC361A4, "ascii", "aCmaydayz"] - - [0xC361A4, 0xC361B0, "ascii", "aCoddjobz"] - - [0xC361B0, 0xC361BC, "ascii", "aCnatalyaz"] - - [0xC361BC, 0xC361CC, "ascii", "aCarmourguardz"] - - [0xC361CC, 0xC361D8, "ascii", "aCcommguardz"] - - [0xC361D8, 0xC361E8, "ascii", "aCgreatguardz"] - - [0xC361E8, 0xC361F4, "ascii", "aCnavyguardz"] - - [0xC361F4, 0xC36200, "ascii", "aCsnowguardz"] - - [0xC36200, 0xC36210, "ascii", "aCboilerbondz"] - - [0xC36210, 0xC3621C, "ascii", "aCsuitbondz"] - - [0xC3621C, 0xC3622C, "ascii", "aCtimberbondz"] - - [0xC3622C, 0xC36238, "ascii", "aCsnowbondz"] - - [0xC36238, 0xC36244, "ascii", "aCbluewomanz"] - - [0xC36244, 0xC36254, "ascii", "aCfattechwomanz"] - - [0xC36254, 0xC36260, "ascii", "aCtechwomanz"] - - [0xC36260, 0xC3626C, "ascii", "aCjeanwomanz"] - - [0xC3626C, 0xC36278, "ascii", "aCgreymanz"] - - [0xC36278, 0xC36284, "ascii", "aCbluemanz"] - - [0xC36284, 0xC36290, "ascii", "aCredmanz"] - - [0xC36290, 0xC3629C, "ascii", "aCcardimanz"] - - [0xC3629C, 0xC362A8, "ascii", "aCcheckmanz"] - - [0xC362A8, 0xC362B4, "ascii", "aCtechmanz"] - - [0xC362B4, 0xC362BC, "ascii", "aCpilotz"] - - [0xC362BC, 0xC362CC, "ascii", "aCgreatguard2z"] - - [0xC362CC, 0xC362DC, "ascii", "aCbluecamguardz"] - - [0xC362DC, 0xC362E8, "ascii", "aCmoonguardz"] - - [0xC362E8, 0xC362F8, "ascii", "aCmoonfemalez"] - - [0xC362F8, 0xC36308, "ascii", "aCsuit_lf_handz_0"] - - [0xC36308, 0xC36314, "ascii", "aCheadkarlz"] - - [0xC36314, 0xC36320, "ascii", "aCheadalanz"] - - [0xC36320, 0xC3632C, "ascii", "aCheadpetez"] - - [0xC3632C, 0xC3633C, "ascii", "aCheadmartinz"] - - [0xC3633C, 0xC36348, "ascii", "aCheadmarkz"] - - [0xC36348, 0xC36358, "ascii", "aCheadduncanz"] - - [0xC36358, 0xC36364, "ascii", "aCheadshaunz"] - - [0xC36364, 0xC36374, "ascii", "aCheaddwaynez"] - - [0xC36374, 0xC3637C, "ascii", "aCheadbz"] - - [0xC3637C, 0xC36388, "ascii", "aCheaddavez"] - - [0xC36388, 0xC36394, "ascii", "aCheadgrantz"] - - [0xC36394, 0xC363A0, "ascii", "aCheaddesz"] - - [0xC363A0, 0xC363AC, "ascii", "aCheadchrisz"] - - [0xC363AC, 0xC363B8, "ascii", "aCheadleez"] - - [0xC363B8, 0xC363C4, "ascii", "aCheadneilz"] - - [0xC363C4, 0xC363D0, "ascii", "aCheadjimz"] - - [0xC363D0, 0xC363DC, "ascii", "aCheadrobinz"] - - [0xC363DC, 0xC363EC, "ascii", "aCheadstevehz"] - - [0xC363EC, 0xC363FC, "ascii", "aCheadbalaclavaz"] - - [0xC363FC, 0xC36408, "ascii", "aCheadbikez"] - - [0xC36408, 0xC36418, "ascii", "aCheadgrahamz"] - - [0xC36418, 0xC36428, "ascii", "aCheadsteveez"] - - [0xC36428, 0xC36434, "ascii", "aCheadjoelz"] - - [0xC36434, 0xC36440, "ascii", "aCheadscottz"] - - [0xC36440, 0xC3644C, "ascii", "aCheadjoez"] - - [0xC3644C, 0xC36458, "ascii", "aCheadkenz"] - - [0xC36458, 0xC36464, "ascii", "aCheadjoe2z"] - - [0xC36464, 0xC36474, "ascii", "aCheadmishkinz"] - - [0xC36474, 0xC36480, "ascii", "aCheadsallyz"] - - [0xC36480, 0xC36490, "ascii", "aCheadmarionz"] - - [0xC36490, 0xC3649C, "ascii", "aCheadmandyz"] - - [0xC3649C, 0xC364AC, "ascii", "aCheadvivienz"] - - [0xC364AC, 0xC364C0, "ascii", "aCheadbrosnanboilerz"] - - [0xC364C0, 0xC364D4, "ascii", "aCheadbrosnansuitz"] - - [0xC364D4, 0xC364E8, "ascii", "aCheadbrosnantimberz"] - - [0xC364E8, 0xC364FC, "ascii", "aCheadbrosnansnowz"] - - [0xC364FC, 0xC3650C, "ascii", "aCheadbrosnanz"] - - [0xC3650C, 0xC36520, "ascii", "aCspicebondz"] - - [0xC36520, 0xC36648, "ptr", "jpt_700C5B38"] - - [0xC36648, 0xC3664C, "ptr", "D_800573D8"] - - [0xC3664C, 0xC36774, "ptr", "jpt_700C6400"] - - [0xC36774, 0xC36780, "ptr", "D_80057504"] - - [0xC36780, 0xC36784, "ptr", "D_80057510"] - - [0xC36784, 0xC36788, "ptr", "D_80057514"] - - [0xC36788, 0xC36790, "ptr", "D_80057518"] - - [0xC36790, 0xC36794, "ptr", "D_80057520"] - - [0xC36794, 0xC36798, "ptr", "D_80057524"] - - [0xC36798, 0xC3679C, "ptr", "D_80057528"] - - [0xC3679C, 0xC367A0, "ptr", "D_8005752C"] - - [0xC367A0, 0xC367A4, "ptr", "D_80057530"] - - [0xC367A4, 0xC367A8, "ptr", "D_80057534"] - - [0xC367A8, 0xC367AC, "ptr", "D_80057538"] - - [0xC367AC, 0xC367B0, "ptr", "D_8005753C"] - - [0xC367B0, 0xC367B4, "ptr", "D_80057540"] - - [0xC367B4, 0xC367F4, "ptr", "jpt_700C8968"] - - [0xC367F4, 0xC367F8, "ptr", "D_80057584"] - - [0xC367F8, 0xC367FC, "ptr", "D_80057588"] - - [0xC367FC, 0xC36800, "ptr", "D_8005758C"] - - [0xC36800, 0xC36840, "ptr", "jpt_700C9D3C"] - - [0xC36840, 0xC36844, "ptr", "D_800575D0"] - - [0xC36844, 0xC36848, "ptr", "D_800575D4"] - - [0xC36848, 0xC3684C, "ptr", "D_800575D8"] - - [0xC3684C, 0xC36850, "ptr", "D_800575DC"] - - [0xC36850, 0xC36854, "ptr", "D_800575E0"] - - [0xC36854, 0xC36858, "ptr", "D_800575E4"] - - [0xC36858, 0xC3685C, "ptr", "D_800575E8"] - - [0xC3685C, 0xC36860, "ptr", "D_800575EC"] - - [0xC36860, 0xC36864, "ptr", "D_800575F0"] - - [0xC36864, 0xC36868, "ptr", "D_800575F4"] - - [0xC36868, 0xC3686C, "ptr", "D_800575F8"] - - [0xC3686C, 0xC36870, "ptr", "D_800575FC"] - - [0xC36870, 0xC36874, "ptr", "D_80057600"] - - [0xC36874, 0xC36878, "ptr", "D_80057604"] - - [0xC36878, 0xC3687C, "ptr", "D_80057608"] - - [0xC3687C, 0xC36884, "ptr", "D_8005760C"] - - [0xC36884, 0xC36888, "ptr", "D_80057614"] - - [0xC36888, 0xC3688C, "ptr", "D_80057618"] - - [0xC3688C, 0xC36890, "ptr", "D_8005761C"] - - [0xC36890, 0xC36894, "ptr", "D_80057620"] - - [0xC36894, 0xC3689C, "ptr", "D_80057624"] - - [0xC3689C, 0xC36920, "ptr", "jpt_700CF1AC"] - - [0xC36920, 0xC36924, "ptr", "D_800576B0"] - - [0xC36924, 0xC36928, "ptr", "D_800576B4"] - - [0xC36928, 0xC3692C, "ptr", "D_800576B8"] - - [0xC3692C, 0xC36930, "ptr", "D_800576BC"] - - [0xC36930, 0xC36934, "ptr", "D_800576C0"] - - [0xC36934, 0xC36938, "ptr", "D_800576C4"] - - [0xC36938, 0xC3693C, "ptr", "D_800576C8"] - - [0xC3693C, 0xC36940, "ptr", "D_800576CC"] - - [0xC36940, 0xC36944, "ptr", "D_800576D0"] - - [0xC36944, 0xC36948, "ptr", "D_800576D4"] - - [0xC36948, 0xC3694C, "ptr", "D_800576D8"] - - [0xC3694C, 0xC36950, "ptr", "D_800576DC"] - - [0xC36950, 0xC36954, "ptr", "D_800576E0"] - - [0xC36954, 0xC36958, "ptr", "D_800576E4"] - - [0xC36958, 0xC3695C, "ptr", "D_800576E8"] - - [0xC3695C, 0xC36960, "ptr", "D_800576EC"] - - [0xC36960, 0xC36964, "ptr", "D_800576F0"] - - [0xC36964, 0xC36968, "ptr", "D_800576F4"] - - [0xC36968, 0xC3696C, "ptr", "D_800576F8"] - - [0xC3696C, 0xC36970, "ptr", "D_800576FC"] - - [0xC36970, 0xC36974, "ptr", "D_80057700"] - - [0xC36974, 0xC36978, "ptr", "D_80057704"] - - [0xC36978, 0xC3697C, "ptr", "D_80057708"] - - [0xC3697C, 0xC36980, "ptr", "D_8005770C"] - - [0xC36980, 0xC36984, "ptr", "D_80057710"] - - [0xC36984, 0xC36988, "ptr", "D_80057714"] - - [0xC36988, 0xC3698C, "ptr", "D_80057718"] - - [0xC3698C, 0xC36990, "ptr", "D_8005771C"] - - [0xC36990, 0xC36994, "ptr", "D_80057720"] - - [0xC36994, 0xC36998, "ptr", "D_80057724"] - - [0xC36998, 0xC3699C, "ptr", "D_80057728"] - - [0xC3699C, 0xC369A0, "ptr", "D_8005772C"] - - [0xC369A0, 0xC369B0, "ptr", "D_80057730"] - - [0xC369B0, 0xC369B8, "ptr", "D_80057740"] - - [0xC369B8, 0xC369BC, "ptr", "D_80057748"] - - [0xC369BC, 0xC369C0, "ptr", "D_8005774C"] - - [0xC369C0, 0xC369C4, "ptr", "D_80057750"] - - [0xC369C4, 0xC369D0, "ptr", "D_80057754"] - - [0xC369D0, 0xC369D8, "ascii", "aDD"] - - [0xC369D8, 0xC369E8, "ascii", "aDDDF"] - - [0xC369E8, 0xC369F0, "ascii", "aA"] - - [0xC369F0, 0xC369F8, "ascii", "aB"] - - [0xC369F8, 0xC36A00, "ascii", "aZ"] - - [0xC36A00, 0xC36A08, "ascii", "aL"] - - [0xC36A08, 0xC36A10, "ascii", "aR"] - - [0xC36A10, 0xC36A18, "ascii", "aC"] - - [0xC36A18, 0xC36A20, "ptr", "D_800577A8"] - - [0xC36A20, 0xC36A28, "ascii", "aS_0"] - - [0xC36A28, 0xC36A30, "ascii", "a3d"] - - [0xC36A30, 0xC37230, "ptr", "D_800577C0"] - - [0xC37230, 0xC376B0, "ptr", "D_80057FC0"] - - [0xC376B0, 0xC376B4, "ptr", "D_80058440"] - - [0xC376B4, 0xC376B8, "ptr", "D_80058444"] - - [0xC376B8, 0xC376C0, "ascii", "aC_2"] - - [0xC376C0, 0xC376C4, "ptr", "D_80058450"] - - [0xC376C4, 0xC376C8, "ptr", "D_80058454"] - - [0xC376C8, 0xC376CC, "ptr", "D_80058458"] - - [0xC376CC, 0xC376D0, "ptr", "D_8005845C"] - - [0xC376D0, 0xC376D4, "ptr", "D_80058460"] - - [0xC376D4, 0xC376D8, "ptr", "D_80058464"] - - [0xC376D8, 0xC376DC, "ptr", "D_80058468"] - - [0xC376DC, 0xC376E0, "ptr", "D_8005846C"] - - [0xC376E0, 0xC376E4, "ptr", "D_80058470"] - - [0xC376E4, 0xC376E8, "ptr", "D_80058474"] - - [0xC376E8, 0xC376EC, "ptr", "D_80058478"] - - [0xC376EC, 0xC376F0, "ptr", "D_8005847C"] - - [0xC376F0, 0xC376F4, "ptr", "D_80058480"] - - [0xC376F4, 0xC376F8, "ptr", "D_80058484"] - - [0xC376F8, 0xC376FC, "ptr", "D_80058488"] - - [0xC376FC, 0xC37700, "ptr", "D_8005848C"] - - [0xC37700, 0xC37704, "ptr", "D_80058490"] - - [0xC37704, 0xC37708, "ptr", "D_80058494"] - - [0xC37708, 0xC3770C, "ptr", "D_80058498"] - - [0xC3770C, 0xC37710, "ptr", "D_8005849C"] - - [0xC37710, 0xC37714, "ptr", "D_800584A0"] - - [0xC37714, 0xC37718, "ptr", "D_800584A4"] - - [0xC37718, 0xC3771C, "ptr", "D_800584A8"] - - [0xC3771C, 0xC37720, "ptr", "D_800584AC"] - - [0xC37720, 0xC37724, "ptr", "D_800584B0"] - - [0xC37724, 0xC37728, "ptr", "D_800584B4"] - - [0xC37728, 0xC3772C, "ptr", "D_800584B8"] - - [0xC3772C, 0xC37730, "ptr", "D_800584BC"] - - [0xC37730, 0xC37734, "ptr", "D_800584C0"] - - [0xC37734, 0xC37738, "ptr", "D_800584C4"] - - [0xC37738, 0xC3773C, "ptr", "D_800584C8"] - - [0xC3773C, 0xC37750, "ptr", "jpt_700DAD2C"] - - [0xC37750, 0xC37778, "ptr", "jpt_700DADB0"] - - [0xC37778, 0xC3777C, "ptr", "D_80058508"] - - [0xC3777C, 0xC37780, "ptr", "D_8005850C"] - - [0xC37780, 0xC37784, "ptr", "D_80058510"] - - [0xC37784, 0xC37788, "ptr", "D_80058514"] - - [0xC37788, 0xC3778C, "ptr", "D_80058518"] - - [0xC3778C, 0xC37790, "ptr", "D_8005851C"] - - [0xC37790, 0xC37794, "ptr", "D_80058520"] - - [0xC37794, 0xC37798, "ptr", "D_80058524"] - - [0xC37798, 0xC3779C, "ptr", "D_80058528"] - - [0xC3779C, 0xC377A0, "ptr", "D_8005852C"] - - [0xC377A0, 0xC377A4, "ptr", "D_80058530"] - - [0xC377A4, 0xC377A8, "ptr", "D_80058534"] - - [0xC377A8, 0xC377AC, "ptr", "D_80058538"] - - [0xC377AC, 0xC377B0, "ptr", "D_8005853C"] - - [0xC377B0, 0xC377B4, "ptr", "D_80058540"] - - [0xC377B4, 0xC377B8, "ptr", "D_80058544"] - - [0xC377B8, 0xC377BC, "ptr", "D_80058548"] - - [0xC377BC, 0xC377C0, "ptr", "D_8005854C"] - - [0xC377C0, 0xC377C4, "ptr", "D_80058550"] - - [0xC377C4, 0xC377C8, "ptr", "D_80058554"] - - [0xC377C8, 0xC377CC, "ptr", "D_80058558"] - - [0xC377CC, 0xC377D0, "ptr", "D_8005855C"] - - [0xC377D0, 0xC377D4, "ptr", "D_80058560"] - - [0xC377D4, 0xC377D8, "ptr", "D_80058564"] - - [0xC377D8, 0xC377DC, "ptr", "D_80058568"] - - [0xC377DC, 0xC377E0, "ptr", "D_8005856C"] - - [0xC377E0, 0xC377F4, "ptr", "jpt_700E02E0"] - - [0xC377F4, 0xC37810, "ptr", "jpt_700E09F8"] - - [0xC37810, 0xC3781C, "ascii", "aCDCC"] - - [0xC3781C, 0xC3782C, "ascii", "aStan_c_debug"] - - [0xC3782C, 0xC3783C, "ascii", "aStanlinelog"] - - [0xC3783C, 0xC37840, "ptr", "D_800585CC"] - - [0xC37840, 0xC37844, "ptr", "D_800585D0"] - - [0xC37844, 0xC37848, "ptr", "D_800585D4"] - - [0xC37848, 0xC3784C, "ptr", "D_800585D8"] - - [0xC3784C, 0xC37850, "ptr", "D_800585DC"] - - [0xC37850, 0xC37854, "ptr", "D_800585E0"] - - [0xC37854, 0xC37860, "ptr", "D_800585E4"] - - [0xC37860, 0xC37874, "ascii", "aBgBg_sev_all_p_seg"] - - [0xC37874, 0xC37888, "ascii", "aTbg_sev_all_p_stanz"] - - [0xC37888, 0xC378A0, "ascii", "aBgBg_silo_all_p_seg"] - - [0xC378A0, 0xC378B8, "ascii", "aTbg_silo_all_p_stanz"] - - [0xC378B8, 0xC378D0, "ascii", "aBgBg_stat_all_p_seg"] - - [0xC378D0, 0xC378E8, "ascii", "aTbg_stat_all_p_stanz"] - - [0xC378E8, 0xC37900, "ascii", "aBgBg_arec_all_p_seg"] - - [0xC37900, 0xC37918, "ascii", "aTbg_arec_all_p_stanz"] - - [0xC37918, 0xC37930, "ascii", "aBgBg_arch_all_p_seg"] - - [0xC37930, 0xC37948, "ascii", "aTbg_arch_all_p_stanz"] - - [0xC37948, 0xC3795C, "ascii", "aBgBg_tra_all_p_seg"] - - [0xC3795C, 0xC37970, "ascii", "aTbg_tra_all_p_stanz"] - - [0xC37970, 0xC37988, "ascii", "aBgBg_dest_all_p_seg"] - - [0xC37988, 0xC379A0, "ascii", "aTbg_dest_all_p_stanz"] - - [0xC379A0, 0xC379B8, "ascii", "aBgBg_sevb_all_p_seg"] - - [0xC379B8, 0xC379D0, "ascii", "aTbg_sevb_all_p_stanz"] - - [0xC379D0, 0xC379E4, "ascii", "aBgBg_azt_all_p_seg"] - - [0xC379E4, 0xC379F8, "ascii", "aTbg_azt_all_p_stanz"] - - [0xC379F8, 0xC37A10, "ascii", "aBgBg_pete_all_p_seg"] - - [0xC37A10, 0xC37A28, "ascii", "aTbg_pete_all_p_stanz"] - - [0xC37A28, 0xC37A40, "ascii", "aBgBg_depo_all_p_seg"] - - [0xC37A40, 0xC37A58, "ascii", "aTbg_depo_all_p_stanz"] - - [0xC37A58, 0xC37A6C, "ascii", "aBgBg_ref_all_p_seg"] - - [0xC37A6C, 0xC37A80, "ascii", "aTbg_ref_all_p_stanz"] - - [0xC37A80, 0xC37A98, "ascii", "aBgBg_cryp_all_p_seg"] - - [0xC37A98, 0xC37AB0, "ascii", "aTbg_cryp_all_p_stanz"] - - [0xC37AB0, 0xC37AC4, "ascii", "aBgBg_dam_all_p_seg"] - - [0xC37AC4, 0xC37AD8, "ascii", "aTbg_dam_all_p_stanz"] - - [0xC37AD8, 0xC37AEC, "ascii", "aBgBg_ark_all_p_seg"] - - [0xC37AEC, 0xC37B00, "ascii", "aTbg_ark_all_p_stanz"] - - [0xC37B00, 0xC37B14, "ascii", "aBgBg_run_all_p_seg"] - - [0xC37B14, 0xC37B28, "ascii", "aTbg_run_all_p_stanz"] - - [0xC37B28, 0xC37B40, "ascii", "aBgBg_sevx_all_p_seg"] - - [0xC37B40, 0xC37B58, "ascii", "aTbg_sevx_all_p_stanz"] - - [0xC37B58, 0xC37B6C, "ascii", "aBgBg_jun_all_p_seg"] - - [0xC37B6C, 0xC37B80, "ascii", "aTbg_jun_all_p_stanz"] - - [0xC37B80, 0xC37B98, "ascii", "aBgBg_dish_all_p_seg"] - - [0xC37B98, 0xC37BB0, "ascii", "aTbg_dish_all_p_stanz"] - - [0xC37BB0, 0xC37BC8, "ascii", "aBgBg_cave_all_p_seg"] - - [0xC37BC8, 0xC37BE0, "ascii", "aTbg_cave_all_p_stanz"] - - [0xC37BE0, 0xC37BF4, "ascii", "aBgBg_cat_all_p_seg"] - - [0xC37BF4, 0xC37C08, "ascii", "aTbg_cat_all_p_stanz"] - - [0xC37C08, 0xC37C20, "ascii", "aBgBg_crad_all_p_seg"] - - [0xC37C20, 0xC37C38, "ascii", "aTbg_crad_all_p_stanz"] - - [0xC37C38, 0xC37C4C, "ascii", "aBgBg_sho_all_p_seg"] - - [0xC37C4C, 0xC37C60, "ascii", "aTbg_sho_all_p_stanz"] - - [0xC37C60, 0xC37C78, "ascii", "aBgBg_sevx_all_p_seg_0"] - - [0xC37C78, 0xC37C90, "ascii", "aTbg_sevx_all_p_stanz_0"] - - [0xC37C90, 0xC37CA4, "ascii", "aBgBg_eld_all_p_seg"] - - [0xC37CA4, 0xC37CB8, "ascii", "aTbg_eld_all_p_stanz"] - - [0xC37CB8, 0xC37CCC, "ascii", "aBgBg_ame_all_p_seg"] - - [0xC37CCC, 0xC37CE0, "ascii", "aTbg_ame_all_p_stanz"] - - [0xC37CE0, 0xC37CF4, "ascii", "aBgBg_ame_all_p_seg_0"] - - [0xC37CF4, 0xC37D08, "ascii", "aTbg_ame_all_p_stanz_0"] - - [0xC37D08, 0xC37D1C, "ascii", "aBgBg_lue_all_p_seg"] - - [0xC37D1C, 0xC37D30, "ascii", "aTbg_lue_all_p_stanz"] - - [0xC37D30, 0xC37D44, "ascii", "aBgBg_ame_all_p_seg_1"] - - [0xC37D44, 0xC37D58, "ascii", "aTbg_ame_all_p_stanz_1"] - - [0xC37D58, 0xC37D6C, "ascii", "aBgBg_rit_all_p_seg"] - - [0xC37D6C, 0xC37D80, "ascii", "aTbg_rit_all_p_stanz"] - - [0xC37D80, 0xC37D94, "ascii", "aBgBg_oat_all_p_seg"] - - [0xC37D94, 0xC37DA8, "ascii", "aTbg_oat_all_p_stanz"] - - [0xC37DA8, 0xC37DBC, "ascii", "aBgBg_ear_all_p_seg"] - - [0xC37DBC, 0xC37DD0, "ascii", "aTbg_ear_all_p_stanz"] - - [0xC37DD0, 0xC37DE4, "ascii", "aBgBg_lee_all_p_seg"] - - [0xC37DE4, 0xC37DF8, "ascii", "aTbg_lee_all_p_stanz"] - - [0xC37DF8, 0xC37E0C, "ascii", "aBgBg_lip_all_p_seg"] - - [0xC37E0C, 0xC37E20, "ascii", "aTbg_lip_all_p_stanz"] - - [0xC37E20, 0xC37E34, "ascii", "aBgBg_len_all_p_seg"] - - [0xC37E34, 0xC37E48, "ascii", "aTbg_len_all_p_stanz"] - - [0xC37E48, 0xC37E5C, "ascii", "aBgBg_wax_all_p_seg"] - - [0xC37E5C, 0xC37E70, "ascii", "aTbg_wax_all_p_stanz"] - - [0xC37E70, 0xC37E84, "ascii", "aBgBg_pam_all_p_seg"] - - [0xC37E84, 0xC37E98, "ascii", "aTbg_pam_all_p_stanz"] - - [0xC37E98, 0xC37EA4, "ascii", "aBgBgx_seg"] - - [0xC37EA4, 0xC37EAC, "ascii", "aTbgxz"] - - [0xC37EAC, 0xC37EB8, "ascii", "aBg_c_debug"] - - [0xC37EB8, 0xC37EC0, "ascii", "aPortD"] - - [0xC37EC0, 0xC37EC8, "ascii", "aRoomD"] - - [0xC37EC8, 0xC37EEC, "ptr", "jpt_700E883C"] - - [0xC37EEC, 0xC37EF0, "ptr", "D_80058C7C"] - - [0xC37EF0, 0xC37F24, "ptr", "jpt_700EC3D8"] - - [0xC37F24, 0xC37FC4, "ptr", "jpt_700EC3F8"] - - [0xC37FC4, 0xC37FC8, "ptr", "D_80058D54"] - - [0xC37FC8, 0xC37FCC, "ptr", "D_80058D58"] - - [0xC37FCC, 0xC37FD0, "ptr", "D_80058D5C"] - - [0xC37FD0, 0xC37FE0, "ptr", "D_80058D60"] - - [0xC37FE0, 0xC37FE4, "ptr", "default_near_fog"] - - [0xC37FE4, 0xC37FF0, "ptr", "D_80058D74"] - - [0xC37FF0, 0xC38010, "ptr", "jpt_700EF63C"] - - [0xC38010, 0xC38014, "ascii", "aBgBg_NULLall_p_seg_0"] - - [0xC38014, 0xC38028, "ascii", "aBgBg_sev_all_p_seg_0"] - - [0xC38028, 0xC38040, "ascii", "aBgBg_silo_all_p_seg_0"] - - [0xC38040, 0xC38058, "ascii", "aBgBg_stat_all_p_seg_0"] - - [0xC38058, 0xC38070, "ascii", "aBgBg_arec_all_p_seg_0"] - - [0xC38070, 0xC38088, "ascii", "aBgBg_arch_all_p_seg_0"] - - [0xC38088, 0xC3809C, "ascii", "aBgBg_tra_all_p_seg_0"] - - [0xC3809C, 0xC380B4, "ascii", "aBgBg_dest_all_p_seg_0"] - - [0xC380B4, 0xC380CC, "ascii", "aBgBg_sevb_all_p_seg_0"] - - [0xC380CC, 0xC380E0, "ascii", "aBgBg_azt_all_p_seg_0"] - - [0xC380E0, 0xC380F8, "ascii", "aBgBg_pete_all_p_seg_0"] - - [0xC380F8, 0xC38110, "ascii", "aBgBg_depo_all_p_seg_0"] - - [0xC38110, 0xC38124, "ascii", "aBgBg_ref_all_p_seg_0"] - - [0xC38124, 0xC3813C, "ascii", "aBgBg_cryp_all_p_seg_0"] - - [0xC3813C, 0xC38150, "ascii", "aBgBg_dam_all_p_seg_0"] - - [0xC38150, 0xC38164, "ascii", "aBgBg_ark_all_p_seg_0"] - - [0xC38164, 0xC38178, "ascii", "aBgBg_run_all_p_seg_0"] - - [0xC38178, 0xC38190, "ascii", "aBgBg_sevx_all_p_seg_1"] - - [0xC38190, 0xC381A4, "ascii", "aBgBg_jun_all_p_seg_0"] - - [0xC381A4, 0xC381BC, "ascii", "aBgBg_dish_all_p_seg_0"] - - [0xC381BC, 0xC381D4, "ascii", "aBgBg_cave_all_p_seg_0"] - - [0xC381D4, 0xC381E8, "ascii", "aBgBg_cat_all_p_seg_0"] - - [0xC381E8, 0xC38200, "ascii", "aBgBg_crad_all_p_seg_0"] - - [0xC38200, 0xC38214, "ascii", "aBgBg_sho_all_p_seg_0"] - - [0xC38214, 0xC38228, "ascii", "aBgBg_eld_all_p_seg_0"] - - [0xC38228, 0xC3823C, "ascii", "aBgBg_imp_all_p_seg"] - - [0xC3823C, 0xC38250, "ascii", "aBgBg_ash_all_p_seg"] - - [0xC38250, 0xC38264, "ascii", "aBgBg_lue_all_p_seg_0"] - - [0xC38264, 0xC38278, "ascii", "aBgBg_ame_all_p_seg_2"] - - [0xC38278, 0xC3828C, "ascii", "aBgBg_rit_all_p_seg_0"] - - [0xC3828C, 0xC382A0, "ascii", "aBgBg_oat_all_p_seg_0"] - - [0xC382A0, 0xC382B4, "ascii", "aBgBg_ear_all_p_seg_0"] - - [0xC382B4, 0xC382C8, "ascii", "aBgBg_lee_all_p_seg_0"] - - [0xC382C8, 0xC382DC, "ascii", "aBgBg_lip_all_p_seg_0"] - - [0xC382DC, 0xC382F0, "ascii", "aBgBg_len_all_p_seg_0"] - - [0xC382F0, 0xC38304, "ascii", "aBgBg_wax_all_p_seg_0"] - - [0xC38304, 0xC38318, "ascii", "aBgBg_pam_all_p_seg_0"] - - [0xC38318, 0xC38328, "ascii", "aCarmourguardz_0"] - - [0xC38328, 0xC38338, "ascii", "aCbaronsamediz_0"] - - [0xC38338, 0xC38348, "ascii", "aCbluecamguardz_0"] - - [0xC38348, 0xC38354, "ascii", "aCbluemanz_0"] - - [0xC38354, 0xC38360, "ascii", "aCbluewomanz_0"] - - [0xC38360, 0xC38370, "ascii", "aCboilerbondz_0"] - - [0xC38370, 0xC38380, "ascii", "aCboilertrevz_0"] - - [0xC38380, 0xC38388, "ascii", "aCborisz_0"] - - [0xC38388, 0xC38394, "ascii", "aCcamguardz_0"] - - [0xC38394, 0xC383A0, "ascii", "aCcardimanz_0"] - - [0xC383A0, 0xC383AC, "ascii", "aCcheckmanz_0"] - - [0xC383AC, 0xC383B8, "ascii", "aCcommguardz_0"] - - [0xC383B8, 0xC383C4, "ascii", "aCdjbondz_0"] - - [0xC383C4, 0xC383D4, "ascii", "aCfattechwomanz_1"] - - [0xC383D4, 0xC383E4, "ascii", "aCgreatguard2z_0"] - - [0xC383E4, 0xC383F4, "ascii", "aCgreatguardz_0"] - - [0xC383F4, 0xC38400, "ascii", "aCgreyguardz_0"] - - [0xC38400, 0xC3840C, "ascii", "aCgreymanz_0"] - - [0xC3840C, 0xC38418, "ascii", "aCheadalanz_0"] - - [0xC38418, 0xC38420, "ascii", "aCheadbz_0"] - - [0xC38420, 0xC38430, "ascii", "aCheadbalaclavaz_0"] - - [0xC38430, 0xC3843C, "ascii", "aCheadbikez_0"] - - [0xC3843C, 0xC3844C, "ascii", "aCheadbrosnanz_0"] - - [0xC3844C, 0xC38460, "ascii", "aCheadbrosnanboilerz_0"] - - [0xC38460, 0xC38474, "ascii", "aCheadbrosnansnowz_0"] - - [0xC38474, 0xC38488, "ascii", "aCheadbrosnansuitz_0"] - - [0xC38488, 0xC3849C, "ascii", "aCheadbrosnantimberz_0"] - - [0xC3849C, 0xC384A8, "ascii", "aCheadchrisz_0"] - - [0xC384A8, 0xC384B4, "ascii", "aCheaddavez_0"] - - [0xC384B4, 0xC384C0, "ascii", "aCheaddesz_0"] - - [0xC384C0, 0xC384D0, "ascii", "aCheadduncanz_0"] - - [0xC384D0, 0xC384E0, "ascii", "aCheaddwaynez_0"] - - [0xC384E0, 0xC384F0, "ascii", "aCheadgrahamz_0"] - - [0xC384F0, 0xC384FC, "ascii", "aCheadgrantz_0"] - - [0xC384FC, 0xC38508, "ascii", "aCheadjimz_0"] - - [0xC38508, 0xC38514, "ascii", "aCheadjoe2z_0"] - - [0xC38514, 0xC38520, "ascii", "aCheadjoez_0"] - - [0xC38520, 0xC3852C, "ascii", "aCheadjoelz_0"] - - [0xC3852C, 0xC38538, "ascii", "aCheadkarlz_0"] - - [0xC38538, 0xC38544, "ascii", "aCheadkenz_0"] - - [0xC38544, 0xC38550, "ascii", "aCheadleez_0"] - - [0xC38550, 0xC3855C, "ascii", "aCheadmandyz_0"] - - [0xC3855C, 0xC3856C, "ascii", "aCheadmarionz_0"] - - [0xC3856C, 0xC38578, "ascii", "aCheadmarkz_0"] - - [0xC38578, 0xC38588, "ascii", "aCheadmartinz_0"] - - [0xC38588, 0xC38598, "ascii", "aCheadmishkinz_0"] - - [0xC38598, 0xC385A4, "ascii", "aCheadneilz_0"] - - [0xC385A4, 0xC385B0, "ascii", "aCheadpetez_0"] - - [0xC385B0, 0xC385BC, "ascii", "aCheadrobinz_0"] - - [0xC385BC, 0xC385C8, "ascii", "aCheadsallyz_0"] - - [0xC385C8, 0xC385D4, "ascii", "aCheadscottz_0"] - - [0xC385D4, 0xC385E0, "ascii", "aCheadshaunz_0"] - - [0xC385E0, 0xC385F0, "ascii", "aCheadsteveez_0"] - - [0xC385F0, 0xC38600, "ascii", "aCheadstevehz_0"] - - [0xC38600, 0xC38610, "ascii", "aCheadvivienz_0"] - - [0xC38610, 0xC38618, "ascii", "aCjawsz_0"] - - [0xC38618, 0xC38624, "ascii", "aCjeanwomanz_0"] - - [0xC38624, 0xC38630, "ascii", "aCmaydayz_0"] - - [0xC38630, 0xC38640, "ascii", "aCmoonfemalez_0"] - - [0xC38640, 0xC3864C, "ascii", "aCmoonguardz_0"] - - [0xC3864C, 0xC38658, "ascii", "aCnatalyaz_0"] - - [0xC38658, 0xC38664, "ascii", "aCnavyguardz_0"] - - [0xC38664, 0xC38670, "ascii", "aCoddjobz_0"] - - [0xC38670, 0xC38680, "ascii", "aColiveguardz_0"] - - [0xC38680, 0xC3868C, "ascii", "aCorumovz_0"] - - [0xC3868C, 0xC38694, "ascii", "aCpilotz_0"] - - [0xC38694, 0xC386A0, "ascii", "aCredmanz_0"] - - [0xC386A0, 0xC386AC, "ascii", "aCrusguardz_0"] - - [0xC386AC, 0xC386B8, "ascii", "aCsnowbondz_0"] - - [0xC386B8, 0xC386C4, "ascii", "aCsnowguardz_0"] - - [0xC386C4, 0xC386D0, "ascii", "aCspicebondz_0"] - - [0xC386D0, 0xC386E0, "ascii", "aCsuit_lf_handz_1"] - - [0xC386E0, 0xC386EC, "ascii", "aCsuitbondz_0"] - - [0xC386EC, 0xC386F8, "ascii", "aCtechmanz_0"] - - [0xC386F8, 0xC38704, "ascii", "aCtechwomanz_0"] - - [0xC38704, 0xC38714, "ascii", "aCtimberbondz_0"] - - [0xC38714, 0xC38720, "ascii", "aCtrevelyanz_0"] - - [0xC38720, 0xC3872C, "ascii", "aCtrevguardz_0"] - - [0xC3872C, 0xC38738, "ascii", "aCvalentinz_0"] - - [0xC38738, 0xC38740, "ascii", "aCxeniaz_0"] - - [0xC38740, 0xC38748, "ascii", "aGak47z_0"] - - [0xC38748, 0xC38754, "ascii", "aGaudiotapez_0"] - - [0xC38754, 0xC38760, "ascii", "aGautoshotz_0"] - - [0xC38760, 0xC3876C, "ascii", "aGblackboxz_0"] - - [0xC3876C, 0xC3877C, "ascii", "aGblueprintsz_0"] - - [0xC3877C, 0xC38788, "ascii", "aGbombcasez_0"] - - [0xC38788, 0xC38798, "ascii", "aGbombdefuserz_0"] - - [0xC38798, 0xC387A4, "ascii", "aGbriefcasez_0"] - - [0xC387A4, 0xC387AC, "ascii", "aGbugz_0"] - - [0xC387AC, 0xC387BC, "ascii", "aGbugdetectorz_0"] - - [0xC387BC, 0xC387C8, "ascii", "aGbungeez_0"] - - [0xC387C8, 0xC387D4, "ascii", "aGcameraz_0"] - - [0xC387D4, 0xC387E0, "ascii", "aGcartbluez_0"] - - [0xC387E0, 0xC387EC, "ascii", "aGcartridgez_0"] - - [0xC387EC, 0xC387F8, "ascii", "aGcartriflez_0"] - - [0xC387F8, 0xC38804, "ascii", "aGcartshellz_0"] - - [0xC38804, 0xC38814, "ascii", "aGcircuitboardz_0"] - - [0xC38814, 0xC38820, "ascii", "aGclipboardz_0"] - - [0xC38820, 0xC38830, "ascii", "aGcreditcardz_0"] - - [0xC38830, 0xC38840, "ascii", "aGdarkglassesz_0"] - - [0xC38840, 0xC3884C, "ascii", "aGdatathiefz_0"] - - [0xC3884C, 0xC38858, "ascii", "aGdattapez_0"] - - [0xC38858, 0xC38868, "ascii", "aGdoordecoderz_0"] - - [0xC38868, 0xC38878, "ascii", "aGdoorexploderz_0"] - - [0xC38878, 0xC38888, "ascii", "aGdossierredz_0"] - - [0xC38888, 0xC38894, "ascii", "aGdynamitez"] - - [0xC38894, 0xC388A8, "ascii", "aGexplosivefloppyz_0"] - - [0xC388A8, 0xC388B8, "ascii", "aGexplosivepenz"] - - [0xC388B8, 0xC388C8, "ascii", "aGextinguisherz"] - - [0xC388C8, 0xC388D4, "ascii", "aGfingergunz"] - - [0xC388D4, 0xC388DC, "ascii", "aGfistz_0"] - - [0xC388DC, 0xC388EC, "ascii", "aGflarepistolz_0"] - - [0xC388EC, 0xC388F4, "ascii", "aGfnp90z_0"] - - [0xC388F4, 0xC38904, "ascii", "aGgaskeyringz_0"] - - [0xC38904, 0xC38910, "ascii", "aGgoldbarz_0"] - - [0xC38910, 0xC38920, "ascii", "aGgoldeneyekeyz_0"] - - [0xC38920, 0xC3892C, "ascii", "aGgoldengunz_0"] - - [0xC3892C, 0xC38938, "ascii", "aGgoldwppkz_0"] - - [0xC38938, 0xC38944, "ascii", "aGgrenadez_0"] - - [0xC38944, 0xC38954, "ascii", "aGgrenadelaunchz_0"] - - [0xC38954, 0xC38960, "ascii", "aGheroinz_0"] - - [0xC38960, 0xC3896C, "ascii", "aGjoypadz_0"] - - [0xC3896C, 0xC38980, "ascii", "aGkeyanalysercasez_0"] - - [0xC38980, 0xC3898C, "ascii", "aGkeyboltz_0"] - - [0xC3898C, 0xC38998, "ascii", "aGkeycardz_0"] - - [0xC38998, 0xC389A4, "ascii", "aGkeyyalez_0"] - - [0xC389A4, 0xC389AC, "ascii", "aGknifez_0"] - - [0xC389AC, 0xC389B4, "ascii", "aGlaserz_0"] - - [0xC389B4, 0xC389C0, "ascii", "aGlectrez_0"] - - [0xC389C0, 0xC389D0, "ascii", "aGlockexploderz_0"] - - [0xC389D0, 0xC389D8, "ascii", "aGm16z_0"] - - [0xC389D8, 0xC389E0, "ascii", "aGmapz_0"] - - [0xC389E0, 0xC389F0, "ascii", "aGmicrocameraz_0"] - - [0xC389F0, 0xC389FC, "ascii", "aGmicrocodez_0"] - - [0xC389FC, 0xC38A08, "ascii", "aGmicrofilmz_0"] - - [0xC38A08, 0xC38A10, "ascii", "aGmoneyz_0"] - - [0xC38A10, 0xC38A18, "ascii", "aGmp5kz_0"] - - [0xC38A18, 0xC38A24, "ascii", "aGmp5ksilz_0"] - - [0xC38A24, 0xC38A30, "ascii", "aGpitongunz_0"] - - [0xC38A30, 0xC38A38, "ascii", "aGplansz_0"] - - [0xC38A38, 0xC38A44, "ascii", "aGplastiquez_0"] - - [0xC38A44, 0xC38A58, "ascii", "aGpolarizedglassesz_0"] - - [0xC38A58, 0xC38A68, "ascii", "aGproximityminez_0"] - - [0xC38A68, 0xC38A78, "ascii", "aGremoteminez_0"] - - [0xC38A78, 0xC38A88, "ascii", "aGrocketlaunchz_0"] - - [0xC38A88, 0xC38A90, "ascii", "aGrugerz_0"] - - [0xC38A90, 0xC38AA4, "ascii", "aGsafecrackercasez_0"] - - [0xC38AA4, 0xC38AB0, "ascii", "aGshotgunz_0"] - - [0xC38AB0, 0xC38AC0, "ascii", "aGsilverwppkz_0"] - - [0xC38AC0, 0xC38ACC, "ascii", "aGskorpionz_0"] - - [0xC38ACC, 0xC38ADC, "ascii", "aGsniperriflez_0"] - - [0xC38ADC, 0xC38AE8, "ascii", "aGspectrez_0"] - - [0xC38AE8, 0xC38AF4, "ascii", "aGspooltapez_0"] - - [0xC38AF4, 0xC38B00, "ascii", "aGspyfilez_0"] - - [0xC38B00, 0xC38B0C, "ascii", "aGstafflistz_0"] - - [0xC38B0C, 0xC38B14, "ascii", "aGtaserz_0"] - - [0xC38B14, 0xC38B24, "ascii", "aGthrowknifez_0"] - - [0xC38B24, 0xC38B30, "ascii", "aGtimedminez_0"] - - [0xC38B30, 0xC38B3C, "ascii", "aGtriggerz_0"] - - [0xC38B3C, 0xC38B44, "ascii", "aGtt33z_0"] - - [0xC38B44, 0xC38B4C, "ascii", "aGuziz_0"] - - [0xC38B4C, 0xC38B58, "ascii", "aGvideotapez_0"] - - [0xC38B58, 0xC38B6C, "ascii", "aGwatchcommunicatorz_0"] - - [0xC38B6C, 0xC38B84, "ascii", "aGwatchgeigercounterz_0"] - - [0xC38B84, 0xC38B98, "ascii", "aGwatchidentifierz_0"] - - [0xC38B98, 0xC38BA8, "ascii", "aGwatchlaserz_0"] - - [0xC38BA8, 0xC38BC0, "ascii", "aGwatchmagnetattractz_0"] - - [0xC38BC0, 0xC38BD4, "ascii", "aGwatchmagnetrepelz_0"] - - [0xC38BD4, 0xC38BE4, "ascii", "aGweaponcasez_0"] - - [0xC38BE4, 0xC38BEC, "ascii", "aGwppkz_0"] - - [0xC38BEC, 0xC38BF8, "ascii", "aGwppksilz_0"] - - [0xC38BF8, 0xC38C04, "ascii", "aGwristdartz"] - - [0xC38C04, 0xC38C0C, "ascii", "aPicbmz_0"] - - [0xC38C0C, 0xC38C18, "ascii", "aPicbm_nosez_0"] - - [0xC38C18, 0xC38C24, "ascii", "aPak47magz_0"] - - [0xC38C24, 0xC38C30, "ascii", "aPalarm1z_0"] - - [0xC38C30, 0xC38C3C, "ascii", "aPalarm2z_0"] - - [0xC38C3C, 0xC38C4C, "ascii", "aPammo_crate1z_0"] - - [0xC38C4C, 0xC38C5C, "ascii", "aPammo_crate2z_0"] - - [0xC38C5C, 0xC38C6C, "ascii", "aPammo_crate3z_0"] - - [0xC38C6C, 0xC38C7C, "ascii", "aPammo_crate4z_0"] - - [0xC38C7C, 0xC38C8C, "ascii", "aPammo_crate5z_0"] - - [0xC38C8C, 0xC38C94, "ascii", "aPapcz_0"] - - [0xC38C94, 0xC38CA4, "ascii", "aParchsecdoor1z_0"] - - [0xC38CA4, 0xC38CB4, "ascii", "aParchsecdoor2z_0"] - - [0xC38CB4, 0xC38CBC, "ascii", "aParticz_0"] - - [0xC38CBC, 0xC38CCC, "ascii", "aPartictrailerz_0"] - - [0xC38CCC, 0xC38CD8, "ascii", "aPbarricadez_0"] - - [0xC38CD8, 0xC38CE0, "ascii", "aPbin1z_0"] - - [0xC38CE0, 0xC38CEC, "ascii", "aPblotter1z_0"] - - [0xC38CEC, 0xC38CFC, "ascii", "aPbodyarmourz_0"] - - [0xC38CFC, 0xC38D10, "ascii", "aPbodyarmourvestz_0"] - - [0xC38D10, 0xC38D1C, "ascii", "aPbollardz_0"] - - [0xC38D1C, 0xC38D24, "ascii", "aPbombz_0"] - - [0xC38D24, 0xC38D2C, "ascii", "aPbook1z_0"] - - [0xC38D2C, 0xC38D3C, "ascii", "aPbookshelf1z_0"] - - [0xC38D3C, 0xC38D4C, "ascii", "aPborg_cratez_0"] - - [0xC38D4C, 0xC38D5C, "ascii", "aPboxcartridgesz_0"] - - [0xC38D5C, 0xC38D68, "ascii", "aPboxes2x4z_0"] - - [0xC38D68, 0xC38D74, "ascii", "aPboxes3x4z_0"] - - [0xC38D74, 0xC38D80, "ascii", "aPboxes4x4z_0"] - - [0xC38D80, 0xC38D8C, "ascii", "aPbrakeunitz_0"] - - [0xC38D8C, 0xC38DA0, "ascii", "aPbridge_console1az_0"] - - [0xC38DA0, 0xC38DB4, "ascii", "aPbridge_console1bz_0"] - - [0xC38DB4, 0xC38DC8, "ascii", "aPbridge_console2az_0"] - - [0xC38DC8, 0xC38DDC, "ascii", "aPbridge_console2bz_0"] - - [0xC38DDC, 0xC38DF0, "ascii", "aPbridge_console3az_0"] - - [0xC38DF0, 0xC38E04, "ascii", "aPbridge_console3bz_0"] - - [0xC38E04, 0xC38E10, "ascii", "aPcarbmwz_0"] - - [0xC38E10, 0xC38E1C, "ascii", "aPcard_box1z_0"] - - [0xC38E1C, 0xC38E28, "ascii", "aPcard_box2z_0"] - - [0xC38E28, 0xC38E34, "ascii", "aPcard_box3z_0"] - - [0xC38E34, 0xC38E44, "ascii", "aPcard_box4_lgz_0"] - - [0xC38E44, 0xC38E54, "ascii", "aPcard_box5_lgz_0"] - - [0xC38E54, 0xC38E64, "ascii", "aPcard_box6_lgz_0"] - - [0xC38E64, 0xC38E70, "ascii", "aPcarescortz_0"] - - [0xC38E70, 0xC38E7C, "ascii", "aPcargolfz_0"] - - [0xC38E7C, 0xC38E88, "ascii", "aPcarweirdz_0"] - - [0xC38E88, 0xC38E94, "ascii", "aPcarzilz_0"] - - [0xC38E94, 0xC38E9C, "ascii", "aPcctvz_0"] - - [0xC38E9C, 0xC38EAC, "ascii", "aPchraudiotapez_0"] - - [0xC38EAC, 0xC38EBC, "ascii", "aPchrautoshotz_0"] - - [0xC38EBC, 0xC38ECC, "ascii", "aPchrblackboxz_0"] - - [0xC38ECC, 0xC38EDC, "ascii", "aPchrblueprintsz_0"] - - [0xC38EDC, 0xC38EEC, "ascii", "aPchrbombcasez_0"] - - [0xC38EEC, 0xC38F00, "ascii", "aPchrbombdefuserz_0"] - - [0xC38F00, 0xC38F10, "ascii", "aPchrbriefcasez_0"] - - [0xC38F10, 0xC38F1C, "ascii", "aPchrbugz_0"] - - [0xC38F1C, 0xC38F30, "ascii", "aPchrbugdetectorz_0"] - - [0xC38F30, 0xC38F3C, "ascii", "aPchrbungeez_0"] - - [0xC38F3C, 0xC38F48, "ascii", "aPchrcameraz_0"] - - [0xC38F48, 0xC38F5C, "ascii", "aPchrcircuitboardz_0"] - - [0xC38F5C, 0xC38F6C, "ascii", "aPchrclipboardz_0"] - - [0xC38F6C, 0xC38F7C, "ascii", "aPchrcreditcardz_0"] - - [0xC38F7C, 0xC38F90, "ascii", "aPchrdarkglassesz_0"] - - [0xC38F90, 0xC38FA0, "ascii", "aPchrdatathiefz_0"] - - [0xC38FA0, 0xC38FB0, "ascii", "aPchrdattapez_0"] - - [0xC38FB0, 0xC38FC4, "ascii", "aPchrdoordecoderz_0"] - - [0xC38FC4, 0xC38FD8, "ascii", "aPchrdoorexploderz_0"] - - [0xC38FD8, 0xC38FE8, "ascii", "aPchrdossierredz_0"] - - [0xC38FE8, 0xC38FF8, "ascii", "aPchrdynamitez_0"] - - [0xC38FF8, 0xC3900C, "ascii", "aPchrexplosivepenz_0"] - - [0xC3900C, 0xC39020, "ascii", "aPchrextinguisherz_0"] - - [0xC39020, 0xC39030, "ascii", "aPchrfingergunz_0"] - - [0xC39030, 0xC39044, "ascii", "aPchrflarepistolz_0"] - - [0xC39044, 0xC39050, "ascii", "aPchrfnp90z_0"] - - [0xC39050, 0xC39060, "ascii", "aPchrgaskeyringz_0"] - - [0xC39060, 0xC39070, "ascii", "aPchrgoldbarz_0"] - - [0xC39070, 0xC3907C, "ascii", "aPchrgoldenz_0"] - - [0xC3907C, 0xC39090, "ascii", "aPchrgoldeneyekeyz_0"] - - [0xC39090, 0xC390A0, "ascii", "aPchrgoldwppkz_0"] - - [0xC390A0, 0xC390B0, "ascii", "aPchrgrenadez_0"] - - [0xC390B0, 0xC390C4, "ascii", "aPchrgrenadelaunchz_0"] - - [0xC390C4, 0xC390D8, "ascii", "aPchrgrenaderoundz_0"] - - [0xC390D8, 0xC390E4, "ascii", "aPchrheroinz_0"] - - [0xC390E4, 0xC390F0, "ascii", "aPchrkalashz_0"] - - [0xC390F0, 0xC39108, "ascii", "aPchrkeyanalysercasez_0"] - - [0xC39108, 0xC39118, "ascii", "aPchrkeyboltz_0"] - - [0xC39118, 0xC39128, "ascii", "aPchrkeyyalez_0"] - - [0xC39128, 0xC39134, "ascii", "aPchrknifez_0"] - - [0xC39134, 0xC39140, "ascii", "aPchrlaserz_0"] - - [0xC39140, 0xC3914C, "ascii", "aPchrlectrez_0"] - - [0xC3914C, 0xC39160, "ascii", "aPchrlockexploderz_0"] - - [0xC39160, 0xC3916C, "ascii", "aPchrm16z_0"] - - [0xC3916C, 0xC39178, "ascii", "aPchrmapz_0"] - - [0xC39178, 0xC3918C, "ascii", "aPchrmicrocameraz_0"] - - [0xC3918C, 0xC3919C, "ascii", "aPchrmicrocodez_0"] - - [0xC3919C, 0xC391AC, "ascii", "aPchrmicrofilmz_0"] - - [0xC391AC, 0xC391B8, "ascii", "aPchrmoneyz_0"] - - [0xC391B8, 0xC391C4, "ascii", "aPchrmp5kz_0"] - - [0xC391C4, 0xC391D4, "ascii", "aPchrmp5ksilz_0"] - - [0xC391D4, 0xC391E4, "ascii", "aPchrpitongunz_0"] - - [0xC391E4, 0xC391F0, "ascii", "aPchrplansz_0"] - - [0xC391F0, 0xC39200, "ascii", "aPchrplastiquez_0"] - - [0xC39200, 0xC39218, "ascii", "aPchrpolarizedglassesz_0"] - - [0xC39218, 0xC3922C, "ascii", "aPchrproximityminez_0"] - - [0xC3922C, 0xC3923C, "ascii", "aPchrremoteminez_0"] - - [0xC3923C, 0xC39248, "ascii", "aPchrrocketz_0"] - - [0xC39248, 0xC3925C, "ascii", "aPchrrocketlaunchz_0"] - - [0xC3925C, 0xC39268, "ascii", "aPchrrugerz_0"] - - [0xC39268, 0xC39280, "ascii", "aPchrsafecrackercasez_0"] - - [0xC39280, 0xC39290, "ascii", "aPchrshotgunz_0"] - - [0xC39290, 0xC392A0, "ascii", "aPchrsilverwppkz_0"] - - [0xC392A0, 0xC392B0, "ascii", "aPchrskorpionz_0"] - - [0xC392B0, 0xC392C4, "ascii", "aPchrsniperriflez_0"] - - [0xC392C4, 0xC392D4, "ascii", "aPchrspectrez_0"] - - [0xC392D4, 0xC392E4, "ascii", "aPchrspooltapez_0"] - - [0xC392E4, 0xC392F4, "ascii", "aPchrspyfilez_0"] - - [0xC392F4, 0xC39304, "ascii", "aPchrstafflistz_0"] - - [0xC39304, 0xC39314, "ascii", "aPchrtesttubez_0"] - - [0xC39314, 0xC39324, "ascii", "aPchrthrowknifez_0"] - - [0xC39324, 0xC39334, "ascii", "aPchrtimedminez_0"] - - [0xC39334, 0xC39340, "ascii", "aPchrtt33z_0"] - - [0xC39340, 0xC3934C, "ascii", "aPchruziz_0"] - - [0xC3934C, 0xC3935C, "ascii", "aPchrvideotapez_0"] - - [0xC3935C, 0xC3936C, "ascii", "aPchrweaponcasez_0"] - - [0xC3936C, 0xC39378, "ascii", "aPchrwppkz_0"] - - [0xC39378, 0xC39388, "ascii", "aPchrwppksilz_0"] - - [0xC39388, 0xC39398, "ascii", "aPchrwristdartz_0"] - - [0xC39398, 0xC393A4, "ascii", "aPconsole1z_0"] - - [0xC393A4, 0xC393B0, "ascii", "aPconsole2z_0"] - - [0xC393B0, 0xC393BC, "ascii", "aPconsole3z_0"] - - [0xC393BC, 0xC393CC, "ascii", "aPconsole_sev2az_0"] - - [0xC393CC, 0xC393DC, "ascii", "aPconsole_sev2bz_0"] - - [0xC393DC, 0xC393EC, "ascii", "aPconsole_sev2cz_0"] - - [0xC393EC, 0xC393FC, "ascii", "aPconsole_sev2dz_0"] - - [0xC393FC, 0xC39410, "ascii", "aPconsole_sev_geaz_0"] - - [0xC39410, 0xC39424, "ascii", "aPconsole_sev_gebz_0"] - - [0xC39424, 0xC39434, "ascii", "aPconsole_sevaz_0"] - - [0xC39434, 0xC39444, "ascii", "aPconsole_sevbz_0"] - - [0xC39444, 0xC39454, "ascii", "aPconsole_sevcz_0"] - - [0xC39454, 0xC39464, "ascii", "aPconsole_sevdz_0"] - - [0xC39464, 0xC39474, "ascii", "aPcryptdoor1az_0"] - - [0xC39474, 0xC39484, "ascii", "aPcryptdoor1bz_0"] - - [0xC39484, 0xC39494, "ascii", "aPcryptdoor2az_0"] - - [0xC39494, 0xC394A4, "ascii", "aPcryptdoor2bz_0"] - - [0xC394A4, 0xC394B4, "ascii", "aPcryptdoor3z_0"] - - [0xC394B4, 0xC394C4, "ascii", "aPcryptdoor4z_0"] - - [0xC394C4, 0xC394D4, "ascii", "aPdamchaindoorz_0"] - - [0xC394D4, 0xC394E4, "ascii", "aPdamgatedoorz_0"] - - [0xC394E4, 0xC394F4, "ascii", "aPdamtundoorz_0"] - - [0xC394F4, 0xC39508, "ascii", "aPdepot_door_steelz_0"] - - [0xC39508, 0xC3951C, "ascii", "aPdepot_gate_entryz_0"] - - [0xC3951C, 0xC39524, "ascii", "aPdesk1z_0"] - - [0xC39524, 0xC3952C, "ascii", "aPdesk2z_0"] - - [0xC3952C, 0xC3953C, "ascii", "aPdesk_arecibo1z_0"] - - [0xC3953C, 0xC3954C, "ascii", "aPdesk_lamp2z_0"] - - [0xC3954C, 0xC3955C, "ascii", "aPdest_enginez_0"] - - [0xC3955C, 0xC3956C, "ascii", "aPdest_exocetz_0"] - - [0xC3956C, 0xC39578, "ascii", "aPdest_gunz_0"] - - [0xC39578, 0xC39588, "ascii", "aPdest_harpoonz_0"] - - [0xC39588, 0xC39598, "ascii", "aPdest_seawolfz_0"] - - [0xC39598, 0xC395A8, "ascii", "aPdisc_readerz_0"] - - [0xC395A8, 0xC395B8, "ascii", "aPdisk_drive1z_0"] - - [0xC395B8, 0xC395CC, "ascii", "aPdoor_azt_chairz_0"] - - [0xC395CC, 0xC395DC, "ascii", "aPdoor_azt_deskz_0"] - - [0xC395DC, 0xC395F0, "ascii", "aPdoor_azt_desk_topz_0"] - - [0xC395F0, 0xC39600, "ascii", "aPdoor_aztecz_0"] - - [0xC39600, 0xC39610, "ascii", "aPdoor_dest1z_0"] - - [0xC39610, 0xC39620, "ascii", "aPdoor_dest2z_0"] - - [0xC39620, 0xC39630, "ascii", "aPdoor_eyelidz_0"] - - [0xC39630, 0xC3963C, "ascii", "aPdoor_irisz_0"] - - [0xC3963C, 0xC39648, "ascii", "aPdoor_mfz_0"] - - [0xC39648, 0xC39658, "ascii", "aPdoor_roller1z_0"] - - [0xC39658, 0xC39668, "ascii", "aPdoor_roller2z_0"] - - [0xC39668, 0xC39678, "ascii", "aPdoor_roller3z_0"] - - [0xC39678, 0xC39688, "ascii", "aPdoor_roller4z_0"] - - [0xC39688, 0xC3969C, "ascii", "aPdoor_rollertrainz_0"] - - [0xC3969C, 0xC396AC, "ascii", "aPdoor_st_arec1z_0"] - - [0xC396AC, 0xC396BC, "ascii", "aPdoor_st_arec2z_0"] - - [0xC396BC, 0xC396C8, "ascii", "aPdoor_winz_0"] - - [0xC396C8, 0xC396D8, "ascii", "aPdoorconsolez_0"] - - [0xC396D8, 0xC396E4, "ascii", "aPdoorpanelz_0"] - - [0xC396E4, 0xC396F4, "ascii", "aPdoorprison1z_0"] - - [0xC396F4, 0xC39704, "ascii", "aPdoorstatgatez_0"] - - [0xC39704, 0xC39714, "ascii", "aPexplosionbitz_0"] - - [0xC39714, 0xC39728, "ascii", "aPfiling_cabinet1z_0"] - - [0xC39728, 0xC39730, "ascii", "aPflagz_0"] - - [0xC39730, 0xC3973C, "ascii", "aPfloppyz_0"] - - [0xC3973C, 0xC39748, "ascii", "aPfnp90magz_0"] - - [0xC39748, 0xC39760, "ascii", "aPgas_plant_met1_do1z_0"] - - [0xC39760, 0xC39774, "ascii", "aPgas_plant_sw2_do1z_0"] - - [0xC39774, 0xC39788, "ascii", "aPgas_plant_sw3_do1z_0"] - - [0xC39788, 0xC3979C, "ascii", "aPgas_plant_sw4_do1z_0"] - - [0xC3979C, 0xC397B0, "ascii", "aPgas_plant_sw_do1z_0"] - - [0xC397B0, 0xC397C4, "ascii", "aPgas_plant_wc_cub1z_0"] - - [0xC397C4, 0xC397D0, "ascii", "aPgasbarrelz_0"] - - [0xC397D0, 0xC397E0, "ascii", "aPgasbarrelsz_0"] - - [0xC397E0, 0xC397F8, "ascii", "aPgasplant_clear_doorz_0"] - - [0xC397F8, 0xC39804, "ascii", "aPgastankz_0"] - - [0xC39804, 0xC39814, "ascii", "aPglassware1z_0"] - - [0xC39814, 0xC39824, "ascii", "aPglassware2z_0"] - - [0xC39824, 0xC39834, "ascii", "aPglassware3z_0"] - - [0xC39834, 0xC39844, "ascii", "aPglassware4z_0"] - - [0xC39844, 0xC39854, "ascii", "aPgoldeneyelogoz_0"] - - [0xC39854, 0xC39864, "ascii", "aPgoldenshellsz_0"] - - [0xC39864, 0xC39870, "ascii", "aPgroundgunz_0"] - - [0xC39870, 0xC39880, "ascii", "aPgun_runway1z_0"] - - [0xC39880, 0xC3988C, "ascii", "aPhatberetz_0"] - - [0xC3988C, 0xC3989C, "ascii", "aPhatberetbluez_0"] - - [0xC3989C, 0xC398AC, "ascii", "aPhatberetredz_0"] - - [0xC398AC, 0xC398B8, "ascii", "aPhatchboltz_0"] - - [0xC398B8, 0xC398C4, "ascii", "aPhatchdoorz_0"] - - [0xC398C4, 0xC398D0, "ascii", "aPhatchsevxz_0"] - - [0xC398D0, 0xC398DC, "ascii", "aPhatfurryz_0"] - - [0xC398DC, 0xC398EC, "ascii", "aPhatfurryblackz_0"] - - [0xC398EC, 0xC398FC, "ascii", "aPhatfurrybrownz_0"] - - [0xC398FC, 0xC39908, "ascii", "aPhathelmetz_0"] - - [0xC39908, 0xC39918, "ascii", "aPhathelmetgreyz_0"] - - [0xC39918, 0xC39924, "ascii", "aPhatmoonz_0"] - - [0xC39924, 0xC39930, "ascii", "aPhatpeakedz_0"] - - [0xC39930, 0xC3993C, "ascii", "aPhattbirdz_0"] - - [0xC3993C, 0xC3994C, "ascii", "aPhattbirdbrownz_0"] - - [0xC3994C, 0xC3995C, "ascii", "aPhelicopterz_0"] - - [0xC3995C, 0xC39964, "ascii", "aPhindz_0"] - - [0xC39964, 0xC3996C, "ascii", "aPjeepz_0"] - - [0xC3996C, 0xC3997C, "ascii", "aPjerry_can1z_0"] - - [0xC3997C, 0xC3998C, "ascii", "aPjungle3_treez_0"] - - [0xC3998C, 0xC3999C, "ascii", "aPjungle5_treez_0"] - - [0xC3999C, 0xC399AC, "ascii", "aPkey_holderz_0"] - - [0xC399AC, 0xC399B8, "ascii", "aPkeyboard1z_0"] - - [0xC399B8, 0xC399C8, "ascii", "aPkit_units1z_0"] - - [0xC399C8, 0xC399D4, "ascii", "aPlabbenchz_0"] - - [0xC399D4, 0xC399E0, "ascii", "aPlandminez_0"] - - [0xC399E0, 0xC399EC, "ascii", "aPlegalpagez_0"] - - [0xC399EC, 0xC399FC, "ascii", "aPletter_tray1z_0"] - - [0xC399FC, 0xC39A08, "ascii", "aPlocker3z_0"] - - [0xC39A08, 0xC39A14, "ascii", "aPlocker4z_0"] - - [0xC39A14, 0xC39A20, "ascii", "aPm16magz_0"] - - [0xC39A20, 0xC39A30, "ascii", "aPmagnumshellsz_0"] - - [0xC39A30, 0xC39A40, "ascii", "aPmainframe1z_0"] - - [0xC39A40, 0xC39A50, "ascii", "aPmainframe2z_0"] - - [0xC39A50, 0xC39A60, "ascii", "aPmetal_chair1z_0"] - - [0xC39A60, 0xC39A70, "ascii", "aPmetal_crate1z_0"] - - [0xC39A70, 0xC39A80, "ascii", "aPmetal_crate2z_0"] - - [0xC39A80, 0xC39A90, "ascii", "aPmetal_crate3z_0"] - - [0xC39A90, 0xC39AA0, "ascii", "aPmetal_crate4z_0"] - - [0xC39AA0, 0xC39AAC, "ascii", "aPmilcopterz_0"] - - [0xC39AAC, 0xC39AB8, "ascii", "aPmiltruckz_0"] - - [0xC39AB8, 0xC39AC8, "ascii", "aPmissile_rack2z_0"] - - [0xC39AC8, 0xC39AD8, "ascii", "aPmissile_rackz_0"] - - [0xC39AD8, 0xC39AE4, "ascii", "aPmodemboxz_0"] - - [0xC39AE4, 0xC39AF0, "ascii", "aPmotorbikez_0"] - - [0xC39AF0, 0xC39AFC, "ascii", "aPmp5kmagz_0"] - - [0xC39AFC, 0xC39B0C, "ascii", "aPnintendologoz_0"] - - [0xC39B0C, 0xC39B18, "ascii", "aPoil_drum1z_0"] - - [0xC39B18, 0xC39B24, "ascii", "aPoil_drum2z_0"] - - [0xC39B24, 0xC39B30, "ascii", "aPoil_drum3z_0"] - - [0xC39B30, 0xC39B3C, "ascii", "aPoil_drum5z_0"] - - [0xC39B3C, 0xC39B48, "ascii", "aPoil_drum6z_0"] - - [0xC39B48, 0xC39B54, "ascii", "aPoil_drum7z_0"] - - [0xC39B54, 0xC39B60, "ascii", "aPpadlockz_0"] - - [0xC39B60, 0xC39B68, "ascii", "aPpalmz_0"] - - [0xC39B68, 0xC39B74, "ascii", "aPpalmtreez_0"] - - [0xC39B74, 0xC39B80, "ascii", "aPphone1z_0"] - - [0xC39B80, 0xC39B88, "ascii", "aPplanez_0"] - - [0xC39B88, 0xC39B94, "ascii", "aPplant11z_0"] - - [0xC39B94, 0xC39BA0, "ascii", "aPplant1z_0"] - - [0xC39BA0, 0xC39BAC, "ascii", "aPplant2z_0"] - - [0xC39BAC, 0xC39BB8, "ascii", "aPplant2bz_0"] - - [0xC39BB8, 0xC39BC4, "ascii", "aPplant3z_0"] - - [0xC39BC4, 0xC39BD4, "ascii", "aPradio_unit1z_0"] - - [0xC39BD4, 0xC39BE4, "ascii", "aPradio_unit2z_0"] - - [0xC39BE4, 0xC39BF4, "ascii", "aPradio_unit3z_0"] - - [0xC39BF4, 0xC39C04, "ascii", "aPradio_unit4z_0"] - - [0xC39C04, 0xC39C10, "ascii", "aProofgunz_0"] - - [0xC39C10, 0xC39C18, "ascii", "aPsafez_0"] - - [0xC39C18, 0xC39C24, "ascii", "aPsafedoorz_0"] - - [0xC39C24, 0xC39C34, "ascii", "aPsat1_reflectz_0"] - - [0xC39C34, 0xC39C40, "ascii", "aPsatboxz_0"] - - [0xC39C40, 0xC39C4C, "ascii", "aPsatdishz_0"] - - [0xC39C4C, 0xC39C58, "ascii", "aPsec_panelz_0"] - - [0xC39C58, 0xC39C64, "ascii", "aPsev_door3z_0"] - - [0xC39C64, 0xC39C78, "ascii", "aPsev_door3_windz_0"] - - [0xC39C78, 0xC39C8C, "ascii", "aPsev_door4_windz_0"] - - [0xC39C8C, 0xC39C98, "ascii", "aPsev_doorz_0"] - - [0xC39C98, 0xC39CA8, "ascii", "aPsev_door_v1z_0"] - - [0xC39CA8, 0xC39CB8, "ascii", "aPsev_trislidez_0"] - - [0xC39CB8, 0xC39CC4, "ascii", "aPsevdishz_0"] - - [0xC39CC4, 0xC39CD8, "ascii", "aPsevdoormetslidez_0"] - - [0xC39CD8, 0xC39CE8, "ascii", "aPsevdoornowindz_0"] - - [0xC39CE8, 0xC39CF8, "ascii", "aPsevdoorwindz_0"] - - [0xC39CF8, 0xC39D08, "ascii", "aPsevdoorwoodz_0"] - - [0xC39D08, 0xC39D14, "ascii", "aPshuttlez_0"] - - [0xC39D14, 0xC39D28, "ascii", "aPshuttle_door_lz_0"] - - [0xC39D28, 0xC39D3C, "ascii", "aPshuttle_door_rz_0"] - - [0xC39D3C, 0xC39D48, "ascii", "aPsilencerz_0"] - - [0xC39D48, 0xC39D5C, "ascii", "aPsilo_lift_doorz_0"] - - [0xC39D5C, 0xC39D6C, "ascii", "aPsilotopdoorz_0"] - - [0xC39D6C, 0xC39D7C, "ascii", "aPskorpionmagz_0"] - - [0xC39D7C, 0xC39D8C, "ascii", "aPspectremagz_0"] - - [0xC39D8C, 0xC39D98, "ascii", "aPspeedboatz_0"] - - [0xC39D98, 0xC39DAC, "ascii", "aPst_pete_room_1iz_0"] - - [0xC39DAC, 0xC39DC0, "ascii", "aPst_pete_room_2iz_0"] - - [0xC39DC0, 0xC39DD4, "ascii", "aPst_pete_room_3tz_0"] - - [0xC39DD4, 0xC39DE8, "ascii", "aPst_pete_room_5cz_0"] - - [0xC39DE8, 0xC39DFC, "ascii", "aPst_pete_room_6cz_0"] - - [0xC39DFC, 0xC39E0C, "ascii", "aPsteel_door1z_0"] - - [0xC39E0C, 0xC39E1C, "ascii", "aPsteel_door2z_0"] - - [0xC39E1C, 0xC39E2C, "ascii", "aPsteel_door2bz_0"] - - [0xC39E2C, 0xC39E3C, "ascii", "aPsteel_door3z_0"] - - [0xC39E3C, 0xC39E48, "ascii", "aPstool1z_0"] - - [0xC39E48, 0xC39E58, "ascii", "aPswipe_card2z_0"] - - [0xC39E58, 0xC39E68, "ascii", "aPswivel_chair1z_0"] - - [0xC39E68, 0xC39E70, "ascii", "aPtankz_0"] - - [0xC39E70, 0xC39E78, "ascii", "aPtigerz_0"] - - [0xC39E78, 0xC39E88, "ascii", "aPtorpedo_rackz_0"] - - [0xC39E88, 0xC39E98, "ascii", "aPtrain_door2z_0"] - - [0xC39E98, 0xC39EA8, "ascii", "aPtrain_door3z_0"] - - [0xC39EA8, 0xC39EB8, "ascii", "aPtrain_doorz_0"] - - [0xC39EB8, 0xC39EC8, "ascii", "aPtrainextdoorz_0"] - - [0xC39EC8, 0xC39ED4, "ascii", "aPtt33magz_0"] - - [0xC39ED4, 0xC39EE8, "ascii", "aPtuning_console1z_0"] - - [0xC39EE8, 0xC39EF0, "ascii", "aPtv1z_0"] - - [0xC39EF0, 0xC39EFC, "ascii", "aPtv4screenz_0"] - - [0xC39EFC, 0xC39F08, "ascii", "aPtv_holderz_0"] - - [0xC39F08, 0xC39F14, "ascii", "aPtvscreenz_1"] - - [0xC39F14, 0xC39F20, "ascii", "aPuzimagz_0"] - - [0xC39F20, 0xC39F2C, "ascii", "aPvertdoorz_1"] - - [0xC39F2C, 0xC39F3C, "ascii", "aPwalletbondz_0"] - - [0xC39F3C, 0xC39F48, "ascii", "aPwindowz_0"] - - [0xC39F48, 0xC39F58, "ascii", "aPwindow_cor11z_1"] - - [0xC39F58, 0xC39F6C, "ascii", "aPwindow_lib_lg1z_0"] - - [0xC39F6C, 0xC39F80, "ascii", "aPwindow_lib_sm1z_0"] - - [0xC39F80, 0xC39F94, "ascii", "aPwood_lg_crate1z_0"] - - [0xC39F94, 0xC39FA8, "ascii", "aPwood_lg_crate2z_0"] - - [0xC39FA8, 0xC39FBC, "ascii", "aPwood_md_crate3z_0"] - - [0xC39FBC, 0xC39FD0, "ascii", "aPwood_sm_crate4z_0"] - - [0xC39FD0, 0xC39FE4, "ascii", "aPwood_sm_crate5z_0"] - - [0xC39FE4, 0xC39FF8, "ascii", "aPwood_sm_crate6z_0"] - - [0xC39FF8, 0xC3A008, "ascii", "aPwooden_table1z_0"] - - [0xC3A008, 0xC3A014, "ascii", "aPwppkmagz_0"] - - [0xC3A014, 0xC3A028, "ascii", "aTbg_ame_all_p_stanz_2"] - - [0xC3A028, 0xC3A040, "ascii", "aTbg_arch_all_p_stanz_0"] - - [0xC3A040, 0xC3A058, "ascii", "aTbg_arec_all_p_stanz_0"] - - [0xC3A058, 0xC3A06C, "ascii", "aTbg_ark_all_p_stanz_0"] - - [0xC3A06C, 0xC3A080, "ascii", "aTbg_ash_all_p_stanz"] - - [0xC3A080, 0xC3A094, "ascii", "aTbg_azt_all_p_stanz_0"] - - [0xC3A094, 0xC3A0A8, "ascii", "aTbg_cat_all_p_stanz_0"] - - [0xC3A0A8, 0xC3A0C0, "ascii", "aTbg_cave_all_p_stanz_0"] - - [0xC3A0C0, 0xC3A0D8, "ascii", "aTbg_crad_all_p_stanz_0"] - - [0xC3A0D8, 0xC3A0F0, "ascii", "aTbg_cryp_all_p_stanz_0"] - - [0xC3A0F0, 0xC3A104, "ascii", "aTbg_dam_all_p_stanz_0"] - - [0xC3A104, 0xC3A11C, "ascii", "aTbg_depo_all_p_stanz_0"] - - [0xC3A11C, 0xC3A134, "ascii", "aTbg_dest_all_p_stanz_0"] - - [0xC3A134, 0xC3A14C, "ascii", "aTbg_dish_all_p_stanz_0"] - - [0xC3A14C, 0xC3A160, "ascii", "aTbg_ear_all_p_stanz_0"] - - [0xC3A160, 0xC3A174, "ascii", "aTbg_eld_all_p_stanz_0"] - - [0xC3A174, 0xC3A188, "ascii", "aTbg_imp_all_p_stanz"] - - [0xC3A188, 0xC3A19C, "ascii", "aTbg_jun_all_p_stanz_0"] - - [0xC3A19C, 0xC3A1B0, "ascii", "aTbg_lee_all_p_stanz_0"] - - [0xC3A1B0, 0xC3A1C4, "ascii", "aTbg_len_all_p_stanz_0"] - - [0xC3A1C4, 0xC3A1D8, "ascii", "aTbg_lip_all_p_stanz_0"] - - [0xC3A1D8, 0xC3A1EC, "ascii", "aTbg_lue_all_p_stanz_0"] - - [0xC3A1EC, 0xC3A200, "ascii", "aTbg_oat_all_p_stanz_0"] - - [0xC3A200, 0xC3A214, "ascii", "aTbg_pam_all_p_stanz_0"] - - [0xC3A214, 0xC3A22C, "ascii", "aTbg_pete_all_p_stanz_0"] - - [0xC3A22C, 0xC3A240, "ascii", "aTbg_ref_all_p_stanz_0"] - - [0xC3A240, 0xC3A254, "ascii", "aTbg_rit_all_p_stanz_0"] - - [0xC3A254, 0xC3A268, "ascii", "aTbg_run_all_p_stanz_0"] - - [0xC3A268, 0xC3A27C, "ascii", "aTbg_sev_all_p_stanz_0"] - - [0xC3A27C, 0xC3A294, "ascii", "aTbg_sevb_all_p_stanz_0"] - - [0xC3A294, 0xC3A2AC, "ascii", "aTbg_sevx_all_p_stanz_1"] - - [0xC3A2AC, 0xC3A2C4, "ascii", "aTbg_silo_all_p_stanz_0"] - - [0xC3A2C4, 0xC3A2DC, "ascii", "aTbg_stat_all_p_stanz_0"] - - [0xC3A2DC, 0xC3A2F0, "ascii", "aTbg_tra_all_p_stanz_0"] - - [0xC3A2F0, 0xC3A304, "ascii", "aTbg_wax_all_p_stanz_0"] - - [0xC3A304, 0xC3A310, "ascii", "aUbriefarchz"] - - [0xC3A310, 0xC3A31C, "ascii", "aUbriefarkz"] - - [0xC3A31C, 0xC3A328, "ascii", "aUbriefaztz"] - - [0xC3A328, 0xC3A334, "ascii", "aUbriefcavez"] - - [0xC3A334, 0xC3A344, "ascii", "aUbriefcontrolz"] - - [0xC3A344, 0xC3A350, "ascii", "aUbriefcradz"] - - [0xC3A350, 0xC3A35C, "ascii", "aUbriefcrypz"] - - [0xC3A35C, 0xC3A368, "ascii", "aUbriefdamz"] - - [0xC3A368, 0xC3A374, "ascii", "aUbriefdepoz"] - - [0xC3A374, 0xC3A380, "ascii", "aUbriefdestz"] - - [0xC3A380, 0xC3A38C, "ascii", "aUbriefjunz"] - - [0xC3A38C, 0xC3A398, "ascii", "aUbriefpetez"] - - [0xC3A398, 0xC3A3A4, "ascii", "aUbriefrunz"] - - [0xC3A3A4, 0xC3A3B0, "ascii", "aUbriefsevbz"] - - [0xC3A3B0, 0xC3A3C4, "ascii", "aUbriefsevbunkerz"] - - [0xC3A3C4, 0xC3A3D0, "ascii", "aUbriefsevxz"] - - [0xC3A3D0, 0xC3A3E0, "ascii", "aUbriefsevxbz"] - - [0xC3A3E0, 0xC3A3EC, "ascii", "aUbriefsiloz"] - - [0xC3A3EC, 0xC3A3FC, "ascii", "aUbriefstatuez"] - - [0xC3A3FC, 0xC3A408, "ascii", "aUbrieftraz"] - - [0xC3A408, 0xC3A418, "ascii", "aUmp_setupamez"] - - [0xC3A418, 0xC3A428, "ascii", "aUmp_setuparchz"] - - [0xC3A428, 0xC3A438, "ascii", "aUmp_setuparkz"] - - [0xC3A438, 0xC3A448, "ascii", "aUmp_setupashz"] - - [0xC3A448, 0xC3A458, "ascii", "aUmp_setupcavez"] - - [0xC3A458, 0xC3A468, "ascii", "aUmp_setupcradz"] - - [0xC3A468, 0xC3A478, "ascii", "aUmp_setupcrypz"] - - [0xC3A478, 0xC3A488, "ascii", "aUmp_setupdishz"] - - [0xC3A488, 0xC3A498, "ascii", "aUmp_setupimpz"] - - [0xC3A498, 0xC3A4A8, "ascii", "aUmp_setupoatz"] - - [0xC3A4A8, 0xC3A4B8, "ascii", "aUmp_setuprefz"] - - [0xC3A4B8, 0xC3A4C8, "ascii", "aUmp_setupsevbz"] - - [0xC3A4C8, 0xC3A4DC, "ascii", "aUmp_setupstatuez"] - - [0xC3A4DC, 0xC3A4E8, "ascii", "aUsetuparchz_0"] - - [0xC3A4E8, 0xC3A4F4, "ascii", "aUsetuparkz_1"] - - [0xC3A4F4, 0xC3A500, "ascii", "aUsetupaztz_1"] - - [0xC3A500, 0xC3A50C, "ascii", "aUsetupcavez_0"] - - [0xC3A50C, 0xC3A51C, "ascii", "aUsetupcontrolz_1"] - - [0xC3A51C, 0xC3A528, "ascii", "aUsetupcradz_0"] - - [0xC3A528, 0xC3A534, "ascii", "aUsetupcrypz_0"] - - [0xC3A534, 0xC3A540, "ascii", "aUsetupdamz_1"] - - [0xC3A540, 0xC3A54C, "ascii", "aUsetupdepoz_0"] - - [0xC3A54C, 0xC3A558, "ascii", "aUsetupdestz_0"] - - [0xC3A558, 0xC3A564, "ascii", "aUsetupjunz_1"] - - [0xC3A564, 0xC3A570, "ascii", "aUsetuplenz_1"] - - [0xC3A570, 0xC3A57C, "ascii", "aUsetuppetez_0"] - - [0xC3A57C, 0xC3A588, "ascii", "aUsetuprunz_1"] - - [0xC3A588, 0xC3A594, "ascii", "aUsetupsevbz_0"] - - [0xC3A594, 0xC3A5A8, "ascii", "aUsetupsevbunkerz_1"] - - [0xC3A5A8, 0xC3A5B4, "ascii", "aUsetupsevxz_0"] - - [0xC3A5B4, 0xC3A5C4, "ascii", "aUsetupsevxbz_0"] - - [0xC3A5C4, 0xC3A5D0, "ascii", "aUsetupsiloz_0"] - - [0xC3A5D0, 0xC3A5E0, "ascii", "aUsetupstatuez_0"] - - [0xC3A5E0, 0xC3A5EC, "ascii", "aUsetuptraz_1"] - - [0xC3A5EC, 0xC3A5F4, "ascii", "aLamee_0"] - - [0xC3A5F4, 0xC3A5FC, "ascii", "aLamej_0"] - - [0xC3A5FC, 0xC3A604, "ascii", "aLarche_1"] - - [0xC3A604, 0xC3A60C, "ascii", "aLarchj_1"] - - [0xC3A60C, 0xC3A614, "ascii", "aLarece_1"] - - [0xC3A614, 0xC3A61C, "ascii", "aLarecj_1"] - - [0xC3A61C, 0xC3A624, "ascii", "aLarke_0"] - - [0xC3A624, 0xC3A62C, "ascii", "aLarkj_0"] - - [0xC3A62C, 0xC3A634, "ascii", "aLashe_0"] - - [0xC3A634, 0xC3A63C, "ascii", "aLashj_0"] - - [0xC3A63C, 0xC3A644, "ascii", "aLazte_0"] - - [0xC3A644, 0xC3A64C, "ascii", "aLaztj_0"] - - [0xC3A64C, 0xC3A654, "ascii", "aLcate_0"] - - [0xC3A654, 0xC3A65C, "ascii", "aLcatj_0"] - - [0xC3A65C, 0xC3A664, "ascii", "aLcavee_1"] - - [0xC3A664, 0xC3A66C, "ascii", "aLcavej_1"] - - [0xC3A66C, 0xC3A674, "ascii", "aLcrade_1"] - - [0xC3A674, 0xC3A67C, "ascii", "aLcradj_1"] - - [0xC3A67C, 0xC3A684, "ascii", "aLcrype_1"] - - [0xC3A684, 0xC3A68C, "ascii", "aLcrypj_1"] - - [0xC3A68C, 0xC3A694, "ascii", "aLdame_0"] - - [0xC3A694, 0xC3A69C, "ascii", "aLdamj_0"] - - [0xC3A69C, 0xC3A6A4, "ascii", "aLdepoe_1"] - - [0xC3A6A4, 0xC3A6AC, "ascii", "aLdepoj_1"] - - [0xC3A6AC, 0xC3A6B4, "ascii", "aLdeste_1"] - - [0xC3A6B4, 0xC3A6BC, "ascii", "aLdestj_1"] - - [0xC3A6BC, 0xC3A6C4, "ascii", "aLdishe_1"] - - [0xC3A6C4, 0xC3A6CC, "ascii", "aLdishj_1"] - - [0xC3A6CC, 0xC3A6D4, "ascii", "aLeare_0"] - - [0xC3A6D4, 0xC3A6DC, "ascii", "aLearj_0"] - - [0xC3A6DC, 0xC3A6E4, "ascii", "aLelde_0"] - - [0xC3A6E4, 0xC3A6EC, "ascii", "aLeldj_0"] - - [0xC3A6EC, 0xC3A6F4, "ascii", "aLgune_0"] - - [0xC3A6F4, 0xC3A6FC, "ascii", "aLgunj_0"] - - [0xC3A6FC, 0xC3A704, "ascii", "aLimpe_0"] - - [0xC3A704, 0xC3A70C, "ascii", "aLimpj_0"] - - [0xC3A70C, 0xC3A714, "ascii", "aLjune_0"] - - [0xC3A714, 0xC3A71C, "ascii", "aLjunj_0"] - - [0xC3A71C, 0xC3A724, "ascii", "aLleee_0"] - - [0xC3A724, 0xC3A72C, "ascii", "aLleej_0"] - - [0xC3A72C, 0xC3A734, "ascii", "aLlene_0"] - - [0xC3A734, 0xC3A73C, "ascii", "aLlenj_0"] - - [0xC3A73C, 0xC3A744, "ascii", "aLlipe_0"] - - [0xC3A744, 0xC3A74C, "ascii", "aLlipj_0"] - - [0xC3A74C, 0xC3A754, "ascii", "aLluee_0"] - - [0xC3A754, 0xC3A75C, "ascii", "aLluej_0"] - - [0xC3A75C, 0xC3A764, "ascii", "aLmisce_1"] - - [0xC3A764, 0xC3A76C, "ascii", "aLmiscj_1"] - - [0xC3A76C, 0xC3A778, "ascii", "aLmpmenue_0"] - - [0xC3A778, 0xC3A784, "ascii", "aLmpmenuj_0"] - - [0xC3A784, 0xC3A790, "ascii", "aLmpweaponse_0"] - - [0xC3A790, 0xC3A79C, "ascii", "aLmpweaponsj_0"] - - [0xC3A79C, 0xC3A7A4, "ascii", "aLoate_0"] - - [0xC3A7A4, 0xC3A7AC, "ascii", "aLoatj_0"] - - [0xC3A7AC, 0xC3A7B8, "ascii", "aLoptionse_0"] - - [0xC3A7B8, 0xC3A7C4, "ascii", "aLoptionsj_0"] - - [0xC3A7C4, 0xC3A7CC, "ascii", "aLpame_0"] - - [0xC3A7CC, 0xC3A7D4, "ascii", "aLpamj_0"] - - [0xC3A7D4, 0xC3A7DC, "ascii", "aLpetee_1"] - - [0xC3A7DC, 0xC3A7E4, "ascii", "aLpetej_1"] - - [0xC3A7E4, 0xC3A7F0, "ascii", "aLpropobje_0"] - - [0xC3A7F0, 0xC3A7FC, "ascii", "aLpropobjj_0"] - - [0xC3A7FC, 0xC3A804, "ascii", "aLrefe_0"] - - [0xC3A804, 0xC3A80C, "ascii", "aLrefj_0"] - - [0xC3A80C, 0xC3A814, "ascii", "aLrite_0"] - - [0xC3A814, 0xC3A81C, "ascii", "aLritj_0"] - - [0xC3A81C, 0xC3A824, "ascii", "aLrune_0"] - - [0xC3A824, 0xC3A82C, "ascii", "aLrunj_0"] - - [0xC3A82C, 0xC3A834, "ascii", "aLseve_0"] - - [0xC3A834, 0xC3A83C, "ascii", "aLsevj_0"] - - [0xC3A83C, 0xC3A844, "ascii", "aLsevbe_1"] - - [0xC3A844, 0xC3A84C, "ascii", "aLsevbj_1"] - - [0xC3A84C, 0xC3A854, "ascii", "aLsevxe_1"] - - [0xC3A854, 0xC3A85C, "ascii", "aLsevxj_1"] - - [0xC3A85C, 0xC3A864, "ascii", "aLsevxbe_0"] - - [0xC3A864, 0xC3A86C, "ascii", "aLsevxbj_0"] - - [0xC3A86C, 0xC3A874, "ascii", "aLshoe_0"] - - [0xC3A874, 0xC3A87C, "ascii", "aLshoj_0"] - - [0xC3A87C, 0xC3A884, "ascii", "aLsiloe_1"] - - [0xC3A884, 0xC3A88C, "ascii", "aLsiloj_1"] - - [0xC3A88C, 0xC3A894, "ascii", "aLstate_1"] - - [0xC3A894, 0xC3A89C, "ascii", "aLstatj_1"] - - [0xC3A89C, 0xC3A8A4, "ascii", "aLtitlee_0"] - - [0xC3A8A4, 0xC3A8AC, "ascii", "aLtitlej_0"] - - [0xC3A8AC, 0xC3A8B4, "ascii", "aLtrae_0"] - - [0xC3A8B4, 0xC3A8BC, "ascii", "aLtraj_0"] - - [0xC3A8BC, 0xC3A8C4, "ascii", "aLwaxe_0"] - - [0xC3A8C4, 0xC3A8CC, "ascii", "aLwaxj_0"] - - [0xC3A8CC, 0xC3A8DC, "ascii", "aObOb_end_seg"] - - [0xC3A8DC, 0xC3A8E0, "ptr", "rz_header_1"] - - [0xC3A8E0, 0xC3A8E4, "ptr", "rz_header_2"] - - [0xC3A8E4, 0xC3A8F0, "ascii", "aOb_c_debug"] - - [0xC3A8F0, 0xC3A8FC, "ascii", "aDyn_c_debug"] - - [0xC3A8FC, 0xC3A904, "ascii", "aMgfx"] - - [0xC3A904, 0xC3A90C, "ascii", "aMgfx_1"] - - [0xC3A90C, 0xC3A914, "ascii", "aMvtx"] - - [0xC3A914, 0xC3A920, "ascii", "aMvtx_0"] - - [0xC3A920, 0xC3A92C, "ascii", "aLv_c_debug"] - - [0xC3A92C, 0xC3A938, "ascii", "aStanshow_"] - - [0xC3A938, 0xC3A944, "ascii", "aStanshow__5"] - - [0xC3A944, 0xC3A950, "ascii", "aStanshow__0"] - - [0xC3A950, 0xC3A95C, "ascii", "aStanshow__1"] - - [0xC3A95C, 0xC3A968, "ascii", "aStanshow__2"] - - [0xC3A968, 0xC3A974, "ascii", "aStanshow__3"] - - [0xC3A974, 0xC3A984, "ascii", "aOneMinuteLeft"] - - [0xC3A984, 0xC3A9AC, "ascii", "aSetdetailDDDDDDDDD"] - - [0xC3A9AC, 0xC3A9B0, "ptr", "D_8005B73C"] - - [0xC3A9B0, 0xC3A9B4, "ptr", "D_8005B740"] - - [0xC3A9B4, 0xC3A9B8, "ptr", "D_8005B744"] - - [0xC3A9B8, 0xC3A9BC, "ptr", "D_8005B748"] - - [0xC3A9BC, 0xC3A9C0, "ptr", "D_8005B74C"] - - [0xC3A9C0, 0xC3A9D0, "ascii", "aReplayDemo_D"] - - [0xC3A9D0, 0xC3A9E0, "ascii", "aReplayDemo_D_1"] - - [0xC3A9E0, 0xC3AA00, "ascii", "aReplayDemo_load"] - - [0xC3AA00, 0xC3AA1C, "ptr", "jpt_700F4B9C"] - - [0xC3AA1C, 0xC3AA38, "ptr", "jpt_700F4BBC"] - - [0xC3AA38, 0xC3AA54, "ptr", "jpt_700F4C70"] - - [0xC3AA54, 0xC3AA58, "ptr", "D_8005B7E4"] - - [0xC3AA58, 0xC3AA74, "ptr", "jpt_700F4D60"] - - [0xC3AA74, 0xC3AA90, "ptr", "jpt_700F4DF8"] - - [0xC3AA90, 0xC3AAAC, "ptr", "jpt_700F4F30"] - - [0xC3AAAC, 0xC3AAC8, "ptr", "jpt_700F4FFC"] - - [0xC3AAC8, 0xC3AAF0, "ptr", "jpt_700F50A4"] - - [0xC3AAF0, 0xC3AAF8, "ascii", "aLamee"] - - [0xC3AAF8, 0xC3AB00, "ascii", "aLamej"] - - [0xC3AB00, 0xC3AB08, "ascii", "aLarche"] - - [0xC3AB08, 0xC3AB10, "ascii", "aLarchj"] - - [0xC3AB10, 0xC3AB18, "ascii", "aLarke"] - - [0xC3AB18, 0xC3AB20, "ascii", "aLarkj"] - - [0xC3AB20, 0xC3AB28, "ascii", "aLashe"] - - [0xC3AB28, 0xC3AB30, "ascii", "aLashj"] - - [0xC3AB30, 0xC3AB38, "ascii", "aLazte"] - - [0xC3AB38, 0xC3AB40, "ascii", "aLaztj"] - - [0xC3AB40, 0xC3AB48, "ascii", "aLcate"] - - [0xC3AB48, 0xC3AB50, "ascii", "aLcatj"] - - [0xC3AB50, 0xC3AB58, "ascii", "aLcavee"] - - [0xC3AB58, 0xC3AB60, "ascii", "aLcavej"] - - [0xC3AB60, 0xC3AB68, "ascii", "aLarece"] - - [0xC3AB68, 0xC3AB70, "ascii", "aLarecj"] - - [0xC3AB70, 0xC3AB78, "ascii", "aLcrade"] - - [0xC3AB78, 0xC3AB80, "ascii", "aLcradj"] - - [0xC3AB80, 0xC3AB88, "ascii", "aLcrype"] - - [0xC3AB88, 0xC3AB90, "ascii", "aLcrypj"] - - [0xC3AB90, 0xC3AB98, "ascii", "aLdame"] - - [0xC3AB98, 0xC3ABA0, "ascii", "aLdamj"] - - [0xC3ABA0, 0xC3ABA8, "ascii", "aLdepoe"] - - [0xC3ABA8, 0xC3ABB0, "ascii", "aLdepoj"] - - [0xC3ABB0, 0xC3ABB8, "ascii", "aLdeste"] - - [0xC3ABB8, 0xC3ABC0, "ascii", "aLdestj"] - - [0xC3ABC0, 0xC3ABC8, "ascii", "aLdishe"] - - [0xC3ABC8, 0xC3ABD0, "ascii", "aLdishj"] - - [0xC3ABD0, 0xC3ABD8, "ascii", "aLeare"] - - [0xC3ABD8, 0xC3ABE0, "ascii", "aLearj"] - - [0xC3ABE0, 0xC3ABE8, "ascii", "aLelde"] - - [0xC3ABE8, 0xC3ABF0, "ascii", "aLeldj"] - - [0xC3ABF0, 0xC3ABF8, "ascii", "aLimpe"] - - [0xC3ABF8, 0xC3AC00, "ascii", "aLimpj"] - - [0xC3AC00, 0xC3AC08, "ascii", "aLjune"] - - [0xC3AC08, 0xC3AC10, "ascii", "aLjunj"] - - [0xC3AC10, 0xC3AC18, "ascii", "aLleee"] - - [0xC3AC18, 0xC3AC20, "ascii", "aLleej"] - - [0xC3AC20, 0xC3AC28, "ascii", "aLlene"] - - [0xC3AC28, 0xC3AC30, "ascii", "aLlenj"] - - [0xC3AC30, 0xC3AC38, "ascii", "aLlipe"] - - [0xC3AC38, 0xC3AC40, "ascii", "aLlipj"] - - [0xC3AC40, 0xC3AC48, "ascii", "aLluee"] - - [0xC3AC48, 0xC3AC50, "ascii", "aLluej"] - - [0xC3AC50, 0xC3AC58, "ascii", "aLoate"] - - [0xC3AC58, 0xC3AC60, "ascii", "aLoatj"] - - [0xC3AC60, 0xC3AC68, "ascii", "aLpame"] - - [0xC3AC68, 0xC3AC70, "ascii", "aLpamj"] - - [0xC3AC70, 0xC3AC78, "ascii", "aLpetee"] - - [0xC3AC78, 0xC3AC80, "ascii", "aLpetej"] - - [0xC3AC80, 0xC3AC88, "ascii", "aLrefe"] - - [0xC3AC88, 0xC3AC90, "ascii", "aLrefj"] - - [0xC3AC90, 0xC3AC98, "ascii", "aLrite"] - - [0xC3AC98, 0xC3ACA0, "ascii", "aLritj"] - - [0xC3ACA0, 0xC3ACA8, "ascii", "aLrune"] - - [0xC3ACA8, 0xC3ACB0, "ascii", "aLrunj"] - - [0xC3ACB0, 0xC3ACB8, "ascii", "aLsevbe"] - - [0xC3ACB8, 0xC3ACC0, "ascii", "aLsevbj"] - - [0xC3ACC0, 0xC3ACC8, "ascii", "aLseve"] - - [0xC3ACC8, 0xC3ACD0, "ascii", "aLsevj"] - - [0xC3ACD0, 0xC3ACD8, "ascii", "aLsevxe"] - - [0xC3ACD8, 0xC3ACE0, "ascii", "aLsevxj"] - - [0xC3ACE0, 0xC3ACE8, "ascii", "aLsevxbe"] - - [0xC3ACE8, 0xC3ACF0, "ascii", "aLsevxbj"] - - [0xC3ACF0, 0xC3ACF8, "ascii", "aLshoe"] - - [0xC3ACF8, 0xC3AD00, "ascii", "aLshoj"] - - [0xC3AD00, 0xC3AD08, "ascii", "aLsiloe"] - - [0xC3AD08, 0xC3AD10, "ascii", "aLsiloj"] - - [0xC3AD10, 0xC3AD18, "ascii", "aLstate"] - - [0xC3AD18, 0xC3AD20, "ascii", "aLstatj"] - - [0xC3AD20, 0xC3AD28, "ascii", "aLtrae"] - - [0xC3AD28, 0xC3AD30, "ascii", "aLtraj"] - - [0xC3AD30, 0xC3AD38, "ascii", "aLwaxe"] - - [0xC3AD38, 0xC3AD40, "ascii", "aLwaxj"] - - [0xC3AD40, 0xC3AD48, "ascii", "aLgune"] - - [0xC3AD48, 0xC3AD50, "ascii", "aLgunj"] - - [0xC3AD50, 0xC3AD58, "ascii", "aLtitlee"] - - [0xC3AD58, 0xC3AD60, "ascii", "aLtitlej"] - - [0xC3AD60, 0xC3AD6C, "ascii", "aLmpmenue"] - - [0xC3AD6C, 0xC3AD78, "ascii", "aLmpmenuj"] - - [0xC3AD78, 0xC3AD84, "ascii", "aLpropobje"] - - [0xC3AD84, 0xC3AD90, "ascii", "aLpropobjj"] - - [0xC3AD90, 0xC3AD9C, "ascii", "aLmpweaponse"] - - [0xC3AD9C, 0xC3ADA8, "ascii", "aLmpweaponsj"] - - [0xC3ADA8, 0xC3ADB4, "ascii", "aLoptionse"] - - [0xC3ADB4, 0xC3ADC0, "ascii", "aLoptionsj"] - - [0xC3ADC0, 0xC3ADC8, "ascii", "aLmisce"] - - [0xC3ADC8, 0xC3ADD0, "ascii", "aLmiscj"] - - [0xC3ADD0, 0xC3AE90, "ptr", "jpt_stage_text"] - - [0xC3AE90, 0xC3AE94, "ascii", "ascii_MP_watch_menu_percentd"] - - [0xC3AE94, 0xC3AE98, "ascii", "ascii_MP_watch_menu_BLANK"] - - [0xC3AE98, 0xC3AE9C, "ascii", "ascii_MP_watch_menu_left_chevron"] - - [0xC3AE9C, 0xC3AEA0, "ascii", "ascii_MP_watch_menu_right_chevron"] - - [0xC3AEA0, 0xC3AEA8, "ascii", "ascii_pnum_KILLS"] - - [0xC3AEA8, 0xC3AEB0, "ascii", "ascii_pnum_LOSSES"] - - [0xC3AEB0, 0xC3AED0, "ptr", "jpt_MP_menu_page_adv_right"] - - [0xC3AED0, 0xC3AEF0, "ptr", "jpt_MP_menu_page_adv_left"] - - [0xC3AEF0, 0xC3AEF4, "ptr", "D_8005BC80"] - - [0xC3AEF4, 0xC3AEF8, "ptr", "D_8005BC84"] - - [0xC3AEF8, 0xC3AF10, "ptr", "jpt_MP_overlays_scoring_scenario_0"] - - [0xC3AF10, 0xC3AF30, "ptr", "jpt_MP_overlays_scoring"] - - [0xC3AF30, 0xC3AF50, "ptr", "jpt_MP_overlays_scoring_scenario_1"] - - [0xC3AF50, 0xC3AF70, "ptr", "jpt_MP_overlays_scoring_scenario_2"] - - [0xC3AF70, 0xC3AF90, "ptr", "jpt_MP_menu_window_text"] - - [0xC3AF90, 0xC3AF94, "ptr", "D_8005BD20"] - - [0xC3AF94, 0xC3AFA0, "ptr", "D_8005BD24"] - - [0xC3AFA0, 0xC3AFC8, "ptr", "jpt_700FBF84"] - - [0xC3AFC8, 0xC3AFEC, "ptr", "jpt_700FC6F4"] - - [0xC3AFEC, 0xC3B010, "ptr", "jpt_700FC7A4"] - - [0xC3B010, 0xC3B034, "ptr", "jpt_700FDA34"] - - [0xC3B034, 0xC3B058, "ptr", "jpt_700FDD20"] - - [0xC3B058, 0xC3B07C, "ptr", "jpt_700FE830"] - - [0xC3B07C, 0xC3B0A0, "ptr", "jpt_700FEBEC"] - - [0xC3B0A0, 0xC3B0D4, "ptr", "jpt_700FF5D0"] - - [0xC3B0D4, 0xC3B0F0, "ptr", "jpt_700FF7D0"] - - [0xC3B0F0, 0xC3B0FC, "ascii", "aHit_default"] - - [0xC3B0FC, 0xC3B108, "ascii", "aHit_stone"] - - [0xC3B108, 0xC3B114, "ascii", "aHit_wood"] - - [0xC3B114, 0xC3B120, "ascii", "aHit_metal"] - - [0xC3B120, 0xC3B12C, "ascii", "aHit_glass"] - - [0xC3B12C, 0xC3B138, "ascii", "aHit_water"] - - [0xC3B138, 0xC3B144, "ascii", "aHit_snow"] - - [0xC3B144, 0xC3B150, "ascii", "aHit_dirt"] - - [0xC3B150, 0xC3B158, "ascii", "aHit_mud"] - - [0xC3B158, 0xC3B164, "ascii", "aHit_tile"] - - [0xC3B164, 0xC3B174, "ascii", "aHit_metalobj"] - - [0xC3B174, 0xC3B17C, "ascii", "aHit_chr"] - - [0xC3B17C, 0xC3B190, "ascii", "aHit_glass_xlu"] - - [0xC3B190, 0xC3B1D0, "ptr", "tlb_ptr_DL_type_B1toC0"] - - [0xC3B1D0, 0xC3B1F0, "ptr", "tlb_ptr_C0_image_recall_types"] - - [0xC3B1F0, 0xC3B1F4, "ptr", "D_8005BF80"] - - [0xC3B1F4, 0xC3B1F8, "ptr", "D_8005BF84"] - - [0xC3B1F8, 0xC3B208, "ptr", "D_8005BF88"] - - [0xC3B208, 0xC3B220, "ptr", "D_8005BF98"] - - [0xC3B220, 0xC3B230, "ascii", "aRsp_c_debug"] - - [0xC3B230, 0xC3B260, "ascii", "aSleep5EtcKillallGhostGload"] - - [0xC3B260, 0xC3B270, "ascii", "aGame_c_debug"] - - [0xC3B270, 0xC3B290, "ptr", "build_date"] - - [0xC3B290, 0xC3B2A8, "ascii", "aEmDataSabre_seg_rz"] - - [0xC3B2A8, 0xC3B2BC, "ascii", "aEmDataAtic_seg_rz"] - - [0xC3B2BC, 0xC3B2D4, "ascii", "aEmDataJetpac_seg_rz"] - - [0xC3B2D4, 0xC3B2EC, "ascii", "aEmDataJetman_seg_rz"] - - [0xC3B2EC, 0xC3B304, "ascii", "aEmDataAlien8_seg_rz"] - - [0xC3B304, 0xC3B320, "ascii", "aEmDataGunfright_seg_rz"] - - [0xC3B320, 0xC3B338, "ascii", "aEmDataUnder_seg_rz"] - - [0xC3B338, 0xC3B354, "ascii", "aEmDataKnightlore_seg_rz"] - - [0xC3B354, 0xC3B36C, "ascii", "aEmDataPssst_seg_rz"] - - [0xC3B36C, 0xC3B384, "ascii", "aEmDataCookie_seg_rz"] - - [0xC3B384, 0xC3B39C, "ascii", "aEmDataSpec_rom_seg_rz"] - - [0xC3B39C, 0xC3B79C, "ptr", "jpt_70107964"] - - [0xC3B79C, 0xC3B89C, "ptr", "jpt_7010E33C"] - - [0xC3B89C, 0xC3B8BC, "ptr", "jpt_7010FDE8"] - - [0xC3B8BC, 0xC3B8DC, "ptr", "jpt_7010FE20"] - - [0xC3B8DC, 0xC3B8FC, "ptr", "jpt_7010FE40"] - - [0xC3B8FC, 0xC3B91C, "ptr", "jpt_701104EC"] - - [0xC3B91C, 0xC3B98C, "ptr", "jpt_70112968"] - - [0xC3B98C, 0xC3BA90, "ptr", "jpt_70112990"] - - - # offset, type, depth,width,height - # - [0x8F7DF0, "rgba", 32, 0x20, 0x1C] - # (0x8F8544, "ia", 8, 0x0F, 0x0F] - # (0x8F86AE, "rgba", 32, 0x20, 0x1C]] - - # (0x, "rgba", 16, 32, 32]] - # ] - # (0x034B30, 0xC00000, "bin", "remaining"] - - - -labels: - ############################### - # created by makerom - - [0x80000400, "_start"] - - ############################### - # codesegment.o - # boot0.s - # .text - - [0x80000450, "boot"] - - [0x700004BC, "get_rodata_vaddr"] - - [0x700004C8, "get_cdataSegmentRomStart"] - - [0x700004D4, "get_cdataSegmentRomEnd"] - - [0x700004E0, "get_rarezipSegmentRomStart"] - - [0x700004EC, "get_rarezipSegmentRomEnd"] - - [0x700004F8, "jump_decompressfile"] - - # boot1.s - # .text - - [0x70000510, "boot1"] - - [0x700006A8, "generate_main_thread"] - - [0x700006F0, "grow_stack"] - - [0x700006FC, "set_hw_address_and_unknown"] - - [0x70000718, "idle_entry"] - - [0x70000738, "start_idle_thread"] - - [0x70000790, "start_rmon_thread"] - - [0x700007EC, "setup_message_queue_for_scheduler"] - - [0x7000089C, "main_entry"] - - [0x70000908, "setuplastentryofdebughandler"] - - # std_err_flags.s - # .text - - [0x70000970, "set_stderr.activated"] - - [0x7000097C, "set_stderr.enable"] - - [0x70000988, "set_stderr.permitted"] - - [0x70000994, "set_user.Compare"] - - - [0x700009A0, "testtodisplaystderrandupdatecount"] - - [0x700009F8, "testtodisplaystderrorevery16thframe"] - - [0x70000A88, "storecurrentcount"] - - [0x70000AAC, "scheduler"] - - [0x70000C14, "scheduler_audio_related"] - - [0x70000C70, "scheduler_related"] - - [0x70000CEC, "scheduler_related_0"] - - [0x70000CF8, "scheduler_related_1"] - - [0x70000D00, "shed_entry"] - - [0x70000E90, "scheduler_related_2"] - - [0x70000EB4, "scheduler_related_3"] - - [0x70001014, "scheduler_related_4"] - - [0x7000111C, "setcountertarget"] - - [0x70001128, "scheduler_related_5"] - - [0x700011E0, "scheduler_related_6"] - - [0x70001230, "scheduler_related_7"] - - [0x700013D8, "scheduler_related_8"] - - [0x70001440, "DPCFill"] - - [0x70001560, "scheduler_related_9"] - - [0x7000159C, "tlb_related_0"] - - [0x70001780, "osMapTLBRdb"] - - [0x700017E0, "tlb_related_1"] - - [0x70001898, "tlb_related_2"] - - [0x700018C0, "tlb_related_3"] - - [0x70001920, "tlb_related_4"] - - [0x70001954, "tlb_related_5"] - - [0x700019D8, "tlb_related_6"] - - [0x70001AF8, "tlb_related_7"] - - [0x70001B10, "tlb_related_8"] - - [0x70001B60, "tlb_entries"] - - [0x70001B88, "tlb_related_9"] - - [0x70001BB0, "set_hardwire_TLB_to_2"] - - [0x70001BD0, "init_audi"] - - [0x70001F58, "startaudithread"] - - [0x70001F7C, "audi_entry"] - - [0x70002244, "audi_related_0"] - - [0x700023E4, "audi_related_1"] - - [0x70002424, "audi_related_2"] - - [0x700025D8, "audi_related_3"] - - [0x70002610, "audi_related_4"] - - [0x70002730, "video_related_0"] - - [0x700027A4, "video_related_1"] - - [0x70002810, "video_related_2"] - - [0x70002854, "video_related_3"] - - [0x70002958, "display_speed_graph"] - - [0x70002CD8, "video_related_4"] - - [0x70003060, "init_video_settings"] - - [0x70003124, "video_related_5"] - - [0x70003190, "video_related_6"] - - [0x700031A0, "video_related_7"] - - [0x70003298, "video_related_8"] - - [0x70003B04, "video_related_9"] - - [0x70003B64, "receive_vi_c_msgs"] - - [0x70003BB0, "setVideoWidthHeightToMode"] - - [0x70003C00, "coloroutputmode_1"] - - [0x70003C10, "coloroutputmode_0"] - - [0x70003C1C, "setptr_video2buf"] - - [0x70003C2C, "video_related_C"] - - [0x70003C3C, "video_related_D"] - - [0x70003C4C, "get_80060824"] - - [0x70003C58, "video_related_F"] - - [0x70003EB4, "video_related_10"] - - [0x70003EF8, "setupscreensfornumplayers"] - - [0x700040B0, "video_related_12"] - - [0x70004384, "video_related_13"] - - [0x70004390, "video_related_14"] - - [0x7000439C, "video_related_15"] - - [0x700043A8, "video_related_16"] - - [0x700043B4, "video_related_17"] - - [0x700043D8, "video_related_18"] - - [0x700043E8, "video_related_19"] - - [0x700043F8, "set_video2_text_clip_size"] - - [0x7000441C, "get_ptr_video2setings_offset_4"] - - [0x7000442C, "get_ptr_video2setings_offset_6"] - - [0x7000443C, "set_video2_width_height"] - - [0x7000449C, "video_related_1A"] - - [0x700044AC, "video_related_1B"] - - [0x700044BC, "set_video2_ulx_uly"] - - [0x70004514, "video_related_1C"] - - [0x70004524, "video_related_1D"] - - [0x70004534, "video_related_1E"] - - [0x70004544, "video_related_1F"] - - [0x70004580, "video_related_20"] - - [0x70004590, "video_related_21"] - - [0x700045CC, "video_related_22"] - - [0x700045DC, "video_related_23"] - - [0x700045EC, "video_related_24"] - - [0x70004640, "video_related_25"] - - [0x70004650, "set_page_height"] - - [0x7000469C, "video_related_26"] - - [0x700046AC, "video_related_27"] - - [0x700046D0, "video_related_28"] - - [0x70004758, "indy_grab_jpg_16bit"] - - [0x700048D4, "indy_grab_jpg_32bit"] - - [0x70004A60, "indy_grab_rgb_16bit"] - - [0x70004BB4, "indy_grab_rgb_32bit"] - - [0x70004D20, "debug_related_0"] - - [0x70004D80, "debug_related_1"] - - [0x70004DE0, "debug_related_2"] - - [0x70004E2C, "something_with_deb_c_debug"] - - [0x70004E60, "get_ptr_debug_notice_list_entry"] - - [0x70004E98, "debug_related_3"] - - [0x70004EB4, "debug_related_4"] - - [0x70004EBC, "debug_related_5"] - - [0x70004EC4, "debug_related_6"] - - [0x70004EE0, "init_debug"] - - [0x70004F54, "debug_entry"] - - [0x70005080, "debug_related_7"] - - [0x700050AC, "debug_related_8"] - - [0x700051E0, "debug_related_9"] - - [0x70005258, "debug_related_A"] - - [0x70005294, "indy_file_related"] - - [0x70005340, "debug_indy_related_B"] - - [0x700053C8, "debug_indy_related_C"] - - [0x700053FC, "debug_indy_related_D"] - - [0x70005404, "debug_indy_related_E"] - - [0x7000540C, "debug_indy_related_F"] - - [0x70005414, "debug_indy_related_10"] - - [0x70005420, "debug_sp_related_11"] - - [0x700054E4, "debug_sp_related_12"] - - [0x70005560, "std_error_related_0"] - - [0x700055A4, "std_error_related_1"] - - [0x700055C8, "std_error_related_2"] - - [0x70005618, "std_error_related_3"] - - [0x70005628, "std_error_related_4"] - - [0x70005630, "write_char_to_pos_stderr"] - - [0x700056BC, "write_char_to_stderr"] - - [0x700057CC, "scroll_stderr_oneline"] - - [0x7000585C, "print_charA2_to_posA0A1_in_vidbuf1"] - - [0x70005984, "set_ptr_video_buffers"] - - [0x700059A4, "set_video_buffer_pointers"] - - [0x700059D0, "proc_video_related"] - - [0x70005B10, "proc_70005B10"] - - [0x70005B60, "memory_related_0"] - - [0x70005B90, "memory_related_1"] - - [0x70005BF0, "memory_related_2"] - - [0x70005C1C, "load_bytes_from_mebank_to_membank"] - - [0x70005C44, "memory_related_3"] - - [0x70005CA8, "memory_related_4"] - - [0x70005D08, "memory_related_5"] - - [0x70005D20, "memory_related_6"] - - [0x70005D30, "init_mainthread_data"] - - [0x70005FF4, "enable_show_mem_use_flag"] - - [0x70006004, "mem_bars_flag_related"] - - [0x7000601C, "setup_gamevalues_and_launchmainloop"] - - [0x70006050, "proc_stubbed_0"] - - [0x70006060, "mainloop"] - - [0x70006930, "run_title_stage"] - - [0x70006950, "set_loaded_stage"] - - [0x7000695C, "get_stage_num"] - - [0x70006968, "is_stage_cuba_check"] - - [0x700069A4, "proc_stubbed"] - - [0x700069B4, "get_debug_parse_flag"] - - [0x700069C0, "something_with_boss_c_debug"] - - [0x700069F0, "audio_related"] - - [0x70006A30, "setupaudio"] - - [0x70006E7C, "musicTrack1Play"] - - [0x70006FD0, "musicTrack1Stop"] - - [0x70007030, "get_music1len"] - - [0x7000703C, "musicTrack1Vol"] - - [0x700070A0, "musicTrack1Tempo"] - - [0x700070F8, "music_related_1"] - - [0x70007158, "music_related_2"] - - [0x70007168, "music_related_3"] - - [0x700071F4, "music_related_4"] - - [0x70007204, "musicTrack2Play"] - - [0x70007358, "musicTrack2Stop"] - - [0x700073B8, "get_music2len"] - - [0x700073C4, "musicTrack2Vol"] - - [0x70007428, "music_related_5"] - - [0x70007480, "music_related_6"] - - [0x700074E0, "music_related_7"] - - [0x700074F0, "music_related_8"] - - [0x7000757C, "music_related_9"] - - [0x7000758C, "music_related_3rd_block"] - - [0x700076E0, "musicTrack3Stop"] - - [0x70007740, "get_music3len"] - - [0x7000774C, "musicTrack3Vol"] - - [0x700077B0, "music_related_10"] - - [0x70007808, "music_related_11"] - - [0x70007868, "music_related_12"] - - [0x70007878, "music_related_13"] - - [0x70007904, "music_related_14"] - - [0x70007914, "music_related_15"] - - [0x70007B20, "music_related_16"] - - [0x70007DDC, "music_related_17"] - - [0x70007E80, "music_related_18"] - - [0x70008948, "music_related_19"] - - [0x700089C4, "music_related_20"] - - [0x70008A30, "music_related_21"] - - [0x70008AF0, "music_related_22"] - - [0x70008B70, "music_related_23"] - - [0x70008D04, "music_related_24"] - - [0x70008DD8, "music_related_25"] - - [0x70008DF0, "sfxGetArg0Unk3F"] - - [0x70008E08, "music_related_27"] - - [0x70009020, "sfxSetArg0Unk3EPostEvent"] - - [0x7000906C, "music_related_29"] - - [0x70009124, "music_related_30"] - - [0x70009134, "music_related_31"] - - [0x70009144, "music_related_32"] - - [0x70009154, "music_related_33"] - - [0x70009164, "music_related_34"] - - [0x70009174, "music_related_35"] - - [0x70009184, "music_related_36"] - - [0x700091C8, "music_related_37"] - - [0x700091E8, "music_related_38"] - - [0x70009238, "music_related_39"] - - [0x70009254, "music_related_40"] - - [0x70009264, "music_related_41"] - - [0x70009284, "music_related_42"] - - [0x70009380, "something_with_memp_c_debug"] - - [0x700093AC, "check_memflag_tokens"] - - [0x70009514, "memp_related_0"] - - [0x70009720, "allocate_bytes_in_bank"] - - [0x70009804, "memp_related_1"] - - [0x700098E0, "memp_related_2"] - - [0x700098F0, "nulled_list_all8_mem_alloc_banks_sizes"] - - [0x70009910, "memp_related_3"] - - [0x70009970, "memp_related_4"] - - [0x7000998C, "memp_related_5"] - - [0x7000999C, "reset_mem_bank_a0"] - - [0x700099C4, "memp_related_6"] - - [0x70009A10, "swap_entries"] - - [0x70009A34, "merge_alloc_entries"] - - [0x70009A50, "sort_merge_entries_in_alloc_table"] - - [0x70009B18, "memp_related_7"] - - [0x70009B60, "mem_related"] - - [0x70009C74, "mem_related_model_room_buffers"] - - [0x70009D6C, "something_with_mema_c_debug"] - - [0x70009D98, "reset_memtable_base_allocation"] - - [0x70009E10, "mem_related_calls_sort_merge_entries"] - - [0x70009E34, "mem_related_something_find_first"] - - [0x70009F84, "mem_related_stubbed"] - - [0x70009FA8, "mem_related_something_find_first_0"] - - [0x7000A020, "mem_related_model_room_buffers_0"] - - [0x7000A040, "mem_related_allocated_table_related"] - - [0x7000A064, "mem_related_something_first_related"] - - [0x7000A100, "generate_list_alloc_mem"] - - [0x7000A29C, "generate_lists_before_after_mem_merge"] - - [0x7000A2F8, "mem_related_something_first_related_0"] - - [0x7000A370, "mem_related_0"] - - [0x7000A3DC, "mem_related_1"] - - [0x7000A434, "mem_related_stubbed_0"] - - [0x7000A450, "random_related"] - - [0x7000A498, "increment_random_num"] - - [0x7000A4AC, "lotsa_shifting_random_related?"] - - [0x7000A4F0, "check_string_something"] - - [0x7000A58C, "strtok"] - - [0x7000A5C0, "check_boot_switches"] - - [0x7000A6A0, "check_token"] - - [0x7000A770, "proc_7000A770"] - - [0x7000A7A0, "proc_7000A7A0"] - - [0x7000A7FC, "proc_7000A7FC"] - - [0x7000A84C, "proc_7000A84C"] - - [0x7000A898, "string_related"] - - [0x7000A8F8, "strtol_related"] - - [0x7000A930, "strtol_related_0"] - - [0x7000A950, "strtol_related_1"] - - [0x7000A98C, "strtol_related_2"] - - [0x7000A9E0, "strtol"] - - [0x7000AC70, "proutSprintf"] - - [0x7000AC94, "sprintf"] - - [0x7000ACF0, "start_pi_manager"] - - [0x7000AD30, "start_nulled_entry"] - - [0x7000AD38, "something_with_vi_c_debug"] - - [0x7000AD80, "store_a0_to_sp0_a1_to_sp4_return_v0_0_0"] - - [0x7000AD90, "store_a0_to_sp0_a1_to_sp4_return_v0_0"] - - [0x7000ADA0, "null_5"] - - [0x7000ADA8, "null_init_main_0"] - - [0x7000ADB0, "debug_text_related_2"] - - [0x7000ADD0, "display_text_to_coord"] - - [0x7000AEDC, "debug_menu_text_related"] - - [0x7000AF00, "debug_text_related_1"] - - [0x7000AF84, "stubbed_function"] - - [0x7000AF98, "something_debug_info_related"] - - [0x7000B040, "set_final_debug_text_positions"] - - [0x7000B06C, "set_debug_text_color"] - - [0x7000B098, "set_color_speedgraph"] - - [0x7000B0C4, "write_char_to_screen"] - - [0x7000B1C0, "debug_text_related_0"] - - [0x7000B1D8, "proc_7000B1D8"] - - [0x7000B1E8, "write_string_stdout"] - - [0x7000B230, "debug_text_related"] - - [0x7000B27C, "read_screen_display_block_and_write_chars"] - - [0x7000B560, "something_with_joy_c_debug"] - - [0x7000B6AC, "message_queue_related"] - - [0x7000B728, "proc_7000B728"] - - [0x7000B734, "controller_7000B734"] - - [0x7000B810, "controller_7000B810"] - - [0x7000B9F8, "controller_7000B9F8"] - - [0x7000BA70, "controller_7000BA70"] - - [0x7000BA7C, "controller_7000BA7C"] - - [0x7000BBA8, "controller_7000BBA8"] - - [0x7000BBBC, "ramrom_7000BBBC"] - - [0x7000BBC8, "probably_ramrom_related"] - - [0x7000BD0C, "redirect_to_ramrom_replay_and_record_handlers_if_set"] - - [0x7000BD88, "controller_7000BD88"] - - [0x7000C0EC, "get_cur_controller_horz_stick_pos"] - - [0x7000C174, "controller_7000C174"] - - [0x7000C1FC, "get_cur_controller_vert_stick_pos"] - - [0x7000C284, "controller_7000C284"] - - [0x7000C30C, "get_controller_buttons_held"] - - [0x7000C3AC, "get_controller_buttons_pressed"] - - [0x7000C430, "controller_7000C430"] - - [0x7000C470, "controller_7000C470"] - - [0x7000C4B4, "get_controller_3dstick_L_R"] - - [0x7000C528, "get_controller_3dstick_U_D"] - - [0x7000C59C, "controller_7000C59C"] - - [0x7000C60C, "controller_7000C60C"] - - [0x7000C67C, "controller_7000C67C"] - - [0x7000C6BC, "controller_7000C6BC"] - - [0x7000C6FC, "save_7000C6FC"] - - [0x7000C734, "save_7000C734"] - - [0x7000C778, "save_7000C778"] - - [0x7000C7BC, "save_7000C7BC"] - - [0x7000C808, "save_7000C808"] - - [0x7000C854, "controller_7000C854"] - - [0x7000C8DC, "reset_cont_rumble_detect"] - - [0x7000C930, "controller_7000C930"] - - [0x7000C954, "controller_7000C954"] - - [0x7000C980, "send_rumble_off_to_PIF"] - - [0x7000CAAC, "controller_7000CAAC"] - - [0x7000CBDC, "controller_7000CBDC"] - - [0x7000CD38, "controller_7000CD38"] - - [0x7000CEA0, "rmon_entry"] - - [0x7000CEA8, "returns_v0_1"] - - [0x7000CEB0, "returns_neg_1"] - - [0x7000CEB8, "null_4"] - - [0x7000CEC0, "null_3"] - - [0x7000CEC8, "null_2"] - - [0x7000CED0, "null_1"] - - [0x7000CED8, "null_0"] - - [0x7000CEE0, "null"] - - [0x7000CEE8, "write_A2chars_from_stringA1_to_stderr"] - - [0x7000CF44, "stderr_string_related"] - - [0x7000CF90, "osPiRawStartDma"] - - [0x7000D070, "osPiGetStatus"] - - [0x7000D080, "osInitialize"] - - [0x7000D320, "osWritebackDCacheAll"] - - [0x7000D350, "osInvalICache"] - - [0x7000D3AC, "ultra_7000D3AC"] - - [0x7000D3D0, "osUnmapTLB"] - - [0x7000D410, "__osGetFpcCsr"] - - [0x7000D420, "__osSetFpcCsr"] - - [0x7000D430, "osCreateThread"] - - [0x7000D580, "osStartThread"] - - [0x7000D6D0, "osCreateMesgQueue"] - - [0x7000D740, "osStopThread"] - - [0x7000D800, "osSetThreadPri"] - - [0x7000D8E0, "osGetCount"] - - [0x7000D8F0, "osCreateViManager"] - - [0x7000DA78, "viMgrMain"] - - [0x7000DC30, "osCreateViManager_sub"] - - [0x7000DC50, "osSetEventMesg"] - - [0x7000DCC0, "osViSetEvent"] - - [0x7000DD30, "osSetIntMask"] - - [0x7000DDD0, "osRecvMesg"] - - [0x7000DF10, "osSendMesg"] - - [0x7000E060, "osViSetMode"] - - [0x7000E0D0, "osViSetXScale"] - - [0x7000E200, "osViSetYScale"] - - [0x7000E260, "osViRepeatLine"] - - [0x7000E2D0, "osViBlack"] - - [0x7000E340, "osSpTaskYielded"] - - [0x7000E3C0, "osDpGetCounters"] - - [0x7000E410, "osViGetCurrentFramebuffer"] - - [0x7000E450, "osViGetNextFramebuffer"] - - [0x7000E490, "osViSwapBuffer"] - - [0x7000E4E0, "osDpSetStatus"] - - [0x7000E4F0, "_VirtualToPhysicalTask"] - - [0x7000E60C, "osSpTaskLoad"] - - [0x7000E76C, "osSpTaskStartGo"] - - [0x7000E7B0, "osDpSetNextBuffer"] - - [0x7000E860, "osSpTaskYield"] - - [0x7000E880, "__osGetTLBHi"] - - [0x7000E8B0, "osVirtualToPhysical"] - - [0x7000E930, "osAiSetFrequency"] - - [0x7000EA90, "alUnlink"] - - [0x7000EAC0, "alLink"] - - [0x7000EAE4, "alClose"] - - [0x7000EB1C, "alInit"] - - [0x7000EB50, "alHeapDBAlloc"] - - [0x7000EBB0, "osGetTime"] - - [0x7000EC40, "__ull_rshift"] - - [0x7000EC6C, "__ull_rem"] - - [0x7000EC94, "unknown_libname_27"] - - [0x7000ECA8, "ull_div"] - - [0x7000ECD0, "unknown_libname_29"] - - [0x7000ECE4, "__ll_lshift"] - - [0x7000ED10, "__ll_rem"] - - [0x7000ED38, "unknown_libname_31"] - - [0x7000ED4C, "__ll_div"] - - [0x7000EDA8, "__ll_mul"] - - [0x7000EDD8, "__ull_divremi"] - - [0x7000EE38, "__ll_mod"] - - [0x7000EE68, "ultra_7000EE68"] - - [0x7000EE84, "ultra_7000EE84"] - - [0x7000EE9C, "ultra_7000EE9C"] - - [0x7000EEB4, "ultra_7000EEB4"] - - [0x7000EEC4, "ultra_7000EEC4"] - - [0x7000EED4, "__ll_rshift"] - - [0x7000EF00, "osAiSetNextBuffer"] - - [0x7000EFB0, "osAiGetLength"] - - [0x7000EFC0, "nullsub_60"] - - [0x7000EFC8, "_timeToSamples"] - - [0x7000F020, "_freePVoice"] - - [0x7000F058, "_collectPVoices"] - - [0x7000F0B8, "__freeParam"] - - [0x7000F0D0, "__allocParam"] - - [0x7000F100, "nullsub_61"] - - [0x7000F108, "alAudioFrame"] - - [0x7000F3A0, "alSynNew"] - - [0x7000F6A0, "osPiStartDma"] - - [0x7000F7B0, "osViSetSpecialFeatures"] - - [0x7000F970, "_bcopy"] - - [0x7000F9A4, "ultra_7000F9A4"] - - [0x7000F9BC, "ultra_7000F9BC"] - - [0x7000F9C8, "ultra_7000F9C8"] - - [0x7000F9DC, "ultra_7000F9DC"] - - [0x7000F9E4, "ultra_7000F9E4"] - - [0x7000FA18, "ultra_7000FA18"] - - [0x7000FA2C, "ultra_7000FA2C"] - - [0x7000FA48, "ultra_7000FA48"] - - [0x7000FAA4, "ultra_7000FAA4"] - - [0x7000FAA8, "ultra_7000FAA8"] - - [0x7000FAE0, "ultra_7000FAE0"] - - [0x7000FAE4, "ultra_7000FAE4"] - - [0x7000FB08, "ultra_7000FB08"] - - [0x7000FB24, "ultra_7000FB24"] - - [0x7000FB38, "ultra_7000FB38"] - - [0x7000FB54, "ultra_7000FB54"] - - [0x7000FB88, "ultra_"] - - [0x7000FB9C, "ultra_7000FB9C"] - - [0x7000FBB8, "ultra_7000FBB8"] - - [0x7000FC14, "ultra_7000FC14"] - - [0x7000FC18, "ultra_7000FC18"] - - [0x7000FC50, "ultra_7000FC50"] - - [0x7000FC54, "ultra_7000FC54"] - - [0x7000FC80, "guPerspectiveF"] - - [0x7000FEB0, "guPerspective"] - - [0x7000FF10, "guMtxF2L"] - - [0x70010010, "guMtxIdentF"] - - [0x70010098, "guMtxIdent"] - - [0x700100C8, "guMtxL2F"] - - [0x70010180, "ultra_70010180"] - - [0x70010190, "__osExceptionPreamble"] - - [0x700101A0, "__osException"] - - [0x70010390, "next_interrupt"] - - [0x700103C8, "IP6_Hdlr"] - - [0x700103D4, "IP7_Hdlr"] - - [0x700103E0, "counter"] - - [0x70010400, "cart"] - - [0x70010454, "rcp"] - - [0x70010594, "prenmi"] - - [0x700105F0, "sw2"] - - [0x70010610, "swl"] - - [0x70010648, "redispatch"] - - [0x7001067C, "enqueueRunning"] - - [0x700106C4, "send_mesg"] - - [0x70010778, "handle_CpU"] - - [0x700107AC, "__osEnqueueAndYield"] - - [0x700108AC, "__osEnqueueThread"] - - [0x700108F4, "__osPopThread"] - - [0x70010904, "__osDispatchThread"] - - [0x70010924, "__osDispatchThreadSave"] - - [0x70010A80, "__osCleanupThread"] - - [0x70010A90, "__osDequeueThread"] - - [0x70010AA4, "ultra_70010AA4"] - - [0x70010AB8, "ultra_70010AB8"] - - [0x70010AC8, "ultra_70010AC8"] - - [0x70010AD0, "osYieldThread"] - - [0x70010B20, "osInvalDCache"] - - [0x70010BD0, "osWritebackDCache"] - - [0x70010C50, "osSetTimer"] - - [0x70010D30, "alHeapInit"] - - [0x70010D70, "nullsub_62"] - - [0x70010D78, "nullsub_63"] - - [0x70010D80, "ultra_70010D80"] - - [0x70010E6C, "nullsub_64"] - - [0x70010E74, "alBnkfNew"] - - [0x70010F78, "alSeqFileNew"] - - [0x70010FB0, "alSynFreeFX_1"] - - [0x70010FC0, "__CSPPostNextSeqEvent"] - - [0x70011030, "ultra_70011030"] - - [0x70011064, "nullsub_65"] - - [0x7001106C, "ultra_7001106C"] - - [0x7001123C, "ultra_7001123C"] - - [0x70011A64, "nullsub_66"] - - [0x70011A6C, "ultra_70011A6C"] - - [0x70012080, "alCSPNew"] - - [0x700121F0, "unknown_libname_61"] - - [0x70012230, "unknown_libname_62"] - - [0x70012240, "alCSeqGetLoc"] - - [0x700122E0, "alCSeqSetLoc"] - - [0x70012380, "ultra_70012380"] - - [0x70012444, "ultra_70012444"] - - [0x7001249C, "nullsub_67"] - - [0x700124A4, "alCSeqNextEvent"] - - [0x7001279C, "alCSeqNew"] - - [0x700128B0, "alCSeqNewMarker"] - - [0x700129F8, "ultra_80700129F8"] - - [0x70012A1C, "alCSeqGetTicks"] - - [0x70012A24, "alCSeqSecToTicks"] - - [0x70012B20, "alCSeqTicksToSec"] - - [0x70012B8C, "__alCSeqNextDelta"] - - [0x70012D00, "unknown_libname_63"] - - [0x70012D40, "unknown_libname_64"] - - [0x70012D70, "unknown_libname_65"] - - [0x70012DA0, "unknown_libname_66"] - - [0x70012DE0, "alEvtqFlushType"] - - [0x70012E8C, "alEvtqFlush"] - - [0x70012EFC, "alEvtqPostEvent"] - - [0x70013020, "alEvtqNextEvent"] - - [0x700130AC, "alEvtqNew"] - - [0x70013120, "alSynAddPlayer"] - - [0x70013170, "_allocatePVoice"] - - [0x70013258, "alSynAllocVoice"] - - [0x700133A0, "alSynSetVol"] - - [0x70013440, "alSynStartVoice"] - - [0x700134D0, "alSynSetPan"] - - [0x70013560, "alSynSetPitch"] - - [0x700135F0, "alSynSetFXMix"] - - [0x70013690, "alSynStopVoice"] - - [0x70013710, "alSynFreeVoice"] - - [0x700137C0, "alCents2Ratio"] - - [0x70013810, "osPiReadIo"] - - [0x70013850, "memcpy"] - - [0x7001385C, "ultra_7001385C"] - - [0x70013874, "ultra_70013874"] - - [0x7001387C, "ultra_7001387C"] - - [0x700138A4, "strchr"] - - [0x700138F0, "_Putfld"] - - [0x70013F60, "_Printf"] - - [0x700145B0, "osCreatePiManager"] - - [0x70014740, "osPfsInit"] - - [0x700147F4, "__osPfsGetStatus"] - - [0x70014900, "osContInit"] - - [0x70014AF8, "__osContGetInitData"] - - [0x70014BC8, "__osPackRequestData"] - - [0x70014CC0, "osContStartQuery"] - - [0x70014D44, "osContGetQuery"] - - [0x70014D70, "osContStartReadData"] - - [0x70014E34, "osContGetReadData"] - - [0x70014EDC, "osContReadData_sub"] - - [0x70014FD0, "osEepromProbe"] - - [0x70015040, "osEepromRead"] - - [0x70015230, "osEepromRead_sub"] - - [0x70015340, "osEepromWrite"] - - [0x700154F0, "osEepromWrite_sub"] - - [0x700155FC, "__osEepStatus"] - - [0x70015820, "osEepromLongRead"] - - [0x70015960, "osEepromLongWrite"] - - [0x70015AA0, "osPfsIsPlug"] - - [0x70015C40, "__osPfsRequestData"] - - [0x70015D3C, "__osPfsGetInitData"] - - [0x70015E10, "__osSiCreateAccessQueue"] - - [0x70015E60, "__osSiGetAccess"] - - [0x70015EA4, "__osSiRelAccess"] - - [0x70015ED0, "__osSiRawStartDma"] - - [0x70015F80, "__osContAddressCrc"] - - [0x70016030, "__osContDataCrc"] - - [0x70016100, "__osContRamWrite"] - - [0x70016330, "__osContRamWrite_sub"] - - [0x700164B0, "__osContRamRead"] - - [0x700166F4, "__osContRamRead_sub"] - - [0x70016860, "guAlignF"] - - [0x70016A20, "guAlign"] - - [0x70016A70, "guOrthoF"] - - [0x70016BC4, "guOrtho"] - - [0x70016C30, "coss"] - - [0x70016C50, "unknown_libname_33"] - - [0x70016C60, "sins"] - - [0x70016C98, "ultra_70016C98"] - - [0x70016CAC, "ultra_70016CAC"] - - [0x70016CC8, "ultra_70016CC8"] - - [0x70016CD0, "guTranslateF"] - - [0x70016D08, "unknown_libname_34"] - - [0x70016D18, "guTranslate"] - - [0x70016D70, "_bcmp"] - - [0x70016E90, "guScaleF"] - - [0x70016EE4, "guScale"] - - [0x70016F30, "guLookAtReflectF"] - - [0x70017370, "guLookAtReflect"] - - [0x700173F0, "guLookAtF"] - - [0x700176A8, "guLookAt"] - - [0x70017720, "guRotateF"] - - [0x700178B4, "guRotate"] - - [0x70017910, "__d_to_ll"] - - [0x7001792C, "__f_to_ll"] - - [0x70017948, "__d_to_ull"] - - [0x700179BC, "ultra_700179BC"] - - [0x700179C4, "ultra_700179C4"] - - [0x700179D4, "ultra_700179D4"] - - [0x700179E8, "__f_to_ull"] - - [0x70017A58, "ultra_70017A58"] - - [0x70017A60, "ultra_70017A60"] - - [0x70017A70, "ultra_70017A70"] - - [0x70017A84, "__ll_to_d"] - - [0x70017A9C, "__ll_to_f"] - - [0x70017AB4, "__ull_to_d"] - - [0x70017AE0, "ultra_70017AE0"] - - [0x70017AE8, "__ull_to_f"] - - [0x70017B10, "ultra_70017B10"] - - [0x70017B20, "__osSetSR"] - - [0x70017B30, "__osGetSR"] - - [0x70017B40, "__osSiRawReadIo"] - - [0x70017B90, "__osSiRawWriteIo"] - - [0x70017BE0, "osPiRawReadIo"] - - [0x70017C40, "_blkclr"] - - [0x70017CE0, "__osSetHWIntrRoutine"] - - [0x70017D30, "__osLeoInterrupt"] - - [0x70018414, "__osLeoInterrupt_sub1"] - - [0x700184FC, "__osLeoInterrupt_sub2"] - - [0x700185F0, "__osDisableInt"] - - [0x70018610, "__osRestoreInt"] - - [0x70018630, "__osTimerServicesInit"] - - [0x700186BC, "__osTimerInterrupt"] - - [0x70018834, "__osSetTimerIntr"] - - [0x700188A8, "__osInsertTimer"] - - [0x70018A30, "osGetThreadPri"] - - [0x70018A50, "__osViInit"] - - [0x70018B60, "__osViGetCurrentContext"] - - [0x70018B70, "__osViSwapContext"] - - [0x70018ED0, "__osSpGetStatus"] - - [0x70018EE0, "__osSpSetStatus"] - - [0x70018EF0, "__osSpSetPc"] - - [0x70018F30, "__osSpRawStartDma"] - - [0x70018FC0, "__osSpDeviceBusy"] - - [0x70018FF0, "__osDpDeviceBusy"] - - [0x70019020, "__osProbeTLB"] - - [0x700190E0, "alSynDelete"] - - [0x700190F0, "__osAiDeviceBusy"] - - [0x70019120, "alSaveNew"] - - [0x70019164, "alMainBusNew"] - - [0x700191B8, "alAuxBusNew"] - - [0x7001920C, "alResampleNew"] - - [0x70019294, "alLoadNew"] - - [0x7001933C, "alEnvmixerNew"] - - [0x700193E0, "init_lpfilter"] - - [0x70019480, "alFxNew"] - - [0x700198C0, "alSynAllocFX"] - - [0x70019960, "alMainBusParam"] - - [0x70019990, "alMainBusPull"] - - [0x70019AB0, "alLoadParam"] - - [0x70019C84, "alRaw16Pull"] - - [0x7001A030, "ultra_7001A030"] - - [0x7001A15C, "alAdpcmPull"] - - [0x7001A600, "alResampleParam"] - - [0x7001A6EC, "alResamplePull"] - - [0x7001A900, "_ldexpf"] - - [0x7001A928, "_frexpf"] - - [0x7001AA14, "alEnvmixerParam"] - - [0x7001AAF4, "ultra_7001AAF4"] - - [0x7001ABB4, "ultra_7001ABB4"] - - [0x7001AE54, "nullsub_68"] - - [0x7001AE5C, "ultra_7001AE5C"] - - [0x7001B00C, "alEnvmixerPull"] - - [0x7001B4E0, "ultra_7001B4E0"] - - [0x7001B510, "ultra_7001B510"] - - [0x7001B5F0, "alSaveParam"] - - [0x7001B624, "alSavePull"] - - [0x7001B6B0, "osJamMesg"] - - [0x7001B800, "osPiGetCmdQueue"] - - [0x7001B830, "ultra_7001B830"] - - [0x7001B880, "ultra_7001B880"] - - [0x7001B8C4, "ultra_7001B8C4"] - - [0x7001B8D4, "ultra_7001B8D4"] - - [0x7001B954, "ultra_7001B954"] - - [0x7001B974, "ultra_7001B974"] - - [0x7001B98C, "ultra_7001B98C"] - - [0x7001B9A0, "ultra_7001B9A0"] - - [0x7001BA18, "ultra_7001BA18"] - - [0x7001BA20, "ultra_7001BA20"] - - [0x7001BA84, "ultra_7001BA84"] - - [0x7001BAA0, "ultra_7001BAA0"] - - [0x7001BB1C, "ultra_7001BB1C"] - - [0x7001BB38, "ultra_7001BB38"] - - [0x7001BB54, "ultra_7001BB54"] - - [0x7001BB60, "osDestroyThread"] - - [0x7001BC60, "__setInstChanState"] - - [0x7001BCB4, "__resetPerfChanState"] - - [0x7001BD34, "__initFromBank"] - - [0x7001BDE8, "nullsub_69"] - - [0x7001BDF0, "__vsDelta"] - - [0x7001BE14, "__vsVol"] - - [0x7001BE9C, "__seqpReleaseVoice"] - - [0x7001BFC8, "__voiceNeedsNoteKill"] - - [0x7001C070, "__unmapVoice"] - - [0x7001C0E0, "__postNextSeqEvent"] - - [0x7001C1BC, "ultra_7001C1BC"] - - [0x7001C234, "__vsPan"] - - [0x7001C27C, "__lookupVoice"] - - [0x7001C2F0, "__mapVoice"] - - [0x7001C360, "__lookupSoundQuick"] - - [0x7001C45C, "ultra_7001C45C"] - - [0x7001CC74, "nullsub_70"] - - [0x7001CC7C, "ultra_7001CC7C"] - - [0x7001D2A0, "__seqpStopOsc"] - - [0x7001D300, "unknown_libname_37"] - - [0x7001D32C, "unknown_libname_38"] - - [0x7001D338, "unknown_libname_39"] - - [0x7001D35C, "unknown_libname_40"] - - [0x7001D38C, "unknown_libname_41"] - - [0x7001D3A0, "unknown_libname_42"] - - [0x7001D3A4, "__initChanState"] - - [0x7001D3F0, "unknown_libname_43"] - - [0x7001D408, "unknown_libname_44"] - - [0x7001D414, "alSeqpNew"] - - [0x7001D418, "unknown_libname_45"] - - [0x7001D41C, "unknown_libname_46"] - - [0x7001D424, "unknown_libname_47"] - - [0x7001D5A0, "alSynStartVoiceParams"] - - [0x7001D690, "alCopy"] - - [0x7001D710, "__osPiCreateAccessQueue"] - - [0x7001D760, "__osPiGetAccess"] - - [0x7001D7A4, "__osPiRelAccess"] - - [0x7001D7D0, "_Litob"] - - [0x7001D808, "ultra_7001D808"] - - [0x7001D810, "ultra_7001D810"] - - [0x7001D824, "ultra_7001D824"] - - [0x7001D840, "ultra_7001D840"] - - [0x7001D844, "ultra_7001D844"] - - [0x7001D870, "ultra_7001D870"] - - [0x7001D88C, "ultra_7001D88C"] - - [0x7001D8AC, "ultra_7001D8AC"] - - [0x7001D8D0, "ultra_7001D8D0"] - - [0x7001D8D4, "ultra_7001D8D4"] - - [0x7001D90C, "ultra_7001D90C"] - - [0x7001D944, "ultra_7001D944"] - - [0x7001D968, "ultra_7001D968"] - - [0x7001D9D4, "ultra_7001D9D4"] - - [0x7001D9DC, "ultra_7001D9DC"] - - [0x7001D9E0, "ultra_7001D9E0"] - - [0x7001DA0C, "ultra_7001DA0C"] - - [0x7001DA4C, "ultra_7001DA4C"] - - [0x7001DA50, "ultra_7001DA50"] - - [0x7001DA70, "xldtob_sub0"] - - [0x7001DFD8, "nullsub_71"] - - [0x7001DFE0, "_Ldtob"] - - [0x7001E530, "osEPiRawStartDma"] - - [0x7001E610, "__osDevMgrMain"] - - [0x7001E9B0, "ultra_jmp_arg_0x1C"] - - [0x7001E9C0, "__osSumcalc"] - - [0x7001EA1C, "__osIdCheckSum"] - - [0x7001EA84, "__osRepairPackId"] - - [0x7001EE9C, "__osCheckPackId"] - - [0x7001F034, "__osGetId"] - - [0x7001F290, "__osCheckId"] - - [0x7001F380, "ultra_stubbed"] - - [0x7001F38C, "__osPfsRWInode"] - - [0x7001F6AC, "__osPfsSelectBank"] - - [0x7001F720, "__osSiDeviceBusy"] - - [0x7001F750, "guNormalize"] - - [0x7001F7E0, "sqrtf"] - - [0x7001F7F0, "osLeoDiskInit"] - - [0x7001F8E0, "__osSetCompare"] - - [0x7001F8F0, "alFilterNew"] - - [0x7001F910, "_doModFunc"] - - [0x7001F9B8, "_filterBuffer"] - - [0x7001FA70, "_saveBuffer"] - - [0x7001FBF8, "_loadBuffer"] - - [0x7001FD84, "_loadOutputBuffer"] - - [0x7001FFA8, "alFxParamHdl"] - - [0x700201C0, "alFxParam_0"] - - [0x700201D8, "alFxPull_0"] - - [0x70020204, "alFxParam"] - - [0x7002021C, "alFxPull"] - - [0x70020520, "alSeqGetLoc"] - - [0x7002053C, "alSeqSetLoc"] - - [0x70020558, "alSeqGetTicks"] - - [0x70020560, "nullsub_72"] - - [0x70020568, "ultra_70020568"] - - [0x700205B4, "alSeqNextEvent"] - - [0x70020738, "alSeqNewMarker"] - - [0x70020858, "alSeqSecToTicks_"] - - [0x7002093C, "alSeqTicksToSec"] - - [0x70020990, "__alSeqNextDelta"] - - [0x700209E8, "ultra_700209E8"] - - [0x70020A38, "ultra_70020A38"] - - [0x70020A68, "alSeqNew"] - - [0x70020B30, "unknown_libname_49"] - - [0x70020B40, "alSynSetPriority"] - - [0x70020B50, "lldiv"] - - [0x70020BD0, "ultra_70020BD0"] - - [0x70020BE8, "ultra_70020BE8"] - - [0x70020C18, "ultra_70020C18"] - - [0x70020C1C, "ultra_70020C1C"] - - [0x70020C50, "ldiv"] - - [0x70020C68, "ultra_70020C68"] - - [0x70020C80, "ultra_70020C80"] - - [0x70020CB0, "ultra_70020CB0"] - - [0x70020CB8, "ultra_70020CB8"] - - [0x70020CE0, "__osResetGlobalIntMask"] - - [0x70020D40, "osEPiRawWriteIo"] - - [0x70200000, "decompress.buildtable"] - - [0x70200654, "decompress.inflate"] - - [0x70200A48, "decompress.type0"] - - [0x70200B9C, "decompress.type1"] - - [0x70200D04, "decompress.type2"] - - [0x70201228, "decompress.table"] - - [0x70201348, "decompress.start"] - - [0x7020141C, "decompress.entry"] - - [0x70201480, "rarezip.ptr_source"] - - [0x70201484, "rarezip.ptr_target"] - - [0x70201488, "rarezip.curoffset"] - - [0x7020148C, "rarezip.decompressed_count"] - - [0x70201490, "rarezip.ptrbuffer"] - - [0x70201494, "rarezip.order"] - - [0x702014A8, "rarezip.lbase"] - - [0x702014E8, "rarezip.lextra"] - - [0x70201508, "rarezip.dbase"] - - [0x70201544, "rarezip.dextra"] - - [0x70201564, "rarezip.sample"] - - [0x70201568, "rarezip.bits_in_sample"] - - [0x7020156C, "rarezip.masks"] - - [0x70201590, "rarezip.data1"] - - [0x70201594, "rarezip.data2"] - - [0x70201598, "rarezip.data3"] - - [0x7F000000, "zero_basic_data"] - - [0x7F000110, "reset_counter_rand_body_head"] - - [0x7F000518, "somethingwith_weapon_animation_groups"] - - [0x7F0009D0, "null_init_main_3"] - - [0x7F000A00, "expand_ani_table_entries"] - - [0x7F000AAC, "alloc_load_expand_ani_table"] - - [0x7F000B80, "set_gu_scale"] - - [0x7F000BC0, "null_init_main_2"] - - [0x7F000C70, "alloc_intro_matrices"] - - [0x7F000D20, "init_menus_or_reset"] - - [0x7F000EB8, "alloc_init_GUARDdata_entries"] - - [0x7F000F50, "set_new_rand_head_bodies"] - - [0x7F001020, "init_obj_register_difficulty_vals"] - - [0x7F00105C, "alloc_false_GUARDdata_to_exec_global_action"] - - [0x7F001258, "debug_object_load_all_models"] - - [0x7F00140C, "debug_weapon_load_table"] - - [0x7F0014B0, "init_sound_effects_registers"] - - [0x7F0015D0, "alloc_lookup_buffers"] - - [0x7F001750, "reinit_between_menus"] - - [0x7F001958, "write_monitor_ani_control_blocks"] - - [0x7F001B08, "initialize_80071E00_to_80071E78"] - - [0x7F001D9C, "prepare_load_objects"] - - [0x7F002738, "expand_08_obj_set_guard_MP_weapons"] - - [0x7F0029A8, "MP_weapon_expansion_routine"] - - [0x7F002A1C, "jmp_prepare_load_objects"] - - [0x7F002C58, "expand_type_0D_object_autoturret"] - - [0x7F002E1C, "jmp_prepare_load_objects_0"] - - [0x7F003BF0, "stage_loading_setup_objparse_cleanupafter"] - # (0x7F004388, "actor_attr_expand"] - # (0x7F0043BC, "actor_expand"] - # (0x7F0043E0, "door_expand"] - # (0x7F004410, "door_scale_expand"] - # (0x7F004434, "item_expand"] - # (0x7F004468, "key_expand"] - # (0x7F00449C, "hat_expand"] - # (0x7F0044D0, "surv_camera_expand"] - # (0x7F004500, "autogun_expand"] - # (0x7F004530, "rack_expand"] - # (0x7F004560, "single_screen_display_expand"] - # (0x7F004590, "multi_screen_display_expand"] - # (0x7F0045C0, "body_armor_expand"] - # (0x7F004614, "type2F_tinted_glass"] - # (0x7F004730, "obj_03_expand"] - # (0x7F004760, "ammo_box_expand"] - # (0x7F004814, "type2D_tank"] - # (0x7F0048A4, "type27_wheeled_vehicle"] - # (0x7F004954, "type28_aircraft"] - # (0x7F0049CC, "tag_expand"] - # (0x7F004A00, "type25_rename"] - # (0x7F004A34, "type23_solo_brief_text"] - # (0x7F004A44, "type2E_viewport_pos"] - # (0x7F004AC4, "type17_objective_expand"] - # (0x7F004AD4, "type20_subobjective_expand"] - # (0x7F004AE4, "type21_subobjective_expand"] - # (0x7F004AF4, "type1E_subobjective_expand"] - # (0x7F004AFC, "other_obj_expand"] - - [0x7F004F88, "set_parent_cur_tag_entry"] - - [0x7F004FA0, "setup_briefing_text_entry_parent"] - - [0x7F004FB8, "add_ptr_to_objective"] - - [0x7F004FF4, "set_parent_cur_obj_enter_room"] - - [0x7F00500C, "set_parent_cur_obj_deposited_in_room"] - - [0x7F005024, "set_parent_cur_obj_photograph"] - - [0x7F0050D0, "init_player_BONDdata_stats"] - - [0x7F005710, "set_weapon_model_generated_thrown_object"] - - [0x7F005740, "throwingknife"] - - [0x7F005748, "grenade_launch_round"] - - [0x7F005750, "rocket"] - - [0x7F005758, "grenade"] - - [0x7F005760, "timed_mine"] - - [0x7F005768, "prox_mine"] - - [0x7F005770, "remote_mine"] - - [0x7F005778, "rocket_0"] - - [0x7F005780, "bombcase"] - - [0x7F005788, "plastique"] - - [0x7F005790, "bug"] - - [0x7F005798, "microcamera"] - - [0x7F00579C, "default"] - - [0x7F0057C4, "load_camera_intro_type_values"] - # (0x7F005A7C, "spawn_point"] - # (0x7F005AF0, "weapon"] - # (0x7F005B78, "ammo"] - # (0x7F005BA0, "swirling_intro_cam"] - # (0x7F005C28, "intro_ani"] - # (0x7F005C3C, "cuff_char"] - # (0x7F005C50, "fixed_cam"] - # (0x7F005D14, "watch_time"] - # (0x7F005D8C, "credits"] - # (0x7F005DE0, "def_7F005A74"] - - [0x7F00625C, "alloc_init_1EplusA0_inventroy_entries"] - - [0x7F006D90, "alloc_explosion_smoke_casing_scorch_impact_buffers"] - - [0x7F0072F8, "disable_onscreen_cheat_text"] - - [0x7F007320, "set_mt_tex_alloc"] - - [0x7F007B94, "insert_sight_backdrop_eye_intro"] - - [0x7F007D8C, "insert_sniper_sight_eye_intro"] - - [0x7F0082C8, "insert_bond_eye_intro"] - - [0x7F0084C0, "load_display_rare_logo"] - - [0x7F008BDC, "retrieve_display_rareware_logo"] - - [0x7F009760, "write_text_at_abs_coord"] - - [0x7F009848, "cheat_handling"] - - [0x7F009874, "default_nonmenucheats"] - - [0x7F00987C, "cheat_invincible"] - - [0x7F00989C, "cheat_allguns"] - - [0x7F0098BC, "cheat_noradar"] - - [0x7F0098DC, "cheat_fast"] - - [0x7F0098FC, "cheat_invisible"] - - [0x7F00991C, "cheat_infinite_ammo"] - - [0x7F00993C, "cheat_dk_mode"] - - [0x7F00995C, "cheat_tinybond"] - - [0x7F00997C, "cheat_slow"] - - [0x7F00999C, "cheat_paintball"] - - [0x7F0099BC, "cheat_silverpp7"] - - [0x7F0099DC, "cheat_goldpp7"] - - [0x7F0099FC, "cheat_enemyrockets"] - - [0x7F009A1C, "cheat_2xrocket"] - - [0x7F009A3C, "cheat_2xgrenadelauncher"] - - [0x7F009A5C, "cheat_2xrcp90"] - - [0x7F009A7C, "cheat_2xthrowingknife"] - - [0x7F009A9C, "cheat_2xhuntingknife"] - - [0x7F009ABC, "cheat_2xlaser"] - - [0x7F009ADC, "cheat_turbo"] - - [0x7F009AFC, "cheat_unlockcradle"] - - [0x7F009B10, "cheat_unlockaztec"] - - [0x7F009B24, "cheat_unlockegypt"] - - [0x7F009B50, "getplayerfavoredweapon"] - - [0x7F009B84, "menu_control_stick_tracking"] - - [0x7F009F08, "load_draw_selected_icon_folder_select"] - - [0x7F00A080, "add_tab1_start"] - - [0x7F00A1E4, "isontab1"] - - [0x7F00A238, "add_tab3_previous"] - - [0x7F00A39C, "isontab3"] - - [0x7F00A3F0, "set_cursor_pos_tab2"] - - [0x7F00A414, "add_tab2_next"] - - [0x7F00A578, "isontab2"] - - [0x7F00A5E8, "init_menu00_legalscreen"] - - [0x7F00A6B0, "update_menu00_legalscreen"] - - [0x7F00A6DC, "interface_menu00_legalscreen"] - - [0x7F00A7E4, "display_aligned_white_text_to_screen"] - - [0x7F00A8E0, "constructor_menu00_legalscreen"] - - [0x7F00AAEC, "reset_menutimer"] - - [0x7F00AB00, "interface_menu17_switchscreens"] - - [0x7F00ABA8, "constructor_menu17_switchscreens"] - - [0x7F00ABC8, "init_menu01_nintendologo"] - - [0x7F00ACA4, "update_menu01_nintendo"] - - [0x7F00ACC8, "interface_menu01_nintendo"] - - [0x7F00AD98, "constructor_menu01_nintendo"] - - [0x7F00B064, "init_menu02_rarelogo"] - - [0x7F00B0A4, "update_menu02_rareware"] - - [0x7F00B0AC, "interface_menu02_rareware"] - - [0x7F00B134, "constructor_menu02_rareware"] - - [0x7F00B154, "init_menu03_eyeintro"] - - [0x7F00B190, "update_menu_03_eye"] - - [0x7F00B1B0, "interface_menu03_eye"] - - [0x7F00B238, "constructor_menu03_eye"] - - [0x7F00B258, "init_menu04_goldeneyelogo"] - - [0x7F00B304, "update_menu04_goldeneye"] - - [0x7F00B330, "interface_menu04_goldeneyelogo"] - - [0x7F00B47C, "constructor_menu04_goldeneyelogo"] - - [0x7F00B724, "disable_all_switches"] - - [0x7F00B9E8, "init_menu05_fileselect"] - - [0x7F00BAE0, "update_menu05_filesel"] - - [0x7F00BBCC, "interface_menu05_fileselect"] - - [0x7F00C408, "constructor_menu05_fileselect"] - - [0x7F00D250, "init_menu06_modeselect"] - - [0x7F00D290, "update_menu06_modesel"] - - [0x7F00D298, "interface_menu06_modesel"] - - [0x7F00D828, "constructor_menu06_modesel"] - - [0x7F00DCC0, "pull_and_display_text_for_folder_a0"] - - [0x7F00DE50, "init_menu07_missionselect"] - - [0x7F00DEB0, "update_menu07_missionsel"] - - [0x7F00DEB8, "interface_menu07_missionsel"] - - [0x7F00E458, "constructor_menu07_missionsel"] - - [0x7F00E780, "init_menu08_difficultyselect"] - - [0x7F00E7B8, "update_menu08_difficulty"] - - [0x7F00E7C0, "interface_menu08_difficulty"] - - [0x7F00ED98, "constructor_menu08_difficulty"] - - [0x7F00F300, "init_menu09_007difficultyselect"] - - [0x7F00F36C, "update_menu09_007options"] - - [0x7F00F374, "interface_menu09_007options"] - - [0x7F00F798, "constructor_menu09_007options"] - - [0x7F010280, "unlock_mp_chars"] - - [0x7F010290, "get_num_players_0"] - - [0x7F01073C, "init_menu0E_mpoptions"] - - [0x7F010840, "update_menu0E_mpoptions"] - - [0x7F010848, "interface_menu0E_mpoptions"] - - [0x7F010F10, "constructor_menu0E_mpoptions"] - - [0x7F011C3C, "init_menu0f_mpcharsel"] - - [0x7F011ECC, "update_menu0F_mpcharsel"] - - [0x7F011ED4, "interface_menu0F_mpcharsel"] - - [0x7F012794, "constructor_menu0F_mpcharsel"] - - [0x7F012E30, "init_menu10_mphandicap"] - - [0x7F012EBC, "update_menu10_mphandicap"] - - [0x7F012EC4, "interface_menu10_mphandicap"] - - [0x7F01317C, "constructor_menu10_mphandicap"] - - [0x7F013574, "init_menu11_mpcontrol"] - - [0x7F013600, "update_menu11_mpcontrols"] - - [0x7F013608, "interface_menu11_mpcontrols"] - - [0x7F013980, "constructor_menu11_mpcontrol"] - - [0x7F013D78, "init_menu12_mpstage"] - - [0x7F013DCC, "update_menu12_mpstage"] - - [0x7F013DD4, "interface_menu12_mpstage"] - - [0x7F014050, "constructor_menu12_mpstage"] - - [0x7F014758, "inhibit_respawn_flag"] - - [0x7F014764, "init_menu13_mpscenariosel"] - - [0x7F0147B0, "update_menu13_mpscenario"] - - [0x7F0147B8, "interface_menu13_mpscenario"] - - [0x7F014A48, "constructor_menu13_mpscenario"] - - [0x7F014CC0, "init_menu14_mpteamsel"] - - [0x7F014D40, "update_menu14_mpteams"] - - [0x7F014D48, "interface_menu14_mpteams"] - - [0x7F015138, "constructor_menu14_mpteams"] - - [0x7F0155F4, "init_menu0A_briefing"] - - [0x7F015640, "update_menu0A_briefing"] - - [0x7F01569C, "interface_menu0A_briefing"] - - [0x7F015D74, "constructor_menu0A_briefing"] - - [0x7F016064, "init_menu0B_runstage"] - - [0x7F016094, "init_menu0C_missionfailed"] - - [0x7F016108, "update_menu0C_missionfailed"] - - [0x7F016110, "interface_menu0C_missionfailed"] - - [0x7F0163EC, "constructor_menu0C_missionfailed"] - - [0x7F01667C, "init_menu0D_missioncomplete"] - - [0x7F0166D0, "update_menu0D_missioncomplete"] - - [0x7F0166D8, "interface_menu0D_missioncomplete"] - - [0x7F016A08, "constructor_menu0D_missioncomplete"] - - [0x7F017B50, "init_menu15_cheat"] - - [0x7F017BF4, "update_menu15_cheat"] - - [0x7F017C88, "interface_menu15_cheat"] - - [0x7F017F5C, "constructor_menu15_cheat"] - - [0x7F018438, "init_menu16_nocontroller"] - - [0x7F018440, "update_menu16_nocontrollers"] - - [0x7F018448, "interface_menu16_nocontrollers"] - - [0x7F018450, "constructor_menu16_nocontrollers"] - - [0x7F018670, "do_extended_cast_display"] - - [0x7F01869C, "init_menu18_displaycast"] - - [0x7F01881C, "set_body_default"] - - [0x7F018830, "set_body_jungle"] - - [0x7F018844, "set_body_snowsuit"] - - [0x7F018858, "set_body_5"] - - [0x7F0188C0, "set_body_mp_choice_maybe"] - - [0x7F018F18, "update_menu18_displaycast"] - - [0x7F018F60, "interface_menu18_displaycast"] - - [0x7F019328, "constructor_menu18_displaycast"] - - [0x7F01A39C, "init_menu19_spectrum"] - - [0x7F01A480, "update_menu19_spectrum"] - - [0x7F01A488, "interface_menu19_spectrum"] - - [0x7F01A4E0, "constructor_menu19_spectrum"] - - [0x7F01A5D4, "set_menu_to_mode"] - - [0x7F01A610, "proc_7F01A610"] - - [0x7F01A61C, "menu_init"] - - [0x7F01A7D4, "menu_legal_screen_update"] - - [0x7F01A7F0, "menu_nintendo_logo_update"] - - [0x7F01A80C, "menu_rareware_logo_update"] - - [0x7F01A828, "menu_eye_intro_update"] - - [0x7F01A844, "menu_goldeneye_logo_update"] - - [0x7F01A860, "menu_file_select_update"] - - [0x7F01A87C, "menu_mode_select_update"] - - [0x7F01A898, "menu_mission_select_update"] - - [0x7F01A8B4, "menu_difficulty_update"] - - [0x7F01A8D0, "menu_007_options_update"] - - [0x7F01A8EC, "menu_briefing_update"] - - [0x7F01A908, "menu_mission_failed_update"] - - [0x7F01A924, "menu_mission_complete_update"] - - [0x7F01A940, "menu_mp_options_update"] - - [0x7F01A95C, "menu_mp_scenario_select_update"] - - [0x7F01A978, "menu_mp_char_select_update"] - - [0x7F01A994, "menu_mp_teams_update"] - - [0x7F01A9B0, "menu_mp_handicap_update"] - - [0x7F01A9CC, "menu_mp_control_style_update"] - - [0x7F01A9E8, "menu_mp_stage_select_update"] - - [0x7F01AA04, "menu_cheat_update"] - - [0x7F01AA20, "menu_no_controllers_update"] - - [0x7F01AA3C, "menu_display_cast_update"] - - [0x7F01AA58, "menu_spectrum_emu_update"] - - [0x7F01AA70, "menu_switch_screen_update"] - - [0x7F01AAC8, "menu_legal_screen_init"] - - [0x7F01AADC, "menu_nintendo_logo_init"] - - [0x7F01AAF0, "menu_rareware_logo_init"] - - [0x7F01AB04, "menu_eye_intro_init"] - - [0x7F01AB18, "menu_goldeneye_logo_init"] - - [0x7F01AB2C, "menu_file_select_init"] - - [0x7F01AB40, "menu_mode_select_init"] - - [0x7F01AB54, "menu_mission_select_init"] - - [0x7F01AB68, "menu_difficulty_init"] - - [0x7F01AB7C, "menu_007_options_init"] - - [0x7F01AB90, "menu_briefing_init"] - - [0x7F01ABA4, "menu_runstage_init"] - - [0x7F01ABB8, "menu_mission_failed_init"] - - [0x7F01ABCC, "menu_mission_complete_init"] - - [0x7F01ABE0, "menu_mp_options_init"] - - [0x7F01ABF4, "menu_mp_scenario_select_init"] - - [0x7F01AC08, "menu_mp_char_select_init"] - - [0x7F01AC1C, "menu_mp_teams_init"] - - [0x7F01AC30, "menu_mp_handicap_init"] - - [0x7F01AC44, "menu_mp_control_style_init"] - - [0x7F01AC58, "menu_mp_stage_select_init"] - - [0x7F01AC6C, "menu_cheat_init"] - - [0x7F01AC80, "menu_no_controllers_init"] - - [0x7F01AC94, "menu_display_cast_init"] - - [0x7F01ACA8, "menu_spectrum_emu_init"] - - [0x7F01ACB8, "menu_switch_screens_init"] - - [0x7F01ACDC, "menu00_legal_interface"] - - [0x7F01ACEC, "menu17_switchscreen_interface"] - - [0x7F01ACFC, "menu01_nintendo_interface"] - - [0x7F01AD0C, "menu02_rareware_interface"] - - [0x7F01AD1C, "menu03_eye_interface"] - - [0x7F01AD2C, "menu04_goldeneye_interface"] - - [0x7F01AD3C, "menu05_filesel_interface"] - - [0x7F01AD4C, "menu06_modesel_interface"] - - [0x7F01AD5C, "menu07_missionsel_interface"] - - [0x7F01AD6C, "menu08_difficulty_interface"] - - [0x7F01AD7C, "menu09_007options_interface"] - - [0x7F01AD8C, "menu0A_briefing_interface"] - - [0x7F01AD9C, "menu0C_missionfailed_interface"] - - [0x7F01ADAC, "menu0D_missioncomplete_interface"] - - [0x7F01ADBC, "menu0E_mpoptions_interface"] - - [0x7F01ADCC, "menu13_mpscenario_interface"] - - [0x7F01ADDC, "menu0F_mpcharsel_interface"] - - [0x7F01ADEC, "menu14_mpteams_interface"] - - [0x7F01ADFC, "menu10_mphandicap_interface"] - - [0x7F01AE0C, "menu11_mpcontrol_interface"] - - [0x7F01AE1C, "menu12_mpstage_interface"] - - [0x7F01AE2C, "menu15_cheat_interface"] - - [0x7F01AE3C, "menu16_nocontrollers_interface"] - - [0x7F01AE4C, "menu18_displaycast_interface"] - - [0x7F01AE5C, "menu19_spectrum_interface"] - - [0x7F01AE6C, "menu0B_runstage_interface"] - - [0x7F01AF34, "menu00_legal_constructor"] - - [0x7F01AF44, "menu17_switchscreens_constructor"] - - [0x7F01AF54, "menu01_nintendo_constructor"] - - [0x7F01AF64, "menu02_rareware_constructor"] - - [0x7F01AF74, "menu03_eyeintro_constructor"] - - [0x7F01AF84, "menu04_goldeneye_constructor"] - - [0x7F01AF94, "menu05_fileselect_constructor"] - - [0x7F01AFA4, "menu06_modesel_constructor"] - - [0x7F01AFB4, "menu07_missionsel_constructor"] - - [0x7F01AFC4, "menu08_difficulty_constructor"] - - [0x7F01AFD4, "menu09_007options_constructor"] - - [0x7F01AFE4, "menu0A_briefing_constructor"] - - [0x7F01AFF4, "menu0C_missionfailed_constructor"] - - [0x7F01B004, "menu0D_missioncomplete_constructor"] - - [0x7F01B014, "menu0E_mpoptions_constructor"] - - [0x7F01B024, "menu13_mpscenario_constructor"] - - [0x7F01B034, "menu0F_mpcharsel_constructor"] - - [0x7F01B044, "menu14_mpteams_constructor"] - - [0x7F01B054, "menu10_mphandicap_constructor"] - - [0x7F01B064, "menu11_mpcontrol_constructor"] - - [0x7F01B074, "menu12_mpstage_constructor"] - - [0x7F01B084, "menu15_cheat_constructor"] - - [0x7F01B094, "menu16_nocontrollers_constructor"] - - [0x7F01B0A4, "menu18_displaycast_constructor"] - - [0x7F01B0B4, "menu19_spectrum_constructor"] - - [0x7F01B0C0, "menu0B_runstage_constructor"] - - [0x7F01B134, "proc_7F01B134"] - - [0x7F01B1C8, "proc_7F01B1C8"] - - [0x7F01B6E0, "proc_7F01B6E0"] - - [0x7F01C284, "die_blood_image_routine"] - - [0x7F01CCEC, "proc_7F01CCEC"] - - [0x7F01D1C0, "proc_7F01D1C0"] - - [0x7F01D590, "set_selected_folder_num"] - - [0x7F01D59C, "set_selected_difficulty"] - - [0x7F01D5EC, "set_solo_and_ptr_briefing"] - - [0x7F01EBF4, "proc_7F01EBF4"] - - [0x7F01EBFC, "proc_7F01EBFC"] - - [0x7F02E1D4, "weapon_guard_fires_bullet_projectile"] - - [0x7F02E1E0, "weapon_guard_fires_bullet_no_projectile"] - - [0x7F01ED10, "proc_7F01ED10"] - - [0x7F01F53C, "proc_7F01F53C"] - - [0x7F01F574, "proc_7F01F574"] - - [0x7F02004C, "proc_7F02004C"] - - [0x7F020090, "proc_7F020090"] - - [0x7F020794, "proc_7F020794"] - - [0x7F02083C, "proc_7F02083C"] - - [0x7F021BB4, "proc_7F021BB4"] - - [0x7F021BD8, "proc_7F021BD8"] - - [0x7F024F00, "proc_7F024F00"] - - [0x7F027C60, "proc_7F027C60"] - - [0x7F029AF0, "proc_7F029AF0"] - - [0x7F02D148, "proc_7F02D148"] - - [0x7F0305E0, "proc_7F0305E0"] - - [0x7F03A430, "remove_last_obj.pos.data_entry"] - - [0x7F03AA44, "proc_7F03AA44"] - - [0x7F03E830, "proc_7F03E830"] - - [0x7F03E85C, "proc_7F03E85C"] - - [0x7F03EC3C, "proc_7F03EC3C"] - - [0x7F04054C, "init_standard_object"] - - [0x7F0407F4, "proc_7F0407F4"] - - [0x7F04DFD0, "proc_7F04DFD0"] - - [0x7F04F31C, "text_some"] - - [0x7F04F338, "text_a"] - - [0x7F04F37C, "text_an"] - - [0x7F04F3C0, "text_the"] - - [0x7F04F3FC, "text_NONE"] - - [0x7F04F7B4, "ammo_sfx_gun_switch_2"] - - [0x7F04F7D0, "ammo_sfx_mine_switch"] - - [0x7F04F7EC, "ammo_sfx_knife_switch"] - - [0x7F04F800, "ammo_sfx_default"] - - [0x7F04FC70, "premultiplied_ammo_amount1"] - - [0x7F04FC78, "premultiplied_ammo_amount2"] - - [0x7F04FC80, "premultiplied_ammo_amount3"] - - [0x7F04FC88, "premultiplied_ammo_amount4"] - - [0x7F04FC90, "premultiplied_ammo_amount5"] - - [0x7F04FC98, "premultiplied_ammo_amount6"] - - [0x7F04FCA0, "premultiplied_ammo_amount7"] - - [0x7F04FCA4, "premultiplied_ammo_default"] - - [0x7F04FD50, "second_premultiplied_ammo_amount1"] - - [0x7F04FD58, "second_premultiplied_ammo_amount2"] - - [0x7F04FD60, "second_premultiplied_ammo_amount3"] - - [0x7F04FD68, "second_premultiplied_ammo_amount4"] - - [0x7F04FD70, "second_premultiplied_ammo_amount5"] - - [0x7F04FD78, "second_premultiplied_ammo_amount6"] - - [0x7F04FD80, "second_premultiplied_ammo_amount7"] - - [0x7F04FD88, "second_premultiplied_ammo_amount8"] - - [0x7F04FD8C, "second_premultiplied_ammo_default"] - - [0x7F04FE7C, "weapon_collect_msg_BLANK"] - - [0x7F04FE9C, "weapon_collect_msg_a_hunting_knife"] - - [0x7F04FEB8, "weapon_collect_msg_a_pp7"] - - [0x7F04FED4, "weapon_collect_msg_a_silenced_pp7"] - - [0x7F04FEF0, "weapon_collect_msg_a_dd44"] - - [0x7F04FF0C, "weapon_collect_msg_a_klobb"] - - [0x7F04FF28, "weapon_collect_msg_a_kf7"] - - [0x7F04FF44, "weapon_collect_msg_a_zmg"] - - [0x7F04FF60, "weapon_collect_msg_a_d5k"] - - [0x7F04FF7C, "weapon_collect_msg_a_silenced_d5k"] - - [0x7F04FF98, "weapon_collect_msg_a_phantom"] - - [0x7F04FFB4, "weapon_collect_msg_a_ar33"] - - [0x7F04FFD0, "weapon_collect_msg_a_rcp90"] - - [0x7F04FFEC, "weapon_collect_msg_a_shotgun"] - - [0x7F050008, "weapon_collect_msg_an_auto_shotgun"] - - [0x7F050024, "weapon_collect_msg_a_sniper"] - - [0x7F050040, "weapon_collect_msg_a_grenade_launcher"] - - [0x7F05005C, "weapon_collect_msg_a_rocket_launcher"] - - [0x7F050078, "weapon_collect_msg_a_cougar_magnum"] - - [0x7F050094, "weapon_collect_msg_a_golden_gun"] - - [0x7F0500B0, "weapon_collect_msg_a_moonraker_laser"] - - [0x7F0500CC, "weapon_collect_msg_a_flare_pistol"] - - [0x7F0500E8, "weapon_collect_msg_a_piton_gun"] - - [0x7F050104, "weapon_collect_msg_a_silver_pp7"] - - [0x7F050120, "weapon_collect_msg_a_gold_pp7"] - - [0x7F05013C, "weapon_collect_msg_a_keycard"] - - [0x7F050158, "weapon_collect_msg_a_yale_key"] - - [0x7F050174, "weapon_collect_msg_a_bolt_key"] - - [0x7F050190, "weapon_collect_msg_a_new_weapon"] - - [0x7F051588, "proc_7F051588"] - - [0x7F0518A8, "proc_7F0518A8"] - - [0x7F0526B4, "model_hat_fur"] - - [0x7F0526BC, "model_hat_sidecap"] - - [0x7F0526C4, "model_hat_combat_helmet"] - - [0x7F0526CC, "model_hat_headgear"] - - [0x7F0526D4, "model_hat_beret"] - - [0x7F0526DC, "model_hat_peakedhat"] - - [0x7F0526E4, "model_hat_default"] - - [0x7F0574B8, "check_objectives_complete"] - - [0x7F057E58, "proc_7F057E58"] - - [0x7F057EA0, "cosf"] - - [0x7F057EAC, "sinf"] - - [0x7F058274, "proc_7F058274"] - - [0x7F059044, "proc_7F059044"] - - [0x7F05914C, "proc_7F05914C"] - - [0x7F059244, "proc_7F059244"] - - [0x7F059A48, "proc_7F059A48"] - - [0x7F059D30, "proc_7F059D30"] - - [0x7F059DAC, "proc_7F059DAC"] - - [0x7F05A250, "proc_7F05A250"] - - [0x7F05AC44, "proc_7F05AC44"] - - [0x7F05AD5C, "proc_7F05AD5C"] - - [0x7F05AE50, "proc_7F05AE50"] - - [0x7F05B154, "proc_7F05B154"] - - [0x7F05B1D4, "proc_7F05B1D4"] - - [0x7F05B528, "proc_7F05B528"] - - [0x7F05B57C, "proc_7F05B57C"] - - [0x7F05B5D4, "proc_7F05B5D4"] - - [0x7F05B798, "proc_7F05B798"] - - [0x7F05BF8C, "proc_7F05BF8C"] - - [0x7F05C520, "proc_7F05C520"] - - [0x7F05C52C, "proc_7F05C52C"] - - [0x7F05C538, "proc_7F05C538"] - - [0x7F05C540, "proc_7F05C540"] - - [0x7F05C594, "proc_7F05C594"] - - [0x7F05C6B8, "proc_7F05C6B8"] - - [0x7F05C8F0, "proc_7F05C8F0"] - - [0x7F05C938, "proc_7F05C938"] - - [0x7F05D334, "proc_7F05D334"] - - [0x7F05D610, "proc_7F05D610"] - - [0x7F05D650, "proc_7F05D650"] - - [0x7F0617B4, "weapon_bullet_type_pistol"] - - [0x7F0617CC, "weapon_bullet_type_none"] - - [0x7F0617D4, "weapon_bullet_type_shotgun_mine"] - - [0x7F0634D8, "proc_7F0634D8"] - - [0x7F0634FC, "proc_7F0634FC"] - - [0x7F064934, "proc_7F064934"] - - [0x7F064DD0, "Weapon_function_magnum"] - - [0x7F064DF4, "Weapon_function_camera"] - - [0x7F064E54, "Weapon_function_guns"] - - [0x7F064E68, "Weapon_function_throwable_item"] - - [0x7F064E7C, "Weapon_function_hunting_knife"] - - [0x7F064EAC, "Weapon_function_grenades"] - - [0x7F064EEC, "Weapon_function_slapper"] - - [0x7F064F1C, "Weapon_function_throwing_knife"] - - [0x7F064F30, "Weapon_function_tazer"] - - [0x7F064F7C, "Weapon_function_key"] - - [0x7F064F90, "Weapon_function_collectible"] - - [0x7F064FE8, "Weapon_shooting_watch_magnet"] - - [0x7F065034, "Weapon_shooting_pistol"] - - [0x7F0650C4, "Weapon_shooting_machinegun"] - - [0x7F0651D0, "Weapon_shooting_noammo"] - - [0x7F06520C, "Weapon_shooting_tazer"] - - [0x7F06528C, "Weapon_shooting_throwable"] - - [0x7F065E54, "weapon_switchstyle_"] - - [0x7F065E70, "weapon_switchstyle_knife"] - - [0x7F065E8C, "weapon_switchstyle_mine"] - - [0x7F065EA8, "weapon_switchstyle_gun"] - - [0x7F065EBC, "weapon_switchstyle_NONE"] - - [0x7F0661AC, "weapon_reload_gun"] - - [0x7F0661C0, "weapon_reload_none"] - - [0x7F06802C, "proc_7F06802C"] - - [0x7F0680D4, "proc_7F0680D4"] - - [0x7F06A94C, "proc_7F06A94C"] - - [0x7F06AA08, "proc_7F06AA08"] - - [0x7F06ABA0, "proc_7F06ABA0"] - - [0x7F06BC0C, "drawjointlist"] - - [0x7F06C094, "get_A0_obj.instance.controller"] - - [0x7F06C234, "set_obj.inst_scale_to_zero"] - - [0x7F06C23C, "get_aircraftA0_obj.instance.controller"] - - [0x7F06C3F8, "set_aircraft_obj.inst_scale_to_zero"] - - [0x7F06C418, "proc_7F06C418"] - - [0x7F06C6A0, "getsubmatrix"] - - [0x7F06C710, "proc_7F06C710"] - - [0x7F06C898, "getpartoffset"] - - [0x7F06C9D0, "setpartoffset"] - - [0x7F06CB98, "getsuboffset"] - - [0x7F06CC0C, "setsuboffset"] - - [0x7F06CC80, "getsubroty"] - - [0x7F06CD3C, "setsubroty"] - - [0x7F06CE78, "set_obj.inst_controller_to_A1"] - - [0x7F06CE90, "getjointsize"] - - [0x7F06D00C, "getinstsize"] - - [0x7F06D6B0, "subcalcpos"] - - [0x7F06F248, "instcalcmatrices"] - - [0x7F06F2F8, "subcalcmatrices"] - - [0x7F06F640, "proc_7F06F640"] - - [0x7F06FCFC, "proc_7F06FCFC"] - - [0x7F06FE44, "proc_7F06FE44"] - - [0x7F072C20, "dorottex"] - - [0x7F07307C, "dotube"] - - [0x7F07380C, "dogfnegx"] - - [0x7F073FD4, "doshadow"] - - [0x7F074684, "subdraw"] - - [0x7F074790, "proc_7F074790"] - - [0x7F07549C, "proc_7F07549C"] - - [0x7F075B08, "proc_7F075B08"] - - [0x7F0764A4, "something_with_loading_resource_to_membank_or_buffer"] - - [0x7F076574, "proc_7F076574"] - - [0x7F077BB8, "proc_7F077BB8"] - - [0x7F077BD0, "proc_7F077BD0"] - - [0x7F077FB4, "proc_7F077FB4"] - - [0x7F078140, "proc_7F078140"] - - [0x7F078258, "proc_7F078258"] - - [0x7F078334, "proc_7F078334"] - - [0x7F0783F4, "proc_7F0783F4"] - - [0x7F078404, "proc_7F078404"] - - [0x7F078414, "proc_7F078414"] - - [0x7F078494, "proc_7F078494"] - - [0x7F0784E4, "proc_7F0784E4"] - - [0x7F078504, "proc_7F078504"] - - [0x7F078534, "proc_7F078534"] - - [0x7F078568, "proc_7F078568"] - - [0x7F078598, "proc_7F078598"] - - [0x7F0785CC, "proc_7F0785CC"] - - [0x7F078950, "proc_7F078950"] - - [0x7F078980, "proc_7F078980"] - - [0x7F0789B0, "proc_7F0789B0"] - - [0x7F0789E0, "proc_7F0789E0"] - - [0x7F078A10, "proc_7F078A10"] - - [0x7F079E00, "cuff_3_boiler"] - - [0x7F079E0C, "cuff_2_jungle"] - - [0x7F079E18, "cuff_4_snowsuit"] - - [0x7F079E24, "cuff_1_brosnan"] - - [0x7F079E30, "cuff_5_connery"] - - [0x7F079E3C, "cuff_6_moore"] - - [0x7F079E48, "cuff_7_dalton"] - - [0x7F079E54, "cuff_8_variable_bond_head"] - - [0x7F079EF4, "boiler_bond_head_set"] - - [0x7F079F00, "jungle_head_set"] - - [0x7F079F0C, "brosnan_tux_head_set"] - - [0x7F079F18, "connery_head_set"] - - [0x7F079F24, "moore_head_set"] - - [0x7F079F30, "dalton_head_set"] - - [0x7F079F3C, "variable_body_head"] - - [0x7F07C540, "proc_7F07C540"] - - [0x7F07C560, "proc_7F07C560"] - - [0x7F07CF80, "proc_7F07CF80"] - - [0x7F07D954, "proc_7F07D954"] - - [0x7F07E388, "proc_7F07E388"] - - [0x7F07EAE0, "proc_7F07EAE0"] - - [0x7F084648, "MoveBond"] - - [0x7F0898E8, "proc_7F0898E8"] - - [0x7F08BD18, "proc_7F08BD18"] - - [0x7F08BDC4, "proc_7F08BDC4"] - - [0x7F08BE2C, "proc_7F08BE2C"] - - [0x7F08C314, "is_weapon_in_inv"] - - [0x7F08D434, "proc_7F08D434"] - - [0x7F08DBB0, "proc_7F08DBB0"] - - [0x7F08EBD0, "proc_7F08EBD0"] - - [0x7F08EC8C, "proc_7F08EC8C"] - - [0x7F08EFA0, "proc_7F08EFA0"] - - [0x7F08FD1C, "proc_7F08FD1C"] - - [0x7F08FE08, "proc_7F08FE08"] - - [0x7F09000C, "proc_7F09000C"] - - [0x7F0901BC, "proc_7F0901BC"] - - [0x7F0905A0, "debug_menu_processor"] - - [0x7F090F20, "proc_7F090F20"] - - [0x7F090FA0, "proc_7F090FA0"] - - [0x7F091060, "proc_7F091060"] - - [0x7F091C10, "cheats_cheat_extra_mp_chars"] - - [0x7F091C20, "cheats_cheat_invincibility"] - - [0x7F091C50, "cheats_cheat_allguns"] - - [0x7F091C80, "cheats_cheat_max_ammo"] - - [0x7F091CA0, "cheats_cheat_deactivate_invincibility"] - - [0x7F091D28, "cheats_cheat_linemode"] - - [0x7F091D38, "cheats_cheat_2x_health"] - - [0x7F091DB8, "cheats_cheat_2x_armor"] - - [0x7F091E2C, "cheats_cheat_invisibility"] - - [0x7F091E5C, "cheats_cheat_infinite_ammo"] - - [0x7F091E74, "cheats_cheat_dk_mode"] - - [0x7F091E94, "cheats_cheat_extra_weapons"] - - [0x7F091F5C, "cheats_cheat_tiny_bond"] - - [0x7F091FDC, "cheats_cheat_paintball"] - - [0x7F091FF4, "cheats_cheat_10x_health"] - - [0x7F092068, "cheats_cheat_magnum"] - - [0x7F092098, "cheats_cheat_laser"] - - [0x7F0920B4, "cheats_cheat_goldengun"] - - [0x7F0920E4, "cheats_cheat_silverpp7"] - - [0x7F092114, "cheats_cheat_goldpp7"] - - [0x7F092144, "cheats_cheat_invisibility_mp"] - - [0x7F092160, "cheats_cheat_fast"] - - [0x7F092190, "cheats_debug_pos"] - - [0x7F0921B0, "cheats_debug_fast_ani"] - - [0x7F0921FC, "cheats_debug_slow_ani"] - - [0x7F092248, "cheats_debug_2x_rockets"] - - [0x7F092278, "cheats_debug_2x_grenade_launch"] - - [0x7F0922A8, "cheats_debug_2x_rcp90"] - - [0x7F0922D8, "cheats_debug_2x_throwing_knife"] - - [0x7F092308, "cheats_debug_2x_hunting_knife"] - - [0x7F092324, "cheats_debug_2x_laser"] - - [0x7F092340, "cheats_debug_unlockcheat"] - - [0x7F092380, "cheats_debug_unlocklevel"] - - [0x7F092428, "cheats_debug_enemy_rockets"] - - [0x7F0924D8, "cheat_button_invincibility"] - - [0x7F092508, "cheat_button_all_guns"] - - [0x7F092538, "cheat_button_line_mode"] - - [0x7F092548, "cheat_button_unknown"] - - [0x7F092578, "cheat_button_infinite_ammo"] - - [0x7F092590, "cheat_button_dkmode"] - - [0x7F0925B0, "cheat_button_unknown_0"] - - [0x7F092630, "cheat_button_paintball"] - - [0x7F092648, "cheat_button_mp_invis"] - - [0x7F092668, "cheat_button_fast_mode"] - - [0x7F092698, "cheat_button_debug_mode"] - - [0x7F0926B0, "cheat_button_default"] - - [0x7F09A2E0, "default_player_perspective_and_height"] - - [0x7F09A32C, "reset_play_data_ptrs"] - - [0x7F09A464, "get_num_players"] - - [0x7F09B10C, "get_cur.player"] - - [0x7F09B1DC, "set_cur.player_screen_size"] - - [0x7F09B1F8, "set_cur.player_viewport_size"] - - [0x7F09B234, "proc_7F09B234"] - - [0x7F09B284, "weapon_multi_hunting_knife"] - - [0x7F09B28C, "weapon_multi_pp7"] - - [0x7F09B294, "weapon_multi_klobb"] - - [0x7F09B29C, "weapon_multi_kf7"] - - [0x7F09B2A4, "weapon_multi_zmg"] - - [0x7F09B2AC, "weapon_multi_d5k"] - - [0x7F09B2B4, "weapon_multi_phantom"] - - [0x7F09B2BC, "weapon_multi_ar33"] - - [0x7F09B2C4, "weapon_multi_rcp90"] - - [0x7F09B2CC, "weapon_multi_shotgun"] - - [0x7F09B2D4, "weapon_multi_grenade_laun"] - - [0x7F09B2DC, "weapon_multi_hand"] - - [0x7F09B2E4, "weapon_multi_remote"] - - [0x7F09B2EC, "weapon_multi_prox"] - - [0x7F09B2F4, "weapon_multi_timed"] - - [0x7F09B2FC, "weapon_multi_cougar"] - - [0x7F09B304, "weapon_multi_moonraker"] - - [0x7F09B30C, "weapon_multi_sniper"] - - [0x7F09B314, "weapon_multi_d5k_silent"] - - [0x7F09B31C, "weapon_multi_dd44"] - - [0x7F09B324, "weapon_multi_pp7_silent"] - - [0x7F09B32C, "weapon_multi_throwing_knife"] - - [0x7F09B334, "weapon_multi_auto_shot"] - - [0x7F09B33C, "weapon_multi_rocket_launch"] - - [0x7F09B344, "weapon_multi_goldengun"] - - [0x7F09B34C, "weapon_multi_pp7_special1"] - - [0x7F09B354, "weapon_multi_pp7_special2"] - - [0x7F09B35C, "proc_7F09B35C"] - - [0x7F09B360, "weapon_multi_none"] - - [0x7F09B7A0, "null_init_main_1"] - - [0x7F0A3B70, "proc_7F0A3B70"] - - [0x7F0A3BA4, "proc_7F0A3BA4"] - - [0x7F0A4594, "proc_7F0A4594"] - - [0x7F0A4600, "proc_7F0A4600"] - - [0x7F0A4868, "init_watch_at_start_of_stage"] - - [0x7F0A4A98, "proc_7F0A4A98"] - - [0x7F0A4B40, "proc_7F0A4B40"] - - [0x7F0A4DC0, "cur.player.get.control_type"] - - [0x7F0A4DD0, "cur.player.set.control_type"] - - [0x7F0A4E38, "cur.player.get.look_up_down_setting"] - - [0x7F0A4E44, "cur.player.set.look_up_down_setting"] - - [0x7F0A4E50, "cur.player.get.autoaim"] - - [0x7F0A4E5C, "cur.player.set.autoaim"] - - [0x7F0A4E68, "cur.player.get.lookahead"] - - [0x7F0A4E74, "cur.player.set.lookahead"] - - [0x7F0A4E80, "cur.player.get.aim.control"] - - [0x7F0A4E8C, "cur.player.set.aim.control"] - - [0x7F0A4E98, "cur.player.get.sight.onscreen.control"] - - [0x7F0A4EA4, "cur.player.set.sight.onscreen.control"] - - [0x7F0A4EB0, "cur.player.get.ammo.onscreen.setting"] - - [0x7F0A4EBC, "cur.player.set.ammo.onscreen.setting"] - - [0x7F0A4EC8, "cur.player.get.screen.setting"] - - [0x7F0A4ED4, "cur.player.set.screen.setting"] - - [0x7F0A4EE0, "get.screen_ratio"] - - [0x7F0A4EEC, "set.screen_ratio"] - - [0x7F0A4F50, "is_holding_greater_than_2E_left_on_stick"] - - [0x7F0A4F74, "is_holding_greater_than_2E_right_on_stick"] - - [0x7F0A4F98, "get.controlstick_lr_enabled"] - - [0x7F0A4FA4, "set.controlstick_lr_enabled"] - - [0x7F0A5154, "proc_7F0A5154"] - - [0x7F0A5504, "proc_7F0A5504"] - - [0x7F0A8B10, "proc_7F0A8B10"] - - [0x7F0A9610, "proc_7F0A9610"] - - [0x7F0AB4B0, "proc_7F0AB4B0"] - - [0x7F0ACB70, "null_init_main"] - - [0x7F0ACD98, "microcodeconstructor"] - - [0x7F0ADABC, "en_text_write_stuff"] - - [0x7F0AE6EC, "jp_text_stuff"] - - [0x7F0AEF0C, "proc_7F0AEF0C"] - - [0x7F0AEF20, "proc_7F0AEF20"] - - [0x7F0AEF30, "proc_7F0AEF30"] - - [0x7F0AEF3C, "proc_7F0AEF3C"] - - [0x7F0AEFE0, "proc_7F0AEFE0"] - - [0x7F0AF000, "proc_7F0AF000"] - - [0x7F0AF638, "proc_7F0AF638"] - - [0x7F0AF808, "proc_7F0AF808"] - - [0x7F0AFFCC, "proc_7F0AFFCC"] - - [0x7F0B00C4, "proc-7F0B00C4"] - - [0x7F0B0140, "proc_7F0B0140"] - - [0x7F0B02D8, "proc_7F0B02D8"] - - [0x7F0B0C98, "proc_7F0B0C98"] - - [0x7F0B0CEC, "proc_7F0B0CEC"] - - [0x7F0B1CE0, "proc_7F0B1CE0"] - - [0x7F0B1CEC, "proc_7F0B1CEC"] - - [0x7F0B2110, "proc_7F0B2110"] - - [0x7F0B2194, "proc_7F0B2194"] - - [0x7F0B2244, "proc_7F0B2244"] - - [0x7F0B2274, "proc_7F0B2274"] - - [0x7F0B260C, "proc_7F0B260C"] - - [0x7F0B2C74, "proc_7F0B2C74"] - - [0x7F0B2D14, "proc_7F0B2D14"] - - [0x7F0B2F00, "proc_7F0B2F00"] - - [0x7F0B2F2C, "stanDetermineEOF"] - - [0x7F0B2FE0, "proc_7F0B2FE0"] - - [0x7F0B3004, "proc_7F0B3004"] - - [0x7F0B3044, "proc_7F0B3044"] - - [0x7F0B3138, "proc_7F0B3138"] - - [0x7F0B31A4, "proc_7F0B31A4"] - - [0x7F0B37C0, "something_with_bg_c_debug"] - - [0x7F0B38B4, "proc_7F0B38B4"] - - [0x7F0B3B04, "proc_7F0B3B04"] - - [0x7F0B3B20, "proc_7F0B3B20"] - - [0x7F0B4848, "proc_7F0B4848"] - - [0x7F0B519C, "proc_7F0B519C"] - - [0x7F0B5B14, "proc_7F0B5B14"] - - [0x7F0B5B60, "proc_7F0B5B60"] - - [0x7F0B5D7C, "proc_7F0B5D7C"] - - [0x7F0B5E6C, "proc_7F0B5E6C"] - - [0x7F0B8DF4, "proc_7F0B8DF4"] - - [0x7F0B9040, "proc_7F0B9040"] - - [0x7F0B9A14, "proc_7F0B9A14"] - - [0x7F0B9DFC, "proc_7F0B9DFC"] - - [0x7F0BA5C0, "proc_7F0BA5C0"] - - [0x7F0BA720, "proc_7F0BA720"] - - [0x7F0BA738, "proc_7F0BA738"] - - [0x7F0BA758, "copy_table1_env_to_current"] - - [0x7F0BA9D0, "copy_table2_env_to_current"] - - [0x7F0BAA64, "load_enviroment"] - - [0x7F0BB398, "return_nearfog_values"] - - [0x7F0BCAA0, "load_resource"] - - [0x7F0BCB34, "load_resource_from_indy"] - - [0x7F0BCC28, "generate_resource_data_filesize_entries"] - - [0x7F0BCCBC, "_load_rom_index_to_membank"] - - [0x7F0BCCE4, "_load_resource_index_to_membank"] - - [0x7F0BCD04, "_load_resource_named_to_membank"] - - [0x7F0BCD40, "_load_resource_named_to_buffer"] - - [0x7F0BCD7C, "load_bg_bytes_at_offset_to_membank"] - - [0x7F0BCE0C, "load_rom_resource_index_to_membank"] - - [0x7F0BCFE0, "load_resource_index_to_buffer"] - - [0x7F0BD100, "get_temp_remaining_buffer_for_index"] - - [0x7F0BD11C, "get_remaining_buffer_for_index"] - - [0x7F0BD1BC, "something_mem_bank_a0"] - - [0x7F0BD254, "get_index_num_of_named_resource"] - - [0x7F0BD384, "proc_7F0BD384"] - - [0x7F0BD38C, "proc_7F0BD38C"] - - [0x7F0BD3E4, "proc_7F0BD3E4"] - - [0x7F0BD410, "proc_7F0BD410"] - - [0x7F0BD460, "something_with_dyn_c_debug"] - - [0x7F0BD48C, "set_vtx_gfx_mem_alloc"] - - [0x7F0BD674, "get_ptr_displaylist"] - - [0x7F0BD908, "something_with_lvl_c_debug"] - - [0x7F0BD984, "proc_7F0BD984"] - - [0x7F0BD9C4, "proc_7F0BD9C4"] - - [0x7F0BDA84, "proc_7F0BDA84"] - - [0x7F0BEB88, "manage_mp_game"] - - [0x7F0BFC1C, "set_difficulty"] - - [0x7F0BFC58, "proc_7F0BFC58"] - - [0x7F0BFC64, "proc_7F0BFC64"] - - [0x7F0BFC8C, "is_demo_running"] - - [0x7F0BFCA4, "interface_menu0B_runstage"] - - [0x7F0BFE5C, "proc_7F0BFE5C"] - - [0x7F0C0080, "proc_7F0C0080"] - - [0x7F0C0268, "iterate_ramrom_entries_handle_camera_out"] - - [0x7F0C0640, "test_if_replaying_or_recording_demos_this_stage_load"] - - [0x7F0C0BE4, "proc_7F0C0BE4"] - - [0x7F0C15E0, "return_textbank_number_for_stagenum"] - - [0x7F0C16DC, "stagetext_loop"] - - [0x7F0C16E4, "proc_7F0C16E4"] - - [0x7F0C16EC, "loads_LnameX"] - - [0x7F0C1DD8, "retrieve_ptr_textv0_from_textidA0"] - - [0x7F0C1E20, "MP_menu_page_adv_right"] - - [0x7F0C1E50, "page_adv_right_v0_is_1"] - - [0x7F0C1E58, "page_adv_right_v0_is_0"] - - [0x7F0C1E60, "page_adv_right_gameover"] - - [0x7F0C1E8C, "MP_menu_page_adv_left"] - - [0x7F0C1EBC, "page_adv_left_v0_is_1"] - - [0x7F0C1EC4, "page_adv_left_v0_is_0"] - - [0x7F0C1ECC, "page_adv_left_gameover"] - - [0x7F0CBFB0, "load_prepare_global_image_bank"] - - [0x7F0CC51C, "proc_7F0CC51C"] - - [0x7F0CE7F0, "decompressdata"] - - [0x7F0CFDB0, "something_with_rsp_c_debug"] - - [0x7F0CFDDC, "setupviewportmaybe"] - - [0x7F0CFF30, "something_with_indy"] - - [0x7F0CFF6C, "init_indy_if_ready"] - - [0x7F0CFF9C, "indy_load_resource"] - - [0x7F0CFFE0, "indy_send_capture_data"] - - [0x7F0D001C, "indy_loadfile"] - - [0x7F0D005C, "check_file_exported"] - - [0x7F0D0098, "check_file_found_on_indy"] - - [0x7F0D00E0, "response_from_command_string"] - - [0x7F0D0124, "proc_7F0D0124"] - - [0x7F0D0154, "send_indy_close_port_cmd"] - - [0x7F0D0460, "proc_7F0D0460"] - - [0x7F0D04C4, "proc_7F0D04C4"] - - [0x7F0D0578, "proc_7F0D0578"] - - [0x7F0D0644, "proc_7F0D0644"] - - [0x7F0D0740, "proc_7F0D0740"] - - [0x7F0D080C, "proc_7F0D080C"] - - [0x7F0D08E8, "proc_7F0D08E8"] - - [0x7F0D099C, "proc_7F0D099C"] - - [0x7F0D09EC, "proc_7F0D09EC"] - - [0x7F0D0A3C, "post_indy..res.cmd_initialize"] - - [0x7F0D0A7C, "proc_7F0D0A7C"] - - [0x7F0D0AC4, "proc_7F0D0AC4"] - - [0x7F0D0B54, "proc_7F0D0B54"] - - [0x7F0D0BF4, "proc_7F0D0BF4"] - - [0x7F0D0C68, "post_indy..res.cmd_send_capture_data"] - - [0x7F0D0CD0, "proc_7F0D0CD0"] - - [0x7F0D0D18, "post_indy..res.cmd_request_ramrom_file"] - - [0x7F0D0D74, "proc_7F0D0D74"] - - [0x7F0D0E2C, "proc_7F0D0E2C"] - - [0x7F0D0EBC, "proc_7F0D0EBC"] - - [0x7F0D0F04, "proc_7F0D0F04"] - - [0x7F0D10A8, "proc_7F0D10A8"] - - [0x7F0D1248, "proc_7F0D1248"] - - [0x7F0D1764, "proc_7F0D1764"] - - [0x7F0D1998, "proc_7F0D1998"] - - [0x7F0D1A4C, "reset_mem_bank_5"] - - [0x7F0D1AB0, "get_compile_time"] - - [0x7F0D1B94, "proc_7F0D1B94"] - - [0x7F0D1DFC, "proc_7F0D1DFC"] - - [0x7F0D1E44, "proc_7F0D1E44"] - - [0x7F0D2380, "remove_viewport_buffer"] - - [0x7F0D238C, "allocate_viewport_buffer"] - - [0x7F0D2C84, "spectrum_p1controller_to_kempston"] - - [0x7F0D2FC4, "init_spectrum_game"] - - [0x7F0D3374, "run_spectrum_game"] - - [0x7F0D33B4, "spectrum_draw_screen"] - - [0x7F0D36D8, "spectrum_input_handling"] - - [0x7F0D382C, "spectrum_hw_emulation"] - - [0x80023044, "unknown_init_val"] - - [0x80023048, "cart_hw_address"] - - [0x8002304C, "debug_handler_table"] - - [0x8002307C, "debug_handler_table_end"] - - [0x80023094, "stderr.enable"] - - [0x80023098, "stderr.activated"] - - [0x8002309C, "stderr.permitted"] - - [0x800230A0, "user.compare"] - - [0x800230A4, "currentcount"] - - [0x800230A8, "setby_DPCfill_0"] - - [0x800230AC, "setby_DPCfill_1"] - - [0x800230D4, "tlb_segment_num"] - - [0x80023230, "counterforframes"] - - [0x80023244, "video1.settings"] - - [0x80023270, "video2.settings"] - - [0x800232A4, "ptr_video_settings1"] - - [0x800232A8, "ptr_video_settings2"] - - [0x800232AC, "coloroutputmode"] - - [0x800232C4, "jpg_16bit_grabnum"] - - [0x800232C8, "jpg_32bit_grabnum"] - - [0x800232CC, "rgb_16bit_grabnum"] - - [0x800232D0, "rgb_32bit_grabnum"] - - [0x80023304, "debug_processor_error_table"] - - [0x800236DC, "ptr_sp_rmon_0"] - - [0x800236E0, "ptr_sp_idle_0"] - - [0x800236E4, "ptr_sp_shed_0"] - - [0x800236E8, "ptr_sp_main_0"] - - [0x800236EC, "ptr_sp_audi_0"] - - [0x800236F0, "ptr_sp_idle_1"] - - [0x800236F4, "ptr_sp_shed_1"] - - [0x800236F8, "ptr_sp_main_1"] - - [0x800236FC, "ptr_sp_audi_1"] - - [0x80023700, "ptr_sp_debug_0"] - - [0x80023704, "ptr_sp_rmon_1"] - - [0x80023708, "ptr_sp_idle_2"] - - [0x8002370C, "ptr_sp_shed_2"] - - [0x80023710, "ptr_sp_main_2"] - - [0x80023714, "ptr_sp_audi_2"] - - [0x80023718, "stderr_buffer"] - - [0x80024000, "std_error_font_bitcode"] - - [0x8002417C, "ptr_videobuffer1"] - - [0x80024180, "ptr_videobuffer2"] - - [0x800241A4, "debug_and_update_stage_flag"] - - [0x800241A8, "current_stage_num"] - - [0x800241AC, "current_m_malloc_value"] - - [0x800241B0, "current_ma_malloc_value"] - - [0x800241B4, "show_mem_use_flag"] - - [0x800241B8, "show_mem_bars_flag"] - - [0x800242FC, "loadedstage"] - - [0x80024300, "debug_feature_flag"] - - [0x80024324, "u64.taskgrab.num.core_ramdump_num"] - - [0x80024334, "music1_track_num"] - - [0x80024338, "music1len"] - - [0x8002433C, "music2_track_num"] - - [0x80024340, "music2len"] - - [0x80024344, "music3_track_num"] - - [0x80024348, "music3len"] - - [0x80024358, "music_array_tempo_maybe"] - - [0x800243F8, "bootswitch_sound"] - - [0x80024404, "tied_to_mem_management"] - - [0x80024460, "randseed"] - - [0x80024470, "strstr_numstings"] - - [0x80024474, "strstr_ptrcurrent_string"] - - [0x80024518, "start_resource"] - - [0x80024FA0, "debug_menu_x_pos_offset"] - - [0x80024FA4, "debug_menu_y_pos_offset"] - - [0x80024FA8, "debug_menu_x_text_pos"] - - [0x80024FAC, "debug_menu_y_text_pos"] - - [0x80024FB0, "stdout_display_list"] - - [0x80025030, "stdout_debug_menu_screen_buffer"] - - [0x80026610, "stdout_primary_color_table"] - - [0x80026710, "stdout_environment_color_table"] - - [0x80026810, "string_formatting"] - - [0x80026898, "end_displaylist_command"] - - [0x800268A0, "blank_C0_command"] - - [0x800268A8, "stdout_primary_color"] - - [0x800268AC, "stdout_environment_color"] - - [0x800268C4, "ptr_current_point_in_controller_input_index"] - - [0x800268D0, "num_controller_plugged_in_flags"] - - [0x800268D4, "num_controller_plugged_in_flags_0"] - - [0x800268D8, "controller_1_rumble_inserted"] - - [0x800268DC, "controller_2_rumble_inserted"] - - [0x800268E0, "controller_3_rumble_inserted"] - - [0x800268E4, "controller_4_rumble_inserted"] - - [0x800268E8, "controller_1_rumble_state"] - - [0x800268EC, "controller_2_rumble_state"] - - [0x800268F0, "controller_3_rumble_state"] - - [0x800268F4, "controller_4_rumble_state"] - - [0x800268F8, "controller_1_rumble_duration"] - - [0x800268FC, "controller_2_rumble_duration"] - - [0x80026900, "controller_3_rumble_duration"] - - [0x80026904, "controller_4_rumble_duration"] - - [0x80026908, "controller_1_rumble_pulse"] - - [0x8002690C, "controller_2_rumble_pulse"] - - [0x80026910, "controller_3_rumble_pulse"] - - [0x80026914, "controller_4_rumble_pulse"] - - [0x80026924, "disable_all_rumble"] - - [0x80026928, "ptr_to_tlb_ramrom_record"] - - [0x80026930, "pl1_controller_failure_lr"] - - [0x80026934, "pl2_controller_failure_lr"] - - [0x80026938, "pl3_controller_failure_lr"] - - [0x8002693C, "pl4_controller_failure_lr"] - - [0x80026940, "pl1_controller_failure_ud"] - - [0x80026944, "pl2_controller_failure_ud"] - - [0x80026948, "pl3_controller_failure_ud"] - - [0x8002694C, "pl4_controller_failure_ud"] - - [0x80026950, "pl1_controller_failure_held"] - - [0x80026954, "pl2_controller_failure_held"] - - [0x80026958, "pl3_controller_failure_held"] - - [0x8002695C, "pl4_controller_failure_held"] - - [0x80026960, "pl1_controller_failure_pressed"] - - [0x80026964, "pl2_controller_failure_pressed"] - - [0x80026968, "pl3_controller_failure_pressed"] - - [0x8002696C, "pl4_controller_failure_pressed"] - - [0x80026980, "osClockRate"] - - [0x80026988, "__osShutdown"] - - [0x8002698C, "__OSGlobalIntMask"] - - [0x80026990, "osDiskExist"] - - [0x800269A0, "__osViDevMgr"] - - [0x80027704, "__osHwIntTable"] - - [0x80027720, "__osThreadTail"] - - [0x80027728, "__osRunQueue"] - - [0x8002772C, "__osActiveQueue"] - - [0x80027730, "__osRunningThread"] - - [0x80027734, "__osFaultedThread_0"] - - [0x80027740, "stdout_bg_alpha"] - - [0x80027764, "stdout_fg_alpha"] - - [0x80027790, "__osPiDevMgr"] - - [0x80027794, "ptr_piThread"] - - [0x80027798, "cmdQ"] - - [0x8002779C, "ptr_pieventQueue"] - - [0x800277A0, "ptr___osPiAccessQueue"] - - [0x800277A4, "ptr_PiRawStartDma"] - - [0x800277A8, "ptr_EPiRawStartDma"] - - [0x800277B0, "__osContinitialized"] - - [0x800277D0, "sin_table"] - - [0x80027FD0, "__osTimerList"] - - [0x80027FE0, "vi_buffer_current"] - - [0x80028010, "vi_buffer_next"] - - [0x80028040, "__osViCurr"] - - [0x80028044, "__osViNext"] - - [0x80028048, "osTvType"] - - [0x8002804C, "osViClock"] - - [0x80028050, "soundtable1"] - - [0x80028078, "soundtable2"] - - [0x800280A0, "soundtable3"] - - [0x800280C8, "soundtable4"] - - [0x800280F0, "soundtable5"] - - [0x80028118, "soundtable6"] - - [0x80028140, "soundtable7"] - - [0x80028168, "soundtable8"] - - [0x80028190, "soundtable9"] - - [0x800281B8, "soundtableA"] - - [0x800282E0, "__osPiAccessQueueEnabled"] - - [0x800282F0, "alowercase_hex_char"] - - [0x80028304, "auppercase_hex_char"] - - [0x80028320, "OS_VI_NTSC_LAN1"] - - [0x80028370, "OS_VI_PAL_LAN1"] - - [0x800283D0, "aBoot"] - - [0x800283D8, "aRmon"] - - [0x800283E0, "aIdle"] - - [0x800283E8, "aShed"] - - [0x800283F0, "aMain"] - - [0x800283F8, "aAudi"] - - [0x80028400, "jpt_70001674"] - - [0x80028420, "aUtz2_0f"] - - [0x80028430, "aRsp2_0f"] - - [0x80028440, "aTex2_0f"] - - [0x8002844C, "a2dHz"] - - [0x80028454, "a2dFrames"] - - [0x80028460, "a2d"] - - [0x80028470, "aIL0"] - - [0x80028490, "aGrab_D_jpeg_1"] - - [0x800284A0, "aGrab_D_temp_uix"] - - [0x800284B4, "aUix2pixGrab_D_temp_uix"] - - [0x800284D0, "aFromaliasGrab_D_temp_pixGrab_D_tem"] - - [0x800284FC, "aImgcopyFjfifGrab_D_temp_rgbGrab_D_"] - - [0x8002852C, "aRmGrab_D_temp_uixGrab_D_temp_pixGr"] - - [0x80028564, "aImgviewGrab_D_jpeg"] - - [0x8002857C, "aGrab_D_jpeg"] - - [0x8002858C, "aGrab_D_temp_uix_0"] - - [0x800285A0, "aUix2pixXsDGrab_D_temp_uix"] - - [0x800285C0, "aFromaliasGrab_D_temp_pixGrab_D_t_0"] - - [0x800285EC, "aImgcopyFjfifGrab_D_temp_rgbGrab__0"] - - [0x8002861C, "aRmGrab_D_temp_uixGrab_D_temp_pix_0"] - - [0x80028654, "aImgviewGrab_D_jpeg_0"] - - [0x8002866C, "aGrab_D_rgb"] - - [0x80028678, "aGrab_D_temp_uix_1"] - - [0x8002868C, "aUix2pixGrab_D_temp_uix_0"] - - [0x800286A8, "aFromaliasGrab_D_temp_pixGrab_D_rgb"] - - [0x800286D0, "aRmGrab_D_temp_uixGrab_D_temp_pix"] - - [0x800286F8, "aImgviewGrab_D_rgb"] - - [0x8002870C, "aGrab_D_rgb_0"] - - [0x80028718, "aGrab_D_temp_uix_2"] - - [0x8002872C, "aUix2pixXsDGrab_D_temp_uix_0"] - - [0x8002874C, "aFromaliasGrab_D_temp_pixGrab_D_r_0"] - - [0x80028774, "aRmGrab_D_temp_uixGrab_D_temp_pix_1"] - - [0x8002879C, "aImgviewGrab_D_rgb_0"] - - [0x800287B0, "aDeb_c_debug"] - - [0x800287C0, "aBd"] - - [0x800287C4, "aIp8"] - - [0x800287C8, "aIp7"] - - [0x800287CC, "aIp6"] - - [0x800287D0, "aIp5"] - - [0x800287D4, "aIp4"] - - [0x800287D8, "aIp3"] - - [0x800287DC, "aIp2"] - - [0x800287E0, "aIp1"] - - [0x800287E4, "aInt"] - - [0x800287E8, "aTlbmod"] - - [0x800287F0, "aTlbload"] - - [0x800287F8, "aTlbstore"] - - [0x80028804, "aAddressErrorOnLoadOrInstructionFet"] - - [0x80028830, "aAddressErrorOnStore"] - - [0x80028848, "aBusErrorExceptionOnInstructionFetc"] - - [0x80028874, "aBusErrorExceptionOnDataReference"] - - [0x8002889C, "aSyscall"] - - [0x800288A4, "aBrk"] - - [0x800288A8, "aReservedInstruction"] - - [0x800288C0, "aCopUnusable"] - - [0x800288D0, "aOverflow"] - - [0x800288DC, "aTrap"] - - [0x800288E4, "aVirtualCoherencyExceptionOnIntruct"] - - [0x80028914, "aFpException"] - - [0x80028924, "aWatchpoint"] - - [0x80028930, "aVirtualCoherencyExceptionOnDataRef"] - - [0x80028960, "aExceptionNULL_0"] - - [0x80028964, "aCu3"] - - [0x80028968, "aCu2"] - - [0x8002896C, "aCu1"] - - [0x80028970, "aCu0"] - - [0x80028974, "aRp"] - - [0x80028978, "aFr"] - - [0x8002897C, "aRe"] - - [0x80028980, "aBev"] - - [0x80028984, "aTs"] - - [0x80028988, "aSr"] - - [0x8002898C, "aCh"] - - [0x80028990, "aCe"] - - [0x80028994, "aDe"] - - [0x80028998, "aIm8"] - - [0x8002899C, "aIm7"] - - [0x800289A0, "aIm6"] - - [0x800289A4, "aIm5"] - - [0x800289A8, "aIm4"] - - [0x800289AC, "aIm3"] - - [0x800289B0, "aIm2"] - - [0x800289B4, "aIm1"] - - [0x800289B8, "aKx"] - - [0x800289BC, "aSx"] - - [0x800289C0, "aUx"] - - [0x800289C4, "aUsr"] - - [0x800289C8, "aSup"] - - [0x800289CC, "aKer"] - - [0x800289D0, "aErl"] - - [0x800289D4, "aExl"] - - [0x800289D8, "aIe"] - - [0x800289DC, "aExceptionNULL_1"] - - [0x800289E0, "aFs"] - - [0x800289E4, "aC_1"] - - [0x800289E8, "aUnimplemented"] - - [0x800289F8, "aInvalidOp"] - - [0x80028A04, "aBy0_0"] - - [0x80028A10, "aOverflow_0"] - - [0x80028A1C, "aUnderflow"] - - [0x80028A28, "aInexactOp"] - - [0x80028A34, "aEv"] - - [0x80028A38, "aEz"] - - [0x80028A3C, "aEo"] - - [0x80028A40, "aEu"] - - [0x80028A44, "aEi"] - - [0x80028A48, "aFv"] - - [0x80028A4C, "aFz"] - - [0x80028A50, "aFo"] - - [0x80028A54, "aFu"] - - [0x80028A58, "aFi"] - - [0x80028A5C, "aRn"] - - [0x80028A60, "aRz"] - - [0x80028A64, "aRp_1"] - - [0x80028A68, "aRm"] - - [0x80028A6C, "aExceptionNULL"] - - [0x80028A70, "aMl0Me0Mgfx70Mvtx50Mt625Ma275"] - - [0x80028A9C, "aMl0Me0Mgfx70Mvtx50Mt650Ma160"] - - [0x80028AC8, "aMl0Me0Mgfx100Mvtx50Mt610Ma300"] - - [0x80028AF4, "aMl0Me0Mgfx70Mvtx50Mt600Ma300"] - - [0x80028B20, "aMl0Me0Mgfx100Mvtx50Mt700Ma150"] - - [0x80028B4C, "aMl0Me0Mgfx70Mvtx50Mt660Ma150"] - - [0x80028B78, "aMl0Me0Mgfx70Mvtx50Mt750Ma225"] - - [0x80028BA4, "aMl0Me0Mgfx100Mvtx50Mt550Ma350"] - - [0x80028BD0, "aMl0Me0Mgfx100Mvtx50Mt725Ma150"] - - [0x80028BFC, "aMl0Me0Mgfx70Mvtx50Mt750Ma220"] - - [0x80028C28, "aMl0Me0Mgfx70Mvtx50Mt600Ma250"] - - [0x80028C54, "aMl0Me0Mgfx60Mvtx40Mt635Ma290"] - - [0x80028C80, "aMl0Me0Mgfx60Mvtx50Mt710Ma300"] - - [0x80028CAC, "aMl0Me0Mgfx100Mvtx50Mt600Ma200"] - - [0x80028CD8, "aMl0Me0Mgfx70Mvtx50Mt500Ma200"] - - [0x80028D04, "aMl0Me0Mgfx70Mvtx50Mt671Ma200"] - - [0x80028D30, "aMl0Me0Mgfx100Mvtx50Mt650Ma250"] - - [0x80028D5C, "aMl0Me0Mgfx100Mvtx50Mt530Ma250"] - - [0x80028D88, "aMl0Me0Mgfx60Mvtx40Mt855Ma135"] - - [0x80028DB4, "aMl0Me0Mgfx100Mvtx50Mt600Ma250"] - - [0x80028DE0, "aMl0Me0Mgfx100Mvtx50Mt650Ma150"] - - [0x80028E0C, "aMl0Me0Mgfx100Mvtx50Mt300Ma300"] - - [0x80028E38, "aMl0Me0Mgfx80Mvtx20Mt646Ma001"] - - [0x80028E60, "aMl0Me0Mgfx60Mvtx20Mt500Ma001"] - - [0x80028E88, "aMl0Me0Mgfx60Mvtx20Mt500Ma001_0"] - - [0x80028EB0, "aMl0Me0Mgfx130Mvtx100Mt390Ma100"] - - [0x80028EDC, "aMl0Me0Mgfx130Mvtx100Mt400Ma100"] - - [0x80028F08, "aMl0Me0Mgfx130Mvtx100Mt400Ma100_0"] - - [0x80028F34, "aMl0Me0Mgfx130Mvtx100Mt400Ma100_1"] - - [0x80028F60, "aMl0Me0Mgfx130Mvtx100Mt400Ma100_2"] - - [0x80028F8C, "aMl0Me0Mgfx130Mvtx100Mt400Ma300"] - - [0x80028FB8, "aMl0Me0Mgfx130Mvtx100Mt550Ma170"] - - [0x80028FE4, "aMl0Me0Mgfx80Mvtx100Mt550Ma250"] - - [0x80029010, "aMl0Me0Mgfx130Mvtx100Mt440Ma220"] - - [0x8002903C, "aMl0Me0Mgfx90Mvtx100Mt550Ma230"] - - [0x80029068, "aMl0Me0Mgfx110Mvtx100Mt350Ma400"] - - [0x80029094, "aMl0Me0Mgfx100Mvtx50Mt700Ma400"] - - [0x800290C0, "aLevel_"] - - [0x800290C8, "aMl0Me0Mgfx100Mvtx50Mt700Ma400_1"] - - [0x800290FC, "aM"] - - [0x80029100, "aM_1"] - - [0x80029104, "aLevel__0"] - - [0x8002910C, "aLevel__1"] - - [0x80029114, "aHard"] - - [0x8002911C, "aHard_1"] - - [0x80029124, "aHard_2"] - - [0x8002912C, "aMa"] - - [0x80029130, "aMa_0"] - - [0x80029134, "aU64_taskgrab_D_core"] - - [0x8002914C, "aBoss_c_debug"] - - [0x80029160, "jpt_70007FB4"] - - [0x800291A0, "aMemp_c_debug"] - - [0x800291B0, "aMf"] - - [0x800291B4, "aMf_0"] - - [0x800291B8, "aMl"] - - [0x800291BC, "aMl_0"] - - [0x800291C0, "aMe"] - - [0x800291C4, "aMe_0"] - - [0x800291D0, "aMema_c_debug"] - - [0x800291E0, "aD_3"] - - [0x800291E4, "a___"] - - [0x800291E8, "aD_5"] - - [0x800291F4, "aD_6"] - - [0x800291F8, "aS_2"] - - [0x800291FC, "aJ"] - - [0x80029200, "aVi_c_debug"] - - [0x80029210, "a31m40m"] - - [0x8002921C, "a37m40m"] - - [0x80029228, "a32m40m"] - - [0x80029234, "a33m40m"] - - [0x80029240, "a34m40m"] - - [0x8002924C, "a35m40m"] - - [0x80029258, "a36m40m"] - - [0x80029264, "a37m44m"] - - [0x80029270, "a31m44m"] - - [0x8002927C, "a32m44m"] - - [0x80029288, "a33m44m"] - - [0x80029294, "a30m44m"] - - [0x800292A0, "a35m44m"] - - [0x800292AC, "a36m44m"] - - [0x800292B8, "a37m41m"] - - [0x800292C4, "a30m41m"] - - [0x800292D0, "a32m41m"] - - [0x800292DC, "a33m41m"] - - [0x800292E8, "a34m41m"] - - [0x800292F4, "a35m41m"] - - [0x80029300, "a36m41m"] - - [0x8002930C, "a37m45m"] - - [0x80029318, "a31m45m"] - - [0x80029324, "a32m45m"] - - [0x80029330, "a33m45m"] - - [0x8002933C, "a34m45m"] - - [0x80029348, "a30m45m"] - - [0x80029354, "a36m45m"] - - [0x80029360, "a37m42m"] - - [0x8002936C, "a31m42m"] - - [0x80029378, "a30m42m"] - - [0x80029384, "a33m42m"] - - [0x80029390, "aJoy_c_debug"] - - [0x800293A0, "__osRcpImTable"] - - [0x80029440, "__osIntOffTable"] - - [0x80029460, "__osIntTable"] - - [0x80029490, "jpt_70011278"] - - [0x80029614, "jpt_70011AC8"] - - [0x80029674, "jpt_70011B04"] - - [0x800296F0, "aHll"] - - [0x800296F4, "printf_symbols"] - - [0x800296FC, "byteshiftleft_lookup"] - - [0x80029714, "jpt_70013944"] - - [0x80029830, "jpt_70019520"] - - [0x80029850, "jpt_7001A628"] - - [0x80029890, "aAssertionFaultSSLineD"] - - [0x800298BC, "aSamples0"] - - [0x800298CC, "aEnv_c"] - - [0x800298D4, "aAssertionFaultSSLineD_0"] - - [0x80029900, "aSamplesAl_max_rsp_samples"] - - [0x80029920, "aEnv_c_0"] - - [0x80029928, "aAssertionFaultSSLineD_1"] - - [0x80029954, "aSource"] - - [0x8002995C, "aEnv_c_1"] - - [0x80029968, "jpt_7001AF6C"] - - [0x80029A50, "jpt_7001C498"] - - [0x80029BD4, "jpt_7001C98C"] - - [0x80029C28, "jpt_7001CCD8"] - - [0x80029C90, "digits"] - - [0x80029CD8, "aNan"] - - [0x80029CDC, "aInf"] - - [0x80029CF0, "jpt_7001E80C"] - - [0x80029D10, "jpt_7001FFCC"] - - [0x80029D6C, "animation_table_ptrs1"] - - [0x8002A04C, "animation_table_ptrs2"] - - [0x8002A060, "global_action_block_temp_buffer"] - - [0x8002A23C, "weapon_models_for_weapon_load"] - - [0x8002A260, "ptr_monitorimageobjectanimationcontroller"] - - [0x8002A2D4, "unknown_object_animation_controller"] - - [0x8002A348, "taser_object_animation_controller"] - - [0x8002A3C0, "scale_1_0_item_related"] - - [0x8002A3D0, "BONDdata_item_control_blocks_initdata"] - - [0x8002A83C, "D_8002A83C"] - - [0x8002A848, "D_8002A848"] - - [0x8002A8A0, "intro_eye_counter"] - - [0x8002A8A4, "intro_state_blood_animation"] - - [0x8002A8C0, "current_menu"] - - [0x8002A8C4, "menu_update"] - - [0x8002A8C8, "maybe_prev_menu"] - - [0x8002A8CC, "menu_timer"] - - [0x8002A8D0, "tab_1_selected"] - - [0x8002A8D4, "tab_2_selected"] - - [0x8002A8D8, "tab_3_selected"] - - [0x8002A8DC, "tab_1_highlight"] - - [0x8002A8E0, "tab_2_highlight"] - - [0x8002A8E4, "tab_3_highlight"] - - [0x8002A8E8, "selected_folder_num"] - - [0x8002A8EC, "selected_folder_num_copy"] - - [0x8002A8F0, "gamemode"] - - [0x8002A8F4, "selected_stage"] - - [0x8002A8F8, "ptr_briefingdata"] - - [0x8002A8FC, "selected_difficulty"] - - [0x8002A900, "append_cheat_sp"] - - [0x8002A904, "append_cheat_mp"] - - [0x8002A908, "cursor_h_pos"] - - [0x8002A90C, "cursor_v_pos"] - - [0x8002A910, "final_menu_briefing_page"] - - [0x8002A914, "current_menu_briefing_page"] - - [0x8002A918, "folder_selection_screen_option_icon"] - - [0x8002A91C, "folder_selected_for_deletion"] - - [0x8002A920, "folder_selected_for_deletion_choice"] - - [0x8002A924, "mission_failed_or_aborted"] - - [0x8002A928, "mission_kia"] - - [0x8002A92C, "is_first_time_on_legal_screen"] - - [0x8002A930, "is_first_time_on_main_menu"] - - [0x8002A934, "prev_keypresses"] - - [0x8002A93C, "maybe_is_in_menu"] - - [0x8002A940, "screen_size"] - - [0x8002A948, "is_emulating_spectrum"] - - [0x8002A94C, "is_cheat_menu_available"] - - [0x8002A950, "ptr_logo_and_walletbond_DL"] - - [0x8002A954, "ptr_menu_videobuffer"] - - [0x8002A958, "something_legalscreen_constructor"] - - [0x8002A95C, "ptr_folder_object_instance"] - - [0x8002A960, "set0_never_used"] - - [0x8002A964, "set0_never_used_0"] - - [0x8002A9A0, "slider_007_mode_reaction"] - - [0x8002A9A4, "slider_007_mode_health"] - - [0x8002A9A8, "slider_007_mode_accuracy"] - - [0x8002A9AC, "slider_007_mode_damage"] - - [0x8002ABC4, "folder_option_COPY_left_bound"] - - [0x8002ABC8, "folder_option_COPY_upper_bound"] - - [0x8002ABCC, "folder_option_COPY_right_bound"] - - [0x8002ABD0, "folder_option_COPY_lower_bound"] - - [0x8002ABD4, "folder_option_ERASE_left_bound"] - - [0x8002ABD8, "folder_option_ERASE_upper_bound"] - - [0x8002ABDC, "folder_option_ERASE_right_bound"] - - [0x8002ABE0, "folder_option_ERASE_lower_bound"] - - [0x8002ABE4, "mission_folder_setup_entries"] - - [0x8002ACC8, "aAB"] - - [0x8002AD8C, "aEJ"] - - [0x8002AEC0, "aXC"] - - [0x8002AEF8, "aSS"] - - [0x8002AF2C, "unknown_folderselect_constructor"] - - [0x8002AF38, "unknown_folderselect_constructor_0"] - - [0x8002AF44, "unknown_folderselect"] - - [0x8002AFD0, "cursor_xpos_table_mission_select"] - - [0x8002AFE4, "cursor_ypos_table_mission_select"] - - [0x8002B074, "multi_stage_setups"] - - [0x8002B08C, "aA_9"] - - [0x8002B194, "num_chars_selectable_mp"] - - [0x8002B198, "mp_chr_setup"] - - [0x8002B498, "MP_handicap_table"] - - [0x8002B520, "selected_num_players"] - - [0x8002B524, "player_1_char"] - - [0x8002B528, "player_2_char"] - - [0x8002B52C, "player_3_char"] - - [0x8002B530, "player_4_char"] - - [0x8002B534, "MP_stage_selected"] - - [0x8002B538, "game_length"] - - [0x8002B53C, "aim_sight_adjustment"] - - [0x8002B540, "scenario"] - - [0x8002B544, "unlock_stage_select"] - - [0x8002B548, "unlock_game_length"] - - [0x8002B54C, "unlock_chars"] - - [0x8002B550, "unlock_weapon_select"] - - [0x8002B554, "unlock_handicap"] - - [0x8002B558, "unlock_control_style"] - - [0x8002B55C, "unlock_aim_sight"] - - [0x8002B5E4, "MP_menu_selected_option"] - - [0x8002B5E8, "do_not_play_intro_movie"] - - [0x8002B5EC, "randomly_selected_intro_animation"] - - [0x8002B5F0, "intro_animation_count"] - - [0x8002B5FC, "full_actor_intro"] - - [0x8002B600, "intro_char_table"] - - [0x8002B8BC, "intro_animation_table"] - - [0x8002B994, "a?fff"] - - [0x8002B9A4, "a?fff_0"] - - [0x8002B9B4, "a?fff_1"] - - [0x8002B9D4, "a?fff_2"] - - [0x8002B9E4, "a?fff_3"] - - [0x8002BA38, "random_rifles_in_intro"] - - [0x8002BA50, "random_pistols_in_intro"] - - [0x8002BAF0, "color_palette_entries_50_percent"] - - [0x8002BB30, "die_blood_image_1"] - - [0x8002C510, "save1_selected_bond"] - - [0x8002C514, "save2_selected_bond"] - - [0x8002C518, "save3_selected_bond"] - - [0x8002C51C, "save4_selected_bond"] - - [0x8002C8A0, "blank_eeprom"] - - [0x8002C900, "animation_rate"] - - [0x8002CC5C, "show_patrols"] - - [0x8002CC60, "player1_guardID"] - - [0x8002CC64, "ptr_guard_data"] - - [0x8002CD00, "num_bodies"] - - [0x8002CD04, "num_male_heads"] - - [0x8002CD08, "num_female_heads"] - - [0x8002CD0C, "list_of_bodies"] - - [0x8002CDB8, "random_male_heads"] - - [0x8002CE20, "random_female_heads"] - - [0x8002CE34, "current_random_body"] - - [0x8002CE38, "current_random_male_head"] - - [0x8002CE3C, "current_random_female_head"] - - [0x8002CE40, "ai_accuracy_modifier"] - - [0x8002CE44, "ai_damage_modifier"] - - [0x8002CE48, "ai_health_modifier"] - - [0x8002CE4C, "ai_reaction_speed"] - - [0x8002CE50, "setting_007_5"] - - [0x8002E93C, "expl_forward"] - - [0x8002E944, "expl_f_left"] - - [0x8002E948, "expl_f_right"] - - [0x8002E94C, "expl_left"] - - [0x8002E950, "expl_right"] - - [0x8002E954, "expl_back"] - - [0x8002E958, "expl_b_right"] - - [0x8002E95C, "expl_b_left"] - - [0x8002E960, "explosion_animation_table"] - - [0x8002E9A0, "rifle_firing_animation_group1"] - - [0x8002EA30, "ptr_rifle_firing_animation_group1"] - - [0x8002EA38, "rifle_firing_animation_group2"] - - [0x8002EB10, "ptr_rifle_firing_animation_group2"] - - [0x8002EB18, "rifle_firing_animation_group5"] - - [0x8002EBF0, "ptr_rifle_firing_animation_group5"] - - [0x8002EBF8, "rifle_firing_animation_group3"] - - [0x8002EC88, "ptr_rifle_firing_animation_group3"] - - [0x8002EC90, "rifle_firing_animation_group4"] - - [0x8002ED20, "ptr_rifle_firing_animation_group4"] - - [0x8002ED28, "ptr_rifle_firing_animation_groups"] - - [0x8002EDA8, "pistol_firing_animation_group1"] - - [0x8002EF10, "ptr_pistol_firing_animation_group1"] - - [0x8002EF18, "pistol_firing_animation_group2"] - - [0x8002EFF0, "ptr_pistol_firing_animation_group2"] - - [0x8002EFF8, "pistol_firing_animation_group3"] - - [0x8002F160, "ptr_pistol_firing_animation_group3"] - - [0x8002F168, "pistol_firing_animation_group6"] - - [0x8002F204, "a@cF@r"] - - [0x8002F20C, "aC_3"] - - [0x8002F210, "aBx"] - - [0x8002F214, "aB_2"] - - [0x8002F218, "aBt"] - - [0x8002F21C, "aB_3"] - - [0x8002F220, "aA_10"] - - [0x8002F24C, "a@cF@a"] - - [0x8002F254, "aBu"] - - [0x8002F258, "aAi"] - - [0x8002F25C, "aBh"] - - [0x8002F260, "aA_11"] - - [0x8002F264, "aB_4"] - - [0x8002F268, "aA_12"] - - [0x8002F26C, "aBa"] - - [0x8002F2D0, "ptr_pistol_firing_animation_group6"] - - [0x8002F2D8, "pistol_firing_animation_group4"] - - [0x8002F368, "ptr_pistol_firing_animation_group4"] - - [0x8002F370, "pistol_firing_animation_group5"] - - [0x8002F37C, "a@cF@a_0"] - - [0x8002F384, "aBu_0"] - - [0x8002F388, "aAi_0"] - - [0x8002F38C, "aBh_0"] - - [0x8002F390, "aA_13"] - - [0x8002F394, "aB_5"] - - [0x8002F398, "aA_14"] - - [0x8002F39C, "aBa_0"] - - [0x8002F400, "ptr_pistol_firing_animation_group5"] - - [0x8002F408, "ptr_pistol_firing_animation_groups"] - - [0x8002F488, "doubles_firing_animation_group1"] - - [0x8002F518, "ptr_doubles_firing_animation_group1"] - - [0x8002F520, "doubles_firing_animation_group2"] - - [0x8002F5F8, "ptr_doubles_firing_animation_group2"] - - [0x8002F600, "doubles_firing_animation_group3"] - - [0x8002F60C, "a@cFa"] - - [0x8002F654, "a@cFa_0"] - - [0x8002F6D8, "ptr_doubles_firing_animation_group3"] - - [0x8002F6E0, "ptr_doubles_firing_animation_groups"] - - [0x8002F760, "crouched_rifle_firing_animation_group1"] - - [0x8002F838, "ptr_crouched_rifle_firing_animation_group1"] - - [0x8002F840, "crouched_rifle_firing_animation_group2"] - - [0x8002F8D0, "ptr_crouched_rifle_firing_animation_group2"] - - [0x8002F8D8, "crouched_rifle_firing_animation_group3"] - - [0x8002F968, "ptr_crouched_rifle_firing_animation_group3"] - - [0x8002F970, "ptr_crouched_rifle_firing_animation_groups"] - - [0x8002F9F0, "crouched_pistol_firing_animation_group1"] - - [0x8002FAC8, "ptr_crouched_pistol_firing_animation_group1"] - - [0x8002FAD0, "crouched_pistol_firing_animation_group2"] - - [0x8002FBF0, "ptr_crouched_pistol_firing_animation_group2"] - - [0x8002FBF8, "crouched_pistol_firing_animation_group3"] - - [0x8002FC04, "a@cFap"] - - [0x8002FC4C, "a@cF"] - - [0x8002FC54, "aBk"] - - [0x8002FC58, "aB_6"] - - [0x8002FCD0, "ptr_crouched_pistol_firing_animation_group3"] - - [0x8002FCD8, "ptr_crouched_pistol_firing_animation_groups"] - - [0x8002FD58, "crouched_doubles_firing_animation_group1"] - - [0x8002FE30, "ptr_crouched_doubles_firing_animation_group1"] - - [0x8002FE38, "crouched_doubles_firing_animation_group2"] - - [0x8002FF10, "ptr_crouched_doubles_firing_animation_group2"] - - [0x8002FF18, "crouched_doubles_firing_animation_group3"] - - [0x8002FF24, "a@cFa_1"] - - [0x8002FF2C, "aB_7"] - - [0x8002FF30, "aB_8"] - - [0x8002FF34, "aBj"] - - [0x8002FF38, "aA_15"] - - [0x8002FF3C, "aA_16"] - - [0x8002FF40, "aAi_1"] - - [0x8002FF44, "aB_9"] - - [0x8002FF6C, "a@cF@r_0"] - - [0x8002FF74, "aB_10"] - - [0x8002FF78, "aB_11"] - - [0x8002FF7C, "aBp"] - - [0x8002FF80, "aA_17"] - - [0x8002FF84, "aA_18"] - - [0x8002FF88, "aAa_0"] - - [0x8002FF8C, "aBi"] - - [0x8002FFF0, "ptr_crouched_doubles_firing_animation_group3"] - - [0x8002FFF8, "ptr_crouched_doubles_firing_animation_groups"] - - [0x800308F4, "a@cF_0"] - - [0x800308FC, "aA_19"] - - [0x80030978, "objectiveregisters1"] - - [0x8003097C, "objectiveregisters2"] - - [0x80030980, "objectiveregisters3"] - - [0x800309F8, "male_guard_yelps"] - - [0x80030A2C, "female_guard_yelps"] - - [0x80030A34, "male_guard_yelp_counter"] - - [0x80030A38, "female_guard_yelp_counter"] - - [0x80030A3C, "metal_ricochet_SFX"] - - [0x80030A3E, "metal_ricochet_SFX2"] - - [0x80030A40, "metal_ricochet_SFX3"] - - [0x80030A50, "body_hit_SFX"] - - [0x80030A52, "body_hit_SFX2"] - - [0x80030A54, "body_hit_SFX3"] - - [0x80030A56, "body_hit_SFX4"] - - [0x80030A58, "body_hit_SFX5"] - - [0x80030A5A, "body_hit_SFX6"] - - [0x80030A5C, "body_hit_SFX7"] - - [0x80030A5E, "body_hit_SFX8"] - - [0x80030A60, "body_hit_SFX9"] - - [0x80030A62, "body_hit_SFXA"] - - [0x80030A64, "body_hit_SFXB"] - - [0x80030A66, "body_hit_SFXC"] - - [0x80030AA0, "ptr_obj_pos_list_current_entry"] - - [0x80030AA4, "ptr_obj_pos_list_first_entry"] - - [0x80030AA8, "ptr_obj_pos_list_final_entry"] - - [0x80030AAC, "difficulty"] - - [0x80030AC0, "alarm_timer"] - - [0x80030AC4, "ptr_alarm_sfx"] - - [0x80030AC8, "toxic_gas_sound_timer"] - - [0x80030ACC, "activate_gas_sound_timer"] - - [0x80030AE8, "clock"] - - [0x80030B28, "solo_ammo_multiplier"] - - [0x80030B2C, "Throwing_knife_SFX"] - - [0x80030B2E, "Throwing_knife_SFX_2"] - - [0x80030B30, "Throwing_knife_SFX_3"] - - [0x80030B32, "Throwing_knife_SFX_4"] - - [0x80030B74, "monitor_animation_microcode"] - - [0x80032094, "blank_07_object"] - - [0x80032114, "blank_11_object"] - - [0x80032194, "blank_08_object_preset_1"] - - [0x8003221C, "blank_08_object_preset_4001"] - - [0x800322F0, "num_objective_ptrs"] - - [0x80032320, "table_1"] - - [0x8003239C, "table_2"] - - [0x8003241C, "table_3"] - - [0x8003245C, "allocation_size_0"] - - [0x80032460, "allocation_size_1"] - - [0x8003246C, "ejected_cartridge"] - - [0x800324CC, "a?l?fff?a"] - - [0x80032504, "GfistZ_stats"] - - [0x8003253C, "a?l?ys?a"] - - [0x80032574, "GknifeZ_stats"] - - [0x800325AC, "a?l?ys?a_0"] - - [0x800325E4, "GthrowknifeZ_stats"] - - [0x8003261C, "a?l?ys?a_1"] - - [0x80032654, "GwppkZ_stats"] - - [0x8003268C, "a?l?ys?a_2"] - - [0x800326C4, "GwppksilZ_stats"] - - [0x800326FC, "a?l?ys?a_3"] - - [0x80032734, "Gtt33Z_stats"] - - [0x8003276C, "a?l?ys?a_4"] - - [0x800327A4, "GskorpianZ_stats"] - - [0x800327DC, "a?l?c?a"] - - [0x80032814, "Gak47Z_stats"] - - [0x80032884, "GuziZ_stats"] - - [0x800328BC, "a?l?ago?a"] - - [0x800328F4, "Gmp5kZ_stats"] - - [0x8003292C, "a?l?c?a_0"] - - [0x80032964, "Gmp5ksilZ_stats"] - - [0x8003299C, "a?l?c?a_1"] - - [0x800329D4, "GspectreZ_stats"] - - [0x80032A0C, "a?l?c?a_2"] - - [0x80032A44, "Gm16Z_stats"] - - [0x80032AB4, "Gfnp90Z_stats"] - - [0x80032AEC, "a?l?R?a"] - - [0x80032B24, "GshotgunZ_stats"] - - [0x80032B5C, "a?l?fff?a_0"] - - [0x80032B94, "GautoshotZ_stats"] - - [0x80032BCC, "a?l?fff?a_1"] - - [0x80032C04, "GsniperrifleZ_stats"] - - [0x80032C74, "GrugerZ_stats"] - - [0x80032CE4, "GgoldengunZ_stats"] - - [0x80032D1C, "a?l?ys?a_5"] - - [0x80032D54, "GsilverwppkZ_stats"] - - [0x80032D8C, "a?l?ys?a_6"] - - [0x80032DC4, "GgoldwppkZ_stats"] - - [0x80032DFC, "a?l?ys?a_7"] - - [0x80032E34, "GlaserZ_stats"] - - [0x80032E6C, "a?l?c?a_3"] - - [0x80032EA4, "GwatchlaserZ_stats"] - - [0x80032EDC, "a?l?c?a_4"] - - [0x80032F14, "GgrenadelaunchZ_stats"] - - [0x80032F84, "GrocketlaunchZ_stats"] - - [0x80032FF4, "GgrenadeZ_stats"] - - [0x8003302C, "a?l?ys?a_8"] - - [0x80033064, "GtimedmineZ_stats"] - - [0x8003309C, "a?l?ys?a_9"] - - [0x800330D4, "GproximitymineZ_stats"] - - [0x8003310C, "a?l?ys?a_10"] - - [0x80033144, "GremotemineZ_stats"] - - [0x8003317C, "a?l?ys?a_11"] - - [0x800331B4, "GtriggerZ_stats"] - - [0x800331EC, "a?l?ys?a_12"] - - [0x80033224, "GtaserZ_stats"] - - [0x8003325C, "a?l?fff?a_2"] - - [0x80033294, "GtankZ_stats"] - - [0x80033304, "GbombcaseZ_stats"] - - [0x8003333C, "a?l?ys?a_13"] - - [0x80033374, "GplastiqueZ_stats"] - - [0x800333AC, "a?l?ys?a_14"] - - [0x800333E4, "GflarepistolZ_stats"] - - [0x80033454, "GpitongunZ_stats"] - - [0x800334C4, "GbugZ_stats"] - - [0x800334FC, "a?l?ys?a_15"] - - [0x80033534, "GmicrocameraZ_stats"] - - [0x8003356C, "a?l?ys?a_16"] - - [0x800335A4, "GwatchmagnetattractZ_stats"] - - [0x800335DC, "a?l?ys?a_17"] - - [0x80033614, "GgoldeneyekeyZ_stats"] - - [0x8003364C, "a?l?ys?a_18"] - - [0x80033684, "GcameraZ_stats"] - - [0x800336BC, "a?l?ys?a_19"] - - [0x800336F4, "Csuit_lf_handz_stats"] - - [0x8003372C, "a?l?fff?a_3"] - - [0x80033764, "GjoypadZ_stats"] - - [0x80036424, "camera_80036424"] - - [0x80036428, "resolution"] - - [0x8003642C, "camera_8003642C"] - - [0x80036430, "camera_80036430"] - - [0x80036434, "camera_80036434"] - - [0x80036438, "camera_80036438"] - - [0x800365AC, "dummy_08_pp7_obj"] - - [0x800368E0, "aBu_1"] - - [0x800368E8, "aBo"] - - [0x80036944, "aB_36"] - - [0x8003694C, "aBi_0"] - - [0x800369BC, "aB4"] - - [0x800369C4, "aB_37"] - - [0x80036A48, "aB_38"] - - [0x80036A50, "aB_39"] - - [0x80036E30, "mcm_strings"] - - [0x80036F64, "debug_render_raster"] - - [0x80036F68, "debug_freeze_processing"] - - [0x80036F6C, "debug_limit_controller_input"] - - [0x80036F70, "debug_unknown"] - - [0x80036F74, "debug_fps_counter_membars"] - - [0x80036F78, "debug_do_draw_bg"] - - [0x80036F7C, "debug_do_draw_obj"] - - [0x80036F80, "debug_unknown2"] - - [0x80036F84, "line_mode"] - - [0x80036F88, "debug_man_pos"] - - [0x80036F8C, "turbo_mode"] - - [0x80036FB0, "debug_enable_agent_levels_flag"] - - [0x80036FB4, "debug_enable_all_levels_flag"] - - [0x80036FC4, "debug_walk_through_doors"] - - [0x80036FCC, "debug_fast_bond_flag"] - - [0x80036FD0, "debug_all_obj_complete"] - - [0x800374E4, "setup_text_pointers"] - - [0x800375D0, "Palarm1z_header"] - - [0x800375F0, "Palarm2Z_header"] - - [0x80037610, "PexplosionbitZ_header"] - - [0x80037630, "Pammo_crate1Z_header"] - - [0x80037650, "Pammo_crate2Z_header"] - - [0x80037670, "Pammo_crate3Z_header"] - - [0x80037690, "Pammo_crate4Z_header"] - - [0x800376B0, "Pammo_crate5Z_header"] - - [0x800376D0, "Pbin1Z_header"] - - [0x800376F0, "Pblotter1Z_header"] - - [0x80037710, "Pbook1Z_header"] - - [0x80037730, "Pbookshelf1Z_header"] - - [0x80037750, "Pbridge_console1aZ_header"] - - [0x80037770, "Pbridge_console1bZ_header"] - - [0x80037790, "Pbridge_console2aZ_header"] - - [0x800377B0, "Pbridge_console2bZ_header"] - - [0x800377D0, "Pbridge_console3aZ_header"] - - [0x800377F0, "Pbridge_console3bZ_header"] - - [0x80037810, "Pcard_box1Z_header"] - - [0x80037830, "Pcard_box2Z_header"] - - [0x80037850, "Pcard_box3Z_header"] - - [0x80037870, "Pcard_box4_lgZ_header"] - - [0x80037890, "Pcard_box5_lgZ_header"] - - [0x800378B0, "Pcard_box6_lgZ_header"] - - [0x800378D0, "PcctvZ_header"] - - [0x800378F0, "Pconsole1Z_header"] - - [0x80037910, "Pconsole2Z_header"] - - [0x80037930, "Pconsole3Z_header"] - - [0x80037950, "Pconsole_sevaZ_header"] - - [0x80037970, "Pconsole_sevbZ_header"] - - [0x80037990, "Pconsole_sevcZ_header"] - - [0x800379B0, "Pconsole_sevdZ_header"] - - [0x800379D0, "Pconsole_sev2aZ_header"] - - [0x800379F0, "Pconsole_sev2bZ_header"] - - [0x80037A10, "Pconsole_sev2cZ_header"] - - [0x80037A30, "Pconsole_sev2dZ_header"] - - [0x80037A50, "Pconsole_sev_GEaZ_header"] - - [0x80037A70, "Pconsole_sev_GEbZ_header"] - - [0x80037A90, "Pdesk1Z_header"] - - [0x80037AB0, "Pdesk2Z_header"] - - [0x80037AD0, "Pdesk_lamp2Z_header"] - - [0x80037AF0, "Pdisc_readerZ_header"] - - [0x80037B10, "Pdisk_drive1Z_header"] - - [0x80037B30, "Pfiling_cabinet1Z_header"] - - [0x80037B50, "Pjerry_can1Z_header"] - - [0x80037B70, "Pkeyboard1Z_header"] - - [0x80037B90, "Pkit_units1Z_header"] - - [0x80037BB0, "Pletter_tray1Z_header"] - - [0x80037BD0, "Pmainframe1Z_header"] - - [0x80037BF0, "Pmainframe2Z_header"] - - [0x80037C10, "Pmetal_chair1Z_header"] - - [0x80037C30, "Pmetal_crate1Z_header"] - - [0x80037C50, "Pmetal_crate2Z_header"] - - [0x80037C70, "Pmetal_crate3Z_header"] - - [0x80037C90, "Pmetal_crate4Z_header"] - - [0x80037CB0, "Pmissile_rackZ_header"] - - [0x80037CD0, "Pmissile_rack2Z_header"] - - [0x80037CF0, "Poil_drum1Z_header"] - - [0x80037D10, "Poil_drum2Z_header"] - - [0x80037D30, "Poil_drum3Z_header"] - - [0x80037D50, "Poil_drum5Z_header"] - - [0x80037D70, "Poil_drum6Z_header"] - - [0x80037D90, "Poil_drum7Z_header"] - - [0x80037DB0, "PpadlockZ_header"] - - [0x80037DD0, "Pphone1Z_header"] - - [0x80037DF0, "Pradio_unit1Z_header"] - - [0x80037E10, "Pradio_unit2Z_header"] - - [0x80037E30, "Pradio_unit3Z_header"] - - [0x80037E50, "Pradio_unit4Z_header"] - - [0x80037E70, "Psat1_reflectZ_header"] - - [0x80037E90, "PsatdishZ_header"] - - [0x80037EB0, "PsatboxZ_header"] - - [0x80037ED0, "Pstool1Z_header"] - - [0x80037EF0, "Pswivel_chair1Z_header"] - - [0x80037F10, "Ptorpedo_rackZ_header"] - - [0x80037F30, "Ptv1Z_header"] - - [0x80037F50, "Ptv_holderZ_header"] - - [0x80037F70, "PtvscreenZ_header"] - - [0x80037F90, "Ptv4screenZ_header"] - - [0x80037FB0, "Pwood_lg_crate1Z_header"] - - [0x80037FD0, "Pwood_lg_crate2Z_header"] - - [0x80037FF0, "Pwood_md_crate3Z_header"] - - [0x80038010, "Pwood_sm_crate4Z_header"] - - [0x80038030, "Pwood_sm_crate5Z_header"] - - [0x80038050, "Pwood_sm_crate6Z_header"] - - [0x80038070, "Pwooden_table1Z_header"] - - [0x80038090, "Pswipe_card2Z_header"] - - [0x800380B0, "Pborg_crateZ_header"] - - [0x800380D0, "Pboxes4x4Z_header"] - - [0x800380F0, "Pboxes3x4Z_header"] - - [0x80038110, "Pboxes2x4Z_header"] - - [0x80038130, "Psec_panelZ_header"] - - [0x80038150, "PICBM_noseZ_header"] - - [0x80038170, "PICBMZ_header"] - - [0x80038190, "Ptuning_console1Z_header"] - - [0x800381B0, "Pdesk_arecibo1Z_header"] - - [0x800381D0, "Plocker3Z_header"] - - [0x800381F0, "Plocker4Z_header"] - - [0x80038210, "ProofgunZ_header"] - - [0x80038230, "Pdest_engineZ_header"] - - [0x80038250, "Pdest_exocetZ_header"] - - [0x80038270, "Pdest_gunZ_header"] - - [0x80038290, "Pdest_harpoonZ_header"] - - [0x800382B0, "Pdest_seawolfZ_header"] - - [0x800382D0, "PwindowZ_header"] - - [0x800382F0, "Pwindow_lib_lg1Z_header"] - - [0x80038310, "Pwindow_lib_sm1Z_header"] - - [0x80038330, "Pwindow_cor11Z_header"] - - [0x80038350, "Pjungle3_treeZ_header"] - - [0x80038370, "PpalmZ_header"] - - [0x80038390, "PpalmtreeZ_header"] - - [0x800383B0, "Pplant2bZ_header"] - - [0x800383D0, "PlabbenchZ_header"] - - [0x800383F0, "PgasbarrelZ_header"] - - [0x80038410, "PgasbarrelsZ_header"] - - [0x80038430, "PbodyarmourZ_header"] - - [0x80038450, "PbodyarmourvestZ_header"] - - [0x80038470, "PgastankZ_header"] - - [0x80038490, "Pglassware1Z_header"] - - [0x800384B0, "PhatchboltZ_header"] - - [0x800384D0, "PbrakeunitZ_header"] - - [0x800384F0, "Pak47magZ_header"] - - [0x80038510, "Pm16magZ_header"] - - [0x80038530, "Pmp5kmagZ_header"] - - [0x80038550, "PskorpionmagZ_header"] - - [0x80038570, "PspectremagZ_header"] - - [0x80038590, "PuzimagZ_header"] - - [0x800385B0, "PsilencerZ_header"] - - [0x800385D0, "PchrextinguisherZ_header"] - - [0x800385F0, "PboxcartridgesZ_header"] - - [0x80038610, "Pfnp90magZ_header"] - - [0x80038630, "PgoldenshellsZ_header"] - - [0x80038650, "PmagnumshellsZ_header"] - - [0x80038670, "PwppkmagZ_header"] - - [0x80038690, "Ptt33magZ_header"] - - [0x800386B0, "Psev_doorZ_header"] - - [0x800386D0, "Psev_door3Z_header"] - - [0x800386F0, "Psev_door3_windZ_header"] - - [0x80038710, "Psev_door4_windZ_header"] - - [0x80038730, "Psev_trislideZ_header"] - - [0x80038750, "Psev_door_v1Z_header"] - - [0x80038770, "Psteel_door1Z_header"] - - [0x80038790, "Psteel_door2Z_header"] - - [0x800387B0, "Psteel_door3Z_header"] - - [0x800387D0, "Psilo_lift_doorZ_header"] - - [0x800387F0, "Psteel_door2bZ_header"] - - [0x80038810, "Pdoor_roller1Z_header"] - - [0x80038830, "Pdoor_roller2Z_header"] - - [0x80038850, "Pdoor_roller3Z_header"] - - [0x80038870, "Pdoor_roller4Z_header"] - - [0x80038890, "Pdoor_st_arec1Z_header"] - - [0x800388B0, "Pdoor_st_arec2Z_header"] - - [0x800388D0, "Pdoor_dest1Z_header"] - - [0x800388F0, "Pdoor_dest2Z_header"] - - [0x80038910, "Pgas_plant_sw_do1Z_header"] - - [0x80038930, "Pgas_plant_sw2_do1Z_header"] - - [0x80038950, "Pgas_plant_sw3_do1Z_header"] - - [0x80038970, "Pgas_plant_sw4_do1Z_header"] - - [0x80038990, "Pgas_plant_met1_do1Z_header"] - - [0x800389B0, "Pgas_plant_wc_cub1Z_header"] - - [0x800389D0, "Pgasplant_clear_doorZ_header"] - - [0x800389F0, "Ptrain_doorZ_header"] - - [0x80038A10, "Ptrain_door2Z_header"] - - [0x80038A30, "Ptrain_door3Z_header"] - - [0x80038A50, "Pdoor_eyelidZ_header"] - - [0x80038A70, "Pdoor_irisZ_header"] - - [0x80038A90, "PsevdoorwoodZ_header"] - - [0x80038AB0, "PsevdoorwindZ_header"] - - [0x80038AD0, "PsevdoornowindZ_header"] - - [0x80038AF0, "PsevdoormetslideZ_header"] - - [0x80038B10, "Pcryptdoor1aZ_header"] - - [0x80038B30, "Pcryptdoor1bZ_header"] - - [0x80038B50, "Pcryptdoor2aZ_header"] - - [0x80038B70, "Pcryptdoor2bZ_header"] - - [0x80038B90, "Pcryptdoor3Z_header"] - - [0x80038BB0, "Pcryptdoor4Z_header"] - - [0x80038BD0, "PvertdoorZ_header"] - - [0x80038BF0, "PhatchdoorZ_header"] - - [0x80038C10, "PdamgatedoorZ_header"] - - [0x80038C30, "PdamtundoorZ_header"] - - [0x80038C50, "PdamchaindoorZ_header"] - - [0x80038C70, "PsilotopdoorZ_header"] - - [0x80038C90, "Pdoorprison1Z_header"] - - [0x80038CB0, "PdoorstatgateZ_header"] - - [0x80038CD0, "PchrkalashZ_header"] - - [0x80038CE0, "aC_11"] - - [0x80038CF0, "PchrgrenadelaunchZ_header"] - - [0x80038D00, "aCX"] - - [0x80038D10, "PchrknifeZ_header"] - - [0x80038D20, "aCuM"] - - [0x80038D30, "PchrlaserZ_header"] - - [0x80038D40, "aCT"] - - [0x80038D50, "Pchrm16Z_header"] - - [0x80038D70, "Pchrmp5kZ_header"] - - [0x80038D80, "aCki@"] - - [0x80038D90, "PchrrugerZ_header"] - - [0x80038DB0, "PchrwppkZ_header"] - - [0x80038DD0, "PchrshotgunZ_header"] - - [0x80038DF0, "PchrskorpionZ_header"] - - [0x80038E00, "aC7I"] - - [0x80038E10, "PchrspectreZ_header"] - - [0x80038E20, "aCpvv"] - - [0x80038E30, "PchruziZ_header"] - - [0x80038E50, "PchrgrenadeZ_header"] - - [0x80038E70, "Pchrfnp90Z_header"] - - [0x80038E90, "PchrbriefcaseZ_header"] - - [0x80038EB0, "PchrremotemineZ_header"] - - [0x80038EC0, "aBo_0"] - - [0x80038ED0, "PchrproximitymineZ_header"] - - [0x80038EE0, "aBodk"] - - [0x80038EF0, "PchrtimedmineZ_header"] - - [0x80038F00, "aBoX"] - - [0x80038F10, "PchrrocketZ_header"] - - [0x80038F20, "aClnd"] - - [0x80038F30, "PchrgrenaderoundZ_header"] - - [0x80038F50, "PchrwppksilZ_header"] - - [0x80038F70, "Pchrtt33Z_header"] - - [0x80038F90, "Pchrmp5ksilZ_header"] - - [0x80038FB0, "PchrautoshotZ_header"] - - [0x80038FC0, "aCQ_0"] - - [0x80038FD0, "PchrgoldenZ_header"] - - [0x80038FF0, "PchrthrowknifeZ_header"] - - [0x80039000, "aCyuo"] - - [0x80039010, "PchrsniperrifleZ_header"] - - [0x80039030, "PchrrocketlaunchZ_header"] - - [0x80039050, "PhatfurryZ_header"] - - [0x80039070, "PhatfurrybrownZ_header"] - - [0x80039090, "PhatfurryblackZ_header"] - - [0x800390B0, "PhattbirdZ_header"] - - [0x800390D0, "PhattbirdbrownZ_header"] - - [0x800390F0, "PhathelmetZ_header"] - - [0x80039110, "PhathelmetgreyZ_header"] - - [0x80039130, "PhatmoonZ_header"] - - [0x80039150, "PhatberetZ_header"] - - [0x80039170, "PhatberetblueZ_header"] - - [0x80039190, "PhatberetredZ_header"] - - [0x800391B0, "PhatpeakedZ_header"] - - [0x800391D0, "PchrwristdartZ_header"] - - [0x800391F0, "PchrexplosivepenZ_header"] - - [0x80039210, "PchrbombcaseZ_header"] - - [0x80039230, "PchrflarepistolZ_header"] - - [0x80039250, "PchrpitongunZ_header"] - - [0x80039270, "PchrfingergunZ_header"] - - [0x80039290, "PchrsilverwppkZ_header"] - - [0x800392B0, "PchrgoldwppkZ_header"] - - [0x800392D0, "PchrdynamiteZ_header"] - - [0x800392F0, "PchrbungeeZ_header"] - - [0x80039310, "PchrdoordecoderZ_header"] - - [0x80039320, "aC4g"] - - [0x80039330, "PchrbombdefuserZ_header"] - - [0x80039350, "PchrbugdetectorZ_header"] - - [0x80039370, "PchrsafecrackercaseZ_header"] - - [0x80039390, "PchrcameraZ_header"] - - [0x800393B0, "PchrlockexploderZ_header"] - - [0x800393D0, "PchrdoorexploderZ_header"] - - [0x800393F0, "PchrkeyanalysercaseZ_header"] - - [0x80039410, "PchrweaponcaseZ_header"] - - [0x80039430, "PchrkeyyaleZ_header"] - - [0x80039450, "PchrkeyboltZ_header"] - - [0x80039470, "PchrbugZ_header"] - - [0x80039490, "PchrmicrocameraZ_header"] - - [0x800394B0, "PfloppyZ_header"] - - [0x800394D0, "PchrgoldeneyekeyZ_header"] - - [0x800394F0, "PchrpolarizedglassesZ_header"] - - [0x80039510, "PchrcreditcardZ_header"] - - [0x80039530, "PchrdarkglassesZ_header"] - - [0x80039550, "PchrgaskeyringZ_header"] - - [0x80039570, "PchrdatathiefZ_header"] - - [0x80039590, "PsafeZ_header"] - - [0x800395B0, "PbombZ_header"] - - [0x800395D0, "PchrplansZ_header"] - - [0x800395F0, "PchrspyfileZ_header"] - - [0x80039610, "PchrblueprintsZ_header"] - - [0x80039630, "PchrcircuitboardZ_header"] - - [0x80039650, "PchrmapZ_header"] - - [0x80039670, "PchrspooltapeZ_header"] - - [0x80039690, "PchraudiotapeZ_header"] - - [0x800396B0, "PchrmicrofilmZ_header"] - - [0x800396D0, "PchrmicrocodeZ_header"] - - [0x800396F0, "PchrlectreZ_header"] - - [0x80039710, "PchrmoneyZ_header"] - - [0x80039730, "PchrgoldbarZ_header"] - - [0x80039750, "PchrheroinZ_header"] - - [0x80039770, "PchrclipboardZ_header"] - - [0x80039790, "PchrdossierredZ_header"] - - [0x800397B0, "PchrstafflistZ_header"] - - [0x800397D0, "PchrdattapeZ_header"] - - [0x800397F0, "PchrplastiqueZ_header"] - - [0x80039810, "PchrblackboxZ_header"] - - [0x80039830, "PchrvideotapeZ_header"] - - [0x80039850, "PnintendologoZ_header"] - - [0x80039870, "PgoldeneyelogoZ_header"] - - [0x80039890, "PwalletbondZ_header"] - - [0x800398A0, "aE"] - - [0x800398B0, "PmiltruckZ_header"] - - [0x800398D0, "PjeepZ_header"] - - [0x800398F0, "ParticZ_header"] - - [0x80039910, "PhelicopterZ_header"] - - [0x80039930, "PtigerZ_header"] - - [0x80039950, "PmilcopterZ_header"] - - [0x80039970, "PhindZ_header"] - - [0x80039990, "PartictrailerZ_header"] - - [0x800399B0, "PmotorbikeZ_header"] - - [0x800399D0, "PtankZ_header"] - - [0x800399F0, "PapcZ_header"] - - [0x80039A10, "PspeedboatZ_header"] - - [0x80039A30, "PplaneZ_header"] - - [0x80039A50, "Pgun_runway1Z_header"] - - [0x80039A70, "PsafedoorZ_header"] - - [0x80039A90, "Pkey_holderZ_header"] - - [0x80039AB0, "PhatchsevxZ_header"] - - [0x80039AD0, "PsevdishZ_header"] - - [0x80039AF0, "Parchsecdoor1Z_header"] - - [0x80039B10, "Parchsecdoor2Z_header"] - - [0x80039B30, "PgroundgunZ_header"] - - [0x80039B50, "PtrainextdoorZ_header"] - - [0x80039B70, "PcarbmwZ_header"] - - [0x80039B90, "PcarescortZ_header"] - - [0x80039BB0, "PcargolfZ_header"] - - [0x80039BD0, "PcarweirdZ_header"] - - [0x80039BF0, "PcarzilZ_header"] - - [0x80039C10, "Pshuttle_door_lZ_header"] - - [0x80039C30, "Pshuttle_door_rZ_header"] - - [0x80039C50, "Pdepot_gate_entryZ_header"] - - [0x80039C70, "Pdepot_door_steelZ_header"] - - [0x80039C90, "Pglassware2Z_header"] - - [0x80039CB0, "Pglassware3Z_header"] - - [0x80039CD0, "Pglassware4Z_header"] - - [0x80039CF0, "PlandmineZ_header"] - - [0x80039D10, "Pplant1Z_header"] - - [0x80039D30, "Pplant11Z_header"] - - [0x80039D50, "Pplant2Z_header"] - - [0x80039D70, "Pplant3Z_header"] - - [0x80039D90, "Pjungle5_treeZ_header"] - - [0x80039DB0, "PlegalpageZ_header"] - - [0x80039DD0, "Pst_pete_room_1iZ_header"] - - [0x80039DF0, "Pst_pete_room_2iZ_header"] - - [0x80039E10, "Pst_pete_room_3tZ_header"] - - [0x80039E30, "Pst_pete_room_5cZ_header"] - - [0x80039E50, "Pst_pete_room_6cZ_header"] - - [0x80039E70, "Pdoor_rollertrainZ_header"] - - [0x80039E90, "Pdoor_winZ_header"] - - [0x80039EB0, "Pdoor_aztecZ_header"] - - [0x80039ED0, "PshuttleZ_header"] - - [0x80039EF0, "Pdoor_azt_deskZ_header"] - - [0x80039F10, "Pdoor_azt_desk_topZ_header"] - - [0x80039F30, "Pdoor_azt_chairZ_header"] - - [0x80039F50, "Pdoor_mfZ_header"] - - [0x80039F70, "PflagZ_header"] - - [0x80039F80, "aDwu_0"] - - [0x80039F90, "PbarricadeZ_header"] - - [0x80039FB0, "PmodemboxZ_header"] - - [0x80039FD0, "PdoorpanelZ_header"] - - [0x80039FF0, "PdoorconsoleZ_header"] - - [0x8003A010, "PchrtesttubeZ_header"] - - [0x8003A020, "aCB"] - - [0x8003A030, "Pbollardz_header"] - - [0x8003A05C, "prop_cctv_related"] - - [0x8003A070, "prop_console_one_screen_related"] - - [0x8003A084, "prop_console_four_screen_related"] - - [0x8003A0B0, "prop_tv_holder_related"] - - [0x8003A0E0, "prop_rotating_stuff_related"] - - [0x8003A100, "prop_eyelid_door_related"] - - [0x8003A15C, "prop_iris_door_related"] - - [0x8003A170, "prop_walletbond_related"] - - [0x8003A19C, "prop_car_related"] - - [0x8003A1C8, "prop_flying_related"] - - [0x8003A1DC, "prop_door_related"] - - [0x8003A208, "item_tank_related"] - - [0x8003A21C, "item_hat_related"] - - [0x8003A228, "PitemZ_entries"] - - [0x8003AB1C, "PchrwppkZ_entry"] - - [0x8003AF18, "PnintendologoZ_header"] - - [0x8003AF24, "PgoldeneyelogoZ_header"] - - [0x8003AF30, "PwalletbondZ_entry"] - - [0x8003B11C, "PlegalpageZ_header"] - - [0x8003B218, "PitemZ_entry_end"] - - [0x8003C4D8, "model_object_standard_object"] - - [0x8003C4FC, "prop_weapon_related"] - - [0x8003C6E4, "model_suit_lf_hand"] - - [0x8003C714, "weapon_gun_standard_gun"] - - [0x8003C728, "weapon_gun_unassigned"] - - [0x8003C76C, "weapon_gun_revolver"] - - [0x8003C7AC, "weapon_gun_kf7"] - - [0x8003C7C0, "GwppkZ_struct"] - - [0x8003C7D0, "aCt"] - - [0x8003C7E0, "GwppksilZ_struct"] - - [0x8003C800, "Gtt33Z_struct"] - - [0x8003C820, "GskorpianZ_struct"] - - [0x8003C830, "aC3@"] - - [0x8003C840, "Gak47Z_struct"] - - [0x8003C850, "aDk_0"] - - [0x8003C860, "GuziZ_struct"] - - [0x8003C880, "Gmp5kZ_struct"] - - [0x8003C8A0, "Gmp5ksilZ_struct"] - - [0x8003C8C0, "Gm16Z_struct"] - - [0x8003C8D0, "aDi"] - - [0x8003C8E0, "Gfnp90Z_struct"] - - [0x8003C8F0, "aCch"] - - [0x8003C910, "aCnq"] - - [0x8003C920, "GrugerZ_struct"] - - [0x8003C930, "aD_19"] - - [0x8003C940, "GgoldengunZ_struct"] - - [0x8003C960, "GshotgunZ_struct"] - - [0x8003C970, "aDe_0"] - - [0x8003C980, "GautoshotZ_struct"] - - [0x8003C990, "aDrO"] - - [0x8003C9A0, "GgrenadelaunchZ_struct"] - - [0x8003C9C0, "GspectreZ_struct"] - - [0x8003C9E0, "GlaserZ_struct"] - - [0x8003C9F0, "aCH"] - - [0x8003CA00, "GrocketlaunchZ_struct"] - - [0x8003CA10, "aDA_0"] - - [0x8003CA20, "GknifeZ_header"] - - [0x8003CA40, "GthrowknifeZ_struct"] - - [0x8003CA50, "aCI"] - - [0x8003CA60, "GtaserZ_struct"] - - [0x8003CA70, "aC6F"] - - [0x8003CA80, "GremotemineZ_struct"] - - [0x8003CAA0, "GproximitymineZ_struct"] - - [0x8003CAC0, "GtimedmineZ_struct"] - - [0x8003CAD0, "aBey"] - - [0x8003CAE0, "GtriggerZ_struct"] - - [0x8003CB00, "GgrenadeZ_struct"] - - [0x8003CB10, "aCVk"] - - [0x8003CB20, "GfistZ_header"] - - [0x8003CB40, "GsniperrifleZ_struct"] - - [0x8003CB60, "GcartridgeZ_struct"] - - [0x8003CB80, "GcartrifleZ_struct"] - - [0x8003CBA0, "GcartblueZ_struct"] - - [0x8003CBC0, "GcartshellZ_struct"] - - [0x8003CBE0, "GjoypadZ_struct"] - - [0x8003CC40, "GbombcaseZ_struct"] - - [0x8003CC50, "aBs8"] - - [0x8003CC60, "GflarepistolZ_struct"] - - [0x8003CC80, "GpitongunZ_struct"] - - [0x8003CCC0, "GsilverwppkZ_struct"] - - [0x8003CCD0, "aCt_0"] - - [0x8003CCE0, "GgoldwppkZ_struct"] - - [0x8003CCF0, "aCt_1"] - - [0x8003CD20, "GbungeeZ_struct"] - - [0x8003CD40, "GdoordecoderZ_struct"] - - [0x8003CD50, "aBsf"] - - [0x8003CD60, "GbombdefuserZ_struct"] - - [0x8003CD70, "aBi_1"] - - [0x8003CD80, "GbugdetectorZ_struct"] - - [0x8003CDA0, "GsafecrackercaseZ_struct"] - - [0x8003CDB0, "aBs8_0"] - - [0x8003CDC0, "GcameraZ_struct"] - - [0x8003CDE0, "GlockexploderZ_struct"] - - [0x8003CE00, "GdoorexploderZ_struct"] - - [0x8003CE20, "GkeyanalysercaseZ_struct"] - - [0x8003CE30, "aBs8_1"] - - [0x8003CE40, "GweaponcaseZ_struct"] - - [0x8003CE50, "aBs8_2"] - - [0x8003CE60, "GkeycardZ_struct"] - - [0x8003CE80, "GkeyyaleZ_struct"] - - [0x8003CE90, "aC3_2"] - - [0x8003CEA0, "GkeyboltZ_struct"] - - [0x8003CEC0, "GbugZ_struct"] - - [0x8003CED0, "aBN"] - - [0x8003CEE0, "GmicrocameraZ_struct"] - - [0x8003CF00, "GexplosivefloppyZ_struct"] - - [0x8003CF20, "GgoldeneyekeyZ_struct"] - - [0x8003CF40, "GpolarizedglassesZ_struct"] - - [0x8003CF60, "GcreditcardZ_struct"] - - [0x8003CF80, "GdarkglassesZ_struct"] - - [0x8003CFA0, "GwatchidentifierZ_struct"] - - [0x8003CFB0, "aCVu"] - - [0x8003CFC0, "GwatchcommunicatorZ_struct"] - - [0x8003CFD0, "aCVu_0"] - - [0x8003CFE0, "GwatchlaserZ_struct"] - - [0x8003D000, "GwatchgeigercounterZ_struct"] - - [0x8003D010, "aCVu_1"] - - [0x8003D020, "GwatchmagnetrepelZ_struct"] - - [0x8003D030, "aCVu_2"] - - [0x8003D040, "GwatchmagnetattractZ_struct"] - - [0x8003D050, "aCVu_3"] - - [0x8003D060, "GgaskeyringZ_struct"] - - [0x8003D070, "aB2z"] - - [0x8003D080, "GdatathiefZ_struct"] - - [0x8003D090, "aBqrl"] - - [0x8003D0A0, "GbriefcaseZ_struct"] - - [0x8003D0B0, "aBs8_3"] - - [0x8003D0C0, "GblackboxZ_struct"] - - [0x8003D0E0, "GplastiqueZ_struct"] - - [0x8003D100, "GvideotapeZ_struct"] - - [0x8003D120, "GclipboardZ_struct"] - - [0x8003D130, "aCJ"] - - [0x8003D140, "GstafflistZ_struct"] - - [0x8003D150, "aCwU"] - - [0x8003D160, "GdossierredZ_struct"] - - [0x8003D170, "aC7k"] - - [0x8003D180, "GaudiotapeZ_struct"] - - [0x8003D1A0, "GdattapeZ_struct"] - - [0x8003D1B0, "aBq"] - - [0x8003D1C0, "GplansZ_struct"] - - [0x8003D1D0, "aBgcs"] - - [0x8003D1E0, "GspyfileZ_struct"] - - [0x8003D200, "GblueprintsZ_struct"] - - [0x8003D220, "GcircuitboardZ_struct"] - - [0x8003D230, "aCC"] - - [0x8003D240, "GmapZ_struct"] - - [0x8003D260, "GspooltapeZ_struct"] - - [0x8003D280, "GmicrofilmZ_struct"] - - [0x8003D2A0, "GmicrocodeZ_struct"] - - [0x8003D2C0, "GlectreZ_struct"] - - [0x8003D2E0, "GmoneyZ_struct"] - - [0x8003D300, "GgoldbarZ_struct"] - - [0x8003D320, "GheroinZ_struct"] - - [0x8003D390, "weapon_gun_controller"] - - [0x8003D400, "model_guard_character"] - - [0x8003D410, "CcamguardZ_struct"] - - [0x8003D430, "CgreyguardZ_struct"] - - [0x8003D450, "ColiveguardZ_struct"] - - [0x8003D470, "CrusguardZ_struct"] - - [0x8003D490, "CtrevguardZ_struct"] - - [0x8003D4B0, "CborisZ_struct"] - - [0x8003D4D0, "CorumovZ_struct"] - - [0x8003D4F0, "CtrevelyanZ_struct"] - - [0x8003D510, "CboilertrevZ_struct"] - - [0x8003D530, "CvalentinZ_struct"] - - [0x8003D550, "CxeniaZ_struct"] - - [0x8003D570, "CbaronsamediZ_struct"] - - [0x8003D590, "CjawsZ_struct"] - - [0x8003D5B0, "CmaydayZ_struct"] - - [0x8003D5D0, "CoddjobZ_struct"] - - [0x8003D5F0, "CnatalyaZ_struct"] - - [0x8003D610, "CarmourguardZ_struct"] - - [0x8003D630, "CcommguardZ_struct"] - - [0x8003D650, "CgreatguardZ_struct"] - - [0x8003D670, "CnavyguardZ_struct"] - - [0x8003D690, "CsnowguardZ_struct"] - - [0x8003D6B0, "CbluewomanZ_struct"] - - [0x8003D6D0, "CfattechwomanZ_struct"] - - [0x8003D6F0, "CtechwomanZ_struct"] - - [0x8003D710, "CjeanwomanZ_struct"] - - [0x8003D730, "CgreymanZ_struct"] - - [0x8003D750, "CbluemanZ_struct"] - - [0x8003D770, "CredmanZ_struct"] - - [0x8003D790, "CcardimanZ_struct"] - - [0x8003D7B0, "CcheckmanZ_struct"] - - [0x8003D7D0, "CtechmanZ_struct"] - - [0x8003D7F0, "CpilotZ_struct"] - - [0x8003D810, "Cgreatguard2Z_struct"] - - [0x8003D830, "CbluecamguardZ_struct"] - - [0x8003D850, "CmoonguardZ_struct"] - - [0x8003D870, "CmoonfemaleZ_struct"] - - [0x8003D890, "CboilerbondZ_struct"] - - [0x8003D8B0, "CsuitbondZ_struct"] - - [0x8003D8D0, "CtimberbondZ_struct"] - - [0x8003D8F0, "CsnowbondZ_struct"] - - [0x8003D910, "CdjbondZ_struct"] - - [0x8003D930, "Csuit_lf_handz_struct"] - - [0x8003D950, "CheadkarlZ_struct"] - - [0x8003D970, "CheadalanZ_struct"] - - [0x8003D990, "CheadpeteZ_struct"] - - [0x8003D9B0, "CheadmartinZ_struct"] - - [0x8003DD70, "CheadbrosnansuitZ_struct"] - - [0x8003DD90, "CheadbrosnantimberZ_struct"] - - [0x8003DDB0, "CheadbrosnansnowZ_struct"] - - [0x8003DDD0, "CheadbrosnanZ_struct"] - - [0x8003DDF0, "CspicebondZ_struct"] - - [0x8003DE10, "c_item_entries"] - - [0x8003E530, "a?iO?a"] - - [0x8003E538, "a?a"] - - [0x8003E920, "a?kc?a"] - - [0x8003E928, "a?a_0"] - - [0x8003F0FC, "a?7k?jG?a"] - - [0x80040A84, "cur.play.up_down.setting"] - - [0x80040A90, "cur.player.autoaim.setting"] - - [0x80040A9C, "cur.player.aim.control"] - - [0x80040AA8, "cur.player.sight.onscreen"] - - [0x80040AB4, "cur.player.lookahead.setting"] - - [0x80040AC0, "cur.player.ammo.onscreen.setting"] - - [0x80040ACC, "cur.player.screen.setting"] - - [0x80040AD8, "screen_ratio"] - - [0x80040ADC, "controlstick_lr_enabled"] - - [0x80040F4C, "list_of_tilesizes"] - - [0x80040F58, "base_ptr_connection_vals"] - - [0x80040F5C, "ptr_firstroom_0"] - - [0x80041424, "room_information"] - - [0x800442F4, "MaxNumRooms"] - - [0x8004448C, "levelinfotable"] - - [0x80044DC4, "near_fog_value"] - - [0x80044DC8, "near_fog_times_intensity"] - - [0x80044DCC, "ptr_current_data"] - - [0x80044E10, "fog_tables"] - - [0x80045F50, "fog_tables2"] - - [0x80046054, "file_resource_table"] - - [0x800482D4, "file_entry_max"] - - [0x80048364, "current_stage_to_load"] - - [0x80048374, "clock_timer"] - - [0x80048384, "difficulty_0"] - - [0x800483F0, "ramrom_table"] - - [0x80048468, "ramrom_table_end"] - - [0x80048488, "flag_to_record_ramrom"] - - [0x800484D0, "j_text_trigger"] - - [0x800484D4, "LnameX_lookuptable"] - - [0x80048640, "loaded_text_index"] - - [0x80049170, "bytes"] - - [0x80049300, "image_entries"] - - [0x8004EAC8, "indy_ready"] - - [0x8004EB00, "viewport.img"] - - [0x8004EB10, "music_setup_entries"] - - [0x8004EBD0, "random_tracks"] - - [0x8004ED2C, "aEmDataSabre_seg_rz_ptr"] - - [0x8004ED80, "default_gu_scale"] - - [0x8004ED90, "aNochr"] - - [0x8004ED98, "aNoprop"] - - [0x8004EDA0, "aNoobj"] - - [0x8004EDA8, "aNoprop_0"] - - [0x8004EDB0, "only_read_by_stageload"] - - [0x8004EEB0, "aMp_"] - - [0x8004EEB8, "jpt_7F0027C0"] - - [0x8004EF30, "jpt_7F002854"] - - [0x8004EF68, "jpt_7F004380"] - - [0x8004F02C, "jpt_7F004B64"] - - [0x8004F0E4, "fl_neg_pi"] - - [0x8004F0F0, "jpt_7F005738"] - - [0x8004F1AC, "jpt_7F005A74"] - - [0x8004F210, "jpt_7F007548"] - - [0x8004F2E0, "jpt_7F00929C"] - - [0x8004F314, "aI_0"] - - [0x8004F318, "aUbriefdamz_1"] - - [0x8004F324, "aIi"] - - [0x8004F328, "aUbriefarkz_1"] - - [0x8004F334, "aIii"] - - [0x8004F338, "aUbriefrunz_1"] - - [0x8004F348, "aI_2"] - - [0x8004F34C, "aUbriefsevxz_0"] - - [0x8004F358, "aIi_1"] - - [0x8004F35C, "aUbriefsevbunkerz_1"] - - [0x8004F374, "aI_1"] - - [0x8004F378, "aUbriefsiloz_0"] - - [0x8004F384, "a4"] - - [0x8004F388, "aI_3"] - - [0x8004F38C, "aUbriefdestz_0"] - - [0x8004F398, "a5"] - - [0x8004F39C, "aI_4"] - - [0x8004F3A0, "aUbriefsevxbz_0"] - - [0x8004F3B0, "aIi_0"] - - [0x8004F3B4, "aUbriefsevbz_0"] - - [0x8004F3C0, "a6"] - - [0x8004F3C4, "aI_5"] - - [0x8004F3C8, "aUbriefstatuez_0"] - - [0x8004F3D8, "aIi_2"] - - [0x8004F3DC, "aUbriefarchz_0"] - - [0x8004F3E8, "aIii_0"] - - [0x8004F3EC, "aUbriefpetez_0"] - - [0x8004F3F8, "aIv"] - - [0x8004F3FC, "aUbriefdepoz_0"] - - [0x8004F408, "aV"] - - [0x8004F40C, "aUbrieftraz_0"] - - [0x8004F418, "a7"] - - [0x8004F41C, "aI_6"] - - [0x8004F420, "aUbriefjunz_0"] - - [0x8004F42C, "aIi_3"] - - [0x8004F430, "aUbriefcontrolz_0"] - - [0x8004F440, "aIii_1"] - - [0x8004F444, "aUbriefcavez_0"] - - [0x8004F450, "aIv_0"] - - [0x8004F454, "aUbriefcradz_0"] - - [0x8004F460, "a8"] - - [0x8004F464, "aI_7"] - - [0x8004F468, "aUbriefaztz_0"] - - [0x8004F474, "a9"] - - [0x8004F478, "aI_8"] - - [0x8004F47C, "aUbriefcrypz_0"] - - [0x8004F48C, "a_"] - - [0x8004F494, "a1_"] - - [0x8004F498, "a2_"] - - [0x8004F49C, "a3_"] - - [0x8005006C, "aD_"] - - [0x80050C2C, "aD"] - - [0x80050C34, "aD_0"] - - [0x80050C3C, "aD_1"] - - [0x80050C44, "aD_2"] - - [0x80050C4C, "aD_7"] - - [0x80050C50, "aA_"] - - [0x8005180C, "a02d02d"] - - [0x80051818, "aS"] - - [0x80051824, "a02d02d_0"] - - [0x80051830, "aS02d02d"] - - [0x8005184C, "a02d02d_1"] - - [0x80051858, "a_1f"] - - [0x80051860, "aX2"] - - [0x80051868, "aD_8"] - - [0x8005186C, "aDD_0"] - - [0x80051878, "aDD_1"] - - [0x80051884, "aDD_2"] - - [0x80051890, "aDD_3"] - - [0x8005189C, "aD_10"] - - [0x800518A0, "jpt_7F00986C"] - - [0x800519C8, "folder_menu_x_dim"] - - [0x800519CC, "folder_menu_z_dim"] - - [0x80051A60, "jpt_7F0104D4"] - - [0x80051AC0, "jpt_7F015E0C"] - - [0x80051AEC, "jpt_7F018814"] - - [0x80051B4C, "jpt_7F01A7CC"] - - [0x80051BB4, "jpt_7F01AAC0"] - - [0x80051C1C, "jpt_7F01ACD4"] - - [0x80051C84, "jpt_7F01AF2C"] - - [0x80051F7C, "jpt_7F02E1CC"] - - [0x80052070, "jpt_7F032780"] - - [0x80052100, "jpt_7F034A1C"] - - [0x800524F8, "jpt_7F0355AC"] - - [0x800528FC, "jpt_7F038C04"] - - [0x80052980, "jpt_7F03C52C"] - - [0x800529A0, "jpt_7F03D13C"] - - [0x80052B98, "jpt_7F049CC0"] - - [0x80052C6C, "jpt_7F04A01C"] - - [0x80052D9C, "jpt_7F04DA40"] - - [0x80052DF0, "jpt_7F04DFF0"] - - [0x80052EAC, "jpt_7F04E02C"] - - [0x80052F10, "jpt_7F04F314"] - - [0x80052F84, "jpt_7F04F53C"] - - [0x80052FEC, "jpt_7F04F7AC"] - - [0x80053060, "jpt_7F04FC68"] - - [0x80053098, "jpt_7F04FD48"] - - [0x800530D0, "jpt_7F04FE74"] - - [0x8005322C, "jpt_7F0502BC"] - - [0x800532F4, "jpt_7F0526AC"] - - [0x8005334C, "jpt_7F053BE4"] - - [0x80053390, "jpt_7F053FD0"] - - [0x800533D4, "jpt_7F054300"] - - [0x80053418, "jpt_7F0544F4"] - - [0x80053490, "jpt_7F056914"] - - [0x8005354C, "jpt_7F056EDC"] - - [0x80053644, "aSAC"] - - [0x8005364C, "aSC"] - - [0x80053654, "jpt_7F0572BC"] - - [0x80053760, "aGcartridgez"] - - [0x8005376C, "aGcartriflez"] - - [0x80053778, "aGcartbluez"] - - [0x80053784, "aGcartshellz"] - - [0x80053790, "aGnocartZ"] - - [0x80053794, "aGfistz"] - - [0x8005379C, "aGknifez"] - - [0x800537A4, "aGthrowknifez"] - - [0x800537B4, "aGwppkz"] - - [0x800537BC, "aGwppksilz"] - - [0x800537C8, "aGtt33z"] - - [0x800537D0, "aGskorpionz"] - - [0x800537DC, "aGak47z"] - - [0x800537E4, "aGuziz"] - - [0x800537EC, "aGmp5kz"] - - [0x800537F4, "aGmp5ksilz"] - - [0x80053800, "aGspectrez"] - - [0x8005380C, "aGm16z"] - - [0x80053814, "aGfnp90z"] - - [0x8005381C, "aGshotgunz"] - - [0x80053828, "aGautoshotz"] - - [0x80053834, "aGsniperriflez"] - - [0x80053844, "aGrugerz"] - - [0x8005384C, "aGgoldengunz"] - - [0x80053858, "aGsilverwppkz"] - - [0x80053868, "aGgoldwppkz"] - - [0x80053874, "aGlaserz"] - - [0x8005387C, "aGwatchlaserz"] - - [0x8005388C, "aGgrenadelaunchz"] - - [0x8005389C, "aGrocketlaunchz"] - - [0x800538AC, "aGgrenadez"] - - [0x800538B8, "aGtimedminez"] - - [0x800538C4, "aGproximityminez"] - - [0x800538D4, "aGremoteminez"] - - [0x800538E4, "aGtriggerz"] - - [0x800538F0, "aGtaserz"] - - [0x800538F8, "aGbombcasez"] - - [0x80053904, "aGplastiquez"] - - [0x80053910, "aGflarepistolz"] - - [0x80053920, "aGpitongunz"] - - [0x8005392C, "aGbungeez"] - - [0x80053938, "aGdoordecoderz"] - - [0x80053948, "aGbombdefuserz"] - - [0x80053958, "aGcameraz"] - - [0x80053964, "aGlockexploderz"] - - [0x80053974, "aGdoorexploderz"] - - [0x80053984, "aGbriefcasez"] - - [0x80053990, "aGweaponcasez"] - - [0x800539A0, "aGsafecrackercasez"] - - [0x800539B4, "aGkeyanalysercasez"] - - [0x800539C8, "aGbugz"] - - [0x800539D0, "aGmicrocameraz"] - - [0x800539E0, "aGbugdetectorz"] - - [0x800539F0, "aGexplosivefloppyz"] - - [0x80053A04, "aGpolarizedglassesz"] - - [0x80053A18, "aGdarkglassesz"] - - [0x80053A28, "aGcreditcardz"] - - [0x80053A38, "aGgaskeyringz"] - - [0x80053A48, "aGdatathiefz"] - - [0x80053A54, "aGwatchidentifierz"] - - [0x80053A68, "aGwatchcommunicatorz"] - - [0x80053A7C, "aGwatchgeigercounterz"] - - [0x80053A94, "aGwatchmagnetrepelz"] - - [0x80053AA8, "aGwatchmagnetattractz"] - - [0x80053AC0, "aGgoldeneyekeyz"] - - [0x80053AD0, "aGblackboxz"] - - [0x80053ADC, "aGcircuitboardz"] - - [0x80053AEC, "aGclipboardz"] - - [0x80053AF8, "aGstafflistz"] - - [0x80053B04, "aGdossierredz"] - - [0x80053B14, "aGplansz"] - - [0x80053B1C, "aGspyfilez"] - - [0x80053B28, "aGblueprintsz"] - - [0x80053B38, "aGmapz"] - - [0x80053B40, "aGaudiotapez"] - - [0x80053B4C, "aGvideotapez"] - - [0x80053B58, "aGdattapez"] - - [0x80053B64, "aGspooltapez"] - - [0x80053B70, "aGmicrofilmz"] - - [0x80053B7C, "aGmicrocodez"] - - [0x80053B88, "aGlectrez"] - - [0x80053B94, "aGmoneyz"] - - [0x80053B9C, "aGgoldbarz"] - - [0x80053BA8, "aGheroinz"] - - [0x80053BB4, "aGkeycardz"] - - [0x80053BC0, "aGkeyyalez"] - - [0x80053BCC, "aGkeyboltz"] - - [0x80053BD8, "aCsuit_lf_handz"] - - [0x80053BE8, "aGjoypadz"] - - [0x80053BF4, "aD_9"] - - [0x80053BF8, "aSD"] - - [0x80053C00, "aSDS"] - - [0x80053C0C, "aSD_0"] - - [0x80053CB0, "jpt_7F05F55C"] - - [0x80053D3C, "jpt_7F05F5C8"] - - [0x80053E38, "jpt_7F0617AC"] - - [0x80053F24, "jpt_7F064DC8"] - - [0x80054084, "jpt_7F064FE0"] - - [0x80054194, "jpt_7F065E4C"] - - [0x80054294, "jpt_7F0661A4"] - - [0x80054420, "aDrawjointlistNoGfxlist"] - - [0x8005443C, "aDrawjointlistNoObject0xX"] - - [0x80054460, "aDrawjointlistObjectNotInitialised0"] - - [0x80054490, "jpt_7F06B16C"] - - [0x800544E4, "jpt_7F06B2F4"] - - [0x80054538, "jpt_7F06BD3C"] - - [0x80054598, "jpt_7F06BEEC"] - - [0x80054600, "aGetsubmatrixNoObjinst"] - - [0x8005461C, "aGetsubmatrixObjinstHasNoObject"] - - [0x80054644, "aGetpartoffsetNoObjinst"] - - [0x80054660, "aGetpartoffsetNoPartdesc"] - - [0x8005467C, "aSetpartoffsetNoObjinst"] - - [0x80054698, "aSetpartoffsetNoPartdesc"] - - [0x800546B4, "aGetsuboffsetNoObjinst"] - - [0x800546D0, "aGetsuboffsetObjinstHasNoObject"] - - [0x800546F8, "aSetsuboffsetNoObjinst"] - - [0x80054714, "aSetsuboffsetObjinstHasNoObject"] - - [0x8005473C, "aGetsubrotyNoObjinst"] - - [0x80054754, "aGetsubrotyObjinstHasNoObject"] - - [0x80054778, "aGetsubrotyObjinstHasNoRootPart"] - - [0x800547A0, "aSetsubrotyNoObjinst"] - - [0x800547B8, "aSetsubrotyObjinstHasNoObject"] - - [0x800547DC, "aSetsubrotyObjinstHasNoRootPart"] - - [0x80054804, "aGetjointsizeNoObjinst"] - - [0x80054820, "aGetinstsizeNoObjinst"] - - [0x8005483C, "aGetinstsizeNoObjdesc"] - - [0x80054858, "aSubcalcposNoObjanim"] - - [0x80054874, "aSubcalcposNoObjdesc"] - - [0x80054890, "aInstcalcmatricesNoObjinst"] - - [0x800548B0, "aInstcalcmatricesNoBasemtx"] - - [0x800548D0, "aInstcalcmatricesNoMtxlist"] - - [0x800548F0, "aSubcalcmatricesNoObjanim"] - - [0x80054910, "aSubcalcmatricesNoBasemtx"] - - [0x80054930, "aSubcalcmatricesNoMtxlist"] - - [0x80054950, "aSubcalcmatricesNoAttachForObjinst"] - - [0x8005497C, "aSubcalcmatricesFrameaOutOfRange"] - - [0x800549A4, "aSubcalcmatricesFramebOutOfRange"] - - [0x800549CC, "aSubcalcmatricesNoAnim2"] - - [0x800549E8, "aSubcalcmatricesFrame2aOutOfRange"] - - [0x80054A10, "aSubcalcmatricesFrame2bOutOfRange"] - - [0x80054A38, "aDorottexNoVtxAllocator"] - - [0x80054A58, "aDotubeNoVtxAllocator"] - - [0x80054A74, "aDogfnegxNoVtxAllocator"] - - [0x80054A94, "aDoshadowNoVtxAllocator"] - - [0x80054AB4, "aSubdrawNoGfxlist"] - - [0x80054ACC, "aSubdrawObjectNotInitialised0xX"] - - [0x80054AF8, "jpt_7F06C7D0"] - - [0x80054B60, "jpt_7F06CEF0"] - - [0x80054C20, "jpt_7F06EEF4"] - - [0x80054C80, "jpt_7F06F00C"] - - [0x80054CE0, "jpt_7F06F120"] - - [0x80054D54, "jpt_7F074564"] - - [0x80054DB4, "jpt_7F0753C4"] - - [0x80054E14, "jpt_7F075670"] - - [0x80054E74, "jpt_7F075B60"] - - [0x80054ED4, "jpt_7F075D80"] - - [0x80054F34, "jpt_7F076120"] - - [0x80054FC0, "a8s"] - - [0x80054FC4, "aX4_0f"] - - [0x80054FCC, "aY4_0f"] - - [0x80054FD4, "aZ4_0f"] - - [0x80054FDC, "aS3d"] - - [0x80054FE4, "jpt_7F079DF8"] - - [0x80055008, "jpt_7F079EEC"] - - [0x80055290, "jpt_7F088BE0"] - - [0x80055340, "aMenu_cErrorTriedToCallFont_makegt"] - - [0x80055370, "aMoveView"] - - [0x8005537C, "aStanView"] - - [0x80055388, "aBondView"] - - [0x80055394, "aLevel"] - - [0x8005539C, "aRegion"] - - [0x800553A4, "aScale"] - - [0x800553AC, "aPlayTitle"] - - [0x800553B8, "aBondDie"] - - [0x800553C4, "aSelectAnim"] - - [0x800553D0, "aGunPos"] - - [0x800553D8, "aFlashColour"] - - [0x800553E8, "aHitColour"] - - [0x800553F4, "aMusic"] - - [0x800553FC, "aSfx"] - - [0x80055400, "aInvincible"] - - [0x8005540C, "aVisible"] - - [0x80055414, "aCollisions"] - - [0x80055420, "aAllGuns"] - - [0x8005542C, "aMaxAmmo"] - - [0x80055438, "aDisplaySpeed"] - - [0x80055448, "aBackground"] - - [0x80055454, "aProps"] - - [0x8005545C, "aStanHit"] - - [0x80055468, "aStanRegion"] - - [0x80055474, "aStanProblems"] - - [0x80055484, "aPrintManPos"] - - [0x80055494, "aPortClose"] - - [0x800554A0, "aPortInf"] - - [0x800554AC, "aPortApprox"] - - [0x800554B8, "aPrRoomLoads"] - - [0x800554C8, "aShowMemUse"] - - [0x800554D8, "aShowMemBars"] - - [0x800554E8, "aGrabRgb"] - - [0x800554F4, "aGrabJpeg"] - - [0x80055500, "aGrabTask"] - - [0x8005550C, "aRndWalk"] - - [0x80055518, "aRecordRamrom"] - - [0x80055528, "aRecord1"] - - [0x80055534, "aRecord2"] - - [0x80055540, "aRecord3"] - - [0x8005554C, "aReplayRamrom"] - - [0x8005555C, "aSaveRamrom"] - - [0x80055568, "aLoadRamrom"] - - [0x80055574, "aAutoYAim"] - - [0x80055580, "aAutoXAim"] - - [0x8005558C, "a007"] - - [0x80055590, "aAgent"] - - [0x80055598, "aAll"] - - [0x8005559C, "aFast"] - - [0x800555A4, "aObjectives"] - - [0x800555B0, "aMargTop"] - - [0x800555BC, "aMargBot"] - - [0x800555C8, "aMargLeft"] - - [0x800555D4, "aMargRight"] - - [0x800555E0, "aMargReset"] - - [0x800555EC, "aScreenSize"] - - [0x800555F8, "aScreenPos"] - - [0x80055604, "aShowPatrols"] - - [0x80055614, "aIntro"] - - [0x8005561C, "aIntroEdit"] - - [0x80055628, "aIntroPos"] - - [0x80055634, "aWorldPos"] - - [0x80055640, "aGunKeyPos"] - - [0x8005564C, "aVisCvg"] - - [0x80055654, "aChrNum"] - - [0x8005565C, "aRoomBlocks"] - - [0x80055668, "aProfile"] - - [0x80055670, "aObjLoad"] - - [0x8005567C, "aWeaponLoad"] - - [0x80055688, "aJoy2SkyEdit"] - - [0x80055698, "aJoy2HitsEdit"] - - [0x800556A8, "aJoy2DetailEdit"] - - [0x800556BC, "aExplosionInfo"] - - [0x800556CC, "aMagicFog"] - - [0x800556D8, "aGunWatchPos"] - - [0x800556E8, "aTestingManPos"] - - [0x800556F8, "aFog"] - - [0x800556FC, "jpt_7F090770"] - - [0x80055830, "jpt_7F090EA8"] - - [0x80055870, "aUsetupsevbunkerz"] - - [0x80055884, "aUsetupsiloz"] - - [0x80055890, "aUsetupsevbunkerz_0"] - - [0x800558A4, "aUsetupstatuez"] - - [0x800558B4, "aUsetupcontrolz"] - - [0x800558C4, "aUsetuparchz"] - - [0x800558D0, "aUsetuptraz"] - - [0x800558DC, "aUsetupdestz"] - - [0x800558E8, "aUsetupsevbz"] - - [0x800558F4, "aUsetupaztz"] - - [0x80055900, "aUsetuppetez"] - - [0x8005590C, "aUsetupdepoz"] - - [0x80055918, "aUsetuprefz"] - - [0x80055924, "aUsetupcrypz"] - - [0x80055930, "aUsetupdamz"] - - [0x8005593C, "aUsetuparkz"] - - [0x80055948, "aUsetuprunz"] - - [0x80055954, "aUsetupsevxz"] - - [0x80055960, "aUsetupjunz"] - - [0x8005596C, "aUsetupdishz"] - - [0x80055978, "aUsetupcavez"] - - [0x80055984, "aUsetupcatz"] - - [0x80055990, "aUsetupcradz"] - - [0x8005599C, "aUsetupshoz"] - - [0x800559A8, "aUsetupsevxbz"] - - [0x800559B8, "aUsetupeldz"] - - [0x800559C4, "aUsetupimpz"] - - [0x800559D0, "aUsetupashz"] - - [0x800559DC, "aUsetupluez"] - - [0x800559E8, "aUsetupamez"] - - [0x800559F4, "aUsetupritz"] - - [0x80055A00, "aUsetupoatz"] - - [0x80055A0C, "aUsetupearz"] - - [0x80055A18, "aUsetupleez"] - - [0x80055A24, "aUsetuplipz"] - - [0x80055A30, "aUsetuplenz"] - - [0x80055A3C, "aUsetupwaxz"] - - [0x80055A48, "aUsetuppamz"] - - [0x80055A60, "aPalarm1z"] - - [0x80055A6C, "aPalarm2z"] - - [0x80055A78, "aPexplosionbitz"] - - [0x80055A88, "aPammo_crate1z"] - - [0x80055A98, "aPammo_crate2z"] - - [0x80055AA8, "aPammo_crate3z"] - - [0x80055AB8, "aPammo_crate4z"] - - [0x80055AC8, "aPammo_crate5z"] - - [0x80055AD8, "aPbin1z"] - - [0x80055AE0, "aPblotter1z"] - - [0x80055AEC, "aPbook1z"] - - [0x80055AF4, "aPbookshelf1z"] - - [0x80055B04, "aPbridge_console1az"] - - [0x80055B18, "aPbridge_console1bz"] - - [0x80055B2C, "aPbridge_console2az"] - - [0x80055B40, "aPbridge_console2bz"] - - [0x80055B54, "aPbridge_console3az"] - - [0x80055B68, "aPbridge_console3bz"] - - [0x80055B7C, "aPcard_box1z"] - - [0x80055B88, "aPcard_box2z"] - - [0x80055B94, "aPcard_box3z"] - - [0x80055BA0, "aPcard_box4_lgz"] - - [0x80055BB0, "aPcard_box5_lgz"] - - [0x80055BC0, "aPcard_box6_lgz"] - - [0x80055BD0, "aPcctvz"] - - [0x80055BD8, "aPconsole1z"] - - [0x80055BE4, "aPconsole2z"] - - [0x80055BF0, "aPconsole3z"] - - [0x80055BFC, "aPconsole_sevaz"] - - [0x80055C0C, "aPconsole_sevbz"] - - [0x80055C1C, "aPconsole_sevcz"] - - [0x80055C2C, "aPconsole_sevdz"] - - [0x80055C3C, "aPconsole_sev2az"] - - [0x80055C4C, "aPconsole_sev2bz"] - - [0x80055C5C, "aPconsole_sev2cz"] - - [0x80055C6C, "aPconsole_sev2dz"] - - [0x80055C7C, "aPconsole_sev_geaz"] - - [0x80055C90, "aPconsole_sev_gebz"] - - [0x80055CA4, "aPdesk1z"] - - [0x80055CAC, "aPdesk2z"] - - [0x80055CB4, "aPdesk_lamp2z"] - - [0x80055CC4, "aPdisc_readerz"] - - [0x80055CD4, "aPdisk_drive1z"] - - [0x80055CE4, "aPfiling_cabinet1z"] - - [0x80055CF8, "aPjerry_can1z"] - - [0x80055D08, "aPkeyboard1z"] - - [0x80055D14, "aPkit_units1z"] - - [0x80055D24, "aPletter_tray1z"] - - [0x80055D34, "aPmainframe1z"] - - [0x80055D44, "aPmainframe2z"] - - [0x80055D54, "aPmetal_chair1z"] - - [0x80055D64, "aPmetal_crate1z"] - - [0x80055D74, "aPmetal_crate2z"] - - [0x80055D84, "aPmetal_crate3z"] - - [0x80055D94, "aPmetal_crate4z"] - - [0x80055DA4, "aPmissile_rackz"] - - [0x80055DB4, "aPmissile_rack2z"] - - [0x80055DC4, "aPoil_drum1z"] - - [0x80055DD0, "aPoil_drum2z"] - - [0x80055DDC, "aPoil_drum3z"] - - [0x80055DE8, "aPoil_drum5z"] - - [0x80055DF4, "aPoil_drum6z"] - - [0x80055E00, "aPoil_drum7z"] - - [0x80055E0C, "aPpadlockz"] - - [0x80055E18, "aPphone1z"] - - [0x80055E24, "aPradio_unit1z"] - - [0x80055E34, "aPradio_unit2z"] - - [0x80055E44, "aPradio_unit3z"] - - [0x80055E54, "aPradio_unit4z"] - - [0x80055E64, "aPsat1_reflectz"] - - [0x80055E74, "aPsatdishz"] - - [0x80055E80, "aPsatboxz"] - - [0x80055E8C, "aPstool1z"] - - [0x80055E98, "aPswivel_chair1z"] - - [0x80055EA8, "aPtorpedo_rackz"] - - [0x80055EB8, "aPtv1z"] - - [0x80055EC0, "aPtv_holderz"] - - [0x80055ECC, "aPtvscreenz"] - - [0x80055ED8, "aPtv4screenz"] - - [0x80055EE4, "aPwood_lg_crate1z"] - - [0x80055EF8, "aPwood_lg_crate2z"] - - [0x80055F0C, "aPwood_md_crate3z"] - - [0x80055F20, "aPwood_sm_crate4z"] - - [0x80055F34, "aPwood_sm_crate5z"] - - [0x80055F48, "aPwood_sm_crate6z"] - - [0x80055F5C, "aPwooden_table1z"] - - [0x80055F6C, "aPswipe_card2z"] - - [0x80055F7C, "aPborg_cratez"] - - [0x80055F8C, "aPboxes4x4z"] - - [0x80055F98, "aPboxes3x4z"] - - [0x80055FA4, "aPboxes2x4z"] - - [0x80055FB0, "aPsec_panelz"] - - [0x80055FBC, "aPicbm_nosez"] - - [0x80055FC8, "aPicbmz"] - - [0x80055FD0, "aPtuning_console1z"] - - [0x80055FE4, "aPdesk_arecibo1z"] - - [0x80055FF4, "aPlocker3z"] - - [0x80056000, "aPlocker4z"] - - [0x8005600C, "aProofgunz"] - - [0x80056018, "aPdest_enginez"] - - [0x80056028, "aPdest_exocetz"] - - [0x80056038, "aPdest_gunz"] - - [0x80056044, "aPdest_harpoonz"] - - [0x80056054, "aPdest_seawolfz"] - - [0x80056064, "aPwindowz"] - - [0x80056070, "aPwindow_lib_lg1z"] - - [0x80056084, "aPwindow_lib_sm1z"] - - [0x80056098, "aPwindow_cor11z"] - - [0x800560A8, "aPjungle3_treez"] - - [0x800560B8, "aPpalmz"] - - [0x800560C0, "aPpalmtreez"] - - [0x800560CC, "aPplant2bz"] - - [0x800560D8, "aPlabbenchz"] - - [0x800560E4, "aPgasbarrelz"] - - [0x800560F0, "aPgasbarrelsz"] - - [0x80056100, "aPbodyarmourz"] - - [0x80056110, "aPbodyarmourvestz"] - - [0x80056124, "aPgastankz"] - - [0x80056130, "aPglassware1z"] - - [0x80056140, "aPhatchboltz"] - - [0x8005614C, "aPbrakeunitz"] - - [0x80056158, "aPak47magz"] - - [0x80056164, "aPm16magz"] - - [0x80056170, "aPmp5kmagz"] - - [0x8005617C, "aPskorpionmagz"] - - [0x8005618C, "aPspectremagz"] - - [0x8005619C, "aPuzimagz"] - - [0x800561A8, "aPsilencerz"] - - [0x800561B4, "aPchrextinguisherz"] - - [0x800561C8, "aPboxcartridgesz"] - - [0x800561D8, "aPfnp90magz"] - - [0x800561E4, "aPgoldenshellsz"] - - [0x800561F4, "aPmagnumshellsz"] - - [0x80056204, "aPwppkmagz"] - - [0x80056210, "aPtt33magz"] - - [0x8005621C, "aPsev_doorz"] - - [0x80056228, "aPsev_door3z"] - - [0x80056234, "aPsev_door3_windz"] - - [0x80056248, "aPsev_door4_windz"] - - [0x8005625C, "aPsev_trislidez"] - - [0x8005626C, "aPsev_door_v1z"] - - [0x8005627C, "aPsteel_door1z"] - - [0x8005628C, "aPsteel_door2z"] - - [0x8005629C, "aPsteel_door3z"] - - [0x800562AC, "aPsilo_lift_doorz"] - - [0x800562C0, "aPsteel_door2bz"] - - [0x800562D0, "aPdoor_roller1z"] - - [0x800562E0, "aPdoor_roller2z"] - - [0x800562F0, "aPdoor_roller3z"] - - [0x80056300, "aPdoor_roller4z"] - - [0x80056310, "aPdoor_st_arec1z"] - - [0x80056320, "aPdoor_st_arec2z"] - - [0x80056330, "aPdoor_dest1z"] - - [0x80056340, "aPdoor_dest2z"] - - [0x80056350, "aPgas_plant_sw_do1z"] - - [0x80056364, "aPgas_plant_sw2_do1z"] - - [0x80056378, "aPgas_plant_sw3_do1z"] - - [0x8005638C, "aPgas_plant_sw4_do1z"] - - [0x800563A0, "aPgas_plant_met1_do1z"] - - [0x800563B8, "aPgas_plant_wc_cub1z"] - - [0x800563CC, "aPgasplant_clear_doorz"] - - [0x800563E4, "aPtrain_doorz"] - - [0x800563F4, "aPtrain_door2z"] - - [0x80056404, "aPtrain_door3z"] - - [0x80056414, "aPdoor_eyelidz"] - - [0x80056424, "aPdoor_irisz"] - - [0x80056430, "aPsevdoorwoodz"] - - [0x80056440, "aPsevdoorwindz"] - - [0x80056450, "aPsevdoornowindz"] - - [0x80056460, "aPsevdoormetslidez"] - - [0x80056474, "aPcryptdoor1az"] - - [0x80056484, "aPcryptdoor1bz"] - - [0x80056494, "aPcryptdoor2az"] - - [0x800564A4, "aPcryptdoor2bz"] - - [0x800564B4, "aPcryptdoor3z"] - - [0x800564C4, "aPcryptdoor4z"] - - [0x800564D4, "aPvertdoorz"] - - [0x800564E0, "aPhatchdoorz"] - - [0x800564EC, "aPdamgatedoorz"] - - [0x800564FC, "aPdamtundoorz"] - - [0x8005650C, "aPdamchaindoorz"] - - [0x8005651C, "aPsilotopdoorz"] - - [0x8005652C, "aPdoorprison1z"] - - [0x8005653C, "aPdoorstatgatez"] - - [0x8005654C, "aPchrkalashz"] - - [0x80056558, "aPchrgrenadelaunchz"] - - [0x8005656C, "aPchrknifez"] - - [0x80056578, "aPchrlaserz"] - - [0x80056584, "aPchrm16z"] - - [0x80056590, "aPchrmp5kz"] - - [0x8005659C, "aPchrrugerz"] - - [0x800565A8, "aPchrwppkz"] - - [0x800565B4, "aPchrshotgunz"] - - [0x800565C4, "aPchrskorpionz"] - - [0x800565D4, "aPchrspectrez"] - - [0x800565E4, "aPchruziz"] - - [0x800565F0, "aPchrgrenadez"] - - [0x80056600, "aPchrfnp90z"] - - [0x8005660C, "aPchrbriefcasez"] - - [0x8005661C, "aPchrremoteminez"] - - [0x8005662C, "aPchrproximityminez"] - - [0x80056640, "aPchrtimedminez"] - - [0x80056650, "aPchrrocketz"] - - [0x8005665C, "aPchrgrenaderoundz"] - - [0x80056670, "aPchrwppksilz"] - - [0x80056680, "aPchrtt33z"] - - [0x8005668C, "aPchrmp5ksilz"] - - [0x8005669C, "aPchrautoshotz"] - - [0x800566AC, "aPchrgoldenz"] - - [0x800566B8, "aPchrthrowknifez"] - - [0x800566C8, "aPchrsniperriflez"] - - [0x800566DC, "aPchrrocketlaunchz"] - - [0x800566F0, "aPhatfurryz"] - - [0x800566FC, "aPhatfurrybrownz"] - - [0x8005670C, "aPhatfurryblackz"] - - [0x8005671C, "aPhattbirdz"] - - [0x80056728, "aPhattbirdbrownz"] - - [0x80056738, "aPhathelmetz"] - - [0x80056744, "aPhathelmetgreyz"] - - [0x80056754, "aPhatmoonz"] - - [0x80056760, "aPhatberetz"] - - [0x8005676C, "aPhatberetbluez"] - - [0x8005677C, "aPhatberetredz"] - - [0x8005678C, "aPhatpeakedz"] - - [0x80056798, "aPchrwristdartz"] - - [0x800567A8, "aPchrexplosivepenz"] - - [0x800567BC, "aPchrbombcasez"] - - [0x800567CC, "aPchrflarepistolz"] - - [0x800567E0, "aPchrpitongunz"] - - [0x800567F0, "aPchrfingergunz"] - - [0x80056800, "aPchrsilverwppkz"] - - [0x80056810, "aPchrgoldwppkz"] - - [0x80056820, "aPchrdynamitez"] - - [0x80056830, "aPchrbungeez"] - - [0x8005683C, "aPchrdoordecoderz"] - - [0x80056850, "aPchrbombdefuserz"] - - [0x80056864, "aPchrbugdetectorz"] - - [0x80056878, "aPchrsafecrackercasez"] - - [0x80056890, "aPchrcameraz"] - - [0x8005689C, "aPchrlockexploderz"] - - [0x800568B0, "aPchrdoorexploderz"] - - [0x800568C4, "aPchrkeyanalysercasez"] - - [0x800568DC, "aPchrweaponcasez"] - - [0x800568EC, "aPchrkeyyalez"] - - [0x800568FC, "aPchrkeyboltz"] - - [0x8005690C, "aPchrbugz"] - - [0x80056918, "aPchrmicrocameraz"] - - [0x8005692C, "aPfloppyz"] - - [0x80056938, "aPchrgoldeneyekeyz"] - - [0x8005694C, "aPchrpolarizedglassesz"] - - [0x80056964, "aPchrcreditcardz"] - - [0x80056974, "aPchrdarkglassesz"] - - [0x80056988, "aPchrgaskeyringz"] - - [0x80056998, "aPchrdatathiefz"] - - [0x800569A8, "aPsafez"] - - [0x800569B0, "aPbombz"] - - [0x800569B8, "aPchrplansz"] - - [0x800569C4, "aPchrspyfilez"] - - [0x800569D4, "aPchrblueprintsz"] - - [0x800569E4, "aPchrcircuitboardz"] - - [0x800569F8, "aPchrmapz"] - - [0x80056A04, "aPchrspooltapez"] - - [0x80056A14, "aPchraudiotapez"] - - [0x80056A24, "aPchrmicrofilmz"] - - [0x80056A34, "aPchrmicrocodez"] - - [0x80056A44, "aPchrlectrez"] - - [0x80056A50, "aPchrmoneyz"] - - [0x80056A5C, "aPchrgoldbarz"] - - [0x80056A6C, "aPchrheroinz"] - - [0x80056A78, "aPchrclipboardz"] - - [0x80056A88, "aPchrdossierredz"] - - [0x80056A98, "aPchrstafflistz"] - - [0x80056AA8, "aPchrdattapez"] - - [0x80056AB8, "aPchrplastiquez"] - - [0x80056AC8, "aPchrblackboxz"] - - [0x80056AD8, "aPchrvideotapez"] - - [0x80056AE8, "aPnintendologoz"] - - [0x80056AF8, "aPgoldeneyelogoz"] - - [0x80056B08, "aPwalletbondz"] - - [0x80056B18, "aPmiltruckz"] - - [0x80056B24, "aPjeepz"] - - [0x80056B2C, "aParticz"] - - [0x80056B34, "aPhelicopterz"] - - [0x80056B44, "aPtigerz"] - - [0x80056B4C, "aPmilcopterz"] - - [0x80056B58, "aPhindz"] - - [0x80056B60, "aPartictrailerz"] - - [0x80056B70, "aPmotorbikez"] - - [0x80056B7C, "aPtankz"] - - [0x80056B84, "aPapcz"] - - [0x80056B8C, "aPspeedboatz"] - - [0x80056B98, "aPplanez"] - - [0x80056BA0, "aPgun_runway1z"] - - [0x80056BB0, "aPsafedoorz"] - - [0x80056BBC, "aPkey_holderz"] - - [0x80056BCC, "aPhatchsevxz"] - - [0x80056BD8, "aPsevdishz"] - - [0x80056BE4, "aParchsecdoor1z"] - - [0x80056BF4, "aParchsecdoor2z"] - - [0x80056C04, "aPgroundgunz"] - - [0x80056C10, "aPtrainextdoorz"] - - [0x80056C20, "aPcarbmwz"] - - [0x80056C2C, "aPcarescortz"] - - [0x80056C38, "aPcargolfz"] - - [0x80056C44, "aPcarweirdz"] - - [0x80056C50, "aPcarzilz"] - - [0x80056C5C, "aPshuttle_door_lz"] - - [0x80056C70, "aPshuttle_door_rz"] - - [0x80056C84, "aPdepot_gate_entryz"] - - [0x80056C98, "aPdepot_door_steelz"] - - [0x80056CAC, "aPglassware2z"] - - [0x80056CBC, "aPglassware3z"] - - [0x80056CCC, "aPglassware4z"] - - [0x80056CDC, "aPlandminez"] - - [0x80056CE8, "aPplant1z"] - - [0x80056CF4, "aPplant11z"] - - [0x80056D00, "aPplant2z"] - - [0x80056D0C, "aPplant3z"] - - [0x80056D18, "aPjungle5_treez"] - - [0x80056D28, "aPlegalpagez"] - - [0x80056D34, "aPst_pete_room_1iz"] - - [0x80056D48, "aPst_pete_room_2iz"] - - [0x80056D5C, "aPst_pete_room_3tz"] - - [0x80056D70, "aPst_pete_room_5cz"] - - [0x80056D84, "aPst_pete_room_6cz"] - - [0x80056D98, "aPdoor_rollertrainz"] - - [0x80056DAC, "aPdoor_winz"] - - [0x80056DB8, "aPdoor_aztecz"] - - [0x80056DC8, "aPshuttlez"] - - [0x80056DD4, "aPdoor_azt_deskz"] - - [0x80056DE4, "aPdoor_azt_desk_topz"] - - [0x80056DF8, "aPdoor_azt_chairz"] - - [0x80056E0C, "aPdoor_mfz"] - - [0x80056E18, "aPflagz"] - - [0x80056E20, "aPbarricadez"] - - [0x80056E2C, "aPmodemboxz"] - - [0x80056E38, "aPdoorpanelz"] - - [0x80056E44, "aPdoorconsolez"] - - [0x80056E54, "aPchrtesttubez"] - - [0x80056E64, "aPbollardz"] - - [0x80056E70, "aPnullZ"] - - [0x80056E80, "aCcamguardz"] - - [0x80056E8C, "aCgreyguardz"] - - [0x80056E98, "aColiveguardz"] - - [0x80056EA8, "aCrusguardz"] - - [0x80056EB4, "aCtrevguardz"] - - [0x80056EC0, "aCdjbondz"] - - [0x80056ECC, "aCborisz"] - - [0x80056ED4, "aCorumovz"] - - [0x80056EE0, "aCtrevelyanz"] - - [0x80056EEC, "aCboilertrevz"] - - [0x80056EFC, "aCvalentinz"] - - [0x80056F08, "aCxeniaz"] - - [0x80056F10, "aCbaronsamediz"] - - [0x80056F20, "aCjawsz"] - - [0x80056F28, "aCmaydayz"] - - [0x80056F34, "aCoddjobz"] - - [0x80056F40, "aCnatalyaz"] - - [0x80056F4C, "aCarmourguardz"] - - [0x80056F5C, "aCcommguardz"] - - [0x80056F68, "aCgreatguardz"] - - [0x80056F78, "aCnavyguardz"] - - [0x80056F84, "aCsnowguardz"] - - [0x80056F90, "aCboilerbondz"] - - [0x80056FA0, "aCsuitbondz"] - - [0x80056FAC, "aCtimberbondz"] - - [0x80056FBC, "aCsnowbondz"] - - [0x80056FC8, "aCbluewomanz"] - - [0x80056FD4, "aCfattechwomanz"] - - [0x80056FE4, "aCtechwomanz"] - - [0x80056FF0, "aCjeanwomanz"] - - [0x80056FFC, "aCgreymanz"] - - [0x80057008, "aCbluemanz"] - - [0x80057014, "aCredmanz"] - - [0x80057020, "aCcardimanz"] - - [0x8005702C, "aCcheckmanz"] - - [0x80057038, "aCtechmanz"] - - [0x80057044, "aCpilotz"] - - [0x8005704C, "aCgreatguard2z"] - - [0x8005705C, "aCbluecamguardz"] - - [0x8005706C, "aCmoonguardz"] - - [0x80057078, "aCmoonfemalez"] - - [0x80057088, "aCsuit_lf_handz_0"] - - [0x80057098, "aCheadkarlz"] - - [0x800570A4, "aCheadalanz"] - - [0x800570B0, "aCheadpetez"] - - [0x800570BC, "aCheadmartinz"] - - [0x800570CC, "aCheadmarkz"] - - [0x800570D8, "aCheadduncanz"] - - [0x800570E8, "aCheadshaunz"] - - [0x800570F4, "aCheaddwaynez"] - - [0x80057104, "aCheadbz"] - - [0x8005710C, "aCheaddavez"] - - [0x80057118, "aCheadgrantz"] - - [0x80057124, "aCheaddesz"] - - [0x80057130, "aCheadchrisz"] - - [0x8005713C, "aCheadleez"] - - [0x80057148, "aCheadneilz"] - - [0x80057154, "aCheadjimz"] - - [0x80057160, "aCheadrobinz"] - - [0x8005716C, "aCheadstevehz"] - - [0x8005717C, "aCheadbalaclavaz"] - - [0x8005718C, "aCheadbikez"] - - [0x80057198, "aCheadgrahamz"] - - [0x800571A8, "aCheadsteveez"] - - [0x800571B8, "aCheadjoelz"] - - [0x800571C4, "aCheadscottz"] - - [0x800571D0, "aCheadjoez"] - - [0x800571DC, "aCheadkenz"] - - [0x800571E8, "aCheadjoe2z"] - - [0x800571F4, "aCheadmishkinz"] - - [0x80057204, "aCheadsallyz"] - - [0x80057210, "aCheadmarionz"] - - [0x80057220, "aCheadmandyz"] - - [0x8005722C, "aCheadvivienz"] - - [0x8005723C, "aCheadbrosnanboilerz"] - - [0x80057250, "aCheadbrosnansuitz"] - - [0x80057264, "aCheadbrosnantimberz"] - - [0x80057278, "aCheadbrosnansnowz"] - - [0x8005728C, "aCheadbrosnanz"] - - [0x8005729C, "aCspicebondz"] - - [0x800572B0, "jpt_7F091C08"] - - [0x800573DC, "jpt_7F0924D0"] - - [0x80057544, "jpt_7F094A38"] - - [0x80057590, "jpt_7F095E0C"] - - [0x8005762C, "jpt_7F09B27C"] - - [0x80057760, "aDD"] - - [0x80057768, "aDDDF"] - - [0x80057778, "aA"] - - [0x80057780, "aB"] - - [0x80057788, "aZ"] - - [0x80057790, "aL"] - - [0x80057798, "aR"] - - [0x800577A0, "aC"] - - [0x800577B0, "aS_0"] - - [0x800577B8, "a3d"] - - [0x80058448, "aC_2"] - - [0x800584CC, "jpt_7F0A6DFC"] - - [0x800584E0, "jpt_7F0A6E80"] - - [0x80058570, "jpt_7F0AC3B0"] - - [0x80058584, "jpt_7F0ACAC8"] - - [0x800585A0, "aCDCC"] - - [0x800585AC, "aStan_c_debug"] - - [0x800585BC, "aStanlinelog"] - - [0x800585F0, "aBgBg_sev_all_p_seg"] - - [0x80058604, "aTbg_sev_all_p_stanz"] - - [0x80058618, "aBgBg_silo_all_p_seg"] - - [0x80058630, "aTbg_silo_all_p_stanz"] - - [0x80058648, "aBgBg_stat_all_p_seg"] - - [0x80058660, "aTbg_stat_all_p_stanz"] - - [0x80058678, "aBgBg_arec_all_p_seg"] - - [0x80058690, "aTbg_arec_all_p_stanz"] - - [0x800586A8, "aBgBg_arch_all_p_seg"] - - [0x800586C0, "aTbg_arch_all_p_stanz"] - - [0x800586D8, "aBgBg_tra_all_p_seg"] - - [0x800586EC, "aTbg_tra_all_p_stanz"] - - [0x80058700, "aBgBg_dest_all_p_seg"] - - [0x80058718, "aTbg_dest_all_p_stanz"] - - [0x80058730, "aBgBg_sevb_all_p_seg"] - - [0x80058748, "aTbg_sevb_all_p_stanz"] - - [0x80058760, "aBgBg_azt_all_p_seg"] - - [0x80058774, "aTbg_azt_all_p_stanz"] - - [0x80058788, "aBgBg_pete_all_p_seg"] - - [0x800587A0, "aTbg_pete_all_p_stanz"] - - [0x800587B8, "aBgBg_depo_all_p_seg"] - - [0x800587D0, "aTbg_depo_all_p_stanz"] - - [0x800587E8, "aBgBg_ref_all_p_seg"] - - [0x800587FC, "aTbg_ref_all_p_stanz"] - - [0x80058810, "aBgBg_cryp_all_p_seg"] - - [0x80058828, "aTbg_cryp_all_p_stanz"] - - [0x80058840, "aBgBg_dam_all_p_seg"] - - [0x80058854, "aTbg_dam_all_p_stanz"] - - [0x80058868, "aBgBg_ark_all_p_seg"] - - [0x8005887C, "aTbg_ark_all_p_stanz"] - - [0x80058890, "aBgBg_run_all_p_seg"] - - [0x800588A4, "aTbg_run_all_p_stanz"] - - [0x800588B8, "aBgBg_sevx_all_p_seg"] - - [0x800588D0, "aTbg_sevx_all_p_stanz"] - - [0x800588E8, "aBgBg_jun_all_p_seg"] - - [0x800588FC, "aTbg_jun_all_p_stanz"] - - [0x80058910, "aBgBg_dish_all_p_seg"] - - [0x80058928, "aTbg_dish_all_p_stanz"] - - [0x80058940, "aBgBg_cave_all_p_seg"] - - [0x80058958, "aTbg_cave_all_p_stanz"] - - [0x80058970, "aBgBg_cat_all_p_seg"] - - [0x80058984, "aTbg_cat_all_p_stanz"] - - [0x80058998, "aBgBg_crad_all_p_seg"] - - [0x800589B0, "aTbg_crad_all_p_stanz"] - - [0x800589C8, "aBgBg_sho_all_p_seg"] - - [0x800589DC, "aTbg_sho_all_p_stanz"] - - [0x800589F0, "aBgBg_sevx_all_p_seg_0"] - - [0x80058A08, "aTbg_sevx_all_p_stanz_0"] - - [0x80058A20, "aBgBg_eld_all_p_seg"] - - [0x80058A34, "aTbg_eld_all_p_stanz"] - - [0x80058A48, "aBgBg_ame_all_p_seg"] - - [0x80058A5C, "aTbg_ame_all_p_stanz"] - - [0x80058A70, "aBgBg_ame_all_p_seg_0"] - - [0x80058A84, "aTbg_ame_all_p_stanz_0"] - - [0x80058A98, "aBgBg_lue_all_p_seg"] - - [0x80058AAC, "aTbg_lue_all_p_stanz"] - - [0x80058AC0, "aBgBg_ame_all_p_seg_1"] - - [0x80058AD4, "aTbg_ame_all_p_stanz_1"] - - [0x80058AE8, "aBgBg_rit_all_p_seg"] - - [0x80058AFC, "aTbg_rit_all_p_stanz"] - - [0x80058B10, "aBgBg_oat_all_p_seg"] - - [0x80058B24, "aTbg_oat_all_p_stanz"] - - [0x80058B38, "aBgBg_ear_all_p_seg"] - - [0x80058B4C, "aTbg_ear_all_p_stanz"] - - [0x80058B60, "aBgBg_lee_all_p_seg"] - - [0x80058B74, "aTbg_lee_all_p_stanz"] - - [0x80058B88, "aBgBg_lip_all_p_seg"] - - [0x80058B9C, "aTbg_lip_all_p_stanz"] - - [0x80058BB0, "aBgBg_len_all_p_seg"] - - [0x80058BC4, "aTbg_len_all_p_stanz"] - - [0x80058BD8, "aBgBg_wax_all_p_seg"] - - [0x80058BEC, "aTbg_wax_all_p_stanz"] - - [0x80058C00, "aBgBg_pam_all_p_seg"] - - [0x80058C14, "aTbg_pam_all_p_stanz"] - - [0x80058C28, "aBgBgx_seg"] - - [0x80058C34, "aTbgxz"] - - [0x80058C3C, "aBg_c_debug"] - - [0x80058C48, "aPortD"] - - [0x80058C50, "aRoomD"] - - [0x80058C58, "jpt_7F0B490C"] - - [0x80058C80, "jpt_7F0B84A8"] - - [0x80058CB4, "jpt_7F0B84C8"] - - [0x80058D70, "default_near_fog"] - - [0x80058D80, "jpt_7F0BB70C"] - - [0x80058DA0, "aBgBg_NaBgBg_NULLall_p_seg_0"] - - [0x80058DA4, "aBgBg_sev_all_p_seg_0"] - - [0x80058DB8, "aBgBg_silo_all_p_seg_0"] - - [0x80058DD0, "aBgBg_stat_all_p_seg_0"] - - [0x80058DE8, "aBgBg_arec_all_p_seg_0"] - - [0x80058E00, "aBgBg_arch_all_p_seg_0"] - - [0x80058E18, "aBgBg_tra_all_p_seg_0"] - - [0x80058E2C, "aBgBg_dest_all_p_seg_0"] - - [0x80058E44, "aBgBg_sevb_all_p_seg_0"] - - [0x80058E5C, "aBgBg_azt_all_p_seg_0"] - - [0x80058E70, "aBgBg_pete_all_p_seg_0"] - - [0x80058E88, "aBgBg_depo_all_p_seg_0"] - - [0x80058EA0, "aBgBg_ref_all_p_seg_0"] - - [0x80058EB4, "aBgBg_cryp_all_p_seg_0"] - - [0x80058ECC, "aBgBg_dam_all_p_seg_0"] - - [0x80058EE0, "aBgBg_ark_all_p_seg_0"] - - [0x80058EF4, "aBgBg_run_all_p_seg_0"] - - [0x80058F08, "aBgBg_sevx_all_p_seg_1"] - - [0x80058F20, "aBgBg_jun_all_p_seg_0"] - - [0x80058F34, "aBgBg_dish_all_p_seg_0"] - - [0x80058F4C, "aBgBg_cave_all_p_seg_0"] - - [0x80058F64, "aBgBg_cat_all_p_seg_0"] - - [0x80058F78, "aBgBg_crad_all_p_seg_0"] - - [0x80058F90, "aBgBg_sho_all_p_seg_0"] - - [0x80058FA4, "aBgBg_eld_all_p_seg_0"] - - [0x80058FB8, "aBgBg_imp_all_p_seg"] - - [0x80058FCC, "aBgBg_ash_all_p_seg"] - - [0x80058FE0, "aBgBg_lue_all_p_seg_0"] - - [0x80058FF4, "aBgBg_ame_all_p_seg_2"] - - [0x80059008, "aBgBg_rit_all_p_seg_0"] - - [0x8005901C, "aBgBg_oat_all_p_seg_0"] - - [0x80059030, "aBgBg_ear_all_p_seg_0"] - - [0x80059044, "aBgBg_lee_all_p_seg_0"] - - [0x80059058, "aBgBg_lip_all_p_seg_0"] - - [0x8005906C, "aBgBg_len_all_p_seg_0"] - - [0x80059080, "aBgBg_wax_all_p_seg_0"] - - [0x80059094, "aBgBg_pam_all_p_seg_0"] - - [0x800590A8, "aCarmourguardz_0"] - - [0x800590B8, "aCbaronsamediz_0"] - - [0x800590C8, "aCbluecamguardz_0"] - - [0x800590D8, "aCbluemanz_0"] - - [0x800590E4, "aCbluewomanz_0"] - - [0x800590F0, "aCboilerbondz_0"] - - [0x80059100, "aCboilertrevz_0"] - - [0x80059110, "aCborisz_0"] - - [0x80059118, "aCcamguardz_0"] - - [0x80059124, "aCcardimanz_0"] - - [0x80059130, "aCcheckmanz_0"] - - [0x8005913C, "aCcommguardz_0"] - - [0x80059148, "aCdjbondz_0"] - - [0x80059154, "aCfattechwomanz_1"] - - [0x80059164, "aCgreatguard2z_0"] - - [0x80059174, "aCgreatguardz_0"] - - [0x80059184, "aCgreyguardz_0"] - - [0x80059190, "aCgreymanz_0"] - - [0x8005919C, "aCheadalanz_0"] - - [0x800591A8, "aCheadbz_0"] - - [0x800591B0, "aCheadbalaclavaz_0"] - - [0x800591C0, "aCheadbikez_0"] - - [0x800591CC, "aCheadbrosnanz_0"] - - [0x800591DC, "aCheadbrosnanboilerz_0"] - - [0x800591F0, "aCheadbrosnansnowz_0"] - - [0x80059204, "aCheadbrosnansuitz_0"] - - [0x80059218, "aCheadbrosnantimberz_0"] - - [0x8005922C, "aCheadchrisz_0"] - - [0x80059238, "aCheaddavez_0"] - - [0x80059244, "aCheaddesz_0"] - - [0x80059250, "aCheadduncanz_0"] - - [0x80059260, "aCheaddwaynez_0"] - - [0x80059270, "aCheadgrahamz_0"] - - [0x80059280, "aCheadgrantz_0"] - - [0x8005928C, "aCheadjimz_0"] - - [0x80059298, "aCheadjoe2z_0"] - - [0x800592A4, "aCheadjoez_0"] - - [0x800592B0, "aCheadjoelz_0"] - - [0x800592BC, "aCheadkarlz_0"] - - [0x800592C8, "aCheadkenz_0"] - - [0x800592D4, "aCheadleez_0"] - - [0x800592E0, "aCheadmandyz_0"] - - [0x800592EC, "aCheadmarionz_0"] - - [0x800592FC, "aCheadmarkz_0"] - - [0x80059308, "aCheadmartinz_0"] - - [0x80059318, "aCheadmishkinz_0"] - - [0x80059328, "aCheadneilz_0"] - - [0x80059334, "aCheadpetez_0"] - - [0x80059340, "aCheadrobinz_0"] - - [0x8005934C, "aCheadsallyz_0"] - - [0x80059358, "aCheadscottz_0"] - - [0x80059364, "aCheadshaunz_0"] - - [0x80059370, "aCheadsteveez_0"] - - [0x80059380, "aCheadstevehz_0"] - - [0x80059390, "aCheadvivienz_0"] - - [0x800593A0, "aCjawsz_0"] - - [0x800593A8, "aCjeanwomanz_0"] - - [0x800593B4, "aCmaydayz_0"] - - [0x800593C0, "aCmoonfemalez_0"] - - [0x800593D0, "aCmoonguardz_0"] - - [0x800593DC, "aCnatalyaz_0"] - - [0x800593E8, "aCnavyguardz_0"] - - [0x800593F4, "aCoddjobz_0"] - - [0x80059400, "aColiveguardz_0"] - - [0x80059410, "aCorumovz_0"] - - [0x8005941C, "aCpilotz_0"] - - [0x80059424, "aCredmanz_0"] - - [0x80059430, "aCrusguardz_0"] - - [0x8005943C, "aCsnowbondz_0"] - - [0x80059448, "aCsnowguardz_0"] - - [0x80059454, "aCspicebondz_0"] - - [0x80059460, "aCsuit_lf_handz_1"] - - [0x80059470, "aCsuitbondz_0"] - - [0x8005947C, "aCtechmanz_0"] - - [0x80059488, "aCtechwomanz_0"] - - [0x80059494, "aCtimberbondz_0"] - - [0x800594A4, "aCtrevelyanz_0"] - - [0x800594B0, "aCtrevguardz_0"] - - [0x800594BC, "aCvalentinz_0"] - - [0x800594C8, "aCxeniaz_0"] - - [0x800594D0, "aGak47z_0"] - - [0x800594D8, "aGaudiotapez_0"] - - [0x800594E4, "aGautoshotz_0"] - - [0x800594F0, "aGblackboxz_0"] - - [0x800594FC, "aGblueprintsz_0"] - - [0x8005950C, "aGbombcasez_0"] - - [0x80059518, "aGbombdefuserz_0"] - - [0x80059528, "aGbriefcasez_0"] - - [0x80059534, "aGbugz_0"] - - [0x8005953C, "aGbugdetectorz_0"] - - [0x8005954C, "aGbungeez_0"] - - [0x80059558, "aGcameraz_0"] - - [0x80059564, "aGcartbluez_0"] - - [0x80059570, "aGcartridgez_0"] - - [0x8005957C, "aGcartriflez_0"] - - [0x80059588, "aGcartshellz_0"] - - [0x80059594, "aGcircuitboardz_0"] - - [0x800595A4, "aGclipboardz_0"] - - [0x800595B0, "aGcreditcardz_0"] - - [0x800595C0, "aGdarkglassesz_0"] - - [0x800595D0, "aGdatathiefz_0"] - - [0x800595DC, "aGdattapez_0"] - - [0x800595E8, "aGdoordecoderz_0"] - - [0x800595F8, "aGdoorexploderz_0"] - - [0x80059608, "aGdossierredz_0"] - - [0x80059618, "aGdynamitez"] - - [0x80059624, "aGexplosivefloppyz_0"] - - [0x80059638, "aGexplosivepenz"] - - [0x80059648, "aGextinguisherz"] - - [0x80059658, "aGfingergunz"] - - [0x80059664, "aGfistz_0"] - - [0x8005966C, "aGflarepistolz_0"] - - [0x8005967C, "aGfnp90z_0"] - - [0x80059684, "aGgaskeyringz_0"] - - [0x80059694, "aGgoldbarz_0"] - - [0x800596A0, "aGgoldeneyekeyz_0"] - - [0x800596B0, "aGgoldengunz_0"] - - [0x800596BC, "aGgoldwppkz_0"] - - [0x800596C8, "aGgrenadez_0"] - - [0x800596D4, "aGgrenadelaunchz_0"] - - [0x800596E4, "aGheroinz_0"] - - [0x800596F0, "aGjoypadz_0"] - - [0x800596FC, "aGkeyanalysercasez_0"] - - [0x80059710, "aGkeyboltz_0"] - - [0x8005971C, "aGkeycardz_0"] - - [0x80059728, "aGkeyyalez_0"] - - [0x80059734, "aGknifez_0"] - - [0x8005973C, "aGlaserz_0"] - - [0x80059744, "aGlectrez_0"] - - [0x80059750, "aGlockexploderz_0"] - - [0x80059760, "aGm16z_0"] - - [0x80059768, "aGmapz_0"] - - [0x80059770, "aGmicrocameraz_0"] - - [0x80059780, "aGmicrocodez_0"] - - [0x8005978C, "aGmicrofilmz_0"] - - [0x80059798, "aGmoneyz_0"] - - [0x800597A0, "aGmp5kz_0"] - - [0x800597A8, "aGmp5ksilz_0"] - - [0x800597B4, "aGpitongunz_0"] - - [0x800597C0, "aGplansz_0"] - - [0x800597C8, "aGplastiquez_0"] - - [0x800597D4, "aGpolarizedglassesz_0"] - - [0x800597E8, "aGproximityminez_0"] - - [0x800597F8, "aGremoteminez_0"] - - [0x80059808, "aGrocketlaunchz_0"] - - [0x80059818, "aGrugerz_0"] - - [0x80059820, "aGsafecrackercasez_0"] - - [0x80059834, "aGshotgunz_0"] - - [0x80059840, "aGsilverwppkz_0"] - - [0x80059850, "aGskorpionz_0"] - - [0x8005985C, "aGsniperriflez_0"] - - [0x8005986C, "aGspectrez_0"] - - [0x80059878, "aGspooltapez_0"] - - [0x80059884, "aGspyfilez_0"] - - [0x80059890, "aGstafflistz_0"] - - [0x8005989C, "aGtaserz_0"] - - [0x800598A4, "aGthrowknifez_0"] - - [0x800598B4, "aGtimedminez_0"] - - [0x800598C0, "aGtriggerz_0"] - - [0x800598CC, "aGtt33z_0"] - - [0x800598D4, "aGuziz_0"] - - [0x800598DC, "aGvideotapez_0"] - - [0x800598E8, "aGwatchcommunicatorz_0"] - - [0x800598FC, "aGwatchgeigercounterz_0"] - - [0x80059914, "aGwatchidentifierz_0"] - - [0x80059928, "aGwatchlaserz_0"] - - [0x80059938, "aGwatchmagnetattractz_0"] - - [0x80059950, "aGwatchmagnetrepelz_0"] - - [0x80059964, "aGweaponcasez_0"] - - [0x80059974, "aGwppkz_0"] - - [0x8005997C, "aGwppksilz_0"] - - [0x80059988, "aGwristdartz"] - - [0x80059994, "aPicbmz_0"] - - [0x8005999C, "aPicbm_nosez_0"] - - [0x800599A8, "aPak47magz_0"] - - [0x800599B4, "aPalarm1z_0"] - - [0x800599C0, "aPalarm2z_0"] - - [0x800599CC, "aPammo_crate1z_0"] - - [0x800599DC, "aPammo_crate2z_0"] - - [0x800599EC, "aPammo_crate3z_0"] - - [0x800599FC, "aPammo_crate4z_0"] - - [0x80059A0C, "aPammo_crate5z_0"] - - [0x80059A1C, "aPapcz_0"] - - [0x80059A24, "aParchsecdoor1z_0"] - - [0x80059A34, "aParchsecdoor2z_0"] - - [0x80059A44, "aParticz_0"] - - [0x80059A4C, "aPartictrailerz_0"] - - [0x80059A5C, "aPbarricadez_0"] - - [0x80059A68, "aPbin1z_0"] - - [0x80059A70, "aPblotter1z_0"] - - [0x80059A7C, "aPbodyarmourz_0"] - - [0x80059A8C, "aPbodyarmourvestz_0"] - - [0x80059AA0, "aPbollardz_0"] - - [0x80059AAC, "aPbombz_0"] - - [0x80059AB4, "aPbook1z_0"] - - [0x80059ABC, "aPbookshelf1z_0"] - - [0x80059ACC, "aPborg_cratez_0"] - - [0x80059ADC, "aPboxcartridgesz_0"] - - [0x80059AEC, "aPboxes2x4z_0"] - - [0x80059AF8, "aPboxes3x4z_0"] - - [0x80059B04, "aPboxes4x4z_0"] - - [0x80059B10, "aPbrakeunitz_0"] - - [0x80059B1C, "aPbridge_console1az_0"] - - [0x80059B30, "aPbridge_console1bz_0"] - - [0x80059B44, "aPbridge_console2az_0"] - - [0x80059B58, "aPbridge_console2bz_0"] - - [0x80059B6C, "aPbridge_console3az_0"] - - [0x80059B80, "aPbridge_console3bz_0"] - - [0x80059B94, "aPcarbmwz_0"] - - [0x80059BA0, "aPcard_box1z_0"] - - [0x80059BAC, "aPcard_box2z_0"] - - [0x80059BB8, "aPcard_box3z_0"] - - [0x80059BC4, "aPcard_box4_lgz_0"] - - [0x80059BD4, "aPcard_box5_lgz_0"] - - [0x80059BE4, "aPcard_box6_lgz_0"] - - [0x80059BF4, "aPcarescortz_0"] - - [0x80059C00, "aPcargolfz_0"] - - [0x80059C0C, "aPcarweirdz_0"] - - [0x80059C18, "aPcarzilz_0"] - - [0x80059C24, "aPcctvz_0"] - - [0x80059C2C, "aPchraudiotapez_0"] - - [0x80059C3C, "aPchrautoshotz_0"] - - [0x80059C4C, "aPchrblackboxz_0"] - - [0x80059C5C, "aPchrblueprintsz_0"] - - [0x80059C6C, "aPchrbombcasez_0"] - - [0x80059C7C, "aPchrbombdefuserz_0"] - - [0x80059C90, "aPchrbriefcasez_0"] - - [0x80059CA0, "aPchrbugz_0"] - - [0x80059CAC, "aPchrbugdetectorz_0"] - - [0x80059CC0, "aPchrbungeez_0"] - - [0x80059CCC, "aPchrcameraz_0"] - - [0x80059CD8, "aPchrcircuitboardz_0"] - - [0x80059CEC, "aPchrclipboardz_0"] - - [0x80059CFC, "aPchrcreditcardz_0"] - - [0x80059D0C, "aPchrdarkglassesz_0"] - - [0x80059D20, "aPchrdatathiefz_0"] - - [0x80059D30, "aPchrdattapez_0"] - - [0x80059D40, "aPchrdoordecoderz_0"] - - [0x80059D54, "aPchrdoorexploderz_0"] - - [0x80059D68, "aPchrdossierredz_0"] - - [0x80059D78, "aPchrdynamitez_0"] - - [0x80059D88, "aPchrexplosivepenz_0"] - - [0x80059D9C, "aPchrextinguisherz_0"] - - [0x80059DB0, "aPchrfingergunz_0"] - - [0x80059DC0, "aPchrflarepistolz_0"] - - [0x80059DD4, "aPchrfnp90z_0"] - - [0x80059DE0, "aPchrgaskeyringz_0"] - - [0x80059DF0, "aPchrgoldbarz_0"] - - [0x80059E00, "aPchrgoldenz_0"] - - [0x80059E0C, "aPchrgoldeneyekeyz_0"] - - [0x80059E20, "aPchrgoldwppkz_0"] - - [0x80059E30, "aPchrgrenadez_0"] - - [0x80059E40, "aPchrgrenadelaunchz_0"] - - [0x80059E54, "aPchrgrenaderoundz_0"] - - [0x80059E68, "aPchrheroinz_0"] - - [0x80059E74, "aPchrkalashz_0"] - - [0x80059E80, "aPchrkeyanalysercasez_0"] - - [0x80059E98, "aPchrkeyboltz_0"] - - [0x80059EA8, "aPchrkeyyalez_0"] - - [0x80059EB8, "aPchrknifez_0"] - - [0x80059EC4, "aPchrlaserz_0"] - - [0x80059ED0, "aPchrlectrez_0"] - - [0x80059EDC, "aPchrlockexploderz_0"] - - [0x80059EF0, "aPchrm16z_0"] - - [0x80059EFC, "aPchrmapz_0"] - - [0x80059F08, "aPchrmicrocameraz_0"] - - [0x80059F1C, "aPchrmicrocodez_0"] - - [0x80059F2C, "aPchrmicrofilmz_0"] - - [0x80059F3C, "aPchrmoneyz_0"] - - [0x80059F48, "aPchrmp5kz_0"] - - [0x80059F54, "aPchrmp5ksilz_0"] - - [0x80059F64, "aPchrpitongunz_0"] - - [0x80059F74, "aPchrplansz_0"] - - [0x80059F80, "aPchrplastiquez_0"] - - [0x80059F90, "aPchrpolarizedglassesz_0"] - - [0x80059FA8, "aPchrproximityminez_0"] - - [0x80059FBC, "aPchrremoteminez_0"] - - [0x80059FCC, "aPchrrocketz_0"] - - [0x80059FD8, "aPchrrocketlaunchz_0"] - - [0x80059FEC, "aPchrrugerz_0"] - - [0x80059FF8, "aPchrsafecrackercasez_0"] - - [0x8005A010, "aPchrshotgunz_0"] - - [0x8005A020, "aPchrsilverwppkz_0"] - - [0x8005A030, "aPchrskorpionz_0"] - - [0x8005A040, "aPchrsniperriflez_0"] - - [0x8005A054, "aPchrspectrez_0"] - - [0x8005A064, "aPchrspooltapez_0"] - - [0x8005A074, "aPchrspyfilez_0"] - - [0x8005A084, "aPchrstafflistz_0"] - - [0x8005A094, "aPchrtesttubez_0"] - - [0x8005A0A4, "aPchrthrowknifez_0"] - - [0x8005A0B4, "aPchrtimedminez_0"] - - [0x8005A0C4, "aPchrtt33z_0"] - - [0x8005A0D0, "aPchruziz_0"] - - [0x8005A0DC, "aPchrvideotapez_0"] - - [0x8005A0EC, "aPchrweaponcasez_0"] - - [0x8005A0FC, "aPchrwppkz_0"] - - [0x8005A108, "aPchrwppksilz_0"] - - [0x8005A118, "aPchrwristdartz_0"] - - [0x8005A128, "aPconsole1z_0"] - - [0x8005A134, "aPconsole2z_0"] - - [0x8005A140, "aPconsole3z_0"] - - [0x8005A14C, "aPconsole_sev2az_0"] - - [0x8005A15C, "aPconsole_sev2bz_0"] - - [0x8005A16C, "aPconsole_sev2cz_0"] - - [0x8005A17C, "aPconsole_sev2dz_0"] - - [0x8005A18C, "aPconsole_sev_geaz_0"] - - [0x8005A1A0, "aPconsole_sev_gebz_0"] - - [0x8005A1B4, "aPconsole_sevaz_0"] - - [0x8005A1C4, "aPconsole_sevbz_0"] - - [0x8005A1D4, "aPconsole_sevcz_0"] - - [0x8005A1E4, "aPconsole_sevdz_0"] - - [0x8005A1F4, "aPcryptdoor1az_0"] - - [0x8005A204, "aPcryptdoor1bz_0"] - - [0x8005A214, "aPcryptdoor2az_0"] - - [0x8005A224, "aPcryptdoor2bz_0"] - - [0x8005A234, "aPcryptdoor3z_0"] - - [0x8005A244, "aPcryptdoor4z_0"] - - [0x8005A254, "aPdamchaindoorz_0"] - - [0x8005A264, "aPdamgatedoorz_0"] - - [0x8005A274, "aPdamtundoorz_0"] - - [0x8005A284, "aPdepot_door_steelz_0"] - - [0x8005A298, "aPdepot_gate_entryz_0"] - - [0x8005A2AC, "aPdesk1z_0"] - - [0x8005A2B4, "aPdesk2z_0"] - - [0x8005A2BC, "aPdesk_arecibo1z_0"] - - [0x8005A2CC, "aPdesk_lamp2z_0"] - - [0x8005A2DC, "aPdest_enginez_0"] - - [0x8005A2EC, "aPdest_exocetz_0"] - - [0x8005A2FC, "aPdest_gunz_0"] - - [0x8005A308, "aPdest_harpoonz_0"] - - [0x8005A318, "aPdest_seawolfz_0"] - - [0x8005A328, "aPdisc_readerz_0"] - - [0x8005A338, "aPdisk_drive1z_0"] - - [0x8005A348, "aPdoor_azt_chairz_0"] - - [0x8005A35C, "aPdoor_azt_deskz_0"] - - [0x8005A36C, "aPdoor_azt_desk_topz_0"] - - [0x8005A380, "aPdoor_aztecz_0"] - - [0x8005A390, "aPdoor_dest1z_0"] - - [0x8005A3A0, "aPdoor_dest2z_0"] - - [0x8005A3B0, "aPdoor_eyelidz_0"] - - [0x8005A3C0, "aPdoor_irisz_0"] - - [0x8005A3CC, "aPdoor_mfz_0"] - - [0x8005A3D8, "aPdoor_roller1z_0"] - - [0x8005A3E8, "aPdoor_roller2z_0"] - - [0x8005A3F8, "aPdoor_roller3z_0"] - - [0x8005A408, "aPdoor_roller4z_0"] - - [0x8005A418, "aPdoor_rollertrainz_0"] - - [0x8005A42C, "aPdoor_st_arec1z_0"] - - [0x8005A43C, "aPdoor_st_arec2z_0"] - - [0x8005A44C, "aPdoor_winz_0"] - - [0x8005A458, "aPdoorconsolez_0"] - - [0x8005A468, "aPdoorpanelz_0"] - - [0x8005A474, "aPdoorprison1z_0"] - - [0x8005A484, "aPdoorstatgatez_0"] - - [0x8005A494, "aPexplosionbitz_0"] - - [0x8005A4A4, "aPfiling_cabinet1z_0"] - - [0x8005A4B8, "aPflagz_0"] - - [0x8005A4C0, "aPfloppyz_0"] - - [0x8005A4CC, "aPfnp90magz_0"] - - [0x8005A4D8, "aPgas_plant_met1_do1z_0"] - - [0x8005A4F0, "aPgas_plant_sw2_do1z_0"] - - [0x8005A504, "aPgas_plant_sw3_do1z_0"] - - [0x8005A518, "aPgas_plant_sw4_do1z_0"] - - [0x8005A52C, "aPgas_plant_sw_do1z_0"] - - [0x8005A540, "aPgas_plant_wc_cub1z_0"] - - [0x8005A554, "aPgasbarrelz_0"] - - [0x8005A560, "aPgasbarrelsz_0"] - - [0x8005A570, "aPgasplant_clear_doorz_0"] - - [0x8005A588, "aPgastankz_0"] - - [0x8005A594, "aPglassware1z_0"] - - [0x8005A5A4, "aPglassware2z_0"] - - [0x8005A5B4, "aPglassware3z_0"] - - [0x8005A5C4, "aPglassware4z_0"] - - [0x8005A5D4, "aPgoldeneyelogoz_0"] - - [0x8005A5E4, "aPgoldenshellsz_0"] - - [0x8005A5F4, "aPgroundgunz_0"] - - [0x8005A600, "aPgun_runway1z_0"] - - [0x8005A610, "aPhatberetz_0"] - - [0x8005A61C, "aPhatberetbluez_0"] - - [0x8005A62C, "aPhatberetredz_0"] - - [0x8005A63C, "aPhatchboltz_0"] - - [0x8005A648, "aPhatchdoorz_0"] - - [0x8005A654, "aPhatchsevxz_0"] - - [0x8005A660, "aPhatfurryz_0"] - - [0x8005A66C, "aPhatfurryblackz_0"] - - [0x8005A67C, "aPhatfurrybrownz_0"] - - [0x8005A68C, "aPhathelmetz_0"] - - [0x8005A698, "aPhathelmetgreyz_0"] - - [0x8005A6A8, "aPhatmoonz_0"] - - [0x8005A6B4, "aPhatpeakedz_0"] - - [0x8005A6C0, "aPhattbirdz_0"] - - [0x8005A6CC, "aPhattbirdbrownz_0"] - - [0x8005A6DC, "aPhelicopterz_0"] - - [0x8005A6EC, "aPhindz_0"] - - [0x8005A6F4, "aPjeepz_0"] - - [0x8005A6FC, "aPjerry_can1z_0"] - - [0x8005A70C, "aPjungle3_treez_0"] - - [0x8005A71C, "aPjungle5_treez_0"] - - [0x8005A72C, "aPkey_holderz_0"] - - [0x8005A73C, "aPkeyboard1z_0"] - - [0x8005A748, "aPkit_units1z_0"] - - [0x8005A758, "aPlabbenchz_0"] - - [0x8005A764, "aPlandminez_0"] - - [0x8005A770, "aPlegalpagez_0"] - - [0x8005A77C, "aPletter_tray1z_0"] - - [0x8005A78C, "aPlocker3z_0"] - - [0x8005A798, "aPlocker4z_0"] - - [0x8005A7A4, "aPm16magz_0"] - - [0x8005A7B0, "aPmagnumshellsz_0"] - - [0x8005A7C0, "aPmainframe1z_0"] - - [0x8005A7D0, "aPmainframe2z_0"] - - [0x8005A7E0, "aPmetal_chair1z_0"] - - [0x8005A7F0, "aPmetal_crate1z_0"] - - [0x8005A800, "aPmetal_crate2z_0"] - - [0x8005A810, "aPmetal_crate3z_0"] - - [0x8005A820, "aPmetal_crate4z_0"] - - [0x8005A830, "aPmilcopterz_0"] - - [0x8005A83C, "aPmiltruckz_0"] - - [0x8005A848, "aPmissile_rack2z_0"] - - [0x8005A858, "aPmissile_rackz_0"] - - [0x8005A868, "aPmodemboxz_0"] - - [0x8005A874, "aPmotorbikez_0"] - - [0x8005A880, "aPmp5kmagz_0"] - - [0x8005A88C, "aPnintendologoz_0"] - - [0x8005A89C, "aPoil_drum1z_0"] - - [0x8005A8A8, "aPoil_drum2z_0"] - - [0x8005A8B4, "aPoil_drum3z_0"] - - [0x8005A8C0, "aPoil_drum5z_0"] - - [0x8005A8CC, "aPoil_drum6z_0"] - - [0x8005A8D8, "aPoil_drum7z_0"] - - [0x8005A8E4, "aPpadlockz_0"] - - [0x8005A8F0, "aPpalmz_0"] - - [0x8005A8F8, "aPpalmtreez_0"] - - [0x8005A904, "aPphone1z_0"] - - [0x8005A910, "aPplanez_0"] - - [0x8005A918, "aPplant11z_0"] - - [0x8005A924, "aPplant1z_0"] - - [0x8005A930, "aPplant2z_0"] - - [0x8005A93C, "aPplant2bz_0"] - - [0x8005A948, "aPplant3z_0"] - - [0x8005A954, "aPradio_unit1z_0"] - - [0x8005A964, "aPradio_unit2z_0"] - - [0x8005A974, "aPradio_unit3z_0"] - - [0x8005A984, "aPradio_unit4z_0"] - - [0x8005A994, "aProofgunz_0"] - - [0x8005A9A0, "aPsafez_0"] - - [0x8005A9A8, "aPsafedoorz_0"] - - [0x8005A9B4, "aPsat1_reflectz_0"] - - [0x8005A9C4, "aPsatboxz_0"] - - [0x8005A9D0, "aPsatdishz_0"] - - [0x8005A9DC, "aPsec_panelz_0"] - - [0x8005A9E8, "aPsev_door3z_0"] - - [0x8005A9F4, "aPsev_door3_windz_0"] - - [0x8005AA08, "aPsev_door4_windz_0"] - - [0x8005AA1C, "aPsev_doorz_0"] - - [0x8005AA28, "aPsev_door_v1z_0"] - - [0x8005AA38, "aPsev_trislidez_0"] - - [0x8005AA48, "aPsevdishz_0"] - - [0x8005AA54, "aPsevdoormetslidez_0"] - - [0x8005AA68, "aPsevdoornowindz_0"] - - [0x8005AA78, "aPsevdoorwindz_0"] - - [0x8005AA88, "aPsevdoorwoodz_0"] - - [0x8005AA98, "aPshuttlez_0"] - - [0x8005AAA4, "aPshuttle_door_lz_0"] - - [0x8005AAB8, "aPshuttle_door_rz_0"] - - [0x8005AACC, "aPsilencerz_0"] - - [0x8005AAD8, "aPsilo_lift_doorz_0"] - - [0x8005AAEC, "aPsilotopdoorz_0"] - - [0x8005AAFC, "aPskorpionmagz_0"] - - [0x8005AB0C, "aPspectremagz_0"] - - [0x8005AB1C, "aPspeedboatz_0"] - - [0x8005AB28, "aPst_pete_room_1iz_0"] - - [0x8005AB3C, "aPst_pete_room_2iz_0"] - - [0x8005AB50, "aPst_pete_room_3tz_0"] - - [0x8005AB64, "aPst_pete_room_5cz_0"] - - [0x8005AB78, "aPst_pete_room_6cz_0"] - - [0x8005AB8C, "aPsteel_door1z_0"] - - [0x8005AB9C, "aPsteel_door2z_0"] - - [0x8005ABAC, "aPsteel_door2bz_0"] - - [0x8005ABBC, "aPsteel_door3z_0"] - - [0x8005ABCC, "aPstool1z_0"] - - [0x8005ABD8, "aPswipe_card2z_0"] - - [0x8005ABE8, "aPswivel_chair1z_0"] - - [0x8005ABF8, "aPtankz_0"] - - [0x8005AC00, "aPtigerz_0"] - - [0x8005AC08, "aPtorpedo_rackz_0"] - - [0x8005AC18, "aPtrain_door2z_0"] - - [0x8005AC28, "aPtrain_door3z_0"] - - [0x8005AC38, "aPtrain_doorz_0"] - - [0x8005AC48, "aPtrainextdoorz_0"] - - [0x8005AC58, "aPtt33magz_0"] - - [0x8005AC64, "aPtuning_console1z_0"] - - [0x8005AC78, "aPtv1z_0"] - - [0x8005AC80, "aPtv4screenz_0"] - - [0x8005AC8C, "aPtv_holderz_0"] - - [0x8005AC98, "aPtvscreenz_1"] - - [0x8005ACA4, "aPuzimagz_0"] - - [0x8005ACB0, "aPvertdoorz_1"] - - [0x8005ACBC, "aPwalletbondz_0"] - - [0x8005ACCC, "aPwindowz_0"] - - [0x8005ACD8, "aPwindow_cor11z_1"] - - [0x8005ACE8, "aPwindow_lib_lg1z_0"] - - [0x8005ACFC, "aPwindow_lib_sm1z_0"] - - [0x8005AD10, "aPwood_lg_crate1z_0"] - - [0x8005AD24, "aPwood_lg_crate2z_0"] - - [0x8005AD38, "aPwood_md_crate3z_0"] - - [0x8005AD4C, "aPwood_sm_crate4z_0"] - - [0x8005AD60, "aPwood_sm_crate5z_0"] - - [0x8005AD74, "aPwood_sm_crate6z_0"] - - [0x8005AD88, "aPwooden_table1z_0"] - - [0x8005AD98, "aPwppkmagz_0"] - - [0x8005ADA4, "aTbg_ame_all_p_stanz_2"] - - [0x8005ADB8, "aTbg_arch_all_p_stanz_0"] - - [0x8005ADD0, "aTbg_arec_all_p_stanz_0"] - - [0x8005ADE8, "aTbg_ark_all_p_stanz_0"] - - [0x8005ADFC, "aTbg_ash_all_p_stanz"] - - [0x8005AE10, "aTbg_azt_all_p_stanz_0"] - - [0x8005AE24, "aTbg_cat_all_p_stanz_0"] - - [0x8005AE38, "aTbg_cave_all_p_stanz_0"] - - [0x8005AE50, "aTbg_crad_all_p_stanz_0"] - - [0x8005AE68, "aTbg_cryp_all_p_stanz_0"] - - [0x8005AE80, "aTbg_dam_all_p_stanz_0"] - - [0x8005AE94, "aTbg_depo_all_p_stanz_0"] - - [0x8005AEAC, "aTbg_dest_all_p_stanz_0"] - - [0x8005AEC4, "aTbg_dish_all_p_stanz_0"] - - [0x8005AEDC, "aTbg_ear_all_p_stanz_0"] - - [0x8005AEF0, "aTbg_eld_all_p_stanz_0"] - - [0x8005AF04, "aTbg_imp_all_p_stanz"] - - [0x8005AF18, "aTbg_jun_all_p_stanz_0"] - - [0x8005AF2C, "aTbg_lee_all_p_stanz_0"] - - [0x8005AF40, "aTbg_len_all_p_stanz_0"] - - [0x8005AF54, "aTbg_lip_all_p_stanz_0"] - - [0x8005AF68, "aTbg_lue_all_p_stanz_0"] - - [0x8005AF7C, "aTbg_oat_all_p_stanz_0"] - - [0x8005AF90, "aTbg_pam_all_p_stanz_0"] - - [0x8005AFA4, "aTbg_pete_all_p_stanz_0"] - - [0x8005AFBC, "aTbg_ref_all_p_stanz_0"] - - [0x8005AFD0, "aTbg_rit_all_p_stanz_0"] - - [0x8005AFE4, "aTbg_run_all_p_stanz_0"] - - [0x8005AFF8, "aTbg_sev_all_p_stanz_0"] - - [0x8005B00C, "aTbg_sevb_all_p_stanz_0"] - - [0x8005B024, "aTbg_sevx_all_p_stanz_1"] - - [0x8005B03C, "aTbg_silo_all_p_stanz_0"] - - [0x8005B054, "aTbg_stat_all_p_stanz_0"] - - [0x8005B06C, "aTbg_tra_all_p_stanz_0"] - - [0x8005B080, "aTbg_wax_all_p_stanz_0"] - - [0x8005B094, "aUbriefarchz"] - - [0x8005B0A0, "aUbriefarkz"] - - [0x8005B0AC, "aUbriefaztz"] - - [0x8005B0B8, "aUbriefcavez"] - - [0x8005B0C4, "aUbriefcontrolz"] - - [0x8005B0D4, "aUbriefcradz"] - - [0x8005B0E0, "aUbriefcrypz"] - - [0x8005B0EC, "aUbriefdamz"] - - [0x8005B0F8, "aUbriefdepoz"] - - [0x8005B104, "aUbriefdestz"] - - [0x8005B110, "aUbriefjunz"] - - [0x8005B11C, "aUbriefpetez"] - - [0x8005B128, "aUbriefrunz"] - - [0x8005B134, "aUbriefsevbz"] - - [0x8005B140, "aUbriefsevbunkerz"] - - [0x8005B154, "aUbriefsevxz"] - - [0x8005B160, "aUbriefsevxbz"] - - [0x8005B170, "aUbriefsiloz"] - - [0x8005B17C, "aUbriefstatuez"] - - [0x8005B18C, "aUbrieftraz"] - - [0x8005B198, "aUmp_setupamez"] - - [0x8005B1A8, "aUmp_setuparchz"] - - [0x8005B1B8, "aUmp_setuparkz"] - - [0x8005B1C8, "aUmp_setupashz"] - - [0x8005B1D8, "aUmp_setupcavez"] - - [0x8005B1E8, "aUmp_setupcradz"] - - [0x8005B1F8, "aUmp_setupcrypz"] - - [0x8005B208, "aUmp_setupdishz"] - - [0x8005B218, "aUmp_setupimpz"] - - [0x8005B228, "aUmp_setupoatz"] - - [0x8005B238, "aUmp_setuprefz"] - - [0x8005B248, "aUmp_setupsevbz"] - - [0x8005B258, "aUmp_setupstatuez"] - - [0x8005B26C, "aUsetuparchz_0"] - - [0x8005B278, "aUsetuparkz_1"] - - [0x8005B284, "aUsetupaztz_1"] - - [0x8005B290, "aUsetupcavez_0"] - - [0x8005B29C, "aUsetupcontrolz_1"] - - [0x8005B2AC, "aUsetupcradz_0"] - - [0x8005B2B8, "aUsetupcrypz_0"] - - [0x8005B2C4, "aUsetupdamz_1"] - - [0x8005B2D0, "aUsetupdepoz_0"] - - [0x8005B2DC, "aUsetupdestz_0"] - - [0x8005B2E8, "aUsetupjunz_1"] - - [0x8005B2F4, "aUsetuplenz_1"] - - [0x8005B300, "aUsetuppetez_0"] - - [0x8005B30C, "aUsetuprunz_1"] - - [0x8005B318, "aUsetupsevbz_0"] - - [0x8005B324, "aUsetupsevbunkerz_1"] - - [0x8005B338, "aUsetupsevxz_0"] - - [0x8005B344, "aUsetupsevxbz_0"] - - [0x8005B354, "aUsetupsiloz_0"] - - [0x8005B360, "aUsetupstatuez_0"] - - [0x8005B370, "aUsetuptraz_1"] - - [0x8005B37C, "aLamee_0"] - - [0x8005B384, "aLamej_0"] - - [0x8005B38C, "aLarche_1"] - - [0x8005B394, "aLarchj_1"] - - [0x8005B39C, "aLarece_1"] - - [0x8005B3A4, "aLarecj_1"] - - [0x8005B3AC, "aLarke_0"] - - [0x8005B3B4, "aLarkj_0"] - - [0x8005B3BC, "aLashe_0"] - - [0x8005B3C4, "aLashj_0"] - - [0x8005B3CC, "aLazte_0"] - - [0x8005B3D4, "aLaztj_0"] - - [0x8005B3DC, "aLcate_0"] - - [0x8005B3E4, "aLcatj_0"] - - [0x8005B3EC, "aLcavee_1"] - - [0x8005B3F4, "aLcavej_1"] - - [0x8005B3FC, "aLcrade_1"] - - [0x8005B404, "aLcradj_1"] - - [0x8005B40C, "aLcrype_1"] - - [0x8005B414, "aLcrypj_1"] - - [0x8005B41C, "aLdame_0"] - - [0x8005B424, "aLdamj_0"] - - [0x8005B42C, "aLdepoe_1"] - - [0x8005B434, "aLdepoj_1"] - - [0x8005B43C, "aLdeste_1"] - - [0x8005B444, "aLdestj_1"] - - [0x8005B44C, "aLdishe_1"] - - [0x8005B454, "aLdishj_1"] - - [0x8005B45C, "aLeare_0"] - - [0x8005B464, "aLearj_0"] - - [0x8005B46C, "aLelde_0"] - - [0x8005B474, "aLeldj_0"] - - [0x8005B47C, "aLgune_0"] - - [0x8005B484, "aLgunj_0"] - - [0x8005B48C, "aLimpe_0"] - - [0x8005B494, "aLimpj_0"] - - [0x8005B49C, "aLjune_0"] - - [0x8005B4A4, "aLjunj_0"] - - [0x8005B4AC, "aLleee_0"] - - [0x8005B4B4, "aLleej_0"] - - [0x8005B4BC, "aLlene_0"] - - [0x8005B4C4, "aLlenj_0"] - - [0x8005B4CC, "aLlipe_0"] - - [0x8005B4D4, "aLlipj_0"] - - [0x8005B4DC, "aLluee_0"] - - [0x8005B4E4, "aLluej_0"] - - [0x8005B4EC, "aLmisce_1"] - - [0x8005B4F4, "aLmiscj_1"] - - [0x8005B4FC, "aLmpmenue_0"] - - [0x8005B508, "aLmpmenuj_0"] - - [0x8005B514, "aLmpweaponse_0"] - - [0x8005B520, "aLmpweaponsj_0"] - - [0x8005B52C, "aLoate_0"] - - [0x8005B534, "aLoatj_0"] - - [0x8005B53C, "aLoptionse_0"] - - [0x8005B548, "aLoptionsj_0"] - - [0x8005B554, "aLpame_0"] - - [0x8005B55C, "aLpamj_0"] - - [0x8005B564, "aLpetee_1"] - - [0x8005B56C, "aLpetej_1"] - - [0x8005B574, "aLpropobje_0"] - - [0x8005B580, "aLpropobjj_0"] - - [0x8005B58C, "aLrefe_0"] - - [0x8005B594, "aLrefj_0"] - - [0x8005B59C, "aLrite_0"] - - [0x8005B5A4, "aLritj_0"] - - [0x8005B5AC, "aLrune_0"] - - [0x8005B5B4, "aLrunj_0"] - - [0x8005B5BC, "aLseve_0"] - - [0x8005B5C4, "aLsevj_0"] - - [0x8005B5CC, "aLsevbe_1"] - - [0x8005B5D4, "aLsevbj_1"] - - [0x8005B5DC, "aLsevxe_1"] - - [0x8005B5E4, "aLsevxj_1"] - - [0x8005B5EC, "aLsevxbe_0"] - - [0x8005B5F4, "aLsevxbj_0"] - - [0x8005B5FC, "aLshoe_0"] - - [0x8005B604, "aLshoj_0"] - - [0x8005B60C, "aLsiloe_1"] - - [0x8005B614, "aLsiloj_1"] - - [0x8005B61C, "aLstate_1"] - - [0x8005B624, "aLstatj_1"] - - [0x8005B62C, "aLtitlee_0"] - - [0x8005B634, "aLtitlej_0"] - - [0x8005B63C, "aLtrae_0"] - - [0x8005B644, "aLtraj_0"] - - [0x8005B64C, "aLwaxe_0"] - - [0x8005B654, "aLwaxj_0"] - - [0x8005B65C, "aObOb_end_seg"] - - [0x8005B66C, "rz_header_1"] - - [0x8005B670, "rz_header_2"] - - [0x8005B674, "aOb_c_debug"] - - [0x8005B680, "aDyn_c_debug"] - - [0x8005B68C, "aMgfx"] - - [0x8005B694, "aMgfx_1"] - - [0x8005B69C, "aMvtx"] - - [0x8005B6A4, "aMvtx_0"] - - [0x8005B6B0, "aLv_c_debug"] - - [0x8005B6BC, "aStanshow_"] - - [0x8005B6C8, "aStanshow__5"] - - [0x8005B6D4, "aStanshow__0"] - - [0x8005B6E0, "aStanshow__1"] - - [0x8005B6EC, "aStanshow__2"] - - [0x8005B6F8, "aStanshow__3"] - - [0x8005B704, "aOneMinuteLeft"] - - [0x8005B714, "aSetdetailDDDDDDDDD"] - - [0x8005B750, "aReplayDemo_D"] - - [0x8005B760, "aReplayDemo_D_1"] - - [0x8005B770, "aReplayDemo_load"] - - [0x8005B790, "jpt_7F0C0C6C"] - - [0x8005B7AC, "jpt_7F0C0C8C"] - - [0x8005B7C8, "jpt_7F0C0D40"] - - [0x8005B7E8, "jpt_7F0C0E30"] - - [0x8005B804, "jpt_7F0C0EC8"] - - [0x8005B820, "jpt_7F0C1000"] - - [0x8005B83C, "jpt_7F0C10CC"] - - [0x8005B858, "jpt_7F0C1174"] - - [0x8005B880, "aLamee"] - - [0x8005B888, "aLamej"] - - [0x8005B890, "aLarche"] - - [0x8005B898, "aLarchj"] - - [0x8005B8A0, "aLarke"] - - [0x8005B8A8, "aLarkj"] - - [0x8005B8B0, "aLashe"] - - [0x8005B8B8, "aLashj"] - - [0x8005B8C0, "aLazte"] - - [0x8005B8C8, "aLaztj"] - - [0x8005B8D0, "aLcate"] - - [0x8005B8D8, "aLcatj"] - - [0x8005B8E0, "aLcavee"] - - [0x8005B8E8, "aLcavej"] - - [0x8005B8F0, "aLarece"] - - [0x8005B8F8, "aLarecj"] - - [0x8005B900, "aLcrade"] - - [0x8005B908, "aLcradj"] - - [0x8005B910, "aLcrype"] - - [0x8005B918, "aLcrypj"] - - [0x8005B920, "aLdame"] - - [0x8005B928, "aLdamj"] - - [0x8005B930, "aLdepoe"] - - [0x8005B938, "aLdepoj"] - - [0x8005B940, "aLdeste"] - - [0x8005B948, "aLdestj"] - - [0x8005B950, "aLdishe"] - - [0x8005B958, "aLdishj"] - - [0x8005B960, "aLeare"] - - [0x8005B968, "aLearj"] - - [0x8005B970, "aLelde"] - - [0x8005B978, "aLeldj"] - - [0x8005B980, "aLimpe"] - - [0x8005B988, "aLimpj"] - - [0x8005B990, "aLjune"] - - [0x8005B998, "aLjunj"] - - [0x8005B9A0, "aLleee"] - - [0x8005B9A8, "aLleej"] - - [0x8005B9B0, "aLlene"] - - [0x8005B9B8, "aLlenj"] - - [0x8005B9C0, "aLlipe"] - - [0x8005B9C8, "aLlipj"] - - [0x8005B9D0, "aLluee"] - - [0x8005B9D8, "aLluej"] - - [0x8005B9E0, "aLoate"] - - [0x8005B9E8, "aLoatj"] - - [0x8005B9F0, "aLpame"] - - [0x8005B9F8, "aLpamj"] - - [0x8005BA00, "aLpetee"] - - [0x8005BA08, "aLpetej"] - - [0x8005BA10, "aLrefe"] - - [0x8005BA18, "aLrefj"] - - [0x8005BA20, "aLrite"] - - [0x8005BA28, "aLritj"] - - [0x8005BA30, "aLrune"] - - [0x8005BA38, "aLrunj"] - - [0x8005BA40, "aLsevbe"] - - [0x8005BA48, "aLsevbj"] - - [0x8005BA50, "aLseve"] - - [0x8005BA58, "aLsevj"] - - [0x8005BA60, "aLsevxe"] - - [0x8005BA68, "aLsevxj"] - - [0x8005BA70, "aLsevxbe"] - - [0x8005BA78, "aLsevxbj"] - - [0x8005BA80, "aLshoe"] - - [0x8005BA88, "aLshoj"] - - [0x8005BA90, "aLsiloe"] - - [0x8005BA98, "aLsiloj"] - - [0x8005BAA0, "aLstate"] - - [0x8005BAA8, "aLstatj"] - - [0x8005BAB0, "aLtrae"] - - [0x8005BAB8, "aLtraj"] - - [0x8005BAC0, "aLwaxe"] - - [0x8005BAC8, "aLwaxj"] - - [0x8005BAD0, "aLgune"] - - [0x8005BAD8, "aLgunj"] - - [0x8005BAE0, "aLtitlee"] - - [0x8005BAE8, "aLtitlej"] - - [0x8005BAF0, "aLmpmenue"] - - [0x8005BAFC, "aLmpmenuj"] - - [0x8005BB08, "aLpropobje"] - - [0x8005BB14, "aLpropobjj"] - - [0x8005BB20, "aLmpweaponse"] - - [0x8005BB2C, "aLmpweaponsj"] - - [0x8005BB38, "aLoptionse"] - - [0x8005BB44, "aLoptionsj"] - - [0x8005BB50, "aLmisce"] - - [0x8005BB58, "aLmiscj"] - - [0x8005BB60, "jpt_7F0C15FC"] - - [0x8005BC20, "ascii_MP_watch_menu_percentd"] - - [0x8005BC24, "ascii_MP_watch_menu_BLANK"] - - [0x8005BC28, "ascii_MP_watch_menu_left_chevron"] - - [0x8005BC2C, "ascii_MP_watch_menu_right_chevron"] - - [0x8005BC30, "ascii_pnum_KILLS"] - - [0x8005BC38, "ascii_pnum_LOSSES"] - - [0x8005BC40, "jpt_7F0C1E48"] - - [0x8005BC60, "jpt_7F0C1EB4"] - - [0x8005BC88, "jpt_7F0C362C"] - - [0x8005BCA0, "jpt_7F0C394C"] - - [0x8005BCC0, "jpt_7F0C3F84"] - - [0x8005BCE0, "jpt_7F0C3FF4"] - - [0x8005BD00, "jpt_7F0C40C0"] - - [0x8005BD30, "jpt_7F0C8054"] - - [0x8005BD58, "jpt_7F0C87C4"] - - [0x8005BD7C, "jpt_7F0C8874"] - - [0x8005BDA0, "jpt_7F0C9B04"] - - [0x8005BDC4, "jpt_7F0C9DF0"] - - [0x8005BDE8, "jpt_7F0CA900"] - - [0x8005BE0C, "jpt_7F0CACBC"] - - [0x8005BE30, "jpt_7F0CB6A0"] - - [0x8005BE64, "jpt_7F0CB8A0"] - - [0x8005BE80, "aHit_default"] - - [0x8005BE8C, "aHit_stone"] - - [0x8005BE98, "aHit_wood"] - - [0x8005BEA4, "aHit_metal"] - - [0x8005BEB0, "aHit_glass"] - - [0x8005BEBC, "aHit_water"] - - [0x8005BEC8, "aHit_snow"] - - [0x8005BED4, "aHit_dirt"] - - [0x8005BEE0, "aHit_mud"] - - [0x8005BEE8, "aHit_tile"] - - [0x8005BEF4, "aHit_metalobj"] - - [0x8005BF04, "aHit_chr"] - - [0x8005BF0C, "aHit_glass_xlu"] - - [0x8005BF20, "jpt_7F0CE1D0"] - - [0x8005BF60, "jpt_7F0CE2B4"] - - [0x8005BFB0, "aRsp_c_debug"] - - [0x8005BFC0, "aSleep5EtcKillallGhostGload"] - - [0x8005BFF0, "aGame_c_debug"] - - [0x8005C000, "build_date"] - - [0x8005C020, "aEmDataSabre_seg_rz"] - - [0x8005C038, "aEmDataAtic_seg_rz"] - - [0x8005C04C, "aEmDataJetpac_seg_rz"] - - [0x8005C064, "aEmDataJetman_seg_rz"] - - [0x8005C07C, "aEmDataAlien8_seg_rz"] - - [0x8005C094, "aEmDataGunfright_seg_rz"] - - [0x8005C0B0, "aEmDataUnder_seg_rz"] - - [0x8005C0C8, "aEmDataKnightlore_seg_rz"] - - [0x8005C0E4, "aEmDataPssst_seg_rz"] - - [0x8005C0FC, "aEmDataCookie_seg_rz"] - - [0x8005C114, "aEmDataSpec_rom_seg_rz"] - - [0x8005C12C, "jpt_7F0D3A34"] - - [0x8005C52C, "jpt_7F0DA40C"] - - [0x8005C62C, "jpt_7F0DBEB8"] - - [0x8005C64C, "jpt_7F0DBEF0"] - - [0x8005C66C, "jpt_7F0DBF10"] - - [0x8005C68C, "jpt_7F0DC5BC"] - - [0x8005C6AC, "jpt_7F0DEA38"] - - [0x8005C71C, "jpt_7F0DEA60"] - - [0x8005CA90, "aRspSwVersion2_0g093096"] - - [0x8005CAAF, "aSgiU64GfxSwTeamSAndersonSCarrHChen"] - - [0x8005CAF4, "a2Fpzdnxvmc"] - - [0x8005D2E0, "_DATA_END"] - - [0x8005D2F8, "msgQ_buf_8005D9B8"] - - [0x8005DDE8, "ptr_nextbitmemopen"] - - [0x8005DE70, "_am+0x18"] - - [0x8005E058, "_am+0x200"] - - [0x8005E070, "_am+0x218"] - - [0x8005ED40, "Displaylist_0"] - - [0x8005F590, "Displaylist_1"] - - [0x8005FDE0, "displaylist_bank"] - - [0x800605D0, "debugthread"] - - [0x80062F80, "interrupt_c_buffer"] - - [0x80062FA4, "current_indy.read.buf.resourceID"] - - [0x80062FA8, "ptr_indy.read.buf.string1"] - - [0x80062FAC, "ptr_indy.read.buf.string2"] - - [0x80062FB0, "indy.read.buffer"] - - [0x80063060, "ptr_sfx.buf"] - - [0x80063068, "ptr_1st.music.ctrl.block"] - - [0x8006306C, "ptr_2nd.music.ctrl.block"] - - [0x80063070, "ptr_3rd.music.ctrl.block"] - - [0x80063074, "ptr_musicdatatable"] - - [0x800634F0, "memory_bank_ptrs"] - - [0x80063530, "ptr_model_room_buf_pri"] - - [0x80063560, "ptr_model_room_buf_secondary"] - - [0x80063564, "size_modelroom_buf"] - - [0x80063568, "ptr_table_allocated_mem_blocks"] - - [0x80063570, "index_for_loadedroom"] - - [0x80063578, "ptr_first_entry_in_alloc_table"] - - [0x80064570, "boot_token_from_indy"] - - [0x80064870, "controller_input_index"] - - [0x80064C90, "interrupt5_thread_list_buf"] - - [0x80064D28, "player1_controllerstatus"] - - [0x80064D2C, "player2_controllerstatus"] - - [0x80064D30, "player3_controllerstatus"] - - [0x80064D34, "player4_controllerstatus"] - - [0x80064D38, "player1_controller_packet"] - - [0x80064EE0, "rumble_off_player1_packet_buffer"] - - [0x80064FE0, "rumble_on_player1_packet_buffer"] - - [0x800650E0, "rumble_on_buffer"] - - [0x80065100, "rumble_off_buffer"] - - [0x80065120, "__osFinalRom"] - - [0x80065130, "viThread"] - - [0x800662E0, "viEventQueue"] - - [0x80066350, "__osEventStateTab"] - - [0x80066410, "piThread"] - - [0x800665C0, "cmdBuf"] - - [0x800675C0, "pieventQueue"] - - [0x800675D8, "piEventBuf"] - - [0x800675E0, "__osContPifRam"] - - [0x80067620, "__osContLastCmd"] - - [0x80067621, "__osMaxControllers"] - - [0x80067628, "__osEepromTimer"] - - [0x80067648, "__osEepromTimerQ"] - - [0x80067660, "__osEepromTimerMsg"] - - [0x80067670, "__osEepPifRam"] - - [0x800676AC, "__osEepPifRam+0x3C"] - - [0x800676B0, "__osPfsPifRam"] - - [0x800676EC, "__osPfsPifRam+0x3c"] - - [0x80068730, "__osBaseTimer"] - - [0x80068750, "__osCurrentTime"] - - [0x80068758, "__osBaseCounter"] - - [0x8006875C, "__osViIntrCount"] - - [0x80068760, "__osTimerCounter"] - - [0x80068770, "__osThreadSave"] - - [0x80068788, "__osFaultedThread"] - - [0x80068790, "T_CONTEXT_AT"] - - [0x800687C8, "T_CONTEXT_T0"] - - [0x800687D0, "T_CONTEXT_T1"] - - [0x800687D8, "T_CONTEXT_T2"] - - [0x80068888, "T_CONTEXT_SR"] - - [0x80068928, "__osPiAccessQueue"] - - [0x800689B4, "__osDiskHandle"] - - [0x80068E78, "ptr_animation_table"] - - [0x80068E80, "lastmpweaponnum"] - - [0x80068E98, "matrix_buffer_0"] - - [0x80068E9C, "matrix_buffer_1"] - - [0x80068EA0, "matrix_buffer_2"] - - [0x80068EA4, "matrix_buffer_3"] - - [0x80068EA8, "matrix_buffer_4"] - - [0x80068EAC, "matrix_buffer_5"] - - [0x80068EB0, "matrix_buffer_6"] - - [0x80068EB4, "x"] - - [0x80068EB8, "y"] - - [0x80068ED0, "virtualaddress"] - - [0x80068F91, "cheat_available"] - - [0x80068FE0, "cheat_activated"] - - [0x80068FE1, "CHEAT_AVAILABLE_EXTRA_CHARS"] - - [0x80068FE2, "cheat_activated_1"] - - [0x80068FE3, "cheat_activated_2"] - - [0x80069030, "fav_weapon_right_player1"] - - [0x80069034, "fav_weapon_left_player1"] - - [0x80069050, "mp_char_cur_select_player1"] - - [0x80069054, "mp_char_cur_select_player2"] - - [0x80069058, "mp_char_cur_select_player3"] - - [0x8006905C, "mp_char_cur_select_player4"] - - [0x80069060, "mp_char_prev_select_player1"] - - [0x80069064, "mp_char_prev_select_player2"] - - [0x80069068, "mp_char_prev_select_player3"] - - [0x8006906C, "mp_char_prev_select_player4"] - - [0x80069080, "has_selected_char_player1"] - - [0x80069084, "has_selected_char_player2"] - - [0x80069088, "has_selected_char_player3"] - - [0x8006908C, "has_selected_char_player4"] - - [0x80069090, "size_mp_select_image_player1"] - - [0x80069094, "size_mp_select_image_player2"] - - [0x80069098, "size_mp_select_image_player3"] - - [0x8006909C, "size_mp_select_image_player4"] - - [0x800690BC, "current_mp_stage_highlighted"] - - [0x800690C4, "mission_difficulty_highlighted"] - - [0x800690D4, "highlight_enemy_reaction"] - - [0x800690D8, "highlight_enemy_health"] - - [0x800690DC, "highlight_enemy_accuracy"] - - [0x800690E0, "highlight_enemy_damage"] - - [0x800690E8, "handicap_player1"] - - [0x800690EC, "handicap_player2"] - - [0x800690F0, "handicap_player3"] - - [0x800690F4, "handicap_player4"] - - [0x800690F8, "controlstyle_player1"] - - [0x800690FC, "controlstyle_player2"] - - [0x80069100, "controlstyle_player3"] - - [0x80069104, "controlstyle_player4"] - - [0x80069108, "highlight_players"] - - [0x8006910C, "highlight_scenario"] - - [0x80069110, "highlight_gameselect"] - - [0x80069114, "highlight_gamelength"] - - [0x80069118, "highlight_character"] - - [0x8006911C, "highlight_weaponselect"] - - [0x80069120, "highlight_health"] - - [0x80069124, "highlight_controlstyle"] - - [0x80069128, "highlight_aimadjustment"] - - [0x80069260, "save1"] - - [0x800692C0, "save2"] - - [0x800694B0, "sfx_related"] - - [0x80069570, "ptr_list_object_lookup_indices"] - - [0x80069574, "num_obj_position_data_entries"] - - [0x80069578, "pos.data_entry"] - - [0x80070F58, "ptr_room_lookup_buffer_maybe"] - - [0x800717B8, "gas_damage_flag"] - - [0x800717BC, "gas_cutoff_flag"] - - [0x800717C0, "autogenerated_weapons"] - - [0x80075640, "ptr_setup.path.tbl"] - - [0x80075644, "ptr_setup.path.link"] - - [0x80075648, "ptr_setup.intro"] - - [0x8007564C, "ptr_setup.objects"] - - [0x80075650, "ptr_setup.path.sets"] - - [0x80075654, "ptr_setup.actions"] - - [0x80075658, "ptr_0xxxpresets"] - - [0x8007565C, "ptr_2xxxpresets"] - - [0x80075670, "objective_ptrs"] - - [0x800756C0, "ptr_last_tag_entry_type16"] - - [0x800756C4, "ptr_last_briefing_setup_entry_type23"] - - [0x800756C8, "ptr_last_enter_room_subobject_entry_type20"] - - [0x800756CC, "ptr_last_deposit_in_room_subobject_entry_type21"] - - [0x800756D0, "ptr_last_photo_obj_in_room_subobject_entry_type1E"] - - [0x80079270, "ptr_allocation_0"] - - [0x80079274, "ptr_allocation_1"] - - [0x80079320, "starting_right_weapon"] - - [0x80079324, "starting_left_weapon"] - - [0x80079364, "watch_time_0"] - - [0x80079820, "ptr_BONDdata_p1"] - - [0x80079824, "ptr_BONDdata_p2"] - - [0x80079828, "ptr_BONDdata_p3"] - - [0x8007982C, "ptr_BONDdata_p4"] - - [0x80079830, "player1_player_data"] - - [0x800799F0, "ptr_BONDdata"] - - [0x800799F4, "cur_player_stat_ptr"] - - [0x800799F8, "player_num"] - - [0x800799FC, "random_byte"] - - [0x80079A80, "ptr_smoke_buf"] - - [0x80079A84, "ptr_explosion_buf"] - - [0x80079A88, "max_casings"] - - [0x80079A8C, "ptr_ejected_casing_buf"] - - [0x80079A90, "ptr_scorch_buf"] - - [0x80079A94, "ptr_bullet_impact_buf"] - - [0x8007AA60, "clippingfile"] - - [0x8007B8D0, "ptr_bg_data"] - - [0x8007B8D4, "ptr_clipping"] - - [0x8007B8E0, "list_visible_rooms_in_cur_global.vis_packet"] - - [0x8007B978, "num_visible_rooms_in_cur_global.vis_packet"] - - [0x8007F8C0, "ptr_bgdata.portals"] - - [0x8007F8C4, "ptr_bgdata.offsets"] - - [0x8007F8CC, "ptr_bgdata.room_fileposition_list"] - - [0x80080F58, "table_for_portals"] - - [0x80081F00, "sky_enabled"] - - [0x80081F04, "ptr_nearfog_enviroment_values"] - - [0x80081F08, "buffer_far_pervasiveness"] - - [0x80081F0C, "far_fog"] - - [0x80081F20, "buffer_far_ambiant"] - - [0x80081F24, "bg_dif.light"] - - [0x80081F28, "env.table_hit"] - - [0x80081F2C, "env.table_match_start"] - - [0x80081F30, "env.table_match_end"] - - [0x80081FA0, "light_fixture_table"] - - [0x80082450, "cur_entry_lightfixture_table"] - - [0x80082452, "index_of_cur_entry_lightfixture_table"] - - [0x800881F0, "ptr_resource_data"] - - [0x80088204, "ptr_res.data.next"] - - [0x8008BB70, "ptr_mgfx0_alloc_start"] - - [0x8008BB74, "ptr_mgfx1_alloc_start"] - - [0x8008BB78, "ptr_mgfx_end"] - - [0x8008BB80, "ptr_mvtx0_alloc_start"] - - [0x8008BB84, "ptr_mvtx1_alloc_start"] - - [0x8008BB88, "ptr_mvtx_end"] - - [0x8008BB8C, "ptr_mvtx_cur_pos"] - - [0x8008BB90, "bank_in_mgfx_alloc_table"] - - [0x8008BBA0, "ptr_jfont.DL"] - - [0x8008BBB0, "ramrom_data_target"] - - [0x8008BF30, "record_slot_num"] - - [0x8008BF34, "address_demo_loaded"] - - [0x8008BF80, "ptr_text"] - - [0x8008BF84, "table_text_pointers"] - - [0x8008C034, "ptr_j_char_data_buf"] - - [0x8008C038, "ptr_j_char_registry"] - - [0x8008C040, "stop_play"] - - [0x8008C044, "is_gameover"] - - [0x8008C050, "time_trigger_alt_gameover_msg"] - - [0x8008C058, "is_paused"] - - [0x8008C05C, "who_paused"] - - [0x8008C060, "ptr_texture_alloc_start"] - - [0x8008C064, "ptr_texture_alloc_end"] - - [0x8008C9F0, "globalbank_rdram_offset"] - - [0x8008C9F4, "ptr_explosionDL"] - - [0x8008C9F8, "image"] - - [0x8008DC50, "viewport.img.width"] - - [0x8008DC54, "viewport.img.height"] - - [0x8008DC60, "ptr_sectrum_monitor_data_temp_buf"] - - [0x8008DC64, "ptr_sectrum_game_data_temp_buf"] - - [0x8008DC68, "ptr_spectrum.roms"] - - [0x8008DC6C, "ptr_300alloc"] - - [0x8008DC70, "ptr_6000alloc"] - - [0x8008DC74, "ptr_pc_keyboard_table_alloc"] - - [0x8008DC78, "spectrum.header16_15"] - - [0x8008DC88, "spec.I"] - - [0x8008DC8A, "spec.IFF2_lower"] - - [0x8008DC8B, "spec.IFF2_upper"] - - [0x8008DC8C, "spec.IM"] - - [0x8008DC8E, "spec.IX"] - - [0x8008DC90, "spec.IY"] - - [0x8008DC92, "spec.SP"] - - [0x8008DC94, "spec.PC"] - - [0x8008DCA0, "idlethread"] - - [0x8008DE50, "rmonthread"] - - [0x8008E000, "shedthread"] - - [0x8008E1B0, "mainthread"] - - [0x80300000, "rarezip_buffer"] - - [0x803AB400, "sp_boot"] - - [0x803AB410, "sp_rmon"] - - [0x803AB710, "sp_idle"] - - [0x803AB750, "sp_shed"] - - [0x803AB950, "sp_main"] - - [0x803B3950, "sp_audi"] - - [0x803B4950, "sp_debug"] - diff --git a/notes/ghidra/baserom.e.z64.c b/notes/ghidra/baserom.e.z64.c deleted file mode 100644 index 512a7e3..0000000 --- a/notes/ghidra/baserom.e.z64.c +++ /dev/null @@ -1,134506 +0,0 @@ -typedef unsigned char undefined; - -typedef unsigned char undefined1; -typedef unsigned short undefined2; -typedef unsigned int undefined4; -typedef unsigned long long undefined8; - - - -undefined * get_cdata_vaddr(void) - -{ - return &DAT_8001ec50; -} - - - -undefined4 get_cdata_rom_start(void) - -{ - return 0x1f850; -} - - - -undefined4 get_cdata_rom_end(void) - -{ - return 0x31450; -} - - - -undefined4 get_RareZipASMRomstart(void) - -{ - return 0x31450; -} - - - -undefined4 get_RareZipASMRomend(void) - -{ - return 0x329f0; -} - - - -void jump_decompressfile(void) - -{ - decompress_entry(); - return; -} - - - -void init(void) - -{ - code cVar1; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - code *pcVar7; - ulonglong uVar2; - undefined4 *puVar8; - undefined4 uVar9; - undefined4 *puVar10; - undefined4 *puVar11; - - iVar3 = get_cdata_vaddr(); - iVar4 = get_cdata_rom_start(); - iVar5 = get_cdata_rom_end(); - iVar5 -= iVar4; - iVar4 = get_RareZipASMRomstart(); - iVar6 = get_RareZipASMRomend(); - iVar4 = iVar5 + (iVar6 - iVar4) + -1; - if (-1 < iVar4) { - pcVar7 = (code *)(iVar3 + iVar4); - do { - cVar1 = *pcVar7; - iVar6 = iVar4 - iVar5; - iVar4 += -1; - pcVar7 = pcVar7 + -1; - decompress_entry[iVar6] = cVar1; - } while (-1 < iVar4); - } - jump_decompressfile(decompress_entry + -iVar5,iVar3,0xffffffff80300000); - if (false) { - osPiRawStartDma(0,0x101000,0x70100400,0xfffffffffff30450); - uVar2 = osPiGetStatus(); - while ((uVar2 & 1) != 0) { - uVar2 = osPiGetStatus(); - } - } - osInitialize(); - set_hardwire_TLB_to_2(); - puVar8 = &DAT_70001fd0; - puVar10 = (undefined4 *)&DAT_80000000; - do { - puVar11 = puVar10 + 4; - *puVar10 = *puVar8; - puVar10[1] = puVar8[1]; - puVar10[2] = puVar8[2]; - puVar10[3] = puVar8[3]; - puVar8 = puVar8 + 4; - puVar10 = puVar11; - } while (puVar11 != (undefined4 *)&DAT_80000080); - osWritebackDCacheAll(); - osInvalICache(0xffffffff80000000,0x4000); - iVar3 = 2; - do { - osUnmapTLB(iVar3); - iVar3 += 1; - } while (iVar3 != 0x20); - uVar2 = __osGetFpcCsr(); - __osSetFpcCsr(uVar2 | 0xe80); - uVar9 = set_stack_entry(&DAT_803a2000,0x8000); - osCreateThread(0xffffffff80051a00,3,main_entry,0,uVar9,10); - osStartThread(0xffffffff80051a00); - return; -} - - - -int set_stack_entry(int iParm1,int iParm2) - -{ - return iParm1 + iParm2 + -8; -} - - - -void set_hw_address_and_unknown(void) - -{ - unknown_init_val = 1; - cart_hw_address = 0x10000000; - return; -} - - - -void thread1_idle(void) - -{ - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -void start_idle_thread(void) - -{ - undefined4 uVar1; - - uVar1 = set_stack_entry(&DAT_803a1dc0,0x40); - osCreateThread(0xffffffff80051850,1,thread1_idle,0,uVar1,0); - osStartThread(0xffffffff80051850); - return; -} - - - -void start_rmon_thread(void) - -{ - undefined4 uVar1; - - uVar1 = set_stack_entry(&DAT_803a1ac0,0x300); - osCreateThread(&DAT_800516a0,0,&LAB_7000bc00,0,uVar1,0xfa); - osStartThread(&DAT_800516a0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void init_scheduler(void) - -{ - osCreateMesgQueue(0xffffffff80051d60,0xffffffff80051d78,0x20); - if (_osTVType == 2) { - osCreateScheduler(0xffffffff80051e00,0xffffffff80051bb0,0x1e,1); - } - else { - osCreateScheduler(0xffffffff80051e00,0xffffffff80051bb0,2,1); - } - osScAddClient(0xffffffff80051e00,0xffffffff80051ed8,0xffffffff80051d60,0); - _sched_cmdQ = osScGetCmdQ(0xffffffff80051e00); - return; -} - - - -void main_entry(void) - -{ - longlong lVar1; - - start_idle_thread(); - FUN_7000a190(); - start_pi_manager(); - start_rmon_thread(); - lVar1 = check_boot_switches(); - if (lVar1 != 0) { - osStopThread(0); - } - osSetThreadPri(0,10); - init_scheduler(); - setup_gamevalues_and_launchmainloop(); - return; -} - - - -void setuplastentryofdebughandler(void) - -{ - undefined **ppuVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined **ppuVar4; - undefined4 auStack56 [2]; - int iStack48; - - ppuVar1 = &debug_handler_table; - puVar2 = auStack56; - do { - puVar3 = puVar2; - ppuVar4 = ppuVar1; - *(undefined **)puVar3 = *ppuVar4; - *(undefined **)(puVar3 + 1) = ppuVar4[1]; - *(undefined **)(puVar3 + 2) = ppuVar4[2]; - ppuVar1 = ppuVar4 + 3; - puVar2 = puVar3 + 3; - } while (ppuVar4 + 3 != (undefined **)0x80020f3c); - puVar3[3] = uRam80020f3c; - *(undefined **)(puVar3 + 4) = ppuVar4[4]; - puVar2 = auStack56; - while (iStack48 != 0) { - iStack48 = puVar2[4]; - puVar2 = puVar2 + 2; - } - return; -} - - - -void activate_stderr(undefined4 uParm1) - -{ - stderr_active = uParm1; - return; -} - - - -void enable_stderr(undefined4 uParm1) - -{ - stderr_enabled = uParm1; - return; -} - - - -void permit_stderr(undefined4 uParm1) - -{ - stderr_permitted = uParm1; - return; -} - - - -void setUserCompareValue(undefined4 uParm1) - -{ - userCompareValue = uParm1; - return; -} - - - -// WARNING: Instruction at (ram,0x700009c0) overlaps instruction at (ram,0x700009bc) -// - -void CheckDisplayErrorBuffer(void) - -{ - if (((stderr_permitted != 0) && (stderr_active != 0)) || (stderr_enabled != 0)) { - write_stderr_to_buffer(); - currentcount = osGetCount(); - } - return; -} - - - -void CheckDisplayErrorBufferEvery16Frames(ulonglong uParm1) - -{ - int iVar1; - - if ((((uParm1 & 0xf) == 0) && - (((stderr_permitted != 0 && (stderr_active != 0)) || (stderr_enabled != 0)))) && - (iVar1 = osGetCount(), userCompareValue < (uint)(iVar1 - currentcount))) { - write_stderr_to_buffer(&cfb_16_a); - write_stderr_to_buffer(&cfb_16_b); - } - return; -} - - - -void osCreateLog(void) - -{ - currentcount = osGetCount(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osCreateScheduler(undefined2 *puParm1,undefined4 uParm2,uint uParm3,undefined4 uParm4) - -{ - undefined4 uVar1; - int iVar2; - undefined2 *puVar3; - - *(undefined4 *)(puParm1 + 100) = 0; - *(undefined4 *)(puParm1 + 0x66) = 0; - *(undefined4 *)(puParm1 + 0x5a) = 0; - *(undefined4 *)(puParm1 + 0x68) = 0; - *(undefined4 *)(puParm1 + 0x5c) = 0; - *(undefined4 *)(puParm1 + 0x5e) = 0; - *(undefined4 *)(puParm1 + 0x60) = 0; - *(undefined4 *)(puParm1 + 0x62) = 0; - *puParm1 = 1; - puParm1[0x10] = 5; - puVar3 = puParm1 + 0x20; - *(undefined4 *)(puParm1 + 0x58) = uParm2; - osCreateMesgQueue(puVar3,puParm1 + 0x2c,8); - osCreateMesgQueue(puParm1 + 0x3c,puParm1 + 0x48,8); - osCreateViManager(0xfe); - iVar2 = (uParm3 & 0xff) * 0x50; - _DAT_80053e4c = iVar2 + -0x7ffddbd0; - _DAT_80053e50 = *(undefined4 *)(&DAT_8002244c + iVar2); - _DAT_80053e54 = *(undefined4 *)(&DAT_80022460 + iVar2); - _DAT_80053e58 = *(undefined4 *)(&DAT_80022474 + iVar2); - osSetEventMesg(4,puVar3,0x29b); - osSetEventMesg(9,puVar3,0x29c); - osSetEventMesg(0xe,puVar3,0x29d); - osViSetEvent(puVar3,0x29a,uParm4); - osCreateLog(); - uVar1 = set_stack_entry(&DAT_803a1e00,0x200); - osCreateThread(*(undefined4 *)(puParm1 + 0x58),2,__scMain,puParm1,uVar1,0x1e); - osStartThread(*(undefined4 *)(puParm1 + 0x58)); - return; -} - - - -void osScAddClient(int iParm1,undefined4 *puParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined8 uVar1; - - uVar1 = osSetIntMask(1); - puParm2[1] = uParm3; - puParm2[2] = uParm4; - *puParm2 = *(undefined4 *)(iParm1 + 0xb4); - *(undefined4 **)(iParm1 + 0xb4) = puParm2; - osSetIntMask(uVar1); - return; -} - - - -void osScRemoveClient(int iParm1,undefined4 *puParm2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined8 uVar4; - - puVar1 = *(undefined4 **)(iParm1 + 0xb4); - uVar4 = osSetIntMask(1); - puVar3 = NULL; - do { - puVar2 = puVar1; - if (puVar2 == NULL) { -LAB_70000ce0: - osSetIntMask(uVar4); - return; - } - if (puVar2 == puParm2) { - if (puVar3 == NULL) { - *(undefined4 *)(iParm1 + 0xb4) = *puParm2; - } - else { - *puVar3 = *puParm2; - } - goto LAB_70000ce0; - } - puVar1 = (undefined4 *)*puVar2; - puVar3 = puVar2; - } while( true ); -} - - - -int osScGetCmdQ(int iParm1) - -{ - return iParm1 + 0x78; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __scMain(int iParm1) - -{ - int iVar1; - bool bVar2; - int *piVar3; - int iStack4; - - iStack4 = 0; - bVar2 = false; - do { - osRecvMesg(iParm1 + 0x40,&iStack4,1); - if (iStack4 == 0x29a) { - __scHandleRetrace(iParm1); - } - else { - if (iStack4 == 0x29b) { - __scHandleRSP(iParm1); - } - else { - if (iStack4 == 0x29c) { - __scHandleRDP(iParm1); - } - else { - if (iStack4 == 0x29d) { - reset_cont_rumble_detect(); - piVar3 = *(int **)(iParm1 + 0xb4); - if (piVar3 == NULL) { - bVar2 = true; - } - else { - iVar1 = piVar3[1]; - while( true ) { - osSendMesg(iVar1,iParm1 + 0x20,0); - piVar3 = (int *)*piVar3; - if (piVar3 == NULL) break; - iVar1 = piVar3[1]; - } - bVar2 = true; - } - } - } - } - } - } while (!bVar2); - if (_osTVType == 2) { - osViSetMode(&DAT_80022d90); - } - else { - osViSetMode(&DAT_800224d0); - } - osViSetXScale(0x3f800000); - osViSetYScale(0x3f800000); - osViRepeatLine(0); - osViBlack(1); - do { - do { - osRecvMesg(iParm1 + 0x40,&iStack4,1); - } while (iStack4 != 0x29a); - controllerSchedulerRelated(); - } while( true ); -} - - - -void __scHandleRetrace(int iParm1) - -{ - longlong lVar1; - ulonglong uVar2; - int iVar3; - ulonglong uVar4; - undefined4 *puVar5; - undefined4 uStack20; - undefined4 auStack16 [3]; - undefined4 uStack4; - - uStack4 = 0; - auStack16[0] = 0; - uStack20 = 0; - video_related_1(); - *(int *)(iParm1 + 0xd0) = *(int *)(iParm1 + 0xd0) + 1; - video_related_7(); - controllerSchedulerRelated(); - music_related_15(); - lVar1 = osRecvMesg(iParm1 + 0x78,&uStack4,0); - while (lVar1 != -1) { - __scAppendList(iParm1,uStack4); - lVar1 = osRecvMesg(iParm1 + 0x78,&uStack4,0); - } - if (*(int *)(iParm1 + 0xd4) == 0) { - iVar3 = *(int *)(iParm1 + 200); - } - else { - if (*(int *)(iParm1 + 200) != 0) { - __scYield(iParm1,auStack16); - puVar5 = *(undefined4 **)(iParm1 + 0xb4); - goto LAB_70000fb0; - } - iVar3 = *(int *)(iParm1 + 200); - } - uVar4 = (longlong)(int)((uint)(iVar3 == 0) << 1) | (ulonglong)(*(int *)(iParm1 + 0xcc) == 0); - uVar2 = __scSchedule(iParm1,auStack16,&uStack20,uVar4); - if (uVar2 != uVar4) { - __scExec(iParm1,auStack16[0],uStack20); - } - puVar5 = *(undefined4 **)(iParm1 + 0xb4); -LAB_70000fb0: - if (puVar5 != NULL) { - iVar3 = puVar5[2]; - while( true ) { - if ((iVar3 == 0) || ((*(uint *)(iParm1 + 0xd0) & 1) == 0)) { - osSendMesg(puVar5[1],iParm1,0); - puVar5 = (undefined4 *)*puVar5; - } - else { - puVar5 = (undefined4 *)*puVar5; - } - if (puVar5 == NULL) break; - iVar3 = puVar5[2]; - } - } - CheckDisplayErrorBufferEvery16Frames(*(undefined4 *)(iParm1 + 0xd0)); - return; -} - - - -void __scHandleRSP(int iParm1) - -{ - int iVar1; - longlong lVar2; - uint uVar3; - int iVar4; - undefined4 uStack12; - undefined4 uStack8; - undefined4 *puStack4; - - uStack8 = 0; - uStack12 = 0; - puStack4 = *(undefined4 **)(iParm1 + 200); - *(undefined4 *)(iParm1 + 200) = 0; - video_related_3(0x10001); - if ((puStack4[1] & 0x10) == 0) { - uVar3 = puStack4[1]; -LAB_700010ac: - puStack4[1] = uVar3 & 0xfffffffd; - __scTaskComplete(iParm1); - } - else { - lVar2 = osSpTaskYielded(puStack4 + 4); - if (lVar2 == 0) { - uVar3 = puStack4[1]; - goto LAB_700010ac; - } - puStack4[1] = puStack4[1] | 0x20; - if ((puStack4[2] & 7) == 3) { - *puStack4 = *(undefined4 *)(iParm1 + 0xbc); - *(undefined4 **)(iParm1 + 0xbc) = puStack4; - if (*(int *)(iParm1 + 0xc4) != 0) { - iVar4 = *(int *)(iParm1 + 200); - goto LAB_700010c4; - } - *(undefined4 **)(iParm1 + 0xc4) = puStack4; - } - } - iVar4 = *(int *)(iParm1 + 200); -LAB_700010c4: - iVar1 = *(int *)(iParm1 + 0xcc); - uVar3 = __scSchedule(iParm1,&uStack8,&uStack12); - if (uVar3 != ((uint)(iVar4 == 0) << 1 | (uint)(iVar1 == 0))) { - __scExec(iParm1,uStack8,uStack12); - } - return; -} - - - -undefined4 get_counters(void) - -{ - return 0x80051ef0; -} - - - -void __scHandleRDP(int iParm1) - -{ - int iVar1; - int iVar2; - uint uVar3; - undefined4 uStack12; - undefined4 auStack8 [2]; - - auStack8[0] = 0; - uStack12 = 0; - if (*(int *)(iParm1 + 0xcc) != 0) { - video_related_3(0x10002); - osDpGetCounters(0xffffffff80051ef0); - iVar1 = *(int *)(iParm1 + 0xcc); - *(undefined4 *)(iParm1 + 0xcc) = 0; - *(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) & 0xfffffffe; - __scTaskComplete(iParm1); - iVar1 = *(int *)(iParm1 + 200); - iVar2 = *(int *)(iParm1 + 0xcc); - uVar3 = __scSchedule(iParm1,auStack8,&uStack12); - if (uVar3 != ((uint)(iVar1 == 0) << 1 | (uint)(iVar2 == 0))) { - __scExec(iParm1,auStack8[0],uStack12); - } - } - return; -} - - - -undefined4 __scTaskReady(longlong lParm1) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - - uVar3 = (undefined4)lParm1; - if (lParm1 == 0) { - uVar3 = 0; - } - else { - iVar1 = osViGetCurrentFramebuffer(); - iVar2 = osViGetNextFramebuffer(); - if (iVar2 != iVar1) { - uVar3 = 0; - } - } - return uVar3; -} - - - -undefined8 __scTaskComplete(undefined8 uParm1,int iParm2) - -{ - undefined4 *puVar1; - undefined8 uVar2; - int iVar3; - undefined4 *puVar4; - uint uVar5; - undefined4 *puVar6; - undefined4 *puVar7; - - uVar2 = 0; - if ((*(uint *)(iParm2 + 4) & 3) == 0) { - osSendMesg(*(undefined4 *)(iParm2 + 0x50),*(undefined4 *)(iParm2 + 0x54),1); - if (((*(int *)(iParm2 + 0x10) == 1) && ((*(uint *)(iParm2 + 8) & 0x40) != 0)) && - ((*(uint *)(iParm2 + 8) & 0x20) != 0)) { - if (firsttime != 0) { - osViBlack(0); - firsttime = 0; - } - iVar3 = DAT_80020f70 * 4; - if (*(int *)(&DAT_80020f84 + iVar3) != 0) { - uVar2 = osSetIntMask(0x80401); - iVar3 = DAT_80020f70 * 0x50; - puVar7 = (undefined4 *)(iVar3 + -0x7ffae100); - puVar1 = *(undefined4 **)(DAT_80020f70 * 4 + -0x7ffae060); - do { - puVar4 = puVar1; - puVar6 = puVar7; - puVar7 = puVar6 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar1 = puVar4 + 3; - } while (puVar7 != (undefined4 *)(iVar3 + -0x7ffae0b8)); - puVar4[3] = *puVar7; - puVar4[4] = puVar6[4]; - osSetIntMask(uVar2); - iVar3 = DAT_80020f70 << 2; - } - osViSetXScale(*(undefined4 *)(&DAT_80020f74 + iVar3)); - osViSetYScale(*(undefined4 *)(&DAT_80020f7c + DAT_80020f70 * 4)); - uVar5 = DAT_80020f70 + 1; - DAT_80020f70 = uVar5 & 1; - if (((int)uVar5 < 0) && (DAT_80020f70 != 0)) { - DAT_80020f70 -= 2; - } - CheckDisplayErrorBuffer(*(undefined4 *)(iParm2 + 0xc)); - osViSwapBuffer(*(undefined4 *)(iParm2 + 0xc)); - } - uVar2 = 1; - } - return uVar2; -} - - - -void __scAppendList(int iParm1,undefined4 *puParm2) - -{ - if (puParm2[4] == 2) { - if (*(undefined4 **)(iParm1 + 0xc0) == NULL) { - *(undefined4 **)(iParm1 + 0xb8) = puParm2; - } - else { - *(undefined4 **)*(undefined4 **)(iParm1 + 0xc0) = puParm2; - } - *(undefined4 **)(iParm1 + 0xc0) = puParm2; - *(undefined4 *)(iParm1 + 0xd4) = 1; - } - else { - if (*(undefined4 **)(iParm1 + 0xc4) == NULL) { - *(undefined4 **)(iParm1 + 0xbc) = puParm2; - } - else { - *(undefined4 **)*(undefined4 **)(iParm1 + 0xc4) = puParm2; - } - *(undefined4 **)(iParm1 + 0xc4) = puParm2; - } - *puParm2 = 0; - puParm2[1] = puParm2[2] & 3; - return; -} - - - -void __scExec(int iParm1,int iParm2,int iParm3) - -{ - uint uVar1; - int iVar2; - - if (iParm2 != 0) { - iVar2 = *(int *)(iParm2 + 0x10); - if (iVar2 == 2) { - osWritebackDCacheAll(); - iVar2 = *(int *)(iParm2 + 0x10); - } - if ((iVar2 != 2) && ((*(uint *)(iParm2 + 4) & 0x10) == 0)) { - osDpSetStatus(0x3c0); - iVar2 = *(int *)(iParm2 + 0x10); - } - if (iVar2 == 2) { - video_related_3(0x30001); - uVar1 = *(uint *)(iParm2 + 4); - } - else { - video_related_3(0x40001); - video_related_3(0x20002); - uVar1 = *(uint *)(iParm2 + 4); - } - *(uint *)(iParm2 + 4) = uVar1 & 0xffffffcf; - osSpTaskLoad(); - osSpTaskStartGo(iParm2 + 0x10); - *(int *)(iParm1 + 200) = iParm2; - if (iParm2 == iParm3) { - *(int *)(iParm1 + 0xcc) = iParm3; - } - } - if ((iParm3 != 0) && (iParm3 != iParm2)) { - osDpSetNextBuffer(*(undefined4 *)(iParm3 + 0x38)); - dp_busy = 1; - dpCount = 0; - *(int *)(iParm1 + 0xcc) = iParm3; - } - return; -} - - - -void __scYield(int iParm1) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + 200); - if (*(int *)(iVar1 + 0x10) == 1) { - *(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) | 0x10; - osSpTaskYield(); - } - return; -} - - - -uint __scSchedule(int iParm1,int *piParm2,int *piParm3,uint uParm4) - -{ - int iVar1; - int *piVar2; - bool bVar3; - uint unaff_100000f0; - uint unaff_1000011b; - longlong lVar4; - uint uVar5; - uint uVar6; - - do { - iVar1 = *(int *)(iParm1 + 0xbc); - if ((*(int *)(iParm1 + 0xd4) == 0) || ((uParm4 & 2) == 0)) { - lVar4 = __scTaskReady(iVar1); - uVar6 = unaff_1000011b; - uVar6 = unaff_1000011b; - uVar5 = unaff_1000011b; - if ((lVar4 != 0) && - (uVar6 = unaff_1000011b, uVar6 = unaff_1000011b, uVar5 = unaff_1000011b, true)) { - uVar6 = unaff_1000011b; - uVar6 = unaff_1000011b; - uVar5 = unaff_1000011b; - switch(*(uint *)(iVar1 + 8) & 7) { - case 2: - case 6: - case 7: - if ((*(uint *)(iVar1 + 4) & 2) == 0) { - uVar6 = unaff_1000011b; - uVar6 = unaff_1000011b; - uVar5 = unaff_1000011b; - if (((*(uint *)(iVar1 + 4) & 1) != 0) && - (uVar6 = unaff_1000011b, uVar6 = unaff_1000011b, uVar5 = unaff_1000011b, - (unaff_100000f0 & 1) != 0)) { - *piParm3 = iVar1; - iVar1 = **(int **)(iParm1 + 0xbc); - *(int *)(iParm1 + 0xbc) = iVar1; - uVar6 = unaff_1000011b & 0xfffffffe; - uVar6 = unaff_1000011b & 0xfffffffe; - uVar5 = unaff_1000011b & 0xfffffffe; - if (iVar1 == 0) { - *(undefined4 *)(iParm1 + 0xc4) = 0; - uVar6 = unaff_1000011b & 0xfffffffe; - uVar6 = unaff_1000011b & 0xfffffffe; - uVar5 = unaff_1000011b & 0xfffffffe; - } - } - } - else { - uVar6 = unaff_1000011b; - uVar6 = unaff_1000011b; - uVar5 = unaff_1000011b; - if ((unaff_100000f0 & 2) != 0) { - *piParm2 = iVar1; - uVar6 = unaff_1000011b & 0xfffffffd; - uVar6 = unaff_1000011b & 0xfffffffd; - uVar5 = unaff_1000011b & 0xfffffffd; - } - } - break; - case 3: - if ((*(uint *)(iVar1 + 4) & 0x20) == 0) { - uVar6 = unaff_1000011b; - uVar6 = unaff_1000011b; - uVar5 = unaff_1000011b; - if (unaff_1000011b == 3) { - *piParm3 = iVar1; - *piParm2 = iVar1; - uVar5 = 0; - uVar6 = 0; - uVar6 = 0; - iVar1 = **(int **)(iParm1 + 0xbc); - *(int *)(iParm1 + 0xbc) = iVar1; - if (iVar1 == 0) { - *(undefined4 *)(iParm1 + 0xc4) = 0; - } - } - } - else { - uVar6 = unaff_1000011b; - uVar6 = unaff_1000011b; - uVar5 = unaff_1000011b; - if ((unaff_100000f0 & 2) != 0) { - *piParm2 = iVar1; - uVar5 = unaff_1000011b & 0xfffffffd; - uVar6 = unaff_1000011b & 0xfffffffd; - uVar6 = unaff_1000011b & 0xfffffffd; - if ((*(uint *)(iVar1 + 4) & 1) == 0) { - piVar2 = *(int **)(iParm1 + 0xbc); - } - else { - *piParm3 = iVar1; - uVar5 = unaff_1000011b & 0xfffffffc; - uVar6 = 0; - uVar6 = unaff_1000011b & 0xfffffffc; - piVar2 = *(int **)(iParm1 + 0xbc); - } - iVar1 = *piVar2; - *(int *)(iParm1 + 0xbc) = iVar1; - if (iVar1 == 0) { - *(undefined4 *)(iParm1 + 0xc4) = 0; - } - } - } - } - } - } - else { - if (iVar1 == 0) { - *piParm2 = *(int *)(iParm1 + 0xb8); - } - else { - uVar5 = unaff_1000011b & 0xfffffffd; - if ((*(uint *)(iVar1 + 8) & 0x10) != 0) { - *piParm2 = iVar1; - uVar6 = uParm4 & 0xfffffffd; - unaff_1000011b = uParm4; - uVar6 = unaff_100000f0 & 0xfffffffd; - goto switchD_70001674_caseD_1; - } - *piParm2 = *(int *)(iParm1 + 0xb8); - } - *(undefined4 *)(iParm1 + 0xd4) = 0; - uVar5 = unaff_1000011b & 0xfffffffd; - iVar1 = **(int **)(iParm1 + 0xb8); - *(int *)(iParm1 + 0xb8) = iVar1; - uVar6 = uParm4 & 0xfffffffd; - unaff_1000011b = uParm4; - uVar6 = unaff_100000f0 & 0xfffffffd; - if (iVar1 == 0) { - *(undefined4 *)(iParm1 + 0xc0) = 0; - uVar6 = uParm4 & 0xfffffffd; - unaff_1000011b = uParm4; - uVar6 = unaff_100000f0 & 0xfffffffd; - } - } -switchD_70001674_caseD_1: - bVar3 = uVar6 == unaff_1000011b; - uParm4 = uVar6; - unaff_100000f0 = uVar6; - unaff_1000011b = uVar5; - if (bVar3) { - return uVar6; - } - } while( true ); -} - - - -void osMapTLBRdb(void) - -{ - setCopReg(0,Index,0,0); - setCopReg(0,PageMask,0,0); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),0xffffffffc0000000,0); - setCopReg(0,EntryLo0,0x2000017,0); - setCopReg(0,EntryLo1,1,0); - TLB_write_indexed_entry(Index,CONCAT44(uRegister00002050,EntryHi),EntryLo0,EntryLo1,PageMask); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),(longlong)EntryHi,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osCreateViManager(int iParm1) - -{ - longlong lVar1; - undefined4 uVar2; - int iStack8; - - if (DAT_80020f90 == 0) { - __osTimerServicesInit(); - osCreateMesgQueue(0xffffffff80052260,0xffffffff80052278,5); - _DAT_80052290 = 0xd; - DAT_80052292 = 0; - _DAT_80052294 = 0; - _DAT_800522a8 = 0xe; - DAT_800522aa = 0; - _DAT_800522ac = 0; - osSetEventMesg(7,0xffffffff80052260); - osSetEventMesg(3,0xffffffff80052260,&DAT_800522a8); - iStack8 = -1; - lVar1 = osGetThreadPri(0); - if (lVar1 < (longlong)iParm1) { - osSetThreadPri(0,(longlong)iParm1); - iStack8 = (int)lVar1; - } - uVar2 = __osRestoreInt(); - DAT_80020f90 = 1; - DAT_80020f94 = 0x80051fb0; - DAT_80020f98 = 0x80052260; - DAT_80020f9c = 0x80052260; - DAT_80020fa0 = 0; - DAT_80020fa4 = 0; - DAT_80020fa8 = 0; - osCreateThread(0xffffffff80051fb0,0,viMgrMain,&DAT_80020f90,0x80052260,iParm1); - __osViInit(); - osStartThread(0xffffffff80051fb0); - __osRestoreInt(uVar2); - if (iStack8 != -1) { - osSetThreadPri(0,iStack8); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void viMgrMain(int iParm1) - -{ - int iVar1; - undefined4 uVar2; - uint uVar3; - short *apsStack12 [3]; - - apsStack12[0] = NULL; - iVar1 = __osGetActiveQueue(); - _DAT_800522c0 = *(short *)(iVar1 + 2); - if (_DAT_800522c0 == 0) { - _DAT_800522c0 = 1; - } - do { - uVar2 = *(undefined4 *)(iParm1 + 0xc); - while( true ) { - osRecvMesg(uVar2,apsStack12,1); - if (*apsStack12[0] == 0xd) break; - if (*apsStack12[0] == 0xe) { - FUN_7000d30c(); - uVar2 = *(undefined4 *)(iParm1 + 0xc); - } - else { - uVar2 = *(undefined4 *)(iParm1 + 0xc); - } - } - __osViSwapContext(); - _DAT_800522c0 += -1; - if (_DAT_800522c0 == 0) { - iVar1 = __osGetActiveQueue(); - if (*(int *)(iVar1 + 0x10) == 0) { - _DAT_800522c0 = *(short *)(iVar1 + 2); - } - else { - osSendMesg(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x14),0); - _DAT_800522c0 = *(short *)(iVar1 + 2); - } - } - iVar1 = _DAT_80057c88; - _DAT_80057c8c += 1; - _DAT_80057c88 = osGetCount(); - uVar3 = (_DAT_80057c88 - iVar1) + _DAT_80057c84; - _DAT_80057c80 = (uint)(uVar3 < _DAT_80057c84) + _DAT_80057c80; - _DAT_80057c84 = uVar3; - } while( true ); -} - - - -void osCreatePiManager(int iParm1,undefined8 uParm2,undefined8 uParm3,undefined8 uParm4) - -{ - longlong lVar1; - undefined4 uVar2; - int iStack8; - - if (DAT_80020fb0 == 0) { - osCreateMesgQueue(uParm2,uParm3,uParm4); - osCreateMesgQueue(0xffffffff80052580,0xffffffff80052598,1); - if (DAT_800231d0 == 0) { - FUN_7000db60(); - } - osSetEventMesg(8,0xffffffff80052580,0x22222222); - iStack8 = -1; - lVar1 = osGetThreadPri(0); - if (lVar1 < (longlong)iParm1) { - osSetThreadPri(0,(longlong)iParm1); - iStack8 = (int)lVar1; - } - uVar2 = __osRestoreInt(); - DAT_80020fb0 = 1; - DAT_80020fb4 = 0x800522d0; - DAT_80020fbc = 0x80052580; - DAT_80020fc0 = 0x80057ca8; - DAT_80020fc4 = osPiRawStartDma; - DAT_80020fc8 = osEPiRawStartDma; - DAT_80020fb8 = (int)uParm2; - osCreateThread(0xffffffff800522d0,0,&LAB_7000dd00,&DAT_80020fb0,0x80052580,iParm1); - osStartThread(0xffffffff800522d0); - __osRestoreInt(uVar2); - if (iStack8 != -1) { - osSetThreadPri(0,iStack8); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void return_ptr_TLBallocatedblock(void) - -{ - undefined4 *puVar1; - undefined *puVar2; - - puVar1 = (undefined4 *)&DAT_800525a0; - do { - puVar1 = puVar1 + 4; - *puVar1 = 1; - puVar1[1] = 0; - puVar1 = puVar1; - } while (puVar1 < &DAT_80052da0); - DAT_80052da1 = 0; - DAT_80052da0 = 1; - puVar2 = &DAT_80052da2; - do { - puVar2 = puVar2 + 8; - puVar2[3] = 0; - puVar2[2] = 1; - puVar2[5] = 0; - puVar2[4] = 1; - puVar2[7] = 0; - puVar2[6] = 1; - puVar2[1] = 0; - *puVar2 = 1; - puVar2 = puVar2; - } while (puVar2 != (undefined *)0x80052e5a); - _DAT_80052e5c = 0x7fc5a5a0; - _DAT_80052e60 = 0x802e6000; - return; -} - - - -void FUN_70001d10(void) - -{ - DAT_80020fd0 = 0; - return; -} - - - -int loc_70001908(longlong lParm1) - -{ - longlong lVar1; - int iVar2; - - iVar2 = 0; - do { - lVar1 = __osGetTLBHi(iVar2); - if (lVar1 == lParm1) { - return iVar2; - } - iVar2 += 1; - } while (iVar2 != 0x20); - return 0x80000000; -} - - - -void FUN_70001d98(void) - -{ - undefined8 uVar1; - - uVar1 = loc_70001908(); - if (-1 < (int)uVar1) { - osUnmapTLB(uVar1); - } - return; -} - - - -void FUN_70001dcc(int iParm1) - -{ - undefined8 uVar1; - - iParm1 *= 2; - if ((&DAT_80052da0)[iParm1] == '\0') { - uVar1 = loc_70001908((uint)(byte)(&DAT_80052da1)[iParm1] << 0xd | 0x7f000000); - if (-1 < (int)uVar1) { - osUnmapTLB(uVar1); - } - *(undefined4 *)(&DAT_800525a0 + (uint)(byte)(&DAT_80052da1)[iParm1] * 0x10) = 1; - (&DAT_80052da0)[iParm1] = '\x01'; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70001e50(undefined8 uParm1) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint uVar4; - int iVar5; - - DAT_80020fd0 += 1; - FUN_70001d98(); - uVar1 = return_tlb_random_value(); - uVar1 %= 0x5d; - DAT_80020fd4 = uVar1; - FUN_70001dcc(); - uVar4 = (uint)uParm1 & 0xffe000; - iVar3 = _DAT_80052e60 + uVar1 * 0x2000; - FUN_7000503c(iVar3,uVar4 + 0x329f0,0x2000); - osInvalICache(0x40000000,0x40000000); - osInvalICache(0xffffffff80000000,0x10000000); - uVar4 >>= 0xd; - iVar5 = uVar4 * 0x10; - *(uint *)(&DAT_800525a4 + iVar5) = uVar1; - uVar2 = osVirtualToPhysical(iVar3); - (&DAT_80052da0)[uVar1 * 2] = 0; - (&DAT_80052da1)[uVar1 * 2] = (char)uVar4; - *(uint *)(&DAT_800525a0 + iVar5) = (uVar2 >> 0xc) << 6 | 0x1f; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 __osGetActiveQueue(void) - -{ - return _DAT_80052e60; -} - - - -undefined4 return_tlb_random_value(void) - -{ - DAT_80020fe0 = ((DAT_80020fe0 << 0x3f) >> 0x1f | (DAT_80020fe0 << 0x1f) >> 0x20) ^ - (DAT_80020fe0 << 0x2c) >> 0x20; - DAT_80020fe0 = DAT_80020fe0 >> 0x14 & 0xfff ^ DAT_80020fe0; - return (int)DAT_80020fe0; -} - - - -void set_hardwire_TLB_to_2(void) - -{ - setCopReg(0,Wired,2,0); - setCopReg(0,Context,0,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __clearAudioDMA(int iParm1) - -{ - int iVar1; - undefined4 uVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined *puVar8; - int iVar9; - float fVar10; - uint uVar11; - float fVar12; - undefined4 auStack208 [52]; - - *(undefined4 *)(iParm1 + 0x10) = 0x70002a48; - iVar1 = osAiSetFrequency(0x5622); - *(int *)(iParm1 + 0x18) = iVar1; - fVar10 = (float)(iVar1 << 1) / 50.00000000; - if (false) { - fVar12 = ROUND(fVar10); - } - else { - fVar12 = FLOOR(fVar10); - } - uVar11 = (uint)fVar12; - if (true) { - if (-1 < (int)uVar11) goto LAB_7000211c; - } - else { - if (false) { - fVar12 = ROUND(fVar10 - 2147483648.00000000); - } - else { - fVar12 = FLOOR(fVar10 - 2147483648.00000000); - } - if (true) { - uVar11 = (int)fVar12 | 0x80000000; - goto LAB_7000211c; - } - } - uVar11 = 0xffffffff; -LAB_7000211c: - fVar12 = (float)uVar11; - if ((int)uVar11 < 0) { - fVar12 = fVar12 + 4294967296.00000000; - } - _DAT_80053684 = uVar11 + 1; - if (fVar10 <= fVar12) { - _DAT_80053684 = uVar11; - } - if ((_DAT_80053684 & 0xf) != 0) { - _DAT_80053684 = (_DAT_80053684 & 0xfffffff0) + 0x10; - } - _DAT_80053680 = _DAT_80053684 - 0x10; - _DAT_80053688 = _DAT_80053684 + 0x35; - if (*(char *)(iParm1 + 0x1c) == '\x06') { - puVar6 = &DAT_80021000; - puVar7 = auStack208; - do { - puVar3 = puVar7; - puVar4 = puVar6; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar6 = puVar4 + 3; - puVar7 = puVar3 + 3; - } while (puVar4 + 3 != (undefined4 *)0x800210c0); - puVar3[3] = uRam800210c0; - puVar3[4] = puVar4[4]; - *(undefined4 **)(iParm1 + 0x20) = auStack208; - FUN_7000e34c(0xffffffff80053110,iParm1); - } - else { - FUN_7000e34c(0xffffffff80053110,iParm1); - } - puVar5 = &DAT_80052ed8; - do { - uVar2 = alHeapDBAlloc(0,0,*(undefined4 *)(iParm1 + 0x14),1,0x60); - iVar1 = _DAT_80053688; - *(undefined4 *)(puVar5 + 8) = uVar2; - uVar2 = alHeapDBAlloc(0,0,*(undefined4 *)(iParm1 + 0x14),1,iVar1 << 2); - puVar6 = (undefined4 *)(puVar5 + 8); - puVar5 = puVar5 + 4; - *(undefined4 *)*puVar6 = uVar2; - } while (puVar5 < (undefined *)0x80052ee4); - osCreateMesgQueue(0xffffffff800530d8,0xffffffff800530f0,8); - osCreateMesgQueue(0xffffffff800530a0,0xffffffff800530b8,8); - osCreateMesgQueue(0xffffffff80053c90,0xffffffff80053ca8,0x40); - _DAT_80053184 = 0; - _DAT_80053180 = 0; - iVar1 = -0x7fface6c; - iVar9 = 0; - puVar5 = &DAT_80053180; - do { - puVar8 = puVar5; - locret_7000EADC(iVar1,puVar8); - uVar2 = alHeapDBAlloc(0,0,*(undefined4 *)(iParm1 + 0x14),1,0x200); - iVar9 += 1; - iVar1 += 0x14; - *(undefined4 *)(puVar8 + 0x10) = uVar2; - puVar5 = puVar8 + 0x14; - } while (iVar9 < 0x3f); - uVar2 = alHeapDBAlloc(0,0,*(undefined4 *)(iParm1 + 0x14),1,0x200); - *(undefined4 *)(puVar8 + 0x24) = uVar2; - puVar6 = (undefined4 *)&DAT_80052ed8; - do { - uVar2 = alHeapDBAlloc(0,0,*(undefined4 *)(iParm1 + 0x14),1,24000); - puVar7 = puVar6 + 1; - *puVar6 = uVar2; - puVar6 = puVar7; - } while (puVar7 != (undefined4 *)&DAT_80052ee0); - uVar2 = set_stack_entry(&DAT_803aa000,0x1000); - osCreateThread(0xffffffff80052ef0,4,FUN_700023ec,0,uVar2,0x14); - return; -} - - - -void FUN_700023c8(void) - -{ - osStartThread(0xffffffff80052ef0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700023ec(void) - -{ - short sVar1; - bool bVar2; - undefined4 in_v1_hi; - uint in_v1_lo; - uint uVar3; - int iVar4; - uint uStack48; - uint uStack44; - undefined4 uStack16; - short *apsStack12 [3]; - - iVar4 = 0; - bVar2 = false; - apsStack12[0] = NULL; - uStack16 = 0; - osScAddClient(0xffffffff80051e00,0xffffffff80053160,0xffffffff800530a0,1); - do { - osRecvMesg(0xffffffff800530a0,apsStack12,1); - sVar1 = *apsStack12[0]; - if (sVar1 == 1) { - _DAT_80052e98 = FUN_7000e3e0(); - _DAT_80052e9c = in_v1_lo; - video_related_3(0x30000); - FUN_700026b4(*(undefined4 *)(&DAT_80052ee0 + (DAT_80020ff4 % 3) * 4),uStack16); - iVar4 += 1; - video_related_3(0x60000); - _DAT_80052ea0 = FUN_7000e3e0(); - _DAT_80052e80 = - (_DAT_80052ea0 - _DAT_80052e98) - - (uint)(CONCAT44(in_v1_hi,in_v1_lo) < (ulonglong)(longlong)(int)_DAT_80052e9c); - _DAT_80052e84 = in_v1_lo - _DAT_80052e9c; - if (iVar4 % 0xf0 == 0) { - _DAT_80052ea4 = in_v1_lo; - _DAT_80052e88 = FUN_7000e4d8(_DAT_80052e90,_DAT_80052e94,0,0xf0); - uStack48 = (_DAT_80052ea0 - _DAT_80052e98) - (uint)(_DAT_80052ea4 < _DAT_80052e9c); - uStack44 = _DAT_80052ea4 - _DAT_80052e9c; - _DAT_80052e7c = 0; - _DAT_80052e78 = 0; - _DAT_80052e94 = 0; - _DAT_80052e90 = 0; - _DAT_80052e8c = in_v1_lo; - } - else { - uVar3 = _DAT_80052e94 + in_v1_lo; - _DAT_80052e90 = - (((uint)(uVar3 < in_v1_lo) + _DAT_80052e90 + _DAT_80052ea0) - _DAT_80052e98) - - (uint)(uVar3 < _DAT_80052e9c); - _DAT_80052e94 = uVar3 - _DAT_80052e9c; - _DAT_80052ea4 = in_v1_lo; - uStack48 = _DAT_80052e80; - uStack44 = _DAT_80052e84; - } - if ((_DAT_80052e78 <= uStack48) && ((_DAT_80052e78 < uStack48 || (_DAT_80052e7c < uStack44)))) - { - _DAT_80052e78 = uStack48; - _DAT_80052e7c = uStack44; - } - osRecvMesg(0xffffffff800530d8,&uStack16,1); - FUN_70002854(uStack16); - } - else { - if (sVar1 == 5) { - bVar2 = true; - } - else { - if (sVar1 == 10) { - bVar2 = true; - } - } - } - } while (!bVar2); - FUN_7000e314(0xffffffff80053110); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700026b4(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined8 uVar1; - undefined4 uVar2; - uint uVar3; - int iVar4; - longlong lVar5; - - FUN_70002a80(); - uVar2 = osVirtualToPhysical(*puParm1); - if (puParm2 != NULL) { - osAiSetNextBuffer(*puParm2,(int)*(short *)(puParm2 + 1) << 2); - } - uVar3 = osAiGetLength(); - *(ushort *)(puParm1 + 1) = ((short)_DAT_80053684 - (short)(uVar3 >> 2)) + 0x35U & 0xfff0; - lVar5 = (longlong)*(short *)(puParm1 + 1); - if (lVar5 < (longlong)(int)(short)_DAT_80053680) { - *(short *)(puParm1 + 1) = (short)_DAT_80053680; - lVar5 = (longlong)*(short *)(puParm1 + 1); - } - iVar4 = FUN_7000e938(*(undefined4 *)(&DAT_80052ed8 + DAT_80020ffc * 4),0xffffffff8005368c,uVar2, - lVar5); - puParm1[2] = 0; - puParm1[0x16] = 0x800530d8; - *(undefined4 **)(puParm1 + 0x17) = puParm1; - puParm1[4] = 2; - puParm1[0x12] = *(undefined4 *)(&DAT_80052ed8 + DAT_80020ffc * 4); - puParm1[0x13] = (iVar4 - *(int *)(&DAT_80052ed8 + DAT_80020ffc * 4) >> 3) << 3; - puParm1[6] = 2; - puParm1[8] = 0x8001ec50; - puParm1[9] = 0xd0; - puParm1[7] = 0; - puParm1[10] = 0x80020140; - puParm1[0xc] = 0x800513e0; - puParm1[0xd] = 0x800; - puParm1[0x14] = 0; - puParm1[0x15] = 0; - uVar1 = osScGetCmdQ(0xffffffff80051e00); - osSendMesg(uVar1,puParm1 + 2,0); - DAT_80020ffc = DAT_80020ffc ^ 1; - return; -} - - - -void FUN_70002854(void) - -{ - int iVar1; - - iVar1 = osAiGetLength(); - if ((iVar1 >> 2 == 0) && (DAT_800210c8 == 0)) { - DAT_800210c8 = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70002a80(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - uint uVar3; - undefined4 auStack8 [2]; - - auStack8[0] = 0; - uVar3 = 0; - puVar2 = _DAT_80053174; - if (DAT_80020ff8 != 0) { - do { - osRecvMesg(0xffffffff80053c90,auStack8,0); - uVar3 += 1; - puVar2 = _DAT_80053174; - } while (uVar3 < DAT_80020ff8); - } - while (puVar1 = puVar2, puVar1 != NULL) { - puVar2 = (undefined4 *)*puVar1; - if (puVar1[3] + 1 < DAT_80020ff4) { - if (puVar1 == _DAT_80053174) { - _DAT_80053174 = puVar2; - } - alInit(puVar1); - if (_DAT_80053178 == NULL) { - _DAT_80053178 = puVar1; - *puVar1 = 0; - puVar1[1] = 0; - } - else { - locret_7000EADC(puVar1); - } - } - } - DAT_80020ff4 = DAT_80020ff4 + 1; - DAT_80020ff8 = 0; - return; -} - - - -void FUN_70002ba0(void) - -{ - return; -} - - - -void video_related_1(void) - -{ - return; -} - - - -void FUN_70002bb0(void) - -{ - return; -} - - - -void FUN_70002bb8(void) - -{ - return; -} - - - -void video_related_3(void) - -{ - return; -} - - - -undefined8 FUN_70002bc8(undefined8 uParm1) - -{ - return uParm1; -} - - - -void FUN_70002bd0(void) - -{ - DAT_8002110c = &cfb_16_a; - DAT_8002113c = 0; - DAT_80021140 = 0xffffffe0; - PTR_DAT_80021144 = &DAT_800210e4; - PTR_DAT_80021148 = &DAT_80021110; - DAT_80053e48 = 0; - DAT_80053e49 = 1; - DAT_80021138 = &cfb_16_b; - return; -} - - - -void FUN_70002c98(void) - -{ - int iVar1; - int iVar2; - - sub_GAME_7F0D2518(); - iVar1 = 0; - do { - (&cfb_16_a)[iVar1] = 0; - (&cfb_16_b)[iVar1] = 0; - (&DAT_803ab001)[iVar1] = 0; - (&DAT_803d5801)[iVar1] = 0; - (&DAT_803ab002)[iVar1] = 0; - (&DAT_803d5802)[iVar1] = 0; - (&DAT_803ab003)[iVar1] = 0; - iVar2 = iVar1 + 4; - (&DAT_803d5803)[iVar1] = 0; - iVar1 = iVar2; - } while (iVar2 != 0x2a800); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70002d04(int iParm1) - -{ - _DAT_8002115c = iParm1 + 2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_related_7(void) - -{ - int iVar1; - - if ((DAT_80021158 != 0) && (DAT_80021158 += -1, DAT_80021158 == 0)) { - DAT_80021154 = 0; - } - iVar1 = DAT_80021150 * DAT_80021154; - *(uint *)(_DAT_80053e4c + 0x30) = - ((_DAT_80053e54 >> 0x10) + iVar1) * 0x10000 | _DAT_80053e54 + iVar1 & 0xffffU; - *(uint *)(_DAT_80053e4c + 0x44) = - ((_DAT_80053e58 >> 0x10) + iVar1) * 0x10000 | _DAT_80053e58 + iVar1 & 0xffffU; - osViSetMode(_DAT_80053e4c); - osViBlack((ulonglong)DAT_8002115f); - if ((_DAT_8002115c != 0) && (_DAT_8002115c < 3)) { - _DAT_8002115c = _DAT_8002115c + -1; - } - osViSetSpecialFeatures(0x42); - DAT_80021150 = -DAT_80021150; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70002e0c(void) - -{ - bool bVar1; - short sVar2; - undefined4 uVar3; - undefined *puVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - char cVar9; - int iVar8; - undefined4 *puVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - undefined4 *puVar15; - undefined4 *puVar16; - int iVar17; - uint uVar18; - float fVar19; - - cVar9 = *PTR_DAT_80021148; - if (cVar9 == *PTR_DAT_80021144) { - sVar2 = *(short *)(PTR_DAT_80021148 + 4); - } - else { - if (cVar9 == '\0') { - osViSetYScale(0x3f800000); - osViBlack(1); - } - else { - if (cVar9 == '\x01') { - if (DAT_8002114c == 0) { - puVar6 = &DAT_80022a70; - puVar7 = (undefined4 *)&DAT_80053df8; - do { - puVar10 = puVar7; - puVar16 = puVar6; - *puVar10 = *puVar16; - puVar10[1] = puVar16[1]; - puVar10[2] = puVar16[2]; - puVar6 = puVar16 + 3; - puVar7 = puVar10 + 3; - } while (puVar16 + 3 != (undefined4 *)0x80022ab8); - uVar3 = puVar16[4]; - puVar10[3] = uRam80022ab8; - puVar10[4] = uVar3; - } - else { - puVar6 = &DAT_80022930; - puVar7 = (undefined4 *)&DAT_80053df8; - do { - puVar16 = puVar7; - puVar10 = puVar6; - *puVar16 = *puVar10; - puVar16[1] = puVar10[1]; - puVar16[2] = puVar10[2]; - puVar6 = puVar10 + 3; - puVar7 = puVar16 + 3; - } while (puVar10 + 3 != (undefined4 *)0x80022978); - uVar3 = puVar10[4]; - puVar16[3] = uRam80022978; - puVar16[4] = uVar3; - } - _DAT_80053e4c = &DAT_80053df8; - _DAT_80053e50 = _DAT_80053e14; - _DAT_80053e54 = _DAT_80053e28; - _DAT_80053e58 = _DAT_80053e3c; - FUN_70002d04(0); - } - else { - if (cVar9 == '\x02') { - _DAT_80053e4c = &DAT_80022c00; - _DAT_80053e50 = DAT_80022c1c; - _DAT_80053e54 = DAT_80022c30; - _DAT_80053e58 = DAT_80022c44; - osViBlack(0); - } - } - } - osViSetSpecialFeatures(0x42); - cVar9 = *PTR_DAT_80021148; - sVar2 = *(short *)(PTR_DAT_80021148 + 4); - } - puVar4 = PTR_DAT_80021148; - fVar19 = (float)(int)*(short *)(PTR_DAT_80021148 + 6) / - (float)(int)*(short *)(PTR_DAT_80021148 + 0x1a); - if (cVar9 == '\0') { - fVar19 = 1.00000000; - } - iVar11 = DAT_80021160 * 4; - *(float *)(&DAT_80020f74 + iVar11) = - (float)(int)sVar2 / (float)(int)*(short *)(PTR_DAT_80021148 + 0x18); - *(float *)(&DAT_80020f7c + iVar11) = fVar19; - iVar5 = DAT_8002114c; - if (*puVar4 == '\x01') { - bVar1 = DAT_8002114c == 0; - *(undefined4 *)(iVar11 + -0x7ffae060) = 0x80053df8; - if (bVar1) { - puVar10 = (undefined4 *)(DAT_80021160 * 0x50 + -0x7ffae100); - puVar6 = &DAT_80022a70; - puVar7 = puVar10; - do { - puVar15 = puVar7; - puVar16 = puVar6; - *puVar15 = *puVar16; - puVar15[1] = puVar16[1]; - puVar15[2] = puVar16[2]; - puVar6 = puVar16 + 3; - puVar7 = puVar15 + 3; - } while (puVar16 + 3 != (undefined4 *)0x80022ab8); - puVar15[3] = uRam80022ab8; - puVar15[4] = puVar16[4]; - } - else { - puVar10 = (undefined4 *)(DAT_80021160 * 0x50 + -0x7ffae100); - puVar6 = &DAT_80022930; - puVar7 = puVar10; - do { - puVar15 = puVar7; - puVar16 = puVar6; - *puVar15 = *puVar16; - puVar15[1] = puVar16[1]; - puVar15[2] = puVar16[2]; - puVar6 = puVar16 + 3; - puVar7 = puVar15 + 3; - } while (puVar16 + 3 != (undefined4 *)0x80022978); - puVar15[3] = uRam80022978; - puVar15[4] = puVar16[4]; - } - puVar10[2] = (int)*(short *)(puVar4 + 0x18); - iVar17 = 0; - iVar14 = 0; - puVar10[8] = ((int)*(short *)(puVar4 + 0x18) << 10) / 0x280; - iVar13 = (int)*(short *)(puVar4 + 0x1a) << 0xb; - if (*(short *)(puVar4 + 0x1a) == 0x14a) { - iVar17 = 0x1c; - } - iVar17 += 0x220; - puVar10[0xb] = iVar13 / iVar17; - if (iVar17 == 0) { - trap(0x1c00); - } - if ((iVar17 == -1) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - iVar17 = 0; - iVar13 = (int)*(short *)(puVar4 + 0x1a) << 0xb; - if (*(short *)(puVar4 + 0x1a) == 0x14a) { - iVar17 = 0x1c; - } - iVar17 += 0x220; - puVar10[0x10] = iVar13 / iVar17; - if (iVar17 == 0) { - trap(0x1c00); - } - if ((iVar17 == -1) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - puVar10[10] = (int)*(short *)(puVar4 + 0x18) << 1; - puVar10[0xf] = (int)*(short *)(puVar4 + 0x18) << 1; - iVar17 = ((int)puVar10[7] >> 0x10 & 0xffffU) + DAT_8002113c; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar17 == -0x80000000)) { - trap(0x1800); - } - iVar13 = (puVar10[7] & 0xffff) + DAT_8002113c; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - _DAT_80053e50 = iVar17 % 0xffff << 0x10 | iVar13 % 0xffff; - puVar10[7] = _DAT_80053e50; - iVar17 = DAT_80021140; - iVar13 = 0; - if (*(short *)(puVar4 + 0x1a) == 0x14a) { - iVar14 = -0xe; - iVar13 = 0xe; - } - iVar13 = iVar13 + (puVar10[0xc] & 0xffff) + DAT_80021140 + 0x40; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - iVar14 = ((int)puVar10[0xc] >> 0x10 & 0xffffU) + DAT_80021140 + iVar14; - iVar12 = 0; - iVar8 = 0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar14 == -0x80000000)) { - trap(0x1800); - } - _DAT_80053e54 = iVar13 % 0xffff | iVar14 % 0xffff << 0x10; - puVar10[0xc] = _DAT_80053e54; - if (*(short *)(puVar4 + 0x1a) == 0x14a) { - iVar12 = -0xe; - iVar8 = 0xe; - } - iVar14 = iVar8 + (puVar10[0x11] & 0xffff) + iVar17 + 0x40; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar14 == -0x80000000)) { - trap(0x1800); - } - iVar12 = ((int)puVar10[0x11] >> 0x10 & 0xffffU) + iVar17 + iVar12; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar12 == -0x80000000)) { - trap(0x1800); - } - _DAT_80053e58 = iVar14 % 0xffff | iVar12 % 0xffff << 0x10; - puVar10[0x11] = _DAT_80053e58; - *(undefined4 *)(&DAT_80020f84 + iVar11) = 1; - } - else { - *(undefined4 *)(&DAT_80020f84 + iVar11) = 0; - } - uVar18 = DAT_80021160 + 1; - DAT_80021160 = uVar18 & 1; - if (((int)uVar18 < 0) && (DAT_80021160 != 0)) { - DAT_80021160 -= 2; - } - if (iVar5 == 0) { - *(undefined4 *)(PTR_DAT_80047030 + 0x58) = 0x803ab000; - } - else { - *(undefined4 *)(PTR_DAT_80047030 + 0x58) = *(undefined4 *)(puVar4 + 0x28); - } - puVar4 = PTR_DAT_80021148; - DAT_80053e48 = DAT_80053e48 + 1 & 1; - if ((false) && (DAT_80053e48 != 0)) { - DAT_80053e48 -= 2; - } - DAT_80053e49 = DAT_80053e49 + 1 & 1; - if ((false) && (DAT_80053e49 != 0)) { - DAT_80053e49 -= 2; - } - PTR_DAT_80021144 = &DAT_800210e4 + (uint)DAT_80053e48 * 0x2c; - PTR_DAT_80021148 = &DAT_800210e4 + (uint)DAT_80053e49 * 0x2c; - _bcopy(puVar4,PTR_DAT_80021148,0x2c); - *(undefined **)(PTR_DAT_80021148 + 0x28) = - &cfb_16_a + - (((uint)DAT_80053e49 * 0x14 + (uint)DAT_80053e49) * 4 + (uint)DAT_80053e49) * 0x800; - return; -} - - - -void loc_70003B44(float fParm1) - -{ - float fVar1; - - fVar1 = 14.00000000; - if (fParm1 <= 14.00000000) { - fVar1 = fParm1; - } - if (fVar1 < 0.00000000) { - DAT_80021154 = 0; - } - else { - DAT_80021154 = (int)fVar1; - } - DAT_80021158 = 10; - return; -} - - - -void FUN_700035b4(int iParm1) - -{ - do { - osRecvMesg(0xffffffff800572b0,0,1); - iParm1 += -1; - } while (0 < iParm1); - return; -} - - - -undefined4 FUN_7000366c(void) - -{ - return *(undefined4 *)(PTR_DAT_80021148 + 0x28); -} - - - -void FUN_7000368c(undefined4 uParm1) - -{ - *(undefined4 *)(PTR_DAT_80021148 + 0x28) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7000369c(void) - -{ - return (ulonglong)_DAT_80053df4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_700036a8(undefined4 *puParm1) - -{ - short sVar1; - - if (_DAT_80068bc0 != 0) { - *(undefined2 *)(_DAT_80068bc0 + (uint)DAT_80053e49 * 0x10 + 2000) = - (short)((int)*(short *)(PTR_DAT_80021148 + 0x1c) << 1); - *(short *)(_DAT_80068bc0 + (uint)DAT_80053e49 * 0x10 + 0x7d8) = - (short)((int)*(short *)(PTR_DAT_80021148 + 0x1c) << 1) + - (short)((int)*(short *)(PTR_DAT_80021148 + 0x20) << 2); - *(undefined2 *)(_DAT_80068bc0 + (uint)DAT_80053e49 * 0x10 + 0x7d2) = - (short)((int)*(short *)(PTR_DAT_80021148 + 0x1e) << 1); - *(short *)(_DAT_80068bc0 + (uint)DAT_80053e49 * 0x10 + 0x7da) = - (short)((int)*(short *)(PTR_DAT_80021148 + 0x1e) << 1) + - (short)((int)*(short *)(PTR_DAT_80021148 + 0x22) << 2); - } - *puParm1 = 0x3800010; - puParm1[1] = _DAT_80068bc0 + (uint)DAT_80053e49 * 0x10 + -0x7ffff830; - _DAT_80053df0 = FUN_7f0bca90(); - guPerspective(0xffffffff80053db0,&DAT_80053df4,*(undefined4 *)(PTR_DAT_80021148 + 8), - *(undefined4 *)(PTR_DAT_80021148 + 0xc),*(undefined4 *)(PTR_DAT_80021148 + 0x10), - *(undefined4 *)(PTR_DAT_80021148 + 0x14),0x3f800000); - guMtxL2F(0xffffffff80053db0,_DAT_80053df0); - puParm1[2] = 0x1030040; - puParm1[3] = _DAT_80053df0 + -0x80000000; - puParm1[4] = 0xbc00000e; - puParm1[5] = (uint)_DAT_80053df4; - FUN_7f0783e4(_DAT_80053df0); - FUN_7f078454(0xffffffff80053db0); - if (DAT_8002114c == 0) { - sVar1 = *(short *)(PTR_DAT_80021148 + 0x18); - puParm1[7] = 0x3ab000; - puParm1[6] = (int)sVar1 - 1U & 0xfff | 0xff180000; - } - else { - puParm1[6] = (int)*(short *)(PTR_DAT_80021148 + 0x18) - 1U & 0xfff | 0xff100000; - puParm1[7] = *(int *)(PTR_DAT_80021148 + 0x28) + -0x80000000; - } - return puParm1 + 8; -} - - - -undefined8 FUN_70003904(undefined8 uParm1) - -{ - undefined8 uVar1; - - if (*(int *)(PTR_DAT_80021148 + 0x24) != 0) { - uVar1 = FUN_7f0d1984(); - uParm1 = loc_7F0D26B4(uVar1); - } - return uParm1; -} - - - -undefined4 * FUN_70003948(undefined4 *puParm1) - -{ - puParm1[1] = 0x300000; - *puParm1 = 0xba001402; - puParm1[2] = ((int)*(short *)(PTR_DAT_80021148 + 0x18) - 1U & 0x3ff) << 0xe | 0xf6000000 | - ((int)*(short *)(PTR_DAT_80021148 + 0x1a) - 1U & 0x3ff) << 2; - puParm1[3] = 0; - puParm1[4] = 0xe7000000; - puParm1[5] = 0; - return puParm1 + 6; -} - - - -uint * loc_70004370(undefined4 *puParm1) - -{ - short sVar4; - int iVar3; - longlong lVar1; - undefined8 uVar2; - short sVar5; - short sVar6; - uint *puVar7; - uint *puVar8; - - puParm1[1] = 0x300000; - *puParm1 = 0xba001402; - puParm1[2] = 0xed000000; - sVar4 = FUN_70003e6c(); - iVar3 = FUN_70003e7c(); - puVar7 = puParm1 + 6; - puParm1[3] = (int)((float)iVar3 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar4 * 4.00000000) & 0xfffU) << 0xc; - puParm1[5] = 0x10001; - puParm1[4] = 0xf7000000; - lVar1 = FUN_70003f74(); - if (0 < lVar1) { - uVar2 = FUN_7f09a690(); - lVar1 = FUN_7f09aa18(uVar2); - if (lVar1 == 0) { - sVar4 = FUN_70003e6c(); - iVar3 = FUN_70003f74(); - *puVar7 = (iVar3 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe; - puParm1[7] = 0; - puParm1[8] = 0xe7000000; - puParm1[9] = 0; - puVar7 = puParm1 + 10; - } - } - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - sVar4 = FUN_70003efc(); - sVar5 = FUN_70003f74(); - iVar3 = FUN_70003e7c(); - if (iVar3 <= (int)sVar5 + (int)sVar4) { - return puVar7; - } - sVar4 = FUN_70003e6c(); - iVar3 = FUN_70003e7c(); - *puVar7 = (iVar3 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe; - sVar4 = FUN_70003f74(); - iVar3 = FUN_70003efc(); - puVar7[1] = (iVar3 + (int)sVar4 & 0x3ffU) << 2; - puVar7[3] = 0; - puVar7[2] = 0xe7000000; - puVar8 = puVar7; - } - else { - uVar2 = FUN_7f09a690(); - lVar1 = FUN_7f09aa18(uVar2); - if (lVar1 != 0) { - return puVar7; - } - sVar4 = FUN_70003efc(); - sVar5 = FUN_70003efc(); - sVar6 = FUN_70003f74(); - iVar3 = FUN_70003e7c(); - if ((int)sVar6 + (int)sVar5 + (int)sVar4 < iVar3) { - sVar4 = FUN_70003e6c(); - iVar3 = FUN_70003e7c(); - *puVar7 = (iVar3 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe; - sVar4 = FUN_70003efc(); - sVar5 = FUN_70003f74(); - iVar3 = FUN_70003efc(); - puVar7[1] = (iVar3 + (int)sVar5 + (int)sVar4 & 0x3ffU) << 2; - puVar7[2] = 0xe7000000; - puVar7[3] = 0; - puVar7 = puVar7 + 4; - } - iVar3 = FUN_70003e6c(); - puVar7[1] = 0x21c; - *puVar7 = (iVar3 - 1U & 0x3ff) << 0xe | 0xf6000220; - puVar7[2] = 0xe7000000; - puVar7[3] = 0; - puVar8 = puVar7 + 4; - lVar1 = FUN_7f0999a4(); - if (2 < lVar1) { - iVar3 = FUN_70003e7c(); - *puVar8 = (iVar3 - 1U & 0x3ff) << 2 | 0xf6280000; - puVar7[5] = 0x27c000; - puVar7[6] = 0xe7000000; - puVar7[7] = 0; - puVar8 = puVar7 + 8; - } - lVar1 = FUN_7f0999a4(); - if (lVar1 != 3) { - return puVar8; - } - sVar4 = FUN_70003e6c(); - iVar3 = FUN_70003e7c(); - *puVar8 = (iVar3 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe; - puVar8[1] = 0x284224; - puVar8[2] = 0xe7000000; - puVar8[3] = 0; - } - return puVar8 + 4; -} - - - -void FUN_70003dd4(undefined4 uParm1) - -{ - DAT_80021140 = uParm1; - return; -} - - - -undefined4 FUN_70003de0(void) - -{ - return DAT_80021140; -} - - - -void FUN_70003dec(undefined4 uParm1) - -{ - DAT_8002113c = uParm1; - return; -} - - - -undefined4 FUN_70003df8(void) - -{ - return DAT_8002113c; -} - - - -void FUN_70003e04(undefined2 uParm1,undefined2 uParm2) - -{ - *(undefined2 *)(PTR_DAT_80021148 + 0x18) = uParm1; - *(undefined2 *)(PTR_DAT_80021148 + 0x1a) = uParm2; - return; -} - - - -void FUN_70003e48(undefined2 uParm1,undefined2 uParm2) - -{ - *(undefined2 *)(PTR_DAT_80021148 + 4) = uParm1; - *(undefined2 *)(PTR_DAT_80021148 + 6) = uParm2; - return; -} - - - -undefined2 FUN_70003e6c(void) - -{ - return *(undefined2 *)(PTR_DAT_80021148 + 4); -} - - - -undefined2 FUN_70003e7c(void) - -{ - return *(undefined2 *)(PTR_DAT_80021148 + 6); -} - - - -void FUN_70003e8c(undefined2 uParm1,undefined2 uParm2) - -{ - *(undefined2 *)(PTR_DAT_80021148 + 0x1c) = uParm1; - *(undefined2 *)(PTR_DAT_80021148 + 0x1e) = uParm2; - FUN_7f077c58((float)(int)*(short *)(PTR_DAT_80021148 + 0x1c), - (float)(int)*(short *)(PTR_DAT_80021148 + 0x1e)); - FUN_7f077cdc(); - return; -} - - - -undefined2 FUN_70003eec(void) - -{ - return *(undefined2 *)(PTR_DAT_80021148 + 0x1c); -} - - - -undefined2 FUN_70003efc(void) - -{ - return *(undefined2 *)(PTR_DAT_80021148 + 0x1e); -} - - - -void FUN_70003f0c(undefined2 uParm1,undefined2 uParm2) - -{ - *(undefined2 *)(PTR_DAT_80021148 + 0x20) = uParm1; - *(undefined2 *)(PTR_DAT_80021148 + 0x22) = uParm2; - FUN_7f077c94((float)(int)*(short *)(PTR_DAT_80021148 + 0x20), - (float)(int)*(short *)(PTR_DAT_80021148 + 0x22)); - return; -} - - - -undefined2 FUN_70003f64(void) - -{ - return *(undefined2 *)(PTR_DAT_80021148 + 0x20); -} - - - -undefined2 FUN_70003f74(void) - -{ - return *(undefined2 *)(PTR_DAT_80021148 + 0x22); -} - - - -void FUN_70003f84(undefined4 uParm1) - -{ - *(undefined4 *)(PTR_DAT_80021148 + 0x24) = uParm1; - return; -} - - - -void FUN_70003f94(undefined4 uParm1,undefined8 uParm2,undefined8 uParm3) - -{ - *(undefined4 *)(PTR_DAT_80021148 + 8) = uParm1; - FUN_7f077cb0(*(undefined4 *)(PTR_DAT_80021148 + 0x10),*(undefined4 *)(PTR_DAT_80021148 + 8),uParm2 - ,uParm3,*(undefined4 *)(PTR_DAT_80021148 + 0xc)); - FUN_7f077cdc(); - return; -} - - - -void FUN_70003fe0(undefined4 uParm1,undefined8 uParm2,undefined8 uParm3) - -{ - *(undefined4 *)(PTR_DAT_80021148 + 0xc) = uParm1; - FUN_7f077cb0(*(undefined4 *)(PTR_DAT_80021148 + 0x10),*(undefined4 *)(PTR_DAT_80021148 + 8),uParm2 - ,uParm3,*(undefined4 *)(PTR_DAT_80021148 + 0xc)); - FUN_7f077cdc(); - return; -} - - - -undefined4 FUN_7000402c(void) - -{ - return *(undefined4 *)(PTR_DAT_80021148 + 8); -} - - - -void FUN_7000403c(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4) - -{ - *(float *)(PTR_DAT_80021148 + 8) = fParm2; - *(float *)(PTR_DAT_80021148 + 0xc) = fParm1 / fParm2; - FUN_7f077cb0(*(undefined4 *)(PTR_DAT_80021148 + 0x10),*(undefined4 *)(PTR_DAT_80021148 + 8),uParm3 - ,uParm4,*(undefined4 *)(PTR_DAT_80021148 + 0xc)); - FUN_7f077cdc(); - return; -} - - - -void FUN_700040a0(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3,undefined8 uParm4) - -{ - *(undefined4 *)(PTR_DAT_80021148 + 0x10) = uParm1; - *(undefined4 *)(PTR_DAT_80021148 + 0x14) = uParm2; - FUN_7f077cb0(*(undefined4 *)(PTR_DAT_80021148 + 0x10),*(undefined4 *)(PTR_DAT_80021148 + 8),uParm3 - ,uParm4,*(undefined4 *)(PTR_DAT_80021148 + 0xc)); - FUN_7f077cdc(); - return; -} - - - -void FUN_700040fc(undefined4 *puParm1) - -{ - *puParm1 = *(undefined4 *)(PTR_DAT_80021148 + 0x10); - puParm1[1] = *(undefined4 *)(PTR_DAT_80021148 + 0x14); - return; -} - - - -undefined4 * FUN_70004120(undefined4 *puParm1,uint uParm2,uint uParm3,int iParm4) - -{ - uint uVar1; - - if (DAT_8002114c != 0) { - uVar1 = (uParm2 & 0xf8) << 8 | (uParm3 & 0xf8) << 3 | iParm4 >> 2 & 0x3eU | 1; - *puParm1 = 0xf7000000; - puParm1[1] = uVar1 << 0x10 | uVar1; - return puParm1 + 2; - } - puParm1[1] = uParm2 << 0x18 | uParm3 << 0x10 | iParm4 << 8 | 0xff; - *puParm1 = 0xf7000000; - return puParm1 + 2; -} - - - -int * debug_removed(undefined8 uParm1) - -{ - int iVar1; - longlong lVar2; - int *piVar3; - - if (DAT_80021178 == NULL) { -LAB_70004218: - piVar3 = NULL; - } - else { - iVar1 = DAT_80021178[2]; - piVar3 = DAT_80021178; - while (lVar2 = loc_7000A888(iVar1,uParm1), lVar2 != 0) { - piVar3 = (int *)*piVar3; - if (piVar3 == NULL) goto LAB_70004218; - iVar1 = piVar3[2]; - } - } - return piVar3; -} - - - -void sub_7F0BA720(void) - -{ - return; -} - - - -void FUN_7000424c(void) - -{ - FUN_70004280(&DAT_80021170,s_deb_c_debug_80023e80); - debug_indy_stub_2(); - return; -} - - - -void FUN_70004280(undefined4 uParm1,undefined8 uParm2) - -{ - longlong lVar1; - - lVar1 = debug_removed(uParm2); - if (lVar1 == 0) { - sub_7F0BA720((int)uParm2,uParm1); - } - return; -} - - - -void debug_indy_stub_2(void) - -{ - FUN_70004dc4(); - osCreateMesgQueue(0xffffffff80056820,0xffffffff80056838,1); - osCreateThread(0xffffffff80053e70,5,FUN_70004374,0,0x80054520,0x28); - osStartThread(0xffffffff80053e70); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70004374(void) - -{ - undefined8 uVar1; - longlong lVar2; - undefined4 uStack4; - - uStack4 = 0; - osSetEventMesg(0xc,0xffffffff80056820,0x10); - _DAT_80056840 = 0; - while( true ) { - do { - osRecvMesg(0xffffffff80056820,&uStack4,1); - uVar1 = osSetIntMask(1); - lVar2 = __osGetActiveQueue(); - _DAT_8005683c = (int)lVar2; - } while (lVar2 == 0); - if (((*(uint *)(_DAT_8005683c + 0x120) & 0x7c) != 8) || - ((*(uint *)(_DAT_8005683c + 0x124) & 0xffc00000) != 0x7f000000)) break; - FUN_70001e50(*(undefined4 *)(_DAT_8005683c + 0x124)); - *(undefined2 *)(_DAT_8005683c + 0x10) = 10; - *(undefined2 *)(_DAT_8005683c + 0x12) = 0; - loc_700108E0(&PTR_DAT_80023228,_DAT_8005683c); - osSetIntMask(uVar1); - FUN_70010300(); - } - osSetIntMask(uVar1); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -int loc_700051D4(uint *puParm1,uint *puParm2,int iParm3,undefined4 *puParm4) - -{ - bool bVar1; - bool bVar2; - int iVar3; - undefined4 *puVar4; - short sVar5; - uint uVar6; - - bVar2 = false; - bVar1 = false; - iVar3 = 0; - puVar4 = puParm4; - do { - iVar3 += 4; - *puVar4 = 0; - puVar4[1] = 0; - puVar4[2] = 0; - puVar4[3] = 0; - puVar4 = puVar4 + 4; - } while (iVar3 != 0x20); - if (puParm1 < puParm2) { -LAB_700045d8: - if (bVar2) { - if (!bVar1) { - iParm3 = 0; - } - } - else { - iParm3 = 0; - } - return iParm3; - } - uVar6 = *puParm1; - do { - puParm1 = puParm1 + -1; - sVar5 = (short)uVar6; - if ((uVar6 & 0xffff0000) == 0x27bd0000) { - bVar2 = true; - if ((0 < (int)sVar5) || (iParm3 += ((int)sVar5 >> 2) * -4, bVar1)) goto LAB_700045d8; - } - else { - if ((uVar6 & 0xffe00000) == 0xafa00000) { - uVar6 = uVar6 >> 0x10 & 0x1f; - puParm4[uVar6] = ((int)sVar5 >> 2) * 4 + iParm3; - if (uVar6 == 0x1f) { - bVar1 = true; - } - if ((bVar2) && (bVar1)) goto LAB_700045d8; - } - else { - if (uVar6 == 0x3e00008) goto LAB_700045d8; - } - } - if (puParm1 < puParm2) goto LAB_700045d8; - uVar6 = *puParm1; - } while( true ); -} - - - -int locret_7000528C(char *pcParm1) - -{ - char cVar1; - int iVar2; - char *pcVar3; - - iVar2 = 0; - pcVar3 = pcParm1 + 1; - if (*pcParm1 != '\0') { - iVar2 = 1; - while ((iVar2 < 0x100 && (cVar1 = *pcVar3, pcVar3 = pcVar3 + 1, cVar1 != '\0'))) { - iVar2 += 1; - } - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_700046b4(int iParm1) - -{ - int iVar1; - int iVar2; - uint uVar3; - - FUN_7000503c(&DAT_80056850,iParm1,0x60); - _DAT_80056844 = _DAT_80056850; - _DAT_80056848 = -0x7ffa97ac; - iVar1 = locret_7000528C(); - _DAT_8005684c = iVar1 + _DAT_80056848 + 1; - iVar1 = locret_7000528C(); - iVar2 = locret_7000528C(_DAT_8005684c); - uVar3 = iVar2 + iParm1 + iVar1 + 6; - if ((uVar3 & 3) != 0) { - uVar3 = (uVar3 | 3) + 1; - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_70004760(uint uParm1) - -{ - undefined8 uVar1; - undefined8 uVar2; - undefined8 uVar3; - - uVar1 = 0xe00004; - uVar3 = 0xe00004; - do { - uVar2 = uVar1; - uVar1 = FUN_700046b4(uVar2); - if (uParm1 < _DAT_80056844) { - FUN_700046b4(uVar3); - return 1; - } - uVar3 = uVar2; - } while (_DAT_80056844 != 0); - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_700047e8(void) - -{ - FUN_700046b4(0xe00000); - return (ulonglong)(_DAT_80056844 == -0x7d9b8a42); -} - - - -ulonglong locret_7000559C(uint uParm1) - -{ - bool bVar1; - ulonglong uVar2; - uint uVar3; - - bVar1 = (uParm1 & 0x7fffff) == 0; - uVar2 = (ulonglong)bVar1; - if (!bVar1) { - uVar3 = uParm1 >> 0x17 & 0xff; - uVar2 = (ulonglong)(uVar3 != 0); - if (uVar3 != 0) { - uVar2 = (ulonglong)(uVar3 != 0xff); - } - } - return uVar2; -} - - - -void FUN_700049c4(undefined8 uParm1,undefined4 uParm2) - -{ - locret_7000559C(uParm2); - return; -} - - - -// WARNING: Instruction at (ram,0x70004a88) overlaps instruction at (ram,0x70004a84) -// - -void write_stderr_to_buffer(longlong lParm1,longlong lParm2,byte bParm3) - -{ - if ((bParm3 == 9) || (bParm3 == 10)) { - bParm3 = 0; - } - if (((bParm3 != 0) && (bParm3 < 0x20)) || (0x7e < bParm3)) { - bParm3 = 0x3f; - } - if (((-1 < lParm1) && (lParm1 < 0x48)) && ((-1 < lParm2 && (lParm2 < 0x20)))) { - (&DAT_800215a8)[(int)lParm2 * 0x47 + (int)lParm1] = bParm3; - } - return; -} - - - -void loc_700057BC(uint uParm1) - -{ - undefined8 unaff_1000004b; - uint uVar1; - - uParm1 &= 0xff; - if (uParm1 != 0) { - if (uParm1 == 9) { - do { - loc_700057BC(0x20); - } while ((DAT_80021e88 & 7) != 0); - } - else { - if (uParm1 == 10) { - DAT_80021e8c += 1; - DAT_80021e88 = 0; - } - uVar1 = uParm1; - if (0x1e < DAT_80021e8c) { - FUN_70004bec(DAT_80021e8c + -0x1e); - DAT_80021e8c = 0x1e; - uVar1 = (uint)unaff_1000004b & 0xff; - } - if (uVar1 != 10) { - write_stderr_to_buffer(DAT_80021e88,DAT_80021e8c,uParm1); - DAT_80021e88 += 1; - if (0x46 < (int)DAT_80021e88) { - DAT_80021e88 = 0; - DAT_80021e8c += 1; - } - } - } - } - return; -} - - - -void FUN_70004bec(longlong lParm1) - -{ - int iVar1; - undefined1 *puVar2; - int iVar3; - undefined1 *puVar4; - undefined1 *puVar5; - - iVar3 = (int)lParm1; - if (0 < lParm1) { - do { - iVar3 += -1; - puVar5 = &DAT_800215a8; - puVar2 = puVar5; - do { - iVar1 = 3; - *puVar5 = puVar5[0x47]; - puVar5[1] = puVar5[0x48]; - puVar5[2] = puVar5[0x49]; - puVar4 = puVar2 + 3; - do { - iVar1 += 4; - puVar4[1] = puVar4[0x48]; - puVar4[2] = puVar4[0x49]; - puVar4[3] = puVar4[0x4a]; - *puVar4 = puVar4[0x47]; - puVar4 = puVar4 + 4; - } while (iVar1 != 0x47); - puVar5 = puVar5 + 0x47; - puVar2 = puVar2 + 0x47; - } while (puVar5 != (undefined1 *)0x80021e41); - } while (0 < iVar3); - } - return; -} - - - -void FUN_70004c7c(int iParm1,int iParm2,byte bParm3) - -{ - int iVar1; - undefined2 *puVar2; - ulonglong uVar3; - int iVar4; - uint uVar5; - - iVar1 = FUN_70003e6c(); - uVar3 = (ulonglong)bParm3; - if (bParm3 == 0) { - uVar3 = 0x20; - } - if ((bParm3 == 0 || 0x1f < bParm3) && (uVar3 < 0x7f)) { - uVar5 = *(uint *)((int)uVar3 * 4 + -0x7ffde1f0); - iVar4 = 0; - puVar2 = (undefined2 *)(iParm1 * 2 + DAT_8002200c + iParm2 * iVar1 * 2); - do { - if ((uVar5 & 0x80000000) == 0) { - *puVar2 = 1; - } - else { - *puVar2 = 0xffff; - } - if ((uVar5 & 0x40000000) == 0) { - puVar2[1] = 1; - } - else { - puVar2[1] = 0xffff; - } - if ((uVar5 & 0x20000000) == 0) { - puVar2[2] = 1; - } - else { - puVar2[2] = 0xffff; - } - if ((uVar5 & 0x10000000) == 0) { - puVar2[3] = 1; - } - else { - puVar2[3] = 0xffff; - } - iVar4 += 1; - uVar5 <<= 4; - puVar2 = puVar2 + iVar1; - } while (iVar4 != 7); - } - return; -} - - - -void FUN_70004da4(uint uParm1,uint uParm2) - -{ - DAT_8002200c = uParm1 | 0xa0000000; - DAT_80022010 = uParm2 | 0xa0000000; - return; -} - - - -void FUN_70004dc4(void) - -{ - FUN_70004da4(&cfb_16_a,&cfb_16_b); - return; -} - - - -void write_stderr_to_buffer(uint uParm1) - -{ - int iVar1; - int iVar2; - int iVar3; - byte *pbVar4; - int iVar5; - - FUN_70004dc4(); - DAT_8002200c = uParm1 | 0xa0000000; - iVar1 = FUN_70003e6c(); - iVar2 = iVar1 + -0xd; - if (iVar2 < 0) { - iVar2 = iVar1 + -10; - } - iVar1 = FUN_70003e7c(); - iVar5 = (iVar1 + -10) / 7 + -1; - iVar1 = 0; - if (0 < iVar5) { - iVar2 = (iVar2 >> 2) + -5; - do { - if (0 < iVar2) { - pbVar4 = &DAT_800215a8 + iVar1 * 0x47; - iVar3 = 0x14; - do { - FUN_70004c7c(iVar3,iVar1 * 7 + 7,(ulonglong)*pbVar4); - iVar3 += 4; - pbVar4 = pbVar4 + 1; - if (iVar2 * 4 + 0x14 <= iVar3) break; - } while (iVar3 != 0x130); - } - iVar1 += 1; - } while ((iVar1 < iVar5) && (iVar1 != 0x1f)); - } - return; -} - - - -void romWrite(void) - -{ - osCreateMesgQueue(0xffffffff800568d0,0xffffffff800568c8,1); - return; -} - - - -void FUN_70004fb0(undefined8 uParm1,undefined4 uParm2,undefined8 uParm3) - -{ - osInvalDCache(uParm1,uParm3); - osPiStartDma(0xffffffff800568b0,0,0,uParm2,(int)uParm1,(int)uParm3,0x800568d0); - return; -} - - - -void FUN_70005010(void) - -{ - osRecvMesg(0xffffffff800568d0,0,1); - return; -} - - - -void FUN_7000503c(void) - -{ - FUN_70004fb0(); - FUN_70005010(); - return; -} - - - -int romCopyAligned(int iParm1,ulonglong uParm2,int iParm3) - -{ - int iVar1; - uint uVar2; - ulonglong uVar3; - - uVar3 = (uParm2 | 1) ^ 1; - iVar1 = (int)uParm2 - (int)uVar3; - uVar2 = (iParm1 + 0xfU | 0xf) ^ 0xf; - FUN_7000503c(uVar2,uVar3,(iVar1 + iParm3 + 0xfU | 0xf) ^ 0xf); - return uVar2 + iVar1; -} - - - -void FUN_700050c8(undefined8 uParm1,undefined4 uParm2,undefined8 uParm3) - -{ - osWritebackDCache(uParm1,uParm3); - osPiStartDma(0xffffffff800568b0,0,1,uParm2,(int)uParm1,(int)uParm3,0x800568d0); - return; -} - - - -void FUN_70005128(void) - -{ - FUN_700050c8(); - FUN_70005010(); - return; -} - - - -void something_with_boss_c_debug(void) - -{ - undefined8 uVar1; - longlong lVar2; - ulonglong uVar3; - int iVar4; - undefined8 in_v1; - undefined auStack64 [24]; - undefined auStack40 [36]; - undefined auStack4 [4]; - - FUN_7000424c(); - romWrite(); - return_ptr_TLBallocatedblock(); - FUN_7f000bd0(); - memp_related_6(); - FUN_700091cc(); - sub_GAME_7F0BA640(); - FUN_7000a198(); - FUN_70002bd0(); - FUN_7f0cf450(); - DAT_80022034 = rmon_debug_is_final_build(); - FUN_7f0bc028(); - load_rsp_microcode(); - draw_membars(); - FUN_7000a280(); - osCreateMesgQueue(auStack64,auStack4,1); - iVar4 = 0; - do { - uVar1 = __ll_mul(0,100000,DAT_80022410,DAT_80022414); - FUN_7000e4d8(uVar1,in_v1,0,1000000); - osSetTimer(auStack40); - osRecvMesg(auStack64,auStack4,1); - if (iVar4 == 1) { - FUN_7000a3cc(); - } - else { - if (1 < iVar4) { - FUN_7000aa80(); - } - } - iVar4 += 1; - } while (iVar4 != 4); - lVar2 = loc_7000A740(1,s__level__80024790); - if (lVar2 == 0) { - DAT_80022034 = 1; - } - FUN_7f0ae2cc(); - sub_GAME_7F0D1A7C(); - if (DAT_80022034 != 0) { - FUN_700099ec(s___ml0__me0__mgfx100__mvtx50__mt7_80024798); - } - lVar2 = loc_7000A740(1,s__m_800247cc); - if (lVar2 != 0) { - uVar1 = loc_7000A740(1,s__m_800247d0); - DAT_8002203c = loc_7000AC44(uVar1,0,0); - DAT_8002203c <<= 10; - } - uVar3 = osVirtualToPhysical(0xffffffff80075700); - iVar4 = __osGetActiveQueue(); - FUN_7000880c(uVar3 | 0xffffffff80000000,iVar4 - (int)(uVar3 | 0xffffffff80000000)); - FUN_70008dfc(6); - FUN_7f0c0bcc(); - FUN_7f0bccb8(); - FUN_70005e18(); - sub_GAME_7F0AEF20(); - FUN_7000a1e0(); - FUN_7f099820(); - sub_GAME_7F0C0BF0(); - sub_GAME_7F09C044(); - FUN_70002ba0(); - set_gu_scale(); - FUN_7f000bc0(); - reset_music_in_slot(); - FUN_7f000aac(); - init_weapon_animation_groups_maybe(); - sub_GAME_7F0009A0(); - FUN_7f0009d0(); - sub_GAME_7F000B60(); - FUN_7f000000(); - FUN_7f01d540(); - FUN_7f0bf0f0(); - return; -} - - - -void setup_gamevalues_and_launchmainloop(void) - -{ - something_with_boss_c_debug(); - FUN_7f0cf2fc(); - FUN_70005e90(); - do { - loc_700068B4(); - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7000583c) overlaps instruction at (ram,0x70005838) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_700068B4(void) - -{ - longlong lVar1; - byte *pbVar5; - undefined8 uVar2; - undefined4 *puVar6; - int iVar7; - undefined uVar11; - undefined uVar12; - ulonglong uVar3; - ulonglong uVar4; - int iVar8; - undefined4 *puVar9; - short sVar10; - undefined8 uVar13; - uint uVar14; - undefined auStack392 [4]; - undefined auStack388 [328]; - undefined4 uStack60; - undefined4 *puStack56; - uint uStack52; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - short *apsStack12 [2]; - int iStack4; - - iStack4 = 0; - FUN_7f0d0f6c(); - lVar1 = loc_7000A740(1,s__level__800247d4); - if (lVar1 != 0) { - pbVar5 = (byte *)loc_7000A740(1,s__level__800247dc); - DAT_80022038 = (uint)pbVar5[1] + (uint)*pbVar5 * 10 + -0x210; - } - if (DAT_80022038 != 0x5a) { - FUN_7f01ddf0(); - FUN_7f01d3e4(0); - FUN_7f01d3f0(0); - FUN_7f01d440(DAT_80022038); - lVar1 = loc_7000A740(1,s__hard_800247e4); - if (lVar1 != 0) { - pbVar5 = (byte *)loc_7000A740(1,s__hard_800247ec); - FUN_7f01d3f0((uint)*pbVar5 - 0x30); - pbVar5 = (byte *)loc_7000A740(1,s__hard_800247f4); - __scSchedule((uint)*pbVar5 - 0x30); - } - } - uVar2 = osGetCount(); - FUN_700098f8(uVar2); - do { - apsStack12[0] = NULL; - uStack44 = DAT_80022194; - uStack40 = DAT_80022198; - uVar14 = 0; - uStack32 = DAT_800221a0; - uStack36 = DAT_8002219c; - uVar13 = 0; - uStack28 = DAT_800221a4; - uStack24 = DAT_800221a8; - uStack16 = DAT_800221b0; - uStack20 = DAT_800221ac; - uStack52 = 0; - uVar2 = FUN_7f0bf084(); - FUN_7f0bfac0(DAT_80022038,uVar2); - if (DAT_80022034 != 0) { - iVar7 = -1; - if ((DAT_80022038 != 0x5a) && (lVar1 = FUN_7f010180(), 1 < lVar1)) { - iVar7 = 0; - if (DAT_8002204c != 0) { - puVar6 = &DAT_8002204c; - iVar8 = DAT_8002204c; - do { - if (DAT_80022038 + 400 == iVar8) break; - iVar8 = puVar6[2]; - iVar7 += 1; - puVar6 = puVar6 + 2; - } while (iVar8 != 0); - } - if ((&DAT_8002204c)[iVar7 * 2] == 0) { - iVar7 = -1; - } - } - if ((iVar7 < 0) && (iVar7 = 0, DAT_8002204c != 0)) { - puVar6 = &DAT_8002204c; - iVar8 = DAT_8002204c; - do { - if (DAT_80022038 == iVar8) break; - iVar8 = puVar6[2]; - iVar7 += 1; - puVar6 = puVar6 + 2; - } while (iVar8 != 0); - } - FUN_700099ec((&PTR_s__ml0__me0__mgfx70__mvtx50__mt625_80022050)[iVar7 * 2]); - } - FUN_70008dfc(4); - FUN_7f0bc574(4); - lVar1 = loc_7000A740(1,s__ma_800247fc); - if (lVar1 != 0) { - uVar2 = loc_7000A740(1,s__ma_80024800); - DAT_80022040 = loc_7000AC44(uVar2,0,0); - DAT_80022040 <<= 10; - } - uVar2 = FUN_70008b80(DAT_80022040,4); - FUN_700091f8(uVar2,DAT_80022040); - FUN_7f09986c(); - if (DAT_80022038 != 0x5a) { - uVar13 = 1; - lVar1 = FUN_7f010180(); - if (1 < lVar1) { - uVar13 = FUN_7f010180(); - } - } - FUN_7f0998cc(uVar13); - FUN_7f0bc83c(); - FUN_7000a3cc(); - FUN_7f0bce60(DAT_80022038); - FUN_70002c98(); - FUN_7000a1e8(); - FUN_7f0c0004(); - FUN_70002bb0(); - lVar1 = osRecvMesg(0xffffffff80051d60,apsStack12,0); - while (lVar1 == 0) { - lVar1 = osRecvMesg(0xffffffff80051d60,apsStack12,0); - } - if (DAT_8002218c < 0) { - do { - osRecvMesg(0xffffffff80051d60,apsStack12,1); - sVar10 = *apsStack12[0]; - if (sVar10 == 1) { - iVar7 = osGetCount(); - if (((DAT_8004113c * 0xe34ea - 0x71a75U <= (uint)(iVar7 - DAT_80041138)) && - (DAT_8002218c < 0)) && (uVar14 < 2)) { - lVar1 = FUN_7f0bf10c(); - if (lVar1 == 0) { - FUN_7f0c0004(); - } - else { - FUN_7f0bf6e8(); - } - FUN_70002bb8(); - FUN_70002bb0(); - video_related_3(0x20000); - FUN_7000aa80(); - permit_stderr(0); - uVar2 = FUN_7f0bca24(); - uStack60 = (undefined4)uVar2; - if (DAT_80022190 != 0) { - uVar11 = FUN_7000ae60(0); - uVar12 = FUN_7000af70(0); - uVar3 = FUN_7000b080(0,0xffff); - uVar4 = FUN_7000b120(0,0xffff); - DAT_80022190 = FUN_7f0903c8(uVar11,uVar12,uVar3 & 0xffff,uVar4 & 0xffff); - } - FUN_7f0bdfac(); - FUN_7f09a95c(); - if (DAT_80022038 != 0x5a) { - iVar7 = 0; - lVar1 = FUN_7f0999a4(); - if (0 < lVar1) { - do { - uVar13 = FUN_7f09aa68(iVar7); - FUN_7f09a64c(uVar13); - FUN_70003e8c(*(undefined2 *)(_DAT_80068bc0 + 0x7f0), - *(undefined2 *)(_DAT_80068bc0 + 0x7f2)); - FUN_70003f0c(*(undefined2 *)(_DAT_80068bc0 + 0x7f4), - *(undefined2 *)(_DAT_80068bc0 + 0x7f6)); - FUN_7f0bec44(); - iVar7 += 1; - iVar8 = FUN_7f0999a4(); - } while (iVar7 < iVar8); - } - } - puVar9 = (undefined4 *)loc_7F0BE844(uVar2); - lVar1 = FUN_7f090470(); - puVar6 = puVar9; - if (lVar1 != 0) { - *puVar9 = 0xe7000000; - puVar9[1] = 0; - puVar9[2] = 0xba001402; - puVar9[3] = 0; - puVar9[4] = 0xf9000000; - puVar9[5] = 0xffffffff; - puVar9[6] = 0xee000000; - puVar9[7] = 0xffffffff; - puVar9[9] = 4; - puVar9[8] = 0xb9000201; - puVar9[10] = 0xb900031d; - puVar9[0xb] = 0xfa54040; - puVar6 = puVar9 + 0xe; - sVar10 = FUN_70003e6c(); - iVar7 = FUN_70003e7c(); - puVar9[0xc] = (iVar7 - 1U & 0x3ff) << 2 | 0xf6000000 | - ((int)sVar10 - 1U & 0x3ff) << 0xe; - puVar9[0xd] = 0; - } - puStack56 = (undefined4 *)FUN_7000a26c(puVar6); - lVar1 = FUN_7f090400(); - if (lVar1 != 0) { - puStack56 = (undefined4 *)FUN_70002bc8(puStack56); - } - if (DAT_80022190 != 0) { - FUN_7f0903c0(); - puStack56 = (undefined4 *)FUN_7f090378(puStack56); - } - *puStack56 = 0xe9000000; - puStack56[1] = 0; - puStack56[2] = 0xb8000000; - puStack56[3] = 0; - puStack56 = puStack56 + 4; - if (DAT_80022044 != 0) { - loc_700098F4(); - FUN_700096fc(); - FUN_7f0bcb24(puStack56); - sub_GAME_7F0CBEE8(0); - DAT_80022044 = 0; - } - if (DAT_80022048 != 0) { - FUN_7f0bcbc0(puStack56); - } - FUN_7f0bca4c(puStack56); - FUN_7f0bcae8(); - FUN_70002e0c(); - lVar1 = FUN_7f0904b8(); - if (((lVar1 != 0) && (lVar1 = FUN_7000b120(0,0xc000), lVar1 != 0)) && - (lVar1 = FUN_7000b080(0,0xc000), lVar1 == 0xc000)) { - while( true ) { - FUN_7000a0f4(auStack388,s_u64_taskgrab__d_core_80024804,DAT_800221b4); - lVar1 = FUN_7f0cf5b8(auStack388,auStack392); - if (lVar1 == 0) break; - DAT_800221b4 += 1; - } - FUN_7f0cf500(auStack388,0xffffffff80000000,0x400000); - } - FUN_7f0cf338(uStack60,puStack56,0,&uStack44); - uVar14 += 1; - FUN_70009270(); - FUN_7f0c00a4(); - uStack52 ^= 1; - video_related_3(0x10000); - } - } - else { - if (sVar10 == 2) { - uVar14 -= 1; - } - else { - if (sVar10 == 5) { - uVar14 = 4; - } - } - } - } while ((DAT_8002218c < 0) || (uVar14 != 0)); - } - cleanupSFXRelated(); - FUN_7f0bfd7c(); - FUN_70008e24(4); - FUN_7f0bc574(4); - DAT_80022038 = DAT_8002218c; - DAT_8002218c = -1; - if (iStack4 != 0) { - FUN_7f0d0f9c(); - return; - } - } while( true ); -} - - - -void FUN_70005d78(void) - -{ - FUN_70005d98(0x5a); - return; -} - - - -void FUN_70005d98(undefined4 uParm1) - -{ - DAT_8002218c = uParm1; - return; -} - - - -undefined4 FUN_70005da4(void) - -{ - return DAT_80022038; -} - - - -void FUN_70005db0(void) - -{ - longlong lVar1; - - FUN_7f057830(); - FUN_7f057820(); - lVar1 = FUN_70005da4(); - if ((lVar1 != 0x36) && (lVar1 = FUN_7f057798(), lVar1 != 0)) { - FUN_7f01d1fc(); - } - FUN_70005d78(); - return; -} - - - -void FUN_70005e18(void) - -{ - FUN_70004280(&DAT_80022030,s_boss_c_debug_8002481c); - return; -} - - - -void music_related_15(ushort *puParm1,int iParm2) - -{ - longlong lVar1; - ushort *puVar2; - int iVar3; - - lVar1 = 0; - if (*puParm1 != 0) { - iVar3 = *(int *)(puParm1 + 2); - puVar2 = puParm1; - while( true ) { - lVar1 = (longlong)((int)lVar1 + 1); - *(int *)(puVar2 + 2) = iVar3 + iParm2; - if ((longlong)(ulonglong)*puParm1 <= lVar1) break; - iVar3 = *(int *)(puVar2 + 6); - puVar2 = puVar2 + 4; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70005e90(void) - -{ - ushort uVar1; - undefined *puVar2; - undefined *puVar3; - ushort *puVar4; - int iVar5; - undefined2 *puVar6; - undefined2 *puVar7; - undefined4 local_98; - undefined4 local_94; - undefined local_90; - undefined4 local_8c; - undefined4 local_88; - undefined4 local_84; - undefined4 local_80; - undefined4 local_7c; - undefined4 local_78; - undefined local_74; - undefined4 local_70; - undefined4 local_6c; - undefined4 local_68; - undefined4 local_64; - undefined4 local_60; - undefined4 local_5c; - undefined local_58; - undefined4 local_54; - undefined4 local_50; - undefined4 local_4c; - undefined4 local_48; - undefined4 local_44; - undefined4 local_40; - undefined4 local_3c; - undefined4 local_34; - undefined4 local_30; - undefined4 local_2c; - undefined local_28; - int local_1c; - int local_14; - undefined4 local_10; - undefined4 local_c; - undefined4 local_8; - undefined4 local_4; - - if (DAT_80022288 == '\0') { - puVar2 = (undefined *)FUN_70008b80(0x2e000,6); - puVar3 = puVar2; - do { - puVar3 = puVar3 + 1; - *puVar3 = 0; - puVar3 = puVar3; - } while (puVar3 < puVar2 + 0x2e000); - alHeapInit(0xffffffff800568f0,puVar2,0x2e000); - local_14 = alHeapDBAlloc(0,0,0xffffffff800568f0,1,0x5bc0); - FUN_7000503c(local_14,0x2e2220,0x5bc0); - loc_70010F58(local_14,0x2e7de0); - _DAT_80056900 = *(undefined4 *)(local_14 + 4); - local_1c = alHeapDBAlloc(0,0,0xffffffff800568f0,1,0x43a0); - FUN_7000503c(local_1c,0x3aa890,0x43a0); - loc_70010F58(local_1c,0x3aec30); - _DAT_80056904 = *(undefined4 *)(local_1c + 4); - _DAT_80056914 = (ushort *)alHeapDBAlloc(0,0,0xffffffff800568f0,1,0x10); - FUN_7000503c(_DAT_80056914,0x40fbd0,0x10); - uVar1 = *_DAT_80056914; - _DAT_80056914 = (ushort *)alHeapDBAlloc(0,0,0xffffffff800568f0,1,(uint)uVar1 * 8 + 4); - FUN_7000503c(_DAT_80056914,0x40fbd0,((uint)uVar1 * 8 + 0x13 | 0xf) ^ 0xf); - music_related_15(_DAT_80056914,0x40fbd0); - _DAT_80056a18 = alHeapDBAlloc(0,0,0xffffffff800568f0,1,0x18c8); - _DAT_80056a1c = alHeapDBAlloc(0,0,0xffffffff800568f0,1,6000); - _DAT_80056a20 = _DAT_80056a1c + 2000; - puVar4 = (ushort *)&DAT_80056918; - iVar5 = (int)_DAT_80056914; - puVar6 = (undefined2 *)&DAT_80056998; - do { - uVar1 = *(ushort *)(iVar5 + 8); - puVar7 = puVar6 + 1; - *puVar4 = uVar1; - *puVar6 = *(undefined2 *)(iVar5 + 10); - if ((uVar1 & 1) != 0) { - *puVar4 = uVar1 + 1; - } - puVar4 = puVar4 + 1; - iVar5 = iVar5 + 8; - puVar6 = puVar7; - } while (puVar7 != (undefined2 *)0x80056a16); - local_44 = 0; - local_40 = 0x18; - local_3c = 0x80; - local_34 = 0; - local_28 = 6; - local_2c = 0; - local_30 = 0x800568f0; - __clearAudioDMA(&local_44); - local_60 = 0x10; - local_5c = 0x40; - local_58 = 0x10; - local_54 = 0x800568f0; - local_50 = 0; - local_4c = 0; - local_48 = 0; - local_7c = 0x10; - local_78 = 0x40; - local_74 = 0x10; - local_70 = 0x800568f0; - local_6c = 0; - local_68 = 0; - local_64 = 0; - local_98 = 0x10; - local_94 = 0x40; - local_90 = 0x10; - local_8c = 0x800568f0; - local_88 = 0; - local_84 = 0; - local_80 = 0; - _DAT_80056908 = alHeapDBAlloc(0,0,0xffffffff800568f0,1,0x7c); - _DAT_8005690c = alHeapDBAlloc(0,0,0xffffffff800568f0,1,0x7c); - _DAT_80056910 = alHeapDBAlloc(0,0,0xffffffff800568f0,1,0x7c); - loc_70012188(_DAT_80056908,&local_60); - FUN_70011a20(_DAT_80056908,_DAT_80056904); - loc_70012188(_DAT_8005690c,&local_7c); - FUN_70011a20(_DAT_8005690c,_DAT_80056904); - loc_70012188(_DAT_80056910,&local_98); - FUN_70011a20(_DAT_80056910,_DAT_80056904); - local_c = 0x40; - local_10 = 0x40; - local_8 = 8; - local_4 = 0x800568f0; - FUN_70006f80(&local_10); - FUN_700023c8(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700062dc(int iParm1) - -{ - ushort uVar1; - longlong lVar2; - ulonglong uVar3; - int iVar4; - undefined auStack8468 [8460]; - int local_8; - - if (DAT_80022288 == '\0') { - if (DAT_800221c4 != 0) { - FUN_70006430(); - } - DAT_800221c4 = iParm1; - lVar2 = alCSPGetState(_DAT_80056908); - while (lVar2 != 0) { - lVar2 = alCSPGetState(_DAT_80056908); - } - if (*(uint *)(_DAT_80056914 + DAT_800221c4 * 8 + 4) < 0x10000) { - FUN_700062dc(1); - } - else { - uVar1 = *(ushort *)(&DAT_80056998 + DAT_800221c4 * 2); - iVar4 = _DAT_80056a18 + - (((uint)*(ushort *)(&DAT_80056918 + DAT_800221c4 * 2) + 0xf | 0xf) ^ 0xf) + 0x40; - local_8 = _DAT_80056a18; - FUN_7000503c(); - sub_GAME_7F0CE894(iVar4 - (((uint)uVar1 + 0xf | 0xf) ^ 0xf),local_8,auStack8468); - loc_70012880(0xffffffff80056a40,_DAT_80056a18); - FUN_70012530(_DAT_80056908,0xffffffff80056a40); - uVar3 = FUN_70006490(); - FUN_7000649c(uVar3 & 0xffff); - FUN_70012570(_DAT_80056908); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006430(void) - -{ - longlong lVar1; - - if (DAT_80022288 == '\0') { - DAT_800221dc = 0; - if ((DAT_800221c4 != 0) && (lVar1 = alCSPGetState(_DAT_80056908), lVar1 == 1)) { - FUN_700125a0(_DAT_80056908); - } - DAT_800221c4 = 0; - } - return; -} - - - -ulonglong FUN_70006490(void) - -{ - return (ulonglong)DAT_800221c8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000649c(ulonglong uParm1) - -{ - DAT_800221c8 = (undefined2)(uParm1 & 0xffff); - alCSPSetVol(_DAT_80056908, - (short)((uint)((int)(uParm1 & 0xffff) * (int)(short)(&DAT_800221e8)[DAT_800221c4]) >> - 0xf)); - return; -} - - - -void FUN_70006500(void) - -{ - undefined2 uVar2; - undefined2 *puVar1; - short sVar3; - - uVar2 = FUN_70006490(); - (&DAT_800221e8)[DAT_800221c4] = uVar2; - puVar1 = &DAT_800221e8; - sVar3 = DAT_800221ea; - if (-1 < DAT_800221e8) { - while (-1 < sVar3) { - sVar3 = puVar1[2]; - puVar1 = puVar1 + 1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006558(float fParm1) - -{ - if (-1 < DAT_800221dc) { - _DAT_80056a24 = FUN_70006490(); - _DAT_80056a2a = 0; - _DAT_80056a30 = (int)(fParm1 * 50.00000000); - DAT_800221dc = -1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700065c8(float fParm1,undefined8 uParm2,short sParm3) - -{ - if (DAT_800221dc < 1) { - FUN_70012570(_DAT_80056908); - _DAT_80056a2a = sParm3; - if (sParm3 == -1) { - _DAT_80056a2a = _DAT_80056a24; - } - _DAT_80056a24 = 0; - _DAT_80056a30 = (int)(fParm1 * 50.00000000); - DAT_800221dc = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006664(int iParm1) - -{ - ushort uVar1; - longlong lVar2; - ulonglong uVar3; - int iVar4; - undefined auStack8468 [8460]; - int local_8; - - if (DAT_80022288 == '\0') { - if (DAT_800221cc != 0) { - FUN_700067b8(); - } - DAT_800221cc = iParm1; - lVar2 = alCSPGetState(_DAT_8005690c); - while (lVar2 != 0) { - lVar2 = alCSPGetState(_DAT_8005690c); - } - if (*(uint *)(_DAT_80056914 + DAT_800221cc * 8 + 4) < 0x10000) { - FUN_70006664(1); - } - else { - uVar1 = *(ushort *)(&DAT_80056998 + DAT_800221cc * 2); - iVar4 = _DAT_80056a1c + - (((uint)*(ushort *)(&DAT_80056918 + DAT_800221cc * 2) + 0xf | 0xf) ^ 0xf) + 0x40; - local_8 = _DAT_80056a1c; - FUN_7000503c(); - sub_GAME_7F0CE894(iVar4 - (((uint)uVar1 + 0xf | 0xf) ^ 0xf),local_8,auStack8468); - loc_70012880(0xffffffff80056b38,_DAT_80056a1c); - FUN_70012530(_DAT_8005690c,0xffffffff80056b38); - uVar3 = FUN_70006818(); - FUN_70006824(uVar3 & 0xffff); - FUN_70012570(_DAT_8005690c); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700067b8(void) - -{ - longlong lVar1; - - if (DAT_80022288 == '\0') { - DAT_800221e0 = 0; - if ((DAT_800221cc != 0) && (lVar1 = alCSPGetState(_DAT_8005690c), lVar1 == 1)) { - FUN_700125a0(_DAT_8005690c); - } - DAT_800221cc = 0; - } - return; -} - - - -ulonglong FUN_70006818(void) - -{ - return (ulonglong)DAT_800221d0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006824(ulonglong uParm1) - -{ - DAT_800221d0 = (undefined2)(uParm1 & 0xffff); - alCSPSetVol(_DAT_8005690c, - (short)((uint)((int)(uParm1 & 0xffff) * (int)(short)(&DAT_800221e8)[DAT_800221cc]) >> - 0xf)); - return; -} - - - -void FUN_70006888(void) - -{ - undefined2 uVar2; - undefined2 *puVar1; - short sVar3; - - uVar2 = FUN_70006818(); - (&DAT_800221e8)[DAT_800221cc] = uVar2; - puVar1 = &DAT_800221e8; - sVar3 = DAT_800221ea; - if (-1 < DAT_800221e8) { - while (-1 < sVar3) { - sVar3 = puVar1[2]; - puVar1 = puVar1 + 1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700068e0(float fParm1) - -{ - if (-1 < DAT_800221e0) { - _DAT_80056a26 = FUN_70006818(); - _DAT_80056a2c = 0; - _DAT_80056a34 = (int)(fParm1 * 50.00000000); - DAT_800221e0 = -1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006950(float fParm1,undefined8 uParm2,short sParm3) - -{ - if (DAT_800221e0 < 1) { - FUN_70012570(_DAT_8005690c); - _DAT_80056a2c = sParm3; - if (sParm3 == -1) { - _DAT_80056a2c = _DAT_80056a26; - } - _DAT_80056a26 = 0; - _DAT_80056a34 = (int)(fParm1 * 50.00000000); - DAT_800221e0 = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700069ec(int iParm1) - -{ - ushort uVar1; - longlong lVar2; - ulonglong uVar3; - int iVar4; - undefined auStack8468 [8460]; - int local_8; - - if (DAT_80022288 == '\0') { - if (DAT_800221d4 != 0) { - FUN_70006b40(); - } - DAT_800221d4 = iParm1; - lVar2 = alCSPGetState(_DAT_80056910); - while (lVar2 != 0) { - lVar2 = alCSPGetState(_DAT_80056910); - } - if (*(uint *)(_DAT_80056914 + DAT_800221d4 * 8 + 4) < 0x10000) { - FUN_700069ec(1); - } - else { - uVar1 = *(ushort *)(&DAT_80056998 + DAT_800221d4 * 2); - iVar4 = _DAT_80056a20 + - (((uint)*(ushort *)(&DAT_80056918 + DAT_800221d4 * 2) + 0xf | 0xf) ^ 0xf) + 0x40; - local_8 = _DAT_80056a20; - FUN_7000503c(); - sub_GAME_7F0CE894(iVar4 - (((uint)uVar1 + 0xf | 0xf) ^ 0xf),local_8,auStack8468); - loc_70012880(0xffffffff80056c30,_DAT_80056a20); - FUN_70012530(_DAT_80056910,0xffffffff80056c30); - uVar3 = FUN_70006ba0(); - FUN_70006bac(uVar3 & 0xffff); - FUN_70012570(_DAT_80056910); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006b40(void) - -{ - longlong lVar1; - - if (DAT_80022288 == '\0') { - DAT_800221e4 = 0; - if ((DAT_800221d4 != 0) && (lVar1 = alCSPGetState(_DAT_80056910), lVar1 == 1)) { - FUN_700125a0(_DAT_80056910); - } - DAT_800221d4 = 0; - } - return; -} - - - -ulonglong FUN_70006ba0(void) - -{ - return (ulonglong)DAT_800221d8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006bac(ulonglong uParm1) - -{ - DAT_800221d8 = (undefined2)(uParm1 & 0xffff); - alCSPSetVol(_DAT_80056910, - (short)((uint)((int)(uParm1 & 0xffff) * (int)(short)(&DAT_800221e8)[DAT_800221d4]) >> - 0xf)); - return; -} - - - -void FUN_70006c10(void) - -{ - undefined2 uVar2; - undefined2 *puVar1; - short sVar3; - - uVar2 = FUN_70006ba0(); - (&DAT_800221e8)[DAT_800221d4] = uVar2; - puVar1 = &DAT_800221e8; - sVar3 = DAT_800221ea; - if (-1 < DAT_800221e8) { - while (-1 < sVar3) { - sVar3 = puVar1[2]; - puVar1 = puVar1 + 1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006c68(float fParm1) - -{ - if (-1 < DAT_800221e4) { - _DAT_80056a28 = FUN_70006ba0(); - _DAT_80056a2e = 0; - _DAT_80056a38 = (int)(fParm1 * 50.00000000); - DAT_800221e4 = -1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006cd8(float fParm1,undefined8 uParm2,short sParm3) - -{ - if (DAT_800221e4 < 1) { - FUN_70012570(_DAT_80056910); - _DAT_80056a2e = sParm3; - if (sParm3 == -1) { - _DAT_80056a2e = _DAT_80056a28; - } - _DAT_80056a28 = 0; - _DAT_80056a38 = (int)(fParm1 * 50.00000000); - DAT_800221e4 = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void music_related_15(void) - -{ - int iVar1; - uint uVar2; - - if (DAT_800221dc != 0) { - iVar1 = FUN_70006490(); - uVar2 = iVar1 + (int)((float)((uint)_DAT_80056a2a - iVar1) / (float)_DAT_80056a30) & 0xffff; - FUN_7000649c(uVar2); - _DAT_80056a30 += -1; - if (_DAT_80056a30 < 1) { - if ((short)uVar2 == 0) { - FUN_700125a0(_DAT_80056908); - } - _DAT_80056a30 = 0; - DAT_800221dc = 0; - } - } - if (DAT_800221e0 != 0) { - iVar1 = FUN_70006818(); - uVar2 = iVar1 + (int)((float)((uint)_DAT_80056a2c - iVar1) / (float)_DAT_80056a34) & 0xffff; - FUN_70006824(uVar2); - _DAT_80056a34 += -1; - if (_DAT_80056a34 < 1) { - if ((short)uVar2 == 0) { - FUN_700125a0(_DAT_8005690c); - } - _DAT_80056a34 = 0; - DAT_800221e0 = 0; - } - } - if (DAT_800221e4 != 0) { - iVar1 = FUN_70006ba0(); - uVar2 = iVar1 + (int)((float)((uint)_DAT_80056a2e - iVar1) / (float)_DAT_80056a38) & 0xffff; - FUN_70006bac(uVar2); - _DAT_80056a38 += -1; - if (_DAT_80056a38 < 1) { - if ((short)uVar2 == 0) { - FUN_700125a0(_DAT_80056910); - } - _DAT_80056a38 = 0; - DAT_800221e4 = 0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006f80(uint *puParm1) - -{ - undefined4 uVar2; - undefined8 uVar1; - int iVar3; - uint uVar4; - undefined2 auStack24 [12]; - - DAT_80022280[0x11] = puParm1[2]; - DAT_80022280[0xf] = 0; - DAT_80022280[0x12] = 33000; - uVar2 = alHeapDBAlloc(0,0,puParm1[3],1,*puParm1 << 6); - DAT_80022280[0x10] = uVar2; - uVar1 = alHeapDBAlloc(0,0,puParm1[3],1,puParm1[1] * 0x1c); - loc_70013104(DAT_80022280 + 5,uVar1,puParm1[1]); - uVar4 = 1; - DAT_8002227c = DAT_80022280[0x10]; - if (*puParm1 < 2) { - uVar4 = puParm1[3]; - } - else { - do { - iVar3 = uVar4 * 0x40 + DAT_80022280[0x10]; - locret_7000EADC(iVar3,iVar3 + -0x40); - uVar4 += 1; - } while (uVar4 < *puParm1); - uVar4 = puParm1[3]; - } - _DAT_80056d84 = (undefined2 *)alHeapDBAlloc(0,0,uVar4,2,7); - _DAT_80056d88 = (undefined2 *)alHeapDBAlloc(0,0,puParm1[3],2,7); - *_DAT_80056d84 = 0x7fff; - *_DAT_80056d88 = *_DAT_80056d84; - _DAT_80056d84[1] = 0x7fff; - _DAT_80056d88[1] = _DAT_80056d84[1]; - _DAT_80056d84[2] = 0x7fff; - _DAT_80056d88[2] = _DAT_80056d84[2]; - _DAT_80056d84[3] = 0x7fff; - _DAT_80056d88[3] = _DAT_80056d84[3]; - _DAT_80056d84[4] = 0x7fff; - _DAT_80056d88[4] = _DAT_80056d84[4]; - _DAT_80056d84[5] = 0x7fff; - _DAT_80056d88[5] = _DAT_80056d84[5]; - _DAT_80056d84[6] = 0x7fff; - _DAT_80056d88[6] = _DAT_80056d84[6]; - DAT_80022280[0xe] = DAT_800231e0; - *DAT_80022280 = 0; - DAT_80022280[2] = 0x7000723c; - *(undefined4 **)(DAT_80022280 + 1) = DAT_80022280; - alSynAddPlayer(DAT_80022280[0xe],DAT_80022280); - auStack24[0] = 0x20; - FUN_7001272c(DAT_80022280 + 5,auStack24,DAT_80022280[0x12]); - uVar2 = FUN_70012850(DAT_80022280 + 5,DAT_80022280 + 10); - DAT_80022280[0x13] = uVar2; - return; -} - - - -void loc_70007E44(int iParm1) - -{ - longlong lVar1; - undefined2 auStack20 [10]; - - do { - if (*(short *)(iParm1 + 0x28) == 0x20) { - auStack20[0] = 0x20; - FUN_7001272c(iParm1 + 0x14,auStack20,*(undefined4 *)(iParm1 + 0x48)); - } - else { - loc_7000891C(iParm1,iParm1 + 0x28); - } - lVar1 = FUN_70012850(iParm1 + 0x14,iParm1 + 0x28); - *(int *)(iParm1 + 0x4c) = (int)lVar1; - } while (lVar1 == 0); - *(int *)(iParm1 + 0x50) = *(int *)(iParm1 + 0x50) + (int)lVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7000891C(int iParm1,ushort *puParm2) - -{ - byte bVar1; - char cVar2; - int **ppiVar3; - int *piVar4; - bool bVar5; - uint uVar6; - ushort uVar7; - undefined2 uVar8; - uint uVar9; - uint uVar10; - undefined4 *puVar11; - float fVar12; - float fVar13; - int iVar14; - undefined2 auStack116 [2]; - int iStack112; - int iStack100; - undefined auStack96 [2]; - undefined auStack94 [2]; - undefined4 *puStack92; - undefined4 *puStack88; - int iStack84; - uint uStack80; - int iStack64; - ushort auStack52 [2]; - undefined4 *puStack48; - undefined4 uStack44; - undefined2 auStack36 [2]; - undefined4 *puStack32; - ushort uStack8; - undefined2 uStack6; - undefined uStack4; - - uStack80 = 1; - iStack84 = 0; - puStack92 = NULL; - do { - if (puStack92 == NULL) { - puStack88 = *(undefined4 **)(puParm2 + 2); - } - else { - auStack52[0] = *puParm2; - uStack44 = *(undefined4 *)(puParm2 + 4); - puParm2 = auStack52; - puStack48 = puStack88; - } - ppiVar3 = (int **)puStack88[2]; - if (ppiVar3 == NULL) { - FUN_70007f50(auStack94,auStack96); - return; - } - puStack92 = (undefined4 *)*puStack88; - piVar4 = ppiVar3[1]; - uVar7 = *puParm2; - if (uVar7 < 0x101) { - if (uVar7 < 0x41) { - if (uVar7 < 0x11) { - if (false) { -switchD_70007414_caseD_3: - uVar7 &= 0x2d1; - } - else { - switch(uVar7) { - case 1: - if ((*(char *)((int)puStack88 + 0x3f) != '\x05') && - (*(char *)((int)puStack88 + 0x3f) != '\x04')) { - return; - } - uStack6 = 0; - uStack4 = 0; - uStack8 = (ushort)*(byte *)((int)puStack88 + 0x36); - bVar5 = (longlong)*(int *)(iParm1 + 0x44) <= (longlong)DAT_80022284; - if ((!bVar5) || (bVar1 = *(byte *)((int)puStack88 + 0x3e), (bVar1 & 0x10) != 0)) { - iStack84 = loc_70013380(*(undefined4 *)(iParm1 + 0x38),puStack88 + 3,&uStack8); - bVar1 = *(byte *)((int)puStack88 + 0x3e); - } - puVar11 = puStack88 + 3; - if (iStack84 == 0) { - if (((bVar1 & 0x12) == 0) && ((int)puStack88[0xe] < 1)) { - if (bVar5) { - bVar1 = *(byte *)(DAT_80022278 + 0x3e); - iVar14 = DAT_80022278; - while( true ) { - if ((((bVar1 & 0x12) == 0) && ((bVar1 & 4) != 0)) && - (*(char *)(iVar14 + 0x3f) != '\x03')) { - auStack116[0] = 0x80; - *(undefined *)(iVar14 + 0x3f) = 3; - bVar5 = false; - iStack112 = iVar14; - iStack100 = iVar14; - FUN_7001272c(iParm1 + 0x14,auStack116,1000); - alSynSetVol(*(undefined4 *)(iParm1 + 0x38),iStack100 + 0xc,0,1000); - iVar14 = iStack100; - } - iVar14 = *(int *)(iVar14 + 4); - if ((!bVar5) || (iVar14 == 0)) break; - bVar1 = *(byte *)(iVar14 + 0x3e); - } - if (bVar5) { - loc_70008994(puStack88); - } - else { - puStack88[0xe] = 2; - FUN_7001272c(iParm1 + 0x14,puParm2,0x3e9); - } - } - else { - loc_70008994(puStack88); - } - } - else { - *(undefined *)((int)puStack88 + 0x3f) = 4; - puStack88[0xe] = puStack88[0xe] + -1; - FUN_7001272c(iParm1 + 0x14,puParm2,0x8235); - } - return; - } - *(byte *)((int)puStack88 + 0x3e) = bVar1 | 4; - FUN_70012c70(*(undefined4 *)(iParm1 + 0x38),puVar11,ppiVar3[2]); - *(undefined *)((int)puStack88 + 0x3f) = 1; - DAT_80022284 += 1; - iVar14 = **ppiVar3; - fVar12 = (float)puStack88[0xb]; - fVar13 = (float)puStack88[10]; - iStack64 = ((int)*(short *)(_DAT_80056d84 + - ((uint)*(byte *)((int)piVar4 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)(*ppiVar3 + 3) * (int)*(short *)(puStack88 + 0xd) * - (uint)*(byte *)((int)ppiVar3 + 0xd)) / 0x3f01)) / 0x7fff + -1; - if (iStack64 < 0) { - iStack64 = 0; - } - alSynSetVol(*(undefined4 *)(iParm1 + 0x38),puVar11,0,0); - alSynSetVol(*(undefined4 *)(iParm1 + 0x38),puVar11,(short)iStack64, - (int)(((float)iVar14 / fVar12) / fVar13)); - uVar9 = 0x7f; - uVar10 = ((uint)*(byte *)(puStack88 + 0xf) + (uint)*(byte *)(ppiVar3 + 3)) - 0x40; - uVar6 = 0; - if (0 < (int)uVar10) { - uVar6 = uVar10; - } - if ((int)uVar6 < 0x7f) { - if ((int)uVar10 < 1) { - uVar9 = 0; - } - else { - uVar9 = uVar10 & 0xff; - } - } - FUN_70012d00(*(undefined4 *)(iParm1 + 0x38),puVar11,uVar9); - FUN_70012d90(*(undefined4 *)(iParm1 + 0x38),puVar11, - (float)puStack88[0xb] * (float)puStack88[10]); - uVar10 = ((uint)*(byte *)((int)puStack88 + 0x3d) + - ((uint)*(byte *)((int)piVar4 + 3) & 0xf)) * 8; - uVar6 = uVar10; - if (false) { - uVar6 = 0; - } - if (uVar6 < 0x80) { - if (false) { - uVar10 = 0; - } - } - else { - uVar10 = 0x7f; - } - FUN_70012e20(*(undefined4 *)(iParm1 + 0x38),puVar11,uVar10 & 0xff); - auStack36[0] = 0x40; - puStack32 = puStack88; - FUN_7001272c(iParm1 + 0x14,auStack36, - (int)(((float)**ppiVar3 / (float)puStack88[0xb]) / (float)puStack88[10])) - ; - uVar7 = *puParm2 & 0x2d1; - break; - case 2: - goto LAB_700077ec; - default: - goto switchD_70007414_caseD_3; - case 4: - uVar6 = *(uint *)(puParm2 + 4); - *(char *)(puStack88 + 0xf) = (char)uVar6; - if (*(char *)((int)puStack88 + 0x3f) == '\x01') { - uVar10 = ((uVar6 & 0xff) + (uint)*(byte *)(ppiVar3 + 3)) - 0x40; - uVar9 = 0x7f; - uVar6 = 0; - if (0 < (int)uVar10) { - uVar6 = uVar10; - } - if ((int)uVar6 < 0x7f) { - if ((int)uVar10 < 1) { - uVar9 = 0; - } - else { - uVar9 = uVar10 & 0xff; - } - } - FUN_70012d00(*(undefined4 *)(iParm1 + 0x38),puStack88 + 3,uVar9); - } - uVar7 = *puParm2 & 0x2d1; - break; - case 8: - *(short *)(puStack88 + 0xd) = (short)*(undefined4 *)(puParm2 + 4); - if (*(char *)((int)puStack88 + 0x3f) == '\x01') { - iVar14 = ((int)*(short *)(_DAT_80056d84 + - ((uint)*(byte *)((int)piVar4 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(puStack88 + 0xd) * - (uint)*(byte *)((int)ppiVar3 + 0xd)) / 0x3f01)) / 0x7fff + -1; - uVar8 = (undefined2)iVar14; - if (iVar14 < 0) { - uVar8 = 0; - } - alSynSetVol(*(undefined4 *)(iParm1 + 0x38),puStack88 + 3,uVar8,1000); - } - uVar7 = *puParm2 & 0x2d1; - break; - case 0x10: - puStack88[0xb] = *(undefined4 *)(puParm2 + 4); - if (*(char *)((int)puStack88 + 0x3f) == '\x01') { - FUN_70012d90(*(undefined4 *)(iParm1 + 0x38),puStack88 + 3, - (float)puStack88[0xb] * (float)puStack88[10]); - if ((*(byte *)((int)puStack88 + 0x3e) & 0x20) != 0) { - FUN_70007e24(puStack88); - goto LAB_70007998; - } - uVar7 = *puParm2; - } - else { -LAB_70007998: - uVar7 = *puParm2; - } - uVar7 &= 0x2d1; - } - } - } - else { - if (uVar7 == 0x40) { - if ((*(byte *)((int)puStack88 + 0x3e) & 2) == 0) { - iVar14 = ((int)*(short *)(_DAT_80056d84 + - ((uint)*(byte *)((int)piVar4 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(puStack88 + 0xd) * (uint)*(byte *)((int)ppiVar3 + 0xd) - ) / 0x3f01)) / 0x7fff + -1; - uVar8 = (undefined2)iVar14; - if (iVar14 < 0) { - uVar8 = 0; - } - iVar14 = (int)(((float)(*ppiVar3)[1] / (float)puStack88[10]) / (float)puStack88[0xb]); - alSynSetVol(*(undefined4 *)(iParm1 + 0x38),puStack88 + 3,uVar8,iVar14); - auStack36[0] = 2; - puStack32 = puStack88; - FUN_7001272c(iParm1 + 0x14,auStack36,iVar14); - if ((*(byte *)((int)puStack88 + 0x3e) & 0x20) == 0) { - uVar7 = *puParm2; - } - else { - FUN_70007e24(puStack88); - uVar7 = *puParm2; - } - } - else { - uVar7 = *puParm2; - } - uVar7 &= 0x2d1; - } - else { - uVar7 &= 0x2d1; - } - } - } - else { - if (uVar7 == 0x80) { - loc_70008994(puStack88); - uVar7 = *puParm2 & 0x2d1; - } - else { - if (uVar7 == 0x100) { - uVar6 = *(uint *)(puParm2 + 4); - *(undefined *)((int)puStack88 + 0x3d) = (char)uVar6; - if (*(char *)((int)puStack88 + 0x3f) == '\x01') { - uVar10 = ((uVar6 & 0xff) + ((uint)*(byte *)((int)piVar4 + 3) & 0xf)) * 8; - uVar6 = uVar10; - if (false) { - uVar6 = 0; - } - if (uVar6 < 0x80) { - if (false) { - uVar10 = 0; - } - } - else { - uVar10 = 0x7f; - } - FUN_70012e20(*(undefined4 *)(iParm1 + 0x38),puStack88 + 3,uVar10 & 0xff); - } - uVar7 = *puParm2 & 0x2d1; - } - else { - uVar7 &= 0x2d1; - } - } - } - } - else { - if (uVar7 == 0x200) { - if ((*(byte *)((int)puStack88 + 0x3e) & 0x10) != 0) { - FUN_70008268(*(undefined4 *)(puParm2 + 6),puParm2[5],puStack88[0xc]); - uVar7 = *puParm2; - } - uVar7 &= 0x2d1; - } - else { - if (uVar7 == 0x400) { -LAB_700077ec: - if (uVar7 == 0x1000) { - if ((*(byte *)((int)puStack88 + 0x3e) & 2) != 0) { - cVar2 = *(char *)((int)puStack88 + 0x3f); - goto LAB_70007808; - } - } - else { - cVar2 = *(char *)((int)puStack88 + 0x3f); -LAB_70007808: - if (cVar2 == '\x01') { - loc_70008AC8(iParm1 + 0x14,puStack88,0x40); - iVar14 = (int)(((float)(*ppiVar3)[2] / (float)puStack88[10]) / (float)puStack88[0xb]); - alSynSetVol(*(undefined4 *)(iParm1 + 0x38),puStack88 + 3,0,iVar14); - if (iVar14 == 0) { - loc_70008994(puStack88); - } - else { - auStack36[0] = 0x80; - puStack32 = puStack88; - FUN_7001272c(iParm1 + 0x14,auStack36,iVar14); - *(undefined *)((int)puStack88 + 0x3f) = 2; - } - uVar7 = *puParm2; - } - else { - if ((cVar2 == '\x04') || (cVar2 == '\x05')) { - loc_70008994(puStack88); - uVar7 = *puParm2; - } - } - if (uVar7 == 2) { - *puParm2 = 0x1000; - uVar7 = 0; - } - } - uVar7 &= 0x2d1; - } - else { - if (uVar7 == 0x800) { - if (*(char *)((int)puStack88 + 0x3f) == '\x01') { - iVar14 = ((int)*(short *)(_DAT_80056d84 + - ((uint)*(byte *)((int)piVar4 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(puStack88 + 0xd) * (uint)*(byte *)((int)ppiVar3 + 0xd) - ) / 0x3f01)) / 0x7fff + -1; - uVar8 = (undefined2)iVar14; - if (iVar14 < 0) { - uVar8 = 0; - } - alSynSetVol(*(undefined4 *)(iParm1 + 0x38),puStack88 + 3,uVar8, - (int)(((float)(*ppiVar3)[2] / (float)puStack88[10]) / - (float)puStack88[0xb])); - uVar7 = *puParm2; - } - uVar7 &= 0x2d1; - } - else { - if (uVar7 == 0x1000) goto LAB_700077ec; - uVar7 &= 0x2d1; - } - } - } - } - if ((puStack92 != NULL) && (uVar7 == 0)) { - uStack80 = (uint)*(byte *)((int)puStack92 + 0x3e) & 1; - } - if (uStack80 != 0) { - return; - } - if (puStack92 == NULL) { - return; - } - puStack88 = puStack92; - if (uVar7 != 0) { - return; - } - } while( true ); -} - - - -void loc_70008994(int iParm1) - -{ - if ((*(byte *)(iParm1 + 0x3e) & 4) != 0) { - alSynStopVoice(*(undefined4 *)(DAT_80022280 + 0x38)); - alSynFreeVoice(*(undefined4 *)(DAT_80022280 + 0x38),iParm1 + 0xc); - } - FUN_70008164(iParm1); - loc_70008AC8(DAT_80022280 + 0x14,iParm1,0xffff); - return; -} - - - -void FUN_70007e24(int iParm1) - -{ - undefined2 auStack16 [2]; - int iStack12; - float fStack8; - - fStack8 = (float)FUN_70012ff0(*(undefined *)(*(int *)(*(int *)(iParm1 + 8) + 4) + 5)); - auStack16[0] = 0x10; - fStack8 = fStack8 * *(float *)(iParm1 + 0x2c); - iStack12 = iParm1; - FUN_7001272c(DAT_80022280 + 0x14,auStack16,0x8235); - return; -} - - - -void loc_70008AC8(int iParm1,int iParm2,ushort uParm3) - -{ - int *piVar1; - int *piVar2; - undefined4 uVar3; - - uVar3 = osSetIntMask(1); - piVar2 = *(int **)(iParm1 + 8); - while (piVar1 = piVar2, piVar1 != NULL) { - piVar2 = (int *)*piVar1; - if ((iParm2 == piVar1[4]) && ((*(ushort *)(piVar1 + 3) & uParm3) != 0)) { - if (piVar2 != NULL) { - piVar2[2] = piVar2[2] + piVar1[2]; - } - alInit(piVar1); - locret_7000EADC(piVar1,iParm1); - } - } - osSetIntMask(uVar3); - return; -} - - - -uint FUN_70007f50(short *psParm1,short *psParm2) - -{ - int *piVar1; - short sVar2; - int iVar3; - short sVar4; - short sVar5; - uint uVar6; - - sVar4 = 0; - piVar1 = DAT_80022274; - sVar5 = 0; - if (DAT_80022274 != NULL) { - do { - piVar1 = (int *)*piVar1; - sVar4 = sVar5 + 1; - sVar5 = sVar4; - } while (piVar1 != NULL); - } - sVar2 = 0; - piVar1 = DAT_8002227c; - sVar5 = 0; - if (DAT_8002227c != NULL) { - do { - piVar1 = (int *)*piVar1; - sVar2 = sVar5 + 1; - sVar5 = sVar2; - } while (piVar1 != NULL); - } - uVar6 = 0; - iVar3 = DAT_80022278; - if (DAT_80022278 != 0) { - do { - iVar3 = *(int *)(iVar3 + 4); - uVar6 = uVar6 + 1 & 0xffff; - } while (iVar3 != 0); - } - *psParm1 = sVar2; - *psParm2 = sVar4; - return uVar6; -} - - - -undefined4 * FUN_70007fd0(undefined8 uParm1,int *piParm2) - -{ - byte bVar1; - int iVar2; - int iVar3; - undefined4 *puVar4; - undefined4 uVar5; - char cVar6; - - puVar4 = DAT_8002227c; - iVar2 = piParm2[1]; - if (DAT_8002227c != NULL) { - uVar5 = osSetIntMask(1); - DAT_8002227c = (undefined4 *)*puVar4; - alInit(puVar4); - if (DAT_80022274 == NULL) { - puVar4[1] = 0; - *puVar4 = 0; - DAT_80022278 = puVar4; - } - else { - *(undefined4 **)puVar4 = DAT_80022274; - puVar4[1] = 0; - *(undefined4 **)(DAT_80022274 + 1) = puVar4; - } - DAT_80022274 = puVar4; - osSetIntMask(uVar5); - iVar3 = *(int *)(*piParm2 + 4); - *(undefined *)((int)puVar4 + 0x3f) = 5; - cVar6 = (iVar3 == -1) + '@'; - *(char *)((int)puVar4 + 0x36) = cVar6; - puVar4[0xe] = 2; - *(int **)(puVar4 + 2) = piParm2; - puVar4[0xb] = 0x3f800000; - bVar1 = *(byte *)(iVar2 + 3); - puVar4[0xc] = 0; - *(byte *)((int)puVar4 + 0x3e) = bVar1 & 0xf0; - if ((bVar1 & 0x20) == 0) { - uVar5 = FUN_70012ff0(((uint)*(byte *)(iVar2 + 4) * 0x18 + (uint)*(byte *)(iVar2 + 4)) * 4 + - (int)*(char *)(iVar2 + 5) + -6000); - puVar4[10] = uVar5; - } - else { - uVar5 = FUN_70012ff0(((uint)*(byte *)(iVar2 + 4) * 0x18 + (uint)*(byte *)(iVar2 + 4)) * 4 + - -6000); - puVar4[10] = uVar5; - } - if (cVar6 != '@') { - *(byte *)((int)puVar4 + 0x3e) = *(byte *)((int)puVar4 + 0x3e) | 2; - } - *(undefined *)((int)puVar4 + 0x3d) = 0; - *(undefined *)(puVar4 + 0xf) = 0x40; - *(undefined2 *)(puVar4 + 0xd) = 0x7fff; - } - return puVar4; -} - - - -void FUN_70008164(int **ppiParm1) - -{ - int **ppiVar1; - - if (ppiParm1 == DAT_80022274) { - DAT_80022274 = (int **)*ppiParm1; - } - if (ppiParm1 == DAT_80022278) { - DAT_80022278 = (int **)ppiParm1[1]; - } - alInit(); - if (DAT_8002227c == NULL) { - ppiParm1[1] = NULL; - *ppiParm1 = NULL; - } - else { - *(int ***)ppiParm1 = DAT_8002227c; - ppiParm1[1] = NULL; - *(int ***)((int)DAT_8002227c + 4) = ppiParm1; - } - if ((*(byte *)((int)ppiParm1 + 0x3e) & 4) == 0) { - ppiVar1 = (int **)ppiParm1[0xc]; - } - else { - DAT_80022284 += -1; - ppiVar1 = (int **)ppiParm1[0xc]; - } - DAT_8002227c = ppiParm1; - *(undefined *)((int)ppiParm1 + 0x3f) = 0; - if (ppiVar1 != NULL) { - if (ppiParm1 == (int **)*ppiVar1) { - *ppiVar1 = NULL; - ppiParm1[0xc] = NULL; - } - else { - ppiParm1[0xc] = NULL; - } - } - return; -} - - - -ulonglong locret_70008E00(int iParm1) - -{ - if (iParm1 != 0) { - return (ulonglong)*(byte *)(iParm1 + 0x3f); - } - return 0; -} - - - -int FUN_70008268(int iParm1,short sParm2,int *piParm3) - -{ - byte bVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - undefined2 auStack64 [2]; - int iStack60; - int iStack56; - int iStack52; - undefined2 auStack48 [2]; - int iStack44; - int iStack28; - int iStack24; - short sStack18; - - iVar3 = (int)sParm2; - iVar6 = 0; - sStack18 = 0; - iVar5 = 0; - if (DAT_80022288 == '\0') { - if (iVar3 == 0) { - iVar6 = 0; - } - else { - iVar7 = *(int *)(iParm1 + 0xc); - iVar4 = iStack28; - while( true ) { - iVar7 = *(int *)(iVar7 + iVar3 * 4 + 0xc); - iVar2 = FUN_70007fd0(iParm1,iVar7); - if (iVar2 != 0) { - *(int *)(DAT_80022280 + 0x3c) = iVar2; - auStack48[0] = 1; - bVar1 = *(byte *)(*(int *)(iVar7 + 4) + 1); - iVar4 = ((uint)bVar1 * 0x208 + (uint)bVar1) * 0x40 + (uint)bVar1 * -0xb; - if ((*(byte *)(iVar2 + 0x3e) & 0x10) == 0) { - iStack44 = iVar2; - FUN_7001272c(DAT_80022280 + 0x14,auStack48,iVar4 + 1); - iVar6 = iVar2; - } - else { - *(byte *)(iVar2 + 0x3e) = *(byte *)(iVar2 + 0x3e) & 0xef; - iStack44 = iVar2; - FUN_7001272c(DAT_80022280 + 0x14,auStack48,iVar5 + 1); - iStack24 = iVar4 + 1; - sStack18 = (short)iVar3; - iVar6 = iVar2; - } - } - iVar5 += iVar4; - iVar3 = (int)(((uint)**(byte **)(iVar7 + 4) + ((uint)(*(byte **)(iVar7 + 4))[2] & 0xc0) * 4) - * 0x10000) >> 0x10; - iVar7 = iStack28; - if ((iVar3 == 0) || (iVar7 = iVar4, iVar2 == 0)) break; - iVar7 = *(int *)(iParm1 + 0xc); - } - iStack28 = iVar7; - if (iVar6 != 0) { - bVar1 = *(byte *)(iVar6 + 0x3e); - *(byte *)(iVar6 + 0x3e) = bVar1 | 1; - *(int **)(iVar6 + 0x30) = piParm3; - if (sStack18 != 0) { - *(byte *)(iVar6 + 0x3e) = bVar1 | 0x11; - auStack64[0] = 0x200; - iStack56 = (int)sStack18; - iStack60 = iVar6; - iStack52 = iParm1; - FUN_7001272c(DAT_80022280 + 0x14,auStack64,iStack24); - } - } - if (piParm3 != NULL) { - *piParm3 = iVar6; - } - } - } - else { - iVar6 = 0; - } - return iVar6; -} - - - -void loc_7000905C(int iParm1) - -{ - undefined2 auStack16 [2]; - int iStack12; - - auStack16[0] = 0x400; - if (iParm1 != 0) { - *(byte *)(iParm1 + 0x3e) = *(byte *)(iParm1 + 0x3e) & 0xef; - iStack12 = iParm1; - FUN_7001272c(DAT_80022280 + 0x14,auStack16,0); - } - return; -} - - - -void loc_700090FC(byte bParm1) - -{ - undefined4 *puVar1; - undefined2 auStack20 [2]; - undefined4 *puStack16; - undefined4 uStack4; - - uStack4 = osSetIntMask(1); - puVar1 = DAT_80022274; - while (puVar1 != NULL) { - auStack20[0] = 0x400; - puStack16 = puVar1; - if (bParm1 == (*(byte *)((int)puVar1 + 0x3e) & bParm1)) { - *(byte *)((int)puVar1 + 0x3e) = *(byte *)((int)puVar1 + 0x3e) & 0xef; - puStack16 = puVar1; - FUN_7001272c(DAT_80022280 + 0x14,auStack20,0); - } - puVar1 = (undefined4 *)*puVar1; - } - osSetIntMask(uStack4); - return; -} - - - -void FUN_70008584(void) - -{ - loc_700090FC(1); - return; -} - - - -void FUN_700085a4(void) - -{ - loc_700090FC(0x11); - return; -} - - - -void FUN_700085c4(void) - -{ - loc_700090FC(3); - return; -} - - - -void loc_700091B8(longlong lParm1,undefined2 uParm2,undefined4 uParm3) - -{ - undefined2 auStack16 [2]; - undefined4 uStack12; - undefined4 uStack8; - - uStack12 = (undefined4)lParm1; - if (lParm1 != 0) { - auStack16[0] = uParm2; - uStack8 = uParm3; - FUN_7001272c(DAT_80022280 + 0x14,auStack16,0); - } - return; -} - - - -void FUN_70008628(void) - -{ - FUN_700086c4(0); - return; -} - - - -void loc_70009204(ulonglong uParm1) - -{ - uint uVar1; - - uVar1 = 0; - do { - FUN_700086e4(uVar1,uParm1 & 0xffff); - uVar1 = uVar1 + 1 & 0xff; - } while (uVar1 < 7); - return; -} - - - -void FUN_70008698(undefined4 uParm1) - -{ - ulonglong uVar1; - - DAT_8002228c = uParm1; - uVar1 = FUN_70008628(); - loc_70009204(uVar1 & 0xffff); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_700086c4(uint uParm1) - -{ - return (ulonglong)*(ushort *)(_DAT_80056d88 + (uParm1 & 0xff) * 2); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700086e4(ulonglong uParm1,ulonglong uParm2) - -{ - int iVar1; - undefined4 *puVar2; - float fVar3; - undefined2 auStack24 [2]; - undefined4 *puStack20; - - puVar2 = DAT_80022274; - iVar1 = (int)(uParm1 & 0xff) * 2; - *(undefined2 *)(_DAT_80056d88 + iVar1) = (short)(uParm2 & 0xffff); - fVar3 = (float)(int)(uParm2 & 0xffff); - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80056d84 + iVar1) = (short)(int)(fVar3 * DAT_8002228c); - if (puVar2 != NULL) { - iVar1 = puVar2[2]; - while( true ) { - if (iVar1 == 0) { - puVar2 = (undefined4 *)*puVar2; - } - else { - if ((uParm1 & 0xff) == ((ulonglong)*(byte *)(*(int *)(iVar1 + 4) + 2) & 0x3f)) { - auStack24[0] = 0x800; - puStack20 = puVar2; - FUN_7001272c(DAT_80022280 + 0x14,auStack24,0); - puVar2 = (undefined4 *)*puVar2; - } - else { - puVar2 = (undefined4 *)*puVar2; - } - } - if (puVar2 == NULL) break; - iVar1 = puVar2[2]; - } - } - return; -} - - - -void memp_related_6(void) - -{ - FUN_70004280(&DAT_80022290,s_memp_c_debug_80024870); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000880c(int iParm1,int iParm2) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - undefined4 local_20; - undefined4 local_1c; - undefined4 local_18; - int local_14; - undefined4 local_10; - int local_c; - undefined4 local_8; - undefined4 local_4; - - _DAT_80056d98 = iParm1 + iParm2; - local_20 = DAT_800222a4; - local_1c = DAT_800222a8; - local_14 = DAT_800222b0; - local_18 = DAT_800222ac; - local_10 = DAT_800222b4; - local_c = DAT_800222b8; - local_4 = DAT_800222c0; - local_8 = DAT_800222bc; - _DAT_80056d90 = iParm1; - lVar1 = loc_7000A740(1,s__mf_80024880); - if (lVar1 != 0) { - uVar2 = loc_7000A740(1,s__mf_80024884); - local_1c = loc_7000AC44(uVar2,0,0); - } - lVar1 = loc_7000A740(1,s__ml_80024888); - if (lVar1 != 0) { - uVar2 = loc_7000A740(1,s__ml_8002488c); - local_14 = loc_7000AC44(uVar2,0,0); - } - lVar1 = loc_7000A740(1,s__me_80024890); - if (lVar1 != 0) { - uVar2 = loc_7000A740(1,s__me_80024894); - local_c = loc_7000AC44(uVar2,0,0); - } - if (local_c == 0) { - local_1c = 0; - iVar3 = 0x128; - if (DAT_80041150 != 0) { - iVar3 = 0x134; - } - local_c = iVar3 * 0x400; - local_14 = iParm2 + iVar3 * -0x400; - } - FUN_70008974(&local_20); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70008974(int *piParm1) - -{ - uint uVar1; - uint uVar3; - undefined8 uVar2; - longlong lVar4; - uint uVar5; - uint *puVar6; - uint *puVar7; - uint uStack32; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - uint uStack8; - uint uStack4; - - uVar1 = DAT_800222dc; - uVar3 = DAT_800222c4; - uStack32 = DAT_800222c4; - iStack28 = DAT_800222c8; - puVar6 = &uStack32; - iStack24 = DAT_800222cc; - iStack20 = DAT_800222d0; - iStack16 = DAT_800222d4; - iStack12 = DAT_800222d8; - uStack8 = DAT_800222dc; - lVar4._4_4_ = *piParm1; - uVar5 = piParm1[1]; - while( true ) { - (&uStack32)[lVar4._4_4_] = uVar5; - lVar4._4_4_ = piParm1[2]; - if (lVar4._4_4_ == 0) break; - uVar5 = piParm1[3]; - piParm1 = piParm1 + 2; - } - do { - puVar7 = puVar6 + 1; - puVar6 = puVar6 + 1; - uVar3 = *puVar7 + uVar3; - *puVar6 = uVar3; - } while (puVar6 < &uStack8); - lVar4._4_4_ = _DAT_80056d98 - _DAT_80056d90; - lVar4 = (longlong)lVar4._4_4_; - puVar6 = &uStack32; - do { - uVar2 = __ll_mul((int)*puVar6 >> 0x1f,*puVar6,lVar4._4_4_ >> 0x1f,lVar4._4_4_); - loc_7000ED94(uVar2,lVar4,(int)uVar1 >> 0x1f,uVar1); - puVar7 = puVar6 + 1; - *puVar6 = (uint)lVar4; - puVar6 = puVar7; - } while (puVar7 < &uStack4); - puVar6 = &uStack32; - do { - puVar7 = puVar6 + 1; - *puVar6 = (*puVar6 | 0xf) ^ 0xf; - puVar6 = puVar7; - } while (puVar7 < &uStack4); - _DAT_80056da0 = uStack32 + _DAT_80056d90; - _DAT_80056da4 = 0; - _DAT_80056da8 = iStack28 + _DAT_80056d90; - _DAT_80056db0 = iStack28 + _DAT_80056d90; - _DAT_80056db4 = 0; - _DAT_80056db8 = iStack24 + _DAT_80056d90; - _DAT_80056dc0 = iStack24 + _DAT_80056d90; - _DAT_80056dc4 = 0; - _DAT_80056dc8 = iStack20 + _DAT_80056d90; - _DAT_80056dd0 = iStack20 + _DAT_80056d90; - _DAT_80056dd4 = 0; - _DAT_80056dd8 = iStack16 + _DAT_80056d90; - _DAT_80056de0 = iStack16 + _DAT_80056d90; - _DAT_80056de4 = 0; - _DAT_80056de8 = iStack12 + _DAT_80056d90; - _DAT_80056df0 = iStack12 + _DAT_80056d90; - _DAT_80056df4 = 0; - _DAT_80056df8 = uStack8 + _DAT_80056d90; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_70008b80(int iParm1,uint uParm2) - -{ - uint uVar1; - int iVar2; - int iVar3; - - iVar3 = (uParm2 & 0xff) << 4; - while( true ) { - iVar2 = DAT_80022294; - uVar1 = *(uint *)(iVar3 + -0x7ffa926c); - if (uVar1 == 0) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if (*(uint *)(&DAT_80056d98 + iVar3) < uVar1) { - loc_700098F4(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if (uVar1 + iParm1 <= *(uint *)(&DAT_80056d98 + iVar3)) { - *(int *)(iVar3 + -0x7ffa926c) = uVar1 + iParm1; - *(uint *)(iVar3 + -0x7ffa9264) = uVar1; - return uVar1; - } - if (_DAT_80056df8 < (uint)(_DAT_80056df4 + iParm1)) break; - DAT_80022294 = 1; - if (iVar2 == 0) { - iVar3 = 0x60; - } - else { - iVar3 = 0x60; - } - } - loc_700098F4(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_70008c64(int iParm1,int iParm2,uint uParm3) - -{ - uint uVar1; - undefined8 uVar2; - int iVar3; - - uParm3 &= 0xff; - if ((DAT_80022294 != 0) && (iParm1 == _DAT_80056dfc)) { - uParm3 = 6; - } - iVar3 = uParm3 * 0x10; - uVar1 = *(uint *)(iVar3 + -0x7ffa926c); - if (uVar1 == 0) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if (iParm1 == *(int *)(iVar3 + -0x7ffa9264)) { - iParm2 -= uVar1 - *(int *)(iVar3 + -0x7ffa9264); - if (iParm2 < 1) { - *(int *)(iVar3 + -0x7ffa926c) = uVar1 + iParm2; - uVar2 = 1; - } - else { - if (*(uint *)(&DAT_80056d98 + iVar3) < uVar1) { - loc_700098F4(uVar1,&DAT_80056d90 + iVar3,6); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if (*(uint *)(&DAT_80056d98 + iVar3) < uVar1 + iParm2) { - loc_700098F4(uVar1,&DAT_80056d90 + iVar3,6); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - *(int *)(iVar3 + -0x7ffa926c) = uVar1 + iParm2; - uVar2 = 1; - } - } - else { - uVar2 = 2; - } - return uVar2; -} - - - -void loc_700098F4(void) - -{ - byte bVar1; - - bVar1 = 1; - do { - bVar1 += 1; - } while (bVar1 < 7); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_70008d70(uint uParm1) - -{ - uParm1 &= 0xff; - if (DAT_80022294 != 0) { - uParm1 = 6; - } - if ((uParm1 == 4) && (_DAT_80056dd0 == _DAT_80056dd8)) { - uParm1 = 6; - } - return *(int *)(&DAT_80056d98 + uParm1 * 0x10) - *(int *)(uParm1 * 0x10 + -0x7ffa926c); -} - - - -void FUN_70008dd0(ulonglong uParm1) - -{ - FUN_70008b80((uint)uParm1 >> 3,uParm1 & 7); - return; -} - - - -void FUN_70008dfc(uint uParm1) - -{ - undefined4 uVar1; - int iVar2; - - iVar2 = (uParm1 & 0xff) * 0x10; - uVar1 = *(undefined4 *)(&DAT_80056d90 + iVar2); - *(undefined4 *)(iVar2 + -0x7ffa9264) = 0; - *(undefined4 *)(iVar2 + -0x7ffa926c) = uVar1; - return; -} - - - -void FUN_70008e24(uint uParm1) - -{ - int iVar1; - - loc_700098F4(); - iVar1 = (uParm1 & 0xff) * 0x10; - if (*(int *)(iVar1 + -0x7ffa926c) != 0) { - *(undefined4 *)(iVar1 + -0x7ffa926c) = 0; - } - return; -} - - - -void swap_entries(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined4 uVar1; - undefined4 uVar2; - - uVar1 = *puParm1; - uVar2 = puParm1[1]; - *puParm1 = *puParm2; - puParm1[1] = puParm2[1]; - *puParm2 = uVar1; - puParm2[1] = uVar2; - return; -} - - - -void merge_alloc_entries(int iParm1,undefined4 *puParm2) - -{ - *(int *)(iParm1 + 4) = *(int *)(iParm1 + 4) + puParm2[1]; - *puParm2 = 0; - puParm2[1] = 0; - return; -} - - - -undefined8 FUN_70008eb0(int iParm1) - -{ - uint uVar1; - uint *puVar2; - uint *puVar3; - uint *puVar4; - uint uVar5; - undefined8 uVar6; - uint uVar7; - - uVar6 = 0; - uVar5 = 0; - if ((uint *)(iParm1 + 0x10) <= (uint *)(iParm1 + 1000)) { - uVar1 = *(uint *)(iParm1 + 0x14); - puVar3 = (uint *)(iParm1 + 8); - puVar2 = (uint *)(iParm1 + 0x10); - while( true ) { - puVar4 = puVar3; - if (uVar1 != 0) { - uVar1 = *puVar2; - if (uVar1 < uVar5) { - swap_entries(puVar2,puVar3); - uVar1 = *puVar2; - uVar7 = puVar3[1]; - } - else { - uVar7 = puVar3[1]; - } - uVar7 += uVar5; - uVar5 = uVar1; - puVar4 = puVar2; - if (uVar1 == uVar7) { - uVar6 = 1; - merge_alloc_entries(puVar3,puVar2); - uVar5 = *puVar3; - puVar2 = puVar3; - puVar4 = puVar3; - } - } - if ((uint *)(iParm1 + 1000) < puVar2 + 2) break; - uVar1 = puVar2[3]; - puVar3 = puVar4; - puVar2 = puVar2 + 2; - } - } - return uVar6; -} - - - -void FUN_70008f78(void) - -{ - longlong lVar1; - - lVar1 = FUN_70008eb0(&DAT_80056e08); - while (lVar1 != 0) { - lVar1 = FUN_70008eb0(&DAT_80056e08); - } - return; -} - - - -uint * loc_70009C58(int iParm1) - -{ - uint *puVar1; - uint uVar2; - uint *puVar3; - uint uVar4; - uint uVar5; - uint *puVar6; - uint *puVar7; - int iVar8; - - puVar3 = (uint *)(iParm1 + 0x10); - puVar7 = (uint *)(iParm1 + 1000); - iVar8 = 0; - puVar6 = puVar3; - while( true ) { - while (puVar1 = puVar6, puVar7 < puVar1) { - iVar8 += 1; - puVar6 = puVar3; - if (0x7b < iVar8) { - if (puVar7 < puVar3) { - return puVar3; - } - uVar2 = 0xffffffff; - uVar4 = *(uint *)(iParm1 + 0x14); - puVar6 = puVar3; - while( true ) { - puVar1 = puVar6; - if (uVar2 <= uVar4) { - uVar4 = uVar2; - puVar1 = puVar3; - } - puVar3 = puVar1; - if (puVar7 < puVar6 + 2) break; - uVar2 = uVar4; - uVar4 = puVar6[3]; - puVar6 = puVar6 + 2; - } - return puVar3; - } - } - uVar4 = puVar1[1]; - if (uVar4 == 0) break; - uVar2 = puVar1[2]; - if (uVar2 < *puVar1) { - swap_entries(puVar1); - uVar4 = puVar1[1]; - uVar2 = puVar1[2]; - uVar5 = *puVar1 + uVar4; - } - else { - uVar5 = *puVar1 + uVar4; - } - puVar6 = puVar1 + 2; - if (uVar2 == uVar5) { - uVar2 = puVar1[3]; - puVar1[2] = 0; - puVar1[3] = 0; - puVar1[1] = uVar4 + uVar2; - return puVar1 + 2; - } - } - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700090d4(int iParm1,int iParm2) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int iVar4; - int iVar5; - - iVar5 = (iParm1 - _DAT_80056e00) * 0x7c; - iVar4 = (iVar5 / _DAT_80056e04) * 8; - piVar2 = (int *)(&DAT_80056e18 + iVar4); - if (_DAT_80056e04 == 0) { - trap(0x1c00); - } - if ((_DAT_80056e04 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - if (*(int *)(&DAT_80056e1c + iVar4) == 0) { - iVar5 = *piVar2; - piVar3 = piVar2; - } - else { - iVar5 = *(int *)(&DAT_80056e24 + iVar4); - piVar1 = piVar2; - while (piVar3 = piVar1 + 2, iVar5 != 0) { - iVar5 = piVar1[5]; - piVar1 = piVar3; - } - iVar5 = *piVar3; - } - if (iVar5 == -1) { - piVar3 = piVar2; - if (*(int *)(&DAT_80056e1c + iVar4) != 0) { - iVar4 = *(int *)(&DAT_80056e14 + iVar4); - while (piVar3 = piVar2 + -2, iVar4 != 0) { - iVar4 = piVar2[-3]; - piVar2 = piVar3; - } - } - if (*piVar3 == 0) { - piVar3 = (int *)loc_70009C58(&DAT_80056e08); - } - } - *piVar3 = iParm1; - piVar3[1] = iParm2; - return; -} - - - -void FUN_700091cc(void) - -{ - FUN_70004280(&DAT_800222e0,s_mema_c_debug_800248a0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700091f8(undefined4 uParm1,undefined4 uParm2) - -{ - undefined4 *puVar1; - - _DAT_800571f8 = 0xffffffff; - _DAT_80057200 = 0xffffffff; - _DAT_80056e08 = 0; - _DAT_80056e0c = 0; - _DAT_80056e10 = 0; - _DAT_80056e14 = 0; - _DAT_800571fc = 0; - _DAT_80057204 = 0xffffffff; - puVar1 = (undefined4 *)&DAT_80056e18; - do { - puVar1 = puVar1 + 2; - *puVar1 = 0; - puVar1[1] = 0; - puVar1 = puVar1; - } while (puVar1 < (undefined4 *)0x800571f1); - _DAT_80056e00 = uParm1; - _DAT_80056e04 = uParm2; - _DAT_80056e18 = uParm1; - _DAT_80056e1c = uParm2; - return; -} - - - -void FUN_70009270(void) - -{ - FUN_70008eb0(&DAT_80056e08); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_70009294(uint uParm1) - -{ - int iVar1; - uint uVar2; - int *piVar3; - uint uVar4; - int iVar5; - int *piVar6; - - piVar6 = (int *)&DAT_80056e18; - uVar4 = 0xffffffff; - piVar3 = NULL; - iVar5 = 0; - do { - iVar5 += 1; - uVar2 = piVar6[1] - uParm1; - if (uParm1 <= (uint)piVar6[1]) { - if ((*piVar6 == -1) || - ((uVar2 < uVar4 && - ((piVar3 = piVar6, uVar2 < 0x40 || (uVar4 = uVar2, piVar3 = piVar6, uVar2 < uParm1 >> 2))) - ))) break; - } - piVar6 = piVar6 + 2; - } while (iVar5 != 0x10); - if (piVar3 == NULL) { - iVar5 = 0; - piVar3 = piVar6; - if ((uint)piVar6[1] < uParm1) { - uVar4 = piVar6[3]; - while (piVar3 = piVar6 + 2, uVar4 < uParm1) { - uVar4 = piVar6[5]; - piVar6 = piVar3; - } - } - if (*piVar3 == -1) { - piVar3 = (int *)&DAT_80056e18; - do { - FUN_70008eb0(&DAT_80056e08); - iVar5 += 1; - } while (iVar5 != 8); - uVar4 = _DAT_80056e24; - iVar5 = _DAT_80056e18; - piVar6 = piVar3; - if (_DAT_80056e1c < uParm1) { - while (piVar3 = piVar6 + 2, uVar4 < uParm1) { - uVar4 = piVar6[5]; - piVar6 = piVar3; - } - iVar5 = *piVar3; - } - if (iVar5 == -1) { - return 0; - } - } - iVar5 = *piVar3; - } - else { - iVar5 = *piVar3; - } - iVar1 = piVar3[1]; - *piVar3 = iVar5 + uParm1; - piVar3[1] = iVar1 - uParm1; - if (iVar1 - uParm1 == 0) { - *piVar3 = 0; - } - return iVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_70009408(int iParm1,uint uParm2) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = (int *)&DAT_80056e18; - iVar2 = _DAT_80056e18; - if (_DAT_80056e18 != -1) { - do { - if (iParm1 == iVar2) { - if (uParm2 <= (uint)piVar1[1]) { - iVar3 = piVar1[1] - uParm2; - *piVar1 = iVar2 + uParm2; - piVar1[1] = iVar3; - if (iVar3 == 0) { - *piVar1 = 0; - } - return iParm1; - } - iVar2 = piVar1[2]; - } - else { - iVar2 = piVar1[2]; - } - piVar1 = piVar1 + 2; - } while (iVar2 != -1); - } - return 0; -} - - - -void FUN_70009480(void) - -{ - FUN_700090d4(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_70009560(void) - -{ - int *piVar1; - int *piVar2; - uint uVar3; - uint uVar4; - uint uVar5; - int iVar6; - undefined *puVar7; - undefined *puVar8; - int iVar9; - uint uVar10; - int iVar11; - int iVar12; - undefined auStack4116 [4116]; - - uVar5 = 0x80000000; - iVar9 = 0; - puVar7 = &DAT_80056e18; - uVar4 = 0; - if (_DAT_80056e18 != -1) { - do { - piVar1 = (int *)(puVar7 + 8); - piVar2 = (int *)(puVar7 + 4); - puVar7 = puVar7 + 8; - uVar4 += *piVar2; - } while (*piVar1 != -1); - } - puVar7 = auStack4116; - iVar6 = _DAT_80056e18; - while( true ) { - puVar8 = &DAT_80056e18; - iVar11 = 0; - uVar10 = 0; - uVar3 = _DAT_80056e1c; - if (iVar6 != -1) break; -LAB_70009624: - uVar5 = uVar10; - if (iVar11 == 0) { - if (200 < iVar9) { - uVar4 = FUN_7000a0f4(puVar7,s___d__800248b8,iVar9); - } - return uVar4; - } - puVar8 = &DAT_80056e18; - uVar10 = _DAT_80056e1c; - if (iVar6 != -1) { - while( true ) { - uVar4 = uVar10; - if (uVar5 == uVar4) { - if (iVar9 < 200) { - uVar4 = FUN_7000a0f4(puVar7,s__d_800248b0,uVar4 + 0x200 >> 10); - puVar7 = puVar7 + uVar4; - } - else { - if (iVar9 == 200) { - uVar4 = FUN_7000a0f4(puVar7,s_____800248b4); - puVar7 = puVar7 + uVar4; - } - } - iVar9 += 1; - iVar11 = *(int *)(puVar8 + 8); - } - else { - iVar11 = *(int *)(puVar8 + 8); - } - iVar6 = _DAT_80056e18; - if (iVar11 == -1) break; - uVar10 = *(uint *)(puVar8 + 0xc); - puVar8 = puVar8 + 8; - } - } - } - do { - uVar4 = uVar3; - if (uVar4 < uVar5) { - if (uVar10 < uVar4) { - iVar11 += 1; - uVar10 = uVar4; - goto LAB_70009614; - } - iVar12 = *(int *)(puVar8 + 8); - } - else { -LAB_70009614: - iVar12 = *(int *)(puVar8 + 8); - } - if (iVar12 == -1) goto LAB_70009624; - uVar3 = *(uint *)(puVar8 + 0xc); - puVar8 = puVar8 + 8; - } while( true ); -} - - - -void FUN_700096fc(void) - -{ - int iVar1; - - FUN_70009560(); - iVar1 = 0; - do { - FUN_70008eb0(&DAT_80056e08); - iVar1 += 1; - } while (iVar1 != 0x7c); - FUN_70009560(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70009758(code *pcParm1) - -{ - undefined *puVar1; - int iVar2; - int iVar3; - - puVar1 = &DAT_80056e18; - iVar2 = _DAT_80056e18; - iVar3 = _DAT_80056e1c; - if (_DAT_80056e18 != -1) { - while( true ) { - (*pcParm1)(iVar2 + iVar3,puVar1); - if (*(int *)(puVar1 + 8) == -1) break; - iVar2 = *(int *)(puVar1 + 8); - iVar3 = *(int *)(puVar1 + 0xc); - puVar1 = puVar1 + 8; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_700097d0(void) - -{ - uint uVar1; - undefined *puVar2; - uint uVar3; - int iVar4; - - FUN_70008f78(); - uVar3 = 0; - puVar2 = &DAT_80056e18; - uVar1 = _DAT_80056e1c; - if (_DAT_80056e18 != -1) { - while( true ) { - if (uVar3 < uVar1) { - iVar4 = *(int *)(puVar2 + 8); - uVar3 = uVar1; - } - else { - iVar4 = *(int *)(puVar2 + 8); - } - if (iVar4 == -1) break; - uVar1 = *(uint *)(puVar2 + 0xc); - puVar2 = puVar2 + 8; - } - } - if (uVar3 == 0) { - uVar3 = 0; - } - return uVar3; -} - - - -undefined8 FUN_7000983c(int iParm1,ulonglong uParm2,ulonglong uParm3) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - - iVar4 = (int)uParm3; - iVar3 = (int)uParm2; - if (uParm2 < uParm3) { - lVar1 = FUN_70009408(iParm1 + iVar3,iVar4 - iVar3); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - else { - if (uParm3 < uParm2) { - FUN_70009480(iParm1 + iVar4,iVar3 - iVar4); - } - uVar2 = 1; - } - return uVar2; -} - - - -undefined4 FUN_700098b0(void) - -{ - DAT_800222f0 = ((DAT_800222f0 << 0x3f) >> 0x1f | (DAT_800222f0 << 0x1f) >> 0x20) ^ - (DAT_800222f0 << 0x2c) >> 0x20; - DAT_800222f0 = DAT_800222f0 >> 0x14 & 0xfff ^ DAT_800222f0; - return (int)DAT_800222f0; -} - - - -void FUN_700098f8(longlong lParm1) - -{ - DAT_800222f0 = lParm1 + 1; - return; -} - - - -undefined4 lotsa_shifting_randomizer_related(ulonglong *puParm1) - -{ - ulonglong uVar1; - - uVar1 = *puParm1; - uVar1 = ((uVar1 << 0x3f) >> 0x1f | (uVar1 << 0x1f) >> 0x20) ^ (uVar1 << 0x2c) >> 0x20; - uVar1 = uVar1 >> 0x14 & 0xfff ^ uVar1; - *puParm1 = uVar1; - return (int)uVar1; -} - - - -byte * check_token(byte *pbParm1) - -{ - byte bVar1; - byte *pbVar2; - - DAT_80022304 = s__800248c0; - DAT_80022300 = 1; - bVar1 = *pbParm1; - while (bVar1 != 0) { - if (bVar1 == 0x20) { - bVar1 = pbParm1[1]; - pbVar2 = pbParm1; - while( true ) { - *pbVar2 = 0; - pbParm1 = pbVar2 + 1; - if (bVar1 != 0x20) break; - bVar1 = pbVar2[2]; - pbVar2 = pbParm1; - } - } - *(byte **)(&DAT_80022304 + DAT_80022300) = pbParm1; - DAT_80022300 += 1; - bVar1 = *pbParm1; - if (0x20 < bVar1) { - bVar1 = pbParm1[1]; - pbVar2 = pbParm1; - while (pbParm1 = pbVar2 + 1, 0x20 < bVar1) { - bVar1 = pbVar2[2]; - pbVar2 = pbParm1; - } - } - } - return pbParm1; -} - - - -void FUN_700099ec(undefined8 uParm1) - -{ - strtol(&DAT_80057210,uParm1); - check_token(&DAT_80057210); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint check_boot_switches(void) - -{ - longlong lVar1; - undefined *puVar2; - int iVar3; - uint uStack16; - - iVar3 = 0xffb000; - lVar1 = rmon_debug_is_final_build(); - if (lVar1 == 0) { - puVar2 = &DAT_80057210; - do { - FUN_70013040(iVar3,puVar2); - puVar2 = puVar2 + 4; - iVar3 += 4; - } while (puVar2 != (undefined *)0x8005724c); - } - else { - _DAT_80057210 = 0; - } - check_token(&DAT_80057210); - lVar1 = loc_7000A740(1,s__d_800248c4); - uStack16 = (uint)(lVar1 != 0); - lVar1 = loc_7000A740(1,s__s_800248c8); - if (lVar1 != 0) { - DAT_80022288 = 1; - } - lVar1 = loc_7000A740(1,s__j_800248cc); - if (lVar1 != 0) { - DAT_80041150 = 1; - } - return uStack16; -} - - - -int loc_7000A740(int iParm1,undefined8 uParm2) - -{ - undefined8 uVar1; - longlong lVar2; - int *piVar3; - int iVar4; - - uVar1 = locret_7001389C(uParm2); - iVar4 = 1; - if (1 < DAT_80022300) { - piVar3 = &DAT_80022308; - do { - lVar2 = loc_7000A8E8(uParm2,*piVar3,uVar1); - if ((lVar2 == 0) && (iParm1 += -1, iParm1 == 0)) { - return *piVar3 + (int)uVar1; - } - iVar4 += 1; - piVar3 = piVar3 + 1; - } while (iVar4 < DAT_80022300); - } - return 0; -} - - - -char * strtol(char *pcParm1,char *pcParm2) - -{ - char cVar1; - char *pcVar2; - - cVar1 = *pcParm2; - pcParm2 = pcParm2 + 1; - *pcParm1 = cVar1; - pcVar2 = pcParm1; - while (pcVar2 = pcVar2 + 1, cVar1 != '\0') { - cVar1 = *pcParm2; - pcParm2 = pcParm2 + 1; - *pcVar2 = cVar1; - } - return pcParm1; -} - - - -char * locret_7000A7F4(char *pcParm1,char *pcParm2,int iParm3) - -{ - char cVar1; - char *pcVar2; - - cVar1 = *pcParm2; - pcParm2 = pcParm2 + 1; - *pcParm1 = cVar1; - pcVar2 = pcParm1; - while ((pcVar2 = pcVar2 + 1, cVar1 != '\0' && (iParm3 += -1, iParm3 != 0))) { - cVar1 = *pcParm2; - pcParm2 = pcParm2 + 1; - *pcVar2 = cVar1; - } - while (iParm3 != 0) { - iParm3 += -1; - *pcVar2 = '\0'; - pcVar2 = pcVar2 + 1; - } - return pcParm1; -} - - - -char * locret_7000A844(char *pcParm1,char *pcParm2) - -{ - char cVar1; - char *pcVar2; - char *pcVar3; - - if (*pcParm1 == '\0') { - cVar1 = *pcParm2; - pcVar3 = pcParm1; - } - else { - cVar1 = pcParm1[1]; - pcVar2 = pcParm1; - while (pcVar3 = pcVar2 + 1, cVar1 != '\0') { - cVar1 = pcVar2[2]; - pcVar2 = pcVar3; - } - cVar1 = *pcParm2; - } - pcParm2 = pcParm2 + 1; - *pcVar3 = cVar1; - while (cVar1 != '\0') { - pcVar3 = pcVar3 + 1; - cVar1 = *pcParm2; - pcParm2 = pcParm2 + 1; - *pcVar3 = cVar1; - } - return pcParm1; -} - - - -undefined8 loc_7000A888(byte *pbParm1,byte *pbParm2) - -{ - byte bVar1; - undefined8 uVar2; - - bVar1 = *pbParm1; - if (bVar1 == *pbParm2) { - if (bVar1 == 0) { - return 0; - } - uVar2 = loc_7000A888(pbParm1 + 1,pbParm2 + 1); - return uVar2; - } - if (bVar1 < *pbParm2) { - return 0xffffffffffffffff; - } - return 1; -} - - - -undefined8 loc_7000A8E8(byte *pbParm1,byte *pbParm2,longlong lParm3) - -{ - byte bVar1; - undefined8 uVar2; - - if (lParm3 == 0) { - return 0; - } - bVar1 = *pbParm1; - if (bVar1 != *pbParm2) { - if (bVar1 < *pbParm2) { - return 0xffffffffffffffff; - } - return 1; - } - if (bVar1 == 0) { - return 0; - } - uVar2 = loc_7000A8E8(pbParm1 + 1,pbParm2 + 1,(int)lParm3 + -1); - return uVar2; -} - - - -uint loc_7000A924(uint uParm1) - -{ - uParm1 &= 0xff; - if ((0x60 < uParm1) && (uParm1 < 0x7b)) { - return uParm1 - 0x20 & 0xff; - } - return uParm1; -} - - - -ulonglong locret_7000A948(byte bParm1) - -{ - ulonglong uVar1; - - uVar1 = (ulonglong)(bParm1 < 0x30) ^ 1; - if (uVar1 != 0) { - uVar1 = (ulonglong)(bParm1 < 0x3a); - } - return uVar1; -} - - - -ulonglong locret_7000A984(byte bParm1) - -{ - ulonglong uVar1; - - if (((bParm1 < 0x61) || (uVar1 = (ulonglong)(bParm1 < 0x7b), bParm1 >= 0x7b)) && - (uVar1 = (ulonglong)(bParm1 < 0x41) ^ 1, uVar1 != 0)) { - uVar1 = (ulonglong)(bParm1 < 0x5b); - } - return uVar1; -} - - - -ulonglong locret_7000A9D8(char cParm1) - -{ - ulonglong uVar1; - - uVar1 = (ulonglong)(cParm1 == ' '); - if ((((cParm1 != ' ') && (uVar1 = (ulonglong)(cParm1 == '\t'), cParm1 != '\t')) && - (uVar1 = (ulonglong)(cParm1 == '\n'), cParm1 != '\n')) && - (uVar1 = (ulonglong)(cParm1 == '\f'), cParm1 != '\f')) { - uVar1 = (ulonglong)(cParm1 == '\v'); - } - return uVar1; -} - - - -uint loc_7000AC44(byte *pbParm1,byte **ppbParm2,uint uParm3) - -{ - byte bVar1; - byte *pbVar2; - bool bVar3; - bool bVar4; - longlong lVar5; - ulonglong uVar6; - int iVar7; - uint uVar8; - uint uVar9; - byte *pbVar10; - byte *pbVar11; - - if ((((int)uParm3 < 0) || (uParm3 == 1)) || (0x24 < (int)uParm3)) { - uParm3 = 10; - bVar1 = *pbParm1; - } - else { - bVar1 = *pbParm1; - } - lVar5 = locret_7000A9D8((ulonglong)bVar1); - pbVar10 = pbParm1; - if (lVar5 == 0) { - bVar1 = *pbParm1; - pbVar10 = pbParm1; - } - else { - do { - pbVar10 = pbVar10 + 1; - lVar5 = locret_7000A9D8((ulonglong)*pbVar10); - } while (lVar5 != 0); - bVar1 = *pbVar10; - } - if (bVar1 != 0) { - if (bVar1 == 0x2d) { - bVar3 = true; - pbVar10 = pbVar10 + 1; - } - else { - if (bVar1 == 0x2b) { - bVar3 = false; - pbVar10 = pbVar10 + 1; - } - else { - bVar3 = false; - } - } - if (((uParm3 == 0x10) && (*pbVar10 == 0x30)) && - (lVar5 = loc_7000A924((ulonglong)pbVar10[1]), lVar5 == 0x58)) { - pbVar10 = pbVar10 + 2; - } - uVar6 = (ulonglong)*pbVar10; - if ((uParm3 == 0) && (uParm3 = 10, *pbVar10 == 0x30)) { - lVar5 = loc_7000A924((ulonglong)pbVar10[1]); - uParm3 = 8; - if (lVar5 == 0x58) { - pbVar10 = pbVar10 + 2; - uParm3 = 0x10; - } - uVar6 = (ulonglong)*pbVar10; - } - bVar4 = false; - uVar9 = 0; - pbVar11 = pbVar10; - if (uVar6 != 0) { - do { - lVar5 = locret_7000A948(uVar6); - if (lVar5 == 0) { - lVar5 = locret_7000A984(uVar6); - if (lVar5 == 0) break; - iVar7 = loc_7000A924(uVar6); - uVar8 = iVar7 - 0x37; - } - else { - uVar8 = (int)uVar6 - 0x30; - } - uVar8 &= 0xff; - if ((int)uParm3 <= (int)uVar8) break; - if (uParm3 == 0) { - trap(0x1c00); - } - if (0xffffffff / uParm3 < uVar9) { -LAB_7000a018: - bVar4 = true; - } - else { - if (uVar9 == 0xffffffff / uParm3) { - if (uParm3 == 0) { - trap(0x1c00); - } - if (0xffffffffU % uParm3 < uVar8) goto LAB_7000a018; - } - uVar9 = uVar9 * uParm3 + uVar8; - } - pbVar2 = pbVar11 + 1; - uVar6 = (ulonglong)*pbVar2; - pbVar11 = pbVar11 + 1; - } while (*pbVar2 != 0); - } - if (pbVar11 != pbVar10) { - if (ppbParm2 != NULL) { - *ppbParm2 = pbVar11; - } - if (!bVar4) { - if (bVar3) { - return -uVar9; - } - return uVar9; - } - return 0xffffffff; - } - } - if (ppbParm2 != NULL) { - *ppbParm2 = pbParm1; - } - return 0; -} - - - -int sprintf(undefined8 uParm1,undefined8 uParm2,int iParm3) - -{ - int iVar1; - - iVar1 = strchr(); - return iVar1 + iParm3; -} - - - -int FUN_7000a0f4(int iParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - longlong lVar1; - undefined4 uStackX8; - undefined4 uStackX12; - - uStackX8 = uParm3; - uStackX12 = uParm4; - lVar1 = loc_70014574(sprintf,iParm1,uParm2,&uStackX8); - if (-1 < lVar1) { - *(undefined *)(iParm1 + (int)lVar1) = 0; - } - return (int)lVar1 + -1; -} - - - -void start_pi_manager(void) - -{ - osCreatePiManager(0x96,0xffffffff80057270,0xffffffff80057250,8); - return; -} - - - -void FUN_7000a190(void) - -{ - return; -} - - - -void FUN_7000a198(void) - -{ - FUN_70004280(&DAT_80022330,s_vi_c_debug_800248d0); - osCreateMesgQueue(0xffffffff800572b0,0xffffffff80057290,8); - return; -} - - - -void FUN_7000a1e0(void) - -{ - return; -} - - - -void FUN_7000a1e8(void) - -{ - return; -} - - - -undefined8 FUN_7000a26c(undefined8 uParm1) - -{ - return uParm1; -} - - - -void FUN_7000a280(void) - -{ - undefined2 *puVar1; - undefined2 *puVar2; - undefined2 *puVar3; - - FUN_70004280(&DAT_80022350,s_joy_c_debug_800248e0); - osCreateMesgQueue(0xffffffff80057710,0xffffffff80057708,1); - osCreateMesgQueue(0xffffffff80057730,0xffffffff80057728,1); - osCreateMesgQueue(0xffffffff80057750,0xffffffff80057748,1); - osCreateMesgQueue(0xffffffff80057770,0xffffffff80057768,1); - osCreateMesgQueue(0xffffffff800576f0,0xffffffff800576c8,10); - osSetEventMesg(5,0xffffffff800576f0,0); - DAT_800223a8 = 1; - DAT_800223b4 = 0; - puVar3 = (undefined2 *)&DAT_800572d0; - DAT_800223b8 = 0; - puVar1 = puVar3; - do { - *(undefined4 *)(puVar3 + 0xf0) = 0; - *(undefined4 *)(puVar3 + 0xf2) = 0; - *(undefined4 *)(puVar3 + 0xf4) = 0; - *(undefined4 *)(puVar3 + 0xf6) = 0; - *(undefined4 *)(puVar3 + 0xfc) = 0xffffffff; - puVar2 = puVar1 + 0xfe; - puVar3 = puVar3 + 0xfe; - *(undefined *)(puVar1 + 0xb) = 0; - *(undefined *)((int)puVar1 + 0x15) = 0; - *(undefined *)(puVar1 + 10) = 0; - puVar1[9] = 0; - *(undefined *)(puVar1 + 8) = 0; - *(undefined *)((int)puVar1 + 0xf) = 0; - *(undefined *)(puVar1 + 7) = 0; - puVar1[6] = 0; - *(undefined *)(puVar1 + 5) = 0; - *(undefined *)((int)puVar1 + 9) = 0; - *(undefined *)(puVar1 + 4) = 0; - puVar1[3] = 0; - *puVar1 = 0; - *(undefined *)(puVar1 + 1) = 0; - *(undefined *)((int)puVar1 + 3) = 0; - *(undefined *)(puVar1 + 2) = 0; - puVar1 = puVar2; - } while (puVar2 != (undefined2 *)0x800576c8); - return; -} - - - -void FUN_7000a3cc(void) - -{ - undefined auStack4 [4]; - - if (DAT_800223a8 != 0) { - osSendMesg(0xffffffff80057710,auStack4,0); - osRecvMesg(0xffffffff80057730,auStack4,1); - FUN_7000a530(); - osSendMesg(0xffffffff80057750,auStack4,0); - osRecvMesg(0xffffffff80057770,auStack4,1); - } - return; -} - - - -undefined8 osPfsChecker(void) - -{ - return 3; -} - - - -// WARNING: Instruction at (ram,0x7000a4f4) overlaps instruction at (ram,0x7000a4f0) -// - -void FUN_7000a454(int iParm1) - -{ - longlong lVar1; - int *piVar2; - - piVar2 = &DAT_80022368 + iParm1; - if (((-1 < *piVar2) && ((*(ushort *)(&DAT_80057788 + iParm1 * 4) & 4) != 0)) && - ((*(byte *)(iParm1 * 4 + -0x7ffa8876) & 1) != 0)) { - lVar1 = __osPfsGetStatus(0xffffffff800576f0); - if ((lVar1 == 10) || (lVar1 == 0xb)) { - lVar1 = loc_7000CE90(0xffffffff800576f0,iParm1 * 0x68 + -0x7ffa8868,iParm1); - if (lVar1 == 0) { - *piVar2 = 1; - } - else { - *piVar2 = -1; - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7000a6a0) overlaps instruction at (ram,0x7000a69c) -// - -void FUN_7000a530(void) - -{ - ulonglong uVar1; - byte bVar4; - int iVar2; - uint uVar3; - - if (DAT_800223bc == 0) { - bVar4 = 0xf; - osContGetQuery(0xffffffff800576f0); - osRecvMesg(0xffffffff800576f0,0,1); - FUN_700143e4(&DAT_80057788); - if ((DAT_8005778b & 8) != 0) { - bVar4 = 0xe; - } - if ((DAT_8005778f & 8) != 0) { - bVar4 -= 2; - } - if ((DAT_80057793 & 8) != 0) { - bVar4 -= 4; - } - DAT_80022360 = bVar4; - if ((DAT_80057797 & 8) != 0) { - DAT_80022360 = bVar4 - 8; - } - } - else { - DAT_800223bc = 0; - __osPackRequestData(0xffffffff800576f0,&DAT_80022360,&DAT_80057788); - DAT_800223ac = 1; - } - iVar2 = 1; - while ((int)(char)iVar2 < 4) { - iVar2 = (int)(char)iVar2 + 1; - } - uVar3 = 0; - do { - iVar2 = 1 << (uVar3 & 0x1f); - uVar1 = SEXT48(iVar2); - bVar4 = (byte)iVar2; - if (((((ulonglong)DAT_80022360 & uVar1) == 0) || - ((*(ushort *)(&DAT_80057788 + uVar3 * 4) & 3) == 0)) || ((&DAT_8005778b)[uVar3 * 4] != '\0') - ) { - if (((ulonglong)DAT_80022364 & uVar1) != 0) { - DAT_80022364 = DAT_80022364 ^ bVar4; - (&DAT_80022368)[uVar3] = 0; - } - } - else { - if ((((ulonglong)(DAT_80022364 == 0) & uVar1) != 0) || ((int)(&DAT_80022368)[uVar3] < 1)) { - FUN_7000a454(uVar3); - } - DAT_80022364 |= bVar4; - } - uVar3 = (int)((uVar3 + 1) * 0x1000000) >> 0x18; - } while ((int)uVar3 < 4); - return; -} - - - -undefined FUN_7000a718(void) - -{ - if (-1 < *(int *)(DAT_80022354 + 0x1f8)) { - return (char)*(int *)(DAT_80022354 + 0x1f8); - } - if ((DAT_80022360 & 1) == 0) { - return 0; - } - if ((DAT_80022360 & 2) == 0) { - return 1; - } - if ((DAT_80022360 & 4) == 0) { - return 2; - } - if ((DAT_80022360 & 8) == 0) { - return 3; - } - return 4; -} - - - -ulonglong FUN_7000a790(void) - -{ - return (ulonglong)DAT_80022360; -} - - - -void FUN_7000a79c(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - int *piVar4; - int *piVar5; - int iVar6; - int iVar7; - int *piVar8; - - piVar8 = &DAT_80022398; - piVar5 = &DAT_80022378; - piVar4 = &DAT_80022388; - iVar6 = 0; - iVar7 = 0; - do { - iVar2 = *piVar8; - if (*piVar5 != iVar2) { - iVar3 = iVar6 * 0x68 + -0x7ffa8868; - if (iVar2 == 1) { - lVar1 = FUN_7000b7fc(iVar3); - if (lVar1 == 0) { - *piVar5 = 1; - } - else { - *(undefined4 *)((int)&DAT_80022368 + iVar7) = 0; - } - } - else { - if (iVar2 == 2) { - lVar1 = loc_7000CE90(0xffffffff800576f0,iVar3,iVar6); - if (lVar1 != 0) { - *(undefined4 *)((int)&DAT_80022368 + iVar7) = 0; - } - FUN_7000b6d0(iVar3); - *piVar5 = 0; - *piVar8 = 0; - } - else { - lVar1 = FUN_7000b6d0(iVar3); - if (lVar1 == 0) { - *piVar5 = 0; - } - else { - *(undefined4 *)((int)&DAT_80022368 + iVar7) = 0; - } - } - } - } - iVar6 += 1; - iVar7 += 4; - piVar5 = piVar5 + 1; - if (*piVar4 < 1) { - *piVar4 = 0; - } - else { - iVar2 = *piVar4 + -1; - *piVar4 = iVar2; - if (iVar2 < 1) { - *piVar4 = 0; - *piVar8 = 0; - } - } - piVar8 = piVar8 + 1; - piVar4 = piVar4 + 1; - } while (iVar6 != 4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000a91c(undefined4 uParm1,undefined4 uParm2) - -{ - DAT_800223b4 = uParm1; - _DAT_800576c4 = uParm2; - return; -} - - - -void FUN_7000a930(undefined4 uParm1) - -{ - DAT_800223b8 = uParm1; - return; -} - - - -void loc_7000BCF0(int iParm1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - iVar1 = 0; - *(undefined4 *)(iParm1 + 0x1e4) = *(undefined4 *)(iParm1 + 0x1e0); - *(undefined4 *)(iParm1 + 0x1e0) = *(undefined4 *)(iParm1 + 0x1e8); - iVar4 = 0; - while( true ) { - iVar4 = iParm1 + iVar4; - *(undefined2 *)(iVar4 + 0x1f0) = 0; - iVar3 = *(int *)(iParm1 + 0x1e4) + 1; - if (*(int *)(iParm1 + 0x1e4) != *(int *)(iParm1 + 0x1e0)) { - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - while( true ) { - iVar2 = iVar3 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 + 0x13 == -0x80000000)) { - trap(0x1800); - } - *(ushort *)(iVar4 + 0x1f0) = - *(ushort *)(iVar4 + 0x1f0) | - *(ushort *)(iParm1 + iVar2 * 0x18 + iVar1 * 6) & - ~*(ushort *)(iParm1 + ((iVar2 + 0x13) % 0x14) * 0x18 + iVar1 * 6); - iVar3 = iVar2 + 1; - if (iVar2 == *(int *)(iParm1 + 0x1e0)) break; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - } - } - iVar1 = (int)(char)((char)iVar1 + '\x01'); - if (3 < iVar1) break; - iVar4 = iVar1 << 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000aa80(void) - -{ - if (DAT_800223b4 != NULL) { - _DAT_800576b4 = (*DAT_800223b4)(&DAT_800574cc,_DAT_800576ac); - loc_7000BCF0(&DAT_800574cc); - } - loc_7000BCF0(&DAT_800572d0); - if (DAT_800223b8 != NULL) { - (*DAT_800223b8)(&DAT_800572d0,_DAT_800574b4,_DAT_800574b0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void controllerSchedulerRelated(void) - -{ - longlong lVar1; - int iVar2; - int *piVar3; - int iVar4; - int *piVar5; - int *piVar6; - int *piVar7; - undefined auStack4 [4]; - - lVar1 = osRecvMesg(0xffffffff80057710,auStack4,0); - if (lVar1 == 0) { - if (DAT_80022358 != 0) { - osRecvMesg(0xffffffff800576f0,auStack4,1); - DAT_80022358 = 0; - } - osSendMesg(0xffffffff80057730,auStack4,0); - DAT_8002235c += 1; - } - else { - lVar1 = osRecvMesg(0xffffffff80057750,auStack4,0); - if (lVar1 == 0) { - osContGetReadData(0xffffffff800576f0); - DAT_80022358 = 1; - osSendMesg(0xffffffff80057770,auStack4,0); - DAT_8002235c += -1; - } - else { - if (((DAT_8002235c == 0) && (DAT_800223ac != 0)) && - (lVar1 = osRecvMesg(0xffffffff800576f0,auStack4,0), lVar1 == 0)) { - DAT_80022358 = 0; - iVar4 = (_DAT_800574b8 + 1) % 0x14; - iVar2 = _DAT_800574b8; - if (iVar4 != _DAT_800574b4) { - iVar2 = iVar4; - } - FUN_700144d4(&DAT_800572d0 + iVar2 * 0x18); - _DAT_800574bc = (iVar2 + 0x13) % 0x14; - DAT_800223b0 += 1; - _DAT_800574b8 = iVar2; - if (DAT_800223b0 % 0x78 == 0) { - _DAT_800574b8 = iVar2; - FUN_7000a530(); - } - iVar4 = 0; - do { - iVar2 = iVar4 * 6; - if ((((&DAT_800572d4)[_DAT_800574b8 * 0x18 + iVar2] == '\0') && - ((&DAT_800572d4)[_DAT_800574bc * 0x18 + iVar2] != '\0')) || - (((&DAT_800572d4)[_DAT_800574b8 * 0x18 + iVar2] != '\0' && - ((&DAT_800572d4)[_DAT_800574bc * 0x18 + iVar2] == '\0')))) { - FUN_7000a530(); - break; - } - iVar4 = (iVar4 + 1) * 0x1000000 >> 0x18; - } while (iVar4 < 4); - FUN_7000a79c(); - osContGetReadData(0xffffffff800576f0); - DAT_80022358 = 1; - DAT_80022400 += 1; - if (0x3b < DAT_80022400) { - piVar3 = &DAT_800223f0; - piVar6 = &DAT_800223e0; - piVar5 = &DAT_800223d0; - piVar7 = &DAT_800223c0; - do { - if (*piVar7 == 0) { - if (*piVar5 != 0) { - *piVar7 = 0; - goto LAB_7000ade8; - } - if (*piVar6 != 0) { - *piVar7 = 0; - goto LAB_7000ade8; - } - if (*piVar3 != 0) { - *piVar7 = 0; - goto LAB_7000ade8; - } - iVar4 = piVar7[1]; - } - else { - *piVar7 = 0; -LAB_7000ade8: - *piVar5 = 0; - *piVar6 = 0; - *piVar3 = 0; - iVar4 = piVar7[1]; - } - if (iVar4 == 0) { - if (piVar5[1] != 0) { - piVar7[1] = 0; - goto LAB_7000ae28; - } - if (piVar6[1] != 0) { - piVar7[1] = 0; - goto LAB_7000ae28; - } - if (piVar3[1] != 0) { - piVar7[1] = 0; - goto LAB_7000ae28; - } - } - else { - piVar7[1] = 0; -LAB_7000ae28: - piVar5[1] = 0; - piVar6[1] = 0; - piVar3[1] = 0; - } - piVar3 = piVar3 + 2; - piVar7 = piVar7 + 2; - piVar5 = piVar5 + 2; - piVar6 = piVar6 + 2; - } while (piVar3 != &DAT_80022400); - DAT_80022400 = 0; - } - } - } - } - return; -} - - - -undefined FUN_7000ae60(char cParm1) - -{ - uint uVar1; - - uVar1 = SEXT14(cParm1); - if ((*(int *)(DAT_80022354 + 0x1f8) < 0) && - (((int)(uint)DAT_80022360 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_800223c0)[uVar1] = (&DAT_800223c0)[uVar1] + 1; - return 0; - } - return *(undefined *)(DAT_80022354 + *(int *)(DAT_80022354 + 0x1e0) * 0x18 + uVar1 * 6 + 2); -} - - - -undefined FUN_7000aee8(char cParm1) - -{ - uint uVar1; - - uVar1 = SEXT14(cParm1); - if ((*(int *)(DAT_80022354 + 0x1f8) < 0) && - (((int)(uint)DAT_80022360 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_800223c0)[uVar1] = (&DAT_800223c0)[uVar1] + 1; - return 0; - } - return *(undefined *)(DAT_80022354 + *(int *)(DAT_80022354 + 0x1e4) * 0x18 + uVar1 * 6 + 2); -} - - - -undefined FUN_7000af70(char cParm1) - -{ - uint uVar1; - - uVar1 = SEXT14(cParm1); - if ((*(int *)(DAT_80022354 + 0x1f8) < 0) && - (((int)(uint)DAT_80022360 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_800223d0)[uVar1] = (&DAT_800223d0)[uVar1] + 1; - return 0; - } - return *(undefined *)(DAT_80022354 + *(int *)(DAT_80022354 + 0x1e0) * 0x18 + uVar1 * 6 + 3); -} - - - -undefined FUN_7000aff8(char cParm1) - -{ - uint uVar1; - - uVar1 = SEXT14(cParm1); - if ((*(int *)(DAT_80022354 + 0x1f8) < 0) && - (((int)(uint)DAT_80022360 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_800223d0)[uVar1] = (&DAT_800223d0)[uVar1] + 1; - return 0; - } - return *(undefined *)(DAT_80022354 + *(int *)(DAT_80022354 + 0x1e4) * 0x18 + uVar1 * 6 + 3); -} - - - -ulonglong FUN_7000b080(char cParm1,ulonglong uParm2) - -{ - uint uVar1; - - uVar1 = SEXT14(cParm1); - if ((*(int *)(DAT_80022354 + 0x1f8) < 0) && - (((int)(uint)DAT_80022360 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_800223e0)[uVar1] = (&DAT_800223e0)[uVar1] + 1; - return 0; - } - return (ulonglong)*(ushort *)(DAT_80022354 + *(int *)(DAT_80022354 + 0x1e0) * 0x18 + uVar1 * 6) & - uParm2 & 0xffff; -} - - - -ulonglong FUN_7000b120(char cParm1,ulonglong uParm2) - -{ - uint uVar1; - - uVar1 = SEXT14(cParm1); - if ((*(int *)(DAT_80022354 + 0x1f8) < 0) && - (((int)(uint)DAT_80022360 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_800223f0)[uVar1] = (&DAT_800223f0)[uVar1] + 1; - return 0; - } - return (ulonglong)*(ushort *)(DAT_80022354 + uVar1 * 2 + 0x1f0) & uParm2 & 0xffff; -} - - - -void FUN_7000b1e4(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - - iVar3 = 0; - lVar1 = FUN_7000a718(); - if (0 < lVar1) { - do { - iVar3 += 1; - iVar2 = FUN_7000a718(); - } while (iVar3 < iVar2); - } - return; -} - - - -int FUN_7000b228(undefined uParm1,int iParm2,int iParm3) - -{ - int iVar1; - - iVar1 = FUN_7000ae60(uParm1); - iVar1 += 0x3c; - if (0x78 < iVar1) { - iVar1 = 0x78; - } - if (iVar1 < 0) { - iVar1 = 0; - } - return (iVar1 * (iParm3 - iParm2)) / 0x78 + iParm2; -} - - - -int FUN_7000b29c(undefined uParm1,int iParm2,int iParm3) - -{ - int iVar1; - - iVar1 = FUN_7000af70(uParm1); - iVar1 += 0x3c; - if (0x78 < iVar1) { - iVar1 = 0x78; - } - if (iVar1 < 0) { - iVar1 = 0; - } - return (iVar1 * (iParm3 - iParm2)) / 0x78 + iParm2; -} - - - -float FUN_7000b310(undefined uParm1,float fParm2,float fParm3) - -{ - int iVar1; - - iVar1 = FUN_7000ae60(uParm1); - iVar1 += 0x3c; - if (0x78 < iVar1) { - iVar1 = 0x78; - } - if (iVar1 < 0) { - iVar1 = 0; - } - return ((float)iVar1 / 120.00000000) * (fParm3 - fParm2) + fParm2; -} - - - -float FUN_7000b380(undefined uParm1,float fParm2,float fParm3) - -{ - int iVar1; - - iVar1 = FUN_7000af70(uParm1); - iVar1 += 0x3c; - if (0x78 < iVar1) { - iVar1 = 0x78; - } - if (iVar1 < 0) { - iVar1 = 0; - } - return ((float)iVar1 / 120.00000000) * (fParm3 - fParm2) + fParm2; -} - - - -void FUN_7000b3f0(void) - -{ - undefined auStack4 [4]; - - osSendMesg(0xffffffff80057710,auStack4,0); - osRecvMesg(0xffffffff80057730,auStack4,1); - return; -} - - - -void FUN_7000b430(void) - -{ - undefined auStack4 [4]; - - osSendMesg(0xffffffff80057750,auStack4,0); - osRecvMesg(0xffffffff80057770,auStack4,1); - return; -} - - - -undefined4 FUN_7000b470(void) - -{ - undefined4 uVar1; - - FUN_7000b3f0(); - uVar1 = osEepromProbe(0xffffffff800576f0); - FUN_7000b430(); - return uVar1; -} - - - -undefined4 FUN_7000b4a8(byte bParm1,undefined4 uParm2) - -{ - undefined4 uVar1; - - FUN_7000b3f0(); - uVar1 = osEepromRead(0xffffffff800576f0,(ulonglong)bParm1,uParm2); - FUN_7000b430(); - return uVar1; -} - - - -undefined4 FUN_7000b4ec(byte bParm1,undefined4 uParm2) - -{ - undefined4 uVar1; - - FUN_7000b3f0(); - uVar1 = __osEepStatus(0xffffffff800576f0,(ulonglong)bParm1,uParm2); - FUN_7000b430(); - return uVar1; -} - - - -undefined4 FUN_7000b530(byte bParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uVar1; - - FUN_7000b3f0(); - uVar1 = osEepromLongRead(0xffffffff800576f0,(ulonglong)bParm1,uParm2,uParm3); - FUN_7000b430(); - return uVar1; -} - - - -undefined4 FUN_7000b57c(byte bParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uVar1; - - FUN_7000b3f0(); - uVar1 = osEepromLongRead(0xffffffff800576f0,(ulonglong)bParm1,uParm2,uParm3); - FUN_7000b430(); - return uVar1; -} - - - -void FUN_7000b5c8(int iParm1,float fParm2) - -{ - if ((DAT_800223b4 == 0) && (0 < (int)(&DAT_80022368)[iParm1])) { - if ((int)(&DAT_80022388)[iParm1] < (int)(fParm2 * 60.00000000)) { - (&DAT_80022388)[iParm1] = (int)(fParm2 * 60.00000000); - } - if ((&DAT_80022378)[iParm1] == 0) { - (&DAT_80022398)[iParm1] = 1; - } - } - return; -} - - - -void reset_cont_rumble_detect(void) - -{ - DAT_80022398 = 2; - DAT_8002239c = 2; - DAT_800223a0 = 2; - DAT_800223a4 = 2; - return; -} - - - -void FUN_7000b67c(int iParm1) - -{ - DAT_80022354 = &DAT_800572d0 + iParm1 * 0x1fc; - return; -} - - - -int FUN_7000b6d0(int iParm1) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 uStack52; - char cStack14; - int iStack8; - - FUN_70015500(); - DAT_80057d00 = 3; - __osSiRawStartDma(1,*(int *)(iParm1 + 8) * 0x40 + -0x7ffa86c0); - osRecvMesg(*(undefined4 *)(iParm1 + 4),0,1); - __osSiRawStartDma(0,&DAT_80057d90); - osRecvMesg(*(undefined4 *)(iParm1 + 4),0,1); - puVar3 = (undefined4 *)&DAT_80057d90; - iVar1 = *(int *)(iParm1 + 8); - if ((iVar1 != 0) && (iVar2 = 0, puVar3 = (undefined4 *)&DAT_80057d90, 0 < iVar1)) { - do { - iVar2 += 1; - puVar3 = (undefined4 *)((int)puVar3 + 1); - } while (iVar2 < iVar1); - } - puVar6 = puVar3; - puVar4 = &uStack52; - do { - puVar7 = puVar6 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar5; - } while (puVar7 != puVar3 + 9); - *puVar5 = *puVar7; - iStack8 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((iStack8 == 0) && (cStack14 != '\0')) { - iStack8 = 4; - } - FUN_70015544(); - return iStack8; -} - - - -int FUN_7000b7fc(int iParm1) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 uStack52; - char cStack14; - int iStack8; - - FUN_70015500(); - DAT_80057d00 = 3; - __osSiRawStartDma(1,*(int *)(iParm1 + 8) * 0x40 + -0x7ffa85c0); - osRecvMesg(*(undefined4 *)(iParm1 + 4),0,1); - __osSiRawStartDma(0,&DAT_80057d90); - osRecvMesg(*(undefined4 *)(iParm1 + 4),0,1); - puVar3 = (undefined4 *)&DAT_80057d90; - iVar1 = *(int *)(iParm1 + 8); - if ((iVar1 != 0) && (iVar2 = 0, puVar3 = (undefined4 *)&DAT_80057d90, 0 < iVar1)) { - do { - iVar2 += 1; - puVar3 = (undefined4 *)((int)puVar3 + 1); - } while (iVar2 < iVar1); - } - puVar6 = puVar3; - puVar4 = &uStack52; - do { - puVar7 = puVar6 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar5; - } while (puVar7 != puVar3 + 9); - *puVar5 = *puVar7; - iStack8 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((iStack8 == 0) && (cStack14 != -0x15)) { - iStack8 = 4; - } - FUN_70015544(); - return iStack8; -} - - - -// WARNING: Instruction at (ram,0x7000ba08) overlaps instruction at (ram,0x7000ba04) -// - -void loc_7000CCDC(uint uParm1,ushort uParm2,undefined *puParm3,undefined4 *puParm4) - -{ - undefined uVar1; - undefined4 *puVar2; - int iVar3; - uint uVar4; - uint uVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - undefined4 uStack12; - undefined4 uStack8; - undefined4 *puStack4; - - iVar3 = 0; - puVar2 = puParm4; - do { - iVar3 += 1; - *puVar2 = 0; - puVar2 = puVar2 + 1; - } while (iVar3 < 0xf); - puParm4[0xf] = 1; - uStack44 = 0xff; - uStack43 = 0x23; - uStack42 = 1; - uStack41 = 3; - puStack4 = puParm4; - __osContDataCrc((ulonglong)uParm2); - puVar2 = (undefined4 *)&uStack44; - do { - uVar1 = *puParm3; - puVar6 = (undefined4 *)((int)puVar2 + 1); - puParm3 = puParm3 + 1; - *(undefined *)((int)puVar2 + 6) = uVar1; - puVar2 = puVar6; - } while (puVar6 < &uStack12); - puVar2 = puStack4; - if ((uParm1 != 0) && (uVar5 = 0, puVar2 = puStack4, 0 < (int)uParm1)) { - if ((uParm1 & 3) == 0) goto LAB_7000ba08; - do { - uVar4 = uVar5; - uVar4 = uVar4 + 1; - *(undefined *)puStack4 = 0; - puStack4 = (undefined4 *)((int)puStack4 + 1); - uVar5 = uVar4; - } while ((uParm1 & 3) != uVar4); - uVar5 = uVar4 + 5; - puVar2 = puStack4; - if (uVar4 != uParm1) { - while( true ) { - *(undefined *)((int)puStack4 + 1) = 0; - *(undefined *)((int)puStack4 + 2) = 0; - *(undefined *)((int)puStack4 + 3) = 0; - puVar2 = puStack4 + 1; - *(undefined *)puStack4 = 0; - puStack4 = puVar2; - if (uVar5 == uParm1) break; -LAB_7000ba08: - uVar5 += 4; - } - } - } - puVar6 = puVar2; - puVar8 = (undefined4 *)&uStack44; - do { - puVar9 = puVar8 + 3; - puVar7 = puVar6 + 3; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar6 = puVar7; - puVar8 = puVar9; - } while (puVar9 != &uStack8); - *puVar7 = *puVar9; - *(undefined *)(puVar2 + 10) = 0xfe; - return; -} - - - -longlong loc_7000CE90(undefined8 uParm1,undefined4 *puParm2,undefined8 uParm3) - -{ - undefined *puVar2; - longlong lVar1; - int iVar3; - undefined *puVar4; - undefined4 uVar5; - undefined auStack40 [31]; - char cStack9; - undefined auStack8 [8]; - - uVar5 = (undefined4)uParm1; - puParm2[1] = uVar5; - puParm2[2] = (int)uParm3; - *puParm2 = 0; - *(undefined *)((int)puParm2 + 0x65) = 0x80; - puVar2 = auStack40; - do { - puVar2 = puVar2 + 1; - *puVar2 = 0x80; - puVar2 = puVar2; - } while (puVar2 < auStack8); - lVar1 = __osContRamWrite(uParm1,uParm3,0x400,auStack40,0); - if (lVar1 == 2) { - lVar1 = __osContRamWrite(uVar5,uParm3,0x400,auStack40,0); - } - if ((lVar1 == 0) && (lVar1 = __osContRamRead(uVar5,uParm3,0x400,auStack40), lVar1 == 0)) { - if (cStack9 == -0x80) { - puVar2 = &DAT_80057b60; - puVar2 = &DAT_80057b40; - do { - puVar4 = puVar2 + 4; - puVar2[1] = 1; - puVar2[1] = 0; - puVar2[2] = 1; - puVar2[2] = 0; - puVar2[3] = 1; - puVar2[3] = 0; - *puVar2 = 1; - *puVar2 = 0; - puVar2 = puVar2 + 4; - puVar2 = puVar4; - } while (puVar4 != &DAT_80057b60); - iVar3 = (int)uParm3 * 0x40; - loc_7000CCDC(uParm3,0x600,&DAT_80057b60,iVar3 + -0x7ffa85c0); - loc_7000CCDC(uParm3,0x600,&DAT_80057b40,iVar3 + -0x7ffa86c0); - lVar1 = 0; - } - else { - lVar1 = 0xb; - } - } - return lVar1; -} - - - -undefined8 rmon_debug_is_final_build(void) - -{ - return 1; -} - - - -undefined8 rmon_debug_returns_neg_1(void) - -{ - return 0xffffffffffffffff; -} - - - -void FUN_7000bc18(void) - -{ - return; -} - - - -void FUN_7000bc20(void) - -{ - return; -} - - - -undefined8 loc_7000CF28(undefined8 uParm1,byte *pbParm2,int iParm3) - -{ - byte bVar1; - int iVar2; - - iVar2 = 0; - if (iParm3 != 0) { - bVar1 = *pbParm2; - while( true ) { - iVar2 += 1; - pbParm2 = pbParm2 + 1; - loc_700057BC((ulonglong)bVar1); - if (iVar2 == iParm3) break; - bVar1 = *pbParm2; - } - } - return 1; -} - - - -void FUN_7000bca4(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined4 uStackX4; - undefined4 uStackX8; - undefined4 uStackX12; - - uStackX4 = uParm2; - uStackX8 = uParm3; - uStackX12 = uParm4; - loc_70014574(loc_7000CF28,0,uParm1,&uStackX4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osPiRawStartDma(int iParm1,uint uParm2,undefined4 uParm3,int iParm4) - -{ - do { - } while ((_DAT_a4600010 & 3) != 0); - _DAT_a4600000 = osVirtualToPhysical(uParm3); - _DAT_a4600004 = (_DAT_80000308 | uParm2) & 0x1fffffff; - if (iParm1 == 0) { - _DAT_a460000c = iParm4 + -1; - } - else { - if (iParm1 != 1) { - return 0xffffffffffffffff; - } - _DAT_a4600008 = iParm4 + -1; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osPiGetStatus(void) - -{ - return _DAT_a4600010; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osInitialize(void) - -{ - ulonglong uVar1; - longlong lVar2; - undefined4 uVar3; - undefined4 in_v1_lo; - uint uStack8; - uint uStack4; - - uStack8 = 0; - _DAT_80057b90 = 1; - uVar1 = __osGetSR(); - __osSetSR(uVar1 | 0x20000000); - __osSetFpcCsr(0x1000800); - lVar2 = __osSiRawReadIo(0x1fc007fc,&uStack4); - while (lVar2 != 0) { - lVar2 = __osSiRawReadIo(0x1fc007fc,&uStack4); - } - lVar2 = __osSiRawWriteIo(0x1fc007fc,uStack4 | 8); - while (lVar2 != 0) { - lVar2 = __osSiRawWriteIo(0x1fc007fc,uStack4 | 8); - } - _DAT_80000000 = DAT_7000f9c0; - _DAT_80000004 = DAT_7000f9c4; - _DAT_80000008 = DAT_7000f9c8; - _DAT_8000000c = DAT_7000f9cc; - _DAT_80000080 = DAT_7000f9c0; - _DAT_80000084 = DAT_7000f9c4; - _DAT_80000088 = DAT_7000f9c8; - _DAT_8000008c = DAT_7000f9cc; - _DAT_80000100 = DAT_7000f9c0; - _DAT_80000104 = DAT_7000f9c4; - _DAT_80000108 = DAT_7000f9c8; - _DAT_8000010c = DAT_7000f9cc; - _DAT_80000180 = DAT_7000f9c0; - _DAT_80000184 = DAT_7000f9c4; - _DAT_80000188 = DAT_7000f9c8; - _DAT_8000018c = DAT_7000f9cc; - osWritebackDCache(0xffffffff80000000,400); - osInvalICache(0xffffffff80000000,400); - osMapTLBRdb(); - osPiRawReadIo(4,&uStack8); - uStack8 &= 0xfffffff0; - if (uStack8 != 0) { - DAT_80022410 = 0; - DAT_80022414 = uStack8; - } - uVar3 = __ll_mul(DAT_80022410,DAT_80022414,0,3); - DAT_80022410 = FUN_7000e4d8(uVar3,in_v1_lo,0,4); - DAT_80022414 = in_v1_lo; - if (_DAT_8000030c == 0) { - DAT_80022414 = in_v1_lo; - _bzero(0xffffffff8000031c,0x40); - } - do { - } while ((_DAT_a4600010 & 3) != 0); - if ((_DAT_a5000508 & 0xffff) == 0) { - DAT_80022420 = 1; - __osSetHWIntrRoutine(1,&LAB_7000bbf0); - } - else { - DAT_80022420 = 0; - } - return; -} - - - -void osWritebackDCacheAll(void) - -{ - bool bVar1; - ulonglong uVar2; - - uVar2 = 0xffffffff80000000; - do { - cacheOp(1,uVar2); - bVar1 = uVar2 < 0xffffffff80001ff0; - uVar2 = SEXT48((int)uVar2 + 0x10); - } while (bVar1); - return; -} - - - -void osInvalICache(uint uParm1,ulonglong uParm2) - -{ - bool bVar1; - ulonglong uVar2; - uint uVar3; - - if (0 < (longlong)uParm2) { - if (0x3fff < uParm2) { - uVar2 = 0xffffffff80000000; - do { - cacheOp(0,uVar2); - bVar1 = uVar2 < 0xffffffff80003fe0; - uVar2 = SEXT48((int)uVar2 + 0x20); - } while (bVar1); - return; - } - uVar3 = uParm1 + (int)uParm2; - if (uParm1 < uVar3) { - uVar2._4_4_ = uParm1 - (uParm1 & 0x1f); - do { - uVar2 = SEXT48(uVar2._4_4_); - cacheOp(0x10,uVar2); - uVar2._4_4_ += 0x20; - } while (uVar2 < (ulonglong)(longlong)(int)(uVar3 - 0x20)); - } - } - return; -} - - - -void osUnmapTLB(undefined8 uParm1) - -{ - setCopReg(0,Index,uParm1,0); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),0xffffffff80000000,0); - setCopReg(0,EntryLo0,0,0); - setCopReg(0,EntryLo1,0,0); - TLB_write_indexed_entry(Index,CONCAT44(uRegister00002050,EntryHi),EntryLo0,EntryLo1,PageMask); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),(longlong)EntryHi,0); - return; -} - - - -undefined4 __osGetFpcCsr(void) - -{ - undefined4 in_fcsr; - - return in_fcsr; -} - - - -undefined4 __osSetFpcCsr(void) - -{ - undefined4 in_fcsr; - - return in_fcsr; -} - - - -void osCreateThread(undefined4 *puParm1,undefined4 uParm2,undefined4 uParm3,int iParm4,uint uParm5, - undefined4 uParm6) - -{ - undefined8 uVar1; - - puParm1[5] = uParm2; - puParm1[1] = uParm6; - *puParm1 = 0; - puParm1[2] = 0; - puParm1[0x47] = uParm3; - puParm1[0xe] = iParm4 >> 0x1f; - puParm1[0xf] = iParm4; - puParm1[0x3d] = uParm5 - 0x10; - puParm1[0x3c] = ((int)uParm5 >> 0x1f) - (uint)(uParm5 < 0x10); - puParm1[0x40] = 0; - puParm1[0x41] = 0x700102b0; - puParm1[0x46] = 0xff03; - puParm1[0x4a] = 0x3f; - puParm1[0x4b] = 0x1000800; - puParm1[6] = 0; - *(undefined2 *)(puParm1 + 4) = 1; - *(undefined2 *)((int)puParm1 + 0x12) = 0; - uVar1 = __osRestoreInt(); - *(undefined **)(puParm1 + 3) = PTR_DAT_8002322c; - PTR_DAT_8002322c = (undefined *)puParm1; - __osRestoreInt(uVar1); - return; -} - - - -void osStartThread(int iParm1) - -{ - undefined8 uVar1; - undefined8 uVar2; - - uVar1 = __osRestoreInt(); - if (*(short *)(iParm1 + 0x10) == 1) { - if ((*(undefined ***)(iParm1 + 8) == NULL) || - (*(undefined ***)(iParm1 + 8) == &PTR_DAT_80023228)) { - *(undefined2 *)(iParm1 + 0x10) = 2; - loc_700108E0(&PTR_DAT_80023228,iParm1); - } - else { - *(undefined2 *)(iParm1 + 0x10) = 8; - loc_700108E0(*(undefined4 *)(iParm1 + 8),iParm1); - uVar2 = __osPopThread(*(undefined4 *)(iParm1 + 8)); - loc_700108E0(&PTR_DAT_80023228,uVar2); - } - } - else { - if (*(short *)(iParm1 + 0x10) == 8) { - *(undefined2 *)(iParm1 + 0x10) = 2; - loc_700108E0(&PTR_DAT_80023228,iParm1); - } - } - if (DAT_80023230 == 0) { - FUN_70010134(); - } - else { - if (*(int *)(DAT_80023230 + 4) < *(int *)(PTR_DAT_80023228 + 4)) { - *(undefined2 *)(DAT_80023230 + 0x10) = 2; - FUN_7000ffdc(&PTR_DAT_80023228); - } - } - __osRestoreInt(uVar1); - return; -} - - - -void osCreateMesgQueue(undefined4 *puParm1,undefined4 uParm2,undefined4 uParm3) - -{ - *puParm1 = 0x80023220; - puParm1[1] = 0x80023220; - puParm1[2] = 0; - puParm1[3] = 0; - puParm1[4] = uParm3; - puParm1[5] = uParm2; - return; -} - - - -void osStopThread(int iParm1) - -{ - undefined8 uVar1; - short sVar2; - - uVar1 = __osRestoreInt(); - if (iParm1 == 0) { - sVar2 = 4; - } - else { - sVar2 = *(short *)(iParm1 + 0x10); - } - if (sVar2 != 2) { - if (sVar2 == 4) { - *(undefined2 *)(DAT_80023230 + 0x10) = 1; - FUN_7000ffdc(0); - goto LAB_7000c540; - } - if (sVar2 != 8) goto LAB_7000c540; - } - *(undefined2 *)(iParm1 + 0x10) = 1; - __osDequeueThread(*(undefined4 *)(iParm1 + 8),iParm1); -LAB_7000c540: - __osRestoreInt(uVar1); - return; -} - - - -void osSetThreadPri(int iParm1,int iParm2) - -{ - undefined8 uVar1; - int iStackX0; - - uVar1 = __osRestoreInt(); - iStackX0 = iParm1; - if (iParm1 == 0) { - iStackX0 = DAT_80023230; - } - if (*(int *)(iStackX0 + 4) != iParm2) { - *(int *)(iStackX0 + 4) = iParm2; - if ((iStackX0 != DAT_80023230) && (*(short *)(iStackX0 + 0x10) != 1)) { - __osDequeueThread(*(undefined4 *)(iStackX0 + 8),iStackX0); - loc_700108E0(*(undefined4 *)(iStackX0 + 8),iStackX0); - } - if (*(int *)(DAT_80023230 + 4) < *(int *)(PTR_DAT_80023228 + 4)) { - *(undefined2 *)(DAT_80023230 + 0x10) = 2; - FUN_7000ffdc(&PTR_DAT_80023228); - } - } - __osRestoreInt(uVar1); - return; -} - - - -undefined4 osGetCount(void) - -{ - return Count; -} - - - -void osSetEventMesg(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - *(undefined4 *)(iParm1 * 8 + -0x7ffa8460) = uParm2; - *(undefined4 *)(iParm1 * 8 + -0x7ffa845c) = uParm3; - __osRestoreInt(uVar1); - return; -} - - - -void osViSetEvent(undefined4 uParm1,undefined4 uParm2,undefined2 uParm3) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - *(undefined4 *)(PTR_DAT_800231c4 + 0x10) = uParm1; - *(undefined4 *)(PTR_DAT_800231c4 + 0x14) = uParm2; - *(undefined2 *)(PTR_DAT_800231c4 + 2) = uParm3; - __osRestoreInt(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong osSetIntMask(ulonglong uParm1) - -{ - int iVar1; - - if (_DAT_a430000c != 0) { - _DAT_a430000c |= (DAT_8002241c >> 0x10 ^ 0xffffffff) & 0x3f; - } - iVar1 = _DAT_a430000c << 0x10; - setCopReg(0,CONCAT44(uRegister00002060,Status), - (longlong)Status & 0xffffffffffff00ffU | - uParm1 & 0xff01 & (longlong)(int)DAT_8002241c & 0xff00U,0); - _DAT_a430000c = - (uint)*(ushort *)(&DAT_800248f0 + (((uint)uParm1 & 0x3f0000 & DAT_8002241c) >> 0xf)); - return (longlong)Status & 0xff01U | ((longlong)(int)DAT_8002241c ^ 0xffffffffffffffffU) & 0xff00 | - (longlong)iVar1; -} - - - -undefined8 osRecvMesg(int iParm1,undefined4 *puParm2,int iParm3) - -{ - int iVar1; - undefined8 uVar2; - undefined8 uVar3; - int iVar4; - - uVar2 = __osRestoreInt(); - iVar1 = *(int *)(iParm1 + 8); - while( true ) { - if (iVar1 != 0) { - if (puParm2 != NULL) { - *puParm2 = *(undefined4 *)(*(int *)(iParm1 + 0x14) + *(int *)(iParm1 + 0xc) * 4); - } - iVar1 = *(int *)(iParm1 + 0x10); - iVar4 = *(int *)(iParm1 + 0xc) + 1; - *(int *)(iParm1 + 0xc) = iVar4 % iVar1; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - *(int *)(iParm1 + 8) = *(int *)(iParm1 + 8) + -1; - if (**(int **)(iParm1 + 4) != 0) { - uVar3 = __osPopThread(iParm1 + 4); - osStartThread(uVar3); - } - __osRestoreInt(uVar2); - return 0; - } - if (iParm3 == 0) break; - *(undefined2 *)(DAT_80023230 + 0x10) = 8; - FUN_7000ffdc(iParm1); - iVar1 = *(int *)(iParm1 + 8); - } - __osRestoreInt(uVar2); - return 0xffffffffffffffff; -} - - - -undefined8 osSendMesg(int **ppiParm1,int iParm2,int iParm3) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - undefined8 uVar4; - undefined8 uVar5; - - uVar4 = __osRestoreInt(); - if ((int)ppiParm1[4] <= (int)ppiParm1[2]) { - do { - if (iParm3 != 1) { - __osRestoreInt(uVar4); - return 0xffffffffffffffff; - } - *(undefined2 *)(DAT_80023230 + 0x10) = 8; - FUN_7000ffdc(ppiParm1 + 1); - } while ((int)ppiParm1[4] <= (int)ppiParm1[2]); - } - piVar1 = ppiParm1[3]; - piVar2 = ppiParm1[2]; - piVar3 = ppiParm1[4]; - ppiParm1[5][((int)piVar1 + (int)piVar2) % (int)piVar3] = iParm2; - if (piVar3 == NULL) { - trap(0x1c00); - } - if ((piVar3 == (int *)0xffffffff) && ((int)piVar1 + (int)piVar2 == -0x80000000)) { - trap(0x1800); - } - ppiParm1[2] = (int *)((int)ppiParm1[2] + 1); - if (**ppiParm1 != 0) { - uVar5 = __osPopThread(ppiParm1); - osStartThread(uVar5); - } - __osRestoreInt(uVar4); - return 0; -} - - - -void osViSetMode(undefined4 uParm1) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - *(undefined4 *)(PTR_DAT_800231c4 + 8) = uParm1; - *(undefined2 *)PTR_DAT_800231c4 = 1; - *(undefined4 *)(PTR_DAT_800231c4 + 0xc) = *(undefined4 *)(*(int *)(PTR_DAT_800231c4 + 8) + 4); - __osRestoreInt(uVar1); - return; -} - - - -void osViSetXScale(undefined4 uParm1) - -{ - float fVar1; - undefined8 uVar2; - uint uVar3; - float fVar4; - - uVar2 = __osRestoreInt(); - *(undefined4 *)(PTR_DAT_800231c4 + 0x18) = uParm1; - *(ushort *)PTR_DAT_800231c4 = *(ushort *)PTR_DAT_800231c4 | 2; - fVar4 = (float)(*(uint *)(*(int *)(PTR_DAT_800231c4 + 8) + 0x20) & 0xfff); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = *(float *)(PTR_DAT_800231c4 + 0x18) * fVar4; - if (false) { - fVar1 = ROUND(fVar4); - } - else { - fVar1 = FLOOR(fVar4); - } - uVar3 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar3) goto LAB_7000cbd0; - } - else { - if (false) { - fVar4 = ROUND(fVar4 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar4 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar4 | 0x80000000; - goto LAB_7000cbd0; - } - } - uVar3 = 0xffffffff; -LAB_7000cbd0: - *(uint *)(PTR_DAT_800231c4 + 0x20) = uVar3 & 0xfff; - __osRestoreInt(uVar2); - return; -} - - - -void osViSetYScale(undefined4 uParm1) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - *(undefined4 *)(PTR_DAT_800231c4 + 0x24) = uParm1; - *(ushort *)PTR_DAT_800231c4 = *(ushort *)PTR_DAT_800231c4 | 4; - __osRestoreInt(uVar1); - return; -} - - - -void osViRepeatLine(char cParm1) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - if (cParm1 == '\0') { - *(ushort *)PTR_DAT_800231c4 = *(ushort *)PTR_DAT_800231c4 & 0xffbf; - } - else { - *(ushort *)PTR_DAT_800231c4 = *(ushort *)PTR_DAT_800231c4 | 0x40; - } - __osRestoreInt(uVar1); - return; -} - - - -void osViBlack(char cParm1) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - if (cParm1 == '\0') { - *(ushort *)PTR_DAT_800231c4 = *(ushort *)PTR_DAT_800231c4 & 0xffdf; - } - else { - *(ushort *)PTR_DAT_800231c4 = *(ushort *)PTR_DAT_800231c4 | 0x20; - } - __osRestoreInt(uVar1); - return; -} - - - -uint osSpTaskYielded(int iParm1) - -{ - uint uVar1; - uint uStack8; - - uVar1 = __osSpGetStatus(); - uStack8 = (uint)((uVar1 & 0x100) != 0); - if ((uVar1 & 0x80) != 0) { - *(uint *)(iParm1 + 4) = *(uint *)(iParm1 + 4) | uStack8; - *(uint *)(iParm1 + 4) = *(uint *)(iParm1 + 4) & 0xfffffffd; - } - return uStack8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osDpGetCounters(undefined4 *puParm1) - -{ - *puParm1 = _DAT_a4100010; - puParm1[1] = _DAT_a4100014; - puParm1[2] = _DAT_a4100018; - puParm1[3] = _DAT_a410001c; - return; -} - - - -undefined4 osViGetCurrentFramebuffer(void) - -{ - undefined4 uVar1; - undefined8 uVar2; - - uVar2 = __osRestoreInt(); - uVar1 = *(undefined4 *)(PTR_DAT_800231c0 + 4); - __osRestoreInt(uVar2); - return uVar1; -} - - - -undefined4 osViGetNextFramebuffer(void) - -{ - undefined4 uVar1; - undefined8 uVar2; - - uVar2 = __osRestoreInt(); - uVar1 = *(undefined4 *)(PTR_DAT_800231c4 + 4); - __osRestoreInt(uVar2); - return uVar1; -} - - - -void osViSwapBuffer(undefined4 uParm1) - -{ - undefined4 uVar1; - - uVar1 = __osRestoreInt(); - *(undefined4 *)(PTR_DAT_800231c4 + 4) = uParm1; - *(ushort *)PTR_DAT_800231c4 = *(ushort *)PTR_DAT_800231c4 | 0x10; - __osRestoreInt(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osDpSetStatus(undefined4 uParm1) - -{ - _DAT_a410000c = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osSpTaskStartGo(undefined4 uParm1) - -{ - _bcopy(uParm1,0xffffffff80057c20,0x40); - if (_DAT_80057c30 != 0) { - _DAT_80057c30 = osVirtualToPhysical(_DAT_80057c30); - } - if (_DAT_80057c38 != 0) { - _DAT_80057c38 = osVirtualToPhysical(_DAT_80057c38); - } - if (_DAT_80057c40 != 0) { - _DAT_80057c40 = osVirtualToPhysical(_DAT_80057c40); - } - if (_DAT_80057c48 != 0) { - _DAT_80057c48 = osVirtualToPhysical(_DAT_80057c48); - } - if (_DAT_80057c4c != 0) { - _DAT_80057c4c = osVirtualToPhysical(_DAT_80057c4c); - } - if (_DAT_80057c50 != 0) { - _DAT_80057c50 = osVirtualToPhysical(_DAT_80057c50); - } - if (_DAT_80057c58 != 0) { - _DAT_80057c58 = osVirtualToPhysical(_DAT_80057c58); - } - return 0x80057c20; -} - - - -void osSpTaskLoad(int iParm1) - -{ - longlong lVar1; - int iVar2; - - iVar2 = osSpTaskStartGo(iParm1); - if ((*(uint *)(iVar2 + 4) & 1) != 0) { - *(undefined4 *)(iVar2 + 0x18) = *(undefined4 *)(iVar2 + 0x38); - *(undefined4 *)(iVar2 + 0x1c) = *(undefined4 *)(iVar2 + 0x3c); - *(uint *)(iParm1 + 4) = *(uint *)(iParm1 + 4) & 0xfffffffe; - } - osWritebackDCache(iVar2,0x40); - __osSpSetStatus(0x2b00); - lVar1 = __osSpSetPc(0x4001000); - while (lVar1 == -1) { - lVar1 = __osSpSetPc(0x4001000); - } - lVar1 = __osSpRawStartDma(1,0x4000fc0,iVar2,0x40); - while (lVar1 == -1) { - lVar1 = __osSpRawStartDma(1,0x4000fc0,iVar2,0x40); - } - lVar1 = __osSpDeviceBusy(); - while (lVar1 != 0) { - lVar1 = __osSpDeviceBusy(); - } - lVar1 = __osSpRawStartDma(1,0x4001000,*(undefined4 *)(iVar2 + 8),*(undefined4 *)(iVar2 + 0xc)); - while (lVar1 == -1) { - lVar1 = __osSpRawStartDma(1,0x4001000,*(undefined4 *)(iVar2 + 8),*(undefined4 *)(iVar2 + 0xc)); - } - return; -} - - - -void osSpTaskStartGo(void) - -{ - longlong lVar1; - - lVar1 = __osSpDeviceBusy(); - while (lVar1 != 0) { - lVar1 = __osSpDeviceBusy(); - } - __osSpSetStatus(0x125); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osDpSetNextBuffer(undefined4 uParm1,undefined8 uParm2,undefined8 uParm3,int iParm4) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = __osDpDeviceBusy(); - if (lVar1 == 0) { - _DAT_a410000c = 1; - do { - } while (true); - _DAT_a4100000 = osVirtualToPhysical(uParm1); - _DAT_a4100004 = osVirtualToPhysical(uParm1); - _DAT_a4100004 += iParm4; - uVar2 = 0; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -void osSpTaskYield(void) - -{ - __osSpSetStatus(0x400); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __osTimerServicesInit(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - _DAT_80057c84 = 0; - _DAT_80057c80 = 0; - _DAT_80057c88 = 0; - _DAT_80057c8c = 0; - *(undefined4 **)(DAT_80023150 + 1) = DAT_80023150; - *DAT_80023150 = DAT_80023150[1]; - puVar1 = DAT_80023150; - DAT_80023150[4] = 0; - puVar1[5] = 0; - puVar2 = DAT_80023150; - puVar1 = DAT_80023150 + 5; - DAT_80023150[2] = DAT_80023150[4]; - puVar2[3] = *puVar1; - DAT_80023150[6] = 0; - DAT_80023150[7] = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000d30c(void) - -{ - int **ppiVar1; - uint uVar2; - int iVar3; - uint uVar4; - - if ((int **)*DAT_80023150 != DAT_80023150) { - while (ppiVar1 = (int **)*DAT_80023150, ppiVar1 != DAT_80023150) { - iVar3 = osGetCount(); - uVar4 = iVar3 - _DAT_80057c90; - if ((true) && ((ppiVar1[4] != NULL || (uVar4 < ppiVar1[5])))) { - uVar2 = (uint)ppiVar1[5]; - _DAT_80057c90 = iVar3; - *(uint *)(ppiVar1 + 5) = uVar2 - uVar4; - *(uint *)(ppiVar1 + 4) = (int)ppiVar1[4] - (uint)(uVar2 < uVar4); - FUN_7000d484(ppiVar1[4],ppiVar1[5]); - return; - } - _DAT_80057c90 = iVar3; - *(int **)ppiVar1[1] = *ppiVar1; - *(int **)((int)*ppiVar1 + 4) = ppiVar1[1]; - *(int *)ppiVar1 = 0; - *(int *)(ppiVar1 + 1) = 0; - if (ppiVar1[6] != NULL) { - osSendMesg(ppiVar1[6],ppiVar1[7],0); - } - if ((ppiVar1[2] != NULL) || (ppiVar1[3] != NULL)) { - ppiVar1[4] = ppiVar1[2]; - ppiVar1[5] = ppiVar1[3]; - FUN_7000d4f8(ppiVar1); - } - } - __osSetCompare(0); - _DAT_80057c90 = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000d484(undefined8 uParm1,int iParm2) - -{ - undefined4 uVar1; - - uVar1 = __osRestoreInt(); - _DAT_80057c90 = osGetCount(); - __osSetCompare(_DAT_80057c90 + iParm2); - __osRestoreInt(uVar1); - return; -} - - - -int * FUN_7000d4f8(int **ppiParm1) - -{ - int *piVar1; - undefined4 uVar2; - int *piStack16; - int *piStack12; - int **ppiStack4; - - uVar2 = __osRestoreInt(); - ppiStack4 = (int **)*DAT_80023150; - piStack12 = ppiParm1[5]; - piStack16 = ppiParm1[4]; - if (ppiStack4 != DAT_80023150) { - if ((ppiStack4[4] <= piStack16) && ((ppiStack4[4] < piStack16 || (ppiStack4[5] < piStack12)))) { - while( true ) { - piStack16 = (int *)((int)piStack16 + (-(uint)(piStack12 < ppiStack4[5]) - (int)ppiStack4[4]) - ); - piStack12 = (int *)((int)piStack12 - (int)ppiStack4[5]); - ppiStack4 = (int **)*ppiStack4; - if (ppiStack4 == DAT_80023150) break; - if ((piStack16 <= ppiStack4[4]) && - ((piStack16 < ppiStack4[4] || (piStack12 <= ppiStack4[5])))) break; - } - } - } - ppiParm1[4] = piStack16; - ppiParm1[5] = piStack12; - if (ppiStack4 != DAT_80023150) { - piVar1 = ppiStack4[5]; - ppiStack4[5] = (int *)((int)piVar1 - (int)piStack12); - ppiStack4[4] = (int *)((int)ppiStack4[4] + (-(uint)(piVar1 < piStack12) - (int)piStack16)); - } - *(int ***)ppiParm1 = ppiStack4; - ppiParm1[1] = ppiStack4[1]; - *(int ***)ppiStack4[1] = ppiParm1; - *(int ***)(ppiStack4 + 1) = ppiParm1; - __osRestoreInt(uVar2); - return piStack16; -} - - - -undefined4 osGetThreadPri(int iParm1) - -{ - if (iParm1 == 0) { - iParm1 = DAT_80023230; - } - return *(undefined4 *)(iParm1 + 4); -} - - - -ulonglong __osRestoreInt(void) - -{ - setCopReg(0,CONCAT44(uRegister00002060,Status),(longlong)Status & 0xfffffffffffffffe,0); - return (longlong)Status & 1; -} - - - -void __osRestoreInt(ulonglong uParm1) - -{ - setCopReg(0,CONCAT44(uRegister00002060,Status),(longlong)Status | uParm1,0); - return; -} - - - -// WARNING: Heritage AFTER dead removal. Example location: r0x80023198 : 0x7000d7a4 -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Restarted to delay deadcode elimination for space: ram - -void __osViInit(void) - -{ - _bzero(&DAT_80023160,0x60); - PTR_DAT_800231c0 = (undefined *)&DAT_80023160; - PTR_DAT_800231c4 = (undefined *)&DAT_80023190; - DAT_80023192 = 1; - DAT_80023160._2_2_ = 1; - if (DAT_800231c8 == 0) { - DAT_80023198 = &DAT_80023b00; - DAT_800231cc = 0x2f5b2d2; - } - else { - DAT_80023198 = &DAT_80023ab0; - DAT_800231cc = 0x2e6d354; - } - DAT_80023190 = 0x20; - DAT_8002319c = *(undefined4 *)(DAT_80023198 + 4); - do { - } while (10 < _DAT_a4400010); - _DAT_a4400000 = 0; - __osViSwapContext(); - return; -} - - - -undefined * __osGetActiveQueue(void) - -{ - return PTR_DAT_800231c0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __osViSwapContext(void) - -{ - int iVar1; - float fVar2; - undefined *puVar3; - undefined4 *puVar4; - uint uVar5; - undefined4 *puVar6; - undefined4 *puVar7; - float fVar8; - uint uVar9; - undefined4 uStack16; - int iStack12; - - puVar3 = PTR_DAT_800231c4; - iVar1 = *(int *)(PTR_DAT_800231c4 + 8); - uVar5 = _DAT_a4400010 & 1; - iStack12 = osVirtualToPhysical(*(undefined4 *)(PTR_DAT_800231c4 + 4)); - iStack12 = *(int *)(iVar1 + uVar5 * 0x14 + 0x28) + iStack12; - if ((*(ushort *)puVar3 & 2) == 0) { - *(undefined4 *)(puVar3 + 0x20) = *(undefined4 *)(iVar1 + 0x20); - } - else { - *(uint *)(puVar3 + 0x20) = *(uint *)(puVar3 + 0x20) | *(uint *)(iVar1 + 0x20) & 0xfffff000; - } - if ((*(ushort *)puVar3 & 4) == 0) { - *(undefined4 *)(puVar3 + 0x2c) = *(undefined4 *)(iVar1 + uVar5 * 0x14 + 0x2c); - goto LAB_7000d9c0; - } - fVar8 = (float)(*(uint *)(iVar1 + uVar5 * 0x14 + 0x2c) & 0xfff); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar8 = *(float *)(puVar3 + 0x24) * fVar8; - if (false) { - fVar2 = ROUND(fVar8); - } - else { - fVar2 = FLOOR(fVar8); - } - uVar9 = (uint)fVar2; - if (true) { - if ((int)uVar9 < 0) goto LAB_7000d954; - } - else { - if (false) { - fVar8 = ROUND(fVar8 - 2147483648.00000000); - } - else { - fVar8 = FLOOR(fVar8 - 2147483648.00000000); - } - if (false) { -LAB_7000d954: - uVar9 = 0xffffffff; - } - else { - uVar9 = (int)fVar8 | 0x80000000; - } - } - *(uint *)(puVar3 + 0x2c) = uVar9; - *(uint *)(puVar3 + 0x2c) = - *(uint *)(puVar3 + 0x2c) | *(uint *)(iVar1 + uVar5 * 0x14 + 0x2c) & 0xfffff000; -LAB_7000d9c0: - uStack16 = *(undefined4 *)(iVar1 + 0x1c); - if ((*(ushort *)puVar3 & 0x20) != 0) { - uStack16 = 0; - } - if ((*(ushort *)puVar3 & 0x40) != 0) { - *(undefined4 *)(puVar3 + 0x2c) = 0; - iStack12 = osVirtualToPhysical(*(undefined4 *)(puVar3 + 4)); - } - if ((*(ushort *)puVar3 & 0x80) != 0) { - *(uint *)(puVar3 + 0x2c) = ((uint)*(ushort *)(puVar3 + 0x28) & 0x3ff) << 0x10; - iStack12 = osVirtualToPhysical(*(undefined4 *)(puVar3 + 4)); - } - puVar4 = (undefined4 *)PTR_DAT_800231c0; - _DAT_a4400004 = iStack12; - _DAT_a4400008 = *(undefined4 *)(iVar1 + 8); - _DAT_a4400014 = *(undefined4 *)(iVar1 + 0xc); - _DAT_a4400018 = *(undefined4 *)(iVar1 + 0x10); - _DAT_a440001c = *(undefined4 *)(iVar1 + 0x14); - _DAT_a4400020 = *(undefined4 *)(iVar1 + 0x18); - _DAT_a4400024 = uStack16; - _DAT_a4400028 = *(undefined4 *)(iVar1 + uVar5 * 0x14 + 0x30); - _DAT_a440002c = *(undefined4 *)(iVar1 + uVar5 * 0x14 + 0x34); - _DAT_a440000c = *(undefined4 *)(iVar1 + uVar5 * 0x14 + 0x38); - _DAT_a4400030 = *(undefined4 *)(puVar3 + 0x20); - _DAT_a4400034 = *(undefined4 *)(puVar3 + 0x2c); - _DAT_a4400000 = *(undefined4 *)(puVar3 + 0xc); - PTR_DAT_800231c4 = PTR_DAT_800231c0; - PTR_DAT_800231c0 = puVar3; - puVar6 = (undefined4 *)puVar3; - do { - puVar7 = puVar6 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar4 + 3; - } while (puVar7 != (undefined4 *)(puVar3 + 0x30)); - return; -} - - - -void FUN_7000db60(void) - -{ - DAT_800231d0 = 1; - osCreateMesgQueue(0xffffffff80057ca8,0xffffffff80057ca0,1); - osSendMesg(0xffffffff80057ca8,0,0); - return; -} - - - -void FUN_7000dbb0(void) - -{ - undefined auStack4 [4]; - - if (DAT_800231d0 == 0) { - FUN_7000db60(); - } - osRecvMesg(0xffffffff80057ca8,auStack4,1); - return; -} - - - -void FUN_7000dbf4(void) - -{ - osSendMesg(0xffffffff80057ca8,0,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osEPiRawStartDma(int iParm1,int iParm2,uint uParm3,undefined4 uParm4,int iParm5) - -{ - do { - } while ((_DAT_a4600010 & 3) != 0); - _DAT_a4600000 = osVirtualToPhysical(uParm4); - _DAT_a4600004 = (*(uint *)(iParm1 + 0xc) | uParm3) & 0x1fffffff; - if (iParm2 == 0) { - _DAT_a460000c = iParm5 + -1; - } - else { - if (iParm2 != 1) { - return 0xffffffffffffffff; - } - _DAT_a4600008 = iParm5 + -1; - } - return 0; -} - - - -undefined4 __osGetTLBHi(undefined8 uParm1) - -{ - setCopReg(0,Index,uParm1,0); - EntryHi = TLB_read_indexed_entryHi(Index); - EntryLo0 = TLB_read_indexed_entryLo0(Index); - EntryLo1 = TLB_read_indexed_entryLo1(Index); - PageMask = TLB_read_indexed_entryLo1(Index); - return EntryHi._4_4_; -} - - - -uint osVirtualToPhysical(uint uParm1) - -{ - if ((uParm1 < 0x80000000) || (0x9fffffff < uParm1)) { - if ((uParm1 < 0xa0000000) || (0xbfffffff < uParm1)) { - uParm1 = __osProbeTLB(uParm1); - } - else { - uParm1 &= 0x1fffffff; - } - } - else { - uParm1 &= 0x1fffffff; - } - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int osAiSetFrequency(longlong lParm1) - -{ - float fVar1; - int iVar2; - uint uVar3; - uint uVar4; - float fVar5; - - fVar5 = (float)(int)lParm1; - if (lParm1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = (float)DAT_800231cc / fVar5 + 0.50000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar4 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar4) goto LAB_7000e224; - } - else { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (true) { - uVar4 = (int)fVar5 | 0x80000000; - goto LAB_7000e224; - } - } - uVar4 = 0xffffffff; -LAB_7000e224: - if (uVar4 < 0x84) { - iVar2 = -1; - } - else { - uVar3 = uVar4 / 0x42 & 0xff; - if (0x10 < uVar3) { - uVar3 = 0x10; - } - _DAT_a4500010 = uVar4 - 1; - _DAT_a4500014 = uVar3 - 1; - _DAT_a4500008 = 1; - iVar2 = DAT_800231cc / (int)uVar4; - if (uVar4 == 0) { - trap(0x1c00); - } - if ((uVar4 == 0xffffffff) && (DAT_800231cc == -0x80000000)) { - trap(0x1800); - } - } - return iVar2; -} - - - -void alInit(int *piParm1) - -{ - int *piVar1; - - if (*piParm1 == 0) { - piVar1 = (int *)piParm1[1]; - } - else { - *(int *)(*piParm1 + 4) = piParm1[1]; - piVar1 = (int *)piParm1[1]; - } - if (piVar1 != NULL) { - *piVar1 = *piParm1; - } - return; -} - - - -void locret_7000EADC(int **ppiParm1,int **ppiParm2) - -{ - int *piVar1; - - piVar1 = *ppiParm2; - *(int ***)(ppiParm1 + 1) = ppiParm2; - *ppiParm1 = piVar1; - if (*ppiParm2 != NULL) { - *(int ***)(*ppiParm2 + 1) = ppiParm1; - } - *(int ***)ppiParm2 = ppiParm1; - return; -} - - - -void FUN_7000e314(void) - -{ - if (DAT_800231e0 != 0) { - alSynDelete(); - DAT_800231e0 = 0; - } - return; -} - - - -void FUN_7000e34c(int iParm1) - -{ - if (DAT_800231e0 == 0) { - DAT_800231e0 = iParm1; - loc_7000F670(); - } - return; -} - - - -int alHeapDBAlloc(undefined8 uParm1,undefined8 uParm2,int *piParm3,int iParm4,int param_5) - -{ - int iVar1; - int iVar2; - uint uVar3; - - iVar1 = piParm3[1]; - uVar3 = iParm4 * param_5 + 0xfU & 0xfffffff0; - iVar2 = 0; - if (iVar1 + uVar3 <= (uint)(*piParm3 + piParm3[2])) { - piParm3[1] = iVar1 + uVar3; - iVar2 = iVar1; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7000e3e0(void) - -{ - int iVar1; - uint uVar2; - undefined8 uVar3; - int iVar4; - - uVar3 = __osRestoreInt(); - iVar4 = osGetCount(); - uVar2 = _DAT_80057c84; - iVar1 = _DAT_80057c80; - iVar4 -= _DAT_80057c88; - __osRestoreInt(uVar3); - return (uint)(iVar4 + uVar2 < uVar2) + iVar1; -} - - - -longlong FUN_7000e49c(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - if (CONCAT44(uParm3,uParm4) == 0) { - trap(0x1c00); - } - return (longlong)(CONCAT44(uParm1,uParm2) % CONCAT44(uParm3,uParm4)) >> 0x20; -} - - - -longlong FUN_7000e4d8(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - if (CONCAT44(uParm3,uParm4) == 0) { - trap(0x1c00); - } - return (longlong)(CONCAT44(uParm1,uParm2) / CONCAT44(uParm3,uParm4)) >> 0x20; -} - - - -longlong loc_7000ED94(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - longlong lVar1; - - lVar1 = CONCAT44(uParm3,uParm4); - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (CONCAT44(uParm1,uParm2) == -0x8000000000000000)) { - trap(0x1800); - } - return CONCAT44(uParm1,uParm2) / lVar1 >> 0x20; -} - - - -longlong __ll_mul(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - return CONCAT44(uParm1,uParm2) * CONCAT44(uParm3,uParm4) >> 0x20; -} - - - -undefined4 FUN_7000e668(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - longlong lVar1; - longlong lVar2; - undefined4 uStack8; - - lVar1 = CONCAT44(uParm3,uParm4); - lVar2 = CONCAT44(uParm1,uParm2) % lVar1; - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (CONCAT44(uParm1,uParm2) == -0x8000000000000000)) { - trap(0x1800); - } - uStack8 = (undefined4)((ulonglong)lVar2 >> 0x20); - if (((lVar2 < 0) && (0 < lVar1)) || ((0 < lVar2 && (CONCAT44(uParm3,uParm4) < 0)))) { - uStack8 = (undefined4)((ulonglong)(lVar2 + CONCAT44(uParm3,uParm4)) >> 0x20); - } - return uStack8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osAiSetNextBuffer(int iParm1,int iParm2) - -{ - longlong lVar1; - undefined8 uVar2; - int iStack4; - - iStack4 = iParm1; - if (DAT_800231f0 != false) { - iStack4 = iParm1 + -0x2000; - } - DAT_800231f0 = (iParm1 + iParm2 & 0x3fffU) == 0x2000; - lVar1 = __osAiDeviceBusy(); - if (lVar1 == 0) { - _DAT_a4500000 = osVirtualToPhysical(iStack4); - uVar2 = 0; - _DAT_a4500004 = iParm2; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osAiGetLength(void) - -{ - return _DAT_a4500004; -} - - - -uint FUN_7000e7f8(int iParm1,int iParm2) - -{ - uint in_register_00001030; - - return (int)((double)((float)iParm2 * (float)*(int *)(iParm1 + 0x44)) / DAT_80024990 + - (double)((ulonglong)in_register_00001030 << 0x20)) & 0xfffffff0; -} - - - -void FUN_7000e850(int iParm1,undefined8 uParm2) - -{ - alInit(uParm2); - locret_7000EADC((int)uParm2,iParm1 + 0x14); - return; -} - - - -void loc_7000F0A4(int iParm1) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + 0x14); - while (iVar1 != 0) { - alInit(iVar1); - locret_7000EADC(iVar1,iParm1 + 4); - iVar1 = *(int *)(iParm1 + 0x14); - } - return; -} - - - -void FUN_7000e8e8(undefined4 *puParm1) - -{ - int iVar1; - - iVar1 = DAT_800231e0; - *puParm1 = *(undefined4 *)(DAT_800231e0 + 0x2c); - *(undefined4 **)(iVar1 + 0x2c) = puParm1; - return; -} - - - -undefined4 * FUN_7000e900(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar1 = *(undefined4 **)(DAT_800231e0 + 0x2c); - puVar2 = NULL; - if (puVar1 != NULL) { - *(undefined4 *)(DAT_800231e0 + 0x2c) = *puVar1; - *puVar1 = 0; - puVar2 = puVar1; - } - return puVar2; -} - - - -undefined4 * FUN_7000e938(undefined4 *puParm1,int *piParm2,int iParm3,int iParm4) - -{ - undefined4 *puVar1; - int *piVar2; - int *piVar3; - double dVar4; - undefined4 *puVar5; - int iVar6; - int iVar7; - int iVar8; - ulonglong unaff_f22; - undefined2 auStack14 [5]; - undefined4 *puStack4; - - piVar3 = DAT_800231e0; - auStack14[0] = 0; - if (*DAT_800231e0 == 0) { - *piParm2 = 0; - puVar5 = puParm1; - } - else { - puStack4 = NULL; - puVar5 = (undefined4 *)*DAT_800231e0; - iVar6 = 0x7fffffff; - if (puVar5 != NULL) { - iVar7 = DAT_800231e0[8]; - iVar8 = puVar5[4]; - while( true ) { - if (iVar8 - iVar7 < iVar6) { - iVar7 = DAT_800231e0[8]; - iVar6 = puVar5[4] - iVar7; - puVar1 = (undefined4 *)*puVar5; - puStack4 = puVar5; - } - else { - puVar1 = (undefined4 *)*puVar5; - } - if (puVar1 == NULL) break; - iVar8 = puVar1[4]; - puVar5 = puVar1; - } - } - piVar2 = DAT_800231e0 + 8; - iVar6 = puStack4[4]; - DAT_800231e0[7] = iVar6; - dVar4 = DAT_80024998; - if (iVar6 - *piVar2 < iParm4) { - do { - iVar7 = 0x7fffffff; - piVar3[7] = piVar3[7] & 0xfffffff0; - iVar6 = (*(code *)puStack4[2])(); - puStack4[4] = puStack4[4] + - (int)((double)((float)iVar6 * (float)piVar3[0x11]) / dVar4 + - (double)(unaff_f22 & 0xffffffff00000000)); - puStack4 = NULL; - puVar5 = (undefined4 *)*piVar3; - if (puVar5 != NULL) { - iVar6 = piVar3[8]; - iVar8 = puVar5[4]; - while( true ) { - if (iVar8 - iVar6 < iVar7) { - iVar6 = piVar3[8]; - iVar7 = puVar5[4] - iVar6; - puVar1 = (undefined4 *)*puVar5; - puStack4 = puVar5; - } - else { - puVar1 = (undefined4 *)*puVar5; - } - if (puVar1 == NULL) break; - iVar8 = puVar1[4]; - puVar5 = puVar1; - } - } - iVar6 = puStack4[4]; - piVar3[7] = iVar6; - } while (iVar6 - piVar3[8] < iParm4); - } - piVar3[7] = piVar3[7] & 0xfffffff0; - puVar5 = puParm1; - if (0 < iParm4) { - do { - iVar6 = iParm4; - if (piVar3[0x12] < iParm4) { - iVar6 = piVar3[0x12]; - } - *puVar5 = 0x7000000; - puVar5[1] = 0; - iVar7 = piVar3[0xe]; - (**(code **)(iVar7 + 8))(iVar7,6,iParm3); - puVar5 = (undefined4 *)(**(code **)(iVar7 + 4))(iVar7,auStack14,iVar6,piVar3[8],puVar5 + 2); - iParm4 -= iVar6; - iParm3 += iVar6 * 4; - piVar3[8] = piVar3[8] + iVar6; - } while (0 < iParm4); - } - *piParm2 = (int)((int)puVar5 - (int)puParm1) >> 3; - loc_7000F0A4(piVar3); - } - return puVar5; -} - - - -void loc_7000F670(undefined4 *puParm1,int iParm2) - -{ - undefined4 uVar1; - undefined8 uVar2; - undefined8 uVar3; - undefined4 uVar4; - int iVar5; - undefined4 *puVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - - uVar1 = *(undefined4 *)(iParm2 + 0x14); - *puParm1 = 0; - uVar4 = *(undefined4 *)(iParm2 + 4); - puParm1[8] = 0; - puParm1[7] = 0; - puParm1[0xf] = uVar4; - uVar4 = *(undefined4 *)(iParm2 + 0x18); - puParm1[0x12] = 0xa0; - puParm1[0x11] = uVar4; - puParm1[9] = *(undefined4 *)(iParm2 + 0x10); - uVar3 = alHeapDBAlloc(0,0,uVar1,1,0x1c); - FUN_700176e0(uVar3); - puParm1[0xe] = (int)uVar3; - uVar4 = alHeapDBAlloc(0,0,uVar1,1,0x4c); - puParm1[0xd] = uVar4; - puParm1[0x10] = 1; - uVar2 = alHeapDBAlloc(0,0,uVar1,*(undefined4 *)(iParm2 + 4),4); - FUN_70017778(puParm1[0xd],uVar2,*(undefined4 *)(iParm2 + 4)); - uVar4 = alHeapDBAlloc(0,0,uVar1,1,0x20); - puParm1[0xc] = uVar4; - uVar2 = alHeapDBAlloc(0,0,uVar1,*(undefined4 *)(iParm2 + 4),4); - FUN_70017724(puParm1[0xc],uVar2,*(undefined4 *)(iParm2 + 4)); - if (*(char *)(iParm2 + 0x1c) == '\0') { - alMainBusPull(puParm1[0xc],2,puParm1[0xd]); - puParm1[1] = 0; - } - else { - alSynAllocFX(puParm1,0,iParm2,uVar1); - puParm1[1] = 0; - } - puParm1[2] = 0; - puParm1[5] = 0; - puParm1[6] = 0; - puParm1[3] = 0; - puParm1[4] = 0; - iVar5 = alHeapDBAlloc(0,0,uVar1,*(undefined4 *)(iParm2 + 4),0xdc); - iVar10 = 0; - if (0 < *(int *)(iParm2 + 4)) { - iVar7 = iVar5 + 0x8c; - iVar8 = iVar5 + 0x58; - iVar9 = iVar5 + 0x10; - do { - locret_7000EADC(iVar5,puParm1 + 1); - *(undefined4 *)(iVar5 + 8) = 0; - alLoadNew(iVar9,puParm1[9],uVar1); - alAdpcmPull(iVar9,1,0); - FUN_700177cc(iVar8,uVar1); - FUN_70018bc0(iVar8,1,iVar9); - FUN_700178fc(iVar7,uVar1); - loc_7001AAE4(iVar7,1,iVar8); - alAuxBusPull(puParm1[0xd],2,iVar7); - *(int *)(iVar5 + 0xc) = iVar5 + 0x8c; - iVar10 += 1; - iVar5 += 0xdc; - iVar7 += 0xdc; - iVar8 += 0xdc; - iVar9 += 0xdc; - } while (iVar10 < *(int *)(iParm2 + 4)); - } - iVar5 = 0; - alSavePull((int)uVar3,1,puParm1[0xc]); - puVar6 = (undefined4 *)alHeapDBAlloc(0,0,uVar1,*(undefined4 *)(iParm2 + 8),0x1c); - puParm1[0xb] = 0; - if (*(int *)(iParm2 + 8) < 1) { - puParm1[10] = uVar1; - } - else { - uVar4 = puParm1[0xb]; - while( true ) { - iVar5 += 1; - *puVar6 = uVar4; - *(undefined4 **)(puParm1 + 0xb) = puVar6; - puVar6 = puVar6 + 7; - if (*(int *)(iParm2 + 8) <= iVar5) break; - uVar4 = puParm1[0xb]; - } - puParm1[10] = uVar1; - } - return; -} - - - -undefined8 -osPiStartDma(undefined2 *puParm1,int iParm2,int iParm3,undefined4 uParm4,undefined4 uParm5, - undefined4 uParm6,undefined4 uParm7) - -{ - undefined8 uVar1; - - if (DAT_80020fb0 == 0) { - uVar1 = 0xffffffffffffffff; - } - else { - if (iParm3 == 0) { - *puParm1 = 0xb; - } - else { - *puParm1 = 0xc; - } - *(char *)(puParm1 + 1) = (char)iParm2; - *(undefined4 *)(puParm1 + 2) = uParm7; - *(undefined4 *)(puParm1 + 4) = uParm5; - *(undefined4 *)(puParm1 + 6) = uParm4; - *(undefined4 *)(puParm1 + 8) = uParm6; - *(undefined4 *)(puParm1 + 10) = 0; - if (iParm2 == 1) { - uVar1 = FUN_70019dc0(); - uVar1 = osJamMesg(uVar1,puParm1,0); - } - else { - uVar1 = FUN_70019dc0(); - uVar1 = osSendMesg(uVar1,puParm1,0); - } - } - return uVar1; -} - - - -void osViSetSpecialFeatures(uint uParm1) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - if ((uParm1 & 1) != 0) { - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) | 8; - } - if ((uParm1 & 2) != 0) { - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) & 0xfffffff7; - } - if ((uParm1 & 4) != 0) { - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) | 4; - } - if ((uParm1 & 8) != 0) { - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) & 0xfffffffb; - } - if ((uParm1 & 0x10) != 0) { - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) | 0x10; - } - if ((uParm1 & 0x20) != 0) { - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) & 0xffffffef; - } - if ((uParm1 & 0x40) != 0) { - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) | 0x10000; - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) & 0xfffffcff; - } - if ((uParm1 & 0x80) != 0) { - *(uint *)(PTR_DAT_800231c4 + 0xc) = *(uint *)(PTR_DAT_800231c4 + 0xc) & 0xfffeffff; - *(uint *)(PTR_DAT_800231c4 + 0xc) = - *(uint *)(PTR_DAT_800231c4 + 0xc) | *(uint *)(*(int *)(PTR_DAT_800231c4 + 8) + 4) & 0x300; - } - *(ushort *)PTR_DAT_800231c4 = *(ushort *)PTR_DAT_800231c4 | 8; - __osRestoreInt(uVar1); - return; -} - - - -undefined4 * _bcopy(undefined4 *puParm1,undefined4 *puParm2,int iParm3) - -{ - undefined uVar1; - undefined2 uVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - undefined4 uVar9; - undefined4 uVar10; - undefined2 *puVar11; - uint uVar12; - undefined *puVar13; - uint uVar14; - undefined *puVar15; - undefined4 *puVar16; - undefined4 *puVar17; - - if ((iParm3 != 0) && (puParm1 != puParm2)) { - if (((int)puParm2 < (int)puParm1) || ((int)puParm1 + iParm3 <= (int)puParm2)) { - puVar16 = puParm2; - if ((0xf < iParm3) && - (uVar14 = (uint)puParm1 & 3, puVar16 = puParm2, uVar14 == ((uint)puParm2 & 3))) { - puVar16 = puParm2; - if (uVar14 != 0) { - if (uVar14 == 1) { - uVar1 = *(undefined *)puParm1; - uVar2 = *(undefined2 *)((int)puParm1 + 1); - puParm1 = (undefined4 *)((int)puParm1 + 3); - puVar16 = (undefined4 *)((int)puParm2 + 3); - iParm3 += -3; - *(undefined *)puParm2 = uVar1; - *(undefined2 *)((int)puParm2 + 1) = uVar2; - } - else { - if (uVar14 == 2) { - uVar2 = *(undefined2 *)puParm1; - puParm1 = (undefined4 *)((int)puParm1 + 2); - iParm3 += -2; - *(undefined2 *)puParm2 = uVar2; - puVar16 = (undefined4 *)((int)puParm2 + 2); - } - else { - uVar1 = *(undefined *)puParm1; - puParm1 = (undefined4 *)((int)puParm1 + 1); - puVar16 = (undefined4 *)((int)puParm2 + 1); - iParm3 += -1; - *(undefined *)puParm2 = uVar1; - } - } - } - while (0x1f < iParm3) { - uVar10 = *puParm1; - uVar7 = puParm1[1]; - uVar8 = puParm1[2]; - uVar9 = puParm1[3]; - uVar3 = puParm1[4]; - uVar4 = puParm1[5]; - uVar5 = puParm1[6]; - uVar6 = puParm1[7]; - puParm1 = puParm1 + 8; - iParm3 += -0x20; - *puVar16 = uVar10; - puVar16[1] = uVar7; - puVar16[2] = uVar8; - puVar16[3] = uVar9; - puVar16[4] = uVar3; - puVar16[5] = uVar4; - puVar16[6] = uVar5; - puVar16[7] = uVar6; - puVar16 = puVar16 + 8; - } - while (0xf < iParm3) { - uVar10 = *puParm1; - uVar7 = puParm1[1]; - uVar8 = puParm1[2]; - uVar9 = puParm1[3]; - puParm1 = puParm1 + 4; - iParm3 += -0x10; - *puVar16 = uVar10; - puVar16[1] = uVar7; - puVar16[2] = uVar8; - puVar16[3] = uVar9; - puVar16 = puVar16 + 4; - } - while (3 < iParm3) { - uVar10 = *puParm1; - puParm1 = puParm1 + 1; - iParm3 += -4; - *puVar16 = uVar10; - puVar16 = puVar16 + 1; - } - } - if (iParm3 != 0) { - puVar17 = (undefined4 *)((int)puParm1 + iParm3); - do { - uVar1 = *(undefined *)puParm1; - puParm1 = (undefined4 *)((int)puParm1 + 1); - *(undefined *)puVar16 = uVar1; - puVar16 = (undefined4 *)((int)puVar16 + 1); - } while (puParm1 != puVar17); - } - } - else { - uVar14 = (int)puParm1 + iParm3; - puVar16 = (undefined4 *)((int)puParm2 + iParm3); - if ((0xf < iParm3) && (uVar12 = uVar14 & 3, uVar12 == ((uint)puVar16 & 3))) { - puVar17 = puVar16; - if (uVar12 != 0) { - if (uVar12 == 3) { - puVar13 = (undefined *)(uVar14 - 1); - uVar2 = *(undefined2 *)(uVar14 - 3); - uVar14 -= 3; - puVar17 = (undefined4 *)((int)puVar16 + -3); - iParm3 += -3; - *(undefined *)((int)puVar16 + -1) = *puVar13; - *(undefined2 *)puVar17 = uVar2; - } - else { - if (uVar12 == 2) { - puVar11 = (undefined2 *)(uVar14 - 2); - uVar14 -= 2; - iParm3 += -2; - *(undefined2 *)(undefined4 *)((int)puVar16 + -2) = *puVar11; - puVar17 = (undefined4 *)((int)puVar16 + -2); - } - else { - puVar13 = (undefined *)(uVar14 - 1); - uVar14 -= 1; - puVar17 = (undefined4 *)((int)puVar16 + -1); - iParm3 += -1; - *(undefined *)puVar17 = *puVar13; - } - } - } - while (0x1f < iParm3) { - puVar16 = (undefined4 *)(uVar14 - 4); - uVar10 = *(undefined4 *)(uVar14 - 8); - uVar7 = *(undefined4 *)(uVar14 - 0xc); - uVar8 = *(undefined4 *)(uVar14 - 0x10); - uVar9 = *(undefined4 *)(uVar14 - 0x14); - uVar3 = *(undefined4 *)(uVar14 - 0x18); - uVar4 = *(undefined4 *)(uVar14 - 0x1c); - uVar5 = *(undefined4 *)(uVar14 - 0x20); - uVar14 -= 0x20; - iParm3 += -0x20; - puVar17[-1] = *puVar16; - puVar17[-2] = uVar10; - puVar17[-3] = uVar7; - puVar17[-4] = uVar8; - puVar17[-5] = uVar9; - puVar17[-6] = uVar3; - puVar17[-7] = uVar4; - puVar17[-8] = uVar5; - puVar17 = puVar17 + -8; - } - while (puVar16 = puVar17, 0xf < iParm3) { - puVar16 = (undefined4 *)(uVar14 - 4); - uVar10 = *(undefined4 *)(uVar14 - 8); - uVar7 = *(undefined4 *)(uVar14 - 0xc); - uVar8 = *(undefined4 *)(uVar14 - 0x10); - uVar14 -= 0x10; - iParm3 += -0x10; - puVar17[-1] = *puVar16; - puVar17[-2] = uVar10; - puVar17[-3] = uVar7; - puVar17[-4] = uVar8; - puVar17 = puVar17 + -4; - } - while (3 < iParm3) { - puVar17 = (undefined4 *)(uVar14 - 4); - uVar14 -= 4; - iParm3 += -4; - puVar16[-1] = *puVar17; - puVar16 = puVar16 + -1; - } - } - if (iParm3 != 0) { - puVar15 = (undefined *)(uVar14 - 1); - puVar13 = puVar15 + -iParm3; - do { - puVar16 = (undefined4 *)((int)puVar16 + -1); - uVar1 = *puVar15; - puVar15 = puVar15 + -1; - *(undefined *)puVar16 = uVar1; - } while (puVar15 != puVar13); - return puParm2; - } - } - } - return puParm2; -} - - - -void guPerspective(float *pfParm1,undefined2 *puParm2,float fParm3,float fParm4,float fParm5, - float fParm6,float fParm7) - -{ - double dVar1; - float *pfVar2; - int iVar3; - float fVar4; - float fVar5; - uint uVar6; - uint uVar7; - double dVar8; - float fVar9; - uint in_register_00001050; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - - loc_70010084(); - uVar6 = (uint)((ulonglong)DAT_800249a0 >> 0x20); - dVar8 = (double)fParm3 * DAT_800249a0; - uVar7 = (uint)((ulonglong)dVar8 >> 0x20); - fVar10 = (float)func_7F057FC4(); - fVar11 = (float)func_7F057FC4((float)dVar8 / 2.00000000); - pfParm1[0xb] = -1.00000000; - pfParm1[5] = fVar10 / fVar11; - pfParm1[10] = (fParm5 + fParm6) / (fParm5 - fParm6); - *pfParm1 = (fVar10 / fVar11) / fParm4; - pfParm1[0xf] = 0.00000000; - pfParm1[0xe] = (fParm5 * 2.00000000 * fParm6) / (fParm5 - fParm6); - iVar3 = 1; - fVar13 = pfParm1[1]; - fVar10 = *pfParm1 * fParm7; - fVar11 = pfParm1[2]; - fVar12 = pfParm1[3]; - pfVar2 = pfParm1; - if (true) { - do { - fVar9 = fVar13 * fParm7; - fVar13 = pfVar2[5]; - fVar5 = fVar11 * fParm7; - fVar11 = pfVar2[6]; - iVar3 += 1; - fVar4 = fVar12 * fParm7; - fVar12 = pfVar2[7]; - *pfVar2 = fVar10; - fVar10 = pfVar2[4] * fParm7; - pfVar2[1] = fVar9; - pfVar2[2] = fVar5; - pfParm1 = pfVar2 + 4; - pfVar2[3] = fVar4; - pfVar2 = pfParm1; - } while (iVar3 != 4); - } - *pfParm1 = fVar10; - pfParm1[1] = fVar13 * fParm7; - pfParm1[2] = fVar11 * fParm7; - pfParm1[3] = fVar12 * fParm7; - if (puParm2 == NULL) { - return; - } - dVar8 = (double)(fParm5 + fParm6); - if (dVar8 <= (double)((ulonglong)uVar7 << 0x20)) { - *puParm2 = 0xffff; - return; - } - dVar8 = (double)((ulonglong)in_register_00001050 << 0x20) / dVar8; - if (false) { - dVar1 = ROUND(dVar8); - } - else { - dVar1 = FLOOR(dVar8); - } - uVar7 = (uint)dVar1; - if (false) { - dVar8 = dVar8 - (double)((ulonglong)uVar6 << 0x20); - if (false) { - dVar8 = ROUND(dVar8); - } - else { - dVar8 = FLOOR(dVar8); - } - if (true) { - uVar7 = (int)dVar8 | 0x80000000; - goto LAB_7000f6bc; - } - } - else { - if (-1 < (int)uVar7) goto LAB_7000f6bc; - } - uVar7 = 0xffffffff; -LAB_7000f6bc: - *puParm2 = (short)uVar7; - if ((uVar7 & 0xffff) == 0) { - *puParm2 = 1; - } - return; -} - - - -void guPerspective(undefined4 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7) - -{ - undefined auStack64 [64]; - - guPerspective(auStack64,uParm2,uParm3,uParm4,uParm5,uParm6,uParm7); - guMtxL2F(auStack64,uParm1); - return; -} - - - -void guMtxL2F(float *pfParm1,uint *puParm2) - -{ - uint *puVar1; - uint *puVar2; - uint *puVar3; - int iVar4; - int iVar5; - float *pfVar6; - float fVar7; - float fVar8; - - iVar5 = 0; - puVar3 = puParm2 + 8; - do { - iVar4 = 1; - fVar8 = *pfParm1; - fVar7 = pfParm1[1] * 65536.00000000; - puVar1 = puParm2; - puVar2 = puVar3; - pfVar6 = pfParm1; - if (true) { - do { - iVar4 += 1; - puParm2 = puVar1 + 1; - puVar3 = puVar2 + 1; - *puVar1 = (int)(fVar8 * 65536.00000000) & 0xffff0000U | (int)fVar7 >> 0x10 & 0xffffU; - *puVar2 = (int)(fVar8 * 65536.00000000) << 0x10 | (int)fVar7 & 0xffffU; - fVar8 = pfVar6[2]; - fVar7 = pfVar6[3] * 65536.00000000; - puVar1 = puParm2; - puVar2 = puVar3; - pfVar6 = pfVar6 + 2; - } while (iVar4 != 2); - } - *puParm2 = (int)(fVar8 * 65536.00000000) & 0xffff0000U | (int)fVar7 >> 0x10 & 0xffffU; - *puVar3 = (int)(fVar8 * 65536.00000000) << 0x10 | (int)fVar7 & 0xffffU; - iVar5 += 1; - pfParm1 = pfParm1 + 4; - puParm2 = puParm2 + 1; - puVar3 = puVar3 + 1; - } while (iVar5 != 4); - return; -} - - - -void loc_70010084(undefined4 *puParm1) - -{ - int iVar1; - - iVar1 = 0; - do { - if (iVar1 == 0) { - *puParm1 = 0x3f800000; - } - else { - *puParm1 = 0; - } - if (iVar1 == 1) { - puParm1[1] = 0x3f800000; - } - else { - puParm1[1] = 0; - } - if (iVar1 == 2) { - puParm1[2] = 0x3f800000; - } - else { - puParm1[2] = 0; - } - if (iVar1 == 3) { - puParm1[3] = 0x3f800000; - } - else { - puParm1[3] = 0; - } - iVar1 += 1; - puParm1 = puParm1 + 4; - } while (iVar1 != 4); - return; -} - - - -void FUN_7000f8c8(undefined4 uParm1) - -{ - undefined auStack64 [64]; - - loc_70010084(auStack64); - guMtxL2F(auStack64,uParm1); - return; -} - - - -undefined4 __osGetActiveQueue(void) - -{ - return DAT_80023234; -} - - - -void FUN_7000fef4(int iParm1) - -{ - int **ppiVar1; - int *piVar2; - int *piVar3; - undefined8 uVar4; - code *UNRECOVERED_JUMPTABLE; - - ppiVar1 = *(int ***)(iParm1 + -0x7ffa8460); - if (ppiVar1 != NULL) { - piVar2 = ppiVar1[2]; - piVar3 = ppiVar1[4]; - if ((int)piVar2 < (int)piVar3) { - if (piVar3 == NULL) { - trap(0x1c00); - } - if ((piVar3 == (int *)0xffffffff) && ((int)ppiVar1[3] + (int)piVar2 == -0x80000000)) { - trap(0x1800); - } - ppiVar1[5][((int)ppiVar1[3] + (int)piVar2) % (int)piVar3] = *(int *)(iParm1 + -0x7ffa845c); - ppiVar1[2] = (int *)((int)piVar2 + 1); - if (**ppiVar1 != 0) { - uVar4 = __osPopThread(ppiVar1); - loc_700108E0(&PTR_DAT_80023228,uVar4); - } - } - } - // WARNING: Could not recover jumptable at 0x7000ffa0. Too many branches - // WARNING: Treating indirect jump as call - (*UNRECOVERED_JUMPTABLE)(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000ffdc(longlong lParm1) - -{ - int iVar1; - int iVar2; - uint uVar3; - undefined8 unaff_s0; - undefined8 unaff_s1; - undefined8 unaff_s2; - undefined8 unaff_s3; - undefined8 unaff_s4; - undefined8 unaff_s5; - undefined8 unaff_s6; - undefined8 unaff_s7; - undefined8 unaff_s8; - undefined8 unaff_retaddr; - undefined8 unaff_f20; - undefined8 unaff_f22; - undefined8 unaff_f24; - undefined8 unaff_f26; - undefined8 unaff_f28; - undefined8 unaff_f30; - undefined4 in_fcsr; - undefined auStackX0 [16]; - - iVar2 = DAT_80023230; - iVar1 = *(int *)(DAT_80023230 + 0x18); - *(uint *)(DAT_80023230 + 0x118) = Status | 2; - *(undefined8 *)(iVar2 + 0x98) = unaff_s0; - *(undefined8 *)(iVar2 + 0xa0) = unaff_s1; - *(undefined8 *)(iVar2 + 0xa8) = unaff_s2; - *(undefined8 *)(iVar2 + 0xb0) = unaff_s3; - *(undefined8 *)(iVar2 + 0xb8) = unaff_s4; - *(undefined8 *)(iVar2 + 0xc0) = unaff_s5; - *(undefined8 *)(iVar2 + 200) = unaff_s6; - *(undefined8 *)(iVar2 + 0xd0) = unaff_s7; - *(BADSPACEBASE **)(iVar2 + 0xe8) = register0x000000e0; - *(ulonglong *)(iVar2 + 0xf0) = ZEXT48(register0x000000ec); - *(undefined8 *)(iVar2 + 0xf8) = unaff_s8; - *(undefined8 *)(iVar2 + 0x100) = unaff_retaddr; - *(undefined4 *)(iVar2 + 0x11c) = (int)unaff_retaddr; - if (iVar1 != 0) { - *(undefined8 *)(iVar2 + 0x180) = unaff_f20; - *(undefined8 *)(iVar2 + 0x188) = unaff_f22; - *(undefined8 *)(iVar2 + 400) = unaff_f24; - *(undefined8 *)(iVar2 + 0x198) = unaff_f26; - *(undefined8 *)(iVar2 + 0x1a0) = unaff_f28; - *(undefined8 *)(iVar2 + 0x1a8) = unaff_f30; - *(undefined4 *)(iVar2 + 300) = in_fcsr; - } - uVar3 = *(uint *)(iVar2 + 0x118) & 0xff00; - if (uVar3 != 0) { - *(uint *)(iVar2 + 0x118) = - *(uint *)(iVar2 + 0x118) & 0xffff00ff | uVar3 | (DAT_8002241c ^ 0xffffffff) & 0xff00; - } - uVar3 = _DAT_a430000c; - if (_DAT_a430000c != 0) { - uVar3 = _DAT_a430000c | (DAT_8002241c >> 0x10 ^ 0xffffffff) & 0x3f & *(uint *)(iVar2 + 0x128); - } - *(uint *)(iVar2 + 0x128) = uVar3; - if (lParm1 != 0) { - loc_700108E0(); - } - FUN_70010134(); - return; -} - - - -void loc_700108E0(int **ppiParm1,int **ppiParm2) - -{ - int *piVar1; - int **ppiVar2; - int **ppiVar3; - int **ppiVar4; - - piVar1 = (int *)(*ppiParm1)[1]; - ppiVar4 = (int **)*ppiParm1; - ppiVar3 = ppiParm1; - while (ppiVar2 = ppiVar4, (int)ppiParm2[1] <= (int)piVar1) { - ppiVar4 = (int **)*ppiVar2; - piVar1 = ppiVar4[1]; - ppiVar3 = ppiVar2; - } - *ppiParm2 = *ppiVar3; - *(int ***)ppiVar3 = ppiParm2; - *(int ***)(ppiParm2 + 2) = ppiParm1; - return; -} - - - -void __osPopThread(undefined4 *puParm1) - -{ - *puParm1 = *(undefined4 *)*puParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_70010134(void) - -{ - int iVar1; - - iVar1 = __osPopThread(&PTR_DAT_80023228); - DAT_80023230 = iVar1; - *(undefined2 *)(iVar1 + 0x10) = 4; - setCopReg(0,Status,(longlong)*(int *)(iVar1 + 0x118) & 0xffffffffffff00ffU | - (longlong)*(int *)(iVar1 + 0x118) & 0xff00U & - (longlong)(int)DAT_8002241c & 0xff00U,0); - setCopReg(0,EPC,(longlong)*(int *)(iVar1 + 0x11c),0); - _DAT_a430000c = - (uint)*(ushort *)(&DAT_800248f0 + (*(uint *)(iVar1 + 0x128) & DAT_8002241c >> 0x10) * 2); - return *(undefined8 *)(iVar1 + 0x28); -} - - - -void __osDequeueThread(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar2 = (undefined4 *)*puParm1; - while( true ) { - puVar1 = puVar2; - if (puVar1 == NULL) { - return; - } - if (puVar1 == puParm2) break; - puVar2 = (undefined4 *)*puVar1; - puParm1 = puVar1; - } - *puParm1 = *puParm2; - return; -} - - - -void FUN_70010300(void) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - *(undefined2 *)(DAT_80023230 + 0x10) = 2; - FUN_7000ffdc(&PTR_DAT_80023228); - __osRestoreInt(uVar1); - return; -} - - - -void osInvalDCache(ulonglong uParm1,ulonglong uParm2) - -{ - bool bVar1; - uint uVar2; - int iVar3; - int iVar5; - ulonglong uVar4; - - uVar2 = (uint)uParm1; - if (0 < (longlong)uParm2) { - if (0x1fff < uParm2) { - uVar4 = 0xffffffff80000000; - do { - cacheOp(1,uVar4); - bVar1 = uVar4 < 0xffffffff80001ff0; - uVar4 = SEXT48((int)uVar4 + 0x10); - } while (bVar1); - return; - } - iVar5 = uVar2 + (int)uParm2; - if (uParm1 < (ulonglong)(longlong)iVar5) { - iVar5 += -0x10; - uVar4 = SEXT48(iVar5); - if ((uParm1 & 0xf) != 0) { - iVar3 = uVar2 - (uVar2 & 0xf); - cacheOp(0x15,(longlong)iVar3); - if (uVar4 <= (ulonglong)(longlong)iVar3) { - return; - } - uParm1 = SEXT48(iVar3 + 0x10); - } - if ((uVar4 & 0xf) != 0) { - uVar4 = SEXT48(iVar5 - (int)(uVar4 & 0xf)); - cacheOp(0x15,uVar4 + 0x10); - if (uVar4 < uParm1) { - return; - } - } - do { - cacheOp(0x11,uParm1); - bVar1 = uParm1 < uVar4; - uParm1 = SEXT48((int)uParm1 + 0x10); - } while (bVar1); - } - } - return; -} - - - -void osWritebackDCache(uint uParm1,ulonglong uParm2) - -{ - bool bVar1; - ulonglong uVar2; - uint uVar3; - - if (0 < (longlong)uParm2) { - if (0x1fff < uParm2) { - uVar2 = 0xffffffff80000000; - do { - cacheOp(1,uVar2); - bVar1 = uVar2 < 0xffffffff80001ff0; - uVar2 = SEXT48((int)uVar2 + 0x10); - } while (bVar1); - return; - } - uVar3 = uParm1 + (int)uParm2; - if (uParm1 < uVar3) { - uVar2._4_4_ = uParm1 - (uParm1 & 0xf); - do { - uVar2 = SEXT48(uVar2._4_4_); - cacheOp(0x19,uVar2); - uVar2._4_4_ += 0x10; - } while (uVar2 < (ulonglong)(longlong)(int)(uVar3 - 0x10)); - } - } - return; -} - - - -undefined8 -osSetTimer(undefined4 *puParm1,undefined8 uParm2,int iParm3,int iParm4,undefined4 uParm5, - undefined4 uParm6,undefined4 uParm7,undefined4 uParm8) - -{ - undefined4 uVar1; - undefined4 in_v1_lo; - - *puParm1 = 0; - puParm1[1] = 0; - puParm1[3] = uParm6; - puParm1[2] = uParm5; - if ((iParm3 == 0) && (iParm4 == 0)) { - puParm1[4] = uParm5; - puParm1[5] = uParm6; - } - else { - puParm1[4] = iParm3; - puParm1[5] = iParm4; - } - puParm1[6] = uParm7; - puParm1[7] = uParm8; - uVar1 = FUN_7000d4f8(puParm1); - if ((undefined4 *)*DAT_80023150 == puParm1) { - FUN_7000d484(uVar1,in_v1_lo); - } - return 0; -} - - - -void alHeapInit(uint *puParm1,uint uParm2,uint uParm3) - -{ - int iVar1; - - iVar1 = 0x10 - (uParm2 & 0xf); - if (iVar1 == 0x10) { - *puParm1 = uParm2; - } - else { - *puParm1 = uParm2 + iVar1; - } - puParm1[2] = uParm3; - puParm1[3] = 0; - puParm1[1] = *puParm1; - return; -} - - - -void locret_70010E64(int iParm1,int iParm2,undefined8 uParm3,int iParm4) - -{ - longlong lVar1; - int iVar2; - int iVar4; - longlong lVar3; - int *piVar5; - int *piVar6; - - if (*(char *)(iParm1 + 3) == '\0') { - *(undefined *)(iParm1 + 3) = 1; - lVar1 = 0; - if (0 < *(short *)(iParm1 + 0xe)) { - iVar4 = *(int *)(iParm1 + 0x10); - iVar2 = iParm1; - do { - piVar6 = (int *)(iVar4 + iParm2); - *(int **)(iVar2 + 0x10) = piVar6; - if (*(char *)((int)piVar6 + 0xe) == '\0') { - *(undefined *)((int)piVar6 + 0xe) = 1; - *piVar6 = *piVar6 + iParm2; - piVar5 = (int *)(piVar6[2] + iParm2); - piVar6[1] = piVar6[1] + iParm2; - *(int **)(piVar6 + 2) = piVar5; - if (*(char *)((int)piVar5 + 9) == '\0') { - *(undefined *)((int)piVar5 + 9) = 1; - *piVar5 = *piVar5 + iParm4; - if (*(char *)(piVar5 + 2) == '\0') { - piVar5[4] = piVar5[4] + iParm2; - if (piVar5[3] != 0) { - piVar5[3] = piVar5[3] + iParm2; - } - } - else { - if (*(char *)(piVar5 + 2) != '\x01') { - lVar3 = (longlong)*(short *)(iParm1 + 0xe); - goto LAB_70010680; - } - if (piVar5[3] != 0) { - piVar5[3] = piVar5[3] + iParm2; - } - } - lVar3 = (longlong)*(short *)(iParm1 + 0xe); - } - else { - lVar3 = (longlong)*(short *)(iParm1 + 0xe); - } - } - else { - lVar3 = (longlong)*(short *)(iParm1 + 0xe); - } -LAB_70010680: - lVar1 = (longlong)((int)lVar1 + 1); - if (lVar3 <= lVar1) { - return; - } - iVar4 = *(int *)(iVar2 + 0x14); - iVar2 = iVar2 + 4; - } while( true ); - } - } - return; -} - - - -void loc_70010F58(short *psParm1,undefined8 uParm2,undefined8 uParm3) - -{ - int iVar1; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - longlong lVar2; - int iVar3; - longlong lVar4; - short *psVar5; - longlong lVar6; - longlong lVar7; - - if ((*psParm1 != 0x4231) || (lVar6 = 0, psParm1[1] < 1)) { - return; - } - lVar7._4_4_ = *(int *)(psParm1 + 2); - psVar5 = psParm1; - do { - lVar7._4_4_ += (int)psParm1; - lVar7 = (longlong)lVar7._4_4_; - *(int *)(psVar5 + 2) = lVar7._4_4_; - if (lVar7 == 0) { -LAB_70010770: - lVar7 = (longlong)psParm1[1]; - } - else { - if (*(char *)(lVar7._4_4_ + 2) == '\0') { - *(undefined *)(lVar7._4_4_ + 2) = 1; - lVar2 = 0; - iVar1 = *(int *)(lVar7._4_4_ + 8) + (int)psParm1; - if (*(int *)(lVar7._4_4_ + 8) != 0) { - *(int *)(lVar7._4_4_ + 8) = iVar1; - locret_70010E64(iVar1,psParm1,uParm3,uParm2); - uParm3 = extraout_a2; - } - if (0 < *(short *)lVar7) { - lVar7._4_4_ = *(int *)((short *)lVar7 + 6); - lVar4 = lVar7; - while( true ) { - iVar1 = (int)lVar7; - iVar3 = (int)lVar2; - lVar7._4_4_ += (int)psParm1; - *(int *)(iVar1 + 0xc) = lVar7._4_4_; - if (lVar7._4_4_ != 0) { - locret_70010E64(lVar7._4_4_,psParm1,uParm3,uParm2); - uParm3 = extraout_a2_00; - } - lVar2 = (longlong)(iVar3 + 1); - lVar7 = (longlong)(iVar1 + 4); - if ((longlong)*(short *)lVar4 <= lVar2) break; - lVar7._4_4_ = *(int *)(iVar1 + 0x10); - } - goto LAB_70010770; - } - lVar7 = (longlong)psParm1[1]; - } - else { - lVar7 = (longlong)psParm1[1]; - } - } - lVar6 = (longlong)((int)lVar6 + 1); - if (lVar7 <= lVar6) { - return; - } - lVar7._4_4_ = *(int *)(psVar5 + 4); - psVar5 = psVar5 + 2; - } while( true ); -} - - - -void alCSPNew(int iParm1) - -{ - longlong lVar1; - int iStack20; - undefined2 auStack16 [8]; - - if (*(int *)(iParm1 + 0x2c) == 1) { - if ((*(int *)(iParm1 + 0x18) != 0) && - (lVar1 = loc_70012CD8(*(int *)(iParm1 + 0x18),&iStack20), lVar1 != 0)) { - auStack16[0] = 0; - FUN_7001272c(iParm1 + 0x48,auStack16,*(int *)(iParm1 + 0x24) * iStack20); - } - } - return; -} - - - -void locret_7001105C(float fParm1,int iParm2) - -{ - if (*(int *)(iParm2 + 0x18) == 0) { - *(undefined4 *)(iParm2 + 0x24) = 0x1e8; - return; - } - *(int *)(iParm2 + 0x24) = (int)(fParm1 * *(float *)(*(int *)(iParm2 + 0x18) + 8)); - return; -} - - - -void loc_70011230(undefined8 uParm1,int iParm2) - -{ - int iVar1; - int *piVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined8 uVar5; - int iVar6; - int iVar7; - int **ppiVar8; - undefined4 *puVar9; - undefined4 unaff_s7_hi; - int unaff_s7_lo; - - puVar9 = NULL; - if ((*(char *)(iParm2 + 8) == -1) && (*(char *)(iParm2 + 9) == 'Q')) { - iVar1 = *(int *)(unaff_s7_lo + 0x24); - locret_7001105C((float)((uint)*(byte *)(iParm2 + 0xb) << 0x10 | - (uint)*(byte *)(iParm2 + 0xc) << 8 | (uint)*(byte *)(iParm2 + 0xd)), - CONCAT44(unaff_s7_hi,unaff_s7_lo)); - puVar4 = *(undefined4 **)(unaff_s7_lo + 0x50); - iVar7 = 0; - while (puVar3 = puVar4, puVar3 != NULL) { - puVar4 = (undefined4 *)*puVar3; - iVar6 = iVar7 + puVar3[2]; - iVar7 = iVar6; - if (*(short *)(puVar3 + 3) == 0x15) { - alInit(puVar3); - if (puVar9 == NULL) { - *puVar3 = 0; - puVar3[1] = 0; - puVar9 = puVar3; - } - else { - locret_7000EADC(puVar3,puVar9); - } - iVar7 = iVar6; - if (puVar4 != NULL) { - iVar7 = iVar6 - puVar3[2]; - puVar4[2] = puVar4[2] + puVar3[2]; - } - puVar3[2] = iVar6; - } - } - if (puVar9 != NULL) { - do { - puVar4 = (undefined4 *)*puVar9; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (puVar9[2] == -0x80000000)) { - trap(0x1800); - } - puVar9[2] = *(int *)(unaff_s7_lo + 0x24) * ((int)puVar9[2] / iVar1); - uVar5 = osSetIntMask(1); - if (unaff_s7_lo != -0x50) { - piVar2 = *(int **)(unaff_s7_lo + 0x50); - ppiVar8 = (int **)(unaff_s7_lo + 0x50); - while (piVar2 != NULL) { - iVar7 = puVar9[2]; - iVar6 = piVar2[2]; - if (iVar7 < iVar6) { - piVar2[2] = iVar6 - iVar7; - locret_7000EADC(puVar9,ppiVar8,piVar2); - goto LAB_70010a4c; - } - puVar9[2] = iVar7 - iVar6; - ppiVar8 = (int **)*ppiVar8; - if (ppiVar8 == NULL) goto LAB_70010a4c; - piVar2 = *ppiVar8; - } - locret_7000EADC(puVar9,ppiVar8); - } -LAB_70010a4c: - osSetIntMask(uVar5); - puVar9 = puVar4; - } while (puVar4 != NULL); - } - } - return; -} - - - -void loc_70011A58(void) - -{ - byte bVar1; - byte bVar2; - char cVar3; - int iVar4; - int iVar5; - int **ppiVar8; - longlong lVar6; - int iVar9; - undefined2 uVar10; - undefined8 uVar7; - uint uVar11; - int iVar12; - int in_t0_lo; - ulonglong uVar13; - undefined4 *puVar14; - ulonglong uVar15; - undefined4 unaff_s2_hi; - int unaff_s2_lo; - ulonglong uVar16; - int iVar17; - undefined4 uVar18; - float fVar19; - float fVar20; - undefined uVar22; - float fVar21; - undefined4 auStack92 [2]; - float afStack84 [4]; - ushort uStack68; - undefined2 uStack66; - undefined uStack64; - undefined2 auStack44 [2]; - int iStack40; - uint uStack36; - byte bStack32; - - bVar1 = *(byte *)(in_t0_lo + 9); - uVar16 = (ulonglong)bVar1; - bVar2 = *(byte *)(in_t0_lo + 10); - uVar15 = (ulonglong)bVar2; - uVar11 = (uint)*(byte *)(in_t0_lo + 8) & 0xf0; - uVar13 = (ulonglong)*(byte *)(in_t0_lo + 8) & 0xf; - if (0x60 < uVar11 - 0x80) { - return; - } - iVar9 = (int)uVar13; - switch(uVar11) { - case 0x80: - goto LAB_70010e54; - case 0x90: - if (bVar2 != 0) { - if (*(int *)(unaff_s2_lo + 0x2c) != 1) { - return; - } - ppiVar8 = (int **)loc_7001C450(CONCAT44(unaff_s2_hi,unaff_s2_lo),uVar16,uVar15,uVar13); - if (ppiVar8 == NULL) { - return; - } - iVar9 *= 0x10; - uStack66 = 0; - uStack64 = 0; - uStack68 = (ushort)*(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 + 8); - iVar5 = locret_7001C358(CONCAT44(unaff_s2_hi,unaff_s2_lo),uVar16,uVar15,uVar13); - if (iVar5 == 0) { - return; - } - iVar12 = iVar5 + 4; - loc_70013380(*(undefined4 *)(unaff_s2_lo + 0x14),iVar12,&uStack68); - *(int ***)(iVar5 + 0x20) = ppiVar8; - *(undefined *)(iVar5 + 0x34) = 0; - if (*(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 + 0xb) < 0x40) { - *(undefined *)(iVar5 + 0x35) = 0; - } - else { - *(undefined *)(iVar5 + 0x35) = 2; - } - uVar18 = FUN_70012ff0((int)((((uint)bVar1 - (uint)*(byte *)(ppiVar8[1] + 1)) * 100 + - (int)*(char *)((int)ppiVar8[1] + 5)) * 0x10000) >> 0x10); - *(undefined4 *)(iVar5 + 0x28) = uVar18; - *(undefined *)(iVar5 + 0x30) = *(undefined *)(*ppiVar8 + 3); - iVar4 = *(int *)(unaff_s2_lo + 0x1c); - iVar17 = **ppiVar8; - *(undefined *)(iVar5 + 0x37) = 0; - *(int *)(iVar5 + 0x24) = iVar4 + iVar17; - iVar4 = *(int *)(*(int *)(unaff_s2_lo + 0x60) + iVar9); - afStack84[0] = 127.00000000; - if (((*(byte *)(iVar4 + 4) != 0) && (*(code **)(unaff_s2_lo + 0x70) != NULL)) && - (lVar6 = (**(code **)(unaff_s2_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar4 + 4), - (ulonglong)*(byte *)(iVar4 + 5),(uint)*(byte *)(iVar4 + 6), - (uint)*(byte *)(iVar4 + 7)), lVar6 != 0)) { - auStack44[0] = 0x16; - uStack36 = auStack92[0]; - iStack40 = iVar5; - FUN_7001272c(unaff_s2_lo + 0x48,auStack44,lVar6); - *(byte *)(iVar5 + 0x37) = *(byte *)(iVar5 + 0x37) | 1; - } - if (false) { - fVar19 = ROUND(afStack84[0]); - } - else { - fVar19 = FLOOR(afStack84[0]); - } - uVar22 = (undefined)(int)fVar19; - if (false) { - if (false) { - fVar19 = ROUND(afStack84[0] - 2147483648.00000000); - } - else { - fVar19 = FLOOR(afStack84[0] - 2147483648.00000000); - } - if (true) { - uVar22 = (undefined)(int)fVar19; - goto LAB_70010cc0; - } - } - else { - if (-1 < (int)fVar19) goto LAB_70010cc0; - } - uVar22 = 0xff; -LAB_70010cc0: - *(undefined *)(iVar5 + 0x36) = uVar22; - afStack84[0] = 1.00000000; - iVar17 = unaff_s2_lo + 0x48; - if (((*(byte *)(iVar4 + 8) != 0) && (*(code **)(unaff_s2_lo + 0x70) != NULL)) && - (lVar6 = (**(code **)(unaff_s2_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar4 + 8), - (ulonglong)*(byte *)(iVar4 + 9),(uint)*(byte *)(iVar4 + 10), - (uint)*(byte *)(iVar4 + 0xb)), lVar6 != 0)) { - auStack44[0] = 0x17; - uStack36 = auStack92[0]; - iStack40 = iVar5; - bStack32 = (byte)uVar13; - FUN_7001272c(iVar17,auStack44,lVar6); - *(byte *)(iVar5 + 0x37) = *(byte *)(iVar5 + 0x37) | 2; - } - fVar21 = *(float *)(iVar5 + 0x28); - *(float *)(iVar5 + 0x2c) = afStack84[0]; - fVar19 = *(float *)(iVar5 + 0x2c); - iVar9 = *(int *)(unaff_s2_lo + 0x60) + iVar9; - fVar20 = *(float *)(iVar9 + 0xc); - bVar2 = *(byte *)(iVar9 + 10); - uVar11 = locret_7001C274(iVar5,CONCAT44(unaff_s2_hi,unaff_s2_lo)); - uVar18 = __vsVol(iVar5,CONCAT44(unaff_s2_hi,unaff_s2_lo)); - iVar9 = **ppiVar8; - alSynStartVoiceParams - (*(undefined4 *)(unaff_s2_lo + 0x14),iVar12,ppiVar8[2],fVar20 * fVar21 * fVar19, - uVar18,uVar11 & 0xff,(uint)bVar2,iVar9); - auStack44[0] = 6; - bStack32 = *(undefined *)((int)*ppiVar8 + 0xd); - uStack36 = (*ppiVar8)[1]; - iStack40 = iVar12; - FUN_7001272c(iVar17,auStack44,iVar9); - if (*(int *)(in_t0_lo + 0xc) == 0) { - return; - } - auStack44[0] = 0x15; - uStack36 = (uint)(byte)uVar13 << 0x18 | 0x80000000 | - (uint)CONCAT12(bVar1,(short)uStack36) & 0xffff00ff; - FUN_7001272c(iVar17,auStack44,*(int *)(unaff_s2_lo + 0x24) * *(int *)(in_t0_lo + 0xc)); - return; - } -LAB_70010e54: - iVar9 = loc_7001C2E4(CONCAT44(unaff_s2_hi,unaff_s2_lo),uVar16,uVar13); - if (iVar9 != 0) { - if (*(char *)(iVar9 + 0x35) == '\x02') { - *(undefined *)(iVar9 + 0x35) = 4; - } - else { - *(undefined *)(iVar9 + 0x35) = 3; - loc_7001BF40(CONCAT44(unaff_s2_hi,unaff_s2_lo),iVar9 + 4, - *(undefined4 *)(**(int **)(iVar9 + 0x20) + 8)); - } - } - break; - case 0xa0: - iVar9 = loc_7001C2E4(CONCAT44(unaff_s2_hi,unaff_s2_lo),uVar16,uVar13); - if (iVar9 != 0) { - *(byte *)(iVar9 + 0x33) = bVar2; - uVar10 = __vsVol(iVar9,CONCAT44(unaff_s2_hi,unaff_s2_lo)); - uVar7 = locret_7001BE0C(iVar9,*(undefined4 *)(unaff_s2_lo + 0x1c)); - alSynSetVol(*(undefined4 *)(unaff_s2_lo + 0x14),iVar9 + 4,uVar10,uVar7); - } - break; - case 0xb0: - if (bVar1 == 7) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 * 0x10 + 9) = bVar2; - puVar14 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar1) { - if (*(char *)(puVar14 + 0xd) == '\x03') { - puVar14 = (undefined4 *)*puVar14; - } - else { - uVar10 = __vsVol(puVar14,CONCAT44(unaff_s2_hi,unaff_s2_lo)); - uVar7 = locret_7001BE0C(puVar14,*(undefined4 *)(unaff_s2_lo + 0x1c)); - alSynSetVol(*(undefined4 *)(unaff_s2_lo + 0x14),puVar14 + 1,uVar10,uVar7); - puVar14 = (undefined4 *)*puVar14; - } - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar1 = *(byte *)((int)puVar14 + 0x31); - } - } - } - else { - if (bVar1 == 10) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 * 0x10 + 7) = bVar2; - puVar14 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar1) { - uVar15 = locret_7001C274(puVar14,CONCAT44(unaff_s2_hi,unaff_s2_lo)); - FUN_70012d00(*(undefined4 *)(unaff_s2_lo + 0x14),puVar14 + 1,uVar15 & 0xff); - puVar14 = (undefined4 *)*puVar14; - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar1 = *(byte *)((int)puVar14 + 0x31); - } - } - } - else { - if (bVar1 == 0x10) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 * 0x10 + 8) = bVar2; - } - else { - if (bVar1 == 0x40) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 * 0x10 + 0xb) = bVar2; - puVar14 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - do { - if (uVar13 == (ulonglong)bVar1) { - cVar3 = *(char *)((int)puVar14 + 0x35); - if (cVar3 == '\x03') { - puVar14 = (undefined4 *)*puVar14; - } - else { - if (bVar2 < 0x40) { - if (cVar3 == '\x02') { - *(undefined *)((int)puVar14 + 0x35) = 0; - } - else { - if (cVar3 != '\x04') { - puVar14 = (undefined4 *)*puVar14; - goto LAB_70011158; - } - *(undefined *)((int)puVar14 + 0x35) = 3; - loc_7001BF40(CONCAT44(unaff_s2_hi,unaff_s2_lo),puVar14 + 1, - *(undefined4 *)(*(int *)puVar14[8] + 8)); - } - } - else { - if (cVar3 != '\0') { - puVar14 = (undefined4 *)*puVar14; - goto LAB_70011158; - } - *(undefined *)((int)puVar14 + 0x35) = 2; - } - puVar14 = (undefined4 *)*puVar14; - } - } - else { - puVar14 = (undefined4 *)*puVar14; - } -LAB_70011158: - if (puVar14 == NULL) { - return; - } - bVar1 = *(byte *)((int)puVar14 + 0x31); - } while( true ); - } - } - else { - if (bVar1 == 0x5b) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 * 0x10 + 10) = bVar2; - puVar14 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar1) { - FUN_70012e20(*(undefined4 *)(unaff_s2_lo + 0x14),puVar14 + 1,uVar15); - puVar14 = (undefined4 *)*puVar14; - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar1 = *(byte *)((int)puVar14 + 0x31); - } - } - } - } - } - } - } - break; - case 0xc0: - if ((longlong)uVar16 < (longlong)**(short **)(unaff_s2_lo + 0x20)) { - alSeqpNew(CONCAT44(unaff_s2_hi,unaff_s2_lo), - *(undefined4 *)(*(short **)(unaff_s2_lo + 0x20) + (uint)bVar1 * 2 + 6),uVar13); - } - break; - case 0xd0: - puVar14 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar14 != NULL) { - bVar2 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar2) { - *(byte *)((int)puVar14 + 0x33) = bVar1; - uVar10 = __vsVol(puVar14,CONCAT44(unaff_s2_hi,unaff_s2_lo)); - uVar7 = locret_7001BE0C(puVar14,*(undefined4 *)(unaff_s2_lo + 0x1c)); - alSynSetVol(*(undefined4 *)(unaff_s2_lo + 0x14),puVar14 + 1,uVar10,uVar7); - puVar14 = (undefined4 *)*puVar14; - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar2 = *(byte *)((int)puVar14 + 0x31); - } - } - break; - case 0xe0: - iVar5 = (int)*(short *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 * 0x10 + 4) * - ((uint)bVar2 * 0x80 + (uint)bVar1 + -0x2000); - if (iVar5 < 0) { - iVar5 += 0x1fff; - } - fVar19 = (float)FUN_70012ff0(iVar5 >> 0xd); - *(float *)(*(int *)(unaff_s2_lo + 0x60) + iVar9 * 0x10 + 0xc) = fVar19; - puVar14 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar1) { - FUN_70012d90(*(undefined4 *)(unaff_s2_lo + 0x14),puVar14 + 1, - (float)puVar14[10] * fVar19 * (float)puVar14[0xb]); - puVar14 = (undefined4 *)*puVar14; - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar1 = *(byte *)((int)puVar14 + 0x31); - } - } - } - return; -} - - - -void loc_70012030(int iParm1) - -{ - byte bVar1; - int iVar2; - undefined4 uVar3; - int iVar4; - undefined4 *puVar5; - float fVar6; - undefined8 uVar7; - undefined8 uVar8; - undefined2 uVar10; - longlong lVar9; - int iVar11; - int iVar12; - undefined uVar13; - undefined2 auStack72 [16]; - float afStack40 [5]; - undefined2 auStack20 [2]; - int iStack16; - undefined4 uStack12; - byte bStack8; - - iVar12 = iParm1 + 0x48; - do { - if (true) { - switch(*(undefined2 *)(iParm1 + 0x38)) { - case 0: - if ((*(int *)(iParm1 + 0x18) != 0) && - (loc_70012784(*(int *)(iParm1 + 0x18),auStack72), true)) { - switch(auStack72[0]) { - case 1: - loc_70011A58(); - alCSPNew(iParm1); - break; - case 3: - loc_70011230(); - alCSPNew(iParm1); - break; - case 4: - *(undefined4 *)(iParm1 + 0x2c) = 2; - auStack72[0] = 0x10; - FUN_7001272c(iVar12,auStack72,0x7fffffff); - break; - case 0x12: - case 0x13: - case 0x14: - alCSPNew(iParm1); - } - } - break; - case 2: - case 0x15: - loc_70011A58(); - break; - case 5: - iVar4 = *(int *)(iParm1 + 0x3c); - alSynStopVoice(*(undefined4 *)(iParm1 + 0x14),iVar4); - alSynFreeVoice(*(undefined4 *)(iParm1 + 0x14),iVar4); - if (*(char *)(*(int *)(iVar4 + 0x10) + 0x37) != '\0') { - unknown_libname_42(iParm1,*(int *)(iVar4 + 0x10)); - } - locret_7001C0D8(iParm1,iVar4); - break; - case 6: - iVar4 = *(int *)(iParm1 + 0x3c); - iVar11 = *(int *)(iVar4 + 0x10); - if (*(char *)(iVar11 + 0x34) == '\0') { - *(undefined *)(iVar11 + 0x34) = 1; - iVar2 = *(int *)(iParm1 + 0x40); - } - else { - iVar2 = *(int *)(iParm1 + 0x40); - } - *(int *)(iVar11 + 0x24) = *(int *)(iParm1 + 0x1c) + iVar2; - *(undefined *)(iVar11 + 0x30) = *(undefined *)(iParm1 + 0x44); - uVar10 = __vsVol(iVar11,iParm1); - alSynSetVol(*(undefined4 *)(iParm1 + 0x14),iVar4,uVar10,iVar2); - break; - case 7: - loc_70011230(); - break; - case 9: - auStack20[0] = 9; - FUN_7001272c(iVar12,auStack20,*(undefined4 *)(iParm1 + 0x5c)); - break; - case 10: - puVar5 = *(undefined4 **)(iParm1 + 100); - *(undefined2 *)(iParm1 + 0x32) = *(undefined2 *)(iParm1 + 0x3c); - while (puVar5 != NULL) { - uVar10 = __vsVol(puVar5,iParm1); - uVar7 = locret_7001BE0C(puVar5,*(undefined4 *)(iParm1 + 0x1c)); - alSynSetVol(*(undefined4 *)(iParm1 + 0x14),puVar5 + 1,uVar10,uVar7); - puVar5 = (undefined4 *)*puVar5; - } - break; - case 0xc: - *(undefined *)(*(int *)(iParm1 + 0x60) + (uint)*(byte *)(iParm1 + 0x3c) * 0x10 + 8) = - *(undefined *)(iParm1 + 0x3d); - break; - case 0xd: - *(undefined4 *)(iParm1 + 0x18) = *(undefined4 *)(iParm1 + 0x3c); - locret_7001105C(DAT_80024c34,iParm1); - if (*(int *)(iParm1 + 0x20) != 0) { - loc_7001BDD4(iParm1); - } - break; - case 0xe: - *(undefined4 *)(iParm1 + 0x20) = *(undefined4 *)(iParm1 + 0x3c); - loc_7001BDD4(iParm1); - break; - case 0xf: - if (*(int *)(iParm1 + 0x2c) != 1) { - *(undefined4 *)(iParm1 + 0x2c) = 1; - alCSPNew(iParm1); - } - break; - case 0x10: - if (*(int *)(iParm1 + 0x2c) == 2) { - iVar4 = *(int *)(iParm1 + 100); - while (iVar4 != 0) { - iVar11 = iVar4 + 4; - alSynStopVoice(*(undefined4 *)(iParm1 + 0x14),iVar11); - alSynFreeVoice(*(undefined4 *)(iParm1 + 0x14),iVar11); - if (*(char *)(iVar4 + 0x37) != '\0') { - unknown_libname_42(iParm1,iVar4); - } - locret_7001C0D8(iParm1,iVar11); - iVar4 = *(int *)(iParm1 + 100); - } - *(undefined4 *)(iParm1 + 0x2c) = 0; - } - break; - case 0x11: - if (*(int *)(iParm1 + 0x2c) == 1) { - alEvtqNew(iVar12,0); - alEvtqNew(iVar12,0x15); - alEvtqNew(iVar12,2); - puVar5 = *(undefined4 **)(iParm1 + 100); - while (puVar5 != NULL) { - lVar9 = loc_7001C05C(iParm1,puVar5 + 1,50000); - if (lVar9 != 0) { - loc_7001BF40(iParm1,puVar5 + 1,50000); - } - puVar5 = (undefined4 *)*puVar5; - } - *(undefined4 *)(iParm1 + 0x2c) = 2; - auStack20[0] = 0x10; - FUN_7001272c(iVar12,auStack20,0x7fffffff); - } - break; - case 0x16: - uVar3 = *(undefined4 *)(iParm1 + 0x40); - iVar4 = *(int *)(iParm1 + 0x3c); - uVar7 = (**(code **)(iParm1 + 0x74))(uVar3,afStack40); - if (false) { - fVar6 = ROUND(afStack40[0]); - } - else { - fVar6 = FLOOR(afStack40[0]); - } - uVar13 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar6 = ROUND(afStack40[0] - 2147483648.00000000); - } - else { - fVar6 = FLOOR(afStack40[0] - 2147483648.00000000); - } - if (false) goto LAB_70011528; - uVar13 = (undefined)(int)fVar6; - } - else { - if ((int)fVar6 < 0) { -LAB_70011528: - uVar13 = 0xff; - } - } - *(undefined *)(iVar4 + 0x36) = uVar13; - uVar10 = __vsVol(iVar4,iParm1); - uVar8 = locret_7001BE0C(iVar4,*(undefined4 *)(iParm1 + 0x1c)); - alSynSetVol(*(undefined4 *)(iParm1 + 0x14),iVar4 + 4,uVar10,uVar8); - auStack20[0] = 0x16; - iStack16 = iVar4; - uStack12 = uVar3; - FUN_7001272c(iVar12,auStack20,uVar7); - break; - case 0x17: - uVar3 = *(undefined4 *)(iParm1 + 0x40); - iVar4 = *(int *)(iParm1 + 0x3c); - bVar1 = *(byte *)(iParm1 + 0x44); - uVar7 = (**(code **)(iParm1 + 0x74))(uVar3,afStack40); - *(float *)(iVar4 + 0x2c) = afStack40[0]; - FUN_70012d90(*(undefined4 *)(iParm1 + 0x14),iVar4 + 4, - *(float *)(*(int *)(iParm1 + 0x60) + (uint)bVar1 * 0x10 + 0xc) * - *(float *)(iVar4 + 0x28) * *(float *)(iVar4 + 0x2c)); - auStack20[0] = 0x17; - iStack16 = iVar4; - uStack12 = uVar3; - bStack8 = bVar1; - FUN_7001272c(iVar12,auStack20,uVar7); - } - } - lVar9 = FUN_70012850(iVar12,iParm1 + 0x38); - *(int *)(iParm1 + 0x28) = (int)lVar9; - if (lVar9 != 0) { - *(int *)(iParm1 + 0x1c) = *(int *)(iParm1 + 0x1c) + (int)lVar9; - return; - } - } while( true ); -} - - - -void loc_70012188(undefined4 *puParm1,int *piParm2) - -{ - int iVar1; - undefined8 uVar2; - undefined4 uVar3; - undefined4 *puVar4; - int iVar5; - - iVar1 = piParm2[3]; - puParm1[8] = 0; - puParm1[6] = 0; - uVar3 = DAT_800231e0; - *(undefined2 *)(puParm1 + 0xc) = 0xff; - puParm1[9] = 0x1e8; - puParm1[10] = 0; - puParm1[0xb] = 0; - *(undefined2 *)((int)puParm1 + 0x32) = 0x7fff; - puParm1[0x17] = 16000; - puParm1[7] = 0; - puParm1[5] = uVar3; - puParm1[0x1c] = piParm2[4]; - puParm1[0x1d] = piParm2[5]; - iVar5 = piParm2[6]; - *(undefined2 *)(puParm1 + 0xe) = 9; - puParm1[0x1e] = iVar5; - *(undefined *)(puParm1 + 0xd) = *(undefined *)(piParm2 + 2); - uVar3 = alHeapDBAlloc(0,0,iVar1,(ulonglong)*(byte *)(piParm2 + 2),0x10); - puParm1[0x18] = uVar3; - loc_7001D3FC(puParm1); - puVar4 = (undefined4 *)alHeapDBAlloc(0,0,iVar1,*piParm2,0x38); - puParm1[0x1b] = 0; - iVar5 = 0; - if (0 < *piParm2) { - uVar3 = puParm1[0x1b]; - while( true ) { - iVar5 += 1; - *puVar4 = uVar3; - *(undefined4 **)(puParm1 + 0x1b) = puVar4; - puVar4 = puVar4 + 0xe; - if (*piParm2 <= iVar5) break; - uVar3 = puParm1[0x1b]; - } - } - puParm1[0x19] = 0; - puParm1[0x1a] = 0; - uVar2 = alHeapDBAlloc(0,0,iVar1,piParm2[1],0x1c); - loc_70013104(puParm1 + 0x12,uVar2,piParm2[1]); - *puParm1 = 0; - puParm1[2] = 0x7001129c; - *(undefined4 **)(puParm1 + 1) = puParm1; - alSynAddPlayer(DAT_800231e0,puParm1); - return; -} - - - -void FUN_70011a20(int iParm1,undefined4 uParm2) - -{ - undefined2 auStack16 [2]; - undefined4 uStack12; - - auStack16[0] = 0xe; - uStack12 = uParm2; - FUN_7001272c(iParm1 + 0x48,auStack16,0); - return; -} - - - -undefined4 alCSPGetState(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0x2c); -} - - - -ulonglong locret_7001243C(int iParm1,int iParm2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - byte *pbVar4; - int iVar5; - ulonglong uVar6; - int iVar7; - - iVar5 = iParm1 + iParm2; - iVar7 = iParm1 + iParm2 * 4; - if (*(char *)(iVar5 + 0x98) == '\0') { - pbVar4 = *(byte **)(iVar7 + 0x18); - bVar1 = *pbVar4; - uVar6 = (ulonglong)bVar1; - *(byte **)(iVar7 + 0x18) = pbVar4 + 1; - if (bVar1 == 0xfe) { - bVar1 = pbVar4[1]; - *(byte **)(iVar7 + 0x18) = pbVar4 + 2; - if (bVar1 != 0xfe) { - bVar2 = pbVar4[2]; - *(byte **)(iVar7 + 0x18) = pbVar4 + 3; - bVar3 = pbVar4[3]; - *(byte **)(iVar7 + 0x18) = pbVar4 + 4; - *(byte **)(iVar7 + 0x58) = pbVar4 + 4 + (-4 - ((uint)bVar1 * 0x100 + (uint)bVar2)); - *(byte *)(iVar5 + 0x98) = bVar3; - uVar6 = (ulonglong)**(byte **)(iVar7 + 0x58); - *(byte **)(iVar7 + 0x58) = *(byte **)(iVar7 + 0x58) + 1; - *(char *)(iVar5 + 0x98) = *(char *)(iVar5 + 0x98) + -1; - } - } - return uVar6; - } - iParm1 += iParm2 * 4; - pbVar4 = *(byte **)(iParm1 + 0x58); - bVar1 = *pbVar4; - *(byte **)(iParm1 + 0x58) = pbVar4 + 1; - *(char *)(iVar5 + 0x98) = *(char *)(iVar5 + 0x98) + -1; - return (ulonglong)bVar1; -} - - - -uint FUN_70011c74(void) - -{ - uint uVar2; - ulonglong uVar1; - undefined8 in_t2; - undefined8 in_t3; - - uVar2 = locret_7001243C(in_t2,in_t3); - if ((uVar2 & 0x80) != 0) { - uVar2 &= 0x7f; - do { - uVar1 = locret_7001243C(in_t2,in_t3); - uVar2 = uVar2 * 0x80 + ((uint)uVar1 & 0x7f); - } while ((uVar1 & 0x80) != 0); - } - return uVar2; -} - - - -void loc_70012784(undefined8 uParm1,short *psParm2) - -{ - char cVar1; - char *pcVar2; - uint uVar6; - longlong lVar3; - ulonglong uVar4; - longlong lVar5; - undefined uVar9; - undefined uVar10; - undefined4 uVar7; - int iVar8; - uint uVar11; - longlong lVar12; - int iVar13; - int iVar14; - uint uVar15; - uint uVar16; - int iStack12; - - iVar8 = (int)uParm1; - iVar13 = *(int *)(iVar8 + 0x10); - lVar12 = (longlong)iStack12; - uVar15 = *(uint *)(iVar8 + 4); - lVar5 = 0; - uVar16 = 0xffffffff; - while( true ) { - uVar6 = (uint)lVar5; - if ((uVar15 >> (uVar6 & 0x1f) & 1) == 0) { - lVar3 = (longlong)(int)(uVar6 + 1); - uVar11 = uVar16; - } - else { - iVar14 = iVar8 + uVar6 * 4; - if (*(int *)(iVar8 + 0x14) == 0) { - uVar11 = *(uint *)(iVar14 + 0xb8); - } - else { - *(int *)(iVar14 + 0xb8) = *(int *)(iVar14 + 0xb8) - iVar13; - uVar11 = *(uint *)(iVar14 + 0xb8); - } - if (uVar11 < uVar16) { - lVar3 = (longlong)(int)(uVar6 + 1); - lVar12 = lVar5; - } - else { - lVar3 = (longlong)(int)(uVar6 + 1); - uVar11 = uVar16; - } - } - if (lVar3 == 0x10) break; - uVar15 = *(uint *)(iVar8 + 4); - lVar5 = lVar3; - uVar16 = uVar11; - } - uVar4 = locret_7001243C(uParm1,lVar12); - uVar9 = (undefined)uVar4; - if (uVar4 == 0xff) { - lVar5 = locret_7001243C(uParm1,lVar12); - iVar13 = (int)uParm1; - uVar15 = (uint)lVar12; - if (lVar5 == 0x51) { - *psParm2 = 3; - *(undefined *)(psParm2 + 4) = uVar9; - *(undefined *)((int)psParm2 + 9) = (char)lVar5; - uVar9 = locret_7001243C(uParm1,lVar12); - *(undefined *)((int)psParm2 + 0xb) = uVar9; - uVar9 = locret_7001243C(uParm1,lVar12); - iVar13 = (int)uParm1; - uVar15 = (uint)lVar12; - *(undefined *)(psParm2 + 6) = uVar9; - uVar9 = locret_7001243C(uParm1,lVar12); - *(undefined *)((int)psParm2 + 0xd) = uVar9; - *(undefined *)(iVar13 + uVar15 + 0xa8) = 0; - } - else { - if (lVar5 == 0x2f) { - uVar16 = *(uint *)(iVar13 + 4) ^ 1 << (uVar15 & 0x1f); - *(uint *)(iVar13 + 4) = uVar16; - if (uVar16 == 0) { - *psParm2 = 4; - } - else { - *psParm2 = 0x12; - } - } - else { - if (lVar5 == 0x2e) { - locret_7001243C(uParm1,lVar12); - iVar13 = (int)uParm1; - uVar15 = (uint)lVar12; - locret_7001243C(uParm1,lVar12); - *(undefined *)(iVar13 + uVar15 + 0xa8) = 0; - *psParm2 = 0x13; - } - else { - if (lVar5 == 0x2d) { - iVar8 = iVar13 + uVar15 * 4; - pcVar2 = *(char **)(iVar8 + 0x18); - cVar1 = pcVar2[1]; - if (cVar1 == '\0') { - pcVar2[1] = *pcVar2; - *(char **)(iVar8 + 0x18) = pcVar2 + 6; - } - else { - if (cVar1 != -1) { - pcVar2[1] = cVar1 + -1; - } - *(char **)(iVar8 + 0x18) = - pcVar2 + (6 - ((uint)(byte)pcVar2[2] * 0x1000000 + - (uint)(byte)pcVar2[3] * 0x10000 + (uint)(byte)pcVar2[4] * 0x100 + - (uint)(byte)pcVar2[5])); - } - *(undefined *)(iVar13 + uVar15 + 0xa8) = 0; - *psParm2 = 0x14; - } - } - } - } - } - else { - *psParm2 = 1; - if ((uVar4 & 0x80) == 0) { - uVar10 = *(undefined *)((int)uParm1 + (int)lVar12 + 0xa8); - *(undefined *)((int)psParm2 + 9) = uVar9; - *(undefined *)(psParm2 + 4) = uVar10; - } - else { - *(undefined *)(psParm2 + 4) = uVar9; - uVar10 = locret_7001243C(uParm1,lVar12); - *(undefined *)((int)psParm2 + 9) = uVar10; - *(undefined *)((int)uParm1 + (int)lVar12 + 0xa8) = uVar9; - } - iVar13 = (int)uParm1; - uVar15 = (uint)lVar12; - if (((*(byte *)(psParm2 + 4) & 0xf0) == 0xc0) || ((*(byte *)(psParm2 + 4) & 0xf0) == 0xd0)) { - *(undefined *)(psParm2 + 5) = 0; - } - else { - uVar9 = locret_7001243C(uParm1,lVar12); - *(undefined *)(psParm2 + 5) = uVar9; - if ((*(byte *)(psParm2 + 4) & 0xf0) == 0x90) { - uVar7 = FUN_70011c74(); - *(undefined4 *)(psParm2 + 6) = uVar7; - } - } - } - *(uint *)(psParm2 + 2) = uVar11; - *(uint *)(iVar13 + 0x10) = uVar11; - *(int *)(iVar13 + 0xc) = *(int *)(iVar13 + 0xc) + uVar11; - if (*psParm2 != 0x12) { - iVar14 = iVar13 + uVar15 * 4; - iVar8 = FUN_70011c74(); - *(int *)(iVar14 + 0xb8) = *(int *)(iVar14 + 0xb8) + iVar8; - } - *(undefined4 *)(iVar13 + 0x14) = 1; - return; -} - - - -void loc_70012880(int *piParm1,int iParm2) - -{ - int iVar1; - int *piVar2; - uint uVar3; - int *piVar4; - int iVar5; - uint in_register_00001020; - float fVar6; - - *piParm1 = iParm2; - piParm1[1] = 0; - piParm1[4] = 0; - piParm1[3] = 0; - piParm1[5] = 1; - iVar5 = 0; - uVar3 = 0; - piVar2 = piParm1; - piVar4 = piParm1; - do { - *(undefined *)(piVar4 + 0x2a) = 0; - piVar2[0x16] = 0; - *(undefined *)(piVar4 + 0x26) = 0; - iVar1 = *(int *)(*piParm1 + iVar5); - if (iVar1 == 0) { - piVar2[6] = 0; - } - else { - piParm1[1] = piParm1[1] | 1 << (uVar3 & 0x1f); - piVar2[6] = iParm2 + iVar1; - iVar1 = FUN_70011c74(); - piVar2[0x2e] = iVar1; - } - uVar3 += 1; - piVar4 = (int *)((int)piVar4 + 1); - iVar5 += 4; - piVar2 = piVar2 + 1; - } while (uVar3 != 0x10); - fVar6 = (float)*(int *)(*piParm1 + 0x40); - if (*(int *)(*piParm1 + 0x40) < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(piParm1 + 2) = - (float)((double)((ulonglong)in_register_00001020 << 0x20) / (double)fVar6); - return; -} - - - -void FUN_700120e0(undefined4 *puParm1,undefined4 *puParm2,uint uParm3) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 uStack264; - undefined4 uStack260; - uint uStack252; - undefined4 auStack248 [58]; - short asStack16 [8]; - - loc_70012880(&uStack264,*puParm1); - do { - *puParm2 = uStack260; - puParm2[1] = uStack252; - puParm2[2] = auStack248[0]; - puVar2 = &uStack264; - puVar3 = &uStack264; - puVar1 = puParm2; - puVar5 = puParm2; - do { - puVar4 = puVar3 + 1; - puVar1[3] = puVar2[6]; - puVar1[0x13] = puVar2[0x16]; - *(undefined *)(puVar5 + 0x23) = *(undefined *)(puVar3 + 0x26); - *(undefined *)(puVar5 + 0x27) = *(undefined *)(puVar3 + 0x2a); - puVar1[0x2b] = puVar2[0x2e]; - puVar1[4] = puVar2[7]; - puVar1[0x14] = puVar2[0x17]; - *(undefined *)((int)puVar5 + 0x8d) = *(undefined *)((int)puVar3 + 0x99); - *(undefined *)((int)puVar5 + 0x9d) = *(undefined *)((int)puVar3 + 0xa9); - puVar1[0x2c] = puVar2[0x2f]; - puVar1[5] = puVar2[8]; - puVar1[0x15] = puVar2[0x18]; - *(undefined *)((int)puVar5 + 0x8e) = *(undefined *)((int)puVar3 + 0x9a); - *(undefined *)((int)puVar5 + 0x9e) = *(undefined *)((int)puVar3 + 0xaa); - puVar1[0x2d] = puVar2[0x30]; - puVar1[6] = puVar2[9]; - puVar1[0x16] = puVar2[0x19]; - *(undefined *)((int)puVar5 + 0x8f) = *(undefined *)((int)puVar3 + 0x9b); - *(undefined *)((int)puVar5 + 0x9f) = *(undefined *)((int)puVar3 + 0xab); - puVar1[0x2e] = puVar2[0x31]; - puVar2 = puVar2 + 4; - puVar3 = puVar4; - puVar1 = puVar1 + 4; - puVar5 = puVar5 + 1; - } while (puVar4 != auStack248); - loc_70012784(&uStack264,asStack16); - } while ((asStack16[0] != 4) && (uStack252 < uParm3)); - return; -} - - - -undefined8 loc_70012CD8(int iParm1,uint *puParm2) - -{ - int iVar1; - uint uVar2; - uint uVar3; - uint uVar4; - int iVar5; - uint uVar6; - uint uVar7; - - uVar3 = 0xffffffff; - iVar1 = *(int *)(iParm1 + 0x10); - if (*(int *)(iParm1 + 4) == 0) { - return 0; - } - uVar4 = 0; - uVar7 = *(uint *)(iParm1 + 4); - do { - uVar6 = uVar4 + 1; - if ((uVar7 >> (uVar4 & 0x1f) & 1) == 0) { - uVar6 = uVar7 >> (uVar6 & 0x1f); - uVar2 = uVar3; - } - else { - iVar5 = iParm1 + uVar4 * 4; - if (*(int *)(iParm1 + 0x14) == 0) { - uVar2 = *(uint *)(iVar5 + 0xb8); - } - else { - *(int *)(iVar5 + 0xb8) = *(int *)(iVar5 + 0xb8) - iVar1; - uVar7 = *(uint *)(iParm1 + 4); - uVar2 = *(uint *)(iVar5 + 0xb8); - } - if (uVar2 < uVar3) { - uVar6 = uVar7 >> (uVar6 & 0x1f); - } - else { - uVar6 = uVar7 >> (uVar6 & 0x1f); - uVar2 = uVar3; - } - } - uVar3 = uVar2; - if ((uVar6 & 1) == 0) { -LAB_70012478: - uVar6 = uVar7 >> (uVar4 + 2 & 0x1f); - } - else { - iVar5 = iParm1 + uVar4 * 4; - if (*(int *)(iParm1 + 0x14) == 0) { - uVar3 = *(uint *)(iVar5 + 0xbc); - } - else { - *(int *)(iVar5 + 0xbc) = *(int *)(iVar5 + 0xbc) - iVar1; - uVar7 = *(uint *)(iParm1 + 4); - uVar3 = *(uint *)(iVar5 + 0xbc); - } - if (uVar3 < uVar2) goto LAB_70012478; - uVar6 = uVar7 >> (uVar4 + 2 & 0x1f); - uVar3 = uVar2; - } - uVar2 = uVar3; - if ((uVar6 & 1) == 0) { -LAB_700124c0: - uVar7 >>= uVar4 + 3 & 0x1f; - } - else { - iVar5 = iParm1 + uVar4 * 4; - if (*(int *)(iParm1 + 0x14) == 0) { - uVar2 = *(uint *)(iVar5 + 0xc0); - } - else { - *(int *)(iVar5 + 0xc0) = *(int *)(iVar5 + 0xc0) - iVar1; - uVar7 = *(uint *)(iParm1 + 4); - uVar2 = *(uint *)(iVar5 + 0xc0); - } - if (uVar2 < uVar3) goto LAB_700124c0; - uVar7 >>= uVar4 + 3 & 0x1f; - uVar2 = uVar3; - } - uVar3 = uVar2; - if ((uVar7 & 1) != 0) { - iVar5 = iParm1 + uVar4 * 4; - if (*(int *)(iParm1 + 0x14) == 0) { - uVar3 = *(uint *)(iVar5 + 0xc4); - } - else { - *(int *)(iVar5 + 0xc4) = *(int *)(iVar5 + 0xc4) - iVar1; - uVar3 = *(uint *)(iVar5 + 0xc4); - } - if (uVar2 <= uVar3) { - uVar3 = uVar2; - } - } - uVar4 += 4; - if (uVar4 == 0x10) { - *(undefined4 *)(iParm1 + 0x14) = 0; - *puParm2 = uVar3; - return 1; - } - uVar7 = *(uint *)(iParm1 + 4); - } while( true ); -} - - - -void FUN_70012530(int iParm1,undefined4 uParm2) - -{ - undefined2 auStack16 [2]; - undefined4 uStack12; - - auStack16[0] = 0xd; - uStack12 = uParm2; - FUN_7001272c(iParm1 + 0x48,auStack16,0); - return; -} - - - -void FUN_70012570(int iParm1) - -{ - undefined2 auStack16 [8]; - - auStack16[0] = 0xf; - FUN_7001272c(iParm1 + 0x48,auStack16,0); - return; -} - - - -void FUN_700125a0(int iParm1) - -{ - undefined2 auStack16 [8]; - - auStack16[0] = 0x11; - FUN_7001272c(iParm1 + 0x48,auStack16,0); - return; -} - - - -void alCSPSetVol(int iParm1,undefined2 uParm2) - -{ - undefined2 auStack16 [2]; - undefined2 uStack12; - - auStack16[0] = 10; - uStack12 = uParm2; - FUN_7001272c(iParm1 + 0x48,auStack16,0); - return; -} - - - -void alEvtqNew(int iParm1,short sParm2) - -{ - int *piVar1; - int *piVar2; - undefined4 uVar3; - - uVar3 = osSetIntMask(1); - piVar2 = *(int **)(iParm1 + 8); - while (piVar1 = piVar2, piVar1 != NULL) { - piVar2 = (int *)*piVar1; - if ((longlong)(int)sParm2 == (longlong)*(short *)(piVar1 + 3)) { - if (piVar2 != NULL) { - piVar2[2] = piVar2[2] + piVar1[2]; - } - alInit(piVar1); - locret_7000EADC(piVar1,iParm1); - } - } - osSetIntMask(uVar3); - return; -} - - - -void FUN_700126bc(int iParm1) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 uVar3; - - uVar3 = osSetIntMask(1); - puVar2 = *(undefined4 **)(iParm1 + 8); - while (puVar2 != NULL) { - puVar1 = (undefined4 *)*puVar2; - alInit(puVar2); - locret_7000EADC(puVar2,iParm1); - puVar2 = puVar1; - } - osSetIntMask(uVar3); - return; -} - - - -void FUN_7001272c(int *piParm1,undefined4 uParm2,int iParm3) - -{ - int iVar1; - undefined8 uVar2; - int **ppiVar3; - int iStack16; - - iStack16 = 0; - uVar2 = osSetIntMask(1); - iVar1 = *piParm1; - if (iVar1 == 0) { - osSetIntMask(uVar2); - } - else { - alInit(iVar1); - alCopy(uParm2,iVar1 + 0xc,0x10); - if (iParm3 == 0x7fffffff) { - iStack16 = -1; - } - ppiVar3 = (int **)(piParm1 + 2); - if (piParm1 != (int *)0xfffffff8) { - do { - ppiVar3 = (int **)*ppiVar3; - if (ppiVar3 == NULL) { - if (iStack16 == 0) { - *(int *)(iVar1 + 8) = iParm3; - } - else { - *(undefined4 *)(iVar1 + 8) = 0; - } - locret_7000EADC(iVar1); - break; - } - if (iParm3 < (int)ppiVar3[2]) { - *(int *)(iVar1 + 8) = iParm3; - ppiVar3[2] = (int *)((int)ppiVar3[2] - iParm3); - locret_7000EADC(iVar1); - break; - } - iParm3 -= (int)ppiVar3[2]; - } while (ppiVar3 != NULL); - } - osSetIntMask((int)uVar2); - } - return; -} - - - -undefined4 FUN_70012850(int iParm1,undefined2 *puParm2) - -{ - int iVar1; - undefined4 uVar2; - undefined4 uVar3; - - uVar2 = osSetIntMask(1); - iVar1 = *(int *)(iParm1 + 8); - uVar3 = 0; - if (iVar1 == 0) { - *puParm2 = 0xffff; - } - else { - alInit(iVar1); - alCopy(iVar1 + 0xc,puParm2,0x10); - locret_7000EADC(iVar1,iParm1); - uVar3 = *(undefined4 *)(iVar1 + 8); - } - osSetIntMask(uVar2); - return uVar3; -} - - - -void loc_70013104(undefined4 *puParm1,int iParm2,int iParm3) - -{ - int iVar1; - - puParm1[4] = 0; - puParm1[2] = 0; - puParm1[3] = 0; - *puParm1 = 0; - puParm1[1] = 0; - iVar1 = 0; - if (0 < iParm3) { - do { - locret_7000EADC(iParm2,puParm1); - iVar1 += 1; - iParm2 += 0x1c; - } while (iVar1 != iParm3); - } - return; -} - - - -void alSynAddPlayer(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined8 uVar1; - - uVar1 = osSetIntMask(1); - puParm2[4] = puParm1[8]; - *puParm2 = *puParm1; - *(undefined4 **)puParm1 = puParm2; - osSetIntMask(uVar1); - return; -} - - - -undefined4 alSynAllocVoice(int iParm1,int *piParm2,short sParm3) - -{ - int iVar1; - undefined4 uVar2; - longlong lVar3; - undefined4 *puVar4; - - iVar1 = *(int *)(iParm1 + 0x14); - lVar3 = (longlong)(int)sParm3; - uVar2 = 0; - if (iVar1 == 0) { - iVar1 = *(int *)(iParm1 + 4); - if (iVar1 == 0) { - puVar4 = *(undefined4 **)(iParm1 + 0xc); - if (puVar4 != NULL) { - iVar1 = puVar4[2]; - while( true ) { - if (lVar3 < (longlong)*(short *)(iVar1 + 0x16)) { - puVar4 = (undefined4 *)*puVar4; - } - else { - if (puVar4[0x36] == 0) { - *(undefined4 **)piParm2 = puVar4; - uVar2 = 1; - lVar3 = (longlong)*(short *)(puVar4[2] + 0x16); - puVar4 = (undefined4 *)*puVar4; - } - else { - puVar4 = (undefined4 *)*puVar4; - } - } - if (puVar4 == NULL) break; - iVar1 = puVar4[2]; - } - } - } - else { - *piParm2 = iVar1; - alInit(iVar1); - locret_7000EADC(iVar1,iParm1 + 0xc); - uVar2 = 0; - } - } - else { - *piParm2 = iVar1; - alInit(iVar1); - locret_7000EADC(iVar1,iParm1 + 0xc); - uVar2 = 0; - } - return uVar2; -} - - - -ulonglong loc_70013380(int iParm1,int iParm2,undefined2 *puParm3) - -{ - byte bVar1; - undefined2 uVar2; - int iVar3; - undefined4 uVar4; - int iVar5; - longlong lVar6; - int iVar7; - undefined4 *puVar8; - int iStack4; - - iStack4 = 0; - *(undefined2 *)(iParm2 + 0x16) = *puParm3; - bVar1 = *(byte *)(puParm3 + 2); - *(undefined4 *)(iParm2 + 0xc) = 0; - *(ushort *)(iParm2 + 0x1a) = (ushort)bVar1; - uVar2 = puParm3[1]; - *(undefined2 *)(iParm2 + 0x14) = 0; - *(undefined4 *)(iParm2 + 8) = 0; - *(undefined2 *)(iParm2 + 0x18) = uVar2; - lVar6 = alSynAllocVoice(iParm1,&iStack4,*puParm3); - if (iStack4 != 0) { - iVar3 = *(int *)(iStack4 + 0xc); - if (lVar6 == 0) { - *(undefined4 *)(iStack4 + 0xd8) = 0; - } - else { - *(undefined4 *)(iStack4 + 0xd8) = 0x200; - *(undefined4 *)(*(int *)(iStack4 + 8) + 8) = 0; - iVar7 = FUN_7000e900(); - uVar4 = *(undefined4 *)(iParm1 + 0x1c); - *(undefined2 *)(iVar7 + 8) = 0xb; - *(undefined4 *)(iVar7 + 0xc) = 0; - *(undefined4 *)(iVar7 + 4) = uVar4; - *(int *)(iVar7 + 0x10) = *(int *)(iStack4 + 0xd8) + -0x40; - (**(code **)(iVar3 + 8))(iVar3,3,iVar7); - puVar8 = (undefined4 *)FUN_7000e900(); - if (puVar8 != NULL) { - iVar7 = *(int *)(iParm1 + 0x1c); - iVar5 = *(int *)(iStack4 + 0xd8); - *(undefined2 *)(puVar8 + 2) = 0xf; - *puVar8 = 0; - puVar8[1] = iVar7 + iVar5; - (**(code **)(iVar3 + 8))(iVar3,3,puVar8); - } - } - *(int *)(iStack4 + 8) = iParm2; - *(int *)(iParm2 + 8) = iStack4; - } - return (ulonglong)(iStack4 != 0); -} - - - -void alSynSetVol(int iParm1,int iParm2,short sParm3,undefined4 uParm4) - -{ - int iVar1; - int iVar2; - longlong lVar3; - undefined4 uVar4; - - if (*(int *)(iParm2 + 8) != 0) { - lVar3 = FUN_7000e900(); - lVar3._4_4_ = (undefined4 *)lVar3; - if (lVar3 != 0) { - iVar1 = *(int *)(iParm1 + 0x1c); - iVar2 = *(int *)(*(int *)(iParm2 + 8) + 0xd8); - *(undefined2 *)(lVar3._4_4_ + 2) = 0xb; - lVar3._4_4_[1] = iVar1 + iVar2; - lVar3._4_4_[3] = (int)sParm3; - uVar4 = FUN_7000e7f8(iParm1,uParm4); - lVar3._4_4_[4] = uVar4; - *lVar3._4_4_ = 0; - iVar1 = *(int *)(*(int *)(iParm2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3); - } - } - return; -} - - - -void FUN_70012c70(int iParm1,int iParm2,undefined4 uParm3) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(iParm2 + 8) != 0) && (puVar3 = (undefined4 *)FUN_7000e900(), puVar3 != NULL)) { - iVar1 = *(int *)(iParm1 + 0x1c); - iVar2 = *(int *)(*(int *)(iParm2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0xe; - puVar3[1] = iVar1 + iVar2; - *puVar3 = 0; - puVar3[3] = uParm3; - *(undefined2 *)((int)puVar3 + 10) = *(undefined2 *)(iParm2 + 0x1a); - iVar1 = *(int *)(*(int *)(iParm2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,puVar3); - } - return; -} - - - -void FUN_70012d00(int iParm1,int iParm2,uint uParm3) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(iParm2 + 8) != 0) && (puVar3 = (undefined4 *)FUN_7000e900(), puVar3 != NULL)) { - iVar1 = *(int *)(iParm1 + 0x1c); - iVar2 = *(int *)(*(int *)(iParm2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0xc; - puVar3[1] = iVar1 + iVar2; - *puVar3 = 0; - puVar3[3] = uParm3 & 0xff; - iVar1 = *(int *)(*(int *)(iParm2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,puVar3); - } - return; -} - - - -void FUN_70012d90(int iParm1,int iParm2,undefined4 uParm3) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(iParm2 + 8) != 0) && (puVar3 = (undefined4 *)FUN_7000e900(), puVar3 != NULL)) { - iVar1 = *(int *)(iParm1 + 0x1c); - iVar2 = *(int *)(*(int *)(iParm2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 7; - puVar3[1] = iVar1 + iVar2; - *puVar3 = 0; - puVar3[3] = uParm3; - iVar1 = *(int *)(*(int *)(iParm2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,puVar3); - } - return; -} - - - -void FUN_70012e20(int iParm1,int iParm2,byte bParm3) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(iParm2 + 8) != 0) && (puVar3 = (undefined4 *)FUN_7000e900(), puVar3 != NULL)) { - iVar1 = *(int *)(iParm1 + 0x1c); - iVar2 = *(int *)(*(int *)(iParm2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0x10; - puVar3[1] = iVar1 + iVar2; - if ((longlong)(ulonglong)bParm3 < 0) { - puVar3[3] = -(uint)bParm3; - } - else { - puVar3[3] = (uint)bParm3; - } - *puVar3 = 0; - iVar1 = *(int *)(*(int *)(iParm2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3); - } - return; -} - - - -void alSynStopVoice(int iParm1,int iParm2) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(iParm2 + 8) != 0) && (puVar3 = (undefined4 *)FUN_7000e900(), puVar3 != NULL)) { - iVar1 = *(int *)(iParm1 + 0x1c); - iVar2 = *(int *)(*(int *)(iParm2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0xf; - *puVar3 = 0; - puVar3[1] = iVar1 + iVar2; - iVar1 = *(int *)(*(int *)(iParm2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,puVar3); - } - return; -} - - - -void alSynFreeVoice(int iParm1,int iParm2) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar3 = *(int *)(iParm2 + 8); - if (iVar3 != 0) { - if (*(int *)(iVar3 + 0xd8) == 0) { - FUN_7000e850(iParm1,iVar3); - } - else { - iVar3 = FUN_7000e900(); - if (iVar3 == 0) { - return; - } - iVar1 = *(int *)(iParm1 + 0x1c); - iVar2 = *(int *)(*(int *)(iParm2 + 8) + 0xd8); - *(undefined2 *)(iVar3 + 8) = 0; - *(int *)(iVar3 + 4) = iVar1 + iVar2; - *(undefined4 *)(iVar3 + 0xc) = *(undefined4 *)(iParm2 + 8); - iVar1 = *(int *)(*(int *)(iParm2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,iVar3); - } - *(undefined4 *)(iParm2 + 8) = 0; - } - return; -} - - - -// WARNING: Instruction at (ram,0x70013018) overlaps instruction at (ram,0x70013014) -// - -float FUN_70012ff0(uint uParm1) - -{ - float fVar1; - uint uVar2; - float fVar3; - - fVar3 = 1.00000000; - fVar1 = DAT_80024c50; - if ((int)uParm1 < 0) { - uParm1 = -uParm1; - fVar1 = DAT_80024c54; - } - while (uParm1 != 0) { - uVar2 = uParm1 & 1; - uParm1 = (int)uParm1 >> 1; - if (uVar2 != 0) { - fVar3 = fVar3 * fVar1; - } - fVar1 = fVar1 * fVar1; - } - return fVar3; -} - - - -undefined8 FUN_70013040(undefined4 uParm1,undefined4 uParm2) - -{ - undefined8 uVar1; - - FUN_7000dbb0(); - uVar1 = osPiRawReadIo(uParm1,uParm2); - FUN_7000dbf4(); - return uVar1; -} - - - -undefined * strchr(undefined *puParm1,undefined *puParm2,int iParm3) - -{ - undefined uVar1; - undefined *puVar2; - - puVar2 = puParm1; - if (iParm3 != 0) { - do { - uVar1 = *puParm2; - iParm3 += -1; - puParm2 = puParm2 + 1; - *puVar2 = uVar1; - puVar2 = puVar2 + 1; - } while (iParm3 != 0); - } - return puParm1; -} - - - -char * locret_7001389C(char *pcParm1) - -{ - char cVar1; - char *pcVar2; - - pcVar2 = pcParm1; - if (*pcParm1 != '\0') { - cVar1 = pcParm1[1]; - pcVar2 = pcParm1; - while (pcVar2 = pcVar2 + 1, cVar1 != '\0') { - cVar1 = pcVar2[2]; - pcVar2 = pcVar2; - } - } - return pcVar2 + -(int)pcParm1; -} - - - -char * locret_700138DC(char *pcParm1,char cParm2) - -{ - char cVar1; - - cVar1 = *pcParm1; - while( true ) { - if (cParm2 == cVar1) { - return pcParm1; - } - if (cVar1 == '\0') break; - cVar1 = pcParm1[1]; - pcParm1 = pcParm1 + 1; - } - return (char *)0; -} - - - -void _Printf(undefined8 uParm1,ulonglong uParm2,int **ppiParm3,int iParm4) - -{ - char cVar1; - int iVar2; - int iVar3; - uint uVar4; - int **ppiVar5; - int *piVar6; - undefined8 *unaff_s0_lo; - undefined4 *puVar7; - - uParm2 &= 0xff; - *(int *)((int)unaff_s0_lo + 0xc) = 0; - *(int *)(unaff_s0_lo + 2) = 0; - *(int *)((int)unaff_s0_lo + 0x14) = 0; - *(int *)(unaff_s0_lo + 3) = 0; - *(int *)((int)unaff_s0_lo + 0x1c) = 0; - *(int *)(unaff_s0_lo + 4) = 0; - if (uParm2 < 0x26) { - if (uParm2 == 0x25) { - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = 0x25; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - return; - } - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); - goto LAB_7001376c; - } - if (true) { - switch((int)uParm2) { - case 0x45: - case 0x47: - case 0x65: - case 0x66: - case 0x67: - if (*(char *)((int)unaff_s0_lo + 0x34) == 'L') { - piVar6 = *ppiParm3; - if (((uint)piVar6 & 1) == 0) { - if (((uint)piVar6 & 2) == 0) { - piVar6 = (int *)(((int)piVar6 + 7U & 0xfffffff8) + 8); - *ppiParm3 = piVar6; - } - else { - *ppiParm3 = (int *)((int)piVar6 + 10); - piVar6 = (int *)((int)piVar6 + -0x1e); - } - } - else { - *ppiParm3 = (int *)((int)piVar6 + 7); - piVar6 = (int *)((int)piVar6 + -0xf); - } - *unaff_s0_lo = *(undefined8 *)(piVar6 + -2); - } - else { - piVar6 = *ppiParm3; - if (((uint)piVar6 & 1) == 0) { - if (((uint)piVar6 & 2) == 0) { - piVar6 = (int *)(((int)piVar6 + 7U & 0xfffffff8) + 8); - *ppiParm3 = piVar6; - } - else { - *ppiParm3 = (int *)((int)piVar6 + 10); - piVar6 = (int *)((int)piVar6 + -0x1e); - } - } - else { - *ppiParm3 = (int *)((int)piVar6 + 7); - piVar6 = (int *)((int)piVar6 + -0xf); - } - *unaff_s0_lo = *(undefined8 *)(piVar6 + -2); - } - if ((*(ushort *)unaff_s0_lo & 0x8000) == 0) { - if ((*(uint *)(unaff_s0_lo + 6) & 2) == 0) { - if ((*(uint *)(unaff_s0_lo + 6) & 1) == 0) { - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); - goto LAB_700135d4; - } - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = 0x20; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - } - else { - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = 0x2b; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - } - } - else { - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = 0x2d; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - } - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); -LAB_700135d4: - *(int *)(unaff_s0_lo + 1) = iVar3 + iParm4; - loc_7001E508(unaff_s0_lo); - return; - case 0x58: - case 0x6f: - case 0x75: - case 0x78: - if (*(char *)((int)unaff_s0_lo + 0x34) == 'l') { - piVar6 = (int *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = piVar6 + 1; - iVar3 = *piVar6; - *(int *)unaff_s0_lo = iVar3 >> 0x1f; - *(int *)((int)unaff_s0_lo + 4) = iVar3; - } - else { - if (*(char *)((int)unaff_s0_lo + 0x34) == 'L') { - piVar6 = (int *)((int)*ppiParm3 + 7U & 0xfffffff8); - *ppiParm3 = piVar6 + 2; - iVar3 = *piVar6; - *(int *)((int)unaff_s0_lo + 4) = piVar6[1]; - *(int *)unaff_s0_lo = iVar3; - } - else { - piVar6 = (int *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = piVar6 + 1; - iVar3 = *piVar6; - *(int *)unaff_s0_lo = iVar3 >> 0x1f; - *(int *)((int)unaff_s0_lo + 4) = iVar3; - } - } - if (*(char *)((int)unaff_s0_lo + 0x34) == 'h') { - *(int *)unaff_s0_lo = 0; - *(uint *)((int)unaff_s0_lo + 4) = *(uint *)((int)unaff_s0_lo + 4) & 0xffff; - } - else { - if (*(char *)((int)unaff_s0_lo + 0x34) != '\0') { - uVar4 = *(uint *)(unaff_s0_lo + 6); - goto LAB_70013418; - } - *(int *)unaff_s0_lo = 0; - *(int *)((int)unaff_s0_lo + 4) = *(int *)((int)unaff_s0_lo + 4); - } - uVar4 = *(uint *)(unaff_s0_lo + 6); -LAB_70013418: - if ((uVar4 & 8) == 0) { - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); - } - else { - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = 0x30; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - if ((uParm2 == 0x78) || (uParm2 == 0x58)) { - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = (char)uParm2; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); - } - else { - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); - } - } - *(int *)(unaff_s0_lo + 1) = iVar3 + iParm4; - _Litob(unaff_s0_lo); - return; - case 99: - puVar7 = (undefined4 *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = puVar7 + 1; - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = (char)*puVar7; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - return; - case 100: - case 0x69: - if (*(char *)((int)unaff_s0_lo + 0x34) == 'l') { - piVar6 = (int *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = piVar6 + 1; - iVar3 = *piVar6; - *(int *)unaff_s0_lo = iVar3 >> 0x1f; - *(int *)((int)unaff_s0_lo + 4) = iVar3; - } - else { - if (*(char *)((int)unaff_s0_lo + 0x34) == 'L') { - piVar6 = (int *)((int)*ppiParm3 + 7U & 0xfffffff8); - *ppiParm3 = piVar6 + 2; - iVar3 = piVar6[1]; - *(int *)unaff_s0_lo = *piVar6; - *(int *)((int)unaff_s0_lo + 4) = iVar3; - } - else { - piVar6 = (int *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = piVar6 + 1; - iVar3 = *piVar6; - *(int *)unaff_s0_lo = iVar3 >> 0x1f; - *(int *)((int)unaff_s0_lo + 4) = iVar3; - } - } - if (*(char *)((int)unaff_s0_lo + 0x34) == 'h') { - iVar3 = (int)(short)*(int *)((int)unaff_s0_lo + 4); - *(int *)unaff_s0_lo = iVar3 >> 0x1f; - *(int *)((int)unaff_s0_lo + 4) = iVar3; - iVar3 = *(int *)unaff_s0_lo; - } - else { - iVar3 = *(int *)unaff_s0_lo; - } - if (iVar3 < 1) { - if (-1 < iVar3) { - uVar4 = *(uint *)(unaff_s0_lo + 6); - goto LAB_700132cc; - } - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = 0x2d; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - } - else { - uVar4 = *(uint *)(unaff_s0_lo + 6); -LAB_700132cc: - if ((uVar4 & 2) == 0) { - if ((uVar4 & 1) == 0) { - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); - goto LAB_70013320; - } - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = 0x20; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - } - else { - *(undefined *)(iParm4 + *(int *)((int)unaff_s0_lo + 0xc)) = 0x2b; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - } - } - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); -LAB_70013320: - *(int *)(unaff_s0_lo + 1) = iVar3 + iParm4; - _Litob(unaff_s0_lo); - return; - case 0x6e: - cVar1 = *(char *)((int)unaff_s0_lo + 0x34); - if (cVar1 == 'h') { - puVar7 = (undefined4 *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = puVar7 + 1; - *(undefined2 *)*puVar7 = (short)*(int *)((int)unaff_s0_lo + 0x2c); - return; - } - if (cVar1 != 'l') { - if (cVar1 != 'L') { - ppiVar5 = (int **)((int)*ppiParm3 + 3U & 0xfffffffc); - *(int ***)ppiParm3 = ppiVar5 + 1; - **ppiVar5 = *(int *)((int)unaff_s0_lo + 0x2c); - return; - } - puVar7 = (undefined4 *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = puVar7 + 1; - puVar7 = (undefined4 *)*puVar7; - iVar3 = *(int *)((int)unaff_s0_lo + 0x2c); - *puVar7 = 0; - puVar7[1] = iVar3; - return; - } - ppiVar5 = (int **)((int)*ppiParm3 + 3U & 0xfffffffc); - *(int ***)ppiParm3 = ppiVar5 + 1; - **ppiVar5 = *(int *)((int)unaff_s0_lo + 0x2c); - return; - case 0x70: - piVar6 = (int *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = piVar6 + 1; - iVar3 = *piVar6; - *(int *)((int)unaff_s0_lo + 4) = iVar3; - *(int *)unaff_s0_lo = iVar3 >> 0x1f; - *(int *)(unaff_s0_lo + 1) = *(int *)((int)unaff_s0_lo + 0xc) + iParm4; - _Litob(unaff_s0_lo,0x78); - return; - case 0x73: - piVar6 = (int *)((int)*ppiParm3 + 3U & 0xfffffffc); - *ppiParm3 = piVar6 + 1; - *(int *)(unaff_s0_lo + 1) = *piVar6; - iVar2 = locret_7001389C(); - iVar3 = *(int *)((int)unaff_s0_lo + 0x24); - *(int *)((int)unaff_s0_lo + 0x14) = iVar2; - if (iVar3 < 0) { - return; - } - if (iVar2 <= iVar3) { - return; - } - *(int *)((int)unaff_s0_lo + 0x14) = iVar3; - return; - } - } - iVar3 = *(int *)((int)unaff_s0_lo + 0xc); -LAB_7001376c: - *(undefined *)(iParm4 + iVar3) = (char)uParm2; - *(int *)((int)unaff_s0_lo + 0xc) = *(int *)((int)unaff_s0_lo + 0xc) + 1; - return; -} - - - -// WARNING: Type propagation algorithm not settling - -byte * loc_70014574(code *pcParm1,longlong lParm2,byte *pbParm3,int *piParm4) - -{ - bool bVar1; - byte *pbVar2; - uint uVar3; - byte *pbVar5; - longlong lVar4; - byte bVar7; - ulonglong uVar6; - uint uVar8; - byte *pbVar9; - int *piVar10; - int *piStackX12; - undefined auStack100 [52]; - int iStack48; - int iStack44; - uint uStack40; - int iStack36; - uint uStack32; - int iStack28; - uint uStack24; - int iStack20; - uint uStack16; - byte *pbStack12; - uint uStack8; - byte bStack4; - - pbStack12 = NULL; - piStackX12 = piParm4; - while( true ) { - bVar7 = *pbParm3; - pbVar5 = pbParm3; - while ((pbVar2 = pbVar5 + 1, pbVar9 = pbVar2, bVar7 != 0 && (pbVar9 = pbVar5, bVar7 != 0x25))) { - bVar7 = *pbVar2; - pbVar5 = pbVar2; - } - pbVar5 = pbVar9 + -(int)pbParm3; - if (0 < (int)pbVar5) { - lParm2 = (*pcParm1)(lParm2,pbParm3,pbVar5); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbVar5 + (int)pbStack12; - } - pbVar9 = pbVar9 + 1; - if (bVar7 == 0) break; - uStack8 = 0; - lVar4 = locret_700138DC(s_____0_80024c64,(ulonglong)*pbVar9); - while (lVar4 != 0) { - pbVar9 = pbVar9 + 1; - uStack8 |= *(uint *)(&DAT_80024c6c + ((int)lVar4 + 0x7ffdb39c) * 4); - lVar4 = locret_700138DC(s_____0_80024c64,(ulonglong)*pbVar9); - } - if (*pbVar9 == 0x2a) { - piVar10 = (int *)((int)piStackX12 + 3U & 0xfffffffc); - piStackX12 = piVar10 + 1; - uStack16 = *piVar10; - pbVar9 = pbVar9 + 1; - if ((int)uStack16 < 0) { - uStack16 = -uStack16; - uStack8 |= 4; - } - bVar7 = *pbVar9; - } - else { - uStack16 = 0; - bVar7 = *pbVar9; - while ((0x2f < bVar7 && (bVar7 < 0x3a))) { - if ((int)uStack16 < 999) { - uStack16 = (uint)bVar7 + uStack16 * 10 + -0x30; - bVar7 = pbVar9[1]; - } - else { - bVar7 = pbVar9[1]; - } - pbVar9 = pbVar9 + 1; - } - } - if (bVar7 == 0x2e) { - if (pbVar9[1] == 0x2a) { - piVar10 = (int *)((int)piStackX12 + 3U & 0xfffffffc); - piStackX12 = piVar10 + 1; - iStack20 = *piVar10; - pbVar9 = pbVar9 + 2; - uVar6 = (ulonglong)*pbVar9; - } - else { - iStack20 = 0; - bVar7 = pbVar9[1]; - pbVar9 = pbVar9 + 1; - while ((uVar6 = (ulonglong)bVar7, 0x2f < bVar7 && (bVar7 < 0x3a))) { - if (iStack20 < 999) { - iStack20 = (uint)bVar7 + iStack20 * 10 + -0x30; - bVar7 = pbVar9[1]; - } - else { - bVar7 = pbVar9[1]; - } - pbVar9 = pbVar9 + 1; - } - } - } - else { - iStack20 = -1; - uVar6 = (ulonglong)*pbVar9; - } - lVar4 = locret_700138DC(s_hlL_80024c60,uVar6); - if (lVar4 == 0) { - bStack4 = 0; - } - else { - bStack4 = *pbVar9; - pbVar9 = pbVar9 + 1; - } - if ((bStack4 == 0x6c) && (*pbVar9 == 0x6c)) { - bStack4 = 0x4c; - pbVar9 = pbVar9 + 1; - } - _Printf(); - uStack16 = (((((uStack16 - iStack44) - uStack40) - iStack36) - uStack32) - iStack28) - uStack24; - bVar1 = 0 < (int)uStack16; - if (((uStack8 & 4) == 0) && (uVar3 = uStack16, bVar1)) { - while (bVar1) { - uVar8 = uVar3; - if (0x20 < uVar3) { - uVar8 = 0x20; - } - if (0 < (int)uVar8) { - lParm2 = (*pcParm1)(lParm2,0xffffffff80023240,uVar8); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar8; - } - bVar1 = 0 < (int)(uVar3 - uVar8); - uVar3 = uVar3 - uVar8; - } - } - if (0 < iStack44) { - lParm2 = (*pcParm1)(lParm2,auStack100,iStack44); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack44; - } - bVar1 = 0 < (int)uStack40; - uVar3 = uStack40; - if (bVar1) { - while (bVar1) { - uVar8 = uVar3; - if (0x20 < uVar3) { - uVar8 = 0x20; - } - if (0 < (int)uVar8) { - lParm2 = (*pcParm1)(lParm2,s_00000000000000000000000000000000_80023264,uVar8); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar8; - } - bVar1 = 0 < (int)(uVar3 - uVar8); - uVar3 = uVar3 - uVar8; - } - } - if (0 < iStack36) { - lParm2 = (*pcParm1)(lParm2,iStack48,iStack36); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack36; - } - bVar1 = 0 < (int)uStack32; - uVar3 = uStack32; - if (bVar1) { - while (bVar1) { - uVar8 = uVar3; - if (0x20 < uVar3) { - uVar8 = 0x20; - } - if (0 < (int)uVar8) { - lParm2 = (*pcParm1)(lParm2,s_00000000000000000000000000000000_80023264,uVar8); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar8; - } - bVar1 = 0 < (int)(uVar3 - uVar8); - uVar3 = uVar3 - uVar8; - } - } - if (0 < iStack28) { - lParm2 = (*pcParm1)(lParm2,iStack48 + iStack36,iStack28); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack28; - } - bVar1 = 0 < (int)uStack24; - uVar3 = uStack24; - if (bVar1) { - while (bVar1) { - uVar8 = uVar3; - if (0x20 < uVar3) { - uVar8 = 0x20; - } - if (0 < (int)uVar8) { - lParm2 = (*pcParm1)(lParm2,s_00000000000000000000000000000000_80023264,uVar8); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar8; - } - bVar1 = 0 < (int)(uVar3 - uVar8); - uVar3 = uVar3 - uVar8; - } - } - bVar1 = 0 < (int)uStack16; - if (((uStack8 & 4) != 0) && (uVar3 = uStack16, bVar1)) { - while (bVar1) { - uVar8 = uVar3; - if (0x20 < uVar3) { - uVar8 = 0x20; - } - if (0 < (int)uVar8) { - lParm2 = (*pcParm1)(lParm2,0xffffffff80023240,uVar8); - if (lParm2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar8; - } - bVar1 = 0 < (int)(uVar3 - uVar8); - uVar3 = uVar3 - uVar8; - } - } - pbParm3 = pbVar9 + 1; - } - return pbStack12; -} - - - -int __osPfsGetStatus(uint uParm1,uint *puParm2,uint uParm3) - -{ - int iVar1; - - FUN_70015500(); - iVar1 = FUN_70013e94(uParm1,uParm3); - FUN_70015544(); - if (iVar1 == 0) { - puParm2[1] = uParm1; - puParm2[2] = uParm3; - *puParm2 = 0; - iVar1 = loc_7001F280(puParm2); - if (iVar1 == 0) { - iVar1 = osPfsChecker(puParm2); - *puParm2 = *puParm2 | 1; - } - } - return iVar1; -} - - - -undefined4 FUN_70013e94(undefined4 uParm1,int iParm2) - -{ - undefined auStack28 [2]; - byte abStack26 [17]; - undefined uStack9; - undefined auStack8 [4]; - undefined4 uStack4; - - uStack4 = 0; - FUN_700152e0(0); - uStack4 = __osSiRawStartDma(1,&DAT_80057d90); - osRecvMesg(uParm1,auStack8,1); - uStack4 = __osSiRawStartDma(0,&DAT_80057d90); - osRecvMesg(uParm1,auStack8,1); - FUN_700153dc(&uStack9,auStack28); - if (((abStack26[iParm2 * 4] & 1) == 0) || ((abStack26[iParm2 * 4] & 2) == 0)) { - if ((abStack26[iParm2 * 4 + 1] == 0) && ((abStack26[iParm2 * 4] & 1) != 0)) { - if ((abStack26[iParm2 * 4] & 4) != 0) { - uStack4 = 4; - } - } - else { - uStack4 = 1; - } - } - else { - uStack4 = 2; - } - return uStack4; -} - - - -undefined4 __osPackRequestData(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uVar1; - uint uVar2; - undefined4 in_v1_hi; - int in_v1_lo; - undefined auStack72 [24]; - undefined auStack48 [32]; - uint uStack16; - int iStack12; - undefined4 uStack8; - undefined auStack4 [4]; - - uStack8 = 0; - if (DAT_80023290 == 0) { - DAT_80023290 = 1; - uStack16 = FUN_7000e3e0(); - iStack12 = in_v1_lo; - uVar1 = __ll_mul(0,500000,DAT_80022410,DAT_80022414); - uVar2 = FUN_7000e4d8(uVar1,in_v1_lo,0,1000000); - if ((uStack16 <= uVar2) && - ((uStack16 < uVar2 || ((ulonglong)(longlong)iStack12 < CONCAT44(in_v1_hi,in_v1_lo))))) { - osCreateMesgQueue(auStack72,auStack4,1); - uVar1 = __ll_mul(0,500000,DAT_80022410,DAT_80022414); - FUN_7000e4d8(uVar1,in_v1_lo,0,1000000); - osSetTimer(auStack48); - osRecvMesg(auStack72,auStack4,1); - } - DAT_80057d01 = 4; - FUN_70014268(0); - uStack8 = __osSiRawStartDma(1,&DAT_80057cc0); - osRecvMesg(uParm1,auStack4,1); - uStack8 = __osSiRawStartDma(0,&DAT_80057cc0); - osRecvMesg(uParm1,auStack4,1); - FUN_70014198(uParm2,uParm3); - DAT_80057d00 = 0; - FUN_700154b0(); - osCreateMesgQueue(0xffffffff80057d28,0xffffffff80057d40,1); - } - else { - uStack8 = 0; - } - return uStack8; -} - - - -void FUN_70014198(byte *pbParm1,undefined2 *puParm2) - -{ - uint uVar1; - byte local_11; - uint local_10; - undefined local_8; - undefined uStack7; - undefined uStack6; - uint *local_4; - - local_11 = 0; - local_4 = (uint *)&DAT_80057cc0; - local_10 = 0; - if (DAT_80057d01 != 0) { - do { - uVar1 = local_4[1]; - *(undefined *)((int)puParm2 + 3) = (char)((int)(*local_4 >> 8 & 0xc0) >> 4); - if (*(char *)((int)puParm2 + 3) == '\0') { - uStack7 = (undefined)(uVar1 >> 0x10); - local_8 = (undefined)(uVar1 >> 0x18); - *puParm2 = CONCAT11(uStack7,local_8); - uStack6 = (undefined)(uVar1 >> 8); - *(undefined *)(puParm2 + 1) = uStack6; - local_11 |= (byte)(1 << (local_10 & 0x1f)); - } - local_10 += 1; - local_4 = local_4 + 2; - puParm2 = puParm2 + 2; - } while ((longlong)(int)local_10 < (longlong)(ulonglong)DAT_80057d01); - } - *pbParm1 = local_11; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70014268(undefined uParm1) - -{ - int iStack16; - uint uStack12; - uint *puStack4; - - iStack16 = 0; - do { - *(undefined4 *)(&DAT_80057cc0 + iStack16 * 4) = 0; - iStack16 += 1; - } while (iStack16 < 0x10); - _DAT_80057cfc = 1; - puStack4 = (uint *)&DAT_80057cc0; - uStack12 = CONCAT31(0xff0100,uParm1) | 0x300; - iStack16 = 0; - if (DAT_80057d01 != 0) { - do { - *puStack4 = uStack12; - puStack4[1] = 0xffffffff; - iStack16 += 1; - puStack4 = puStack4 + 2; - } while ((longlong)iStack16 < (longlong)(ulonglong)DAT_80057d01); - } - *(undefined *)puStack4 = 0xfe; - return; -} - - - -undefined4 osContGetQuery(undefined4 uParm1) - -{ - undefined4 uVar1; - - FUN_70015500(); - if (DAT_80057d00 != '\0') { - FUN_70014268(0); - __osSiRawStartDma(1,&DAT_80057cc0); - osRecvMesg(uParm1,0,1); - } - uVar1 = __osSiRawStartDma(0,&DAT_80057cc0); - DAT_80057d00 = 0; - FUN_70015544(); - return uVar1; -} - - - -void FUN_700143e4(undefined4 uParm1) - -{ - undefined uStack1; - - FUN_70014198(&uStack1,uParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osContGetReadData(undefined4 uParm1) - -{ - undefined4 uVar1; - int iStack8; - - FUN_70015500(); - if (DAT_80057d00 != '\x01') { - FUN_7001457c(); - __osSiRawStartDma(1,&DAT_80057cc0); - osRecvMesg(uParm1,0,1); - } - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80057cc0 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80057cfc = 0; - uVar1 = __osSiRawStartDma(0,&DAT_80057cc0); - DAT_80057d00 = 1; - FUN_70015544(); - return uVar1; -} - - - -void FUN_700144d4(undefined2 *puParm1) - -{ - uint uVar1; - int local_10; - undefined2 local_8; - undefined uStack6; - undefined uStack5; - uint *local_4; - - local_4 = (uint *)&DAT_80057cc0; - local_10 = 0; - if (DAT_80057d01 != 0) { - do { - uVar1 = local_4[1]; - *(char *)(puParm1 + 2) = (char)((int)(*local_4 >> 8 & 0xc0) >> 4); - if (*(char *)(puParm1 + 2) == '\0') { - local_8 = (undefined2)(uVar1 >> 0x10); - *puParm1 = local_8; - uStack6 = (undefined)(uVar1 >> 8); - *(undefined *)(puParm1 + 1) = uStack6; - uStack5 = (undefined)uVar1; - *(undefined *)((int)puParm1 + 3) = uStack5; - } - local_10 += 1; - local_4 = local_4 + 2; - puParm1 = puParm1 + 3; - } while ((longlong)local_10 < (longlong)(ulonglong)DAT_80057d01); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7001457c(void) - -{ - int iStack16; - undefined4 *puStack4; - - puStack4 = (undefined4 *)&DAT_80057cc0; - iStack16 = 0; - do { - *(undefined4 *)(&DAT_80057cc0 + iStack16 * 4) = 0; - iStack16 += 1; - } while (iStack16 < 0x10); - _DAT_80057cfc = 1; - iStack16 = 0; - if (DAT_80057d01 != 0) { - do { - *puStack4 = 0xff010401; - puStack4[1] = 0xffffffff; - iStack16 += 1; - puStack4 = puStack4 + 2; - } while ((longlong)iStack16 < (longlong)(ulonglong)DAT_80057d01); - } - *(undefined *)puStack4 = 0xfe; - return; -} - - - -undefined4 osEepromProbe(undefined4 uParm1) - -{ - int iVar1; - ushort auStack8 [2]; - undefined4 uStack4; - - uStack4 = 0; - FUN_70015500(); - iVar1 = FUN_70014c9c(uParm1,auStack8); - if ((iVar1 == 0) && ((auStack8[0] & 0x8000) != 0)) { - uStack4 = 1; - } - else { - uStack4 = 0; - } - FUN_70015544(); - return uStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int osEepromRead(undefined4 uParm1,byte bParm2,undefined *puParm3) - -{ - uint *puVar1; - undefined *puStackX8; - undefined4 uStack24; - undefined4 uStack20; - short sStack16; - byte bStack14; - uint *puStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - iStack8 = 0; - puStack12 = (uint *)&DAT_80057d50; - if (bParm2 < 0x41) { - FUN_70015500(); - iStack4 = FUN_70014c9c(uParm1,&sStack16); - if ((iStack4 == 0) && (sStack16 == -0x8000)) { - while ((bStack14 & 0x80) != 0) { - FUN_70014c9c(uParm1,&sStack16); - } - FUN_700148d0((ulonglong)bParm2); - iStack4 = __osSiRawStartDma(1,&DAT_80057d50); - osRecvMesg(uParm1,0,1); - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80057d50 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80057d8c = 0; - iStack4 = __osSiRawStartDma(0,&DAT_80057d50); - DAT_80057d00 = 4; - osRecvMesg(uParm1,0,1); - iStack8 = 0; - puVar1 = puStack12; - do { - puStack12 = puVar1; - iStack8 += 1; - puVar1 = (uint *)((int)puStack12 + 1); - } while (iStack8 < 4); - uStack24 = *(undefined4 *)((int)puStack12 + 5); - uStack20 = *(undefined4 *)((int)puStack12 + 9); - iStack4 = (int)(*puVar1 >> 0x10 & 0xc0) >> 4; - if (iStack4 == 0) { - iStack8 = 0; - puStackX8 = puParm3; - do { - *puStackX8 = *(undefined *)((int)&uStack24 + iStack8); - iStack8 += 1; - puStackX8 = puStackX8 + 1; - } while (iStack8 < 8); - } - puStack12 = puVar1; - FUN_70015544(); - } - else { - iStack4 = 8; - } - } - else { - iStack4 = -1; - } - return iStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700148d0(undefined uParm1) - -{ - uint *puVar1; - int iStack20; - uint uStack16; - undefined4 uStack12; - undefined4 uStack8; - uint *puStack4; - - iStack20 = 0; - do { - *(undefined4 *)(&DAT_80057d50 + iStack20 * 4) = 0xff; - iStack20 += 1; - } while (iStack20 < 0x10); - _DAT_80057d8c = 1; - uStack16 = CONCAT31(0x20800,uParm1) | 0x400; - iStack20 = 0; - do { - *(undefined *)((int)&uStack12 + iStack20) = 0; - iStack20 += 1; - } while (iStack20 < 8); - iStack20 = 0; - puVar1 = (uint *)&DAT_80057d50; - do { - puStack4 = puVar1; - *(undefined *)puStack4 = 0; - iStack20 += 1; - puVar1 = (uint *)((int)puStack4 + 1); - } while (iStack20 < 4); - *(uint *)((int)puStack4 + 1) = uStack16; - *(undefined4 *)((int)puStack4 + 5) = uStack12; - *(undefined4 *)((int)puStack4 + 9) = uStack8; - *(undefined *)((int)puStack4 + 0xd) = 0xfe; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int __osEepStatus(undefined4 uParm1,byte bParm2,undefined4 uParm3) - -{ - uint *puVar1; - short sStack28; - byte bStack26; - uint uStack24; - undefined4 uStack20; - undefined4 uStack16; - uint *puStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - puStack12 = (uint *)&DAT_80057d50; - if (bParm2 < 0x41) { - FUN_70015500(); - iStack4 = FUN_70014c9c(uParm1,&sStack28); - if ((iStack4 == 0) && (sStack28 == -0x8000)) { - while ((bStack26 & 0x80) != 0) { - FUN_70014c9c(uParm1,&sStack28); - } - FUN_70014b90((ulonglong)bParm2,uParm3); - iStack4 = __osSiRawStartDma(1,&DAT_80057d50); - osRecvMesg(uParm1,0,1); - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80057d50 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80057d8c = 0; - iStack4 = __osSiRawStartDma(0,&DAT_80057d50); - DAT_80057d00 = 5; - osRecvMesg(uParm1,0,1); - iStack8 = 0; - puVar1 = puStack12; - do { - puStack12 = puVar1; - iStack8 += 1; - puVar1 = (uint *)((int)puStack12 + 1); - } while (iStack8 < 4); - uStack24 = *puVar1; - uStack20 = *(undefined4 *)((int)puStack12 + 5); - uStack16 = *(undefined4 *)((int)puStack12 + 9); - iStack4 = (int)(uStack24 >> 0x10 & 0xc0) >> 4; - puStack12 = puVar1; - FUN_70015544(); - } - else { - iStack4 = 8; - } - } - else { - iStack4 = -1; - } - return iStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70014b90(undefined uParm1,undefined *puParm2) - -{ - undefined uVar1; - uint *puVar2; - int iStack20; - uint uStack16; - undefined4 uStack12; - undefined4 uStack8; - uint *puStack4; - - iStack20 = 0; - do { - *(undefined4 *)(&DAT_80057d50 + iStack20 * 4) = 0xff; - iStack20 += 1; - } while (iStack20 < 0x10); - _DAT_80057d8c = 1; - uStack16 = CONCAT31(0xa0100,uParm1) | 0x500; - iStack20 = 0; - do { - uVar1 = *puParm2; - puParm2 = puParm2 + 1; - *(undefined *)((int)&uStack12 + iStack20) = uVar1; - iStack20 += 1; - } while (iStack20 < 8); - iStack20 = 0; - puVar2 = (uint *)&DAT_80057d50; - do { - puStack4 = puVar2; - *(undefined *)puStack4 = 0; - iStack20 += 1; - puVar2 = (uint *)((int)puStack4 + 1); - } while (iStack20 < 4); - *(uint *)((int)puStack4 + 1) = uStack16; - *(undefined4 *)((int)puStack4 + 5) = uStack12; - *(undefined4 *)((int)puStack4 + 9) = uStack8; - *(undefined *)((int)puStack4 + 0xd) = 0xfe; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_70014c9c(undefined4 uParm1,undefined2 *puParm2) - -{ - undefined4 uVar1; - uint *puVar2; - undefined4 *puVar3; - int iVar4; - ulonglong uVar5; - undefined uStack16; - undefined uStack15; - undefined uStack14; - uint *puStack12; - int iStack8; - - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80057d50 + iStack8 * 4) = 0; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80057d8c = 1; - iStack8 = 0; - puVar3 = (undefined4 *)&DAT_80057d50; - do { - puStack12 = puVar3; - *(undefined *)puStack12 = 0; - iStack8 += 1; - puVar3 = (undefined4 *)((int)puStack12 + 1); - } while (iStack8 < 4); - *(undefined4 *)((int)puStack12 + 1) = 0xff010300; - *(undefined4 *)((int)puStack12 + 5) = 0xffffffff; - *(undefined *)((int)puStack12 + 9) = 0xfe; - __osSiRawStartDma(1,&DAT_80057d50); - osRecvMesg(uParm1,0,1); - DAT_80057d00 = 5; - iVar4 = __osSiRawStartDma(0,&DAT_80057d50); - osRecvMesg(uParm1,0,1); - uVar5 = SEXT48(iVar4); - if (uVar5 == 0) { - iStack8 = 0; - puVar2 = (uint *)&DAT_80057d50; - do { - puStack12 = puVar2; - *(undefined *)puStack12 = 0; - iStack8 += 1; - puVar2 = (uint *)((int)puStack12 + 1); - } while (iStack8 < 4); - uVar1 = *(undefined4 *)((int)puStack12 + 5); - *(undefined *)((int)puParm2 + 3) = (char)((int)(*(uint *)((int)puStack12 + 1) >> 8 & 0xc0) >> 4) - ; - uStack15 = (undefined)((uint)uVar1 >> 0x10); - uStack16 = (undefined)((uint)uVar1 >> 0x18); - *puParm2 = CONCAT11(uStack15,uStack16); - uStack14 = (undefined)((uint)uVar1 >> 8); - *(undefined *)(puParm2 + 1) = uStack14; - uVar5 = (ulonglong)*(byte *)((int)puParm2 + 3); - if (*(byte *)((int)puParm2 + 3) == 0) { - uVar5 = 0; - } - } - return uVar5; -} - - - -int osEepromLongRead(undefined4 uParm1,byte bParm2,int iParm3,int iParm4) - -{ - undefined4 uVar1; - undefined4 in_v1_lo; - int iStackX8; - int iStackX12; - int iStack4; - - iStack4 = 0; - if (bParm2 < 0x41) { - iStackX8 = iParm3; - iStackX12 = iParm4; - if (0 < iParm4) { - do { - iStack4 = osEepromRead(uParm1,(ulonglong)bParm2,iStackX8); - if (iStack4 != 0) { - return iStack4; - } - iStackX12 += -8; - bParm2 += 1; - iStackX8 += 8; - uVar1 = __ll_mul(0,12000,DAT_80022410,DAT_80022414); - FUN_7000e4d8(uVar1,in_v1_lo,0,1000000); - osSetTimer(0xffffffff80057d08); - osRecvMesg(0xffffffff80057d28,0,1); - } while (0 < iStackX12); - } - } - else { - iStack4 = -1; - } - return iStack4; -} - - - -int osEepromLongRead(undefined4 uParm1,byte bParm2,int iParm3,int iParm4) - -{ - undefined4 uVar1; - undefined4 in_v1_lo; - int iStackX8; - int iStackX12; - int iStack4; - - iStack4 = 0; - if (bParm2 < 0x41) { - iStackX8 = iParm3; - iStackX12 = iParm4; - if (0 < iParm4) { - do { - iStack4 = __osEepStatus(uParm1,(ulonglong)bParm2,iStackX8); - if (iStack4 != 0) { - return iStack4; - } - iStackX12 += -8; - bParm2 += 1; - iStackX8 += 8; - uVar1 = __ll_mul(0,12000,DAT_80022410,DAT_80022414); - FUN_7000e4d8(uVar1,in_v1_lo,0,1000000); - osSetTimer(0xffffffff80057d08); - osRecvMesg(0xffffffff80057d28,0,1); - } while (0 < iStackX12); - } - } - else { - iStack4 = -1; - } - return iStack4; -} - - - -undefined4 FUN_70015140(undefined4 uParm1,byte *pbParm2) - -{ - int iStack40; - byte bStack33; - uint uStack32; - undefined auStack28 [2]; - byte abStack26 [17]; - undefined uStack9; - undefined auStack8 [4]; - undefined4 uStack4; - - uStack4 = 0; - bStack33 = 0; - iStack40 = 3; - FUN_70015500(); - do { - FUN_700152e0(0); - uStack4 = __osSiRawStartDma(1,&DAT_80057d90); - osRecvMesg(uParm1,auStack8,1); - uStack4 = __osSiRawStartDma(0,&DAT_80057d90); - osRecvMesg(uParm1,auStack8,1); - FUN_700153dc(&uStack9,auStack28); - uStack32 = 0; - if (DAT_80057d01 != 0) { - do { - if ((abStack26[uStack32 * 4] & 4) == 0) { - iStack40 += -1; - break; - } - uStack32 += 1; - } while ((longlong)(int)uStack32 < (longlong)(ulonglong)DAT_80057d01); - } - if ((ulonglong)DAT_80057d01 == (longlong)(int)uStack32) { - iStack40 = 0; - } - if (iStack40 < 1) { - uStack32 = 0; - if (DAT_80057d01 != 0) { - do { - if ((abStack26[uStack32 * 4 + 1] == 0) && ((abStack26[uStack32 * 4] & 1) != 0)) { - bStack33 |= (byte)(1 << (uStack32 & 0x1f)); - } - uStack32 += 1; - } while ((longlong)(int)uStack32 < (longlong)(ulonglong)DAT_80057d01); - } - FUN_70015544(); - *pbParm2 = bStack33; - return uStack4; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700152e0(undefined uParm1) - -{ - int iStack16; - uint uStack12; - uint *puStack4; - - iStack16 = 0; - DAT_80057d00 = uParm1; - do { - *(undefined4 *)(&DAT_80057d90 + iStack16 * 4) = 0; - iStack16 += 1; - } while (iStack16 < 0x10); - _DAT_80057dcc = 1; - puStack4 = (uint *)&DAT_80057d90; - uStack12 = CONCAT31(0xff0100,uParm1) | 0x300; - iStack16 = 0; - if (DAT_80057d01 != 0) { - do { - *puStack4 = uStack12; - puStack4[1] = 0xffffffff; - iStack16 += 1; - puStack4 = puStack4 + 2; - } while ((longlong)iStack16 < (longlong)(ulonglong)DAT_80057d01); - } - *(undefined *)puStack4 = 0xfe; - return; -} - - - -void FUN_700153dc(byte *pbParm1,undefined2 *puParm2) - -{ - uint uVar1; - byte local_11; - uint local_10; - undefined local_8; - undefined uStack7; - undefined uStack6; - uint *local_4; - - local_11 = 0; - local_4 = (uint *)&DAT_80057d90; - local_10 = 0; - if (DAT_80057d01 != 0) { - do { - uVar1 = local_4[1]; - *(undefined *)((int)puParm2 + 3) = (char)((int)(*local_4 >> 8 & 0xc0) >> 4); - if (*(char *)((int)puParm2 + 3) == '\0') { - uStack7 = (undefined)(uVar1 >> 0x10); - local_8 = (undefined)(uVar1 >> 0x18); - *puParm2 = CONCAT11(uStack7,local_8); - uStack6 = (undefined)(uVar1 >> 8); - *(undefined *)(puParm2 + 1) = uStack6; - local_11 |= (byte)(1 << (local_10 & 0x1f)); - } - local_10 += 1; - local_4 = local_4 + 2; - puParm2 = puParm2 + 2; - } while ((longlong)(int)local_10 < (longlong)(ulonglong)DAT_80057d01); - } - *pbParm1 = local_11; - return; -} - - - -void FUN_700154b0(void) - -{ - DAT_800232a0 = 1; - osCreateMesgQueue(0xffffffff80057dd8,0xffffffff80057dd0,1); - osSendMesg(0xffffffff80057dd8,0,0); - return; -} - - - -void FUN_70015500(void) - -{ - undefined auStack4 [4]; - - if (DAT_800232a0 == 0) { - FUN_700154b0(); - } - osRecvMesg(0xffffffff80057dd8,auStack4,1); - return; -} - - - -void FUN_70015544(void) - -{ - osSendMesg(0xffffffff80057dd8,0,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 __osSiRawStartDma(int iParm1,undefined4 uParm2) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = __osSiDeviceBusy(); - if (lVar1 == 0) { - if (iParm1 == 1) { - osWritebackDCache(uParm2,0x40); - } - _DAT_a4800000 = osVirtualToPhysical(uParm2); - if (iParm1 == 0) { - _DAT_a4800004 = 0x1fc007c0; - osInvalDCache(uParm2,0x40); - } - else { - _DAT_a4800010 = 0x1fc007c0; - } - uVar2 = 0; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -ulonglong __osContDataCrc(uint uParm1) - -{ - uint uVar1; - int iStack8; - byte bStack2; - byte bStack1; - - uParm1 &= 0xffff; - bStack1 = 0; - iStack8 = 0; - do { - if ((bStack1 & 0x10) == 0) { - bStack2 = 0; - } - else { - bStack2 = 0x15; - } - uVar1 = uParm1 & 0x400; - iStack8 += 1; - uParm1 = (uParm1 & 0x7fff) << 1; - bStack1 = (bStack1 << 1 | uVar1 != 0) ^ bStack2; - } while (iStack8 < 0x10); - return (ulonglong)bStack1 & 0x1f; -} - - - -ulonglong loc_700160BC(byte *pbParm1) - -{ - uint uStack12; - int iStack8; - byte bStack2; - byte bStack1; - - bStack1 = 0; - iStack8 = 0; - do { - uStack12 = 7; - do { - if ((bStack1 & 0x80) == 0) { - bStack2 = 0; - } - else { - bStack2 = 0x85; - } - bStack1 <<= 1; - if (iStack8 != 0x20) { - bStack1 |= ((ulonglong)*pbParm1 & (longlong)(1 << (uStack12 & 0x1f))) != 0; - } - uStack12 -= 1; - bStack1 ^= bStack2; - } while (-1 < (int)uStack12); - pbParm1 = pbParm1 + 1; - iStack8 += 1; - } while (iStack8 < 0x21); - return (ulonglong)bStack1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int __osContRamWrite(undefined4 uParm1,int iParm2,ushort uParm3,undefined4 uParm4,int iParm5) - -{ - bool bVar1; - ulonglong uVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - int iStack56; - undefined4 uStack52; - byte bStack14; - undefined4 *puStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - puStack12 = (undefined4 *)&DAT_80057d90; - iStack56 = 2; - if (((iParm5 == 1) || (6 < uParm3)) || (uParm3 == 0)) { - FUN_70015500(); - DAT_80057d00 = 3; - FUN_700159d0(iParm2,(ulonglong)uParm3,uParm4); - iStack4 = __osSiRawStartDma(1,&DAT_80057d90); - osRecvMesg(uParm1,0,1); - do { - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80057d90 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80057dcc = 0; - iStack4 = __osSiRawStartDma(0,&DAT_80057d90); - osRecvMesg(uParm1,0,1); - puStack12 = (undefined4 *)&DAT_80057d90; - if ((iParm2 != 0) && (iStack8 = 0, 0 < iParm2)) { - do { - iStack8 += 1; - puStack12 = (undefined4 *)((int)puStack12 + 1); - } while (iStack8 < iParm2); - } - puVar5 = puStack12; - puVar3 = &uStack52; - do { - puVar6 = puVar5 + 3; - puVar4 = puVar3 + 3; - *puVar3 = *puVar5; - puVar3[1] = puVar5[1]; - puVar3[2] = puVar5[2]; - puVar5 = puVar6; - puVar3 = puVar4; - } while (puVar6 != puStack12 + 9); - *puVar4 = *puVar6; - iStack4 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((iStack4 == 0) && (uVar2 = loc_700160BC(uParm4), uVar2 != (ulonglong)bStack14)) { - iStack4 = FUN_70013e94(uParm1,iParm2); - if (iStack4 != 0) { - FUN_70015544(); - return iStack4; - } - iStack4 = 4; - } - } while ((iStack4 == 4) && (bVar1 = -1 < iStack56, iStack56 += -1, bVar1)); - FUN_70015544(); - } - else { - iStack4 = 0; - } - return iStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700159d0(int iParm1,ushort uParm2,undefined *puParm3) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined *puStackX8; - int iStack48; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - undefined auStack38 [30]; - undefined4 uStack8; - undefined4 *puStack4; - - puStack4 = (undefined4 *)&DAT_80057d90; - iStack48 = 0; - do { - *(undefined4 *)(&DAT_80057d90 + iStack48 * 4) = 0; - iStack48 += 1; - } while (iStack48 < 0x10); - _DAT_80057dcc = 1; - uStack44 = 0xff; - uStack43 = 0x23; - uStack42 = 1; - uStack41 = 3; - __osContDataCrc((ulonglong)uParm2); - iStack48 = 0; - puStackX8 = puParm3; - do { - auStack38[iStack48] = *puStackX8; - iStack48 += 1; - puStackX8 = puStackX8 + 1; - } while (iStack48 < 0x20); - if ((iParm1 != 0) && (iStack48 = 0, 0 < iParm1)) { - do { - *(undefined *)puStack4 = 0; - iStack48 += 1; - puStack4 = (undefined4 *)((int)puStack4 + 1); - } while (iStack48 < iParm1); - } - puVar3 = (undefined4 *)&uStack44; - puVar1 = puStack4; - do { - puVar4 = puVar3 + 3; - puVar2 = puVar1 + 3; - *puVar1 = *puVar3; - puVar1[1] = puVar3[1]; - puVar1[2] = puVar3[2]; - puVar3 = puVar4; - puVar1 = puVar2; - } while (puVar4 != &uStack8); - *puVar2 = *puVar4; - *(undefined *)(puStack4 + 10) = 0xfe; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int __osContRamRead(undefined4 uParm1,int iParm2,ushort uParm3,undefined *puParm4) - -{ - bool bVar1; - char cVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined *puStackX12; - int iStack56; - undefined4 uStack52; - undefined auStack46 [32]; - char cStack14; - undefined4 *puStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - puStack12 = (undefined4 *)&DAT_80057d90; - iStack56 = 2; - FUN_70015500(); - DAT_80057d00 = 2; - FUN_70015d94(iParm2,(ulonglong)uParm3); - iStack4 = __osSiRawStartDma(1,&DAT_80057d90); - osRecvMesg(uParm1,0,1); - puStackX12 = puParm4; - do { - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80057d90 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80057dcc = 0; - iStack4 = __osSiRawStartDma(0,&DAT_80057d90); - osRecvMesg(uParm1,0,1); - puStack12 = (undefined4 *)&DAT_80057d90; - if ((iParm2 != 0) && (iStack8 = 0, 0 < iParm2)) { - do { - iStack8 += 1; - puStack12 = (undefined4 *)((int)puStack12 + 1); - } while (iStack8 < iParm2); - } - puVar5 = puStack12; - puVar3 = &uStack52; - do { - puVar6 = puVar5 + 3; - puVar4 = puVar3 + 3; - *puVar3 = *puVar5; - puVar3[1] = puVar5[1]; - puVar3[2] = puVar5[2]; - puVar5 = puVar6; - puVar3 = puVar4; - } while (puVar6 != puStack12 + 9); - *puVar4 = *puVar6; - iStack4 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if (iStack4 == 0) { - cVar2 = loc_700160BC(auStack46); - if (cVar2 == cStack14) { - iStack8 = 0; - do { - *puStackX12 = auStack46[iStack8]; - iStack8 += 1; - puStackX12 = puStackX12 + 1; - } while (iStack8 < 0x20); - } - else { - iStack4 = FUN_70013e94(uParm1,iParm2); - if (iStack4 != 0) { - FUN_70015544(); - return iStack4; - } - iStack4 = 4; - } - } - } while ((iStack4 == 4) && (bVar1 = -1 < iStack56, iStack56 += -1, bVar1)); - FUN_70015544(); - return iStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70015d94(int iParm1,ushort uParm2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - int iStack48; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - undefined auStack38 [30]; - undefined4 uStack8; - undefined4 *puStack4; - - puStack4 = (undefined4 *)&DAT_80057d90; - iStack48 = 0; - do { - *(undefined4 *)(&DAT_80057d90 + iStack48 * 4) = 0; - iStack48 += 1; - } while (iStack48 < 0x10); - _DAT_80057dcc = 1; - uStack44 = 0xff; - uStack43 = 3; - uStack42 = 0x21; - uStack41 = 2; - __osContDataCrc((ulonglong)uParm2); - iStack48 = 0; - do { - auStack38[iStack48] = 0xff; - iStack48 += 1; - } while (iStack48 < 0x20); - if ((iParm1 != 0) && (iStack48 = 0, 0 < iParm1)) { - do { - *(undefined *)puStack4 = 0; - iStack48 += 1; - puStack4 = (undefined4 *)((int)puStack4 + 1); - } while (iStack48 < iParm1); - } - puVar3 = (undefined4 *)&uStack44; - puVar1 = puStack4; - do { - puVar4 = puVar3 + 3; - puVar2 = puVar1 + 3; - *puVar1 = *puVar3; - puVar1[1] = puVar3[1]; - puVar1[2] = puVar3[2]; - puVar3 = puVar4; - puVar1 = puVar2; - } while (puVar4 != &uStack8); - *puVar2 = *puVar4; - *(undefined *)(puStack4 + 10) = 0xfe; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void guAlign(float *pfParm1,float fParm2,float fParm3,float fParm4,float fParm5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fStackX8; - float fStackX12; - - _DAT_80057df0 = DAT_80024d60; - fStackX8 = fParm3; - fStackX12 = fParm4; - guNormalize(&fStackX8,&fStackX12,&fParm5); - fParm2 = fParm2 * _DAT_80057df0; - fVar1 = (float)func_7F057FC4(); - fVar2 = (float)func_7F057FC4(fParm2); - fVar3 = (float)sqrtf(fStackX8 * fStackX8 + fParm5 * fParm5); - loc_70010084(pfParm1); - if (fVar3 != 0.00000000) { - fVar4 = 1.00000000 / fVar3; - *pfParm1 = (-fParm5 * fVar2 - fVar1 * fStackX12 * fStackX8) * fVar4; - pfParm1[4] = (fParm5 * fVar1 - fVar2 * fStackX12 * fStackX8) * fVar4; - pfParm1[0xc] = 0.00000000; - pfParm1[8] = -fStackX8; - pfParm1[1] = fVar1 * fVar3; - pfParm1[5] = fVar2 * fVar3; - pfParm1[0xd] = 0.00000000; - pfParm1[9] = -fStackX12; - pfParm1[2] = (fVar2 * fStackX8 - fVar1 * fStackX12 * fParm5) * fVar4; - pfParm1[6] = (-fVar1 * fStackX8 - fVar2 * fStackX12 * fParm5) * fVar4; - pfParm1[0xe] = 0.00000000; - pfParm1[3] = 0.00000000; - pfParm1[7] = 0.00000000; - pfParm1[10] = -fParm5; - pfParm1[0xb] = 0.00000000; - pfParm1[0xf] = 1.00000000; - } - return; -} - - - -void guOrtho(float *pfParm1,float fParm2,float fParm3,float fParm4,float fParm5,float fParm6, - float fParm7,float fParm8) - -{ - float *pfVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - - loc_70010084(); - *pfParm1 = 2.00000000 / (fParm3 - fParm2); - pfParm1[10] = -2.00000000 / (fParm7 - fParm6); - pfParm1[5] = 2.00000000 / (fParm5 - fParm4); - pfParm1[0xc] = -(fParm3 + fParm2) / (fParm3 - fParm2); - pfParm1[0xd] = -(fParm5 + fParm4) / (fParm5 - fParm4); - pfParm1[0xf] = 1.00000000; - pfParm1[0xe] = -(fParm7 + fParm6) / (fParm7 - fParm6); - iVar2 = 1; - fVar9 = pfParm1[1]; - fVar6 = *pfParm1 * fParm8; - fVar7 = pfParm1[2]; - fVar8 = pfParm1[3]; - pfVar1 = pfParm1; - if (true) { - do { - fVar5 = fVar9 * fParm8; - fVar9 = pfVar1[5]; - fVar4 = fVar7 * fParm8; - fVar7 = pfVar1[6]; - iVar2 += 1; - fVar3 = fVar8 * fParm8; - fVar8 = pfVar1[7]; - *pfVar1 = fVar6; - fVar6 = pfVar1[4] * fParm8; - pfVar1[1] = fVar5; - pfVar1[2] = fVar4; - pfParm1 = pfVar1 + 4; - pfVar1[3] = fVar3; - pfVar1 = pfParm1; - } while (iVar2 != 4); - } - *pfParm1 = fVar6; - pfParm1[1] = fVar9 * fParm8; - pfParm1[2] = fVar7 * fParm8; - pfParm1[3] = fVar8 * fParm8; - return; -} - - - -void guOrtho(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7,undefined4 uParm8) - -{ - undefined auStack64 [64]; - - guOrtho(auStack64,uParm2,uParm3,uParm4,uParm5,uParm6,uParm7,uParm8); - guMtxL2F(auStack64,uParm1); - return; -} - - - -void coss(int iParm1) - -{ - sins(iParm1 + 0x4000U & 0xffff); - return; -} - - - -longlong sins(uint uParm1) - -{ - short sVar1; - uint uVar2; - - uVar2 = (uParm1 & 0xffff) >> 4; - if ((uVar2 & 0x400) == 0) { - sVar1 = *(short *)(&DAT_800232b0 + (uVar2 & 0x3ff) * 2); - } - else { - sVar1 = *(short *)(&DAT_80023aae + (uVar2 & 0x3ff) * -2); - } - if ((uVar2 & 0x800) != 0) { - return (longlong)((int)sVar1 * -0x10000 >> 0x10); - } - return (longlong)sVar1; -} - - - -void guTranslate(int iParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - loc_70010084(); - *(undefined4 *)(iParm1 + 0x30) = uParm2; - *(undefined4 *)(iParm1 + 0x34) = uParm3; - *(undefined4 *)(iParm1 + 0x38) = uParm4; - return; -} - - - -void FUN_700163b8(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined auStack64 [48]; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - loc_70010084(auStack64); - uStack16 = uParm2; - uStack12 = uParm3; - uStack8 = uParm4; - guMtxL2F(auStack64,uParm1); - return; -} - - - -// WARNING: Instruction at (ram,0x7001644c) overlaps instruction at (ram,0x70016448) -// - -undefined8 _bcmp(uint *puParm1,uint *puParm2,int iParm3) - -{ - char cVar1; - char cVar2; - uint uVar3; - uint *puVar4; - uint in_v1_lo; - uint uVar5; - uint *puVar6; - uint uVar7; - - if (0xf < iParm3) { - if ((((uint)puParm1 ^ (uint)puParm2) & 3) == 0) { - uVar7 = -(int)puParm1 & 3; - if (uVar7 != 0) { - uVar5 = (uint)puParm1 & 3; - puVar6 = (uint *)((int)puParm1 - uVar5); - uVar3 = (uint)puParm2 & 3; - puVar4 = (uint *)((int)puParm2 - uVar3); - puParm1 = (uint *)((int)puParm1 + uVar7); - puParm2 = (uint *)((int)puParm2 + uVar7); - if ((*puVar6 << uVar5 * 8 | in_v1_lo & 0xffffffffU >> (4 - uVar5) * 8) != - (*puVar4 << uVar3 * 8 | in_v1_lo & 0xffffffffU >> (4 - uVar3) * 8)) { - return 1; - } - } - uVar5 = iParm3 - uVar7 & 0xfffffffc; - iParm3 = (iParm3 - uVar7) - uVar5; - if (uVar5 != 0) { - puVar6 = (uint *)(uVar5 + (int)puParm1); - uVar7 = *puParm1; - while( true ) { - uVar5 = *puParm2; - puParm1 = puParm1 + 1; - puParm2 = puParm2 + 1; - if (uVar7 != uVar5) { - return 1; - } - if (puParm1 == puVar6) break; - uVar7 = *puParm1; - } - } - } - else { - uVar7 = -(int)puParm2 & 3; - if (uVar7 != 0) { - puVar6 = (uint *)(uVar7 + (int)puParm1); - cVar1 = *(char *)puParm1; - while( true ) { - cVar2 = *(char *)puParm2; - puParm1 = (uint *)((int)puParm1 + 1); - puParm2 = (uint *)((int)puParm2 + 1); - if (cVar1 != cVar2) { - return 1; - } - if (puParm1 == puVar6) break; - cVar1 = *(char *)puParm1; - } - } - uVar5 = iParm3 - uVar7 & 0xfffffffc; - iParm3 = (iParm3 - uVar7) - uVar5; - if (uVar5 != 0) { - puVar6 = (uint *)(uVar5 + (int)puParm1); - uVar7 = *puParm1; - while( true ) { - uVar5 = *puParm2; - puParm1 = puParm1 + 1; - puParm2 = puParm2 + 1; - if (uVar7 != uVar5) { - return 1; - } - if (puParm1 == puVar6) break; - uVar5 = (uint)puParm1 & 3; - uVar7 = *(uint *)((int)puParm1 - uVar5) << uVar5 * 8 | - uVar7 & 0xffffffffU >> (4 - uVar5) * 8; - } - } - } - } - puVar6 = (uint *)(iParm3 + (int)puParm1); - if (0 < iParm3) { - cVar1 = *(char *)puParm1; - while( true ) { - cVar2 = *(char *)puParm2; - puParm1 = (uint *)((int)puParm1 + 1); - puParm2 = (uint *)((int)puParm2 + 1); - if (cVar1 != cVar2) { - return 1; - } - if (puParm1 == puVar6) break; - cVar1 = *(char *)puParm1; - } - return 0; - } - return 0; -} - - - -void guScale(undefined4 *puParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - loc_70010084(); - *puParm1 = uParm2; - puParm1[5] = uParm3; - puParm1[0xf] = 0x3f800000; - puParm1[10] = uParm4; - return; -} - - - -void guScale(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined auStack64 [64]; - - guScale(auStack64,uParm2,uParm3,uParm4); - guMtxL2F(auStack64,uParm1); - return; -} - - - -void guLookAtReflect(float *pfParm1,undefined *puParm2,float fParm3,float fParm4,float fParm5, - float fParm6,float fParm7,float fParm8,float fParm9,float fParm10,float fParm11) - -{ - float fVar1; - double dVar2; - uint uVar3; - undefined8 in_f8; - undefined4 extraout_var; - undefined4 extraout_var_00; - undefined4 extraout_var_01; - double dVar4; - double dVar5; - float fVar6; - uint in_register_00001080; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - uVar3 = (uint)((ulonglong)in_f8 >> 0x20); - loc_70010084(); - fParm6 = fParm6 - fParm3; - fParm7 = fParm7 - fParm4; - fParm8 = fParm8 - fParm5; - fVar1 = (float)sqrtf(CONCAT44(extraout_var,fParm6 * fParm6 + fParm7 * fParm7 + fParm8 * fParm8)); - dVar2 = (double)((ulonglong)uVar3 << 0x20) / (double)fVar1; - fVar1 = (float)dVar2; - fParm6 = fParm6 * fVar1; - fParm7 = fParm7 * fVar1; - fParm8 = fParm8 * fVar1; - uVar3 = (uint)((ulonglong)dVar2 >> 0x20); - fVar9 = fParm10 * fParm8 - fParm11 * fParm7; - fVar10 = fParm11 * fParm6 - fParm9 * fParm8; - fVar11 = fParm9 * fParm7 - fParm10 * fParm6; - fVar1 = (float)sqrtf(CONCAT44(extraout_var_00,fVar9 * fVar9 + fVar10 * fVar10 + fVar11 * fVar11)); - fVar6 = (float)((double)((ulonglong)uVar3 << 0x20) / (double)fVar1); - fVar9 = fVar9 * fVar6; - fVar10 = fVar10 * fVar6; - fVar11 = fVar11 * fVar6; - uVar3 = (uint)((ulonglong)(double)fVar1 >> 0x20); - fVar6 = fParm7 * fVar11 - fParm8 * fVar10; - fVar7 = fParm8 * fVar9 - fParm6 * fVar11; - fVar8 = fParm6 * fVar10 - fParm7 * fVar9; - fVar1 = (float)sqrtf(CONCAT44(extraout_var_01,fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8)); - dVar2 = DAT_80024d70; - fVar1 = (float)((double)((ulonglong)uVar3 << 0x20) / (double)fVar1); - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar8 = fVar8 * fVar1; - dVar4 = (double)fVar9 * (double)((ulonglong)in_register_00001080 << 0x20); - if (DAT_80024d70 <= dVar4) { - dVar4 = DAT_80024d70; - } - dVar5 = (double)fVar10 * (double)((ulonglong)in_register_00001080 << 0x20); - puParm2[8] = (char)(int)dVar4; - if (dVar2 <= dVar5) { - dVar5 = dVar2; - } - dVar4 = (double)fVar11 * (double)((ulonglong)in_register_00001080 << 0x20); - puParm2[9] = (char)(int)dVar5; - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - puParm2[10] = (char)(int)dVar4; - dVar4 = (double)fVar6 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - puParm2[0x18] = (char)(int)dVar4; - dVar4 = (double)fVar7 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - puParm2[0x19] = (char)(int)dVar4; - dVar4 = (double)fVar8 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - *puParm2 = 0; - puParm2[1] = 0; - puParm2[2] = 0; - puParm2[3] = 0; - puParm2[4] = 0; - puParm2[5] = 0; - puParm2[6] = 0; - puParm2[7] = 0; - puParm2[0x10] = 0; - puParm2[0x11] = 0x80; - puParm2[0x12] = 0; - puParm2[0x13] = 0; - puParm2[0x14] = 0; - puParm2[0x15] = 0x80; - puParm2[0x16] = 0; - puParm2[0x17] = 0; - puParm2[0x1a] = (char)(int)dVar4; - *pfParm1 = fVar9; - pfParm1[4] = fVar10; - pfParm1[8] = fVar11; - pfParm1[2] = fParm6; - pfParm1[6] = fParm7; - pfParm1[10] = fParm8; - pfParm1[1] = fVar6; - pfParm1[5] = fVar7; - pfParm1[9] = fVar8; - pfParm1[0xc] = -(fParm3 * fVar9 + fParm4 * fVar10 + fParm5 * fVar11); - pfParm1[0xd] = -(fParm3 * fVar6 + fParm4 * fVar7 + fParm5 * fVar8); - pfParm1[3] = 0.00000000; - pfParm1[7] = 0.00000000; - pfParm1[0xb] = 0.00000000; - pfParm1[0xf] = 1.00000000; - pfParm1[0xe] = -(fParm3 * fParm6 + fParm4 * fParm7 + fParm5 * fParm8); - return; -} - - - -void guLookAtReflect(undefined4 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7,undefined4 uParm8, - undefined4 uParm9,undefined4 uParm10,undefined4 uParm11) - -{ - undefined auStack64 [64]; - - guLookAtReflect(auStack64,uParm2,uParm3,uParm4,uParm5,uParm6,uParm7,uParm8,uParm9,uParm10,uParm11) - ; - guMtxL2F(auStack64,uParm1); - return; -} - - - -void guLookAt(float *pfParm1,float fParm2,float fParm3,float fParm4,float fParm5,float fParm6, - float fParm7,float fParm8,float fParm9,float fParm10) - -{ - float fVar1; - float fVar2; - double dVar3; - uint uVar4; - undefined8 in_f8; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - - uVar4 = (uint)((ulonglong)in_f8 >> 0x20); - loc_70010084(); - fParm5 = fParm5 - fParm2; - fParm6 = fParm6 - fParm3; - fParm7 = fParm7 - fParm4; - fVar1 = (float)sqrtf(fParm5 * fParm5 + fParm6 * fParm6 + fParm7 * fParm7); - dVar3 = (double)((ulonglong)uVar4 << 0x20) / (double)fVar1; - fVar1 = (float)dVar3; - fParm5 = fParm5 * fVar1; - fParm6 = fParm6 * fVar1; - fParm7 = fParm7 * fVar1; - uVar4 = (uint)((ulonglong)dVar3 >> 0x20); - fVar7 = fParm9 * fParm7 - fParm10 * fParm6; - fVar8 = fParm10 * fParm5 - fParm8 * fParm7; - fVar9 = fParm8 * fParm6 - fParm9 * fParm5; - fVar1 = (float)sqrtf(fVar7 * fVar7 + fVar8 * fVar8 + fVar9 * fVar9); - fVar2 = (float)((double)((ulonglong)uVar4 << 0x20) / (double)fVar1); - fVar7 = fVar7 * fVar2; - fVar8 = fVar8 * fVar2; - fVar9 = fVar9 * fVar2; - uVar4 = (uint)((ulonglong)(double)fVar1 >> 0x20); - fVar2 = fParm6 * fVar9 - fParm7 * fVar8; - fVar5 = fParm7 * fVar7 - fParm5 * fVar9; - fVar6 = fParm5 * fVar8 - fParm6 * fVar7; - fVar1 = (float)sqrtf(fVar2 * fVar2 + fVar5 * fVar5 + fVar6 * fVar6); - fVar1 = (float)((double)((ulonglong)uVar4 << 0x20) / (double)fVar1); - *pfParm1 = fVar7; - pfParm1[4] = fVar8; - pfParm1[8] = fVar9; - pfParm1[1] = fVar2 * fVar1; - pfParm1[5] = fVar5 * fVar1; - pfParm1[0xc] = -(fParm2 * fVar7 + fParm3 * fVar8 + fParm4 * fVar9); - pfParm1[9] = fVar6 * fVar1; - pfParm1[2] = fParm5; - pfParm1[6] = fParm6; - pfParm1[10] = fParm7; - pfParm1[3] = 0.00000000; - pfParm1[7] = 0.00000000; - pfParm1[0xb] = 0.00000000; - pfParm1[0xd] = -(fParm2 * fVar2 * fVar1 + fParm3 * fVar5 * fVar1 + fParm4 * fVar6 * fVar1); - pfParm1[0xf] = 1.00000000; - pfParm1[0xe] = -(fParm2 * fParm5 + fParm3 * fParm6 + fParm4 * fParm7); - return; -} - - - -void guLookAt(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7,undefined4 uParm8, - undefined4 uParm9,undefined4 uParm10) - -{ - undefined auStack64 [64]; - - guLookAt(auStack64,uParm2,uParm3,uParm4,uParm5,uParm6,uParm7,uParm8,uParm9,uParm10); - guMtxL2F(auStack64,uParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void guRotate(float *pfParm1,float fParm2,float fParm3,float fParm4,float fParm5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fStackX8; - float fStackX12; - - _DAT_80057e00 = DAT_80024d80; - fStackX8 = fParm3; - fStackX12 = fParm4; - guNormalize(&fStackX8,&fStackX12,&fParm5); - fParm2 = fParm2 * _DAT_80057e00; - fVar1 = (float)func_7F057FC4(); - fVar2 = (float)func_7F057FC4(fParm2); - fVar3 = 1.00000000 - fVar2; - fVar4 = fStackX8 * fStackX12 * fVar3; - fVar5 = fStackX12 * fParm5 * fVar3; - fVar3 = fParm5 * fStackX8 * fVar3; - loc_70010084(pfParm1); - *pfParm1 = (1.00000000 - fStackX8 * fStackX8) * fVar2 + fStackX8 * fStackX8; - pfParm1[9] = fVar5 - fStackX8 * fVar1; - pfParm1[6] = fStackX8 * fVar1 + fVar5; - pfParm1[5] = (1.00000000 - fStackX12 * fStackX12) * fVar2 + fStackX12 * fStackX12; - pfParm1[8] = fStackX12 * fVar1 + fVar3; - pfParm1[2] = fVar3 - fStackX12 * fVar1; - pfParm1[10] = (1.00000000 - fParm5 * fParm5) * fVar2 + fParm5 * fParm5; - pfParm1[4] = fVar4 - fParm5 * fVar1; - pfParm1[1] = fParm5 * fVar1 + fVar4; - return; -} - - - -void guRotate(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 param_5) - -{ - undefined auStack64 [64]; - - guRotate(auStack64,uParm2,uParm3,uParm4,param_5); - guMtxL2F(auStack64,uParm1); - return; -} - - - -longlong __f_to_ll(float fParm1) - -{ - return (longlong)fParm1 >> 0x20; -} - - - -double __ll_to_d(undefined4 uParm1,undefined4 uParm2) - -{ - return (double)CONCAT44(uParm1,uParm2); -} - - - -void __osSetSR(undefined8 uParm1) - -{ - setCopReg(0,Status,uParm1,0); - return; -} - - - -undefined4 __osGetSR(void) - -{ - return Status; -} - - - -undefined8 __osSiRawReadIo(uint uParm1,undefined4 *puParm2) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = __osSiDeviceBusy(); - if (lVar1 == 0) { - uVar2 = 0; - *puParm2 = *(undefined4 *)(uParm1 | 0xa0000000); - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -undefined8 __osSiRawWriteIo(uint uParm1,undefined4 uParm2) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = __osSiDeviceBusy(); - if (lVar1 == 0) { - uVar2 = 0; - *(undefined4 *)(uParm1 | 0xa0000000) = uParm2; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osPiRawReadIo(uint uParm1,undefined4 *puParm2) - -{ - do { - } while ((_DAT_a4600010 & 3) != 0); - *puParm2 = *(undefined4 *)(_DAT_80000308 | uParm1 | 0xa0000000); - return 0; -} - - - -void _bzero(undefined4 *puParm1,int iParm2) - -{ - undefined4 *puVar1; - uint uVar2; - uint uVar3; - undefined4 *puVar4; - - if (0xb < iParm2) { - uVar2 = -(int)puParm1 & 3; - if (uVar2 != 0) { - uVar3 = (uint)puParm1 & 3; - *(uint *)((int)puParm1 - uVar3) = - *(uint *)((int)puParm1 - uVar3) & -1 << (4 - uVar3) * 8 | 0U >> uVar3 * 8; - puParm1 = (undefined4 *)((int)puParm1 + uVar2); - } - uVar3 = iParm2 - uVar2 & 0xffffffe0; - uVar2 = (iParm2 - uVar2) - uVar3; - if (uVar3 != 0) { - puVar4 = (undefined4 *)(uVar3 + (int)puParm1); - puVar1 = puParm1; - do { - puParm1 = puVar1 + 8; - *puVar1 = 0; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - puVar1[4] = 0; - puVar1[5] = 0; - puVar1[6] = 0; - puVar1[7] = 0; - puVar1 = puParm1; - } while (puParm1 != puVar4); - } - uVar3 = uVar2 & 0xfffffffc; - iParm2 = uVar2 - uVar3; - if (uVar3 != 0) { - puVar4 = (undefined4 *)(uVar3 + (int)puParm1); - puVar1 = puParm1; - do { - puParm1 = puVar1 + 1; - *puVar1 = 0; - puVar1 = puParm1; - } while (puParm1 != puVar4); - } - } - if (0 < iParm2) { - puVar1 = puParm1; - do { - puVar4 = (undefined4 *)((int)puVar1 + 1); - *(undefined *)puVar1 = 0; - puVar1 = puVar4; - } while (puVar4 != (undefined4 *)(iParm2 + (int)puParm1)); - } - return; -} - - - -void __osSetHWIntrRoutine(int iParm1,undefined4 uParm2) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - *(undefined4 *)(iParm1 * 4 + -0x7ffdce00) = uParm2; - __osRestoreInt(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 __osSpGetStatus(void) - -{ - return _DAT_a4040010; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __osSpSetStatus(undefined4 uParm1) - -{ - _DAT_a4040010 = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 __osSpSetPc(undefined4 uParm1) - -{ - undefined8 uVar1; - - if ((_DAT_a4040010 & 1) == 0) { - uVar1 = 0xffffffffffffffff; - } - else { - uVar1 = 0; - _DAT_a4080000 = uParm1; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 __osSpRawStartDma(int iParm1,undefined4 uParm2,undefined4 uParm3,int iParm4) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = __osSpDeviceBusy(); - if (lVar1 == 0) { - _DAT_a4040000 = uParm2; - _DAT_a4040004 = osVirtualToPhysical(uParm3); - if (iParm1 == 0) { - _DAT_a404000c = iParm4 + -1; - } - else { - _DAT_a4040008 = iParm4 + -1; - } - uVar2 = 0; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong __osSpDeviceBusy(void) - -{ - return (ulonglong)((_DAT_a4040010 & 0x1c) != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong __osDpDeviceBusy(void) - -{ - return (ulonglong)((_DAT_a410000c & 0x100) != 0); -} - - - -void __osSetCompare(undefined8 uParm1) - -{ - setCopReg(0,Compare,uParm1,0); - return; -} - - - -void FUN_70017530(uint uParm1) - -{ - undefined8 uVar1; - - uVar1 = __osRestoreInt(); - DAT_8002241c &= ~(uParm1 & 0xfffffbfe); - __osRestoreInt(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osEPiRawWriteIo(int iParm1,uint uParm2,undefined4 uParm3) - -{ - do { - } while ((_DAT_a4600010 & 3) != 0); - *(undefined4 *)(*(uint *)(iParm1 + 0xc) | uParm2 | 0xa0000000) = uParm3; - return 0; -} - - - -int __osProbeTLB(ulonglong uParm1) - -{ - int iVar1; - uint uVar2; - - setCopReg(0,EntryHi,(longlong)EntryHi._4_4_ & 0xffU | uParm1 & 0xffffffffffffe000,0); - Index = TLB_probe_for_matching_entry(EntryHi); - if ((Index & 0x80000000) == 0) { - EntryHi = TLB_read_indexed_entryHi(Index); - EntryLo0 = TLB_read_indexed_entryLo0(Index); - EntryLo1 = TLB_read_indexed_entryLo1(Index); - PageMask = TLB_read_indexed_entryLo1(Index); - uVar2 = PageMask._4_4_ + 0x2000U >> 1; - if (((longlong)(int)uVar2 & uParm1) == 0) { - } - else { - EntryLo0._4_4_ = EntryLo1._4_4_; - } - if ((EntryLo0._4_4_ & 2) != 0) { - iVar1 = (EntryLo0._4_4_ & 0x3fffffc0) * 0x40 + ((uint)uParm1 & uVar2 - 1); - goto LAB_7001768c; - } - } - iVar1 = -1; -LAB_7001768c: - setCopReg(0,EntryHi,(longlong)EntryHi._4_4_,0); - return iVar1; -} - - - -void alSynDelete(undefined4 *puParm1) - -{ - *puParm1 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong __osAiDeviceBusy(void) - -{ - return (ulonglong)((_DAT_a450000c & 0x80000000) != 0); -} - - - -void FUN_700176e0(int iParm1) - -{ - alFilterNew(iParm1,alSavePull,alSavePull,3); - *(undefined4 *)(iParm1 + 0x14) = 0; - *(undefined4 *)(iParm1 + 0x18) = 1; - return; -} - - - -void FUN_70017724(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - alFilterNew(iParm1,loc_70019A7C,alMainBusPull,7); - *(undefined4 *)(iParm1 + 0x14) = 0; - *(undefined4 *)(iParm1 + 0x18) = uParm3; - *(undefined4 *)(iParm1 + 0x1c) = uParm2; - return; -} - - - -void FUN_70017778(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - alFilterNew(iParm1,loc_7001B5BC,alAuxBusPull,6); - *(undefined4 *)(iParm1 + 0x14) = 0; - *(undefined4 *)(iParm1 + 0x18) = uParm3; - *(undefined4 *)(iParm1 + 0x1c) = uParm2; - return; -} - - - -void FUN_700177cc(int iParm1,undefined4 uParm2) - -{ - undefined4 uVar1; - - alFilterNew(iParm1,loc_7001A8E4,FUN_70018bc0,1); - uVar1 = alHeapDBAlloc(0,0,uParm2,1,0x20); - *(undefined4 *)(iParm1 + 0x14) = uVar1; - *(undefined4 *)(iParm1 + 0x24) = 1; - *(undefined4 *)(iParm1 + 0x30) = 0; - *(undefined4 *)(iParm1 + 0x1c) = 0; - *(undefined4 *)(iParm1 + 0x28) = 0; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(undefined4 *)(iParm1 + 0x20) = 0; - *(undefined4 *)(iParm1 + 0x18) = 0x3f800000; - return; -} - - - -void alLoadNew(int iParm1,code *pcParm2,undefined4 uParm3) - -{ - undefined4 uVar1; - - alFilterNew(iParm1,loc_7001A5CC,alAdpcmPull,0); - uVar1 = alHeapDBAlloc(0,0,uParm3,1,0x20); - *(undefined4 *)(iParm1 + 0x14) = uVar1; - uVar1 = alHeapDBAlloc(0,0,uParm3,1,0x20); - *(undefined4 *)(iParm1 + 0x18) = uVar1; - uVar1 = (*pcParm2)(iParm1 + 0x34); - *(undefined4 *)(iParm1 + 0x30) = uVar1; - *(undefined4 *)(iParm1 + 0x3c) = 0; - *(undefined4 *)(iParm1 + 0x40) = 1; - *(undefined4 *)(iParm1 + 0x44) = 0; - return; -} - - - -void FUN_700178fc(int iParm1,undefined4 uParm2) - -{ - undefined4 uVar1; - - alFilterNew(iParm1,loc_7001B4A0,loc_7001AAE4,4); - uVar1 = alHeapDBAlloc(0,0,uParm2,1,0x50); - *(undefined4 *)(iParm1 + 0x14) = uVar1; - *(undefined4 *)(iParm1 + 0x38) = 1; - *(undefined4 *)(iParm1 + 0x48) = 0; - *(undefined2 *)(iParm1 + 0x1a) = 1; - *(undefined2 *)(iParm1 + 0x28) = 1; - *(undefined2 *)(iParm1 + 0x2e) = 1; - *(undefined2 *)(iParm1 + 0x1c) = 1; - *(undefined2 *)(iParm1 + 0x1e) = 1; - *(undefined2 *)(iParm1 + 0x20) = 0; - *(undefined2 *)(iParm1 + 0x22) = 0; - *(undefined2 *)(iParm1 + 0x26) = 1; - *(undefined2 *)(iParm1 + 0x24) = 0; - *(undefined4 *)(iParm1 + 0x30) = 0; - *(undefined4 *)(iParm1 + 0x34) = 0; - *(undefined2 *)(iParm1 + 0x18) = 0; - *(undefined4 *)(iParm1 + 0x3c) = 0; - *(undefined4 *)(iParm1 + 0x40) = 0; - *(undefined4 *)(iParm1 + 0x44) = 0; - return; -} - - - -void locret_70019478(undefined8 uParm1,short *psParm2) - -{ - int iVar1; - int iVar2; - short *psVar3; - short sVar4; - double dVar5; - double dVar6; - uint uVar7; - - uVar7 = (uint)((ulonglong)uParm1 >> 0x20); - sVar4 = (short)(((int)*psParm2 << 0xe) >> 0xf); - psParm2[1] = 0x4000 - sVar4; - *(undefined4 *)(psParm2 + 0x16) = 1; - iVar1 = 0; - do { - psVar3 = psParm2; - iVar2 = iVar1; - iVar1 = iVar2 + 1; - psVar3[4] = 0; - psParm2 = psVar3 + 1; - } while (iVar1 < 8); - iVar2 += 2; - psVar3[5] = sVar4; - dVar6 = (double)(int)sVar4 / (double)((ulonglong)uVar7 << 0x20); - dVar5 = dVar6; - psVar3 = psVar3 + 2; - while (iVar2 < 0x10) { - dVar5 = dVar5 * dVar6; - iVar2 += 1; - psVar3[4] = (short)(int)(dVar5 * (double)((ulonglong)uVar7 << 0x20)); - psVar3 = psVar3 + 1; - } - return; -} - - - -void loc_7001987C(int iParm1,int iParm2,undefined8 uParm3) - -{ - byte bVar1; - double dVar2; - undefined4 uVar3; - uint uVar4; - int iVar5; - uint uVar6; - uint *puVar7; - uint uVar8; - uint *puVar9; - ulonglong uVar10; - double dVar11; - double dVar12; - - alFilterNew(iParm1,0,locret_700201D0,5); - *(undefined4 *)(iParm1 + 4) = 0x7001e148; - *(undefined4 *)(iParm1 + 0x28) = 0x7001df18; - puVar9 = &DAT_80023cb8; - switch(*(undefined *)(iParm2 + 0x1c)) { - case 1: - puVar9 = &DAT_80023b50; - break; - case 2: - puVar9 = &DAT_80023bb8; - break; - case 3: - puVar9 = &DAT_80023c68; - break; - case 4: - puVar9 = &DAT_80023c90; - break; - case 5: - puVar9 = &DAT_80023c40; - break; - case 6: - puVar9 = *(uint **)(iParm2 + 0x20); - } - uVar4 = *puVar9; - uVar8 = 2; - *(undefined *)(iParm1 + 0x24) = (char)uVar4; - *(uint *)(iParm1 + 0x1c) = puVar9[1]; - uVar3 = alHeapDBAlloc(0,0,uParm3,uVar4 & 0xff,0x28); - *(undefined4 *)(iParm1 + 0x20) = uVar3; - uVar3 = alHeapDBAlloc(0,0,uParm3,*(undefined4 *)(iParm1 + 0x1c),2); - *(undefined4 *)(iParm1 + 0x14) = uVar3; - *(undefined4 *)(iParm1 + 0x18) = uVar3; - uVar4 = 0; - if (*(int *)(iParm1 + 0x1c) != 0) { - iVar5 = *(int *)(iParm1 + 0x14); - while( true ) { - *(undefined2 *)(iVar5 + uVar4 * 2) = 0; - uVar4 = uVar4 + 1 & 0xffff; - if (*(uint *)(iParm1 + 0x1c) <= uVar4) break; - iVar5 = *(int *)(iParm1 + 0x14); - } - } - dVar2 = DAT_80024db8; - uVar10 = 0; - if (*(char *)(iParm1 + 0x24) != '\0') { - do { - uVar6 = uVar8 + 1 & 0xffff; - puVar7 = (uint *)(*(int *)(iParm1 + 0x20) + (int)uVar10 * 0x28); - *puVar7 = puVar9[uVar8]; - uVar4 = uVar6 + 1 & 0xffff; - puVar7[1] = puVar9[uVar6]; - uVar8 = uVar4 + 1 & 0xffff; - *(undefined2 *)((int)puVar7 + 10) = (short)puVar9[uVar4]; - uVar6 = uVar8 + 1 & 0xffff; - *(short *)(puVar7 + 2) = (short)puVar9[uVar8]; - uVar4 = uVar6 + 1 & 0xffff; - *(short *)(puVar7 + 3) = (short)puVar9[uVar6]; - uVar8 = uVar4 + 2; - if (puVar9[uVar4] == 0) { - puVar7[9] = 0; - } - else { - uVar8 = uVar4 + 1 & 0xffff; - dVar11 = (double)((float)puVar9[uVar4] / 1000.00000000); - dVar11 = dVar11 + dVar11; - dVar12 = (double)(puVar7[1] - *puVar7); - *(float *)(puVar7 + 4) = (float)(dVar11 / (double)*(int *)(iParm2 + 0x18)); - if ((int)(puVar7[1] - *puVar7) < 0) { - dVar12 = dVar12 + (double)((ulonglong)dVar11 & 0xffffffff00000000); - } - uVar4 = puVar9[uVar8]; - uVar8 += 1; - puVar7[5] = 0x3f800000; - puVar7[6] = 0; - *(float *)(puVar7 + 7) = (float)(((double)uVar4 / dVar2) * dVar12); - uVar4 = alHeapDBAlloc(0,0,uParm3,1,0x34); - puVar7[9] = uVar4; - uVar3 = alHeapDBAlloc(0,0,uParm3,1,0x20); - *(undefined4 *)(puVar7[9] + 0x14) = uVar3; - *(undefined4 *)(puVar7[9] + 0x20) = 0; - *(undefined4 *)(puVar7[9] + 0x24) = 1; - } - if (puVar9[uVar8 & 0xffff] == 0) { - puVar7[8] = 0; - bVar1 = *(byte *)(iParm1 + 0x24); - } - else { - uVar4 = alHeapDBAlloc(0,0,uParm3,1,0x30); - puVar7[8] = uVar4; - uVar3 = alHeapDBAlloc(0,0,uParm3,1,8); - *(undefined4 *)(puVar7[8] + 0x28) = uVar3; - *(undefined2 *)puVar7[8] = (short)puVar9[uVar8 & 0xffff]; - locret_70019478(puVar7[8]); - bVar1 = *(byte *)(iParm1 + 0x24); - } - uVar8 = (uVar8 & 0xffff) + 1 & 0xffff; - uVar10 = (longlong)((int)uVar10 + 1) & 0xffff; - } while (uVar10 < (ulonglong)bVar1); - } - return; -} - - - -int alSynAllocFX(int iParm1,short sParm2,undefined8 uParm3,undefined8 uParm4) - -{ - int iVar1; - - iVar1 = (int)sParm2 * 0x4c; - loc_7001987C(*(int *)(iParm1 + 0x34) + iVar1 + 0x20,uParm3,uParm4); - locret_700201D0(*(int *)(iParm1 + 0x34) + iVar1 + 0x20,1); - alMainBusPull(*(undefined4 *)(iParm1 + 0x30),2,*(int *)(iParm1 + 0x34) + iVar1 + 0x20); - return *(int *)(iParm1 + 0x34) + iVar1 + 0x20; -} - - - -undefined8 alMainBusPull(int iParm1,longlong lParm2,undefined4 uParm3) - -{ - if (lParm2 == 2) { - *(undefined4 *)(*(int *)(iParm1 + 0x1c) + *(int *)(iParm1 + 0x14) * 4) = uParm3; - *(int *)(iParm1 + 0x14) = *(int *)(iParm1 + 0x14) + 1; - } - return 0; -} - - - -undefined4 * -loc_70019A7C(int iParm1,undefined8 uParm2,undefined8 uParm3,undefined8 uParm4,undefined4 *puParm5) - -{ - uint uVar1; - int iVar2; - int *piVar3; - - piVar3 = *(int **)(iParm1 + 0x1c); - uVar1 = (int)uParm3 << 1; - *puParm5 = 0x2000440; - puParm5[1] = uVar1; - puParm5[2] = 0x2000580; - puParm5[3] = uVar1; - iVar2 = 0; - puParm5 = puParm5 + 4; - if (0 < *(int *)(iParm1 + 0x14)) { - do { - puParm5 = (undefined4 *)(**(code **)(*piVar3 + 4))(*piVar3,uParm2,uParm3,uParm4,puParm5); - *puParm5 = 0x8000000; - puParm5[1] = uVar1 & 0xffff; - puParm5[3] = 0x6c00440; - puParm5[2] = 0xc007fff; - puParm5[5] = 0x8000580; - puParm5[4] = 0xc007fff; - iVar2 += 1; - piVar3 = piVar3 + 1; - puParm5 = puParm5 + 6; - } while (iVar2 < *(int *)(iParm1 + 0x14)); - } - return puParm5; -} - - - -void alAdpcmPull(int iParm1,longlong lParm2,undefined4 *puParm3) - -{ - undefined4 uVar1; - int iVar2; - undefined4 *puVar3; - - if (lParm2 == 4) { - puVar3 = *(undefined4 **)(iParm1 + 0x28); - *(undefined4 *)(iParm1 + 0x3c) = 0; - *(undefined4 *)(iParm1 + 0x40) = 1; - *(undefined4 *)(iParm1 + 0x38) = 0; - if (puVar3 != NULL) { - *(undefined4 *)(iParm1 + 0x44) = *puVar3; - if (*(char *)(puVar3 + 2) == '\0') { - if (puVar3[3] != 0) { - *(undefined4 *)(iParm1 + 0x24) = *(undefined4 *)(puVar3[3] + 8); - } - } - else { - if ((*(char *)(puVar3 + 2) == '\x01') && (puVar3[3] != 0)) { - *(undefined4 *)(iParm1 + 0x24) = *(undefined4 *)(puVar3[3] + 8); - } - } - } - } - else { - if (lParm2 == 5) { - *(undefined4 **)(iParm1 + 0x28) = puParm3; - uVar1 = *puParm3; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(undefined4 *)(iParm1 + 0x44) = uVar1; - if (*(char *)(puParm3 + 2) == '\0') { - *(undefined4 *)(iParm1 + 4) = 0x7001871c; - iVar2 = *(int *)(*(int *)(iParm1 + 0x28) + 4); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - *(int *)(*(int *)(iParm1 + 0x28) + 4) = (iVar2 / 9) * 9; - iVar2 = *(int *)(iParm1 + 0x28); - *(int *)(iParm1 + 0x2c) = **(int **)(iVar2 + 0x10) * 0x10 * (*(int **)(iVar2 + 0x10))[1]; - if (*(undefined4 **)(iVar2 + 0xc) == NULL) { - *(undefined4 *)(iParm1 + 0x24) = 0; - *(undefined4 *)(iParm1 + 0x20) = 0; - *(undefined4 *)(iParm1 + 0x1c) = 0; - } - else { - *(undefined4 *)(iParm1 + 0x1c) = **(undefined4 **)(iVar2 + 0xc); - *(undefined4 *)(iParm1 + 0x20) = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 4); - *(undefined4 *)(iParm1 + 0x24) = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 8); - alCopy(*(int *)(iVar2 + 0xc) + 0xc,*(undefined4 *)(iParm1 + 0x18),0x20); - } - } - else { - if (*(char *)(puParm3 + 2) == '\x01') { - iVar2 = *(int *)(iParm1 + 0x28); - *(undefined4 *)(iParm1 + 4) = 0x70018244; - if (*(undefined4 **)(iVar2 + 0xc) == NULL) { - *(undefined4 *)(iParm1 + 0x24) = 0; - *(undefined4 *)(iParm1 + 0x20) = 0; - *(undefined4 *)(iParm1 + 0x1c) = 0; - } - else { - *(undefined4 *)(iParm1 + 0x1c) = **(undefined4 **)(iVar2 + 0xc); - *(undefined4 *)(iParm1 + 0x20) = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 4); - *(undefined4 *)(iParm1 + 0x24) = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 8); - } - } - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x70018438) overlaps instruction at (ram,0x70018434) -// - -uint * loc_7001A014(int iParm1,short *psParm2,uint uParm3,undefined8 uParm4,uint *puParm5) - -{ - short sVar1; - int *piVar2; - bool bVar3; - uint uVar5; - ulonglong uVar4; - int iVar6; - short sVar9; - int iVar7; - uint uVar8; - uint uVar10; - ulonglong uVar11; - int iVar12; - uint *puVar13; - uint uVar14; - uint uVar15; - - if (uParm3 != 0) { - if (*(uint *)(iParm1 + 0x20) < *(int *)(iParm1 + 0x38) + uParm3) { - uVar14 = *(uint *)(iParm1 + 0x20) - *(int *)(iParm1 + 0x38); - if (*(int *)(iParm1 + 0x24) != 0) { - uVar15 = uVar14 * 2; - if ((int)uVar14 < 1) { - sVar9 = 0; - } - else { - uVar5 = (**(code **)(iParm1 + 0x30)) - (*(undefined4 *)(iParm1 + 0x44),uVar15,*(undefined4 *)(iParm1 + 0x34)); - uVar8 = uVar5 & 7; - sVar1 = *psParm2; - sVar9 = (short)uVar8; - puParm5[1] = ((uVar15 + uVar8) - (uVar15 + uVar8 & 7)) + 8 & 0xffff; - *puParm5 = (int)sVar1 & 0xffffU | 0x8000000; - puParm5[3] = uVar5 - uVar8; - puParm5[2] = 0x4000000; - puParm5 = puParm5 + 4; - } - *psParm2 = *psParm2 + sVar9; - iVar6 = **(int **)(iParm1 + 0x28); - *(int *)(iParm1 + 0x38) = *(int *)(iParm1 + 0x1c); - *(int *)(iParm1 + 0x44) = iVar6 + *(int *)(iParm1 + 0x1c) * 2; - uVar11 = SEXT28(*psParm2); - if ((int)uVar14 < (int)uParm3) { - iVar6 = *(int *)(iParm1 + 0x24); - puVar13 = puParm5; - while( true ) { - iVar12 = (int)uVar11 + uVar15; - uParm3 -= uVar14; - if ((iVar6 != -1) && (iVar6 != 0)) { - *(int *)(iParm1 + 0x24) = iVar6 + -1; - } - uVar14 = *(int *)(iParm1 + 0x20) - *(int *)(iParm1 + 0x1c); - if (uParm3 < uVar14) { - uVar14 = uParm3; - } - uVar15 = uVar14 * 2; - uVar4 = (**(code **)(iParm1 + 0x30)) - (*(undefined4 *)(iParm1 + 0x44),uVar15,*(undefined4 *)(iParm1 + 0x34)) - ; - uVar11 = SEXT48(iVar12); - iVar6 = (int)(uVar4 & 7); - if ((uVar11 & 7) == 0) { - iVar7 = 0; - } - else { - iVar7 = 8 - (int)(uVar11 & 7); - } - puVar13[1] = ((uVar15 + iVar6) - (uVar15 + iVar6 & 7)) + 8 & 0xffff; - *puVar13 = iVar12 + iVar7 & 0xffffU | 0x8000000; - puVar13[2] = 0x4000000; - puVar13[3] = (int)uVar4 - iVar6; - puParm5 = puVar13 + 4; - if (((uVar4 & 7) != 0) || (iVar7 != 0)) { - *puParm5 = iVar12 + iVar6 + iVar7 & 0xffffffU | 0xa000000; - puVar13[5] = iVar12 * 0x10000 | uVar15 & 0xffff; - puParm5 = puVar13 + 6; - } - if ((int)uParm3 <= (int)uVar14) break; - iVar6 = *(int *)(iParm1 + 0x24); - puVar13 = puParm5; - } - } - *(int *)(iParm1 + 0x38) = *(int *)(iParm1 + 0x38) + uParm3; - *(int *)(iParm1 + 0x44) = *(int *)(iParm1 + 0x44) + uParm3 * 2; - return puParm5; - } - piVar2 = *(int **)(iParm1 + 0x28); - } - else { - piVar2 = *(int **)(iParm1 + 0x28); - } - uVar14 = uParm3 * 2; - iVar6 = *(int *)(iParm1 + 0x44) + uVar14; - uVar15 = (iVar6 - *piVar2) - piVar2[1]; - if ((int)uVar15 < 0) { - uVar15 = 0; - bVar3 = (int)uVar14 < 0; - } - else { - bVar3 = (int)uVar14 < (int)uVar15; - } - uVar5 = uVar14; - if (!bVar3) { - uVar5 = uVar15; - } - if (bVar3 || (int)uVar14 <= (int)uVar15) { - *(int *)(iParm1 + 0x44) = iVar6; - } - else { - sVar9 = 0; - if (0 < (int)uParm3) { - uVar15 = (**(code **)(iParm1 + 0x30)) - (*(int *)(iParm1 + 0x44),uVar14 - uVar5,*(undefined4 *)(iParm1 + 0x34)); - uVar8 = uVar15 & 7; - sVar1 = *psParm2; - sVar9 = (short)uVar8; - uVar10 = (uVar14 - uVar5) + uVar8; - puParm5[1] = (uVar10 - (uVar10 & 7)) + 8 & 0xffff; - *puParm5 = (int)sVar1 & 0xffffU | 0x8000000; - puParm5[3] = uVar15 - uVar8; - puParm5[2] = 0x4000000; - puParm5 = puParm5 + 4; - } - *psParm2 = *psParm2 + sVar9; - *(int *)(iParm1 + 0x38) = *(int *)(iParm1 + 0x38) + uParm3; - *(int *)(iParm1 + 0x44) = *(int *)(iParm1 + 0x44) + uVar14; - } - iVar6 = uVar14 - uVar5; - if (uVar5 != 0) { - if (iVar6 < 0) { - iVar6 = 0; - } - *puParm5 = (int)*psParm2 + iVar6 & 0xffffffU | 0x2000000; - puParm5[1] = uVar5; - puParm5 = puParm5 + 2; - } - } - return puParm5; -} - - - -uint * loc_7001A0E8(void) - -{ - uint uVar1; - uint uVar2; - uint *unaff_s0_lo; - longlong unaff_s1; - uint uVar3; - int unaff_s2_lo; - short unaff_s3_lo; - ulonglong unaff_s4; - short unaff_s5_lo; - uint unaff_s6_lo; - - if (unaff_s1 < 1) { - uVar2 = 0; - } - else { - uVar1 = (**(code **)(unaff_s2_lo + 0x30)) - (*(undefined4 *)(unaff_s2_lo + 0x44),unaff_s1, - *(undefined4 *)(unaff_s2_lo + 0x34)); - uVar2 = uVar1 & 7; - uVar3 = (int)unaff_s1 + uVar2; - *unaff_s0_lo = (int)unaff_s3_lo & 0xffffU | 0x8000000; - unaff_s0_lo[1] = (uVar3 - (uVar3 & 7)) + 8 & 0xffff; - unaff_s0_lo[2] = 0x4000000; - unaff_s0_lo[3] = uVar1 - uVar2; - unaff_s0_lo = unaff_s0_lo + 4; - } - if ((unaff_s4 & 2) != 0) { - *unaff_s0_lo = 0xf000000; - unaff_s0_lo[1] = *(uint *)(unaff_s2_lo + 0x18) & 0x1fffffff; - unaff_s0_lo = unaff_s0_lo + 2; - } - *unaff_s0_lo = (int)unaff_s3_lo + uVar2 & 0xffff | 0x8000000; - unaff_s0_lo[1] = (int)unaff_s5_lo << 0x10 | (unaff_s6_lo & 0x7fff) << 1; - unaff_s0_lo[2] = ((uint)unaff_s4 & 0xff) << 0x10 | 0x1000000; - unaff_s0_lo[3] = *(uint *)(unaff_s2_lo + 0x14) & 0x1fffffff; - *(undefined4 *)(unaff_s2_lo + 0x40) = 0; - return unaff_s0_lo + 4; -} - - - -uint * loc_7001A5CC(int iParm1,short *psParm2,uint uParm3,undefined8 uParm4,uint *puParm5) - -{ - short sVar1; - bool bVar2; - bool bVar3; - uint uVar4; - int iVar5; - uint uVar6; - int iVar8; - longlong lVar7; - int iVar9; - uint *puVar10; - int iVar11; - int iVar12; - - bVar3 = false; - if (uParm3 != 0) { - *puParm5 = *(uint *)(iParm1 + 0x2c) & 0xffffff | 0xb000000; - puVar10 = puParm5 + 2; - iVar8 = 0; - puParm5[1] = *(int *)(*(int *)(iParm1 + 0x28) + 0x10) + 8U & 0x1fffffff; - bVar2 = *(uint *)(iParm1 + 0x20) < *(int *)(iParm1 + 0x38) + uParm3; - if (bVar2) { - bVar2 = *(int *)(iParm1 + 0x24) != 0; - } - uVar6 = uParm3; - if (bVar2) { - uVar6 = *(uint *)(iParm1 + 0x20) - *(int *)(iParm1 + 0x38); - } - if (*(int *)(iParm1 + 0x3c) != 0) { - iVar8 = 0x10 - *(int *)(iParm1 + 0x3c); - } - iVar5 = uVar6 - iVar8; - if (iVar5 < 0) { - iVar5 = 0; - } - if (bVar2) { - iVar8 = iVar5 + 0xf >> 4; - puParm5 = (uint *)loc_7001A0E8(); - if (*(int *)(iParm1 + 0x3c) == 0) { - *psParm2 = *psParm2 + 0x20; - } - else { - *psParm2 = *psParm2 + (short)(*(int *)(iParm1 + 0x3c) << 1); - } - uVar4 = *(uint *)(iParm1 + 0x1c); - *(uint *)(iParm1 + 0x3c) = uVar4 & 0xf; - *(int *)(iParm1 + 0x44) = **(int **)(iParm1 + 0x28) + (uVar4 >> 4) * 9 + 9; - *(uint *)(iParm1 + 0x38) = uVar4; - lVar7 = (longlong)*psParm2; - if ((int)uVar6 < (int)uParm3) { - uVar4 = uVar6 << 1; - do { - iVar12 = iVar8 + 1; - iVar8 = *(int *)(iParm1 + 0x24); - iVar5 = (int)lVar7; - uParm3 -= uVar6; - iVar9 = iVar5 + uVar4; - if ((iVar8 != -1) && (iVar8 != 0)) { - *(int *)(iParm1 + 0x24) = iVar8 + -1; - } - uVar6 = *(int *)(iParm1 + 0x20) - *(int *)(iParm1 + 0x1c); - if (uParm3 < uVar6) { - uVar6 = uParm3; - } - iVar8 = uVar6 + *(int *)(iParm1 + 0x3c) + -0x10; - if (iVar8 < 0) { - iVar8 = 0; - } - iVar8 = iVar8 + 0xf >> 4; - puParm5 = (uint *)loc_7001A0E8(); - lVar7 = (longlong)iVar9; - uVar4 = uVar6 << 1; - *puParm5 = *(int *)(iParm1 + 0x3c) * 2 + (iVar12 * 0x20 + iVar5 & 0xffffffe0U) & 0xffffff - | 0xa000000; - puParm5[1] = iVar9 * 0x10000 | uVar4 & 0xffff; - puParm5 = puParm5 + 2; - } while ((int)uVar6 < (int)uParm3); - } - *(uint *)(iParm1 + 0x3c) = *(int *)(iParm1 + 0x3c) + uParm3 & 0xf; - *(int *)(iParm1 + 0x38) = *(int *)(iParm1 + 0x38) + uParm3; - *(int *)(iParm1 + 0x44) = *(int *)(iParm1 + 0x44) + iVar8 * 9; - } - else { - iVar12 = iVar5 + 0xf >> 4; - iVar5 = iVar12 * 9; - iVar11 = *(int *)(iParm1 + 0x44) + iVar5; - iVar9 = (iVar11 - **(int **)(iParm1 + 0x28)) - (*(int **)(iParm1 + 0x28))[1]; - iVar12 *= 0x10; - if (iVar9 < 0) { - iVar9 = 0; - } - uVar6 = iVar9 / 9 << 4; - uVar4 = iVar12 + iVar8; - if ((int)uVar4 < (int)uVar6) { - uVar6 = uVar4; - } - if ((int)(uVar6 - (uVar6 & 0xf)) < (int)uParm3) { - puVar10 = (uint *)loc_7001A0E8(uVar6,iVar12,iVar5 - iVar9); - bVar3 = true; - if (*(int *)(iParm1 + 0x3c) == 0) { - *psParm2 = *psParm2 + 0x20; - } - else { - *psParm2 = *psParm2 + (short)(*(int *)(iParm1 + 0x3c) << 1); - } - *(uint *)(iParm1 + 0x3c) = *(int *)(iParm1 + 0x3c) + uParm3 & 0xf; - *(int *)(iParm1 + 0x38) = *(int *)(iParm1 + 0x38) + uParm3; - *(int *)(iParm1 + 0x44) = *(int *)(iParm1 + 0x44) + iVar5; - } - else { - *(undefined4 *)(iParm1 + 0x3c) = 0; - *(int *)(iParm1 + 0x44) = iVar11; - } - puParm5 = puVar10; - if (uVar6 != 0) { - *(undefined4 *)(iParm1 + 0x3c) = 0; - if (bVar3) { - iVar8 = (uVar4 - uVar6) * 2; - } - else { - iVar8 = 0; - } - sVar1 = *psParm2; - puVar10[1] = uVar6 << 1; - *puVar10 = (int)sVar1 + iVar8 & 0xffffffU | 0x2000000; - puParm5 = puVar10 + 2; - } - } - } - return puParm5; -} - - - -undefined8 FUN_70018bc0(int *piParm1,undefined4 uParm2,int iParm3) - -{ - int iVar1; - - if (false) { -switchD_70018be8_caseD_2: - if (*piParm1 != 0) { - (**(code **)(*piParm1 + 8))(); - } - } - else { - switch(uParm2) { - case 1: - *piParm1 = iParm3; - break; - default: - goto switchD_70018be8_caseD_2; - case 4: - iVar1 = *piParm1; - piParm1[9] = 1; - piParm1[0xc] = 0; - piParm1[7] = 0; - piParm1[8] = 0; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,4,0); - } - break; - case 7: - piParm1[6] = iParm3; - break; - case 8: - piParm1[7] = 1; - break; - case 9: - iVar1 = *piParm1; - piParm1[0xc] = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,9,0); - } - } - } - return 0; -} - - - -uint * loc_7001A8E4(int *piParm1,short *psParm2,longlong lParm3,undefined8 uParm4,uint *puParm5) - -{ - int iVar1; - uint *puVar2; - uint uVar3; - float fVar4; - int iVar5; - short sStack10; - uint *puStack8; - - iVar1 = *piParm1; - sStack10 = 0x140; - puStack8 = puParm5; - if (lParm3 != 0) { - uVar3 = (uint)lParm3; - if (piParm1[7] == 0) { - fVar4 = (float)piParm1[6]; - if (DAT_80024de8 < (double)fVar4) { - piParm1[6] = DAT_80024df0; - fVar4 = (float)piParm1[6]; - } - *(float *)(piParm1 + 6) = (float)(int)(fVar4 * 32768.00000000); - *(float *)(piParm1 + 6) = (float)piParm1[6] / 32768.00000000; - fVar4 = (float)piParm1[8] + (float)piParm1[6] * (float)uVar3; - iVar5 = (int)fVar4; - *(float *)(piParm1 + 8) = fVar4 - (float)iVar5; - puVar2 = (uint *)(**(code **)(iVar1 + 4))(iVar1,&sStack10,iVar5,uParm4,puParm5); - fVar4 = (float)piParm1[6]; - *puVar2 = (int)sStack10 & 0xffffU | 0x8000000; - puVar2[1] = (int)*psParm2 << 0x10 | (uVar3 & 0x7fff) << 1; - puVar2[2] = (piParm1[9] & 0xffU) << 0x10 | 0x5000000 | (int)(fVar4 * 32768.00000000) & 0xffffU - ; - puStack8 = puVar2 + 4; - uVar3 = osVirtualToPhysical(piParm1[5]); - puVar2[3] = uVar3; - piParm1[9] = 0; - } - else { - puVar2 = (uint *)(**(code **)(iVar1 + 4))(iVar1,&sStack10,lParm3,uParm4,puParm5); - *puVar2 = (int)sStack10 & 0xffffffU | 0xa000000; - puStack8 = puVar2 + 2; - puVar2[1] = (int)*psParm2 << 0x10 | (uVar3 & 0x7fff) << 1; - } - } - return puStack8; -} - - - -undefined8 loc_7001AAE4(int *piParm1,longlong lParm2,int iParm3) - -{ - int iVar1; - - if (lParm2 == 1) { - *piParm1 = iParm3; - } - else { - if (lParm2 == 3) { - if ((int *)piParm1[0x10] == NULL) { - piParm1[0xf] = iParm3; - } - else { - *(int *)piParm1[0x10] = iParm3; - } - piParm1[0x10] = iParm3; - } - else { - if (lParm2 == 4) { - iVar1 = *piParm1; - piParm1[0xe] = 1; - piParm1[0x12] = 0; - *(undefined2 *)((int)piParm1 + 0x1a) = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,4); - } - } - else { - if (lParm2 == 9) { - iVar1 = *piParm1; - piParm1[0x12] = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,9); - } - } - else { - if (*piParm1 != 0) { - (**(code **)(*piParm1 + 8))(); - } - } - } - } - } - return 0; -} - - - -int loc_7001AB74(float fParm1,float fParm2,longlong lParm3,undefined2 *puParm4) - -{ - float fVar1; - uint in_register_00001020; - short sVar2; - double dVar3; - - if (lParm3 != 0) { - dVar3 = (double)((fParm1 - fParm2) / (float)(int)lParm3) * - (double)((ulonglong)in_register_00001020 << 0x20); - fVar1 = (float)dVar3; - if (fVar1 < 0.00000000) { - fVar1 = fVar1 - 1.00000000; - sVar2 = (short)(int)fVar1; - } - else { - sVar2 = (short)(int)dVar3; - } - *puParm4 = (short)(int)((fVar1 - (float)(int)sVar2) * DAT_80024ed4); - return (int)sVar2; - } - if (fParm1 < fParm2) { - *puParm4 = 0; - return 0xffff8000; - } - *puParm4 = 0xffff; - return 0x7fff; -} - - - -uint * FUN_70019174(void) - -{ - int iVar1; - uint *puVar2; - undefined2 uVar4; - uint uVar3; - int *unaff_s0_lo; - longlong unaff_s2; - short *unaff_s3_lo; - uint *unaff_s4_lo; - uint uVar5; - short *unaff_s5_lo; - undefined8 unaff_s6; - - iVar1 = *unaff_s0_lo; - if (unaff_s2 != 0) { - if (iVar1 == 0) { - FUN_7000bca4(s______ASSERTION_FAULT____s____s__l_80024e98,s_source_80024ec4,s_env_c_80024ecc, - 0x175); - } - puVar2 = (uint *)(**(code **)(iVar1 + 4))(iVar1,unaff_s5_lo,unaff_s2,unaff_s6); - uVar5 = (int)unaff_s2 << 1; - *puVar2 = (int)*unaff_s5_lo & 0xffffU | 0x8000000; - puVar2[1] = ((int)*unaff_s3_lo + 0x440) * 0x10000 | uVar5 & 0xffff; - puVar2[2] = (int)*unaff_s3_lo + 0x580U & 0xffff | 0x8080000; - puVar2[3] = (int)*unaff_s3_lo + 0x800U & 0xffff | ((int)*unaff_s3_lo + 0x6c0) * 0x10000; - if (unaff_s0_lo[0xe] == 0) { - puVar2[4] = 0x3080000; - unaff_s4_lo = puVar2 + 6; - uVar3 = osVirtualToPhysical(unaff_s0_lo[5]); - puVar2[5] = uVar3; - } - else { - unaff_s0_lo[0xe] = 0; - *(short *)(unaff_s0_lo + 10) = - (short)((int)*(short *)((int)&DAT_80023ce0 + (int)*(short *)(unaff_s0_lo + 6) * 2) * - (int)*(short *)((int)unaff_s0_lo + 0x1a) >> 0xf); - uVar4 = loc_7001AB74((float)(int)*(short *)(unaff_s0_lo + 10), - (float)(int)*(short *)(unaff_s0_lo + 7),unaff_s0_lo[0xd],unaff_s0_lo + 9) - ; - *(undefined2 *)((int)unaff_s0_lo + 0x26) = uVar4; - *(undefined2 *)((int)unaff_s0_lo + 0x2e) = - (short)((int)*(short *)(&DAT_80023dde + (int)*(short *)(unaff_s0_lo + 6) * -2) * - (int)*(short *)((int)unaff_s0_lo + 0x1a) >> 0xf); - uVar4 = loc_7001AB74((float)(int)*(short *)((int)unaff_s0_lo + 0x2e), - (float)(int)*(short *)((int)unaff_s0_lo + 0x1e),unaff_s0_lo[0xd], - (int)unaff_s0_lo + 0x2a); - *(undefined2 *)(unaff_s0_lo + 0xb) = uVar4; - puVar2[4] = (int)*(short *)(unaff_s0_lo + 7) & 0xffffU | 0x9060000; - puVar2[5] = 0; - puVar2[6] = (int)*(short *)((int)unaff_s0_lo + 0x1e) & 0xffffU | 0x9040000; - puVar2[7] = 0; - puVar2[8] = (int)*(short *)(unaff_s0_lo + 10) & 0xffffU | 0x9020000; - puVar2[9] = CONCAT22(*(undefined2 *)((int)unaff_s0_lo + 0x26),*(undefined2 *)(unaff_s0_lo + 9) - ); - puVar2[10] = (int)*(short *)((int)unaff_s0_lo + 0x2e) & 0xffffU | 0x9000000; - puVar2[0xb] = CONCAT22(*(undefined2 *)(unaff_s0_lo + 0xb), - *(undefined2 *)((int)unaff_s0_lo + 0x2a)); - puVar2[0xc] = (int)*(short *)(unaff_s0_lo + 8) & 0xffffU | 0x9080000; - puVar2[0xd] = (int)*(short *)((int)unaff_s0_lo + 0x22) & 0xffff; - puVar2[0xe] = 0x3090000; - unaff_s4_lo = puVar2 + 0x10; - uVar3 = osVirtualToPhysical(unaff_s0_lo[5]); - puVar2[0xf] = uVar3; - } - *unaff_s5_lo = *unaff_s5_lo + (short)uVar5; - } - return unaff_s4_lo; -} - - - -undefined4 loc_7001B4A0(int *piParm1,undefined8 uParm2,int iParm3,int iParm4,undefined4 uParm5) - -{ - int iVar1; - code *pcVar2; - undefined4 uVar3; - int iVar4; - short sVar5; - float fVar6; - ulonglong unaff_f20; - ulonglong unaff_f22; - int iStackX8; - int iStack20; - undefined4 uStack4; - - uStack4 = uParm5; - if (piParm1[0xf] == 0) { - iVar4 = piParm1[0x12]; - iStackX8 = iParm3; - } - else { - iVar4 = piParm1[0xf]; - iStackX8 = iParm3; - iStack20 = iParm4; - while( true ) { - iVar1 = *(int *)(iVar4 + 4); - iStack20 = iVar1 - iStack20; - if (iStackX8 < iStack20) break; - if (iStack20 < 0) { - FUN_7000bca4(s______ASSERTION_FAULT____s____s__l_80024e00,s_samples____0_80024e2c, - s_env_c_80024e3c,0x68); - } - if (0xa0 < iStack20) { - FUN_7000bca4(s______ASSERTION_FAULT____s____s__l_80024e44, - s_samples____AL_MAX_RSP_SAMPLES_80024e70,s_env_c_80024e90,0x69); - } - uVar3 = DAT_800231e0; - iVar4 = piParm1[0xf]; - if (false) { -switchD_7001952c_caseD_1: - uStack4 = FUN_70019174(); - piParm1[0xc] = piParm1[0xc] + iStack20; - (*(code *)piParm1[2]) - (piParm1,*(undefined2 *)(piParm1[0xf] + 8),*(undefined4 *)(piParm1[0xf] + 0xc)); - } - else { - switch(*(undefined2 *)(iVar4 + 8)) { - case 0: - *(undefined4 *)(*(int *)(iVar4 + 0xc) + 0xd8) = 0; - FUN_7000e850(uVar3,*(undefined4 *)(iVar4 + 0xc)); - break; - default: - goto switchD_7001952c_caseD_1; - case 0xb: - case 0xc: - case 0x10: - uStack4 = FUN_70019174(); - iVar4 = piParm1[0xc] + iStack20; - piParm1[0xc] = iVar4; - if (iVar4 < piParm1[0xd]) { - fVar6 = (float)(uint)*(ushort *)(piParm1 + 9); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(short *)(piParm1 + 7) = - (short)(int)((double)(int)*(short *)(piParm1 + 7) + - (double)((float)((double)((float)((int)*(short *)((int)piParm1 + 0x26) - << 0x10) + fVar6) / - (double)(unaff_f20 & 0xffffffff00000000)) * - (float)iVar4) * (double)(unaff_f22 & 0xffffffff00000000)); - fVar6 = (float)(uint)*(ushort *)((int)piParm1 + 0x2a); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(undefined2 *)((int)piParm1 + 0x1e) = - (short)(int)((double)(int)*(short *)((int)piParm1 + 0x1e) + - (double)((float)((double)((float)((int)*(short *)(piParm1 + 0xb) << - 0x10) + fVar6) / - (double)(unaff_f20 & 0xffffffff00000000)) * - (float)iVar4) * (double)(unaff_f22 & 0xffffffff00000000)); - } - else { - *(short *)(piParm1 + 10) = - (short)((int)*(short *)((int)&DAT_80023ce0 + (int)*(short *)(piParm1 + 6) * 2) * - (int)*(short *)((int)piParm1 + 0x1a) >> 0xf); - sVar5 = *(short *)(&DAT_80023dde + (int)*(short *)(piParm1 + 6) * -2); - piParm1[0xc] = piParm1[0xd]; - *(undefined2 *)(piParm1 + 7) = *(undefined2 *)(piParm1 + 10); - *(undefined2 *)((int)piParm1 + 0x2e) = - (short)((int)sVar5 * (int)*(short *)((int)piParm1 + 0x1a) >> 0xf); - *(undefined2 *)((int)piParm1 + 0x1e) = *(undefined2 *)((int)piParm1 + 0x2e); - } - if (*(short *)(piParm1 + 7) == 0) { - *(undefined2 *)(piParm1 + 7) = 1; - sVar5 = *(short *)((int)piParm1 + 0x1e); - } - else { - sVar5 = *(short *)((int)piParm1 + 0x1e); - } - if (sVar5 == 0) { - *(undefined2 *)((int)piParm1 + 0x1e) = 1; - iVar4 = piParm1[0xf]; - } - else { - iVar4 = piParm1[0xf]; - } - sVar5 = *(short *)(iVar4 + 8); - if (sVar5 == 0xc) { - *(short *)(piParm1 + 6) = (short)*(undefined4 *)(iVar4 + 0xc); - sVar5 = *(short *)(iVar4 + 8); - } - if (sVar5 == 0xb) { - piParm1[0xc] = 0; - *(undefined2 *)((int)piParm1 + 0x1a) = - (short)(*(int *)(iVar4 + 0xc) * *(int *)(iVar4 + 0xc) >> 0xf); - piParm1[0xd] = *(int *)(iVar4 + 0x10); - sVar5 = *(short *)(iVar4 + 8); - } - if (sVar5 == 0x10) { - *(undefined2 *)(piParm1 + 8) = - *(undefined2 *)((int)&DAT_80023ce0 + *(int *)(iVar4 + 0xc) * 2); - *(undefined2 *)((int)piParm1 + 0x22) = - *(undefined2 *)(&DAT_80023dde + *(int *)(iVar4 + 0xc) * -2); - } - piParm1[0xe] = 1; - break; - case 0xd: - if (*(short *)(iVar4 + 10) == 0) { - pcVar2 = (code *)piParm1[2]; - } - else { - (*(code *)piParm1[2])(piParm1,8,0); - pcVar2 = (code *)piParm1[2]; - } - (*pcVar2)(piParm1,5,*(undefined4 *)(iVar4 + 0x18)); - (*(code *)piParm1[2])(piParm1,9,0); - piParm1[0xe] = 1; - piParm1[0xc] = 0; - piParm1[0xd] = *(int *)(iVar4 + 0x14); - *(undefined2 *)((int)piParm1 + 0x1a) = - (short)((int)*(short *)(iVar4 + 0x10) * (int)*(short *)(iVar4 + 0x10) >> 0xf); - *(ushort *)(piParm1 + 6) = (ushort)*(byte *)(iVar4 + 0x12); - *(undefined2 *)(piParm1 + 8) = - *(undefined2 *)((int)&DAT_80023ce0 + (uint)*(byte *)(iVar4 + 0x13) * 2); - *(undefined2 *)((int)piParm1 + 0x22) = - *(undefined2 *)(&DAT_80023dde + (uint)*(byte *)(iVar4 + 0x13) * -2); - if (*(int *)(iVar4 + 0x14) == 0) { - *(short *)(piParm1 + 7) = - (short)((int)*(short *)((int)&DAT_80023ce0 + (int)*(short *)(piParm1 + 6) * 2) * - (int)*(short *)((int)piParm1 + 0x1a) >> 0xf); - *(undefined2 *)((int)piParm1 + 0x1e) = - (short)((int)*(short *)(&DAT_80023dde + (int)*(short *)(piParm1 + 6) * -2) * - (int)*(short *)((int)piParm1 + 0x1a) >> 0xf); - } - else { - *(undefined2 *)(piParm1 + 7) = 1; - *(undefined2 *)((int)piParm1 + 0x1e) = 1; - } - if (*piParm1 != 0) { - (**(code **)(*piParm1 + 8))(*piParm1,7,*(undefined4 *)(iVar4 + 0xc)); - } - break; - case 0xe: - if (*(short *)(iVar4 + 10) == 0) { - pcVar2 = (code *)piParm1[2]; - } - else { - (*(code *)piParm1[2])(piParm1,8,0); - pcVar2 = (code *)piParm1[2]; - } - (*pcVar2)(piParm1,5,*(undefined4 *)(iVar4 + 0xc)); - (*(code *)piParm1[2])(piParm1,9,0); - break; - case 0xf: - uStack4 = FUN_70019174(); - (*(code *)piParm1[2])(piParm1,4,0); - } - } - iStackX8 -= iStack20; - iVar4 = *(int *)piParm1[0xf]; - piParm1[0xf] = iVar4; - if (iVar4 == 0) { - piParm1[0x10] = 0; - } - FUN_7000e8e8(); - if (piParm1[0xf] == 0) break; - iVar4 = piParm1[0xf]; - iStack20 = iVar1; - } - iVar4 = piParm1[0x12]; - } - if (iVar4 == 1) { - uStack4 = FUN_70019174(); - piParm1[0xc] = piParm1[0xc] + iStackX8; - } - if (piParm1[0xd] < piParm1[0xc]) { - piParm1[0xc] = piParm1[0xd]; - } - return uStack4; -} - - - -undefined8 alAuxBusPull(int iParm1,longlong lParm2,undefined4 uParm3) - -{ - if (lParm2 == 2) { - *(undefined4 *)(*(int *)(iParm1 + 0x1c) + *(int *)(iParm1 + 0x14) * 4) = uParm3; - *(int *)(iParm1 + 0x14) = *(int *)(iParm1 + 0x14) + 1; - } - return 0; -} - - - -undefined4 * -loc_7001B5BC(int iParm1,undefined8 uParm2,undefined8 uParm3,undefined8 uParm4,undefined4 *puParm5) - -{ - int iVar1; - int *piVar2; - - piVar2 = *(int **)(iParm1 + 0x1c); - iVar1 = (int)uParm3 << 1; - *puParm5 = 0x20006c0; - puParm5[1] = iVar1; - puParm5[2] = 0x2000800; - puParm5[3] = iVar1; - iVar1 = 0; - puParm5 = puParm5 + 4; - if (0 < *(int *)(iParm1 + 0x14)) { - do { - puParm5 = (undefined4 *)(**(code **)(*piVar2 + 4))(*piVar2,uParm2,uParm3,uParm4,puParm5); - iVar1 += 1; - piVar2 = piVar2 + 1; - } while (iVar1 < *(int *)(iParm1 + 0x14)); - } - return puParm5; -} - - - -undefined8 alSavePull(undefined4 *puParm1,longlong lParm2,undefined4 uParm3) - -{ - if (lParm2 == 1) { - *puParm1 = uParm3; - return 0; - } - if (lParm2 == 6) { - puParm1[5] = uParm3; - return 0; - } - return 0; -} - - - -void alSavePull(int *piParm1,undefined8 uParm2,uint uParm3) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)(**(code **)(*piParm1 + 4))(); - puVar1[1] = (uParm3 & 0x7fff) << 1; - *puVar1 = 0x8000000; - puVar1[2] = 0xd000000; - puVar1[3] = 0x4400580; - puVar1[5] = (uParm3 & 0x3fff) << 2; - puVar1[4] = 0x8000000; - puVar1[6] = 0x6000000; - puVar1[7] = piParm1[5]; - return; -} - - - -undefined8 osJamMesg(int **ppiParm1,int iParm2,int iParm3) - -{ - int *piVar1; - undefined8 uVar2; - undefined8 uVar3; - int iVar4; - - uVar2 = __osRestoreInt(); - if ((int)ppiParm1[4] <= (int)ppiParm1[2]) { - do { - if (iParm3 != 1) { - __osRestoreInt(uVar2); - return 0xffffffffffffffff; - } - *(undefined2 *)(DAT_80023230 + 0x10) = 8; - FUN_7000ffdc(ppiParm1 + 1); - } while ((int)ppiParm1[4] <= (int)ppiParm1[2]); - } - piVar1 = ppiParm1[4]; - iVar4 = (int)ppiParm1[3] + (int)piVar1 + -1; - ppiParm1[3] = (int *)(iVar4 % (int)piVar1); - if (piVar1 == NULL) { - trap(0x1c00); - } - if ((piVar1 == (int *)0xffffffff) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - ppiParm1[5][(int)ppiParm1[3]] = iParm2; - ppiParm1[2] = (int *)((int)ppiParm1[2] + 1); - if (**ppiParm1 != 0) { - uVar3 = __osPopThread(ppiParm1); - osStartThread(uVar3); - } - __osRestoreInt(uVar2); - return 0; -} - - - -undefined4 FUN_70019dc0(void) - -{ - if (DAT_80020fb0 == 0) { - return 0; - } - return DAT_80020fb8; -} - - - -void osDestroyThread(undefined *puParm1) - -{ - undefined *puVar1; - undefined *puVar2; - undefined *puVar3; - undefined8 uVar4; - undefined *puStackX0; - - uVar4 = __osRestoreInt(); - if (puParm1 == NULL) { - puStackX0 = DAT_80023230; - } - else { - puStackX0 = puParm1; - if (*(short *)(puParm1 + 0x10) != 1) { - __osDequeueThread(*(undefined4 *)(puParm1 + 8),puParm1); - puStackX0 = puParm1; - } - } - if (PTR_DAT_8002322c == puStackX0) { - PTR_DAT_8002322c = *(undefined **)(PTR_DAT_8002322c + 0xc); - } - else { - puVar3 = *(undefined **)(PTR_DAT_8002322c + 0xc); - puVar2 = PTR_DAT_8002322c; - while (puVar1 = puVar3, puVar1 != NULL) { - if (puVar1 == puStackX0) { - *(undefined4 *)(puVar2 + 0xc) = *(undefined4 *)(puStackX0 + 0xc); - break; - } - puVar3 = *(undefined **)(puVar1 + 0xc); - puVar2 = puVar1; - } - } - if (puStackX0 == DAT_80023230) { - FUN_70010134(); - } - __osRestoreInt(uVar4); - return; -} - - - -void alSeqpNew(int iParm1,undefined *puParm2,int iParm3) - -{ - iParm3 *= 0x10; - *(undefined **)(*(int *)(iParm1 + 0x60) + iParm3) = puParm2; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm3 + 7) = puParm2[1]; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm3 + 9) = *puParm2; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm3 + 8) = puParm2[2]; - *(undefined2 *)(*(int *)(iParm1 + 0x60) + iParm3 + 4) = *(undefined2 *)(puParm2 + 0xc); - return; -} - - - -void __resetPerfChanState(int iParm1,int iParm2) - -{ - iParm2 *= 0x10; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm2 + 6) = 0; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm2 + 10) = 0; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm2 + 7) = 0x40; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm2 + 9) = 0x7f; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm2 + 8) = 5; - *(undefined *)(*(int *)(iParm1 + 0x60) + iParm2 + 0xb) = 0; - *(undefined2 *)(*(int *)(iParm1 + 0x60) + iParm2 + 4) = 200; - *(undefined4 *)(*(int *)(iParm1 + 0x60) + iParm2 + 0xc) = 0x3f800000; - return; -} - - - -void loc_7001BDD4(int iParm1,int iParm2) - -{ - int iVar1; - int iVar2; - longlong lVar3; - - iVar1 = *(int *)(iParm2 + 0xc); - iVar2 = iParm2; - while (iVar1 == 0) { - iVar1 = *(int *)(iVar2 + 0x10); - iVar2 = iVar2 + 4; - } - lVar3 = 0; - if (*(char *)(iParm1 + 0x34) != '\0') { - do { - __resetPerfChanState(iParm1,lVar3); - alSeqpNew(iParm1,iVar1,lVar3); - lVar3 = (longlong)((int)lVar3 + 1); - } while (lVar3 < (longlong)(ulonglong)*(byte *)(iParm1 + 0x34)); - } - if (*(int *)(iParm2 + 8) != 0) { - __resetPerfChanState(iParm1,lVar3); - alSeqpNew(iParm1,*(undefined4 *)(iParm2 + 8),9); - } - return; -} - - - -int locret_7001BE0C(int iParm1,int iParm2) - -{ - iParm2 = *(int *)(iParm1 + 0x24) - iParm2; - if (-1 < iParm2) { - return iParm2; - } - return 1000; -} - - - -undefined2 __vsVol(int iParm1,int iParm2) - -{ - return (short)((uint)(((int)((uint)*(byte *)(iParm1 + 0x36) * (uint)*(byte *)(iParm1 + 0x33) * - (uint)*(byte *)(iParm1 + 0x30)) >> 6) * - ((int)((uint)*(byte *)(*(int *)(iParm2 + 0x60) + - (uint)*(byte *)(iParm1 + 0x31) * 0x10 + 9) * - (uint)*(byte *)(*(int *)(iParm1 + 0x20) + 0xd) * - (int)*(short *)(iParm2 + 0x32)) >> 0xe)) >> 0xf); -} - - - -void loc_7001BF40(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - int *piVar2; - int *piVar3; - undefined2 auStack16 [2]; - int iStack12; - - iVar1 = *(int *)(iParm2 + 0x10); - if (*(char *)(iVar1 + 0x34) == '\0') { - piVar3 = *(int **)(iParm1 + 0x50); - while (piVar2 = piVar3, piVar2 != NULL) { - piVar3 = (int *)*piVar2; - if ((*(short *)(piVar2 + 3) == 6) && (iParm2 == piVar2[4])) { - if (piVar3 != NULL) { - piVar3[2] = piVar3[2] + piVar2[2]; - } - alInit(piVar2); - locret_7000EADC(piVar2,iParm1 + 0x48); - } - } - } - *(undefined *)(iVar1 + 0x33) = 0; - *(undefined *)(iVar1 + 0x34) = 3; - *(undefined *)(iVar1 + 0x30) = 0; - *(int *)(iVar1 + 0x24) = *(int *)(iParm1 + 0x1c) + iParm3; - alSynSetPriority(*(undefined4 *)(iParm1 + 0x14),iParm2,0); - alSynSetVol(*(undefined4 *)(iParm1 + 0x14),iParm2,0,iParm3); - auStack16[0] = 5; - iStack12 = iParm2; - FUN_7001272c(iParm1 + 0x48,auStack16,iParm3); - return; -} - - - -undefined8 loc_7001C05C(int iParm1,int iParm2,int iParm3) - -{ - int *piVar1; - int *piVar2; - int iVar3; - undefined8 uVar4; - - iVar3 = 0; - piVar2 = *(int **)(iParm1 + 0x50); - do { - piVar1 = piVar2; - if (piVar1 == NULL) { - return 1; - } - piVar2 = (int *)*piVar1; - iVar3 += piVar1[2]; - } while ((*(short *)(piVar1 + 3) != 5) || (iParm2 != piVar1[4])); - if (iParm3 < iVar3) { - if (piVar2 != NULL) { - piVar2[2] = piVar2[2] + piVar1[2]; - } - alInit(piVar1); - locret_7000EADC(piVar1,iParm1 + 0x48); - uVar4 = 1; - } - else { - uVar4 = 0; - } - return uVar4; -} - - - -void locret_7001C0D8(int iParm1,int iParm2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 uVar4; - - puVar3 = *(undefined4 **)(iParm1 + 100); - puVar2 = NULL; - while( true ) { - puVar1 = puVar3; - if (puVar1 == NULL) { - return; - } - if (puVar1 == (undefined4 *)(iParm2 + -4)) break; - puVar3 = (undefined4 *)*puVar1; - puVar2 = puVar1; - } - if (puVar2 == NULL) { - *(undefined4 *)(iParm1 + 100) = *puVar1; - } - else { - *puVar2 = *puVar1; - } - if (puVar1 == *(undefined4 **)(iParm1 + 0x68)) { - *(undefined4 **)(iParm1 + 0x68) = puVar2; - uVar4 = *(undefined4 *)(iParm1 + 0x6c); - } - else { - uVar4 = *(undefined4 *)(iParm1 + 0x6c); - } - *puVar1 = uVar4; - *(undefined4 **)(iParm1 + 0x6c) = puVar1; - return; -} - - - -void loc_7001C1AC(int iParm1) - -{ - int iVar1; - longlong lVar2; - int iVar3; - int iStack20; - undefined2 auStack16 [8]; - - iVar1 = *(int *)(iParm1 + 0x18); - if (((*(int *)(iParm1 + 0x2c) == 1) && (iVar1 != 0)) && - (lVar2 = loc_700209D8(iVar1,&iStack20), lVar2 != 0)) { - if ((*(int *)(iParm1 + 0x84) != 0) && - (iVar3 = alSeqGetTicks(iVar1), *(int *)(*(int *)(iParm1 + 0x80) + 8) <= iVar3 + iStack20)) { - alSeqSetLoc(iVar1,*(undefined4 *)(iParm1 + 0x7c)); - if (*(int *)(iParm1 + 0x84) != -1) { - *(int *)(iParm1 + 0x84) = *(int *)(iParm1 + 0x84) + -1; - } - } - auStack16[0] = 0; - FUN_7001272c(iParm1 + 0x48,auStack16,*(int *)(iParm1 + 0x24) * iStack20); - } - return; -} - - - -void locret_7001C22C(int iParm1,int iParm2) - -{ - if ((*(char *)(iParm1 + 8) == -1) && (*(char *)(iParm1 + 9) == 'Q')) { - if (*(int *)(iParm2 + 0x18) != 0) { - *(int *)(iParm2 + 0x24) = - (int)((float)((uint)*(byte *)(iParm1 + 0xb) << 0x10 | (uint)*(byte *)(iParm1 + 0xc) << 8 - | (uint)*(byte *)(iParm1 + 0xd)) * - *(float *)(*(int *)(iParm2 + 0x18) + 0x14)); - return; - } - *(undefined4 *)(iParm2 + 0x24) = 0x1e8; - } - return; -} - - - -uint locret_7001C274(int iParm1,int iParm2) - -{ - uint uVar1; - uint uVar2; - - uVar1 = ((uint)*(byte *)(*(int *)(iParm2 + 0x60) + (uint)*(byte *)(iParm1 + 0x31) * 0x10 + 7) + - (uint)*(byte *)(*(int *)(iParm1 + 0x20) + 0xc)) - 0x40; - uVar2 = uVar1; - if ((int)uVar1 < 1) { - uVar2 = 0; - } - if (0x7e < (int)uVar1) { - uVar2 = 0x7f; - } - return uVar2 & 0xff; -} - - - -undefined4 * loc_7001C2E4(int iParm1,char cParm2,char cParm3) - -{ - char cVar1; - undefined4 *puVar2; - - puVar2 = *(undefined4 **)(iParm1 + 100); - if (puVar2 != NULL) { - cVar1 = *(char *)((int)puVar2 + 0x32); - while( true ) { - if (cParm2 == cVar1) { - if (cParm3 == *(char *)((int)puVar2 + 0x31)) { - if (*(char *)((int)puVar2 + 0x35) == '\x03') { - puVar2 = (undefined4 *)*puVar2; - } - else { - if (*(char *)((int)puVar2 + 0x35) != '\x04') { - return puVar2; - } - puVar2 = (undefined4 *)*puVar2; - } - } - else { - puVar2 = (undefined4 *)*puVar2; - } - } - else { - puVar2 = (undefined4 *)*puVar2; - } - if (puVar2 == NULL) break; - cVar1 = *(char *)((int)puVar2 + 0x32); - } - } - return (undefined4 *)0; -} - - - -undefined4 * locret_7001C358(int iParm1,undefined uParm2,undefined uParm3,undefined uParm4) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(iParm1 + 0x6c); - if (puVar1 != NULL) { - *(undefined4 *)(iParm1 + 0x6c) = *puVar1; - *puVar1 = 0; - if (*(int *)(iParm1 + 100) == 0) { - *(undefined4 **)(iParm1 + 100) = puVar1; - } - else { - *(undefined4 **)*(undefined4 **)(iParm1 + 0x68) = puVar1; - } - *(undefined4 **)(iParm1 + 0x68) = puVar1; - *(undefined *)((int)puVar1 + 0x31) = uParm4; - *(undefined *)((int)puVar1 + 0x32) = uParm2; - *(undefined *)((int)puVar1 + 0x33) = uParm3; - *(undefined4 **)(puVar1 + 5) = puVar1; - } - return puVar1; -} - - - -int loc_7001C450(int iParm1,byte bParm2,byte bParm3,uint uParm4) - -{ - short sVar1; - int iVar2; - int iVar3; - byte *pbVar4; - longlong lVar5; - int iVar6; - longlong lVar7; - - iVar2 = *(int *)(*(int *)(iParm1 + 0x60) + (uParm4 & 0xff) * 0x10); - sVar1 = *(short *)(iVar2 + 0xe); - lVar7 = (longlong)sVar1; - lVar5 = 1; - iVar6 = (int)sVar1 + 1; - if (lVar7 < 1) { - return 0; - } - do { - if (iVar6 < 0) { - iVar6 += 1; - } - iVar6 >>= 1; - iVar3 = *(int *)(iVar2 + iVar6 * 4 + 0xc); - pbVar4 = *(byte **)(iVar3 + 4); - if ((((pbVar4[2] <= bParm2) && (bParm2 <= pbVar4[3])) && (*pbVar4 <= bParm3)) && - (bParm3 <= pbVar4[1])) { - return iVar3; - } - if (bParm2 < pbVar4[2]) { -LAB_7001a9f8: - lVar7 = (longlong)(iVar6 + -1); - } - else { - if (bParm3 < *pbVar4) { - if (bParm2 <= pbVar4[3]) goto LAB_7001a9f8; - lVar5 = (longlong)(iVar6 + 1); - } - else { - lVar5 = (longlong)(iVar6 + 1); - } - } - if (lVar7 < lVar5) { - return 0; - } - iVar6 = (int)lVar5 + (int)lVar7; - } while( true ); -} - - - -void loc_7001CC68(int iParm1) - -{ - byte bVar1; - byte bVar2; - char cVar3; - int iVar4; - int iVar5; - int iVar6; - int **ppiVar8; - longlong lVar7; - undefined2 uVar9; - uint uVar10; - int iVar11; - int iVar12; - ulonglong uVar13; - undefined4 *puVar14; - undefined4 unaff_s1_hi; - int unaff_s1_lo; - ulonglong uVar15; - ulonglong uVar16; - undefined4 uVar17; - float fVar18; - float fVar19; - undefined uVar21; - float fVar20; - undefined4 auStack92 [2]; - float afStack84 [4]; - ushort uStack68; - undefined2 uStack66; - undefined uStack64; - undefined2 auStack44 [2]; - int iStack40; - int iStack36; - undefined uStack32; - - bVar1 = *(byte *)(iParm1 + 9); - uVar15 = (ulonglong)bVar1; - bVar2 = *(byte *)(iParm1 + 10); - uVar16 = (ulonglong)bVar2; - uVar10 = (uint)*(byte *)(iParm1 + 8) & 0xf0; - uVar13 = (ulonglong)*(byte *)(iParm1 + 8) & 0xf; - if (0x60 < uVar10 - 0x80) { - return; - } - iVar11 = (int)uVar13; - switch(uVar10) { - case 0x80: - goto LAB_7001adb8; - case 0x90: - if (bVar2 != 0) { - if (*(int *)(unaff_s1_lo + 0x2c) != 1) { - return; - } - ppiVar8 = (int **)loc_7001C450(CONCAT44(unaff_s1_hi,unaff_s1_lo),uVar15,uVar16,uVar13); - if (ppiVar8 == NULL) { - return; - } - iVar11 *= 0x10; - uStack66 = 0; - uStack64 = 0; - uStack68 = (ushort)*(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 + 8); - iVar6 = locret_7001C358(CONCAT44(unaff_s1_hi,unaff_s1_lo),uVar15,uVar16,uVar13); - if (iVar6 == 0) { - return; - } - iVar12 = iVar6 + 4; - loc_70013380(*(undefined4 *)(unaff_s1_lo + 0x14),iVar12,&uStack68); - *(int ***)(iVar6 + 0x20) = ppiVar8; - *(undefined *)(iVar6 + 0x34) = 0; - if (*(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 + 0xb) < 0x40) { - *(undefined *)(iVar6 + 0x35) = 0; - } - else { - *(undefined *)(iVar6 + 0x35) = 2; - } - uVar17 = FUN_70012ff0((bVar1 - *(char *)(ppiVar8[1] + 1)) * 'd' + - *(char *)((int)ppiVar8[1] + 5)); - *(undefined4 *)(iVar6 + 0x28) = uVar17; - *(undefined *)(iVar6 + 0x30) = *(undefined *)(*ppiVar8 + 3); - iVar4 = *(int *)(unaff_s1_lo + 0x1c); - iVar5 = **ppiVar8; - *(undefined *)(iVar6 + 0x37) = 0; - *(int *)(iVar6 + 0x24) = iVar4 + iVar5; - iVar4 = *(int *)(*(int *)(unaff_s1_lo + 0x60) + iVar11); - afStack84[0] = 127.00000000; - if (((*(byte *)(iVar4 + 4) != 0) && (*(code **)(unaff_s1_lo + 0x70) != NULL)) && - (lVar7 = (**(code **)(unaff_s1_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar4 + 4), - (ulonglong)*(byte *)(iVar4 + 5),(uint)*(byte *)(iVar4 + 6), - (uint)*(byte *)(iVar4 + 7)), lVar7 != 0)) { - auStack44[0] = 0x16; - iStack36 = auStack92[0]; - iStack40 = iVar6; - FUN_7001272c(unaff_s1_lo + 0x48,auStack44,lVar7); - *(byte *)(iVar6 + 0x37) = *(byte *)(iVar6 + 0x37) | 1; - } - if (false) { - fVar18 = ROUND(afStack84[0]); - } - else { - fVar18 = FLOOR(afStack84[0]); - } - uVar21 = (undefined)(int)fVar18; - if (false) { - if (false) { - fVar18 = ROUND(afStack84[0] - 2147483648.00000000); - } - else { - fVar18 = FLOOR(afStack84[0] - 2147483648.00000000); - } - if (true) { - uVar21 = (undefined)(int)fVar18; - goto LAB_7001ac6c; - } - } - else { - if (-1 < (int)fVar18) goto LAB_7001ac6c; - } - uVar21 = 0xff; -LAB_7001ac6c: - *(undefined *)(iVar6 + 0x36) = uVar21; - afStack84[0] = 1.00000000; - if (((*(byte *)(iVar4 + 8) != 0) && (*(code **)(unaff_s1_lo + 0x70) != NULL)) && - (lVar7 = (**(code **)(unaff_s1_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar4 + 8), - (ulonglong)*(byte *)(iVar4 + 9),(uint)*(byte *)(iVar4 + 10), - (uint)*(byte *)(iVar4 + 0xb)), lVar7 != 0)) { - auStack44[0] = 0x17; - uStack32 = (undefined)uVar13; - iStack36 = auStack92[0]; - iStack40 = iVar6; - FUN_7001272c(unaff_s1_lo + 0x48,auStack44,lVar7); - *(byte *)(iVar6 + 0x37) = *(byte *)(iVar6 + 0x37) | 2; - } - fVar20 = *(float *)(iVar6 + 0x28); - *(float *)(iVar6 + 0x2c) = afStack84[0]; - fVar18 = *(float *)(iVar6 + 0x2c); - iVar11 = *(int *)(unaff_s1_lo + 0x60) + iVar11; - fVar19 = *(float *)(iVar11 + 0xc); - bVar1 = *(byte *)(iVar11 + 10); - uVar10 = locret_7001C274(iVar6,CONCAT44(unaff_s1_hi,unaff_s1_lo)); - uVar17 = __vsVol(iVar6,CONCAT44(unaff_s1_hi,unaff_s1_lo)); - alSynStartVoiceParams - (*(undefined4 *)(unaff_s1_lo + 0x14),iVar12,ppiVar8[2],fVar19 * fVar20 * fVar18, - uVar17,uVar10 & 0xff,(uint)bVar1,**ppiVar8); - auStack44[0] = 6; - uStack32 = *(undefined *)((int)*ppiVar8 + 0xd); - iStack36 = (*ppiVar8)[1]; - iStack40 = iVar12; - FUN_7001272c(unaff_s1_lo + 0x48,auStack44,**ppiVar8); - return; - } -LAB_7001adb8: - iVar11 = loc_7001C2E4(CONCAT44(unaff_s1_hi,unaff_s1_lo),uVar15,uVar13); - if (iVar11 != 0) { - if (*(char *)(iVar11 + 0x35) == '\x02') { - *(undefined *)(iVar11 + 0x35) = 4; - } - else { - *(undefined *)(iVar11 + 0x35) = 3; - loc_7001BF40(CONCAT44(unaff_s1_hi,unaff_s1_lo),iVar11 + 4, - *(undefined4 *)(**(int **)(iVar11 + 0x20) + 8)); - } - } - break; - case 0xa0: - iVar11 = loc_7001C2E4(CONCAT44(unaff_s1_hi,unaff_s1_lo),uVar15,uVar13); - if (iVar11 != 0) { - *(byte *)(iVar11 + 0x33) = bVar2; - uVar9 = __vsVol(iVar11,CONCAT44(unaff_s1_hi,unaff_s1_lo)); - iVar6 = *(int *)(iVar11 + 0x24) - *(int *)(unaff_s1_lo + 0x1c); - if (iVar6 < 0) { - iVar6 = 1000; - } - alSynSetVol(*(undefined4 *)(unaff_s1_lo + 0x14),iVar11 + 4,uVar9,iVar6); - } - break; - case 0xb0: - if (bVar1 < 0x41) { - if (bVar1 < 0x1c) { - if (true) { - switch(bVar1) { - case 7: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 * 0x10 + 9) = bVar2; - puVar14 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar1) { - if (*(char *)(puVar14 + 0xd) == '\x03') { - puVar14 = (undefined4 *)*puVar14; - } - else { - uVar9 = __vsVol(puVar14,CONCAT44(unaff_s1_hi,unaff_s1_lo)); - iVar11 = puVar14[9] - *(int *)(unaff_s1_lo + 0x1c); - if (iVar11 < 0) { - iVar11 = 1000; - } - alSynSetVol(*(undefined4 *)(unaff_s1_lo + 0x14),puVar14 + 1,uVar9,iVar11); - puVar14 = (undefined4 *)*puVar14; - } - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar1 = *(byte *)((int)puVar14 + 0x31); - } - } - break; - case 10: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 * 0x10 + 7) = bVar2; - puVar14 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar1) { - uVar15 = locret_7001C274(puVar14,CONCAT44(unaff_s1_hi,unaff_s1_lo)); - FUN_70012d00(*(undefined4 *)(unaff_s1_lo + 0x14),puVar14 + 1,uVar15 & 0xff); - puVar14 = (undefined4 *)*puVar14; - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar1 = *(byte *)((int)puVar14 + 0x31); - } - } - break; - case 0x10: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 * 0x10 + 8) = bVar2; - } - } - } - else { - if (bVar1 == 0x40) { - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 * 0x10 + 0xb) = bVar2; - puVar14 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - do { - if (uVar13 == (ulonglong)bVar1) { - cVar3 = *(char *)((int)puVar14 + 0x35); - if (cVar3 == '\x03') { - puVar14 = (undefined4 *)*puVar14; - } - else { - if (bVar2 < 0x40) { - if (cVar3 == '\x02') { - *(undefined *)((int)puVar14 + 0x35) = 0; - } - else { - if (cVar3 != '\x04') { - puVar14 = (undefined4 *)*puVar14; - goto LAB_7001b0f8; - } - *(undefined *)((int)puVar14 + 0x35) = 3; - loc_7001BF40(CONCAT44(unaff_s1_hi,unaff_s1_lo),puVar14 + 1, - *(undefined4 *)(*(int *)puVar14[8] + 8)); - } - } - else { - if (cVar3 != '\0') { - puVar14 = (undefined4 *)*puVar14; - goto LAB_7001b0f8; - } - *(undefined *)((int)puVar14 + 0x35) = 2; - } - puVar14 = (undefined4 *)*puVar14; - } - } - else { - puVar14 = (undefined4 *)*puVar14; - } -LAB_7001b0f8: - if (puVar14 == NULL) { - return; - } - bVar1 = *(byte *)((int)puVar14 + 0x31); - } while( true ); - } - } - } - } - else { - if (bVar1 == 0x5b) { - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 * 0x10 + 10) = bVar2; - puVar14 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar1) { - FUN_70012e20(*(undefined4 *)(unaff_s1_lo + 0x14),puVar14 + 1,uVar16); - puVar14 = (undefined4 *)*puVar14; - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar1 = *(byte *)((int)puVar14 + 0x31); - } - } - } - } - break; - case 0xc0: - if ((longlong)uVar15 < (longlong)**(short **)(unaff_s1_lo + 0x20)) { - alSeqpNew(CONCAT44(unaff_s1_hi,unaff_s1_lo), - *(undefined4 *)(*(short **)(unaff_s1_lo + 0x20) + (uint)bVar1 * 2 + 6),uVar13); - } - break; - case 0xd0: - puVar14 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar14 != NULL) { - bVar2 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar2) { - *(byte *)((int)puVar14 + 0x33) = bVar1; - uVar9 = __vsVol(puVar14,CONCAT44(unaff_s1_hi,unaff_s1_lo)); - iVar11 = puVar14[9] - *(int *)(unaff_s1_lo + 0x1c); - if (iVar11 < 0) { - iVar11 = 1000; - } - alSynSetVol(*(undefined4 *)(unaff_s1_lo + 0x14),puVar14 + 1,uVar9,iVar11); - puVar14 = (undefined4 *)*puVar14; - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar2 = *(byte *)((int)puVar14 + 0x31); - } - } - break; - case 0xe0: - iVar6 = (int)*(short *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 * 0x10 + 4) * - ((uint)bVar2 * 0x80 + (uint)bVar1 + -0x2000); - if (iVar6 < 0) { - iVar6 += 0x1fff; - } - fVar18 = (float)FUN_70012ff0(iVar6 >> 0xd); - *(float *)(*(int *)(unaff_s1_lo + 0x60) + iVar11 * 0x10 + 0xc) = fVar18; - puVar14 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar14 != NULL) { - bVar1 = *(byte *)((int)puVar14 + 0x31); - while( true ) { - if (uVar13 == (ulonglong)bVar1) { - FUN_70012d90(*(undefined4 *)(unaff_s1_lo + 0x14),puVar14 + 1, - (float)puVar14[10] * fVar18 * (float)puVar14[0xb]); - puVar14 = (undefined4 *)*puVar14; - } - else { - puVar14 = (undefined4 *)*puVar14; - } - if (puVar14 == NULL) break; - bVar1 = *(byte *)((int)puVar14 + 0x31); - } - } - } - return; -} - - - -void loc_7001D250(int iParm1) - -{ - byte bVar1; - int iVar2; - undefined4 uVar3; - undefined4 *puVar4; - float fVar5; - undefined2 uVar8; - undefined8 uVar6; - longlong lVar7; - int iVar9; - int iVar10; - int iVar11; - undefined uVar12; - int iVar13; - short asStack72 [16]; - float afStack40 [5]; - undefined2 auStack20 [2]; - int iStack16; - undefined4 uStack12; - byte bStack8; - - iVar11 = iParm1 + 0x38; - iVar13 = iParm1 + 0x48; - do { - if (true) { - switch(*(undefined2 *)(iParm1 + 0x38)) { - case 0: - if (*(int *)(iParm1 + 0x18) != 0) { - FUN_7001e524(*(int *)(iParm1 + 0x18),asStack72); - if (asStack72[0] == 1) { - loc_7001CC68(asStack72); - loc_7001C1AC(iParm1); - } - else { - if (asStack72[0] == 3) { - locret_7001C22C(asStack72,iParm1); - loc_7001C1AC(iParm1); - } - else { - if (asStack72[0] == 4) { - *(undefined4 *)(iParm1 + 0x2c) = 2; - asStack72[0] = 0x10; - FUN_7001272c(iVar13,asStack72,0x7fffffff); - } - } - } - } - break; - case 2: - loc_7001CC68(iVar11); - break; - case 5: - iVar10 = *(int *)(iParm1 + 0x3c); - alSynStopVoice(*(undefined4 *)(iParm1 + 0x14),iVar10); - alSynFreeVoice(*(undefined4 *)(iParm1 + 0x14),iVar10); - if (*(char *)(*(int *)(iVar10 + 0x10) + 0x37) != '\0') { - unknown_libname_42(iParm1,*(int *)(iVar10 + 0x10)); - } - locret_7001C0D8(iParm1,iVar10); - break; - case 6: - iVar10 = *(int *)(iParm1 + 0x3c); - iVar9 = *(int *)(iVar10 + 0x10); - if (*(char *)(iVar9 + 0x34) == '\0') { - *(undefined *)(iVar9 + 0x34) = 1; - uVar12 = *(undefined *)(iParm1 + 0x44); - } - else { - uVar12 = *(undefined *)(iParm1 + 0x44); - } - iVar2 = *(int *)(iParm1 + 0x40); - *(undefined *)(iVar9 + 0x30) = uVar12; - *(int *)(iVar9 + 0x24) = *(int *)(iParm1 + 0x1c) + iVar2; - uVar8 = __vsVol(iVar9,iParm1); - alSynSetVol(*(undefined4 *)(iParm1 + 0x14),iVar10,uVar8,iVar2); - break; - case 7: - locret_7001C22C(iVar11,iParm1); - break; - case 9: - auStack20[0] = 9; - FUN_7001272c(iVar13,auStack20,*(undefined4 *)(iParm1 + 0x5c)); - break; - case 10: - puVar4 = *(undefined4 **)(iParm1 + 100); - *(undefined2 *)(iParm1 + 0x32) = *(undefined2 *)(iParm1 + 0x3c); - while (puVar4 != NULL) { - uVar8 = __vsVol(puVar4,iParm1); - iVar10 = puVar4[9] - *(int *)(iParm1 + 0x1c); - if (iVar10 < 0) { - iVar10 = 1000; - } - alSynSetVol(*(undefined4 *)(iParm1 + 0x14),puVar4 + 1,uVar8,iVar10); - puVar4 = (undefined4 *)*puVar4; - } - break; - case 0xb: - *(undefined4 *)(iParm1 + 0x7c) = *(undefined4 *)(iParm1 + 0x3c); - *(undefined4 *)(iParm1 + 0x80) = *(undefined4 *)(iParm1 + 0x40); - *(undefined4 *)(iParm1 + 0x84) = *(undefined4 *)(iParm1 + 0x44); - break; - case 0xc: - *(undefined *)(*(int *)(iParm1 + 0x60) + (uint)*(byte *)(iParm1 + 0x3c) * 0x10 + 8) = - *(undefined *)(iParm1 + 0x3d); - break; - case 0xd: - iVar10 = *(int *)(iParm1 + 0x3c); - *(int *)(iParm1 + 0x18) = iVar10; - if (iVar10 == 0) { - *(undefined4 *)(iParm1 + 0x24) = 0x1e8; - } - else { - *(int *)(iParm1 + 0x24) = (int)(DAT_800251f8 * *(float *)(iVar10 + 0x14)); - } - if (*(int *)(iParm1 + 0x20) != 0) { - loc_7001BDD4(iParm1); - } - break; - case 0xe: - *(undefined4 *)(iParm1 + 0x20) = *(undefined4 *)(iParm1 + 0x3c); - loc_7001BDD4(iParm1); - break; - case 0xf: - if (*(int *)(iParm1 + 0x2c) != 1) { - *(undefined4 *)(iParm1 + 0x2c) = 1; - loc_7001C1AC(iParm1); - } - break; - case 0x10: - if (*(int *)(iParm1 + 0x2c) == 2) { - iVar10 = *(int *)(iParm1 + 100); - while (iVar10 != 0) { - iVar9 = iVar10 + 4; - alSynStopVoice(*(undefined4 *)(iParm1 + 0x14),iVar9); - alSynFreeVoice(*(undefined4 *)(iParm1 + 0x14),iVar9); - if (*(char *)(iVar10 + 0x37) != '\0') { - unknown_libname_42(iParm1,iVar10); - } - locret_7001C0D8(iParm1,iVar9); - iVar10 = *(int *)(iParm1 + 100); - } - *(undefined4 *)(iParm1 + 0x1c) = 0; - *(undefined4 *)(iParm1 + 0x2c) = 0; - } - break; - case 0x11: - if (*(int *)(iParm1 + 0x2c) == 1) { - alEvtqNew(iVar13,0); - alEvtqNew(iVar13,2); - puVar4 = *(undefined4 **)(iParm1 + 100); - while (puVar4 != NULL) { - lVar7 = loc_7001C05C(iParm1,puVar4 + 1,50000); - if (lVar7 != 0) { - loc_7001BF40(iParm1,puVar4 + 1,50000); - } - puVar4 = (undefined4 *)*puVar4; - } - *(undefined4 *)(iParm1 + 0x2c) = 2; - auStack20[0] = 0x10; - FUN_7001272c(iVar13,auStack20,0x7fffffff); - } - break; - case 0x16: - uVar3 = *(undefined4 *)(iParm1 + 0x40); - iVar10 = *(int *)(iParm1 + 0x3c); - uVar6 = (**(code **)(iParm1 + 0x74))(uVar3,afStack40); - if (false) { - fVar5 = ROUND(afStack40[0]); - } - else { - fVar5 = FLOOR(afStack40[0]); - } - uVar12 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar5 = ROUND(afStack40[0] - 2147483648.00000000); - } - else { - fVar5 = FLOOR(afStack40[0] - 2147483648.00000000); - } - if (false) goto LAB_7001b4a8; - uVar12 = (undefined)(int)fVar5; - } - else { - if ((int)fVar5 < 0) { -LAB_7001b4a8: - uVar12 = 0xff; - } - } - *(undefined *)(iVar10 + 0x36) = uVar12; - uVar8 = __vsVol(iVar10,iParm1); - iVar9 = *(int *)(iVar10 + 0x24) - *(int *)(iParm1 + 0x1c); - if (iVar9 < 0) { - iVar9 = 1000; - } - alSynSetVol(*(undefined4 *)(iParm1 + 0x14),iVar10 + 4,uVar8,iVar9); - auStack20[0] = 0x16; - iStack16 = iVar10; - uStack12 = uVar3; - FUN_7001272c(iVar13,auStack20,uVar6); - break; - case 0x17: - uVar3 = *(undefined4 *)(iParm1 + 0x40); - iVar10 = *(int *)(iParm1 + 0x3c); - bVar1 = *(byte *)(iParm1 + 0x44); - uVar6 = (**(code **)(iParm1 + 0x74))(uVar3,afStack40); - *(float *)(iVar10 + 0x2c) = afStack40[0]; - FUN_70012d90(*(undefined4 *)(iParm1 + 0x14),iVar10 + 4, - *(float *)(*(int *)(iParm1 + 0x60) + (uint)bVar1 * 0x10 + 0xc) * - *(float *)(iVar10 + 0x28) * *(float *)(iVar10 + 0x2c)); - auStack20[0] = 0x17; - iStack16 = iVar10; - uStack12 = uVar3; - bStack8 = bVar1; - FUN_7001272c(iVar13,auStack20,uVar6); - } - } - lVar7 = FUN_70012850(iVar13,iVar11); - *(int *)(iParm1 + 0x28) = (int)lVar7; - if (lVar7 != 0) { - *(int *)(iParm1 + 0x1c) = *(int *)(iParm1 + 0x1c) + (int)lVar7; - return; - } - } while( true ); -} - - - -void unknown_libname_42(int iParm1,int iParm2) - -{ - short sVar1; - int iVar2; - int *piVar3; - int *piVar4; - - piVar4 = *(int **)(iParm1 + 0x50); -joined_r0x7001b894: - do { - piVar3 = piVar4; - if (piVar3 == NULL) { - return; - } - sVar1 = *(short *)(piVar3 + 3); - piVar4 = (int *)*piVar3; - if (sVar1 == 0x16) { - iVar2 = piVar3[4]; - } - else { - if (sVar1 != 0x17) goto joined_r0x7001b894; - iVar2 = piVar3[4]; - } - if (iParm2 == iVar2) { - (**(code **)(iParm1 + 0x78))(piVar3[5]); - alInit(piVar3); - if (piVar4 != NULL) { - piVar4[2] = piVar4[2] + piVar3[2]; - } - locret_7000EADC(piVar3,iParm1 + 0x48); - if (sVar1 == 0x16) { - *(byte *)(iParm2 + 0x37) = *(byte *)(iParm2 + 0x37) & 0xfe; - } - else { - *(byte *)(iParm2 + 0x37) = *(byte *)(iParm2 + 0x37) & 0xfd; - } - if (*(char *)(iParm2 + 0x37) == '\0') { - return; - } - } - } while( true ); -} - - - -void loc_7001D3FC(int iParm1) - -{ - int iVar1; - longlong lVar2; - int iVar3; - - lVar2 = 0; - iVar3 = 0; - if (*(char *)(iParm1 + 0x34) != '\0') { - iVar1 = *(int *)(iParm1 + 0x60); - while( true ) { - *(undefined4 *)(iVar1 + iVar3) = 0; - __resetPerfChanState(iParm1,lVar2); - lVar2 = (longlong)((int)lVar2 + 1); - iVar3 += 0x10; - if ((longlong)(ulonglong)*(byte *)(iParm1 + 0x34) <= lVar2) break; - iVar1 = *(int *)(iParm1 + 0x60); - } - } - return; -} - - - -void loc_70012188(undefined4 *puParm1,int *piParm2) - -{ - undefined uVar1; - int iVar2; - undefined8 uVar3; - undefined4 uVar4; - undefined4 *puVar5; - int iVar6; - - iVar2 = piParm2[3]; - puParm1[8] = 0; - puParm1[6] = 0; - uVar4 = DAT_800231e0; - *(undefined2 *)(puParm1 + 0xc) = 0xff; - puParm1[9] = 0x1e8; - puParm1[10] = 0; - puParm1[0xb] = 0; - *(undefined2 *)((int)puParm1 + 0x32) = 0x7fff; - puParm1[5] = uVar4; - uVar1 = *(undefined *)((int)piParm2 + 9); - puParm1[0x17] = 16000; - puParm1[7] = 0; - *(undefined *)((int)puParm1 + 0x35) = uVar1; - puParm1[0x1c] = piParm2[4]; - puParm1[0x1d] = piParm2[5]; - iVar6 = piParm2[6]; - puParm1[0x1f] = 0; - puParm1[0x20] = 0; - puParm1[0x21] = 0; - *(undefined2 *)(puParm1 + 0xe) = 9; - puParm1[0x1e] = iVar6; - *(undefined *)(puParm1 + 0xd) = *(undefined *)(piParm2 + 2); - uVar4 = alHeapDBAlloc(0,0,iVar2,(ulonglong)*(byte *)(piParm2 + 2),0x10); - puParm1[0x18] = uVar4; - loc_7001D3FC(puParm1); - puVar5 = (undefined4 *)alHeapDBAlloc(0,0,iVar2,*piParm2,0x38); - puParm1[0x1b] = 0; - iVar6 = 0; - if (0 < *piParm2) { - uVar4 = puParm1[0x1b]; - while( true ) { - iVar6 += 1; - *puVar5 = uVar4; - *(undefined4 **)(puParm1 + 0x1b) = puVar5; - puVar5 = puVar5 + 0xe; - if (*piParm2 <= iVar6) break; - uVar4 = puParm1[0x1b]; - } - } - puParm1[0x19] = 0; - puParm1[0x1a] = 0; - uVar3 = alHeapDBAlloc(0,0,iVar2,piParm2[1],0x1c); - loc_70013104(puParm1 + 0x12,uVar3,piParm2[1]); - *puParm1 = 0; - puParm1[2] = 0x7001b23c; - *(undefined4 **)(puParm1 + 1) = puParm1; - alSynAddPlayer(DAT_800231e0,puParm1); - return; -} - - - -void alSynStartVoiceParams - (int iParm1,int iParm2,undefined4 uParm3,undefined4 uParm4,undefined2 uParm5, - undefined uParm6,char cParm7,undefined4 uParm8) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - undefined4 uVar4; - - if ((*(int *)(iParm2 + 8) != 0) && (puVar3 = (undefined4 *)FUN_7000e900(), puVar3 != NULL)) { - if (false) { - cParm7 = -cParm7; - } - iVar1 = *(int *)(iParm1 + 0x1c); - iVar2 = *(int *)(*(int *)(iParm2 + 8) + 0xd8); - *puVar3 = 0; - *(undefined2 *)(puVar3 + 2) = 0xd; - puVar3[1] = iVar1 + iVar2; - *(undefined2 *)((int)puVar3 + 10) = *(undefined2 *)(iParm2 + 0x1a); - *(undefined *)((int)puVar3 + 0x12) = uParm6; - *(char *)((int)puVar3 + 0x13) = cParm7; - *(undefined2 *)(puVar3 + 4) = uParm5; - puVar3[3] = uParm4; - uVar4 = FUN_7000e7f8(iParm1,uParm8); - puVar3[5] = uVar4; - puVar3[6] = uParm3; - iVar1 = *(int *)(*(int *)(iParm2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3); - } - return; -} - - - -void alCopy(undefined *puParm1,undefined *puParm2,uint uParm3) - -{ - undefined uVar1; - undefined *puVar2; - uint uVar3; - - uVar3 = 0; - if (0 < (int)uParm3) { - if ((uParm3 & 3) != 0) { - do { - uVar1 = *puParm1; - uVar3 += 1; - puVar2 = puParm2 + 1; - puParm1 = puParm1 + 1; - *puParm2 = uVar1; - puParm2 = puVar2; - } while ((uParm3 & 3) != uVar3); - puParm2 = puVar2; - if (uVar3 == uParm3) { - return; - } - } - do { - uVar3 += 4; - *puParm2 = *puParm1; - puParm2[1] = puParm1[1]; - puParm2[2] = puParm1[2]; - puParm2[3] = puParm1[3]; - puParm1 = puParm1 + 4; - puParm2 = puParm2 + 4; - } while (uVar3 != uParm3); - } - return; -} - - - -void _Litob(uint *puParm1,char cParm2) - -{ - uint uVar1; - uint uVar2; - longlong lVar3; - longlong lVar4; - int iVar5; - char *pcVar6; - uint uStack64; - uint uStack60; - int iStack52; - uint uStack48; - uint uStack44; - int iStack32; - char acStack25 [24]; - char cStack1; - - lVar4 = 0x58; - if (cParm2 == 'X') { - pcVar6 = s_0123456789ABCDEF_80023df4; - } - else { - pcVar6 = s_0123456789abcdef_80023de0; - } - iVar5 = 0x18; - if (cParm2 == 'o') { - iStack32 = 8; - } - else { - iStack32 = 0x10; - if ((cParm2 != 'x') && (cParm2 != 'X')) { - iStack32 = 10; - } - } - uStack48 = *puParm1; - uStack44 = puParm1[1]; - if ((((cParm2 == 'd') || (cParm2 == 'i')) && ((int)uStack48 < 1)) && ((int)uStack48 < 0)) { - uStack48 = ~uStack48 + (uint)(uStack44 == 0); - uStack44 = -uStack44; - } - if (((uStack48 != 0) || (uStack44 != 0)) || (puParm1[9] != 0)) { - iVar5 = 0x17; - FUN_7000e49c(uStack48,uStack44,0,iStack32); - cStack1 = pcVar6[(int)lVar4]; - } - lVar3 = FUN_7000e4d8(uStack48,uStack44,iStack32 >> 0x1f,iStack32); - puParm1[1] = (uint)lVar4; - *puParm1 = (uint)lVar3; - if (((-1 < lVar3) && ((0 < lVar3 || (lVar4 != 0)))) && (iVar5 != 0)) { - while( true ) { - ldiv(&uStack64); - iVar5 += -1; - *puParm1 = uStack64; - puParm1[1] = uStack60; - (acStack25 + 1)[iVar5] = pcVar6[iStack52]; - if ((int)*puParm1 < 0) break; - if ((((int)*puParm1 < 1) && (puParm1[1] == 0)) || (iVar5 < 1)) break; - } - } - puParm1[5] = 0x18 - iVar5; - strchr(puParm1[2],acStack25 + 1 + iVar5); - uVar1 = puParm1[5]; - uVar2 = puParm1[9]; - if ((int)uVar1 < (int)uVar2) { - puParm1[4] = uVar2 - uVar1; - } - if ((((int)uVar2 < 0) && ((puParm1[0xc] & 0x14) == 0x10)) && - (iVar5 = ((puParm1[10] - puParm1[3]) - puParm1[4]) - uVar1, 0 < iVar5)) { - puParm1[4] = puParm1[4] + iVar5; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7001bfc8) overlaps instruction at (ram,0x7001bfc4) -// - -void _Ldtob(void) - -{ - bool bVar1; - short sVar2; - int iVar3; - int unaff_s0_lo; - undefined1 *unaff_s1_lo; - char *pcVar4; - char *pcVar5; - short unaff_s2_lo; - int iVar6; - short unaff_s3_lo; - int iVar7; - char unaff_s4_lo; - int iVar8; - - iVar6 = (int)unaff_s2_lo; - iVar7 = (int)unaff_s3_lo; - if (iVar7 < 1) { - unaff_s1_lo = &DAT_80025250; - iVar7 = 1; - } - if ((unaff_s4_lo != 'f') && - ((((unaff_s4_lo != 'g' && (unaff_s4_lo != 'G')) || (iVar6 < -4)) || - (*(int *)(unaff_s0_lo + 0x24) <= iVar6)))) { - if ((unaff_s4_lo == 'g') || (unaff_s4_lo == 'G')) { - iVar8 = *(int *)(unaff_s0_lo + 0x24); - if (iVar7 < iVar8) { - *(int *)(unaff_s0_lo + 0x24) = iVar7; - iVar8 = iVar7; - } - *(int *)(unaff_s0_lo + 0x24) = iVar8 + -1; - if (iVar8 + -1 < 0) { - *(undefined4 *)(unaff_s0_lo + 0x24) = 0; - } - bVar1 = unaff_s4_lo == 'g'; - unaff_s4_lo = 'E'; - if (bVar1) { - unaff_s4_lo = 'e'; - } - iVar8 = *(int *)(unaff_s0_lo + 8); - } - else { - iVar8 = *(int *)(unaff_s0_lo + 8); - } - *(undefined *)(iVar8 + *(int *)(unaff_s0_lo + 0x14)) = *unaff_s1_lo; - iVar8 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - if ((0 < iVar8) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar8 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar8 < 1) { - iVar7 = *(int *)(unaff_s0_lo + 8); - } - else { - iVar7 = (iVar7 + -1) * 0x10000 >> 0x10; - if (iVar8 < iVar7) { - iVar7 = (int)(short)iVar8; - } - strchr(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14),unaff_s1_lo + 1,iVar7); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + iVar7; - *(int *)(unaff_s0_lo + 0x18) = *(int *)(unaff_s0_lo + 0x24) - iVar7; - iVar7 = *(int *)(unaff_s0_lo + 8); - } - pcVar4 = (char *)(iVar7 + *(int *)(unaff_s0_lo + 0x14)); - *pcVar4 = unaff_s4_lo; - if (iVar6 < 0) { - iVar6 = iVar6 * -0x10000 >> 0x10; - pcVar4[1] = '-'; - } - else { - pcVar4[1] = '+'; - } - pcVar5 = pcVar4 + 2; - if (99 < iVar6) { - if (999 < iVar6) { - iVar7 = iVar6 / 1000; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - iVar6 = (int)(short)(iVar6 % 1000); - *pcVar5 = (char)iVar7 + '0'; - pcVar5 = pcVar4 + 3; - } - iVar7 = iVar6 / 100; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - iVar6 = (int)(short)(iVar6 % 100); - *pcVar5 = (char)iVar7 + '0'; - pcVar5 = pcVar5 + 1; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - *pcVar5 = (char)(iVar6 / 10) + '0'; - pcVar5[1] = (char)(iVar6 % 10) + '0'; - *(char **)(unaff_s0_lo + 0x1c) = - pcVar5 + ((2 - *(int *)(unaff_s0_lo + 8)) - *(int *)(unaff_s0_lo + 0x14)); - goto LAB_7001c47c; - } - iVar6 = (iVar6 + 1) * 0x10000 >> 0x10; - if (unaff_s4_lo != 'f') { - iVar8 = *(int *)(unaff_s0_lo + 0x24); - if ((*(uint *)(unaff_s0_lo + 0x30) & 8) == 0) { - if (iVar7 < iVar8) { - *(int *)(unaff_s0_lo + 0x24) = iVar7; - iVar8 = iVar7; - goto LAB_7001c018; - } - iVar8 -= iVar6; - } - else { -LAB_7001c018: - iVar8 -= iVar6; - } - *(int *)(unaff_s0_lo + 0x24) = iVar8; - if (iVar8 < 0) { - *(undefined4 *)(unaff_s0_lo + 0x24) = 0; - } - } - if (iVar6 < 1) { - iVar3 = -iVar6; - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x30; - iVar8 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - if ((0 < iVar8) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar8 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar8 < iVar3) { - iVar6 = iVar8 * -0x10000 >> 0x10; - iVar3 = -iVar6; - } - iVar8 += iVar6; - *(int *)(unaff_s0_lo + 0x18) = iVar3; - *(int *)(unaff_s0_lo + 0x24) = iVar8; - if (iVar8 < iVar7) { - iVar7 = iVar8 * 0x10000 >> 0x10; - } - *(int *)(unaff_s0_lo + 0x1c) = iVar7; - strchr(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14),unaff_s1_lo,iVar7); - *(int *)(unaff_s0_lo + 0x20) = *(int *)(unaff_s0_lo + 0x24) - iVar7; - } - else { - if (iVar7 < iVar6) { - strchr(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14),unaff_s1_lo,iVar7); - iVar8 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + iVar7; - *(int *)(unaff_s0_lo + 0x18) = iVar6 - iVar7; - if ((0 < iVar8) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar8 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x1c) = *(int *)(unaff_s0_lo + 0x1c) + 1; - } - *(int *)(unaff_s0_lo + 0x20) = iVar8; - } - else { - strchr(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14),unaff_s1_lo,iVar6); - iVar8 = *(int *)(unaff_s0_lo + 0x24); - sVar2 = (short)iVar8; - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + iVar6; - iVar7 = (iVar7 - iVar6) * 0x10000 >> 0x10; - if ((0 < iVar8) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar8 = *(int *)(unaff_s0_lo + 0x24); - sVar2 = (short)iVar8; - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar8 < iVar7) { - iVar7 = (int)sVar2; - } - strchr(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14),unaff_s1_lo + iVar6,iVar7); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + iVar7; - *(int *)(unaff_s0_lo + 0x18) = *(int *)(unaff_s0_lo + 0x24) - iVar7; - } - } -LAB_7001c47c: - if (((*(uint *)(unaff_s0_lo + 0x30) & 0x14) == 0x10) && - (iVar7 = *(int *)(unaff_s0_lo + 0xc) + *(int *)(unaff_s0_lo + 0x14) + - *(int *)(unaff_s0_lo + 0x18) + *(int *)(unaff_s0_lo + 0x1c) + - *(int *)(unaff_s0_lo + 0x20), iVar7 < *(int *)(unaff_s0_lo + 0x28))) { - *(int *)(unaff_s0_lo + 0x10) = *(int *)(unaff_s0_lo + 0x28) - iVar7; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7001c880) overlaps instruction at (ram,0x7001c87c) -// - -void loc_7001E508(double *pdParm1,char cParm2) - -{ - char *pcVar1; - int iVar2; - undefined *puVar3; - int iVar4; - char cVar5; - uint uVar6; - ushort uVar7; - int iVar8; - ushort uVar9; - char *pcVar10; - char *pcVar11; - short sVar13; - uint uVar12; - ulonglong in_f0; - double dVar14; - uint in_register_00001010; - double dVar15; - int iStack92; - undefined4 uStack88; - ushort uStack54; - undefined uStack32; - char acStack31 [31]; - - dVar15 = *pdParm1; - if (*(int *)((int)pdParm1 + 0x24) < 0) { - *(undefined4 *)((int)pdParm1 + 0x24) = 6; - } - else { - if ((*(int *)((int)pdParm1 + 0x24) == 0) && ((cParm2 == 'g' || (cParm2 == 'G')))) { - *(undefined4 *)((int)pdParm1 + 0x24) = 1; - } - } - sVar13 = (short)((int)((uint)*(ushort *)pdParm1 & 0x7ff0) >> 4); - if (sVar13 == 0x7ff) { - uStack54 = 0; - if (((((*(ushort *)pdParm1 & 0xf) == 0) && (*(ushort *)((int)pdParm1 + 2) == 0)) && - (*(ushort *)((int)pdParm1 + 4) == 0)) && (*(ushort *)((int)pdParm1 + 6) == 0)) { - sVar13 = 1; - } - else { - sVar13 = 2; - } - } - else { - if (sVar13 == 0) { - sVar13 = 0; - if (true) { - uStack54 = 0; - } - else { - sVar13 = 2; - } - } - else { - uStack54 = sVar13 + -0x3fe; - *(ushort *)pdParm1 = *(ushort *)pdParm1 & 0x800f | 0x3ff0; - sVar13 = -1; - } - } - if (sVar13 < 1) { - if (sVar13 == 0) { - uStack54 = 0; - } - else { - iVar2 = 0; - pcVar10 = acStack31; - if (dVar15 < (double)((ulonglong)in_register_00001010 << 0x20)) { - dVar15 = -dVar15; - } - iVar4 = 6; - iVar8 = ((int)(short)uStack54 * 0x7597) / 100000 + -4; - uStack54 = (ushort)iVar8; - if (iVar8 * 0x10000 >> 0x10 < 0) { - uVar12 = 3U - (iVar8 * 0x10000 >> 0x10) & 0xfffffffc; - sVar13 = (short)uVar12; - while (uStack54 = -sVar13, 0 < (int)uVar12) { - uVar6 = uVar12 & 1; - uVar12 = (int)uVar12 >> 1; - if (uVar6 != 0) { - dVar15 = dVar15 * (double)(&DAT_80025200)[iVar2]; - } - iVar2 += 1; - } - } - else { - iVar2 = 0; - if (0 < (short)uStack54) { - dVar14 = (double)(in_f0 & 0xffffffff00000000); - uVar7 = uStack54 & 0xfffc; - while (0 < (short)uVar7) { - uVar9 = uVar7 & 1; - uVar7 = (short)uVar7 >> 1; - if (uVar9 != 0) { - dVar14 = dVar14 * (double)(&DAT_80025200)[iVar2]; - } - iVar2 += 1; - } - dVar15 = dVar15 / dVar14; - uStack54 = uStack54 & 0xfffc; - } - } - if (cParm2 == 'f') { - iVar4 = (int)(short)uStack54 + 10; - } - iVar4 += *(int *)((int)pdParm1 + 0x24); - if (0x13 < iVar4) { - iVar4 = 0x13; - } - uStack32 = 0x30; - if ((0 < iVar4) && ((double)((ulonglong)in_register_00001010 << 0x20) < dVar15)) { - do { - iVar2 = (int)dVar15; - iVar4 += -8; - pcVar10 = pcVar10 + 8; - if (0 < iVar4) { - dVar15 = (dVar15 - (double)iVar2) * DAT_80025258; - } - iVar8 = 8; - if ((0 < iVar2) && (iVar8 = 7, true)) { - do { - loc_70020CB8(&iStack92,iVar2,10); - pcVar10 = pcVar10 + -1; - *pcVar10 = (char)uStack88 + '0'; - if (iStack92 < 1) break; - iVar8 += -1; - iVar2 = iStack92; - } while (-1 < iVar8); - } - iVar2 = iVar8 + -2; - if (-1 < iVar8 + -1) { - while( true ) { - pcVar10 = pcVar10 + -1; - *pcVar10 = '0'; - if (iVar2 < 0) break; - iVar2 += -1; - } - } - pcVar10 = pcVar10 + 8; - } while ((0 < iVar4) && ((double)((ulonglong)in_register_00001010 << 0x20) < dVar15)); - } - uStack54 += 7; - pcVar10 = pcVar10 + (-1 - (int)&uStack32); - pcVar11 = acStack31; - while (acStack31[0] == '0') { - pcVar11 = pcVar11 + 1; - pcVar10 = pcVar10 + -1; - uStack54 += -1; - acStack31[0] = *pcVar11; - } - if (cParm2 == 'f') { - iVar2 = (int)(short)uStack54 + 1; - } - else { - if ((cParm2 == 'e') || (iVar2 = 0, cParm2 == 'E')) { - iVar2 = 1; - } - } - iVar2 = (iVar2 + *(int *)((int)pdParm1 + 0x24)) * 0x10000 >> 0x10; - if ((int)pcVar10 < iVar2) { - iVar2 = (int)(short)pcVar10; - } - if (0 < iVar2) { - if ((iVar2 < (int)pcVar10) && (0x34 < (byte)pcVar11[iVar2])) { - cVar5 = '9'; - } - else { - cVar5 = '0'; - } - iVar4 = iVar2 + -1; - if (cVar5 == pcVar11[iVar2 + -1]) { - pcVar10 = pcVar11 + iVar4; - do { - pcVar1 = pcVar10 + -1; - iVar4 += -1; - pcVar10 = pcVar10 + -1; - } while (cVar5 == *pcVar1); - } - if (cVar5 == '9') { - pcVar11[iVar4] = pcVar11[iVar4] + '\x01'; - } - if (iVar4 < 0) { - uStack54 += 1; - } - } - } - _Ldtob(); - } - else { - if (sVar13 == 2) { - puVar3 = &DAT_80025248; - } - else { - puVar3 = &DAT_8002524c; - } - *(undefined4 *)((int)pdParm1 + 0x14) = 3; - strchr(*(undefined4 *)(pdParm1 + 1),puVar3,3); - } - return; -} - - - -// WARNING: Could not reconcile some variable overlaps - -ulonglong __osPfsSelectBank(byte *pbParm1,int iParm2) - -{ - byte bVar1; - byte *pbStack12; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - uStack8._2_2_ = 0; - iStack4 = 0; - pbStack12 = pbParm1; - if (0 < iParm2) { - do { - bVar1 = *pbStack12; - pbStack12 = pbStack12 + 1; - iStack4 += 1; - uStack8 = uStack8 + (uint)bVar1 & 0xffff; - } while (iStack4 < iParm2); - } - return (ulonglong)uStack8._2_2_; -} - - - -undefined8 loc_7001EA34(int iParm1,short *psParm2,short *psParm3) - -{ - ushort uVar1; - uint uStack8; - - *psParm3 = 0; - *psParm2 = *psParm3; - uStack8 = 0; - do { - uVar1 = *(ushort *)(iParm1 + uStack8); - *psParm2 = *psParm2 + uVar1; - *psParm3 = *psParm3 + ~uVar1; - uStack8 += 2; - } while (uStack8 < 0x1c); - return 0; -} - - - -int loc_7001EE8C(int iParm1,int iParm2,undefined4 *puParm3) - -{ - undefined4 uVar1; - ushort auStack88 [4]; - int iStack80; - int iStack76; - bool bStack69; - byte abStack68 [32]; - byte abStack36 [32]; - int iStack4; - - iStack4 = 0; - bStack69 = false; - if (*(char *)(iParm1 + 0x65) != '\0') { - *(undefined *)(iParm1 + 0x65) = 0; - iStack4 = loc_7001F6C0(iParm1); - if (iStack4 != 0) { - return iStack4; - } - } - *puParm3 = 0xffffffff; - uVar1 = osGetCount(); - puParm3[1] = uVar1; - uVar1 = *(undefined4 *)(iParm2 + 0xc); - puParm3[2] = *(undefined4 *)(iParm2 + 8); - puParm3[3] = uVar1; - uVar1 = *(undefined4 *)(iParm2 + 0x14); - puParm3[4] = *(undefined4 *)(iParm2 + 0x10); - puParm3[5] = uVar1; - iStack80 = 0; - do { - *(undefined *)(iParm1 + 0x65) = (char)iStack80; - iStack4 = loc_7001F6C0(iParm1); - if (iStack4 != 0) { - return iStack4; - } - iStack4 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),0,abStack36); - if (iStack4 != 0) { - return iStack4; - } - abStack36[0] = (byte)iStack80 | 0x80; - iStack76 = 1; - do { - abStack36[iStack76] = ~abStack36[iStack76]; - iStack76 += 1; - } while (iStack76 < 0x20); - iStack4 = __osContRamWrite(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),0,abStack36,0 - ); - if (iStack4 != 0) { - return iStack4; - } - iStack4 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),0,abStack68); - if (iStack4 != 0) { - return iStack4; - } - iStack76 = 0; - do { - if (abStack36[iStack76] != abStack68[iStack76]) break; - iStack76 += 1; - } while (iStack76 < 0x20); - if (iStack76 != 0x20) break; - if (0 < iStack80) { - *(undefined *)(iParm1 + 0x65) = 0; - iStack4 = loc_7001F6C0(iParm1); - if (iStack4 != 0) { - return iStack4; - } - iStack4 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),0,abStack36) - ; - if (iStack4 != 0) { - return iStack4; - } - if (abStack36[0] != 0x80) break; - } - iStack80 += 1; - } while (iStack80 < 0x3e); - *(undefined *)(iParm1 + 0x65) = 0; - iStack4 = loc_7001F6C0(iParm1); - if (iStack4 == 0) { - bStack69 = 0 < iStack80; - *(ushort *)(puParm3 + 6) = *(ushort *)(iParm2 + 0x18) & 0xfffe | (ushort)bStack69; - *(undefined *)((int)puParm3 + 0x1a) = (char)iStack80; - *(undefined *)((int)puParm3 + 0x1b) = *(undefined *)(iParm2 + 0x1b); - loc_7001EA34(puParm3,puParm3 + 7,(int)puParm3 + 0x1e); - auStack88[0] = 1; - auStack88[1] = 3; - auStack88[2] = 4; - auStack88[3] = 6; - iStack76 = 0; - do { - iStack4 = __osContRamWrite(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - (ulonglong)auStack88[iStack76],puParm3,1); - if (iStack4 != 0) { - return iStack4; - } - iStack76 += 1; - } while (iStack76 < 4); - iStack4 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),1,abStack36); - if (iStack4 == 0) { - iStack76 = 0; - do { - if (*(byte *)((int)puParm3 + iStack76) != abStack36[iStack76]) { - return 10; - } - iStack76 += 1; - } while (iStack76 < 0x20); - iStack4 = 0; - } - } - return iStack4; -} - - - -int loc_7001F024(int iParm1,int iParm2) - -{ - undefined4 uVar1; - int iStack24; - int iStack20; - short sStack16; - short sStack14; - int iStack12; - ushort auStack8 [4]; - - iStack12 = 0; - if (*(char *)(iParm1 + 0x65) != '\0') { - *(undefined *)(iParm1 + 0x65) = 0; - iStack12 = loc_7001F6C0(iParm1); - if (iStack12 != 0) { - return iStack12; - } - } - auStack8[0] = 1; - auStack8[1] = 3; - auStack8[2] = 4; - auStack8[3] = 6; - iStack20 = 1; - do { - iStack12 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - (ulonglong)auStack8[iStack20],iParm2); - if (iStack12 != 0) { - return iStack12; - } - loc_7001EA34(iParm2,&sStack14,&sStack16); - } while (((*(short *)(iParm2 + 0x1c) != sStack14) || (*(short *)(iParm2 + 0x1e) != sStack16)) && - (iStack20 += 1, iStack20 < 4)); - if (iStack20 == 4) { - uVar1 = 10; - } - else { - iStack24 = 0; - do { - if ((iStack24 != iStack20) && - (iStack12 = __osContRamWrite(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - (ulonglong)auStack8[iStack24],iParm2,1), iStack12 != 0)) { - return iStack12; - } - iStack24 += 1; - } while (iStack24 < 4); - uVar1 = 0; - } - return uVar1; -} - - - -int loc_7001F280(int iParm1) - -{ - int iVar1; - undefined *puStack80; - undefined auStack72 [24]; - ushort uStack48; - undefined auStack40 [28]; - short sStack12; - short sStack10; - short sStack8; - short sStack6; - int iStack4; - - if (*(char *)(iParm1 + 0x65) != '\0') { - *(undefined *)(iParm1 + 0x65) = 0; - iVar1 = loc_7001F6C0(iParm1); - if (iVar1 != 0) { - return iVar1; - } - } - iVar1 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),1,auStack40); - if (iVar1 != 0) { - return iVar1; - } - loc_7001EA34(auStack40,&sStack6,&sStack8); - puStack80 = auStack40; - if ((sStack12 != sStack6) || (sStack10 != sStack8)) { - iVar1 = loc_7001F024(iParm1,puStack80); - if (iVar1 == 10) { - iVar1 = loc_7001EE8C(iParm1,puStack80,auStack72); - if (iVar1 != 0) { - return iVar1; - } - puStack80 = auStack72; - } - else { - if (iVar1 != 0) { - return iVar1; - } - } - } - if ((*(ushort *)(puStack80 + 0x18) & 1) == 0) { - iVar1 = loc_7001EE8C(iParm1,puStack80,auStack72); - if (iVar1 != 0) { - return iVar1; - } - puStack80 = auStack72; - if ((uStack48 & 1) == 0) { - return 0xb; - } - } - iStack4 = 0; - do { - *(undefined *)(iParm1 + iStack4 + 0xc) = puStack80[iStack4]; - iStack4 += 1; - } while (iStack4 < 0x20); - *(uint *)(iParm1 + 0x4c) = (uint)(byte)puStack80[0x1b]; - *(undefined *)(iParm1 + 100) = puStack80[0x1a]; - *(int *)(iParm1 + 0x60) = (uint)*(byte *)(iParm1 + 100) * 2 + 3; - *(undefined4 *)(iParm1 + 0x50) = 0x10; - *(undefined4 *)(iParm1 + 0x54) = 8; - *(int *)(iParm1 + 0x58) = (uint)*(byte *)(iParm1 + 100) * 8 + 8; - *(int *)(iParm1 + 0x5c) = *(int *)(iParm1 + 0x58) + (uint)*(byte *)(iParm1 + 100) * 8; - iVar1 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),7,iParm1 + 0x2c); - if (iVar1 == 0) { - iVar1 = 0; - } - return iVar1; -} - - - -int FUN_7001d300(int iParm1) - -{ - int iVar1; - char acStack36 [32]; - int iStack4; - - if (*(char *)(iParm1 + 0x65) != '\0') { - *(undefined *)(iParm1 + 0x65) = 0; - iVar1 = loc_7001F6C0(iParm1); - if (iVar1 != 0) { - return iVar1; - } - } - iVar1 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),1,acStack36); - if ((iVar1 == 0) || - ((iVar1 == 2 && - (iVar1 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),1,acStack36), - iVar1 == 0)))) { - iStack4 = 0; - do { - if (acStack36[iStack4] != *(char *)(iParm1 + iStack4 + 0xc)) { - return 2; - } - iStack4 += 1; - } while (iStack4 < 0x20); - iVar1 = 0; - } - return iVar1; -} - - - -int FUN_7001d3fc(int iParm1,int iParm2,char cParm3,byte bParm4) - -{ - int iVar1; - undefined uVar2; - char cVar3; - int iStack16; - int iStack12; - int iStack8; - - if (*(char *)(iParm1 + 0x65) != '\0') { - *(undefined *)(iParm1 + 0x65) = 0; - iVar1 = loc_7001F6C0(iParm1); - if (iVar1 != 0) { - return iVar1; - } - } - if (bParm4 == 0) { - iStack16 = *(int *)(iParm1 + 0x60); - } - else { - iStack16 = 1; - } - if (cParm3 == '\x01') { - uVar2 = __osPfsSelectBank(iParm2 + iStack16 * 2,iStack16 * -2 + 0x100); - *(undefined *)(iParm2 + 1) = uVar2; - } - iStack8 = 0; - do { - iVar1 = iParm2 + iStack8 * 0x20; - if (cParm3 == '\x01') { - __osContRamWrite(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - *(int *)(iParm1 + 0x54) + (uint)bParm4 * 8 + iStack8,iVar1,0); - iStack12 = __osContRamWrite(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - *(int *)(iParm1 + 0x58) + (uint)bParm4 * 8 + iStack8,iVar1,0); - } - else { - iStack12 = __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - *(int *)(iParm1 + 0x54) + (uint)bParm4 * 8 + iStack8,iVar1); - } - if (iStack12 != 0) { - return iStack12; - } - iStack8 += 1; - } while (iStack8 < 8); - if (cParm3 == '\0') { - cVar3 = __osPfsSelectBank(iParm2 + iStack16 * 2,iStack16 * -2 + 0x100); - if (*(char *)(iParm2 + 1) == cVar3) { - iStack8 = 0; - do { - __osContRamWrite(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - *(int *)(iParm1 + 0x58) + (uint)bParm4 * 8 + iStack8, - iParm2 + iStack8 * 0x20,0); - iStack8 += 1; - } while (iStack8 < 8); - } - else { - iStack8 = 0; - do { - __osContRamRead(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - *(int *)(iParm1 + 0x58) + (uint)bParm4 * 8 + iStack8,iParm2 + iStack8 * 0x20 - ); - iStack8 += 1; - } while (iStack8 < 8); - if (*(char *)(iParm2 + 1) != cVar3) { - return 3; - } - iStack8 = 0; - do { - __osContRamWrite(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8), - *(int *)(iParm1 + 0x54) + (uint)bParm4 * 8 + iStack8, - iParm2 + iStack8 * 0x20,0); - iStack8 += 1; - } while (iStack8 < 8); - } - } - return 0; -} - - - -undefined4 loc_7001F6C0(int iParm1) - -{ - undefined4 uVar1; - int iStack36; - undefined auStack32 [32]; - - iStack36 = 0; - do { - auStack32[iStack36] = *(undefined *)(iParm1 + 0x65); - iStack36 += 1; - } while (iStack36 < 0x20); - uVar1 = __osContRamWrite(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),0x400,auStack32,0 - ); - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong __osSiDeviceBusy(void) - -{ - return (ulonglong)((_DAT_a4800018 & 3) != 0); -} - - - -void guNormalize(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - float fVar1; - - fVar1 = (float)sqrtf(*pfParm3 * *pfParm3 + *pfParm1 * *pfParm1 + *pfParm2 * *pfParm2); - fVar1 = 1.00000000 / fVar1; - *pfParm1 = *pfParm1 * fVar1; - *pfParm2 = *pfParm2 * fVar1; - *pfParm3 = *pfParm3 * fVar1; - return; -} - - - -float sqrtf(float fParm1) - -{ - return SQRT(fParm1); -} - - - -void alFilterNew(undefined4 *puParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - *puParm1 = 0; - puParm1[1] = uParm2; - puParm1[2] = uParm3; - *(undefined2 *)(puParm1 + 3) = 0; - *(undefined2 *)((int)puParm1 + 0xe) = 0; - puParm1[4] = uParm4; - return; -} - - - -ulonglong alFxPull(int iParm1,int iParm2) - -{ - double dVar1; - float fVar2; - ulonglong in_f4; - uint in_register_00001040; - - *(float *)(iParm1 + 0x14) = *(float *)(iParm1 + 0x14) + *(float *)(iParm1 + 0x10) * (float)iParm2; - dVar1 = (double)*(float *)(iParm1 + 0x14); - if ((double)(in_f4 & 0xffffffff00000000) < dVar1) { - *(float *)(iParm1 + 0x14) = (float)(dVar1 - (double)((ulonglong)in_register_00001040 << 0x20)); - } - else { - *(float *)(iParm1 + 0x14) = *(float *)(iParm1 + 0x14); - } - fVar2 = *(float *)(iParm1 + 0x14); - if (fVar2 < 0.00000000) { - fVar2 = -fVar2; - } - return (ulonglong)dVar1 & 0xffffffff00000000 | - (ulonglong) - (uint)(*(float *)(iParm1 + 0x1c) * - (float)((double)fVar2 - (double)((ulonglong)in_register_00001040 << 0x20))); -} - - - -uint * _filterBuffer(int iParm1,undefined8 uParm2,uint uParm3,uint *puParm4) - -{ - uint uVar1; - - uVar1 = (uint)uParm2 & 0xffff; - puParm4[1] = uVar1 << 0x10 | (uParm3 & 0x7fff) << 1; - *puParm4 = uVar1 | 0x8000000; - puParm4[2] = 0xb000020; - uVar1 = osVirtualToPhysical(iParm1 + 8); - puParm4[3] = uVar1; - puParm4[4] = (*(uint *)(iParm1 + 0x2c) & 0xff) << 0x10 | 0xe000000 | - (int)*(short *)(iParm1 + 2) & 0xffffU; - uVar1 = osVirtualToPhysical(*(undefined4 *)(iParm1 + 0x28)); - puParm4[5] = uVar1; - *(undefined4 *)(iParm1 + 0x2c) = 0; - return puParm4 + 6; -} - - - -undefined4 * FUN_7001d9e0(int iParm1,uint uParm2,int iParm3,int iParm4,undefined4 *puParm5) - -{ - undefined4 uVar1; - uint uVar2; - uint uVar3; - uint uVar4; - int iVar5; - undefined4 *puVar6; - - iVar5 = *(int *)(iParm1 + 0x1c) * 2; - uVar3 = *(uint *)(iParm1 + 0x14) + iVar5; - if (uParm2 < *(uint *)(iParm1 + 0x14)) { - uParm2 += iVar5; - } - uVar2 = iParm4 * 2; - if (uVar3 < uVar2 + uParm2) { - *puParm5 = 0x8000000; - uVar4 = ((int)(uVar3 - uParm2) >> 1) * 2; - puParm5[1] = iParm3 << 0x10 | uVar4 & 0xffff; - puParm5[2] = 0x6000000; - uVar1 = osVirtualToPhysical(uParm2); - puParm5[3] = uVar1; - puParm5[4] = 0x8000000; - puParm5[5] = (uVar4 + iParm3) * 0x10000 | ((int)((uVar2 + uParm2) - uVar3) >> 1 & 0x7fffU) << 1; - puParm5[6] = 0x6000000; - uVar1 = osVirtualToPhysical(*(undefined4 *)(iParm1 + 0x14)); - puParm5[7] = uVar1; - puParm5[9] = uVar2 & 0xffff; - puParm5[8] = 0x8000000; - puVar6 = puParm5 + 10; - } - else { - *puParm5 = 0x8000000; - puParm5[1] = iParm3 << 0x10 | uVar2 & 0xffff; - puParm5[2] = 0x6000000; - puVar6 = puParm5 + 4; - uVar1 = osVirtualToPhysical(uParm2); - puParm5[3] = uVar1; - } - return puVar6; -} - - - -uint * FUN_7001db68(int iParm1,uint uParm2,uint uParm3,int iParm4,uint *puParm5) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - int iVar4; - uint uVar5; - uint *puVar6; - - iVar4 = *(int *)(iParm1 + 0x1c) * 2; - uVar3 = *(uint *)(iParm1 + 0x14) + iVar4; - if (uParm2 < *(uint *)(iParm1 + 0x14)) { - uParm2 += iVar4; - } - uVar2 = iParm4 * 2; - if (uVar3 < uVar2 + uParm2) { - uVar5 = ((int)(uVar3 - uParm2) >> 1) * 2; - *puParm5 = uParm3 & 0xffff | 0x8000000; - puParm5[1] = uVar5 & 0xffff; - puParm5[2] = 0x4000000; - uVar1 = osVirtualToPhysical(uParm2); - puParm5[3] = uVar1; - puParm5[4] = uVar5 + uParm3 & 0xffff | 0x8000000; - puParm5[5] = ((int)((uVar2 + uParm2) - uVar3) >> 1 & 0x7fffU) << 1; - puParm5[6] = 0x4000000; - puVar6 = puParm5 + 8; - uVar3 = osVirtualToPhysical(*(undefined4 *)(iParm1 + 0x14)); - puParm5[7] = uVar3; - } - else { - puParm5[1] = uVar2 & 0xffff; - *puParm5 = uParm3 & 0xffff | 0x8000000; - puParm5[2] = 0x4000000; - puVar6 = puParm5 + 4; - uVar3 = osVirtualToPhysical(uParm2); - puParm5[3] = uVar3; - } - *puVar6 = 0x8000000; - puVar6[1] = uVar2 & 0xffff; - return puVar6 + 2; -} - - - -uint * loc_7001FF90(int iParm1,int *piParm2,int iParm3,undefined8 uParm4,undefined4 uParm5) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - uint uVar4; - int iVar5; - float fVar6; - uint in_register_00001020; - float fVar7; - int iVar8; - - if (piParm2[9] == 0) { - puVar2 = (uint *)FUN_7001db68(iParm1,*(int *)(iParm1 + 0x18) + piParm2[1] * -2,iParm3,uParm4, - uParm5); - } - else { - iVar5 = piParm2[1]; - iVar8 = *piParm2; - fVar6 = (float)alFxPull(piParm2,uParm4); - uVar4 = (uint)uParm4; - fVar6 = (float)((double)((ulonglong)in_register_00001020 << 0x20) - - (double)((float)(int)((fVar6 / (float)(iVar5 - iVar8)) * 32768.00000000) / - 32768.00000000)); - fVar7 = *(float *)(piParm2[9] + 0x20) + fVar6 * (float)uVar4; - iVar8 = (int)fVar7; - *(float *)(piParm2[9] + 0x20) = fVar7 - (float)iVar8; - uVar3 = *(int *)(iParm1 + 0x18) + (piParm2[1] - piParm2[6]) * -2; - iVar5 = (int)(uVar3 & 7) >> 1; - puVar1 = (uint *)FUN_7001db68(iParm1,uVar3 + iVar5 * -2,0x280,iVar8 + iVar5,uParm5); - *puVar1 = iVar5 * 2 + 0x280U | 0x8000000; - puVar1[1] = iParm3 << 0x10 | (uVar4 & 0x7fff) << 1; - puVar2 = puVar1 + 4; - puVar1[2] = (*(uint *)(piParm2[9] + 0x24) & 0xff) << 0x10 | 0x5000000 | - (int)(fVar6 * 32768.00000000) & 0xffffU; - uVar3 = osVirtualToPhysical(*(undefined4 *)(piParm2[9] + 0x14)); - puVar1[3] = uVar3; - *(undefined4 *)(piParm2[9] + 0x24) = 0; - piParm2[6] = (piParm2[6] + iVar8) - uVar4; - } - return puVar2; -} - - - -undefined8 locret_700201D0(undefined4 *puParm1,longlong lParm2,undefined4 uParm3) - -{ - if (lParm2 == 1) { - *puParm1 = uParm3; - } - return 0; -} - - - -uint * loc_700204C4(int *piParm1,undefined8 uParm2,undefined8 uParm3) - -{ - undefined4 *puVar1; - int iVar2; - uint *puVar3; - uint uVar4; - int *piVar5; - short sVar6; - int iVar7; - longlong lVar8; - uint uVar9; - uint uVar10; - int iVar11; - - puVar1 = (undefined4 *)(**(code **)(*piParm1 + 4))(); - uVar4 = (int)uParm3 * 2; - *puVar1 = 0x8000000; - puVar1[1] = uVar4 & 0xffff; - puVar1[2] = 0xc00da83; - puVar1[3] = 0x6c006c0; - puVar1[4] = 0xc005a82; - puVar1[5] = 0x80006c0; - uVar10 = 0; - uVar9 = 0x140; - puVar1 = (undefined4 *)FUN_7001d9e0(piParm1,piParm1[6],0x6c0,uParm3,puVar1 + 6); - iVar2 = 0; - *puVar1 = 0x2000800; - puVar1[1] = uVar4; - puVar3 = puVar1 + 2; - lVar8 = 0; - if (*(char *)(piParm1 + 9) == '\0') { - iVar2 = piParm1[7]; - } - else { - iVar11 = piParm1[6]; - do { - piVar5 = (int *)(piParm1[8] + (int)lVar8 * 0x28); - iVar7 = iVar11 + *piVar5 * -2; - iVar11 += piVar5[1] * -2; - if (iVar7 == iVar2) { - sVar6 = (short)uVar10; - uVar10 = SEXT24((short)uVar9); - uVar9 = SEXT24(sVar6); - } - else { - puVar3 = (uint *)FUN_7001db68(piParm1,iVar7,uVar10,uParm3,puVar3); - } - puVar3 = (uint *)loc_7001FF90(piParm1,piVar5,uVar9,uParm3,puVar3); - if (*(short *)(piVar5 + 2) == 0) { -LAB_7001e320: - sVar6 = *(short *)((int)piVar5 + 10); - } - else { - *puVar3 = (int)*(short *)(piVar5 + 2) & 0xffffU | 0xc000000; - puVar3[1] = uVar10 << 0x10 | uVar9; - puVar3 = puVar3 + 2; - if (piVar5[9] == 0) { - if (piVar5[8] == 0) { - puVar3 = (uint *)FUN_7001d9e0(piParm1,iVar11,uVar9,uParm3,puVar3); - } - goto LAB_7001e320; - } - sVar6 = *(short *)((int)piVar5 + 10); - } - if (sVar6 != 0) { - *puVar3 = (int)sVar6 & 0xffffU | 0xc000000; - puVar3[1] = uVar9 << 0x10 | uVar10; - puVar3 = (uint *)FUN_7001d9e0(piParm1,iVar7,uVar10,uParm3,puVar3 + 2); - } - if (piVar5[8] == 0) { - iVar2 = piVar5[9]; - } - else { - puVar3 = (uint *)_filterBuffer(piVar5[8],uVar9,uParm3,puVar3); - iVar2 = piVar5[9]; - } - if (iVar2 == 0) { - puVar3 = (uint *)FUN_7001d9e0(piParm1,iVar11,uVar9,uParm3,puVar3); - } - lVar8 = (longlong)(((int)lVar8 + 1) * 0x10000 >> 0x10); - if (*(short *)(piVar5 + 3) != 0) { - *puVar3 = (int)*(short *)(piVar5 + 3) & 0xffffU | 0xc000000; - puVar3[1] = uVar9 << 0x10 | 0x800; - puVar3 = puVar3 + 2; - } - iVar11 = piParm1[6]; - iVar2 = iVar11 + piVar5[1] * 2; - } while (lVar8 < (longlong)(ulonglong)*(byte *)(piParm1 + 9)); - iVar2 = piParm1[7]; - } - uVar10 = piParm1[6] + uVar4; - piParm1[6] = uVar10; - if ((uint)(piParm1[5] + iVar2 * 2) < uVar10) { - piParm1[6] = uVar10 + iVar2 * -2; - } - *puVar3 = 0xa000800; - puVar3[1] = uVar4 & 0xffff | 0x6c00000; - return puVar3 + 2; -} - - - -void alSeqSetLoc(int iParm1,undefined4 *puParm2) - -{ - *(undefined4 *)(iParm1 + 8) = *puParm2; - *(undefined2 *)(iParm1 + 0x1a) = *(undefined2 *)(puParm2 + 3); - *(undefined4 *)(iParm1 + 0xc) = puParm2[1]; - return; -} - - - -undefined4 alSeqGetTicks(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0xc); -} - - - -ulonglong locret_700205AC(int iParm1) - -{ - byte bVar1; - ulonglong uVar2; - - bVar1 = **(byte **)(iParm1 + 8); - uVar2 = (ulonglong)bVar1; - *(byte **)(iParm1 + 8) = *(byte **)(iParm1 + 8) + 1; - if ((bVar1 & 0x80) != 0) { - uVar2 &= 0x7f; - do { - bVar1 = **(byte **)(iParm1 + 8); - *(byte **)(iParm1 + 8) = *(byte **)(iParm1 + 8) + 1; - uVar2 = SEXT48((int)((int)uVar2 * 0x80 + ((uint)bVar1 & 0x7f))); - } while ((bVar1 & 0x80) != 0); - } - return uVar2; -} - - - -void FUN_7001e524(undefined8 uParm1,undefined8 uParm2) - -{ - byte bVar1; - undefined uVar2; - undefined2 uVar3; - byte *pbVar4; - int iVar5; - int extraout_a2_lo; - undefined2 *extraout_a3_lo; - - iVar5 = locret_700205AC(uParm1,uParm2,uParm1,uParm2); - pbVar4 = *(byte **)(extraout_a2_lo + 8); - *(int *)(extraout_a2_lo + 0xc) = *(int *)(extraout_a2_lo + 0xc) + iVar5; - bVar1 = *pbVar4; - *(byte **)(extraout_a2_lo + 8) = pbVar4 + 1; - if (bVar1 == 0xff) { - bVar1 = pbVar4[1]; - *(byte **)(extraout_a2_lo + 8) = pbVar4 + 2; - if (bVar1 == 0x51) { - *extraout_a3_lo = 3; - *(int *)(extraout_a3_lo + 2) = iVar5; - *(undefined *)(extraout_a3_lo + 4) = 0xff; - *(undefined *)((int)extraout_a3_lo + 9) = 0x51; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 0xb) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 6) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 0xd) = uVar2; - } - else { - if (bVar1 == 0x2f) { - *extraout_a3_lo = 4; - *(int *)(extraout_a3_lo + 2) = iVar5; - *(undefined *)(extraout_a3_lo + 4) = 0xff; - *(undefined *)((int)extraout_a3_lo + 9) = 0x2f; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - } - } - *(undefined2 *)(extraout_a2_lo + 0x1a) = 0; - } - else { - *extraout_a3_lo = 1; - *(int *)(extraout_a3_lo + 2) = iVar5; - if ((bVar1 & 0x80) == 0) { - uVar3 = *(undefined2 *)(extraout_a2_lo + 0x1a); - *(byte *)((int)extraout_a3_lo + 9) = bVar1; - *(char *)(extraout_a3_lo + 4) = (char)uVar3; - } - else { - *(byte *)(extraout_a3_lo + 4) = bVar1; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 9) = uVar2; - *(ushort *)(extraout_a2_lo + 0x1a) = (ushort)bVar1; - } - if ((*(byte *)(extraout_a3_lo + 4) & 0xf0) == 0xc0) { - *(undefined *)(extraout_a3_lo + 5) = 0; - } - else { - if ((*(byte *)(extraout_a3_lo + 4) & 0xf0) == 0xd0) { - *(undefined *)(extraout_a3_lo + 5) = 0; - } - else { - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - } - } - } - return; -} - - - -void FUN_7001e6a8(int iParm1,undefined4 *puParm2,uint uParm3) - -{ - undefined2 uVar1; - undefined4 uVar2; - undefined4 uVar3; - uint uVar4; - undefined4 uVar5; - undefined2 uVar6; - short asStack16 [8]; - - if (uParm3 == 0) { - uVar2 = *(undefined4 *)(iParm1 + 4); - *(undefined2 *)(puParm2 + 3) = 0; - puParm2[1] = 0; - puParm2[2] = 0; - *puParm2 = uVar2; - } - else { - uVar2 = *(undefined4 *)(iParm1 + 8); - uVar1 = *(undefined2 *)(iParm1 + 0x1a); - uVar3 = *(undefined4 *)(iParm1 + 0xc); - *(undefined2 *)(iParm1 + 0x1a) = 0; - *(undefined4 *)(iParm1 + 0xc) = 0; - *(undefined4 *)(iParm1 + 8) = *(undefined4 *)(iParm1 + 4); - uVar5 = *(undefined4 *)(iParm1 + 8); - uVar4 = 0; - while( true ) { - uVar6 = *(undefined2 *)(iParm1 + 0x1a); - FUN_7001e524(iParm1,asStack16); - if (asStack16[0] == 4) break; - if (uParm3 <= *(uint *)(iParm1 + 0xc)) goto LAB_7001e770; - uVar5 = *(undefined4 *)(iParm1 + 8); - uVar4 = *(uint *)(iParm1 + 0xc); - } - uVar5 = *(undefined4 *)(iParm1 + 8); - uVar6 = *(undefined2 *)(iParm1 + 0x1a); - uVar4 = *(uint *)(iParm1 + 0xc); -LAB_7001e770: - *puParm2 = uVar5; - *(undefined2 *)(puParm2 + 3) = uVar6; - puParm2[1] = uVar4; - puParm2[2] = *(undefined4 *)(iParm1 + 0xc); - *(undefined4 *)(iParm1 + 8) = uVar2; - *(undefined2 *)(iParm1 + 0x1a) = uVar1; - *(undefined4 *)(iParm1 + 0xc) = uVar3; - } - return; -} - - - -ulonglong loc_700209D8(int *piParm1,undefined4 *puParm2) - -{ - uint uVar1; - bool bVar2; - undefined8 unaff_1000003d; - undefined4 uVar3; - int extraout_a2_lo; - undefined4 extraout_a3_lo; - - uVar1 = piParm1[2]; - bVar2 = uVar1 < (uint)(*piParm1 + piParm1[4]); - if (bVar2) { - uVar3 = locret_700205AC(piParm1,puParm2,unaff_1000003d,uVar1); - *puParm2 = uVar3; - *(undefined4 *)(extraout_a2_lo + 8) = extraout_a3_lo; - } - return (ulonglong)bVar2; -} - - - -ulonglong read32(int iParm1) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - byte bVar4; - byte *pbVar5; - - pbVar5 = *(byte **)(iParm1 + 8); - bVar1 = *pbVar5; - *(byte **)(iParm1 + 8) = pbVar5 + 1; - bVar2 = pbVar5[1]; - *(byte **)(iParm1 + 8) = pbVar5 + 2; - bVar3 = pbVar5[2]; - *(byte **)(iParm1 + 8) = pbVar5 + 3; - bVar4 = pbVar5[3]; - *(byte **)(iParm1 + 8) = pbVar5 + 4; - return (longlong)(int)((uint)bVar1 << 0x18 | (uint)bVar2 << 0x10 | (uint)bVar3 << 8) | - (ulonglong)bVar4; -} - - - -undefined2 read16(int iParm1) - -{ - undefined uVar1; - undefined uVar2; - undefined *puVar3; - - puVar3 = *(undefined **)(iParm1 + 8); - uVar1 = *puVar3; - *(undefined **)(iParm1 + 8) = puVar3 + 1; - uVar2 = puVar3[1]; - *(undefined **)(iParm1 + 8) = puVar3 + 2; - return CONCAT11(uVar1,uVar2); -} - - - -void FUN_7001e9d8(undefined4 *puParm1,undefined4 uParm2,undefined4 uParm3) - -{ - longlong lVar1; - undefined2 uVar2; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 extraout_a3_01; - undefined8 extraout_a3_02; - int extraout_a3_lo; - undefined8 extraout_a3_03; - int extraout_a3_lo_00; - uint in_register_00001020; - - *puParm1 = uParm2; - puParm1[4] = uParm3; - *(undefined2 *)((int)puParm1 + 0x1a) = 0; - puParm1[3] = 0; - puParm1[2] = uParm2; - lVar1 = read32(); - if (lVar1 == 0x4d546864) { - read32(extraout_a3); - lVar1 = read16(extraout_a3_00); - if ((lVar1 == 0) && (lVar1 = read16(extraout_a3_01), lVar1 == 1)) { - uVar2 = read16(extraout_a3_02); - *(undefined2 *)(extraout_a3_lo + 0x18) = uVar2; - if (((longlong)*(short *)(extraout_a3_lo + 0x18) & 0x8000U) == 0) { - *(float *)(extraout_a3_lo + 0x14) = - (float)((double)((ulonglong)in_register_00001020 << 0x20) / - (double)(int)*(short *)(extraout_a3_lo + 0x18)); - lVar1 = read32(extraout_a3_lo); - if (lVar1 == 0x4d54726b) { - read32(extraout_a3_03); - *(undefined4 *)(extraout_a3_lo_00 + 4) = *(undefined4 *)(extraout_a3_lo_00 + 8); - } - } - } - } - return; -} - - - -void alSynSetPriority(undefined8 uParm1,int iParm2,undefined2 uParm3) - -{ - *(undefined2 *)(iParm2 + 0x16) = uParm3; - return; -} - - - -void ldiv(int *piParm1,undefined8 uParm2,undefined8 uParm3,undefined8 uParm4,int iParm5,uint uParm6) - -{ - undefined8 uVar1; - int iVar2; - undefined4 in_v1_hi; - int in_v1_lo; - int iVar3; - int iStack16; - int iStack12; - int iStack8; - uint uStack4; - - uVar1 = loc_7000ED94(uParm3,uParm4,iParm5,uParm6); - iStack16 = (int)uVar1; - iVar3 = in_v1_lo; - iVar2 = __ll_mul(iParm5,uParm6,uVar1,CONCAT44(in_v1_hi,in_v1_lo)); - iStack8 = ((int)uParm3 - iVar2) - - (uint)((ulonglong)(longlong)(int)uParm4 < CONCAT44(in_v1_hi,iVar3)); - uStack4 = (int)uParm4 - iVar3; - iStack12 = in_v1_lo; - if ((((iStack16 < 1) && (iStack12 = in_v1_lo, iStack16 < 0)) && - (iStack12 = in_v1_lo, -1 < iStack8)) && ((0 < iStack8 || (iStack12 = in_v1_lo, uStack4 != 0))) - ) { - iStack16 += (uint)(in_v1_lo + 1 == 0); - iStack8 = (iStack8 - iParm5) - (uint)(uStack4 < uParm6); - uStack4 -= uParm6; - iStack12 = in_v1_lo + 1; - } - *piParm1 = iStack16; - piParm1[1] = iStack12; - piParm1[2] = iStack8; - piParm1[3] = uStack4; - return; -} - - - -int * loc_70020CB8(int *piParm1,longlong lParm2,longlong lParm3) - -{ - int iVar1; - int local_8; - int local_4; - - iVar1 = (int)lParm3; - local_8 = (int)lParm2 / iVar1; - if (lParm3 == 0) { - trap(0x1c00); - } - if ((lParm3 == -1) && (lParm2 == -0x80000000)) { - trap(0x1800); - } - local_4 = (int)lParm2 - iVar1 * local_8; - if (local_8 < 0) { - if (0 < local_4) { - local_8 += 1; - local_4 -= iVar1; - } - } - *piParm1 = local_8; - piParm1[1] = local_4; - return piParm1; -} - - - -// WARNING: Instruction at (ram,0x70200594) overlaps instruction at (ram,0x70200590) -// -// WARNING: Could not reconcile some variable overlaps - -ulonglong decompress_entry(int *piParm1,uint uParm2,uint uParm3,int iParm4,int iParm5,uint *puParm6, - uint *puParm7) - -{ - uint *puVar1; - uint uVar2; - int *piVar3; - int iVar4; - int iVar5; - uint uVar6; - uint uVar7; - int *piVar8; - uint *puVar9; - int iVar10; - uint uVar11; - uint *puVar12; - uint *puVar13; - int iVar14; - undefined4 *puVar15; - uint uVar16; - uint uVar17; - uint uVar18; - uint uVar19; - uint uVar20; - uint uVar21; - uint uVar22; - int *piVar23; - uint *puVar24; - uint *puStack1440; - uint auStack1404 [2]; - int aiStack1396 [16]; - uint auStack1332 [288]; - uint auStack180 [16]; - undefined4 uStack116; - uint uStack112; - uint uStack72; - int aiStack68 [15]; - int iStack8; - int iStack4; - - piVar3 = aiStack68; - do { - piVar23 = piVar3 + 4; - piVar3[1] = 0; - piVar3[2] = 0; - piVar3[3] = 0; - *piVar3 = 0; - piVar3 = piVar23; - } while (piVar23 != &iStack4); - uVar16 = uParm2; - piVar3 = piParm1; - if (-(uParm2 & 3) == 0) goto LAB_702000a4; - uVar16 = uParm2; - piVar23 = piParm1; - do { - iVar4 = *piVar23; - uVar16 -= 1; - piVar23 = piVar23 + 1; - (&uStack72)[iVar4] = (&uStack72)[iVar4] + 1; - } while (-(uParm2 & 3) + uParm2 != uVar16); - while (piVar3 = piVar23, uVar16 != 0) { -LAB_702000a4: - uVar16 -= 4; - piVar23 = piVar3 + 4; - puVar12 = &uStack72 + *piVar3; - *puVar12 = *puVar12 + 1; - puVar12 = &uStack72 + piVar3[1]; - *puVar12 = *puVar12 + 1; - puVar12 = &uStack72 + piVar3[2]; - *puVar12 = *puVar12 + 1; - puVar12 = &uStack72 + piVar3[3]; - *puVar12 = *puVar12 + 1; - } - uVar16 = 1; - puVar12 = (uint *)aiStack68; - if (uParm2 == 0) { - *puParm6 = 0; - *puParm7 = 0; - return 0; - } - do { - if (*puVar12 != 0) break; - uVar16 += 1; - puVar12 = puVar12 + 1; - } while (uVar16 != 0x11); - uVar20 = *puParm7; - if (*puParm7 < uVar16) { - uVar20 = uVar16; - } - uVar17 = 0x10; - piVar3 = &iStack8; - do { - if (*piVar3 != 0) break; - uVar17 -= 1; - piVar3 = piVar3 + -1; - } while (uVar17 != 0); - if (uVar17 < uVar20) { - uVar20 = uVar17; - } - *puParm7 = uVar20; - iVar4 = 1 << (uVar16 & 0x1f); - if (uVar16 < uVar17) { - do { - uVar18 = *puVar12; - puVar12 = puVar12 + 1; - iVar4 = (iVar4 - uVar18) * 2; - } while (puVar12 < &uStack72 + uVar17); - } - uVar18 = uVar17 - 1; - iVar10 = 0; - iVar4 -= *piVar3; - *piVar3 = *piVar3 + iVar4; - piVar23 = aiStack68; - piVar8 = aiStack1396; - puVar12 = (uint *)(piVar3 + -1); - if (uVar18 != 0) { - if (-(uVar18 & 3) != 0) { - do { - puVar12 = puVar12 + -1; - piVar3 = piVar8 + 1; - iVar10 += *piVar23; - *piVar8 = iVar10; - piVar23 = piVar23 + 1; - piVar8 = piVar3; - } while (&uStack72 + -(uVar18 & 3) + uVar18 != puVar12); - piVar8 = piVar3; - if (puVar12 == &uStack72) goto LAB_70200290; - } - do { - iVar14 = *piVar23; - puVar12 = puVar12 + -4; - *piVar8 = iVar10 + iVar14; - iVar10 = iVar10 + iVar14 + piVar23[1]; - piVar8[1] = iVar10; - iVar10 += piVar23[2]; - piVar8[2] = iVar10; - iVar10 += piVar23[3]; - piVar8[3] = iVar10; - piVar23 = piVar23 + 4; - piVar8 = piVar8 + 4; - } while (puVar12 != &uStack72); - } -LAB_70200290: - uVar18 = 0; - puVar12 = auStack1332; - iVar10 = *piParm1; - while( true ) { - piParm1 = piParm1 + 1; - if (iVar10 != 0) { - uVar19 = auStack1404[iVar10]; - puVar12[uVar19] = uVar18; - auStack1404[iVar10] = uVar19 + 1; - } - uVar18 += 1; - if (uParm2 <= uVar18) break; - iVar10 = *piParm1; - } - uVar19 = 0; - iVar10 = -1; - uVar18 = -uVar20; - uVar7 = 0; - uVar6 = 0; - if ((int)uVar16 <= (int)uVar17) { - puStack1440 = &uStack72 + uVar16; - do { - iVar14 = iVar10 * 4; - if (*puStack1440 != 0) { - puVar13 = auStack1404 + iVar10; - uVar22 = 1 << (uVar16 + 0x1f & 0x1f); - puVar24 = puVar12; - uVar11 = *puStack1440; - do { - uVar21 = uVar11 - 1; - if ((int)(uVar18 + uVar20) < (int)uVar16) { - uVar2 = uVar18 + uVar20; - puVar12 = (uint *)((int)auStack180 + iVar14); - do { - uVar18 = uVar2; - iVar10 += 1; - iVar14 += 4; - puVar13 = puVar13 + 1; - uVar7 = uVar17 - uVar18; - if (uVar20 < uVar17 - uVar18) { - uVar7 = uVar20; - } - uVar2 = uVar16 - uVar18; - uVar6 = 1 << (uVar2 & 0x1f); - if (uVar11 < uVar6) { - iVar5 = (uVar6 - uVar21) + -1; - puVar9 = &uStack72 + uVar16; - while (uVar2 += 1, uVar2 < uVar7) { - puVar1 = puVar9 + 1; - puVar9 = puVar9 + 1; - if ((uint)(iVar5 * 2) <= *puVar1) break; - iVar5 = iVar5 * 2 - *puVar1; - } - } - uVar6 = 1 << (uVar2 & 0x1f); - iVar5 = DAT_70201598 * 8; - DAT_70201598 = DAT_70201598 + uVar6 + 1; - iVar5 += DAT_70201490; - uVar7 = iVar5 + 8; - *puParm6 = uVar7; - *(undefined4 *)(iVar5 + 4) = 0; - puParm6 = (uint *)(iVar5 + 4); - puVar12[1] = uVar7; - if (iVar10 != 0) { - *puVar13 = uVar19; - uStack116._1_3_ = CONCAT12((char)uVar20,uStack116._2_2_); - uStack116 = CONCAT13((char)uVar2 + '\x10',uStack116._1_3_); - puVar15 = (undefined4 *)(*puVar12 + (uVar19 >> (uVar18 - uVar20 & 0x1f)) * 8); - *puVar15 = uStack116; - puVar15[1] = uVar7; - uStack112 = uVar7; - } - uVar2 = uVar18 + uVar20; - puVar12 = puVar12 + 1; - } while ((int)(uVar18 + uVar20) < (int)uVar16); - } - uStack116._1_3_ = CONCAT12((char)(uVar16 - uVar18),uStack116._2_2_); - if (puVar24 < auStack1332 + uParm2) { - uVar11 = *puVar24; - if (uVar11 < uParm3) { - if (uVar11 < 0x100) { - uStack116 = CONCAT13(0x10,uStack116._1_3_); - } - else { - uStack116 = CONCAT13(0xf,uStack116._1_3_); - } - puVar12 = puVar24 + 1; - uStack112 = uStack112 & 0xffff | *puVar24 << 0x10; - } - else { - puVar12 = puVar24 + 1; - uStack116 = CONCAT13(*(undefined *)((uVar11 - uParm3) + iParm5),uStack116._1_3_); - uStack112 = uStack112 & 0xffff | - (uint)*(ushort *)(iParm4 + *puVar24 * 2 + uParm3 * -2) << 0x10; - } - } - else { - uStack116 = CONCAT13(99,uStack116._1_3_); - puVar12 = puVar24; - } - uVar11 = uVar19 >> (uVar18 & 0x1f); - if (uVar11 < uVar6) { - do { - puVar15 = (undefined4 *)(uVar7 + uVar11 * 8); - *puVar15 = uStack116; - uVar11 += 1 << (uVar16 - uVar18 & 0x1f); - puVar15[1] = uStack112; - } while (uVar11 < uVar6); - } - uVar2 = uVar19 & uVar22; - uVar11 = uVar22; - while (uVar2 != 0) { - uVar19 ^= uVar11; - uVar2 = uVar19 & uVar11 >> 1; - uVar11 = uVar11 >> 1; - } - uVar19 ^= uVar11; - if ((uVar19 & (1 << (uVar18 & 0x1f)) - 1U) != *puVar13) { - do { - uVar18 -= uVar20; - puVar24 = puVar13 + -1; - iVar10 += -1; - iVar14 += -4; - puVar13 = puVar13 + -1; - } while ((uVar19 & (1 << (uVar18 & 0x1f)) - 1U) != *puVar24); - } - puVar24 = puVar12; - uVar11 = uVar21; - } while (uVar21 != 0); - } - uVar16 += 1; - puStack1440 = puStack1440 + 1; - } while ((int)uVar16 <= (int)uVar17); - } - return (ulonglong)(iVar4 != 0 && uVar17 != 1); -} - - - -undefined8 loc_70200A18(int iParm1,int iParm2,ulonglong uParm3,uint uParm4) - -{ - byte bVar1; - ushort uVar2; - ushort uVar3; - uint uVar4; - int iVar5; - int iVar6; - int iVar7; - ulonglong uVar8; - uint uVar9; - byte *pbVar10; - ulonglong uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - undefined *puVar15; - byte *pbVar16; - undefined *puVar17; - - uVar11 = SEXT48(DAT_70201568); - uVar2 = *(ushort *)(&DAT_7020156c + (int)uParm3 * 2); - uVar3 = *(ushort *)(&DAT_7020156c + uParm4 * 2); - while( true ) { - while( true ) { - while (uVar14 = (uint)uVar11, uVar11 < uParm3) { - pbVar10 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar11 = SEXT48((int)(uVar14 + 8)); - DAT_70201564 |= (uint)*pbVar10 << (uVar14 & 0x1f); - } - pbVar10 = (byte *)((DAT_70201564 & (uint)uVar2) * 8 + iParm1); - uVar8 = (ulonglong)*pbVar10; - if (*pbVar10 < 0x11) { - bVar1 = pbVar10[1]; - } - else { - bVar1 = pbVar10[1]; - while( true ) { - iVar5 = (int)uVar8 + -0x10; - uVar14 = (int)uVar11 - (uint)bVar1; - DAT_70201564 >>= (uint)bVar1 & 0x1f; - while (uVar11 = SEXT48((int)uVar14), uVar11 < (ulonglong)(longlong)iVar5) { - pbVar16 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = uVar14 & 0x1f; - uVar14 += 8; - DAT_70201564 |= (uint)*pbVar16 << uVar12; - } - pbVar10 = (byte *)(((uint)*(ushort *)(&DAT_7020156c + iVar5 * 2) & DAT_70201564) * 8 + - *(int *)(pbVar10 + 4)); - uVar8 = (ulonglong)*pbVar10; - if (*pbVar10 < 0x11) break; - bVar1 = pbVar10[1]; - } - bVar1 = pbVar10[1]; - } - DAT_70201564 >>= (uint)bVar1 & 0x1f; - DAT_70201568 = uVar14 - (uint)bVar1; - uVar11 = SEXT48(DAT_70201568); - if (uVar8 != 0x10) break; - puVar15 = (undefined *)(DAT_70201484 + DAT_7020148c); - DAT_7020148c += 1; - *puVar15 = (char)*(undefined2 *)(pbVar10 + 4); - } - if (uVar8 == 0xf) break; - uVar14 = (uint)uVar8; - while (uVar11 < uVar8) { - pbVar16 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = (uint)uVar11; - DAT_70201568 = uVar12 + 8; - uVar11 = SEXT48(DAT_70201568); - DAT_70201564 |= (uint)*pbVar16 << (uVar12 & 0x1f); - } - uVar12 = DAT_70201568 - uVar14; - uVar13 = DAT_70201564 >> (uVar14 & 0x1f); - uVar14 = ((uint)*(ushort *)(&DAT_7020156c + uVar14 * 2) & DAT_70201564) + - (uint)*(ushort *)(pbVar10 + 4); - while (uVar12 < uParm4) { - pbVar10 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar9 = uVar12 & 0x1f; - uVar12 += 8; - uVar13 |= (uint)*pbVar10 << uVar9; - } - pbVar10 = (byte *)((uVar13 & (uint)uVar3) * 8 + iParm2); - uVar11 = (ulonglong)*pbVar10; - if (*pbVar10 < 0x11) { - bVar1 = pbVar10[1]; - } - else { - bVar1 = pbVar10[1]; - while( true ) { - uVar9 = (int)uVar11 - 0x10; - uVar12 -= (uint)bVar1; - uVar13 >>= (uint)bVar1 & 0x1f; - while (uVar12 < uVar9) { - pbVar16 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar4 = uVar12 & 0x1f; - uVar12 += 8; - uVar13 |= (uint)*pbVar16 << uVar4; - } - pbVar10 = (byte *)(((uint)*(ushort *)(&DAT_7020156c + uVar9 * 2) & uVar13) * 8 + - *(int *)(pbVar10 + 4)); - uVar11 = (ulonglong)*pbVar10; - if (*pbVar10 < 0x11) break; - bVar1 = pbVar10[1]; - } - bVar1 = pbVar10[1]; - } - uVar12 -= (uint)bVar1; - uVar13 >>= (uint)bVar1 & 0x1f; - while ((ulonglong)(longlong)(int)uVar12 < uVar11) { - pbVar16 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar9 = uVar12 & 0x1f; - uVar12 += 8; - uVar13 |= (uint)*pbVar16 << uVar9; - } - uVar9 = (uint)uVar11; - uVar11 = SEXT48((int)(uVar12 - uVar9)); - iVar5 = (DAT_7020148c - (uint)*(ushort *)(pbVar10 + 4)) - - ((uint)*(ushort *)(&DAT_7020156c + uVar9 * 2) & uVar13); - DAT_70201564 = uVar13 >> (uVar9 & 0x1f); - while( true ) { - if (-(uVar14 & 3) == 0) goto LAB_70200990; - uVar12 = -(uVar14 & 3) + uVar14; - do { - uVar14 -= 1; - puVar15 = (undefined *)(iVar5 + DAT_70201484); - puVar17 = (undefined *)(DAT_70201484 + DAT_7020148c); - DAT_7020148c += 1; - iVar5 += 1; - *puVar17 = *puVar15; - } while (uVar12 != uVar14); - while (uVar14 != 0) { -LAB_70200990: - uVar14 -= 4; - *(undefined *)(DAT_70201484 + DAT_7020148c) = *(undefined *)(iVar5 + DAT_70201484); - *(undefined *)(DAT_70201484 + DAT_7020148c + 1) = *(undefined *)(iVar5 + 1 + DAT_70201484); - iVar6 = iVar5 + 3; - *(undefined *)(DAT_70201484 + DAT_7020148c + 2) = *(undefined *)(iVar5 + 2 + DAT_70201484); - iVar7 = DAT_7020148c + 3; - DAT_7020148c += 4; - iVar5 += 4; - *(undefined *)(DAT_70201484 + iVar7) = *(undefined *)(iVar6 + DAT_70201484); - } - if (true) break; - uVar14 = 0; - } - } - return 0; -} - - - -undefined8 loc_70200B88(void) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - byte *pbVar4; - - uVar3 = DAT_70201568 - (DAT_70201568 & 7); - DAT_70201564 >>= DAT_70201568 & 7; - while (uVar3 < 0x10) { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar2 = uVar3 & 0x1f; - uVar3 += 8; - DAT_70201564 |= (uint)*pbVar4 << uVar2; - } - uVar3 -= 0x10; - uVar2 = DAT_70201564 & 0xffff; - DAT_70201564 = 0; - while (uVar3 < 0x10) { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar1 = uVar3 & 0x1f; - uVar3 += 8; - DAT_70201564 |= (uint)*pbVar4 << uVar1; - } - DAT_70201564 >>= 0x10; - DAT_70201568 = uVar3 - 0x10; - while (uVar2 != 0) { - uVar2 -= 1; - uVar3 = DAT_70201564; - while (DAT_70201568 < 8) { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar1 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - uVar3 |= (uint)*pbVar4 << uVar1; - } - DAT_70201564 = uVar3 >> 8; - *(undefined *)(DAT_70201484 + DAT_7020148c) = (char)uVar3; - DAT_7020148c += 1; - DAT_70201568 -= 8; - } - return 0; -} - - - -undefined8 FUN_70200b9c(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 uStack1172; - undefined4 uStack1168; - undefined4 auStack1164 [28]; - undefined4 auStack1052 [114]; - undefined4 auStack596 [112]; - undefined4 auStack148 [24]; - undefined4 auStack52 [8]; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 auStack8 [2]; - - puVar1 = &uStack1172; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 8; - puVar1[2] = 8; - puVar1[3] = 8; - *puVar1 = 8; - puVar1 = puVar2; - } while (puVar2 != auStack596); - if (puVar2 < auStack148) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 9; - puVar1 = puVar2; - } while (puVar2 < auStack148); - } - if (puVar2 < auStack52) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 7; - puVar1 = puVar2; - } while (puVar2 < auStack52); - } - if (puVar2 < &uStack20) { - do { - puVar1 = puVar2 + 1; - *puVar2 = 8; - puVar2 = puVar1; - } while (puVar1 < &uStack20); - } - uStack16 = 7; - decompress_entry(&uStack1172,0x120,0x101,&DAT_702014a8,&DAT_702014e8,auStack8,&uStack16); - uStack1168 = 5; - uStack1172 = 5; - puVar1 = auStack1164; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 5; - puVar1[2] = 5; - puVar1[3] = 5; - *puVar1 = 5; - puVar1 = puVar2; - } while (puVar2 != auStack1052); - uStack20 = 5; - decompress_entry(&uStack1172,0x1e,0,&DAT_70201508,&DAT_70201544,&uStack12,&uStack20); - loc_70200A18(auStack8[0],uStack12,uStack16,uStack20); - return 0; -} - - - -undefined8 loc_70201168(void) - -{ - byte bVar1; - ushort uVar2; - ushort uVar3; - bool bVar4; - uint *puVar5; - uint uVar6; - int iVar7; - byte *pbVar8; - ulonglong uVar9; - uint uVar10; - byte *pbVar11; - uint uVar12; - uint local_528 [316]; - uint local_38; - uint local_34; - int local_30; - int local_2c; - undefined4 local_24; - uint local_20; - int local_1c; - int local_18 [6]; - - local_34 = DAT_70201568; - uVar6 = DAT_70201568; - uVar10 = DAT_70201564; - if (DAT_70201568 < 5) { - do { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - local_34 = uVar6 + 8; - uVar10 |= (uint)*pbVar8 << (uVar6 & 0x1f); - uVar6 = local_34; - } while (local_34 < 5); - } - local_34 -= 5; - local_2c = (uVar10 & 0x1f) + 0x101; - uVar10 >>= 5; - while (local_34 < 5) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar10 |= (uint)*pbVar8 << uVar6; - } - local_34 -= 5; - local_30 = (uVar10 & 0x1f) + 1; - uVar10 >>= 5; - while (local_34 < 4) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar10 |= (uint)*pbVar8 << uVar6; - } - local_38 = uVar10 >> 4; - local_34 -= 4; - uVar6 = 0; - if ((uVar10 & 0xf) != 0xfffffffc) { - pbVar8 = &DAT_70201494; - do { - uVar6 += 1; - while (local_34 < 3) { - pbVar11 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = local_34 & 0x1f; - local_34 += 8; - local_38 |= (uint)*pbVar11 << uVar12; - } - bVar1 = *pbVar8; - uVar12 = local_38 & 7; - pbVar8 = pbVar8 + 1; - local_38 >>= 3; - local_528[(uint)bVar1] = uVar12; - local_34 -= 3; - } while (uVar6 != (uVar10 & 0xf) + 4); - } - if (uVar6 < 0x13) { - pbVar8 = &DAT_70201494 + uVar6; - do { - bVar1 = *pbVar8; - pbVar8 = pbVar8 + 1; - local_528[(uint)bVar1] = 0; - } while (pbVar8 < (byte *)0x702014a7); - } - local_20 = 7; - decompress_entry(local_528,0x13,0x13,0,0,local_18,&local_20); - uVar6 = local_2c + local_30; - uVar2 = *(ushort *)(&DAT_7020156c + local_20 * 2); - uVar9 = 0; - uVar10 = 0; - DAT_70201568 = local_34; - DAT_70201564 = local_38; - if (uVar6 != 0) { - do { - while (DAT_70201568 < local_20) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = DAT_70201568 & 0x1f; - DAT_70201568 = DAT_70201568 + 8; - DAT_70201564 = DAT_70201564 | (uint)*pbVar8 << uVar12; - } - local_1c = (DAT_70201564 & (uint)uVar2) * 8 + local_18[0]; - DAT_70201564 >>= (uint)*(byte *)(local_1c + 1) & 0x1f; - DAT_70201568 -= (uint)*(byte *)(local_1c + 1); - uVar3 = *(ushort *)(local_1c + 4); - if (uVar3 < 0x10) { - local_528[uVar10] = (uint)uVar3; - uVar10 += 1; - uVar9 = (ulonglong)uVar3; -LAB_7020115c: - bVar4 = uVar10 < uVar6; - } - else { - if (uVar3 != 0x10) { - uVar9 = 0; - if (uVar3 == 0x11) { - while (DAT_70201568 < 3) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - DAT_70201564 |= (uint)*pbVar8 << uVar12; - } - uVar12 = DAT_70201564 & 7; - DAT_70201564 >>= 3; - DAT_70201568 -= 3; - iVar7 = uVar12 + 2; - if (uVar12 != 0xfffffffd) { - puVar5 = local_528 + uVar10; - do { - *puVar5 = 0; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar10 < uVar6; - goto LAB_70201160; - } - } - else { - while (DAT_70201568 < 7) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - DAT_70201564 |= (uint)*pbVar8 << uVar12; - } - uVar12 = DAT_70201564 & 0x7f; - DAT_70201564 >>= 7; - DAT_70201568 -= 7; - iVar7 = uVar12 + 10; - if (uVar12 != 0xfffffff5) { - puVar5 = local_528 + uVar10; - do { - *puVar5 = 0; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - } - } - goto LAB_7020115c; - } - while (DAT_70201568 < 2) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - DAT_70201564 |= (uint)*pbVar8 << uVar12; - } - uVar12 = DAT_70201564 & 3; - DAT_70201564 >>= 2; - DAT_70201568 -= 2; - iVar7 = uVar12 + 2; - if (uVar12 == 0xfffffffd) goto LAB_7020115c; - puVar5 = local_528 + uVar10; - do { - *puVar5 = (uint)uVar9; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar10 < uVar6; - } -LAB_70201160: - } while (bVar4); - } - local_20 = DAT_70201590; - decompress_entry(local_528,local_2c,0x101,&DAT_702014a8,&DAT_702014e8,local_18,&local_20); - local_24 = DAT_70201594; - decompress_entry(local_528 + local_2c,local_30,0,&DAT_70201508,&DAT_70201544,&local_1c,&local_24); - loc_70200A18(local_18[0],local_1c,local_20,local_24); - return 0; -} - - - -undefined8 loc_7020133C(uint *puParm1) - -{ - uint uVar2; - undefined8 uVar1; - uint uVar3; - byte *pbVar4; - - if (DAT_70201568 == 0) { - do { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar3 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - DAT_70201564 |= (uint)*pbVar4 << uVar3; - } while (DAT_70201568 == 0); - } - DAT_70201568 -= 1; - uVar3 = DAT_70201564 >> 1; - *puParm1 = DAT_70201564 & 1; - while (DAT_70201568 < 2) { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar2 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - uVar3 |= (uint)*pbVar4 << uVar2; - } - uVar2 = uVar3 & 3; - DAT_70201564 = uVar3 >> 2; - DAT_70201568 -= 2; - if (uVar2 == 2) { - uVar1 = loc_70201168(); - } - else { - if (uVar2 == 0) { - uVar1 = loc_70200B88(); - } - else { - if (uVar2 == 1) { - uVar1 = FUN_70200b9c(); - } - else { - uVar1 = 2; - } - } - } - return uVar1; -} - - - -longlong loc_70201404(void) - -{ - longlong lVar1; - uint uVar2; - int iStack4; - - DAT_7020148c = 0; - DAT_70201568 = 0; - DAT_70201564 = 0; - uVar2 = 0; - do { - DAT_70201598 = 0; - lVar1 = loc_7020133C(&iStack4); - if (lVar1 != 0) { - return lVar1; - } - if (uVar2 < DAT_70201598) { - uVar2 = DAT_70201598; - } - } while (iStack4 == 0); - while (7 < DAT_70201568) { - DAT_70201568 -= 8; - DAT_70201488 += -1; - } - return 0; -} - - - -undefined4 decompress_entry(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - DAT_70201480 = iParm1 + 2; - DAT_7020148c = 0; - DAT_70201488 = 0; - DAT_70201484 = uParm2; - DAT_70201490 = uParm3; - loc_70201404(); - return DAT_7020148c; -} - - - -void FUN_7f000000(void) - -{ - DAT_80025e10 = 0xffffffff; - DAT_80025e14 = 0; - DAT_80025e18 = 0xffffffff; - DAT_80025e1c = 0; - DAT_80025e38 = 0; - DAT_80025e44 = 0xffffffff; - DAT_80025e48 = 0xffffffff; - DAT_80025e4c = 0xffffffff; - DAT_80025e68 = 0; - DAT_80025e74 = 0; - DAT_80025e7c = 1; - DAT_80025e80 = 1; - DAT_80025e84 = 0; - DAT_80025e8c = 1; - DAT_80025e90 = 0; - DAT_80025ef0 = 0; - DAT_80025ef4 = 0x3f800000; - DAT_80025ef8 = 0x3f800000; - DAT_80025efc = 0x3f800000; - DAT_80026b38 = 0; - DAT_80026b3c = 0; - DAT_80026b40 = 0; - DAT_80026b44 = 0; - DAT_80026b48 = 0; - DAT_80026b4c = 0; - return; -} - - - -void init_weapon_animation_groups_maybe(void) - -{ - FUN_7f06cba0(FUN_7f01f39c); - FUN_7f000518(); - return; -} - - - -void sub_GAME_7F0009A0(void) - -{ - DAT_80028250 = 0; - if (-1 < DAT_8002825c) { - DAT_80028250 = 1; - while (-1 < (int)(&DAT_8002825c)[DAT_80028250]) { - DAT_80028250 += 1; - } - } - DAT_80028254 = 0; - if (-1 < DAT_80028308) { - DAT_80028254 = 1; - while (-1 < (int)(&DAT_80028308)[DAT_80028254]) { - DAT_80028254 += 1; - } - } - DAT_80028258 = 0; - if (-1 < DAT_80028370) { - DAT_80028258 = 1; - while (-1 < (int)(&DAT_80028370)[DAT_80028258]) { - DAT_80028258 += 1; - } - } - return; -} - - - -uint FUN_7f0001f0(undefined8 uParm1,int iParm2,int iParm3) - -{ - int iVar1; - uint uVar2; - undefined auStack8 [8]; - - uVar2 = 0; - if (iParm2 < iParm3) { - do { - iVar1 = loc_7F06D3DC(0,0,&DAT_80037190,uParm1,iParm2,auStack8); - iParm2 += 1; - uVar2 = uVar2 + iVar1 & 0xffff; - } while (iParm2 < iParm3); - } - return uVar2; -} - - - -int FUN_7f000290(undefined8 uParm1,int iParm2,int iParm3) - -{ - int iVar1; - undefined auStack12 [4]; - short sStack8; - - iVar1 = 0; - if (iParm2 < iParm3) { - do { - loc_7F06D3DC(0,0,&DAT_80037190,uParm1,iParm2,auStack12); - iParm2 += 1; - iVar1 += (int)sStack8; - } while (iParm2 < iParm3); - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F000440(int *piParm1) - -{ - float fVar1; - float fVar2; - undefined8 uVar3; - ulonglong uVar4; - int iVar5; - int iVar6; - float fVar7; - float fVar8; - - fVar2 = DAT_800471b4; - fVar1 = DAT_800471b0; - iVar5 = *piParm1; - iVar6 = 0; - while (iVar5 != 0) { - *piParm1 = iVar5 + _DAT_80058478; - uVar3 = locret_7F05C430(piParm1[1]); - uVar4 = FUN_7f0001f0(*piParm1,0,uVar3); - fVar7 = (float)piParm1[1]; - if (0.00000000 < fVar7) { - iVar5 = (int)(uVar4 & 0xffff); - if ((uVar4 & 0xffff) < 0x8000) { - fVar8 = (float)iVar5; - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(piParm1 + 2) = (fVar8 * fVar2) / fVar7; - } - else { - fVar8 = (float)iVar5; - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(piParm1 + 2) = (fVar8 * fVar2 - fVar1) / fVar7; - } - } - else { - piParm1[2] = 0; - } - iVar5 = piParm1[0x12]; - piParm1 = piParm1 + 0x12; - iVar6 += 1; - } - return iVar6; -} - - - -void loc_7F0004B0(int *piParm1) - -{ - undefined4 uVar1; - int iVar2; - - iVar2 = 0; - do { - if ((int)((undefined4 *)*piParm1)[1] < 0) { - uVar1 = loc_7F000440(*(undefined4 *)*piParm1); - *(undefined4 *)(*piParm1 + 4) = uVar1; - } - iVar2 += 4; - piParm1 = piParm1 + 1; - } while (iVar2 != 0x80); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0004d0(int *piParm1) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - if (*piParm1 != 0) { - iVar2 = *piParm1; - do { - iVar1 += 1; - iVar3 = iVar2 + _DAT_80058478; - iVar2 = piParm1[7]; - *piParm1 = iVar3; - piParm1 = piParm1 + 7; - } while (iVar2 != 0); - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f000518(void) - -{ - float fVar1; - undefined4 uVar2; - int iVar3; - undefined4 *puVar4; - float fVar5; - - if (DAT_80027e64 != -1) { - iVar3 = DAT_80027e80; - puVar4 = &DAT_80027e64; - while( true ) { - if (iVar3 == 0) { - iVar3 = puVar4[9]; - } - else { - uVar2 = FUN_7f0004d0(); - puVar4[8] = uVar2; - iVar3 = puVar4[9]; - } - if (iVar3 == 0) { - iVar3 = puVar4[0xb]; - } - else { - uVar2 = FUN_7f0004d0(); - puVar4[10] = uVar2; - iVar3 = puVar4[0xb]; - } - if (iVar3 == -1) break; - iVar3 = puVar4[0x12]; - puVar4 = puVar4 + 0xb; - } - } - FUN_7f0004d0(&DAT_8002940c); - loc_7F0004B0(&PTR_PTR_DAT_8002a278); - loc_7F0004B0(&PTR_PTR_DAT_8002a958); - loc_7F0004B0(&PTR_PTR_DAT_8002ac30); - loc_7F0004B0(&PTR_PTR_DAT_8002aec0); - loc_7F0004B0(&PTR_PTR_DAT_8002b228); - loc_7F0004B0(&PTR_PTR_DAT_8002b548); - loc_7F000440(&DAT_8002b5c8); - loc_7F000440(&DAT_8002bbb0); - iVar3 = FUN_7f000290(_DAT_80058478 + 0x4018,0,(uint)*(ushort *)(_DAT_80058478 + 0x401c) - 1); - fVar1 = DAT_800471b8; - DAT_8002bed4 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x401c); - if (false) { - DAT_8002bed4 = DAT_8002bed4 + 4294967296.00000000; - } - DAT_8002bed4 = ((float)iVar3 * DAT_800471b8) / DAT_8002bed4; - iVar3 = FUN_7f000290(_DAT_80058478 + 0x40d4,0,(uint)*(ushort *)(_DAT_80058478 + 0x40d8) - 1); - DAT_8002bed8 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x40d8); - if (false) { - DAT_8002bed8 = DAT_8002bed8 + 4294967296.00000000; - } - DAT_8002bed8 = ((float)iVar3 * fVar1) / DAT_8002bed8; - iVar3 = FUN_7f000290(_DAT_80058478 + 0x4070,0,(uint)*(ushort *)(_DAT_80058478 + 0x4074) - 1); - DAT_8002bedc = (float)(uint)*(ushort *)(_DAT_80058478 + 0x4074); - if (false) { - DAT_8002bedc = DAT_8002bedc + 4294967296.00000000; - } - DAT_8002bedc = ((float)iVar3 * fVar1) / DAT_8002bedc; - iVar3 = FUN_7f000290(_DAT_80058478 + 0x8204,0,(uint)*(ushort *)(_DAT_80058478 + 0x8208) - 1); - DAT_8002bee0 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x8208); - if (false) { - DAT_8002bee0 = DAT_8002bee0 + 4294967296.00000000; - } - DAT_8002bee0 = ((float)iVar3 * fVar1) / DAT_8002bee0; - iVar3 = FUN_7f000290(_DAT_80058478 + 0x777c,0,(uint)*(ushort *)(_DAT_80058478 + 0x7780) - 1); - DAT_8002bee4 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x7780); - if (false) { - DAT_8002bee4 = DAT_8002bee4 + 4294967296.00000000; - } - DAT_8002bee4 = ((float)iVar3 * fVar1) / DAT_8002bee4; - iVar3 = FUN_7f000290(_DAT_80058478 + 0x77d4,0,(uint)*(ushort *)(_DAT_80058478 + 0x77d8) - 1); - DAT_8002bee8 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x77d8); - if (false) { - DAT_8002bee8 = DAT_8002bee8 + 4294967296.00000000; - } - DAT_8002bee8 = ((float)iVar3 * fVar1) / DAT_8002bee8; - iVar3 = FUN_7f000290(_DAT_80058478 + 0x84c4,0,(uint)*(ushort *)(_DAT_80058478 + 0x84c8) - 1); - DAT_8002beec = (float)(uint)*(ushort *)(_DAT_80058478 + 0x84c8); - if (false) { - DAT_8002beec = DAT_8002beec + 4294967296.00000000; - } - DAT_8002beec = ((float)iVar3 * fVar1) / DAT_8002beec; - iVar3 = FUN_7f000290(_DAT_80058478 + 0x8520,0,(uint)*(ushort *)(_DAT_80058478 + 0x8524) - 1); - DAT_8002bef0 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x8524); - if (false) { - DAT_8002bef0 = DAT_8002bef0 + 4294967296.00000000; - } - DAT_8002bef0 = ((float)iVar3 * fVar1) / DAT_8002bef0; - iVar3 = FUN_7f000290(_DAT_80058478 + 0x77d4,0,(uint)*(ushort *)(_DAT_80058478 + 0x77d8) - 1); - fVar5 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x77d8); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - DAT_8002bef4 = ((float)iVar3 * fVar1) / fVar5; - return; -} - - - -void reset_music_in_slot(void) - -{ - FUN_7f0009a0(); - return; -} - - - -void FUN_7f0009a0(void) - -{ - uint uVar1; - - uVar1 = 0x80064d08; - do { - uVar1 = uVar1 + 0x68; - *(undefined4 *)(uVar1 + 100) = 0; - uVar1 = uVar1; - } while (uVar1 < 0x80065528); - return; -} - - - -void sub_GAME_7F0009E0(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - DAT_80031964 = uParm1; - DAT_80031968 = uParm2; - DAT_8003196c = uParm3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void alloc_load_expand_ani_table(int **ppiParm1) - -{ - int **ppiVar1; - int *piVar2; - - piVar2 = *ppiParm1; - if (piVar2 != NULL) { - piVar2 = *ppiParm1; - ppiVar1 = ppiParm1; - do { - if (piVar2 == (int *)0x1) { - piVar2 = ppiVar1[1]; - } - else { - piVar2 = (int *)((int)piVar2 + _DAT_80058478); - *ppiVar1 = piVar2; - piVar2[2] = piVar2[2] + _DAT_80058478; - (*ppiVar1)[4] = (*ppiVar1)[4] + _DAT_80058478; - piVar2 = ppiVar1[1]; - } - ppiVar1 = ppiVar1 + 1; - } while (piVar2 != NULL); - piVar2 = *ppiParm1; - } - if (piVar2 != NULL) { - piVar2 = *ppiParm1; - do { - if (piVar2 == (int *)0x1) { - piVar2 = ppiParm1[1]; - } - else { - *piVar2 = *piVar2 + 0x111a30; - piVar2 = ppiParm1[1]; - } - ppiParm1 = ppiParm1 + 1; - } while (piVar2 != NULL); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f000aac(void) - -{ - undefined8 uVar1; - - osCreateMesgQueue(0xffffffff80058380,0xffffffff80058458,8); - sub_GAME_7F0009E0(&DAT_800252b0,0xffffffff80058380,0xffffffff80058398); - uVar1 = FUN_70008b80(0xe7e0,6); - _DAT_80058478 = (undefined4)uVar1; - FUN_7000503c(uVar1,0x27b8f0,0xe7e0); - alloc_load_expand_ani_table(&DAT_800252bc); - alloc_load_expand_ani_table(&DAT_8002559c); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f000c70(void) - -{ - DAT_80025d20 = 0; - _DAT_80058498 = FUN_70008b80(0x80,4); - _DAT_8005849c = FUN_70008b80(0x40,4); - _DAT_800584a0 = FUN_70008b80(0x80,4); - _DAT_800584a4 = FUN_70008b80(0x80,4); - _DAT_800584a8 = FUN_70008b80(0x80,4); - _DAT_800584ac = FUN_70008b80(0x80,4); - _DAT_800584b0 = FUN_70008b80(0x80,4); - return; -} - - - -void loc_7F000F40(int iParm1) - -{ - int iVar1; - int iVar2; - - DAT_800281b8 = iParm1 + 10; - DAT_800281b4 = FUN_70008b80((DAT_800281b8 * 0x1dc + 0xfU | 0xf) ^ 0xf,4); - iVar2 = 0; - if (0 < DAT_800281b8) { - iVar1 = 0; - do { - iVar2 += 1; - *(undefined4 *)(DAT_800281b4 + iVar1 + 0x1c) = 0; - iVar1 += 0x1dc; - } while (iVar2 < DAT_800281b8); - } - return; -} - - - -void FUN_7f000f50(void) - -{ - undefined **ppuVar1; - undefined **ppuVar2; - uint uVar3; - - if (PTR_DAT_80037a60 != NULL) { - ppuVar2 = &PTR_DAT_80037a60; - *(undefined4 *)PTR_DAT_80037a60 = 0; - while( true ) { - ppuVar1 = ppuVar2 + 5; - ppuVar2 = ppuVar2 + 5; - if ((undefined4 *)*ppuVar1 == NULL) break; - *(undefined4 *)*ppuVar1 = 0; - } - } - DAT_80028388 = FUN_700098b0(); - DAT_80028388 %= DAT_80028254; - if (DAT_80028254 == 0) { - trap(0x1c00); - } - DAT_8002838c = FUN_700098b0(); - DAT_8002838c %= DAT_80028258; - if (DAT_80028258 == 0) { - trap(0x1c00); - } - uVar3 = FUN_700098b0(); - if (DAT_80028250 == 0) { - trap(0x1c00); - } - DAT_80028384 = uVar3 % DAT_80028250; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00105c(void) - -{ - undefined4 *puVar1; - int *piVar2; - int *piVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 auStack484 [117]; - undefined4 auStack16 [2]; - int local_8; - - DAT_8002becc = 0; - DAT_8002bed0 = 0; - if (_DAT_80064c54 != NULL) { - if (*_DAT_80064c54 != 0) { - iVar4 = _DAT_80064c54[1]; - piVar2 = _DAT_80064c54; - while( true ) { - if (iVar4 < 0x1000) { - iVar4 = piVar2[2]; - } - else { - DAT_8002bed0 += 1; - iVar4 = piVar2[2]; - } - if (iVar4 == 0) break; - iVar4 = piVar2[3]; - piVar2 = piVar2 + 2; - } - } - if (0 < DAT_8002bed0) { - local_8 = 0; - DAT_8002becc = FUN_70008b80((DAT_8002bed0 * 0x1dc + 0xfU | 0xf) ^ 0xf,4); - iVar4 = 0; - if (*_DAT_80064c54 != 0) { - iVar5 = _DAT_80064c54[1]; - piVar2 = _DAT_80064c54; - while( true ) { - puVar7 = &DAT_800255b0; - puVar1 = auStack484; - piVar3 = piVar2; - if (0xfff < iVar5) { - do { - puVar6 = puVar1; - puVar8 = puVar7; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar7 = puVar8 + 3; - puVar1 = puVar6 + 3; - } while (puVar8 + 3 != (undefined4 *)0x80025784); - iVar5 = local_8 * 0x1dc; - puVar6[3] = uRam80025784; - puVar6[4] = puVar8[4]; - puVar7 = auStack484; - puVar1 = (undefined4 *)(DAT_8002becc + iVar5); - do { - puVar8 = puVar1; - puVar6 = puVar7; - puVar7 = puVar6 + 3; - *puVar8 = *puVar6; - puVar8[1] = puVar6[1]; - puVar8[2] = puVar6[2]; - puVar1 = puVar8 + 3; - } while (puVar7 != auStack16); - local_8 += 1; - puVar8[3] = *puVar7; - puVar8[4] = puVar6[4]; - *(undefined2 *)(DAT_8002becc + iVar5) = 0xfe; - *(undefined4 *)(DAT_8002becc + iVar5 + 0x104) = - *(undefined4 *)((int)_DAT_80064c54 + iVar4); - *(undefined2 *)(DAT_8002becc + iVar5 + 0x108) = 0; - *(undefined2 *)(DAT_8002becc + iVar5 + 0x10a) = 0xffff; - *(undefined *)(DAT_8002becc + iVar5 + 7) = 0x1a; - piVar3 = (int *)((int)_DAT_80064c54 + iVar4); - } - iVar4 += 8; - piVar2 = piVar3 + 2; - if (piVar3[2] == 0) break; - iVar5 = piVar3[3]; - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f001258(void) - -{ - char cVar1; - int iVar2; - char *pcVar3; - int iVar4; - - pcVar3 = *_DAT_80064c54; - iVar4 = 0; - if (pcVar3 == NULL) { - return; - } - do { - cVar1 = *pcVar3; - while (cVar1 == '\x04') { - pcVar3 = *(char **)((int)_DAT_80064c54 + iVar4 + 8); - iVar4 += 8; - if (pcVar3 == NULL) { - return; - } - cVar1 = *pcVar3; - } - if (cVar1 == '\x1b') { - FUN_7f056f18((longlong)(int)((uint)(byte)pcVar3[1] << 8) | (ulonglong)(byte)pcVar3[2]); - } - else { - if (cVar1 == -0x43) { - FUN_7f023260((ulonglong)(byte)pcVar3[1]); - if (-1 < pcVar3[2]) { - FUN_7f023260(); - } - } - else { - if (cVar1 == -0x42) { - FUN_7f023260((ulonglong)(byte)pcVar3[1]); - if (-1 < pcVar3[2]) { - FUN_7f023260(); - } - } - else { - if (cVar1 == -0x41) { - FUN_7f056f18((longlong)(int)((uint)(byte)pcVar3[1] << 8) | (ulonglong)(byte)pcVar3[2]); - FUN_7f0056b0((ulonglong)(byte)pcVar3[3]); - } - else { - if (cVar1 == -0x40) { - FUN_7f056f18((longlong)(int)((uint)(byte)pcVar3[1] << 8) | (ulonglong)(byte)pcVar3[2]) - ; - } - } - } - } - } - iVar2 = FUN_7f034a3c(pcVar3,0); - pcVar3 = pcVar3 + iVar2; - } while( true ); -} - - - -void FUN_7f00140c(void) - -{ - int *piVar1; - int iVar2; - int *piVar3; - int iStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - iStack32 = DAT_8002578c; - uStack28 = DAT_80025790; - piVar3 = &iStack32; - uStack20 = DAT_80025798; - uStack24 = DAT_80025794; - uStack16 = DAT_8002579c; - uStack12 = DAT_800257a0; - uStack4 = DAT_800257a8; - uStack8 = DAT_800257a4; - iVar2 = DAT_8002578c; - if (-1 < DAT_8002578c) { - do { - FUN_7f056f18(iVar2); - piVar1 = piVar3 + 1; - piVar3 = piVar3 + 1; - iVar2 = *piVar1; - } while (-1 < *piVar1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0015d0(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - _DAT_80058b70 = (undefined2 *)FUN_70008b80(0x400,4); - _DAT_80060558 = FUN_70008b80((DAT_8003d7d4 * 4 + 0xfU | 0xf) ^ 0xf,4); - _DAT_8006055c = FUN_70008b80(0x2000,4); - *_DAT_80058b70 = 0xffff; - iVar3 = 0; - if (0 < DAT_8003d7d4) { - iVar1 = 0; - do { - iVar3 += 1; - *(undefined2 *)(_DAT_80060558 + iVar1) = 0xffff; - iVar1 += 2; - } while (iVar3 < DAT_8003d7d4); - } - iVar3 = 0; - iVar1 = 0; - do { - *(undefined2 *)(_DAT_8006055c + iVar1) = 0xfffe; - iVar2 = 8; - *(undefined2 *)(_DAT_8006055c + iVar3 * 0x20 + 2) = 0xffff; - *(undefined2 *)(_DAT_8006055c + iVar3 * 0x20 + 4) = 0xffff; - *(undefined2 *)(_DAT_8006055c + iVar3 * 0x20 + 6) = 0xffff; - do { - *(undefined2 *)(_DAT_8006055c + iVar3 * 0x20 + iVar2) = 0xffff; - *(undefined2 *)(_DAT_8006055c + iVar3 * 0x20 + iVar2 + 2) = 0xffff; - *(undefined2 *)(_DAT_8006055c + iVar3 * 0x20 + iVar2 + 4) = 0xffff; - iVar4 = _DAT_8006055c + iVar3 * 0x20 + iVar2; - iVar2 += 8; - *(undefined2 *)(iVar4 + 6) = 0xffff; - } while (iVar2 != 0x20); - iVar3 += 1; - iVar1 += 0x20; - } while (iVar3 != 0x100); - return; -} - - - -void FUN_7f001750(void) - -{ - uint uVar1; - undefined *puVar2; - undefined4 *puVar3; - - FUN_7f001958(); - FUN_7f001b08(); - DAT_8002c010 = 0; - DAT_8002c014 = 0; - DAT_8002c018 = 0; - DAT_8002c01c = 0; - DAT_8002c020 = 0; - DAT_8002c024 = 0; - DAT_8002c028 = 0; - DAT_8002c02c = 0; - DAT_8002c030 = 0; - DAT_8002c034 = 0; - DAT_8002c038 = 1; - DAT_8002c03c = 0; - DAT_8002c040 = 0; - DAT_8002c044 = 0; - uVar1 = 0x80060dc0; - do { - uVar1 = uVar1 + 0x88; - *(undefined4 *)(uVar1 + 0x10) = 0; - uVar1 = uVar1; - } while (uVar1 < 0x80061db0); - DAT_8002c048 = 0; - uVar1 = 0x80061db0; - do { - uVar1 = uVar1 + 0x80; - *(undefined4 *)(uVar1 + 0x10) = 0; - uVar1 = uVar1; - } while (uVar1 < 0x800622b0); - DAT_8002c04c = 0; - puVar2 = (undefined *)0x800622b0; - do { - puVar2 = puVar2 + 0x84; - *(undefined4 *)(puVar2 + 0x10) = 0; - puVar2 = puVar2; - } while (puVar2 < &DAT_80062d00); - puVar3 = (undefined4 *)&DAT_80062d00; - do { - puVar3 = puVar3 + 0x3b; - *puVar3 = 0x80000000; - puVar3[0x26] = 0; - puVar3[0x27] = 0; - puVar3 = puVar3; - } while (puVar3 < &DAT_80063f70); - puVar3 = (undefined4 *)&DAT_80063f70; - do { - puVar3 = puVar3 + 0x48; - puVar3[0x12] = 1; - puVar3[0x24] = 1; - puVar3[0x36] = 1; - *puVar3 = 1; - puVar3 = puVar3; - } while (puVar3 != (undefined4 *)&DAT_80064ab0); - DAT_8002c050 = 0; - DAT_8002c054 = 0; - DAT_8002c058 = 0; - DAT_8002c05c = 0; - DAT_8002c060 = 0xffffffff; - DAT_8002c064 = 0x3f800000; - DAT_8002c068 = 0x3f800000; - DAT_8002c06c = 0x3f800000; - DAT_8002c070 = 0x3f800000; - DAT_8002c074 = 0x3f800000; - DAT_8002c078 = 0x3f800000; - return; -} - - - -void FUN_7f001910(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0xc) = DAT_8002c050; - DAT_8002c050 = iParm1; - return; -} - - - -void FUN_7f001928(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0xc) = DAT_8002c054; - DAT_8002c054 = iParm1; - return; -} - - - -void FUN_7f001940(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0x10) = DAT_8002c058; - DAT_8002c058 = iParm1; - return; -} - - - -void FUN_7f001958(void) - -{ - undefined **ppuVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined **ppuVar6; - undefined4 auStack348 [27]; - undefined4 auStack240 [2]; - undefined4 auStack232 [27]; - undefined4 auStack124 [2]; - undefined4 auStack116 [27]; - undefined4 auStack8 [2]; - - ppuVar1 = &PTR_LAB_800257b0; - puVar5 = auStack116; - do { - puVar2 = puVar5; - ppuVar6 = ppuVar1; - *(undefined **)puVar2 = *ppuVar6; - *(undefined **)(puVar2 + 1) = ppuVar6[1]; - *(undefined **)(puVar2 + 2) = ppuVar6[2]; - ppuVar1 = ppuVar6 + 3; - puVar5 = puVar2 + 3; - } while (ppuVar6 + 3 != (undefined **)0x8002581c); - puVar2[3] = uRam8002581c; - *(undefined **)(puVar2 + 4) = ppuVar6[4]; - puVar5 = auStack116; - puVar2 = (undefined4 *)&DAT_80064ad8; - do { - puVar3 = puVar2; - puVar4 = puVar5; - puVar5 = puVar4 + 3; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar2 = puVar3 + 3; - } while (puVar5 != auStack8); - puVar3[3] = *puVar5; - puVar3[4] = puVar4[4]; - ppuVar1 = &PTR_DAT_80025824; - puVar5 = auStack232; - do { - puVar2 = puVar5; - ppuVar6 = ppuVar1; - *(undefined **)puVar2 = *ppuVar6; - *(undefined **)(puVar2 + 1) = ppuVar6[1]; - *(undefined **)(puVar2 + 2) = ppuVar6[2]; - ppuVar1 = ppuVar6 + 3; - puVar5 = puVar2 + 3; - } while (ppuVar6 + 3 != (undefined **)0x80025890); - puVar2[3] = uRam80025890; - *(undefined **)(puVar2 + 4) = ppuVar6[4]; - puVar5 = auStack232; - puVar2 = (undefined4 *)&DAT_80064b50; - do { - puVar4 = puVar2; - puVar3 = puVar5; - puVar5 = puVar3 + 3; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar2 = puVar4 + 3; - } while (puVar5 != auStack124); - puVar4[3] = *puVar5; - puVar4[4] = puVar3[4]; - ppuVar1 = &PTR_LAB_80025898; - puVar5 = auStack348; - do { - puVar2 = puVar5; - ppuVar6 = ppuVar1; - *(undefined **)puVar2 = *ppuVar6; - *(undefined **)(puVar2 + 1) = ppuVar6[1]; - *(undefined **)(puVar2 + 2) = ppuVar6[2]; - ppuVar1 = ppuVar6 + 3; - puVar5 = puVar2 + 3; - } while (ppuVar6 + 3 != (undefined **)0x80025904); - puVar2[3] = uRam80025904; - *(undefined **)(puVar2 + 4) = ppuVar6[4]; - puVar5 = auStack348; - puVar2 = (undefined4 *)&DAT_80064bc8; - do { - puVar4 = puVar2; - puVar3 = puVar5; - puVar5 = puVar3 + 3; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar2 = puVar4 + 3; - } while (puVar5 != auStack240); - puVar4[3] = *puVar5; - puVar4[4] = puVar3[4]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f001b08(void) - -{ - undefined4 *puVar1; - - _DAT_80060d40 = 0; - _DAT_80060d44 = 0; - puVar1 = (undefined4 *)&DAT_80060d48; - do { - puVar1 = puVar1 + 4; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != (undefined4 *)&DAT_80060db8); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int stage_loading_setup_objparse_cleanupafter(char cParm1) - -{ - char cVar1; - int iVar2; - int iVar3; - int iVar4; - - iVar4 = 0; - if (_DAT_80064c4c != 0) { - cVar1 = *(char *)(_DAT_80064c4c + 3); - iVar3 = _DAT_80064c4c; - while (cVar1 != '0') { - if (cParm1 == cVar1) { - iVar4 += 1; - } - iVar2 = FUN_7f056bd4(iVar3); - iVar3 = iVar2 * 4 + iVar3; - cVar1 = *(char *)(iVar3 + 3); - } - } - return iVar4; -} - - - -void sub_7F001BD4(float *pfParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - - fVar2 = pfParm1[0xb]; - fVar5 = pfParm1[0xc]; - fVar10 = pfParm1[0xd]; - fVar9 = pfParm1[0xe]; - fVar3 = pfParm1[0xf]; - fVar6 = pfParm1[0x10]; - fVar7 = pfParm1[4] * pfParm1[8] - pfParm1[7] * pfParm1[5]; - fVar4 = pfParm1[5] * pfParm1[6] - pfParm1[8] * pfParm1[3]; - fVar8 = pfParm1[3] * pfParm1[7] - pfParm1[6] * pfParm1[4]; - fVar1 = (float)sqrtf(fVar8 * fVar8 + fVar7 * fVar7 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - fVar3 = fVar3 + fVar6; - fVar2 = fVar2 + fVar5; - fVar10 = fVar10 + fVar9; - *pfParm2 = (pfParm1[6] * fVar3 + fVar2 * fVar7 * fVar1 + fVar10 * pfParm1[3]) * 0.50000000 + - *pfParm1; - pfParm2[1] = (pfParm1[7] * fVar3 + fVar2 * fVar4 * fVar1 + fVar10 * pfParm1[4]) * 0.50000000 + - pfParm1[1]; - pfParm2[2] = (pfParm1[8] * fVar3 + fVar2 * fVar8 * fVar1 + fVar10 * pfParm1[5]) * 0.50000000 + - pfParm1[2]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F002728(undefined8 uParm1,ushort *puParm2) - -{ - ushort uVar1; - uint uVar2; - bool bVar3; - longlong lVar4; - undefined8 uVar5; - float *pfVar6; - int iVar7; - float *pfVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fStack160; - undefined4 uStack152; - float fStack120; - float fStack116; - float fStack112; - undefined auStack108 [64]; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - undefined4 uStack28; - undefined auStack24 [16]; - int iStack8; - - pfVar8 = NULL; - iStack8 = (int)(short)puParm2[2]; - FUN_7f056f18(); - fVar13 = (float)(uint)*puParm2; - if (false) { - fVar13 = fVar13 + 4294967296.00000000; - } - fVar13 = fVar13 * 0.00390625; - *(float *)(puParm2 + 0x3a) = (float)*(int *)(puParm2 + 0x3a) / 65536.00000000; - lVar4 = FUN_7f0999a4(); - if (lVar4 < 2) { -LAB_7f001e90: - uVar2 = *(uint *)(puParm2 + 4); - } - else { - lVar4 = FUN_7f0146c8(); - if ((lVar4 == 2) && (puParm2[2] == 0x14d)) { - bVar3 = false; - } - else { - lVar4 = FUN_7f0146c8(); - bVar3 = true; - if ((lVar4 == 3) && (puParm2[2] == 0xd0)) { - bVar3 = false; - } - } - if (bVar3) { - *(byte *)(puParm2 + 1) = *(byte *)(puParm2 + 1) | 4; - goto LAB_7f001e90; - } - uVar2 = *(uint *)(puParm2 + 4); - } - if ((uVar2 & 0x8000) != 0) { - if (*(char *)((int)puParm2 + 3) == '\b') { - FUN_7f0520b8(puParm2,(&PTR_DAT_80034d88)[iStack8 * 3]); - iVar7 = *(int *)(puParm2 + 10); - } - else { - FUN_7f0407b8(puParm2,(&PTR_DAT_80034d88)[iStack8 * 3]); - iVar7 = *(int *)(puParm2 + 10); - } - set_obj_instance_controller_scale(iVar7,*(float *)(iVar7 + 0x14) * fVar13); - return; - } - if ((uVar2 & 0x4000) != 0) { - iVar7 = FUN_7f022f90(puParm2[3]); - if (iVar7 == 0) { - return; - } - if (*(int *)(iVar7 + 0x18) == 0) { - return; - } - if (*(int *)(iVar7 + 0x1c) == 0) { - return; - } - if (*(char *)((int)puParm2 + 3) == '\b') { - uVar5 = FUN_7f0520b8(puParm2,(&PTR_DAT_80034d88)[iStack8 * 3]); - } - else { - uVar5 = FUN_7f0407b8(puParm2,(&PTR_DAT_80034d88)[iStack8 * 3]); - } - set_obj_instance_controller_scale - (*(int *)(puParm2 + 10),*(float *)(*(int *)(puParm2 + 10) + 0x14) * fVar13); - loc_7F03A5C0(uVar5,*(undefined4 *)(iVar7 + 0x18)); - return; - } - uVar1 = puParm2[3]; - if ((short)uVar1 < 10000) { - pfVar6 = (float *)((int)(short)uVar1 * 0x2c + _DAT_80064c58); - FUN_7f059db0(auStack108,0,0,0,-pfVar6[6],-pfVar6[7],-pfVar6[8],pfVar6[3],pfVar6[4],pfVar6[5]); - fStack40 = *pfVar6; - fStack36 = pfVar6[1]; - fStack32 = pfVar6[2]; - if ((*(uint *)(puParm2 + 4) & 2) == 0) { - fStack120 = *pfVar6; - fStack116 = pfVar6[1]; - fStack112 = pfVar6[2]; - } - else { - fStack120 = *pfVar6; - fStack116 = pfVar6[1]; - fStack112 = pfVar6[2]; - } - fStack44 = pfVar6[10]; - } - else { - iVar7 = (int)(short)uVar1 * 0x44 + _DAT_80064c5c; - pfVar8 = (float *)(iVar7 + -680000); - FUN_7f059db0(auStack108,0,0,0,-*(float *)(iVar7 + -0xa6028),-*(float *)(iVar7 + -0xa6024), - -*(float *)(iVar7 + -0xa6020),*(undefined4 *)(iVar7 + -0xa6034), - *(undefined4 *)(iVar7 + -0xa6030),*(undefined4 *)(iVar7 + -0xa602c)); - if ((*(uint *)(puParm2 + 6) & 1) == 0) { - sub_7F001BD4(pfVar8,&fStack40); - fStack120 = *(float *)(iVar7 + -0xa6034) * - (*(float *)(iVar7 + -0xa600c) - *(float *)(iVar7 + -0xa6008)) * 0.50000000 + - fStack40; - fStack116 = *(float *)(iVar7 + -0xa6030) * - (*(float *)(iVar7 + -0xa600c) - *(float *)(iVar7 + -0xa6008)) * 0.50000000 + - fStack36; - fStack112 = *(float *)(iVar7 + -0xa602c) * - (*(float *)(iVar7 + -0xa600c) - *(float *)(iVar7 + -0xa6008)) * 0.50000000 + - fStack32; - fStack44 = *(float *)(iVar7 + -0xa6018); - lVar4 = sub_7F0B0BE4(&fStack44,*pfVar8,*(undefined4 *)(iVar7 + -0xa6038),fStack40,fStack32); - if (lVar4 == 0) { - fStack40 = *pfVar8; - fStack36 = *(float *)(iVar7 + -0xa603c); - fStack32 = *(float *)(iVar7 + -0xa6038); - fStack44 = *(float *)(iVar7 + -0xa6018); - } - } - else { - fStack40 = *pfVar8; - fStack36 = *(float *)(iVar7 + -0xa603c); - fStack32 = *(float *)(iVar7 + -0xa6038); - fStack44 = *(float *)(iVar7 + -0xa6018); - sub_7F001BD4(pfVar8,&fStack120); - fStack120 = fStack120 + - (*(float *)(iVar7 + -0xa600c) - *(float *)(iVar7 + -0xa6008)) * 0.50000000 * - *(float *)(iVar7 + -0xa6034); - fStack116 = fStack116 + - (*(float *)(iVar7 + -0xa600c) - *(float *)(iVar7 + -0xa6008)) * 0.50000000 * - *(float *)(iVar7 + -0xa6030); - fStack112 = fStack112 + - (*(float *)(iVar7 + -0xa600c) - *(float *)(iVar7 + -0xa6008)) * 0.50000000 * - *(float *)(iVar7 + -0xa602c); - } - } - lVar4 = sub_GAME_7F056F08(&fStack40,fStack44,0,auStack24,&uStack28); - if (lVar4 == 0) { - return; - } - if (*(char *)((int)puParm2 + 3) == '\b') { - uStack152 = FUN_7f0520b8(puParm2,(&PTR_DAT_80034d88)[iStack8 * 3]); - } - else { - uStack152 = FUN_7f0407dc(puParm2); - } - if (pfVar8 == NULL) { - iVar7 = *(int *)(puParm2 + 10); - goto LAB_7f002698; - } - iVar7 = FUN_7f040138(puParm2); - if (iVar7 != 0) { - fStack160 = 1.00000000; - uVar2 = *(uint *)(puParm2 + 4); - if ((uVar2 & 0x30) != 0) { - fVar11 = *(float *)(iVar7 + 4); - fVar9 = *(float *)(iVar7 + 8); - if (fVar11 < fVar9) { - if ((uVar2 & 2) == 0) { - fStack160 = (pfVar8[0xc] - pfVar8[0xb]) / - ((fVar9 - fVar11) * *(float *)(*(int *)(puParm2 + 10) + 0x14)); - } - else { - fStack160 = (pfVar8[0xc] - pfVar8[0xb]) / - ((fVar9 - fVar11) * *(float *)(*(int *)(puParm2 + 10) + 0x14)); - } - } - } - fVar9 = 1.00000000; - fVar11 = 1.00000000; - if ((uVar2 & 0x50) != 0) { - fVar12 = *(float *)(iVar7 + 0xc); - fVar10 = *(float *)(iVar7 + 0x10); - fVar9 = 1.00000000; - fVar11 = 1.00000000; - if (fVar12 < fVar10) { - if ((uVar2 & 2) == 0) { - fVar9 = (pfVar8[0xe] - pfVar8[0xd]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(puParm2 + 10) + 0x14)); - fVar11 = 1.00000000; - } - else { - fVar9 = 1.00000000; - fVar11 = (pfVar8[0x10] - pfVar8[0xf]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(puParm2 + 10) + 0x14)); - } - } - } - if ((uVar2 & 0x90) != 0) { - fVar12 = *(float *)(iVar7 + 0x14); - fVar10 = *(float *)(iVar7 + 0x18); - if (fVar12 < fVar10) { - if ((uVar2 & 2) == 0) { - fVar11 = (pfVar8[0x10] - pfVar8[0xf]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(puParm2 + 10) + 0x14)); - } - else { - fVar9 = (pfVar8[0xe] - pfVar8[0xd]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(puParm2 + 10) + 0x14)); - } - } - } - fVar10 = fVar9; - if (fStack160 <= fVar9) { - fVar10 = fStack160; - } - fVar12 = fVar11; - if (fVar10 <= fVar11) { - fVar12 = fVar10; - } - fVar10 = fVar9; - if (fVar9 <= fStack160) { - fVar10 = fStack160; - } - fVar14 = fVar11; - if (fVar11 <= fVar10) { - fVar14 = fVar10; - } - fVar10 = fVar12; - fVar16 = fVar12; - if ((uVar2 & 0x10) == 0) { - fVar12 = fStack160; - if ((uVar2 & 0x20) == 0) { - if ((uVar2 & 2) == 0) { - fVar12 = fVar14; - if (*(float *)(iVar7 + 4) != *(float *)(iVar7 + 8)) { - fVar12 = fStack160; - } - } - else { - fVar12 = fVar14; - if (*(float *)(iVar7 + 4) != *(float *)(iVar7 + 8)) { - fVar12 = fStack160; - } - } - } - fVar15 = fVar9; - fVar17 = fVar11; - if ((uVar2 & 0x40) == 0) { - if ((uVar2 & 2) == 0) { - fVar15 = fVar14; - fVar17 = fVar11; - if (*(float *)(iVar7 + 0xc) != *(float *)(iVar7 + 0x10)) { - fVar15 = fVar9; - fVar17 = fVar11; - } - } - else { - fVar15 = fVar9; - fVar17 = fVar14; - if (*(float *)(iVar7 + 0xc) != *(float *)(iVar7 + 0x10)) { - fVar15 = fVar9; - fVar17 = fVar11; - } - } - } - fVar10 = fVar15; - fVar16 = fVar17; - if ((uVar2 & 0x80) != 0) goto LAB_7f0025fc; - if ((uVar2 & 2) == 0) { - fVar10 = fVar15; - fVar16 = fVar14; - if (*(float *)(iVar7 + 0x14) == *(float *)(iVar7 + 0x18)) goto LAB_7f0025fc; - fVar12 = fVar12 / fVar14; - } - else { - fVar10 = fVar14; - fVar16 = fVar17; - if (*(float *)(iVar7 + 0x14) == *(float *)(iVar7 + 0x18)) goto LAB_7f0025fc; - fVar12 = fVar12 / fVar14; - } - } - else { -LAB_7f0025fc: - fVar12 = fVar12 / fVar14; - fVar15 = fVar10; - fVar17 = fVar16; - } - fVar15 = fVar15 / fVar14; - fVar17 = fVar17 / fVar14; - if (((fVar12 <= DAT_800472f4) || (fVar15 <= DAT_800472f4)) || (fVar17 <= DAT_800472f4)) { - fVar17 = 1.00000000; - fVar15 = 1.00000000; - } - sub_7F0589B4(); - sub_7F0589E4(fVar15); - sub_7F058A4C(fVar17); - set_obj_instance_controller_scale - (*(int *)(puParm2 + 10),*(float *)(*(int *)(puParm2 + 10) + 0x14) * fVar14); - } - iVar7 = *(int *)(puParm2 + 10); -LAB_7f002698: - set_obj_instance_controller_scale(iVar7,*(float *)(iVar7 + 0x14) * fVar13); - matrix_multiply_A1_by_F12(*(undefined4 *)(*(int *)(puParm2 + 10) + 0x14)); - if ((*(uint *)(puParm2 + 4) & 2) == 0) { - loc_7F040B84(puParm2,auStack24,auStack108,uStack28,&fStack120); - } - else { - loc_7F040CD4(puParm2,auStack24,auStack108,uStack28,&fStack120); - } - loc_7F056E80(puParm2); - FUN_7f03a564(uStack152); - set_stateflag_0x04_for_posdata(uStack152); - return; -} - - - -// WARNING: Switch with 1 destination removed at 0x7f002854 : 8 cases all go to same destination -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F00299C(undefined4 uParm1,undefined2 *puParm2,undefined4 uParm3) - -{ - char cVar1; - byte bVar2; - int iVar4; - longlong lVar3; - undefined *puVar5; - char cVar6; - - if ((*(uint *)(puParm2 + 4) & 0x4000) != 0) { - iVar4 = FUN_7f022f90(puParm2[3]); - if (iVar4 == 0) { - return; - } - if (*(int *)(iVar4 + 0x18) == 0) { - return; - } - if (*(int *)(iVar4 + 0x1c) == 0) { - return; - } - lVar3 = FUN_7f091cdc(0x1c); - if ((lVar3 != 0) && (true)) { - switch(*(undefined *)(puParm2 + 0x40)) { - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - case 0x1d: - case 0x1e: - case 0x1f: - *(undefined *)(puParm2 + 0x40) = 0x19; - puParm2[2] = 0xd3; - *puParm2 = 0x100; - } - } - FUN_7f0056b0(*(undefined *)(puParm2 + 0x40)); - FUN_7f052310(puParm2,iVar4); - return; - } - lVar3 = FUN_7f0999a4(); - cVar6 = '\x01'; - if (1 < lVar3) { - _DAT_80058480 = -1; - bVar2 = *(byte *)(puParm2 + 0x40); - if (bVar2 < 0x59) { - if (bVar2 != 0x58) { - cVar1 = *(char *)(puParm2 + 0x40); - goto LAB_7f0028d8; - } - lVar3 = FUN_7f0146c8(); - cVar6 = '\x01'; - if (lVar3 != 2) { - cVar6 = '\0'; - } - } - else { - if ((uint)bVar2 - 0xf0 < 8) { - iVar4 = FUN_7f0c5b34(); - _DAT_80058480 = (uint)*(byte *)(puParm2 + 0x40) - 0xf0; - puVar5 = (undefined *)(iVar4 + _DAT_80058480 * 8); - *(undefined *)(puParm2 + 0x40) = *puVar5; - puParm2[2] = *(undefined2 *)(puVar5 + 4); - *puParm2 = *(undefined2 *)(puVar5 + 6); - cVar6 = puVar5[3]; - } - } - } - cVar1 = *(char *)(puParm2 + 0x40); -LAB_7f0028d8: - if ((cVar1 != '\0') && (cVar6 != '\0')) { - FUN_7f0056b0(); - loc_7F002728(uParm1,puParm2,uParm3); - } - return; -} - - - -void loc_7F002A10(undefined8 uParm1,int iParm2) - -{ - int iVar1; - - if ((*(uint *)(iParm2 + 8) & 0x4000) == 0) { - loc_7F002728(uParm1,iParm2); - } - else { - iVar1 = FUN_7f022f90(*(undefined2 *)(iParm2 + 6)); - if (((iVar1 != 0) && (*(int *)(iVar1 + 0x18) != 0)) && (*(int *)(iVar1 + 0x1c) != 0)) { - FUN_7f051364(iParm2,iVar1); - } - } - return; -} - - - -void FUN_7f002984(void) - -{ - loc_7F002728(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F002C48(undefined8 uParm1,int iParm2) - -{ - int iVar1; - float *pfVar2; - float fVar3; - undefined4 uVar4; - float fVar5; - float fStack20; - float fStack16; - float fStack12; - float *pfStack8; - - loc_7F002728(); - iVar1 = *(int *)(iParm2 + 0x80); - if (-1 < iVar1) { - pfVar2 = *(float **)(**(int **)(*(int *)(*(int *)(iParm2 + 0x14) + 8) + 8) + 4); - if (iVar1 < 10000) { - pfStack8 = (float *)(iVar1 * 0x2c + _DAT_80064c58); - } - else { - pfStack8 = (float *)(iVar1 * 0x44 + _DAT_80064c5c + -680000); - } - fStack20 = *pfVar2; - fStack16 = pfVar2[1]; - fStack12 = pfVar2[2]; - FUN_7f058880(iParm2 + 0x18,&fStack20); - fStack20 = fStack20 + *(float *)(*(int *)(iParm2 + 0x10) + 8); - fStack16 = fStack16 + *(float *)(*(int *)(iParm2 + 0x10) + 0xc); - fStack12 = fStack12 + *(float *)(*(int *)(iParm2 + 0x10) + 0x10); - FUN_7f059db0(iParm2 + 0x84,0,0,0,fStack20 - *pfStack8,fStack16 - pfStack8[1], - fStack12 - pfStack8[2],0,0x3f800000,0); - matrix_multiply_A1_by_F12(*(undefined4 *)(*(int *)(iParm2 + 0x14) + 0x14)); - fVar3 = DAT_80047390; - if (*(int *)(iParm2 + 0xe4) == 0) { - fVar5 = (float)*(int *)(iParm2 + 0xcc) * DAT_80047390; - *(undefined4 *)(iParm2 + 0xe4) = 1; - *(float *)(iParm2 + 0xcc) = fVar5 / 65536.00000000; - *(float *)(iParm2 + 0xd0) = ((float)*(int *)(iParm2 + 0xd0) * fVar3) / 65536.00000000; - *(float *)(iParm2 + 0xe8) = (float)*(int *)(iParm2 + 0xe8); - *(float *)(iParm2 + 0xdc) = ((float)*(int *)(iParm2 + 0xdc) * fVar3) / 65536.00000000; - uVar4 = *(undefined4 *)(iParm2 + 0xcc); - } - else { - uVar4 = *(undefined4 *)(iParm2 + 0xcc); - } - *(undefined4 *)(iParm2 + 0xd4) = 0; - *(undefined4 *)(iParm2 + 0xd8) = 0; - *(undefined4 *)(iParm2 + 200) = uVar4; - uVar4 = convert_angle_using_inverse(fStack20 - *pfStack8,fStack12 - pfStack8[2]); - *(undefined4 *)(iParm2 + 0xc4) = uVar4; - *(undefined4 *)(iParm2 + 0xe0) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f002bc0(undefined8 uParm1,int iParm2) - -{ - int iVar1; - undefined *puVar2; - float *pfVar3; - undefined4 uVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - loc_7F002728(); - fVar5 = DAT_80047394; - fVar6 = (float)*(int *)(iParm2 + 0xa4) * DAT_80047398; - *(undefined4 *)(iParm2 + 0xac) = 0; - *(undefined4 *)(iParm2 + 0xb8) = 0xffffffff; - *(undefined4 *)(iParm2 + 0xbc) = 0xffffffff; - *(undefined4 *)(iParm2 + 0xc0) = 0xffffffff; - *(undefined4 *)(iParm2 + 0xc4) = 0; - *(undefined4 *)(iParm2 + 200) = 0; - *(undefined4 *)(iParm2 + 0x90) = 0; - *(undefined4 *)(iParm2 + 0x94) = 0; - *(undefined4 *)(iParm2 + 0x84) = 0; - *(undefined4 *)(iParm2 + 0x9c) = 0; - *(undefined4 *)(iParm2 + 0xa0) = 0; - *(undefined4 *)(iParm2 + 0x98) = 0; - *(undefined4 *)(iParm2 + 0xb0) = 0; - *(undefined4 *)(iParm2 + 0xb4) = 0; - *(float *)(iParm2 + 0xa4) = fVar6 / 65536.00000000; - *(float *)(iParm2 + 0xa8) = ((float)*(int *)(iParm2 + 0xa8) * 100.00000000) / 65536.00000000; - *(float *)(iParm2 + 0x88) = ((float)*(int *)(iParm2 + 0x88) * fVar5) / 65536.00000000; - *(float *)(iParm2 + 0x8c) = ((float)*(int *)(iParm2 + 0x8c) * fVar5) / 65536.00000000; - puVar2 = (undefined *)FUN_70008b80(0x30,4); - *(undefined **)(iParm2 + 0xcc) = puVar2; - *puVar2 = 0xff; - iVar1 = *(int *)(iParm2 + 0x80); - *(undefined4 *)(iParm2 + 0xd0) = 0; - *(undefined4 *)(iParm2 + 0xd4) = 0; - if (-1 < iVar1) { - if (iVar1 < 10000) { - pfVar3 = (float *)(iVar1 * 0x2c + _DAT_80064c58); - } - else { - pfVar3 = (float *)(iVar1 * 0x44 + _DAT_80064c5c + -680000); - } - iVar1 = *(int *)(iParm2 + 0x10); - fVar5 = pfVar3[1]; - fVar6 = *(float *)(iVar1 + 0xc); - fVar7 = *pfVar3 - *(float *)(iVar1 + 8); - fVar8 = pfVar3[2] - *(float *)(iVar1 + 0x10); - uVar4 = convert_angle_using_inverse(); - *(undefined4 *)(iParm2 + 0x84) = uVar4; - uVar4 = sqrtf(fVar7 * fVar7 + fVar8 * fVar8); - uVar4 = convert_angle_using_inverse(fVar5 - fVar6,uVar4); - *(undefined4 *)(iParm2 + 0x98) = uVar4; - } - return; -} - - - -void FUN_7f002d8c(void) - -{ - loc_7F002728(); - return; -} - - - -void FUN_7f002dac(undefined4 uParm1,ushort *puParm2,undefined8 uParm3) - -{ - ushort uVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - int iVar6; - longlong lVar5; - int iVar7; - undefined4 *puVar8; - undefined4 *puVar9; - float fVar10; - - puVar3 = (undefined4 *)&DAT_80064ad8; - puVar4 = (undefined4 *)(puParm2 + 0x40); - do { - puVar8 = puVar4; - puVar9 = puVar3; - *puVar8 = *puVar9; - puVar8[1] = puVar9[1]; - puVar8[2] = puVar9[2]; - puVar3 = puVar9 + 3; - puVar4 = puVar8 + 3; - } while (puVar9 + 3 != (undefined4 *)0x80064b44); - puVar8[3] = uRam80064b44; - puVar8[4] = puVar9[4]; - FUN_7f049e74(puParm2 + 0x40,*(undefined4 *)(puParm2 + 0x7e)); - if (((short)puParm2[3] < 0) && ((*(uint *)(puParm2 + 4) & 0x8000) == 0)) { - uVar1 = puParm2[2]; - iVar6 = FUN_7f056d68(*(int *)(puParm2 + 0x7a) + (int)uParm3); - FUN_7f056f18(uVar1); - fVar10 = (float)(uint)*puParm2; - if (false) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(puParm2 + 0x3a) = (float)*(int *)(puParm2 + 0x3a) / 65536.00000000; - lVar5 = FUN_7f0999a4(); - if (1 < lVar5) { - *(byte *)(puParm2 + 1) = *(byte *)(puParm2 + 1) | 4; - } - iVar7 = FUN_7f0407dc(puParm2); - lVar5 = FUN_7f03ff58(); - *(int *)(puParm2 + 0x36) = (int)lVar5; - if (iVar7 == 0) { - iVar6 = *(int *)(puParm2 + 4); - } - else { - if (lVar5 == 0) { - iVar6 = *(int *)(puParm2 + 4); - } - else { - *(uint *)(puParm2 + 0x32) = *(uint *)(puParm2 + 0x32) | 0x40; - set_obj_instance_controller_scale - (*(int *)(puParm2 + 10), - *(float *)(*(int *)(puParm2 + 10) + 0x14) * fVar10 * 0.00390625); - *(undefined4 *)(*(int *)(puParm2 + 10) + 0x18) = *(undefined4 *)(iVar6 + 0x14); - iVar2 = *(int *)(puParm2 + 0x7c); - if (iVar2 == 0) { - *(undefined4 *)(*(int *)(puParm2 + 10) + 0x1c) = - **(undefined4 **)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8); - } - else { - if (iVar2 == 1) { - *(undefined4 *)(*(int *)(puParm2 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8) + 4); - } - else { - if (iVar2 == 2) { - *(undefined4 *)(*(int *)(puParm2 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8) + 8); - } - else { - *(undefined4 *)(*(int *)(puParm2 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8) + 0xc); - } - } - } - loc_7F03A5C0(iVar7,*(undefined4 *)(iVar6 + 0x10)); - FUN_7f058a18(DAT_8004739c); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(puParm2 + 10) + 0x14) / - *(float *)(*(int *)(iVar6 + 0x14) + 0x14)); - iVar6 = *(int *)(puParm2 + 4); - } - } - } - else { - loc_7F002728(uParm1,puParm2,uParm3); - iVar6 = *(int *)(puParm2 + 4); - } - if ((iVar6 << 1 < 0) && (iVar6 = *(int *)(puParm2 + 8), iVar6 != 0)) { - *(byte *)(iVar6 + 1) = *(byte *)(iVar6 + 1) | 1; - } - return; -} - - - -void FUN_7f003040(undefined4 uParm1,int iParm2,undefined4 uParm3) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - - puVar1 = (undefined4 *)&DAT_80064ad8; - puVar2 = (undefined4 *)(iParm2 + 0x80); - do { - puVar3 = puVar2; - puVar4 = puVar1; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar1 = puVar4 + 3; - puVar2 = puVar3 + 3; - } while (puVar4 + 3 != (undefined4 *)0x80064b44); - puVar3[3] = uRam80064b44; - puVar3[4] = puVar4[4]; - FUN_7f049e74((undefined4 *)(iParm2 + 0x80),(ulonglong)*(byte *)(iParm2 + 0x250)); - puVar1 = (undefined4 *)&DAT_80064ad8; - puVar2 = (undefined4 *)(iParm2 + 0xf4); - do { - puVar4 = puVar2; - puVar3 = puVar1; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar1 = puVar3 + 3; - puVar2 = puVar4 + 3; - } while (puVar3 + 3 != (undefined4 *)0x80064b44); - puVar4[3] = uRam80064b44; - puVar4[4] = puVar3[4]; - FUN_7f049e74((undefined4 *)(iParm2 + 0xf4),(ulonglong)*(byte *)(iParm2 + 0x251)); - puVar1 = (undefined4 *)&DAT_80064ad8; - puVar2 = (undefined4 *)(iParm2 + 0x168); - do { - puVar3 = puVar2; - puVar4 = puVar1; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar1 = puVar4 + 3; - puVar2 = puVar3 + 3; - } while (puVar4 + 3 != (undefined4 *)0x80064b44); - puVar3[3] = uRam80064b44; - puVar3[4] = puVar4[4]; - FUN_7f049e74((undefined4 *)(iParm2 + 0x168),(ulonglong)*(byte *)(iParm2 + 0x252)); - puVar1 = (undefined4 *)&DAT_80064ad8; - puVar2 = (undefined4 *)(iParm2 + 0x1dc); - do { - puVar4 = puVar2; - puVar3 = puVar1; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar1 = puVar3 + 3; - puVar2 = puVar4 + 3; - } while (puVar3 + 3 != (undefined4 *)0x80064b44); - puVar4[3] = uRam80064b44; - puVar4[4] = puVar3[4]; - FUN_7f049e74((undefined4 *)(iParm2 + 0x1dc),(ulonglong)*(byte *)(iParm2 + 0x253)); - loc_7F002728(uParm1,iParm2,uParm3); - return; -} - - - -void loc_7F003470(float *pfParm1,uint *puParm2,uint *puParm3,float *pfParm4,float *pfParm5) - -{ - byte bVar1; - longlong lVar2; - float fVar3; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - sub_7F001BD4(pfParm1,&fStack32); - fStack36 = pfParm1[10]; - lVar2 = sub_7F0B0BE4(&fStack36,*pfParm1,pfParm1[2],fStack32,fStack24); - if (lVar2 == 0) { - fStack36 = pfParm1[10]; - fStack32 = *pfParm1; - fStack28 = pfParm1[1]; - fStack24 = pfParm1[2]; - fVar3 = pfParm1[4]; - } - else { - fVar3 = pfParm1[4]; - } - fStack16 = fVar3 * pfParm1[8] - pfParm1[7] * pfParm1[5]; - fStack12 = pfParm1[5] * pfParm1[6] - pfParm1[8] * pfParm1[3]; - fStack8 = pfParm1[3] * pfParm1[7] - pfParm1[6] * pfParm1[4]; - fVar3 = (float)sqrtf(fStack8 * fStack8 + fStack16 * fStack16 + fStack12 * fStack12); - fVar3 = 1.00000000 / fVar3; - fStack4 = fStack36; - fStack16 = fStack16 * fVar3; - fStack12 = fStack12 * fVar3; - fStack8 = fStack8 * fVar3; - *pfParm4 = fStack16 * 50.00000000 + fStack32; - pfParm4[1] = fStack28; - pfParm4[2] = fStack8 * 50.00000000 + fStack24; - sub_7F0B0BE4(&fStack4,fStack32,fStack24,*pfParm4,pfParm4[2]); - *puParm2 = (uint)*(byte *)((int)fStack4 + 3); - fStack4 = fStack36; - *pfParm5 = fStack32 - fStack16 * 50.00000000; - pfParm5[1] = fStack28; - pfParm5[2] = fStack24 - fStack8 * 50.00000000; - sub_7F0B0BE4(&fStack4,fStack32,fStack24,*pfParm5,pfParm5[2]); - bVar1 = *(byte *)((int)fStack4 + 3); - *puParm3 = (uint)bVar1; - if ((ulonglong)bVar1 == (longlong)(int)*puParm2) { - *puParm3 = 0xffffffff; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f003460) overlaps instruction at (ram,0x7f00345c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F003BE0(undefined8 uParm1,int iParm2,int iParm3) - -{ - char cVar1; - longlong lVar2; - short sVar6; - int iVar3; - int iVar4; - undefined4 uVar5; - float *pfVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fStack348; - float fStack344; - float fStack340; - undefined auStack336 [64]; - undefined4 uStack272; - undefined4 uStack268; - undefined4 uStack264; - undefined auStack260 [64]; - undefined4 uStack196; - undefined4 uStack192; - undefined4 uStack188; - undefined4 uStack184; - int *piStack180; - undefined auStack172 [64]; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - undefined auStack68 [12]; - undefined auStack56 [12]; - undefined4 uStack44; - undefined4 uStack40; - int iStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 auStack16 [2]; - int iStack8; - - iStack36 = -1; - uStack40 = -1; - uStack44 = -1; - iStack8 = (int)*(short *)(iParm2 + 4); - FUN_7f056f18(); - pfVar7 = (float *)((int)*(short *)(iParm2 + 6) * 0x44 + _DAT_80064c5c); - if ((((*(int *)(iParm2 + 8) << 3 < 0) || (*(int *)(iParm2 + 8) << 1 < 0)) && - (loc_7F003470(pfVar7,&uStack40,&uStack44,auStack56,auStack68), *(int *)(iParm2 + 8) << 3 < 0)) - && ((-1 < uStack40 && (-1 < uStack44)))) { - iStack36 = FUN_7f0b8f64(uStack40,uStack44,auStack56,auStack68); - } - if (DAT_80025910 == 1.00000000) { - fVar10 = pfVar7[10]; - } - else { - if (iStack36 < 0) { - pfVar7[0xb] = pfVar7[0xb] * DAT_80025910; - pfVar7[0xc] = pfVar7[0xc] * DAT_80025910; - } - else { - FUN_7f0b8968(iStack36,&fStack88); - fVar10 = (float)FUN_7f0b3b6c(); - fStack76 = fStack76 * fVar10; - fStack104 = *pfVar7; - fVar10 = fStack80 * pfVar7[2] + fStack104 * fStack88 + pfVar7[1] * fStack84; - if (DAT_80025910 < 1.00000000) { - fVar10 = (fVar10 - fStack76) * (1.00000000 - DAT_80025910); - fStack104 = fStack104 - fStack88 * fVar10; - fStack100 = pfVar7[1] - fStack84 * fVar10; - fStack96 = pfVar7[2] - fStack80 * fVar10; - } - else { - fVar10 = (fVar10 - fStack76) * (DAT_80025910 - 1.00000000); - fStack104 = fStack88 * fVar10 + fStack104; - fStack100 = fStack84 * fVar10 + pfVar7[1]; - fStack96 = fStack80 * fVar10 + pfVar7[2]; - } - fStack108 = pfVar7[10]; - lVar2 = sub_7F0B0BE4(&fStack108,*pfVar7,pfVar7[2],fStack104,fStack96); - if (lVar2 != 0) { - pfVar7[10] = fStack108; - *pfVar7 = fStack104; - pfVar7[1] = fStack100; - pfVar7[2] = fStack96; - pfVar7[0xb] = pfVar7[0xb] * DAT_80025910; - pfVar7[0xc] = pfVar7[0xc] * DAT_80025910; - } - } - fVar10 = pfVar7[10]; - } - lVar2 = sub_GAME_7F056F08(pfVar7,fVar10,0,&uStack32,auStack16); - if (lVar2 == 0) { - *(undefined4 *)(iParm2 + 0x10) = 0; - return; - } - FUN_7f059db0(auStack172,0,0,0,-pfVar7[6],-pfVar7[7],-pfVar7[8],pfVar7[3],pfVar7[4],pfVar7[5]); - piStack180 = (int *)(&PTR_DAT_80034d88)[iStack8 * 3]; - uStack196 = auStack16[0]; - fVar11 = pfVar7[0xb]; - fVar10 = pfVar7[0xc]; - fVar8 = pfVar7[0xd]; - fVar9 = pfVar7[0xe]; - fVar13 = pfVar7[0xf]; - fStack340 = pfVar7[0x10]; - FUN_7f058a18(DAT_800473a0); - FUN_7f058b30(DAT_800473a4); - FUN_7f058510(auStack336,auStack260); - FUN_7f058510(auStack172,auStack260); - sub_7F001BD4(pfVar7,&uStack192); - iVar3 = *(int *)(*(int *)(*piStack180 + 0x14) + 4); - fVar12 = (fVar9 - fVar8) / (*(float *)(iVar3 + 8) - *(float *)(iVar3 + 4)); - fStack340 = fStack340 - fVar13; - fVar13 = fStack340 / (*(float *)(iVar3 + 0x10) - *(float *)(iVar3 + 0xc)); - fVar10 = (fVar10 - fVar11) / (*(float *)(iVar3 + 0x18) - *(float *)(iVar3 + 0x14)); - if (((fVar12 <= DAT_800473a8) || (fVar13 <= DAT_800473a8)) || (fVar10 <= DAT_800473a8)) { - fVar12 = 1.00000000; - fVar13 = fVar12; - fVar10 = fVar12; - } - sub_7F0589B4(); - sub_7F0589E4(fVar13); - sub_7F058A4C(fVar10); - uStack272 = uStack192; - uStack268 = uStack188; - uStack264 = uStack184; - if ((*(uint *)(iParm2 + 0xc) & 1) == 0) { - lVar2 = sub_7F0B0BE4(&uStack196,uStack32,uStack24,uStack192,uStack184); - if (lVar2 != 0) { - auStack16[0] = uStack196; - goto LAB_7f0038e8; - } - uStack192 = uStack32; - uStack184 = uStack24; - if ((*(uint *)(iParm2 + 8) & 0x1000) == 0) { - sVar6 = *(short *)(iParm2 + 0x9a); - } - else { - sVar6 = *(short *)(iParm2 + 0x9a); - } - } - else { - uStack192 = uStack32; - uStack188 = uStack28; - uStack184 = uStack24; -LAB_7f0038e8: - sVar6 = *(short *)(iParm2 + 0x9a); - } - fVar11 = DAT_800473ac; - if ((sVar6 == 4) || (sVar6 == 8)) { - fStack348 = pfVar7[6] * fStack340; - fStack344 = pfVar7[7] * fStack340; - fStack340 = pfVar7[8] * fStack340; - } - else { - fVar8 = fVar8 - fVar9; - fStack348 = pfVar7[3] * fVar8; - fStack344 = pfVar7[4] * fVar8; - fStack340 = pfVar7[5] * fVar8; - } - *(float *)(iParm2 + 0x84) = (float)*(int *)(iParm2 + 0x84) / 65536.00000000; - *(float *)(iParm2 + 0x88) = (float)*(int *)(iParm2 + 0x88) / 65536.00000000; - *(float *)(iParm2 + 0x8c) = ((float)*(int *)(iParm2 + 0x8c) * fVar11) / 65536.00000000; - *(float *)(iParm2 + 0x90) = ((float)*(int *)(iParm2 + 0x90) * fVar11) / 65536.00000000; - *(float *)(iParm2 + 0x94) = ((float)*(int *)(iParm2 + 0x94) * fVar11) / 65536.00000000; - iVar3 = FUN_7f0538d0(iParm2,&uStack192,auStack260,auStack16[0],&fStack348,&uStack272); - if (*(int *)(iParm2 + 8) << 3 < 0) { - *(int *)(iParm2 + 0xf0) = iStack36; - if (iStack36 < 0) { - iVar4 = *(int *)(iVar3 + 0x14); - } - else { - if (*(float *)(iParm2 + 0xb4) == 0.00000000) { - FUN_7f0538a4(iParm2); - iVar4 = *(int *)(iVar3 + 0x14); - } - else { - iVar4 = *(int *)(iVar3 + 0x14); - } - } - } - else { - iVar4 = *(int *)(iVar3 + 0x14); - } - *(undefined *)(iVar3 + 0x2c) = *(undefined *)(iVar4 + 3); - loc_7F03DE80(iVar3,(ulonglong)*(byte *)(iVar4 + 3)); - *(undefined *)(iVar3 + 0x2d) = 0xff; - *(undefined *)(iVar3 + 0x2e) = 0xff; - if ((-1 < *(int *)(iParm2 + 8) << 3) && (-1 < *(int *)(iParm2 + 8) << 1)) { - iVar4 = *(int *)(iParm2 + 0x14); - goto LAB_7f003ae8; - } - if ((longlong)uStack40 == (ulonglong)*(byte *)(*(int *)(iVar3 + 0x14) + 3)) { - if (-1 < uStack44) { - *(undefined *)(iVar3 + 0x2d) = (char)uStack44; - loc_7F03DE80(iVar3,uStack44._2_2_); - } -LAB_7f003ad4: - cVar1 = *(char *)(iVar3 + 0x2d); - } - else { - if ((longlong)uStack40 < 0) goto LAB_7f003ad4; - *(undefined *)(iVar3 + 0x2d) = (char)uStack40; - loc_7F03DE80(iVar3,uStack40._2_2_); - cVar1 = *(char *)(iVar3 + 0x2d); - } - if (cVar1 == -1) { - iVar4 = *(int *)(iParm2 + 0x14); - } - else { - iVar4 = *(int *)(iParm2 + 0x14); - } -LAB_7f003ae8: - if (iVar4 != 0) { - if (fVar13 <= fVar12) { - fVar13 = fVar12; - } - if (fVar13 < fVar10) { - fVar12 = *(float *)(iVar4 + 0x14); - } - else { - fVar12 = *(float *)(iVar4 + 0x14); - fVar10 = fVar13; - } - set_obj_instance_controller_scale(iVar4,fVar12 * fVar10); - } - FUN_7f03a564(iVar3); - set_stateflag_0x04_for_posdata(iVar3); - if (*(int *)(iParm2 + 0x80) != 0) { - uVar5 = FUN_7f056d68(*(int *)(iParm2 + 0x80) + iParm3); - *(undefined4 *)(iParm2 + 200) = uVar5; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f003b7c(longlong lParm1) - -{ - undefined uVar1; - undefined *puVar2; - bool bVar3; - longlong lVar4; - undefined **ppuVar6; - int *piVar7; - undefined8 uVar5; - int *piVar8; - float fVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - int iVar15; - int iVar16; - int iVar17; - int iVar18; - int iVar19; - int iVar20; - int iVar21; - int iVar22; - int iVar23; - int iVar24; - int iVar25; - int iVar26; - int iVar27; - int iVar28; - int iVar29; - undefined4 uVar30; - uint *puVar31; - short sVar32; - int **ppiVar33; - undefined4 *puVar34; - undefined4 *puVar35; - float *pfVar36; - char cVar37; - uint uVar38; - undefined4 *puVar39; - undefined4 *puVar40; - float fVar41; - float fVar42; - float fStack408; - float fStack372; - float fStack368; - float fStack364; - float fStack360; - float fStack356; - float fStack352; - float fStack304; - float fStack292; - undefined uStack268; - undefined uStack267; - uint uStack8; - - lVar4 = loc_7000A740(1,s__nochr_800471d0); - bVar3 = lVar4 == 0; - if (bVar3) { - lVar4 = loc_7000A740(1,s__noprop_800471d8); - bVar3 = lVar4 == 0; - } - uStack8 = (uint)bVar3; - lVar4 = loc_7000A740(1,s__noobj_800471e0); - bVar3 = lVar4 == 0; - if (bVar3) { - lVar4 = loc_7000A740(1,s__noprop_800471e8); - bVar3 = lVar4 == 0; - } - ppuVar6 = &PTR_DAT_80034d88; - DAT_80025910 = 1.00000000; - do { - puVar39 = (undefined4 *)*ppuVar6; - ppuVar6 = ppuVar6 + 3; - *puVar39 = 0; - } while (ppuVar6 < (undefined **)0x80035d78); - if (lParm1 < 0x3b) { - puVar2 = *(undefined **)(&DAT_80032594 + (int)lParm1 * 4); - puVar39 = &DAT_800471f0; - puVar34 = (undefined4 *)&uStack268; - if (puVar2 != NULL) { - do { - puVar40 = puVar39 + 3; - puVar35 = puVar34 + 3; - *puVar34 = *puVar39; - puVar34[1] = puVar39[1]; - puVar34[2] = puVar39[2]; - puVar39 = puVar40; - puVar34 = puVar35; - } while (puVar40 != (undefined4 *)0x800472ec); - iVar10 = 0; - iVar13 = 0; - *puVar35 = uRam800472ec; - uStack268 = *puVar2; - uStack267 = 0; - lVar4 = FUN_7f0999a4(); - if (1 < lVar4) { - locret_7000A844(&uStack268,&DAT_800472f0); - } - locret_7000A844(&uStack268,*(int *)(&DAT_80032594 + (int)lParm1 * 4) + 1); - piVar7 = (int *)FUN_7f0bc14c(&uStack268,1,0x100,4); - _DAT_80064c68 = piVar7; - uVar5 = get_textptr_for_textID(lParm1); - FUN_7f0c11e8(uVar5); - piVar8 = (int *)((int)piVar7 + *piVar7); - _DAT_80064c44 = (int *)((int)piVar7 + piVar7[1]); - _DAT_80064c48 = (int)piVar7 + piVar7[2]; - _DAT_80064c4c = (int)piVar7 + piVar7[3]; - _DAT_80064c50 = (int *)((int)piVar7 + piVar7[4]); - _DAT_80064c54 = (int *)((int)piVar7 + piVar7[5]); - _DAT_80064c58 = (float *)((int)piVar7 + piVar7[6]); - _DAT_80064c5c = (float *)((int)piVar7 + piVar7[7]); - _DAT_80064c60 = (int *)((int)piVar7 + piVar7[8]); - if (piVar7[8] == 0) { - _DAT_80064c60 = NULL; - } - _DAT_80064c64 = (int *)((int)piVar7 + piVar7[9]); - if (piVar7[9] == 0) { - _DAT_80064c64 = NULL; - } - _DAT_80064c40 = piVar8; - if ((piVar8 != NULL) && (iVar11 = 0, _DAT_80064c40 = piVar8, -1 < *piVar8)) { - iVar12 = piVar8[1]; - _DAT_80064c40 = piVar8; - while( true ) { - iVar11 += 0x10; - piVar8[1] = iVar12 + (int)piVar7; - piVar8 = (int *)((int)_DAT_80064c40 + iVar11); - if (*piVar8 < 0) break; - iVar12 = piVar8[1]; - } - } - if ((_DAT_80064c44 != NULL) && (iVar11 = 0, *_DAT_80064c44 != 0)) { - iVar12 = *_DAT_80064c44; - piVar8 = _DAT_80064c44; - do { - *piVar8 = iVar12 + (int)piVar7; - iVar12 = (int)_DAT_80064c44 + iVar11; - iVar11 += 0xc; - *(int *)(iVar12 + 4) = *(int *)(iVar12 + 4) + (int)piVar7; - piVar8 = (int *)((int)_DAT_80064c44 + iVar11); - iVar12 = *piVar8; - } while (iVar12 != 0); - } - if ((_DAT_80064c54 != NULL) && (iVar11 = 0, *_DAT_80064c54 != 0)) { - iVar12 = *_DAT_80064c54; - piVar8 = _DAT_80064c54; - do { - *piVar8 = iVar12 + (int)piVar7; - iVar11 += 8; - piVar8 = (int *)((int)_DAT_80064c54 + iVar11); - iVar12 = *piVar8; - } while (iVar12 != 0); - } - if ((_DAT_80064c50 != NULL) && (iVar11 = 0, *_DAT_80064c50 != 0)) { - iVar12 = *_DAT_80064c50; - piVar8 = _DAT_80064c50; - do { - *piVar8 = iVar12 + (int)piVar7; - sVar32 = 0; - ppiVar33 = (int **)((int)_DAT_80064c50 + iVar11); - piVar8 = *ppiVar33; - if (*piVar8 < 0) { - *(undefined2 *)((int)ppiVar33 + 6) = 0; - } - else { - iVar12 = piVar8[1]; - while( true ) { - sVar32 += 1; - if (iVar12 < 0) break; - iVar12 = piVar8[2]; - piVar8 = piVar8 + 1; - } - *(short *)((int)ppiVar33 + 6) = sVar32; - } - iVar11 += 8; - piVar8 = (int *)((int)_DAT_80064c50 + iVar11); - iVar12 = *piVar8; - } while (iVar12 != 0); - } - if (_DAT_80064c58 != NULL) { - fVar41 = (float)FUN_7f0b3b6c(); - fVar9 = _DAT_80064c58[9]; - if (fVar9 != 0.00000000) { - fVar42 = *_DAT_80064c58; - fStack292 = fVar41; - pfVar36 = _DAT_80064c58; - while( true ) { - *(int *)(pfVar36 + 9) = (int)piVar7 + (int)fVar9; - *pfVar36 = fVar42 * fStack292; - pfVar36[1] = pfVar36[1] * fStack292; - pfVar36[2] = pfVar36[2] * fStack292; - init_pathtable_something(pfVar36,(int)piVar7 + (int)fVar9,pfVar36 + 10); - fVar9 = pfVar36[0x14]; - pfVar36 = pfVar36 + 0xb; - if (fVar9 == 0.00000000) break; - fVar42 = *pfVar36; - } - } - } - if (_DAT_80064c5c != NULL) { - fVar41 = (float)FUN_7f0b3b6c(); - fVar9 = _DAT_80064c5c[9]; - if (fVar9 != 0.00000000) { - fVar42 = *_DAT_80064c5c; - fStack304 = fVar41; - pfVar36 = _DAT_80064c5c; - while( true ) { - *(int *)(pfVar36 + 9) = (int)piVar7 + (int)fVar9; - *pfVar36 = fVar42 * fStack304; - pfVar36[1] = pfVar36[1] * fStack304; - pfVar36[2] = pfVar36[2] * fStack304; - pfVar36[0xb] = pfVar36[0xb] * fStack304; - pfVar36[0xc] = pfVar36[0xc] * fStack304; - pfVar36[0xd] = pfVar36[0xd] * fStack304; - pfVar36[0xe] = pfVar36[0xe] * fStack304; - pfVar36[0xf] = pfVar36[0xf] * fStack304; - pfVar36[0x10] = pfVar36[0x10] * fStack304; - init_pathtable_something(pfVar36,(int)piVar7 + (int)fVar9,pfVar36 + 10); - fVar9 = pfVar36[0x1a]; - pfVar36 = pfVar36 + 0x11; - if (fVar9 == 0.00000000) break; - fVar42 = *pfVar36; - } - } - } - if ((_DAT_80064c60 != NULL) && (iVar11 = 0, *_DAT_80064c60 != 0)) { - iVar12 = *_DAT_80064c60; - piVar8 = _DAT_80064c60; - do { - *piVar8 = iVar12 + (int)piVar7; - iVar11 += 4; - piVar8 = (int *)((int)_DAT_80064c60 + iVar11); - iVar12 = *piVar8; - } while (iVar12 != 0); - } - if (_DAT_80064c64 != NULL) { - iVar11 = *_DAT_80064c64; - iVar12 = 0; - piVar8 = _DAT_80064c64; - while (iVar11 != 0) { - *piVar8 = iVar11 + (int)piVar7; - iVar12 += 4; - piVar8 = (int *)((int)_DAT_80064c64 + iVar12); - iVar11 = *piVar8; - } - } - if (uStack8 == 0) { - loc_7F000F40(0); - } - else { - uVar5 = stage_loading_setup_objparse_cleanupafter(9); - loc_7F000F40(uVar5); - iVar10 = stage_loading_setup_objparse_cleanupafter(9); - iVar11 = stage_loading_setup_objparse_cleanupafter(8); - iVar12 = stage_loading_setup_objparse_cleanupafter(4); - iVar13 = stage_loading_setup_objparse_cleanupafter(0x11); - iVar13 = iVar11 + iVar12 + iVar13; - } - if (bVar3) { - iVar11 = stage_loading_setup_objparse_cleanupafter(1); - iVar12 = stage_loading_setup_objparse_cleanupafter(6); - iVar14 = stage_loading_setup_objparse_cleanupafter(0xd); - iVar15 = stage_loading_setup_objparse_cleanupafter(0xc); - iVar16 = stage_loading_setup_objparse_cleanupafter(10); - iVar17 = stage_loading_setup_objparse_cleanupafter(0xb); - iVar18 = stage_loading_setup_objparse_cleanupafter(0x15); - iVar19 = stage_loading_setup_objparse_cleanupafter(3); - iVar20 = stage_loading_setup_objparse_cleanupafter(0x2a); - iVar21 = stage_loading_setup_objparse_cleanupafter(0x2f); - iVar22 = stage_loading_setup_objparse_cleanupafter(0x2b); - iVar23 = stage_loading_setup_objparse_cleanupafter(0x29); - iVar24 = stage_loading_setup_objparse_cleanupafter(0x24); - iVar25 = stage_loading_setup_objparse_cleanupafter(5); - iVar26 = stage_loading_setup_objparse_cleanupafter(7); - iVar27 = stage_loading_setup_objparse_cleanupafter(0x14); - iVar28 = stage_loading_setup_objparse_cleanupafter(0x27); - iVar29 = stage_loading_setup_objparse_cleanupafter(0x2d); - iVar13 = iVar13 + iVar11 + iVar12 + iVar14 + iVar15 + iVar16 + iVar17 + iVar18 + iVar19 + - iVar20 + iVar21 + iVar22 + iVar23 + iVar24 + iVar25 + iVar26 + iVar27 + iVar28 + - iVar29; - iVar11 = stage_loading_setup_objparse_cleanupafter(0x28); - iVar10 += iVar11; - } - FUN_7f0054e0(iVar13); - FUN_7f0055c4(iVar10); - iVar10 = 0; - lVar4 = FUN_7f0999a4(); - if (0 < lVar4) { - do { - FUN_7f09a64c(iVar10); - uVar5 = stage_loading_setup_objparse_cleanupafter(0xe); - FUN_7f0061dc(uVar5); - iVar10 += 1; - iVar13 = FUN_7f0999a4(); - } while (iVar10 < iVar13); - } - if (_DAT_80064c4c != 0) { - iVar10 = FUN_7f0bf084(); - uVar38 = 1 << (iVar10 + 4U & 0x1f); - lVar4 = FUN_7f0999a4(); - if (1 < lVar4) { - iVar10 = FUN_7f0999a4(); - uVar38 |= 1 << (iVar10 + 0x14U & 0x1f); - } - iVar13 = 0; - cVar37 = *(char *)(_DAT_80064c4c + 3); - iVar10 = _DAT_80064c4c; - if (cVar37 == '0') { - cVar37 = *(char *)(_DAT_80064c4c + 3); - } - else { - do { - if (true) { - switch(cVar37) { - case '\x01': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - loc_7F003BE0(lParm1,iVar10,iVar13); - } - break; - case '\x02': - DAT_80025910 = (float)*(int *)(iVar10 + 4) / 65536.00000000; - break; - case '\x03': - case '\x05': - case '\a': - case '$': - case ')': - case '*': - case '+': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - loc_7F002728(lParm1,iVar10,iVar13); - } - break; - case '\x04': - if ((uStack8 != 0) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - FUN_7f002984(lParm1,iVar10,iVar13); - } - break; - case '\x06': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - loc_7F002C48(lParm1,iVar10,iVar13); - } - break; - case '\b': - if ((uStack8 != 0) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - loc_7F00299C(lParm1,iVar10,iVar13); - } - break; - case '\t': - if (uStack8 != 0) { - FUN_7f0236ec(lParm1,iVar10,iVar13); - } - break; - case '\n': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - FUN_7f002dac(lParm1,iVar10,iVar13); - } - break; - case '\v': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - FUN_7f003040(lParm1,iVar10,iVar13); - } - break; - case '\f': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - FUN_7f002d8c(lParm1,iVar10,iVar13); - } - break; - case '\r': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - FUN_7f002bc0(lParm1,iVar10,iVar13); - } - break; - case '\x11': - if ((uStack8 != 0) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - loc_7F002A10(lParm1,iVar10,iVar13); - } - break; - case '\x12': - uVar1 = *(undefined *)(iVar10 + 0xb); - iVar11 = FUN_7f022f90(*(undefined4 *)(iVar10 + 4)); - if (((iVar11 != 0) && (*(int *)(iVar11 + 0x18) != 0)) && - (*(int *)(iVar11 + 0x1c) != 0)) { - *(undefined *)(iVar11 + 0x10) = uVar1; - } - break; - case '\x14': - cVar37 = '\x01'; - lVar4 = FUN_7f0999a4(); - if (1 < lVar4) { - iVar11 = FUN_7f0c5b34(); - iVar11 += _DAT_80058480 * 8; - cVar37 = *(char *)(iVar11 + 2); - *(short *)(iVar10 + (int)*(char *)(iVar11 + 1) * 4 + 0x7e) = (short)cVar37; - } - if ((('\0' < cVar37) && (bVar3)) && - (iVar12 = 0, iVar11 = iVar10, (*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - do { - if ((*(short *)(iVar11 + 0x82) != 0) && (*(short *)(iVar11 + 0x80) != -1)) { - FUN_7f056f18(); - } - iVar12 += 4; - iVar11 += 4; - } while (iVar12 != 0x34); - loc_7F002728(lParm1,iVar10,iVar13); - } - break; - case '\x15': - if (bVar3) { - if ((*(uint *)(iVar10 + 0xc) & uVar38) == 0) { - iVar11 = *(int *)(iVar10 + 0x80); - } - else { - if (DAT_80041150 == 0) break; - iVar11 = *(int *)(iVar10 + 0x80); - } - *(float *)(iVar10 + 0x80) = (float)iVar11 / 65536.00000000; - *(undefined4 *)(iVar10 + 0x84) = *(undefined4 *)(iVar10 + 0x80); - loc_7F002728(lParm1,iVar10,iVar13); - } - break; - case '\x16': - iVar11 = FUN_7f057180(lParm1,(int)*(short *)(iVar10 + 6) + iVar13); - *(int *)(iVar10 + 0xc) = iVar11; - if (iVar11 != 0) { - *(uint *)(iVar11 + 100) = *(uint *)(iVar11 + 100) | 0x10; - } - FUN_7f004f20(iVar10); - break; - case '\x17': - FUN_7f004f50(iVar10); - break; - case '\x1e': - FUN_7f004fbc(iVar10); - break; - case ' ': - FUN_7f004f8c(iVar10); - break; - case '!': - FUN_7f004fa4(iVar10); - break; - case '#': - FUN_7f004f38(iVar10); - break; - case '%': - iVar11 = FUN_7f057180(lParm1,*(int *)(iVar10 + 4) + iVar13); - *(int *)(iVar10 + 0x24) = iVar11; - if (iVar11 != 0) { - *(uint *)(iVar11 + 100) = *(uint *)(iVar11 + 100) | 0x400; - } - FUN_7f08de08(iVar10); - break; - case '\'': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - loc_7F002728(lParm1,iVar10,iVar13); - if ((*(int *)(iVar10 + 0x14) != 0) && - (*(int *)(*(int *)(*(int *)(*(int *)(iVar10 + 0x14) + 8) + 8) + 0x14) != 0)) { - puVar31 = (uint *)loc_7F06C888(); - *puVar31 = (uint)((*(uint *)(iVar10 + 8) & 0x10000000) == 0); - } - *(undefined4 *)(iVar10 + 0x88) = 0; - *(undefined4 *)(iVar10 + 0x8c) = 0; - *(undefined4 *)(iVar10 + 0x90) = 0; - *(undefined4 *)(iVar10 + 0x94) = 0; - *(undefined4 *)(iVar10 + 0x9c) = 0; - *(undefined4 *)(iVar10 + 0xa0) = 0; - *(undefined4 *)(iVar10 + 0x98) = 0xbf800000; - uVar30 = FUN_7f0353d8(*(undefined4 *)(iVar10 + 0x80)); - *(undefined4 *)(iVar10 + 0x80) = uVar30; - *(undefined2 *)(iVar10 + 0x84) = 0; - *(undefined2 *)(iVar10 + 0x86) = 0xffff; - *(undefined4 *)(iVar10 + 0xa4) = 0; - *(undefined4 *)(iVar10 + 0xa8) = 0; - *(undefined4 *)(iVar10 + 0xac) = 0; - } - break; - case '(': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - loc_7F002728(lParm1,iVar10,iVar13); - *(undefined4 *)(iVar10 + 0x98) = 0; - *(undefined4 *)(iVar10 + 0x9c) = 0; - *(undefined4 *)(iVar10 + 0x88) = 0; - *(undefined4 *)(iVar10 + 0x8c) = 0; - *(undefined4 *)(iVar10 + 0x90) = 0; - *(undefined4 *)(iVar10 + 0xa4) = 0; - *(undefined4 *)(iVar10 + 0xa0) = 0xbf800000; - *(undefined4 *)(iVar10 + 0x94) = 0xbf800000; - uVar30 = FUN_7f0353d8(*(undefined4 *)(iVar10 + 0x80)); - *(undefined4 *)(iVar10 + 0x80) = uVar30; - *(undefined2 *)(iVar10 + 0x84) = 0; - *(undefined2 *)(iVar10 + 0x86) = 0xffff; - *(undefined4 *)(iVar10 + 0xa8) = 0; - *(undefined4 *)(iVar10 + 0xac) = 0; - *(undefined4 *)(iVar10 + 0xb0) = 0; - } - break; - case '-': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - fStack408 = 0.00000000; - FUN_7f0056b0(0x20); - loc_7F002728(lParm1,iVar10,iVar13); - *(undefined4 *)(iVar10 + 200) = 0; - *(undefined4 *)(iVar10 + 0xcc) = 0; - fVar9 = (float)convert_angle_using_inverse - (*(undefined4 *)(iVar10 + 0x38), - *(undefined4 *)(iVar10 + 0x40)); - iVar11 = *(int *)(iVar10 + 0x10); - *(float *)(iVar10 + 0xdc) = DAT_8004746c - fVar9; - if (iVar11 != 0) { - fStack408 = (float)FUN_7f0b1c30(*(undefined4 *)(iVar11 + 0x14), - *(undefined4 *)(iVar11 + 8), - *(undefined4 *)(iVar11 + 0x10)); - } - *(float *)(iVar10 + 0xd4) = fStack408; - *(float *)(iVar10 + 0xd0) = fStack408 / DAT_80047470; - } - break; - case '.': - *(float *)(iVar10 + 4) = (float)*(int *)(iVar10 + 4) / 100.00000000; - *(float *)(iVar10 + 8) = (float)*(int *)(iVar10 + 8) / 100.00000000; - *(float *)(iVar10 + 0xc) = (float)*(int *)(iVar10 + 0xc) / 100.00000000; - *(float *)(iVar10 + 0x10) = (float)*(int *)(iVar10 + 0x10) / 65536.00000000; - *(float *)(iVar10 + 0x14) = (float)*(int *)(iVar10 + 0x14) / 65536.00000000; - break; - case '/': - if ((bVar3) && ((*(uint *)(iVar10 + 0xc) & uVar38) == 0)) { - if (*(int *)(iVar10 + 8) << 3 < 0) { - if (9999 < *(short *)(iVar10 + 6)) { - pfVar36 = _DAT_80064c5c + (int)*(short *)(iVar10 + 6) * 0x11; - sub_7F001BD4(pfVar36 + -170000,&fStack360); - fStack372 = pfVar36[-0x2980d] * 10.00000000 + fStack360; - fStack368 = pfVar36[-0x2980c] * 10.00000000 + fStack356; - fStack364 = pfVar36[-0x2980b] * 10.00000000 + fStack352; - fStack360 = fStack360 - pfVar36[-0x2980d] * 10.00000000; - fStack356 = fStack356 - pfVar36[-0x2980c] * 10.00000000; - fStack352 = fStack352 - pfVar36[-0x2980b] * 10.00000000; - uVar30 = FUN_7f0b90a0(&fStack360,&fStack372); - *(undefined4 *)(iVar10 + 0x8c) = uVar30; - *(float *)(iVar10 + 0x90) = (float)*(int *)(iVar10 + 0x90) / 65536.00000000; - } - } - loc_7F002728(lParm1,iVar10,iVar13); - } - } - } - iVar11 = FUN_7f056bd4(iVar10); - iVar10 = iVar11 * 4 + iVar10; - cVar37 = *(char *)(iVar10 + 3); - iVar13 += 1; - } while (cVar37 != '0'); - cVar37 = *(char *)(_DAT_80064c4c + 3); - } - iVar10 = 0; - iVar13 = _DAT_80064c4c; - while (cVar37 != '0') { - if (true) { - switch(cVar37) { - case '\x03': - case '\x04': - case '\a': - case '\b': - case '\n': - case '\x14': - case '\x15': - case '$': - case ')': - case '*': - case '+': - case '/': - if (((*(int *)(iVar13 + 0x10) != 0) && ((*(uint *)(iVar13 + 8) & 0x8000) != 0)) && - ((iVar11 = FUN_7f057180(lParm1,iVar10 + (int)*(short *)(iVar13 + 6)), iVar11 != 0 - && (*(int *)(iVar11 + 0x10) != 0)))) { - *(uint *)(iVar13 + 100) = *(uint *)(iVar13 + 100) | 0x80000; - set_obj_instance_controller_scale - (*(int *)(iVar13 + 0x14),*(undefined4 *)(*(int *)(iVar13 + 0x14) + 0x14)); - loc_7F03A5C0(*(undefined4 *)(iVar13 + 0x10),*(undefined4 *)(iVar11 + 0x10)); - } - break; - case '\x0e': - iVar11 = FUN_7f056d68(*(int *)(iVar13 + 4) + iVar10); - iVar12 = FUN_7f056d68(*(int *)(iVar13 + 8) + iVar10); - if ((((iVar11 != 0) && (iVar12 != 0)) && (*(char *)(iVar11 + 3) == '\b')) && - (*(char *)(iVar12 + 3) == '\b')) { - link_objects(iVar11,iVar12); - } - break; - case '\x13': - iVar11 = *(int *)(iVar13 + 8); - iVar12 = FUN_7f057180(lParm1,iVar10 + *(int *)(iVar13 + 4)); - iVar11 = FUN_7f056d68(iVar10 + iVar11); - if (((iVar12 != 0) && (*(int *)(iVar12 + 0x10) != 0)) && - ((iVar11 != 0 && - ((*(char *)(iVar11 + 3) == '\x01' && (*(int *)(iVar11 + 0x10) != 0)))))) { - *(int *)(iVar13 + 4) = *(int *)(iVar12 + 0x10); - *(undefined4 *)(iVar13 + 8) = *(undefined4 *)(iVar11 + 0x10); - FUN_7f001910(iVar13); - *(uint *)(iVar12 + 100) = *(uint *)(iVar12 + 100) | 1; - } - break; - case '&': - iVar11 = *(int *)(iVar13 + 8); - iVar12 = FUN_7f057180(lParm1,iVar10 + *(int *)(iVar13 + 4)); - iVar11 = FUN_7f057180(lParm1,iVar10 + iVar11); - if ((((iVar12 != 0) && (*(int *)(iVar12 + 0x10) != 0)) && (iVar11 != 0)) && - ((*(int *)(iVar11 + 0x10) != 0 && (*(char *)(iVar12 + 3) == '\x01')))) { - *(int *)(iVar13 + 4) = iVar12; - *(int *)(iVar13 + 8) = iVar11; - FUN_7f001928(iVar13); - *(uint *)(iVar12 + 100) = *(uint *)(iVar12 + 100) | 0x2000; - } - break; - case ',': - iVar11 = *(int *)(iVar13 + 0xc); - iVar12 = *(int *)(iVar13 + 8); - iVar14 = FUN_7f057180(lParm1,iVar10 + *(int *)(iVar13 + 4)); - iVar12 = FUN_7f057180(lParm1,iVar10 + iVar12); - iVar11 = FUN_7f057180(lParm1,iVar10 + iVar11); - if ((((((iVar14 != 0) && (*(int *)(iVar14 + 0x10) != 0)) && (iVar12 != 0)) && - ((*(int *)(iVar12 + 0x10) != 0 && (*(char *)(iVar12 + 3) == '+')))) && - (iVar11 != 0)) && - ((*(int *)(iVar11 + 0x10) != 0 && (*(char *)(iVar11 + 3) == '\x01')))) { - *(int *)(iVar13 + 4) = iVar14; - *(int *)(iVar13 + 8) = iVar12; - *(int *)(iVar13 + 0xc) = iVar11; - FUN_7f001940(iVar13); - *(uint *)(iVar14 + 0xc) = *(uint *)(iVar14 + 0xc) | 0x400; - *(uint *)(iVar11 + 0xc) = *(uint *)(iVar11 + 0xc) | 0x400; - } - } - } - iVar11 = FUN_7f056bd4(iVar13); - iVar13 = iVar11 * 4 + iVar13; - cVar37 = *(char *)(iVar13 + 3); - iVar10 += 1; - } - } - goto LAB_7f004e0c; - } - } - _DAT_80064c40 = NULL; - _DAT_80064c44 = NULL; - _DAT_80064c48 = 0; - _DAT_80064c4c = 0; - _DAT_80064c50 = NULL; - _DAT_80064c54 = NULL; - _DAT_80064c58 = NULL; - _DAT_80064c5c = NULL; - _DAT_80064c60 = NULL; - _DAT_80064c64 = NULL; - loc_7F000F40(0); - FUN_7f0054e0(0); - FUN_7f0055c4(0); -LAB_7f004e0c: - FUN_7f00105c(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004e50(void) - -{ - longlong lVar1; - undefined4 *puVar2; - - lVar1 = FUN_70005da4(); - if (lVar1 != 0x5a) { - DAT_8002d840 = 0xffffffff; - _DAT_80064c98 = 0; - _DAT_80064c9c = 0; - puVar2 = (undefined4 *)&DAT_80064ca0; - do { - puVar2 = puVar2 + 4; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - *puVar2 = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)&DAT_80064cc0); - } - DAT_8002d844 = 0; - _DAT_80064c70 = 0; - _DAT_80064c74 = 0; - puVar2 = (undefined4 *)&DAT_80064c78; - do { - puVar2 = puVar2 + 4; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - *puVar2 = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)&DAT_80064c98); - _DAT_80064cc0 = 0; - _DAT_80064cc4 = 0; - _DAT_80064cc8 = 0; - _DAT_80064ccc = 0; - _DAT_80064cd0 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004f20(int iParm1) - -{ - *(undefined4 *)(iParm1 + 8) = _DAT_80064cc0; - _DAT_80064cc0 = iParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004f38(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0xc) = _DAT_80064cc4; - _DAT_80064cc4 = iParm1; - return; -} - - - -void FUN_7f004f50(int iParm1) - -{ - *(int *)(&DAT_80064c70 + *(int *)(iParm1 + 4) * 4) = iParm1; - if (DAT_8002d840 < *(int *)(iParm1 + 4)) { - DAT_8002d840 = *(int *)(iParm1 + 4); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004f8c(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0xc) = _DAT_80064cc8; - _DAT_80064cc8 = iParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004fa4(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0x10) = _DAT_80064ccc; - _DAT_80064ccc = iParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004fbc(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0xc) = _DAT_80064cd0; - _DAT_80064cd0 = iParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004fe0(void) - -{ - undefined4 *puVar1; - undefined *puVar2; - undefined **ppuVar3; - - _DAT_80064cf0 = 0; - puVar1 = (undefined4 *)&DAT_80064cf8; - do { - puVar1 = puVar1 + 1; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 < (undefined4 *)0x80064d08); - DAT_800301ec = 0; - DAT_800301f0 = 0; - if (PTR_DAT_8002d9bc != NULL) { - ppuVar3 = &PTR_DAT_8002d9bc; - puVar2 = PTR_DAT_8002d9bc; - do { - FUN_7f0765cc(puVar2,ppuVar3[1]); - puVar2 = ppuVar3[2]; - ppuVar3 = ppuVar3 + 2; - } while (puVar2 != NULL); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void init_player_BONDdata_stats(void) - -{ - undefined4 uVar2; - longlong lVar1; - int iVar3; - int iVar4; - undefined4 *puVar5; - int iVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 auStack940 [234]; - undefined4 uStack4; - - puVar7 = &DAT_80025920; - puVar5 = auStack940; - do { - puVar8 = puVar7 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar7 = puVar8; - puVar5 = puVar5 + 3; - } while (puVar8 != (undefined4 *)0x80025cc8); - uVar2 = FUN_70008b80(DAT_8002d9ac,4); - *(undefined4 *)(_DAT_80068bc0 + 0x808) = uVar2; - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - uVar2 = FUN_70008b80(DAT_8002d9b0,4); - *(undefined4 *)(_DAT_80068bc0 + 0x80c) = uVar2; - } - puVar7 = auStack940; - *(undefined4 *)(_DAT_80068bc0 + 0x7f8) = 0; - iVar3 = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x7fc) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x800) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x804) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x2a3c) = 0xffffffff; - *(undefined4 *)(_DAT_80068bc0 + 0x2a40) = 0xffffffff; - *(undefined4 *)(_DAT_80068bc0 + 0x2a48) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x2a4c) = 0; - iVar6 = _DAT_80068bc0; - puVar5 = puVar7; - do { - puVar8 = puVar5 + 3; - *(undefined4 *)(iVar6 + 0x868) = *puVar5; - *(undefined4 *)(iVar6 + 0x86c) = puVar5[1]; - *(undefined4 *)(iVar6 + 0x870) = puVar5[2]; - iVar6 = iVar6 + 0xc; - puVar5 = puVar8; - iVar4 = _DAT_80068bc0; - } while (puVar8 != &uStack4); - do { - puVar5 = puVar7 + 3; - *(undefined4 *)(iVar4 + 0xc10) = *puVar7; - *(undefined4 *)(iVar4 + 0xc14) = puVar7[1]; - *(undefined4 *)(iVar4 + 0xc18) = puVar7[2]; - puVar7 = puVar5; - iVar4 = iVar4 + 0xc; - } while (puVar5 != &uStack4); - do { - iVar6 = _DAT_80068bc0 + iVar3; - iVar3 += 4; - *(undefined4 *)(iVar6 + 0x1128) = 0; - } while (iVar3 < 0x78); - *_DAT_80068bc4 = 0; - _DAT_80068bc4[1] = 0; - _DAT_80068bc4[2] = 0; - _DAT_80068bc4[3] = 0; - _DAT_80068bc4[4] = 0; - _DAT_80068bc4[5] = 0; - _DAT_80068bc4[6] = 0; - uVar2 = DAT_80047530; - _DAT_80068bc4[0x1b] = 0; - _DAT_80068bc4[7] = 0; - _DAT_80068bc4[8] = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x29d0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x29d4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfb8) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0xfbc) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0xfc0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfc4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfc8) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfcc) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfd0) = 0; - *(undefined *)(_DAT_80068bc0 + 0xfd4) = 0xff; - *(undefined *)(_DAT_80068bc0 + 0xfd5) = 0xff; - *(undefined *)(_DAT_80068bc0 + 0xfd6) = 0xff; - *(undefined *)(_DAT_80068bc0 + 0xfd7) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfd8) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0xfdc) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfe0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfe4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfe8) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xfec) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xff0) = uVar2; - *(undefined4 *)(_DAT_80068bc0 + 0xff4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xff8) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xffc) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1000) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1004) = uVar2; - *(undefined4 *)(_DAT_80068bc0 + 0x1008) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x100c) = DAT_80047534; - *(undefined4 *)(_DAT_80068bc0 + 0x1010) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1058) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1268) = 0xffffffff; - *(undefined4 *)(_DAT_80068bc0 + 0x1064) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1068) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x106c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1070) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1074) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1078) = 0; - loc_7F05CE80(0); - loc_7F05CE80(0); - loc_7F05CE80(0); - loc_7F05CE80(1); - loc_7F05CE80(1); - loc_7F05CE80(1); - *(undefined4 *)(_DAT_80068bc0 + 0x105c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1120) = 2; - *(undefined4 *)(_DAT_80068bc0 + 0x107c) = DAT_8002e188; - *(undefined4 *)(_DAT_80068bc0 + 0x1080) = DAT_8002ec08; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0054e0(int iParm1) - -{ - undefined4 uVar1; - int iVar2; - int iVar3; - - DAT_800315c4 = iParm1 + 0x1e; - _DAT_80068414 = FUN_70008b80(DAT_800315c4 * 0x20,4); - iVar3 = 0; - if (0 < DAT_800315c4) { - iVar2 = 0; - do { - *(undefined4 *)(_DAT_80068414 + iVar2 + 8) = 0; - if (iVar3 < iParm1) { - *(undefined4 *)(_DAT_80068414 + iVar2 + 0x10) = 0; - } - else { - uVar1 = FUN_70008b80(0x50,4); - *(undefined4 *)(_DAT_80068414 + iVar2 + 0x10) = uVar1; - *(undefined2 *)(_DAT_80068414 + iVar2 + 2) = 0x14; - } - iVar3 += 1; - iVar2 += 0x20; - } while (iVar3 < DAT_800315c4); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0055c4(int iParm1) - -{ - undefined4 uVar1; - int iVar2; - int iVar3; - - DAT_800315c0 = iParm1 + 10; - _DAT_80068410 = FUN_70008b80(DAT_800315c0 * 0xc0,4); - iVar3 = 0; - if (0 < DAT_800315c0) { - iVar2 = 0; - do { - *(undefined4 *)(_DAT_80068410 + iVar2 + 8) = 0; - if (iVar3 < iParm1) { - *(undefined4 *)(_DAT_80068410 + iVar2 + 0x10) = 0; - } - else { - uVar1 = FUN_70008b80(0x230,4); - *(undefined4 *)(_DAT_80068410 + iVar2 + 0x10) = uVar1; - *(undefined2 *)(_DAT_80068410 + iVar2 + 2) = 0x8c; - } - iVar3 += 1; - iVar2 += 0xbc; - } while (iVar3 < DAT_800315c0); - } - return; -} - - - -undefined8 FUN_7f0056b0(undefined4 uParm1) - -{ - undefined8 uVar1; - longlong lVar2; - - lVar2 = -1; - if (true) { - switch(uParm1) { - case 3: - lVar2 = 0xba; - break; - case 0x18: - lVar2 = 0xcb; - break; - case 0x19: - lVar2 = 0xca; - break; - case 0x1a: - lVar2 = 0xc4; - break; - case 0x1b: - lVar2 = 0xc9; - break; - case 0x1c: - lVar2 = 200; - break; - case 0x1d: - lVar2 = 199; - break; - case 0x20: - lVar2 = 0xca; - break; - case 0x21: - lVar2 = 0xe2; - break; - case 0x22: - lVar2 = 0x111; - break; - case 0x2f: - lVar2 = 0xf5; - break; - case 0x30: - lVar2 = 0xf6; - } - } - uVar1 = 0; - if (-1 < lVar2) { - uVar1 = FUN_7f056f18(lVar2); - } - return uVar1; -} - - - -// WARNING: Instruction at (ram,0x7f005db8) overlaps instruction at (ram,0x7f005db4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f005764(void) - -{ - longlong lVar1; - int iVar3; - uint uVar4; - undefined8 uVar2; - undefined4 *puVar5; - uint *puVar6; - undefined4 uVar7; - float fVar8; - undefined4 uStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - undefined4 uStack4; - - puVar6 = _DAT_80064c48; - uStack12 = DAT_80025cd0; - fStack8 = DAT_80025cd4; - uStack4 = DAT_80025cd8; - DAT_80025e78 = 0; - DAT_80031974 = 0; - DAT_80031978 = 0; - DAT_8003197c = 0; - DAT_80031980 = 0; - DAT_80031984 = 0; - fStack16 = 0.00000000; - lVar1 = FUN_70005da4(); - if (lVar1 == 0x36) { - iVar3 = FUN_70008b80(0x46ea0,4); - DAT_80031978 = iVar3 + 0x3fU & 0xffffffc0; - DAT_80031980 = 1; - } - DAT_80031988 = 0; - DAT_8003198c = 0; - DAT_80031990 = 0; - _DAT_80068470 = 0; - _DAT_80068474 = 0; - _DAT_80068478 = 0; - DAT_80031994 = 0; - _DAT_80068778 = 0; - DAT_80031998 = 0; - DAT_8003199c = 0; - DAT_800319a0 = 0; - DAT_800319a4 = 0; - DAT_800319a8 = 0; - DAT_800319ac = 0; - DAT_800319b0 = 0; - DAT_800319b4 = 0; - DAT_800319b8 = 0; - DAT_800319bc = 0; - DAT_800319c0 = 0; - DAT_800319c4 = 0; - DAT_800319c8 = 0; - DAT_800319cc = 0; - DAT_800319d0 = 0; - DAT_800319d4 = 0; - DAT_800319d8 = 0; - DAT_800319dc = 0; - DAT_80031a00 = 1; - DAT_80031a04 = 0; - DAT_800319e4 = 0; - DAT_800319e8 = 0; - DAT_800319ec = 0; - DAT_800319f0 = 0; - DAT_800319f4 = 0; - DAT_800319f8 = 1; - DAT_800319fc = 0; - DAT_80031a10 = 0; - DAT_80031a08 = 0; - DAT_80031a0c = 0; - _DAT_80068500 = 0; - _DAT_80068504 = 0; - DAT_80031a64 = 0; - DAT_80031af8 = DAT_800475f8; - _DAT_800684c4 = 0; - _DAT_800684c0 = 0; - if (puVar6 != NULL) { - uVar4 = *puVar6; - while (uVar4 != 9) { - if (uVar4 < 9) { - // WARNING: Could not recover jumptable at 0x7f0059dc. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_800475fc)[uVar4])(); - return; - } - puVar6 = puVar6 + 1; - uVar4 = *puVar6; - } - } - if (false) { - DAT_80031a10 = 0; - uVar4 = FUN_700098b0(); - uVar4 %= DAT_80031a0c; - if (DAT_80031a0c == 0) { - trap(0x1c00); - } - while (0 < (int)uVar4) { - uVar4 -= 1; - DAT_80031a10 = *(int *)(DAT_80031a10 + 0x24); - } - } - FUN_7f08c7e8(1); - if (true) { - _DAT_800684c0 = 1; - } - *(undefined4 *)(_DAT_80068bc0 + 0x78) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x7c) = DAT_80047620; - *(undefined4 *)(_DAT_80068bc0 + 0x80) = 0; - if (_DAT_80068778 < 1) { - uVar2 = loc_7F0AFCE0(&uStack12,&fStack8,&uStack4,0x41f00000); - uStack20 = (undefined4)uVar2; - fVar8 = (float)FUN_7f080e04(uVar2,uStack12,uStack4); - fStack8 = *(float *)(_DAT_80068bc0 + 0x29b4) + fVar8; - *(float *)(_DAT_80068bc0 + 0x70) = fVar8; - } - else { - lVar1 = FUN_7f0999a4(); - if (lVar1 < 2) { - iVar3 = 0; - } - else { - if (_DAT_80068778 < 1) { - iVar3 = 0; - } - else { - iVar3 = loc_7F0793B8(); - } - } - puVar5 = *(undefined4 **)(&DAT_80068738 + iVar3 * 4); - uStack12 = *puVar5; - uStack4 = puVar5[2]; - uStack20 = puVar5[10]; - fVar8 = (float)FUN_7f080e04(uStack20,uStack12,uStack4); - fStack8 = *(float *)(_DAT_80068bc0 + 0x29b4) + fVar8; - *(float *)(_DAT_80068bc0 + 0x70) = fVar8; - iVar3 = *(int *)(&DAT_80068738 + iVar3 * 4); - fStack16 = (float)convert_angle_using_inverse - (*(undefined4 *)(iVar3 + 0x18),*(undefined4 *)(iVar3 + 0x20)); - fStack16 = DAT_80047624 - fStack16; - } - *(float *)(_DAT_80068bc0 + 0x148) = (fStack16 * 360.00000000) / DAT_80047628; - *(float *)(_DAT_80068bc0 + 0x74) = fVar8; - *(float *)(_DAT_80068bc0 + 0x6c) = fVar8 / DAT_8004762c; - change_player_pos_to_target(_DAT_80068bc0 + 0x488,&uStack12,uStack20); - fVar8 = (float)func_7F057FC4(fStack16); - *(float *)(_DAT_80068bc0 + 0x498) = -fVar8; - *(undefined4 *)(_DAT_80068bc0 + 0x49c) = 0; - uVar7 = func_7F057FC4(fStack16); - *(undefined4 *)(_DAT_80068bc0 + 0x4a0) = uVar7; - FUN_7f089880(DAT_80031a20); - _DAT_80068780 = 0; - _DAT_80068784 = 0; - puVar5 = (undefined4 *)&DAT_80068788; - do { - puVar5 = puVar5 + 4; - puVar5[1] = 0; - puVar5[2] = 0; - puVar5[3] = 0; - *puVar5 = 0; - puVar5 = puVar5; - } while (puVar5 != (undefined4 *)0x800687a8); - FUN_7f08a4fc(); - FUN_7f08ab48(); - uVar7 = FUN_7f03a4f0(); - *(undefined4 *)(_DAT_80068bc0 + 0xa8) = uVar7; - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4) = 0; - **(undefined **)(_DAT_80068bc0 + 0xa8) = 6; - *(undefined4 *)(_DAT_80068bc0 + 0x408) = uStack12; - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 8) = uStack12; - *(float *)(_DAT_80068bc0 + 0x40c) = fStack8; - *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0xc) = fStack8; - *(undefined4 *)(_DAT_80068bc0 + 0x410) = uStack4; - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x10) = uStack4; - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x14) = uStack20; - FUN_7f03a564(*(undefined4 *)(_DAT_80068bc0 + 0xa8)); - set_stateflag_0x04_for_posdata(*(undefined4 *)(_DAT_80068bc0 + 0xa8)); - fVar8 = DAT_80047630; - *(float *)(_DAT_80068bc0 + 0x3b8) = *(float *)(_DAT_80068bc0 + 0x4b4) / DAT_80047630; - *(float *)(_DAT_80068bc0 + 0x3bc) = *(float *)(_DAT_80068bc0 + 0x4b8) / fVar8; - *(float *)(_DAT_80068bc0 + 0x3c0) = *(float *)(_DAT_80068bc0 + 0x4bc) / fVar8; - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - FUN_7f07aa50(1); - } - else { - FUN_7f07aa50(9); - } - DAT_80031a5c = 0; - if (DAT_80031a28 != 0) { - DAT_80031a5c = 1; - while ((&DAT_80031a28)[DAT_80031a5c] != 0) { - DAT_80031a5c += 1; - } - } - *(undefined4 *)(_DAT_80068bc0 + 0x420) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x424) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x428) = 0; - DAT_80031a60 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0061dc(int iParm1) - -{ - undefined4 uVar1; - - *(int *)(_DAT_80068bc0 + 0x11e0) = iParm1 + 0x1e; - uVar1 = FUN_70008b80((*(int *)(_DAT_80068bc0 + 0x11e0) * 0x14 + 0xfU | 0xf) ^ 0xf,4); - *(undefined4 *)(_DAT_80068bc0 + 0x11dc) = uVar1; - FUN_7f08c300(); - return; -} - - - -void sets_a_bunch_of_BONDdata_values_to_default - (undefined8 uParm1,int iParm2,int iParm3,int *piParm4) - -{ - short sStack8; - short sStack6; - short sStack4; - - *piParm4 = 0; - piParm4[1] = 0; - piParm4[2] = 0; - if (iParm2 < iParm3) { - do { - loc_7F06D3DC(0,0,&DAT_80037190,uParm1,iParm2,&sStack8); - *piParm4 = *piParm4 + (int)sStack8; - iParm2 += 1; - piParm4[1] = piParm4[1] + (int)sStack6; - piParm4[2] = piParm4[2] + (int)sStack4; - } while (iParm2 < iParm3); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00630c(void) - -{ - float fVar1; - undefined4 uVar2; - undefined **ppuVar3; - undefined **ppuVar4; - int *piVar5; - int *piVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined auStack144 [64]; - undefined *apuStack80 [4]; - int iStack64; - undefined auStack16 [8]; - int iStack8; - - FUN_7f076028(_DAT_80068bc0 + 0x598,&DAT_80036550,_DAT_80068bc0 + 0x654); - fVar1 = DAT_80047640; - set_obj_instance_controller_scale(_DAT_80068bc0 + 0x598,DAT_80047640); - loc_7F06FF50(_DAT_80068bc0 + 0x598,0x3f99999a,0); - uVar2 = DAT_80047644; - *(undefined4 *)(_DAT_80068bc0 + 0x4e8) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x4ec) = DAT_80047648; - *(undefined4 *)(_DAT_80068bc0 + 0x4f0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x4f4) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x4f8) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x4fc) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x500) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x504) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x508) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x50c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x510) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x514) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x518) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x51c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x520) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x524) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x528) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x52c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x530) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x534) = uVar2; - *(undefined4 *)(_DAT_80068bc0 + 0x538) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x53c) = uVar2; - *(undefined4 *)(_DAT_80068bc0 + 0x540) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x4dc) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x4e0) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x4e4) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x544) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x548) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x54c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x550) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x554) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x558) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x55c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x560) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x564) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x568) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x56c) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x570) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x574) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x578) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x57c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x580) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x584) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x588) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x58c) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x590) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x594) = 0; - piVar5 = &DAT_80032010; - do { - sets_a_bunch_of_BONDdata_values_to_default - (*piVar5 + _DAT_80058478,(int)(float)piVar5[1],(int)(float)piVar5[2],auStack16); - piVar6 = piVar5 + 6; - *(float *)(piVar5 + 3) = ((float)iStack8 * fVar1) / ((float)piVar5[2] - (float)piVar5[1]); - piVar5 = piVar6; - } while (piVar6 != &DAT_80032040); - puVar7 = &DAT_80025ce0; - ppuVar3 = apuStack80; - do { - puVar8 = puVar7 + 3; - ppuVar4 = ppuVar3 + 3; - *ppuVar3 = (undefined *)*puVar7; - ppuVar3[1] = (undefined *)puVar7[1]; - ppuVar3[2] = (undefined *)puVar7[2]; - puVar7 = puVar8; - ppuVar3 = ppuVar4; - } while (puVar8 != (undefined4 *)0x80025d1c); - *ppuVar4 = puRam80025d1c; - FUN_7f06fe48(_DAT_80068bc0 + 0x598,_DAT_80058478 + 0x1c,0,0,0x3f000000,0); - FUN_7f06dae0(_DAT_80068bc0 + 0x598); - apuStack80[0] = auStack144; - sub_GAME_7F05A9B8(apuStack80[0]); - iStack64 = _DAT_80068bc0 + 0x6d0; - FUN_7f06f670(apuStack80,_DAT_80068bc0 + 0x598); - *(undefined4 *)(_DAT_80068bc0 + 0x550) = *(undefined4 *)(_DAT_80068bc0 + 0x704); - *(undefined4 *)(_DAT_80068bc0 + 0x554) = 0; - *(float *)(_DAT_80068bc0 + 0x558) = - *(float *)(_DAT_80068bc0 + 0x744) - *(float *)(_DAT_80068bc0 + 0x704); - *(float *)(_DAT_80068bc0 + 0x55c) = - *(float *)(_DAT_80068bc0 + 0x748) - *(float *)(_DAT_80068bc0 + 0x708); - FUN_7f06fe48(_DAT_80068bc0 + 0x598, - (&DAT_80032010)[*(int *)(_DAT_80068bc0 + 0x4e8) * 6] + _DAT_80058478,0, - (&DAT_80032014)[*(int *)(_DAT_80068bc0 + 0x4e8) * 6],0x3f000000,0); - sub_7F06FDCC(_DAT_80068bc0 + 0x598,(&DAT_80032014)[*(int *)(_DAT_80068bc0 + 0x4e8) * 6],0); - loc_7F06FE2C(_DAT_80068bc0 + 0x598,(&DAT_80032018)[*(int *)(_DAT_80068bc0 + 0x4e8) * 6]); - sub_7F06FE3C(_DAT_80068bc0 + 0x598,&LAB_7f08e110); - FUN_7f08e128(); - return; -} - - - -undefined8 init_pathtable_something(undefined4 *puParm1,undefined8 uParm2,undefined4 *puParm3) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - lVar1 = loc_7F0B2EF0(uParm2); - *puParm3 = (int)lVar1; - if ((lVar1 == 0) || (lVar1 = FUN_7f0af62c(lVar1,*puParm1,puParm1[2]), lVar1 == 0)) { - uStack12 = *puParm1; - uStack8 = puParm1[1]; - uStack4 = puParm1[2]; - lVar1 = loc_7F0AFCE0(&uStack12,&uStack8,&uStack4,0); - *puParm3 = (int)lVar1; - if (lVar1 == 0) { - *puParm3 = 0; - } - else { - lVar1 = sub_7F0B0BE4(puParm3,uStack12,uStack4,*puParm1,puParm1[2]); - if (lVar1 != 0) { - return 2; - } - *puParm3 = 0; - } - uVar2 = 0; - } - else { - uVar2 = 1; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void init_path_table_links(void) - -{ - int **ppiVar1; - bool bVar2; - bool bVar3; - bool bVar4; - int *piVar5; - int iVar6; - int *piVar7; - int *piVar8; - int iVar9; - int **ppiVar10; - int iVar11; - int iVar12; - int iVar13; - int *piVar14; - int **ppiStack152; - int iStack68; - int aiStack64 [14]; - int **ppiStack8; - - piVar5 = _DAT_80064c40; - bVar2 = false; - ppiStack8 = _DAT_80064c44; - if ((_DAT_80064c40 != NULL) && (iVar13 = 0, -1 < *_DAT_80064c40)) { - piVar14 = (int *)_DAT_80064c40[1]; - do { - iVar6 = *piVar14; - while (-1 < iVar6) { - if (iVar6 == iVar13) { - bVar2 = true; - if (_DAT_80064c60 == 0) { - iVar6 = piVar14[1]; - } - else { - iVar6 = piVar14[1]; - } - } - else { - piVar7 = (int *)(_DAT_80064c40 + iVar6 * 4)[1]; - iVar9 = 0; - if (*piVar7 < 0) { - iVar9 = 0; - } - else { - if (iVar13 == *piVar7) { -LAB_7f0068ec: - iVar9 <<= 2; - } - else { - iVar11 = 4; - while (iVar9 += 1, -1 < *(int *)((int)piVar7 + iVar11)) { - if (iVar13 == *(int *)((_DAT_80064c40 + iVar6 * 4)[1] + iVar11)) goto LAB_7f0068ec; - iVar11 += 4; - } - iVar9 *= 4; - } - } - if (iVar13 == *(int *)((int)piVar7 + iVar9)) { - iVar6 = piVar14[1]; - } - else { - bVar2 = true; - iVar6 = piVar14[1]; - } - } - piVar14 = piVar14 + 1; - } - iVar13 += 1; - if (_DAT_80064c40[iVar13 * 4] < 0) break; - piVar14 = (int *)(_DAT_80064c40 + iVar13 * 4)[1]; - } while( true ); - } - if (_DAT_80064c44 != NULL) { - iVar13 = 0; - if (*_DAT_80064c44 != NULL) { - ppiStack152 = _DAT_80064c44; - piVar14 = *_DAT_80064c44; - do { - iVar9 = 0; - iVar6 = *piVar14; - while (-1 < iVar6) { - if (iVar6 == iVar13) { - bVar2 = true; - if (_DAT_80064c64 == 0) { - piVar14 = *ppiStack152; - } - else { - piVar14 = *ppiStack152; - } - } - else { - iVar11 = 0; - ppiVar10 = ppiStack8 + iVar6 * 3; - piVar14 = *ppiVar10; - if (*piVar14 < 0) { - iVar11 = 0; - } - else { - iVar6 = 0; - if (iVar13 == *piVar14) { - iVar11 = 0; - } - else { - iVar12 = piVar14[1]; - piVar7 = piVar14; - while( true ) { - iVar11 += 1; - iVar6 += 4; - if ((iVar12 < 0) || (iVar13 == *(int *)((int)*ppiVar10 + iVar6))) break; - iVar12 = piVar7[2]; - piVar7 = piVar7 + 1; - } - iVar11 *= 4; - } - } - if (iVar13 == *(int *)((int)piVar14 + iVar11)) { - if (_DAT_80064c40 != NULL) { - FUN_7f08f998(ppiStack152,ppiVar10,aiStack64,&iStack68); - if (aiStack64[0] == 0) { - bVar2 = true; - } - else { - if (iStack68 != 0) { - piVar14 = *ppiStack152; - goto LAB_7f006a54; - } - bVar2 = true; - } - } - piVar14 = *ppiStack152; - } - else { - bVar2 = true; - if (_DAT_80064c64 == 0) { - piVar14 = *ppiStack152; - } - else { - piVar14 = *ppiStack152; - } - } - } -LAB_7f006a54: - iVar9 += 4; - iVar6 = *(int *)((int)piVar14 + iVar9); - } - iVar13 += 1; - ppiStack152 = ppiStack152 + 3; - if (*ppiStack152 == NULL) break; - piVar14 = *ppiStack152; - } while( true ); - } - } - if ((piVar5 != NULL) && (ppiStack8 != NULL)) { - piVar14 = *ppiStack8; - iVar13 = 0; - ppiVar10 = ppiStack8; - if (piVar14 != NULL) { - do { - piVar14 = ppiVar10[1]; - iVar9 = 0; - iVar6 = *piVar14; - while (-1 < iVar6) { - iVar11 = (piVar5 + iVar6 * 4)[2]; - if (iVar11 < 0) { - (piVar5 + iVar6 * 4)[2] = iVar13; - piVar14 = ppiVar10[1]; - iVar6 = (int)piVar14 + iVar9; - } - else { - iVar6 = (int)piVar14 + iVar9; - if (iVar13 != iVar11) { - bVar2 = true; - } - } - iVar6 = *(int *)(iVar6 + 4); - iVar9 += 4; - } - ppiVar1 = ppiVar10 + 3; - iVar13 += 1; - ppiVar10 = ppiVar10 + 3; - } while (*ppiVar1 != NULL); - piVar14 = *ppiStack8; - } - iVar13 = 0; - if (-1 < *piVar5) { - iVar6 = piVar5[2]; - while( true ) { - iVar13 += 1; - if (iVar6 < 0) { - bVar2 = true; - } - if (piVar5[iVar13 * 4] < 0) break; - iVar6 = (piVar5 + iVar13 * 4)[2]; - } - } - if (piVar14 != NULL) { - piVar14 = ppiStack8[1]; - do { - iVar13 = *piVar14; - iVar6 = 0; - if (-1 < iVar13) { - do { - if (iVar6 == 0) { - piVar5[iVar13 * 4 + 3] = 1; - } - else { - piVar5[iVar13 * 4 + 3] = 0; - } - piVar14 = ppiStack8[1]; - iVar6 += 4; - iVar13 = *(int *)((int)piVar14 + iVar6); - } while (-1 < iVar13); - iVar13 = *piVar14; - } - do { - bVar3 = false; - bVar4 = false; - iVar6 = 0; - if (-1 < iVar13) { - do { - piVar7 = piVar5 + iVar13 * 4; - iVar6 += 4; - if (piVar7[3] == 1) { - piVar8 = (int *)piVar7[1]; - iVar9 = 0; - iVar13 = *piVar8; - if (-1 < iVar13) { - do { - iVar9 += 4; - if ((piVar5 + iVar13 * 4)[3] != 1) { - (piVar5 + iVar13 * 4)[3] = 1; - piVar8 = (int *)piVar7[1]; - bVar3 = true; - } - iVar13 = *(int *)((int)piVar8 + iVar9); - } while (-1 < iVar13); - piVar14 = ppiStack8[1]; - } - } - iVar13 = *(int *)((int)piVar14 + iVar6); - } while (-1 < iVar13); - iVar13 = *piVar14; - } - iVar9 = 0; - iVar6 = iVar13; - while (-1 < iVar6) { - iVar9 += 1; - if (piVar5[iVar6 * 4 + 3] != 1) { - bVar4 = true; - break; - } - iVar6 = piVar14[iVar9]; - } - } while ((bVar3) && (bVar4)); - if (bVar4) { - bVar2 = true; - if (_DAT_80064c64 == 0) { - piVar14 = ppiStack8[3]; - } - else { - piVar14 = ppiStack8[3]; - } - } - else { - piVar14 = ppiStack8[3]; - } - if (piVar14 == NULL) break; - piVar14 = ppiStack8[4]; - ppiStack8 = ppiStack8 + 3; - } while( true ); - } - } - if (!bVar2) { - return; - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void sub_GAME_7F007180(void) - -{ - int iVar2; - longlong lVar1; - int iVar3; - - iVar2 = FUN_7f0bd2c4(); - lVar1 = FUN_7f0999a4(); - _DAT_80068c70 = 200 / (int)lVar1; - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (false)) { - trap(0x1800); - } - if ((iVar2 == 0x1d) || (iVar2 == 0x1e)) { - _DAT_80068c70 >>= 1; - } - _DAT_80068c74 = FUN_70008b80(_DAT_80068c70 * 0x68 + 0xfU & 0xfffffff0,4); - iVar2 = 0; - if (0 < _DAT_80068c70) { - iVar3 = 0; - do { - iVar2 += 1; - *(undefined4 *)(_DAT_80068c74 + iVar3) = 0; - iVar3 += 0x68; - } while (iVar2 < _DAT_80068c70); - } - DAT_8003a590 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void set_mt_tex_alloc(void) - -{ - longlong lVar1; - undefined8 uVar2; - - _DAT_80074470 = 0; - lVar1 = loc_7000A740(1,&DAT_80047650); - if (lVar1 != 0) { - uVar2 = loc_7000A740(1,&DAT_80047654); - DAT_800416f0 = loc_7000AC44(uVar2,0,0); - DAT_800416f0 <<= 10; - } - uVar2 = FUN_70008b80(DAT_800416f0,4); - sub_7F0CBAF4(&DAT_80073b00,uVar2,DAT_800416f0); - return; -} - - - -void cleanupGuardData(void) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar3 = 0; - if (0 < DAT_800281b8) { - iVar2 = 0; - iVar1 = DAT_800281b8; - do { - if (*(int *)(DAT_800281b4 + iVar2 + 0x1c) != 0) { - loc_7F020528(*(undefined4 *)(DAT_800281b4 + iVar2 + 0x18)); - FUN_7f03a5f8(*(undefined4 *)(DAT_800281b4 + iVar2 + 0x18)); - unset_stateflag_0x04_for_posdata(*(undefined4 *)(DAT_800281b4 + iVar2 + 0x18)); - FUN_7f03a544(*(undefined4 *)(DAT_800281b4 + iVar2 + 0x18)); - iVar1 = DAT_800281b8; - } - iVar3 += 1; - iVar2 += 0x1dc; - } while (iVar3 < iVar1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0073e0(void) - -{ - int iVar1; - longlong lVar2; - int *piVar3; - - piVar3 = (int *)&DAT_80058ab0; - iVar1 = _DAT_80058ab0; - while( true ) { - if ((iVar1 != 0) && (lVar2 = locret_70008E00(), lVar2 != 0)) { - loc_7000905C(*piVar3); - } - piVar3 = piVar3 + 6; - if (piVar3 == (int *)&DAT_80058b70) break; - iVar1 = *piVar3; - } - return; -} - - - -void cleanupAlarms(void) - -{ - FUN_7f05610c(); - FUN_7f0561d8(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void cleanupObjects(void) - -{ - char cVar1; - int iVar2; - int iVar3; - - if (_DAT_80064c4c != 0) { - cVar1 = *(char *)(_DAT_80064c4c + 3); - iVar3 = _DAT_80064c4c; - while (cVar1 != '0') { - if (true) { - switch(cVar1) { - case '\x01': - case '\x03': - case '\x04': - case '\x05': - case '\x06': - case '\a': - case '\b': - case '\n': - case '\v': - case '\f': - case '\r': - case '\x11': - case '\x14': - case '\x15': - case '$': - case '\'': - case '(': - case ')': - case '*': - case '+': - case '-': - case '/': - FUN_7f0410e4(iVar3,1); - } - } - iVar2 = FUN_7f056bd4(iVar3); - iVar3 = iVar2 * 4 + iVar3; - cVar1 = *(char *)(iVar3 + 3); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f007510(void) - -{ - int iVar1; - int iVar2; - int *piVar3; - - piVar3 = (int *)&DAT_80064c78; - iVar2 = 8; - if (((_DAT_80064c70 != 0) && ((*(byte *)(_DAT_80064c70 + 0xe) & 1) != 0)) && (_DAT_80064c98 != 2)) - { - _DAT_80064c98 = 1; - } - if (((_DAT_80064c74 != 0) && ((*(byte *)(_DAT_80064c74 + 0xe) & 1) != 0)) && (_DAT_80064c9c != 2)) - { - _DAT_80064c9c = 1; - } - do { - if (*piVar3 == 0) { - iVar1 = piVar3[1]; - } - else { - if ((*(byte *)(*piVar3 + 0xe) & 1) == 0) { - iVar1 = piVar3[1]; - } - else { - if (*(int *)(&DAT_80064c98 + iVar2) == 2) { - iVar1 = piVar3[1]; - } - else { - *(int *)(&DAT_80064c98 + iVar2) = 1; - iVar1 = piVar3[1]; - } - } - } - if (iVar1 == 0) { - iVar1 = piVar3[2]; - } - else { - if ((*(byte *)(iVar1 + 0xe) & 1) == 0) { - iVar1 = piVar3[2]; - } - else { - if (*(int *)(&DAT_80064c9c + iVar2) == 2) { - iVar1 = piVar3[2]; - } - else { - *(undefined4 *)(&DAT_80064c9c + iVar2) = 1; - iVar1 = piVar3[2]; - } - } - } - if (iVar1 == 0) { - iVar1 = piVar3[3]; - } - else { - if ((*(byte *)(iVar1 + 0xe) & 1) == 0) { - iVar1 = piVar3[3]; - } - else { - if (*(int *)(&DAT_80064ca0 + iVar2) == 2) { - iVar1 = piVar3[3]; - } - else { - *(undefined4 *)(&DAT_80064ca0 + iVar2) = 1; - iVar1 = piVar3[3]; - } - } - } - piVar3 = piVar3 + 4; - if (((iVar1 != 0) && ((*(byte *)(iVar1 + 0xe) & 1) != 0)) && - (*(int *)(&DAT_80064ca4 + iVar2) != 2)) { - *(undefined4 *)(&DAT_80064ca4 + iVar2) = 1; - } - iVar2 += 0x10; - } while (piVar3 != (int *)&DAT_80064c98); - return; -} - - - -void cleanupSFXRelated(void) - -{ - longlong lVar1; - - if ((DAT_800319a8 != 0) && (lVar1 = locret_70008E00(), lVar1 != 0)) { - loc_7000905C(DAT_800319a8); - } - if ((DAT_800319ac != 0) && (lVar1 = locret_70008E00(), lVar1 != 0)) { - loc_7000905C(DAT_800319ac); - } - return; -} - - - -void FUN_7f0076f0(void) - -{ - longlong lVar1; - undefined4 uVar2; - longlong lVar3; - undefined4 uStack8; - undefined4 uStack4; - - lVar1 = FUN_7f0999a4(); - uVar2 = FUN_7f09a690(); - lVar3 = 0; - if (0 < lVar1) { - do { - FUN_7f09a64c(lVar3); - FUN_7f08e070(&uStack4,&uStack8); - FUN_7f01d4d4(uStack4,uStack8); - lVar3 = (longlong)((int)lVar3 + 1); - } while (lVar3 != lVar1); - } - FUN_7f09a64c(uVar2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f007780(void) - -{ - int iVar1; - - DAT_80039dc0 = 0; - loc_70003B44(0); - iVar1 = 0; - if (_DAT_80068c54 != 0) { - do { - if (*(int *)(_DAT_80068c54 + iVar1) != 0) { - FUN_7f03a5f8(); - unset_stateflag_0x04_for_posdata(*(undefined4 *)(_DAT_80068c54 + iVar1)); - FUN_7f03a544(*(undefined4 *)(_DAT_80068c54 + iVar1)); - *(undefined4 *)(_DAT_80068c54 + iVar1) = 0; - } - iVar1 += 0x3e0; - } while (iVar1 != 0x1740); - } - iVar1 = 0; - if (_DAT_80068c50 != 0) { - do { - if (*(int *)(_DAT_80068c50 + iVar1) != 0) { - FUN_7f03a5f8(); - unset_stateflag_0x04_for_posdata(*(undefined4 *)(_DAT_80068c50 + iVar1)); - FUN_7f03a544(*(undefined4 *)(_DAT_80068c50 + iVar1)); - *(undefined4 *)(_DAT_80068c50 + iVar1) = 0; - } - iVar1 += 0x198; - } while (iVar1 != 0x1fe0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0078a0(void) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - iVar2 = 0; - if (0 < _DAT_80068c70) { - do { - iVar1 += 1; - *(undefined4 *)(_DAT_80068c74 + iVar2) = 0; - iVar2 += 0x68; - } while (iVar1 < _DAT_80068c70); - } - return; -} - - - -void FUN_7f0078f0(void) - -{ - return; -} - - - -void FUN_7f007900(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - int *piVar4; - int iVar5; - - iVar5 = 0; - lVar1 = FUN_7f0999a4(); - if (0 < lVar1) { - piVar4 = (int *)&DAT_800689f0; - do { - iVar3 = 0; - iVar2 = *piVar4; - while( true ) { - if ((*(int *)(iVar2 + iVar3 + 0xa3c) != 0) && (lVar1 = locret_70008E00(), lVar1 != 0)) { - loc_7000905C(*(undefined4 *)(iVar2 + iVar3 + 0xa3c)); - } - iVar3 += 0x3a8; - if (iVar3 == 0x750) break; - iVar2 = *piVar4; - } - iVar5 += 1; - piVar4 = piVar4 + 1; - iVar2 = FUN_7f0999a4(); - } while (iVar5 < iVar2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * sub_GAME_7F009744(undefined4 *puParm1) - -{ - undefined8 uVar1; - undefined4 *puVar2; - undefined4 uVar3; - - FUN_700163b8(DAT_80025d20 * 0x40 + _DAT_800584a4,_DAT_800584b4,_DAT_800584b8,0xffffffffc0a00000); - FUN_700163b8(DAT_80025d20 * 0x40 + _DAT_800584a8,_DAT_800584bc,_DAT_800584c0,0xffffffffc0a00000); - *puParm1 = 0x6000000; - puParm1[1] = 0x1000000; - uVar1 = sub_GAME_7F01CA18(puParm1 + 2); - puVar2 = (undefined4 *)FUN_7f01c004(uVar1); - *puVar2 = 0xfcffffff; - puVar2[1] = 0xfffdf6fb; - puVar2[2] = 0xfa000000; - puVar2[3] = 0xe6e6e600; - puVar2[4] = 0x6000000; - puVar2[5] = _DAT_80058494 + -0x80000000; - puVar2[6] = 0x1020040; - uVar3 = osVirtualToPhysical(DAT_80025d20 * 0x40 + _DAT_800584a8); - puVar2[7] = uVar3; - puVar2[8] = 0x6000000; - puVar2[9] = _DAT_80058494 + -0x80000000; - return puVar2 + 10; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f007b14(undefined4 *puParm1) - -{ - undefined4 *puVar1; - undefined4 uVar2; - - FUN_700163b8(DAT_80025d20 * 0x40 + _DAT_800584a4,_DAT_800584b4 + 768.00000000, - _DAT_800584b8 - 40.00000000,0xffffffffc0a00000); - guScale(DAT_80025d20 * 0x40 + _DAT_800584a8,0x402ccccd,0x40247ae1,0x3f800000); - puParm1[1] = 0x1000000; - *puParm1 = 0x6000000; - puParm1[3] = 0x1000040; - puParm1[2] = 0x6000000; - puVar1 = (undefined4 *)FUN_7f01c004(puParm1 + 4); - *puVar1 = 0x1000040; - uVar2 = osVirtualToPhysical(DAT_80025d20 * 0x40 + _DAT_800584a8); - puVar1[1] = uVar2; - puVar1[2] = 0x6000000; - puVar1[3] = _DAT_80058494 + -0x80000000; - return puVar1 + 4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void sub_7F007CC8(undefined4 *puParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - *puParm1 = 0xb900031d; - puParm1[1] = 0xf0a4000; - puParm1[2] = 0xba001402; - puParm1[3] = 0; - puParm1[4] = 0xba001301; - puParm1[5] = 0; - puParm1[6] = 0xba000c02; - puParm1[7] = 0; - puParm1[8] = 0xe7000000; - puParm1[9] = 0; - sub_GAME_7F01B6E0(puParm1 + 10,_DAT_800584cc + -0x80000000,uParm2,uParm3,uParm4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f007d0c(undefined4 *puParm1) - -{ - undefined4 *puVar1; - int iVar2; - float fVar3; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack12 = DAT_80025d2c; - uStack8 = DAT_80025d30; - uStack4 = DAT_80025d34; - uStack24 = DAT_80025d38; - uStack20 = DAT_80025d3c; - uStack16 = DAT_80025d40; - *puParm1 = 0x6000000; - puParm1[1] = 0x1000000; - puVar1 = (undefined4 *)sub_GAME_7F01CA18(puParm1 + 2); - puVar1[1] = 0xfffff7fb; - *puVar1 = 0xfc11fe23; - iVar2 = FUN_70003e6c(); - fVar3 = (float)sub_GAME_7F05C3D8(((float)iVar2 * _DAT_800584b4) / 1280.00000000); - sub_7F007CC8(puVar1 + 2,(int)fVar3,&uStack12,&uStack24); - return; -} - - - -undefined4 * FUN_7f007df0(undefined8 uParm1,uint uParm2) - -{ - undefined4 *puVar1; - short sVar3; - uint uVar2; - - puVar1 = (undefined4 *)FUN_7f01c004(); - *puVar1 = 0xb900031d; - puVar1[1] = 0x504340; - puVar1[2] = 0xfcffffff; - puVar1[3] = 0xfffdf6fb; - puVar1[4] = 0xfa000000; - puVar1[5] = uParm2 & 0xff; - puVar1[6] = 0xba000602; - puVar1[7] = 0; - sVar3 = FUN_70003e6c(); - uVar2 = FUN_70003e7c(); - puVar1[8] = (uVar2 & 0x3ff) << 2 | 0xf6000000 | ((int)sVar3 & 0x3ffU) << 0xe; - puVar1[9] = 0; - return puVar1 + 10; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f007eb0(undefined4 uParm1,int iParm2,undefined4 uParm3) - -{ - int *piVar1; - undefined4 uVar2; - undefined2 *puVar4; - undefined8 uVar3; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - int iVar11; - longlong lVar10; - undefined4 uVar12; - undefined auStack216 [64]; - undefined auStack152 [84]; - undefined4 uStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - undefined4 uStack20; - - puVar8 = &DAT_80025d4c; - puVar6 = &uStack68; - do { - puVar9 = puVar8 + 3; - puVar7 = puVar6 + 3; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar8 = puVar9; - puVar6 = puVar7; - } while (puVar9 != (undefined4 *)0x80025d88); - uVar12 = 0; - iVar11 = 0; - *puVar7 = uRam80025d88; - uVar2 = 0; - if (0 < iParm2) { - do { - uVar12 = uVar2; - iVar5 = _DAT_800584d4 + 1; - if (-1 < _DAT_800584d4) { - _DAT_800584d4 = iVar5; - if (iVar5 == 0x72) { - _DAT_800584d4 = iVar5; - FUN_7f06fe48(DAT_80025d44,_DAT_80058478 + 0x4298,0,0x40000000,DAT_80047720,0x41800000); - } - if (_DAT_800584d4 == 0xb0) { - loc_7F06FE84(DAT_80025d44,0x3fcccccd,0x41000000); - } - } - loc_7F070F58(DAT_80025d44,1,1); - if (_DAT_800584d4 == 0xbf) { - uVar12 = 1; - FUN_70008268(_DAT_80056900,0x6f,0); - } - iVar11 += 1; - uVar2 = uVar12; - } while (iVar11 != iParm2); - } - lVar10 = 0; - FUN_7f06cb40(1); - FUN_7f0740dc(0x50); - FUN_7f06dae0(DAT_80025d44); - piVar1 = *(int **)(*(int *)(DAT_80025d48 + 8) + 8); - if (*piVar1 == 0) { - iVar11 = piVar1[2]; - } - else { - puVar4 = (undefined2 *)loc_7F06C888(DAT_80025d48); - *puVar4 = (short)uVar12; - iVar11 = *(int *)(*(int *)(*(int *)(DAT_80025d48 + 8) + 8) + 8); - } - if (iVar11 != 0) { - puVar8 = (undefined4 *)loc_7F06C888(DAT_80025d48); - *puVar8 = uVar12; - } - uStack68 = uParm3; - uStack52 = FUN_7f0bcac4((int)*(short *)(*(int *)(DAT_80025d44 + 8) + 0xe) << 6); - FUN_7f06f670(&uStack68,DAT_80025d44); - uStack68 = FUN_7f06cd98(DAT_80025d44,*(undefined4 *)(DAT_80025d48 + 0x1c),0); - uStack52 = FUN_7f0bcac4((int)*(short *)(*(int *)(DAT_80025d48 + 8) + 0xe) << 6); - FUN_7f06f634(&uStack68,DAT_80025d48); - uVar3 = sub_GAME_7F06C660(0,DAT_80025d44); - uVar3 = sub_GAME_7F06C660(uVar3,DAT_80025d48); - loc_7F06BB14(uVar3); - uVar3 = loc_7F06BC00(uVar3); - uStack20 = 7; - uStack64 = 0; - uStack60 = 1; - uStack56 = uParm1; - FUN_7f06c3bc(&uStack68,uVar3); - uStack60 = 2; - FUN_7f06c3bc(&uStack68,uVar3); - FUN_7f06cb40(0); - FUN_7f06b9f8(uVar3); - iVar11 = 0; - if (0 < *(short *)(*(int *)(DAT_80025d44 + 8) + 0xe)) { - iVar5 = *(int *)(DAT_80025d44 + 0xc); - while( true ) { - loc_7F058030(iVar5 + iVar11,auStack152); - FUN_7f059144(auStack152,*(int *)(DAT_80025d44 + 0xc) + (int)lVar10 * 0x40); - lVar10 = (longlong)((int)lVar10 + 1); - iVar11 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_80025d44 + 8) + 0xe) <= lVar10) break; - iVar5 = *(int *)(DAT_80025d44 + 0xc); - } - } - lVar10 = 0; - iVar11 = 0; - if (0 < *(short *)(*(int *)(DAT_80025d48 + 8) + 0xe)) { - iVar5 = *(int *)(DAT_80025d48 + 0xc); - while( true ) { - loc_7F058030(iVar5 + iVar11,auStack216); - FUN_7f059144(auStack216,*(int *)(DAT_80025d48 + 0xc) + (int)lVar10 * 0x40); - lVar10 = (longlong)((int)lVar10 + 1); - iVar11 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_80025d48 + 8) + 0xe) <= lVar10) break; - iVar5 = *(int *)(DAT_80025d48 + 0xc); - } - } - return uStack56; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f008248(undefined4 *puParm1) - -{ - undefined4 uVar1; - ushort local_42; - undefined auStack64 [64]; - - FUN_700163b8(DAT_80025d20 * 0x40 + _DAT_800584ac,0,0,0); - guPerspective(DAT_80025d20 * 0x40 + _DAT_800584b0,&local_42,0x42380000,0x3faaaaab,0x41200000, - DAT_80047724,0x3f800000); - *puParm1 = 0xbc00000e; - puParm1[1] = (uint)local_42; - puParm1[2] = 0xfcffffff; - puParm1[3] = 0xfffe793c; - puParm1[4] = 0xb900031d; - puParm1[5] = 0x552048; - puParm1[6] = 0x1030040; - uVar1 = osVirtualToPhysical(DAT_80025d20 * 0x40 + _DAT_800584b0); - puParm1[7] = uVar1; - puParm1[8] = 0x1020040; - uVar1 = osVirtualToPhysical(DAT_80025d20 * 0x40 + _DAT_800584ac); - puParm1[9] = uVar1; - FUN_7f059b3c(auStack64,DAT_80025d8c,DAT_80025d90,DAT_80025d94,DAT_80025d98 + DAT_80025d8c, - DAT_80025d9c + DAT_80025d90,DAT_80025da0 + DAT_80025d94,DAT_80025da4,DAT_80025da8, - DAT_80025dac); - FUN_7f007eb0(puParm1 + 10,1,auStack64); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * -FUN_7f008440(undefined4 *puParm1,undefined8 uParm2,undefined8 uParm3,int iParm4,uint param_5) - -{ - undefined4 *puVar1; - undefined4 uVar2; - uint uVar3; - ushort local_6 [3]; - - DAT_80025dd0 = (float)iParm4; - *puParm1 = 0x6000000; - puParm1[1] = 0x1000000; - puVar1 = (undefined4 *)sub_GAME_7F01CA18(puParm1 + 2); - guPerspective(DAT_80025d20 * 0x40 + _DAT_80058498,local_6,0x42700000,0x3faaaaab,0x42c80000, - DAT_80047728,0x3f800000); - *puVar1 = 0xbc00000e; - puVar1[1] = (uint)local_6[0]; - puVar1[2] = 0x1030040; - uVar2 = osVirtualToPhysical(DAT_80025d20 * 0x40 + _DAT_80058498); - puVar1[3] = uVar2; - puVar1[5] = 0xffffffff; - puVar1[4] = 0xb6000000; - puVar1[6] = 0xb7000000; - puVar1[7] = 0x62204; - guLookAt(DAT_80025d20 * 0x40 + _DAT_800584a0,DAT_80025dc8,DAT_80025dcc,DAT_80025dd0, - DAT_80025dd4 + DAT_80025dc8,DAT_80025dd8 + DAT_80025dcc,DAT_80025ddc + DAT_80025dd0, - DAT_80025de0,DAT_80025de4,DAT_80025de8); - puVar1[8] = 0x1020040; - uVar2 = osVirtualToPhysical(DAT_80025d20 * 0x40 + _DAT_800584a0); - puVar1[9] = uVar2; - guRotate(DAT_80025d20 * 0x40 + _DAT_800584a4,DAT_80025dec,0,0x3f800000,0); - DAT_80025dec = DAT_80025dec + DAT_8004772c; - puVar1[10] = 0x1000040; - uVar2 = osVirtualToPhysical(DAT_80025d20 * 0x40 + _DAT_800584a4); - puVar1[0xb] = uVar2; - puVar1[0xc] = 0xbc000002; - puVar1[0xd] = 0x80000040; - puVar1[0xe] = 0x3860010; - puVar1[0xf] = 0x80025db8; - puVar1[0x10] = 0x3880010; - puVar1[0x11] = 0x80025db0; - DAT_80025db0 = (undefined)param_5; - DAT_80025db1 = DAT_80025db0; - DAT_80025db2 = DAT_80025db0; - DAT_80025db4 = DAT_80025db0; - DAT_80025db5 = DAT_80025db0; - DAT_80025db6 = DAT_80025db0; - puVar1[0x12] = 0xe7000000; - puVar1[0x13] = 0; - puVar1[0x15] = 0; - puVar1[0x14] = 0xe7000000; - puVar1[0x17] = 0xfffff9fc; - puVar1[0x16] = 0xfc127e24; - puVar1[0x19] = 0x80000; - puVar1[0x18] = 0xba001301; - puVar1[0x1a] = 0xba001102; - puVar1[0x1b] = 0; - puVar1[0x1c] = 0xba001001; - puVar1[0x1d] = 0; - puVar1[0x1e] = 0xba000e02; - puVar1[0x1f] = 0; - puVar1[0x21] = 0x2000; - puVar1[0x20] = 0xba000c02; - puVar1[0x22] = 0xba000903; - puVar1[0x23] = 0xc00; - puVar1[0x25] = 0; - puVar1[0x24] = 0xe7000000; - puVar1[0x27] = 0; - puVar1[0x26] = 0xe7000000; - puVar1[0x28] = 0xbb000001; - puVar1[0x29] = 0x8000800; - puVar1[0x2b] = 0x2004fe8; - puVar1[0x2a] = 0xfd100000; - puVar1[0x2c] = 0xf5100000; - puVar1[0x2d] = 0x7014050; - puVar1[0x2e] = 0xe6000000; - puVar1[0x2f] = 0; - puVar1[0x31] = 0x73ff100; - puVar1[0x30] = 0xf3000000; - puVar1[0x33] = 0; - puVar1[0x32] = 0xe7000000; - puVar1[0x35] = 82000; - puVar1[0x34] = 0xf5101000; - puVar1[0x36] = 0xf2000000; - uVar3 = param_5 & 0xff; - puVar1[0x37] = 0x7c07c; - puVar1[0x38] = 0xfa000000; - puVar1[0x39] = uVar3 << 0x18 | uVar3 << 0x10 | uVar3 << 8 | 0xff; - puVar1[0x3a] = 0x6000000; - puVar1[0x3b] = 0x20043e8; - puVar1[0x3d] = 0x20044b0; - puVar1[0x3c] = 0x6000000; - puVar1[0x3f] = 0x2005ff0; - puVar1[0x3e] = 0xfd100000; - puVar1[0x41] = 0x7014050; - puVar1[0x40] = 0xf5100000; - puVar1[0x43] = 0; - puVar1[0x42] = 0xe6000000; - puVar1[0x45] = 0x73ff100; - puVar1[0x44] = 0xf3000000; - puVar1[0x47] = 0; - puVar1[0x46] = 0xe7000000; - puVar1[0x49] = 82000; - puVar1[0x48] = 0xf5101000; - puVar1[0x4a] = 0xf2000000; - puVar1[0x4b] = 0x7c07c; - puVar1[0x4c] = 0xfa000000; - uVar3 = (int)(param_5 * 0xf0) / 0xff & 0xff; - if (false) { - trap(0x1c00); - } - if ((false) && (param_5 * 0xf0 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (param_5 * 0xd0 == -0x80000000)) { - trap(0x1800); - } - puVar1[0x4d] = uVar3 << 0x18 | ((int)(param_5 * 0xd0) / 0xff & 0xffU) << 0x10 | uVar3 << 8 | 0xff; - puVar1[0x4e] = 0x6000000; - puVar1[0x4f] = 0x2004758; - return puVar1 + 0x50; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f008ad8(undefined4 uParm1) - -{ - DAT_80025d24 = 0; - _DAT_800584b4 = 0x445c0000; - DAT_80025dec = 0xc2200000; - DAT_80025df0 = 0; - _DAT_800584d0 = uParm1; - FUN_7000503c(uParm1,0x28b4d0,0x6800); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f008b5c(undefined4 *puParm1) - -{ - bool bVar1; - undefined4 uVar2; - int iVar3; - int iVar4; - undefined4 *puVar5; - - DAT_80025d20 = 1 - DAT_80025d20; - *puParm1 = 0xbc000806; - puVar5 = puParm1 + 2; - uVar2 = osVirtualToPhysical(_DAT_800584d0); - puParm1[1] = uVar2; - if ((DAT_80025d24 == '\0') || (DAT_80025d24 == '\x01')) { - iVar3 = DAT_80025df0 * 0xff; - iVar4 = iVar3 / 0x3a; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - if (0xff < iVar4) { - iVar4 = 0xff; - } - if (iVar4 < 0) { - iVar4 = 0; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 + -0x847b == -0x80000000)) { - trap(0x1800); - } - iVar3 = 0xff - (iVar3 + -0x847b) / 0x3a; - if (0xff < iVar3) { - iVar3 = 0xff; - } - if (iVar3 < 0) { - iVar3 = 0; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 * iVar3 == -0x80000000)) { - trap(0x1800); - } - puVar5 = (undefined4 *) - FUN_7f008440(puVar5,0x193,0x1e8,(int)_DAT_800584b4,(iVar4 * iVar3) / 0xff); - bVar1 = 0xd7 < DAT_80025df0; - DAT_80025df0 += 1; - if ((bVar1) && (0xf0 < DAT_80025df0)) { - DAT_80025df0 = 0; - DAT_80025d24 += '\x02'; - } - } - return puVar5; -} - - - -ulonglong FUN_7f008d50(void) - -{ - return (ulonglong)(DAT_80025d24 == '\x02'); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f008d64(int *piParm1,int *piParm2) - -{ - _DAT_800584cc = *piParm1; - *piParm2 = *piParm2 + -0x40400; - _DAT_800584c8 = *piParm1 + 0x40400; - *piParm1 = _DAT_800584c8; - FUN_7000503c(_DAT_800584c8,0x291cc0,0x1a580); - sub_GAME_7F01B1C8(_DAT_800584c8,_DAT_800584cc); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f008e00(int iParm1,int iParm2) - -{ - ushort uVar1; - int iVar2; - uint uVar3; - int local_res0; - int local_res4 [3]; - undefined auStack32 [16]; - undefined4 local_10; - undefined4 local_c; - undefined4 local_8; - - DAT_80025d24 = 2; - local_res0 = iParm1; - local_res4[0] = iParm2; - guOrtho(_DAT_8005849c,0,0x44a00000,0,0x44700000,0x3f800000,0x41000000,0x43800000); - iVar2 = local_res0; - _DAT_800584b4 = 0xc1f00000; - _DAT_800584b8 = 0x43f10000; - _DAT_800584bc = 0xc2c80000; - _DAT_800584c0 = 0x43f10000; - _DAT_800584c4 = 0x42; - _DAT_80058490 = local_res0; - local_res0 += 0x200; - local_res4[0] += -0x200; - sub_GAME_7F01BFF8(iVar2,0x1e); - iVar2 = local_res0; - _DAT_80058494 = local_res0; - local_res0 += 0x100; - local_res4[0] += -0x100; - loc_7F01C060(iVar2,_DAT_80058490 + -0x80000000,0x1e); - FUN_7f008d64(register0x000000ec,local_res4); - local_10 = DAT_80025df8; - local_c = DAT_80025dfc; - local_8 = DAT_80025e00; - sub_7F0CBAF4(auStack32,local_res0,0x12c00); - local_res0 += 0x12c00; - local_res4[0] += -0x12c00; - loc_7F0764EC(PTR_DAT_80037ac4,PTR_s_CdjbondZ_80037ac8,local_res0,local_res4[0],auStack32); - iVar2 = FUN_7f0bc540(PTR_s_CdjbondZ_80037ac8); - uVar3 = (iVar2 + 0x3fU | 0x3f) ^ 0x3f; - local_res0 += uVar3; - local_res4[0] -= uVar3; - loc_7F0764EC(PTR_DAT_80038078,PTR_s_CheadbrosnanZ_8003807c,local_res0,local_res4[0],auStack32); - iVar2 = FUN_7f0bc540(PTR_s_CheadbrosnanZ_8003807c); - uVar3 = (iVar2 + 0x3fU | 0x3f) ^ 0x3f; - local_res4[0] -= uVar3; - local_res0 += uVar3; - DAT_80025d44 = FUN_7f023488(5,0x4e,PTR_DAT_80037ac4,PTR_DAT_80038078,0); - set_obj_instance_controller_scale(DAT_80025d44,0x3e404cec); - sub_7F06CE84(DAT_80025d44,0x3f800000); - FUN_7f06d200(DAT_80025d44,&local_10); - FUN_7f06d274(DAT_80025d44,0); - loc_7F06FF50(DAT_80025d44,0x3f19999a,0); - uVar1 = *(ushort *)(_DAT_80058478 + 0x4148); - iVar2 = (uint)uVar1 - 0x44; - if (iVar2 < 0) { - iVar2 += (uint)uVar1; - while (iVar2 < 0) { - iVar2 += (uint)uVar1; - } - } - FUN_7f06fe48(DAT_80025d44,_DAT_80058478 + 0x4144,0,(float)iVar2,DAT_80047730,0); - loc_7F0764EC(PTR_DAT_8003567c,PTR_s_PchrwppkZ_80035680,local_res0,local_res4[0],auStack32); - iVar2 = FUN_7f0bc540(PTR_s_PchrwppkZ_80035680); - uVar3 = (iVar2 + 0x3fU | 0x3f) ^ 0x3f; - local_res4[0] -= uVar3; - local_res0 += uVar3; - FUN_7f075d7c(PTR_DAT_8003567c); - DAT_80025d48 = FUN_7f06c7d4(PTR_DAT_8003567c); - set_obj_instance_controller_scale(DAT_80025d48,0x3e404cec); - *(int *)(DAT_80025d48 + 0x18) = DAT_80025d44; - *(undefined4 *)(DAT_80025d48 + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(DAT_80025d44 + 8) + 8) + 0xc); - _DAT_800584d4 = 0; - return; -} - - - -void FUN_7f009190(void) - -{ - if (DAT_80025d44 != 0) { - FUN_7f06cb38(); - } - if (DAT_80025d48 != 0) { - FUN_7f06c974(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0091d8(undefined4 *puParm1) - -{ - bool bVar1; - int iVar3; - undefined8 uVar2; - - DAT_80025d20 = 1 - DAT_80025d20; - switch(DAT_80025d24) { - case '\x02': - puParm1 = (undefined4 *)sub_GAME_7F009744(puParm1); - _DAT_800584b4 = _DAT_800584b4 + 7.00000000; - if ((short)_DAT_800584c4 < 0) { - _DAT_800584c4 = 200; - _DAT_800584bc = _DAT_800584b4 - 14.00000000; - } - else { - _DAT_800584c4 -= 7; - } - if (DAT_80047750 < _DAT_800584b4) { - DAT_80025d24 += '\x01'; - _DAT_800584b4 = DAT_80047754; - } - break; - case '\x03': - uVar2 = FUN_7f007d0c(puParm1); - puParm1 = (undefined4 *)FUN_7f007b14(uVar2); - if (_DAT_800584b4 < 600.00000000) { - puParm1 = (undefined4 *)FUN_7f008248(puParm1); - } - _DAT_800584b4 = _DAT_800584b4 - DAT_80047758; - if (_DAT_800584b4 <= -80.00000000) { - DAT_80025df0 = 0x14; - DAT_80025d24 += '\x01'; - } - break; - case '\x04': - uVar2 = FUN_7f007d0c(puParm1); - uVar2 = FUN_7f007b14(uVar2); - puParm1 = (undefined4 *)FUN_7f008248(uVar2); - DAT_80025df0 += -1; - if (DAT_80025df0 < 0) { - DAT_80025d24 += '\x01'; - FUN_7f01c0e4(0); - DAT_80025df4 = 0; - DAT_80025df0 = 1; - } - break; - case '\x05': - DAT_80025df0 += -1; - if (DAT_80025df0 == 0) { - DAT_80025df4 = FUN_7f01c0e4(1); - DAT_80025df0 = 2; - } - uVar2 = FUN_7f007d0c(puParm1); - uVar2 = FUN_7f007b14(uVar2); - uVar2 = FUN_7f008248(uVar2); - puParm1 = (undefined4 *)loc_7F01C664(uVar2); - if (DAT_80025df4 != 0) { - DAT_80025d24 += '\x01'; - _DAT_800584c4 = 0; - _DAT_800584bc = _DAT_800584b4; - DAT_80025df0 = 0; - } - break; - case '\x06': - _DAT_800584c4 += 0x444; - DAT_80025df0 += 1; - iVar3 = sins((ulonglong)_DAT_800584c4); - _DAT_800584b4 = ((float)iVar3 * 64.00000000) / 32768.00000000 + _DAT_800584bc; - uVar2 = FUN_7f007d0c(puParm1); - uVar2 = FUN_7f007b14(uVar2); - uVar2 = FUN_7f008248(uVar2); - puParm1 = (undefined4 *)FUN_7f01c878(uVar2); - if (0x59 < DAT_80025df0) { - DAT_80025df0 = 0; - DAT_80025d24 += '\x01'; - } - break; - case '\a': - _DAT_800584c4 += 0x444; - iVar3 = sins((ulonglong)_DAT_800584c4); - _DAT_800584b4 = ((float)iVar3 * 64.00000000) / 32768.00000000 + _DAT_800584bc; - uVar2 = FUN_7f007d0c(puParm1); - uVar2 = FUN_7f007b14(uVar2); - uVar2 = FUN_7f008248(uVar2); - uVar2 = FUN_7f01c878(uVar2); - DAT_80025df0 += 9; - puParm1 = (undefined4 *)FUN_7f007df0(uVar2); - if (0xf6 < DAT_80025df0) { - DAT_80025df0 = 0; - DAT_80025d24 += '\x01'; - } - break; - case '\b': - *puParm1 = 0x6000000; - puParm1[1] = 0x1000000; - puParm1 = (undefined4 *)sub_GAME_7F01CA18(puParm1 + 2); - bVar1 = 0x18 < DAT_80025df0; - DAT_80025df0 += 1; - if (bVar1) { - DAT_80025df0 = 0; - DAT_80025d24 += '\x01'; - } - } - return puParm1; -} - - - -ulonglong FUN_7f009644(void) - -{ - return (ulonglong)(DAT_80025d24 == '\t'); -} - - - -undefined8 FUN_7f009660(void) - -{ - undefined8 uVar1; - - if (DAT_80041150 == 0) { - uVar1 = loc_7F0ADD78(); - } - else { - uVar1 = loc_7F0AE958(); - } - return uVar1; -} - - - -undefined8 FUN_7f009748(undefined4 uParm1) - -{ - undefined8 uVar1; - - switch(uParm1) { - case 1: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 0xd: - case 0x10: - case 0x16: - case 0x19: - case 0x23: - case 0x24: - case 0x25: - case 0x26: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x2f: - case 0x30: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x3c: - case 0x3d: - case 0x3e: - case 0x3f: - case 0x40: - case 0x41: - case 0x42: - case 0x43: - case 0x44: - case 0x45: - case 0x46: - case 0x47: - case 0x48: - case 0x49: - case 0x4a: - uVar1 = 0; - break; - case 2: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,1); - break; - case 3: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0x13); - break; - case 10: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,10); - break; - case 0xb: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0xf); - break; - case 0xc: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,2); - break; - case 0xe: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,7); - break; - case 0xf: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0); - break; - case 0x11: - uVar1 = FUN_7f01e854(DAT_80025e38); - break; - case 0x12: - uVar1 = FUN_7f01e8bc(DAT_80025e38); - break; - case 0x13: - uVar1 = FUN_7f01e908(DAT_80025e38); - break; - case 0x14: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0xd); - break; - case 0x15: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0x11); - break; - case 0x17: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,6); - break; - case 0x18: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,5); - break; - case 0x1a: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,9); - break; - case 0x1b: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0xc); - break; - case 0x1c: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0xb); - break; - case 0x1d: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,4); - break; - case 0x1e: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,3); - break; - case 0x1f: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0x10); - break; - case 0x20: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,8); - break; - case 0x21: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0xe); - break; - case 0x22: - uVar1 = FUN_7f01dc24(DAT_80025e38); - uVar1 = loc_7F01DD68(uVar1,0x12); - break; - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - return uVar1; -} - - - -void FUN_7f009a50(int iParm1,int iParm2) - -{ - FUN_7f067884(*(undefined4 *)(&DAT_80058650 + iParm1 * 8 + iParm2 * 4)); - return; -} - - - -void FUN_7f009a84(void) - -{ - char cVar3; - int iVar1; - int iVar2; - int iVar4; - float fVar5; - float fVar6; - - cVar3 = FUN_7000ae60(0); - iVar1 = FUN_7000af70(0); - iVar1 = iVar1 * -0x1000000 >> 0x18; - if (cVar3 < -5) { - iVar4 = ((int)cVar3 + 5) * 0x1000000 >> 0x18; - } - else { - if (cVar3 < '\x06') { - iVar4 = 0; - } - else { - iVar4 = ((int)cVar3 + -5) * 0x1000000 >> 0x18; - } - } - if (iVar4 < 0x47) { - if (iVar4 < -0x46) { - iVar4 = -0x46; - } - } - else { - iVar4 = 0x46; - } - if (iVar1 < -5) { - iVar2 = (iVar1 + 5) * 0x1000000 >> 0x18; - } - else { - iVar2 = 0; - if (5 < iVar1) { - iVar2 = (iVar1 + -5) * 0x1000000 >> 0x18; - } - } - cVar3 = (char)iVar2; - if (iVar2 < 0x47) { - if (iVar2 < -0x46) { - cVar3 = -0x46; - } - } - else { - cVar3 = 'F'; - } - if (iVar4 < 1) { - if (iVar4 < 0) { - DAT_80025e58 = DAT_80025e58 + ((float)iVar4 * DAT_80047af4 - 0.50000000) * DAT_80041004; - } - } - else { - DAT_80025e58 = DAT_80025e58 + ((float)iVar4 * DAT_80047af0 + 0.50000000) * DAT_80041004; - } - fVar5 = (float)FUN_7f078544(); - fVar6 = (float)FUN_7f078524(); - if ((fVar6 + fVar5) - 20.00000000 < DAT_80025e58) { - fVar5 = (float)FUN_7f078544(); - fVar6 = (float)FUN_7f078524(); - DAT_80025e58 = (fVar6 + fVar5) - 20.00000000; - } - else { - fVar5 = (float)FUN_7f078544(); - if (DAT_80025e58 < fVar5 + 20.00000000) { - DAT_80025e58 = (float)FUN_7f078544(); - DAT_80025e58 = DAT_80025e58 + 20.00000000; - } - } - if (cVar3 < '\x01') { - if (cVar3 < '\0') { - DAT_80025e5c = DAT_80025e5c + ((float)(int)cVar3 * DAT_80047afc - 0.50000000) * DAT_80041004; - } - } - else { - DAT_80025e5c = DAT_80025e5c + ((float)(int)cVar3 * DAT_80047af8 + 0.50000000) * DAT_80041004; - } - fVar5 = (float)FUN_7f078554(); - fVar6 = (float)FUN_7f078534(); - if ((fVar6 + fVar5) - 20.00000000 < DAT_80025e5c) { - fVar5 = (float)FUN_7f078554(); - fVar6 = (float)FUN_7f078534(); - DAT_80025e5c = (fVar6 + fVar5) - 20.00000000; - } - else { - fVar5 = (float)FUN_7f078554(); - if (DAT_80025e5c < fVar5 + 20.00000000) { - DAT_80025e5c = (float)FUN_7f078554(); - DAT_80025e5c = DAT_80025e5c + 20.00000000; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f009e08(undefined4 uParm1) - -{ - undefined4 local_res0; - int local_14; - float local_10; - float local_c; - undefined4 local_8; - undefined4 local_4; - - if (DAT_80025e68 == 0) { - local_14 = _DAT_800744f4; - } - else { - if (DAT_80025e68 == 1) { - local_14 = _DAT_80074508; - } - else { - if (DAT_80025e68 == 2) { - local_14 = _DAT_80074508 + 0xc; - } - } - } - local_res0 = uParm1; - loc_7F077B80(register0x000000ec,local_14,4,0,0); - local_8 = sub_GAME_7F05C3D8(DAT_80025e58 + 0.50000000); - local_4 = sub_GAME_7F05C3D8(DAT_80025e5c + 0.50000000); - local_10 = (float)(uint)*(byte *)(local_14 + 4); - if (false) { - local_10 = local_10 + 4294967296.00000000; - } - local_10 = local_10 * 0.50000000; - local_c = (float)(uint)*(byte *)(local_14 + 5); - if (false) { - local_c = local_c + 4294967296.00000000; - } - local_c = local_c * 0.50000000; - loc_7F06B108(register0x000000ec,&local_8,&local_10,(ulonglong)*(byte *)(local_14 + 4), - (uint)*(byte *)(local_14 + 5),0,0,1,0xff,0xff,0xff,0xdc, - (uint)(*(char *)(local_14 + 6) != '\0'),0); - return local_res0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f009f80(undefined8 uParm1) - -{ - int iVar1; - undefined2 uVar4; - undefined4 uVar3; - undefined8 uVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - _DAT_800586b0 = FUN_7f0c12b8(0x9c04); - FUN_7f0abe38(1); - iStack16 = 0; - iStack12 = 0; - loc_7F0AEB50(&iStack12,&iStack16,_DAT_800586b0,DAT_8003ab00,DAT_8003aafc,0); - iStack4 = 0x33; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (DAT_80025e2c != 0) { - uParm1 = microcode_constructor_related_to_menus - (uParm1,(iStack8 - iStack12) + 1,0x33,iStack8,0x75,0x32); - } - __scSchedule(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0x54 - (iVar1 >> 1); - uVar4 = FUN_70003e7c(); - uVar3 = FUN_70003e6c(); - uVar2 = loc_7F0ADD78(uParm1,&iStack4,&iStack8,_DAT_800586b0,DAT_8003ab00,DAT_8003aafc,0xff,uVar4, - uVar3,0,0); - __scSchedule(0); - FUN_7f0abe38(0); - return uVar2; -} - - - -undefined8 FUN_7f00a0e4(void) - -{ - if ((390.00000000 < DAT_80025e58) && (DAT_80025e5c <= DAT_80047b00)) { - return 1; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f00a138(undefined8 uParm1) - -{ - int iVar1; - undefined2 uVar4; - undefined4 uVar3; - undefined8 uVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - _DAT_800586b8 = FUN_7f0c12b8(0x9c06); - FUN_7f0abe38(1); - iStack16 = 0; - iStack12 = 0; - loc_7F0AEB50(&iStack12,&iStack16,_DAT_800586b8,DAT_8003ab00,DAT_8003aafc,0); - iStack4 = 0xec; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (DAT_80025e34 != 0) { - uParm1 = microcode_constructor_related_to_menus - (uParm1,(iStack8 - iStack12) + 1,0xec,iStack8,0x12e,0x32); - } - __scSchedule(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0x10d - (iVar1 >> 1); - uVar4 = FUN_70003e7c(); - uVar3 = FUN_70003e6c(); - uVar2 = loc_7F0ADD78(uParm1,&iStack4,&iStack8,_DAT_800586b8,DAT_8003ab00,DAT_8003aafc,0xff,uVar4, - uVar3,0,0); - __scSchedule(0); - FUN_7f0abe38(0); - return uVar2; -} - - - -undefined8 FUN_7f00a29c(void) - -{ - if ((390.00000000 < DAT_80025e58) && (223.00000000 < DAT_80025e5c)) { - return 1; - } - return 0; -} - - - -void FUN_7f00a2f0(void) - -{ - DAT_80025e58 = DAT_80047b04; - DAT_80025e5c = 0x43100000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f00a314(undefined8 uParm1) - -{ - int iVar1; - undefined2 uVar4; - undefined4 uVar3; - undefined8 uVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - _DAT_800586b4 = FUN_7f0c12b8(0x9c05); - FUN_7f0abe38(1); - iStack16 = 0; - iStack12 = 0; - loc_7F0AEB50(&iStack12,&iStack16,_DAT_800586b4,DAT_8003ab00,DAT_8003aafc,0); - iStack4 = 0x90; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (DAT_80025e30 != 0) { - uParm1 = microcode_constructor_related_to_menus - (uParm1,(iStack8 - iStack12) + 1,0x90,iStack8,0xd2,0x32); - } - __scSchedule(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0xb1 - (iVar1 >> 1); - uVar4 = FUN_70003e7c(); - uVar3 = FUN_70003e6c(); - uVar2 = loc_7F0ADD78(uParm1,&iStack4,&iStack8,_DAT_800586b4,DAT_8003ab00,DAT_8003aafc,0xff,uVar4, - uVar3,0,0); - __scSchedule(0); - FUN_7f0abe38(0); - return uVar2; -} - - - -undefined8 FUN_7f00a478(void) - -{ - if (((390.00000000 < DAT_80025e58) && (DAT_80047b08 < DAT_80025e5c)) && - (DAT_80025e5c <= 223.00000000)) { - return 1; - } - return 0; -} - - - -void FUN_7f00a4e8(void) - -{ - undefined8 uVar1; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - FUN_70006430(); - DAT_80025e8c = 1; - DAT_80025e1c = 0; - uStack16 = DAT_80025f10; - uStack12 = DAT_80025f14; - uStack8 = DAT_80025f18; - loc_7F0764EC(PTR_DAT_80035c7c,PTR_s_PlegalpageZ_80035c80,DAT_80025ea0,0x3c000,0); - FUN_7f075d7c(PTR_DAT_80035c7c); - uVar1 = FUN_7f06c7d4(PTR_DAT_80035c7c); - DAT_80025ea8 = (undefined4)uVar1; - set_obj_instance_controller_scale(uVar1,0x3f800000); - FUN_7f06d200(DAT_80025ea8,&uStack16); - FUN_7f01ddf0(); - return; -} - - - -void FUN_7f00a5b0(void) - -{ - DAT_80025e7c = 0; - FUN_7f06c974(DAT_80025ea8); - return; -} - - - -void FUN_7f00a5dc(void) - -{ - longlong lVar1; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b0c); - FUN_700040a0(0x42c80000,DAT_80047b10); - FUN_70003f84(0); - DAT_80025e1c += DAT_80040ff4; - if (DAT_80025e1c < 0xc9) { - lVar1 = FUN_7000b120(0,0xffff); - if ((lVar1 != 0) && (DAT_80025e7c == 0)) { - if (DAT_80025e80 == 0) { - FUN_7f01a438(5,1); - } - else { - FUN_7f01a438(1,1); - } - } - } - else { - lVar1 = FUN_7000a718(); - if ((lVar1 < 1) && (DAT_80025e7c != 0)) { - FUN_7f01a438(0x16,1); - } - else { - FUN_7f01a438(1,1); - } - } - return; -} - - - -void FUN_7f00a6e4(undefined4 uParm1,int iParm2,int iParm3,int iParm4,int iParm5,undefined4 uParm6, - undefined4 uParm7,undefined4 uParm8) - -{ - undefined2 uVar2; - undefined4 uVar1; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack8 = 0; - iStack4 = 0; - loc_7F0AEB50(&iStack4,&iStack8,uParm6,DAT_8003ab08,DAT_8003ab04,0); - iParm4 *= iStack8; - if (iParm4 < 0) { - iParm4 += 1; - } - iParm5 *= iStack4; - iStack12 = iParm2 - (iParm4 >> 1); - if (iParm5 < 0) { - iParm5 += 1; - } - iStack16 = iParm3 - (iParm5 >> 1); - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - loc_7F0ADD78(uParm1,&iStack12,&iStack16,uParm6,uParm7,uParm8,0xffffffff,uVar2,uVar1,0,0); - return; -} - - - -void FUN_7f00a7e0(undefined8 uParm1) - -{ - undefined8 uVar1; - undefined4 uVar2; - undefined **ppuVar3; - undefined **ppuVar4; - undefined4 *puVar5; - int iVar6; - longlong lVar7; - undefined4 *puVar8; - int iVar9; - undefined auStack208 [72]; - undefined auStack136 [68]; - undefined *puStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - - puVar8 = &DAT_8002600c; - ppuVar3 = &puStack68; - do { - puVar5 = puVar8 + 3; - ppuVar4 = ppuVar3 + 3; - *ppuVar3 = (undefined *)*puVar8; - ppuVar3[1] = (undefined *)puVar8[1]; - ppuVar3[2] = (undefined *)puVar8[2]; - puVar8 = puVar5; - ppuVar3 = ppuVar4; - } while (puVar5 != (undefined4 *)0x80026048); - *ppuVar4 = puRam80026048; - uStack56 = sub_GAME_7F01CA18(uParm1); - FUN_7f059b3c(auStack136,0,0,0x457a0000,0,0,0,0,0x3f800000,0); - puStack68 = auStack136; - uVar1 = FUN_7f0bcac4((int)*(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe) << 6); - uStack52 = (undefined4)uVar1; - loc_7F058030(auStack136,uVar1); - *(undefined4 *)(DAT_80025ea8 + 0xc) = uStack52; - loc_7F06F0C0(DAT_80025ea8); - uStack60 = 3; - uStack64 = 0; - FUN_7f074758(&puStack68,DAT_80025ea8); - uVar2 = uStack56; - lVar7 = 0; - iVar9 = 0; - if (0 < *(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe)) { - iVar6 = *(int *)(DAT_80025ea8 + 0xc); - while( true ) { - loc_7F058030(iVar6 + iVar9,auStack208); - FUN_7f059144(auStack208,*(int *)(DAT_80025ea8 + 0xc) + (int)lVar7 * 0x40); - lVar7 = (longlong)((int)lVar7 + 1); - iVar9 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe) <= lVar7) break; - iVar6 = *(int *)(DAT_80025ea8 + 0xc); - } - } - uVar1 = loc_7F0ACED4(uVar2); - puVar8 = &DAT_80025f1c; - do { - uVar2 = FUN_7f0c12b8((ulonglong)*(ushort *)(puVar8 + 4)); - uVar1 = FUN_7f00a6e4(uVar1,*puVar8,puVar8[1],puVar8[2],puVar8[3],uVar2,DAT_8003ab08,DAT_8003ab04 - ); - puVar8 = puVar8 + 5; - } while (puVar8 < &DAT_8002600c); - return; -} - - - -void FUN_7f00a9ec(void) - -{ - DAT_80025e1c = 0; - return; -} - - - -void FUN_7f00aa00(void) - -{ - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b14); - FUN_700040a0(0x42c80000,DAT_80047b18); - FUN_70003f84(0); - if (((3 < DAT_80025e1c + 1) && (DAT_80025e94 == 0)) && (DAT_80025e98 == 0)) { - DAT_80025e18 = DAT_80025e14; - DAT_80025e14 = 0xffffffff; - } - DAT_80025e1c = DAT_80025e1c + 1; - return; -} - - - -void FUN_7f00aaa8(void) - -{ - sub_GAME_7F01CA18(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00aac8(void) - -{ - undefined8 uVar1; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - DAT_80025e1c = 0; - uStack12 = DAT_8002604c; - uStack8 = DAT_80026050; - uStack4 = DAT_80026054; - loc_7F0764EC(PTR_DAT_80035a78,PTR_s_PnintendologoZ_80035a7c,DAT_80025ea0,0x3c000,0); - FUN_7f075d7c(PTR_DAT_80035a78); - uVar1 = FUN_7f06c7d4(PTR_DAT_80035a78); - DAT_80025ea8 = (undefined4)uVar1; - set_obj_instance_controller_scale(uVar1,0x3f800000); - FUN_7f06d200(DAT_80025ea8,&uStack12); - FUN_700062dc(0x2c); - DAT_80025e8c = 1; - _DAT_80058554 = DAT_80047b1c; - _DAT_80058558 = DAT_80047b20; - return; -} - - - -void FUN_7f00aba4(void) - -{ - FUN_7f06c974(DAT_80025ea8); - return; -} - - - -void FUN_7f00abc8(void) - -{ - longlong lVar1; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b24); - FUN_700040a0(0x42c80000,DAT_80047b28); - FUN_70003f84(0); - DAT_80025e1c += DAT_80040ff4; - if (DAT_80025e1c < 0x1a1) { - lVar1 = FUN_7000b120(0,0xffff); - if (lVar1 != 0) { - if (DAT_80025e80 == 0) { - FUN_7f01a438(5,1); - } - else { - DAT_80025e84 = 1; - FUN_7f01a438(2,1); - } - } - } - else { - FUN_7f01a438(2,1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f00ac98(void) - -{ - undefined8 uVar1; - int iVar2; - undefined **ppuVar3; - undefined **ppuVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - longlong lVar8; - undefined auStack280 [64]; - undefined auStack216 [80]; - undefined auStack136 [72]; - undefined *puStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 *puStack52; - undefined4 uStack48; - - puVar6 = &DAT_80026058; - ppuVar3 = &puStack64; - do { - puVar7 = puVar6 + 3; - ppuVar4 = ppuVar3 + 3; - *ppuVar3 = (undefined *)*puVar6; - ppuVar3[1] = (undefined *)puVar6[1]; - ppuVar3[2] = (undefined *)puVar6[2]; - puVar6 = puVar7; - ppuVar3 = ppuVar4; - } while (puVar7 != (undefined4 *)0x80026094); - *ppuVar4 = puRam80026094; - puVar6 = (undefined4 *)sub_GAME_7F01CA18(); - *puVar6 = 0xbc000002; - puVar6[1] = 0x80000040; - puVar6[2] = 0x3860010; - puVar6[3] = 0x80025ee0; - puStack52 = puVar6 + 6; - puVar6[4] = 0x3880010; - puVar6[5] = 0x80025ed8; - iVar2 = 0xff - (DAT_80025e1c * 0xff + -0x132cc) / 0x53; - if (0xff < iVar2) { - iVar2 = 0xff; - } - DAT_80025ed8 = (undefined)iVar2; - if (iVar2 < 0) { - DAT_80025ed8 = 0; - } - _DAT_80058554 = _DAT_80058554 + DAT_80047b2c; - DAT_80025ed9 = DAT_80025ed8; - DAT_80025eda = DAT_80025ed8; - DAT_80025edc = DAT_80025ed8; - DAT_80025edd = DAT_80025ed8; - DAT_80025ede = DAT_80025ed8; - FUN_7f058aa4(_DAT_80058554,&DAT_80025ed8,auStack216); - sub_7F058BB8(_DAT_80058558); - _DAT_80058558 = _DAT_80058558 * DAT_80047b34; - if (DAT_80047b30 < _DAT_80058558) { - _DAT_80058558 = DAT_80047b30; - } - FUN_7f059b3c(auStack136,0,0,0x457a0000,0,0,0,0,0x3f800000,0); - FUN_7f058510(auStack136,auStack216); - loc_7F058030(auStack216,auStack136); - puStack64 = auStack136; - uVar1 = FUN_7f0bcac4((int)*(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe) << 6); - uStack48 = (undefined4)uVar1; - loc_7F058030(auStack136,uVar1); - *(undefined4 *)(DAT_80025ea8 + 0xc) = uStack48; - loc_7F06F0C0(DAT_80025ea8); - uStack56 = 3; - uStack60 = 0; - FUN_7f074758(&puStack64,DAT_80025ea8); - puVar6 = puStack52; - lVar8 = 0; - iVar2 = 0; - if (0 < *(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe)) { - iVar5 = *(int *)(DAT_80025ea8 + 0xc); - while( true ) { - loc_7F058030(iVar5 + iVar2,auStack280); - FUN_7f059144(auStack280,*(int *)(DAT_80025ea8 + 0xc) + (int)lVar8 * 0x40); - lVar8 = (longlong)((int)lVar8 + 1); - iVar2 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe) <= lVar8) break; - iVar5 = *(int *)(DAT_80025ea8 + 0xc); - } - } - return puVar6; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00af64(void) - -{ - FUN_7f008ad8(DAT_80025ea0,0x78000); - FUN_70008268(_DAT_80056900,0x102,0); - return; -} - - - -void FUN_7f00afa4(void) - -{ - return; -} - - - -void FUN_7f00afac(void) - -{ - longlong lVar1; - - FUN_70003f84(0); - lVar1 = FUN_7f008d50(); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0xffff); - if (lVar1 != 0) { - if (DAT_80025e80 == 0) { - FUN_7f01a438(5,1); - } - else { - DAT_80025e84 = 1; - FUN_7f01a438(3,1); - } - } - } - else { - FUN_7f01a438(3,1); - } - return; -} - - - -void FUN_7f00b034(void) - -{ - FUN_7f008b5c(); - return; -} - - - -void FUN_7f00b054(void) - -{ - FUN_7f008e00(DAT_80025ea0,0x78000); - FUN_700062dc(2); - DAT_80025e8c = 1; - return; -} - - - -void FUN_7f00b090(void) - -{ - FUN_7f009190(); - return; -} - - - -void FUN_7f00b0b0(void) - -{ - longlong lVar1; - - FUN_70003f84(0); - lVar1 = FUN_7f009644(); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0xffff); - if (lVar1 != 0) { - if (DAT_80025e80 == 0) { - FUN_7f01a438(5,1); - } - else { - DAT_80025e84 = 1; - FUN_7f01a438(4,1); - } - } - } - else { - FUN_7f01a438(4,1); - } - return; -} - - - -void FUN_7f00b138(void) - -{ - FUN_7f0091d8(); - return; -} - - - -void FUN_7f00b158(void) - -{ - undefined8 uVar1; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - DAT_80025e1c = 0; - uStack12 = DAT_80026098; - uStack8 = DAT_8002609c; - uStack4 = DAT_800260a0; - loc_7F0764EC(PTR_DAT_80035a84,PTR_s_PgoldeneyelogoZ_80035a88,DAT_80025ea0,0x3c000,0); - FUN_7f075d7c(PTR_DAT_80035a84); - uVar1 = FUN_7f06c7d4(PTR_DAT_80035a84); - DAT_80025ea8 = (undefined4)uVar1; - set_obj_instance_controller_scale(uVar1,0x3f800000); - FUN_7f06d200(DAT_80025ea8,&uStack12); - return; -} - - - -void FUN_7f00b204(void) - -{ - DAT_80025e80 = 0; - FUN_7f06c974(DAT_80025ea8); - return; -} - - - -// WARNING: Instruction at (ram,0x7f00b340) overlaps instruction at (ram,0x7f00b33c) -// - -void FUN_7f00b230(void) - -{ - longlong lVar1; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b38); - FUN_700040a0(0x42c80000,DAT_80047b3c); - FUN_70003f84(0); - DAT_80025e1c += DAT_80040ff4; - if (((DAT_80025e80 == 0) || (0x96 < DAT_80025e1c)) || - ((DAT_80025e88 != 0 && (0x4b < DAT_80025e1c)))) { - if (DAT_80025e1c < 0x97) { - lVar1 = FUN_7000b120(0,0xffff); - if ((lVar1 != 0) || ((DAT_80025e80 != 0 && (DAT_80025e88 != 0)))) { - FUN_7f01a438(5,1); - } - } - else { - if (DAT_80025e84 == 0) { - FUN_7f0186e8(0); - FUN_7f01a438(0x18,1); - } - else { - FUN_7f01a438(5,1); - } - } - } - else { - lVar1 = FUN_7000b120(0,0xffff); - if (lVar1 != 0) { - DAT_80025e88 = 1; - } - } - return; -} - - - -undefined4 * FUN_7f00b37c(undefined8 uParm1) - -{ - undefined8 uVar1; - undefined **ppuVar2; - undefined **ppuVar3; - int iVar4; - undefined4 *puVar5; - undefined4 *puVar6; - longlong lVar7; - int iVar8; - undefined auStack292 [84]; - undefined auStack208 [72]; - undefined auStack136 [72]; - undefined *puStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 *puStack52; - undefined4 uStack48; - - puVar5 = &DAT_800260a4; - ppuVar2 = &puStack64; - do { - puVar6 = puVar5 + 3; - ppuVar3 = ppuVar2 + 3; - *ppuVar2 = (undefined *)*puVar5; - ppuVar2[1] = (undefined *)puVar5[1]; - ppuVar2[2] = (undefined *)puVar5[2]; - puVar5 = puVar6; - ppuVar2 = ppuVar3; - } while (puVar6 != (undefined4 *)0x800260e0); - *ppuVar3 = puRam800260e0; - uVar1 = FUN_70004120(uParm1,0,0,0); - puStack52 = (undefined4 *)FUN_70003948(uVar1); - uVar1 = FUN_7f0bcaa8(2); - guLookAtReflect(auStack208,uVar1,0,0,0x457a0000,0,0,0,0,0x3f800000,0); - *puStack52 = 0xbc000002; - puStack52[1] = 0x80000040; - puStack52[2] = 0x3860010; - puStack52[3] = 0x80025ec8; - puStack52[4] = 0x3880010; - puStack52[5] = 0x80025ec0; - puStack52[6] = 0x3840010; - puStack52[7] = (int)uVar1; - puStack52[9] = (int)uVar1 + 0x10; - puStack52[8] = 0x3820010; - puStack52 = puStack52 + 10; - FUN_7f059b3c(auStack136,0,0,0x453b8000,0,0,0,0,0x3f800000,0); - puStack64 = auStack136; - uStack48 = FUN_7f0bcac4((int)*(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe) << 6); - matrix_multiply_A1_by_F12(DAT_80047b40); - loc_7F058030(auStack136,uStack48); - *(undefined4 *)(DAT_80025ea8 + 0xc) = uStack48; - loc_7F06F0C0(DAT_80025ea8); - uStack56 = 3; - uStack60 = 0; - FUN_7f074758(&puStack64,DAT_80025ea8); - puVar5 = puStack52; - lVar7 = 0; - iVar8 = 0; - if (0 < *(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe)) { - iVar4 = *(int *)(DAT_80025ea8 + 0xc); - while( true ) { - loc_7F058030(iVar4 + iVar8,auStack292); - FUN_7f059144(auStack292,*(int *)(DAT_80025ea8 + 0xc) + (int)lVar7 * 0x40); - lVar7 = (longlong)((int)lVar7 + 1); - iVar8 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_80025ea8 + 8) + 0xe) <= lVar7) break; - iVar4 = *(int *)(DAT_80025ea8 + 0xc); - } - } - return puVar5; -} - - - -void loc_7F00B7A8(int iParm1) - -{ - ushort *puVar1; - undefined4 *puVar2; - int iVar3; - longlong lVar4; - longlong lVar5; - int iVar6; - int iVar7; - - iVar3 = *(int *)(iParm1 + 8); - lVar5 = 0; - lVar4 = (longlong)*(short *)(iVar3 + 0xc); - iVar7 = 0; - if (0 < lVar4) { - do { - puVar1 = *(ushort **)(*(int *)(iVar3 + 8) + iVar7); - iVar6 = (int)lVar5; - if (puVar1 == NULL) { - lVar5 = (longlong)(iVar6 + 1); - } - else { - if ((*puVar1 & 0xff) == 0x12) { - puVar2 = (undefined4 *)loc_7F06C888(iParm1); - *puVar2 = 0; - iVar3 = *(int *)(iParm1 + 8); - lVar4 = (longlong)*(short *)(iVar3 + 0xc); - lVar5 = (longlong)(iVar6 + 1); - } - else { - lVar5 = (longlong)(iVar6 + 1); - } - } - iVar7 += 4; - } while (lVar5 < lVar4); - } - return; -} - - - -void loc_7F00B7FC(int iParm1,int iParm2,undefined4 uParm3) - -{ - int iVar1; - undefined4 *puVar2; - - iVar1 = *(int *)(*(int *)(*(int *)(iParm1 + 8) + 8) + iParm2 * 4); - if (iVar1 != 0) { - puVar2 = (undefined4 *)loc_7F06C888(iParm1,iVar1); - *puVar2 = uParm3; - } - return; -} - - - -void FUN_7f00b708(undefined8 uParm1) - -{ - loc_7F00B7FC(uParm1,8,1); - loc_7F00B7FC(uParm1,9,0); - loc_7F00B7FC(uParm1,10,0); - loc_7F00B7FC(uParm1,0xb,0); - loc_7F00B7FC(uParm1,0xf,1); - loc_7F00B7FC(uParm1,0x10,0); - loc_7F00B7FC(uParm1,0x11,0); - loc_7F00B7FC(uParm1,0x12,0); - return; -} - - - -void FUN_7f00b7ac(void) - -{ - uint *puVar1; - undefined8 uVar2; - undefined4 *puVar3; - - if (DAT_80025eac == 0) { - loc_7F0764EC(PTR_DAT_80035a90,PTR_s_PwalletbondZ_80035a94,DAT_80025ea0,0xa000,0); - FUN_7f075d7c(PTR_DAT_80035a90); - puVar3 = &DAT_80025eac; - do { - uVar2 = FUN_7f06c97c(PTR_DAT_80035a90); - *puVar3 = (int)uVar2; - set_obj_instance_controller_scale(uVar2,0x3f800000); - puVar3 = puVar3 + 1; - } while (puVar3 != (undefined4 *)0x80025ebc); - if (*(int *)(*(int *)(PTR_DAT_80035a90 + 8) + 0x54) != 0) { - puVar1 = *(uint **)(*(int *)(*(int *)(PTR_DAT_80035a90 + 8) + 0x54) + 4); - locret_7F0BA710(puVar1[7] + (*puVar1 & 0xffffff),0,8); - } - } - return; -} - - - -void FUN_7f00b890(void) - -{ - int iVar1; - int *piVar2; - - piVar2 = &DAT_80025eac; - iVar1 = DAT_80025eac; - while( true ) { - if (iVar1 != 0) { - FUN_7f06cb38(); - *piVar2 = 0; - } - piVar2 = piVar2 + 1; - if (piVar2 == (int *)0x80025ebc) break; - iVar1 = *piVar2; - } - return; -} - - - -void FUN_7f00b8e8(void) - -{ - undefined *puVar1; - int local_8; - undefined4 local_4; - - local_8 = DAT_80025ea0 + 0xa000; - DAT_80025e84 = 0; - local_4 = 0x6e000; - if (DAT_80025e38 < 0) { - DAT_80025e38 = 0; - } - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e6c = 0xffffffff; - DAT_80025e70 = 1; - FUN_7f008d64(&local_8,&local_4); - FUN_7f00b7ac(); - if (DAT_80025e8c != 0) { - FUN_700062dc(0x17); - DAT_80025e8c = 0; - } - DAT_80025e1c = 0; - DAT_800585e1 = 0; - DAT_800585e2 = 0; - puVar1 = &DAT_800585e3; - do { - puVar1 = puVar1 + 4; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != (undefined *)0x8005862b); - DAT_80025e50 = 0; - DAT_80025e54 = 0; - return; -} - - - -void FUN_7f00b9e0(void) - -{ - if ((DAT_80025e14 == 0) || (DAT_80025e18 == 0)) { - FUN_7f00b890(); - } - return; -} - - - -int FUN_7f00ba1c(int iParm1) - -{ - undefined **ppuVar1; - - if (-1 < iParm1) { - ppuVar1 = &PTR_s_1_80026134 + iParm1 * 7; - do { - if (ppuVar1[4] != NULL) { - return iParm1; - } - iParm1 += -1; - ppuVar1 = ppuVar1 + -7; - } while (-1 < iParm1); - } - return 0xffffffff; -} - - - -void FUN_7f00ba68(int iParm1) - -{ - float local_8; - float local_4; - - FUN_7f078074(&DAT_80058560 + iParm1 * 0xc,&local_8); - DAT_80025e58 = local_8 + -1.00000000; - DAT_80025e5c = local_4 + 20.00000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F00C368(void) - -{ - int iVar1; - longlong lVar2; - undefined4 uVar4; - undefined8 uVar3; - int *piVar5; - undefined4 *puVar6; - undefined *puVar7; - int iVar8; - undefined *puStack188; - int iStack180; - int iStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - undefined auStack156 [4]; - undefined auStack152 [4]; - undefined auStack148 [4]; - undefined auStack144 [8]; - undefined auStack136 [64]; - undefined auStack72 [72]; - - lVar2 = FUN_7000b120(0,0xffff); - if ((((lVar2 == 0) && (lVar2 = FUN_7000ae60(0), -6 < lVar2)) && - (lVar2 = FUN_7000ae60(0), lVar2 < 6)) && - ((lVar2 = FUN_7000af70(0), -6 < lVar2 && (lVar2 = FUN_7000af70(0), lVar2 < 6)))) { - DAT_80025e1c += DAT_80040ff4; - } - else { - DAT_80025e1c = 0; - } - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b44); - FUN_700040a0(0x42c80000,DAT_80047b48); - FUN_70003f84(0); - puVar6 = (undefined4 *)&DAT_80058560; - piVar5 = &DAT_80025eac; - puStack188 = &DAT_800260e4; - iVar8 = 0; - do { - FUN_7f059b3c(auStack72,0,0,0x457a0000,0,0,0,0,0x3f800000,0); - FUN_7f058e0c(puStack188,auStack136); - matrix_multiply_A1_by_F12(DAT_80047b4c); - FUN_7f058510(auStack72,auStack136); - uVar4 = FUN_7f0bcac4((int)*(short *)(*(int *)(*piVar5 + 8) + 0xe) << 6); - *(undefined4 *)(*piVar5 + 0xc) = uVar4; - loc_7F058030(auStack136,*(undefined4 *)(*piVar5 + 0xc)); - iVar1 = *piVar5; - *puVar6 = *(undefined4 *)(*(int *)(iVar1 + 0xc) + 0x30); - puVar6[1] = *(undefined4 *)(*(int *)(iVar1 + 0xc) + 0x34); - puVar6[2] = *(undefined4 *)(*(int *)(iVar1 + 0xc) + 0x38); - loc_7F00B7A8(); - uVar3 = FUN_7f01ea20(iVar8); - FUN_7f00b708(*piVar5,uVar3); - loc_7F00B7FC(*piVar5,0xe,1); - loc_7F00B7FC(*piVar5,0xd,1); - iVar8 += 1; - puStack188 = puStack188 + 0xc; - piVar5 = piVar5 + 1; - puVar6 = puVar6 + 3; - } while (iVar8 != 4); - if (-1 < DAT_80025e38) { - if (DAT_80025e38 == 100) { - DAT_80025e38 = DAT_80025e3c; - } - if ((DAT_80025e38 < 0) || (3 < DAT_80025e38)) { - DAT_80025e38 = 0; - } - FUN_7f00ba68(DAT_80025e38); - DAT_80025e38 = -1; - } - iVar8 = 0; - if (DAT_80025e6c < 0) { - puVar7 = &DAT_80058560; - puVar6 = &DAT_80025eac; - do { - FUN_7f03f9cc(*puVar6,auStack144,auStack148,auStack152,auStack156); - sub_7F03F948(puVar7,auStack148,auStack156,&fStack164,&fStack172); - if ((((fStack164 <= DAT_80025e58) && (DAT_80025e58 <= fStack172)) && - (fStack160 <= DAT_80025e5c)) && (DAT_80025e5c <= fStack168)) { - FUN_7f01e6d4(iVar8,&iStack176,&iStack180); - lVar2 = FUN_7000b120(0,0xb000); - if (lVar2 != 0) { - if (DAT_80025e68 == 0) { - DAT_80025e38 = iVar8; - FUN_70008268(_DAT_80056900,0x4d,0); - } - else { - if (DAT_80025e68 == 1) { - loc_7F01EEF8(iVar8); - DAT_80025e68 = 0; - FUN_70008268(_DAT_80056900,0x4f,0); - } - else { - if (DAT_80025e68 == 2) { - if ((-1 < iStack176) && (-1 < iStack180)) { - DAT_80025e70 = 1; - DAT_80025e6c = iVar8; - } - DAT_80025e68 = 0; - FUN_70008268(_DAT_80056900,0x12,0); - } - } - } - break; - } - } - iVar8 += 1; - puVar6 = puVar6 + 1; - puVar7 = puVar7 + 0xc; - } while (iVar8 != 4); - lVar2 = FUN_7000b120(0,0xb000); - if (lVar2 == 0) { - lVar2 = FUN_7000b120(0,0x4000); - if ((lVar2 != 0) && (DAT_80025e68 != 0)) { - DAT_80025e68 = 0; - FUN_70008268(_DAT_80056900,0x76,0); - } - } - else { - if ((((DAT_80025e58 < DAT_80026114) || (DAT_8002611c < DAT_80025e58)) || - (DAT_80025e5c < DAT_80026118)) || (DAT_80026120 < DAT_80025e5c)) { - if (((DAT_80025e58 < DAT_80026124) || (DAT_8002612c < DAT_80025e58)) || - ((DAT_80025e5c < DAT_80026128 || (DAT_80026130 < DAT_80025e5c)))) { - if (DAT_80025e68 != 0) { - DAT_80025e68 = 0; - FUN_70008268(_DAT_80056900,0x76,0); - } - } - else { - DAT_80025e68 = 2; - FUN_70008268(_DAT_80056900,0xde,0); - } - } - else { - DAT_80025e68 = 1; - FUN_70008268(_DAT_80056900,0xde,0); - } - } - FUN_7f009a84(); - } - else { - lVar2 = FUN_7000b120(0,0x222); - if ((lVar2 == 0) || (DAT_80025e70 != 0)) { - lVar2 = FUN_7000b120(0,0x111); - if ((lVar2 != 0) && (DAT_80025e70 != 0)) { - DAT_80025e70 = 0; - FUN_70008268(_DAT_80056900,0x12,0); - } - } - else { - DAT_80025e70 = 1; - FUN_70008268(_DAT_80056900,0x12,0); - } - lVar2 = FUN_7000ae60(0); - if ((lVar2 < -0x2d) && (DAT_80025e70 == 0)) { - DAT_80025e70 = 1; - FUN_70008268(_DAT_80056900,0x12,0); - } - else { - lVar2 = FUN_7000ae60(0); - if ((0x2d < lVar2) && (DAT_80025e70 != 0)) { - DAT_80025e70 = 0; - FUN_70008268(_DAT_80056900,0x12,0); - } - } - lVar2 = FUN_7000b120(0,0xb000); - if (lVar2 == 0) { - lVar2 = FUN_7000b120(0,0x4000); - if (lVar2 != 0) { - FUN_7f00ba68(DAT_80025e6c); - DAT_80025e6c = -1; - FUN_70008268(_DAT_80056900,0x76,0); - } - } - else { - if (DAT_80025e70 == 0) { - loc_7F01ED00(DAT_80025e6c); - FUN_70008268(_DAT_80056900,0x76,0); - } - else { - FUN_70008268(_DAT_80056900,0x76,0); - } - FUN_7f00ba68(DAT_80025e6c); - DAT_80025e6c = -1; - } - } - if (DAT_80025e38 < 0) { - if (0x5dc < DAT_80025e1c) { - FUN_7f01a438(0,1); - } - } - else { - FUN_7f01a438(6,0); - FUN_7f00d6fc(0); - } - return; -} - - - -undefined8 loc_7F00C3F8(longlong lParm1) - -{ - undefined8 uVar1; - - uVar1 = 0; - if (lParm1 == 0) { - uVar1 = FUN_7f0c12b8(0x9c13); - } - else { - if (lParm1 == 1) { - uVar1 = FUN_7f0c12b8(0x9c14); - } - else { - if (lParm1 == 2) { - uVar1 = FUN_7f0c12b8(0x9c15); - } - else { - if (lParm1 == 3) { - uVar1 = FUN_7f0c12b8(0x9c16); - } - } - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f00c308(undefined4 uParm1) - -{ - int iVar2; - undefined8 uVar1; - undefined2 uVar4; - undefined4 uVar3; - undefined4 *puVar5; - undefined4 *puVar6; - undefined **ppuVar7; - longlong lVar8; - int *piVar9; - int iVar10; - undefined *puVar11; - undefined4 *puVar12; - undefined4 *puVar13; - float fVar14; - undefined4 *puStackX0; - undefined *puStack324; - float fStack308; - float fStack304; - undefined4 uStack300; - undefined4 uStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack264; - undefined auStack252 [20]; - undefined auStack232 [20]; - undefined4 uStack212; - undefined4 uStack208; - int iStack204; - undefined *puStack200; - int iStack196; - int iStack192; - int iStack188; - int aiStack184 [2]; - undefined auStack176 [68]; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack100; - undefined4 *puStack96; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - uStack16 = DAT_8002647c; - uStack12 = DAT_80026480; - uStack8 = DAT_80026484; - uStack28 = DAT_80026488; - uStack24 = DAT_8002648c; - uStack20 = DAT_80026490; - puStackX0 = (undefined4 *)uParm1; - puVar12 = (undefined4 *)sub_GAME_7F01CA18(uParm1); - *puVar12 = 0xfc167e2c; - puVar12[1] = 0x33fdf6fb; - puStackX0 = puVar12 + 4; - puVar12[3] = 0xffffff14; - puVar12[2] = 0xfb000000; - iVar2 = FUN_70003e6c(); - fVar14 = (float)sub_GAME_7F05C3D8(((float)iVar2 * -80.00000000) / 1280.00000000); - puVar12 = (undefined4 *)sub_7F007CC8(puStackX0,(int)fVar14,&uStack16,&uStack28); - puVar12[1] = 0x1000000; - *puVar12 = 0x6000000; - puStackX0 = puVar12 + 4; - piVar9 = &DAT_80025eb8; - puVar12[3] = 0x1000040; - puVar12[2] = 0x6000000; - do { - puVar12 = &DAT_80026494; - puVar5 = &uStack108; - do { - puVar13 = puVar12 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar12; - puVar5[1] = puVar12[1]; - puVar5[2] = puVar12[2]; - puVar12 = puVar13; - puVar5 = puVar6; - } while (puVar13 != (undefined4 *)0x800264d0); - lVar8 = 0; - *puVar6 = uRam800264d0; - uStack100 = 3; - uStack104 = 0; - puStack96 = puStackX0; - FUN_7f074758(&uStack108,*piVar9); - iVar2 = 0; - puStackX0 = puStack96; - if (0 < *(short *)(*(int *)(*piVar9 + 8) + 0xe)) { - iVar10 = *(int *)(*piVar9 + 0xc); - while( true ) { - loc_7F058030(iVar10 + iVar2,auStack176); - FUN_7f059144(auStack176,*(int *)(*piVar9 + 0xc) + (int)lVar8 * 0x40); - lVar8 = (longlong)((int)lVar8 + 1); - iVar2 += 0x40; - if ((longlong)*(short *)(*(int *)(*piVar9 + 8) + 0xe) <= lVar8) break; - iVar10 = *(int *)(*piVar9 + 0xc); - } - } - piVar9 = piVar9 + -1; - } while (&DAT_80025eac <= piVar9); - puStackX0 = (undefined4 *)loc_7F0ACED4(puStackX0); - FUN_7f0abe38(0); - puStack324 = &DAT_80058560; - iStack4 = 0; - do { - FUN_7f078074(puStack324,&uStack212); - if (iStack4 == DAT_80025e6c) { - fVar14 = (float)sub_GAME_7F05C3D8(uStack212); - aiStack184[0] = (int)fVar14 + -0x31; - fVar14 = (float)sub_GAME_7F05C3D8(uStack208); - iStack188 = (int)fVar14 + 0x19; - puStackX0 = (undefined4 *) - microcode_constructor_related_to_menus - (puStackX0,aiStack184[0],iStack188,aiStack184[0] + 99,(int)fVar14 + 0x43 - ,0x32); - uVar1 = FUN_7f0c12b8(0x9c17); - fVar14 = (float)sub_GAME_7F05C3D8(uStack212); - aiStack184[0] = (int)fVar14 + -0x2f; - fVar14 = (float)sub_GAME_7F05C3D8(uStack208); - iStack188 = (int)fVar14 + 0x1e; - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,uVar1,DAT_8003ab08,DAT_8003ab04, - 0xebd879ff,uVar4,uVar3,0,0); - uVar1 = FUN_7f0c12b8(0x9c18); - fVar14 = (float)sub_GAME_7F05C3D8(uStack212); - aiStack184[0] = (int)fVar14 + -0x2f; - fVar14 = (float)sub_GAME_7F05C3D8(uStack208); - iStack188 = (int)fVar14 + 0x32; - if (DAT_80025e70 == 0) { - uVar4 = FUN_70003e6c(&iStack192,&iStack196,uVar1); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,uVar1,DAT_8003ab08,DAT_8003ab04, - 0xebd879ff,uVar4,uVar3,0,0); - } - else { - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(); - puStackX0 = (undefined4 *) - microcode_constructor_related_to_menus - (puStackX0,aiStack184[0] + -1,iStack188 + -1, - aiStack184[0] + iStack196 + 3,iStack188 + iStack192,0x32); - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,uVar1,DAT_8003ab08,DAT_8003ab04, - 0xffffffff,uVar4,uVar3,0,0); - } - uVar1 = FUN_7f0c12b8(0x9c19); - fVar14 = (float)sub_GAME_7F05C3D8(uStack212); - iVar2 = -1; - if (DAT_80041150 != 0) { - iVar2 = 0x17; - } - aiStack184[0] = iVar2 + (int)fVar14 + -1; - fVar14 = (float)sub_GAME_7F05C3D8(uStack208); - iStack188 = (int)fVar14 + 0x32; - if (DAT_80025e70 == 0) { - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,uVar1,DAT_8003ab08,DAT_8003ab04,0); - puStackX0 = (undefined4 *) - microcode_constructor_related_to_menus - (puStackX0,aiStack184[0] + -1,iStack188 + -1, - aiStack184[0] + iStack196 + 3,iStack188 + iStack192,0x32); - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,uVar1,DAT_8003ab08,DAT_8003ab04, - 0xffffffff,uVar4,uVar3,0,0); - } - else { - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,uVar1,DAT_8003ab08,DAT_8003ab04, - 0xebd879ff,uVar4,uVar3,0,0); - } - } - else { - FUN_7f01e6d4(iStack4,&puStack200,&iStack204); - if ((-1 < (int)puStack200) && (-1 < iStack204)) { - lVar8 = loc_7F00C3F8(); - if (lVar8 != 0) { - strtol(auStack232,lVar8); - locret_7000A844(auStack232,s__800478d8); - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,auStack232,DAT_8003ab08,DAT_8003ab04,0); - fVar14 = (float)sub_GAME_7F05C3D8(uStack212); - iVar2 = iStack196; - if (iStack196 < 0) { - iVar2 = iStack196 + 1; - } - aiStack184[0] = ((int)fVar14 - (iVar2 >> 1)) + -1; - fVar14 = (float)sub_GAME_7F05C3D8(uStack208); - iStack188 = (int)fVar14 + 0x15; - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,auStack232,DAT_8003ab08, - DAT_8003ab04,0xebd879ff,uVar4,uVar3,0,0); - } - lVar8 = -1; - iVar2 = 0; - if (iStack204 != 3) { - uVar1 = FUN_7f0c12b8(0x9c1a); - strtol(auStack252,uVar1); - ppuVar7 = &PTR_s_1_80026134; - puVar11 = DAT_80026148; - iVar10 = 0; - if (DAT_80026138 != 0) { - while (iVar2 = iVar10, puStack200 != puVar11) { - iVar2 += 1; - if (*(short *)(ppuVar7 + 8) == 0) goto LAB_7f00cadc; - puVar11 = ppuVar7[0xc]; - ppuVar7 = ppuVar7 + 7; - iVar10 = iVar2; - } - lVar8 = FUN_7f00ba1c(iVar2); - } -LAB_7f00cadc: - if (-1 < lVar8) { - locret_7000A844(auStack252,(&PTR_s_1_80026134)[(int)lVar8 * 7]); - locret_7000A844(auStack252,s___800478dc); - } - locret_7000A844(auStack252,(&PTR_s_1_80026134)[iVar2 * 7]); - locret_7000A844(auStack252,s__800478e0); - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,auStack252,DAT_8003ab08,DAT_8003ab04,0); - fVar14 = (float)sub_GAME_7F05C3D8(uStack212); - iVar2 = iStack196; - if (iStack196 < 0) { - iVar2 = iStack196 + 1; - } - aiStack184[0] = ((int)fVar14 - (iVar2 >> 1)) + -1; - fVar14 = (float)sub_GAME_7F05C3D8(uStack208); - iStack188 = (int)fVar14 + 0x2d; - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,auStack252,DAT_8003ab08, - DAT_8003ab04,0xebd879ff,uVar4,uVar3,0,0); - } - } - } - iStack4 += 1; - puStack324 = puStack324 + 0xc; - if (iStack4 == 4) { - FUN_7f0abe38(0); - uVar1 = FUN_7f0c12b8(0x9c1b); - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,uVar1,DAT_8003ab08,DAT_8003ab04,0); - iVar2 = iStack192; - if (iStack192 < 0) { - iVar2 = iStack192 + 1; - } - iStack188 = 0x11d - (iVar2 >> 1); - aiStack184[0] = 0xf7; - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,uVar1,DAT_8003ab08,DAT_8003ab04, - 0xffffffff,uVar4,uVar3,0,0); - DAT_8002611c = (float)(aiStack184[0] + iStack196); - uVar1 = FUN_7f0c12b8(0x9c1c); - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,uVar1,DAT_8003ab08,DAT_8003ab04,0); - aiStack184[0] = 0x165; - iVar2 = iStack192; - if (iStack192 < 0) { - iVar2 = iStack192 + 1; - } - iStack188 = 0x11d - (iVar2 >> 1); - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack184,&iStack188,uVar1,DAT_8003ab08,DAT_8003ab04, - 0xffffffff,uVar4,uVar3,0,0); - DAT_8002612c = (float)(aiStack184[0] + iStack196); - fStack268 = 225.00000000; - fStack264 = DAT_80047b50; - fStack276 = (float)(uint)*(byte *)(_DAT_80074508 + 4); - if (false) { - fStack276 = fStack276 + 4294967296.00000000; - } - fStack276 = fStack276 * 0.50000000; - fStack272 = (float)(uint)*(byte *)(_DAT_80074508 + 5); - if (false) { - fStack272 = fStack272 + 4294967296.00000000; - } - fStack272 = fStack272 * 0.50000000; - loc_7F077B80(register0x000000ec,_DAT_80074508,4,0,0); - loc_7F06B108(register0x000000ec,&fStack268,&fStack276,(ulonglong)*(byte *)(_DAT_80074508 + 4), - (uint)*(byte *)(_DAT_80074508 + 5),0,0,1,0xff,0xff,0xff,0xff, - (uint)(*(char *)(_DAT_80074508 + 6) != '\0'),0); - DAT_80026114 = fStack268 - fStack276; - DAT_80026118 = fStack264 - fStack272; - DAT_80026120 = fStack272 + fStack264; - fStack284 = DAT_80047b54; - fStack280 = DAT_80047b58; - fStack292 = (float)(uint)*(byte *)(_DAT_80074508 + 0x10); - if (false) { - fStack292 = fStack292 + 4294967296.00000000; - } - fStack292 = fStack292 * 0.50000000; - fStack288 = (float)(uint)*(byte *)(_DAT_80074508 + 0x11); - if (false) { - fStack288 = fStack288 + 4294967296.00000000; - } - fStack288 = fStack288 * 0.50000000; - loc_7F077B80(register0x000000ec,_DAT_80074508 + 0xc,4,0,0); - loc_7F06B108(register0x000000ec,&fStack284,&fStack292, - (ulonglong)*(byte *)(_DAT_80074508 + 0x10),(uint)*(byte *)(_DAT_80074508 + 0x11), - 0,0,1,0xff,0xff,0xff,0xff,(uint)(*(char *)(_DAT_80074508 + 0x12) != '\0'),0); - DAT_80026124 = fStack284 - fStack292; - DAT_80026128 = fStack280 - fStack288; - DAT_80026130 = fStack288 + fStack280; - uStack300 = 0x42dc0000; - uStack296 = DAT_80047b5c; - fStack308 = (float)(uint)*(byte *)(_DAT_80074508 + 0x1c); - if (false) { - fStack308 = fStack308 + 4294967296.00000000; - } - fStack308 = fStack308 * 0.50000000; - fStack304 = (float)(uint)*(byte *)(_DAT_80074508 + 0x1d); - if (false) { - fStack304 = fStack304 + 4294967296.00000000; - } - fStack304 = fStack304 * 0.50000000; - loc_7F077B80(register0x000000ec,_DAT_80074508 + 0x18,4,0,0); - loc_7F06B108(register0x000000ec,&uStack300,&fStack308, - (ulonglong)*(byte *)(_DAT_80074508 + 0x1c),(uint)*(byte *)(_DAT_80074508 + 0x1d), - 0,0,1,0xff,0xff,0xff,0xff,(uint)(*(char *)(_DAT_80074508 + 0x1e) != '\0'),0); - if (DAT_80025e6c < 0) { - puStackX0 = (undefined4 *)FUN_7f009e08(puStackX0); - } - return puStackX0; - } - } while( true ); -} - - - -void FUN_7f00d150(void) - -{ - DAT_80025e40 = 0xffffffff; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - FUN_7f00b7ac(); - FUN_7f01d39c(); - return; -} - - - -void FUN_7f00d190(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00d198(void) - -{ - longlong lVar1; - undefined8 uVar2; - undefined *puVar3; - int iVar4; - - DAT_80025e9c = 0; - puVar3 = &DAT_80058591; - iVar4 = 1; - do { - lVar1 = FUN_7f009748(iVar4); - if (lVar1 == 0) { - *puVar3 = 0; - } - else { - *puVar3 = 1; - DAT_80025e9c = 1; - } - iVar4 += 1; - puVar3 = puVar3 + 1; - } while (iVar4 != 0x4b); - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b60); - FUN_700040a0(0x42c80000,DAT_80047b64); - FUN_70003f84(0); - loc_7F00B7A8(DAT_80025eac); - uVar2 = FUN_7f01ea20(DAT_80025e38); - FUN_7f00b708(DAT_80025eac,uVar2); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,1,1); - loc_7F00B7FC(DAT_80025eac,3,1); - loc_7F00B7FC(DAT_80025eac,7,1); - loc_7F00B7FC(DAT_80025eac,2,1); - DAT_80025e34 = 0; - _DAT_800586c4 = 0xffffffff; - lVar1 = FUN_7f00a29c(); - if (lVar1 == 0) { - if ((DAT_80025e9c == 0) || (DAT_80025e5c < DAT_80047b68)) { - if ((DAT_80025e5c < 243.00000000) || (lVar1 = FUN_7000a718(), lVar1 < 2)) { - _DAT_800586c4 = 0; - lVar1 = FUN_7000b120(0,0xb000); - if (lVar1 != 0) { - DAT_80025e40 = 0; - FUN_70008268(_DAT_80056900,0xc5,0); - } - } - else { - _DAT_800586c4 = 1; - lVar1 = FUN_7000b120(0,0xb000); - if (lVar1 != 0) { - DAT_80025e40 = 1; - FUN_70008268(_DAT_80056900,0xc5,0); - } - } - } - else { - _DAT_800586c4 = 2; - lVar1 = FUN_7000b120(0,0xb000); - if (lVar1 != 0) { - DAT_80025e40 = 2; - FUN_70008268(_DAT_80056900,0xc5,0); - } - } - } - else { - DAT_80025e34 = 1; - lVar1 = FUN_7000b120(0,0xb000); - if (lVar1 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - lVar1 = FUN_7000b120(0,0x4000); - if (lVar1 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - FUN_7f009a84(); - if (DAT_80025e40 == 0) { - FUN_7f01a438(7,0); - FUN_7f00e310(0); - } - else { - if (DAT_80025e40 == 1) { - FUN_7f01a438(0xe,0); - } - else { - if (DAT_80025e40 == 2) { - FUN_7f01a438(0x15,0); - } - else { - if (DAT_80025e28 != 0) { - FUN_7f01a438(5,0); - } - } - } - } - return; -} - - - -undefined4 FUN_7f00d4e8(undefined4 uParm1) - -{ - undefined4 uVar1; - undefined8 uVar2; - int iVar3; - longlong lVar4; - int iVar5; - undefined **ppuVar6; - undefined **ppuVar7; - undefined4 *puVar8; - undefined4 *puVar9; - float fVar10; - float fVar11; - undefined auStack272 [64]; - undefined auStack208 [64]; - undefined auStack144 [68]; - undefined *puStack76; - undefined4 uStack72; - undefined4 uStack68; - undefined4 uStack64; - undefined4 uStack60; - - fVar10 = *(float *)(&DAT_800260e4 + DAT_80025e38 * 0xc); - fVar11 = *(float *)(&DAT_800260e8 + DAT_80025e38 * 0xc); - puVar8 = &DAT_800264d4; - ppuVar6 = &puStack76; - do { - puVar9 = puVar8 + 3; - ppuVar7 = ppuVar6 + 3; - *ppuVar6 = (undefined *)*puVar8; - ppuVar6[1] = (undefined *)puVar8[1]; - ppuVar6[2] = (undefined *)puVar8[2]; - puVar8 = puVar9; - ppuVar6 = ppuVar7; - } while (puVar9 != (undefined4 *)0x80026510); - *ppuVar7 = puRam80026510; - FUN_7f059b3c(auStack144,fVar10 + DAT_80026514,fVar11 + DAT_80026518,DAT_8002651c + 4000.00000000, - fVar10 + DAT_80026514,fVar11 + DAT_80026518,0,0,0x3f800000,0); - FUN_7f058e0c(&DAT_800260e4 + DAT_80025e38 * 0xc,auStack208); - matrix_multiply_A1_by_F12(0x3e800000); - FUN_7f058510(auStack144,auStack208); - puStack76 = auStack208; - uVar2 = FUN_7f0bcac4((int)*(short *)(*(int *)(DAT_80025eac + 8) + 0xe) << 6); - uStack60 = (undefined4)uVar2; - loc_7F058030(auStack208,uVar2); - *(undefined4 *)(DAT_80025eac + 0xc) = uStack60; - uStack68 = 3; - uStack72 = 0; - uStack64 = uParm1; - FUN_7f074758(&puStack76,DAT_80025eac); - uVar1 = uStack64; - lVar4 = 0; - iVar5 = 0; - if (0 < *(short *)(*(int *)(DAT_80025eac + 8) + 0xe)) { - iVar3 = *(int *)(DAT_80025eac + 0xc); - while( true ) { - loc_7F058030(iVar3 + iVar5,auStack272); - FUN_7f059144(auStack272,*(int *)(DAT_80025eac + 0xc) + (int)lVar4 * 0x40); - lVar4 = (longlong)((int)lVar4 + 1); - iVar5 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_80025eac + 8) + 0xe) <= lVar4) break; - iVar3 = *(int *)(DAT_80025eac + 0xc); - } - } - return uVar1; -} - - - -void FUN_7f00d6fc(int iParm1) - -{ - DAT_80025e58 = 0x42fc0000; - DAT_80025e5c = (float)(iParm1 * 0x20 + 0xe2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00d728(undefined8 uParm1) - -{ - undefined4 uVar1; - undefined4 extraout_v0_hi; - undefined4 extraout_v0_hi_00; - undefined4 extraout_v0_hi_01; - undefined4 extraout_v0_hi_02; - undefined4 extraout_v0_hi_03; - undefined4 extraout_v0_hi_04; - undefined4 extraout_v0_hi_05; - undefined4 extraout_v0_hi_06; - undefined4 extraout_v0_hi_07; - undefined4 extraout_v0_hi_08; - undefined4 extraout_v0_hi_09; - undefined4 extraout_v0_hi_10; - undefined4 extraout_v0_hi_11; - undefined4 extraout_v0_hi_12; - undefined4 extraout_v0_hi_13; - undefined4 extraout_v0_hi_14; - undefined4 extraout_v0_hi_15; - undefined4 extraout_v0_hi_16; - undefined4 extraout_v0_hi_17; - undefined4 extraout_v0_hi_18; - undefined2 extraout_var; - undefined2 extraout_var_00; - undefined2 extraout_var_01; - undefined2 extraout_var_02; - undefined2 extraout_var_03; - undefined2 extraout_var_04; - undefined2 extraout_var_05; - undefined2 extraout_var_06; - undefined2 extraout_var_07; - undefined2 extraout_var_08; - undefined2 extraout_var_09; - undefined2 extraout_var_10; - undefined2 extraout_var_11; - undefined2 extraout_var_12; - undefined2 extraout_var_13; - undefined2 extraout_var_14; - undefined2 extraout_var_15; - undefined2 extraout_var_16; - undefined2 extraout_var_17; - undefined2 extraout_var_18; - undefined2 extraout_v0_lo; - undefined2 extraout_v0_lo_00; - undefined2 extraout_v0_lo_01; - undefined2 extraout_v0_lo_02; - undefined2 extraout_v0_lo_03; - undefined2 extraout_v0_lo_04; - undefined2 uVar2; - undefined2 extraout_v0_lo_05; - undefined2 extraout_v0_lo_06; - undefined2 extraout_v0_lo_07; - undefined2 extraout_v0_lo_08; - undefined2 extraout_v0_lo_09; - undefined2 extraout_v0_lo_10; - undefined2 extraout_v0_lo_11; - undefined2 extraout_v0_lo_12; - undefined2 extraout_v0_lo_13; - undefined2 extraout_v0_lo_14; - undefined2 extraout_v0_lo_15; - undefined2 extraout_v0_lo_16; - undefined2 extraout_v0_lo_17; - undefined2 extraout_v0_lo_18; - undefined8 uVar3; - undefined8 uVar4; - undefined4 uStack24; - undefined auStack20 [4]; - int iStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - FUN_70004120(uParm1,0,0,0); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_00,extraout_var_00),extraout_v0_lo_00)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_01,extraout_var_01),extraout_v0_lo_01)); - FUN_7f00d4e8(CONCAT62(CONCAT42(extraout_v0_hi_02,extraout_var_02),extraout_v0_lo_02)); - loc_7F0ACED4(CONCAT62(CONCAT42(extraout_v0_hi_03,extraout_var_03),extraout_v0_lo_03)); - uStack8 = 0x96; - uStack12 = 0xdc; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_04,extraout_var_04),extraout_v0_lo_04),&uStack8, - &uStack12,s_1__800478e4,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - uVar4 = CONCAT62(CONCAT42(extraout_v0_hi_05,extraout_var_05),extraout_v0_lo_05); - if (DAT_80025e50 == 0) { - uVar3 = 0x9c1d; - } - else { - uVar3 = 0x9c75; - } - FUN_7f0c12b8(uVar3); - uStack4 = CONCAT22(extraout_var_06,extraout_v0_lo_06); - loc_7F0AEB50(auStack20,&iStack16, - CONCAT62(CONCAT42(extraout_v0_hi_06,extraout_var_06),extraout_v0_lo_06),DAT_8003ab08, - DAT_8003ab04,0); - uStack8 = 0xaa; - uStack12 = 0xdc; - if (_DAT_800586c4 == 0) { - microcode_constructor_related_to_menus(uVar4,0x94,0xda,iStack16 + 0xaf,0xea,0x32); - uVar4 = CONCAT62(CONCAT42(extraout_v0_hi_07,extraout_var_07),extraout_v0_lo_07); - } - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar4,&uStack8,&uStack12,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - uStack8 = 0x96; - uStack12 = 0xfc; - FUN_7000a718(); - if (CONCAT62(CONCAT42(extraout_v0_hi_09,extraout_var_09),extraout_v0_lo_09) < 2) { - uStack24 = 0x70; - } - else { - uStack24 = 0xff; - } - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_08,extraout_var_08),extraout_v0_lo_08),&uStack8, - &uStack12,s_2__800478e8,DAT_8003ab08,DAT_8003ab04,uStack24,uVar2,uVar1,0,0); - uVar4 = CONCAT62(CONCAT42(extraout_v0_hi_10,extraout_var_10),extraout_v0_lo_10); - uVar3 = 0x9c1e; - if (DAT_80025e54 != 0) { - uVar3 = 0x9d14; - } - FUN_7f0c12b8(uVar3); - uStack4 = CONCAT22(extraout_var_11,extraout_v0_lo_11); - loc_7F0AEB50(auStack20,&iStack16, - CONCAT62(CONCAT42(extraout_v0_hi_11,extraout_var_11),extraout_v0_lo_11),DAT_8003ab08, - DAT_8003ab04,0); - uStack8 = 0xaa; - uStack12 = 0xfc; - if (_DAT_800586c4 == 1) { - microcode_constructor_related_to_menus(uVar4,0x94,0xfa,iStack16 + 0xaf,0x10a,0x32); - uVar4 = CONCAT62(CONCAT42(extraout_v0_hi_12,extraout_var_12),extraout_v0_lo_12); - } - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar4,&uStack8,&uStack12,uStack4,DAT_8003ab08,DAT_8003ab04,uStack24,uVar2,uVar1,0,0); - uVar4 = CONCAT62(CONCAT42(extraout_v0_hi_13,extraout_var_13),extraout_v0_lo_13); - if (DAT_80025e9c != 0) { - uStack8 = 0x96; - uStack12 = 0x11c; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar4,&uStack8,&uStack12,s_3__800478ec,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0 - ,0); - uVar4 = CONCAT62(CONCAT42(extraout_v0_hi_14,extraout_var_14),extraout_v0_lo_14); - FUN_7f0c12b8(0x9c1f); - uStack4 = CONCAT22(extraout_var_15,extraout_v0_lo_15); - loc_7F0AEB50(auStack20,&iStack16, - CONCAT62(CONCAT42(extraout_v0_hi_15,extraout_var_15),extraout_v0_lo_15), - DAT_8003ab08,DAT_8003ab04,0); - uStack8 = 0xaa; - uStack12 = 0x11c; - if (_DAT_800586c4 == 2) { - microcode_constructor_related_to_menus(uVar4,0x94,0x11a,iStack16 + 0xaf,0x12a,0x32); - uVar4 = CONCAT62(CONCAT42(extraout_v0_hi_16,extraout_var_16),extraout_v0_lo_16); - } - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar4,&uStack8,&uStack12,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - uVar4 = CONCAT62(CONCAT42(extraout_v0_hi_17,extraout_var_17),extraout_v0_lo_17); - } - FUN_7f00a138(uVar4); - FUN_7f009e08(CONCAT62(CONCAT42(extraout_v0_hi_18,extraout_var_18),extraout_v0_lo_18)); - return; -} - - - -int FUN_7f00dbd0(undefined *puParm1) - -{ - undefined **ppuVar1; - int iVar2; - undefined *puVar3; - - ppuVar1 = &PTR_s_1_80026134; - iVar2 = 0; - puVar3 = DAT_80026148; - if (DAT_80026138 != 0) { - while( true ) { - if (puParm1 == puVar3) { - return iVar2; - } - iVar2 += 1; - if (*(short *)(ppuVar1 + 8) == 0) break; - puVar3 = ppuVar1[0xc]; - ppuVar1 = ppuVar1 + 7; - } - } - return 0xffffffff; -} - - - -undefined8 FUN_7f00dc1c(int iParm1,undefined8 uParm2) - -{ - undefined8 uVar1; - - if ((int)(&DAT_80026148)[iParm1 * 7] < 0) { - uVar1 = 0; - } - else { - uVar1 = loc_7F01E4E0(DAT_80025e38,(&DAT_80026148)[iParm1 * 7],uParm2); - } - return uVar1; -} - - - -int FUN_7f00dc70(undefined8 uParm1) - -{ - int iVar2; - longlong lVar1; - int iVar3; - - iVar2 = FUN_7f00dbd0(); - iVar3 = 2; - if (-1 < (int)(&DAT_8002613c)[iVar2 * 7]) { - lVar1 = FUN_7f01f300(DAT_80025e38); - if (lVar1 == 0) { - lVar1 = FUN_7f090488(); - if (lVar1 != 0) { - iVar3 = 3; - } - } - else { - iVar3 = 3; - } - if (true) { - do { - lVar1 = loc_7F01E4E0(DAT_80025e38,uParm1,iVar3); - if (DAT_80025e50 == 0) { - if (lVar1 != 0) { - return iVar3; - } - } - else { - if (lVar1 == 3) { - return iVar3; - } - } - iVar3 += -1; - } while (-1 < iVar3); - } - } - return 0xffffffff; -} - - - -void FUN_7f00dd60(void) - -{ - DAT_80025e44 = 0xffffffff; - DAT_80025e48 = 0xffffffff; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - if (DAT_80025e8c != 0) { - FUN_700062dc(0x17); - DAT_80025e8c = 0; - } - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f00ddc0(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F00E3C0(void) - -{ - bool bVar1; - int iVar2; - longlong lVar3; - int *piVar5; - int iVar6; - undefined8 uVar4; - undefined4 *puVar7; - undefined4 *puVar8; - int iVar9; - int iVar10; - int iVar11; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b6c); - FUN_700040a0(0x42c80000,DAT_80047b70); - FUN_70003f84(0); - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,0x13,1); - loc_7F00B7FC(DAT_80025eac,0x14,1); - DAT_80025e34 = 0; - _DAT_800586c4 = -1; - lVar3 = FUN_7f00a29c(); - iVar11 = 0; - if (lVar3 == 0) { - bVar1 = true; - while (((bVar1 && ((float)((&DAT_80026524)[iVar11] + (&DAT_80026520)[iVar11]) * 0.50000000 <= - DAT_80025e58)) && (iVar11 += 1, iVar11 != 5))) { - bVar1 = iVar11 < 4; - } - iVar6 = 0; - bVar1 = true; - while (((bVar1 && ((float)((&DAT_80026538)[iVar6] + (&DAT_80026534)[iVar6]) * 0.50000000 <= - DAT_80025e5c)) && (iVar6 += 1, iVar6 != 4))) { - bVar1 = iVar6 < 3; - } - if (0 < iVar6) { - iVar2 = iVar6 * 5; - do { - iVar10 = 0; - iVar9 = iVar2; - do { - lVar3 = FUN_7f00dc70(iVar9); - if (-1 < lVar3) break; - iVar10 += 1; - iVar9 += 1; - } while (iVar10 != 5); - if (iVar10 < 5) break; - iVar6 += -1; - iVar2 += -5; - } while (0 < iVar6); - } - iVar6 *= 5; - if (-1 < iVar11) { - iVar2 = iVar6 + iVar11; - do { - lVar3 = FUN_7f00dc70(iVar2); - if (-1 < lVar3) break; - iVar11 += -1; - iVar2 += -1; - } while (-1 < iVar11); - } - if (iVar11 < 0) { - iVar11 = 0; - iVar2 = iVar6; - do { - lVar3 = FUN_7f00dc70(iVar2); - if (-1 < lVar3) break; - iVar11 += 1; - iVar2 += 1; - } while (iVar11 != 5); - } - _DAT_800586c4 = iVar6 + iVar11; - } - else { - DAT_80025e34 = 1; - } - iVar11 = *(int *)(*(int *)(*(int *)(DAT_80025eac + 8) + 8) + 0x54); - if (iVar11 != 0) { - iVar11 = *(int *)(iVar11 + 4); - piVar5 = (int *)loc_7F06C888(); - iVar6 = FUN_7f0bca74(*(undefined2 *)(iVar11 + 0xc)); - *piVar5 = iVar6; - lVar3 = 0; - iVar6 = 0; - if (0 < *(short *)(iVar11 + 0xc)) { - iVar2 = *(int *)(iVar11 + 8); - while( true ) { - puVar8 = (undefined4 *)(iVar2 + iVar6); - puVar7 = (undefined4 *)(*piVar5 + iVar6); - *puVar7 = *puVar8; - puVar7[1] = puVar8[1]; - puVar7[2] = puVar8[2]; - puVar7[3] = puVar8[3]; - iVar9 = (int)lVar3; - iVar2 = iVar9; - if (lVar3 < 0) { - iVar2 = iVar9 + 3; - } - lVar3 = FUN_7f00dc70(); - if (lVar3 < 0) { - *(undefined *)(*piVar5 + iVar6 + 0xc) = 0xf; - *(undefined *)(*piVar5 + iVar6 + 0xd) = 0xf; - *(undefined *)(*piVar5 + iVar6 + 0xe) = 0xf; - *(undefined *)(*piVar5 + iVar6 + 0xf) = 0xff; - } - else { - if (iVar2 >> 2 == _DAT_800586c4) { - *(undefined *)(*piVar5 + iVar6 + 0xc) = 0xff; - *(undefined *)(*piVar5 + iVar6 + 0xd) = 0xff; - *(undefined *)(*piVar5 + iVar6 + 0xe) = 0xff; - *(undefined *)(*piVar5 + iVar6 + 0xf) = 0xf5; - } - else { - *(undefined *)(*piVar5 + iVar6 + 0xc) = 0x6e; - *(undefined *)(*piVar5 + iVar6 + 0xd) = 0x6e; - *(undefined *)(*piVar5 + iVar6 + 0xe) = 0x6e; - *(undefined *)(*piVar5 + iVar6 + 0xf) = 0xff; - } - } - lVar3 = (longlong)(iVar9 + 1); - iVar6 += 0x10; - if ((longlong)*(short *)(iVar11 + 0xc) <= lVar3) break; - iVar2 = *(int *)(iVar11 + 8); - } - } - } - lVar3 = FUN_7000b120(0,0xb000); - if (lVar3 == 0) { - lVar3 = FUN_7000b120(0,0x4000); - if (lVar3 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e34 == 0) { - if (-1 < _DAT_800586c4) { - DAT_80025e48 = FUN_7f00dbd0(); - DAT_80025e44 = (&DAT_8002613c)[DAT_80025e48 * 7]; - DAT_80025e24 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - FUN_7f009a84(); - if (DAT_80025e24 == 0) { - if (DAT_80025e28 != 0) { - FUN_7f01a438(6,0); - FUN_7f00d6fc(0); - } - } - else { - FUN_7f01a438(8,0); - if (DAT_80041150 == 0) { - uVar4 = FUN_7f00dc70((&DAT_80026148)[DAT_80025e48 * 7]); - set_cursor_pos_difficulty(uVar4); - } - else { - set_cursor_pos_difficulty(0); - } - } - return; -} - - - -void FUN_7f00e310(longlong lParm1) - -{ - if (false) { - trap(0x1c00); - } - if ((false) && (lParm1 == -0x80000000)) { - trap(0x1800); - } - DAT_80025e58 = (float)(&DAT_80026520)[(int)lParm1 % 5]; - DAT_80025e5c = (float)(&DAT_80026534)[(int)lParm1 / 5]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F00E71C(undefined8 uParm1) - -{ - byte bVar1; - undefined8 uVar2; - undefined4 *puVar5; - int iVar6; - longlong lVar3; - undefined8 uVar4; - byte *pbVar7; - undefined2 uVar9; - undefined4 uVar8; - int iVar10; - uint uVar11; - int iVar12; - int *piVar13; - int iStack88; - undefined4 uStack84; - byte abStack80 [52]; - int iStack28; - int aiStack24 [4]; - int iStack8; - - uVar2 = FUN_70004120(uParm1,0,0,0); - puVar5 = (undefined4 *)FUN_70003948(uVar2); - puVar5[1] = 0xffffffff; - *puVar5 = 0xf8000000; - uVar2 = FUN_7f00d4e8(puVar5 + 2); - uVar2 = loc_7F0ACED4(uVar2); - iStack8 = 0; - do { - iVar12 = 0; - iVar10 = iStack8; - do { - iVar6 = FUN_7f00dbd0(iVar10); - lVar3 = FUN_7f00dc70(iVar10); - if (-1 < lVar3) { - uVar11 = 0x96969600; - piVar13 = &DAT_80026520 + iStack8; - if (iVar10 == _DAT_800586c4) { - uVar11 = 0xffffff00; - } - if ((&DAT_8002613a)[iVar6 * 0xe] == 0) { - uVar4 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_80026138)[iVar6 * 0xe]); - strtol(abStack80,uVar4); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_8002613a)[iVar6 * 0xe]); - strtol(abStack80,uVar4); - } - if (DAT_80041150 == 0) { - iVar6 = locret_7001389C(abStack80); - pbVar7 = abStack80 + iVar6 + -1; - if (-1 < iVar6 + -1) { - bVar1 = *pbVar7; - while( true ) { - if (0x60 < bVar1) { - *pbVar7 = bVar1 - 0x20; - } - pbVar7 = pbVar7 + -1; - if (pbVar7 < abStack80) break; - bVar1 = *pbVar7; - } - } - } - locret_7000A844(abStack80,s__800478f0); - iStack28 = 0; - aiStack24[0] = 0; - loc_7F0AEB50(aiStack24,&iStack28,abStack80,DAT_8003ab00,DAT_8003aafc,0); - iStack88 = ((&DAT_80026534)[iVar12] - aiStack24[0]) + 0x1d; - uStack84 = *piVar13 + -0x1f; - uVar2 = microcode_constructor_related_to_menus - (uVar2,uStack84,iStack88,uStack84 + iStack28,iStack88 + aiStack24[0],0); - uVar9 = FUN_70003e6c(); - uVar8 = FUN_70003e7c(); - uVar2 = loc_7F0ADD78(uVar2,&uStack84,&iStack88,abStack80,DAT_8003ab00,DAT_8003aafc, - uVar11 | 0xff,uVar9,uVar8,0,0); - iStack88 = ((&DAT_80026534)[iVar12] - aiStack24[0]) + 0x1d; - uStack84 = *piVar13 + -0x1f; - uVar9 = FUN_70003e6c(); - uVar8 = FUN_70003e7c(); - uVar2 = loc_7F0ADD78(uVar2,&uStack84,&iStack88,abStack80,DAT_8003ab00,DAT_8003aafc, - uVar11 | 100,uVar9,uVar8,0,0); - } - iVar12 += 1; - iVar10 += 5; - } while (iVar12 != 4); - iStack8 += 1; - } while (iStack8 != 5); - uVar2 = FUN_7f00a138(uVar2); - FUN_7f009e08(uVar2); - return; -} - - - -void FUN_7f00e6b0(void) - -{ - DAT_80025e4c = 0xffffffff; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f00e6e8(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00e6f0(void) - -{ - int iVar2; - longlong lVar1; - - iVar2 = FUN_7f00dc70((&DAT_80026148)[DAT_80025e48 * 7]); - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b74); - FUN_700040a0(0x42c80000,DAT_80047b78); - FUN_70003f84(0); - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,1,1); - loc_7F00B7FC(DAT_80025eac,3,1); - loc_7F00B7FC(DAT_80025eac,4,1); - DAT_80025e34 = 0; - _DAT_800586c4 = -1; - lVar1 = FUN_7f00a29c(); - if (lVar1 == 0) { - if ((iVar2 < 3) || (DAT_80025e5c < DAT_80047b7c)) { - if ((iVar2 < 2) || (DAT_80025e5c < 243.00000000)) { - if (iVar2 < 1) { - _DAT_800586c4 = 0; - } - else { - if (211.00000000 <= DAT_80025e5c) { - _DAT_800586c4 = 1; - } - else { - _DAT_800586c4 = 0; - } - } - } - else { - _DAT_800586c4 = 2; - } - } - else { - _DAT_800586c4 = 3; - } - } - else { - DAT_80025e34 = 1; - } - lVar1 = FUN_7000b120(0,0xb000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0x4000); - if (lVar1 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e34 == 0) { - if (-1 < _DAT_800586c4) { - DAT_80025e4c = _DAT_800586c4; - DAT_80025e24 = 1; - FUN_70008268(_DAT_80056900,0x4d,0); - } - } - else { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - FUN_7f009a84(); - if (DAT_80025e24 == 0) { - if (DAT_80025e28 != 0) { - FUN_7f01a438(7,0); - FUN_7f00e310((&DAT_80026148)[DAT_80025e48 * 7]); - } - } - else { - if (DAT_80025e4c == 3) { - FUN_7f01a438(9,0); - FUN_7f00a2f0(); - } - else { - FUN_7f01a438(10,0); - FUN_7f00a2f0(); - } - } - return; -} - - - -void FUN_7f00e9ec(undefined4 uParm1,undefined8 uParm2) - -{ - undefined4 uVar1; - undefined4 extraout_v0_hi; - undefined4 extraout_v0_hi_00; - undefined4 extraout_v0_hi_01; - undefined4 extraout_v0_hi_02; - undefined4 extraout_v0_hi_03; - undefined4 extraout_v0_hi_04; - undefined4 extraout_v0_hi_05; - undefined2 extraout_var; - undefined2 extraout_var_00; - undefined2 extraout_var_01; - undefined2 extraout_var_02; - undefined2 extraout_var_03; - undefined2 extraout_var_04; - undefined2 extraout_var_05; - undefined2 extraout_v0_lo; - undefined2 extraout_v0_lo_00; - undefined2 uVar2; - undefined2 extraout_v0_lo_01; - undefined2 extraout_v0_lo_02; - undefined2 extraout_v0_lo_03; - undefined2 extraout_v0_lo_04; - undefined2 extraout_v0_lo_05; - undefined4 local_res0; - undefined4 local_8; - undefined4 local_4; - - local_res0 = uParm1; - if (-1 < DAT_80025e4c) { - loc_7F00C3F8(DAT_80025e4c); - strtol(uParm2,CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo)); - FUN_7f0c12b8(0x9c20); - locret_7000A844(uParm2,CONCAT62(CONCAT42(extraout_v0_hi_00,extraout_var_00),extraout_v0_lo_00)); - local_4 = 0x37; - local_8 = 0x57; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - local_res0 = FUN_7f009660(uParm1,&local_4,&local_8,uParm2,DAT_8003ab08,DAT_8003ab04,0xff,uVar2, - uVar1,0,0); - } - FUN_7f00ba1c(DAT_80025e48); - if (-1 < CONCAT62(CONCAT42(extraout_v0_hi_01,extraout_var_01),extraout_v0_lo_01)) { - FUN_7f0c12b8(0x9c21); - strtol(uParm2,CONCAT62(CONCAT42(extraout_v0_hi_02,extraout_var_02),extraout_v0_lo_02)); - locret_7000A844(uParm2,(&PTR_s_1_80026134)[CONCAT22(extraout_var_01,extraout_v0_lo_01) * 7]); - locret_7000A844(uParm2,s___800478f4); - FUN_7f0c12b8((ulonglong) - (ushort)(&DAT_80026138)[CONCAT22(extraout_var_01,extraout_v0_lo_01) * 0xe]); - locret_7000A844(uParm2,CONCAT62(CONCAT42(extraout_v0_hi_03,extraout_var_03),extraout_v0_lo_03)); - locret_7000A844(uParm2,s__800478f8); - local_4 = 0x37; - local_8 = 0x67; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - local_res0 = FUN_7f009660(local_res0,&local_4,&local_8,uParm2,DAT_8003ab08,DAT_8003ab04,0xff, - uVar2,uVar1,0,0); - } - FUN_7f0c12b8(0x9c22); - strtol(uParm2,CONCAT62(CONCAT42(extraout_v0_hi_04,extraout_var_04),extraout_v0_lo_04)); - locret_7000A844(uParm2,(&PTR_s_1_80026134)[DAT_80025e48 * 7]); - locret_7000A844(uParm2,s___800478fc); - FUN_7f0c12b8((ulonglong)(ushort)(&DAT_80026138)[DAT_80025e48 * 0xe]); - locret_7000A844(uParm2,CONCAT62(CONCAT42(extraout_v0_hi_05,extraout_var_05),extraout_v0_lo_05)); - locret_7000A844(uParm2,s__80047900); - local_4 = 0x37; - local_8 = 0x77; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(local_res0,&local_4,&local_8,uParm2,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - return; -} - - - -void set_cursor_pos_difficulty(int iParm1) - -{ - DAT_80025e58 = 0x42d40000; - DAT_80025e5c = (float)(iParm1 * 0x1e + 0xba); - return; -} - - - -// WARNING: Instruction at (ram,0x7f00f0c8) overlaps instruction at (ram,0x7f00f0c4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00ecc8(undefined4 uParm1) - -{ - undefined8 uVar1; - short sVar4; - undefined4 uVar3; - undefined2 uVar5; - longlong lVar2; - int iVar6; - int iVar7; - int iVar8; - undefined4 uStackX0; - undefined4 uVar9; - undefined4 uVar10; - undefined4 uVar11; - undefined4 uVar12; - float fStack3048; - float fStack3044; - undefined4 uStack3040; - float fStack3036; - undefined auStack3032 [4]; - int iStack3028; - undefined *puStack3024; - undefined auStack3020 [3000]; - int iStack20; - int aiStack16 [2]; - int iStack8; - - uStackX0 = uParm1; - iStack8 = FUN_7f00dc70((&DAT_80026148)[DAT_80025e48 * 7]); - uVar1 = FUN_70004120(uStackX0,0,0,0); - uStackX0 = (undefined4)uVar1; - uVar1 = FUN_70003948(uVar1); - uStackX0 = (undefined4)uVar1; - uVar1 = FUN_70003948(uVar1); - uStackX0 = (undefined4)uVar1; - uVar1 = FUN_70003948(uVar1); - uStackX0 = (undefined4)uVar1; - uVar1 = FUN_7f00d4e8(uVar1); - uStackX0 = (undefined4)uVar1; - uVar1 = loc_7F0ACED4(uVar1); - uStackX0 = (undefined4)uVar1; - uStackX0 = FUN_7f00e9ec(uVar1,auStack3020); - uVar1 = FUN_7f0c12b8(0x9c23); - aiStack16[0] = 0x37; - iStack20 = 0x8f; - sVar4 = FUN_70003e6c(); - iVar6 = (int)sVar4; - uVar3 = FUN_70003e7c(); - uVar10 = 0xff; - uVar11 = 0; - uVar12 = 0; - uVar9 = DAT_8003ab04; - uStackX0 = FUN_7f009660(uStackX0,aiStack16,&iStack20,uVar1,DAT_8003ab08,DAT_8003ab04,0xff,iVar6, - uVar3,0,0); - if (-1 < _DAT_800586c4) { - if (DAT_80041150 == 0) { - iVar7 = 0; - } - else { - iVar7 = 0x32; - } - uVar9 = 0x32; - uStackX0 = microcode_constructor_related_to_menus - (uStackX0,0x7e - iVar7,_DAT_800586c4 * 0x1e + 0xb2,0xf0, - _DAT_800586c4 * 0x1e + 0xc3,0x32); - } - iVar7 = 0; - do { - if ((iVar7 == 0) || (iVar7 <= iStack8)) { - iVar8 = iVar7 * 0x1e + 0xb4; - if (DAT_80041150 == 0) { - puStack3024 = auStack3020; - FUN_7000a0f4(puStack3024,s__d__80047904,iVar7 + 1); - } - else { - if (iVar7 == 0) { - puStack3024 = (undefined *)FUN_7f0c12b8(0x9d09); - } - else { - if (iVar7 == 1) { - puStack3024 = (undefined *)FUN_7f0c12b8(0x9d0a); - } - else { - if (iVar7 == 2) { - puStack3024 = (undefined *)FUN_7f0c12b8(0x9d0b); - } - else { - if (iVar7 == 3) { - puStack3024 = (undefined *)FUN_7f0c12b8(0x9d0c); - } - } - } - } - } - loc_7F0AEB50(auStack3032,&iStack3028,puStack3024,DAT_8003ab08,DAT_8003ab04,0,uVar10,iVar6, - uVar3,uVar11,uVar12); - aiStack16[0] = 0; - if (DAT_80041150 != 0) { - aiStack16[0] = iStack3028 + -10; - } - aiStack16[0] = 0x82 - aiStack16[0]; - iStack20 = iVar8; - uVar5 = FUN_70003e6c(); - uVar9 = FUN_70003e7c(); - uStackX0 = FUN_7f009660(uStackX0,aiStack16,&iStack20,puStack3024,DAT_8003ab08,DAT_8003ab04, - 0xff,uVar5,uVar9,0,0); - if (iVar7 == 0) { - puStack3024 = (undefined *)FUN_7f0c12b8(0x9c24); - } - else { - if (iVar7 == 1) { - puStack3024 = (undefined *)FUN_7f0c12b8(0x9c25); - } - else { - if (iVar7 == 2) { - puStack3024 = (undefined *)FUN_7f0c12b8(0x9c26); - } - else { - if (iVar7 == 3) { - puStack3024 = (undefined *)FUN_7f0c12b8(0x9c27); - } - } - } - } - aiStack16[0] = 0x96; - iStack20 = iVar8; - sVar4 = FUN_70003e6c(); - iVar6 = (int)sVar4; - uVar3 = FUN_70003e7c(); - uVar10 = 0xff; - uVar11 = 0; - uVar12 = 0; - uVar9 = DAT_8003ab04; - uStackX0 = FUN_7f009660(uStackX0,aiStack16,&iStack20,puStack3024,DAT_8003ab08,DAT_8003ab04); - } - iVar7 += 1; - } while (iVar7 < 4); - uStackX0 = FUN_7f00a138(uStackX0); - iVar7 = 0; - do { - if (((iVar7 == 0) || (iVar7 <= iStack8)) && - (lVar2 = FUN_7f00dc1c(DAT_80025e48,iVar7), iVar8 = _DAT_80074508, lVar2 == 3)) { - fStack3036 = (float)(iVar7 * 0x1e + 0xba); - uStack3040 = 0x438c0000; - fStack3048 = (float)(uint)*(byte *)(_DAT_80074508 + 0x34); - if (false) { - fStack3048 = fStack3048 + 4294967296.00000000; - } - fStack3048 = fStack3048 * 0.50000000; - fStack3044 = (float)(uint)*(byte *)(_DAT_80074508 + 0x35); - if (false) { - fStack3044 = fStack3044 + 4294967296.00000000; - } - fStack3044 = fStack3044 * 0.50000000; - loc_7F077B80(register0x000000ec,_DAT_80074508 + 0x30,4,0,0,uVar9,uVar10,iVar6,uVar3,uVar11, - uVar12); - uVar3 = 0xb4; - iVar6 = 1; - uVar12 = 0; - uVar11 = 0; - uVar10 = 0; - uVar9 = 0; - loc_7F06B108(register0x000000ec,&uStack3040,&fStack3048,(ulonglong)*(byte *)(iVar8 + 0x34), - (uint)*(byte *)(iVar8 + 0x35)); - } - iVar7 += 1; - } while (iVar7 != 3); - FUN_7f009e08(uStackX0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00f214(void) - -{ - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - _DAT_800586d4 = 0; - _DAT_800586d8 = 0; - _DAT_800586dc = 0; - _DAT_800586e0 = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f00f280(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00f288(void) - -{ - longlong lVar1; - float fVar2; - float fVar3; - int iVar4; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047b80); - FUN_700040a0(0x42c80000,DAT_80047b84); - FUN_70003f84(0); - lVar1 = FUN_7000b080(0,0xa000); - if (lVar1 == 0) { - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - _DAT_800586d4 = 0; - _DAT_800586d8 = 0; - _DAT_800586dc = 0; - _DAT_800586e0 = 0; - lVar1 = FUN_7f00a29c(); - if (lVar1 == 0) { - lVar1 = FUN_7f00a478(); - if (lVar1 == 0) { - lVar1 = FUN_7f00a0e4(); - if (lVar1 == 0) { - iVar4 = (int)DAT_80025e5c; - if (iVar4 < 0x107) { - if (iVar4 < 0xe6) { - if (iVar4 < 0xc5) { - if (iVar4 < 0xa4) { - DAT_80025e30 = 1; - } - else { - _DAT_800586d8 = 1; - } - } - else { - _DAT_800586dc = 1; - } - } - else { - _DAT_800586e0 = 1; - } - } - else { - _DAT_800586d4 = 1; - } - } - else { - DAT_80025e2c = 1; - } - } - else { - DAT_80025e30 = 1; - } - } - else { - DAT_80025e34 = 1; - } - } - lVar1 = FUN_7000b120(0,0x1000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0xa000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0x4000); - if (lVar1 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e30 == 0) { - if (DAT_80025e34 == 0) { - if (DAT_80025e2c != 0) { - DAT_80025e20 = 1; - } - } - else { - DAT_80025e28 = 1; - } - } - else { - DAT_80025e24 = 1; - } - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - DAT_80025e20 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - lVar1 = FUN_7000b080(0,0xa000); - fVar2 = DAT_80025ef0; - if (lVar1 != 0) { - fVar3 = 1.00000000; - fVar2 = (DAT_80025e58 - 55.00000000) / 300.00000000; - if (fVar2 <= 1.00000000) { - fVar3 = fVar2; - } - if (fVar3 < 0.00000000) { - fVar3 = 0.00000000; - } - fVar2 = fVar3; - if (_DAT_800586d4 == 0) { - if (_DAT_800586d8 == 0) { - if (_DAT_800586dc == 0) { - fVar2 = DAT_80025ef0; - if (_DAT_800586e0 != 0) { - DAT_80025efc = fVar3 * fVar3 * 10.00000000; - fVar2 = DAT_80025ef0; - } - } - else { - DAT_80025ef8 = fVar3 * fVar3 * 10.00000000; - fVar2 = DAT_80025ef0; - } - } - else { - DAT_80025ef4 = fVar3 * fVar3 * 10.00000000; - fVar2 = DAT_80025ef0; - } - } - } - DAT_80025ef0 = fVar2; - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,1,1); - loc_7F00B7FC(DAT_80025eac,3,1); - loc_7F00B7FC(DAT_80025eac,6,1); - FUN_7f009a84(); - if (DAT_80025e20 == 0) { - if (DAT_80025e24 == 0) { - if (DAT_80025e28 != 0) { - FUN_7f01a438(8,0); - set_cursor_pos_difficulty(DAT_80025e4c); - } - } - else { - FUN_7f01a438(10,0); - } - } - else { - FUN_7f01a438(0xb,1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00f6ac(undefined8 uParm1) - -{ - undefined4 uVar1; - undefined4 extraout_v0_hi; - undefined4 extraout_v0_hi_00; - undefined4 extraout_v0_hi_01; - undefined4 extraout_v0_hi_02; - undefined4 extraout_v0_hi_03; - undefined4 extraout_v0_hi_04; - undefined4 extraout_v0_hi_05; - undefined4 extraout_v0_hi_06; - undefined4 extraout_v0_hi_07; - undefined4 extraout_v0_hi_08; - undefined4 extraout_v0_hi_09; - undefined4 extraout_v0_hi_10; - undefined4 extraout_v0_hi_11; - undefined4 extraout_v0_hi_12; - undefined4 extraout_v0_hi_13; - undefined4 extraout_v0_hi_14; - undefined4 extraout_v0_hi_15; - undefined4 extraout_v0_hi_16; - undefined4 extraout_v0_hi_17; - undefined4 extraout_v0_hi_18; - undefined4 extraout_v0_hi_19; - undefined4 extraout_v0_hi_20; - undefined4 extraout_v0_hi_21; - undefined4 extraout_v0_hi_22; - undefined4 extraout_v0_hi_23; - undefined4 extraout_v0_hi_24; - undefined4 extraout_v0_hi_25; - undefined4 extraout_v0_hi_26; - undefined4 extraout_v0_hi_27; - undefined4 extraout_v0_hi_28; - undefined4 extraout_v0_hi_29; - undefined2 extraout_var; - undefined2 extraout_var_00; - undefined2 extraout_var_01; - undefined2 extraout_var_02; - undefined2 extraout_var_03; - undefined2 extraout_var_04; - undefined2 extraout_var_05; - undefined2 extraout_var_06; - undefined2 extraout_var_07; - undefined2 extraout_var_08; - undefined2 extraout_var_09; - undefined2 extraout_var_10; - undefined2 extraout_var_11; - undefined2 extraout_var_12; - undefined2 extraout_var_13; - undefined2 extraout_var_14; - undefined2 extraout_var_15; - undefined2 extraout_var_16; - undefined2 extraout_var_17; - undefined2 extraout_var_18; - undefined2 extraout_var_19; - undefined2 extraout_var_20; - undefined2 extraout_var_21; - undefined2 extraout_var_22; - undefined2 extraout_var_23; - undefined2 extraout_var_24; - undefined2 extraout_var_25; - undefined2 extraout_var_26; - undefined2 extraout_var_27; - undefined2 extraout_var_28; - undefined2 extraout_var_29; - undefined2 extraout_v0_lo; - undefined2 extraout_v0_lo_00; - undefined2 extraout_v0_lo_01; - undefined2 extraout_v0_lo_02; - undefined2 extraout_v0_lo_03; - undefined2 extraout_v0_lo_04; - undefined2 extraout_v0_lo_05; - undefined2 uVar2; - undefined2 extraout_v0_lo_06; - undefined2 extraout_v0_lo_07; - undefined2 extraout_v0_lo_08; - undefined2 extraout_v0_lo_09; - undefined2 extraout_v0_lo_10; - undefined2 extraout_v0_lo_11; - undefined2 extraout_v0_lo_12; - undefined2 extraout_v0_lo_13; - undefined2 extraout_v0_lo_14; - undefined2 extraout_v0_lo_15; - undefined2 extraout_v0_lo_16; - undefined2 extraout_v0_lo_17; - undefined2 extraout_v0_lo_18; - undefined2 extraout_v0_lo_19; - undefined2 extraout_v0_lo_20; - undefined2 extraout_v0_lo_21; - undefined2 extraout_v0_lo_22; - undefined2 extraout_v0_lo_23; - undefined2 extraout_v0_lo_24; - undefined2 extraout_v0_lo_25; - undefined2 extraout_v0_lo_26; - undefined2 extraout_v0_lo_27; - undefined2 extraout_v0_lo_28; - undefined2 extraout_v0_lo_29; - undefined8 uVar3; - float fVar4; - int iStack3020; - undefined4 uStack3016; - undefined auStack3012 [3000]; - int iStack12; - int iStack8; - undefined4 uStack4; - - FUN_70004120(uParm1,0,0,0); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_00,extraout_var_00),extraout_v0_lo_00)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_01,extraout_var_01),extraout_v0_lo_01)); - FUN_7f00d4e8(CONCAT62(CONCAT42(extraout_v0_hi_02,extraout_var_02),extraout_v0_lo_02)); - loc_7F0ACED4(CONCAT62(CONCAT42(extraout_v0_hi_03,extraout_var_03),extraout_v0_lo_03)); - FUN_7f00e9ec(CONCAT62(CONCAT42(extraout_v0_hi_04,extraout_var_04),extraout_v0_lo_04),auStack3012); - uStack4 = FUN_7f0c12b8(0x9c28); - iStack8 = 0x37; - iStack12 = 0x8f; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_05,extraout_var_05),extraout_v0_lo_05),&iStack8, - &iStack12,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - uStack4 = FUN_7f0c12b8(0x9c2a); - iStack8 = 0x39; - iStack12 = 0xa4; - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_06,extraout_var_06),extraout_v0_lo_06),0x37,0xb5,0x163 - ,0xc0,0x32); - fVar4 = (float)sqrtf(DAT_80025ef4 / 10.00000000); - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_07,extraout_var_07),extraout_v0_lo_07),0x37, - iStack12 + 0x11,(int)(fVar4 * 300.00000000) + 0x37,iStack12 + 0x1c,100); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi_08,extraout_var_08),extraout_v0_lo_08); - if (_DAT_800586d8 != 0) { - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_08,extraout_var_08),extraout_v0_lo_08),0x37, - iStack12 + -1,199,iStack12 + 0xe,0x32); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi_09,extraout_var_09),extraout_v0_lo_09); - } - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar3,&iStack8,&iStack12,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - FUN_7000a0f4(auStack3012,s__d___8004790c,(int)(DAT_80025ef4 * 100.00000000)); - iStack3020 = 0; - uStack3016 = 0; - loc_7F0AEB50(&uStack3016,&iStack3020,auStack3012,DAT_8003ab08,DAT_8003ab04,0); - iStack8 = 0x11d - iStack3020; - iStack12 = 0xa4; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_10,extraout_var_10),extraout_v0_lo_10),&iStack8, - &iStack12,auStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - uStack4 = FUN_7f0c12b8(0x9c2b); - iStack8 = 0x39; - iStack12 = 0xc5; - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_11,extraout_var_11),extraout_v0_lo_11),0x37,0xd6,0x163 - ,0xe1,0x32); - fVar4 = (float)sqrtf(DAT_80025ef8 / 10.00000000); - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_12,extraout_var_12),extraout_v0_lo_12),0x37, - iStack12 + 0x11,(int)(fVar4 * 300.00000000) + 0x37,iStack12 + 0x1c,100); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi_13,extraout_var_13),extraout_v0_lo_13); - if (_DAT_800586dc != 0) { - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_13,extraout_var_13),extraout_v0_lo_13),0x37, - iStack12 + -1,199,iStack12 + 0xe,0x32); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi_14,extraout_var_14),extraout_v0_lo_14); - } - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar3,&iStack8,&iStack12,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - FUN_7000a0f4(auStack3012,s__d___80047914,(int)(DAT_80025ef8 * 100.00000000)); - iStack3020 = 0; - uStack3016 = 0; - loc_7F0AEB50(&uStack3016,&iStack3020,auStack3012,DAT_8003ab08,DAT_8003ab04,0); - iStack8 = 0x11d - iStack3020; - iStack12 = 0xc5; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_15,extraout_var_15),extraout_v0_lo_15),&iStack8, - &iStack12,auStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - uStack4 = FUN_7f0c12b8(0x9c2c); - iStack8 = 0x39; - iStack12 = 0xe6; - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_16,extraout_var_16),extraout_v0_lo_16),0x37,0xf7,0x163 - ,0x102,0x32); - fVar4 = (float)sqrtf(DAT_80025efc / 10.00000000); - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_17,extraout_var_17),extraout_v0_lo_17),0x37, - iStack12 + 0x11,(int)(fVar4 * 300.00000000) + 0x37,iStack12 + 0x1c,100); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi_18,extraout_var_18),extraout_v0_lo_18); - if (_DAT_800586e0 != 0) { - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_18,extraout_var_18),extraout_v0_lo_18),0x37, - iStack12 + -1,199,iStack12 + 0xe,0x32); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi_19,extraout_var_19),extraout_v0_lo_19); - } - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar3,&iStack8,&iStack12,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - FUN_7000a0f4(auStack3012,s__d___8004791c,(int)(DAT_80025efc * 10.00000000)); - iStack3020 = 0; - uStack3016 = 0; - loc_7F0AEB50(&uStack3016,&iStack3020,auStack3012,DAT_8003ab08,DAT_8003ab04,0); - iStack8 = 0x11d - iStack3020; - iStack12 = 0xe6; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_20,extraout_var_20),extraout_v0_lo_20),&iStack8, - &iStack12,auStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - uStack4 = FUN_7f0c12b8(0x9c29); - iStack8 = 0x39; - iStack12 = 0x107; - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_21,extraout_var_21),extraout_v0_lo_21),0x37,0x118, - 0x163,0x123,0x32); - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_22,extraout_var_22),extraout_v0_lo_22),0x37, - iStack12 + 0x11,(int)(DAT_80025ef0 * 300.00000000 * 1.00000000) + 0x37,iStack12 + 0x1c, - 100); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi_23,extraout_var_23),extraout_v0_lo_23); - if (_DAT_800586d4 != 0) { - microcode_constructor_related_to_menus - (CONCAT62(CONCAT42(extraout_v0_hi_23,extraout_var_23),extraout_v0_lo_23),0x37, - iStack12 + -1,199,iStack12 + 0xe,0x32); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi_24,extraout_var_24),extraout_v0_lo_24); - } - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar3,&iStack8,&iStack12,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - FUN_7000a0f4(auStack3012,s__d___80047924,(int)(DAT_80025ef0 * 100.00000000)); - iStack3020 = 0; - uStack3016 = 0; - loc_7F0AEB50(&uStack3016,&iStack3020,auStack3012,DAT_8003ab08,DAT_8003ab04,0); - iStack8 = 0x11d - iStack3020; - iStack12 = 0x107; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_25,extraout_var_25),extraout_v0_lo_25),&iStack8, - &iStack12,auStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar2,uVar1,0,0); - FUN_7f009f80(CONCAT62(CONCAT42(extraout_v0_hi_26,extraout_var_26),extraout_v0_lo_26)); - FUN_7f00a138(CONCAT62(CONCAT42(extraout_v0_hi_27,extraout_var_27),extraout_v0_lo_27)); - FUN_7f00a314(CONCAT62(CONCAT42(extraout_v0_hi_28,extraout_var_28),extraout_v0_lo_28)); - FUN_7f009e08(CONCAT62(CONCAT42(extraout_v0_hi_29,extraout_var_29),extraout_v0_lo_29)); - return; -} - - - -undefined4 FUN_7f00ffac(int iParm1) - -{ - return *(undefined4 *)(&DAT_800586f8 + iParm1 * 4); -} - - - -undefined8 FUN_7f00ffc0(int iParm1) - -{ - undefined8 uVar1; - int iVar3; - longlong lVar2; - - iParm1 *= 0x18; - if (*(int *)(&DAT_800265d4 + iParm1) == 0) { - uVar1 = 0; - } - else { - iVar3 = FUN_7f010180(); - if (*(int *)(iParm1 + -0x7ffd9a28) < iVar3) { - uVar1 = 0; - } - else { - if (*(int *)(iParm1 + -0x7ffd9a30) == -1) { - uVar1 = 1; - } - else { - lVar2 = loc_7F01E4E0(DAT_80025e38,*(int *)(iParm1 + -0x7ffd9a30),0); - if (lVar2 == 0) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - } - } - return uVar1; -} - - - -void FUN_7f010060(void) - -{ - uint uVar1; - - if (DAT_80026a90 != 2) { - DAT_80026a88 = (int)(DAT_80026a88 + 1) % 7; - return; - } - uVar1 = DAT_80026a88 + 1 & 3; - if (((int)(DAT_80026a88 + 1) < 0) && (uVar1 != 0)) { - uVar1 -= 4; - } - DAT_80026a88 = uVar1; - return; -} - - - -void FUN_7f0100c8(void) - -{ - DAT_80068a6a = *(undefined *)(DAT_80026a8c * 4 + -0x7ffd959d); - DAT_80068a6b = *(undefined *)(DAT_80026a8c * 4 + -0x7ffd959e); - DAT_80068ada = DAT_80068a6a; - DAT_80068adb = DAT_80068a6b; - DAT_80068b4a = DAT_80068a6a; - DAT_80068b4b = DAT_80068a6b; - DAT_80068bba = DAT_80068a6a; - DAT_80068bbb = DAT_80068a6b; - return; -} - - - -void FUN_7f01012c(void) - -{ - uint uVar1; - - uVar1 = DAT_80026a8c + 1; - DAT_80026a8c = uVar1 & 3; - if (((int)uVar1 < 0) && (DAT_80026a8c != 0)) { - DAT_80026a8c -= 4; - } - FUN_7f0100c8(); - return; -} - - - -void FUN_7f010170(void) - -{ - DAT_800266e4 = 0x40; - return; -} - - - -undefined4 FUN_7f010180(void) - -{ - if (DAT_80025e40 == 1) { - return DAT_80026a70; - } - return 1; -} - - - -ulonglong FUN_7f0101ac(int iParm1) - -{ - if ((int)(&DAT_80026a74)[iParm1] < 0) { - return (ulonglong)(ushort)(&DAT_800266ee)[iParm1 * 6]; - } - return (ulonglong)(ushort)(&DAT_800266ee)[(&DAT_80026a74)[iParm1] * 6]; -} - - - -ulonglong FUN_7f0101fc(int iParm1) - -{ - if ((int)(&DAT_80026a74)[iParm1] < 0) { - return (ulonglong)(byte)(&DAT_800266ea)[iParm1 * 0xc]; - } - return (ulonglong)(byte)(&DAT_800266ea)[(&DAT_80026a74)[iParm1] * 0xc]; -} - - - -ulonglong FUN_7f01024c(int iParm1) - -{ - if ((int)(&DAT_80026a74)[iParm1] < 0) { - return (ulonglong)(ushort)(&DAT_800266ec)[iParm1 * 6]; - } - return (ulonglong)(ushort)(&DAT_800266ec)[(&DAT_80026a74)[iParm1] * 6]; -} - - - -void FUN_7f010358(undefined4 uParm1) - -{ - longlong lVar1; - - DAT_80026a94 = 1; - DAT_80026a98 = 1; - DAT_80026a9c = 1; - DAT_80026aa0 = 1; - DAT_80026aa4 = 1; - DAT_80026aa8 = 1; - DAT_80026aac = 1; - DAT_80026a90 = uParm1; - switch(uParm1) { - case 0: - case 5: - case 6: - case 7: - if (6 < DAT_80026a88) { - DAT_80026a88 = 2; - } - DAT_80026a90 = uParm1; - lVar1 = __osGetActiveQueue(); - if (0xd < lVar1) { - FUN_7f0c5b50(0xd); - } - break; - case 1: - DAT_80026a88 = 7; - DAT_80026a90 = uParm1; - lVar1 = __osGetActiveQueue(); - if (0xd < lVar1) { - FUN_7f0c5b50(0xd); - } - DAT_80026a98 = 0; - break; - case 2: - if (3 < DAT_80026a88) { - DAT_80026a88 = 2; - } - DAT_80026a90 = uParm1; - lVar1 = __osGetActiveQueue(); - if (0xd < lVar1) { - FUN_7f0c5b50(0xd); - } - break; - case 3: - if (6 < DAT_80026a88) { - DAT_80026a88 = 2; - } - DAT_80026a90 = uParm1; - FUN_7f0c5b50(0xd); - DAT_80026aa0 = 0; - break; - case 4: - if (6 < DAT_80026a88) { - DAT_80026a88 = 2; - } - DAT_80026a90 = uParm1; - FUN_7f0c5b50(1); - DAT_80026aa4 = 0; - } - return; -} - - - -void FUN_7f0104f8(longlong lParm1) - -{ - longlong lVar1; - int iVar2; - int *piVar3; - - if (lParm1 < 2) { - lParm1 = 2; - } - DAT_80026a70 = (int)lParm1; - lVar1 = 0; - if (0 < lParm1) { - piVar3 = &DAT_80026a74; - iVar2 = 0; - do { - if (*piVar3 == -1) { - *piVar3 = (int)lVar1; - *(undefined4 *)(&DAT_800586e8 + iVar2) = 5; - } - lVar1 = (longlong)((int)lVar1 + 1); - if ((2 < lParm1) && (3 < *(int *)(&DAT_800586f8 + iVar2))) { - *(int *)(&DAT_800586f8 + iVar2) = 0; - } - iVar2 += 4; - piVar3 = piVar3 + 1; - } while (lVar1 < lParm1); - } - if (((longlong)(ulonglong)(byte)(&DAT_800265a7)[DAT_80026a90 * 4] < lParm1) || - (lParm1 < (longlong)(ulonglong)(byte)(&DAT_800265a6)[DAT_80026a90 * 4])) { - FUN_7f010358(0); - lParm1 = (longlong)DAT_80026a70; - } - if ((longlong)*(int *)(DAT_80026a84 * 0x18 + -0x7ffd9a28) < lParm1) { - DAT_80026a84 = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f01062c(void) - -{ - undefined8 uVar1; - longlong lVar2; - - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - if (DAT_80025e8c != 0) { - loc_70009204(0x7fff); - FUN_7000649c(0x7fff); - DAT_800221dc = 0; - FUN_700062dc(0x17); - DAT_80025e8c = 0; - } - if (DAT_80026a70 == 0) { - uVar1 = FUN_7000a718(); - FUN_7f0104f8(uVar1); - } - lVar2 = FUN_7f00ffc0(DAT_80026a84); - if (lVar2 == 0) { - DAT_80026a84 = 1; - } - _DAT_80058708 = 0; - _DAT_8005870c = 0; - _DAT_80058710 = 0; - _DAT_80058714 = 0; - _DAT_80058718 = 0; - _DAT_8005871c = 0; - _DAT_80058720 = 0; - _DAT_80058724 = 0; - _DAT_80058728 = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f010730(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F010F04(void) - -{ - bool bVar1; - bool bVar2; - bool bVar3; - bool bVar4; - bool bVar5; - bool bVar6; - bool bVar7; - bool bVar8; - bool bVar9; - longlong lVar10; - int iVar12; - undefined8 uVar11; - uint uVar13; - int iVar14; - - bVar1 = false; - bVar2 = false; - bVar3 = false; - bVar4 = false; - bVar5 = false; - bVar6 = false; - bVar7 = false; - bVar8 = false; - bVar9 = false; - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047ba8); - FUN_700040a0(0x42c80000,DAT_80047bac); - FUN_70003f84(0); - lVar10 = FUN_7000a718(); - if (lVar10 < 2) { - FUN_7f01a438(6,0); - FUN_7f00d6fc(DAT_80025e40); - } - iVar12 = FUN_7000a718(); - if (iVar12 < DAT_80026a70) { - uVar11 = FUN_7000a718(); - FUN_7f0104f8(uVar11); - } - lVar10 = FUN_7000b080(0,0xa000); - if (lVar10 == 0) { - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - _DAT_80058708 = 0; - _DAT_8005870c = 0; - _DAT_80058710 = 0; - _DAT_80058714 = 0; - _DAT_80058718 = 0; - _DAT_8005871c = 0; - _DAT_80058720 = 0; - _DAT_80058724 = 0; - _DAT_80058728 = 0; - lVar10 = FUN_7f00a29c(); - if (lVar10 == 0) { - lVar10 = FUN_7f00a0e4(); - if (lVar10 == 0) { - iVar12 = (int)DAT_80025e5c; - if ((iVar12 < 0x119) || (DAT_80026aac == 0)) { - if ((iVar12 < 0x105) || (DAT_80026aa8 == 0)) { - if ((iVar12 < 0xf1) || (DAT_80026aa4 == 0)) { - if ((iVar12 < 0xdd) || (DAT_80026a9c == 0)) { - if ((iVar12 < 0xc9) || (DAT_80026aa0 == 0)) { - if ((iVar12 < 0xb5) || (DAT_80026a98 == 0)) { - if ((iVar12 < 0xa1) || (DAT_80026a94 == 0)) { - if (iVar12 < 0x8d) { - _DAT_80058708 = 1; - } - else { - _DAT_8005870c = 1; - } - } - else { - _DAT_80058710 = 1; - } - } - else { - _DAT_80058714 = 1; - } - } - else { - _DAT_8005871c = 1; - } - } - else { - _DAT_80058718 = 1; - } - } - else { - _DAT_80058720 = 1; - } - } - else { - _DAT_80058724 = 1; - } - } - else { - _DAT_80058728 = 1; - } - } - else { - DAT_80025e2c = 1; - } - } - else { - DAT_80025e34 = 1; - } - } - lVar10 = FUN_7000b120(0,0x1000); - if (lVar10 == 0) { - lVar10 = FUN_7000b120(0,0xa000); - if (lVar10 == 0) { - lVar10 = FUN_7000b120(0,0x4000); - if (lVar10 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e34 != 0) { - DAT_80025e28 = 1; - } - if (DAT_80025e2c == 0) { - if (_DAT_80058708 == 0) { - if (_DAT_8005870c == 0) { - if (_DAT_80058710 == 0) { - if (_DAT_80058714 == 0) { - if (_DAT_80058718 == 0) { - if (_DAT_8005871c == 0) { - if (_DAT_80058720 == 0) { - if (_DAT_80058724 == 0) { - if (_DAT_80058728 != 0) { - bVar9 = true; - } - } - else { - bVar8 = true; - } - } - else { - bVar7 = true; - } - } - else { - bVar6 = true; - } - } - else { - bVar5 = true; - } - } - else { - bVar4 = true; - } - } - else { - bVar3 = true; - } - } - else { - bVar2 = true; - } - } - else { - bVar1 = true; - } - } - else { - DAT_80025e20 = 1; - } - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - DAT_80025e20 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,1,1); - loc_7F00B7FC(DAT_80025eac,3,1); - loc_7F00B7FC(DAT_80025eac,5,1); - FUN_7f009a84(); - if (DAT_80025e28 == 0) { - if (DAT_80025e20 == 0) { - if (bVar1) { - iVar12 = FUN_7000a718(); - iVar14 = DAT_80026a70 + 1; - if (iVar12 < iVar14) { - iVar14 = 2; - } - FUN_7f0104f8(iVar14); - } - else { - if (bVar2) { - FUN_7f01a438(0x13,0); - } - else { - if (bVar3) { - FUN_7f01a438(0x12,0); - } - else { - if (bVar4) { - FUN_7f010060(); - } - else { - if (bVar5) { - FUN_7f01a438(0xf,0); - } - else { - if (bVar6) { - get_mp_weapon_set(); - } - else { - if (bVar7) { - FUN_7f01a438(0x10,0); - } - else { - if (bVar8) { - FUN_7f01a438(0x11,0); - } - else { - if (bVar9) { - FUN_7f01012c(6); - } - } - } - } - } - } - } - } - } - } - else { - iVar12 = *(int *)(DAT_80026a84 * 0x18 + -0x7ffd9a34); - if (iVar12 < 0) { - do { - uVar13 = FUN_700098b0(); - DAT_80025e44 = (&DAT_800265e4)[(uVar13 % 0xb) * 6]; - lVar10 = FUN_7f00ffc0(uVar13 % 0xb + 1); - iVar12 = DAT_80025e44; - } while (lVar10 == 0); - } - DAT_80025e44 = iVar12; - DAT_80025e48 = 0xffffffff; - FUN_7f01a438(0xb,1); - } - } - else { - FUN_7f01a438(6,0); - FUN_7f00d6fc(DAT_80025e40); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f010e00(undefined8 uParm1) - -{ - undefined4 uVar1; - ushort *puVar2; - undefined4 extraout_v0_hi; - undefined4 extraout_v0_hi_00; - undefined4 extraout_v0_hi_01; - undefined4 extraout_v0_hi_02; - undefined4 extraout_v0_hi_03; - undefined4 extraout_v0_hi_04; - undefined4 extraout_v0_hi_05; - undefined4 extraout_v0_hi_06; - undefined4 extraout_v0_hi_07; - undefined4 extraout_v0_hi_08; - undefined4 extraout_v0_hi_09; - undefined4 extraout_v0_hi_10; - undefined4 extraout_v0_hi_11; - undefined4 extraout_v0_hi_12; - undefined4 extraout_v0_hi_13; - undefined4 extraout_v0_hi_14; - undefined4 extraout_v0_hi_15; - undefined4 extraout_v0_hi_16; - undefined4 extraout_v0_hi_17; - undefined4 extraout_v0_hi_18; - undefined4 extraout_v0_hi_19; - undefined4 extraout_v0_hi_20; - undefined4 extraout_v0_hi_21; - undefined4 extraout_v0_hi_22; - undefined4 extraout_v0_hi_23; - undefined4 extraout_v0_hi_24; - undefined4 extraout_v0_hi_25; - undefined4 extraout_v0_hi_26; - undefined4 extraout_v0_hi_27; - undefined4 extraout_v0_hi_28; - undefined4 extraout_v0_hi_29; - undefined4 extraout_v0_hi_30; - undefined4 extraout_v0_hi_31; - undefined4 extraout_v0_hi_32; - undefined4 extraout_v0_hi_33; - undefined4 extraout_v0_hi_34; - undefined4 extraout_v0_hi_35; - undefined4 extraout_v0_hi_36; - undefined4 extraout_v0_hi_37; - undefined4 extraout_v0_hi_38; - undefined4 extraout_v0_hi_39; - undefined4 extraout_v0_hi_40; - undefined2 extraout_var; - undefined2 extraout_var_00; - undefined2 extraout_var_01; - undefined2 extraout_var_02; - undefined2 extraout_var_03; - undefined2 extraout_var_04; - undefined2 extraout_var_05; - undefined2 extraout_var_06; - undefined2 extraout_var_07; - undefined2 extraout_var_08; - undefined2 extraout_var_09; - undefined2 extraout_var_10; - undefined2 extraout_var_11; - undefined2 extraout_var_12; - undefined2 extraout_var_13; - undefined2 extraout_var_14; - undefined2 extraout_var_15; - undefined2 extraout_var_16; - undefined2 extraout_var_17; - undefined2 extraout_var_18; - undefined2 extraout_var_19; - undefined2 extraout_var_20; - undefined2 extraout_var_21; - undefined2 extraout_var_22; - undefined2 extraout_var_23; - undefined2 extraout_var_24; - undefined2 extraout_var_25; - undefined2 extraout_var_26; - undefined2 extraout_var_27; - undefined2 extraout_var_28; - undefined2 extraout_var_29; - undefined2 extraout_var_30; - undefined2 extraout_var_31; - undefined2 extraout_var_32; - undefined2 extraout_var_33; - undefined2 extraout_var_34; - undefined2 extraout_var_35; - undefined2 extraout_var_36; - undefined2 extraout_var_37; - undefined2 extraout_var_38; - undefined2 extraout_var_39; - undefined2 extraout_var_40; - undefined2 extraout_v0_lo; - undefined2 extraout_v0_lo_00; - undefined2 extraout_v0_lo_01; - undefined2 extraout_v0_lo_02; - undefined2 extraout_v0_lo_03; - undefined2 extraout_v0_lo_04; - undefined2 uVar3; - undefined2 extraout_v0_lo_05; - undefined2 extraout_v0_lo_06; - undefined2 extraout_v0_lo_07; - undefined2 extraout_v0_lo_08; - undefined2 extraout_v0_lo_09; - undefined2 extraout_v0_lo_10; - undefined2 extraout_v0_lo_11; - undefined2 extraout_v0_lo_12; - undefined2 extraout_v0_lo_13; - undefined2 extraout_v0_lo_14; - undefined2 extraout_v0_lo_15; - undefined2 extraout_v0_lo_16; - undefined2 extraout_v0_lo_17; - undefined2 extraout_v0_lo_18; - undefined2 extraout_v0_lo_19; - undefined2 extraout_v0_lo_20; - undefined2 extraout_v0_lo_21; - undefined2 extraout_v0_lo_22; - undefined2 extraout_v0_lo_23; - undefined2 extraout_v0_lo_24; - undefined2 extraout_v0_lo_25; - undefined2 extraout_v0_lo_26; - undefined2 extraout_v0_lo_27; - undefined2 extraout_v0_lo_28; - undefined2 extraout_v0_lo_29; - undefined2 extraout_v0_lo_30; - undefined2 extraout_v0_lo_31; - undefined2 extraout_v0_lo_32; - undefined2 extraout_v0_lo_33; - undefined2 extraout_v0_lo_34; - undefined2 extraout_v0_lo_35; - undefined2 extraout_v0_lo_36; - undefined2 extraout_v0_lo_37; - undefined2 extraout_v0_lo_38; - undefined2 extraout_v0_lo_39; - undefined2 extraout_v0_lo_40; - undefined4 uVar4; - undefined8 uVar5; - int iStack28; - undefined auStack24 [4]; - undefined4 uStack20; - undefined4 uStack16; - undefined auStack12 [8]; - undefined4 uStack4; - - FUN_70004120(uParm1,0,0,0); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_00,extraout_var_00),extraout_v0_lo_00)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_01,extraout_var_01),extraout_v0_lo_01)); - FUN_7f00d4e8(CONCAT62(CONCAT42(extraout_v0_hi_02,extraout_var_02),extraout_v0_lo_02)); - loc_7F0ACED4(CONCAT62(CONCAT42(extraout_v0_hi_03,extraout_var_03),extraout_v0_lo_03)); - uStack4 = FUN_7f0c12b8(0x9c4c); - uStack16 = 0x37; - uStack20 = 0x5f; - uVar3 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_04,extraout_var_04),extraout_v0_lo_04),&uStack16, - &uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar4,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_05,extraout_var_05),extraout_v0_lo_05); - FUN_7f0c12b8(0x9c4d); - uStack4 = CONCAT22(extraout_var_06,extraout_v0_lo_06); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_06,extraout_var_06),extraout_v0_lo_06),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0x79; - if (_DAT_80058708 != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,0x78,iStack28 + 0x3c,0x87,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_07,extraout_var_07),extraout_v0_lo_07); - } - uVar3 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar4,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_08,extraout_var_08),extraout_v0_lo_08); - FUN_7f0c12b8(0x9c4e); - uStack4 = CONCAT22(extraout_var_09,extraout_v0_lo_09); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_09,extraout_var_09),extraout_v0_lo_09),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0x8d; - if (_DAT_8005870c != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,0x8c,iStack28 + 0x3c,0x9b,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_10,extraout_var_10),extraout_v0_lo_10); - } - uVar3 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar4,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_11,extraout_var_11),extraout_v0_lo_11); - FUN_7f0c12b8(0x9c4f); - uStack4 = CONCAT22(extraout_var_12,extraout_v0_lo_12); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_12,extraout_var_12),extraout_v0_lo_12),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0xa1; - if (_DAT_80058710 != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,0xa0,iStack28 + 0x3c,0xaf,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_13,extraout_var_13),extraout_v0_lo_13); - } - if (DAT_80026a94 == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_14,extraout_var_14),extraout_v0_lo_14); - FUN_7f0c12b8(0x9c50); - uStack4 = CONCAT22(extraout_var_15,extraout_v0_lo_15); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_15,extraout_var_15),extraout_v0_lo_15),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0xb5; - if (_DAT_80058714 != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,0xb4,iStack28 + 0x3c,0xc3,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_16,extraout_var_16),extraout_v0_lo_16); - } - if (DAT_80026a98 == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_17,extraout_var_17),extraout_v0_lo_17); - FUN_7f0c12b8(0x9c51); - uStack4 = CONCAT22(extraout_var_18,extraout_v0_lo_18); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_18,extraout_var_18),extraout_v0_lo_18),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0xc9; - if (_DAT_8005871c != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,200,iStack28 + 0x3c,0xd7,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_19,extraout_var_19),extraout_v0_lo_19); - } - if (DAT_80026aa0 == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_20,extraout_var_20),extraout_v0_lo_20); - FUN_7f0c12b8(0x9c52); - uStack4 = CONCAT22(extraout_var_21,extraout_v0_lo_21); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_21,extraout_var_21),extraout_v0_lo_21),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0xdd; - if (_DAT_80058718 != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,0xdc,iStack28 + 0x3c,0xeb,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_22,extraout_var_22),extraout_v0_lo_22); - } - if (DAT_80026a9c == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_23,extraout_var_23),extraout_v0_lo_23); - FUN_7f0c12b8(0x9c53); - uStack4 = CONCAT22(extraout_var_24,extraout_v0_lo_24); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_24,extraout_var_24),extraout_v0_lo_24),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0xf1; - if (_DAT_80058720 != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,0xf0,iStack28 + 0x3c,0xff,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_25,extraout_var_25),extraout_v0_lo_25); - } - if (DAT_80026aa4 == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_26,extraout_var_26),extraout_v0_lo_26); - FUN_7f0c12b8(0x9d1e); - uStack4 = CONCAT22(extraout_var_27,extraout_v0_lo_27); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_27,extraout_var_27),extraout_v0_lo_27),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0x105; - if (_DAT_80058724 != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,0x104,iStack28 + 0x3c,0x113,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_28,extraout_var_28),extraout_v0_lo_28); - } - if (DAT_80026aa8 == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_29,extraout_var_29),extraout_v0_lo_29); - FUN_7f0c12b8(0x9c54); - uStack4 = CONCAT22(extraout_var_30,extraout_v0_lo_30); - loc_7F0AEB50(auStack24,&iStack28, - CONCAT62(CONCAT42(extraout_v0_hi_30,extraout_var_30),extraout_v0_lo_30),DAT_8003ab08, - DAT_8003ab04,0); - uStack16 = 0x39; - uStack20 = 0x119; - if (_DAT_80058728 != 0) { - microcode_constructor_related_to_menus(uVar5,0x37,0x118,iStack28 + 0x3c,0x127,0x32); - uVar5 = CONCAT62(CONCAT42(extraout_v0_hi_31,extraout_var_31),extraout_v0_lo_31); - } - if (DAT_80026aac == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(uVar5,&uStack16,&uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - FUN_7000a0f4(auStack12,s__d_8004792c,DAT_80026a70); - uStack16 = 0xa0; - uStack20 = 0x79; - uVar3 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_32,extraout_var_32),extraout_v0_lo_32),&uStack16, - &uStack20,auStack12,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar4,0,0); - uStack4 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_800265a4)[DAT_80026a90 * 2]); - uStack16 = 0xa0; - uStack20 = 0x8d; - uVar3 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_33,extraout_var_33),extraout_v0_lo_33),&uStack16, - &uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar4,0,0); - uStack4 = FUN_7f0c12b8((ulonglong)*(ushort *)(DAT_80026a84 * 0x18 + -0x7ffd9a3c)); - uStack16 = 0xa0; - uStack20 = 0xa1; - if (DAT_80026a94 == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_34,extraout_var_34),extraout_v0_lo_34),&uStack16, - &uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - uStack4 = FUN_7f0c12b8((ulonglong)*(ushort *)(DAT_80026a88 * 0xc + -0x7ffd9abc)); - uStack16 = 0xa0; - uStack20 = 0xb5; - if (DAT_80026a98 == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_35,extraout_var_35),extraout_v0_lo_35),&uStack16, - &uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - puVar2 = (ushort *)FUN_7f0c5b18(); - uStack4 = FUN_7f0c12b8((ulonglong)*puVar2); - uStack16 = 0xa0; - uStack20 = 0xc9; - if (DAT_80026aa0 == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_36,extraout_var_36),extraout_v0_lo_36),&uStack16, - &uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - uStack4 = FUN_7f0c12b8((ulonglong)*(ushort *)(DAT_80026a8c * 4 + -0x7ffd95a0)); - uStack16 = 0xa0; - uStack20 = 0x119; - if (DAT_80026aac == 0) { - uVar4 = 0x70; - } - else { - uVar4 = 0xff; - } - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - FUN_7f009660(CONCAT62(CONCAT42(extraout_v0_hi_37,extraout_var_37),extraout_v0_lo_37),&uStack16, - &uStack20,uStack4,DAT_8003ab08,DAT_8003ab04,uVar4,uVar3,uVar1,0,0); - FUN_7f00a138(CONCAT62(CONCAT42(extraout_v0_hi_38,extraout_var_38),extraout_v0_lo_38)); - FUN_7f009f80(CONCAT62(CONCAT42(extraout_v0_hi_39,extraout_var_39),extraout_v0_lo_39)); - FUN_7f009e08(CONCAT62(CONCAT42(extraout_v0_hi_40,extraout_var_40),extraout_v0_lo_40)); - return; -} - - - -undefined8 FUN_7f011ad8(int iParm1) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - int *piVar4; - - uVar3 = 0; - iVar2 = 0; - if (0 < DAT_80026a70) { - piVar4 = (int *)&DAT_80058680; - do { - iVar1 = *piVar4; - piVar4 = piVar4 + 1; - if ((iVar1 != 0) && (iParm1 == *(int *)((int)&DAT_80026a74 + iVar2))) { - uVar3 = 1; - } - iVar2 += 4; - } while (piVar4 < &DAT_80058680 + DAT_80026a70 * 4); - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f011b3c(void) - -{ - byte bVar1; - uint *puVar3; - longlong lVar2; - int iVar4; - int iVar5; - undefined2 *puVar6; - int *piVar7; - - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - bVar1 = DAT_800266eb; - puVar6 = &DAT_800266e8; - while( true ) { - iVar4 = (uint)bVar1 * 0x30; - puVar3 = (uint *)(_DAT_80074510 + iVar4); - if (*puVar3 < 3000) { - FUN_7f0cb408(*puVar3,0); - puVar3 = (uint *)(_DAT_80074510 + iVar4); - } - if (puVar3[3] < 3000) { - FUN_7f0cb408(puVar3[3],0); - puVar3 = (uint *)(_DAT_80074510 + iVar4); - } - if (puVar3[6] < 3000) { - FUN_7f0cb408(puVar3[6],0); - puVar3 = (uint *)(_DAT_80074510 + iVar4); - } - if (puVar3[9] < 3000) { - FUN_7f0cb408(puVar3[9],0); - } - if ((undefined2 *)0x800269e7 < puVar6 + 6) break; - bVar1 = *(byte *)((int)puVar6 + 0xf); - puVar6 = puVar6 + 6; - } - if (DAT_800266e4 != 0x40) { - lVar2 = loc_7F01E4E0(DAT_80025e38,0x11,0); - if (lVar2 == 3) { - DAT_800266e4 = 0x21; - } - else { - DAT_800266e4 = 8; - piVar7 = &DAT_80026a74; - do { - if (DAT_800266e4 <= *piVar7) { - iVar5 = 0; - iVar4 = 0; - if (0 < DAT_800266e4) { - do { - lVar2 = FUN_7f011ad8(iVar4); - if (lVar2 == 0) { - *piVar7 = iVar4; - goto LAB_7f011ce0; - } - iVar5 = iVar4 + 1; - iVar4 = iVar5; - } while (iVar5 < DAT_800266e4); - } - *piVar7 = iVar5; - } -LAB_7f011ce0: - piVar7 = piVar7 + 1; - } while (piVar7 != &DAT_80026a84); - } - } - _DAT_80058630 = DAT_80026a74; - _DAT_80058640 = DAT_80026a74; - _DAT_80058670 = 0; - _DAT_80058680 = 0; - _DAT_80058690 = 0; - _DAT_80058634 = DAT_80026a78; - _DAT_80058644 = DAT_80026a78; - _DAT_80058674 = 0; - _DAT_80058684 = 0; - _DAT_80058694 = 0; - _DAT_80058638 = DAT_80026a7c; - _DAT_80058648 = DAT_80026a7c; - _DAT_80058678 = 0; - _DAT_80058688 = 0; - _DAT_80058698 = 0; - _DAT_8005863c = DAT_80026a80; - _DAT_8005864c = DAT_80026a80; - _DAT_8005867c = 0; - _DAT_8005868c = 0; - _DAT_8005869c = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f011dcc(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f011dd4(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar5; - longlong lVar4; - int iVar6; - undefined uVar7; - int iVar8; - int *piVar9; - int *piVar10; - int iVar11; - int *piVar12; - int *piVar13; - int iVar14; - int iStack12; - - iVar5 = FUN_7f010180(); - iStack12 = 0; - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047bb0); - FUN_700040a0(0x42c80000,DAT_80047bb4); - FUN_70003f84(0); - iVar14 = 0; - iVar11 = 0; - if (0 < iVar5) { - piVar10 = (int *)&DAT_80058670; - piVar9 = (int *)&DAT_80058630; - piVar13 = (int *)&DAT_80058640; - piVar12 = (int *)&DAT_80058680; - do { - uVar7 = (undefined)iVar14; - if (*piVar12 != 0) { - iVar8 = *(int *)(&DAT_80058690 + iVar11); - if ((iVar8 < 0xb) && (*piVar13 == *piVar9)) { - *(int *)(&DAT_80058690 + iVar11) = iVar8 + 1; - } - lVar4 = FUN_7000b120(uVar7,0x4000); - if (lVar4 != 0) { - *piVar12 = 0; - FUN_70008268(_DAT_80056900,199,0); - } - } - if ((*piVar12 == 0) && (iVar8 = *(int *)(&DAT_80058690 + iVar11), 0 < iVar8)) { - *(int *)(&DAT_80058690 + iVar11) = iVar8 + -1; -LAB_7f012064: - iVar8 = *piVar13; - } - else { - if (*piVar12 != 0) goto LAB_7f012064; - lVar4 = FUN_7000b120(uVar7,0x202); - if (lVar4 != 0) { - if (0 < *piVar9) { - *piVar9 = *piVar9 + -1; - } - goto LAB_7f012064; - } - lVar4 = FUN_7000b120(uVar7,0x101); - if (lVar4 != 0) { - if (*piVar9 < DAT_800266e4 + -1) { - *piVar9 = *piVar9 + 1; - } - goto LAB_7f012064; - } - lVar4 = FUN_7000b120(uVar7,0xb000); - if (lVar4 == 0) { - lVar4 = FUN_7000b228(uVar7,0xfffffffffffffffe,1); - if (lVar4 < 1) { - lVar4 = FUN_7000b228(uVar7,0xfffffffffffffffe,1); - if (lVar4 < -1) { - if (*piVar10 == 0) { - if (0 < *piVar9) { - *piVar9 = *piVar9 + -1; - } - goto LAB_7f012064; - } - iVar8 = *piVar13; - } - else { - iVar8 = *piVar13; - } - } - else { - if (*piVar10 == 0) { - if (*piVar9 < DAT_800266e4 + -1) { - *piVar9 = *piVar9 + 1; - } - goto LAB_7f012064; - } - iVar8 = *piVar13; - } - } - else { - lVar4 = FUN_7f011ad8(*piVar9); - if (lVar4 != 0) goto LAB_7f012064; - *(int *)((int)&DAT_80026a74 + iVar11) = *piVar9; - *(undefined4 *)(&DAT_80058690 + iVar11) = 1; - *piVar12 = 1; - FUN_70008268(_DAT_80056900,199,0); - iVar8 = *piVar13; - } - } - iVar1 = *piVar9; - iVar2 = *piVar10; - iVar14 += 1; - piVar9 = piVar9 + 1; - iVar3 = *piVar12; - iVar6 = iVar2 + iVar8 * 0x54; - if (iVar1 * 0x54 < iVar6) { - *piVar10 = iVar2 + -0xc; - if (iVar2 + -0xc < 0) { - *piVar10 = iVar2 + 0x48; - *piVar13 = iVar8 + -1; - } - } - else { - if ((iVar6 < iVar1 * 0x54) && (*piVar10 = iVar2 + 0xc, 0x53 < iVar2 + 0xc)) { - *piVar10 = iVar2 + -0x48; - *piVar13 = iVar8 + 1; - } - } - if ((iVar3 != 0) && (*(int *)(&DAT_80058690 + iVar11) == 0xb)) { - iStack12 = iStack12 + 1; - } - iVar11 += 4; - piVar13 = piVar13 + 1; - piVar10 = piVar10 + 1; - piVar12 = piVar12 + 1; - } while (iVar14 != iVar5); - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,0x2a,1); - FUN_7f009a84(); - if (iStack12 == iVar5) { - FUN_7f01a438(0xe,0); - } - return; -} - - - -int locret_7F012314(int iParm1,int iParm2,int iParm3) - -{ - if ((iParm1 <= iParm2) || (iParm3 <= iParm1)) { - return 0; - } - if (iParm1 < iParm2 + 0x28) { - return (iParm2 - iParm1) * -6 + 0xf; - } - if (iParm3 + -0x28 < iParm1) { - return (iParm1 - iParm3) * -6 + 0xf; - } - return 0xff; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * -loc_7F012504(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,int iParm6,int iParm7) - -{ - int iVar1; - short sVar2; - short sVar3; - int iVar5; - int iVar6; - short *psVar7; - longlong lVar4; - undefined uVar8; - short *psVar9; - uint uVar10; - short sVar11; - short sVar12; - uint uVar13; - undefined4 *puStackX0; - undefined4 uStackX4; - undefined4 uStackX8; - undefined4 uStackX12; - - puStackX0 = (undefined4 *)uParm1; - uStackX4 = uParm2; - uStackX8 = uParm3; - uStackX12 = uParm4; - iVar5 = FUN_7f0bca90(); - iVar6 = FUN_7f0bca90(); - psVar7 = (short *)FUN_7f0bca74(0x10); - puStackX0 = (undefined4 *)loc_7F0ACED4(puStackX0); - guOrtho(iVar5,0,0x43dc0000,0,0x43a50000,0x3f800000,0x41200000,0x3f800000); - guRotate(iVar6,0x40490fdb,0x3f800000,0,0); - iVar1 = iParm7; - sVar2 = (short)iParm7; - sVar3 = (short)uParm5; - uVar13 = 0; - psVar9 = psVar7; - do { - uVar10 = 0; - do { - sVar12 = (short)uVar10; - if (1 < (int)uVar10) { - sVar12 += -1; - } - sVar11 = (short)uVar13; - if (1 < (int)uVar13) { - sVar11 = (short)uVar13 + -1; - } - lVar4 = FUN_7f011ad8(iParm6); - if (lVar4 == 0) { - uVar8 = 0xff; - } - else { - if (iVar1 == 0) { - uVar8 = 0x6e; - } - else { - uVar8 = 0xff; - } - } - *psVar9 = (sVar12 + -1) * (sVar2 + 0x23) + (short)uStackX12; - psVar9[2] = -5; - psVar9[3] = 0; - psVar9[1] = (0x14a - sVar3) + (sVar11 + -1) * (sVar2 + 0x2a) + sVar2; - if ((uVar10 & 1) == 0) { - psVar9[4] = 0; - } - else { - psVar9[4] = 0x1000; - } - if ((uVar13 & 1) == 0) { - psVar9[5] = 0; - } - else { - psVar9[5] = 0x1000; - } - *(undefined *)(psVar9 + 6) = uVar8; - *(undefined *)((int)psVar9 + 0xd) = uVar8; - *(undefined *)(psVar9 + 7) = uVar8; - if (iVar1 == 0) { - uVar8 = locret_7F012314(*psVar9,uStackX4,uStackX8); - *(undefined *)((int)psVar9 + 0xf) = uVar8; - } - else { - *(undefined *)((int)psVar9 + 0xf) = 0xff; - } - uVar10 += 1; - psVar9 = psVar9 + 8; - } while (uVar10 != 4); - uVar13 += 1; - } while (uVar13 != 4); - *puStackX0 = 0x1030040; - puStackX0[1] = iVar5 + -0x80000000; - puStackX0[2] = 0x1020040; - puStackX0[3] = iVar6 + -0x80000000; - puStackX0[4] = 0x4f00100; - *(short **)(puStackX0 + 5) = psVar7; - iVar1 = iParm6 * 0xc; - puStackX0 = puStackX0 + 6; - loc_7F077B80(register0x000000ec,(uint)(byte)(&DAT_800266eb)[iVar1] * 0x30 + _DAT_80074510 + 0x18,2 - ,0,2); - puStackX0[1] = 0xa28; - *puStackX0 = 0xbf000000; - puStackX0[3] = 0x280a32; - puStackX0[2] = 0xbf000000; - puStackX0 = puStackX0 + 4; - loc_7F077B80(register0x000000ec,(uint)(byte)(&DAT_800266eb)[iVar1] * 0x30 + _DAT_80074510 + 0x24,2 - ,0,2); - puStackX0[1] = 0x141e3c; - *puStackX0 = 0xbf000000; - puStackX0[3] = 0x3c1e46; - puStackX0[2] = 0xbf000000; - puStackX0 = puStackX0 + 4; - loc_7F077B80(register0x000000ec,(uint)(byte)(&DAT_800266eb)[iVar1] * 0x30 + _DAT_80074510,2,0,2); - puStackX0[1] = 0x505a78; - *puStackX0 = 0xbf000000; - puStackX0[3] = 0x785a82; - puStackX0[2] = 0xbf000000; - puStackX0 = puStackX0 + 4; - loc_7F077B80(register0x000000ec,(uint)(byte)(&DAT_800266eb)[iVar1] * 0x30 + _DAT_80074510 + 0xc,2, - 0,2); - puStackX0[1] = 0x646e8c; - *puStackX0 = 0xbf000000; - puStackX0[3] = 0x8c6e96; - puStackX0[2] = 0xbf000000; - return puStackX0 + 4; -} - - - -void loc_7F012DF4(undefined8 uParm1) - -{ - undefined8 uVar1; - undefined8 uVar2; - undefined2 uVar5; - undefined4 uVar3; - uint *puVar4; - longlong lVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int *piVar12; - int *piStack120; - int *piStack116; - int *piStack104; - int *piStack96; - int iStack76; - int iStack72; - int iStack68; - undefined auStack64 [8]; - int iStack56; - int iStack52; - int iStack48; - undefined auStack44 [36]; - uint uStack8; - uint uStack4; - - uStack4 = FUN_7f010180(); - uVar1 = FUN_70004120(uParm1,0,0,0); - uVar1 = FUN_70003948(uVar1); - uVar1 = FUN_7f00d4e8(uVar1); - uVar1 = loc_7F0ACED4(uVar1); - uVar1 = microcode_constructor_related_to_menus(uVar1,0x26,0xa9,0x184,0xab,0x90); - puVar4 = (uint *)uVar1; - if (2 < (int)uStack4) { - uVar1 = microcode_constructor_related_to_menus(uVar1,0xd4,0x1e,0xd6,0x136,0x80); - puVar4 = (uint *)uVar1; - } - if (0 < (int)uStack4) { - piVar12 = (int *)&DAT_80058690; - piStack96 = (int *)&DAT_80058680; - piStack104 = (int *)&DAT_80058630; - piStack116 = (int *)&DAT_80058670; - piStack120 = (int *)&DAT_80058640; - uStack8 = 0; - do { - if (uStack4 == 2) { - iVar7 = 0x26; - iVar9 = 0x15e; - if ((int)uStack8 < 1) { - iVar10 = 0x1e; - } - else { - iVar10 = 0xaa; - } - } - else { - iVar9 = 0xaf; - if ((int)uStack8 < 2) { - iVar10 = 0; - } - else { - iVar10 = 0x8c; - } - iVar10 += 0x1e; - if ((uStack8 & 1) == 0) { - iVar7 = 0; - } - else { - iVar7 = 0xaf; - } - iVar7 += 0x26; - } - lVar6 = (longlong)(int)(puVar4 + 2); - *puVar4 = ((int)((float)(iVar7 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar10 + 5) * 4.00000000) & 0xfffU; - puVar4[1] = ((int)((float)(iVar7 + iVar9 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar10 + 0x87) * 4.00000000) & 0xfffU; - if ((*piStack96 == 0) && (*piVar12 == 0)) { - uVar2 = FUN_7f0c12b8(0x9c55); - loc_7F0AEB50(auStack44,&iStack48,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iStack52 = ((iVar9 >> 1) + iVar7) - (iStack48 >> 1); - iStack56 = iVar10 + 5; - uVar1 = loc_7F0ACED4(lVar6); - uVar5 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - lVar6 = FUN_7f009660(uVar1,&iStack52,&iStack56,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar5, - uVar3,0,0); - } - iVar11 = (iVar9 >> 1) + iVar7; - uVar2 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_800266e8)[*piStack104 * 6]); - loc_7F0AEB50(auStack64,&iStack68,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iStack76 = iVar10 + 0x78; - iStack72 = iVar11 - (iStack68 >> 1); - uVar1 = loc_7F0ACED4(lVar6); - uVar5 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,&iStack72,&iStack76,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar5, - uVar3,0,0); - iVar10 += 0x46; - iVar8 = iVar7 + 0xd; - iVar9 = iVar7 + iVar9 + -0xe; - uVar1 = loc_7F012504(uVar1,iVar8,iVar9,iVar11 - *piStack116,iVar10,*piStack120,*piVar12); - puVar4 = (uint *)uVar1; - if (*piStack96 == 0) { - if (*piVar12 != 0) { - iVar7 = *piStack120; - goto LAB_7f012ad0; - } -LAB_7f012ae0: - iVar7 = *piStack120; - if (2 < iVar7) { - uVar1 = loc_7F012504(uVar1,iVar8,iVar9,(iVar11 - *piStack116) + -0xfc,iVar10,iVar7 + -3, - *piVar12); - puVar4 = (uint *)uVar1; - iVar7 = *piStack120; - } - if (1 < iVar7) { - uVar1 = loc_7F012504(uVar1,iVar8,iVar9,(iVar11 - *piStack116) + -0xa8,iVar10,iVar7 + -2, - *piVar12); - puVar4 = (uint *)uVar1; - iVar7 = *piStack120; - } - if (0 < iVar7) { - uVar1 = loc_7F012504(uVar1,iVar8,iVar9,(iVar11 - *piStack116) + -0x54,iVar10,iVar7 + -1, - *piVar12); - puVar4 = (uint *)uVar1; - iVar7 = *piStack120; - } - if (iVar7 < DAT_800266e4 + -1) { - uVar1 = loc_7F012504(uVar1,iVar8,iVar9,(iVar11 - *piStack116) + 0x54,iVar10,iVar7 + 1, - *piVar12); - puVar4 = (uint *)uVar1; - iVar7 = *piStack120; - } - if (iVar7 < DAT_800266e4 + -2) { - uVar1 = loc_7F012504(uVar1,iVar8,iVar9,(iVar11 - *piStack116) + 0xa8,iVar10,iVar7 + 2, - *piVar12); - puVar4 = (uint *)uVar1; - iVar7 = *piStack120; - } - if (iVar7 < DAT_800266e4 + -3) { - uVar1 = loc_7F012504(uVar1,iVar8,iVar9,(iVar11 - *piStack116) + 0xfc,iVar10,iVar7 + 3, - *piVar12); - puVar4 = (uint *)uVar1; - } - } - else { - iVar7 = *piStack120; -LAB_7f012ad0: - if (iVar7 != *piStack104) goto LAB_7f012ae0; - } - piStack96 = piStack96 + 1; - uStack8 += 1; - piStack104 = piStack104 + 1; - piStack116 = piStack116 + 1; - piStack120 = piStack120 + 1; - piVar12 = piVar12 + 1; - } while (uStack8 != uStack4); - } - combiner_bayer_lod_perspective(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f012d30(void) - -{ - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - _DAT_80058680 = 0; - _DAT_800586a0 = 0; - _DAT_80058684 = 0; - _DAT_800586a4 = 0; - _DAT_80058688 = 0; - _DAT_800586a8 = 0; - _DAT_8005868c = 0; - _DAT_800586ac = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f012dbc(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f012f48) overlaps instruction at (ram,0x7f012f44) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f012dc4(void) - -{ - int iVar2; - longlong lVar1; - int iVar3; - undefined uVar4; - int *piVar5; - int *piVar6; - int iVar7; - int iVar8; - int iVar9; - - iVar2 = FUN_7f010180(); - iVar9 = 0; - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047bb8); - FUN_700040a0(0x42c80000,DAT_80047bbc); - FUN_70003f84(0); - iVar7 = 0; - iVar8 = 0; - if (0 < iVar2) { - piVar5 = (int *)&DAT_80058680; - do { - uVar4 = (undefined)iVar7; - if ((*piVar5 != 0) && (lVar1 = FUN_7000b120(uVar4,0x4000), lVar1 != 0)) { - *piVar5 = 0; - FUN_70008268(_DAT_80056900,199,0); - } - iVar3 = *piVar5; - if (iVar3 == 0) { - piVar6 = (int *)(&DAT_800586a0 + iVar8); - lVar1 = FUN_7000b120(uVar4,0x202); - if ((lVar1 == 0) && - ((lVar1 = FUN_7000b228(uVar4,0xfffffffffffffffe,1), -2 < lVar1 || (*piVar6 == 0)))) { - lVar1 = FUN_7000b120(uVar4,0x101); - if ((lVar1 == 0) && - ((lVar1 = FUN_7000b228(uVar4,0xfffffffffffffffe,1), lVar1 < 1 || (*piVar6 == 0)))) { - lVar1 = FUN_7000b120(uVar4,0xb000); - if (lVar1 != 0) { - *piVar5 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - iVar3 = *(int *)(&DAT_800586e8 + iVar8); - if (iVar3 < 10) { - *(int *)(&DAT_800586e8 + iVar8) = iVar3 + 1; - } - } - } - else { - iVar3 = *(int *)(&DAT_800586e8 + iVar8); - if (0 < iVar3) { - *(int *)(&DAT_800586e8 + iVar8) = iVar3 + -1; - } - } - lVar1 = FUN_7000b228(uVar4,0xfffffffffffffffe,1); - if ((lVar1 == -1) || (lVar1 = FUN_7000b228(uVar4,0xfffffffffffffffe,1), lVar1 == 0)) { - *piVar6 = 1; - iVar3 = *piVar5; - } - else { - *piVar6 = 0; - iVar3 = *piVar5; - } - } - if (iVar3 != 0) { - iVar9 += 1; - } - iVar7 += 1; - iVar8 += 4; - piVar5 = piVar5 + 1; - } while (iVar7 != iVar2); - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,0x2a,1); - FUN_7f009a84(); - if (iVar9 == iVar2) { - FUN_7f01a438(0xe,0); - } - return; -} - - - -void FUN_7f01307c(undefined8 uParm1) - -{ - undefined8 uVar1; - uint *puVar3; - undefined8 uVar2; - undefined2 uVar5; - undefined4 uVar4; - longlong lVar6; - int iVar7; - int iVar8; - int iVar9; - uint uVar10; - int *piStack96; - int *piStack92; - int iStack76; - int iStack72; - int iStack68; - int aiStack64 [2]; - int iStack56; - int iStack52; - int iStack48; - int aiStack44 [10]; - uint uStack4; - - uStack4 = FUN_7f010180(); - uVar1 = FUN_70004120(uParm1,0,0,0); - uVar1 = FUN_70003948(uVar1); - uVar1 = FUN_7f00d4e8(uVar1); - uVar1 = loc_7F0ACED4(uVar1); - uVar1 = microcode_constructor_related_to_menus(uVar1,0x26,0xa9,0x184,0xab,0x90); - puVar3 = (uint *)uVar1; - if (2 < (int)uStack4) { - uVar1 = microcode_constructor_related_to_menus(uVar1,0xd4,0x1e,0xd6,0x136,0x80); - puVar3 = (uint *)uVar1; - } - uVar10 = 0; - if (0 < (int)uStack4) { - piStack92 = (int *)&DAT_80058680; - piStack96 = (int *)&DAT_800586e8; - do { - iVar8 = 0x26; - if (uStack4 == 2) { - iVar9 = 0x15e; - if ((int)uVar10 < 1) { - iVar7 = 0x1e; - } - else { - iVar7 = 0xaa; - } - } - else { - iVar9 = 0xaf; - if ((int)uVar10 < 2) { - iVar7 = 0; - } - else { - iVar7 = 0x8c; - } - iVar7 += 0x1e; - if ((uVar10 & 1) == 0) { - iVar8 = 0; - } - else { - iVar8 = 0xaf; - } - iVar8 += 0x26; - } - lVar6 = (longlong)(int)(puVar3 + 2); - *puVar3 = ((int)((float)(iVar8 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar7 + 5) * 4.00000000) & 0xfffU; - puVar3[1] = ((int)((float)(iVar8 + iVar9 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar7 + 0x87) * 4.00000000) & 0xfffU; - if (*piStack92 == 0) { - uVar2 = FUN_7f0c12b8(0x9c56); - loc_7F0AEB50(aiStack44,&iStack48,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iStack52 = ((iVar9 >> 1) + iVar8) - (iStack48 >> 1); - iStack56 = (iVar7 - (aiStack44[0] >> 1)) + 0x37; - uVar1 = loc_7F0ACED4(lVar6); - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - lVar6 = FUN_7f009660(uVar1,&iStack52,&iStack56,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar5, - uVar4,0,0); - } - uVar2 = FUN_7f0c12b8((ulonglong)*(ushort *)(*piStack96 * 8 + -0x7ffd9618)); - loc_7F0AEB50(aiStack64,&iStack68,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iStack72 = ((iVar9 >> 1) + iVar8) - (iStack68 >> 1); - iStack76 = (iVar7 - (aiStack64[0] >> 1)) + 0x55; - uVar1 = loc_7F0ACED4(lVar6); - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,&iStack72,&iStack76,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar5, - uVar4,0,0); - puVar3 = (uint *)uVar1; - uVar10 += 1; - piStack92 = piStack92 + 1; - piStack96 = piStack96 + 1; - } while (uVar10 != uStack4); - } - combiner_bayer_lod_perspective(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f013474(void) - -{ - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - _DAT_80058680 = 0; - _DAT_800586a0 = 0; - _DAT_80058684 = 0; - _DAT_800586a4 = 0; - _DAT_80058688 = 0; - _DAT_800586a8 = 0; - _DAT_8005868c = 0; - _DAT_800586ac = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f013500(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f013838) overlaps instruction at (ram,0x7f013834) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f013508(void) - -{ - int iVar2; - longlong lVar1; - int iVar3; - int *piVar4; - undefined uVar5; - int iVar6; - int *piVar7; - int *piVar8; - int iVar9; - int iStack12; - - iVar2 = FUN_7f010180(); - iStack12 = 0; - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047bc0); - FUN_700040a0(0x42c80000,DAT_80047bc4); - FUN_70003f84(0); - iVar6 = 0; - if (0 < iVar2) { - piVar7 = (int *)&DAT_80058680; - iVar9 = 0; - do { - uVar5 = (undefined)iVar6; - if ((*piVar7 != 0) && (lVar1 = FUN_7000b120(uVar5,0x4000), lVar1 != 0)) { - *piVar7 = 0; - FUN_70008268(_DAT_80056900,199,0); - } - iVar3 = *piVar7; - if (iVar3 == 0) { - piVar8 = (int *)(&DAT_800586a0 + iVar9); - lVar1 = FUN_7000b120(uVar5,0x202); - if ((lVar1 == 0) && - ((lVar1 = FUN_7000b228(uVar5,0xfffffffffffffffe,1), -2 < lVar1 || (*piVar8 == 0)))) { - lVar1 = FUN_7000b120(uVar5,0x101); - if ((lVar1 == 0) && - ((lVar1 = FUN_7000b228(uVar5,0xfffffffffffffffe,1), lVar1 < 1 || (*piVar8 == 0)))) { - lVar1 = FUN_7000b120(uVar5,0xb000); - if (lVar1 != 0) { - *piVar7 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - piVar4 = (int *)(&DAT_800586f8 + iVar9); - if (iVar2 == 2) { - if (iVar6 != 0) { - iVar3 = *piVar4; - goto LAB_7f01373c; - } - lVar1 = FUN_7000a718(); - if (lVar1 != 4) goto LAB_7f013738; - } - else { -LAB_7f013738: - iVar3 = *piVar4; -LAB_7f01373c: - if (iVar3 < 4) { - if (iVar3 < 3) { - *piVar4 = iVar3 + 1; - } - goto LAB_7f0137c8; - } - } - if ((((*piVar4 < 7) && (*piVar4 = *piVar4 + 1, iVar6 == 0)) && (_DAT_800586f8 == 4)) && - (_DAT_800586fc < 4)) { - _DAT_800586fc = 4; - } - } - } - else { - piVar4 = (int *)(&DAT_800586f8 + iVar9); - if (*piVar4 < 1) goto LAB_7f0137c8; - if (iVar2 == 2) { - if (iVar6 != 1) { - iVar3 = *piVar4; - goto LAB_7f013688; - } - lVar1 = FUN_7000a718(); - if (lVar1 != 4) goto LAB_7f013684; - if (_DAT_800586f8 < 4) { - iVar3 = *piVar4; - goto LAB_7f013688; - } - if (4 < *piVar4) goto LAB_7f013684; - } - else { -LAB_7f013684: - iVar3 = *piVar4; -LAB_7f013688: - *piVar4 = iVar3 + -1; - } - if ((((iVar2 == 2) && (iVar6 == 0)) && (lVar1 = FUN_7000a718(), lVar1 == 4)) && - ((_DAT_800586f8 < 4 && (3 < _DAT_800586fc)))) { - _DAT_800586fc = 0; - } - } -LAB_7f0137c8: - iVar3 = FUN_7000a718(); - if (iVar3 != 4) { - if (3 < _DAT_800586f8) { - _DAT_800586f8 = 0; - } - if (3 < _DAT_800586fc) { - _DAT_800586fc = 0; - } - } - lVar1 = FUN_7000b228(uVar5,0xfffffffffffffffe,1); - if ((lVar1 == -1) || (lVar1 = FUN_7000b228(uVar5,0xfffffffffffffffe,1), lVar1 == 0)) { - *piVar8 = 1; - iVar3 = *piVar7; - } - else { - *piVar8 = 0; - iVar3 = *piVar7; - } - } - iVar6 += 1; - if (iVar3 != 0) { - iStack12 += 1; - } - iVar9 += 4; - piVar7 = piVar7 + 1; - } while (iVar6 != iVar2); - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,0x2a,1); - FUN_7f009a84(); - if (iStack12 == iVar2) { - FUN_7f01a438(0xe,0); - } - return; -} - - - -void FUN_7f0138f0(undefined8 uParm1) - -{ - undefined8 uVar1; - uint *puVar3; - undefined8 uVar2; - undefined2 uVar5; - undefined4 uVar4; - longlong lVar6; - int iVar7; - int iVar8; - int iVar9; - uint uVar10; - int *piStack96; - int *piStack92; - int iStack76; - int iStack72; - int iStack68; - int aiStack64 [2]; - int iStack56; - int iStack52; - int iStack48; - int aiStack44 [10]; - uint uStack4; - - uStack4 = FUN_7f010180(); - uVar1 = FUN_70004120(uParm1,0,0,0); - uVar1 = FUN_70003948(uVar1); - uVar1 = FUN_7f00d4e8(uVar1); - uVar1 = loc_7F0ACED4(uVar1); - uVar1 = microcode_constructor_related_to_menus(uVar1,0x26,0xa9,0x184,0xab,0x90); - puVar3 = (uint *)uVar1; - if (2 < (int)uStack4) { - uVar1 = microcode_constructor_related_to_menus(uVar1,0xd4,0x1e,0xd6,0x136,0x80); - puVar3 = (uint *)uVar1; - } - uVar10 = 0; - if (0 < (int)uStack4) { - piStack92 = (int *)&DAT_80058680; - piStack96 = (int *)&DAT_800586f8; - do { - iVar8 = 0x26; - if (uStack4 == 2) { - iVar9 = 0x15e; - if ((int)uVar10 < 1) { - iVar7 = 0x1e; - } - else { - iVar7 = 0xaa; - } - } - else { - iVar9 = 0xaf; - if ((int)uVar10 < 2) { - iVar7 = 0; - } - else { - iVar7 = 0x8c; - } - iVar7 += 0x1e; - if ((uVar10 & 1) == 0) { - iVar8 = 0; - } - else { - iVar8 = 0xaf; - } - iVar8 += 0x26; - } - lVar6 = (longlong)(int)(puVar3 + 2); - *puVar3 = ((int)((float)(iVar8 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar7 + 5) * 4.00000000) & 0xfffU; - puVar3[1] = ((int)((float)(iVar8 + iVar9 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar7 + 0x87) * 4.00000000) & 0xfffU; - if (*piStack92 == 0) { - uVar2 = FUN_7f0c12b8(0x9d1d); - loc_7F0AEB50(aiStack44,&iStack48,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iStack52 = ((iVar9 >> 1) + iVar8) - (iStack48 >> 1); - iStack56 = (iVar7 - (aiStack44[0] >> 1)) + 0x37; - uVar1 = loc_7F0ACED4(lVar6); - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - lVar6 = FUN_7f009660(uVar1,&iStack52,&iStack56,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar5, - uVar4,0,0); - } - uVar2 = FUN_7f0c12b8((ulonglong)*(ushort *)(*piStack96 * 4 + -0x7ffd95c0)); - loc_7F0AEB50(aiStack64,&iStack68,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iStack72 = ((iVar9 >> 1) + iVar8) - (iStack68 >> 1); - iStack76 = (iVar7 - (aiStack64[0] >> 1)) + 0x55; - uVar1 = loc_7F0ACED4(lVar6); - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,&iStack72,&iStack76,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar5, - uVar4,0,0); - puVar3 = (uint *)uVar1; - uVar10 += 1; - piStack92 = piStack92 + 1; - piStack96 = piStack96 + 1; - } while (uVar10 != uStack4); - } - combiner_bayer_lod_perspective(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f013ce8(void) - -{ - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - _DAT_800586bc = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f013d3c(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f013d44(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047bc8); - FUN_700040a0(0x42c80000,DAT_80047bcc); - FUN_70003f84(0); - lVar1 = FUN_7000b080(0,0xb000); - if (lVar1 == 0) { - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - lVar1 = FUN_7f00a29c(); - if (lVar1 == 0) { - if ((int)DAT_80025e5c < 0xf0) { - iVar2 = 0; - if (0xa9 < (int)DAT_80025e5c) { - iVar2 = 1; - } - } - else { - iVar2 = 2; - } - iVar3 = (int)DAT_80025e58; - if (iVar3 < 0x124) { - if (iVar3 < 0xcf) { - _DAT_800586bc = 0; - if (0x79 < iVar3) { - _DAT_800586bc = 1; - } - } - else { - _DAT_800586bc = 2; - } - } - else { - _DAT_800586bc = 3; - } - _DAT_800586bc = iVar2 * 4 + _DAT_800586bc; - lVar1 = FUN_7f00ffc0(); - while (lVar1 == 0) { - _DAT_800586bc += -1; - lVar1 = FUN_7f00ffc0(); - } - } - else { - DAT_80025e34 = 1; - } - } - lVar1 = FUN_7000b120(0,0xb000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0x4000); - if (lVar1 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e34 == 0) { - if (-1 < _DAT_800586bc) { - DAT_80025e24 = 1; - DAT_80026a84 = _DAT_800586bc; - } - } - else { - DAT_80025e28 = 1; - } - FUN_70008268(_DAT_80056900,199,0); - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,0x2a,1); - loc_7F00B7FC(DAT_80025eac,3,1); - FUN_7f009a84(); - if (DAT_80025e24 == 0) { - if (DAT_80025e28 != 0) { - FUN_7f01a438(0xe,0); - } - } - else { - FUN_7f01a438(0xe,0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0146D0(undefined8 uParm1) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 *puVar3; - undefined2 uVar4; - uint uVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - undefined4 *puStackX0; - undefined4 uVar10; - undefined4 uVar11; - undefined4 uVar12; - undefined4 uVar13; - undefined4 uVar14; - undefined4 uVar15; - undefined4 uVar16; - undefined4 uVar17; - int iStack168; - int iStack156; - int iStack132; - undefined4 uStack104; - undefined4 uStack100; - float fStack96; - float fStack92; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - float fStack52; - int iStack20; - int iStack16; - int iStack12; - int aiStack8 [2]; - - puStackX0 = (undefined4 *)(int)uParm1; - uVar2 = FUN_70004120(uParm1,0,0,0); - puStackX0 = (undefined4 *)(int)uVar2; - uVar2 = FUN_70003948(uVar2); - puStackX0 = (undefined4 *)(int)uVar2; - uVar2 = FUN_7f00d4e8(uVar2); - puStackX0 = (undefined4 *)(int)uVar2; - puStackX0 = (undefined4 *)loc_7F0ACED4(uVar2); - iVar7 = 0x6c; - iVar6 = 0xa0; - do { - uVar2 = microcode_constructor_related_to_menus(puStackX0,0x25,iVar7,0x185,iVar6,0x101010ff); - puStackX0 = (undefined4 *)(int)uVar2; - iVar6 += 0x46; - iVar7 += 0x46; - } while (iVar6 != 0x172); - puVar3 = (undefined4 *)combiner_bayer_lod_perspective(uVar2); - puStackX0 = puVar3 + 2; - *puVar3 = 0xba000c02; - puVar3[1] = 0; - iVar6 = _DAT_80074508; - loc_7F077B80(register0x000000ec,_DAT_80074508 + 0x3c,1,0,2); - uStack56 = 0x43550000; - fStack52 = 104.00000000; - iVar7 = 0; - uStack64 = 0x43300000; - uStack60 = 0x40800000; - do { - loc_7F06B108(register0x000000ec,&uStack56,&uStack64,0x2f0,0x12,0,0,1,0x6b,0x67,0x53,0xff, - (uint)(*(char *)(iVar6 + 0x42) != '\0'),0); - fStack52 = fStack52 + 60.00000000; - uVar16 = 0xff; - uVar15 = 0x53; - uVar14 = 0x67; - uVar13 = 0x6b; - uVar12 = 1; - uVar10 = 0; - uVar11 = 0; - uVar17 = 0; - uVar5 = (uint)(*(char *)(iVar6 + 0x42) != '\0'); - loc_7F06B108(register0x000000ec,&uStack56,&uStack64,0x2f0,0x12,0,0,1,0x6b,0x67,0x53,0xff,uVar5,0 - ); - iVar7 += 1; - fStack52 = (fStack52 - 60.00000000) + 70.00000000; - } while (iVar7 != 3); - iVar6 = 0; - iStack132 = 0; - fStack92 = 134.00000000; - uStack104 = 0x42080000; - uStack100 = 0x41b00000; - do { - iVar7 = 0; - fStack96 = 86.00000000; - do { - if (iVar6 < 0xc) { - iVar9 = (&DAT_800265c8)[iVar6 * 6] * 0xc + _DAT_80074514; - loc_7F077B80(register0x000000ec,iVar9,1,0,2,uVar10,uVar11,uVar12,uVar13,uVar14,uVar15,uVar16 - ,uVar5,uVar17); - if (iVar6 == _DAT_800586bc) { - puStackX0[1] = 0x100000; - *puStackX0 = 0xba001402; - puStackX0[3] = 0xffffff0a; - puStackX0[2] = 0xf8000000; - puStackX0[5] = 0xc4112048; - puStackX0[4] = 0xb900031d; - uVar13 = 0xff; - uVar15 = 0xff; - uVar12 = 1; - uVar14 = 0xff; - uVar16 = 0xff; - uVar11 = 0; - uVar10 = 0; - uVar17 = 1; - uVar5 = (uint)(*(char *)(iVar9 + 6) != '\0'); - puStackX0 = puStackX0 + 6; - loc_7F06B108(register0x000000ec,&fStack96,&uStack104,0x44,0x2c); - } - else { - lVar1 = FUN_7f00ffc0(iVar6); - if (lVar1 == 0) { - uVar16 = 0xff; - uVar15 = 0xf; - uVar14 = 0xf; - uVar13 = 0xf; - uVar12 = 1; - uVar10 = 0; - uVar11 = 0; - uVar17 = 0; - uVar5 = (uint)(*(char *)(iVar9 + 6) != '\0'); - loc_7F06B108(register0x000000ec,&fStack96,&uStack104,0x44,0x2c); - } - else { - uVar16 = 0xff; - uVar15 = 0x6e; - uVar14 = 0x6e; - uVar13 = 0x6e; - uVar12 = 1; - uVar10 = 0; - uVar11 = 0; - uVar17 = 0; - uVar5 = (uint)(*(char *)(iVar9 + 6) != '\0'); - loc_7F06B108(register0x000000ec,&fStack96,&uStack104,0x44,0x2c); - } - } - } - iVar7 += 1; - fStack96 = fStack96 + 85.00000000; - iVar6 += 1; - } while (iVar7 != 4); - fStack92 = fStack92 + 70.00000000; - iStack132 += 1; - } while (iStack132 != 3); - puStackX0 = (undefined4 *)loc_7F0ACED4(puStackX0); - iVar6 = 0; - iStack168 = 0x97; - iStack156 = 0; - do { - iVar7 = 0x56; - iVar9 = 0; - do { - if ((iVar6 < 0xc) && (lVar1 = FUN_7f00ffc0(iVar6), lVar1 != 0)) { - uVar5 = 0x96969600; - if (iVar6 == _DAT_800586bc) { - uVar5 = 0xffffff00; - } - uVar2 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_800265c6)[iVar6 * 0xc]); - loc_7F0AEB50(&iStack16,&iStack20,uVar2,DAT_8003ab00,DAT_8003aafc,0); - iVar8 = iVar7 + -0x1f; - iStack12 = iStack168 - iStack16; - aiStack8[0] = iVar8; - puStackX0 = (undefined4 *) - microcode_constructor_related_to_menus - (puStackX0,iVar8,iStack12,iVar8 + iStack20,iStack12 + iStack16,0); - uVar2 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_800265c6)[iVar6 * 0xc]); - uVar4 = FUN_70003e6c(); - uVar10 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack8,&iStack12,uVar2,DAT_8003ab00,DAT_8003aafc, - uVar5 | 0xff,uVar4,uVar10,0,0); - iStack12 = iStack168 - iStack16; - aiStack8[0] = iVar8; - uVar2 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_800265c6)[iVar6 * 0xc]); - uVar4 = FUN_70003e6c(); - uVar10 = FUN_70003e7c(); - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,aiStack8,&iStack12,uVar2,DAT_8003ab00,DAT_8003aafc, - uVar5 | 100,uVar4,uVar10,0,0); - } - iVar9 += 1; - iVar7 += 0x55; - iVar6 += 1; - } while (iVar9 != 4); - iStack156 += 1; - iStack168 += 0x46; - } while (iStack156 != 3); - uVar2 = loc_7F0ACED4(puStackX0); - puStackX0 = (undefined4 *)(int)uVar2; - uVar2 = FUN_7f00a138(uVar2); - puStackX0 = (undefined4 *)(int)uVar2; - FUN_7f009e08(uVar2); - return; -} - - - -undefined4 FUN_7f0146c8(void) - -{ - return DAT_80026a90; -} - - - -void FUN_7f0146d4(void) - -{ - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f014720(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f014728(void) - -{ - bool bVar1; - int iVar2; - longlong lVar3; - int iVar4; - int iVar5; - - bVar1 = false; - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047bd0); - FUN_700040a0(0x42c80000,DAT_80047bd4); - FUN_70003f84(0); - lVar3 = FUN_7000b080(0,0xa000); - iVar2 = _DAT_800586c0; - if (lVar3 == 0) { - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - lVar3 = FUN_7f00a29c(); - if (lVar3 == 0) { - _DAT_800586c0 = 1; - iVar4 = 7; - iVar5 = 0x11d; - do { - if ((iVar5 <= (int)DAT_80025e5c) && - (lVar3 = FUN_7f010180(), (longlong)(ulonglong)(byte)(&DAT_800265a6)[iVar4 * 4] <= lVar3)) - { - lVar3 = FUN_7f010180(); - iVar2 = iVar4 + 1; - if (lVar3 <= (longlong)(ulonglong)(byte)(&DAT_800265a7)[iVar4 * 4]) break; - } - iVar4 += -1; - iVar5 += -0x16; - iVar2 = _DAT_800586c0; - } while (iVar4 != 0); - } - else { - DAT_80025e34 = 1; - _DAT_800586c0 = 0; - iVar2 = _DAT_800586c0; - } - } - _DAT_800586c0 = iVar2; - lVar3 = FUN_7000b120(0,0xb000); - if (lVar3 == 0) { - lVar3 = FUN_7000b120(0,0x4000); - if (lVar3 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e34 == 0) { - if (((_DAT_800586c0 == 6) || (_DAT_800586c0 == 7)) || (_DAT_800586c0 == 8)) { - FUN_7f010358(); - bVar1 = true; - } - else { - FUN_7f010358(); - DAT_80025e28 = 1; - } - } - else { - DAT_80025e28 = 1; - } - FUN_70008268(_DAT_80056900,199,0); - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,1,1); - loc_7F00B7FC(DAT_80025eac,3,1); - loc_7F00B7FC(DAT_80025eac,6,1); - FUN_7f009a84(); - if (bVar1) { - FUN_7f01a438(0x14,0); - } - else { - if (DAT_80025e28 != 0) { - FUN_7f01a438(0xe,0); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0149b8(undefined8 uParm1) - -{ - longlong lVar1; - undefined2 uVar6; - undefined4 uVar4; - undefined8 uVar2; - undefined4 uVar5; - undefined8 uVar3; - ushort *puVar7; - int iVar8; - int iVar9; - int iStack32; - undefined auStack28 [8]; - int iStack20; - undefined4 auStack16 [4]; - - uVar3 = FUN_70004120(uParm1,0,0,0); - uVar3 = FUN_70003948(uVar3); - uVar3 = FUN_70003948(uVar3); - uVar3 = FUN_70003948(uVar3); - uVar3 = FUN_7f00d4e8(uVar3); - uVar3 = loc_7F0ACED4(uVar3); - uVar2 = FUN_7f0c12b8(0x9c57); - auStack16[0] = 0x37; - iStack20 = 0x66; - uVar6 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uVar3 = FUN_7f009660(uVar3,auStack16,&iStack20,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar6,uVar4,0, - 0); - puVar7 = &DAT_800265a4; - iVar8 = 0; - iVar9 = 0x83; - do { - uVar4 = 0xff; - lVar1 = FUN_7f010180(); - if ((longlong)(ulonglong)*(byte *)((int)puVar7 + 3) < lVar1) { - uVar4 = 0x70; - } - else { - lVar1 = FUN_7f010180(); - if (lVar1 < (longlong)(ulonglong)*(byte *)(puVar7 + 1)) { - uVar4 = 0x70; - } - } - uVar2 = FUN_7f0c12b8((ulonglong)*puVar7); - loc_7F0AEB50(auStack28,&iStack32,uVar2,DAT_8003ab08,DAT_8003ab04,0); - auStack16[0] = 0x39; - iStack20 = iVar9; - if (iVar8 + 1 == _DAT_800586c0) { - iStack20 = iVar9; - uVar3 = microcode_constructor_related_to_menus - (uVar3,0x37,iVar9 + -1,iStack32 + 0x3c,iVar9 + 0xe,0x32); - } - uVar6 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar3 = FUN_7f009660(uVar3,auStack16,&iStack20,uVar2,DAT_8003ab08,DAT_8003ab04,uVar4,uVar6,uVar5 - ,0,0); - iVar8 += 1; - puVar7 = puVar7 + 2; - iVar9 += 0x16; - } while (iVar8 != 8); - uVar3 = FUN_7f00a138(uVar3); - FUN_7f009e08(uVar3); - return; -} - - - -ulonglong FUN_7f014c08(int iParm1) - -{ - return (ulonglong)(byte)(&DAT_80068a69)[iParm1 * 0x70]; -} - - - -void FUN_7f014c24(int iParm1,undefined uParm2) - -{ - (&DAT_80068a69)[iParm1 * 0x70] = uParm2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f014c40(void) - -{ - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - if (DAT_80026a90 == 7) { - _DAT_800586c8 = 2; - } - else { - _DAT_800586c8 = 3; - } - DAT_80026ab0 = 0; - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f014cc0(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f014f44) overlaps instruction at (ram,0x7f014f40) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f014cc8(void) - -{ - longlong lVar1; - undefined8 uVar2; - uint uVar3; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047bd8); - FUN_700040a0(0x42c80000,DAT_80047bdc); - FUN_70003f84(0); - DAT_80026ab0 = (DAT_80026ab0 + 1) % 0x14; - lVar1 = FUN_7000b120(0,0x101); - if ((lVar1 == 0) && (lVar1 = FUN_7000b228(0,0xfffffffffffffffe,1), lVar1 < 1)) { - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 == 0) && (lVar1 = FUN_7000b29c(0,0xfffffffffffffffe,1), lVar1 < 1)) { - lVar1 = FUN_7000b120(0,0x202); - if ((lVar1 == 0) && (lVar1 = FUN_7000b228(0,0xfffffffffffffffe,1), -2 < lVar1)) { - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7000b29c(0,0xfffffffffffffffe,1), lVar1 < -1)) { - if (DAT_80026a90 == 7) { - if ((_DAT_800586c8 & 2) == 0) { - _DAT_800586c8 = 2; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if ((_DAT_800586c8 & 2) == 0) { - _DAT_800586c8 = _DAT_800586c8 + 2; - FUN_70008268(_DAT_80056900,199,0); - } - } - } - } - else { - if (DAT_80026a90 == 5) { - if ((_DAT_800586c8 & 1) != 0) { - _DAT_800586c8 = 2; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if ((_DAT_800586c8 & 1) != 0) { - _DAT_800586c8 = _DAT_800586c8 - 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - } - } - else { - if (DAT_80026a90 == 5) { - if ((_DAT_800586c8 & 2) != 0) { - _DAT_800586c8 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if ((_DAT_800586c8 & 2) != 0) { - _DAT_800586c8 = _DAT_800586c8 - 2; - FUN_70008268(_DAT_80056900,199,0); - } - } - } - } - else { - if (DAT_80026a90 == 7) { - if ((_DAT_800586c8 & 1) == 0) { - _DAT_800586c8 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if ((_DAT_800586c8 & 1) == 0) { - _DAT_800586c8 = _DAT_800586c8 + 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,0x2a,1); - FUN_7f009a84(); - lVar1 = FUN_7000b120(0,0xb000); - uVar3 = 0; - if (lVar1 != 0) { - do { - if (DAT_80026a90 == 5) { - if ((uVar3 == 0) || (uVar2 = 1, uVar3 == _DAT_800586c8)) { - uVar2 = 0; - } - FUN_7f014c24(uVar3,uVar2); - } - else { - FUN_7f014c24(uVar3,(ulonglong)(uVar3 == _DAT_800586c8)); - } - uVar3 += 1; - } while (uVar3 != 4); - FUN_7f01a438(0xe,0); - FUN_70008268(_DAT_80056900,199,0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0154D4(undefined8 uParm1) - -{ - bool bVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - undefined2 uVar7; - undefined4 uVar5; - undefined4 uVar6; - int iVar8; - uint uVar9; - uint *puVar10; - uint *puVar11; - int iStack76; - int iStack72; - int iStack68; - int aiStack64 [2]; - int iStack56; - int iStack52; - int iStack48; - undefined auStack44 [16]; - int iStack28; - uint uStack4; - - uStack4 = FUN_7f010180(); - uVar2 = FUN_70004120(uParm1,0,0,0); - uVar2 = FUN_70003948(uVar2); - uVar2 = FUN_7f00d4e8(uVar2); - uVar2 = loc_7F0ACED4(uVar2); - puVar11 = (uint *)microcode_constructor_related_to_menus(uVar2,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)uStack4) { - puVar11 = (uint *)microcode_constructor_related_to_menus(puVar11,0xd4,0x1e,0xd6,0x136,0x80); - } - uVar9 = 0; - if (0 < (int)uStack4) { - bVar1 = true; - puVar10 = puVar11; - while( true ) { - if (bVar1) { - iVar3 = 0; - } - else { - iVar3 = 0x8c; - } - if ((uVar9 & 1) == 0) { - iVar4 = 0; - } - else { - iVar4 = 0xaf; - } - iVar8 = iVar4 + 0x7d; - puVar11 = puVar10 + 2; - *puVar10 = ((int)((float)(iVar4 + 0x2c) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar3 + 0x23) * 4.00000000) & 0xfffU; - puVar10[1] = ((int)((float)(iVar4 + 0xcf) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar3 + 0xa5) * 4.00000000) & 0xfffU; - iStack28 = iVar8; - if (uVar9 == 0) { - iStack28 = iVar8; - uVar2 = FUN_7f0c12b8(0x9c58); - loc_7F0AEB50(auStack44,&iStack48,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iStack52 = iVar8 - (iStack48 >> 1); - iStack56 = iVar3 + 0x23; - uVar7 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - puVar11 = (uint *)FUN_7f009660(puVar11,&iStack52,&iStack56,uVar2,DAT_8003ab08,DAT_8003ab04, - 0xff,uVar7,uVar5,0,0); - } - if (DAT_80026a90 == 5) { - bVar1 = uVar9 == 0 || uVar9 == _DAT_800586c8; - } - else { - bVar1 = uVar9 != _DAT_800586c8; - } - if (bVar1) { - uVar2 = FUN_7f0c12b8(0x9c59); - } - else { - uVar2 = FUN_7f0c12b8(0x9c5a); - } - if (bVar1) { - uVar5 = 0xff0000ff; - } - else { - uVar5 = 0xffff; - } - loc_7F0AEB50(aiStack64,&iStack68,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iStack76 = (iVar3 - (aiStack64[0] >> 1)) + 100; - iStack72 = iStack28 - (iStack68 >> 1); - if ((uVar9 != _DAT_800586c8) || ((uVar9 == _DAT_800586c8 && (DAT_80026ab0 < 10)))) { - uVar7 = FUN_70003e6c(); - uVar6 = FUN_70003e7c(); - puVar11 = (uint *)FUN_7f009660(puVar11,&iStack72,&iStack76,uVar2,DAT_8003ab08,DAT_8003ab04, - uVar5,uVar7,uVar6,0,0); - } - uVar9 += 1; - if (uVar9 == uStack4) break; - bVar1 = (int)uVar9 < 2; - puVar10 = puVar11; - } - } - combiner_bayer_lod_perspective(puVar11); - return; -} - - - -void FUN_7f015490(undefined4 uParm1) - -{ - DAT_80025e64 = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0154a0(void) - -{ - undefined8 uVar1; - int iVar2; - int iVar3; - - iVar3 = DAT_80025ea0; - _DAT_800586cc = - FUN_7f0bc188(*(undefined4 *)(DAT_80025e48 * 0x1c + -0x7ffd9eb4),1,DAT_80025ea0 + 0xa000,0x200 - ); - uVar1 = get_textptr_for_textID((&DAT_8002613c)[DAT_80025e48 * 7]); - FUN_7f0c1244(uVar1,iVar3 + 0xa200,0x6de00); - iVar2 = 0; - iVar3 = _DAT_800586cc; - do { - iVar2 += 4; - if (*(short *)(iVar3 + 8) == 0) { - return; - } - iVar3 += 4; - } while (iVar2 != 0x28); - return; -} - - - -void FUN_7f015574(void) - -{ - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e60 = 5; - FUN_7f015490(0); - FUN_7f00b7ac(); - FUN_7f0154a0(); - return; -} - - - -void FUN_7f0155c0(void) - -{ - undefined8 uVar1; - - uVar1 = get_textptr_for_textID((&DAT_8002613c)[DAT_80025e48 * 7]); - FUN_7f0c12a4(uVar1); - if (-1 < DAT_80025e14) { - FUN_7f00b890(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f01561c(void) - -{ - longlong lVar1; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047be0); - FUN_700040a0(0x42c80000,DAT_80047be4); - FUN_70003f84(0); - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - lVar1 = FUN_7f00a29c(); - if (lVar1 == 0) { - lVar1 = FUN_7f00a478(); - if ((lVar1 == 0) || (DAT_80025e60 + -1 <= DAT_80025e64)) { - lVar1 = FUN_7f00a0e4(); - if (lVar1 == 0) { - if (DAT_80025e64 < DAT_80025e60 + -1) { - DAT_80025e30 = 1; - } - else { - DAT_80025e2c = 1; - } - } - else { - DAT_80025e2c = 1; - } - } - else { - DAT_80025e30 = 1; - } - } - else { - DAT_80025e34 = 1; - } - lVar1 = FUN_7000b120(0,0x1000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0xa000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0x4000); - if (lVar1 != 0) { - if (DAT_80025e64 < 1) { - DAT_80025e28 = 1; - } - else { - FUN_7f015490(DAT_80025e64 + -1); - } - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e30 == 0) { - if (DAT_80025e34 == 0) { - if (DAT_80025e2c != 0) { - DAT_80025e24 = 1; - } - } - else { - if (DAT_80025e64 < 1) { - DAT_80025e28 = 1; - } - else { - FUN_7f015490(DAT_80025e64 + -1); - } - } - } - else { - FUN_7f015490(DAT_80025e64 + 1); - } - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - DAT_80025e24 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0xc,(ulonglong)(DAT_80025e64 == 0)); - loc_7F00B7FC(DAT_80025eac,(&DAT_80026148)[DAT_80025e48 * 7] + 0x16,(ulonglong)(DAT_80025e64 == 0)) - ; - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,1,1); - loc_7F00B7FC(DAT_80025eac,3,1); - loc_7F00B7FC(DAT_80025eac,6,1); - FUN_7f009a84(); - if (DAT_80025e24 == 0) { - if (DAT_80025e28 != 0) { - FUN_7f01a438(7,0); - FUN_7f00e310((&DAT_80026148)[DAT_80025e48 * 7]); - } - } - else { - FUN_7f01a438(0xb,1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F015D34(undefined8 uParm1,int iParm2,char *pcParm3,int iParm4) - -{ - ushort uVar1; - undefined8 uVar2; - undefined2 uVar8; - undefined4 uVar5; - undefined8 uVar3; - longlong lVar4; - undefined4 uVar6; - int iVar7; - int iVar9; - int iVar10; - int iStack24; - undefined4 uStack20; - undefined4 uStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack8 = 0; - iVar10 = 0; - iStack4 = 0; - iVar9 = 0; - do { - uVar1 = *(ushort *)(_DAT_800586cc + iVar9 + 8); - if (uVar1 == 0) { - iStack4 += 1; - } - else { - if ((longlong)DAT_80025e4c < (longlong)(ulonglong)*(ushort *)(_DAT_800586cc + iVar9 + 10)) { - iStack4 += 1; - } - else { - uVar2 = FUN_7f0c12b8((ulonglong)uVar1); - strtol(pcParm3,s_a__80047930); - *pcParm3 = *pcParm3 + (char)iStack8; - iStack12 = 0; - uStack16 = 0; - loc_7F0AEB50(&iStack12,&uStack16,pcParm3,DAT_8003ab08,DAT_8003ab04,0); - uStack20 = 0x37; - iStack24 = iStack12 * iVar10 + iParm2; - uVar8 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar3 = FUN_7f009660(uParm1,&uStack20,&iStack24,pcParm3,DAT_8003ab08,DAT_8003ab04,0xff,uVar8 - ,uVar5,0,0); - uStack20 = 0x4b; - iStack24 = iStack12 * iVar10 + iParm2; - if (iParm4 == 0) { - loc_7F0AEEE0(0x140,uVar2,pcParm3,DAT_8003ab08,DAT_8003ab04); - } - else { - FUN_7f0abe54(2); - loc_7F0AEEE0(0xdc,uVar2,pcParm3,DAT_8003ab08,DAT_8003ab04); - FUN_7f0abe54(0); - } - uVar8 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uParm1 = FUN_7f009660(uVar3,&uStack20,&iStack24,pcParm3,DAT_8003ab08,DAT_8003ab04,0xff,uVar8 - ,uVar5,0,0); - if (iParm4 != 0) { - lVar4 = loc_7F057498(iStack4); - if ((lVar4 == 0) || (lVar4 != 1)) { - uVar5 = 0x780000ff; - uVar2 = FUN_7f0c12b8(0x9c5c); - } - else { - uVar5 = 0xff; - uVar2 = FUN_7f0c12b8(0x9c5b); - } - uStack20 = 0x136; - iStack24 = iStack12 * iVar10 + iParm2; - uVar8 = FUN_70003e6c(); - uVar6 = FUN_70003e7c(); - uParm1 = FUN_7f009660(uParm1,&uStack20,&iStack24,uVar2,DAT_8003ab08,DAT_8003ab04,uVar5, - uVar8,uVar6,0,0); - } - iVar7 = locret_7F0AC118(pcParm3); - iVar10 += iVar7; - iStack8 += 1; - iStack4 += 1; - } - } - iVar9 += 4; - } while (iStack4 != 10); - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f015cf4(undefined8 uParm1) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 extraout_v0_hi; - undefined4 extraout_v0_hi_00; - undefined4 extraout_v0_hi_01; - undefined4 extraout_v0_hi_02; - undefined4 extraout_v0_hi_03; - undefined4 extraout_v0_hi_04; - undefined4 extraout_v0_hi_05; - undefined4 extraout_v0_hi_06; - undefined4 extraout_v0_hi_07; - undefined2 extraout_var; - undefined2 extraout_var_00; - undefined2 extraout_var_01; - undefined2 extraout_var_02; - undefined2 extraout_var_03; - undefined2 extraout_var_04; - undefined2 extraout_var_05; - undefined2 extraout_var_06; - undefined2 extraout_var_07; - undefined2 extraout_v0_lo; - undefined2 extraout_v0_lo_00; - undefined2 extraout_v0_lo_01; - undefined2 extraout_v0_lo_02; - undefined2 extraout_v0_lo_03; - undefined2 extraout_v0_lo_04; - undefined2 uVar3; - undefined2 extraout_v0_lo_05; - undefined2 extraout_v0_lo_06; - undefined2 extraout_v0_lo_07; - undefined4 uStackX0; - undefined auStack3012 [3000]; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - FUN_70004120(uParm1,0,0,0); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_00,extraout_var_00),extraout_v0_lo_00)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_01,extraout_var_01),extraout_v0_lo_01)); - FUN_7f00d4e8(CONCAT62(CONCAT42(extraout_v0_hi_02,extraout_var_02),extraout_v0_lo_02)); - loc_7F0ACED4(CONCAT62(CONCAT42(extraout_v0_hi_03,extraout_var_03),extraout_v0_lo_03)); - uVar1 = FUN_7f00e9ec(CONCAT62(CONCAT42(extraout_v0_hi_04,extraout_var_04),extraout_v0_lo_04), - auStack3012); - switch(DAT_80025e64) { - case 0: - uStack4 = FUN_7f0c12b8(0x9c5d); - break; - case 1: - uStack4 = FUN_7f0c12b8(0x9c5e); - break; - case 2: - uStack4 = FUN_7f0c12b8(0x9c5f); - break; - case 3: - uStack4 = FUN_7f0c12b8(0x9c60); - break; - case 4: - uStack4 = FUN_7f0c12b8(0x9c61); - } - uStack8 = 0x37; - uStack12 = 0x8f; - uVar3 = FUN_70003e6c(); - uVar2 = FUN_70003e7c(); - FUN_7f009660(uVar1,&uStack8,&uStack12,uStack4,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar2,0,0); - if (DAT_80025e64 == 0) { - uStackX0 = loc_7F015D34(CONCAT62(CONCAT42(extraout_v0_hi_05,extraout_var_05),extraout_v0_lo_05), - 0xa7,auStack3012,0); - } - else { - if (DAT_80025e64 == 1) { - uStack4 = FUN_7f0c12b8((ulonglong)*_DAT_800586cc); - } - else { - if (DAT_80025e64 == 2) { - uStack4 = FUN_7f0c12b8((ulonglong)_DAT_800586cc[1]); - } - else { - if (DAT_80025e64 == 3) { - uStack4 = FUN_7f0c12b8((ulonglong)_DAT_800586cc[2]); - } - else { - if (DAT_80025e64 == 4) { - uStack4 = FUN_7f0c12b8((ulonglong)_DAT_800586cc[3]); - } - } - } - } - uStack8 = 0x37; - uStack12 = 0xa7; - loc_7F0AEEE0(0x140,uStack4,auStack3012,DAT_8003ab08,DAT_8003ab04); - FUN_7f0abe60(8); - uVar3 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - uStackX0 = FUN_7f009660(CONCAT22(extraout_var_05,extraout_v0_lo_05),&uStack8,&uStack12, - auStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar1,0,0); - FUN_7f0abe60(0xffffffffffffffff); - } - FUN_7f009f80(uStackX0); - FUN_7f00a138(CONCAT62(CONCAT42(extraout_v0_hi_06,extraout_var_06),extraout_v0_lo_06)); - uStackX0 = CONCAT22(extraout_var_07,extraout_v0_lo_07); - if (DAT_80025e64 < 4) { - uStackX0 = FUN_7f00a314(CONCAT62(CONCAT42(extraout_v0_hi_07,extraout_var_07),extraout_v0_lo_07)) - ; - } - FUN_7f009e08(uStackX0); - return; -} - - - -void FUN_7f015fb8(void) - -{ - FUN_70005d98(DAT_80025e44); - __scSchedule(DAT_80025e4c); - return; -} - - - -void FUN_7f015fe8(void) - -{ - DAT_80025e24 = 0; - DAT_80025e28 = 0; - FUN_7f00b7ac(); - FUN_7f0154a0(); - FUN_7f00a2f0(); - if (DAT_80025e8c != 0) { - loc_70009204(0x7fff); - FUN_7000649c(0x7fff); - DAT_800221dc = 0; - FUN_700062dc(0x17); - DAT_80025e8c = 0; - } - return; -} - - - -void FUN_7f01605c(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f016064(void) - -{ - longlong lVar1; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047bfc); - FUN_700040a0(0x42c80000,DAT_80047c00); - FUN_70003f84(0); - DAT_80025e30 = 0; - DAT_80025e34 = 0; - lVar1 = FUN_7f00a29c(); - if (lVar1 == 0) { - lVar1 = FUN_7f00a478(); - if (lVar1 == 0) { - DAT_80025e30 = 1; - } - else { - DAT_80025e30 = 1; - } - } - else { - DAT_80025e34 = 1; - } - lVar1 = FUN_7000b120(0,0xb000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0x4000); - if (lVar1 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e34 == 0) { - if (DAT_80025e30 != 0) { - DAT_80025e24 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,1,1); - loc_7F00B7FC(DAT_80025eac,3,1); - loc_7F00B7FC(DAT_80025eac,6,1); - FUN_7f009a84(); - if (DAT_80025e24 == 0) { - if (DAT_80025e28 != 0) { - FUN_7f01a438(7,0); - FUN_7f00e310((&DAT_80026148)[DAT_80025e48 * 7]); - } - } - else { - FUN_7f01a438(0xd,0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f016270(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - - if (DAT_80025e74 == 0) { - iVar2 = 0; - iVar3 = 0; - if (DAT_80025e78 == 0) { - while (((*(short *)(_DAT_800586cc + iVar3 + 8) == 0 || - (lVar1 = FUN_7f0bf084(), - lVar1 < (longlong)(ulonglong)*(ushort *)(_DAT_800586cc + iVar3 + 10))) || - (lVar1 = loc_7F057498(iVar2), lVar1 == 1))) { - iVar2 += 1; - iVar3 += 4; - if (iVar2 == 10) { - return 1; - } - } - return 0; - } - } - return 0; -} - - - -void FUN_7f016340(undefined8 uParm1) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 extraout_v0_hi; - undefined4 extraout_v0_hi_00; - undefined4 extraout_v0_hi_01; - undefined4 extraout_v0_hi_02; - undefined4 extraout_v0_hi_03; - undefined4 extraout_v0_hi_04; - undefined4 extraout_v0_hi_05; - undefined4 extraout_v0_hi_06; - undefined4 extraout_v0_hi_07; - undefined4 extraout_v0_hi_08; - undefined4 extraout_v0_hi_09; - undefined4 extraout_v0_hi_10; - undefined2 extraout_var; - undefined2 extraout_var_00; - undefined2 extraout_var_01; - undefined2 extraout_var_02; - undefined2 extraout_var_03; - undefined2 extraout_var_04; - undefined2 extraout_var_05; - undefined2 extraout_var_06; - undefined2 extraout_var_07; - undefined2 extraout_var_08; - undefined2 extraout_var_09; - undefined2 extraout_var_10; - undefined2 extraout_v0_lo; - undefined2 extraout_v0_lo_00; - undefined2 extraout_v0_lo_01; - undefined2 extraout_v0_lo_02; - undefined2 extraout_v0_lo_03; - undefined2 extraout_v0_lo_04; - undefined2 uVar3; - undefined2 extraout_v0_lo_05; - undefined2 extraout_v0_lo_06; - undefined2 extraout_v0_lo_07; - undefined2 extraout_v0_lo_08; - undefined2 extraout_v0_lo_09; - undefined2 extraout_v0_lo_10; - int iStack3024; - undefined4 uStack3020; - undefined4 uStack3016; - undefined4 uStack3012; - undefined auStack3008 [3000]; - undefined4 uStack8; - int iStack4; - - FUN_70004120(uParm1,0,0,0); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_00,extraout_var_00),extraout_v0_lo_00)); - FUN_70003948(CONCAT62(CONCAT42(extraout_v0_hi_01,extraout_var_01),extraout_v0_lo_01)); - FUN_7f00d4e8(CONCAT62(CONCAT42(extraout_v0_hi_02,extraout_var_02),extraout_v0_lo_02)); - loc_7F0ACED4(CONCAT62(CONCAT42(extraout_v0_hi_03,extraout_var_03),extraout_v0_lo_03)); - uVar1 = FUN_7f00e9ec(CONCAT62(CONCAT42(extraout_v0_hi_04,extraout_var_04),extraout_v0_lo_04), - auStack3008); - uStack3012 = FUN_7f0c12b8(0x9c62); - iStack4 = 0x37; - uStack8 = 0x8f; - uVar3 = FUN_70003e6c(); - uVar2 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,&iStack4,&uStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar2 - ,0,0); - FUN_7f0c12b8(0x9c63); - uStack3012 = CONCAT22(extraout_var_05,extraout_v0_lo_05); - iStack3024 = 0; - uStack3020 = 0; - loc_7F0AEB50(&uStack3020,&iStack3024, - CONCAT62(CONCAT42(extraout_v0_hi_05,extraout_var_05),extraout_v0_lo_05),DAT_8003ab08, - DAT_8003ab04,0); - iStack4 = 0x37; - uStack8 = 0xa7; - uVar3 = FUN_70003e6c(); - uVar2 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,&iStack4,&uStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar3,uVar2 - ,0,0); - if (DAT_80025e78 == 0) { - if (DAT_80025e74 == 0) { - FUN_7f016270(); - if (CONCAT62(CONCAT42(extraout_v0_hi_06,extraout_var_06),extraout_v0_lo_06) == 0) { - uStack3012 = FUN_7f0c12b8(0x9c67); - uStack3016 = 0x780000ff; - } - else { - uStack3012 = FUN_7f0c12b8(0x9c66); - uStack3016 = 0xff; - } - } - else { - uStack3012 = FUN_7f0c12b8(0x9c65); - uStack3016 = 0x780000ff; - } - } - else { - uStack3012 = FUN_7f0c12b8(0x9c64); - uStack3016 = 0x780000ff; - } - uStack8 = 0xa7; - iStack4 = iStack3024 + 0x37; - uVar3 = FUN_70003e6c(); - uVar2 = FUN_70003e7c(); - FUN_7f009660(uVar1,&iStack4,&uStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,uStack3016,uVar3,uVar2,0 - ,0); - loc_7F015D34(CONCAT62(CONCAT42(extraout_v0_hi_07,extraout_var_07),extraout_v0_lo_07),0xbf, - auStack3008,1); - FUN_7f00a314(CONCAT62(CONCAT42(extraout_v0_hi_08,extraout_var_08),extraout_v0_lo_08)); - FUN_7f00a138(CONCAT62(CONCAT42(extraout_v0_hi_09,extraout_var_09),extraout_v0_lo_09)); - FUN_7f009e08(CONCAT62(CONCAT42(extraout_v0_hi_10,extraout_var_10),extraout_v0_lo_10)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0165d8(void) - -{ - DAT_80025e24 = 0; - DAT_80025e28 = 0; - FUN_7f00b7ac(); - FUN_7f0154a0(); - if (_DAT_800586d0 != 0) { - FUN_70008268(_DAT_80056900,0x102,0); - } - return; -} - - - -void FUN_7f01662c(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f016634(void) - -{ - longlong lVar1; - undefined **ppuVar2; - undefined **ppuVar3; - int iVar4; - short sVar5; - undefined *puVar6; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047c04); - FUN_700040a0(0x42c80000,DAT_80047c08); - FUN_70003f84(0); - DAT_80025e34 = 0; - DAT_80025e30 = 0; - lVar1 = FUN_7f00a29c(); - if (lVar1 == 0) { - lVar1 = FUN_7f00a478(); - if (lVar1 == 0) { - DAT_80025e30 = 1; - } - else { - DAT_80025e30 = 1; - } - } - else { - DAT_80025e34 = 1; - } - lVar1 = FUN_7000b120(0,0xb000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0x4000); - if (lVar1 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e30 == 0) { - if (DAT_80025e34 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - DAT_80025e24 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,1,1); - loc_7F00B7FC(DAT_80025eac,3,1); - loc_7F00B7FC(DAT_80025eac,6,1); - FUN_7f009a84(); - if (DAT_80025e24 == 0) { - if (DAT_80025e28 != 0) { - FUN_7f01a438(7,0); - FUN_7f00e310((&DAT_80026148)[DAT_80025e48 * 7]); - } - } - else { - lVar1 = FUN_7f016270(); - if ((lVar1 == 0) || (DAT_80025e50 != 0)) { - FUN_7f01a438(10,0); - } - else { - if ((&DAT_80026148)[DAT_80025e48 * 7] == 0x11) { - FUN_7f01a438(0xb,1); - DAT_80025e44 = (undefined *)0x36; - } - else { - iVar4 = DAT_80025e48 + 1; - if ((int)(&DAT_80026148)[DAT_80025e48 * 7] < 0x12) { - sVar5 = (&DAT_80026138)[iVar4 * 0xe]; - ppuVar3 = &PTR_s_1_80026134 + iVar4 * 7; - if (sVar5 != 0) { - puVar6 = (undefined *)(&DAT_8002613c)[iVar4 * 7]; - ppuVar2 = &PTR_s_1_80026134 + iVar4 * 7; - while (ppuVar3 = ppuVar2, (int)puVar6 < 0) { - sVar5 = *(short *)(ppuVar2 + 8); - iVar4 += 1; - ppuVar3 = ppuVar2 + 7; - if (sVar5 == 0) break; - puVar6 = ppuVar2[9]; - ppuVar2 = ppuVar3; - } - } - if (sVar5 != 0) { - DAT_80025e44 = ppuVar3[2]; - DAT_80025e48 = iVar4; - } - FUN_7f01a438(10,0); - } - else { - FUN_7f01a438(7,0); - FUN_7f00e310((&DAT_80026148)[DAT_80025e48 * 7]); - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f016964(undefined8 uParm1) - -{ - int iVar1; - undefined8 uVar2; - int iVar5; - undefined4 uVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - undefined2 uVar15; - undefined4 uVar14; - undefined8 uVar3; - longlong lVar4; - int iVar16; - int iVar17; - float fVar18; - float fVar19; - undefined4 in_f5; - undefined4 uStack3020; - int iStack3016; - undefined4 uStack3012; - undefined auStack3008 [3000]; - int iStack8; - undefined4 uStack4; - - uVar2 = FUN_70004120(uParm1,0,0,0); - uVar2 = FUN_70003948(uVar2); - uVar2 = FUN_7f00d4e8(uVar2); - uVar2 = loc_7F0ACED4(uVar2); - iVar5 = FUN_7f08c2ac(); - uVar6 = FUN_7f06b0cc(); - iVar7 = FUN_7f06aee8(0); - iVar8 = FUN_7f06aee8(1); - iVar9 = FUN_7f06aee8(2); - iVar10 = FUN_7f06aee8(3); - iVar11 = FUN_7f06aee8(4); - iVar12 = FUN_7f06aee8(5); - iVar13 = FUN_7f06aee8(6); - iVar16 = iVar8 + iVar9 + iVar10 + iVar11 + iVar12; - iVar13 = iVar16 + iVar13; - if (iVar16 < 1) { - iVar16 = 1; - } - uVar2 = FUN_7f00e9ec(uVar2,auStack3008); - uStack3012 = FUN_7f0c12b8(0x9c68); - uStack4 = 0x37; - iStack8 = 0x8f; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uStack3020 = 0; - iStack3016 = 0; - loc_7F0AEB50(&iStack3016,&uStack3020,uStack3012,DAT_8003ab08,DAT_8003ab04,0); - uStack3012 = FUN_7f0c12b8(0x9c69); - uStack4 = 0x37; - iStack8 = 0xa7; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uVar3 = FUN_7f01dc24(DAT_80025e38); - lVar4 = loc_7F01DAD4(uVar3,(&DAT_80026148)[DAT_80025e48 * 7],DAT_80025e4c); - lVar4._4_4_ = (int)lVar4; - if ((lVar4 == 0) || (0x3fe < lVar4)) { - lVar4._4_4_ = -1; - } - iVar17 = DAT_80025e4c; - if (2 < DAT_80025e4c) { - iVar17 = 2; - } - iVar1 = iVar5 / 0x3c; - auStack3008[0] = 0; - iVar17 = (int)*(short *)((&DAT_80026148)[DAT_80025e48 * 7] * 6 + iVar17 * 2 + -0x7ffd954c); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - FUN_7000a0f4(auStack3008,s__02d__02d_80047934,iVar1 / 0x3c,iVar1 % 0x3c); - uStack4 = 0x82; - iStack8 = 0xa7; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - if (_DAT_800586d0 != 0) { - auStack3008[0] = 0; - uVar3 = FUN_7f0c12b8(0x9d13); - FUN_7000a0f4(auStack3008,s____s__80047940,uVar3); - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xa00000ff, - uVar15,uVar14,0,0); - } - if ((iVar17 < 1) || (DAT_80025e4c == 3)) { - if ((-1 < lVar4._4_4_) && (lVar4._4_4_ < 0x3ff)) { - uStack3012 = FUN_7f0c12b8(0x9d11); - iStack8 = iStack3016 + 0xa9; - uStack4 = 0x37; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - auStack3008[0] = 0; - FUN_7000a0f4(auStack3008,s__02d__02d_80047974,lVar4._4_4_ / 0x3c,lVar4._4_4_ % 0x3c); - uStack4 = 0x82; - iStack8 = iStack3016 + 0xa9; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15 - ,uVar14,0,0); - } - } - else { - uStack3012 = FUN_7f0c12b8(0x9d12); - iStack8 = iStack3016 + 0xa9; - uStack4 = 0x37; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - auStack3008[0] = 0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar17 == -0x80000000)) { - trap(0x1800); - } - FUN_7000a0f4(auStack3008,s__02d__02d_8004794c,iVar17 / 0x3c,iVar17 % 0x3c); - uStack4 = 0x82; - iStack8 = iStack3016 + 0xa9; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - if ((-1 < lVar4._4_4_) && (lVar4._4_4_ < 0x3ff)) { - auStack3008[0] = 0; - if (lVar4._4_4_ < 0) { - FUN_7000a0f4(auStack3008,s__80047970); - } - else { - uVar3 = FUN_7f0c12b8(0x9d11); - if (false) { - trap(0x1c00); - } - if ((false) && (lVar4._4_4_ == -0x80000000)) { - trap(0x1800); - } - FUN_7000a0f4(auStack3008,s____s__02d__02d__80047958,uVar3,lVar4._4_4_ / 0x3c, - lVar4._4_4_ % 0x3c); - } - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15 - ,uVar14,0,0); - } - } - uStack3012 = FUN_7f0c12b8(0x9c6a); - uStack4 = 0x37; - iStack8 = 0xcc; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - if (iVar7 < 1) { - fVar18 = 0.00000000; - } - else { - fVar18 = ((float)iVar13 * 100.00000000) / (float)iVar7; - } - FUN_7000a0f4(auStack3008,s___1f___80047980,in_f5,SUB84((double)fVar18,0)); - uStack4 = 0x82; - iStack8 = 0xcc; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uStack3012 = FUN_7f0c12b8(0x9c6b); - uStack4 = 0x37; - iStack8 = 0xdc; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uVar3 = FUN_7f009a50(0,0); - strtol(auStack3008,uVar3); - if ((0 < _DAT_80058650) && (_DAT_80058654 == _DAT_80058650)) { - iVar5 = locret_7001389C(auStack3008); - FUN_7000a0f4((int)&uStack3012 + iVar5 + 3,s__x_2_80047988); - } - uStack4 = 0xbe; - iStack8 = 0xdc; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uStack3012 = FUN_7f0c12b8(0x9c6c); - uStack4 = 0x37; - iStack8 = 0xf4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - FUN_7000a0f4(auStack3008,s__d_80047990,iVar7); - uStack4 = 0x82; - iStack8 = 0xf4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uStack3012 = FUN_7f0c12b8(0x9c6d); - uStack4 = 0xb4; - iStack8 = 0xf4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - fVar18 = (float)iVar16; - fVar19 = (float)sub_GAME_7F05C3D8(((float)iVar8 * 100.00000000) / fVar18 + 0.50000000); - FUN_7000a0f4(auStack3008,s__d___d____80047994,iVar8,(int)fVar19); - uStack4 = 300; - iStack8 = 0xf4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uStack3012 = FUN_7f0c12b8(0x9c6e); - iStack8 = iStack3016 + 0xf4; - uStack4 = 0xb4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - fVar19 = (float)sub_GAME_7F05C3D8(((float)iVar9 * 100.00000000) / fVar18 + 0.50000000); - FUN_7000a0f4(auStack3008,s__d___d____800479a0,iVar9,(int)fVar19); - uStack4 = 300; - iStack8 = iStack3016 + 0xf4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uStack3012 = FUN_7f0c12b8(0x9c6f); - iStack8 = iStack3016 * 2 + 0xf4; - uStack4 = 0xb4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - fVar19 = (float)sub_GAME_7F05C3D8(((float)iVar10 * 100.00000000) / fVar18 + 0.50000000); - FUN_7000a0f4(auStack3008,s__d___d____800479ac,iVar10,(int)fVar19); - uStack4 = 300; - iStack8 = iStack3016 * 2 + 0xf4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uStack3012 = FUN_7f0c12b8(0x9c70); - iStack8 = iStack3016 * 3 + 0xf4; - uStack4 = 0xb4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - fVar18 = (float)sub_GAME_7F05C3D8(((float)(iVar12 + iVar11) * 100.00000000) / fVar18 + 0.50000000) - ; - FUN_7000a0f4(auStack3008,s__d___d____800479b8,iVar12 + iVar11,(int)fVar18); - uStack4 = 300; - iStack8 = iStack3016 * 3 + 0xf4; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - uStack3012 = FUN_7f0c12b8(0x9c71); - iStack8 = iStack3016 + 0xf4; - uStack4 = 0x37; - uVar15 = FUN_70003e6c(); - uVar14 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,uStack3012,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar14,0,0); - FUN_7000a0f4(auStack3008,s__d_800479c4,uVar6); - uStack4 = 0x82; - iStack8 = iStack3016 + 0xf4; - uVar15 = FUN_70003e6c(); - uVar6 = FUN_70003e7c(); - uVar2 = FUN_7f009660(uVar2,&uStack4,&iStack8,auStack3008,DAT_8003ab08,DAT_8003ab04,0xff,uVar15, - uVar6,0,0); - uVar2 = FUN_7f00a314(uVar2); - uVar2 = FUN_7f00a138(uVar2); - FUN_7f009e08(uVar2); - return; -} - - - -void FUN_7f017aac(void) - -{ - int iVar1; - char *pcVar2; - - DAT_80025e20 = 0; - DAT_80025e24 = 0; - DAT_80025e28 = 0; - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - DAT_80026b2c = 0; - pcVar2 = &DAT_80058591; - iVar1 = 1; - do { - if (*pcVar2 != '\0') { - *(int *)(&DAT_80058730 + DAT_80026b2c * 4) = iVar1; - DAT_80026b2c += 1; - } - iVar1 += 1; - pcVar2 = pcVar2 + 1; - } while (iVar1 != 0x4b); - FUN_7f00b7ac(); - return; -} - - - -void FUN_7f017b50(void) - -{ - longlong lVar1; - int iVar2; - char *pcVar3; - undefined4 uVar4; - undefined4 uVar5; - - uVar4 = 0; - uVar5 = 0; - pcVar3 = &DAT_800585e1; - iVar2 = 1; - do { - if (*pcVar3 != '\0') { - uVar4 = 1; - lVar1 = FUN_7f090ef8(iVar2); - if (lVar1 != 0) { - uVar5 = 1; - } - } - iVar2 += 1; - pcVar3 = pcVar3 + 1; - } while (iVar2 != 0x4b); - DAT_80025e50 = uVar4; - DAT_80025e54 = uVar5; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f017be4(void) - -{ - int iVar1; - longlong lVar2; - int iVar3; - int iVar4; - - FUN_70003f94(0x42700000); - FUN_70003fe0(DAT_80047c0c); - FUN_700040a0(0x42c80000,DAT_80047c10); - FUN_70003f84(0); - DAT_80026b34 = 0; - lVar2 = FUN_7000b080(0,0xa000); - iVar1 = DAT_80026b30; - if (lVar2 == 0) { - DAT_80025e34 = 0; - DAT_80025e30 = 0; - DAT_80025e2c = 0; - DAT_80026b30 = 0; - lVar2 = FUN_7f00a29c(); - if (lVar2 == 0) { - iVar1 = DAT_80026b30; - if (((0xc < DAT_80026b2c) && - (iVar4 = DAT_80026b2c + -0xd, iVar1 = DAT_80026b30, 0xdb < (int)DAT_80025e58)) && - (iVar1 = DAT_80026b30, -1 < iVar4)) { - iVar3 = iVar4 * 0x14 + 0x35; - do { - iVar1 = iVar4 + 0xc; - if (iVar3 <= (int)DAT_80025e5c) break; - iVar4 += -1; - iVar3 += -0x14; - iVar1 = DAT_80026b30; - } while (-1 < iVar4); - } - DAT_80026b30 = iVar1; - iVar1 = DAT_80026b30; - if (DAT_80026b30 == 0) { - iVar4 = DAT_80026b2c + -1; - if (0xc < DAT_80026b2c) { - iVar4 = 0xb; - } - iVar1 = DAT_80026b30; - if (-1 < iVar4) { - iVar3 = iVar4 * 0x14 + 0x35; - do { - iVar1 = iVar4; - if (iVar3 <= (int)DAT_80025e5c) break; - iVar4 += -1; - iVar3 += -0x14; - iVar1 = DAT_80026b30; - } while (-1 < iVar4); - } - } - } - else { - DAT_80025e34 = 1; - iVar1 = DAT_80026b30; - } - } - DAT_80026b30 = iVar1; - lVar2 = FUN_7000b120(0,0xa000); - if (lVar2 == 0) { - lVar2 = FUN_7000b120(0,0x4000); - if (lVar2 != 0) { - DAT_80025e28 = 1; - FUN_70008268(_DAT_80056900,199,0); - } - } - else { - if (DAT_80025e34 == 0) { - DAT_80026b34 = 1; - } - else { - DAT_80025e28 = 1; - } - FUN_70008268(_DAT_80056900,199,0); - } - loc_7F00B7A8(DAT_80025eac); - loc_7F00B7FC(DAT_80025eac,0,1); - loc_7F00B7FC(DAT_80025eac,0x2a,1); - loc_7F00B7FC(DAT_80025eac,6,1); - FUN_7f009a84(); - if (DAT_80025e28 == 0) { - if (DAT_80026b34 != 0) { - *(char *)(*(int *)(&DAT_80058730 + DAT_80026b30 * 4) + -0x7ffa7a20) = - '\x01' - *(char *)(*(int *)(&DAT_80058730 + DAT_80026b30 * 4) + -0x7ffa7a20); - } - } - else { - FUN_7f01a438(6,0); - FUN_7f00d6fc(DAT_80025e40); - } - return; -} - - - -void FUN_7f017eb8(undefined8 uParm1) - -{ - undefined8 uVar1; - undefined8 uVar2; - longlong lVar3; - undefined2 uVar6; - undefined4 uVar4; - undefined4 uVar5; - int iVar7; - int *piVar8; - undefined *puVar9; - int iVar10; - int iVar11; - int iStack28; - undefined auStack24 [4]; - int iStack20; - int aiStack16 [4]; - - uVar1 = FUN_70004120(uParm1,0,0,0); - uVar1 = FUN_70003948(uVar1); - uVar1 = FUN_70003948(uVar1); - uVar1 = FUN_70003948(uVar1); - uVar1 = FUN_70003948(uVar1); - uVar1 = FUN_7f00d4e8(uVar1); - uVar1 = loc_7F0ACED4(uVar1); - iVar11 = 0; - iVar10 = DAT_80026b2c; - if (0xc < DAT_80026b2c) { - iVar10 = 0xc; - } - if (0 < iVar10) { - iVar10 = 0x35; - piVar8 = (int *)&DAT_80058730; - do { - uVar2 = FUN_7f091c94(*piVar8); - loc_7F0AEB50(auStack24,&iStack28,uVar2,DAT_8003ab08,DAT_8003ab04,0); - aiStack16[0] = 0x37; - iStack20 = iVar10; - if ((iVar11 == DAT_80026b30) && (iStack20 = iVar10, lVar3 = FUN_7f00a29c(), lVar3 == 0)) { - uVar1 = microcode_constructor_related_to_menus - (uVar1,aiStack16[0] + -2,iStack20 + -1,aiStack16[0] + iStack28 + 5, - iStack20 + 0xe,0x32); - } - uVar6 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,aiStack16,&iStack20,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar6, - uVar4,0,0); - uVar2 = 0x9c74; - if (*(char *)(*piVar8 + -0x7ffa7a20) != '\0') { - uVar2 = 0x9c73; - } - uVar2 = FUN_7f0c12b8(uVar2); - loc_7F0AEB50(auStack24,&iStack28,uVar2,DAT_8003ab08,DAT_8003ab04,0); - aiStack16[0] = 0xb3; - uVar4 = 0xff; - if (*(char *)(*piVar8 + -0x7ffa7a20) != '\0') { - uVar4 = 0xa00000ff; - } - iStack20 = iVar10; - uVar6 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,aiStack16,&iStack20,uVar2,DAT_8003ab08,DAT_8003ab04,uVar4,uVar6, - uVar5,0,0); - iVar11 += 1; - piVar8 = piVar8 + 1; - iVar10 += 0x14; - iVar7 = DAT_80026b2c; - if (0xc < DAT_80026b2c) { - iVar7 = 0xc; - } - } while (iVar11 < iVar7); - } - if ((0xc < DAT_80026b2c) && (iVar10 = 0, 0 < DAT_80026b2c + -0xc)) { - puVar9 = &DAT_80058730; - iVar11 = 0x35; - do { - uVar2 = FUN_7f091c94(*(undefined4 *)(puVar9 + 0x30)); - loc_7F0AEB50(auStack24,&iStack28,uVar2,DAT_8003ab08,DAT_8003ab04,0); - aiStack16[0] = 0xdc; - iStack20 = iVar11; - if ((iVar10 + 0xc == DAT_80026b30) && (iStack20 = iVar11, lVar3 = FUN_7f00a29c(), lVar3 == 0)) - { - uVar1 = microcode_constructor_related_to_menus - (uVar1,aiStack16[0] + -2,iStack20 + -1,aiStack16[0] + iStack28 + 5, - iStack20 + 0xe,0x32); - } - uVar6 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,aiStack16,&iStack20,uVar2,DAT_8003ab08,DAT_8003ab04,0xff,uVar6, - uVar4,0,0); - uVar2 = 0x9c74; - if (*(char *)(*(int *)(puVar9 + 0x30) + -0x7ffa7a20) != '\0') { - uVar2 = 0x9c73; - } - uVar2 = FUN_7f0c12b8(uVar2); - loc_7F0AEB50(auStack24,&iStack28,uVar2,DAT_8003ab08,DAT_8003ab04,0); - aiStack16[0] = 0x158; - uVar4 = 0xff; - if (*(char *)(*(int *)(puVar9 + 0x30) + -0x7ffa7a20) != '\0') { - uVar4 = 0xa00000ff; - } - iStack20 = iVar11; - uVar6 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar1 = FUN_7f009660(uVar1,aiStack16,&iStack20,uVar2,DAT_8003ab08,DAT_8003ab04,uVar4,uVar6, - uVar5,0,0); - iVar10 += 1; - puVar9 = puVar9 + 4; - iVar11 += 0x14; - } while (iVar10 < DAT_80026b2c + -0xc); - } - uVar1 = FUN_7f00a138(uVar1); - FUN_7f009e08(uVar1); - return; -} - - - -void FUN_7f0183ac(void) - -{ - return; -} - - - -void FUN_7f0183b4(void) - -{ - return; -} - - - -void FUN_7f0183bc(void) - -{ - return; -} - - - -undefined4 FUN_7f0183c4(undefined4 uParm1) - -{ - ulonglong uVar1; - undefined8 uVar2; - undefined4 uVar3; - undefined2 uVar5; - undefined4 uVar4; - bool bVar6; - undefined4 uStackX0; - undefined4 uStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - uVar1 = FUN_7000a790(); - bVar6 = (uVar1 & 8) != 0; - if ((uVar1 & 4) != 0) { - bVar6 = (bool)(bVar6 + '\x01'); - } - if ((uVar1 & 2) != 0) { - bVar6 = (bool)(bVar6 + '\x01'); - } - uVar2 = sub_GAME_7F01CA18(uParm1); - uVar3 = loc_7F0ACED4(uVar2); - if ((((bVar6 == false) || (bVar6 == true)) || (bVar6 == true)) || (bVar6 == true)) { - uStack20 = FUN_7f0c12b8(0x9c76); - } - loc_7F0AEB50(&iStack4,&iStack8,uStack20,DAT_8003ab08,DAT_8003ab04,0); - iStack12 = 0xdc - (iStack8 >> 1); - iStack16 = 0x99 - (iStack4 >> 1); - if (DAT_80041150 == 0) { - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uStackX0 = loc_7F0ADD78(uVar3,&iStack12,&iStack16,uStack20,DAT_8003ab08,DAT_8003ab04,0xffffffff, - uVar5,uVar4,0,0); - } - else { - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uStackX0 = loc_7F0AE958(uVar3,&iStack12,&iStack16,uStack20,DAT_8003ab08,DAT_8003ab04,0xffffffff, - 0x8000ff,uVar5,uVar4,0,0); - } - if (((bVar6 == false) || (bVar6 == true)) || ((bVar6 == true || (bVar6 == true)))) { - uStack20 = FUN_7f0c12b8(0x9c77); - } - loc_7F0AEB50(&iStack4,&iStack8,uStack20,DAT_8003ab08,DAT_8003ab04,0); - iStack12 = 0xdc - (iStack8 >> 1); - iStack16 = 0xb1 - (iStack4 >> 1); - if (DAT_80041150 == 0) { - uVar5 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - uStackX0 = loc_7F0ADD78(uStackX0,&iStack12,&iStack16,uStack20,DAT_8003ab08,DAT_8003ab04, - 0xffffffff,uVar5,uVar3,0,0); - } - else { - uVar5 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - uStackX0 = loc_7F0AE958(uStackX0,&iStack12,&iStack16,uStack20,DAT_8003ab08,DAT_8003ab04, - 0xffffffff,0x8000ff,uVar5,uVar3,0,0); - } - return uStackX0; -} - - - -void FUN_7f0186e8(longlong lParm1) - -{ - if (lParm1 != 0) { - DAT_80026b38 = 0; - DAT_80026b4c = (int)lParm1; - return; - } - DAT_80026b38 = 1; - DAT_80026b4c = (int)lParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f018714(void) - -{ - uint uVar3; - ulonglong uVar1; - int iVar4; - int iVar5; - longlong lVar2; - int *piVar6; - int *piVar7; - int *piVar8; - int *piVar9; - float fVar10; - int local_8c [10]; - int local_64 [4]; - undefined4 local_54; - undefined4 local_50; - int local_4c; - uint local_48; - undefined *local_40; - undefined *local_3c; - undefined *local_38; - int local_34; - int local_30; - int local_2c; - undefined auStack40 [16]; - undefined4 local_18; - undefined4 local_14; - undefined4 local_10; - int local_8; - int local_4; - - local_4 = DAT_80025ea0; - local_18 = DAT_80026f7c; - local_14 = DAT_80026f80; - local_10 = DAT_80026f84; - local_3c = NULL; - local_48 = FUN_700098b0(); - local_48 &= 1; - if ((DAT_80026b4c != 0) && (DAT_80026b38 == 0)) { - FUN_7000649c(0x7fff); - DAT_800221dc = 0; - FUN_700062dc(2); - } - DAT_80026b40 = 0; - if (-1 < DAT_80026e0c) { - DAT_80026b40 = 1; - while (-1 < (int)(&DAT_80026e0c)[DAT_80026b40 * 4]) { - DAT_80026b40 += 1; - } - } - DAT_80026b3c = FUN_700098b0(); - DAT_80026b3c %= DAT_80026b40; - local_2c = *(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14); - local_30 = *(int *)(&DAT_80026b54 + DAT_80026b38 * 0x14); - local_4c = *(int *)(&DAT_80026e18 + DAT_80026b3c * 0x10); - if (DAT_80026b40 == 0) { - trap(0x1c00); - } - if (local_2c == 0x16) { - uVar3 = FUN_700098b0(); - if (true) { - switch(uVar3 % 5) { - case 1: - local_30 = 0x4b; - local_2c = 0x17; - break; - case 2: - local_30 = 0x4b; - local_2c = 0x18; - break; - case 3: - local_30 = 0x4b; - local_2c = 0x19; - break; - case 4: - local_30 = 0x4e; - local_2c = 5; - } - } - } - else { - if (local_2c == 0x10) { - uVar1 = FUN_700098b0(); - if ((uVar1 & 1) != 0) { - local_2c = 0x4f; - } - } - else { - if ((local_2c == 9) && (uVar1 = FUN_700098b0(), (uVar1 & 1) != 0)) { - local_2c = 8; - } - } - } - if (local_30 == -0x61) { - local_30 = FUN_7f023640(local_2c); - } - local_8 = 0x31160; - FUN_7f0d1968((local_4 + 0x3119fU | 0x3f) ^ 0x3f,0x1b8,0x14a); - sub_7F0CBAF4(auStack40,local_4,0x19000); - iVar5 = local_2c; - local_38 = (&PTR_DAT_80037a60)[local_2c * 5]; - local_4 += 0x19000; - local_8 += -0x19000; - loc_7F0764EC(local_38,(&PTR_s_CcamguardZ_80037a64)[local_2c * 5],local_4,local_8,auStack40); - iVar4 = FUN_7f0bc540((&PTR_s_CcamguardZ_80037a64)[iVar5 * 5]); - iVar5 = local_30; - uVar3 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_8 -= uVar3; - local_4 += uVar3; - if (-1 < local_30) { - local_3c = (&PTR_DAT_80037a60)[local_30 * 5]; - loc_7F0764EC(local_3c,(&PTR_s_CcamguardZ_80037a64)[local_30 * 5],local_4,local_8,auStack40); - iVar5 = FUN_7f0bc540((&PTR_s_CcamguardZ_80037a64)[iVar5 * 5]); - uVar3 = (iVar5 + 0x3fU | 0x3f) ^ 0x3f; - local_8 -= uVar3; - local_4 += uVar3; - } - DAT_80026b44 = FUN_7f023488(local_2c,local_30,local_38,local_3c,0); - set_obj_instance_controller_scale(DAT_80026b44,0x3dcccccd); - if (local_4c == 0) { - DAT_80026b48 = 0; - } - else { - if (local_4c == 2) { - local_64[0] = DAT_80026f88; - local_64[1] = DAT_80026f8c; - local_64[3] = DAT_80026f94; - local_64[2] = DAT_80026f90; - local_54 = DAT_80026f98; - local_50 = DAT_80026f9c; - uVar3 = FUN_700098b0(); - iVar5 = local_64[uVar3 % 6]; - } - else { - piVar6 = &DAT_80026fa0; - piVar8 = local_8c; - do { - piVar7 = piVar6 + 3; - piVar9 = piVar8 + 3; - *piVar8 = *piVar6; - piVar8[1] = piVar6[1]; - piVar8[2] = piVar6[2]; - piVar6 = piVar7; - piVar8 = piVar9; - } while (piVar7 != (int *)0x80026fc4); - *piVar9 = iRam80026fc4; - uVar3 = FUN_700098b0(); - iVar5 = local_8c[uVar3 % 10]; - } - if ((iVar5 == 0xbe) && (local_34 = iVar5, lVar2 = FUN_7f01e930(), iVar5 = local_34, lVar2 == 0)) - { - iVar5 = 0xbf; - } - if ((iVar5 == 0xbb) && (local_34 = iVar5, lVar2 = FUN_7f01e980(), iVar5 = local_34, lVar2 == 0)) - { - iVar5 = 0xbf; - } - if ((iVar5 == 0xd0) && (local_34 = iVar5, lVar2 = FUN_7f01e9d0(), iVar5 = local_34, lVar2 == 0)) - { - iVar5 = 0xbf; - } - local_40 = (&PTR_DAT_80034d88)[iVar5 * 3]; - loc_7F0764EC(local_40,(&PTR_s_Palarm1Z_80034d8c)[iVar5 * 3],local_4,local_8,auStack40); - FUN_7f0bc540((&PTR_s_Palarm1Z_80034d8c)[iVar5 * 3]); - FUN_7f075d7c(local_40); - DAT_80026b48 = FUN_7f06c7d4(local_40); - set_obj_instance_controller_scale(DAT_80026b48,0x3dcccccd); - iVar5 = 3; - *(int *)(DAT_80026b48 + 0x18) = DAT_80026b44; - if (local_48 != 0) { - iVar5 = 5; - } - *(undefined4 *)(DAT_80026b48 + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(DAT_80026b44 + 8) + 8) + iVar5 * 4); - } - sub_7F06CE84(DAT_80026b44,0x3dcccccd); - FUN_7f06d200(DAT_80026b44,&local_18); - FUN_7f06d274(DAT_80026b44,0); - loc_7F06FF50(DAT_80026b44,0x3f19999a,0); - FUN_7f06fe48(DAT_80026b44,*(undefined4 *)(&DAT_800252bc + (&DAT_80026e0c)[DAT_80026b3c * 4] * 4), - local_48,*(undefined4 *)(&DAT_80026e10 + DAT_80026b3c * 0x10), - *(undefined4 *)(&DAT_80026e14 + DAT_80026b3c * 0x10),0); - DAT_80025e1c = 0; - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - _DAT_800584e4 = fVar10 * 0.00000000 * 80.00000000 + 70.00000000; - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - _DAT_800584e8 = fVar10 * 0.00000000 * 80.00000000 + 70.00000000; - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - _DAT_800584f0 = (fVar10 * 0.00000000 - 0.50000000) * DAT_80047c28; - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - _DAT_800584f4 = (fVar10 * 0.00000000 - 0.50000000) * DAT_80047c2c; - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - _DAT_800584fc = fVar10 * 0.00000000 * 200.00000000 + -100.00000000; - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - _DAT_800584e0 = _DAT_800584e4; - _DAT_800584ec = _DAT_800584f0; - _DAT_800584f8 = _DAT_800584fc; - _DAT_80058500 = fVar10 * 0.00000000 * 200.00000000 + -100.00000000; - _DAT_80058524 = 1; - _DAT_80058528 = 0; - _DAT_8005852c = 0; - _DAT_80058530 = 0; - return; -} - - - -void FUN_7f018f94(void) - -{ - if (DAT_80026b44 != 0) { - FUN_7f06cb38(); - } - if (DAT_80026b48 != 0) { - FUN_7f06c974(); - } - return; -} - - - -void FUN_7f018fdc(void) - -{ - longlong lVar1; - uint uVar2; - int iVar3; - - FUN_70003f94(0x42380000); - FUN_700040a0(0x41200000,0x44fa0000); - FUN_70003f84(1); - FUN_70003fe0(DAT_80047c30); - FUN_7f09a71c(0x1b8,0x14a); - FUN_70003e8c(0x1b8,0x14a); - FUN_7f09a738(0,0); - FUN_70003f0c(0,0); - DAT_80025e1c += DAT_80040ff4; - if (DAT_80025e1c < 0x97) { - lVar1 = FUN_7000b120(0,0xffff); - if ((lVar1 != 0) && (DAT_80026b4c == 0)) { - FUN_7f01a438(5,1); - } - return; - } - iVar3 = DAT_80026b38 + 1; -LAB_7f0190a8: - DAT_80026b38 = iVar3; - if (*(int *)(&DAT_80026b60 + DAT_80026b38 * 0x14) != 0) goto code_r0x7f0190c8; - iVar3 = *(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14); - goto LAB_7f0190e4; -code_r0x7f0190c8: - iVar3 = DAT_80026b38 + 1; - if (DAT_80026b4c != 0) { - iVar3 = *(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14); -LAB_7f0190e4: - if ((iVar3 == 0x27) && (lVar1 = FUN_7f01e980(), lVar1 == 0)) { - iVar3 = DAT_80026b38 + 1; - goto LAB_7f0190a8; - } - if ((*(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14) == 0x28) && - (lVar1 = FUN_7f01e980(), lVar1 == 0)) { - iVar3 = DAT_80026b38 + 1; - goto LAB_7f0190a8; - } - if ((*(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14) == 0xe) && - (lVar1 = FUN_7f01e980(), lVar1 == 0)) { - uVar2 = FUN_700098b0(); - if (false) { - trap(0x1c00); - } - if (uVar2 % 10000 != 0) { - iVar3 = DAT_80026b38 + 1; - goto LAB_7f0190a8; - } - } - if ((*(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14) == 0xd) && - (lVar1 = FUN_7f01e980(), lVar1 == 0)) { - uVar2 = FUN_700098b0(); - if (false) { - trap(0x1c00); - } - if (uVar2 % 10000 != 0) { - iVar3 = DAT_80026b38 + 1; - goto LAB_7f0190a8; - } - } - if ((*(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14) == 0xf) && - (lVar1 = FUN_7f01e9d0(), lVar1 == 0)) { - uVar2 = FUN_700098b0(); - if (false) { - trap(0x1c00); - } - if (uVar2 % 10000 != 0) { - iVar3 = DAT_80026b38 + 1; - goto LAB_7f0190a8; - } - } - if ((*(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14) != 0xc) || - (lVar1 = FUN_7f01e9d0(), lVar1 != 0)) { -LAB_7f0192e4: - if (*(int *)(&DAT_80026b50 + DAT_80026b38 * 0x14) < 0) { - DAT_80026b38 = 0; - } - if (DAT_80026b38 < 1) { - if (DAT_80026b4c != 0) { - FUN_7f01a438(7,1); - FUN_7f00e310(0x11); - DAT_80026b4c = 0; - return; - } - FUN_7f0bfdf0(7); - return; - } - FUN_7f01a438(0x18,1); - return; - } - uVar2 = FUN_700098b0(); - if (false) { - trap(0x1c00); - } - if (uVar2 % 10000 == 0) goto LAB_7f0192e4; - iVar3 = DAT_80026b38 + 1; - } - goto LAB_7f0190a8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0193a4(undefined8 uParm1) - -{ - undefined8 uVar1; - undefined2 *puVar3; - undefined8 uVar2; - undefined2 uVar5; - undefined4 uVar4; - undefined **ppuVar6; - undefined **ppuVar7; - undefined4 *puVar8; - undefined4 *puVar9; - int iVar10; - int iVar12; - longlong lVar11; - float fVar13; - float fVar14; - uint uVar15; - undefined auStack368 [72]; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack268; - float fStack264; - int iStack256; - int iStack252; - undefined4 uStack248; - int iStack244; - undefined auStack240 [72]; - undefined *puStack168; - undefined4 uStack164; - undefined4 uStack160; - undefined4 *puStack156; - undefined4 uStack152; - undefined4 uStack120; - undefined auStack104 [68]; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = (float)DAT_80026fc8; - fStack8 = (float)DAT_80026fcc; - fStack4 = (float)DAT_80026fd0; - fStack24 = DAT_80026fd4; - fStack20 = DAT_80026fd8; - fStack16 = DAT_80026fdc; - uStack36 = DAT_80026fe0; - uStack32 = DAT_80026fe4; - uStack28 = DAT_80026fe8; - puVar8 = &DAT_80026fec; - ppuVar6 = &puStack168; - do { - puVar9 = puVar8 + 3; - ppuVar7 = ppuVar6 + 3; - *ppuVar6 = (undefined *)*puVar8; - ppuVar6[1] = (undefined *)puVar8[1]; - ppuVar6[2] = (undefined *)puVar8[2]; - puVar8 = puVar9; - ppuVar6 = ppuVar7; - } while (puVar9 != (undefined4 *)0x80027028); - *ppuVar7 = puRam80027028; - fStack284 = DAT_8002702c; - fStack280 = (float)DAT_80027030; - fStack264 = (float)DAT_80025e1c / 150.00000000; - fStack276 = (float)DAT_80027034; - if ((DAT_80025e1c < 0) || (0x95 < DAT_80025e1c)) { - fStack268 = 0.00000000; - } - else { - if (DAT_80025e1c < 0x19) { - fStack268 = (float)DAT_80025e1c / 25.00000000; - } - else { - if (DAT_80025e1c < 0x7e) { - fStack268 = 1.00000000; - } - else { - fStack268 = (float)(0x96 - DAT_80025e1c) / 25.00000000; - } - } - } - uVar1 = FUN_70004120(uParm1,0,0,0); - puStack156 = (undefined4 *)FUN_70003948(uVar1); - _DAT_800584e0 = (_DAT_800584e8 - _DAT_800584e4) * fStack264 + _DAT_800584e4; - _DAT_800584ec = (_DAT_800584f4 - _DAT_800584f0) * fStack264 + _DAT_800584f0; - _DAT_800584f8 = (_DAT_80058500 - _DAT_800584fc) * fStack264 + _DAT_800584fc; - if (_DAT_800584ec < 0.00000000) { - _DAT_800584ec = _DAT_800584ec + DAT_80047c34; - } - fVar14 = (float)func_7F057FC4(_DAT_800584ec); - fVar13 = (float)func_7F057FC4(_DAT_800584ec); - fStack8 = _DAT_800584f8; - fStack12 = fVar13 * DAT_80047c38 * _DAT_800584e0 + _DAT_800584e0 * fVar14; - fVar14 = (float)func_7F057FC4(_DAT_800584ec); - fVar13 = (float)func_7F057FC4(_DAT_800584ec); - fStack4 = _DAT_800584e0 * fVar14 - fVar13 * DAT_80047c3c * _DAT_800584e0; - fVar14 = (float)func_7F057FC4(_DAT_800584ec); - fStack24 = fStack24 + fVar14 * DAT_80047c40 * _DAT_800584e0; - fVar14 = (float)func_7F057FC4(_DAT_800584ec); - fStack16 = fStack16 + -fVar14 * DAT_80047c44 * _DAT_800584e0; - uVar1 = FUN_7f0bcaa8(2); - guLookAtReflect(auStack368,uVar1,0,0,0x457a0000,0,0,0,0,0x3f800000,0); - *puStack156 = 0xbc000002; - puStack156[1] = 0x80000040; - puStack156[2] = 0x3860010; - puStack156[3] = 0x80025ec8; - puStack156[4] = 0x3880010; - puStack156[5] = 0x80025ec0; - puStack156[6] = 0x3840010; - puStack156[7] = (int)uVar1; - puStack156[9] = (int)uVar1 + 0x10; - puStack156[8] = 0x3820010; - puStack156 = puStack156 + 10; - loc_7F070F58(DAT_80026b44,DAT_80040ff4,1); - FUN_7f06cb40(1); - FUN_7f0740dc(0); - FUN_7f06dae0(DAT_80026b44); - if ((DAT_80026b48 != 0) && (**(int **)(*(int *)(DAT_80026b48 + 8) + 8) != 0)) { - puVar3 = (undefined2 *)loc_7F06C888(DAT_80026b48); - *puVar3 = 0; - } - if ((DAT_80026b48 != 0) && (*(int *)(*(int *)(*(int *)(DAT_80026b48 + 8) + 8) + 8) != 0)) { - puVar8 = (undefined4 *)loc_7F06C888(DAT_80026b48); - *puVar8 = 0; - } - uStack152 = FUN_7f0bcac4((int)*(short *)(*(int *)(DAT_80026b44 + 8) + 0xe) << 6); - sub_GAME_7F05A9B8(auStack104); - puStack168 = auStack104; - FUN_7f06f670(&puStack168,DAT_80026b44); - FUN_7f06d1d8(DAT_80026b44,&fStack296); - if (_DAT_80058524 != 0) { - _DAT_8005852c = fStack292; - } - fStack284 = (fStack296 - _DAT_80058528) / DAT_80041004; - fStack280 = (fStack292 - _DAT_8005852c) / DAT_80041004; - fStack276 = (fStack288 - _DAT_80058530) / DAT_80041004; - if (_DAT_80058524 != 0) { - _DAT_80058548 = fStack284 / DAT_80047c48; - _DAT_8005854c = fStack280 / DAT_80047c48; - _DAT_80058550 = fStack276 / DAT_80047c48; - } - if (0 < DAT_80040ff4) { - iVar12 = 1; - _DAT_80058548 = DAT_80047c50 * _DAT_80058548; - if (1 < DAT_80040ff4) { - do { - iVar12 += 1; - _DAT_8005854c = fStack280 + DAT_80047c50 * _DAT_8005854c; - _DAT_80058550 = fStack276 + DAT_80047c50 * _DAT_80058550; - _DAT_80058548 = DAT_80047c50 * (fStack284 + _DAT_80058548); - } while (iVar12 < DAT_80040ff4); - } - _DAT_80058548 = fStack284 + _DAT_80058548; - _DAT_8005854c = fStack280 + DAT_80047c50 * _DAT_8005854c; - _DAT_80058550 = fStack276 + DAT_80047c50 * _DAT_80058550; - } - _DAT_80058538 = _DAT_80058548 * DAT_80047c4c; - _DAT_8005853c = _DAT_8005854c * DAT_80047c4c; - _DAT_80058540 = _DAT_80058550 * DAT_80047c4c; - _DAT_80058528 = _DAT_80058528 + _DAT_80058538 * DAT_80041004; - _DAT_8005852c = _DAT_8005852c + _DAT_8005853c * DAT_80041004; - _DAT_80058530 = _DAT_80058530 + _DAT_80058540 * DAT_80041004; - FUN_7f05891c(*(undefined4 *)(DAT_80026b44 + 0xc),&fStack284); - fStack284 = fStack284 - _DAT_80058528; - fStack280 = fStack280 - _DAT_8005852c; - fStack276 = fStack276 - _DAT_80058530; - if (_DAT_80058524 != 0) { - _DAT_80058518 = fStack284 / DAT_80047c5c; - _DAT_80058524 = 0; - _DAT_8005851c = fStack280 / DAT_80047c5c; - _DAT_80058520 = fStack276 / DAT_80047c5c; - } - if (0 < DAT_80040ff4) { - iVar12 = 1; - _DAT_80058518 = DAT_80047c58 * _DAT_80058518; - if (1 < DAT_80040ff4) { - do { - iVar12 += 1; - _DAT_8005851c = fStack280 + DAT_80047c58 * _DAT_8005851c; - _DAT_80058520 = fStack276 + DAT_80047c58 * _DAT_80058520; - _DAT_80058518 = DAT_80047c58 * (fStack284 + _DAT_80058518); - } while (iVar12 < DAT_80040ff4); - } - _DAT_80058518 = fStack284 + _DAT_80058518; - _DAT_8005851c = fStack280 + DAT_80047c58 * _DAT_8005851c; - _DAT_80058520 = fStack276 + DAT_80047c58 * _DAT_80058520; - } - lVar11 = 0; - _DAT_80058508 = _DAT_80058518 * DAT_80047c5c; - _DAT_8005850c = _DAT_8005851c * DAT_80047c5c; - _DAT_80058510 = _DAT_80058520 * DAT_80047c5c; - fStack284 = _DAT_80058528 + _DAT_80058508; - fStack280 = (_DAT_8005852c + _DAT_8005850c) - 10.00000000; - fStack276 = _DAT_80058530 + _DAT_80058510; - fStack24 = fStack24 + fStack284; - fStack12 = fStack12 + _DAT_80058528; - fStack16 = fStack16 + fStack276; - fStack8 = fStack8 + _DAT_8005852c + 52.50000000; - fStack20 = fStack20 + fStack280; - fStack4 = fStack4 + _DAT_80058530; - FUN_7f059b3c(auStack104,fStack12,fStack8,fStack4,fStack24,fStack20,fStack16,uStack36,uStack32, - uStack28); - puStack168 = auStack104; - uStack152 = FUN_7f0bcac4((int)*(short *)(*(int *)(DAT_80026b44 + 8) + 0xe) << 6); - FUN_7f06f670(&puStack168,DAT_80026b44); - if (DAT_80026b48 != 0) { - puStack168 = (undefined *)FUN_7f06cd98(DAT_80026b44,*(undefined4 *)(DAT_80026b48 + 0x1c),0); - if (*(int *)(DAT_80026b48 + 0x1c) == *(int *)(*(int *)(*(int *)(DAT_80026b44 + 8) + 8) + 0x14)) - { - FUN_7f058b30(DAT_80047c60); - FUN_7f058510(puStack168,auStack240); - iVar12 = *(int *)(DAT_80026b48 + 8); - puStack168 = auStack240; - } - else { - iVar12 = *(int *)(DAT_80026b48 + 8); - } - uStack152 = FUN_7f0bcac4((int)*(short *)(iVar12 + 0xe) << 6); - FUN_7f06f634(&puStack168,DAT_80026b48); - } - uStack120 = 7; - uStack164 = 1; - uStack160 = 3; - FUN_7f074758(&puStack168,DAT_80026b44); - if (DAT_80026b48 != 0) { - FUN_7f074758(&puStack168,DAT_80026b48); - } - puVar8 = puStack156; - FUN_7f06cb40(0); - iVar12 = 0; - if (0 < *(short *)(*(int *)(DAT_80026b44 + 8) + 0xe)) { - iVar10 = *(int *)(DAT_80026b44 + 0xc); - while( true ) { - loc_7F058030(iVar10 + iVar12,auStack240); - FUN_7f059144(auStack240,*(int *)(DAT_80026b44 + 0xc) + (int)lVar11 * 0x40); - lVar11 = (longlong)((int)lVar11 + 1); - iVar12 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_80026b44 + 8) + 0xe) <= lVar11) break; - iVar10 = *(int *)(DAT_80026b44 + 0xc); - } - } - if (DAT_80026b48 != 0) { - lVar11 = 0; - iVar12 = 0; - if (0 < *(short *)(*(int *)(DAT_80026b48 + 8) + 0xe)) { - iVar10 = *(int *)(DAT_80026b48 + 0xc); - while( true ) { - loc_7F058030(iVar10 + iVar12,auStack240); - FUN_7f059144(auStack240,*(int *)(DAT_80026b48 + 0xc) + (int)lVar11 * 0x40); - lVar11 = (longlong)((int)lVar11 + 1); - iVar12 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_80026b48 + 8) + 0xe) <= lVar11) break; - iVar10 = *(int *)(DAT_80026b48 + 0xc); - } - } - } - *puVar8 = 0xed000000; - puVar8[1] = 0x6e0528; - puVar8[2] = 0xe7000000; - puVar8[3] = 0; - puVar8[4] = 0xba001402; - puVar8[5] = 0; - puVar8[7] = 0xc0; - puVar8[6] = 0xba000602; - puVar8[8] = 0xba001301; - puVar8[9] = 0; - puVar8[10] = 0xb9000002; - puVar8[0xb] = 0; - puVar8[0xc] = 0xba001001; - puVar8[0xd] = 0; - puVar8[0xf] = 0x2000; - puVar8[0xe] = 0xba000c02; - puVar8[0x10] = 0xba000903; - puVar8[0x11] = 0xc00; - puVar8[0x12] = 0xba000e02; - puVar8[0x13] = 0; - puVar8[0x15] = 0x504340; - puVar8[0x14] = 0xb900031d; - puVar8[0x16] = 0xfcffffff; - puVar8[0x17] = 0xfffdf6fb; - puVar8[0x18] = 0xfa000000; - fVar14 = fStack268 * 255.00000000; - puVar8[0x19] = 0xffU - (int)fVar14 & 0xff; - puVar8[0x1b] = 0; - puVar8[0x1a] = 0xf66e0528; - puVar8[0x1d] = 0; - puVar8[0x1c] = 0xe7000000; - puVar8[0x1f] = 0x40; - puVar8[0x1e] = 0xba000602; - puVar8[0x21] = 0x80000; - puVar8[0x20] = 0xba001301; - puVar8[0x23] = 0x10000; - puVar8[0x22] = 0xba001001; - uVar1 = loc_7F0ACED4(puVar8 + 0x24); - if (DAT_80026b4c == 0) { - uVar2 = FUN_7f0c12b8((ulonglong)*(ushort *)(DAT_80026b38 * 0x14 + -0x7ffd94a8)); - loc_7F0AEB50(&iStack256,&iStack252,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iVar12 = iStack252; - if (iStack252 < 0) { - iVar12 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar12 >> 1); - uStack248 = 0x6c; - uVar1 = microcode_constructor_related_to_menus - (uVar1,iStack244,0x6c,iStack244 + iStack252 + 1,iStack256 + 0x6d,0); - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - if (false) { - fVar13 = ROUND(fVar14); - } - else { - fVar13 = FLOOR(fVar14); - } - uVar15 = (uint)fVar13; - if (true) { - if ((int)uVar15 < 0) goto LAB_7f01a14c; - } - else { - if (false) { - fVar13 = ROUND(fVar14 - 2147483648.00000000); - } - else { - fVar13 = FLOOR(fVar14 - 2147483648.00000000); - } - if (false) { -LAB_7f01a14c: - uVar15 = 0xffffffff; - } - else { - uVar15 = (int)fVar13 | 0x80000000; - } - } - uVar1 = loc_7F0ADD78(uVar1,&iStack244,&uStack248,uVar2,DAT_8003ab08,DAT_8003ab04, - uVar15 | 0xffffff00,uVar5,uVar4,0,0); - } - if (false) { - fVar13 = ROUND(fVar14); - } - else { - fVar13 = FLOOR(fVar14); - } - uVar15 = (uint)fVar13; - if (true) { - if (-1 < (int)uVar15) goto LAB_7f01a22c; - } - else { - if (false) { - fVar14 = ROUND(fVar14 - 2147483648.00000000); - } - else { - fVar14 = FLOOR(fVar14 - 2147483648.00000000); - } - if (true) { - uVar15 = (int)fVar14 | 0x80000000; - goto LAB_7f01a22c; - } - } - uVar15 = 0xffffffff; -LAB_7f01a22c: - uVar2 = FUN_7f0c12b8((ulonglong)*(ushort *)(&DAT_80026b5a + DAT_80026b38 * 0x14)); - loc_7F0AEB50(&iStack256,&iStack252,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iVar12 = iStack252; - if (iStack252 < 0) { - iVar12 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar12 >> 1); - uStack248 = 0x98; - uVar1 = microcode_constructor_related_to_menus - (uVar1,iStack244,0x98,iStack244 + iStack252 + 1,iStack256 + 0x99,0); - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uVar1 = loc_7F0ADD78(uVar1,&iStack244,&uStack248,uVar2,DAT_8003ab08,DAT_8003ab04, - uVar15 | 0xffffff00,uVar5,uVar4,0,0); - uVar2 = FUN_7f0c12b8((ulonglong)*(ushort *)(DAT_80026b38 * 0x14 + -0x7ffd94a4)); - loc_7F0AEB50(&iStack256,&iStack252,uVar2,DAT_8003ab08,DAT_8003ab04,0); - iVar12 = iStack252; - if (iStack252 < 0) { - iVar12 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar12 >> 1); - uStack248 = 0xae; - uVar1 = microcode_constructor_related_to_menus - (uVar1,iStack244,0xae,iStack244 + iStack252 + 1,iStack256 + 0xaf,0); - uVar5 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - loc_7F0ADD78(uVar1,&iStack244,&uStack248,uVar2,DAT_8003ab08,DAT_8003ab04,uVar15 | 0xffffff00,uVar5 - ,uVar4,0,0); - return; -} - - - -void FUN_7f01a418(void) - -{ - return; -} - - - -void FUN_7f01a420(void) - -{ - return; -} - - - -void FUN_7f01a428(void) - -{ - return; -} - - - -undefined8 FUN_7f01a430(undefined8 uParm1) - -{ - return uParm1; -} - - - -// WARNING: Instruction at (ram,0x7f01a44c) overlaps instruction at (ram,0x7f01a448) -// - -void FUN_7f01a438(longlong lParm1,longlong lParm2) - -{ - if ((lParm1 == 0xb) || (lParm1 == 0x19)) { - DAT_80025e98 = 1; - } - if (lParm2 == 0) { - DAT_80025e18 = (int)lParm1; - return; - } - DAT_80025e14 = (int)lParm1; - return; -} - - - -void FUN_7f01a480(void) - -{ - int iVar1; - undefined *puVar3; - longlong lVar2; - - if (DAT_80025e10 == 0x17) { - if (DAT_80025e94 == 0) { - if ((DAT_80025e98 != 0) && (puVar3 = (undefined *)FUN_7000366c(), puVar3 == &cfb_16_a)) { - DAT_80025e90 = 0; - DAT_80025e98 = 0; - } - } - else { - puVar3 = (undefined *)FUN_7000366c(); - if (puVar3 == &cfb_16_b) { - DAT_80025e90 = 1; - DAT_80025e94 = 0; - } - } - } - if (DAT_80025e90 == 0) { - FUN_70003fe0(DAT_80047c68); - FUN_70003e48(0x140,0x110); - FUN_70003e04(0x140,0x110); - FUN_7f09a71c(0x140,0x110); - FUN_70003e8c(0x140,0x110); - FUN_7f09a738(0,0); - FUN_70003f0c(0,0); - } - else { - puVar3 = (undefined *)FUN_7000366c(); - if (puVar3 == &cfb_16_b) { - FUN_7000368c(DAT_80025ea4); - } - FUN_70003fe0(DAT_80047c64); - FUN_70003e48(0x1b8,0x14a); - FUN_70003e04(0x1b8,0x14a); - FUN_7f09a71c(0x1b8,0x14a); - FUN_70003e8c(0x1b8,0x14a); - FUN_7f09a738(0,0); - FUN_70003f0c(0,0); - } - if (((-1 < DAT_80025e14) || (-1 < DAT_80025e18)) && (DAT_80025e10 != 0x17)) { - if (true) { - switch(DAT_80025e10) { - case 0: - FUN_7f00a5b0(); - break; - case 1: - FUN_7f00aba4(); - break; - case 2: - FUN_7f00afa4(); - break; - case 3: - FUN_7f00b090(); - break; - case 4: - FUN_7f00b204(); - break; - case 5: - FUN_7f00b9e0(); - break; - case 6: - FUN_7f00d190(); - break; - case 7: - FUN_7f00ddc0(); - break; - case 8: - FUN_7f00e6e8(); - break; - case 9: - FUN_7f00f280(); - break; - case 10: - FUN_7f0155c0(); - break; - case 0xc: - FUN_7f01605c(); - break; - case 0xd: - FUN_7f01662c(); - break; - case 0xe: - FUN_7f010730(); - break; - case 0xf: - FUN_7f011dcc(); - break; - case 0x10: - FUN_7f012dbc(); - break; - case 0x11: - FUN_7f013500(); - break; - case 0x12: - FUN_7f013d3c(); - break; - case 0x13: - FUN_7f014720(); - break; - case 0x14: - FUN_7f014cc0(); - break; - case 0x15: - FUN_7f017b50(); - break; - case 0x16: - FUN_7f0183b4(); - break; - case 0x18: - FUN_7f018f94(); - break; - case 0x19: - FUN_7f01a420(); - } - } - if (-1 < DAT_80025e14) { - DAT_80025e10 = 0x17; - FUN_7f00a9ec(); - } - } - iVar1 = DAT_80025e18; - if (true) { - DAT_80025e10 = DAT_80025e18; - DAT_80025e18 = -1; - if (true) { - switch(iVar1) { - case 0: - FUN_7f00a4e8(); - break; - case 1: - FUN_7f00aac8(); - break; - case 2: - FUN_7f00af64(); - break; - case 3: - FUN_7f00b054(); - break; - case 4: - FUN_7f00b158(); - break; - case 5: - FUN_7f00b8e8(); - break; - case 6: - FUN_7f00d150(); - break; - case 7: - FUN_7f00dd60(); - break; - case 8: - FUN_7f00e6b0(); - break; - case 9: - FUN_7f00f214(); - break; - case 10: - FUN_7f015574(); - break; - case 0xb: - FUN_7f015fb8(); - break; - case 0xc: - FUN_7f015fe8(); - break; - case 0xd: - FUN_7f0165d8(); - break; - case 0xe: - FUN_7f01062c(); - break; - case 0xf: - FUN_7f011b3c(); - break; - case 0x10: - FUN_7f012d30(); - break; - case 0x11: - FUN_7f013474(); - break; - case 0x12: - FUN_7f013ce8(); - break; - case 0x13: - FUN_7f0146d4(); - break; - case 0x14: - FUN_7f014c40(); - break; - case 0x15: - FUN_7f017aac(); - break; - case 0x16: - FUN_7f0183ac(); - break; - case 0x18: - FUN_7f018714(); - break; - case 0x19: - FUN_7f01a418(); - } - } - } - switch(DAT_80025e10) { - case 0: - FUN_7f00a5dc(); - break; - case 1: - FUN_7f00abc8(); - break; - case 2: - FUN_7f00afac(); - break; - case 3: - FUN_7f00b0b0(); - break; - case 4: - FUN_7f00b230(); - break; - case 5: - loc_7F00C368(); - break; - case 6: - FUN_7f00d198(); - break; - case 7: - loc_7F00E3C0(); - break; - case 8: - FUN_7f00e6f0(); - break; - case 9: - FUN_7f00f288(); - break; - case 10: - FUN_7f01561c(); - break; - case 0xb: - lVar2 = FUN_7f0bf124(); - if (lVar2 == 0) { - if (DAT_80025e40 == 1) { - FUN_7f01a438(0xe,1); - } - else { - if (DAT_80025e44 == 0x36) { - FUN_7f0186e8(1); - FUN_7f01a438(0x18,1); - } - else { - FUN_7f01a438(0xc,1); - } - } - } - else { - FUN_7f01a438(0,1); - } - break; - case 0xc: - FUN_7f016064(); - break; - case 0xd: - FUN_7f016634(); - break; - case 0xe: - loc_7F010F04(); - break; - case 0xf: - FUN_7f011dd4(); - break; - case 0x10: - FUN_7f012dc4(); - break; - case 0x11: - FUN_7f013508(); - break; - case 0x12: - FUN_7f013d44(); - break; - case 0x13: - FUN_7f014728(); - break; - case 0x14: - FUN_7f014cc8(); - break; - case 0x15: - FUN_7f017be4(); - break; - case 0x16: - FUN_7f0183bc(); - break; - case 0x17: - FUN_7f00aa00(); - break; - case 0x18: - FUN_7f018fdc(); - break; - case 0x19: - FUN_7f01a428(); - } - return; -} - - - -undefined8 FUN_7f01ad60(undefined8 uParm1) - -{ - if (true) { - switch(DAT_80025e10) { - case 0: - uParm1 = FUN_7f00a7e0(uParm1); - break; - case 1: - uParm1 = FUN_7f00ac98(uParm1); - break; - case 2: - uParm1 = FUN_7f00b034(uParm1); - break; - case 3: - uParm1 = FUN_7f00b138(uParm1); - break; - case 4: - uParm1 = FUN_7f00b37c(uParm1); - break; - case 5: - uParm1 = FUN_7f00c308(uParm1); - break; - case 6: - uParm1 = FUN_7f00d728(uParm1); - break; - case 7: - uParm1 = loc_7F00E71C(uParm1); - break; - case 8: - uParm1 = FUN_7f00ecc8(uParm1); - break; - case 9: - uParm1 = FUN_7f00f6ac(uParm1); - break; - case 10: - uParm1 = FUN_7f015cf4(uParm1); - break; - case 0xc: - uParm1 = FUN_7f016340(uParm1); - break; - case 0xd: - uParm1 = FUN_7f016964(uParm1); - break; - case 0xe: - uParm1 = FUN_7f010e00(uParm1); - break; - case 0xf: - uParm1 = loc_7F012DF4(uParm1); - break; - case 0x10: - uParm1 = FUN_7f01307c(uParm1); - break; - case 0x11: - uParm1 = FUN_7f0138f0(uParm1); - break; - case 0x12: - uParm1 = loc_7F0146D0(uParm1); - break; - case 0x13: - uParm1 = FUN_7f0149b8(uParm1); - break; - case 0x14: - uParm1 = loc_7F0154D4(uParm1); - break; - case 0x15: - uParm1 = FUN_7f017eb8(uParm1); - break; - case 0x16: - uParm1 = FUN_7f0183c4(uParm1); - break; - case 0x17: - uParm1 = FUN_7f00aaa8(uParm1); - break; - case 0x18: - uParm1 = FUN_7f0193a4(uParm1); - break; - case 0x19: - uParm1 = FUN_7f01a430(uParm1); - } - } - return uParm1; -} - - - -void sub_GAME_7F01B1C8(ushort *puParm1,byte *pbParm2) - -{ - byte bVar1; - byte bVar2; - uint uVar3; - int iVar4; - ushort *puVar5; - - puVar5 = puParm1 + 5; - iVar4 = (uint)*puParm1 * (uint)puParm1[1]; - bVar1 = *(byte *)puVar5; - while( true ) { - bVar2 = *(byte *)((int)puVar5 + 1); - puVar5 = puVar5 + 1; - uVar3 = (uint)bVar1; - iVar4 -= uVar3; - do { - uVar3 -= 1; - *pbParm2 = bVar2; - pbParm2 = pbParm2 + 1; - } while (0 < (int)uVar3); - if (iVar4 < 1) break; - bVar1 = *(byte *)puVar5; - } - return; -} - - - -void loc_7F01B1A0(ushort *puParm1,ushort *puParm2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - uint uVar4; - int iVar5; - ushort *puVar6; - - iVar5 = (uint)*puParm1 * (uint)puParm1[1]; - bVar1 = *(byte *)(puParm1 + 6); - puVar6 = puParm1 + 5; - while( true ) { - bVar2 = *(byte *)((int)puVar6 + 3); - bVar3 = *(byte *)((int)puVar6 + 1); - uVar4 = (uint)*(byte *)puVar6; - iVar5 -= uVar4; - do { - uVar4 -= 1; - *puParm2 = (ushort)(((int)(uint)bVar2 >> 3) << 0xb) | (ushort)(((int)(uint)bVar1 >> 3) << 6) | - (ushort)(((int)(uint)bVar3 >> 3) << 1) | 1; - puParm2 = puParm2 + 1; - } while (0 < (int)uVar4); - if (iVar5 < 1) break; - bVar1 = *(byte *)(puVar6 + 3); - puVar6 = puVar6 + 2; - } - return; -} - - - -undefined4 * -sub_GAME_7F01B6E0(undefined4 *puParm1,int iParm2,longlong lParm3,int *piParm4,int *piParm5) - -{ - float fVar1; - float fVar2; - int iVar3; - int iVar4; - int iVar5; - float fVar6; - uint uVar7; - uint uVar8; - uint uVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - - fVar2 = DAT_80047e10; - DAT_80027050 = (float)*piParm4; - DAT_80027054 = (float)piParm4[1]; - DAT_8002705c = (float)*piParm5; - DAT_80027060 = (float)piParm5[1]; - DAT_80027064 = (float)piParm5[2]; - DAT_80027058 = (float)piParm4[2]; - fVar12 = DAT_80027060 - DAT_80027054; - fVar13 = DAT_80027064 - DAT_80027058; - fVar11 = DAT_8002705c - DAT_80027050; - iVar5 = 1; - iVar3 = 0; - do { - iVar4 = iVar5; - fVar10 = (float)iVar3; - *puParm1 = 0xfd900000; - puParm1[1] = iParm2; - puParm1[3] = 0x7080200; - puParm1[2] = 0xf5900000; - puParm1[4] = 0xe6000000; - puParm1[5] = 0; - puParm1[7] = 0x70db026; - puParm1[6] = 0xf3000000; - puParm1[9] = 0; - puParm1[8] = 0xe7000000; - puParm1[0xb] = 0x80200; - puParm1[10] = 0xf5886e00; - puParm1[0xc] = 0xf2000000; - puParm1[0xd] = 0x6dc000; - fVar6 = (fVar11 * fVar10) / fVar2 + DAT_80027050; - puParm1[0xe] = 0xfa000000; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar7 = (uint)fVar1; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b2b4; - uVar7 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar7 < 0) { -LAB_7f01b2b4: - uVar7 = 0xffffffff; - } - } - fVar6 = DAT_80027054 + (fVar12 * fVar10) / fVar2; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar8 = (uint)fVar1; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b34c; - uVar8 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar8 < 0) { -LAB_7f01b34c: - uVar8 = 0xffffffff; - } - } - fVar6 = DAT_80027058 + (fVar13 * fVar10) / fVar2; - if (false) { - fVar10 = ROUND(fVar6); - } - else { - fVar10 = FLOOR(fVar6); - } - uVar9 = (uint)fVar10; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b3e8; - uVar9 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar9 < 0) { -LAB_7f01b3e8: - uVar9 = 0xffffffff; - } - } - puParm1[0xf] = uVar7 << 0x18 | (uVar8 & 0xff) << 0x10 | (uVar9 & 0xff) << 8 | 0xff; - if (lParm3 < 0) { - puParm1[0x11] = (iVar3 + 0x10U & 0x3ff) << 2; - puParm1[0x10] = (iVar3 + 0x11) * 4 - 1U & 0xfff | 0xe46df000; - puParm1[0x13] = (uint)lParm3 * -0x200000; - puParm1[0x12] = 0xb4000000; - puParm1[0x15] = 0x4000400; - puParm1[0x14] = 0xb3000000; - } - else { - puParm1[0x10] = (iVar3 + 0x11) * 4 - 1U & 0xfff | 0xe46df000; - puParm1[0x11] = ((uint)lParm3 & 0x3ff) << 0xe | (iVar3 + 0x10) * 4 & 0xfffU; - puParm1[0x13] = 0; - puParm1[0x12] = 0xb4000000; - puParm1[0x15] = 0x4000400; - puParm1[0x14] = 0xb3000000; - } - puParm1 = puParm1 + 0x16; - iVar5 = iVar4 + 1; - iParm2 += 0x1b8; - iVar3 = iVar4; - if (299 < iVar5) { - return puParm1; - } - } while( true ); -} - - - -void sub_GAME_7F01BFF8(short *psParm1,int iParm2) - -{ - float fVar1; - short sVar2; - short *psVar3; - int iVar4; - short sVar5; - float fVar6; - float fVar7; - undefined uVar8; - float fVar9; - - fVar1 = DAT_80047e20; - if (-1 < iParm2) { - iVar4 = 0; - do { - fVar9 = ((float)iVar4 * fVar1) / (float)iParm2; - fVar7 = (float)func_7F057FC4(fVar9); - fVar6 = (float)func_7F057FC4(fVar9); - sVar5 = (short)(int)(fVar7 * 64.00000000); - *psParm1 = sVar5; - psParm1[2] = 0; - psParm1[3] = 0; - psParm1[4] = 0; - psParm1[5] = 0; - *(undefined *)(psParm1 + 6) = 0xff; - *(undefined *)((int)psParm1 + 0xd) = 0xff; - *(undefined *)(psParm1 + 7) = 0xff; - sVar2 = (short)(int)(fVar6 * -64.00000000); - psParm1[1] = sVar2; - fVar7 = (float)func_7F057FC4(fVar9); - fVar7 = 143.00000000 - fVar7 * -111.00000000; - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - uVar8 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) goto LAB_7f01bab0; - uVar8 = (undefined)(int)fVar7; - } - else { - if ((int)fVar6 < 0) { -LAB_7f01bab0: - uVar8 = 0xff; - } - } - *(undefined *)(psParm1 + 6) = uVar8; - fVar7 = (float)func_7F057FC4(fVar9); - fVar7 = 143.00000000 - fVar7 * -111.00000000; - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - uVar8 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) goto LAB_7f01bb48; - uVar8 = (undefined)(int)fVar7; - } - else { - if ((int)fVar6 < 0) { -LAB_7f01bb48: - uVar8 = 0xff; - } - } - *(undefined *)((int)psParm1 + 0xd) = uVar8; - fVar7 = (float)func_7F057FC4(fVar9); - fVar7 = 143.00000000 - fVar7 * -111.00000000; - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - uVar8 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) goto LAB_7f01bbe0; - uVar8 = (undefined)(int)fVar7; - } - else { - if ((int)fVar6 < 0) { -LAB_7f01bbe0: - uVar8 = 0xff; - } - } - *(undefined *)(psParm1 + 7) = uVar8; - *(undefined *)((int)psParm1 + 0xf) = 0; - psVar3 = psParm1 + 8; - if ((iVar4 != 0) && (iVar4 < iParm2)) { - *psVar3 = -sVar5; - psParm1[9] = sVar2; - psParm1[10] = 0; - psParm1[0xb] = 0; - psParm1[0xc] = 0; - psParm1[0xd] = 0; - *(undefined *)(psParm1 + 0xe) = 0xff; - *(undefined *)((int)psParm1 + 0x1d) = 0xff; - *(undefined *)(psParm1 + 0xf) = 0xff; - fVar7 = (float)func_7F057FC4(fVar9); - fVar7 = 143.00000000 - fVar7 * -111.00000000; - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - uVar8 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) goto LAB_7f01bcb4; - uVar8 = (undefined)(int)fVar7; - } - else { - if ((int)fVar6 < 0) { -LAB_7f01bcb4: - uVar8 = 0xff; - } - } - *(undefined *)(psParm1 + 0xe) = uVar8; - fVar7 = (float)func_7F057FC4(fVar9); - fVar7 = 143.00000000 - fVar7 * -111.00000000; - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - uVar8 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) goto LAB_7f01bd4c; - uVar8 = (undefined)(int)fVar7; - } - else { - if ((int)fVar6 < 0) { -LAB_7f01bd4c: - uVar8 = 0xff; - } - } - *(undefined *)((int)psParm1 + 0x1d) = uVar8; - fVar7 = (float)func_7F057FC4(fVar9); - fVar7 = 143.00000000 - fVar7 * -111.00000000; - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - uVar8 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) goto LAB_7f01bde4; - uVar8 = (undefined)(int)fVar7; - } - else { - if ((int)fVar6 < 0) { -LAB_7f01bde4: - uVar8 = 0xff; - } - } - *(undefined *)(psParm1 + 0xf) = uVar8; - *(undefined *)((int)psParm1 + 0x1f) = 0; - psVar3 = psParm1 + 0x10; - } - iVar4 += 2; - psParm1 = psVar3; - } while (iVar4 <= iParm2); - } - return; -} - - - -uint * loc_7F01C060(uint *puParm1,uint uParm2,int iParm3) - -{ - bool bVar1; - int iVar2; - uint *puVar3; - uint uVar4; - - bVar1 = iParm3 < 0x11; - while( true ) { - if (bVar1) { - uVar4 = SEXT14((char)iParm3); - } - else { - uVar4 = 0x10; - } - puParm1[1] = uParm2; - *puParm1 = (uVar4 - 1 & 0xf) << 0x14 | 0x4000000 | (uVar4 & 0xfff) << 4; - uParm2 += 0xe0; - iVar2 = (int)((uVar4 - 3) * 0x1000000) >> 0x18; - puParm1 = puParm1 + 2; - do { - puVar3 = puParm1; - uVar4 = iVar2 * 10; - *puVar3 = 0xbf000000; - puParm1 = puVar3 + 2; - iVar2 = (iVar2 + -1) * 0x1000000 >> 0x18; - puVar3[1] = (uVar4 & 0xff) << 0x10 | (uVar4 + 10 & 0xff) << 8 | uVar4 + 0x14 & 0xff; - } while (-1 < iVar2); - iParm3 += -0xe; - if (iParm3 < 3) break; - bVar1 = iParm3 < 0x11; - } - *puParm1 = 0xb8000000; - puVar3[3] = 0; - return puVar3 + 4; -} - - - -undefined4 * sub_GAME_7F01CA18(undefined4 *puParm1) - -{ - int iVar2; - undefined8 uVar1; - undefined4 uVar3; - short sVar4; - - puParm1[1] = 0x300000; - *puParm1 = 0xba001402; - iVar2 = FUN_70003e6c(); - puParm1[2] = iVar2 - 1U & 0xfff | 0xff100000; - uVar1 = FUN_7000366c(); - uVar3 = osVirtualToPhysical(uVar1); - puParm1[3] = uVar3; - puParm1[4] = 0xf7000000; - puParm1[5] = 0x10001; - sVar4 = FUN_70003e6c(); - iVar2 = FUN_70003e7c(); - puParm1[6] = (iVar2 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe; - puParm1[7] = 0; - return puParm1 + 8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f01c004(undefined4 *puParm1) - -{ - undefined4 uVar1; - - *puParm1 = 0x1030040; - uVar1 = osVirtualToPhysical(_DAT_8005849c); - puParm1[1] = uVar1; - puParm1[2] = 0x1020040; - uVar1 = osVirtualToPhysical(DAT_80025d20 * 0x40 + _DAT_800584a4); - puParm1[3] = uVar1; - puParm1[5] = 0; - puParm1[4] = 0xe7000000; - puParm1[6] = 0xba001402; - puParm1[7] = 0; - puParm1[8] = 0xb900031d; - puParm1[9] = 0x552048; - puParm1[0xb] = 0x204; - puParm1[10] = 0xb7000000; - return puParm1 + 0xc; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f01c0e4(longlong lParm1) - -{ - undefined4 uVar2; - undefined8 uVar1; - undefined uStack1; - - if (lParm1 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x11a0) = 0x80027080; - } - else { - if (lParm1 == 1) { - if (*(uint *)(_DAT_80068bc0 + 0x11a4) < 0x80027a5c) { - *(uint *)(_DAT_80068bc0 + 0x11a0) = *(uint *)(_DAT_80068bc0 + 0x11a4); - } - } - } - *(int *)(_DAT_80068bc0 + 0x11b0) = 1 - *(int *)(_DAT_80068bc0 + 0x11b0); - uVar2 = FUN_7f0bcac4(0x1e00); - *(undefined4 *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x11b0) * 4 + 0x11a8) = uVar2; - uVar1 = FUN_7f0bcac4(0x1e00); - uVar2 = func_7F01D29C(*(undefined4 *)(_DAT_80068bc0 + 0x11a0),0x50,0x60,uVar1,&uStack1); - *(undefined4 *)(_DAT_80068bc0 + 0x11a4) = uVar2; - loc_7F01D18C((int)uVar1,0x50,0x60, - *(undefined4 *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x11b0) * 4 + 0x11a8)); - uVar2 = *(undefined4 *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x11b0) * 4 + 0x11a8); - locret_7F01D164(uVar2,0x50,uVar2); - uVar2 = *(undefined4 *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x11b0) * 4 + 0x11a8); - locret_7F01D024(uVar2,0x50,uVar2); - uVar2 = *(undefined4 *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x11b0) * 4 + 0x11a8); - locret_7F01CCE4(uVar2,0x1e00,uVar2); - return (ulonglong)(*(uint *)(_DAT_80068bc0 + 0x11a4) < 0x80027a5c) ^ 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F01C664(undefined4 *puParm1) - -{ - undefined4 *puVar2; - short sVar4; - int iVar3; - longlong lVar1; - - *puParm1 = 0xba000e02; - puParm1[1] = 0; - puParm1[3] = 0x2000; - puParm1[2] = 0xba000c02; - puVar2 = (undefined4 *)FUN_7f01c004(puParm1 + 4); - *puVar2 = 0xbb000001; - puVar2[1] = 0x80008000; - puVar2[2] = 0xb900031d; - puVar2[3] = 0x504340; - puVar2[4] = 0xfc119623; - puVar2[5] = 0xff2fffff; - puVar2[6] = 0xba000602; - puVar2[7] = 0; - puVar2[8] = 0xfa000000; - puVar2[9] = 0x960000b4; - puVar2[10] = 0xba001301; - puVar2[0xb] = 0; - puVar2[0xc] = 0xfd900000; - puVar2[0xd] = *(int *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x11b0) * 4 + 0x11a8) + - -0x80000000; - puVar2[0xe] = 0xf5900000; - puVar2[0x10] = 0xe6000000; - puVar2[0x12] = 0xf3000000; - puVar2[0x13] = 0x777f156; - puVar2[0xf] = 0x7080200; - puVar2[0x14] = 0xe7000000; - puVar2[0x17] = 0x80200; - puVar2[0x16] = 0xf5800c00; - puVar2[0x18] = 0xf2000000; - puVar2[0x19] = 0x17c13c; - puVar2[0x15] = 0; - puVar2[0x11] = 0; - sVar4 = FUN_70003e6c(); - iVar3 = FUN_70003e7c(); - puVar2[0x1a] = iVar3 * 4 - 1U & 0xfff | 0xe4000000 | ((int)sVar4 * 4 - 1U & 0xfff) << 0xc; - puVar2[0x1b] = 0; - puVar2[0x1c] = 0xb4000000; - puVar2[0x1d] = 0; - puVar2[0x1e] = 0xb3000000; - sVar4 = FUN_70003e6c(); - lVar1 = FUN_70003e7c(); - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (false)) { - trap(0x1800); - } - puVar2[0x1f] = 0x14000 / (int)lVar1 & 0xffffU | 0x18000 / (int)sVar4 << 0x10; - if (sVar4 == 0) { - trap(0x1c00); - } - if ((sVar4 == -1) && (false)) { - trap(0x1800); - } - return puVar2 + 0x20; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F01C9D4(undefined4 *puParm1) - -{ - short sVar4; - short sVar5; - short sVar6; - int iVar2; - uint uVar3; - longlong lVar1; - - *puParm1 = 0xba000e02; - puParm1[1] = 0; - puParm1[2] = 0xba000c02; - puParm1[3] = 0x2000; - puParm1[4] = 0xba001402; - puParm1[5] = 0; - puParm1[7] = 0x204; - puParm1[6] = 0xb7000000; - puParm1[8] = 0xbb000001; - puParm1[9] = 0x80008000; - puParm1[10] = 0xb900031d; - puParm1[0xb] = 0x504340; - puParm1[0xd] = 0xff2fffff; - puParm1[0xc] = 0xfc119623; - puParm1[0xe] = 0xba000602; - puParm1[0xf] = 0; - puParm1[0x10] = 0xfa000000; - puParm1[0x11] = 0x960000b4; - puParm1[0x12] = 0xba001301; - puParm1[0x13] = 0; - puParm1[0x14] = 0xfd900000; - puParm1[0x15] = - *(int *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x11b0) * 4 + 0x11a8) + -0x80000000; - puParm1[0x16] = 0xf5900000; - puParm1[0x17] = 0x7080200; - puParm1[0x18] = 0xe6000000; - puParm1[0x19] = 0; - puParm1[0x1a] = 0xf3000000; - puParm1[0x1b] = 0x777f156; - puParm1[0x1c] = 0xe7000000; - puParm1[0x1d] = 0; - puParm1[0x1f] = 0x80200; - puParm1[0x1e] = 0xf5800c00; - puParm1[0x20] = 0xf2000000; - puParm1[0x21] = 0x17c13c; - sVar4 = FUN_70003eec(); - sVar5 = FUN_70003f64(); - sVar6 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - puParm1[0x22] = - (iVar2 + (int)sVar6) * 4 - 1U & 0xfff | 0xe4000000 | - (((int)sVar5 + (int)sVar4) * 4 - 1U & 0xfff) << 0xc; - sVar4 = FUN_70003f64(); - uVar3 = FUN_70003f74(); - puParm1[0x23] = (uVar3 & 0x3ff) << 2 | ((int)sVar4 & 0x3ffU) << 0xe; - puParm1[0x24] = 0xb4000000; - puParm1[0x25] = 0; - puParm1[0x26] = 0xb3000000; - sVar4 = FUN_70003eec(); - iVar2 = (int)sVar4; - lVar1 = FUN_70003efc(); - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (false)) { - trap(0x1800); - } - puParm1[0x27] = 0x14000 / (int)lVar1 & 0xffffU | 0x18000 / iVar2 << 0x10; - puParm1[0x28] = 0xe7000000; - puParm1[0x29] = 0; - if (iVar2 == 0) { - trap(0x1c00); - } - if ((iVar2 == -1) && (false)) { - trap(0x1800); - } - puParm1[0x2b] = 0x40; - puParm1[0x2a] = 0xba000602; - puParm1[0x2d] = 0x80000; - puParm1[0x2c] = 0xba001301; - return puParm1 + 0x2e; -} - - - -undefined4 * FUN_7f01c878(void) - -{ - undefined4 *puVar1; - short sVar3; - uint uVar2; - - puVar1 = (undefined4 *)FUN_7f01c004(); - *puVar1 = 0xb900031d; - puVar1[1] = 0x504340; - puVar1[2] = 0xfcffffff; - puVar1[3] = 0xfffdf6fb; - puVar1[4] = 0xfa000000; - puVar1[5] = 0x960000b4; - puVar1[6] = 0xba000602; - puVar1[7] = 0; - sVar3 = FUN_70003e6c(); - uVar2 = FUN_70003e7c(); - puVar1[8] = (uVar2 & 0x3ff) << 2 | 0xf6000000 | ((int)sVar3 & 0x3ffU) << 0xe; - puVar1[9] = 0; - return puVar1 + 10; -} - - - -byte * func_7F01D29C(char *pcParm1,byte bParm2,uint uParm3,byte *pbParm4,char *pcParm5) - -{ - char cVar1; - char cVar2; - char cVar3; - byte bVar5; - uint uVar4; - byte *pbVar6; - byte bVar7; - char cVar8; - byte bVar9; - - cVar1 = *pcParm1; - uParm3 &= 0xff; - *pcParm5 = cVar1; - bVar5 = pcParm1[1]; - pbVar6 = (byte *)(pcParm1 + 1); - while( true ) { - pbVar6 = pbVar6 + 1; - bVar9 = 0xff; - if (bVar5 == 0xff) { - bVar5 = *pbVar6; - bVar7 = 0; - pbVar6 = pbVar6 + 2; - while (bVar5 != 0xff) { - bVar7 += bVar5; - while (bVar5 != 0) { - bVar5 -= 1; - *pbParm4 = bVar9; - pbParm4 = pbParm4 + 1; - } - bVar5 = *pbVar6; - bVar9 ^= 0xff; - pbVar6 = pbVar6 + 1; - } - while (bVar7 < bParm2) { - bVar7 += 1; - *pbParm4 = bVar9; - pbParm4 = pbParm4 + 1; - } - uParm3 -= 1; - } - else { - cVar8 = cVar1 + (bVar5 & 0x1f); - uVar4 = ((int)(uint)bVar5 >> 5) + 1; - uParm3 -= uVar4; - cVar2 = cVar8; - do { - while (cVar3 = bParm2 - cVar8, cVar2 != '\0') { - *pbParm4 = 0xff; - pbParm4 = pbParm4 + 1; - cVar2 = cVar2 + -1; - } - while (cVar3 != '\0') { - *pbParm4 = 0; - pbParm4 = pbParm4 + 1; - cVar3 = cVar3 + -1; - } - uVar4 = uVar4 - 1 & 0xff; - cVar2 = cVar8; - } while (uVar4 != 0); - } - uParm3 &= 0xff; - if (uParm3 == 0) break; - bVar5 = *pbVar6; - pbVar6 = pbVar6; - } - return pbVar6; -} - - - -void locret_7F01CCE4(byte *pbParm1,short sParm2,byte *pbParm3) - -{ - bool bVar1; - - bVar1 = sParm2 != 0; - while (bVar1) { - sParm2 += -1; - bVar1 = sParm2 != 0; - *pbParm3 = (byte)((int)(uint)pbParm1[1] >> 4) | *pbParm1 & 0xf0; - pbParm3 = pbParm3 + 1; - pbParm1 = pbParm1 + 2; - } - return; -} - - - -void loc_7F01CEC0(int iParm1,uint uParm2,uint uParm3,int iParm4,byte bParm5) - -{ - int iVar1; - uint uVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - uint uVar14; - - uParm3 &= 0xff; - uParm2 &= 0xff; - iVar1 = 0; - if (uParm3 != 0) { - do { - iVar13 = 0; - if (uParm2 != 0) { - iVar4 = iVar1 - (uint)bParm5; - iVar6 = uParm3 - 1; - iVar7 = iVar1 + (uint)bParm5; - do { - uVar2 = 0; - iVar3 = 0; - if (iVar4 < 0) { - iVar12 = 0; - } - else { - iVar12 = iVar4 * 0x10000 >> 0x10; - } - iVar8 = iVar7; - if (iVar6 < iVar7) { - iVar8 = iVar6; - } - if (iVar8 < iVar12) { - uVar14 = 0; - } - else { - iVar8 = iVar13 - (uint)bParm5; - iVar10 = uParm2 - 1; - iVar11 = iVar13 + (uint)bParm5; - do { - if (iVar8 < 0) { - iVar9 = 0; - } - else { - iVar9 = iVar8 * 0x10000 >> 0x10; - } - iVar5 = iVar11; - if (iVar10 < iVar11) { - iVar5 = iVar10; - } - if (iVar9 <= iVar5) { - do { - iVar5 = iParm1 + iVar9; - iVar9 = (iVar9 + 1) * 0x10000 >> 0x10; - uVar2 += 1; - iVar3 += (uint)*(byte *)(iVar5 + iVar12 * uParm2); - iVar5 = iVar11; - if (iVar10 < iVar11) { - iVar5 = iVar10; - } - } while (iVar9 <= iVar5); - } - iVar12 = (int)(short)((short)iVar12 + 1); - iVar9 = iVar7; - if (iVar6 < iVar7) { - iVar9 = iVar6; - } - } while (iVar12 <= iVar9); - uVar14 = uVar2 >> 1; - } - iVar12 = iParm4 + iVar13; - iVar13 = (iVar13 + 1) * 0x10000 >> 0x10; - if (uVar2 == 0) { - trap(0x1c00); - } - *(undefined *)(iVar12 + iVar1 * uParm2) = (char)((uVar14 + iVar3) / uVar2); - } while (iVar13 < (int)uParm2); - } - iVar1 = (iVar1 + 1) * 0x10000 >> 0x10; - } while (iVar1 < (int)uParm3); - } - return; -} - - - -void locret_7F01D024(int iParm1,int iParm2,int iParm3) - -{ - byte *pbVar1; - undefined *puVar2; - int iVar3; - byte *pbVar4; - int iVar5; - undefined *puVar6; - - pbVar4 = (byte *)(iParm1 + 0x61); - puVar6 = (undefined *)(iParm3 + 0x61); - iVar3 = 1; - if (1 < iParm2 + -1) { - do { - *puVar6 = (char)((int)((uint)pbVar4[-0x60] + (uint)pbVar4[-1] + (uint)*pbVar4 + - (uint)pbVar4[-0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[-0x5f] + (uint)*pbVar4 + (uint)pbVar4[1] + - (uint)pbVar4[-0x60] + 2) >> 2); - iVar5 = 3; - pbVar1 = pbVar4 + 2; - puVar2 = puVar6 + 2; - do { - puVar6 = puVar2; - pbVar4 = pbVar1; - *puVar6 = (char)((int)((uint)pbVar4[-0x60] + (uint)pbVar4[-1] + (uint)*pbVar4 + - (uint)pbVar4[-0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[-0x5f] + (uint)*pbVar4 + (uint)pbVar4[1] + - (uint)pbVar4[-0x60] + 2) >> 2); - puVar6[2] = (char)((int)((uint)pbVar4[-0x5e] + (uint)pbVar4[1] + (uint)pbVar4[2] + - (uint)pbVar4[-0x5f] + 2) >> 2); - iVar5 += 4; - puVar6[3] = (char)((int)((uint)pbVar4[-0x5d] + (uint)pbVar4[2] + (uint)pbVar4[3] + - (uint)pbVar4[-0x5e] + 2) >> 2); - pbVar1 = pbVar4 + 4; - puVar2 = puVar6 + 4; - } while (iVar5 != 0x5f); - iVar3 += 1; - puVar6 = puVar6 + 6; - pbVar4 = pbVar4 + 6; - } while (iVar3 != iParm2 + -1); - } - return; -} - - - -void locret_7F01D164(int iParm1,int iParm2,int iParm3) - -{ - byte *pbVar1; - undefined *puVar2; - int iVar3; - byte *pbVar4; - int iVar5; - undefined *puVar6; - - pbVar4 = (byte *)(iParm1 + 0x61); - puVar6 = (undefined *)(iParm3 + 0x61); - iVar3 = 1; - if (1 < iParm2 + -1) { - do { - *puVar6 = (char)((int)((uint)pbVar4[0x60] + (uint)pbVar4[1] + (uint)*pbVar4 + - (uint)pbVar4[0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[0x61] + (uint)pbVar4[2] + (uint)pbVar4[1] + - (uint)pbVar4[0x62] + 2) >> 2); - iVar5 = 3; - pbVar1 = pbVar4 + 2; - puVar2 = puVar6 + 2; - do { - puVar6 = puVar2; - pbVar4 = pbVar1; - *puVar6 = (char)((int)((uint)pbVar4[0x60] + (uint)pbVar4[1] + (uint)*pbVar4 + - (uint)pbVar4[0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[0x61] + (uint)pbVar4[2] + (uint)pbVar4[1] + - (uint)pbVar4[0x62] + 2) >> 2); - puVar6[2] = (char)((int)((uint)pbVar4[0x62] + (uint)pbVar4[3] + (uint)pbVar4[2] + - (uint)pbVar4[99] + 2) >> 2); - iVar5 += 4; - puVar6[3] = (char)((int)((uint)pbVar4[99] + (uint)pbVar4[4] + (uint)pbVar4[3] + - (uint)pbVar4[100] + 2) >> 2); - pbVar1 = pbVar4 + 4; - puVar2 = puVar6 + 4; - } while (iVar5 != 0x5f); - iVar3 += 1; - puVar6 = puVar6 + 6; - pbVar4 = pbVar4 + 6; - } while (iVar3 != iParm2 + -1); - } - return; -} - - - -void loc_7F01D18C(undefined *puParm1,int iParm2,int iParm3,undefined *puParm4) - -{ - undefined uVar1; - undefined *puVar2; - undefined *puVar3; - undefined *puVar4; - - puVar3 = puParm1 + iParm2; - puVar2 = puParm1 + iParm2 * iParm3; - puVar4 = puVar3; - do { - do { - uVar1 = *puParm1; - puParm1 = puParm1 + 1; - *puParm4 = uVar1; - puVar3 = puVar3 + 1; - puParm4 = puParm4 + iParm3; - } while (puParm1 < puVar4); - puParm4 = puParm4 + (1 - iParm2 * iParm3); - puVar4 = puVar3; - } while (puParm1 < puVar2); - return; -} - - - -byte * func_7F01D29C(byte *pbParm1,int iParm2,int iParm3,byte *pbParm4) - -{ - byte bVar1; - byte bVar2; - byte *pbVar3; - byte *pbVar4; - uint uVar5; - int iVar6; - int iVar7; - byte bVar9; - int iVar8; - - bVar1 = *pbParm1; - pbVar3 = pbParm1 + 1; - do { - bVar2 = *pbVar3; - pbVar4 = pbVar3 + 1; - bVar9 = 0xff; - if (bVar2 == 0xff) { - bVar2 = *pbVar4; - iVar6 = 0; - pbVar4 = pbVar3 + 2; - while (bVar2 != 0xff) { - uVar5 = (uint)bVar2; - iVar6 += uVar5; - if (bVar2 != 0) { - do { - uVar5 -= 1; - *pbParm4 = bVar9; - pbParm4 = pbParm4 + 1; - } while (0 < (int)uVar5); - } - bVar2 = *pbVar4; - bVar9 ^= 0xff; - pbVar4 = pbVar4 + 1; - } - while (iVar6 < iParm2) { - iVar6 += 1; - *pbParm4 = bVar9; - pbParm4 = pbParm4 + 1; - } - iParm3 += -1; - } - else { - iVar7 = ((uint)bVar2 & 0x1f) + (uint)bVar1; - iVar6 = (uint)(bVar2 >> 5) + 1; - iParm3 -= iVar6; - do { - iVar8 = iVar7; - if (iVar7 != 0) { - do { - iVar8 += -1; - *pbParm4 = 0xff; - pbParm4 = pbParm4 + 1; - } while (0 < iVar8); - } - iVar8 = iParm2 - iVar7; - while (0 < iVar8) { - iVar8 += -1; - *pbParm4 = 0; - pbParm4 = pbParm4 + 1; - } - iVar6 += -1; - } while (0 < iVar6); - } - pbVar3 = pbVar4; - } while (0 < iParm3); - return pbVar4; -} - - - -undefined4 FUN_7f01d110(void) - -{ - longlong lVar1; - undefined4 uVar2; - - lVar1 = FUN_7f0bf084(); - uVar2 = DAT_80025ef0; - if (lVar1 != 3) { - uVar2 = 0; - } - return uVar2; -} - - - -undefined4 FUN_7f01d148(void) - -{ - longlong lVar1; - undefined4 uVar2; - - lVar1 = FUN_7f0bf084(); - uVar2 = DAT_80025ef4; - if (lVar1 != 3) { - uVar2 = 0x3f800000; - } - return uVar2; -} - - - -undefined4 FUN_7f01d184(void) - -{ - longlong lVar1; - undefined4 uVar2; - - lVar1 = FUN_7f0bf084(); - uVar2 = DAT_80025ef8; - if (lVar1 != 3) { - uVar2 = 0x3f800000; - } - return uVar2; -} - - - -undefined4 FUN_7f01d1c0(void) - -{ - longlong lVar1; - undefined4 uVar2; - - lVar1 = FUN_7f0bf084(); - uVar2 = DAT_80025efc; - if (lVar1 != 3) { - uVar2 = 0x3f800000; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f01d1fc(void) - -{ - short sVar1; - int iVar4; - undefined8 uVar2; - longlong lVar3; - - if (((-1 < DAT_80025e48) && (DAT_80025e4c != 3)) && (DAT_80025e50 == 0)) { - sVar1 = *(short *)((&DAT_80026148)[DAT_80025e48 * 7] * 6 + DAT_80025e4c * 2 + -0x7ffd954c); - iVar4 = FUN_7f08c2ac(); - loc_7F01E740(DAT_80025e38,(&DAT_80026148)[DAT_80025e48 * 7],DAT_80025e4c,iVar4 / 0x3c); - iVar4 = FUN_7f08c2ac(); - if ((longlong)(iVar4 / 0x3c) <= (longlong)sVar1) { - uVar2 = FUN_7f01dc24(DAT_80025e38); - lVar3 = loc_7F01DD68(uVar2,(&DAT_80026148)[DAT_80025e48 * 7]); - if (lVar3 == 0) { - loc_7F01E868(DAT_80025e38,(&DAT_80026148)[DAT_80025e48 * 7]); - _DAT_800586d0 = 1; - } - } - } - return; -} - - - -void FUN_7f01d354(void) - -{ - FUN_7f01ee90(DAT_80025e38); - return; -} - - - -void FUN_7f01d378(void) - -{ - FUN_7f01efe4(DAT_80025e38); - return; -} - - - -void FUN_7f01d39c(void) - -{ - loc_7F01F384(DAT_80025e38); - return; -} - - - -void FUN_7f01d3c0(void) - -{ - FUN_7f01ea20(DAT_80025e38); - return; -} - - - -void FUN_7f01d3f0(longlong lParm1) - -{ - if (lParm1 != 0) { - if (lParm1 == 1) { - DAT_80025e4c = 1; - return; - } - if (lParm1 == 2) { - DAT_80025e4c = 2; - return; - } - if (lParm1 == 3) { - DAT_80025e4c = 3; - return; - } - } - DAT_80025e4c = 0; - return; -} - - - -void FUN_7f01d440(undefined4 uParm1) - -{ - DAT_80025e40 = 0; - DAT_80025e44 = uParm1; - DAT_80025e48 = FUN_7f00dbd0(); - return; -} - - - -void FUN_7f01d470(undefined8 uParm1) - -{ - FUN_7f01f1f4(DAT_80025e38,uParm1); - return; -} - - - -void FUN_7f01d498(undefined8 uParm1) - -{ - DAT_80025e3c = DAT_80025e38; - DAT_80025e38 = 100; - FUN_7f01f2bc(100,uParm1); - return; -} - - - -void FUN_7f01d4d4(undefined4 uParm1,undefined4 uParm2) - -{ - int iVar1; - - iVar1 = FUN_7f09a690(); - *(undefined4 *)(&DAT_80058650 + iVar1 * 8) = uParm1; - *(undefined4 *)(&DAT_80058654 + iVar1 * 8) = uParm2; - return; -} - - - -void FUN_7f01d520(void) - -{ - FUN_7000b470(); - return; -} - - - -void FUN_7f01d540(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined auStackX0 [16]; - undefined4 auStack96 [24]; - - puVar2 = &DAT_80027a70; - puVar1 = auStack96; - do { - puVar3 = puVar2 + 3; - *puVar1 = *puVar2; - puVar1[1] = puVar2[1]; - puVar1[2] = puVar2[2]; - puVar2 = puVar3; - puVar1 = puVar1 + 3; - } while (puVar3 != &DAT_80027ad0); - puVar2 = auStack96; - puVar1 = (undefined4 *)&DAT_80058a40; - do { - puVar3 = puVar2 + 3; - *puVar1 = *puVar2; - puVar1[1] = puVar2[1]; - puVar1[2] = puVar2[2]; - puVar2 = puVar3; - puVar1 = puVar1 + 3; - } while (puVar3 != (undefined4 *)register0x000000ec); - return; -} - - - -void FUN_7f01d5b8(int iParm1) - -{ - longlong lVar1; - - lVar1 = FUN_7f01d520(); - if (lVar1 != 0) { - sub_GAME_7F09B600(iParm1 + 8,iParm1 + 0x20,iParm1); - FUN_7000b57c(0,iParm1,0x20); - } - return; -} - - - -void FUN_7f01d600(ulonglong uParm1) - -{ - longlong lVar1; - int iVar2; - - if ((0xffffffff8005885f < uParm1) && (uParm1 < ZEXT48(&DAT_80058a40))) { - iVar2 = (int)uParm1; - lVar1 = FUN_7f01d520(); - if (lVar1 != 0) { - sub_GAME_7F09B600(iVar2 + 8,iVar2 + 0x60,iVar2); - FUN_7000b57c(((uint)(((iVar2 + 0x7ffa77a0) / 0x60) * 0x60) >> 3) + 4 & 0xff,iVar2,0x60); - } - } - return; -} - - - -void FUN_7f01d6a0(undefined4 *puParm1) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined auStackX0 [16]; - undefined4 auStack96 [24]; - - puVar2 = auStack96; - puVar3 = &DAT_80027ad0; - puVar1 = puVar2; - do { - puVar4 = puVar3 + 3; - *puVar1 = *puVar3; - puVar1[1] = puVar3[1]; - puVar1[2] = puVar3[2]; - puVar3 = puVar4; - puVar1 = puVar1 + 3; - } while (puVar4 != &DAT_80027b30); - do { - puVar3 = puVar2 + 3; - *puParm1 = *puVar2; - puParm1[1] = puVar2[1]; - puParm1[2] = puVar2[2]; - puVar2 = puVar3; - puParm1 = puParm1 + 3; - } while (puVar3 != (undefined4 *)register0x000000ec); - FUN_7f01d600(); - return; -} - - - -ulonglong get_foldernum_of_eeprom(int iParm1) - -{ - return (ulonglong)*(byte *)(iParm1 + 8) & 7; -} - - - -void set_eeprom_to_folder_num(int iParm1,byte bParm2) - -{ - byte bVar1; - - bVar1 = *(byte *)(iParm1 + 8) & 0xf8; - *(byte *)(iParm1 + 8) = bVar1; - *(byte *)(iParm1 + 8) = bVar1 | bParm2 & 7; - return; -} - - - -int set_eeprom_flag_0x18(int iParm1) - -{ - return (int)((uint)*(byte *)(iParm1 + 8) & 0x18) >> 3; -} - - - -void reset_eeprom_flag_0x18(int iParm1,int iParm2) - -{ - byte bVar1; - - bVar1 = *(byte *)(iParm1 + 8) & 0xe7; - *(byte *)(iParm1 + 8) = bVar1; - *(byte *)(iParm1 + 8) = bVar1 | (byte)(iParm2 << 3) & 0x18; - return; -} - - - -int get_selected_bond(int iParm1) - -{ - return (int)((uint)*(byte *)(iParm1 + 8) & 0x60) >> 5; -} - - - -void set_selected_bond(int iParm1,int iParm2) - -{ - byte bVar1; - - bVar1 = *(byte *)(iParm1 + 8) & 0x9f; - *(byte *)(iParm1 + 8) = bVar1; - *(byte *)(iParm1 + 8) = bVar1 | (byte)(iParm2 << 5) & 0x60; - return; -} - - - -ulonglong check_if_eeprom_flag_set_0x80(int iParm1) - -{ - return (ulonglong)((*(byte *)(iParm1 + 8) & 0x80) != 0); -} - - - -void loc_7F01D980(int iParm1,longlong lParm2) - -{ - if (lParm2 == 0) { - *(byte *)(iParm1 + 8) = *(byte *)(iParm1 + 8) & 0x7f; - return; - } - *(byte *)(iParm1 + 8) = *(byte *)(iParm1 + 8) | 0x80; - return; -} - - - -ulonglong loc_7F01DAD4(int iParm1,longlong lParm2,longlong lParm3) - -{ - undefined8 uVar1; - longlong lVar2; - int iVar3; - uint uVar4; - uint uVar5; - - if (-1 < lParm2) { - if (0x13 < lParm2) { - return 0; - } - if ((-1 < lParm3) && (lParm3 < 4)) { - if (lParm3 == 3) { - uVar1 = get_foldernum_of_eeprom(); - lVar2 = FUN_7f01f300(uVar1); - if (lVar2 != 0) { - return 0x3ff; - } - return 0; - } - uVar4 = ((int)lParm3 * 0x14 + (int)lParm2) * 10; - uVar5 = uVar4 & 7; - iVar3 = (int)uVar4 >> 3; - if (uVar5 == 6) { - return (ulonglong)*(byte *)(iParm1 + iVar3 + 0x13) | - (longlong)(int)(((uint)*(byte *)(iParm1 + iVar3 + 0x12) & 3) << 8); - } - if (uVar5 != 4) { - if (uVar5 == 2) { - return (longlong) - (int)((int)((uint)*(byte *)(iParm1 + iVar3 + 0x13) & 0xf0) >> 4 | - ((uint)*(byte *)(iParm1 + iVar3 + 0x12) & 0x3f) << 4); - } - if (uVar5 == 0) { - return (longlong) - (int)((int)((uint)*(byte *)(iParm1 + iVar3 + 0x13) & 0xc0) >> 6 | - (uint)*(byte *)(iParm1 + iVar3 + 0x12) << 2); - } - return 0; - } - return (longlong) - (int)((int)((uint)*(byte *)(iParm1 + iVar3 + 0x13) & 0xfc) >> 2 | - ((uint)*(byte *)(iParm1 + iVar3 + 0x12) & 0xf) << 6); - } - } - return 0; -} - - - -void locret_7F01DC58(int iParm1,longlong lParm2,longlong lParm3,longlong lParm4) - -{ - int iVar1; - byte bVar2; - uint uVar3; - uint uVar4; - int iVar5; - byte bVar6; - - iVar1 = (int)lParm4; - if ((((-1 < lParm2) && (lParm2 < 0x14)) && (-1 < lParm3)) && (lParm3 < 3)) { - if (lParm4 == 0) { - iVar1 = 0x4f; - } - else { - if (0x3ff < lParm4) { - iVar1 = 0x3ff; - } - } - uVar3 = ((int)lParm3 * 0x14 + (int)lParm2) * 10; - uVar4 = uVar3 & 7; - iVar5 = (int)uVar3 >> 3; - if (uVar4 == 6) { - iParm1 += iVar5; - bVar6 = *(byte *)(iParm1 + 0x12) & 0xfc; - *(byte *)(iParm1 + 0x12) = bVar6; - *(undefined *)(iParm1 + 0x13) = 0; - *(byte *)(iParm1 + 0x12) = bVar6 | (byte)((uint)iVar1 >> 8) & 3; - *(undefined *)(iParm1 + 0x13) = (char)iVar1; - } - else { - if (uVar4 == 4) { - iParm1 += iVar5; - bVar6 = *(byte *)(iParm1 + 0x12) & 0xf0; - bVar2 = *(byte *)(iParm1 + 0x13) & 3; - *(byte *)(iParm1 + 0x12) = bVar6; - *(byte *)(iParm1 + 0x13) = bVar2; - *(byte *)(iParm1 + 0x12) = bVar6 | (byte)(iVar1 >> 6) & 0xf; - *(byte *)(iParm1 + 0x13) = bVar2 | (byte)(iVar1 << 2); - return; - } - if (uVar4 == 2) { - iParm1 += iVar5; - bVar6 = *(byte *)(iParm1 + 0x12) & 0xc0; - bVar2 = *(byte *)(iParm1 + 0x13) & 0xf; - *(byte *)(iParm1 + 0x12) = bVar6; - *(byte *)(iParm1 + 0x13) = bVar2; - *(byte *)(iParm1 + 0x12) = bVar6 | (byte)(iVar1 >> 4) & 0x3f; - *(byte *)(iParm1 + 0x13) = bVar2 | (byte)(iVar1 << 4); - return; - } - if (uVar4 == 0) { - iParm1 += iVar5; - bVar6 = *(byte *)(iParm1 + 0x13) & 0x3f; - *(undefined *)(iParm1 + 0x12) = 0; - *(byte *)(iParm1 + 0x13) = bVar6; - *(undefined *)(iParm1 + 0x12) = (char)(iVar1 >> 2); - *(byte *)(iParm1 + 0x13) = bVar6 | (byte)(iVar1 << 6); - return; - } - } - } - return; -} - - - -ulonglong loc_7F01DCA0(undefined8 uParm1,longlong lParm2,longlong lParm3) - -{ - longlong lVar1; - - if (-1 < lParm2) { - if (0x13 < lParm2) { - return 0; - } - if (-1 < lParm3) { - if (3 < lParm3) { - return 0; - } - lVar1 = loc_7F01DAD4(); - return (ulonglong)(lVar1 != 0); - } - } - return 0; -} - - - -void loc_7F01DD14(undefined4 uParm1,longlong lParm2,longlong lParm3,int iParm4) - -{ - int iVar1; - - if ((((-1 < lParm2) && (lParm2 < 0x14)) && (-1 < lParm3)) && (lParm3 < 4)) { - iVar1 = loc_7F01DAD4(); - if ((iVar1 == 0) || (iParm4 < iVar1)) { - locret_7F01DC58(uParm1,(int)lParm2,(int)lParm3); - } - } - return; -} - - - -ulonglong loc_7F01DD68(int iParm1,longlong lParm2) - -{ - if ((-1 < lParm2) && (lParm2 < 0x14)) { - return (ulonglong) - (((longlong)(1 << ((uint)lParm2 & 0x1f)) & - ((ulonglong)*(byte *)(iParm1 + 0xe) | - (longlong)(int)((uint)*(byte *)(iParm1 + 0x10) << 0x18) | - (longlong)(int)((uint)*(byte *)(iParm1 + 0x10) << 0x10) | - (longlong)(int)((uint)*(byte *)(iParm1 + 0xf) << 8))) != 0); - } - return 0; -} - - - -void locret_7F01DDBC(int iParm1,longlong lParm2) - -{ - uint uVar1; - int iVar2; - - if ((-1 < lParm2) && (lParm2 < 0x14)) { - uVar1 = 1 << ((uint)lParm2 & 0x1f); - uVar1._3_1_ = (byte)uVar1; - iVar2 = 0; - while (0xff < uVar1) { - uVar1._3_1_ = (byte)(uVar1 >> 8); - iVar2 += 1; - uVar1 = uVar1 >> 8; - } - *(byte *)(iParm1 + iVar2 + 0xe) = *(byte *)(iParm1 + iVar2 + 0xe) | (byte)uVar1; - } - return; -} - - - -undefined * FUN_7f01dc24(longlong lParm1) - -{ - longlong lVar1; - undefined *puVar2; - - puVar2 = &DAT_80058860; - while ((lVar1 = check_if_eeprom_flag_set_0x80(puVar2), lVar1 != 0 || - (lVar1 = get_foldernum_of_eeprom(puVar2), lVar1 != lParm1))) { - puVar2 = puVar2 + 0x60; - if (puVar2 == &DAT_80058a40) { - puVar2 = NULL; - if (lParm1 == 100) { - puVar2 = &DAT_80058a40; - } - return puVar2; - } - } - return puVar2; -} - - - -int FUN_7f01dcb0(void) - -{ - longlong lVar1; - int iVar2; - undefined *puVar3; - - puVar3 = &DAT_80058860; - iVar2 = 0; - do { - lVar1 = check_if_eeprom_flag_set_0x80(puVar3); - if (lVar1 != 0) { - return iVar2; - } - iVar2 += 1; - puVar3 = puVar3 + 0x60; - } while (iVar2 != 5); - return 0xffffffff; -} - - - -void FUN_7f01dd14(undefined4 uParm1) - -{ - longlong lVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 auStack100 [24]; - undefined4 uStack4; - - lVar1 = FUN_7f01dcb0(); - if (-1 < lVar1) { - puVar3 = &DAT_80027b30; - puVar5 = auStack100; - do { - puVar4 = puVar3 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar4; - puVar5 = puVar5 + 3; - } while (puVar4 != &DAT_80027b90); - puVar4 = (undefined4 *)(&DAT_80058860 + (int)lVar1 * 0x60); - puVar3 = auStack100; - puVar5 = puVar4; - do { - puVar2 = puVar3 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar2; - puVar5 = puVar5 + 3; - } while (puVar2 != &uStack4); - set_eeprom_to_folder_num(puVar4,uParm1); - loc_7F01D980(puVar4,0); - set_selected_bond(puVar4,uParm1); - FUN_7f01d600(puVar4); - } - return; -} - - - -// WARNING: Could not reconcile some variable overlaps - -void FUN_7f01ddf0(void) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - uint uVar4; - uint uVar5; - undefined4 uVar6; - uint uVar7; - int *piVar8; - int iVar9; - undefined *puVar10; - undefined *puVar11; - int iVar12; - int iVar13; - int iStack44; - int iStack40; - int iStack36; - int iStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined auStack4 [4]; - - lVar2 = FUN_7f01d520(); - if (lVar2 != 0) { - FUN_7000b530(0,&iStack36,0x20); - bVar1 = uStack28._0_1_ == 'B'; - sub_GAME_7F09B600(&uStack28,auStack4,&iStack44); - if ((iStack44 != iStack36) || (iStack40 != iStack32)) { - bVar1 = false; - } - if (!bVar1) { - iStack32 = DAT_80027b94; - iStack36 = DAT_80027b90; - uStack28 = DAT_80027b98; - uStack24 = DAT_80027b9c; - uStack20 = DAT_80027ba0; - uStack8 = DAT_80027bac; - uStack16 = DAT_80027ba4; - uStack12 = DAT_80027ba8; - FUN_7f01d5b8(&iStack36); - } - FUN_7000b530(4,&DAT_80058860,0x1e0); - puVar10 = (undefined *)0x800588c0; - puVar11 = &DAT_80058868; - piVar8 = (int *)&DAT_80058860; - do { - bVar1 = true; - sub_GAME_7F09B600(puVar11,puVar10,&iStack44); - if (iStack44 == *piVar8) { - if (iStack40 != piVar8[1]) { - bVar1 = false; - } - } - else { - bVar1 = false; - } - if (!bVar1) { - FUN_7f01d6a0(piVar8); - } - puVar10 = puVar10 + 0x60; - piVar8 = piVar8 + 0x18; - puVar11 = puVar11 + 0x60; - } while (puVar10 != &DAT_80058aa0); - iVar13 = 0; - do { - iVar12 = -1; - uVar4 = 0xffffffff; - puVar11 = &DAT_80058860; - iVar9 = 0; - do { - lVar2 = check_if_eeprom_flag_set_0x80(puVar11); - if ((lVar2 == 0) && (iVar3 = get_foldernum_of_eeprom(puVar11), iVar3 == iVar13)) { - if (iVar12 < 0) { - uVar4 = set_eeprom_flag_0x18(puVar11); - iVar12 = iVar9; - } - else { - uVar7 = uVar4 + 1 & 3; - if (((int)(uVar4 + 1) < 0) && (uVar7 != 0)) { - uVar7 -= 4; - } - uVar5 = set_eeprom_flag_0x18(puVar11); - if (uVar5 == uVar7) { - FUN_7f01d6a0(&DAT_80058860 + iVar12 * 0x60); - iVar12 = iVar9; - uVar4 = uVar5; - } - else { - FUN_7f01d6a0(puVar11); - } - } - } - iVar9 += 1; - puVar11 = puVar11 + 0x60; - } while (iVar9 != 5); - if (iVar12 < 0) { - FUN_7f01dd14(iVar13); - } - iVar13 += 1; - } while (iVar13 < 4); - iVar13 = 0; - do { - lVar2 = FUN_7f01dc24(iVar13); - if (lVar2 != 0) { - uVar6 = get_selected_bond(lVar2); - (&DAT_80027a60)[iVar13] = uVar6; - } - iVar13 += 1; - } while (iVar13 != 4); - } - return; -} - - - -undefined8 locret_7F01E2B8(longlong lParm1) - -{ - if ((-1 < lParm1) && (lParm1 < 4)) { - return 1; - } - if (lParm1 != 100) { - return 0; - } - return 1; -} - - - -undefined8 loc_7F01E4E0(undefined8 uParm1,int iParm2,int iParm3) - -{ - longlong lVar1; - longlong lVar2; - int iVar3; - int iVar4; - - lVar1 = locret_7F01E2B8(); - if (lVar1 == 0) { - return 0; - } - if (-1 < iParm2) { - if (0x13 < iParm2) { - return 0; - } - if (-1 < iParm3) { - if (3 < iParm3) { - return 0; - } - lVar1 = FUN_7f01dc24(uParm1); - if (lVar1 != 0) { - lVar2 = loc_7F01DCA0(lVar1,iParm2,iParm3); - if (lVar2 != 0) { - return 3; - } - if (((iParm2 == 0x12) && (iParm3 < 1)) || ((iParm2 == 0x13 && (iParm3 < 2)))) { - return 0; - } - iVar4 = iParm3; - if (iParm3 < 4) { - do { - iVar3 = 0; - if (0 < iParm2) { - do { - lVar2 = loc_7F01DCA0(lVar1,iVar3,iVar4); - if (lVar2 == 0) break; - iVar3 += 1; - } while (iVar3 != iParm2); - } - iVar4 += 1; - if (iParm2 <= iVar3) { - return 1; - } - } while (iVar4 != 4); - } - if (((iParm3 < 3) && (iParm2 < 0x12)) && (iParm3 < 4)) { - iVar4 = iParm3; - do { - lVar2 = loc_7F01DCA0(lVar1,iParm2 + -1,iVar4); - iVar4 += 1; - if (lVar2 != 0) { - return 1; - } - } while (iVar4 != 4); - } - iVar4 = 0; - if (iParm3 < 3) { - do { - lVar2 = loc_7F01DCA0(lVar1,iVar4,0); - if (lVar2 == 0) break; - iVar4 += 1; - } while (iVar4 < 0x12); - if (0x11 < iVar4) { - iVar4 = 0; - if (0 < iParm3) { - do { - lVar2 = loc_7F01DCA0(lVar1,iParm2,iVar4); - if (lVar2 == 0) break; - iVar4 += 1; - } while (iVar4 != iParm3); - } - if (iParm3 <= iVar4) { - return 1; - } - } - } - } - if (iParm2 == 0) { - return 1; - } - lVar1 = FUN_7f090490(); - if ((lVar1 != 0) && (iParm3 == 0)) { - return 1; - } - lVar1 = FUN_7f090498(); - if (lVar1 == 0) { - return 0; - } - return 1; - } - } - return 0; -} - - - -void FUN_7f01e364(int iParm1,undefined4 *puParm2) - -{ - longlong lVar1; - int iVar2; - undefined *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - uint uStack8; - - uStack8 = 0; - lVar1 = FUN_7f01dcb0(); - if (-1 < lVar1) { - puVar5 = puParm2; - puVar4 = (undefined4 *)(&DAT_80058860 + (int)lVar1 * 0x60); - do { - puVar6 = puVar5 + 3; - *puVar4 = *puVar5; - puVar4[1] = puVar5[1]; - puVar4[2] = puVar5[2]; - puVar5 = puVar6; - puVar4 = puVar4 + 3; - } while (puVar6 != puParm2 + 0x18); - if (iParm1 != 0) { - iVar2 = set_eeprom_flag_0x18(); - uStack8 = iVar2 + 1U & 3; - if (((int)(iVar2 + 1U) < 0) && (uStack8 != 0)) { - uStack8 -= 4; - } - } - puVar3 = &DAT_80058860 + (int)lVar1 * 0x60; - loc_7F01D980(puVar3,0); - reset_eeprom_flag_0x18(puVar3,uStack8); - FUN_7f01d600(puVar3); - if (iParm1 != 0) { - FUN_7f01d6a0(iParm1); - } - } - return; -} - - - -void loc_7F01E740(longlong lParm1,longlong lParm2,int iParm3,undefined8 uParm4) - -{ - longlong lVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - int iVar6; - undefined4 auStack96 [24]; - - if ((((-1 < lParm1) && (lParm1 < 4)) && (-1 < lParm2)) && - (((lParm2 < 0x14 && (-1 < iParm3)) && (iParm3 < 4)))) { - puVar5 = &DAT_80027bb0; - puVar2 = auStack96; - do { - puVar4 = puVar5 + 3; - *puVar2 = *puVar5; - puVar2[1] = puVar5[1]; - puVar2[2] = puVar5[2]; - puVar5 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != &DAT_80027c10); - lVar1 = FUN_7f01dc24(lParm1); - puVar5 = (undefined4 *)lVar1; - if (lVar1 == 0) { - set_eeprom_to_folder_num(auStack96,lParm1); - } - else { - puVar2 = puVar5; - puVar4 = auStack96; - do { - puVar3 = puVar2 + 3; - *puVar4 = *puVar2; - puVar4[1] = puVar2[1]; - puVar4[2] = puVar2[2]; - puVar2 = puVar3; - puVar4 = puVar4 + 3; - } while (puVar3 != puVar5 + 0x18); - } - iVar6 = iParm3; - if (-1 < iParm3) { - do { - if (iVar6 == iParm3) { - loc_7F01DD14(auStack96,lParm2,iVar6,uParm4); - } - else { - loc_7F01DD14(auStack96,lParm2,iVar6,99999999); - } - iVar6 += -1; - } while (-1 < iVar6); - } - FUN_7f01e364(puVar5,auStack96); - } - return; -} - - - -void loc_7F01E868(longlong lParm1,longlong lParm2) - -{ - longlong lVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 auStack100 [24]; - undefined4 *puStack4; - - if ((((-1 < lParm1) && (lParm1 < 4)) && (-1 < lParm2)) && (lParm2 < 0x14)) { - lVar1 = FUN_7f01dc24(); - puStack4 = (undefined4 *)lVar1; - if ((lVar1 == 0) || (lVar1 = loc_7F01DD68(lVar1,(int)lParm2), lVar1 == 0)) { - puVar2 = &DAT_80027c10; - puVar4 = auStack100; - do { - puVar3 = puVar2 + 3; - *puVar4 = *puVar2; - puVar4[1] = puVar2[1]; - puVar4[2] = puVar2[2]; - puVar2 = puVar3; - puVar4 = puVar4 + 3; - } while (puVar3 != &DAT_80027c70); - if (puStack4 == NULL) { - set_eeprom_to_folder_num(auStack100,(int)lParm1); - } - else { - puVar2 = auStack100; - puVar4 = puStack4; - do { - puVar3 = puVar4 + 3; - *puVar2 = *puVar4; - puVar2[1] = puVar4[1]; - puVar2[2] = puVar4[2]; - puVar2 = puVar2 + 3; - puVar4 = puVar3; - } while (puVar3 != puStack4 + 0x18); - } - locret_7F01DDBC(auStack100,(int)lParm2); - FUN_7f01e364(puStack4,auStack100); - } - } - return; -} - - - -void FUN_7f01e6d4(undefined8 uParm1,int *piParm2,int *piParm3) - -{ - longlong lVar1; - longlong lVar2; - int iVar3; - int iVar4; - - lVar1 = FUN_7f01dc24(); - if (lVar1 != 0) { - iVar4 = 3; - do { - iVar3 = 0x13; - do { - lVar2 = loc_7F01DCA0(lVar1,iVar3,iVar4); - if (lVar2 != 0) { - *piParm2 = iVar3; - *piParm3 = iVar4; - return; - } - iVar3 += -1; - } while (-1 < iVar3); - iVar4 += -1; - } while (-1 < iVar4); - } - *piParm2 = -1; - *piParm3 = -1; - return; -} - - - -int FUN_7f01e774(undefined8 uParm1) - -{ - longlong lVar1; - int iVar2; - int iVar3; - - lVar1 = FUN_7f01dc24(); - iVar3 = 0x13; - if (lVar1 != 0) { - do { - iVar2 = 0; - do { - lVar1 = loc_7F01E4E0(uParm1,iVar3,iVar2); - iVar2 += 1; - if (lVar1 != 0) { - return iVar3; - } - } while (iVar2 != 4); - iVar3 += -1; - } while (-1 < iVar3); - } - return 0; -} - - - -longlong loc_7F01E9D0(void) - -{ - longlong lVar1; - int iVar2; - longlong lVar3; - - lVar3 = 0; - iVar2 = 0; - do { - lVar1 = FUN_7f01e774(iVar2); - iVar2 += 1; - if (lVar3 < lVar1) { - lVar3 = lVar1; - } - } while (iVar2 != 4); - return lVar3; -} - - - -ulonglong FUN_7f01e854(undefined8 uParm1) - -{ - longlong lVar1; - ulonglong uVar2; - - lVar1 = loc_7F01E4E0(uParm1,0x11,0); - uVar2 = (ulonglong)(lVar1 == 3); - if (lVar1 != 3) { - lVar1 = loc_7F01E4E0((int)uParm1,0x11,1); - uVar2 = (ulonglong)(lVar1 == 3); - if (lVar1 != 3) { - lVar1 = loc_7F01E4E0((int)uParm1,0x11,2); - uVar2 = (ulonglong)(lVar1 == 3); - } - } - return uVar2; -} - - - -ulonglong FUN_7f01e8bc(undefined8 uParm1) - -{ - bool bVar1; - longlong lVar2; - - lVar2 = loc_7F01E4E0(uParm1,0x12,1); - bVar1 = lVar2 == 3; - if (!bVar1) { - lVar2 = loc_7F01E4E0((int)uParm1,0x12,2); - bVar1 = lVar2 == 3; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f01e908(undefined8 uParm1) - -{ - longlong lVar1; - - lVar1 = loc_7F01E4E0(uParm1,0x13,2); - return (ulonglong)(lVar1 == 3); -} - - - -undefined8 FUN_7f01e930(void) - -{ - longlong lVar1; - int iVar2; - - iVar2 = 0; - do { - lVar1 = FUN_7f01e854(iVar2); - iVar2 += 1; - if (lVar1 != 0) { - return 1; - } - } while (iVar2 != 4); - return 0; -} - - - -undefined8 FUN_7f01e980(void) - -{ - longlong lVar1; - int iVar2; - - iVar2 = 0; - do { - lVar1 = FUN_7f01e8bc(iVar2); - iVar2 += 1; - if (lVar1 != 0) { - return 1; - } - } while (iVar2 != 4); - return 0; -} - - - -undefined8 FUN_7f01e9d0(void) - -{ - longlong lVar1; - int iVar2; - - iVar2 = 0; - do { - lVar1 = FUN_7f01e908(iVar2); - iVar2 += 1; - if (lVar1 != 0) { - return 1; - } - } while (iVar2 != 4); - return 0; -} - - - -undefined8 FUN_7f01ea20(void) - -{ - return 0; -} - - - -void FUN_7f01ea2c(longlong lParm1) - -{ - if ((-1 < lParm1) && (lParm1 < 4)) { - (&DAT_80027a60)[(int)lParm1] = 0; - } - return; -} - - - -void loc_7F01ED00(longlong lParm1) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int *piVar4; - int aiStack108 [24]; - int iStack12; - int aiStack8 [2]; - - if ((((-1 < lParm1) && (lParm1 < 4)) && (piVar1 = (int *)FUN_7f01dc24(), piVar1 != NULL)) && - ((FUN_7f01e6d4(lParm1,aiStack8,&iStack12), -1 < aiStack8[0] && (-1 < iStack12)))) { - piVar3 = &DAT_80027c70; - piVar2 = aiStack108; - do { - piVar4 = piVar3 + 3; - *piVar2 = *piVar3; - piVar2[1] = piVar3[1]; - piVar2[2] = piVar3[2]; - piVar3 = piVar4; - piVar2 = piVar2 + 3; - } while (piVar4 != &DAT_80027cd0); - piVar3 = aiStack108; - piVar2 = piVar1; - do { - piVar4 = piVar3 + 3; - *piVar2 = *piVar3; - piVar2[1] = piVar3[1]; - piVar2[2] = piVar3[2]; - piVar3 = piVar4; - piVar2 = piVar2 + 3; - } while (piVar4 != &iStack12); - set_eeprom_to_folder_num(piVar1,lParm1); - loc_7F01D980(piVar1,0); - set_selected_bond(piVar1,lParm1); - FUN_7f01ea2c(lParm1,lParm1); - FUN_7f01d600(piVar1); - } - return; -} - - - -void FUN_7f01eb70(void) - -{ - undefined8 uVar1; - int iVar2; - int iVar3; - - uVar1 = FUN_7f01dc24(); - iVar3 = 0; - do { - iVar2 = 0; - do { - loc_7F01DD14(uVar1,iVar3,iVar2,99999999); - iVar2 += 1; - } while (iVar2 != 3); - iVar3 += 1; - } while (iVar3 != 0x14); - return; -} - - - -void loc_7F01EEF8(longlong lParm1) - -{ - undefined8 uVar1; - undefined8 uVar2; - longlong lVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - int iVar7; - undefined4 auStack112 [25]; - int iStack12; - int iStack8; - undefined4 *puStack4; - - if ((-1 < lParm1) && (lParm1 < 4)) { - lVar3 = FUN_7f01dc24(); - puStack4 = (undefined4 *)lVar3; - if (lVar3 != 0) { - FUN_7f01e6d4((int)lParm1,&iStack8,&iStack12); - if ((-1 < iStack8) && (iVar7 = 0, -1 < iStack12)) { - while (lVar3 = FUN_7f01dc24(iVar7), lVar3 != 0) { - FUN_7f01e6d4(iVar7,&iStack8,&iStack12); - if (((iStack8 < 0) && (iStack12 < 0)) || (iVar7 += 1, iVar7 == 4)) break; - } - if (iVar7 < 4) { - puVar4 = &DAT_80027cd0; - puVar6 = auStack112; - do { - puVar5 = puVar4 + 3; - *puVar6 = *puVar4; - puVar6[1] = puVar4[1]; - puVar6[2] = puVar4[2]; - puVar4 = puVar5; - puVar6 = puVar6 + 3; - } while (puVar5 != &DAT_80027d30); - uVar1 = FUN_7f01dc24(iVar7); - puVar4 = puStack4; - puVar6 = auStack112; - do { - puVar5 = puVar4 + 3; - *puVar6 = *puVar4; - puVar6[1] = puVar4[1]; - puVar6[2] = puVar4[2]; - puVar4 = puVar5; - puVar6 = puVar6 + 3; - } while (puVar5 != puStack4 + 0x18); - set_eeprom_to_folder_num(auStack112,iVar7); - uVar2 = FUN_7f01ea20((int)lParm1); - FUN_7f01ea2c(iVar7,uVar2); - FUN_7f01e364(uVar1,auStack112); - } - } - } - } - return; -} - - - -void FUN_7f01ed70(int iParm1) - -{ - longlong lVar1; - longlong lVar2; - int iVar3; - ushort uVar4; - ushort uVar5; - - iVar3 = FUN_7f0a8698(); - *(undefined *)(iParm1 + 10) = (char)(iVar3 >> 7); - iVar3 = FUN_7f0a84c0(); - *(undefined *)(iParm1 + 0xb) = (char)(iVar3 >> 7); - lVar1 = FUN_7f0a4158(); - lVar2 = FUN_7f0a4170(); - uVar5 = (ushort)(lVar1 != 0); - if (lVar2 != 0) { - uVar5 = (ushort)(lVar1 != 0) | 2; - } - lVar1 = FUN_7f0a41a0(); - if (lVar1 != 0) { - uVar5 = uVar5 | 4; - } - lVar1 = FUN_7f0a41b8(); - if (lVar1 != 0) { - uVar5 = uVar5 | 8; - } - lVar1 = FUN_7f0a4188(); - if (lVar1 != 0) { - uVar5 = uVar5 | 0x10; - } - lVar1 = FUN_7f0a41d0(); - if (lVar1 != 0) { - uVar5 = uVar5 | 0x20; - } - lVar1 = FUN_7f0a41e8(); - uVar4 = uVar5 | 0x40; - if (lVar1 != 1) { - lVar1 = FUN_7f0a41e8(); - uVar4 = uVar5; - if (lVar1 == 2) { - uVar4 = uVar5 | 0x800; - } - } - lVar1 = FUN_7f0a4200(); - if (lVar1 != 0) { - uVar4 = uVar4 | 0x80; - } - iVar3 = FUN_7f0a40e0(); - *(ushort *)(iParm1 + 0xc) = uVar4 | (ushort)(iVar3 << 8) & 0x700; - return; -} - - - -void FUN_7f01ee90(void) - -{ - ushort uVar1; - int iVar3; - longlong lVar2; - - iVar3 = FUN_7f01dc24(); - if (iVar3 != 0) { - FUN_7f0a86a4((uint)*(byte *)(iVar3 + 10) << 7 | (int)(uint)*(byte *)(iVar3 + 10) >> 1); - FUN_7f0a84e0((uint)*(byte *)(iVar3 + 0xb) << 7 | (int)(uint)*(byte *)(iVar3 + 0xb) >> 1); - uVar1 = *(ushort *)(iVar3 + 0xc); - lVar2 = FUN_7f0999a4(); - if (lVar2 == 1) { - FUN_7f0a40f0((int)((uint)uVar1 & 0x700) >> 8); - } - else { - FUN_7f0a40f0(0); - } - FUN_7f0a4164((ulonglong)((uVar1 & 1) != 0)); - FUN_7f0a417c((ulonglong)((uVar1 & 2) != 0)); - FUN_7f0a41ac((ulonglong)((uVar1 & 4) != 0)); - FUN_7f0a41c4((ulonglong)((uVar1 & 8) != 0)); - FUN_7f0a4194((ulonglong)((uVar1 & 0x10) != 0)); - FUN_7f0a41dc((ulonglong)((uVar1 & 0x20) != 0)); - if ((uVar1 & 0x800) == 0) { - if ((uVar1 & 0x40) == 0) { - FUN_7f0a41f4(0); - } - else { - FUN_7f0a41f4(1); - } - } - else { - FUN_7f0a41f4(2); - } - FUN_7f0a420c((ulonglong)((uVar1 & 0x80) != 0)); - } - return; -} - - - -void FUN_7f01efe4(longlong lParm1) - -{ - longlong lVar1; - undefined4 **ppuVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 **ppuVar5; - undefined4 auStack196 [24]; - undefined4 *apuStack100 [24]; - undefined4 *puStack4; - - if ((-1 < lParm1) && (lParm1 < 4)) { - lVar1 = FUN_7f01dc24(); - puStack4 = (undefined4 *)lVar1; - puVar3 = &DAT_80027d30; - ppuVar2 = apuStack100; - do { - puVar4 = puVar3 + 3; - *ppuVar2 = (undefined4 *)*puVar3; - ppuVar2[1] = (undefined4 *)puVar3[1]; - ppuVar2[2] = (undefined4 *)puVar3[2]; - puVar3 = puVar4; - ppuVar2 = ppuVar2 + 3; - } while (puVar4 != &DAT_80027d90); - if (lVar1 == 0) { - set_eeprom_to_folder_num(apuStack100,(int)lParm1); - } - else { - puVar3 = puStack4; - ppuVar2 = apuStack100; - do { - puVar4 = puVar3 + 3; - *ppuVar2 = (undefined4 *)*puVar3; - ppuVar2[1] = (undefined4 *)puVar3[1]; - ppuVar2[2] = (undefined4 *)puVar3[2]; - puVar3 = puVar4; - ppuVar2 = ppuVar2 + 3; - } while (puVar4 != puStack4 + 0x18); - } - ppuVar2 = apuStack100; - puVar3 = auStack196; - do { - ppuVar5 = ppuVar2 + 3; - *(undefined4 **)puVar3 = *ppuVar2; - *(undefined4 **)(puVar3 + 1) = ppuVar2[1]; - *(undefined4 **)(puVar3 + 2) = ppuVar2[2]; - ppuVar2 = ppuVar5; - puVar3 = puVar3 + 3; - } while (ppuVar5 != &puStack4); - FUN_7f01ed70(); - lVar1 = _bcmp(auStack196,apuStack100,0x60); - if (lVar1 != 0) { - FUN_7f01e364(puStack4,auStack196); - } - } - return; -} - - - -void loc_7F01F384(longlong lParm1) - -{ - longlong lVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 auStack100 [24]; - undefined4 *puStack4; - - if ((-1 < lParm1) && (lParm1 < 4)) { - lVar1 = FUN_7f01dc24(); - puStack4 = (undefined4 *)lVar1; - puVar3 = &DAT_80027d90; - puVar2 = auStack100; - do { - puVar4 = puVar3 + 3; - *puVar2 = *puVar3; - puVar2[1] = puVar3[1]; - puVar2[2] = puVar3[2]; - puVar3 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != &DAT_80027df0); - if (lVar1 == 0) { - set_eeprom_to_folder_num(auStack100,lParm1); - } - else { - puVar3 = puStack4; - puVar2 = auStack100; - do { - puVar4 = puVar3 + 3; - *puVar2 = *puVar3; - puVar2[1] = puVar3[1]; - puVar2[2] = puVar3[2]; - puVar3 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != puStack4 + 0x18); - } - lVar1 = get_selected_bond(auStack100); - if (lVar1 != (longlong)(int)(&DAT_80027a60)[(int)lParm1]) { - set_selected_bond(auStack100); - FUN_7f01e364(puStack4,auStack100); - } - } - return; -} - - - -void FUN_7f01f1f4(undefined8 uParm1,undefined4 *puParm2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 auStack100 [24]; - undefined4 uStack4; - - puVar1 = (undefined4 *)FUN_7f01dc24(); - if (puVar1 == NULL) { - puVar1 = &DAT_80027df0; - puVar2 = auStack100; - do { - puVar3 = puVar1 + 3; - *puVar2 = *puVar1; - puVar2[1] = puVar1[1]; - puVar2[2] = puVar1[2]; - puVar1 = puVar3; - puVar2 = puVar2 + 3; - } while (puVar3 != &DAT_80027e50); - puVar1 = auStack100; - do { - puVar2 = puVar1 + 3; - *puParm2 = *puVar1; - puParm2[1] = puVar1[1]; - puParm2[2] = puVar1[2]; - puVar1 = puVar2; - puParm2 = puParm2 + 3; - } while (puVar2 != &uStack4); - } - else { - puVar2 = puVar1; - do { - puVar3 = puVar2 + 3; - *puParm2 = *puVar2; - puParm2[1] = puVar2[1]; - puParm2[2] = puVar2[2]; - puVar2 = puVar3; - puParm2 = puParm2 + 3; - } while (puVar3 != puVar1 + 0x18); - } - return; -} - - - -void FUN_7f01f2bc(longlong lParm1,undefined4 *puParm2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - - if (lParm1 == 100) { - puVar2 = puParm2; - puVar1 = (undefined4 *)&DAT_80058a40; - do { - puVar3 = puVar2 + 3; - *puVar1 = *puVar2; - puVar1[1] = puVar2[1]; - puVar1[2] = puVar2[2]; - puVar2 = puVar3; - puVar1 = puVar1 + 3; - } while (puVar3 != puParm2 + 0x18); - } - return; -} - - - -undefined8 FUN_7f01f300(void) - -{ - int iVar3; - undefined8 uVar1; - longlong lVar2; - int iVar4; - - iVar3 = FUN_7f01dc24(); - if (iVar3 == 0) { - uVar1 = 0; - } - else { - iVar4 = 0; - if ((*(byte *)(iVar3 + 9) & 1) == 0) { - do { - lVar2 = loc_7F01DCA0(iVar3,iVar4,2); - if (lVar2 == 0) break; - iVar4 += 1; - } while (iVar4 != 0x14); - if (iVar4 == 0x14) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 1; - } - } - return uVar1; -} - - - -undefined4 actor_drops_itemtype_setting_timer(void) - -{ - return DAT_800281b8; -} - - - -void FUN_7f01f39c(undefined8 uParm1) - -{ - FUN_7f0bcac4((int)uParm1 << 4); - return; -} - - - -undefined4 loc_7F01F5D8(int iParm1) - -{ - longlong lVar1; - undefined4 uVar2; - - if (*(int *)(iParm1 + 0x14) == 0) { - uVar2 = 0; - } - else { - lVar1 = sub_7F0B20D0(iParm1 + 0x14,*(undefined4 *)(iParm1 + 8),*(undefined4 *)(iParm1 + 0x10), - 0x3f800000); - if (lVar1 < 0) { - uVar2 = FUN_7f0b1c30(*(undefined4 *)(iParm1 + 0x14),*(undefined4 *)(iParm1 + 8), - *(undefined4 *)(iParm1 + 0x10)); - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -void loc_7F01F604(int iParm1,longlong lParm2) - -{ - if (lParm2 == 0) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 0x100; - return; - } - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) & 0xfeff; - return; -} - - - -int loc_7F01FBF8(int iParm1,int iParm2,float *pfParm3,float *pfParm4,int iParm5) - -{ - bool bVar1; - longlong lVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fStack88; - float fStack80; - float afStack44 [2]; - float fStack36; - float afStack32 [2]; - float fStack24; - float fStack20; - undefined4 uStack16; - undefined4 uStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - iStack8 = iParm2; - sub_7F023160(*(undefined4 *)(iParm1 + 0x18),&fStack20,&uStack12,&uStack16); - loc_7F01F604(iParm1,0); - FUN_7f0b0f84(); - lVar2 = loc_7F0B13B4(&iStack8,*pfParm3,pfParm3[2],*pfParm4,pfParm4[2],0x1f,uStack12,uStack16,0, - 0x3f800000); - if ((lVar2 == 0) || - (lVar2 = loc_7F0B1C80(&iStack8,*pfParm4,pfParm4[2],fStack20,0x1f,uStack12,uStack16), -1 < lVar2 - )) { - lVar2 = FUN_7f0b1b70(afStack32,afStack44); - if (lVar2 != 0) { - fVar6 = *pfParm4 - *pfParm3; - fVar5 = pfParm4[2] - pfParm3[2]; - if ((afStack32[0] == afStack44[0]) && (fStack24 == fStack36)) { - bVar1 = false; - } - else { - fVar4 = fStack36 - fStack24; - fVar3 = afStack44[0] - afStack32[0]; - fVar7 = (float)sqrtf(fVar4 * fVar4 + fVar3 * fVar3); - fVar3 = fVar3 * (1.00000000 / fVar7); - fVar4 = fVar4 * (1.00000000 / fVar7); - fVar7 = fVar4 * fVar5 + fVar6 * fVar3; - fStack88 = fVar3 * fVar7 + *pfParm3; - fStack80 = fVar4 * fVar7 + pfParm3[2]; - bVar1 = true; - iStack8 = iParm2; - } - if (bVar1) { - lVar2 = loc_7F0B13B4(&iStack8,*pfParm3,pfParm3[2],fStack88,fStack80,0x1f,uStack12,uStack16,0 - ,0x3f800000); - if ((lVar2 != 0) && - (lVar2 = loc_7F0B1C80(&iStack8,fStack88,fStack80,fStack20,0x1f,uStack12,uStack16), - lVar2 < 0)) { - *pfParm4 = fStack88; - pfParm4[2] = fStack80; - *(undefined *)(iParm1 + 9) = 2; - iStack4 = iStack8; - goto LAB_7f01fa3c; - } - } - if ((fStack24 - pfParm4[2]) * (fStack24 - pfParm4[2]) + - (afStack32[0] - *pfParm4) * (afStack32[0] - *pfParm4) <= fStack20 * fStack20) { - if (afStack32[0] == *pfParm3) { - if (fStack24 == pfParm3[2]) goto LAB_7f01fa3c; - fVar3 = pfParm3[2]; - } - else { - fVar3 = pfParm3[2]; - } - fVar7 = -(fStack24 - fVar3); - afStack32[0] = afStack32[0] - *pfParm3; - fVar3 = (float)sqrtf(afStack32[0] * afStack32[0] + fVar7 * fVar7); - fVar7 = fVar7 * (1.00000000 / fVar3); - afStack32[0] = afStack32[0] * (1.00000000 / fVar3); - fVar6 = afStack32[0] * fVar5 + fVar6 * fVar7; - fVar5 = fVar7 * fVar6 + *pfParm3; - fVar6 = afStack32[0] * fVar6 + pfParm3[2]; - iStack8 = iParm2; - lVar2 = loc_7F0B13B4(&iStack8,*pfParm3,pfParm3[2],fVar5,fVar6,0x1f,uStack12,uStack16,0, - 0x3f800000); - if ((lVar2 != 0) && - (lVar2 = loc_7F0B1C80(&iStack8,fVar5,fVar6,fStack20,0x1f,uStack12,uStack16), lVar2 < 0)) - { - *pfParm4 = fVar5; - pfParm4[2] = fVar6; - *(undefined *)(iParm1 + 9) = 2; - iStack4 = iStack8; - } - } - else { - if ((fStack36 - pfParm4[2]) * (fStack36 - pfParm4[2]) + - (afStack44[0] - *pfParm4) * (afStack44[0] - *pfParm4) <= fStack20 * fStack20) { - if (afStack44[0] == *pfParm3) { - if (fStack36 == pfParm3[2]) goto LAB_7f01fa3c; - fVar3 = pfParm3[2]; - } - else { - fVar3 = pfParm3[2]; - } - fVar7 = -(fStack36 - fVar3); - afStack44[0] = afStack44[0] - *pfParm3; - fVar3 = (float)sqrtf(afStack44[0] * afStack44[0] + fVar7 * fVar7); - fVar7 = fVar7 * (1.00000000 / fVar3); - afStack44[0] = afStack44[0] * (1.00000000 / fVar3); - fVar6 = afStack44[0] * fVar5 + fVar6 * fVar7; - fVar5 = fVar7 * fVar6 + *pfParm3; - fVar6 = afStack44[0] * fVar6 + pfParm3[2]; - iStack8 = iParm2; - lVar2 = loc_7F0B13B4(&iStack8,*pfParm3,pfParm3[2],fVar5,fVar6,0x1f,uStack12,uStack16,0, - 0x3f800000); - if ((lVar2 != 0) && - (lVar2 = loc_7F0B1C80(&iStack8,fVar5,fVar6,fStack20,0x1f,uStack12,uStack16), lVar2 < 0) - ) { - *pfParm4 = fVar5; - pfParm4[2] = fVar6; - *(undefined *)(iParm1 + 9) = 2; - iStack4 = iStack8; - } - } - } - } - } - else { - if (iParm5 != 0) { - *(undefined *)(iParm1 + 9) = 0; - *(undefined4 *)(iParm1 + 0xcc) = DAT_80040ffc; - } - iStack4 = iStack8; - } -LAB_7f01fa3c: - loc_7F01F604(iParm1,1); - if (iStack4 == 0) { - *(undefined *)(iParm1 + 9) = 1; - } - return iStack4; -} - - - -undefined8 loc_7F01FFB0(int iParm1,float *pfParm2,float *pfParm3,float *pfParm4) - -{ - bool bVar1; - int iVar2; - bool bVar3; - float fVar4; - longlong lVar5; - int iVar6; - float *pfVar7; - float fVar8; - float fVar9; - float fVar10; - - iVar2 = *(int *)(iParm1 + 4); - bVar1 = false; - fVar9 = 0.00000000; - if (*(int *)(*(int *)(iVar2 + 0x18) + 0x14) == 0) goto LAB_7f01fde0; - if ((*(char *)(iVar2 + 7) == '\x04') && (fVar9 = *(float *)(iVar2 + 0x38), 0.00000000 < fVar9)) { - fVar9 = (*(float *)(iParm1 + 0xa4) * DAT_80040ff8 * (fVar9 - *(float *)(iVar2 + 0x3c))) / fVar9; - *pfParm3 = *pfParm3 + *(float *)(iVar2 + 0x40) * fVar9; - pfParm3[1] = pfParm3[1] + *(float *)(iVar2 + 0x44) * fVar9; - pfParm3[2] = pfParm3[2] + *(float *)(iVar2 + 0x48) * fVar9; - *(float *)(iVar2 + 0x3c) = *(float *)(iVar2 + 0x3c) + DAT_80040ff8 * *(float *)(iParm1 + 0xa4); - if (*(float *)(iVar2 + 0x38) < *(float *)(iVar2 + 0x3c)) { - *(undefined4 *)(iVar2 + 0x38) = 0; - } - } - *pfParm3 = *pfParm3 + *(float *)(iVar2 + 0xb0) * DAT_80041004; - pfParm3[2] = pfParm3[2] + *(float *)(iVar2 + 0xb8) * DAT_80041004; - lVar5 = loc_7F01FBF8(iVar2,*(undefined4 *)(*(int *)(iVar2 + 0x18) + 0x14),pfParm2,pfParm3,1); - bVar1 = lVar5 != 0; - pfVar7 = pfParm2; - if (bVar1) { - *(undefined4 *)(*(int *)(iVar2 + 0x18) + 0x14) = (int)lVar5; - pfVar7 = pfParm3; - } - if ((*(uint *)(iVar2 + 0x14) & 0x1000) != 0) { - fVar9 = *(float *)(iVar2 + 0xac); - goto LAB_7f01fde0; - } - fVar9 = (float)FUN_7f0b1c30(*(undefined4 *)(*(int *)(iVar2 + 0x18) + 0x14),*pfVar7,pfVar7[2]); - *(float *)(iVar2 + 0xac) = fVar9; - if ((*(uint *)(iVar2 + 0x14) & 1) == 0) { - if (*(float *)(iVar2 + 0xb4) == 0.00000000) { - fVar8 = *(float *)(iVar2 + 0xac); - if (fVar8 < *(float *)(iVar2 + 0xa8)) goto LAB_7f01fca4; - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar8; - } - else { -LAB_7f01fca4: - FUN_7f058044(iVar2 + 0xa8,iVar2 + 0xb4,DAT_80041004); - fVar8 = *(float *)(iVar2 + 0xac); - if (*(float *)(iVar2 + 0xa8) <= fVar8) { - *(float *)(iVar2 + 0xa8) = fVar8; - fVar4 = DAT_80047e34; - *(undefined4 *)(iVar2 + 0xb4) = 0; - *(float *)(iVar2 + 0xa4) = fVar8 / fVar4; - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar8; - } - else { - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar8; - } - } - fVar4 = DAT_80047e38; - if (bVar3) { - iVar6 = 0; - if (0 < DAT_80040ff4) { - fVar10 = *(float *)(iVar2 + 0xa4); - while( true ) { - iVar6 += 1; - *(float *)(iVar2 + 0xb0) = *(float *)(iVar2 + 0xb0) * fVar4; - *(float *)(iVar2 + 0xa4) = fVar10 * fVar4 + fVar8; - *(float *)(iVar2 + 0xb8) = *(float *)(iVar2 + 0xb8) * fVar4; - if (DAT_80040ff4 <= iVar6) break; - fVar10 = *(float *)(iVar2 + 0xa4); - } - } - fVar8 = DAT_80047e3c; - bVar3 = DAT_80047e3c <= *(float *)(iVar2 + 0xb0); - *(float *)(iVar2 + 0xa8) = *(float *)(iVar2 + 0xa4) * DAT_80047e40; - if (bVar3) goto LAB_7f01fdc0; - if (DAT_80047e44 < *(float *)(iVar2 + 0xb0)) { - if (*(float *)(iVar2 + 0xb8) < fVar8) { - if (DAT_80047e44 < *(float *)(iVar2 + 0xb8)) { - *(undefined4 *)(iVar2 + 0xb8) = 0; - *(undefined4 *)(iVar2 + 0xb0) = 0; - goto LAB_7f01fdc0; - } - fVar8 = *(float *)(iVar2 + 0xa8); - } - else { - fVar8 = *(float *)(iVar2 + 0xa8); - } - } - else { - fVar8 = *(float *)(iVar2 + 0xa8); - } - } - else { - fVar8 = *(float *)(iVar2 + 0xa8); - } - } - else { - iVar6 = loc_7F06C888(iParm1,**(undefined4 **)(iParm1 + 8)); - *(uint *)(iVar2 + 0x14) = *(uint *)(iVar2 + 0x14) & 0xfffffffe; - *(float *)(iVar2 + 0xa8) = *(float *)(iVar2 + 0xac); - *(float *)(iVar2 + 0xa4) = *(float *)(iVar2 + 0xac) / DAT_80047e30; - *(undefined4 *)(iVar6 + 0x38) = *(undefined4 *)(iVar6 + 0x28); -LAB_7f01fdc0: - fVar8 = *(float *)(iVar2 + 0xa8); - } - pfParm3[1] = pfParm3[1] + (fVar8 - fVar9); -LAB_7f01fde0: - *pfParm4 = fVar9; - if (!bVar1) { - *pfParm3 = *pfParm2; - pfParm3[2] = pfParm2[2]; - } - return 1; -} - - - -int FUN_7f01fe20(void) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar2 = 0; - iVar1 = 0; - if (0 < DAT_800281b8) { - iVar3 = DAT_800281b4; - do { - iVar1 += 0x1dc; - if (*(int *)(iVar3 + 0x1c) == 0) { - iVar2 += 1; - } - iVar3 += 0x1dc; - } while (iVar1 < DAT_800281b8 * 0x1dc); - } - return iVar2; -} - - - -void FUN_7f01fe78(int iParm1,float fParm2) - -{ - float fVar1; - - fVar1 = (float)FUN_7f01d148(); - *(float *)(iParm1 + 0x100) = fVar1 * fParm2; - return; -} - - - -void FUN_7f01feb4(int iParm1,float fParm2) - -{ - float fVar1; - - fVar1 = (float)FUN_7f01d148(); - *(float *)(iParm1 + 0xfc) = *(float *)(iParm1 + 0xfc) - fParm2 * fVar1; - return; -} - - - -undefined * -FUN_7f01ff1c(undefined *puParm1,undefined2 *puParm2,undefined4 *puParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6) - -{ - int *piVar1; - int iVar2; - int iVar3; - int iVar4; - undefined2 *puVar5; - float fVar6; - undefined4 uVar7; - - puVar5 = NULL; - iVar2 = 0; - if (0 < DAT_800281b8) { - iVar4 = 0; - iVar3 = DAT_800281b4; - do { - piVar1 = (int *)(iVar3 + 0x1c); - iVar2 += 1; - iVar3 += 0x1dc; - if (*piVar1 == 0) { - puVar5 = (undefined2 *)(iVar4 + DAT_800281b4); - break; - } - iVar4 += 0x1dc; - } while (iVar2 < DAT_800281b8); - } - *puParm1 = 3; - *(undefined2 **)(puParm1 + 4) = puVar5; - *(undefined4 *)(puParm1 + 8) = *puParm3; - *(undefined4 *)(puParm1 + 0xc) = puParm3[1]; - *(undefined4 *)(puParm1 + 0x10) = puParm3[2]; - *(undefined4 *)(puParm1 + 0x14) = uParm5; - sub_7F06FF5C(puParm2,loc_7F01FFB0); - *puParm2 = 10; - *(undefined2 **)(puParm2 + 2) = puVar5; - FUN_7f06d200(puParm2,puParm3); - FUN_7f06d274(puParm2,uParm4); - loc_7F06FF50(puParm2,DAT_80027e50 * DAT_80047e48,0); - *puVar5 = (short)DAT_800281b0; - DAT_800281b0 += 1; - *(undefined *)(puVar5 + 3) = 0; - *(undefined *)((int)puVar5 + 0xf) = 0; - *(undefined **)(puVar5 + 0xc) = puParm1; - *(undefined2 **)(puVar5 + 0xe) = puParm2; - *(undefined4 *)(puVar5 + 0x10) = 0; - *(undefined *)((int)puVar5 + 0xb) = 0; - *(undefined4 *)(puVar5 + 100) = 0; - *(undefined *)((int)puVar5 + 9) = 0; - uVar7 = DAT_80040ffc; - *(undefined4 *)(puVar5 + 0x6a) = 0; - *(undefined4 *)(puVar5 + 0x6c) = 0; - *(undefined4 *)(puVar5 + 0x6e) = 0; - *(undefined4 *)(puVar5 + 0x70) = 0; - *(undefined4 *)(puVar5 + 0x72) = 0; - *(undefined4 *)(puVar5 + 0x74) = 0; - *(undefined4 *)(puVar5 + 0x78) = 0; - *(undefined *)(puVar5 + 5) = 0; - *(undefined4 *)(puVar5 + 0x9e) = 0; - *(undefined4 *)(puVar5 + 0x7e) = 0; - *(undefined4 *)(puVar5 + 0x68) = 0x437a0000; - *(undefined4 *)(puVar5 + 0x66) = uVar7; - *(undefined4 *)(puVar5 + 0x76) = 0x3f800000; - fVar6 = (float)FUN_7f01d148(); - *(float *)(puVar5 + 0x80) = fVar6 * 4.00000000; - loc_7F04028C(puParm1,puVar5 + 0x7c); - *(undefined *)(puVar5 + 6) = 0xff; - *(undefined4 *)(puVar5 + 0xb4) = 0; - *(undefined4 *)(puVar5 + 0xb6) = 0; - *(undefined4 *)(puVar5 + 0xb8) = 0; - *(undefined4 *)(puVar5 + 0xba) = 0; - *(undefined4 *)(puVar5 + 0xbc) = 0; - *(undefined4 *)(puVar5 + 0xbe) = 0; - *(undefined4 *)(puVar5 + 10) = 1; - puVar5[9] = 0; - *(undefined4 *)(puVar5 + 0x52) = 0; - *(undefined4 *)(puVar5 + 0x54) = 0; - *(undefined4 *)(puVar5 + 0x56) = 0; - *(undefined4 *)(puVar5 + 0x58) = 0; - *(undefined4 *)(puVar5 + 0x5a) = 0; - *(undefined4 *)(puVar5 + 0x5c) = 0; - *(undefined *)(puVar5 + 0x7a) = *(undefined *)(puVar5 + 0x7c); - *(undefined *)((int)puVar5 + 0xf5) = *(undefined *)((int)puVar5 + 0xf9); - *(undefined *)(puVar5 + 0x7b) = *(undefined *)(puVar5 + 0x7d); - *(undefined *)((int)puVar5 + 0xf7) = *(undefined *)((int)puVar5 + 0xfb); - *(undefined4 *)(puVar5 + 0x5e) = *puParm3; - *(undefined4 *)(puVar5 + 0x60) = puParm3[1]; - uVar7 = puParm3[2]; - *(undefined *)((int)puVar5 + 7) = 0; - *(undefined *)(puVar5 + 4) = 0; - *(undefined4 *)(puVar5 + 0x62) = uVar7; - puVar5[0x84] = 0; - puVar5[0x85] = 0xffff; - *(undefined *)(puVar5 + 0x86) = 0; - *(undefined *)((int)puVar5 + 0x10d) = 0; - *(undefined *)(puVar5 + 0x87) = 0; - *(undefined *)((int)puVar5 + 0x10f) = 0; - *(undefined4 *)(puVar5 + 0x88) = 0; - puVar5[0x8a] = 0xffff; - puVar5[0x8c] = 0xffff; - puVar5[0x8d] = 0xffff; - puVar5[0x8b] = 0xffff; - *(undefined *)(puVar5 + 0xc0) = 0xff; - *(undefined *)(puVar5 + 0xd6) = 0xff; - *(undefined *)(puVar5 + 2) = 0; - *(undefined *)((int)puVar5 + 5) = 0; - *(undefined *)(puVar5 + 8) = 0; - *(undefined *)(puVar5 + 1) = 0; - *(undefined *)((int)puVar5 + 3) = 0; - *(undefined *)((int)puVar5 + 0xd) = 0; - *(undefined *)((int)puVar5 + 0x11) = 0xff; - *(undefined4 *)(puVar5 + 0xa0) = 0; - *(undefined4 *)(puVar5 + 0xa2) = 0; - *(undefined4 *)(puVar5 + 0xa4) = 0; - *(undefined4 *)(puVar5 + 0xa6) = 0; - *(undefined4 *)(puVar5 + 0xa8) = 0; - *(undefined4 *)(puVar5 + 0xaa) = 0; - *(undefined4 *)(puVar5 + 0xac) = 0; - *(undefined4 *)(puVar5 + 0xae) = 0; - *(undefined *)(puVar5 + 7) = 0; - *(undefined4 *)(puVar5 + 0xb0) = 0; - *(undefined4 *)(puVar5 + 0xb2) = 0; - *(undefined4 *)(puVar5 + 0xec) = 0; - *(undefined4 *)(puVar5 + 0x12) = 0x41a00000; - *(undefined4 *)(puVar5 + 0x82) = uParm6; - *(undefined4 *)(puVar5 + 0x14) = 0x43390000; - loc_7F01FFB0(puParm2,puParm1 + 8,puParm1 + 8,puVar5 + 0x56); - sub_7F020D94(puVar5); - return puParm1; -} - - - -longlong FUN_7f02022c(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - longlong lVar1; - - lVar1 = FUN_7f03a4f0(); - if (lVar1 != 0) { - lVar1 = FUN_7f01ff1c(lVar1,uParm1,uParm2,uParm3,uParm4,uParm5); - } - return lVar1; -} - - - -void loc_7F020528(int iParm1) - -{ - undefined2 *puVar1; - undefined4 uVar2; - undefined4 uVar3; - longlong lVar4; - int iVar5; - - puVar1 = *(undefined2 **)(iParm1 + 4); - uVar2 = *(undefined4 *)(puVar1 + 0xe); - if (*(int *)(puVar1 + 0xb4) == 0) { - iVar5 = *(int *)(puVar1 + 0xb6); - } - else { - lVar4 = locret_70008E00(*(int *)(puVar1 + 0xb4)); - if (lVar4 == 0) { - iVar5 = *(int *)(puVar1 + 0xb6); - } - else { - loc_7000905C(*(undefined4 *)(puVar1 + 0xb4)); - iVar5 = *(int *)(puVar1 + 0xb6); - } - } - if (iVar5 == 0) { - iVar5 = *(int *)(puVar1 + 0xb8); - } - else { - lVar4 = locret_70008E00(); - if (lVar4 == 0) { - iVar5 = *(int *)(puVar1 + 0xb8); - } - else { - loc_7000905C(*(undefined4 *)(puVar1 + 0xb6)); - iVar5 = *(int *)(puVar1 + 0xb8); - } - } - if (iVar5 == 0) { - iVar5 = *(int *)(puVar1 + 0xba); - } - else { - lVar4 = locret_70008E00(); - if (lVar4 == 0) { - iVar5 = *(int *)(puVar1 + 0xba); - } - else { - loc_7000905C(*(undefined4 *)(puVar1 + 0xb8)); - iVar5 = *(int *)(puVar1 + 0xba); - } - } - if ((iVar5 != 0) && (lVar4 = locret_70008E00(), lVar4 != 0)) { - loc_7000905C(*(undefined4 *)(puVar1 + 0xba)); - } - loc_7F050F20(uVar2); - loc_7F03E1F8(iParm1); - iVar5 = *(int *)(iParm1 + 0x20); - while (iVar5 != 0) { - uVar3 = *(undefined4 *)(iVar5 + 4); - iVar5 = *(int *)(iVar5 + 0x24); - loc_7F04C124(); - FUN_7f0410e4(uVar3,1); - } - FUN_7f06cb38(uVar2); - *(undefined4 *)(puVar1 + 0xe) = 0; - *puVar1 = 0xffff; - if (*(int *)(puVar1 + 0x10) != 0) { - FUN_7f06b9f8(); - } - return; -} - - - -void FUN_7f0203b4(float fParm1) - -{ - int iVar1; - float fVar2; - int iVar3; - int iVar4; - int iVar5; - - fVar2 = DAT_80047e4c; - iVar5 = 0; - DAT_80027e50 = fParm1; - if (0 < DAT_800281b8) { - iVar4 = 0; - iVar3 = DAT_800281b8; - DAT_80027e50 = fParm1; - do { - iVar1 = *(int *)(DAT_800281b4 + iVar4 + 0x1c); - if (iVar1 != 0) { - loc_7F06FF50(iVar1,DAT_80027e50 * fVar2,0x44160000); - iVar3 = DAT_800281b8; - } - iVar5 += 1; - iVar4 += 0x1dc; - } while (iVar5 < iVar3); - } - return; -} - - - -undefined4 FUN_7f020474(void) - -{ - return DAT_80027e50; -} - - - -void loc_7F0206B0(int iParm1) - -{ - float fVar1; - float fVar2; - float fVar3; - - if (*(char *)(iParm1 + 0xe) < '\x02') { - *(undefined4 *)(iParm1 + 0x140) = *(undefined4 *)(iParm1 + 0x150); - *(undefined4 *)(iParm1 + 0x144) = *(undefined4 *)(iParm1 + 0x154); - *(undefined4 *)(iParm1 + 0x148) = *(undefined4 *)(iParm1 + 0x158); - *(undefined4 *)(iParm1 + 0x14c) = *(undefined4 *)(iParm1 + 0x15c); - return; - } - fVar2 = 1.00000000; - fVar1 = DAT_80040ff8 / (float)(int)*(char *)(iParm1 + 0xe); - if (1.00000000 < fVar1) { - fVar3 = *(float *)(iParm1 + 0x140); - } - else { - fVar3 = *(float *)(iParm1 + 0x140); - fVar2 = fVar1; - } - *(float *)(iParm1 + 0x140) = fVar3 + (*(float *)(iParm1 + 0x150) - fVar3) * fVar2; - *(float *)(iParm1 + 0x144) = - *(float *)(iParm1 + 0x144) + - (*(float *)(iParm1 + 0x154) - *(float *)(iParm1 + 0x144)) * fVar2; - *(float *)(iParm1 + 0x148) = - *(float *)(iParm1 + 0x148) + - (*(float *)(iParm1 + 0x158) - *(float *)(iParm1 + 0x148)) * fVar2; - *(float *)(iParm1 + 0x14c) = - *(float *)(iParm1 + 0x14c) + - (*(float *)(iParm1 + 0x15c) - *(float *)(iParm1 + 0x14c)) * fVar2; - *(char *)(iParm1 + 0xe) = *(char *)(iParm1 + 0xe) - (char)DAT_80040ff4; - return; -} - - - -void loc_7F020788(int iParm1) - -{ - uint uVar1; - - if (*(char *)(iParm1 + 0x11) < '\0') { - *(undefined *)(iParm1 + 0x11) = 1; - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) & 0xfff; - uVar1 = FUN_700098b0(); - if (uVar1 % 3 == 0) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 0x1000; - } - else { - if (uVar1 % 3 == 1) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 0x2000; - } - } - uVar1 = FUN_700098b0(); - if (uVar1 % 3 == 0) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 0x4000; - } - else { - if (uVar1 % 3 == 1) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 0x8000; - } - } - } - return; -} - - - -float FUN_7f020624(int iParm1) - -{ - float fVar1; - - fVar1 = (float)(int)*(char *)(iParm1 + 0x11); - if (fVar1 < 8.00000000) { - fVar1 = (float)func_7F057FC4((fVar1 * DAT_80047e50 * 0.25000000) / 8.00000000); - } - else { - fVar1 = (float)func_7F057FC4(((fVar1 - 8.00000000) * DAT_80047e54 * 0.25000000) / 16.00000000); - fVar1 = 1.00000000 - fVar1; - } - return fVar1; -} - - - -undefined8 FUN_7f0206cc(longlong lParm1,longlong lParm2) - -{ - if (DAT_80041150 == 0) { - return 1; - } - if (((((((lParm1 != 6) && (lParm1 != 7)) && (lParm1 != 8)) && ((lParm1 != 9 && (lParm1 != 10)))) - && ((lParm1 != 0xb && ((lParm1 != 0xc && (lParm1 != 0xd)))))) && (lParm1 != 0xe)) && - (((((lParm1 != 0xf && (lParm1 != 0x10)) && (lParm1 != 0x4f)) && - (((lParm2 != 0x4a && (lParm2 != 0x4b)) && - ((lParm2 != 0x4c && ((lParm2 != 0x4d && (lParm2 != 0x4e)))))))) && (lParm2 != 0x45)))) { - return 1; - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f020800) overlaps instruction at (ram,0x7f0207fc) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02078c(int iParm1,int iParm2) - -{ - ushort uVar1; - bool bVar2; - longlong lVar3; - undefined8 uVar4; - char cVar5; - float fVar6; - float fVar7; - undefined auStack104 [64]; - float fStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack4 = 1.00000000; - lVar3 = FUN_7f091cdc(0xc); - if ((lVar3 != 0) && - (lVar3 = FUN_7f0206cc(*(undefined *)(_DAT_80058aa0 + 0xf),*(undefined *)(_DAT_80058aa0 + 6)), - lVar3 != 0)) { - if (iParm1 == 0) { - fStack4 = 4.00000000; - } - else { - if (((iParm1 == 2) || (iParm1 == 3)) && (-1 < *(int *)(_DAT_80058aa0 + 0x14) << 4)) { - fStack4 = 2.50000000; - } - } - } - if (((iParm1 != 2) && (iParm1 != 3)) && ((iParm1 != 1 && (iParm1 != 0)))) { - return; - } - fStack8 = 0.00000000; - fStack12 = 0.00000000; - fStack16 = 0.00000000; - if (iParm1 == 3) { - fVar7 = *(float *)(_DAT_80058aa0 + 0x144); -LAB_7f020970: - cVar5 = *(char *)(_DAT_80058aa0 + 0x11); - fStack8 = fVar7; - } - else { - if (iParm1 == 2) { - fVar7 = *(float *)(_DAT_80058aa0 + 0x140); - goto LAB_7f020970; - } - if (iParm1 == 1) { - fVar7 = *(float *)(_DAT_80058aa0 + 0x148); - if ((*(ushort *)(_DAT_80058aa0 + 0x12) & 0x400) != 0) { - if (DAT_80047e58 < fVar7) { - fVar7 = fVar7 - DAT_80047e58; - } - else { - if (fVar7 < DAT_80047e5c) { - fVar7 = fVar7 + DAT_80047e60; - } - else { - fVar7 = 0.00000000; - } - } - } - fStack12 = *(float *)(_DAT_80058aa0 + 0x14c); - goto LAB_7f020970; - } - if (iParm1 == 0) { - if ((*(ushort *)(_DAT_80058aa0 + 0x12) & 0x400) == 0) { - if (*(char *)(*(int *)(_DAT_80058aa0 + 0x1c) + 0x24) == '\0') { - fVar7 = *(float *)(_DAT_80058aa0 + 0x144); - } - else { - fVar7 = *(float *)(_DAT_80058aa0 + 0x140); - } - } - else { - fStack8 = *(float *)(_DAT_80058aa0 + 0x148); - fVar7 = fStack8; - if ((((*(ushort *)(_DAT_80058aa0 + 0x12) & 0x400) != 0) && - (fVar7 = DAT_80047e64, fStack8 <= DAT_80047e64)) && - (fVar7 = DAT_80047e68, DAT_80047e68 <= fStack8)) { - cVar5 = *(char *)(_DAT_80058aa0 + 0x11); - goto LAB_7f020974; - } - } - goto LAB_7f020970; - } - cVar5 = *(char *)(_DAT_80058aa0 + 0x11); - } -LAB_7f020974: - if (cVar5 < '\0') { - bVar2 = fStack8 == 0.00000000; - } - else { - if ((iParm1 == 3) || (iParm1 == 2)) { - fVar7 = (float)FUN_7f020624(_DAT_80058aa0); - fVar7 = (fVar7 * DAT_80047e6c * 15.00000000) / 360.00000000; - fStack8 = fStack8 - fVar7; - if ((*(ushort *)(_DAT_80058aa0 + 0x12) & 0x1000) == 0) { - if ((*(ushort *)(_DAT_80058aa0 + 0x12) & 0x2000) == 0) { - bVar2 = fStack8 == 0.00000000; - goto LAB_7f020ad0; - } - fStack12 = fStack12 + fVar7; - } - else { - fStack12 = fStack12 - fVar7; - } - } - else { - if (iParm1 == 1) { - fVar7 = (float)FUN_7f020624(_DAT_80058aa0); - fVar7 = fVar7 * DAT_80047e70; - uVar1 = *(ushort *)(_DAT_80058aa0 + 0x12); - fVar6 = (fVar7 * 15.00000000) / 360.00000000; - fStack8 = fStack8 + fVar6; - if ((uVar1 & 0x1000) == 0) { - if ((uVar1 & 0x2000) != 0) { - fStack12 = fStack12 - fVar6; - } - } - else { - fStack12 = fStack12 + fVar6; - } - if ((uVar1 & 0x4000) == 0) { - if ((uVar1 & 0x8000) != 0) { - fStack16 = 0.00000000 - (fVar7 * 10.00000000) / 360.00000000; - } - } - else { - fStack16 = (fVar7 * 10.00000000) / 360.00000000 + 0.00000000; - } - } - } - bVar2 = fStack8 == 0.00000000; - } -LAB_7f020ad0: - if ((((!bVar2) || (fStack12 != 0.00000000)) || (fStack16 != 0.00000000)) || - (fStack4 != 1.00000000)) { - fStack40 = (float)FUN_7f02c1c4(_DAT_80058aa0); - if (fStack8 < 0.00000000) { - fStack8 = -fStack8; - } - else { - fStack8 = DAT_80047e74 - fStack8; - } - if (fStack12 < 0.00000000) { - fStack12 = fStack12 + DAT_80047e78; - } - uVar4 = FUN_7f0784c4(); - FUN_7f058540(uVar4,iParm2); - uStack36 = *(undefined4 *)(iParm2 + 0x30); - uStack32 = *(undefined4 *)(iParm2 + 0x34); - uStack28 = *(undefined4 *)(iParm2 + 0x38); - *(undefined4 *)(iParm2 + 0x30) = 0; - *(undefined4 *)(iParm2 + 0x34) = 0; - *(undefined4 *)(iParm2 + 0x38) = 0; - if ((fStack8 == 0.00000000) && (fStack16 == 0.00000000)) { - FUN_7f058aa4(); - FUN_7f058540(auStack104,iParm2); - } - else { - fVar7 = fStack12 - fStack40; - if (fVar7 < 0.00000000) { - fVar7 = fVar7 + DAT_80047e7c; - } - FUN_7f058aa4(fVar7); - FUN_7f058540(auStack104,iParm2); - if (fStack8 != 0.00000000) { - FUN_7f058a18(fStack8); - FUN_7f058540(auStack104,iParm2); - } - if (fStack16 != 0.00000000) { - FUN_7f058b30(fStack16); - FUN_7f058540(auStack104,iParm2); - } - FUN_7f058aa4(fStack40); - FUN_7f058540(auStack104,iParm2); - } - if (fStack4 != 1.00000000) { - matrix_multiply_A1_by_F12(fStack4); - } - *(undefined4 *)(iParm2 + 0x30) = uStack36; - *(undefined4 *)(iParm2 + 0x34) = uStack32; - *(undefined4 *)(iParm2 + 0x38) = uStack28; - uVar4 = FUN_7f078444(); - FUN_7f058540(uVar4,iParm2); - } - return; -} - - - -void sub_7F020D94(int iParm1) - -{ - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x18); - fStack16 = *(float *)(iStack4 + 8) - 50.00000000; - fStack12 = *(float *)(iParm1 + 0xac) - 1.00000000; - fStack8 = *(float *)(iStack4 + 0x10) - 50.00000000; - fStack28 = *(float *)(iStack4 + 8) + 50.00000000; - fStack24 = *(float *)(iStack4 + 0xc) + 100.00000000; - fStack20 = *(float *)(iStack4 + 0x10) + 50.00000000; - loc_7F03E1F8(); - loc_7F03E3E0(iStack4,&fStack16,&fStack28,0x42480000); - loc_7F03E260(iStack4); - return; -} - - - -void loc_7F020EE0(int iParm1,undefined4 uParm2) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = *(int *)(iParm1 + 0x18); - uVar2 = *(undefined4 *)(iParm1 + 0x1c); - if ((*(ushort *)(iParm1 + 0x12) & 0x800) == 0) { - FUN_7f06d1d8(uVar2,iParm1 + 0xbc); - loc_7F070F58(uVar2,uParm2,1); - FUN_7f06dae0(uVar2); - loc_7F04028C(iVar1,iParm1 + 0xf8); - FUN_7f06d1d8(uVar2,iVar1 + 8); - sub_7F020D94(iParm1); - } - else { - FUN_7f06dae0(uVar2); - FUN_7f06d1d8(uVar2,iVar1 + 8); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0212bc) overlaps instruction at (ram,0x7f0212b8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f020e68(char *pcParm1) - -{ - int iVar1; - uint uVar3; - longlong lVar2; - int iVar4; - int *piVar5; - char cVar7; - float *pfVar6; - ushort uVar9; - int iVar8; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - undefined4 *puVar13; - undefined4 uVar14; - undefined auStack244 [64]; - undefined auStack180 [64]; - undefined4 uStack116; - undefined4 uStack112; - undefined4 uStack108; - float fStack104; - float fStack100; - float fStack96; - int iStack92; - int iStack88; - undefined4 uStack84; - undefined4 uStack80; - int iStack76; - int iStack72; - undefined4 auStack64 [4]; - undefined4 uStack48; - - puVar12 = &DAT_800281bc; - puVar10 = auStack64; - do { - puVar13 = puVar12 + 3; - puVar11 = puVar10 + 3; - *puVar10 = *puVar12; - puVar10[1] = puVar12[1]; - puVar10[2] = puVar12[2]; - puVar12 = puVar13; - puVar10 = puVar11; - } while (puVar13 != (undefined4 *)0x800281f8); - *puVar11 = uRam800281f8; - iVar1 = *(int *)(pcParm1 + 4); - iStack72 = *(int *)(iVar1 + 0x1c); - uStack80 = 1; - uStack84 = DAT_80040ff4; - if (((*(uint *)(iVar1 + 0x14) & 0x400) == 0) || ((int)(*(uint *)(iVar1 + 0x14) << 0xd) < 0)) { - if (DAT_80027e54 == 0) { - FUN_7f032700(iVar1); - if (*(int *)(iVar1 + 0x1c) == 0) { - return 1; - } - } - else { - if (*(int *)(&DAT_800252bc + DAT_80027e58 * 4) != 1) { - iVar4 = sub_7F06F5AC(iStack72); - if (iVar4 != *(int *)(&DAT_800252bc + DAT_80027e58 * 4)) { - FUN_7f06fe48(iStack72,*(int *)(&DAT_800252bc + DAT_80027e58 * 4),0,0,0x3f000000,0); - } - } - } - if (DAT_80027e5c == 0) { - uVar9 = *(ushort *)(iVar1 + 0x12); - } - else { - uStack84 = 0; - if (DAT_80027e60 == 0) { - uVar9 = *(ushort *)(iVar1 + 0x12); - } - else { - uStack84 = 1; - uVar9 = *(ushort *)(iVar1 + 0x12); - } - } - } - else { - uVar9 = *(ushort *)(iVar1 + 0x12); - } - if ((uVar9 & 0x20) != 0) { - loc_7F020528(pcParm1); - return 1; - } - if (*(int *)(iVar1 + 0x160) == 0) { - iVar4 = *(int *)(iVar1 + 0x164); - } - else { - iVar4 = *(int *)(*(int *)(iVar1 + 0x160) + 4); - if ((*(uint *)(iVar4 + 100) & 4) == 0) { - iVar4 = *(int *)(iVar1 + 0x164); - } - else { - FUN_7f0410e4(iVar4,1); - iVar4 = *(int *)(iVar1 + 0x164); - } - } - if (iVar4 == 0) { - uVar3 = *(uint *)(iVar1 + 0x14); - } - else { - if ((*(uint *)(*(int *)(iVar4 + 4) + 100) & 4) == 0) { - uVar3 = *(uint *)(iVar1 + 0x14); - } - else { - FUN_7f0410e4(*(int *)(iVar4 + 4),1); - uVar3 = *(uint *)(iVar1 + 0x14); - } - } - if ((uVar3 & 0x400) == 0) { - if (*pcParm1 == '\x06') { - iVar4 = FUN_7f09a69c(pcParm1); - if (**(int **)(&DAT_800689f0 + iVar4 * 4) != 1) { - uVar3 = *(uint *)(iVar1 + 0x14); - goto LAB_7f021090; - } - } - else { -LAB_7f021090: - if (-1 < (int)(uVar3 << 8)) { - cVar7 = *(char *)(iVar1 + 7); - if ((cVar7 == '\x0e') || (cVar7 == '\x0f')) { - if (((cVar7 == '\x0e') && (*(char *)(iVar1 + 0x38) == '\x06')) || - ((cVar7 == '\x0f' && (*(char *)(iVar1 + 0x5c) == '\x06')))) { - uVar14 = FUN_7f06d494(iStack72); - lVar2 = loc_7F054E94(pcParm1,pcParm1 + 8,uVar14,1); - iStack76 = (int)lVar2; - if (lVar2 != 0) { - FUN_7f06d1d8(iStack72,iVar1 + 0xbc); - FUN_7f06dae0(iStack72); - loc_7F04028C(pcParm1,iVar1 + 0xf8); - FUN_7f06d1d8(iStack72,pcParm1 + 8); - sub_7F020D94(iVar1); - } - } - else { - loc_7F020EE0(iVar1,uStack84); - uVar14 = FUN_7f06d494(iStack72); - lVar2 = loc_7F054E94(pcParm1,pcParm1 + 8,uVar14,1); - iStack76 = (int)lVar2; - if (lVar2 != 0) { - if (*(char *)(iVar1 + 7) == '\x0e') { - *(undefined4 *)(iVar1 + 0x78) = DAT_80040ffc; - } - else { - if (*(char *)(iVar1 + 7) == '\x0f') { - *(undefined4 *)(iVar1 + 0x9c) = DAT_80040ffc; - } - } - } - } - cVar7 = *(char *)(iVar1 + 7); - } - else { - if ((cVar7 == '\x03') && (*(int *)(iVar1 + 0x2c) == 0)) { - uVar14 = FUN_7f06d494(iStack72); - lVar2 = loc_7F054E94(pcParm1,pcParm1 + 8,uVar14,1); - iStack76 = (int)lVar2; - if ((lVar2 == 0) || (*(int *)(iVar1 + 0x3c) != 0)) { - loc_7F070F58(iStack72,uStack84,0); - } - else { - loc_7F020EE0(iVar1,uStack84); - } - cVar7 = *(char *)(iVar1 + 7); - } - else { - if (cVar7 == '\x01') { - uVar14 = FUN_7f06d494(iStack72); - lVar2 = loc_7F054E94(pcParm1,pcParm1 + 8,uVar14,1); - iStack76 = (int)lVar2; - if ((lVar2 == 0) && ((*(uint *)(iVar1 + 0x14) & 1) == 0)) { - if (*(int *)(iStack72 + 0x54) != 0) { - loc_7F070F58(iStack72,uStack84,0); - } - } - else { - loc_7F020EE0(iVar1,uStack84); - } - cVar7 = *(char *)(iVar1 + 7); - } - else { - if ((uVar3 & 0x4000) == 0) { - loc_7F020EE0(iVar1,uStack84); - } - else { - loc_7F070F58(iStack72,uStack84,0); - } - uVar14 = FUN_7f06d494(iStack72); - iStack76 = loc_7F054E94(pcParm1,pcParm1 + 8,uVar14,1); - cVar7 = *(char *)(iVar1 + 7); - } - } - } - goto LAB_7f021340; - } - } - iStack76 = 1; - if (((*(char *)(iVar1 + 7) == '\x03') && (*(int *)(iVar1 + 0x2c) == 0)) && - (*(int *)(iVar1 + 0x3c) != 0)) { - loc_7F070F58(iStack72,uStack84,0); - } - else { - loc_7F020EE0(iVar1,uStack84); - } - cVar7 = *(char *)(iVar1 + 7); - } - else { - iStack76 = 0; - cVar7 = *(char *)(iVar1 + 7); - } -LAB_7f021340: - if (cVar7 == '\x01') { - if (*(int *)(iStack72 + 0x54) != 0) { - uVar9 = *(ushort *)(iVar1 + 0x12); - goto LAB_7f021370; - } - if (*pcParm1 == '\x06') goto LAB_7f02136c; - } - else { -LAB_7f02136c: - uVar9 = *(ushort *)(iVar1 + 0x12); -LAB_7f021370: - *(ushort *)(iVar1 + 0x12) = uVar9 | 0x200; - } - loc_7F0206B0(iVar1); - if (*(int *)(iVar1 + 0x20) != 0) { - FUN_7f06b9f8(); - *(undefined4 *)(iVar1 + 0x20) = 0; - } - if (iStack76 == 0) { - iVar4 = *(int *)(iVar1 + 0x160); - if (iVar4 == 0) { - iVar4 = *(int *)(iVar1 + 0x164); - } - else { - *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) & 0xfd; - iVar4 = *(int *)(iVar1 + 0x164); - } - if (iVar4 == 0) { - iVar4 = *(int *)(iVar1 + 0x1d8); - } - else { - *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) & 0xfd; - iVar4 = *(int *)(iVar1 + 0x1d8); - } - if (iVar4 != 0) { - *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) & 0xfd; - } - pcParm1[1] = pcParm1[1] & 0xfd; - *(undefined *)(iVar1 + 0xf4) = *(undefined *)(iVar1 + 0xf8); - *(undefined *)(iVar1 + 0xf5) = *(undefined *)(iVar1 + 0xf9); - *(undefined *)(iVar1 + 0xf6) = *(undefined *)(iVar1 + 0xfa); - *(undefined *)(iVar1 + 0xf7) = *(undefined *)(iVar1 + 0xfb); - goto LAB_7f021a74; - } - FUN_7f0904a0(); - pcParm1[1] = pcParm1[1] | 2; - *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) | 8; - lVar2 = FUN_7f091cdc(0xc); - if ((lVar2 != 0) && - (lVar2 = FUN_7f0206cc(*(undefined *)(iVar1 + 0xf),*(undefined *)(iVar1 + 6)), lVar2 != 0)) { - FUN_7f06cb4c(0x3ea00000); - if ((int)(*(uint *)(iVar1 + 0x14) << 3) < 0) { - *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xefffffff; - set_obj_instance_controller_scale - (*(int *)(iVar1 + 0x1c),*(float *)(*(int *)(iVar1 + 0x1c) + 0x14) / DAT_80047e80); - } - } - DAT_800315e0 = FUN_7f02078c; - _DAT_80058aa0 = iVar1; - auStack64[0] = FUN_7f078444(); - uStack48 = FUN_7f0bcac4((int)*(short *)(*(int *)(iStack72 + 8) + 0xe) << 6); - if ((-1 < *(char *)(_DAT_80058aa0 + 0x11)) && - (*(char *)(_DAT_80058aa0 + 0x11) = *(char *)(_DAT_80058aa0 + 0x11) + (char)DAT_80040ff4, - '\x17' < *(char *)(_DAT_80058aa0 + 0x11))) { - *(undefined *)(_DAT_80058aa0 + 0x11) = 0xff; - } - FUN_7f06f670(auStack64,iStack72); - DAT_800315e0 = NULL; - FUN_7f06cb4c(0x3f800000); - sub_7F040310(iVar1 + 0xf4,iVar1 + 0xf8); - uVar14 = FUN_7f06ce58(iStack72); - *(undefined4 *)(pcParm1 + 0x18) = uVar14; - uVar14 = sub_GAME_7F06C660(0,iStack72); - *(undefined4 *)(iVar1 + 0x20) = uVar14; - loc_7F052544(pcParm1,0); - loc_7F052544(pcParm1,1,iVar1 + 0x20); - iVar4 = *(int *)(iVar1 + 0x1d8); - if (iVar4 != 0) { - iStack88 = *(int *)(iVar4 + 4); - iStack92 = *(int *)(iStack88 + 0x14); - *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 2; - auStack64[0] = FUN_7f06cd98(iStack72,*(undefined4 *)(iStack92 + 0x1c),0); - uStack48 = FUN_7f0bcac4((int)*(short *)(*(int *)(iStack92 + 8) + 0xe) << 6); - FUN_7f06f634(auStack64,iStack92); - if ((*(char *)(iVar1 + 6) < '*') || ('E' < *(char *)(iVar1 + 6))) { -LAB_7f021960: - uVar9 = *(ushort *)(iVar1 + 0x12); - } - else { - fStack104 = DAT_800281fc; - fStack100 = (float)DAT_80028200; - fStack96 = (float)DAT_80028204; - iVar4 = def_7F0526AC(*(undefined4 *)(iVar1 + 0x1d8)); - iVar8 = ((int)*(char *)(iVar1 + 6) + -0x2a) * 0x90 + iVar4 * 0x18; - pfVar6 = (float *)(iVar8 + -0x7ffc7f4c); - lVar2 = FUN_7f0903e0(); - if (lVar2 == 0) { - lVar2 = FUN_7000b080(0,0x20); - if (lVar2 != 0) { - lVar2 = FUN_7000b080(0,0x8000); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f44) = *(float *)(iVar8 + -0x7ffc7f44) - DAT_80047e84; - } - lVar2 = FUN_7000b080(0,0x4000); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f44) = *(float *)(iVar8 + -0x7ffc7f44) + DAT_80047e88; - } - lVar2 = FUN_7000b080(0,4); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f48) = *(float *)(iVar8 + -0x7ffc7f48) - DAT_80047e8c; - } - lVar2 = FUN_7000b080(0,8); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f48) = *(float *)(iVar8 + -0x7ffc7f48) + DAT_80047e90; - } - lVar2 = FUN_7000b080(0,2); - if (lVar2 != 0) { - *pfVar6 = *pfVar6 - DAT_80047e94; - } - lVar2 = FUN_7000b080(0,1); - if (lVar2 != 0) { - *pfVar6 = *pfVar6 + DAT_80047e98; - } - } - lVar2 = FUN_7000b080(0,0x10); - if (lVar2 != 0) { - lVar2 = FUN_7000b080(0,0x8000); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f38) = *(float *)(iVar8 + -0x7ffc7f38) * DAT_80047e9c; - } - lVar2 = FUN_7000b080(0,0x4000); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f38) = *(float *)(iVar8 + -0x7ffc7f38) * DAT_80047ea0; - } - lVar2 = FUN_7000b080(0,4); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f3c) = *(float *)(iVar8 + -0x7ffc7f3c) * DAT_80047ea4; - } - lVar2 = FUN_7000b080(0,8); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f3c) = *(float *)(iVar8 + -0x7ffc7f3c) * DAT_80047ea8; - } - lVar2 = FUN_7000b080(0,2); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f40) = *(float *)(iVar8 + -0x7ffc7f40) * DAT_80047eac; - } - lVar2 = FUN_7000b080(0,1); - if (lVar2 != 0) { - *(float *)(iVar8 + -0x7ffc7f40) = *(float *)(iVar8 + -0x7ffc7f40) * DAT_80047eb0; - } - } - } - fStack104 = *pfVar6 * DAT_80047eb4; - fStack100 = *(float *)(iVar8 + -0x7ffc7f48) * DAT_80047eb4; - fStack96 = *(float *)(iVar8 + -0x7ffc7f44) * DAT_80047eb4; - uStack108 = *(undefined4 *)(iVar8 + -0x7ffc7f40); - uStack112 = *(undefined4 *)(iVar8 + -0x7ffc7f3c); - uStack116 = *(undefined4 *)(iVar8 + -0x7ffc7f38); - FUN_7f058e0c(&fStack104,auStack180); - sub_7F0589B4(uStack108); - sub_7F0589E4(uStack112); - sub_7F058A4C(uStack116); - loc_7F05823C(*(undefined4 *)(iStack92 + 0xc),auStack180,auStack244); - loc_7F058030(auStack244,*(undefined4 *)(iStack92 + 0xc)); - if (iVar4 == 2) { - uStack80 = 0; - goto LAB_7f021960; - } - uVar9 = *(ushort *)(iVar1 + 0x12); - } - if (((uVar9 & 1) == 0) || ((*(uint *)(iStack88 + 100) & 0x80) == 0)) { - uVar14 = sub_GAME_7F06C660(*(undefined4 *)(iVar1 + 0x20),iStack92); - *(undefined4 *)(iVar1 + 0x20) = uVar14; - } - } - if (*(int *)(*(int *)(*(int *)(iStack72 + 8) + 8) + 0x10) != 0) { - piVar5 = (int *)loc_7F06C888(iStack72); - if ((*piVar5 != 0) && (*(int *)(*(int *)(*piVar5 + 8) + 4) != 0)) { - puVar12 = (undefined4 *)loc_7F06C888(iStack72); - *puVar12 = uStack80; - } - } - loc_7F06BB14(*(undefined4 *)(iVar1 + 0x20)); - uVar14 = loc_7F06BC00(*(undefined4 *)(iVar1 + 0x20)); - *(undefined4 *)(iVar1 + 0x20) = uVar14; -LAB_7f021a74: - if ((*(uint *)(iVar1 + 0x14) & 0x400) == 0) { - uVar9 = *(ushort *)(iVar1 + 0x12); - if ((uVar9 & 1) != 0) { - if (*(int *)(pcParm1 + 0x20) != 0) { - iVar4 = *(int *)(*(int *)(pcParm1 + 0x20) + 0x24); - while (loc_7F04CA2C(), iVar4 != 0) { - iVar4 = *(int *)(iVar4 + 0x24); - } - uVar9 = *(ushort *)(iVar1 + 0x12); - } - *(ushort *)(iVar1 + 0x12) = uVar9 & 0xfffe; - } - loc_7F02E2D0(iVar1); - } - return 0; -} - - - -void loc_7F021B98(int iParm1) - -{ - int iVar1; - ushort uVar2; - int iVar3; - - iVar3 = *(int *)(*(int *)(iParm1 + 0x18) + 0x20); - if (iVar3 == 0) { - uVar2 = *(ushort *)(iParm1 + 0x12); - } - else { - iVar1 = *(int *)(iParm1 + 0x1d8); - while( true ) { - if (iVar3 == iVar1) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if (iVar3 == *(int *)(iParm1 + 0x164)) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if (iVar3 == *(int *)(iParm1 + 0x160)) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if ((*(uint *)(*(int *)(iVar3 + 4) + 8) & 0x2000) == 0) { - FUN_7f04c1c4(iVar3,1); - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - iVar3 = *(int *)(iVar3 + 0x24); - } - } - } - } - if (iVar3 == 0) break; - iVar1 = *(int *)(iParm1 + 0x1d8); - } - uVar2 = *(ushort *)(iParm1 + 0x12); - } - *(ushort *)(iParm1 + 0x12) = uVar2 | 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F022064(int iParm1,undefined4 uParm2,uint uParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - longlong lVar5; - int iVar6; - int iVar7; - int iVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - undefined4 uVar13; - float fVar14; - undefined4 uStackX4; - int iStack140; - uint uStack136; - uint uStack132; - uint uStack128; - uint uStack124; - undefined4 uStack120; - undefined4 uStack116; - undefined4 uStack112; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack100; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack56; - uint uStack52; - uint uStack48; - uint uStack36; - undefined4 uStack32; - int iStack28; - undefined auStack24 [12]; - float fStack12; - - iVar1 = *(int *)(iParm1 + 4); - uStack36 = (uint)*(byte *)(iVar1 + 0xc); - if (-1 < *(int *)(iVar1 + 0x14) << 5) { - uVar13 = FUN_7f06d494(*(undefined4 *)(iVar1 + 0x1c)); - fVar14 = (float)FUN_7f054e60(iParm1,uVar13); - uStack36 = (uint)((float)uStack36 * fVar14); - } - if (((int)uStack36 < 0xff) || (*(int *)(iVar1 + 0x14) << 0xe < 0)) { - if (uParm3 == 0) { - return uParm2; - } - uStack32 = 3; - } - else { - if (uParm3 == 0) { - uStack32 = 1; - } - else { - uStack32 = 2; - } - } - lVar5 = FUN_7f0ba7a4(iParm1,auStack24); - iStack28 = (int)lVar5; - uStackX4 = uParm2; - if (lVar5 != 0) { - puVar11 = &DAT_8002820c; - puVar9 = &uStack104; - uStackX4 = uParm2; - if (0 < (int)uStack36) { - do { - puVar12 = puVar11 + 3; - puVar10 = puVar9 + 3; - *puVar9 = *puVar11; - puVar9[1] = puVar11[1]; - puVar9[2] = puVar11[2]; - puVar11 = puVar12; - puVar9 = puVar10; - } while (puVar12 != (undefined4 *)0x80028248); - iVar6 = 0; - *puVar10 = uRam80028248; - iStack140 = 0x50; - iVar2 = *(int *)(iVar1 + 0x160); - iVar3 = *(int *)(iVar1 + 0x164); - iVar4 = *(int *)(iVar1 + 0x1d8); - iVar7 = 0; - iVar8 = 0; - if (iVar2 != 0) { - iVar6 = *(int *)(iVar2 + 4); - } - if (iVar3 != 0) { - iVar7 = *(int *)(iVar3 + 4); - } - if (iVar4 != 0) { - iVar8 = *(int *)(iVar4 + 4); - } - lVar5 = loc_7F054B64(iParm1,&uStack120); - if ((lVar5 < 1) || (*(int *)(iVar1 + 0x14) << 8 < 0)) { - uStack92 = FUN_7f0b42f0(uParm2); - } - else { - uStack92 = FUN_7f0b4330(uParm2,uStack120,uStack116,uStack112,uStack108); - } - uStack100 = 1; - uStack96 = uStack32; - if ((*(uint *)(iVar1 + 0x14) & 0x2000) == 0) { - if (iStack28 == 1) { - iStack140 = (int)((1.00000000 - fStack12) * 80.00000000); - } - } - else { - iStack140 = 0; - } - FUN_7f0740dc(iStack140); - uStack136 = (uint)*(byte *)(iVar1 + 0xf4); - uStack132 = (uint)*(byte *)(iVar1 + 0xf5); - uStack128 = (uint)*(byte *)(iVar1 + 0xf6); - uStack124 = (uint)*(byte *)(iVar1 + 0xf7); - locret_7F04047C(&uStack136,iStack28,auStack24); - uStack52 = (uint)DAT_8002820a << 8 | (uint)DAT_80028208 << 0x18 | (uint)DAT_80028209 << 0x10; - uStack48 = uStack124 | uStack136 << 0x18 | uStack132 << 0x10 | uStack128 << 8; - if ((int)uStack36 < 0xff) { - uStack56 = 8; - uStack52 |= uStack36 & 0xff; - } - else { - uStack56 = 7; - } - *(int *)(_DAT_80068bc4 + 0x34) = *(int *)(_DAT_80068bc4 + 0x34) + 1; - FUN_7f06c3bc(&uStack104,*(undefined4 *)(iVar1 + 0x20)); - uStackX4 = uStack92; - if ((iVar6 != 0) && - (((ulonglong)*(byte *)(iVar6 + 2) & (longlong)(1 << (uParm3 & 0x1f)) & 0xffU) != 0)) { - uStackX4 = loc_7F0A1D24(uStack92,iVar2); - } - if ((iVar7 != 0) && - (((ulonglong)*(byte *)(iVar7 + 2) & (longlong)(1 << (uParm3 & 0x1f)) & 0xffU) != 0)) { - uStackX4 = loc_7F0A1D24(uStackX4,iVar3); - } - if ((iVar8 != 0) && - (((ulonglong)*(byte *)(iVar8 + 2) & (longlong)(1 << (uParm3 & 0x1f)) & 0xffU) != 0)) { - uStackX4 = loc_7F0A1D24(uStackX4,iVar4); - } - if (uParm3 != 0) { - loc_7F08BDA4(*(undefined4 *)(*(int *)(iVar1 + 0x1c) + 0xc), - *(undefined2 *)(*(int *)(*(int *)(iVar1 + 0x1c) + 8) + 0xe)); - if ((iVar6 != 0) && ((*(uint *)(iVar6 + 100) & 0x800) == 0)) { - loc_7F08BDA4(*(undefined4 *)(*(int *)(iVar6 + 0x14) + 0xc), - *(undefined2 *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 0xe)); - } - if ((iVar7 != 0) && ((*(uint *)(iVar7 + 100) & 0x800) == 0)) { - loc_7F08BDA4(*(undefined4 *)(*(int *)(iVar7 + 0x14) + 0xc), - *(undefined2 *)(*(int *)(*(int *)(iVar7 + 0x14) + 8) + 0xe)); - } - if (iVar8 != 0) { - loc_7F08BDA4(*(undefined4 *)(*(int *)(iVar8 + 0x14) + 0xc), - *(undefined2 *)(*(int *)(*(int *)(iVar8 + 0x14) + 8) + 0xe)); - } - } - } - } - if (uParm3 != 0) { - FUN_7f06b9f8(*(undefined4 *)(iVar1 + 0x20)); - *(undefined4 *)(iVar1 + 0x20) = 0; - } - return uStackX4; -} - - - -void FUN_7f022040(int iParm1,int iParm2,float *pfParm3,undefined4 uParm4) - -{ - undefined4 *puVar3; - ulonglong uVar1; - undefined8 uVar2; - int iVar4; - int iVar5; - int iVar6; - float fVar7; - float local_14; - float local_10; - float local_c; - - iVar5 = 0; - iVar6 = 0; - if (DAT_80027e64 != -1) { - puVar3 = &DAT_80027e64; - iVar4 = DAT_80027e64; - do { - iVar6 = iVar5; - if (iParm2 == iVar4) break; - iVar4 = puVar3[0xb]; - iVar5 += 1; - puVar3 = puVar3 + 0xb; - iVar6 = 0; - } while (iVar4 != -1); - } - if ((&DAT_80027e74)[iVar6 * 0xb] == 0) { - iVar5 = (&DAT_80027e68)[iVar6 * 0xb]; - } - else { - uVar1 = FUN_700098b0(); - if ((uVar1 & 4) == 0) { - fVar7 = (float)sqrtf(pfParm3[2] * pfParm3[2] + *pfParm3 * *pfParm3 + pfParm3[1] * pfParm3[1]); - local_c = 42.00000000 / fVar7 + 1.00000000; - local_14 = *pfParm3 * local_c; - local_10 = pfParm3[1] * local_c; - local_c = pfParm3[2] * local_c; - uVar2 = FUN_7f0784c4(); - FUN_7f05891c(uVar2,&local_14); - FUN_7f0a335c(&local_14,(&DAT_80027e74)[iVar6 * 0xb],(&DAT_80027e7c)[iVar6 * 0xb], - (ulonglong)*(byte *)(*(int *)(iParm1 + 0x14) + 3)); - } - iVar5 = (&DAT_80027e68)[iVar6 * 0xb]; - } - if (iVar5 != 0) { - FUN_7f0a335c(uParm4,iVar5,(&DAT_80027e70)[iVar6 * 0xb], - (ulonglong)*(byte *)(*(int *)(iParm1 + 0x14) + 3)); - } - return; -} - - - -void loc_7F022624(undefined8 uParm1,int iParm2,ushort *puParm3,float *pfParm4) - -{ - char cVar1; - int *piVar2; - uint uVar3; - char cVar4; - int iVar5; - short *psVar6; - undefined4 *puVar7; - longlong lVar8; - int iVar9; - longlong lVar10; - ushort *puVar11; - undefined4 *puVar12; - ushort uVar13; - ushort *puVar14; - int iVar15; - int iVar16; - int *piVar17; - ushort *puVar18; - ushort *puVar19; - longlong lVar20; - longlong lVar21; - int iVar22; - float fVar23; - float fVar24; - float fVar25; - int iStack80; - - fVar23 = *pfParm4; - puVar19 = NULL; - lVar20 = 0; - iVar9 = 0; - iVar15 = 0x7fffffff; - fVar24 = pfParm4[1]; - fVar25 = pfParm4[2]; - if (puParm3 == NULL) { -LAB_7f022388: - if (puVar19 != NULL) { - iVar15 = *(int *)(puVar19 + 2); - piVar2 = (int *)loc_7F06C888(uParm1,puVar19); - iVar16 = 0; - piVar17 = NULL; - iStack80 = 0; - uVar3 = FUN_700098b0(); - cVar1 = (char)(uVar3 % 0x32); - cVar4 = cVar1 + '\x14'; - if (iParm2 == 8) { - cVar4 = cVar1 + 'x'; - } - if (iParm2 == 0xf) { - cVar4 += '2'; - iVar5 = *(int *)(iVar15 + 0x10); - } - else { - iVar5 = *(int *)(iVar15 + 0x10); - } - iVar9 *= 0x10; - iVar5 = *(int *)(iVar5 + iVar9 + 8); - if (iVar5 != 0) { - iVar16 = *(int *)(iVar5 + 4); - piVar17 = (int *)loc_7F06C888(uParm1,iVar5); - iStack80 = (int)*(short *)(*(int *)(iVar15 + 0x10) + iVar9 + 0xc); - } - if ((*(int *)(iVar15 + 8) == *piVar2) && - (puVar7 = (undefined4 *)loc_7F09C030(*(undefined2 *)(iVar15 + 0xc),0xcccc,0,0), - puVar7 != NULL)) { - *(undefined4 **)piVar2 = puVar7; - lVar20 = 0; - iVar5 = 0; - if (0 < *(short *)(iVar15 + 0xc)) { - iVar22 = *(int *)(iVar15 + 8); - while( true ) { - lVar20 = (longlong)((int)lVar20 + 1); - puVar12 = (undefined4 *)(iVar22 + iVar5); - iVar5 += 0x10; - *puVar7 = *puVar12; - puVar7[1] = puVar12[1]; - puVar7[2] = puVar12[2]; - puVar7[3] = puVar12[3]; - if ((longlong)*(short *)(iVar15 + 0xc) <= lVar20) break; - iVar22 = *(int *)(iVar15 + 8); - puVar7 = puVar7 + 4; - } - } - } - if (piVar17 == NULL) { - iVar5 = *(int *)(iVar15 + 8); - } - else { - if ((*(int *)(iVar16 + 8) == *piVar17) && - (puVar7 = (undefined4 *)loc_7F09C030(*(undefined2 *)(iVar16 + 0xc),0xcccc,0,0), - puVar7 != NULL)) { - *(undefined4 **)piVar17 = puVar7; - lVar20 = 0; - iVar5 = 0; - if (0 < *(short *)(iVar16 + 0xc)) { - iVar22 = *(int *)(iVar16 + 8); - while( true ) { - lVar20 = (longlong)((int)lVar20 + 1); - puVar12 = (undefined4 *)(iVar22 + iVar5); - iVar5 += 0x10; - *puVar7 = *puVar12; - puVar7[1] = puVar12[1]; - puVar7[2] = puVar12[2]; - puVar7[3] = puVar12[3]; - if ((longlong)*(short *)(iVar16 + 0xc) <= lVar20) break; - iVar22 = *(int *)(iVar16 + 8); - puVar7 = puVar7 + 4; - } - } - } - iVar5 = *(int *)(iVar15 + 8); - } - if ((iVar5 != *piVar2) && - (lVar20 = (longlong)*(short *)(*(int *)(iVar15 + 0x10) + iVar9 + 6), -1 < lVar20)) { - iVar9 = *piVar2; - while( true ) { - *(char *)(iVar9 + (int)lVar20 * 0x10 + 0xf) = cVar4; - lVar20 = (longlong)*(short *)(*(int *)(iVar15 + 0x14) + (int)lVar20 * 2); - if (lVar20 < 0) break; - iVar9 = *piVar2; - } - } - if (((piVar17 != NULL) && (*(int *)(iVar16 + 8) != *piVar17)) && - (lVar20 = (longlong)*(short *)(*(int *)(iVar16 + 0x10) + iStack80 * 0x10 + 6), -1 < lVar20) - ) { - iVar9 = *piVar17; - while( true ) { - *(char *)(iVar9 + (int)lVar20 * 0x10 + 0xf) = cVar4; - lVar20 = (longlong)*(short *)(*(int *)(iVar16 + 0x14) + (int)lVar20 * 2); - if (lVar20 < 0) break; - iVar9 = *piVar17; - } - } - } - return; - } - uVar13 = *puParm3; - puVar14 = puParm3; - do { - uVar13 &= 0xff; - if (uVar13 == 8) { - FUN_7f06ed5c(uParm1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - if (uVar13 == 0x12) { - FUN_7f06eda8(uParm1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - if (uVar13 == 0x17) { - FUN_7f06edf4(uParm1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - puVar11 = *(ushort **)(puVar14 + 10); - if (uVar13 == 0x18) { - lVar8 = 0; - lVar10 = (longlong)*(short *)(*(int *)(puVar14 + 2) + 0xe); - if (0 < lVar10) { - psVar6 = *(short **)(*(int *)(puVar14 + 2) + 0x10); - lVar21 = lVar20; - puVar18 = puVar19; - do { - iVar9 = ((int)fVar23 - (int)*psVar6) * ((int)fVar23 - (int)*psVar6) + - ((int)fVar24 - (int)psVar6[1]) * ((int)fVar24 - (int)psVar6[1]) + - ((int)fVar25 - (int)psVar6[2]) * ((int)fVar25 - (int)psVar6[2]); - lVar20 = lVar8; - puVar19 = puVar14; - if (iVar15 <= iVar9) { - lVar20 = lVar21; - iVar9 = iVar15; - puVar19 = puVar18; - } - iVar15 = iVar9; - lVar8 = (longlong)((int)lVar8 + 1); - psVar6 = psVar6 + 8; - lVar21 = lVar20; - puVar18 = puVar19; - } while (lVar8 < lVar10); - } - } - } - } - } - iVar9 = (int)lVar20; - if ((puVar11 == NULL) || ((puVar14 != puParm3 && ((uVar13 == 10 || (uVar13 == 0x11)))))) { - while (puVar11 = puVar14, puVar14 != NULL) { - if (puVar14 == puParm3) { - puVar11 = NULL; - break; - } - puVar11 = *(ushort **)(puVar14 + 6); - if (*(ushort **)(puVar14 + 6) != NULL) break; - puVar14 = *(ushort **)(puVar14 + 4); - } - } - puVar14 = puVar11; - if (puVar14 == NULL) goto LAB_7f022388; - uVar13 = *puVar14; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f022784) overlaps instruction at (ram,0x7f022780) -// - -void loc_7F02296C(int iParm1,float *pfParm2) - -{ - bool bVar1; - longlong lVar2; - ulonglong uVar3; - undefined8 uVar4; - int iVar5; - int iVar6; - int iVar7; - float *pfVar8; - float fVar9; - float fVar10; - float fVar11; - float fStack124; - float fStack120; - float fStack116; - undefined4 auStack112 [5]; - float fStack92; - int iStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined auStack76 [48]; - int iStack28; - undefined4 uStack24; - undefined4 auStack20 [2]; - float fStack12; - int iStack4; - - iStack4 = *(int *)(iParm1 + 4); - if (*(char *)(iStack4 + 7) != '\x05') { - iVar5 = *(int *)(iStack4 + 0x1c); - fStack12 = (float)FUN_7f06d494(iVar5); - if (((*(byte *)(iParm1 + 1) & 2) != 0) && (*(float *)(iParm1 + 0x18) - fStack12 < pfParm2[0xd])) - { - auStack20[0] = 0; - uStack24 = 0; - iStack28 = 0; - uStack84 = 0; - iStack88 = FUN_7f06cdd8(iVar5); - fVar11 = 0.00000000; - iVar6 = 0; - iVar7 = iStack4; - do { - if (*(int *)(iVar7 + 0x160) != 0) { - fStack92 = fVar11; - fVar11 = (float)FUN_7f06d494(*(undefined4 *)(*(int *)(*(int *)(iVar7 + 0x160) + 4) + 0x14) - ); - fVar11 = fVar11 * *(float *)(iVar5 + 0x14); - if (fVar11 <= fStack92) { - fVar11 = fStack92; - } - } - iVar6 += 4; - iVar7 += 4; - } while (iVar6 != 8); - pfVar8 = pfParm2 + 3; - lVar2 = locret_7F041158(pfParm2,pfVar8,iStack88 + 0x30,fStack12 + fVar11); - bVar1 = lVar2 != 0; - if (bVar1) { - iStack28 = 1; - } - uVar3 = (ulonglong)bVar1; - if (bVar1) { - auStack112[0] = *(undefined4 *)(iStack4 + 0x20); - uVar3 = loc_7F06C03C(auStack112,pfParm2,pfVar8,auStack20,&uStack24); - while ((uVar3 == 100 || (uVar3 == 0x6e))) { - lVar2 = loc_7F04DC80(auStack20[0],uStack24,pfParm2,pfVar8,auStack76,&uStack80,&uStack84); - if (lVar2 != 0) break; - uVar3 = loc_7F06BFE8(auStack112,pfParm2,pfVar8,auStack20,&uStack24); - } - } - if (0 < (longlong)uVar3) { - fStack124 = pfParm2[3]; - fStack120 = pfParm2[4]; - fStack116 = pfParm2[5]; - uVar4 = FUN_7f0784c4(); - FUN_7f058880(uVar4,&fStack124); - iVar5 = FUN_7f06cd98(auStack20[0],uStack24,0); - fVar9 = *(float *)(iVar5 + 0x30) - *pfParm2; - fVar11 = *(float *)(iVar5 + 0x34) - pfParm2[1]; - fVar10 = *(float *)(iVar5 + 0x38) - pfParm2[2]; - fVar11 = (float)sqrtf(fVar10 * fVar10 + fVar9 * fVar9 + fVar11 * fVar11); - fVar11 = -(pfParm2[5] * fVar11 + pfParm2[2]); - if (fVar11 < pfParm2[0xd]) { - loc_7F03BDDC(pfParm2,iParm1,fVar11,uVar3,uStack24,auStack76,uStack80,uStack84,auStack20[0] - ,1,0); - } - } - if ((iStack28 != 0) && (*(float *)(iParm1 + 0x18) <= pfParm2[0xd])) { - *(uint *)(iStack4 + 0x14) = *(uint *)(iStack4 + 0x14) | 4; - *(char *)(iStack4 + 10) = *(char *)(iStack4 + 10) + '\x01'; - } - } - } - return; -} - - - -void loc_7F022DF4(float *pfParm1,float *pfParm2) - -{ - char cVar1; - int iVar2; - undefined *puVar3; - undefined8 uVar4; - longlong lVar5; - undefined4 uVar6; - uint uVar7; - int iVar8; - int iVar9; - int iVar10; - float fVar11; - undefined4 uVar12; - float fStack136; - float fStack132; - float fStack128; - undefined *puStack112; - float fStack96; - float fStack92; - float fStack88; - float fStack80; - float fStack76; - float fStack72; - undefined auStack68 [68]; - - iVar8 = *(int *)((int)pfParm2[1] + 4); - fStack96 = *pfParm1 - (*pfParm2 * pfParm1[3]) / pfParm1[5]; - fStack92 = pfParm1[1] - (*pfParm2 * pfParm1[4]) / pfParm1[5]; - fStack88 = pfParm1[2] - *pfParm2; - fVar11 = (float)sqrtf(fStack88 * fStack88 + fStack96 * fStack96 + fStack92 * fStack92); - fStack72 = 1.00000000 - 42.00000000 / fVar11; - fStack80 = fStack96 * fStack72; - fStack76 = fStack92 * fStack72; - fStack72 = fStack88 * fStack72; - uVar4 = FUN_7f0784c4(); - FUN_7f05891c(uVar4,&fStack80); - FUN_7f0682f4(&fStack80); - FUN_7f0648e0(pfParm1[6],pfParm2[1],0xffffffffffffffff); - FUN_7f022040(pfParm2[1],pfParm2[2],&fStack96,&fStack80); - lVar5 = loc_7F0277F0(iVar8,pfParm2[2],pfParm1 + 10,pfParm1[6],1); - if (lVar5 != 0) { - if (pfParm2[2] == 0.00000000) { - iVar9 = 0; - iVar10 = iVar8; - do { - iVar2 = *(int *)(iVar10 + 0x160); - if ((iVar2 != 0) && (pfParm2[0x12] == *(float *)(*(int *)(iVar2 + 4) + 0x14))) { - cVar1 = *(char *)(*(int *)(iVar2 + 4) + 0x80); - if (((cVar1 == '\x1a') || (((cVar1 == 'W' || (cVar1 == 'V')) || (cVar1 == '\x1b')))) || - (((cVar1 == '!' || (cVar1 == '\x1d')) || (cVar1 == '\x1c')))) { - FUN_7f04c1c4(iVar2,1); - *(ushort *)(iVar8 + 0x12) = *(ushort *)(iVar8 + 0x12) | 1; - uVar12 = FUN_7f05e43c(pfParm1[6]); - uVar6 = FUN_7f09a690(); - loc_7F04E710(*(undefined4 *)(iVar2 + 4),uVar12,&fStack96,pfParm1[6],uVar6); - } - else { - puStack112 = PTR_PTR_DAT_80046dec; - if (-1 < *(short *)((int)pfParm2 + 0x3a)) { - puStack112 = (&PTR_PTR_DAT_80046dec) - [(uint)(byte)(&DAT_80041880)[(int)*(short *)((int)pfParm2 + 0x3a) * 8] & - 0xf]; - } - uVar7 = FUN_700098b0(); - if (*(short *)(puStack112 + 10) == 0) { - trap(0x1c00); - } - loc_7F0A1A48(pfParm2 + 4,pfParm2 + 7, - (ulonglong) - *(byte *)(*(int *)(puStack112 + 4) + - uVar7 % (int)*(short *)(puStack112 + 10)),1,iVar2,pfParm2[0x10],0) - ; - } - } - iVar9 += 4; - iVar10 += 4; - } while (iVar9 != 8); - } - else { - if (pfParm2[2] == 0.00000000) { - puVar3 = PTR_PTR_DAT_80046dec; - if (-1 < *(short *)((int)pfParm2 + 0x3a)) { - puVar3 = (&PTR_PTR_DAT_80046dec) - [(uint)(byte)(&DAT_80041880)[(int)*(short *)((int)pfParm2 + 0x3a) * 8] & 0xf]; - } - uVar7 = FUN_700098b0(); - if (*(short *)(puVar3 + 10) == 0) { - trap(0x1c00); - } - loc_7F0A1A48(pfParm2 + 4,pfParm2 + 7, - (ulonglong) - *(byte *)(*(int *)(puVar3 + 4) + uVar7 % (int)*(short *)(puVar3 + 10)),1, - *(undefined4 *)(iVar8 + 0x1d8),pfParm2[0x10],0); - } - else { - iVar8 = FUN_7f06cd98(pfParm2[0x12],pfParm2[3],0); - fStack136 = fStack96 + (fStack96 - *(float *)(iVar8 + 0x30)) * 0.50000000; - fStack132 = fStack92 + (fStack92 - *(float *)(iVar8 + 0x34)) * 0.50000000; - fStack128 = fStack88 + (fStack88 - *(float *)(iVar8 + 0x38)) * 0.50000000; - fVar11 = (float)FUN_7f06d354(pfParm2[0x12],pfParm2[3]); - fStack136 = fStack136 - fVar11 * 0.50000000 * pfParm1[3]; - fVar11 = (float)FUN_7f06d354(pfParm2[0x12],pfParm2[3]); - fStack132 = fStack132 - fVar11 * 0.50000000 * pfParm1[4]; - fVar11 = (float)FUN_7f06d354(pfParm2[0x12],pfParm2[3]); - fStack128 = fStack128 - fVar11 * 0.50000000 * pfParm1[5]; - FUN_7f05a30c(iVar8,auStack68); - FUN_7f05891c(auStack68,&fStack136); - loc_7F022624(pfParm2[0x12],pfParm2[2],pfParm2[3],&fStack136); - } - } - } - return; -} - - - -void sub_7F022E1C(void) - -{ - return; -} - - - -void FUN_7f022dec(undefined4 uParm1) - -{ - DAT_80027e54 = uParm1; - return; -} - - - -void FUN_7f022df8(void) - -{ - int iVar1; - - DAT_80027e58 += -1; - if (DAT_80027e58 < 0) { - DAT_80027e58 = 0; - iVar1 = 1; - if (DAT_800252c0 != 0) { - while (DAT_80027e58 = iVar1, (&DAT_800252c0)[iVar1] != 0) { - iVar1 += 1; - } - } - } - return; -} - - - -void FUN_7f022e58(void) - -{ - DAT_80027e58 += 1; - if (*(int *)(&DAT_800252bc + DAT_80027e58 * 4) == 0) { - DAT_80027e58 = 0; - } - return; -} - - - -void FUN_7f022e90(void) - -{ - DAT_80027e5c = (uint)(DAT_80027e5c == 0); - return; -} - - - -void FUN_7f022ea8(undefined4 uParm1) - -{ - DAT_80027e60 = uParm1; - return; -} - - - -void FUN_7f022eb4(float fParm1) - -{ - int iVar1; - int iVar2; - float fVar3; - - iVar2 = 0; - if (0 < DAT_800281b8) { - iVar1 = 0; - do { - if ((*(int *)(DAT_800281b4 + iVar1 + 0x1c) != 0) && - (fVar3 = (float)FUN_7f032e28(iVar1 + DAT_800281b4), - fVar3 < *(float *)(DAT_800281b4 + iVar1 + 0xec) * fParm1 * 100.00000000)) { - FUN_7f029c34(iVar1 + DAT_800281b4); - } - iVar2 += 1; - iVar1 += 0x1dc; - } while (iVar2 < DAT_800281b8); - } - return; -} - - - -int FUN_7f022f90(short sParm1) - -{ - int iVar1; - int iVar2; - short *psVar3; - - iVar1 = 0; - if (0 < DAT_800281b8) { - iVar2 = 0; - psVar3 = DAT_800281b4; - do { - iVar1 += 1; - if ((*(int *)(psVar3 + 0xe) != 0) && (sParm1 == *psVar3)) { - return iVar2 + (int)DAT_800281b4; - } - iVar2 += 0x1dc; - psVar3 = psVar3 + 0xee; - } while (iVar1 < DAT_800281b8); - } - return 0; -} - - - -undefined4 something_with_weaponpos_of_guarddata_hand(int iParm1,int iParm2) - -{ - return *(undefined4 *)(iParm1 + iParm2 * 4 + 0x160); -} - - - -int loc_7F02307C(int iParm1,int iParm2) - -{ - longlong lVar1; - int iVar2; - - iVar2 = *(int *)(iParm1 + iParm2 * 4 + 0x160); - if ((iVar2 != 0) && - (lVar1 = FUN_7f05e56c(*(undefined *)(*(int *)(iVar2 + 4) + 0x80),0x200), lVar1 == 0)) { - iVar2 = 0; - } - return iVar2; -} - - - -void locret_7F023158(int iParm1,int *piParm2,undefined4 *puParm3,float *pfParm4,float *param_5) - -{ - int iVar1; - float fVar2; - - iVar1 = *(int *)(iParm1 + 4); - if (*(char *)(iVar1 + 7) == '\x04') { - *puParm3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x05') { - *puParm3 = 0; - } - else { - if ((*(uint *)(iVar1 + 0x14) & 0x10400) == 0) { - if ((*(ushort *)(iVar1 + 0x12) & 0x100) == 0) { - *puParm3 = 4; - *piParm2 = iVar1 + 0x11c; - fVar2 = *(float *)(iVar1 + 0x24); - *(float *)(iVar1 + 0x11c) = *(float *)(iParm1 + 8) + fVar2; - *(undefined4 *)(iVar1 + 0x120) = *(undefined4 *)(iParm1 + 0x10); - *(undefined4 *)(iVar1 + 0x124) = *(undefined4 *)(iParm1 + 8); - *(float *)(iVar1 + 0x128) = *(float *)(iParm1 + 0x10) + fVar2; - *(float *)(iVar1 + 300) = *(float *)(iParm1 + 8) - fVar2; - *(undefined4 *)(iVar1 + 0x130) = *(undefined4 *)(iParm1 + 0x10); - *(undefined4 *)(iVar1 + 0x134) = *(undefined4 *)(iParm1 + 8); - *(float *)(iVar1 + 0x138) = *(float *)(iParm1 + 0x10) - fVar2; - *param_5 = *(float *)(iVar1 + 0xac); - *pfParm4 = *param_5 + *(float *)(iVar1 + 0x28); - return; - } - *puParm3 = 0; - } - else { - *puParm3 = 0; - } - } - } - return; -} - - - -void sub_7F023160(int iParm1,undefined4 *puParm2,float *pfParm3,undefined4 *puParm4) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + 4); - *puParm2 = *(undefined4 *)(iVar1 + 0x24); - *pfParm3 = *(float *)(iVar1 + 0x28) - 20.00000000; - *puParm4 = 0x41a00000; - return; -} - - - -undefined4 sub_7F023188(int iParm1) - -{ - return *(undefined4 *)(*(int *)(iParm1 + 4) + 0xac); -} - - - -undefined8 loc_7F023280(int iParm1,float *pfParm2,undefined4 *puParm3,undefined4 *puParm4) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - float fVar4; - - iVar1 = *(int *)(iParm1 + 4); - if ((*(byte *)(iParm1 + 1) & 2) == 0) { - uVar3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x04') { - uVar3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x05') { - uVar3 = 0; - } - else { - if ((*(uint *)(iVar1 + 0x14) & 0x800) == 0) { - iVar1 = *(int *)(iVar1 + 0x1c); - iVar2 = *(int *)(iVar1 + 0xc); - fVar4 = (*(float *)(iVar2 + 0x38) - *(float *)(iVar2 + 0x78)) * 0.25000000 + - *(float *)(iVar2 + 0x78); - pfParm2[2] = fVar4; - if (fVar4 < 0.00000000) { - *pfParm2 = (*(float *)(iVar2 + 0x30) - *(float *)(iVar2 + 0x70)) * 0.25000000 + - *(float *)(iVar2 + 0x70); - pfParm2[1] = (*(float *)(iVar2 + 0x34) - *(float *)(iVar2 + 0x74)) * 0.25000000 + - *(float *)(iVar2 + 0x74); - puParm4[1] = 0; - *puParm4 = 0; - *puParm3 = 0; - puParm3[1] = 0; - FUN_7f03f9cc(iVar1,puParm3 + 1,puParm3,puParm4 + 1,puParm4); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - else { - uVar3 = 0; - } - } - } - } - return uVar3; -} - - - -ulonglong FUN_7f023260(int iParm1) - -{ - bool bVar1; - - bVar1 = *(int *)(&PTR_DAT_80037a60)[iParm1 * 5] == 0; - if (bVar1) { - FUN_7f0765cc((&PTR_DAT_80037a60)[iParm1 * 5],(&PTR_s_CcamguardZ_80037a64)[iParm1 * 5]); - } - return (ulonglong)bVar1; -} - - - -int FUN_7f0232b8(int iParm1,int iParm2,int *piParm3,int *piParm4,int param_5,int param_6) - -{ - int iVar1; - longlong lVar2; - undefined4 *puVar3; - undefined4 uVar4; - int local_c; - float local_4; - - iVar1 = iParm1 * 0x14; - uVar4 = *(undefined4 *)(&DAT_80037a6c + iVar1); - local_4 = *(float *)(&DAT_80037a68 + iVar1) * DAT_80047ec0; - local_c = 0; - lVar2 = FUN_7f091cdc(0xc); - if ((lVar2 != 0) && (lVar2 = FUN_7f0206cc(iParm1,iParm2), lVar2 != 0)) { - local_4 = local_4 * DAT_80047ec4; - } - if (*piParm3 == 0) { - FUN_7f0765cc(piParm3,(&PTR_s_CcamguardZ_80037a64)[iParm1 * 5]); - } - FUN_7f075d7c(piParm3); - if ((((&DAT_80037a71)[iVar1] == '\0') && (-1 < iParm2)) && - (local_c = *(int *)(piParm3[2] + 0x10), local_c != 0)) { - if (*piParm4 == 0) { - FUN_7f0765cc(piParm4,(&PTR_s_CcamguardZ_80037a64)[iParm2 * 5]); - } - FUN_7f075d7c(piParm4); - *(short *)(piParm3 + 5) = *(short *)(piParm3 + 5) + *(short *)(piParm4 + 5); - } - if (param_6 == 0) { - param_6 = FUN_7f06c97c(piParm3); - } - if (param_6 != 0) { - set_obj_instance_controller_scale(param_6,local_4); - sub_7F06CE84(param_6,uVar4); - if ((piParm4 != NULL) && ((&DAT_80037a71)[iVar1] == '\0')) { - *(short *)(piParm3 + 5) = *(short *)(piParm3 + 5) - *(short *)(piParm4 + 5); - FUN_7f06caf4(param_6,local_c,piParm4); - if ((param_5 == 0) && ((0 < *(short *)(piParm4 + 3) && (*(int *)piParm4[2] != 0)))) { - puVar3 = (undefined4 *)loc_7F06C888(param_6); - *puVar3 = 0; - } - } - } - return param_6; -} - - - -void FUN_7f023488(void) - -{ - FUN_7f0232b8(); - return; -} - - - -void FUN_7f0234b0(int iParm1,int iParm2,ulonglong uParm3) - -{ - undefined *puVar1; - int unaff_10000067; - int unaff_1000006f; - ulonglong uVar2; - uint uVar3; - undefined *local_8; - - puVar1 = (&PTR_DAT_80037a60)[unaff_10000067 * 5]; - local_8 = NULL; - uVar3 = 0; - if ((uParm3 & 1) == 0) { - if ((uParm3 & 2) != 0) { - uVar2 = FUN_700098b0(); - uVar3 = (uint)((uVar2 & 1) == 0); - iParm1 = unaff_10000067; - iParm2 = unaff_1000006f; - } - } - else { - uVar3 = 1; - } - if ((-1 < iParm2) && ((&DAT_80037a71)[unaff_10000067 * 0x14] == '\0')) { - local_8 = (&PTR_DAT_80037a60)[iParm2 * 5]; - } - FUN_7f023488(iParm1,iParm2,puVar1,local_8,uVar3); - return; -} - - - -undefined4 FUN_7f023570(void) - -{ - return (&DAT_8002825c)[DAT_80028384]; -} - - - -undefined4 FUN_7f02358c(int iParm1) - -{ - undefined4 uVar1; - uint uVar2; - int iVar3; - - if ((&DAT_80037a70)[iParm1 * 0x14] == '\0') { - uVar1 = (&DAT_80028370)[DAT_8002838c]; - } - else { - uVar2 = FUN_700098b0(); - iVar3 = DAT_80028388 + (uVar2 & 3); - if (DAT_80028254 == 0) { - trap(0x1c00); - } - if ((DAT_80028254 == -1) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - uVar1 = (&DAT_80028308)[iVar3 % DAT_80028254]; - } - return uVar1; -} - - - -undefined4 FUN_7f023640(int iParm1) - -{ - undefined4 uVar1; - uint uVar2; - - if ((&DAT_80037a70)[iParm1 * 0x14] == '\0') { - uVar2 = FUN_700098b0(); - uVar1 = (&DAT_80028370)[uVar2 % DAT_80028258]; - if (DAT_80028258 == 0) { - trap(0x1c00); - } - } - else { - uVar2 = FUN_700098b0(); - if (DAT_80028254 == 0) { - trap(0x1c00); - } - uVar1 = (&DAT_80028308)[uVar2 % DAT_80028254]; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0236ec(undefined8 uParm1,int iParm2) - -{ - ushort uVar1; - undefined2 *puVar2; - longlong lVar3; - short sVar6; - undefined4 uVar4; - int iVar5; - undefined4 uVar7; - float fVar8; - uint uStack44; - undefined auStack24 [12]; - undefined4 auStack12 [2]; - int iStack4; - - iStack4 = ((uint)*(ushort *)(iParm2 + 6) * 0xc - (uint)*(ushort *)(iParm2 + 6)) * 4 + - _DAT_80064c58; - lVar3 = sub_GAME_7F056F08(iStack4,*(undefined4 *)(iStack4 + 0x28),0x41a00000,auStack24,auStack12); - if (lVar3 != 0) { - sVar6 = -1; - if (*(ushort *)(iParm2 + 8) == 0xffff) { - uStack44 = FUN_7f023570(); - } - else { - uStack44 = (uint)*(ushort *)(iParm2 + 8); - } - if (((&DAT_80037a71)[uStack44 * 0x14] == '\0') && (sVar6 = *(short *)(iParm2 + 0x16), sVar6 < 0) - ) { - sVar6 = FUN_7f02358c(uStack44); - } - lVar3 = FUN_7f0234b0(uStack44,sVar6,(ulonglong)*(ushort *)(iParm2 + 0x14)); - if (lVar3 != 0) { - uVar7 = convert_angle_using_inverse - (*(undefined4 *)(iStack4 + 0x18),*(undefined4 *)(iStack4 + 0x20)); - uVar4 = FUN_7f0353d8((ulonglong)*(ushort *)(iParm2 + 10)); - iVar5 = FUN_7f02022c((int)lVar3,auStack24,uVar7,auStack12[0],uVar4); - if (iVar5 != 0) { - FUN_7f03a564(iVar5); - set_stateflag_0x04_for_posdata(iVar5); - puVar2 = *(undefined2 **)(iVar5 + 4); - *puVar2 = *(undefined2 *)(iParm2 + 4); - fVar8 = (float)(uint)*(ushort *)(iParm2 + 0x10); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(puVar2 + 0x76) = fVar8 / 1000.00000000; - fVar8 = (float)(uint)*(ushort *)(iParm2 + 0x12); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(puVar2 + 0x68) = fVar8; - puVar2[0x8a] = *(undefined2 *)(iParm2 + 0xc); - puVar2[0x8b] = *(undefined2 *)(iParm2 + 0xe); - *(char *)(puVar2 + 3) = (char)sVar6; - *(undefined *)((int)puVar2 + 0xf) = (char)uStack44; - uVar1 = *(ushort *)(iParm2 + 0x14); - if ((uVar1 & 4) != 0) { - *(uint *)(puVar2 + 10) = *(uint *)(puVar2 + 10) | 2; - uVar1 = *(ushort *)(iParm2 + 0x14); - } - if ((uVar1 & 8) == 0) { - *(undefined2 **)(iParm2 + 0x18) = puVar2; - } - else { - *(uint *)(puVar2 + 10) = *(uint *)(puVar2 + 10) | 0x10; - *(undefined2 **)(iParm2 + 0x18) = puVar2; - } - } - } - } - return; -} - - - -undefined8 FUN_7f0238f0(int iParm1) - -{ - undefined8 uVar1; - - if (iParm1 == 0) { - uVar1 = 0; - } - else { - uVar1 = FUN_7f05e56c(*(undefined *)(*(int *)(iParm1 + 4) + 0x80),0x100); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f023928(int iParm1,undefined4 uParm2) - -{ - longlong lVar1; - int iVar3; - longlong lVar2; - uint uVar4; - - iVar3 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - if ((((iVar3 == 0) || (lVar2 == 0)) && ((iVar3 != 0 || (lVar2 != 0)))) && - ((lVar1 = FUN_7f0238f0(), lVar1 == 0 && (lVar1 = FUN_7f0238f0((int)lVar2), lVar1 == 0)))) { - if (((int)lVar2 != 0) || (iVar3 != 0)) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x1c,(ulonglong)(iVar3 != 0),0, - 0x3e800000,uParm2); - sub_7F06FDCC(*(undefined4 *)(iParm1 + 0x1c),0,0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x42f00000); - } - } - else { - uVar4 = FUN_700098b0(); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x8194,(ulonglong)uVar4 & 1,0, - 0x3e800000,uParm2); - sub_7F06FDCC(*(undefined4 *)(iParm1 + 0x1c),0,0x41800000); - } - return; -} - - - -void FUN_7f023a74(int iParm1,float fParm2) - -{ - float fVar1; - uint uVar2; - float fVar3; - float fVar4; - undefined uVar5; - - FUN_7f02d1b8(); - *(undefined *)(iParm1 + 7) = 1; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(undefined4 *)(iParm1 + 0x30) = 0; - *(undefined4 *)(iParm1 + 0x34) = 0; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(undefined4 *)(iParm1 + 0x3c) = 2; - *(undefined4 *)(iParm1 + 0x40) = 0; - uVar2 = FUN_700098b0(); - fVar1 = DAT_80047ed0; - *(int *)(iParm1 + 0x44) = uVar2 % 0x78 + 0xb4; - fVar4 = *(float *)(*(int *)(iParm1 + 0x1c) + 0xa4); - fVar3 = fParm2; - if (fVar1 != fVar4) { - fVar3 = fParm2 * (fVar1 / fVar4); - } - if (127.00000000 < fVar3) { - uVar5 = 0x7f; - } - else { - uVar5 = (undefined)(int)fVar3; - } - *(undefined *)(iParm1 + 8) = uVar5; - FUN_7f023928(iParm1,fParm2); - return; -} - - - -float sub_7F023B5C(int iParm1,float fParm2,float fParm3) - -{ - char cVar1; - float fVar2; - - cVar1 = *(char *)(iParm1 + 3); - fVar2 = (float)FUN_7f01d110(); - return ((fParm3 - fParm2) * (fVar2 * (100.00000000 - (float)(int)cVar1) + (float)(int)cVar1)) / - 100.00000000 + fParm2; -} - - - -int FUN_7f023ba8(int iParm1,int iParm2) - -{ - char cVar1; - float fVar2; - - cVar1 = *(char *)(iParm1 + 3); - fVar2 = (float)FUN_7f01d110(); - iParm2 = (100 - ((int)(fVar2 * (float)(100 - (int)cVar1)) + (int)cVar1)) * iParm2; - if (false) { - trap(0x1c00); - } - if ((false) && (iParm2 == -0x80000000)) { - trap(0x1800); - } - return iParm2 / 100; -} - - - -float sub_7F023C54(int iParm1,float fParm2,float fParm3) - -{ - char cVar1; - float fVar2; - - cVar1 = *(char *)(iParm1 + 0xd); - fVar2 = (float)FUN_7f01d110(); - return ((fParm3 - fParm2) * (fVar2 * (100.00000000 - (float)(int)cVar1) + (float)(int)cVar1)) / - 100.00000000 + fParm2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F023E04(int iParm1) - -{ - uint uVar1; - int iVar2; - undefined4 uVar3; - - if (*(char *)(iParm1 + 7) == '\x02') { - FUN_7f02d1b8(); - *(undefined *)(iParm1 + 7) = 1; - *(undefined4 *)(iParm1 + 0x2c) = 1; - *(undefined4 *)(iParm1 + 0x30) = 0; - *(undefined4 *)(iParm1 + 0x34) = 0; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(undefined4 *)(iParm1 + 0x3c) = 2; - *(undefined4 *)(iParm1 + 0x40) = 0; - uVar1 = FUN_700098b0(); - *(int *)(iParm1 + 0x44) = uVar1 % 0x78 + 0xb4; - *(undefined *)(iParm1 + 8) = 0; - iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)); - if (iVar2 == _DAT_80058478 + 0x6c18) { - uVar3 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(int *)(iParm1 + 0x1c),_DAT_80058478 + 0x6c18, - *(undefined *)(*(int *)(iParm1 + 0x1c) + 0x24),0x42da0000,uVar3,0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x430c0000); - } - else { - uVar3 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(int *)(iParm1 + 0x1c),_DAT_80058478 + 0xb84, - *(undefined *)(*(int *)(iParm1 + 0x1c) + 0x24),0x42f00000,uVar3,0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x43170000); - } - } - else { - FUN_7f023a74(iParm1,0x41800000); - } - return; -} - - - -void FUN_7f023dfc(int iParm1,undefined4 uParm2) - -{ - FUN_7f023a74(iParm1,uParm2); - *(undefined4 *)(iParm1 + 0x40) = 1; - return; -} - - - -void FUN_7f023e30(int iParm1) - -{ - loc_7F023E04(); - *(undefined4 *)(iParm1 + 0x40) = 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f023f50) overlaps instruction at (ram,0x7f023f4c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f023e5c(int iParm1) - -{ - longlong lVar1; - int iVar2; - int iVar3; - uint uVar4; - undefined4 uVar5; - - iVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - FUN_7f02d1b8(iParm1); - if ((((iVar2 == 0) || (iVar3 == 0)) && ((iVar2 != 0 || (iVar3 != 0)))) && - ((lVar1 = FUN_7f0238f0(), lVar1 == 0 && (lVar1 = FUN_7f0238f0(iVar3), lVar1 == 0)))) { - if ((iVar3 != 0) || (iVar2 != 0)) { - uVar5 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0xb84,(ulonglong)(iVar2 != 0),0, - uVar5,0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x41d80000); - } - } - else { - uVar4 = FUN_700098b0(); - uVar5 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x6c18,uVar4 & 1,0,uVar5,0x41800000) - ; - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x41e00000); - } - *(undefined *)(iParm1 + 7) = 2; - *(undefined *)(iParm1 + 8) = 0; - return; -} - - - -void loc_7F02413C(int iParm1,int iParm2,int iParm3,int iParm4,byte bParm5,int iParm6) - -{ - uint uVar1; - bool bVar2; - undefined4 uVar3; - - uVar3 = 0x3f000000; - if ((bParm5 & 0x80) != 0) { - uVar3 = 0xbf000000; - } - FUN_7f02d1b8(iParm1); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),*(undefined4 *)(&DAT_800252bc + iParm2 * 4), - (ulonglong)((bParm5 & 1) != 0),(float)iParm3,uVar3,(float)iParm6); - if (-1 < iParm4) { - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),(float)iParm4); - } - if ((bParm5 & 0x20) == 0) { - uVar1 = *(uint *)(iParm1 + 0x14); - } - else { - sub_7F06CE84(*(int *)(iParm1 + 0x1c),*(float *)(*(int *)(iParm1 + 0x1c) + 0xb8) * 4.00000000); - uVar1 = *(uint *)(iParm1 + 0x14); - } - *(uint *)(iParm1 + 0x14) = uVar1 & 0xfdffffff; - bVar2 = (bParm5 & 0x10) != 0; - *(undefined *)(iParm1 + 7) = 3; - *(uint *)(iParm1 + 0x2c) = (uint)((bParm5 & 2) != 0); - *(uint *)(iParm1 + 0x30) = (uint)((bParm5 & 4) != 0); - *(uint *)(iParm1 + 0x34) = (uint)((bParm5 & 8) != 0); - *(uint *)(iParm1 + 0x38) = (uint)bVar2; - *(uint *)(iParm1 + 0x3c) = (uint)((bParm5 & 0x40) != 0); - if (bVar2) { - *(undefined *)(iParm1 + 8) = (char)iParm6; - } - else { - *(undefined *)(iParm1 + 8) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024138(int iParm1) - -{ - int iVar2; - longlong lVar1; - uint uVar3; - - iVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar1 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - uVar3 = 0; - if ((iVar2 == 0) || (lVar1 != 0)) { - if (((iVar2 != 0) && (lVar1 != 0)) || ((iVar2 == 0 && (lVar1 == 0)))) { - uVar3 = FUN_700098b0(); - uVar3 &= 1; - } - } - else { - uVar3 = 1; - } - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0x13; - *(undefined *)(iParm1 + 8) = 0; - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x5744,uVar3,0x42200000,0x3f800000, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x42a40000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024220(int iParm1,undefined8 uParm2,int iParm3,int iParm4) - -{ - undefined4 uVar1; - - FUN_7f02d1b8(); - *(undefined *)(iParm1 + 7) = 0x14; - *(undefined *)(iParm1 + 8) = 0; - if (iParm4 == 0) { - uVar1 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x5964,(ulonglong)(iParm3 != 0), - 0x42a80000,uVar1,0x41800000); - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - } - else { - uVar1 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x5964,(ulonglong)(iParm3 != 0),0, - uVar1,0x41800000); - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - } - loc_7F06FE2C(uVar1,0x43410000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02431c(int iParm1,undefined4 uParm2) - -{ - int iVar2; - longlong lVar1; - undefined4 uVar3; - uint uStack12; - - iVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar1 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - uStack12 = 0; - if ((iVar2 == 0) || (lVar1 != 0)) { - if (((iVar2 != 0) && (lVar1 != 0)) || ((iVar2 == 0 && (lVar1 == 0)))) { - uStack12 = FUN_700098b0(); - uStack12 &= 1; - } - } - else { - uStack12 = 1; - } - uVar3 = sub_7F023B5C(iParm1,0x3f19999a,0x3f75c290); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x5d10,uStack12,0x41200000,uVar3, - uParm2); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x42500000); - return; -} - - - -void FUN_7f024400(int iParm1) - -{ - longlong lVar1; - float fVar2; - - fVar2 = (float)FUN_7f032c90(); - if ((fVar2 < DAT_80047ed4) || (DAT_80047ed8 < fVar2)) { - FUN_7f02431c(iParm1,0x41800000); - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0x12; - *(undefined *)(iParm1 + 8) = 0; - } - else { - lVar1 = loc_7F029D5C(iParm1); - if (lVar1 == 0) { - loc_7F023E04(iParm1); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024494(int iParm1) - -{ - uint uVar1; - undefined4 uVar2; - - FUN_7f02d1b8(); - *(undefined *)(iParm1 + 7) = 0x12; - *(undefined *)(iParm1 + 8) = 0; - uVar1 = FUN_700098b0(); - uVar2 = sub_7F023B5C(iParm1,0x3eb33333,0x3f0f5c29); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4384,uVar1 & 1,0,uVar2,0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x40e00000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024530(int iParm1) - -{ - uint uVar2; - ulonglong uVar1; - undefined4 uVar3; - - uVar2 = FUN_700098b0(); - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0x12; - *(undefined *)(iParm1 + 8) = 0; - uVar1 = FUN_700098b0(); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x5ef0,uVar1 & 1,0x41880000, - DAT_80047edc,0x41800000); - if (uVar2 % 3 == 0) { - uVar3 = sub_7F023B5C(iParm1,0x42180000,0x41000000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),uVar3); - } - else { - if (uVar2 % 3 == 1) { - uVar3 = sub_7F023B5C(iParm1,0x42840000,0x41000000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),uVar3); - } - else { - uVar3 = sub_7F023B5C(iParm1,0x42c00000,0x41000000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),uVar3); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0247A8(int iParm1) - -{ - int iVar1; - int iVar2; - uint uVar3; - ushort uVar4; - - if (*(char *)(iParm1 + 7) != '\x10') { - iVar1 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - iVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0x10; - if ((iVar2 == 0) && (iVar1 == 0)) { - uVar3 = FUN_700098b0(); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4384,(ulonglong)uVar3 & 1,0, - 0x3f000000,0x41800000); - sub_7F06FDCC(*(undefined4 *)(iParm1 + 0x1c),0x41f00000,0x41800000); - *(undefined *)(iParm1 + 8) = 0x10; - } - else { - uVar3 = FUN_700098b0(); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4504,(ulonglong)uVar3 & 1,0, - 0x3f000000,0x41800000); - sub_7F06FDCC(*(undefined4 *)(iParm1 + 0x1c),0x42200000,0x41800000); - *(undefined *)(iParm1 + 8) = 0x10; - if (iVar1 != 0) { - FUN_7f04c1c4(iVar1,2); - } - if (iVar2 == 0) { - uVar4 = *(ushort *)(iParm1 + 0x12); - } - else { - FUN_7f04c1c4(iVar2,2); - uVar4 = *(ushort *)(iParm1 + 0x12); - } - *(ushort *)(iParm1 + 0x12) = uVar4 | 1; - } - loc_7F021B98(iParm1); - } - return; -} - - - -void FUN_7f0247a0(int iParm1) - -{ - if (*(char *)(iParm1 + 7) != '\x05') { - FUN_7f02d1b8(); - *(undefined *)(iParm1 + 7) = 5; - *(undefined4 *)(iParm1 + 0x2c) = 0xffffffff; - *(undefined *)(iParm1 + 8) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0247e8(int iParm1,int iParm2) - -{ - int iVar3; - longlong lVar1; - uint uVar4; - longlong lVar2; - undefined4 uVar5; - uint uStack12; - - iVar3 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar1 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - uStack12 = 0; - if ((iVar3 == 0) || (lVar1 == 0)) { - lVar2 = FUN_7f0238f0(); - uVar4 = 0; - if (lVar2 == 0) { - lVar2 = FUN_7f0238f0((int)lVar1); - uVar4 = 0; - if ((lVar2 == 0) && ((iVar3 != 0 || ((int)lVar1 != 0)))) { - uStack12 = (uint)(iVar3 != 0); - uVar4 = FUN_700098b0(); - uVar4 &= 1; - } - } - } - else { - uStack12 = FUN_700098b0(); - uStack12 &= 1; - uVar4 = FUN_700098b0(); - uVar4 &= 1; - } - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0xb; - *(undefined *)(iParm1 + 8) = 0; - if (uVar4 == 0) { - if (iParm2 == 0) { - uVar5 = sub_7F023B5C(iParm1,0x3f0ccccd,0x3f6147af); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x3d9c,1,0x40a00000,uVar5, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x41d80000); - } - else { - uVar5 = sub_7F023B5C(iParm1,0x3f0ccccd,0x3f6147af); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x3d9c,0,0x40a00000,uVar5, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x41d80000); - } - } - else { - if (((iParm2 == 0) || (uStack12 != 0)) && ((iParm2 != 0 || (uStack12 == 0)))) { - uVar5 = sub_7F023B5C(iParm1,0x3f333333,0x3f8f5c29); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x54a0,uStack12,0x40a00000,uVar5, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x42000000); - } - else { - uVar5 = sub_7F023B5C(iParm1,0x3f333333,0x3f8f5c29); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x5554,uStack12,0x40a00000,uVar5, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x42080000); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024a6c(int iParm1,int iParm2) - -{ - int iVar4; - longlong lVar1; - longlong lVar2; - ulonglong uVar3; - undefined4 uVar5; - uint uStack12; - - iVar4 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar1 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - uStack12 = 0; - if ((iVar4 == 0) || (lVar1 != 0)) { - if (((iVar4 == 0) || (lVar1 == 0)) && ((iVar4 != 0 || (lVar1 != 0)))) { - lVar2 = FUN_7f0238f0(iVar4); - if ((lVar2 == 0) && (lVar1 = FUN_7f0238f0((int)lVar1), lVar1 == 0)) goto LAB_7f024b0c; - } - uStack12 = FUN_700098b0(); - uStack12 &= 1; - } - else { - uStack12 = 1; - } -LAB_7f024b0c: - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0xc; - *(undefined *)(iParm1 + 8) = 0; - if (((iParm2 == 0) || (uStack12 != 0)) && ((iParm2 != 0 || (uStack12 == 0)))) { - uVar3 = FUN_700098b0(); - if ((uVar3 & 1) == 0) { - uVar5 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x47bc,uStack12,0x42b60000,uVar5, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x43080000); - } - else { - uVar5 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4a40,uStack12,0x41a00000,uVar5, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x427c0000); - } - } - else { - uVar3 = FUN_700098b0(); - if ((uVar3 & 1) == 0) { - uVar5 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4a40,uStack12,0x43020000,uVar5, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x432d0000); - } - else { - uVar5 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x47bc,uStack12,0x40a00000,uVar5, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x42440000); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F024EF0(int iParm1,float *pfParm2) - -{ - bool bVar1; - int iVar4; - longlong lVar2; - uint uVar5; - longlong lVar3; - float fVar6; - float fVar7; - - fVar6 = *(float *)(*(int *)(iParm1 + 0x18) + 8) - *pfParm2; - fVar7 = *(float *)(*(int *)(iParm1 + 0x18) + 0x10) - pfParm2[2]; - fVar6 = (float)sqrtf(fVar6 * fVar6 + fVar7 * fVar7); - iVar4 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - bVar1 = true; - if (((iVar4 == 0) || (lVar2 == 0)) && ((iVar4 != 0 || (lVar2 != 0)))) { - lVar3 = FUN_7f0238f0(iVar4); - if ((lVar3 == 0) && (lVar2 = FUN_7f0238f0((int)lVar2), lVar2 == 0)) { - uVar5 = (uint)(iVar4 != 0); - } - else { - bVar1 = false; - uVar5 = (uint)(iVar4 != 0); - } - } - else { - bVar1 = false; - uVar5 = FUN_700098b0(); - uVar5 &= 1; - } - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0xd; - *(float *)(iParm1 + 0x2c) = *pfParm2; - *(float *)(iParm1 + 0x30) = pfParm2[1]; - fVar7 = pfParm2[2]; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x40) = 0; - *(undefined4 *)(iParm1 + 0x38) = 0x41f00000; - *(float *)(iParm1 + 0x34) = fVar7; - if (bVar1) { - *(int *)(iParm1 + 0x3c) = - (int)(((fVar6 / (DAT_8002bed8 * 0.50000000)) * 50.00000000) / 60.00000000); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x40d4,uVar5,0,0x3f000000,0x41800000 - ); - } - else { - *(int *)(iParm1 + 0x3c) = - (int)(((fVar6 / (DAT_8002bee4 * 0.50000000)) * 50.00000000) / 60.00000000); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x777c,uVar5,0,0x3f000000,0x41800000 - ); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024f18(int iParm1) - -{ - FUN_7f02d1b8(); - *(undefined *)(iParm1 + 7) = 0x16; - *(undefined *)(iParm1 + 8) = 0; - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x2f94,0,0x41200000,0x3f000000, - 0x41800000); - sub_7F06FDCC(*(undefined4 *)(iParm1 + 0x1c),0x41200000,0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),0x42200000); - return; -} - - - -void loc_7F0250B0(int iParm1) - -{ - undefined4 uVar1; - int iVar2; - float fVar3; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - iVar2 = *(int *)(iParm1 + 0x2c); - if ((*(uint *)(iParm1 + 0x4c) & 0x20) == 0) { - if (*(char *)(iParm1 + 0x36) == '\0') { - if (0.00000000 <= *(float *)(iVar2 + 0x20)) { - loc_7F06FE2C(uVar1,*(float *)(iVar2 + 0x20)); - } - else { - if (0.00000000 <= *(float *)(iVar2 + 0x14)) { - loc_7F06FE2C(uVar1,*(float *)(iVar2 + 0x14)); - } - else { - loc_7F06FE2C(uVar1,0xffffffffbf800000); - } - } - } - else { - if (0.00000000 <= *(float *)(iVar2 + 0x20)) { - loc_7F06FE2C(uVar1,*(float *)(iVar2 + 0x20)); - } - else { - loc_7F06FE2C(uVar1,*(undefined4 *)(iVar2 + 0x18)); - } - } - } - else { - fVar3 = *(float *)(iVar2 + 0x20); - if ((fVar3 < 0.00000000) || (*(float *)(iVar2 + 0x18) <= fVar3)) { - loc_7F06FE2C(uVar1,*(undefined4 *)(iVar2 + 0x18)); - } - else { - loc_7F06FE2C(uVar1,fVar3); - } - } - return; -} - - - -float loc_7F025160(int iParm1,ulonglong uParm2,int iParm3) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - undefined auStack8 [8]; - - if ((uParm2 & 2) == 0) { - if ((uParm2 & 0x10) == 0) { - uVar1 = FUN_7f032cbc(iParm1,uParm2,iParm3,auStack8); - fVar2 = (float)FUN_7f032c1c(iParm1,uVar1); - } - else { - fVar3 = (float)iParm3 * DAT_80047ee0; - fVar2 = (float)FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - fVar2 = fVar3 / 65536.00000000 - fVar2; - if (fVar2 < 0.00000000) { - fVar2 = fVar2 + DAT_80047ee4; - } - } - } - else { - fVar2 = 0.00000000; - } - return fVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0254CC(int iParm1,int iParm2,int iParm3,int *piParm4,uint uParm5,undefined4 uParm6, - undefined4 uParm7) - -{ - uint uVar1; - uint uVar3; - longlong lVar2; - char cVar4; - byte bVar5; - int iVar6; - int iVar7; - int iVar8; - int *piVar9; - undefined uVar10; - undefined uVar11; - undefined4 uVar12; - int iVar13; - float fVar14; - int iStack56; - int iStack52; - undefined4 uStack48; - undefined4 uStack44; - int *piStack16; - undefined4 uStack4; - - uStack4 = *(undefined4 *)(iParm1 + 0x1c); - uStack44 = DAT_8002befc; - uStack48 = DAT_8002bef8; - iStack52 = DAT_8002bf04; - iStack56 = DAT_8002bf00; - *(undefined *)(iParm1 + 7) = 8; - uVar10 = 1; - uVar11 = 0; - fVar14 = (float)loc_7F025160(iParm1,uParm5,uParm6); - if (iParm3 == 0) { - fVar14 = (fVar14 * 32.00000000) / DAT_80047eec; - } - else { - fVar14 = ((DAT_80047ee8 - fVar14) * 32.00000000) / DAT_80047ee8; - } - iVar13 = (int)(fVar14 + 0.50000000); - if (0x1f < iVar13) { - iVar13 = 0; - } - uVar3 = FUN_700098b0(); - piVar9 = *(int **)(iParm2 + iVar13 * 4); - uVar1 = piVar9[1]; - iVar13 = *piVar9; - if (uVar1 == 0) { - trap(0x1c00); - } - iVar7 = 0; - iVar8 = 0; - piStack16 = (int *)(iVar13 + (uVar3 % uVar1) * 0x48); - piVar9 = piParm4; - if (((*(uint *)(iParm1 + 0x14) & 0x20) != 0) && - (iVar6 = uVar3 % uVar1 + 1, piVar9 = piParm4, _DAT_80058478 + 0x318 == *piStack16)) { - if (uVar1 == 0) { - trap(0x1c00); - } - if ((uVar1 == 0xffffffff) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - piStack16 = (int *)((iVar6 % uVar1) * 0x48 + iVar13); - piVar9 = piParm4; - } - do { - if (*piVar9 != 0) { - iVar13 = something_with_weaponpos_of_guarddata_hand(iParm1,iVar7); - iVar13 = *(int *)(iVar13 + 4); - lVar2 = FUN_7f05e484(*(undefined *)(iVar13 + 0x80)); - if (lVar2 < 0) { - *(undefined4 *)((int)&iStack56 + iVar8 + 8) = 1; - cVar4 = *(char *)(iVar13 + 0x80); - if (cVar4 == '\x16') goto LAB_7f0253b0; - } - else { - uVar11 = 1; - cVar4 = *(char *)(iVar13 + 0x80); -LAB_7f0253b0: - uVar10 = 0; - } - if ((cVar4 == '\x19') || (cVar4 == '\x18')) { - *(undefined4 *)((int)&iStack56 + iVar8) = 1; - } - } - iVar7 += 1; - iVar8 += 4; - piVar9 = piVar9 + 1; - if (iVar7 == 2) { - *(undefined *)(iParm1 + 0x30) = 1; - *(undefined *)(iParm1 + 0x31) = 0; - *(int **)(iParm1 + 0x2c) = piStack16; - bVar5 = FUN_700098b0(); - *(byte *)(iParm1 + 0x32) = bVar5 & 1; - *(undefined *)(iParm1 + 0x39) = (char)piParm4[1]; - *(undefined *)(iParm1 + 0x38) = (char)*piParm4; - *(undefined *)(iParm1 + 0x3b) = (char)uStack44; - *(undefined *)(iParm1 + 0x3a) = (char)uStack48; - *(undefined *)(iParm1 + 0x3d) = (char)iStack52; - *(undefined *)(iParm1 + 0x36) = uVar10; - *(undefined *)(iParm1 + 0x37) = uVar11; - *(undefined4 *)(iParm1 + 0x40) = 0; - *(undefined *)(iParm1 + 0x33) = 0; - *(undefined *)(iParm1 + 0x3c) = (char)iStack56; - if ((iStack52 == 0) && (iStack56 == 0)) { - if ((uParm5 & 0x80) == 0) { - bVar5 = FUN_700098b0(); - *(char *)(iParm1 + 0x34) = (bVar5 & 3) + 2; - } - else { - *(undefined *)(iParm1 + 0x34) = 1; - } - if ((*piParm4 != 0) && (piParm4[1] != 0)) { - bVar5 = FUN_700098b0(); - *(char *)(iParm1 + 0x34) = *(char *)(iParm1 + 0x34) + (bVar5 & 3) + '\x02'; - } - } - else { - if ((iStack52 == 0) || (iStack56 == 0)) { - *(undefined *)(iParm1 + 0x34) = 1; - } - else { - *(undefined *)(iParm1 + 0x34) = 2; - } - } - *(uint *)(iParm1 + 0x4c) = uParm5; - *(undefined4 *)(iParm1 + 0x50) = uParm6; - *(undefined4 *)(iParm1 + 0x58) = 0; - *(undefined4 *)(iParm1 + 0x44) = 0; - *(undefined4 *)(iParm1 + 0x48) = 0; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x54) = uParm7; - uVar12 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(uStack4,*piStack16,iParm3,piStack16[4],uVar12,0x41800000); - loc_7F0250B0(iParm1); - return; - } - } while( true ); -} - - - -void FUN_7f025578(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - uint uVar4; - undefined4 uVar5; - undefined **ppuVar6; - ulonglong uVar7; - uint uStack24; - uint uStack20; - uint uStack12; - undefined4 uStack8; - int iStack4; - - uVar5 = (undefined4)uParm1; - iStack4 = something_with_weaponpos_of_guarddata_hand(uParm1,1); - lVar2 = something_with_weaponpos_of_guarddata_hand(uVar5,0); - uStack24 = DAT_8002bf08; - uStack20 = DAT_8002bf0c; - if ((iStack4 == 0) || (lVar2 == 0)) { - uStack8 = (undefined4)lVar2; - lVar2 = FUN_7f0238f0(); - if ((lVar2 == 0) && (lVar2 = FUN_7f0238f0(uStack8), lVar2 == 0)) { - ppuVar6 = &PTR_PTR_DAT_8002a278; - bVar1 = iStack4 != 0; - uVar7 = (ulonglong)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - else { - ppuVar6 = &PTR_PTR_DAT_8002a958; - bVar1 = iStack4 != 0; - uVar7 = (ulonglong)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - } - else { - iVar3 = loc_7F02307C(uVar5,1); - lVar2 = loc_7F02307C(uVar5,0); - bVar1 = lVar2 == 0; - uVar7 = (ulonglong)bVar1; - ppuVar6 = &PTR_PTR_DAT_8002a958; - if ((iVar3 == 0) || (lVar2 == 0)) { - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - else { - uStack12 = FUN_700098b0(); - uStack12 &= 1; - uVar4 = FUN_700098b0(); - uVar7 = SEXT48((int)uStack12); - if (uVar4 % 3 == 0) { - ppuVar6 = &PTR_PTR_DAT_8002a958; - uStack20 = uStack12; - uStack24 = (uint)(uVar7 == 0); - } - else { - ppuVar6 = &PTR_PTR_DAT_8002ac30; - uStack20 = 1; - uStack24 = 1; - } - } - } - loc_7F0254CC(uVar5,ppuVar6,uVar7,&uStack24,uParm2,uParm3,1); - return; -} - - - -void FUN_7f025708(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - uint uVar4; - undefined4 uVar5; - undefined **ppuVar6; - ulonglong uVar7; - uint uStack24; - uint uStack20; - uint uStack12; - undefined4 uStack8; - int iStack4; - - uVar5 = (undefined4)uParm1; - iStack4 = something_with_weaponpos_of_guarddata_hand(uParm1,1); - lVar2 = something_with_weaponpos_of_guarddata_hand(uVar5,0); - uStack24 = DAT_8002bf10; - uStack20 = DAT_8002bf14; - if ((iStack4 == 0) || (lVar2 == 0)) { - uStack8 = (undefined4)lVar2; - lVar2 = FUN_7f0238f0(); - if ((lVar2 == 0) && (lVar2 = FUN_7f0238f0(uStack8), lVar2 == 0)) { - ppuVar6 = &PTR_PTR_DAT_8002aec0; - bVar1 = iStack4 != 0; - uVar7 = (ulonglong)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - else { - ppuVar6 = &PTR_PTR_DAT_8002b228; - bVar1 = iStack4 != 0; - uVar7 = (ulonglong)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - } - else { - iVar3 = loc_7F02307C(uVar5,1); - lVar2 = loc_7F02307C(uVar5,0); - bVar1 = lVar2 == 0; - uVar7 = (ulonglong)bVar1; - ppuVar6 = &PTR_PTR_DAT_8002b228; - if ((iVar3 == 0) || (lVar2 == 0)) { - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - else { - uStack12 = FUN_700098b0(); - uStack12 &= 1; - uVar4 = FUN_700098b0(); - uVar7 = SEXT48((int)uStack12); - if (uVar4 % 3 == 0) { - ppuVar6 = &PTR_PTR_DAT_8002b228; - uStack20 = uStack12; - uStack24 = (uint)(uVar7 == 0); - } - else { - ppuVar6 = &PTR_PTR_DAT_8002b548; - uStack20 = 1; - uStack24 = 1; - } - } - } - loc_7F0254CC(uVar5,ppuVar6,uVar7,&uStack24,uParm2,uParm3,0); - return; -} - - - -void loc_7F025B9C(int iParm1,longlong lParm2) - -{ - char cVar1; - float fVar2; - float fVar3; - longlong lVar4; - longlong lVar5; - longlong lVar6; - int iVar7; - uint uVar8; - int iVar9; - int iVar10; - int *piVar11; - int iStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - uint uStack16; - undefined4 *puStack4; - - lVar4 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar5 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - uStack24 = DAT_8002bf18; - uStack20 = DAT_8002bf1c; - uStack28 = DAT_8002bf24; - uStack32 = DAT_8002bf20; - uStack36 = DAT_8002bf2c; - iStack40 = DAT_8002bf28; - if ((lVar4 == 0) || (lVar5 == 0)) { - lVar6 = FUN_7f0238f0(lVar4); - if ((lVar6 == 0) && (lVar5 = FUN_7f0238f0(lVar5), lVar5 == 0)) { - uStack16 = (uint)(lVar4 != 0); - if (lParm2 == 0) { - puStack4 = (undefined4 *)&DAT_8002bbb0; - } - else { - puStack4 = (undefined4 *)&DAT_8002bbf8; - } - if (lVar4 != 0) { - uStack20 = 1; - } - else { - uStack24 = 1; - } - } - else { - uStack16 = (uint)(lVar4 != 0); - if (lParm2 == 0) { - puStack4 = (undefined4 *)&DAT_8002bc40; - } - else { - puStack4 = &DAT_8002bc88; - } - if (lVar4 != 0) { - uStack20 = 1; - } - else { - uStack24 = 1; - } - } - } - else { - lVar4 = loc_7F02307C(iParm1,1); - lVar5 = loc_7F02307C(iParm1,0); - uVar8 = 0; - if ((lVar4 == 0) || (lVar5 == 0)) { - uStack16 = (uint)(lVar5 == 0); - } - else { - uStack16 = FUN_700098b0(); - uStack16 &= 1; - uVar8 = FUN_700098b0(); - uVar8 %= 3; - } - if (uVar8 == 0) { - if (lParm2 == 0) { - puStack4 = (undefined4 *)&DAT_8002bc40; - } - else { - puStack4 = &DAT_8002bc88; - } - if (uStack16 == 0) { - uStack24 = 1; - } - else { - uStack20 = 1; - } - } - else { - if (uVar8 == 1) { - if (lParm2 == 0) { - puStack4 = (undefined4 *)&DAT_8002bcd0; - } - else { - puStack4 = (undefined4 *)&DAT_8002bd18; - } - uStack20 = 1; - uStack24 = 1; - } - else { - if (lParm2 == 0) { - puStack4 = (undefined4 *)&DAT_8002bd60; - } - else { - puStack4 = (undefined4 *)&DAT_8002bda8; - } - uStack20 = 1; - uStack24 = 1; - } - } - } - iVar9 = 0; - iVar10 = 0; - piVar11 = &iStack40 + 4; - do { - if (*piVar11 != 0) { - iVar7 = something_with_weaponpos_of_guarddata_hand(iParm1,iVar9); - iVar7 = *(int *)(iVar7 + 4); - lVar4 = FUN_7f05e484(*(undefined *)(iVar7 + 0x80)); - if (lVar4 < 0) { - *(undefined4 *)((int)&iStack40 + iVar10 + 8) = 1; - } - cVar1 = *(char *)(iVar7 + 0x80); - if ((cVar1 == '\x19') || (cVar1 == '\x18')) { - *(undefined4 *)((int)&iStack40 + iVar10) = 1; - } - } - iVar9 += 1; - iVar10 += 4; - piVar11 = piVar11 + 1; - } while (iVar9 != 2); - *(undefined *)(iParm1 + 7) = 9; - *(undefined4 *)(iParm1 + 0x30) = 0; - uVar8 = FUN_700098b0(); - fVar3 = DAT_80047ef0; - fVar2 = DAT_8002839c; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(int *)(iParm1 + 0x34) = uVar8 % (int)(fVar3 * fVar2) + 100; - if ((int)(fVar3 * fVar2) == 0) { - trap(0x1c00); - } - *(undefined4 *)(iParm1 + 0x40) = 0; - *(undefined4 **)(iParm1 + 0x3c) = puStack4; - uVar8 = FUN_700098b0(); - *(uint *)(iParm1 + 0x44) = uVar8 & 1; - *(undefined *)(iParm1 + 0x49) = (char)uStack20; - *(undefined *)(iParm1 + 0x48) = (char)uStack24; - *(undefined *)(iParm1 + 0x4b) = (char)uStack28; - *(undefined *)(iParm1 + 0x4a) = (char)uStack32; - *(undefined *)(iParm1 + 0x4d) = (char)uStack36; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x54) = 0; - *(undefined *)(iParm1 + 0x4c) = (char)iStack40; - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),*puStack4,uStack16,puStack4[4],0x3f000000,0x41800000); - return; -} - - - -void loc_7F026118(int iParm1,int iParm2) - -{ - bool bVar1; - longlong lVar2; - longlong lVar3; - uint uVar6; - longlong lVar4; - ulonglong uVar5; - int iVar7; - char cVar8; - byte bVar9; - int iVar10; - uint *puVar11; - int iVar12; - undefined4 uVar13; - int iStack68; - int iStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - uint uStack44; - uint uStack40; - int iStack32; - int iStack24; - uint uStack20; - undefined4 *puStack8; - undefined4 uStack4; - - uStack4 = *(undefined4 *)(iParm1 + 0x1c); - lVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar3 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - iStack24 = 0; - uStack44 = DAT_8002bf30; - uStack40 = DAT_8002bf34; - uStack52 = 0; - uStack60 = DAT_8002bf38; - uStack56 = DAT_8002bf3c; - bVar1 = true; - iStack64 = DAT_8002bf44; - iStack68 = DAT_8002bf40; - if ((lVar2 == 0) || (lVar3 == 0)) { - lVar4 = FUN_7f0238f0(lVar2); - if ((lVar4 == 0) && (lVar3 = FUN_7f0238f0(lVar3), lVar3 == 0)) { - uStack40 = (uint)(lVar2 != 0); - uStack44 = (uint)(lVar2 == 0); - uStack20 = uStack40; - } - else { - uStack40 = (uint)(lVar2 != 0); - iStack24 = 1; - uStack44 = (uint)(lVar2 == 0); - uStack20 = uStack40; - } - } - else { - lVar2 = loc_7F02307C(iParm1,1); - lVar3 = loc_7F02307C(iParm1,0); - if ((lVar2 == 0) || (lVar3 == 0)) { - uStack40 = (uint)(lVar3 == 0); - iStack24 = 1; - uStack44 = (uint)(lVar3 != 0); - uStack20 = uStack40; - } - else { - uStack20 = FUN_700098b0(); - uStack20 &= 1; - iStack24 = 1; - uVar6 = FUN_700098b0(); - if (uVar6 % 3 == 0) { - uStack44 = (uint)(uStack20 == 0); - uStack40 = uStack20; - } - else { - uStack40 = 1; - uStack44 = 1; - } - } - } - if (((iParm2 == 0) || (uStack20 != 0)) && ((iParm2 != 0 || (uStack20 == 0)))) { - uVar5 = FUN_700098b0(); - if ((uVar5 & 1) == 0) { - puStack8 = (undefined4 *)&DAT_8002b6a0; - } - else { - puStack8 = &DAT_8002b610; - } - } - else { - uVar5 = FUN_700098b0(); - if ((uVar5 & 1) == 0) { - puStack8 = (undefined4 *)&DAT_8002b658; - } - else { - puStack8 = (undefined4 *)&DAT_8002b5c8; - } - } - iVar12 = 0; - iVar10 = 0; - puVar11 = &uStack44; - if (iStack24 != 0) { - puStack8 = puStack8 + 0x48; - } - do { - if (*puVar11 != 0) { - iVar7 = something_with_weaponpos_of_guarddata_hand(iParm1,iVar12); - iStack32 = *(int *)(iVar7 + 4); - lVar2 = FUN_7f05e484(*(undefined *)(iStack32 + 0x80)); - if (lVar2 < 0) { - *(undefined4 *)((int)&iStack68 + iVar10 + 8) = 1; - cVar8 = *(char *)(iStack32 + 0x80); - if (cVar8 == '\x16') goto LAB_7f025f04; - } - else { - uStack52 = 1; - cVar8 = *(char *)(iStack32 + 0x80); -LAB_7f025f04: - bVar1 = false; - } - if ((cVar8 == '\x19') || (cVar8 == '\x18')) { - *(undefined4 *)((int)&iStack68 + iVar10) = 1; - } - } - iVar12 += 1; - iVar10 += 4; - puVar11 = puVar11 + 1; - if (iVar12 == 2) { - *(undefined *)(iParm1 + 7) = 10; - *(undefined *)(iParm1 + 0x31) = 0; - *(undefined4 **)(iParm1 + 0x2c) = puStack8; - bVar9 = FUN_700098b0(); - *(byte *)(iParm1 + 0x32) = bVar9 & 1; - *(undefined *)(iParm1 + 0x39) = (char)uStack40; - *(undefined *)(iParm1 + 0x38) = (char)uStack44; - *(undefined *)(iParm1 + 0x3b) = (char)uStack56; - *(undefined *)(iParm1 + 0x3a) = (char)uStack60; - *(undefined *)(iParm1 + 0x3d) = (char)iStack64; - *(bool *)(iParm1 + 0x36) = bVar1; - *(undefined *)(iParm1 + 0x3c) = (char)iStack68; - *(undefined *)(iParm1 + 0x37) = (char)uStack52; - *(undefined4 *)(iParm1 + 0x40) = 0; - *(undefined *)(iParm1 + 0x33) = 0; - *(undefined *)(iParm1 + 0x30) = 1; - *(undefined *)(iParm1 + 0x35) = (char)iStack24; - if ((iStack64 == 0) && (iStack68 == 0)) { - bVar9 = FUN_700098b0(); - *(char *)(iParm1 + 0x34) = (bVar9 & 3) + 2; - if ((uStack44 != 0) && (uStack40 != 0)) { - bVar9 = FUN_700098b0(); - *(char *)(iParm1 + 0x34) = *(char *)(iParm1 + 0x34) + (bVar9 & 3) + '\x02'; - } - } - else { - if ((iStack64 == 0) || (iStack68 == 0)) { - *(undefined *)(iParm1 + 0x34) = 1; - } - else { - *(undefined *)(iParm1 + 0x34) = 2; - } - } - *(undefined4 *)(iParm1 + 0x4c) = 1; - *(undefined4 *)(iParm1 + 0x50) = 0; - *(undefined4 *)(iParm1 + 0x54) = 1; - *(undefined4 *)(iParm1 + 0x58) = 0; - *(undefined4 *)(iParm1 + 0x44) = 0; - *(undefined4 *)(iParm1 + 0x48) = 0; - *(undefined *)(iParm1 + 8) = 0; - uVar13 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(uStack4,*puStack8,uStack20,puStack8[4],uVar13,0x41800000); - if (iStack24 == 0) { - if (bVar1) { - if (0.00000000 <= (float)puStack8[9]) { - loc_7F06FE2C(uStack4,puStack8[9]); - } - else { - loc_7F06FE2C(uStack4,puStack8[7]); - } - } - else { - if (0.00000000 <= (float)puStack8[8]) { - loc_7F06FE2C(uStack4,puStack8[8]); - } - else { - if (0.00000000 <= (float)puStack8[5]) { - loc_7F06FE2C(uStack4,puStack8[5]); - } - } - } - } - return; - } - } while( true ); -} - - - -void locret_7F026244(float *pfParm1,float *pfParm2,float *pfParm3,float *pfParm4,float *param_5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar3 = *pfParm1; - fVar2 = *pfParm4; - fVar4 = pfParm2[2] - pfParm1[2]; - fVar1 = pfParm4[2] * (*pfParm2 - fVar3) - fVar4 * fVar2; - if (fVar1 == 0.00000000) { - if (fVar2 == 0.00000000) { - if (pfParm4[2] == 0.00000000) { - *param_5 = *pfParm3; - param_5[1] = pfParm3[1]; - param_5[2] = pfParm3[2]; - return; - } - *param_5 = fVar3; - } - else { - *param_5 = fVar3; - } - param_5[1] = pfParm1[1]; - param_5[2] = pfParm1[2]; - } - else { - fVar1 = (fVar4 * (*pfParm3 - fVar3) + (pfParm1[2] - pfParm3[2]) * (*pfParm2 - fVar3)) / fVar1; - *param_5 = fVar2 * fVar1 + *pfParm3; - param_5[1] = pfParm4[1] * fVar1 + pfParm3[1]; - param_5[2] = pfParm4[2] * fVar1 + pfParm3[2]; - } - return; -} - - - -void FUN_7f026264(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined auStack24 [12]; - undefined auStack12 [12]; - - FUN_7f0b1b70(auStack12,auStack24); - locret_7F026244(auStack12,auStack24,uParm1,uParm2,uParm3); - return; -} - - - -void FUN_7f0262b0(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - float fVar1; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - FUN_7f0b1b70(&fStack12,&fStack24); - fVar1 = (*pfParm2 * (fStack4 - pfParm1[2]) - pfParm2[2] * (fStack12 - *pfParm1)) / - (pfParm2[2] * (fStack24 - fStack12) - (fStack16 - fStack4) * *pfParm2); - *pfParm3 = (fStack24 - fStack12) * fVar1 + fStack12; - pfParm3[1] = (fStack20 - fStack8) * fVar1 + fStack8; - pfParm3[2] = (fStack16 - fStack4) * fVar1 + fStack4; - return; -} - - - -float loc_7F026488(int iParm1,undefined4 uParm2,float fParm3,undefined4 uParm4,undefined4 uParm5, - undefined4 uParm6) - -{ - longlong lVar1; - float afStack44 [2]; - float fStack36; - float fStack32; - undefined4 uStack28; - undefined4 uStack24; - float fStack20; - float fStack16; - float fStack12; - undefined4 uStack8; - float fStack4; - - uStack24 = *(undefined4 *)(iParm1 + 0x14); - uStack28 = *(undefined4 *)(iParm1 + 4); - fStack12 = (float)func_7F057FC4(uParm2); - uStack8 = 0; - fStack4 = (float)func_7F057FC4(uParm2); - fStack16 = fStack12 * fParm3 + *(float *)(iParm1 + 8); - fStack20 = fStack4 * fParm3 + *(float *)(iParm1 + 0x10); - loc_7F01F604(uStack28,0); - FUN_7f0b0f84(); - lVar1 = loc_7F0B13B4(&uStack24,*(undefined4 *)(iParm1 + 8),*(undefined4 *)(iParm1 + 0x10),fStack16 - ,fStack20,uParm4,uParm5,uParm6,0,0x3f800000); - if (lVar1 == 0) { - FUN_7f026264(iParm1 + 8,&fStack12,afStack44); - afStack44[0] = afStack44[0] - *(float *)(iParm1 + 8); - fStack36 = fStack36 - *(float *)(iParm1 + 0x10); - fParm3 = (float)sqrtf(afStack44[0] * afStack44[0] + fStack36 * fStack36); - } - fStack32 = fParm3; - loc_7F01F604(uStack28,1); - return fStack32; -} - - - -void FUN_7f0264c8(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined auStack12 [4]; - undefined4 uStack8; - undefined4 uStack4; - - sub_7F023160(uParm1,auStack12,&uStack4,&uStack8); - loc_7F026488((int)uParm1,uParm2,uParm3,0x1f,uStack4,uStack8); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F026F20(int iParm1,float *pfParm2,float fParm3,int iParm4,undefined4 uParm5) - -{ - char cVar1; - char *pcVar2; - undefined4 uVar3; - bool bVar4; - int unaff_10000728; - bool bVar5; - bool bVar6; - undefined4 *puVar9; - ulonglong uVar7; - int iVar10; - longlong lVar8; - uint uVar11; - int iVar12; - int iVar13; - int *piVar14; - undefined4 uVar15; - float fVar16; - float fVar17; - float fStack48; - int iStack24; - - pcVar2 = *(char **)(iParm1 + 0x18); - uVar3 = *(undefined4 *)(iParm1 + 0x1c); - bVar6 = false; - iStack24 = 0; - if (*pcVar2 == '\x06') { - lVar8 = FUN_7f0999a4(); - if (1 < lVar8) { - return; - } - cVar1 = *(char *)(iParm1 + 7); - } - else { - cVar1 = *(char *)(iParm1 + 7); - unaff_10000728 = iParm4; - } - bVar4 = cVar1 == '\x06'; - if (bVar4) { - bVar4 = DAT_80040ffc == *(int *)(iParm1 + 0x30); - } - iVar13 = 0; - iVar10 = iStack24; - if (DAT_80027e64 != -1) { - puVar9 = &DAT_80027e64; - iVar12 = DAT_80027e64; - do { - iVar10 = iVar13; - if (unaff_10000728 == iVar12) break; - iVar12 = puVar9[0xb]; - iVar13 += 1; - puVar9 = puVar9 + 0xb; - iVar10 = iStack24; - } while (iVar12 != -1); - } - iStack24 = iVar10; - if (*(float *)(iParm1 + 0xfc) < *(float *)(iParm1 + 0x100)) { - if (((unaff_10000728 == 7) && (DAT_80047f0c < fParm3)) && - ((fParm3 < DAT_80047f10 && (uVar11 = FUN_700098b0(), uVar11 % 5 < 2)))) { - uVar11 = FUN_700098b0(); - uVar11 %= 5; - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 6; - *(undefined4 *)(iParm1 + 0x2c) = 0; - iVar10 = DAT_80040ffc; - *(undefined *)(iParm1 + 8) = 0; - *(int *)(iParm1 + 0x30) = iVar10; - uVar7 = FUN_700098b0(); - iVar10 = _DAT_80058478; - if ((uVar7 & 1) == 0) { - iVar13 = _DAT_80058478 + 0x4f14; - uVar7 = FUN_700098b0(); - loc_7F06FC74(uVar3,iVar13,uVar7 & 1,0,0x3f000000,0x41800000,(uint)!bVar4); - if (uVar11 < 2) { - uVar15 = sub_7F023C54(iParm1,0x42140000,0x41000000); - loc_7F06FE2C(uVar3,uVar15); - } - else { - if (uVar11 < 4) { - uVar15 = sub_7F023C54(iParm1,0x428c0000,0x41000000); - loc_7F06FE2C(uVar3,uVar15); - } - else { - uVar15 = sub_7F023C54(iParm1,(float)((uint)*(ushort *)(iVar10 + 0x4f18) - 1),0x41000000) - ; - loc_7F06FE2C(uVar3,uVar15); - } - } - } - else { - iVar13 = _DAT_80058478 + 0x4ce0; - uVar7 = FUN_700098b0(); - loc_7F06FC74(uVar3,iVar13,uVar7 & 1,0x41200000,0x3f000000,0x41800000,(uint)!bVar4); - if (uVar11 < 2) { - uVar15 = sub_7F023C54(iParm1,0x42080000,0x41000000); - loc_7F06FE2C(uVar3,uVar15); - } - else { - if (uVar11 < 4) { - uVar15 = sub_7F023C54(iParm1,0x428e0000,0x41000000); - loc_7F06FE2C(uVar3,uVar15); - } - else { - uVar15 = sub_7F023C54(iParm1,(float)((uint)*(ushort *)(iVar10 + 0x4ce4) - 1),0x41000000) - ; - loc_7F06FE2C(uVar3,uVar15); - } - } - } - bVar6 = true; - } - if (((!bVar6) && (puVar9 = &DAT_80027e64 + iStack24 * 0xb, (&DAT_80027e88)[iStack24 * 0xb] != 0) - ) && (0 < (int)(&DAT_80027e8c)[iStack24 * 0xb])) { - bVar6 = true; - iVar10 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar8 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - if ((puVar9 == (undefined4 *)0x80027ff0) && (iVar10 != 0)) { - puVar9 = (undefined4 *)&DAT_8002801c; - } - else { - if ((puVar9 == (undefined4 *)0x80028074) && (lVar8 != 0)) { - puVar9 = (undefined4 *)&DAT_800280a0; - } - } - uVar11 = FUN_700098b0(); - if (puVar9[10] == 0) { - trap(0x1c00); - } - piVar14 = (int *)(puVar9[9] + (uVar11 % puVar9[10]) * 0x1c); - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 6; - *(undefined4 *)(iParm1 + 0x2c) = 0; - iVar10 = DAT_80040ffc; - *(undefined *)(iParm1 + 8) = 0; - *(int *)(iParm1 + 0x30) = iVar10; - loc_7F06FC74(uVar3,*piVar14,piVar14[1],0,piVar14[3],0x41800000,(uint)!bVar4); - if (0.00000000 <= (float)piVar14[2]) { - uVar15 = sub_7F023C54(iParm1,piVar14[2],0x41000000); - loc_7F06FE2C(uVar3,uVar15); - } - else { - uVar15 = sub_7F023C54(iParm1,(float)((uint)*(ushort *)(*piVar14 + 4) - 1),0x41000000); - loc_7F06FE2C(uVar3,uVar15); - } - } - bVar4 = false; - goto LAB_7f026eb8; - } - if ((fParm3 < DAT_80047ef4) || (DAT_80047ef8 < fParm3)) { - uVar11 = FUN_700098b0(); - if (uVar11 % 0x14 == 0) { - fVar16 = (float)FUN_7f06d228(uVar3); - fVar17 = fVar16 + DAT_80047f00 + DAT_80047f04; - fStack48 = (fVar16 + DAT_80047f00) - DAT_80047f08; - if (DAT_80047efc <= fVar17) { - fVar17 = fVar17 - DAT_80047efc; - } - if (DAT_80047efc <= fStack48) { - fStack48 = fStack48 - DAT_80047efc; - } - fVar16 = (float)FUN_7f0264c8(pcVar2,fVar17,0x43160000); - fVar17 = (float)FUN_7f0264c8(pcVar2,fStack48,0x43160000); - if (fVar16 < 150.00000000) { - if (fVar17 < 150.00000000) { - if (fVar16 - fVar17 < 10.00000000) { - if (-10.00000000 < fVar16 - fVar17) { - uVar11 = FUN_700098b0(); - uVar11 &= 1; - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 4; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(undefined4 *)(iParm1 + 0x30) = (&DAT_80029420)[uVar11 * 7]; - uVar15 = (&DAT_80029424)[uVar11 * 7]; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(undefined4 *)(iParm1 + 0x34) = uVar15; - loc_7F06FC74(uVar3,(&DAT_8002940c)[uVar11 * 7],(&DAT_80029410)[uVar11 * 7],0, - (&DAT_80029418)[uVar11 * 7],0x41800000,(uint)!bVar4); - if (0.00000000 <= (float)(&DAT_80029414)[uVar11 * 7]) { - loc_7F06FE2C(uVar3,(&DAT_80029414)[uVar11 * 7]); - } - *(undefined4 *)(iParm1 + 0x24) = 0x41200000; - bVar6 = true; - bVar5 = true; - } - else { - bVar5 = false; - } - } - else { - bVar5 = false; - } - } - else { - bVar5 = false; - } - } - else { - bVar5 = false; - } - } - else { - bVar5 = false; - } - } - else { - bVar5 = false; - } - if (((!bVar5) && ((&DAT_80027e80)[iStack24 * 0xb] != 0)) && - (0 < (int)(&DAT_80027e84)[iStack24 * 0xb])) { - bVar6 = true; - uVar11 = FUN_700098b0(); - if ((&DAT_80027e84)[iStack24 * 0xb] == 0) { - trap(0x1c00); - } - piVar14 = (int *)((&DAT_80027e80)[iStack24 * 0xb] + - (uVar11 % (&DAT_80027e84)[iStack24 * 0xb]) * 0x1c); - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 4; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(int *)(iParm1 + 0x30) = piVar14[5]; - iVar10 = piVar14[6]; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(int *)(iParm1 + 0x34) = iVar10; - loc_7F06FC74(uVar3,*piVar14,piVar14[1],0,piVar14[3],0x41800000,(uint)!bVar4); - if (_DAT_80058478 + 0x2e64 == *piVar14) { - uVar11 = FUN_700098b0(); - if (uVar11 % 100 == 0) { - fVar16 = (float)piVar14[2]; - goto LAB_7f026958; - } - loc_7F06FE2C(uVar3,0x43710000); - } - else { - fVar16 = (float)piVar14[2]; -LAB_7f026958: - if (0.00000000 <= fVar16) { - loc_7F06FE2C(uVar3,fVar16); - } - } - fVar16 = (float)FUN_7f05e460(uParm5); - if (fVar16 <= 0.00000000) { - if ((*(uint *)(iParm1 + 0x14) & 0x8000) == 0) { - iVar10 = piVar14[4]; - } - else { - fVar16 = 6.00000000; - iVar10 = piVar14[4]; - } - } - else { - iVar10 = piVar14[4]; - } - if ((iVar10 != 0) && (0.00000000 < fVar16)) { - *(undefined4 *)(iParm1 + 0x3c) = 0; - *(float *)(iParm1 + 0x38) = (fVar16 * 90.00000000) / 6.00000000; - *(float *)(iParm1 + 0x40) = *pfParm2 * fVar16; - *(float *)(iParm1 + 0x44) = pfParm2[1] * fVar16; - *(float *)(iParm1 + 0x48) = pfParm2[2] * fVar16; - } - } - loc_7F021B98(iParm1); - FUN_7f06af28(); - if (*(int *)(iParm1 + 0x14) << 0xb < 0) { - FUN_7f06af00(); - bVar4 = true; - } - else { - bVar4 = true; - } -LAB_7f026eb8: - if ((bVar4) && (bVar6)) { - iVar10 = *(int *)(iParm1 + 0x160); - if (iVar10 == 0) { - iVar10 = *(int *)(iParm1 + 0x164); - } - else { - if ((*(uint *)(*(int *)(iVar10 + 4) + 8) & 0x2000) == 0) { - FUN_7f04c1c4(iVar10,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - iVar10 = *(int *)(iParm1 + 0x164); - } - else { - iVar10 = *(int *)(iParm1 + 0x164); - } - } - if ((iVar10 != 0) && ((*(uint *)(*(int *)(iVar10 + 4) + 8) & 0x2000) == 0)) { - FUN_7f04c1c4(iVar10,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - } - return; -} - - - -undefined4 loc_7F027050(int iParm1,float *pfParm2) - -{ - undefined4 *puVar1; - undefined4 uVar2; - float fVar3; - float fVar4; - - if (*(char *)(iParm1 + 7) == '\n') { - if (*(char *)(iParm1 + 0x35) == '\0') { - fVar4 = *(float *)(*(int *)(iParm1 + 0x2c) + 4) - 8.00000000; - fVar3 = (float)sub_7F06F5BC(*(undefined4 *)(iParm1 + 0x1c)); - if (fVar4 <= fVar3) { - return 0; - } - *pfParm2 = fVar4; - } - else { - puVar1 = *(undefined4 **)(iParm1 + 0x2c); - if ((((puVar1 != &DAT_8002b6e8) && (puVar1 != (undefined4 *)0x8002b730)) && - (puVar1 != (undefined4 *)0x8002b778)) && (puVar1 != (undefined4 *)0x8002b7c0)) { - return 0; - } - fVar3 = (float)puVar1[5]; - if (fVar3 < (float)puVar1[1]) { - uVar2 = *(undefined4 *)(iParm1 + 0x1c); - } - else { - uVar2 = *(undefined4 *)(iParm1 + 0x1c); - fVar3 = (float)puVar1[1] - 8.00000000; - } - fVar4 = (float)sub_7F06F5BC(uVar2); - if (fVar3 <= fVar4) { - return 0; - } - *pfParm2 = fVar3; - } - } - else { - if (*(char *)(iParm1 + 7) != '\a') { - return 0; - } - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F027270(int iParm1) - -{ - int iVar3; - longlong lVar1; - undefined8 uVar2; - int iVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 uStack72; - undefined2 uStack68; - undefined4 auStack64 [14]; - int iStack8; - - iVar4 = 0; - if (**(char **)(iParm1 + 0x18) == '\x06') { - iStack8 = 0; - iVar3 = FUN_7f09a69c(*(char **)(iParm1 + 0x18)); - iVar4 = iStack8; - if (*(int *)(*(int *)(&DAT_800689f0 + iVar3 * 4) + 0xd8) != 0) { - return; - } - } - if (**(char **)(iParm1 + 0x18) == '\x06') { - iStack8 = iVar4; - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - iVar4 = iStack8; - if ((&DAT_80037a70)[(int)*(char *)(iParm1 + 0xf) * 0x14] != '\0') { - iVar4 = 1; - } - } - else { - uVar2 = FUN_7f09a69c(*(undefined4 *)(iParm1 + 0x18)); - lVar1 = FUN_7f0101fc(uVar2); - iVar4 = iStack8; - if (lVar1 != 0) { - iVar4 = 1; - } - } - } - else { - if ((&DAT_80037a70)[(int)*(char *)(iParm1 + 0xf) * 0x14] != '\0') { - iVar4 = 1; - } - } - if (iVar4 == 0) { - uStack72 = DAT_8002bf7c; - uStack68 = DAT_8002bf80; - uVar2 = FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&uStack72 + DAT_8002bf88 * 2),0); - DAT_8002bf88 += 1; - if (2 < DAT_8002bf88) { - DAT_8002bf88 = 0; - } - } - else { - puVar5 = &DAT_8002bf48; - puVar7 = auStack64; - do { - puVar6 = puVar5 + 3; - puVar8 = puVar7 + 3; - *puVar7 = *puVar5; - puVar7[1] = puVar5[1]; - puVar7[2] = puVar5[2]; - puVar5 = puVar6; - puVar7 = puVar8; - } while (puVar6 != (undefined4 *)0x8002bf78); - *(undefined2 *)puVar8 = uRam8002bf78; - uVar2 = FUN_70008268(_DAT_80056900,*(undefined2 *)((int)auStack64 + DAT_8002bf84 * 2),0); - DAT_8002bf84 += 1; - if (0x18 < DAT_8002bf84) { - DAT_8002bf84 = 0; - } - } - FUN_7f053cf0(uVar2,*(int *)(iParm1 + 0x18) + 8); - return; -} - - - -// WARNING: Instruction at (ram,0x7f027574) overlaps instruction at (ram,0x7f027570) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F0277F0(int iParm1,longlong lParm2,float *pfParm3,int iParm4,int iParm5) - -{ - char cVar1; - uint uVar4; - undefined8 uVar2; - longlong lVar3; - char *pcVar5; - float fVar6; - int iStackX4; - float fStack56; - undefined4 uStack52; - undefined4 uStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - undefined4 uStack20; - undefined2 uStack16; - int iStack8; - - iStackX4 = (int)lParm2; - iStack8 = *(int *)(iParm1 + 0x18); - if ((lParm2 == 0x6e) && (*(int *)(iParm1 + 0x1d8) != 0)) { - lVar3 = def_7F0526AC(); - if (lVar3 == 5) { - iStackX4 = 8; - } - else { - if (lVar3 == 3) { - uStack20 = DAT_8002bf8c; - uStack16 = DAT_8002bf90; - uVar4 = FUN_700098b0(); - uVar2 = FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&uStack20 + (uVar4 % 3) * 2),0); - FUN_7f053cf0(uVar2,*(int *)(iParm1 + 0x18) + 8); - } - else { - FUN_7f04c1c4(*(undefined4 *)(iParm1 + 0x1d8),4); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - } - } - if (iParm5 == 0) { - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 == 0) { -LAB_7f027400: - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 == 7) { -LAB_7f0273e8: - FUN_7f06aea0(iParm4,2); - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 == 8) { - FUN_7f06aea0(iParm4,1); - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 == 0xf) goto LAB_7f0273e8; - if (iStackX4 == 100) { - FUN_7f06aea0(iParm4,4); - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 != 0x6e) { - FUN_7f06aea0(iParm4,3); - goto LAB_7f027400; - } - FUN_7f06aea0(iParm4,5); - uVar4 = *(uint *)(iParm1 + 0x14); - } - } - } - } - } - *(char *)(iParm1 + 0xb) = *(char *)(iParm1 + 0xb) + '\x01'; - *(uint *)(iParm1 + 0x14) = uVar4 | 0x200000; - if ((uVar4 & 0x10) != 0) { - loc_7F020788(iParm1); - return 0; - } - if (*(char *)(iParm1 + 7) == '\x04') { - return 1; - } - if (*(char *)(iParm1 + 7) == '\x05') { - return 1; - } - fStack44 = (float)FUN_7f05e43c(iParm4); - if ((iParm5 != 0) && (lVar3 = FUN_7f0999a4(), lVar3 == 1)) { - fStack44 = fStack44 * DAT_80028398; - } - fStack36 = *(float *)(iStack8 + 8) - *pfParm3; - fStack32 = *(float *)(iStack8 + 0xc) - pfParm3[1]; - fStack28 = *(float *)(iStack8 + 0x10) - pfParm3[2]; - fStack40 = (float)FUN_7f032c1c(iParm1,&fStack36); - if (iStackX4 == 200) { - iStackX4 = 0xf; - fVar6 = fStack44 * 0.50000000; - } - else { - fVar6 = fStack44; - if (iStackX4 == 0xc9) { - iStackX4 = 0xf; - fVar6 = fStack44 * 0.25000000; - } - } - if (((((iParm4 == 1) && (cVar1 = *(char *)(iParm1 + 7), cVar1 != '\x01')) && (cVar1 != '\x0e')) && - ((cVar1 != '\x10' && (cVar1 != '\x03')))) && - ((cVar1 != '\x0f' || (*(char *)(iParm1 + 0x59) != '\0')))) { - if ((fStack40 < DAT_80047f14) || (DAT_80047f18 < fStack40)) { - fVar6 = fVar6 * 0.12500000; - } - else { - if ((fStack40 < DAT_80047f1c) || (DAT_80047f20 < fStack40)) { - fVar6 = fVar6 * 0.25000000; - } - else { - fVar6 = fVar6 * 0.50000000; - } - } - } - if (iStackX4 == 8) { - fVar6 = fVar6 * 4.00000000; - pcVar5 = *(char **)(iParm1 + 0x18); - goto LAB_7f02767c; - } - if (iStackX4 == 0xf) { - fVar6 = fVar6 + fVar6; - } - else { - if (iStackX4 == 100) { - fVar6 = 0.00000000; - pcVar5 = *(char **)(iParm1 + 0x18); - goto LAB_7f02767c; - } - if (iStackX4 != 0x6e) { - pcVar5 = *(char **)(iParm1 + 0x18); - goto LAB_7f02767c; - } - fVar6 = 0.00000000; - } - pcVar5 = *(char **)(iParm1 + 0x18); -LAB_7f02767c: - if (*pcVar5 == '\x06') { - fStack44 = fVar6; - uStack48 = FUN_7f09a690(); - uVar2 = FUN_7f09a69c(*(undefined4 *)(iParm1 + 0x18)); - FUN_7f09a64c(uVar2); - FUN_7f089a84(fStack44 * 0.12500000,*pfParm3); - FUN_7f09a64c(uStack48); - } - else { - *(uint *)(iParm1 + 0x14) = *(uint *)(iParm1 + 0x14) | 0x100; - *(float *)(iParm1 + 0xfc) = *(float *)(iParm1 + 0xfc) + fVar6; - if (*(float *)(iParm1 + 0xfc) < 0.00000000) { - uStack52 = 0xbf800000; - lVar3 = loc_7F027050(iParm1,&uStack52); - if (lVar3 == 0) { - loc_7F020788(iParm1); - return 0; - } - } - } - if (iStackX4 != 0x6e) { - fStack56 = -1.00000000; - loc_7F027270(iParm1); - lVar3 = loc_7F027050(iParm1,&fStack56); - if (lVar3 == 0) { - loc_7F026F20(iParm1,pfParm3,fStack40,iStackX4,iParm4); - } - else { - if (0.00000000 <= fStack56) { - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c),fStack56); - } - *(undefined *)(iParm1 + 7) = 7; - *(float *)(iParm1 + 0x2c) = *pfParm3; - *(float *)(iParm1 + 0x30) = pfParm3[1]; - *(float *)(iParm1 + 0x34) = pfParm3[2]; - *(float *)(iParm1 + 0x38) = fStack40; - *(int *)(iParm1 + 0x3c) = iStackX4; - *(undefined *)(iParm1 + 8) = 0; - *(int *)(iParm1 + 0x40) = iParm4; - } - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F027BE0(int iParm1,float *pfParm2,float fParm3,int iParm4) - -{ - undefined4 uVar1; - undefined8 uVar2; - uint uVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - int iVar8; - float fVar9; - float fVar10; - float fStack36; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - iVar8 = *(int *)(iParm1 + 0x18); - if ((*(char *)(iParm1 + 7) == '\x05') || (*(char *)(iParm1 + 7) == '\x04')) { - uVar2 = 0; - } - else { - uVar3 = *(uint *)(iParm1 + 0x14); - *(uint *)(iParm1 + 0x14) = uVar3 | 0x200000; - if ((uVar3 & 0x10) == 0) { - *(char *)(iParm1 + 0xb) = *(char *)(iParm1 + 0xb) + '\x01'; - *(uint *)(iParm1 + 0x14) = uVar3 | 0x200100; - *(float *)(iParm1 + 0xfc) = *(float *)(iParm1 + 0xfc) + fParm3; - if (*(float *)(iParm1 + 0xfc) <= 0.00000000) { - uVar2 = 0; - } - else { - *(undefined4 *)(iParm1 + 0xfc) = *(undefined4 *)(iParm1 + 0x100); - fVar4 = (float)FUN_7f06d228(uVar1); - fVar5 = (float)convert_angle_using_inverse - (*(float *)(iVar8 + 8) - *pfParm2, - *(float *)(iVar8 + 0x10) - pfParm2[2]); - fVar7 = *(float *)(iVar8 + 8) - *pfParm2; - fVar9 = *(float *)(iVar8 + 0xc) - pfParm2[1]; - fStack36 = *(float *)(iVar8 + 0x10) - pfParm2[2]; - if (((fVar7 == 0.00000000) && (fVar9 == 0.00000000)) && (fStack36 == 0.00000000)) { - fStack36 = 1.00000000; - } - fVar6 = (float)sqrtf(fStack36 * fStack36 + fVar7 * fVar7 + fVar9 * fVar9); - fVar6 = (fParm3 * 5.00000000) / fVar6; - fVar10 = fVar5 - fVar4; - *(float *)(iParm1 + 0xb0) = fVar7 * fVar6; - *(float *)(iParm1 + 0xb4) = fVar9 * fVar6; - *(float *)(iParm1 + 0xb8) = fStack36 * fVar6; - if (fVar5 < fVar4) { - fVar10 = fVar10 + DAT_80047f24; - } - iVar8 = (int)((fVar10 * 8.00000000) / DAT_80047f28 + 0.50000000); - if (7 < iVar8) { - iVar8 = 0; - } - uVar3 = FUN_700098b0(); - if (*(uint *)(&DAT_80029eb4 + iVar8 * 8) == 0) { - trap(0x1c00); - } - iVar8 = (int)(char)(&PTR_DAT_80029eb0)[iVar8 * 2] - [uVar3 % *(uint *)(&DAT_80029eb4 + iVar8 * 8)]; - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 4; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(undefined4 *)(iParm1 + 0x30) = (&DAT_80029bac)[iVar8 * 7]; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x34) = 0xbf800000; - *(undefined4 *)(iParm1 + 0x38) = 0; - FUN_7f06fe48(uVar1,(&DAT_80029b98)[iVar8 * 7] + _DAT_80058478,(&DAT_80029b9c)[iVar8 * 7], - (&DAT_80029ba4)[iVar8 * 7],(&DAT_80029ba0)[iVar8 * 7],0x41000000); - if (0.00000000 <= (float)(&DAT_80029bb0)[iVar8 * 7]) { - loc_7F06FE2C(uVar1,(&DAT_80029bb0)[iVar8 * 7]); - } - if (iParm4 != 0) { - loc_7F027270(iParm1); - } - loc_7F021B98(iParm1); - FUN_7f06af28(); - if (*(int *)(iParm1 + 0x14) << 0xb < 0) { - FUN_7f06af00(); - iVar8 = *(int *)(iParm1 + 0x160); - } - else { - iVar8 = *(int *)(iParm1 + 0x160); - } - if (iVar8 == 0) { - iVar8 = *(int *)(iParm1 + 0x164); - } - else { - if ((*(uint *)(*(int *)(iVar8 + 4) + 8) & 0x2000) == 0) { - FUN_7f04c1c4(iVar8,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - iVar8 = *(int *)(iParm1 + 0x164); - } - else { - iVar8 = *(int *)(iParm1 + 0x164); - } - } - if ((iVar8 != 0) && ((*(uint *)(*(int *)(iVar8 + 4) + 8) & 0x2000) == 0)) { - FUN_7f04c1c4(iVar8,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - uVar2 = 1; - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f027c0c(int iParm1) - -{ - int *piVar1; - int iVar2; - - if ((_DAT_80064c40 != NULL) && (-1 < *_DAT_80064c40)) { - iVar2 = *_DAT_80064c40; - piVar1 = _DAT_80064c40; - do { - if (iParm1 == *(int *)(iVar2 * 0x2c + _DAT_80064c58 + 0x28)) { - return piVar1; - } - iVar2 = piVar1[4]; - piVar1 = piVar1 + 4; - } while (-1 < iVar2); - } - return (int *)0; -} - - - -ulonglong FUN_7f027c78(void) - -{ - longlong lVar1; - - lVar1 = FUN_7f027c0c(); - return (ulonglong)(lVar1 != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f027c9c(float *pfParm1,int *piParm2) - -{ - float *pfVar1; - float fVar2; - float fVar3; - - pfVar1 = (float *)(*piParm2 * 0x2c + _DAT_80064c58); - fVar2 = *pfVar1 - *pfParm1; - fVar3 = pfVar1[2] - pfParm1[2]; - return fVar2 * fVar2 + fVar3 * fVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F027D8C(undefined8 uParm1,undefined8 uParm2) - -{ - longlong lVar1; - int iVar2; - int iVar3; - int iVar4; - int *piVar5; - float fVar6; - float fVar7; - - iVar2 = 0; - lVar1 = loc_7F0B2880(uParm2,FUN_7f027c78); - if ((lVar1 != 0) && (iVar2 = FUN_7f027c0c(lVar1), iVar2 != 0)) { - fVar6 = (float)FUN_7f027c9c(uParm1,iVar2); - piVar5 = *(int **)(iVar2 + 4); - iVar3 = *piVar5; - while (-1 < iVar3) { - iVar4 = iVar3 * 0x10 + _DAT_80064c40; - fVar7 = (float)FUN_7f027c9c(uParm1,iVar4); - if (fVar7 < fVar6) { - iVar3 = piVar5[1]; - } - else { - iVar3 = piVar5[1]; - iVar4 = iVar2; - } - piVar5 = piVar5 + 1; - iVar2 = iVar4; - } - } - return iVar2; -} - - - -undefined8 loc_7F027E58(int iParm1,undefined4 *puParm2,undefined4 uParm3) - -{ - int iVar3; - longlong lVar1; - undefined8 uVar2; - int iVar4; - undefined4 *puVar5; - undefined4 auStackX8 [2]; - undefined4 auStack80 [20]; - - iVar3 = *(int *)(iParm1 + 0x18); - auStackX8[0] = uParm3; - iVar3 = loc_7F0B0E10(*(undefined4 *)(iVar3 + 0x14),*(undefined4 *)(iVar3 + 8), - *(undefined4 *)(iVar3 + 0x10),auStackX8,*puParm2,puParm2[2],auStack80,0x14); - if ((iVar3 < 1) || (0x13 < iVar3)) { - uVar2 = 0; - } - else { - iVar4 = 0; - if (iVar3 < 1) { - uVar2 = 1; - } - else { - puVar5 = auStack80; - do { - lVar1 = FUN_7f0b518c(*puVar5); - iVar4 += 1; - if (lVar1 != 0) { - return 0; - } - puVar5 = puVar5 + 1; - } while (iVar4 != iVar3); - uVar2 = 1; - } - } - return uVar2; -} - - - -void FUN_7f027e88(undefined8 uParm1,int iParm2) - -{ - loc_7F027E58(uParm1,iParm2,*(undefined4 *)(iParm2 + 0x28)); - return; -} - - - -void sub_7F027E90(int iParm1,undefined *puParm2,float *pfParm3) - -{ - undefined4 uVar1; - undefined4 uVar2; - float fVar3; - float fVar4; - - fVar3 = *pfParm3 - *(float *)(*(int *)(iParm1 + 0x18) + 8); - fVar4 = pfParm3[2] - *(float *)(*(int *)(iParm1 + 0x18) + 0x10); - uVar1 = convert_angle_using_inverse(); - *puParm2 = 6; - *(undefined4 *)(puParm2 + 0x38) = 0; - uVar2 = sqrtf(fVar3 * fVar3 + fVar4 * fVar4); - *(undefined4 *)(puParm2 + 0x3c) = uVar2; - FUN_7f06d274(*(undefined4 *)(iParm1 + 0x1c),uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f027f38(int iParm1,undefined4 *puParm2,undefined4 *puParm3) - -{ - int *piVar1; - undefined4 *puVar2; - - piVar1 = *(int **)(iParm1 + (uint)*(byte *)(iParm1 + 0x58) * 4 + 0x40); - if (piVar1 == NULL) { - *puParm2 = *(undefined4 *)(iParm1 + 0x2c); - puParm2[1] = *(undefined4 *)(iParm1 + 0x30); - puParm2[2] = *(undefined4 *)(iParm1 + 0x34); - *puParm3 = *(undefined4 *)(iParm1 + 0x38); - return; - } - puVar2 = (undefined4 *)(*piVar1 * 0x2c + _DAT_80064c58); - *puParm2 = *puVar2; - puParm2[1] = puVar2[1]; - puParm2[2] = puVar2[2]; - *puParm3 = puVar2[10]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f027fc0(int iParm1) - -{ - float fVar1; - int iVar2; - float fVar3; - - fVar1 = DAT_8002bed4; - iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)); - fVar3 = DAT_8002bedc; - if (((((iVar2 != _DAT_80058478 + 0x4070) && - (iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), fVar3 = DAT_8002bed8, - iVar2 != _DAT_80058478 + 0x40d4)) && - (iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), fVar3 = DAT_8002bee8, - iVar2 != _DAT_80058478 + 0x77d4)) && - ((iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), fVar3 = DAT_8002bee4, - iVar2 != _DAT_80058478 + 0x777c && - (iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), fVar3 = DAT_8002bee0, - iVar2 != _DAT_80058478 + 0x8204)))) && - ((iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), fVar3 = DAT_8002bef4, - iVar2 != _DAT_80058478 + 0x77d4 && - ((iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), fVar3 = DAT_8002bef0, - iVar2 != _DAT_80058478 + 0x8520 && - (iVar2 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), fVar3 = fVar1, - iVar2 == _DAT_80058478 + 0x84c4)))))) { - fVar3 = DAT_8002beec; - } - return *(float *)(*(int *)(iParm1 + 0x1c) + 0x14) * fVar3 * DAT_80047f2c; -} - - - -int FUN_7f02815c(int iParm1) - -{ - float fVar1; - float fVar2; - undefined auStack28 [4]; - float afStack24 [2]; - float fStack16; - float fStack8; - float fStack4; - - fVar1 = (float)locret_7F06F638(*(undefined4 *)(iParm1 + 0x1c)); - FUN_7f027f38(iParm1,afStack24,auStack28); - fStack4 = afStack24[0] - *(float *)(*(int *)(iParm1 + 0x18) + 8); - fStack8 = fStack16 - *(float *)(*(int *)(iParm1 + 0x18) + 0x10); - if (fStack4 < 0.00000000) { - fStack4 = -fStack4; - } - if (fStack8 < 0.00000000) { - fStack8 = -fStack8; - } - fVar2 = (float)FUN_7f027fc0(); - return (int)((fStack4 + fStack8) / (fVar2 * fVar1)); -} - - - -void sub_7F0281F4(int iParm1) - -{ - *(undefined2 *)(iParm1 + 0x5a) = 0; - return; -} - - - -void FUN_7f028214(int iParm1) - -{ - ushort uVar1; - int iVar2; - undefined2 uVar3; - - if (*(char *)(iParm1 + 0x5c) != '\x06') { - uVar1 = *(ushort *)(iParm1 + 0x5a); - if (uVar1 == 0) { - iVar2 = FUN_7f02815c(); - iVar2 = (iVar2 * 100 + 15000) / 0x3c; - uVar3 = (undefined2)iVar2; - if (0xffff < iVar2) { - uVar3 = 0xffff; - } - *(undefined2 *)(iParm1 + 0x5a) = uVar3; - } - else { - if (DAT_80040ff4._2_2_ < uVar1) { - *(short *)(iParm1 + 0x5a) = uVar1 - DAT_80040ff4._2_2_; - } - else { - loc_7F028F98(iParm1,iParm1 + 0x2c,*(undefined4 *)(iParm1 + 0x38), - (ulonglong)*(byte *)(iParm1 + 0x59)); - } - } - } - return; -} - - - -void FUN_7f0282c0(int iParm1) - -{ - undefined auStack16 [4]; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - FUN_7f027f38(iParm1,&uStack12,auStack16); - *(undefined *)(iParm1 + 0x5c) = 0; - *(undefined *)(iParm1 + 0x5d) = 0; - *(undefined *)(iParm1 + 0x5e) = 0; - *(undefined4 *)(iParm1 + 0x60) = uStack12; - *(undefined4 *)(iParm1 + 100) = uStack8; - *(undefined4 *)(iParm1 + 0x68) = uStack4; - sub_7F0281F4(); - return; -} - - - -void loc_7F02832C(int iParm1) - -{ - byte bVar1; - undefined4 uVar2; - - bVar1 = *(byte *)(iParm1 + 0x58); - if (bVar1 < 3) { - *(char *)(iParm1 + 0x58) = bVar1 + 1; - } - else { - uVar2 = *(undefined4 *)(iParm1 + (uint)bVar1 * 4 + 0x40); - *(undefined *)(iParm1 + 0x58) = 1; - FUN_7f08fa50(uVar2,*(undefined4 *)(iParm1 + 0x3c),iParm1 + 0x40,6); - } - FUN_7f0282c0(iParm1); - return; -} - - - -int locret_7F0283F4(int iParm1,int *piParm2,int iParm3) - -{ - int iVar1; - int iVar2; - ulonglong uVar3; - - iVar2 = *(int *)(iParm1 + 0x30); - uVar3 = SEXT48(*piParm2); - if (iParm3 < 0) { - uVar3 = (ulonglong)(uVar3 == 0); - iParm3 = -iParm3; - } - if (iParm3 < 1) { - *piParm2 = (int)uVar3; - } - else { - do { - iParm3 += -1; - if (uVar3 == 0) { - iVar1 = iVar2 + -1; - if (iVar2 + -1 < 0) { - if ((*(byte *)(*(int *)(iParm1 + 0x2c) + 5) & 1) == 0) { - uVar3 = 1; - iVar1 = 1; - } - else { - iVar1 = (uint)*(ushort *)(*(int *)(iParm1 + 0x2c) + 6) - 1; - } - } - } - else { - iVar1 = iVar2 + 1; - if (*(int *)(**(int **)(iParm1 + 0x2c) + (iVar2 + 1) * 4) < 0) { - if ((*(byte *)((int)*(int **)(iParm1 + 0x2c) + 5) & 1) == 0) { - uVar3 = 0; - iVar1 = iVar2 + -1; - } - else { - iVar1 = 0; - } - } - } - iVar2 = iVar1; - } while (0 < iParm3); - *piParm2 = (int)uVar3; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f028430(int iParm1,undefined8 uParm2) - -{ - int iVar1; - undefined4 auStack8 [2]; - - auStack8[0] = *(undefined4 *)(iParm1 + 0x34); - iVar1 = locret_7F0283F4(iParm1,auStack8,uParm2); - return *(int *)(*(int *)(**(int **)(iParm1 + 0x2c) + iVar1 * 4) * 0x10 + _DAT_80064c40) * 0x2c + - _DAT_80064c58; -} - - - -void FUN_7f0284a8(undefined8 uParm1) - -{ - FUN_7f028430(uParm1,0); - return; -} - - - -void FUN_7f0284c8(int iParm1) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)FUN_7f0284a8(); - *(undefined *)(iParm1 + 0x38) = 0; - *(undefined *)(iParm1 + 0x39) = 0; - *(undefined *)(iParm1 + 0x3a) = 0; - *(undefined4 *)(iParm1 + 0x3c) = *puVar1; - *(undefined4 *)(iParm1 + 0x40) = puVar1[1]; - *(undefined4 *)(iParm1 + 0x44) = puVar1[2]; - return; -} - - - -void FUN_7f028510(int iParm1) - -{ - undefined4 uVar1; - - uVar1 = locret_7F0283F4(iParm1,iParm1 + 0x34,1); - *(undefined4 *)(iParm1 + 0x30) = uVar1; - FUN_7f0284c8(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F0285D8(undefined8 uParm1,int iParm2) - -{ - longlong lVar1; - char *pcVar2; - short *psVar3; - int iStack48; - undefined4 auStack44 [3]; - uint uStack32; - undefined4 uStack28; - - uStack28 = 0xffffffff; - uStack32 = (uint)*(byte *)(iParm2 + 3); - FUN_7f03e4bc(&uStack32); - lVar1 = (longlong)*_DAT_80058b70; - psVar3 = _DAT_80058b70; - do { - if (lVar1 < 0) { - return 1; - } - pcVar2 = (char *)((int)lVar1 * 0x34 + -0x7ffa7488); - if (*pcVar2 == '\x01') { - FUN_7f03cd70(pcVar2,auStack44,&iStack48); - if (iStack48 < 1) { - lVar1 = (longlong)psVar3[1]; - } - else { - lVar1 = loc_7F03CF7C(uParm1,auStack44[0]); - if (lVar1 != 0) { - return 0; - } - lVar1 = (longlong)psVar3[1]; - } - } - else { - lVar1 = (longlong)psVar3[1]; - } - psVar3 = psVar3 + 1; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f028634(int iParm1,int iParm2,float fParm3,undefined4 *puParm4,undefined4 uParm5) - -{ - byte bVar1; - longlong lVar2; - undefined8 uVar3; - float *pfVar4; - float fVar5; - undefined4 uVar6; - undefined auStack44 [4]; - undefined auStack40 [36]; - int iStack4; - - *(undefined *)(iParm1 + 9) = 0; - *(undefined4 *)(iParm1 + 0xcc) = DAT_80040ffc; - fVar5 = (float)locret_7F06F638(*(undefined4 *)(iParm1 + 0x1c)); - *(float *)(iParm2 + 0x38) = *(float *)(iParm2 + 0x38) + fParm3 * fVar5 * DAT_80041004; - if (*(float *)(iParm2 + 0x3c) <= *(float *)(iParm2 + 0x38)) { - loc_7F01F604(iParm1,0); - lVar2 = loc_7F0B1C80(&uParm5,*puParm4,puParm4[2],*(undefined4 *)(iParm1 + 0x24),0x1f,0, - 0x3f800000); - if ((lVar2 < 0) && (lVar2 = loc_7F0285D8(puParm4,uParm5), lVar2 != 0)) { - iStack4 = *(int *)(iParm1 + 0x18); - *(undefined4 *)(iStack4 + 0x14) = uParm5; - *(undefined4 *)(iStack4 + 8) = *puParm4; - *(undefined4 *)(iStack4 + 0xc) = puParm4[1]; - *(undefined4 *)(iStack4 + 0x10) = puParm4[2]; - *(uint *)(iParm1 + 0x14) = *(uint *)(iParm1 + 0x14) | 1; - FUN_7f06d200(*(undefined4 *)(iParm1 + 0x1c),puParm4); - loc_7F01FFB0(*(undefined4 *)(iParm1 + 0x1c),iStack4 + 8,iStack4 + 8,iParm1 + 0xac); - sub_7F020D94(iParm1); - if (*(char *)(iParm1 + 7) == '\x0e') { - FUN_7f028510(iParm1); - uVar3 = FUN_7f0284a8(iParm1); - sub_7F027E90(iParm1,iParm2,uVar3); - } - else { - if (*(char *)(iParm1 + 7) == '\x0f') { - bVar1 = *(byte *)(iParm1 + 0x58); - if (*(int *)(iParm1 + (uint)bVar1 * 4 + 0x40) == 0) { - if (bVar1 != 0) { - pfVar4 = (float *)(**(int **)(iParm1 + (uint)bVar1 * 4 + 0x3c) * 0x2c + _DAT_80064c58) - ; - uVar6 = convert_angle_using_inverse - (*(float *)(iStack4 + 8) - *pfVar4, - *(float *)(iStack4 + 0x10) - pfVar4[2]); - FUN_7f06d274(*(undefined4 *)(iParm1 + 0x1c),uVar6); - } - FUN_7f023e30(iParm1); - } - else { - loc_7F02832C(iParm1); - FUN_7f027f38(iParm1,auStack40,auStack44); - sub_7F027E90(iParm1,iParm2,auStack40); - } - } - } - } - else { - *(undefined4 *)(iParm2 + 0x38) = *(undefined4 *)(iParm2 + 0x3c); - if (*(char *)(iParm1 + 7) == '\x0e') { - *(undefined4 *)(iParm1 + 0x78) = DAT_80040ffc; - FUN_7f0284c8(iParm1); - } - else { - *(undefined4 *)(iParm1 + 0x9c) = DAT_80040ffc; - FUN_7f0282c0(iParm1); - } - } - loc_7F01F604(iParm1,1); - } - return; -} - - - -void loc_7F028A4C(int iParm1,float *pfParm2) - -{ - int iVar1; - float *pfVar2; - float fVar3; - float fVar4; - undefined auStack24 [4]; - float fStack20; - float fStack16; - float fStack12; - - if ((*(char *)(iParm1 + 7) == '\x0e') && (*(char *)(iParm1 + 0x38) == '\x06')) { - pfVar2 = (float *)FUN_7f0284a8(); - if (*(float *)(iParm1 + 0x74) <= *(float *)(iParm1 + 0x70)) { - *pfParm2 = *pfVar2; - pfParm2[1] = pfVar2[1]; - pfParm2[2] = pfVar2[2]; - } - else { - fVar3 = *(float *)(iParm1 + 0x70) / *(float *)(iParm1 + 0x74); - fVar4 = *(float *)(*(int *)(iParm1 + 0x18) + 8); - *pfParm2 = (*pfVar2 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(iParm1 + 0x18) + 0xc); - pfParm2[1] = (pfVar2[1] - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(iParm1 + 0x18) + 0x10); - pfParm2[2] = (pfVar2[2] - fVar4) * fVar3 + fVar4; - } - } - else { - if (*(char *)(iParm1 + 7) == '\x0f') { - if (*(char *)(iParm1 + 0x5c) == '\x06') { - FUN_7f027f38(iParm1,&fStack20,auStack24); - if (*(float *)(iParm1 + 0x94) < *(float *)(iParm1 + 0x98)) { - fVar3 = *(float *)(iParm1 + 0x94) / *(float *)(iParm1 + 0x98); - fVar4 = *(float *)(*(int *)(iParm1 + 0x18) + 8); - *pfParm2 = (fStack20 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(iParm1 + 0x18) + 0xc); - pfParm2[1] = (fStack16 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(iParm1 + 0x18) + 0x10); - pfParm2[2] = (fStack12 - fVar4) * fVar3 + fVar4; - return; - } - *pfParm2 = fStack20; - pfParm2[1] = fStack16; - pfParm2[2] = fStack12; - return; - } - iVar1 = *(int *)(iParm1 + 0x18); - } - else { - iVar1 = *(int *)(iParm1 + 0x18); - } - *pfParm2 = *(float *)(iVar1 + 8); - pfParm2[1] = *(float *)(*(int *)(iParm1 + 0x18) + 0xc); - pfParm2[2] = *(float *)(*(int *)(iParm1 + 0x18) + 0x10); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f028a90(int iParm1,int iParm2,int iParm3) - -{ - bool bVar1; - int iVar4; - longlong lVar2; - longlong lVar3; - ulonglong uVar5; - - iVar4 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - if (((iVar4 == 0) || (lVar2 == 0)) && ((iVar4 != 0 || (lVar2 != 0)))) { - lVar3 = FUN_7f0238f0(iVar4); - if ((lVar3 == 0) && (lVar2 = FUN_7f0238f0((int)lVar2), lVar2 == 0)) { - bVar1 = true; - uVar5 = (ulonglong)(iVar4 != 0); - } - else { - bVar1 = false; - uVar5 = (ulonglong)(iVar4 != 0); - } - } - else { - uVar5 = FUN_700098b0(); - bVar1 = false; - uVar5 &= 1; - } - if (bVar1) { - if (iParm2 == 2) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4070,uVar5,0,0x3f000000, - 0x41800000); - } - else { - if (iParm2 == 1) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x40d4,uVar5,0,0x3f000000, - 0x41800000); - } - else { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4018,uVar5,0,0x3f000000, - 0x41800000); - } - } - } - else { - if (iParm3 == 0) { - if (iParm2 == 2) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x77d4,uVar5,0,0x3f000000, - 0x41800000); - } - else { - if (iParm2 == 1) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x8520,uVar5,0,0x3f000000, - 0x41800000); - } - else { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x84c4,uVar5,0,0x3f000000, - 0x41800000); - } - } - } - else { - if (iParm2 == 2) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x77d4,uVar5,0,0x3f000000, - 0x41800000); - } - else { - if (iParm2 == 1) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x777c,uVar5,0,0x3f000000, - 0x41800000); - } - else { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x8204,uVar5,0,0x3f000000, - 0x41800000); - } - } - } - } - return; -} - - - -void FUN_7f028dd4(int iParm1) - -{ - FUN_7f028a90(iParm1,(ulonglong)*(byte *)(iParm1 + 0x59), - (ulonglong)(byte)(&DAT_80037a70)[(int)*(char *)(iParm1 + 0xf) * 0x14]); - return; -} - - - -undefined8 loc_7F028F98(int iParm1,undefined4 *puParm2,undefined4 uParm3,char cParm4) - -{ - bool bVar1; - longlong lVar2; - undefined8 uVar3; - uint uVar4; - undefined4 uStack56; - undefined auStack52 [16]; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - int iStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x18); - bVar1 = *(char *)(iParm1 + 7) == '\x0f'; - if (bVar1) { - bVar1 = cParm4 == *(char *)(iParm1 + 0x59); - } - iStack8 = loc_7F027D8C(iStack4 + 8,*(undefined4 *)(iStack4 + 0x14)); - lVar2 = loc_7F027D8C(puParm2,uParm3); - if (iStack8 == 0) { - uVar3 = 0; - } - else { - if (lVar2 == 0) { - uVar3 = 0; - } - else { - uStack12 = (undefined4)lVar2; - lVar2 = FUN_7f08fa50(iStack8,lVar2,&uStack36,6); - if (lVar2 < 2) { - uVar3 = 0; - } - else { - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0xf; - *(undefined4 *)(iParm1 + 0x2c) = *puParm2; - *(undefined4 *)(iParm1 + 0x30) = puParm2[1]; - *(undefined4 *)(iParm1 + 0x34) = puParm2[2]; - *(undefined4 *)(iParm1 + 0x38) = uParm3; - *(undefined *)(iParm1 + 0x58) = 0; - *(undefined4 *)(iParm1 + 0x3c) = uStack12; - *(undefined4 *)(iParm1 + 0xa0) = 0; - *(char *)(iParm1 + 0x59) = cParm4; - uVar4 = FUN_700098b0(); - *(uint *)(iParm1 + 0x84) = uVar4 % 100; - *(undefined *)(iParm1 + 0x5f) = 0; - *(undefined4 *)(iParm1 + 0x9c) = 0xffffffff; - *(undefined4 *)(iParm1 + 0x40) = uStack36; - *(undefined4 *)(iParm1 + 0x44) = uStack32; - *(undefined4 *)(iParm1 + 0x48) = uStack28; - *(undefined4 *)(iParm1 + 0x4c) = uStack24; - *(undefined4 *)(iParm1 + 0x50) = uStack20; - *(undefined4 *)(iParm1 + 0x54) = uStack16; - FUN_7f0282c0(iParm1); - *(undefined *)(iParm1 + 8) = 0; - if (!bVar1) { - FUN_7f028dd4(iParm1); - } - FUN_7f027f38(iParm1,auStack52,&uStack56); - if (((*(byte *)(iStack4 + 1) & 2) == 0) && - (lVar2 = loc_7F027E58(iParm1,auStack52,uStack56), lVar2 != 0)) { - sub_7F027E90(iParm1,iParm1 + 0x5c,auStack52); - } - uVar3 = 1; - } - } - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f028fe0(int iParm1) - -{ - longlong lVar1; - bool bVar2; - int iVar4; - longlong lVar3; - uint uVar5; - ulonglong uVar6; - - iVar4 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar3 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - if (((iVar4 == 0) || (lVar3 == 0)) && ((iVar4 != 0 || (lVar3 != 0)))) { - lVar1 = FUN_7f0238f0(iVar4); - if ((lVar1 == 0) && (lVar3 = FUN_7f0238f0((int)lVar3), lVar3 == 0)) { - bVar2 = true; - uVar6 = (ulonglong)(iVar4 != 0); - } - else { - bVar2 = false; - uVar6 = (ulonglong)(iVar4 != 0); - } - } - else { - uVar5 = FUN_700098b0(); - bVar2 = false; - uVar6 = (ulonglong)uVar5 & 1; - } - if (bVar2) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4018,uVar6,0,0x3f000000,0x41800000 - ); - } - else { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x8204,uVar6,0, - (DAT_8002bed4 * 0.50000000) / DAT_8002bee0,0x41800000); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F029288(int iParm1,int **ppiParm2) - -{ - int *piVar1; - int iVar2; - uint uVar5; - undefined8 uVar3; - longlong lVar4; - float *pfVar6; - int iVar7; - int iVar8; - float fVar9; - float fVar10; - - piVar1 = *ppiParm2; - iVar2 = *(int *)(iParm1 + 0x18); - iVar7 = 0; - iVar8 = -1; - if (-1 < *piVar1) { - iVar8 = 0; - while( true ) { - pfVar6 = (float *)(*(int *)(*(int *)((int)piVar1 + iVar8) * 0x10 + _DAT_80064c40) * 0x2c + - _DAT_80064c58); - if ((((pfVar6[10] != 0.00000000) && (*(float *)(iVar2 + 0x14) == pfVar6[10])) && - (fVar9 = *pfVar6 - *(float *)(iVar2 + 8), fVar10 = pfVar6[2] - *(float *)(iVar2 + 0x10), - iVar8 = iVar7, fVar9 * fVar9 + fVar10 * fVar10 < DAT_80047f30)) || - (iVar7 += 1, iVar8 = -1, piVar1[iVar7] < 0)) break; - iVar8 = iVar7 * 4; - } - } - if (iVar8 < 0) { - iVar8 = 0; - } - FUN_7f02d1b8(iParm1); - *(undefined *)(iParm1 + 7) = 0xe; - *(undefined4 *)(iParm1 + 0x34) = 1; - *(int *)(iParm1 + 0x30) = iVar8; - *(int ***)(iParm1 + 0x2c) = ppiParm2; - uVar5 = FUN_700098b0(); - *(uint *)(iParm1 + 0x60) = uVar5 % 100; - *(undefined *)(iParm1 + 0x3b) = 0; - *(undefined4 *)(iParm1 + 0x78) = 0xffffffff; - *(undefined4 *)(iParm1 + 0x7c) = 0; - FUN_7f0284c8(iParm1); - *(undefined *)(iParm1 + 8) = 0; - FUN_7f028fe0(iParm1); - uVar3 = FUN_7f0284a8(iParm1); - if ((*(byte *)(*(int *)(iParm1 + 0x18) + 1) & 2) == 0) { - lVar4 = FUN_7f027e88(iParm1,uVar3); - if (lVar4 != 0) { - sub_7F027E90(iParm1,iParm1 + 0x38,(int)uVar3); - } - } - return; -} - - - -void FUN_7f0292cc(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0xe8) = DAT_80040ffc; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F0294A8(int iParm1,undefined4 *puParm2,int iParm3) - -{ - undefined4 *puVar2; - longlong lVar1; - int iStack16; - int iStack12; - uint uStack8; - undefined4 uStack4; - - uStack4 = 0; - uStack8 = 1; - if (*(char *)(iParm1 + 7) == '\b') { - uStack8 = *(uint *)(iParm1 + 0x4c); - } - if ((uStack8 & 2) == 0) { - iStack12 = iParm3; - puVar2 = (undefined4 *)FUN_7f032cbc(iParm1,uStack8,*(undefined4 *)(iParm1 + 0x50),&iStack16); - loc_7F01F604(iParm1,0); - if ((uStack8 & 1) == 0) { - if ((uStack8 & 4) == 0) { - if ((((uStack8 & 8) != 0) && - (lVar1 = loc_7F0B13B4(&iStack12,*puParm2,puParm2[2],*puVar2,puVar2[2],0x11f,puParm2[1], - puParm2[1],puVar2[1],puVar2[1]), lVar1 != 0)) && - (iStack12 == iStack16)) { - uStack4 = 1; - } - } - else { - lVar1 = loc_7F0B13B4(&iStack12,*puParm2,puParm2[2],*puVar2,puVar2[2],0x117,puParm2[1], - puParm2[1],puVar2[1],puVar2[1]); - if ((lVar1 != 0) && (iStack12 == iStack16)) { - uStack4 = 1; - } - } - } - else { - FUN_7f08a208(*(undefined4 *)(_DAT_80068bc0 + 0xa8),0); - lVar1 = FUN_7f08a140(); - if (((lVar1 != 0) && - (lVar1 = loc_7F0B13B4(&iStack12,*puParm2,puParm2[2],*puVar2,puVar2[2],0x11b,puParm2[1], - puParm2[1],puVar2[1],puVar2[1]), lVar1 != 0)) && - (iStack12 == iStack16)) { - FUN_7f0292cc(iParm1); - uStack4 = 1; - } - FUN_7f08a208(*(undefined4 *)(_DAT_80068bc0 + 0xa8),1); - } - loc_7F01F604(iParm1,1); - } - else { - uStack4 = 1; - } - return uStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0294f0(int iParm1) - -{ - longlong lVar1; - float fVar2; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - uStack4 = 0; - lVar1 = FUN_7f08a140(); - if (lVar1 != 0) { - iStack8 = *(int *)(iParm1 + 0x18); - iStack12 = FUN_7f089900(); - fVar2 = *(float *)(iParm1 + 0x28) - 20.00000000; - loc_7F01F604(iParm1,0); - FUN_7f08a208(*(undefined4 *)(_DAT_80068bc0 + 0xa8),0); - iStack16 = *(int *)(iStack8 + 0x14); - lVar1 = loc_7F0B13B4(&iStack16,*(undefined4 *)(iStack8 + 8),*(undefined4 *)(iStack8 + 0x10), - *(undefined4 *)(iStack12 + 8),*(undefined4 *)(iStack12 + 0x10),0x11b,fVar2, - fVar2,0,0x3f800000); - if ((lVar1 != 0) && (iStack16 == *(int *)(iStack12 + 0x14))) { - FUN_7f0292cc(iParm1); - uStack4 = 1; - } - loc_7F01F604(iParm1,1); - FUN_7f08a208(*(undefined4 *)(_DAT_80068bc0 + 0xa8),1); - } - return uStack4; -} - - - -undefined4 loc_7F029680(int iParm1,undefined4 *puParm2,int iParm3) - -{ - longlong lVar1; - float fVar2; - undefined4 uStack16; - int iStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x18); - uStack16 = 0; - fVar2 = *(float *)(iParm1 + 0x28) - 20.00000000; - loc_7F01F604(iParm1,0); - iStack8 = *(int *)(iStack4 + 0x14); - lVar1 = loc_7F0B13B4(&iStack8,*(undefined4 *)(iStack4 + 8),*(undefined4 *)(iStack4 + 0x10), - *puParm2,puParm2[2],0x113,fVar2,fVar2,0,0x3f800000); - if ((lVar1 != 0) && (iStack8 == iParm3)) { - uStack16 = 1; - } - loc_7F01F604(iParm1,1); - return uStack16; -} - - - -undefined8 FUN_7f0296d0(int iParm1,float *pfParm2,undefined4 uParm3) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar2 = (float)FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - fVar3 = (float)convert_angle_using_inverse - (*pfParm2 - *(float *)(*(int *)(iParm1 + 0x18) + 8), - pfParm2[2] - *(float *)(*(int *)(iParm1 + 0x18) + 0x10)); - fVar4 = fVar3 - fVar2; - if (fVar3 < fVar2) { - fVar4 = fVar4 + DAT_80047f34; - } - if ((fVar4 < DAT_80047f38) || (uVar1 = 0, DAT_80047f3c < fVar4)) { - uVar1 = loc_7F029680(iParm1,pfParm2,uParm3); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f029794(int iParm1) - -{ - longlong lVar1; - undefined4 uStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x18); - iStack8 = FUN_7f089900(); - uStack16 = 0; - FUN_7f08a208(*(undefined4 *)(_DAT_80068bc0 + 0xa8),0); - iStack12 = *(int *)(iStack8 + 0x14); - lVar1 = loc_7F0B13B4(&iStack12,*(undefined4 *)(iStack8 + 8),*(undefined4 *)(iStack8 + 0x10), - *(undefined4 *)(iStack4 + 8),*(undefined4 *)(iStack4 + 0x10),0x13, - *(undefined4 *)(iStack8 + 0xc),*(undefined4 *)(iStack8 + 0xc),0,0x3f800000); - if ((lVar1 != 0) && (iStack12 == *(int *)(iStack4 + 0x14))) { - uStack16 = 1; - } - FUN_7f08a208(*(undefined4 *)(_DAT_80068bc0 + 0xa8),1); - return uStack16; -} - - - -undefined4 loc_7F029A6C(int iParm1,float *pfParm2,float *pfParm3) - -{ - longlong lVar1; - float fVar2; - float fVar3; - undefined auStack48 [4]; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - undefined4 uStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 4); - uStack36 = 0; - fVar2 = *pfParm3 * *(float *)(iStack4 + 0x24) * DAT_80047f40; - fVar3 = pfParm3[2] * *(float *)(iStack4 + 0x24) * DAT_80047f40; - sub_7F023160(iParm1,auStack48,&uStack40,&uStack44); - loc_7F01F604(iStack4,0); - fStack8 = *(float *)(iParm1 + 8) + fVar3; - fStack12 = *(float *)(iParm1 + 0x10) - fVar2; - fStack16 = *pfParm2 + fVar3 + fVar2; - fStack20 = (pfParm2[2] - fVar2) + fVar3; - uStack24 = *(undefined4 *)(iParm1 + 0x14); - lVar1 = loc_7F0B13B4(&uStack24,*(undefined4 *)(iParm1 + 8),*(undefined4 *)(iParm1 + 0x10),fStack8, - fStack12,0x1f,uStack40,uStack44,0,0x3f800000); - if (lVar1 != 0) { - lVar1 = loc_7F0B13B4(&uStack24,fStack8,fStack12,fStack16,fStack20,0x1f,uStack40,uStack44,0, - 0x3f800000); - if (lVar1 != 0) { - fStack8 = *(float *)(iParm1 + 8) - fVar3; - fStack16 = (*pfParm2 - fVar3) + fVar2; - fStack12 = *(float *)(iParm1 + 0x10) + fVar2; - fStack20 = pfParm2[2] + fVar2 + fVar3; - uStack24 = *(undefined4 *)(iParm1 + 0x14); - lVar1 = loc_7F0B13B4(&uStack24,*(undefined4 *)(iParm1 + 8),*(undefined4 *)(iParm1 + 0x10), - fStack8,fStack12,0x1f,uStack40,uStack44,0,0x3f800000); - if (lVar1 != 0) { - lVar1 = loc_7F0B13B4(&uStack24,fStack8,fStack12,fStack16,fStack20,0x1f,uStack40,uStack44,0, - 0x3f800000); - if (lVar1 != 0) { - uStack36 = 1; - } - } - } - } - loc_7F01F604(iStack4,1); - return uStack36; -} - - - -void sub_7F029A94(int iParm1,float *pfParm2,float fParm3) - -{ - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = *pfParm2 * fParm3 + *(float *)(iParm1 + 8); - uStack8 = *(undefined4 *)(iParm1 + 0xc); - fStack4 = pfParm2[2] * fParm3 + *(float *)(iParm1 + 0x10); - loc_7F029A6C(iParm1,&fStack12,pfParm2); - return; -} - - - -undefined8 loc_7F029BA0(int iParm1,float *pfParm2) - -{ - undefined8 uVar1; - float fVar2; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = *pfParm2 - *(float *)(iParm1 + 8); - uStack8 = 0; - fStack4 = pfParm2[2] - *(float *)(iParm1 + 0x10); - if ((fStack12 == 0.00000000) && (fStack4 == 0.00000000)) { - uVar1 = 1; - } - else { - fVar2 = (float)sqrtf(fStack4 * fStack4 + fStack12 * fStack12); - fStack12 = fStack12 * (1.00000000 / fVar2); - fStack4 = fStack4 * (1.00000000 / fVar2); - uVar1 = loc_7F029A6C(iParm1,pfParm2,&fStack12); - } - return uVar1; -} - - - -void FUN_7f029be4(int iParm1) - -{ - int iVar1; - - iVar1 = FUN_7f089900(); - *(undefined4 *)(iParm1 + 0xd4) = DAT_80040ffc; - *(undefined4 *)(iParm1 + 0xd8) = *(undefined4 *)(iVar1 + 8); - *(undefined4 *)(iParm1 + 0xdc) = *(undefined4 *)(iVar1 + 0xc); - *(undefined4 *)(iParm1 + 0xe0) = *(undefined4 *)(iVar1 + 0x10); - *(undefined4 *)(iParm1 + 0xe4) = *(undefined4 *)(iVar1 + 0x14); - return; -} - - - -void FUN_7f029c34(int iParm1) - -{ - int iVar1; - - iVar1 = FUN_7f089900(); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 2; - *(undefined4 *)(iParm1 + 0xf0) = DAT_80040ffc; - *(undefined4 *)(iParm1 + 0xd8) = *(undefined4 *)(iVar1 + 8); - *(undefined4 *)(iParm1 + 0xdc) = *(undefined4 *)(iVar1 + 0xc); - *(undefined4 *)(iParm1 + 0xe0) = *(undefined4 *)(iVar1 + 0x10); - *(undefined4 *)(iParm1 + 0xe4) = *(undefined4 *)(iVar1 + 0x14); - return; -} - - - -undefined8 loc_7F029D5C(int iParm1) - -{ - char cVar1; - float fVar2; - float fVar3; - - cVar1 = *(char *)(iParm1 + 7); - if (((cVar1 == '\x01') && (*(int *)(iParm1 + 0x2c) == 0)) && (*(int *)(iParm1 + 0x38) == 0)) { - return 1; - } - if (cVar1 != '\x03') { - if (cVar1 == '\x0e') { - return 1; - } - return 0; - } - if (*(int *)(iParm1 + 0x34) == 0) { - fVar2 = (float)sub_7F06F610(*(undefined4 *)(iParm1 + 0x1c)); - if (0.00000000 <= fVar2) { - fVar2 = (float)sub_7F06F5BC(*(undefined4 *)(iParm1 + 0x1c)); - fVar3 = (float)locret_7F06F608(*(undefined4 *)(iParm1 + 0x1c)); - if (fVar3 <= fVar2) { - return 1; - } - } - fVar2 = (float)sub_7F06F610(*(undefined4 *)(iParm1 + 0x1c)); - if (0.00000000 <= fVar2) { - return 0; - } - fVar2 = (float)sub_7F06F5BC(*(undefined4 *)(iParm1 + 0x1c)); - if (0.00000000 < fVar2) { - return 0; - } - } - return 1; -} - - - -ulonglong FUN_7f029da4(int iParm1) - -{ - int iVar2; - longlong lVar1; - uint uVar3; - ulonglong uVar4; - float fVar5; - float fVar6; - int iVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - iVar7 = *(int *)(iParm1 + 0x18); - iVar2 = FUN_7f089900(); - fVar10 = (float)FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - fVar8 = *(float *)(iVar2 + 8) - *(float *)(iVar7 + 8); - fVar6 = *(float *)(iVar2 + 0xc) - *(float *)(iVar7 + 0xc); - fVar11 = *(float *)(iVar2 + 0x10) - *(float *)(iVar7 + 0x10); - fVar5 = (float)convert_angle_using_inverse(); - fVar9 = fVar5 - fVar10; - if (fVar5 < fVar10) { - fVar9 = fVar9 + DAT_80047f44; - } - lVar1 = FUN_7f032bac(iParm1); - uVar4 = 0; - if (lVar1 == 0) { - fVar10 = fVar8 * fVar8 + fVar6 * fVar6 + fVar11 * fVar11; - if (((fVar10 < *(float *)(iParm1 + 0xd0) * *(float *)(iParm1 + 0xd0) * 100.00000000 * - 100.00000000) && ((fVar9 < DAT_80047f48 || (DAT_80047f4c < fVar9)))) || - ((fVar10 < DAT_80047f50 && ((fVar9 < DAT_80047f54 || (DAT_80047f58 < fVar9)))))) { - fVar5 = (float)FUN_7f0b99e4(); - uVar4 = 0; - if (fVar10 < fVar5) { - fVar10 = (float)sqrtf(); - iVar7 = (int)((fVar10 * 30.00000000) / 16000.00000000); - if ((DAT_80047f5c < fVar9) && (fVar9 < DAT_80047f60)) { - if (DAT_80047f64 < fVar9) { - fVar9 = DAT_80047f68 - fVar9; - } - iVar7 *= (int)(((fVar9 - DAT_80047f5c) * 24.00000000) / DAT_80047f6c) + 1; - } - iVar7 = FUN_7f023ba8(iParm1,iVar7); - uVar3 = FUN_700098b0(); - uVar4 = (ulonglong)(uVar3 % (iVar7 + 1U) == 0); - if (iVar7 + 1U == 0) { - trap(0x1c00); - } - } - } - } - else { - uVar4 = 1; - } - if (uVar4 != 0) { - uVar4 = FUN_7f0294f0(iParm1); - } - if (uVar4 != 0) { - FUN_7f029be4(iParm1); - uVar4 = SEXT48((int)uVar4); - } - return uVar4; -} - - - -void FUN_7f02a078(int iParm1,int iParm2,float *pfParm3) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = *(int *)(iParm1 + 0x18); - iVar2 = FUN_7f089900(); - fVar4 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar5 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - fVar3 = (float)sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (iParm2 == 0) { - pfParm3[2] = fVar4 / fVar3; - *pfParm3 = -(fVar5 / fVar3); - pfParm3[1] = 0.00000000; - } - else { - *pfParm3 = fVar5 / fVar3; - pfParm3[2] = -(fVar4 / fVar3); - pfParm3[1] = 0.00000000; - } - return; -} - - - -void FUN_7f02a120(int iParm1,undefined8 uParm2,float fParm3) - -{ - float fStack28; - undefined4 uStack24; - float fStack20; - float afStack16 [2]; - float fStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x18); - FUN_7f02a078(iParm1,uParm2,afStack16); - fStack28 = afStack16[0] * fParm3 + *(float *)(iStack4 + 8); - uStack24 = *(undefined4 *)(iStack4 + 0xc); - fStack20 = fStack8 * fParm3 + *(float *)(iStack4 + 0x10); - loc_7F029A6C(iStack4,&fStack28,afStack16); - return; -} - - - -void FUN_7f02a190(int iParm1,int iParm2,float *pfParm3) - -{ - undefined4 uVar1; - float fVar2; - - uVar1 = FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - if (iParm2 == 0) { - fVar2 = (float)func_7F057FC4(); - *pfParm3 = -fVar2; - pfParm3[1] = 0.00000000; - fVar2 = (float)func_7F057FC4(uVar1); - pfParm3[2] = fVar2; - } - else { - fVar2 = (float)func_7F057FC4(); - *pfParm3 = fVar2; - pfParm3[1] = 0.00000000; - fVar2 = (float)func_7F057FC4(uVar1); - pfParm3[2] = -fVar2; - } - return; -} - - - -void FUN_7f02a21c(int iParm1,undefined8 uParm2,float fParm3) - -{ - float fStack28; - undefined4 uStack24; - float fStack20; - float afStack16 [2]; - float fStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x18); - FUN_7f02a190(iParm1,uParm2,afStack16); - fStack28 = afStack16[0] * fParm3 + *(float *)(iStack4 + 8); - uStack24 = *(undefined4 *)(iStack4 + 0xc); - fStack20 = fStack8 * fParm3 + *(float *)(iStack4 + 0x10); - loc_7F029A6C(iStack4,&fStack28,afStack16); - return; -} - - - -undefined8 locret_7F02A29C(int iParm1) - -{ - char cVar1; - - cVar1 = *(char *)(iParm1 + 7); - if ((((cVar1 != '\x04') && (cVar1 != '\x05')) && (cVar1 != '\a')) && - ((cVar1 != '\x06' || ((*(uint *)(iParm1 + 0x14) & 0x200) != 0)))) { - return 1; - } - return 0; -} - - - -ulonglong locret_7F02A2C0(int iParm1) - -{ - return (ulonglong)(*(char *)(iParm1 + 7) == '\x04' || *(char *)(iParm1 + 7) == '\x05'); -} - - - -undefined8 FUN_7f02a2fc(int iParm1) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - int iVar6; - ulonglong uVar4; - undefined8 uVar5; - float fVar7; - float fVar8; - float fVar9; - - lVar3 = locret_7F02A29C(); - if (lVar3 == 0) { - return 0; - } - iVar1 = *(int *)(iParm1 + 0x18); - iVar6 = FUN_7f089900(); - fVar7 = (float)FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - fVar8 = (float)convert_angle_using_inverse - (*(float *)(iVar6 + 8) - *(float *)(iVar1 + 8), - *(float *)(iVar6 + 0x10) - *(float *)(iVar1 + 0x10)); - fVar9 = fVar8 - fVar7; - if (fVar8 < fVar7) { - fVar9 = fVar9 + DAT_80047f70; - } - if ((DAT_80047f74 <= fVar9) && (fVar9 <= DAT_80047f78)) { - if (fVar9 <= DAT_80047f7c) { - return 0; - } - if (DAT_80047f80 <= fVar9) { - return 0; - } - } - uVar4 = FUN_700098b0(); - bVar2 = (uVar4 & 1) == 0; - lVar3 = FUN_7f02a21c(iParm1,(ulonglong)bVar2,0x42c80000); - if (lVar3 == 0) { - lVar3 = FUN_7f02a21c(iParm1,(ulonglong)!bVar2,0x42c80000); - if (lVar3 == 0) { - uVar5 = 0; - } - else { - FUN_7f0247e8(iParm1,(uint)!bVar2); - uVar5 = 1; - } - } - else { - FUN_7f0247e8(iParm1,(uint)bVar2); - uVar5 = 1; - } - return uVar5; -} - - - -undefined8 FUN_7f02a45c(int iParm1) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - int iVar6; - ulonglong uVar4; - undefined8 uVar5; - float fVar7; - float fVar8; - float fVar9; - - lVar3 = locret_7F02A29C(); - if (lVar3 == 0) { - return 0; - } - iVar1 = *(int *)(iParm1 + 0x18); - iVar6 = FUN_7f089900(); - fVar7 = (float)FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - fVar8 = (float)convert_angle_using_inverse - (*(float *)(iVar6 + 8) - *(float *)(iVar1 + 8), - *(float *)(iVar6 + 0x10) - *(float *)(iVar1 + 0x10)); - fVar9 = fVar8 - fVar7; - if (fVar8 < fVar7) { - fVar9 = fVar9 + DAT_80047f84; - } - if ((DAT_80047f88 <= fVar9) && (fVar9 <= DAT_80047f8c)) { - if (fVar9 <= DAT_80047f90) { - return 0; - } - if (DAT_80047f94 <= fVar9) { - return 0; - } - } - uVar4 = FUN_700098b0(); - bVar2 = (uVar4 & 1) == 0; - lVar3 = FUN_7f02a21c(iParm1,(ulonglong)bVar2,0x43480000); - if (lVar3 == 0) { - lVar3 = FUN_7f02a21c(iParm1,(ulonglong)!bVar2,0x43480000); - if (lVar3 == 0) { - uVar5 = 0; - } - else { - FUN_7f024a6c(iParm1,(uint)!bVar2); - uVar5 = 1; - } - } - else { - FUN_7f024a6c(iParm1,(uint)bVar2); - uVar5 = 1; - } - return uVar5; -} - - - -undefined8 FUN_7f02a5bc(int iParm1) - -{ - int iVar1; - longlong lVar2; - ulonglong uVar3; - float fVar4; - float fStack32; - undefined4 uStack28; - float fStack24; - float afStack20 [2]; - float fStack12; - - lVar2 = locret_7F02A29C(); - if (lVar2 != 0) { - if (DAT_80040ffc - *(int *)(iParm1 + 200) < 0x97) { - return 0; - } - iVar1 = *(int *)(iParm1 + 0x18); - lVar2 = FUN_700098b0(); - fVar4 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = fVar4 * 0.00000000 * 200.00000000 + 200.00000000; - uVar3 = FUN_700098b0(); - FUN_7f02a078(iParm1,(ulonglong)((uVar3 & 1) == 0),afStack20); - fStack32 = afStack20[0] * fVar4 + *(float *)(iVar1 + 8); - uStack28 = *(undefined4 *)(iVar1 + 0xc); - fStack24 = fStack12 * fVar4 + *(float *)(iVar1 + 0x10); - lVar2 = loc_7F029A6C(iVar1,&fStack32,afStack20); - if (lVar2 != 0) { - loc_7F024EF0(iParm1,&fStack32); - return 1; - } - afStack20[0] = -afStack20[0]; - fStack12 = -fStack12; - fStack32 = afStack20[0] * fVar4 + *(float *)(iVar1 + 8); - uStack28 = *(undefined4 *)(iVar1 + 0xc); - fStack24 = fStack12 * fVar4 + *(float *)(iVar1 + 0x10); - lVar2 = loc_7F029A6C(iVar1,&fStack32,afStack20); - if (lVar2 != 0) { - loc_7F024EF0(iParm1,&fStack32); - return 1; - } - } - return 0; -} - - - -undefined8 FUN_7f02a738(int iParm1) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - - lVar2 = locret_7F02A29C(); - if (lVar2 == 0) { - uVar3 = 0; - } - else { - iVar1 = *(int *)(iParm1 + 0x18); - iVar4 = FUN_7f089900(); - lVar2 = loc_7F02307C(iParm1,0); - if ((lVar2 == 0) && (lVar2 = loc_7F02307C(iParm1,1), lVar2 == 0)) { - return 0; - } - if (DAT_80040ffc - *(int *)(iParm1 + 200) < 0x97) { - uVar3 = 0; - } - else { - fVar5 = *(float *)(iVar4 + 8) - *(float *)(iVar1 + 8); - fVar6 = *(float *)(iVar4 + 0xc) - *(float *)(iVar1 + 0xc); - fVar7 = *(float *)(iVar4 + 0x10) - *(float *)(iVar1 + 0x10); - if (DAT_80047f98 <= fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7) { - loc_7F025B9C(iParm1,0); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - } - return uVar3; -} - - - -undefined8 FUN_7f02a82c(int iParm1) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - - lVar2 = locret_7F02A29C(); - if (lVar2 == 0) { - uVar3 = 0; - } - else { - iVar1 = *(int *)(iParm1 + 0x18); - iVar4 = FUN_7f089900(); - lVar2 = loc_7F02307C(iParm1,0); - if ((lVar2 == 0) && (lVar2 = loc_7F02307C(iParm1,1), lVar2 == 0)) { - return 0; - } - if (DAT_80040ffc - *(int *)(iParm1 + 200) < 0x97) { - uVar3 = 0; - } - else { - fVar5 = *(float *)(iVar4 + 8) - *(float *)(iVar1 + 8); - fVar6 = *(float *)(iVar4 + 0xc) - *(float *)(iVar1 + 0xc); - fVar7 = *(float *)(iVar4 + 0x10) - *(float *)(iVar1 + 0x10); - if (DAT_80047f9c <= fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7) { - loc_7F025B9C(iParm1,1); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - } - return uVar3; -} - - - -undefined8 FUN_7f02a920(int iParm1) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - int iVar5; - ulonglong uVar4; - float fVar6; - float fVar7; - float fVar8; - - lVar3 = locret_7F02A29C(); - if (lVar3 == 0) { - return 0; - } - iVar1 = *(int *)(iParm1 + 0x18); - iVar5 = FUN_7f089900(); - lVar3 = loc_7F02307C(iParm1,0); - if ((lVar3 != 0) || (lVar3 = loc_7F02307C(iParm1,1), lVar3 != 0)) { - fVar6 = *(float *)(iVar5 + 8) - *(float *)(iVar1 + 8); - fVar7 = *(float *)(iVar5 + 0xc) - *(float *)(iVar1 + 0xc); - fVar8 = *(float *)(iVar5 + 0x10) - *(float *)(iVar1 + 0x10); - if (fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8 < DAT_80047fa0) { - return 0; - } - uVar4 = FUN_700098b0(); - bVar2 = (uVar4 & 1) == 0; - lVar3 = FUN_7f02a120(iParm1,(ulonglong)bVar2,0x43480000); - if (lVar3 != 0) { - loc_7F026118(iParm1,(uint)bVar2); - return 1; - } - lVar3 = FUN_7f02a120(iParm1,(ulonglong)!bVar2,0x43480000); - if (lVar3 != 0) { - loc_7F026118(iParm1,(uint)!bVar2); - return 1; - } - } - return 0; -} - - - -undefined8 FUN_7f02aa50(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = locret_7F02A29C(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - lVar1 = loc_7F02307C(uParm1,0); - if ((lVar1 == 0) && (lVar1 = loc_7F02307C(uParm1,1), lVar1 == 0)) { - uVar2 = 0; - } - else { - FUN_7f025578(uParm1,uParm2,uParm3); - uVar2 = 1; - } - } - return uVar2; -} - - - -undefined8 FUN_7f02aabc(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = locret_7F02A29C(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - lVar1 = loc_7F02307C(uParm1,0); - if ((lVar1 == 0) && (lVar1 = loc_7F02307C(uParm1,1), lVar1 == 0)) { - uVar2 = 0; - } - else { - FUN_7f025708(uParm1,uParm2,uParm3); - uVar2 = 1; - } - } - return uVar2; -} - - - -undefined8 loc_7F02AB34(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined8 uVar1; - - uVar1 = 0; - if ((*(char *)(iParm1 + 7) == '\b') && ((*(uint *)(iParm1 + 0x4c) & 0x60) != 0)) { - *(undefined4 *)(iParm1 + 0x4c) = uParm2; - *(undefined4 *)(iParm1 + 0x50) = uParm3; - loc_7F0250B0(); - uVar1 = 1; - } - return uVar1; -} - - - -undefined8 FUN_7f02ab78(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = locret_7F02A29C(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if (*(char *)(iParm1 + 7) != '\x01') { - loc_7F023E04(); - } - uVar2 = 1; - *(undefined4 *)(iParm1 + 0x30) = uParm2; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(undefined4 *)(iParm1 + 0x40) = 0; - *(undefined4 *)(iParm1 + 0x34) = uParm3; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F02AD40(int iParm1,longlong lParm2,undefined4 uParm3) - -{ - longlong lVar1; - float *pfVar2; - float fStack20; - float fStack16; - float fStack12; - float afStack8 [2]; - - if ((-1 < lParm2) && (lVar1 = locret_7F02A29C(), lVar1 != 0)) { - if (9 < DAT_800283a0) { - return 0; - } - lVar1 = locret_7F032FA4(iParm1,lParm2); - if (lVar1 < 10000) { - pfVar2 = (float *)((int)lVar1 * 0x2c + _DAT_80064c58); - } - else { - pfVar2 = (float *)((int)lVar1 * 0x44 + _DAT_80064c5c + -680000); - } - afStack8[0] = pfVar2[10]; - if (afStack8[0] != 0.00000000) { - if (0.50000000 <= pfVar2[4]) { - lVar1 = loc_7F028F98(iParm1,pfVar2,afStack8[0],uParm3); - if (lVar1 == 0) { - return 0; - } - return 1; - } - fStack20 = pfVar2[3] * *(float *)(iParm1 + 0x24) * DAT_80047fa4 + *pfVar2; - fStack16 = pfVar2[4] * *(float *)(iParm1 + 0x24) * DAT_80047fa4 + pfVar2[1]; - fStack12 = pfVar2[5] * *(float *)(iParm1 + 0x24) * DAT_80047fa4 + pfVar2[2]; - lVar1 = sub_7F0B0BE4(afStack8,*pfVar2,pfVar2[2],fStack20,fStack12); - if (lVar1 != 0) { - lVar1 = loc_7F028F98(iParm1,&fStack20,afStack8[0],uParm3); - if (lVar1 == 0) { - return 0; - } - return 1; - } - } - } - return 0; -} - - - -undefined8 FUN_7f02ad88(undefined4 uParm1,longlong lParm2) - -{ - longlong lVar1; - - if (lParm2 != 0) { - lVar1 = locret_7F02A29C(); - if (lVar1 != 0) { - loc_7F029288(uParm1,(int)lParm2); - return 1; - } - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f02aff0) overlaps instruction at (ram,0x7f02afec) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F02B4D0(int iParm1) - -{ - undefined4 uVar1; - int iVar4; - longlong lVar2; - ulonglong uVar3; - uint uVar5; - float *pfVar6; - float *pfVar7; - int iVar8; - int *piVar9; - int *piVar10; - int iVar11; - int iVar12; - float fVar13; - float fVar14; - int aiStack108 [4]; - int iStack92; - int iStack88; - int iStack84; - int iStack80; - float fStack68; - float fStack64; - float afStack60 [8]; - float afStack28 [2]; - int iStack20; - int iStack16; - - if ('\0' < *(char *)(iParm1 + 8)) { - return; - } - if (*(int *)(iParm1 + 0x2c) != 0) { - fVar14 = (float)sub_7F06F5BC(*(undefined4 *)(iParm1 + 0x1c)); - fVar13 = (float)locret_7F06F608(*(undefined4 *)(iParm1 + 0x1c)); - if (fVar13 <= fVar14) { - FUN_7f023928(iParm1,0x41000000); - *(undefined4 *)(iParm1 + 0x2c) = 0; - } - *(undefined *)(iParm1 + 8) = 0; - return; - } - if (*(int *)(iParm1 + 0x30) < 1) { - uVar5 = FUN_700098b0(); - *(char *)(iParm1 + 8) = (char)(uVar5 % 5) + '\x0e'; - if (*(int *)(iParm1 + 0x40) == 0) { - return; - } - if ((*(uint *)(iParm1 + 0x14) & 0x80) != 0) { - *(undefined4 *)(iParm1 + 0x40) = 0; - return; - } - iVar4 = *(int *)(iParm1 + 0x44) - (int)*(char *)(iParm1 + 8); - *(int *)(iParm1 + 0x44) = iVar4; - if (-1 < iVar4) { - return; - } - fStack68 = (float)FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - fVar14 = DAT_80047fb0; - pfVar6 = afStack60; - fStack64 = fStack68; - do { - fStack68 = fStack68 + DAT_80047fb4; - if (fVar14 <= fStack68) { - fStack68 = fStack68 - fVar14; - uVar1 = *(undefined4 *)(iParm1 + 0x18); - } - else { - uVar1 = *(undefined4 *)(iParm1 + 0x18); - } - fVar13 = (float)loc_7F026488(uVar1,fStack68,0x447a0000,0,0,0x3f800000); - fVar14 = DAT_80047fb8; - pfVar7 = pfVar6 + 1; - *pfVar6 = fVar13; - pfVar6 = pfVar7; - } while (pfVar7 < afStack28); - iVar4 = 0; - piVar10 = aiStack108; - do { - *piVar10 = iVar4; - iVar4 += 1; - piVar10 = piVar10 + 1; - } while (iVar4 < 8); - piVar10 = aiStack108; - iVar4 = 0; - do { - iVar11 = iVar4 + 1; - if (iVar11 < 8) { - uVar5 = 8U - iVar11 & 3; - iVar8 = iVar11; - if (uVar5 != 0) { - piVar9 = aiStack108 + iVar11; - iVar8 = iVar11; - do { - iVar12 = iVar8; - if (afStack60[aiStack108[iVar4]] <= afStack60[*piVar9]) { - iVar12 = iVar4; - } - iVar4 = iVar12; - iVar8 += 1; - piVar9 = piVar9 + 1; - } while (uVar5 + iVar11 != iVar8); - if (iVar8 == 8) goto LAB_7f02b31c; - } - piVar9 = aiStack108 + iVar8; - do { - fVar13 = afStack60[aiStack108[iVar4]]; - if (afStack60[*piVar9] < fVar13) { - fVar13 = afStack60[aiStack108[iVar8]]; - iVar12 = piVar9[1]; - iVar4 = iVar8; - } - else { - iVar12 = piVar9[1]; - } - if (afStack60[iVar12] < fVar13) { - iVar4 = iVar8 + 1; - fVar13 = afStack60[aiStack108[iVar4]]; - iVar12 = piVar9[2]; - } - else { - iVar12 = piVar9[2]; - } - if (afStack60[iVar12] < fVar13) { - iVar4 = iVar8 + 2; - fVar13 = afStack60[aiStack108[iVar4]]; - iVar12 = piVar9[3]; - } - else { - iVar12 = piVar9[3]; - } - if (afStack60[iVar12] < fVar13) { - iVar4 = iVar8 + 3; - } - iVar8 += 4; - piVar9 = piVar9 + 4; - } while (iVar8 != 8); - } -LAB_7f02b31c: - piVar9 = aiStack108 + iVar4; - iVar4 = *piVar10; - *piVar10 = *piVar9; - piVar10 = piVar10 + 1; - *piVar9 = iVar4; - iVar4 = iVar11; - if (6 < iVar11) { - iVar4 = -1; - if (afStack60[0] < 490.00000000) { - if (afStack60[iStack92] < 200.00000000) { - iVar4 = 7; - } - else { - if (((aiStack108[0] == 0) || (aiStack108[1] == 0)) || (aiStack108[2] == 0)) { - if (((aiStack108[3] == 4) || (iStack92 == 4)) && - (uVar5 = FUN_700098b0(), uVar5 % 3 == 0)) { - if (aiStack108[3] == 4) { - iVar4 = 3; - fVar14 = DAT_80047fbc; - } - else { - iVar4 = 4; - fVar14 = DAT_80047fbc; - } - } - else { - uVar5 = FUN_700098b0(); - iVar4 = uVar5 % 3 + 5; - fVar14 = DAT_80047fc0; - } - } - else { - if (((aiStack108[0] == 1) || (aiStack108[0] == 7)) && - ((iStack88 != 0 && ((iStack84 != 0 && (iStack80 != 0)))))) { - uVar5 = FUN_700098b0(); - iVar4 = uVar5 % 3 + 5; - fVar14 = DAT_80047fc4; - } - } - } - } - if (iVar4 < 0) { - *(undefined4 *)(iParm1 + 0x40) = 0; - return; - } - fVar13 = (float)aiStack108[iVar4] * fVar14 * 0.12500000 + fStack64; - if (fVar14 <= fVar13) { - fVar13 = fVar13 - fVar14; - } - FUN_7f02ab78(iParm1,0x10,(int)((fVar13 * 65536.00000000) / fVar14)); - return; - } - } while( true ); - } - if (*(int *)(iParm1 + 0x38) == 0) { - fVar14 = (float)loc_7F025160(iParm1,*(int *)(iParm1 + 0x30),*(undefined4 *)(iParm1 + 0x34)); - if (DAT_80047fa8 < fVar14) { - if (fVar14 < DAT_80047fac) { - iStack16 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - lVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - iStack20 = (int)lVar2; - *(undefined4 *)(iParm1 + 0x38) = 1; - *(undefined4 *)(iParm1 + 0x3c) = 1; - if (((iStack16 == 0) || (lVar2 == 0)) && - (((iStack16 != 0 || (lVar2 != 0)) && - ((lVar2 = FUN_7f0238f0(), lVar2 == 0 && (lVar2 = FUN_7f0238f0(iStack20), lVar2 == 0))))) - ) { - if ((iStack20 != 0) || (iStack16 != 0)) { - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4018, - (ulonglong)(iStack16 != 0),0,0x3f000000,0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c), - (float)((uint)*(ushort *)(_DAT_80058478 + 0x401c) - 1)); - } - } - else { - uVar3 = FUN_700098b0(); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x8204,uVar3 & 1,0,0x3f000000, - 0x41800000); - loc_7F06FE2C(*(undefined4 *)(iParm1 + 0x1c), - (float)((uint)*(ushort *)(_DAT_80058478 + 0x8208) - 1)); - } - goto LAB_7f02b088; - } - uVar5 = *(uint *)(iParm1 + 0x30); - } - else { - uVar5 = *(uint *)(iParm1 + 0x30); - } - if ((uVar5 & 0x10) != 0) { - *(undefined4 *)(iParm1 + 0x30) = 0; - } - } - else { - iVar4 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)); - lVar2 = loc_7F02C4B0(iParm1,*(undefined4 *)(iParm1 + 0x3c), - (float)((uint)*(ushort *)(iVar4 + 4) - 1),0x3f800000,0); - *(undefined4 *)(iParm1 + 0x3c) = (int)lVar2; - if (lVar2 != 1) { - FUN_7f023928(iParm1,0x41000000); - *(undefined4 *)(iParm1 + 0x38) = 0; - if ((*(uint *)(iParm1 + 0x30) & 0x10) != 0) { - *(undefined4 *)(iParm1 + 0x30) = 0; - } - } - } -LAB_7f02b088: - *(undefined *)(iParm1 + 8) = 0; - return; -} - - - -void sub_7F02B4E0(int iParm1) - -{ - *(undefined *)(iParm1 + 8) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02b51c(int iParm1) - -{ - longlong lVar1; - undefined8 uVar2; - uint uVar3; - char cVar4; - float fVar5; - float fVar6; - - if (*(int *)(iParm1 + 0x30) == 0) { - fVar5 = (float)sub_7F06F5BC(*(undefined4 *)(iParm1 + 0x1c)); - fVar6 = (float)locret_7F06F608(*(undefined4 *)(iParm1 + 0x1c)); - if (fVar6 <= fVar5) { - loc_7F023E04(iParm1); - } - } - lVar1 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)); - if (lVar1 == (longlong)(_DAT_80058478 + 0xb9a8)) { - fVar5 = (float)sub_7F06F5BC(*(undefined4 *)(iParm1 + 0x1c)); - if (42.00000000 <= fVar5) { - if (*(int *)(iParm1 + 0x14) << 6 < 0) { - cVar4 = *(char *)(iParm1 + 8); - } - else { - if ((DAT_80041000 & 1) == 0) { - fVar5 = (float)FUN_7f032e28(iParm1); - if (fVar5 < 800.00000000) { - uVar2 = FUN_70008268(_DAT_80056900,0x101,0); - FUN_7f053cf0(uVar2,*(int *)(iParm1 + 0x18) + 8); - uVar3 = *(uint *)(iParm1 + 0x14); - } - else { - uVar3 = *(uint *)(iParm1 + 0x14); - } - } - else { - uVar3 = *(uint *)(iParm1 + 0x14); - } - *(uint *)(iParm1 + 0x14) = uVar3 | 0x2000000; - cVar4 = *(char *)(iParm1 + 8); - } - } - else { - cVar4 = *(char *)(iParm1 + 8); - } - } - else { - cVar4 = *(char *)(iParm1 + 8); - } - if ((cVar4 < '\x01') && (*(int *)(iParm1 + 0x38) != 0)) { - uVar3 = FUN_700098b0(); - *(char *)(iParm1 + 8) = (char)(uVar3 % 5) + '\x0e'; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F02B764(int iParm1) - -{ - int iVar3; - longlong lVar1; - ulonglong uVar2; - float fVar4; - undefined4 uVar5; - float fStack16; - undefined4 uStack12; - float fStack8; - undefined4 uStack4; - - if (*(char *)(iParm1 + 8) < '\x01') { - uStack4 = *(undefined4 *)(iParm1 + 0x1c); - *(undefined *)(iParm1 + 8) = 0x10; - iVar3 = sub_7F06F5AC(); - if ((iVar3 == _DAT_80058478 + 0x4504) && - (fVar4 = (float)sub_7F06F5BC(uStack4), 80.00000000 <= fVar4)) { - fStack16 = DAT_8002bf94; - uStack12 = DAT_8002bf98; - fStack8 = (float)DAT_8002bf9c; - uVar5 = FUN_7f06d228(uStack4); - fStack16 = (float)func_7F057FC4(uVar5); - fStack16 = -fStack16; - fStack8 = (float)func_7F057FC4(uVar5); - fStack8 = -fStack8; - lVar1 = sub_7F029A94(*(undefined4 *)(iParm1 + 0x18),&fStack16,0x41a00000); - if (lVar1 == 0) { - uVar2 = FUN_700098b0(); - FUN_7f06fe48(*(undefined4 *)(iParm1 + 0x1c),_DAT_80058478 + 0x4384,uVar2 & 1,0x41f00000, - 0x3f000000,0x41800000); - sub_7F06FDCC(*(undefined4 *)(iParm1 + 0x1c),0x41f00000,0x41800000); - } - } - } - return; -} - - - -void FUN_7f02b7a8(int iParm1) - -{ - int iVar1; - - if (*(int *)(iParm1 + 0x2c) < 0) { - *(undefined4 *)(iParm1 + 0x2c) = 0; - return; - } - iVar1 = *(int *)(iParm1 + 0x2c) + DAT_80040ff4; - *(int *)(iParm1 + 0x2c) = iVar1; - if (0x4a < iVar1) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 0x20; - return; - } - iVar1 = (0x4b - iVar1) * 0xff; - *(undefined *)(iParm1 + 0xc) = (char)(iVar1 / 0x4b); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - return; -} - - - -void loc_7F02B978(undefined2 *puParm1,longlong lParm2) - -{ - int iVar1; - int iVar2; - bool bVar3; - float fVar4; - int iVar6; - longlong lVar5; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - - iVar10 = 0; - iVar9 = 0; - iVar6 = actor_drops_itemtype_setting_timer(); - fVar4 = DAT_80047fc8; - if (*(char *)((int)puParm1 + 7) == '\x06') { - iVar10 = *(int *)(puParm1 + 0x16); - } - else { - if (*(char *)((int)puParm1 + 7) != '\x04') { - bVar3 = 0 < iVar6; - goto LAB_7f02b8a4; - } - iVar10 = *(int *)(puParm1 + 0x16); - } - bVar3 = iVar10 < iVar6; -LAB_7f02b8a4: - if (bVar3) { - iVar8 = iVar10 * 0x1dc; - do { - iVar7 = iVar8 + DAT_800281b4; - if (*(int *)(iVar7 + 0x1c) != 0) { - iVar1 = *(int *)(iVar7 + 0x18); - iVar2 = *(int *)(puParm1 + 0xc); - fVar11 = *(float *)(iVar1 + 8) - *(float *)(iVar2 + 8); - fVar12 = *(float *)(iVar1 + 0xc) - *(float *)(iVar2 + 0xc); - fVar13 = *(float *)(iVar1 + 0x10) - *(float *)(iVar2 + 0x10); - if (fVar11 * fVar11 + fVar12 * fVar12 + fVar13 * fVar13 < fVar4) { - iVar9 += 1; - lVar5 = FUN_7f0296d0(iVar7,iVar2 + 8,*(undefined4 *)(iVar2 + 0x14)); - if (lVar5 != 0) { - if (lParm2 == 0) { - *(undefined2 *)(iVar7 + 0x118) = *puParm1; - } - else { - *(undefined2 *)(iVar7 + 0x11a) = *puParm1; - } - } - } - } - iVar10 += 1; - iVar8 += 0x1dc; - } while ((iVar10 < iVar6) && (iVar9 < 4)); - } - if (*(char *)((int)puParm1 + 7) == '\x06') { - *(int *)(puParm1 + 0x16) = iVar10; - } - else { - if (*(char *)((int)puParm1 + 7) == '\x04') { - *(int *)(puParm1 + 0x16) = iVar10; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02b9d8(int iParm1) - -{ - undefined4 uVar1; - undefined8 uVar2; - int iVar4; - longlong lVar3; - float fVar5; - float fVar6; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined2 uStack12; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - uStack32 = DAT_8002bfa0; - uStack24 = DAT_8002bfa8; - uStack28 = DAT_8002bfa4; - uStack16 = DAT_8002bfb0; - uStack20 = DAT_8002bfac; - uStack12 = DAT_8002bfb4; - if (0.00000000 <= *(float *)(iParm1 + 0x30)) { - fVar6 = (float)sub_7F06F5BC(uVar1); - if (*(float *)(iParm1 + 0x30) <= fVar6) { - uVar2 = FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&uStack32 + DAT_8002bfb8 * 2),0); - FUN_7f053cf0(uVar2,*(int *)(iParm1 + 0x18) + 8); - DAT_8002bfb8 += 1; - if (10 < DAT_8002bfb8) { - DAT_8002bfb8 = 0; - } - *(undefined4 *)(iParm1 + 0x30) = 0xbf800000; - fVar6 = *(float *)(iParm1 + 0x34); - } - else { - fVar6 = *(float *)(iParm1 + 0x34); - } - } - else { - fVar6 = *(float *)(iParm1 + 0x34); - } - if ((0.00000000 <= fVar6) && - (fVar6 = (float)sub_7F06F5BC(uVar1), *(float *)(iParm1 + 0x34) <= fVar6)) { - uVar2 = FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&uStack32 + DAT_8002bfb8 * 2),0); - FUN_7f053cf0(uVar2,*(int *)(iParm1 + 0x18) + 8); - DAT_8002bfb8 += 1; - if (10 < DAT_8002bfb8) { - DAT_8002bfb8 = 0; - } - *(undefined4 *)(iParm1 + 0x34) = 0xbf800000; - } - fVar6 = (float)sub_7F06F5BC(uVar1); - fVar5 = (float)locret_7F06F608(uVar1); - if (fVar5 <= fVar6) { - iVar4 = sub_7F06F5AC(uVar1); - if (iVar4 == _DAT_80058478 + 0x540c) { - lVar3 = sub_7F06F5B4(uVar1); - fVar6 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x5688); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - FUN_7f06fe48(uVar1,_DAT_80058478 + 0x5684,(ulonglong)(lVar3 == 0),0x42480000,DAT_80047fcc, - (fVar6 - 1.00000000) - 50.00000000); - fVar6 = (float)(uint)*(ushort *)(_DAT_80058478 + 0x5688); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - loc_7F06FE84(uVar1,0x3f000000,(fVar6 - 1.00000000) - 50.00000000); - return; - } - FUN_7f0247a0(iParm1); - } - loc_7F02B978(iParm1,1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02bcb4(int iParm1) - -{ - undefined4 uVar1; - int iVar2; - float fVar3; - float fVar4; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - fVar3 = (float)sub_7F06F5BC(); - fVar4 = (float)locret_7F06F608(uVar1); - if (fVar4 <= fVar3) { - FUN_7f029be4(iParm1); - iVar2 = sub_7F06F5AC(uVar1); - if (iVar2 == _DAT_80058478 + 0x540c) { - FUN_7f023dfc(iParm1,0x41d00000); - } - else { - FUN_7f023e30(iParm1); - } - } - loc_7F02B978(iParm1,0); - return; -} - - - -void FUN_7f02bd54(int iParm1) - -{ - float fVar1; - float fVar2; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack4 = *(undefined4 *)(iParm1 + 0x1c); - fVar1 = (float)sub_7F06F5BC(); - fVar2 = (float)locret_7F06F608(uStack4); - if (fVar2 <= fVar1) { - uStack16 = *(undefined4 *)(iParm1 + 0x2c); - uStack12 = *(undefined4 *)(iParm1 + 0x30); - uStack8 = *(undefined4 *)(iParm1 + 0x34); - loc_7F026F20(iParm1,&uStack16,*(undefined4 *)(iParm1 + 0x38),*(undefined4 *)(iParm1 + 0x3c), - *(undefined4 *)(iParm1 + 0x40)); - } - return; -} - - - -void FUN_7f02bdd8(int iParm1) - -{ - undefined4 uVar1; - float fVar2; - float fVar3; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - fVar2 = (float)sub_7F06F5BC(); - fVar3 = (float)locret_7F06F608(uVar1); - if (fVar3 <= fVar2) { - FUN_7f029be4(iParm1); - FUN_7f023dfc(iParm1,0x41200000); - } - return; -} - - - -void FUN_7f02be34(int iParm1) - -{ - undefined4 uVar1; - float fVar2; - float fVar3; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - fVar2 = (float)sub_7F06F5BC(); - fVar3 = (float)locret_7F06F608(uVar1); - if (fVar3 <= fVar2) { - FUN_7f029be4(iParm1); - FUN_7f023e30(iParm1); - } - return; -} - - - -void FUN_7f02be8c(int iParm1) - -{ - undefined4 uVar1; - float fVar2; - float fVar3; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - fVar2 = (float)sub_7F06F5BC(); - fVar3 = (float)locret_7F06F608(uVar1); - if (fVar3 <= fVar2) { - loc_7F023E04(iParm1); - } - return; -} - - - -void FUN_7f02bedc(int iParm1) - -{ - undefined4 uVar1; - float fVar2; - float fVar3; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - fVar2 = (float)sub_7F06F5BC(); - if (60.00000000 <= fVar2) { - FUN_7f0560a8(); - } - fVar2 = (float)sub_7F06F5BC(uVar1); - fVar3 = (float)locret_7F06F608(uVar1); - if (fVar3 <= fVar2) { - FUN_7f023e30(iParm1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02bf58(int iParm1) - -{ - undefined4 uVar1; - int iVar2; - float fVar3; - float fVar4; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - fVar3 = (float)sub_7F06F5BC(uVar1); - fVar4 = (float)locret_7F06F608(uVar1); - if (fVar4 <= fVar3) { - iVar2 = sub_7F06F5AC(uVar1); - if (iVar2 == _DAT_80058478 + 0x4384) { - FUN_7f023dfc(iParm1,0x41d00000); - } - else { - iVar2 = sub_7F06F5AC(uVar1); - if (iVar2 == _DAT_80058478 + 0x5d10) { - FUN_7f023dfc(iParm1,0x41d00000); - } - else { - FUN_7f023e30(iParm1); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02c018(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - bool bVar2; - undefined6 extraout_var; - undefined6 extraout_var_00; - undefined6 extraout_var_01; - undefined extraout_var_02; - undefined extraout_var_03; - undefined extraout_var_04; - undefined extraout_var_05; - undefined extraout_v0_lo; - byte extraout_v0_lo_00; - undefined extraout_v0_lo_01; - undefined extraout_v0_lo_02; - undefined extraout_v0_lo_03; - int iVar3; - undefined4 *puVar4; - - something_with_weaponpos_of_guarddata_hand(); - iVar3 = *(int *)((int)CONCAT71(CONCAT61(extraout_var,extraout_var_02),extraout_v0_lo) + 4); - FUN_7f05e4a8(*(undefined *)(iVar3 + 0x80)); - FUN_7f05e4cc(*(undefined *)(iVar3 + 0x80)); - bVar2 = false; - if (iParm3 != 0) { - if (extraout_v0_lo_00 == 0) { - bVar2 = true; - } - else { - if (((*(ushort *)(iParm1 + 0x12) & 0x80) == 0) && - (*(int *)(iParm1 + iParm2 * 4 + 0x178) < DAT_80040ffc)) { - bVar2 = true; - } - } - } - if (bVar2) { - iVar3 = iParm1 + iParm2 * 8; - if (*(int *)(iVar3 + 0x168) == 0) { - iVar1 = *(int *)(iVar3 + 0x16c); - } - else { - locret_70008E00(); - if (CONCAT71(CONCAT61(extraout_var_00,extraout_var_04),extraout_v0_lo_02) != 0) { - loc_7000905C(*(undefined4 *)(iVar3 + 0x168)); - } - iVar1 = *(int *)(iVar3 + 0x16c); - } - if ((iVar1 != 0) && - (locret_70008E00(), - CONCAT71(CONCAT61(extraout_var_01,extraout_var_05),extraout_v0_lo_03) != 0)) { - loc_7000905C(*(undefined4 *)(iVar3 + 0x16c)); - } - if (CONCAT11(extraout_var_03,extraout_v0_lo_01) != 0) { - puVar4 = NULL; - if (*(int *)(iVar3 + 0x168) == 0) { - puVar4 = (undefined4 *)(iVar3 + 0x168); - } - else { - if (*(int *)(iVar3 + 0x16c) == 0) { - puVar4 = (undefined4 *)(iVar3 + 0x16c); - } - } - if (puVar4 != NULL) { - FUN_70008268(_DAT_80056900,CONCAT11(extraout_var_03,extraout_v0_lo_01)); - FUN_7f053cf0(*puVar4,*(int *)(iParm1 + 0x18) + 8); - *(int *)(iParm1 + iParm2 * 4 + 0x178) = DAT_80040ffc + (uint)extraout_v0_lo_00; - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 0x80; - } - } - } - return; -} - - - -float FUN_7f02c1c4(int iParm1) - -{ - bool bVar1; - char cVar2; - float fVar3; - float fVar4; - - fVar3 = (float)FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - fVar3 = fVar3 + *(float *)(iParm1 + 0x14c); - fVar4 = 0.00000000; - if (DAT_80047fd0 <= fVar3) { - fVar3 = fVar3 - DAT_80047fd0; -LAB_7f02c22c: - cVar2 = *(char *)(iParm1 + 7); - } - else { - if (fVar3 < 0.00000000) { - fVar3 = fVar3 + DAT_80047fd0; - goto LAB_7f02c22c; - } - cVar2 = *(char *)(iParm1 + 7); - } - if ((cVar2 == '\b') || (cVar2 == '\n')) { - fVar4 = *(float *)(*(int *)(iParm1 + 0x2c) + 0xc); - } - else { - if (cVar2 != '\x19') { - bVar1 = true; - goto code_r0x7f02c274; - } - if (*(int *)(iParm1 + 0x2c) == 0) { - bVar1 = true; - goto code_r0x7f02c274; - } - fVar4 = *(float *)(*(int *)(iParm1 + 0x2c) + 0xc); - } - bVar1 = fVar4 == 0.00000000; -code_r0x7f02c274: - if (!bVar1) { - if (*(char *)(*(int *)(iParm1 + 0x1c) + 0x24) != '\0') { - fVar4 = DAT_80047fd0 - fVar4; - } - fVar3 = fVar3 + fVar4; - if (DAT_80047fd0 <= fVar3) { - fVar3 = fVar3 - DAT_80047fd0; - } - } - return fVar3; -} - - - -float FUN_7f02c2b0(int iParm1) - -{ - float fVar1; - - fVar1 = *(float *)(iParm1 + 0x144) + *(float *)(iParm1 + 0x148); - if (fVar1 < 0.00000000) { - fVar1 = fVar1 + DAT_80047fd4; - } - return fVar1; -} - - - -undefined4 loc_7F02C4B0(int iParm1,longlong lParm2,float fParm3,float fParm4,float fParm5) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - undefined4 uStackX4; - - uStackX4 = (undefined4)lParm2; - if (lParm2 != 2) { - iVar1 = *(int *)(iParm1 + 0x1c); - fVar3 = (float)sub_7F06F5BC(); - fVar5 = (float)FUN_7f06d228(iVar1); - fVar6 = DAT_80047fd8 * fParm4 * DAT_80040ff8 * *(float *)(iVar1 + 0xa4); - if (*(char *)(iParm1 + 7) == '\b') { - fVar4 = (float)loc_7F025160(iParm1,*(undefined4 *)(iParm1 + 0x4c), - *(undefined4 *)(iParm1 + 0x50)); - } - else { - if (*(char *)(iParm1 + 7) == '\x01') { - fVar4 = (float)loc_7F025160(iParm1,*(undefined4 *)(iParm1 + 0x30), - *(undefined4 *)(iParm1 + 0x34)); - } - else { - iVar2 = FUN_7f089900(iParm1); - fVar4 = (float)FUN_7f032c1c(iParm1,iVar2 + 8); - } - } - fVar4 = fVar4 - fParm5; - if (fVar4 < 0.00000000) { - fVar4 = fVar4 + DAT_80047fdc; - } - if ((fVar4 < fVar6) || (DAT_80047fe0 - fVar6 < fVar4)) { - fVar5 = fVar5 + fVar4; - if (DAT_80047fe0 <= fVar5) { - fVar5 = fVar5 - DAT_80047fe0; - } - FUN_7f06d274(iVar1,fVar5); - uStackX4 = 3; - } - else { - if (DAT_80047fe4 <= fVar4) { - fVar5 = fVar5 - fVar6; - if (fVar5 < 0.00000000) { - fVar5 = fVar5 + DAT_80047fe0; - } - FUN_7f06d274(iVar1,fVar5); - } - else { - fVar5 = fVar5 + fVar6; - if (DAT_80047fe0 <= fVar5) { - fVar5 = fVar5 - DAT_80047fe0; - } - FUN_7f06d274(iVar1,fVar5); - } - } - if (fParm3 <= fVar3) { - uStackX4 = 2; - } - } - return uStackX4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F02D004(short *psParm1,int iParm2,undefined4 uParm3,int iParm4,float fParm5) - -{ - int *piVar1; - int iVar2; - int iVar5; - longlong lVar3; - uint uVar6; - undefined8 uVar4; - bool bVar7; - uint uVar8; - undefined4 uVar9; - float fVar10; - float fVar11; - float fStack292; - undefined4 uStack288; - float fStack284; - undefined4 uStack280; - undefined4 uStack276; - undefined4 uStack272; - float afStack268 [2]; - float fStack260; - undefined auStack256 [48]; - undefined4 uStack208; - undefined4 uStack204; - undefined4 uStack200; - undefined4 uStack188; - undefined4 uStack184; - undefined4 uStack180; - undefined4 *puStack176; - undefined auStack172 [72]; - undefined4 uStack100; - undefined4 uStack96; - undefined4 uStack92; - int iStack88; - float fStack80; - float fStack72; - float fStack68; - float fStack64; - undefined auStack60 [4]; - float fStack56; - float *pfStack52; - int iStack48; - int iStack44; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - undefined4 uStack20; - undefined4 uStack16; - uint uStack12; - float fStack8; - float fStack4; - - uStack20 = 1; - fStack4 = 0.00000000; - uVar8 = 1; - uVar9 = 0; - if (*(char *)((int)psParm1 + 7) == '\b') { - uVar8 = *(uint *)(psParm1 + 0x26); - uVar9 = *(undefined4 *)(psParm1 + 0x28); - } - else { - if (*(char *)((int)psParm1 + 7) != '\x01') { - uVar6 = 0; - goto LAB_7f02c550; - } - uVar8 = *(uint *)(psParm1 + 0x18); - uVar9 = *(undefined4 *)(psParm1 + 0x1a); - } - uVar6 = uVar8 & 2; -LAB_7f02c550: - fStack8 = 0.00000000; - if (uVar6 == 0) { - fStack8 = 0.00000000; - uStack16 = uVar9; - uStack12 = uVar8; - iVar5 = FUN_7f089900(); - pfStack52 = (float *)(iVar5 + 8); - iStack44 = *(int *)(psParm1 + 0xc); - uVar8 = uStack12 & 1; - fStack24 = *(float *)(iVar5 + 8) - *(float *)(iStack44 + 8); - fStack28 = *(float *)(iVar5 + 0xc) - *(float *)(iStack44 + 0xc); - fStack32 = *(float *)(iVar5 + 0x10) - *(float *)(iStack44 + 0x10); - fVar11 = fStack24 * fStack24 + fStack28 * fStack28 + fStack32 * fStack32; - if (uVar8 == 0) { - iStack48 = 1; - fStack36 = fVar11; - } - else { - if ((uStack12 & 0x40) == 0) { - fStack36 = fVar11; - iStack48 = FUN_7f0294f0(psParm1); - } - else { - iStack48 = 1; - fStack36 = fVar11; - } - } - if (uVar8 == 0) { - FUN_7f06d1d8(*(undefined4 *)(psParm1 + 0xe)); - pfStack52 = (float *)FUN_7f032cbc(psParm1,uStack12,uStack16,auStack60); - fStack24 = *pfStack52 - fStack72; - fStack28 = pfStack52[1] - fStack68; - fStack32 = pfStack52[2] - fStack64; - } - else { - fStack56 = (float)FUN_7f0898e8(_DAT_80068bc0,&fStack72); - if ((*(uint *)(psParm1 + 10) & 0x20) == 0) { - if (DAT_80048008 < fVar11) { - uVar6 = FUN_700098b0(); - if (uVar6 % 3 == 0) { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = fStack28 + - fStack56 * (DAT_80048010 + DAT_8004800c * fVar11 * 0.00000000 * fParm5); - } - else { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80048018 + DAT_80048014 * fVar11 * 0.00000000 * fParm5); - } - } - else { - if (*(float *)(iStack44 + 0xc) < pfStack52[1] - fStack56) { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80048020 + DAT_8004801c * fVar11 * 0.00000000 * fParm5); - } - else { - if (pfStack52[1] - fStack56 * 0.50000000 < *(float *)(iStack44 + 0xc)) { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80048028 + DAT_80048024 * fVar11 * 0.00000000 * fParm5); - } - else { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = (fVar11 * 0.00000000 * DAT_8004802c * fParm5 - DAT_80048030) * fStack56; - } - } - } - } - else { - if (fVar11 < DAT_80047fe8) { - if (*(float *)(iStack44 + 0xc) < pfStack52[1] - (fStack56 + fStack56)) { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80047ff0 + DAT_80047fec * fVar11 * 0.00000000 * fParm5); - } - else { - if (pfStack52[1] - fStack56 * 0.50000000 < *(float *)(iStack44 + 0xc)) { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80047ff8 + DAT_80047ff4 * fVar11 * 0.00000000 * fParm5); - } - else { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = (fVar11 * 0.00000000 * DAT_80047ffc * fParm5 + 1.00000000) * 40.00000000; - } - } - } - else { - lVar3 = FUN_700098b0(); - fVar11 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack28 = fStack28 + - fStack56 * (DAT_80048004 - DAT_80048000 * fVar11 * 0.00000000 * fParm5); - } - } - } - if ((uStack12 & 0x100) == 0) { - uVar9 = sqrtf(fStack24 * fStack24 + fStack32 * fStack32); - fStack4 = (float)convert_angle_using_inverse(fStack28,uVar9); - if (DAT_80048034 <= fStack4) { - fStack4 = fStack4 - DAT_80048038; - } - } - if (iStack48 != 0) { - fStack80 = (float)FUN_7f02c1c4(psParm1); - if (iParm4 == 0) { - iVar5 = something_with_weaponpos_of_guarddata_hand(psParm1,1); - } - else { - iVar5 = something_with_weaponpos_of_guarddata_hand(psParm1,0); - } - if (((iVar5 != 0) && ((*(byte *)(iVar5 + 1) & 2) != 0)) && (fStack36 < DAT_8004803c)) { - bVar7 = false; - iVar5 = *(int *)(*(int *)(iVar5 + 4) + 0x14); - piVar1 = *(int **)(*(int *)(iVar5 + 8) + 8); - iVar2 = *piVar1; - if (iVar2 == 0) { - iVar2 = piVar1[1]; - if (iVar2 != 0) { - uVar4 = FUN_7f06cd98(iVar5,iVar2,0); - FUN_7f059320(uVar4,auStack256); - uVar4 = FUN_7f0784d4(); - FUN_7f058540(uVar4,auStack256); - bVar7 = true; - uStack100 = uStack208; - uStack96 = uStack204; - uStack92 = uStack200; - } - } - else { - iStack88 = iVar5; - uVar4 = FUN_7f06cd98(iVar5,iVar2,0); - puStack176 = *(undefined4 **)(**(int **)(*(int *)(iStack88 + 8) + 8) + 4); - FUN_7f059320(uVar4,auStack172); - uVar4 = FUN_7f0784d4(); - FUN_7f058540(uVar4,auStack172); - uStack188 = *puStack176; - uStack184 = puStack176[1]; - uStack180 = puStack176[2]; - FUN_7f05891c(auStack172,&uStack188); - bVar7 = true; - uStack100 = uStack188; - uStack96 = uStack184; - uStack92 = uStack180; - } - if (bVar7) { - uStack280 = func_7F057FC4(fStack80); - uStack276 = 0; - uStack272 = func_7F057FC4(fStack80); - fStack292 = *(float *)(iStack44 + 8) - fStack32; - uStack288 = *(undefined4 *)(iStack44 + 0xc); - fStack284 = *(float *)(iStack44 + 0x10) + fStack24; - locret_7F026244(iStack44 + 8,&fStack292,&uStack100,&uStack280,afStack268); - fStack24 = *pfStack52 - afStack268[0]; - fStack32 = pfStack52[2] - fStack260; - } - } - fVar11 = (float)convert_angle_using_inverse(fStack24,fStack32); - fStack8 = fVar11 - fStack80; - if (fVar11 < fStack80) { - fStack8 = fStack8 + DAT_80048040; - } - iVar5 = loc_7F06C888(*(int *)(psParm1 + 0xe),**(undefined4 **)(*(int *)(psParm1 + 0xe) + 8)); - if (0.00000000 < *(float *)(iVar5 + 0x5c)) { - fStack8 = fStack8 - *(float *)(iVar5 + 0x5c) * *(float *)(iVar5 + 0x58); - if (fStack8 < 0.00000000) { - fStack8 = fStack8 + DAT_80048044; - } - if (DAT_80048048 <= fStack8) { - fStack8 = fStack8 - DAT_80048048; - } - } - if ((uVar8 != 0) && ((uStack12 & 0x60) == 0)) { - fVar11 = (float)func_7F057FC4(((float)(((int)((float)DAT_80040ffc * - *(float *)(*(int *)(psParm1 + 0xe) + 0xa4)) + - (int)*psParm1) % 0x3c) * DAT_8004804c) / 60.00000000) - ; - fVar10 = (float)FUN_7f02d278(fStack36); - fStack8 = fStack8 + fVar10 * 0.50000000 * fVar11; - if (fStack8 < 0.00000000) { - fStack8 = fStack8 + DAT_80048050; - } - if (DAT_80048054 <= fStack8) { - fStack8 = fStack8 - DAT_80048058; - } - } - if (DAT_80048060 <= fStack8) { - fStack8 = fStack8 - DAT_8004805c; - iVar5 = *(int *)(psParm1 + 0xe); - } - else { - iVar5 = *(int *)(psParm1 + 0xe); - } - fVar11 = fStack8 + *(float *)(psParm1 + 0xa6); - if (*(char *)(iVar5 + 0x24) == '\0') { - if (*(float *)(iParm2 + 0x38) < fVar11) { - uStack20 = 0; - fStack8 = *(float *)(iParm2 + 0x38); - } - else { - fStack8 = fVar11; - if (fVar11 < *(float *)(iParm2 + 0x3c)) { - uStack20 = 0; - fStack8 = *(float *)(iParm2 + 0x3c); - } - } - } - else { - fStack8 = -*(float *)(iParm2 + 0x38); - if (fVar11 < fStack8) { - uStack20 = 0; - } - else { - fStack8 = fVar11; - if (-*(float *)(iParm2 + 0x3c) < fVar11) { - uStack20 = 0; - fStack8 = -*(float *)(iParm2 + 0x3c); - } - } - } - } - } - locret_7F02D0F0(psParm1,iParm2,uParm3,iParm4,fStack4); - *(undefined *)(psParm1 + 7) = 10; - *(float *)(psParm1 + 0xae) = fStack8; - return uStack20; -} - - - -void locret_7F02D0F0(int iParm1,int iParm2,longlong lParm3,longlong lParm4,float param_5) - -{ - float fVar1; - float fVar2; - - fVar1 = 0.00000000; - fVar2 = 0.00000000; - if (iParm2 != 0) { - fVar1 = *(float *)(iParm2 + 0x30); - if ((fVar1 < param_5) || (fVar1 = *(float *)(iParm2 + 0x34), param_5 < fVar1)) { - fVar2 = param_5 - fVar1; - param_5 = fVar1; - } - if (0.00000000 < param_5) { - fVar1 = *(float *)(iParm2 + 0x40) * param_5; - } - else { - fVar1 = *(float *)(iParm2 + 0x44) * param_5; - } - } - if (lParm4 == 0) { - *(float *)(iParm1 + 0x154) = fVar1; - *(float *)(iParm1 + 0x150) = param_5; - } - else { - *(float *)(iParm1 + 0x154) = param_5; - if (lParm3 == 0) { - *(float *)(iParm1 + 0x150) = fVar1; - } - else { - *(float *)(iParm1 + 0x150) = param_5; - } - } - *(float *)(iParm1 + 0x158) = fVar2; - return; -} - - - -void sub_7F02D0F8(int iParm1) - -{ - *(undefined *)(iParm1 + 0xe) = 10; - *(undefined4 *)(iParm1 + 0x154) = 0; - *(undefined4 *)(iParm1 + 0x150) = 0; - *(undefined4 *)(iParm1 + 0x158) = 0; - *(undefined4 *)(iParm1 + 0x15c) = 0; - return; -} - - - -void FUN_7f02d14c(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3) - -{ - longlong lVar1; - - lVar1 = something_with_weaponpos_of_guarddata_hand(); - if (lVar1 != 0) { - loc_7F0525F8(lVar1,uParm3); - } - return; -} - - - -undefined8 FUN_7f02d17c(void) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = something_with_weaponpos_of_guarddata_hand(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = FUN_7f0528e4(lVar1); - } - return uVar2; -} - - - -void FUN_7f02d1b8(undefined8 uParm1) - -{ - FUN_7f02d14c(uParm1,0,0); - FUN_7f02d14c((int)uParm1,1,0); - sub_7F02D0F8((int)uParm1); - return; -} - - - -void loc_7F02D238(int iParm1,longlong lParm2,longlong lParm3) - -{ - if (lParm3 == 0) { - if (lParm2 == 1) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) & 0xfffb; - } - else { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) & 0xfff7; - } - } - else { - if (lParm2 == 1) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 4; - } - else { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 8; - } - } - if (lParm3 == 0) { - FUN_7f02d14c(iParm1,lParm2,0); - } - return; -} - - - -undefined4 FUN_7f02d278(float fParm1) - -{ - if (DAT_80048064 < fParm1) { - return DAT_80048068; - } - if (DAT_8004806c < fParm1) { - return DAT_80048070; - } - if (DAT_80048074 < fParm1) { - return DAT_80048078; - } - if (fParm1 <= DAT_8004807c) { - return DAT_80048084; - } - return DAT_80048080; -} - - - -// WARNING: Instruction at (ram,0x7f02d618) overlaps instruction at (ram,0x7f02d614) -// - -void FUN_7f02d318(int iParm1,uint *puParm2,undefined4 *puParm3,int iParm4) - -{ - char cVar1; - int iVar2; - int iVar4; - longlong lVar3; - uint uVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - iVar4 = FUN_7f089900(); - iVar2 = *(int *)(iParm1 + 0x18); - fVar10 = *(float *)(iVar4 + 8) - *(float *)(iVar2 + 8); - fVar9 = *(float *)(iVar4 + 0xc) - *(float *)(iVar2 + 0xc); - fVar11 = *(float *)(iVar4 + 0x10) - *(float *)(iVar2 + 0x10); - fVar7 = (float)convert_angle_using_inverse(); - fVar6 = (float)FUN_7f02c1c4(iParm1); - fVar7 = fVar7 - fVar6; - fVar8 = (float)FUN_7f02d278(); - if (fVar7 < 0.00000000) { - fVar7 = fVar7 + DAT_80048088; - } - uVar5 = (uint)(fVar7 < fVar8); - if (fVar7 >= fVar8) { - uVar5 = 0; - if (fVar7 <= DAT_8004808c - fVar8) { - *puParm2 = 0; - goto LAB_7f02d420; - } - uVar5 = 1; - } - *puParm2 = uVar5; -LAB_7f02d420: - *puParm3 = 0; - lVar3 = FUN_7f08a040(); - if ((lVar3 == 0) && (uVar5 != 0)) { - fVar7 = (float)sqrtf(fVar10 * fVar10 + fVar9 * fVar9 + fVar11 * fVar11); - fVar8 = DAT_80048090 * DAT_80041004; - if (300.00000000 < fVar7) { - fVar8 = fVar8 * (300.00000000 / fVar7); - cVar1 = *(char *)(iParm1 + 2); - } - else { - cVar1 = *(char *)(iParm1 + 2); - } - if (cVar1 < '\x01') { - if (cVar1 < '\0') { - if (cVar1 < -99) { - fVar8 = 0.00000000; - } - else { - fVar8 = fVar8 * ((float)((int)cVar1 + 100) / 100.00000000); - } - } - } - else { - fVar8 = fVar8 * ((float)(int)cVar1 / 10.00000000 + 1.00000000); - } - fVar7 = (float)FUN_7f01d1c0(); - if (fVar7 <= 1.00000000) { - fVar7 = (float)FUN_7f01d1c0(); - } - else { - fVar7 = (float)FUN_7f01d1c0(); - fVar7 = 9.00000000 / (DAT_80048094 - fVar7); - } - fVar7 = fVar8 * fVar7 * DAT_80028390; - lVar3 = FUN_7f05e484(iParm4); - if (lVar3 < 1) { - fVar7 = fVar7 + fVar7; - } - if ((iParm4 == 0xf) || (iParm4 == 0x10)) { - fVar7 = fVar7 + fVar7; - fVar8 = *(float *)(iParm1 + 0x13c); - } - else { - fVar8 = *(float *)(iParm1 + 0x13c); - } - *(float *)(iParm1 + 0x13c) = fVar8 + fVar7; - if (1.00000000 <= *(float *)(iParm1 + 0x13c)) { - fVar7 = (float)FUN_7f05e43c(); - fVar8 = (float)FUN_7f01d184(); - fVar8 = fVar8 * fVar7 * 0.12500000 * DAT_80028394; - if ((iParm4 == 0xf) || (iParm4 == 0x10)) { - fVar8 = fVar8 * 3.00000000; - } - FUN_7f089fe8(fVar8,fVar6); - *(undefined4 *)(iParm1 + 0x13c) = 0; - lVar3 = FUN_7f08a040(); - if (lVar3 != 0) { - *puParm3 = 1; - } - } - } - return; -} - - - -undefined8 FUN_7f02d664(undefined8 uParm1,undefined8 uParm2,undefined4 *puParm3) - -{ - int *piVar1; - undefined4 *puVar2; - int iVar3; - undefined8 uVar4; - undefined auStack156 [48]; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack100; - undefined4 uStack92; - undefined auStack84 [64]; - undefined4 uStack20; - int iStack12; - - iVar3 = something_with_weaponpos_of_guarddata_hand(); - uVar4 = 0; - if ((iVar3 != 0) && - (iStack12 = *(int *)(*(int *)(iVar3 + 4) + 0x14), (*(byte *)(iVar3 + 1) & 2) != 0)) { - piVar1 = *(int **)(*(int *)(iStack12 + 8) + 8); - iVar3 = *piVar1; - if (iVar3 == 0) { - iVar3 = piVar1[1]; - if (iVar3 != 0) { - uStack92 = FUN_7f06cd98(iStack12,iVar3,0); - uVar4 = FUN_7f0784c4(); - loc_7F05823C(uVar4,uStack92,auStack156); - uVar4 = 1; - *puParm3 = uStack108; - puParm3[1] = uStack104; - puParm3[2] = uStack100; - } - } - else { - uStack20 = FUN_7f06cd98(iStack12,iVar3,0); - puVar2 = *(undefined4 **)(**(int **)(*(int *)(iStack12 + 8) + 8) + 4); - *puParm3 = *puVar2; - puParm3[1] = puVar2[1]; - puParm3[2] = puVar2[2]; - uVar4 = FUN_7f0784c4(); - loc_7F05823C(uVar4,uStack20,auStack84); - FUN_7f05891c(auStack84,puParm3); - uVar4 = 1; - } - } - return uVar4; -} - - - -// WARNING: Instruction at (ram,0x7f02e0b8) overlaps instruction at (ram,0x7f02e0b4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02d768(int iParm1,int iParm2) - -{ - char cVar1; - int iVar3; - longlong lVar2; - int iVar4; - undefined4 uVar5; - uint uVar6; - float fVar7; - undefined4 uVar8; - float fVar9; - float fVar10; - undefined auStack556 [64]; - undefined auStack492 [64]; - float fStack428; - float fStack424; - float fStack420; - undefined auStack416 [64]; - int iStack352; - undefined auStack348 [64]; - undefined auStack284 [64]; - float fStack220; - float fStack216; - float fStack212; - float fStack204; - float fStack200; - float fStack196; - undefined auStack192 [64]; - int iStack128; - float fStack124; - int iStack108; - float fStack104; - float fStack100; - float fStack96; - uint uStack92; - int iStack88; - int iStack84; - int iStack80; - int iStack76; - float fStack72; - float fStack68; - float fStack64; - undefined4 uStack60; - undefined4 uStack56; - int iStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack36; - int iStack32; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x18); - iVar3 = something_with_weaponpos_of_guarddata_hand(); - if (iVar3 == 0) { - return; - } - iStack12 = 0; - iStack16 = 0; - iStack20 = *(int *)(iVar3 + 4); - iStack24 = FUN_7f089900(); - if (*(char *)(iParm1 + 7) == '\b') { - uVar6 = *(uint *)(iParm1 + 0x4c) & 1; - } - else { - uVar6 = 1; - } - if (((uVar6 != 0) && (*(int *)(iParm1 + 0xe8) < DAT_80040ffc + -100)) && - (lVar2 = FUN_7f05e484(*(undefined *)(iStack20 + 0x80)), -1 < lVar2)) goto LAB_7f02e280; - iStack32 = 0; - iStack36 = 0; - iVar3 = iParm1 + iParm2; - *(char *)(iVar3 + 4) = *(char *)(iVar3 + 4) + '\x01'; - lVar2 = FUN_7f05e484(*(undefined *)(iStack20 + 0x80)); - if (lVar2 < 0) { - iStack32 = 1; - iStack36 = 1; - } - else { - lVar2 = FUN_7f05e484(*(undefined *)(iStack20 + 0x80)); - if (lVar2 == 0) { - trap(0x1c00); - } - if ((lVar2 == -1) && ((ulonglong)*(byte *)(iVar3 + 4) == 0xffffffff80000000)) { - trap(0x1800); - } - if ((int)(uint)*(byte *)(iVar3 + 4) % (int)lVar2 == 0) { - iStack32 = 1; - iVar4 = FUN_7f05e484(*(undefined *)(iStack20 + 0x80)); - iVar4 <<= 1; - if (iVar4 == 0) { - trap(0x1c00); - } - if ((iVar4 == -1) && ((ulonglong)*(byte *)(iVar3 + 4) == 0xffffffff80000000)) { - trap(0x1800); - } - if (((int)(uint)*(byte *)(iVar3 + 4) % iVar4 == 0) || (*(char *)(iStack20 + 0x80) == '\x16')) - { - iStack36 = 1; - } - } - else { - iStack16 = 1; - } - } - if (iStack32 != 0) { - iStack52 = 0; - uStack56 = FUN_7f02c1c4(iParm1); - uStack60 = FUN_7f02c2b0(iParm1); - iStack76 = *(int *)(iStack4 + 0x14); - iStack12 = 1; - lVar2 = FUN_7f02d664(iParm1,iParm2,&fStack72); - if (lVar2 == 0) { - fStack72 = *(float *)(iStack4 + 8); - fStack68 = *(float *)(iStack4 + 0xc) + 30.00000000; - fStack64 = *(float *)(iStack4 + 0x10); - if (iParm2 == 1) { - fVar7 = (float)func_7F057FC4(uStack56); - fStack72 = fStack72 + fVar7 * 10.00000000; - fVar7 = (float)func_7F057FC4(uStack56); - fStack64 = fStack64 + -fVar7 * 10.00000000; - } - else { - fVar7 = (float)func_7F057FC4(uStack56); - fStack72 = fStack72 + -fVar7 * 10.00000000; - fVar7 = (float)func_7F057FC4(uStack56); - fStack64 = fStack64 + fVar7 * 10.00000000; - } - } - fVar7 = fStack68 - *(float *)(iParm1 + 0xac); - lVar2 = loc_7F0B13B4(&iStack76,*(undefined4 *)(iStack4 + 8),*(undefined4 *)(iStack4 + 0x10), - fStack72,fStack64,2,fVar7,fVar7,0,0x3f800000); - if (lVar2 == 0) { - *(char *)(iVar3 + 4) = *(char *)(iVar3 + 4) + -1; - iStack12 = 0; - } - else { - iStack80 = iStack76; - } - if (iStack12 != 0) { - iStack84 = 0; - iStack88 = 0; - uStack92 = 1; - iStack108 = loc_7F0294A8(iParm1,&fStack72,iStack80); - fVar7 = (float)func_7F057FC4(uStack60); - fStack104 = (float)func_7F057FC4(uStack56); - fStack104 = fStack104 * fVar7; - fStack100 = (float)func_7F057FC4(uStack60); - fVar7 = (float)func_7F057FC4(uStack60); - fStack96 = (float)func_7F057FC4(uStack56); - fStack96 = fStack96 * fVar7; - fStack48 = fStack104 * 65536.00000000 + fStack72; - fStack44 = fStack100 * 65536.00000000 + fStack68; - fStack40 = fStack96 * 65536.00000000 + fStack64; - loc_7F01F604(iParm1,0); - FUN_7f0b0f84(); - iStack76 = iStack80; - lVar2 = loc_7F0B13B4(&iStack76,fStack72,fStack64,fStack48,fStack40,0x1b,fStack68,fStack68, - fStack44,fStack44); - if (lVar2 == 0) { - FUN_7f026264(&fStack72,&fStack104,&fStack48); - iStack52 = iStack76; - fStack48 = fStack48 - fStack104 * 26.00000000; - fStack44 = fStack44 - fStack100 * 26.00000000; - fStack40 = fStack40 - fStack96 * 26.00000000; - } - loc_7F01F604(iParm1,1); - fVar7 = fStack48 - fStack72; - fVar9 = fStack44 - fStack68; - fVar10 = fStack40 - fStack64; - fStack124 = fVar7 * fVar7 + fVar9 * fVar9 + fVar10 * fVar10; - if (*(char *)(iStack20 + 0x80) == '\x19') { - if (DAT_80048098 < fVar7 * fVar7 + fVar9 * fVar9 + fVar10 * fVar10) { - iStack128 = FUN_7f05234c(0xca,0x56); - if (iStack128 != 0) { - sub_GAME_7F05A9B8(auStack192); - FUN_7f058a18(uStack60); - FUN_7f058aa4(uStack56); - FUN_7f058540(auStack348,auStack284); - fStack220 = fStack104 * DAT_8004809c; - fStack216 = fStack100 * DAT_8004809c; - fStack212 = fStack96 * DAT_8004809c; - fStack204 = fStack220 * DAT_80041004; - fStack200 = fStack216 * DAT_80041004; - fStack196 = fStack212 * DAT_80041004; - loc_7F05EC0C(iStack128,&fStack72,iStack80,auStack284,&fStack204,auStack192,iStack4); - if ((*(uint *)(iStack128 + 100) & 0x80) != 0) { - **(uint **)(iStack128 + 0x6c) = **(uint **)(iStack128 + 0x6c) | 0x80; - *(undefined2 *)(iStack128 + 0x82) = 0xffff; - **(uint **)(iStack128 + 0x6c) = **(uint **)(iStack128 + 0x6c) | 0x20; - *(undefined4 *)(*(int *)(iStack128 + 0x6c) + 0xb0) = *(undefined4 *)(iStack128 + 0x5c) - ; - *(undefined4 *)(*(int *)(iStack128 + 0x6c) + 0xb4) = - *(undefined4 *)(*(int *)(iStack128 + 0x6c) + 8); - *(float *)(*(int *)(iStack128 + 0x6c) + 0x10) = fStack220; - *(float *)(*(int *)(iStack128 + 0x6c) + 0x14) = fStack216; - *(float *)(*(int *)(iStack128 + 0x6c) + 0x18) = fStack212; - iVar3 = *(int *)(iStack128 + 0x6c); - if (*(int *)(iVar3 + 0x98) == 0) { - FUN_70008268(_DAT_80056900,1,iVar3 + 0x98); - } - else { - if (*(int *)(iVar3 + 0x9c) == 0) { - FUN_70008268(_DAT_80056900,1,iVar3 + 0x9c); - } - } - } - } - } - else { - iStack12 = 0; - } - } - else { - if (*(char *)(iStack20 + 0x80) == '\x18') { - if (DAT_800480a0 < fVar7 * fVar7 + fVar9 * fVar9 + fVar10 * fVar10) { - iStack352 = FUN_7f05234c(0xcb,0x57); - if (iStack352 != 0) { - sub_GAME_7F05A9B8(auStack416); - fStack428 = fStack104 * DAT_800480a4; - fStack424 = fStack100 * DAT_800480a4; - fStack420 = fStack96 * DAT_800480a4; - FUN_7f058a18(uStack60); - FUN_7f058aa4(uStack56); - FUN_7f058540(auStack556,auStack492); - *(undefined2 *)(iStack352 + 0x82) = 0x96; - loc_7F05EC0C(iStack352,&fStack72,iStack80,auStack492,&fStack428,auStack416,iStack4); - if ((*(uint *)(iStack352 + 100) & 0x80) != 0) { - *(undefined4 *)(*(int *)(iStack352 + 0x6c) + 0x8c) = DAT_800480a8; - *(undefined4 *)(*(int *)(iStack352 + 0x6c) + 0x94) = DAT_800480ac; - *(undefined4 *)(*(int *)(iStack352 + 0x6c) + 0xbc) = 0x32; - } - } - } - else { - iStack12 = 0; - } - } - else { - if ((uVar6 == 0) || (iStack108 == 0)) { - if ((*(char *)(iParm1 + 7) == '\b') || (*(char *)(iParm1 + 7) == '\n')) { - *(int *)(iParm1 + 0x48) = DAT_80040ffc; - } - } - else { - fVar7 = (*(float *)(iStack24 + 8) - fStack72) - fStack104 * 15.00000000; - fVar9 = (*(float *)(iStack24 + 0xc) - fStack68) - fStack100 * 15.00000000; - fVar10 = (*(float *)(iStack24 + 0x10) - fStack64) - fStack96 * 15.00000000; - if (fVar7 * fVar7 + fVar9 * fVar9 + fVar10 * fVar10 <= fStack124) { - FUN_7f02d318(iParm1,&iStack84,&iStack88); - uStack92 = (uint)(iStack88 == 0); - if ((iStack84 != 0) && - ((*(char *)(iParm1 + 7) == '\b' || (*(char *)(iParm1 + 7) == '\n')))) { - *(int *)(iParm1 + 0x48) = DAT_80040ffc; - } - } - } - if (iStack88 == 0) { - if (((_DAT_80069954 == NULL) || - ((*_DAT_80069954 != '\x03' && (*_DAT_80069954 != '\x06')))) && - (fStack124 < DAT_800480b0)) { - uStack92 = 0; - } - } - else { - fStack48 = *(float *)(iStack24 + 8); - fStack44 = *(float *)(iStack24 + 0xc); - fStack40 = *(float *)(iStack24 + 0x10); - iStack52 = *(int *)(iStack24 + 0x14); - FUN_7f0648e0(*(undefined *)(iStack20 + 0x80),iStack24,0xffffffffffffffff); - } - if (uStack92 != 0) { - if (iStack52 != 0) { - FUN_7f0a335c(&fStack48,1,0x41d00000,(ulonglong)*(byte *)(iStack52 + 3)); - } - if (_DAT_80069954 == NULL) { - FUN_7f064c54(*(undefined *)(iStack20 + 0x80),&fStack48,0xffffffffffffffff); - } - else { - FUN_7f0648e0(*(undefined *)(iStack20 + 0x80),_DAT_80069954,0xffffffffffffffff); - cVar1 = *_DAT_80069954; - if (cVar1 == '\x03') { - if ((*(uint *)(iParm1 + 0x14) & 0x40) != 0) { - loc_7F0277F0(*(undefined4 *)(_DAT_80069954 + 4),0xf,&fStack104, - *(undefined *)(iStack20 + 0x80),0); - } - } - else { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - uVar8 = FUN_7f05e43c(*(undefined *)(iStack20 + 0x80)); - uVar5 = FUN_7f09a690(); - loc_7F04E0FC(*(undefined4 *)(_DAT_80069954 + 4),uVar8,&fStack48, - *(undefined *)(iStack20 + 0x80),uVar5); - } - } - } - } - if (iStack36 != 0) { - if (true) { - switch(*(undefined *)(iStack20 + 0x80)) { - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - iStack36 = 1; - goto LAB_7f02e21c; - } - } - iStack36 = 0; - } -LAB_7f02e21c: - if (iStack36 != 0) { - loc_7F061BE8(iParm1 + iParm2 * 0x2c + 0x180,*(undefined *)(iStack20 + 0x80),&fStack72, - &fStack48); - } - } - } - } - } - FUN_7f02c018(iParm1,iParm2,(ulonglong)(iStack12 != 0 || iStack16 != 0)); -LAB_7f02e280: - FUN_7f02d14c(iParm1,iParm2,iStack12); - return; -} - - - -void loc_7F02E2D0(int iParm1) - -{ - ushort uVar1; - ushort uVar2; - - uVar1 = *(ushort *)(iParm1 + 0x12); - uVar2 = uVar1 & 0xff7f; - *(ushort *)(iParm1 + 0x12) = uVar2; - if ((uVar1 & 8) != 0) { - FUN_7f02d768(iParm1,0); - uVar2 = *(ushort *)(iParm1 + 0x12) & 0xfff7; - *(ushort *)(iParm1 + 0x12) = uVar2; - } - if ((uVar2 & 4) != 0) { - FUN_7f02d768(iParm1,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) & 0xfffb; - } - return; -} - - - -undefined8 FUN_7f02e314(int iParm1) - -{ - undefined uVar1; - int iVar2; - undefined8 uVar3; - undefined4 uVar4; - - if ((*(undefined **)(iParm1 + 0x2c) == &DAT_8002b658) || - (*(undefined **)(iParm1 + 0x2c) == &DAT_8002b6a0)) { - iVar2 = *(int *)(iParm1 + 0x1c); - uVar1 = *(undefined *)(iVar2 + 0x24); - *(undefined *)(iParm1 + 0x30) = 2; - *(undefined4 *)(iParm1 + 0x2c) = 0x8002b610; - *(undefined *)(iParm1 + 8) = 0; - uVar4 = sub_7F023B5C(iParm1,0x3f333333,0x3f8f5c29); - FUN_7f06fe48(iVar2,DAT_8002b610,uVar1,DAT_8002b62c,uVar4,0x41b00000); - if (0.00000000 <= DAT_8002b624) { - loc_7F06FE2C(iVar2,DAT_8002b624); - } - uVar3 = 1; - } - else { - uVar3 = 0; - } - return uVar3; -} - - - -void loc_7F02E4B0(int iParm1) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - undefined4 uVar4; - - iVar1 = *(int *)(iParm1 + 0x1c); - if (0.00000000 < *(float *)(*(int *)(iParm1 + 0x2c) + 0x24)) { - uVar3 = sub_7F06F5AC(iVar1); - uVar4 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(iVar1,uVar3,*(undefined *)(iVar1 + 0x24), - *(undefined4 *)(*(int *)(iParm1 + 0x2c) + 0x24),uVar4,0x41000000); - iVar2 = *(int *)(iParm1 + 0x2c); - } - else { - uVar3 = sub_7F06F5AC(iVar1); - uVar4 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(iVar1,uVar3,*(undefined *)(iVar1 + 0x24), - *(undefined4 *)(*(int *)(iParm1 + 0x2c) + 0x1c),uVar4,0x41000000); - iVar2 = *(int *)(iParm1 + 0x2c); - } - if (0.00000000 <= *(float *)(iVar2 + 0x14)) { - loc_7F06FE2C(iVar1,*(float *)(iVar2 + 0x14)); - } - return; -} - - - -void loc_7F02EBD8(int iParm1) - -{ - char cVar1; - int iVar2; - uint uVar3; - int iVar4; - undefined8 uVar5; - undefined uVar6; - char cVar7; - int iVar9; - longlong lVar8; - int iVar10; - float fVar11; - undefined4 uVar12; - float fVar13; - float fVar14; - float fVar15; - - iVar2 = *(int *)(iParm1 + 0x1c); - fVar15 = (float)sub_7F06F5BC(iVar2); - if ((((*(int *)(iParm1 + 0x48) < *(int *)(iParm1 + 0x44) + -0x19) && (*(int *)(iVar2 + 0x54) == 0) - ) && (iVar10 = *(int *)(iParm1 + 0x2c), *(float *)(iVar10 + 0x18) + 10.00000000 < fVar15)) && - (fVar15 < *(float *)(iVar10 + 0x1c))) { - if (0.00000000 <= *(float *)(iVar10 + 0x24)) { - if (*(float *)(iVar10 + 0x24) <= fVar15) goto LAB_7f02e66c; - cVar7 = *(char *)(iParm1 + 0x36); - } - else { - cVar7 = *(char *)(iParm1 + 0x36); - } - if (cVar7 == '\0') { - lVar8 = FUN_7f02e314(iParm1); - if (lVar8 == 0) { - uVar5 = sub_7F06F5AC(iVar2); - uVar12 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(iVar2,uVar5,*(undefined *)(iVar2 + 0x24), - *(undefined4 *)(*(int *)(iParm1 + 0x2c) + 0x1c),uVar12,0x41000000); - fVar15 = *(float *)(*(int *)(iParm1 + 0x2c) + 0x14); - if (0.00000000 <= fVar15) { - loc_7F06FE2C(iVar2,fVar15); - } - } - cVar7 = *(char *)(iParm1 + 0x34); - } - else { - loc_7F02E4B0(iParm1); - cVar7 = *(char *)(iParm1 + 0x34); - } - *(char *)(iParm1 + 0x33) = cVar7 + '\x01'; - fVar15 = (float)sub_7F06F5BC(iVar2); - } -LAB_7f02e66c: - fVar13 = (float)locret_7F06F608(iVar2); - if (fVar13 <= fVar15) { - if (*(char *)(iParm1 + 0x37) == '\0') { - cVar7 = *(char *)(iParm1 + 0x33); - if (*(char *)(iParm1 + 0x34) < cVar7) goto LAB_7f02e6ac; - if (*(char *)(iParm1 + 0x34) == cVar7) { - *(char *)(iParm1 + 0x33) = cVar7 + '\x01'; - loc_7F02E4B0(iParm1); - } - else { - if (*(char *)(iParm1 + 0x31) != '\0') { - fVar15 = 0.50000000; - if (*(char *)(iParm1 + 0x36) == '\0') { - iVar10 = *(int *)(iParm1 + 0x2c); - fVar14 = *(float *)(iVar10 + 0x20); - fVar13 = *(float *)(iVar10 + 0x18); - if (fVar14 <= 0.00000000) { - fVar14 = *(float *)(iVar10 + 0x1c); - } - } - else { - iVar10 = *(int *)(iParm1 + 0x2c); - fVar13 = *(float *)(iVar10 + 0x20); - if (fVar13 <= 0.00000000) { - fVar13 = *(float *)(iVar10 + 0x18); - } - fVar14 = *(float *)(iVar10 + 0x24); - if (fVar14 <= 0.00000000) { - fVar14 = *(float *)(iVar10 + 0x1c); - } - } - fVar11 = fVar14 - fVar13; - if (fVar11 < 12.00000000) { - fVar15 = (fVar11 * 0.50000000) / 12.00000000; -LAB_7f02e7ec: - cVar7 = *(char *)(iParm1 + 0x3a); - } - else { - if (16.00000000 < fVar11) { - fVar15 = fVar11 * 0.50000000 * 0.06250000; - goto LAB_7f02e7ec; - } - cVar7 = *(char *)(iParm1 + 0x3a); - } - if (cVar7 == '\0') { - *(undefined *)(iParm1 + 0x31) = 0; - } - else { - if (*(char *)(iParm1 + 0x3b) == '\0') { - *(undefined *)(iParm1 + 0x31) = 0; - } - else { - fVar15 = fVar15 + fVar15; - *(undefined *)(iParm1 + 0x31) = 0; - } - } - uVar5 = sub_7F06F5AC(iVar2); - FUN_7f06fe48(iVar2,uVar5,*(undefined *)(iVar2 + 0x24),fVar13,fVar15,0x41000000); - loc_7F06FE2C(iVar2,fVar14); - } - } - } - else { -LAB_7f02e6ac: - lVar8 = FUN_7f02e314(iParm1); - if (lVar8 == 0) { - if ((*(uint *)(iParm1 + 0x4c) & 1) != 0) { - FUN_7f029be4(iParm1); - } - FUN_7f023e30(iParm1); - return; - } - } - fVar15 = (float)sub_7F06F5BC(iVar2); - uVar3 = *(uint *)(iParm1 + 0x4c); - } - else { - uVar3 = *(uint *)(iParm1 + 0x4c); - } - if ((uVar3 & 0x40) != 0) { - iVar10 = *(int *)(iParm1 + 0x2c); - goto LAB_7f02e914; - } - fVar14 = *(float *)(*(int *)(iParm1 + 0x2c) + 0xc); - fVar13 = *(float *)(*(int *)(iParm1 + 0x2c) + 4); - if ((uVar3 & 0x20) == 0) { -LAB_7f02e8bc: - cVar7 = *(char *)(iVar2 + 0x24); - } - else { - fVar11 = (float)locret_7F06F608(iVar2); - if (fVar11 < fVar13) { - fVar13 = (float)locret_7F06F608(iVar2); - goto LAB_7f02e8bc; - } - cVar7 = *(char *)(iVar2 + 0x24); - } - if (cVar7 != '\0') { - fVar14 = DAT_80048100 - fVar14; - } - uVar12 = sub_7F023B5C(iParm1,0x3f800000,0x3fcccccd); - uVar6 = loc_7F02C4B0(iParm1,*(undefined *)(iParm1 + 0x30),fVar13,uVar12,fVar14); - *(undefined *)(iParm1 + 0x30) = uVar6; - iVar10 = *(int *)(iParm1 + 0x2c); -LAB_7f02e914: - if ((fVar15 <= *(float *)(iVar10 + 0x28)) || (*(float *)(iVar10 + 0x2c) <= fVar15)) { - sub_7F02D0F8(iParm1); - } - else { - loc_7F02D004(iParm1,iVar10,*(undefined *)(iParm1 + 0x39),*(undefined *)(iParm1 + 0x38), - 0x3f800000); - } - lVar8 = 0; - iVar10 = iParm1; - do { - iVar9 = (int)lVar8; - if (*(char *)(iVar10 + 0x38) == '\0') { - loc_7F02D238(iParm1,lVar8,0); -LAB_7f02ec10: - lVar8 = (longlong)(iVar9 + 1); - } - else { - if (*(char *)(iVar10 + 0x3a) == '\0') { - if ((fVar15 < *(float *)(*(int *)(iParm1 + 0x2c) + 0x18)) || - (*(float *)(*(int *)(iParm1 + 0x2c) + 0x1c) <= fVar15)) { - loc_7F02D238(iParm1,lVar8,0); - if (*(char *)(iParm1 + 7) == '\n') { - uVar12 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - loc_7F06FE84(iVar2,uVar12,0); - lVar8 = (longlong)(iVar9 + 1); - } - else { - uVar12 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - loc_7F06FE84(iVar2,uVar12,0); - lVar8 = (longlong)(iVar9 + 1); - } - } - else { - loc_7F02D238(iParm1,lVar8,1); - *(undefined4 *)(iParm1 + 0x44) = DAT_80040ffc; - if (*(char *)(iParm1 + 7) == '\n') { - fVar13 = ((*(float *)(*(int *)(iParm1 + 0x2c) + 0x1c) - - *(float *)(*(int *)(iParm1 + 0x2c) + 0x18)) * 50.00000000) / 60.00000000; - if (fVar13 < 30.00000000) { - if (*(int *)(iParm1 + 0x40) < (int)fVar13 * -2 + 0x32) { - loc_7F06FE84(iVar2,0x3dcccccd,0); - *(int *)(iParm1 + 0x40) = *(int *)(iParm1 + 0x40) + DAT_80040ff4; - goto LAB_7f02ec10; - } - loc_7F06FE84(iVar2,0x3f000000,0); - lVar8 = (longlong)(iVar9 + 1); - } - else { - loc_7F06FE84(iVar2,0x3f000000,0); - lVar8 = (longlong)(iVar9 + 1); - } - } - else { - loc_7F06FE84(iVar2,0x3f000000,0); - lVar8 = (longlong)(iVar9 + 1); - } - } - } - else { - if (*(char *)(iParm1 + 0x31) == '\0') { - cVar7 = *(char *)(iParm1 + 0x32); - if ((lVar8 == (longlong)cVar7) || (*(char *)(iParm1 + (int)cVar7 + 0x3a) == '\0')) { - iVar4 = *(int *)(iParm1 + 0x2c); - fVar13 = *(float *)(iVar4 + 0x20); - if ((fVar13 < 0.00000000) || ((fVar15 < fVar13 || (*(float *)(iVar4 + 0x24) < fVar15)))) - { - if ((0.00000000 <= fVar13) || (fVar15 < *(float *)(iVar4 + 0x18))) goto LAB_7f02ebf8; - cVar1 = *(char *)(iParm1 + 0x33); - } - else { - cVar1 = *(char *)(iParm1 + 0x33); - } - *(undefined *)(iParm1 + 0x31) = 1; - *(char *)(iParm1 + 0x32) = '\x01' - cVar7; - *(char *)(iParm1 + 0x33) = cVar1 + '\x01'; - *(undefined4 *)(iParm1 + 0x44) = DAT_80040ffc; - loc_7F02D238(iParm1,lVar8); - lVar8 = (longlong)(iVar9 + 1); - goto LAB_7f02ec14; - } - } -LAB_7f02ebf8: - loc_7F02D238(iParm1,lVar8,0); - lVar8 = (longlong)(iVar9 + 1); - } - } -LAB_7f02ec14: - iVar10 += 1; - if (lVar8 == 2) { - return; - } - } while( true ); -} - - - -void FUN_7f02ec48(int iParm1) - -{ - int iVar1; - int iVar2; - longlong lVar3; - undefined4 uVar4; - char cVar5; - uint uVar6; - float fVar7; - undefined4 uVar8; - float fVar9; - - iVar1 = *(int *)(iParm1 + 0x1c); - fVar9 = (float)sub_7F06F5BC(iVar1); - iVar2 = *(int *)(iParm1 + 0x58); - if (iVar2 == 0) { - uVar6 = *(uint *)(iParm1 + 0x4c); - } - else { - if (iVar2 == 1) { - fVar9 = *(float *)(*(int *)(iParm1 + 0x2c) + 0x24); - if (fVar9 < 0.00000000) { - fVar9 = *(float *)(*(int *)(iParm1 + 0x2c) + 0x1c); - } - uVar4 = sub_7F06F5AC(iVar1); - uVar8 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(iVar1,uVar4,*(undefined *)(iVar1 + 0x24),fVar9,uVar8,0x41800000); - fVar9 = *(float *)(*(int *)(iParm1 + 0x2c) + 0x14); - if (0.00000000 <= fVar9) { - loc_7F06FE2C(iVar1,fVar9); - } - *(undefined4 *)(iParm1 + 0x58) = 2; - sub_7F02D0F8(iParm1); - return; - } - if (iVar2 == 2) { - fVar7 = (float)locret_7F06F608(iVar1); - if (fVar9 < fVar7) { - return; - } - uVar6 = *(uint *)(iParm1 + 0x4c) & 0xffffffbf; - *(uint *)(iParm1 + 0x4c) = uVar6; - if (*(int *)(iParm1 + 0x54) != 0) { - FUN_7f025578(iParm1,uVar6,*(undefined4 *)(iParm1 + 0x50)); - return; - } - FUN_7f025708(iParm1,*(undefined4 *)(iParm1 + 0x4c),*(undefined4 *)(iParm1 + 0x50)); - return; - } - uVar6 = *(uint *)(iParm1 + 0x4c); - } - if ((uVar6 & 0x20) == 0) { - cVar5 = *(char *)(iParm1 + 0x36); - } - else { - if ((uVar6 & 0x40) != 0) { - lVar3 = loc_7F02D004(iParm1,*(undefined4 *)(iParm1 + 0x2c),*(undefined *)(iParm1 + 0x39), - *(undefined *)(iParm1 + 0x38),DAT_80048104); - if (lVar3 != 0) { - return; - } - *(undefined4 *)(iParm1 + 0x58) = 1; - return; - } - fVar7 = (float)locret_7F06F608(iVar1); - if (fVar7 <= fVar9) { - *(undefined *)(iParm1 + 0x30) = 2; - *(uint *)(iParm1 + 0x4c) = *(uint *)(iParm1 + 0x4c) | 0x40; - return; - } - cVar5 = *(char *)(iParm1 + 0x36); - } - if ((((cVar5 == '\0') && (fVar7 = *(float *)(*(int *)(iParm1 + 0x2c) + 0x24), 0.00000000 < fVar7)) - && (fVar9 <= fVar7)) && (fVar7 = (float)locret_7F06F608(iVar1), fVar7 <= fVar9)) { - uVar4 = sub_7F06F5AC(iVar1); - uVar8 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(iVar1,uVar4,*(undefined *)(iVar1 + 0x24), - *(undefined4 *)(*(int *)(iParm1 + 0x2c) + 0x24),uVar8,0x41800000); - if (*(char *)(iParm1 + 0x37) == '\0') { - loc_7F06FE2C(iVar1,*(undefined4 *)(*(int *)(iParm1 + 0x2c) + 0x1c)); - } - else { - fVar9 = *(float *)(*(int *)(iParm1 + 0x2c) + 0x14); - if (0.00000000 <= fVar9) { - loc_7F06FE2C(iVar1,fVar9); - } - } - } - loc_7F02EBD8(iParm1); - return; -} - - - -void FUN_7f02ef24(int iParm1) - -{ - char cVar1; - undefined4 *puVar2; - ulonglong uVar3; - int iVar4; - undefined4 *puVar5; - undefined4 uVar6; - float fVar7; - undefined4 uVar8; - float fVar9; - - if (*(char *)(iParm1 + 0x35) != '\0') { - iVar4 = *(int *)(iParm1 + 0x1c); - fVar9 = (float)sub_7F06F5BC(); - puVar2 = *(undefined4 **)(iParm1 + 0x2c); - if ((((puVar2 == &DAT_8002b6e8) || (puVar2 == (undefined4 *)0x8002b730)) || - (puVar2 == (undefined4 *)0x8002b778)) || (puVar2 == (undefined4 *)0x8002b7c0)) { - if ((float)puVar2[5] <= fVar9) { - cVar1 = *(char *)(iVar4 + 0x24); - puVar5 = puVar2 + 0x48; - if ((*(char *)(iParm1 + 0x39) != '\0') && (*(char *)(iParm1 + 0x38) != '\0')) { - uVar3 = FUN_700098b0(); - if ((uVar3 & 1) == 0) { - puVar5 = puVar2 + 0x90; - } - else { - puVar5 = puVar2 + 0xd8; - } - } - if (puVar5 == (undefined4 *)0x8002b808) { - fVar9 = 24.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002b850) { - fVar9 = 24.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002b898) { - fVar9 = 32.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002b8e0) { - fVar9 = 44.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002b928) { - fVar9 = 24.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002b970) { - fVar9 = 34.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002b9b8) { - fVar9 = 32.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002ba00) { - fVar9 = 44.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002ba48) { - fVar9 = 24.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002ba90) { - fVar9 = 34.00000000; - } - else { - if (puVar5 == (undefined4 *)0x8002bad8) { - fVar9 = 32.00000000; - } - else { - fVar9 = 16.00000000; - if (puVar5 == (undefined4 *)0x8002bb20) { - fVar9 = 44.00000000; - } - } - } - } - } - } - } - } - } - } - } - } - *(undefined *)(iParm1 + 0x30) = 2; - *(undefined4 **)(iParm1 + 0x2c) = puVar5; - *(undefined *)(iParm1 + 8) = 0; - uVar6 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(iVar4,*puVar5,cVar1,puVar5[4],uVar6,fVar9); - if (*(char *)(iParm1 + 0x36) == '\0') { - if (0.00000000 <= (float)puVar5[8]) { - loc_7F06FE2C(iVar4,puVar5[8]); - } - else { - if (0.00000000 <= (float)puVar5[5]) { - loc_7F06FE2C(iVar4,puVar5[5]); - } - } - } - else { - if (0.00000000 <= (float)puVar5[9]) { - loc_7F06FE2C(iVar4,puVar5[9]); - } - else { - loc_7F06FE2C(iVar4,puVar5[7]); - } - } - if (*(float *)(*(int *)(iParm1 + 0x2c) + 0xc) != 0.00000000) { - iVar4 = loc_7F06C888(iVar4,**(undefined4 **)(iVar4 + 8)); - *(float *)(iVar4 + 0x5c) = fVar9; - *(float *)(iVar4 + 0x58) = -*(float *)(*(int *)(iParm1 + 0x2c) + 0xc) / fVar9; - if (cVar1 != '\0') { - *(float *)(iVar4 + 0x58) = -*(float *)(iVar4 + 0x58); - } - } - } - } - else { - if (((((puVar2 == (undefined4 *)0x8002b808) || (puVar2 == (undefined4 *)0x8002b850)) || - ((puVar2 == (undefined4 *)0x8002b898 || - ((puVar2 == (undefined4 *)0x8002b8e0 || (puVar2 == (undefined4 *)0x8002b928)))))) || - ((puVar2 == (undefined4 *)0x8002b970 || - (((((puVar2 == (undefined4 *)0x8002b9b8 || (puVar2 == (undefined4 *)0x8002ba00)) || - (puVar2 == (undefined4 *)0x8002ba48)) || - ((puVar2 == (undefined4 *)0x8002ba90 || (puVar2 == (undefined4 *)0x8002bad8)))) || - (puVar2 == (undefined4 *)0x8002bb20)))))) && - (((*(char *)(iParm1 + 0x36) == '\0' && (0.00000000 < (float)puVar2[9])) && - ((fVar9 <= (float)puVar2[9] && (fVar7 = (float)locret_7F06F608(iVar4), fVar7 <= fVar9))))) - ) { - uVar6 = sub_7F06F5AC(iVar4); - uVar8 = sub_7F023B5C(iParm1,0x3f000000,0x3f4ccccd); - FUN_7f06fe48(iVar4,uVar6,*(undefined *)(iVar4 + 0x24), - *(undefined4 *)(*(int *)(iParm1 + 0x2c) + 0x24),uVar8,0x41800000); - if (*(char *)(iParm1 + 0x37) == '\0') { - loc_7F06FE2C(iVar4,*(undefined4 *)(*(int *)(iParm1 + 0x2c) + 0x1c)); - } - else { - fVar9 = *(float *)(*(int *)(iParm1 + 0x2c) + 0x14); - if (0.00000000 <= fVar9) { - loc_7F06FE2C(iVar4,fVar9); - } - } - } - } - } - loc_7F02EBD8(iParm1); - return; -} - - - -void FUN_7f02f43c(int iParm1) - -{ - bool bVar1; - int iVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - undefined4 uVar7; - - iVar2 = *(int *)(iParm1 + 0x1c); - fVar4 = (float)sub_7F06F5BC(); - bVar1 = *(char *)(iVar2 + 0x24) != '\0'; - iVar3 = something_with_weaponpos_of_guarddata_hand(iParm1,(ulonglong)bVar1); - if ((20.00000000 <= fVar4) && (iVar3 != 0)) { - *(uint *)(*(int *)(iVar3 + 4) + 100) = *(uint *)(*(int *)(iVar3 + 4) + 100) & 0xfffff7ff; - } - if ((61.00000000 <= fVar4) && (iVar3 != 0)) { - *(undefined2 *)(*(int *)(iVar3 + 4) + 0x82) = 0x96; - } - if ((119.00000000 <= fVar4) && (iVar3 != 0)) { - FUN_7f04c1c4(*(undefined4 *)(iParm1 + (uint)bVar1 * 4 + 0x160),3); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - fVar5 = (float)sub_7F06F5BC(iVar2); - fVar6 = (float)locret_7F06F608(iVar2); - if (fVar6 <= fVar5) { - FUN_7f023e30(iParm1); - } - else { - if ((87.00000000 <= fVar4) && (fVar4 <= 110.00000000)) { - uVar7 = sub_7F023B5C(iParm1,0x3f800000,0x3fcccccd); - loc_7F02C4B0(iParm1,1,0x42dc0000,uVar7,0); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02f5e8(int iParm1) - -{ - undefined4 uVar1; - float fVar2; - float fVar3; - undefined4 uVar4; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - fVar2 = (float)sub_7F06F5BC(uVar1); - if ((86.00000000 <= fVar2) || (fVar3 = (float)locret_7F06F608(uVar1), fVar2 < fVar3)) { - fVar3 = (float)locret_7F06F608(uVar1); - if (fVar3 <= fVar2) { - loc_7F023E04(iParm1); - } - } - else { - uVar4 = sub_7F06F610(uVar1); - FUN_7f06fe48(uVar1,_DAT_80058478 + 0x6254,0,0x42ac0000,uVar4,0x41c00000); - loc_7F06FE2C(uVar1,0x43030000); - } - return; -} - - - -void FUN_7f02f6cc(void) - -{ - return; -} - - - -uint loc_7F02F868(int iParm1,float *pfParm2,int iParm3,undefined4 *puParm4) - -{ - bool bVar1; - float fVar2; - float fVar3; - float fVar4; - float fStack24; - float fStack20; - int iStack8; - - iStack8 = *(int *)(iParm1 + 0x1c); - fStack20 = (float)convert_angle_using_inverse - (*pfParm2 - *(float *)(*(int *)(iParm1 + 0x18) + 8), - pfParm2[2] - *(float *)(*(int *)(iParm1 + 0x18) + 0x10)); - fStack24 = (float)FUN_7f06d228(iStack8); - fVar3 = fStack20 - fStack24; - if (fStack20 < fStack24) { - fVar3 = fVar3 + DAT_80048108; - } - if (DAT_8004810c < fVar3) { - fVar3 = DAT_80048110 - fVar3; - } - fVar2 = DAT_80048118; - fVar4 = DAT_80048114; - if (iParm3 != 2) { - if (iParm3 == 1) { - fVar2 = DAT_80048130; - fVar4 = DAT_80048120; - if ((DAT_8004811c <= fVar3) && - (fVar2 = DAT_80048130, fVar4 = DAT_80048128, DAT_80048124 <= fVar3)) { - fVar2 = DAT_80048130; - fVar4 = DAT_8004812c; - } - } - else { - fVar2 = DAT_80048148; - fVar4 = DAT_80048138; - if ((DAT_80048134 <= fVar3) && - (fVar2 = DAT_80048148, fVar4 = DAT_80048140, DAT_8004813c <= fVar3)) { - fVar2 = DAT_80048148; - fVar4 = DAT_80048144; - } - } - } - fVar2 = fVar2 * *(float *)(iStack8 + 0xa4); - FUN_7f0431cc(&fStack24,fStack20,puParm4,fVar2,fVar2 + fVar2,fVar4 * *(float *)(iStack8 + 0xa4)); - bVar1 = fStack24 == fStack20; - if (bVar1) { - *puParm4 = 0; - } - FUN_7f06d274(iStack8,fStack24); - return (uint)bVar1; -} - - - -void FUN_7f02f8cc(int iParm1) - -{ - undefined4 uVar1; - int iVar3; - longlong lVar2; - int iVar4; - int iVar5; - float fVar6; - float fVar7; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - iVar4 = *(int *)(iParm1 + 0x18); - iVar3 = FUN_7f089900(); - iVar5 = *(int *)(iParm1 + 0x30) + DAT_80040ff4; - *(int *)(iParm1 + 0x30) = iVar5; - *(int *)(iParm1 + 200) = DAT_80040ffc; - if (((*(char *)(iParm1 + 9) == '\x01') || (*(int *)(iParm1 + 0xcc) < DAT_80040ffc + -0x32)) || - (*(int *)(iParm1 + 0x34) < iVar5)) { - fVar6 = (float)sub_7F06F5BC(uVar1); - iVar4 = sub_7F06F5AC(uVar1); - fVar7 = (float)(uint)*(ushort *)(iVar4 + 4); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - if (fVar7 * 0.50000000 < fVar6) { - loc_7F06FEE8(uVar1,0,0x41800000); - } - else { - iVar4 = sub_7F06F5AC(uVar1); - fVar6 = (float)(uint)*(ushort *)(iVar4 + 4); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - loc_7F06FEE8(uVar1,fVar6 * 0.50000000,0x41800000); - } - FUN_7f029be4(iParm1); - FUN_7f023e30(iParm1); - } - else { - fVar6 = *(float *)(iVar3 + 8) - *(float *)(iVar4 + 8); - fVar7 = *(float *)(iVar3 + 0x10) - *(float *)(iVar4 + 0x10); - if (((300.00000000 <= fVar6) || (fVar6 <= -300.00000000)) || - ((300.00000000 <= fVar7 || (fVar7 <= -300.00000000)))) { - lVar2 = loc_7F02F868(iParm1,iVar3 + 8,0,iParm1 + 0x54); - if (lVar2 != 0) { - *(undefined4 *)(iParm1 + 0x38) = 1; - } - if (*(int *)(iParm1 + 0x30) < 0x11) { - sub_7F02D0F8(iParm1); - iVar4 = *(int *)(iParm1 + 0x38); - } - else { - loc_7F02D004(iParm1,*(undefined4 *)(iParm1 + 0x3c),*(undefined *)(iParm1 + 0x49), - *(undefined *)(iParm1 + 0x48),0x3f800000); - iVar4 = *(int *)(iParm1 + 0x38); - } - if ((iVar4 == 0) || (iVar3 = 0, iVar4 = iParm1, *(int *)(iParm1 + 0x30) < 0x1a)) { - loc_7F02D238(iParm1,1,0); - loc_7F02D238(iParm1,0,0); - } - else { - do { - if (*(char *)(iVar4 + 0x48) == '\0') { - loc_7F02D238(iParm1,iVar3,0); - } - else { - if (*(char *)(iVar4 + 0x4a) == '\0') { - loc_7F02D238(iParm1,iVar3,1); - } - else { - iVar5 = *(int *)(iParm1 + 0x30); - if (*(int *)(iParm1 + 0x40) < iVar5) { - if ((iVar3 == *(int *)(iParm1 + 0x44)) || - (*(char *)(iParm1 + *(int *)(iParm1 + 0x44) + 0x4a) == '\0')) { - *(int *)(iParm1 + 0x40) = iVar5; - if (*(char *)((iParm1 - iVar3) + 0x4b) == '\0') { - if (*(char *)(iVar4 + 0x4c) == '\0') { - *(int *)(iParm1 + 0x40) = *(int *)(iParm1 + 0x40) + 0x21; - } - else { - *(int *)(iParm1 + 0x40) = *(int *)(iParm1 + 0x40) + 0x96; - } - } - else { - if (*(char *)(iVar4 + 0x4c) == '\0') { - *(int *)(iParm1 + 0x40) = *(int *)(iParm1 + 0x40) + 0x10; - } - else { - *(int *)(iParm1 + 0x40) = iVar5 + 0x4b; - } - } - *(int *)(iParm1 + 0x44) = 1 - *(int *)(iParm1 + 0x44); - loc_7F02D238(iParm1,iVar3,1); - goto LAB_7f02fc34; - } - } - loc_7F02D238(iParm1,iVar3,0); - } - } -LAB_7f02fc34: - iVar3 += 1; - iVar4 += 1; - } while (iVar3 != 2); - } - } - else { - FUN_7f029be4(iParm1,iVar3 + 8,0); - FUN_7f023e30(iParm1); - } - } - return; -} - - - -undefined8 locret_7F02FD48(float *pfParm1,float *pfParm2,float *pfParm3,float fParm4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar5 = *pfParm3 - *pfParm1; - fVar4 = pfParm3[2] - pfParm1[2]; - fVar2 = *pfParm2; - if (fVar2 == 0.00000000) { - if (pfParm2[2] == 0.00000000) { - if (fParm4 * fParm4 < fVar4 * fVar4 + fVar5 * fVar5) { - return 0; - } - return 1; - } - fVar3 = pfParm2[2]; - } - else { - fVar3 = pfParm2[2]; - } - uVar1 = 0; - fVar6 = fVar4 * fVar3 + fVar2 * fVar5; - if (0.00000000 < fVar6) { - if (((fVar4 * fVar4 + fVar5 * fVar5) - fParm4 * fParm4) * (fVar3 * fVar3 + fVar2 * fVar2) <= - fVar6 * fVar6) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -undefined8 loc_7F02FE64(float *pfParm1,float *pfParm2,float *pfParm3,float fParm4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fStack12; - undefined4 uStack8; - float fStack4; - - fVar3 = *pfParm1; - fVar2 = *pfParm3 - fParm4; - if ((fVar2 < fVar3) || (fVar2 < *pfParm2)) { - fVar2 = *pfParm3 + fParm4; - if (fVar2 <= fVar3) { - if (fVar2 <= *pfParm2) { - return 0; - } - fVar2 = pfParm3[2]; - } - else { - fVar2 = pfParm3[2]; - } - if ((fVar2 - fParm4 < pfParm1[2]) || (fVar2 - fParm4 < pfParm2[2])) { - if (fVar2 + fParm4 <= pfParm1[2]) { - if (fVar2 + fParm4 <= pfParm2[2]) { - return 0; - } - fStack12 = *pfParm2; - } - else { - fStack12 = *pfParm2; - } - fStack12 = fStack12 - fVar3; - uStack8 = 0; - fStack4 = pfParm2[2] - pfParm1[2]; - uVar1 = locret_7F02FD48(pfParm1,&fStack12,pfParm3,fParm4); - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02febc(int iParm1) - -{ - undefined4 uVar1; - longlong lVar2; - int iVar3; - float fVar4; - float fVar5; - float fStack20; - - uVar1 = *(undefined4 *)(iParm1 + 0x1c); - *(int *)(iParm1 + 200) = DAT_80040ffc; - if (*(char *)(iParm1 + 9) != '\x01') { - if (DAT_80040ffc + -0x32 <= *(int *)(iParm1 + 0xcc)) { - lVar2 = loc_7F02FE64(iParm1 + 0xbc,*(int *)(iParm1 + 0x18) + 8,iParm1 + 0x2c, - *(undefined4 *)(iParm1 + 0x38)); - if (lVar2 == 0) { - loc_7F02F868(iParm1,iParm1 + 0x2c,1,iParm1 + 0x40); - if (0 < *(int *)(iParm1 + 0x3c)) { - *(int *)(iParm1 + 0x3c) = *(int *)(iParm1 + 0x3c) - DAT_80040ff4; - return; - } - fStack20 = DAT_8002bed8; - iVar3 = sub_7F06F5AC(uVar1); - if (iVar3 == _DAT_80058478 + 0x777c) { - fStack20 = DAT_8002bee4; - } - fVar5 = (float)locret_7F06F638(uVar1); - *(float *)(iParm1 + 0x38) = *(float *)(iParm1 + 0x38) + fStack20 * DAT_80041004 * fVar5; - return; - } - } - } - sub_7F06F5AC(uVar1); - fVar5 = (float)sub_7F06F5BC(uVar1); - fVar4 = fVar5 - 0.00000000; - if (fVar5 < 0.00000000) { - iVar3 = sub_7F06F5AC(uVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar4 = fVar4 + fVar5; - } - iVar3 = sub_7F06F5AC(uVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - if (fVar5 * 0.50000000 < fVar4) { - iVar3 = sub_7F06F5AC(uVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - loc_7F06FEE8(uVar1,fVar5 - 0.00000000,0x41800000); - } - else { - iVar3 = sub_7F06F5AC(uVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.50000000 - 0.00000000; - if (fVar5 < 0.00000000) { - iVar3 = sub_7F06F5AC(uVar1); - fVar4 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar5 = fVar5 + fVar4; - } - loc_7F06FEE8(uVar1,fVar5,0x41800000); - } - FUN_7f023e30(iParm1); - return; -} - - - -undefined4 -FUN_7f03016c(int iParm1,undefined4 *puParm2,int iParm3,undefined4 *puParm4,int iParm5, - undefined4 uParm6) - -{ - longlong lVar1; - undefined auStack20 [4]; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - iStack4 = iParm3; - sub_7F023160(*(undefined4 *)(iParm1 + 0x18),auStack20,&uStack12,&uStack16); - loc_7F01F604(iParm1,0); - lVar1 = loc_7F0B13B4(&iStack4,*puParm2,puParm2[2],*puParm4,puParm4[2],uParm6,uStack12,uStack16,0, - 0x3f800000); - if (lVar1 != 0) { - if (iParm5 == 0) { - uStack8 = 1; - } - else { - if (iStack4 == iParm5) { - uStack8 = 1; - } - } - } - loc_7F01F604(iParm1,1); - return uStack8; -} - - - -undefined4 -loc_7F030488(int iParm1,float *pfParm2,undefined4 uParm3,float *pfParm4,float fParm5, - undefined4 uParm6) - -{ - longlong lVar1; - float fVar2; - undefined auStack44 [4]; - undefined4 uStack40; - undefined4 uStack36; - undefined4 uStack32; - float fStack16; - undefined4 uStack12; - float fStack8; - undefined4 uStack4; - - uStack32 = 0; - sub_7F023160(*(undefined4 *)(iParm1 + 0x18),auStack44,&uStack36,&uStack40); - fStack16 = *pfParm4 - *pfParm2; - uStack12 = 0; - fStack8 = pfParm4[2] - pfParm2[2]; - if ((fStack16 == 0.00000000) && (fStack8 == 0.00000000)) { - uStack32 = 1; - } - else { - fVar2 = (float)sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar2); - fStack8 = fStack8 * (1.00000000 / fVar2); - fVar2 = fStack16 * fParm5; - fParm5 = fStack8 * fParm5; - loc_7F01F604(iParm1,0); - uStack4 = uParm3; - lVar1 = loc_7F0B13B4(&uStack4,*pfParm2,pfParm2[2],*pfParm2 + fParm5,pfParm2[2] - fVar2,uParm6, - uStack36,uStack40,0,0x3f800000); - if ((lVar1 != 0) && - (lVar1 = loc_7F0B13B4(&uStack4,*pfParm2 + fParm5,pfParm2[2] - fVar2,*pfParm4 + fParm5, - pfParm4[2] - fVar2,uParm6,uStack36,uStack40,0,0x3f800000), lVar1 != 0)) - { - uStack4 = uParm3; - lVar1 = loc_7F0B13B4(&uStack4,*pfParm2,pfParm2[2],*pfParm2 - fParm5,pfParm2[2] + fVar2,uParm6, - uStack36,uStack40,0,0x3f800000); - if ((lVar1 != 0) && - (lVar1 = loc_7F0B13B4(&uStack4,*pfParm2 - fParm5,pfParm2[2] + fVar2,*pfParm4 - fParm5, - pfParm4[2] + fVar2,uParm6,uStack36,uStack40,0,0x3f800000), lVar1 != 0 - )) { - uStack32 = 1; - } - } - loc_7F01F604(iParm1,1); - } - return uStack32; -} - - - -undefined4 -FUN_7f0304f0(int iParm1,undefined4 *puParm2,int iParm3,undefined4 *puParm4,undefined4 *puParm5, - int iParm6,undefined4 uParm7) - -{ - longlong lVar1; - int iStack24; - undefined auStack20 [4]; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - iStack4 = iParm3; - sub_7F023160(*(undefined4 *)(iParm1 + 0x18),auStack20,&uStack12,&uStack16); - loc_7F01F604(iParm1,0); - lVar1 = loc_7F0B13B4(&iStack4,*puParm2,puParm2[2],*puParm4,puParm4[2],uParm7,uStack12,uStack16,0, - 0x3f800000); - if (lVar1 != 0) { - iStack24 = iStack4; - lVar1 = loc_7F0B13B4(&iStack24,*puParm4,puParm4[2],*puParm5,puParm5[2],uParm7,uStack12,uStack16, - 0,0x3f800000); - if (lVar1 != 0) { - if (iParm6 == 0) { - uStack8 = 1; - } - else { - if (iStack24 == iParm6) { - uStack8 = 1; - } - } - } - } - loc_7F01F604(iParm1,1); - return uStack8; -} - - - -undefined4 -loc_7F030728(int iParm1,undefined4 *puParm2,undefined4 uParm3,undefined4 *puParm4, - undefined4 *puParm5,undefined4 uParm6,undefined4 uParm7) - -{ - longlong lVar1; - undefined4 uStack24; - undefined auStack20 [4]; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack8 = 0; - uStack4 = uParm3; - sub_7F023160(*(undefined4 *)(iParm1 + 0x18),auStack20,&uStack12,&uStack16); - loc_7F01F604(iParm1,0); - lVar1 = loc_7F0B13B4(&uStack4,*puParm2,puParm2[2],*puParm4,puParm4[2],uParm7,uStack12,uStack16,0, - 0x3f800000); - if (lVar1 != 0) { - uStack24 = uStack4; - lVar1 = loc_7F0B13B4(&uStack24,*puParm4,puParm4[2],*puParm5,puParm5[2],uParm7,uStack12,uStack16, - 0,0x3f800000); - if (lVar1 != 0) { - lVar1 = loc_7F030488(iParm1,puParm2,uParm3,puParm4,uParm6,uParm7); - if (lVar1 != 0) { - lVar1 = loc_7F030488(iParm1,puParm4,uStack4,puParm5,uParm6,uParm7); - if (lVar1 != 0) { - uStack8 = 1; - } - } - } - } - loc_7F01F604(iParm1,1); - return uStack8; -} - - - -void locret_7F030814(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - float fVar1; - float fVar2; - float fVar3; - - if ((pfParm2[2] - pfParm1[2]) * *pfParm3 + -pfParm3[2] * (*pfParm2 - *pfParm1) <= 0.00000000) { - fVar1 = *pfParm1; - fVar2 = pfParm1[1]; - fVar3 = pfParm1[2]; - *pfParm1 = *pfParm2; - pfParm1[1] = pfParm2[1]; - pfParm1[2] = pfParm2[2]; - *pfParm2 = fVar1; - pfParm2[1] = fVar2; - pfParm2[2] = fVar3; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f030bc0) overlaps instruction at (ram,0x7f030bbc) -// - -undefined4 -loc_7F030D5C(int iParm1,float *pfParm2,undefined4 uParm3,float *pfParm4,undefined4 *puParm5, - undefined4 *puParm6,float fParm7,float fParm8,undefined4 uParm9) - -{ - longlong lVar1; - float fVar2; - undefined auStack108 [4]; - undefined4 uStack104; - undefined4 uStack100; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - undefined4 uStack72; - undefined4 uStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - undefined4 uStack48; - int iStack44; - int iStack40; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - undefined4 uStack4; - - iStack40 = 0; - iStack44 = 0; - uStack96 = 0; - sub_7F023160(*(undefined4 *)(iParm1 + 0x18),auStack108,&uStack100,&uStack104); - uStack12 = 0; - fStack16 = *pfParm4 - *pfParm2; - fStack8 = pfParm4[2] - pfParm2[2]; - if ((fStack16 == 0.00000000) && (fStack8 == 0.00000000)) { - uStack96 = 1; - } - else { - fVar2 = (float)sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar2); - fStack8 = fStack8 * (1.00000000 / fVar2); - fStack20 = fStack16 * fParm8 * DAT_8004814c; - fStack24 = fStack8 * fParm8 * DAT_80048150; - fStack28 = fStack16 * fParm8 * DAT_80048154; - fStack32 = fStack8 * fParm8 * DAT_80048158; - loc_7F01F604(iParm1,0); - FUN_7f0b0f84(); - uStack4 = uParm3; - lVar1 = loc_7F0B13B4(&uStack4,*pfParm2,pfParm2[2],*pfParm2 + fStack24,pfParm2[2] - fStack20, - uParm9,uStack100,uStack104,0,0x3f800000); - if ((lVar1 == 0) || - (lVar1 = loc_7F0B13B4(&uStack4,*pfParm2 + fStack24,pfParm2[2] - fStack20, - fStack16 * fParm7 + *pfParm4 + fStack32, - fStack8 * fParm7 + (pfParm4[2] - fStack28),uParm9,uStack100,uStack104,0 - ,0x3f800000), lVar1 == 0)) { - iStack40 = 1; - FUN_7f0b1b70(&uStack56,&uStack68); - locret_7F030814(&uStack56,&uStack68,&fStack16); - } - uStack4 = uParm3; - lVar1 = loc_7F0B13B4(&uStack4,*pfParm2,pfParm2[2],*pfParm2 - fStack24,pfParm2[2] + fStack20, - uParm9,uStack100,uStack104,0,0x3f800000); - if ((lVar1 == 0) || - (lVar1 = loc_7F0B13B4(&uStack4,*pfParm2 - fStack24,pfParm2[2] + fStack20, - fStack16 * fParm7 + (*pfParm4 - fStack32), - fStack8 * fParm7 + pfParm4[2] + fStack28,uParm9,uStack100,uStack104,0, - 0x3f800000), lVar1 == 0)) { - iStack44 = 1; - FUN_7f0b1b70(&uStack80,&uStack92); - locret_7F030814(&uStack80,&uStack92,&fStack16); - } - if ((iStack40 == 0) || (iStack44 == 0)) { - if (iStack40 == 0) { - if (iStack44 == 0) { - uStack4 = uParm3; - lVar1 = loc_7F0B13B4(&uStack4,*pfParm2,pfParm2[2],*pfParm4,pfParm4[2],uParm9,uStack100, - uStack104,0,0x3f800000); - if ((lVar1 == 0) || - (lVar1 = loc_7F0B1C80(&uStack4,*pfParm4,pfParm4[2],fParm8,uParm9,uStack100,uStack104), - -1 < lVar1)) { - FUN_7f0b1b70(puParm5,puParm6); - locret_7F030814(puParm5,puParm6,&fStack16); - } - else { - uStack96 = 1; - } - } - else { - *puParm5 = uStack80; - puParm5[1] = uStack76; - puParm5[2] = uStack72; - *puParm6 = uStack92; - puParm6[1] = uStack88; - puParm6[2] = uStack84; - } - } - else { - *puParm5 = uStack56; - puParm5[1] = uStack52; - puParm5[2] = uStack48; - *puParm6 = uStack68; - puParm6[1] = uStack64; - puParm6[2] = uStack60; - } - } - else { - locret_7F030814(&uStack56,&uStack80,&fStack16); - locret_7F030814(&uStack68,&uStack92,&fStack16); - *puParm5 = uStack56; - puParm5[1] = uStack52; - puParm5[2] = uStack48; - *puParm6 = uStack92; - puParm6[1] = uStack88; - puParm6[2] = uStack84; - } - loc_7F01F604(iParm1,1); - } - return uStack96; -} - - - -// WARNING: Instruction at (ram,0x7f031120) overlaps instruction at (ram,0x7f03111c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 -loc_7F0312F8(int iParm1,float *pfParm2,undefined4 uParm3,float *pfParm4,undefined4 *puParm5, - undefined4 *puParm6,float fParm7,float fParm8,undefined4 uParm9) - -{ - longlong lVar1; - float fVar2; - undefined auStack116 [4]; - undefined4 uStack112; - undefined4 uStack108; - float fStack104; - float fStack100; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - undefined4 uStack72; - undefined4 uStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - undefined4 uStack48; - int iStack44; - int iStack40; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - undefined4 uStack4; - - iStack40 = 0; - iStack44 = 0; - uStack96 = 0; - sub_7F023160(*(undefined4 *)(iParm1 + 0x18),auStack116,&uStack108,&uStack112); - uStack12 = 0; - fStack16 = *pfParm4 - *pfParm2; - fStack8 = pfParm4[2] - pfParm2[2]; - if ((fStack16 == 0.00000000) && (fStack8 == 0.00000000)) { - uStack96 = 1; - } - else { - fVar2 = (float)sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar2); - fStack8 = fStack8 * (1.00000000 / fVar2); - fStack20 = fStack16 * fParm8 * DAT_8004815c; - fStack24 = fStack8 * fParm8 * DAT_80048160; - fStack28 = fStack16 * fParm8 * DAT_80048164; - fStack32 = fStack8 * fParm8 * DAT_80048168; - loc_7F01F604(iParm1,0); - FUN_7f0b0f84(); - uStack4 = uParm3; - lVar1 = loc_7F0B13B4(&uStack4,*pfParm2,pfParm2[2],*pfParm2 + fStack24,pfParm2[2] - fStack20, - uParm9,uStack108,uStack112,0,0x3f800000); - if ((lVar1 == 0) || - (lVar1 = loc_7F0B13B4(&uStack4,*pfParm2 + fStack24,pfParm2[2] - fStack20, - fStack16 * fParm7 + *pfParm4 + fStack32, - fStack8 * fParm7 + (pfParm4[2] - fStack28),uParm9,uStack108,uStack112,0 - ,0x3f800000), lVar1 == 0)) { - iStack40 = 1; - FUN_7f0b1b70(&uStack56,&uStack68); - locret_7F030814(&uStack56,&uStack68,&fStack16); - fStack100 = _DAT_80069950; - } - uStack4 = uParm3; - lVar1 = loc_7F0B13B4(&uStack4,*pfParm2,pfParm2[2],*pfParm2 - fStack24,pfParm2[2] + fStack20, - uParm9,uStack108,uStack112,0,0x3f800000); - if ((lVar1 == 0) || - (lVar1 = loc_7F0B13B4(&uStack4,*pfParm2 - fStack24,pfParm2[2] + fStack20, - fStack16 * fParm7 + (*pfParm4 - fStack32), - fStack8 * fParm7 + pfParm4[2] + fStack28,uParm9,uStack108,uStack112,0, - 0x3f800000), lVar1 == 0)) { - iStack44 = 1; - FUN_7f0b1b70(&uStack80,&uStack92); - locret_7F030814(&uStack80,&uStack92,&fStack16); - fStack104 = _DAT_80069950; - } - if ((iStack40 == 0) || (iStack44 == 0)) { - if (iStack40 == 0) { - if (iStack44 == 0) { - uStack4 = uParm3; - lVar1 = loc_7F0B13B4(&uStack4,*pfParm2,pfParm2[2],*pfParm4,pfParm4[2],uParm9,uStack108, - uStack112,0,0x3f800000); - if ((lVar1 == 0) || - (lVar1 = loc_7F0B1C80(&uStack4,*pfParm4,pfParm4[2],fParm8,uParm9,uStack108,uStack112), - -1 < lVar1)) { - FUN_7f0b1b70(puParm5,puParm6); - locret_7F030814(puParm5,puParm6,&fStack16); - } - else { - uStack96 = 1; - } - } - else { - *puParm5 = uStack80; - puParm5[1] = uStack76; - puParm5[2] = uStack72; - *puParm6 = uStack92; - puParm6[1] = uStack88; - puParm6[2] = uStack84; - } - } - else { - *puParm5 = uStack56; - puParm5[1] = uStack52; - puParm5[2] = uStack48; - *puParm6 = uStack68; - puParm6[1] = uStack64; - puParm6[2] = uStack60; - } - } - else { - if (fStack100 < fStack104) { - *puParm5 = uStack56; - puParm5[1] = uStack52; - puParm5[2] = uStack48; - *puParm6 = uStack68; - puParm6[1] = uStack64; - puParm6[2] = uStack60; - } - else { - *puParm5 = uStack80; - puParm5[1] = uStack76; - puParm5[2] = uStack72; - *puParm6 = uStack92; - puParm6[1] = uStack88; - puParm6[2] = uStack84; - } - } - loc_7F01F604(iParm1,1); - } - return uStack96; -} - - - -undefined8 -loc_7F031590(int iParm1,float *pfParm2,longlong lParm3,float *pfParm4,float fParm5,int iParm6, - undefined4 uParm7,int iParm8,undefined4 uParm9,undefined4 uParm10,int iParm11) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float *pfStack56; - float *pfStack52; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x18); - pfStack56 = pfParm2; - pfStack52 = pfParm4; - if (lParm3 != 0) { - pfStack56 = pfParm4; - pfStack52 = pfParm2; - } - fStack16 = *pfParm2 - *(float *)(iStack4 + 8); - uStack12 = 0; - fStack8 = pfParm2[2] - *(float *)(iStack4 + 0x10); - fVar4 = (float)sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fVar5 = fParm5 * (1.00000000 / fVar4); - fStack16 = fStack16 * fVar5; - fStack8 = fStack8 * fVar5; - fVar7 = DAT_8004816c; - if (fVar5 <= 1.00000000) { - fVar7 = (float)sub_GAME_7F05AD5C(fParm5 * (1.00000000 / fVar4)); - } - if (((int)lParm3 == 0) && (fVar7 != 0.00000000)) { - fVar7 = DAT_80048170 - fVar7; - } - fVar4 = (float)func_7F057FC4(); - fVar5 = (float)func_7F057FC4(fVar7); - fVar6 = -fVar4 * fStack16; - fVar5 = fStack8 * fVar5; - fVar4 = (float)func_7F057FC4(fVar7); - fVar7 = (float)func_7F057FC4(fVar7); - iVar3 = iStack4 + 8; - fStack28 = fVar5 + fVar6 + *pfParm2; - fStack24 = pfParm2[1]; - fStack20 = (-fVar4 * fStack16 - fStack8 * fVar7) + pfParm2[2]; - lVar1 = loc_7F030D5C(iParm1,iVar3,*(undefined4 *)(iStack4 + 0x14),&fStack28,pfStack52,pfStack56, - uParm9,*(undefined4 *)(iParm1 + 0x24),uParm10); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if ((iParm6 == 0) || - (lVar1 = FUN_7f0304f0(iParm1,iVar3,*(undefined4 *)(iStack4 + 0x14),&fStack28,uParm7,0,uParm10 - ), lVar1 != 0)) { - if (iParm11 == 0) { - *(undefined *)(iParm8 + 2) = 1; - *(float *)(iParm8 + 4) = fStack28; - *(float *)(iParm8 + 8) = fStack24; - *(float *)(iParm8 + 0xc) = fStack20; - uVar2 = 1; - } - else { - *(undefined *)(iParm8 + 3) = 1; - *(float *)(iParm8 + 0x2c) = fStack28; - *(float *)(iParm8 + 0x30) = fStack24; - *(float *)(iParm8 + 0x34) = fStack20; - uVar2 = 1; - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F032048(int iParm1,undefined4 *puParm2,undefined8 uParm3,char *pcParm4) - -{ - longlong lVar1; - int iVar2; - int iVar3; - char cVar4; - undefined4 uVar5; - undefined4 uVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - int iStack32; - float afStack28 [2]; - float fStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - fVar9 = DAT_80048178; - fVar8 = DAT_80048174; - iVar3 = *(int *)(iParm1 + 0x18); - uVar5 = 0x801d; - if ((*(ushort *)(iParm1 + 0x12) & 0x10) != 0) { - uVar5 = 0x1f; - } - iStack32 = 0; - do { - cVar4 = *pcParm4; - if (cVar4 == '\0') { - uStack16 = *puParm2; -LAB_7f031690: - uStack12 = puParm2[1]; - uStack8 = puParm2[2]; - lVar1 = loc_7F030D5C(iParm1,iVar3 + 8,*(undefined4 *)(iVar3 + 0x14),&uStack16,pcParm4 + 0x10, - pcParm4 + 0x1c,-*(float *)(iParm1 + 0x24),*(float *)(iParm1 + 0x24),0x10) - ; - if (lVar1 == 0) { - if (*pcParm4 == '\0') { - *pcParm4 = '\x01'; - pcParm4[1] = '\0'; - } - else { - if (*pcParm4 == '\x02') { - *pcParm4 = '\x03'; - pcParm4[1] = '\0'; - } - } - } - else { - pcParm4[2] = '\x01'; - *(undefined4 *)(pcParm4 + 4) = uStack16; - *(undefined4 *)(pcParm4 + 8) = uStack12; - *pcParm4 = '\x04'; - *(undefined4 *)(pcParm4 + 0xc) = uStack8; - } - } - else { - if (cVar4 == '\x02') { - uStack16 = *puParm2; - goto LAB_7f031690; - } - if (cVar4 == '\x01') { - fVar11 = *(float *)(iParm1 + 0x24) * DAT_8004817c * DAT_80048180; - lVar1 = loc_7F031590(iParm1,pcParm4 + 0x10,1,afStack28,fVar11,1,puParm2,pcParm4,0,0x10,0); - if (lVar1 == 0) { - lVar1 = loc_7F031590(iParm1,pcParm4 + 0x1c,0,afStack28,fVar11,1,puParm2,pcParm4,0,0x10,0); - if (lVar1 == 0) { - pcParm4[1] = pcParm4[1] + '\x01'; - if ('\x05' < pcParm4[1]) { - *pcParm4 = '\x02'; - } - } - else { - *pcParm4 = '\x04'; - } - } - else { - *pcParm4 = '\x04'; - } - } - else { - if (cVar4 == '\x03') { - fVar11 = *(float *)(iParm1 + 0x24) * DAT_80048184 * DAT_80048188; - lVar1 = loc_7F031590(iParm1,pcParm4 + 0x10,1,afStack28,fVar11,0,0,pcParm4,0,0x10,0); - if (lVar1 == 0) { - lVar1 = loc_7F031590(iParm1,pcParm4 + 0x1c,0,afStack28,fVar11,0,0,pcParm4,0,0x10,0); - if (lVar1 == 0) { - pcParm4[1] = pcParm4[1] + '\x01'; - if ('\x05' < pcParm4[1]) { - pcParm4[2] = '\0'; - pcParm4[3] = pcParm4[2]; - uVar6 = *puParm2; - *(undefined4 *)(pcParm4 + 4) = uVar6; - *(undefined4 *)(pcParm4 + 0x2c) = uVar6; - uVar6 = puParm2[1]; - *(undefined4 *)(pcParm4 + 8) = uVar6; - *(undefined4 *)(pcParm4 + 0x30) = uVar6; - uVar6 = puParm2[2]; - *pcParm4 = '\0'; - *(undefined4 *)(pcParm4 + 0xc) = uVar6; - *(undefined4 *)(pcParm4 + 0x34) = uVar6; - } - } - else { - *pcParm4 = '\x04'; - } - } - else { - *pcParm4 = '\x04'; - } - } - else { - if (cVar4 == '\x04') { - lVar1 = loc_7F0312F8(iParm1,iVar3 + 8,*(undefined4 *)(iVar3 + 0x14),pcParm4 + 4, - pcParm4 + 0x10,pcParm4 + 0x1c,-*(float *)(iParm1 + 0x24), - *(float *)(iParm1 + 0x24),uVar5); - if (lVar1 == 0) { - *pcParm4 = '\x05'; - pcParm4[1] = '\0'; - } - else { - pcParm4[3] = '\x01'; - *pcParm4 = '\0'; - *(undefined4 *)(pcParm4 + 0x2c) = *(undefined4 *)(pcParm4 + 4); - *(undefined4 *)(pcParm4 + 0x30) = *(undefined4 *)(pcParm4 + 8); - *(undefined4 *)(pcParm4 + 0x34) = *(undefined4 *)(pcParm4 + 0xc); - } - } - else { - if (cVar4 == '\x05') { - fVar13 = *(float *)(iParm1 + 0x24) * DAT_8004818c * DAT_80048190; - fVar11 = (float)convert_angle_using_inverse - (*(float *)(pcParm4 + 4) - *(float *)(iVar3 + 8), - *(float *)(pcParm4 + 0xc) - *(float *)(iVar3 + 0x10)); - fVar12 = (float)convert_angle_using_inverse - (*(float *)(pcParm4 + 0x10) - *(float *)(iVar3 + 8), - *(float *)(pcParm4 + 0x18) - *(float *)(iVar3 + 0x10)); - fVar12 = fVar11 - fVar12; - fVar10 = (float)convert_angle_using_inverse - (*(float *)(pcParm4 + 0x1c) - *(float *)(iVar3 + 8), - *(float *)(pcParm4 + 0x24) - *(float *)(iVar3 + 0x10)); - fVar10 = fVar11 - fVar10; - if (fVar12 < 0.00000000) { - fVar12 = fVar12 + fVar9; - } - if (fVar8 <= fVar12) { - fVar12 = fVar12 - fVar9; - } - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - if (fVar10 < 0.00000000) { - fVar10 = fVar10 + fVar9; - } - if (fVar8 <= fVar10) { - fVar10 = fVar10 - fVar9; - } - if (fVar10 < 0.00000000) { - fVar10 = -fVar10; - } - if (fVar12 < fVar10) { - fVar12 = fVar13 * DAT_80048194; - lVar1 = loc_7F031590(iParm1,pcParm4 + 0x10,1,afStack28,fVar13,0,0,pcParm4,fVar12, - uVar5,1); - if (lVar1 != 0) { - *pcParm4 = '\0'; - break; - } - fVar10 = (float)convert_angle_using_inverse - (*(float *)(pcParm4 + 0x10) - *(float *)(iVar3 + 8), - *(float *)(pcParm4 + 0x18) - *(float *)(iVar3 + 0x10)); - fVar10 = fVar11 - fVar10; - fVar7 = (float)convert_angle_using_inverse - (afStack28[0] - *(float *)(iVar3 + 8), - fStack20 - *(float *)(iVar3 + 0x10)); - fVar11 = fVar11 - fVar7; - if (fVar10 < 0.00000000) { - fVar10 = fVar10 + fVar9; - } - if (fVar8 <= fVar10) { - fVar10 = fVar10 - fVar9; - } - if (fVar10 < 0.00000000) { - fVar10 = -fVar10; - } - if (fVar11 < 0.00000000) { - fVar11 = fVar11 + fVar9; - } - if (fVar8 <= fVar11) { - fVar11 = fVar11 - fVar9; - } - if (fVar11 < 0.00000000) { - fVar11 = -fVar11; - } - if (fVar11 < fVar10) { - lVar1 = loc_7F031590(iParm1,afStack28,0,afStack28,fVar13,0,0,pcParm4,fVar12,uVar5, - 1); - if (lVar1 != 0) { - *pcParm4 = '\0'; - break; - } - cVar4 = pcParm4[1]; - } - else { - cVar4 = pcParm4[1]; - } - } - else { - fVar12 = fVar13 * DAT_80048198; - lVar1 = loc_7F031590(iParm1,pcParm4 + 0x1c,0,afStack28,fVar13,0,0,pcParm4,fVar12, - uVar5,1); - if (lVar1 != 0) { - *pcParm4 = '\0'; - break; - } - fVar10 = (float)convert_angle_using_inverse - (*(float *)(pcParm4 + 0x1c) - *(float *)(iVar3 + 8), - *(float *)(pcParm4 + 0x24) - *(float *)(iVar3 + 0x10)); - fVar10 = fVar11 - fVar10; - fVar7 = (float)convert_angle_using_inverse - (afStack28[0] - *(float *)(iVar3 + 8), - fStack20 - *(float *)(iVar3 + 0x10)); - fVar11 = fVar11 - fVar7; - if (fVar10 < 0.00000000) { - fVar10 = fVar10 + fVar9; - } - if (fVar8 <= fVar10) { - fVar10 = fVar10 - fVar9; - } - if (fVar10 < 0.00000000) { - fVar10 = -fVar10; - } - if (fVar11 < 0.00000000) { - fVar11 = fVar11 + fVar9; - } - if (fVar8 <= fVar11) { - fVar11 = fVar11 - fVar9; - } - if (fVar11 < 0.00000000) { - fVar11 = -fVar11; - } - if (fVar11 < fVar10) { - lVar1 = loc_7F031590(iParm1,afStack28,1,afStack28,fVar13,0,0,pcParm4,fVar12,uVar5, - 1); - if (lVar1 != 0) { - *pcParm4 = '\0'; - break; - } - cVar4 = pcParm4[1]; - } - else { - cVar4 = pcParm4[1]; - } - } - pcParm4[1] = cVar4 + '\x01'; - if ('\x05' < pcParm4[1]) { - pcParm4[3] = '\0'; - *pcParm4 = '\0'; - } - } - } - } - } - } - iStack32 += 1; - } while (iStack32 != 1); - if (pcParm4[3] == '\0') { - *(undefined4 *)(pcParm4 + 0x2c) = *(undefined4 *)(pcParm4 + 4); - *(undefined4 *)(pcParm4 + 0x30) = *(undefined4 *)(pcParm4 + 8); - *(undefined4 *)(pcParm4 + 0x34) = *(undefined4 *)(pcParm4 + 0xc); - iVar2 = *(int *)(pcParm4 + 0x28); - } - else { - iVar2 = *(int *)(pcParm4 + 0x28); - } - if (iVar2 % 10 == 0) { - iVar2 = loc_7F0B1680(*(undefined4 *)(iVar3 + 0x14),*(undefined4 *)(iVar3 + 8), - *(undefined4 *)(iVar3 + 0x10),*(undefined4 *)(pcParm4 + 0x2c), - *(undefined4 *)(pcParm4 + 0x34),0x5000); - if (iVar2 != 0) { - if (*(int *)(*(int *)(iVar2 + 4) + 0xc) << 2 < 0) { - iVar2 = 0; - } - else { - fVar8 = *(float *)(iVar2 + 8) - *(float *)(iVar3 + 8); - fVar9 = *(float *)(iVar2 + 0xc) - *(float *)(iVar3 + 0xc); - fVar11 = *(float *)(iVar2 + 0x10) - *(float *)(iVar3 + 0x10); - if (fVar8 * fVar8 + fVar9 * fVar9 + fVar11 * fVar11 < DAT_8004819c) { - sub_7F0281F4(iParm1); - loc_7F055C34(iVar3,*(undefined4 *)(iVar2 + 4)); - loc_7F054A0C(*(undefined4 *)(iVar2 + 4),1); - if ((((*(ushort *)(iParm1 + 0x12) & 0x10) == 0) && - (iVar3 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), iVar3 != _DAT_80058478 + 0x8194 - )) && (iVar3 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), - iVar3 != _DAT_80058478 + 0x1c)) { - FUN_7f023928(iParm1,0x41800000); - *(undefined4 *)(iParm1 + 0xcc) = DAT_80040ffc; - } - } - else { - iVar2 = 0; - } - } - } - if ((iVar2 == 0) || ((*(ushort *)(iParm1 + 0x12) & 0x10) != 0)) { - iVar3 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)); - if ((iVar3 == _DAT_80058478 + 0x8194) || - (iVar3 = sub_7F06F5AC(*(undefined4 *)(iParm1 + 0x1c)), iVar3 == _DAT_80058478 + 0x1c)) { - if (*(char *)(iParm1 + 7) == '\x0e') { - FUN_7f028fe0(iParm1); - } - else { - FUN_7f028dd4(iParm1); - } - } - if (iVar2 == 0) { - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) & 0xffef; - cVar4 = *(char *)(iParm1 + 7); - } - else { - cVar4 = *(char *)(iParm1 + 7); - } - } - else { - cVar4 = *(char *)(iParm1 + 7); - } - } - else { - cVar4 = *(char *)(iParm1 + 7); - } - if (cVar4 == '\x0e') { - loc_7F02F868(iParm1,pcParm4 + 0x2c,0,iParm1 + 0x7c); - } - else { - loc_7F02F868(iParm1,pcParm4 + 0x2c,(ulonglong)*(byte *)(iParm1 + 0x59),iParm1 + 0xa0); - if (*(char *)(iParm1 + 0x59) == '\x02') { - if (*(float *)(iParm1 + 0xa0) == 0.00000000) { - if (*(int *)(iParm1 + 0x14) << 0xc < 0) { - loc_7F06FE84(*(undefined4 *)(iParm1 + 0x1c),0x3f266666,0); - } - else { - loc_7F06FE84(*(undefined4 *)(iParm1 + 0x1c),0x3f000000,0); - } - } - else { - loc_7F06FE84(*(undefined4 *)(iParm1 + 0x1c),0x3e800000,0); - } - } - else { - if (*(char *)(iParm1 + 0x59) == '\x01') { - if (*(float *)(iParm1 + 0xa0) == 0.00000000) { - loc_7F06FE84(*(undefined4 *)(iParm1 + 0x1c),0x3f000000,0); - } - else { - loc_7F06FE84(*(undefined4 *)(iParm1 + 0x1c),0x3ecccccd,0); - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0320cc(int iParm1) - -{ - int *piVar1; - bool bVar2; - longlong lVar3; - int iVar4; - uint uVar5; - undefined4 uVar6; - int iStack92; - undefined4 uStack52; - undefined auStack48 [12]; - undefined4 uStack36; - undefined auStack32 [12]; - int iStack20; - int iStack16; - undefined4 uStack12; - int iStack8; - - iStack16 = *(int *)(iParm1 + 0x18); - iStack20 = 0; - *(int *)(iParm1 + 0x84) = *(int *)(iParm1 + 0x84) + 1; - *(int *)(iParm1 + 200) = DAT_80040ffc; - if (*(int *)(iParm1 + 0xcc) < DAT_80040ffc + -0x32) { - loc_7F028F98(iParm1,iParm1 + 0x2c,*(undefined4 *)(iParm1 + 0x38), - (ulonglong)*(byte *)(iParm1 + 0x59)); - } - FUN_7f028214(iParm1); - if ((*(char *)(iParm1 + 0x5c) != '\x06') && (*(int *)(iParm1 + 0x9c) + 0x96 < DAT_80040ffc)) { - FUN_7f027f38(iParm1,auStack32,&uStack36); - lVar3 = loc_7F027E58(iParm1,auStack32,uStack36); - if (lVar3 != 0) { - iStack20 = 1; - sub_7F027E90(iParm1,iParm1 + 0x5c,auStack32); - } - } - iStack92 = iStack16; - if (9 < DAT_800283a0) { - FUN_7f023e30(iParm1); - return; - } - if (*(char *)(iParm1 + 0x5c) == '\x06') { - FUN_7f027f38(iParm1,auStack48,&uStack52); - if ((iStack20 == 0) && - (((*(byte *)(iStack16 + 1) & 2) != 0 || - (lVar3 = loc_7F027E58(iParm1,auStack48,uStack52), lVar3 == 0)))) { - FUN_7f0282c0(iParm1); - *(int *)(iParm1 + 0x9c) = DAT_80040ffc; - return; - } - uVar6 = FUN_7f027fc0(iParm1); - FUN_7f028634(iParm1,iParm1 + 0x5c,uVar6,auStack48,uStack52); - return; - } - piVar1 = *(int **)(iParm1 + (uint)*(byte *)(iParm1 + 0x58) * 4 + 0x40); - if (piVar1 == NULL) { - lVar3 = loc_7F02FE64(iParm1 + 0xbc,iStack16 + 8,iParm1 + 0x2c,0x41f00000); - bVar2 = false; - if (lVar3 != 0) { - FUN_7f023e30(iParm1); - return; - } - } - else { - lVar3 = loc_7F02FE64(iParm1 + 0xbc,iStack16 + 8,*piVar1 * 0x2c + _DAT_80064c58,0x41f00000); - bVar2 = false; - if (lVar3 != 0) { - bVar2 = true; - } - } - iStack92 += 8; - if (bVar2) { - loc_7F02832C(iParm1); - } - if (*(int *)(iParm1 + 0x84) % 10 == 5) { - iVar4 = iParm1 + (uint)*(byte *)(iParm1 + 0x58) * 4; - if (*(int *)(iParm1 + (uint)*(byte *)(iParm1 + 0x58) * 4 + 0x40) == 0) { - iVar4 = *(int *)(iParm1 + 0x84); - } - else { - if (*(int *)(iVar4 + 0x44) == 0) { - iVar4 = *(int *)(iParm1 + 0x84); - } - else { - piVar1 = *(int **)(iVar4 + 0x48); - iStack8 = iParm1 + 0x2c; - if (piVar1 == NULL) { - uStack12 = *(undefined4 *)(iParm1 + 0x38); - } - else { - iStack8 = *piVar1 * 0x2c + _DAT_80064c58; - uStack12 = *(undefined4 *)(iStack8 + 0x28); - } - lVar3 = FUN_7f03016c(iParm1,iStack92,*(undefined4 *)(iStack16 + 0x14),iStack8,uStack12,0x10) - ; - if (lVar3 != 0) { - lVar3 = loc_7F030488(iParm1,iStack92,*(undefined4 *)(iStack16 + 0x14),iStack8, - *(float *)(iParm1 + 0x24) * DAT_800481a0,0x10); - if (lVar3 == 0) { - iVar4 = *(int *)(iParm1 + 0x84); - goto LAB_7f032424; - } - loc_7F02832C(iParm1); - loc_7F02832C(iParm1); - } - iVar4 = *(int *)(iParm1 + 0x84); - } - } - } - else { - iVar4 = *(int *)(iParm1 + 0x84); - } -LAB_7f032424: - if (iVar4 % 10 == 0) { - if (*(int *)(iParm1 + (uint)*(byte *)(iParm1 + 0x58) * 4 + 0x40) != 0) { - piVar1 = *(int **)(iParm1 + (uint)*(byte *)(iParm1 + 0x58) * 4 + 0x44); - iStack8 = iParm1 + 0x2c; - if (piVar1 == NULL) { - uStack12 = *(undefined4 *)(iParm1 + 0x38); - } - else { - iStack8 = *piVar1 * 0x2c + _DAT_80064c58; - uStack12 = *(undefined4 *)(iStack8 + 0x28); - } - lVar3 = FUN_7f03016c(iParm1,iStack92,*(undefined4 *)(iStack16 + 0x14),iStack8,uStack12,0x10); - if (lVar3 != 0) { - lVar3 = loc_7F030488(iParm1,iStack92,*(undefined4 *)(iStack16 + 0x14),iStack8, - *(float *)(iParm1 + 0x24) * DAT_800481a4,0x10); - if (lVar3 == 0) { - uVar5 = (uint)*(byte *)(iParm1 + 0x58); - goto LAB_7f032518; - } - loc_7F02832C(iParm1); - } - } - uVar5 = (uint)*(byte *)(iParm1 + 0x58); - } - else { - uVar5 = (uint)*(byte *)(iParm1 + 0x58); - } -LAB_7f032518: - iStack8 = iParm1 + 0x2c; - piVar1 = *(int **)(iParm1 + uVar5 * 4 + 0x40); - if (piVar1 == NULL) { - uVar6 = *(undefined4 *)(iParm1 + 0x38); - } - else { - iStack8 = *piVar1 * 0x2c + _DAT_80064c58; - uVar6 = *(undefined4 *)(iStack8 + 0x28); - } - loc_7F032048(iParm1,iStack8,uVar6,iParm1 + 0x5c); - return; -} - - - -// WARNING: Instruction at (ram,0x7f032660) overlaps instruction at (ram,0x7f03265c) -// - -void FUN_7f03258c(int iParm1) - -{ - int iVar1; - bool bVar2; - int iVar4; - longlong lVar3; - undefined4 uVar5; - char cVar6; - - iVar1 = *(int *)(iParm1 + 0x18); - iVar4 = FUN_7f0284a8(); - bVar2 = false; - *(int *)(iParm1 + 0x60) = *(int *)(iParm1 + 0x60) + 1; - *(int *)(iParm1 + 200) = DAT_80040ffc; - if (*(char *)(iParm1 + 0x38) != '\x06') { - if (DAT_80040ffc <= *(int *)(iParm1 + 0x78) + 0x96) { - cVar6 = *(char *)(iParm1 + 0x38); - goto LAB_7f032620; - } - lVar3 = FUN_7f027e88(iParm1,iVar4); - if (lVar3 != 0) { - bVar2 = true; - sub_7F027E90(iParm1,iParm1 + 0x38,iVar4); - } - } - cVar6 = *(char *)(iParm1 + 0x38); -LAB_7f032620: - if (cVar6 == '\x06') { - if (bVar2) { - uVar5 = *(undefined4 *)(iVar4 + 0x28); - } - else { - if (((*(byte *)(iVar1 + 1) & 2) != 0) || (lVar3 = FUN_7f027e88(iParm1,iVar4), lVar3 == 0)) { - *(int *)(iParm1 + 0x78) = DAT_80040ffc; - FUN_7f0284c8(iParm1); - return; - } - uVar5 = *(undefined4 *)(iVar4 + 0x28); - } - FUN_7f028634(iParm1,iParm1 + 0x38,DAT_8002bed4,iVar4,uVar5); - } - else { - lVar3 = loc_7F02FE64(iParm1 + 0xbc,iVar1 + 8,iVar4,0x41f00000); - if (lVar3 != 0) { - FUN_7f028510(iParm1); - iVar4 = FUN_7f0284a8(iParm1); - } - loc_7F032048(iParm1,iVar4,*(undefined4 *)(iVar4 + 0x28),iParm1 + 0x38); - } - return; -} - - - -void FUN_7f032700(int iParm1) - -{ - char cVar1; - ushort uVar2; - char cVar3; - uint uVar4; - - if (DAT_80040ff4 < 1) { - return; - } - if (*(char *)(iParm1 + 7) == '\0') { - *(uint *)(iParm1 + 0x14) = *(uint *)(iParm1 + 0x14) | 1; - FUN_7f023a74(iParm1,0); - *(undefined *)(iParm1 + 8) = 0; - uVar2 = *(ushort *)(iParm1 + 0x12); - } - else { - uVar2 = *(ushort *)(iParm1 + 0x12); - } - cVar3 = (char)DAT_80040ff4; - if ((uVar2 & 0x40) == 0) { - cVar1 = *(char *)(iParm1 + 8); - } - else { - *(int *)(iParm1 + 0x110) = *(int *)(iParm1 + 0x110) + DAT_80040ff4; - cVar3 = (char)DAT_80040ff4; - cVar1 = *(char *)(iParm1 + 8); - } - *(char *)(iParm1 + 8) = cVar1 - cVar3; - if ((-1 < *(char *)(iParm1 + 8)) && (-1 < *(int *)(iParm1 + 0x14) << 0xd)) { - return; - } - *(undefined *)(iParm1 + 8) = 0; - loc_7F03A204(iParm1,3); - if (false) goto switchD_7f0327c4_caseD_11; - switch(*(undefined *)(iParm1 + 7)) { - case 1: - loc_7F02B4D0(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 2: - sub_7F02B4E0(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 3: - FUN_7f02b51c(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 4: - FUN_7f02b9d8(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 5: - FUN_7f02b7a8(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 6: - FUN_7f02bcb4(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 7: - FUN_7f02bd54(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 8: - FUN_7f02ec48(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 9: - FUN_7f02f8cc(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 10: - FUN_7f02ef24(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0xb: - FUN_7f02bdd8(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0xc: - FUN_7f02be34(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0xd: - FUN_7f02febc(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0xe: - FUN_7f03258c(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0xf: - FUN_7f0320cc(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0x10: - loc_7F02B764(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0x12: - FUN_7f02bf58(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0x13: - FUN_7f02bedc(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0x14: - FUN_7f02f43c(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0x16: - FUN_7f02be8c(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0x17: - FUN_7f02f5e8(iParm1); - uVar4 = *(uint *)(iParm1 + 0x14); - break; - case 0x18: - FUN_7f02f6cc(iParm1); - default: -switchD_7f0327c4_caseD_11: - uVar4 = *(uint *)(iParm1 + 0x14); - } - *(uint *)(iParm1 + 0x14) = uVar4 & 0xfffffffb; - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) & 0xfdfd; - *(undefined2 *)(iParm1 + 0x118) = 0xffff; - *(undefined2 *)(iParm1 + 0x11a) = 0xffff; - return; -} - - - -// WARNING: Instruction at (ram,0x7f032a50) overlaps instruction at (ram,0x7f032a4c) -// - -void FUN_7f032960(void) - -{ - uint uVar1; - int iVar2; - uint uVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - - uVar1 = actor_drops_itemtype_setting_timer(); - iVar2 = 0; - iVar7 = 0; - if (0 < DAT_8002bed0) { - do { - FUN_7f032700(iVar7 + DAT_8002becc); - iVar2 += 1; - iVar7 += 0x1dc; - } while (iVar2 < DAT_8002bed0); - } - uVar3 = 0; - DAT_800283a0 = 0; - if (0 < (int)uVar1) { - iVar2 = DAT_800281b4; - if ((uVar1 & 3) == 0) { - iVar2 = 0; - } - else { - do { - uVar3 += 1; - if (((*(int *)(iVar2 + 0x1c) != 0) && (0 < *(int *)(iVar2 + 0xd4))) && - (DAT_80040ffc - *(int *)(iVar2 + 0xd4) < 100)) { - DAT_800283a0 += 1; - } - iVar2 = iVar2 + 0x1dc; - } while ((uVar1 & 3) != uVar3); - iVar2 = uVar3 * 0x10; - if (uVar3 == uVar1) { - return; - } - } - iVar8 = (iVar2 * 8 + uVar3 * -9) * 4; - iVar4 = iVar8 + DAT_800281b4; - iVar5 = iVar4 + 0x594; - iVar2 = iVar4 + 0x1dc; - iVar7 = iVar4 + 0x3b8; - do { - iVar8 += 0x770; - if (*(int *)(iVar4 + 0x1c) == 0) { - iVar6 = *(int *)(iVar2 + 0x1c); - } - else { - if (*(int *)(iVar4 + 0xd4) < 1) { - iVar6 = *(int *)(iVar2 + 0x1c); - } - else { - if (DAT_80040ffc - *(int *)(iVar4 + 0xd4) < 100) { - DAT_800283a0 += 1; - iVar6 = *(int *)(iVar2 + 0x1c); - } - else { - iVar6 = *(int *)(iVar2 + 0x1c); - } - } - } - iVar4 += 0x770; - if (iVar6 == 0) { -LAB_7f032b14: - iVar6 = *(int *)(iVar7 + 0x1c); - } - else { - if (*(int *)(iVar2 + 0xd4) < 1) { - iVar6 = *(int *)(iVar7 + 0x1c); - } - else { - if (DAT_80040ffc - *(int *)(iVar2 + 0xd4) < 100) { - DAT_800283a0 += 1; - goto LAB_7f032b14; - } - iVar6 = *(int *)(iVar7 + 0x1c); - } - } - if (iVar6 == 0) { - iVar6 = *(int *)(iVar5 + 0x1c); - } - else { - if (*(int *)(iVar7 + 0xd4) < 1) { - iVar6 = *(int *)(iVar5 + 0x1c); - } - else { - if (DAT_80040ffc - *(int *)(iVar7 + 0xd4) < 100) { - DAT_800283a0 += 1; - iVar6 = *(int *)(iVar5 + 0x1c); - } - else { - iVar6 = *(int *)(iVar5 + 0x1c); - } - } - } - if (((iVar6 != 0) && (0 < *(int *)(iVar5 + 0xd4))) && - (DAT_80040ffc - *(int *)(iVar5 + 0xd4) < 100)) { - DAT_800283a0 += 1; - } - iVar5 += 0x770; - iVar2 = iVar2 + 0x770; - iVar7 = iVar7 + 0x770; - } while (iVar8 != uVar1 * 0x1dc); - } - return; -} - - - -undefined8 FUN_7f032bac(int iParm1) - -{ - if ((0 < *(int *)(iParm1 + 0xd4)) && (DAT_80040ffc - *(int *)(iParm1 + 0xd4) < 500)) { - return 1; - } - return 0; -} - - - -undefined8 FUN_7f032be4(int iParm1) - -{ - if ((0 < *(int *)(iParm1 + 0xf0)) && (DAT_80040ffc - *(int *)(iParm1 + 0xf0) < 500)) { - return 1; - } - return 0; -} - - - -float FUN_7f032c1c(int iParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar1 = (float)FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - fVar2 = (float)convert_angle_using_inverse - (*pfParm2 - *(float *)(*(int *)(iParm1 + 0x18) + 8), - pfParm2[2] - *(float *)(*(int *)(iParm1 + 0x18) + 0x10)); - fVar3 = fVar2 - fVar1; - if (fVar2 < fVar1) { - fVar3 = fVar3 + DAT_80048208; - } - return fVar3; -} - - - -void FUN_7f032c90(undefined4 uParm1) - -{ - int iVar1; - - iVar1 = FUN_7f089900(); - FUN_7f032c1c(uParm1,iVar1 + 8); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f032cbc(int iParm1,ulonglong uParm2,undefined8 uParm3,undefined4 *puParm4) - -{ - int iVar2; - int iVar3; - longlong lVar1; - - if ((uParm2 & 4) == 0) { - if ((uParm2 & 8) == 0) { - iVar2 = FUN_7f089900(); - iVar3 = iVar2 + 8; - *puParm4 = *(undefined4 *)(iVar2 + 0x14); - } - else { - lVar1 = locret_7F032FA4(iParm1,uParm3); - if (lVar1 < 10000) { - iVar3 = (int)lVar1 * 0x2c + _DAT_80064c58; - } - else { - iVar3 = (int)lVar1 * 0x44 + _DAT_80064c5c + -680000; - } - *puParm4 = *(undefined4 *)(iVar3 + 0x28); - } - } - else { - iVar2 = FUN_7f033084(iParm1,uParm3); - if ((iVar2 == 0) || (*(int *)(iVar2 + 0x18) == 0)) { - iVar3 = *(int *)(iParm1 + 0x18); - } - else { - iVar3 = *(int *)(iParm1 + 0x18); - iParm1 = iVar2; - } - *puParm4 = *(undefined4 *)(iVar3 + 0x14); - iVar3 = *(int *)(iParm1 + 0x18) + 8; - } - return iVar3; -} - - - -float FUN_7f032db4(int iParm1) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar3 = (float)FUN_7f08a0b0(); - iVar1 = *(int *)(iParm1 + 0x18); - iVar2 = FUN_7f089900(); - fVar4 = (float)convert_angle_using_inverse - (*(float *)(iVar1 + 8) - *(float *)(iVar2 + 8), - *(float *)(iVar1 + 0x10) - *(float *)(iVar2 + 0x10)); - fVar5 = fVar4 - fVar3; - if (fVar4 < fVar3) { - fVar5 = fVar5 + DAT_8004820c; - } - return fVar5; -} - - - -void FUN_7f032e28(int iParm1) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = *(int *)(iParm1 + 0x18); - iVar2 = FUN_7f089900(); - fVar3 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar4 = *(float *)(iVar2 + 0xc) - *(float *)(iVar1 + 0xc); - fVar5 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - sqrtf(fVar3 * fVar3 + fVar4 * fVar4 + fVar5 * fVar5); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f032e8c(int iParm1) - -{ - int iVar1; - longlong lVar2; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar1 = *(int *)(iParm1 + 0x18); - lVar2 = locret_7F032FA4(); - if (lVar2 < 10000) { - pfVar3 = (float *)((int)lVar2 * 0x2c + _DAT_80064c58); - } - else { - pfVar3 = (float *)((int)lVar2 * 0x44 + _DAT_80064c5c + -680000); - } - fVar4 = *pfVar3 - *(float *)(iVar1 + 8); - fVar5 = pfVar3[1] - *(float *)(iVar1 + 0xc); - fVar6 = pfVar3[2] - *(float *)(iVar1 + 0x10); - sqrtf(fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f032f40(void) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = locret_7F032FA4(); - if (lVar1 < 10000) { - iVar3 = (int)lVar1 * 0x2c + _DAT_80064c58; - } - else { - iVar3 = (int)lVar1 * 0x44 + _DAT_80064c5c + -680000; - } - uVar2 = 0; - if (*(int *)(iVar3 + 0x28) != 0) { - uVar2 = sub_7F0B2FD8(); - uVar2 = FUN_7f0b518c(uVar2); - } - return uVar2; -} - - - -short locret_7F032FA4(int iParm1,short sParm2) - -{ - if (sParm2 == 9000) { - sParm2 = *(short *)(iParm1 + 0x114); - } - return sParm2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong locret_7F033038(short *psParm1,longlong lParm2) - -{ - short *psVar1; - - if (lParm2 == 0xfa) { - return (longlong)psParm1[0x8c]; - } - if (lParm2 == 0xfb) { - return (longlong)psParm1[0x8d]; - } - if (lParm2 == 0xfc) { - return (longlong)psParm1[0x8b]; - } - if (lParm2 != 0xfd) { - if (lParm2 != 0xf9) { - if ((lParm2 == 0xf8) && - (psVar1 = *(short **)(*(int *)(_DAT_80068bc0 + 0xa8) + 4), psVar1 != NULL)) { - lParm2 = (longlong)*psVar1; - } - return lParm2; - } - return (longlong)((int)*psParm1 + 10000); - } - return (longlong)*psParm1; -} - - - -int FUN_7f033084(void) - -{ - short sVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - short *psVar5; - int iVar6; - - uVar2 = locret_7F033038(); - iVar3 = FUN_7f022f90(uVar2); - if ((iVar3 == 0) && (iVar4 = 0, 0 < DAT_8002bed0)) { - iVar6 = 0; - psVar5 = DAT_8002becc; - do { - sVar1 = *psVar5; - iVar4 += 1; - psVar5 = psVar5 + 0xee; - if ((longlong)(int)uVar2 == (longlong)sVar1) { - return iVar6 + (int)DAT_8002becc; - } - iVar6 += 0x1dc; - } while (iVar4 < DAT_8002bed0); - } - return iVar3; -} - - - -undefined4 FUN_7f033108(int iParm1) - -{ - int iVar1; - int iVar2; - float fVar3; - undefined4 uVar4; - float fVar5; - float fVar6; - - iVar1 = *(int *)(iParm1 + 0x18); - iVar2 = FUN_7f033084(); - uVar4 = 0; - if (((iVar2 != 0) && (*(int *)(iVar2 + 0x1c) != 0)) && (*(int *)(iVar2 + 0x18) != 0)) { - iVar2 = *(int *)(iVar2 + 0x18); - fVar3 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar5 = *(float *)(iVar2 + 0xc) - *(float *)(iVar1 + 0xc); - fVar6 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - uVar4 = sqrtf(fVar3 * fVar3 + fVar5 * fVar5 + fVar6 * fVar6); - } - return uVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f033198(undefined4 uParm1,undefined4 uParm2) - -{ - int iVar2; - longlong lVar1; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar2 = FUN_7f089900(); - lVar1 = locret_7F032FA4(uParm1,uParm2); - if (lVar1 < 10000) { - pfVar3 = (float *)((int)lVar1 * 0x2c + _DAT_80064c58); - } - else { - pfVar3 = (float *)((int)lVar1 * 0x44 + _DAT_80064c5c + -680000); - } - fVar4 = *pfVar3 - *(float *)(iVar2 + 8); - fVar5 = pfVar3[1] - *(float *)(iVar2 + 0xc); - fVar6 = pfVar3[2] - *(float *)(iVar2 + 0x10); - sqrtf(fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6); - return; -} - - - -void sub_7F033218(int iParm1,byte bParm2) - -{ - *(byte *)(iParm1 + 0x10e) = *(byte *)(iParm1 + 0x10e) | bParm2; - return; -} - - - -void sub_7F03322C(int iParm1,byte bParm2) - -{ - *(byte *)(iParm1 + 0x10e) = *(byte *)(iParm1 + 0x10e) & ~bParm2; - return; -} - - - -ulonglong sub_7F033244(int iParm1,byte bParm2) - -{ - return (ulonglong)((*(byte *)(iParm1 + 0x10e) & bParm2) != 0); -} - - - -void FUN_7f0332a4(undefined8 uParm1,undefined8 uParm2,byte bParm3) - -{ - longlong lVar1; - - lVar1 = FUN_7f033084(); - if (lVar1 != 0) { - sub_7F033218(lVar1,(ulonglong)bParm3); - } - return; -} - - - -void FUN_7f0332d4(undefined8 uParm1,undefined8 uParm2,byte bParm3) - -{ - longlong lVar1; - - lVar1 = FUN_7f033084(); - if (lVar1 != 0) { - sub_7F03322C(lVar1,(ulonglong)bParm3); - } - return; -} - - - -undefined8 FUN_7f033304(undefined8 uParm1,undefined8 uParm2,byte bParm3) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = FUN_7f033084(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = sub_7F033244(lVar1,(ulonglong)bParm3); - } - return uVar2; -} - - - -void FUN_7f033340(undefined8 uParm1,uint uParm2) - -{ - DAT_8002bec8 = DAT_8002bec8 | uParm2; - return; -} - - - -void FUN_7f03335c(undefined8 uParm1,uint uParm2) - -{ - DAT_8002bec8 = ~uParm2 & DAT_8002bec8; - return; -} - - - -ulonglong FUN_7f03337c(undefined8 uParm1,uint uParm2) - -{ - return (ulonglong)((DAT_8002bec8 & uParm2) != 0); -} - - - -ulonglong check_if_actor_02_flag_set(int iParm1) - -{ - return (ulonglong)((*(ushort *)(iParm1 + 0x12) & 2) != 0); -} - - - -ulonglong FUN_7f0333a8(undefined4 uParm1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(); - if (lVar1 != 0) { - loc_7F0247A8(uParm1); - } - return (ulonglong)(lVar1 != 0); -} - - - -undefined8 FUN_7f0333e4(void) - -{ - FUN_7f0247a0(); - return 1; -} - - - -void reset_and_start_loop_counter(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0x110) = 0; - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 0x40; - return; -} - - - -float FUN_7f03341c(int iParm1) - -{ - return (float)*(int *)(iParm1 + 0x110) / 50.00000000; -} - - - -undefined8 FUN_7f03343c(int iParm1) - -{ - longlong lVar1; - undefined8 uVar2; - float fVar3; - undefined auStack40 [12]; - undefined auStack28 [12]; - undefined auStack16 [12]; - undefined4 uStack4; - - lVar1 = FUN_7f029794(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uStack4 = *(undefined4 *)(iParm1 + 0x1c); - fVar3 = (float)FUN_7f06d494(); - fVar3 = fVar3 * DAT_80048210; - FUN_7f068938(auStack16,auStack28); - FUN_7f06d1d8(uStack4,auStack40); - uVar2 = FUN_7f078444(); - FUN_7f05891c(uVar2,auStack40); - lVar1 = locret_7F041158(auStack16,auStack28,auStack40,fVar3); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - return uVar2; -} - - - -ulonglong check_if_actor_invisible(int iParm1) - -{ - return (ulonglong)((*(uint *)(iParm1 + 0x14) & 4) != 0); -} - - - -undefined8 FUN_7f0334e4(undefined4 uParm1,undefined4 uParm2) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = locret_7F02A29C(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if (DAT_800283a0 < 10) { - iVar3 = FUN_7f089900(); - lVar1 = loc_7F028F98(uParm1,iVar3 + 8,*(undefined4 *)(iVar3 + 0x14),uParm2); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -undefined8 FUN_7f033550(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = locret_7F02A29C(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if (DAT_800283a0 < 10) { - iVar3 = FUN_7f033084(uParm1,uParm2); - if (iVar3 == 0) { - uVar2 = 0; - } - else { - if (*(int *)(iVar3 + 0x1c) == 0) { - uVar2 = 0; - } - else { - if (*(int *)(iVar3 + 0x18) == 0) { - uVar2 = 0; - } - else { - lVar1 = loc_7F028F98(uParm1,*(int *)(iVar3 + 0x18) + 8, - *(undefined4 *)(*(int *)(iVar3 + 0x18) + 0x14),uParm3); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - } - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -undefined get_times_actor_shot(int iParm1) - -{ - return *(undefined *)(iParm1 + 0xb); -} - - - -undefined get_num_shots_near_actor(int iParm1) - -{ - return *(undefined *)(iParm1 + 10); -} - - - -ulonglong check_if_actor_FA_target_set(int iParm1) - -{ - return (ulonglong)(*(short *)(iParm1 + 0x118) < 0) ^ 1; -} - - - -ulonglong check_if_actor_FB_target_set(int iParm1) - -{ - return (ulonglong)(*(short *)(iParm1 + 0x11a) < 0) ^ 1; -} - - - -ulonglong FUN_7f033618(undefined4 uParm1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(); - if (lVar1 != 0) { - FUN_7f023e30(uParm1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f033654(undefined4 uParm1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(); - if (lVar1 != 0) { - FUN_7f024400(uParm1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f033690(undefined4 uParm1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(); - if (lVar1 != 0) { - FUN_7f024494(uParm1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f0336cc(undefined4 uParm1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(); - if (lVar1 != 0) { - FUN_7f024530(uParm1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f033708(undefined4 uParm1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(); - if (lVar1 != 0) { - FUN_7f023e5c(uParm1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f033744(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - byte bParm5,undefined4 uParm6) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(); - if (lVar1 != 0) { - loc_7F02413C(uParm1,uParm2,uParm3,uParm4,(uint)bParm5,uParm6); - } - return (ulonglong)(lVar1 != 0); -} - - - -void FUN_7f0337a4(void) - -{ - FUN_7f056130(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0337c4(int *piParm1,float *pfParm2,float fParm3) - -{ - float *pfVar2; - undefined8 uVar1; - float fVar3; - float fVar4; - - pfVar2 = (float *)(*piParm1 * 0x2c + _DAT_80064c58); - fVar3 = (float)convert_angle_using_inverse(*pfVar2 - *pfParm2,pfVar2[2] - pfParm2[2]); - fVar4 = fParm3 - fVar3; - if (fParm3 < fVar3) { - fVar4 = fVar4 + DAT_80048214; - } - if ((fVar4 < DAT_80048218) || (uVar1 = 0, DAT_8004821c < fVar4)) { - uVar1 = 1; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F033974(undefined8 uParm1,undefined8 uParm2,float fParm3,char cParm4) - -{ - undefined4 *puVar2; - longlong lVar1; - int iVar3; - int iVar4; - - puVar2 = (undefined4 *)loc_7F027D8C(); - if (puVar2 != NULL) { - if (cParm4 == '\x01') { - fParm3 = fParm3 + DAT_80048220; - } - else { - if (cParm4 == '\x02') { - fParm3 = fParm3 + DAT_80048224; - } - else { - if (cParm4 == '\x04') { - fParm3 = fParm3 + DAT_80048228; - } - } - } - if (DAT_8004822c <= fParm3) { - fParm3 = fParm3 - DAT_8004822c; - } - lVar1 = FUN_7f0337c4(puVar2,uParm1,fParm3); - if (lVar1 != 0) { - return *puVar2; - } - iVar4 = *(int *)puVar2[1]; - iVar3 = 0; - if (iVar4 < 0) { - return 0xffffffff; - } - do { - lVar1 = FUN_7f0337c4(iVar4 * 0x10 + _DAT_80064c40,uParm1,fParm3); - if (lVar1 != 0) { - return *(undefined4 *)(_DAT_80064c40 + iVar4 * 0x10); - } - iVar3 += 1; - iVar4 = *(int *)(puVar2[1] + iVar3 * 4); - } while (-1 < iVar4); - } - return 0xffffffff; -} - - - -undefined8 loc_7F033A98(int iParm1,ulonglong uParm2) - -{ - int iVar1; - longlong lVar2; - longlong lVar3; - undefined4 *puVar4; - undefined4 uVar5; - undefined auStack28 [4]; - undefined4 *puStack24; - int iStack8; - - uParm2 &= 0xff; - if ((uParm2 != 0x10) && (uParm2 != 0x20)) { - uVar5 = FUN_7f06d228(*(undefined4 *)(iParm1 + 0x1c)); - lVar2 = loc_7F033974(*(int *)(iParm1 + 0x18) + 8,*(undefined4 *)(*(int *)(iParm1 + 0x18) + 0x14) - ,uVar5,uParm2); - if (lVar2 < 0) { - return 0; - } - *(undefined2 *)(iParm1 + 0x114) = (short)lVar2; - return 1; - } - iVar1 = *(int *)(iParm1 + 0x18); - iStack8 = FUN_7f089900(); - lVar2 = loc_7F027D8C(iVar1 + 8,*(undefined4 *)(iVar1 + 0x14)); - lVar3 = loc_7F027D8C(iStack8 + 8,*(undefined4 *)(iStack8 + 0x14)); - if ((lVar2 != 0) && (lVar3 != 0)) { - if ((int)uParm2 != 0x10) { - puVar4 = (undefined4 *)FUN_7f0900f0(lVar2,lVar3); - if (puVar4 == NULL) { - return 0; - } - *(undefined2 *)(iParm1 + 0x114) = (short)*puVar4; - return 1; - } - lVar2 = FUN_7f08fa50(lVar2,lVar3,auStack28,3); - if (2 < lVar2) { - *(undefined2 *)(iParm1 + 0x114) = (short)*puStack24; - return 1; - } - } - return 0; -} - - - -ulonglong loc_7F033B2C(int iParm1,ulonglong uParm2) - -{ - ulonglong uVar1; - int iVar3; - longlong lVar2; - undefined4 uVar4; - - uParm2 &= 0xff; - if ((uParm2 == 0x10) || (uParm2 == 0x20)) { - uVar1 = loc_7F033A98(iParm1,uParm2); - } - else { - uVar4 = FUN_7f08a0b0(); - iVar3 = FUN_7f089900(); - lVar2 = loc_7F033974(iVar3 + 8,*(undefined4 *)(iVar3 + 0x14),uVar4,uParm2); - if (-1 < lVar2) { - *(undefined2 *)(iParm1 + 0x114) = (short)lVar2; - } - uVar1 = (ulonglong)(-1 < lVar2); - } - return uVar1; -} - - - -undefined8 loc_7F033CB4(undefined2 *puParm1,float fParm2) - -{ - int iVar1; - int iVar3; - longlong lVar2; - undefined2 uVar4; - undefined2 *puVar5; - int iVar6; - int iVar7; - ulonglong uVar8; - float fVar9; - float fVar10; - float fVar11; - - iVar3 = actor_drops_itemtype_setting_timer(); - iVar7 = *(int *)(puParm1 + 0xc); - fVar9 = *(float *)(iVar7 + 8); - fVar10 = *(float *)(iVar7 + 0xc); - fVar11 = *(float *)(iVar7 + 0x10); - iVar6 = 0; - uVar8 = (ulonglong)*(byte *)(*(int *)(iVar7 + 0x14) + 3); - if (0 < iVar3) { - iVar7 = 0; - do { - puVar5 = (undefined2 *)(iVar7 + DAT_800281b4); - if (((puVar5 != puParm1) && (*(int *)(puVar5 + 0xe) != 0)) && - (lVar2 = locret_7F02A2C0(puVar5), lVar2 == 0)) { - iVar1 = *(int *)(puVar5 + 0xc); - if ((((fVar9 - fParm2 <= *(float *)(iVar1 + 8)) && (*(float *)(iVar1 + 8) <= fVar9 + fParm2) - ) && ((fVar10 - fParm2 <= *(float *)(iVar1 + 0xc) && - ((*(float *)(iVar1 + 0xc) <= fVar10 + fParm2 && - (fVar11 - fParm2 <= *(float *)(iVar1 + 0x10))))))) && - (*(float *)(iVar1 + 0x10) <= fVar11 + fParm2)) { - if (uVar8 == (ulonglong)*(byte *)(*(int *)(iVar1 + 0x14) + 3)) { - uVar4 = *puVar5; -LAB_7f033cd8: - puParm1[0x8b] = uVar4; - return 1; - } - lVar2 = FUN_7f0b826c(uVar8); - if (lVar2 != 0) { - uVar4 = *puVar5; - goto LAB_7f033cd8; - } - } - } - iVar6 += 1; - iVar7 += 0x1dc; - } while (iVar6 < iVar3); - } - return 0; -} - - - -void FUN_7f033d38(int iParm1) - -{ - undefined2 uVar1; - - uVar1 = locret_7F033038(); - *(undefined2 *)(iParm1 + 0x116) = uVar1; - return; -} - - - -void FUN_7f033d60(undefined4 uParm1,undefined8 uParm2,undefined4 uParm3) - -{ - undefined4 extraout_v0_hi; - undefined2 extraout_var; - undefined2 extraout_v0_lo; - undefined2 uVar1; - - FUN_7f033084(); - if (CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo) != 0) { - uVar1 = locret_7F033038(uParm1,uParm3); - *(undefined2 *)(CONCAT22(extraout_var,extraout_v0_lo) + 0x116) = uVar1; - } - return; -} - - - -void FUN_7f033da0(int iParm1) - -{ - undefined2 uVar1; - - uVar1 = locret_7F032FA4(); - *(undefined2 *)(iParm1 + 0x114) = uVar1; - return; -} - - - -void FUN_7f033dc8(undefined4 uParm1,undefined8 uParm2,undefined4 uParm3) - -{ - undefined4 extraout_v0_hi; - undefined2 extraout_var; - undefined2 extraout_v0_lo; - undefined2 uVar1; - - FUN_7f033084(); - if (CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo) != 0) { - uVar1 = locret_7F032FA4(uParm1,uParm3); - *(undefined2 *)(CONCAT22(extraout_var,extraout_v0_lo) + 0x114) = uVar1; - } - return; -} - - - -undefined8 FUN_7f033e08(int iParm1) - -{ - int iVar1; - int iVar4; - longlong lVar2; - undefined8 uVar3; - undefined auStack36 [12]; - undefined auStack24 [12]; - undefined4 auStack12 [3]; - - iVar4 = FUN_7f089900(); - iVar1 = *(int *)(iParm1 + 0x18); - auStack12[0] = *(undefined4 *)(iVar1 + 0x14); - FUN_7f0b0f84(); - lVar2 = sub_7F0B0BE4(auStack12,*(undefined4 *)(iVar1 + 8),*(undefined4 *)(iVar1 + 0x10), - *(undefined4 *)(iVar4 + 8),*(undefined4 *)(iVar4 + 0x10)); - if (lVar2 == 0) { - FUN_7f0b1b70(auStack24,auStack36); - lVar2 = FUN_7f0304f0(iParm1,iVar1 + 8,*(undefined4 *)(iVar1 + 0x14),auStack24,iVar4 + 8, - *(undefined4 *)(iVar4 + 0x14),0); - if ((lVar2 == 0) && - (lVar2 = FUN_7f0304f0(iParm1,iVar1 + 8,*(undefined4 *)(iVar1 + 0x14),auStack36,iVar4 + 8, - *(undefined4 *)(iVar4 + 0x14),0), lVar2 == 0)) { - return 0; - } - uVar3 = 1; - } - else { - uVar3 = 0; - } - return uVar3; -} - - - -uint FUN_7f033ef0(undefined4 uParm1,undefined8 uParm2) - -{ - undefined8 uVar1; - longlong lVar2; - undefined auStack20 [16]; - uint uStack4; - - uStack4 = 1; - uVar1 = sub_7F0B2FD8(uParm2); - lVar2 = FUN_7f0b518c(uVar1); - if ((lVar2 != 0) && (lVar2 = FUN_7f0ba6c8(uParm1,0), lVar2 != 0)) { - uVar1 = sub_7F0B2FD8((int)uParm2); - lVar2 = FUN_7f0b2f24(uVar1,auStack20); - if (lVar2 == 0) { - lVar2 = FUN_7f078ad8(uParm1,0x43480000); - uStack4 = (uint)(lVar2 == 0); - } - else { - lVar2 = FUN_7f078c74(uParm1,0x43480000,auStack20); - uStack4 = (uint)(lVar2 == 0); - } - } - return uStack4; -} - - - -undefined8 loc_7F03411C(float *pfParm1,undefined4 *puParm2,float fParm3,longlong lParm4) - -{ - float fVar1; - float fVar2; - longlong lVar3; - undefined8 uVar4; - int iVar5; - float fVar6; - undefined4 uStack16; - float fStack12; - float fStack8; - float fStack4; - - uStack16 = *puParm2; - lVar3 = loc_7F0B1C80(&uStack16,*pfParm1,pfParm1[2],0x41a00000,0x1f,0,0x3f800000); - if ((lVar3 < 0) && ((lParm4 != 0 || (lVar3 = FUN_7f033ef0(pfParm1,*puParm2), lVar3 != 0)))) { - uVar4 = 1; - } - else { - fVar2 = DAT_80048234; - fVar1 = DAT_80048230; - iVar5 = 0; - do { - fVar6 = (float)func_7F057FC4(fParm3); - fStack12 = fVar6 * 60.00000000 + *pfParm1; - fStack8 = pfParm1[1]; - fVar6 = (float)func_7F057FC4(fParm3); - fStack4 = fVar6 * 60.00000000 + pfParm1[2]; - uStack16 = *puParm2; - lVar3 = loc_7F0B13B4(&uStack16,*pfParm1,pfParm1[2],fStack12,fStack4,0x13,0,0x3f800000,0, - 0x3f800000); - if (((lVar3 != 0) && - (lVar3 = loc_7F0B1C80(&uStack16,fStack12,fStack4,0x41a00000,0x1f,0,0x3f800000), lVar3 < 0) - ) && ((lParm4 != 0 || (lVar3 = FUN_7f033ef0(&fStack12,uStack16), lVar3 != 0)))) { - *puParm2 = uStack16; - *pfParm1 = fStack12; - pfParm1[2] = fStack4; - return 1; - } - fParm3 = fParm3 + fVar1; - iVar5 += 1; - if (fVar2 <= fParm3) { - fParm3 = fParm3 - fVar2; - } - } while (iVar5 != 8); - uVar4 = 0; - } - return uVar4; -} - - - -int FUN_7f0341a0(undefined4 uParm1,int iParm2,undefined4 *puParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,uint uParm7) - -{ - int iVar1; - longlong lVar2; - int iStackX4; - undefined4 auStack24 [2]; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - lVar2 = FUN_7f01fe20(); - if (2 < lVar2) { - if (iParm2 < 0) { - iStackX4 = FUN_7f02358c(uParm1); - uStack16 = *puParm3; - } - else { - uStack16 = *puParm3; - iStackX4 = iParm2; - } - uStack12 = puParm3[1]; - uStack8 = puParm3[2]; - auStack24[0] = uParm4; - lVar2 = loc_7F03411C(&uStack16,auStack24,uParm5,(ulonglong)((uParm7 & 0x10) != 0)); - if (((lVar2 != 0) && (lVar2 = FUN_7f0234b0(uParm1,iStackX4,uParm7), lVar2 != 0)) && - (iStack4 = FUN_7f02022c(lVar2,&uStack16,uParm5,auStack24[0],uParm6), iStack4 != 0)) { - FUN_7f03a5b0(iStack4); - set_stateflag_0x04_for_posdata(iStack4); - iVar1 = *(int *)(iStack4 + 4); - *(undefined *)(iVar1 + 6) = (char)iStackX4; - *(undefined *)(iVar1 + 0xf) = (char)uParm1; - return iStack4; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03429c(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined8 uParm4, - undefined4 uParm5,undefined4 uParm6) - -{ - longlong lVar1; - int iVar2; - undefined4 uVar3; - - lVar1 = locret_7F032FA4(uParm1,uParm4); - if (lVar1 < 10000) { - iVar2 = (int)lVar1 * 0x2c + _DAT_80064c58; - } - else { - iVar2 = (int)lVar1 * 0x44 + _DAT_80064c5c + -680000; - } - uVar3 = convert_angle_using_inverse(*(undefined4 *)(iVar2 + 0x18),*(undefined4 *)(iVar2 + 0x20)); - FUN_7f0341a0(uParm2,uParm3,iVar2,*(undefined4 *)(iVar2 + 0x28),uVar3,uParm5,uParm6); - return; -} - - - -undefined8 -FUN_7f03434c(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined8 uParm4, - undefined4 uParm5,undefined4 uParm6) - -{ - int iVar2; - undefined8 uVar1; - undefined4 uVar3; - - iVar2 = FUN_7f033084(uParm1,uParm4); - if ((*(uint *)(iVar2 + 0x14) & 8) == 0) { - uVar3 = FUN_7f06d228(*(undefined4 *)(iVar2 + 0x1c)); - uVar1 = FUN_7f0341a0(uParm2,uParm3,*(int *)(iVar2 + 0x18) + 8, - *(undefined4 *)(*(int *)(iVar2 + 0x18) + 0x14),uVar3,uParm5,uParm6); - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0343cc(undefined4 uParm1,undefined8 uParm2,undefined4 uParm3) - -{ - int iVar3; - longlong lVar1; - undefined8 uVar2; - int iVar4; - - iVar3 = FUN_7f033084(); - lVar1 = locret_7F032FA4(uParm1,uParm3); - if (lVar1 < 10000) { - iVar4 = (int)lVar1 * 0x2c + _DAT_80064c58; - } - else { - iVar4 = (int)lVar1 * 0x44 + _DAT_80064c5c + -680000; - } - if (*(int *)(iVar4 + 0x28) == 0) { - uVar2 = 0; - } - else { - if (iVar3 == 0) { - uVar2 = 0; - } - else { - if (*(int *)(iVar3 + 0x18) == 0) { - uVar2 = 0; - } - else { - if (*(char *)(*(int *)(*(int *)(iVar3 + 0x18) + 0x14) + 3) == - *(char *)(*(int *)(iVar4 + 0x28) + 3)) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f034490(undefined4 uParm1,undefined4 uParm2) - -{ - int iVar3; - longlong lVar1; - undefined8 uVar2; - int iVar4; - - iVar3 = FUN_7f089900(); - lVar1 = locret_7F032FA4(uParm1,uParm2); - if (lVar1 < 10000) { - iVar4 = (int)lVar1 * 0x2c + _DAT_80064c58; - } - else { - iVar4 = (int)lVar1 * 0x44 + _DAT_80064c5c + -680000; - } - if (*(int *)(iVar4 + 0x28) == 0) { - uVar2 = 0; - } - else { - if (*(char *)(*(int *)(iVar3 + 0x14) + 3) == *(char *)(*(int *)(iVar4 + 0x28) + 3)) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -undefined8 FUN_7f034540(void) - -{ - return 0; -} - - - -undefined8 FUN_7f03454c(void) - -{ - return 0; -} - - - -undefined8 FUN_7f034558(undefined4 uParm1) - -{ - undefined4 uVar3; - longlong lVar1; - undefined8 uVar2; - - uVar3 = locret_7F032FA4(); - lVar1 = locret_7F02A29C(uParm1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - lVar1 = FUN_7f03fb04(uVar3); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - lVar1 = FUN_7f04f11c(lVar1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - FUN_7f024138(uParm1); - uVar2 = 1; - } - } - } - return uVar2; -} - - - -undefined8 FUN_7f0345c0(int iParm1) - -{ - uint uVar2; - longlong lVar1; - int iVar3; - int iVar4; - undefined8 uVar5; - float fVar6; - - uVar2 = FUN_700098b0(); - if ((((ulonglong)(longlong)(int)(uVar2 % 0xff) < (ulonglong)*(byte *)(iParm1 + 0x10)) && - (fVar6 = (float)FUN_7f032e28(iParm1), 10.00000000 <= fVar6)) && - (lVar1 = locret_7F02A29C(iParm1), lVar1 != 0)) { - iVar3 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - iVar4 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - if ((iVar4 != 0) && (*(char *)(*(int *)(iVar4 + 4) + 0x80) == '\x1a')) { - FUN_7f024220(iParm1,iVar4,0,0); - return 1; - } - if ((iVar3 != 0) && (*(char *)(*(int *)(iVar3 + 4) + 0x80) == '\x1a')) { - FUN_7f024220(iParm1,iVar3,1,0); - return 1; - } - if ((iVar3 != 0) && (iVar4 != 0)) { - return 0; - } - uVar5 = 0; - if (iVar4 != 0) { - uVar5 = 0x10000000; - } - iVar3 = FUN_7f0526b4(iParm1,0xc4,0x1a,uVar5); - if (iVar3 != 0) { - *(uint *)(*(int *)(iVar3 + 4) + 100) = *(uint *)(*(int *)(iVar3 + 4) + 100) | 0x800; - FUN_7f024220(iParm1,iVar3,(ulonglong)(iVar4 != 0),1); - return 1; - } - } - return 0; -} - - - -undefined8 FUN_7f034740(int iParm1,undefined8 uParm2,uint uParm3) - -{ - int iVar2; - undefined8 uVar1; - - iVar2 = FUN_7f05234c(uParm2,(ulonglong)uParm3 & 0xff); - if (iVar2 == 0) { - uVar1 = 0; - } - else { - if (*(int *)(iVar2 + 0x10) == 0) { - uVar1 = 0; - } - else { - set_obj_instance_controller_scale - (*(int *)(iVar2 + 0x14),*(undefined4 *)(*(int *)(iVar2 + 0x14) + 0x14)); - loc_7F03A5C0(*(undefined4 *)(iVar2 + 0x10),*(undefined4 *)(iParm1 + 0x18)); - *(undefined2 *)(iVar2 + 0x82) = 0x96; - FUN_7f04c1c4(*(undefined4 *)(iVar2 + 0x10),1); - uVar1 = 1; - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - } - return uVar1; -} - - - -void drop_inventory(int iParm1) - -{ - int iVar1; - longlong lVar2; - undefined4 uVar3; - int iVar4; - int iVar5; - - iParm1 *= 0x18; - iVar4 = *(int *)(&DAT_80058ab0 + iParm1); - if (iVar4 == 0) { - *(undefined4 *)(&DAT_80058ab4 + iParm1) = 0; - return; - } - lVar2 = locret_70008E00(iVar4); - if (lVar2 == 0) { - *(undefined4 *)(&DAT_80058ab4 + iParm1) = 0; - return; - } - if (*(int *)(&DAT_80058ac0 + iParm1) == 0) { - iVar4 = *(int *)(&DAT_80058ac4 + iParm1); - if (iVar4 == 0) { - iVar4 = *(int *)(&DAT_80058ab8 + iParm1); - goto LAB_7f034864; - } - if (*(int *)(iVar4 + 0x10) == 0) { - iVar4 = *(int *)(&DAT_80058ab8 + iParm1); - goto LAB_7f034864; - } - uVar3 = FUN_7f053cc4(iVar4 + 0x58); - *(undefined4 *)(iParm1 + -0x7ffa7544) = uVar3; - } - else { - uVar3 = FUN_7f053cc4(); - *(undefined4 *)(iParm1 + -0x7ffa7544) = uVar3; - } - iVar4 = *(int *)(&DAT_80058ab8 + iParm1); -LAB_7f034864: - iVar5 = *(int *)(iParm1 + -0x7ffa7544); - if (-1 < iVar4) { - if (DAT_80040ff4 < iVar4) { - iVar1 = (iVar5 - *(int *)(&DAT_80058ab4 + iParm1)) * DAT_80040ff4; - iVar5 = iVar1 / iVar4 + *(int *)(&DAT_80058ab4 + iParm1); - if (iVar4 == 0) { - trap(0x1c00); - } - if ((iVar4 == -1) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - } - *(int *)(&DAT_80058ab8 + iParm1) = iVar4 - DAT_80040ff4; - } - lVar2 = FUN_7f0bf078(); - if (lVar2 != 0) { - iVar5 = 0; - } - if (iVar5 != *(int *)(&DAT_80058ab4 + iParm1)) { - loc_700091B8(*(int *)(&DAT_80058ab0 + iParm1),8); - *(int *)(&DAT_80058ab4 + iParm1) = iVar5; - } - return; -} - - - -void FUN_7f034924(void) - -{ - int iVar1; - - iVar1 = 0; - do { - drop_inventory(iVar1); - iVar1 += 1; - } while (iVar1 != 8); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03499C(longlong lParm1,undefined2 uParm2) - -{ - int iVar1; - longlong lVar2; - int *piVar3; - int iVar4; - - piVar3 = NULL; - if ((-1 < lParm1) && (piVar3 = NULL, lParm1 < 8)) { - iVar4 = (int)lParm1 * 0x18; - iVar1 = *(int *)(&DAT_80058ab0 + iVar4); - if (iVar1 != 0) { - lVar2 = locret_70008E00(iVar1,iVar1,0); - piVar3 = NULL; - if (lVar2 != 0) goto LAB_7f0349dc; - } - *(undefined4 *)(iVar4 + -0x7ffa7544) = 0x7fff; - *(undefined4 *)(&DAT_80058ab4 + iVar4) = 0x7fff; - *(undefined4 *)(&DAT_80058ab8 + iVar4) = 0xffffffff; - *(undefined4 *)(&DAT_80058ac0 + iVar4) = 0; - *(undefined4 *)(&DAT_80058ac4 + iVar4) = 0; - piVar3 = (int *)(&DAT_80058ab0 + iVar4); - } -LAB_7f0349dc: - FUN_70008268(_DAT_80056900,uParm2,piVar3); - return; -} - - - -void loc_7F0349EC(longlong lParm1) - -{ - if ((-1 < lParm1) && (lParm1 < 8)) { - loc_7000905C(*(undefined4 *)(&DAT_80058ab0 + (int)lParm1 * 0x18)); - } - return; -} - - - -int FUN_7f034a3c(int iParm1,int iParm2) - -{ - char cVar1; - int iVar2; - int iVar3; - - switch(*(undefined *)(iParm1 + iParm2)) { - case 0: - return 2; - case 1: - return 2; - case 2: - return 2; - case 3: - return 1; - case 4: - return 1; - case 5: - return 4; - case 6: - return 3; - case 7: - return 1; - case 8: - return 1; - case 9: - return 1; - case 10: - return 9; - case 0xb: - return 2; - case 0xc: - return 1; - case 0xd: - return 1; - case 0xe: - return 2; - case 0xf: - return 2; - case 0x10: - return 2; - case 0x11: - return 2; - case 0x12: - return 2; - case 0x13: - return 2; - case 0x14: - return 6; - case 0x15: - return 6; - case 0x16: - return 6; - case 0x17: - return 6; - case 0x18: - return 4; - case 0x19: - return 4; - case 0x1a: - return 2; - case 0x1b: - return 5; - case 0x1c: - return 3; - case 0x1d: - return 1; - case 0x1e: - return 3; - case 0x1f: - return 3; - case 0x20: - return 2; - case 0x21: - return 1; - case 0x22: - return 1; - case 0x23: - return 2; - case 0x24: - return 4; - case 0x25: - return 1; - case 0x26: - return 1; - case 0x27: - return 2; - case 0x28: - return 2; - case 0x29: - return 2; - case 0x2a: - return 2; - case 0x2b: - return 2; - case 0x2c: - return 3; - case 0x2d: - return 3; - case 0x2e: - return 3; - case 0x2f: - return 2; - case 0x30: - return 3; - case 0x31: - return 3; - case 0x32: - return 2; - case 0x33: - return 1; - case 0x34: - return 3; - case 0x35: - return 3; - case 0x36: - return 2; - case 0x37: - return 2; - case 0x38: - return 2; - case 0x39: - return 2; - case 0x3a: - return 2; - case 0x3b: - return 2; - case 0x3c: - return 2; - case 0x3d: - return 2; - case 0x3e: - return 2; - case 0x3f: - return 2; - case 0x40: - return 3; - case 0x41: - return 2; - case 0x42: - return 2; - case 0x43: - return 2; - case 0x44: - return 4; - case 0x45: - return 2; - case 0x46: - return 2; - case 0x47: - return 3; - case 0x48: - return 3; - case 0x49: - return 3; - case 0x4a: - return 3; - case 0x4b: - return 4; - case 0x4c: - return 4; - case 0x4d: - return 7; - case 0x4e: - return 7; - case 0x4f: - return 5; - case 0x50: - return 5; - case 0x51: - return 4; - case 0x52: - return 6; - case 0x53: - return 6; - case 0x54: - return 5; - case 0x55: - return 4; - case 0x56: - return 3; - case 0x57: - return 3; - case 0x58: - return 4; - case 0x59: - return 3; - case 0x5a: - return 3; - case 0x5b: - return 3; - case 0x5c: - return 3; - case 0x5d: - return 3; - case 0x5e: - return 2; - case 0x5f: - return 2; - case 0x60: - return 2; - case 0x61: - return 2; - case 0x62: - return 2; - case 99: - return 2; - case 100: - return 3; - case 0x65: - return 4; - case 0x66: - return 2; - case 0x67: - return 2; - case 0x68: - return 4; - case 0x69: - return 3; - case 0x6a: - return 3; - case 0x6b: - return 3; - case 0x6c: - return 4; - case 0x6d: - return 3; - case 0x6e: - return 3; - case 0x6f: - return 3; - case 0x70: - return 3; - case 0x71: - return 3; - case 0x72: - return 4; - case 0x73: - return 4; - case 0x74: - return 4; - case 0x75: - return 4; - case 0x76: - return 3; - case 0x77: - return 3; - case 0x78: - return 3; - case 0x79: - return 3; - case 0x7a: - return 3; - case 0x7b: - return 3; - case 0x7c: - return 4; - case 0x7d: - return 4; - case 0x7e: - return 3; - case 0x7f: - return 3; - case 0x80: - return 3; - case 0x81: - return 2; - case 0x82: - return 2; - case 0x83: - return 2; - case 0x84: - return 3; - case 0x85: - return 2; - case 0x86: - return 2; - case 0x87: - return 2; - case 0x88: - return 2; - case 0x89: - return 3; - case 0x8a: - return 2; - case 0x8b: - return 3; - case 0x8c: - return 2; - case 0x8d: - return 2; - case 0x8e: - return 2; - case 0x8f: - return 3; - case 0x90: - return 3; - case 0x91: - return 2; - case 0x92: - return 2; - case 0x93: - return 2; - case 0x94: - return 2; - case 0x95: - return 2; - case 0x96: - return 3; - case 0x97: - return 3; - case 0x98: - return 3; - case 0x99: - return 4; - case 0x9a: - return 5; - case 0x9b: - return 5; - case 0x9c: - return 6; - case 0x9d: - return 5; - case 0x9e: - return 5; - case 0x9f: - return 6; - case 0xa0: - return 6; - case 0xa1: - return 6; - case 0xa2: - return 7; - case 0xa3: - return 6; - case 0xa4: - return 6; - case 0xa5: - return 7; - case 0xa6: - return 6; - case 0xa7: - return 6; - case 0xa8: - return 7; - case 0xa9: - return 2; - case 0xaa: - return 3; - case 0xab: - return 3; - case 0xac: - return 4; - case 0xad: - break; - case 0xae: - return 1; - case 0xaf: - return 1; - case 0xb0: - return 1; - case 0xb1: - return 1; - case 0xb2: - return 2; - case 0xb3: - return 5; - case 0xb4: - return 5; - case 0xb5: - return 1; - case 0xb6: - return 1; - case 0xb7: - return 3; - case 0xb8: - return 1; - case 0xb9: - return 1; - case 0xba: - return 2; - case 0xbb: - return 4; - case 0xbc: - return 4; - case 0xbd: - return 0xc; - case 0xbe: - return 0xb; - case 0xbf: - return 9; - case 0xc0: - return 8; - case 0xc1: - return 5; - case 0xc2: - return 3; - case 0xc3: - return 3; - case 0xc4: - return 4; - case 0xc5: - return 5; - case 0xc6: - return 6; - case 199: - return 6; - case 200: - return 6; - case 0xc9: - return 2; - case 0xca: - return 5; - case 0xcb: - return 2; - case 0xcc: - return 5; - case 0xcd: - return 5; - case 0xce: - return 2; - case 0xcf: - return 2; - case 0xd0: - return 4; - case 0xd1: - return 2; - case 0xd2: - return 1; - case 0xd3: - return 1; - case 0xd4: - return 3; - case 0xd5: - return 6; - case 0xd6: - return 4; - case 0xd7: - return 2; - case 0xd8: - return 1; - case 0xd9: - return 5; - case 0xda: - return 1; - case 0xdb: - return 1; - case 0xdc: - return 2; - case 0xdd: - return 1; - case 0xde: - return 1; - case 0xdf: - return 2; - case 0xe0: - return 3; - case 0xe1: - return 3; - case 0xe2: - return 4; - case 0xe3: - return 2; - case 0xe4: - return 2; - case 0xe5: - return 3; - case 0xe6: - return 5; - case 0xe7: - return 2; - case 0xe8: - return 2; - case 0xe9: - return 1; - case 0xea: - return 1; - case 0xeb: - return 2; - case 0xec: - return 1; - case 0xed: - return 1; - case 0xee: - return 0xd; - case 0xef: - return 1; - case 0xf0: - return 2; - case 0xf1: - return 2; - case 0xf2: - return 3; - case 0xf3: - return 2; - case 0xf4: - return 4; - case 0xf5: - return 2; - case 0xf6: - return 1; - case 0xf7: - return 3; - case 0xf8: - return 3; - case 0xf9: - return 1; - case 0xfa: - return 1; - case 0xfb: - return 1; - case 0xfc: - return 2; - default: - return 1; - } - iVar3 = iParm2 + 1; - if (((undefined *)(iParm1 + iParm2))[1] == '\0') { - iVar3 -= iParm2; - } - else { - cVar1 = *(char *)(iParm1 + iVar3 + 1); - iVar2 = iParm1 + iVar3; - while( true ) { - iVar3 += 1; - if (cVar1 == '\0') break; - cVar1 = *(char *)(iVar2 + 2); - iVar2 = iVar2 + 1; - } - iVar3 -= iParm2; - } - return iVar3 + 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * FUN_7f035284(undefined *puParm1,undefined4 *puParm2) - -{ - undefined **ppuVar1; - int iVar2; - undefined **ppuVar3; - int *piVar4; - undefined *puVar5; - - if ((_DAT_80064c54 != NULL) && (iVar2 = 0, *_DAT_80064c54 != 0)) { - puVar5 = (undefined *)*_DAT_80064c54; - piVar4 = _DAT_80064c54; - do { - if (puParm1 == puVar5) { - *puParm2 = 0; - return (undefined *)*(undefined4 *)((int)_DAT_80064c54 + iVar2 + 4); - } - puVar5 = (undefined *)piVar4[2]; - iVar2 += 8; - piVar4 = piVar4 + 2; - } while (puVar5 != NULL); - } - ppuVar3 = &PTR_DAT_800324fc; - puVar5 = PTR_DAT_800324fc; - if (PTR_DAT_800324fc != NULL) { - do { - if (puParm1 == puVar5) { - *puParm2 = 1; - return ppuVar3[1]; - } - ppuVar1 = ppuVar3 + 2; - ppuVar3 = ppuVar3 + 2; - puVar5 = *ppuVar1; - } while (*ppuVar1 != NULL); - } - return (undefined *)0xffffffff; -} - - - -int loc_7F035378(int iParm1,int iParm2,char cParm3) - -{ - char cVar1; - int iVar2; - undefined auStack12 [12]; - - do { - cVar1 = *(char *)(iParm1 + iParm2); - if (cVar1 == '\x02') { - if (cParm3 == ((char *)(iParm1 + iParm2))[1]) { - return iParm2; - } - } - else { - if (cVar1 == '\x04') { - FUN_7f035284(iParm1,auStack12); - return 0; - } - } - iVar2 = FUN_7f034a3c(iParm1,iParm2); - iParm2 += iVar2; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * FUN_7f0353d8(undefined *puParm1) - -{ - int *piVar1; - undefined **ppuVar2; - undefined *puVar3; - - if ((int)puParm1 < 0x401) { - ppuVar2 = &PTR_DAT_800324fc; - puVar3 = DAT_80032500; - if (PTR_DAT_800324fc != NULL) { - while( true ) { - if (puParm1 == puVar3) { - return *ppuVar2; - } - if (ppuVar2[2] == NULL) break; - puVar3 = ppuVar2[3]; - ppuVar2 = ppuVar2 + 2; - } - } - } - else { - if ((_DAT_80064c54 != NULL) && (*_DAT_80064c54 != 0)) { - puVar3 = (undefined *)_DAT_80064c54[1]; - piVar1 = _DAT_80064c54; - while( true ) { - if (puParm1 == puVar3) { - return (undefined *)*piVar1; - } - if (piVar1[2] == 0) break; - puVar3 = (undefined *)piVar1[3]; - piVar1 = piVar1 + 2; - } - } - } - return (undefined *)0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f035474(ulonglong uParm1) - -{ - byte bVar1; - int *piVar2; - int iVar3; - - iVar3 = 0; - if (*_DAT_80064c50 != 0) { - bVar1 = *(byte *)(_DAT_80064c50 + 1); - piVar2 = _DAT_80064c50; - while( true ) { - if (uParm1 == (ulonglong)bVar1) { - return _DAT_80064c50 + iVar3 * 2; - } - iVar3 += 1; - if (piVar2[2] == 0) break; - bVar1 = *(byte *)(piVar2 + 3); - piVar2 = piVar2 + 2; - } - } - return (int *)0; -} - - -/* -Unable to decompile 'loc_7F03A204' -Cause: Exception while decompiling 7f0354c4: process: timeout - -*/ - - -// WARNING: Instruction at (ram,0x7f03a3f0) overlaps instruction at (ram,0x7f03a3ec) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03a300(void) - -{ - byte bVar1; - undefined4 uVar2; - bool bVar3; - int iVar4; - int iVar5; - int *piVar6; - int iVar7; - int iVar8; - uint uVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - - iVar4 = FUN_7f03a4e4(); - iVar8 = 0; - if (iVar4 != 0) { - bVar1 = *(byte *)(iVar4 + 1); - while( true ) { - if ((bVar1 & 6) == 6) { - *(int *)(&DAT_80060560 + iVar8 * 4) = iVar4; - iVar8 += 1; - iVar4 = *(int *)(iVar4 + 0x24); - } - else { - iVar4 = *(int *)(iVar4 + 0x24); - } - if (iVar4 == 0) break; - bVar1 = *(byte *)(iVar4 + 1); - } - } - _DAT_80060d34 = iVar8; - *(undefined4 *)(&DAT_80060560 + iVar8 * 4) = 0; - _DAT_80060d30 = &DAT_80060560 + iVar8 * 4; - iVar4 = 0; - if (iVar8 < 1) { - return; - } - bVar3 = 0 < iVar8; - do { - iVar7 = -1; - if (bVar3) { - uVar9 = iVar8 - iVar4 & 3; - if (uVar9 == 0) { - iVar10 = iVar4 << 2; - fVar12 = -4294967296.00000000; - iVar5 = iVar4; - } - else { - piVar6 = (int *)(&DAT_80060560 + iVar4 * 4); - fVar13 = -4294967296.00000000; - iVar5 = iVar4; - iVar10 = iVar7; - do { - fVar12 = *(float *)(*piVar6 + 0x18); - iVar7 = iVar5; - if (fVar12 <= fVar13) { - fVar12 = fVar13; - iVar7 = iVar10; - } - iVar5 += 1; - piVar6 = piVar6 + 1; - fVar13 = fVar12; - iVar10 = iVar7; - } while (uVar9 + iVar4 != iVar5); - iVar10 = iVar5 * 4; - if (iVar5 == iVar8) goto LAB_7f03a484; - } - piVar6 = (int *)(&DAT_80060560 + iVar10); - do { - fVar13 = *(float *)(*piVar6 + 0x18); - if (fVar12 < fVar13) { - iVar10 = piVar6[1]; - iVar7 = iVar5; - } - else { - iVar10 = piVar6[1]; - fVar13 = fVar12; - } - fVar11 = *(float *)(iVar10 + 0x18); - if (fVar13 < fVar11) { - iVar7 = iVar5 + 1; - iVar10 = piVar6[2]; - } - else { - iVar10 = piVar6[2]; - fVar11 = fVar13; - } - fVar12 = *(float *)(iVar10 + 0x18); - if (fVar11 < fVar12) { - iVar7 = iVar5 + 2; - iVar10 = piVar6[3]; - } - else { - iVar10 = piVar6[3]; - fVar12 = fVar11; - } - if (fVar12 < *(float *)(iVar10 + 0x18)) { - iVar7 = iVar5 + 3; - fVar12 = *(float *)(iVar10 + 0x18); - } - iVar5 += 4; - piVar6 = piVar6 + 4; - } while (iVar5 != iVar8); - } -LAB_7f03a484: - if (-1 < iVar7) { - uVar2 = *(undefined4 *)(&DAT_80060560 + iVar4 * 4); - *(undefined4 *)(&DAT_80060560 + iVar4 * 4) = *(undefined4 *)(&DAT_80060560 + iVar7 * 4); - *(undefined4 *)(&DAT_80060560 + iVar7 * 4) = uVar2; - } - iVar4 += 1; - if (iVar4 == iVar8) { - return; - } - bVar3 = iVar4 < iVar8; - } while( true ); -} - - - -void set_stateflag_0x04_for_posdata(int iParm1) - -{ - *(byte *)(iParm1 + 1) = *(byte *)(iParm1 + 1) | 4; - return; -} - - - -void unset_stateflag_0x04_for_posdata(int iParm1) - -{ - *(byte *)(iParm1 + 1) = *(byte *)(iParm1 + 1) & 0xfb; - return; -} - - - -undefined4 FUN_7f03a4e4(void) - -{ - return DAT_8002bff0; -} - - - -int FUN_7f03a4f0(void) - -{ - undefined4 *puVar1; - int iVar2; - - iVar2 = DAT_8002bff8; - if (DAT_8002bff8 == 0) { - return 0; - } - puVar1 = (undefined4 *)(DAT_8002bff8 + 0x24); - DAT_8002bff8 = *(undefined4 *)(DAT_8002bff8 + 0x24); - *puVar1 = 0; - *(undefined4 *)(iVar2 + 0x28) = 0; - *(undefined4 *)(iVar2 + 0x1c) = 0; - *(undefined4 *)(iVar2 + 0x20) = 0; - *(undefined *)(iVar2 + 1) = 0; - *(undefined4 *)(iVar2 + 0x14) = 0; - *(undefined2 *)(iVar2 + 2) = 0; - *(undefined *)(iVar2 + 0x2c) = 0xff; - return iVar2; -} - - - -void FUN_7f03a544(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0x28) = 0; - *(undefined4 *)(iParm1 + 0x14) = 0; - *(undefined4 *)(iParm1 + 0x24) = DAT_8002bff8; - DAT_8002bff8 = iParm1; - return; -} - - - -void FUN_7f03a564(int iParm1) - -{ - if (DAT_8002bff0 != 0) { - *(int *)(DAT_8002bff0 + 0x28) = iParm1; - *(undefined4 *)(iParm1 + 0x28) = 0; - *(int *)(iParm1 + 0x24) = DAT_8002bff0; - DAT_8002bff0 = iParm1; - return; - } - *(undefined4 *)(iParm1 + 0x24) = 0; - *(undefined4 *)(iParm1 + 0x28) = 0; - DAT_8002bff0 = iParm1; - DAT_8002bff4 = iParm1; - return; -} - - - -void FUN_7f03a5b0(int iParm1) - -{ - if (DAT_8002bff4 == 0) { - *(undefined4 *)(iParm1 + 0x24) = 0; - *(undefined4 *)(iParm1 + 0x28) = 0; - DAT_8002bff0 = iParm1; - DAT_8002bff4 = iParm1; - return; - } - *(int *)(DAT_8002bff4 + 0x24) = iParm1; - *(undefined4 *)(iParm1 + 0x24) = 0; - *(int *)(iParm1 + 0x28) = DAT_8002bff4; - DAT_8002bff4 = iParm1; - return; -} - - - -void FUN_7f03a5f8(int iParm1) - -{ - int iVar1; - - if (iParm1 == DAT_8002bff0) { - DAT_8002bff0 = *(int *)(iParm1 + 0x24); - } - if (iParm1 == DAT_8002bff4) { - DAT_8002bff4 = *(int *)(iParm1 + 0x28); - iVar1 = *(int *)(iParm1 + 0x24); - } - else { - iVar1 = *(int *)(iParm1 + 0x24); - } - if (iVar1 == 0) { - iVar1 = *(int *)(iParm1 + 0x28); - } - else { - *(undefined4 *)(iVar1 + 0x28) = *(undefined4 *)(iParm1 + 0x28); - iVar1 = *(int *)(iParm1 + 0x28); - } - if (iVar1 == 0) { - *(undefined4 *)(iParm1 + 0x24) = 0; - } - else { - *(undefined4 *)(iVar1 + 0x24) = *(undefined4 *)(iParm1 + 0x24); - *(undefined4 *)(iParm1 + 0x24) = 0; - } - *(undefined4 *)(iParm1 + 0x28) = 0; - return; -} - - - -void loc_7F03A5C0(int iParm1,int iParm2) - -{ - *(int *)(iParm1 + 0x1c) = iParm2; - if (*(int *)(iParm2 + 0x20) == 0) { - *(undefined4 *)(iParm1 + 0x24) = 0; - } - else { - *(int *)(*(int *)(iParm2 + 0x20) + 0x28) = iParm1; - *(undefined4 *)(iParm1 + 0x24) = *(undefined4 *)(iParm2 + 0x20); - } - *(undefined4 *)(iParm1 + 0x28) = 0; - *(undefined4 *)(iParm1 + 0x14) = 0; - *(int *)(iParm2 + 0x20) = iParm1; - return; -} - - - -void locret_7F03A624(int iParm1) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + 0x1c); - if (iVar1 != 0) { - if (iParm1 == *(int *)(iVar1 + 0x20)) { - *(undefined4 *)(iVar1 + 0x20) = *(undefined4 *)(iParm1 + 0x24); - iVar1 = *(int *)(iParm1 + 0x24); - } - else { - iVar1 = *(int *)(iParm1 + 0x24); - } - if (iVar1 == 0) { - iVar1 = *(int *)(iParm1 + 0x28); - } - else { - *(undefined4 *)(iVar1 + 0x28) = *(undefined4 *)(iParm1 + 0x28); - iVar1 = *(int *)(iParm1 + 0x28); - } - if (iVar1 == 0) { - *(undefined4 *)(iParm1 + 0x1c) = 0; - } - else { - *(undefined4 *)(iVar1 + 0x24) = *(undefined4 *)(iParm1 + 0x24); - *(undefined4 *)(iParm1 + 0x1c) = 0; - } - *(undefined4 *)(iParm1 + 0x24) = 0; - *(undefined4 *)(iParm1 + 0x28) = 0; - } - return; -} - - - -undefined8 loc_7F03A6E0(undefined8 uParm1,char *pcParm2) - -{ - char cVar1; - - cVar1 = *pcParm2; - if (cVar1 == '\x03') { - uParm1 = loc_7F022064(pcParm2,uParm1); - } - else { - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - uParm1 = FUN_7f04b32c(pcParm2,uParm1); - } - else { - if (cVar1 == '\a') { - uParm1 = loc_7F09D800(pcParm2,uParm1); - } - else { - if (cVar1 == '\b') { - uParm1 = loc_7F09F22C(pcParm2,uParm1); - } - else { - if (cVar1 == '\x06') { - uParm1 = FUN_7f08bfb4(pcParm2,uParm1); - } - } - } - } - } - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F03A950(undefined8 uParm1,int iParm2,longlong lParm3) - -{ - int iVar1; - int iVar2; - bool bVar3; - longlong lVar4; - undefined8 uVar5; - int *piVar6; - int *piVar7; - int aiStack40 [10]; - - lVar4 = FUN_70005da4(); - if (lVar4 == 0x36) { - if (lParm3 == 0) { - return uParm1; - } - if (lParm3 == 2) { - lParm3 = 0; - } - } - if ((lParm3 == 0) || (lParm3 == 2)) { - piVar7 = _DAT_80060d30 + -1; - if ((int *)0x8006055f < piVar7) { - iVar1 = *piVar7; - do { - if (iVar1 != 0) { - bVar3 = false; - if ((lParm3 == 0) && ((*(byte *)(iVar1 + 1) & 0x21) == 0)) { - bVar3 = true; - } - else { - if ((lParm3 == 2) && ((*(byte *)(iVar1 + 1) & 0x21) == 1)) { - bVar3 = true; - } - } - if (bVar3) { - bVar3 = false; - loc_7F03CC0C(iVar1,aiStack40); - piVar6 = aiStack40; - iVar2 = aiStack40[0]; - while (-1 < iVar2) { - lVar4 = FUN_7f0b518c(iVar2); - if (lVar4 != 0) { - if (iParm2 == *piVar6) { - bVar3 = true; - } - break; - } - iVar2 = piVar6[1]; - piVar6 = piVar6 + 1; - } - if (bVar3) { - uParm1 = loc_7F03A6E0(uParm1,iVar1,0); - } - } - } - piVar7 = piVar7 + -1; - if (piVar7 < &DAT_80060560) break; - iVar1 = *piVar7; - } while( true ); - } - } - else { - piVar7 = (int *)&DAT_80060560; - if (&DAT_80060560 < _DAT_80060d30) { - iVar1 = _DAT_80060560; - do { - bVar3 = false; - if (iVar1 != 0) { - loc_7F03CC0C(iVar1,aiStack40); - piVar6 = aiStack40; - iVar2 = aiStack40[0]; - while (-1 < iVar2) { - lVar4 = FUN_7f0b518c(iVar2); - if (lVar4 != 0) { - if (iParm2 == *piVar6) { - bVar3 = true; - } - break; - } - iVar2 = piVar6[1]; - piVar6 = piVar6 + 1; - } - if (bVar3) { - if ((*(byte *)(iVar1 + 1) & 0x20) != 0) { - uParm1 = loc_7F03A6E0(uParm1,iVar1,0); - } - uParm1 = loc_7F03A6E0(uParm1,iVar1,1); - } - } - piVar7 = piVar7 + 1; - if (_DAT_80060d30 <= piVar7) break; - iVar1 = *piVar7; - } while( true ); - } - } - uVar5 = FUN_7f0b42f0(uParm1); - return uVar5; -} - - - -undefined8 FUN_7f03aa3c(int iParm1,undefined8 uParm2,undefined8 uParm3) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - int local_18; - int local_14; - int local_10; - int local_c; - int local_8; - int local_4; - - iVar3 = iParm1 * 0x50; - if ((&DAT_8003ac90)[iParm1 * 0x14] == 0) { - uVar2 = 0; - } - else { - local_18 = (int)*(float *)(&DAT_8003ac9c + iVar3); - local_14 = (int)*(float *)(&DAT_8003aca0 + iVar3); - local_10 = (int)*(float *)(&DAT_8003aca4 + iVar3); - local_c = (int)*(float *)(&DAT_8003aca8 + iVar3); - local_8 = (int)*(float *)(&DAT_8003acac + iVar3); - local_4 = (int)*(float *)(&DAT_8003acb0 + iVar3); - lVar1 = locret_7F0B7008(uParm2,uParm3,&local_18,&local_c); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - return uVar2; -} - - - -void loc_7F03AB38(undefined8 uParm1,float *pfParm2,float *pfParm3,int iParm4) - -{ - char cVar1; - longlong lVar2; - int iVar3; - int iVar4; - char *pcVar5; - float fVar6; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar6 = (float)FUN_7f0b3b78(); - fStack4 = (float)FUN_7f0b3bb4(); - iVar4 = 1; - fStack24 = *pfParm3 - *pfParm2; - fStack20 = pfParm3[1] - pfParm2[1]; - fStack4 = fStack4 * fVar6; - fStack16 = pfParm3[2] - pfParm2[2]; - fStack12 = *pfParm2 * fStack4; - fStack8 = pfParm2[1] * fStack4; - fStack4 = pfParm2[2] * fStack4; - lVar2 = FUN_7f0b5180(); - pcVar5 = (char *)(iParm4 + 1); - if (1 < lVar2) { - cVar1 = *pcVar5; - while( true ) { - if ((cVar1 == '\0') && (lVar2 = FUN_7f03aa3c(iVar4,&fStack12,&fStack24), lVar2 == 0)) { - *pcVar5 = '\x01'; - } - iVar4 += 1; - pcVar5 = pcVar5 + 1; - iVar3 = FUN_7f0b5180(); - if (iVar3 <= iVar4) break; - cVar1 = *pcVar5; - } - } - return; -} - - - -int loc_7F03ADC0(float *pfParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4,int iParm5, - float *pfParm6,int iParm7) - -{ - int iVar1; - longlong lVar2; - float *pfVar3; - float *pfVar4; - float *pfVar5; - int *piVar6; - int *piVar7; - float fVar8; - float fVar9; - float fVar10; - float fStack460; - float fStack456; - float fStack452; - float afStack412 [3]; - int aiStack400 [100]; - - fVar8 = (float)FUN_7f0b3b6c(); - lVar2 = FUN_7f0b8134(aiStack400,100); - piVar6 = aiStack400; - if (lVar2 < 1) { - return iParm7; - } - piVar7 = piVar6 + (int)lVar2; - do { - if (*(char *)(aiStack400[0] + iParm5) == '\0') { - *(char *)(aiStack400[0] + iParm5) = '\x01'; - lVar2 = FUN_7f03aa3c(*piVar6,uParm4,uParm3); - if ((lVar2 != 0) && (lVar2 = loc_7F0B7D64(pfParm1,uParm2,*piVar6,&fStack460), lVar2 != 0)) { - fStack460 = fStack460 * fVar8; - fStack456 = fStack456 * fVar8; - iVar1 = *piVar6; - fStack452 = fStack452 * fVar8; - pfVar5 = pfParm6; - pfVar3 = &fStack460; - if (0 < iParm7) { - fVar9 = *pfParm6; - fVar10 = *pfParm1; - if (((fVar9 < fVar10) || (fStack460 < fVar10)) || (fVar9 <= fStack460)) { - if (((fVar10 < fVar9) || (fVar10 < fStack460)) || (fStack460 <= fVar9)) - goto LAB_7f03ae74; - fVar9 = pfParm6[1]; - } - else { - fVar9 = pfParm6[1]; - } - fVar10 = pfParm1[1]; - if (((fVar9 < fVar10) || (fStack456 < fVar10)) || (fVar9 <= fStack456)) { - if (((fVar10 < fVar9) || (fVar10 < fStack456)) || (fStack456 <= fVar9)) - goto LAB_7f03ae74; - fVar9 = pfParm6[2]; - } - else { - fVar9 = pfParm6[2]; - } - fVar10 = pfParm1[2]; - if ((((fVar9 < fVar10) || (fStack452 < fVar10)) || - (pfVar5 = pfParm6, pfVar3 = &fStack460, fVar9 <= fStack452)) && - (((fVar10 < fVar9 || (fVar10 < fStack452)) || - (pfVar5 = pfParm6, pfVar3 = &fStack460, fStack452 <= fVar9)))) goto LAB_7f03ae74; - } - do { - pfVar4 = pfVar3 + 3; - *pfVar5 = *pfVar3; - pfVar5[1] = pfVar3[1]; - pfVar5[2] = pfVar3[2]; - pfVar5 = pfVar5 + 3; - iParm7 = iVar1; - pfVar3 = pfVar4; - } while (pfVar4 != afStack412); - } - } -LAB_7f03ae74: - piVar6 = piVar6 + 1; - if (piVar7 <= piVar6) { - return iParm7; - } - aiStack400[0] = *piVar6; - } while( true ); -} - - - -ulonglong loc_7F03AF2C(byte bParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,int iParm6,undefined4 uParm7) - -{ - char *pcVar2; - longlong lVar1; - int iVar3; - byte *pbVar4; - int iVar5; - int iVar6; - int iVar7; - ulonglong uVar8; - int iVar9; - byte *pbVar10; - int aiStack660 [101]; - byte abStack256 [256]; - - iVar6 = 1; - iVar9 = 0; - pbVar10 = abStack256; - abStack256[0] = bParm1; - do { - uVar8 = (ulonglong)*pbVar10; - pcVar2 = (char *)(iParm6 + (uint)*pbVar10); - if (*pcVar2 == '\0') { - *pcVar2 = '\x01'; - lVar1 = FUN_7f03aa3c(uVar8,uParm5,uParm4); - if ((lVar1 != 0) && (lVar1 = loc_7F0B7D64(uParm2,uParm3,uVar8,uParm7), lVar1 != 0)) { - return uVar8; - } - } - iVar7 = 0; - iVar3 = FUN_7f0b8198(uVar8,aiStack660,100); - if (0 < iVar3) { - do { - iVar5 = 0; - if (0 < iVar6) { - pbVar4 = abStack256; - do { - if ((ulonglong)*pbVar4 == (longlong)aiStack660[iVar7]) break; - iVar5 += 1; - pbVar4 = pbVar4 + 1; - } while (iVar5 != iVar6); - } - if (iVar5 == iVar6) { - pbVar4 = abStack256 + iVar6; - iVar6 += 1; - *pbVar4 = (byte)aiStack660[iVar7]; - } - iVar7 += 1; - } while (iVar7 < iVar3); - } - iVar9 += 1; - pbVar10 = pbVar10 + 1; - if (iVar6 <= iVar9) { - return 0; - } - } while( true ); -} - - - -int loc_7F03B114(undefined8 uParm1,float *pfParm2,undefined4 uParm3,undefined8 uParm4, - undefined4 uParm5,int iParm6,float *pfParm7) - -{ - char cVar1; - longlong lVar2; - int iVar3; - int iVar4; - char *pcVar5; - int iVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - undefined2 uStack16; - undefined2 uStack14; - - fVar11 = 4294967296.00000000; - iVar6 = 0; - fVar7 = (float)FUN_7f0b3b6c(); - iVar4 = 1; - lVar2 = FUN_7f0b5180(); - if (1 < lVar2) { - pcVar5 = (char *)(iParm6 + 1); - cVar1 = *pcVar5; - while( true ) { - if (cVar1 == '\0') { - *pcVar5 = '\x01'; - lVar2 = FUN_7f03aa3c(iVar4,uParm5,uParm4); - if ((lVar2 != 0) && (lVar2 = loc_7F0B7D64(pfParm2,uParm3,iVar4,&fStack56), lVar2 != 0)) { - fVar8 = fStack56 * fVar7 - *pfParm2; - fVar9 = fStack52 * fVar7 - pfParm2[1]; - fVar10 = fStack48 * fVar7 - pfParm2[2]; - fVar8 = fVar8 * fVar8 + fVar9 * fVar9 + fVar10 * fVar10; - lVar2 = locret_7F0BB68C(uStack14); - if (lVar2 != 0) { - fVar8 = fVar8 - 4.00000000; - } - if (fVar8 < fVar11) { - *pfParm7 = fStack56; - pfParm7[1] = fStack52; - pfParm7[2] = fStack48; - pfParm7[3] = fStack44; - pfParm7[4] = fStack40; - pfParm7[5] = fStack36; - pfParm7[6] = fStack32; - pfParm7[7] = fStack28; - pfParm7[8] = fStack24; - *(undefined2 *)((int)pfParm7 + 0x2a) = uStack14; - pfParm7[9] = fStack20; - *(undefined2 *)(pfParm7 + 10) = uStack16; - fVar11 = fVar8; - iVar6 = iVar4; - } - } - } - iVar4 += 1; - pcVar5 = pcVar5 + 1; - iVar3 = FUN_7f0b5180(); - if (iVar3 <= iVar4) break; - cVar1 = *pcVar5; - } - } - return iVar6; -} - - - -// WARNING: Instruction at (ram,0x7f03b824) overlaps instruction at (ram,0x7f03b820) -// -// WARNING: Could not reconcile some variable overlaps -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03B9AC(undefined8 uParm1) - -{ - char *pcVar1; - undefined *puVar2; - bool bVar3; - int iVar6; - undefined8 uVar4; - longlong lVar5; - int iVar7; - char cVar10; - uint uVar8; - undefined4 uVar9; - int *piVar11; - float fVar12; - float *pfVar13; - char **ppcVar14; - undefined uStack1320; - undefined uStack1319; - float fStack1292; - float fStack1288; - float fStack1284; - float fStack1280; - float fStack1276; - float fStack1272; - float fStack1268; - int aiStack1260 [64]; - int aiStack1004 [2]; - float fStack996; - float fStack992; - float fStack988; - float fStack984; - float fStack980; - float fStack976; - int iStack972; - float fStack968; - float fStack964; - float fStack960; - float fStack956; - float fStack952; - float fStack948; - float fStack944; - char *pcStack936; - undefined4 uStack932; - undefined4 uStack928; - undefined4 uStack856; - undefined4 uStack852; - undefined4 uStack848; - float afStack836 [160]; - float afStack196 [14]; - float fStack140; - float fStack136; - float fStack132; - undefined4 auStack128 [2]; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - undefined auStack92 [24]; - undefined4 uStack68; - undefined2 uStack64; - short sStack62; - int iStack56; - undefined4 uStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack36; - undefined4 uStack28; - float fStack24; - float fStack20; - float fStack16; - int iStack12; - - iStack12 = 0; - uStack28 = 0; - iStack36 = 0; - uStack52 = 0; - iVar6 = FUN_7f089900(); - auStack128[0] = *(undefined4 *)(iVar6 + 0x14); - aiStack1004[0] = 0; - FUN_7f068974(&fStack996,&fStack984,uParm1); - iStack972 = FUN_7f05de88(uParm1); - pcStack936 = NULL; - uStack932 = 0; - uStack928 = 0; - uStack856 = 0; - uStack852 = 0; - uStack848 = 0; - fStack944 = 4294967296.00000000; - pfVar13 = afStack836; - do { - pfVar13 = pfVar13 + 0x50; - pfVar13[0x23] = 0.00000000; - pfVar13[0x24] = 0.00000000; - pfVar13[0x25] = 0.00000000; - pfVar13[0x37] = 0.00000000; - pfVar13[0x38] = 0.00000000; - pfVar13[0x39] = 0.00000000; - pfVar13[0x4b] = 0.00000000; - pfVar13[0x4c] = 0.00000000; - pfVar13[0x4d] = 0.00000000; - pfVar13[0xf] = 0.00000000; - pfVar13[0x10] = 0.00000000; - pfVar13[0x11] = 0.00000000; - pfVar13 = pfVar13; - } while (pfVar13 != afStack196); - fStack968 = fStack996; - fStack964 = fStack992; - fStack960 = fStack988; - uVar4 = FUN_7f0784c4(); - FUN_7f05891c(uVar4,&fStack968); - fStack956 = fStack984; - fStack952 = fStack980; - fStack948 = fStack976; - uVar4 = FUN_7f0784c4(); - FUN_7f058880(uVar4,&fStack956); - fStack140 = fStack956 * 65536.00000000 + fStack968; - fStack136 = fStack952 * 65536.00000000 + fStack964; - fStack132 = fStack948 * 65536.00000000 + fStack960; - lVar5 = sub_7F0B0BE4(auStack128,*(undefined4 *)(iVar6 + 8),*(undefined4 *)(iVar6 + 0x10),fStack968 - ,fStack960); - if (lVar5 != 0) { - fVar12 = (float)FUN_7f0b3b78(); - fStack1292 = (float)FUN_7f0b3bb4(); - fStack1292 = fStack1292 * fVar12; - pfVar13 = (float *)FUN_7f08a1a0(); - FUN_7f0b0f84(); - lVar5 = sub_7F0B0BE4(auStack128,fStack968,fStack960,fStack140,fStack132); - if (lVar5 == 0) { - FUN_7f026264(&fStack968,&fStack956,&fStack24); - iStack12 = 1; - } - else { - fStack24 = fStack140; - fStack20 = fStack136; - fStack16 = fStack132; - } - fStack1288 = fStack24 - *pfVar13; - fStack1284 = fStack20 - pfVar13[1]; - fStack1280 = fStack16 - pfVar13[2]; - fStack1276 = *pfVar13 * fStack1292; - fStack1272 = pfVar13[1] * fStack1292; - uStack28 = auStack128[0]; - fStack1268 = pfVar13[2] * fStack1292; - iVar6 = sub_7F0B2FD8(); - piVar11 = aiStack1260; - do { - piVar11 = piVar11 + 1; - *(undefined *)((int)piVar11 + 1) = 0; - *(undefined *)((int)piVar11 + 2) = 0; - *(undefined *)((int)piVar11 + 3) = 0; - *(undefined *)piVar11 = 0; - piVar11 = piVar11; - } while (piVar11 != aiStack1004); - lVar5 = loc_7F0B7D64(pfVar13,&fStack24,iVar6,&fStack104); - if (lVar5 != 0) { - uStack52 = iVar6; - } - *(undefined *)((int)aiStack1260 + iVar6) = 1; - if (uStack52 < 1) { - if (*_DAT_8006b3c8 == 0) { - iVar7 = FUN_7f089900(); - uVar4 = sub_7F0B2FD8(*(undefined4 *)(iVar7 + 0x14)); - uStack52 = loc_7F03B114(uVar4,pfVar13,&fStack24,&fStack1288,&fStack1276,aiStack1260, - &fStack104); - } - else { - iVar7 = FUN_7f089900(); - uVar4 = sub_7F0B2FD8(*(undefined4 *)(iVar7 + 0x14)); - uStack52 = loc_7F03AF2C(uVar4,pfVar13,&fStack24,&fStack1288,&fStack1276,aiStack1260, - &fStack104); - } - } - if (0 < uStack52) { - fVar12 = (float)FUN_7f0b3b6c(); - fStack104 = fStack104 * fVar12; - fStack100 = fStack100 * fVar12; - fStack96 = fStack96 * fVar12; - } - lVar5 = loc_7F03ADC0(pfVar13,&fStack24,&fStack1288,&fStack1276,aiStack1260,&fStack104,uStack52); - if (lVar5 < 1) { - iStack56 = -1; - fStack120 = fStack140; - fStack116 = fStack136; - fStack112 = fStack132; - uStack52 = iVar6; - } - else { - iStack36 = 1; - iStack56 = (int)sStack62; - fStack48 = fStack104; - fStack120 = fStack104; - fStack44 = fStack100; - fStack116 = fStack100; - fStack40 = fStack96; - fStack112 = fStack96; - uStack52 = (int)lVar5; - } - if ((iStack12 != 0) || (iStack36 != 0)) { - uVar4 = FUN_7f078444(); - FUN_7f05891c(uVar4,&fStack120); - fStack944 = -fStack112; - fStack108 = fStack944; - } - } - if ((iStack972 == 0x17) && (300.00000000 < fStack944)) { - fStack944 = 300.00000000; - } - ppcVar14 = (char **)(_DAT_80060d30 + -4); - if (ppcVar14 < &DAT_80060560) { -LAB_7f03b768: - pcVar1 = pcStack936; - pfVar13 = &fStack996; - while( true ) { - if (pcVar1 != NULL) { - cVar10 = *pcVar1; - if ((cVar10 == '\x03') || (cVar10 == '\x06')) { - loc_7F022DF4(&fStack996,pfVar13 + 0xe); - fVar12 = pfVar13[0x21]; - } - else { - if (((cVar10 == '\x01') || (cVar10 == '\x04')) || (cVar10 == '\x02')) { - loc_7F04EF24(&fStack996,pfVar13 + 0xe); - fVar12 = pfVar13[0x21]; - } - else { - fVar12 = pfVar13[0x21]; - } - } - if ((fVar12 != 0.00000000) && - (aiStack1004[0] = aiStack1004[0] + 1, iVar6 = FUN_7f05e4f0(iStack972), - iVar6 <= aiStack1004[0])) { - iStack36 = 0; - iStack12 = 0; - } - } - if (pfVar13 + 0x14 == afStack196) break; - pcVar1 = (char *)pfVar13[0x23]; - pfVar13 = pfVar13 + 0x14; - } - if ((iStack36 != 0) || (iStack12 != 0)) { - pfVar13 = NULL; - bVar3 = true; - if ((iStack972 == 0x17) && (300.00000000 < fStack108)) { - bVar3 = false; - } - if (iStack36 == 0) { - if (iStack12 != 0) { - pfVar13 = &fStack24; - fStack24 = fStack956 * 65536.00000000 + fStack968; - fStack20 = fStack952 * 65536.00000000 + fStack964; - fStack16 = fStack948 * 65536.00000000 + fStack960; - } - } - else { - puVar2 = PTR_PTR_DAT_80046dec; - if (-1 < sStack62) { - puVar2 = (&PTR_PTR_DAT_80046dec)[(uint)(byte)(&DAT_80041880)[(int)sStack62 * 8] & 0xf]; - } - if (bVar3) { - if ((0 < *(short *)(puVar2 + 10)) && (iStack972 != 0x17)) { - uVar8 = FUN_700098b0(); - if (*(short *)(puVar2 + 10) == 0) { - trap(0x1c00); - } - loc_7F0A1A48(&fStack48,auStack92, - (ulonglong) - *(byte *)(*(int *)(puVar2 + 4) + uVar8 % (int)*(short *)(puVar2 + 10)), - uStack52._2_2_,0,0xffffffff,0); - } - lVar5 = locret_7F0BB68C(sStack62); - if (lVar5 != 0) { - FUN_7f0bb20c(uStack68,uStack64,uStack52); - } - } - pfVar13 = &fStack48; - } - if (pfVar13 != NULL) { - if (bVar3) { - FUN_7f064c54(iStack972,pfVar13,iStack56); - if ((((&DAT_80041880)[iStack56 * 8] & 0xf) != 5) && - (((&DAT_80041880)[iStack56 * 8] & 0xf) != 6)) { - uStack1320 = (undefined)uStack52; - uStack1319 = 0xff; - uVar9 = FUN_7f09a690(); - FUN_7f09b790(0,pfVar13,uStack28,1,0,uVar9,&uStack1320,0); - } - } - *pfVar13 = *pfVar13 - fStack956 * 26.00000000; - pfVar13[1] = pfVar13[1] - fStack952 * 26.00000000; - pfVar13[2] = pfVar13[2] - fStack948 * 26.00000000; - FUN_7f0682f4(pfVar13); - if (bVar3) { - FUN_7f0a335c(pfVar13,1,0x41d00000,uStack52._2_2_); - } - } - } - return; - } - pcVar1 = *ppcVar14; - do { - if (pcVar1 != NULL) { - if (*pcVar1 == '\x03') { -code_r0x7f03b710: - loc_7F02296C(pcVar1,&fStack996); - } - else { - if (*pcVar1 == '\x06') { - if (*(int *)(pcVar1 + 4) == 0) { - cVar10 = *pcVar1; - } - else { - iVar6 = FUN_7f09a69c(pcVar1); - iVar7 = FUN_7f09a690(); - if (iVar7 != iVar6) goto code_r0x7f03b710; - cVar10 = *pcVar1; - } - } - else { - cVar10 = *pcVar1; - } - if (((cVar10 == '\x01') || (cVar10 == '\x04')) || (cVar10 == '\x02')) { - FUN_7f04eba4(pcVar1,&fStack996); - } - } - } - ppcVar14 = ppcVar14 + -1; - if (ppcVar14 < &DAT_80060560) goto LAB_7f03b768; - pcVar1 = *ppcVar14; - } while( true ); -} - - - -void loc_7F03BDDC(int iParm1,undefined4 uParm2,float fParm3,undefined4 uParm4,undefined4 uParm5, - undefined4 *puParm6,undefined4 uParm7,undefined4 uParm8,undefined4 uParm9, - int iParm10,int iParm11) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - undefined4 *puVar5; - undefined4 *puVar6; - int iVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - if (iParm10 == 0) goto LAB_7f03bce4; - iVar3 = 0; - iVar7 = 0; - fVar8 = 0.00000000; - fVar10 = 0.00000000; - iVar1 = iParm1; - iVar2 = 0; - do { - fVar9 = fVar8; - fVar11 = fVar10; - iVar4 = iVar2; - if ((*(int *)(iVar1 + 0x3c) != 0) && - (fVar9 = fVar8, fVar11 = fVar10, iVar4 = iVar2, *(int *)(iVar1 + 0x84) != 0)) { - iVar3 += 1; - fVar9 = *(float *)(iVar1 + 0x38); - fVar11 = fVar8; - iVar4 = iVar7; - if (*(float *)(iVar1 + 0x38) <= fVar8) { - fVar9 = fVar8; - fVar11 = fVar10; - iVar4 = iVar2; - } - } - iVar7 += 1; - iVar1 += 0x50; - fVar8 = fVar9; - fVar10 = fVar11; - iVar2 = iVar4; - } while (iVar7 < 10); - iVar1 = FUN_7f05e4f0(*(undefined4 *)(iParm1 + 0x18)); - if (iVar3 < iVar1) { - iVar1 = FUN_7f05e4f0(*(undefined4 *)(iParm1 + 0x18)); - if ((iVar3 + 1 == iVar1) && (fParm3 < *(float *)(iParm1 + 0x34))) { - *(float *)(iParm1 + 0x34) = fParm3; - } - goto LAB_7f03bce4; - } - *(undefined4 *)(iParm1 + iVar4 * 0x50 + 0x3c) = 0; - *(float *)(iParm1 + 0x34) = fVar11; - if (fVar11 < fParm3) { - *(float *)(iParm1 + 0x34) = fParm3; - } - iVar1 = 0xa0; - if (*(int *)(iParm1 + 0x3c) == 0) { -LAB_7f03bb98: - iVar2 = *(int *)(iParm1 + 0x8c); - } - else { - if (*(int *)(iParm1 + 0x84) == 0) { - if (fVar11 < *(float *)(iParm1 + 0x38)) { - *(undefined4 *)(iParm1 + 0x3c) = 0; - goto LAB_7f03bb98; - } - iVar2 = *(int *)(iParm1 + 0x8c); - } - else { - iVar2 = *(int *)(iParm1 + 0x8c); - } - } - if (iVar2 == 0) { - iVar2 = iParm1 + 0xa0; - } - else { - if (*(int *)(iParm1 + 0xd4) == 0) { - if (fVar11 < *(float *)(iParm1 + 0x88)) { - *(undefined4 *)(iParm1 + 0x8c) = 0; - iVar2 = iParm1 + 0xa0; - } - else { - iVar2 = iParm1 + 0xa0; - } - } - else { - iVar2 = iParm1 + 0xa0; - } - } - do { - iVar1 += 0x140; - if (*(int *)(iVar2 + 0x3c) == 0) { - iVar7 = *(int *)(iVar2 + 0x8c); - } - else { - if (*(int *)(iVar2 + 0x84) == 0) { - if (fVar11 < *(float *)(iVar2 + 0x38)) { - *(undefined4 *)(iVar2 + 0x3c) = 0; - iVar7 = *(int *)(iVar2 + 0x8c); - } - else { - iVar7 = *(int *)(iVar2 + 0x8c); - } - } - else { - iVar7 = *(int *)(iVar2 + 0x8c); - } - } - if (iVar7 == 0) { - iVar7 = *(int *)(iVar2 + 0xdc); - } - else { - if (*(int *)(iVar2 + 0xd4) == 0) { - if (fVar11 < *(float *)(iVar2 + 0x88)) { - *(undefined4 *)(iVar2 + 0x8c) = 0; - iVar7 = *(int *)(iVar2 + 0xdc); - } - else { - iVar7 = *(int *)(iVar2 + 0xdc); - } - } - else { - iVar7 = *(int *)(iVar2 + 0xdc); - } - } - if (iVar7 == 0) { - iVar7 = *(int *)(iVar2 + 300); - } - else { - if (*(int *)(iVar2 + 0x124) == 0) { - if (fVar11 < *(float *)(iVar2 + 0xd8)) { - *(undefined4 *)(iVar2 + 0xdc) = 0; - iVar7 = *(int *)(iVar2 + 300); - } - else { - iVar7 = *(int *)(iVar2 + 300); - } - } - else { - iVar7 = *(int *)(iVar2 + 300); - } - } - if (((iVar7 != 0) && (*(int *)(iVar2 + 0x174) == 0)) && (fVar11 < *(float *)(iVar2 + 0x128))) { - *(undefined4 *)(iVar2 + 300) = 0; - } - iVar2 += 0x140; - } while (iVar1 != 800); -LAB_7f03bce4: - if (((iParm11 != 0) && (*(int *)(iParm1 + 0x18) != 0x12)) && (*(int *)(iParm1 + 0x18) != 0x14)) { - if (*(int *)(iParm1 + 0x3c) == 0) { - iVar1 = *(int *)(iParm1 + 0x8c); - } - else { - if (fParm3 < *(float *)(iParm1 + 0x38)) { - *(undefined4 *)(iParm1 + 0x3c) = 0; - iVar1 = *(int *)(iParm1 + 0x8c); - } - else { - iVar1 = *(int *)(iParm1 + 0x8c); - } - } - if ((iVar1 != 0) && (fParm3 < *(float *)(iParm1 + 0x88))) { - *(undefined4 *)(iParm1 + 0x8c) = 0; - } - iVar2 = 0xa0; - iVar1 = iParm1 + 0xa0; - do { - iVar2 += 0x140; - if (*(int *)(iVar1 + 0x3c) == 0) { - iVar7 = *(int *)(iVar1 + 0x8c); - } - else { - if (fParm3 < *(float *)(iVar1 + 0x38)) { - *(undefined4 *)(iVar1 + 0x3c) = 0; - iVar7 = *(int *)(iVar1 + 0x8c); - } - else { - iVar7 = *(int *)(iVar1 + 0x8c); - } - } - if (iVar7 == 0) { - iVar7 = *(int *)(iVar1 + 0xdc); - } - else { - if (fParm3 < *(float *)(iVar1 + 0x88)) { - *(undefined4 *)(iVar1 + 0x8c) = 0; - iVar7 = *(int *)(iVar1 + 0xdc); - } - else { - iVar7 = *(int *)(iVar1 + 0xdc); - } - } - if (iVar7 == 0) { - iVar7 = *(int *)(iVar1 + 300); - } - else { - if (fParm3 < *(float *)(iVar1 + 0xd8)) { - *(undefined4 *)(iVar1 + 0xdc) = 0; - iVar7 = *(int *)(iVar1 + 300); - } - else { - iVar7 = *(int *)(iVar1 + 300); - } - } - if ((iVar7 != 0) && (fParm3 < *(float *)(iVar1 + 0x128))) { - *(undefined4 *)(iVar1 + 300) = 0; - } - iVar1 += 0x140; - } while (iVar2 != 800); - *(float *)(iParm1 + 0x34) = fParm3; - } - iVar1 = 0; - do { - iVar1 += 0x50; - if (*(int *)(iParm1 + 0x3c) == 0) { - *(float *)(iParm1 + 0x38) = fParm3; - *(undefined4 *)(iParm1 + 0x3c) = uParm2; - *(undefined4 *)(iParm1 + 0x40) = uParm4; - *(undefined4 *)(iParm1 + 0x44) = uParm5; - puVar5 = puParm6; - iVar1 = iParm1; - do { - puVar6 = puVar5 + 3; - *(undefined4 *)(iVar1 + 0x48) = *puVar5; - *(undefined4 *)(iVar1 + 0x4c) = puVar5[1]; - *(undefined4 *)(iVar1 + 0x50) = puVar5[2]; - puVar5 = puVar6; - iVar1 = iVar1 + 0xc; - } while (puVar6 != puParm6 + 0xc); - *(undefined4 *)(iParm1 + 0x78) = uParm7; - *(undefined4 *)(iParm1 + 0x7c) = uParm8; - *(undefined4 *)(iParm1 + 0x80) = uParm9; - *(int *)(iParm1 + 0x84) = iParm10; - return; - } - iParm1 += 0x50; - } while (iVar1 != 800); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03bf88) overlaps instruction at (ram,0x7f03bf84) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03C0C0(undefined4 uParm1,longlong lParm2) - -{ - char *pcVar1; - int iVar2; - int iVar6; - longlong lVar3; - longlong lVar4; - undefined8 uVar5; - undefined8 uVar7; - char **ppcVar8; - undefined4 uVar9; - float fVar10; - undefined auStack80 [12]; - undefined auStack68 [12]; - int aiStack56 [2]; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float afStack28 [4]; - int iStack12; - - iStack12 = 0; - iVar6 = FUN_7f089900(); - uVar9 = FUN_7f0898e8(_DAT_80068bc0); - ppcVar8 = (char **)(_DAT_80060d30 + -4); - if (ppcVar8 < &DAT_80060560) { -LAB_7f03c154: - if ((iStack12 == 0) && (lParm2 == 1)) { - FUN_70008268(_DAT_80056900,0x69,0); - } - return; - } - pcVar1 = *ppcVar8; - do { - if ((pcVar1 != NULL) && (*(float *)(pcVar1 + 0x18) < 500.00000000)) { - if (*pcVar1 == '\x03') { -code_r0x7f03bf8c: - fVar10 = 50.00000000; - iVar2 = *(int *)(pcVar1 + 4); - lVar3 = FUN_7f05d530(); - if (lVar3 == 0x11) { - fVar10 = 100.00000000; - } - loc_7F03F8D8(*(undefined4 *)(iVar2 + 0x1c),afStack28,&fStack32,0); - if (0.00000000 <= afStack28[0]) { - if ((fStack32 <= 0.00000000) && - (loc_7F03F8D8(*(undefined4 *)(iVar2 + 0x1c),&fStack36,&fStack40,1), - 0.00000000 <= fStack36)) { - if ((fStack40 <= 0.00000000) && - ((loc_7F03F8D8(*(undefined4 *)(iVar2 + 0x1c),&fStack44,&fStack48,2), - fStack48 <= 0.00000000 && (-fVar10 <= fStack44)))) { - aiStack56[0] = *(int *)(iVar6 + 0x14); - lVar3 = loc_7F0B13B4(aiStack56,*(undefined4 *)(iVar6 + 8), - *(undefined4 *)(iVar6 + 0x10),*(undefined4 *)(pcVar1 + 8), - *(undefined4 *)(pcVar1 + 0x10),0x13,uVar9,uVar9,0,0x3f800000); - if ((lVar3 != 0) && (aiStack56[0] == *(int *)(pcVar1 + 0x14))) { - uVar7 = 0xf; - lVar3 = FUN_7f079a70(); - if (lVar3 == 1) { - uVar7 = 200; - } - else { - lVar3 = FUN_7f079a70(); - if (lVar3 == 0) { - uVar7 = 0xc9; - } - } - FUN_7f068974(auStack68,auStack80,uParm1); - uVar5 = FUN_7f0784c4(); - FUN_7f058880(uVar5,auStack80); - lVar3 = loc_7F0277F0(iVar2,uVar7,auStack80,lParm2,1); - if (lVar3 != 0) { - iStack12 = 1; - FUN_7f0648e0(lParm2,pcVar1,0xffffffffffffffff); - } - } - } - } - } - } - else { - if ((*pcVar1 == '\x06') && (*(int *)(pcVar1 + 4) != 0)) { - lVar3 = FUN_7f09a69c(pcVar1); - lVar4 = FUN_7f09a690(); - if (lVar4 != lVar3) goto code_r0x7f03bf8c; - } - } - } - ppcVar8 = ppcVar8 + -1; - if (ppcVar8 < &DAT_80060560) goto LAB_7f03c154; - pcVar1 = *ppcVar8; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03c1b0(undefined8 uParm1) - -{ - longlong lVar1; - int iVar2; - - lVar1 = FUN_7f05e140(); - if (lVar1 != 0) { - lVar1 = FUN_7f05de88(uParm1); - if (lVar1 == 0x1e) { - FUN_7f051cf8(); - } - else { - if ((((((lVar1 != 0x18) && (lVar1 != 0x19)) && (lVar1 != 0x1a)) && - ((lVar1 != 3 && (lVar1 != 0x1d)))) && - (((lVar1 != 0x1c && ((lVar1 != 0x1b && (lVar1 != 0x23)))) && (lVar1 != 0x24)))) && - ((((lVar1 != 0x21 && (lVar1 != 0x2f)) && (lVar1 != 0x30)) && - (((lVar1 != 0x3d && (lVar1 != 0x58)) && (lVar1 != 0x22)))))) { - if (lVar1 == 0x20) { - FUN_7f06001c(uParm1); - } - else { - if ((lVar1 == 1) || (lVar1 == 2)) { - loc_7F03C0C0(uParm1,lVar1); - } - else { - if ((lVar1 == 0xf) || (lVar1 == 0x10)) { - FUN_7f06aea0(lVar1,0); - iVar2 = 0; - do { - loc_7F03B9AC(uParm1); - iVar2 += 1; - } while (iVar2 != 5); - } - else { - if (lVar1 == 0x28) { - FUN_7f057b94(); - } - else { - if (lVar1 == 0x3c) { - *(undefined4 *)(_DAT_80068bc0 + 0x1268) = 0; - } - else { - FUN_7f06aea0(lVar1,0); - loc_7F03B9AC(uParm1); - } - } - } - } - } - } - } - } - return; -} - - - -void FUN_7f03c354(void) - -{ - FUN_7f03c1b0(0); - FUN_7f03c1b0(1); - return; -} - - - -void loc_7F03C3EC(char *pcParm1,longlong lParm2) - -{ - int iVar1; - uint uVar2; - undefined8 uVar3; - - if (lParm2 != 1) { - if (lParm2 == 2) { - loc_7F03E1F8(pcParm1); - FUN_7f03a5f8(pcParm1); - unset_stateflag_0x04_for_posdata(pcParm1); - return; - } - if (lParm2 != 4) { - return; - } - loc_7F03E1F8(pcParm1); - FUN_7f03a5f8(pcParm1); - unset_stateflag_0x04_for_posdata(pcParm1); - loc_7F04C124(pcParm1); - loc_7F040D8C(pcParm1); - uVar3 = FUN_7f089900(); - loc_7F03A5C0(pcParm1,uVar3); - return; - } - if (*pcParm1 == '\x04') { - iVar1 = *(int *)(pcParm1 + 4); - } - else { - if (*pcParm1 != '\x01') goto LAB_7f03c40c; - iVar1 = *(int *)(pcParm1 + 4); - } - if ((*(byte *)(iVar1 + 2) & 4) != 0) { - *(undefined2 *)(pcParm1 + 2) = 1000; - uVar2 = *(uint *)(iVar1 + 100); - *(uint *)(iVar1 + 100) = uVar2 | 0x800; - *(uint *)(iVar1 + 100) = uVar2 & 0xfffffffb | 0x800; - *(byte *)(iVar1 + 2) = *(byte *)(iVar1 + 2) & 0x7f; - *(undefined4 *)(iVar1 + 0x70) = 0; - loc_7F03E1F8(pcParm1); - unset_stateflag_0x04_for_posdata(pcParm1); - return; - } -LAB_7f03c40c: - loc_7F03E1F8(pcParm1); - FUN_7f03a5f8(pcParm1); - unset_stateflag_0x04_for_posdata(pcParm1); - FUN_7f03a544(pcParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f03c4bc(void) - -{ - char cVar1; - char *pcVar2; - longlong lVar3; - char **ppcVar4; - - _DAT_80060d38 = 0; - ppcVar4 = (char **)(_DAT_80060d30 + -4); - lVar3 = 1; - if (ppcVar4 < &DAT_80060560) { - _DAT_80060d38 = 0; - return 0; - } - pcVar2 = *ppcVar4; - do { - if (pcVar2 != NULL) { - cVar1 = *pcVar2; - if (cVar1 != '\x03') { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - lVar3 = loc_7F04F160(); - } - else { - if (cVar1 == '\x02') { - lVar3 = loc_7F05598C(); - } - } - } - if (lVar3 == 0) { - return _DAT_80060d38; - } - } - ppcVar4 = ppcVar4 + -1; - if (ppcVar4 < &DAT_80060560) { - return _DAT_80060d38; - } - pcVar2 = *ppcVar4; - } while( true ); -} - - - -undefined8 FUN_7f03c5b0(void) - -{ - undefined *puVar1; - undefined8 uVar2; - - puVar1 = (undefined *)FUN_7f03c4bc(); - uVar2 = 0; - if (puVar1 == NULL) { - uVar2 = 1; - } - else { - if (true) { - switch(*puVar1) { - case 1: - case 4: - uVar2 = loc_7F04F1F4(puVar1); - break; - case 2: - uVar2 = FUN_7f055f20(puVar1,0); - } - } - loc_7F03C3EC(puVar1,uVar2); - uVar2 = 0; - } - return uVar2; -} - - - -undefined4 FUN_7f03c634(int iParm1) - -{ - int iVar1; - int iVar2; - int iVar3; - int *piVar4; - float fVar5; - float fVar6; - float fVar7; - - iVar2 = FUN_7f0999a4(); - iVar3 = 0; - if (0 < iVar2) { - piVar4 = (int *)&DAT_800689f0; - do { - iVar1 = *(int *)(*piVar4 + 0xa8); - fVar5 = *(float *)(iVar1 + 8) - *(float *)(iParm1 + 8); - fVar6 = *(float *)(iVar1 + 0xc) - *(float *)(iParm1 + 0xc); - fVar7 = *(float *)(iVar1 + 0x10) - *(float *)(iParm1 + 0x10); - fVar5 = (float)sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - iVar3 += 1; - if (fVar5 < 400.00000000) { - return 0; - } - piVar4 = piVar4 + 1; - } while (iVar3 < iVar2); - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03c708(void) - -{ - byte bVar1; - short sVar2; - bool bVar3; - char *pcVar4; - char *pcVar7; - short sVar10; - int iVar8; - undefined8 uVar5; - int iVar9; - longlong lVar6; - longlong lVar11; - char cVar12; - - FUN_7f032960(); - pcVar7 = (char *)FUN_7f03a4e4(); - do { - pcVar4 = pcVar7; - if (pcVar4 == NULL) { - return; - } - pcVar7 = *(char **)(pcVar4 + 0x24); - lVar11 = 0; - cVar12 = *pcVar4; - if (cVar12 == '\x03') { - iVar9 = *(int *)(pcVar4 + 4); - FUN_7f062fc4(iVar9 + 0x180); - FUN_7f062fc4(iVar9 + 0x1ac); - } - else { - if (((cVar12 == '\x01') || (cVar12 == '\x04')) || (cVar12 == '\x02')) { - sVar2 = *(short *)(pcVar4 + 2); - iVar9 = *(int *)(pcVar4 + 4); - bVar3 = false; - if (sVar2 < 1) { -LAB_7f03c9a4: - cVar12 = *(char *)(iVar9 + 3); - } - else { - *(short *)(pcVar4 + 2) = sVar2 - (short)DAT_80040ff4; - if (*(short *)(pcVar4 + 2) < 0x32) { - if ((0x31 < sVar2) && (lVar6 = FUN_7f03c634(), lVar6 == 0)) { - *(short *)(pcVar4 + 2) = *(short *)(pcVar4 + 2) + 0x32; - } - sVar10 = *(short *)(pcVar4 + 2); - } - else { - sVar10 = *(short *)(pcVar4 + 2); - } - if (sVar10 < 1) { - *(undefined2 *)(pcVar4 + 2) = 0; - if ((*(byte *)(iVar9 + 2) & 0x10) == 0) { - *(uint *)(iVar9 + 100) = *(uint *)(iVar9 + 100) & 0xffffefff; - } - else { - *(uint *)(iVar9 + 100) = *(uint *)(iVar9 + 100) | 0x1000; - } - goto LAB_7f03c9a4; - } - if (sVar10 < 0x32) { - if (0x31 < sVar2) { - if (*(float *)(iVar9 + 0x70) == 0.00000000) { - if ((*(byte *)(iVar9 + 2) & 0x80) != 0) { - bVar1 = *(byte *)(iVar9 + 2); - goto LAB_7f03c928; - } - if ((*(uint *)(iVar9 + 8) & 0x8000) == 0) { - set_stateflag_0x04_for_posdata(pcVar4); - FUN_7f03e1f4(pcVar4); - *(uint *)(iVar9 + 100) = *(uint *)(iVar9 + 100) & 0xfffff7ff; - goto LAB_7f03c96c; - } - loc_7F03E1F8(pcVar4); - FUN_7f03a5f8(pcVar4); - *(uint *)(iVar9 + 100) = *(uint *)(iVar9 + 100) & 0xfffff7ff; - iVar8 = FUN_7f056e88(pcVar4); - sVar2 = *(short *)(iVar9 + 6); - uVar5 = FUN_7f0bd2c4(); - iVar8 = FUN_7f057180(uVar5,iVar8 + (int)sVar2); - if (iVar8 == 0) { - cVar12 = *(char *)(iVar9 + 3); - } - else { - if (*(int *)(iVar8 + 0x10) != 0) { - set_obj_instance_controller_scale - (*(int *)(iVar9 + 0x14),*(undefined4 *)(*(int *)(iVar9 + 0x14) + 0x14) - ); - loc_7F03A5C0(*(undefined4 *)(iVar9 + 0x10),*(undefined4 *)(iVar8 + 0x10)); - bVar3 = true; - goto LAB_7f03c96c; - } - cVar12 = *(char *)(iVar9 + 3); - } - } - else { - bVar1 = *(byte *)(iVar9 + 2); -LAB_7f03c928: - if ((bVar1 & 8) == 0) { - *(uint *)(iVar9 + 8) = *(uint *)(iVar9 + 8) & 0xfffffeff; - } - else { - *(uint *)(iVar9 + 8) = *(uint *)(iVar9 + 8) | 0x100; - } - *(undefined4 *)(iVar9 + 0x70) = 0; - *(byte *)(iVar9 + 2) = *(byte *)(iVar9 + 2) & 0x7f; - loc_7F050F20(*(undefined4 *)(iVar9 + 0x14)); -LAB_7f03c96c: - cVar12 = *(char *)(iVar9 + 3); - } - if (cVar12 == '\x15') { - *(undefined4 *)(iVar9 + 0x84) = *(undefined4 *)(iVar9 + 0x80); - } - if (!bVar3) { - uVar5 = FUN_70008268(_DAT_80056900,0x52,0); - FUN_7f053cf0(uVar5,pcVar4 + 8); - } - goto LAB_7f03c9a4; - } - cVar12 = *(char *)(iVar9 + 3); - } - else { - cVar12 = *(char *)(iVar9 + 3); - } - } - if (cVar12 == '\r') { - FUN_7f062fc4(*(undefined4 *)(*(int *)(pcVar4 + 4) + 0xcc)); - } - } - else { - if (cVar12 == '\a') { - lVar11 = loc_7F09D4A8(pcVar4); - } - else { - if (cVar12 == '\b') { - lVar11 = FUN_7f09ddf0(pcVar4); - } - else { - if (cVar12 == '\x06') { - iVar9 = FUN_7f09a69c(pcVar4); - FUN_7f062fc4(*(int *)(&DAT_800689f0 + iVar9 * 4) + 0xa4c); - iVar9 = FUN_7f09a69c(pcVar4); - FUN_7f062fc4(*(int *)(&DAT_800689f0 + iVar9 * 4) + 0xdf4); - if ((*(int *)(pcVar4 + 4) != 0) && (lVar6 = FUN_7f0999a4(), 1 < lVar6)) { - iVar9 = *(int *)(pcVar4 + 4); - FUN_7f062fc4(iVar9 + 0x180); - FUN_7f062fc4(iVar9 + 0x1ac); - } - } - } - } - } - } - if (lVar11 != 5) { - pcVar7 = *(char **)(pcVar4 + 0x24); - if (lVar11 == 3) { - FUN_7f03a5f8(pcVar4); - FUN_7f03a5b0(pcVar4); - if (pcVar7 == NULL) { - pcVar7 = pcVar4; - } - } - else { - loc_7F03C3EC(pcVar4,lVar11); - } - } - } while( true ); -} - - - -void FUN_7f03caf0(void) - -{ - char cVar1; - char *pcVar2; - char *pcVar4; - undefined8 uVar3; - longlong lVar5; - - pcVar4 = (char *)FUN_7f03a4e4(); - while (pcVar2 = pcVar4, pcVar2 != NULL) { - cVar1 = *pcVar2; - lVar5 = 0; - pcVar4 = *(char **)(pcVar2 + 0x24); - if (cVar1 == '\x03') { - lVar5 = FUN_7f020e68(pcVar2); - } - else { - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - lVar5 = FUN_7f045468(pcVar2); - } - else { - if (cVar1 == '\a') { - lVar5 = FUN_7f09ca30(pcVar2); - } - else { - if (cVar1 == '\b') { - lVar5 = FUN_7f09e4e0(pcVar2); - } - else { - if (cVar1 == '\x06') { - lVar5 = FUN_7f08b3e4(pcVar2); - } - } - } - } - } - if (lVar5 != 5) { - pcVar4 = *(char **)(pcVar2 + 0x24); - if (lVar5 == 3) { - FUN_7f03a5f8(pcVar2); - FUN_7f03a5b0(pcVar2); - if (pcVar4 == NULL) { - pcVar4 = pcVar2; - } - } - else { - loc_7F03C3EC(pcVar2); - } - } - } - uVar3 = FUN_7f09a690(); - lVar5 = FUN_7f09aa18(uVar3); - if (lVar5 == 0) { - FUN_7f0568d0(); - FUN_7f034924(); - FUN_7f03e5b0(); - } - return; -} - - - -void loc_7F03CC0C(char *pcParm1,uint *puParm2) - -{ - char cVar1; - byte bVar2; - int iVar3; - uint *puVar4; - - if (*(int *)(pcParm1 + 0x14) == 0) { - *puParm2 = 0xffffffff; - return; - } - if (*pcParm1 == '\x06') { - if (*(int *)(pcParm1 + 4) == 0) { - bVar2 = *(byte *)(*(int *)(pcParm1 + 0x14) + 3); - puParm2[1] = 0xffffffff; - *puParm2 = (uint)bVar2; - return; - } - cVar1 = pcParm1[0x2c]; - } - else { - cVar1 = pcParm1[0x2c]; - } - iVar3 = 0; - if (cVar1 != -1) { - bVar2 = pcParm1[0x2c]; - puVar4 = puParm2; - do { - *puVar4 = (uint)bVar2; - bVar2 = pcParm1[0x2d]; - iVar3 += 1; - puVar4 = puVar4 + 1; - pcParm1 = pcParm1 + 1; - } while (bVar2 != 0xff); - } - puParm2[iVar3] = 0xffffffff; - return; -} - - - -void loc_7F03CCA4(char *pcParm1,undefined4 *puParm2,undefined4 *puParm3) - -{ - char cVar1; - - *puParm2 = 0; - *puParm3 = 0; - cVar1 = *pcParm1; - if (cVar1 == '\x03') { - locret_7F023158(); - } - else { - if (cVar1 == '\x06') { - FUN_7f08a27c(); - } - else { - if ((cVar1 != '\x04') && ((cVar1 == '\x01' || (cVar1 == '\x02')))) { - locret_7F04F2AC(); - } - } - } - return; -} - - - -void FUN_7f03cd70(void) - -{ - loc_7F03CCA4(); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03ce5c) overlaps instruction at (ram,0x7f03ce58) -// - -undefined8 loc_7F03CF7C(float *pfParm1,float *pfParm2,uint uParm3) - -{ - float *pfVar1; - float *pfVar2; - longlong lVar3; - uint uVar4; - uint uVar5; - float *pfVar6; - int iVar7; - float fVar8; - - lVar3 = -1; - if ((int)uParm3 < 1) { - return 0; - } - uVar4 = 0; - if (0 < (int)uParm3) { - if ((uParm3 & 1) == 0) { - iVar7 = 0; - } - else { - if (uParm3 == 0) { - trap(0x1c00); - } - if ((uParm3 == 0xffffffff) && (false)) { - trap(0x1800); - } - uVar4 = 1; - fVar8 = ((pfParm2 + (1 % uParm3) * 2)[1] - pfParm2[1]) * (*pfParm1 - *pfParm2) - - (pfParm1[2] - pfParm2[1]) * (pfParm2[(1 % uParm3) * 2] - *pfParm2); - if ((fVar8 != 0.00000000) && (lVar3 = 0, 0.00000000 < fVar8)) { - lVar3 = 1; - } - iVar7 = 8; - if (uParm3 == 1) { - return 1; - } - } - pfVar6 = (float *)((int)pfParm2 + iVar7); - do { - if (uParm3 == 0) { - trap(0x1c00); - } - if ((uParm3 == 0xffffffff) && (uVar4 + 1 == -0x80000000)) { - trap(0x1800); - } - uVar5 = uVar4 + 2; - fVar8 = ((pfParm2 + ((int)(uVar4 + 1) % uParm3) * 2)[1] - pfVar6[1]) * (*pfParm1 - *pfVar6) - - (pfParm1[2] - pfVar6[1]) * (pfParm2[((int)(uVar4 + 1) % uParm3) * 2] - *pfVar6); - if (fVar8 != 0.00000000) { - if ((uVar4 == 0) || (lVar3 < 0)) { - lVar3 = 0; - if (0.00000000 < fVar8) { - lVar3 = 1; - } - } - else { - if ((lVar3 != 0) && (fVar8 < 0.00000000)) { - return 0; - } - if ((lVar3 == 0) && (0.00000000 < fVar8)) { - return 0; - } - } - } - pfVar1 = pfVar6 + 3; - pfVar2 = pfVar6 + 2; - if (uParm3 == 0) { - trap(0x1c00); - } - if ((uParm3 == 0xffffffff) && (uVar5 == 0x80000000)) { - trap(0x1800); - } - pfVar6 = pfVar6 + 4; - fVar8 = ((pfParm2 + ((int)uVar5 % uParm3) * 2)[1] - *pfVar1) * (*pfParm1 - *pfVar2) - - (pfParm1[2] - *pfVar1) * (pfParm2[((int)uVar5 % uParm3) * 2] - *pfVar2); - if (fVar8 != 0.00000000) { - if ((uVar4 == 0xffffffff) || (lVar3 < 0)) { - lVar3 = 0; - if (0.00000000 < fVar8) { - lVar3 = 1; - } - } - else { - if ((lVar3 != 0) && (fVar8 < 0.00000000)) { - return 0; - } - if ((lVar3 == 0) && (0.00000000 < fVar8)) { - return 0; - } - } - } - uVar4 = uVar5; - } while (uVar5 != uParm3); - } - return 1; -} - - - -void FUN_7f03d048(char *pcParm1,undefined4 *puParm2) - -{ - if (*pcParm1 == '\x03') { - sub_7F023160(); - } - else { - if (*pcParm1 == '\x06') { - FUN_7f08a440(); - } - else { - *puParm2 = 0; - } - } - return; -} - - - -undefined4 FUN_7f03d0a8(char *pcParm1) - -{ - int iVar1; - undefined4 uVar2; - - if (*pcParm1 == '\x03') { - uVar2 = sub_7F023188(); - } - else { - if (*pcParm1 == '\x06') { - iVar1 = FUN_7f09a69c(); - uVar2 = sub_7F089778(*(undefined4 *)(&DAT_800689f0 + iVar1 * 4)); - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -void FUN_7f03d118(char *pcParm1,undefined8 uParm2) - -{ - char cVar1; - - cVar1 = *pcParm1; - if (cVar1 == '\x03') { - loc_7F01F604(*(undefined4 *)(pcParm1 + 4),uParm2,pcParm1); - } - else { - if (cVar1 == '\x06') { - FUN_7f08a208(pcParm1); - } - else { - if (((cVar1 == '\x01') || (cVar1 == '\x02')) || (cVar1 == '\x04')) { - loc_7F04F230(pcParm1); - } - } - } - return; -} - - - -void FUN_7f03d194(void) - -{ - undefined *puVar1; - longlong lVar2; - undefined *puVar3; - undefined8 uVar4; - - lVar2 = FUN_7f07cf4c(); - if ((lVar2 == 0) && (DAT_80031a04 == 0)) { - puVar3 = (undefined *)FUN_7f03a4e4(); - while (puVar3 != NULL) { - uVar4 = 0; - if (*(short *)(puVar3 + 2) < 1) { - if (true) { - switch(*puVar3) { - case 1: - uVar4 = FUN_7f0508c4(puVar3); - break; - case 4: - uVar4 = FUN_7f052834(puVar3,0); - } - } - puVar1 = *(undefined **)(puVar3 + 0x24); - } - else { - puVar1 = *(undefined **)(puVar3 + 0x24); - } - loc_7F03C3EC(puVar3,uVar4); - puVar3 = puVar1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f03d248(int iParm1,undefined4 *puParm2,undefined4 *puParm3,undefined4 *puParm4, - float *pfParm5) - -{ - bool bVar1; - uint uVar2; - longlong lVar3; - float fVar4; - undefined4 uVar5; - float fVar6; - int iStack96; - int iStack92; - float fStack88; - uint uStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - undefined auStack60 [4]; - float fStack56; - undefined auStack52 [4]; - float fStack48; - undefined auStack44 [4]; - float fStack40; - float afStack36 [2]; - float afStack28 [2]; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - float fStack8; - float fStack4; - - fStack64 = (float)FUN_7f078554(); - fVar6 = (float)FUN_7f078534(); - fStack64 = fVar6 * DAT_80048b00 + fStack64; - fStack68 = (float)FUN_7f078554(); - fVar6 = (float)FUN_7f078534(); - fStack68 = fVar6 * DAT_80048b04 + fStack68; - fStack72 = (float)FUN_7f078544(); - fVar6 = (float)FUN_7f078524(); - fStack72 = fVar6 * 0.25000000 + fStack72; - fStack76 = (float)FUN_7f078544(); - fVar6 = (float)FUN_7f078524(); - fStack80 = -2.00000000; - fStack76 = fVar6 * 0.75000000 + fStack76; - FUN_7f078074(puParm2,&fStack8); - uStack20 = *puParm3; - uStack16 = puParm2[1]; - uStack12 = puParm2[2]; - FUN_7f078074(&uStack20,afStack28); - uStack20 = puParm3[1]; - uStack16 = puParm2[1]; - uStack12 = puParm2[2]; - FUN_7f078074(&uStack20,afStack36); - uStack20 = *puParm2; - uStack16 = puParm4[1]; - uStack12 = puParm2[2]; - FUN_7f078074(&uStack20,auStack44); - uStack20 = *puParm2; - uStack16 = *puParm4; - uStack12 = puParm2[2]; - FUN_7f078074(&uStack20,auStack52); - if (fStack48 < fStack64) { - return fStack80; - } - if (fStack68 < fStack40) { - return fStack80; - } - uStack84 = 0; - FUN_7f0687b0(&fStack56,auStack60); - afStack28[0] = (float)sub_GAME_7F05C3D8(afStack28[0]); - afStack36[0] = (float)sub_GAME_7F05C4B8(afStack36[0]); - lVar3 = FUN_7f07c77c(); - if (lVar3 == 0) { - if (afStack28[0] <= fStack56) { - if (fStack56 <= afStack36[0]) { - uStack84 = 1; - uVar2 = uStack84; - } - else { - uStack84 = 0; - uVar2 = uStack84; - } - } - else { - uVar2 = (uint)(afStack28[0] <= fStack56); - } - } - else { - uVar2 = uStack84; - if ((afStack28[0] <= fStack76) && (uVar2 = uStack84, fStack72 <= afStack36[0])) { - fStack88 = (afStack36[0] - afStack28[0]) * 1.50000000; - lVar3 = FUN_7f0999a4(); - if (lVar3 == 1) { - fStack88 = fStack88 * DAT_8002bffc; - } - fVar6 = (float)FUN_7f078524(); - fVar4 = (float)FUN_7f078544(); - bVar1 = (afStack36[0] + afStack28[0]) * 0.50000000 - fStack88 <= fVar4 + fVar6 * 0.50000000; - uVar2 = (uint)bVar1; - if (bVar1) { - fVar6 = (float)FUN_7f078524(); - fVar4 = (float)FUN_7f078544(); - bVar1 = fVar4 + fVar6 * 0.50000000 <= (afStack36[0] + afStack28[0]) * 0.50000000 + fStack88; - uVar2 = (uint)bVar1; - if (((bVar1) && (uVar2 = (uint)(fStack72 <= fStack8), fStack72 <= fStack8)) && - (uVar2 = 0, fStack8 <= fStack76)) { - uVar2 = 1; - } - } - } - } - uStack84 = uVar2; - if (uStack84 == 0) { - return fStack80; - } - iStack92 = FUN_7f089900(); - iStack96 = *(int *)(iStack92 + 0x14); - uVar5 = FUN_7f0898e8(_DAT_80068bc0); - FUN_7f08a208(iStack92,0); - lVar3 = loc_7F0B13B4(&iStack96,*(undefined4 *)(iStack92 + 8),*(undefined4 *)(iStack92 + 0x10), - *(undefined4 *)(iParm1 + 8),*(undefined4 *)(iParm1 + 0x10),0x13,uVar5,uVar5,0 - ,0x3f800000); - if ((lVar3 != 0) && (iStack96 == *(int *)(iParm1 + 0x14))) { - fVar6 = fStack64; - if ((fStack64 <= fStack4) && (fVar6 = fStack68, fStack4 <= fStack68)) { - fVar6 = fStack4; - } - pfParm5[1] = fVar6; - lVar3 = FUN_7f07c77c(); - if (lVar3 != 0) { - fVar6 = fStack72; - if ((fStack8 < fStack72) || (fVar6 = fStack76, fStack76 < fStack8)) { - *pfParm5 = fVar6; - } - else { - *pfParm5 = fStack8; - } - } - fVar6 = (float)FUN_7f078524(); - fVar4 = (float)FUN_7f078544(); - if (afStack28[0] <= fVar4 + fVar6 * 0.50000000) { - fVar6 = (float)FUN_7f078524(); - fVar4 = (float)FUN_7f078544(); - if (fVar4 + fVar6 * 0.50000000 <= afStack36[0]) { - fStack80 = 1.00000000; - goto LAB_7f03d82c; - } - } - fVar6 = (float)FUN_7f078524(); - fVar4 = (float)FUN_7f078544(); - if (afStack28[0] <= fVar4 + fVar6 * 0.50000000) { - fVar6 = (float)FUN_7f078524(); - fVar4 = (float)FUN_7f078544(); - fStack80 = 1.00000000 - ((fVar4 + fVar6 * 0.50000000) - afStack36[0]) / fStack88; - } - else { - fVar6 = (float)FUN_7f078544(); - fVar4 = (float)FUN_7f078524(); - fStack80 = 1.00000000 - (afStack28[0] - (fVar4 * 0.50000000 + fVar6)) / fStack88; - } - } -LAB_7f03d82c: - FUN_7f08a208(iStack92,1); - return fStack80; -} - - - -// WARNING: Instruction at (ram,0x7f03d944) overlaps instruction at (ram,0x7f03d940) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03D9C0(void) - -{ - undefined4 uVar1; - longlong lVar2; - longlong lVar3; - char **ppcVar4; - char *pcVar5; - char *pcVar6; - float fVar7; - float fVar8; - float fStack60; - float fStack56; - undefined auStack48 [8]; - undefined auStack40 [8]; - undefined auStack32 [20]; - float fStack12; - float fStack8; - - pcVar5 = NULL; - fStack12 = DAT_8002c000; - fStack8 = DAT_8002c004; - lVar2 = FUN_7f07c694(); - pcVar6 = pcVar5; - if (lVar2 != 0) { - fVar8 = -1.00000000; - ppcVar4 = (char **)(_DAT_80060d30 + -4); - pcVar6 = pcVar5; - if ((char **)0x8006055f < ppcVar4) { - pcVar6 = *ppcVar4; - do { - if (pcVar6 != NULL) { - if (*pcVar6 == '\x03') { -LAB_7f03d920: - uVar1 = *(undefined4 *)(pcVar6 + 4); - lVar2 = something_with_weaponpos_of_guarddata_hand(uVar1,0); - if ((((lVar2 != 0) || - (lVar2 = something_with_weaponpos_of_guarddata_hand(uVar1,1), lVar2 != 0)) && - (lVar2 = loc_7F023280(pcVar6,auStack32,auStack40,auStack48), lVar2 != 0)) && - (fVar7 = (float)FUN_7f03d248(pcVar6,auStack32,auStack40,auStack48,&fStack60), - fVar8 < fVar7)) { - fStack12 = fStack60; - fStack8 = fStack56; - fVar8 = fVar7; - pcVar5 = pcVar6; - if (1.00000000 <= fVar7) break; - } - } - else { - if ((*pcVar6 == '\x06') && (*(int *)(pcVar6 + 4) != 0)) { - lVar2 = FUN_7f09a69c(pcVar6); - lVar3 = FUN_7f09a690(); - if (lVar3 != lVar2) goto LAB_7f03d920; - } - } - } - ppcVar4 = ppcVar4 + -1; - pcVar6 = pcVar5; - if (ppcVar4 < &DAT_80060560) break; - pcVar6 = *ppcVar4; - } while( true ); - } - } - if (pcVar6 == NULL) { - FUN_7f07c6c4(0,0); - FUN_7f07c79c(0,0); - } - else { - fVar8 = (float)FUN_7f078554(); - fVar7 = (float)FUN_7f078534(); - FUN_7f07c6c4(pcVar6,(fStack8 - fVar8) / (fVar7 * 0.50000000) - 1.00000000); - lVar2 = FUN_7f07c77c(); - if (lVar2 != 0) { - fVar8 = (float)FUN_7f078544(); - fVar7 = (float)FUN_7f078524(); - FUN_7f07c79c(pcVar6,(fStack12 - fVar8) / (fVar7 * 0.50000000) - 1.00000000); - } - } - return; -} - - - -ulonglong locret_7F03DA48(int iParm1) - -{ - int iVar1; - ulonglong uVar2; - - iVar1 = *(int *)(iParm1 + 4); - if (*(float *)(iVar1 + 0xb4) <= 0.00000000) { - uVar2 = 0x1000; - } - else { - uVar2 = 0x4000; - if (*(float *)(iVar1 + 0x84) <= *(float *)(iVar1 + 0xb4)) { - uVar2 = 0x2000; - } - } - if (*(int *)(iVar1 + 0xc) << 2 < 0) { - uVar2 = uVar2 | 0x8000; - } - return uVar2; -} - - - -undefined4 loc_7F03DB60(char *pcParm1,uint uParm2) - -{ - char cVar1; - uint uVar2; - uint uVar3; - undefined4 uVar4; - undefined4 uVar5; - - cVar1 = *pcParm1; - uVar4 = 1; - uVar5 = 1; - if (cVar1 == '\x02') { - if (((uParm2 & 0x100) != 0) && (*(int *)(*(int *)(pcParm1 + 4) + 8) << 5 < 0)) { - uVar4 = 0; - uVar5 = 0; - } - if ((uParm2 & 2) != 0) { - return uVar5; - } - uVar3 = locret_7F03DA48(); - uVar3 &= uParm2; - uVar5 = uVar4; - } - else { - uVar3 = uParm2 & 4; - if (cVar1 != '\x06') { - if (cVar1 == '\x03') { - uVar3 = uParm2 & 8; - } - else { - if (((uParm2 & 0x100) != 0) && (*(int *)(*(int *)(pcParm1 + 4) + 8) << 5 < 0)) { - uVar5 = 0; - } - uVar2 = *(uint *)(*(int *)(pcParm1 + 4) + 8); - if (((uParm2 & 0x200) != 0) && (-1 < (int)(uVar2 << 0xe))) { - uVar5 = 0; - } - uVar3 = uParm2 & 1; - if ((uVar2 & 0x800) != 0) { - uVar3 = uParm2 & 0x10; - } - } - } - } - if (uVar3 == 0) { - uVar5 = 0; - } - return uVar5; -} - - - -undefined8 locret_7F03DBC4(int *piParm1,int *piParm2) - -{ - int iVar1; - int *piVar2; - int iVar3; - - iVar3 = *piParm1; - if (-1 < iVar3) { - iVar1 = *piParm2; - piVar2 = piParm2; - do { - while (-1 < iVar1) { - if (iVar3 == iVar1) { - return 1; - } - iVar1 = piVar2[1]; - piVar2 = piVar2 + 1; - } - iVar3 = piParm1[1]; - piParm1 = piParm1 + 1; - iVar1 = *piParm2; - piVar2 = piParm2; - } while (-1 < iVar3); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f03dc8c(short sParm1,int iParm2) - -{ - short *psVar1; - int iVar2; - short *psVar3; - - psVar1 = (short *)(_DAT_8006055c + iParm2 * 0x20); - if (*psVar1 < 0) { - *psVar1 = sParm1; - return 1; - } - if (psVar1[1] < 0) { - psVar1[1] = sParm1; - return 1; - } - psVar3 = psVar1 + 3; - if (psVar1[2] < 0) { - psVar1[2] = sParm1; - return 1; - } - iVar2 = 6; - while( true ) { - iVar2 += 8; - if (*psVar3 < 0) { - *psVar3 = sParm1; - return 1; - } - if (psVar3[1] < 0) { - psVar3[1] = sParm1; - return 1; - } - if (psVar3[2] < 0) { - psVar3[2] = sParm1; - return 1; - } - if (psVar3[3] < 0) break; - psVar3 = psVar3 + 4; - if (iVar2 == 0x1e) { - return 0; - } - } - psVar3[3] = sParm1; - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f03dd78(int iParm1,longlong lParm2) - -{ - int iVar1; - short *psVar2; - int iVar3; - int iVar4; - - iVar3 = 0; - psVar2 = _DAT_8006055c; - while (*psVar2 != -2) { - iVar3 += 1; - psVar2 = psVar2 + 0x10; - if (iVar3 == 0x100) { - return 0xffffffff; - } - } - iVar4 = 0; - do { - *(undefined2 *)((int)_DAT_8006055c + iVar4 + iVar3 * 0x20) = 0xffff; - *(undefined2 *)((int)_DAT_8006055c + iVar4 + iVar3 * 0x20 + 2) = 0xffff; - *(undefined2 *)((int)_DAT_8006055c + iVar4 + iVar3 * 0x20 + 4) = 0xffff; - iVar1 = iVar4 + iVar3 * 0x20; - iVar4 += 8; - *(undefined2 *)((int)_DAT_8006055c + iVar1 + 6) = 0xffff; - } while (iVar4 != 0x20); - if (-1 < lParm2) { - _DAT_8006055c[(int)lParm2 * 0x10 + 0xf] = (short)iVar3; - return iVar3; - } - *(short *)(_DAT_80060558 + iParm1 * 2) = (short)iVar3; - return iVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03DE80(int iParm1,short sParm2) - -{ - longlong lVar1; - longlong lVar2; - longlong lVar3; - - lVar1 = -1; - if (-1 < sParm2) { - lVar3 = (longlong)*(short *)(_DAT_80060558 + (int)sParm2 * 2); - if (-1 < lVar3) { - lVar2 = lVar1; - do { - lVar1 = lVar3; - lVar3 = FUN_7f03dc8c((short)((iParm1 + 0x7ffa7488) / 0x34),lVar1,lVar2); - if (lVar3 != 0) { - return; - } - lVar3 = (longlong)*(short *)(_DAT_8006055c + (int)lVar1 * 0x20 + 0x1e); - lVar2 = lVar1; - } while (-1 < lVar3); - } - lVar1 = FUN_7f03dd78(sParm2,lVar1); - if (-1 < lVar1) { - FUN_7f03dc8c((short)((iParm1 + 0x7ffa7488) / 0x34),lVar1); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03E128(int iParm1,short sParm2) - -{ - short sVar1; - bool bVar2; - bool bVar3; - longlong lVar4; - int iVar5; - longlong lVar6; - longlong lVar7; - int iVar8; - longlong lVar9; - short *psVar10; - int iVar11; - - bVar3 = false; - if (-1 < (int)sParm2) { - iVar8 = (int)sParm2 * 2; - sVar1 = *(short *)(_DAT_80060558 + iVar8); - lVar4 = (longlong)sVar1; - if (-1 < lVar4) { - lVar6 = (longlong)(int)(short)((iParm1 + 0x7ffa7488) / 0x34); - lVar7 = -1; - do { - psVar10 = (short *)(_DAT_8006055c + (int)sVar1 * 0x20); - bVar2 = false; - iVar5 = (int)lVar4; - if (lVar6 == (longlong)*psVar10) { - *psVar10 = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8006055c + iVar5 * 0x20); -LAB_7f03e00c: - sVar1 = psVar10[1]; - } - else { - if (-1 < (longlong)*psVar10) { - bVar2 = true; - goto LAB_7f03e00c; - } - sVar1 = psVar10[1]; - } - if (lVar6 == (longlong)sVar1) { - psVar10[1] = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8006055c + iVar5 * 0x20); -LAB_7f03e040: - lVar9 = (longlong)psVar10[2]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[2]; - } - else { - if (-1 < (longlong)sVar1) { - bVar2 = true; - goto LAB_7f03e040; - } - lVar9 = (longlong)psVar10[2]; - } - } - if (lVar6 == lVar9) { - psVar10[2] = -1; - bVar3 = true; - } - else { - if ((!bVar2) && (-1 < lVar9)) { - bVar2 = true; - } - } - iVar11 = 6; - do { - psVar10 = (short *)(_DAT_8006055c + iVar5 * 0x20 + iVar11); - if (lVar6 == (longlong)*psVar10) { - *psVar10 = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8006055c + iVar5 * 0x20 + iVar11); -LAB_7f03e0bc: - lVar9 = (longlong)psVar10[1]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[1]; - } - else { - if (-1 < (longlong)*psVar10) { - bVar2 = true; - goto LAB_7f03e0bc; - } - lVar9 = (longlong)psVar10[1]; - } - } - if (lVar6 == lVar9) { - psVar10[1] = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8006055c + iVar5 * 0x20 + iVar11); -LAB_7f03e0f8: - lVar9 = (longlong)psVar10[2]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[2]; - } - else { - if (-1 < lVar9) { - bVar2 = true; - goto LAB_7f03e0f8; - } - lVar9 = (longlong)psVar10[2]; - } - } - if (lVar6 == lVar9) { - psVar10[2] = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8006055c + iVar5 * 0x20 + iVar11); -LAB_7f03e134: - lVar9 = (longlong)psVar10[3]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[3]; - } - else { - if (-1 < lVar9) { - bVar2 = true; - goto LAB_7f03e134; - } - lVar9 = (longlong)psVar10[3]; - } - } - iVar11 += 8; - if (lVar6 == lVar9) { - psVar10[3] = -1; - bVar3 = true; - } - else { - if ((!bVar2) && (-1 < lVar9)) { - bVar2 = true; - } - } - } while (iVar11 != 0x1e); - lVar9 = lVar4; - if (!bVar2) { - iVar11 = iVar5 * 0x20; - *(undefined2 *)(_DAT_8006055c + iVar11) = 0xfffe; - if (lVar7 < 0) { - *(undefined2 *)(_DAT_80060558 + iVar8) = *(undefined2 *)(_DAT_8006055c + iVar11 + 0x1e); - lVar9 = lVar7; - } - else { - *(undefined2 *)(_DAT_8006055c + (int)lVar7 * 0x20 + 0x1e) = - *(undefined2 *)(_DAT_8006055c + iVar11 + 0x1e); - lVar9 = lVar7; - } - } - if (bVar3) { - return; - } - sVar1 = *(short *)(_DAT_8006055c + iVar5 * 0x20 + 0x1e); - lVar4 = (longlong)sVar1; - lVar7 = lVar9; - } while (-1 < lVar4); - } - } - return; -} - - - -void FUN_7f03e1f4(char *pcParm1) - -{ - char cVar1; - - cVar1 = *pcParm1; - if (cVar1 == '\x03') { - sub_7F020D94(*(undefined4 *)(pcParm1 + 4)); - } - else { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - loc_7F056E80(*(undefined4 *)(pcParm1 + 4)); - } - } - return; -} - - - -void loc_7F03E1F8(int iParm1) - -{ - byte bVar1; - int iVar2; - - bVar1 = *(byte *)(iParm1 + 0x2c); - iVar2 = iParm1 + 0x2c; - while (bVar1 != 0xff) { - loc_7F03E128(iParm1,(ushort)bVar1); - bVar1 = *(byte *)(iVar2 + 1); - iVar2 += 1; - } - if ((*(byte *)(iParm1 + 1) & 0x10) == 0) { - *(undefined *)(iParm1 + 0x2c) = 0xff; - } - return; -} - - - -void loc_7F03E260(int iParm1) - -{ - byte bVar1; - int iVar2; - - bVar1 = *(byte *)(iParm1 + 0x2c); - iVar2 = iParm1 + 0x2c; - while (bVar1 != 0xff) { - loc_7F03DE80(iParm1,(ushort)bVar1); - bVar1 = *(byte *)(iVar2 + 1); - iVar2 += 1; - } - return; -} - - - -void loc_7F03E3E0(char *pcParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - char cVar1; - byte bVar2; - uint *puVar3; - uint *puVar4; - char *pcVar5; - int iVar6; - int iStack40; - undefined4 uStack36; - uint auStack32 [8]; - - iVar6 = 0; - if ((pcParm1[1] & 8U) == 0) { - uStack36 = *(undefined4 *)(pcParm1 + 0x14); - iStack40 = 0; - locret_7F0B223C(&uStack36,*(undefined4 *)(pcParm1 + 8),*(undefined4 *)(pcParm1 + 0x10),uParm4, - auStack32,&iStack40,7); - } - else { - cVar1 = *pcParm1; - puVar4 = (uint *)(pcParm1 + 0x2c); - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - iVar6 = *(int *)(pcParm1 + 4); - } - if (((iVar6 != 0) && ((*(uint *)(iVar6 + 100) & 0x80) != 0)) && - ((**(uint **)(iVar6 + 0x6c) & 8) != 0)) { - puVar4 = *(uint **)(iVar6 + 0x6c) + 0x33; - } - iStack40 = 0; - puVar3 = auStack32; - if (*(byte *)puVar4 != 0xff) { - bVar2 = *(byte *)puVar4; - do { - *puVar3 = (uint)bVar2; - bVar2 = *(byte *)((int)puVar4 + 1); - iStack40 += 1; - puVar3 = puVar3 + 1; - puVar4 = (uint *)((int)puVar4 + 1); - } while (bVar2 != 0xff); - } - } - FUN_7f0b9570(uParm2,uParm3,auStack32,&iStack40,7); - iVar6 = 0; - puVar4 = auStack32; - pcVar5 = pcParm1; - if (0 < iStack40) { - while( true ) { - iVar6 += 1; - puVar4 = puVar4 + 1; - pcVar5[0x2c] = (char)auStack32[0]; - if (iStack40 <= iVar6) break; - auStack32[0] = *puVar4; - pcVar5 = pcVar5 + 1; - } - } - pcParm1[iVar6 + 0x2c] = -1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03e4bc(int *piParm1) - -{ - short sVar1; - short *psVar2; - longlong lVar3; - int iVar4; - int iVar5; - short *psVar6; - short sVar7; - - iVar5 = *piParm1; - psVar2 = _DAT_80058b70; - iVar4 = _DAT_8006055c; - while (-1 < iVar5) { - lVar3 = (longlong)*(short *)(_DAT_80060558 + iVar5 * 2); - _DAT_8006055c = iVar4; - if (lVar3 < 0) { - iVar5 = piParm1[1]; - _DAT_8006055c = iVar4; - } - else { - do { - iVar5 = 0; - do { - sVar1 = *(short *)(iVar4 + (int)lVar3 * 0x20 + iVar5); - iVar5 += 2; - if (-1 < sVar1) { - psVar6 = _DAT_80058b70; - if (_DAT_80058b70 < psVar2) { - sVar7 = *_DAT_80058b70; - psVar6 = _DAT_80058b70; - while ((sVar1 != sVar7 && (psVar6 = psVar6 + 1, psVar6 < psVar2))) { - sVar7 = *psVar6; - } - } - if (psVar6 == psVar2) { - *psVar2 = sVar1; - psVar2 = psVar2 + 1; - iVar4 = _DAT_8006055c; - } - } - } while (iVar5 != 0x1e); - lVar3 = (longlong)*(short *)(iVar4 + (int)lVar3 * 0x20 + 0x1e); - } while (-1 < lVar3); - iVar5 = piParm1[1]; - } - piParm1 = piParm1 + 1; - iVar4 = _DAT_8006055c; - } - _DAT_8006055c = iVar4; - *psVar2 = -1; - _DAT_80058b74 = (int)psVar2 + (2 - (int)_DAT_80058b70) >> 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f03e6fc) overlaps instruction at (ram,0x7f03e6f8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03e5b0(void) - -{ - short sVar1; - longlong lVar2; - int iVar3; - int iVar4; - int iVar6; - longlong lVar5; - int iVar7; - int iVar8; - short *psVar9; - short *psVar10; - - iVar3 = 0; - if (0 < DAT_8003d7d4) { - iVar4 = 0; - iVar7 = DAT_8003d7d4; - do { - iVar3 += 1; - sVar1 = *(short *)(_DAT_80060558 + iVar4); - if (-1 < (longlong)sVar1) { - lVar2 = (longlong)sVar1; - lVar5 = (longlong)*(short *)(_DAT_8006055c + (int)sVar1 * 0x20 + 0x1e); - while (-1 < lVar5) { - iVar7 = 0; - do { - iVar6 = (int)lVar5; - psVar10 = (short *)(_DAT_8006055c + (int)lVar2 * 0x20 + iVar7); - iVar7 += 2; - iVar8 = 0; - psVar9 = (short *)(_DAT_8006055c + iVar6 * 0x20); - if (*psVar10 < 0) { - do { - if (-1 < *psVar9) { - *psVar10 = *psVar9; - *(undefined2 *)(_DAT_8006055c + iVar6 * 0x20 + iVar8) = 0xffff; - break; - } - iVar8 += 2; - psVar9 = psVar9 + 1; - } while (iVar8 != 0x1e); - if (iVar8 < 0x1e) { - psVar10 = (short *)(_DAT_8006055c + iVar6 * 0x20 + iVar8); - do { - if (-1 < *psVar10) break; - iVar8 += 2; - psVar10 = psVar10 + 1; - } while (iVar8 < 0x1e); - } - if (iVar8 == 0x1e) { - iVar8 = (int)lVar2 * 0x20; - *(undefined2 *)(_DAT_8006055c + iVar6 * 0x20) = 0xfffe; - *(undefined2 *)(_DAT_8006055c + iVar8 + 0x1e) = - *(undefined2 *)(_DAT_8006055c + iVar6 * 0x20 + 0x1e); - lVar5 = (longlong)*(short *)(_DAT_8006055c + iVar8 + 0x1e); - if (lVar5 < 0) break; - } - } - } while (iVar7 < 0x1e); - iVar7 = DAT_8003d7d4; - if (-1 < lVar5) { - lVar2 = lVar5; - lVar5 = (longlong)*(short *)(_DAT_8006055c + (int)lVar5 * 0x20 + 0x1e); - iVar7 = DAT_8003d7d4; - } - } - } - iVar4 += 2; - } while (iVar3 < iVar7); - } - return; -} - - - -void loc_7F03E708(int iParm1) - -{ - int iVar1; - int iVar2; - - if (((*(uint *)(*(int *)(iParm1 + 4) + 100) & 1) != 0) && (DAT_8002c050 != 0)) { - iVar2 = *(int *)(DAT_8002c050 + 4); - iVar1 = DAT_8002c050; - while( true ) { - if (iParm1 == iVar2) { - if (*(int *)(iVar1 + 8) == 0) { - iVar1 = *(int *)(iVar1 + 0xc); - } - else { - loc_7F055A3C(); - iVar1 = *(int *)(iVar1 + 0xc); - } - } - else { - iVar1 = *(int *)(iVar1 + 0xc); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return; -} - - - -undefined8 loc_7F03E798(int iParm1) - -{ - longlong lVar1; - int iVar2; - int iVar3; - - if (((*(uint *)(iParm1 + 100) & 0x2000) != 0) && (DAT_8002c054 != 0)) { - iVar3 = *(int *)(DAT_8002c054 + 4); - iVar2 = DAT_8002c054; - while( true ) { - if (iParm1 == iVar3) { - if (*(int *)(iVar2 + 8) == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - if (*(int *)(*(int *)(iVar2 + 8) + 0x10) == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - lVar1 = FUN_7f04f11c(); - if (lVar1 != 0) { - return 0; - } - iVar2 = *(int *)(iVar2 + 0xc); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 4); - } - } - return 1; -} - - - -undefined8 FUN_7f03e86c(int iParm1) - -{ - int iVar1; - int iVar2; - - if (((*(uint *)(iParm1 + 0xc) & 0x400) != 0) && (DAT_8002c058 != 0)) { - iVar2 = *(int *)(DAT_8002c058 + 4); - iVar1 = DAT_8002c058; - while( true ) { - if (iParm1 == iVar2) { - iVar2 = *(int *)(iVar1 + 0xc); - if (iVar2 == 0) { - iVar1 = *(int *)(iVar1 + 0x10); - } - else { - if (*(int *)(iVar2 + 0x10) == 0) { - iVar1 = *(int *)(iVar1 + 0x10); - } - else { - if (*(float *)(iVar2 + 0xb4) <= 0.50000000) { - return 0; - } - iVar1 = *(int *)(iVar1 + 0x10); - } - } - } - else { - iVar1 = *(int *)(iVar1 + 0x10); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return 1; -} - - - -void FUN_7f03e8f0(int iParm1) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + 0x10); - FUN_7f0b1c30(*(undefined4 *)(iVar1 + 0x14),*(undefined4 *)(iVar1 + 8), - *(undefined4 *)(iVar1 + 0x10)); - return; -} - - - -undefined4 sub_7F03E864(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0xc); -} - - - -undefined4 sub_7F03E86C(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0x10); -} - - - -undefined4 sub_7F03E874(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0x14); -} - - - -float loc_7F03E90C(int iParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *pfParm2) { - fVar2 = *(float *)(iParm1 + 4); - } - else { - fVar2 = *(float *)(iParm1 + 8); - } - if (0.00000000 <= pfParm2[4]) { - fVar1 = *(float *)(iParm1 + 0xc); - } - else { - fVar1 = *(float *)(iParm1 + 0x10); - } - fVar1 = fVar2 * *pfParm2 + 0.00000000 + fVar1 * pfParm2[4]; - fVar2 = pfParm2[8]; - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(iParm1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(iParm1 + 0x14) * fVar2; -} - - - -float loc_7F03E9AC(int iParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - - if (*pfParm2 <= 0.00000000) { - fVar2 = *(float *)(iParm1 + 4); - } - else { - fVar2 = *(float *)(iParm1 + 8); - } - if (pfParm2[4] <= 0.00000000) { - fVar1 = *(float *)(iParm1 + 0xc); - } - else { - fVar1 = *(float *)(iParm1 + 0x10); - } - fVar1 = fVar2 * *pfParm2 + 0.00000000 + fVar1 * pfParm2[4]; - fVar2 = pfParm2[8]; - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(iParm1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(iParm1 + 0x14) * fVar2; -} - - - -float loc_7F03EA4C(int iParm1,int iParm2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *(float *)(iParm2 + 4)) { - fVar2 = *(float *)(iParm1 + 4); - } - else { - fVar2 = *(float *)(iParm1 + 8); - } - if (0.00000000 <= *(float *)(iParm2 + 0x14)) { - fVar1 = *(float *)(iParm1 + 0xc); - } - else { - fVar1 = *(float *)(iParm1 + 0x10); - } - fVar1 = fVar2 * *(float *)(iParm2 + 4) + 0.00000000 + fVar1 * *(float *)(iParm2 + 0x14); - fVar2 = *(float *)(iParm2 + 0x24); - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(iParm1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(iParm1 + 0x14) * fVar2; -} - - - -float loc_7F03EAEC(int iParm1,int iParm2) - -{ - float fVar1; - float fVar2; - - if (*(float *)(iParm2 + 4) <= 0.00000000) { - fVar2 = *(float *)(iParm1 + 4); - } - else { - fVar2 = *(float *)(iParm1 + 8); - } - if (*(float *)(iParm2 + 0x14) <= 0.00000000) { - fVar1 = *(float *)(iParm1 + 0xc); - } - else { - fVar1 = *(float *)(iParm1 + 0x10); - } - fVar1 = fVar2 * *(float *)(iParm2 + 4) + 0.00000000 + fVar1 * *(float *)(iParm2 + 0x14); - fVar2 = *(float *)(iParm2 + 0x24); - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(iParm1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(iParm1 + 0x14) * fVar2; -} - - - -float loc_7F03EB8C(int iParm1,int iParm2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *(float *)(iParm2 + 8)) { - fVar2 = *(float *)(iParm1 + 4); - } - else { - fVar2 = *(float *)(iParm1 + 8); - } - if (0.00000000 <= *(float *)(iParm2 + 0x18)) { - fVar1 = *(float *)(iParm1 + 0xc); - } - else { - fVar1 = *(float *)(iParm1 + 0x10); - } - fVar1 = fVar2 * *(float *)(iParm2 + 8) + 0.00000000 + fVar1 * *(float *)(iParm2 + 0x18); - fVar2 = *(float *)(iParm2 + 0x28); - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(iParm1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(iParm1 + 0x14) * fVar2; -} - - - -float loc_7F03EC2C(int iParm1,int iParm2) - -{ - float fVar1; - float fVar2; - - if (*(float *)(iParm2 + 8) <= 0.00000000) { - fVar2 = *(float *)(iParm1 + 4); - } - else { - fVar2 = *(float *)(iParm1 + 8); - } - if (*(float *)(iParm2 + 0x18) <= 0.00000000) { - fVar1 = *(float *)(iParm1 + 0xc); - } - else { - fVar1 = *(float *)(iParm1 + 0x10); - } - fVar1 = fVar2 * *(float *)(iParm2 + 8) + 0.00000000 + fVar1 * *(float *)(iParm2 + 0x18); - fVar2 = *(float *)(iParm2 + 0x28); - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(iParm1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(iParm1 + 0x14) * fVar2; -} - - - -// WARNING: Instruction at (ram,0x7f03f4d8) overlaps instruction at (ram,0x7f03f4d4) -// - -void locret_7F03F538(float fParm1,undefined8 uParm2,undefined8 uParm3,float fParm4,undefined8 uParm5 - ,float fParm6,undefined4 uParm7,float *pfParm8,float *pfParm9,uint *puParm10) - -{ - int *piVar1; - int iVar2; - uint uVar3; - int iVar4; - double *pdVar5; - int iVar6; - int iVar7; - int iVar8; - uint uVar9; - double *pdVar10; - uint uVar11; - double *pdVar12; - double *pdVar13; - float *pfVar14; - float *pfVar15; - double *pdVar16; - int iVar17; - double dVar18; - double dVar19; - float fVar20; - float fVar21; - int aiStack176 [4]; - int aiStack160 [8]; - double adStack128 [16]; - - pdVar13 = adStack128; - iVar7 = 0; - pdVar12 = adStack128; - iVar4 = 0; - pdVar10 = adStack128; - iVar8 = 0; - pdVar16 = adStack128; - iVar17 = 0; - dVar19 = (double)*pfParm8 * (double)fParm1 + (double)pfParm8[4] * (double)fParm4 + - (double)pfParm8[8] * (double)fParm6; - pdVar5 = adStack128; - iVar2 = 1; - do { - pdVar5 = pdVar5 + 2; - if ((*pdVar5 < dVar19) || ((*pdVar5 == dVar19 && (pdVar5[1] < pdVar13[1])))) { - pdVar13 = adStack128 + iVar2 * 2; - dVar19 = *pdVar13; - iVar17 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((pdVar12[1] < pdVar5[1]) || ((pdVar5[1] == pdVar12[1] && (*pdVar5 < *pdVar12)))) { - pdVar12 = adStack128 + iVar2 * 2; - iVar7 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((*pdVar10 < *pdVar5) || ((*pdVar5 == *pdVar10 && (pdVar10[1] < pdVar5[1])))) { - pdVar10 = adStack128 + iVar2 * 2; - iVar4 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((pdVar5[1] < pdVar16[1]) || ((pdVar5[1] == pdVar16[1] && (*pdVar16 < *pdVar5)))) { - pdVar16 = adStack128 + iVar2 * 2; - iVar8 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar6 = 0; - iVar2 = 0; - do { - if ((((iVar2 != iVar17) && (iVar2 != iVar4)) && (iVar2 != iVar7)) && (iVar2 != iVar8)) { - aiStack176[iVar6] = iVar2; - iVar6 += 1; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar8 = 1; - piVar1 = aiStack176; - *pfParm9 = (float)dVar19; - pfParm9[1] = (float)pdVar13[1]; - dVar19 = *pdVar16; - iVar17 = aiStack176[0]; - while (dVar18 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar16[1]) * (*pdVar13 - dVar19) <= - (dVar18 - dVar19) * (pdVar13[1] - pdVar16[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f25c; - iVar17 = *piVar1; - } - iVar8 = 2; - pfParm9[2] = (float)dVar18; - pfParm9[3] = (float)adStack128[iVar17 * 2 + 1]; - dVar19 = *pdVar16; -LAB_7f03f25c: - pfVar15 = pfParm9 + iVar8 * 2; - pfVar14 = pfVar15 + 2; - *pfVar15 = (float)dVar19; - iVar7 = iVar8 + 1; - piVar1 = aiStack176; - pfVar15[1] = (float)pdVar16[1]; - dVar19 = *pdVar10; - iVar17 = aiStack176[0]; - while (dVar18 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar10[1]) * (*pdVar16 - dVar19) <= - (dVar18 - dVar19) * (pdVar16[1] - pdVar10[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f30c; - iVar17 = *piVar1; - } - iVar7 = iVar8 + 2; - pfVar14 = pfVar15 + 4; - pfVar15[2] = (float)dVar18; - pfVar15[3] = (float)adStack128[iVar17 * 2 + 1]; - dVar19 = *pdVar10; -LAB_7f03f30c: - iVar8 = iVar7 + 1; - pfVar15 = pfVar14 + 2; - piVar1 = aiStack176; - *pfVar14 = (float)dVar19; - pfVar14[1] = (float)pdVar10[1]; - dVar19 = *pdVar12; - iVar17 = aiStack176[0]; - while (dVar18 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar12[1]) * (*pdVar10 - dVar19) <= - (dVar18 - dVar19) * (pdVar10[1] - pdVar12[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f3b4; - iVar17 = *piVar1; - } - iVar8 = iVar7 + 2; - pfVar15 = pfVar14 + 4; - pfVar14[2] = (float)dVar18; - pfVar14[3] = (float)adStack128[iVar17 * 2 + 1]; - dVar19 = *pdVar12; -LAB_7f03f3b4: - uVar9 = iVar8 + 1; - piVar1 = aiStack176; - *pfVar15 = (float)dVar19; - pfVar15[1] = (float)pdVar12[1]; - while (dVar19 = adStack128[aiStack176[0] * 2], - (adStack128[aiStack176[0] * 2 + 1] - pdVar13[1]) * (*pdVar12 - *pdVar13) <= - (dVar19 - *pdVar13) * (pdVar12[1] - pdVar13[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f45c; - aiStack176[0] = *piVar1; - } - uVar9 = iVar8 + 2; - pfVar15[2] = (float)dVar19; - pfVar15[3] = (float)adStack128[aiStack176[0] * 2 + 1]; -LAB_7f03f45c: - *puParm10 = uVar9; - if (uVar9 != 0) { - uVar11 = uVar9 & 3; - if (uVar11 == 0) { - iVar17 = 0; - } - else { - uVar3 = 1; - fVar21 = *pfParm9; - pfVar15 = pfParm9; - pfVar14 = pfParm9; - if (uVar11 != 1) { - do { - uVar3 += 1; - fVar20 = fVar21 + pfParm8[0xc]; - fVar21 = pfVar14[2]; - pfVar15 = pfVar14 + 2; - *pfVar14 = fVar20; - pfVar14[1] = pfVar14[1] + pfParm8[0xe]; - pfVar14 = pfVar15; - } while (uVar11 != uVar3); - } - *pfVar15 = fVar21 + pfParm8[0xc]; - pfVar15[1] = pfVar15[1] + pfParm8[0xe]; - iVar17 = uVar3 << 3; - if (uVar3 == uVar9) { - return; - } - } - fVar21 = *(float *)((int)pfParm9 + iVar17); - pfVar15 = (float *)((int)pfParm9 + iVar17); - while (pfVar14 = pfVar15 + 8, pfVar14 != pfParm9 + uVar9 * 2) { - *pfVar15 = fVar21 + pfParm8[0xc]; - fVar21 = *pfVar14; - pfVar15[1] = pfVar15[1] + pfParm8[0xe]; - pfVar15[2] = pfVar15[2] + pfParm8[0xc]; - pfVar15[3] = pfVar15[3] + pfParm8[0xe]; - pfVar15[4] = pfVar15[4] + pfParm8[0xc]; - pfVar15[5] = pfVar15[5] + pfParm8[0xe]; - pfVar15[6] = pfVar15[6] + pfParm8[0xc]; - pfVar15[7] = pfVar15[7] + pfParm8[0xe]; - pfVar15 = pfVar14; - } - *pfVar15 = fVar21 + pfParm8[0xc]; - pfVar15[1] = pfVar15[1] + pfParm8[0xe]; - pfVar15[2] = pfVar15[2] + pfParm8[0xc]; - pfVar15[3] = pfVar15[3] + pfParm8[0xe]; - pfVar15[4] = pfVar15[4] + pfParm8[0xc]; - pfVar15[5] = pfVar15[5] + pfParm8[0xe]; - pfVar15[6] = pfVar15[6] + pfParm8[0xc]; - pfVar15[7] = pfVar15[7] + pfParm8[0xe]; - } - return; -} - - - -void sub_7F03F540(int iParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - locret_7F03F538(*(undefined4 *)(iParm1 + 4),*(undefined4 *)(iParm1 + 8),iParm1,uParm2, - *(undefined4 *)(iParm1 + 0xc),*(undefined4 *)(iParm1 + 0x10), - *(undefined4 *)(iParm1 + 0x14),*(undefined4 *)(iParm1 + 0x18),uParm2,uParm3,uParm4 - ); - return; -} - - - -undefined8 loc_7F03F73C(float *pfParm1,float fParm2,float *pfParm3) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar2 = *pfParm1 - *pfParm3; - fVar3 = pfParm1[1] - pfParm3[1]; - fVar4 = pfParm1[2] - pfParm3[2]; - fVar5 = pfParm3[8] * fVar4 + fVar2 * pfParm3[6] + fVar3 * pfParm3[7]; - if ((pfParm3[0x10] + fParm2 < fVar5) || (fVar5 < pfParm3[0xf] - fParm2)) { - uVar1 = 0; - } - else { - fVar5 = pfParm3[5] * fVar4 + fVar2 * pfParm3[3] + fVar3 * pfParm3[4]; - if ((pfParm3[0xe] + fParm2 < fVar5) || (fVar5 < pfParm3[0xd] - fParm2)) { - uVar1 = 0; - } - else { - fVar2 = (pfParm3[3] * pfParm3[7] - pfParm3[6] * pfParm3[4]) * fVar4 + - fVar2 * (pfParm3[4] * pfParm3[8] - pfParm3[7] * pfParm3[5]) + - fVar3 * (pfParm3[5] * pfParm3[6] - pfParm3[8] * pfParm3[3]); - if ((pfParm3[0xc] + fParm2 < fVar2) || (uVar1 = 1, fVar2 < pfParm3[0xb] - fParm2)) { - uVar1 = 0; - } - } - } - return uVar1; -} - - - -void loc_7F03F8D8(int iParm1,float *pfParm2,float *pfParm3,longlong lParm4) - -{ - ushort uVar1; - undefined4 uVar2; - ushort *puVar3; - bool bVar4; - int iVar5; - ushort *puVar6; - float fVar7; - float fVar8; - - puVar6 = **(ushort ***)(iParm1 + 8); - bVar4 = true; - if (puVar6 != NULL) { - uVar1 = *puVar6; - while( true ) { - if ((uVar1 & 0xff) == 10) { - uVar2 = *(undefined4 *)(puVar6 + 2); - iVar5 = FUN_7f06cd98(iParm1,puVar6,0); - if (lParm4 == 0) { - fVar8 = (float)loc_7F03E9AC(uVar2,iVar5); - fVar8 = *(float *)(iVar5 + 0x30) + fVar8; - fVar7 = (float)loc_7F03E90C(uVar2,iVar5); - fVar7 = *(float *)(iVar5 + 0x30) + fVar7; - } - else { - if (lParm4 == 1) { - fVar8 = (float)loc_7F03EAEC(uVar2,iVar5); - fVar8 = *(float *)(iVar5 + 0x34) + fVar8; - fVar7 = (float)loc_7F03EA4C(uVar2,iVar5); - fVar7 = *(float *)(iVar5 + 0x34) + fVar7; - } - else { - fVar8 = (float)loc_7F03EC2C(uVar2,iVar5); - fVar8 = *(float *)(iVar5 + 0x38) + fVar8; - fVar7 = (float)loc_7F03EB8C(uVar2,iVar5); - fVar7 = *(float *)(iVar5 + 0x38) + fVar7; - } - } - if ((bVar4) || (*pfParm2 < fVar8)) { - *pfParm2 = fVar8; - } - if ((bVar4) || (fVar7 < *pfParm3)) { - *pfParm3 = fVar7; - } - puVar3 = *(ushort **)(puVar6 + 10); - bVar4 = false; - } - else { - puVar3 = *(ushort **)(puVar6 + 10); - } - if ((puVar3 == NULL) && (puVar3 = puVar6, puVar6 != NULL)) { - puVar3 = *(ushort **)(puVar6 + 6); - while ((puVar3 == NULL && - (puVar6 = *(ushort **)(puVar6 + 4), puVar3 = puVar6, puVar6 != NULL))) { - puVar3 = *(ushort **)(puVar6 + 6); - } - } - puVar6 = puVar3; - if (puVar6 == NULL) break; - uVar1 = *puVar6; - } - } - return; -} - - - -void FUN_7f03f9cc(undefined4 uParm1,undefined8 uParm2,undefined8 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - loc_7F03F8D8(); - loc_7F03F8D8(uParm1,uParm4,uParm5,1); - return; -} - - - -void sub_7F03F948(undefined4 *puParm1,undefined4 *puParm2,undefined4 *puParm3,undefined4 *puParm4, - undefined4 *puParm5) - -{ - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack12 = *puParm2; - uStack8 = puParm1[1]; - uStack4 = puParm1[2]; - FUN_7f078074(&uStack12,&uStack20); - *puParm4 = uStack20; - uStack12 = puParm2[1]; - uStack8 = puParm1[1]; - uStack4 = puParm1[2]; - FUN_7f078074(&uStack12,&uStack20); - *puParm5 = uStack20; - uStack12 = *puParm1; - uStack8 = puParm3[1]; - uStack4 = puParm1[2]; - FUN_7f078074(&uStack12,&uStack20); - puParm4[1] = uStack16; - uStack12 = *puParm1; - uStack8 = *puParm3; - uStack4 = puParm1[2]; - FUN_7f078074(&uStack12,&uStack20); - puParm5[1] = uStack16; - return; -} - - - -int FUN_7f03fb04(short sParm1) - -{ - char cVar1; - char *pcVar2; - - pcVar2 = (char *)FUN_7f03a4e4(); - if (pcVar2 != NULL) { - cVar1 = *pcVar2; - while( true ) { - if (cVar1 == '\x01') { - if ((longlong)(int)sParm1 == (longlong)*(short *)(*(int *)(pcVar2 + 4) + 6)) { - return *(int *)(pcVar2 + 4); - } - pcVar2 = *(char **)(pcVar2 + 0x24); - } - else { - pcVar2 = *(char **)(pcVar2 + 0x24); - } - if (pcVar2 == NULL) break; - cVar1 = *pcVar2; - } - } - return 0; -} - - - -undefined4 loc_7F03FB4C(undefined8 uParm1,ulonglong uParm2) - -{ - char cVar1; - longlong lVar2; - char *pcVar3; - undefined4 uStack12; - undefined4 auStack8 [2]; - - pcVar3 = (char *)FUN_7f03a4e4(); - if (pcVar3 != NULL) { - cVar1 = *pcVar3; - while( true ) { - if (cVar1 == '\x01') { - if (uParm2 == (ulonglong)*(byte *)(*(int *)(pcVar3 + 0x14) + 3)) { - FUN_7f03cd70(pcVar3,auStack8,&uStack12); - lVar2 = loc_7F03CF7C(uParm1,auStack8[0],uStack12); - if (lVar2 != 0) { - return *(undefined4 *)(pcVar3 + 4); - } - pcVar3 = *(char **)(pcVar3 + 0x24); - } - else { - pcVar3 = *(char **)(pcVar3 + 0x24); - } - } - else { - pcVar3 = *(char **)(pcVar3 + 0x24); - } - if (pcVar3 == NULL) break; - cVar1 = *pcVar3; - } - } - return 0; -} - - - -void loc_7F03FBDC(uint *puParm1) - -{ - longlong lVar1; - uint uVar2; - - if ((*puParm1 & 0x80) == 0) { - uVar2 = *puParm1; - } - else { - if (puParm1[0x26] == 0) { - uVar2 = puParm1[0x27]; - } - else { - lVar1 = locret_70008E00(); - if (lVar1 == 0) { - uVar2 = puParm1[0x27]; - } - else { - loc_7000905C(puParm1[0x26]); - uVar2 = puParm1[0x27]; - } - } - if (uVar2 == 0) { - uVar2 = *puParm1; - } - else { - lVar1 = locret_70008E00(); - if (lVar1 == 0) { - uVar2 = *puParm1; - } - else { - loc_7000905C(puParm1[0x27]); - uVar2 = *puParm1; - } - } - } - *puParm1 = uVar2 | 0x80000000; - return; -} - - - -void sub_7F03FBFC(undefined4 *puParm1) - -{ - undefined4 uVar1; - - *puParm1 = 0; - puParm1[0x22] = 0; - puParm1[1] = 0; - puParm1[2] = 0; - puParm1[3] = 0; - puParm1[4] = 0; - puParm1[5] = 0; - puParm1[6] = 0; - puParm1[7] = 0; - puParm1[0x18] = 0x3f800000; - uVar1 = DAT_80048b88; - puParm1[0x24] = 0; - puParm1[0x28] = 0xffffffff; - puParm1[0x29] = 0; - puParm1[0x2a] = 0; - puParm1[0x2b] = 0xffffffff; - puParm1[0x2e] = 1; - puParm1[0x2f] = 0; - puParm1[0x38] = 0; - puParm1[0x39] = 0; - puParm1[0x3a] = 0; - puParm1[0x25] = 0; - puParm1[0x30] = 0x3f800000; - puParm1[0x31] = 0x3f800000; - puParm1[0x32] = 0x3f800000; - puParm1[0x23] = uVar1; - return; -} - - - -undefined * FUN_7f03fd40(void) - -{ - uint uVar1; - uint *puVar2; - undefined *puVar3; - int iVar4; - int iVar5; - - iVar5 = -1; - puVar2 = (uint *)&DAT_80062d00; - iVar4 = 0; - do { - uVar1 = *puVar2; - puVar2 = puVar2 + 0x3b; - if ((uVar1 & 0x80000000) != 0) { - sub_7F03FBFC(); - return &DAT_80062d00 + iVar4; - } - iVar4 += 0xec; - } while (puVar2 < &DAT_80063f70); - puVar3 = &DAT_80062d00; - iVar4 = 0; - do { - if ((*(int *)(puVar3 + 0xe4) != 0) && - ((iVar5 < 0 || (*(int *)(puVar3 + 0xe8) < *(int *)(&DAT_80062de8 + iVar5 * 0xec))))) { - iVar5 = iVar4; - } - iVar4 += 1; - puVar3 = puVar3 + 0xec; - } while (iVar4 != 0x14); - puVar3 = NULL; - if (-1 < iVar5) { - iVar5 *= 0xec; - loc_7F040D8C(*(undefined4 *)(*(int *)(&DAT_80062de4 + iVar5) + 0x10)); - puVar3 = &DAT_80062d00 + iVar5; - *(uint *)(*(int *)(&DAT_80062de4 + iVar5) + 100) = - *(uint *)(*(int *)(&DAT_80062de4 + iVar5) + 100) | 4; - sub_7F03FBFC(); - } - return puVar3; -} - - - -void FUN_7f03fe68(int iParm1) - -{ - int iVar1; - undefined4 uVar3; - longlong lVar2; - - iVar1 = *(int *)(iParm1 + 4); - if ((*(uint *)(iVar1 + 100) & 0x40) == 0) { - if ((*(uint *)(iVar1 + 100) & 0x80) == 0) { - lVar2 = FUN_7f03fd40(); - *(undefined4 *)(iVar1 + 0x6c) = (int)lVar2; - if (lVar2 != 0) { - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 0x80; - } - } - } - else { - uVar3 = FUN_7f03fd40(); - *(undefined4 *)(*(int *)(iVar1 + 0x6c) + 0x44) = uVar3; - } - return; -} - - - -void locret_7F03FE80(int iParm1) - -{ - undefined uVar1; - int iVar2; - uint *puVar3; - - iVar2 = *(int *)(iParm1 + 4); - puVar3 = NULL; - if ((*(uint *)(iVar2 + 100) & 0x40) == 0) { - if ((*(uint *)(iVar2 + 100) & 0x80) != 0) { - puVar3 = *(uint **)(iVar2 + 0x6c); - } - } - else { - puVar3 = *(uint **)(*(int *)(iVar2 + 0x6c) + 0x44); - } - if (puVar3 != NULL) { - *puVar3 = *puVar3 | 4; - if (*(int *)(iParm1 + 0x14) != 0) { - uVar1 = *(undefined *)(*(int *)(iParm1 + 0x14) + 3); - *(undefined *)((int)puVar3 + 0xcd) = 0xff; - *(undefined *)(puVar3 + 0x33) = uVar1; - return; - } - *(undefined *)(puVar3 + 0x33) = 0xff; - } - return; -} - - - -void sub_7F03FE88(uint *puParm1) - -{ - *puParm1 = *puParm1 | 1; - return; -} - - - -undefined * FUN_7f03ff58(void) - -{ - int iVar1; - uint *puVar2; - - puVar2 = (uint *)&DAT_80063f70; - iVar1 = 0; - while( true ) { - if ((*puVar2 & 1) != 0) { - *puVar2 = 0; - puVar2[0x11] = 0; - return &DAT_80063f70 + iVar1; - } - if ((puVar2[0x12] & 1) != 0) { - puVar2[0x12] = 0; - puVar2[0x23] = 0; - return &DAT_80063fb8 + iVar1; - } - if ((puVar2[0x24] & 1) != 0) { - puVar2[0x24] = 0; - puVar2[0x35] = 0; - return &DAT_80064000 + iVar1; - } - if ((puVar2[0x36] & 1) != 0) break; - puVar2 = puVar2 + 0x48; - iVar1 += 0x120; - if (puVar2 == (uint *)&DAT_80064ab0) { - return (undefined *)0; - } - } - puVar2[0x36] = 0; - puVar2[0x47] = 0; - return &DAT_80064048 + iVar1; -} - - - -int loc_7F03FFA0(int iParm1) - -{ - if ((*(byte *)(iParm1 + 2) & 0x80) != 0) { - return (int)(*(float *)(iParm1 + 0x70) + 4.00000000); - } - return (int)((*(float *)(iParm1 + 0x70) * 3.00000000) / *(float *)(iParm1 + 0x74)); -} - - - -int loc_7F03FFDC(int iParm1) - -{ - if ((*(byte *)(iParm1 + 2) & 0x80) != 0) { - return ((int)*(float *)(iParm1 + 0x70) >> 2) + 1; - } - return 0; -} - - - -undefined4 locret_7F040070(int *piParm1) - -{ - short sVar1; - short *psVar2; - short *psVar3; - - psVar3 = *(short **)(*piParm1 + 0x14); - if (psVar3 != NULL) { - if (psVar3 != NULL) { - sVar1 = *psVar3; - psVar2 = psVar3; - while( true ) { - if (sVar1 == 10) { - return *(undefined4 *)(psVar2 + 2); - } - psVar2 = *(short **)(psVar2 + 6); - if (psVar2 == NULL) break; - sVar1 = *psVar2; - } - } - psVar3 = *(short **)(psVar3 + 10); - if ((psVar3 != NULL) && (psVar3 != NULL)) { - sVar1 = *psVar3; - while( true ) { - if (sVar1 == 10) { - return *(undefined4 *)(psVar3 + 2); - } - psVar3 = *(short **)(psVar3 + 6); - if (psVar3 == NULL) break; - sVar1 = *psVar3; - } - } - } - return 0; -} - - - -void FUN_7f040138(int iParm1) - -{ - locret_7F040070(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 8)); - return; -} - - - -void loc_7F04028C(int iParm1,byte *pbParm2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - int iVar4; - float fVar5; - uint uVar6; - int iVar7; - ulonglong uVar8; - byte *pbVar9; - uint uVar10; - float fVar11; - byte bVar12; - - copy_tile_RGB_as_24bit - (*(undefined4 *)(iParm1 + 0x14),*(undefined4 *)(iParm1 + 8), - *(undefined4 *)(iParm1 + 0x10)); - bVar1 = pbParm2[2]; - bVar2 = *pbParm2; - bVar3 = pbParm2[1]; - fVar11 = (float)(0xff - ((int)((uint)bVar1 * 0x14 + (uint)bVar1 + - ((uint)bVar2 * 0x50 - (uint)bVar2) + - ((uint)bVar3 * 0x28 - (uint)bVar3) * 4) >> 8)) * 0.75000000; - if (false) { - fVar5 = ROUND(fVar11); - } - else { - fVar5 = FLOOR(fVar11); - } - bVar12 = (byte)(int)fVar5; - if (false) { - if (false) { - fVar11 = ROUND(fVar11 - 2147483648.00000000); - } - else { - fVar11 = FLOOR(fVar11 - 2147483648.00000000); - } - if (true) { - bVar12 = (byte)(int)fVar11; - goto LAB_7f040278; - } - } - else { - if (-1 < (int)fVar5) goto LAB_7f040278; - } - bVar12 = 0xff; -LAB_7f040278: - pbParm2[3] = bVar12; - uVar10 = (uint)(bVar3 <= bVar2); - uVar6 = (uint)(bVar3 > bVar2); - pbVar9 = pbParm2 + uVar6; - uVar8 = (ulonglong)*pbVar9; - if (uVar8 < (ulonglong)bVar1) { - pbVar9 = pbParm2 + 2; - uVar8 = (ulonglong)*pbVar9; - } - else { - if ((ulonglong)pbParm2[uVar10] < (ulonglong)bVar1) { - uVar6 = 2; - } - else { - uVar6 = uVar10; - uVar10 = 2; - } - } - if (uVar8 != 0) { - bVar1 = pbParm2[uVar10]; - bVar2 = pbParm2[uVar6]; - pbParm2[uVar10] = 0; - iVar7 = (int)uVar8 - (uint)bVar1; - iVar4 = (uint)bVar2 * iVar7; - pbParm2[uVar6] = (byte)(iVar4 / (int)uVar8); - *pbVar9 = (byte)iVar7; - if (uVar8 == 0) { - trap(0x1c00); - } - if ((uVar8 == 0xffffffffffffffff) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - bVar3 = pbParm2[1]; - bVar2 = *pbParm2; - bVar1 = pbParm2[2]; - } - *pbParm2 = bVar2 >> 1; - pbParm2[1] = bVar3 >> 1; - pbParm2[2] = bVar1 >> 1; - return; -} - - - -void FUN_7f040374(int iParm1,byte *pbParm2) - -{ - if ((*(uint *)(*(int *)(iParm1 + 4) + 8) & 0x400) == 0) { - loc_7F04028C(); - *pbParm2 = *pbParm2 >> 1; - pbParm2[1] = pbParm2[1] >> 1; - pbParm2[2] = pbParm2[2] >> 1; - } - return; -} - - - -void sub_7F040310(byte *pbParm1,byte *pbParm2) - -{ - *pbParm1 = *pbParm1 + (char)((int)(((uint)*pbParm2 - (uint)*pbParm1) + 7) >> 3); - pbParm1[1] = pbParm1[1] + (char)((int)(((uint)pbParm2[1] - (uint)pbParm1[1]) + 7) >> 3); - pbParm1[2] = pbParm1[2] + (char)((int)(((uint)pbParm2[2] - (uint)pbParm1[2]) + 7) >> 3); - pbParm1[3] = pbParm1[3] + (char)((int)(((uint)pbParm2[3] - (uint)pbParm1[3]) + 7) >> 3); - return; -} - - - -void locret_7F04047C(int *piParm1,longlong lParm2,float *pfParm3) - -{ - if (lParm2 == 1) { - *pfParm3 = *pfParm3 * 255.00000000; - pfParm3[1] = pfParm3[1] * 255.00000000; - pfParm3[2] = pfParm3[2] * 255.00000000; - *piParm1 = (int)(pfParm3[3] * (*pfParm3 - (float)*piParm1) + (float)*piParm1); - piParm1[1] = (int)(pfParm3[3] * (pfParm3[1] - (float)piParm1[1]) + (float)piParm1[1]); - piParm1[2] = (int)(pfParm3[3] * (pfParm3[2] - (float)piParm1[2]) + (float)piParm1[2]); - piParm1[3] = (int)(pfParm3[3] * (255.00000000 - (float)piParm1[3]) + (float)piParm1[3]); - } - return; -} - - - -void FUN_7f040544(int iParm1) - -{ - float fVar1; - undefined auStack68 [64]; - undefined4 uStack4; - - if (*(int *)(iParm1 + 0x68) != 0) { - uStack4 = FUN_7f040138(); - loc_7F058030(iParm1 + 0x18,auStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iParm1 + 0x58,auStack68); - sub_7F03F540(uStack4,auStack68,*(int *)(iParm1 + 0x68) + 4); - fVar1 = (float)loc_7F03EA4C(uStack4,auStack68); - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) = fVar1 + *(float *)(iParm1 + 0x5c); - fVar1 = (float)loc_7F03EAEC(uStack4,auStack68); - *(float *)(*(int *)(iParm1 + 0x68) + 0x44) = fVar1 + *(float *)(iParm1 + 0x5c); - if (*(char *)(iParm1 + 3) == '(') { - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) = - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) - 200.00000000; - } - } - return; -} - - - -undefined * loc_7F0406E4(int iParm1,undefined4 uParm2,undefined *puParm3,int iParm4) - -{ - undefined4 unaff_100001fd; - int unaff_10000205; - undefined4 uVar1; - - if (puParm3 == NULL) { - puParm3 = (undefined *)FUN_7f03a4f0(); - uParm2 = unaff_100001fd; - iParm4 = unaff_10000205; - } - if (iParm4 == 0) { - if (*(char *)(iParm1 + 3) == '(') { - iParm4 = FUN_7f06c97c(uParm2); - } - else { - iParm4 = FUN_7f06c7d4(uParm2); - } - } - if ((puParm3 == NULL) || (iParm4 == 0)) { - if (iParm4 != 0) { - if (*(char *)(iParm1 + 3) == '(') { - FUN_7f06cb38(iParm4); - } - else { - FUN_7f06c974(iParm4); - } - } - if (puParm3 != NULL) { - FUN_7f03a544(puParm3); - puParm3 = NULL; - } - } - else { - *(int *)(iParm1 + 0x14) = iParm4; - *(undefined4 *)(iParm1 + 0x68) = 0; - if ((*(uint *)(iParm1 + 8) & 0x100) == 0) { - *(byte *)(iParm1 + 2) = *(byte *)(iParm1 + 2) & 0xf7; - } - else { - uVar1 = FUN_70008b80(0x50,4); - *(undefined4 *)(iParm1 + 0x68) = uVar1; - *(byte *)(iParm1 + 2) = *(byte *)(iParm1 + 2) | 8; - } - *(undefined **)(iParm1 + 0x10) = puParm3; - *(undefined4 *)(iParm1 + 0x6c) = 0; - *(undefined *)(iParm1 + 0x78) = 0; - *(undefined *)(iParm1 + 0x79) = 0; - *(undefined *)(iParm1 + 0x7a) = 0; - *(undefined *)(iParm1 + 0x7b) = 0; - *(undefined *)(iParm1 + 0x7c) = 0; - *(undefined *)(iParm1 + 0x7d) = 0; - *(undefined *)(iParm1 + 0x7e) = 0; - *(undefined *)(iParm1 + 0x7f) = 0; - *(undefined4 *)(iParm1 + 0x70) = 0; - **(undefined2 **)(iParm1 + 0x14) = 0xffff; - *(undefined4 *)(*(int *)(iParm1 + 0x14) + 4) = 0; - set_obj_instance_controller_scale - (*(undefined4 *)(iParm1 + 0x14),(&DAT_80034d90)[(int)*(short *)(iParm1 + 4) * 3]); - *puParm3 = 1; - *(int *)(puParm3 + 4) = iParm1; - *(undefined4 *)(puParm3 + 8) = 0; - *(undefined4 *)(iParm1 + 0x58) = 0; - *(undefined4 *)(puParm3 + 0xc) = 0; - *(undefined4 *)(iParm1 + 0x5c) = 0; - *(undefined4 *)(puParm3 + 0x10) = 0; - *(undefined4 *)(iParm1 + 0x60) = 0; - *(undefined4 *)(puParm3 + 0x14) = 0; - } - return puParm3; -} - - - -void FUN_7f0407b8(undefined8 uParm1,undefined8 uParm2) - -{ - loc_7F0406E4(uParm1,uParm2,0,0); - return; -} - - - -void FUN_7f0407dc(int iParm1) - -{ - FUN_7f0407b8(iParm1,(&PTR_DAT_80034d88)[(int)*(short *)(iParm1 + 4) * 3]); - return; -} - - - -void sub_7F040754(int iParm1,undefined4 *puParm2,undefined8 uParm3,undefined4 uParm4) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = *(int *)(iParm1 + 0x10); - loc_7F058030(uParm3,iParm1 + 0x18); - uVar2 = *puParm2; - *(undefined4 *)(iVar1 + 8) = uVar2; - *(undefined4 *)(iParm1 + 0x58) = uVar2; - uVar2 = puParm2[1]; - *(undefined4 *)(iVar1 + 0xc) = uVar2; - *(undefined4 *)(iParm1 + 0x5c) = uVar2; - uVar2 = puParm2[2]; - *(undefined4 *)(iVar1 + 0x10) = uVar2; - *(undefined4 *)(iParm1 + 0x60) = uVar2; - *(undefined4 *)(iVar1 + 0x14) = uParm4; - FUN_7f040374(*(undefined4 *)(iParm1 + 0x10),iParm1 + 0x7c); - *(undefined *)(iParm1 + 0x78) = *(undefined *)(iParm1 + 0x7c); - *(undefined *)(iParm1 + 0x79) = *(undefined *)(iParm1 + 0x7d); - *(undefined *)(iParm1 + 0x7a) = *(undefined *)(iParm1 + 0x7e); - *(undefined *)(iParm1 + 0x7b) = *(undefined *)(iParm1 + 0x7f); - return; -} - - - -void sub_7F0407F4(int iParm1,undefined4 *puParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined4 uVar1; - float fVar2; - - uVar1 = locret_7F040070(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 8)); - fVar2 = (float)FUN_7f0b1c30(uParm4,*puParm2,puParm2[2]); - *(float *)(puParm2 + 1) = fVar2 + 4.00000000; - fVar2 = (float)loc_7F03EA4C(uVar1,uParm3); - *(float *)(puParm2 + 1) = (float)puParm2[1] - fVar2; - sub_7F040754(iParm1,puParm2,uParm3,uParm4); - FUN_7f040544(iParm1); - return; -} - - - -void loc_7F040B84(int iParm1,undefined4 *puParm2,undefined4 uParm3,int iParm4,float *pfParm5) - -{ - undefined8 uVar1; - int iVar3; - longlong lVar2; - float fStack120; - float fStack116; - undefined auStack112 [4]; - undefined auStack108 [4]; - float fStack104; - undefined auStack96 [16]; - float fStack80; - float fStack76; - float fStack72; - int iStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - undefined4 uStack8; - - uVar1 = locret_7F040070(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 8)); - uStack8 = (undefined4)uVar1; - fStack12 = (float)sub_7F03E864(uVar1); - fStack16 = (float)sub_7F03E86C(uStack8); - if ((*(uint *)(iParm1 + 8) & 4) == 0) { - if ((*(uint *)(iParm1 + 8) & 8) == 0) { - iStack32 = iParm4; - fStack104 = (float)FUN_7f0b1c30(iParm4,*puParm2,puParm2[2]); - loc_7F058030(uParm3,auStack96); - fStack28 = *pfParm5 - fStack80 * fStack12; - fStack20 = pfParm5[2] - fStack72 * fStack12; - iVar3 = loc_7F03FB4C(puParm2,(ulonglong)*(byte *)(iParm4 + 3)); - if (iVar3 == 0) { - fStack24 = (fStack104 - fStack76 * fStack12) + 4.00000000; - } - else { - loc_7F03CCA4(*(undefined4 *)(iVar3 + 0x10),auStack108,auStack112,&fStack116,&fStack120); - if ((fStack116 <= fStack104) || - (fStack76 * (fStack16 - fStack12) + fStack104 + 4.00000000 <= fStack120)) { - fStack24 = (fStack104 - fStack76 * fStack12) + 4.00000000; - } - else { - fStack24 = fStack116 - fStack76 * fStack12; - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) | 0x8000; - } - } - } - else { - iStack32 = iParm4; - loc_7F058030(uParm3,auStack96); - fStack28 = *pfParm5 - fStack80 * fStack12; - fStack24 = pfParm5[1] - fStack76 * fStack12; - fStack20 = pfParm5[2] - fStack72 * fStack12; - } - } - else { - iStack32 = iParm4; - FUN_7f058b30(DAT_80048b8c); - FUN_7f058510(uParm3,auStack96); - fStack28 = *pfParm5 - fStack80 * fStack16; - fStack24 = pfParm5[1] - fStack76 * fStack16; - fStack20 = pfParm5[2] - fStack72 * fStack16; - } - if (((*(uint *)(iParm1 + 0xc) & 1) == 0) && - (lVar2 = sub_7F0B0BE4(&iStack32,*puParm2,puParm2[2],fStack28,fStack20), lVar2 != 0)) { - sub_7F040754(iParm1,&fStack28,auStack96,iStack32); - } - else { - sub_7F040754(iParm1,puParm2,auStack96,iParm4); - if ((*(uint *)(iParm1 + 0xc) & 1) == 0) { - if ((*(uint *)(iParm1 + 8) & 0x1000) == 0) goto LAB_7f040c44; - *(float *)(iParm1 + 0x58) = fStack28; - } - else { - *(float *)(iParm1 + 0x58) = fStack28; - } - *(float *)(iParm1 + 0x5c) = fStack24; - *(float *)(iParm1 + 0x60) = fStack20; - } -LAB_7f040c44: - FUN_7f040544(iParm1); - return; -} - - - -void loc_7F040CD4(int iParm1,undefined4 *puParm2,undefined4 uParm3,undefined4 uParm4,float *pfParm5) - -{ - undefined8 uVar1; - longlong lVar2; - undefined auStack156 [64]; - undefined auStack92 [32]; - float fStack60; - float fStack56; - float fStack52; - undefined4 uStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - - uVar1 = locret_7F040070(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 8)); - fStack12 = (float)sub_7F03E874(uVar1); - uStack28 = uParm4; - FUN_7f058a18(DAT_80048b90); - FUN_7f058aa4(DAT_80048b94); - FUN_7f058510(auStack156,auStack92); - FUN_7f058510(uParm3,auStack92); - fStack24 = *pfParm5 - fStack60 * fStack12; - fStack20 = pfParm5[1] - fStack56 * fStack12; - fStack16 = pfParm5[2] - fStack52 * fStack12; - if (((*(uint *)(iParm1 + 0xc) & 1) == 0) && - (lVar2 = sub_7F0B0BE4(&uStack28,*puParm2,puParm2[2],fStack24,fStack16), lVar2 != 0)) { - sub_7F040754(iParm1,&fStack24,auStack92,uStack28); - } - else { - sub_7F040754(iParm1,puParm2,auStack92,uParm4); - *(float *)(iParm1 + 0x58) = fStack24; - *(float *)(iParm1 + 0x5c) = fStack20; - *(float *)(iParm1 + 0x60) = fStack16; - } - FUN_7f040544(iParm1); - return; -} - - - -void loc_7F040D8C(int iParm1) - -{ - int iVar1; - uint uVar2; - int iVar3; - - iVar1 = *(int *)(iParm1 + 4); - uVar2 = *(uint *)(iVar1 + 100); - if ((uVar2 & 0x40) == 0) { - if ((uVar2 & 0x80) != 0) { - loc_7F03FBDC(*(undefined4 *)(iVar1 + 0x6c)); - *(undefined4 *)(iVar1 + 0x6c) = 0; - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) & 0xffffff7f; - } - } - else { - iVar3 = *(int *)(iVar1 + 0x6c); - if (iVar3 != 0) { - if (*(int *)(iVar3 + 0x44) != 0) { - loc_7F03FBDC(*(int *)(iVar3 + 0x44)); - iVar3 = *(int *)(iVar1 + 0x6c); - } - sub_7F03FE88(iVar3); - uVar2 = *(uint *)(iVar1 + 100); - } - *(undefined4 *)(iVar1 + 0x6c) = 0; - *(uint *)(iVar1 + 100) = uVar2 & 0xffffffbf; - } - return; -} - - - -void loc_7F041010(int iParm1,int iParm2,longlong lParm3) - -{ - char cVar1; - int iVar2; - longlong lVar3; - int iVar4; - - cVar1 = *(char *)(iParm1 + 3); - if (cVar1 == '\r') { - if (*(int *)(iParm1 + 0xc4) == 0) { - iVar4 = *(int *)(iParm1 + 200); - } - else { - lVar3 = locret_70008E00(); - if (lVar3 == 0) { - iVar4 = *(int *)(iParm1 + 200); - } - else { - loc_7000905C(*(undefined4 *)(iParm1 + 0xc4)); - iVar4 = *(int *)(iParm1 + 200); - } - } - if (iVar4 == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - } - else { - lVar3 = locret_70008E00(); - if (lVar3 == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - } - else { - loc_7000905C(*(undefined4 *)(iParm1 + 200)); - iVar4 = *(int *)(iParm1 + 0x10); - } - } - goto LAB_7f040fe8; - } - if (cVar1 == '\b') { - if (*(int *)(iParm1 + 0x84) == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - goto LAB_7f040fe8; - } - *(undefined4 *)(*(int *)(iParm1 + 0x84) + 0x84) = 0; - *(undefined4 *)(iParm1 + 0x84) = 0; - } - else { - if (cVar1 == '\x01') { - if (*(int *)(iParm1 + 0xf4) == 0) { - iVar4 = *(int *)(iParm1 + 0xf8); - } - else { - lVar3 = locret_70008E00(); - if (lVar3 == 0) { - iVar4 = *(int *)(iParm1 + 0xf8); - } - else { - loc_7000905C(*(undefined4 *)(iParm1 + 0xf4)); - iVar4 = *(int *)(iParm1 + 0xf8); - } - } - if (iVar4 == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - } - else { - lVar3 = locret_70008E00(); - if (lVar3 == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - } - else { - loc_7000905C(*(undefined4 *)(iParm1 + 0xf8)); - iVar4 = *(int *)(iParm1 + 0x10); - } - } - goto LAB_7f040fe8; - } - if (cVar1 == '/') { - if (*(int *)(iParm1 + 0x8c) < 0) { - iVar4 = *(int *)(iParm1 + 0x10); - } - else { - FUN_7f0b9058(*(int *)(iParm1 + 0x8c),1); - iVar4 = *(int *)(iParm1 + 0x10); - } - goto LAB_7f040fe8; - } - if (cVar1 == '(') { - if (*(int *)(iParm1 + 0xb0) == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - } - else { - lVar3 = locret_70008E00(); - if (lVar3 == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - } - else { - loc_7000905C(*(undefined4 *)(iParm1 + 0xb0)); - iVar4 = *(int *)(iParm1 + 0x10); - } - } - goto LAB_7f040fe8; - } - if (cVar1 != '\'') { - iVar4 = *(int *)(iParm1 + 0x10); - goto LAB_7f040fe8; - } - if (*(int *)(iParm1 + 0xac) == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - goto LAB_7f040fe8; - } - lVar3 = locret_70008E00(); - if (lVar3 == 0) { - iVar4 = *(int *)(iParm1 + 0x10); - goto LAB_7f040fe8; - } - loc_7000905C(*(undefined4 *)(iParm1 + 0xac)); - } - iVar4 = *(int *)(iParm1 + 0x10); -LAB_7f040fe8: - if (iVar4 != 0) { - FUN_7f0a0210(iVar4,0); - FUN_7f0a0210(*(undefined4 *)(iParm1 + 0x10),1); - if (lParm3 == 0) { - loc_7F040D8C(*(undefined4 *)(iParm1 + 0x10)); - iVar4 = *(int *)(iParm1 + 0x10); - if (*(int *)(iVar4 + 0x1c) != 0) { - loc_7F04C124(iVar4); - iVar4 = *(int *)(iParm1 + 0x10); - } - loc_7F03E1F8(iVar4); - iVar4 = *(int *)(*(char **)(iParm1 + 0x10) + 0x20); - if (iVar4 == 0) { - cVar1 = **(char **)(iParm1 + 0x10); - } - else { - do { - iVar2 = *(int *)(iVar4 + 0x24); - FUN_7f0410e4(*(undefined4 *)(iVar4 + 4),1); - iVar4 = iVar2; - } while (iVar2 != 0); - cVar1 = **(char **)(iParm1 + 0x10); - } - if (cVar1 == '\x02') { - cVar1 = *(char *)(iParm1 + 3); - } - else { - loc_7F050F20(*(undefined4 *)(iParm1 + 0x14)); - cVar1 = *(char *)(iParm1 + 3); - } - if (cVar1 == '(') { - FUN_7f06cb38(*(undefined4 *)(iParm1 + 0x14)); - } - else { - FUN_7f06c974(*(undefined4 *)(iParm1 + 0x14)); - } - if (iParm2 == 0) { - *(undefined4 *)(iParm1 + 0x10) = 0; - } - else { - FUN_7f03a5f8(*(undefined4 *)(iParm1 + 0x10)); - unset_stateflag_0x04_for_posdata(*(undefined4 *)(iParm1 + 0x10)); - FUN_7f03a544(*(undefined4 *)(iParm1 + 0x10)); - *(undefined4 *)(iParm1 + 0x10) = 0; - } - } - } - return; -} - - - -void FUN_7f0410e4(undefined8 uParm1,undefined8 uParm2) - -{ - loc_7F041010(uParm1,uParm2,0); - return; -} - - - -undefined4 loc_7F041060(int iParm1) - -{ - if (*(char *)(iParm1 + 3) == '\x04') { - return 0x41a00000; - } - return 0x41200000; -} - - - -undefined8 locret_7F041158(float *pfParm1,float *pfParm2,float *pfParm3,float fParm4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - uVar1 = 0; - fVar4 = *pfParm3 - *pfParm1; - fVar6 = pfParm3[1] - pfParm1[1]; - fVar5 = pfParm3[2] - pfParm1[2]; - fVar7 = *pfParm2; - fVar8 = pfParm2[1]; - fVar3 = pfParm2[2]; - fVar2 = fVar5 * fVar3 + fVar7 * fVar4 + fVar8 * fVar6; - if ((0.00000000 < fVar2) && - (((fVar5 * fVar5 + fVar4 * fVar4 + fVar6 * fVar6) - fParm4 * fParm4) * - (fVar3 * fVar3 + fVar7 * fVar7 + fVar8 * fVar8) <= fVar2 * fVar2)) { - uVar1 = 1; - } - return uVar1; -} - - - -undefined8 -loc_7F0413D4(int iParm1,undefined8 uParm2,float *pfParm3,undefined4 *puParm4,float *pfParm5, - int *piParm6,undefined4 *puParm7) - -{ - int iVar1; - longlong lVar2; - longlong lVar3; - undefined8 uVar4; - int iVar5; - undefined4 uStack68; - int iStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - float fStack48; - float fStack44; - float fStack40; - undefined4 auStack12 [3]; - - iVar1 = *(int *)(iParm1 + 0x14); - auStack12[0] = 0; - uStack68 = 0; - if (*(char *)(iParm1 + 3) == '\x01') { - lVar2 = locret_7F074C60(iParm1 + 0xd0,*(undefined4 *)(iVar1 + 0xc),uParm2,pfParm3); - auStack12[0] = **(undefined4 **)(iVar1 + 8); - if ((0 < lVar2) && - (lVar3 = loc_7F04DC80(iVar1,auStack12[0],uParm2,pfParm3,&uStack60,&iStack64,&uStack68), - lVar3 == 0)) { - lVar2 = 0; - } - } - else { - do { - lVar2 = loc_7F07547C(iVar1,uParm2,pfParm3,auStack12); - if ((0 < lVar2) && - (lVar3 = loc_7F04DC80(iVar1,auStack12[0],uParm2,pfParm3,&uStack60,&iStack64,&uStack68), - lVar3 != 0)) break; - } while (0 < lVar2); - } - uVar4 = 0; - if (0 < lVar2) { - iVar5 = *(int *)(iVar1 + 0xc); - *puParm4 = uStack60; - iVar5 += iStack64 * 0x40; - puParm4[1] = uStack56; - puParm4[2] = uStack52; - FUN_7f05891c(iVar5); - uVar4 = FUN_7f0784c4(); - FUN_7f05891c(uVar4,puParm4); - *pfParm5 = fStack48; - pfParm5[1] = fStack44; - pfParm5[2] = fStack40; - FUN_7f058880(iVar5,pfParm5); - if (0.00000000 < pfParm3[2] * pfParm5[2] + *pfParm5 * *pfParm3 + pfParm5[1] * pfParm3[1]) { - *pfParm5 = -*pfParm5; - pfParm5[1] = -pfParm5[1]; - pfParm5[2] = -pfParm5[2]; - } - uVar4 = FUN_7f0784c4(); - FUN_7f058880(uVar4,pfParm5); - if (((*pfParm5 == 0.00000000) && (pfParm5[1] == 0.00000000)) && (pfParm5[2] == 0.00000000)) { - pfParm5[2] = 1.00000000; - } - else { - guNormalize(pfParm5,pfParm5 + 1,pfParm5 + 2); - } - uVar4 = 1; - *piParm6 = iVar1; - *puParm7 = uStack68; - } - return uVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -loc_7F0417A8(undefined8 uParm1,float *pfParm2,undefined4 *puParm3,float *pfParm4,float *pfParm5, - float *pfParm6,float *pfParm7) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - longlong lVar4; - undefined4 *puVar5; - int iVar6; - int iVar7; - int iVar8; - float fVar9; - float fVar10; - undefined4 uVar11; - undefined4 uVar12; - undefined4 uVar13; - undefined4 uVar14; - float fStack108; - float fStack104; - float fStack100; - undefined4 uStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - undefined4 uStack72; - int iStack68; - undefined4 uStack64; - undefined4 uStack60; - float fStack56; - float fStack52; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - float fStack16; - float fStack12; - int iStack8; - int iStack4; - - fVar10 = 1.00000000; - iStack68 = -1; - loc_7F03CCA4(uParm1,&iStack4,&iStack8,&fStack12,&fStack16); - if (iStack8 < 1) { - uVar3 = 0; - } - else { - if ((pfParm2[1] <= fStack12) || ((float)puParm3[1] <= fStack12)) { - if (pfParm2[1] < fStack16) { - if ((float)puParm3[1] < fStack16) { - return 0; - } - fStack56 = *pfParm2; - } - else { - fStack56 = *pfParm2; - } - fStack52 = pfParm2[2]; - uStack64 = *puParm3; - uStack60 = puParm3[2]; - if (0 < iStack8) { - iVar7 = 0; - iVar6 = 0; - do { - iVar8 = iVar6 + 1; - iVar1 = iVar8 % iStack8; - uVar12 = *(undefined4 *)(iStack4 + iVar7); - uVar11 = ((undefined4 *)(iStack4 + iVar7))[1]; - puVar5 = (undefined4 *)(iStack4 + iVar1 * 8); - uVar13 = *puVar5; - if (iStack8 == 0) { - trap(0x1c00); - } - if ((iStack8 == -1) && (iVar8 == -0x80000000)) { - trap(0x1800); - } - uVar14 = puVar5[1]; - lVar4 = loc_7F0B07AC(*pfParm2,pfParm2[2]); - fVar9 = fVar10; - iVar2 = iStack68; - if (lVar4 != 0) { - uStack40 = *(undefined4 *)(iStack4 + iVar7); - puVar5 = (undefined4 *)(iStack4 + iVar1 * 8); - uStack36 = ((undefined4 *)(iStack4 + iVar7))[1]; - uStack48 = *puVar5; - uStack44 = puVar5[1]; - fVar9 = (float)sub_GAME_7F0B33DC(&fStack56,&uStack64,&uStack40,&uStack48,uVar12,uVar11, - uVar13,uVar14); - iVar2 = iVar6; - if (fVar10 <= fVar9) { - fVar9 = fVar10; - iVar2 = iStack68; - } - } - iStack68 = iVar2; - fVar10 = fVar9; - iVar7 += 8; - iVar6 = iVar8; - } while (iVar8 < iStack8); - } - if (iStack68 < 1) { - uVar3 = 0; - } - else { - puVar5 = (undefined4 *)(iStack4 + iStack68 * 8); - uStack80 = *puVar5; - uStack76 = 0; - uStack72 = puVar5[1]; - puVar5 = (undefined4 *)(iStack4 + ((iStack68 + 1) % iStack8) * 8); - uStack92 = *puVar5; - uStack88 = 0; - uStack84 = puVar5[1]; - if (iStack8 == 0) { - trap(0x1c00); - } - if ((iStack8 == -1) && (iStack68 + 1 == -0x80000000)) { - trap(0x1800); - } - locret_7F026244(&uStack80,&uStack92,pfParm2,pfParm4,&fStack108); - fVar10 = pfParm4[2] * (fStack100 - pfParm2[2]) + - (fStack108 - *pfParm2) * *pfParm4 + (fStack104 - pfParm2[1]) * pfParm4[1]; - if (*pfParm7 <= fVar10) { - uVar3 = 0; - } - else { - *pfParm7 = fVar10; - *pfParm5 = fStack108; - pfParm5[1] = fStack104; - pfParm5[2] = fStack100; - fVar10 = *pfParm4; - pfParm6[1] = 0.00000000; - *pfParm6 = -fVar10; - pfParm6[2] = -pfParm4[2]; - if ((*pfParm6 == 0.00000000) && (pfParm6[2] == 0.00000000)) { - pfParm6[2] = 1.00000000; - } - else { - guNormalize(pfParm6,pfParm6 + 1,pfParm6 + 2); - } - uVar3 = 1; - DAT_8002c060 = 0; - _DAT_80064ab0 = 0; - _DAT_80064ab4 = 0; - DAT_8002c05c = (int)uParm1; - } - } - } - else { - uVar3 = 0; - } - } - return uVar3; -} - - - -undefined8 -loc_7F0419CC(int iParm1,float *pfParm2,undefined4 uParm3,float *pfParm4,float fParm5, - undefined4 uParm6,undefined4 uParm7,float *pfParm8,undefined4 uParm9,float *pfParm10, - int *piParm11,undefined4 *puParm12) - -{ - int iVar1; - int iVar2; - longlong lVar3; - undefined4 uVar4; - float fVar5; - float fVar6; - - iVar1 = *(int *)(iParm1 + 0x14); - fVar6 = (float)FUN_7f06d494(); - iVar2 = *(int *)(iParm1 + 0x10); - fVar5 = 0.00000000; - if (*(int *)(iVar2 + 0x1c) == 0) { - fVar5 = pfParm4[2] * (*(float *)(iParm1 + 0x60) - pfParm2[2]) + - (*(float *)(iParm1 + 0x58) - *pfParm2) * *pfParm4 + - (*(float *)(iParm1 + 0x5c) - pfParm2[1]) * pfParm4[1]; - } - if ((-fVar6 <= fVar5) && (fVar5 <= fParm5 + fVar6)) { - if ((*(byte *)(iVar2 + 1) & 2) == 0) { - uVar4 = FUN_7f06d494(iVar1,uParm6,uParm7); - lVar3 = locret_7F041158(pfParm2,pfParm4,iParm1 + 0x58,uVar4); - if (lVar3 != 0) { - *pfParm10 = fParm5; - lVar3 = loc_7F0417A8(iVar2,pfParm2,uParm3,pfParm4,pfParm8,uParm9,pfParm10); - if (lVar3 != 0) { - *piParm11 = iVar1; - *puParm12 = **(undefined4 **)(iVar1 + 8); - return 1; - } - } - } - else { - lVar3 = loc_7F0413D4(iParm1,uParm6,uParm7,pfParm8,uParm9,piParm11,puParm12); - if (lVar3 != 0) { - fVar6 = pfParm4[2] * (pfParm8[2] - pfParm2[2]) + - (*pfParm8 - *pfParm2) * *pfParm4 + (pfParm8[1] - pfParm2[1]) * pfParm4[1]; - if (fVar6 < 0.00000000) { - return 0; - } - if (fVar6 <= fParm5) { - *pfParm10 = fVar6; - return 1; - } - return 0; - } - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -loc_7F041B84(int iParm1,undefined8 uParm2,undefined8 uParm3,undefined8 uParm4,undefined4 uParm5, - undefined4 uParm6,undefined4 uParm7,undefined4 *puParm8,undefined4 *puParm9, - float *pfParm10) - -{ - byte bVar1; - longlong lVar2; - int iVar3; - undefined8 uVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 uStack36; - undefined4 uStack32; - float fStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - iVar3 = *(int *)(iParm1 + 0x10); - puVar5 = &uStack32; - puVar6 = &uStack36; - uVar4 = 0; - lVar2 = loc_7F0419CC(); - if (lVar2 != 0) { - if (*pfParm10 <= fStack28) { - bVar1 = *(byte *)(iVar3 + 1); - goto LAB_7f041bcc; - } - *pfParm10 = fStack28; - *puParm8 = uStack12; - uVar4 = 1; - puParm8[1] = uStack8; - puParm8[2] = uStack4; - *puParm9 = uStack24; - puParm9[1] = uStack20; - puParm9[2] = uStack16; - DAT_8002c05c = *(undefined4 *)(iParm1 + 0x10); - DAT_8002c060 = 0xffffffff; - _DAT_80064ab0 = uStack32; - _DAT_80064ab4 = uStack36; - } - bVar1 = *(byte *)(iVar3 + 1); -LAB_7f041bcc: - if (((bVar1 & 2) == 0) || (iVar3 = *(int *)(iVar3 + 0x20), iVar3 == 0)) { - return uVar4; - } - bVar1 = *(byte *)(iVar3 + 1); - do { - if ((bVar1 & 2) == 0) { -LAB_7f041c34: - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - lVar2 = loc_7F041B84(*(undefined4 *)(iVar3 + 4),uParm2,uParm3,uParm4,uParm5,uParm6,uParm7, - puParm8,puParm9,pfParm10,puVar5,puVar6); - if (lVar2 != 0) { - uVar4 = 1; - goto LAB_7f041c34; - } - iVar3 = *(int *)(iVar3 + 0x24); - } - if (iVar3 == 0) { - return uVar4; - } - bVar1 = *(byte *)(iVar3 + 1); - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -loc_7F041DF4(int iParm1,float *pfParm2,float *pfParm3,float fParm4,float *pfParm5,float *pfParm6, - float *pfParm7,float *pfParm8,float *pfParm9) - -{ - int iVar1; - longlong lVar2; - int iVar3; - float fVar4; - float fVar5; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - - iVar1 = *(int *)(iParm1 + 0x18); - fVar4 = (float)FUN_7f06d494(*(undefined4 *)(iParm1 + 0x1c)); - fVar5 = pfParm3[2] * (*(float *)(iVar1 + 0x10) - pfParm2[2]) + - (*(float *)(iVar1 + 8) - *pfParm2) * *pfParm3 + - (*(float *)(iVar1 + 0xc) - pfParm2[1]) * pfParm3[1]; - if ((-fVar4 <= fVar5) && (fVar5 <= fParm4 + fVar4)) { - if ((*(byte *)(iVar1 + 1) & 2) != 0) { - uStack48 = *(undefined4 *)(iParm1 + 0x20); - lVar2 = loc_7F06C03C(&uStack48,pfParm5,pfParm6,&uStack40,&uStack44); - uStack36 = (undefined4)lVar2; - if (0 < lVar2) { - iVar3 = FUN_7f06cd98(uStack40,uStack44,0); - fVar4 = pfParm6[2] * (*(float *)(iVar3 + 0x38) - pfParm5[2]) + - (*(float *)(iVar3 + 0x30) - *pfParm5) * *pfParm6 + - (*(float *)(iVar3 + 0x34) - pfParm5[1]) * pfParm6[1]; - if (*pfParm9 <= fVar4) { - return 0; - } - *pfParm9 = fVar4; - *pfParm7 = *pfParm3 * fVar4 + *pfParm2; - pfParm7[1] = pfParm3[1] * fVar4 + pfParm2[1]; - pfParm7[2] = pfParm3[2] * fVar4 + pfParm2[2]; - fVar4 = *pfParm3; - pfParm8[1] = 0.00000000; - *pfParm8 = -fVar4; - pfParm8[2] = -pfParm3[2]; - if ((*pfParm8 == 0.00000000) && (pfParm8[2] == 0.00000000)) { - pfParm8[2] = 1.00000000; - } - else { - guNormalize(pfParm8,pfParm8 + 1,pfParm8 + 2); - } - DAT_8002c05c = iVar1; - DAT_8002c060 = uStack36; - _DAT_80064ab0 = uStack40; - _DAT_80064ab4 = uStack44; - return 1; - } - } - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f04216c) overlaps instruction at (ram,0x7f042168) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 -loc_7F042218(char *pcParm1,float *pfParm2,float *pfParm3,ulonglong uParm4,undefined4 uParm5, - undefined4 uParm6,undefined4 uParm7) - -{ - char cVar1; - char *pcVar5; - undefined8 uVar2; - longlong lVar3; - ulonglong uVar4; - int iVar6; - int iVar7; - char *pcVar8; - short *psVar9; - float fVar10; - float fVar11; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack32; - float fStack28; - float fStack24; - int iStack20; - float afStack16 [3]; - undefined4 uStack4; - - uStack4 = 0; - iStack20 = 0; - pcVar5 = (char *)FUN_7f07cf58(); - fStack32 = *pfParm3 - *pfParm2; - fStack28 = pfParm3[1] - pfParm2[1]; - fStack24 = pfParm3[2] - pfParm2[2]; - fVar10 = (float)sqrtf(fStack24 * fStack24 + fStack32 * fStack32 + fStack28 * fStack28); - if (fVar10 == 0.00000000) { - uStack4 = 0; - } - else { - fVar11 = 1.00000000 / fVar10; - fStack32 = fStack32 * fVar11; - fStack28 = fStack28 * fVar11; - fStack24 = fStack24 * fVar11; - fStack48 = *pfParm2; - fStack44 = pfParm2[1]; - fStack40 = pfParm2[2]; - uVar2 = FUN_7f078444(); - FUN_7f05891c(uVar2,&fStack48); - fStack60 = fStack32; - fStack56 = fStack28; - fStack52 = fStack24; - uVar2 = FUN_7f078444(); - FUN_7f058880(uVar2,&fStack60); - if (uParm4 != 0) { - afStack16[0] = fVar10; - FUN_7f03e4bc(uParm7); - lVar3 = (longlong)*_DAT_80058b70; - iVar7 = (int)*_DAT_80058b70; - psVar9 = _DAT_80058b70; - if (-1 < lVar3) { - do { - iVar7 = (iVar7 * 0x10 + (int)lVar3 * -4 + (int)lVar3) * 4; - pcVar8 = (char *)(iVar7 + -0x7ffa7488); - if (pcVar8 == pcParm1) { - lVar3 = (longlong)psVar9[1]; - } - else { - cVar1 = *pcVar8; - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - iVar7 = *(int *)(iVar7 + -0x7ffa7484); - if ((*(uint *)(iVar7 + 100) & 8) == 0) { - if (*(int *)(iVar7 + 0xc) << 6 < 0) { - lVar3 = (longlong)psVar9[1]; - } - else { - if (cVar1 == '\x02') { - if (((uParm4 & 2) != 0) || - (uVar4 = locret_7F03DA48(pcVar8), (uVar4 & uParm4) != 0)) { -LAB_7f0420fc: - if (((pcVar8 != pcVar5) || ((*(byte *)(iVar7 + 2) & 0x20) == 0)) && - (lVar3 = loc_7F041B84(iVar7,pfParm2,pfParm3,&fStack32,fVar10,&fStack48, - &fStack60,uParm5,uParm6,afStack16), lVar3 != 0)) { - iStack20 = 1; - } - goto LAB_7f042274; - } - lVar3 = (longlong)psVar9[1]; - } - else { - if ((uParm4 & 1) != 0) goto LAB_7f0420fc; - lVar3 = (longlong)psVar9[1]; - } - } - } - else { - lVar3 = (longlong)psVar9[1]; - } - } - else { - if ((cVar1 == '\x03') || ((cVar1 == '\x06' && (*(int *)(iVar7 + -0x7ffa7484) != 0)))) - { - iVar7 = *(int *)(iVar7 + -0x7ffa7484); - if (cVar1 == '\x06') { - iVar6 = FUN_7f09a69c(pcVar8); - if (*(int *)(*(int *)(&DAT_800689f0 + iVar6 * 4) + 0xac) == 0) { - lVar3 = (longlong)psVar9[1]; - } - else { - if ((uParm4 & 4) != 0) goto LAB_7f0421dc; - lVar3 = (longlong)psVar9[1]; - } - } - else { - if (cVar1 != '\x03') { -LAB_7f0421dc: - lVar3 = loc_7F041DF4(iVar7,pfParm2,&fStack32,fVar10,&fStack48,&fStack60,uParm5, - uParm6,afStack16); - if (lVar3 != 0) { - iStack20 = 1; - } - goto LAB_7f042274; - } - if ((*(ushort *)(iVar7 + 0x12) & 0x100) == 0) { - if ((uParm4 & 8) != 0) goto LAB_7f0421dc; - lVar3 = (longlong)psVar9[1]; - } - else { - lVar3 = (longlong)psVar9[1]; - } - } - } - else { - if (cVar1 == '\x06') { - iVar7 = FUN_7f09a69c(pcVar8); - if (*(int *)(*(int *)(&DAT_800689f0 + iVar7 * 4) + 0xac) == 0) { - lVar3 = (longlong)psVar9[1]; - } - else { - lVar3 = loc_7F0417A8(pcVar8,pfParm2,pfParm3,&fStack32,uParm5,uParm6,afStack16); - if (lVar3 != 0) { - iStack20 = 1; - } -LAB_7f042274: - lVar3 = (longlong)psVar9[1]; - } - } - else { - lVar3 = (longlong)psVar9[1]; - } - } - } - } - psVar9 = psVar9 + 1; - if (lVar3 < 0) break; - iVar7 = (int)lVar3; - } while( true ); - } - } - if (iStack20 != 0) { - uStack4 = 1; - _DAT_80064ab8 = fStack32; - _DAT_80064abc = fStack28; - _DAT_80064ac0 = fStack24; - _DAT_80064ac8 = fStack60; - _DAT_80064acc = fStack56; - _DAT_80064ad0 = fStack52; - } - } - return uStack4; -} - - - -int loc_7F0429EC(int iParm1,float *pfParm2,float *pfParm3,float *pfParm4,int iParm5,int iParm6) - -{ - char cVar1; - uint *puVar2; - longlong lVar3; - char *pcVar4; - int iVar5; - uint uVar6; - int iVar7; - int *piVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - char acStack572 [8]; - int aiStack564 [121]; - int iStack80; - int iStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack12; - int iStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x10); - iStack8 = *(int *)(iStack4 + 0x14); - iStack12 = 1; - DAT_8002c05c = 0; - fStack72 = *pfParm2; - if (((fStack72 == *(float *)(iParm1 + 0x58)) && (pfParm2[1] == *(float *)(iParm1 + 0x5c))) && - (pfParm2[2] == *(float *)(iParm1 + 0x60))) { - DAT_8002c05c = 0; - return 1; - } - fStack68 = pfParm2[1]; - fStack64 = pfParm2[2]; - if ((*(uint *)(iParm1 + 100) & 0x80) == 0) { - DAT_8002c05c = 0; - return 1; - } - iVar5 = iParm1 + 0x58; - if ((**(uint **)(iParm1 + 0x6c) & 4) == 0) { - DAT_8002c05c = 0; - return 1; - } - iStack80 = 0; - FUN_7f0b3df0(iVar5,&fStack72,*(int *)(iParm1 + 0x6c) + 0xcc,acStack572,aiStack564,&iStack80,0x14); - if (iStack80 < 0x15) { - iVar7 = iStack80 << 2; - } - else { - iStack80 = 0x14; - iVar7 = 0x50; - } - iVar7 = FUN_7f0b8134((int)aiStack564 + iVar7,100); - piVar8 = aiStack564; - iStack80 += iVar7; - aiStack564[iStack80] = -1; - while (-1 < aiStack564[0]) { - lVar3 = loc_7F0B7D64(iVar5,&fStack72,aiStack564[0],&fStack60); - if (lVar3 == 0) { - aiStack564[0] = piVar8[1]; - } - else { - fVar10 = (float)FUN_7f0b3b6c(); - fStack60 = fStack60 * fVar10; - fStack56 = fStack56 * fVar10; - fStack52 = fStack52 * fVar10; - fVar10 = *(float *)(iParm1 + 0x58); - if (((fStack72 < fVar10) || (fStack72 < fStack60)) || (fStack60 < fVar10)) { - if (fStack72 <= fVar10) { - if (fStack72 <= fStack60) { - if (fStack60 <= fVar10) { - fVar9 = *(float *)(iParm1 + 0x5c); - goto LAB_7f042520; - } - aiStack564[0] = piVar8[1]; - } - else { - aiStack564[0] = piVar8[1]; - } - } - else { - aiStack564[0] = piVar8[1]; - } - } - else { - fVar9 = *(float *)(iParm1 + 0x5c); -LAB_7f042520: - if (((fStack68 < fVar9) || (fStack68 < fStack56)) || (fStack56 < fVar9)) { - if (fStack68 <= fVar9) { - if (fStack68 <= fStack56) { - if (fStack56 <= fVar9) { - fVar11 = *(float *)(iParm1 + 0x60); - goto LAB_7f042590; - } - aiStack564[0] = piVar8[1]; - } - else { - aiStack564[0] = piVar8[1]; - } - } - else { - aiStack564[0] = piVar8[1]; - } - } - else { - fVar11 = *(float *)(iParm1 + 0x60); -LAB_7f042590: - if (((fStack64 < fVar11) || (fStack64 < fStack52)) || (fStack52 < fVar11)) { - if (fStack64 <= fVar11) { - if (fStack64 <= fStack52) { - if (fStack52 <= fVar11) goto LAB_7f042600; - aiStack564[0] = piVar8[1]; - } - else { - aiStack564[0] = piVar8[1]; - } - } - else { - aiStack564[0] = piVar8[1]; - } - } - else { -LAB_7f042600: - if (((fVar10 == fStack60) && (fVar9 == fStack56)) && (fVar11 == fStack52)) { - aiStack564[0] = piVar8[1]; - } - else { - iStack12 = 0; - *pfParm3 = fStack60; - pfParm3[1] = fStack56; - pfParm3[2] = fStack52; - *pfParm4 = fStack48; - pfParm4[1] = fStack44; - pfParm4[2] = fStack40; - if (((*pfParm4 == 0.00000000) && (pfParm4[1] == 0.00000000)) && - (pfParm4[2] == 0.00000000)) { - pfParm4[2] = 1.00000000; - aiStack564[0] = piVar8[1]; - } - else { - guNormalize(pfParm4,pfParm4 + 1,pfParm4 + 2); - aiStack564[0] = piVar8[1]; - } - } - } - } - } - } - piVar8 = piVar8 + 1; - } - if (iStack12 == 0) { - fVar12 = *pfParm2 - *(float *)(iParm1 + 0x58); - fVar11 = pfParm2[1] - *(float *)(iParm1 + 0x5c); - fVar13 = pfParm2[2] - *(float *)(iParm1 + 0x60); - fVar9 = (float)sqrtf(fVar13 * fVar13 + fVar12 * fVar12 + fVar11 * fVar11); - fVar10 = 0.50000000; - if (DAT_80048b98 < fVar9) { - fVar10 = DAT_80048b98 / fVar9; - } - *pfParm3 = *pfParm3 - fVar10 * fVar12; - fStack72 = *pfParm3; - pfParm3[1] = pfParm3[1] - fVar10 * fVar11; - pfParm3[2] = pfParm3[2] - fVar10 * fVar13; - fStack68 = pfParm3[1]; - fStack64 = pfParm3[2]; - } - lVar3 = loc_7F042218(iStack4,iVar5,&fStack72,0x1f,pfParm3,pfParm4,aiStack564); - if (lVar3 == 0) { - if ((iStack12 == 0) && (iParm5 != 0)) { - iStack12 = 2; - if (iParm6 == 0) { - FUN_7f0b3df0(iVar5,pfParm3,*(int *)(iParm1 + 0x6c) + 0xcc,acStack572,aiStack564,&iStack80, - 0x14); - } - } - else { - if ((iStack12 == 1) || (iParm6 == 0)) { - if (iStack12 != 1) { - FUN_7f0b3df0(iVar5,&fStack72,*(int *)(iParm1 + 0x6c) + 0xcc,acStack572,aiStack564, - &iStack80,0x14); - } - *(float *)(iParm1 + 0x58) = fStack72; - *(float *)(iParm1 + 0x60) = fStack64; - *(float *)(iStack4 + 0xc) = fStack68; - *(float *)(iParm1 + 0x5c) = fStack68; - } - } - } - else { - if (iParm6 == 0) { - fStack72 = *(float *)(iParm1 + 0x58); - fStack64 = *(float *)(iParm1 + 0x60); - FUN_7f0b3df0(iVar5,&fStack72,*(int *)(iParm1 + 0x6c) + 0xcc,acStack572,aiStack564,&iStack80, - 0x14); - *(float *)(iStack4 + 0xc) = fStack68; - *(float *)(iParm1 + 0x5c) = fStack68; - if (iParm5 == 0) { - iStack12 = 0; - } - else { - iStack12 = 2; - } - } - } - if (iStack12 == 1) { - puVar2 = *(uint **)(iParm1 + 0x6c); - } - else { - if (iParm6 != 0) { - return iStack12; - } - puVar2 = *(uint **)(iParm1 + 0x6c); - } - iStack76 = 0; - uVar6 = *puVar2 & 8; - if (uVar6 == 0) { - iStack8 = *(int *)(iStack4 + 0x14); - iStack76 = 0; - iVar7 = sub_7F0B0BE4(&iStack8,*(undefined4 *)(iStack4 + 8),*(undefined4 *)(iStack4 + 0x10), - *(undefined4 *)(iParm1 + 0x58),*(undefined4 *)(iParm1 + 0x60)); - if (iVar7 == 1) { - if (iStack8 != 0) { - *(int *)(iStack4 + 0x14) = iStack8; - *(undefined4 *)(iStack4 + 8) = *(undefined4 *)(iParm1 + 0x58); - *(undefined4 *)(iStack4 + 0x10) = *(undefined4 *)(iParm1 + 0x60); - uVar6 = **(uint **)(iParm1 + 0x6c) & 8; - goto LAB_7f0429f8; - } - puVar2 = *(uint **)(iParm1 + 0x6c); - } - else { - puVar2 = *(uint **)(iParm1 + 0x6c); - } - *puVar2 = *puVar2 | 8; - *(byte *)(iStack4 + 1) = *(byte *)(iStack4 + 1) | 8; - uVar6 = **(uint **)(iParm1 + 0x6c) & 8; - } -LAB_7f0429f8: - if (uVar6 != 0) { - lVar3 = FUN_7f0ae4cc(iVar5,acStack572,0); - if (lVar3 != 0) { - *(undefined4 *)(iStack4 + 0x14) = (int)lVar3; - *(undefined4 *)(iStack4 + 8) = *(undefined4 *)(iParm1 + 0x58); - *(undefined4 *)(iStack4 + 0x10) = *(undefined4 *)(iParm1 + 0x60); - **(uint **)(iParm1 + 0x6c) = **(uint **)(iParm1 + 0x6c) & 0xfffffff7; - *(byte *)(iStack4 + 1) = *(byte *)(iStack4 + 1) & 0xf7; - } - } - pcVar4 = acStack572 + iStack76; - if (acStack572[0] == -1) { -LAB_7f042a98: - iVar5 = *(int *)(iParm1 + 0x6c); - } - else { - cVar1 = *pcVar4; - iVar5 = *(int *)(iParm1 + 0x6c); - while( true ) { - pcVar4 = pcVar4 + 1; - *(char *)(iVar5 + iStack76 + 0xcc) = cVar1; - cVar1 = *pcVar4; - iStack76 += 1; - if (cVar1 == -1) break; - if (iStack76 == 7) goto LAB_7f042a98; - iVar5 = *(int *)(iParm1 + 0x6c); - } - iVar5 = *(int *)(iParm1 + 0x6c); - } - *(undefined *)(iVar5 + iStack76 + 0xcc) = 0xff; - return iStack12; -} - - - -undefined4 loc_7F042EA4(int iParm1,float *pfParm2,float *pfParm3,float *pfParm4) - -{ - int iVar1; - longlong lVar2; - float fVar3; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - undefined4 uStack100; - undefined4 uStack96; - undefined4 uStack92; - float fStack88; - float fStack84; - float fStack80; - float afStack76 [2]; - float fStack68; - float afStack64 [2]; - float fStack56; - float fStack52; - float fStack48; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - undefined4 uStack16; - undefined4 uStack12; - int aiStack8 [2]; - - iVar1 = *(int *)(iParm1 + 0x10); - aiStack8[0] = *(int *)(iVar1 + 0x14); - uStack12 = loc_7F041060(); - uStack16 = 1; - DAT_8002c05c = 0; - fStack40 = *pfParm2; - if (((fStack40 != *(float *)(iVar1 + 8)) || (pfParm2[1] != *(float *)(iVar1 + 0xc))) || - (pfParm2[2] != *(float *)(iVar1 + 0x10))) { - fStack36 = pfParm2[1]; - fStack32 = pfParm2[2]; - if ((*(uint *)(iParm1 + 100) & 0x80) != 0) { - fVar3 = (float)FUN_7f0b1c30(*(undefined4 *)(iVar1 + 0x14),*(undefined4 *)(iVar1 + 8), - *(undefined4 *)(iVar1 + 0x10)); - if ((**(uint **)(iParm1 + 0x6c) & 0x40) == 0) { - fStack48 = 0.00000000; - fStack52 = 1.00000000; - } - else { - fStack52 = *(float *)(iVar1 + 0xc); - if (fStack36 < fStack52) { - fStack48 = fStack52 - fVar3; - fStack52 = fStack36 - fVar3; - } - else { - fStack48 = fStack36 - fVar3; - fStack52 = fStack52 - fVar3; - } - } - FUN_7f0b0f84(); - lVar2 = loc_7F0B13B4(aiStack8,*(undefined4 *)(iVar1 + 8),*(undefined4 *)(iVar1 + 0x10), - fStack40,fStack32,0x1f,fStack48,fStack52,0,0x3f800000); - if (((lVar2 == 0) || (aiStack8[0] == 0)) || - (lVar2 = loc_7F0B1C80(aiStack8,fStack40,fStack32,uStack12,0x1f,fStack48,fStack52), - -1 < lVar2)) { - FUN_7f0b1b70(afStack64,afStack76); - pfParm4[1] = 0.00000000; - *pfParm4 = fStack68 - fStack56; - pfParm4[2] = afStack64[0] - afStack76[0]; - if ((*pfParm4 == 0.00000000) && (pfParm4[2] == 0.00000000)) { - pfParm4[2] = 1.00000000; - fStack28 = *(float *)(iVar1 + 8); - } - else { - guNormalize(pfParm4,pfParm4 + 1,pfParm4 + 2); - fStack28 = *(float *)(iVar1 + 8); - } - if (((fStack40 == fStack28) && (fStack36 == *(float *)(iVar1 + 0xc))) && - (fStack32 == *(float *)(iVar1 + 0x10))) { - *pfParm3 = fStack40; - pfParm3[1] = fStack36; - pfParm3[2] = fStack32; - } - else { - fStack28 = fStack40 - fStack28; - fStack24 = fStack36 - *(float *)(iVar1 + 0xc); - fStack20 = fStack32 - *(float *)(iVar1 + 0x10); - FUN_7f026264(iVar1 + 8,&fStack28,pfParm3); - uStack100 = uStack12; - uStack96 = *(undefined4 *)(iVar1 + 8); - uStack92 = *(undefined4 *)(iVar1 + 0x10); - fStack108 = afStack64[0]; - fStack104 = fStack56; - fStack116 = afStack76[0]; - fStack112 = fStack68; - fStack124 = fStack40 - *(float *)(iVar1 + 8); - fStack120 = fStack32 - *(float *)(iVar1 + 0x10); - fVar3 = (float)loc_7F0B37AC(&uStack100,&fStack108,&fStack116,&fStack124); - aiStack8[0] = *(int *)(iVar1 + 0x14); - fStack84 = fStack36; - fStack88 = *(float *)(iVar1 + 8) + fStack124 * fVar3 * DAT_80048b9c; - fStack80 = *(float *)(iVar1 + 0x10) + fStack120 * fVar3 * DAT_80048b9c; - lVar2 = loc_7F0B13B4(aiStack8,*(undefined4 *)(iVar1 + 8),*(undefined4 *)(iVar1 + 0x10), - fStack88,fStack80,0x1f,fStack48,fStack52,0,0x3f800000); - if (((lVar2 != 0) && (aiStack8[0] != 0)) && - (lVar2 = loc_7F0B1C80(aiStack8,fStack88,fStack80,uStack12,0x1f,fStack48,fStack52), - lVar2 < 0)) { - *(float *)(iParm1 + 0x58) = fStack88; - *(float *)(iParm1 + 0x60) = fStack80; - *(int *)(iVar1 + 0x14) = aiStack8[0]; - *(float *)(iVar1 + 8) = fStack88; - *(float *)(iVar1 + 0x10) = fStack80; - } - } - *(float *)(iVar1 + 0xc) = fStack84; - *(float *)(iParm1 + 0x5c) = fStack84; - uStack16 = 0; - } - else { - *(float *)(iParm1 + 0x58) = fStack40; - *(float *)(iParm1 + 0x60) = fStack32; - *(int *)(iVar1 + 0x14) = aiStack8[0]; - *(float *)(iVar1 + 8) = fStack40; - *(float *)(iVar1 + 0x10) = fStack32; - *(float *)(iVar1 + 0xc) = fStack36; - *(float *)(iParm1 + 0x5c) = fStack36; - } - } - } - return uStack16; -} - - - -void loc_7F042F0C(int iParm1) - -{ - if (((*(uint *)(iParm1 + 100) & 0x80) == 0) || ((**(uint **)(iParm1 + 0x6c) & 4) == 0)) { - loc_7F042EA4(); - } - else { - loc_7F0429EC(); - } - return; -} - - - -void FUN_7f042fd8(float *pfParm1,float fParm2,float *pfParm3,float fParm4,float fParm5,float fParm6) - -{ - bool bVar1; - float fVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar4 = *pfParm3; - iVar3 = 0; - if (DAT_80040ff4 < 1) { -LAB_7f0431b0: - *pfParm3 = fVar4; - return; - } - fVar6 = *pfParm1; - do { - fVar5 = fParm2 - fVar6; - if (0.00000000 < fVar5) { - if ((fVar4 <= 0.00000000) || ((fVar4 * fVar4 * 0.50000000) / fParm5 < fVar5)) { - if (fVar4 < fParm6) { - fVar7 = fParm5; - if (0.00000000 <= fVar4) { - fVar7 = fParm4; - } - fVar4 = fVar4 + fVar7; - fVar7 = fParm6; - if (fParm6 < fVar4) goto LAB_7f0430c4; - bVar1 = fVar5 <= fVar4; - } - else { - bVar1 = fVar5 <= fVar4; - } - } - else { - fVar4 = fVar4 - fParm5; - fVar7 = fParm5; - if (fVar4 < fParm5) { -LAB_7f0430c4: - bVar1 = fVar5 <= fVar7; - fVar4 = fVar7; - } - else { - bVar1 = fVar5 <= fVar4; - } - } - if (bVar1) { - *pfParm1 = fParm2; - goto LAB_7f0431b0; - } - *pfParm1 = fVar6 + fVar4; - } - else { - if ((0.00000000 <= fVar4) || ((fVar4 * fVar4 * 0.50000000) / fParm5 < -fVar5)) { - fVar7 = -fParm6; - if (fVar7 < fVar4) { - fVar2 = fParm5; - if (fVar4 <= 0.00000000) { - fVar2 = fParm4; - } - fVar4 = fVar4 - fVar2; - if (fVar4 < fVar7) goto LAB_7f04317c; - bVar1 = fVar4 <= fVar5; - } - else { - bVar1 = fVar4 <= fVar5; - } - } - else { - fVar4 = fVar4 + fParm5; - fVar7 = -fParm5; - if (fVar7 < fVar4) { -LAB_7f04317c: - bVar1 = fVar7 <= fVar5; - fVar4 = fVar7; - } - else { - bVar1 = fVar4 <= fVar5; - } - } - if (bVar1) { - *pfParm1 = fParm2; - goto LAB_7f0431b0; - } - *pfParm1 = fVar6 + fVar4; - } - iVar3 += 1; - if (DAT_80040ff4 <= iVar3) goto LAB_7f0431b0; - fVar6 = *pfParm1; - } while( true ); -} - - - -void FUN_7f0431cc(float *pfParm1,float fParm2,undefined8 uParm3,undefined4 uParm4,undefined4 uParm5, - undefined4 uParm6) - -{ - float fVar1; - float fVar2; - - if (fParm2 - *pfParm1 < DAT_80048ba0) { - fParm2 = fParm2 + DAT_80048ba4; - } - else { - if (DAT_80048ba8 <= fParm2 - *pfParm1) { - fParm2 = fParm2 - DAT_80048bac; - } - } - FUN_7f042fd8(pfParm1,fParm2,uParm3,uParm4,uParm5,uParm6); - fVar1 = DAT_80048bb0; - fVar2 = *pfParm1; - if (fVar2 < 0.00000000) { - *pfParm1 = fVar2 + DAT_80048bb0; - fVar2 = *pfParm1; - } - if (fVar1 <= fVar2) { - *pfParm1 = fVar2 - fVar1; - } - return; -} - - - -void loc_7F043640(int iParm1,float *pfParm2) - -{ - uint *puVar1; - uint uVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fStack204; - float fStack200; - float fStack196; - float fStack188; - float fStack184; - float fStack180; - float fStack172; - float fStack168; - float fStack164; - float fStack140; - float fStack136; - float fStack132; - undefined4 uStack128; - undefined4 uStack124; - undefined4 uStack120; - undefined4 uStack116; - undefined4 uStack112; - float fStack108; - undefined4 uStack104; - float fStack100; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - float fStack76; - float fStack72; - float fStack68; - undefined auStack12 [12]; - - uVar2 = *(uint *)(iParm1 + 100); - *(uint *)(iParm1 + 100) = uVar2 & 0xfffeffff; - if ((uVar2 & 0x80) == 0) { - return; - } - puVar1 = *(uint **)(iParm1 + 0x6c); - if (*(char *)(iParm1 + 3) == '\x01') { - loc_7F03FBDC(puVar1); - *(undefined4 *)(iParm1 + 0x6c) = 0; - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) & 0xffffff7f; - return; - } - uVar2 = *puVar1; - puVar1[0x22] = 0; - *puVar1 = uVar2 & 0xfffffffe; - *puVar1 = uVar2 & 0xfffffffa; - loc_7F058918(iParm1 + 0x18,auStack12); - FUN_7f058bbc(auStack12,&fStack76); - sub_7F05B3F4(auStack12); - sub_7F059D38(&fStack76,&fStack140); - loc_7F0580E4(&fStack140,iParm1 + 0x18,&fStack204); - uVar2 = sqrtf(fStack196 * fStack196 + fStack204 * fStack204 + fStack200 * fStack200); - puVar1[0x30] = uVar2; - uVar2 = sqrtf(fStack180 * fStack180 + fStack188 * fStack188 + fStack184 * fStack184); - puVar1[0x31] = uVar2; - uVar2 = sqrtf(fStack164 * fStack164 + fStack172 * fStack172 + fStack168 * fStack168); - puVar1[0x32] = uVar2; - fStack140 = *(float *)(iParm1 + 0x18); - fVar6 = *(float *)(iParm1 + 0x20); - if ((fStack140 == 0.00000000) && (fStack132 = 1.00000000, fVar6 == 0.00000000)) { - fStack140 = 0.00000000; - } - else { - fVar4 = (float)sqrtf(fStack140 * fStack140 + fVar6 * fVar6); - fStack140 = fStack140 * (1.00000000 / fVar4); - fStack132 = fVar6 * (1.00000000 / fVar4); - } - fStack136 = 0.00000000; - uStack128 = 0; - if (0.00000000 <= *(float *)(iParm1 + 0x2c)) { - fStack108 = -fStack132; - uStack120 = 0x3f800000; - fStack100 = fStack140; - } - else { - fStack100 = -fStack140; - uStack120 = 0xbf800000; - fStack108 = fStack132; - } - uStack96 = 0; - uStack104 = 0; - uStack112 = 0; - uStack116 = 0; - uStack124 = 0; - uStack92 = 0; - uStack88 = 0; - uStack84 = 0; - uStack80 = 0x3f800000; - loc_7F058918(&fStack140,auStack12); - sub_7F05B3F4(auStack12); - locret_7F05BE80(puVar1 + 0x1a,puVar1 + 0x1e); - puVar1[0x18] = 0; - fVar6 = (float)sub_GAME_7F05AD5C(fStack68 * fStack132 + - fStack140 * fStack76 + fStack136 * fStack72); - if (((fVar6 <= 0.00000000) || (*(float *)(iParm1 + 0x1c) <= 0.00000000)) || - (*(float *)(iParm1 + 0x1c) <= pfParm2[1])) { - fVar4 = *(float *)(iParm1 + 0x1c); - if (0.00000000 < fVar6) { - if (fVar4 < 0.00000000) { - if (fVar4 < pfParm2[1]) { - *(float *)(puVar1 + 0x19) = DAT_80048bc0 / ((fVar6 * 4.00000000) / DAT_80048bbc); - goto LAB_7f0436a0; - } - fVar5 = *(float *)(iParm1 + 0x20); - } - else { - fVar5 = *(float *)(iParm1 + 0x20); - } - } - else { - fVar5 = *(float *)(iParm1 + 0x20); - } - fVar3 = *(float *)(*(int *)(iParm1 + 0x14) + 0x14); - fVar4 = (float)sub_GAME_7F05AD5C((fVar5 * pfParm2[2] + - *pfParm2 * *(float *)(iParm1 + 0x18) + pfParm2[1] * fVar4) / - (fVar3 * fVar3)); - if (fVar6 == 0.00000000) { - puVar1[0x19] = 0x3f800000; - } - else { - *(float *)(puVar1 + 0x19) = (fVar4 / DAT_80041004) / fVar6; - } - } - else { - *(float *)(puVar1 + 0x19) = DAT_80048bb8 / ((fVar6 * 4.00000000) / DAT_80048bb4); - } -LAB_7f0436a0: - fVar6 = (float)puVar1[0x19]; - if (fVar6 < 0.00000000) { - *(float *)(puVar1 + 0x19) = -fVar6; - fVar6 = (float)puVar1[0x19]; - } - if (fVar6 < DAT_80048bc4) { - *(float *)(puVar1 + 0x19) = DAT_80048bc4; - } - else { - if (DAT_80048bc8 < fVar6) { - *(float *)(puVar1 + 0x19) = DAT_80048bc8; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F043828(int iParm1) - -{ - uint *puVar1; - uint uVar3; - longlong lVar2; - int iVar4; - int iVar5; - undefined4 uStack8; - undefined2 uStack4; - - uVar3 = *(uint *)(iParm1 + 100); - if ((uVar3 & 0x80) != 0) { - puVar1 = *(uint **)(iParm1 + 0x6c); - if ((((*puVar1 & 1) == 0) || (0 < (int)puVar1[0x24])) || ((uVar3 & 0x20) == 0)) { - *(uint *)(iParm1 + 100) = uVar3 & 0xffffffdf; - if (puVar1[0x26] == 0) { - iVar4 = *(int *)(iParm1 + 0x6c); - } - else { - lVar2 = locret_70008E00(); - if (lVar2 == 0) { - iVar4 = *(int *)(iParm1 + 0x6c); - } - else { - loc_7000905C(*(undefined4 *)(*(int *)(iParm1 + 0x6c) + 0x98)); - iVar4 = *(int *)(iParm1 + 0x6c); - } - } - if ((*(int *)(iVar4 + 0x9c) != 0) && (lVar2 = locret_70008E00(), lVar2 != 0)) { - loc_7000905C(*(undefined4 *)(*(int *)(iParm1 + 0x6c) + 0x9c)); - } - } - else { - uStack8 = DAT_8002c07c; - uStack4 = DAT_8002c080; - iVar4 = *(int *)(*(int *)(iParm1 + 0x6c) + 0xa4); - uVar3 = FUN_700098b0(); - if (((*(int *)(*(int *)(iParm1 + 0x6c) + 0xa0) < DAT_80040ffc + -5) && - (*(int *)(*(int *)(iParm1 + 0x6c) + iVar4 * 4 + 0x98) != 0)) && - (lVar2 = locret_70008E00(), lVar2 != 0)) { - loc_7000905C(*(undefined4 *)(*(int *)(iParm1 + 0x6c) + iVar4 * 4 + 0x98)); - } - iVar5 = iVar4 * 4; - if ((*(int *)(*(int *)(iParm1 + 0x6c) + iVar5 + 0x98) == 0) && - (lVar2 = FUN_7f0bf078(), lVar2 == 0)) { - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&uStack8 + (uVar3 % 3) * 2), - *(int *)(iParm1 + 0x6c) + iVar5 + 0x98); - FUN_7f053cf0(*(undefined4 *)(*(int *)(iParm1 + 0x6c) + iVar5 + 0x98), - *(int *)(iParm1 + 0x10) + 8); - *(int *)(*(int *)(iParm1 + 0x6c) + 0xa0) = DAT_80040ffc; - *(int *)(*(int *)(iParm1 + 0x6c) + 0xa4) = 1 - iVar4; - } - } - } - return; -} - - - -void loc_7F043918(float *pfParm1,undefined4 uParm2) - -{ - float fVar1; - float fVar2; - float fStack260; - float fStack256; - float fStack252; - undefined auStack248 [64]; - undefined auStack184 [64]; - undefined auStack120 [64]; - float fStack56; - float fStack52; - float fStack36; - float fStack32; - float fStack28; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar2 = (float)sqrtf(pfParm1[2] * pfParm1[2] + *pfParm1 * *pfParm1 + pfParm1[1] * pfParm1[1]); - fVar1 = *pfParm1 / fVar2; - fStack12 = pfParm1[1] / fVar2; - fVar2 = pfParm1[2] / fVar2; - if ((fVar1 == 0.00000000) && (fVar2 == 0.00000000)) { - fStack4 = 0.00000000; - fStack8 = 0.00000000; - fStack20 = 0.00000000; - fStack16 = 1.00000000; - } - else { - fStack36 = fVar2; - fStack32 = fStack12; - fStack28 = fVar1; - fVar2 = (float)sqrtf(fVar1 * fVar1 + fVar2 * fVar2); - fStack8 = -fVar2; - fStack16 = fStack36 / fVar2; - fStack4 = fStack32 * (fStack28 / fVar2); - fStack20 = -(fStack28 / fVar2); - fStack12 = fStack32 * fStack16; - } - fStack52 = (float)convert_angle_using_inverse(fStack16,fStack20); - FUN_7f058aa4(-fStack52); - fStack260 = fStack4; - fStack256 = fStack8; - fStack252 = fStack12; - FUN_7f058880(auStack120,&fStack260); - fStack56 = (float)convert_angle_using_inverse(fStack260,fStack256); - FUN_7f058aa4(DAT_80048bcc + fStack52); - FUN_7f058a18(DAT_80048bd0 - fStack56); - loc_7F0580E4(auStack184,auStack248,uParm2); - return; -} - - - -void FUN_7f043a78(int iParm1,undefined4 uParm2,undefined4 uParm3,undefined8 uParm4) - -{ - undefined8 uVar1; - float fVar2; - undefined auStack64 [64]; - - loc_7F043918(uParm4,auStack64); - matrix_multiply_A1_by_F12(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 0x14)); - sub_7F040754(iParm1,uParm2,auStack64,uParm3); - uVar1 = locret_7F040070(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 8)); - fVar2 = (float)sub_7F03E864(uVar1); - *(float *)(iParm1 + 0x58) = *(float *)(iParm1 + 0x58) - fVar2 * *(float *)(iParm1 + 0x28); - *(float *)(iParm1 + 0x5c) = *(float *)(iParm1 + 0x5c) - fVar2 * *(float *)(iParm1 + 0x2c); - *(float *)(iParm1 + 0x60) = *(float *)(iParm1 + 0x60) - fVar2 * *(float *)(iParm1 + 0x30); - FUN_7f040544(iParm1); - return; -} - - - -undefined8 loc_7F043B68(int iParm1,int iParm2,undefined4 uParm3,undefined4 uParm4) - -{ - int iVar1; - undefined8 uVar2; - longlong lVar3; - undefined4 uVar4; - undefined auStack196 [64]; - undefined auStack132 [64]; - undefined auStack68 [68]; - - if ((*(byte *)(iParm2 + 1) & 2) == 0) { - uVar2 = 0; - } - else { - iVar1 = *(int *)(iParm1 + 4); - lVar3 = FUN_7f03ff58(); - *(undefined4 *)(iVar1 + 0x6c) = (int)lVar3; - if (lVar3 == 0) { - uVar2 = 0; - } - else { - uVar4 = FUN_7f06cd98(uParm3,uParm4,0); - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 0x40; - loc_7F03E1F8(iParm1); - FUN_7f03a5f8(iParm1); - unset_stateflag_0x04_for_posdata(iParm1); - *(undefined4 *)(*(int *)(iVar1 + 0x14) + 0x18) = uParm3; - *(undefined4 *)(*(int *)(iVar1 + 0x14) + 0x1c) = uParm4; - loc_7F03A5C0(iParm1,iParm2); - loc_7F058030(iVar1 + 0x18,auStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iVar1 + 0x58,auStack68); - uVar2 = FUN_7f0784c4(); - loc_7F05823C(uVar2,uVar4,auStack132); - sub_7F059FB8(auStack132,auStack196); - loc_7F05823C(auStack196,auStack68,*(int *)(iVar1 + 0x6c) + 4); - uVar2 = 1; - } - } - return uVar2; -} - - - -undefined8 loc_7F043D60(int iParm1,undefined2 uParm2) - -{ - bool bVar1; - int iVar2; - int iVar5; - longlong lVar3; - undefined8 uVar4; - int iVar6; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - int iStack16; - uint uStack8; - int iStack4; - - iVar5 = *(int *)(iParm1 + 4); - uStack8 = (*(uint *)(iVar5 + 100) & 0x60000) >> 0x11; - iVar6 = *(int *)(iParm1 + 0x1c); - if (iVar6 == 0) { - bVar1 = (*(uint *)(iVar5 + 8) & 0xe) == 0; - if (bVar1) { - bVar1 = (*(byte *)(iParm1 + 1) & 8) == 0; - } - uVar4 = FUN_7f09b790(0,iVar5 + 0x58,*(undefined4 *)(iParm1 + 0x14),uParm2,(uint)bVar1,uStack8, - iParm1 + 0x2c,(uint)((*(byte *)(iParm1 + 1) & 8) != 0)); - } - else { - iVar2 = *(int *)(iVar6 + 0x1c); - if (*(int *)(iVar6 + 0x1c) == 0) { - uStack20 = *(undefined4 *)(iVar6 + 0x14); - } - else { - do { - iVar6 = iVar2; - iVar2 = *(int *)(iVar6 + 0x1c); - } while (*(int *)(iVar6 + 0x1c) != 0); - uStack20 = *(undefined4 *)(iVar6 + 0x14); - } - if ((*(byte *)(iParm1 + 1) & 2) == 0) { - uStack32 = *(undefined4 *)(iVar6 + 8); - uStack28 = *(undefined4 *)(iVar6 + 0xc); - uStack24 = *(undefined4 *)(iVar6 + 0x10); - } - else { - iStack16 = iVar6; - iStack4 = iVar5; - iVar5 = FUN_7f06cdd8(*(undefined4 *)(iVar5 + 0x14)); - uStack32 = *(undefined4 *)(iVar5 + 0x30); - uStack28 = *(undefined4 *)(iVar5 + 0x34); - uStack24 = *(undefined4 *)(iVar5 + 0x38); - uVar4 = FUN_7f0784c4(); - FUN_7f05891c(uVar4,&uStack32); - iVar5 = iStack4; - iVar6 = iStack16; - } - if (((*(byte *)(iVar6 + 1) & 8) == 0) && - (iStack16 = iVar6, iStack4 = iVar5, - lVar3 = sub_7F0B0BE4(&uStack20,*(undefined4 *)(iVar6 + 8),*(undefined4 *)(iVar6 + 0x10), - uStack32,uStack24), iVar6 = iStack16, lVar3 != 0)) { - uVar4 = FUN_7f09b790(0,&uStack32,uStack20,uParm2,(uint)((*(uint *)(iStack4 + 8) & 0xe) == 0), - uStack8,iStack16 + 0x2c,0); - } - else { - uVar4 = FUN_7f09b790(0,&uStack32,uStack20,uParm2,0,uStack8,iVar6 + 0x2c,1); - } - } - return uVar4; -} - - - -void FUN_7f043e34(int iParm1) - -{ - char cVar1; - short sVar2; - int iVar3; - int iVar4; - undefined8 uVar5; - longlong lVar6; - int iVar7; - undefined4 uVar8; - short sVar9; - float fVar10; - float fVar11; - float fVar12; - - iVar3 = *(int *)(iParm1 + 4); - uVar5 = FUN_7f09a690(); - lVar6 = FUN_7f09aa18(uVar5); - if (lVar6 != 0) { - return; - } - if (*(char *)(iVar3 + 3) == '\a') { - if (-1 < *(int *)(iVar3 + 8) << 3) { - return; - } - loc_7F043D60(iParm1,0xc); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (*(char *)(iVar3 + 3) != '\b') { - return; - } - iVar4 = *(int *)(iParm1 + 4); - cVar1 = *(char *)(iVar4 + 0x80); - sVar9 = (short)DAT_80040ff4; - if (((cVar1 == '\x1a') || (cVar1 == 'W')) && (-1 < *(short *)(iVar4 + 0x82))) { - *(short *)(iVar4 + 0x82) = *(short *)(iVar4 + 0x82) - sVar9; - if (-1 < *(short *)(iVar4 + 0x82)) { - return; - } - uVar5 = 0xd; - if (*(int *)(iVar3 + 0xc) < 0) { - uVar5 = 0x11; - } - loc_7F043D60(iParm1,uVar5); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (cVar1 == 'V') { - if (*(short *)(iVar4 + 0x82) != 0) { - return; - } - uVar5 = 0xd; - if (*(int *)(iVar3 + 0xc) < 0) { - uVar5 = 0x11; - } - loc_7F043D60(iParm1,uVar5); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (cVar1 == '\"') { - if (*(short *)(iVar4 + 0x82) != 0) { - return; - } - loc_7F043D60(iParm1,0x11); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - FUN_7f08c2d4(100); - FUN_7f056440(2,0); - return; - } - if (((cVar1 == '\x1b') || (cVar1 == '!')) && (-1 < *(short *)(iVar4 + 0x82))) { - *(short *)(iVar4 + 0x82) = *(short *)(iVar4 + 0x82) - sVar9; - if (-1 < *(short *)(iVar4 + 0x82)) { - return; - } - uVar5 = 0xd; - if (*(int *)(iVar3 + 0xc) < 0) { - uVar5 = 0x11; - } - lVar6 = loc_7F043D60(iParm1,uVar5); - if (lVar6 == 0) { - return; - } - *(undefined2 *)(iVar4 + 0x82) = 0xffff; - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (cVar1 == '\x1d') { - if (DAT_8002c044 == 0) { - sVar9 = *(short *)(iVar4 + 0x82); - } - else { - if ((DAT_8002c044 & 1 << ((*(uint *)(iVar3 + 100) & 0x60000) >> 0x11)) == 0) { - sVar9 = *(short *)(iVar4 + 0x82); - } - else { - *(undefined2 *)(iVar4 + 0x82) = 0; - sVar9 = *(short *)(iVar4 + 0x82); - } - } - if (1 < sVar9) { - *(short *)(iVar4 + 0x82) = sVar9 - (short)DAT_80040ff4; - if (1 < *(short *)(iVar4 + 0x82)) { - return; - } - *(undefined2 *)(iVar4 + 0x82) = 1; - return; - } - if (sVar9 != 0) { - return; - } - if (*(int *)(iVar3 + 0xc) < 0) { - uVar8 = 0x11; - } - else { - lVar6 = FUN_70005da4(); - uVar8 = 0xd; - if (lVar6 == 0x22) { - uVar8 = 0x13; - } - } - lVar6 = loc_7F043D60(iParm1,uVar8); - if (lVar6 == 0) { - return; - } - *(undefined2 *)(iVar4 + 0x82) = 0xffff; - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (cVar1 != '\x1c') { - return; - } - sVar2 = *(short *)(iVar4 + 0x82); - if (sVar2 < 2) { - if (sVar2 != 1) { - sVar9 = *(short *)(iVar4 + 0x82); - goto LAB_7f04423c; - } - iVar7 = FUN_7f089900(); - fVar10 = *(float *)(iVar7 + 8) - *(float *)(iParm1 + 8); - fVar11 = *(float *)(iVar7 + 0xc) - *(float *)(iParm1 + 0xc); - fVar12 = *(float *)(iVar7 + 0x10) - *(float *)(iParm1 + 0x10); - if (DAT_80048bd4 <= fVar10 * fVar10 + fVar11 * fVar11 + fVar12 * fVar12) { - sVar9 = *(short *)(iVar4 + 0x82); - goto LAB_7f04423c; - } - *(undefined2 *)(iVar4 + 0x82) = 0; - } - else { - *(short *)(iVar4 + 0x82) = sVar2 - sVar9; - if (1 < *(short *)(iVar4 + 0x82)) { - sVar9 = *(short *)(iVar4 + 0x82); - goto LAB_7f04423c; - } - *(undefined2 *)(iVar4 + 0x82) = 1; - FUN_7f051e3c(iVar4); - } - sVar9 = *(short *)(iVar4 + 0x82); -LAB_7f04423c: - if (sVar9 == 0) { - uVar5 = 0xd; - if (*(int *)(iVar3 + 0xc) < 0) { - uVar5 = 0x11; - } - lVar6 = loc_7F043D60(iParm1,uVar5); - if (lVar6 != 0) { - *(undefined2 *)(iVar4 + 0x82) = 0xffff; - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - FUN_7f051e74(iVar4); - } - } - return; -} - - - -void loc_7F04423C(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar2 = *(int *)(iParm1 + 0x20); - while (iVar2 != 0) { - iVar1 = *(int *)(iVar2 + 0x24); - loc_7F04423C(iVar2); - loc_7F04CA2C(iVar2); - iVar2 = iVar1; - } - return; -} - - - -void loc_7F0442CC(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar1 = *(int *)(iParm1 + 4); - if ((*(uint *)(iVar1 + 100) & 4) == 0) { - *(byte *)(iParm1 + 1) = *(byte *)(iParm1 + 1) & 0xfd; - FUN_7f043e34(iParm1); - iVar1 = *(int *)(iParm1 + 0x20); - while (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 0x24); - loc_7F0442CC(iVar1); - iVar1 = iVar2; - } - } - else { - loc_7F041010(iVar1,1,(ulonglong)*(byte *)(iVar1 + 2) & 4); - } - return; -} - - - -void loc_7F044400(int iParm1) - -{ - byte bVar1; - int iVar2; - int iVar3; - undefined4 uVar5; - undefined8 uVar4; - - iVar2 = *(int *)(iParm1 + 4); - iVar3 = *(int *)(iVar2 + 0x14); - if ((*(uint *)(iVar2 + 100) & 4) == 0) { - if (*(int *)(iVar3 + 0x1c) == 0) { - bVar1 = *(byte *)(iParm1 + 1); - } - else { - if ((*(uint *)(iVar2 + 100) & 0x40) != 0) { - uVar5 = FUN_7f06cd98(*(undefined4 *)(iVar3 + 0x18),*(int *)(iVar3 + 0x1c),0); - *(byte *)(iParm1 + 1) = *(byte *)(iParm1 + 1) | 2; - uVar4 = FUN_7f0bcac4((int)*(short *)(*(int *)(iVar3 + 8) + 0xe) << 6); - *(undefined4 *)(iVar3 + 0xc) = (int)uVar4; - loc_7F05823C(uVar5,*(int *)(iVar2 + 0x6c) + 4,uVar4); - loc_7F06EFB0(iVar3,**(undefined4 **)(iVar3 + 8)); - FUN_7f043e34(iParm1); - iVar2 = *(int *)(iParm1 + 0x20); - while (iVar2 != 0) { - iVar3 = *(int *)(iVar2 + 0x24); - loc_7F044400(iVar2); - iVar2 = iVar3; - } - return; - } - bVar1 = *(byte *)(iParm1 + 1); - } - *(byte *)(iParm1 + 1) = bVar1 & 0xfd; - FUN_7f043e34(iParm1); - iVar2 = *(int *)(iParm1 + 0x20); - while (iVar2 != 0) { - iVar3 = *(int *)(iVar2 + 0x24); - loc_7F0442CC(iVar2); - iVar2 = iVar3; - } - } - else { - loc_7F041010(iVar2,1,(ulonglong)*(byte *)(iVar2 + 2) & 4); - } - return; -} - - - -undefined8 loc_7F044684(float *pfParm1,int iParm2,float *pfParm3,int iParm4) - -{ - longlong lVar1; - float *pfVar2; - int iVar3; - int iVar4; - int iVar5; - float *pfVar6; - int iVar7; - double dVar8; - double dVar9; - double dVar10; - double dVar11; - ulonglong unaff_f22; - float fStack68; - undefined4 uStack64; - float fStack60; - double dStack48; - - if (0 < iParm2) { - iVar4 = 0; - pfVar6 = pfParm1; - do { - iVar7 = iVar4 + 1; - fStack68 = *pfVar6; - dVar10 = (double)(pfParm1 + (iVar7 % iParm2) * 2)[1] - (double)pfVar6[1]; - if (iParm2 == 0) { - trap(0x1c00); - } - if ((iParm2 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - iVar5 = iVar7 % iParm2 + 1; - dVar11 = (double)fStack68 - (double)pfParm1[(iVar7 % iParm2) * 2]; - if ((dVar10 == (double)(unaff_f22 & 0xffffffff00000000)) && - (dVar11 == (double)(unaff_f22 & 0xffffffff00000000))) { - uStack64 = 0; - fStack60 = pfVar6[1]; - lVar1 = loc_7F03CF7C(&fStack68,pfParm3,iParm4); - if (lVar1 != 0) { - return 0; - } - } - else { - iVar3 = 0; - dVar9 = (double)pfVar6[1] * dVar11 + (double)fStack68 * dVar10; - if (iParm2 == 0) { - trap(0x1c00); - } - if ((iParm2 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - while ((iVar5 %= iParm2, iVar4 != iVar5 && - (dStack48 = (double)(pfParm1 + iVar5 * 2)[1] * dVar11 + - (double)pfParm1[iVar5 * 2] * dVar10, dStack48 == dVar9))) { - iVar5 += 1; - if (iParm2 == 0) { - trap(0x1c00); - } - if ((iParm2 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - } - pfVar2 = pfParm3; - if (0 < iParm4) { - do { - dVar8 = (double)pfVar2[1] * dVar11 + (double)*pfVar2 * dVar10; - if (dStack48 == dVar9) { - dStack48 = (dVar9 - dVar8) + dVar9; - } - if (((dVar8 < dVar9) && (dStack48 < dVar9)) || ((dVar9 < dVar8 && (dVar9 < dStack48)))) - break; - iVar3 += 1; - pfVar2 = pfVar2 + 2; - } while (iVar3 != iParm4); - } - if (iVar3 == iParm4) { - return 1; - } - } - pfVar6 = pfVar6 + 2; - iVar4 = iVar7; - } while (iVar7 != iParm2); - } - return 0; -} - - - -undefined8 FUN_7f044760(undefined4 *puParm1,int iParm2,undefined4 *puParm3,int iParm4) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 *puVar3; - int iVar4; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - iVar4 = 0; - if (0 < iParm2) { - puVar3 = puParm1; - do { - uStack16 = *puVar3; - uStack12 = 0; - uStack8 = puVar3[1]; - lVar1 = loc_7F03CF7C(&uStack16,puParm3,iParm4); - iVar4 += 1; - if (lVar1 != 0) { - return 1; - } - puVar3 = puVar3 + 2; - } while (iVar4 != iParm2); - } - iVar4 = 0; - puVar3 = puParm3; - if (0 < iParm4) { - do { - uStack16 = *puVar3; - uStack12 = 0; - uStack8 = puVar3[1]; - lVar1 = loc_7F03CF7C(&uStack16,puParm1,iParm2); - iVar4 += 1; - if (lVar1 != 0) { - return 1; - } - puVar3 = puVar3 + 2; - } while (iVar4 != iParm4); - } - lVar1 = loc_7F044684(puParm1,iParm2,puParm3,iParm4); - if (lVar1 == 0) { - lVar1 = loc_7F044684(puParm3,iParm4,puParm1,iParm2); - if (lVar1 == 0) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -undefined8 loc_7F044870(undefined8 uParm1,float fParm2,undefined4 *puParm3,int iParm4) - -{ - longlong lVar1; - undefined4 *puVar2; - int iVar3; - float fVar4; - float fVar5; - undefined4 uVar6; - float fVar7; - - iVar3 = 0; - puVar2 = puParm3; - if (0 < iParm4) { - do { - iVar3 += 1; - if (iParm4 == 0) { - trap(0x1c00); - } - if ((iParm4 == -1) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - fVar7 = (float)loc_7F0B1788(*puVar2,puVar2[1]); - if (fVar7 < 0.00000000) { - fVar7 = -fVar7; - uVar6 = *puVar2; - } - else { - uVar6 = *puVar2; - } - fVar4 = (float)sub_7F0B1794(uVar6,puVar2[1]); - fVar5 = (float)sub_7F0B1794(puParm3[(iVar3 % iParm4) * 2],(puParm3 + (iVar3 % iParm4) * 2)[1]) - ; - if ((fVar7 < fParm2) && - (((fVar4 < fParm2 || (fVar5 < fParm2)) || - (lVar1 = locret_7F0B18B0(*puVar2,puVar2[1]), lVar1 != 0)))) { - return 1; - } - puVar2 = puVar2 + 2; - } while (iVar3 != iParm4); - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f044c30) overlaps instruction at (ram,0x7f044c2c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F044B14(char *pcParm1) - -{ - bool bVar1; - char cVar2; - char cVar3; - longlong lVar4; - char *pcVar5; - short *psVar6; - int iVar7; - float fVar8; - float *pfVar9; - float fStack96; - float fStack92; - int iStack88; - undefined4 auStack84 [4]; - undefined4 uStack68; - float fStack64; - float afStack60 [2]; - undefined auStack52 [32]; - float fStack20; - float fStack16; - int iStack12; - undefined4 auStack8 [2]; - - pfVar9 = &fStack20; - loc_7F03CCA4(pcParm1,auStack8,&iStack12,&fStack16,pfVar9); - if (0 < iStack12) { - loc_7F03CC0C(pcParm1,auStack52); - FUN_7f03e4bc(auStack52); - lVar4 = (longlong)*_DAT_80058b70; - iVar7 = (int)*_DAT_80058b70; - psVar6 = _DAT_80058b70; - if (-1 < lVar4) { - do { - iVar7 = (iVar7 * 0x10 + (int)lVar4 * -4 + (int)lVar4) * 4; - pcVar5 = (char *)(iVar7 + -0x7ffa7488); - if (pcVar5 == pcParm1) { - lVar4 = (longlong)psVar6[1]; - goto LAB_7f044c98; - } - cVar2 = *pcVar5; - if ((cVar2 == '\x06') || (cVar2 == '\x03')) { - if ((*(int *)(iVar7 + -0x7ffa7484) == 0) || - ((*(uint *)(*(int *)(iVar7 + -0x7ffa7484) + 0x14) & 0x400) == 0)) { - FUN_7f03d048(pcVar5,&uStack68,afStack60,&fStack64,pfVar9); - fVar8 = (float)FUN_7f03d0a8(pcVar5); - fStack64 = fStack64 + fVar8; - afStack60[0] = afStack60[0] + fVar8; - if (fStack64 <= fStack16) { - if (fStack20 <= afStack60[0]) { - lVar4 = loc_7F03CF7C(iVar7 + -0x7ffa7480,auStack8[0],iStack12); - bVar1 = lVar4 == 0; - if ((bVar1) && - (lVar4 = loc_7F044870(iVar7 + -0x7ffa7480,uStack68,auStack8[0],iStack12), - lVar4 != 0)) { - bVar1 = false; - } - if (!bVar1) { - if ((*pcVar5 == '\x03') && (*pcParm1 == '\x02')) { - *(ushort *)(*(int *)(iVar7 + -0x7ffa7484) + 0x12) = - *(ushort *)(*(int *)(iVar7 + -0x7ffa7484) + 0x12) | 0x10; - } - return 0; - } - lVar4 = (longlong)psVar6[1]; - goto LAB_7f044c98; - } -LAB_7f044c94: - lVar4 = (longlong)psVar6[1]; - } - else { - lVar4 = (longlong)psVar6[1]; - } - } - else { - lVar4 = (longlong)psVar6[1]; - } - } - else { - if (cVar2 == '\x01') { -LAB_7f044bfc: - cVar3 = *pcParm1; - } - else { - if (cVar2 != '\x04') { - if (cVar2 != '\x02') { - lVar4 = (longlong)psVar6[1]; - goto LAB_7f044c98; - } - goto LAB_7f044bfc; - } - cVar3 = *pcParm1; - } - if (cVar3 == '\x02') { - if (cVar2 == '\x02') { - lVar4 = (longlong)psVar6[1]; - goto LAB_7f044c98; - } - cVar2 = *(char *)(*(int *)(iVar7 + -0x7ffa7484) + 3); - if ((cVar2 == '+') || (cVar2 == '(')) goto LAB_7f044c94; - } - pfVar9 = &fStack96; - loc_7F03CCA4(pcVar5,auStack84,&iStack88,&fStack92); - if (iStack88 < 1) { - lVar4 = (longlong)psVar6[1]; - } - else { - if (fStack96 <= fStack16) { - if (fStack20 <= fStack92) { - lVar4 = FUN_7f044760(auStack84[0],iStack88,auStack8[0],iStack12); - if (lVar4 != 0) { - return 0; - } - lVar4 = (longlong)psVar6[1]; - } - else { - lVar4 = (longlong)psVar6[1]; - } - } - else { - lVar4 = (longlong)psVar6[1]; - } - } - } -LAB_7f044c98: - psVar6 = psVar6 + 1; - if (lVar4 < 0) { - return 1; - } - iVar7 = (int)lVar4; - } while( true ); - } - } - return 1; -} - - - -int loc_7F0451C4(int iParm1) - -{ - int iVar1; - int iVar2; - longlong lVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fStack228; - float fStack224; - float fStack220; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - undefined4 uStack152; - undefined4 uStack148; - undefined auStack144 [64]; - int iStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - int iStack16; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x14); - iVar1 = *(int *)(iParm1 + 0x10); - iVar2 = *(int *)(*(int *)(iStack4 + 8) + 8); - iStack16 = *(int *)(*(int *)(iVar2 + 4) + 4); - uStack20 = *(undefined4 *)(*(int *)(iVar2 + 8) + 4); - uStack24 = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 4); - uStack28 = *(undefined4 *)(*(int *)(iVar2 + 0x10) + 4); - iStack80 = 1; - uStack152 = *(undefined4 *)(*(int *)(iVar2 + 0x18) + 4); - FUN_7f058aa4(*(undefined4 *)(iParm1 + 0xa0),iParm1,auStack144); - matrix_multiply_A1_by_F12(*(undefined4 *)(iStack4 + 0x14)); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iParm1 + 0x58,auStack144); - FUN_7f0588c0(auStack144,iStack16,&fStack40); - FUN_7f0588c0(auStack144,uStack20,&fStack52); - FUN_7f0588c0(auStack144,uStack24,&fStack64); - FUN_7f0588c0(auStack144,uStack28,&fStack76); - uStack148 = *(undefined4 *)(iVar1 + 0x14); - lVar3 = sub_7F0B0BE4(&uStack148,*(undefined4 *)(iVar1 + 8),*(undefined4 *)(iVar1 + 0x10),fStack40, - fStack32); - if (lVar3 == 0) { - iStack80 = 0; - } - else { - fStack36 = (float)FUN_7f0b1c30(uStack148,fStack40,fStack32); - } - uStack148 = *(undefined4 *)(iVar1 + 0x14); - lVar3 = sub_7F0B0BE4(&uStack148,*(undefined4 *)(iVar1 + 8),*(undefined4 *)(iVar1 + 0x10),fStack52, - fStack44); - if (lVar3 == 0) { - iStack80 = 0; - } - else { - fStack48 = (float)FUN_7f0b1c30(uStack148,fStack52,fStack44); - } - uStack148 = *(undefined4 *)(iVar1 + 0x14); - lVar3 = sub_7F0B0BE4(&uStack148,*(undefined4 *)(iVar1 + 8),*(undefined4 *)(iVar1 + 0x10),fStack64, - fStack56); - if (lVar3 == 0) { - iStack80 = 0; - } - else { - fStack60 = (float)FUN_7f0b1c30(uStack148,fStack64,fStack56); - } - uStack148 = *(undefined4 *)(iVar1 + 0x14); - lVar3 = sub_7F0B0BE4(&uStack148,*(undefined4 *)(iVar1 + 8),*(undefined4 *)(iVar1 + 0x10),fStack76, - fStack68); - if (lVar3 == 0) { - iStack80 = 0; - } - else { - fStack72 = (float)FUN_7f0b1c30(uStack148,fStack76,fStack68); - } - if (iStack80 == 0) { - FUN_7f058aa4(*(undefined4 *)(iParm1 + 0xa0),iParm1 + 0x18,iParm1 + 0x18,&fStack156); - matrix_multiply_A1_by_F12(*(undefined4 *)(iStack4 + 0x14)); - fVar6 = (float)FUN_7f0b1c30(*(undefined4 *)(iVar1 + 0x14),*(undefined4 *)(iVar1 + 8), - *(undefined4 *)(iVar1 + 0x10)); - fVar5 = (float)sub_7F03E864(uStack152); - fVar6 = fVar6 - (*(float *)(iStack16 + 4) + fVar5) * *(float *)(iStack4 + 0x14); - *(float *)(iVar1 + 0xc) = fVar6; - *(float *)(iParm1 + 0x5c) = fVar6; - } - else { - fStack164 = fStack52 - fStack40; - fStack160 = fStack48 - fStack36; - fStack156 = fStack44 - fStack32; - guNormalize(&fStack164,&fStack160); - fStack176 = fStack76 - fStack52; - fStack172 = fStack72 - fStack48; - fStack168 = fStack68 - fStack44; - guNormalize(&fStack176,&fStack172,&fStack168); - fStack188 = fStack64 - fStack76; - fStack184 = fStack60 - fStack72; - fStack180 = fStack56 - fStack68; - guNormalize(&fStack188,&fStack184,&fStack180); - fStack200 = fStack40 - fStack64; - fStack196 = fStack36 - fStack60; - fStack192 = fStack32 - fStack56; - guNormalize(&fStack200,&fStack196,&fStack192); - fStack224 = fStack156 * fStack176 - fStack168 * fStack164; - fVar6 = fStack168 * fStack188 - fStack180 * fStack176; - if (((fStack224 < fVar6) || (fStack224 < fStack180 * fStack200 - fStack192 * fStack188)) || - (fStack224 < fStack192 * fStack164 - fStack156 * fStack200)) { - fStack224 = fStack180 * fStack200 - fStack192 * fStack188; - fVar5 = fStack192 * fStack164 - fStack156 * fStack200; - if ((fVar6 < fStack224) || (fVar6 < fVar5)) { - if (fVar5 <= fStack224) { - fStack228 = fStack184 * fStack192 - fStack196 * fStack180; - fStack220 = fStack188 * fStack196 - fStack200 * fStack184; - } - else { - fStack228 = fStack196 * fStack156 - fStack160 * fStack192; - fStack220 = fStack200 * fStack160 - fStack164 * fStack196; - fStack224 = fVar5; - } - } - else { - fStack228 = fStack172 * fStack180 - fStack184 * fStack168; - fStack220 = fStack176 * fStack184 - fStack188 * fStack172; - fStack224 = fVar6; - } - } - else { - fStack228 = fStack160 * fStack168 - fStack172 * fStack156; - fStack220 = fStack164 * fStack172 - fStack176 * fStack160; - } - fVar6 = (float)func_7F057FC4(*(undefined4 *)(iParm1 + 0xa0)); - fVar5 = (float)func_7F057FC4(*(undefined4 *)(iParm1 + 0xa0)); - sub_GAME_7F05A9B8(); - *(float *)(iParm1 + 0x28) = fStack228; - fVar8 = *(float *)(iParm1 + 0x28); - *(float *)(iParm1 + 0x2c) = fStack224; - fVar7 = *(float *)(iParm1 + 0x2c); - *(float *)(iParm1 + 0x30) = fStack220; - fVar4 = *(float *)(iParm1 + 0x30); - *(float *)(iParm1 + 0x18) = fVar7 * fVar5 - fVar4 * 0.00000000; - *(float *)(iParm1 + 0x1c) = fVar4 * fVar6 - fVar5 * fVar8; - *(float *)(iParm1 + 0x20) = fVar8 * 0.00000000 - fVar6 * fVar7; - *(float *)(iParm1 + 0x38) = - *(float *)(iParm1 + 0x1c) * fVar4 - fVar7 * *(float *)(iParm1 + 0x20); - *(float *)(iParm1 + 0x3c) = - *(float *)(iParm1 + 0x20) * fVar8 - fVar4 * *(float *)(iParm1 + 0x18); - *(float *)(iParm1 + 0x40) = - *(float *)(iParm1 + 0x18) * fVar7 - fVar8 * *(float *)(iParm1 + 0x1c); - matrix_multiply_A1_by_F12(*(undefined4 *)(iStack4 + 0x14)); - FUN_7f0588c0(iParm1 + 0x18,iStack16,&fStack52); - fVar6 = (float)sub_7F03E864(uStack152); - fStack48 = (fStack36 - fVar6 * *(float *)(iStack4 + 0x14)) - fStack48; - *(float *)(iVar1 + 0xc) = fStack48; - *(float *)(iParm1 + 0x5c) = fStack48; - } - return iStack80; -} - - - -int FUN_7f045370(float *pfParm1,float fParm2,float fParm3,float fParm4) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - - iVar1 = FUN_7f089900(); - fVar2 = *pfParm1 - *(float *)(iVar1 + 8); - fVar3 = pfParm1[1] - *(float *)(iVar1 + 0xc); - fVar4 = pfParm1[2] - *(float *)(iVar1 + 0x10); - fVar2 = (float)sqrtf(fVar2 * fVar2 + fVar3 * fVar3 + fVar4 * fVar4); - if (fParm3 < fVar2) { - iVar1 = 0xff; - } - else { - if (fVar2 < fParm2) { - iVar1 = (int)(fParm4 * 255.00000000); - } - else { - iVar1 = (int)((((fVar2 - fParm2) * (1.00000000 - fParm4)) / (fParm3 - fParm2) + fParm4) * - 255.00000000); - } - } - return iVar1; -} - - -/* -Unable to decompile 'FUN_7f045468' -Cause: Exception while decompiling 7f045468: process: timeout - -*/ - - -undefined8 loc_7F049C60(undefined8 uParm1) - -{ - char cVar1; - int iVar2; - undefined8 uVar3; - longlong lVar4; - longlong lVar5; - char *pcVar6; - - pcVar6 = (char *)FUN_7f03a4e4(); - if (pcVar6 == NULL) { - return uParm1; - } - cVar1 = *pcVar6; - do { - if (cVar1 == '\x03') { - iVar2 = *(int *)(pcVar6 + 4); - uVar3 = loc_7F062AE4(uParm1,iVar2 + 0x180,1); - uParm1 = loc_7F062AE4(uVar3,iVar2 + 0x1ac,1); -LAB_7f049e30: - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - if (cVar1 == '\x01') { - if (*(char *)(*(int *)(pcVar6 + 4) + 3) == '\r') { - uParm1 = loc_7F062AE4(uParm1,*(undefined4 *)(*(int *)(pcVar6 + 4) + 0xcc),1); - goto LAB_7f049e30; - } - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - if (cVar1 == '\x06') { - if (*(int *)(pcVar6 + 4) != 0) { - lVar4 = FUN_7f09a69c(pcVar6); - lVar5 = FUN_7f09a690(); - if (lVar5 != lVar4) { - iVar2 = *(int *)(pcVar6 + 4); - uVar3 = loc_7F062AE4(uParm1,iVar2 + 0x180,1); - uParm1 = loc_7F062AE4(uVar3,iVar2 + 0x1ac,1); - } - goto LAB_7f049e30; - } - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - } - if (pcVar6 == NULL) { - return uParm1; - } - cVar1 = *pcVar6; - } while( true ); -} - - - -void save_ptr_monitor_ani_code_to_obj_ani_slot(undefined4 *puParm1,undefined4 uParm2) - -{ - *puParm1 = uParm2; - *(undefined2 *)(puParm1 + 1) = 0; - return; -} - - - -void FUN_7f049e74(undefined8 uParm1,undefined4 uParm2) - -{ - undefined *puVar1; - - puVar1 = &LAB_8002c0c4; - if (true) { - switch(uParm2) { - case 1: - puVar1 = &LAB_8002c150; - break; - case 2: - puVar1 = &DAT_8002c374; - break; - case 3: - puVar1 = &LAB_8002c494; - break; - case 4: - puVar1 = &DAT_8002c568; - break; - case 5: - puVar1 = &DAT_8002c5c4; - break; - case 6: - puVar1 = &DAT_8002c640; - break; - case 7: - puVar1 = &DAT_8002c6dc; - break; - case 8: - puVar1 = &DAT_8002c76c; - break; - case 9: - puVar1 = &DAT_8002c798; - break; - case 10: - puVar1 = &DAT_8002c7c4; - break; - case 0xb: - puVar1 = &DAT_8002c844; - break; - case 0xc: - puVar1 = &DAT_8002c860; - break; - case 0xd: - puVar1 = &DAT_8002c9e0; - break; - case 0xe: - puVar1 = &DAT_8002ca48; - break; - case 0xf: - puVar1 = &DAT_8002c418; - break; - case 0x10: - puVar1 = &DAT_8002c8b0; - break; - case 0x11: - puVar1 = &DAT_8002cabc; - break; - case 0x12: - puVar1 = &DAT_8002cb1c; - break; - case 0x13: - puVar1 = &DAT_8002cd98; - break; - case 0x14: - puVar1 = &DAT_8002cde8; - break; - case 0x15: - puVar1 = &DAT_8002ce08; - break; - case 0x16: - puVar1 = &DAT_8002ce6c; - break; - case 0x17: - puVar1 = &DAT_8002cea0; - break; - case 0x18: - puVar1 = &LAB_8002cf24; - break; - case 0x19: - puVar1 = &LAB_8002cf40; - break; - case 0x1a: - puVar1 = &LAB_8002cf5c; - break; - case 0x1b: - puVar1 = &LAB_8002cf78; - break; - case 0x1c: - puVar1 = &DAT_8002cf94; - break; - case 0x1d: - puVar1 = &LAB_8002cfb0; - break; - case 0x1e: - puVar1 = &LAB_8002cfcc; - break; - case 0x1f: - puVar1 = &LAB_8002cfe8; - break; - case 0x20: - puVar1 = &LAB_8002d004; - break; - case 0x21: - puVar1 = &LAB_8002d020; - break; - case 0x22: - puVar1 = &DAT_8002d03c; - break; - case 0x23: - puVar1 = &DAT_8002d074; - break; - case 0x24: - puVar1 = &DAT_8002d088; - break; - case 0x25: - puVar1 = &DAT_8002d09c; - break; - case 0x26: - puVar1 = &LAB_8002d0b0; - break; - case 0x27: - puVar1 = &LAB_8002d104; - break; - case 0x28: - puVar1 = &DAT_8002d120; - break; - case 0x29: - puVar1 = &DAT_8002d13c; - break; - case 0x2a: - puVar1 = &DAT_8002d158; - break; - case 0x2b: - puVar1 = &DAT_8002d1d0; - break; - case 0x2c: - puVar1 = &LAB_8002d280; - break; - case 0x2d: - puVar1 = &LAB_8002d2a8; - break; - case 0x2e: - puVar1 = &DAT_8002d2f8; - break; - case 0x2f: - puVar1 = &DAT_8002d344; - break; - case 0x30: - puVar1 = &DAT_8002d390; - break; - case 0x31: - puVar1 = &DAT_8002d3c8; - break; - case 0x32: - puVar1 = &DAT_8002d400; - break; - case 0x33: - puVar1 = &DAT_8002d438; - } - } - save_ptr_monitor_ani_code_to_obj_ani_slot(uParm1,puVar1); - return; -} - - - -void save_img_index_to_obj_ani_slot(int iParm1,undefined4 uParm2) - -{ - *(undefined4 *)(iParm1 + 8) = uParm2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * -loc_7F04ABF8(int iParm1,ushort *puParm2,int *piParm3,undefined4 *puParm4,undefined4 uParm5, - undefined4 uParm6) - -{ - undefined uVar1; - ushort uVar2; - int iVar3; - int iVar4; - bool bVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 uVar9; - undefined4 *puVar10; - short sVar11; - uint uVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - undefined4 *puStackX12; - - puStackX12 = puParm4; - if ((puParm2 != NULL) && (puStackX12 = puParm4, (*puParm2 & 0xff) == 0x18)) { - puStackX12 = puParm4; - puVar7 = (undefined4 *)FUN_7f0bca74(4); - puVar6 = puStackX12; - puStackX12 = puStackX12 + 2; - iVar3 = *(int *)(puParm2 + 2); - puVar8 = (undefined4 *)loc_7F06C888(iParm1,puParm2); - fVar15 = DAT_80048da8; - bVar5 = false; - uVar2 = *(ushort *)(piParm3 + 1); - while( true ) { - puVar10 = (undefined4 *)(*piParm3 + (uint)uVar2 * 4); - switch(*puVar10) { - case 0: - piParm3[0x10] = 0; - piParm3[0x15] = 0; - *(ushort *)(piParm3 + 1) = uVar2 + 1; - break; - case 1: - piParm3[0xf] = 0; - fVar19 = (float)puVar10[2]; - if ((int)puVar10[2] < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - piParm3[0x11] = piParm3[0xe]; - *(float *)(piParm3 + 0x10) = 1.00000000 / fVar19; - iVar4 = puVar10[1]; - *(ushort *)(piParm3 + 1) = uVar2 + 3; - *(float *)(piParm3 + 0x12) = (float)piParm3[0xe] + (float)iVar4 * 0.00097656; - break; - case 2: - piParm3[0x14] = 0; - fVar19 = (float)puVar10[2]; - if ((int)puVar10[2] < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - piParm3[0x16] = piParm3[0x13]; - *(float *)(piParm3 + 0x15) = 1.00000000 / fVar19; - iVar4 = puVar10[1]; - *(ushort *)(piParm3 + 1) = uVar2 + 3; - *(float *)(piParm3 + 0x17) = (float)piParm3[0x13] + (float)iVar4 * 0.00097656; - break; - case 3: - piParm3[0xf] = 0; - fVar19 = (float)puVar10[2]; - if ((int)puVar10[2] < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - piParm3[0x11] = piParm3[0xe]; - *(float *)(piParm3 + 0x10) = 1.00000000 / fVar19; - iVar4 = puVar10[1]; - *(ushort *)(piParm3 + 1) = uVar2 + 3; - *(float *)(piParm3 + 0x12) = (float)iVar4 * 0.00097656; - break; - case 4: - piParm3[0x14] = 0; - fVar19 = (float)puVar10[2]; - if ((int)puVar10[2] < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - piParm3[0x16] = piParm3[0x13]; - *(float *)(piParm3 + 0x15) = 1.00000000 / fVar19; - iVar4 = puVar10[1]; - *(ushort *)(piParm3 + 1) = uVar2 + 3; - *(float *)(piParm3 + 0x17) = (float)iVar4 * 0.00097656; - break; - case 5: - piParm3[5] = 0; - fVar19 = (float)puVar10[2]; - if ((int)puVar10[2] < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - piParm3[7] = piParm3[4]; - *(float *)(piParm3 + 6) = 1.00000000 / fVar19; - iVar4 = puVar10[1]; - *(ushort *)(piParm3 + 1) = uVar2 + 3; - *(float *)(piParm3 + 8) = (float)iVar4 * 0.00097656; - break; - case 6: - piParm3[10] = 0; - fVar19 = (float)puVar10[2]; - if ((int)puVar10[2] < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - piParm3[0xc] = piParm3[9]; - *(float *)(piParm3 + 0xb) = 1.00000000 / fVar19; - iVar4 = puVar10[1]; - *(ushort *)(piParm3 + 1) = uVar2 + 3; - *(float *)(piParm3 + 0xd) = (float)iVar4 * 0.00097656; - break; - case 7: - save_img_index_to_obj_ani_slot(piParm3,puVar10[1]); - *(short *)(piParm3 + 1) = *(short *)(piParm3 + 1) + 2; - break; - case 8: - if (*(short *)((int)piParm3 + 6) < 0) { - bVar5 = true; - *(undefined2 *)((int)piParm3 + 6) = (short)puVar10[1]; - } - else { - *(short *)((int)piParm3 + 6) = *(short *)((int)piParm3 + 6) - (short)DAT_80040ff4; - if (*(short *)((int)piParm3 + 6) < 0) { - *(short *)(piParm3 + 1) = *(short *)(piParm3 + 1) + 2; - } - else { - bVar5 = true; - } - } - break; - case 9: - save_ptr_monitor_ani_code_to_obj_ani_slot(piParm3,puVar10[1]); - break; - case 10: - uVar12 = FUN_700098b0(); - if (uVar12 >> 0x10 < (uint)puVar10[2]) { - save_ptr_monitor_ani_code_to_obj_ani_slot(piParm3,puVar10[1]); - } - else { - *(short *)(piParm3 + 1) = *(short *)(piParm3 + 1) + 3; - } - break; - case 0xb: - *(undefined2 *)(piParm3 + 1) = 0; - break; - case 0xc: - bVar5 = true; - break; - case 0xd: - piParm3[0x1b] = 0; - fVar19 = (float)puVar10[2]; - if ((int)puVar10[2] < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(undefined *)((int)piParm3 + 0x61) = *(undefined *)(piParm3 + 0x18); - *(float *)(piParm3 + 0x1c) = 1.00000000 / fVar19; - uVar9 = puVar10[1]; - *(undefined *)(piParm3 + 0x19) = *(undefined *)((int)piParm3 + 99); - *(undefined *)((int)piParm3 + 0x62) = (char)((uint)uVar9 >> 0x18); - uVar9 = puVar10[1]; - *(undefined *)((int)piParm3 + 0x67) = *(undefined *)((int)piParm3 + 0x66); - *(undefined *)((int)piParm3 + 0x65) = (char)((uint)uVar9 >> 0x10); - uVar9 = puVar10[1]; - *(undefined *)((int)piParm3 + 0x6a) = *(undefined *)((int)piParm3 + 0x69); - *(char *)(piParm3 + 0x1a) = (char)((uint)uVar9 >> 8); - uVar9 = puVar10[1]; - *(ushort *)(piParm3 + 1) = uVar2 + 3; - *(undefined *)((int)piParm3 + 0x6b) = (char)uVar9; - break; - case 0xe: - iVar4 = puVar10[1]; - *(ushort *)(piParm3 + 1) = uVar2 + 2; - *(float *)(piParm3 + 3) = ((float)iVar4 * fVar15) / 65536.00000000; - break; - case 0xf: - *(float *)(piParm3 + 3) = - (float)piParm3[3] + (DAT_80040ff8 * (float)puVar10[1] * fVar15) / 65536.00000000; - fVar19 = (float)piParm3[3]; - if (fVar15 <= fVar19) { - *(float *)(piParm3 + 3) = fVar19 - fVar15; - fVar19 = (float)piParm3[3]; - } - if (fVar19 < 0.00000000) { - *(float *)(piParm3 + 3) = fVar19 + fVar15; - sVar11 = *(short *)(piParm3 + 1); - } - else { - sVar11 = *(short *)(piParm3 + 1); - } - *(short *)(piParm3 + 1) = sVar11 + 2; - } - if (bVar5) break; - uVar2 = *(ushort *)(piParm3 + 1); - } - if (0.00000000 < (float)piParm3[6]) { - *(float *)(piParm3 + 5) = (float)piParm3[5] + (float)piParm3[6] * DAT_80040ff8; - if ((float)piParm3[5] < 1.00000000) { - *(float *)(piParm3 + 4) = - (float)piParm3[7] + ((float)piParm3[8] - (float)piParm3[7]) * (float)piParm3[5]; - } - else { - piParm3[5] = 0x3f800000; - piParm3[6] = 0; - piParm3[4] = piParm3[8]; - } - } - if (0.00000000 < (float)piParm3[0xb]) { - *(float *)(piParm3 + 10) = (float)piParm3[10] + (float)piParm3[0xb] * DAT_80040ff8; - if ((float)piParm3[10] < 1.00000000) { - *(float *)(piParm3 + 9) = - (float)piParm3[0xc] + ((float)piParm3[0xd] - (float)piParm3[0xc]) * (float)piParm3[10]; - } - else { - piParm3[10] = 0x3f800000; - piParm3[0xb] = 0; - piParm3[9] = piParm3[0xd]; - } - fVar15 = (float)piParm3[0x10]; - } - else { - fVar15 = (float)piParm3[0x10]; - } - if (0.00000000 < fVar15) { - *(float *)(piParm3 + 0xf) = (float)piParm3[0xf] + fVar15 * DAT_80040ff8; - if ((float)piParm3[0xf] < 1.00000000) { - *(float *)(piParm3 + 0xe) = - (float)piParm3[0x11] + - ((float)piParm3[0x12] - (float)piParm3[0x11]) * (float)piParm3[0xf]; - } - else { - piParm3[0xf] = 0x3f800000; - piParm3[0x10] = 0; - piParm3[0xe] = piParm3[0x12]; - } - fVar15 = (float)piParm3[0x15]; - } - else { - fVar15 = (float)piParm3[0x15]; - } - if (0.00000000 < fVar15) { - *(float *)(piParm3 + 0x14) = (float)piParm3[0x14] + fVar15 * DAT_80040ff8; - if ((float)piParm3[0x14] < 1.00000000) { - *(float *)(piParm3 + 0x13) = - (float)piParm3[0x16] + - ((float)piParm3[0x17] - (float)piParm3[0x16]) * (float)piParm3[0x14]; - } - else { - piParm3[0x14] = 0x3f800000; - piParm3[0x15] = 0; - piParm3[0x13] = piParm3[0x17]; - } - fVar15 = (float)piParm3[0x1c]; - } - else { - fVar15 = (float)piParm3[0x1c]; - } - if (0.00000000 < fVar15) { - *(float *)(piParm3 + 0x1b) = (float)piParm3[0x1b] + fVar15 * DAT_80040ff8; - fVar15 = (float)piParm3[0x1b]; - if (fVar15 < 1.00000000) { - *(byte *)(piParm3 + 0x18) = - *(byte *)((int)piParm3 + 0x61) + - (char)(int)((float)((uint)*(byte *)((int)piParm3 + 0x62) - - (uint)*(byte *)((int)piParm3 + 0x61)) * fVar15); - *(char *)((int)piParm3 + 99) = - *(byte *)(piParm3 + 0x19) + - (char)(int)((float)((uint)*(byte *)((int)piParm3 + 0x65) - - (uint)*(byte *)(piParm3 + 0x19)) * fVar15); - *(char *)((int)piParm3 + 0x66) = - *(byte *)((int)piParm3 + 0x67) + - (char)(int)((float)((uint)*(byte *)(piParm3 + 0x1a) - - (uint)*(byte *)((int)piParm3 + 0x67)) * fVar15); - *(char *)((int)piParm3 + 0x69) = - *(byte *)((int)piParm3 + 0x6a) + - (char)(int)((float)((uint)*(byte *)((int)piParm3 + 0x6b) - - (uint)*(byte *)((int)piParm3 + 0x6a)) * fVar15); - } - else { - piParm3[0x1b] = 0x3f800000; - piParm3[0x1c] = 0; - *(undefined *)(piParm3 + 0x18) = *(undefined *)((int)piParm3 + 0x62); - *(undefined *)((int)piParm3 + 99) = *(undefined *)((int)piParm3 + 0x65); - *(undefined *)((int)piParm3 + 0x66) = *(undefined *)(piParm3 + 0x1a); - *(undefined *)((int)piParm3 + 0x69) = *(undefined *)((int)piParm3 + 0x6b); - } - } - *(undefined4 **)puVar8 = puVar7; - *(undefined4 **)(puVar8 + 1) = puStackX12; - puVar8 = *(undefined4 **)(iVar3 + 8); - *puVar7 = *puVar8; - puVar7[1] = puVar8[1]; - puVar7[2] = puVar8[2]; - puVar7[3] = puVar8[3]; - iVar4 = *(int *)(iVar3 + 8); - puVar7[4] = *(undefined4 *)(iVar4 + 0x10); - puVar7[5] = *(undefined4 *)(iVar4 + 0x14); - puVar7[6] = *(undefined4 *)(iVar4 + 0x18); - puVar7[7] = *(undefined4 *)(iVar4 + 0x1c); - iVar4 = *(int *)(iVar3 + 8); - puVar7[8] = *(undefined4 *)(iVar4 + 0x20); - puVar7[9] = *(undefined4 *)(iVar4 + 0x24); - puVar7[10] = *(undefined4 *)(iVar4 + 0x28); - puVar7[0xb] = *(undefined4 *)(iVar4 + 0x2c); - iVar3 = *(int *)(iVar3 + 8); - puVar7[0xc] = *(undefined4 *)(iVar3 + 0x30); - puVar7[0xd] = *(undefined4 *)(iVar3 + 0x34); - puVar7[0xe] = *(undefined4 *)(iVar3 + 0x38); - puVar7[0xf] = *(undefined4 *)(iVar3 + 0x3c); - uVar12 = piParm3[2]; - if (uVar12 < 100) { - uVar12 = uVar12 * 0xc + _DAT_80074500; - } - if (uVar12 != 0) { - fVar17 = (float)piParm3[4] * 0.50000000; - fVar18 = (float)piParm3[9] * 0.50000000; - fVar15 = fVar17; - fVar19 = fVar18; - if ((float)piParm3[3] != 0.00000000) { - fVar16 = (float)func_7F057FC4(); - fVar14 = DAT_80048df0; - fVar16 = fVar16 * DAT_80048df0; - fVar13 = (float)func_7F057FC4(piParm3[3]); - fVar15 = fVar17 * fVar16; - fVar19 = fVar18 * fVar13 * fVar14; - fVar17 = fVar17 * fVar13 * fVar14; - fVar18 = fVar18 * fVar16; - } - fVar14 = (float)(uint)*(byte *)(uVar12 + 4); - if (false) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(short *)(puVar7 + 2) = (short)(int)(fVar14 * ((float)piParm3[0xe] + fVar15) * 32.00000000); - fVar14 = (float)(uint)*(byte *)(uVar12 + 5); - if (false) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(undefined2 *)((int)puVar7 + 10) = - (short)(int)(fVar14 * ((float)piParm3[0x13] + fVar19) * 32.00000000); - fVar14 = (float)(uint)*(byte *)(uVar12 + 4); - if (false) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(short *)(puVar7 + 6) = (short)(int)(fVar14 * ((float)piParm3[0xe] - fVar17) * 32.00000000); - fVar14 = (float)(uint)*(byte *)(uVar12 + 5); - if (false) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(undefined2 *)((int)puVar7 + 0x1a) = - (short)(int)(fVar14 * ((float)piParm3[0x13] + fVar18) * 32.00000000); - fVar14 = (float)(uint)*(byte *)(uVar12 + 4); - if (false) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(short *)(puVar7 + 10) = (short)(int)(fVar14 * ((float)piParm3[0xe] - fVar15) * 32.00000000); - fVar15 = (float)(uint)*(byte *)(uVar12 + 5); - if (false) { - fVar15 = fVar15 + 4294967296.00000000; - } - *(undefined2 *)((int)puVar7 + 0x2a) = - (short)(int)(fVar15 * ((float)piParm3[0x13] - fVar19) * 32.00000000); - fVar15 = (float)(uint)*(byte *)(uVar12 + 4); - if (false) { - fVar15 = fVar15 + 4294967296.00000000; - } - *(short *)(puVar7 + 0xe) = (short)(int)(fVar15 * ((float)piParm3[0xe] + fVar17) * 32.00000000) - ; - fVar15 = (float)(uint)*(byte *)(uVar12 + 5); - if (false) { - fVar15 = fVar15 + 4294967296.00000000; - } - *(undefined2 *)((int)puVar7 + 0x3a) = - (short)(int)(fVar15 * ((float)piParm3[0x13] - fVar18) * 32.00000000); - } - uVar1 = *(undefined *)(piParm3 + 0x18); - *(undefined *)(puVar7 + 0xf) = uVar1; - *(undefined *)(puVar7 + 0xb) = uVar1; - *(undefined *)(puVar7 + 7) = uVar1; - *(undefined *)(puVar7 + 3) = uVar1; - uVar1 = *(undefined *)((int)piParm3 + 99); - *(undefined *)((int)puVar7 + 0x3d) = uVar1; - *(undefined *)((int)puVar7 + 0x2d) = uVar1; - *(undefined *)((int)puVar7 + 0x1d) = uVar1; - *(undefined *)((int)puVar7 + 0xd) = uVar1; - uVar1 = *(undefined *)((int)piParm3 + 0x66); - *(undefined *)((int)puVar7 + 0x3e) = uVar1; - *(undefined *)((int)puVar7 + 0x2e) = uVar1; - *(undefined *)((int)puVar7 + 0x1e) = uVar1; - *(undefined *)((int)puVar7 + 0xe) = uVar1; - uVar1 = *(undefined *)((int)piParm3 + 0x69); - *(undefined *)((int)puVar7 + 0x3f) = uVar1; - *(undefined *)((int)puVar7 + 0x2f) = uVar1; - *(undefined *)((int)puVar7 + 0x1f) = uVar1; - *(undefined *)((int)puVar7 + 0xf) = uVar1; - if (*(char *)((int)piParm3 + 0x69) != -1) { - uParm6 = 2; - } - puStackX12[1] = 0x2000; - *puStackX12 = 0xb7000000; - puStackX12 = puStackX12 + 2; - loc_7F077B80(&puStackX12,uVar12,uParm6,uParm5,2); - puVar8 = puStackX12; - *puStackX12 = 0x1020040; - puStackX12 = puStackX12 + 2; - uVar9 = osVirtualToPhysical(*(undefined4 *)(iParm1 + 0xc)); - puVar10 = puStackX12; - puVar8[1] = uVar9; - *puStackX12 = 0xbc001006; - puStackX12 = puStackX12 + 2; - uVar9 = osVirtualToPhysical(puVar7); - puVar10[1] = uVar9; - puStackX12[1] = 0x4000000; - *puStackX12 = 0x4300040; - puStackX12[3] = 0x2010; - puStackX12[2] = 0xb1000032; - puStackX12[5] = 0; - puStackX12[4] = 0xb8000000; - *puVar6 = 0x6010000; - *(undefined4 **)(puVar6 + 1) = puStackX12 + 6; - puStackX12 = puStackX12 + 6; - } - return puStackX12; -} - - - -void loc_7F04B140(int iParm1,int iParm2,uint uParm3) - -{ - int iVar1; - int iVar2; - uint uVar3; - bool bVar4; - bool bVar5; - longlong lVar6; - undefined8 uVar7; - int iVar8; - undefined4 uVar9; - char cVar10; - uint uVar11; - undefined4 *puVar12; - undefined4 *puVar13; - - if ((*(byte *)(iParm1 + 1) & 2) != 0) { - iVar1 = *(int *)(iParm1 + 4); - iVar2 = *(int *)(iVar1 + 0x14); - bVar4 = (*(uint *)(iVar1 + 8) & 0x200) != 0; - if (bVar4) { - lVar6 = FUN_7f078414(); - bVar4 = lVar6 != 0; - } - puVar13 = *(undefined4 **)(iParm2 + 0xc); - cVar10 = *(char *)(iVar1 + 3); - if (cVar10 == '\n') { - if ((*(uint *)(iParm2 + 8) & 1) != 0) { - if (*(int *)(iVar1 + 0xc) << 0xf < 0) { - uVar9 = 0; - } - else { - uVar9 = 1; - if (*(int *)(iVar1 + 8) << 3 < 0) { - uVar9 = 8; - } - } - puVar13 = (undefined4 *) - loc_7F04ABF8(iVar2,**(undefined4 **)(*(int *)(iVar2 + 8) + 8), - *(int *)(iParm1 + 4) + 0x80,puVar13,uVar9,1); - cVar10 = *(char *)(iVar1 + 3); - } - } - else { - if ((cVar10 == '\v') && ((*(uint *)(iParm2 + 8) & 1) != 0)) { - iVar8 = *(int *)(iParm1 + 4); - if (*(int *)(iVar1 + 0xc) << 0xf < 0) { - uVar9 = 0; - } - else { - uVar9 = 1; - if (*(int *)(iVar1 + 8) << 3 < 0) { - uVar9 = 8; - } - } - uVar7 = loc_7F04ABF8(iVar2,**(undefined4 **)(*(int *)(iVar2 + 8) + 8),iVar8 + 0x80,puVar13, - uVar9,1); - if (*(int *)(iVar1 + 0xc) << 0xf < 0) { - uVar9 = 0; - } - else { - uVar9 = 1; - if ((*(uint *)(iVar1 + 8) & 0x30000000) != 0) { - uVar9 = 8; - } - } - uVar7 = loc_7F04ABF8(iVar2,*(undefined4 *)(*(int *)(*(int *)(iVar2 + 8) + 8) + 4), - iVar8 + 0xf4,uVar7,uVar9,1); - uVar7 = loc_7F04ABF8(iVar2,*(undefined4 *)(*(int *)(*(int *)(iVar2 + 8) + 8) + 8), - iVar8 + 0x168,uVar7,uVar9,1); - puVar13 = (undefined4 *) - loc_7F04ABF8(iVar2,*(undefined4 *)(*(int *)(*(int *)(iVar2 + 8) + 8) + 0xc), - iVar8 + 0x1dc,uVar7,uVar9,1); - cVar10 = *(char *)(iVar1 + 3); - } - } - if (cVar10 == '\x01') { - iVar8 = *(int *)(iParm1 + 4); - puVar13[1] = 0x3000; - *puVar13 = 0xb6000000; - puVar13 = puVar13 + 2; - if ((*(ushort *)(iVar8 + 0x98) & 8) == 0) { - *(undefined4 *)(iParm2 + 0x3c) = 3; - } - else { - *(undefined4 *)(iParm2 + 0x3c) = 2; - } - if (*(int *)(iParm2 + 0x30) == 9) { - *(uint *)(iParm2 + 0x34) = *(uint *)(iParm2 + 0x34) & 0xffffff00; - } - } - else { - iVar8 = FUN_7f04b654(iVar1); - bVar5 = false; - if (((iVar8 != 0) && (iVar8 = *(int *)(iVar8 + 4), bVar5 = false, iVar8 != 0)) && - (bVar5 = false, - *(int *)(iVar8 + 8) != - *(int *)(*(int *)(*(int *)(iVar1 + 0x14) + 0x10) + (uint)*(ushort *)(iVar8 + 0x1a) * 4))) { - bVar5 = true; - } - lVar6 = loc_7F03FFDC(iVar1); - if ((lVar6 == 0) || (!bVar5)) { - *(undefined4 *)(iParm2 + 0x3c) = 3; - if (*(int *)(iParm2 + 0x30) == 9) { - *(uint *)(iParm2 + 0x34) = *(uint *)(iParm2 + 0x34) & 0xffffff00; - } - } - else { - lVar6 = loc_7F03FFDC(iVar1); - *(undefined4 *)(iParm2 + 0x3c) = 1; - if (*(int *)(iParm2 + 0x30) == 9) { - uVar11 = (int)lVar6 * 0x32 + 100; - if ((int)uVar11 < 0x100) { - uVar3 = *(uint *)(iParm2 + 0x34); - } - else { - uVar11 = 0xff; - uVar3 = *(uint *)(iParm2 + 0x34); - } - *(uint *)(iParm2 + 0x34) = uVar3 & 0xffffff00; - *(uint *)(iParm2 + 0x34) = uVar3 & 0xffffff00 | uVar11; - } - else { - if (0 < lVar6) { - *(uint *)(iParm2 + 0x34) = *(uint *)(iParm2 + 0x34) | 0xff00; - } - } - } - } - puVar12 = puVar13; - if (bVar4) { - puVar12 = puVar13 + 2; - *puVar13 = 0x1030040; - uVar9 = FUN_7f078414(); - puVar13[1] = uVar9; - } - *(undefined4 **)(iParm2 + 0xc) = puVar12; - FUN_7f074758(iParm2,iVar2); - puVar13 = *(undefined4 **)(iParm2 + 0xc); - puVar12 = puVar13; - if (*(char *)(iVar1 + 3) == '\x01') { - puVar12 = puVar13 + 2; - *puVar13 = 0xb6000000; - puVar13[1] = 0x3000; - } - if (((ulonglong)*(byte *)(iVar1 + 2) & (longlong)(1 << (uParm3 & 0x1f))) != 0) { - puVar12 = (undefined4 *)loc_7F0A1D24(puVar12,iParm1); - } - puVar13 = puVar12; - if (bVar4) { - puVar13 = puVar12 + 2; - *puVar12 = 0x1030040; - uVar9 = FUN_7f0783f4(); - puVar12[1] = uVar9; - } - *(undefined4 **)(iParm2 + 0xc) = puVar13; - iVar1 = *(int *)(iParm1 + 0x20); - while (iVar1 != 0) { - loc_7F04B140(iVar1,iParm2,uParm3); - iVar1 = *(int *)(iVar1 + 0x24); - } - if (uParm3 != 0) { - if (bVar4) { - loc_7F08BF94(*(undefined4 *)(iVar2 + 0xc),*(undefined2 *)(*(int *)(iVar2 + 8) + 0xe)); - } - else { - loc_7F08BDA4(*(undefined4 *)(iVar2 + 0xc),*(undefined2 *)(*(int *)(iVar2 + 8) + 0xe)); - } - } - } - return; -} - - - -undefined4 FUN_7f04b32c(int iParm1,undefined4 uParm2,int iParm3) - -{ - short sVar1; - int iVar2; - longlong lVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 uVar10; - float fVar11; - int iStack132; - int iStack120; - int iStack116; - int iStack112; - uint uStack108; - undefined4 uStack104; - undefined4 uStack100; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - uint uStack84; - undefined4 uStack80; - undefined4 uStack76; - undefined4 uStack40; - int iStack36; - uint uStack32; - undefined4 uStack20; - undefined auStack16 [16]; - - iVar2 = *(int *)(iParm1 + 4); - puVar8 = &DAT_8002d520; - puVar6 = &uStack88; - do { - puVar9 = puVar8 + 3; - puVar7 = puVar6 + 3; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar8 = puVar9; - puVar6 = puVar7; - } while (puVar9 != (undefined4 *)0x8002d55c); - *puVar7 = uRam8002d55c; - iStack132 = 0xff; - lVar3 = FUN_7f0ba7a4(iParm1,auStack16); - uStack20 = (undefined4)lVar3; - uStack76 = uParm2; - if (lVar3 != 0) { - if (*(char *)(iVar2 + 3) != '/') { - uVar10 = FUN_7f06d494(*(undefined4 *)(iVar2 + 0x14)); - fVar11 = (float)FUN_7f054e60(iParm1,uVar10); - sVar1 = *(short *)(iParm1 + 2); - if ((0 < sVar1) && (sVar1 < 0x32)) { - fVar11 = fVar11 * ((50.00000000 - (float)(int)sVar1) / 50.00000000); - } - iStack132 = (int)(fVar11 * 255.00000000); - if (iStack132 < 1) { - return uParm2; - } - } - if ((iStack132 < 0xff) || (*(int *)(iVar2 + 0xc) << 0xf < 0)) { - if (iParm3 == 0) { - return uParm2; - } - uStack80 = 3; - } - else { - uStack80 = 2; - if (iParm3 == 0) { - uStack80 = 1; - } - } - lVar3 = loc_7F054B64(iParm1,&uStack104); - if ((lVar3 < 1) || (*(int *)(iVar2 + 0xc) << 5 < 0)) { - uStack76 = FUN_7f0b42f0(uParm2); - } - else { - uStack76 = FUN_7f0b4330(uParm2,uStack104,uStack100,uStack96,uStack92); - } - uStack84 = (uint)((*(uint *)(iVar2 + 0xc) & 0x10000) == 0); - if (iStack132 < 0xff) { - uStack40 = 5; - iStack36 = iStack132; - } - else { - uStack40 = 9; - if (*(char *)(iVar2 + 3) == '/') { - iStack36 = *(int *)(iVar2 + 0x88) << 8; - } - else { - if (*(char *)(iVar2 + 3) == '\x01') { - if ((*(ushort *)(iVar2 + 0x98) & 2) == 0) { - iStack36 = 0; - } - else { - iStack36 = (int)*(short *)(iVar2 + 0xbe) << 8; - } - } - else { - iStack36 = 0; - } - } - } - iVar4 = loc_7F03FFA0(iVar2); - iVar5 = iVar4 * -0x15 + 0xff; - if (iVar5 < 0) { - iVar5 = 0; - } - iStack120 = (int)((uint)*(byte *)(iVar2 + 0x78) * iVar5) >> 8; - iStack116 = (int)((uint)*(byte *)(iVar2 + 0x79) * iVar5) >> 8; - iStack112 = (int)((uint)*(byte *)(iVar2 + 0x7a) * iVar5) >> 8; - uStack108 = (uint)*(byte *)(iVar2 + 0x7b) + iVar4 * 0xf; - if (0xff < (int)uStack108) { - uStack108 = 0xff; - } - locret_7F04047C(&iStack120,uStack20,auStack16); - uStack32 = uStack108 | iStack120 << 0x18 | iStack116 << 0x10 | iStack112 << 8; - loc_7F04B140(iParm1,&uStack88,iParm3); - } - return uStack76; -} - - - -ushort * FUN_7f04b654(int iParm1) - -{ - ushort *puVar1; - ushort uVar2; - ushort *puVar3; - - puVar3 = **(ushort ***)(*(int *)(iParm1 + 0x14) + 8); - if (puVar3 != NULL) { - uVar2 = *puVar3; - while( true ) { - uVar2 &= 0xff; - if (uVar2 == 8) { - FUN_7f06ed5c(*(undefined4 *)(iParm1 + 0x14),puVar3); - puVar1 = *(ushort **)(puVar3 + 10); - } - else { - if (uVar2 == 0x12) { - FUN_7f06eda8(*(undefined4 *)(iParm1 + 0x14),puVar3); - puVar1 = *(ushort **)(puVar3 + 10); - } - else { - if (uVar2 == 0x17) { - FUN_7f06edf4(*(undefined4 *)(iParm1 + 0x14),puVar3); - puVar1 = *(ushort **)(puVar3 + 10); - } - else { - if (uVar2 == 0x18) { - return puVar3; - } - puVar1 = *(ushort **)(puVar3 + 10); - } - } - } - if ((puVar1 == NULL) && (puVar1 = puVar3, puVar3 != NULL)) { - puVar1 = *(ushort **)(puVar3 + 6); - while ((puVar1 == NULL && - (puVar3 = *(ushort **)(puVar3 + 4), puVar1 = puVar3, puVar3 != NULL))) { - puVar1 = *(ushort **)(puVar3 + 6); - } - } - puVar3 = puVar1; - if (puVar3 == NULL) break; - uVar2 = *puVar3; - } - } - return (ushort *)0; -} - - - -undefined8 FUN_7f04b76c(int iParm1,int iParm2) - -{ - int *piVar1; - - if ((*(int *)(iParm1 + 4) == -0x7ffcb430) && (iParm2 == **(int **)(iParm1 + 8))) { - return 0; - } - if ((*(int *)(iParm1 + 4) == -0x7ffcb41c) && - ((((piVar1 = *(int **)(iParm1 + 8), iParm2 == *piVar1 || (iParm2 == piVar1[1])) || - (iParm2 == piVar1[2])) || (iParm2 == piVar1[3])))) { - return 0; - } - return 1; -} - - - -void loc_7F04BCB0(int iParm1,int iParm2) - -{ - bool bVar1; - short sVar2; - int iVar3; - bool bVar4; - int iVar9; - longlong lVar5; - ulonglong uVar6; - undefined8 uVar7; - undefined4 *puVar10; - longlong lVar8; - int iVar11; - short *psVar12; - uint uVar13; - uint uVar14; - undefined4 *puVar15; - undefined4 *puVar16; - int iVar17; - int iVar18; - int *piVar19; - longlong lVar20; - longlong lVar21; - float fVar22; - float fVar23; - float fStack48; - uint uStack32; - - iVar17 = *(int *)(iParm1 + 0x14); - lVar20 = 99999; - iVar11 = -99999; - iVar9 = FUN_7f04b654(); - if (((iVar9 != 0) && (iVar3 = *(int *)(iVar9 + 4), iVar3 != 0)) && - (lVar5 = FUN_7f04b76c(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 8),iVar9), lVar5 != 0)) { - piVar19 = (int *)(*(int *)(iVar17 + 0x10) + (uint)*(ushort *)(iVar3 + 0x1a) * 4); - if (*(short *)(iParm1 + 4) < 0x68) { - uVar6 = FUN_700098b0(); - if ((uVar6 & 1) == 0) { - uStack32 = (uint)*(ushort *)(&DAT_80035ee2 + (int)*(short *)(iParm1 + 4) * 0xc + iParm2 * 2) - ; - } - else { - uStack32 = (uint)*(ushort *)(&DAT_80035edc + (int)*(short *)(iParm1 + 4) * 0xc + iParm2 * 2) - ; - } - } - else { - uStack32 = 0; - } - lVar5 = FUN_7f090460(); - if ((lVar5 != 0) || (uStack32 == 0)) { - FUN_7f090460(); - uStack32 = FUN_700098b0(); - lVar5 = FUN_7f090460(); - if (lVar5 != 0) { - uStack32 &= 0xffff; - } - } - FUN_7f0a02d4(*(undefined4 *)(iParm1 + 0x10)); - bVar1 = *(short *)(iParm1 + 4) == 0x4c; - uVar7 = loc_7F03FFDC(iParm1); - puVar10 = (undefined4 *) - loc_7F09C030(*(undefined2 *)(iVar3 + 0xc),0xb0b,*(undefined4 *)(iVar17 + 8),uVar7); - if (puVar10 == NULL) { - if (*(int *)(iVar3 + 8) != *piVar19) { - FUN_7f09b584(); - *piVar19 = *(int *)(iVar3 + 8); - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) | 4; - } - fVar22 = *(float *)(iParm1 + 0x2c) * DAT_80048df4; - fVar23 = *(float *)(iParm1 + 0x30) * DAT_80048df4; - *(float *)(iParm1 + 0x28) = *(float *)(iParm1 + 0x28) * DAT_80048df4; - *(float *)(iParm1 + 0x2c) = fVar22; - *(float *)(iParm1 + 0x30) = fVar23; - if (!bVar1) { - fVar23 = *(float *)(*(int *)(iParm1 + 0x14) + 0x14); - uVar7 = locret_7F040070(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 8)); - fVar22 = (float)sub_7F03E864(uVar7); - *(float *)(*(int *)(iParm1 + 0x10) + 0xc) = - *(float *)(*(int *)(iParm1 + 0x10) + 0xc) + fVar23 * fVar22 * DAT_80048df8; - fVar22 = (float)sub_7F03E864(uVar7); - *(float *)(iParm1 + 0x5c) = *(float *)(iParm1 + 0x5c) + fVar23 * fVar22 * DAT_80048dfc; - } - } - else { - iVar17 = *piVar19; - if (*(int *)(iVar3 + 8) == iVar17) { - lVar5 = 0; - iVar17 = 0; - if (0 < *(short *)(iVar3 + 0xc)) { - iVar9 = *(int *)(iVar3 + 8); - puVar15 = puVar10; - while( true ) { - lVar5 = (longlong)((int)lVar5 + 1); - puVar16 = (undefined4 *)(iVar9 + iVar17); - iVar17 += 0x10; - *puVar15 = *puVar16; - puVar15[1] = puVar16[1]; - puVar15[2] = puVar16[2]; - puVar15[3] = puVar16[3]; - if ((longlong)*(short *)(iVar3 + 0xc) <= lVar5) break; - iVar9 = *(int *)(iVar3 + 8); - puVar15 = puVar15 + 4; - } - } - } - else { - lVar5 = 0; - iVar9 = 0; - if (0 < *(short *)(iVar3 + 0xc)) { - iVar17 = *piVar19; - puVar15 = puVar10; - while( true ) { - lVar5 = (longlong)((int)lVar5 + 1); - puVar16 = (undefined4 *)(iVar17 + iVar9); - iVar9 += 0x10; - *puVar15 = *puVar16; - puVar15[1] = puVar16[1]; - puVar15[2] = puVar16[2]; - puVar15[3] = puVar16[3]; - if ((longlong)*(short *)(iVar3 + 0xc) <= lVar5) break; - iVar17 = *piVar19; - puVar15 = puVar15 + 4; - } - iVar17 = *piVar19; - } - FUN_7f09b584(iVar17); - } - *(undefined4 **)piVar19 = puVar10; - sVar2 = *(short *)(iParm1 + 4); - iVar17 = 0; - if (((sVar2 == 0x26) || (sVar2 == 0x27)) || (sVar2 == 0x55)) { - bVar4 = false; - } - else { - bVar4 = true; - } - sVar2 = *(short *)(iVar3 + 0xc); - if (0 < sVar2) { - iVar9 = *piVar19; - lVar5 = -99999; - lVar21 = lVar20; - do { - lVar8 = (longlong)*(short *)(iVar9 + 2); - iVar17 += 0x10; - lVar20 = lVar8; - if (lVar21 <= lVar8) { - lVar20 = lVar21; - } - if (lVar8 <= lVar5) { - lVar8 = lVar5; - } - iVar11 = (int)lVar8; - iVar9 += 0x10; - lVar5 = lVar8; - lVar21 = lVar20; - } while (iVar17 < (int)sVar2 << 4); - } - lVar5 = 0; - iVar9 = (int)lVar20; - iVar17 = iVar9 + iVar11 >> 1; - if ((iParm2 == 3) && (0x28 < iVar17 - iVar9)) { - iVar17 = iVar9 + 0x28; - } - iVar11 -= iVar9; - if (iVar11 < 0x3d) { - fStack48 = 1.00000000; - } - else { - if (iParm2 < 3) { - fStack48 = DAT_80048e00; - } - else { - fStack48 = (float)(iVar11 + -0x3c) / (float)iVar11; - } - } - if (0 < sVar2) { - iVar18 = 0; - iVar11 = *(int *)(iVar3 + 8); - do { - psVar12 = (short *)(iVar11 + iVar18); - FUN_7f09acc8((int)psVar12[2] + (int)*psVar12 + (int)psVar12[1] + uStack32); - uVar14 = 0; - if (bVar4) { - if (0.00000000 <= *(float *)(iParm1 + 0x2c)) { - if ((longlong)*(short *)(*piVar19 + iVar18 + 2) < (longlong)iVar17) { - if (bVar1) { - uVar14 = 0x5a; - } - else { - uVar14 = 0x14; - } - } - else { - if (bVar1) { - uVar14 = 0x14; - } - else { - uVar14 = 0x5a; - } - } - } - else { - if ((longlong)iVar17 < (longlong)*(short *)(*piVar19 + iVar18 + 2)) { - if (bVar1) { - uVar14 = 0x5a; - } - else { - uVar14 = 0x14; - } - } - else { - if (bVar1) { - uVar14 = 0x14; - } - else { - uVar14 = 0x5a; - } - } - } - } - uVar13 = sub_GAME_7F09B788(); - if (uVar13 % 100 < uVar14) { - *(undefined *)(*piVar19 + iVar18 + 0xc) = 0; - *(undefined *)(*piVar19 + iVar18 + 0xd) = 0; - *(undefined *)(*piVar19 + iVar18 + 0xe) = 0; - *(undefined *)(*piVar19 + iVar18 + 0xf) = 0xff; -LAB_7f04bda4: - iVar11 = *piVar19; - } - else { - if (iParm2 == 1) { - *(undefined *)(*piVar19 + iVar18 + 0xf) = 0; - goto LAB_7f04bda4; - } - iVar11 = *piVar19; - } - *(undefined2 *)(iVar11 + iVar18 + 2) = - (short)(int)((float)((int)*(short *)(iVar11 + iVar18 + 2) - iVar9) * fStack48 + - (float)iVar9); - uVar14 = sub_GAME_7F09B788(); - if (false) { - trap(0x1c00); - } - *(short *)(*piVar19 + iVar18) = - *(short *)(*piVar19 + iVar18) + (short)(uVar14 % 0x50) + -0x28; - uVar14 = sub_GAME_7F09B788(); - if (false) { - trap(0x1c00); - } - *(short *)(*piVar19 + iVar18 + 2) = - *(short *)(*piVar19 + iVar18 + 2) + (short)(uVar14 % 0x50) + -0x28; - uVar14 = sub_GAME_7F09B788(); - if (false) { - trap(0x1c00); - } - *(short *)(*piVar19 + iVar18 + 4) = - *(short *)(*piVar19 + iVar18 + 4) + (short)(uVar14 % 0x50) + -0x28; - if ((longlong)*(short *)(*piVar19 + iVar18 + 2) < lVar20) { - *(undefined2 *)(*piVar19 + iVar18 + 2) = (short)lVar20; - sVar2 = *(short *)(iVar3 + 0xc); - } - else { - sVar2 = *(short *)(iVar3 + 0xc); - } - lVar5 = (longlong)((int)lVar5 + 1); - iVar18 += 0x10; - if ((longlong)sVar2 <= lVar5) { - return; - } - iVar11 = *(int *)(iVar3 + 8); - } while( true ); - } - } - } - return; -} - - - -void FUN_7f04bed0(int iParm1,float *pfParm2) - -{ - longlong lVar1; - undefined8 uVar2; - uint uVar3; - uint *puVar4; - float fVar5; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack24 = DAT_8002d560; - fStack20 = (float)DAT_8002d564; - fStack16 = (float)DAT_8002d568; - puVar4 = NULL; - FUN_7f03fe68(*(undefined4 *)(iParm1 + 0x10)); - if ((*(uint *)(iParm1 + 100) & 0x40) == 0) { - if ((*(uint *)(iParm1 + 100) & 0x80) != 0) { - puVar4 = *(uint **)(iParm1 + 0x6c); - } - } - else { - puVar4 = *(uint **)(*(int *)(iParm1 + 0x6c) + 0x44); - } - if (puVar4 != NULL) { - lVar1 = FUN_700098b0(); - fVar5 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 1) = fVar5 * 0.00000000 * DAT_80048e04 * 4.00000000 - DAT_80048e08; - lVar1 = FUN_700098b0(); - fVar5 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * DAT_80048e0c; - *(float *)(puVar4 + 2) = fVar5 + fVar5 + DAT_80048e10; - lVar1 = FUN_700098b0(); - fVar5 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 3) = fVar5 * 0.00000000 * DAT_80048e14 * 4.00000000 - DAT_80048e18; - lVar1 = FUN_700098b0(); - fVar5 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack24 = fVar5 * 0.00000000 * DAT_80048e1c * 0.01562500 - DAT_80048e20; - lVar1 = FUN_700098b0(); - fVar5 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack20 = fVar5 * 0.00000000 * DAT_80048e24 * 0.01562500 - DAT_80048e28; - lVar1 = FUN_700098b0(); - fVar5 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack16 = fVar5 * 0.00000000 * DAT_80048e2c * 0.01562500 - DAT_80048e30; - FUN_7f058bbc(&fStack24,puVar4 + 8); - *puVar4 = *puVar4 | 1; - fStack12 = *pfParm2; - fStack8 = pfParm2[1]; - fStack4 = pfParm2[2]; - uVar2 = FUN_7f0784c4(); - FUN_7f058880(uVar2,&fStack12); - fVar5 = DAT_80048e34; - *(float *)(puVar4 + 1) = (float)puVar4[1] + DAT_80048e34 * fStack12; - *(float *)(puVar4 + 3) = (float)puVar4[3] + fVar5 * fStack4; - uVar3 = FUN_7f089900(); - puVar4[0x22] = uVar3; - puVar4[0x24] = 1; - } - return; -} - - - -void FUN_7f04c1c4(int iParm1,undefined4 uParm2) - -{ - int iVar1; - int iVar2; - - if (*(int *)(iParm1 + 0x1c) != 0) { - iVar1 = *(int *)(iParm1 + 4); - FUN_7f03fe68(); - if (((*(uint *)(iVar1 + 100) & 0x40) == 0) || - (iVar2 = *(int *)(*(int *)(iVar1 + 0x6c) + 0x44), iVar2 == 0)) { - if ((*(uint *)(iVar1 + 100) & 0x80) != 0) { - *(undefined4 *)(*(int *)(iVar1 + 0x6c) + 0xb8) = uParm2; - } - } - else { - *(undefined4 *)(iVar2 + 0xb8) = uParm2; - } - } - return; -} - - - -void loc_7F04C124(int iParm1) - -{ - char *pcVar1; - int iVar2; - int iVar3; - - pcVar1 = *(char **)(iParm1 + 0x1c); - if (pcVar1 != NULL) { - iVar2 = *(int *)(iParm1 + 4); - iVar3 = *(int *)(iVar2 + 0x14); - locret_7F03A624(); - *(undefined4 *)(iVar3 + 0x1c) = 0; - *(uint *)(iVar2 + 100) = *(uint *)(iVar2 + 100) & 0xfff7ffff; - if (((*pcVar1 == '\x03') || (*pcVar1 == '\x06')) && (iVar2 = *(int *)(pcVar1 + 4), iVar2 != 0)) - { - if (iParm1 == *(int *)(iVar2 + 0x1d8)) { - *(undefined4 *)(iVar2 + 0x1d8) = 0; - } - else { - if (iParm1 == *(int *)(iVar2 + 0x160)) { - FUN_7f02d14c(iVar2,0,0); - *(undefined4 *)(iVar2 + 0x160) = 0; - } - else { - if (iParm1 == *(int *)(iVar2 + 0x164)) { - FUN_7f02d14c(iVar2,1,0); - *(undefined4 *)(iVar2 + 0x164) = 0; - } - } - } - } - } - return; -} - - - -undefined8 loc_7F04CA2C(int iParm1) - -{ - int iVar1; - uint *puVar2; - char *pcVar3; - undefined8 uVar4; - longlong lVar5; - int iVar6; - uint uVar7; - char *pcVar8; - undefined4 uVar9; - float fVar10; - float fVar11; - undefined4 uStack180; - float fStack152; - float fStack148; - float fStack144; - undefined4 uStack140; - float fStack136; - float fStack132; - float fStack128; - undefined4 uStack116; - float fStack112; - float fStack108; - float fStack104; - undefined4 auStack88 [2]; - undefined auStack80 [48]; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - int iStack16; - char *pcStack4; - - pcStack4 = *(char **)(iParm1 + 0x1c); - iVar1 = *(int *)(iParm1 + 4); - if (((*(uint *)(iVar1 + 100) & 0x40) != 0) && - (iVar6 = *(int *)(*(int *)(iVar1 + 0x6c) + 0x44), iVar6 != 0)) { - sub_7F03FE88(); - *(int *)(iVar1 + 0x6c) = iVar6; - uVar7 = *(uint *)(iVar1 + 100) & 0xffffffbf; - *(uint *)(iVar1 + 100) = uVar7; - *(uint *)(iVar1 + 100) = uVar7 | 0x80; - } - pcVar8 = pcStack4; - uVar4 = 0; - if ((pcStack4 != NULL) && ((*(uint *)(iVar1 + 100) & 0x80) != 0)) { - iStack16 = *(int *)(iVar1 + 0x14); - puVar2 = *(uint **)(iVar1 + 0x6c); - uVar7 = puVar2[0x2e]; - *puVar2 = *puVar2 | 1; - *(char **)(puVar2 + 0x22) = pcStack4; - if ((uVar7 == 2) && (*pcStack4 == '\x03')) { - fStack112 = DAT_8002d56c; - fStack108 = (float)DAT_8002d570; - fStack104 = (float)DAT_8002d574; - uStack116 = FUN_7f06d228(*(undefined4 *)(*(int *)(pcStack4 + 4) + 0x1c)); - fVar10 = (float)func_7F057FC4(uStack116); - *(float *)(puVar2 + 1) = fVar10 * DAT_80048e38; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(puVar2 + 2) = -(fVar10 * 0.00000000) * DAT_80048e3c * 0.50000000; - fVar10 = (float)func_7F057FC4(uStack116); - *(float *)(puVar2 + 3) = fVar10 * DAT_80048e40; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack112 = fVar10 * 0.00000000 * DAT_80048e44 * 0.00781250 - DAT_80048e48; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack108 = fVar10 * 0.00000000 * DAT_80048e4c * 0.00781250 - DAT_80048e50; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack104 = fVar10 * 0.00000000 * DAT_80048e54 * 0.00781250 - DAT_80048e58; - FUN_7f058bbc(&fStack112,puVar2 + 8); - } - else { - if ((uVar7 == 3) && (*pcStack4 == '\x03')) { - fStack136 = DAT_8002d578; - fStack132 = (float)DAT_8002d57c; - fStack128 = (float)DAT_8002d580; - uStack140 = FUN_7f06d228(*(undefined4 *)(*(int *)(pcStack4 + 4) + 0x1c)); - fVar10 = (float)func_7F057FC4(uStack140); - *(float *)(puVar2 + 1) = fVar10 * DAT_80048e5c; - puVar2[2] = DAT_80048e60; - fVar10 = (float)func_7F057FC4(uStack140); - *(float *)(puVar2 + 3) = fVar10 * DAT_80048e64; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack136 = fVar10 * 0.00000000 * DAT_80048e68 * 0.00781250 - DAT_80048e6c; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack132 = fVar10 * 0.00000000 * DAT_80048e70 * 0.00781250 - DAT_80048e74; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack128 = fVar10 * 0.00000000 * DAT_80048e78 * 0.00781250 - DAT_80048e7c; - FUN_7f058bbc(&fStack136,puVar2 + 8); - *puVar2 = *puVar2 | 0x40; - } - else { - if (uVar7 == 4) { - fStack152 = DAT_8002d584; - fStack148 = (float)DAT_8002d588; - fStack144 = (float)DAT_8002d58c; - iVar6 = FUN_7f089900(); - uVar9 = convert_angle_using_inverse - (*(float *)(pcStack4 + 8) - *(float *)(iVar6 + 8), - *(float *)(pcStack4 + 0x10) - *(float *)(iVar6 + 0x10)); - iVar6 = FUN_700098b0(); - fVar10 = (float)func_7F057FC4(uVar9); - fVar11 = (float)iVar6; - if (iVar6 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fVar11 = fVar11 * 0.00000000 * DAT_80048e80; - *(float *)(puVar2 + 1) = fVar10 * (fVar11 + fVar11 + DAT_80048e84); - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = fVar10 * 0.00000000 * DAT_80048e88; - *(float *)(puVar2 + 2) = fVar10 + fVar10; - iVar6 = FUN_700098b0(); - fVar10 = (float)func_7F057FC4(uVar9); - fVar11 = (float)iVar6; - if (iVar6 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fVar11 = fVar11 * 0.00000000 * DAT_80048e8c; - *(float *)(puVar2 + 3) = fVar10 * (fVar11 + fVar11 + DAT_80048e90); - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack152 = fVar10 * 0.00000000 * DAT_80048e94 * 0.03125000 - DAT_80048e98; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack148 = fVar10 * 0.00000000 * DAT_80048e9c * 0.03125000 - DAT_80048ea0; - lVar5 = FUN_700098b0(); - fVar10 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fStack144 = fVar10 * 0.00000000 * DAT_80048ea4 * 0.03125000 - DAT_80048ea8; - FUN_7f058bbc(&fStack152,puVar2 + 8); - } - else { - FUN_7f057f14(puVar2 + 1,puVar2 + 8); - } - } - } - if (*(int *)(pcStack4 + 0x1c) == 0) { - auStack88[0] = *(undefined4 *)(pcVar8 + 0x14); - } - else { - pcVar3 = *(char **)(pcVar8 + 0x1c); - do { - pcVar8 = pcVar3; - pcVar3 = *(char **)(pcVar8 + 0x1c); - } while (*(char **)(pcVar8 + 0x1c) != NULL); - auStack88[0] = *(undefined4 *)(pcVar8 + 0x14); - } - if ((*(byte *)(iParm1 + 1) & 2) == 0) { - *(undefined4 *)(iParm1 + 0x14) = *(undefined4 *)(pcVar8 + 0x14); - sub_GAME_7F05A9B8(auStack80); - matrix_multiply_A1_by_F12(*(undefined4 *)(iStack16 + 0x14)); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pcVar8 + 8,auStack80); - } - else { - uVar9 = loc_7F041060(iVar1); - iVar6 = FUN_7f06cdd8(iStack16); - uStack180 = 0x1f; - uVar4 = FUN_7f0784c4(); - loc_7F05823C(uVar4,iVar6,auStack80); - if ((*puVar2 & 0x40) != 0) { - uStack180 = 0x1d; - } - FUN_7f03d118(pcVar8,0); - lVar5 = loc_7F0B13B4(auStack88,*(undefined4 *)(pcVar8 + 8),*(undefined4 *)(pcVar8 + 0x10), - uStack32,uStack24,uStack180,0,0x3f800000,0,0x3f800000); - if ((lVar5 == 0) || - (lVar5 = loc_7F0B1C80(auStack88,uStack32,uStack24,uVar9,uStack180,0,0x3f800000), -1 < lVar5 - )) { - *(undefined4 *)(iParm1 + 0x14) = *(undefined4 *)(pcVar8 + 0x14); - uStack32 = *(undefined4 *)(pcVar8 + 8); - uStack24 = *(undefined4 *)(pcVar8 + 0x10); - } - else { - *(undefined4 *)(iParm1 + 0x14) = auStack88[0]; - } - FUN_7f03d118(pcVar8,1); - *(float *)(iParm1 + 0x18) = -*(float *)(iVar6 + 0x38); - } - loc_7F04C124(iParm1); - FUN_7f03a564(iParm1); - set_stateflag_0x04_for_posdata(iParm1); - *(undefined4 *)(iParm1 + 8) = uStack32; - *(undefined4 *)(iVar1 + 0x58) = uStack32; - *(undefined4 *)(iParm1 + 0xc) = uStack28; - *(undefined4 *)(iVar1 + 0x5c) = uStack28; - *(undefined4 *)(iParm1 + 0x10) = uStack24; - *(undefined4 *)(iVar1 + 0x60) = uStack24; - uStack32 = 0; - uStack28 = 0; - uStack24 = 0; - loc_7F058030(auStack80,iVar1 + 0x18); - FUN_7f040374(*(undefined4 *)(iVar1 + 0x10),iVar1 + 0x7c); - *(undefined *)(iVar1 + 0x78) = *(undefined *)(iVar1 + 0x7c); - *(undefined *)(iVar1 + 0x79) = *(undefined *)(iVar1 + 0x7d); - *(undefined *)(iVar1 + 0x7a) = *(undefined *)(iVar1 + 0x7e); - *(undefined *)(iVar1 + 0x7b) = *(undefined *)(iVar1 + 0x7f); - loc_7F056E80(iVar1); - uVar4 = 1; - } - return uVar4; -} - - - -void loc_7F04CCF0(int iParm1,undefined8 uParm2) - -{ - uint uVar1; - longlong lVar2; - uint uVar3; - uint *puVar4; - float fVar5; - float fStack12; - float fStack8; - float fStack4; - - uVar1 = *(uint *)(iParm1 + 100); - uVar3 = uVar1 & 0xfff9ffff; - *(uint *)(iParm1 + 100) = uVar3; - *(uint *)(iParm1 + 100) = uVar3 | (int)uParm2 << 0x11; - if ((((*(uint *)(iParm1 + 0xc) & 0x100) == 0) && ((*(uint *)(iParm1 + 8) & 1) != 0)) && - ((uVar1 & 0xc0) == 0)) { - fStack12 = DAT_8002d590; - fStack8 = DAT_8002d594; - puVar4 = NULL; - fStack4 = DAT_8002d598; - FUN_7f03fe68(*(undefined4 *)(iParm1 + 0x10)); - if ((*(uint *)(iParm1 + 100) & 0x80) != 0) { - puVar4 = *(uint **)(iParm1 + 0x6c); - } - if (puVar4 != NULL) { - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 1) = fVar5 * 0.00000000 * DAT_80048eac - DAT_80048eb0; - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * DAT_80048eb4; - *(float *)(puVar4 + 2) = fVar5 + fVar5 + DAT_80048eb4; - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 3) = fVar5 * 0.00000000 * DAT_80048eb8 - DAT_80048ebc; - if ((*(uint *)(iParm1 + 0xc) & 0x200) == 0) { - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack12 = (fVar5 * 0.00000000 * DAT_80048ec0) / 320.00000000 - DAT_80048ec4; - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack8 = (fVar5 * 0.00000000 * DAT_80048ec8) / 320.00000000 - DAT_80048ecc; - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack4 = (fVar5 * 0.00000000 * DAT_80048ed0) / 320.00000000 - DAT_80048ed4; - } - FUN_7f058bbc(&fStack12,puVar4 + 8); - *puVar4 = *puVar4 | 1; - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) & 0xfffffeff; - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) & 0xffff7fff; - } - } - return; -} - - - -void loc_7F04CDE8(int iParm1,undefined8 uParm2) - -{ - char cVar1; - char cVar2; - int iVar3; - int iVar4; - longlong lVar5; - char *pcVar6; - int iStack20; - undefined4 auStack16 [4]; - - iVar3 = *(int *)(iParm1 + 4); - cVar1 = *(char *)(*(int *)(iParm1 + 0x14) + 3); - FUN_7f03cd70(iParm1,auStack16,&iStack20); - if ((iStack20 < 1) || (pcVar6 = (char *)FUN_7f03a4e4(), pcVar6 == NULL)) { - return; - } - cVar2 = *pcVar6; - do { - if (cVar2 == '\x01') { - iVar4 = *(int *)(pcVar6 + 0x14); -LAB_7f04cf74: - if (cVar1 == *(char *)(iVar4 + 3)) { - iVar4 = *(int *)(pcVar6 + 4); - if (*(float *)(iVar3 + 0x5c) < *(float *)(iVar4 + 0x5c)) { - if ((*(uint *)(iVar4 + 100) & 0x8000) == 0) { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - lVar5 = loc_7F03CF7C(iVar4 + 0x58,auStack16[0],iStack20); - if (lVar5 != 0) { - loc_7F04CCF0(iVar4,uParm2); - } - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - else { - if (cVar2 == '\x04') { - iVar4 = *(int *)(pcVar6 + 0x14); - goto LAB_7f04cf74; - } - pcVar6 = *(char **)(pcVar6 + 0x24); - } - if (pcVar6 == NULL) { - return; - } - cVar2 = *pcVar6; - } while( true ); -} - - - -void loc_7F04D15C(int iParm1,undefined4 *puParm2,undefined4 uParm3) - -{ - byte bVar1; - short sVar2; - undefined4 uVar3; - int iVar4; - longlong lVar5; - uint uVar7; - ulonglong uVar6; - int iVar8; - int iStack16; - short sStack10; - int iStack4; - - if (*(float *)(iParm1 + 0x70) <= *(float *)(iParm1 + 0x74)) { - lVar5 = loc_7F03FFDC(); - if (lVar5 == 0) { - return; - } - sVar2 = *(short *)(iParm1 + 4); - } - else { - sVar2 = *(short *)(iParm1 + 4); - } - iStack4 = *(int *)(iParm1 + 0x10); - sStack10 = (short)(char)(&DAT_80035d84)[(int)sVar2]; - if (*(int *)(iStack4 + 0x1c) == 0) { - iStack16 = *(int *)(iStack4 + 0x14); - iVar8 = iStack4; - } - else { - iVar4 = *(int *)(iStack4 + 0x1c); - do { - iVar8 = iVar4; - iVar4 = *(int *)(iVar8 + 0x1c); - } while (*(int *)(iVar8 + 0x1c) != 0); - iStack16 = *(int *)(iVar8 + 0x14); - } - lVar5 = loc_7F03FFDC(iParm1); - if (lVar5 != 0) { - uVar6 = loc_7F03FFA0(iParm1); - if (((uVar6 & 3) == 0) && (loc_7F04BCB0(iParm1,((int)uVar6 >> 2) + 1), iStack16 != 0)) { - if ((*(byte *)(iVar8 + 1) & 8) == 0) { - lVar5 = sub_7F0B0BE4(&iStack16,*(undefined4 *)(iVar8 + 8),*(undefined4 *)(iVar8 + 0x10), - *puParm2,puParm2[2]); - if (lVar5 != 0) { - FUN_7f09b790(iStack4,puParm2,iStack16,0x10,(uint)((*(uint *)(iParm1 + 8) & 0xe) == 0), - uParm3,iVar8 + 0x2c,0); - goto LAB_7f04d2c4; - } - uVar3 = *(undefined4 *)(iVar8 + 0x14); - } - else { - uVar3 = *(undefined4 *)(iVar8 + 0x14); - } - FUN_7f09b790(iStack4,puParm2,uVar3,0x10,0,uParm3,iVar8 + 0x2c,1); - } -LAB_7f04d2c4: - lVar5 = loc_7F03FFDC(iParm1); - if ((0 < lVar5) && (bVar1 = *(byte *)(iParm1 + 2), (bVar1 & 4) != 0)) { - if ((*(uint *)(iParm1 + 100) & 0x1000) == 0) { - *(byte *)(iParm1 + 2) = bVar1 & 0xef; - } - else { - *(byte *)(iParm1 + 2) = bVar1 | 0x10; - } - *(undefined2 *)(iStack4 + 2) = 1000; - } - if ((int)uVar6 < 0xc) { - return; - } - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) | 0x1000; - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) & 0xfffffeff; - return; - } - *(byte *)(iParm1 + 2) = *(byte *)(iParm1 + 2) | 0x80; - *(undefined4 *)(iParm1 + 0x70) = 0; - if (iStack16 == 0) { - uVar7 = *(uint *)(iParm1 + 0xc); - } - else { - if ((*(byte *)(iVar8 + 1) & 8) == 0) { - lVar5 = sub_7F0B0BE4(&iStack16,*(undefined4 *)(iVar8 + 8),*(undefined4 *)(iVar8 + 0x10), - *puParm2,puParm2[2]); - if (lVar5 != 0) { - FUN_7f09b790(iStack4,puParm2,iStack16,sStack10,(uint)((*(uint *)(iParm1 + 8) & 0xe) == 0), - uParm3,iVar8 + 0x2c,0); - uVar7 = *(uint *)(iParm1 + 0xc); - goto LAB_7f04d164; - } - uVar3 = *(undefined4 *)(iVar8 + 0x14); - } - else { - uVar3 = *(undefined4 *)(iVar8 + 0x14); - } - FUN_7f09b790(iStack4,puParm2,uVar3,sStack10,0,uParm3,iVar8 + 0x2c,1); - uVar7 = *(uint *)(iParm1 + 0xc); - } -LAB_7f04d164: - if ((uVar7 & 0x2000) == 0) { - loc_7F04BCB0(iParm1,1); - if (iVar8 == iStack4) { - loc_7F04CDE8(iStack4,uParm3); - uVar7 = *(uint *)(iParm1 + 100); - if ((uVar7 & 0x8000) != 0) { - uVar7 = FUN_700098b0(); - if (uVar7 % 3 != 0) { - return; - } - uVar7 = *(uint *)(iParm1 + 100); - } - *(uint *)(iParm1 + 100) = uVar7 | 0x10000; - loc_7F04CCF0(iParm1,uParm3); - } - } - else { - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) | 4; - } - return; -} - - - -undefined4 -loc_7F04D978(float *pfParm1,undefined4 uParm2,undefined8 uParm3,uint *puParm4,uint *puParm5, - int iParm6,float *pfParm7) - -{ - char cVar1; - short sVar2; - longlong lVar3; - uint *puVar4; - uint *puVar5; - short *psVar6; - int *piVar7; - undefined2 uVar8; - uint *puVar9; - int iVar10; - uint uVar11; - float fVar12; - float fVar13; - undefined4 uStack224; - undefined4 uStack220; - undefined4 uStack216; - int iStack200; - int iStack196; - int iStack192; - int iStack188; - int iStack184; - int iStack180; - uint uStack172; - uint uStack168; - uint uStack164; - uint auStack160 [5]; - undefined4 uStack140; - undefined4 uStack136; - undefined4 uStack132; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack96; - int iStack88; - int iStack84; - int iStack80; - int aiStack76 [3]; - undefined4 uStack64; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - int iStack4; - - uStack64 = 0; - fVar13 = 4294967296.00000000; - puVar9 = puParm4; - do { - while( true ) { - while( true ) { - while (puVar5 = puParm5, cVar1 = *(char *)puVar9, cVar1 == -0x48) { - if (puParm5 == NULL) { - return uStack64; - } - puParm5 = NULL; - puParm4 = puVar5; - puVar9 = puVar5; - } - if (cVar1 != '\x04') break; - iStack4 = iParm6 + (puVar9[1] & 0xffffff) + ((uint)*(byte *)((int)puVar9 + 1) & 0xf) * -0x10 - ; - puVar9 = puVar9 + 2; - } - if (cVar1 == -0x41) break; - if (cVar1 == -0x4f) { - iVar10 = 0; - do { - iStack188 = DAT_8002d5c0; - iStack184 = DAT_8002d5c4; - iStack180 = DAT_8002d5c8; - iStack200 = DAT_8002d5cc; - iStack196 = DAT_8002d5d0; - iStack192 = DAT_8002d5d4; - if (iVar10 == 0) { - uStack172 = puVar9[1] & 0xf; - uStack168 = (uint)(*(byte *)((int)puVar9 + 7) >> 4); - uStack164 = *puVar9 & 0xf; - } - else { - if (iVar10 == 1) { - uStack172 = (uint)*(byte *)((int)puVar9 + 6) & 0xf; - uStack168 = (uint)(*(ushort *)((int)puVar9 + 6) >> 0xc); - uStack164 = (uint)(*(byte *)((int)puVar9 + 3) >> 4); - } - else { - if (iVar10 == 2) { - uStack172 = (uint)*(ushort *)(puVar9 + 1) & 0xf; - uStack168 = (uint)(*(byte *)((int)puVar9 + 5) >> 4); - uStack164 = (uint)*(byte *)((int)puVar9 + 2) & 0xf; - } - else { - uStack172 = (uint)*(byte *)(puVar9 + 1) & 0xf; - uStack168 = puVar9[1] >> 0x1c; - uStack164 = (uint)(*(ushort *)((int)puVar9 + 2) >> 0xc); - } - } - } - puVar5 = &uStack172; - uVar11 = uStack172; - while( true ) { - puVar5 = puVar5 + 1; - psVar6 = (short *)(iStack4 + uVar11 * 0x10); - lVar3 = (longlong)*psVar6; - if (lVar3 < (longlong)iStack188) { - iStack188 = (int)*psVar6; - lVar3 = (longlong)*psVar6; - } - if ((longlong)iStack200 < lVar3) { - iStack200 = (int)lVar3; - sVar2 = psVar6[1]; - } - else { - sVar2 = psVar6[1]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < (longlong)iStack184) { - iStack184 = (int)sVar2; - lVar3 = (longlong)psVar6[1]; - } - if ((longlong)iStack196 < lVar3) { - iStack196 = (int)lVar3; - sVar2 = psVar6[2]; - } - else { - sVar2 = psVar6[2]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < (longlong)iStack180) { - iStack180 = (int)sVar2; - lVar3 = (longlong)psVar6[2]; - } - if ((longlong)iStack192 < lVar3) { - iStack192 = (int)lVar3; - } - if (puVar5 == auStack160) break; - uVar11 = *puVar5; - } - lVar3 = locret_7F0B7008(pfParm1,uParm3,&iStack188,&iStack200); - if (lVar3 != 0) { - uStack224 = DAT_8002d5d8; - uStack220 = DAT_8002d5dc; - uStack216 = DAT_8002d5e0; - lVar3 = sub_GAME_7F092890(iStack4 + uStack172 * 0x10,iStack4 + uStack168 * 0x10, - iStack4 + uStack164 * 0x10,&uStack224,pfParm1,uParm2, - (int)uParm3,&fStack52); - if (lVar3 != 0) { - puVar5 = puVar9; - if ((*(char *)puVar9 != -3) && (puVar5 = puVar9, puParm4 < puVar9)) { - cVar1 = *(char *)(puVar9 + -2); - puVar4 = puVar9; - while( true ) { - puVar5 = puVar4 + -2; - if ((cVar1 == -3) || (puVar5 <= puParm4)) break; - cVar1 = *(char *)(puVar4 + -4); - puVar4 = puVar5; - } - } - if (puVar5 == puParm4) { - uVar8 = 0xffff; - } - else { - uVar8 = *(undefined2 *)(puVar5[1] - 8 | 0x80000000); - } - fVar12 = (float)((int)fStack52 - (int)*pfParm1) * - (float)((int)fStack52 - (int)*pfParm1) + - (float)((int)fStack48 - (int)pfParm1[1]) * - (float)((int)fStack48 - (int)pfParm1[1]) + - (float)((int)fStack44 - (int)pfParm1[2]) * - (float)((int)fStack44 - (int)pfParm1[2]); - if (fVar12 < fVar13) { - *pfParm7 = fStack52; - pfParm7[1] = fStack48; - pfParm7[2] = fStack44; - pfParm7[3] = fStack40; - pfParm7[4] = fStack36; - pfParm7[5] = fStack32; - *(uint *)(pfParm7 + 6) = uStack172 * 0x10 + iStack4; - *(uint *)(pfParm7 + 7) = uStack168 * 0x10 + iStack4; - *(undefined2 *)((int)pfParm7 + 0x2a) = uVar8; - *(uint **)(pfParm7 + 9) = puVar9; - *(uint *)(pfParm7 + 8) = uStack164 * 0x10 + iStack4; - *(short *)(pfParm7 + 10) = (short)iVar10 + 1; - uStack64 = 1; - fVar13 = fVar12; - } - } - } - iVar10 += 1; - } while (iVar10 != 4); - } -LAB_7f04db58: - puVar9 = puVar9 + 2; - } - iStack104 = DAT_8002d59c; - iStack100 = DAT_8002d5a0; - iStack96 = DAT_8002d5a4; - iStack116 = DAT_8002d5a8; - iStack112 = DAT_8002d5ac; - iStack108 = DAT_8002d5b0; - piVar7 = &iStack88; - iStack88 = (int)(uint)*(byte *)((int)puVar9 + 5) / 10; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar9 + 5) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack84 = (int)(uint)*(byte *)((int)puVar9 + 6) / 10; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar9 + 6) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack80 = (int)(uint)*(byte *)((int)puVar9 + 7) / 10; - if (false) { - trap(0x1c00); - } - iVar10 = iStack88; - if ((false) && (iVar10 = iStack88, (ulonglong)*(byte *)((int)puVar9 + 7) == 0xffffffff80000000)) - { - trap(0x1800); - iVar10 = iStack88; - } - while( true ) { - piVar7 = piVar7 + 1; - psVar6 = (short *)(iStack4 + iVar10 * 0x10); - lVar3 = (longlong)*psVar6; - if (lVar3 < (longlong)iStack104) { - iStack104 = (int)*psVar6; - lVar3 = (longlong)*psVar6; - } - if ((longlong)iStack116 < lVar3) { - iStack116 = (int)lVar3; - sVar2 = psVar6[1]; - } - else { - sVar2 = psVar6[1]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < (longlong)iStack100) { - iStack100 = (int)sVar2; - lVar3 = (longlong)psVar6[1]; - } - if ((longlong)iStack112 < lVar3) { - iStack112 = (int)lVar3; - sVar2 = psVar6[2]; - } - else { - sVar2 = psVar6[2]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < (longlong)iStack96) { - iStack96 = (int)sVar2; - lVar3 = (longlong)psVar6[2]; - } - if ((longlong)iStack108 < lVar3) { - iStack108 = (int)lVar3; - } - if (piVar7 == aiStack76) break; - iVar10 = *piVar7; - } - lVar3 = locret_7F0B7008(pfParm1,uParm3,&iStack104,&iStack116); - if (lVar3 == 0) goto LAB_7f04db58; - uStack140 = DAT_8002d5b4; - uStack136 = DAT_8002d5b8; - uStack132 = DAT_8002d5bc; - lVar3 = sub_GAME_7F092890(iStack4 + iStack88 * 0x10,iStack4 + iStack84 * 0x10, - iStack4 + iStack80 * 0x10,&uStack140,pfParm1,uParm2,(int)uParm3, - &fStack52); - if (lVar3 == 0) goto LAB_7f04db58; - puVar5 = puVar9; - if ((*(char *)puVar9 != -3) && (puVar5 = puVar9, puParm4 < puVar9)) { - cVar1 = *(char *)(puVar9 + -2); - puVar4 = puVar9; - while( true ) { - puVar5 = puVar4 + -2; - if ((cVar1 == -3) || (puVar5 <= puParm4)) break; - cVar1 = *(char *)(puVar4 + -4); - puVar4 = puVar5; - } - } - if (puVar5 == puParm4) { - uVar8 = 0xffff; - } - else { - uVar8 = *(undefined2 *)(puVar5[1] - 8 | 0x80000000); - } - fVar12 = (float)((int)fStack52 - (int)*pfParm1) * (float)((int)fStack52 - (int)*pfParm1) + - (float)((int)fStack48 - (int)pfParm1[1]) * (float)((int)fStack48 - (int)pfParm1[1]) + - (float)((int)fStack44 - (int)pfParm1[2]) * (float)((int)fStack44 - (int)pfParm1[2]); - if (fVar13 <= fVar12) goto LAB_7f04db58; - *pfParm7 = fStack52; - pfParm7[1] = fStack48; - pfParm7[2] = fStack44; - pfParm7[3] = fStack40; - pfParm7[4] = fStack36; - pfParm7[5] = fStack32; - *(int *)(pfParm7 + 6) = iStack88 * 0x10 + iStack4; - *(int *)(pfParm7 + 7) = iStack84 * 0x10 + iStack4; - *(undefined2 *)((int)pfParm7 + 0x2a) = uVar8; - *(uint **)(pfParm7 + 9) = puVar9; - *(int *)(pfParm7 + 8) = iStack80 * 0x10 + iStack4; - *(undefined2 *)(pfParm7 + 10) = 0; - uStack64 = 1; - fVar13 = fVar12; - puVar9 = puVar9 + 2; - } while( true ); -} - - - -int loc_7F04DC80(int iParm1,ushort *puParm2,float *pfParm3,float *pfParm4,undefined4 uParm5, - int *piParm6,ushort **ppuParm7) - -{ - ushort uVar1; - uint *puVar2; - uint uVar3; - float fVar4; - ushort *puVar5; - uint *puVar8; - longlong lVar6; - longlong lVar7; - ushort *puVar9; - int iVar10; - uint uVar11; - int iVar12; - uint uVar13; - undefined auStack148 [104]; - int iStack44; - int iStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar4 = DAT_80048ed8; - iStack40 = 0; - iStack44 = 0; - uVar13 = 0; - if (puParm2 == NULL) { - return 0; - } - uVar1 = *puParm2; - puVar9 = puParm2; - do { - uVar11 = 0; - iVar12 = 0; - if (true) { - switch((uint)uVar1 & 0xff) { - case 4: - puVar2 = *(uint **)(puVar9 + 2); - if (*puVar2 != 0) { - uVar13 = puVar2[2]; - uVar11 = uVar13 + (*puVar2 & 0xffffff); - if (puVar2[1] != 0) { - iVar12 = uVar13 + (puVar2[1] & 0xffffff); - } - } - break; - case 8: - FUN_7f06ed5c(iParm1,puVar9); - break; - case 0x12: - FUN_7f06eda8(iParm1,puVar9); - break; - case 0x17: - FUN_7f06edf4(iParm1,puVar9); - break; - case 0x18: - puVar2 = *(uint **)(puVar9 + 2); - puVar8 = (uint *)loc_7F06C888(iParm1,puVar9); - uVar3 = puVar8[1]; - if (uVar3 != 0) { - uVar11 = uVar3; - if (*puVar2 == uVar3) { - uVar11 = puVar2[7] + (*puVar2 & 0xffffff); - } - if (puVar2[1] != 0) { - iVar12 = puVar2[7] + (puVar2[1] & 0xffffff); - } - uVar13 = *puVar8; - } - } - } - if (uVar11 != 0) { - iVar10 = 0; - lVar6 = loc_7F06C654(puVar9,0); - if (-1 < lVar6) { - iVar10 = *(int *)(iParm1 + 0xc) + (int)lVar6 * 0x40; - } - if ((iVar10 != 0) && (iVar10 != iStack40)) { - iStack40 = iVar10; - sub_7F059FB8(iVar10,auStack148); - fStack12 = *pfParm3; - fStack8 = pfParm3[1]; - fStack4 = pfParm3[2]; - FUN_7f05891c(auStack148,&fStack12); - fStack36 = *pfParm4; - fStack32 = pfParm4[1]; - fStack28 = pfParm4[2]; - FUN_7f058880(auStack148,&fStack36); - fStack24 = fStack36 * fVar4 + fStack12; - fStack20 = fStack32 * fVar4 + fStack8; - fStack16 = fStack28 * fVar4 + fStack4; - } - lVar7 = loc_7F04D978(&fStack12,&fStack24,&fStack36,uVar11,iVar12,uVar13,uParm5); - if (lVar7 != 0) { - *piParm6 = (int)lVar6; - *ppuParm7 = puVar9; - iStack44 = 1; - } - } - puVar5 = *(ushort **)(puVar9 + 10); - if (*(ushort **)(puVar9 + 10) == NULL) { - while (puVar5 = puVar9, puVar9 != NULL) { - if (puVar9 == puParm2) { - puVar5 = NULL; - break; - } - puVar5 = *(ushort **)(puVar9 + 6); - if (*(ushort **)(puVar9 + 6) != NULL) break; - puVar9 = *(ushort **)(puVar9 + 4); - } - } - puVar9 = puVar5; - if (puVar9 == NULL) { - return iStack44; - } - if (iStack44 != 0) { - return iStack44; - } - uVar1 = *puVar9; - } while( true ); -} - - - -void FUN_7f04de9c(int iParm1) - -{ - undefined4 uVar1; - int iVar2; - - uVar1 = *(undefined4 *)(iParm1 + 0x10); - iVar2 = FUN_7f040138(); - FUN_7f0a0210(uVar1,0); - FUN_7f0a0210(uVar1,1); - sub_GAME_7F0A4824(iParm1 + 0x58,iParm1 + 0x18,iParm1 + 0x28,iParm1 + 0x38, - *(undefined4 *)(iVar2 + 4),*(undefined4 *)(iVar2 + 8), - *(undefined4 *)(iVar2 + 0xc),*(undefined4 *)(iVar2 + 0x10), - *(undefined4 *)(iVar2 + 0x14),*(undefined4 *)(iVar2 + 0x18)); - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) | 4; - *(byte *)(iParm1 + 2) = *(byte *)(iParm1 + 2) | 0x80; - *(undefined4 *)(iParm1 + 0x70) = 0; - return; -} - - - -void sub_7F04DD68(int iParm1) - -{ - undefined4 *puVar1; - undefined auStack80 [16]; - undefined auStack64 [16]; - undefined auStack48 [16]; - undefined auStack32 [20]; - int iStack12; - int iStack8; - undefined4 uStack4; - - uStack4 = *(undefined4 *)(iParm1 + 0x10); - iStack8 = *(int *)(iParm1 + 0x14); - iStack12 = *(int *)(*(int *)(*(int *)(*(int *)(iStack8 + 8) + 8) + 8) + 4); - loc_7F052AF0(iParm1,auStack80); - sub_GAME_7F0A4824(auStack32,auStack80,auStack64,auStack48,*(undefined4 *)(iStack12 + 4), - *(undefined4 *)(iStack12 + 8),*(undefined4 *)(iStack12 + 0xc), - *(undefined4 *)(iStack12 + 0x10),*(undefined4 *)(iStack12 + 0x14), - *(undefined4 *)(iStack12 + 0x18)); - FUN_7f0a0210(uStack4,1); - puVar1 = (undefined4 *) - loc_7F06C888(iStack8,*(undefined4 *)(*(int *)(*(int *)(iStack8 + 8) + 8) + 4)); - *puVar1 = 0; - return; -} - - - -void loc_7F04DEC8(int iParm1) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - undefined4 *puVar4; - undefined auStack84 [16]; - undefined auStack68 [16]; - undefined auStack52 [16]; - undefined auStack36 [16]; - undefined4 uStack20; - int iStack16; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x10); - iVar1 = *(int *)(iParm1 + 0x14); - if ((*(byte *)(iStack4 + 1) & 2) != 0) { - iVar2 = *(int *)(*(int *)(iVar1 + 8) + 8); - iStack16 = *(int *)(*(int *)(iVar2 + 8) + 4); - uStack20 = FUN_7f06cd98(iVar1,*(undefined4 *)(iVar2 + 4),0); - uVar3 = FUN_7f0784c4(); - loc_7F05823C(uVar3,uStack20,auStack84); - sub_GAME_7F0A4824(auStack36,auStack84,auStack68,auStack52,*(undefined4 *)(iStack16 + 4), - *(undefined4 *)(iStack16 + 8),*(undefined4 *)(iStack16 + 0xc), - *(undefined4 *)(iStack16 + 0x10),*(undefined4 *)(iStack16 + 0x14), - *(undefined4 *)(iStack16 + 0x18)); - } - FUN_7f0a0210(iStack4,1); - puVar4 = (undefined4 *) - loc_7F06C888(iVar1,*(undefined4 *)(*(int *)(*(int *)(iVar1 + 8) + 8) + 0xc)); - *puVar4 = 0; - return; -} - - - -void loc_7F04DFAC(int iParm1,undefined4 uParm2,undefined8 uParm3,undefined8 uParm4,int iParm5) - -{ - int iVar1; - int iVar2; - uint uVar3; - uint uVar4; - - iVar1 = *(int *)(iParm1 + 4); - uVar4 = *(uint *)(iVar1 + 100) & 0xfff9ffff; - uVar3 = uVar4 | iParm5 << 0x11; - *(uint *)(iVar1 + 100) = uVar4; - *(uint *)(iVar1 + 100) = uVar3; - if (-1 < (int)(uVar3 << 0xc)) { - iVar1 = *(int *)(iParm1 + 0x20); - while (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 0x24); - loc_7F04DFAC(iVar1,uParm2,uParm3,uParm4,iParm5); - iVar1 = iVar2; - } - loc_7F04E710(*(undefined4 *)(iParm1 + 4),uParm2,uParm3,uParm4,iParm5); - } - return; -} - - - -undefined8 FUN_7f04e1f4(int iParm1) - -{ - if (true) { - switch(*(undefined *)(iParm1 + 3)) { - case 4: - case 7: - case 8: - case 0x11: - case 0x14: - case 0x15: - return 1; - } - } - return 0; -} - - - -undefined8 loc_7F04E0BC(int iParm1) - -{ - undefined8 uVar1; - longlong lVar2; - int iVar3; - - if (*(char *)(iParm1 + 3) == '\x01') { - uVar1 = 0; - } - else { - lVar2 = FUN_7f04e1f4(); - if (lVar2 == 0) { - iVar3 = *(int *)(iParm1 + 8); - } - else { - if (*(char *)(iParm1 + 3) != '\x15') { - if (*(int *)(iParm1 + 8) << 0xf < 0) { - return 1; - } - return 0; - } - iVar3 = *(int *)(iParm1 + 8); - } - if (iVar3 << 0xe < 0) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - return uVar1; -} - - - -void loc_7F04E0FC(int iParm1,undefined4 uParm2,undefined8 uParm3,undefined8 uParm4,undefined4 uParm5 - ) - -{ - if ((*(uint *)(iParm1 + 0xc) & 0x4000) == 0) { - loc_7F04E710(iParm1,uParm2,uParm3,uParm4,uParm5); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f04e468) overlaps instruction at (ram,0x7f04e464) -// - -void loc_7F04E710(int iParm1,float fParm2,undefined4 uParm3,int iParm4,int iParm5) - -{ - ushort uVar1; - undefined4 *puVar2; - int iVar3; - longlong lVar4; - uint uVar5; - undefined4 *puVar6; - char cVar8; - int iVar7; - int iVar9; - uint uVar10; - undefined4 *puVar11; - undefined4 *puVar12; - undefined4 *puVar13; - float fVar14; - float fVar15; - undefined4 auStack164 [30]; - undefined4 auStack44 [3]; - undefined4 *puStack32; - uint uStack28; - uint uStack24; - - uVar5 = *(uint *)(iParm1 + 100) & 0xfff9ffff; - *(uint *)(iParm1 + 100) = uVar5; - *(uint *)(iParm1 + 100) = uVar5 | iParm5 << 0x11; - if ((*(char *)(iParm1 + 3) == '$') && (lVar4 = loc_7F03FFDC(), lVar4 == 1)) { - return; - } - if (iParm4 == 0) { - lVar4 = FUN_7f04e1f4(iParm1); - if (lVar4 == 0) { - if (*(int *)(iParm1 + 8) << 7 < 0) { - return; - } - } - else { - if (-1 < *(int *)(iParm1 + 8) << 8) { - return; - } - } - } - else { - if ((int)(*(uint *)(iParm1 + 8) << 0xe) < 0) { - return; - } - if (*(char *)(iParm1 + 3) == '\b') { - cVar8 = *(char *)(iParm1 + 0x80); - if (((((cVar8 != '\x1a') && (cVar8 != '\x1b')) && (cVar8 != '\x1d')) && - ((cVar8 != '\x1c' && (cVar8 != 'V')))) && - ((cVar8 != 'W' && ((cVar8 != '!' && (cVar8 != '\"')))))) { - return; - } - *(undefined2 *)(iParm1 + 0x82) = 0; - return; - } - if (*(char *)(iParm1 + 3) == '\a') { - iVar9 = *(int *)(iParm1 + 0x80); - if (((((iVar9 != 5) && (iVar9 != 6)) && (iVar9 != 7)) && - (((iVar9 != 8 && (iVar9 != 9)) && ((iVar9 != 0xb && ((iVar9 != 0xf && (iVar9 != 0x10)))))) - )) && (iVar9 != 0x13)) { - return; - } - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) | 0x10000000; - return; - } - lVar4 = loc_7F04E0BC(iParm1); - if (lVar4 == 0) { - return; - } - } - lVar4 = loc_7F03FFDC(iParm1); - if (lVar4 == 0) { - *(float *)(iParm1 + 0x70) = *(float *)(iParm1 + 0x70) + fParm2 * 250.00000000; - } - else { - uVar5 = loc_7F03FFA0(iParm1); - uVar10 = uVar5 & 3; - if (((int)uVar5 < 0) && (uVar10 != 0)) { - uVar10 -= 4; - } - fVar14 = (float)(4 - uVar10); - if (((float)(4 - uVar10) < fParm2) || (fVar14 = 1.00000000, fParm2 < 1.00000000)) { - fVar15 = *(float *)(iParm1 + 0x70); - } - else { - fVar15 = *(float *)(iParm1 + 0x70); - fVar14 = fParm2; - } - *(float *)(iParm1 + 0x70) = fVar15 + fVar14; - } - cVar8 = *(char *)(iParm1 + 3); - if ((cVar8 == '*') || (cVar8 == '/')) { - if (*(float *)(iParm1 + 0x74) <= *(float *)(iParm1 + 0x70)) { - FUN_7f04de9c(iParm1); - cVar8 = *(char *)(iParm1 + 3); - } - } - else { - FUN_7f04c1c4(*(undefined4 *)(iParm1 + 0x10),1); - loc_7F04D15C(iParm1,uParm3,iParm5); - cVar8 = *(char *)(iParm1 + 3); - } - if (cVar8 == '\x14') { - lVar4 = loc_7F03FFDC(iParm1); - if (lVar4 == 1) { - uVar5 = FUN_700098b0(); - uVar5 %= 0xd; - uVar10 = uVar5; -LAB_7f04e5d0: - iVar9 = iParm1 + uVar5 * 4; - if (*(short *)(iVar9 + 0x82) == 0) { - iVar9 = uVar5 + 1; - } - else { - if (*(short *)(iVar9 + 0x80) == -1) { - iVar9 = uVar5 + 1; - } - else { - uStack28 = uVar5; - uStack24 = uVar10; - puVar6 = (undefined4 *)FUN_7f051bb0(); - if (puVar6 != NULL) { - uVar1 = *(ushort *)(iVar9 + 0x80); - puVar12 = &DAT_8002d5e4; - puVar2 = auStack164; - do { - puVar11 = puVar2; - puVar13 = puVar12; - *puVar11 = *puVar13; - puVar11[1] = puVar13[1]; - puVar11[2] = puVar13[2]; - puVar12 = puVar13 + 3; - puVar2 = puVar11 + 3; - } while (puVar13 + 3 != (undefined4 *)0x8002d65c); - puVar11[3] = uRam8002d65c; - puVar11[4] = puVar13[4]; - puVar12 = auStack164; - puVar2 = puVar6; - do { - puVar13 = puVar2; - puVar11 = puVar12; - puVar12 = puVar11 + 3; - *puVar13 = *puVar11; - puVar13[1] = puVar11[1]; - puVar13[2] = puVar11[2]; - puVar2 = puVar13 + 3; - } while (puVar12 != auStack44); - puVar13[3] = *puVar12; - puVar13[4] = puVar11[4]; - *(ushort *)(puVar6 + 1) = uVar1; - puVar6[0x20] = uStack28 + 1; - if (uStack28 + 1 == 2) { - puVar6[0x20] = 1; - } - puStack32 = puVar6; - lVar4 = FUN_7f0407b8(puVar6,(&PTR_DAT_80034d88)[(uint)uVar1 * 3]); - if (lVar4 != 0) { - set_obj_instance_controller_scale(puStack32[5],*(undefined4 *)(puStack32[5] + 0x14)); - loc_7F03A5C0(puStack32[4],*(undefined4 *)(iParm1 + 0x10)); - cVar8 = *(char *)(iParm1 + 3); - goto LAB_7f04e72c; - } -LAB_7f04e728: - cVar8 = *(char *)(iParm1 + 3); - goto LAB_7f04e72c; - } - iVar9 = uStack28 + 1; - uVar10 = uStack24; - } - } - uVar5 = iVar9 % 0xd; - if (uVar5 == uVar10) goto LAB_7f04e728; - goto LAB_7f04e5d0; - } - cVar8 = *(char *)(iParm1 + 3); - } - else { - cVar8 = *(char *)(iParm1 + 3); - } -LAB_7f04e72c: - if (cVar8 == '\r') { - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) | 0x40000000; - lVar4 = loc_7F03FFDC(iParm1); - if (lVar4 == 1) { - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) | 0x10000000; - } - } - else { - if (cVar8 == '\x06') { - lVar4 = loc_7F03FFDC(iParm1); - if (lVar4 == 1) { - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) | 0x10000000; - } - } - else { - if (cVar8 == '\n') { - lVar4 = loc_7F03FFDC(iParm1); - if (lVar4 == 1) { - save_ptr_monitor_ani_code_to_obj_ani_slot(iParm1 + 0x80,&DAT_8002d438); - } - } - else { - if (cVar8 == '\v') { - lVar4 = loc_7F03FFDC(iParm1); - if (lVar4 == 1) { - save_ptr_monitor_ani_code_to_obj_ani_slot(iParm1 + 0x80,&DAT_8002d438); - save_ptr_monitor_ani_code_to_obj_ani_slot(iParm1 + 0xf4,&DAT_8002d438); - save_ptr_monitor_ani_code_to_obj_ani_slot(iParm1 + 0x168,&DAT_8002d438); - save_ptr_monitor_ani_code_to_obj_ani_slot(iParm1 + 0x1dc,&DAT_8002d438); - } - } - else { - if (cVar8 == '$') { - lVar4 = loc_7F03FFDC(iParm1); - if (lVar4 == 1) { - FUN_7f056144(iParm1 + 0x58); - } - } - else { - if (cVar8 == '\x15') { - lVar4 = loc_7F03FFDC(iParm1); - if (lVar4 == 0) { - *(float *)(iParm1 + 0x84) = - (*(float *)(iParm1 + 0x80) * - (*(float *)(iParm1 + 0x74) - *(float *)(iParm1 + 0x70))) / - *(float *)(iParm1 + 0x74); - } - else { - *(undefined4 *)(iParm1 + 0x84) = 0; - } - } - } - } - } - } - } - lVar4 = loc_7F03FFDC(iParm1); - if ((lVar4 == 1) && (iVar9 = *(int *)(*(int *)(iParm1 + 0x10) + 0x20), iVar9 != 0)) { - iVar3 = *(int *)(iVar9 + 0x24); - while (iVar7 = iVar3, FUN_7f04c1c4(iVar9,1), iVar7 != 0) { - iVar3 = *(int *)(iVar7 + 0x24); - iVar9 = iVar7; - } - } - return; -} - - - -void loc_7F04E99C(int iParm1,int iParm2) - -{ - int iVar1; - int iVar2; - longlong lVar3; - longlong lVar4; - undefined4 uVar5; - int iVar6; - int aiStack96 [2]; - undefined4 uStack88; - undefined4 uStack84; - float fStack80; - int iStack76; - undefined4 uStack72; - undefined4 uStack68; - float fStack64; - undefined4 auStack24 [6]; - - iVar1 = *(int *)(iParm1 + 4); - if (((*(uint *)(iVar1 + 100) & 0x1000) == 0) && ((*(byte *)(iParm1 + 1) & 2) != 0)) { - iVar6 = *(int *)(iParm1 + 0x20); - if (*(int *)(iParm1 + 0x20) == 0) { - iVar6 = *(int *)(iVar1 + 0x14); - } - else { - do { - iVar2 = *(int *)(iVar6 + 0x24); - loc_7F04E99C(iVar6,iParm2); - iVar6 = iVar2; - } while (iVar2 != 0); - iVar6 = *(int *)(iVar1 + 0x14); - } - auStack24[0] = 0; - if ((*(char *)(iVar1 + 3) == '\x01') && - ((((*(ushort *)(iVar1 + 0x98) & 4) != 0 || (*(short *)(iVar1 + 0x9a) == 6)) || - (*(short *)(iVar1 + 0x9a) == 7)))) { - lVar3 = locret_7F074C60(iVar1 + 0xd0,*(undefined4 *)(iVar6 + 0xc),iParm2,iParm2 + 0xc); - auStack24[0] = **(undefined4 **)(iVar6 + 8); - if ((0 < lVar3) && - (lVar4 = loc_7F04DC80(iVar6,auStack24[0],iParm2,iParm2 + 0xc,&uStack72,&iStack76,aiStack96) - , lVar4 == 0)) { - lVar3 = 0; - } - } - else { - do { - lVar3 = loc_7F07547C(iVar6,iParm2,iParm2 + 0xc,auStack24); - if ((0 < lVar3) && - (lVar4 = loc_7F04DC80(iVar6,auStack24[0],iParm2,iParm2 + 0xc,&uStack72,&iStack76, - aiStack96), lVar4 != 0)) break; - } while (0 < lVar3); - } - if (0 < lVar3) { - uStack88 = uStack72; - uStack84 = uStack68; - fStack80 = fStack64; - FUN_7f05891c(*(int *)(iVar6 + 0xc) + iStack76 * 0x40,&uStack88); - if (-fStack80 <= *(float *)(iParm2 + 0x34)) { - uVar5 = 1; - if ((-1 < *(int *)(iVar1 + 8) << 0xe) && - (((*(char *)(iVar1 + 3) == '*' || (*(char *)(iVar1 + 3) == '/')) || - ((iVar2 = *(int *)(*(int *)(iVar1 + 0x14) + 8), *(int *)(iVar2 + 4) == -0x7ffcb2c4 && - (aiStack96[0] == *(int *)(*(int *)(iVar2 + 8) + 0xc))))))) { - uVar5 = 0; - } - loc_7F03BDDC(iParm2,iParm1,-fStack80,lVar3,auStack24[0],&uStack72,iStack76,aiStack96[0], - iVar6,uVar5,(uint)((*(uint *)(iVar1 + 0xc) & 0x100000) != 0)); - } - } - } - return; -} - - - -void FUN_7f04eba4(int iParm1,int iParm2) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - float fVar4; - - iVar1 = *(int *)(iParm1 + 4); - iVar2 = *(int *)(iVar1 + 0x14); - uVar3 = FUN_7f040138(); - if (((((*(byte *)(iParm1 + 1) & 2) != 0) && ((*(uint *)(iVar1 + 100) & 0x1000) == 0)) && - ((*(uint *)(iVar1 + 0xc) & 0x8000) == 0)) && - (fVar4 = (float)loc_7F03EC2C(uVar3,*(undefined4 *)(iVar2 + 0xc)), - -(fVar4 + *(float *)(*(int *)(iVar2 + 0xc) + 0x38)) <= *(float *)(iParm2 + 0x34))) { - loc_7F04E99C(iParm1); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f04ef14) overlaps instruction at (ram,0x7f04ef10) -// - -void loc_7F04EF24(float *pfParm1,float *pfParm2) - -{ - int iVar1; - bool bVar2; - undefined8 uVar3; - longlong lVar4; - uint uVar5; - undefined4 uVar6; - float fVar7; - undefined *puVar8; - int iVar9; - float fVar10; - float fVar11; - float fStack16; - float fStack12; - float fStack8; - - fVar10 = pfParm2[1]; - fVar11 = *(float *)((int)fVar10 + 0x1c); - if (*(float *)((int)fVar10 + 0x1c) == 0.00000000) { - fVar11 = *pfParm2; - fVar7 = fVar10; - } - else { - do { - fVar7 = fVar11; - fVar11 = *(float *)((int)fVar7 + 0x1c); - } while (*(float *)((int)fVar7 + 0x1c) != 0.00000000); - fVar11 = *pfParm2; - } - iVar1 = *(int *)((int)fVar10 + 4); - fStack16 = (*pfParm1 - (fVar11 * pfParm1[3]) / pfParm1[5]) - pfParm1[3] * 26.00000000; - fStack12 = (pfParm1[1] - (*pfParm2 * pfParm1[4]) / pfParm1[5]) - pfParm1[4] * 26.00000000; - fStack8 = (pfParm1[2] - *pfParm2) - pfParm1[5] * 26.00000000; - uVar3 = FUN_7f0784c4(); - FUN_7f05891c(uVar3,&fStack16); - if (pfParm2[0x13] != 0.00000000) { - FUN_7f0682f4(&fStack16); - } - FUN_7f0a335c(&fStack16,1,0x41d00000,(ulonglong)*(byte *)(*(int *)((int)fVar7 + 0x14) + 3)); - lVar4 = FUN_7f04f11c(iVar1); - if (lVar4 == 0) { - fVar10 = pfParm2[0x13]; - } - else { - lVar4 = loc_7F04E0BC(iVar1); - if (lVar4 == 0) { - fVar10 = pfParm2[0x13]; - } - else { - if (pfParm2[0x13] == 0.00000000) { - fVar10 = pfParm2[0x13]; - } - else { - FUN_7f06aea0(pfParm1[6],6); - fVar10 = pfParm2[0x13]; - } - } - } - if (fVar10 == 0.00000000) { - FUN_7f064bf0((int)pfParm2[1] + 8); - } - else { - FUN_7f0648e0(pfParm1[6],pfParm2[1],*(undefined2 *)((int)pfParm2 + 0x3a)); - } - fVar10 = pfParm1[6]; - if (fVar10 != 0.00000000) { - if (pfParm2[0x13] == 0.00000000) { - fVar10 = pfParm2[1]; - iVar9 = *(int *)(*(int *)(*(int *)(iVar1 + 0x14) + 8) + 4); - uVar5 = FUN_700098b0(); - loc_7F0A1A48(pfParm2 + 4,pfParm2 + 7,(int)((uVar5 % 3 + 0x11) * 0x10000) >> 0x10,1,fVar10, - pfParm2[0x10],iVar9 == -0x7ffcb2c4); - fVar10 = pfParm1[6]; - } - else { - puVar8 = PTR_PTR_DAT_80046dec; - if (-1 < *(short *)((int)pfParm2 + 0x3a)) { - puVar8 = (&PTR_PTR_DAT_80046dec) - [(uint)(byte)(&DAT_80041880)[(int)*(short *)((int)pfParm2 + 0x3a) * 8] & 0xf]; - } - uVar5 = FUN_700098b0(); - iVar9 = *(int *)(*(int *)(iVar1 + 0x14) + 8); - uVar6 = 0; - if (*(short *)(puVar8 + 10) == 0) { - trap(0x1c00); - } - if ((*(int *)(iVar9 + 4) == -0x7ffcb2c4) && - (pfParm2[0x11] == *(float *)(*(int *)(iVar9 + 8) + 0xc))) { -LAB_7f04ef38: - uVar6 = 1; - iVar9 = *(int *)(puVar8 + 4); - } - else { - if (*(int *)(iVar9 + 4) == -0x7ffcb444) { - if (pfParm2[0x11] == *(float *)(*(int *)(iVar9 + 8) + 4)) goto LAB_7f04ef38; - iVar9 = *(int *)(puVar8 + 4); - } - else { - iVar9 = *(int *)(puVar8 + 4); - } - } - loc_7F0A1A48(pfParm2 + 4,pfParm2 + 7, - (ulonglong)*(byte *)(iVar9 + uVar5 % (int)*(short *)(puVar8 + 10)),1,pfParm2[1], - pfParm2[0x10],uVar6); - fVar10 = pfParm1[6]; - } - } - fVar10 = (float)FUN_7f05e43c(fVar10); - if (*(char *)(iVar1 + 3) == '\r') { - fVar10 = fVar10 * DAT_8002c074; - } - else { - if (*(char *)(iVar1 + 3) == '\x06') { - iVar9 = *(int *)(*(int *)(iVar1 + 0x14) + 8); - if ((*(int *)(iVar9 + 4) == -0x7ffcb444) && - (pfParm2[0x11] == *(float *)(*(int *)(iVar9 + 8) + 4))) { - fVar10 = fVar10 * 100.00000000; - loc_7F04DEC8(iVar1); - } - fVar10 = fVar10 * DAT_8002c068; - } - } - uVar6 = FUN_7f09a690(); - loc_7F04E0FC(iVar1,fVar10,&fStack16,pfParm1[6],uVar6); - if (((*(int *)(*(int *)(*(int *)(iVar1 + 0x14) + 8) + 4) == -0x7ffcb2c4) && - (pfParm2[0x13] == 0.00000000)) && - (*(char *)(iVar1 + 0xbd) = *(char *)(iVar1 + 0xbd) + '\x01', '\x02' < *(char *)(iVar1 + 0xbd))) - { - sub_7F04DD68(iVar1); - } - loc_7F04423C(pfParm2[1]); - bVar2 = false; - lVar4 = FUN_7f04e1f4(iVar1); - if (lVar4 == 0) { - if (-1 < *(int *)(iVar1 + 8) << 10) { - uVar5 = *(uint *)(iVar1 + 0xc); - goto LAB_7f04f0c0; - } - } - else { - if (*(int *)(iVar1 + 8) << 9 < 0) { - uVar5 = *(uint *)(iVar1 + 0xc); - goto LAB_7f04f0c0; - } - } - bVar2 = true; - uVar5 = *(uint *)(iVar1 + 0xc); -LAB_7f04f0c0: - if ((uVar5 & 2) == 0) { - uVar5 = *(uint *)(iVar1 + 0xc); - } - else { - lVar4 = FUN_7f04f11c(iVar1); - if (lVar4 == 0) { - bVar2 = true; - uVar5 = *(uint *)(iVar1 + 0xc); - } - else { - uVar5 = *(uint *)(iVar1 + 0xc); - } - } - if ((uVar5 & 0x400) != 0) { - bVar2 = false; - } - if (bVar2) { - FUN_7f04bed0(iVar1,pfParm1 + 3); - } - return; -} - - - -ulonglong FUN_7f04f11c(void) - -{ - longlong lVar1; - - lVar1 = loc_7F03FFDC(); - return (ulonglong)(lVar1 == 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F04F160(int iParm1) - -{ - int iVar1; - longlong lVar2; - byte bVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - undefined4 uStack44; - float fStack40; - int iStack12; - int iStack8; - - iStack8 = *(int *)(iParm1 + 4); - if (*(char *)(iStack8 + 3) == '\x05') { - bVar3 = *(byte *)(iParm1 + 1); - } - else { - if (*(int *)(iStack8 + 8) << 0xc < 0) { - bVar3 = *(byte *)(iParm1 + 1); - } - else { - if ((*(uint *)(iStack8 + 100) & 0x13) == 0) { - return 1; - } - bVar3 = *(byte *)(iParm1 + 1); - } - } - if ((bVar3 & 2) == 0) { - return 1; - } - lVar2 = FUN_7f04f11c(iStack8); - iVar1 = _DAT_80060d38; - if (lVar2 != 0) { - if (*(int *)(iStack8 + 8) << 6 < 0) { - return 1; - } - iStack12 = FUN_7f089900(); - uStack44 = *(undefined4 *)(iStack12 + 0x14); - fVar6 = *(float *)(iStack8 + 0x58) - *(float *)(iStack12 + 8); - fVar8 = *(float *)(iStack8 + 0x5c) - *(float *)(iStack12 + 0xc); - fVar7 = *(float *)(iStack8 + 0x60) - *(float *)(iStack12 + 0x10); - if ((*(char *)(iStack8 + 3) == '(') && (*(int *)(iStack8 + 8) << 2 < 0)) { - fVar4 = 400.00000000; - fVar5 = DAT_80049034; - fStack40 = DAT_80049038; - } - else { - fVar4 = 200.00000000; - fVar5 = DAT_8004903c; - fStack40 = DAT_80049040; - } - if (fVar5 <= fVar6 * fVar6 + fVar7 * fVar7) { - return 1; - } - if (fVar4 <= fVar8) { - return 1; - } - if (fVar8 <= -fVar4) { - return 1; - } - fVar6 = (float)convert_angle_using_inverse(); - fVar7 = (float)FUN_7f08a0b0(); - fVar8 = fVar6 - fVar7; - if (fVar6 < fVar7) { - fVar8 = fVar8 + DAT_80049044; - } - if (DAT_80049048 < fVar8) { - fVar8 = DAT_8004904c - fVar8; - } - if (fStack40 < fVar8) { - return 1; - } - iVar1 = iParm1; - if (((*(uint *)(iStack8 + 0xc) & 0x800) != 0) && - (lVar2 = sub_7F0B0BE4(&uStack44,*(undefined4 *)(iStack12 + 8), - *(undefined4 *)(iStack12 + 0x10),*(undefined4 *)(iParm1 + 8), - *(undefined4 *)(iParm1 + 0x10)), iVar1 = iParm1, lVar2 == 0)) { - return 1; - } - } - _DAT_80060d38 = iVar1; - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F04F1F4(int iParm1) - -{ - int iVar1; - longlong lVar2; - uint uVar3; - int iVar4; - undefined4 uStack8; - - iVar1 = *(int *)(iParm1 + 4); - uStack8 = 0; - if (*(char *)(iVar1 + 3) == '\x05') { - FUN_70008268(_DAT_80056900,0xba,0); - lVar2 = FUN_7f056130(); - if (lVar2 != 0) { - FUN_7f05610c(); - iVar4 = *(int *)(iVar1 + 8); - goto LAB_7f04f3bc; - } - FUN_7f0560a8(); - } - iVar4 = *(int *)(iVar1 + 8); -LAB_7f04f3bc: - if (iVar4 << 0xc < 0) { - uStack8 = FUN_7f050438(iParm1,1); - uVar3 = *(uint *)(iVar1 + 100); - } - else { - uVar3 = *(uint *)(iVar1 + 100); - } - *(uint *)(iVar1 + 100) = uVar3 | 0x4000; - loc_7F03E708(iParm1); - return uStack8; -} - - - -void loc_7F04F230(int iParm1,longlong lParm2) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + 4); - if (lParm2 != 0) { - *(byte *)(iVar1 + 2) = *(byte *)(iVar1 + 2) & 0xdf; - return; - } - *(byte *)(iVar1 + 2) = *(byte *)(iVar1 + 2) | 0x20; - return; -} - - - -void locret_7F04F2AC(int iParm1,int *piParm2,undefined4 *puParm3,undefined4 *puParm4, - undefined4 *param_5) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + 4); - if (*(undefined4 **)(iVar1 + 0x68) == NULL) { - *puParm3 = 0; - } - else { - if ((*(uint *)(iVar1 + 8) & 0x100) == 0) { - *puParm3 = 0; - } - else { - if ((*(byte *)(iVar1 + 2) & 0x20) == 0) { - *puParm3 = **(undefined4 **)(iVar1 + 0x68); - *piParm2 = *(int *)(iVar1 + 0x68) + 4; - *param_5 = *(undefined4 *)(*(int *)(iVar1 + 0x68) + 0x48); - *puParm4 = *(undefined4 *)(*(int *)(iVar1 + 0x68) + 0x44); - return; - } - *puParm3 = 0; - } - } - return; -} - - - -void FUN_7f04f49c(undefined4 uParm1) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f0c12b8(0xa400); - locret_7000A844(uParm1,uVar1); - return; -} - - - -void loc_7F04F400(undefined4 uParm1,undefined4 uParm2,longlong lParm3) - -{ - undefined8 uVar1; - - if (true) { - switch(uParm2) { - case 1: - case 2: - case 3: - case 0x17: - uVar1 = FUN_7f0c12b8(0xa401); - locret_7000A844(uParm1,uVar1); - break; - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - if (lParm3 == 1) { - uVar1 = FUN_7f0c12b8(0xa402); - locret_7000A844(uParm1,uVar1); - } - else { - uVar1 = FUN_7f0c12b8(0xa401); - locret_7000A844(uParm1,uVar1); - } - break; - case 0xf: - case 0x10: - if (lParm3 == 1) { - uVar1 = FUN_7f0c12b8(0xa403); - locret_7000A844(uParm1,uVar1); - } - else { - uVar1 = FUN_7f0c12b8(0xa401); - locret_7000A844(uParm1,uVar1); - } - break; - case 0x16: - case 0x1d: - if (lParm3 == 1) { - uVar1 = FUN_7f0c12b8(0xa404); - locret_7000A844(uParm1,uVar1); - } - else { - uVar1 = FUN_7f0c12b8(0xa401); - locret_7000A844(uParm1,uVar1); - } - } - } - return; -} - - - -void loc_7F04F778(undefined8 uParm1,int iParm2,int iParm3) - -{ - undefined8 uVar1; - - if (((iParm2 == 1) || (iParm2 == 2)) || (iParm2 == 3)) { - uVar1 = FUN_7f0c12b8(0xa405); - locret_7000A844(uParm1,uVar1); - } - else { - if (iParm2 == 10) { - uVar1 = FUN_7f0c12b8(41999); - locret_7000A844(uParm1,uVar1); - if (iParm3 == 1) { - uVar1 = FUN_7f0c12b8(42000); - locret_7000A844(uParm1,uVar1); - } - else { - uVar1 = FUN_7f0c12b8(0xa411); - locret_7000A844(uParm1,uVar1); - } - } - else { - if (iParm2 == 0x13) { - if (iParm3 == 1) { - uVar1 = FUN_7f0c12b8(0xa419); - locret_7000A844(uParm1,uVar1); - } - else { - uVar1 = FUN_7f0c12b8(0xa41a); - locret_7000A844(uParm1,uVar1); - } - uVar1 = FUN_7f0c12b8(0xa418); - locret_7000A844(uParm1,uVar1); - } - else { - if (true) { - switch(iParm2) { - case 4: - uVar1 = FUN_7f0c12b8(0xa406); - locret_7000A844(uParm1,uVar1); - break; - case 5: - uVar1 = FUN_7f0c12b8(0xa409); - locret_7000A844(uParm1,uVar1); - break; - case 6: - uVar1 = FUN_7f0c12b8(0xa40b); - locret_7000A844(uParm1,uVar1); - break; - case 7: - uVar1 = FUN_7f0c12b8(0xa40c); - locret_7000A844(uParm1,uVar1); - break; - case 8: - uVar1 = FUN_7f0c12b8(0xa40d); - locret_7000A844(uParm1,uVar1); - break; - case 9: - uVar1 = FUN_7f0c12b8(0xa40e); - locret_7000A844(uParm1,uVar1); - break; - case 0xb: - uVar1 = FUN_7f0c12b8(0xa40a); - locret_7000A844(uParm1,uVar1); - break; - case 0xc: - uVar1 = FUN_7f0c12b8(0xa407); - locret_7000A844(uParm1,uVar1); - break; - case 0xd: - uVar1 = FUN_7f0c12b8(0xa408); - locret_7000A844(uParm1,uVar1); - break; - case 0xe: - uVar1 = FUN_7f0c12b8(0xa413); - locret_7000A844(uParm1,uVar1); - break; - case 0xf: - uVar1 = FUN_7f0c12b8(0xa414); - locret_7000A844(uParm1,uVar1); - break; - case 0x10: - uVar1 = FUN_7f0c12b8(0xa415); - locret_7000A844(uParm1,uVar1); - break; - case 0x11: - uVar1 = FUN_7f0c12b8(0xa416); - locret_7000A844(uParm1,uVar1); - break; - case 0x12: - uVar1 = FUN_7f0c12b8(0xa417); - locret_7000A844(uParm1,uVar1); - break; - case 0x14: - uVar1 = FUN_7f0c12b8(0xa41b); - locret_7000A844(uParm1,uVar1); - break; - case 0x15: - uVar1 = FUN_7f0c12b8(0xa41c); - locret_7000A844(uParm1,uVar1); - break; - case 0x16: - uVar1 = FUN_7f0c12b8(0xa41d); - locret_7000A844(uParm1,uVar1); - break; - case 0x17: - uVar1 = FUN_7f0c12b8(0xa41f); - locret_7000A844(uParm1,uVar1); - break; - case 0x1d: - uVar1 = FUN_7f0c12b8(0xa41e); - locret_7000A844(uParm1,uVar1); - } - } - if (1 < iParm3) { - uVar1 = FUN_7f0c12b8(0xa412); - locret_7000A844(uParm1,uVar1); - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F04F804(undefined4 uParm1) - -{ - if (true) { - switch(uParm1) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x11: - case 0x12: - case 0x13: - case 0x16: - case 0x1d: - FUN_70008268(_DAT_80056900,0xea,0); - break; - case 7: - case 8: - case 9: - case 0x10: - case 0x14: - case 0x15: - case 0x17: - FUN_70008268(_DAT_80056900,0xeb,0); - break; - case 10: - FUN_70008268(_DAT_80056900,0xe9,0); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f04f9f8(longlong lParm1) - -{ - if ((lParm1 == 2) || (lParm1 == 3)) { - FUN_70008268(_DAT_80056900,0xe9,0); - } - else { - if (((((lParm1 == 0x1d) || (lParm1 == 0x1c)) || (lParm1 == 0x1b)) || - ((lParm1 == 0x21 || (lParm1 == 0x2f)))) || ((lParm1 == 0x30 || (lParm1 == 0x22)))) { - FUN_70008268(_DAT_80056900,0xeb,0); - } - else { - if (((lParm1 == 0x1a) || (lParm1 == 0x57)) || (lParm1 == 0x56)) { - FUN_70008268(_DAT_80056900,0xea,0); - } - else { - if (lParm1 == 0x16) { - FUN_70008268(_DAT_80056900,0xf2,0); - } - else { - FUN_70008268(_DAT_80056900,0xe8,0); - } - } - } - } - return; -} - - - -void FUN_7f04fb08(undefined *puParm1,undefined8 uParm2,undefined8 uParm3) - -{ - longlong lVar1; - - *puParm1 = 0; - if (DAT_80041150 == 0) { - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - FUN_7f04f49c(puParm1,uParm2,uParm3); - loc_7F04F400(puParm1,uParm2,uParm3); - } - loc_7F04F778(puParm1,uParm2,uParm3); - locret_7000A844(puParm1,&DAT_80048b14); - } - else { - loc_7F04F778(); - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - FUN_7f04f49c(puParm1,uParm2,uParm3); - } - locret_7000A844(puParm1,&DAT_80048b10); - } - return; -} - - - -void FUN_7f04fbe0(undefined4 uParm1,undefined8 uParm2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 auStack100 [25]; - - puVar3 = &DAT_80048b18; - puVar1 = auStack100; - do { - puVar4 = puVar3 + 3; - puVar2 = puVar1 + 3; - *puVar1 = *puVar3; - puVar1[1] = puVar3[1]; - puVar1[2] = puVar3[2]; - puVar3 = puVar4; - puVar1 = puVar2; - } while (puVar4 != (undefined4 *)0x80048b78); - *puVar2 = uRam80048b78; - FUN_7f04fb08(auStack100,uParm1,uParm2); - FUN_7f08a6d4(auStack100); - return; -} - - - -void FUN_7f04fc50(int iParm1,longlong lParm2,int iParm3,int iParm4) - -{ - longlong lVar1; - int iVar2; - - if (0 < lParm2) { - iVar2 = FUN_7f0699d4(); - lVar1 = FUN_7f069a68(iParm1); - if ((longlong)iVar2 < lVar1) { - iVar2 = FUN_7f0699d4(); - FUN_7f0698c4(iParm1,iVar2 + (int)lParm2); - } - if (iParm4 != 0) { - FUN_7f04fbe0(iParm1,(int)lParm2); - } - if (iParm3 != 0) { - loc_7F04F804(); - } - if (iParm1 == 5) { - FUN_7f08c7e8(0x1a); - } - else { - if (iParm1 == 7) { - FUN_7f08c7e8(0x1d); - FUN_7f08c7e8(0x1e); - } - else { - if (iParm1 == 8) { - FUN_7f08c7e8(0x1c); - } - else { - if (iParm1 == 9) { - FUN_7f08c7e8(0x1b); - } - else { - if (iParm1 == 10) { - FUN_7f08c7e8(3); - } - else { - if (iParm1 == 0x10) { - FUN_7f08c7e8(0x21); - } - else { - if (iParm1 == 0x14) { - FUN_7f08c7e8(0x2f); - } - else { - if (iParm1 == 0x15) { - FUN_7f08c7e8(0x30); - } - else { - if (iParm1 == 0x16) { - FUN_7f08c7e8(0x3d); - } - else { - if (iParm1 == 0x1d) { - FUN_7f08c7e8(0x58); - } - else { - if (iParm1 == 0x17) { - FUN_7f08c7e8(0x22); - } - } - } - } - } - } - } - } - } - } - } - } - return; -} - - - -uint loc_7F04FCE8(int iParm1) - -{ - longlong lVar1; - uint uVar2; - - uVar2 = 1; - if (true) { - switch(*(undefined4 *)(iParm1 + 0x80)) { - case 1: - uVar2 = 10; - break; - case 2: - uVar2 = 10; - break; - case 3: - uVar2 = 10; - break; - case 4: - uVar2 = 5; - break; - case 0xc: - uVar2 = 5; - break; - case 0xd: - uVar2 = 3; - break; - case 0xe: - uVar2 = 4; - } - } - if ((1 < uVar2) && (lVar1 = FUN_7f0999a4(), lVar1 == 1)) { - uVar2 = (uint)((float)uVar2 * DAT_8002c078); - } - return uVar2; -} - - - -uint FUN_7f04fee0(int iParm1) - -{ - undefined4 uVar2; - longlong lVar1; - uint uVar3; - - uVar2 = FUN_7f069bc0(*(undefined *)(iParm1 + 0x80)); - uVar3 = 1; - if (*(int *)(iParm1 + 8) << 1 < 0) { - uVar3 = 0; - } - else { - if (true) { - switch(uVar2) { - case 1: - uVar3 = 10; - break; - case 2: - uVar3 = 10; - break; - case 3: - uVar3 = 10; - break; - case 4: - uVar3 = 5; - break; - case 0xb: - uVar3 = 3; - break; - case 0xc: - uVar3 = 5; - break; - case 0xd: - uVar3 = 3; - break; - case 0xe: - uVar3 = 4; - } - } - if ((1 < uVar3) && (lVar1 = FUN_7f0999a4(), lVar1 == 1)) { - uVar3 = (uint)((float)uVar3 * DAT_8002c078); - } - } - return uVar3; -} - - - -void FUN_7f04ffc8(int iParm1,undefined4 uParm2) - -{ - longlong lVar1; - undefined8 uVar2; - bool bVar3; - int iVar4; - - bVar3 = false; - if (DAT_80041150 == 0) { - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - uVar2 = FUN_7f0c12b8(0xa400); - strtol(iParm1,uVar2); - } - } - else { - strtol(iParm1,&DAT_80048b7c); - lVar1 = FUN_7f0999a4(); - if (2 < lVar1) { - bVar3 = true; - } - } - if (false) { -switchD_7f05005c_caseD_17: - uVar2 = FUN_7f0c12b8(0xa43b); - locret_7000A844(iParm1,uVar2); - } - else { - switch(uParm2) { - case 2: - uVar2 = FUN_7f0c12b8(0xa420); - locret_7000A844(iParm1,uVar2); - break; - case 3: - case 0x1a: - case 0x1b: - case 0x1c: - case 0x1d: - case 0x21: - case 0x22: - case 0x2f: - case 0x30: - case 0x3d: - case 0x56: - case 0x57: - case 0x58: - uVar2 = FUN_7f069bc0(uParm2); - FUN_7f04fb08(iParm1,uVar2,1); - return; - case 4: - uVar2 = FUN_7f0c12b8(0xa421); - locret_7000A844(iParm1,uVar2); - break; - case 5: - uVar2 = FUN_7f0c12b8(0xa422); - locret_7000A844(iParm1,uVar2); - break; - case 6: - uVar2 = FUN_7f0c12b8(0xa423); - locret_7000A844(iParm1,uVar2); - break; - case 7: - uVar2 = FUN_7f0c12b8(0xa424); - locret_7000A844(iParm1,uVar2); - break; - case 8: - uVar2 = FUN_7f0c12b8(0xa425); - locret_7000A844(iParm1,uVar2); - break; - case 9: - uVar2 = FUN_7f0c12b8(0xa426); - locret_7000A844(iParm1,uVar2); - break; - case 10: - uVar2 = FUN_7f0c12b8(0xa427); - locret_7000A844(iParm1,uVar2); - break; - case 0xb: - uVar2 = FUN_7f0c12b8(0xa428); - locret_7000A844(iParm1,uVar2); - break; - case 0xc: - uVar2 = FUN_7f0c12b8(0xa429); - locret_7000A844(iParm1,uVar2); - break; - case 0xd: - uVar2 = FUN_7f0c12b8(0xa42a); - locret_7000A844(iParm1,uVar2); - break; - case 0xe: - uVar2 = FUN_7f0c12b8(0xa42b); - locret_7000A844(iParm1,uVar2); - break; - case 0xf: - uVar2 = FUN_7f0c12b8(0xa42c); - locret_7000A844(iParm1,uVar2); - break; - case 0x10: - uVar2 = FUN_7f0c12b8(0xa42d); - locret_7000A844(iParm1,uVar2); - break; - case 0x11: - uVar2 = FUN_7f0c12b8(0xa42e); - locret_7000A844(iParm1,uVar2); - break; - case 0x12: - uVar2 = FUN_7f0c12b8(0xa431); - locret_7000A844(iParm1,uVar2); - break; - case 0x13: - uVar2 = FUN_7f0c12b8(0xa432); - locret_7000A844(iParm1,uVar2); - break; - case 0x14: - uVar2 = FUN_7f0c12b8(0xa436); - locret_7000A844(iParm1,uVar2); - break; - case 0x15: - uVar2 = FUN_7f0c12b8(0xa437); - locret_7000A844(iParm1,uVar2); - break; - case 0x16: - uVar2 = FUN_7f0c12b8(0xa433); - locret_7000A844(iParm1,uVar2); - break; - default: - goto switchD_7f05005c_caseD_17; - case 0x18: - uVar2 = FUN_7f0c12b8(0xa42f); - locret_7000A844(iParm1,uVar2); - break; - case 0x19: - uVar2 = FUN_7f0c12b8(0xa430); - locret_7000A844(iParm1,uVar2); - break; - case 0x23: - uVar2 = FUN_7f0c12b8(0xa434); - locret_7000A844(iParm1,uVar2); - break; - case 0x24: - uVar2 = FUN_7f0c12b8(0xa435); - locret_7000A844(iParm1,uVar2); - break; - case 0x51: - uVar2 = FUN_7f0c12b8(0xa438); - locret_7000A844(iParm1,uVar2); - break; - case 0x52: - uVar2 = FUN_7f0c12b8(0xa439); - locret_7000A844(iParm1,uVar2); - break; - case 0x53: - uVar2 = FUN_7f0c12b8(0xa43a); - locret_7000A844(iParm1,uVar2); - } - } - if ((DAT_80041150 != 0) && (!bVar3)) { - iVar4 = locret_7001389C(iParm1); - if (*(char *)(iVar4 + iParm1 + -1) == '\n') { - iVar4 = locret_7001389C(iParm1); - *(undefined *)(iParm1 + iVar4 + -1) = 0; - } - uVar2 = FUN_7f0c12b8(0xa400); - locret_7000A844(iParm1,uVar2); - locret_7000A844(iParm1,&DAT_80048b80); - } - return; -} - - - -void FUN_7f05040c(undefined8 uParm1) - -{ - undefined auStack100 [100]; - - FUN_7f04ffc8(auStack100,uParm1); - FUN_7f08a6d4(auStack100); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f050438(int iParm1,int iParm2) - -{ - bool bVar1; - undefined uVar2; - int iVar3; - longlong lVar4; - int iVar7; - longlong lVar5; - undefined8 uVar6; - int iVar8; - int iVar9; - int iVar10; - uint uVar11; - - iVar3 = *(int *)(iParm1 + 4); - if ((*(int *)(_DAT_80068bc0 + 0xd8) != 0) || (DAT_80040ff4 == 0)) { - return 0; - } - if (false) { -switchD_7f0504a4_caseD_3: - FUN_70008268(_DAT_80056900,0xe5,0); - if (iParm2 == 0) { - iVar9 = 4; - } - else { - lVar5 = FUN_7f08dec4(iVar3); - if (lVar5 == 0) { - lVar5 = FUN_7f0c12b8(0xa43f); - } - FUN_7f08a6d4(lVar5); - iVar9 = 4; - } - } - else { - switch(*(undefined *)(iVar3 + 3)) { - default: - goto switchD_7f0504a4_caseD_3; - case 4: - FUN_70008268(_DAT_80056900,0xe5,0); - if (iParm2 != 0) { - lVar5 = FUN_7f08dec4(iVar3); - if (lVar5 == 0) { - lVar5 = FUN_7f0c12b8(0xa43c); - } - FUN_7f08a6d4(lVar5); - } - iVar9 = 4; - break; - case 7: - uVar6 = loc_7F04FCE8(iVar3); - FUN_7f04fc50(*(undefined4 *)(iVar3 + 0x80),uVar6,1,iParm2); - iVar9 = 1; - break; - case 8: - bVar1 = false; - FUN_7f04f9f8(*(undefined *)(iVar3 + 0x80)); - if (*(char *)(iVar3 + 0x80) == '\x1d') { - FUN_7f08c7e8(0x1e); - } - else { - if (*(char *)(iVar3 + 0x80) == 'X') { - FUN_7f05ddcc(0,0x58); - } - } - if ((*(uint *)(iVar3 + 100) & 0x400) == 0) { - lVar5 = loc_7F08C85C(iParm1); - bVar1 = lVar5 != 0; - if (iParm2 != 0) { - lVar5 = FUN_7f08df0c(*(undefined *)(iVar3 + 0x80)); - if (lVar5 == 0) { - if (bVar1) { - FUN_7f05040c(*(undefined *)(iVar3 + 0x80)); - } - } - else { - bVar1 = true; - FUN_7f08a6d4(lVar5); - } - } - iVar9 = 1; - uVar2 = *(undefined *)(iVar3 + 0x80); - } - else { - if (*(char *)(iVar3 + 0x80) < '!') { - loc_7F08C85C(iParm1); - } - if (iParm2 != 0) { - lVar5 = FUN_7f08dec4(iVar3); - if (lVar5 == 0) { - FUN_7f05040c(*(undefined *)(iVar3 + 0x80)); - } - else { - FUN_7f08a6d4(lVar5); - } - bVar1 = true; - } - iVar9 = 4; - uVar2 = *(undefined *)(iVar3 + 0x80); - } - lVar5 = FUN_7f069bc0(uVar2); - if (lVar5 != 0) { - lVar4 = FUN_7f04fee0(iVar3); - if (0 < lVar4) { - iVar7 = FUN_7f0699d4(lVar5); - iVar10 = FUN_7f069a68(lVar5); - if (iVar7 < iVar10) { - iVar7 = FUN_7f0699d4(lVar5); - FUN_7f0698c4(lVar5,iVar7 + (int)lVar4); - if ((!bVar1) && (iParm2 != 0)) { - FUN_7f04fbe0(lVar5,(int)lVar4); - } - } - } - } - break; - case 0x14: - iVar9 = 1; - iVar7 = 0; - iVar10 = iVar3; - while( true ) { - iVar8 = iVar9; - iVar9 = iVar8; - if (iVar7 == 1) { - iVar9 = 1; - } - uVar11 = (uint)*(ushort *)(iVar10 + 0x82); - lVar5 = FUN_7f0999a4(); - if (lVar5 == 1) { - uVar11 = (uint)((float)uVar11 * DAT_8002c078); - } - FUN_7f04fc50(iVar9,uVar11,0,iParm2); - iVar10 += 4; - if (iVar8 == 0xd) break; - iVar9 = iVar8 + 1; - iVar7 = iVar8; - } - FUN_70008268(_DAT_80056900,0xea,0); - iVar9 = 1; - break; - case 0x15: - FUN_7f08a4d8(*(undefined4 *)(iVar3 + 0x84)); - FUN_70008268(_DAT_80056900,0x51,0); - if (iParm2 != 0) { - lVar5 = FUN_7f08dec4(iVar3); - if (lVar5 == 0) { - lVar5 = FUN_7f0999a4(0); - if (lVar5 < 3) { - lVar5 = FUN_7f0c12b8(0xa43d); - } - else { - lVar5 = FUN_7f0c12b8(0xa43e); - } - } - FUN_7f08a6d4(lVar5); - } - iVar9 = 1; - } - } - if ((iVar9 == 1) && ((*(uint *)(iVar3 + 100) & 0x10) == 0)) { - loc_7F041010(iVar3,0,(ulonglong)*(byte *)(iVar3 + 2) & 4); - uVar6 = 1; - } - else { - uVar6 = 0; - if (iVar9 != 0) { - FUN_7f08ca9c(iParm1); - uVar6 = 4; - } - } - return uVar6; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0508c4(int iParm1) - -{ - char cVar1; - bool bVar2; - longlong lVar3; - int iVar6; - int iVar7; - int iVar8; - longlong lVar4; - int iVar9; - undefined8 uVar5; - undefined uVar10; - undefined uVar11; - int iVar12; - float fVar13; - float fVar14; - float fVar15; - int aiStack76 [8]; - int iStack44; - int iStack28; - int iStack4; - - iStack4 = *(int *)(iParm1 + 4); - lVar3 = FUN_7f04e1f4(); - if ((lVar3 == 0) || (*(char *)(iStack4 + 3) == '\x11')) { - iVar9 = *(int *)(iStack4 + 8); - if (-1 < iVar9 << 0xd) { - return 0; - } - } - else { - iVar9 = *(int *)(iStack4 + 8); - if (iVar9 << 0xb < 0) { - return 0; - } - } - if (iVar9 << 0xc < 0) { - return 0; - } - if ((((*(uint *)(iStack4 + 100) & 0x80) != 0) && (0 < *(int *)(*(int *)(iStack4 + 0x6c) + 0xbc))) - && (*(int *)(*(int *)(iStack4 + 0x6c) + 0x90) == 0)) { - return 0; - } - lVar3 = FUN_7f03e86c(); - if (lVar3 == 0) { - return 0; - } - cVar1 = *(char *)(iStack4 + 3); - if (cVar1 == '\b') { - iVar9 = *(int *)(iParm1 + 4); - cVar1 = *(char *)(iVar9 + 0x80); - if ((cVar1 == '\x1a') || (cVar1 == 'W')) { - if (-1 < *(short *)(iVar9 + 0x82)) { - return 0; - } - if ((*(uint *)(iStack4 + 100) & 4) != 0) { - return 0; - } - } - if (((cVar1 == '\x1d') || (cVar1 == '\x1c')) || - ((cVar1 == '\x1b' || - ((((cVar1 == '!' || (cVar1 == '/')) || (cVar1 == '0')) || (cVar1 == '\"')))))) { - if (-1 < *(short *)(iVar9 + 0x82)) { - return 0; - } - if ((*(uint *)(iStack4 + 100) & 4) != 0) { - return 0; - } - } - if ((cVar1 == 'V') && ((*(uint *)(iStack4 + 100) & 0x80) != 0)) { - return 0; - } - lVar3 = FUN_7f08c624(); - if ((lVar3 == 0) || (lVar3 = FUN_7f069bc0(*(undefined *)(iVar9 + 0x80)), lVar3 == 0)) - goto LAB_7f050dd4; - iVar6 = FUN_7f069be4(*(undefined *)(iVar9 + 0x80)); - iVar7 = FUN_7f069c44(*(undefined *)(iVar9 + 0x80)); - if (iVar6 < iVar7) goto LAB_7f050dd4; - iVar6 = *(int *)(iVar9 + 0x84); - if ((iVar6 == 0) && (*(char *)(iVar9 + 0x81) < '\0')) { - return 0; - } - if (iVar6 == 0) { - uVar10 = *(undefined *)(iVar9 + 0x81); - } - else { - uVar10 = *(undefined *)(iVar6 + 0x80); - } - if (*(int *)(iVar9 + 8) << 3 < 0) { - uVar11 = *(undefined *)(iVar9 + 0x80); - } - else { - uVar11 = uVar10; - uVar10 = *(undefined *)(iVar9 + 0x80); - } - lVar3 = FUN_7f08c6ac(uVar10,uVar11); - } - else { - if (cVar1 != '\a') { - if (cVar1 == '\x14') { - iVar9 = *(int *)(iParm1 + 4); - iStack28 = 1; - lVar3 = loc_7F03FFDC(iStack4); - if (lVar3 != 0) { - return 0; - } - iVar6 = 0; - do { - iVar12 = iVar6 + 1; - iVar7 = iVar12; - if (iVar6 == 1) { - iVar7 = 1; - } - if (*(short *)(iVar9 + 0x82) != 0) { - iVar6 = FUN_7f0699d4(iVar7); - iVar8 = FUN_7f069a68(iVar7); - if (iVar6 < iVar8) { - iStack28 = 0; - iVar7 = iStack28; - break; - } - if ((((((iVar7 == 5) && (lVar3 = FUN_7f08c624(0x1a), lVar3 == 0)) || - ((iVar7 == 7 && (lVar3 = FUN_7f08c624(0x1d), lVar3 == 0)))) || - ((iVar7 == 8 && (lVar3 = FUN_7f08c624(0x1c), lVar3 == 0)))) || - ((iVar7 == 9 && (lVar3 = FUN_7f08c624(0x1b), lVar3 == 0)))) || - ((iVar7 == 10 && (lVar3 = FUN_7f08c624(3), lVar3 == 0)))) { - iStack28 = 0; - iVar7 = iStack28; - break; - } - } - iVar9 += 4; - iVar6 = iVar12; - iVar7 = iStack28; - } while (iVar12 != 0xd); - } - else { - if (cVar1 != '\x15') goto LAB_7f050dd4; - iVar9 = *(int *)(iParm1 + 4); - iStack44 = 0; - fVar13 = (float)FUN_7f08a4c8(); - if (*(float *)(iVar9 + 0x84) <= fVar13) { - iStack44 = 1; - iVar7 = iStack44; - } - else { - lVar3 = FUN_7f0999a4(); - iVar7 = iStack44; - if (1 < lVar3) { - lVar3 = FUN_7f0146c8(); - if ((lVar3 == 2) && (lVar4 = FUN_7f08d364(), lVar4 != 0)) { - iStack44 = 1; - iVar7 = iStack44; - } - else { - iVar7 = iStack44; - if ((lVar3 == 3) && (lVar3 = FUN_7f08d3a4(), iVar7 = iStack44, lVar3 != 0)) { - iStack44 = 1; - iVar7 = iStack44; - } - } - } - } - } - if (iVar7 != 0) { - return 0; - } - goto LAB_7f050dd4; - } - iVar9 = *(int *)(iParm1 + 4); - iVar6 = FUN_7f0699d4(*(undefined4 *)(iVar9 + 0x80)); - iVar7 = FUN_7f069a68(*(undefined4 *)(iVar9 + 0x80)); - if (iVar6 < iVar7) goto LAB_7f050dd4; - iVar6 = *(int *)(iVar9 + 0x80); - if (iVar6 == 5) { - lVar3 = FUN_7f08c624(0x1a); - if (lVar3 == 0) goto LAB_7f050dd4; - iVar6 = *(int *)(iVar9 + 0x80); - } - if (iVar6 == 7) { - lVar3 = FUN_7f08c624(0x1d); - if (lVar3 == 0) goto LAB_7f050dd4; - iVar6 = *(int *)(iVar9 + 0x80); - } - if (iVar6 == 8) { - lVar3 = FUN_7f08c624(0x1c); - if (lVar3 == 0) goto LAB_7f050dd4; - iVar6 = *(int *)(iVar9 + 0x80); - } - if (iVar6 == 9) { - lVar3 = FUN_7f08c624(0x1b); - if (lVar3 == 0) goto LAB_7f050dd4; - iVar6 = *(int *)(iVar9 + 0x80); - } - if (iVar6 != 10) { - return 0; - } - lVar3 = FUN_7f08c624(3); - } - if (lVar3 != 0) { - return 0; - } -LAB_7f050dd4: - fVar13 = (float)FUN_7f08a0dc(); - if ((DAT_80049420 <= fVar13) || (-1 < *(int *)(_DAT_80068bc0 + 0x1268))) { - iVar9 = FUN_7f089900(); - fVar13 = *(float *)(iStack4 + 0x58) - *(float *)(iVar9 + 8); - fVar15 = *(float *)(iStack4 + 0x5c) - *(float *)(iVar9 + 0xc); - fVar14 = *(float *)(iStack4 + 0x60) - *(float *)(iVar9 + 0x10); - if (*(int *)(_DAT_80068bc0 + 0x1268) < 0x3c) { - bVar2 = fVar13 * fVar13 + fVar14 * fVar14 <= DAT_80049428; - if ((bVar2) && (bVar2 = -200.00000000 <= fVar15, bVar2)) { - if (200.00000000 < fVar15) { - bVar2 = false; - } - else { - bVar2 = true; - } - } - } - else { - bVar2 = fVar13 * fVar13 + fVar14 * fVar14 <= DAT_80049424; - if (((bVar2) && (bVar2 = -500.00000000 <= fVar15, bVar2)) && - (bVar2 = false, fVar15 <= 500.00000000)) { - bVar2 = true; - } - } - if ((bVar2) && ((*(uint *)(iStack4 + 0xc) & 0x1000) == 0)) { - aiStack76[0] = *(int *)(iVar9 + 0x14); - lVar3 = loc_7F0B13B4(aiStack76,*(undefined4 *)(iVar9 + 8),*(undefined4 *)(iVar9 + 0x10), - *(undefined4 *)(iParm1 + 8),*(undefined4 *)(iParm1 + 0x10),2,0x41f00000, - 0x41f00000,0,0x3f800000); - if ((lVar3 == 0) || (aiStack76[0] != *(int *)(iParm1 + 0x14))) { - bVar2 = false; - } - } - if (bVar2) { - uVar5 = FUN_7f050438(iParm1,1); - return uVar5; - } - } - return 0; -} - - - -undefined8 loc_7F050DD8(int iParm1,undefined4 *puParm2,undefined4 *puParm3,undefined4 *puParm4) - -{ - int iVar1; - undefined8 uVar2; - int iVar3; - - if ((*(byte *)(iParm1 + 1) & 2) == 0) { - uVar2 = 0; - } - else { - iVar1 = *(int *)(iParm1 + 4); - iVar3 = FUN_7f06cdd8(*(undefined4 *)(iVar1 + 0x14)); - puParm2[2] = *(undefined4 *)(iVar3 + 0x38); - if ((float)puParm2[2] < 0.00000000) { - *puParm2 = *(undefined4 *)(iVar3 + 0x30); - puParm2[1] = *(undefined4 *)(iVar3 + 0x34); - *puParm4 = 0; - puParm4[1] = 0; - *puParm3 = 0; - puParm3[1] = 0; - FUN_7f03f9cc(*(undefined4 *)(iVar1 + 0x14),puParm3 + 1,puParm3,puParm4 + 1,puParm4); - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -void loc_7F050F20(int iParm1) - -{ - ushort **ppuVar1; - int iVar2; - int *piVar4; - longlong lVar3; - ushort *puVar5; - ushort uVar6; - ushort *puVar7; - - ppuVar1 = *(ushort ***)(iParm1 + 8); - puVar7 = *ppuVar1; - if (puVar7 != NULL) { - uVar6 = *puVar7; - while( true ) { - uVar6 &= 0xff; - if (uVar6 == 8) { - FUN_7f06ed5c(iParm1,puVar7); - puVar5 = *(ushort **)(puVar7 + 10); - } - else { - if (uVar6 == 0x12) { - FUN_7f06eda8(iParm1,puVar7); - puVar5 = *(ushort **)(puVar7 + 10); - } - else { - if (uVar6 == 0x17) { - FUN_7f06edf4(iParm1,puVar7); - puVar5 = *(ushort **)(puVar7 + 10); - } - else { - if (uVar6 == 0x18) { - iVar2 = *(int *)(puVar7 + 2); - piVar4 = (int *)loc_7F06C888(iParm1,puVar7); - if ((*(int *)(iVar2 + 8) != *piVar4) && - (lVar3 = FUN_7f04b76c(ppuVar1,puVar7), lVar3 != 0)) { - FUN_7f09b584(*piVar4); - *piVar4 = *(int *)(iVar2 + 8); - } - puVar5 = *(ushort **)(puVar7 + 10); - } - else { - puVar5 = *(ushort **)(puVar7 + 10); - } - } - } - } - if ((puVar5 == NULL) && (puVar5 = puVar7, puVar7 != NULL)) { - puVar5 = *(ushort **)(puVar7 + 6); - while ((puVar5 == NULL && - (puVar7 = *(ushort **)(puVar7 + 4), puVar5 = puVar7, puVar7 != NULL))) { - puVar5 = *(ushort **)(puVar7 + 6); - } - } - puVar7 = puVar5; - if (puVar7 == NULL) break; - uVar6 = *puVar7; - } - } - return; -} - - - -longlong loc_7F051014(ushort *puParm1,int iParm2,undefined8 uParm3,undefined8 uParm4, - undefined4 uParm5) - -{ - int iVar1; - longlong lVar2; - float fVar3; - - lVar2 = loc_7F0406E4(puParm1,uParm3,uParm4,uParm5); - if ((lVar2 != 0) && (iVar1 = *(int *)(puParm1 + 10), iVar1 != 0)) { - fVar3 = (float)(uint)*puParm1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - set_obj_instance_controller_scale(iVar1,*(float *)(iVar1 + 0x14) * fVar3 * 0.00390625); - *(undefined4 *)(*(int *)(puParm1 + 10) + 0x18) = *(undefined4 *)(iParm2 + 0x1c); - *(undefined4 *)(*(int *)(puParm1 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iParm2 + 0x1c) + 8) + 8) + 0x18); - loc_7F03A5C0(lVar2,*(undefined4 *)(iParm2 + 0x18)); - *(undefined4 *)(iParm2 + 0x1d8) = (int)lVar2; - } - return lVar2; -} - - - -void FUN_7f051308(int iParm1,undefined4 uParm2) - -{ - short sVar1; - - sVar1 = *(short *)(iParm1 + 4); - FUN_7f056f18(); - loc_7F051014(iParm1,uParm2,(&PTR_DAT_80034d88)[(int)sVar1 * 3],0,0); - return; -} - - - -void FUN_7f051364(int iParm1) - -{ - *(float *)(iParm1 + 0x74) = (float)*(int *)(iParm1 + 0x74) / 65536.00000000; - FUN_7f051308(); - return; -} - - - -longlong FUN_7f0513a0(undefined2 *puParm1,undefined8 uParm2,uint uParm3) - -{ - undefined4 *puVar1; - longlong lVar2; - longlong lVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 auStack144 [30]; - undefined4 auStack24 [5]; - undefined *puStack4; - - puStack4 = (&PTR_DAT_80034d88)[(int)uParm2 * 3]; - FUN_7f056f18(uParm2); - lVar2 = FUN_7f03a4f0(); - lVar3 = FUN_7f06c7d4(puStack4); - puVar4 = (undefined4 *)FUN_7f051890((ulonglong)(lVar2 == 0),(ulonglong)(lVar3 == 0),puStack4); - if (lVar2 == 0) { - lVar2 = FUN_7f03a4f0(); - } - if (lVar3 == 0) { - lVar3 = FUN_7f06c7d4(puStack4); - } - if (((puVar4 == NULL) || (lVar2 == 0)) || (lVar3 == 0)) { - if (lVar3 != 0) { - FUN_7f06c974(lVar3); - } - if (lVar2 != 0) { - FUN_7f03a544(lVar2); - lVar2 = 0; - } - } - else { - puVar6 = &DAT_8002d664; - puVar1 = auStack144; - do { - puVar5 = puVar1; - puVar7 = puVar6; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar6 = puVar7 + 3; - puVar1 = puVar5 + 3; - } while (puVar7 + 3 != (undefined4 *)0x8002d6dc); - puVar5[3] = uRam8002d6dc; - puVar5[4] = puVar7[4]; - puVar6 = auStack144; - puVar1 = puVar4; - do { - puVar7 = puVar1; - puVar5 = puVar6; - puVar6 = puVar5 + 3; - *puVar7 = *puVar5; - puVar7[1] = puVar5[1]; - puVar7[2] = puVar5[2]; - puVar1 = puVar7 + 3; - } while (puVar6 != auStack24); - puVar7[3] = *puVar6; - puVar7[4] = puVar5[4]; - *(short *)(puVar4 + 1) = (short)uParm2; - puVar4[2] = uParm3 | 0x4000; - *(undefined2 *)((int)puVar4 + 6) = *puParm1; - lVar2 = loc_7F051014(puVar4,puParm1,puStack4,lVar2,(int)lVar3); - } - return lVar2; -} - - - -int FUN_7f05154c(int iParm1,longlong lParm2,undefined4 uParm3) - -{ - int iVar1; - char cVar3; - longlong lVar2; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iStack20; - int iStack16; - int aiStack12 [2]; - int iStack4; - - aiStack12[0] = 0; - iStack16 = 0; - iStack20 = -1; - iVar6 = -1; - iVar7 = -1; - iVar5 = DAT_8002c048; - do { - iVar1 = iVar5 * 0x88; - iVar4 = *(int *)(&DAT_80060dd0 + iVar1); - if (iVar4 == 0) { - if (iParm1 == 0) { - iVar4 = iVar5; - if (lParm2 == 0) break; - iVar5 += 1; - } - else { - iVar5 += 1; - } - } - else { - if ((*(uint *)(iVar1 + -0x7ff9f1dc) & 0x80) == 0) { - if ((*(byte *)(iVar1 + -0x7ff9f23e) & 4) == 0) { - if (*(short *)(iVar1 + -0x7ff9f1be) < 1) { - if (*(int *)(iVar4 + 0x1c) != 0) { - cVar3 = *(char *)(iVar1 + -0x7ff9f1c0); - goto LAB_7f051604; - } -LAB_7f05164c: - if (lParm2 == 0) { -LAB_7f051688: - if (((*(byte *)(iVar4 + 1) & 2) == 0) && (iVar6 < 0)) { - iVar6 = iVar5; - } - iVar4 = iVar5; - if (-1 < iVar7) { - iVar5 += 1; - goto LAB_7f0516b4; - } - } - else { - iStack4 = iVar5; - lVar2 = locret_7F06C08C(*(undefined4 *)(iVar1 + -0x7ff9f22c),uParm3); - iVar5 = iStack4; - iVar4 = iVar7; - if (lVar2 != 0) { - iVar4 = *(int *)(&DAT_80060dd0 + iVar1); - iVar5 = iStack4; - goto LAB_7f051688; - } - } - iVar5 += 1; - iVar7 = iVar4; - } - else { - cVar3 = *(char *)(iVar1 + -0x7ff9f1c0); -LAB_7f051604: - if (((cVar3 == '\x1d') || (cVar3 == '\x1c')) || (cVar3 == '\x1b')) { - if (((*(char **)(iVar4 + 0x1c) == NULL) || - (cVar3 = **(char **)(iVar4 + 0x1c), cVar3 == '\x01')) || - ((cVar3 == '\x02' || (cVar3 == '\x04')))) goto LAB_7f05164c; - iVar5 += 1; - } - else { - iVar5 += 1; - } - } - } - else { - iVar5 += 1; - } - } - else { - iVar5 += 1; - } - } -LAB_7f0516b4: - iVar5 %= 0x1e; - iVar4 = iStack20; - } while (iVar5 != DAT_8002c048); - iStack20 = iVar4; - if (iStack20 < 0) { - iVar5 = FUN_7f0571e8(8,aiStack12,&iStack16,iParm1,(int)lParm2,uParm3); - if (iVar5 == 0) { - if (iVar6 < 0) { - if (aiStack12[0] == 0) { - if (iVar7 < 0) { - if (iStack16 == 0) { - iVar5 = 0; - } - else { - iVar5 = iStack16; - if (*(int *)(iStack16 + 0x10) != 0) { - FUN_7f0410e4(iStack16,1); - iVar5 = iStack16; - } - } - } - else { - iVar5 = iVar7 * 0x88; - if (*(int *)(&DAT_80060dd0 + iVar5) != 0) { - FUN_7f0410e4(iVar5 + -0x7ff9f240,1); - } - DAT_8002c048 = (iVar7 + 1) % 0x1e; - iVar5 = iVar5 + -0x7ff9f240; - } - } - else { - iVar5 = aiStack12[0]; - if (*(int *)(aiStack12[0] + 0x10) != 0) { - FUN_7f0410e4(aiStack12[0],1); - iVar5 = aiStack12[0]; - } - } - } - else { - iVar5 = iVar6 * 0x88; - if (*(int *)(&DAT_80060dd0 + iVar5) != 0) { - FUN_7f0410e4(iVar5 + -0x7ff9f240,1); - } - DAT_8002c048 = (iVar6 + 1) % 0x1e; - iVar5 = iVar5 + -0x7ff9f240; - } - } - } - else { - DAT_8002c048 = (iStack20 + 1) % 0x1e; - iVar5 = iStack20 * 0x88 + -0x7ff9f240; - } - return iVar5; -} - - - -void FUN_7f051868(void) - -{ - FUN_7f05154c(0,0,0); - return; -} - - - -int FUN_7f051890(int iParm1,longlong lParm2,undefined4 uParm3) - -{ - byte bVar1; - int unaff_1000012b; - longlong lVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iStack20; - int iStack16; - int aiStack12 [2]; - int iStack4; - - aiStack12[0] = 0; - iStack16 = 0; - iStack20 = -1; - iVar6 = -1; - iVar8 = -1; - iVar3 = DAT_8002c04c; - do { - iVar5 = iVar3 * 0x80; - iVar4 = *(int *)(&DAT_80061dc0 + iVar5); - if (iVar4 == 0) { - if (iParm1 == 0) { - iVar4 = iVar3; - if (lParm2 == 0) break; - iVar4 = iVar3 + 1; - } - else { - iVar4 = iVar3 + 1; - } - } - else { - if ((*(uint *)(iVar5 + -0x7ff9e1ec) & 0x80) == 0) { - if (*(int *)(iVar4 + 0x1c) == 0) { - if (lParm2 == 0) { - bVar1 = *(byte *)(iVar4 + 1); -LAB_7f051968: - if (((bVar1 & 2) == 0) && (iVar6 < 0)) { - iVar6 = iVar3; - } - iVar7 = iVar3; - if (-1 < iVar8) { - iVar4 = iVar3 + 1; - goto LAB_7f051990; - } - } - else { - iStack4 = iVar3; - lVar2 = locret_7F06C08C(*(undefined4 *)(iVar5 + -0x7ff9e23c),uParm3); - iVar3 = iStack4; - iVar7 = iVar8; - iParm1 = unaff_1000012b; - if (lVar2 != 0) { - bVar1 = *(byte *)(*(int *)(&DAT_80061dc0 + iVar5) + 1); - iVar3 = iStack4; - iParm1 = unaff_1000012b; - goto LAB_7f051968; - } - } - iVar4 = iVar3 + 1; - iVar8 = iVar7; - } - else { - iVar4 = iVar3 + 1; - } - } - else { - iVar4 = iVar3 + 1; - } - } -LAB_7f051990: - iVar3 = iVar4 % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - iVar4 = iStack20; - } while (iVar3 != DAT_8002c04c); - iStack20 = iVar4; - if (iStack20 < 0) { - iVar3 = FUN_7f0571e8(0x11,aiStack12,&iStack16,iParm1,(int)lParm2,uParm3); - if (iVar3 == 0) { - if (iVar6 < 0) { - if (aiStack12[0] == 0) { - if (iVar8 < 0) { - if (iStack16 == 0) { - iVar3 = 0; - } - else { - iVar3 = iStack16; - if (*(int *)(iStack16 + 0x10) != 0) { - FUN_7f0410e4(iStack16,1); - iVar3 = iStack16; - } - } - } - else { - if (*(int *)(&DAT_80061dc0 + iVar8 * 0x80) != 0) { - FUN_7f0410e4(iVar8 * 0x80 + -0x7ff9e250,1); - } - DAT_8002c04c = (iVar8 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar8 + 1 == -0x80000000)) { - trap(0x1800); - } - iVar3 = iVar8 * 0x80 + -0x7ff9e250; - } - } - else { - iVar3 = aiStack12[0]; - if (*(int *)(aiStack12[0] + 0x10) != 0) { - FUN_7f0410e4(aiStack12[0],1); - iVar3 = aiStack12[0]; - } - } - } - else { - if (*(int *)(&DAT_80061dc0 + iVar6 * 0x80) != 0) { - FUN_7f0410e4(iVar6 * 0x80 + -0x7ff9e250,1); - } - DAT_8002c04c = (iVar6 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 + 1 == -0x80000000)) { - trap(0x1800); - } - iVar3 = iVar6 * 0x80 + -0x7ff9e250; - } - } - } - else { - DAT_8002c04c = (iStack20 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iStack20 + 1 == -0x80000000)) { - trap(0x1800); - } - iVar3 = iStack20 * 0x80 + -0x7ff9e250; - } - return iVar3; -} - - - -void FUN_7f051b88(void) - -{ - FUN_7f051890(0,0,0); - return; -} - - - -int FUN_7f051bb0(void) - -{ - int *piVar1; - int iVar2; - undefined *puVar3; - - puVar3 = (undefined *)0x800622b0; - iVar2 = 0; - do { - piVar1 = (int *)(puVar3 + 0x10); - puVar3 = puVar3 + 0x84; - if (*piVar1 == 0) { - return iVar2 + -0x7ff9dd50; - } - iVar2 += 0x84; - } while (puVar3 < &DAT_80062d00); - puVar3 = (undefined *)0x800622b0; - iVar2 = 0; - while (((((*(uint *)(puVar3 + 100) & 0x80) != 0 || ((puVar3[2] & 4) != 0)) || - (*(int *)(*(int *)(puVar3 + 0x10) + 0x1c) != 0)) || - ((*(byte *)(*(int *)(puVar3 + 0x10) + 1) & 2) != 0))) { - puVar3 = puVar3 + 0x84; - iVar2 += 0x84; - if (&DAT_80062d00 <= puVar3) { - puVar3 = (undefined *)0x800622b0; - iVar2 = 0; - while ((((*(uint *)(puVar3 + 100) & 0x80) != 0 || ((puVar3[2] & 4) != 0)) || - (*(int *)(*(int *)(puVar3 + 0x10) + 0x1c) != 0))) { - puVar3 = puVar3 + 0x84; - iVar2 += 0x84; - if (puVar3 == &DAT_80062d00) { - return 0; - } - } - FUN_7f0410e4(puVar3,1); - return iVar2 + -0x7ff9dd50; - } - } - FUN_7f0410e4(puVar3,1); - return iVar2 + -0x7ff9dd50; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f051cf8(void) - -{ - uint uVar1; - - uVar1 = FUN_7f09a690(); - DAT_8002c044 |= 1 << (uVar1 & 0x1f); - FUN_70008268(_DAT_80056900,0xf3,0); - return; -} - - - -int loc_7F051ADC(char cParm1,char *pcParm2) - -{ - int iVar1; - int iVar2; - - if (*pcParm2 == '\x04') { - if (cParm1 == *(char *)(*(int *)(pcParm2 + 4) + 0x80)) { - return *(int *)(pcParm2 + 4); - } - iVar1 = *(int *)(pcParm2 + 0x20); - } - else { - iVar1 = *(int *)(pcParm2 + 0x20); - } - while( true ) { - if (iVar1 == 0) { - return 0; - } - iVar2 = loc_7F051ADC(cParm1,iVar1); - if (iVar2 != 0) break; - iVar1 = *(int *)(iVar1 + 0x24); - } - return iVar2; -} - - - -int FUN_7f051dcc(undefined8 uParm1) - -{ - int iVar1; - int iVar2; - - iVar1 = FUN_7f03a4e4(); - while( true ) { - while( true ) { - if (iVar1 == 0) { - return 0; - } - iVar2 = loc_7F051ADC(uParm1,iVar1); - if (iVar2 != 0) break; - iVar1 = *(int *)(iVar1 + 0x24); - } - if ((*(uint *)(iVar2 + 100) & 0x80) == 0) break; - iVar1 = *(int *)(iVar1 + 0x24); - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f051e3c(int iParm1) - -{ - int *piVar1; - int iVar2; - - piVar1 = (int *)&DAT_80060d40; - iVar2 = _DAT_80060d40; - while( true ) { - if (iVar2 == 0) { - *piVar1 = iParm1; - return; - } - piVar1 = piVar1 + 1; - if (piVar1 == (int *)&DAT_80060db8) break; - iVar2 = *piVar1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f051e74(int iParm1) - -{ - int *piVar1; - int iVar2; - - piVar1 = (int *)&DAT_80060d40; - iVar2 = _DAT_80060d40; - while( true ) { - if (iParm1 == iVar2) { - *piVar1 = 0; - return; - } - piVar1 = piVar1 + 1; - if (piVar1 == (int *)&DAT_80060db8) break; - iVar2 = *piVar1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f051eac(float *pfParm1) - -{ - float fVar1; - int iVar2; - int *piVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar1 = DAT_8004942c; - piVar3 = (int *)&DAT_80060d40; - iVar2 = _DAT_80060d40; - while( true ) { - if (iVar2 == 0) { - iVar2 = piVar3[1]; - } - else { - if (*(short *)(iVar2 + 0x82) == 1) { - fVar4 = *pfParm1 - *(float *)(iVar2 + 0x58); - fVar5 = pfParm1[1] - *(float *)(iVar2 + 0x5c); - fVar6 = pfParm1[2] - *(float *)(iVar2 + 0x60); - if (fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6 < fVar1) { - *(undefined2 *)(iVar2 + 0x82) = 0; - iVar2 = piVar3[1]; - } - else { - iVar2 = piVar3[1]; - } - } - else { - iVar2 = piVar3[1]; - } - } - piVar3 = piVar3 + 2; - if (((iVar2 != 0) && (*(short *)(iVar2 + 0x82) == 1)) && - (fVar4 = *pfParm1 - *(float *)(iVar2 + 0x58), fVar5 = pfParm1[1] - *(float *)(iVar2 + 0x5c), - fVar6 = pfParm1[2] - *(float *)(iVar2 + 0x60), - fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6 < fVar1)) { - *(undefined2 *)(iVar2 + 0x82) = 0; - } - if (piVar3 == (int *)&DAT_80060db8) break; - iVar2 = *piVar3; - } - return; -} - - - -void FUN_7f051fa8(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - undefined auStack24 [24]; - - lVar1 = actor_drops_itemtype_setting_timer(); - iVar3 = 0; - if (0 < lVar1) { - do { - iVar2 = iVar3 + DAT_800281b4; - if ((*(int *)(iVar2 + 0x1c) != 0) && ((*(ushort *)(iVar2 + 0x12) & 0x200) != 0)) { - loc_7F028A4C(iVar2,auStack24); - FUN_7f051eac(auStack24); - } - iVar3 += 0x1dc; - } while (iVar3 < (int)lVar1 * 0x1dc); - } - return; -} - - - -void link_objects(int iParm1,int iParm2) - -{ - undefined uVar1; - undefined uVar2; - - uVar1 = *(undefined *)(iParm2 + 0x80); - uVar2 = *(undefined *)(iParm1 + 0x80); - *(int *)(iParm1 + 0x84) = iParm2; - *(undefined *)(iParm1 + 0x81) = uVar1; - *(int *)(iParm2 + 0x84) = iParm1; - *(undefined *)(iParm2 + 0x81) = uVar2; - return; -} - - - -undefined * FUN_7f052070(void) - -{ - undefined *puVar1; - - puVar1 = (undefined *)loc_7F0406E4(); - if (puVar1 != NULL) { - *puVar1 = 4; - loc_7F0525F8(puVar1,0); - } - return puVar1; -} - - - -undefined * FUN_7f0520b8(void) - -{ - undefined *puVar1; - - puVar1 = (undefined *)FUN_7f0407b8(); - if (puVar1 != NULL) { - *puVar1 = 4; - loc_7F0525F8(puVar1,0); - } - return puVar1; -} - - - -undefined8 loc_7F051F20(int iParm1,int iParm2) - -{ - bool bVar1; - int iVar2; - uint uVar3; - - bVar1 = *(int *)(iParm1 + 8) << 3 < 0; - iVar2 = *(int *)(iParm1 + 0x10); - if (iVar2 != 0) { - if (*(int *)(iParm1 + 0x14) != 0) { - if (-1 < *(int *)(iParm1 + 8) << 2) { - uVar3 = (uint)bVar1; - iVar2 = iParm2 + uVar3 * 4; - if (*(int *)(iVar2 + 0x160) != 0) { - return 0; - } - *(undefined4 *)(*(int *)(iParm1 + 0x14) + 0x18) = *(undefined4 *)(iParm2 + 0x1c); - if (bVar1) { - *(undefined4 *)(*(int *)(iParm1 + 0x14) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iParm2 + 0x1c) + 8) + 8) + 0x14); - } - else { - *(undefined4 *)(*(int *)(iParm1 + 0x14) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iParm2 + 0x1c) + 8) + 8) + 0xc); - } - *(undefined4 *)(iVar2 + 0x160) = *(undefined4 *)(iParm1 + 0x10); - if ((*(int *)(iParm1 + 8) < 0) && - (iVar2 = *(int *)(iParm2 + uVar3 * -4 + 0x164), iVar2 != 0)) { - link_objects(iParm1,*(undefined4 *)(iVar2 + 4)); - } - iVar2 = *(int *)(iParm1 + 0x10); - } - loc_7F03A5C0(iVar2,*(undefined4 *)(iParm2 + 0x18)); - } - } - return 1; -} - - - -undefined4 -loc_7F051FC4(ushort *puParm1,undefined4 uParm2,undefined8 uParm3,undefined8 uParm4,undefined4 uParm5 - ) - -{ - int iVar1; - longlong lVar2; - float fVar3; - - lVar2 = FUN_7f052070(puParm1,uParm3,uParm4,uParm5); - if ((lVar2 != 0) && (iVar1 = *(int *)(puParm1 + 10), iVar1 != 0)) { - fVar3 = (float)(uint)*puParm1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - set_obj_instance_controller_scale(iVar1,*(float *)(iVar1 + 0x14) * fVar3 * 0.00390625); - loc_7F051F20(puParm1,uParm2); - } - return (int)lVar2; -} - - - -void FUN_7f0522b4(int iParm1,undefined4 uParm2) - -{ - short sVar1; - - sVar1 = *(short *)(iParm1 + 4); - FUN_7f056f18(); - loc_7F051FC4(iParm1,uParm2,(&PTR_DAT_80034d88)[(int)sVar1 * 3],0,0); - return; -} - - - -void FUN_7f052310(int iParm1) - -{ - *(float *)(iParm1 + 0x74) = (float)*(int *)(iParm1 + 0x74) / 65536.00000000; - FUN_7f0522b4(); - return; -} - - - -undefined4 * FUN_7f05234c(int iParm1,undefined uParm2) - -{ - longlong lVar1; - longlong lVar2; - int iVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 auStack152 [33]; - undefined4 auStack20 [2]; - int local_c; - undefined *local_4; - - local_4 = (&PTR_DAT_80034d88)[iParm1 * 3]; - FUN_7f056f18(); - lVar1 = FUN_7f03a4f0(); - lVar2 = FUN_7f06c7d4(local_4); - local_c = (int)lVar2; - puVar6 = (undefined4 *)FUN_7f05154c((ulonglong)(lVar1 == 0),(ulonglong)(lVar2 == 0),local_4); - if (lVar1 == 0) { - lVar1 = FUN_7f03a4f0(); - } - iVar3 = local_c; - if (local_c == 0) { - iVar3 = FUN_7f06c7d4(local_4); - } - if (((puVar6 == NULL) || (lVar1 == 0)) || (iVar3 == 0)) { - puVar6 = NULL; - if (iVar3 != 0) { - FUN_7f06c974(iVar3); - } - if (lVar1 != 0) { - FUN_7f03a544(lVar1); - } - } - else { - puVar7 = &DAT_8002d6e4; - puVar4 = auStack152; - do { - puVar8 = puVar7 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar7; - puVar4[1] = puVar7[1]; - puVar4[2] = puVar7[2]; - puVar7 = puVar8; - puVar4 = puVar5; - } while (puVar8 != (undefined4 *)0x8002d768); - *puVar5 = uRam8002d768; - puVar7 = auStack152; - puVar4 = puVar6; - do { - puVar5 = puVar7 + 3; - puVar8 = puVar4 + 3; - *puVar4 = *puVar7; - puVar4[1] = puVar7[1]; - puVar4[2] = puVar7[2]; - puVar7 = puVar5; - puVar4 = puVar8; - } while (puVar5 != auStack20); - *puVar8 = *puVar5; - *(undefined *)(puVar6 + 0x20) = uParm2; - *(short *)(puVar6 + 1) = (short)iParm1; - FUN_7f052070(puVar6,local_4,lVar1); - } - return puVar6; -} - - - -void locret_7F05220C(int iParm1,int iParm2) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + iParm2 * 4 + 0x160); - if (iVar1 != 0) { - iVar1 = *(int *)(iVar1 + 4); - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 4; - } - return; -} - - - -longlong loc_7F0523BC(undefined2 *puParm1,undefined8 uParm2,undefined uParm3,uint uParm4, - undefined4 *puParm5,undefined *puParm6) - -{ - longlong lVar1; - longlong lVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 auStack144 [33]; - undefined4 auStack12 [3]; - - if (puParm6 == NULL) { - puParm6 = (&PTR_DAT_80034d88)[(int)uParm2 * 3]; - FUN_7f056f18(uParm2); - } - lVar1 = FUN_7f03a4f0(); - lVar2 = FUN_7f06c7d4(puParm6); - if (puParm5 == NULL) { - puParm5 = (undefined4 *)FUN_7f05154c((ulonglong)(lVar1 == 0),(ulonglong)(lVar2 == 0),puParm6); - } - if (lVar1 == 0) { - lVar1 = FUN_7f03a4f0(); - } - if (lVar2 == 0) { - lVar2 = FUN_7f06c7d4(puParm6); - } - if (((puParm5 == NULL) || (lVar1 == 0)) || (lVar2 == 0)) { - if (lVar2 != 0) { - FUN_7f06c974(lVar2); - } - if (lVar1 != 0) { - FUN_7f03a544(lVar1); - lVar1 = 0; - } - } - else { - puVar3 = &DAT_8002d76c; - puVar5 = auStack144; - do { - puVar4 = puVar3 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar4; - puVar5 = puVar6; - } while (puVar4 != (undefined4 *)0x8002d7f0); - *puVar6 = uRam8002d7f0; - puVar3 = auStack144; - puVar5 = puParm5; - do { - puVar4 = puVar3 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar4; - puVar5 = puVar6; - } while (puVar4 != auStack12); - *puVar6 = *puVar4; - *(undefined *)(puParm5 + 0x20) = uParm3; - *(short *)(puParm5 + 1) = (short)uParm2; - puParm5[2] = uParm4 | 0x4000; - *(undefined2 *)((int)puParm5 + 6) = *puParm1; - lVar1 = loc_7F051FC4(puParm5,puParm1,puParm6,lVar1,(int)lVar2); - } - return lVar1; -} - - - -void FUN_7f0526b4(void) - -{ - loc_7F0523BC(); - return; -} - - - -void loc_7F052544(int iParm1,int iParm2,undefined4 *puParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - undefined4 uVar4; - undefined **ppuVar5; - undefined **ppuVar6; - byte bVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined auStack152 [72]; - undefined *apuStack80 [4]; - undefined4 uStack64; - int iStack4; - - iStack4 = *(int *)(iParm1 + 4); - iVar3 = something_with_weaponpos_of_guarddata_hand(iStack4); - if (iVar3 != 0) { - iVar1 = *(int *)(iVar3 + 4); - if ((*(uint *)(iVar1 + 100) & 0x800) == 0) { - if (-1 < *(int *)(iVar1 + 0xc) << 0xc) { - iVar2 = *(int *)(iVar1 + 0x14); - puVar8 = &DAT_8002d7f4; - ppuVar5 = apuStack80; - do { - puVar9 = puVar8 + 3; - ppuVar6 = ppuVar5 + 3; - *ppuVar5 = (undefined *)*puVar8; - ppuVar5[1] = (undefined *)puVar8[1]; - ppuVar5[2] = (undefined *)puVar8[2]; - puVar8 = puVar9; - ppuVar5 = ppuVar6; - } while (puVar9 != (undefined4 *)0x8002d830); - *ppuVar6 = puRam8002d830; - uVar4 = *(undefined4 *)(iStack4 + 0x1c); - *(byte *)(iVar3 + 1) = *(byte *)(iVar3 + 1) | 2; - apuStack80[0] = (undefined *)FUN_7f06cd98(uVar4,*(undefined4 *)(iVar2 + 0x1c),0); - if (iParm2 == 1) { - FUN_7f058b30(DAT_80049430); - FUN_7f058510(apuStack80[0],auStack152); - apuStack80[0] = auStack152; - } - uStack64 = FUN_7f0bcac4((int)*(short *)(*(int *)(iVar2 + 8) + 0xe) << 6); - FUN_7f06f634(apuStack80,iVar2); - if (puParm3 == NULL) { - return; - } - if ((*(uint *)(iVar1 + 100) & 0x80) != 0) { - return; - } - uVar4 = sub_GAME_7F06C660(*puParm3,iVar2); - *puParm3 = uVar4; - return; - } - bVar7 = *(byte *)(iVar3 + 1); - } - else { - bVar7 = *(byte *)(iVar3 + 1); - } - *(byte *)(iVar3 + 1) = bVar7 & 0xfd; - } - return; -} - - - -void FUN_7f052834(void) - -{ - FUN_7f0508c4(); - return; -} - - - -void loc_7F0525F8(int iParm1,undefined4 uParm2) - -{ - int iVar1; - int *piVar2; - int iVar3; - undefined2 *puVar4; - undefined4 *puVar5; - - iVar1 = *(int *)(*(int *)(iParm1 + 4) + 0x14); - if ((iVar1 != 0) && (*(int *)(*(int *)(iVar1 + 8) + 4) == -0x7ffc9c04)) { - piVar2 = *(int **)(*(int *)(iVar1 + 8) + 8); - if (*piVar2 == 0) { - iVar3 = piVar2[2]; - } - else { - puVar4 = (undefined2 *)loc_7F06C888(iVar1); - *puVar4 = (short)uParm2; - iVar3 = *(int *)(*(int *)(*(int *)(iVar1 + 8) + 8) + 8); - } - if (iVar3 != 0) { - puVar5 = (undefined4 *)loc_7F06C888(iVar1); - *puVar5 = uParm2; - } - } - return; -} - - - -longlong FUN_7f0528e4(int iParm1) - -{ - int iVar1; - longlong lVar2; - short *psVar3; - int *piVar4; - - iVar1 = *(int *)(*(int *)(iParm1 + 4) + 0x14); - if (iVar1 == 0) { - lVar2 = 0; - } - else { - if (*(int *)(*(int *)(iVar1 + 8) + 4) == -0x7ffc9c04) { - piVar4 = *(int **)(*(int *)(iVar1 + 8) + 8); - if (*piVar4 == 0) { - if (piVar4[2] == 0) { - lVar2 = 0; - } - else { - piVar4 = (int *)loc_7F06C888(iVar1); - lVar2 = (longlong)*piVar4; - } - } - else { - psVar3 = (short *)loc_7F06C888(iVar1); - lVar2 = (longlong)*psVar3; - } - } - else { - lVar2 = 0; - } - } - return lVar2; -} - - - -undefined8 def_7F0526AC(int iParm1) - -{ - switch(*(undefined2 *)(*(int *)(iParm1 + 4) + 4)) { - case 0xd4: - case 0xd5: - case 0xd6: - return 4; - case 0xd7: - case 0xd8: - return 1; - case 0xd9: - case 0xda: - return 3; - case 0xdb: - return 5; - case 0xdc: - case 0xdd: - case 0xde: - return 0; - case 0xdf: - return 2; - default: - return 0xffffffffffffffff; - } -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F052AF0(int iParm1,undefined4 uParm2) - -{ - short sVar1; - float *pfVar2; - ushort uVar3; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - undefined auStack64 [64]; - - sVar1 = *(short *)(iParm1 + 0x9a); - if ((sVar1 == 5) || (sVar1 == 9)) { - pfVar2 = (float *)((int)*(short *)(iParm1 + 6) * 0x44 + _DAT_80064c5c); - fStack104 = pfVar2[4] * pfVar2[8] - pfVar2[7] * pfVar2[5]; - fStack100 = pfVar2[5] * pfVar2[6] - pfVar2[8] * pfVar2[3]; - fStack96 = pfVar2[3] * pfVar2[7] - pfVar2[6] * pfVar2[4]; - fStack76 = pfVar2[3] * pfVar2[0xd] + *pfVar2; - fStack72 = pfVar2[4] * pfVar2[0xd] + pfVar2[1]; - fStack68 = pfVar2[5] * pfVar2[0xd] + pfVar2[2]; - if (*(short *)(iParm1 + 0x9a) == 9) { - fStack76 = fStack76 + fStack104 * pfVar2[0xc]; - fStack72 = fStack72 + fStack100 * pfVar2[0xc]; - fStack68 = fStack68 + fStack96 * pfVar2[0xc]; - } - else { - if (*(int *)(iParm1 + 8) << 2 < 0) { - fStack76 = fStack76 + fStack104 * pfVar2[0xc]; - fStack72 = fStack72 + fStack100 * pfVar2[0xc]; - fStack68 = fStack68 + fStack96 * pfVar2[0xc]; - } - else { - fStack76 = fStack76 + fStack104 * pfVar2[0xb]; - fStack72 = fStack72 + fStack100 * pfVar2[0xb]; - fStack68 = fStack68 + fStack96 * pfVar2[0xb]; - } - } - fStack88 = *(float *)(iParm1 + 0x58) - fStack76; - fStack84 = *(float *)(iParm1 + 0x5c) - fStack72; - fStack80 = *(float *)(iParm1 + 0x60) - fStack68; - loc_7F058030(iParm1 + 0x18,uParm2); - FUN_7f058e0c(&fStack88,auStack64); - FUN_7f058510(auStack64,uParm2); - if (*(short *)(iParm1 + 0x9a) == 9) { - if (*(int *)(iParm1 + 8) << 2 < 0) { - FUN_7f058b30(DAT_80049464 - (*(float *)(iParm1 + 0xb4) * DAT_80049464) / 360.00000000); - } - else { - FUN_7f058b30((*(float *)(iParm1 + 0xb4) * DAT_80049468) / 360.00000000); - } - } - else { - if (*(int *)(iParm1 + 8) << 2 < 0) { - FUN_7f058aa4(DAT_8004946c - (*(float *)(iParm1 + 0xb4) * DAT_8004946c) / 360.00000000); - } - else { - FUN_7f058aa4((*(float *)(iParm1 + 0xb4) * DAT_80049470) / 360.00000000); - } - } - FUN_7f058510(auStack64,uParm2); - FUN_7f058e0c(&fStack76,auStack64); - FUN_7f058510(auStack64,uParm2); - uVar3 = *(ushort *)(iParm1 + 0x98); - } - else { - if ((sVar1 == 6) || (sVar1 == 7)) { - loc_7F058030(iParm1 + 0x18,uParm2); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iParm1 + 0x58,uParm2); - uVar3 = *(ushort *)(iParm1 + 0x98); - } - else { - fStack116 = *(float *)(iParm1 + 0xa8) * *(float *)(iParm1 + 0xb4) + *(float *)(iParm1 + 0x58); - fStack112 = *(float *)(iParm1 + 0xac) * *(float *)(iParm1 + 0xb4) + *(float *)(iParm1 + 0x5c); - fStack108 = *(float *)(iParm1 + 0xb0) * *(float *)(iParm1 + 0xb4) + *(float *)(iParm1 + 0x60); - loc_7F058030(iParm1 + 0x18,uParm2); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&fStack116,uParm2); - uVar3 = *(ushort *)(iParm1 + 0x98); - } - } - if ((uVar3 & 8) != 0) { - sub_7F058A4C(0xbf800000); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f052fa8) overlaps instruction at (ram,0x7f052fa4) -// - -void loc_7F052D7C(int iParm1) - -{ - short sVar1; - undefined4 *puVar2; - undefined4 *puVar3; - float fVar4; - undefined auStack68 [52]; - float fStack16; - - puVar3 = (undefined4 *)(iParm1 + 0xd0); - puVar2 = *(undefined4 **)(*(int *)(**(int **)(*(int *)(iParm1 + 0x14) + 8) + 0x14) + 4); - *puVar3 = *puVar2; - *(undefined4 *)(iParm1 + 0xd4) = puVar2[1]; - *(undefined4 *)(iParm1 + 0xd8) = puVar2[2]; - *(undefined4 *)(iParm1 + 0xdc) = puVar2[3]; - *(undefined4 *)(iParm1 + 0xe0) = puVar2[4]; - *(undefined4 *)(iParm1 + 0xe4) = puVar2[5]; - *(undefined4 *)(iParm1 + 0xe8) = puVar2[6]; - if ((*(ushort *)(iParm1 + 0x98) & 4) == 0) { - fVar4 = *(float *)(iParm1 + 0xb4); - } - else { - if (*(short *)(iParm1 + 0x9a) == 4) { - *(float *)(iParm1 + 0xe0) = - (float)puVar2[4] + ((float)puVar2[3] - (float)puVar2[4]) * *(float *)(iParm1 + 0xb4); - } - else { - *(float *)(iParm1 + 0xd4) = - (float)puVar2[1] + ((float)puVar2[2] - (float)puVar2[1]) * *(float *)(iParm1 + 0xb4); - } - fVar4 = *(float *)(iParm1 + 0xb4); - } - if (*(float *)(iParm1 + 0x88) <= fVar4) { - **(undefined4 **)(iParm1 + 0x68) = 0; - return; - } - loc_7F052AF0(iParm1,auStack68); - sub_7F03F540(puVar3,auStack68,*(int *)(iParm1 + 0x68) + 4); - if (*(short *)(iParm1 + 0x9a) == 4) { - fVar4 = (float)loc_7F03EA4C(puVar3,auStack68); - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) = fVar4 + *(float *)(iParm1 + 0x5c); - } - else { - if (*(short *)(iParm1 + 0x9a) == 8) { - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) = *(float *)(iParm1 + 0x5c) - DAT_80049474; - } - else { - fVar4 = (float)loc_7F03EA4C(puVar3,auStack68); - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) = fVar4 + fStack16; - if ((*(ushort *)(iParm1 + 0x98) & 1) == 0) { - sVar1 = *(short *)(iParm1 + 0x9a); - goto LAB_7f052f80; - } - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) = - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) - 1000.00000000; - } - } - sVar1 = *(short *)(iParm1 + 0x9a); -LAB_7f052f80: - if (((sVar1 == 6) && (DAT_80049478 * *(float *)(iParm1 + 0x84) < *(float *)(iParm1 + 0xb4))) || - ((sVar1 == 7 && (DAT_8004947c * *(float *)(iParm1 + 0x84) < *(float *)(iParm1 + 0xb4))))) { - *(float *)(*(int *)(iParm1 + 0x68) + 0x44) = - *(float *)(*(int *)(iParm1 + 0x68) + 0x48) + 50.00000000; - } - else { - if (sVar1 == 8) { - *(float *)(*(int *)(iParm1 + 0x68) + 0x44) = *(float *)(iParm1 + 0x5c) + 1000.00000000; - } - else { - fVar4 = (float)loc_7F03EAEC(puVar3,auStack68); - *(float *)(*(int *)(iParm1 + 0x68) + 0x44) = fVar4 + fStack16; - if ((*(ushort *)(iParm1 + 0x98) & 1) != 0) { - *(float *)(*(int *)(iParm1 + 0x68) + 0x44) = - *(float *)(*(int *)(iParm1 + 0x68) + 0x44) + 1000.00000000; - } - } - } - return; -} - - - -void loc_7F05356C(int iParm1) - -{ - short sVar1; - short sVar2; - int iVar3; - int *piVar4; - int iVar5; - uint uVar6; - uint uVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 *puVar10; - int iVar11; - undefined4 *puVar12; - undefined4 *puVar13; - short sVar14; - uint uVar15; - short sVar16; - undefined4 *puVar17; - undefined4 *puVar18; - uint uVar19; - uint uVar20; - int iVar21; - int iVar22; - undefined4 *puVar23; - - if ((*(ushort *)(iParm1 + 0x98) & 4) != 0) { - iVar3 = *(int *)(*(int *)(*(int *)(**(int **)(*(int *)(iParm1 + 0x14) + 8) + 0x14) + 0x14) + 4); - piVar4 = (int *)loc_7F06C888(); - if (*(short *)(iParm1 + 0x9a) == 4) { - sVar14 = (short)(int)(*(float *)(iParm1 + 0xe0) + 0.50000000); - } - else { - sVar14 = (short)(int)(*(float *)(iParm1 + 0xd4) + 0.50000000); - } - iVar5 = FUN_7f0bca74(*(undefined2 *)(iVar3 + 0xc)); - *piVar4 = iVar5; - iVar22 = 0; - iVar5 = (int)*(short *)(iVar3 + 0xc); - if (*(short *)(iVar3 + 0xc) < 0) { - iVar5 += 3; - } - if (0 < iVar5 >> 2) { - do { - uVar6 = 0; - do { - iVar5 = *piVar4 + iVar22 * 0x10; - uVar19 = uVar6 + 1; - puVar13 = (undefined4 *)(iVar5 + uVar6 * 0x10); - uVar7 = uVar19 & 3; - if (((int)uVar19 < 0) && (uVar7 != 0)) { - uVar7 -= 4; - } - puVar23 = (undefined4 *)(iVar5 + uVar7 * 0x10); - uVar15 = uVar6 + 2 & 3; - if (((int)(uVar6 + 2) < 0) && (uVar15 != 0)) { - uVar15 -= 4; - } - puVar17 = (undefined4 *)(iVar5 + uVar15 * 0x10); - iVar11 = *(int *)(iVar3 + 8) + iVar22 * 0x10; - uVar20 = uVar6 + 3 & 3; - if (((int)(uVar6 + 3) < 0) && (uVar20 != 0)) { - uVar20 -= 4; - } - puVar12 = (undefined4 *)(iVar11 + uVar15 * 0x10); - puVar18 = (undefined4 *)(iVar5 + uVar20 * 0x10); - puVar8 = (undefined4 *)(iVar11 + uVar6 * 0x10); - puVar10 = (undefined4 *)(iVar11 + uVar7 * 0x10); - puVar9 = (undefined4 *)(iVar11 + uVar20 * 0x10); - if (uVar6 == 0) { - *puVar13 = *puVar8; - puVar13[1] = puVar8[1]; - puVar13[2] = puVar8[2]; - puVar13[3] = puVar8[3]; - *puVar23 = *puVar10; - puVar23[1] = puVar10[1]; - puVar23[2] = puVar10[2]; - puVar23[3] = puVar10[3]; - *puVar17 = *puVar12; - puVar17[1] = puVar12[1]; - puVar17[2] = puVar12[2]; - puVar17[3] = puVar12[3]; - *puVar18 = *puVar9; - puVar18[1] = puVar9[1]; - puVar18[2] = puVar9[2]; - puVar18[3] = puVar9[3]; - } - iVar5 = (int)sVar14; - if (*(short *)(iParm1 + 0x9a) == 4) { - sVar1 = *(short *)((int)puVar8 + 2); - if (sVar14 <= sVar1) { - sVar2 = *(short *)puVar8; - if (*(short *)puVar10 == sVar2) { - if (*(short *)(puVar10 + 1) != *(short *)(puVar8 + 1)) { - sVar16 = *(short *)puVar12; - goto LAB_7f053384; - } - if (*(short *)((int)puVar10 + 2) == sVar1) { - sVar16 = *(short *)puVar12; - goto LAB_7f053384; - } - iVar5 = ((int)sVar1 - (int)sVar14) * - ((int)*(short *)(puVar10 + 2) - (int)*(short *)(puVar8 + 2)); - iVar11 = (int)sVar1 - (int)*(short *)((int)puVar10 + 2); - *(short *)(puVar13 + 2) = (short)(iVar5 / iVar11) + *(short *)(puVar8 + 2); - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - iVar5 = ((int)*(short *)((int)puVar8 + 2) - (int)sVar14) * - ((int)*(short *)((int)puVar10 + 10) - (int)*(short *)((int)puVar8 + 10)); - iVar11 = (int)*(short *)((int)puVar8 + 2) - (int)*(short *)((int)puVar10 + 2); - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar13 + 10) = - (short)(iVar5 / iVar11) + *(short *)((int)puVar8 + 10); - } - else { - sVar16 = *(short *)puVar12; -LAB_7f053384: - iVar11 = (int)sVar1; - if (sVar16 == sVar2) { - if (*(short *)(puVar12 + 1) == *(short *)(puVar8 + 1)) { - if (*(short *)((int)puVar12 + 2) != sVar1) { - iVar21 = (iVar11 - iVar5) * - ((int)*(short *)(puVar12 + 2) - (int)*(short *)(puVar8 + 2)); - iVar11 -= (int)*(short *)((int)puVar12 + 2); - *(short *)(puVar13 + 2) = (short)(iVar21 / iVar11) + *(short *)(puVar8 + 2); - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar21 == -0x80000000)) { - trap(0x1800); - } - iVar5 = ((int)*(short *)((int)puVar8 + 2) - iVar5) * - ((int)*(short *)((int)puVar12 + 10) - - (int)*(short *)((int)puVar8 + 10)); - iVar11 = (int)*(short *)((int)puVar8 + 2) - (int)*(short *)((int)puVar12 + 2); - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar13 + 10) = - (short)(iVar5 / iVar11) + *(short *)((int)puVar8 + 10); - goto LAB_7f053548; - } - sVar16 = *(short *)puVar9; - } - else { - sVar16 = *(short *)puVar9; - } - } - else { - sVar16 = *(short *)puVar9; - } - if (((sVar16 == sVar2) && (*(short *)(puVar9 + 1) == *(short *)(puVar8 + 1))) && - (*(short *)((int)puVar9 + 2) != sVar1)) { - iVar21 = (iVar11 - iVar5) * - ((int)*(short *)(puVar9 + 2) - (int)*(short *)(puVar8 + 2)); - iVar11 -= (int)*(short *)((int)puVar9 + 2); - *(short *)(puVar13 + 2) = (short)(iVar21 / iVar11) + *(short *)(puVar8 + 2); - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar21 == -0x80000000)) { - trap(0x1800); - } - iVar5 = ((int)*(short *)((int)puVar8 + 2) - iVar5) * - ((int)*(short *)((int)puVar9 + 10) - (int)*(short *)((int)puVar8 + 10)); - iVar11 = (int)*(short *)((int)puVar8 + 2) - (int)*(short *)((int)puVar9 + 2); - *(short *)((int)puVar13 + 10) = - (short)(iVar5 / iVar11) + *(short *)((int)puVar8 + 10); - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - } - } -LAB_7f053548: - *(short *)((int)puVar13 + 2) = sVar14; - } - } - else { - sVar1 = *(short *)puVar8; - if (sVar1 <= sVar14) { - sVar2 = *(short *)((int)puVar8 + 2); - iVar11 = (int)sVar14; - if (*(short *)((int)puVar10 + 2) == sVar2) { - if (*(short *)(puVar10 + 1) == *(short *)(puVar8 + 1)) { - if (*(short *)puVar10 != sVar1) { - iVar5 = (iVar11 - (int)sVar1) * - ((int)*(short *)(puVar10 + 2) - (int)*(short *)(puVar8 + 2)); - iVar21 = (int)*(short *)puVar10 - (int)sVar1; - *(short *)(puVar13 + 2) = (short)(iVar5 / iVar21) + *(short *)(puVar8 + 2); - if (iVar21 == 0) { - trap(0x1c00); - } - if ((iVar21 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - iVar5 = (iVar11 - (int)*(short *)puVar8) * - ((int)*(short *)((int)puVar10 + 10) - (int)*(short *)((int)puVar8 + 10)) - ; - iVar11 = (int)*(short *)puVar10 - (int)*(short *)puVar8; - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar13 + 10) = - (short)(iVar5 / iVar11) + *(short *)((int)puVar8 + 10); - *(short *)puVar13 = sVar14; - goto LAB_7f053818; - } - sVar16 = *(short *)((int)puVar12 + 2); - } - else { - sVar16 = *(short *)((int)puVar12 + 2); - } - } - else { - sVar16 = *(short *)((int)puVar12 + 2); - } - iVar21 = (int)sVar1; - if (sVar16 == sVar2) { - if (*(short *)(puVar12 + 1) == *(short *)(puVar8 + 1)) { - if (*(short *)puVar12 != sVar1) { - iVar5 = (iVar11 - iVar21) * - ((int)*(short *)(puVar12 + 2) - (int)*(short *)(puVar8 + 2)); - iVar21 = (int)*(short *)puVar12 - iVar21; - *(short *)(puVar13 + 2) = (short)(iVar5 / iVar21) + *(short *)(puVar8 + 2); - if (iVar21 == 0) { - trap(0x1c00); - } - if ((iVar21 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - iVar5 = (iVar11 - (int)*(short *)puVar8) * - ((int)*(short *)((int)puVar12 + 10) - (int)*(short *)((int)puVar8 + 10)) - ; - iVar11 = (int)*(short *)puVar12 - (int)*(short *)puVar8; - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar13 + 10) = - (short)(iVar5 / iVar11) + *(short *)((int)puVar8 + 10); - *(short *)puVar13 = sVar14; - goto LAB_7f053818; - } - sVar16 = *(short *)((int)puVar9 + 2); - } - else { - sVar16 = *(short *)((int)puVar9 + 2); - } - } - else { - sVar16 = *(short *)((int)puVar9 + 2); - } - if (sVar16 == sVar2) { - if (*(short *)(puVar9 + 1) == *(short *)(puVar8 + 1)) { - if (*(short *)puVar9 == sVar1) { - *(short *)puVar13 = sVar14; - } - else { - iVar11 = (iVar5 - iVar21) * - ((int)*(short *)(puVar9 + 2) - (int)*(short *)(puVar8 + 2)); - iVar21 = (int)*(short *)puVar9 - iVar21; - *(short *)(puVar13 + 2) = (short)(iVar11 / iVar21) + *(short *)(puVar8 + 2); - if (iVar21 == 0) { - trap(0x1c00); - } - if ((iVar21 == -1) && (iVar11 == -0x80000000)) { - trap(0x1800); - } - iVar5 = (iVar5 - (int)*(short *)puVar8) * - ((int)*(short *)((int)puVar9 + 10) - (int)*(short *)((int)puVar8 + 10)); - iVar11 = (int)*(short *)puVar9 - (int)*(short *)puVar8; - *(short *)((int)puVar13 + 10) = - (short)(iVar5 / iVar11) + *(short *)((int)puVar8 + 10); - if (iVar11 == 0) { - trap(0x1c00); - } - if ((iVar11 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - *(short *)puVar13 = sVar14; - } - } - else { - *(short *)puVar13 = sVar14; - } - } - else { - *(short *)puVar13 = sVar14; - } - } - } -LAB_7f053818: - uVar6 = uVar19; - } while (uVar19 != 4); - iVar22 += 4; - iVar5 = (int)*(short *)(iVar3 + 0xc); - if (*(short *)(iVar3 + 0xc) < 0) { - iVar5 += 3; - } - } while (iVar22 < (iVar5 >> 2) << 2); - } - } - return; -} - - - -void FUN_7f053878(int iParm1) - -{ - if (-1 < *(int *)(iParm1 + 0xf0)) { - FUN_7f0b9058(*(int *)(iParm1 + 0xf0),1); - } - return; -} - - - -void FUN_7f0538a4(int iParm1) - -{ - if (-1 < *(int *)(iParm1 + 0xf0)) { - FUN_7f0b9058(*(int *)(iParm1 + 0xf0),0); - } - return; -} - - - -undefined * -FUN_7f0538d0(int iParm1,undefined4 *puParm2,undefined4 uParm3,undefined4 uParm4,undefined4 *puParm5, - undefined4 *puParm6) - -{ - undefined *puVar1; - undefined4 uVar2; - undefined4 uVar3; - - puVar1 = (undefined *)FUN_7f0407dc(); - uVar3 = (&DAT_80034d90)[(int)*(short *)(iParm1 + 4) * 3]; - uVar2 = FUN_70008b80(0x50,4); - *(undefined4 *)(iParm1 + 0x68) = uVar2; - loc_7F058030(uParm3); - matrix_multiply_A1_by_F12(uVar3); - *(undefined4 *)(iParm1 + 0xa8) = *puParm5; - *(undefined4 *)(iParm1 + 0xac) = puParm5[1]; - *(undefined4 *)(iParm1 + 0xb0) = puParm5[2]; - if (*(int *)(iParm1 + 8) < 0) { - *(undefined4 *)(iParm1 + 0xb4) = *(undefined4 *)(iParm1 + 0x84); - } - else { - *(undefined4 *)(iParm1 + 0xb4) = 0; - } - *(undefined4 *)(iParm1 + 0xb8) = 0; - *(undefined *)(iParm1 + 0xbc) = 0; - *(undefined *)(iParm1 + 0xbd) = 0; - *(undefined4 *)(iParm1 + 200) = 0; - if ((*(ushort *)(iParm1 + 0x98) & 4) == 0) { - *(undefined4 *)(iParm1 + 0xcc) = 0; - } - else { - uVar2 = FUN_70008b80((int)*(short *)(*(int *)(*(int *)(*(int *)(**(int **)(*(int *)(iParm1 + - 0x14) + 8) + 0x14) + 0x14) + 4) + 0xc) << 4,4); - *(undefined4 *)(iParm1 + 0xcc) = uVar2; - } - *(undefined4 *)(iParm1 + 0xf0) = 0xffffffff; - *(undefined4 *)(iParm1 + 0xf4) = 0; - *(undefined4 *)(iParm1 + 0xf8) = 0; - *puVar1 = 2; - *(int *)(puVar1 + 4) = iParm1; - *(undefined4 *)(puVar1 + 8) = *puParm2; - *(undefined4 *)(puVar1 + 0xc) = puParm2[1]; - *(undefined4 *)(puVar1 + 0x10) = puParm2[2]; - *(undefined4 *)(puVar1 + 0x14) = uParm4; - *(undefined4 *)(iParm1 + 0x58) = *puParm6; - *(undefined4 *)(iParm1 + 0x5c) = puParm6[1]; - uVar2 = puParm6[2]; - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) | 0x100; - *(undefined4 *)(iParm1 + 0x60) = uVar2; - loc_7F052D7C(iParm1); - loc_7F05356C(iParm1); - FUN_7f040374(*(undefined4 *)(iParm1 + 0x10),iParm1 + 0x7c); - *(undefined *)(iParm1 + 0x78) = *(undefined *)(iParm1 + 0x7c); - *(undefined *)(iParm1 + 0x79) = *(undefined *)(iParm1 + 0x7d); - *(undefined *)(iParm1 + 0x7a) = *(undefined *)(iParm1 + 0x7e); - *(undefined *)(iParm1 + 0x7b) = *(undefined *)(iParm1 + 0x7f); - return puVar1; -} - - - -int loc_7F053884(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5) - -{ - int iVar1; - float fVar2; - float fVar3; - - if (fParm1 <= 200.00000000) { - iVar1 = 0x7fff; - } - else { - if (fParm5 <= fParm1) { - iVar1 = 0; - } - else { - if (fParm2 <= fParm1) { - iVar1 = (int)(((fParm5 - fParm1) * DAT_80049480) / (fParm5 - fParm2)); - } - else { - fVar2 = (float)sqrtf(fParm1 - 200.00000000); - fVar3 = (float)sqrtf(fParm2 - 200.00000000); - iVar1 = 0x7fff - (int)((fVar2 * DAT_80049484) / fVar3); - } - } - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F05393C(float *pfParm1,undefined4 uParm2,float fParm3) - -{ - int iVar1; - longlong lVar2; - int *piVar3; - float fVar4; - float fVar5; - float fVar6; - - lVar2 = FUN_7f0999a4(); - if (0 < lVar2) { - piVar3 = (int *)&DAT_800689f0; - iVar1 = _DAT_800689f0; - while( true ) { - iVar1 = *(int *)(iVar1 + 0xa8); - fVar4 = *(float *)(iVar1 + 8) - *pfParm1; - fVar5 = *(float *)(iVar1 + 0xc) - pfParm1[1]; - fVar6 = *(float *)(iVar1 + 0x10) - pfParm1[2]; - fVar4 = (float)sqrtf(fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6); - piVar3 = piVar3 + 1; - if (fParm3 <= fVar4) { - fVar4 = fParm3; - } - fParm3 = fVar4; - if (&DAT_800689f0 + (int)lVar2 * 4 <= piVar3) break; - iVar1 = *piVar3; - } - } - loc_7F053884(fParm3,uParm2); - return; -} - - - -void sub_7F05396C(undefined4 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined8 uVar1; - - uVar1 = loc_7F05393C(uParm2,uParm3,uParm4); - loc_700091B8(uParm1,8,uVar1); - return; -} - - - -void FUN_7f053c98(undefined8 uParm1,undefined8 uParm2,undefined8 uParm3) - -{ - loc_7F053884(uParm1,DAT_80049488,uParm2,uParm3,0x45bb8000); - return; -} - - - -void FUN_7f053cc4(undefined8 uParm1) - -{ - loc_7F05393C(uParm1,0x459c4000,0x45bb8000); - return; -} - - - -void FUN_7f053cf0(undefined8 uParm1,undefined8 uParm2) - -{ - sub_7F05396C(uParm1,uParm2,0x459c4000,0x45bb8000); - return; -} - - - -void FUN_7f053d1c(int iParm1) - -{ - bool bVar1; - bool bVar2; - longlong lVar3; - int iVar4; - undefined4 uStack12; - - bVar1 = *(int *)(iParm1 + 0xf4) != 0; - if (bVar1) { - lVar3 = locret_70008E00(*(int *)(iParm1 + 0xf4)); - bVar1 = lVar3 != 0; - } - bVar2 = *(int *)(iParm1 + 0xf8) != 0; - if (bVar2) { - lVar3 = locret_70008E00(); - bVar2 = lVar3 != 0; - } - if (bVar1) { - iVar4 = *(int *)(iParm1 + 0x10); - } - else { - if (!bVar2) { - return; - } - iVar4 = *(int *)(iParm1 + 0x10); - } - uStack12 = FUN_7f053cc4(iVar4 + 8); - lVar3 = FUN_7f0bf078(); - if (lVar3 != 0) { - uStack12 = 0; - } - if (bVar1) { - loc_700091B8(*(undefined4 *)(iParm1 + 0xf4),8,uStack12); - } - if (bVar2) { - loc_700091B8(*(undefined4 *)(iParm1 + 0xf8),8,uStack12); - } - return; -} - - - -void FUN_7f053df0(int iParm1) - -{ - longlong lVar1; - - if ((*(int *)(iParm1 + 0xf4) != 0) && - (lVar1 = locret_70008E00(*(int *)(iParm1 + 0xf4)), lVar1 != 0)) { - loc_7000905C(*(undefined4 *)(iParm1 + 0xf4)); - } - if ((*(int *)(iParm1 + 0xf8) != 0) && (lVar1 = locret_70008E00(), lVar1 != 0)) { - loc_7000905C(*(undefined4 *)(iParm1 + 0xf8)); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f053e58(int iParm1) - -{ - longlong lVar1; - int iVar2; - undefined4 uVar3; - int iStack4; - - iStack4 = 0; - FUN_7f053df0(); - iVar2 = 0; - if (*(int *)(iParm1 + 0xf4) == 0) { - iVar2 = iParm1 + 0xf4; - } - else { - if (*(int *)(iParm1 + 0xf8) != 0) { - uVar3 = *(undefined4 *)(iParm1 + 0xa4); - goto LAB_7f053ea8; - } - iVar2 = iParm1 + 0xf8; - } - uVar3 = *(undefined4 *)(iParm1 + 0xa4); -LAB_7f053ea8: - switch(uVar3) { - case 1: - iStack4 = FUN_70008268(_DAT_80056900,0xd2,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xd3,iVar2); - } - break; - case 2: - iStack4 = FUN_70008268(_DAT_80056900,0xd2,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,7,iVar2); - } - break; - case 3: - iStack4 = FUN_70008268(_DAT_80056900,0xca,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xcc,iVar2); - } - break; - case 4: - iStack4 = FUN_70008268(_DAT_80056900,0xd6,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xd8,iVar2); - } - break; - case 5: - iStack4 = FUN_70008268(_DAT_80056900,0xbc,0); - break; - case 6: - iStack4 = FUN_70008268(_DAT_80056900,7,0); - break; - case 7: - iStack4 = FUN_70008268(_DAT_80056900,0xc0,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xbf,iVar2); - } - break; - case 8: - iStack4 = FUN_70008268(_DAT_80056900,0xbc,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,7,iVar2); - } - break; - case 9: - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xc2,iVar2); - iStack4 = 0; - } - break; - case 10: - iStack4 = FUN_70008268(_DAT_80056900,0xc4,0); - break; - case 0xb: - iStack4 = FUN_70008268(_DAT_80056900,7,0); - break; - case 0xc: - iStack4 = FUN_70008268(_DAT_80056900,200,0); - break; - case 0xd: - iStack4 = FUN_70008268(_DAT_80056900,7,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,7,iVar2); - } - break; - case 0xe: - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xda,iVar2); - iStack4 = 0; - } - break; - case 0xf: - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xe1,iVar2); - iStack4 = 0; - } - break; - case 0x10: - iStack4 = FUN_70008268(_DAT_80056900,0xd6,0); - break; - case 0x11: - lVar1 = FUN_70008268(_DAT_80056900,7,0); - if (lVar1 != 0) { - FUN_7f053cf0(lVar1,*(int *)(iParm1 + 0x10) + 8); - } - iStack4 = FUN_70008268(_DAT_80056900,0xca,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xcc,iVar2); - } - } - if (iStack4 != 0) { - FUN_7f053cf0(iStack4,*(int *)(iParm1 + 0x10) + 8); - } - FUN_7f053d1c(iParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f054244(int iParm1) - -{ - longlong lVar1; - int iVar2; - undefined4 uVar3; - int iStack4; - - iStack4 = 0; - FUN_7f053df0(); - iVar2 = 0; - if (*(int *)(iParm1 + 0xf4) == 0) { - iVar2 = iParm1 + 0xf4; - } - else { - if (*(int *)(iParm1 + 0xf8) != 0) { - uVar3 = *(undefined4 *)(iParm1 + 0xa4); - goto LAB_7f054294; - } - iVar2 = iParm1 + 0xf8; - } - uVar3 = *(undefined4 *)(iParm1 + 0xa4); -LAB_7f054294: - if (true) { - switch(uVar3) { - case 1: - iStack4 = FUN_70008268(_DAT_80056900,0xd2,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xd3,iVar2); - } - break; - case 2: - iStack4 = FUN_70008268(_DAT_80056900,0xd2,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,7,iVar2); - } - break; - case 3: - iStack4 = FUN_70008268(_DAT_80056900,0xca,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xcc,iVar2); - } - break; - case 4: - iStack4 = FUN_70008268(_DAT_80056900,0xd6,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xd8,iVar2); - } - break; - case 7: - iStack4 = FUN_70008268(_DAT_80056900,0xc0,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xbf,iVar2); - } - break; - case 8: - iStack4 = FUN_70008268(_DAT_80056900,0xbc,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,7,iVar2); - } - break; - case 9: - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xc2,iVar2); - iStack4 = 0; - } - break; - case 0xd: - iStack4 = FUN_70008268(_DAT_80056900,7,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,7,iVar2); - } - break; - case 0xe: - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xda,iVar2); - iStack4 = 0; - } - break; - case 0xf: - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xe1,iVar2); - iStack4 = 0; - } - break; - case 0x10: - iStack4 = FUN_70008268(_DAT_80056900,0xd6,0); - break; - case 0x11: - lVar1 = FUN_70008268(_DAT_80056900,7,0); - if (lVar1 != 0) { - FUN_7f053cf0(lVar1,*(int *)(iParm1 + 0x10) + 8); - } - iStack4 = FUN_70008268(_DAT_80056900,0xca,0); - if (iVar2 != 0) { - FUN_70008268(_DAT_80056900,0xcc,iVar2); - } - } - } - if (iStack4 != 0) { - FUN_7f053cf0(iStack4,*(int *)(iParm1 + 0x10) + 8); - } - FUN_7f053d1c(iParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0545a4(int iParm1) - -{ - int iVar1; - - FUN_7f053df0(); - iVar1 = 0; - if (true) { - switch(*(undefined4 *)(iParm1 + 0xa4)) { - case 1: - iVar1 = FUN_70008268(_DAT_80056900,0xd2,0); - break; - case 2: - iVar1 = FUN_70008268(_DAT_80056900,0xd2,0); - break; - case 3: - iVar1 = FUN_70008268(_DAT_80056900,0xcb,0); - break; - case 4: - iVar1 = FUN_70008268(_DAT_80056900,0xd7,0); - break; - case 7: - iVar1 = FUN_70008268(_DAT_80056900,0xd2,0); - break; - case 8: - iVar1 = FUN_70008268(_DAT_80056900,0xbb,0); - break; - case 9: - iVar1 = FUN_70008268(_DAT_80056900,0xc3,0); - break; - case 0xd: - iVar1 = FUN_70008268(_DAT_80056900,7,0); - break; - case 0xe: - iVar1 = FUN_70008268(_DAT_80056900,0xdb,0); - break; - case 0xf: - iVar1 = FUN_70008268(_DAT_80056900,0xe2,0); - break; - case 0x10: - iVar1 = FUN_70008268(_DAT_80056900,0xd7,0); - break; - case 0x11: - iVar1 = FUN_70008268(_DAT_80056900,0xcb,0); - } - } - if (iVar1 != 0) { - FUN_7f053cf0(iVar1,*(int *)(iParm1 + 0x10) + 8); - } - FUN_7f053d1c(iParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f054798(int iParm1) - -{ - int iVar1; - - FUN_7f053df0(); - iVar1 = 0; - switch(*(undefined4 *)(iParm1 + 0xa4)) { - case 1: - iVar1 = FUN_70008268(_DAT_80056900,0xd2,0); - break; - case 2: - iVar1 = FUN_70008268(_DAT_80056900,0xd2,0); - break; - case 3: - iVar1 = FUN_70008268(_DAT_80056900,0xcb,0); - break; - case 4: - iVar1 = FUN_70008268(_DAT_80056900,0xd7,0); - break; - case 5: - iVar1 = FUN_70008268(_DAT_80056900,0xbb,0); - break; - case 6: - iVar1 = FUN_70008268(_DAT_80056900,7,0); - break; - case 7: - iVar1 = FUN_70008268(_DAT_80056900,0xd2,0); - break; - case 8: - iVar1 = FUN_70008268(_DAT_80056900,0xbb,0); - break; - case 9: - iVar1 = FUN_70008268(_DAT_80056900,0xc3,0); - break; - case 10: - iVar1 = FUN_70008268(_DAT_80056900,0xc5,0); - break; - case 0xb: - iVar1 = FUN_70008268(_DAT_80056900,199,0); - break; - case 0xc: - iVar1 = FUN_70008268(_DAT_80056900,0xc9,0); - break; - case 0xd: - iVar1 = FUN_70008268(_DAT_80056900,7,0); - break; - case 0xe: - iVar1 = FUN_70008268(_DAT_80056900,0xdb,0); - break; - case 0xf: - iVar1 = FUN_70008268(_DAT_80056900,0xe2,0); - break; - case 0x10: - iVar1 = FUN_70008268(_DAT_80056900,0xd7,0); - break; - case 0x11: - iVar1 = FUN_70008268(_DAT_80056900,0xcb,0); - } - if (iVar1 != 0) { - FUN_7f053cf0(iVar1,*(int *)(iParm1 + 0x10) + 8); - } - FUN_7f053d1c(iParm1); - return; -} - - - -void loc_7F0547D0(int iParm1) - -{ - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) & 0x7fffffff; - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) | 0x200; - FUN_7f053e58(); - FUN_7f053878(iParm1); - if (*(short *)(iParm1 + 0x9a) == 8) { - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) | 0x2000000; - *(undefined4 *)(iParm1 + 0x88) = 0; - if (*(undefined4 **)(iParm1 + 0x68) != NULL) { - **(undefined4 **)(iParm1 + 0x68) = 0; - } - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) & 0xfffffeff; - } - return; -} - - - -void FUN_7f054abc(int iParm1) - -{ - *(uint *)(iParm1 + 8) = *(uint *)(iParm1 + 8) & 0x7fffffff; - FUN_7f054244(); - return; -} - - - -void FUN_7f054aec(int iParm1) - -{ - FUN_7f0545a4(); - if ((*(short *)(iParm1 + 0x9a) == 8) && - (FUN_7f03fe68(*(undefined4 *)(iParm1 + 0x10)), (*(uint *)(iParm1 + 100) & 0x80) != 0)) { - **(uint **)(iParm1 + 0x6c) = **(uint **)(iParm1 + 0x6c) | 1; - sub_GAME_7F05A9B8(*(int *)(iParm1 + 0x6c) + 0x20); - } - return; -} - - - -void FUN_7f054b5c(undefined4 uParm1) - -{ - FUN_7f054798(); - FUN_7f0538a4(uParm1); - return; -} - - - -void loc_7F05497C(int iParm1,longlong lParm2) - -{ - char cVar1; - undefined uVar2; - - uVar2 = (undefined)lParm2; - if (lParm2 == 1) { - if ((*(char *)(iParm1 + 0xbc) == '\0') || (*(char *)(iParm1 + 0xbc) == '\x03')) { - loc_7F0547D0(); - } - *(undefined *)(iParm1 + 0xbc) = uVar2; - } - else { - if (lParm2 == 2) { - cVar1 = *(char *)(iParm1 + 0xbc); - if ((cVar1 == '\0') && (0.00000000 < *(float *)(iParm1 + 0xb4))) { - FUN_7f054abc(); - cVar1 = *(char *)(iParm1 + 0xbc); - } - if (((cVar1 != '\0') && (cVar1 != '\x03')) || (0.00000000 < *(float *)(iParm1 + 0xb4))) { - *(undefined *)(iParm1 + 0xbc) = uVar2; - } - else { - if (cVar1 == '\x03') { - *(undefined *)(iParm1 + 0xbc) = 0; - } - } - } - else { - *(undefined *)(iParm1 + 0xbc) = uVar2; - } - } - return; -} - - - -void loc_7F054A0C(int iParm1,longlong lParm2) - -{ - int iVar1; - longlong lVar2; - - lVar2 = lParm2; - if (((*(int *)(iParm1 + 0xc) << 1 < 0) && (lVar2 = lParm2, lParm2 == 1)) && - (lVar2 = 2, *(char *)(iParm1 + 0xbc) == '\0')) { - lParm2 = 3; - } - loc_7F05497C(iParm1,lParm2); - iVar1 = *(int *)(iParm1 + 200); - while ((iVar1 != 0 && (iVar1 != iParm1))) { - loc_7F05497C(iVar1,lVar2); - iVar1 = *(int *)(iVar1 + 200); - } - return; -} - - - -ulonglong locret_7F054A5C(int iParm1) - -{ - char cVar1; - ulonglong uVar2; - - cVar1 = *(char *)(iParm1 + 0xbc); - if (((cVar1 == '\0') || (uVar2 = (ulonglong)(cVar1 == '\x03'), cVar1 == '\x03')) && - (uVar2 = 0, *(float *)(iParm1 + 0xb4) <= 0.00000000)) { - uVar2 = 1; - } - return uVar2; -} - - - -longlong loc_7F054B64(undefined8 uParm1,float *pfParm2) - -{ - bool bVar1; - longlong lVar2; - longlong lVar3; - int *piVar4; - float fVar5; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - int aiStack32 [8]; - - piVar4 = aiStack32; - lVar3 = 0; - loc_7F03CC0C(uParm1,piVar4); - do { - if (aiStack32[0] < 0) { - return lVar3; - } - lVar2 = FUN_7f0b2f24(aiStack32[0],&fStack60); - bVar1 = lVar3 == 0; - if (lVar2 == 0) { -LAB_7f054e30: - aiStack32[0] = piVar4[1]; - } - else { - lVar3 = 1; - if (bVar1) { - *pfParm2 = fStack60; - pfParm2[1] = fStack56; - pfParm2[2] = fStack52; - pfParm2[3] = fStack48; - goto LAB_7f054e30; - } - if (fStack60 < *pfParm2) { - *pfParm2 = fStack60; - } - if (fStack56 < pfParm2[1]) { - pfParm2[1] = fStack56; - fVar5 = pfParm2[2]; - } - else { - fVar5 = pfParm2[2]; - } - if (fVar5 < fStack52) { - pfParm2[2] = fStack52; - fVar5 = pfParm2[3]; - } - else { - fVar5 = pfParm2[3]; - } - if (fVar5 < fStack48) { - pfParm2[3] = fStack48; - goto LAB_7f054e30; - } - aiStack32[0] = piVar4[1]; - } - piVar4 = piVar4 + 1; - } while( true ); -} - - - -float FUN_7f054e60(int iParm1,float fParm2) - -{ - longlong lVar1; - float fVar2; - float fVar3; - float fVar4; - - lVar1 = FUN_7f0ba798(); - lVar1._4_4_ = (float *)lVar1; - fVar4 = 1.00000000; - if ((lVar1 != 0) && (lVar1._4_4_[2] < *(float *)(iParm1 + 0x18))) { - fVar2 = (float)FUN_7f078504(); - fVar3 = lVar1._4_4_[1]; - fVar4 = 1.00000000; - fVar2 = (((*(float *)(iParm1 + 0x18) - lVar1._4_4_[2]) * 100.00000000) / fParm2 + lVar1._4_4_[2] - ) * fVar2; - if (fVar3 <= fVar2) { - fVar4 = 0.00000000; - } - else { - if (*lVar1._4_4_ < fVar2) { - fVar4 = (fVar3 - fVar2) / (fVar3 - *lVar1._4_4_); - } - } - } - return fVar4; -} - - - -undefined4 FUN_7f054f38(float *pfParm1,float fParm2) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - float fVar4; - float fVar5; - undefined4 uStack4; - - uStack4 = 1; - iVar1 = FUN_7f0ba798(); - if (iVar1 != 0) { - pfVar2 = (float *)FUN_7f08a1a0(); - pfVar3 = (float *)FUN_7f078444(); - fVar5 = pfVar3[2] * (pfParm1[2] - pfVar2[2]) + - (*pfParm1 - *pfVar2) * *pfVar3 + (pfParm1[1] - pfVar2[1]) * pfVar3[1]; - if ((*(float *)(iVar1 + 8) < fVar5) && - (fVar4 = (float)FUN_7f078504(), - *(float *)(iVar1 + 4) <= - (((fVar5 - *(float *)(iVar1 + 8)) * 100.00000000) / fParm2 + *(float *)(iVar1 + 8)) * fVar4)) - { - uStack4 = 0; - } - } - return uStack4; -} - - - -// WARNING: Instruction at (ram,0x7f0550bc) overlaps instruction at (ram,0x7f0550b8) -// - -undefined4 loc_7F054E94(undefined8 uParm1,float *pfParm2,undefined4 uParm3,int iParm4) - -{ - longlong lVar1; - float *pfVar2; - int *piVar3; - undefined auStack60 [16]; - undefined4 uStack44; - int aiStack32 [8]; - - uStack44 = 0; - loc_7F03CC0C(uParm1,aiStack32); - piVar3 = aiStack32; - while( true ) { - if (aiStack32[0] < 0) { - return uStack44; - } - lVar1 = FUN_7f0b518c(); - if (lVar1 != 0) break; - aiStack32[0] = piVar3[1]; - piVar3 = piVar3 + 1; - } - lVar1 = FUN_7f0ba6c8(pfParm2,uParm3); - if (lVar1 == 0) { - return uStack44; - } - if ((iParm4 != 0) && (lVar1 = FUN_7f054f38(pfParm2,uParm3), lVar1 == 0)) { - return uStack44; - } - lVar1 = loc_7F054B64((int)uParm1,auStack60); - if (lVar1 == 0) { - lVar1 = FUN_7f078ad8(pfParm2,uParm3); - uStack44 = (undefined4)lVar1; - } - else { - lVar1 = FUN_7f078c74(pfParm2,uParm3,auStack60); - uStack44 = (undefined4)lVar1; - } - if (lVar1 == 0) { - return uStack44; - } - pfVar2 = (float *)FUN_7f08a1a0(); - if ((*pfParm2 - *pfVar2) * (*pfParm2 - *pfVar2) + - (pfParm2[1] - pfVar2[1]) * (pfParm2[1] - pfVar2[1]) + - (pfParm2[2] - pfVar2[2]) * (pfParm2[2] - pfVar2[2]) <= DAT_8004959c) { - return uStack44; - } - return 0; -} - - - -undefined8 loc_7F054FA0(int iParm1) - -{ - undefined8 uVar1; - - uVar1 = 0; - if (*(char *)(iParm1 + 0xbc) == '\x01') { - FUN_7f042fd8(iParm1 + 0xb4,*(undefined4 *)(iParm1 + 0x84),iParm1 + 0xb8, - *(undefined4 *)(iParm1 + 0x8c),*(undefined4 *)(iParm1 + 0x90), - *(undefined4 *)(iParm1 + 0x94)); - uVar1 = 1; - if (*(float *)(iParm1 + 0x84) <= *(float *)(iParm1 + 0xb4)) { - *(float *)(iParm1 + 0xb4) = *(float *)(iParm1 + 0x84); - } - else { - if (*(float *)(iParm1 + 0xb4) <= 0.00000000) { - *(undefined4 *)(iParm1 + 0xb4) = 0; - } - uVar1 = 1; - } - } - else { - if (*(char *)(iParm1 + 0xbc) == '\x02') { - FUN_7f042fd8(iParm1 + 0xb4,0,iParm1 + 0xb8,*(undefined4 *)(iParm1 + 0x8c), - *(undefined4 *)(iParm1 + 0x90),*(undefined4 *)(iParm1 + 0x94)); - uVar1 = 1; - if (*(float *)(iParm1 + 0x84) <= *(float *)(iParm1 + 0xb4)) { - *(float *)(iParm1 + 0xb4) = *(float *)(iParm1 + 0x84); - } - else { - if (*(float *)(iParm1 + 0xb4) <= 0.00000000) { - *(undefined4 *)(iParm1 + 0xb4) = 0; - } - } - } - } - return uVar1; -} - - - -void loc_7F055208(int iParm1) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - int *piVar4; - int iVar5; - undefined4 *puVar6; - int iVar7; - undefined4 *puVar8; - int iVar9; - longlong lVar10; - undefined4 uVar11; - - bVar2 = false; - lVar10 = 1; - if (iParm1 != 0) { - uVar11 = *(undefined4 *)(iParm1 + 0xb4); - iVar9 = iParm1; - while( true ) { - *(undefined4 *)(iVar9 + 0xfc) = uVar11; - lVar3 = loc_7F054FA0(iVar9); - if (lVar3 == 0) { - iVar9 = *(int *)(iVar9 + 200); - } - else { - bVar2 = true; - iVar9 = *(int *)(iVar9 + 200); - } - if ((iVar9 == iParm1) || (iVar9 == 0)) break; - uVar11 = *(undefined4 *)(iVar9 + 0xb4); - } - } - if ((bVar2) && (iVar9 = iParm1, iParm1 != 0)) { - while( true ) { - loc_7F052D7C(iVar9); - lVar10 = loc_7F044B14(*(undefined4 *)(iVar9 + 0x10)); - if (lVar10 == 0) break; - iVar9 = *(int *)(iVar9 + 200); - if ((iVar9 == iParm1) || (iVar9 == 0)) break; - } - } - iVar9 = iParm1; - if (iParm1 != 0) { - do { - if (bVar2) { - if (lVar10 == 0) { - *(undefined4 *)(iVar9 + 0xb8) = 0; - *(undefined4 *)(iVar9 + 0xb4) = *(undefined4 *)(iVar9 + 0xfc); - loc_7F052D7C(iVar9); - } - else { - if (*(char *)(iVar9 + 0xbc) == '\x01') { - if (*(float *)(iVar9 + 0x84) <= *(float *)(iVar9 + 0xb4)) { - *(undefined *)(iVar9 + 0xbc) = 0; - *(undefined4 *)(iVar9 + 0xb8) = 0; - *(undefined4 *)(iVar9 + 0xec) = DAT_80040ffc; - FUN_7f054aec(iVar9); - uVar11 = *(undefined4 *)(iVar9 + 0x10); - } - else { - uVar11 = *(undefined4 *)(iVar9 + 0x10); - } - } - else { - if (*(char *)(iVar9 + 0xbc) == '\x02') { - if (*(float *)(iVar9 + 0xb4) <= 0.00000000) { - *(undefined *)(iVar9 + 0xbc) = 0; - *(undefined4 *)(iVar9 + 0xb8) = 0; - *(undefined4 *)(iVar9 + 0xec) = 0; - FUN_7f054b5c(iVar9); - uVar11 = *(undefined4 *)(iVar9 + 0x10); - } - else { - uVar11 = *(undefined4 *)(iVar9 + 0x10); - } - } - else { - uVar11 = *(undefined4 *)(iVar9 + 0x10); - } - } - FUN_7f040374(uVar11,iVar9 + 0x7c); - } - loc_7F05356C(iVar9); - } - else { - if ((*(ushort *)(iVar9 + 0x98) & 4) != 0) { - iVar1 = *(int *)(*(int *)(*(int *)(**(int **)(*(int *)(iVar9 + 0x14) + 8) + 0x14) + 0x14) - + 4); - piVar4 = (int *)loc_7F06C888(); - iVar7 = *(int *)(iVar9 + 0xcc); - if (iVar7 == *piVar4) { - *piVar4 = iVar7; - } - else { - lVar3 = 0; - if (*(short *)(iVar1 + 0xc) < 1) { - *piVar4 = iVar7; - } - else { - iVar5 = 0; - iVar7 = *piVar4; - while( true ) { - lVar3 = (longlong)((int)lVar3 + 1); - puVar8 = (undefined4 *)(iVar7 + iVar5); - puVar6 = (undefined4 *)(*(int *)(iVar9 + 0xcc) + iVar5); - iVar5 += 0x10; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar6[3] = puVar8[3]; - if ((longlong)*(short *)(iVar1 + 0xc) <= lVar3) break; - iVar7 = *piVar4; - } - *piVar4 = *(int *)(iVar9 + 0xcc); - } - } - } - } - *(undefined4 *)(iVar9 + 0xfc) = DAT_80040ffc; - iVar9 = *(int *)(iVar9 + 200); - } while ((iVar9 != iParm1) && (iVar9 != 0)); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05550c(int iParm1,float *pfParm2,float *pfParm3,int iParm4) - -{ - short sVar1; - int iVar2; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fStack44; - float fStack36; - float fStack28; - - pfVar3 = (float *)((int)*(short *)(iParm1 + 6) * 0x44 + _DAT_80064c5c); - iVar2 = FUN_7f089900(); - fVar6 = *(float *)(_DAT_80068bc0 + 0x498) * 30.00000000 * 1.00000000 * 0.75000000 + - *(float *)(iVar2 + 8); - fVar5 = *(float *)(_DAT_80068bc0 + 0x4a0) * 30.00000000 * 1.00000000 * 0.75000000 + - *(float *)(iVar2 + 0x10); - if (iParm4 == 0) { - fStack44 = pfVar3[0xe]; - fVar9 = pfVar3[0xd]; - fStack36 = pfVar3[3]; - fStack28 = pfVar3[5]; - } - else { - fStack44 = pfVar3[0xc]; - fVar9 = pfVar3[0xb]; - fStack36 = pfVar3[4] * pfVar3[8] - pfVar3[7] * pfVar3[5]; - fStack28 = pfVar3[3] * pfVar3[7] - pfVar3[6] * pfVar3[4]; - } - fVar7 = (float)convert_angle_using_inverse - ((*pfVar3 + fStack36 * fVar9) - fVar6, - (pfVar3[2] + fStack28 * fVar9) - fVar5); - fVar4 = (float)FUN_7f08a0b0(); - fVar8 = fVar7 - fVar4; - if (fVar7 < fVar4) { - fVar8 = fVar8 + DAT_800495a0; - } - if (DAT_800495a8 < fVar8) { - fVar8 = fVar8 - DAT_800495a4; - sVar1 = *(short *)(iParm1 + 0x9a); - } - else { - sVar1 = *(short *)(iParm1 + 0x9a); - } - if (sVar1 == 5) { - fVar7 = (*(float *)(iParm1 + 0xb4) * DAT_800495a4) / 360.00000000; - if (*(int *)(iParm1 + 8) << 2 < 0) { - fVar7 = DAT_800495a4 - fVar7; - } - fVar4 = (float)func_7F057FC4(); - fVar7 = (float)func_7F057FC4(fVar7); - fVar5 = (float)convert_angle_using_inverse - ((*pfVar3 + fStack36 * fVar9 + - (fStack44 - fVar9) * (fStack36 * fVar4 + fStack28 * fVar7)) - fVar6, - (pfVar3[2] + fStack28 * fVar9 + - (fStack44 - fVar9) * (-fStack36 * fVar7 + fStack28 * fVar4)) - fVar5); - fVar6 = (float)FUN_7f08a0b0(); - fVar9 = fVar5 - fVar6; - if (fVar5 < fVar6) { - fVar9 = fVar9 + DAT_800495ac; - } - if (DAT_800495b0 < fVar9) { - fVar9 = fVar9 - DAT_800495b4; - } - } - else { - fVar5 = (float)convert_angle_using_inverse - ((*pfVar3 + fStack36 * fStack44) - fVar6, - (pfVar3[2] + fStack28 * fStack44) - fVar5); - fVar6 = (float)FUN_7f08a0b0(); - fVar9 = fVar5 - fVar6; - if (fVar5 < fVar6) { - fVar9 = fVar9 + DAT_800495b8; - } - if (DAT_800495bc < fVar9) { - fVar9 = fVar9 - DAT_800495c0; - } - } - if (fVar8 < fVar9) { - *pfParm2 = fVar8; - *pfParm3 = fVar9; - } - else { - *pfParm2 = fVar9; - *pfParm3 = fVar8; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0558d8(int iParm1,undefined8 uParm2) - -{ - int iVar1; - float fStack28; - float afStack24 [3]; - float fStack12; - float fStack8; - undefined4 uStack4; - - uStack4 = 1; - if (_DAT_80060d38 == 0) { - FUN_7f05550c(iParm1,&fStack8,&fStack12,uParm2); - if (-DAT_800495c4 <= fStack8) { - if (fStack8 <= DAT_800495c4) { - if (-DAT_800495c4 <= fStack12) { - if (fStack12 <= DAT_800495c4) { - _DAT_80060d38 = *(undefined4 *)(iParm1 + 0x10); - return 0; - } - iVar1 = *(int *)(iParm1 + 200); - } - else { - iVar1 = *(int *)(iParm1 + 200); - } - } - else { - iVar1 = *(int *)(iParm1 + 200); - } - } - else { - iVar1 = *(int *)(iParm1 + 200); - } - if ((iVar1 != 0) && (iVar1 != iParm1)) { - while ((0.00000000 <= fStack8 || (fStack12 < 0.00000000))) { - FUN_7f05550c(iVar1,afStack24,&fStack28,uParm2); - if ((0.00000000 < fStack8) && (afStack24[0] < fStack8)) { - fStack8 = afStack24[0]; - } - if (fStack12 < 0.00000000) { - if (fStack12 < fStack28) { - fStack12 = fStack28; - iVar1 = *(int *)(iVar1 + 200); - } - else { - iVar1 = *(int *)(iVar1 + 200); - } - } - else { - iVar1 = *(int *)(iVar1 + 200); - } - if ((iVar1 == 0) || (iVar1 == iParm1)) break; - } - } - if ((fStack12 - fStack8 < DAT_800495c8) && ((fStack8 < 0.00000000 && (0.00000000 < fStack12)))) - { - _DAT_80060d38 = *(int *)(iParm1 + 0x10); - uStack4 = 0; - } - } - return uStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F05598C(int iParm1) - -{ - int iVar1; - longlong lVar2; - float fVar3; - float fVar4; - float fVar5; - undefined auStack96 [32]; - undefined auStack64 [48]; - int iStack16; - int iStack12; - undefined4 uStack4; - - uStack4 = 1; - iVar1 = *(int *)(iParm1 + 4); - if (((-1 < *(int *)(iVar1 + 8) << 6) && (0.00000000 < *(float *)(iVar1 + 0x84))) && - ((*(byte *)(iParm1 + 1) & 2) != 0)) { - iStack12 = 0; - iStack16 = FUN_7f089900(); - fVar3 = *(float *)(iVar1 + 0x58) - *(float *)(iStack16 + 8); - fVar4 = *(float *)(iVar1 + 0x60) - *(float *)(iStack16 + 0x10); - fVar5 = *(float *)(iVar1 + 0x5c) - *(float *)(iStack16 + 0xc); - if (((DAT_800495cc <= fVar3 * fVar3 + fVar4 * fVar4) || (200.00000000 <= fVar5)) || - (fVar5 <= -200.00000000)) { - loc_7F03CC0C(iParm1,auStack64); - loc_7F03CC0C(iStack16,auStack96); - lVar2 = locret_7F03DBC4(auStack64,auStack96); - if ((lVar2 != 0) && - (lVar2 = loc_7F03F73C(iStack16 + 8,0x43160000, - (int)*(short *)(iVar1 + 6) * 0x44 + _DAT_80064c5c), lVar2 != 0)) { - iStack12 = 1; - } - } - else { - iStack12 = 1; - } - if (iStack12 != 0) { - lVar2 = FUN_7f0558d8(iVar1,0); - uStack4 = (undefined4)lVar2; - if ((lVar2 != 0) && (*(int *)(iVar1 + 0xc) < 0)) { - uStack4 = FUN_7f0558d8(iVar1,1); - } - } - } - return uStack4; -} - - - -void loc_7F055A3C(int iParm1) - -{ - char cVar1; - int iVar2; - uint uVar3; - - iVar2 = *(int *)(iParm1 + 4); - cVar1 = *(char *)(iVar2 + 0xbc); - if ((cVar1 == '\x01') || (cVar1 == '\x03')) { - loc_7F054A0C(iVar2,2); - uVar3 = *(uint *)(iVar2 + 100); - } - else { - if (cVar1 == '\x02') { - loc_7F054A0C(iVar2,1); - uVar3 = *(uint *)(iVar2 + 100); - } - else { - if (cVar1 == '\0') { - if (0.50000000 < *(float *)(iVar2 + 0xb4)) { - loc_7F054A0C(iVar2,2); - uVar3 = *(uint *)(iVar2 + 100); - goto LAB_7f055d1c; - } - loc_7F054A0C(iVar2,1); - } - uVar3 = *(uint *)(iVar2 + 100); - } - } -LAB_7f055d1c: - *(uint *)(iVar2 + 100) = uVar3 | 0x4000; - *(uint *)(iVar2 + 0xc) = *(uint *)(iVar2 + 0xc) & 0xfffffff7; - loc_7F03E708(iParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f055d50(int iParm1,int iParm2) - -{ - float *pfVar2; - undefined8 uVar1; - float fVar3; - - pfVar2 = (float *)((int)*(short *)(iParm2 + 6) * 0x44 + _DAT_80064c5c); - fVar3 = (pfVar2[3] * pfVar2[7] - pfVar2[6] * pfVar2[4]) * (*(float *)(iParm1 + 0x10) - pfVar2[2]) - + (*(float *)(iParm1 + 8) - *pfVar2) * (pfVar2[4] * pfVar2[8] - pfVar2[7] * pfVar2[5]) + - (*(float *)(iParm1 + 0xc) - pfVar2[1]) * (pfVar2[5] * pfVar2[6] - pfVar2[8] * pfVar2[3]) - ; - if ((*(ushort *)(iParm2 + 0x98) & 8) != 0) { - fVar3 = -fVar3; - } - if (fVar3 < 0.00000000) { - uVar1 = 0; - } - else { - uVar1 = 1; - if (0.00000000 < fVar3) { - uVar1 = 1; - } - } - return uVar1; -} - - - -void loc_7F055C34(undefined8 uParm1,int iParm2) - -{ - longlong lVar1; - int iVar2; - uint uVar3; - uint uVar4; - - if (((*(int *)(iParm2 + 8) << 4 < 0) && (*(char *)(iParm2 + 0xbc) == '\0')) && - (*(float *)(iParm2 + 0xb4) == 0.00000000)) { - lVar1 = FUN_7f055d50(); - uVar3 = 0; - if ((*(ushort *)(iParm2 + 0x98) & 8) == 0) { - if (lVar1 == 0) { - uVar3 = 0x20000000; - } - uVar4 = *(uint *)(iParm2 + 8); - } - else { - if (lVar1 == 0) { - uVar4 = *(uint *)(iParm2 + 8); - } - else { - uVar3 = 0x20000000; - uVar4 = *(uint *)(iParm2 + 8); - } - } - if ((int)((uVar4 ^ uVar3) << 2) < 0) { - uVar3 = *(uint *)(iParm2 + 8); - iVar2 = iParm2; - while( true ) { - *(uint *)(iVar2 + 8) = uVar3 ^ 0x20000000; - iVar2 = *(int *)(iVar2 + 200); - if ((iVar2 == 0) || (iVar2 == iParm2)) break; - uVar3 = *(uint *)(iVar2 + 8); - } - } - } - return; -} - - - -undefined8 FUN_7f055f20(int iParm1) - -{ - int iVar1; - uint uVar2; - bool bVar3; - undefined4 uVar6; - longlong lVar4; - int iVar7; - undefined8 uVar5; - uint uVar8; - - iVar1 = *(int *)(iParm1 + 4); - uVar6 = FUN_7f089900(); - if (*(int *)(iVar1 + 0x9c) == 0) { - bVar3 = true; - } - else { - lVar4 = FUN_7f08d254(); - if (lVar4 == 0) { - lVar4 = FUN_7f055d50(uVar6,iVar1); - bVar3 = false; - if (lVar4 == 0) { - if ((-1 < *(int *)(iVar1 + 0xc) << 3) && (*(int *)(iVar1 + 0xc) << 4 < 0)) { - bVar3 = true; - } - } - else { - if ((*(int *)(iVar1 + 0xc) << 3 < 0) && (-1 < *(int *)(iVar1 + 0xc) << 4)) { - bVar3 = true; - } - } - } - else { - bVar3 = true; - } - } - lVar4 = loc_7F03E798(iVar1); - if (lVar4 == 0) { - bVar3 = false; - } - if (bVar3) { - loc_7F055C34(uVar6,iVar1); - loc_7F055A3C(iParm1); - } - else { - if ((*(char *)(iVar1 + 0xbc) == '\0') && (*(float *)(iVar1 + 0xb4) < 0.50000000)) { - uVar8 = *(uint *)(iVar1 + 0xc); - if ((uVar8 & 4) == 0) { - iVar7 = FUN_7f08d64c(iVar1); - if ((iVar7 == 0) || (*(int *)(iVar7 + 0x1c) == 0)) { - uVar5 = FUN_7f0c12b8(0xa440); - FUN_7f08a6d4(uVar5); - uVar8 = *(uint *)(iVar1 + 0xc); - } - else { - uVar5 = FUN_7f0c12b8(*(undefined4 *)(iVar7 + 0x1c)); - FUN_7f08a6d4(uVar5); - uVar8 = *(uint *)(iVar1 + 0xc); - } - uVar2 = *(uint *)(iVar1 + 100); - } - else { - uVar2 = *(uint *)(iVar1 + 100); - } - *(uint *)(iVar1 + 0xc) = uVar8 | 8; - *(uint *)(iVar1 + 100) = uVar2 | 0x4000; - } - } - return 0; -} - - - -void FUN_7f0560a8(void) - -{ - if (DAT_8002c010 < 1) { - DAT_8002c010 = 1; - } - return; -} - - - -void FUN_7f0560cc(void) - -{ - longlong lVar1; - - if ((DAT_8002c014 != 0) && (lVar1 = locret_70008E00(), lVar1 != 0)) { - loc_7000905C(DAT_8002c014); - } - return; -} - - - -void FUN_7f05610c(void) - -{ - DAT_8002c010 = 0; - FUN_7f0560cc(); - return; -} - - - -ulonglong FUN_7f056130(void) - -{ - return (ulonglong)(0 < DAT_8002c010); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f056144(undefined4 *puParm1) - -{ - longlong lVar1; - - DAT_8002c01c = 1; - DAT_8002c030 = 0; - DAT_8002c020 = *puParm1; - DAT_8002c024 = puParm1[1]; - DAT_8002c028 = puParm1[2]; - lVar1 = FUN_70005da4(); - if (lVar1 != 0x20) { - _DAT_80060db8 = 0x45610000; - } - else { - _DAT_80060db8 = 0x42f00000; - } - _DAT_80060dbc = (uint)(lVar1 != 0x20); - return; -} - - - -void FUN_7f0561d8(void) - -{ - longlong lVar1; - - if ((DAT_8002c034 != 0) && (lVar1 = locret_70008E00(), lVar1 != 0)) { - loc_7000905C(DAT_8002c034); - } - return; -} - - - -ulonglong FUN_7f056218(void) - -{ - return (ulonglong)(0.00000000 < DAT_8002c018); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f056244(void) - -{ - longlong lVar1; - undefined8 uVar2; - undefined8 extraout_a0; - undefined8 uVar3; - undefined8 extraout_a1; - - if ((DAT_8002c01c != 0) && - (DAT_8002c018 = DAT_8002c018 + DAT_80041004, _DAT_80060db8 <= DAT_8002c018)) { - DAT_8002c018 = _DAT_80060db8; - DAT_8002c01c = 0; - } - if (((0.00000000 < DAT_8002c018) && (DAT_80031a04 == 0)) && - (FUN_7f0ba078(DAT_8002c018 / _DAT_80060db8), _DAT_80060dbc != 0)) { - if (DAT_8002c02c < DAT_80040ffc + -0xbb) { - DAT_8002c02c = DAT_80040ffc; - uVar2 = 0xffffffff80050000; - uVar3 = 0x62; - if (600.00000000 <= DAT_8002c018) { - FUN_70008268(_DAT_80056900,0x62,0); - uVar2 = extraout_a0; - uVar3 = extraout_a1; - } - if (1800.00000000 <= DAT_8002c018) { - FUN_7f089a84(0x3e000000,uVar2,uVar3,0,0xffffffffffffffff,0); - } - } - if (DAT_8002c030 < _DAT_80060db8) { - DAT_8002c030 = DAT_8002c030 + DAT_80041004; - if ((DAT_8002c034 == 0) && (lVar1 = FUN_7f0bf078(), lVar1 == 0)) { - FUN_70008268(_DAT_80056900,0x66,&DAT_8002c034); - } - if (DAT_8002c034 != 0) { - FUN_7f053cf0(DAT_8002c034,&DAT_8002c020); - } - } - else { - if ((DAT_8002c034 != 0) && (lVar1 = locret_70008E00(), lVar1 != 0)) { - loc_7000905C(DAT_8002c034); - } - } - } - return; -} - - - -void FUN_7f056440(uint uParm1,longlong lParm2) - -{ - if (lParm2 != 0) { - DAT_8002c038 = DAT_8002c038 & ~uParm1; - return; - } - DAT_8002c038 = DAT_8002c038 | uParm1; - return; -} - - - -ulonglong FUN_7f05647c(void) - -{ - return (ulonglong)(DAT_8002c038 == 0); -} - - - -void FUN_7f056490(undefined4 uParm1) - -{ - DAT_8002c040 = uParm1; - return; -} - - - -undefined4 FUN_7f05649c(void) - -{ - return DAT_8002c040; -} - - - -void FUN_7f0564a8(undefined4 uParm1) - -{ - DAT_8002c03c = uParm1; - return; -} - - - -undefined4 FUN_7f0564b4(void) - -{ - return DAT_8002c03c; -} - - - -void FUN_7f0564c0(void) - -{ - if (DAT_8002c03c != 0) { - DAT_8002c040 = DAT_8002c040 - DAT_80041004; - } - return; -} - - - -undefined8 FUN_7f0564f0(undefined8 uParm1) - -{ - undefined8 uVar1; - short sVar3; - int iVar2; - int iVar4; - int iVar5; - float fVar6; - float fVar7; - int iVar8; - - if (DAT_8002c038 == 0) { - fVar7 = DAT_8002c040; - if (DAT_8002c040 < 0.00000000) { - fVar7 = -DAT_8002c040; - } - fVar6 = (float)sub_GAME_7F05C3D8(fVar7 / 3600.00000000); - iVar8 = (int)fVar6; - fVar6 = (float)sub_GAME_7F05C3D8(fVar7 / 60.00000000); - iVar5 = (int)fVar6 + iVar8 * -0x3c; - fVar7 = (float)sub_GAME_7F05C3D8((fVar7 * 100.00000000) / 60.00000000); - iVar4 = (int)fVar7 + iVar8 * -6000 + iVar5 * -100; - uVar1 = loc_7F0ACED4(uParm1); - sVar3 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - uVar1 = display_ammo_total_in_a1(uVar1,(iVar8 % 100) / 10,0x82,2,iVar2 + (int)sVar3 + -0x1c,2,1) - ; - sVar3 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - uVar1 = display_ammo_total_in_a1(uVar1,iVar8 % 10,0x8a,2,iVar2 + (int)sVar3 + -0x1c,2,1); - sVar3 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - uVar1 = FUN_7f06a1e4(uVar1,&DAT_80048b84,0x93,2,iVar2 + (int)sVar3 + -0x1c,2,1); - sVar3 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - uVar1 = display_ammo_total_in_a1 - (uVar1,(iVar5 % 0x3c) / 10,0x9c,2,iVar2 + (int)sVar3 + -0x1c,2,1); - sVar3 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - uVar1 = display_ammo_total_in_a1(uVar1,iVar5 % 10,0xa4,2,iVar2 + (int)sVar3 + -0x1c,2,1); - sVar3 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - uVar1 = FUN_7f06a1e4(uVar1,&DAT_80048b84,0xad,2,iVar2 + (int)sVar3 + -0x1c,2,1); - sVar3 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - uVar1 = display_ammo_total_in_a1(uVar1,(iVar4 % 100) / 10,0xb6,2,iVar2 + (int)sVar3 + -0x1c,2,1) - ; - sVar3 = FUN_70003f74(); - iVar2 = FUN_70003efc(); - uVar1 = display_ammo_total_in_a1(uVar1,iVar4 % 10,0xbe,2,iVar2 + (int)sVar3 + -0x1c,2,1); - uParm1 = combiner_bayer_lod_perspective(uVar1); - } - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0568d0(void) - -{ - longlong lVar1; - - lVar1 = FUN_7f056130(); - if (lVar1 != 0) { - if ((DAT_8002c014 == 0) && (lVar1 = FUN_7f0bf078(), lVar1 == 0)) { - FUN_70008268(_DAT_80056900,0xa3,&DAT_8002c014); - } - DAT_8002c010 += DAT_80040ff4; - if (0x5dc < DAT_8002c010) { - FUN_7f05610c(); - } - } - FUN_7f056244(); - FUN_7f0564c0(); - FUN_7f051fa8(); - DAT_8002c044 = 0; - return; -} - - - -void FUN_7f056970(void) - -{ - char cVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar6; - longlong lVar5; - char *pcVar7; - - pcVar7 = (char *)FUN_7f03a4e4(); - if (pcVar7 == NULL) { - return; - } - cVar1 = *pcVar7; - do { - if (cVar1 == '\x01') { - if ((pcVar7[1] & 2U) == 0) { - iVar2 = *(int *)(pcVar7 + 4); - if ((*(byte *)(iVar2 + 2) & 0x80) == 0) { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - else { - iVar3 = *(int *)(iVar2 + 0x14); - iVar6 = FUN_7f04b654(iVar2); - if (iVar6 == 0) { - return; - } - iVar4 = *(int *)(iVar6 + 4); - if (iVar4 == 0) { - return; - } - lVar5 = FUN_7f04b76c(*(undefined4 *)(*(int *)(iVar2 + 0x14) + 8),iVar6); - if (lVar5 == 0) { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - else { - if (*(int *)(iVar4 + 8) != - *(int *)(*(int *)(iVar3 + 0x10) + (uint)*(ushort *)(iVar4 + 0x1a) * 4)) { - FUN_7f0410e4(iVar2,1); - return; - } - pcVar7 = *(char **)(pcVar7 + 0x24); - } - } - } - else { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - } - else { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - if (pcVar7 == NULL) { - return; - } - cVar1 = *pcVar7; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f056a5c(void) - -{ - undefined4 uVar1; - longlong lVar2; - longlong lVar3; - int iVar4; - - uVar1 = *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - locret_7F05220C(uVar1,0); - locret_7F05220C(uVar1,1); - iVar4 = 1; - do { - lVar2 = def_7F09B27C(iVar4); - if ((-1 < lVar2) && (lVar3 = FUN_7f08c624(iVar4), lVar3 != 0)) { - lVar2 = loc_7F0523BC(uVar1,lVar2,iVar4,0x20000000,0,0); - if (lVar2 != 0) { - FUN_7f04c1c4(lVar2,1); - loc_7F04CA2C(lVar2); - } - } - iVar4 += 1; - } while (iVar4 != 0x59); - return; -} - - - -undefined8 -sub_GAME_7F056F08(undefined4 *puParm1,longlong lParm2,float fParm3,undefined4 *puParm4, - undefined4 *puParm5) - -{ - undefined8 uVar1; - longlong lVar2; - - *puParm4 = *puParm1; - puParm4[1] = puParm1[1]; - puParm4[2] = puParm1[2]; - *puParm5 = (int)lParm2; - if (lParm2 == 0) { - uVar1 = 0; - } - else { - if (0.00000000 < fParm3) { - lVar2 = loc_7F0B1C80(puParm5,*puParm4,puParm4[2],fParm3,0x1f,0,0x3f800000); - if (lVar2 < 0) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 1; - } - } - return uVar1; -} - - - -undefined8 FUN_7f056bd4(int iParm1) - -{ - if (true) { - switch(*(undefined *)(iParm1 + 3)) { - case 1: - return 0x40; - case 2: - return 2; - case 3: - return 0x20; - case 4: - return 0x21; - case 5: - return 0x20; - case 6: - return 0x3b; - case 7: - return 0x21; - case 8: - return 0x22; - case 9: - return 7; - 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 0x14: - return 0x2d; - case 0x15: - return 0x22; - case 0x16: - return 4; - 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 0x24: - return 0x20; - case 0x25: - return 10; - case 0x26: - return 4; - case 0x27: - return 0x2c; - case 0x28: - return 0x2d; - case 0x2a: - return 0x20; - case 0x2b: - return 0x20; - case 0x2c: - return 5; - case 0x2d: - return 0x38; - case 0x2e: - return 7; - case 0x2f: - return 0x25; - } - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f056d68(int iParm1) - -{ - int iVar1; - int iVar2; - int iVar3; - - if (-1 < iParm1) { - if (_DAT_80064c4c == 0) { - return 0; - } - iVar2 = 0; - iVar3 = _DAT_80064c4c; - if (*(char *)(_DAT_80064c4c + 3) == '0') { - return 0; - } - do { - if (iVar2 == iParm1) { - return iVar3; - } - iVar1 = FUN_7f056bd4(iVar3); - iVar3 = iVar1 * 4 + iVar3; - iVar2 += 1; - } while (*(char *)(iVar3 + 3) != '0'); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f056dfc(int iParm1) - -{ - int iVar1; - int iVar2; - int iVar3; - - if (_DAT_80064c4c != 0) { - iVar3 = 0; - iVar2 = _DAT_80064c4c; - if (*(char *)(_DAT_80064c4c + 3) == '0') { - return 0xffffffff; - } - do { - if (iVar2 == iParm1) { - return iVar3; - } - iVar1 = FUN_7f056bd4(iVar2); - iVar2 = iVar1 * 4 + iVar2; - iVar3 += 1; - } while (*(char *)(iVar2 + 3) != '0'); - } - return 0xffffffff; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f056e88(int iParm1) - -{ - int iVar1; - int iVar2; - int iVar3; - - if (_DAT_80064c4c == 0) { -LAB_7f056ef8: - iVar3 = -1; - } - else { - iVar3 = 0; - if (*(char *)(_DAT_80064c4c + 3) == '0') { - iVar3 = -1; - } - else { - iVar1 = *(int *)(_DAT_80064c4c + 0x10); - iVar2 = _DAT_80064c4c; - while (iParm1 != iVar1) { - iVar1 = FUN_7f056bd4(iVar2); - iVar2 = iVar1 * 4 + iVar2; - iVar3 += 1; - if (*(char *)(iVar2 + 3) == '0') goto LAB_7f056ef8; - iVar1 = *(int *)(iVar2 + 0x10); - } - } - } - return iVar3; -} - - - -ulonglong FUN_7f056f18(int iParm1) - -{ - int *piVar1; - bool bVar2; - - piVar1 = (int *)(&PTR_DAT_80034d88)[iParm1 * 3]; - bVar2 = *piVar1 == 0; - if (bVar2) { - FUN_7f0765cc(piVar1,(&PTR_s_Palarm1Z_80034d8c)[iParm1 * 3]); - FUN_7f075d7c((&PTR_DAT_80034d88)[iParm1 * 3]); - } - return (ulonglong)bVar2; -} - - - -void loc_7F056E80(int iParm1) - -{ - undefined uVar1; - int iVar2; - longlong lVar3; - undefined4 uVar4; - int iVar5; - float fVar6; - float fVar7; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - - iVar2 = *(int *)(iParm1 + 0x10); - loc_7F03E1F8(iVar2); - if (*(int *)(iParm1 + 0xc) << 0xe < 0) { - if (*(int *)(iVar2 + 0x14) == 0) { - *(undefined *)(iVar2 + 0x2c) = 0xff; - } - else { - uVar1 = *(undefined *)(*(int *)(iVar2 + 0x14) + 3); - *(undefined *)(iVar2 + 0x2d) = 0xff; - *(undefined *)(iVar2 + 0x2c) = uVar1; - } - } - else { - lVar3 = FUN_7f040138(iParm1); - if (lVar3 != 0) { - iVar5 = iParm1 + 0x18; - uVar4 = (undefined4)lVar3; - fStack16 = (float)loc_7F03E90C(lVar3); - fStack16 = fStack16 - 30.00000000; - fStack12 = (float)loc_7F03EA4C(uVar4,iVar5); - fStack8 = (float)loc_7F03EB8C(uVar4,iVar5); - fStack8 = fStack8 - 30.00000000; - fStack28 = (float)loc_7F03E9AC(uVar4,iVar5); - fStack28 = fStack28 + 30.00000000; - fStack24 = (float)loc_7F03EAEC(uVar4,iVar5); - fStack20 = (float)loc_7F03EC2C(uVar4,iVar5); - fVar7 = -fStack16; - fStack20 = fStack20 + 30.00000000; - if (fVar7 <= 0.00000000) { - fVar7 = 0.00000000; - } - fVar6 = -fStack8; - if (fVar6 <= fVar7) { - fVar6 = fVar7; - } - fVar7 = fStack28; - if (fStack28 <= fVar6) { - fVar7 = fVar6; - } - fVar6 = fStack20; - if (fStack20 <= fVar7) { - fVar6 = fVar7; - } - fStack16 = fStack16 + *(float *)(iParm1 + 0x58); - fStack12 = fStack12 + *(float *)(iParm1 + 0x5c); - fStack8 = fStack8 + *(float *)(iParm1 + 0x60); - fStack28 = fStack28 + *(float *)(iParm1 + 0x58); - fStack24 = fStack24 + *(float *)(iParm1 + 0x5c); - fStack20 = fStack20 + *(float *)(iParm1 + 0x60); - loc_7F03E3E0(iVar2,&fStack16,&fStack28,fVar6); - } - } - loc_7F03E260(iVar2); - return; -} - - - -int FUN_7f057180(undefined8 uParm1,undefined8 uParm2) - -{ - int iVar1; - - iVar1 = FUN_7f056d68(uParm2); - if ((iVar1 != 0) && (true)) { - switch(*(undefined *)(iVar1 + 3)) { - case 1: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0x11: - case 0x14: - case 0x15: - case 0x24: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2d: - case 0x2f: - break; - case 2: - case 9: - case 0xe: - case 0x12: - case 0x13: - case 0x16: - case 0x17: - case 0x18: - case 0x19: - case 0x1a: - case 0x1b: - case 0x1c: - case 0x1d: - case 0x1e: - case 0x1f: - case 0x20: - case 0x21: - case 0x22: - case 0x23: - case 0x25: - case 0x26: - case 0x2c: - case 0x2e: - iVar1 = 0; - } - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0571e8(ulonglong uParm1,int *piParm2,int *piParm3,longlong lParm4,int iParm5, - undefined4 uParm6) - -{ - byte bVar1; - longlong lVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - - iVar5 = 0; - iVar6 = 0; - if (_DAT_80064c4c != 0) { - bVar1 = *(byte *)(_DAT_80064c4c + 3); - iVar4 = _DAT_80064c4c; - while (bVar1 != 0x30) { - if ((uParm1 & 0xff) == (ulonglong)bVar1) { - if (*(int *)(iVar4 + 0x10) == 0) { - if ((lParm4 == 0) && (iParm5 == 0)) { - return iVar4; - } - } - else { - if (((((uParm1 != 8) && ((*(uint *)(iVar4 + 100) & 0x80) == 0)) && - ((*(byte *)(iVar4 + 2) & 4) == 0)) && (*(int *)(*(int *)(iVar4 + 0x10) + 0x1c) == 0)) - && ((iParm5 == 0 || - (lVar2 = locret_7F06C08C(*(undefined4 *)(iVar4 + 0x14),uParm6), lVar2 != 0)))) { - if ((iVar5 == 0) && ((*(byte *)(*(int *)(iVar4 + 0x10) + 1) & 2) == 0)) { - iVar5 = iVar4; - } - if (iVar6 == 0) { - iVar6 = iVar4; - } - } - } - } - iVar3 = FUN_7f056bd4(iVar4); - iVar4 = iVar3 * 4 + iVar4; - bVar1 = *(byte *)(iVar4 + 3); - } - } - *piParm2 = iVar5; - *piParm3 = iVar6; - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int sub_GAME_7F057E58(short sParm1) - -{ - short sVar1; - int iVar2; - - if (_DAT_80064cc0 != 0) { - sVar1 = *(short *)(_DAT_80064cc0 + 4); - iVar2 = _DAT_80064cc0; - while( true ) { - if (sParm1 == sVar1) { - return iVar2; - } - iVar2 = *(int *)(iVar2 + 8); - if (iVar2 == 0) break; - sVar1 = *(short *)(iVar2 + 4); - } - } - return 0; -} - - - -int FUN_7f0573a0(void) - -{ - int iVar1; - int iVar2; - - iVar1 = sub_GAME_7F057E58(); - iVar2 = 0; - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 0xc); - } - if ((iVar2 != 0) && ((*(uint *)(iVar2 + 100) & 0x10) == 0)) { - iVar2 = 0; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f0573e4(int iParm1) - -{ - int iVar1; - int iVar2; - longlong lVar3; - - lVar3 = 0; - if (_DAT_80064cc4 != 0) { - iVar1 = *(int *)(_DAT_80064cc4 + 4); - iVar2 = _DAT_80064cc4; - while (iParm1 != iVar1) { - iVar2 = *(int *)(iVar2 + 0xc); - if (iVar2 == 0) goto LAB_7f057430; - iVar1 = *(int *)(iVar2 + 4); - } - lVar3 = FUN_7f0c12b8((ulonglong)*(ushort *)(iVar2 + 10)); - } -LAB_7f057430: - if (lVar3 == 0) { - if (iParm1 == 0) { - lVar3 = FUN_7f0c12b8(0xb029); - } - else { - if (iParm1 == 1) { - lVar3 = FUN_7f0c12b8(0xb02a); - } - else { - lVar3 = FUN_7f0c12b8(0xb02b); - } - } - } - return lVar3; -} - - - -int FUN_7f057488(void) - -{ - return DAT_8002d840 + 1; -} - - - -undefined8 FUN_7f057498(longlong lParm1) - -{ - undefined8 uVar1; - - if ((lParm1 < 10) && (*(int *)(&DAT_80064c70 + (int)lParm1 * 4) != 0)) { - uVar1 = FUN_7f0c12b8((ulonglong)*(ushort *)(*(int *)(&DAT_80064c70 + (int)lParm1 * 4) + 10)); - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined FUN_7f0574e4(longlong lParm1) - -{ - if ((lParm1 < 10) && (*(int *)(&DAT_80064c70 + (int)lParm1 * 4) != 0)) { - return *(undefined *)(*(int *)(&DAT_80064c70 + (int)lParm1 * 4) + 0xf); - } - return 0; -} - - - -int loc_7F057498(longlong lParm1) - -{ - char cVar1; - int iVar3; - int iVar4; - longlong lVar2; - int iVar5; - int iVar6; - - iVar6 = 1; - if (lParm1 < 10) { - iVar3 = (int)lParm1 * 4; - iVar5 = *(int *)(&DAT_80064c70 + iVar3); - if (iVar5 == 0) { - iVar6 = *(int *)(&DAT_80064c98 + iVar3); - } - else { - cVar1 = *(char *)(iVar5 + 3); - while (cVar1 != '\x18') { - iVar3 = 1; - if (true) { - switch(cVar1) { - case '\x19': - iVar4 = FUN_7f0573a0(*(undefined4 *)(iVar5 + 4)); - if (((iVar4 != 0) && (*(int *)(iVar4 + 0x10) != 0)) && - (lVar2 = FUN_7f04f11c(iVar4), lVar2 != 0)) { - iVar3 = 0; - } - break; - case '\x1a': - lVar2 = FUN_7f03337c(0,*(undefined4 *)(iVar5 + 4)); - if (lVar2 == 0) { - iVar3 = 0; - } - break; - case '\x1b': - lVar2 = FUN_7f03337c(0,*(undefined4 *)(iVar5 + 4)); - if (lVar2 != 0) { - iVar3 = 2; - } - break; - case '\x1c': - iVar4 = FUN_7f0573a0(*(undefined4 *)(iVar5 + 4)); - if (((iVar4 == 0) || (*(int *)(iVar4 + 0x10) == 0)) || - (lVar2 = FUN_7f04f11c(iVar4), lVar2 == 0)) { - iVar3 = 2; - } - else { - lVar2 = FUN_7f08d3c4(*(undefined4 *)(iVar4 + 0x10)); - if (lVar2 == 0) { - iVar3 = 0; - } - } - break; - case '\x1d': - iVar4 = FUN_7f0573a0(*(undefined4 *)(iVar5 + 4)); - if (((iVar4 != 0) && (*(int *)(iVar4 + 0x10) != 0)) && - (lVar2 = FUN_7f08d3c4(*(int *)(iVar4 + 0x10)), lVar2 != 0)) { - iVar3 = 0; - } - break; - case '\x1e': - iVar4 = FUN_7f0573a0(*(undefined4 *)(iVar5 + 4)); - if (*(int *)(iVar5 + 8) == 0) { - if (((iVar4 == 0) || (*(int *)(iVar4 + 0x10) == 0)) || - (lVar2 = FUN_7f04f11c(iVar4), lVar2 == 0)) { - iVar3 = 2; - } - else { - iVar3 = 0; - } - } - break; - case ' ': - if (*(int *)(iVar5 + 8) == 0) { - iVar3 = 0; - } - break; - case '!': - if (*(int *)(iVar5 + 0xc) == 0) { - iVar3 = 0; - } - break; - case '\"': - lVar2 = FUN_7f0676a0(); - if (lVar2 == 0) { - iVar3 = 0; - } - } - } - if (iVar6 == 1) { - if (iVar3 != 1) { - iVar6 = iVar3; - } - } - else { - if ((iVar6 == 0) && (iVar3 == 2)) { - iVar6 = iVar3; - } - } - iVar3 = FUN_7f056bd4(iVar5); - iVar5 = iVar3 * 4 + iVar5; - cVar1 = *(char *)(iVar5 + 3); - } - } - } - lVar2 = FUN_7f0904e8(); - if (lVar2 != 0) { - iVar6 = 1; - } - return iVar6; -} - - - -undefined8 FUN_7f057798(void) - -{ - longlong lVar1; - longlong lVar2; - int iVar3; - int iVar4; - - iVar4 = 0; - lVar1 = FUN_7f057488(); - if (0 < lVar1) { - do { - lVar1 = FUN_7f0574e4(iVar4); - lVar2 = FUN_7f0bf084(); - if ((lVar1 <= lVar2) && (lVar1 = loc_7F057498(iVar4), lVar1 != 1)) { - return 0; - } - iVar4 += 1; - iVar3 = FUN_7f057488(); - } while (iVar4 < iVar3); - } - return 1; -} - - - -void FUN_7f057820(void) - -{ - DAT_8002d844 = 1; - return; -} - - - -void FUN_7f057830(void) - -{ - longlong lVar1; - longlong lVar2; - undefined8 uVar3; - longlong lVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - int iVar9; - int *piVar10; - int iVar11; - undefined4 auStack60 [15]; - - iVar11 = 0; - puVar7 = &DAT_80049750; - puVar5 = auStack60; - do { - puVar8 = puVar7 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar7 = puVar8; - puVar5 = puVar6; - } while (puVar8 != (undefined4 *)0x80049780); - *(undefined2 *)puVar6 = uRam80049780; - if (DAT_8002d844 == 0) { - piVar10 = (int *)&DAT_80064c98; - iVar9 = 0; - if (-1 < DAT_8002d840) { - do { - lVar4 = loc_7F057498(iVar9); - if (lVar4 != (longlong)*piVar10) { - *piVar10 = (int)lVar4; - lVar1 = FUN_7f0574e4(iVar9); - lVar2 = FUN_7f0bf084(); - if (lVar1 <= lVar2) { - if (DAT_80041150 == 0) { - uVar3 = FUN_7f0c12b8(0xb02c); - FUN_7000a0f4(auStack60,s__s__c__8004978c,uVar3,iVar11 + 0x61); - } - else { - uVar3 = FUN_7f0c12b8(0xb02c); - FUN_7000a0f4(auStack60,&DAT_80049784,uVar3,iVar11 + 0x1a); - } - if (lVar4 == 1) { - uVar3 = FUN_7f0c12b8(0xb02d); - locret_7000A844(auStack60,uVar3); - } - else { - if (lVar4 == 0) { - uVar3 = FUN_7f0c12b8(0xb02e); - locret_7000A844(auStack60,uVar3); - } - else { - if (lVar4 == 2) { - uVar3 = FUN_7f0c12b8(0xb02f); - locret_7000A844(auStack60,uVar3); - } - } - } - FUN_7f08a6d4(auStack60); - } - } - lVar4 = FUN_7f0574e4(iVar9); - lVar1 = FUN_7f0bf084(); - if (lVar4 <= lVar1) { - iVar11 += 1; - } - iVar9 += 1; - piVar10 = piVar10 + 1; - } while (iVar9 <= DAT_8002d840); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f057a40(ulonglong uParm1) - -{ - uint uVar1; - int iVar2; - int iVar3; - - if (_DAT_80064cc8 != 0) { - iVar3 = *(int *)(_DAT_80064cc8 + 8); - iVar2 = _DAT_80064cc8; - while( true ) { - if (iVar3 == 0) { - uVar1 = *(uint *)(iVar2 + 4); - if (uVar1 < 10000) { - iVar3 = *(int *)(uVar1 * 0x2c + _DAT_80064c58 + 0x28); - } - else { - iVar3 = *(int *)(uVar1 * 0x44 + _DAT_80064c5c + -0xa6018); - } - if (iVar3 == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - if (uParm1 == (ulonglong)*(byte *)(iVar3 + 3)) { - *(undefined4 *)(iVar2 + 8) = 1; - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 8); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f057ae4(int iParm1,ulonglong uParm2) - -{ - uint uVar1; - int iVar2; - int iVar3; - - if (_DAT_80064ccc != 0) { - iVar3 = *(int *)(_DAT_80064ccc + 0xc); - iVar2 = _DAT_80064ccc; - while( true ) { - if (iVar3 == 0) { - if (iParm1 == *(int *)(iVar2 + 4)) { - uVar1 = *(uint *)(iVar2 + 8); - if (uVar1 < 10000) { - iVar3 = *(int *)(uVar1 * 0x2c + _DAT_80064c58 + 0x28); - } - else { - iVar3 = *(int *)(uVar1 * 0x44 + _DAT_80064c5c + -0xa6018); - } - if (iVar3 == 0) { - iVar2 = *(int *)(iVar2 + 0x10); - } - else { - if (uParm2 == (ulonglong)*(byte *)(iVar3 + 3)) { - *(undefined4 *)(iVar2 + 0xc) = 1; - iVar2 = *(int *)(iVar2 + 0x10); - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 0xc); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f057b94(void) - -{ - int iVar1; - int iVar3; - longlong lVar2; - int iVar4; - float fVar5; - float fVar6; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - undefined auStack36 [8]; - undefined auStack28 [8]; - undefined auStack20 [20]; - - if (_DAT_80064cd0 == 0) { - return; - } - iVar3 = *(int *)(_DAT_80064cd0 + 8); - iVar4 = _DAT_80064cd0; - do { - if (iVar3 == 0) { - iVar3 = FUN_7f0573a0(*(undefined4 *)(iVar4 + 4)); - if (iVar3 == 0) { -LAB_7f057d80: - iVar4 = *(int *)(iVar4 + 0xc); - } - else { - iVar1 = *(int *)(iVar3 + 0x10); - if (iVar1 == 0) { - iVar4 = *(int *)(iVar4 + 0xc); - } - else { - if ((*(byte *)(iVar1 + 1) & 2) == 0) { - iVar4 = *(int *)(iVar4 + 0xc); - } - else { - if (0.00000000 <= *(float *)(iVar1 + 0x18)) { - lVar2 = FUN_7f04f11c(iVar3); - if ((lVar2 == 0) || - (lVar2 = loc_7F050DD8(*(undefined4 *)(iVar3 + 0x10),auStack20,auStack28,auStack36), - lVar2 == 0)) goto LAB_7f057d80; - sub_7F03F948(auStack20,auStack28,auStack36,&fStack44,&fStack52); - fVar5 = (float)FUN_7f078544(); - if (fVar5 < fStack44) { - fVar5 = (float)FUN_7f078544(); - fVar6 = (float)FUN_7f078524(); - if (fStack44 < fVar6 + fVar5) { - fVar5 = (float)FUN_7f078544(); - if (fVar5 < fStack52) { - fVar5 = (float)FUN_7f078544(); - fVar6 = (float)FUN_7f078524(); - if (fStack52 < fVar6 + fVar5) { - fVar5 = (float)FUN_7f078554(); - if (fVar5 < fStack40) { - fVar5 = (float)FUN_7f078554(); - fVar6 = (float)FUN_7f078534(); - if (fStack40 < fVar6 + fVar5) { - fVar5 = (float)FUN_7f078554(); - if (fVar5 < fStack48) { - fVar5 = (float)FUN_7f078554(); - fVar6 = (float)FUN_7f078534(); - if (fStack48 < fVar6 + fVar5) { - *(undefined4 *)(iVar4 + 8) = 1; - goto LAB_7f057d80; - } - iVar4 = *(int *)(iVar4 + 0xc); - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - } - } - } - } - else { - iVar4 = *(int *)(iVar4 + 0xc); - } - if (iVar4 == 0) { - return; - } - iVar3 = *(int *)(iVar4 + 8); - } while( true ); -} - - - -void FUN_7f057dc0(undefined4 uParm1) - -{ - longlong lVar1; - float fVar2; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = DAT_8002d850; - fStack8 = (float)DAT_8002d854; - fStack4 = (float)DAT_8002d858; - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - fStack12 = fVar2 * 0.00000000 * DAT_800497d0 * 0.03125000 - DAT_800497d4; - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - fStack8 = fVar2 * 0.00000000 * DAT_800497d8 * 0.03125000 - DAT_800497dc; - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - fStack4 = fVar2 * 0.00000000 * DAT_800497e0 * 0.03125000 - DAT_800497e4; - FUN_7f058bbc(&fStack12,uParm1); - return; -} - - - -void FUN_7f057f14(float *pfParm1,undefined4 uParm2) - -{ - longlong lVar1; - float fVar2; - - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *pfParm1 = fVar2 * 0.00000000 * DAT_800497e8 * 4.00000000 - DAT_800497ec; - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - pfParm1[1] = fVar2 * 0.00000000 * DAT_800497f0 * 4.00000000; - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - pfParm1[2] = fVar2 * 0.00000000 * DAT_800497f4 * 4.00000000 - DAT_800497f8; - FUN_7f057dc0(uParm2); - return; -} - - - -void FUN_7f058044(float *pfParm1,float *pfParm2,float fParm3) - -{ - float fVar1; - - fVar1 = *pfParm2 - fParm3 * DAT_800497fc; - *pfParm1 = *pfParm1 + fParm3 * (*pfParm2 + fVar1) * 0.50000000; - *pfParm2 = fVar1; - return; -} - - - -void sub_7F057D88(float *pfParm1,float *pfParm2,float fParm3) - -{ - FUN_7f058044(pfParm1 + 1,pfParm2 + 1,fParm3); - *pfParm1 = *pfParm1 + fParm3 * *pfParm2; - pfParm1[2] = pfParm1[2] + fParm3 * pfParm2[2]; - return; -} - - - -void loc_7F057E3C(undefined8 uParm1,undefined8 uParm2,int iParm3) - -{ - int iVar1; - - iVar1 = 0; - if (0 < iParm3) { - do { - FUN_7f058540(uParm2,uParm1); - iVar1 += 1; - } while (iVar1 != iParm3); - } - return; -} - - - -void sub_7F057E58(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4,int iParm5 - ) - -{ - sub_7F057D88(uParm1,uParm2,(float)iParm5); - loc_7F057E3C(uParm3,uParm4,iParm5); - return; -} - - - -float func_7F057FC4(float fParm1) - -{ - uint uVar1; - float fVar2; - float fVar3; - - fParm1 = fParm1 + DAT_80049800; - uVar1 = (int)fParm1 >> 0x16 & 0x1ff; - if (uVar1 < 0xff) { - if (0xe5 < uVar1) { - fVar2 = fParm1 * fParm1; - fParm1 = (DAT_80049810 + - (DAT_8004980c + (DAT_80049808 + DAT_80049804 * fVar2) * fVar2) * fVar2) * fVar2 * - fParm1 + fParm1; - } - } - else { - if (uVar1 < 0x136) { - fVar2 = DAT_80049814 * fParm1; - fVar3 = (float)(int)(longlong)ROUND(fVar2); - fParm1 = (fParm1 - DAT_80049818 * fVar3) - DAT_8004981c * fVar3; - fVar3 = fParm1 * fParm1; - fParm1 = (DAT_8004982c + - (DAT_80049828 + (DAT_80049824 + DAT_80049820 * fVar3) * fVar3) * fVar3) * fVar3 * - fParm1 + fParm1; - if (((longlong)ROUND(fVar2) & 1U) != 0) { - fParm1 = -fParm1; - } - } - else { - fParm1 = 0.00000000; - } - } - return fParm1; -} - - - -float func_7F057FC4(float fParm1) - -{ - uint uVar1; - float fVar2; - float fVar3; - - uVar1 = (int)fParm1 >> 0x16 & 0x1ff; - if (uVar1 < 0xff) { - if (0xe5 < uVar1) { - fVar2 = fParm1 * fParm1; - fParm1 = (DAT_80049810 + - (DAT_8004980c + (DAT_80049808 + DAT_80049804 * fVar2) * fVar2) * fVar2) * fVar2 * - fParm1 + fParm1; - } - } - else { - if (uVar1 < 0x136) { - fVar2 = DAT_80049814 * fParm1; - fVar3 = (float)(int)(longlong)ROUND(fVar2); - fParm1 = (fParm1 - DAT_80049818 * fVar3) - DAT_8004981c * fVar3; - fVar3 = fParm1 * fParm1; - fParm1 = (DAT_8004982c + - (DAT_80049828 + (DAT_80049824 + DAT_80049820 * fVar3) * fVar3) * fVar3) * fVar3 * - fParm1 + fParm1; - if (((longlong)ROUND(fVar2) & 1U) != 0) { - fParm1 = -fParm1; - } - } - else { - fParm1 = 0.00000000; - } - } - return fParm1; -} - - - -void FUN_7f0582d0(undefined4 *puParm1,undefined4 *puParm2) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 uVar5; - - iVar1 = 0; - do { - iVar2 = 0; - puVar4 = puParm1; - puVar3 = puParm2; - do { - uVar5 = *puVar4; - iVar2 += 1; - puVar4 = puVar4 + 1; - *puVar3 = uVar5; - puVar3 = puVar3 + 1; - } while (iVar2 != 3); - iVar1 += 1; - puParm2 = puParm2 + 3; - puParm1 = puParm1 + 3; - } while (iVar1 != 3); - return; -} - - - -void FUN_7f05831c(undefined8 uParm1,undefined8 uParm2) - -{ - undefined auStack36 [36]; - - FUN_7f05834c(uParm1,uParm2,auStack36); - FUN_7f0582d0(auStack36,(int)uParm2); - return; -} - - - -void FUN_7f05834c(float *pfParm1,float *pfParm2,int iParm3) - -{ - float *pfVar1; - float *pfVar2; - int iVar3; - int iVar4; - float *pfVar5; - float *pfVar6; - float fVar7; - - iVar4 = 0; - do { - iVar3 = 0; - pfVar6 = pfParm2; - pfVar5 = (float *)(iParm3 + iVar4); - do { - fVar7 = *pfVar6; - pfVar1 = pfVar6 + 1; - pfVar2 = pfVar6 + 2; - iVar3 += 1; - pfVar6 = pfVar6 + 3; - *pfVar5 = *pfVar2 * pfParm1[6] + *pfParm1 * fVar7 + pfParm1[3] * *pfVar1; - pfVar5 = pfVar5 + 3; - } while (iVar3 != 3); - iVar4 += 4; - pfParm1 = pfParm1 + 1; - } while (iVar4 != 0xc); - return; -} - - - -void FUN_7f0583bc(undefined4 *puParm1,undefined4 *puParm2) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 uVar6; - - iVar1 = 0; - puVar4 = puParm2; - do { - iVar2 = 0; - puVar5 = puParm1; - puVar3 = puVar4; - do { - uVar6 = *puVar5; - iVar2 += 1; - puVar5 = puVar5 + 1; - *puVar3 = uVar6; - puVar3 = puVar3 + 1; - } while (iVar2 != 3); - iVar1 += 1; - puVar4 = puVar4 + 4; - puParm1 = puParm1 + 3; - } while (iVar1 != 3); - puParm2[3] = 0; - puParm2[7] = 0; - puParm2[0xb] = 0; - puParm2[0xc] = 0; - puParm2[0xd] = 0; - puParm2[0xe] = 0; - puParm2[0xf] = 0x3f800000; - return; -} - - - -void FUN_7f05842c(undefined4 *puParm1,undefined4 *puParm2) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 uVar5; - - iVar1 = 0; - do { - iVar2 = 0; - puVar4 = puParm1; - puVar3 = puParm2; - do { - uVar5 = *puVar4; - iVar2 += 1; - puVar4 = puVar4 + 1; - *puVar3 = uVar5; - puVar3 = puVar3 + 1; - } while (iVar2 != 3); - iVar1 += 1; - puParm2 = puParm2 + 3; - puParm1 = puParm1 + 4; - } while (iVar1 != 3); - return; -} - - - -void sub_GAME_7F05A9B8(undefined4 *puParm1) - -{ - puParm1[1] = 0; - puParm1[2] = 0; - puParm1[3] = 0; - puParm1[4] = 0; - puParm1[6] = 0; - puParm1[7] = 0; - puParm1[8] = 0; - puParm1[9] = 0; - puParm1[0xb] = 0; - puParm1[0xc] = 0; - puParm1[0xd] = 0; - puParm1[0xe] = 0; - *puParm1 = 0x3f800000; - puParm1[5] = 0x3f800000; - puParm1[10] = 0x3f800000; - puParm1[0xf] = 0x3f800000; - return; -} - - - -void loc_7F058030(undefined4 *puParm1,undefined4 *puParm2) - -{ - int iVar1; - - iVar1 = 0; - do { - iVar1 += 1; - *puParm2 = *puParm1; - puParm2[1] = puParm1[1]; - puParm2[2] = puParm1[2]; - puParm2[3] = puParm1[3]; - puParm1 = puParm1 + 4; - puParm2 = puParm2 + 4; - } while (iVar1 != 4); - return; -} - - - -void FUN_7f058510(undefined8 uParm1,undefined8 uParm2) - -{ - undefined auStack64 [64]; - - loc_7F0580E4(uParm1,uParm2,auStack64); - loc_7F058030(auStack64,(int)uParm2); - return; -} - - - -void FUN_7f058540(undefined8 uParm1,undefined8 uParm2) - -{ - undefined auStack64 [64]; - - loc_7F05823C(uParm1,uParm2,auStack64); - loc_7F058030(auStack64,(int)uParm2); - return; -} - - - -void loc_7F0580E4(float *pfParm1,float *pfParm2,int iParm3) - -{ - int iVar1; - int iVar2; - float *pfVar3; - float *pfVar4; - - iVar2 = 0; - do { - iVar1 = 0; - pfVar4 = pfParm2; - pfVar3 = (float *)(iParm3 + iVar2); - do { - iVar1 += 2; - *pfVar3 = pfVar4[3] * pfParm1[0xc] + - *pfParm1 * *pfVar4 + pfParm1[4] * pfVar4[1] + pfParm1[8] * pfVar4[2]; - pfVar3[4] = pfVar4[7] * pfParm1[0xc] + - *pfParm1 * pfVar4[4] + pfParm1[4] * pfVar4[5] + pfParm1[8] * pfVar4[6]; - pfVar4 = pfVar4 + 8; - pfVar3 = pfVar3 + 8; - } while (iVar1 != 4); - iVar2 += 4; - pfParm1 = pfParm1 + 1; - } while (iVar2 != 0x10); - return; -} - - - -void loc_7F05823C(float *pfParm1,float *pfParm2,int iParm3) - -{ - float *pfVar1; - float *pfVar2; - float *pfVar3; - int iVar4; - int iVar5; - float *pfVar6; - float *pfVar7; - - iVar5 = 0; - do { - iVar4 = 0; - pfVar6 = (float *)(iParm3 + iVar5); - pfVar7 = pfParm2; - do { - *pfVar6 = pfVar7[2] * pfParm1[8] + *pfParm1 * *pfVar7 + pfParm1[4] * pfVar7[1]; - if (iVar4 == 3) { - *pfVar6 = *pfVar6 + pfParm1[0xc]; - } - pfVar1 = pfVar7 + 4; - pfVar2 = pfVar7 + 5; - pfVar3 = pfVar7 + 6; - pfVar7 = pfVar7 + 8; - pfVar6[4] = *pfVar3 * pfParm1[8] + *pfParm1 * *pfVar1 + pfParm1[4] * *pfVar2; - if (iVar4 == 2) { - pfVar6[4] = pfVar6[4] + pfParm1[0xc]; - } - iVar4 += 2; - pfVar6 = pfVar6 + 8; - } while (iVar4 != 4); - iVar5 += 4; - pfParm1 = pfParm1 + 1; - } while (iVar5 != 0xc); - *(undefined4 *)(iParm3 + 0xc) = 0; - *(undefined4 *)(iParm3 + 0x1c) = 0; - *(undefined4 *)(iParm3 + 0x2c) = 0; - *(undefined4 *)(iParm3 + 0x3c) = 0x3f800000; - return; -} - - - -void loc_7F058390(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - float *pfVar1; - float *pfVar2; - int iVar3; - float fVar4; - - iVar3 = 0; - do { - fVar4 = *pfParm1; - pfVar1 = pfParm1 + 4; - pfVar2 = pfParm1 + 8; - iVar3 += 1; - pfParm1 = pfParm1 + 1; - *pfParm3 = pfParm2[2] * *pfVar2 + fVar4 * *pfParm2 + *pfVar1 * pfParm2[1]; - pfParm3 = pfParm3 + 1; - } while (iVar3 != 3); - return; -} - - - -void FUN_7f058880(undefined8 uParm1,undefined4 *puParm2) - -{ - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - loc_7F058390(uParm1,puParm2,&uStack12); - *puParm2 = uStack12; - puParm2[1] = uStack8; - puParm2[2] = uStack4; - return; -} - - - -void FUN_7f0588c0(int iParm1,undefined8 uParm2,float *pfParm3) - -{ - loc_7F058390(); - *pfParm3 = *pfParm3 + *(float *)(iParm1 + 0x30); - pfParm3[1] = pfParm3[1] + *(float *)(iParm1 + 0x34); - pfParm3[2] = pfParm3[2] + *(float *)(iParm1 + 0x38); - return; -} - - - -void FUN_7f05891c(int iParm1,float *pfParm2) - -{ - FUN_7f058880(); - *pfParm2 = *pfParm2 + *(float *)(iParm1 + 0x30); - pfParm2[1] = pfParm2[1] + *(float *)(iParm1 + 0x34); - pfParm2[2] = pfParm2[2] + *(float *)(iParm1 + 0x38); - return; -} - - - -void FUN_7f058978(undefined4 *puParm1,undefined4 uParm2,undefined4 *puParm3) - -{ - undefined4 uVar1; - float fVar2; - - uVar1 = func_7F057FC4(uParm2); - fVar2 = (float)func_7F057FC4(uParm2); - *(float *)(puParm3 + 8) = fVar2; - *(float *)(puParm3 + 2) = -fVar2; - *puParm3 = uVar1; - puParm3[10] = uVar1; - puParm3[1] = 0; - puParm3[3] = 0; - puParm3[4] = 0; - puParm3[6] = 0; - puParm3[7] = 0; - puParm3[9] = 0; - puParm3[0xb] = 0; - puParm3[5] = 0x3f800000; - puParm3[0xc] = *puParm1; - puParm3[0xd] = puParm1[1]; - uVar1 = puParm1[2]; - puParm3[0xf] = 0x3f800000; - puParm3[0xe] = uVar1; - return; -} - - - -void FUN_7f058a18(undefined4 uParm1,undefined8 uParm2,undefined4 *puParm3) - -{ - undefined4 uVar1; - float fVar2; - - uVar1 = func_7F057FC4(uParm1); - fVar2 = (float)func_7F057FC4(uParm1); - *(float *)(puParm3 + 6) = fVar2; - *(float *)(puParm3 + 9) = -fVar2; - puParm3[5] = uVar1; - puParm3[10] = uVar1; - puParm3[1] = 0; - puParm3[2] = 0; - puParm3[3] = 0; - puParm3[4] = 0; - puParm3[7] = 0; - puParm3[8] = 0; - puParm3[0xb] = 0; - puParm3[0xc] = 0; - puParm3[0xd] = 0; - puParm3[0xe] = 0; - *puParm3 = 0x3f800000; - puParm3[0xf] = 0x3f800000; - return; -} - - - -void FUN_7f058aa4(undefined4 uParm1,undefined8 uParm2,undefined4 *puParm3) - -{ - undefined4 uVar1; - float fVar2; - - uVar1 = func_7F057FC4(uParm1); - fVar2 = (float)func_7F057FC4(uParm1); - *(float *)(puParm3 + 8) = fVar2; - *(float *)(puParm3 + 2) = -fVar2; - *puParm3 = uVar1; - puParm3[10] = uVar1; - puParm3[1] = 0; - puParm3[3] = 0; - puParm3[4] = 0; - puParm3[6] = 0; - puParm3[7] = 0; - puParm3[9] = 0; - puParm3[0xb] = 0; - puParm3[0xc] = 0; - puParm3[0xd] = 0; - puParm3[0xe] = 0; - puParm3[5] = 0x3f800000; - puParm3[0xf] = 0x3f800000; - return; -} - - - -void FUN_7f058b30(undefined4 uParm1,undefined8 uParm2,undefined4 *puParm3) - -{ - undefined4 uVar1; - float fVar2; - - uVar1 = func_7F057FC4(uParm1); - fVar2 = (float)func_7F057FC4(uParm1); - *(float *)(puParm3 + 1) = fVar2; - *(float *)(puParm3 + 4) = -fVar2; - *puParm3 = uVar1; - puParm3[5] = uVar1; - puParm3[2] = 0; - puParm3[3] = 0; - puParm3[6] = 0; - puParm3[7] = 0; - puParm3[8] = 0; - puParm3[9] = 0; - puParm3[0xb] = 0; - puParm3[0xc] = 0; - puParm3[0xd] = 0; - puParm3[0xe] = 0; - puParm3[10] = 0x3f800000; - puParm3[0xf] = 0x3f800000; - return; -} - - - -void FUN_7f058bbc(undefined4 *puParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar1 = (float)func_7F057FC4(*puParm1); - fVar2 = (float)func_7F057FC4(*puParm1); - fVar3 = (float)func_7F057FC4(puParm1[1]); - fVar4 = (float)func_7F057FC4(puParm1[1]); - fVar5 = (float)func_7F057FC4(puParm1[2]); - fVar6 = (float)func_7F057FC4(puParm1[2]); - pfParm2[3] = 0.00000000; - pfParm2[2] = -fVar4; - *pfParm2 = fVar3 * fVar5; - pfParm2[1] = fVar3 * fVar6; - pfParm2[4] = fVar2 * fVar5 * fVar4 - fVar1 * fVar6; - pfParm2[5] = fVar2 * fVar6 * fVar4 + fVar1 * fVar5; - pfParm2[7] = 0.00000000; - pfParm2[6] = fVar2 * fVar3; - pfParm2[8] = fVar1 * fVar5 * fVar4 + fVar2 * fVar6; - pfParm2[9] = fVar1 * fVar6 * fVar4 - fVar2 * fVar5; - pfParm2[0xb] = 0.00000000; - pfParm2[0xc] = 0.00000000; - pfParm2[0xd] = 0.00000000; - pfParm2[0xe] = 0.00000000; - pfParm2[0xf] = 1.00000000; - pfParm2[10] = fVar1 * fVar3; - return; -} - - - -void loc_7F058918(undefined4 *puParm1,undefined4 *puParm2) - -{ - float fVar1; - undefined4 uVar2; - - fVar1 = (float)sqrtf((float)puParm1[6] * (float)puParm1[6] + - (float)puParm1[10] * (float)puParm1[10]); - if (0.00000191 < fVar1) { - uVar2 = convert_angle_using_inverse(puParm1[6],puParm1[10]); - *puParm2 = uVar2; - uVar2 = convert_angle_using_inverse(-(float)puParm1[2],fVar1); - puParm2[1] = uVar2; - uVar2 = convert_angle_using_inverse(puParm1[1],*puParm1); - puParm2[2] = uVar2; - } - else { - *puParm2 = 0; - uVar2 = convert_angle_using_inverse(-(float)puParm1[2],fVar1); - puParm2[1] = uVar2; - uVar2 = convert_angle_using_inverse(-(float)puParm1[4],puParm1[5]); - puParm2[2] = uVar2; - } - return; -} - - - -void FUN_7f058dd4(undefined4 uParm1,undefined8 uParm2,undefined8 uParm3) - -{ - FUN_7f058bbc(uParm2,uParm3); - copies_first_3_floats_from_a0_to_a1_plus_0x30(uParm1,(int)uParm3); - return; -} - - - -void FUN_7f058e0c(undefined4 uParm1,undefined8 uParm2) - -{ - sub_GAME_7F05A9B8(uParm2); - copies_first_3_floats_from_a0_to_a1_plus_0x30(uParm1,(int)uParm2); - return; -} - - - -void copies_first_3_floats_from_a0_to_a1_plus_0x30(undefined4 *puParm1,int iParm2) - -{ - *(undefined4 *)(iParm2 + 0x30) = *puParm1; - *(undefined4 *)(iParm2 + 0x34) = puParm1[1]; - *(undefined4 *)(iParm2 + 0x38) = puParm1[2]; - return; -} - - - -void sub_7F0589B4(float fParm1,undefined8 uParm2,float *pfParm3) - -{ - *pfParm3 = *pfParm3 * fParm1; - pfParm3[1] = pfParm3[1] * fParm1; - pfParm3[2] = pfParm3[2] * fParm1; - return; -} - - - -void sub_7F0589E4(float fParm1,undefined8 uParm2,int iParm3) - -{ - *(float *)(iParm3 + 0x10) = *(float *)(iParm3 + 0x10) * fParm1; - *(float *)(iParm3 + 0x14) = *(float *)(iParm3 + 0x14) * fParm1; - *(float *)(iParm3 + 0x18) = *(float *)(iParm3 + 0x18) * fParm1; - return; -} - - - -void sub_7F058A14(float fParm1,undefined8 uParm2,int iParm3) - -{ - *(float *)(iParm3 + 0x20) = *(float *)(iParm3 + 0x20) * fParm1; - *(float *)(iParm3 + 0x24) = *(float *)(iParm3 + 0x24) * fParm1; - *(float *)(iParm3 + 0x28) = *(float *)(iParm3 + 0x28) * fParm1; - *(float *)(iParm3 + 0x2c) = *(float *)(iParm3 + 0x2c) * fParm1; - return; -} - - - -void sub_7F058A4C(float fParm1,undefined8 uParm2,int iParm3) - -{ - *(float *)(iParm3 + 0x20) = *(float *)(iParm3 + 0x20) * fParm1; - *(float *)(iParm3 + 0x24) = *(float *)(iParm3 + 0x24) * fParm1; - *(float *)(iParm3 + 0x28) = *(float *)(iParm3 + 0x28) * fParm1; - return; -} - - - -void matrix_multiply_A1_by_F12(float fParm1,undefined8 uParm2,float *pfParm3) - -{ - *pfParm3 = *pfParm3 * fParm1; - pfParm3[1] = pfParm3[1] * fParm1; - pfParm3[2] = pfParm3[2] * fParm1; - pfParm3[3] = pfParm3[3] * fParm1; - pfParm3[4] = pfParm3[4] * fParm1; - pfParm3[5] = pfParm3[5] * fParm1; - pfParm3[6] = pfParm3[6] * fParm1; - pfParm3[7] = pfParm3[7] * fParm1; - pfParm3[8] = pfParm3[8] * fParm1; - pfParm3[9] = pfParm3[9] * fParm1; - pfParm3[10] = pfParm3[10] * fParm1; - pfParm3[0xb] = pfParm3[0xb] * fParm1; - return; -} - - - -void sub_7F058B10(float fParm1,undefined8 uParm2,float *pfParm3) - -{ - *pfParm3 = *pfParm3 * fParm1; - pfParm3[1] = pfParm3[1] * fParm1; - pfParm3[2] = pfParm3[2] * fParm1; - pfParm3[4] = pfParm3[4] * fParm1; - pfParm3[5] = pfParm3[5] * fParm1; - pfParm3[6] = pfParm3[6] * fParm1; - pfParm3[8] = pfParm3[8] * fParm1; - pfParm3[9] = pfParm3[9] * fParm1; - pfParm3[10] = pfParm3[10] * fParm1; - return; -} - - - -void sub_7F058B80(float fParm1,undefined8 uParm2,int iParm3) - -{ - *(float *)(iParm3 + 8) = *(float *)(iParm3 + 8) * fParm1; - *(float *)(iParm3 + 0x18) = *(float *)(iParm3 + 0x18) * fParm1; - *(float *)(iParm3 + 0x28) = *(float *)(iParm3 + 0x28) * fParm1; - *(float *)(iParm3 + 0x38) = *(float *)(iParm3 + 0x38) * fParm1; - return; -} - - - -void sub_7F058BB8(float fParm1,undefined8 uParm2,float *pfParm3) - -{ - *pfParm3 = *pfParm3 * fParm1; - pfParm3[4] = pfParm3[4] * fParm1; - pfParm3[8] = pfParm3[8] * fParm1; - pfParm3[0xc] = pfParm3[0xc] * fParm1; - pfParm3[1] = pfParm3[1] * fParm1; - pfParm3[5] = pfParm3[5] * fParm1; - pfParm3[9] = pfParm3[9] * fParm1; - pfParm3[0xd] = pfParm3[0xd] * fParm1; - pfParm3[2] = pfParm3[2] * fParm1; - pfParm3[6] = pfParm3[6] * fParm1; - pfParm3[10] = pfParm3[10] * fParm1; - pfParm3[0xe] = pfParm3[0xe] * fParm1; - return; -} - - - -void FUN_7f0590f4(float fParm1) - -{ - DAT_8002d860 = fParm1 * 65536.00000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05910c(void) - -{ - _DAT_80064ce0 = DAT_8002d860; - DAT_8002d860 = 0x47800000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f059130(void) - -{ - DAT_8002d860 = _DAT_80064ce0; - return; -} - - - -void FUN_7f059144(int iParm1,uint *puParm2) - -{ - int iVar1; - uint uVar2; - int iVar3; - uint uVar4; - float *pfVar5; - uint uVar6; - uint uVar7; - - iVar1 = 0; - do { - pfVar5 = (float *)(iParm1 + iVar1 * 8); - uVar2 = iVar1 + 1; - iVar3 = iVar1 + 2; - uVar7 = (uint)(DAT_8002d860 * *pfVar5); - uVar4 = iVar1 + 3; - iVar1 += 4; - uVar6 = (uint)(DAT_8002d860 * pfVar5[1]); - *puParm2 = uVar7 & 0xffff0000 | uVar6 >> 0x10; - puParm2[8] = uVar7 << 0x10 | uVar6 & 0xffff; - pfVar5 = (float *)(iParm1 + uVar2 * 8); - uVar6 = (uint)(DAT_8002d860 * *pfVar5); - uVar2 = (uint)((float)(&DAT_8002d860)[uVar2 & 1] * pfVar5[1]); - puParm2[1] = uVar6 & 0xffff0000 | uVar2 >> 0x10; - puParm2[9] = uVar6 << 0x10 | uVar2 & 0xffff; - pfVar5 = (float *)(iParm1 + iVar3 * 8); - uVar6 = (uint)(DAT_8002d860 * *pfVar5); - uVar2 = (uint)(DAT_8002d860 * pfVar5[1]); - puParm2[2] = uVar6 & 0xffff0000 | uVar2 >> 0x10; - puParm2[10] = uVar6 << 0x10 | uVar2 & 0xffff; - pfVar5 = (float *)(iParm1 + uVar4 * 8); - uVar2 = (uint)(DAT_8002d860 * *pfVar5); - uVar4 = (uint)((float)(&DAT_8002d860)[uVar4 & 1] * pfVar5[1]); - puParm2[3] = uVar2 & 0xffff0000 | uVar4 >> 0x10; - puParm2[0xb] = uVar2 << 0x10 | uVar4 & 0xffff; - puParm2 = puParm2 + 4; - } while (iVar1 != 8); - return; -} - - - -void FUN_7f059320(uint *puParm1,int iParm2) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint uVar4; - int iVar5; - uint uVar6; - float *pfVar7; - float *pfVar8; - - iVar3 = 0; - do { - uVar1 = *puParm1; - uVar2 = puParm1[8]; - pfVar7 = (float *)(iParm2 + iVar3 * 8); - uVar4 = iVar3 + 1; - pfVar8 = (float *)(iParm2 + uVar4 * 8); - iVar5 = iVar3 + 2; - uVar6 = iVar3 + 3; - iVar3 += 4; - *pfVar7 = (float)(uVar1 & 0xffff0000 | uVar2 >> 0x10) / DAT_8002d860; - pfVar7[1] = (float)(uVar1 << 0x10 | uVar2 & 0xffff) / DAT_8002d860; - uVar1 = puParm1[9]; - uVar2 = puParm1[1]; - pfVar7 = (float *)(iParm2 + iVar5 * 8); - *pfVar8 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / DAT_8002d860; - pfVar8[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / (float)(&DAT_8002d860)[uVar4 & 1]; - uVar1 = puParm1[10]; - uVar2 = puParm1[2]; - pfVar8 = (float *)(iParm2 + uVar6 * 8); - *pfVar7 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / DAT_8002d860; - pfVar7[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / DAT_8002d860; - uVar1 = puParm1[0xb]; - uVar2 = puParm1[3]; - *pfVar8 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / DAT_8002d860; - pfVar8[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / (float)(&DAT_8002d860)[uVar6 & 1]; - puParm1 = puParm1 + 4; - } while (iVar3 != 8); - return; -} - - - -void loc_7F059344(uint *puParm1,int iParm2) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint *puVar4; - - iVar3 = 0; - do { - uVar1 = *puParm1; - uVar2 = puParm1[8]; - puVar4 = (uint *)(iParm2 + iVar3 * 8); - *puVar4 = uVar1 & 0xffff0000 | uVar2 >> 0x10; - puVar4[1] = uVar1 << 0x10 | uVar2 & 0xffff; - uVar1 = puParm1[9]; - uVar2 = puParm1[1]; - puVar4 = (uint *)(iParm2 + (iVar3 + 1) * 8); - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - uVar1 = puParm1[10]; - uVar2 = puParm1[2]; - puVar4 = (uint *)(iParm2 + (iVar3 + 2) * 8); - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - uVar1 = puParm1[0xb]; - uVar2 = puParm1[3]; - puVar4 = (uint *)(iParm2 + (iVar3 + 3) * 8); - iVar3 += 4; - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - puParm1 = puParm1 + 4; - } while (iVar3 != 8); - return; -} - - - -void FUN_7f0598cc(float *pfParm1,float fParm2,float fParm3,float fParm4,float fParm5,float fParm6, - float fParm7,float fParm8,float fParm9,float fParm10) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar1 = (float)sqrtf(fParm5 * fParm5 + fParm6 * fParm6 + fParm7 * fParm7); - fVar1 = -1.00000000 / fVar1; - fParm5 = fParm5 * fVar1; - fParm6 = fParm6 * fVar1; - fParm7 = fParm7 * fVar1; - fVar5 = fParm9 * fParm7 - fParm10 * fParm6; - fVar6 = fParm10 * fParm5 - fParm8 * fParm7; - fVar7 = fParm8 * fParm6 - fParm9 * fParm5; - fVar1 = (float)sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - fVar1 = 1.00000000 / fVar1; - fVar5 = fVar5 * fVar1; - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar2 = fParm6 * fVar7 - fParm7 * fVar6; - fVar3 = fParm7 * fVar5 - fParm5 * fVar7; - fVar4 = fParm5 * fVar6 - fParm6 * fVar5; - fVar1 = (float)sqrtf(fVar2 * fVar2 + fVar3 * fVar3 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - *pfParm1 = fVar5; - pfParm1[4] = fVar6; - pfParm1[8] = fVar7; - pfParm1[1] = fVar2 * fVar1; - pfParm1[5] = fVar3 * fVar1; - pfParm1[0xc] = -(fParm2 * fVar5 + fParm3 * fVar6 + fParm4 * fVar7); - pfParm1[9] = fVar4 * fVar1; - pfParm1[2] = fParm5; - pfParm1[6] = fParm6; - pfParm1[10] = fParm7; - pfParm1[0xd] = -(fParm2 * fVar2 * fVar1 + fParm3 * fVar3 * fVar1 + fParm4 * fVar4 * fVar1); - pfParm1[3] = 0.00000000; - pfParm1[7] = 0.00000000; - pfParm1[0xb] = 0.00000000; - pfParm1[0xf] = 1.00000000; - pfParm1[0xe] = -(fParm2 * fParm5 + fParm3 * fParm6 + fParm4 * fParm7); - return; -} - - - -void FUN_7f059b3c(undefined8 uParm1,float fParm2,float fParm3,float fParm4,float fParm5,float fParm6 - ,float fParm7,undefined4 uParm8,undefined4 uParm9,undefined4 uParm10) - -{ - FUN_7f0598cc(uParm1,fParm2,fParm3,fParm4,fParm5 - fParm2,fParm6 - fParm3,fParm7 - fParm4,uParm8, - uParm9,uParm10); - return; -} - - - -void FUN_7f059bb0(float *pfParm1,float fParm2,float fParm3,float fParm4,float fParm5,float fParm6, - float fParm7,float fParm8,float fParm9,float fParm10) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar1 = (float)sqrtf(fParm5 * fParm5 + fParm6 * fParm6 + fParm7 * fParm7); - fVar1 = -1.00000000 / fVar1; - fParm5 = fParm5 * fVar1; - fParm6 = fParm6 * fVar1; - fParm7 = fParm7 * fVar1; - fVar5 = fParm9 * fParm7 - fParm10 * fParm6; - fVar6 = fParm10 * fParm5 - fParm8 * fParm7; - fVar7 = fParm8 * fParm6 - fParm9 * fParm5; - fVar1 = (float)sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - fVar1 = 1.00000000 / fVar1; - fVar5 = fVar5 * fVar1; - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar2 = fParm6 * fVar7 - fParm7 * fVar6; - fVar3 = fParm7 * fVar5 - fParm5 * fVar7; - fVar4 = fParm5 * fVar6 - fParm6 * fVar5; - fVar1 = (float)sqrtf(fVar2 * fVar2 + fVar3 * fVar3 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - *pfParm1 = fVar5; - pfParm1[4] = fVar2 * fVar1; - pfParm1[8] = fParm5; - pfParm1[1] = fVar6; - pfParm1[5] = fVar3 * fVar1; - pfParm1[9] = fParm6; - pfParm1[0xc] = fParm2; - pfParm1[2] = fVar7; - pfParm1[0xd] = fParm3; - pfParm1[10] = fParm7; - pfParm1[6] = fVar4 * fVar1; - pfParm1[3] = 0.00000000; - pfParm1[7] = 0.00000000; - pfParm1[0xb] = 0.00000000; - pfParm1[0xf] = 1.00000000; - pfParm1[0xe] = fParm4; - return; -} - - - -void FUN_7f059db0(undefined8 uParm1,float fParm2,float fParm3,float fParm4,float fParm5,float fParm6 - ,float fParm7,undefined4 uParm8,undefined4 uParm9,undefined4 uParm10) - -{ - FUN_7f059bb0(uParm1,fParm2,fParm3,fParm4,fParm5 - fParm2,fParm6 - fParm3,fParm7 - fParm4,uParm8, - uParm9,uParm10); - return; -} - - - -uint locret_7F059A40(float fParm1,float fParm2) - -{ - float fVar1; - uint uVar2; - float fVar3; - uint uVar4; - - if (fParm1 + fParm2 <= 2.00000000) { - return 0xffff; - } - fVar3 = 131072.00000000 / (fParm1 + fParm2); - if (false) { - fVar1 = ROUND(fVar3); - } - else { - fVar1 = FLOOR(fVar3); - } - uVar4 = (uint)fVar1; - if (false) { - if (false) { - fVar3 = ROUND(fVar3 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(fVar3 - 2147483648.00000000); - } - if (true) { - uVar4 = (int)fVar3 | 0x80000000; - goto LAB_7f059ed4; - } - } - else { - if (-1 < (int)uVar4) goto LAB_7f059ed4; - } - uVar4 = 0xffffffff; -LAB_7f059ed4: - uVar2 = uVar4 & 0xffff; - if ((uVar4 & 0xffff) == 0) { - uVar2 = 1; - } - return uVar2; -} - - - -void loc_7F059CD4(float *pfParm1,undefined4 uParm2,float fParm3,float fParm4,float fParm5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fStackX8; - float fStackX12; - - fStackX8 = fParm3; - fStackX12 = fParm4; - guNormalize(&fStackX8,&fStackX12,&fParm5); - fVar1 = (float)func_7F057FC4(uParm2); - fVar2 = (float)func_7F057FC4(uParm2); - fVar3 = (float)sqrtf(fStackX8 * fStackX8 + fParm5 * fParm5); - if (fVar3 == 0.00000000) { - sub_GAME_7F05A9B8(pfParm1); - } - else { - fVar4 = 1.00000000 / fVar3; - *pfParm1 = (-(fParm5 * fVar2) - fStackX12 * fStackX8 * fVar1) * fVar4; - pfParm1[4] = fVar1 * fVar3; - pfParm1[0xc] = 0.00000000; - pfParm1[8] = (fStackX8 * fVar2 - fStackX12 * fParm5 * fVar1) * fVar4; - pfParm1[1] = (fParm5 * fVar1 - fStackX12 * fStackX8 * fVar2) * fVar4; - pfParm1[5] = fVar2 * fVar3; - pfParm1[0xd] = 0.00000000; - pfParm1[9] = (-(fStackX8 * fVar1) - fStackX12 * fParm5 * fVar2) * fVar4; - pfParm1[2] = -fStackX8; - pfParm1[6] = -fStackX12; - pfParm1[0xe] = 0.00000000; - pfParm1[3] = 0.00000000; - pfParm1[7] = 0.00000000; - pfParm1[10] = -fParm5; - pfParm1[0xb] = 0.00000000; - pfParm1[0xf] = 1.00000000; - } - return; -} - - - -void FUN_7f05a190(undefined8 uParm1,float fParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 param_5) - -{ - guAlign(uParm1,fParm2 * DAT_80049830,uParm3,uParm4,param_5); - return; -} - - - -void sub_7F059D38(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined4 uVar1; - - *puParm2 = *puParm1; - puParm2[1] = puParm1[4]; - puParm2[2] = puParm1[8]; - puParm2[4] = puParm1[1]; - puParm2[5] = puParm1[5]; - puParm2[6] = puParm1[9]; - puParm2[8] = puParm1[2]; - puParm2[9] = puParm1[6]; - uVar1 = puParm1[10]; - puParm2[0xc] = 0; - puParm2[0xd] = 0; - puParm2[0xe] = 0; - puParm2[3] = 0; - puParm2[7] = 0; - puParm2[0xb] = 0; - puParm2[0xf] = 0x3f800000; - puParm2[10] = uVar1; - return; -} - - - -void FUN_7f05a30c(float *pfParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = *pfParm1; - fVar1 = 1.00000000 / (pfParm1[8] * pfParm1[8] + fVar3 * fVar3 + pfParm1[4] * pfParm1[4]); - *pfParm2 = fVar3 * fVar1; - pfParm2[1] = pfParm1[4] * fVar1; - pfParm2[2] = pfParm1[8] * fVar1; - pfParm2[4] = pfParm1[1] * fVar1; - pfParm2[5] = pfParm1[5] * fVar1; - pfParm2[6] = pfParm1[9] * fVar1; - pfParm2[8] = pfParm1[2] * fVar1; - pfParm2[9] = pfParm1[6] * fVar1; - pfParm2[10] = pfParm1[10] * fVar1; - pfParm2[0xc] = -(pfParm1[0xe] * pfParm2[8] + *pfParm2 * pfParm1[0xc] + pfParm2[4] * pfParm1[0xd]); - pfParm2[0xd] = -(pfParm1[0xe] * pfParm2[9] + pfParm2[1] * pfParm1[0xc] + pfParm2[5] * pfParm1[0xd] - ); - fVar2 = pfParm1[0xc]; - fVar3 = pfParm1[0xd]; - fVar1 = pfParm1[0xe]; - pfParm2[0xf] = 1.00000000; - pfParm2[3] = 0.00000000; - pfParm2[7] = 0.00000000; - pfParm2[0xb] = 0.00000000; - pfParm2[0xe] = -(fVar1 * pfParm2[10] + pfParm2[2] * fVar2 + pfParm2[6] * fVar3); - return; -} - - - -void sub_7F059FB8(float *pfParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar3 = pfParm1[5]; - fVar4 = pfParm1[10]; - fVar5 = pfParm1[6]; - fVar2 = pfParm1[9]; - fVar1 = 1.00000000 / - ((((*pfParm1 * fVar3 * fVar4 + pfParm1[1] * fVar5 * pfParm1[8] + - pfParm1[2] * pfParm1[4] * fVar2) - pfParm1[2] * fVar3 * pfParm1[8]) - - pfParm1[1] * pfParm1[4] * fVar4) - *pfParm1 * fVar5 * fVar2); - *pfParm2 = (fVar3 * fVar4 - fVar2 * fVar5) * fVar1; - pfParm2[4] = (pfParm1[6] * pfParm1[8] - pfParm1[10] * pfParm1[4]) * fVar1; - pfParm2[8] = (pfParm1[4] * pfParm1[9] - pfParm1[8] * pfParm1[5]) * fVar1; - pfParm2[1] = (pfParm1[2] * pfParm1[9] - pfParm1[10] * pfParm1[1]) * fVar1; - pfParm2[5] = (*pfParm1 * pfParm1[10] - pfParm1[8] * pfParm1[2]) * fVar1; - pfParm2[9] = (pfParm1[1] * pfParm1[8] - pfParm1[9] * *pfParm1) * fVar1; - pfParm2[2] = (pfParm1[1] * pfParm1[6] - pfParm1[5] * pfParm1[2]) * fVar1; - pfParm2[6] = (pfParm1[2] * pfParm1[4] - pfParm1[6] * *pfParm1) * fVar1; - pfParm2[10] = (*pfParm1 * pfParm1[5] - pfParm1[4] * pfParm1[1]) * fVar1; - pfParm2[0xc] = -(pfParm2[8] * pfParm1[0xe] + pfParm1[0xc] * *pfParm2 + pfParm1[0xd] * pfParm2[4]); - pfParm2[0xd] = -(pfParm2[9] * pfParm1[0xe] + pfParm1[0xc] * pfParm2[1] + pfParm1[0xd] * pfParm2[5] - ); - fVar3 = pfParm1[0xc]; - fVar2 = pfParm1[0xd]; - fVar1 = pfParm1[0xe]; - pfParm2[0xf] = 1.00000000; - pfParm2[3] = 0.00000000; - pfParm2[7] = 0.00000000; - pfParm2[0xb] = 0.00000000; - pfParm2[0xe] = -(pfParm2[10] * fVar1 + fVar3 * pfParm2[2] + fVar2 * pfParm2[6]); - return; -} - - - -void FUN_7f05a6f8(undefined4 uParm1,float *pfParm2) - -{ - float *pfVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - - sub_7F05A310(); - fVar3 = (float)sub_7F05A774(uParm1); - fVar3 = 1.00000000 / fVar3; - iVar2 = 1; - fVar8 = pfParm2[1]; - fVar9 = *pfParm2 * fVar3; - fVar7 = pfParm2[2]; - fVar10 = pfParm2[3]; - pfVar1 = pfParm2; - if (true) { - do { - fVar6 = fVar8 * fVar3; - fVar8 = pfVar1[5]; - fVar5 = fVar7 * fVar3; - fVar7 = pfVar1[6]; - iVar2 += 1; - fVar4 = fVar10 * fVar3; - fVar10 = pfVar1[7]; - *pfVar1 = fVar9; - fVar9 = pfVar1[4] * fVar3; - pfVar1[1] = fVar6; - pfVar1[2] = fVar5; - pfParm2 = pfVar1 + 4; - pfVar1[3] = fVar4; - pfVar1 = pfParm2; - } while (iVar2 != 4); - } - *pfParm2 = fVar9; - pfParm2[1] = fVar8 * fVar3; - pfParm2[2] = fVar7 * fVar3; - pfParm2[3] = fVar10 * fVar3; - return; -} - - - -void sub_7F05A310(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined4 uVar1; - float fVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - - uVar8 = puParm1[1]; - uVar7 = *puParm1; - uVar3 = puParm1[4]; - uVar4 = puParm1[8]; - uVar5 = puParm1[5]; - uVar6 = puParm1[9]; - uVar1 = sub_7F05A928(puParm1,puParm2,puParm1[0xd],puParm1[6],puParm1[10],puParm1[0xe],puParm1[7], - puParm1[0xb],puParm1[0xf]); - *puParm2 = uVar1; - fVar2 = (float)sub_7F05A928(uVar3,uVar4); - *(float *)(puParm2 + 4) = -fVar2; - uVar1 = sub_7F05A928(uVar3,uVar4); - puParm2[8] = uVar1; - fVar2 = (float)sub_7F05A928(uVar3,uVar4); - *(float *)(puParm2 + 0xc) = -fVar2; - fVar2 = (float)sub_7F05A928(uVar8,uVar6); - *(float *)(puParm2 + 1) = -fVar2; - uVar1 = sub_7F05A928(uVar7,uVar4); - puParm2[5] = uVar1; - fVar2 = (float)sub_7F05A928(uVar7,uVar4); - *(float *)(puParm2 + 9) = -fVar2; - uVar1 = sub_7F05A928(uVar7,uVar4); - puParm2[0xd] = uVar1; - uVar1 = sub_7F05A928(uVar8,uVar5); - puParm2[2] = uVar1; - fVar2 = (float)sub_7F05A928(uVar7,uVar3); - *(float *)(puParm2 + 6) = -fVar2; - uVar1 = sub_7F05A928(uVar7,uVar3); - puParm2[10] = uVar1; - fVar2 = (float)sub_7F05A928(uVar7,uVar3); - *(float *)(puParm2 + 0xe) = -fVar2; - fVar2 = (float)sub_7F05A928(uVar8,uVar5); - *(float *)(puParm2 + 3) = -fVar2; - uVar1 = sub_7F05A928(uVar7,uVar3); - puParm2[7] = uVar1; - fVar2 = (float)sub_7F05A928(uVar7,uVar3); - *(float *)(puParm2 + 0xb) = -fVar2; - uVar1 = sub_7F05A928(uVar7,uVar3); - puParm2[0xf] = uVar1; - return; -} - - - -float sub_7F05A774(float *pfParm1,undefined8 uParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - - fVar4 = *pfParm1; - fVar5 = pfParm1[1]; - fVar6 = pfParm1[2]; - fVar7 = pfParm1[3]; - fVar1 = pfParm1[5]; - fVar8 = pfParm1[4]; - fVar10 = pfParm1[9]; - fVar9 = pfParm1[8]; - fVar2 = (float)sub_7F05A928(pfParm1,uParm2,pfParm1[0xc],fVar1,fVar10,pfParm1[0xd],pfParm1[7], - pfParm1[0xb],pfParm1[0xf]); - fVar3 = (float)sub_7F05A928(fVar8,fVar9); - fVar1 = (float)sub_7F05A928(fVar1,fVar10); - fVar8 = (float)sub_7F05A928(fVar8,fVar9); - return ((fVar4 * fVar1 - fVar5 * fVar3) + fVar6 * fVar2) - fVar8 * fVar7; -} - - - -float sub_7F05A928(float fParm1,undefined4 uParm2,undefined8 uParm3,undefined8 uParm4, - undefined4 uParm5,float fParm6,undefined4 uParm7,undefined4 uParm8,float fParm9, - undefined4 uParm10,undefined4 uParm11) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - float fVar1; - float fVar2; - float fVar3; - - fVar1 = (float)sub_7F05A9B8(uParm2,uParm5,uParm3,uParm4,uParm10,uParm11); - fVar2 = (float)sub_7F05A9B8(uParm7,uParm8,extraout_a0,extraout_a1,uParm10,uParm11); - fVar3 = (float)sub_7F05A9B8(uParm2,uParm5,extraout_a0_00,extraout_a1_00,uParm7,uParm8); - return fVar3 * fParm9 + (fParm1 * fVar2 - fParm6 * fVar1); -} - - - -float sub_7F05A9B8(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6) - -{ - return fParm1 * fParm6 - fParm2 * fParm5; -} - - - -void sub_GAME_7F05A9E0(undefined4 uParm1) - -{ - float fVar1; - float fVar2; - - fVar1 = (float)func_7F057FC4(uParm1); - fVar2 = (float)func_7F057FC4(uParm1); - sqrtf(fVar1 / fVar2 + 1.00000000); - return; -} - - - -float convert_angle_using_inverse(float fParm1,float fParm2) - -{ - float fVar1; - - if (fParm1 == 0.00000000) { - fVar1 = DAT_80049840; - if (0.00000000 <= fParm2) { - fVar1 = 0.00000000; - } - } - else { - if (fParm2 == 0.00000000) { - fVar1 = DAT_80049844; - if (fParm1 <= 0.00000000) { - fVar1 = DAT_80049848; - } - } - else { - fVar1 = (float)sqrtf(fParm1 * fParm1 + fParm2 * fParm2); - if (fParm2 < fParm1) { - fVar1 = (float)sub_GAME_7F05AD5C(fParm2 / fVar1); - if (fParm1 < 0.00000000) { - fVar1 = DAT_8004984c - fVar1; - } - } - else { - fVar1 = (float)sub_GAME_7F05AD5C(fParm1 / fVar1); - fVar1 = DAT_80049850 - fVar1; - if (fParm2 < 0.00000000) { - fVar1 = DAT_80049854 - fVar1; - } - if (fVar1 < 0.00000000) { - fVar1 = fVar1 + DAT_80049858; - } - } - } - } - return fVar1; -} - - - -int sub_GAME_7F05AC44(uint uParm1) - -{ - uint uVar1; - int iVar2; - undefined *puVar3; - uint uVar4; - - uVar1 = 7; - if ((int)uParm1 < 0x7fe0) { - uVar1 = 0x1ff; - if ((int)uParm1 < 0x7800) { - iVar2 = 9; - puVar3 = &DAT_8002d870; - } - else { - uVar1 = 0x1f; - iVar2 = 5; - puVar3 = &DAT_8002d8ec; - uParm1 -= 0x7800; - } - } - else { - iVar2 = 3; - puVar3 = &DAT_8002d96c; - uParm1 -= 0x7fe0; - } - uVar4 = (uint)*(ushort *)(puVar3 + ((int)uParm1 >> iVar2) * 2); - return uVar4 - ((int)((uVar4 - (uint)*(ushort *)(puVar3 + ((int)uParm1 >> iVar2) * 2 + 1)) * - (uParm1 & uVar1)) >> iVar2); -} - - - -uint FUN_7f05b0a0(short sParm1) - -{ - uint uVar1; - int iVar2; - - iVar2 = (int)sParm1; - if (iVar2 < 0) { - iVar2 = -iVar2; - } - uVar1 = sub_GAME_7F05AC44(iVar2); - if (sParm1 < 0) { - uVar1 = 0xffff - uVar1; - } - return uVar1 & 0xffff; -} - - - -float sub_GAME_7F05AD5C(float fParm1) - -{ - longlong lVar1; - undefined2 uVar2; - float fVar3; - - if (1.00000000 <= fParm1) { - uVar2 = 0x7fff; - } - else { - if (fParm1 <= -1.00000000) { - uVar2 = 0x8001; - } - else { - uVar2 = (undefined2)(int)(fParm1 * DAT_80049860); - } - } - lVar1 = FUN_7f05b0a0(uVar2); - fVar3 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - return (fVar3 * DAT_80049864) / DAT_80049868; -} - - - -void sub_GAME_7F05B154(float *pfParm1,float *pfParm2,float fParm3,float *pfParm4) - -{ - *pfParm4 = (*pfParm2 - *pfParm1) * fParm3 + *pfParm1; - pfParm4[1] = (pfParm2[1] - pfParm1[1]) * fParm3 + pfParm1[1]; - pfParm4[2] = (pfParm2[2] - pfParm1[2]) * fParm3 + pfParm1[2]; - return; -} - - - -void sub_7F05AEFC(float *pfParm1,float *pfParm2,float *pfParm3,float *pfParm4,float fParm5, - float *pfParm6) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar1 = fParm5 * fParm5; - fVar2 = fVar1 * fParm5; - fVar3 = (fVar2 - fVar1) * 0.50000000; - fVar4 = fVar1 - (fParm5 + fVar2) * 0.50000000; - fVar5 = (fVar2 * 1.50000000 - fVar1 * 2.50000000) + 1.00000000; - fVar1 = fVar2 * -1.50000000 + fVar1 + fVar1 + fParm5 * 0.50000000; - *pfParm6 = *pfParm4 * fVar3 + fVar4 * *pfParm1 + fVar5 * *pfParm2 + fVar1 * *pfParm3; - pfParm6[1] = pfParm4[1] * fVar3 + fVar4 * pfParm1[1] + fVar5 * pfParm2[1] + fVar1 * pfParm3[1]; - pfParm6[2] = pfParm4[2] * fVar3 + fVar4 * pfParm1[2] + fVar5 * pfParm2[2] + fVar1 * pfParm3[2]; - return; -} - - - -void sub_7F05B024(float *pfParm1,float *pfParm2,float *pfParm3,float *pfParm4,float fParm5, - float fParm6,float *pfParm7) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar1 = fParm5 * fParm5; - fVar2 = fVar1 * fParm5; - fVar3 = (fVar2 - fVar1) * fParm6; - fVar4 = ((fVar1 + fVar1) - (fParm5 + fVar2)) * fParm6; - fVar5 = (2.00000000 - fParm6) * fVar2 + fVar1 * (fParm6 - 3.00000000) + 1.00000000; - fVar1 = (fParm6 - 2.00000000) * fVar2 + fVar1 * (3.00000000 - (fParm6 + fParm6)) + fParm5 * fParm6 - ; - *pfParm7 = *pfParm4 * fVar3 + fVar4 * *pfParm1 + fVar5 * *pfParm2 + fVar1 * *pfParm3; - pfParm7[1] = pfParm4[1] * fVar3 + fVar4 * pfParm1[1] + fVar5 * pfParm2[1] + fVar1 * pfParm3[1]; - pfParm7[2] = pfParm4[2] * fVar3 + fVar4 * pfParm1[2] + fVar5 * pfParm2[2] + fVar1 * pfParm3[2]; - return; -} - - - -void loc_7F05B344(ushort *puParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar1 = DAT_80049880; - fVar2 = (float)(uint)*puParm1; - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - fVar2 = (float)func_7F057FC4(fVar2 * DAT_80049880 * 0.50000000); - fVar5 = (float)(uint)*puParm1; - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = (float)func_7F057FC4(fVar5 * fVar1 * 0.50000000); - fVar3 = (float)(uint)puParm1[1]; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar3 = (float)func_7F057FC4(fVar3 * fVar1 * 0.50000000); - fVar6 = (float)(uint)puParm1[1]; - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar6 = (float)func_7F057FC4(fVar6 * fVar1 * 0.50000000); - fVar4 = (float)(uint)puParm1[2]; - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = (float)func_7F057FC4(fVar4 * fVar1 * 0.50000000); - fVar7 = (float)(uint)puParm1[2]; - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar1 = (float)func_7F057FC4(fVar7 * fVar1 * 0.50000000); - *pfParm2 = fVar2 * fVar3 * fVar4 + fVar5 * fVar6 * fVar1; - pfParm2[1] = fVar5 * fVar3 * fVar4 - fVar2 * fVar6 * fVar1; - pfParm2[2] = fVar2 * fVar6 * fVar4 + fVar5 * fVar3 * fVar1; - pfParm2[3] = fVar2 * fVar3 * fVar1 - fVar5 * fVar6 * fVar4; - return; -} - - - -void sub_7F05B3F4(float *pfParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar1 = (float)func_7F057FC4(*pfParm1 * 0.50000000); - fVar2 = (float)func_7F057FC4(*pfParm1 * 0.50000000); - fVar3 = (float)func_7F057FC4(pfParm1[1] * 0.50000000); - fVar4 = (float)func_7F057FC4(pfParm1[1] * 0.50000000); - fVar5 = (float)func_7F057FC4(pfParm1[2] * 0.50000000); - fVar6 = (float)func_7F057FC4(pfParm1[2] * 0.50000000); - *pfParm2 = fVar1 * fVar3 * fVar5 + fVar2 * fVar4 * fVar6; - pfParm2[1] = fVar2 * fVar3 * fVar5 - fVar1 * fVar4 * fVar6; - pfParm2[2] = fVar1 * fVar4 * fVar5 + fVar2 * fVar3 * fVar6; - pfParm2[3] = fVar1 * fVar3 * fVar6 - fVar2 * fVar4 * fVar5; - return; -} - - - -void sub_7F05B628(float *pfParm1,float *pfParm2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - fVar8 = *pfParm1; - fVar1 = pfParm1[1]; - fVar2 = pfParm1[2]; - fVar5 = pfParm1[3]; - fVar4 = 2.00000000 / (fVar5 * fVar5 + fVar8 * fVar8 + fVar1 * fVar1 + fVar2 * fVar2); - fVar7 = fVar2 * fVar4; - fVar6 = fVar5 * fVar4; - fVar3 = fVar8 * fVar1 * fVar4; - fVar4 = fVar1 * fVar1 * fVar4; - *pfParm2 = 1.00000000 - (fVar2 * fVar7 + fVar5 * fVar6); - pfParm2[1] = fVar1 * fVar7 + fVar8 * fVar6; - pfParm2[2] = fVar1 * fVar6 - fVar8 * fVar7; - pfParm2[4] = fVar1 * fVar7 - fVar8 * fVar6; - pfParm2[6] = fVar2 * fVar6 + fVar3; - pfParm2[5] = 1.00000000 - (fVar4 + fVar5 * fVar6); - pfParm2[9] = fVar2 * fVar6 - fVar3; - pfParm2[8] = fVar1 * fVar6 + fVar8 * fVar7; - pfParm2[0xc] = 0.00000000; - pfParm2[0xd] = 0.00000000; - pfParm2[0xe] = 0.00000000; - pfParm2[3] = 0.00000000; - pfParm2[7] = 0.00000000; - pfParm2[0xb] = 0.00000000; - pfParm2[0xf] = 1.00000000; - pfParm2[10] = 1.00000000 - (fVar4 + fVar2 * fVar7); - return; -} - - - -void loc_7F05B9A0(float *pfParm1,float *pfParm2) - -{ - int iVar1; - int iVar2; - float *pfVar3; - uint uVar4; - float *pfVar5; - int *piVar6; - int iVar7; - float fVar8; - float fVar9; - int aiStack32 [8]; - - if (0.00000000 < pfParm1[10] + *pfParm1 + pfParm1[5] + 1.00000000) { - fVar8 = (float)sqrtf(); - fVar9 = 0.50000000 / fVar8; - *pfParm2 = fVar8 * 0.50000000; - pfParm2[1] = (pfParm1[6] - pfParm1[9]) * fVar9; - pfParm2[2] = (pfParm1[8] - pfParm1[2]) * fVar9; - pfParm2[3] = (pfParm1[1] - pfParm1[4]) * fVar9; - } - else { - aiStack32[0] = DAT_8002d980; - aiStack32[1] = DAT_8002d984; - aiStack32[2] = DAT_8002d988; - if (*pfParm1 < pfParm1[5]) { - iVar7 = 0x10; - } - else { - iVar7 = 0; - } - pfVar3 = (float *)((int)pfParm1 + iVar7); - uVar4 = (uint)(*pfParm1 < pfParm1[5]); - iVar7 = uVar4 * 4; - fVar8 = pfVar3[uVar4]; - if (fVar8 < pfParm1[10]) { - pfVar3 = pfParm1 + 8; - fVar8 = pfParm1[10]; - iVar7 = 8; - piVar6 = aiStack32 + 2; - } - else { - piVar6 = aiStack32 + uVar4; - } - iVar1 = *piVar6; - iVar2 = aiStack32[iVar1]; - pfVar5 = pfParm1 + iVar1 * 4; - pfParm1 = pfParm1 + iVar2 * 4; - fVar8 = (float)sqrtf(((fVar8 - pfVar5[iVar1]) - pfParm1[iVar2]) + 1.00000000); - fVar9 = 0.50000000 / fVar8; - *(float *)((int)pfParm2 + iVar7 + 4) = fVar8 * 0.50000000; - *pfParm2 = (pfVar5[iVar2] - pfParm1[iVar1]) * fVar9; - pfParm2[iVar1 + 1] = (*(float *)((int)pfVar5 + iVar7) + pfVar3[iVar1]) * fVar9; - pfParm2[iVar2 + 1] = (*(float *)((int)pfParm1 + iVar7) + pfVar3[iVar2]) * fVar9; - } - return; -} - - - -void FUN_7f05be64(undefined4 *puParm1,undefined8 uParm2,int iParm3) - -{ - sub_7F05B628(uParm2,iParm3); - *(undefined4 *)(iParm3 + 0x30) = *puParm1; - *(undefined4 *)(iParm3 + 0x34) = puParm1[1]; - *(undefined4 *)(iParm3 + 0x38) = puParm1[2]; - return; -} - - - -void loc_7F05BC58(float *pfParm1,float *pfParm2,float fParm3,float *pfParm4) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = *pfParm2; - fVar1 = *pfParm1; - fVar2 = pfParm2[3] * pfParm1[3] + - fVar1 * fVar3 + pfParm1[1] * pfParm2[1] + pfParm1[2] * pfParm2[2]; - if (fVar2 < DAT_80049884) { - fVar2 = 1.00000000 - fParm3; - *pfParm4 = fVar2 * fVar1 - fVar3 * fParm3; - pfParm4[1] = fVar2 * pfParm1[1] - pfParm2[1] * fParm3; - pfParm4[2] = fVar2 * pfParm1[2] - pfParm2[2] * fParm3; - pfParm4[3] = fVar2 * pfParm1[3] - pfParm2[3] * fParm3; - } - else { - if (fVar2 <= DAT_80049888) { - fVar1 = (float)sub_GAME_7F05AD5C(); - fVar2 = (float)func_7F057FC4(fVar1); - fVar3 = (float)func_7F057FC4((1.00000000 - fParm3) * fVar1); - fVar3 = fVar3 / fVar2; - fVar1 = (float)func_7F057FC4(fParm3 * fVar1); - fVar1 = fVar1 / fVar2; - *pfParm4 = *pfParm2 * fVar1 + fVar3 * *pfParm1; - pfParm4[1] = pfParm2[1] * fVar1 + fVar3 * pfParm1[1]; - pfParm4[2] = pfParm2[2] * fVar1 + fVar3 * pfParm1[2]; - pfParm4[3] = pfParm2[3] * fVar1 + fVar3 * pfParm1[3]; - } - else { - fVar2 = 1.00000000 - fParm3; - *pfParm4 = fVar3 * fParm3 + fVar2 * fVar1; - pfParm4[1] = pfParm2[1] * fParm3 + fVar2 * pfParm1[1]; - pfParm4[2] = pfParm2[2] * fParm3 + fVar2 * pfParm1[2]; - pfParm4[3] = pfParm2[3] * fParm3 + fVar2 * pfParm1[3]; - } - } - return; -} - - - -void loc_7F05BE00(float *pfParm1,float fParm2,float *pfParm3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar1 = *pfParm1; - fVar4 = 1.00000000; - fVar3 = fVar1; - if (fVar1 < 0.00000000) { - fVar4 = -1.00000000; - fVar3 = -fVar1; - } - if (fVar3 < DAT_8004988c) { - *pfParm3 = fVar1 * fParm2 - (1.00000000 - fParm2) * fVar4; - pfParm3[1] = pfParm1[1] * fParm2; - pfParm3[2] = pfParm1[2] * fParm2; - pfParm3[3] = pfParm1[3] * fParm2; - } - else { - if (fVar3 <= DAT_80049890) { - fVar3 = (float)sub_GAME_7F05AD5C(); - fVar1 = (float)func_7F057FC4(fVar3); - fVar2 = (float)func_7F057FC4(fParm2 * fVar3); - fVar2 = fVar2 / fVar1; - fVar3 = (float)func_7F057FC4((1.00000000 - fParm2) * fVar3); - *pfParm3 = *pfParm1 * fVar2 + (fVar3 / fVar1) * fVar4; - pfParm3[1] = pfParm1[1] * fVar2; - pfParm3[2] = pfParm1[2] * fVar2; - pfParm3[3] = pfParm1[3] * fVar2; - } - else { - *pfParm3 = fVar1 * fParm2 + (1.00000000 - fParm2) * fVar4; - pfParm3[1] = pfParm1[1] * fParm2; - pfParm3[2] = pfParm1[2] * fParm2; - pfParm3[3] = pfParm1[3] * fParm2; - } - } - return; -} - - - -void locret_7F05BE80(float *pfParm1,float *pfParm2) - -{ - if (pfParm2[3] * pfParm1[3] + - *pfParm1 * *pfParm2 + pfParm1[1] * pfParm2[1] + pfParm1[2] * pfParm2[2] < 0.00000000) { - *pfParm2 = -*pfParm2; - pfParm2[1] = -pfParm2[1]; - pfParm2[2] = -pfParm2[2]; - pfParm2[3] = -pfParm2[3]; - } - return; -} - - - -void sub_7F05BE88(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - *pfParm3 = ((*pfParm1 * *pfParm2 - pfParm1[1] * pfParm2[1]) - pfParm1[2] * pfParm2[2]) - - pfParm2[3] * pfParm1[3]; - pfParm3[1] = (*pfParm1 * pfParm2[1] + *pfParm2 * pfParm1[1] + pfParm1[2] * pfParm2[3]) - - pfParm2[2] * pfParm1[3]; - pfParm3[2] = (*pfParm1 * pfParm2[2] + *pfParm2 * pfParm1[2] + pfParm1[3] * pfParm2[1]) - - pfParm2[3] * pfParm1[1]; - pfParm3[3] = (*pfParm1 * pfParm2[3] + *pfParm2 * pfParm1[3] + pfParm1[1] * pfParm2[2]) - - pfParm2[1] * pfParm1[2]; - return; -} - - - -void FUN_7f05c43c(undefined8 uParm1,undefined4 *puParm2) - -{ - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - sub_7F05BE88(uParm1,puParm2,&uStack16); - *puParm2 = uStack16; - puParm2[1] = uStack12; - puParm2[2] = uStack8; - puParm2[3] = uStack4; - return; -} - - - -void FUN_7f05c484(undefined4 *puParm1,undefined4 *puParm2) - -{ - float fVar1; - float fVar2; - - fVar2 = (float)sub_GAME_7F05AD5C(*puParm1); - fVar1 = (float)func_7F057FC4(fVar2); - if (fVar1 == 0.00000000) { - *puParm2 = 0; - puParm2[1] = 0; - puParm2[2] = 0; - puParm2[3] = 0; - } - else { - *puParm2 = 0; - fVar2 = fVar2 / fVar1; - *(float *)(puParm2 + 1) = (float)puParm1[1] * fVar2; - *(float *)(puParm2 + 2) = (float)puParm1[2] * fVar2; - *(float *)(puParm2 + 3) = (float)puParm1[3] * fVar2; - } - return; -} - - - -void loc_7F05C128(int iParm1,undefined4 *puParm2) - -{ - float fVar1; - undefined4 uVar2; - float fVar3; - - fVar1 = (float)sqrtf(*(float *)(iParm1 + 0xc) * *(float *)(iParm1 + 0xc) + - *(float *)(iParm1 + 4) * *(float *)(iParm1 + 4) + - *(float *)(iParm1 + 8) * *(float *)(iParm1 + 8)); - if (fVar1 == 0.00000000) { - puParm2[1] = 0; - puParm2[2] = 0; - puParm2[3] = 0; - *puParm2 = 0x3f800000; - } - else { - fVar3 = (float)func_7F057FC4(); - fVar3 = fVar3 / fVar1; - uVar2 = func_7F057FC4(); - *puParm2 = uVar2; - *(float *)(puParm2 + 1) = *(float *)(iParm1 + 4) * fVar3; - *(float *)(puParm2 + 2) = *(float *)(iParm1 + 8) * fVar3; - *(float *)(puParm2 + 3) = *(float *)(iParm1 + 0xc) * fVar3; - } - return; -} - - - -void sub_7F05C138(undefined8 uParm1,undefined4 *puParm2,undefined4 uParm3,undefined4 uParm4) - -{ - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - undefined auStack48 [16]; - undefined auStack32 [16]; - undefined4 uStack16; - float fStack12; - float fStack8; - float fStack4; - - uStack16 = *puParm2; - fStack12 = -(float)puParm2[1]; - fStack8 = -(float)puParm2[2]; - fStack4 = -(float)puParm2[3]; - sub_7F05BE88(&uStack16,uParm1,auStack32); - sub_7F05BE88(&uStack16,uParm3,auStack48); - FUN_7f05c484(auStack32,&fStack64); - FUN_7f05c484(auStack48,&fStack80); - fStack64 = -(fStack80 + fStack64) * 0.25000000; - fStack60 = -(fStack76 + fStack60) * 0.25000000; - fStack56 = -(fStack72 + fStack56) * 0.25000000; - fStack52 = -(fStack68 + fStack52) * 0.25000000; - loc_7F05C128(&fStack64,auStack32); - sub_7F05BE88(puParm2,auStack32,uParm4); - return; -} - - - -void FUN_7f05c700(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined8 uParm4, - float fParm5,undefined4 uParm6) - -{ - undefined auStack32 [16]; - undefined auStack16 [16]; - - locret_7F05BE80(uParm1,uParm4); - loc_7F05BC58((int)uParm1,(int)uParm4,fParm5,auStack16); - locret_7F05BE80(uParm2,uParm3); - loc_7F05BC58(uParm2,uParm3,fParm5,auStack32); - locret_7F05BE80(auStack16,auStack32); - loc_7F05BC58(auStack16,auStack32,(fParm5 + fParm5) * (1.00000000 - fParm5),uParm6); - return; -} - - - -void FUN_7f05c7a0(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6) - -{ - undefined auStack32 [16]; - undefined auStack16 [16]; - - sub_7F05C138(); - sub_7F05C138(uParm2,uParm3,uParm4,auStack32); - FUN_7f05c700(uParm2,auStack16,auStack32,uParm3,uParm5,uParm6); - return; -} - - - -float sub_GAME_7F05C3D8(float fParm1) - -{ - float fVar1; - - if (0.00000000 <= fParm1) { - return (float)(int)fParm1; - } - fVar1 = (float)(int)fParm1; - if (fParm1 != fVar1) { - return fVar1 - 1.00000000; - } - return fVar1; -} - - - -int locret_7F05C430(float fParm1) - -{ - int iVar1; - - if (0.00000000 <= fParm1) { - return (int)fParm1; - } - iVar1 = (int)fParm1; - if (fParm1 != (float)iVar1) { - return iVar1 + -1; - } - return iVar1; -} - - - -float sub_GAME_7F05C4B8(float fParm1) - -{ - float fVar1; - - if (fParm1 <= 0.00000000) { - return (float)(int)fParm1; - } - fVar1 = (float)(int)fParm1; - if (fParm1 != fVar1) { - return fVar1 + 1.00000000; - } - return fVar1; -} - - - -int locret_7F05C510(float fParm1) - -{ - int iVar1; - - if (fParm1 <= 0.00000000) { - return (int)fParm1; - } - iVar1 = (int)fParm1; - if (fParm1 != (float)iVar1) { - return iVar1 + 1; - } - return iVar1; -} - - - -void FUN_7f05ca44(undefined4 uParm1) - -{ - undefined auStack64 [64]; - - FUN_7f058bbc(DAT_800301f0 * 0x24 + -0x7ffcf19c,auStack64); - FUN_7f058510(uParm1,auStack64); - loc_7F058918(auStack64,DAT_800301f0 * 0x24 + -0x7ffcf19c); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05cac4(void) - -{ - if (DAT_800301ec != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x924) = 1; - FUN_7f058bbc(DAT_800301f0 * 0x24 + -0x7ffcf19c,_DAT_80068bc0 + 0x8e4); - copies_first_3_floats_from_a0_to_a1_plus_0x30 - (DAT_800301f0 * 0x24 + -0x7ffcf1a8,_DAT_80068bc0 + 0x8e4); - DAT_800301ec = 0; - } - return; -} - - - -undefined8 loc_7F05C8A0(int iParm1,float fParm2,undefined4 uParm3,int iParm4) - -{ - uint uVar1; - int iVar3; - undefined8 uVar2; - int iVar4; - float fVar5; - undefined auStack104 [16]; - undefined auStack88 [16]; - undefined auStack72 [16]; - undefined auStack56 [16]; - float fStack40; - float fStack36; - float afStack24 [3]; - undefined4 uStack12; - float fStack8; - - iVar3 = 1; - if (*(float *)(iParm1 + 0x44) <= fParm2) { - fVar5 = *(float *)(iParm1 + 0x44); - uVar1 = *(uint *)(iParm1 + 0x90); - iVar4 = iParm1 + 0x24; - while( true ) { - fParm2 = fParm2 - fVar5; - iVar3 += 1; - if (((uVar1 & 1) != 0) || (fVar5 = *(float *)(iVar4 + 0x44), fParm2 < fVar5)) break; - uVar1 = *(uint *)(iVar4 + 0x90); - iVar4 = iVar4 + 0x24; - } - iVar4 = iVar3 * 8; - } - else { - iVar4 = 8; - } - iParm1 += (iVar4 + iVar3) * 4; - if ((*(uint *)(iParm1 + 0x48) & 1) == 0) { - fStack8 = fParm2 / *(float *)(iParm1 + 0x20); - uStack12 = *(undefined4 *)(iParm1 + 0x1c); - sub_7F05B3F4(iParm1 + -0x14,auStack56); - sub_7F05B3F4(iParm1 + 0x10,auStack72); - sub_7F05B3F4(iParm1 + 0x34,auStack88); - sub_7F05B3F4(iParm1 + 0x58,auStack104); - locret_7F05BE80(auStack72,auStack88); - locret_7F05BE80(auStack88,auStack104); - locret_7F05BE80(auStack72,auStack56); - FUN_7f05c7a0(auStack56,auStack72,auStack88,auStack104,fStack8,&fStack40); - sub_7F05B024(iParm1 + -0x20,iParm1 + 4,iParm1 + 0x28,iParm1 + 0x4c,fStack8,uStack12,afStack24); - if (iParm4 == 1) { - afStack24[0] = -afStack24[0]; - fStack40 = -fStack40; - fStack36 = -fStack36; - } - sub_7F05B628(&fStack40,uParm3); - copies_first_3_floats_from_a0_to_a1_plus_0x30(afStack24,uParm3); - uVar2 = 1; - } - else { - FUN_7f058bbc(iParm1 + 0x10,uParm3); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iParm1 + 4,uParm3); - uVar2 = 0; - } - return uVar2; -} - - - -undefined * FUN_7f05cd64(int iParm1) - -{ - if (*(int *)(&DAT_8002ee7c + iParm1 * 0x38) == 0) { - return (undefined *)*(undefined4 *)(&DAT_8002ee80 + iParm1 * 0x38); - } - return &DAT_8002d9e4; -} - - - -void FUN_7f05cda0(undefined4 *puParm1) - -{ - undefined8 uVar1; - int iVar2; - - uVar1 = FUN_7f05de88(0); - iVar2 = FUN_7f05cd64(uVar1); - *puParm1 = *(undefined4 *)(iVar2 + 4); - puParm1[1] = *(undefined4 *)(iVar2 + 8); - puParm1[2] = *(undefined4 *)(iVar2 + 0xc); - return; -} - - - -void FUN_7f05cde8(undefined4 *puParm1) - -{ - undefined8 uVar1; - int iVar2; - - uVar1 = FUN_7f05de88(0); - iVar2 = FUN_7f05cd64(uVar1); - *(undefined4 *)(iVar2 + 4) = *puParm1; - *(undefined4 *)(iVar2 + 8) = puParm1[1]; - *(undefined4 *)(iVar2 + 0xc) = puParm1[2]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F05CE80(int iParm1) - -{ - undefined8 uVar1; - int iVar3; - longlong lVar2; - int iVar4; - uint uVar5; - uint *puVar6; - int iVar7; - uint uVar8; - float fVar9; - float fVar10; - uint auStack16 [4]; - - uVar1 = FUN_7f05de88(); - iVar3 = FUN_7f05cd64(uVar1); - iVar7 = iParm1 * 0x3a8; - iVar4 = _DAT_80068bc0 + iVar7; - uVar8 = *(int *)(iVar4 + 0xa00) + 2; - fVar10 = *(float *)(iVar3 + 0x40); - puVar6 = auStack16 + iParm1 + 2; - uVar5 = uVar8 & 3; - if (((int)uVar8 < 0) && (uVar5 != 0)) { - uVar5 -= 4; - } - *puVar6 = uVar5; - uVar5 = *(int *)(iVar4 + 0xa00) + 1; - uVar8 = uVar5 & 3; - if (((int)uVar5 < 0) && (uVar8 != 0)) { - uVar8 -= 4; - } - auStack16[iParm1] = uVar8; - *(uint *)(iVar4 + 0xa00) = uVar8; - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc + 0x9a0) = - (fVar9 * 0.00000000 - 0.50000000) * DAT_80049d54 * fVar10; - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc + 0x9a4) = - (fVar9 * 0.00000000 - 0.50000000) * DAT_80049d58 * fVar10; - *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc + 0x9a8) = 0xbf800000; - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc + 0x9d0) = - (fVar9 * 0.00000000 - 0.50000000) * DAT_80049d5c * fVar10; - *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc + 0x9d4) = 0x3f800000; - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc + 0x9d8) = - (fVar9 * 0.00000000 - 0.50000000) * DAT_80049d60 * fVar10; - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc + 0x970) = - fVar10 * 0.00000000 * 0.75000000 + 1.50000000; - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + iVar7 + *puVar6 * 0xc + 0x974) = - *(float *)(_DAT_80068bc0 + iVar7 + 0xa0c) * (fVar10 * 0.00000000 + 2.00000000); - lVar2 = FUN_700098b0(); - fVar10 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc + 0x978) = - (fVar10 * 0.00000000 - 0.50000000) * 2.50000000; - iVar3 = _DAT_80068bc0 + iVar7; - if (*(int *)(iVar3 + 0xa10) < 0) { - iVar3 = _DAT_80068bc0 + iParm1 * 0x3a8 + *puVar6 * 0xc; - *(float *)(iVar3 + 0x970) = *(float *)(iVar3 + 0x970) * -1.00000000; - iVar3 = _DAT_80068bc0 + iVar7; - if (*(int *)(iVar3 + 0xa10) == -2) { - *(undefined4 *)(iVar3 + 0xa10) = 1; - } - else { - *(undefined4 *)(iVar3 + 0xa10) = 0xfffffffe; - } - } - else { - if (*(int *)(iVar3 + 0xa10) == 2) { - *(undefined4 *)(iVar3 + 0xa10) = 0xffffffff; - } - else { - *(undefined4 *)(iVar3 + 0xa10) = 2; - } - } - *(float *)(_DAT_80068bc0 + iVar7 + 0xa0c) = -*(float *)(_DAT_80068bc0 + iVar7 + 0xa0c); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f05d36c(int iParm1) - -{ - bool bVar1; - int iVar2; - ulonglong uVar3; - - iVar2 = _DAT_80068bc0 + iParm1 * 4; - bVar1 = 0 < *(int *)(iVar2 + 0x7f8); - uVar3 = (ulonglong)bVar1; - if ((!bVar1) && (bVar1 = *(int *)(iVar2 + 0x800) == 0, uVar3 = (ulonglong)bVar1, bVar1)) { - uVar3 = (ulonglong)(*(int *)(iVar2 + 0x2a3c) < 0); - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d3b0(int iParm1) - -{ - return *(undefined4 *)(_DAT_80068bc0 + iParm1 * 4 + 0x800); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f05d3c8(int iParm1) - -{ - return _DAT_80068bc0 + iParm1 * 0x1c + 0x810; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d3e8(int iParm1) - -{ - return *(undefined4 *)(_DAT_80068bc0 + iParm1 * 4 + 0x808); -} - - - -undefined4 FUN_7f05d400(int iParm1) - -{ - return (&DAT_8002d9ac)[iParm1]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05d414(int iParm1) - -{ - iParm1 *= 4; - *(undefined4 *)(_DAT_80068bc0 + iParm1 + 0x7f8) = 0; - *(undefined4 *)(_DAT_80068bc0 + iParm1 + 0x800) = 0; - *(undefined4 *)(_DAT_80068bc0 + iParm1 + 0x2a3c) = 0xffffffff; - *(undefined4 *)(_DAT_80068bc0 + iParm1 + 0x2a48) = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05d45c(int iParm1,int iParm2) - -{ - int iVar1; - - iVar1 = _DAT_80068bc0 + iParm1 * 4; - if (*(int *)(iVar1 + 0x2a48) == 0) { - if (*(int *)(iVar1 + 0x7f8) < 0) { - if (iParm2 != *(int *)(iVar1 + 0x800)) { - *(int *)(iVar1 + 0x2a3c) = iParm2; - return; - } - *(undefined4 *)(iVar1 + 0x7f8) = 1; - } - else { - if (iParm2 != *(int *)(iVar1 + 0x800)) { - *(undefined4 *)(iVar1 + 0x7f8) = 0xffffffff; - *(int *)(_DAT_80068bc0 + iParm1 * 4 + 0x2a3c) = iParm2; - return; - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d4d0(int iParm1) - -{ - if (iParm1 == 1) { - iParm1 = *(int *)(_DAT_80068bc0 + 0x2a30); - } - return (&DAT_8002ee78)[iParm1 * 0xe]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d500(int iParm1) - -{ - if (iParm1 == 1) { - iParm1 = *(int *)(_DAT_80068bc0 + 0x2a30); - } - return (&DAT_8002ee74)[iParm1 * 0xe]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d530(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x2a30); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05d540(int iParm1) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - - iVar6 = iParm1 * 4; - iVar2 = _DAT_80068bc0 + iVar6; - iVar1 = *(int *)(iVar2 + 0x7f8); - if ((iVar1 < 0) && (*(int *)(iVar2 + 0x2a48) == 0)) { - if (iVar1 < -2) { - iVar1 = *(int *)(iVar2 + 0x2a3c); - } - else { - if (*(int *)(iVar2 + 0x800) != 0) { - *(int *)(iVar2 + 0x7f8) = iVar1 + -1; - return; - } - iVar1 = *(int *)(iVar2 + 0x2a3c); - } - iVar2 = FUN_7f05d4d0(iVar1); - puVar3 = (undefined4 *)FUN_7f05d500(iVar1); - if ((iVar2 != 0) && (puVar3 != NULL)) { - iVar4 = FUN_7f05d3e8(iParm1); - iVar5 = FUN_7f05d400(iParm1); - iVar7 = iParm1 * 0x1c; - iVar8 = _DAT_80068bc0 + iVar7; - *(undefined4 *)(iVar8 + 0x810) = *puVar3; - *(undefined4 *)(iVar8 + 0x814) = puVar3[1]; - *(undefined4 *)(iVar8 + 0x818) = puVar3[2]; - *(undefined4 *)(iVar8 + 0x81c) = puVar3[3]; - *(undefined4 *)(iVar8 + 0x820) = puVar3[4]; - *(undefined4 *)(iVar8 + 0x824) = puVar3[5]; - *(undefined4 *)(iVar8 + 0x828) = puVar3[6]; - if (iVar1 == 0x54) { - sub_7F0CBAF4(_DAT_80068bc0 + iParm1 * 0x10 + 0x848,iVar4 + 0xbd70,iVar5 + -0xbd70); - loc_7F0764EC(_DAT_80068bc0 + iVar7 + 0x810,iVar2,iVar4,0xbd70, - _DAT_80068bc0 + iParm1 * 0x10 + 0x848); - } - else { - if ((iVar1 == 0x1e) || (iVar1 == 0x17)) { - sub_7F0CBAF4(_DAT_80068bc0 + iParm1 * 0x10 + 0x848,iVar4 + 0xafd0,iVar5 + -0xafd0); - loc_7F0764EC(_DAT_80068bc0 + iVar7 + 0x810,iVar2,iVar4,0xafd0, - _DAT_80068bc0 + iParm1 * 0x10 + 0x848); - } - else { - iVar8 = *(int *)(&DAT_8002d9b4 + iVar6); - sub_7F0CBAF4(_DAT_80068bc0 + iParm1 * 0x10 + 0x848,iVar8 + iVar4,iVar5 - iVar8); - loc_7F0764EC(_DAT_80068bc0 + iVar7 + 0x810,iVar2,iVar4,*(int *)(&DAT_8002d9b4 + iVar6), - _DAT_80068bc0 + iParm1 * 0x10 + 0x848); - } - } - } - *(undefined4 *)(_DAT_80068bc0 + iVar6 + 0x7f8) = 1; - *(int *)(_DAT_80068bc0 + iVar6 + 0x800) = iVar1; - *(undefined4 *)(_DAT_80068bc0 + iVar6 + 0x2a3c) = 0xffffffff; - } - return; -} - - - -int loc_7F05D414(int iParm1,int iParm2) - -{ - longlong lVar1; - int iVar2; - - if (0 < iParm2) { - iVar2 = iParm1 + 1; - while( true ) { - while( true ) { - iParm1 = iVar2 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - lVar1 = FUN_7f08c6d0(iParm1); - if (lVar1 != 0) break; - iVar2 = iParm1 + 1; - } - iParm2 += -1; - if (iParm2 < 1) break; - iVar2 = iParm1 + 1; - } - } - if (iParm2 < 0) { - iParm1 += -1; - while( true ) { - while( true ) { - if (iParm1 < 0) { - iVar2 = -1 - iParm1; - iParm1 = 0x20 - iVar2 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - lVar1 = FUN_7f08c6d0(iParm1); - if (lVar1 != 0) break; - iParm1 += -1; - } - iParm2 += 1; - if (-1 < iParm2) break; - iParm1 += -1; - } - } - return iParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d8ec(int iParm1,longlong lParm2) - -{ - undefined4 uVar1; - int iVar2; - - iVar2 = _DAT_80068bc0 + iParm1 * 0x3a8; - if (*(int *)(iVar2 + 0x88c) == 5) { - if (((lParm2 < 0) && (0 < *(int *)(iVar2 + 0x8b0))) || - ((0 < lParm2 && (*(int *)(iVar2 + 0x8b0) < 0)))) { - uVar1 = FUN_7f05de88(); - } - else { - uVar1 = *(undefined4 *)(iVar2 + 0x8a4); - } - } - else { - if (*(int *)(iVar2 + 0x88c) == 6) { - uVar1 = *(undefined4 *)(iVar2 + 0x8a4); - } - else { - uVar1 = FUN_7f05de88(); - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05d998(int iParm1,int iParm2,undefined4 uParm3) - -{ - int unaff_1000008e; - int iVar2; - longlong lVar1; - int iVar3; - - iVar3 = unaff_1000008e * 0x3a8; - iVar2 = _DAT_80068bc0 + iVar3; - if ((*(int *)(iVar2 + 0x88c) == 5) || (*(int *)(iVar2 + 0x88c) == 6)) { - *(undefined4 *)(iVar2 + 0x8a8) = *(undefined4 *)(iVar2 + 0x888); - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - *(int *)(_DAT_80068bc0 + iVar3 + 0x8a8) = *(int *)(_DAT_80068bc0 + iVar3 + 0x8a8) + 0xe; - iParm1 = unaff_1000008e; - } - else { - *(int *)(_DAT_80068bc0 + iVar3 + 0x8a8) = *(int *)(_DAT_80068bc0 + iVar3 + 0x8a8) + 10; - iParm1 = unaff_1000008e; - } - } - iVar2 = FUN_7f05d8ec(iParm1,0); - if (iVar2 != iParm2) { - iVar2 = _DAT_80068bc0 + iVar3; - if ((*(int *)(iVar2 + 0x88c) != 5) && (*(int *)(iVar2 + 0x88c) != 6)) { - *(undefined4 *)(iVar2 + 0x890) = 5; - iVar2 = _DAT_80068bc0 + iVar3; - } - *(int *)(iVar2 + 0x8a4) = iParm2; - *(undefined4 *)(_DAT_80068bc0 + iVar3 + 0x8ac) = 1; - *(undefined4 *)(_DAT_80068bc0 + iVar3 + 0x8b0) = uParm3; - } - return; -} - - - -void FUN_7f05dac8(undefined8 uParm1) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f05d8ec(uParm1,0); - uVar1 = loc_7F05D414(uVar1,1); - FUN_7f05d998((int)uParm1,uVar1,0); - return; -} - - - -void FUN_7f05db08(undefined8 uParm1) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f05d8ec(uParm1,0); - uVar1 = loc_7F05D414(uVar1,0xffffffffffffffff); - FUN_7f05d998((int)uParm1,uVar1,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05db48(void) - -{ - FUN_7f05ddcc(0,*(undefined4 *)(_DAT_80068bc0 + 0x870)); - FUN_7f05ddcc(1,*(undefined4 *)(_DAT_80068bc0 + 0xc18)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05db88(void) - -{ - longlong lVar1; - undefined4 uStack8; - int iStack4; - - iStack4 = FUN_7f05d8ec(0,1); - lVar1 = FUN_7f05d8ec(1,1); - uStack8 = (undefined4)lVar1; - if ((iStack4 < 0x21) && (lVar1 < 0x21)) { - FUN_7f08cbe4(&iStack4,&uStack8,0); - } - else { - iStack4 = *(int *)(_DAT_80068bc0 + 0x870); - uStack8 = *(undefined4 *)(_DAT_80068bc0 + 0xc18); - } - FUN_7f05d998(0,iStack4,1); - FUN_7f05d998(1,uStack8,1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05dc20(void) - -{ - longlong lVar1; - undefined4 uStack8; - int iStack4; - - iStack4 = FUN_7f05d8ec(0,0xffffffffffffffff); - lVar1 = FUN_7f05d8ec(1,0xffffffffffffffff); - uStack8 = (undefined4)lVar1; - if ((iStack4 < 0x21) && (lVar1 < 0x21)) { - FUN_7f08cebc(&iStack4,&uStack8,0); - } - else { - iStack4 = *(int *)(_DAT_80068bc0 + 0x870); - uStack8 = *(undefined4 *)(_DAT_80068bc0 + 0xc18); - } - FUN_7f05d998(0,iStack4,0xffffffffffffffff); - FUN_7f05d998(1,uStack8,0xffffffffffffffff); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05dcb8(void) - -{ - longlong lVar1; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack12 = FUN_7f05d8ec(0,1); - iStack4 = iStack12; - iStack16 = FUN_7f05d8ec(1,1); - if ((iStack12 < 0x21) && (iStack16 < 0x21)) { - iStack8 = iStack16; - if ((iStack12 == 0x1d) && (iStack8 = iStack16, lVar1 = FUN_7f08c6d0(0x1e), lVar1 != 0)) { - iStack12 = 0x1e; - iStack16 = 0; - } - else { - FUN_7f08cbe4(&iStack12,&iStack16,1); - if ((iStack12 < iStack4) || ((iStack12 == iStack4 && (iStack16 <= iStack8)))) { - iStack12 = iStack4; - iStack16 = iStack8; - FUN_7f08cebc(&iStack12,&iStack16,1); - } - } - } - else { - iStack12 = *(int *)(_DAT_80068bc0 + 0x870); - iStack16 = *(int *)(_DAT_80068bc0 + 0xc18); - } - FUN_7f05d998(0,iStack12,1); - FUN_7f05d998(1,iStack16,1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05ddcc(int iParm1,undefined4 uParm2) - -{ - iParm1 *= 0x3a8; - *(undefined4 *)(_DAT_80068bc0 + iParm1 + 0x890) = 5; - *(undefined4 *)(_DAT_80068bc0 + iParm1 + 0x8a4) = uParm2; - *(undefined4 *)(_DAT_80068bc0 + iParm1 + 0x8ac) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05de1c(int iParm1) - -{ - undefined8 uVar1; - longlong lVar2; - int iVar3; - - uVar1 = FUN_7f05de88(); - lVar2 = FUN_7f069bc0(uVar1); - if ((lVar2 != 0) && (iVar3 = _DAT_80068bc0 + iParm1 * 0x3a8, *(int *)(iVar3 + 0x890) == 0)) { - *(undefined4 *)(iVar3 + 0x890) = 9; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05de88(int iParm1) - -{ - return *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0x868); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05deb8(int iParm1,undefined4 uParm2) - -{ - *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0x890) = 0xe; - *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0x8a4) = uParm2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f05defc(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar2 = _DAT_80068bc0 + iParm1 * 0x3a8; - iVar1 = *(int *)(iVar2 + 0x86c); - if (iVar1 < 0) { - return *(undefined4 *)(iVar2 + 0x868); - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05df44(int iParm1,undefined4 uParm2) - -{ - FUN_7f05d45c(); - *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0x86c) = uParm2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05df9c(int iParm1) - -{ - int iVar1; - - iVar1 = _DAT_80068bc0 + iParm1 * 0x3a8; - if (-1 < *(int *)(iVar1 + 0x86c)) { - FUN_7f05d45c(iParm1,*(undefined4 *)(iVar1 + 0x868)); - *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0x86c) = 0xffffffff; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05e00c(int iParm1,undefined4 uParm2) - -{ - int iVar1; - int iVar2; - int iVar4; - longlong lVar3; - int iVar5; - - iVar5 = iParm1 * 0x3a8; - iVar1 = *(int *)(_DAT_80068bc0 + iVar5 + 0x868); - iVar4 = FUN_7f069bc0(); - if (*(int *)(_DAT_80068bc0 + iVar5 + 0x86c) < 0) { - FUN_7f05d45c(iParm1,uParm2); - iVar2 = *(int *)(_DAT_80068bc0 + iVar5 + 0x894); - iVar4 = iVar4; - } - else { - iVar2 = *(int *)(_DAT_80068bc0 + iVar5 + 0x894); - } - iVar4 = _DAT_80068bc0 + iVar4 * 4; - if (0 < iVar2) { - *(int *)(iVar4 + 0x1128) = *(int *)(iVar4 + 0x1128) + iVar2; - } - if (iVar1 < 0x21) { - *(int *)(_DAT_80068bc0 + iVar5 + 0x870) = iVar1; - } - lVar3 = FUN_7f0999a4(); - if (1 < lVar3) { - FUN_7f09a8a8(iParm1); - } - FUN_7f05ffb8(iParm1); - *(undefined4 *)(_DAT_80068bc0 + iVar5 + 0x868) = uParm2; - *(undefined4 *)(_DAT_80068bc0 + iVar5 + 0x894) = 0; - *(undefined4 *)(_DAT_80068bc0 + iVar5 + 0xa44) = 0; - *(undefined4 *)(_DAT_80068bc0 + iVar5 + 0xa48) = 0; - FUN_7f08de48(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined FUN_7f05e140(int iParm1) - -{ - return *(undefined *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0x874); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05e170(int iParm1) - -{ - return *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xa2c); -} - - - -float FUN_7f05e1a0(longlong lParm1) - -{ - undefined8 uVar1; - int iVar2; - float fVar3; - - if (lParm1 == 0) { - uVar1 = FUN_7f05defc(0); - iVar2 = FUN_7f05cd64(uVar1); - fVar3 = *(float *)(iVar2 + 4); - } - else { - uVar1 = FUN_7f05defc(1); - iVar2 = FUN_7f05cd64(uVar1); - fVar3 = -*(float *)(iVar2 + 4); - } - return fVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05e1f0(void) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - undefined4 uVar4; - - lVar1 = FUN_7f05defc(0); - if (lVar1 == 0x11) { - uVar4 = *(undefined4 *)(_DAT_80068bc0 + 0x107c); - } - else { - lVar1 = FUN_7f05defc(0); - if (lVar1 == 0x28) { - uVar4 = *(undefined4 *)(_DAT_80068bc0 + 0x1080); - } - else { - uVar2 = FUN_7f05defc(0); - iVar3 = FUN_7f05cd64(uVar2); - uVar4 = *(undefined4 *)(iVar3 + 0x34); - } - } - return uVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05e25c(float fParm1) - -{ - longlong lVar1; - - lVar1 = FUN_7f05defc(0); - if (lVar1 == 0x11) { - *(float *)(_DAT_80068bc0 + 0x107c) = - *(float *)(_DAT_80068bc0 + 0x107c) * (fParm1 * DAT_80049d64 + 1.00000000); - if (60.00000000 < *(float *)(_DAT_80068bc0 + 0x107c)) { - *(undefined4 *)(_DAT_80068bc0 + 0x107c) = 0x42700000; - } - } - else { - lVar1 = FUN_7f05defc(0); - if ((lVar1 == 0x28) && - (*(float *)(_DAT_80068bc0 + 0x1080) = - *(float *)(_DAT_80068bc0 + 0x1080) * (fParm1 * DAT_80049d68 + 1.00000000), - 60.00000000 < *(float *)(_DAT_80068bc0 + 0x1080))) { - *(undefined4 *)(_DAT_80068bc0 + 0x1080) = 0x42700000; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05e34c(float fParm1) - -{ - longlong lVar1; - - lVar1 = FUN_7f05defc(0); - if (lVar1 == 0x11) { - *(float *)(_DAT_80068bc0 + 0x107c) = - *(float *)(_DAT_80068bc0 + 0x107c) / (fParm1 * DAT_80049d6c + 1.00000000); - if (*(float *)(_DAT_80068bc0 + 0x107c) < 7.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x107c) = 0x40e00000; - } - } - else { - lVar1 = FUN_7f05defc(0); - if ((lVar1 == 0x28) && - (*(float *)(_DAT_80068bc0 + 0x1080) = - *(float *)(_DAT_80068bc0 + 0x1080) / (fParm1 * DAT_80049d70 + 1.00000000), - *(float *)(_DAT_80068bc0 + 0x1080) < 7.00000000)) { - *(undefined4 *)(_DAT_80068bc0 + 0x1080) = 0x40e00000; - } - } - return; -} - - - -undefined4 FUN_7f05e43c(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return *(undefined4 *)(iVar1 + 0x2c); -} - - - -undefined4 FUN_7f05e460(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return *(undefined4 *)(iVar1 + 0x68); -} - - - -undefined FUN_7f05e484(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return *(undefined *)(iVar1 + 0x22); -} - - - -ulonglong FUN_7f05e4a8(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return (ulonglong)*(byte *)(iVar1 + 0x25); -} - - - -ulonglong FUN_7f05e4cc(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return (ulonglong)*(ushort *)(iVar1 + 0x26); -} - - - -ulonglong FUN_7f05e4f0(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return (ulonglong)*(byte *)(iVar1 + 0x24); -} - - - -undefined8 FUN_7f05e514(undefined8 uParm1) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = FUN_7f05e56c(uParm1,0x40000); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - lVar1 = FUN_7f069bc0((int)uParm1); - if ((lVar1 == 0) || (lVar1 = FUN_7f069be4((int)uParm1), 0 < lVar1)) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -ulonglong FUN_7f05e56c(undefined8 uParm1,uint uParm2) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return (ulonglong)((*(uint *)(iVar1 + 0x6c) & uParm2) != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F05E5A4(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6) - -{ - int iVar2; - longlong lVar1; - float *pfVar3; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - undefined auStackX0 [8]; - float fStackX8; - float fStackX12; - float fStack8; - float fStack4; - - fVar7 = fParm5; - if (fParm5 < 0.00000000) { - fVar7 = -fParm5; - } - if (DAT_80049d74 < fParm2) { - *(undefined4 *)(_DAT_80068bc0 + 0xfb8) = 0x3f800000; - fStackX8 = fParm5; - fStackX12 = fParm6; - } - else { - if (DAT_80049d7c < fParm2) { - fStackX8 = fParm5; - fStackX12 = fParm6; - fVar5 = (float)func_7F057FC4(((fParm2 - DAT_80049d7c) * DAT_80049d80) / DAT_80049d84); - *(float *)(_DAT_80068bc0 + 0xfb8) = DAT_80049d88 * (1.00000000 - fVar5) + DAT_80049d8c; - } - else { - *(float *)(_DAT_80068bc0 + 0xfb8) = DAT_80049d7c; - fStackX8 = fParm5; - fStackX12 = fParm6; - } - } - fVar5 = (float)FUN_7f08a0a0(); - fVar6 = *(float *)(_DAT_80068bc0 + 0xfb8); - if (fVar6 < fVar5 * DAT_80049d94) { - fVar5 = (float)FUN_7f08a0a0(); - *(float *)(_DAT_80068bc0 + 0xfb8) = fVar5 * DAT_80049d98; - fVar6 = *(float *)(_DAT_80068bc0 + 0xfb8); - } - if (fVar6 < fVar7 * 0.50000000) { - *(float *)(_DAT_80068bc0 + 0xfb8) = fVar7 * 0.50000000; - } - fVar5 = DAT_80049d9c; - iVar2 = 0; - if (0 < DAT_80040ff4) { - do { - iVar2 += 1; - *(float *)(_DAT_80068bc0 + 0x1078) = - *(float *)(_DAT_80068bc0 + 0x1078) * fVar5 + *(float *)(_DAT_80068bc0 + 0xfb8); - } while (iVar2 < DAT_80040ff4); - } - fVar6 = DAT_80049da4; - fVar5 = DAT_80049da0; - iVar2 = 0; - *(float *)(_DAT_80068bc0 + 0xfb8) = *(float *)(_DAT_80068bc0 + 0x1078) * DAT_80049da4; - fVar7 = DAT_80049da8 * fVar7; - if (fVar7 <= fParm1) { - fVar7 = fParm1; - } - if (0 < DAT_80040ff4) { - do { - iVar2 += 1; - *(float *)(_DAT_80068bc0 + 0x1074) = *(float *)(_DAT_80068bc0 + 0x1074) * fVar5 + fVar7; - } while (iVar2 < DAT_80040ff4); - } - fVar7 = *(float *)(_DAT_80068bc0 + 0x1074) * fVar6 * DAT_80041004; - fStack8 = *(float *)(_DAT_80068bc0 + 0xa04) + fVar7; - while (1.00000000 <= fStack8) { - loc_7F05CE80(0); - fStack8 = fStack8 - 1.00000000; - *(int *)(_DAT_80068bc0 + 0x1070) = *(int *)(_DAT_80068bc0 + 0x1070) + 1; - } - *(float *)(_DAT_80068bc0 + 0x106c) = *(float *)(_DAT_80068bc0 + 0x106c) + DAT_80041004; - if (60.00000000 < *(float *)(_DAT_80068bc0 + 0x106c)) { - *(undefined4 *)(_DAT_80068bc0 + 0x106c) = 0; - lVar1 = FUN_700098b0(); - fVar5 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + 0x1068) = - ((fVar5 * 0.00000000 - 0.50000000) * DAT_80049dac) / 60.00000000; - fVar5 = *(float *)(_DAT_80068bc0 + 0x1068); - } - else { - fVar5 = *(float *)(_DAT_80068bc0 + 0x1068); - } - if (0.00000000 < fVar5 + fVar7) { - *(float *)(_DAT_80068bc0 + 0x1064) = *(float *)(_DAT_80068bc0 + 0x1064) + fVar5; - fStack4 = *(float *)(_DAT_80068bc0 + 0x1064); - } - else { - fStack4 = *(float *)(_DAT_80068bc0 + 0x1064); - } - if (0.50000000 < fStack4) { - *(undefined4 *)(_DAT_80068bc0 + 0x1064) = 0x3f000000; - fStack4 = *(float *)(_DAT_80068bc0 + 0x1064); - } - else { - if (fStack4 < -0.50000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x1064) = 0xbf000000; - fStack4 = *(float *)(_DAT_80068bc0 + 0x1064); - } - else { - if (DAT_80049db0 <= fStack4) { - iVar2 = *(int *)(_DAT_80068bc0 + 0x1070); - goto LAB_7f05e9d0; - } - if (fStack4 <= DAT_80049db4) { - iVar2 = *(int *)(_DAT_80068bc0 + 0x1070); - goto LAB_7f05e9d0; - } - if (0.00000000 < fStack4) { - *(float *)(_DAT_80068bc0 + 0x1064) = DAT_80049db4; - fStack4 = *(float *)(_DAT_80068bc0 + 0x1064); - } - else { - *(float *)(_DAT_80068bc0 + 0x1064) = DAT_80049db0; - fStack4 = *(float *)(_DAT_80068bc0 + 0x1064); - } - } - } - iVar2 = *(int *)(_DAT_80068bc0 + 0x1070); -LAB_7f05e9d0: - fStack4 = fStack8 + (float)iVar2 + fStack4; - while (1.00000000 <= fStack4) { - loc_7F05CE80(1); - fStack4 = fStack4 - 1.00000000; - *(int *)(_DAT_80068bc0 + 0x1070) = *(int *)(_DAT_80068bc0 + 0x1070) + -1; - } - iVar2 = 0; - pfVar3 = &fStack8; - do { - fVar7 = *pfVar3; - pfVar3 = pfVar3 + 1; - *(float *)(_DAT_80068bc0 + iVar2 + 0xa04) = fVar7; - *(float *)(_DAT_80068bc0 + iVar2 + 0xa14) = fStackX12 * -1.75000000; - iVar4 = _DAT_80068bc0 + iVar2; - iVar2 += 0x3a8; - *(float *)(iVar4 + 0xa18) = fStackX8 * -2.00000000; - } while (pfVar3 != (float *)register0x000000ec); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05eaa8(undefined4 uParm1) - -{ - float fVar1; - - fVar1 = (float)func_7F057FC4(uParm1); - *(float *)(_DAT_80068bc0 + 0xa28) = (1.00000000 - fVar1) * 5.00000000; - fVar1 = (float)func_7F057FC4(uParm1); - *(float *)(_DAT_80068bc0 + 0xdd0) = (1.00000000 - fVar1) * 5.00000000; - return; -} - - - -// WARNING: Instruction at (ram,0x7f05eb48) overlaps instruction at (ram,0x7f05eb44) -// - -undefined4 FUN_7f05eb1c(undefined4 uParm1) - -{ - longlong lVar1; - undefined4 uVar2; - - lVar1 = FUN_7f05de88(); - if ((lVar1 == 0x1e) || (lVar1 = FUN_7f05de88(uParm1), uVar2 = DAT_80049dbc, lVar1 == 0x17)) { - uVar2 = DAT_80049db8; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05eb6c(int iParm1,longlong lParm2) - -{ - int iVar1; - undefined4 uVar2; - float fVar3; - float fVar4; - - if (lParm2 == 0) { - iVar1 = _DAT_80068bc0 + iParm1 * 0x3a8; - fVar4 = *(float *)(iVar1 + 0xa7c); - if (0.00000000 < fVar4) { - *(float *)(iVar1 + 0xa7c) = fVar4 - DAT_80049dc4 * DAT_80041004; - iVar1 = _DAT_80068bc0 + iParm1 * 0x3a8; - fVar4 = *(float *)(iVar1 + 0xa7c); - } - if (fVar4 < 0.00000000) { - *(undefined4 *)(iVar1 + 0xa7c) = 0; - } - } - else { - fVar4 = (float)FUN_7f05eb1c(); - iVar1 = iParm1 * 0x3a8; - fVar3 = *(float *)(_DAT_80068bc0 + iVar1 + 0xa7c); - if (fVar3 < fVar4) { - *(float *)(_DAT_80068bc0 + iVar1 + 0xa7c) = fVar3 + DAT_80049dc0 * DAT_80041004; - } - fVar4 = (float)FUN_7f05eb1c(); - if (fVar4 < *(float *)(_DAT_80068bc0 + iVar1 + 0xa7c)) { - uVar2 = FUN_7f05eb1c(iParm1); - *(undefined4 *)(_DAT_80068bc0 + iVar1 + 0xa7c) = uVar2; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05ecc0(int iParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xa84) = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05ecf4(int iParm1) - -{ - undefined8 uVar1; - int iVar2; - int iVar3; - float fVar4; - float fVar5; - - uVar1 = FUN_7f05defc(); - iVar2 = FUN_7f05cd64(uVar1); - iParm1 *= 0x3a8; - iVar3 = _DAT_80068bc0 + iParm1; - fVar5 = *(float *)(iVar2 + 0x50); - if (*(int *)(iVar3 + 0xa84) == 0) { - if (0 < *(int *)(iVar3 + 0x894)) { - fVar4 = *(float *)(iVar3 + 0xa80); - if (0.00000000 < fVar4) { - *(float *)(iVar3 + 0xa80) = fVar4 - fVar5 * DAT_80049dc8 * DAT_80041004; - iVar3 = _DAT_80068bc0 + iParm1; - fVar4 = *(float *)(iVar3 + 0xa80); - } - if (fVar4 < 0.00000000) { - *(undefined4 *)(iVar3 + 0xa80) = 0; - } - } - } - else { - fVar4 = *(float *)(iVar3 + 0xa80); - if (fVar4 < fVar5) { - *(float *)(iVar3 + 0xa80) = fVar4 + fVar5 * 0.25000000 * DAT_80041004; - iVar3 = _DAT_80068bc0 + iParm1; - fVar4 = *(float *)(iVar3 + 0xa80); - } - if (fVar5 <= fVar4) { - *(float *)(iVar3 + 0xa80) = fVar5; - *(undefined4 *)(_DAT_80068bc0 + iParm1 + 0xa84) = 0; - } - } - return; -} - - - -void loc_7F05EA84(int iParm1,undefined4 uParm2) - -{ - int iVar1; - undefined4 *puVar2; - int iVar3; - int iVar4; - short sVar5; - - iVar3 = *(int *)(iParm1 + 8); - iVar4 = *(int *)(iVar3 + 8); - if (*(int *)(iVar4 + 0x20) == 0) { - iVar1 = *(int *)(iVar4 + 0x24); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(iParm1,*(int *)(iVar4 + 0x20)); - *puVar2 = uParm2; - iVar3 = *(int *)(iParm1 + 8); - iVar4 = *(int *)(iVar3 + 8); - iVar1 = *(int *)(iVar4 + 0x24); - } - if (iVar1 == 0) { - iVar1 = *(int *)(iVar4 + 0x28); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(iParm1); - *puVar2 = uParm2; - iVar3 = *(int *)(iParm1 + 8); - iVar4 = *(int *)(iVar3 + 8); - iVar1 = *(int *)(iVar4 + 0x28); - } - if (iVar1 == 0) { - iVar1 = *(int *)(iVar4 + 0x2c); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(iParm1); - *puVar2 = uParm2; - iVar3 = *(int *)(iParm1 + 8); - iVar4 = *(int *)(iVar3 + 8); - iVar1 = *(int *)(iVar4 + 0x2c); - } - if (iVar1 == 0) { - iVar1 = *(int *)(iVar4 + 0x30); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(iParm1); - *puVar2 = uParm2; - iVar3 = *(int *)(iParm1 + 8); - iVar4 = *(int *)(iVar3 + 8); - iVar1 = *(int *)(iVar4 + 0x30); - } - if (iVar1 == 0) { - iVar4 = *(int *)(iVar4 + 0x34); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(iParm1); - *puVar2 = uParm2; - iVar3 = *(int *)(iParm1 + 8); - iVar4 = *(int *)(*(int *)(iVar3 + 8) + 0x34); - } - if (iVar4 == 0) { - sVar5 = *(short *)(iVar3 + 0xc); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(iParm1); - *puVar2 = uParm2; - iVar3 = *(int *)(iParm1 + 8); - sVar5 = *(short *)(iVar3 + 0xc); - } - if ((0x23 < sVar5) && (*(int *)(*(int *)(iVar3 + 8) + 0x8c) != 0)) { - puVar2 = (undefined4 *)loc_7F06C888(iParm1); - *puVar2 = uParm2; - } - return; -} - - - -void loc_7F05EB00(int iParm1,undefined4 uParm2) - -{ - int iVar1; - undefined4 *puVar2; - - if (0xf < *(short *)(*(int *)(iParm1 + 8) + 0xc)) { - iVar1 = *(int *)(*(int *)(iParm1 + 8) + 8); - if (*(int *)(iVar1 + 0x38) == 0) { - iVar1 = *(int *)(iVar1 + 0x3c); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(); - *puVar2 = uParm2; - iVar1 = *(int *)(*(int *)(*(int *)(iParm1 + 8) + 8) + 0x3c); - } - if (iVar1 != 0) { - puVar2 = (undefined4 *)loc_7F06C888(); - *puVar2 = uParm2; - } - } - return; -} - - - -void loc_7F05EC0C(int iParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 *puParm5,undefined4 uParm6,undefined4 uParm7) - -{ - int iVar1; - - iVar1 = *(int *)(iParm1 + 0x10); - if (iVar1 != 0) { - FUN_7f03a564(iVar1); - set_stateflag_0x04_for_posdata(iVar1); - matrix_multiply_A1_by_F12(*(undefined4 *)(*(int *)(iParm1 + 0x14) + 0x14)); - sub_7F040754(iParm1,uParm2,uParm4,uParm3); - loc_7F056E80(iParm1); - FUN_7f040544(iParm1); - FUN_7f03fe68(iVar1); - if ((*(uint *)(iParm1 + 100) & 0x80) != 0) { - **(uint **)(iParm1 + 0x6c) = **(uint **)(iParm1 + 0x6c) | 0x41; - *(undefined4 *)(*(int *)(iParm1 + 0x6c) + 0x88) = uParm7; - locret_7F03FE80(iVar1); - loc_7F058030(uParm6,*(int *)(iParm1 + 0x6c) + 0x20); - *(undefined4 *)(*(int *)(iParm1 + 0x6c) + 4) = *puParm5; - *(undefined4 *)(*(int *)(iParm1 + 0x6c) + 8) = puParm5[1]; - *(undefined4 *)(*(int *)(iParm1 + 0x6c) + 0xc) = puParm5[2]; - *(int *)(*(int *)(iParm1 + 0x6c) + 0xe4) = iParm1; - *(undefined4 *)(*(int *)(iParm1 + 0x6c) + 0xe8) = DAT_80041000; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F05EE10(int iParm1,undefined4 *puParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - int iVar3; - longlong lVar1; - undefined8 uVar2; - float fVar4; - float fVar5; - undefined auStack136 [4]; - undefined auStack132 [84]; - undefined uStack48; - undefined uStack47; - int iStack40; - float fStack36; - float fStack32; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - if (*(int *)(iParm1 + 0x10) != 0) { - iVar3 = FUN_7f089900(); - fVar4 = (float)sub_7F089778(_DAT_80068bc0); - iStack40 = 0; - fVar5 = *(float *)(iVar3 + 0xc); - fStack36 = (float)puParm2[1]; - fStack32 = fVar5; - if (fVar5 <= fStack36) { - fStack32 = fStack36; - fStack36 = fVar5; - } - fStack36 = fStack36 - fVar4; - fStack32 = fStack32 - fVar4; - uStack20 = *(undefined4 *)(iVar3 + 0x14); - FUN_7f08a208(iVar3,0); - lVar1 = loc_7F0B13B4(&uStack20,*(undefined4 *)(iVar3 + 8),*(undefined4 *)(iVar3 + 0x10),*puParm2 - ,puParm2[2],0x1f,fStack32,fStack36,0,0x3f800000); - if (lVar1 == 0) { - uStack20 = *(undefined4 *)(iVar3 + 0x14); - uStack16 = *(undefined4 *)(iVar3 + 8); - uStack12 = *(undefined4 *)(iVar3 + 0xc); - uStack8 = *(undefined4 *)(iVar3 + 0x10); - iStack40 = 1; - } - else { - uStack16 = *puParm2; - uStack12 = puParm2[1]; - uStack8 = puParm2[2]; - } - FUN_7f08a208(iVar3,1); - loc_7F05EC0C(iParm1,&uStack16,uStack20,uParm3,uParm4,uParm5,iVar3); - if ((*(uint *)(iParm1 + 100) & 0x80) != 0) { - if (iStack40 != 0) { - **(uint **)(iParm1 + 0x6c) = **(uint **)(iParm1 + 0x6c) | 0x100; - *(undefined4 *)(*(int *)(iParm1 + 0x6c) + 0xd4) = *puParm2; - *(undefined4 *)(*(int *)(iParm1 + 0x6c) + 0xd8) = puParm2[1]; - *(undefined4 *)(*(int *)(iParm1 + 0x6c) + 0xdc) = puParm2[2]; - } - uStack48 = FUN_7f08a164(); - uStack47 = 0xff; - uVar2 = FUN_7f08a1cc(); - FUN_7f0b3df0(uVar2,&uStack16,&uStack48,*(int *)(iParm1 + 0x6c) + 0xcc,auStack132,auStack136, - 0x14); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05f2dc(int iParm1) - -{ - uint uVar1; - int iVar4; - undefined4 uVar5; - undefined8 uVar2; - int iVar6; - longlong lVar3; - undefined auStack256 [48]; - undefined4 uStack208; - undefined4 uStack204; - undefined4 uStack200; - float *pfStack192; - float fStack184; - float fStack180; - float fStack176; - undefined auStack172 [12]; - undefined auStack160 [64]; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - float fStack80; - float fStack76; - float fStack72; - undefined auStack68 [68]; - - iVar4 = FUN_7f089900(); - pfStack192 = (float *)FUN_7f08a1f8(); - uVar5 = FUN_7f05de88(iParm1); - FUN_7f057f14(&fStack80,auStack68); - FUN_7f068974(auStack172,&fStack184,iParm1); - uVar2 = FUN_7f0784c4(); - FUN_7f058880(uVar2,&fStack184); - fStack80 = fStack184 * DAT_80049dcc; - fStack72 = fStack176 * DAT_80049dcc; - fStack76 = fStack180 * DAT_80049dcc + 5.00000000; - if (0 < DAT_80040ff4) { - fStack80 = fStack80 + (*(float *)(iVar4 + 8) - *pfStack192) / DAT_80041004; - fStack76 = fStack76 + (*(float *)(iVar4 + 0xc) - pfStack192[1]) / DAT_80041004; - fStack72 = fStack72 + (*(float *)(iVar4 + 0x10) - pfStack192[2]) / DAT_80041004; - } - iVar4 = _DAT_80068bc0 + iParm1 * 0x3a8; - uStack96 = *(undefined4 *)(iVar4 + 0xb00); - uStack92 = *(undefined4 *)(iVar4 + 0xb04); - uStack88 = *(undefined4 *)(iVar4 + 0xb08); - sub_GAME_7F05A9B8(auStack160); - loc_7F058030(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xad0,auStack256); - uStack208 = 0; - uStack204 = 0; - uStack200 = 0; - FUN_7f058510(auStack256,auStack160); - iVar4 = FUN_7f05234c(0xc4,uVar5); - if (iVar4 != 0) { - *(short *)(iVar4 + 0x82) = 200 - (short)*(undefined4 *)(_DAT_80068bc0 + 0x1054); - if (*(short *)(iVar4 + 0x82) < 0) { - *(undefined2 *)(iVar4 + 0x82) = 0; - uVar1 = *(uint *)(iVar4 + 100); - } - else { - uVar1 = *(uint *)(iVar4 + 100); - } - *(uint *)(iVar4 + 100) = uVar1 & 0xfff9ffff; - iVar6 = FUN_7f09a690(); - *(uint *)(iVar4 + 100) = *(uint *)(iVar4 + 100) | iVar6 << 0x11; - loc_7F05EE10(iVar4,&uStack96,auStack160,&fStack80,auStack68); - if ((*(uint *)(iVar4 + 100) & 0x80) != 0) { - **(uint **)(iVar4 + 0x6c) = **(uint **)(iVar4 + 0x6c) | 2; - *(undefined4 *)(*(int *)(iVar4 + 0x6c) + 0x8c) = DAT_80049dd0; - *(undefined4 *)(*(int *)(iVar4 + 0x6c) + 0x94) = DAT_80049dd4; - *(undefined4 *)(*(int *)(iVar4 + 0x6c) + 0xbc) = 0x32; - lVar3 = FUN_70008268(_DAT_80056900,4,0); - if (lVar3 != 0) { - FUN_7f053cf0(lVar3,iVar4 + 0x58); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05f554(int iParm1) - -{ - int iVar3; - float *pfVar4; - undefined8 uVar1; - longlong lVar2; - float fVar5; - undefined auStack248 [48]; - undefined4 uStack200; - undefined4 uStack196; - undefined4 uStack192; - float fStack184; - float fStack180; - float fStack176; - undefined auStack172 [12]; - undefined auStack160 [16]; - undefined4 uStack144; - undefined4 uStack140; - undefined4 uStack136; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - float fStack80; - float fStack76; - float fStack72; - undefined auStack68 [64]; - int iStack4; - - iVar3 = FUN_7f089900(); - pfVar4 = (float *)FUN_7f08a1f8(); - FUN_7f057f14(&fStack80,auStack68); - FUN_7f068974(auStack172,&fStack184,iParm1); - uVar1 = FUN_7f0784c4(); - FUN_7f058880(uVar1,&fStack184); - fStack80 = fStack184 * 25.00000000; - fStack72 = fStack176 * 25.00000000; - fStack76 = fStack180 * 25.00000000 + 5.00000000; - if (0 < DAT_80040ff4) { - fStack80 = fStack80 + (*(float *)(iVar3 + 8) - *pfVar4) / DAT_80041004; - fStack76 = fStack76 + (*(float *)(iVar3 + 0xc) - pfVar4[1]) / DAT_80041004; - fStack72 = fStack72 + (*(float *)(iVar3 + 0x10) - pfVar4[2]) / DAT_80041004; - } - iVar3 = _DAT_80068bc0 + iParm1 * 0x3a8; - uStack96 = *(undefined4 *)(iVar3 + 0xb00); - uStack92 = *(undefined4 *)(iVar3 + 0xb04); - uStack88 = *(undefined4 *)(iVar3 + 0xb08); - FUN_7f058b30(DAT_80049dd8); - FUN_7f058a18(DAT_80049ddc); - FUN_7f058510(auStack248,auStack160); - loc_7F058030(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xad0,auStack248); - uStack200 = 0; - uStack196 = 0; - uStack192 = 0; - FUN_7f058510(auStack248,auStack160); - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - guRotate(auStack68,360.00000000 / (fVar5 * 0.00000000 + DAT_80049de0),uStack144,uStack140, - uStack136); - iStack4 = FUN_7f05234c(0xba,3); - if (iStack4 != 0) { - *(uint *)(iStack4 + 100) = *(uint *)(iStack4 + 100) & 0xfff9ffff; - iVar3 = FUN_7f09a690(); - *(uint *)(iStack4 + 100) = *(uint *)(iStack4 + 100) | iVar3 << 0x11; - loc_7F05EE10(iStack4,&uStack96,auStack160,&fStack80,auStack68); - if ((*(uint *)(iStack4 + 100) & 0x80) != 0) { - **(uint **)(iStack4 + 0x6c) = **(uint **)(iStack4 + 0x6c) | 2; - *(undefined4 *)(*(int *)(iStack4 + 0x6c) + 0x8c) = DAT_80049de4; - *(undefined4 *)(*(int *)(iStack4 + 0x6c) + 0xbc) = 0x32; - *(uint *)(iStack4 + 100) = *(uint *)(iStack4 + 100) | 0x20; - } - loc_7F043828(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05f810(int iParm1) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - int iVar5; - undefined auStack256 [48]; - undefined4 uStack208; - undefined4 uStack204; - undefined4 uStack200; - float *pfStack192; - int iStack188; - float fStack184; - float fStack180; - float fStack176; - undefined auStack172 [12]; - undefined auStack160 [64]; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - undefined auStack68 [68]; - - iVar4 = 0; - fStack84 = DAT_80049de8; - iStack188 = FUN_7f089900(); - pfStack192 = (float *)FUN_7f08a1f8(); - lVar1 = FUN_7f05de88(iParm1); - iVar5 = (int)lVar1; - if (lVar1 == 0x3d) { - fStack84 = DAT_80049dec; - } - FUN_7f057f14(&fStack80,auStack68); - FUN_7f068974(auStack172,&fStack184,iParm1); - uVar2 = FUN_7f0784c4(); - FUN_7f058880(uVar2,&fStack184); - fStack80 = fStack184 * fStack84; - fStack72 = fStack176 * fStack84; - fStack76 = fStack180 * fStack84 + 5.00000000; - if (0 < DAT_80040ff4) { - fStack80 = fStack80 + (*(float *)(iStack188 + 8) - *pfStack192) / DAT_80041004; - fStack76 = fStack76 + (*(float *)(iStack188 + 0xc) - pfStack192[1]) / DAT_80041004; - fStack72 = fStack72 + (*(float *)(iStack188 + 0x10) - pfStack192[2]) / DAT_80041004; - } - iVar3 = _DAT_80068bc0 + iParm1 * 0x3a8; - uStack96 = *(undefined4 *)(iVar3 + 0xb00); - uStack92 = *(undefined4 *)(iVar3 + 0xb04); - uStack88 = *(undefined4 *)(iVar3 + 0xb08); - sub_GAME_7F05A9B8(auStack160); - loc_7F058030(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xad0,auStack256); - uStack208 = 0; - uStack204 = 0; - uStack200 = 0; - FUN_7f058510(auStack256,auStack160); - if (iVar5 == 0x3d) { - iVar4 = FUN_7f08c8e8(0x3d); - FUN_7f08c994(0x3d); - if (iVar4 != 0) { - loc_7F04C124(*(undefined4 *)(iVar4 + 0x10)); - } - FUN_7f05db48(); - } - if (iVar4 == 0) { - uVar2 = 199; - if (true) { - switch(iVar5) { - case 0x1b: - uVar2 = 0xc9; - break; - case 0x1c: - uVar2 = 200; - break; - case 0x21: - uVar2 = 0xe2; - break; - case 0x22: - uVar2 = 0x111; - break; - case 0x2f: - uVar2 = 0xf5; - break; - case 0x30: - uVar2 = 0xf6; - break; - case 0x3d: - uVar2 = 0xf8; - } - } - iVar4 = FUN_7f05234c(uVar2); - } - if (iVar4 == 0) { - return; - } - if (false) { -switchD_7f05fa80_caseD_1e: - *(undefined2 *)(iVar4 + 0x82) = 200; - } - else { - switch(iVar5) { - case 0x1b: - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - *(undefined2 *)(iVar4 + 0x82) = 0xfa; - } - else { - *(undefined2 *)(iVar4 + 0x82) = 0x96; - } - break; - case 0x1c: - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - *(undefined2 *)(iVar4 + 0x82) = 0xfa; - } - else { - *(undefined2 *)(iVar4 + 0x82) = 0x96; - } - break; - case 0x1d: - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - *(undefined2 *)(iVar4 + 0x82) = 0xfa; - } - else { - *(undefined2 *)(iVar4 + 0x82) = 0x96; - } - break; - default: - goto switchD_7f05fa80_caseD_1e; - case 0x21: - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - *(undefined2 *)(iVar4 + 0x82) = 0xfa; - } - else { - *(undefined2 *)(iVar4 + 0x82) = 0x96; - } - break; - case 0x22: - case 0x2f: - case 0x30: - case 0x3d: - *(undefined2 *)(iVar4 + 0x82) = 1; - } - } - *(uint *)(iVar4 + 100) = *(uint *)(iVar4 + 100) & 0xfff9ffff; - iVar5 = FUN_7f09a690(); - *(uint *)(iVar4 + 100) = *(uint *)(iVar4 + 100) | iVar5 << 0x11; - loc_7F05EE10(iVar4,&uStack96,auStack160,&fStack80,auStack68); - if ((*(uint *)(iVar4 + 100) & 0x80) != 0) { - **(uint **)(iVar4 + 0x6c) = **(uint **)(iVar4 + 0x6c) | 2; - *(undefined4 *)(*(int *)(iVar4 + 0x6c) + 0x8c) = DAT_80049f08; - *(undefined4 *)(*(int *)(iVar4 + 0x6c) + 0xbc) = 0x32; - lVar1 = FUN_70008268(_DAT_80056900,4,0); - if (lVar1 != 0) { - FUN_7f053cf0(lVar1,iVar4 + 0x58); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05fbf4(int iParm1) - -{ - int iVar2; - float *pfVar3; - undefined8 uVar1; - float local_b0; - float local_ac; - float local_a8; - undefined auStack164 [12]; - undefined auStack152 [48]; - undefined4 local_68; - undefined4 local_64; - undefined4 local_60; - float local_54; - float local_50; - float local_4c; - undefined auStack72 [64]; - int local_8; - int local_4; - - local_8 = _DAT_80068bc0 + iParm1 * 0x3a8 + 0x868; - iVar2 = FUN_7f089900(); - pfVar3 = (float *)FUN_7f08a1f8(); - sub_GAME_7F05A9B8(auStack72); - FUN_7f068974(auStack164,&local_b0,iParm1); - uVar1 = FUN_7f0784c4(); - FUN_7f058880(uVar1,&local_b0); - local_54 = local_b0 * DAT_80049f0c; - local_50 = local_ac * DAT_80049f0c; - local_4c = local_a8 * DAT_80049f0c; - if (0 < DAT_80040ff4) { - local_54 = local_54 + (*(float *)(iVar2 + 8) - *pfVar3) / DAT_80041004; - local_50 = local_50 + (*(float *)(iVar2 + 0xc) - pfVar3[1]) / DAT_80041004; - local_4c = local_4c + (*(float *)(iVar2 + 0x10) - pfVar3[2]) / DAT_80041004; - } - loc_7F058030(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xad0,auStack152); - local_68 = 0; - local_64 = 0; - local_60 = 0; - local_4 = FUN_7f05234c(0xcb,0x57); - if (local_4 != 0) { - *(undefined2 *)(local_4 + 0x82) = 1000; - *(uint *)(local_4 + 100) = *(uint *)(local_4 + 100) & 0xfff9ffff; - iVar2 = FUN_7f09a690(); - *(uint *)(local_4 + 100) = *(uint *)(local_4 + 100) | iVar2 << 0x11; - loc_7F05EE10(local_4,local_8 + 0x2e8,auStack152,&local_54,auStack72); - if ((*(uint *)(local_4 + 100) & 0x80) != 0) { - *(undefined4 *)(*(int *)(local_4 + 0x6c) + 0x8c) = DAT_80049f10; - *(undefined4 *)(*(int *)(local_4 + 0x6c) + 0x94) = DAT_80049f14; - *(undefined4 *)(*(int *)(local_4 + 0x6c) + 0xbc) = 0x32; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05fde0(int iParm1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar5; - undefined4 uVar6; - undefined8 uVar4; - undefined auStack76 [48]; - undefined4 local_1c; - undefined4 local_18; - undefined4 local_14; - int local_4; - - local_4 = _DAT_80068bc0 + iParm1 * 0x3a8; - iVar1 = *(int *)(local_4 + 0xa88); - local_4 += 0x868; - if ((iVar1 != 0) && (iVar2 = *(int *)(iVar1 + 0x10), iVar2 != 0)) { - iVar5 = FUN_7f089900(); - iVar3 = *(int *)(iVar1 + 0x14); - loc_7F058030(local_4 + 0x268,auStack76); - local_1c = 0; - local_18 = 0; - local_14 = 0; - matrix_multiply_A1_by_F12(*(undefined4 *)(*(int *)(iVar1 + 0x14) + 0x14)); - sub_7F040754(iVar1,local_4 + 0x2e8,auStack76,*(undefined4 *)(iVar5 + 0x14)); - FUN_7f040544(iVar1); - uVar6 = FUN_7f0bcac4((int)*(short *)(*(int *)(iVar3 + 8) + 0xe) << 6); - *(undefined4 *)(iVar3 + 0xc) = uVar6; - loc_7F058030(iVar1 + 0x18,auStack76); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iVar1 + 0x58,auStack76); - uVar4 = FUN_7f078444(); - loc_7F05823C(uVar4,auStack76,*(undefined4 *)(iVar3 + 0xc)); - loc_7F06EFB0(iVar3,**(undefined4 **)(iVar3 + 8)); - *(byte *)(iVar2 + 1) = *(byte *)(iVar2 + 1) | 2; - *(float *)(iVar2 + 0x18) = -*(float *)(*(int *)(iVar3 + 0xc) + 0x38); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05ff34(int iParm1) - -{ - longlong lVar1; - int iVar2; - - iVar2 = _DAT_80068bc0 + iParm1 * 0x3a8; - if ((*(int *)(iVar2 + 0xa88) == 0) && (0 < *(int *)(iVar2 + 0x894))) { - lVar1 = FUN_7f05234c(0xca,0x56); - if (lVar1 != 0) { - *(int *)(iVar2 + 0xa88) = (int)lVar1; - *(undefined4 *)(iVar2 + 0xa8c) = 0; - *(undefined2 *)((int)lVar1 + 0x82) = 1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05ffb8(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar2 = _DAT_80068bc0 + iParm1 * 0x3a8; - iVar1 = *(int *)(iVar2 + 0xa88); - if (iVar1 != 0) { - FUN_7f0410e4(iVar1,1); - *(undefined4 *)(iVar2 + 0xa88) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06001c(int iParm1) - -{ - int iVar2; - undefined8 uVar1; - undefined4 local_d4; - undefined4 local_d0; - undefined4 local_cc; - int local_c8; - float *local_c4; - int local_c0; - float local_bc; - float local_b8; - float local_b4; - undefined auStack176 [12]; - undefined auStack164 [48]; - undefined4 local_74; - undefined4 local_70; - undefined4 local_6c; - float local_64; - float local_60; - float local_5c; - float local_54; - float local_50; - float local_4c; - undefined auStack72 [64]; - int local_8; - int local_4; - - local_8 = _DAT_80068bc0 + iParm1 * 0x3a8 + 0x868; - local_c0 = FUN_7f089900(); - local_c4 = (float *)FUN_7f08a1f8(); - local_c8 = FUN_7f05de88(iParm1); - sub_GAME_7F05A9B8(auStack72); - if (local_c8 != 0x20) { - FUN_7f068974(auStack176,&local_bc,iParm1); - uVar1 = FUN_7f0784c4(); - FUN_7f058880(uVar1,&local_bc); - local_d4 = *(undefined4 *)(local_8 + 0x2e8); - local_d0 = *(undefined4 *)(local_8 + 0x2ec); - local_64 = local_bc * DAT_80049f1c; - local_cc = *(undefined4 *)(local_8 + 0x2f0); - local_60 = local_b8 * DAT_80049f1c; - local_5c = local_b4 * DAT_80049f1c; - local_54 = local_64 * DAT_80041004; - local_50 = local_60 * DAT_80041004; - local_4c = local_5c * DAT_80041004; - if (0 < DAT_80040ff4) { - local_54 = local_54 + (*(float *)(local_c0 + 8) - *local_c4) / DAT_80041004; - local_50 = local_50 + (*(float *)(local_c0 + 0xc) - local_c4[1]) / DAT_80041004; - local_4c = local_4c + (*(float *)(local_c0 + 0x10) - local_c4[2]) / DAT_80041004; - } - goto LAB_7f0602ec; - } - iVar2 = FUN_7f07cf58(); - if ((iVar2 == 0) || ((*(byte *)(iVar2 + 1) & 2) == 0)) { - FUN_7f068938(auStack176,&local_bc); - uVar1 = FUN_7f0784c4(); - FUN_7f058880(uVar1,&local_bc); - } - else { - FUN_7f07cf84(&local_bc); - } - local_54 = local_bc * DAT_80049f18; - local_50 = local_b8 * DAT_80049f18; - local_4c = local_b4 * DAT_80049f18; - if (0 < DAT_80040ff4) { - local_54 = local_54 + (*(float *)(local_c0 + 8) - *local_c4) / DAT_80041004; - local_50 = local_50 + (*(float *)(local_c0 + 0xc) - local_c4[1]) / DAT_80041004; - local_4c = local_4c + (*(float *)(local_c0 + 0x10) - local_c4[2]) / DAT_80041004; - } - if (iVar2 == 0) { - local_d4 = *(undefined4 *)(local_c0 + 8); -LAB_7f0601e4: - local_d0 = *(undefined4 *)(local_c0 + 0xc); - local_cc = *(undefined4 *)(local_c0 + 0x10); - } - else { - if ((*(byte *)(iVar2 + 1) & 2) == 0) { - local_d4 = *(undefined4 *)(local_c0 + 8); - goto LAB_7f0601e4; - } - iVar2 = *(int *)(iVar2 + 4); - local_d4 = *(undefined4 *)(*(int *)(*(int *)(iVar2 + 0x14) + 0xc) + 0x130); - local_d0 = *(undefined4 *)(*(int *)(*(int *)(iVar2 + 0x14) + 0xc) + 0x134); - local_cc = *(undefined4 *)(*(int *)(*(int *)(iVar2 + 0x14) + 0xc) + 0x138); - uVar1 = FUN_7f0784c4(); - FUN_7f05891c(uVar1,&local_d4); - } - FUN_7f09bcc0(); -LAB_7f0602ec: - loc_7F058030(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xad0,auStack164); - local_74 = 0; - local_70 = 0; - local_6c = 0; - local_4 = *(int *)(local_8 + 0x220); - if (local_4 == 0) { - local_4 = FUN_7f05234c(0xca,0x56); - } - else { - *(undefined4 *)(local_8 + 0x224) = 1; - } - if (local_4 != 0) { - *(undefined2 *)(local_4 + 0x82) = 0xffff; - *(uint *)(local_4 + 100) = *(uint *)(local_4 + 100) & 0xfff9ffff; - iVar2 = FUN_7f09a690(); - *(uint *)(local_4 + 100) = *(uint *)(local_4 + 100) | iVar2 << 0x11; - loc_7F05EE10(local_4,&local_d4,auStack164,&local_54,auStack72); - if (((*(uint *)(local_4 + 100) & 0x80) != 0) && - (**(uint **)(local_4 + 0x6c) = **(uint **)(local_4 + 0x6c) | 0x80, local_c8 != 0x20)) { - **(uint **)(local_4 + 0x6c) = **(uint **)(local_4 + 0x6c) | 0x20; - *(undefined4 *)(*(int *)(local_4 + 0x6c) + 0xb0) = *(undefined4 *)(local_4 + 0x5c); - *(undefined4 *)(*(int *)(local_4 + 0x6c) + 0xb4) = - *(undefined4 *)(*(int *)(local_4 + 0x6c) + 8); - *(float *)(*(int *)(local_4 + 0x6c) + 0x10) = local_64; - *(float *)(*(int *)(local_4 + 0x6c) + 0x14) = local_60; - *(float *)(*(int *)(local_4 + 0x6c) + 0x18) = local_5c; - *(undefined4 *)(*(int *)(local_4 + 0x6c) + 0xbc) = 0x32; - iVar2 = *(int *)(local_4 + 0x6c); - if (*(int *)(iVar2 + 0x98) == 0) { - FUN_70008268(_DAT_80056900,1,iVar2 + 0x98); - } - else { - if (*(int *)(iVar2 + 0x9c) == 0) { - FUN_70008268(_DAT_80056900,1,iVar2 + 0x9c); - } - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f060e2c) overlaps instruction at (ram,0x7f060e28) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f060480(int iParm1) - -{ - float *pfVar1; - undefined8 uVar2; - longlong lVar3; - uint *puVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - uint uVar11; - char cVar12; - undefined4 uVar13; - float fVar14; - float fVar15; - float fVar16; - float fStack548; - float fStack544; - float fStack540; - undefined4 uStack532; - undefined4 uStack524; - undefined4 uStack520; - undefined4 uStack516; - undefined4 uStack512; - undefined4 uStack508; - undefined4 uStack504; - undefined4 uStack500; - undefined4 uStack496; - undefined4 uStack492; - undefined4 uStack488; - float fStack480; - float fStack476; - float fStack472; - float fStack468; - float fStack464; - float fStack460; - float fStack456; - float fStack452; - float fStack448; - undefined4 *puStack432; - int iStack428; - int iStack424; - int iStack416; - undefined4 *puStack412; - undefined auStack404 [64]; - undefined auStack340 [48]; - undefined4 uStack292; - undefined4 uStack288; - undefined4 uStack284; - float fStack276; - float fStack272; - float fStack268; - int iStack264; - undefined auStack260 [56]; - float fStack204; - undefined auStack196 [64]; - float fStack132; - float fStack128; - float fStack124; - float fStack116; - float fStack112; - float fStack108; - float fStack100; - float fStack96; - float fStack92; - float fStack84; - float fStack80; - float fStack76; - undefined auStack68 [64]; - int iStack4; - - fStack276 = DAT_80031190; - fStack272 = (float)DAT_80031194; - fStack268 = (float)DAT_80031198; - iVar9 = _DAT_80068bc0 + iParm1 * 0x3a8; - puStack412 = NULL; - iStack416 = 0; - iVar10 = iVar9 + 0x868; - uVar2 = FUN_7f05defc(); - iStack428 = (int)uVar2; - puStack432 = (undefined4 *)FUN_7f05cd64(uVar2); - if (iParm1 == 0) { - uVar2 = FUN_7f05defc(1); - lVar3 = FUN_7f05e56c(uVar2,0x800); - if (lVar3 == 0) { - *(float *)(iVar9 + 0xa2c) = - *(float *)(iVar9 + 0xa2c) - (DAT_80041004 + DAT_80041004) / 240.00000000; - if (*(float *)(iVar9 + 0xa2c) < 0.00000000) { - *(undefined4 *)(iVar9 + 0xa2c) = 0; - } - } - else { - *(float *)(iVar9 + 0xa2c) = - *(float *)(iVar9 + 0xa2c) + (DAT_80041004 + DAT_80041004) / 240.00000000; - if (2.00000000 < *(float *)(iVar9 + 0xa2c)) { - *(undefined4 *)(iVar9 + 0xa2c) = 0x40000000; - } - } - } - else { - uVar2 = FUN_7f05defc(0); - lVar3 = FUN_7f05e56c(uVar2,0x800); - if (lVar3 == 0) { - *(float *)(iVar9 + 0xa2c) = - *(float *)(iVar9 + 0xa2c) + (DAT_80041004 + DAT_80041004) / 240.00000000; - if (0.00000000 < *(float *)(iVar9 + 0xa2c)) { - *(undefined4 *)(iVar9 + 0xa2c) = 0; - } - } - else { - *(float *)(iVar9 + 0xa2c) = - *(float *)(iVar9 + 0xa2c) - (DAT_80041004 + DAT_80041004) / 240.00000000; - if (*(float *)(iVar9 + 0xa2c) < -2.00000000) { - *(undefined4 *)(iVar9 + 0xa2c) = 0xc0000000; - } - } - } - fStack456 = DAT_8003119c; - fStack452 = DAT_800311a0; - fStack448 = DAT_800311a4; - fStack468 = DAT_800311a8; - fStack464 = DAT_800311ac; - fStack460 = DAT_800311b0; - fStack480 = DAT_800311b4; - fStack476 = DAT_800311b8; - fStack472 = DAT_800311bc; - iVar8 = *(int *)(iVar9 + 0xa00); - uVar11 = iVar8 + 3U & 3; - if (((int)(iVar8 + 3U) < 0) && (uVar11 != 0)) { - uVar11 -= 4; - } - iVar5 = iVar10 + uVar11 * 0xc; - iVar6 = iVar10 + iVar8 * 0xc; - uVar11 = iVar8 + 1U & 3; - if (((int)(iVar8 + 1U) < 0) && (uVar11 != 0)) { - uVar11 -= 4; - } - iVar7 = iVar10 + uVar11 * 0xc; - uVar11 = iVar8 + 2U & 3; - if (((int)(iVar8 + 2U) < 0) && (uVar11 != 0)) { - uVar11 -= 4; - } - iVar8 = iVar10 + uVar11 * 0xc; - sub_7F05AEFC(iVar5 + 0x108,iVar6 + 0x108,iVar7 + 0x108,iVar8 + 0x108, - *(undefined4 *)(iVar9 + 0xa04),&fStack456); - sub_7F05AEFC(iVar5 + 0x138,iVar6 + 0x138,iVar7 + 0x138,iVar8 + 0x138, - *(undefined4 *)(iVar9 + 0xa04),&fStack468); - sub_7F05AEFC(iVar5 + 0x168,iVar6 + 0x168,iVar7 + 0x168,iVar8 + 0x168, - *(undefined4 *)(iVar9 + 0xa04),&fStack480); - fStack448 = fStack448 * *(float *)(_DAT_80068bc0 + 0xfb8); - fStack456 = fStack456 * *(float *)(_DAT_80068bc0 + 0xfb8) + *(float *)(iVar9 + 0xa14); - fStack452 = fStack452 * *(float *)(_DAT_80068bc0 + 0xfb8) + *(float *)(iVar9 + 0xa18); - fVar15 = (float)FUN_7f05e170(iParm1); - fVar14 = DAT_80049f20; - fStack456 = fStack456 + fVar15; - iVar8 = 0; - if (0 < DAT_80040ff4) { - fVar15 = *(float *)(iVar9 + 0x94c); - while( true ) { - iVar8 += 1; - *(float *)(iVar9 + 0x94c) = fStack456 + fVar14 * fVar15; - *(float *)(iVar9 + 0x950) = fStack452 + fVar14 * *(float *)(iVar9 + 0x950); - *(float *)(iVar9 + 0x954) = fStack448 + fVar14 * *(float *)(iVar9 + 0x954); - *(float *)(iVar9 + 0x958) = fStack468 + fVar14 * *(float *)(iVar9 + 0x958); - *(float *)(iVar9 + 0x95c) = fStack464 + fVar14 * *(float *)(iVar9 + 0x95c); - *(float *)(iVar9 + 0x960) = fStack460 + fVar14 * *(float *)(iVar9 + 0x960); - *(float *)(iVar9 + 0x964) = fStack480 + fVar14 * *(float *)(iVar9 + 0x964); - *(float *)(iVar9 + 0x968) = fStack476 + fVar14 * *(float *)(iVar9 + 0x968); - *(float *)(iVar9 + 0x96c) = fStack472 + fVar14 * *(float *)(iVar9 + 0x96c); - if (DAT_80040ff4 <= iVar8) break; - fVar15 = *(float *)(iVar9 + 0x94c); - } - } - fVar14 = DAT_80049f24; - fVar16 = *(float *)(iVar9 + 0x950) * DAT_80049f24; - fVar15 = *(float *)(iVar9 + 0x954) * DAT_80049f24; - *(float *)(iVar9 + 0x928) = *(float *)(iVar9 + 0x94c) * DAT_80049f24; - *(float *)(iVar9 + 0x92c) = fVar16; - *(float *)(iVar9 + 0x930) = fVar15; - *(float *)(iVar9 + 0x934) = *(float *)(iVar9 + 0x958) * fVar14; - *(float *)(iVar9 + 0x938) = *(float *)(iVar9 + 0x95c) * fVar14; - *(float *)(iVar9 + 0x93c) = *(float *)(iVar9 + 0x960) * fVar14; - *(float *)(iVar9 + 0x940) = *(float *)(iVar9 + 0x964) * fVar14; - *(float *)(iVar9 + 0x944) = *(float *)(iVar9 + 0x968) * fVar14; - *(float *)(iVar9 + 0x948) = *(float *)(iVar9 + 0x96c) * fVar14; - if (iParm1 == 0) { - fVar14 = (float)FUN_7f05e1a0(); - fStack276 = *(float *)(iVar9 + 0xa20) + fVar14 + *(float *)(iVar9 + 0x928); - } - else { - fVar14 = (float)FUN_7f05e1a0(); - fStack276 = (fVar14 + *(float *)(iVar9 + 0x928)) - *(float *)(iVar9 + 0xa20); - } - fStack272 = *(float *)(iVar9 + 0xa24) + (float)puStack432[2] + *(float *)(iVar9 + 0x92c); - fStack268 = *(float *)(iVar9 + 0xa28) + (float)puStack432[3] + *(float *)(iVar9 + 0x930); - if (((iStack428 == 0x19) || (iStack428 == 0x1e)) || (iStack428 == 0x17)) { - fStack272 = fStack272 + *(float *)(_DAT_80068bc0 + 0xa0) / -100.00000000; - fStack268 = fStack268 + (*(float *)(_DAT_80068bc0 + 0xa0) * 3.00000000) / -100.00000000; - if ((iStack428 == 0x19) && - (((lVar3 = FUN_7f0a41e8(), lVar3 == 1 || (lVar3 = FUN_7f0a41e8(), lVar3 == 2)) || - (lVar3 = FUN_7f0a4200(), lVar3 == 1)))) { - fStack272 = fStack272 - 3.00000000; - } - } - else { - if (iStack428 == 0x1f) { - fStack272 = fStack272 + (*(float *)(_DAT_80068bc0 + 0xa0) * 2.50000000) / -100.00000000; - fStack268 = fStack268 + (*(float *)(_DAT_80068bc0 + 0xa0) * 7.50000000) / -100.00000000; - } - else { - fStack272 = fStack272 + (*(float *)(_DAT_80068bc0 + 0xa0) * 5.00000000) / -100.00000000; - fStack268 = fStack268 + (*(float *)(_DAT_80068bc0 + 0xa0) * 15.00000000) / -100.00000000; - } - } - if ((*(char *)(iVar9 + 0x874) != '\0') && (lVar3 = FUN_7f05e56c(iStack428,0x20), lVar3 != 0)) { - lVar3 = FUN_7f05e56c(iStack428,0x40); - if (lVar3 != 0) { - lVar3 = FUN_700098b0(); - fVar14 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fStack276 = fStack276 + (DAT_80049f2c - fVar14 * 0.00000000 * DAT_80049f28); - } - lVar3 = FUN_700098b0(); - fVar14 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fStack272 = fStack272 + (DAT_80049f34 - fVar14 * 0.00000000 * DAT_80049f30); - lVar3 = FUN_700098b0(); - fVar14 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fStack268 = fStack268 + (DAT_80049f3c - fVar14 * 0.00000000 * DAT_80049f38); - } - fVar14 = (float)FUN_7f078524(); - fVar15 = (float)FUN_7f078524(); - fVar16 = (float)FUN_7f078544(); - fStack276 = fStack276 + - (((*(float *)(_DAT_80068bc0 + 0xff4) - fVar16) - fVar15 * 0.50000000) * - (float)puStack432[6]) / (fVar14 * 0.50000000); - fVar14 = (float)FUN_7f078554(); - fVar15 = (float)FUN_7f078534(); - if (fVar15 * 0.50000000 < *(float *)(_DAT_80068bc0 + 0xff8) - fVar14) { - fVar14 = (float)FUN_7f078534(); - fVar15 = (float)FUN_7f078534(); - fVar16 = (float)FUN_7f078554(); - fStack272 = fStack272 - - (((*(float *)(_DAT_80068bc0 + 0xff8) - fVar16) - fVar15 * 0.50000000) * - (float)puStack432[5]) / (fVar14 * 0.50000000); - } - else { - fVar14 = (float)FUN_7f078534(); - fVar15 = (float)FUN_7f078534(); - fVar16 = (float)FUN_7f078554(); - fStack272 = fStack272 - - (((*(float *)(_DAT_80068bc0 + 0xff8) - fVar16) - fVar15 * 0.50000000) * - (float)puStack432[4]) / (fVar14 * 0.50000000); - } - FUN_7f05cac4(); - sub_GAME_7F05A9B8(auStack340); - if ((iStack428 == 0x1e) || (iStack428 == 0x17)) { - uStack496 = DAT_800311c0; - uStack492 = DAT_800311c4; - uStack488 = DAT_800311c8; - FUN_7f058bbc(&uStack496,auStack260); - FUN_7f058540(auStack260,auStack340); - iVar8 = *(int *)(iVar9 + 0x924); - } - else { - if (iStack428 == 0x1f) { - uStack508 = DAT_800311cc; - uStack504 = DAT_800311d0; - uStack500 = DAT_800311d4; - FUN_7f058bbc(&uStack508,auStack260); - FUN_7f058540(auStack260,auStack340); - iVar8 = *(int *)(iVar9 + 0x924); - } - else { - if (iStack428 == 1) { - if (*(int *)(_DAT_80068bc0 + 0x2a30) != 0x11) { - iVar8 = *(int *)(iVar9 + 0x924); - goto LAB_7f060f4c; - } - uStack520 = DAT_800311d8; - uStack516 = DAT_800311dc; - uStack512 = DAT_800311e0; - FUN_7f058bbc(&uStack520,auStack260); - FUN_7f058540(auStack260,auStack340); - fStack276 = fStack276 + -2.50000000; - fStack272 = fStack272 + DAT_80049f40; - fStack268 = fStack268 + 2.00000000; - } - iVar8 = *(int *)(iVar9 + 0x924); - } - } -LAB_7f060f4c: - if (iVar8 == 0) { - *(undefined4 *)(iVar9 + 0x8e0) = 0; - *(undefined4 *)(iVar9 + 0x8d4) = 0; - *(undefined4 *)(iVar9 + 0x8d8) = 0; - *(undefined4 *)(iVar9 + 0x8dc) = 0; - } - else { - fStack276 = fStack276 + *(float *)(iVar9 + 0x914); - fStack272 = fStack272 + *(float *)(iVar9 + 0x918); - fStack268 = fStack268 + *(float *)(iVar9 + 0x91c); - FUN_7f058540(iVar9 + 0x8e4,auStack340); - uStack292 = 0; - uStack288 = 0; - uStack284 = 0; - } - FUN_7f059db0(auStack260,0,0,0,*(undefined4 *)(iVar9 + 0x934),*(undefined4 *)(iVar9 + 0x938), - *(undefined4 *)(iVar9 + 0x93c),*(undefined4 *)(iVar9 + 0x940), - *(undefined4 *)(iVar9 + 0x944),*(undefined4 *)(iVar9 + 0x948)); - FUN_7f058540(auStack260,auStack340); - FUN_7f05a190(auStack260,0,fStack276 - *(float *)(iVar9 + 0xa30), - fStack272 - *(float *)(iVar9 + 0xa34),fStack268 - *(float *)(iVar9 + 0xa38)); - FUN_7f058540(auStack260,auStack340); - loc_7F058030(auStack340,auStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&fStack276,auStack68); - loc_7F058030(auStack68); - loc_7F058030(iVar9 + 0xad0,iVar9 + 0xb10); - uVar2 = FUN_7f0784c4(); - loc_7F05823C(uVar2,iVar9 + 0xa90,iVar9 + 0xad0); - *(undefined *)(iVar9 + 0x877) = 1; - lVar3 = FUN_7f05d500(iStack428); - if ((lVar3 == 0) || (lVar3 = FUN_7f05e56c(iStack428,0x800), lVar3 == 0)) { -LAB_7f061124: - *(undefined *)(iVar9 + 0x877) = 0; - } - else { - lVar3 = FUN_7f05e56c(iStack428,0x2000); - if (lVar3 == 0) { - if (*(int *)(iVar9 + 0x88c) == 6) goto LAB_7f061124; - if (*(int *)(iVar9 + 0x88c) == 7) { - *(undefined *)(iVar9 + 0x877) = 0; - } - else { - lVar3 = FUN_7f05d36c(iParm1); - if (lVar3 != 0) { - lVar3 = FUN_7f05d3b0(iParm1); - if (lVar3 != 0) { - iVar8 = *(int *)(iVar9 + 0x894); - goto LAB_7f06112c; - } - goto LAB_7f061124; - } - *(undefined *)(iVar9 + 0x877) = 0; - } - } - else { - *(undefined *)(iVar9 + 0x877) = 0; - } - } - iVar8 = *(int *)(iVar9 + 0x894); -LAB_7f06112c: - if (iVar8 < 1) { - lVar3 = FUN_7f05e56c(iStack428,2); - if (lVar3 == 0) { - cVar12 = *(char *)(iVar9 + 0x877); - } - else { - *(undefined *)(iVar9 + 0x877) = 0; - cVar12 = *(char *)(iVar9 + 0x877); - } - } - else { - cVar12 = *(char *)(iVar9 + 0x877); - } - if (cVar12 != '\0') { - iVar8 = _DAT_80068bc0 + iParm1 * 0x1c; - iStack264 = iVar8 + 0x810; - iStack424 = 0; - iStack4 = FUN_7f0bcac4((int)*(short *)(iVar8 + 0x81e) << 6); - iVar8 = iStack424; - if (0 < *(short *)(iStack264 + 0xe)) { - do { - iStack424 = iVar8; - sub_GAME_7F05A9B8(); - iVar8 = iStack424 + 1; - } while ((longlong)(iStack424 + 1) < (longlong)*(short *)(iStack264 + 0xe)); - } - FUN_7f075d7c(iStack264); - iVar5 = iVar9 + 0xb60; - sub_7F075F68(iVar5,iStack264,iVar9 + 0xb80); - loc_7F05EA84(iVar5,1); - loc_7F05EB00(iVar5,*(undefined *)(iVar9 + 0x876)); - iVar8 = *(int *)(iStack264 + 8); - if (*(int *)(iVar8 + 4) == 0) { - iVar10 = *(int *)(iVar8 + 0xc); - } - else { - puStack412 = (undefined4 *) - (iVar10 + (uint)*(ushort *)(*(int *)(*(int *)(iVar8 + 4) + 4) + 4) * 4 + 0x318); - iVar10 = *(int *)(iVar8 + 0xc); - } - if (iVar10 != 0) { - iStack416 = *(int *)(iVar10 + 4); - } - *(int *)(iVar9 + 0xb6c) = iStack4; - lVar3 = FUN_7f05e56c(iStack428,0x400); - if ((lVar3 != 0) && (iParm1 == 1)) { - sub_7F0589B4(0xbf800000); - } - matrix_multiply_A1_by_F12(DAT_80049f44); - loc_7F058030(auStack68,iStack4); - if (*(int *)(iStack264 + 4) == -0x7ffc9994) { - iVar10 = *(int *)(*(int *)(iStack264 + 8) + 0x10); - if (iVar10 == 0) { - iVar10 = *(int *)(*(int *)(iStack264 + 8) + 0x14); - } - else { - fVar14 = 0.00000000; - uStack524 = *(undefined4 *)(iVar10 + 4); - if (iStack428 == 0x12) { - if (*(int *)(iVar9 + 0x88c) == 1) { - fVar14 = ((float)(*(int *)(iVar9 + 0x888) + *(int *)(iVar9 + 0x894) * -5 + 0x19) * - DAT_80049f48) / 30.00000000; - } - else { - fVar14 = ((float)(6 - *(int *)(iVar9 + 0x894)) * DAT_80049f4c) / 6.00000000; - } - } - else { - if ((*(int *)(iVar9 + 0x88c) == 1) && (*(int *)(iVar9 + 0x888) < 5)) { - fVar14 = ((float)*(int *)(iVar9 + 0x888) * DAT_80049f50) / 30.00000000; - } - } - FUN_7f058b30(fVar14,uStack524,auStack260); - copies_first_3_floats_from_a0_to_a1_plus_0x30(uStack524,auStack260); - loc_7F0580E4(auStack68,auStack260,iStack4 + 0xc0); - iVar10 = *(int *)(*(int *)(iStack264 + 8) + 0x14); - } - if (iVar10 != 0) { - if (*(int *)(iVar9 + 0x88c) == 1) { - iVar8 = *(int *)(iVar9 + 0x888); - if (iVar8 < 2) { - fVar14 = -(float)iVar8 * DAT_80049f54 + -(float)iVar8 * DAT_80049f54; - } - else { - fVar14 = -(float)(5 - iVar8) * DAT_80049f58; - fVar14 = fVar14 + fVar14; - } - uStack532 = *(undefined4 *)(iVar10 + 4); - FUN_7f058a18(fVar14 / 5.00000000); - copies_first_3_floats_from_a0_to_a1_plus_0x30(uStack532,auStack260); - } - else { - FUN_7f058e0c(*(undefined4 *)(iVar10 + 4),auStack260); - } - loc_7F0580E4(auStack68,auStack260,iStack4 + 0x100); - } - } - if (puStack412 != NULL) { - *puStack412 = 0; - } - if (iStack416 == 0) { - *(undefined4 *)(iVar9 + 0xb50) = *(undefined4 *)(iVar9 + 0xb00); - *(float *)(iVar9 + 0xb5c) = -*(float *)(iVar9 + 0xac8); - *(undefined4 *)(iVar9 + 0xb54) = *(undefined4 *)(iVar9 + 0xb04); - *(undefined4 *)(iVar9 + 0xb58) = *(undefined4 *)(iVar9 + 0xb08); - iVar10 = *(int *)(iStack264 + 8); - } - else { - lVar3 = FUN_700098b0(); - fVar14 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar14 = fVar14 * 0.00000000 * 0.25000000 + 1.00000000; - uVar13 = *puStack432; - lVar3 = FUN_7f05e56c(iStack428,1); - if (lVar3 == 0) { - FUN_7f058e0c(iStack416,&fStack132); - } - else { - lVar3 = FUN_700098b0(); - fVar15 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - FUN_7f058b30(fVar15 * 0.00000000 * DAT_80049f5c); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iStack416,&fStack132); - } - matrix_multiply_A1_by_F12(fVar14); - sub_7F058A14(uVar13); - FUN_7f058510(auStack68,&fStack132); - loc_7F058030(&fStack132,iStack4 + 0x40); - *(float *)(iVar9 + 0xb50) = fStack84; - *(float *)(iVar9 + 0xb54) = fStack80; - *(float *)(iVar9 + 0xb58) = fStack76; - uVar2 = FUN_7f0784c4(); - FUN_7f05891c(uVar2,iVar9 + 0xb50); - *(float *)(iVar9 + 0xb5c) = -fStack76; - if (*(char *)(iVar9 + 0x875) != '\0') { - if (puStack412 != NULL) { - *puStack412 = 1; - } - iVar10 = *(int *)(*(int *)(iStack264 + 8) + 8); - if (iVar10 != 0) { - pfVar1 = *(float **)(iVar10 + 4); - fStack548 = fStack84 + *pfVar1 * fStack132 + pfVar1[1] * fStack116 + pfVar1[2] * fStack100 - ; - fStack544 = fStack80 + *pfVar1 * fStack128 + pfVar1[1] * fStack112 + pfVar1[2] * fStack96; - fStack540 = fStack76 + *pfVar1 * fStack124 + pfVar1[1] * fStack108 + pfVar1[2] * fStack92; - lVar3 = FUN_700098b0(); - fVar15 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - FUN_7f05a190(auStack196,fVar15 * 0.00000000 * DAT_80049f60,-fStack548,-fStack544, - -fStack540); - matrix_multiply_A1_by_F12(DAT_80049f64 * fVar14); - loc_7F059CD4(auStack404,0,fStack276 - *(float *)(iVar9 + 0xa30), - fStack272 - *(float *)(iVar9 + 0xa34),fStack268 - *(float *)(iVar9 + 0xa38)); - FUN_7f058510(auStack404,auStack196); - sub_7F058B80(uVar13); - FUN_7f058510(auStack340,auStack196); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&fStack548,auStack196); - loc_7F058030(auStack196,iStack4 + 0x80); - } - if ((*(int *)(iStack264 + 4) == -0x7ffc9954) && - (iVar10 = *(int *)(*(int *)(iStack264 + 8) + 0x10), iVar10 != 0)) { - pfVar1 = *(float **)(iVar10 + 4); - iVar10 = iStack4 + 0xc0; - fStack548 = fStack84 + *pfVar1 * fStack132 + pfVar1[1] * fStack116 + pfVar1[2] * fStack100 - ; - fStack544 = fStack80 + *pfVar1 * fStack128 + pfVar1[1] * fStack112 + pfVar1[2] * fStack96; - fVar14 = DAT_80049f68 * fVar14; - fStack540 = fStack76 + *pfVar1 * fStack124 + pfVar1[1] * fStack108 + pfVar1[2] * fStack92; - lVar3 = FUN_700098b0(); - fVar15 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - FUN_7f05a190(auStack196,fVar15 * 0.00000000 * DAT_80049f6c,-fStack548,-fStack544, - -fStack540); - matrix_multiply_A1_by_F12(fVar14); - loc_7F059CD4(auStack404,0,fStack276 - *(float *)(iVar9 + 0xa30), - fStack272 - *(float *)(iVar9 + 0xa34),fStack268 - *(float *)(iVar9 + 0xa38)); - FUN_7f058510(auStack404,auStack196); - sub_7F058B80(uVar13); - FUN_7f058510(auStack340,auStack196); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&fStack548,auStack196); - loc_7F058030(auStack196,iVar10); - } - } - iVar10 = *(int *)(iStack264 + 8); - } - iVar10 = *(int *)(iVar10 + 0x18); - if (iVar10 != 0) { - uVar13 = *(undefined4 *)(iVar10 + 4); - iVar10 = loc_7F06C654(iVar10,0); - FUN_7f05eb6c(iParm1,*(undefined4 *)(iVar9 + 0x878)); - if ((*(short *)(iStack264 + 0xc) < 0x1d) || - (iVar8 = *(int *)(*(int *)(iStack264 + 8) + 0x70), iVar8 == 0)) { - FUN_7f058978(uVar13,*(undefined4 *)(iVar9 + 0xa7c),auStack260); - } - else { - pfVar1 = *(float **)(iVar8 + 4); - fVar14 = (float)FUN_7f05eb1c(iParm1); - guRotate(auStack260, - (((*(float *)(iVar9 + 0xa7c) + DAT_80049f70) - fVar14) * 360.00000000) / - DAT_80049f74,*pfVar1 - pfVar1[3],pfVar1[1] - pfVar1[4],pfVar1[2] - pfVar1[5]); - copies_first_3_floats_from_a0_to_a1_plus_0x30(uVar13,auStack260); - } - loc_7F05823C(auStack68,auStack260,iVar10 * 0x40 + iStack4); - } - if (0x1d < *(short *)(iStack264 + 0xc)) { - FUN_7f087d74(iVar5,iStack264,0x1d); - } - iVar10 = *(int *)(*(int *)(iStack264 + 8) + 0x1c); - if (iVar10 != 0) { - uVar13 = *(undefined4 *)(iVar10 + 4); - iVar10 = loc_7F06C654(iVar10,0); - FUN_7f05ecf4(iParm1); - FUN_7f058e0c(uVar13,auStack260); - fStack204 = fStack204 - *(float *)(iVar9 + 0xa80); - loc_7F0580E4(auStack68,auStack260,iVar10 * 0x40 + iStack4); - } - iVar10 = 0; - iVar8 = 0; - if (0x12 < *(short *)(iStack264 + 0xc)) { - do { - if ((*(int *)(*(int *)(iStack264 + 8) + iVar8 + 0x48) != 0) && - (puVar4 = (uint *)loc_7F06C888(iVar5), puVar4 != NULL)) { - *puVar4 = (uint)(*(int *)(iVar9 + 0x89c) < 5 - iVar10) ^ 1; - } - if ((*(int *)(*(int *)(iStack264 + 8) + iVar8 + 0x5c) != 0) && - (puVar4 = (uint *)loc_7F06C888(iVar5), puVar4 != NULL)) { - *puVar4 = (uint)(*(int *)(iVar9 + 0x89c) < 5 - iVar10) ^ 1; - } - iVar10 += 1; - iVar8 += 4; - } while (iVar10 != 5); - } - loc_7F06F0C0(iVar5); - if ((*(char *)(iVar9 + 0x874) != '\0') && (true)) { - switch(iStack428) { - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - FUN_7f0620b8(iParm1); - *(int *)(iVar9 + 0x898) = *(int *)(iVar9 + 0x898) + 1; - break; - case 0x16: - case 0x17: - *(int *)(iVar9 + 0x898) = *(int *)(iVar9 + 0x898) + 1; - FUN_7f0620b8(iParm1); - } - } - } - if (iStack428 == 0x19) { - FUN_7f05fde0(iParm1); - cVar12 = *(char *)(iVar9 + 0x874); - } - else { - cVar12 = *(char *)(iVar9 + 0x874); - } - if (cVar12 != '\0') { - uVar13 = sub_7F089778(_DAT_80068bc0); - FUN_7f068c68(iParm1,uVar13); - if (iStack428 == 0x18) { - FUN_7f05fbf4(iParm1); - } - else { - if (iStack428 == 0x1a) { - FUN_7f05f2dc(iParm1); - } - else { - if (iStack428 == 0x19) { - FUN_7f06001c(iParm1); - } - else { - if (iStack428 == 3) { - FUN_7f05f554(iParm1); - } - else { - if (((((iStack428 == 0x1d) || (iStack428 == 0x1c)) || (iStack428 == 0x1b)) || - ((iStack428 == 0x21 || (iStack428 == 0x2f)))) || - ((iStack428 == 0x30 || ((iStack428 == 0x3d || (iStack428 == 0x22)))))) { - FUN_7f05f810(iParm1); - } - else { - if (iStack428 == 0x23) { - FUN_7f05fbf4(iParm1); - } - else { - if (iStack428 == 0x24) { - FUN_7f05fbf4(iParm1); - } - } - } - } - } - } - } - } - return; -} - - - -void FUN_7f061de4(void) - -{ - FUN_7f060480(0); - FUN_7f060480(1); - return; -} - - - -void loc_7F061BE8(undefined *puParm1,int iParm2,float *pfParm3,float *pfParm4) - -{ - bool bVar1; - float fVar2; - float fVar3; - longlong lVar4; - float fVar5; - float fVar6; - float fVar7; - - *(float *)(puParm1 + 4) = *pfParm3; - *(float *)(puParm1 + 8) = pfParm3[1]; - *(float *)(puParm1 + 0xc) = pfParm3[2]; - *(float *)(puParm1 + 0x10) = *pfParm4 - *pfParm3; - *(float *)(puParm1 + 0x14) = pfParm4[1] - pfParm3[1]; - *(float *)(puParm1 + 0x18) = pfParm4[2] - pfParm3[2]; - fVar5 = (float)sqrtf(*(float *)(puParm1 + 0x18) * *(float *)(puParm1 + 0x18) + - *(float *)(puParm1 + 0x10) * *(float *)(puParm1 + 0x10) + - *(float *)(puParm1 + 0x14) * *(float *)(puParm1 + 0x14)); - fVar7 = 1.00000000 / fVar5; - *(float *)(puParm1 + 0x10) = *(float *)(puParm1 + 0x10) * fVar7; - *(float *)(puParm1 + 0x14) = *(float *)(puParm1 + 0x14) * fVar7; - *(float *)(puParm1 + 0x18) = *(float *)(puParm1 + 0x18) * fVar7; - if (iParm2 == 0x17) { - fVar7 = 300.00000000; - if (fVar5 <= 300.00000000) goto LAB_7f061f18; - } - else { - fVar7 = DAT_80049fc8; - if (fVar5 <= DAT_80049fc8) goto LAB_7f061f18; - } - fVar5 = fVar7; -LAB_7f061f18: - fVar6 = 500.00000000; - *puParm1 = 0; - puParm1[1] = (char)iParm2; - *(float *)(puParm1 + 0x1c) = fVar5; - fVar3 = DAT_80049fe0; - fVar2 = DAT_80049fdc; - fVar7 = DAT_80049fcc; - if (500.00000000 <= fVar5) { - fVar6 = fVar5; - } - if (iParm2 == 0x16) { - *(float *)(puParm1 + 0x20) = fVar6 * 0.25000000; - fVar5 = DAT_80049fd0 * fVar6; - *(float *)(puParm1 + 0x24) = fVar5; - if (fVar7 < fVar5) { - *(float *)(puParm1 + 0x24) = fVar7; - } - lVar4 = FUN_700098b0(); - fVar5 = (float)(int)lVar4; - if (lVar4 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puParm1 + 0x28) = (DAT_80049fd8 - fVar5 * 0.00000000 * DAT_80049fd4) * fVar6; - } - else { - if (iParm2 == 0x17) { - *(float *)(puParm1 + 0x24) = fVar6; - *(float *)(puParm1 + 0x20) = fVar6 + fVar6; - if (fVar2 < fVar6) { - *(float *)(puParm1 + 0x24) = fVar2; - } - *(undefined4 *)(puParm1 + 0x28) = 0; - } - else { - fVar6 = DAT_80049fe4 * fVar6; - bVar1 = DAT_80049fe0 < fVar6; - *(float *)(puParm1 + 0x20) = fVar6; - *(float *)(puParm1 + 0x24) = fVar6; - if (bVar1) { - *(float *)(puParm1 + 0x24) = fVar3; - } - lVar4 = FUN_700098b0(); - fVar5 = (float)(int)lVar4; - if (lVar4 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puParm1 + 0x28) = - ((fVar5 * 0.00000000 + fVar5 * 0.00000000) - 1.00000000) * *(float *)(puParm1 + 0x20); - } - } - if (*(float *)(puParm1 + 0x1c) <= *(float *)(puParm1 + 0x28)) { - *puParm1 = 0xff; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0620b8(undefined8 uParm1) - -{ - int iVar3; - undefined8 uVar1; - longlong lVar2; - int iVar4; - int iVar5; - float fVar6; - float local_2c; - float local_28; - float local_24; - float local_20; - float local_1c; - float local_18; - int local_14; - - iVar4 = (int)uParm1; - iVar5 = _DAT_80068bc0 + iVar4 * 0x3a8; - iVar3 = FUN_7f078444(); - if (*(float *)(iVar5 + 0xb5c) <= - -(*(float *)(iVar3 + 0x38) + - *(float *)(iVar5 + 0xc04) * *(float *)(iVar3 + 8) + - *(float *)(iVar5 + 0xc08) * *(float *)(iVar3 + 0x18) + - *(float *)(iVar5 + 0xc0c) * *(float *)(iVar3 + 0x28))) { - uVar1 = FUN_7f05de88(uParm1); - loc_7F061BE8(iVar5 + 0xa4c,uVar1,iVar5 + 0xb50); - if ((*(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4) != 0) && (lVar2 = FUN_7f0999a4(), 1 < lVar2)) - { - iVar3 = _DAT_80068bc0 + iVar4 * 0xc; - local_14 = *(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - local_20 = *(float *)(iVar5 + 0xc04) - *(float *)(iVar3 + 0x2a10); - local_1c = *(float *)(iVar5 + 0xc08) - *(float *)(iVar3 + 0x2a14); - local_18 = *(float *)(iVar5 + 0xc0c) - *(float *)(iVar3 + 0x2a18); - guNormalize(&local_20,&local_1c,&local_18); - local_2c = *(float *)(iVar5 + 0xc04) - *(float *)(iVar5 + 0xb50); - local_28 = *(float *)(iVar5 + 0xc08) - *(float *)(iVar5 + 0xb54); - local_24 = *(float *)(iVar5 + 0xc0c) - *(float *)(iVar5 + 0xb58); - guNormalize(&local_2c,&local_28,&local_24); - fVar6 = (float)sub_GAME_7F05AD5C(local_24 * local_18 + - local_20 * local_2c + local_1c * local_28); - if (fVar6 <= DAT_80049fe8) { - uVar1 = FUN_7f05de88(uParm1); - loc_7F061BE8(local_14 + iVar4 * 0x2c + 0x180,uVar1,_DAT_80068bc0 + iVar4 * 0xc + 0x2a10, - iVar5 + 0xc04); - } - } - } - return; -} - - - -// WARNING: Could not reconcile some variable overlaps -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F062AE4(undefined4 *puParm1,char *pcParm2,undefined4 uParm3) - -{ - byte bVar1; - undefined4 *puVar2; - uint uVar4; - undefined8 uVar3; - undefined4 uVar5; - char cVar6; - undefined4 *puVar7; - undefined4 *puVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - undefined4 *puStackX0; - undefined4 uStackX8; - float fStack216; - float fStack212; - float afStack208 [3]; - float fStack196; - float fStack192; - float fStack188; - undefined4 uStack184; - int iStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack108; - float *pfStack104; - float fStack100; - float fStack96; - float fStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - undefined auStack72 [64]; - undefined4 uStack8; - - if (*pcParm2 < '\0') { - return puParm1; - } - uStack88 = DAT_800311e8; - uStack84 = DAT_800311ec; - uStack76 = DAT_800311f4; - uStack80 = DAT_800311f0; - puStackX0 = puParm1; - uStackX8 = uParm3; - pfStack104 = (float *)FUN_7f08a1a0(); - fStack120 = *(float *)(pcParm2 + 0x28); - fVar14 = *(float *)(pcParm2 + 0x24); - fStack156 = (float)DAT_800311f8; - fStack148 = (float)DAT_80031200; - fStack152 = (float)DAT_800311fc; - fStack168 = DAT_80031204; - fStack164 = DAT_80031208; - fStack160 = DAT_8003120c; - fStack172 = DAT_80049fec; - iStack176 = _DAT_800744b0; - uStack184 = FUN_7f078444(); - if (pcParm2[1] == '\x16') { - fStack108 = 50.00000000; - iStack176 = _DAT_800744b4; - } - else { - if (pcParm2[1] == '\x17') { - fStack108 = 10.00000000; - iStack176 = _DAT_800744b4; - uVar4 = FUN_700098b0(); - uStack76 = uStack76 & 0xffffff00 | (uint)(byte)((char)(uVar4 % 0x32) + 0x96); - uVar4 = FUN_700098b0(); - if (uVar4 % 5 != 0) { - fStack100 = *(float *)(pcParm2 + 4); - goto LAB_7f062470; - } - uVar4 = FUN_700098b0(); - cVar6 = -1 - (char)(uVar4 % 100); - uStack76 = CONCAT13(cVar6,CONCAT12(cVar6,uStack76._2_2_)); - } - else { - fStack108 = 30.00000000; - } - } - fStack100 = *(float *)(pcParm2 + 4); -LAB_7f062470: - fStack96 = *(float *)(pcParm2 + 8); - fStack92 = *(float *)(pcParm2 + 0xc); - if (0.00000000 < fStack120) { - fStack100 = fStack100 + fStack120 * *(float *)(pcParm2 + 0x10); - fStack96 = fStack96 + fStack120 * *(float *)(pcParm2 + 0x14); - fStack92 = fStack92 + fStack120 * *(float *)(pcParm2 + 0x18); - fVar9 = fStack120; - } - else { - fVar14 = fVar14 + fStack120; - fVar9 = 0.00000000; - } - if (*(float *)(pcParm2 + 0x1c) < fVar9 + fVar14) { - fVar14 = *(float *)(pcParm2 + 0x1c) - fVar9; - fVar9 = *(float *)(pcParm2 + 0x18); - } - else { - fVar9 = *(float *)(pcParm2 + 0x18); - } - fStack144 = *(float *)(pcParm2 + 0x14) * (pfStack104[2] - (fStack92 + fVar14 * fVar9)) - - (pfStack104[1] - (*(float *)(pcParm2 + 0x14) * fVar14 + fStack96)) * fVar9; - fStack140 = *(float *)(pcParm2 + 0x18) * - (*pfStack104 - (fStack100 + fVar14 * *(float *)(pcParm2 + 0x10))) - - (pfStack104[2] - (*(float *)(pcParm2 + 0x18) * fVar14 + fStack92)) * - *(float *)(pcParm2 + 0x10); - fStack136 = *(float *)(pcParm2 + 0x10) * - (pfStack104[1] - (fStack96 + fVar14 * *(float *)(pcParm2 + 0x14))) - - (*pfStack104 - (*(float *)(pcParm2 + 0x10) * fVar14 + fStack100)) * - *(float *)(pcParm2 + 0x14); - if (((fStack144 == 0.00000000) && (fStack140 == 0.00000000)) && (fStack136 == 0.00000000)) { - fStack144 = 0.00000000; - fStack136 = 0.00000000; - fStack140 = fStack108; - } - else { - guNormalize(&fStack144,&fStack140,&fStack136); - fStack144 = fStack144 * fStack108; - fStack140 = fStack140 * fStack108; - fStack136 = fStack136 * fStack108; - } - fStack132 = *(float *)(pcParm2 + 0x14) * fStack136 - fStack140 * *(float *)(pcParm2 + 0x18); - fStack128 = *(float *)(pcParm2 + 0x18) * fStack144 - fStack136 * *(float *)(pcParm2 + 0x10); - fStack124 = *(float *)(pcParm2 + 0x10) * fStack140 - fStack144 * *(float *)(pcParm2 + 0x14); - guNormalize(&fStack132,&fStack128,&fStack124); - fStack132 = fStack132 * fStack108; - fStack128 = fStack128 * fStack108; - fStack124 = fStack124 * fStack108; - if (pcParm2[1] == '\x16') { - puVar8 = (undefined4 *)FUN_7f0bca74(8); - } - else { - puVar8 = (undefined4 *)FUN_7f0bca74(4); - } - uStack8 = FUN_7f0bca90(); - FUN_7f058e0c(&fStack100,auStack72); - matrix_multiply_A1_by_F12(DAT_80049ff0); - FUN_7f058540(uStack184,auStack72); - FUN_7f059144(auStack72,uStack8); - *puVar8 = uStack88; - puVar8[1] = uStack84; - puVar8[2] = uStack80; - puVar8[3] = uStack76; - puVar8[4] = uStack88; - puVar8[5] = uStack84; - puVar8[6] = uStack80; - puVar8[7] = uStack76; - puVar8[8] = uStack88; - puVar8[9] = uStack84; - puVar8[10] = uStack80; - puVar8[0xb] = uStack76; - puVar8[0xc] = uStack88; - puVar8[0xd] = uStack84; - puVar8[0xe] = uStack80; - puVar8[0xf] = uStack76; - cVar6 = pcParm2[1]; - if (cVar6 == '\x16') { - puVar8[0x10] = uStack88; - puVar8[0x11] = uStack84; - puVar8[0x12] = uStack80; - puVar8[0x13] = uStack76; - puVar8[0x14] = uStack88; - puVar8[0x15] = uStack84; - puVar8[0x16] = uStack80; - puVar8[0x17] = uStack76; - puVar8[0x18] = uStack88; - puVar8[0x19] = uStack84; - puVar8[0x1a] = uStack80; - puVar8[0x1b] = uStack76; - puVar8[0x1c] = uStack88; - puVar8[0x1d] = uStack84; - puVar8[0x1e] = uStack80; - puVar8[0x1f] = uStack76; - cVar6 = pcParm2[1]; - } - if (cVar6 == '\x17') { - fStack196 = *(float *)(pcParm2 + 0x10) * fVar14 + fStack100; - fStack192 = *(float *)(pcParm2 + 0x14) * fVar14 + fStack96; - fStack188 = *(float *)(pcParm2 + 0x18) * fVar14 + fStack92; - FUN_7f05891c(uStack184,&fStack196); - fStack216 = fStack108 / 10.00000000; - fStack212 = fStack216; - FUN_7f078170(&fStack216,-fStack188,afStack208); - if (afStack208[0] < 2.00000000) { - afStack208[0] = afStack208[0] * 0.50000000; - fStack196 = fStack196 * afStack208[0]; - fStack192 = fStack192 * afStack208[0]; - fStack188 = fStack188 * afStack208[0]; - } - uVar3 = FUN_7f0784c4(); - FUN_7f05891c(uVar3,&fStack196); - fStack196 = fStack196 - fStack100; - fStack192 = fStack192 - fStack96; - fStack156 = fStack196 * 10.00000000; - fStack188 = fStack188 - fStack92; - fStack152 = fStack192 * 10.00000000; - fStack148 = fStack188 * 10.00000000; - } - else { - fStack148 = fVar14 * 10.00000000; - fStack156 = *(float *)(pcParm2 + 0x10) * fStack148; - fStack152 = *(float *)(pcParm2 + 0x14) * fStack148; - fStack148 = *(float *)(pcParm2 + 0x18) * fStack148; - } - puVar2 = puStackX0; - *(short *)puVar8 = (short)(int)fStack144; - *(undefined2 *)((int)puVar8 + 2) = (short)(int)fStack140; - *(short *)(puVar8 + 1) = (short)(int)fStack136; - bVar1 = *(byte *)(iStack176 + 4); - *(undefined2 *)((int)puVar8 + 10) = 0; - *(ushort *)(puVar8 + 2) = (ushort)bVar1 << 5; - *(short *)(puVar8 + 4) = (short)(int)-fStack144; - *(undefined2 *)((int)puVar8 + 0x12) = (short)(int)-fStack140; - *(undefined2 *)(puVar8 + 6) = 0; - *(undefined2 *)((int)puVar8 + 0x1a) = 0; - *(short *)(puVar8 + 5) = (short)(int)-fStack136; - *(short *)(puVar8 + 8) = (short)(int)(fStack144 * DAT_80049ff4 + fStack156); - *(undefined2 *)((int)puVar8 + 0x22) = (short)(int)(fStack140 * DAT_80049ff8 + fStack152); - *(short *)(puVar8 + 9) = (short)(int)(fStack136 * DAT_80049ffc + fStack148); - *(ushort *)(puVar8 + 10) = (ushort)*(byte *)(iStack176 + 4) << 5; - *(short *)((int)puVar8 + 0x2a) = (ushort)*(byte *)(iStack176 + 5) << 5; - *(short *)(puVar8 + 0xc) = (short)(int)(fStack156 - fStack144 * DAT_8004a000); - *(undefined2 *)((int)puVar8 + 0x32) = (short)(int)(fStack152 - fStack140 * DAT_8004a004); - fVar9 = DAT_8004a008; - *(undefined2 *)(puVar8 + 0xe) = 0; - *(short *)(puVar8 + 0xd) = (short)(int)(fStack148 - fStack136 * fVar9); - *(short *)((int)puVar8 + 0x3a) = (ushort)*(byte *)(iStack176 + 5) << 5; - if (pcParm2[1] == '\x16') { - fVar9 = *pfStack104 - fStack100; - fVar11 = pfStack104[1] - fStack96; - fVar13 = pfStack104[2] - fStack92; - fVar10 = *pfStack104 - (*(float *)(pcParm2 + 0x10) * fVar14 + fStack100); - fVar12 = pfStack104[1] - (*(float *)(pcParm2 + 0x14) * fVar14 + fStack96); - fVar14 = pfStack104[2] - (*(float *)(pcParm2 + 0x18) * fVar14 + fStack92); - if (fVar10 * fVar10 + fVar12 * fVar12 + fVar14 * fVar14 < - fVar9 * fVar9 + fVar11 * fVar11 + fVar13 * fVar13) { - fStack168 = fStack156; - fStack172 = DAT_8004a00c * DAT_8004a010; - fStack164 = fStack152; - fStack160 = fStack148; - } - *(short *)(puVar8 + 0x10) = (short)(int)(fStack132 * fStack172 + fStack168); - *(undefined2 *)((int)puVar8 + 0x42) = (short)(int)(fStack128 * fStack172 + fStack164); - *(short *)(puVar8 + 0x11) = (short)(int)(fStack124 * fStack172 + fStack160); - *(ushort *)(puVar8 + 0x12) = (ushort)*(byte *)(_DAT_800744b8 + 4) << 5; - *(short *)((int)puVar8 + 0x4a) = (ushort)*(byte *)(_DAT_800744b8 + 5) << 5; - *(short *)(puVar8 + 0x14) = (short)(int)(fStack168 - fStack132 * fStack172); - *(undefined2 *)((int)puVar8 + 0x52) = (short)(int)(fStack164 - fStack128 * fStack172); - *(undefined2 *)(puVar8 + 0x16) = 0; - *(undefined2 *)((int)puVar8 + 0x5a) = 0; - *(short *)(puVar8 + 0x15) = (short)(int)(fStack160 - fStack124 * fStack172); - *(short *)(puVar8 + 0x18) = (short)(int)(fStack144 * fStack172 + fStack168); - *(undefined2 *)((int)puVar8 + 0x62) = (short)(int)(fStack140 * fStack172 + fStack164); - *(undefined2 *)(puVar8 + 0x1a) = 0; - *(short *)(puVar8 + 0x19) = (short)(int)(fStack136 * fStack172 + fStack160); - *(short *)((int)puVar8 + 0x6a) = (ushort)*(byte *)(_DAT_800744b8 + 5) << 5; - *(short *)(puVar8 + 0x1c) = (short)(int)(fStack168 - fStack144 * fStack172); - *(undefined2 *)((int)puVar8 + 0x72) = (short)(int)(fStack164 - fStack140 * fStack172); - *(short *)(puVar8 + 0x1d) = (short)(int)(fStack160 - fStack136 * fStack172); - bVar1 = *(byte *)(_DAT_800744b8 + 4); - *(undefined2 *)((int)puVar8 + 0x7a) = 0; - *(ushort *)(puVar8 + 0x1e) = (ushort)bVar1 << 5; - } - puVar7 = puStackX0 + 2; - puStackX0[1] = 0x2000; - *puStackX0 = 0xb6000000; - puStackX0 = puStackX0 + 4; - *puVar7 = 0x1020040; - uVar5 = osVirtualToPhysical(uStack8); - puVar2[3] = uVar5; - if (pcParm2[1] == '\x16') { - loc_7F077B80(register0x000000ec,_DAT_800744b8,4,uStackX8,2); - puVar2 = puStackX0; - *puStackX0 = 0x4700080; - puStackX0 = puStackX0 + 2; - uVar5 = osVirtualToPhysical(puVar8); - puVar2[1] = uVar5; - puStackX0[1] = 0x5454; - *puStackX0 = 0xb1000076; - puStackX0 = puStackX0 + 2; - loc_7F077B80(register0x000000ec,iStack176,4,uStackX8,2); - puStackX0[1] = 0x3020; - *puStackX0 = 0xb1000013; - } - else { - loc_7F077B80(register0x000000ec,iStack176,4,uStackX8,2); - puVar2 = puStackX0; - *puStackX0 = 0x4300040; - puStackX0 = puStackX0 + 2; - uVar5 = osVirtualToPhysical(puVar8); - puVar2[1] = uVar5; - puStackX0[1] = 0x3020; - *puStackX0 = 0xb1000013; - } - puStackX0 = puStackX0 + 2; - return puStackX0; -} - - - -void FUN_7f062fc4(char *pcParm1) - -{ - longlong lVar1; - float fVar2; - - if (-1 < *pcParm1) { - if (DAT_80040ff4 < 3) { - *(float *)(pcParm1 + 0x28) = - *(float *)(pcParm1 + 0x28) + *(float *)(pcParm1 + 0x20) * DAT_80040ff8; - } - else { - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(pcParm1 + 0x28) = - *(float *)(pcParm1 + 0x28) + - *(float *)(pcParm1 + 0x20) * (fVar2 * 0.00000000 * 0.50000000 + 2.00000000); - } - if (*(float *)(pcParm1 + 0x1c) <= *(float *)(pcParm1 + 0x28)) { - *pcParm1 = -1; - } - else { - *pcParm1 = *pcParm1 + '\x01'; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F062FC0(undefined4 *puParm1) - -{ - longlong lVar1; - int iVar3; - undefined4 uVar4; - longlong lVar2; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - undefined4 uStack68; - undefined4 uStack64; - undefined4 *puStack56; - undefined4 uStack20; - uint uStack16; - undefined4 uStack8; - - puVar8 = (undefined4 *)*puParm1; - puVar9 = &DAT_80031210; - puVar5 = &uStack68; - do { - puVar7 = puVar9 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar9; - puVar5[1] = puVar9[1]; - puVar5[2] = puVar9[2]; - puVar9 = puVar7; - puVar5 = puVar6; - } while (puVar7 != (undefined4 *)0x8003124c); - iVar12 = 0; - iVar13 = 0; - *puVar6 = uRam8003124c; - do { - iVar11 = _DAT_80068bc0 + iVar13; - lVar1 = FUN_7f05defc(iVar12); - if (*(char *)(iVar11 + 0x877) != '\0') { - if (lVar1 != 0x17) { - puVar8 = (undefined4 *)loc_7F062AE4(puVar8,iVar11 + 0xa4c,0); - } - if (((((lVar1 == 0x13) || (lVar1 == 0x12)) || (lVar1 == 2)) || - ((lVar1 == 3 || (lVar1 == 0x14)))) || (lVar1 == 0x15)) { - *puVar8 = 0xbc000002; - puVar8[1] = 0x80000040; - puVar8[2] = 0x3860010; - puVar8[3] = 0x8002d998; - puVar8[4] = 0x3880010; - puVar8[5] = 0x8002d990; - puVar8[6] = 0x3840010; - uVar4 = FUN_7f0784f4(); - puVar8[7] = uVar4; - puVar8[8] = 0x3820010; - iVar3 = FUN_7f0784f4(); - puVar8[9] = iVar3 + 0x10; - puVar8 = puVar8 + 10; - } - *puVar8 = 0xbc00000e; - puVar9 = puVar8 + 2; - uVar4 = locret_7F059A40(0,0x43960000); - puVar8[1] = uVar4; - if (0x10 < *(short *)(*(int *)(iVar11 + 0xb68) + 0xc)) { - iVar3 = *(int *)(*(int *)(iVar11 + 0xb68) + 8); - iVar10 = iVar11 + 0xb60; - if (*(int *)(iVar3 + 0x40) != 0) { - puVar8 = (undefined4 *)loc_7F06C888(iVar10,*(undefined4 *)(iVar3 + 0x44)); - if (puVar8 != NULL) { - *puVar8 = 1; - } - if (lVar1 == 0x19) { - save_img_index_to_obj_ani_slot(&DAT_80064b50,_DAT_800744f4); - puVar9 = (undefined4 *) - loc_7F04ABF8(iVar10,*(undefined4 *) - (*(int *)(*(int *)(iVar11 + 0xb68) + 8) + 0x40), - &DAT_80064b50,puVar9,0,4); - } - else { - puVar9 = (undefined4 *) - loc_7F04ABF8(iVar10,*(undefined4 *) - (*(int *)(*(int *)(iVar11 + 0xb68) + 8) + 0x40), - &DAT_80064bc8,puVar9,0,1); - } - } - } - uStack20 = 4; - uStack16 = (uint)*(byte *)(_DAT_80068bc0 + 0xfd7) | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd4) << 0x18 | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd5) << 0x10 | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd6) << 8; - uStack64 = 0; - puStack56 = puVar9; - FUN_7f05910c(); - if ((lVar1 == 0x19) && (*(int *)(iVar11 + 0xa88) != 0)) { - iVar3 = *(int *)(*(int *)(iVar11 + 0xa88) + 0x14); - FUN_7f074758(&uStack68,iVar3); - loc_7F08BDA4(*(undefined4 *)(iVar3 + 0xc),*(undefined2 *)(*(int *)(iVar3 + 8) + 0xe)); - if (*(int *)(iVar11 + 0xa8c) != 0) { - *(undefined4 *)(iVar11 + 0xa88) = 0; - } - } - lVar2 = FUN_7f05e56c(lVar1,0x400); - if (lVar2 != 0) { - puStack56[1] = 0x3000; - *puStack56 = 0xb6000000; - if (iVar12 == 0) { - uStack8 = 3; - puStack56 = puStack56 + 2; - } - else { - uStack8 = 2; - puStack56 = puStack56 + 2; - } - } - FUN_7f074758(&uStack68,iVar11 + 0xb60); - puVar9 = puStack56; - lVar2 = FUN_7f05e56c(lVar1,0x400); - if (lVar2 != 0) { - puVar9[1] = 0x3000; - *puVar9 = 0xb6000000; - puVar9 = puVar9 + 2; - } - loc_7F08BDA4(*(undefined4 *)(iVar11 + 0xb6c),*(undefined2 *)(*(int *)(iVar11 + 0xb68) + 0xe)); - FUN_7f059130(); - *puVar9 = 0xbc00000e; - puVar8 = puVar9 + 2; - uVar4 = FUN_7000369c(); - puVar9[1] = uVar4; - if (lVar1 == 0x17) { - puVar8 = (undefined4 *)loc_7F062AE4(puVar8,iVar11 + 0xa4c,0); - } - } - iVar12 += 1; - iVar13 += 0x3a8; - } while (iVar12 != 2); - *(undefined4 **)puParm1 = puVar8; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * -FUN_7f0634c8(undefined4 *puParm1,longlong lParm2,undefined4 uParm3,int iParm4,int iParm5) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - undefined4 uVar4; - int iVar5; - short sVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 *puVar10; - int iVar11; - int iVar12; - int iVar13; - undefined4 *puStackX0; - undefined auStack292 [68]; - undefined auStack224 [128]; - undefined auStack96 [12]; - int iStack84; - undefined4 uStack64; - undefined4 uStack60; - undefined4 *puStack52; - undefined4 uStack16; - int iStack12; - int iStack8; - - iVar12 = (int)lParm2; - puVar9 = &DAT_80031250; - puVar7 = &uStack64; - do { - puVar10 = puVar9 + 3; - puVar8 = puVar7 + 3; - *puVar7 = *puVar9; - puVar7[1] = puVar9[1]; - puVar7[2] = puVar9[2]; - puVar9 = puVar10; - puVar7 = puVar8; - } while (puVar10 != (undefined4 *)0x8003128c); - *puVar8 = uRam8003128c; - if ((lParm2 == 0x1e) || (lParm2 == 0x17)) { - iVar12 = 0x3c; - } - FUN_7f05df44(0); - lVar2 = FUN_7f05d36c(0); - if ((lVar2 != 0) && (lVar2 = FUN_7f05d3b0(0), iVar1 = _DAT_80068bc0, lVar2 != 0)) { - iVar13 = _DAT_80068bc0 + 0x810; - lVar2 = FUN_7f05d500(iVar12); - if ((lVar2 != 0) && (lVar2 = FUN_7f05e56c(iVar12,0x4000), lVar2 == 0)) { - uVar3 = FUN_7f0bcac4((int)*(short *)(iVar1 + 0x81e) << 6); - lVar2 = 0; - iVar5 = 0; - iVar11 = (int)uVar3; - if (0 < *(short *)(iVar1 + 0x81e)) { - while( true ) { - sub_GAME_7F05A9B8(iVar5 + iVar11); - iVar5 = (int)lVar2 + 1; - lVar2 = (longlong)iVar5; - if ((longlong)*(short *)(iVar1 + 0x81e) <= lVar2) break; - iVar5 *= 0x40; - } - } - lVar2 = 0; - iStack84 = iVar11; - FUN_7f075d7c(iVar13); - sub_7F075F68(auStack96,iVar13,auStack224); - loc_7F05EA84(auStack96,0); - loc_7F05EB00(auStack96,1); - if ((*(int *)(*(int *)(iVar1 + 0x818) + 4) != 0) && - (puVar9 = (undefined4 *)loc_7F06C888(auStack96), puVar9 != NULL)) { - *puVar9 = 0; - } - loc_7F058030(uParm3,uVar3); - if (*(int *)(iVar1 + 0x814) == -0x7ffc9994) { - iVar13 = *(int *)(*(int *)(iVar1 + 0x818) + 0x10); - if (iVar13 == 0) { - iVar13 = *(int *)(*(int *)(iVar1 + 0x818) + 0x14); - } - else { - FUN_7f058e0c(*(undefined4 *)(iVar13 + 4),auStack292); - loc_7F0580E4(uParm3,auStack292,iVar11 + 0xc0); - iVar13 = *(int *)(*(int *)(iVar1 + 0x818) + 0x14); - } - if (iVar13 == 0) { - iVar13 = *(int *)(iVar1 + 0x818); - } - else { - FUN_7f058e0c(*(undefined4 *)(iVar13 + 4),auStack292); - loc_7F0580E4(uParm3,auStack292,iVar11 + 0x100); - iVar13 = *(int *)(iVar1 + 0x818); - } - } - else { - iVar13 = *(int *)(iVar1 + 0x818); - } - iVar5 = *(int *)(iVar13 + 0x18); - if (iVar5 == 0) { - iVar13 = *(int *)(iVar13 + 0x1c); - } - else { - uVar4 = *(undefined4 *)(iVar5 + 4); - iVar13 = loc_7F06C654(iVar5,0); - FUN_7f058e0c(uVar4,auStack292); - loc_7F0580E4(uParm3,auStack292,iVar13 * 0x40 + iVar11); - iVar13 = *(int *)(*(int *)(iVar1 + 0x818) + 0x1c); - } - if (iVar13 == 0) { - sVar6 = *(short *)(iVar1 + 0x81c); - } - else { - uVar4 = *(undefined4 *)(iVar13 + 4); - iVar13 = loc_7F06C654(iVar13,0); - FUN_7f058e0c(uVar4,auStack292); - loc_7F0580E4(uParm3,auStack292,iVar13 * 0x40 + iVar11); - sVar6 = *(short *)(iVar1 + 0x81c); - } - iVar13 = 0; - if (0x12 < sVar6) { - iVar5 = *(int *)(iVar1 + 0x818); - while( true ) { - if (*(int *)(iVar5 + iVar13 + 0x48) == 0) { - iVar5 = *(int *)(iVar1 + 0x818); - } - else { - puVar9 = (undefined4 *)loc_7F06C888(auStack96); - if (puVar9 != NULL) { - *puVar9 = 1; - } - iVar5 = *(int *)(iVar1 + 0x818); - } - if ((*(int *)(iVar5 + iVar13 + 0x5c) != 0) && - (puVar9 = (undefined4 *)loc_7F06C888(auStack96), puVar9 != NULL)) { - *puVar9 = 1; - } - iVar13 += 4; - if (iVar13 == 0x14) break; - iVar5 = *(int *)(iVar1 + 0x818); - } - } - loc_7F06F0C0(auStack96); - if (((((iVar12 == 0x13) || (iVar12 == 0x12)) || (iVar12 == 2)) || - ((iVar12 == 3 || (iVar12 == 0x14)))) || (iVar12 == 0x15)) { - puParm1[1] = 0x80000040; - *puParm1 = 0xbc000002; - puParm1[2] = 0x3860010; - puParm1[3] = 0x8002d998; - puParm1[4] = 0x3880010; - puParm1[5] = 0x8002d990; - puParm1[6] = 0x3840010; - uVar4 = FUN_7f0784f4(); - puParm1[7] = uVar4; - puStackX0 = puParm1 + 10; - puParm1[8] = 0x3820010; - iVar12 = FUN_7f0784f4(); - puParm1[9] = iVar12 + 0x10; - sVar6 = *(short *)(iVar1 + 0x81c); - } - else { - sVar6 = *(short *)(iVar1 + 0x81c); - puStackX0 = puParm1; - } - if (((0x10 < sVar6) && (*(int *)(*(int *)(iVar1 + 0x818) + 0x40) != 0)) && - (puVar9 = (undefined4 *) - loc_7F06C888(auStack96,*(undefined4 *)(*(int *)(iVar1 + 0x818) + 0x44)), - puVar9 != NULL)) { - *puVar9 = 0; - } - puStack52 = puStackX0; - if (iParm4 < 0xff) { - uStack16 = 5; - iStack8 = iParm5; - iStack12 = iParm4; - } - else { - uStack16 = 4; - iStack12 = iParm5; - } - uStack60 = 0; - FUN_7f074758(&uStack64,auStack96); - puParm1 = puStack52; - FUN_7f05910c(); - iVar12 = 0; - if (0 < *(short *)(iVar1 + 0x81e)) { - do { - loc_7F058030(iStack84 + iVar12,auStack292); - FUN_7f059144(auStack292,(int)lVar2 * 0x40 + iStack84); - lVar2 = (longlong)((int)lVar2 + 1); - iVar12 += 0x40; - } while (lVar2 < (longlong)*(short *)(iVar1 + 0x81e)); - } - FUN_7f059130(); - } - } - return puParm1; -} - - - -void FUN_7f06399c(void) - -{ - FUN_7f0634c8(); - return; -} - - - -void FUN_7f0639c0(void) - -{ - FUN_7f06399c(); - return; -} - - - -void FUN_7f0639e0(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7) - -{ - undefined auStack64 [64]; - - FUN_7f058e0c(uParm1,uParm7); - FUN_7f058510(uParm2,uParm7); - FUN_7f058510(uParm3,uParm7); - FUN_7f058510(uParm4,uParm7); - FUN_7f058e0c(uParm5,auStack64); - FUN_7f058510(auStack64,uParm7); - FUN_7f058510(uParm6,uParm7); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 -FUN_7f063a60(undefined4 uParm1,undefined4 uParm2,longlong lParm3,longlong lParm4,int iParm5, - undefined *puParm6) - -{ - undefined uVar1; - undefined4 uVar2; - longlong lVar3; - undefined8 uVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 *puVar10; - int iVar11; - int iStack1224; - undefined4 uStack1216; - undefined4 uStack1212; - undefined4 uStack1208; - undefined4 uStack1204; - undefined4 uStack1200; - undefined4 uStack1196; - undefined4 uStack1192; - float fStack1188; - undefined4 uStack1184; - undefined4 uStack1180; - undefined4 uStack1176; - undefined4 uStack1172; - undefined4 uStack1168; - undefined4 uStack1164; - undefined4 uStack1160; - undefined auStack1156 [64]; - undefined4 uStack1092; - undefined4 uStack1088; - undefined4 uStack1084; - undefined4 uStack1080; - undefined4 uStack1076; - undefined4 uStack1072; - undefined4 uStack1068; - undefined4 uStack1064; - undefined4 uStack1060; - undefined4 uStack1056; - float fStack1052; - undefined4 uStack1048; - undefined4 uStack1044; - undefined4 uStack1040; - undefined4 uStack1036; - undefined4 uStack1032; - float fStack1028; - undefined4 uStack1024; - undefined4 uStack1020; - undefined4 uStack1016; - undefined4 uStack1012; - undefined4 uStack1008; - float fStack1004; - undefined4 uStack1000; - undefined4 uStack996; - undefined4 uStack992; - undefined4 uStack988; - undefined4 uStack984; - float fStack980; - undefined4 uStack976; - undefined4 uStack972; - undefined4 uStack968; - undefined4 uStack964; - undefined4 uStack960; - float fStack956; - undefined4 uStack952; - undefined4 uStack948; - undefined4 uStack944; - undefined4 uStack940; - undefined4 uStack936; - float fStack932; - undefined4 uStack928; - undefined4 uStack924; - undefined4 uStack920; - undefined4 uStack916; - undefined4 uStack912; - undefined4 uStack908; - undefined4 uStack904; - undefined4 uStack900; - undefined4 uStack896; - undefined4 uStack892; - undefined4 uStack888; - undefined4 uStack884; - undefined4 uStack880; - undefined auStack876 [64]; - undefined auStack812 [64]; - undefined auStack748 [64]; - undefined auStack684 [64]; - undefined auStack620 [64]; - undefined auStack556 [64]; - undefined auStack492 [64]; - undefined auStack428 [76]; - int iStack352; - undefined auStack348 [64]; - undefined auStack284 [68]; - undefined auStack216 [120]; - undefined auStack96 [12]; - int iStack84; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack52; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - puVar9 = &DAT_80031290; - puVar7 = &uStack64; - do { - puVar10 = puVar9 + 3; - puVar8 = puVar7 + 3; - *puVar7 = *puVar9; - puVar7[1] = puVar9[1]; - puVar7[2] = puVar9[2]; - puVar9 = puVar10; - puVar7 = puVar8; - } while (puVar10 != (undefined4 *)0x800312cc); - *puVar8 = uRam800312cc; - FUN_7f05df44(0,0x55); - lVar3 = FUN_7f05d36c(0); - if ((lVar3 != 0) && (lVar3 = FUN_7f05d3b0(0), lVar3 != 0)) { - iStack352 = _DAT_80068bc0 + 0x810; - uVar4 = FUN_7f0bcac4((int)*(short *)(_DAT_80068bc0 + 0x81e) << 6); - FUN_7f075d7c(iStack352); - sub_7F075F68(auStack96,iStack352,auStack216); - iStack84 = (int)uVar4; - loc_7F058030(uParm2,uVar4); - iStack1224 = 4; - iVar11 = 1; - do { - uVar2 = *(undefined4 *)(*(int *)(*(int *)(iStack352 + 8) + iStack1224) + 4); - if (iVar11 == 2) { - iVar5 = FUN_7000ae60(*puParm6); - FUN_7f058b30((-(float)iVar5 * DAT_8004a014 * DAT_8004a018) / 360.00000000); - iVar5 = FUN_7000af70(*puParm6); - FUN_7f058a18((-(float)iVar5 * DAT_8004a01c * DAT_8004a020) / 360.00000000); - FUN_7f058510(auStack348,auStack284); - copies_first_3_floats_from_a0_to_a1_plus_0x30(uVar2,auStack284); - } - else { - FUN_7f058e0c(uVar2,auStack284); - } - loc_7F0580E4(uParm2,auStack284,iVar11 * 0x40 + (int)uVar4); - iVar11 += 1; - iStack1224 += 4; - } while (iVar11 < 0xd); - loc_7F06F0C0(auStack96); - if (lParm3 < 0xff) { - uStack16 = 5; - uStack12 = (undefined4)lParm3; - uStack8 = 0xffffff00; - } - else { - uStack16 = 1; - } - uStack60 = 1; - uStack52 = uParm1; - FUN_7f074758(&uStack64,auStack96); - uParm1 = uStack52; - FUN_7f05910c(); - lVar3 = 0; - iVar11 = 0; - if (0 < *(short *)(iStack352 + 0xe)) { - do { - loc_7F058030(iStack84 + iVar11,auStack284); - FUN_7f059144(auStack284,(int)lVar3 * 0x40 + iStack84); - lVar3 = (longlong)((int)lVar3 + 1); - iVar11 += 0x40; - } while (lVar3 < (longlong)*(short *)(iStack352 + 0xe)); - } - FUN_7f059130(); - if (lParm4 != 0) { - iVar11 = 0; - if (*(int *)(*(int *)(iStack352 + 8) + 0x34) != 0) { - puVar9 = (undefined4 *)loc_7F06C888(auStack96); - *puVar9 = 0; - } - iVar5 = FUN_7f0bcac4((int)*(short *)(iStack352 + 0xe) << 6); - uVar2 = DAT_8004a024; - iStack84 = iVar5; - do { - FUN_7f059b3c(auStack812,0xffffffffc0a00000,0x44fa0000,0xffffffffc3280000,0xc0a00000,0, - 0xc3280000,0,0,0xbf800000); - FUN_7f059b3c(auStack428,0xffffffffc0a00000,0x44fa0000,0xffffffffc3280000,0xc0a00000,0, - 0xc3280000,0,0,0xbf800000); - sub_GAME_7F05A9B8(auStack748); - sub_GAME_7F05A9B8(auStack876); - loc_7F058030(auStack876,auStack620); - if (iVar11 == 2) { - uStack888 = *(undefined4 *)(iParm5 + 0x58); - uStack884 = *(undefined4 *)(iParm5 + 0x5c); - uStack880 = *(undefined4 *)(iParm5 + 0x60); - FUN_7f058e0c(&uStack888,auStack492); - iVar6 = FUN_7000ae60(*puParm6); - FUN_7f058b30((-(float)iVar6 * DAT_8004a028 * DAT_8004a02c) / 360.00000000); - iVar6 = FUN_7000af70(*puParm6); - FUN_7f058a18((-(float)iVar6 * DAT_8004a030 * DAT_8004a034) / 360.00000000); - FUN_7f058510(auStack348,auStack284); - FUN_7f058510(auStack492,auStack284); - loc_7F0580E4(auStack812,auStack284,auStack556); - loc_7F058030(auStack556,iVar5 + 0x80); - } - else { - if (iVar11 == 0xb) { - uStack912 = DAT_800312d0; - uStack908 = DAT_800312d4; - uStack904 = DAT_800312d8; - uStack900 = *(undefined4 *)(iParm5 + 0xc4); - uStack896 = *(undefined4 *)(iParm5 + 200); - uStack892 = *(undefined4 *)(iParm5 + 0xcc); - lVar3 = FUN_7000b080(*puParm6,0x10); - if (lVar3 != 0) { - FUN_7f058aa4(DAT_8004a038); - } - FUN_7f058a18(DAT_8004a03c); - FUN_7f0639e0(&uStack912,auStack748,auStack684,auStack876,&uStack900,auStack812, - auStack428); - loc_7F058030(auStack428,iVar5 + 0x2c0); - } - else { - if (iVar11 == 4) { - uStack936 = DAT_800312dc; - fStack932 = DAT_800312e0; - uStack928 = DAT_800312e4; - uStack924 = *(undefined4 *)(iParm5 + 0x70); - uStack920 = *(undefined4 *)(iParm5 + 0x74); - uStack916 = *(undefined4 *)(iParm5 + 0x78); - lVar3 = FUN_7000b080(*puParm6,8); - if (lVar3 != 0) { - fStack932 = fStack932 + -10.00000000; - } - FUN_7f058a18(uVar2); - FUN_7f0639e0(&uStack936,auStack748,auStack684,auStack876,&uStack924,auStack812, - auStack428); - loc_7F058030(auStack428,iVar5 + 0x100); - } - else { - if (iVar11 == 5) { - uStack960 = DAT_800312e8; - fStack956 = DAT_800312ec; - uStack952 = DAT_800312f0; - uStack948 = *(undefined4 *)(iParm5 + 0x7c); - uStack944 = *(undefined4 *)(iParm5 + 0x80); - uStack940 = *(undefined4 *)(iParm5 + 0x84); - lVar3 = FUN_7000b080(*puParm6,4); - if (lVar3 != 0) { - fStack956 = fStack956 + -10.00000000; - } - FUN_7f058a18(uVar2); - FUN_7f0639e0(&uStack960,auStack748,auStack684,auStack876,&uStack948,auStack812, - auStack428); - loc_7F058030(auStack428,iVar5 + 0x140); - } - else { - if (iVar11 == 6) { - uStack984 = DAT_800312f4; - fStack980 = DAT_800312f8; - uStack976 = DAT_800312fc; - uStack972 = *(undefined4 *)(iParm5 + 0x88); - uStack968 = *(undefined4 *)(iParm5 + 0x8c); - uStack964 = *(undefined4 *)(iParm5 + 0x90); - lVar3 = FUN_7000b080(*puParm6,2); - if (lVar3 != 0) { - fStack980 = fStack980 + -10.00000000; - } - FUN_7f058a18(uVar2); - FUN_7f0639e0(&uStack984,auStack748,auStack684,auStack876,&uStack972,auStack812, - auStack428); - loc_7F058030(auStack428,iVar5 + 0x180); - } - else { - if (iVar11 == 7) { - uStack1008 = DAT_80031300; - fStack1004 = DAT_80031304; - uStack1000 = DAT_80031308; - uStack996 = *(undefined4 *)(iParm5 + 0x94); - uStack992 = *(undefined4 *)(iParm5 + 0x98); - uStack988 = *(undefined4 *)(iParm5 + 0x9c); - lVar3 = FUN_7000b080(*puParm6,1); - if (lVar3 != 0) { - fStack1004 = fStack1004 + -10.00000000; - } - FUN_7f058a18(uVar2); - FUN_7f0639e0(&uStack1008,auStack748,auStack684,auStack876,&uStack996,auStack812, - auStack428); - loc_7F058030(auStack428,iVar5 + 0x1c0); - } - else { - if (iVar11 == 9) { - uStack1032 = DAT_8003130c; - fStack1028 = DAT_80031310; - uStack1024 = DAT_80031314; - uStack1020 = *(undefined4 *)(iParm5 + 0xac); - uStack1016 = *(undefined4 *)(iParm5 + 0xb0); - uStack1012 = *(undefined4 *)(iParm5 + 0xb4); - lVar3 = FUN_7000b080(*puParm6,0x4000); - if (lVar3 != 0) { - fStack1028 = fStack1028 + -10.00000000; - } - FUN_7f058a18(uVar2); - FUN_7f0639e0(&uStack1032,auStack748,auStack684,auStack876,&uStack1020, - auStack812,auStack428); - loc_7F058030(auStack428,iVar5 + 0x240); - } - else { - if (iVar11 == 8) { - uStack1056 = DAT_80031318; - fStack1052 = DAT_8003131c; - uStack1048 = DAT_80031320; - uStack1044 = *(undefined4 *)(iParm5 + 0xa0); - uStack1040 = *(undefined4 *)(iParm5 + 0xa4); - uStack1036 = *(undefined4 *)(iParm5 + 0xa8); - lVar3 = FUN_7000b080(*puParm6,0x8000); - if (lVar3 != 0) { - fStack1052 = fStack1052 + -10.00000000; - } - FUN_7f058a18(uVar2); - FUN_7f0639e0(&uStack1056,auStack748,auStack684,auStack876,&uStack1044, - auStack812,auStack428); - loc_7F058030(auStack428,iVar5 + 0x200); - } - else { - if (iVar11 == 10) { - uStack1080 = DAT_80031324; - uStack1076 = DAT_80031328; - uStack1072 = DAT_8003132c; - uStack1068 = *(undefined4 *)(iParm5 + 0xb8); - uStack1064 = *(undefined4 *)(iParm5 + 0xbc); - uStack1060 = *(undefined4 *)(iParm5 + 0xc0); - lVar3 = FUN_7000b080(*puParm6,0x20); - if (lVar3 != 0) { - FUN_7f058aa4(DAT_8004a040); - } - FUN_7f058a18(DAT_8004a044); - FUN_7f0639e0(&uStack1080,auStack748,auStack684,auStack876,&uStack1068, - auStack812,auStack428); - loc_7F058030(auStack428,iVar5 + 0x280); - } - else { - if (iVar11 == 3) { - uStack1168 = DAT_80031330; - uStack1164 = DAT_80031334; - uStack1160 = DAT_80031338; - uStack1092 = *(undefined4 *)(iParm5 + 100); - uStack1088 = *(undefined4 *)(iParm5 + 0x68); - uStack1084 = *(undefined4 *)(iParm5 + 0x6c); - sub_GAME_7F05A9B8(auStack1156); - lVar3 = FUN_7000b080(*puParm6,0x800); - if (lVar3 == 0) { - lVar3 = FUN_7000b080(*puParm6,0x400); - if (lVar3 != 0) { - FUN_7f058a18(DAT_8004a04c); - } - uVar1 = *puParm6; - } - else { - FUN_7f058a18(DAT_8004a048); - uVar1 = *puParm6; - } - lVar3 = FUN_7000b080(uVar1,0x200); - if (lVar3 == 0) { - lVar3 = FUN_7000b080(*puParm6,0x100); - if (lVar3 != 0) { - FUN_7f058b30(DAT_8004a054); - } - } - else { - FUN_7f058b30(DAT_8004a050); - } - FUN_7f058510(auStack1156,auStack748); - FUN_7f058a18(DAT_8004a058); - FUN_7f0639e0(&uStack1168,auStack748,auStack684,auStack876,&uStack1092, - auStack812,auStack428); - loc_7F058030(auStack428,iVar5 + 0xc0); - } - else { - if (iVar11 == 1) { - uStack1192 = DAT_8003133c; - fStack1188 = DAT_80031340; - uStack1184 = DAT_80031344; - uStack1180 = *(undefined4 *)(iParm5 + 0x4c); - uStack1176 = *(undefined4 *)(iParm5 + 0x50); - uStack1172 = *(undefined4 *)(iParm5 + 0x54); - lVar3 = FUN_7000b080(*puParm6,0x1000); - if (lVar3 != 0) { - fStack1188 = fStack1188 + -10.00000000; - } - FUN_7f058a18(uVar2); - FUN_7f0639e0(&uStack1192,auStack748,auStack684,auStack876,&uStack1180, - auStack812,auStack428); - loc_7F058030(auStack428,iVar5 + 0x40); - } - else { - if (iVar11 == 0xc) { - uStack1216 = DAT_80031348; - uStack1212 = DAT_8003134c; - uStack1208 = DAT_80031350; - uStack1204 = *(undefined4 *)(iParm5 + 0xd0); - uStack1200 = *(undefined4 *)(iParm5 + 0xd4); - uStack1196 = *(undefined4 *)(iParm5 + 0xd8); - lVar3 = FUN_7000b080(*puParm6,0x2000); - if (lVar3 != 0) { - FUN_7f058a18(DAT_8004a05c); - } - FUN_7f058b30(DAT_8004a060); - FUN_7f0639e0(&uStack1216,auStack748,auStack684,auStack876, - &uStack1204,auStack812,auStack428); - loc_7F058030(auStack428,iVar5 + 0x300); - } - else { - loc_7F058030(uParm2,iVar11 * 0x40 + iVar5); - } - } - } - } - } - } - } - } - } - } - } - } - iVar11 += 1; - } while (iVar11 < 0xd); - loc_7F06F0C0(auStack96); - uStack52 = uParm1; - FUN_7f074758(&uStack64,auStack96); - uParm1 = uStack52; - FUN_7f05910c(); - lVar3 = 0; - iVar11 = 0; - if (0 < *(short *)(iStack352 + 0xe)) { - do { - loc_7F058030(iStack84 + iVar11,auStack284); - FUN_7f059144(auStack284,(int)lVar3 * 0x40 + iStack84); - lVar3 = (longlong)((int)lVar3 + 1); - iVar11 += 0x40; - } while (lVar3 < (longlong)*(short *)(iStack352 + 0xe)); - } - FUN_7f059130(); - } - } - return uParm1; -} - - - -void sub_7F064364(undefined8 uParm1,undefined8 uParm2,undefined8 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - FUN_7f063a60(uParm1,uParm2,0xff,uParm3,uParm4,uParm5); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * FUN_7f064864(void) - -{ - if (_DAT_80064cf8 == 0) { - return &DAT_80064cf8; - } - if (_DAT_80064cfc == 0) { - return &DAT_80064cfc; - } - if (_DAT_80064d00 == 0) { - return &DAT_80064d00; - } - if (_DAT_80064d04 == 0) { - return &DAT_80064d04; - } - return (undefined *)0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0648e0(int iParm1,char *pcParm2,int iParm3) - -{ - short sVar1; - longlong lVar2; - int *piVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 uStack68; - undefined4 uStack64; - undefined2 uStack60; - undefined4 auStack56 [10]; - int *piStack16; - uint uStack12; - uint uStack8; - undefined4 uStack4; - - uStack4 = FUN_7f053cc4(); - uStack8 = FUN_700098b0(); - uStack12 = FUN_700098b0(); - DAT_80041048 = iParm3; - lVar2 = FUN_7f090450(); - if (lVar2 == 0) { - FUN_7f090458(); - } - if ((((((iParm1 != 0x1d) && (iParm1 != 0x1c)) && (iParm1 != 0x1b)) && - (((iParm1 != 0x21 && (iParm1 != 0x2f)) && - ((iParm1 != 0x30 && ((iParm1 != 0x22 && (iParm1 != 0x17)))))))) && (iParm1 != 0x3c)) && - (0 < DAT_80040ff4)) { - piVar3 = (int *)FUN_7f064864(); - if (piVar3 != NULL) { - if ((*pcParm2 == '\x03') || (*pcParm2 == '\x06')) { - if (iParm1 == 2) { - piStack16 = piVar3; - FUN_70008268(_DAT_80056900,0x4a); - } - else { - if (iParm1 == 1) { - uStack64 = DAT_8003137c; - uStack60 = DAT_80031380; - piStack16 = piVar3; - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&uStack68 + (uStack8 % 3) * 2 + 4)); - } - else { - uStack68 = DAT_80031384; - piStack16 = piVar3; - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&uStack68 + (uStack8 & 1) * 2)); - } - } - if (*piStack16 != 0) { - loc_700091B8(*piStack16,8,uStack4); - } - } - else { - if (iParm1 == 0x16) { - piStack16 = piVar3; - FUN_70008268(_DAT_80056900,0x5b); - } - else { - puVar6 = &DAT_80031354; - puVar4 = auStack56; - do { - puVar7 = puVar6 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar5; - } while (puVar7 != (undefined4 *)0x80031378); - *puVar5 = uRam80031378; - piStack16 = piVar3; - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)auStack56 + (uStack8 % 0x14) * 2)); - } - if (*piStack16 != 0) { - loc_700091B8(*piStack16,8,uStack4); - } - } - } - piStack16 = (int *)FUN_7f064864(); - if (((piStack16 != NULL) && (-1 < iParm3)) && - (piVar3 = (int *)(&PTR_PTR_DAT_80046dec)[*(uint *)(&DAT_80041880 + iParm3 * 8) >> 0x1c], - piVar3 != NULL)) { - sVar1 = *(short *)(piVar3 + 2); - if (0 < sVar1) { - if (sVar1 == 0) { - trap(0x1c00); - } - FUN_70008268(_DAT_80056900,*(undefined2 *)(*piVar3 + (uStack12 % (int)sVar1) * 2),piStack16) - ; - } - if (*piStack16 != 0) { - FUN_7f053cf0(*piStack16,pcParm2 + 8); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f064bf0(undefined4 uParm1) - -{ - longlong lVar1; - - if (0 < DAT_80040ff4) { - lVar1 = FUN_7f064864(); - if (lVar1 != 0) { - FUN_70008268(_DAT_80056900,0x46,lVar1); - if (*(int *)lVar1 != 0) { - FUN_7f053cf0(*(int *)lVar1,uParm1); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f064c54(int iParm1,undefined4 uParm2,int iParm3) - -{ - short sVar1; - int *piVar2; - int *piVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 auStack88 [18]; - uint uStack16; - uint uStack12; - uint uStack8; - int *piStack4; - - uStack8 = FUN_700098b0(); - uStack12 = FUN_700098b0(); - DAT_80041048 = iParm3; - FUN_7f090450(); - if (0 < DAT_80040ff4) { - piVar3 = (int *)FUN_7f064864(); - if (piVar3 != NULL) { - if (iParm1 != 0x17) { - if (iParm1 == 0x16) { - uStack16 = DAT_80031388; - piStack4 = piVar3; - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&uStack16 + (uStack8 & 1) * 2)); - piVar3 = piStack4; - } - else { - puVar4 = &DAT_8003138c; - puVar6 = auStack88; - do { - puVar5 = puVar4 + 3; - *puVar6 = *puVar4; - puVar6[1] = puVar4[1]; - puVar6[2] = puVar4[2]; - puVar4 = puVar5; - puVar6 = puVar6 + 3; - } while (puVar5 != &DAT_800313d4); - piStack4 = piVar3; - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)auStack88 + (uStack8 % 0x24) * 2)); - piVar3 = piStack4; - } - } - if (*piVar3 != 0) { - FUN_7f053cf0(*piVar3,uParm2); - } - } - piVar3 = (int *)FUN_7f064864(); - if ((piVar3 != NULL) && (-1 < iParm3)) { - piVar2 = (int *)(&PTR_PTR_DAT_80046dec)[*(uint *)(&DAT_80041880 + iParm3 * 8) >> 0x1c]; - sVar1 = *(short *)(piVar2 + 2); - if (0 < sVar1) { - if (piVar2 != NULL) { - if (sVar1 == 0) { - trap(0x1c00); - } - piStack4 = piVar3; - FUN_70008268(_DAT_80056900,*(undefined2 *)(*piVar2 + (uStack12 % (int)sVar1) * 2)); - piVar3 = piStack4; - } - if (*piVar3 != 0) { - FUN_7f053cf0(*piVar3,uParm2); - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f064e24(longlong lParm1) - -{ - uint uVar1; - undefined4 local_c; - undefined4 local_8; - undefined2 local_4; - - if (((0 < DAT_80040ff4) && (lParm1 != 0x16)) && (lParm1 != 0x17)) { - local_c = DAT_800313d4; - local_8 = DAT_800313d8; - local_4 = DAT_800313dc; - uVar1 = FUN_700098b0(); - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&local_c + (uVar1 % 5) * 2),0); - } - return; -} - - - -undefined4 locret_7F0649D0(longlong lParm1) - -{ - undefined4 uVar1; - - uVar1 = 0xc2700000; - if (lParm1 == 0x19) { - uVar1 = 0xc2a00000; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f064ed4(int iParm1) - -{ - int iVar1; - longlong lVar2; - int iVar4; - int iVar5; - longlong lVar3; - int iVar6; - - iVar6 = _DAT_80068bc0 + iParm1 * 0x3a8; - lVar2 = FUN_7f05de88(); - iVar1 = *(int *)(iVar6 + 0x894); - iVar4 = FUN_7f069b08(iParm1); - iVar5 = FUN_7f05cd64(lVar2); - iVar4 += iVar1; - if ((longlong)iVar4 < (longlong)*(short *)(iVar5 + 0x20)) { - *(int *)(iVar6 + 0x894) = iVar4; - } - else { - *(int *)(iVar6 + 0x894) = (int)*(short *)(iVar5 + 0x20); - } - lVar3 = FUN_7f05e56c(lVar2,0x200000); - if (lVar3 == 0) { - iVar4 = _DAT_80068bc0 + *(int *)(iVar5 + 0x1c) * 4; - *(int *)(iVar4 + 0x1128) = (*(int *)(iVar4 + 0x1128) - *(int *)(iVar6 + 0x894)) + iVar1; - } - else { - *(undefined4 *)(_DAT_80068bc0 + *(int *)(iVar5 + 0x1c) * 4 + 0x1128) = 0; - } - if (lVar2 == 0x19) { - FUN_7f05ff34(iParm1); - } - else { - if ((lVar2 == 0xf) || (lVar2 == 0x10)) { - lVar2 = FUN_7f069b08(iParm1); - if (lVar2 < 5) { - *(undefined4 *)(iVar6 + 0x89c) = (int)lVar2; - } - else { - *(undefined4 *)(iVar6 + 0x89c) = 5; - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f066f00) overlaps instruction at (ram,0x7f066efc) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f065024(int iParm1,int iParm2) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - longlong lVar5; - int iVar9; - ulonglong uVar6; - undefined2 uVar13; - longlong lVar7; - int iVar10; - undefined8 uVar8; - uint uVar11; - int iVar12; - int *piVar14; - int *piVar15; - int iVar16; - undefined *puVar17; - bool bVar18; - int iVar19; - char cVar20; - int *piVar21; - float fVar22; - float fVar23; - undefined *local_168; - undefined4 local_160; - undefined2 local_15c; - float local_154; - float local_150; - float local_148; - float local_144; - undefined auStack320 [72]; - undefined auStack248 [68]; - float local_b4; - undefined auStack176 [72]; - float local_68; - int local_64; - float local_58; - int local_54; - float local_50; - float local_4c; - float local_44; - int local_30; - int local_2c; - int local_28; - int local_20; - int local_1c; - int *local_14; - int local_c; - - piVar21 = _DAT_80068bc0 + iParm1 * 0xea; - lVar5 = FUN_7f05defc(); - iVar9 = FUN_7f069bc0(lVar5); - iVar12 = piVar21[0x21e]; - piVar21[0x21e] = iParm2; - piVar21[0x21f] = iVar12; - if (iParm2 == 0) { - piVar21[0x220] = 1; - } - *(undefined *)(piVar21 + 0x21d) = 0; - *(undefined *)((int)piVar21 + 0x875) = 0; - if (DAT_80040ff4 < 1) { - iVar12 = piVar21[0x223]; - } - else { - piVar21[0x222] = piVar21[0x222] + DAT_80040ff4; - piVar21[0x221] = piVar21[0x221] + 1; - iVar12 = piVar21[0x223]; - } - piVar21[0x249] = 0; - if (iVar12 != 0) goto LAB_7f0652cc; - if (lVar5 == 0x16) { - if (piVar21[0x220] == 0) { - iVar12 = piVar21[0x21e]; - } - else { - piVar21[0x226] = 0; - iVar12 = piVar21[0x21e]; - } - } - else { - iVar12 = piVar21[0x21e]; - } - if (iVar12 == 0) { - iVar12 = piVar21[0x224]; -LAB_7f065158: - if (iVar12 != 0) { - piVar21[0x223] = iVar12; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - goto LAB_7f06516c; - } - iVar12 = piVar21[0x223]; - } - else { - if ((lVar5 == 0) || - ((local_c = iVar9, lVar7 = FUN_7f05e56c(lVar5,0x10), lVar7 == 0 && - (iVar9 = local_c, piVar21[0x225] < 1)))) { - iVar12 = piVar21[0x224]; - goto LAB_7f065158; - } - if ((lVar5 == 0x16) && (199 < piVar21[0x226])) { - iVar12 = piVar21[0x224]; - iVar9 = local_c; - goto LAB_7f065158; - } - piVar21[0x223] = 1; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - piVar21[0x220] = 0; - iVar9 = local_c; -LAB_7f06516c: - iVar12 = piVar21[0x223]; - } - piVar21[0x224] = 0; - if (iVar12 == 0) { - if (piVar21[0x225] == 0) { - if (iVar9 == 0) { - iVar12 = piVar21[0x223]; - } - else { - local_c = iVar9; - lVar7 = FUN_7f0bf078(); - if (lVar7 == 0) { - if (_DAT_80068bc0[0xa6f] == 0) { - if (((DAT_8002d9a8 != 0) && (local_c == 1)) && ((_DAT_80068bc0 + 1)[0x44a] < 1)) { - (_DAT_80068bc0 + 1)[0x44a] = 1; - } - lVar7 = FUN_7f069b08(iParm1); - if (0 < lVar7) { - piVar21[0x223] = 9; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - goto LAB_7f0652cc; - } - if (_DAT_80068bc0[0x3f0] == 0) { - iVar12 = piVar21[0x223]; - } - else { - lVar7 = FUN_7f05defc(); - piVar14 = _DAT_80068bc0 + iParm1 * 0x3fffff16; - if (piVar14[0x30d] == 0) { - if (piVar14[0x30e] == 0) { - piVar15 = piVar14 + 0x304; - if (lVar7 != 0) { - if (piVar14[0x30f] != 0) { - iVar12 = piVar21[0x223]; - goto LAB_7f0652d0; - } - local_14 = piVar14 + 0x304; - lVar7 = FUN_7f069bc0(lVar7); - if ((lVar7 == 0) || - (lVar7 = FUN_7f069b08(1 - iParm1), piVar15 = local_14, 0 < lVar7)) - goto LAB_7f0652cc; - } - local_14 = piVar15; - FUN_7f05dcb8(); - iVar12 = piVar21[0x224]; - piVar21[0x221] = 0; - piVar21[0x222] = 0; - piVar21[0x224] = 0; - piVar21[0x223] = iVar12; - iVar12 = local_14[10]; - local_14[7] = 0; - local_14[8] = 0; - local_14[10] = 0; - local_14[9] = iVar12; - goto LAB_7f0652cc; - } - iVar12 = piVar21[0x223]; - } - else { - iVar12 = piVar21[0x223]; - } - } - } - else { - iVar12 = piVar21[0x223]; - } - } - else { -LAB_7f0652cc: - iVar12 = piVar21[0x223]; - } - } - } - else { - iVar12 = piVar21[0x223]; - } - } - else { - iVar12 = piVar21[0x223]; - } -LAB_7f0652d0: - if (iVar12 == 1) { - if (false) { -switchD_7f0652f4_caseD_2b: - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - goto LAB_7f0654e0; - } - switch((int)lVar5) { - case 1: - uVar6 = FUN_700098b0(); - if ((uVar6 & 1) == 0) { - piVar21[0x223] = 0x1e; - } - else { - piVar21[0x223] = 0x20; - } - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - case 2: - uVar6 = FUN_700098b0(); - if ((uVar6 & 1) == 0) { - piVar21[0x223] = 0x11; - } - else { - piVar21[0x223] = 0x14; - } - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - case 3: - piVar21[0x223] = 0x17; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x11: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - case 0x19: - case 0x1e: - case 0x20: - case 0x23: - case 0x24: - case 0x3c: - piVar21[0x223] = 2; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - case 0x12: - case 0x18: - if (4 < piVar21[0x222]) { - piVar21[0x223] = 2; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - } - piVar21[0x300] = 0; - goto LAB_7f0654e4; - case 0x1a: - if (piVar21[0x220] == 0) { - if (piVar21[0x222] < 200) { - piVar21[0x300] = 0; - goto LAB_7f0654e4; - } - iVar12 = piVar21[0x222]; - } - else { - iVar12 = piVar21[0x222]; - } - _DAT_80068bc0[0x415] = iVar12; - piVar21[0x223] = 0x1a; - piVar21[0x221] = 0; - piVar21[0x222] = 0; - break; - case 0x1b: - case 0x1c: - case 0x1d: - case 0x21: - case 0x22: - case 0x2f: - case 0x30: - case 0x3d: - piVar21[0x223] = 0x1c; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - case 0x1f: - lVar7 = loc_7F05C8A0(&DAT_80030fe0,((float)piVar21[0x222] * 60.00000000) / 50.00000000, - piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - piVar21[0x223] = 2; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - else { - piVar21[0x249] = 1; - } - break; - case 0x25: - case 0x26: - case 0x27: - case 0x29: - case 0x2a: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x49: - case 0x51: - case 0x52: - case 0x53: - piVar21[0x223] = 0x24; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - case 0x28: - if (piVar21[0x221] == 0) { - FUN_7f080854(0,0,0,0x3f800000); - piVar21[0x300] = 0; - goto LAB_7f0654e4; - } - if (0 < piVar21[0x222]) { - FUN_7f080884(0x41000000,0,0,0,0,0); - piVar21[0x223] = 2; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - break; - default: - goto switchD_7f0652f4_caseD_2b; - } -LAB_7f0654e0: - piVar21[0x300] = 0; -LAB_7f0654e4: - iVar12 = piVar21[0x223]; - } - if (iVar12 == 2) { - lVar7 = FUN_7f069bc0(lVar5); - if ((lVar7 == 0) || (0 < piVar21[0x225])) { - if (false) goto switchD_7f065524_caseD_3; - switch((int)lVar5) { - case 2: - if (piVar21[0x221] == 0) { - *(undefined *)(piVar21 + 0x21d) = 0; - } - else { - if (piVar21[0x21e] == 0) { - piVar21[0x223] = 3; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - } - *(undefined *)(piVar21 + 0x21d) = 0; - } - *(undefined *)((int)piVar21 + 0x875) = *(undefined *)(piVar21 + 0x21d); - break; - case 4: - case 5: - case 6: - case 0xf: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - case 0x18: - case 0x19: - case 0x1e: - case 0x20: - case 0x23: - case 0x24: - if (piVar21[0x221] != 0) { - piVar21[0x223] = 3; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - break; - } - lVar7 = FUN_7f0999a4(); - if ((lVar7 == 1) || ((lVar7 = FUN_7f0c5594(), lVar7 == 0 && (_DAT_80068bc0[0xa6f] == 0)))) { - *(undefined *)((int)piVar21 + 0x875) = 1; - } - lVar7 = FUN_7f0bf078(); - bVar18 = lVar7 == 0; - if (bVar18) { - bVar18 = _DAT_80068bc0[0xa6f] == 0; - } - *(bool *)(piVar21 + 0x21d) = bVar18; - FUN_7f05ecc0(iParm1); - cVar20 = *(char *)(piVar21 + 0x21d); - goto LAB_7f0657d4; - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - if (((piVar21[0x221] == 0) || (piVar21[0x21e] != 0)) || - ((lVar7 = FUN_7f05e56c(lVar5,4), lVar7 != 0 && - ((lVar7 = FUN_7f07c6b4(), lVar7 == 0 && (piVar21[0x300] % 3 != 0)))))) { - lVar7 = FUN_7f05e484(lVar5); - if (lVar7 == 0) { - trap(0x1c00); - } - if ((lVar7 == -1) && (piVar21[0x221] == -0x80000000)) { - trap(0x1800); - } - if (piVar21[0x221] % (int)lVar7 != 0) { - cVar20 = *(char *)(piVar21 + 0x21d); - goto LAB_7f0657d4; - } - lVar7 = FUN_7f0999a4(); - if ((lVar7 == 1) || ((lVar7 = FUN_7f0c5594(), lVar7 == 0 && (_DAT_80068bc0[0xa6f] == 0)))) - { - *(undefined *)((int)piVar21 + 0x875) = 1; - } - lVar7 = FUN_7f0bf078(); - bVar18 = lVar7 == 0; - if (bVar18) { - bVar18 = _DAT_80068bc0[0xa6f] == 0; - } - *(bool *)(piVar21 + 0x21d) = bVar18; - } - else { - piVar21[0x223] = 3; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - break; - case 0x1f: - if ((piVar21[0x221] == 0) || (piVar21[0x21e] != 0)) { - loc_7F05C8A0(&DAT_800310b8,0,piVar21 + 0x239,iParm1); - *(undefined *)(piVar21 + 0x21d) = 0; - piVar21[0x249] = 1; - *(undefined *)((int)piVar21 + 0x875) = *(undefined *)(piVar21 + 0x21d); - if (piVar21[0x221] == 0) { - lVar7 = FUN_7f0bf078(); - bVar18 = lVar7 == 0; - if (bVar18) { - bVar18 = _DAT_80068bc0[0xa6f] == 0; - } - *(bool *)(piVar21 + 0x21d) = bVar18; - } - } - else { - piVar21[0x223] = 3; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - break; - case 0x28: - case 0x3c: - if (piVar21[0x221] == 0) { - lVar7 = FUN_7f0bf078(); - bVar18 = lVar7 == 0; - if (bVar18) { - bVar18 = _DAT_80068bc0[0xa6f] == 0; - } - *(bool *)(piVar21 + 0x21d) = bVar18; - } - else { - piVar21[0x223] = 3; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - } -switchD_7f065524_caseD_3: - cVar20 = *(char *)(piVar21 + 0x21d); -LAB_7f0657d4: - if (cVar20 == '\0') { - iVar12 = piVar21[0x223]; - } - else { - if (lVar5 == 0x28) { - iVar12 = piVar21[0x225]; - } - else { - uVar8 = FUN_7f09a690(); - FUN_7000b5c8(uVar8,0x3dcccccd); - lVar7 = FUN_7f0a40e0(); - if (lVar7 < 4) { - iVar12 = piVar21[0x225]; - } - else { - iVar12 = FUN_7f09a690(); - iVar9 = FUN_7f0999a4(); - FUN_7000b5c8(iVar9 + iVar12,0x3dcccccd); - iVar12 = piVar21[0x225]; - } - } - piVar21[0x225] = iVar12 + -1; - piVar21[0x300] = piVar21[0x300] + 1; - iVar12 = piVar21[0x223]; - } - if (iVar12 == 2) { - local_1c = 0; - lVar7 = FUN_7f05e4a8(lVar5); - if (lVar7 < 1) { - if (*(char *)(piVar21 + 0x21d) != '\0') { - local_1c = 1; - } - } - else { - if ((DAT_80040ffc != _DAT_80068bc0[iParm1 * 0x3fffff16 + 0x37c]) && - (piVar21[0x291] < DAT_80040ffc)) { - iVar12 = FUN_7f05e4a8(lVar5); - piVar21[0x291] = iVar12 + DAT_80040ffc; - local_1c = 1; - } - } - lVar7 = FUN_7f0999a4(); - if (lVar7 != 1) { - lVar7 = FUN_7f0c5594(); - if (lVar7 != 0) goto LAB_7f065a9c; - if (_DAT_80068bc0[0xa6f] != 0) { - iVar12 = piVar21[0x223]; - goto LAB_7f065aa0; - } - } - if (local_1c != 0) { - if (piVar21[0x28f] == 0) { - iVar12 = piVar21[0x290]; - } - else { - lVar7 = locret_70008E00(); - if (lVar7 == 0) { - iVar12 = piVar21[0x290]; - } - else { - loc_7000905C(piVar21[0x28f]); - iVar12 = piVar21[0x290]; - } - } - if ((iVar12 != 0) && (lVar7 = locret_70008E00(), lVar7 != 0)) { - loc_7000905C(piVar21[0x290]); - } - lVar7 = FUN_7f05e4cc(lVar5); - if (lVar7 != 0) { - if (piVar21[0x28f] == 0) { - uVar13 = FUN_7f05e4cc(lVar5); - FUN_70008268(_DAT_80056900,uVar13,piVar21 + 0x28f); - } - else { - if (piVar21[0x290] == 0) { - uVar13 = FUN_7f05e4cc(lVar5); - FUN_70008268(_DAT_80056900,uVar13,piVar21 + 0x290); - } - } - piVar21[0x292] = DAT_80040ffc; - } - } - if (lVar5 != 0x17) goto LAB_7f065a9c; - local_20 = DAT_800313e0; - uVar11 = FUN_700098b0(); - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&local_20 + (uVar11 & 1) * 2),0); - iVar12 = piVar21[0x223]; - } - else { - iVar12 = piVar21[0x223]; - } - } - else { - if (piVar21[0x221] < 1) { - piVar21[0x223] = 0xd; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - lVar7 = FUN_7f0999a4(); - if ((lVar7 == 1) || ((lVar7 = FUN_7f0c5594(), lVar7 == 0 && (_DAT_80068bc0[0xa6f] == 0)))) { - FUN_70008268(_DAT_80056900,0x59,0); - } - } - else { - piVar21[0x223] = 3; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } -LAB_7f065a9c: - iVar12 = piVar21[0x223]; - } - } - else { - iVar12 = piVar21[0x223]; - } -LAB_7f065aa0: - if (iVar12 == 3) { - if (lVar5 == 0x1f) { - lVar7 = loc_7F05C8A0(&DAT_800310b8,((float)piVar21[0x222] * 60.00000000) / 50.00000000, - piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - else { - piVar21[0x249] = 1; - } - } - else { - iVar10 = FUN_7f05cd64(lVar5); - iVar1 = (int)*(char *)(iVar10 + 0x44) * 0x32; - iVar12 = piVar21[0x220]; - iVar9 = iVar1 / 0x3c; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - iVar2 = (int)*(char *)(iVar10 + 0x45) * 0x32; - iVar1 = iVar2 / 0x3c; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - iVar3 = (int)*(char *)(iVar10 + 0x46) * 0x32; - iVar2 = iVar3 / 0x3c; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - iVar4 = (int)*(char *)(iVar10 + 0x47) * 0x32; - iVar3 = iVar4 / 0x3c; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - iVar4 = (int)*(char *)(iVar10 + 0x23) * 0x32; - iVar19 = iVar9 + iVar1; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - if ((iVar12 == 0) || (piVar21[0x222] < iVar9 + iVar1)) { - iVar16 = piVar21[0x222]; - if ((*(char *)(iVar10 + 0x23) < '\0') || ((iVar12 != 0 || (iVar16 < iVar19 + iVar4 / 0x3c))) - ) { - if ((iVar12 == 0) || - ((((piVar21[0x21e] == 0 || (iVar16 < iVar2)) || - (iVar12 = iVar16 + iVar3, *(char *)(iVar10 + 0x47) < '\0')) || - ((iVar19 <= iVar12 || (iVar12 < iVar2)))))) { - if (iVar16 < iVar19) { - local_44 = *(float *)(iVar10 + 0x48); - fVar22 = *(float *)(iVar10 + 0x4c); - if (iVar16 == 0) { - iVar16 = piVar21[0x222]; - piVar21[0x230] = piVar21[0x238]; - piVar21[0x22d] = piVar21[0x235]; - piVar21[0x22e] = piVar21[0x236]; - piVar21[0x22f] = piVar21[0x237]; - } - if (iVar16 < iVar9) { - *(float *)(piVar21 + 0x234) = DAT_8004a2b0 - (fVar22 * DAT_8004a2b0) / 360.00000000; - local_2c = iVar9; - local_28 = iVar10; - fVar22 = (float)FUN_7f05e1a0(iParm1); - piVar21[0x232] = 0; - *(float *)(piVar21 + 0x231) = - ((fVar22 - (float)piVar21[0x28c]) * local_44) / 1000.00000000; - *(float *)(piVar21 + 0x233) = - ((*(float *)(local_28 + 0xc) - (float)piVar21[0x28e]) * local_44) / - 1000.00000000; - local_4c = (float)func_7F057FC4(((float)piVar21[0x222] * DAT_8004a2b4) / - (float)local_2c); - } - else { - *(float *)(piVar21 + 0x234) = DAT_8004a2b8 - (fVar22 * DAT_8004a2b8) / 360.00000000; - local_30 = iVar1; - local_2c = iVar9; - local_28 = iVar10; - fVar22 = (float)FUN_7f05e1a0(iParm1); - piVar21[0x232] = 0; - *(float *)(piVar21 + 0x231) = - ((fVar22 - (float)piVar21[0x28c]) * local_44) / 1000.00000000; - *(float *)(piVar21 + 0x233) = - ((*(float *)(local_28 + 0xc) - (float)piVar21[0x28e]) * local_44) / - 1000.00000000; - fVar22 = (float)func_7F057FC4(((float)(piVar21[0x222] - local_2c) * DAT_8004a2bc) / - (float)local_30); - local_4c = fVar22 * 0.50000000 + 0.50000000; - } - iVar12 = FUN_7f06d4fc(piVar21[0x230],piVar21[0x234]); - piVar21[0x238] = iVar12; - piVar21[0x249] = 1; - *(float *)(piVar21 + 0x235) = - ((float)piVar21[0x231] - (float)piVar21[0x22d]) * local_4c + - (float)piVar21[0x22d]; - *(float *)(piVar21 + 0x236) = - ((float)piVar21[0x232] - (float)piVar21[0x22e]) * local_4c + - (float)piVar21[0x22e]; - *(float *)(piVar21 + 0x237) = - ((float)piVar21[0x233] - (float)piVar21[0x22f]) * local_4c + - (float)piVar21[0x22f]; - FUN_7f058a18(iVar12); - copies_first_3_floats_from_a0_to_a1_plus_0x30(piVar21 + 0x235,piVar21 + 0x239); - } - } - else { - piVar21[0x223] = 4; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - piVar21[0x228] = iVar3; - } - goto LAB_7f065f44; - } - piVar21[0x223] = 0; - } - else { - piVar21[0x223] = 0; - } - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - } -LAB_7f065f44: - iVar12 = piVar21[0x223]; - if (iVar12 == 4) { - iVar12 = piVar21[0x222]; - if (iVar12 == 0) { - piVar21[0x230] = piVar21[0x238]; - piVar21[0x22d] = piVar21[0x235]; - piVar21[0x22e] = piVar21[0x236]; - piVar21[0x22f] = piVar21[0x237]; - iVar12 = piVar21[0x222]; - piVar21[0x234] = 0; - piVar21[0x231] = 0; - piVar21[0x232] = 0; - piVar21[0x233] = 0; - iVar9 = piVar21[0x228]; - } - else { - iVar9 = piVar21[0x228]; - } - if (iVar12 < iVar9) { - fVar22 = (float)func_7F057FC4(((float)(iVar9 - iVar12) * DAT_8004a2c0) / (float)iVar9); - local_50 = fVar22 * 0.50000000 + 0.50000000; - iVar12 = FUN_7f06d4fc(piVar21[0x230],piVar21[0x234]); - piVar21[0x238] = iVar12; - piVar21[0x249] = 1; - *(float *)(piVar21 + 0x235) = - ((float)piVar21[0x231] - (float)piVar21[0x22d]) * local_50 + (float)piVar21[0x22d]; - *(float *)(piVar21 + 0x236) = - ((float)piVar21[0x232] - (float)piVar21[0x22e]) * local_50 + (float)piVar21[0x22e]; - *(float *)(piVar21 + 0x237) = - ((float)piVar21[0x233] - (float)piVar21[0x22f]) * local_50 + (float)piVar21[0x22f]; - FUN_7f058a18(iVar12); - copies_first_3_floats_from_a0_to_a1_plus_0x30(piVar21 + 0x235,piVar21 + 0x239); - iVar12 = piVar21[0x223]; - } - else { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } - } - if (iVar12 == 0xd) { - if (piVar21[0x221] == 0) { - FUN_7f05ecc0(iParm1); - iVar12 = piVar21[0x220]; - } - else { - iVar12 = piVar21[0x220]; - } - if (iVar12 == 0) { - if (true) { - if (0xf < piVar21[0x222]) { - piVar21[0x223] = 0; - goto LAB_7f0660e0; - } - iVar12 = piVar21[0x223]; - } - else { - iVar12 = piVar21[0x223]; - } - } - else { - piVar21[0x223] = 0; -LAB_7f0660e0: - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = piVar21[0x223]; - } - } - else { - iVar12 = piVar21[0x223]; - } - if (iVar12 == 5) { - local_54 = 0xd; - lVar7 = FUN_7f0999a4(); - iVar12 = local_54; - if (1 < lVar7) { - iVar12 = 10; - } - if (piVar21[0x221] == 0) { - local_54 = iVar12; - lVar7 = FUN_7f0999a4(); - if (lVar7 == 1) { - piVar21[0x22a] = 0xe; - } - else { - piVar21[0x22a] = 10; - } - iVar9 = piVar21[0x222]; - iVar12 = local_54; - } - else { - iVar9 = piVar21[0x222]; - } - fVar22 = DAT_8004a2c4; - if (iVar9 < iVar12) { - piVar21[0x249] = 1; - local_58 = ((float)iVar9 * fVar22) / (float)iVar12; - FUN_7f058a18(iVar12,piVar21 + 0x239); - piVar21[0x245] = 0; - fVar22 = (float)func_7F057FC4(local_58); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar22) * -60.00000000; - fVar22 = (float)func_7F057FC4(local_58); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - } - else { - iVar12 = FUN_7f069bc0(lVar5); - (_DAT_80068bc0 + iVar12)[0x44a] = (_DAT_80068bc0 + iVar12)[0x44a] + piVar21[0x225]; - piVar21[0x225] = 0; - lVar7 = FUN_7f0999a4(); - if (1 < lVar7) { - FUN_7f09a8a8(iParm1); - } - FUN_7f05ffb8(iParm1); - piVar21[0x223] = 6; - lVar7 = FUN_7f08c6d0(0x11); - if (lVar7 == 0) { - _DAT_80068bc0[0xa8c] = 1; - } - else { - _DAT_80068bc0[0xa8c] = 0x11; - } - iVar12 = piVar21[0x223]; - } - } - if ((iVar12 == 6) || (iVar12 == 7)) { - if ((piVar21[0x22b] == 0) || (piVar21[0x22a] <= piVar21[0x222])) { - if (iVar12 == 6) { - iVar12 = (_DAT_80068bc0 + iParm1 * 0x3fffff16)[0x30d]; - if ((((iVar12 != 6) && (iVar12 != 5)) && - (iVar9 = (_DAT_80068bc0 + iParm1 * 0x3fffff16)[0x30e], iVar9 != 5)) && - (((iVar12 != 0xe && (iVar12 != 0xf)) && ((iVar12 != 0x10 && (iVar9 != 0xe)))))) { - if (iParm1 == 0) { - uVar8 = FUN_7f05de88(1); - lVar5 = FUN_7f08c734(piVar21[0x229],uVar8); - if (lVar5 == 0) { - FUN_7f05ddcc(1,0); - } - } - else { - uVar8 = FUN_7f05de88(0); - lVar5 = FUN_7f08c734(uVar8,piVar21[0x229]); - if (lVar5 == 0) { - piVar21[0x229] = 0; - } - } - } - FUN_7f05e00c(iParm1,piVar21[0x229]); - lVar5 = FUN_7f05defc(iParm1); - piVar21[0x223] = 7; - } - else { - lVar7 = FUN_7f05d36c(iParm1); - if (lVar7 != 0) { - piVar21[0x223] = 8; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - } - iVar12 = piVar21[0x223]; - } - else { - iVar12 = piVar21[0x223]; - } - if ((iVar12 == 6) || (iVar12 == 7)) { - piVar21[0x249] = 1; - FUN_7f058a18(DAT_8004a2c8); - piVar21[0x245] = 0; - fVar22 = (float)func_7F057FC4(DAT_8004a2cc); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar22) * -60.00000000; - fVar22 = (float)func_7F057FC4(DAT_8004a2d0); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - } - } - if (iVar12 == 8) { - local_64 = 0x13; - lVar7 = FUN_7f0999a4(); - if (1 < lVar7) { - local_64 = 10; - } - if (piVar21[0x221] == 0) { - lVar7 = FUN_7f0999a4(); - if (1 < lVar7) { - FUN_7f09a8d8(iParm1); - } - FUN_7f064ed4(iParm1); - _DAT_80068bc0[0x3f0] = 0; - if (DAT_80040ff4 < 1) { - iVar12 = piVar21[0x222]; - } - else { - if (*_DAT_80068bc0 == 1) { - iVar12 = piVar21[0x222]; - } - else { - lVar7 = FUN_7f05d36c(iParm1); - if (lVar7 == 0) { -switchD_7f0664fc_caseD_0: - iVar12 = piVar21[0x222]; - } - else { - if (DAT_80031a04 == 0) { - if (_DAT_80068bc0[0x36] == 0) { - if (lVar5 < 0x3e) { - if (false) { -switchD_7f0664fc_caseD_4: - FUN_70008268(_DAT_80056900,0xe8,0); - goto switchD_7f0664fc_caseD_0; - } - switch((int)lVar5) { - case 0: - case 1: - case 0x17: - case 0x1a: - case 0x1e: - case 0x1f: - case 0x20: - case 0x21: - case 0x22: - case 0x28: - case 0x2f: - case 0x30: - case 0x3c: - case 0x3d: - goto switchD_7f0664fc_caseD_0; - case 2: - case 3: - FUN_70008268(_DAT_80056900,0xe9,0); - iVar12 = piVar21[0x222]; - break; - default: - goto switchD_7f0664fc_caseD_4; - case 0x16: - FUN_70008268(_DAT_80056900,0xf2,0); - iVar12 = piVar21[0x222]; - break; - case 0x1b: - case 0x1c: - case 0x1d: - FUN_70008268(_DAT_80056900,0xeb,0); - iVar12 = piVar21[0x222]; - } - } - else { - if (lVar5 != 0x58) goto switchD_7f0664fc_caseD_4; - iVar12 = piVar21[0x222]; - } - } - else { - iVar12 = piVar21[0x222]; - } - } - else { - iVar12 = piVar21[0x222]; - } - } - } - } - } - else { - iVar12 = piVar21[0x222]; - } - if (iVar12 < local_64) { - lVar7 = FUN_7f05d500(lVar5); - if (((lVar7 != 0) && (lVar7 = FUN_7f05e56c(lVar5,0x800), lVar7 != 0)) && - (lVar7 = FUN_7f05e56c(lVar5,0x2000), fVar22 = DAT_8004a3cc, lVar7 == 0)) { - piVar21[0x249] = 1; - local_68 = ((float)(local_64 - piVar21[0x222]) * fVar22) / (float)local_64; - FUN_7f058a18(); - piVar21[0x245] = 0; - fVar22 = (float)func_7F057FC4(local_68); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar22) * -60.00000000; - fVar22 = (float)func_7F057FC4(local_68); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - goto LAB_7f06664c; - } - piVar21[0x223] = 0; - } - else { - piVar21[0x223] = 0; - } - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } -LAB_7f06664c: - if (iVar12 == 9) { - iVar12 = FUN_7f05cd64(lVar5); - if (((longlong)piVar21[0x225] < (longlong)*(short *)(iVar12 + 0x20)) || - (lVar7 = FUN_7f05e56c(lVar5,0x200000), lVar7 != 0)) { - lVar7 = FUN_7f069b08(iParm1); - iVar12 = 10; - if (0 < lVar7) { - piVar21[0x223] = 10; - goto LAB_7f0666b4; - } - piVar21[0x223] = 0; - } - else { - piVar21[0x223] = 0; - } - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } -LAB_7f0666b4: - if (iVar12 == 10) { - iVar12 = 0xb; - if (piVar21[0x222] < 0xd) { - if (*(char *)((int)piVar21 + 0x877) != '\0') { - local_b4 = ((float)piVar21[0x222] * DAT_8004a3d0) / 13.00000000; - piVar21[0x249] = 1; - if (iParm1 == 0) { - FUN_7f058b30(); - } - else { - FUN_7f058b30(0x80000000); - } - FUN_7f058a18(local_b4); - FUN_7f058510(auStack176,piVar21 + 0x239); - func_7F057FC4(0); - piVar21[0x245] = 0; - fVar22 = (float)locret_7F0649D0(lVar5); - fVar23 = (float)func_7F057FC4(local_b4); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar23) * fVar22; - fVar22 = (float)func_7F057FC4(local_b4); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - goto LAB_7f0667d8; - } - piVar21[0x223] = 0xb; - } - else { - piVar21[0x223] = 0xb; - } - piVar21[0x22a] = 0xe; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } -LAB_7f0667d8: - if (iVar12 == 0xb) { - if (piVar21[0x221] == 0) { - if (DAT_80040ff4 < 1) { - iVar12 = piVar21[0x222]; - } - else { - if (*_DAT_80068bc0 == 1) { - iVar12 = piVar21[0x222]; - } - else { - lVar7 = FUN_7f05d36c(iParm1); - if (lVar7 == 0) { -switchD_7f066878_caseD_0: - iVar12 = piVar21[0x222]; - } - else { - if (DAT_80031a04 == 0) { - if (_DAT_80068bc0[0x36] == 0) { - if (lVar5 < 0x3e) { - if (true) { - switch((int)lVar5) { - case 0: - case 1: - case 2: - case 3: - case 0x16: - case 0x17: - case 0x1a: - case 0x1b: - case 0x1c: - case 0x1d: - case 0x1e: - case 0x1f: - case 0x20: - case 0x21: - case 0x22: - case 0x28: - case 0x2f: - case 0x30: - case 0x3c: - case 0x3d: - goto switchD_7f066878_caseD_0; - } - } - } - else { - if (lVar5 == 0x58) { - iVar12 = piVar21[0x222]; - goto LAB_7f066898; - } - } - FUN_70008268(_DAT_80056900,0x32,0); - goto switchD_7f066878_caseD_0; - } - iVar12 = piVar21[0x222]; - } - else { - iVar12 = piVar21[0x222]; - } - } - } - } - } - else { - iVar12 = piVar21[0x222]; - } -LAB_7f066898: - if (iVar12 < piVar21[0x22a]) { - piVar21[0x249] = 1; - } - else { - iVar12 = 0xc; - if (1 < piVar21[0x221]) { - piVar21[0x223] = 0xc; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - goto LAB_7f066988; - } - piVar21[0x249] = 1; - } - if (iParm1 == 0) { - FUN_7f058b30(0); - } - else { - FUN_7f058b30(0x80000000); - } - FUN_7f058a18(DAT_8004a4cc); - FUN_7f058510(auStack248,piVar21 + 0x239); - func_7F057FC4(0); - piVar21[0x245] = 0; - fVar22 = (float)locret_7F0649D0(lVar5); - fVar23 = (float)func_7F057FC4(DAT_8004a4d0); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar23) * fVar22; - fVar22 = (float)func_7F057FC4(DAT_8004a4d4); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - } -LAB_7f066988: - if (iVar12 == 0xc) { - if (piVar21[0x221] == 0) { - FUN_7f064ed4(iParm1); - _DAT_80068bc0[0x3f0] = 0; - iVar12 = piVar21[0x222]; - } - else { - iVar12 = piVar21[0x222]; - } - if (iVar12 < 0x13) { - lVar7 = FUN_7f05d500(lVar5); - if (((lVar7 != 0) && (lVar7 = FUN_7f05e56c(lVar5,0x800), lVar7 != 0)) && - (lVar7 = FUN_7f05e56c(lVar5,0x2000), lVar7 == 0)) { - local_144 = ((float)(0x13 - piVar21[0x222]) * DAT_8004a4d8) / 19.00000000; - piVar21[0x249] = 1; - if (iParm1 == 0) { - FUN_7f058b30(); - } - else { - FUN_7f058b30(0x80000000); - } - FUN_7f058a18(local_144); - FUN_7f058510(auStack320,piVar21 + 0x239); - func_7F057FC4(0); - piVar21[0x245] = 0; - fVar22 = (float)locret_7F0649D0(lVar5); - fVar23 = (float)func_7F057FC4(local_144); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar23) * fVar22; - fVar22 = (float)func_7F057FC4(local_144); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - goto LAB_7f066af4; - } - piVar21[0x223] = 0; - } - else { - piVar21[0x223] = 0; - } - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } -LAB_7f066af4: - fVar22 = DAT_8004a4dc; - if (iVar12 == 0xe) { - iVar12 = 0xf; - if (piVar21[0x222] < 0xd) { - if (*(char *)((int)piVar21 + 0x877) != '\0') { - piVar21[0x249] = 1; - local_148 = ((float)piVar21[0x222] * fVar22) / 13.00000000; - FUN_7f058a18(); - piVar21[0x245] = 0; - fVar22 = (float)func_7F057FC4(local_148); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar22) * -60.00000000; - fVar22 = (float)func_7F057FC4(local_148); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - goto LAB_7f066bb0; - } - piVar21[0x223] = 0xf; - } - else { - piVar21[0x223] = 0xf; - } - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } -LAB_7f066bb0: - if (iVar12 == 0xf) { - if ((piVar21[0x221] == 0) || (lVar7 = FUN_7f05d36c(iParm1), lVar7 == 0)) { - FUN_7f05df44(iParm1,piVar21[0x229]); - lVar5 = FUN_7f05defc(iParm1); - } - lVar7 = FUN_7f05d36c(iParm1); - if (lVar7 == 0) { - piVar21[0x249] = 1; - FUN_7f058a18(DAT_8004a4e0); - piVar21[0x245] = 0; - fVar22 = (float)func_7F057FC4(DAT_8004a4e4); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar22) * -60.00000000; - fVar22 = (float)func_7F057FC4(DAT_8004a4e8); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - } - else { - iVar12 = 0x10; - piVar21[0x223] = 0x10; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - } - if (iVar12 == 0x10) { - if (piVar21[0x221] == 0) { - if (lVar5 < 0x21) { - lVar7 = FUN_7f0999a4(); - if (1 < lVar7) { - FUN_7f09a8d8(iParm1); - } - FUN_7f064ed4(iParm1); - _DAT_80068bc0[0x3f0] = 0; - iVar12 = piVar21[0x222]; - } - else { - iVar12 = piVar21[0x222]; - } - } - else { - iVar12 = piVar21[0x222]; - } - if (iVar12 < 0x13) { - lVar7 = FUN_7f05d500(lVar5); - if (((lVar7 != 0) && (lVar7 = FUN_7f05e56c(lVar5,0x800), lVar7 != 0)) && - (lVar7 = FUN_7f05e56c(lVar5,0x2000), fVar22 = DAT_8004a4ec, lVar7 == 0)) { - piVar21[0x249] = 1; - local_150 = ((float)(0x13 - piVar21[0x222]) * fVar22) / 19.00000000; - FUN_7f058a18(); - piVar21[0x245] = 0; - fVar22 = (float)func_7F057FC4(local_150); - *(float *)(piVar21 + 0x246) = (1.00000000 - fVar22) * -60.00000000; - fVar22 = (float)func_7F057FC4(local_150); - iVar12 = piVar21[0x223]; - *(float *)(piVar21 + 0x247) = fVar22 * 15.00000000; - goto LAB_7f066dac; - } - piVar21[0x223] = 0; - } - else { - piVar21[0x223] = 0; - } - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } -LAB_7f066dac: - if (((iVar12 == 0x11) || (iVar12 == 0x12)) || - (((iVar12 == 0x13 || ((iVar12 == 0x14 || (iVar12 == 0x15)))) || (iVar12 == 0x16)))) { - local_154 = ((float)piVar21[0x222] * 60.00000000) / 50.00000000; - if (((iVar12 == 0x11) || (iVar12 == 0x14)) && (0xc < piVar21[0x222])) { - local_160 = DAT_800313e4; - local_15c = DAT_800313e8; - uVar11 = FUN_700098b0(); - FUN_70008268(_DAT_80056900,*(undefined2 *)((int)&local_160 + (uVar11 % 3) * 2),0); - iVar12 = 0x15; - if (piVar21[0x223] == 0x11) { - iVar12 = 0x12; - piVar21[0x223] = 0x12; - } - else { - piVar21[0x223] = 0x15; - } - } - if (((iVar12 != 0x13) && (iVar12 != 0x16)) && (0x13 < piVar21[0x222])) { - *(undefined *)(piVar21 + 0x21d) = 1; - if ((iVar12 == 0x11) || (iVar12 == 0x12)) { - piVar21[0x223] = 0x13; - iVar12 = 0x13; - } - else { - iVar12 = 0x16; - piVar21[0x223] = 0x16; - } - } - if (((iVar12 == 0x11) || (iVar12 == 0x12)) || (iVar12 == 0x13)) { - puVar17 = &DAT_800301f4; - } - else { - puVar17 = &DAT_8003035c; - } - lVar7 = loc_7F05C8A0(puVar17,local_154,piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } - else { - piVar21[0x249] = 1; - iVar12 = piVar21[0x223]; - } - } - if (((iVar12 == 0x1e) || (iVar12 == 0x1f)) || ((iVar12 == 0x20 || (iVar12 == 0x21)))) { - iVar9 = piVar21[0x222]; - if ((iVar12 == 0x1e) || (iVar12 == 0x1f)) { - if (_DAT_80068bc0[0xa8c] == 0x11) { - local_168 = &DAT_80030cc8; - } - else { - local_168 = &DAT_800309f8; - } - if ((iVar12 != 0x1f) && (0x18 < iVar9)) { - *(undefined *)(piVar21 + 0x21d) = 1; - piVar21[0x223] = 0x1f; - } - } - else { - if ((iVar12 == 0x20) || (iVar12 == 0x21)) { - if (_DAT_80068bc0[0xa8c] == 0x11) { - local_168 = &DAT_80030e54; - } - else { - local_168 = &DAT_80030b60; - } - if ((iVar12 != 0x21) && (0x18 < iVar9)) { - *(undefined *)(piVar21 + 0x21d) = 1; - piVar21[0x223] = 0x21; - } - } - } - lVar7 = loc_7F05C8A0(local_168,((float)iVar9 * 60.00000000) / 50.00000000,piVar21 + 0x239,iParm1 - ); - if (lVar7 == 0) { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } - else { - piVar21[0x249] = 1; - iVar12 = piVar21[0x223]; - } - } - if (iVar12 == 0x1a) { - iVar12 = 0; - if (piVar21[0x225] < 1) { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - else { - lVar7 = loc_7F05C8A0(&DAT_80030674,((float)piVar21[0x222] * 60.00000000) / 50.00000000, - piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - *(undefined *)((int)piVar21 + 0x876) = 0; - *(undefined *)(piVar21 + 0x21d) = 1; - piVar21[0x225] = piVar21[0x225] + -1; - piVar21[0x223] = 0x1b; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - else { - piVar21[0x249] = 1; - } - iVar12 = piVar21[0x223]; - } - } - if (iVar12 == 0x1b) { - lVar7 = loc_7F05C8A0(&DAT_8003074c,((float)piVar21[0x222] * 60.00000000) / 50.00000000, - piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - *(undefined *)((int)piVar21 + 0x876) = 1; - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } - else { - piVar21[0x249] = 1; - iVar12 = piVar21[0x223]; - } - } - if (iVar12 == 0x17) { - iVar12 = 0; - if (piVar21[0x225] < 1) { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - else { - if (piVar21[0x220] == 0) { - lVar7 = loc_7F05C8A0(&DAT_800304c4,((float)piVar21[0x222] * 60.00000000) / 50.00000000, - piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - lVar7 = loc_7F05C8A0(&DAT_8003059c,0,piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - piVar21[0x223] = 0x18; - } - else { - piVar21[0x249] = 1; - } - } - else { - piVar21[0x249] = 1; - } - } - else { - piVar21[0x223] = 0x18; - } - iVar12 = piVar21[0x223]; - } - } - if (iVar12 == 0x18) { - iVar12 = 0; - if (piVar21[0x225] < 1) { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - else { - lVar7 = loc_7F05C8A0(&DAT_800304c4,((float)piVar21[0x222] * 60.00000000) / 50.00000000, - piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - *(undefined *)((int)piVar21 + 0x876) = 0; - *(undefined *)(piVar21 + 0x21d) = 1; - piVar21[0x225] = piVar21[0x225] + -1; - piVar21[0x223] = 0x19; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - else { - piVar21[0x249] = 1; - } - iVar12 = piVar21[0x223]; - } - } - if (iVar12 == 0x19) { - lVar7 = loc_7F05C8A0(&DAT_8003059c,((float)piVar21[0x222] * 60.00000000) / 50.00000000, - piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - *(undefined *)((int)piVar21 + 0x876) = 1; - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } - else { - piVar21[0x249] = 1; - iVar12 = piVar21[0x223]; - } - } - if (iVar12 == 0x1c) { - if (piVar21[0x225] < 1) { - lVar7 = FUN_7f05e56c(lVar5,0x10); - if (lVar7 == 0) { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - goto LAB_7f067448; - } - iVar12 = piVar21[0x222]; - } - else { - iVar12 = piVar21[0x222]; - } - lVar7 = loc_7F05C8A0(&DAT_80030824,((float)iVar12 * 60.00000000) / 50.00000000,piVar21 + 0x239, - iParm1); - if (lVar7 == 0) { - *(undefined *)((int)piVar21 + 0x876) = 0; - *(undefined *)(piVar21 + 0x21d) = 1; - piVar21[0x225] = piVar21[0x225] + -1; - piVar21[0x223] = 0x1d; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - else { - piVar21[0x249] = 1; - } - iVar12 = piVar21[0x223]; - } -LAB_7f067448: - if (iVar12 == 0x1d) { - lVar7 = loc_7F05C8A0(&DAT_800308fc,((float)piVar21[0x222] * 60.00000000) / 50.00000000, - piVar21 + 0x239,iParm1); - if (lVar7 == 0) { - *(undefined *)((int)piVar21 + 0x876) = 1; - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - iVar12 = 0; - } - else { - piVar21[0x249] = 1; - iVar12 = piVar21[0x223]; - } - } - if (iVar12 == 0x24) { - if (lVar5 == 0x2e) { - if (piVar21[0x221] == 0) { - FUN_7f06760c(); - } - iVar12 = piVar21[0x220]; - } - else { - if (lVar5 == 0x2c) { - if (piVar21[0x221] == 0) { - FUN_7f0676b0(); - } - iVar12 = piVar21[0x220]; - } - else { - if ((((lVar5 == 0x27) || (lVar5 == 0x37)) || (lVar5 == 0x26)) || - ((lVar5 == 0x32 || (lVar5 == 0x49)))) { - if ((piVar21[0x221] == 0) && (iVar12 = FUN_7f03c4bc(), iVar12 != 0)) { - *(byte *)(*(int *)(iVar12 + 4) + 2) = *(byte *)(*(int *)(iVar12 + 4) + 2) | 0x40; - } - iVar12 = piVar21[0x220]; - } - else { - iVar12 = piVar21[0x220]; - } - } - } - if (iVar12 != 0) { - piVar21[0x223] = 0; - piVar21[0x222] = 0; - piVar21[0x221] = 0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06760c(void) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = FUN_7f08d2f0(); - if (lVar1 == 0) { - uVar2 = FUN_7f0c12b8(0x98d9); - FUN_7f08a6d4(uVar2); - FUN_7f05db48(); - } - else { - uVar2 = FUN_7f0c12b8(0x98d8); - FUN_7f08a6d4(uVar2); - *(undefined4 *)(_DAT_80068bc0 + 0x1058) = 1; - FUN_70008268(_DAT_80056900,0xf5,0); - FUN_7f05ddcc(0,0x3d); - FUN_7f05ddcc(1,0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0676a0(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x1058); -} - - - -void FUN_7f0676b0(void) - -{ - int iVar1; - - FUN_7f04fc50(10,2,0,1); - FUN_7f04fc50(5,2,0,1); - FUN_7f08c7e8(0x11); - FUN_7f04f9f8(0x11); - FUN_7f05040c(0x11); - iVar1 = FUN_7f0699d4(DAT_8002e170); - FUN_7f0698c4(DAT_8002e170,iVar1 + (int)DAT_8002e174); - FUN_7f08c994(0x2c); - FUN_7f05ddcc(0,0x11); - FUN_7f05ddcc(1,0); - return; -} - - - -undefined4 FUN_7f06774c(int iParm1) - -{ - return (&DAT_8002ee88)[iParm1 * 0xe]; -} - - - -undefined4 FUN_7f067768(int iParm1) - -{ - return (&DAT_8002ee8c)[iParm1 * 0xe]; -} - - - -undefined4 FUN_7f067784(int iParm1) - -{ - return (&DAT_8002ee90)[iParm1 * 0xe]; -} - - - -undefined4 FUN_7f0677a0(int iParm1) - -{ - return *(undefined4 *)(&DAT_8002ee94 + iParm1 * 0x38); -} - - - -undefined4 FUN_7f0677bc(int iParm1) - -{ - return *(undefined4 *)(&DAT_8002ee98 + iParm1 * 0x38); -} - - - -undefined4 FUN_7f0677d8(void) - -{ - return 0x42340000; -} - - - -void FUN_7f0677e8(int iParm1) - -{ - FUN_7f0c12b8((ulonglong)*(ushort *)(iParm1 * 0x38 + -0x7ffd117c)); - return; -} - - - -void FUN_7f06781c(int iParm1) - -{ - FUN_7f0c12b8((ulonglong)*(ushort *)(iParm1 * 0x38 + -0x7ffd117a)); - return; -} - - - -void FUN_7f067850(int iParm1) - -{ - FUN_7f0c12b8((ulonglong)*(ushort *)(iParm1 * 0x38 + -0x7ffd1162)); - return; -} - - - -void FUN_7f067884(int iParm1) - -{ - FUN_7f0c12b8((ulonglong)*(ushort *)(iParm1 * 0x38 + -0x7ffd1164)); - return; -} - - - -undefined4 FUN_7f0678b8(void) - -{ - return 0x42340000; -} - - - -undefined4 FUN_7f0678c8(int iParm1) - -{ - return (&DAT_8002eea0)[iParm1 * 0xe]; -} - - - -undefined4 FUN_7f0678e4(int iParm1) - -{ - return (&DAT_8002eea4)[iParm1 * 0xe]; -} - - - -undefined4 FUN_7f067900(int iParm1) - -{ - return (&DAT_8002eea8)[iParm1 * 0xe]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06791c(int iParm1) - -{ - return *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xa78); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06794c(void) - -{ - int iVar2; - int iVar3; - int iVar4; - int iVar5; - longlong lVar1; - float fVar6; - float fVar7; - - iVar2 = FUN_7f05de88(0); - iVar3 = FUN_7f05de88(1); - iVar4 = FUN_7f05cd64(iVar2); - iVar5 = FUN_7f05cd64(iVar3); - if ((iVar2 != 0) && (lVar1 = FUN_7f05e140(0), iVar5 = iVar5, lVar1 != 0)) { - *(float *)(_DAT_80068bc0 + 0xa78) = *(float *)(_DAT_80068bc0 + 0xa78) + *(float *)(iVar4 + 0x5c) - ; - iVar5 = iVar5; - if (*(float *)(iVar4 + 0x58) < *(float *)(_DAT_80068bc0 + 0xa78)) { - *(float *)(_DAT_80068bc0 + 0xa78) = *(float *)(iVar4 + 0x58); - iVar5 = iVar5; - } - } - if ((iVar3 != 0) && (lVar1 = FUN_7f05e140(1), lVar1 != 0)) { - *(float *)(_DAT_80068bc0 + 0xe20) = *(float *)(_DAT_80068bc0 + 0xe20) + *(float *)(iVar5 + 0x5c) - ; - if (*(float *)(iVar5 + 0x58) < *(float *)(_DAT_80068bc0 + 0xe20)) { - *(float *)(_DAT_80068bc0 + 0xe20) = *(float *)(iVar5 + 0x58); - } - } - fVar7 = (*(float *)(iVar4 + 0x5c) * DAT_80041004) / (*(float *)(iVar4 + 0x60) * 60.00000000); - fVar6 = ((*(float *)(_DAT_80068bc0 + 0xa78) - *(float *)(iVar4 + 0x54)) * DAT_80041004) / - (*(float *)(iVar4 + 100) * 60.00000000); - if (fVar6 <= fVar7) { - fVar6 = fVar7; - } - *(float *)(_DAT_80068bc0 + 0xa78) = *(float *)(_DAT_80068bc0 + 0xa78) - fVar6; - if (*(float *)(_DAT_80068bc0 + 0xa78) < *(float *)(iVar4 + 0x54)) { - *(float *)(_DAT_80068bc0 + 0xa78) = *(float *)(iVar4 + 0x54); - } - fVar7 = (*(float *)(iVar5 + 0x5c) * DAT_80041004) / (*(float *)(iVar5 + 0x60) * 60.00000000); - fVar6 = ((*(float *)(_DAT_80068bc0 + 0xe20) - *(float *)(iVar5 + 0x54)) * DAT_80041004) / - (*(float *)(iVar5 + 100) * 60.00000000); - if (fVar6 <= fVar7) { - fVar6 = fVar7; - } - *(float *)(_DAT_80068bc0 + 0xe20) = *(float *)(_DAT_80068bc0 + 0xe20) - fVar6; - if (*(float *)(_DAT_80068bc0 + 0xe20) < *(float *)(iVar5 + 0x54)) { - *(float *)(_DAT_80068bc0 + 0xe20) = *(float *)(iVar5 + 0x54); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f067b5c(int iParm1) - -{ - bool bVar1; - undefined8 uVar2; - longlong lVar3; - - uVar2 = FUN_7f05de88(); - lVar3 = FUN_7f069bc0(uVar2); - bVar1 = lVar3 == 0; - if (!bVar1) { - bVar1 = 0 < *(int *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0x894); - } - return (ulonglong)bVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f067bc8(undefined4 uParm1) - -{ - uint uVar1; - undefined8 uVar2; - undefined4 uVar4; - longlong lVar3; - int iVar5; - undefined auStack24 [4]; - uint uStack20; - undefined4 uStack16; - int iStack12; - undefined4 auStack8 [2]; - - auStack8[0] = DAT_800313ec; - auStack8[1] = DAT_800313f0; - *(undefined4 *)(_DAT_80068bc0 + 0xfc8) = *(undefined4 *)(_DAT_80068bc0 + 0xfc4); - *(undefined4 *)(_DAT_80068bc0 + 0xfc4) = uParm1; - iVar5 = *(int *)(_DAT_80068bc0 + 0xfc4); - if ((iVar5 == 0) && (*(int *)(_DAT_80068bc0 + 0xfc8) != 0)) { - *(undefined4 *)(_DAT_80068bc0 + 0xfc0) = 1; - iVar5 = *(int *)(_DAT_80068bc0 + 0xfc4); - } - if (iVar5 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0xfcc) = 0; - } - else { - iStack12 = FUN_7f05de88(0); - lVar3 = FUN_7f05de88(1); - uStack16 = (undefined4)lVar3; - *(int *)(_DAT_80068bc0 + 0xfcc) = *(int *)(_DAT_80068bc0 + 0xfcc) + DAT_80040ff4; - if ((iStack12 == 0) || (lVar3 == 0)) { - lVar3 = FUN_7f05de88(*(undefined4 *)(_DAT_80068bc0 + 0xfd0)); - if ((lVar3 == 0) && (lVar3 = FUN_7f05de88(1 - *(int *)(_DAT_80068bc0 + 0xfd0)), lVar3 != 0)) { - *(int *)(_DAT_80068bc0 + 0xfd0) = 1 - *(int *)(_DAT_80068bc0 + 0xfd0); - } - iVar5 = _DAT_80068bc0; - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0)] = 1; - auStack8[*(int *)(iVar5 + 0xfd0) * 0x3fffffff + 1] = 0; - } - else { - lVar3 = FUN_7f05e56c(iStack12,0x80); - if ((lVar3 == 0) || (lVar3 = FUN_7f05e56c(uStack16,0x80), iVar5 = _DAT_80068bc0, lVar3 == 0)) - { - lVar3 = FUN_7f05e56c(iStack12,0x80); - if ((lVar3 == 0) && (lVar3 = FUN_7f05e56c(uStack16,0x80), iVar5 = _DAT_80068bc0, lVar3 == 0) - ) { - if (*(int *)(_DAT_80068bc0 + 0xfcc) < 0x25) { - if ((*(int *)(_DAT_80068bc0 + 0xfc8) == 0) && - ((lVar3 = FUN_7f067b5c(1 - *(int *)(_DAT_80068bc0 + 0xfd0)), lVar3 != 0 || - (lVar3 = FUN_7f067b5c(*(undefined4 *)(_DAT_80068bc0 + 0xfd0)), lVar3 == 0)))) { - *(int *)(_DAT_80068bc0 + 0xfd0) = 1 - *(int *)(_DAT_80068bc0 + 0xfd0); - } - iVar5 = _DAT_80068bc0; - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0)] = 1; - auStack8[*(int *)(iVar5 + 0xfd0) * 0x3fffffff + 1] = 0; - } - else { - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0)] = 1; - lVar3 = FUN_7f067b5c(1 - *(int *)(iVar5 + 0xfd0)); - if ((lVar3 != 0) || - (*(int *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0xfd0) * -0x3a8 + 0xc20) != 0)) { - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0) * 0x3fffffff + 1] = 1; - } - } - } - else { - iVar5 = _DAT_80068bc0; - if (*(int *)(_DAT_80068bc0 + 0xfcc) < 0x25) { - lVar3 = FUN_7f05e56c(iStack12,0x80); - uStack20 = (uint)(lVar3 == 0); - lVar3 = FUN_7f067b5c((ulonglong)(lVar3 == 0)); - uVar1 = uStack20; - if ((lVar3 == 0) && - (iVar5 = 1 - uStack20, *(int *)(_DAT_80068bc0 + uStack20 * 0x3a8 + 0x878) == 0)) { - lVar3 = FUN_7f067b5c(); - if ((lVar3 == 0) && (*(int *)(_DAT_80068bc0 + uVar1 * -0x3a8 + 0xc20) == 0)) { - *(int *)(_DAT_80068bc0 + 0xfd0) = 1 - *(int *)(_DAT_80068bc0 + 0xfd0); - } - else { - *(int *)(_DAT_80068bc0 + 0xfd0) = iVar5; - } - } - else { - *(uint *)(_DAT_80068bc0 + 0xfd0) = uStack20; - } - iVar5 = _DAT_80068bc0; - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0)] = 1; - auStack8[*(int *)(iVar5 + 0xfd0) * 0x3fffffff + 1] = 0; - } - else { - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0)] = 1; - lVar3 = FUN_7f067b5c(1 - *(int *)(iVar5 + 0xfd0)); - if ((lVar3 != 0) || - (*(int *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0xfd0) * -0x3a8 + 0xc20) != 0)) { - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0) * 0x3fffffff + 1] = 1; - } - } - } - } - else { - if (*(int *)(_DAT_80068bc0 + 0xfcc) < 0x19) { - if ((*(int *)(_DAT_80068bc0 + 0xfc8) == 0) && - ((lVar3 = FUN_7f067b5c(1 - *(int *)(_DAT_80068bc0 + 0xfd0)), lVar3 != 0 || - (lVar3 = FUN_7f067b5c(*(undefined4 *)(_DAT_80068bc0 + 0xfd0)), lVar3 == 0)))) { - *(int *)(_DAT_80068bc0 + 0xfd0) = 1 - *(int *)(_DAT_80068bc0 + 0xfd0); - } - iVar5 = _DAT_80068bc0; - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0)] = 1; - auStack8[*(int *)(iVar5 + 0xfd0) * 0x3fffffff + 1] = 0; - } - else { - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0)] = 1; - lVar3 = FUN_7f067b5c(1 - *(int *)(iVar5 + 0xfd0)); - if ((lVar3 != 0) || - (*(int *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0xfd0) * -0x3a8 + 0xc20) != 0)) { - auStack8[*(int *)(_DAT_80068bc0 + 0xfd0) * 0x3fffffff + 1] = 1; - } - } - } - } - } - FUN_7f065024(0,auStack8[0]); - FUN_7f065024(1,auStack8[1]); - FUN_7f05d540(0); - FUN_7f05d540(1); - FUN_7f06794c(); - if (*(int *)(_DAT_80068bc0 + 0xfd8) == 0) { - uVar2 = FUN_7f089900(); - loc_7F04028C(uVar2,auStack24); - sub_7F040310(_DAT_80068bc0 + 0xfd4,auStack24); - } - else { - uVar2 = FUN_7f089900(); - loc_7F04028C(uVar2,_DAT_80068bc0 + 0xfd4); - *(undefined4 *)(_DAT_80068bc0 + 0xfd8) = 0; - } - uVar4 = FUN_7f05de88(0); - uVar2 = FUN_7f05de88(1); - FUN_7f08df54(uVar4,uVar2); - iVar5 = _DAT_80068bc0; - if (-1 < *(int *)(_DAT_80068bc0 + 0x1268)) { - *(int *)(_DAT_80068bc0 + 0x1268) = *(int *)(_DAT_80068bc0 + 0x1268) + DAT_80040ff4; - if (*(int *)(_DAT_80068bc0 + 0x1268) < 0xfa) { - if (((*(int *)(iVar5 + 0xa3c) == 0) || (lVar3 = locret_70008E00(), lVar3 == 0)) && - (lVar3 = FUN_7f0bf078(), lVar3 == 0)) { - FUN_70008268(_DAT_80056900,0xf6,iVar5 + 0xa3c); - } - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x1268) = 0xffffffff; - if ((*(int *)(iVar5 + 0xa3c) != 0) && (lVar3 = locret_70008E00(), lVar3 != 0)) { - loc_7000905C(*(undefined4 *)(iVar5 + 0xa3c)); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06824c(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0xfdc) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06825c(float *pfParm1) - -{ - float fVar1; - - fVar1 = (float)FUN_7f05e170(0); - *(float *)(_DAT_80068bc0 + 0xa30) = fVar1 + *pfParm1; - *(float *)(_DAT_80068bc0 + 0xa34) = pfParm1[1]; - *(float *)(_DAT_80068bc0 + 0xa38) = pfParm1[2]; - fVar1 = (float)FUN_7f05e170(1); - *(float *)(_DAT_80068bc0 + 0xdd8) = fVar1 + *pfParm1; - *(float *)(_DAT_80068bc0 + 0xddc) = pfParm1[1]; - *(float *)(_DAT_80068bc0 + 0xde0) = pfParm1[2]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0682f4(undefined4 *puParm1) - -{ - undefined4 uVar1; - - uVar1 = *puParm1; - *(undefined4 *)(_DAT_80068bc0 + 0xc04) = uVar1; - *(undefined4 *)(_DAT_80068bc0 + 0xfac) = uVar1; - uVar1 = puParm1[1]; - *(undefined4 *)(_DAT_80068bc0 + 0xc08) = uVar1; - *(undefined4 *)(_DAT_80068bc0 + 0xfb0) = uVar1; - uVar1 = puParm1[2]; - *(undefined4 *)(_DAT_80068bc0 + 0xc0c) = uVar1; - *(undefined4 *)(_DAT_80068bc0 + 0xfb4) = uVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06833c(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6) - -{ - int iVar1; - float fVar2; - float fVar3; - undefined auStack24 [12]; - float fStack12; - float fStack8; - int iStack4; - - fStack8 = (float)FUN_7f078524(); - fStack12 = (float)FUN_7f078534(); - if (fParm5 != *(float *)(_DAT_80068bc0 + 0xff0)) { - *(float *)(_DAT_80068bc0 + 0xfe8) = - (*(float *)(_DAT_80068bc0 + 0xfe8) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0xff0))) / - (1.00000000 - fParm5); - *(float *)(_DAT_80068bc0 + 0xfec) = - (*(float *)(_DAT_80068bc0 + 0xfec) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0xff0))) / - (1.00000000 - fParm5); - *(float *)(_DAT_80068bc0 + 0xff0) = fParm5; - } - if (fParm6 != *(float *)(_DAT_80068bc0 + 0x1004)) { - *(float *)(_DAT_80068bc0 + 0xffc) = - (*(float *)(_DAT_80068bc0 + 0xffc) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x1004))) / - (1.00000000 - fParm6); - *(float *)(_DAT_80068bc0 + 0x1000) = - (*(float *)(_DAT_80068bc0 + 0x1000) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x1004))) / - (1.00000000 - fParm6); - *(float *)(_DAT_80068bc0 + 0x1004) = fParm6; - } - iVar1 = 0; - if (0 < DAT_80040ff4) { - do { - iVar1 += 1; - *(float *)(_DAT_80068bc0 + 0xfe8) = *(float *)(_DAT_80068bc0 + 0xfe8) * fParm5 + fParm1; - *(float *)(_DAT_80068bc0 + 0xfec) = *(float *)(_DAT_80068bc0 + 0xfec) * fParm5 + fParm2; - } while (iVar1 < DAT_80040ff4); - } - fVar3 = fStack8 * 0.50000000; - *(float *)(_DAT_80068bc0 + 0xfe0) = - *(float *)(_DAT_80068bc0 + 0xfe8) * (1.00000000 - fParm5) * fStack8 * 0.50000000 + fVar3; - *(float *)(_DAT_80068bc0 + 0xfe4) = - *(float *)(_DAT_80068bc0 + 0xfec) * (1.00000000 - fParm5) * fStack12 * 0.50000000 + - fStack12 * 0.50000000; - if (*(float *)(_DAT_80068bc0 + 0xfe0) < 3.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0xfe0) = 0x40400000; - } - else { - if (*(float *)(_DAT_80068bc0 + 0xfe0) <= fStack8 - 4.00000000) { - fVar2 = *(float *)(_DAT_80068bc0 + 0xfe4); - goto LAB_7f068560; - } - *(float *)(_DAT_80068bc0 + 0xfe0) = fStack8 - 4.00000000; - } - fVar2 = *(float *)(_DAT_80068bc0 + 0xfe4); -LAB_7f068560: - if (fVar2 < 3.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0xfe4) = 0x40400000; - } - else { - if (fStack12 - 4.00000000 < fVar2) { - *(float *)(_DAT_80068bc0 + 0xfe4) = fStack12 - 4.00000000; - } - } - iStack4 = 0; - fVar2 = (float)FUN_7f078544(); - *(float *)(_DAT_80068bc0 + 0xfe0) = *(float *)(_DAT_80068bc0 + 0xfe0) + fVar2; - fVar2 = (float)FUN_7f078554(); - *(float *)(_DAT_80068bc0 + 0xfe4) = *(float *)(_DAT_80068bc0 + 0xfe4) + fVar2; - iVar1 = iStack4; - if (0 < DAT_80040ff4) { - do { - iVar1 += 1; - *(float *)(_DAT_80068bc0 + 0xffc) = *(float *)(_DAT_80068bc0 + 0xffc) * fParm6 + fParm1; - *(float *)(_DAT_80068bc0 + 0x1000) = *(float *)(_DAT_80068bc0 + 0x1000) * fParm6 + fParm2; - } while (iVar1 < DAT_80040ff4); - } - *(float *)(_DAT_80068bc0 + 0xff4) = - *(float *)(_DAT_80068bc0 + 0xffc) * (1.00000000 - fParm6) * fStack8 * 0.50000000 + fVar3; - *(float *)(_DAT_80068bc0 + 0xff8) = - *(float *)(_DAT_80068bc0 + 0x1000) * (1.00000000 - fParm6) * fStack12 * 0.50000000 + - fStack12 * 0.50000000; - fVar3 = (float)FUN_7f078544(); - *(float *)(_DAT_80068bc0 + 0xff4) = *(float *)(_DAT_80068bc0 + 0xff4) + fVar3; - fVar3 = (float)FUN_7f078554(); - *(float *)(_DAT_80068bc0 + 0xff8) = *(float *)(_DAT_80068bc0 + 0xff8) + fVar3; - FUN_7f077f6c(_DAT_80068bc0 + 0xff4,auStack24,0x447a0000); - FUN_7f06825c(auStack24); - return; -} - - - -void FUN_7f068700(undefined4 uParm1,undefined4 uParm2) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f05de88(0); - FUN_7f05cd64(uVar1); - FUN_7f06833c(uParm1,uParm2); - return; -} - - - -void FUN_7f068764(undefined4 uParm1,undefined4 uParm2) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f05de88(0); - FUN_7f05cd64(uVar1); - FUN_7f06833c(uParm1,uParm2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0687b0(undefined4 *puParm1,undefined4 *puParm2) - -{ - *puParm1 = *(undefined4 *)(_DAT_80068bc0 + 0xfe0); - *puParm2 = *(undefined4 *)(_DAT_80068bc0 + 0xfe4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0687d4(void) - -{ - float fVar1; - float fVar2; - undefined auStack12 [12]; - - fVar2 = (float)FUN_7f078544(); - fVar1 = (float)FUN_7f078524(); - fVar2 = fVar1 * 0.50000000 + fVar2; - *(float *)(_DAT_80068bc0 + 0xfe0) = fVar2; - *(float *)(_DAT_80068bc0 + 0xff4) = fVar2; - fVar2 = (float)FUN_7f078554(); - fVar1 = (float)FUN_7f078534(); - fVar2 = fVar1 * 0.50000000 + fVar2; - *(float *)(_DAT_80068bc0 + 0xfe4) = fVar2; - *(float *)(_DAT_80068bc0 + 0xff8) = fVar2; - FUN_7f077f6c(_DAT_80068bc0 + 0xff4,auStack12,0x447a0000); - FUN_7f06825c(auStack12); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06887c(undefined4 *puParm1) - -{ - float fStack12; - float fStack8; - float fStack4; - - *(undefined4 *)(_DAT_80068bc0 + 0x1008) = *puParm1; - *(undefined4 *)(_DAT_80068bc0 + 0x100c) = puParm1[1]; - *(undefined4 *)(_DAT_80068bc0 + 0x1010) = puParm1[2]; - FUN_7f058bbc(puParm1,_DAT_80068bc0 + 0x1014); - fStack12 = *(float *)(_DAT_80068bc0 + 0x1034) * 1000.00000000; - fStack8 = *(float *)(_DAT_80068bc0 + 0x1038) * 1000.00000000; - fStack4 = *(float *)(_DAT_80068bc0 + 0x103c) * 1000.00000000; - FUN_7f078074(&fStack12,_DAT_80068bc0 + 0xfe0); - *(undefined4 *)(_DAT_80068bc0 + 0xff4) = *(undefined4 *)(_DAT_80068bc0 + 0xfe0); - *(undefined4 *)(_DAT_80068bc0 + 0xff8) = *(undefined4 *)(_DAT_80068bc0 + 0xfe4); - FUN_7f06825c(&fStack12); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f068938(undefined4 *puParm1,undefined8 uParm2) - -{ - *puParm1 = 0; - puParm1[1] = 0; - puParm1[2] = 0; - FUN_7f077f6c(_DAT_80068bc0 + 0xfe0,uParm2,0x3f800000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f068974(undefined4 *puParm1,undefined4 uParm2,undefined8 uParm3) - -{ - undefined8 uVar1; - int iVar3; - longlong lVar2; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fStack16; - float fStack8; - float fStack4; - - uVar1 = FUN_7f05de88(uParm3); - iVar3 = FUN_7f05cd64(uVar1); - fStack16 = *(float *)(iVar3 + 0x30); - uVar1 = FUN_7f05defc((int)uParm3); - lVar2 = FUN_7f05e56c(uVar1,0x1000); - if ((lVar2 != 0) && (*(int *)(_DAT_80068bc0 + (int)uParm3 * 0x3a8 + 0xc00) == 1)) { - fStack16 = fStack16 * 0.25000000; - } - fVar6 = (float)FUN_7000402c(); - fVar6 = (fStack16 * 120.00000000) / fVar6; - iVar3 = FUN_700098b0(); - lVar2 = FUN_700098b0(); - fVar7 = (float)iVar3; - if (iVar3 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar4 = (float)FUN_7f078524(); - fVar5 = (float)FUN_7f078574(); - fStack8 = (fVar8 * 0.00000000 * (fVar7 * 0.00000000 - 0.50000000) * fVar6 * fVar4 * DAT_8004a4f0) - / (fVar5 * 320.00000000) + *(float *)(_DAT_80068bc0 + 0xfe0); - iVar3 = FUN_700098b0(); - lVar2 = FUN_700098b0(); - fVar7 = (float)iVar3; - if (iVar3 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar4 = (float)FUN_7f078534(); - fStack4 = (fVar4 * fVar8 * 0.00000000 * (fVar7 * 0.00000000 - 0.50000000) * fVar6) / 272.00000000 - + *(float *)(_DAT_80068bc0 + 0xfe4); - *puParm1 = 0; - puParm1[1] = 0; - puParm1[2] = 0; - FUN_7f077f6c(&fStack8,uParm2,0x3f800000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f068bc8(undefined4 uParm1,int iParm2) - -{ - uint uVar1; - uint uVar2; - - uVar2 = 0x80064d08; - if (_DAT_80064d6c != 0) { - uVar2 = 0x80064d70; - while ((uVar2 < 0x80065528 && (*(int *)(uVar2 + 100) != 0))) { - uVar2 += 0x68; - } - } - uVar1 = 0; - if (uVar2 < 0x80065528) { - *(undefined4 *)(uVar2 + 100) = uParm1; - *(undefined4 *)(uVar2 + 4) = *(undefined4 *)(iParm2 + 0x30); - *(undefined4 *)(uVar2 + 8) = *(undefined4 *)(iParm2 + 0x34); - *(undefined4 *)(uVar2 + 0xc) = *(undefined4 *)(iParm2 + 0x38); - FUN_7f05842c(iParm2,uVar2 + 0x1c); - uVar1 = uVar2; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f068c68(int iParm1,undefined4 uParm2) - -{ - float *pfVar1; - undefined8 uVar2; - int iVar4; - longlong lVar3; - undefined4 *puVar5; - uint uVar6; - uint uVar7; - float fVar8; - float fVar9; - float fVar10; - undefined auStack172 [64]; - float fStack108; - float fStack104; - float fStack100; - float fStack92; - float fStack88; - float fStack84; - int iStack80; - int iStack72; - undefined auStack68 [68]; - - uVar2 = FUN_7f05de88(); - iStack72 = (int)uVar2; - iVar4 = FUN_7f05cd64(uVar2); - iStack80 = *(int *)(iVar4 + 0x28); - if ((iStack80 != 0) && (lVar3 = FUN_7f0999a4(), lVar3 < 2)) { - iVar4 = **(int **)(_DAT_80068bc0 + iParm1 * 0x1c + 0x818); - if (iVar4 == 0) { - loc_7F058030(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xad0,auStack68); - } - else { - pfVar1 = *(float **)(iVar4 + 4); - fStack92 = *pfVar1 * DAT_8004a4f4; - fStack88 = pfVar1[1] * DAT_8004a4f4; - fStack84 = pfVar1[2] * DAT_8004a4f4; - FUN_7f058e0c(&fStack92,auStack68); - FUN_7f058510(_DAT_80068bc0 + iParm1 * 0x3a8 + 0xad0,auStack68); - } - iParm1 *= 0x3a8; - puVar5 = (undefined4 *)FUN_7f068bc8(iStack80,auStack68); - if (puVar5 != NULL) { - fStack108 = DAT_800313f4; - fStack100 = (float)DAT_800313fc; - fStack104 = (float)DAT_800313f8; - *puVar5 = uParm2; - if ((((iStack72 == 4) || (iStack72 == 5)) || (iStack72 == 6)) || - ((iStack72 == 0x14 || (iStack72 == 0x15)))) { - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(float *)(puVar5 + 4) = -(fVar9 * 0.00000000 * DAT_8004a4f8 * 0.06250000 + DAT_8004a4f8); - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - puVar5[6] = 0; - *(float *)(puVar5 + 5) = fVar9 * 0.00000000 * 2.50000000 * 0.06250000 + 2.50000000; - FUN_7f058880(_DAT_80068bc0 + iParm1 + 0xad0,puVar5 + 4); - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack108 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_8004a4fc * 0.06250000 - - DAT_8004a500; - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack104 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_8004a504 * 0.06250000 - - DAT_8004a508; - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack100 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_8004a50c * 0.06250000 - - DAT_8004a510; - FUN_7f058bbc(&fStack108,auStack172); - FUN_7f05842c(auStack172,puVar5 + 0x10); - uVar6 = FUN_700098b0(); - uVar7 = ((int)((uVar6 >> 0x18) * 0x158679) >> 10) + 0x158679; - uVar6 = FUN_700098b0(); - fVar9 = (float)puVar5[5]; - if (uVar7 == 0) { - trap(0x1c00); - } - fVar10 = (float)(uVar6 % uVar7); - if (false) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = fVar10 / DAT_8004a514; - fVar8 = fVar9 - fVar10 * DAT_8004a518; - *(float *)(puVar5 + 5) = fVar8; - *(float *)(puVar5 + 2) = (float)puVar5[2] + fVar10 * (fVar9 + fVar8) * 0.50000000; - *(float *)(puVar5 + 1) = (float)puVar5[1] + fVar10 * (float)puVar5[4]; - *(float *)(puVar5 + 3) = (float)puVar5[3] + fVar10 * (float)puVar5[6]; - if (0 < DAT_80040ff4) { - *(float *)(puVar5 + 4) = - (float)puVar5[4] + - (*(float *)(_DAT_80068bc0 + iParm1 + 0xb00) - - *(float *)(_DAT_80068bc0 + iParm1 + 0xb40)) / DAT_80041004; - *(float *)(puVar5 + 5) = - (float)puVar5[5] + - (*(float *)(_DAT_80068bc0 + iParm1 + 0xb04) - - *(float *)(_DAT_80068bc0 + iParm1 + 0xb44)) / DAT_80041004; - *(float *)(puVar5 + 6) = - (float)puVar5[6] + - (*(float *)(_DAT_80068bc0 + iParm1 + 0xb08) - - *(float *)(_DAT_80068bc0 + iParm1 + 0xb48)) / DAT_80041004; - } - } - else { - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(float *)(puVar5 + 4) = -(fVar9 * 0.00000000 * DAT_8004a51c * 0.12500000 + DAT_8004a51c); - lVar3 = FUN_700098b0(); - fVar9 = DAT_8004a520; - fVar10 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = fVar10 * 0.00000000 * DAT_8004a520; - puVar5[6] = 0; - *(float *)(puVar5 + 5) = fVar10 * 0.12500000 + fVar9; - FUN_7f058880(_DAT_80068bc0 + iParm1 + 0xad0,puVar5 + 4); - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack108 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_8004a524 * 0.06250000 - - DAT_8004a528; - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack104 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_8004a52c * 0.06250000 - - DAT_8004a530; - lVar3 = FUN_700098b0(); - fVar9 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack100 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_8004a534 * 0.06250000 - - DAT_8004a538; - FUN_7f058bbc(&fStack108,auStack172); - FUN_7f05842c(auStack172,puVar5 + 0x10); - uVar6 = FUN_700098b0(); - uVar7 = ((int)((uVar6 >> 0x18) * 0x158679) >> 10) + 0x158679; - uVar6 = FUN_700098b0(); - fVar9 = (float)puVar5[5]; - if (uVar7 == 0) { - trap(0x1c00); - } - fVar10 = (float)(uVar6 % uVar7); - if (false) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = fVar10 / DAT_8004a53c; - fVar8 = fVar9 - fVar10 * DAT_8004a540; - *(float *)(puVar5 + 5) = fVar8; - *(float *)(puVar5 + 2) = (float)puVar5[2] + fVar10 * (fVar9 + fVar8) * 0.50000000; - *(float *)(puVar5 + 1) = (float)puVar5[1] + fVar10 * (float)puVar5[4]; - *(float *)(puVar5 + 3) = (float)puVar5[3] + fVar10 * (float)puVar5[6]; - if (0 < DAT_80040ff4) { - *(float *)(puVar5 + 4) = - (float)puVar5[4] + - (*(float *)(_DAT_80068bc0 + iParm1 + 0xb00) - - *(float *)(_DAT_80068bc0 + iParm1 + 0xb40)) / DAT_80041004; - *(float *)(puVar5 + 5) = - (float)puVar5[5] + - (*(float *)(_DAT_80068bc0 + iParm1 + 0xb04) - - *(float *)(_DAT_80068bc0 + iParm1 + 0xb44)) / DAT_80041004; - *(float *)(puVar5 + 6) = - (float)puVar5[6] + - (*(float *)(_DAT_80068bc0 + iParm1 + 0xb08) - - *(float *)(_DAT_80068bc0 + iParm1 + 0xb48)) / DAT_80041004; - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0694a0(float *pfParm1) - -{ - float fVar1; - int iVar2; - float fVar3; - - fVar1 = DAT_80041004; - fVar3 = pfParm1[5] - DAT_80041004 * DAT_8004a544; - pfParm1[2] = pfParm1[2] + DAT_80041004 * 0.50000000 * (pfParm1[5] + fVar3); - if (pfParm1[2] < *pfParm1) { - if ((((_DAT_80064cf0 == 0) && (0 < DAT_80040ff4)) && (*(int *)(_DAT_80068bc0 + 0x88c) != 2)) && - (*(int *)(_DAT_80068bc0 + 0xc34) != 2)) { - FUN_70008268(_DAT_80056900,0x7a); - } - pfParm1[0x19] = 0.00000000; - } - else { - pfParm1[5] = fVar3; - iVar2 = 0; - pfParm1[1] = pfParm1[1] + fVar1 * pfParm1[4]; - pfParm1[3] = pfParm1[3] + fVar1 * pfParm1[6]; - if (0 < DAT_80040ff4) { - do { - FUN_7f05831c(pfParm1 + 0x10,pfParm1 + 7); - iVar2 += 1; - } while (iVar2 < DAT_80040ff4); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f069600(void) - -{ - int iVar1; - uint uVar2; - - iVar1 = _DAT_80064d6c; - uVar2 = 0x80064d08; - while( true ) { - if (iVar1 != 0) { - FUN_7f0694a0(uVar2); - } - if (0x80065527 < uVar2 + 0x68) break; - iVar1 = *(int *)(uVar2 + 0xcc); - uVar2 = uVar2 + 0x68; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f069658(int iParm1,undefined4 *puParm2) - -{ - bool bVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined auStack172 [64]; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack96; - int iStack92; - undefined4 uStack60; - uint uStack56; - undefined auStack44 [12]; - int iStack32; - int iStack12; - int iStack8; - undefined4 uStack4; - - uStack4 = *puParm2; - iStack8 = *(int *)(iParm1 + 100); - iStack12 = FUN_7f0bcac4((int)*(short *)(iStack8 + 0xe) << 6); - puVar7 = &DAT_80031400; - puVar5 = &uStack108; - do { - puVar8 = puVar7 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar7 = puVar8; - puVar5 = puVar6; - } while (puVar8 != (undefined4 *)0x8003143c); - bVar1 = true; - *puVar6 = uRam8003143c; - FUN_7f075d7c(iStack8); - sub_7F075F68(auStack44,iStack8,0); - iStack32 = iStack12; - FUN_7f0583bc(iParm1 + 0x1c,auStack172); - matrix_multiply_A1_by_F12(DAT_8004a548); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iParm1 + 4,auStack172); - uVar2 = FUN_7f078444(); - loc_7F05823C(uVar2,auStack172,iStack32); - iVar3 = 0; - iVar4 = iStack32; - do { - iVar3 += 4; - if (DAT_8004a550 < *(float *)(iVar4 + 0x30)) { - bVar1 = false; - } - else { - if (*(float *)(iVar4 + 0x30) < DAT_8004a54c) { - bVar1 = false; - } - } - iVar4 += 4; - } while (iVar3 != 0xc); - if (bVar1) { - uStack104 = 0; - uStack60 = 4; - uStack96 = uStack4; - iStack92 = iStack12; - uStack56 = (uint)*(byte *)(_DAT_80068bc0 + 0xfd7) | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd4) << 0x18 | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd5) << 0x10 | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd6) << 8; - FUN_7f074758(&uStack108,auStack44); - *puParm2 = uStack96; - loc_7F08BDA4(iStack12,*(undefined2 *)(iStack8 + 0xe)); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f069820(undefined8 uParm1) - -{ - int iVar1; - uint uVar2; - - iVar1 = _DAT_80064d6c; - uVar2 = 0x80064d08; - while( true ) { - if (iVar1 != 0) { - FUN_7f069658(uVar2,uParm1); - } - if (0x80065527 < uVar2 + 0x68) break; - iVar1 = *(int *)(uVar2 + 0xcc); - uVar2 = uVar2 + 0x68; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f069888(uint uParm1,longlong lParm2) - -{ - if (lParm2 != 0) { - *(uint *)(_DAT_80068bc0 + 0x105c) = *(uint *)(_DAT_80068bc0 + 0x105c) & ~uParm1; - return; - } - *(uint *)(_DAT_80068bc0 + 0x105c) = *(uint *)(_DAT_80068bc0 + 0x105c) | uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0698c4(longlong lParm1,int iParm2) - -{ - undefined8 uVar1; - undefined4 uVar3; - longlong lVar2; - int iVar4; - int iVar5; - - uVar1 = FUN_7f05de88(0); - uVar3 = (undefined4)uVar1; - lVar2 = FUN_7f069bc0(uVar1); - iVar5 = (int)lParm1; - if ((lVar2 == lParm1) && (lVar2 = FUN_7f05e56c(uVar3,0x200000), lVar2 != 0)) { - *(int *)(_DAT_80068bc0 + 0x894) = *(int *)(_DAT_80068bc0 + 0x894) + iParm2; - iVar4 = FUN_7f05cd64(uVar3); - if ((longlong)*(short *)(iVar4 + 0x20) < (longlong)*(int *)(_DAT_80068bc0 + 0x894)) { - iVar4 = FUN_7f05cd64(uVar3); - *(int *)(_DAT_80068bc0 + 0x894) = (int)*(short *)(iVar4 + 0x20); - } - *(undefined4 *)(_DAT_80068bc0 + iVar5 * 4 + 0x1128) = 0; - } - else { - if ((int)(&DAT_80031440)[iVar5 * 3] < iParm2) { - *(int *)(_DAT_80068bc0 + iVar5 * 4 + 0x1128) = (&DAT_80031440)[iVar5 * 3]; - } - else { - *(int *)(_DAT_80068bc0 + iVar5 * 4 + 0x1128) = iParm2; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0699d4(int iParm1) - -{ - return *(undefined4 *)(_DAT_80068bc0 + iParm1 * 4 + 0x1128); -} - - - -int FUN_7f0699ec(int iParm1) - -{ - int iVar2; - undefined8 uVar1; - int iVar3; - - iVar2 = FUN_7f0699d4(); - uVar1 = FUN_7f05de88(0); - iVar3 = FUN_7f069bc0(uVar1); - if (iVar3 == iParm1) { - iVar3 = FUN_7f069ad8(0); - iVar2 += iVar3; - } - uVar1 = FUN_7f05de88(1); - iVar3 = FUN_7f069bc0(uVar1); - if (iVar3 == iParm1) { - iVar3 = FUN_7f069ad8(1); - iVar2 += iVar3; - } - return iVar2; -} - - - -undefined4 FUN_7f069a68(int iParm1) - -{ - return (&DAT_80031440)[iParm1 * 3]; -} - - - -void FUN_7f069a84(void) - -{ - int iVar1; - undefined4 *puVar2; - - puVar2 = &DAT_80031440; - iVar1 = 0; - do { - FUN_7f0698c4(iVar1,*puVar2); - iVar1 += 1; - puVar2 = puVar2 + 3; - } while (iVar1 != 0x1e); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f069ad8(int iParm1) - -{ - return *(undefined4 *)(_DAT_80068bc0 + iParm1 * 0x3a8 + 0x894); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f069b08(int iParm1) - -{ - undefined8 uVar1; - int iVar3; - longlong lVar2; - - uVar1 = FUN_7f05de88(); - iVar3 = FUN_7f069be4(uVar1); - if ((((int)uVar1 == 0xf) || ((int)uVar1 == 0x10)) && - ((lVar2 = FUN_7f05de88(1 - iParm1), lVar2 == 0xf || (iVar3 = iVar3, lVar2 == 0x10)))) { - iVar3 = iVar3 - *(int *)(_DAT_80068bc0 + iParm1 * -0x3a8 + 0xc44); - } - return iVar3; -} - - - -undefined4 FUN_7f069bc0(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return *(undefined4 *)(iVar1 + 0x1c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f069be4(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return *(undefined4 *)(_DAT_80068bc0 + *(int *)(iVar1 + 0x1c) * 4 + 0x1128); -} - - - -void FUN_7f069c18(undefined8 uParm1,undefined4 uParm2) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - FUN_7f0698c4(*(undefined4 *)(iVar1 + 0x1c),uParm2); - return; -} - - - -undefined4 FUN_7f069c44(void) - -{ - int iVar1; - - iVar1 = FUN_7f05cd64(); - return (&DAT_80031440)[*(int *)(iVar1 + 0x1c) * 3]; -} - - - -undefined4 * -loc_7F06987C(undefined4 *puParm1,int iParm2,float fParm3,float fParm4,float fParm5,int iParm6, - float fParm7,int iParm8,undefined4 uParm9,undefined4 uParm10,undefined4 uParm11, - undefined4 uParm12) - -{ - uint uVar1; - undefined8 uVar2; - float fVar3; - undefined4 *puStackX0; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - puParm1[1] = 0xc0; - *puParm1 = 0xba000602; - puParm1[3] = 0; - puParm1[2] = 0xba001301; - puParm1[5] = 0; - puParm1[4] = 0xb9000002; - puParm1[7] = 0; - puParm1[6] = 0xba001001; - puParm1[9] = 0; - puParm1[8] = 0xba000c02; - puParm1[0xb] = 0xc00; - puParm1[10] = 0xba000903; - puParm1[0xd] = 0; - puParm1[0xc] = 0xba000e02; - uVar1 = (uint)*(byte *)(iParm2 + 4); - fVar3 = (float)uVar1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - if (false) { - uVar1 = (uint)*(byte *)(iParm2 + 4) + 1; - } - fStack8 = fVar3 * 0.50000000 - (float)((int)uVar1 >> 1); - if (iParm6 != 0) { - fStack8 = -fStack8; - } - fStack8 = fStack8 + fParm3; - if (0.00000000 <= fParm4) { - fVar3 = (float)(uint)*(byte *)(iParm2 + 5); - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - fStack4 = fParm4 - fVar3 * 0.50000000; - } - else { - uVar1 = (uint)*(byte *)(iParm2 + 5); - fVar3 = (float)uVar1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - if (false) { - uVar1 = (uint)*(byte *)(iParm2 + 5) + 1; - } - fStack4 = (fParm5 - (fVar3 * 0.50000000 - (float)((int)uVar1 >> 1))) + fParm7; - } - uVar2 = 1; - fStack16 = (float)(uint)*(byte *)(iParm2 + 4); - if (false) { - fStack16 = fStack16 + 4294967296.00000000; - } - fStack16 = fStack16 * 0.50000000; - fStack12 = (float)(uint)*(byte *)(iParm2 + 5); - if (false) { - fStack12 = fStack12 + 4294967296.00000000; - } - fStack12 = fStack12 * 0.50000000; - puParm1[0xf] = 0; - puParm1[0xe] = 0xe7000000; - puParm1[0x11] = 0; - puParm1[0x10] = 0xba001402; - puParm1[0x13] = 0x504240; - puParm1[0x12] = 0xb900031d; - puParm1[0x15] = 0xfffdf6fb; - puParm1[0x14] = 0xfcffffff; - puParm1[0x17] = 0; - puParm1[0x16] = 0xfa000000; - puStackX0 = puParm1 + 0x1a; - puParm1[0x18] = - ((int)(fStack12 + fStack4) + 1U & 0x3ff) << 2 | 0xf6000000 | - ((int)(fStack8 + fStack16) + 1U & 0x3ff) << 0xe; - puParm1[0x19] = - ((int)(fStack4 - fStack12) - 1U & 0x3ff) << 2 | - ((int)(fStack8 - fStack16) - 1U & 0x3ff) << 0xe; - if (iParm8 != 0) { - uVar2 = 2; - } - loc_7F077B80(register0x000000ec,iParm2,uVar2,0,0); - loc_7F06B108(register0x000000ec,&fStack8,&fStack16,(ulonglong)*(byte *)(iParm2 + 4), - (uint)*(byte *)(iParm2 + 5),0,0,1,uParm9,uParm10,uParm11,uParm12, - (uint)(*(char *)(iParm2 + 6) != '\0'),0); - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0[3] = 0x40; - puStackX0[2] = 0xba000602; - puStackX0[5] = 0x80000; - puStackX0[4] = 0xba001301; - puStackX0[7] = 0; - puStackX0[6] = 0xb9000002; - puStackX0[9] = 0x10000; - puStackX0[8] = 0xba001001; - puStackX0[0xb] = 0x2000; - puStackX0[10] = 0xba000c02; - puStackX0[0xd] = 0xc00; - puStackX0[0xc] = 0xba000903; - puStackX0[0xf] = 0; - puStackX0[0xe] = 0xba000e02; - return puStackX0 + 0x10; -} - - - -void set_rgba_redirect_generate_microcode - (undefined8 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7,undefined4 uParm8) - -{ - loc_7F06987C(uParm1,uParm2,uParm3,uParm4,uParm5,uParm6,uParm7,uParm8,0xff,0xff,0xff,0xff); - return; -} - - - -undefined8 -FUN_7f06a1e4(undefined8 uParm1,undefined4 uParm2,int iParm3,int iParm4,int iParm5,int iParm6, - int iParm7) - -{ - int iVar1; - undefined8 uVar2; - undefined2 uVar4; - undefined4 uVar3; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - iStack8 = 0; - iStack12 = 0; - iStack16 = 0; - iStack24 = 0; - iStack20 = 0; - loc_7F0AEB50(&iStack20,&iStack24,uParm2,DAT_8003ab00,DAT_8003aafc,0); - if (iParm4 == 1) { - iStack12 = iParm3 + iStack24; - iStack4 = iParm3; - } - else { - if (iParm4 == 0) { - iStack4 = iParm3 - iStack24; - iStack12 = iParm3; - } - else { - if (iParm4 == 2) { - iVar1 = iStack24; - if (iStack24 < 0) { - iVar1 = iStack24 + 1; - } - iStack12 = (iVar1 >> 1) + iParm3; - iStack4 = iStack12 - iStack24; - } - } - } - if (iParm6 == 1) { - iStack8 = iParm5; - iStack16 = iParm5 + iStack20; - } - else { - if (iParm6 == 0) { - iStack16 = iParm5; - iStack8 = iParm5 - iStack20; - } - else { - if (iParm6 == 2) { - iVar1 = iStack20; - if (iStack20 < 0) { - iVar1 = iStack20 + 1; - } - iStack16 = (iVar1 >> 1) + iParm5; - iStack8 = iStack16 - iStack20; - } - } - } - uVar2 = draw_blackbox_to_screen(uParm1,&iStack4,&iStack8,&iStack12,&iStack16); - if (iParm7 == 0) { - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - uVar2 = loc_7F0ADD78(uVar2,&iStack4,&iStack8,uParm2,DAT_8003ab00,DAT_8003aafc,0xff00b0,uVar4, - uVar3,0,0); - } - else { - uVar4 = FUN_70003e6c(); - uVar3 = FUN_70003e7c(); - uVar2 = loc_7F0AE958(uVar2,&iStack4,&iStack8,uParm2,DAT_8003ab00,DAT_8003aafc,0xffffffff, - 0x646464ff,uVar4,uVar3,0,0); - } - return uVar2; -} - - - -void display_ammo_total_in_a1 - (undefined4 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7) - -{ - undefined auStack12 [12]; - - FUN_7000a0f4(auStack12,s__d_80049d34,uParm2); - FUN_7f06a1e4(uParm1,auStack12,uParm3,uParm4,uParm5,uParm6,uParm7); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06a488(undefined4 uParm1) - -{ - uint uVar1; - int iVar4; - int iVar5; - longlong lVar2; - ulonglong uVar3; - short sVar8; - int iVar6; - short sVar9; - int iVar7; - short sVar10; - int iVar11; - float fVar12; - float fVar13; - undefined4 local_res0; - uint local_2c; - uint local_24; - undefined4 local_1c; - int local_18; - int local_14; - int local_10; - - local_res0 = uParm1; - if ((*(int *)(_DAT_80068bc0 + 0x105c) == 0) && - (local_res0 = uParm1, *(int *)(_DAT_80068bc0 + 0x29bc) == 0)) { - iVar4 = FUN_7f05de88(1); - iVar5 = FUN_7f05de88(0); - lVar2 = FUN_7f0999a4(); - if (lVar2 < 3) { - local_10 = 0x3b; - local_14 = 0x3b; - } - else { - uVar3 = FUN_7f09a690(); - if ((uVar3 & 1) == 0) { - local_10 = 0x3b; - local_14 = 0x6d; - } - else { - local_10 = 0x2b; - local_14 = 0x7f; - } - } - local_res0 = uParm1; - if (iVar5 != 0) { - lVar2 = FUN_7f069bc0(iVar5); - iVar11 = (int)lVar2; - local_res0 = uParm1; - if ((((lVar2 != 0) && (local_res0 = uParm1, *(int *)(_DAT_80068bc0 + 0x88c) != 6)) && - (local_res0 = uParm1, *(int *)(_DAT_80068bc0 + 0x88c) != 7)) && - (lVar2 = FUN_7f05e56c(iVar5,0x80000), local_res0 = uParm1, lVar2 == 0)) { - local_24 = 5; - local_res0 = uParm1; - if ((&DAT_80031444)[iVar11 * 3] != 0) { - iVar6 = (&DAT_80031444)[iVar11 * 3] + _DAT_80074490; - fVar12 = (float)FUN_7f078544(); - fVar13 = (float)FUN_7f078524(); - sVar9 = FUN_70003f74(); - iVar7 = FUN_70003efc(); - local_res0 = set_rgba_redirect_generate_microcode - (uParm1,iVar6,(fVar13 + fVar12) - (float)local_14, - 0xffffffffbf800000,(float)(iVar7 + (int)sVar9 + -0x1e),0, - (&DAT_80031448)[iVar11 * 3],1); - local_24 = (uint)*(byte *)(iVar6 + 4); - } - local_res0 = loc_7F0ACED4(local_res0); - lVar2 = FUN_7f05e56c(iVar5,0x400000); - if (lVar2 == 0) { - local_1c = *(undefined4 *)(_DAT_80068bc0 + 0x894); - local_18 = *(int *)(_DAT_80068bc0 + iVar11 * 4 + 0x1128); - } - else { - local_1c = 0; - local_18 = *(int *)(_DAT_80068bc0 + 0x894) + *(int *)(_DAT_80068bc0 + iVar11 * 4 + 0x1128) - ; - if (iVar4 == iVar5) { - local_18 += *(int *)(_DAT_80068bc0 + 0xc3c); - } - } - lVar2 = FUN_7f05e56c(iVar5,0x400000); - if (lVar2 == 0) { - sVar9 = FUN_70003f64(); - sVar10 = FUN_70003eec(); - sVar8 = FUN_70003f74(); - iVar11 = FUN_70003efc(); - uVar1 = local_24; - if (false) { - uVar1 = local_24 + 1; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,local_1c, - ((((int)sVar10 + (int)sVar9) - local_14) - ((int)uVar1 >> 1)) + -4 - ,0,iVar11 + (int)sVar8 + -0x1c,2,1); - } - if ((0 < local_18) || (lVar2 = FUN_7f05e56c(iVar5,0x400000), lVar2 != 0)) { - sVar9 = FUN_70003f64(); - sVar10 = FUN_70003eec(); - sVar8 = FUN_70003f74(); - iVar6 = FUN_70003efc(); - iVar11 = local_24 + 1; - if (false) { - iVar11 = local_24 + 2; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,local_18, - (((int)sVar10 + (int)sVar9) - local_14) + (iVar11 >> 1) + 3,1, - iVar6 + (int)sVar8 + -0x1c,2,1); - } - local_res0 = combiner_bayer_lod_perspective(local_res0); - } - } - if (iVar4 != 0) { - lVar2 = FUN_7f069bc0(); - iVar11 = (int)lVar2; - if (((lVar2 != 0) && (*(int *)(_DAT_80068bc0 + 0xc34) != 6)) && - ((*(int *)(_DAT_80068bc0 + 0xc34) != 7 && (lVar2 = FUN_7f05e56c(iVar4,0x80000), lVar2 == 0) - ))) { - local_2c = 5; - if ((&DAT_80031444)[iVar11 * 3] != 0) { - iVar6 = (&DAT_80031444)[iVar11 * 3] + _DAT_80074490; - fVar12 = (float)FUN_7f078544(); - sVar9 = FUN_70003f74(); - iVar7 = FUN_70003efc(); - local_res0 = set_rgba_redirect_generate_microcode - (local_res0,iVar6,fVar12 + (float)local_10,0xffffffffbf800000, - (float)(iVar7 + (int)sVar9 + -0x1e),1,(&DAT_80031448)[iVar11 * 3], - 1); - local_2c = (uint)*(byte *)(iVar6 + 4); - } - local_res0 = loc_7F0ACED4(local_res0); - lVar2 = FUN_7f05e56c(iVar4,0x400000); - if (lVar2 == 0) { - local_1c = *(undefined4 *)(_DAT_80068bc0 + 0xc3c); - local_18 = *(int *)(_DAT_80068bc0 + iVar11 * 4 + 0x1128); - } - else { - local_1c = 0; - local_18 = *(int *)(_DAT_80068bc0 + 0xc3c) + *(int *)(_DAT_80068bc0 + iVar11 * 4 + 0x1128) - ; - if (iVar4 == iVar5) { - local_18 += *(int *)(_DAT_80068bc0 + 0x894); - } - } - lVar2 = FUN_7f05e56c(iVar4,0x400000); - if (lVar2 == 0) { - sVar9 = FUN_70003f64(); - sVar10 = FUN_70003f74(); - iVar5 = FUN_70003efc(); - uVar1 = local_2c; - if (false) { - uVar1 = local_2c + 1; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,local_1c,(int)sVar9 + local_10 + ((int)uVar1 >> 1) + 3, - 1,iVar5 + (int)sVar10 + -0x1c,2,1); - } - if ((0 < local_18) || (lVar2 = FUN_7f05e56c(iVar4,0x400000), lVar2 != 0)) { - sVar9 = FUN_70003f64(); - sVar10 = FUN_70003f74(); - iVar5 = FUN_70003efc(); - iVar4 = local_2c + 1; - if (false) { - iVar4 = local_2c + 2; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,local_18,(((int)sVar9 + local_10) - (iVar4 >> 1)) + -4, - 0,iVar5 + (int)sVar10 + -0x1c,2,1); - } - local_res0 = combiner_bayer_lod_perspective(local_res0); - } - } - } - return local_res0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f06aac8(undefined8 uParm1) - -{ - uint uVar1; - int iVar4; - longlong lVar2; - int iVar5; - int iVar6; - short sVar8; - int iVar7; - undefined8 uVar3; - int iVar9; - uint uStack28; - undefined4 uStack20; - int iStack16; - - iVar4 = FUN_7f05de88(1); - lVar2 = FUN_7f05de88(0); - if (lVar2 != 0) { - iVar5 = (int)lVar2; - lVar2 = FUN_7f069bc0(lVar2); - iVar6 = (int)lVar2; - if ((((lVar2 != 0) && (*(int *)(_DAT_80068bc0 + 0x88c) != 6)) && - (*(int *)(_DAT_80068bc0 + 0x88c) != 7)) && (lVar2 = FUN_7f05e56c(iVar5,0x80000), lVar2 == 0) - ) { - iVar9 = (&DAT_80031444)[iVar6 * 3]; - uStack28 = 5; - FUN_7f05cd64(iVar5); - if (iVar9 != 0) { - iVar9 += _DAT_80074490; - sVar8 = FUN_70003f74(); - iVar7 = FUN_70003efc(); - uParm1 = set_rgba_redirect_generate_microcode - (uParm1,iVar9,0x43480000,0x43500000,(float)(iVar7 + (int)sVar8 + -0x1e),0 - ,(&DAT_80031448)[iVar6 * 3],1); - uStack28 = (uint)*(byte *)(iVar9 + 4); - } - uVar3 = loc_7F0ACED4(uParm1); - lVar2 = FUN_7f05e56c(iVar5,0x400000); - if (lVar2 == 0) { - uStack20 = *(undefined4 *)(_DAT_80068bc0 + 0x894); - iStack16 = *(int *)(_DAT_80068bc0 + iVar6 * 4 + 0x1128); - } - else { - uStack20 = 0; - iStack16 = *(int *)(_DAT_80068bc0 + 0x894) + *(int *)(_DAT_80068bc0 + iVar6 * 4 + 0x1128); - if (iVar4 == iVar5) { - iStack16 += *(int *)(_DAT_80068bc0 + 0xc3c); - } - } - lVar2 = FUN_7f05e56c(iVar5,0x400000); - if (lVar2 == 0) { - uVar1 = uStack28; - if (false) { - uVar1 = uStack28 + 1; - } - uVar3 = display_ammo_total_in_a1(uVar3,uStack20,0xc4 - ((int)uVar1 >> 1),0,0xcd,2,0); - } - if ((0 < iStack16) || (lVar2 = FUN_7f05e56c(iVar5,0x400000), lVar2 != 0)) { - iVar4 = uStack28 + 1; - if (false) { - iVar4 = uStack28 + 2; - } - uVar3 = display_ammo_total_in_a1(uVar3,iStack16,(iVar4 >> 1) + 0xcb,1,0xcd,2,0); - } - uParm1 = combiner_bayer_lod_perspective(uVar3); - } - } - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06ad3c(uint uParm1,longlong lParm2) - -{ - if (lParm2 != 0) { - *(uint *)(_DAT_80068bc0 + 0x1120) = *(uint *)(_DAT_80068bc0 + 0x1120) & ~uParm1; - return; - } - *(uint *)(_DAT_80068bc0 + 0x1120) = *(uint *)(_DAT_80068bc0 + 0x1120) | uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06ad78(undefined4 *puParm1) - -{ - longlong lVar1; - float local_14; - float local_10; - undefined4 local_c; - undefined4 local_8; - undefined4 local_4; - - if ((*(int *)(_DAT_80068bc0 + 0x1120) == 0) && (*(int *)(_DAT_80068bc0 + 0x29bc) == 0)) { - local_4 = *puParm1; - loc_7F077B80(&local_4,_DAT_800744f4,4,0,0); - local_c = *(undefined4 *)(_DAT_80068bc0 + 0xfe0); - local_8 = *(undefined4 *)(_DAT_80068bc0 + 0xfe4); - local_14 = 16.00000000; - local_10 = 16.00000000; - lVar1 = FUN_7f0a4200(); - if (lVar1 == 1) { - local_14 = local_14 * 0.75000000; - } - local_10 = local_10 * DAT_8004a554; - loc_7F06B108(&local_4,&local_c,&local_14,0x20,0x20,0,0,1,0xff,0xff,0xff,0x6e, - (uint)(*(char *)(_DAT_800744f4 + 6) != '\0'),0); - *puParm1 = local_4; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06aea0(undefined8 uParm1,int iParm2) - -{ - longlong lVar1; - int *piVar2; - - lVar1 = FUN_7f05e56c(uParm1,0x10000); - if (lVar1 != 0) { - piVar2 = (int *)(_DAT_80068bc4 + iParm2 * 4); - *piVar2 = *piVar2 + 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06aee8(int iParm1) - -{ - return *(undefined4 *)(_DAT_80068bc4 + iParm1 * 4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06af00(void) - -{ - *(int *)(_DAT_80068bc4 + 0x6c) = *(int *)(_DAT_80068bc4 + 0x6c) + 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06af18(void) - -{ - return *(undefined4 *)(_DAT_80068bc4 + 0x6c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06af28(void) - -{ - longlong lVar1; - int iVar3; - undefined8 uVar2; - int iVar4; - int iVar5; - undefined auStack256 [256]; - - *(int *)(_DAT_80068bc4 + 0x1c) = *(int *)(_DAT_80068bc4 + 0x1c) + 1; - *(int *)(_DAT_80068bc0 + 0x29f0) = *(int *)(_DAT_80068bc0 + 0x29f0) + 1; - lVar1 = FUN_7f0999a4(); - if (1 < lVar1) { - iVar3 = FUN_7f08c2ac(); - uVar2 = FUN_7f0c12b8(0x98da); - FUN_7000a0f4(auStack256,s__s___d_80049d38,uVar2,*(undefined4 *)(_DAT_80068bc4 + 0x1c)); - FUN_7f08a6d4(auStack256); - if (1 < *(int *)(_DAT_80068bc4 + 0x1c)) { - iVar4 = iVar3 - *(int *)(_DAT_80068bc0 + 0x29dc); - if (*(int *)(_DAT_80068bc4 + 0x48) < iVar4) { - *(int *)(_DAT_80068bc4 + 0x48) = iVar4; - iVar5 = *(int *)(_DAT_80068bc4 + 0x44); - } - else { - iVar5 = *(int *)(_DAT_80068bc4 + 0x44); - } - if (iVar4 < iVar5) { - *(int *)(_DAT_80068bc4 + 0x44) = iVar4; - } - } - iVar4 = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x29e8) = *(undefined4 *)(_DAT_80068bc0 + 0x29e4); - *(undefined4 *)(_DAT_80068bc0 + 0x29e4) = *(undefined4 *)(_DAT_80068bc0 + 0x29e0); - *(undefined4 *)(_DAT_80068bc0 + 0x29e0) = *(undefined4 *)(_DAT_80068bc0 + 0x29dc); - *(int *)(_DAT_80068bc0 + 0x29dc) = iVar3; - if ((*(int *)(_DAT_80068bc0 + 0x29e0) != -1) && - (iVar3 = *(int *)(_DAT_80068bc0 + 0x29dc), iVar3 - *(int *)(_DAT_80068bc0 + 0x29e0) < 0x78)) - { - iVar4 = 2; - if ((*(int *)(_DAT_80068bc0 + 0x29e4) != -1) && - (iVar3 - *(int *)(_DAT_80068bc0 + 0x29e4) < 0x78)) { - iVar4 = 3; - if ((*(int *)(_DAT_80068bc0 + 0x29e8) != -1) && - (iVar3 - *(int *)(_DAT_80068bc0 + 0x29e8) < 0x78)) { - iVar4 = 4; - } - } - } - if (*(int *)(_DAT_80068bc4 + 0x58) < iVar4) { - *(int *)(_DAT_80068bc4 + 0x58) = iVar4; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06b0cc(void) - -{ - return *(undefined4 *)(_DAT_80068bc4 + 0x1c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06b0dc(void) - -{ - *(int *)(_DAT_80068bc4 + 0x20) = *(int *)(_DAT_80068bc4 + 0x20) + 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06b104(void) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined auStack256 [256]; - - *(int *)(_DAT_80068bc0 + 0x29d0) = *(int *)(_DAT_80068bc0 + 0x29d0) + 1; - lVar1 = FUN_7f0999a4(); - if (1 < lVar1) { - if (*(int *)(_DAT_80068bc0 + 0x29d0) == 1) { - uVar2 = FUN_7f0c12b8(0x98db); - FUN_7000a0f4(auStack256,uVar2); - } - else { - uVar3 = FUN_7f0c12b8(0x98dc); - uVar4 = FUN_7f0c12b8(0x98dd); - FUN_7000a0f4(auStack256,s__s__d__s_80049d40,uVar3,*(undefined4 *)(_DAT_80068bc0 + 0x29d0), - uVar4); - } - FUN_7f08a6d4(auStack256); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06b1c0(void) - -{ - longlong lVar1; - int iVar3; - undefined8 uVar2; - int iVar4; - int iVar5; - undefined auStack256 [256]; - - *(int *)(_DAT_80068bc0 + 0x29d4) = *(int *)(_DAT_80068bc0 + 0x29d4) + 1; - lVar1 = FUN_7f0999a4(); - if (1 < lVar1) { - iVar3 = FUN_7f08c2ac(); - uVar2 = FUN_7f0c12b8(0x98de); - FUN_7000a0f4(auStack256,s__s___d_80049d4c,uVar2,*(undefined4 *)(_DAT_80068bc0 + 0x29d4)); - FUN_7f08a6d4(auStack256); - if (1 < *(int *)(_DAT_80068bc4 + 0x1c)) { - iVar4 = iVar3 - *(int *)(_DAT_80068bc0 + 0x29dc); - if (*(int *)(_DAT_80068bc4 + 0x48) < iVar4) { - *(int *)(_DAT_80068bc4 + 0x48) = iVar4; - iVar5 = *(int *)(_DAT_80068bc4 + 0x44); - } - else { - iVar5 = *(int *)(_DAT_80068bc4 + 0x44); - } - if (iVar4 < iVar5) { - *(int *)(_DAT_80068bc4 + 0x44) = iVar4; - } - } - iVar4 = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x29e8) = *(undefined4 *)(_DAT_80068bc0 + 0x29e4); - *(undefined4 *)(_DAT_80068bc0 + 0x29e4) = *(undefined4 *)(_DAT_80068bc0 + 0x29e0); - *(undefined4 *)(_DAT_80068bc0 + 0x29e0) = *(undefined4 *)(_DAT_80068bc0 + 0x29dc); - *(int *)(_DAT_80068bc0 + 0x29dc) = iVar3; - if ((*(int *)(_DAT_80068bc0 + 0x29e0) != -1) && - (iVar3 = *(int *)(_DAT_80068bc0 + 0x29dc), iVar3 - *(int *)(_DAT_80068bc0 + 0x29e0) < 0x78)) - { - iVar4 = 2; - if ((*(int *)(_DAT_80068bc0 + 0x29e4) != -1) && - (iVar3 - *(int *)(_DAT_80068bc0 + 0x29e4) < 0x78)) { - iVar4 = 3; - if ((*(int *)(_DAT_80068bc0 + 0x29e8) != -1) && - (iVar3 - *(int *)(_DAT_80068bc0 + 0x29e8) < 0x78)) { - iVar4 = 4; - } - } - } - if (*(int *)(_DAT_80068bc4 + 0x58) < iVar4) { - *(int *)(_DAT_80068bc4 + 0x58) = iVar4; - } - } - return; -} - - - -void locret_7F06AFE0(uint **ppuParm1,float *pfParm2,float *pfParm3,int iParm4,int iParm5,int iParm6, - int iParm7,int iParm8) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - int iVar4; - uint uVar5; - int iVar6; - int iVar7; - float fVar8; - float fVar9; - uint uVar10; - uint uVar11; - float fVar12; - uint uVar13; - uint uVar14; - - if ((0.00000000 < *pfParm3) && (0.00000000 < pfParm3[1])) { - puVar1 = *ppuParm1; - *puVar1 = 0xba001301; - puVar1[1] = 0; - fVar8 = *pfParm3; - fVar9 = pfParm3[1]; - iVar4 = 0; - uVar5 = 0; - puVar2 = puVar1 + 2; - uVar14 = (uint)((*pfParm2 - fVar8) * 4.00000000); - uVar11 = (uint)((pfParm2[1] - fVar9) * 4.00000000); - uVar10 = (uint)((fVar8 + *pfParm2) * 4.00000000); - uVar13 = (uint)((fVar9 + pfParm2[1]) * 4.00000000); - if ((-1 < (int)uVar10) && (-1 < (int)uVar13)) { - if ((int)uVar14 < 0) { - if (iParm6 == 0) { - iVar7 = uVar10 - uVar14; - iVar6 = -uVar14 * iParm4 * 0x20; - iVar4 = iVar6 / iVar7; - if (iVar7 == 0) { - trap(0x1c00); - } - if ((iVar7 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - uVar14 = 0; - } - else { - iVar7 = uVar10 - uVar14; - iVar6 = -uVar14 * iParm5 * 0x20; - uVar5 = iVar6 / iVar7; - if (iVar7 == 0) { - trap(0x1c00); - } - if ((iVar7 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - uVar14 = 0; - } - } - if ((int)uVar11 < 0) { - if (iParm6 == 0) { - iVar6 = uVar13 - uVar11; - iVar7 = -uVar11 * iParm5 * 0x20; - uVar5 += iVar7 / iVar6; - if (iVar6 == 0) { - trap(0x1c00); - } - if ((iVar6 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - uVar11 = 0; - } - else { - iVar6 = uVar13 - uVar11; - iVar7 = -uVar11 * iParm4 * 0x20; - iVar4 += iVar7 / iVar6; - if (iVar6 == 0) { - trap(0x1c00); - } - if ((iVar6 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - uVar11 = 0; - } - } - if (iParm6 == 0) { - fVar12 = (float)iParm4 / (fVar8 + fVar8); - fVar8 = (float)iParm5 / (fVar9 + fVar9); - } - else { - fVar12 = (float)iParm4 / (fVar9 + fVar9); - fVar8 = (float)iParm5 / (fVar8 + fVar8); - } - uVar3 = (uint)(fVar8 * 1024.00000000); - iVar6 = (int)(fVar12 * 1024.00000000); - if (iParm7 != 0) { - iVar6 = 0x10000 - iVar6; - iVar4 = (iParm4 + -1) * 0x20 - iVar4; - } - if (iParm8 != 0) { - uVar3 = 0x10000 - uVar3; - uVar5 = (iParm5 + -1) * 0x20 - uVar5; - } - if (iParm6 == 0) { - *puVar2 = (uVar10 & 0xfff) << 0xc | 0xe4000000 | uVar13 & 0xfff; - puVar1[3] = (uVar14 & 0xfff) << 0xc | uVar11 & 0xfff; - puVar1[4] = 0xb4000000; - puVar1[5] = iVar4 << 0x10 | uVar5 & 0xffff; - puVar1[6] = 0xb3000000; - puVar1[7] = iVar6 << 0x10 | uVar3 & 0xffff; - } - else { - *puVar2 = (uVar10 & 0xfff) << 0xc | 0xe5000000 | uVar13 & 0xfff; - puVar1[3] = (uVar14 & 0xfff) << 0xc | uVar11 & 0xfff; - puVar1[4] = 0xb4000000; - puVar1[5] = iVar4 << 0x10 | uVar5 & 0xffff; - puVar1[6] = 0xb3000000; - puVar1[7] = iVar6 << 0x10 | uVar3 & 0xffff; - } - puVar2 = puVar1 + 8; - } - puVar2[1] = 0x80000; - *puVar2 = 0xba001301; - *ppuParm1 = puVar2 + 2; - } - return; -} - - - -void loc_7F06B108(undefined4 *puParm1,undefined8 uParm2,float *pfParm3) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - int in_stack_00000020; - uint in_stack_00000024; - uint in_stack_00000028; - uint in_stack_0000002c; - int in_stack_00000030; - int in_stack_00000034; - - if ((0.00000000 < *pfParm3) && (0.00000000 < pfParm3[1])) { - puVar1 = (undefined4 *)*puParm1; - *puVar1 = 0xfb000000; - puVar1[1] = in_stack_00000020 << 0x18 | (in_stack_00000024 & 0xff) << 0x10 | - (in_stack_00000028 & 0xff) << 8 | in_stack_0000002c & 0xff; - puVar2 = puVar1 + 2; - if (in_stack_00000030 == 0) { - if (in_stack_00000034 == 0) { - *puVar2 = 0xfc129a25; - puVar1[3] = 0xff37ffff; - } - else { - puVar1[3] = 0xfffffe38; - *puVar2 = 0xfc129bff; - } - } - else { - *puVar2 = 0xfc26a005; - puVar1[3] = 0x1f1493ff; - } - *(undefined4 **)puParm1 = puVar1 + 4; - locret_7F06AFE0(); - } - return; -} - - - -int * sub_GAME_7F06C660(int *piParm1,int iParm2) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - int *piVar4; - int *piVar5; - int *piVar6; - - puVar2 = **(ushort ***)(iParm2 + 8); - piVar4 = DAT_800315b0; - if ((puVar2 != NULL) && (piVar4 = DAT_800315b0, DAT_800315b0 != NULL)) { - uVar1 = *puVar2; - piVar4 = DAT_800315b0; - do { - if (false) { -switchD_7f06b91c_caseD_4: - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - *piVar4 = iParm2; - *(ushort **)(piVar4 + 1) = puVar2; - piVar4 = (int *)piVar4[3]; - puVar3 = *(ushort **)(puVar2 + 10); - break; - default: - goto switchD_7f06b91c_caseD_4; - } - } - if ((puVar3 == NULL) && (puVar3 = puVar2, puVar2 != NULL)) { - puVar3 = *(ushort **)(puVar2 + 6); - while ((puVar3 == NULL && - (puVar2 = *(ushort **)(puVar2 + 4), puVar3 = puVar2, puVar2 != NULL))) { - puVar3 = *(ushort **)(puVar2 + 6); - } - } - if ((puVar3 == NULL) || (piVar4 == NULL)) break; - uVar1 = *puVar3; - puVar2 = puVar3; - } while( true ); - } - piVar6 = piParm1; - if (piVar4 != DAT_800315b0) { - piVar6 = DAT_800315b0; - if (piParm1 != NULL) { - if (piParm1[3] == 0) { - *(int **)(piParm1 + 3) = DAT_800315b0; - piVar5 = piParm1; - } - else { - piVar6 = (int *)piParm1[3]; - do { - piVar5 = piVar6; - piVar6 = (int *)piVar5[3]; - } while ((int *)piVar5[3] != NULL); - *(int **)(piVar5 + 3) = DAT_800315b0; - } - *(int **)(DAT_800315b0 + 4) = piVar5; - piVar6 = piParm1; - } - DAT_800315b0 = piVar4; - if ((piVar4 != NULL) && (DAT_800315b0 = piVar4, piVar4[4] != 0)) { - *(undefined4 *)(piVar4[4] + 0xc) = 0; - piVar4[4] = 0; - DAT_800315b0 = piVar4; - } - } - return piVar6; -} - - - -void FUN_7f06b9f8(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar1 = DAT_800315b0; - if ((iParm1 != 0) && (iVar1 = iParm1, DAT_800315b0 != 0)) { - if (*(int *)(iParm1 + 0xc) == 0) { - *(int *)(iParm1 + 0xc) = DAT_800315b0; - iVar2 = iParm1; - } - else { - iVar1 = *(int *)(iParm1 + 0xc); - do { - iVar2 = iVar1; - iVar1 = *(int *)(iVar2 + 0xc); - } while (*(int *)(iVar2 + 0xc) != 0); - *(int *)(iVar2 + 0xc) = DAT_800315b0; - } - *(int *)(DAT_800315b0 + 0x10) = iVar2; - iVar1 = iParm1; - } - DAT_800315b0 = iVar1; - return; -} - - - -void loc_7F06BB14(int *piParm1) - -{ - ushort *puVar1; - float *pfVar2; - int iVar3; - int *piVar4; - int iVar5; - int iVar6; - float *pfVar7; - int iVar8; - int *piVar9; - int *piVar10; - int *piVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - int *piStack8; - - piStack8 = NULL; - if (piParm1 != NULL) { - puVar1 = (ushort *)piParm1[1]; - piVar11 = piParm1; - while( true ) { - if (true) { - switch((uint)*puVar1 & 0xff) { - case 1: - iVar5 = *(int *)(*(int *)(puVar1 + 2) + 4); - iVar6 = FUN_7f06cd98(*piVar11,puVar1,0); - if (iVar5 == 0) { - *(float *)(piVar11 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar5 = FUN_7f06cd98(*piVar11,iVar5,0); - *(float *)(piVar11 + 2) = - -(*(float *)(iVar5 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 2: - iVar5 = *(int *)(*(int *)(puVar1 + 2) + 0x14); - iVar6 = FUN_7f06cd98(*piVar11,puVar1,0); - if (iVar5 == 0) { - *(float *)(piVar11 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar5 = FUN_7f06cd98(*piVar11,iVar5,0); - *(float *)(piVar11 + 2) = - -(*(float *)(iVar5 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 3: - iVar5 = *(int *)(*(int *)(puVar1 + 2) + 0x14); - iVar6 = FUN_7f06cd98(*piVar11,puVar1,0); - if (iVar5 == 0) { - *(float *)(piVar11 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar5 = FUN_7f06cd98(*piVar11,iVar5,0); - *(float *)(piVar11 + 2) = - -(*(float *)(iVar5 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 0xb: - iVar5 = FUN_7f06cd98(*piVar11,puVar1,0); - pfVar2 = *(float **)(puVar1 + 2); - *(float *)(piVar11 + 2) = - -(*(float *)(iVar5 + 0x38) + - *pfVar2 * *(float *)(iVar5 + 8) + pfVar2[1] * *(float *)(iVar5 + 0x18) + - pfVar2[2] * *(float *)(iVar5 + 0x28)); - break; - case 0xc: - iVar5 = FUN_7f06cd98(*piVar11,puVar1,0); - pfVar2 = *(float **)(puVar1 + 2); - *(float *)(piVar11 + 2) = - -(*(float *)(iVar5 + 0x38) + - *pfVar2 * *(float *)(iVar5 + 8) + pfVar2[1] * *(float *)(iVar5 + 0x18) + - pfVar2[2] * *(float *)(iVar5 + 0x28)); - break; - case 0xd: - iVar5 = FUN_7f06cd98(*piVar11,puVar1,0); - pfVar2 = *(float **)(puVar1 + 2); - iVar6 = loc_7F06C888(*piVar11,pfVar2[5]); - *(float *)(piVar11 + 2) = - -(*(float *)(iVar5 + 0x38) + - *pfVar2 * *(float *)(iVar5 + 8) + - (*(float *)(iVar6 + 4) - *(float *)(iVar6 + 0xc)) * *(float *)(iVar5 + 0x18) + - pfVar2[1] * *(float *)(iVar5 + 0x28)); - break; - case 0xe: - iVar5 = FUN_7f06cd98(*piVar11,puVar1,0); - pfVar2 = *(float **)(puVar1 + 2); - *(float *)(piVar11 + 2) = - -(*(float *)(iVar5 + 0x38) + - *pfVar2 * *(float *)(iVar5 + 8) + pfVar2[1] * *(float *)(iVar5 + 0x18) + - pfVar2[2] * *(float *)(iVar5 + 0x28)); - break; - case 0xf: - iVar5 = FUN_7f06cd98(*piVar11,puVar1,0); - pfVar2 = *(float **)(puVar1 + 2); - fVar18 = -(*(float *)(iVar5 + 0x38) + - *pfVar2 * *(float *)(iVar5 + 8) + pfVar2[1] * *(float *)(iVar5 + 0x18) + - pfVar2[2] * *(float *)(iVar5 + 0x28)); - fVar12 = -(*(float *)(iVar5 + 0x38) + - pfVar2[3] * *(float *)(iVar5 + 8) + pfVar2[4] * *(float *)(iVar5 + 0x18) + - pfVar2[5] * *(float *)(iVar5 + 0x28)); - if (fVar18 < fVar12) { - *(float *)(piVar11 + 2) = fVar18; - } - else { - *(float *)(piVar11 + 2) = fVar12; - } - break; - case 0x10: - iVar5 = FUN_7f06cd98(*piVar11,puVar1,0); - pfVar2 = *(float **)(puVar1 + 2); - *(float *)(piVar11 + 2) = - -(*(float *)(iVar5 + 0x38) + - *pfVar2 * *(float *)(iVar5 + 8) + pfVar2[1] * *(float *)(iVar5 + 0x18) + - pfVar2[2] * *(float *)(iVar5 + 0x28)); - piStack8 = piVar11; - break; - case 0x15: - iVar5 = FUN_7f06cd98(*piVar11,puVar1,0); - *(float *)(piVar11 + 2) = -*(float *)(iVar5 + 0x38); - } - } - piVar11 = (int *)piVar11[3]; - if (piVar11 == NULL) break; - puVar1 = (ushort *)piVar11[1]; - } - } - if (piStack8 != NULL) { - iVar5 = *(int *)(*piStack8 + 0x18); - if (iVar5 != 0) { - fVar18 = (float)piStack8[2]; - pfVar2 = *(float **)(piStack8[1] + 4); - iVar5 = *(int *)(*(int *)(iVar5 + 8) + 8); - iVar6 = *(int *)(iVar5 + (int)*(short *)((int)pfVar2 + 0xe) * 4); - iVar3 = *(int *)(iVar5 + (int)*(short *)(pfVar2 + 3) * 4); - iVar5 = *(int *)(iVar5 + (int)*(short *)(pfVar2 + 4) * 4); - pfVar7 = (float *)FUN_7f06cd98(*piStack8,piStack8[1],0); - piVar11 = NULL; - piVar9 = NULL; - piVar10 = NULL; - if (piParm1 != NULL) { - iVar8 = piParm1[1]; - while( true ) { - if (iVar6 == iVar8) { - piVar9 = piParm1; - } - if (iVar3 == iVar8) { - piVar11 = piParm1; - } - if (iVar5 == iVar8) { - piVar4 = (int *)piParm1[3]; - piVar10 = piParm1; - } - else { - piVar4 = (int *)piParm1[3]; - } - if (piVar4 == NULL) break; - iVar8 = piVar4[1]; - piParm1 = piVar4; - } - } - fVar13 = pfVar7[0xc] + *pfVar2 * *pfVar7 + pfVar2[1] * pfVar7[4] + pfVar2[2] * pfVar7[8]; - fVar14 = pfVar7[0xd] + *pfVar2 * pfVar7[1] + pfVar2[1] * pfVar7[5] + pfVar2[2] * pfVar7[9]; - fVar15 = pfVar7[0xe] + *pfVar2 * pfVar7[2] + pfVar2[1] * pfVar7[6] + pfVar2[2] * pfVar7[10]; - fVar17 = (float)piVar9[2]; - fVar16 = (float)piVar11[2]; - fVar19 = (float)piVar10[2]; - fVar12 = fVar15 * pfVar7[10] + pfVar7[8] * fVar13 + pfVar7[9] * fVar14; - fVar13 = fVar15 * pfVar7[6] + pfVar7[4] * fVar13 + pfVar7[5] * fVar14; - if (fVar12 < 0.00000000) { - if (fVar19 < fVar17) { - if (fVar19 < fVar18) { - *(float *)(piStack8 + 2) = fVar19 - 0.00003052; - } - } - else { - if (fVar17 < fVar18) { - *(float *)(piStack8 + 2) = fVar17 - 0.00003052; - } - } - } - else { - if (0.00000000 <= fVar12) { - if (fVar18 < fVar17) { - *(float *)(piVar9 + 2) = fVar18 - 0.00006104; - } - if (fVar18 < fVar19) { - if (fVar19 < fVar17) { - *(float *)(piVar10 + 2) = fVar18 - 0.00009155; - } - else { - *(float *)(piVar10 + 2) = fVar18 - 0.00003052; - } - } - } - } - if (fVar13 < 0.00000000) { - fVar18 = (float)piStack8[2]; - if (fVar16 < fVar18) { - if ((float)piVar9[2] < fVar18) { - if (fVar16 < (float)piVar9[2]) { - *(float *)(piVar9 + 2) = fVar16 - 0.00006104; - fVar18 = (float)piStack8[2]; - fVar12 = (float)piVar10[2]; - } - else { - fVar12 = (float)piVar10[2]; - } - } - else { - fVar12 = (float)piVar10[2]; - } - if ((fVar12 < fVar18) && (fVar16 < fVar12)) { - if (fVar19 < fVar17) { - *(float *)(piVar10 + 2) = fVar16 - 0.00009155; - } - else { - *(float *)(piVar10 + 2) = fVar16 - 0.00003052; - } - } - *(float *)(piStack8 + 2) = fVar16 - 0.00001526; - } - } - else { - if ((0.00000000 <= fVar13) && ((float)piStack8[2] < fVar16)) { - *(float *)(piVar11 + 2) = (float)piStack8[2] - 0.00001526; - if ((fVar16 < fVar17) && ((float)piVar9[2] < (float)piVar11[2])) { - *(float *)(piVar11 + 2) = (float)piVar9[2] - 0.00001526; - } - if ((fVar16 < fVar19) && ((float)piVar10[2] < (float)piVar11[2])) { - *(float *)(piVar11 + 2) = (float)piVar10[2] - 0.00001526; - } - } - } - } - } - return; -} - - - -int loc_7F06BC00(int iParm1) - -{ - undefined *puVar1; - undefined *puVar2; - int iVar3; - int iVar4; - undefined *puVar5; - undefined *puVar6; - undefined *puVar7; - float fVar8; - float fVar9; - undefined auStack40 [20]; - undefined auStack20 [20]; - - if (iParm1 != 0) { - iVar4 = iParm1; - if (*(int *)(iParm1 + 0xc) != 0) { - iVar3 = *(int *)(iParm1 + 0xc); - do { - iVar4 = iVar3; - iVar3 = *(int *)(iVar4 + 0xc); - } while (*(int *)(iVar4 + 0xc) != 0); - } - puVar6 = auStack20; - *(undefined **)(iParm1 + 0x10) = puVar6; - *(undefined **)(iVar4 + 0xc) = auStack40; - do { - puVar1 = *(undefined **)(puVar6 + 0xc); - puVar5 = NULL; - if (puVar1 != auStack40) { - fVar8 = -4294967296.00000000; - fVar9 = *(float *)(puVar1 + 8); - puVar7 = puVar1; - while( true ) { - if (fVar8 < fVar9) { - puVar2 = *(undefined **)(puVar7 + 0xc); - puVar5 = puVar7; - } - else { - puVar2 = *(undefined **)(puVar7 + 0xc); - fVar9 = fVar8; - } - if (puVar2 == auStack40) break; - fVar8 = fVar9; - fVar9 = *(float *)(puVar2 + 8); - puVar7 = puVar2; - } - } - if (puVar5 != NULL) { - *(undefined4 *)(*(int *)(puVar5 + 0xc) + 0x10) = *(undefined4 *)(puVar5 + 0x10); - *(undefined4 *)(*(int *)(puVar5 + 0x10) + 0xc) = *(undefined4 *)(puVar5 + 0xc); - *(undefined **)(puVar5 + 0x10) = puVar6; - *(undefined4 *)(puVar5 + 0xc) = *(undefined4 *)(puVar6 + 0xc); - *(undefined **)(*(int *)(puVar6 + 0xc) + 0x10) = puVar5; - *(undefined **)(puVar6 + 0xc) = puVar5; - puVar1 = puVar5; - } - puVar6 = puVar1; - } while (puVar6 != auStack40); - *(undefined4 *)(iParm1 + 0x10) = 0; - *(undefined4 *)(iVar4 + 0xc) = 0; - } - return iParm1; -} - - - -void FUN_7f06c3bc(int iParm1,int *piParm2) - -{ - ushort uVar1; - ushort *puVar2; - undefined4 *puVar3; - bool bVar4; - undefined4 uVar5; - int iVar6; - ushort *puVar7; - ushort *puVar8; - float fVar9; - - if (piParm2 == NULL) { - return; - } - iVar6 = *(int *)(iParm1 + 0x18); -LAB_7f06c3e8: - puVar2 = (ushort *)piParm2[1]; - if (iVar6 == 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xbc000c06; - uVar5 = osVirtualToPhysical(*(undefined4 *)(*piParm2 + 0xc)); - puVar3[1] = uVar5; - puVar7 = puVar2; - } - else { - fVar9 = (float)FUN_7f06d354(*piParm2,puVar2); - puVar7 = puVar2; - if ((float)piParm2[2] < fVar9) { - puVar7 = NULL; - } - } - if (puVar7 != NULL) { - uVar1 = *puVar7; - do { - bVar4 = true; - if (false) { -switchD_7f06c478_caseD_4: - loc_7F074678(iParm1,*piParm2,puVar7); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - if (puVar7 == puVar2) { - loc_7F074678(iParm1,*piParm2,puVar7); - } - else { - bVar4 = false; - } - break; - default: - goto switchD_7f06c478_caseD_4; - } - } - if ((!bVar4) || (puVar8 = *(ushort **)(puVar7 + 10), puVar8 == NULL)) { - while (puVar8 = puVar7, puVar7 != NULL) { - if (puVar7 == puVar2) { - puVar8 = NULL; - break; - } - puVar8 = *(ushort **)(puVar7 + 6); - if (puVar8 != NULL) break; - puVar7 = *(ushort **)(puVar7 + 4); - } - } - if (puVar8 == NULL) goto code_r0x7f06c510; - uVar1 = *puVar8; - puVar7 = puVar8; - } while( true ); - } - piParm2 = (int *)piParm2[3]; - goto LAB_7f06c514; -code_r0x7f06c510: - piParm2 = (int *)piParm2[3]; -LAB_7f06c514: - if (piParm2 == NULL) { - return; - } - iVar6 = *(int *)(iParm1 + 0x18); - goto LAB_7f06c3e8; -} - - - -undefined4 -loc_7F06BFE8(int *piParm1,undefined8 uParm2,undefined8 uParm3,undefined4 *puParm4,ushort **ppuParm5) - -{ - ushort *puVar1; - bool bVar2; - longlong lVar3; - ushort *puVar4; - ushort *puVar5; - undefined4 *puVar6; - - puVar6 = (undefined4 *)*piParm1; - if (puVar6 == NULL) { -LAB_7f06c718: - *piParm1 = 0; - return 0; - } - puVar5 = *ppuParm5; - do { - puVar1 = (ushort *)puVar6[1]; - bVar2 = true; - puVar4 = puVar1; - if (puVar5 != NULL) { - *ppuParm5 = NULL; - puVar4 = puVar5; - } - if (puVar4 == NULL) { - puVar6 = (undefined4 *)puVar6[4]; - } - else { - do { - if ((!bVar2) || (puVar5 = *(ushort **)(puVar4 + 10), *(ushort **)(puVar4 + 10) == NULL)) { - while (puVar5 = puVar4, puVar4 != NULL) { - if (puVar4 == puVar1) { - puVar5 = NULL; - break; - } - puVar5 = *(ushort **)(puVar4 + 6); - if (puVar5 != NULL) break; - puVar4 = *(ushort **)(puVar4 + 4); - } - if (puVar5 == NULL) { - puVar6 = (undefined4 *)puVar6[4]; - goto LAB_7f06c710; - } - } - puVar4 = puVar5; - bVar2 = true; - if (true) { - switch((uint)*puVar4 & 0xff) { - case 1: - case 2: - case 3: - case 0x15: - bVar2 = false; - break; - case 8: - FUN_7f06ed5c(*puVar6,puVar4); - break; - case 10: - lVar3 = FUN_7f074cf0(*puVar6,puVar4,uParm2,uParm3); - if (lVar3 != 0) { - *puParm4 = *puVar6; - *ppuParm5 = puVar4; - *(undefined4 **)piParm1 = puVar6; - return **(undefined4 **)(puVar4 + 2); - } - bVar2 = false; - break; - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - bVar2 = false; - break; - case 0x11: - lVar3 = loc_7F0752F0(*puVar6,puVar4,uParm2,uParm3); - if (lVar3 != 0) { - *puParm4 = *puVar6; - *ppuParm5 = puVar4; - *(undefined4 **)piParm1 = puVar6; - return **(undefined4 **)(puVar4 + 2); - } - bVar2 = false; - break; - case 0x12: - FUN_7f06eda8(*puVar6,puVar4); - break; - case 0x17: - FUN_7f06edf4(*puVar6,puVar4); - } - } - } while (puVar4 != NULL); - puVar6 = (undefined4 *)puVar6[4]; - } -LAB_7f06c710: - if (puVar6 == NULL) goto LAB_7f06c718; - puVar5 = *ppuParm5; - } while( true ); -} - - - -void loc_7F06C03C(int *piParm1,undefined8 uParm2,undefined8 uParm3,undefined4 *puParm4, - undefined4 *puParm5) - -{ - int iVar1; - int iVar2; - - iVar1 = *piParm1; - iVar2 = *(int *)(*piParm1 + 0xc); - while (iVar2 != 0) { - iVar1 = iVar2; - iVar2 = *(int *)(iVar2 + 0xc); - } - *piParm1 = iVar1; - *puParm4 = 0; - *puParm5 = 0; - loc_7F06BFE8(); - return; -} - - - -ulonglong locret_7F06C08C(int iParm1,int iParm2) - -{ - short sVar1; - bool bVar2; - ulonglong uVar3; - - sVar1 = *(short *)(iParm2 + 0x14); - uVar3 = (ulonglong)(sVar1 < 1); - if ((sVar1 >= 1) && (bVar2 = *(int *)(iParm1 + 0x10) != 0, uVar3 = (ulonglong)bVar2, bVar2)) { - uVar3 = (ulonglong)(*(short *)(iParm1 + 2) < sVar1) ^ 1; - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f06c7d4(int iParm1) - -{ - short sVar1; - int iVar3; - longlong lVar2; - int iVar4; - int iVar5; - undefined2 uStack10; - undefined4 uStack8; - - iVar5 = 0; - uStack8 = 0; - uStack10 = 0xffff; - if (DAT_800315c8 == 0) { - iVar4 = 0; - iVar3 = 0; - if (0 < DAT_800315c4) { - do { - if ((*(int *)(_DAT_80068414 + iVar3 + 8) == 0) && - (lVar2 = locret_7F06C08C(iVar4 * 0x20 + _DAT_80068414,iParm1), lVar2 != 0)) { - uStack8 = *(undefined4 *)(_DAT_80068414 + iVar3 + 0x10); - iVar5 = iVar4 * 0x20 + _DAT_80068414; - uStack10 = *(undefined2 *)(_DAT_80068414 + iVar3 + 2); - break; - } - iVar4 += 1; - iVar3 += 0x20; - } while (iVar4 < DAT_800315c4); - } - } - else { - iVar3 = 0; - iVar4 = _DAT_80068414; - if (0 < DAT_800315c4 + -0x1e) { - do { - if (*(int *)(iVar4 + 8) == 0) { - iVar5 = iVar3 * 0x20 + _DAT_80068414; - break; - } - iVar3 += 1; - iVar4 = iVar4 + 0x20; - } while (iVar3 < DAT_800315c4 + -0x1e); - } - if (iVar5 == 0) { - iVar5 = FUN_70008b80(0x20,4); - sVar1 = *(short *)(iParm1 + 0x14); - } - else { - sVar1 = *(short *)(iParm1 + 0x14); - } - if (0 < sVar1) { - uStack8 = FUN_70008b80(((int)sVar1 * 4 + 0xfU | 0xf) ^ 0xf,4); - uStack10 = *(undefined2 *)(iParm1 + 0x14); - } - } - if (iVar5 != 0) { - sub_7F075F68(iVar5,iParm1,uStack8); - *(undefined2 *)(iVar5 + 2) = uStack10; - } - return iVar5; -} - - - -void FUN_7f06c974(int iParm1) - -{ - *(undefined4 *)(iParm1 + 8) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f06c97c(int iParm1) - -{ - int *piVar1; - int iVar2; - int iVar3; - int iVar4; - undefined2 uVar5; - int iVar6; - undefined4 local_8; - - iVar6 = 0; - local_8 = 0; - uVar5 = 0xffff; - if (DAT_800315c8 == 0) { - iVar2 = 0; - if (0 < DAT_800315c0) { - iVar4 = 0; - iVar3 = _DAT_80068410; - do { - iVar2 += 1; - if (*(int *)(iVar3 + 8) == 0) { - if (*(short *)(iParm1 + 0x14) < 1) { - local_8 = *(undefined4 *)(iVar3 + 0x10); - } - else { - if ((*(int *)(iVar3 + 0x10) == 0) || (*(short *)(iVar3 + 2) < *(short *)(iParm1 + 0x14)) - ) goto LAB_7f06cab4; - local_8 = *(undefined4 *)(iVar3 + 0x10); - } - iVar6 = iVar4 + _DAT_80068410; - uVar5 = *(undefined2 *)(iVar3 + 2); - break; - } -LAB_7f06cab4: - iVar4 += 0xbc; - iVar3 += 0xbc; - } while (iVar2 < DAT_800315c0); - } - } - else { - iVar2 = 0; - if (0 < DAT_800315c0 + -10) { - iVar4 = 0; - iVar3 = _DAT_80068410; - do { - piVar1 = (int *)(iVar3 + 8); - iVar2 += 1; - iVar3 += 0xbc; - if (*piVar1 == 0) { - iVar6 = iVar4 + _DAT_80068410; - break; - } - iVar4 += 0xbc; - } while (iVar2 < DAT_800315c0 + -10); - } - if (iVar6 == 0) { - iVar6 = FUN_70008b80(0xc0,4); - } - uVar5 = 0xffff; - if (0 < *(short *)(iParm1 + 0x14)) { - local_8 = FUN_70008b80(((int)*(short *)(iParm1 + 0x14) * 4 + 0xfU | 0xf) ^ 0xf,4); - uVar5 = *(undefined2 *)(iParm1 + 0x14); - } - } - if (iVar6 != 0) { - FUN_7f076028(iVar6,iParm1,local_8); - *(undefined2 *)(iVar6 + 2) = uVar5; - } - return iVar6; -} - - - -void FUN_7f06caf4(int iParm1,undefined8 uParm2,undefined4 *puParm3) - -{ - FUN_7f0760ac(iParm1,*(undefined4 *)(iParm1 + 8),uParm2,puParm3); - loc_7F075F4C(iParm1,*puParm3); - return; -} - - - -void FUN_7f06cb38(int iParm1) - -{ - *(undefined4 *)(iParm1 + 8) = 0; - return; -} - - - -void FUN_7f06cb40(undefined4 uParm1) - -{ - DAT_800315d4 = uParm1; - return; -} - - - -void FUN_7f06cb4c(undefined4 uParm1) - -{ - DAT_800315d8 = uParm1; - return; -} - - - -void FUN_7f06cba0(undefined4 uParm1) - -{ - DAT_800315dc = uParm1; - return; -} - - - -void FUN_7f06cbac(int iParm1,float *pfParm2) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = FUN_7f06cdd8(); - fVar3 = -*(float *)(iVar1 + 0x30); - fVar4 = -*(float *)(iVar1 + 0x34); - fVar5 = -*(float *)(iVar1 + 0x38); - fVar2 = (float)sqrtf(fVar3 * fVar3 + fVar4 * fVar4 + fVar5 * fVar5); - if (0.00000000 < fVar2) { - fVar2 = 1.00000000 / (*(float *)(iParm1 + 0x14) * fVar2); - *pfParm2 = fVar3 * fVar2; - pfParm2[1] = fVar4 * fVar2; - pfParm2[2] = fVar5 * fVar2; - } - else { - *pfParm2 = 0.00000000; - pfParm2[1] = 0.00000000; - pfParm2[2] = 1.00000000 / *(float *)(iParm1 + 0x14); - } - return; -} - - - -void FUN_7f06cc88(void) - -{ - FUN_7f06cbac(); - return; -} - - - -undefined2 loc_7F06C654(ushort *puParm1,longlong lParm2) - -{ - uint uVar1; - ushort uVar2; - - if (puParm1 != NULL) { - uVar2 = *puParm1; - while( true ) { - uVar2 &= 0xff; - if (uVar2 == 1) { - return *(undefined2 *)(*(int *)(puParm1 + 2) + 2); - } - if (uVar2 == 2) { - if (lParm2 == 0x200) { - uVar1 = 2; - } - else { - uVar1 = (uint)(lParm2 == 0x100); - } - return *(undefined2 *)(*(int *)(puParm1 + 2) + uVar1 * 2 + 0xe); - } - if (uVar2 == 3) { - if (lParm2 == 0x200) { - uVar1 = 2; - } - else { - uVar1 = (uint)(lParm2 == 0x100); - } - return *(undefined2 *)(*(int *)(puParm1 + 2) + uVar1 * 2 + 0xe); - } - if (uVar2 == 0x15) { - return *(undefined2 *)(*(int *)(puParm1 + 2) + 0xc); - } - puParm1 = *(ushort **)(puParm1 + 4); - if (puParm1 == NULL) break; - uVar2 = *puParm1; - } - } - return 0xffff; -} - - - -int FUN_7f06cd98(int iParm1,undefined8 uParm2,undefined8 uParm3) - -{ - longlong lVar1; - int iVar2; - - lVar1 = loc_7F06C654(uParm2,uParm3); - if (lVar1 < 0) { - iVar2 = 0; - } - else { - iVar2 = *(int *)(iParm1 + 0xc) + (int)lVar1 * 0x40; - } - return iVar2; -} - - - -void FUN_7f06cdd8(int iParm1) - -{ - FUN_7f06cd98(iParm1,**(undefined4 **)(iParm1 + 8),0); - return; -} - - - -void FUN_7f06ce00(undefined8 uParm1,undefined4 *puParm2) - -{ - int iVar1; - - iVar1 = FUN_7f06cdd8(); - if (iVar1 == 0) { - *puParm2 = 0; - puParm2[1] = 0; - puParm2[2] = 0; - } - else { - *puParm2 = *(undefined4 *)(iVar1 + 0x30); - puParm2[1] = *(undefined4 *)(iVar1 + 0x34); - puParm2[2] = *(undefined4 *)(iVar1 + 0x38); - } - return; -} - - - -float FUN_7f06ce58(void) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7f06cdd8(); - if (iVar1 == 0) { - fVar2 = 0.00000000; - } - else { - fVar2 = -*(float *)(iVar1 + 0x38); - } - return fVar2; -} - - - -int loc_7F06C888(int iParm1,ushort *puParm2) - -{ - ushort uVar1; - ushort *puVar2; - int iVar3; - uint uVar4; - - uVar4 = 0; - iVar3 = *(int *)(iParm1 + 0x10); - if (true) { - switch((uint)*puParm2 & 0xff) { - case 1: - uVar4 = (uint)*(ushort *)(*(int *)(puParm2 + 2) + 0xc); - break; - case 7: - uVar4 = (uint)*(ushort *)(*(int *)(puParm2 + 2) + 0x1aa); - break; - case 8: - uVar4 = (uint)*(ushort *)(*(int *)(puParm2 + 2) + 0xc); - break; - case 9: - uVar4 = (uint)*(ushort *)(*(int *)(puParm2 + 2) + 0x22); - break; - case 0xb: - uVar4 = (uint)*(ushort *)(*(int *)(puParm2 + 2) + 0x44); - break; - case 0xc: - uVar4 = (uint)*(ushort *)(*(int *)(puParm2 + 2) + 0x20); - break; - case 0x12: - uVar4 = (uint)*(ushort *)(*(int *)(puParm2 + 2) + 4); - break; - case 0x17: - uVar4 = (uint)**(ushort **)(puParm2 + 2); - break; - case 0x18: - uVar4 = (uint)*(ushort *)(*(int *)(puParm2 + 2) + 0x1a); - } - } - puVar2 = *(ushort **)(puParm2 + 4); - if (puVar2 != NULL) { - uVar1 = *puVar2; - while ((uVar1 & 0xff) != 0x17) { - puVar2 = *(ushort **)(puVar2 + 4); - if (puVar2 == NULL) goto LAB_7f06cf78; - uVar1 = *puVar2; - } - iVar3 = loc_7F06C888(); - iVar3 = *(int *)(iVar3 + 4); - } -LAB_7f06cf78: - return uVar4 * 4 + iVar3; -} - - - -void FUN_7f06cf88(undefined8 uParm1,ushort *puParm2,undefined4 *puParm3) - -{ - undefined4 *puVar1; - int iVar2; - ushort uVar3; - - uVar3 = *puParm2 & 0xff; - if (uVar3 == 1) { - iVar2 = loc_7F06C888(); - *puParm3 = *(undefined4 *)(iVar2 + 8); - puParm3[1] = *(undefined4 *)(iVar2 + 0xc); - puParm3[2] = *(undefined4 *)(iVar2 + 0x10); - } - else { - if (uVar3 == 2) { - puVar1 = *(undefined4 **)(puParm2 + 2); - *puParm3 = *puVar1; - puParm3[1] = puVar1[1]; - puParm3[2] = puVar1[2]; - } - else { - if (uVar3 == 3) { - puVar1 = *(undefined4 **)(puParm2 + 2); - *puParm3 = *puVar1; - puParm3[1] = puVar1[1]; - puParm3[2] = puVar1[2]; - } - else { - if (uVar3 == 0x15) { - puVar1 = *(undefined4 **)(puParm2 + 2); - *puParm3 = *puVar1; - puParm3[1] = puVar1[1]; - puParm3[2] = puVar1[2]; - } - else { - *puParm3 = 0; - puParm3[1] = 0; - puParm3[2] = 0; - } - } - } - } - return; -} - - - -void FUN_7f06d068(undefined8 uParm1,ushort *puParm2,float *pfParm3) - -{ - float *pfVar1; - int iVar2; - ushort uVar3; - float fVar4; - float fVar5; - - uVar3 = *puParm2 & 0xff; - if (uVar3 == 1) { - iVar2 = loc_7F06C888(); - fVar4 = *pfParm3 - *(float *)(iVar2 + 8); - fVar5 = pfParm3[2] - *(float *)(iVar2 + 0x10); - *(float *)(iVar2 + 8) = *pfParm3; - *(float *)(iVar2 + 0xc) = pfParm3[1]; - *(float *)(iVar2 + 0x10) = pfParm3[2]; - *(float *)(iVar2 + 0x24) = *(float *)(iVar2 + 0x24) + fVar4; - *(float *)(iVar2 + 0x2c) = *(float *)(iVar2 + 0x2c) + fVar5; - *(float *)(iVar2 + 0x34) = *(float *)(iVar2 + 0x34) + fVar4; - *(float *)(iVar2 + 0x3c) = *(float *)(iVar2 + 0x3c) + fVar5; - *(float *)(iVar2 + 0x40) = *(float *)(iVar2 + 0x40) + fVar4; - *(float *)(iVar2 + 0x48) = *(float *)(iVar2 + 0x48) + fVar5; - *(float *)(iVar2 + 0x4c) = *(float *)(iVar2 + 0x4c) + fVar4; - *(float *)(iVar2 + 0x54) = *(float *)(iVar2 + 0x54) + fVar5; - } - else { - if (uVar3 == 2) { - pfVar1 = *(float **)(puParm2 + 2); - *pfVar1 = *pfParm3; - pfVar1[1] = pfParm3[1]; - pfVar1[2] = pfParm3[2]; - } - else { - if (uVar3 == 3) { - pfVar1 = *(float **)(puParm2 + 2); - *pfVar1 = *pfParm3; - pfVar1[1] = pfParm3[1]; - pfVar1[2] = pfParm3[2]; - } - else { - if (uVar3 == 0x15) { - pfVar1 = *(float **)(puParm2 + 2); - *pfVar1 = *pfParm3; - pfVar1[1] = pfParm3[1]; - pfVar1[2] = pfParm3[2]; - } - } - } - } - return; -} - - - -void FUN_7f06d1d8(int iParm1,undefined8 uParm2) - -{ - FUN_7f06cf88(iParm1,**(undefined4 **)(iParm1 + 8),uParm2); - return; -} - - - -void FUN_7f06d200(int iParm1,undefined8 uParm2) - -{ - FUN_7f06d068(iParm1,**(undefined4 **)(iParm1 + 8),uParm2); - return; -} - - - -undefined4 FUN_7f06d228(int iParm1) - -{ - int iVar1; - undefined4 uVar2; - - if ((***(ushort ***)(iParm1 + 8) & 0xff) == 1) { - iVar1 = loc_7F06C888(); - uVar2 = *(undefined4 *)(iVar1 + 0x14); - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -void FUN_7f06d274(int iParm1,float fParm2) - -{ - float fVar1; - int iVar2; - float fVar3; - float fVar4; - - if ((***(ushort ***)(iParm1 + 8) & 0xff) == 1) { - iVar2 = loc_7F06C888(); - fVar1 = DAT_8004a734; - fVar3 = fParm2 - *(float *)(iVar2 + 0x14); - if (fVar3 < 0.00000000) { - fVar3 = fVar3 + DAT_8004a730; - fVar4 = *(float *)(iVar2 + 0x30); - } - else { - fVar4 = *(float *)(iVar2 + 0x30); - } - *(float *)(iVar2 + 0x30) = fVar4 + fVar3; - if (fVar1 <= *(float *)(iVar2 + 0x30)) { - *(float *)(iVar2 + 0x30) = *(float *)(iVar2 + 0x30) - fVar1; - fVar4 = *(float *)(iVar2 + 0x20); - } - else { - fVar4 = *(float *)(iVar2 + 0x20); - } - *(float *)(iVar2 + 0x20) = fVar4 + fVar3; - if (fVar1 <= *(float *)(iVar2 + 0x20)) { - *(float *)(iVar2 + 0x20) = *(float *)(iVar2 + 0x20) - fVar1; - *(float *)(iVar2 + 0x14) = fParm2; - } - else { - *(float *)(iVar2 + 0x14) = fParm2; - } - } - return; -} - - - -void set_obj_instance_controller_scale(int iParm1,undefined4 uParm2) - -{ - *(undefined4 *)(iParm1 + 0x14) = uParm2; - return; -} - - - -void sub_7F06CE84(int iParm1,undefined4 uParm2) - -{ - *(undefined4 *)(iParm1 + 0xb8) = uParm2; - return; -} - - - -float FUN_7f06d354(int iParm1,ushort *puParm2) - -{ - ushort uVar1; - - if (puParm2 != NULL) { - uVar1 = *puParm2; - while( true ) { - if (true) { - switch((uint)uVar1 & 0xff) { - case 1: - return *(float *)(*(int *)(puParm2 + 2) + 8) * *(float *)(iParm1 + 0x14); - case 2: - return *(float *)(*(int *)(puParm2 + 2) + 0x18) * *(float *)(iParm1 + 0x14); - case 3: - return *(float *)(*(int *)(puParm2 + 2) + 0x18) * *(float *)(iParm1 + 0x14); - case 0xb: - return *(float *)(*(int *)(puParm2 + 2) + 0x40) * *(float *)(iParm1 + 0x14); - case 0xc: - return *(float *)(*(int *)(puParm2 + 2) + 0x1c) * *(float *)(iParm1 + 0x14); - case 0xd: - return *(float *)(*(int *)(puParm2 + 2) + 0x18) * *(float *)(iParm1 + 0x14); - case 0xe: - return *(float *)(*(int *)(puParm2 + 2) + 0xc) * *(float *)(iParm1 + 0x14); - case 0xf: - return *(float *)(*(int *)(puParm2 + 2) + 0x18) * *(float *)(iParm1 + 0x14); - case 0x10: - return *(float *)(*(int *)(puParm2 + 2) + 0x14) * *(float *)(iParm1 + 0x14); - case 0x15: - return *(float *)(*(int *)(puParm2 + 2) + 0x10) * *(float *)(iParm1 + 0x14); - } - } - puParm2 = *(ushort **)(puParm2 + 4); - if (puParm2 == NULL) break; - uVar1 = *puParm2; - } - } - return (float)0; -} - - - -float FUN_7f06d494(int iParm1) - -{ - return *(float *)(*(int *)(iParm1 + 8) + 0x10) * *(float *)(iParm1 + 0x14); -} - - - -void sub_7F06D07C(float *pfParm1,float *pfParm2,float fParm3) - -{ - *pfParm1 = *pfParm1 + (*pfParm2 - *pfParm1) * fParm3; - pfParm1[1] = pfParm1[1] + (pfParm2[1] - pfParm1[1]) * fParm3; - pfParm1[2] = pfParm1[2] + (pfParm2[2] - pfParm1[2]) * fParm3; - return; -} - - - -float FUN_7f06d4fc(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5) - -{ - float fVar1; - - fVar1 = fParm2 - fParm1; - if (fParm2 < fParm1) { - fVar1 = fVar1 + DAT_8004a78c; - } - if (fVar1 < DAT_8004a794) { - fParm1 = fParm1 + fVar1 * fParm5; - if (DAT_8004a790 <= fParm1) { - return fParm1 - DAT_8004a790; - } - } - else { - fParm1 = fParm1 - (DAT_8004a790 - fVar1) * fParm5; - if (fParm1 < 0.00000000) { - fParm1 = fParm1 + DAT_8004a790; - } - } - return fParm1; -} - - - -void FUN_7f06d590(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f06d4fc(*puParm1,*puParm2); - *puParm1 = uVar1; - uVar1 = FUN_7f06d4fc(puParm1[1],puParm2[1]); - puParm1[1] = uVar1; - uVar1 = FUN_7f06d4fc(puParm1[2],puParm2[2]); - puParm1[2] = uVar1; - return; -} - - - -uint loc_7F06D2D8(int iParm1,int iParm2,int iParm3) - -{ - byte bVar1; - ushort uVar2; - ushort *puVar3; - ulonglong uVar4; - byte *pbVar5; - ulonglong uVar6; - ulonglong uVar7; - uint uVar8; - - puVar3 = (ushort *)(*(int *)(iParm1 + 8) + iParm2 * 6); - bVar1 = *(byte *)(puVar3 + 1); - uVar4 = (ulonglong)bVar1; - uVar8 = 0; - if (bVar1 == 0) { - uVar2 = puVar3[2]; - } - else { - uVar7 = SEXT48((int)(8 - ((uint)*puVar3 + iParm3 & 7))); - uVar6 = uVar7 & 0xff; - uVar6._4_4_ = (int)uVar6; - pbVar5 = (byte *)(*(int *)(iParm1 + 0x10) + ((uint)*puVar3 + iParm3 >> 3)); - if ((uVar7 & 0xff) <= uVar4) { - do { - uVar4 = (longlong)(int)((int)uVar4 - (uint)uVar6) & 0xff; - uVar8 |= ((uint)*pbVar5 & (1 << ((uint)uVar6 & 0x1f)) - 1U) << ((uint)uVar4 & 0x1f) & 0xffff - ; - pbVar5 = pbVar5 + 1; - uVar6 = 8; - uVar6._4_4_ = 8; - } while (7 < uVar4); - } - if (uVar4 != 0) { - uVar8 |= (int)(uint)*pbVar5 >> (uVar6._4_4_ - (uint)uVar4 & 0x1f) & - (1 << ((uint)uVar4 & 0x1f)) - 1U & 0xffff; - } - if ((bVar1 < 0x10) && ((uVar8 & 1 << ((uint)bVar1 + 0x1f & 0x1f)) != 0)) { - uVar8 |= (1 << (0x10 - (uint)bVar1 & 0x1f)) + -1 << ((uint)bVar1 & 0x1f) & 0xffffU; - } - uVar2 = puVar3[2]; - } - return uVar8 + (uint)uVar2 & 0xffff; -} - - - -uint loc_7F06D3DC(int iParm1,longlong lParm2,int iParm3,int iParm4,int iParm5,short *psParm6) - -{ - ushort uVar1; - short sVar3; - uint uVar2; - uint uVar4; - - iParm5 = (uint)*(ushort *)(iParm4 + 0xc) * iParm5; - if (lParm2 == 0) { - uVar1 = *(ushort *)(*(int *)(iParm3 + 4) + iParm1 * 6 + 2); - } - else { - uVar1 = *(ushort *)(*(int *)(iParm3 + 4) + iParm1 * 6 + 4); - } - sVar3 = loc_7F06D2D8(iParm4,(ulonglong)uVar1,iParm5); - *psParm6 = sVar3; - sVar3 = loc_7F06D2D8(iParm4,(uint)uVar1 + 1,iParm5); - psParm6[1] = sVar3; - sVar3 = loc_7F06D2D8(iParm4,(uint)uVar1 + 2,iParm5); - psParm6[2] = sVar3; - uVar2 = loc_7F06D2D8(iParm4,(uint)uVar1 + 3,iParm5); - uVar4 = uVar2 & 0xffff; - if (((int)lParm2 != 0) && (*psParm6 = -*psParm6, uVar2 != 0)) { - uVar4 = 0x10000 - uVar2 & 0xffff; - } - return uVar4; -} - - - -float FUN_7f06d824(void) - -{ - longlong lVar1; - float fVar2; - float *in_stack_00000014; - short sStack8; - short sStack6; - short sStack4; - - lVar1 = loc_7F06D3DC(); - *in_stack_00000014 = (float)(int)sStack8; - fVar2 = (float)(int)lVar1; - in_stack_00000014[1] = (float)(int)sStack6; - in_stack_00000014[2] = (float)(int)sStack4; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - return (fVar2 * DAT_8004a798) / 65536.00000000; -} - - - -void FUN_7f06d8c0(int iParm1) - -{ - char *pcVar2; - longlong lVar1; - int iVar3; - undefined4 uVar4; - float fVar5; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - - pcVar2 = (char *)loc_7F06C888(); - if (*pcVar2 == '\0') { - fStack16 = *(float *)(pcVar2 + 0x34); - fStack12 = *(float *)(pcVar2 + 0x38); - fStack8 = *(float *)(pcVar2 + 0x3c); - *(undefined4 *)(pcVar2 + 0x14) = *(undefined4 *)(pcVar2 + 0x30); - if (*(float *)(iParm1 + 0x2c) == 0.00000000) { - iVar3 = *(int *)(iParm1 + 0x54); - } - else { - if (pcVar2[1] == '\0') { - iVar3 = *(int *)(iParm1 + 0x54); - } - else { - sub_7F06D07C(&fStack16,pcVar2 + 0x24,*(float *)(iParm1 + 0x2c)); - uVar4 = FUN_7f06d4fc(*(undefined4 *)(pcVar2 + 0x30),*(undefined4 *)(pcVar2 + 0x20)); - *(undefined4 *)(pcVar2 + 0x14) = uVar4; - iVar3 = *(int *)(iParm1 + 0x54); - } - } - if (((iVar3 != 0) || (*(float *)(iParm1 + 0x84) != 0.00000000)) && (pcVar2[2] != '\0')) { - fVar5 = *(float *)(pcVar2 + 0x50); - if (*(float *)(iParm1 + 0x5c) != 0.00000000) { - fVar5 = fVar5 + (*(float *)(pcVar2 + 0x44) - fVar5) * *(float *)(iParm1 + 0x5c); - } - fStack12 = fStack12 + (fVar5 - fStack12) * *(float *)(iParm1 + 0x84); - } - fStack28 = fStack16; - fStack24 = fStack12; - fStack20 = fStack8; - if ((*(code **)(iParm1 + 0xa0) == NULL) || - (lVar1 = (**(code **)(iParm1 + 0xa0))(iParm1,pcVar2 + 8,&fStack28,pcVar2 + 4), lVar1 != 0)) { - fStack16 = fStack28 - fStack16; - fStack8 = fStack20 - fStack8; - *(float *)(pcVar2 + 8) = fStack28; - *(float *)(pcVar2 + 0xc) = fStack24 + *(float *)(pcVar2 + 4); - *(float *)(pcVar2 + 0x10) = fStack20; - *(float *)(pcVar2 + 0x34) = *(float *)(pcVar2 + 0x34) + fStack16; - *(float *)(pcVar2 + 0x3c) = *(float *)(pcVar2 + 0x3c) + fStack8; - if (pcVar2[1] != '\0') { - *(float *)(pcVar2 + 0x24) = *(float *)(pcVar2 + 0x24) + fStack16; - *(float *)(pcVar2 + 0x2c) = *(float *)(pcVar2 + 0x2c) + fStack8; - } - if (pcVar2[2] != '\0') { - *(float *)(pcVar2 + 0x4c) = *(float *)(pcVar2 + 0x4c) + fStack16; - *(float *)(pcVar2 + 0x54) = *(float *)(pcVar2 + 0x54) + fStack8; - *(float *)(pcVar2 + 0x40) = *(float *)(pcVar2 + 0x40) + fStack16; - *(float *)(pcVar2 + 0x48) = *(float *)(pcVar2 + 0x48) + fStack8; - } - } - } - return; -} - - - -void FUN_7f06dae0(int iParm1) - -{ - if ((**(ushort ***)(iParm1 + 8) != NULL) && ((***(ushort ***)(iParm1 + 8) & 0xff) == 1)) { - FUN_7f06d8c0(); - } - return; -} - - - -void loc_7F06D8A4(int *piParm1,int iParm2,int iParm3) - -{ - int iVar1; - int extraout_a0_lo; - int extraout_a1_lo; - int iVar2; - longlong lVar3; - undefined4 uVar4; - undefined auStack96 [64]; - int iStack32; - int iStack24; - undefined4 uStack20; - int iStack16; - float fStack12; - int iStack8; - int iStack4; - - iStack4 = *(int *)(iParm3 + 4); - iVar1 = loc_7F06C888(iParm2,iParm3); - iStack16 = iVar1 + 8; - fStack12 = *(float *)(iParm2 + 0x14); - uVar4 = *(undefined4 *)(iVar1 + 0x14); - iStack32 = *(int *)(iParm2 + 0xc) + (int)*(short *)(iStack4 + 2) * 0x40; - iVar2 = *(int *)(iParm3 + 8); - if (iVar2 == 0) { - lVar3 = (longlong)*piParm1; - } - else { - uStack20 = uVar4; - iStack8 = iVar1; - lVar3 = FUN_7f06cd98(iParm2,iVar2,0); - uVar4 = uStack20; - iVar1 = iStack8; - iParm2 = extraout_a0_lo; - iVar2 = extraout_a1_lo; - } - if (*(float *)(iVar1 + 0x18) != 0.00000000) { - iStack24 = (int)lVar3; - uVar4 = FUN_7f06d4fc(uVar4,*(undefined4 *)(iVar1 + 0x1c),iParm2,iVar2,*(float *)(iVar1 + 0x18)); - lVar3 = (longlong)iStack24; - } - if (lVar3 == 0) { - FUN_7f058978(iStack16,uVar4,iStack32); - if (fStack12 != 1.00000000) { - sub_7F058B10(fStack12); - } - } - else { - iStack24 = (int)lVar3; - FUN_7f058978(iStack16,uVar4,auStack96); - if (fStack12 != 1.00000000) { - sub_7F058B10(fStack12); - } - loc_7F05823C(iStack24,auStack96,iStack32); - } - return; -} - - - -void loc_7F06DB50(int *piParm1,int iParm2,ushort *puParm3,int iParm4) - -{ - int iVar1; - undefined4 uVar2; - float fVar3; - undefined *puStack144; - undefined auStack140 [16]; - undefined auStack124 [28]; - int iStack96; - int iStack92; - int iStack88; - int iStack84; - undefined auStack80 [68]; - int iStack12; - int iStack8; - uint uStack4; - - uStack4 = (uint)*puParm3; - iStack8 = *(int *)(puParm3 + 2); - iStack84 = (int)*(short *)(iStack8 + 0xe); - iStack88 = (int)*(short *)(iStack8 + 0x10); - iStack92 = (int)*(short *)(iStack8 + 0x12); - iStack96 = *(int *)(iParm2 + 0xc); - if (*(int *)(puParm3 + 4) == 0) { - iStack12 = *piParm1; - } - else { - iStack12 = FUN_7f06cd98(iParm2,*(int *)(puParm3 + 4),0); - } - if (iStack12 == 0) { - FUN_7f058dd4(iStack8,iParm4,iStack84 * 0x40 + iStack96); - } - else { - FUN_7f058dd4(iStack8,iParm4,auStack80); - iVar1 = iStack84 * 0x40 + iStack96; - loc_7F05823C(iStack12,auStack80); - if (DAT_800315e0 != NULL) { - (*DAT_800315e0)(iStack84,iVar1); - } - } - if ((uStack4 & 0x100) != 0) { - sub_7F05B3F4(iParm4,auStack124); - loc_7F05BE00(auStack124,0x3f000000,auStack140); - if (iStack12 == 0) { - FUN_7f05be64(iStack8,auStack140,iStack88 * 0x40 + iStack96); - } - else { - FUN_7f05be64(iStack8,auStack140,auStack80); - loc_7F05823C(iStack12,auStack80,iStack88 * 0x40 + iStack96); - } - } - if ((uStack4 & 0x200) != 0) { - if (iStack12 == 0) { - puStack144 = (undefined *)(iStack92 * 0x40 + iStack96); - } - else { - puStack144 = auStack80; - } - fVar3 = *(float *)(iParm4 + 4); - if (fVar3 < DAT_8004a79c) { - fVar3 = fVar3 * 0.50000000; - } - else { - fVar3 = DAT_8004a7a4 - (DAT_8004a7a0 - fVar3) * 0.50000000; - } - FUN_7f058aa4(); - if (DAT_8004a7a8 <= fVar3) { - fVar3 = DAT_8004a7ac - fVar3; - } - uVar2 = 0x3fc00000; - if (fVar3 < DAT_8004a7b0) { - uVar2 = sub_GAME_7F05A9E0(); - } - sub_7F058A4C(uVar2); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iStack8,puStack144); - if (iStack12 != 0) { - loc_7F05823C(iStack12,puStack144,iStack92 * 0x40 + iStack96); - } - } - return; -} - - - -void loc_7F06DDF8(int *piParm1,int iParm2,ushort *puParm3,undefined4 *puParm4) - -{ - int iVar1; - undefined4 uVar2; - float fVar3; - undefined *puStack128; - undefined auStack124 [28]; - int iStack96; - int iStack92; - int iStack88; - int iStack84; - undefined auStack80 [68]; - int iStack12; - int iStack8; - uint uStack4; - - uStack4 = (uint)*puParm3; - iStack8 = *(int *)(puParm3 + 2); - iStack84 = (int)*(short *)(iStack8 + 0xe); - iStack88 = (int)*(short *)(iStack8 + 0x10); - iStack92 = (int)*(short *)(iStack8 + 0x12); - iStack96 = *(int *)(iParm2 + 0xc); - if (*(int *)(puParm3 + 4) == 0) { - iStack12 = *piParm1; - } - else { - iStack12 = FUN_7f06cd98(iParm2,*(int *)(puParm3 + 4),0); - } - if (iStack12 == 0) { - FUN_7f05be64(iStack8,puParm4,iStack84 * 0x40 + iStack96); - } - else { - FUN_7f05be64(iStack8,puParm4,auStack80); - iVar1 = iStack84 * 0x40 + iStack96; - loc_7F05823C(iStack12,auStack80); - if (DAT_800315e0 != NULL) { - (*DAT_800315e0)(iStack84,iVar1); - } - } - if ((uStack4 & 0x100) != 0) { - loc_7F05BE00(puParm4,0x3f000000,auStack124); - if (iStack12 == 0) { - FUN_7f05be64(iStack8,auStack124,iStack88 * 0x40 + iStack96); - } - else { - FUN_7f05be64(iStack8,auStack124,auStack80); - loc_7F05823C(iStack12,auStack80,iStack88 * 0x40 + iStack96); - } - } - if ((uStack4 & 0x200) != 0) { - if (iStack12 == 0) { - puStack128 = (undefined *)(iStack92 * 0x40 + iStack96); - } - else { - puStack128 = auStack80; - } - fVar3 = (float)sub_GAME_7F05AD5C(*puParm4); - fVar3 = fVar3 + fVar3; - if (fVar3 < DAT_8004a7b4) { - fVar3 = fVar3 * 0.50000000; - } - else { - fVar3 = DAT_8004a7bc - (DAT_8004a7b8 - fVar3) * 0.50000000; - } - FUN_7f058aa4(); - if (DAT_8004a7c0 <= fVar3) { - fVar3 = DAT_8004a7c4 - fVar3; - } - uVar2 = 0x3fc00000; - if (fVar3 < DAT_8004a7c8) { - uVar2 = sub_GAME_7F05A9E0(); - } - sub_7F058A4C(uVar2); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iStack8,puStack128); - if (iStack12 != 0) { - loc_7F05823C(iStack12,puStack128,iStack92 * 0x40 + iStack96); - } - } - return; -} - - - -uint loc_7F06DEAC(int iParm1,uint uParm2,uint uParm3) - -{ - uint uVar1; - byte *pbVar2; - uint uVar3; - uint uVar4; - uint uVar5; - - uVar4 = 8 - (uParm3 & 7); - uVar5 = 0; - uVar1 = uParm2 & 0xff; - pbVar2 = (byte *)(iParm1 + (uParm3 >> 3)); - uVar3 = uVar4 & 0xff; - if ((uVar4 & 0xff) <= (uParm2 & 0xff)) { - do { - uVar4 = uVar1 - uVar3; - uVar1 = uVar4 & 0xff; - uVar5 |= ((uint)*pbVar2 & (1 << (uVar3 & 0x1f)) - 1U) << (uVar4 & 0x1f) & 0xffff; - pbVar2 = pbVar2 + 1; - uVar3 = 8; - } while (7 < uVar1); - } - if (uVar1 != 0) { - uVar5 |= (int)(uint)*pbVar2 >> (uVar3 - uVar1 & 0x1f) & (1 << (uVar1 & 0x1f)) - 1U & 0xffff; - } - return uVar5 << (0x10 - (uParm2 & 0xff) & 0x1f) & 0xffff; -} - - - -void loc_7F06E08C(int iParm1,longlong lParm2,int iParm3,int iParm4,undefined4 uParm5,float *pfParm6) - -{ - byte bVar1; - int iVar2; - float fVar3; - ushort uVar4; - ushort uVar5; - ushort uVar6; - ulonglong uVar7; - float fVar8; - - bVar1 = *(byte *)(iParm4 + 6); - uVar7 = (ulonglong)bVar1; - if (lParm2 == 0) { - iVar2 = (uint)*(ushort *)(*(int *)(iParm3 + 4) + iParm1 * 6 + 2) * (uint)bVar1; - } - else { - iVar2 = (uint)*(ushort *)(*(int *)(iParm3 + 4) + iParm1 * 6 + 4) * (uint)bVar1; - } - uVar4 = loc_7F06DEAC(uParm5,uVar7); - uVar5 = loc_7F06DEAC(uParm5,uVar7); - uVar6 = loc_7F06DEAC(uParm5,uVar7,iVar2 + (uint)bVar1 * 2); - fVar3 = DAT_8004a7cc; - fVar8 = (float)(uint)uVar4; - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *pfParm6 = (fVar8 * DAT_8004a7cc) / 65536.00000000; - if ((int)lParm2 == 0) { - fVar8 = (float)(uint)uVar5; - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - pfParm6[1] = (fVar8 * fVar3) / 65536.00000000; - fVar8 = (float)(uint)uVar6; - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - pfParm6[2] = (fVar8 * fVar3) / 65536.00000000; - } - else { - if (uVar5 == 0) { - pfParm6[1] = 0.00000000; - } - else { - pfParm6[1] = ((float)(0x10000 - (uint)uVar5) * fVar3) / 65536.00000000; - } - if (uVar6 == 0) { - pfParm6[2] = 0.00000000; - } - else { - pfParm6[2] = ((float)(0x10000 - (uint)uVar6) * fVar3) / 65536.00000000; - } - } - return; -} - - - -void loc_7F06E2A8(undefined4 uParm1,int iParm2,int iParm3) - -{ - ushort uVar1; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack100; - undefined auStack96 [16]; - undefined auStack80 [16]; - undefined auStack64 [16]; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - uint uStack8; - - uVar1 = *(ushort *)(*(int *)(iParm3 + 4) + 0xc); - uStack12 = *(undefined4 *)(*(int *)(iParm2 + 8) + 4); - uStack24 = DAT_800315e4; - uStack20 = DAT_800315e8; - uStack16 = DAT_800315ec; - uStack8 = (uint)uVar1; - loc_7F06E08C((ulonglong)uVar1,*(undefined *)(iParm2 + 0x24),uStack12, - *(undefined4 *)(iParm2 + 0x20),*(undefined4 *)(iParm2 + 0x34),&uStack24); - if (*(float *)(iParm2 + 0x2c) != 0.00000000) { - uStack36 = DAT_800315f0; - uStack32 = DAT_800315f4; - uStack28 = DAT_800315f8; - loc_7F06E08C(uStack8,*(undefined *)(iParm2 + 0x24),uStack12,*(undefined4 *)(iParm2 + 0x20), - *(undefined4 *)(iParm2 + 0x38),&uStack36); - FUN_7f06d590(&uStack24,&uStack36,*(undefined4 *)(iParm2 + 0x2c)); - } - if (*(float *)(iParm2 + 0x84) == 0.00000000) { - loc_7F06DB50(uParm1,iParm2,iParm3,&uStack24); - } - else { - uStack48 = DAT_800315fc; - uStack44 = DAT_80031600; - uStack40 = DAT_80031604; - loc_7F06E08C(uStack8,*(undefined *)(iParm2 + 0x25),uStack12,*(undefined4 *)(iParm2 + 0x54), - *(undefined4 *)(iParm2 + 100),&uStack48); - if (*(float *)(iParm2 + 0x5c) != 0.00000000) { - uStack108 = DAT_80031608; - uStack104 = DAT_8003160c; - uStack100 = DAT_80031610; - loc_7F06E08C(uStack8,*(undefined *)(iParm2 + 0x25),uStack12,*(undefined4 *)(iParm2 + 0x54), - *(undefined4 *)(iParm2 + 0x68),&uStack108); - FUN_7f06d590(&uStack48,&uStack108,*(undefined4 *)(iParm2 + 0x5c)); - } - sub_7F05B3F4(&uStack24,auStack64); - sub_7F05B3F4(&uStack48,auStack80); - locret_7F05BE80(auStack64,auStack80); - loc_7F05BC58(auStack64,auStack80,*(undefined4 *)(iParm2 + 0x84),auStack96); - loc_7F06DDF8(uParm1,iParm2,iParm3,auStack96); - } - return; -} - - - -void loc_7F06E52C(int *piParm1,int iParm2,ushort *puParm3,float fParm4) - -{ - short sVar1; - short sVar2; - short sVar3; - int iVar4; - uint uVar5; - undefined4 uVar6; - undefined *puStack112; - undefined auStack80 [68]; - int iStack12; - int iStack8; - uint uStack4; - - uStack4 = (uint)*puParm3; - iStack8 = *(int *)(puParm3 + 2); - sVar1 = *(short *)(iStack8 + 0x10); - sVar2 = *(short *)(iStack8 + 0xe); - sVar3 = *(short *)(iStack8 + 0x12); - iVar4 = *(int *)(iParm2 + 0xc); - if (*(int *)(puParm3 + 4) == 0) { - iStack12 = *piParm1; - } - else { - iStack12 = FUN_7f06cd98(iParm2,*(int *)(puParm3 + 4),0); - } - if (iStack12 == 0) { - FUN_7f058978(iStack8,fParm4,(int)sVar2 * 0x40 + iVar4); - } - else { - FUN_7f058978(iStack8,fParm4,auStack80); - loc_7F05823C(iStack12,auStack80,(int)sVar2 * 0x40 + iVar4); - } - if (((uStack4 & 0x100) != 0) || ((uStack4 & 0x200) != 0)) { - if (fParm4 < DAT_8004a7d0) { - fParm4 = fParm4 * 0.50000000; - } - else { - fParm4 = DAT_8004a7d8 - (DAT_8004a7d4 - fParm4) * 0.50000000; - } - } - uVar5 = uStack4 & 0x200; - if ((uStack4 & 0x100) != 0) { - if (iStack12 == 0) { - FUN_7f058978(iStack8,fParm4,(int)sVar1 * 0x40 + iVar4); - } - else { - FUN_7f058978(iStack8,fParm4,auStack80); - loc_7F05823C(iStack12,auStack80,(int)sVar1 * 0x40 + iVar4); - } - } - if (uVar5 != 0) { - if (iStack12 == 0) { - puStack112 = (undefined *)((int)sVar3 * 0x40 + iVar4); - } - else { - puStack112 = auStack80; - } - FUN_7f058aa4(fParm4); - if (DAT_8004a7dc <= fParm4) { - fParm4 = DAT_8004a7e0 - fParm4; - } - uVar6 = 0x3fc00000; - if (fParm4 < DAT_8004a7e4) { - uVar6 = sub_GAME_7F05A9E0(fParm4); - } - sub_7F058A4C(uVar6); - copies_first_3_floats_from_a0_to_a1_plus_0x30(iStack8,puStack112); - if (iStack12 != 0) { - loc_7F05823C(iStack12,puStack112,(int)sVar3 * 0x40 + iVar4); - } - } - return; -} - - - -float locret_7F06E644(int iParm1,longlong lParm2,int iParm3,int iParm4,undefined4 uParm5) - -{ - byte bVar1; - int iVar2; - longlong lVar3; - float fVar4; - - bVar1 = *(byte *)(iParm4 + 6); - if (lParm2 == 0) { - iVar2 = (uint)*(ushort *)(*(int *)(iParm3 + 4) + iParm1 * 6 + 2) * (uint)bVar1; - } - else { - iVar2 = (uint)*(ushort *)(*(int *)(iParm3 + 4) + iParm1 * 6 + 4) * (uint)bVar1; - } - lVar3 = loc_7F06DEAC(uParm5,(ulonglong)bVar1,iVar2); - fVar4 = 0.00000000; - if ((int)lParm2 == 0) { - fVar4 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = (fVar4 * DAT_8004a7ec) / 65536.00000000; - } - else { - if (lVar3 != 0) { - fVar4 = ((float)(0x10000 - (int)lVar3) * DAT_8004a7e8) / 65536.00000000; - } - } - return fVar4; -} - - - -void loc_7F06E77C(undefined4 uParm1,int iParm2,int iParm3) - -{ - ulonglong uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined4 uStack24; - - uVar1 = (ulonglong)*(ushort *)(*(int *)(iParm3 + 4) + 0xc); - uVar4 = *(undefined4 *)(*(int *)(iParm2 + 8) + 4); - uVar2 = locret_7F06E644(uVar1,*(undefined *)(iParm2 + 0x24),uVar4,*(undefined4 *)(iParm2 + 0x20), - *(undefined4 *)(iParm2 + 0x34)); - if (*(float *)(iParm2 + 0x2c) != 0.00000000) { - uVar3 = locret_7F06E644(uVar1,*(undefined *)(iParm2 + 0x24),uVar4,*(undefined4 *)(iParm2 + 0x20) - ,*(undefined4 *)(iParm2 + 0x38)); - uVar2 = FUN_7f06d4fc(uVar2,uVar3); - } - if (*(float *)(iParm2 + 0x84) != 0.00000000) { - uStack24 = locret_7F06E644(uVar1,*(undefined *)(iParm2 + 0x25),uVar4, - *(undefined4 *)(iParm2 + 0x54),*(undefined4 *)(iParm2 + 100)); - if (*(float *)(iParm2 + 0x5c) != 0.00000000) { - uVar4 = locret_7F06E644(uVar1,*(undefined *)(iParm2 + 0x25),uVar4, - *(undefined4 *)(iParm2 + 0x54),*(undefined4 *)(iParm2 + 0x68)); - uStack24 = FUN_7f06d4fc(uStack24,uVar4); - } - uVar2 = FUN_7f06d4fc(uVar2,uStack24); - } - loc_7F06E52C(uParm1,iParm2,iParm3,uVar2); - return; -} - - - -void loc_7F06E84C(int *piParm1,int iParm2,int iParm3) - -{ - short sVar1; - int iVar2; - undefined auStack72 [64]; - int iStack8; - int iStack4; - - iStack4 = *(int *)(iParm3 + 4); - iVar2 = *(int *)(iParm2 + 0xc); - sVar1 = *(short *)(iStack4 + 0xc); - if (*(int *)(iParm3 + 8) == 0) { - iStack8 = *piParm1; - } - else { - iStack8 = FUN_7f06cd98(iParm2,*(int *)(iParm3 + 8),0); - } - if (iStack8 == 0) { - FUN_7f058e0c(iStack4,(int)sVar1 * 0x40 + iVar2); - } - else { - FUN_7f058e0c(iStack4,auStack72); - loc_7F05823C(iStack8,auStack72,(int)sVar1 * 0x40 + iVar2); - } - return; -} - - - -void FUN_7f06ec44(int iParm1,int iParm2) - -{ - float *pfVar1; - undefined4 *puVar2; - int iVar3; - float fVar4; - float fVar5; - - pfVar1 = *(float **)(iParm2 + 4); - puVar2 = (undefined4 *)loc_7F06C888(); - iVar3 = FUN_7f06cd98(iParm1,iParm2,0); - if (DAT_800315d4 == 0) { - fVar4 = (float)FUN_7f078504(); - fVar4 = fVar4 * -*(float *)(iVar3 + 0x38); - if (DAT_800315d8 != 1.00000000) { - fVar4 = fVar4 * DAT_800315d8; - } - } - else { - fVar4 = 0.00000000; - } - if (fVar4 <= *pfVar1 * *(float *)(iParm1 + 0x14)) { - if (*pfVar1 != 0.00000000) goto LAB_7f06ed40; - fVar5 = pfVar1[1]; - } - else { - fVar5 = pfVar1[1]; - } - if (fVar4 <= fVar5 * *(float *)(iParm1 + 0x14)) { - *puVar2 = 1; - *(float *)(iParm2 + 0x14) = pfVar1[2]; - return; - } -LAB_7f06ed40: - *puVar2 = 0; - *(undefined4 *)(iParm2 + 0x14) = 0; - return; -} - - - -void FUN_7f06ed5c(undefined8 uParm1,int iParm2) - -{ - int iVar1; - int *piVar2; - - iVar1 = *(int *)(iParm2 + 4); - piVar2 = (int *)loc_7F06C888(); - if (*piVar2 == 0) { - *(undefined4 *)(iParm2 + 0x14) = 0; - } - else { - *(undefined4 *)(iParm2 + 0x14) = *(undefined4 *)(iVar1 + 8); - } - return; -} - - - -void FUN_7f06eda8(undefined8 uParm1,int iParm2) - -{ - undefined4 *puVar1; - int *piVar2; - - puVar1 = *(undefined4 **)(iParm2 + 4); - piVar2 = (int *)loc_7F06C888(); - if (*piVar2 == 0) { - *(undefined4 *)(iParm2 + 0x14) = 0; - } - else { - *(undefined4 *)(iParm2 + 0x14) = *puVar1; - } - return; -} - - - -void FUN_7f06edf4(undefined8 uParm1,int iParm2) - -{ - int **ppiVar1; - int iVar2; - - ppiVar1 = (int **)loc_7F06C888(); - if (*ppiVar1 != NULL) { - iVar2 = **ppiVar1; - *(int *)(iParm2 + 0x14) = iVar2; - if (iVar2 != 0) { - *(int *)(iVar2 + 8) = iParm2; - while (iVar2 = *(int *)(iVar2 + 0xc), iVar2 != 0) { - *(int *)(iVar2 + 8) = iParm2; - } - } - } - return; -} - - - -void locret_7F06EB08(int iParm1,longlong lParm2) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - iVar4 = *(int *)(iParm1 + 4); - if (lParm2 == 0) { - iVar1 = *(int *)(iVar4 + 0x1c); - iVar4 = *(int *)(iVar4 + 0x18); - } - else { - iVar1 = *(int *)(iVar4 + 0x18); - iVar4 = *(int *)(iVar4 + 0x1c); - } - if (iVar1 == 0) { - *(int *)(iParm1 + 0x14) = iVar4; - if (iVar4 != 0) { - *(undefined4 *)(iVar4 + 0x10) = 0; - } - } - else { - *(int *)(iParm1 + 0x14) = iVar1; - *(undefined4 *)(iVar1 + 0x10) = 0; - iVar3 = iVar1; - if ((*(int *)(iVar1 + 0xc) != 0) && (iVar3 = iVar1, iVar4 != *(int *)(iVar1 + 0xc))) { - iVar2 = *(int *)(iVar1 + 0xc); - do { - iVar3 = iVar2; - iVar2 = *(int *)(iVar3 + 0xc); - if (iVar2 == 0) break; - } while (iVar4 != iVar2); - } - *(int *)(iVar3 + 0xc) = iVar4; - if (iVar4 != 0) { - *(int *)(iVar4 + 0x10) = iVar3; - if ((*(int *)(iVar4 + 0xc) != 0) && (iVar1 != *(int *)(iVar4 + 0xc))) { - iVar3 = *(int *)(iVar4 + 0xc); - do { - iVar4 = iVar3; - iVar3 = *(int *)(iVar4 + 0xc); - if (iVar3 == 0) break; - } while (iVar1 != iVar3); - } - *(undefined4 *)(iVar4 + 0xc) = 0; - return; - } - } - return; -} - - - -void FUN_7f06eefc(undefined8 uParm1,undefined4 uParm2) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)loc_7F06C888(); - locret_7F06EB08(uParm2,*puVar1); - return; -} - - - -void FUN_7f06ef28(undefined4 uParm1,int iParm2) - -{ - short sVar1; - float *pfVar2; - longlong lVar3; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float *pfStack12; - undefined4 *puStack8; - - pfVar2 = *(float **)(iParm2 + 4); - puStack8 = (undefined4 *)loc_7F06C888(); - lVar3 = FUN_7f06cd98(uParm1,iParm2,0); - lVar3._4_4_ = (float *)lVar3; - sVar1 = *(short *)(pfVar2 + 8); - if (sVar1 == 0) { - fStack24 = pfVar2[3]; - fStack20 = pfVar2[4]; - fStack16 = pfVar2[5]; - pfStack12 = lVar3._4_4_; - FUN_7f058880(lVar3,&fStack24); - lVar3 = (longlong)(int)pfStack12; - } - else { - if (sVar1 == 2) { - fStack24 = pfVar2[4] * lVar3._4_4_[4]; - fStack20 = pfVar2[4] * lVar3._4_4_[5]; - fStack16 = pfVar2[4] * lVar3._4_4_[6]; - } - else { - if (sVar1 == 3) { - fStack24 = pfVar2[5] * lVar3._4_4_[8]; - fStack20 = pfVar2[5] * lVar3._4_4_[9]; - fStack16 = pfVar2[5] * lVar3._4_4_[10]; - } - else { - if (sVar1 != 1) { - fStack36 = *pfVar2; - goto LAB_7f06f054; - } - fStack24 = pfVar2[3] * *lVar3._4_4_; - fStack20 = pfVar2[3] * lVar3._4_4_[1]; - fStack16 = pfVar2[3] * lVar3._4_4_[2]; - } - } - } - fStack36 = *pfVar2; -LAB_7f06f054: - fStack32 = pfVar2[1]; - fStack28 = pfVar2[2]; - FUN_7f05891c(lVar3,&fStack36); - if (fStack28 * fStack16 + fStack24 * fStack36 + fStack20 * fStack32 < 0.00000000) { - *puStack8 = 1; - } - else { - *puStack8 = 0; - } - FUN_7f06eefc(uParm1,iParm2); - return; -} - - - -void FUN_7f06f0e4(undefined4 uParm1,int iParm2) - -{ - float *pfVar1; - int iVar2; - float fVar3; - float fVar4; - float fStack32; - float fStack28; - float fStack24; - uint *puStack8; - int iStack4; - - iStack4 = *(int *)(iParm2 + 4); - puStack8 = (uint *)loc_7F06C888(); - pfVar1 = (float *)FUN_7f06cd98(uParm1,iParm2,0); - FUN_7f06cc88(uParm1,&fStack32); - fVar3 = (float)sub_GAME_7F05AD5C(pfVar1[6] * fStack24 + - fStack32 * pfVar1[4] + fStack28 * pfVar1[5]); - fVar4 = (float)func_7F057FC4(fVar3); - fVar4 = (float)sub_GAME_7F05AD5C((fStack32 * pfVar1[8] + fStack28 * pfVar1[9] + - fStack24 * pfVar1[10]) / fVar4); - if ((pfVar1[2] * fStack24 + fStack32 * *pfVar1 + fStack28 * pfVar1[1] < 0.00000000) && - (0.00000000 < fVar4)) { - fVar4 = DAT_8004a7f0 - fVar4; - } - iVar2 = (int)((fVar3 * 64.00000000) / DAT_8004a7f4) * 0xc; - *puStack8 = (uint)*(byte *)(iStack4 + *(int *)(&DAT_80031614 + iVar2) + - ((int)((fVar4 * 65536.00000000) / DAT_8004a7f4) + - *(int *)(&DAT_80031618 + iVar2) >> - (*(uint *)(&DAT_8003161c + iVar2) & 0x1f)) + 0x18); - return; -} - - - -void loc_7F06EFB0(undefined8 uParm1,int iParm2) - -{ - ushort uVar1; - bool bVar2; - ushort *puVar3; - ushort *puVar4; - - puVar4 = *(ushort **)(iParm2 + 0x14); - if (puVar4 == NULL) { - return; - } - uVar1 = *puVar4; - do { - bVar2 = true; - if (true) { - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - bVar2 = false; - break; - case 7: - FUN_7f06f0e4(uParm1,puVar4); - break; - case 8: - FUN_7f06ec44(uParm1,puVar4); - break; - case 9: - FUN_7f06ef28(uParm1,puVar4); - break; - case 0x17: - FUN_7f06edf4(uParm1,puVar4); - } - } - if (((!bVar2) || (puVar3 = *(ushort **)(puVar4 + 10), *(ushort **)(puVar4 + 10) == NULL)) && - (puVar3 = puVar4, puVar4 != NULL)) { - while (puVar4 != *(ushort **)(iParm2 + 8)) { - puVar3 = *(ushort **)(puVar4 + 6); - if ((*(ushort **)(puVar4 + 6) != NULL) || - (puVar4 = *(ushort **)(puVar4 + 4), puVar3 = puVar4, puVar4 == NULL)) goto LAB_7f06f390; - } - puVar3 = NULL; - } -LAB_7f06f390: - puVar4 = puVar3; - if (puVar4 == NULL) { - return; - } - uVar1 = *puVar4; - } while( true ); -} - - - -void loc_7F06F0C0(int iParm1) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - - puVar3 = **(ushort ***)(iParm1 + 8); - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - do { - if (false) { -switchD_7f06f3f8_caseD_1: - puVar2 = *(ushort **)(puVar3 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - default: - goto switchD_7f06f3f8_caseD_1; - case 7: - FUN_7f06f0e4(iParm1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 8: - FUN_7f06ec44(iParm1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 9: - FUN_7f06ef28(iParm1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x12: - FUN_7f06eda8(iParm1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x17: - FUN_7f06edf4(iParm1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - } - } - if ((puVar2 == NULL) && (puVar2 = puVar3, puVar3 != NULL)) { - puVar2 = *(ushort **)(puVar3 + 6); - while ((puVar2 == NULL && (puVar3 = *(ushort **)(puVar3 + 4), puVar2 = puVar3, puVar3 != NULL) - )) { - puVar2 = *(ushort **)(puVar3 + 6); - } - } - puVar3 = puVar2; - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - } while( true ); -} - - - -void loc_7F06F234(undefined8 uParm1,int iParm2) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - - puVar3 = **(ushort ***)(iParm2 + 8); - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - do { - if (false) { -switchD_7f06f50c_caseD_4: - puVar2 = *(ushort **)(puVar3 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - loc_7F06D8A4(uParm1,iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 2: - loc_7F06E2A8(uParm1,iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 3: - loc_7F06E77C(uParm1,iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - default: - goto switchD_7f06f50c_caseD_4; - case 7: - FUN_7f06f0e4(iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 8: - FUN_7f06ec44(iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 9: - FUN_7f06ef28(iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x12: - FUN_7f06eda8(iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x15: - loc_7F06E84C(uParm1,iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x17: - FUN_7f06edf4(iParm2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - } - } - if ((puVar2 == NULL) && (puVar2 = puVar3, puVar3 != NULL)) { - puVar2 = *(ushort **)(puVar3 + 6); - while ((puVar2 == NULL && (puVar3 = *(ushort **)(puVar3 + 4), puVar2 = puVar3, puVar3 != NULL) - )) { - puVar2 = *(ushort **)(puVar3 + 6); - } - } - puVar3 = puVar2; - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - } while( true ); -} - - - -void FUN_7f06f634(int iParm1,int iParm2) - -{ - *(undefined4 *)(iParm2 + 0xc) = *(undefined4 *)(iParm1 + 0x10); - *(int *)(iParm1 + 0x10) = - *(int *)(iParm1 + 0x10) + (int)*(short *)(*(int *)(iParm2 + 8) + 0xe) * 0x40; - loc_7F06F234(); - return; -} - - - -void FUN_7f06f670(undefined4 uParm1,int iParm2) - -{ - int iVar1; - undefined4 uVar2; - - if (*(int *)(iParm2 + 0x20) != 0) { - uVar2 = loc_7F0755A0(*(int *)(iParm2 + 0x20),*(undefined2 *)(iParm2 + 0x30), - *(undefined4 *)(*(int *)(iParm2 + 8) + 4)); - *(undefined4 *)(iParm2 + 0x34) = uVar2; - if (*(float *)(iParm2 + 0x2c) == 0.00000000) { - iVar1 = *(int *)(iParm2 + 0x54); - } - else { - uVar2 = loc_7F0755A0(*(undefined4 *)(iParm2 + 0x20),*(undefined2 *)(iParm2 + 0x32), - *(undefined4 *)(*(int *)(iParm2 + 8) + 4)); - *(undefined4 *)(iParm2 + 0x38) = uVar2; - iVar1 = *(int *)(iParm2 + 0x54); - } - if (iVar1 != 0) { - uVar2 = loc_7F0755A0(iVar1,*(undefined2 *)(iParm2 + 0x60), - *(undefined4 *)(*(int *)(iParm2 + 8) + 4)); - *(undefined4 *)(iParm2 + 100) = uVar2; - if (*(float *)(iParm2 + 0x5c) != 0.00000000) { - uVar2 = loc_7F0755A0(*(undefined4 *)(iParm2 + 0x54),*(undefined2 *)(iParm2 + 0x62), - *(undefined4 *)(*(int *)(iParm2 + 8) + 4)); - *(undefined4 *)(iParm2 + 0x68) = uVar2; - } - } - FUN_7f075638(); - } - FUN_7f06f634(uParm1,iParm2); - return; -} - - - -undefined4 sub_7F06F5AC(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0x20); -} - - - -undefined sub_7F06F5B4(int iParm1) - -{ - return *(undefined *)(iParm1 + 0x24); -} - - - -undefined4 sub_7F06F5BC(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0x28); -} - - - -float locret_7F06F608(int iParm1) - -{ - if (0.00000000 <= *(float *)(iParm1 + 0x3c)) { - return *(float *)(iParm1 + 0x3c); - } - if (*(int *)(iParm1 + 0x20) == 0) { - return (float)0; - } - return (float)((uint)*(ushort *)(*(int *)(iParm1 + 0x20) + 4) - 1); -} - - - -undefined4 sub_7F06F610(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0x40); -} - - - -float locret_7F06F638(int iParm1) - -{ - float fVar1; - - fVar1 = *(float *)(iParm1 + 0x40); - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - return fVar1; -} - - - -float FUN_7f06f7e0(int iParm1) - -{ - float fVar1; - - fVar1 = (float)sub_7F06F610(); - return fVar1 * *(float *)(iParm1 + 0xa4); -} - - - -longlong loc_7F06F770(longlong lParm1,int iParm2,float fParm3) - -{ - ushort uVar1; - int iVar2; - undefined8 uVar3; - longlong lVar4; - - if (lParm1 < 0) { - if ((*(byte *)(iParm2 + 7) & 1) == 0) { - lVar4 = 0; - } - else { - uVar1 = *(ushort *)(iParm2 + 4); - iVar2 = -(int)lParm1; - lVar4 = (longlong)(int)((uint)uVar1 - iVar2 % (uint)uVar1); - if (uVar1 == 0) { - trap(0x1c00); - } - if (((ulonglong)uVar1 == 0xffffffffffffffff) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - } - else { - if (0.00000000 <= fParm3) { - if ((longlong)(int)fParm3 < lParm1) { - uVar3 = locret_7F05C510(); - return uVar3; - } - uVar1 = *(ushort *)(iParm2 + 4); - } - else { - uVar1 = *(ushort *)(iParm2 + 4); - } - lVar4 = lParm1; - if ((longlong)(ulonglong)uVar1 <= lParm1) { - if ((*(byte *)(iParm2 + 7) & 1) == 0) { - lVar4 = (longlong)(int)((uint)uVar1 - 1); - } - else { - lVar4 = (longlong)((int)lParm1 % (uint)uVar1); - if (uVar1 == 0) { - trap(0x1c00); - } - if (((ulonglong)uVar1 == 0xffffffffffffffff) && (lParm1 == -0x80000000)) { - trap(0x1800); - } - } - } - } - return lVar4; -} - - - -void loc_7F06F868(int iParm1,float fParm2) - -{ - ushort uVar1; - int iVar2; - - if (0.00000000 < fParm2) { - if (*(int *)(iParm1 + 0x20) == 0) { - *(undefined4 *)(iParm1 + 0x54) = 0; - } - else { - uVar1 = ***(ushort ***)(iParm1 + 8); - *(undefined4 *)(iParm1 + 0x58) = *(undefined4 *)(iParm1 + 0x28); - *(undefined4 *)(iParm1 + 0x5c) = *(undefined4 *)(iParm1 + 0x2c); - *(int *)(iParm1 + 0x54) = *(int *)(iParm1 + 0x20); - *(undefined *)(iParm1 + 0x25) = *(undefined *)(iParm1 + 0x24); - *(undefined2 *)(iParm1 + 0x60) = *(undefined2 *)(iParm1 + 0x30); - *(undefined2 *)(iParm1 + 0x62) = *(undefined2 *)(iParm1 + 0x32); - *(undefined4 *)(iParm1 + 0x70) = *(undefined4 *)(iParm1 + 0x40); - *(undefined4 *)(iParm1 + 0x74) = *(undefined4 *)(iParm1 + 0x44); - *(undefined4 *)(iParm1 + 0x78) = *(undefined4 *)(iParm1 + 0x48); - *(undefined4 *)(iParm1 + 0x7c) = *(undefined4 *)(iParm1 + 0x4c); - *(undefined4 *)(iParm1 + 0x80) = *(undefined4 *)(iParm1 + 0x50); - *(undefined4 *)(iParm1 + 0x6c) = *(undefined4 *)(iParm1 + 0x3c); - if ((uVar1 & 0xff) == 1) { - iVar2 = loc_7F06C888(); - *(undefined *)(iVar2 + 2) = 1; - *(undefined4 *)(iVar2 + 0x4c) = *(undefined4 *)(iVar2 + 0x34); - *(undefined4 *)(iVar2 + 0x50) = *(undefined4 *)(iVar2 + 0x38); - *(undefined4 *)(iVar2 + 0x54) = *(undefined4 *)(iVar2 + 0x3c); - *(undefined4 *)(iVar2 + 0x40) = *(undefined4 *)(iVar2 + 0x24); - *(undefined4 *)(iVar2 + 0x44) = *(undefined4 *)(iVar2 + 0x28); - *(undefined4 *)(iVar2 + 0x48) = *(undefined4 *)(iVar2 + 0x2c); - } - } - } - else { - *(undefined4 *)(iParm1 + 0x54) = 0; - } - return; -} - - - -void loc_7F06FC3C(int iParm1,undefined4 uParm2,undefined uParm3,undefined4 uParm4,undefined4 uParm5, - undefined4 uParm6) - -{ - int iVar1; - bool bVar2; - int iVar3; - undefined4 uVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fStack52; - float fStack48; - float fStack44; - float fStack36; - float fStack32; - ushort *puStack16; - - iVar1 = *(int *)(iParm1 + 0x20); - if (*(int *)(iParm1 + 0x54) == 0) { - *(undefined4 *)(iParm1 + 0x88) = 0; - *(undefined4 *)(iParm1 + 0x84) = 0; - } - else { - *(undefined4 *)(iParm1 + 0x88) = uParm6; - *(undefined4 *)(iParm1 + 0x8c) = 0; - *(undefined4 *)(iParm1 + 0x84) = 0x3f800000; - } - *(undefined4 *)(iParm1 + 0x20) = uParm2; - *(undefined *)(iParm1 + 0x24) = uParm3; - *(undefined4 *)(iParm1 + 0x3c) = 0xbf800000; - *(undefined4 *)(iParm1 + 0x40) = uParm5; - *(undefined4 *)(iParm1 + 0x4c) = 0; - FUN_7f070104(iParm1,uParm4); - *(undefined *)(iParm1 + 0x26) = 0; - if ((***(ushort ***)(iParm1 + 8) & 0xff) == 1) { - puStack16 = *(ushort **)(**(ushort ***)(iParm1 + 8) + 2); - iVar3 = loc_7F06C888(iParm1); - fStack52 = DAT_80031794; - fStack32 = *(float *)(iParm1 + 0x14) * *(float *)(iParm1 + 0xb8); - fStack48 = DAT_80031798; - fStack44 = DAT_8003179c; - fVar5 = (float)FUN_7f06d824((ulonglong)*puStack16,*(undefined *)(iParm1 + 0x24), - *(undefined4 *)(*(int *)(iParm1 + 8) + 4), - *(undefined4 *)(iParm1 + 0x20),*(undefined2 *)(iParm1 + 0x32), - &fStack52); - if (fStack32 != 1.00000000) { - fStack52 = fStack52 * fStack32; - fStack48 = fStack48 * fStack32; - fStack44 = fStack44 * fStack32; - } - fStack36 = (float)func_7F057FC4(*(undefined4 *)(iVar3 + 0x14)); - fVar6 = (float)func_7F057FC4(*(undefined4 *)(iVar3 + 0x14)); - if (*(float *)(iParm1 + 0x2c) == 0.00000000) { - *(float *)(iVar3 + 0x34) = *(float *)(iVar3 + 8); - *(undefined4 *)(iVar3 + 0x3c) = *(undefined4 *)(iVar3 + 0x10); - *(float *)(iVar3 + 0x38) = *(float *)(iVar3 + 0xc) - *(float *)(iVar3 + 4); - *(undefined4 *)(iVar3 + 0x30) = *(undefined4 *)(iVar3 + 0x14); - *(float *)(iVar3 + 0x24) = fStack44 * fVar6 + *(float *)(iVar3 + 8) + fStack52 * fStack36; - *(float *)(iVar3 + 0x28) = fStack48; - *(float *)(iVar3 + 0x2c) = fStack44 * fStack36 + (*(float *)(iVar3 + 0x3c) - fStack52 * fVar6) - ; - fVar6 = DAT_8004a918; - if ((*(float *)(iVar3 + 0x18) == 0.00000000) && - (fVar5 = *(float *)(iVar3 + 0x30) + fVar5, bVar2 = DAT_8004a918 <= fVar5, - *(float *)(iVar3 + 0x20) = fVar5, bVar2)) { - *(float *)(iVar3 + 0x20) = *(float *)(iVar3 + 0x20) - fVar6; - } - *(undefined *)(iVar3 + 1) = 1; - } - else { - fVar8 = fStack44 * fVar6 + fStack52 * fStack36; - fVar7 = fStack44 * fStack36 + -fStack52 * fVar6; - fVar6 = *(float *)(iParm1 + 0x2c); - *(float *)(iVar3 + 0x24) = - *(float *)(iVar3 + 8) + fVar8 * (1.00000000 - *(float *)(iParm1 + 0x2c)); - *(float *)(iVar3 + 0x28) = fStack48; - *(float *)(iVar3 + 0x2c) = *(float *)(iVar3 + 0x10) + fVar7 * (1.00000000 - fVar6); - *(float *)(iVar3 + 0x34) = *(float *)(iVar3 + 0x24) - fVar8; - fVar6 = *(float *)(iVar3 + 0xc) - *(float *)(iVar3 + 4); - *(float *)(iVar3 + 0x38) = - fVar6 - ((fStack48 - fVar6) * *(float *)(iParm1 + 0x2c)) / - (1.00000000 - *(float *)(iParm1 + 0x2c)); - *(float *)(iVar3 + 0x3c) = *(float *)(iVar3 + 0x2c) - fVar7; - fVar6 = *(float *)(iVar3 + 0x14) - fVar5; - if (fVar6 < 0.00000000) { - fVar6 = fVar6 + DAT_8004a91c; - } - uVar4 = FUN_7f06d4fc(*(float *)(iVar3 + 0x14),fVar6); - fVar6 = DAT_8004a920; - *(undefined4 *)(iVar3 + 0x30) = uVar4; - if (*(float *)(iVar3 + 0x18) == 0.00000000) { - fVar5 = *(float *)(iVar3 + 0x30) + fVar5; - *(float *)(iVar3 + 0x20) = fVar5; - if (fVar6 <= fVar5) { - *(float *)(iVar3 + 0x20) = *(float *)(iVar3 + 0x20) - fVar6; - *(undefined *)(iVar3 + 1) = 1; - } - else { - *(undefined *)(iVar3 + 1) = 1; - } - } - else { - *(undefined *)(iVar3 + 1) = 1; - } - } - if (iVar1 == 0) { - *(undefined4 *)(iVar3 + 0x38) = *(undefined4 *)(iVar3 + 0x28); - } - } - return; -} - - - -void loc_7F06FC74(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,int iParm7) - -{ - if (iParm7 != 0) { - loc_7F06F868(uParm1,uParm6); - } - loc_7F06FC3C((int)uParm1,uParm2,uParm3,uParm4,uParm5,uParm6); - return; -} - - - -void FUN_7f06fe48(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6) - -{ - loc_7F06F868(uParm1,uParm6); - loc_7F06FC3C((int)uParm1,uParm2,uParm3,uParm4,uParm5,uParm6); - return; -} - - - -void loc_7F06FD50(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - - uVar1 = *puParm2; - uVar2 = puParm2[1]; - uVar3 = puParm2[2]; - uVar4 = puParm2[3]; - uVar5 = puParm2[4]; - uVar6 = puParm2[5]; - uVar7 = puParm2[6]; - uVar8 = puParm2[7]; - puVar11 = puParm1; - puVar9 = puParm2; - do { - puVar12 = puVar9; - puVar10 = puVar11; - puVar11 = puVar10 + 3; - *puVar12 = *puVar10; - puVar12[1] = puVar10[1]; - puVar12[2] = puVar10[2]; - puVar9 = puVar12 + 3; - } while (puVar11 != puParm1 + 0x2d); - puVar12[3] = *puVar11; - puVar12[4] = puVar10[4]; - *puParm2 = uVar1; - puParm2[1] = uVar2; - puParm2[2] = uVar3; - puParm2[3] = uVar4; - puParm2[4] = uVar5; - puParm2[5] = uVar6; - puParm2[6] = uVar7; - puParm2[7] = uVar8; - return; -} - - - -void sub_7F06FDCC(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - *(undefined *)(iParm1 + 0x26) = 1; - *(undefined4 *)(iParm1 + 0x90) = uParm2; - *(undefined4 *)(iParm1 + 0x94) = uParm3; - return; -} - - - -void loc_7F06FE2C(int iParm1,float fParm2) - -{ - if ((*(int *)(iParm1 + 0x20) != 0) && - (fParm2 < (float)((uint)*(ushort *)(*(int *)(iParm1 + 0x20) + 4) - 1))) { - *(float *)(iParm1 + 0x3c) = fParm2; - return; - } - *(undefined4 *)(iParm1 + 0x3c) = 0xbf800000; - return; -} - - - -void sub_7F06FE3C(int iParm1,undefined4 uParm2) - -{ - *(undefined4 *)(iParm1 + 0x98) = uParm2; - return; -} - - - -void loc_7F06FE84(int iParm1,undefined4 uParm2,float fParm3) - -{ - if (fParm3 <= 0.00000000) { - *(undefined4 *)(iParm1 + 0x40) = uParm2; - *(undefined4 *)(iParm1 + 0x4c) = 0; - return; - } - *(float *)(iParm1 + 0x4c) = fParm3; - *(undefined4 *)(iParm1 + 0x44) = uParm2; - *(undefined4 *)(iParm1 + 0x50) = 0; - *(undefined4 *)(iParm1 + 0x48) = *(undefined4 *)(iParm1 + 0x40); - return; -} - - - -void loc_7F06FEE8(int iParm1,float fParm2,float fParm3) - -{ - float fVar1; - float fVar2; - - fVar1 = *(float *)(iParm1 + 0x28); - if (fVar1 <= fParm2) { - fParm2 = fParm2 - fVar1; - } - else { - fVar2 = (float)(uint)*(ushort *)(*(int *)(iParm1 + 0x20) + 4); - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - fParm2 = (fVar2 - fVar1) + fParm2; - } - loc_7F06FE84(iParm1,*(float *)(iParm1 + 0x40) + (fParm2 + fParm2) / fParm3,fParm3); - return; -} - - - -void loc_7F06FF50(int iParm1,undefined4 uParm2,float fParm3) - -{ - if (fParm3 <= 0.00000000) { - *(undefined4 *)(iParm1 + 0xa4) = uParm2; - *(undefined4 *)(iParm1 + 0xb0) = 0; - return; - } - *(float *)(iParm1 + 0xb0) = fParm3; - *(undefined4 *)(iParm1 + 0xa8) = uParm2; - *(undefined4 *)(iParm1 + 0xb4) = 0; - *(undefined4 *)(iParm1 + 0xac) = *(undefined4 *)(iParm1 + 0xa4); - return; -} - - - -void sub_7F06FF5C(int iParm1,undefined4 uParm2) - -{ - *(undefined4 *)(iParm1 + 0xa0) = uParm2; - return; -} - - - -void FUN_7f070104(int iParm1,float fParm2) - -{ - short sVar1; - bool bVar2; - undefined8 uVar3; - undefined4 extraout_v0_hi; - undefined2 extraout_var; - undefined2 extraout_v0_lo; - undefined2 uVar4; - int iVar5; - float fVar6; - - locret_7F05C430(fParm2); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo); - bVar2 = 0.00000000 <= *(float *)(iParm1 + 0x40); - iVar5 = CONCAT22(extraout_var,extraout_v0_lo) + -1; - if (bVar2) { - iVar5 = CONCAT22(extraout_var,extraout_v0_lo) + 1; - } - uVar4 = loc_7F06F770(uVar3,*(undefined4 *)(iParm1 + 0x20),*(undefined4 *)(iParm1 + 0x3c)); - *(undefined2 *)(iParm1 + 0x30) = uVar4; - uVar4 = loc_7F06F770(iVar5,*(undefined4 *)(iParm1 + 0x20),*(undefined4 *)(iParm1 + 0x3c)); - *(undefined2 *)(iParm1 + 0x32) = uVar4; - sVar1 = *(short *)(iParm1 + 0x30); - if (*(short *)(iParm1 + 0x32) == sVar1) { - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(float *)(iParm1 + 0x28) = (float)(int)sVar1; - } - else { - if (bVar2) { - fParm2 = fParm2 - (float)(int)uVar3; - *(float *)(iParm1 + 0x2c) = fParm2; - *(float *)(iParm1 + 0x28) = (float)(int)sVar1 + fParm2; - } - else { - fVar6 = 1.00000000 - (fParm2 - (float)iVar5); - *(float *)(iParm1 + 0x2c) = fVar6; - *(float *)(iParm1 + 0x28) = (float)(int)*(short *)(iParm1 + 0x32) + (1.00000000 - fVar6); - } - } - return; -} - - - -void FUN_7f070230(int iParm1,undefined4 uParm2,float fParm3) - -{ - short sVar1; - bool bVar2; - undefined8 uVar3; - undefined4 extraout_v0_hi; - undefined2 extraout_var; - undefined2 extraout_v0_lo; - undefined2 uVar4; - int iVar5; - float fVar6; - - FUN_7f070104(iParm1,uParm2); - if (*(int *)(iParm1 + 0x54) != 0) { - locret_7F05C430(fParm3); - uVar3 = CONCAT62(CONCAT42(extraout_v0_hi,extraout_var),extraout_v0_lo); - bVar2 = 0.00000000 <= *(float *)(iParm1 + 0x70); - iVar5 = CONCAT22(extraout_var,extraout_v0_lo) + -1; - if (bVar2) { - iVar5 = CONCAT22(extraout_var,extraout_v0_lo) + 1; - } - uVar4 = loc_7F06F770(uVar3,*(undefined4 *)(iParm1 + 0x54),*(undefined4 *)(iParm1 + 0x6c)); - *(undefined2 *)(iParm1 + 0x60) = uVar4; - uVar4 = loc_7F06F770(iVar5,*(undefined4 *)(iParm1 + 0x54),*(undefined4 *)(iParm1 + 0x6c)); - *(undefined2 *)(iParm1 + 0x62) = uVar4; - sVar1 = *(short *)(iParm1 + 0x60); - if (*(short *)(iParm1 + 0x62) == sVar1) { - *(undefined4 *)(iParm1 + 0x5c) = 0; - *(float *)(iParm1 + 0x58) = (float)(int)sVar1; - } - else { - if (bVar2) { - fParm3 = fParm3 - (float)(int)uVar3; - *(float *)(iParm1 + 0x5c) = fParm3; - *(float *)(iParm1 + 0x58) = (float)(int)sVar1 + fParm3; - } - else { - fVar6 = 1.00000000 - (fParm3 - (float)iVar5); - *(float *)(iParm1 + 0x5c) = fVar6; - *(float *)(iParm1 + 0x58) = (float)(int)*(short *)(iParm1 + 0x62) + (1.00000000 - fVar6); - } - } - } - return; -} - - - -void FUN_7f070374(undefined4 uParm1) - -{ - DAT_800317a0 = uParm1; - return; -} - - - -undefined4 FUN_7f070380(void) - -{ - return DAT_800317a0; -} - - - -void loc_7F070ABC(int iParm1,float fParm2,float fParm3,undefined4 uParm4,float fParm5) - -{ - short sVar1; - ushort *puVar2; - bool bVar3; - float fVar4; - char *pcVar7; - int iVar8; - undefined4 uVar9; - longlong lVar5; - longlong lVar6; - undefined2 uVar10; - char cVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack76; - float fStack72; - float fStack68; - int iStack64; - float fStack48; - float fStack44; - float fStack40; - float fStack28; - undefined4 uStack24; - uint uStack20; - - if ((***(ushort ***)(iParm1 + 8) & 0xff) != 1) { - FUN_7f070230(iParm1,fParm3,fParm5); - return; - } - puVar2 = *(ushort **)(**(ushort ***)(iParm1 + 8) + 2); - pcVar7 = (char *)loc_7F06C888(); - if (*pcVar7 != '\0') { - FUN_7f070230(iParm1,fParm3,fParm5); - return; - } - uStack20 = (uint)*puVar2; - uStack24 = *(undefined4 *)(*(int *)(iParm1 + 8) + 4); - fStack28 = *(float *)(iParm1 + 0x14) * *(float *)(iParm1 + 0xb8); - fStack48 = DAT_800317a4; - fStack44 = DAT_800317a8; - fStack40 = DAT_800317ac; - fStack76 = *(float *)(pcVar7 + 0x34); - fStack72 = *(float *)(pcVar7 + 0x38); - fStack68 = *(float *)(pcVar7 + 0x3c); - fStack92 = *(float *)(pcVar7 + 0x24); - fVar16 = *(float *)(pcVar7 + 0x30); - fStack88 = *(float *)(pcVar7 + 0x28); - fStack84 = *(float *)(pcVar7 + 0x2c); - fStack96 = *(float *)(pcVar7 + 0x20); - cVar11 = pcVar7[1]; - fVar17 = *(float *)(iParm1 + 0x40); - if (fVar17 < 0.00000000) { - fVar17 = -fVar17; - fVar12 = *(float *)(iParm1 + 0x70); - } - else { - fVar12 = *(float *)(iParm1 + 0x70); - } - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - bVar3 = fParm2 <= fParm3; - if (bVar3) { - iVar8 = locret_7F05C430(fParm2); - iVar8 += 1; - iStack64 = locret_7F05C430(fParm3); - fVar4 = (float)DAT_8004a924; - } - else { - iVar8 = locret_7F05C510(fParm2); - iVar8 += -1; - iStack64 = locret_7F05C510(fParm3); - fVar4 = (float)DAT_8004a924; - } -LAB_7f070528: - if (bVar3) { - if (iStack64 < iVar8) goto LAB_7f070a00; - uVar9 = *(undefined4 *)(iParm1 + 0x20); - } - else { - if (iVar8 < iStack64) goto LAB_7f070a00; - uVar9 = *(undefined4 *)(iParm1 + 0x20); - } - uVar9 = loc_7F06F770(iVar8,uVar9,*(undefined4 *)(iParm1 + 0x3c)); - *(undefined2 *)(iParm1 + 0x30) = (short)uVar9; - if (cVar11 == '\0') { - fVar15 = (float)FUN_7f06d824(uStack20,*(undefined *)(iParm1 + 0x24),uStack24, - *(undefined4 *)(iParm1 + 0x20),uVar9,&fStack48); - if (fStack28 != 1.00000000) { - fStack48 = fStack48 * fStack28; - fStack44 = fStack44 * fStack28; - fStack40 = fStack40 * fStack28; - } - if (!bVar3) { - fStack48 = -fStack48; - fStack40 = -fStack40; - if (0.00000000 < fVar15) { - fVar15 = fVar4 - fVar15; - } - } - fVar13 = (float)func_7F057FC4(*(undefined4 *)(pcVar7 + 0x14)); - fVar14 = (float)func_7F057FC4(*(undefined4 *)(pcVar7 + 0x14)); - fStack76 = fStack76 + fStack48 * fVar13 + fStack40 * fVar14; - fStack72 = fStack44; - fStack68 = fStack68 + -fStack48 * fVar14 + fStack40 * fVar13; - fVar13 = fVar16; - if ((*(float *)(pcVar7 + 0x18) == 0.00000000) && (fVar13 = fVar16 + fVar15, fVar4 <= fVar13)) { - fVar13 = fVar13 - fVar4; - } - } - else { - fStack76 = fStack92; - fStack72 = fStack88; - fStack68 = fStack84; - fVar13 = fStack96; - if (*(float *)(pcVar7 + 0x18) != 0.00000000) { - fVar13 = fVar16; - } - } - fVar16 = fVar13; - if (bVar3) { - iVar8 += 1; - } - else { - iVar8 += -1; - } - uVar9 = loc_7F06F770(iVar8,*(undefined4 *)(iParm1 + 0x20),*(undefined4 *)(iParm1 + 0x3c)); - *(undefined2 *)(iParm1 + 0x32) = (short)uVar9; - if (*(short *)(iParm1 + 0x30) != *(short *)(iParm1 + 0x32)) { - cVar11 = 1; - fVar15 = (float)FUN_7f06d824(uStack20,*(undefined *)(iParm1 + 0x24),uStack24, - *(undefined4 *)(iParm1 + 0x20),uVar9,&fStack48); - if (fStack28 != 1.00000000) { - fStack48 = fStack48 * fStack28; - fStack44 = fStack44 * fStack28; - fStack40 = fStack40 * fStack28; - } - if (!bVar3) { - fStack48 = -fStack48; - fStack40 = -fStack40; - if (0.00000000 < fVar15) { - fVar15 = fVar4 - fVar15; - } - } - fVar13 = (float)func_7F057FC4(*(undefined4 *)(pcVar7 + 0x30)); - fVar14 = (float)func_7F057FC4(*(undefined4 *)(pcVar7 + 0x30)); - if ((DAT_800317a0 == 0) || (*(int *)(iParm1 + 0x54) == 0)) { - fStack92 = fStack40 * fVar14 + fStack76 + fStack48 * fVar13; - fStack84 = fStack40 * fVar13 + (fStack68 - fStack48 * fVar14); - } - else { - fStack92 = fStack40 * fVar14 + fStack48 * fVar13; - fStack84 = fStack40 * fVar13 + -fStack48 * fVar14; - if (0.00000000 < fVar17) { - fVar14 = *(float *)(iParm1 + 0x84); - fVar13 = fVar14 - *(float *)(iParm1 + 0xa4) / (fVar17 * *(float *)(iParm1 + 0x88)); - if (fVar13 < 0.00000000) { - fVar14 = fVar14 + 0.00000000; - } - else { - fVar14 = fVar14 + fVar13; - } - fVar13 = (((*(float *)(pcVar7 + 0x40) - *(float *)(pcVar7 + 0x4c)) * fVar12) / fVar17 - - fStack92) * fVar14 * 0.50000000; - fVar14 = (((*(float *)(pcVar7 + 0x48) - *(float *)(pcVar7 + 0x54)) * fVar12) / fVar17 - - fStack84) * fVar14 * 0.50000000; - } - else { - fVar13 = (*(float *)(pcVar7 + 0x40) - *(float *)(pcVar7 + 0x4c)) * *(float *)(iParm1 + 0x84) - ; - fVar14 = (*(float *)(pcVar7 + 0x48) - *(float *)(pcVar7 + 0x54)) * *(float *)(iParm1 + 0x84) - ; - } - fStack84 = fStack84 + fVar14; - fStack92 = fStack92 + fVar13; - fStack92 = fStack92 + fStack76; - fStack84 = fStack84 + fStack68; - } - fStack88 = fStack44; - fVar13 = *(float *)(pcVar7 + 0x5c); - if (0.00000000 < fVar13) { - if (0.00000000 < fVar17) { - fVar14 = 1.00000000 / fVar17; - if (fVar13 < fVar14) { - *(undefined4 *)(pcVar7 + 0x5c) = 0; - } - else { - *(float *)(pcVar7 + 0x5c) = fVar13 - fVar14; - fVar13 = fVar14; - } - fVar15 = fVar15 + *(float *)(pcVar7 + 0x58) * fVar13; - if (fVar15 < 0.00000000) { - fVar15 = fVar15 + fVar4; - } - else { - if (fVar15 < fVar4) { - fVar13 = *(float *)(pcVar7 + 0x18); - goto LAB_7f0709c8; - } - fVar15 = fVar15 - fVar4; - } - fVar13 = *(float *)(pcVar7 + 0x18); - } - else { - fVar13 = *(float *)(pcVar7 + 0x18); - } - } - else { - fVar13 = *(float *)(pcVar7 + 0x18); - } -LAB_7f0709c8: - if ((fVar13 == 0.00000000) && (fStack96 = fVar16 + fVar15, fVar4 <= fStack96)) { - fStack96 = fStack96 - fVar4; - } - } - goto LAB_7f070528; -LAB_7f070a00: - *(float *)(pcVar7 + 0x34) = fStack76; - *(float *)(pcVar7 + 0x38) = fStack72; - *(float *)(pcVar7 + 0x30) = fVar16; - *(float *)(pcVar7 + 0x3c) = fStack68; - *(float *)(pcVar7 + 0x24) = fStack92; - *(float *)(pcVar7 + 0x28) = fStack88; - *(float *)(pcVar7 + 0x2c) = fStack84; - *(float *)(pcVar7 + 0x20) = fStack96; - sVar1 = *(short *)(iParm1 + 0x30); - if (*(short *)(iParm1 + 0x32) == sVar1) { - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(float *)(iParm1 + 0x28) = (float)(int)sVar1; - } - else { - if (bVar3) { - *(float *)(iParm1 + 0x2c) = fParm3 - (float)iStack64; - *(float *)(iParm1 + 0x28) = (float)(int)sVar1 + (fParm3 - (float)iStack64); - } - else { - *(float *)(iParm1 + 0x2c) = (float)iStack64 - fParm3; - *(float *)(iParm1 + 0x28) = - (float)(int)*(short *)(iParm1 + 0x32) + (1.00000000 - ((float)iStack64 - fParm3)); - } - } - if (*(int *)(iParm1 + 0x54) == 0) { - pcVar7[2] = '\0'; - return; - } - lVar5 = locret_7F05C430(uParm4); - lVar6 = locret_7F05C430(fParm5); - iVar8 = (int)lVar6; - if ((bVar3) && (lVar5 < lVar6)) { - cVar11 = pcVar7[2]; - } - else { - if ((bVar3) || (lVar5 <= lVar6)) goto LAB_7f070bac; - cVar11 = pcVar7[2]; - } - if (cVar11 == '\0') { - *(undefined4 *)(pcVar7 + 0x50) = *(undefined4 *)(pcVar7 + 0x38); - } - else { - *(undefined4 *)(pcVar7 + 0x50) = *(undefined4 *)(pcVar7 + 0x44); - } - uVar10 = loc_7F06F770(iVar8,*(undefined4 *)(iParm1 + 0x54),*(undefined4 *)(iParm1 + 0x6c)); - *(undefined2 *)(iParm1 + 0x60) = uVar10; - uVar9 = loc_7F06F770(iVar8 + 1,*(undefined4 *)(iParm1 + 0x54),*(undefined4 *)(iParm1 + 0x6c)); - *(undefined2 *)(iParm1 + 0x62) = (short)uVar9; - FUN_7f06d824(uStack20,*(undefined *)(iParm1 + 0x25),uStack24,*(undefined4 *)(iParm1 + 0x54),uVar9, - &fStack48); - if (fStack28 != 1.00000000) { - fStack44 = fStack44 * fStack28; - } - pcVar7[2] = '\x01'; - *(float *)(pcVar7 + 0x44) = fStack44; -LAB_7f070bac: - if (bVar3) { - *(float *)(iParm1 + 0x5c) = fParm5 - (float)iVar8; - *(float *)(iParm1 + 0x58) = (float)(int)*(short *)(iParm1 + 0x60) + (fParm5 - (float)iVar8); - } - else { - fVar16 = 1.00000000 - (fParm5 - (float)iVar8); - *(float *)(iParm1 + 0x5c) = fVar16; - *(float *)(iParm1 + 0x58) = (float)(int)*(short *)(iParm1 + 0x62) + (1.00000000 - fVar16); - } - return; -} - - - -void loc_7F070F58(int iParm1,int iParm2,int iParm3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - undefined4 uVar5; - undefined4 uVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - undefined4 uVar12; - undefined4 uVar13; - float fStack8; - - fStack8 = *(float *)(iParm1 + 0x58); - fVar7 = *(float *)(iParm1 + 0x28); - if (0 < iParm2) { - if (0 < iParm2) { - fVar2 = *(float *)(iParm1 + 0xb0); - do { - if (0.00000000 < fVar2) { - *(float *)(iParm1 + 0xb4) = *(float *)(iParm1 + 0xb4) + 1.00000000; - if (*(float *)(iParm1 + 0xb4) < fVar2) { - *(float *)(iParm1 + 0xa4) = - *(float *)(iParm1 + 0xac) + - ((*(float *)(iParm1 + 0xa8) - *(float *)(iParm1 + 0xac)) * - *(float *)(iParm1 + 0xb4)) / fVar2; - } - else { - *(undefined4 *)(iParm1 + 0xb0) = 0; - *(undefined4 *)(iParm1 + 0xa4) = *(undefined4 *)(iParm1 + 0xa8); - } - fVar2 = *(float *)(iParm1 + 0x88); - } - else { - fVar2 = *(float *)(iParm1 + 0x88); - } - fVar3 = *(float *)(iParm1 + 0xa4); - if (0.00000000 < fVar2) { - *(float *)(iParm1 + 0x8c) = *(float *)(iParm1 + 0x8c) + fVar3; - fVar2 = *(float *)(iParm1 + 0x8c); - if (fVar2 == 0.00000000) { - fVar3 = *(float *)(iParm1 + 0xa4); - *(undefined4 *)(iParm1 + 0x84) = 0x3f800000; - } - else { - fVar8 = *(float *)(iParm1 + 0x88); - if (fVar2 < fVar8) { - fVar3 = *(float *)(iParm1 + 0xa4); - *(float *)(iParm1 + 0x84) = (fVar8 - fVar2) / fVar8; - } - else { - *(undefined4 *)(iParm1 + 0x88) = 0; - *(undefined4 *)(iParm1 + 0x84) = 0; - *(undefined4 *)(iParm1 + 0x54) = 0; - fVar3 = *(float *)(iParm1 + 0xa4); - } - } - fVar2 = *(float *)(iParm1 + 0x4c); - } - else { - fVar2 = *(float *)(iParm1 + 0x4c); - } - if (0.00000000 < fVar2) { - *(float *)(iParm1 + 0x50) = *(float *)(iParm1 + 0x50) + fVar3; - if (*(float *)(iParm1 + 0x50) < fVar2) { - fVar3 = *(float *)(iParm1 + 0xa4); - *(float *)(iParm1 + 0x40) = - *(float *)(iParm1 + 0x48) + - ((*(float *)(iParm1 + 0x44) - *(float *)(iParm1 + 0x48)) * - *(float *)(iParm1 + 0x50)) / fVar2; - } - else { - *(undefined4 *)(iParm1 + 0x4c) = 0; - fVar3 = *(float *)(iParm1 + 0xa4); - *(undefined4 *)(iParm1 + 0x40) = *(undefined4 *)(iParm1 + 0x44); - } - fVar2 = *(float *)(iParm1 + 0x40); - } - else { - fVar2 = *(float *)(iParm1 + 0x40); - } - fVar8 = fVar7 + fVar3 * fVar2; - if (*(int *)(iParm1 + 0x54) != 0) { - fVar7 = *(float *)(iParm1 + 0x7c); - if (0.00000000 < fVar7) { - *(float *)(iParm1 + 0x80) = *(float *)(iParm1 + 0x80) + fVar3; - if (*(float *)(iParm1 + 0x80) < fVar7) { - fVar3 = *(float *)(iParm1 + 0xa4); - *(float *)(iParm1 + 0x70) = - *(float *)(iParm1 + 0x78) + - ((*(float *)(iParm1 + 0x74) - *(float *)(iParm1 + 0x78)) * - *(float *)(iParm1 + 0x80)) / fVar7; - } - else { - *(undefined4 *)(iParm1 + 0x7c) = 0; - fVar3 = *(float *)(iParm1 + 0xa4); - *(undefined4 *)(iParm1 + 0x70) = *(undefined4 *)(iParm1 + 0x74); - } - fVar7 = *(float *)(iParm1 + 0x70); - } - else { - fVar7 = *(float *)(iParm1 + 0x70); - } - fStack8 = fStack8 + fVar3 * fVar7; - } - fVar7 = fVar8; - if (*(char *)(iParm1 + 0x26) != '\0') { - fVar10 = *(float *)(iParm1 + 0x3c); - fVar4 = *(float *)(iParm1 + 0x90); - fVar1 = (float)((uint)*(ushort *)(*(int *)(iParm1 + 0x20) + 4) - 1); - fVar7 = fVar10; - fVar3 = fVar4; - fVar11 = fVar4; - fVar9 = fVar1; - if (fVar2 < 0.00000000) { - fVar7 = fVar4; - fVar3 = fVar10; - fVar11 = fVar1; - fVar9 = fVar4; - } - if ((0.00000000 <= fVar10) && (fVar10 < fVar1)) { - fVar9 = fVar7; - fVar11 = fVar3; - } - if ((fVar2 < 0.00000000) || (fVar8 < fVar9)) { - fVar7 = fVar8; - if ((0.00000000 <= fVar2) || (fVar7 = fVar8, fVar9 < fVar8)) goto LAB_7f071060; - uVar5 = *(undefined4 *)(iParm1 + 0x4c); - } - else { - uVar5 = *(undefined4 *)(iParm1 + 0x4c); - } - uVar12 = *(undefined4 *)(iParm1 + 0x44); - uVar13 = *(undefined4 *)(iParm1 + 0x48); - uVar6 = *(undefined4 *)(iParm1 + 0x50); - if (iParm3 == 0) { - FUN_7f070230(iParm1,fVar9,0); - } - else { - loc_7F070ABC(iParm1,*(undefined4 *)(iParm1 + 0x28),fVar9,0,0); - } - FUN_7f06fe48(iParm1,*(undefined4 *)(iParm1 + 0x20),*(undefined *)(iParm1 + 0x24),fVar11, - *(undefined4 *)(iParm1 + 0x40),*(undefined4 *)(iParm1 + 0x94)); - *(undefined *)(iParm1 + 0x26) = 1; - *(float *)(iParm1 + 0x3c) = fVar10; - *(undefined4 *)(iParm1 + 0x44) = uVar12; - *(undefined4 *)(iParm1 + 0x48) = uVar13; - *(undefined4 *)(iParm1 + 0x4c) = uVar5; - *(undefined4 *)(iParm1 + 0x50) = uVar6; - fVar7 = (fVar11 + fVar8) - fVar9; - fStack8 = fVar8; - if (*(code **)(iParm1 + 0x98) != NULL) { - (**(code **)(iParm1 + 0x98))(); - fStack8 = fVar8; - } - } -LAB_7f071060: - iParm2 += -1; - if (iParm2 < 1) break; - fVar2 = *(float *)(iParm1 + 0xb0); - } while( true ); - } - if (iParm3 == 0) { - if (*(int *)(iParm1 + 0x54) == 0) { - FUN_7f070230(iParm1,fVar7,0); - } - else { - FUN_7f070230(iParm1,fVar7,fStack8); - } - } - else { - if (*(int *)(iParm1 + 0x54) == 0) { - loc_7F070ABC(iParm1,*(undefined4 *)(iParm1 + 0x28),fVar7,0,0); - } - else { - loc_7F070ABC(iParm1,*(undefined4 *)(iParm1 + 0x28),fVar7,*(undefined4 *)(iParm1 + 0x58), - fStack8); - } - } - } - return; -} - - - -void FUN_7f071120(int iParm1) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xe7000000; - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xba001402; - if (*(int *)(iParm1 + 4) == 0) { - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x552048; - *puVar1 = 0xb900031d; - } - else { - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0x552078; - } - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - puVar1[1] = 0xff33ffff; - *puVar1 = 0xfc121824; - return; -} - - - -void locret_7F071B3C(int iParm1,longlong lParm2) - -{ - int iVar1; - uint uVar2; - undefined4 *puVar3; - - iVar1 = *(int *)(iParm1 + 0x30); - if (iVar1 == 7) { - if (lParm2 != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(iParm1 + 0x38); - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - uVar2 = *(uint *)(iParm1 + 0x34); - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - 0xff; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x5ffedbf8; - *puVar3 = 0xfc159804; - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 8) { - if (lParm2 != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(iParm1 + 0x38); - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - uVar2 = *(uint *)(iParm1 + 0x34); - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x5ffefff8; - *puVar3 = 0xfc159a04; - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - } - else { - if (iVar1 == 9) { - if ((*(uint *)(iParm1 + 0x34) & 0xff) != 0) { - if (lParm2 == 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfa000000; - puVar3[1] = *(uint *)(iParm1 + 0x34) >> 8 & 0xff; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1fccdff8; - *puVar3 = 0xfc26c204; - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4113078; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4113048; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - uVar2 = *(uint *)(iParm1 + 0x38); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = *(uint *)(iParm1 + 0x34) & 0xff; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1ffcfbf8; - *puVar3 = 0xfc26e804; - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4113078; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4113048; - *puVar3 = 0xb900031d; - return; - } - if (lParm2 == 0) { - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - uVar2 = *(uint *)(iParm1 + 0x38); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xffffffff; - *puVar3 = 0xfb000000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfa000000; - puVar3[1] = *(uint *)(iParm1 + 0x34) >> 8 & 0xff; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093fb; - *puVar3 = 0xfc26a004; - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 4) { - if (lParm2 == 0) { - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - uVar2 = *(uint *)(iParm1 + 0x34); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 5) { - if (lParm2 == 0) { - if ((*(uint *)(iParm1 + 0x34) & 0xff) < 0xff) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f10ffff; - *puVar3 = 0xfc269a04; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfc26a004; - puVar3[1] = 0x1f1093ff; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(iParm1 + 0x38); - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - uVar2 = *(uint *)(iParm1 + 0x34); - if ((uVar2 & 0xff) < 0xff) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff | 0xffffff00; - if ((*(uint *)(iParm1 + 0x34) & 0xff00) == 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfc26ea04; - puVar3[1] = 0x1f10ffff; - } - else { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f10cfff; - *puVar3 = 0xfc26ea04; - } - } - else { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - } - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - if (lParm2 != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc192078; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc192048; - *puVar3 = 0xb900031d; - return; - } - if (*(int *)(iParm1 + 4) != 0) { - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc1849d8; - return; - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc1841c8; - *puVar3 = 0xb900031d; - } - return; -} - - - -void loc_7F072620(int iParm1,longlong lParm2) - -{ - int iVar1; - undefined4 *puVar2; - uint uVar3; - - iVar1 = *(int *)(iParm1 + 0x30); - if (iVar1 == 7) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - uVar3 = *(uint *)(iParm1 + 0x38); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - uVar3 = *(uint *)(iParm1 + 0x34); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - 0xff; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x5ffedbf8; - *puVar2 = 0xfc159804; - if (lParm2 == 0) { - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 8) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - uVar3 = *(uint *)(iParm1 + 0x38); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - uVar3 = *(uint *)(iParm1 + 0x34); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x5ffefff8; - *puVar2 = 0xfc159a04; - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 9) { - if ((*(uint *)(iParm1 + 0x34) & 0xff) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - uVar3 = *(uint *)(iParm1 + 0x38); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = *(uint *)(iParm1 + 0x34) & 0xff; - if (lParm2 == 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfa000000; - puVar2[1] = *(uint *)(iParm1 + 0x34) >> 8 & 0xff; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1fccdff8; - *puVar2 = 0xfc26c204; - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4113078; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4113048; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1ffcfbf8; - *puVar2 = 0xfc26e804; - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4113078; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4113048; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - uVar3 = *(uint *)(iParm1 + 0x38); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xffffffff; - *puVar2 = 0xfb000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfa000000; - puVar2[1] = *(uint *)(iParm1 + 0x34) >> 8 & 0xff; - if (lParm2 == 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093fb; - *puVar2 = 0xfc26a004; - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26a004; - puVar2[1] = 0x1f1093fb; - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 4) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - uVar3 = *(uint *)(iParm1 + 0x34); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093ff; - *puVar2 = 0xfc26a004; - if (lParm2 == 0) { - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 5) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - uVar3 = *(uint *)(iParm1 + 0x38); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - uVar3 = *(uint *)(iParm1 + 0x34); - if ((uVar3 & 0xff) < 0xff) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff | 0xffffff00; - if (lParm2 == 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc269a04; - puVar2[1] = 0x1f10ffff; - } - else { - if ((*(uint *)(iParm1 + 0x34) & 0xff00) == 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f10ffff; - *puVar2 = 0xfc26ea04; - } - else { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26ea04; - puVar2[1] = 0x1f10cfff; - } - } - } - else { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093ff; - *puVar2 = 0xfc26a004; - } - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xffffff00; - *puVar2 = 0xf8000000; - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26a004; - puVar2[1] = 0x1f1093ff; - if (lParm2 == 0) { - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(iParm1 + 4) != 0) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; -} - - - -void FUN_7f0727e4(int iParm1) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xe7000000; - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x100000; - *puVar1 = 0xba001402; - if (*(int *)(iParm1 + 4) == 0) { - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0xc192048; - } - else { - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0xc192078; - } - puVar1 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x1f1093ff; - *puVar1 = 0xfc26a004; - return; -} - - - -void locret_7F07277C(int iParm1) - -{ - int iVar1; - undefined4 *puVar2; - - iVar1 = *(int *)(iParm1 + 0x3c); - if (iVar1 == 1) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x3000; - *puVar2 = 0xb6000000; - return; - } - if (iVar1 != 2) { - if (iVar1 == 3) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x2000; - *puVar2 = 0xb7000000; - } - return; - } - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1000; - *puVar2 = 0xb7000000; - return; -} - - - -void loc_7F072974(int iParm1,int iParm2) - -{ - int *piVar1; - char cVar4; - undefined4 *puVar2; - undefined4 uVar3; - uint uVar5; - - piVar1 = *(int **)(iParm2 + 4); - if (*(int *)(iParm1 + 0x18) == 0) { - if ((*(uint *)(iParm1 + 8) & 1) == 0) { - uVar5 = *(uint *)(iParm1 + 8); - } - else { - if (*piVar1 == 0) { - uVar5 = *(uint *)(iParm1 + 8); - } - else { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xbc001406; - uVar3 = osVirtualToPhysical(piVar1[2]); - puVar2[1] = uVar3; - if (*(int *)(iParm1 + 0x3c) == 0) { - cVar4 = *(char *)((int)piVar1 + 0x12); - } - else { - locret_7F07277C(iParm1); - cVar4 = *(char *)((int)piVar1 + 0x12); - } - if (cVar4 == '\x01') { - FUN_7f071120(iParm1); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - } - else { - if (cVar4 == '\x03') { - locret_7F071B3C(iParm1,1); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - } - else { - if (cVar4 == '\x04') { - loc_7F072620(iParm1,1); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - } - else { - if (cVar4 == '\x02') { - FUN_7f0727e4(iParm1); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - } - else { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - } - } - } - } - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = *piVar1; - if (*(char *)((int)piVar1 + 0x12) == '\x03') { - if (piVar1[1] == 0) { - uVar5 = *(uint *)(iParm1 + 8); - } - else { - locret_7F071B3C(iParm1,0); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = piVar1[1]; - uVar5 = *(uint *)(iParm1 + 8); - } - } - else { - uVar5 = *(uint *)(iParm1 + 8); - } - } - } - if (((((uVar5 & 2) != 0) && (*piVar1 != 0)) && (*(char *)((int)piVar1 + 0x12) == '\x04')) && - (piVar1[1] != 0)) { - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0xbc001406; - uVar3 = osVirtualToPhysical(piVar1[2]); - puVar2[1] = uVar3; - if (*(int *)(iParm1 + 0x3c) != 0) { - locret_7F07277C(iParm1); - } - loc_7F072620(iParm1,0); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = piVar1[1]; - } - } - return; -} - - - -void loc_7F072C00(int iParm1,undefined8 uParm2,int iParm3) - -{ - int iVar1; - undefined4 *puVar2; - short sVar4; - undefined4 uVar3; - undefined4 *puVar5; - uint uVar6; - - iVar1 = *(int *)(iParm3 + 4); - if (*(int *)(iParm1 + 0x18) == 0) { - if ((*(uint *)(iParm1 + 8) & 1) == 0) { - uVar6 = *(uint *)(iParm1 + 8); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(uParm2,iParm3); - if (puVar2[1] == 0) { - uVar6 = *(uint *)(iParm1 + 8); - } - else { - puVar5 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001406; - uVar3 = osVirtualToPhysical(*(undefined4 *)(iVar1 + 0x1c)); - puVar5[1] = uVar3; - if (*(int *)(iParm1 + 0x3c) == 0) { - sVar4 = *(short *)(iVar1 + 0x18); - } - else { - locret_7F07277C(iParm1); - sVar4 = *(short *)(iVar1 + 0x18); - } - if (sVar4 == 1) { - FUN_7f071120(iParm1); - puVar5 = *(undefined4 **)(iParm1 + 0xc); - } - else { - if (sVar4 == 3) { - locret_7F071B3C(iParm1,1); - puVar5 = *(undefined4 **)(iParm1 + 0xc); - } - else { - if (sVar4 == 4) { - loc_7F072620(iParm1,1); - puVar5 = *(undefined4 **)(iParm1 + 0xc); - } - else { - if (sVar4 == 2) { - FUN_7f0727e4(iParm1); - puVar5 = *(undefined4 **)(iParm1 + 0xc); - } - else { - puVar5 = *(undefined4 **)(iParm1 + 0xc); - } - } - } - } - *(undefined4 **)(iParm1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001006; - uVar3 = osVirtualToPhysical(*puVar2); - puVar5[1] = uVar3; - puVar5 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar5 + 2; - *puVar5 = 0x6000000; - puVar5[1] = puVar2[1]; - if (*(short *)(iVar1 + 0x18) == 3) { - if (*(int *)(iVar1 + 4) == 0) { - uVar6 = *(uint *)(iParm1 + 8); - } - else { - locret_7F071B3C(iParm1,0); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = *(undefined4 *)(iVar1 + 4); - uVar6 = *(uint *)(iParm1 + 8); - } - } - else { - uVar6 = *(uint *)(iParm1 + 8); - } - } - } - if (((((uVar6 & 2) != 0) && - (puVar2 = (undefined4 *)loc_7F06C888((int)uParm2,iParm3), puVar2[1] != 0)) && - (*(short *)(iVar1 + 0x18) == 4)) && (*(int *)(iVar1 + 4) != 0)) { - puVar5 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001406; - uVar3 = osVirtualToPhysical(*(undefined4 *)(iVar1 + 0x1c)); - puVar5[1] = uVar3; - if (*(int *)(iParm1 + 0x3c) == 0) { - puVar5 = *(undefined4 **)(iParm1 + 0xc); - } - else { - locret_7F07277C(iParm1); - puVar5 = *(undefined4 **)(iParm1 + 0xc); - } - *(undefined4 **)(iParm1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001006; - uVar3 = osVirtualToPhysical(*puVar2); - puVar5[1] = uVar3; - loc_7F072620(iParm1,0); - puVar2 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = *(undefined4 *)(iVar1 + 4); - } - } - return; -} - - - -void FUN_7f072db0(void) - -{ - return; -} - - - -void loc_7F050F20(int iParm1,int iParm2) - -{ - short sVar1; - int *piVar2; - undefined4 uVar3; - int iVar4; - int iVar5; - uint uVar6; - uint uVar7; - int iVar8; - short sVar9; - undefined4 *puVar10; - short sVar11; - short sVar12; - short sVar13; - undefined4 *puVar14; - undefined4 *puVar15; - int iVar16; - - if (((*(int *)(iParm1 + 0x18) == 0) && ((*(uint *)(iParm1 + 8) & 2) != 0)) && - (piVar2 = *(int **)(iParm2 + 4), piVar2[2] != 0)) { - puVar15 = (undefined4 *)piVar2[1]; - puVar14 = (undefined4 *)(*DAT_800315dc)(*piVar2 << 2); - puVar10 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar10 + 2; - *puVar10 = 0xbc001006; - uVar3 = osVirtualToPhysical(puVar14); - puVar10[1] = uVar3; - puVar10 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar10 + 2; - *puVar10 = 0xbc001406; - uVar3 = osVirtualToPhysical(piVar2[3]); - puVar10[1] = uVar3; - puVar10 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar10 + 2; - puVar10[1] = 0; - *puVar10 = 0xf8000000; - puVar10 = *(undefined4 **)(iParm1 + 0xc); - iVar16 = 0; - *(undefined4 **)(iParm1 + 0xc) = puVar10 + 2; - *puVar10 = 0x6000000; - puVar10[1] = piVar2[2]; - if (0 < *piVar2) { - do { - iVar4 = FUN_700098b0(); - iVar5 = coss(iVar4 << 10 & 0xffff); - iVar4 = sins(iVar4 << 10 & 0xffff); - uVar6 = FUN_700098b0(); - uVar6 >>= 0x1f; - uVar7 = FUN_700098b0(); - *puVar14 = *puVar15; - iVar8 = 0x10000 - (uVar7 & 0x3fff); - sVar9 = (short)(iVar5 * 0x16a0 >> 0x12); - sVar13 = 0x200 - sVar9; - puVar14[1] = puVar15[1]; - sVar11 = (short)(iVar4 * 0x16a0 >> 0x12); - sVar12 = 0x200 - sVar11; - puVar14[2] = puVar15[2]; - sVar11 += 0x200; - iVar16 += 1; - puVar14[3] = puVar15[3]; - puVar14[4] = puVar15[4]; - puVar14[5] = puVar15[5]; - puVar14[6] = puVar15[6]; - puVar14[7] = puVar15[7]; - puVar14[8] = puVar15[8]; - puVar14[9] = puVar15[9]; - puVar14[10] = puVar15[10]; - puVar14[0xb] = puVar15[0xb]; - puVar14[0xc] = puVar15[0xc]; - puVar14[0xd] = puVar15[0xd]; - puVar14[0xe] = puVar15[0xe]; - uVar3 = puVar15[0xf]; - *(short *)(puVar14 + 2) = sVar13; - *(short *)((int)puVar14 + 10) = sVar12; - puVar14[0xf] = uVar3; - uVar7 = uVar6; - if ((false) && (uVar7 = uVar6, uVar6 != 0)) { - uVar7 = uVar6 - 4; - } - puVar10 = puVar15 + uVar7 * 4; - iVar4 = uVar6 + 1; - *(short *)puVar14 = (short)((uint)((int)*(short *)puVar10 * iVar8) >> 0x10); - sVar9 += 0x200; - *(undefined2 *)((int)puVar14 + 2) = - (short)((uint)((int)*(short *)((int)puVar10 + 2) * iVar8) >> 0x10); - sVar1 = *(short *)(puVar10 + 1); - *(short *)(puVar14 + 6) = sVar11; - *(short *)((int)puVar14 + 0x1a) = sVar13; - *(short *)(puVar14 + 1) = (short)((uint)((int)sVar1 * iVar8) >> 0x10); - if ((false) && (iVar4 != 0)) { - iVar4 = uVar6 - 3; - } - puVar10 = puVar15 + iVar4 * 4; - *(short *)(puVar14 + 4) = (short)((uint)((int)*(short *)puVar10 * iVar8) >> 0x10); - *(undefined2 *)((int)puVar14 + 0x12) = - (short)((uint)((int)*(short *)((int)puVar10 + 2) * iVar8) >> 0x10); - sVar13 = *(short *)(puVar10 + 1); - *(short *)(puVar14 + 10) = sVar9; - *(short *)((int)puVar14 + 0x2a) = sVar11; - *(short *)(puVar14 + 5) = (short)((uint)((int)sVar13 * iVar8) >> 0x10); - uVar7 = uVar6 + 2 & 3; - if ((false) && (uVar7 != 0)) { - uVar7 -= 4; - } - puVar10 = puVar15 + uVar7 * 4; - *(short *)(puVar14 + 8) = (short)((uint)((int)*(short *)puVar10 * iVar8) >> 0x10); - *(undefined2 *)((int)puVar14 + 0x22) = - (short)((uint)((int)*(short *)((int)puVar10 + 2) * iVar8) >> 0x10); - sVar11 = *(short *)(puVar10 + 1); - *(short *)(puVar14 + 0xe) = sVar12; - *(short *)((int)puVar14 + 0x3a) = sVar9; - *(short *)(puVar14 + 9) = (short)((uint)((int)sVar11 * iVar8) >> 0x10); - uVar7 = uVar6 + 3 & 3; - if ((false) && (uVar7 != 0)) { - uVar7 -= 4; - } - puVar10 = puVar15 + uVar7 * 4; - puVar15 = puVar15 + 0x10; - *(short *)(puVar14 + 0xc) = (short)((uint)((int)*(short *)puVar10 * iVar8) >> 0x10); - *(undefined2 *)((int)puVar14 + 0x32) = - (short)((uint)((int)*(short *)((int)puVar10 + 2) * iVar8) >> 0x10); - *(short *)(puVar14 + 0xd) = (short)((uint)((int)*(short *)(puVar10 + 1) * iVar8) >> 0x10); - puVar14 = puVar14 + 0x10; - } while (iVar16 < *piVar2); - } - } - return; -} - - - -void FUN_7f07319c(int iParm1,undefined8 uParm2,undefined8 uParm3) - -{ - loc_7F077B80(iParm1 + 0xc,uParm2,uParm3,*(undefined4 *)(iParm1 + 4),2); - return; -} - - - -void FUN_7f0731d0(void) - -{ - return; -} - - - -void loc_7F0737C0(int iParm1,int iParm2,int iParm3) - -{ - byte bVar1; - char cVar2; - int *piVar3; - int iVar4; - uint *puVar5; - bool bVar6; - int *piVar7; - int *piVar8; - int iVar9; - int iVar10; - undefined4 uVar11; - uint uVar12; - undefined2 *puVar13; - int iVar14; - int iVar15; - char *pcVar16; - ulonglong uVar17; - int iVar18; - int iVar19; - undefined4 *puVar20; - int iVar21; - undefined4 *puVar22; - undefined4 *puVar23; - char *pcVar24; - byte *pbVar25; - int iVar26; - ulonglong uVar27; - - piVar3 = *(int **)(iParm3 + 4); - piVar7 = (int *)loc_7F06C888(iParm2,iParm3); - iVar14 = *piVar3; - if (iVar14 == 0) { - iVar14 = piVar3[1]; - } - iVar14 = *(int *)(iVar14 + 4); - piVar8 = (int *)loc_7F06C888(iParm2); - bVar6 = true; - if ((*(uint *)(iParm1 + 8) & 1) != 0) { - iVar9 = loc_7F06C654(iParm3,0); - iVar4 = *(int *)(iParm2 + 0xc); - iVar15 = *piVar7; - iVar19 = *piVar8; - pbVar25 = (byte *)(piVar3[3] + iVar15 * 8); - if (*piVar3 == 0) { - iVar10 = loc_7F06C654(piVar3[1],0x200); - iVar21 = *(int *)(iParm2 + 0xc); - iVar26 = iVar19; - } - else { - iVar10 = loc_7F06C654(iParm3,0x200); - iVar21 = *(int *)(iParm2 + 0xc); - iVar26 = iVar15; - iVar15 = iVar19; - } - iVar19 = piVar3[2]; - iVar18 = (iVar26 - iVar15) + iVar19; - iVar26 = iVar18 % iVar19; - if (iVar19 == 0) { - trap(0x1c00); - } - if ((iVar19 == -1) && (iVar18 == -0x80000000)) { - trap(0x1800); - } - if ((iVar26 < 2) || (6 < iVar26)) { - if ((iVar26 < 10) || (0xe < iVar26)) { - if ((6 < iVar26) && (iVar26 < 10)) { - bVar6 = false; - } - puVar23 = *(undefined4 **)(iParm1 + 0xc); - } - else { - if (iVar26 < 0xd) { - iVar18 = iVar26 + -8; - if (iVar18 < 0) { - iVar18 = iVar26 + -7; - } - iVar26 = (iVar18 >> 1) + iVar15 + iVar19; - iVar15 = iVar26 % iVar19; - bVar6 = false; - if (iVar19 == 0) { - trap(0x1c00); - } - if ((iVar19 == -1) && (iVar26 == -0x80000000)) { - trap(0x1800); - } - puVar23 = *(undefined4 **)(iParm1 + 0xc); - } - else { - iVar18 = -iVar26 + 0x10; - if (iVar18 < 0) { - iVar18 = -iVar26 + 0x11; - } - iVar26 = (iVar15 - (iVar18 >> 1)) + iVar19; - iVar15 = iVar26 % iVar19; - if (iVar19 == 0) { - trap(0x1c00); - } - if ((iVar19 == -1) && (iVar26 == -0x80000000)) { - trap(0x1800); - } - puVar23 = *(undefined4 **)(iParm1 + 0xc); - } - } - } - else { - if (iVar26 < 4) { - if (iVar26 < 0) { - iVar26 += 1; - } - iVar26 = (iVar26 >> 1) + iVar15 + iVar19; - iVar15 = iVar26 % iVar19; - if (iVar19 == 0) { - trap(0x1c00); - } - if ((iVar19 == -1) && (iVar26 == -0x80000000)) { - trap(0x1800); - } - puVar23 = *(undefined4 **)(iParm1 + 0xc); - } - else { - iVar18 = -iVar26 + 8; - if (iVar18 < 0) { - iVar18 = -iVar26 + 9; - } - iVar26 = (iVar15 - (iVar18 >> 1)) + iVar19; - iVar15 = iVar26 % iVar19; - bVar6 = false; - if (iVar19 == 0) { - trap(0x1c00); - } - if ((iVar19 == -1) && (iVar26 == -0x80000000)) { - trap(0x1800); - } - puVar23 = *(undefined4 **)(iParm1 + 0xc); - } - } - pcVar24 = *(char **)(pbVar25 + 4); - *(undefined4 **)(iParm1 + 0xc) = puVar23 + 2; - *puVar23 = 0xbc001406; - uVar11 = osVirtualToPhysical(piVar3[0x6b]); - puVar23[1] = uVar11; - bVar1 = *pbVar25; - uVar27 = (ulonglong)bVar1; - if (bVar1 != 0) { - cVar2 = *pcVar24; - do { - if (cVar2 == '\x01') { - puVar23 = (undefined4 *)(*DAT_800315dc)(2); - puVar22 = puVar23 + 4; - puVar20 = (undefined4 *)(piVar3[4] + (uint)*(ushort *)(pcVar24 + 2) * 0x10); - *puVar23 = *puVar20; - puVar23[1] = puVar20[1]; - puVar23[2] = puVar20[2]; - puVar23[3] = puVar20[3]; - iVar19 = piVar3[4] + (uint)*(ushort *)(pcVar24 + 2) * 0x10; - *puVar22 = *(undefined4 *)(iVar19 + 0x10); - puVar23[5] = *(undefined4 *)(iVar19 + 0x14); - puVar23[6] = *(undefined4 *)(iVar19 + 0x18); - puVar23[7] = *(undefined4 *)(iVar19 + 0x1c); - if (piVar3[1] == 0) { - pbVar25 = (byte *)(*(int *)(iVar14 + 0xc) + iVar15 * 8); - bVar1 = *pbVar25; - uVar17 = (ulonglong)bVar1; - pcVar16 = *(char **)(pbVar25 + 4); - if (bVar1 == 0) { - puVar22 = *(undefined4 **)(iParm1 + 0xc); - } - else { - cVar2 = *pcVar16; - while (uVar17 = SEXT48((int)uVar17 + -1), cVar2 != '\x01') { - if (cVar2 == '\x01') { - pcVar16 = pcVar16 + 4; - } - else { - if (cVar2 == '\x02') { - pcVar16 = pcVar16 + 2; - } - else { - if (cVar2 == '\x03') { - pcVar16 = pcVar16 + 4; - } - } - } - if ((longlong)uVar17 < 1) goto LAB_7f07375c; - cVar2 = *pcVar16; - } - puVar13 = (undefined2 *) - (*(int *)(iVar14 + 0x10) + (uint)*(ushort *)(pcVar16 + 2) * 0x10); - if (bVar6) { - *(undefined2 *)puVar23 = puVar13[8]; - *(undefined2 *)((int)puVar23 + 2) = puVar13[9]; - *(undefined2 *)(puVar23 + 1) = puVar13[10]; - *(undefined2 *)puVar22 = *puVar13; - *(undefined2 *)((int)puVar23 + 0x12) = puVar13[1]; - *(undefined2 *)(puVar23 + 5) = puVar13[2]; - } - else { - *(undefined2 *)puVar23 = *puVar13; - *(undefined2 *)((int)puVar23 + 2) = puVar13[1]; - *(undefined2 *)(puVar23 + 1) = puVar13[2]; - *(undefined2 *)puVar22 = puVar13[8]; - *(undefined2 *)((int)puVar23 + 0x12) = puVar13[9]; - *(undefined2 *)(puVar23 + 5) = puVar13[10]; - } -LAB_7f07375c: - puVar22 = *(undefined4 **)(iParm1 + 0xc); - } - } - else { - pbVar25 = (byte *)(piVar3[3] + iVar15 * 8); - bVar1 = *pbVar25; - uVar17 = (ulonglong)bVar1; - pcVar16 = *(char **)(pbVar25 + 4); - if (bVar1 != 0) { - cVar2 = *pcVar16; - while (uVar17 = SEXT48((int)uVar17 + -1), cVar2 != '\x01') { - if (cVar2 == '\x01') { - pcVar16 = pcVar16 + 4; - } - else { - if (cVar2 == '\x02') { - pcVar16 = pcVar16 + 2; - } - else { - if (cVar2 == '\x03') { - pcVar16 = pcVar16 + 4; - } - } - } - if ((longlong)uVar17 < 1) { - puVar22 = *(undefined4 **)(iParm1 + 0xc); - goto LAB_7f073760; - } - cVar2 = *pcVar16; - } - puVar13 = (undefined2 *)(piVar3[4] + (uint)*(ushort *)(pcVar16 + 2) * 0x10); - *(undefined2 *)puVar23 = *puVar13; - *(undefined2 *)((int)puVar23 + 2) = puVar13[1]; - *(undefined2 *)(puVar23 + 1) = puVar13[2]; - *(undefined2 *)puVar22 = puVar13[8]; - *(undefined2 *)((int)puVar23 + 0x12) = puVar13[9]; - *(undefined2 *)(puVar23 + 5) = puVar13[10]; - goto LAB_7f07375c; - } - puVar22 = *(undefined4 **)(iParm1 + 0xc); - } -LAB_7f073760: - *(undefined4 **)(iParm1 + 0xc) = puVar22 + 2; - *puVar22 = 0x1020040; - uVar11 = osVirtualToPhysical(iVar21 + iVar10 * 0x40); - puVar22[1] = uVar11; - puVar22 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar22 + 2; - *puVar22 = 0x4100020; - uVar11 = osVirtualToPhysical(puVar23); - puVar22[1] = uVar11; - puVar23 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar23 + 2; - *puVar23 = 0x1020040; - uVar11 = osVirtualToPhysical(iVar4 + iVar9 * 0x40); - puVar23[1] = uVar11; - puVar5 = *(uint **)(iParm1 + 0xc); - *(uint **)(iParm1 + 0xc) = puVar5 + 2; - *puVar5 = (((uint)(byte)pcVar24[1] - 3) * 0x10 & 0xff | 2) << 0x10 | 0x4000000 | - ((uint)(byte)pcVar24[1] - 2) * 0x10 & 0xffff; - uVar12 = osVirtualToPhysical(piVar3[4] + (uint)*(ushort *)(pcVar24 + 2) * 0x10 + 0x20); - pcVar24 = pcVar24 + 4; - puVar5[1] = uVar12; - } - else { - if (cVar2 == '\x02') { - if (pcVar24[1] == 0xff) { - FUN_7f07319c(iParm1,0,1); - pcVar24 = pcVar24 + 2; - } - else { - FUN_7f07319c(iParm1,piVar3[5] + (uint)(byte)pcVar24[1] * 0xc,1); - pcVar24 = pcVar24 + 2; - } - } - else { - if (cVar2 == '\x03') { - puVar23 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar23 + 2; - *puVar23 = 0xbf000000; - puVar23[1] = ((uint)(byte)pcVar24[1] * 10 & 0xff) << 0x10 | - ((uint)(byte)pcVar24[2] * 10 & 0xff) << 8 | - (uint)(byte)pcVar24[3] * 10 & 0xff; - pcVar24 = pcVar24 + 4; - } - } - } - uVar27 = SEXT48((int)uVar27 + -1); - if ((longlong)uVar27 < 1) { - return; - } - cVar2 = *pcVar24; - } while( true ); - } - } - return; -} - - - -void FUN_7f073930(void) - -{ - return; -} - - - -void FUN_7f073940(void) - -{ - return; -} - - - -void FUN_7f073950(int iParm1,int iParm2,int iParm3) - -{ - byte bVar1; - byte bVar2; - float *pfVar3; - undefined4 *puVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - short *psVar9; - int iVar10; - uint uVar11; - undefined8 uVar8; - undefined4 uVar12; - int iVar13; - short sVar14; - short sVar15; - short sVar16; - float *pfVar17; - undefined4 uVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - float fVar28; - float fVar29; - float fStack48; - float fStack44; - float fStack40; - - pfVar3 = *(float **)(iParm3 + 4); - psVar9 = (short *)loc_7F06C888(iParm2,iParm3); - uVar7 = DAT_8003193c; - uVar6 = DAT_80031938; - uVar5 = DAT_80031934; - uVar12 = DAT_80031930; - if (((*(uint *)(iParm1 + 8) & 2) != 0) && (*psVar9 != 0)) { - iVar10 = loc_7F06C654(iParm3,0); - pfVar17 = (float *)(*(int *)(iParm2 + 0xc) + iVar10 * 0x40); - fStack48 = -(pfVar17[0xc] + *pfVar3 * *pfVar17 + pfVar3[1] * pfVar17[4] + pfVar3[2] * pfVar17[8] - ); - fStack44 = -(pfVar17[0xd] + - *pfVar3 * pfVar17[1] + pfVar3[1] * pfVar17[5] + pfVar3[2] * pfVar17[9]); - fStack40 = -(pfVar17[0xe] + - *pfVar3 * pfVar17[2] + pfVar3[1] * pfVar17[6] + pfVar3[2] * pfVar17[10]); - fVar21 = (float)sqrtf(fStack40 * fStack40 + fStack48 * fStack48 + fStack44 * fStack44); - if (0.00000000 < fVar21) { - fVar21 = 1.00000000 / (*(float *)(iParm2 + 0x14) * fVar21); - fStack48 = fStack48 * fVar21; - fStack44 = fStack44 * fVar21; - fStack40 = fStack40 * fVar21; - } - else { - fStack48 = 0.00000000; - fStack44 = 0.00000000; - fStack40 = 1.00000000 / *(float *)(iParm2 + 0x14); - } - uVar18 = sub_GAME_7F05AD5C(pfVar17[6] * fStack40 + fStack48 * pfVar17[4] + fStack44 * pfVar17[5] - ); - fVar21 = (float)func_7F057FC4(uVar18); - fVar21 = (float)sub_GAME_7F05AD5C(-(fStack48 * pfVar17[8] + fStack44 * pfVar17[9] + - fStack40 * pfVar17[10]) / fVar21); - if (-(pfVar17[2] * fStack40 + fStack48 * *pfVar17 + fStack44 * pfVar17[1]) < 0.00000000) { - fVar21 = DAT_8004a928 - fVar21; - } - fVar28 = (float)func_7F057FC4(); - fVar21 = (float)func_7F057FC4(fVar21); - fVar19 = (float)func_7F057FC4(uVar18); - fVar20 = (float)func_7F057FC4(uVar18); - uVar11 = FUN_700098b0(); - fVar24 = (float)(uVar11 & 0x7f); - if (false) { - fVar24 = fVar24 + 4294967296.00000000; - } - fVar24 = fVar24 * 0.00390625 + 0.75000000; - fVar22 = pfVar3[3] * fVar24; - fVar25 = pfVar3[5]; - fVar29 = pfVar3[4] * fVar24 * fVar20 * 0.50000000; - fVar23 = *pfVar3 - fVar22 * 0.50000000; - fVar27 = pfVar3[1]; - fVar26 = pfVar3[2]; - uVar8 = (*DAT_800315dc)(4); - uVar8._4_4_ = (undefined4 *)uVar8; - *uVar8._4_4_ = uVar12; - uVar8._4_4_[1] = uVar5; - uVar8._4_4_[2] = uVar6; - uVar8._4_4_[3] = uVar7; - uVar8._4_4_[4] = uVar12; - uVar8._4_4_[5] = uVar5; - uVar8._4_4_[6] = uVar6; - uVar8._4_4_[7] = uVar7; - uVar8._4_4_[8] = uVar12; - uVar8._4_4_[9] = uVar5; - uVar8._4_4_[10] = uVar6; - uVar8._4_4_[0xb] = uVar7; - uVar8._4_4_[0xc] = uVar12; - uVar8._4_4_[0xd] = uVar5; - uVar8._4_4_[0xe] = uVar6; - uVar8._4_4_[0xf] = uVar7; - fVar20 = -(fVar22 * fVar28 * 0.50000000); - fVar22 = -(fVar22 * fVar19 * fVar21 * 0.50000000); - *(short *)uVar8._4_4_ = (short)(int)(fVar23 + fVar20 + fVar22); - *(undefined2 *)((int)uVar8._4_4_ + 2) = (short)(int)(fVar27 - fVar29); - fVar21 = -(fVar25 * fVar24 * fVar21 * 0.50000000); - fVar28 = -(fVar25 * fVar24 * fVar19 * fVar28 * 0.50000000); - *(short *)(uVar8._4_4_ + 1) = (short)(int)((fVar26 - fVar21) + fVar28); - *(short *)(uVar8._4_4_ + 4) = (short)(int)((fVar23 + fVar20) - fVar22); - *(undefined2 *)((int)uVar8._4_4_ + 0x12) = (short)(int)(fVar27 + fVar29); - *(short *)(uVar8._4_4_ + 5) = (short)(int)((fVar26 - fVar21) - fVar28); - *(short *)(uVar8._4_4_ + 8) = (short)(int)((fVar23 - fVar20) - fVar22); - *(undefined2 *)((int)uVar8._4_4_ + 0x22) = (short)(int)(fVar27 + fVar29); - *(short *)(uVar8._4_4_ + 9) = (short)(int)((fVar26 + fVar21) - fVar28); - *(short *)(uVar8._4_4_ + 0xc) = (short)(int)((fVar23 - fVar20) + fVar22); - *(undefined2 *)((int)uVar8._4_4_ + 0x32) = (short)(int)(fVar27 - fVar29); - *(short *)(uVar8._4_4_ + 0xd) = (short)(int)(fVar26 + fVar21 + fVar28); - puVar4 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar4 + 2; - *puVar4 = 0xbc001406; - uVar12 = osVirtualToPhysical(pfVar3[9]); - puVar4[1] = uVar12; - fVar21 = pfVar3[6]; - if (fVar21 == 0.00000000) { - FUN_7f07319c(iParm1,0,1); - puVar4 = *(undefined4 **)(iParm1 + 0xc); - } - else { - iVar10 = FUN_700098b0(); - iVar13 = coss(iVar10 << 10 & 0xffff); - bVar1 = *(byte *)((int)fVar21 + 4); - iVar10 = sins((ulonglong)(ushort)(iVar10 << 10)); - bVar2 = *(byte *)((int)fVar21 + 4); - sVar15 = (ushort)bVar2 * 0x10; - sVar16 = (short)((int)(iVar13 * (uint)bVar1 * 0xb5) >> 0x12); - sVar14 = sVar15 - sVar16; - *(short *)(uVar8._4_4_ + 2) = sVar14; - *(short *)((int)uVar8._4_4_ + 0x1a) = sVar14; - sVar16 = sVar15 + sVar16; - *(short *)(uVar8._4_4_ + 10) = sVar16; - *(short *)((int)uVar8._4_4_ + 0x3a) = sVar16; - sVar16 = (short)((int)(iVar10 * (uint)bVar2 * 0xb5) >> 0x12); - sVar14 = sVar15 - sVar16; - sVar15 += sVar16; - *(short *)((int)uVar8._4_4_ + 10) = sVar14; - *(short *)(uVar8._4_4_ + 6) = sVar15; - *(short *)((int)uVar8._4_4_ + 0x2a) = sVar15; - *(short *)(uVar8._4_4_ + 0xe) = sVar14; - FUN_7f07319c(iParm1,fVar21,4); - puVar4 = *(undefined4 **)(iParm1 + 0xc); - } - *(undefined4 **)(iParm1 + 0xc) = puVar4 + 2; - puVar4[1] = 0x2000; - *puVar4 = 0xb7000000; - puVar4 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar4 + 2; - *puVar4 = 0x1020040; - uVar12 = osVirtualToPhysical(pfVar17); - puVar4[1] = uVar12; - puVar4 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar4 + 2; - *puVar4 = 0x4300040; - uVar12 = osVirtualToPhysical(uVar8); - puVar4[1] = uVar12; - puVar4 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar4 + 2; - puVar4[1] = 0x3210; - *puVar4 = 0xb1000002; - } - return; -} - - - -void FUN_7f0740dc(undefined4 uParm1) - -{ - DAT_80031940 = uParm1; - return; -} - - - -void FUN_7f0740e8(int iParm1,int iParm2,int iParm3) - -{ - byte bVar1; - float *pfVar2; - undefined4 *puVar3; - undefined4 uVar4; - undefined4 uVar5; - uint uVar6; - int iVar7; - int iVar8; - undefined4 *puVar9; - undefined4 uVar10; - undefined2 uVar11; - float fVar12; - float fVar13; - float fVar14; - uint local_14; - - uVar6 = DAT_80031954; - uVar5 = DAT_80031950; - uVar4 = DAT_8003194c; - uVar10 = DAT_80031948; - if (0 < (int)DAT_80031940) { - pfVar2 = *(float **)(iParm3 + 4); - iVar7 = loc_7F06C888(iParm2,pfVar2[5]); - fVar12 = pfVar2[2]; - fVar13 = pfVar2[3]; - fVar14 = *(float *)(iVar7 + 0xc) - *(float *)(iVar7 + 4); - if ((*(uint *)(iParm1 + 8) & 2) != 0) { - if ((*(int *)(iParm1 + 0x30) == 3) || (*(int *)(iParm1 + 0x30) == 8)) { - local_14 = uVar6 & 0xffffff00 | - ((*(uint *)(iParm1 + 0x34) & 0xff) * DAT_80031940) / 0xff & 0xff; - } - else { - local_14 = uVar6 & 0xffffff00 | DAT_80031940 & 0xff; - } - iVar8 = loc_7F06C654(iParm3,0); - iVar7 = *(int *)(iParm2 + 0xc); - if (*(int *)(iParm1 + 4) == 0) { - uVar11 = (undefined2)(int)(-fVar14 / *(float *)(iParm2 + 0x14)); - } - else { - uVar11 = (undefined2)(int)((2.00000000 - fVar14) / *(float *)(iParm2 + 0x14)); - } - if (fVar14 < 50.00000000) { - fVar12 = fVar12 * 1.25000000; - fVar13 = fVar13 * 1.25000000; - } - else { - if (300.00000000 < fVar14) { - fVar13 = 0.00000000; - fVar12 = 0.00000000; - } - else { - fVar14 = (300.00000000 - fVar14) / 200.00000000; - fVar12 = fVar12 * fVar14; - fVar13 = fVar13 * fVar14; - } - } - puVar9 = (undefined4 *)(*DAT_800315dc)(4); - *puVar9 = uVar10; - puVar9[1] = uVar4; - puVar9[2] = uVar5; - puVar9[3] = local_14; - puVar9[4] = uVar10; - puVar9[5] = uVar4; - puVar9[6] = uVar5; - puVar9[7] = local_14; - puVar9[8] = uVar10; - puVar9[9] = uVar4; - puVar9[10] = uVar5; - puVar9[0xb] = local_14; - puVar9[0xc] = uVar10; - puVar9[0xd] = uVar4; - puVar9[0xe] = uVar5; - puVar9[0xf] = local_14; - fVar14 = *pfVar2; - *(undefined2 *)((int)puVar9 + 2) = uVar11; - *(short *)puVar9 = (short)(int)(fVar14 - fVar12); - *(short *)(puVar9 + 1) = (short)(int)(pfVar2[1] - fVar13); - fVar14 = *pfVar2; - *(undefined2 *)((int)puVar9 + 0x12) = uVar11; - *(short *)(puVar9 + 4) = (short)(int)(fVar14 - fVar12); - *(short *)(puVar9 + 5) = (short)(int)(pfVar2[1] + fVar13); - fVar14 = *pfVar2; - *(undefined2 *)((int)puVar9 + 0x22) = uVar11; - *(short *)(puVar9 + 8) = (short)(int)(fVar14 + fVar12); - *(short *)(puVar9 + 9) = (short)(int)(pfVar2[1] + fVar13); - fVar14 = *pfVar2; - *(undefined2 *)((int)puVar9 + 0x32) = uVar11; - *(short *)(puVar9 + 0xc) = (short)(int)(fVar14 + fVar12); - *(short *)(puVar9 + 0xd) = (short)(int)(pfVar2[1] - fVar13); - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xbc001406; - uVar10 = osVirtualToPhysical(pfVar2[7]); - puVar3[1] = uVar10; - fVar12 = pfVar2[4]; - if (fVar12 == 0.00000000) { - FUN_7f07319c(iParm1,0,1); - } - else { - *(undefined2 *)(puVar9 + 2) = 0; - *(undefined2 *)((int)puVar9 + 10) = 0; - bVar1 = *(byte *)((int)fVar12 + 4); - *(undefined2 *)((int)puVar9 + 0x1a) = 0; - *(ushort *)(puVar9 + 6) = (ushort)bVar1 * 0x20 + -1; - *(ushort *)(puVar9 + 10) = (ushort)*(byte *)((int)fVar12 + 4) * 0x20 + -1; - bVar1 = *(byte *)((int)fVar12 + 5); - *(undefined2 *)(puVar9 + 0xe) = 0; - *(short *)((int)puVar9 + 0x2a) = (ushort)bVar1 * 0x20 + -1; - *(short *)((int)puVar9 + 0x3a) = (ushort)*(byte *)((int)fVar12 + 5) * 0x20 + -1; - FUN_7f07319c(iParm1,fVar12,4); - } - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb7000000; - puVar3[1] = 0x2000; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0x1020040; - uVar10 = osVirtualToPhysical(iVar7 + iVar8 * 0x40); - puVar3[1] = uVar10; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - *puVar3 = 0x4300040; - uVar10 = osVirtualToPhysical(puVar9); - puVar3[1] = uVar10; - puVar3 = *(undefined4 **)(iParm1 + 0xc); - *(undefined4 **)(iParm1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x3210; - *puVar3 = 0xb1000002; - } - } - return; -} - - - -void FUN_7f0745e8(void) - -{ - return; -} - - - -void FUN_7f0745f8(void) - -{ - return; -} - - - -void loc_7F074678(undefined8 uParm1,undefined8 uParm2,ushort *puParm3) - -{ - if (true) { - switch((uint)*puParm3 & 0xff) { - case 4: - loc_7F072974(uParm1,puParm3); - break; - case 5: - FUN_7f0731d0(uParm1,uParm2); - break; - case 6: - FUN_7f073930(uParm1,uParm2); - break; - case 7: - loc_7F0737C0(uParm1,uParm2); - break; - case 8: - FUN_7f06ed5c(uParm2,puParm3); - break; - case 9: - FUN_7f06eefc(uParm2,puParm3); - break; - case 10: - FUN_7f0745e8(uParm1,uParm2); - break; - case 0xb: - FUN_7f073940(uParm1,uParm2); - break; - case 0xc: - FUN_7f073950(uParm1,uParm2); - break; - case 0xd: - FUN_7f0740e8(uParm1,uParm2); - break; - case 0x11: - FUN_7f0745f8(uParm1,uParm2); - break; - case 0x12: - FUN_7f06eda8(uParm2,puParm3); - break; - case 0x14: - FUN_7f072db0(uParm1,uParm2); - break; - case 0x16: - loc_7F050F20(uParm1,puParm3); - break; - case 0x17: - FUN_7f06edf4(uParm2,puParm3); - break; - case 0x18: - loc_7F072C00(uParm1,uParm2); - } - } - return; -} - - - -void FUN_7f074758(int iParm1,int iParm2) - -{ - undefined4 *puVar1; - int iVar2; - undefined4 uVar3; - int iVar4; - - puVar1 = *(undefined4 **)(iParm1 + 0xc); - iVar2 = **(undefined4 **)(iParm2 + 8); - *(undefined4 **)(iParm1 + 0xc) = puVar1 + 2; - *puVar1 = 0xbc000c06; - uVar3 = osVirtualToPhysical(*(undefined4 *)(iParm2 + 0xc)); - puVar1[1] = uVar3; - while (iVar4 = iVar2, iVar4 != 0) { - loc_7F074678(iParm1,iParm2,iVar4); - iVar2 = *(int *)(iVar4 + 0x14); - if ((*(int *)(iVar4 + 0x14) == 0) && (iVar2 = iVar4, iVar4 != 0)) { - iVar2 = *(int *)(iVar4 + 0xc); - while ((iVar2 == 0 && (iVar4 = *(int *)(iVar4 + 8), iVar2 = iVar4, iVar4 != 0))) { - iVar2 = *(int *)(iVar4 + 0xc); - } - } - } - return; -} - - - -void FUN_7f074818(undefined4 uParm1,undefined8 uParm2) - -{ - FUN_7f06dae0(uParm2); - FUN_7f06f670(uParm1,(int)uParm2); - FUN_7f074758(uParm1,(int)uParm2); - return; -} - - - -undefined8 locret_7F074C60(int iParm1,float *pfParm2,float *pfParm3,float *pfParm4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float local_68; - float local_64; - float local_60; - float local_5c; - float local_24; - float local_1c; - - fVar2 = *pfParm2; - fVar3 = pfParm2[1]; - fVar10 = pfParm2[2]; - fVar11 = -(fVar2 * fVar2 + fVar3 * fVar3 + fVar10 * fVar10); - fVar7 = pfParm4[2]; - fVar8 = *pfParm4; - fVar9 = pfParm4[1]; - local_1c = fVar7 * fVar10 + fVar2 * fVar8 + fVar3 * fVar9; - fVar4 = pfParm3[2] - pfParm2[0xe]; - fVar5 = *pfParm3 - pfParm2[0xc]; - fVar6 = pfParm3[1] - pfParm2[0xd]; - fVar3 = fVar4 * fVar10 + fVar2 * fVar5 + fVar3 * fVar6; - fVar2 = -(fVar3 + fVar11 * *(float *)(iParm1 + 8)); - local_24 = -(fVar3 + fVar11 * *(float *)(iParm1 + 4)); - if (local_1c < 0.00000000) { - local_1c = -local_1c; - local_24 = -local_24; - fVar2 = -fVar2; - } - if ((0.00000000 <= local_24) || (0.00000000 <= fVar2)) { - if (fVar2 < local_24) { - fVar10 = pfParm2[4]; - fVar3 = fVar2; - } - else { - fVar10 = pfParm2[4]; - fVar3 = local_24; - local_24 = fVar2; - } - fVar2 = pfParm2[5]; - fVar11 = pfParm2[6]; - fVar12 = -(fVar10 * fVar10 + fVar2 * fVar2 + fVar11 * fVar11); - local_68 = fVar7 * fVar11 + fVar10 * fVar8 + fVar2 * fVar9; - fVar2 = fVar4 * fVar11 + fVar10 * fVar5 + fVar2 * fVar6; - local_5c = -(fVar2 + fVar12 * *(float *)(iParm1 + 0x10)); - fVar2 = -(fVar2 + fVar12 * *(float *)(iParm1 + 0xc)); - if (local_68 < 0.00000000) { - local_68 = -local_68; - fVar2 = -fVar2; - local_5c = -local_5c; - } - if ((0.00000000 <= fVar2) || (0.00000000 <= local_5c)) { - local_64 = fVar2; - if (fVar2 <= local_5c) { - local_64 = local_5c; - local_5c = fVar2; - } - if (local_5c * local_1c < fVar3 * local_68) { - if (local_64 * local_1c < fVar3 * local_68) { - return 0; - } - local_60 = local_1c; - local_5c = fVar3; - } - else { - local_60 = local_68; - if (local_24 * local_68 < local_5c * local_1c) { - return 0; - } - } - if (local_24 * local_68 < local_64 * local_1c) { - local_64 = local_24; - local_68 = local_1c; - } - fVar2 = pfParm2[8]; - fVar3 = pfParm2[9]; - fVar10 = pfParm2[10]; - fVar11 = -(fVar2 * fVar2 + fVar3 * fVar3 + fVar10 * fVar10); - fVar7 = fVar7 * fVar10 + fVar2 * fVar8 + fVar3 * fVar9; - fVar3 = fVar4 * fVar10 + fVar2 * fVar5 + fVar3 * fVar6; - fVar2 = -(fVar3 + fVar11 * *(float *)(iParm1 + 0x18)); - fVar3 = -(fVar3 + fVar11 * *(float *)(iParm1 + 0x14)); - if (fVar7 < 0.00000000) { - fVar7 = -fVar7; - fVar3 = -fVar3; - fVar2 = -fVar2; - } - if ((0.00000000 <= fVar3) || (0.00000000 <= fVar2)) { - fVar4 = fVar3; - if (fVar3 <= fVar2) { - fVar4 = fVar2; - fVar2 = fVar3; - } - if (local_5c * fVar7 < fVar2 * local_60) { - if (local_64 * fVar7 < fVar2 * local_68) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - else { - if (fVar4 * local_60 < local_5c * fVar7) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -void FUN_7f074cf0(undefined8 uParm1,int iParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined4 uVar1; - undefined8 uVar2; - - uVar1 = *(undefined4 *)(iParm2 + 4); - uVar2 = FUN_7f06cd98(uParm1,iParm2,0); - locret_7F074C60(uVar1,uVar2,uParm3,uParm4); - return; -} - - - -undefined8 loc_7F0752F0(undefined8 uParm1,ushort *puParm2,float *pfParm3,float *pfParm4) - -{ - ushort uVar1; - int iVar2; - float *pfVar4; - int iVar5; - undefined8 uVar3; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fStack92; - float fStack88; - float fStack84; - float fStack32; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - - iVar2 = *(int *)(puParm2 + 2); - pfVar4 = (float *)FUN_7f06cd98(uParm1,puParm2,0); - fVar8 = *(float *)(iVar2 + 4); - fVar6 = *pfParm4; - fStack16 = pfParm4[1]; - fStack12 = pfParm4[2]; - if ((*puParm2 & 0x100) == 0) { - if ((*puParm2 & 0x200) == 0) { - fStack32 = pfVar4[0xc] - *pfParm3; - fStack28 = pfVar4[0xd] - pfParm3[1]; - fStack24 = pfVar4[0xe] - pfParm3[2]; - } - else { - if (*(int *)(iVar2 + 0x14) == 0) { - fStack32 = pfVar4[0xc] - *pfParm3; - fStack28 = pfVar4[0xd] - pfParm3[1]; - fStack24 = pfVar4[0xe] - pfParm3[2]; - } - else { - iVar5 = FUN_7f06cd98((int)uParm1,*(int *)(iVar2 + 0x14),0); - fStack32 = (pfVar4[0xc] + *(float *)(iVar5 + 0x30)) * 0.50000000 - *pfParm3; - fStack28 = (pfVar4[0xd] + *(float *)(iVar5 + 0x34)) * 0.50000000 - pfParm3[1]; - fStack24 = (pfVar4[0xe] + *(float *)(iVar5 + 0x38)) * 0.50000000 - pfParm3[2]; - } - } - } - else { - fVar9 = *(float *)(iVar2 + 8); - fVar7 = *(float *)(iVar2 + 0xc); - fVar10 = *(float *)(iVar2 + 0x10); - fStack32 = (pfVar4[0xc] - *pfParm3) + fVar9 * *pfVar4 + fVar7 * pfVar4[4] + fVar10 * pfVar4[8]; - fStack28 = (pfVar4[0xd] - pfParm3[1]) + - fVar9 * pfVar4[1] + fVar7 * pfVar4[5] + fVar10 * pfVar4[9]; - fStack24 = (pfVar4[0xe] - pfParm3[2]) + - fVar9 * pfVar4[2] + fVar7 * pfVar4[6] + fVar10 * pfVar4[10]; - } - uVar1 = *puParm2; - if ((uVar1 & 0x400) == 0) { - if ((((uVar1 & 0x800) != 0) || ((uVar1 & 0x1000) != 0)) || ((uVar1 & 0x2000) != 0)) { - if ((uVar1 & 0x800) == 0) { - if ((uVar1 & 0x1000) == 0) { - if ((uVar1 & 0x2000) != 0) { - fStack92 = pfVar4[8]; - fStack88 = pfVar4[9]; - fStack84 = pfVar4[10]; - } - } - else { - fStack92 = pfVar4[4]; - fStack88 = pfVar4[5]; - fStack84 = pfVar4[6]; - } - } - else { - fStack92 = *pfVar4; - fStack88 = pfVar4[1]; - fStack84 = pfVar4[2]; - } - fVar7 = (fStack84 * fStack12 + fVar6 * fStack92 + fStack16 * fStack88) * - *(float *)(iVar2 + 0x18); - fVar6 = fStack92 * fVar7 + fVar6; - fStack16 = fStack88 * fVar7 + fStack16; - fStack12 = fStack84 * fVar7 + fStack12; - fVar7 = (fStack84 * fStack24 + fStack32 * fStack92 + fStack28 * fStack88) * - *(float *)(iVar2 + 0x18); - fStack32 = fStack92 * fVar7 + fStack32; - fStack28 = fStack88 * fVar7 + fStack28; - fStack24 = fStack84 * fVar7 + fStack24; - } - } - else { - fVar7 = (pfVar4[2] * fStack12 + fVar6 * *pfVar4 + fStack16 * pfVar4[1]) * - *(float *)(iVar2 + 0x18); - fVar6 = *pfVar4 * fVar7 + fVar6; - fStack16 = pfVar4[1] * fVar7 + fStack16; - fStack12 = pfVar4[2] * fVar7 + fStack12; - fVar7 = (pfVar4[2] * fStack24 + fStack32 * *pfVar4 + fStack28 * pfVar4[1]) * - *(float *)(iVar2 + 0x18); - fStack32 = *pfVar4 * fVar7 + fStack32; - fStack28 = pfVar4[1] * fVar7 + fStack28; - fStack24 = pfVar4[2] * fVar7 + fStack24; - fVar7 = (pfVar4[6] * fStack12 + fVar6 * pfVar4[4] + fStack16 * pfVar4[5]) * - *(float *)(iVar2 + 0x1c); - fVar6 = pfVar4[4] * fVar7 + fVar6; - fStack16 = pfVar4[5] * fVar7 + fStack16; - fStack12 = pfVar4[6] * fVar7 + fStack12; - fVar7 = (pfVar4[6] * fStack24 + fStack32 * pfVar4[4] + fStack28 * pfVar4[5]) * - *(float *)(iVar2 + 0x1c); - fStack32 = pfVar4[4] * fVar7 + fStack32; - fStack28 = pfVar4[5] * fVar7 + fStack28; - fStack24 = pfVar4[6] * fVar7 + fStack24; - } - uVar3 = 0; - fVar7 = fStack24 * fStack12 + fVar6 * fStack32 + fStack16 * fStack28; - if (0.00000000 < fVar7) { - if (((fStack24 * fStack24 + fStack32 * fStack32 + fStack28 * fStack28) - fVar8) * - (fStack12 * fStack12 + fVar6 * fVar6 + fStack16 * fStack16) <= fVar7 * fVar7) { - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - return uVar3; -} - - - -undefined4 loc_7F07547C(int iParm1,undefined8 uParm2,undefined8 uParm3,ushort **ppuParm4) - -{ - bool bVar1; - longlong lVar2; - ushort *puVar3; - ushort *puVar4; - - puVar3 = *ppuParm4; - bVar1 = true; - if (puVar3 == NULL) { - puVar3 = **(ushort ***)(iParm1 + 8); - } - else { - *ppuParm4 = NULL; - } - do { - if (puVar3 == NULL) { - return 0; - } - if ((!bVar1) || (puVar4 = *(ushort **)(puVar3 + 10), puVar4 == NULL)) { - puVar4 = puVar3; - if (puVar3 != NULL) { - puVar4 = *(ushort **)(puVar3 + 6); - while ((puVar4 == NULL && - (puVar3 = *(ushort **)(puVar3 + 4), puVar4 = puVar3, puVar3 != NULL))) { - puVar4 = *(ushort **)(puVar3 + 6); - } - } - if (puVar4 == NULL) { - return 0; - } - } - bVar1 = true; - puVar3 = puVar4; - if (true) { - puVar3 = puVar4; - switch((uint)*puVar4 & 0xff) { - case 8: - FUN_7f06ed5c(iParm1,puVar4); - puVar3 = puVar4; - break; - case 10: - lVar2 = FUN_7f074cf0(iParm1,puVar4,uParm2,uParm3); - if (lVar2 != 0) { - *ppuParm4 = puVar4; - return **(undefined4 **)(puVar4 + 2); - } - bVar1 = false; - puVar3 = puVar4; - break; - case 0x11: - lVar2 = loc_7F0752F0(iParm1,puVar4,uParm2,uParm3); - if (lVar2 != 0) { - *ppuParm4 = puVar4; - return **(undefined4 **)(puVar4 + 2); - } - bVar1 = false; - puVar3 = puVar4; - break; - case 0x12: - FUN_7f06eda8(iParm1,puVar4); - puVar3 = puVar4; - break; - case 0x17: - FUN_7f06edf4(iParm1,puVar4); - puVar3 = puVar4; - } - } - } while( true ); -} - - - -void FUN_7f075524(void) - -{ - undefined4 *in_a3_lo; - - *in_a3_lo = 0; - loc_7F07547C(); - return; -} - - - -uint loc_7F0755A0(int *piParm1,int iParm2) - -{ - int iVar1; - uint uVar2; - uint uVar3; - uint uVar4; - uint uVar5; - int iVar6; - - iVar1 = *piParm1; - uVar4 = 0; - iVar6 = (int)(uint)*(ushort *)((int)piParm1 + 0xe) >> 3; - if (iVar1 < 0) { - uVar4 = iVar1 + iParm2 * iVar6; - } - else { - if (DAT_80031964 != NULL) { - uVar5 = DAT_80031964[2] + 0xfU & 0xfffffff0; - uVar2 = iVar1 + iParm2 * iVar6; - if ((uVar2 & 1) == 0) { - uVar3 = iVar6 + 0xf; - uVar4 = uVar5; - } - else { - uVar2 -= 1; - uVar4 = uVar5 + 1; - uVar3 = iVar6 + 0x10; - } - FUN_7000503c(uVar5,uVar2); - *DAT_80031964 = *DAT_80031964 + 1; - DAT_80031964[2] = uVar5 + (uVar3 & 0xfffffff0); - } - } - return uVar4; -} - - - -void FUN_7f075638(void) - -{ - if (DAT_80031964 != NULL) { - DAT_80031964[2] = DAT_80031964[1]; - *DAT_80031964 = 0; - } - return; -} - - - -void locret_7F075A88(ushort *puParm1,int iParm2,int iParm3) - -{ - ushort uVar1; - int *piVar2; - longlong lVar3; - int iVar4; - longlong lVar5; - int iVar6; - ushort *puVar7; - int iVar8; - int iVar9; - ushort *puVar10; - - if (puParm1 == NULL) { - return; - } - uVar1 = *puParm1; - do { - if (*(int *)(puParm1 + 2) != 0) { - *(int *)(puParm1 + 2) = *(int *)(puParm1 + 2) + (iParm3 - iParm2); - } - if (*(int *)(puParm1 + 4) != 0) { - *(int *)(puParm1 + 4) = *(int *)(puParm1 + 4) + (iParm3 - iParm2); - } - if (*(int *)(puParm1 + 6) != 0) { - *(int *)(puParm1 + 6) = *(int *)(puParm1 + 6) + (iParm3 - iParm2); - } - if (*(int *)(puParm1 + 8) != 0) { - *(int *)(puParm1 + 8) = *(int *)(puParm1 + 8) + (iParm3 - iParm2); - } - if (*(int *)(puParm1 + 10) != 0) { - *(int *)(puParm1 + 10) = *(int *)(puParm1 + 10) + (iParm3 - iParm2); - } - if (false) { -switchD_7f0756f8_caseD_a: - puVar7 = *(ushort **)(puParm1 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - iVar4 = *(int *)(*(int *)(puParm1 + 2) + 4); - if (iVar4 != 0) { - *(int *)(*(int *)(puParm1 + 2) + 4) = iVar4 + (iParm3 - iParm2); - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 2: - iVar4 = *(int *)(*(int *)(puParm1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(puParm1 + 2) + 0x14) = iVar4 + (iParm3 - iParm2); - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 3: - iVar4 = *(int *)(*(int *)(puParm1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(puParm1 + 2) + 0x14) = iVar4 + (iParm3 - iParm2); - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 4: - iVar4 = *(int *)(puParm1 + 2); - if (*(int *)(iVar4 + 0xc) != 0) { - *(int *)(iVar4 + 0xc) = *(int *)(iVar4 + 0xc) + (iParm3 - iParm2); - } - *(int *)(iVar4 + 8) = iParm3; - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 5: - piVar2 = *(int **)(puParm1 + 2); - iVar4 = 0; - if (piVar2[1] != 0) { - piVar2[1] = piVar2[1] + (iParm3 - iParm2); - } - iVar8 = 0; - if (piVar2[2] != 0) { - piVar2[2] = piVar2[2] + (iParm3 - iParm2); - } - if (piVar2[3] != 0) { - piVar2[3] = piVar2[3] + (iParm3 - iParm2); - } - iVar6 = *piVar2; - if (iVar6 < 1) { - piVar2[0x69] = iParm3; - } - else { - do { - iVar4 += 1; - iVar9 = *(int *)(piVar2[1] + iVar8 + 4); - if (iVar9 != 0) { - *(int *)(piVar2[1] + iVar8 + 4) = iVar9 + (iParm3 - iParm2); - iVar6 = *piVar2; - } - iVar8 += 8; - } while (iVar4 < iVar6); - piVar2[0x69] = iParm3; - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 6: - *(int *)(*(int *)(puParm1 + 2) + 0x14) = iParm3; - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 7: - piVar2 = *(int **)(puParm1 + 2); - iVar4 = 0; - if (*piVar2 != 0) { - *piVar2 = *piVar2 + (iParm3 - iParm2); - } - if (piVar2[1] != 0) { - piVar2[1] = piVar2[1] + (iParm3 - iParm2); - } - iVar8 = 0; - if (piVar2[3] != 0) { - piVar2[3] = piVar2[3] + (iParm3 - iParm2); - } - if (piVar2[4] != 0) { - piVar2[4] = piVar2[4] + (iParm3 - iParm2); - } - if (piVar2[5] != 0) { - piVar2[5] = piVar2[5] + (iParm3 - iParm2); - } - iVar6 = piVar2[2]; - if (iVar6 < 1) { - piVar2[0x6b] = iParm3; - } - else { - do { - iVar4 += 1; - iVar9 = *(int *)(piVar2[3] + iVar8 + 4); - if (iVar9 != 0) { - *(int *)(piVar2[3] + iVar8 + 4) = iVar9 + (iParm3 - iParm2); - iVar6 = piVar2[2]; - } - iVar8 += 8; - } while (iVar4 < iVar6); - piVar2[0x6b] = iParm3; - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 8: - puVar7 = *(ushort **)(*(int *)(puParm1 + 2) + 8); - puVar10 = (ushort *)((int)puVar7 + (iParm3 - iParm2)); - if (puVar7 != NULL) { - *(ushort **)(*(int *)(puParm1 + 2) + 8) = puVar10; - puVar7 = puVar10; - } - *(ushort **)(puParm1 + 10) = puVar7; - break; - case 9: - iVar4 = *(int *)(puParm1 + 2); - if (*(int *)(iVar4 + 0x18) != 0) { - *(int *)(iVar4 + 0x18) = *(int *)(iVar4 + 0x18) + (iParm3 - iParm2); - } - if (*(int *)(iVar4 + 0x1c) != 0) { - *(int *)(iVar4 + 0x1c) = *(int *)(iVar4 + 0x1c) + (iParm3 - iParm2); - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - default: - goto switchD_7f0756f8_caseD_a; - case 0xb: - iVar4 = *(int *)(puParm1 + 2); - if (*(int *)(iVar4 + 0x3c) != 0) { - *(int *)(iVar4 + 0x3c) = *(int *)(iVar4 + 0x3c) + (iParm3 - iParm2); - } - *(int *)(iVar4 + 0x48) = iParm3; - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 0xc: - iVar4 = *(int *)(puParm1 + 2); - if (*(int *)(iVar4 + 0x18) != 0) { - *(int *)(iVar4 + 0x18) = *(int *)(iVar4 + 0x18) + (iParm3 - iParm2); - } - *(int *)(iVar4 + 0x24) = iParm3; - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 0xd: - iVar4 = *(int *)(puParm1 + 2); - if (*(int *)(iVar4 + 0x10) != 0) { - *(int *)(iVar4 + 0x10) = *(int *)(iVar4 + 0x10) + (iParm3 - iParm2); - } - if (*(int *)(iVar4 + 0x14) != 0) { - *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x14) + (iParm3 - iParm2); - } - *(int *)(iVar4 + 0x1c) = iParm3; - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 0x11: - iVar4 = *(int *)(*(int *)(puParm1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(puParm1 + 2) + 0x14) = iVar4 + (iParm3 - iParm2); - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 0x12: - iVar4 = **(int **)(puParm1 + 2); - if (iVar4 != 0) { - **(int **)(puParm1 + 2) = iVar4 + (iParm3 - iParm2); - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 0x14: - iVar4 = *(int *)(*(int *)(puParm1 + 2) + 4); - if (iVar4 != 0) { - *(int *)(*(int *)(puParm1 + 2) + 4) = iVar4 + (iParm3 - iParm2); - } - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 0x16: - iVar4 = *(int *)(puParm1 + 2); - if (*(int *)(iVar4 + 4) != 0) { - *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + (iParm3 - iParm2); - } - *(int *)(iVar4 + 0xc) = iParm3; - puVar7 = *(ushort **)(puParm1 + 10); - break; - case 0x18: - iVar4 = *(int *)(puParm1 + 2); - lVar3 = 0; - if (*(int *)(iVar4 + 8) != 0) { - *(int *)(iVar4 + 8) = *(int *)(iVar4 + 8) + (iParm3 - iParm2); - } - iVar8 = 0; - if (*(int *)(iVar4 + 0x10) != 0) { - *(int *)(iVar4 + 0x10) = *(int *)(iVar4 + 0x10) + (iParm3 - iParm2); - } - if (*(int *)(iVar4 + 0x14) != 0) { - *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x14) + (iParm3 - iParm2); - } - lVar5 = (longlong)*(short *)(iVar4 + 0xe); - if (lVar5 < 1) { - *(int *)(iVar4 + 0x1c) = iParm3; - } - else { - do { - lVar3 = (longlong)((int)lVar3 + 1); - iVar9 = *(int *)(iVar4 + 0x10) + iVar8; - iVar6 = *(int *)(iVar9 + 8); - if (iVar6 != 0) { - *(int *)(iVar9 + 8) = iVar6 + (iParm3 - iParm2); - lVar5 = (longlong)*(short *)(iVar4 + 0xe); - } - iVar8 += 0x10; - } while (lVar3 < lVar5); - *(int *)(iVar4 + 0x1c) = iParm3; - } - puVar7 = *(ushort **)(puParm1 + 10); - } - } - if ((puVar7 == NULL) && (puVar7 = puParm1, puParm1 != NULL)) { - puVar7 = *(ushort **)(puParm1 + 6); - while ((puVar7 == NULL && - (puParm1 = *(ushort **)(puParm1 + 4), puVar7 = puParm1, puParm1 != NULL))) { - puVar7 = *(ushort **)(puParm1 + 6); - } - } - if (puVar7 == NULL) { - return; - } - uVar1 = *puVar7; - puParm1 = puVar7; - } while( true ); -} - - - -void loc_7F075AE8(undefined4 *puParm1,undefined8 uParm2,int iParm3) - -{ - int iVar1; - longlong lVar2; - int iVar3; - longlong lVar4; - - lVar4 = (longlong)*(short *)(puParm1 + 3); - lVar2 = 0; - if (0 < lVar4) { - iVar3 = 0; - do { - lVar2 = (longlong)((int)lVar2 + 1); - iVar1 = *(int *)(puParm1[2] + iVar3); - if (iVar1 != 0) { - *(int *)(puParm1[2] + iVar3) = iVar1 + (iParm3 - (int)uParm2); - lVar4 = (longlong)*(short *)(puParm1 + 3); - } - iVar3 += 4; - } while (lVar2 < lVar4); - } - locret_7F075A88(*puParm1,uParm2); - return; -} - - - -uint loc_7F075CDC(ushort *puParm1) - -{ - ushort uVar1; - int iVar2; - ushort **ppuVar3; - ushort *puVar4; - ushort *puVar5; - undefined2 uVar6; - uint uVar7; - - uVar7 = 0; - if (puParm1 == NULL) { - return 0; - } - uVar1 = *puParm1; - puVar5 = puParm1; - do { - if (false) { -switchD_7f075be8_caseD_2: - puVar4 = *(ushort **)(puVar5 + 10); - } - else { - uVar6 = (undefined2)uVar7; - switch((uint)uVar1 & 0xff) { - case 1: - *(undefined2 *)(*(int *)(puVar5 + 2) + 0xc) = uVar6; - uVar7 = uVar7 + 0x18 & 0xffff; - puVar4 = *(ushort **)(puVar5 + 10); - break; - default: - goto switchD_7f075be8_caseD_2; - case 7: - *(undefined2 *)(*(int *)(puVar5 + 2) + 0x1aa) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar4 = *(ushort **)(puVar5 + 10); - break; - case 8: - iVar2 = *(int *)(puVar5 + 2); - *(undefined2 *)(iVar2 + 0xc) = uVar6; - puVar4 = *(ushort **)(iVar2 + 8); - uVar7 = uVar7 + 1 & 0xffff; - *(ushort **)(puVar5 + 10) = puVar4; - break; - case 9: - *(undefined2 *)(*(int *)(puVar5 + 2) + 0x22) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - locret_7F06EB08(puVar5,0); - puVar4 = *(ushort **)(puVar5 + 10); - break; - case 0xb: - *(undefined2 *)(*(int *)(puVar5 + 2) + 0x44) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar4 = *(ushort **)(puVar5 + 10); - break; - case 0xc: - *(undefined2 *)(*(int *)(puVar5 + 2) + 0x20) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar4 = *(ushort **)(puVar5 + 10); - break; - case 0x12: - ppuVar3 = *(ushort ***)(puVar5 + 2); - *(undefined2 *)(ppuVar3 + 1) = uVar6; - puVar4 = *ppuVar3; - uVar7 = uVar7 + 1 & 0xffff; - *(ushort **)(puVar5 + 10) = puVar4; - break; - case 0x17: - puVar4 = NULL; - **(undefined2 **)(puVar5 + 2) = uVar6; - uVar7 = uVar7 + 2 & 0xffff; - *(undefined4 *)(puVar5 + 10) = 0; - break; - case 0x18: - *(undefined2 *)(*(int *)(puVar5 + 2) + 0x1a) = uVar6; - uVar7 = uVar7 + 2 & 0xffff; - puVar4 = *(ushort **)(puVar5 + 10); - } - } - if ((puVar4 == NULL) && (puVar4 = puVar5, puVar5 != NULL)) { - while (puVar5 != *(ushort **)(puParm1 + 4)) { - puVar4 = *(ushort **)(puVar5 + 6); - if ((*(ushort **)(puVar5 + 6) != NULL) || - (puVar5 = *(ushort **)(puVar5 + 4), puVar4 = puVar5, puVar5 == NULL)) goto LAB_7f075d5c; - } - puVar4 = NULL; - } -LAB_7f075d5c: - puVar5 = puVar4; - if (puVar5 == NULL) { - return uVar7; - } - uVar1 = *puVar5; - } while( true ); -} - - - -void FUN_7f075d7c(undefined4 *puParm1) - -{ - undefined2 uVar1; - - uVar1 = loc_7F075CDC(*puParm1); - *(undefined2 *)(puParm1 + 5) = uVar1; - return; -} - - - -void loc_7F075F4C(undefined8 uParm1,ushort *puParm2) - -{ - ushort uVar1; - int iVar2; - ushort **ppuVar3; - undefined *puVar4; - undefined4 *puVar5; - undefined2 *puVar6; - undefined4 *puVar7; - ushort *puVar8; - ushort *puVar9; - - if (puParm2 == NULL) { - return; - } - uVar1 = *puParm2; - puVar9 = puParm2; - do { - if (false) { -switchD_7f075dfc_caseD_2: - puVar8 = *(ushort **)(puVar9 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - puVar4 = (undefined *)loc_7F06C888(uParm1,puVar9); - *puVar4 = 0; - *(undefined4 *)(puVar4 + 4) = 0; - *(undefined4 *)(puVar4 + 8) = 0; - *(undefined4 *)(puVar4 + 0xc) = 0; - *(undefined4 *)(puVar4 + 0x10) = 0; - *(undefined4 *)(puVar4 + 0x14) = 0; - *(undefined4 *)(puVar4 + 0x18) = 0; - *(undefined4 *)(puVar4 + 0x1c) = 0; - puVar4[1] = 0; - *(undefined4 *)(puVar4 + 0x34) = 0; - *(undefined4 *)(puVar4 + 0x38) = 0; - *(undefined4 *)(puVar4 + 0x3c) = 0; - *(undefined4 *)(puVar4 + 0x30) = 0; - *(undefined4 *)(puVar4 + 0x24) = 0; - *(undefined4 *)(puVar4 + 0x28) = 0; - *(undefined4 *)(puVar4 + 0x2c) = 0; - *(undefined4 *)(puVar4 + 0x20) = 0; - puVar4[2] = 0; - *(undefined4 *)(puVar4 + 0x4c) = 0; - *(undefined4 *)(puVar4 + 0x50) = 0; - *(undefined4 *)(puVar4 + 0x54) = 0; - *(undefined4 *)(puVar4 + 0x40) = 0; - *(undefined4 *)(puVar4 + 0x44) = 0; - *(undefined4 *)(puVar4 + 0x48) = 0; - *(undefined4 *)(puVar4 + 0x5c) = 0; - puVar8 = *(ushort **)(puVar9 + 10); - break; - default: - goto switchD_7f075dfc_caseD_2; - case 7: - puVar5 = (undefined4 *)loc_7F06C888(uParm1,puVar9); - *puVar5 = 0; - puVar8 = *(ushort **)(puVar9 + 10); - break; - case 8: - iVar2 = *(int *)(puVar9 + 2); - puVar5 = (undefined4 *)loc_7F06C888(uParm1,puVar9); - *puVar5 = 0; - puVar8 = *(ushort **)(iVar2 + 8); - *(ushort **)(puVar9 + 10) = puVar8; - break; - case 9: - puVar5 = (undefined4 *)loc_7F06C888(uParm1,puVar9); - *puVar5 = 0; - FUN_7f06eefc(uParm1,puVar9); - puVar8 = *(ushort **)(puVar9 + 10); - break; - case 0xb: - puVar6 = (undefined2 *)loc_7F06C888(uParm1,puVar9); - *puVar6 = 0; - puVar8 = *(ushort **)(puVar9 + 10); - break; - case 0xc: - puVar6 = (undefined2 *)loc_7F06C888(uParm1,puVar9); - *puVar6 = 0; - puVar8 = *(ushort **)(puVar9 + 10); - break; - case 0x12: - ppuVar3 = *(ushort ***)(puVar9 + 2); - puVar5 = (undefined4 *)loc_7F06C888(uParm1,puVar9); - *puVar5 = 1; - puVar8 = *ppuVar3; - *(ushort **)(puVar9 + 10) = puVar8; - break; - case 0x17: - puVar5 = (undefined4 *)loc_7F06C888(uParm1,puVar9); - *puVar5 = 0; - puVar5[1] = 0; - puVar8 = *(ushort **)(puVar9 + 10); - break; - case 0x18: - puVar5 = *(undefined4 **)(puVar9 + 2); - puVar7 = (undefined4 *)loc_7F06C888(uParm1,puVar9); - *puVar7 = puVar5[2]; - puVar7[1] = *puVar5; - puVar8 = *(ushort **)(puVar9 + 10); - } - } - if ((puVar8 == NULL) && (puVar8 = puVar9, puVar9 != NULL)) { - while (puVar9 != *(ushort **)(puParm2 + 4)) { - puVar8 = *(ushort **)(puVar9 + 6); - if ((*(ushort **)(puVar9 + 6) != NULL) || - (puVar9 = *(ushort **)(puVar9 + 4), puVar8 = puVar9, puVar9 == NULL)) goto LAB_7f075fc0; - } - puVar8 = NULL; - } -LAB_7f075fc0: - puVar9 = puVar8; - if (puVar9 == NULL) { - return; - } - uVar1 = *puVar9; - } while( true ); -} - - - -void sub_7F075F68(int iParm1,undefined4 *puParm2,undefined4 uParm3) - -{ - *(undefined4 **)(iParm1 + 8) = puParm2; - *(undefined4 *)(iParm1 + 0x10) = uParm3; - *(undefined2 *)(iParm1 + 2) = 0xffff; - *(undefined4 *)(iParm1 + 0x18) = 0; - *(undefined4 *)(iParm1 + 0x1c) = 0; - *(undefined4 *)(iParm1 + 0x14) = 0x3f800000; - loc_7F075F4C(iParm1,*puParm2); - return; -} - - - -void FUN_7f076028(int iParm1) - -{ - sub_7F075F68(); - *(undefined4 *)(iParm1 + 0x20) = 0; - *(undefined4 *)(iParm1 + 0x54) = 0; - *(undefined *)(iParm1 + 0x26) = 0; - *(undefined4 *)(iParm1 + 0x98) = 0; - *(undefined4 *)(iParm1 + 0x9c) = 0; - *(undefined4 *)(iParm1 + 0xa0) = 0; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(undefined4 *)(iParm1 + 0x4c) = 0; - *(undefined4 *)(iParm1 + 0x5c) = 0; - *(undefined4 *)(iParm1 + 0x7c) = 0; - *(undefined4 *)(iParm1 + 0x84) = 0; - *(undefined4 *)(iParm1 + 0x88) = 0; - *(undefined4 *)(iParm1 + 0xb0) = 0; - *(undefined4 *)(iParm1 + 0x40) = 0x3f800000; - *(undefined4 *)(iParm1 + 0x70) = 0x3f800000; - *(undefined4 *)(iParm1 + 0xa4) = 0x3f800000; - *(undefined4 *)(iParm1 + 0xb8) = 0x3f800000; - *(undefined4 *)(iParm1 + 0x3c) = 0xbf800000; - *(undefined4 *)(iParm1 + 0x6c) = 0xbf800000; - return; -} - - - -void FUN_7f0760ac(int iParm1,int iParm2,int iParm3,int *piParm4) - -{ - int **ppiVar1; - short sVar2; - int iVar3; - - ppiVar1 = (int **)loc_7F06C888(iParm1,iParm3); - *ppiVar1 = piParm4; - ppiVar1[1] = (int *)(*(int *)(iParm1 + 0x10) + (int)*(short *)(iParm2 + 0x14) * 4); - iVar3 = *piParm4; - *(int *)(iParm3 + 0x14) = iVar3; - if (iVar3 != 0) { - *(int *)(iVar3 + 8) = iParm3; - while( true ) { - iVar3 = *(int *)(iVar3 + 0xc); - if (iVar3 == 0) break; - *(int *)(iVar3 + 8) = iParm3; - } - iVar3 = *(int *)(iParm3 + 0x14); - } - sVar2 = loc_7F075CDC(iVar3); - *(short *)(iParm2 + 0x14) = *(short *)(iParm2 + 0x14) + sVar2; - return; -} - - - -void loc_7F07621C(ushort **ppuParm1,ushort **ppuParm2,int *piParm3) - -{ - ushort uVar1; - int iVar2; - ushort *puVar3; - ushort *puVar4; - int iVar5; - - puVar4 = *ppuParm2; - iVar5 = 0; - if (puVar4 == NULL) { - puVar4 = *ppuParm1; - } - if (puVar4 == NULL) { - *piParm3 = 0; - } - else { - uVar1 = *puVar4; - while( true ) { - if (true) { - switch((uint)uVar1 & 0xff) { - case 4: - if (puVar4 == *ppuParm2) { - iVar2 = (*(int **)(puVar4 + 2))[1]; - if (iVar2 != *piParm3) { - iVar5 = iVar2; - } - } - else { - iVar5 = **(int **)(puVar4 + 2); - } - break; - case 8: - *(undefined4 *)(puVar4 + 10) = *(undefined4 *)(*(int *)(puVar4 + 2) + 8); - break; - case 9: - locret_7F06EB08(puVar4,1); - break; - case 0x12: - *(undefined4 *)(puVar4 + 10) = **(undefined4 **)(puVar4 + 2); - break; - case 0x16: - if (puVar4 != *ppuParm2) { - iVar5 = *(int *)(*(int *)(puVar4 + 2) + 8); - } - break; - case 0x18: - if (puVar4 == *ppuParm2) { - iVar2 = (*(int **)(puVar4 + 2))[1]; - if (iVar2 != *piParm3) { - iVar5 = iVar2; - } - } - else { - iVar5 = **(int **)(puVar4 + 2); - } - } - } - if (iVar5 != 0) { - *piParm3 = iVar5; - goto LAB_7f076298; - } - puVar3 = *(ushort **)(puVar4 + 10); - if ((*(ushort **)(puVar4 + 10) == NULL) && (puVar3 = puVar4, puVar4 != NULL)) { - puVar3 = *(ushort **)(puVar4 + 6); - while ((puVar3 == NULL && - (puVar4 = *(ushort **)(puVar4 + 4), puVar3 = puVar4, puVar4 != NULL))) { - puVar3 = *(ushort **)(puVar4 + 6); - } - } - puVar4 = puVar3; - if (puVar4 == NULL) break; - uVar1 = *puVar4; - } - *piParm3 = 0; - } -LAB_7f076298: - *ppuParm2 = puVar4; - return; -} - - - -void locret_7F0762D8(undefined8 uParm1,ushort *puParm2,int iParm3,int iParm4) - -{ - int *piVar1; - ushort uVar2; - - uVar2 = *puParm2 & 0xff; - if (uVar2 == 4) { - piVar1 = *(int **)(puParm2 + 2); - if (iParm3 == *piVar1) { - *piVar1 = iParm4; - return; - } - if (iParm3 == piVar1[1]) { - piVar1[1] = iParm4; - return; - } - } - else { - if (uVar2 == 0x16) { - if (iParm3 == *(int *)(*(int *)(puParm2 + 2) + 8)) { - *(int *)(*(int *)(puParm2 + 2) + 8) = iParm4; - } - } - else { - if (uVar2 != 0x18) { - return; - } - piVar1 = *(int **)(puParm2 + 2); - if (iParm3 == *piVar1) { - *piVar1 = iParm4; - return; - } - if (iParm3 == piVar1[1]) { - piVar1[1] = iParm4; - return; - } - } - } - return; -} - - - -void loc_7F076474(int iParm1,undefined8 uParm2,int iParm3,undefined4 uParm4) - -{ - int iVar1; - uint uVar2; - undefined8 uVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - uint uVar8; - uint auStack12 [2]; - int iStack4; - - iVar1 = *(int *)(iParm1 + 8); - uVar3 = FUN_7f0bc60c(uParm2); - iVar4 = FUN_7f0bc4d4(uVar3); - iVar5 = FUN_7f0bc4b8((int)uVar3); - iStack4 = 0; - loc_7F07621C(iParm1,&iStack4,auStack12); - uVar8 = auStack12[0]; - if (auStack12[0] != 0) { - locret_7F0CE7DC(); - FUN_7f0cb370(iParm1,uParm4); - if (iStack4 == 0) { - iVar4 = *(int *)(iParm1 + 8); - } - else { - do { - iVar6 = iStack4; - uVar2 = auStack12[0]; - loc_7F07621C(iParm1,&iStack4,auStack12); - if (auStack12[0] == 0) { - iVar7 = ((iVar1 + iVar5) - *(int *)(iParm1 + 8)) - (uVar2 & 0xffffff); - } - else { - iVar7 = auStack12[0] - uVar2; - } - locret_7F0762D8(iParm1,iVar6,uVar2,uVar8); - iVar6 = loc_7F0CE760(*(int *)(iParm1 + 8) + (uVar2 & 0xffffff) + (iVar4 - iVar5),iVar7, - *(int *)(iParm1 + 8) + (uVar8 & 0xffffff),uParm4); - uVar8 += iVar6; - } while (iStack4 != 0); - iVar4 = *(int *)(iParm1 + 8); - } - FUN_7f0bc4f0((int)uVar3,iVar1,((iVar4 + (uVar8 & 0xffffff)) - iVar1) + 0xf & 0xfffffff0, - (ulonglong)(iParm3 == 0)); - } - return; -} - - - -void loc_7F0764EC(int *piParm1,undefined8 uParm2,longlong lParm3,undefined8 uParm4,undefined4 uParm5 - ) - -{ - int iVar1; - - if (lParm3 == 0) { - iVar1 = FUN_7f0bc14c((int)uParm2,0,0x100,4); - } - else { - iVar1 = FUN_7f0bc188(uParm2,0); - } - piParm1[2] = iVar1; - iVar1 += (int)*(short *)(piParm1 + 3) * 4; - piParm1[6] = iVar1; - *piParm1 = iVar1 + (int)*(short *)((int)piParm1 + 0x16) * 0xc; - loc_7F075AE8(piParm1,0x5000000); - loc_7F076474(piParm1,(int)uParm2,(int)lParm3,uParm5); - return; -} - - - -void FUN_7f0765cc(undefined8 uParm1,undefined8 uParm2) - -{ - loc_7F0764EC(uParm1,uParm2,0,0,0); - return; -} - - - -void FUN_7f0765f4(void) - -{ - loc_7F0764EC(); - return; -} - - - -undefined8 sub_GAME_7F077BB8(longlong lParm1) - -{ - if (lParm1 < 2) { - return 0; - } - if (lParm1 < 3) { - return 1; - } - if (lParm1 < 5) { - return 2; - } - if (lParm1 < 9) { - return 3; - } - if (lParm1 < 0x11) { - return 4; - } - if (lParm1 < 0x21) { - return 5; - } - if (lParm1 < 0x41) { - return 6; - } - if (lParm1 < 0x81) { - return 7; - } - return 8; -} - - - -int loc_7F076664(int iParm1) - -{ - int iVar1; - float fVar2; - - iVar1 = iParm1 + 0xf; - if (iVar1 < 0) { - iVar1 = iParm1 + 0x1e; - } - fVar2 = 32768.00000000 / (float)((iVar1 >> 4) << 4); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + DAT_8004ab60); -} - - - -int loc_7F0766C8(int iParm1) - -{ - int iVar1; - float fVar2; - - iVar1 = iParm1 + 7; - if (iVar1 < 0) { - iVar1 = iParm1 + 0xe; - } - fVar2 = 16384.00000000 / (float)((iVar1 >> 3) << 3); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + DAT_8004ab64); -} - - - -int loc_7F07672C(int iParm1) - -{ - int iVar1; - float fVar2; - - iVar1 = iParm1 + 3; - if (iVar1 < 0) { - iVar1 = iParm1 + 6; - } - fVar2 = 8192.00000000 / (float)((iVar1 >> 2) << 2); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + DAT_8004ab68); -} - - - -int loc_7F076790(int iParm1) - -{ - int iVar1; - float fVar2; - - iVar1 = iParm1 + 3; - if (iVar1 < 0) { - iVar1 = iParm1 + 6; - } - fVar2 = 4096.00000000 / (float)((iVar1 >> 2) << 2); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + DAT_8004ab6c); -} - - - -int locret_7F076840(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - if (iParm3 < 1) { - iParm3 = 1; - } - iVar3 = iParm1 + 0xf; - if (0 < iParm3) { - while( true ) { - if (iVar3 < 0) { - iVar3 += 0xf; - } - iParm3 += -1; - iVar2 = iParm1 >> 1; - iVar1 += (iVar3 >> 4) * 4 * iParm2; - if (iParm1 < 2) { - iVar2 = iParm1; - } - if (1 < iParm2) { - iParm2 = iParm2 >> 1; - } - if (iParm3 < 1) break; - iVar3 = iVar2 + 0xf; - iParm1 = iVar2; - } - } - return iVar1; -} - - - -int locret_7F0768B0(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - if (iParm3 < 1) { - iParm3 = 1; - } - iVar3 = iParm1 + 7; - if (0 < iParm3) { - while( true ) { - if (iVar3 < 0) { - iVar3 += 7; - } - iParm3 += -1; - iVar2 = iParm1 >> 1; - iVar1 += (iVar3 >> 3) * 4 * iParm2; - if (iParm1 < 2) { - iVar2 = iParm1; - } - if (1 < iParm2) { - iParm2 = iParm2 >> 1; - } - if (iParm3 < 1) break; - iVar3 = iVar2 + 7; - iParm1 = iVar2; - } - } - return iVar1; -} - - - -int FUN_7f076938(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - if (iParm3 < 1) { - iParm3 = 1; - } - iVar3 = iParm1 + 3; - if (0 < iParm3) { - while( true ) { - if (iVar3 < 0) { - iVar3 += 3; - } - iParm3 += -1; - iVar2 = iParm1 >> 1; - iVar1 += (iVar3 >> 2) * 4 * iParm2; - if (iParm1 < 2) { - iVar2 = iParm1; - } - if (1 < iParm2) { - iParm2 = iParm2 >> 1; - } - if (iParm3 < 1) break; - iVar3 = iVar2 + 3; - iParm1 = iVar2; - } - } - return iVar1; -} - - - -int FUN_7f0769a8(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - if (iParm3 < 1) { - iParm3 = 1; - } - iVar3 = iParm1 + 3; - if (0 < iParm3) { - while( true ) { - if (iVar3 < 0) { - iVar3 += 3; - } - iParm3 += -1; - iVar2 = iParm1 >> 1; - iVar1 += (iVar3 >> 2) * 4 * iParm2; - if (iParm1 < 2) { - iVar2 = iParm1; - } - if (1 < iParm2) { - iParm2 = iParm2 >> 1; - } - if (iParm3 < 1) break; - iVar3 = iVar2 + 3; - iParm1 = iVar2; - } - } - return iVar1; -} - - - -void locret_7F076D60(undefined4 *puParm1,int iParm2,longlong lParm3,longlong lParm4) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar1 = (undefined4 *)*puParm1; - if (lParm3 != 1) { - *puVar1 = 0xe7000000; - puVar1[1] = 0; - puVar1[3] = 0x100000; - puVar1[2] = 0xba001402; - puVar2 = puVar1 + 4; - if (iParm2 != 1) { - if (iParm2 == 2) { - if (lParm4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc1841c8; - } - else { - if (lParm4 < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc1849d8; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184dd8; - } - } - goto LAB_7f076de0; - } - if (iParm2 == 3) { - if (lParm4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc193048; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc193078; - } - goto LAB_7f076de0; - } - if (iParm2 == 4) { - if (lParm4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184340; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184b50; - } - goto LAB_7f076de0; - } - } - if (lParm4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192048; - } - else { - if (lParm4 < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192078; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192d58; - } - } - goto LAB_7f076de0; - } - *puVar1 = 0xe7000000; - puVar1[1] = 0; - puVar1[2] = 0xba001402; - puVar1[3] = 0; - puVar2 = puVar1 + 4; - if (iParm2 != 1) { - if (iParm2 == 2) { - if (lParm4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x5041c8; - } - else { - if (lParm4 < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x5049d8; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504dd8; - } - } - goto LAB_7f076de0; - } - if (iParm2 == 3) { - if (lParm4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x553048; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x553078; - } - goto LAB_7f076de0; - } - if (iParm2 == 4) { - if (lParm4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504340; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504b50; - } - goto LAB_7f076de0; - } - } - if (lParm4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552048; - } - else { - if (lParm4 < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552078; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552d58; - } - } -LAB_7f076de0: - *(undefined4 **)puParm1 = puVar1 + 6; - return; -} - - - -void loc_7F077B80(uint **ppuParm1,uint *puParm2,undefined8 uParm3,longlong lParm4,uint uParm5) - -{ - byte bVar1; - byte bVar2; - int iVar3; - uint *puVar4; - int iVar5; - uint uVar6; - uint uVar7; - uint uVar8; - uint *puVar9; - uint uVar10; - int iVar11; - ulonglong uVar12; - ulonglong uVar13; - ulonglong uVar14; - int iVar15; - uint uVar16; - ulonglong uVar17; - uint uStack268; - uint uStack180; - uint uStack176; - uint uStack172; - byte bStack166; - uint uStack164; - uint uStack160; - uint uStack60; - uint uStack56; - uint uStack52; - uint uStack48; - uint uStack44; - uint *puStack4; - - puStack4 = *ppuParm1; - uVar6 = (uint)lParm4; - if (puParm2 == NULL) { - locret_7F076D60(&puStack4,uParm3,1); - puVar9 = puStack4; - if (lParm4 < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar6 & 0xff) << 0x10 | 0xbb000001; - } - puStack4 = puStack4 + 2; - *puStack4 = 0xfcffffff; - puVar9[3] = 0xfffe793c; - puStack4 = puVar9 + 4; - goto LAB_7f077c00; - } - uVar10 = *puParm2; - bVar1 = *(byte *)(puParm2 + 1); - uVar14 = (ulonglong)bVar1; - bVar2 = *(byte *)((int)puParm2 + 5); - uVar13 = (ulonglong)bVar2; - if (uVar10 < 0xbb9) { - FUN_7f0cb138(puParm2,0); - uVar10 = *puParm2; - } - iVar3 = FUN_7f0cb02c((ulonglong)*(ushort *)((uVar10 | 0x80000000) - 8),0); - if (*(byte *)((int)puParm2 + 6) == 0) { - if (iVar3 == 0) { - uVar17 = (ulonglong)*(byte *)((int)puParm2 + 7); - uVar12 = (ulonglong)*(byte *)(puParm2 + 2); - } - else { - uVar17 = SEXT48((int)((uint)(*(int *)(iVar3 + 8) << 0x1b) >> 0x1d)); - uStack44 = (*(uint *)(iVar3 + 0xc) >> 0x1e) << 0xe; - uVar12 = (longlong)*(int *)(iVar3 + 8) & 3; - } - uVar10 = (uint)bVar1; - if (uVar12 == 0) { - uStack48 = 2; - iVar5 = locret_7F076840(uVar14,uVar13,1); - uStack52 = iVar5 - 1; - uStack56 = loc_7F076664(uVar14); - uStack60 = (int)(uVar10 + 0xf) >> 4; - } - else { - if (uVar12 == 1) { - uStack48 = 2; - iVar5 = locret_7F0768B0(uVar14,uVar13,1); - uStack52 = iVar5 - 1; - uStack56 = loc_7F0766C8(uVar14); - uStack60 = (int)(uVar10 + 7) >> 3; - } - else { - if (uVar12 == 2) { - uStack48 = 2; - iVar5 = FUN_7f076938(uVar14,uVar13,1); - uStack52 = iVar5 - 1; - uStack56 = loc_7F07672C(uVar14); - uStack60 = (int)(uVar10 + 3) >> 2; - } - else { - if (uVar12 == 3) { - uStack48 = 3; - iVar5 = FUN_7f0769a8(uVar14,uVar13,1); - uStack52 = iVar5 - 1; - uStack56 = loc_7F076790(uVar14); - uStack60 = (int)(uVar10 + 3) >> 2; - } - } - } - } - locret_7F076D60(&puStack4,(int)uParm3,1,lParm4); - puVar9 = puStack4; - if (lParm4 < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar6 & 0xff) << 0x10 | 0xbb000001; - } - puStack4 = puStack4 + 2; - puVar4 = puVar9 + 4; - puVar9[3] = 0; - *puStack4 = 0xba001001; - if (uVar17 == 0) { - *puVar4 = 0xfc121824; - puVar9[5] = 0xff33ffff; -LAB_7f0771d0: - puStack4 = puVar9 + 6; - puVar4 = puStack4; - } - else { - if (uVar17 == 2) { - if (uStack44 == 0x8000) { - puVar9[5] = 0xff33ffff; - *puVar4 = 0xfc121824; - } - else { - if (uStack44 != 0xc000) goto LAB_7f0771d4; - *puVar4 = 0xfc121824; - puVar9[5] = 0xff33ffff; - } - goto LAB_7f0771d0; - } - if (uVar17 == 3) { - puVar9[5] = 0xff33ffff; - *puVar4 = 0xfc121824; - goto LAB_7f0771d0; - } - if (uVar17 == 4) { - puVar9[5] = 0xfffff9fc; - *puVar4 = 0xfc127e24; - goto LAB_7f0771d0; - } - } -LAB_7f0771d4: - uVar8 = ((uint)uVar17 & 7) << 0x15; - uVar6 = (uStack48 & 3) << 0x13; - *puVar4 = uVar8 | 0xfd000000 | uVar6; - uVar8 |= 0xf5000000; - puVar4[1] = *puParm2; - puVar4[2] = uVar8 | uVar6; - puVar4[3] = ((uint)*(byte *)((int)puParm2 + 10) & 3) << 0x12 | 0x7000000 | - ((uint)*(byte *)((int)puParm2 + 9) & 3) << 8; - puVar4[5] = 0; - puVar4[4] = 0xe6000000; - puVar4[6] = 0xf3000000; - uVar6 = 0x7ff; - if ((int)uStack52 < 0x7ff) { - uVar6 = uStack52; - } - puVar4[7] = (uVar6 & 0xfff) << 0xc | 0x7000000 | uStack56 & 0xfff; - puVar4[9] = 0; - puVar4[8] = 0xe7000000; - if (uVar17 == 2) { - uVar6 = 0x3ff - (uint)*(byte *)(iVar3 + 10); - if (uStack52 + 1 <= uVar6) { - uVar6 = 0; - } - puVar4[10] = 0xf5000100; - puVar4[0xb] = 0x7000000; - uVar7 = (uStack52 + 1) - uVar6; - puVar4[0xd] = 0; - puVar4[0xc] = 0xe6000000; - uVar6 = (uVar6 & 0x3ff) << 2; - puVar4[0xe] = (uVar7 & 0x3ff) << 0xe | 0xf0000000 | uVar6; - puVar4[0xf] = ((uint)*(byte *)(iVar3 + 10) + uVar7 & 0x3ff) << 0xe | 0x7000000 | uVar6; - puVar4[0x11] = 0; - puVar4[0x10] = 0xe7000000; - puStack4 = puVar4 + 0x14; - puVar4[0x12] = 0xba000e02; - puVar4[0x13] = uStack44; - } - else { - puStack4 = puVar4 + 0xc; - puVar4[0xb] = 0; - puVar4[10] = 0xba000e02; - } - puVar9 = puStack4; - *puStack4 = uVar8 | ((uint)uVar12 & 3) << 0x13 | (uStack60 & 0x1ff) << 9; - puStack4 = puStack4 + 2; - uVar6 = sub_GAME_7F077BB8(uVar13); - uVar8 = sub_GAME_7F077BB8(uVar14); - puVar9[1] = (uVar8 & 0xf) << 4 | ((uint)*(byte *)((int)puParm2 + 10) & 3) << 0x12 | - (uVar6 & 0xf) << 0xe | ((uint)*(byte *)((int)puParm2 + 9) & 3) << 8; - *puStack4 = (uParm5 & 0xfff) << 0xc | 0xf2000000 | uParm5 & 0xfff; - puStack4[1] = ((uVar10 - 1) * 4 + uParm5 & 0xfff) << 0xc | - ((uint)bVar2 - 1) * 4 + uParm5 & 0xfff; - puStack4 = puStack4 + 2; - goto LAB_7f077c00; - } - uStack160 = 0; - uStack164 = (uint)*(byte *)((int)puParm2 + 6); - if (iVar3 == 0) { - bStack166 = *(byte *)(puParm2 + 2); - uVar17 = (ulonglong)*(byte *)((int)puParm2 + 7); -LAB_7f07750c: - if (bStack166 == 0) { - uStack176 = 2; - iVar5 = locret_7F076840(uVar14,uVar13,uStack164); - uStack180 = iVar5 - 1; - } - else { - if (bStack166 == 1) { - uStack176 = 2; - iVar5 = locret_7F0768B0(uVar14,uVar13,uStack164); - uStack180 = iVar5 - 1; - } - else { - if (bStack166 == 2) { - uStack176 = 2; - iVar5 = FUN_7f076938(uVar14,uVar13,uStack164); - uStack180 = iVar5 - 1; - } - else { - if (bStack166 == 3) { - uStack176 = 3; - iVar5 = FUN_7f0769a8(uVar14,uVar13,uStack164); - uStack180 = iVar5 - 1; - } - } - } - } - } - else { - bStack166 = (byte)*(int *)(iVar3 + 8) & 3; - uVar17 = SEXT48((int)((uint)(*(int *)(iVar3 + 8) << 0x1b) >> 0x1d)); - uStack172 = (*(uint *)(iVar3 + 0xc) >> 0x1e) << 0xe; - if (-1 < *(int *)(iVar3 + 0xc) << 2) goto LAB_7f07750c; - loc_7F0CCA80(iVar3,&uStack176,&uStack180); - } - locret_7F076D60(&puStack4,(int)uParm3,2,lParm4); - puVar9 = puStack4; - bVar1 = bStack166; - if (lParm4 < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = (uStack164 - 1 & 7) << 0xb | 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar6 & 0xff) << 0x10 | 0xbb000000 | (uStack164 - 1 & 7) << 0xb | 1; - } - puStack4 = puStack4 + 2; - puVar4 = puVar9 + 4; - puVar9[3] = 0x10000; - *puStack4 = 0xba001001; - if (uVar17 == 0) { - *puVar4 = 0xfc26a004; - puVar9[5] = 0x1f1093ff; -LAB_7f07776c: - puStack4 = puVar9 + 6; - puVar4 = puStack4; - } - else { - if (uVar17 == 2) { - if (uStack172 == 0x8000) { - puVar9[5] = 0xff33ffff; - *puVar4 = 0xfc121824; - } - else { - if (uStack172 != 0xc000) goto LAB_7f077770; - *puVar4 = 0xfc121824; - puVar9[5] = 0xff33ffff; - } - goto LAB_7f07776c; - } - if (uVar17 == 3) { - puVar9[5] = 0x1f1093ff; - *puVar4 = 0xfc26a004; - goto LAB_7f07776c; - } - if (uVar17 == 4) { - puVar9[5] = 0x1ffc93fc; - *puVar4 = 0xfc26a004; - goto LAB_7f07776c; - } - } -LAB_7f077770: - uVar10 = ((uint)uVar17 & 7) << 0x15; - *puVar4 = uVar10 | 0xfd000000 | (uStack176 & 3) << 0x13; - uVar10 |= 0xf5000000; - puVar4[1] = *puParm2; - puVar4[2] = uVar10 | (uStack176 & 3) << 0x13; - puVar4[3] = 0x7000000; - puVar4[5] = 0; - puVar4[4] = 0xe6000000; - puVar4[6] = 0xf3000000; - uVar6 = 0x7ff; - if ((int)uStack180 < 0x7ff) { - uVar6 = uStack180; - } - puVar4[7] = (uVar6 & 0xfff) << 0xc | 0x7000000; - puVar4[9] = 0; - puVar4[8] = 0xe7000000; - if (uVar17 == 2) { - uVar6 = 0x3ff - (uint)*(byte *)(iVar3 + 10); - if (uStack180 + 1 <= uVar6) { - uVar6 = 0; - } - puVar4[10] = 0xf5000100; - puVar4[0xb] = 0x7000000; - uVar8 = (uStack180 + 1) - uVar6; - puVar4[0xd] = 0; - puVar4[0xc] = 0xe6000000; - uVar6 = (uVar6 & 0x3ff) << 2; - puVar4[0xe] = (uVar8 & 0x3ff) << 0xe | 0xf0000000 | uVar6; - puVar4[0xf] = ((uint)*(byte *)(iVar3 + 10) + uVar8 & 0x3ff) << 0xe | 0x7000000 | uVar6; - puVar4[0x11] = 0; - puVar4[0x10] = 0xe7000000; - puStack4 = puVar4 + 0x14; - puVar4[0x13] = uStack172; - puVar4[0x12] = 0xba000e02; - } - else { - puStack4 = puVar4 + 0xc; - puVar4[0xb] = 0; - puVar4[10] = 0xba000e02; - } - uVar6 = 0; - if (0 < (int)uStack164) { - uVar10 |= ((uint)bStack166 & 3) << 0x13; - do { - if (0 < (int)uVar6) { - if ((iVar3 == 0) || (-1 < *(int *)(iVar3 + 0xc) << 2)) { - if (1 < (longlong)uVar14) { - uVar14 = (longlong)((int)uVar14 >> 1); - } - if (1 < (longlong)uVar13) { - uVar13 = (longlong)((int)uVar13 >> 1); - } - } - else { - uVar14 = FUN_7f0cbc34(iVar3,uVar6); - uVar13 = FUN_7f0cbd1c(iVar3,uVar6); - } - } - puVar9 = puStack4; - iVar15 = (int)uVar14; - iVar5 = (int)uVar13; - if (bVar1 == 0) { - iVar11 = iVar15 + 0xf; - if (iVar11 < 0) { - iVar11 = iVar15 + 0x1e; - } - uStack268 = iVar11 >> 4; - iVar11 = uStack268 * iVar5; - uVar8 = uVar10 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 1) { - iVar11 = iVar15 + 7; - if (iVar11 < 0) { - iVar11 = iVar15 + 0xe; - } - uStack268 = iVar11 >> 3; - iVar11 = uStack268 * iVar5; - uVar8 = uVar10 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 2) { - iVar11 = iVar15 + 3; - if (iVar11 < 0) { - iVar11 = iVar15 + 6; - } - uStack268 = iVar11 >> 2; - iVar11 = uStack268 * iVar5; - uVar8 = uVar10 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 3) { - iVar11 = iVar15 + 3; - if (iVar11 < 0) { - iVar11 = iVar15 + 6; - } - uStack268 = iVar11 >> 2; - iVar11 = uStack268 * iVar5; - uVar8 = uVar10 | (uStack268 & 0x1ff) << 9; - } - else { - iVar11 = uStack268 * iVar5; - uVar8 = uVar10 | (uStack268 & 0x1ff) << 9; - } - } - } - } - *puStack4 = uVar8 | uStack160 & 0x1ff; - puStack4 = puStack4 + 2; - uVar8 = sub_GAME_7F077BB8(uVar13); - uVar7 = sub_GAME_7F077BB8(uVar14); - uVar16 = (uVar6 & 7) << 0x18; - puVar9[1] = (uVar7 & 0xf) << 4 | uVar16 | ((uint)*(byte *)((int)puParm2 + 10) & 3) << 0x12 | - (uVar8 & 0xf) << 0xe | (uVar6 & 0xf) << 10 | - ((uint)*(byte *)((int)puParm2 + 9) & 3) << 8 | uVar6 & 0xf; - uVar6 += 1; - puVar9 = puStack4 + 2; - *puStack4 = (uParm5 & 0xfff) << 0xc | 0xf2000000 | uParm5 & 0xfff; - puStack4[1] = uVar16 | ((iVar15 + -1) * 4 + uParm5 & 0xfff) << 0xc | - (iVar5 + -1) * 4 + uParm5 & 0xfff; - uStack160 += iVar11; - puStack4 = puVar9; - } while (uVar6 != uStack164); - } -LAB_7f077c00: - *ppuParm1 = puStack4; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f077cb0(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3,undefined8 uParm4, - undefined4 uParm5) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x1098) = uParm1; - *(undefined4 *)(_DAT_80068bc0 + 0x109c) = uParm2; - *(undefined4 *)(_DAT_80068bc0 + 0x10a0) = uParm5; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f077cdc(void) - -{ - float fVar1; - uint uVar2; - float fVar3; - - fVar1 = DAT_8004ab70; - fVar3 = (float)func_7F057FC4((*(float *)(_DAT_80068bc0 + 0x109c) * DAT_8004ab70) / 360.00000000); - fVar1 = (float)func_7F057FC4((*(float *)(_DAT_80068bc0 + 0x109c) * fVar1) / 360.00000000); - *(float *)(_DAT_80068bc0 + 0x10b0) = fVar3 / (fVar1 * *(float *)(_DAT_80068bc0 + 0x10a8)); - *(float *)(_DAT_80068bc0 + 0x10ac) = - (*(float *)(_DAT_80068bc0 + 0x10b0) * *(float *)(_DAT_80068bc0 + 0x10a0) * - *(float *)(_DAT_80068bc0 + 0x10a8)) / *(float *)(_DAT_80068bc0 + 0x10a4); - *(float *)(_DAT_80068bc0 + 0x10b4) = 1.00000000 / *(float *)(_DAT_80068bc0 + 0x10ac); - *(float *)(_DAT_80068bc0 + 0x10b8) = 1.00000000 / *(float *)(_DAT_80068bc0 + 0x10b0); - *(undefined4 *)(_DAT_80068bc0 + 0x10ec) = *(undefined4 *)(_DAT_80068bc0 + 0x10b0); - fVar1 = (float)func_7F057FC4(DAT_8004ab74); - fVar3 = (float)func_7F057FC4(DAT_8004ab78); - *(float *)(_DAT_80068bc0 + 0x10e8) = fVar1 / (fVar3 * 120.00000000); - *(float *)(_DAT_80068bc0 + 0x10f0) = - *(float *)(_DAT_80068bc0 + 0x10ec) / *(float *)(_DAT_80068bc0 + 0x10e8); - fVar1 = *(float *)(_DAT_80068bc0 + 0x10f0) * 65536.00000000; - if (4294967296.00000000 < fVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x10f4) = 0xffffffff; - goto LAB_7f077eb4; - } - if (false) { - fVar3 = ROUND(fVar1); - } - else { - fVar3 = FLOOR(fVar1); - } - uVar2 = (uint)fVar3; - if (false) { - if (false) { - fVar1 = ROUND(fVar1 - 2147483648.00000000); - } - else { - fVar1 = FLOOR(fVar1 - 2147483648.00000000); - } - if (false) goto LAB_7f077e90; - uVar2 = (int)fVar1 | 0x80000000; - } - else { - if ((int)uVar2 < 0) { -LAB_7f077e90: - uVar2 = 0xffffffff; - } - } - *(uint *)(_DAT_80068bc0 + 0x10f4) = uVar2; -LAB_7f077eb4: - fVar3 = *(float *)(_DAT_80068bc0 + 0x10a8) * *(float *)(_DAT_80068bc0 + 0x10b0); - fVar1 = (float)sqrtf(fVar3 * fVar3 + 1.00000000); - *(undefined4 *)(_DAT_80068bc0 + 0x10f8) = 0; - *(float *)(_DAT_80068bc0 + 0x10fc) = 1.00000000 / fVar1; - *(float *)(_DAT_80068bc0 + 0x1100) = fVar3 * (1.00000000 / fVar1); - fVar3 = -*(float *)(_DAT_80068bc0 + 0x10a4) * *(float *)(_DAT_80068bc0 + 0x10ac); - fVar1 = (float)sqrtf(fVar3 * fVar3 + 1.00000000); - *(float *)(_DAT_80068bc0 + 0x1104) = -(1.00000000 / fVar1); - *(undefined4 *)(_DAT_80068bc0 + 0x1108) = 0; - *(float *)(_DAT_80068bc0 + 0x110c) = -fVar3 * (1.00000000 / fVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f077f6c(float *pfParm1,float *pfParm2,float fParm3) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar2 = (*(float *)(_DAT_80068bc0 + 0x10a8) - (pfParm1[1] - *(float *)(_DAT_80068bc0 + 0x1094))) * - *(float *)(_DAT_80068bc0 + 0x10b0); - fVar3 = ((*pfParm1 - *(float *)(_DAT_80068bc0 + 0x1090)) - *(float *)(_DAT_80068bc0 + 0x10a4)) * - *(float *)(_DAT_80068bc0 + 0x10ac); - fVar1 = (float)sqrtf(fVar3 * fVar3 + fVar2 * fVar2 + 1.00000000); - fParm3 = fParm3 / fVar1; - *pfParm2 = fVar3 * fParm3; - pfParm2[1] = fVar2 * fParm3; - pfParm2[2] = fParm3 * -1.00000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078074(float *pfParm1,float *pfParm2) - -{ - float fVar1; - - fVar1 = pfParm1[2]; - pfParm2[1] = pfParm1[1] * (1.00000000 / fVar1) * *(float *)(_DAT_80068bc0 + 0x10b8) + - *(float *)(_DAT_80068bc0 + 0x1094) + *(float *)(_DAT_80068bc0 + 0x10a8); - *pfParm2 = (*(float *)(_DAT_80068bc0 + 0x1090) + *(float *)(_DAT_80068bc0 + 0x10a4)) - - *pfParm1 * (1.00000000 / fVar1) * *(float *)(_DAT_80068bc0 + 0x10b4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F078094(float *pfParm1,float *pfParm2) - -{ - float fVar1; - - fVar1 = DAT_8004ab7c; - if (pfParm1[2] != 0.00000000) { - fVar1 = 1.00000000 / pfParm1[2]; - } - pfParm2[1] = pfParm1[1] * fVar1 * *(float *)(_DAT_80068bc0 + 0x10b8) + - *(float *)(_DAT_80068bc0 + 0x1094) + *(float *)(_DAT_80068bc0 + 0x10a8); - *pfParm2 = (*(float *)(_DAT_80068bc0 + 0x1090) + *(float *)(_DAT_80068bc0 + 0x10a4)) - - *pfParm1 * fVar1 * *(float *)(_DAT_80068bc0 + 0x10b4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078170(float *pfParm1,float fParm2,float *pfParm3) - -{ - pfParm3[1] = pfParm1[1] * (1.00000000 / fParm2) * *(float *)(_DAT_80068bc0 + 0x10b8); - *pfParm3 = *pfParm1 * (1.00000000 / fParm2) * *(float *)(_DAT_80068bc0 + 0x10b4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0783a4(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x10bc) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0783c4(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x10c0) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0783d4(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10c0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0783e4(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x10d0) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0783f4(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10d0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078404(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x10d8) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078414(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10d8); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078424(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x10e0) = *(undefined4 *)(_DAT_80068bc0 + 0x10c4); - *(undefined4 *)(_DAT_80068bc0 + 0x10c4) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078444(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10c4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078454(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x10d4) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078464(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10d4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0784a4(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x10e4) = *(undefined4 *)(_DAT_80068bc0 + 0x10cc); - *(undefined4 *)(_DAT_80068bc0 + 0x10cc) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0784c4(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10cc); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0784d4(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10e4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0784e4(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x10dc) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0784f4(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10dc); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078504(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10f0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078524(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x1088); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078534(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x108c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078544(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x1090); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078554(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x1094); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078574(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x10a0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07865c(void) - -{ - int iVar1; - int iVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar4 = *(float *)(_DAT_80068bc0 + 0x10a8) * *(float *)(_DAT_80068bc0 + 0x10b0); - fVar5 = (float)sqrtf(fVar4 * fVar4 + 1.00000000); - fVar4 = fVar4 * (1.00000000 / fVar5); - fVar5 = -(1.00000000 / fVar5); - fVar6 = -fVar5; - _DAT_80068420 = - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x20) * fVar4 + - fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x10); - _DAT_80068424 = - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x24) * fVar4 + - fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x14); - _DAT_80068428 = - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x28) * fVar4 + - fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x18); - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - _DAT_8006842c = - *(float *)(iVar1 + 0x38) * _DAT_80068428 + - _DAT_80068420 * *(float *)(iVar1 + 0x30) + _DAT_80068424 * *(float *)(iVar1 + 0x34); - _DAT_80068430 = - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x20) * fVar4 + - fVar5 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x10); - _DAT_80068434 = - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x24) * fVar4 + - fVar5 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x14); - _DAT_80068438 = - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x28) * fVar4 + - fVar5 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x18); - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - _DAT_8006843c = - *(float *)(iVar1 + 0x38) * _DAT_80068438 + - _DAT_80068430 * *(float *)(iVar1 + 0x30) + _DAT_80068434 * *(float *)(iVar1 + 0x34); - fVar4 = -*(float *)(_DAT_80068bc0 + 0x10a4) * *(float *)(_DAT_80068bc0 + 0x10ac); - fVar5 = (float)sqrtf(fVar4 * fVar4 + 1.00000000); - fVar4 = fVar4 * (1.00000000 / fVar5); - fVar5 = -(1.00000000 / fVar5); - fVar6 = -fVar5; - _DAT_80068440 = - fVar5 * **(float **)(_DAT_80068bc0 + 0x10cc) - - (*(float **)(_DAT_80068bc0 + 0x10cc))[8] * fVar4; - _DAT_80068444 = - fVar5 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 4) - - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x24) * fVar4; - _DAT_80068448 = - fVar5 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 8) - - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x28) * fVar4; - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - _DAT_80068450 = - fVar6 * **(float **)(_DAT_80068bc0 + 0x10cc) - - (*(float **)(_DAT_80068bc0 + 0x10cc))[8] * fVar4; - _DAT_80068454 = - fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 4) - - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x24) * fVar4; - _DAT_80068458 = - fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 8) - - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x28) * fVar4; - iVar2 = *(int *)(_DAT_80068bc0 + 0x10cc); - iVar3 = *(int *)(_DAT_80068bc0 + 0x10cc); - _DAT_8006844c = - *(float *)(iVar1 + 0x38) * _DAT_80068448 + - _DAT_80068440 * *(float *)(iVar1 + 0x30) + _DAT_80068444 * *(float *)(iVar1 + 0x34); - _DAT_8006845c = - *(float *)(iVar2 + 0x38) * _DAT_80068458 + - _DAT_80068450 * *(float *)(iVar2 + 0x30) + _DAT_80068454 * *(float *)(iVar2 + 0x34); - _DAT_80068460 = - *(float *)(iVar3 + 0x38) * *(float *)(iVar3 + 0x28) + - *(float *)(iVar3 + 0x20) * *(float *)(iVar3 + 0x30) + - *(float *)(iVar3 + 0x24) * *(float *)(iVar3 + 0x34); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f078ad8(float *pfParm1,float fParm2) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar3 = *pfParm1; - fVar4 = pfParm1[1]; - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - fVar2 = pfParm1[2]; - if (_DAT_80068460 + fParm2 < - fVar2 * *(float *)(iVar1 + 0x28) + - *(float *)(iVar1 + 0x20) * fVar3 + *(float *)(iVar1 + 0x24) * fVar4) { - return 0; - } - if (_DAT_8006844c + fParm2 < fVar2 * _DAT_80068448 + _DAT_80068440 * fVar3 + _DAT_80068444 * fVar4 - ) { - return 0; - } - if (_DAT_8006845c + fParm2 < fVar2 * _DAT_80068458 + _DAT_80068450 * fVar3 + _DAT_80068454 * fVar4 - ) { - return 0; - } - if (fVar2 * _DAT_80068428 + _DAT_80068420 * fVar3 + _DAT_80068424 * fVar4 <= - _DAT_8006842c + fParm2) { - if (fVar2 * _DAT_80068438 + _DAT_80068430 * fVar3 + _DAT_80068434 * fVar4 <= - _DAT_8006843c + fParm2) { - return 1; - } - return 0; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f078c74(float *pfParm1,float fParm2,float *pfParm3) - -{ - int iVar1; - undefined8 uVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - if (_DAT_80068460 + fParm2 < - pfParm1[2] * *(float *)(iVar1 + 0x28) + - *(float *)(iVar1 + 0x20) * *pfParm1 + *(float *)(iVar1 + 0x24) * pfParm1[1]) { - uVar2 = 0; - } - else { - fVar3 = ((*pfParm3 - *(float *)(_DAT_80068bc0 + 0x1090)) - *(float *)(_DAT_80068bc0 + 0x10a4)) * - *(float *)(_DAT_80068bc0 + 0x10ac); - fVar4 = (float)sqrtf(fVar3 * fVar3 + 1.00000000); - fVar3 = fVar3 * (1.00000000 / fVar4); - fVar6 = -(1.00000000 / fVar4); - fVar5 = fVar6 * **(float **)(_DAT_80068bc0 + 0x10cc) - - (*(float **)(_DAT_80068bc0 + 0x10cc))[8] * fVar3; - fVar4 = fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 4) - - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x24) * fVar3; - fVar3 = fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 8) - - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x28) * fVar3; - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - if (*(float *)(iVar1 + 0x38) * fVar3 + - fVar5 * *(float *)(iVar1 + 0x30) + fVar4 * *(float *)(iVar1 + 0x34) + fParm2 < - pfParm1[2] * fVar3 + fVar5 * *pfParm1 + fVar4 * pfParm1[1]) { - uVar2 = 0; - } - else { - fVar3 = -((pfParm3[2] - *(float *)(_DAT_80068bc0 + 0x1090)) - - *(float *)(_DAT_80068bc0 + 0x10a4)) * *(float *)(_DAT_80068bc0 + 0x10ac); - fVar4 = (float)sqrtf(fVar3 * fVar3 + 1.00000000); - fVar3 = fVar3 * (1.00000000 / fVar4); - fVar4 = --(1.00000000 / fVar4); - fVar5 = fVar4 * **(float **)(_DAT_80068bc0 + 0x10cc) - - (*(float **)(_DAT_80068bc0 + 0x10cc))[8] * fVar3; - fVar6 = fVar4 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 4) - - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x24) * fVar3; - fVar4 = fVar4 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 8) - - *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x28) * fVar3; - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - if (*(float *)(iVar1 + 0x38) * fVar4 + - fVar5 * *(float *)(iVar1 + 0x30) + fVar6 * *(float *)(iVar1 + 0x34) + fParm2 < - pfParm1[2] * fVar4 + fVar5 * *pfParm1 + fVar6 * pfParm1[1]) { - uVar2 = 0; - } - else { - fVar3 = (*(float *)(_DAT_80068bc0 + 0x10a8) - - (pfParm3[1] - *(float *)(_DAT_80068bc0 + 0x1094))) * - *(float *)(_DAT_80068bc0 + 0x10b0); - fVar4 = (float)sqrtf(fVar3 * fVar3 + 1.00000000); - fVar3 = fVar3 * (1.00000000 / fVar4); - fVar4 = --(1.00000000 / fVar4); - fVar5 = *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x20) * fVar3 + - fVar4 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x10); - fVar6 = *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x24) * fVar3 + - fVar4 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x14); - fVar4 = *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x28) * fVar3 + - fVar4 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x18); - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - if (*(float *)(iVar1 + 0x38) * fVar4 + - fVar5 * *(float *)(iVar1 + 0x30) + fVar6 * *(float *)(iVar1 + 0x34) + fParm2 < - pfParm1[2] * fVar4 + fVar5 * *pfParm1 + fVar6 * pfParm1[1]) { - uVar2 = 0; - } - else { - fVar3 = -(*(float *)(_DAT_80068bc0 + 0x10a8) - - (pfParm3[3] - *(float *)(_DAT_80068bc0 + 0x1094))) * - *(float *)(_DAT_80068bc0 + 0x10b0); - fVar4 = (float)sqrtf(fVar3 * fVar3 + 1.00000000); - fVar3 = fVar3 * (1.00000000 / fVar4); - fVar6 = -(1.00000000 / fVar4); - fVar4 = *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x20) * fVar3 + - fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x10); - fVar5 = *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x24) * fVar3 + - fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x14); - fVar3 = *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x28) * fVar3 + - fVar6 * *(float *)(*(int *)(_DAT_80068bc0 + 0x10cc) + 0x18); - iVar1 = *(int *)(_DAT_80068bc0 + 0x10cc); - uVar2 = 1; - if (*(float *)(iVar1 + 0x38) * fVar3 + - fVar4 * *(float *)(iVar1 + 0x30) + fVar5 * *(float *)(iVar1 + 0x34) + fParm2 < - pfParm1[2] * fVar3 + fVar4 * *pfParm1 + fVar5 * pfParm1[1]) { - uVar2 = 0; - } - } - } - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint loc_7F0793B8(void) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iVar4; - uint uVar5; - int iVar6; - int iVar7; - float fVar8; - float fVar9; - uint uStack20; - - iVar3 = FUN_7f09a690(); - iVar4 = FUN_7f0999a4(); - bVar2 = true; - iVar7 = 0; - if (0 < (int)_DAT_80068778) { - do { - iVar7 += 1; - bVar2 = false; - iVar6 = 0; - *(int *)(_DAT_80068bc0 + 0x29d8) = *(int *)(_DAT_80068bc0 + 0x29d8) + 1; - uStack20 = *(int *)(_DAT_80068bc0 + 0x29d8) % _DAT_80068778; - if (_DAT_80068778 == 0) { - trap(0x1c00); - } - if ((_DAT_80068778 == 0xffffffff) && (*(int *)(_DAT_80068bc0 + 0x29d8) == -0x80000000)) { - trap(0x1800); - } - if (0 < iVar4) { - do { - if (((iVar6 != iVar3) && - (iVar1 = *(int *)(*(int *)(&DAT_800689f0 + iVar6 * 4) + 0xa8), iVar1 != 0)) && - (fVar8 = *(float *)(iVar1 + 8) - **(float **)(&DAT_80068738 + uStack20 * 4), - fVar9 = *(float *)(iVar1 + 0x10) - (*(float **)(&DAT_80068738 + uStack20 * 4))[2], - fVar8 = (float)sqrtf(fVar8 * fVar8 + fVar9 * fVar9), fVar8 < 1000.00000000)) { - bVar2 = true; - } - iVar6 += 1; - } while (iVar6 != iVar4); - } - } while ((bVar2) && (iVar7 < (int)_DAT_80068778)); - } - if ((bVar2) && (iVar7 < (int)_DAT_80068778)) { - do { - iVar7 += 1; - bVar2 = false; - iVar6 = 0; - *(int *)(_DAT_80068bc0 + 0x29d8) = *(int *)(_DAT_80068bc0 + 0x29d8) + 1; - uStack20 = *(int *)(_DAT_80068bc0 + 0x29d8) % _DAT_80068778; - if (_DAT_80068778 == 0) { - trap(0x1c00); - } - if ((_DAT_80068778 == 0xffffffff) && (*(int *)(_DAT_80068bc0 + 0x29d8) == -0x80000000)) { - trap(0x1800); - } - if (0 < iVar4) { - do { - if (((iVar6 != iVar3) && - (iVar1 = *(int *)(*(int *)(&DAT_800689f0 + iVar6 * 4) + 0xa8), iVar1 != 0)) && - (fVar8 = *(float *)(iVar1 + 8) - **(float **)(&DAT_80068738 + uStack20 * 4), - fVar9 = *(float *)(iVar1 + 0x10) - (*(float **)(&DAT_80068738 + uStack20 * 4))[2], - fVar8 = (float)sqrtf(fVar8 * fVar8 + fVar9 * fVar9), fVar8 < 100.00000000)) { - bVar2 = true; - } - iVar6 += 1; - } while (iVar6 != iVar4); - } - } while ((bVar2) && (iVar7 < (int)_DAT_80068778)); - } - if (bVar2) { - uVar5 = FUN_700098b0(); - uStack20 = uVar5 % _DAT_80068778; - if (_DAT_80068778 == 0) { - trap(0x1c00); - } - } - return uStack20; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07946c(void) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 uVar3; - - lVar1 = FUN_7f0999a4(); - if (1 < lVar1) { - uVar2 = FUN_7f09a690(); - uVar3 = FUN_7f00ffac(uVar2); - _DAT_80068bc0[0x10c] = uVar3; - uVar2 = FUN_7f09a690(); - uVar2 = FUN_7f00ffac(uVar2); - FUN_7f0a40f0(uVar2); - } - _DAT_80068bc0[0xe] = 0; - _DAT_80068bc0[0xf] = 0; - _DAT_80068bc0[0x10] = 0; - _DAT_80068bc0[0x11] = 0; - _DAT_80068bc0[0x12] = 0; - _DAT_80068bc0[0x13] = 0; - _DAT_80068bc0[0x14] = 0; - _DAT_80068bc0[0x15] = 0; - _DAT_80068bc0[0x16] = 0; - *_DAT_80068bc0 = 0; - _DAT_80068bc0[1] = 0; - _DAT_80068bc0[2] = 0; - _DAT_80068bc0[3] = 0; - _DAT_80068bc0[4] = 0; - _DAT_80068bc0[5] = 0; - _DAT_80068bc0[6] = 0x3f800000; - _DAT_80068bc0[7] = 0; - _DAT_80068bc0[8] = 0x3f800000; - _DAT_80068bc0[9] = 0; - _DAT_80068bc0[10] = 0; - _DAT_80068bc0[0xb] = 0; - _DAT_80068bc0[0xc] = 0; - _DAT_80068bc0[0xd] = 0; - _DAT_80068bc0[0xf1] = 0; - _DAT_80068bc0[0xf2] = 0; - _DAT_80068bc0[0xf3] = 0x3f800000; - _DAT_80068bc0[0x21] = 0; - _DAT_80068bc0[0x22] = 0; - _DAT_80068bc0[0x23] = 0; - _DAT_80068bc0[0x24] = 0; - _DAT_80068bc0[0x25] = 0; - _DAT_80068bc0[0x26] = 0; - _DAT_80068bc0[0x49b] = 0; - _DAT_80068bc0[0x49c] = 0; - _DAT_80068bc0[0x49d] = 0; - _DAT_80068bc0[0x27] = 2; - _DAT_80068bc0[0xa7d] = 2; - _DAT_80068bc0[0x28] = 0; - _DAT_80068bc0[0x29] = 0; - _DAT_80068bc0[0x2b] = 1; - _DAT_80068bc0[0x34] = 0; - _DAT_80068bc0[0x36] = 0; - _DAT_80068bc0[0x37] = 0x3f800000; - _DAT_80068bc0[0x38] = 0; - _DAT_80068bc0[0x39] = 0x3f800000; - _DAT_80068bc0[0x3a] = 0; - _DAT_80068bc0[0x3b] = 0x3f800000; - _DAT_80068bc0[0x3c] = 0; - _DAT_80068bc0[0x3d] = 0xbf800000; - _DAT_80068bc0[0x3e] = 0xbf800000; - _DAT_80068bc0[0x70] = 0; - _DAT_80068bc0[0x71] = 0; - _DAT_80068bc0[0x72] = 0; - _DAT_80068bc0[0x73] = 1; - _DAT_80068bc0[0x74] = 0; - _DAT_80068bc0[0x68] = 0; - _DAT_80068bc0[0x67] = 0; - _DAT_80068bc0[0x53] = 0; - _DAT_80068bc0[0x54] = 0x3f800000; - _DAT_80068bc0[0x55] = 0; - _DAT_80068bc0[0x56] = 0xc0800000; - _DAT_80068bc0[0x57] = _DAT_80068bc0[0x56]; - if ((float)_DAT_80068bc0[0x57] < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x57) = (float)_DAT_80068bc0[0x57] + 360.00000000; - _DAT_80068bc0[0x58] = 0; - } - else { - _DAT_80068bc0[0x58] = 0; - } - _DAT_80068bc0[0x59] = 0x3f800000; - _DAT_80068bc0[0x5a] = 0; - _DAT_80068bc0[0x5b] = 0; - _DAT_80068bc0[0x5c] = 0; - _DAT_80068bc0[0x5d] = 0; - _DAT_80068bc0[0xa91] = 0; - _DAT_80068bc0[0x5e] = 0x3f800000; - _DAT_80068bc0[0x5f] = 0; - _DAT_80068bc0[0x60] = 0; - _DAT_80068bc0[0x61] = 0; - _DAT_80068bc0[0x62] = 0; - _DAT_80068bc0[0x41] = 0; - _DAT_80068bc0[0x42] = 0; - _DAT_80068bc0[0x43] = 0; - _DAT_80068bc0[0x44] = 0; - _DAT_80068bc0[0x45] = 1; - _DAT_80068bc0[0x46] = 1; - _DAT_80068bc0[0x47] = 0; - _DAT_80068bc0[0x48] = 1; - _DAT_80068bc0[0x49] = 0; - _DAT_80068bc0[0x4a] = 1; - _DAT_80068bc0[0x4b] = 0; - _DAT_80068bc0[0x4c] = 0; - _DAT_80068bc0[0x4d] = 0xffffffff; - _DAT_80068bc0[0x4e] = 1; - _DAT_80068bc0[0x4f] = 0; - _DAT_80068bc0[0x50] = 0; - _DAT_80068bc0[0x51] = 0xffffffff; - _DAT_80068bc0[0xf4] = 0xff; - _DAT_80068bc0[0xf5] = 0xff; - _DAT_80068bc0[0xf6] = 0xff; - _DAT_80068bc0[0xf7] = 0; - _DAT_80068bc0[0xf8] = 0xbf800000; - _DAT_80068bc0[0xf9] = 0xbf800000; - _DAT_80068bc0[0xfa] = 0xff; - _DAT_80068bc0[0xfb] = 0xff; - _DAT_80068bc0[0xfc] = 0xff; - _DAT_80068bc0[0xfd] = 0xff; - _DAT_80068bc0[0xfe] = 0xff; - _DAT_80068bc0[0xff] = 0xff; - _DAT_80068bc0[0x100] = 0; - _DAT_80068bc0[0x101] = 0; - _DAT_80068bc0[99] = 0xbf800000; - _DAT_80068bc0[100] = 0xbf800000; - _DAT_80068bc0[0x65] = 0; - _DAT_80068bc0[0x66] = 0; - _DAT_80068bc0[0x10b] = 2; - _DAT_80068bc0[0x10c] = 0; - _DAT_80068bc0[0x81] = 0; - _DAT_80068bc0[0x82] = 0; - _DAT_80068bc0[0x83] = 0; - _DAT_80068bc0[0x84] = 0; - _DAT_80068bc0[0x85] = 0; - _DAT_80068bc0[0x86] = 0; - _DAT_80068bc0[0x88] = 0; - _DAT_80068bc0[0x89] = 0; - _DAT_80068bc0[0x80] = 0; - *(undefined2 *)(_DAT_80068bc0 + 0xed) = 0; - *(undefined2 *)((int)_DAT_80068bc0 + 0x3b6) = 0; - _DAT_80068bc0[0xa6e] = 0x41700000; - *(undefined2 *)(_DAT_80068bc0 + 0xa7f) = 0xffff; - _DAT_80068bc0[0xa80] = 0; - _DAT_80068bc0[0xa81] = 0; - _DAT_80068bc0[0xa99] = 0; - _DAT_80068bc0[0xa9a] = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079938(void) - -{ - undefined4 uVar2; - longlong lVar1; - - *(float *)(_DAT_80068bc0 + 0x29b4) = - *(float *)(_DAT_80068bc4 + 100) * 185.00000000 * 1.00000000 - 10.00000000; - *(undefined4 *)(_DAT_80068bc0 + 0x29f0) = 0; - uVar2 = FUN_7f08c2ac(); - *(undefined4 *)(_DAT_80068bc0 + 0x29ec) = uVar2; - *(undefined4 *)(_DAT_80068bc0 + 0x29f8) = 0; - FUN_7f08c7e8(1); - lVar1 = FUN_7f0999a4(); - if (1 < lVar1) { - FUN_7f05ddcc(1,_DAT_800684c4); - FUN_7f05ddcc(0,_DAT_800684c0); - if (*(int *)(_DAT_80068bc0 + 0xd4) == 0) { - FUN_7f079d70(); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079a08(int iParm1) - -{ - *(float *)(_DAT_80068bc0 + 0x126c) = (float)iParm1 * 75.00000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079a2c(int iParm1) - -{ - *(int *)(_DAT_80068bc0 + 0x9c) = *(int *)(_DAT_80068bc0 + 0x9c) + iParm1; - if (*(int *)(_DAT_80068bc0 + 0x9c) < 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x9c) = 0; - return; - } - if (2 < *(int *)(_DAT_80068bc0 + 0x9c)) { - *(undefined4 *)(_DAT_80068bc0 + 0x9c) = 2; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f079a70(void) - -{ - if (*(int *)(_DAT_80068bc0 + 0x9c) < *(int *)(_DAT_80068bc0 + 0x29f4)) { - return *(int *)(_DAT_80068bc0 + 0x9c); - } - return *(int *)(_DAT_80068bc0 + 0x29f4); -} - - - -int FUN_7f079a9c(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar1 = *(int *)(*(int *)(&DAT_800689f0 + iParm1 * 4) + 0x9c); - iVar2 = *(int *)(*(int *)(&DAT_800689f0 + iParm1 * 4) + 0x29f4); - if (iVar1 < iVar2) { - return iVar1; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079ad0(undefined4 uParm1) - -{ - *_DAT_80068bc0 = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079ae0(float *pfParm1,float *pfParm2,float *pfParm3,undefined4 uParm4,undefined4 *puParm5 - ) - -{ - longlong lVar1; - undefined4 uVar2; - int iStack8; - undefined4 uStack4; - - if ((((((*pfParm1 != *(float *)(_DAT_80068bc0 + 4)) || - (pfParm1[1] != *(float *)(_DAT_80068bc0 + 8))) || - (pfParm1[2] != *(float *)(_DAT_80068bc0 + 0xc))) || - ((*pfParm2 != *(float *)(_DAT_80068bc0 + 0x10) || - (pfParm2[1] != *(float *)(_DAT_80068bc0 + 0x14))))) || - ((pfParm2[2] != *(float *)(_DAT_80068bc0 + 0x18) || - ((*pfParm3 != *(float *)(_DAT_80068bc0 + 0x1c) || - (pfParm3[1] != *(float *)(_DAT_80068bc0 + 0x20))))))) || - ((pfParm3[2] != *(float *)(_DAT_80068bc0 + 0x24) || (*(int *)(_DAT_80068bc0 + 0x34) == 0)))) { - uStack4 = uParm4; - lVar1 = sub_7F0B0BE4(&uStack4,*puParm5,puParm5[2],*pfParm1,pfParm1[2]); - if (lVar1 == 0) { - if (*(int *)(_DAT_80068bc0 + 0x34) == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x34) = uStack4; - } - else { - iStack8 = *(int *)(_DAT_80068bc0 + 0x34); - lVar1 = sub_7F0B0BE4(&iStack8,*(undefined4 *)(_DAT_80068bc0 + 4), - *(undefined4 *)(_DAT_80068bc0 + 0xc),*pfParm1,pfParm1[2]); - if (lVar1 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x34) = uStack4; - } - else { - *(int *)(_DAT_80068bc0 + 0x34) = iStack8; - } - } - } - else { - FUN_7f0af7d8(uStack4,*pfParm1,pfParm1[2]); - *(undefined4 *)(_DAT_80068bc0 + 0x34) = uStack4; - } - *(float *)(_DAT_80068bc0 + 4) = *pfParm1; - *(float *)(_DAT_80068bc0 + 8) = pfParm1[1]; - *(float *)(_DAT_80068bc0 + 0xc) = pfParm1[2]; - *(float *)(_DAT_80068bc0 + 0x10) = *pfParm2; - *(float *)(_DAT_80068bc0 + 0x14) = pfParm2[1]; - *(float *)(_DAT_80068bc0 + 0x18) = pfParm2[2]; - *(float *)(_DAT_80068bc0 + 0x1c) = *pfParm3; - *(float *)(_DAT_80068bc0 + 0x20) = pfParm3[1]; - *(float *)(_DAT_80068bc0 + 0x24) = pfParm3[2]; - *(undefined4 *)(_DAT_80068bc0 + 0x28) = *(undefined4 *)(_DAT_80068bc0 + 4); - *(undefined4 *)(_DAT_80068bc0 + 0x30) = *(undefined4 *)(_DAT_80068bc0 + 0xc); - uVar2 = FUN_7f0b1c30(*(undefined4 *)(_DAT_80068bc0 + 0x34),*(undefined4 *)(_DAT_80068bc0 + 4), - *(undefined4 *)(_DAT_80068bc0 + 0xc)); - *(undefined4 *)(_DAT_80068bc0 + 0x2c) = uVar2; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079d70(void) - -{ - char cVar1; - int *piVar2; - longlong lVar3; - undefined8 uVar4; - int iVar5; - undefined4 uVar6; - int iVar7; - uint uVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - int iStack224; - int iStack216; - int iStack212; - undefined4 uStack208; - undefined4 auStack196 [34]; - int iStack60; - undefined4 uStack56; - int iStack52; - uint uStack48; - undefined4 uStack44; - int iStack40; - undefined4 *puStack36; - int *piStack32; - int *piStack28; - undefined auStack24 [16]; - int iStack8; - undefined4 uStack4; - - uStack4 = FUN_7f08a0b0(); - iVar5 = *(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - if (iVar5 == 0) { - iStack40 = FUN_7f05d3e8(0); - uStack44 = FUN_7f05d3e8(1); - uStack48 = 0; - iStack52 = FUN_7f05d400(0); - uStack56 = FUN_7f05d400(1); - puVar11 = &DAT_80031afc; - puVar9 = auStack196; - do { - puVar12 = puVar11 + 3; - puVar10 = puVar9 + 3; - *puVar9 = *puVar11; - puVar9[1] = puVar11[1]; - puVar9[2] = puVar11[2]; - puVar11 = puVar12; - puVar9 = puVar10; - } while (puVar12 != (undefined4 *)0x80031b80); - *puVar10 = uRam80031b80; - uStack208 = FUN_7f05defc(0); - iStack212 = 0x17; - iStack216 = 0x4b; - iStack224 = 0; - FUN_7f07df38(_DAT_80068bc0); - lVar3 = FUN_7f0999a4(); - if (lVar3 == 1) { - lVar3 = FUN_7f01d3c0(); - if (true) { - switch(*(undefined4 *)(_DAT_80068bc0 + 0x41c)) { - case 1: - iStack212 = 5; - break; - case 2: - iStack212 = 0x18; - break; - case 3: - iStack212 = 0x16; - break; - case 4: - iStack212 = 0x19; - break; - case 5: - iStack212 = 5; - break; - case 6: - iStack212 = 5; - break; - case 7: - iStack212 = 5; - break; - case 8: - if (lVar3 == 0) { - iStack212 = 5; - } - else { - if (lVar3 == 1) { - iStack212 = 5; - } - else { - if (lVar3 == 2) { - iStack212 = 5; - } - else { - if (lVar3 == 3) { - iStack212 = 5; - } - } - } - } - } - } - if (lVar3 == 0) { - if (true) { - switch(*(undefined4 *)(_DAT_80068bc0 + 0x41c)) { - case 1: - iStack216 = 0x4e; - break; - case 2: - iStack216 = 0x4c; - break; - case 3: - iStack216 = 0x4a; - break; - case 5: - iStack216 = 0x4e; - break; - case 6: - iStack216 = 0x4e; - break; - case 7: - iStack216 = 0x4e; - break; - case 8: - iStack216 = 0x4e; - } - } - } - else { - if (lVar3 == 1) { - iStack216 = 0x4e; - } - else { - if (lVar3 == 2) { - iStack216 = 0x4e; - } - else { - if (lVar3 == 3) { - iStack216 = 0x4e; - } - } - } - } - } - else { - uVar4 = FUN_7f09a690(); - iStack216 = FUN_7f0101ac(uVar4); - uVar4 = FUN_7f09a690(); - iStack212 = FUN_7f01024c(uVar4); - } - if (DAT_800319e4 == 3) { - uStack208 = _DAT_800684c0; - } - lVar3 = FUN_7f0999a4(); - if (lVar3 == 1) { - FUN_7f05d414(1); - FUN_7f05d414(0); - sub_7F0CBAF4(auStack24,uStack44,uStack56); - piStack28 = (int *)FUN_7f05d3c8(0); - piVar2 = (int *)(&PTR_DAT_80037a60)[iStack212 * 5]; - *piStack28 = *piVar2; - piStack28[1] = piVar2[1]; - piStack28[2] = piVar2[2]; - piStack28[3] = piVar2[3]; - piStack28[4] = piVar2[4]; - piStack28[5] = piVar2[5]; - piStack28[6] = piVar2[6]; - loc_7F0764EC(piStack28,(&PTR_s_CcamguardZ_80037a64)[iStack212 * 5],iStack40,iStack52,auStack24 - ); - iVar5 = FUN_7f0bc540((&PTR_s_CcamguardZ_80037a64)[iStack212 * 5]); - piVar2 = (int *)(&PTR_DAT_80037a60)[iStack216 * 5]; - uVar8 = (iVar5 + 0x3fU | 0x3f) ^ 0x3f; - piStack32 = (int *)(iStack40 + uVar8); - uStack48 = (uVar8 + 0x5b | 0x3f) ^ 0x3f; - *piStack32 = *piVar2; - piStack32[1] = piVar2[1]; - piStack32[2] = piVar2[2]; - piStack32[3] = piVar2[3]; - piStack32[4] = piVar2[4]; - piStack32[5] = piVar2[5]; - piStack32[6] = piVar2[6]; - loc_7F0764EC(piStack32,(&PTR_s_CcamguardZ_80037a64)[iStack216 * 5],iStack40 + uStack48, - iStack52 - uStack48,auStack24); - iVar5 = FUN_7f0bc540((&PTR_s_CcamguardZ_80037a64)[iStack216 * 5]); - uVar8 = (iVar5 + uStack48 + 0x3f | 0x3f) ^ 0x3f; - uStack48 = (uVar8 + 0xfb | 0x3f) ^ 0x3f; - iStack224 = iStack40 + uVar8; - FUN_7f075d7c(piStack28); - FUN_7f075d7c(piStack32); - iVar5 = (int)*(short *)(piStack28 + 5) + (int)*(short *)(piStack32 + 5) + 10; - iVar7 = iStack40 + uStack48; - uStack48 = (iVar5 * 4 + uStack48 + 0x3f | 0x3f) ^ 0x3f; - FUN_7f076028(iStack224,piStack28,iVar7); - *(undefined2 *)(iStack224 + 2) = (short)iVar5; - } - else { - piStack28 = (int *)(&PTR_DAT_80037a60)[iStack212 * 5]; - if (*piStack28 == 0) { - FUN_7f0765cc(piStack28,(&PTR_s_CcamguardZ_80037a64)[iStack212 * 5]); - cVar1 = (&DAT_80037a71)[iStack212 * 0x14]; - } - else { - cVar1 = (&DAT_80037a71)[iStack212 * 0x14]; - } - if (cVar1 == '\0') { - piStack32 = (int *)(&PTR_DAT_80037a60)[iStack216 * 5]; - if (*piStack32 == 0) { - FUN_7f0765cc(piStack32,(&PTR_s_CcamguardZ_80037a64)[iStack216 * 5]); - } - else { - iStack224 = 0; - } - } - else { - iStack216 = -1; - piStack32 = NULL; - } - } - uVar6 = FUN_7f0232b8(iStack212,iStack216,piStack28,piStack32,0,iStack224); - *(undefined4 *)(_DAT_80068bc0 + 0xd4) = uVar6; - set_obj_instance_controller_scale - (*(int *)(_DAT_80068bc0 + 0xd4), - *(float *)(*(int *)(_DAT_80068bc0 + 0xd4) + 0x14) * DAT_8004abfc); - iVar5 = *(int *)(_DAT_80068bc0 + 0xa8); - FUN_7f01ff1c(iVar5,*(undefined4 *)(_DAT_80068bc0 + 0xd4),iVar5 + 8,uStack4, - *(undefined4 *)(iVar5 + 0x14),0); - **(undefined **)(_DAT_80068bc0 + 0xa8) = 6; - iStack8 = *(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - *(uint *)(iStack8 + 0x14) = *(uint *)(iStack8 + 0x14) | 1; - FUN_7f06d200(*(undefined4 *)(_DAT_80068bc0 + 0xd4),*(int *)(_DAT_80068bc0 + 0xa8) + 8); - FUN_7f06d274(*(undefined4 *)(_DAT_80068bc0 + 0xd4),uStack4); - *(undefined *)(iStack8 + 6) = (char)iStack216; - *(undefined *)(iStack8 + 0xf) = (char)iStack212; - lVar3 = def_7F09B27C(uStack208); - iVar5 = (int)lVar3; - if (-1 < lVar3) { - lVar3 = FUN_7f0999a4(); - if (lVar3 == 1) { - iStack60 = iStack40 + uStack48; - uStack48 = (uStack48 + 199 | 0x3f) ^ 0x3f; - puStack36 = (undefined4 *)FUN_7f05d3c8(1); - puVar11 = (undefined4 *)(&PTR_DAT_80034d88)[iVar5 * 3]; - *puStack36 = *puVar11; - puStack36[1] = puVar11[1]; - puStack36[2] = puVar11[2]; - puStack36[3] = puVar11[3]; - puStack36[4] = puVar11[4]; - puStack36[5] = puVar11[5]; - puStack36[6] = puVar11[6]; - loc_7F0764EC(puStack36,(&PTR_s_Palarm1Z_80034d8c)[iVar5 * 3],iStack40 + uStack48, - iStack52 - uStack48,auStack24); - FUN_7f0bc540((&PTR_s_Palarm1Z_80034d8c)[iVar5 * 3]); - FUN_7f075d7c(puStack36); - } - else { - iStack60 = 0; - puStack36 = NULL; - } - loc_7F0523BC(iStack8,iVar5,uStack208,0,iStack60,puStack36); - } - FUN_7f023a74(iStack8,0); - } - else { - if (*(int *)(*(int *)(iVar5 + 0x1c) + 0x20) == 0) { - *(uint *)(iVar5 + 0x14) = *(uint *)(iVar5 + 0x14) | 1; - FUN_7f023a74(iVar5,0); - FUN_7f06d200(*(undefined4 *)(_DAT_80068bc0 + 0xd4),*(int *)(_DAT_80068bc0 + 0xa8) + 8); - FUN_7f06d274(*(undefined4 *)(_DAT_80068bc0 + 0xd4),uStack4); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07a538(void) - -{ - longlong lVar1; - - if ((*(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4) != 0) && (lVar1 = FUN_7f0999a4(), lVar1 == 1)) { - loc_7F020528(*(undefined4 *)(_DAT_80068bc0 + 0xa8)); - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0xd4) = 0; - DAT_80031974 = 1; - FUN_7f07df70(_DAT_80068bc0); - } - return; -} - - - -undefined4 FUN_7f07a5c0(void) - -{ - return DAT_800319e4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f07a5cc(undefined4 uParm1,float *pfParm2,undefined8 uParm3,float *pfParm4, - undefined4 uParm5,float fParm6) - -{ - longlong lVar1; - longlong lVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - undefined4 uStack32; - float fStack28; - undefined4 uStack24; - float fStack20; - float fStack16; - int iStack8; - - lVar2 = 0; - iStack8 = 0; - fVar7 = DAT_8004ac00; - _DAT_800684d4 = uParm1; - do { - fVar8 = *(float *)(_DAT_80068bc0 + 0x4b0); - iVar3 = 0; - fStack16 = DAT_8004ac04 + fVar8; - lVar1 = FUN_700098b0(); - fVar5 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar7 = fVar5 * 0.00000000 * fVar7; - do { - if (lVar2 != 0) break; - fStack20 = fVar7 + DAT_8004ac0c; - if (DAT_8004ac08 <= fStack20) { - fStack20 = fStack20 - DAT_8004ac08; - } - fStack36 = (float)func_7F057FC4(); - uStack32 = 0; - fStack28 = (float)func_7F057FC4(fStack20); - fStack48 = fStack36 * fStack16 + *pfParm2; - fStack44 = pfParm2[1]; - fStack40 = fStack28 * fStack16 + pfParm2[2]; - FUN_7f0b0f84(); - uStack24 = uParm5; - FUN_7f03d118(uParm3,0); - lVar1 = loc_7F0B13B4(&uStack24,*pfParm4,pfParm4[2],fStack48,fStack40,0x13,0,0x3f800000,0, - 0x3f800000); - FUN_7f03d118(uParm3,1); - if (lVar1 == 0) { - FUN_7f0262b0(pfParm4,&fStack36,&fStack48); - fStack16 = (float)sqrtf((fStack48 - *pfParm4) * (fStack48 - *pfParm4) + - (fStack40 - pfParm4[2]) * (fStack40 - pfParm4[2])); - } - fStack16 = fStack16 - fVar8; - if (((fParm6 <= fStack16) && (fVar7 = 1.00000000, true)) && (true)) { - fVar5 = fStack16 - fParm6; - do { - lVar1 = FUN_700098b0(); - fVar4 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = fVar4 * 0.00000000 * fVar5 * fVar7 + fParm6; - _DAT_800684c8 = fStack36 * fVar4 + *pfParm2; - _DAT_800684cc = pfParm2[1]; - uStack24 = uParm5; - _DAT_800684d0 = fStack28 * fVar4 + pfParm2[2]; - FUN_7f03d118(uParm3,0); - lVar1 = loc_7F0B13B4(&uStack24,*pfParm4,pfParm4[2],_DAT_800684c8,_DAT_800684d0,0x13,0, - 0x3f800000,0,0x3f800000); - FUN_7f03d118(uParm3,1); - if ((lVar1 != 0) && - (lVar1 = loc_7F0B1C80(&uStack24,_DAT_800684c8,_DAT_800684d0,fVar8,0x1f,0,0x3f800000), - lVar1 < 0)) { - fVar4 = (float)FUN_7f0b1c30(uStack24,_DAT_800684c8,_DAT_800684d0); - lVar1 = FUN_700098b0(); - fVar6 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - _DAT_800684cc = fVar6 * 0.00000000 * (185.00000000 - fVar8) + fVar4 + fVar8; - if ((-1000.00000000 < _DAT_800684cc - pfParm2[1]) && - (_DAT_800684cc - pfParm2[1] < 1000.00000000)) { - lVar2 = 1; - } - } - fVar7 = fVar7 - 0.25000000; - } while ((0.00000000 < fVar7) && (lVar2 == 0)); - } - iVar3 += 1; - fVar7 = fStack20; - } while (iVar3 < 0x10); - iStack8 += 1; - if ((0x80 < iStack8) || (fVar7 = DAT_8004ac10, lVar2 != 0)) { - return lVar2; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07aa50(int iParm1) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 uVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - undefined4 uVar8; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack40; - int iStack36; - float fStack16; - - DAT_800319e8 = 0; - if (iParm1 == 1) { - DAT_800319e4 = iParm1; - if (((DAT_80031a10 == 0) || (DAT_800319e4 = iParm1, lVar1 = FUN_7f0bf118(), lVar1 != 0)) || - (lVar1 = FUN_7f0bf10c(), lVar1 != 0)) { - FUN_7f07aa50(3); - } - else { - DAT_800319f4 = 0; - FUN_7f080854(0,0,0,0x3f800000); - FUN_7f0808fc(0x42700000,0); - uVar2 = FUN_70005da4(); - FUN_7f0b9e34(uVar2,1); - *(undefined4 *)(_DAT_80068bc0 + 0x34) = 0; - } - } - else { - if (iParm1 == 2) { - DAT_800319e4 = iParm1; - FUN_7f080854(0,0,0,0); - FUN_7f0808fc(0x42700000,0x3f800000); - } - else { - if (iParm1 == 9) { - _DAT_80068914 = 0; - _DAT_80068918 = 0xc2b40000; - _DAT_8006891c = 0; - _DAT_80068920 = 0x42a00000; - DAT_800319e4 = iParm1; - uVar2 = FUN_70005da4(0); - FUN_7f0b9e34(uVar2,0); - } - else { - if (iParm1 == 3) { - DAT_800319ec = 0; - DAT_800319e4 = iParm1; - FUN_7f080854(0,0,0,0x3f800000); - FUN_7f0808fc(0x42700000,0); - uVar2 = FUN_70005da4(); - FUN_7f0b9e34(uVar2,0); - if (((DAT_800319fc == 0) || (lVar1 = FUN_7f0bf118(), lVar1 != 0)) || - (lVar1 = FUN_7f0bf10c(), lVar1 != 0)) { - FUN_7f07aa50(4); - } - else { - DAT_800319f4 = 0; - DAT_800319f8 = 1; - FUN_7f080ab4(0,0x3f800000); - FUN_7f079d70(); - iVar5 = DAT_80031a64 * 0x10; - fStack16 = *(float *)(&DAT_80031a70 + iVar5); - FUN_7f06fe48(*(undefined4 *)(_DAT_80068bc0 + 0xd4), - *(int *)(&DAT_80031a68 + iVar5) + _DAT_80058478,0, - *(undefined4 *)(&DAT_80031a6c + iVar5), - *(undefined4 *)(&DAT_80031a74 + iVar5),0); - if (0.00000000 < fStack16) { - loc_7F06FE2C(*(undefined4 *)(_DAT_80068bc0 + 0xd4),fStack16); - } - iVar5 = *(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - *(undefined *)(iVar5 + 7) = 0x17; - *(undefined *)(iVar5 + 8) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x34) = 0; - } - } - else { - if (iParm1 == 4) { - DAT_800319e4 = iParm1; - lVar1 = FUN_70005da4(0); - if (lVar1 == 0x36) { - FUN_7f080854(0,0,0,0x3f800000); - FUN_7f0808fc(0,0x3f800000); - } - else { - if (DAT_800319ec != 0) { - FUN_7f080854(0,0,0,0x3f800000); - FUN_7f0808fc(0x42700000,0); - } - } - lVar1 = FUN_7f0999a4(); - if (1 < lVar1) { - uVar2 = FUN_70005da4(); - FUN_7f0b9e34(uVar2,0); - } - if (*(int *)(_DAT_80068bc0 + 0x1c8) == 0) { - FUN_7f05ddcc(1,_DAT_800684c4); - FUN_7f05ddcc(0,_DAT_800684c0); - } - DAT_800319f0 = 0; - } - else { - if (iParm1 == 5) { - DAT_800319f4 = 0; - DAT_800319f8 = 1; - DAT_800319e4 = iParm1; - FUN_7f080854(0,0,0,0x3f800000); - FUN_7f0808fc(0x42700000,0); - if ((DAT_800319dc == 0) || (DAT_800319a0 == 0)) { - DAT_80031998 = 0; - iVar6 = _DAT_80068bc0 + 0x54; - iVar5 = _DAT_80068bc0; - iVar4 = _DAT_80068bc0; - do { - iVar7 = iVar4 + 0xc; - *(undefined4 *)(iVar5 + 0x488) = *(undefined4 *)(iVar4 + 0x434); - *(undefined4 *)(iVar5 + 0x48c) = *(undefined4 *)(iVar4 + 0x438); - *(undefined4 *)(iVar5 + 0x490) = *(undefined4 *)(iVar4 + 0x43c); - iVar5 = iVar5 + 0xc; - iVar4 = iVar7; - } while (iVar7 != iVar6); - *(undefined4 *)(_DAT_80068bc0 + 0x148) = *(undefined4 *)(_DAT_80068bc0 + 0x414); - *(undefined4 *)(_DAT_80068bc0 + 0x158) = *(undefined4 *)(_DAT_80068bc0 + 0x418); - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 8) = - *(undefined4 *)(_DAT_80068bc0 + 0x48c); - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0xc) = - *(undefined4 *)(_DAT_80068bc0 + 0x490); - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x10) = - *(undefined4 *)(_DAT_80068bc0 + 0x494); - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x14) = - *(undefined4 *)(_DAT_80068bc0 + 0x488); - FUN_7f081834(); - FUN_7f080bd8(0,0); - FUN_7f08151c(); - FUN_7f080ab4(0,0x3f800000); - FUN_7f079d70(); - uVar3 = sub_7F06F5AC(_DAT_80068bc0 + 0x598); - uVar2 = sub_7F06F5B4(_DAT_80068bc0 + 0x598); - FUN_7f06fe48(*(undefined4 *)(_DAT_80068bc0 + 0xd4),uVar3,uVar2,0,0x3f000000,0); - iVar5 = *(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - *(undefined *)(iVar5 + 7) = 0x18; - *(undefined *)(iVar5 + 8) = 0; - *(uint *)(iVar5 + 0x14) = *(uint *)(iVar5 + 0x14) | 1; - FUN_7f06d200(*(undefined4 *)(_DAT_80068bc0 + 0xd4), - *(int *)(_DAT_80068bc0 + 0xa8) + 8); - uVar3 = FUN_7f08a0b0(); - FUN_7f06d274(*(undefined4 *)(_DAT_80068bc0 + 0xd4),uVar3); - } - if ((DAT_800319dc == 0) || (DAT_800319a0 == 0)) { - uVar8 = 0x43480000; - iStack36 = *(int *)(_DAT_80068bc0 + 0xa8); - uStack48 = *(undefined4 *)(_DAT_80068bc0 + 0x3c4); - uStack44 = *(undefined4 *)(_DAT_80068bc0 + 0x3c8); - uStack40 = *(undefined4 *)(_DAT_80068bc0 + 0x3cc); - uStack64 = *(undefined4 *)(_DAT_80068bc0 + 0x48c); - uStack60 = *(undefined4 *)(_DAT_80068bc0 + 0x490); - uStack56 = *(undefined4 *)(_DAT_80068bc0 + 0x494); - uVar3 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - iVar5 = *(int *)(_DAT_80068bc0 + 0xa8); - } - else { - iStack36 = DAT_800319a0; - uStack48 = *(undefined4 *)(DAT_800319a0 + 8); - uVar8 = 0x43fa0000; - uStack44 = *(undefined4 *)(DAT_800319a0 + 0xc); - uStack40 = *(undefined4 *)(DAT_800319a0 + 0x10); - uStack64 = *(undefined4 *)(DAT_800319a0 + 8); - uStack60 = *(undefined4 *)(DAT_800319a0 + 0xc); - uStack56 = *(undefined4 *)(DAT_800319a0 + 0x10); - uVar3 = *(undefined4 *)(DAT_800319a0 + 0x14); - iVar5 = DAT_800319a0; - } - lVar1 = FUN_7f07a5cc(iStack36,&uStack48,iVar5,&uStack64,uVar3,uVar8); - if (lVar1 == 0) { - FUN_70005d78(); - } - else { - if (DAT_80031a60 == 0) { - FUN_700062dc(0x2c); - FUN_70008698(0x3f000000); - } - if ((DAT_800319dc != 0) && (DAT_800319a0 != 0)) { - uVar3 = FUN_7f09a690(); - FUN_7f09b790(DAT_800319a0,DAT_800319a0 + 8,*(undefined4 *)(DAT_800319a0 + 0x14), - 0xd,0,uVar3,DAT_800319a0 + 0x2c,0); - } - } - } - else { - if (iParm1 == 6) { - DAT_800319e4 = iParm1; - FUN_7f080854(0,0,0,0); - FUN_7f0808fc(0x42700000,0x3f800000); - } - else { - if (iParm1 == 7) { - DAT_800319e4 = iParm1; - FUN_7f079d70(0); - *(undefined4 *)(_DAT_80068bc0 + 0x34) = 0; - } - else { - if (iParm1 == 8) { - DAT_800319e4 = iParm1; - FUN_7f07a538(); - DAT_800319e4 = 4; - } - else { - DAT_800319e4 = iParm1; - if (iParm1 == 10) { - iVar5 = 0; - DAT_800319e4 = iParm1; - lVar1 = FUN_7f0999a4(); - if (0 < lVar1) { - do { - FUN_7f09a64c(iVar5); - FUN_7f080854(0,0,0,0); - FUN_7f0808fc(0x42700000,0x3f800000); - iVar5 += 1; - iVar4 = FUN_7f0999a4(); - } while (iVar5 < iVar4); - } - FUN_7f09a64c(0); - } - } - } - } - } - } - } - } - } - } - return; -} - - - -void FUN_7f07b23c(void) - -{ - int iVar1; - - iVar1 = DAT_800319e4; - DAT_800319e4 = 0; - DAT_800319e8 = 0; - if (iVar1 == 1) { - FUN_7f07aa50(2); - } - else { - if (iVar1 == 2) { - FUN_7f08a4fc(); - FUN_7f07aa50(3); - } - else { - if (iVar1 != 9) { - if (iVar1 == 3) { - FUN_7f07a538(); - FUN_7f080ab4(0,0x3f800000); - FUN_7f07aa50(4); - } - else { - if (iVar1 != 4) { - if (iVar1 == 5) { - FUN_7f07aa50(6); - } - else { - if ((iVar1 == 6) && (DAT_80031a60 += 1, DAT_80031a60 < 3)) { - FUN_7f07aa50(5); - } - } - } - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07b338(int iParm1,float fParm2,float *pfParm3,float *pfParm4) - -{ - uint uVar1; - int iVar2; - uint uVar3; - uint uVar4; - uint uVar5; - undefined *puVar6; - int iVar7; - uint uVar8; - int iVar9; - uint uVar10; - float fVar11; - undefined auStack60 [4]; - float local_38; - undefined local_30 [12]; - undefined auStack36 [12]; - undefined auStack24 [12]; - undefined auStack12 [12]; - - uVar1 = DAT_800319fc; - iVar9 = DAT_800319fc + iParm1 * 0x20; - local_38 = 0.00000000; - fVar11 = *(float *)(iVar9 + 0x18); - puVar6 = auStack60; - iVar7 = -1; - uVar8 = iParm1 * 0x20 + DAT_800319fc; - if (0.00000000 < fVar11) { - local_38 = fParm2 / fVar11; - } - do { - iVar2 = _DAT_80068bc0; - uVar5 = iVar7 * 0x20 + uVar8; - if (iVar7 < 0) { - uVar3 = uVar5; - if (uVar5 < uVar1) { - uVar3 = uVar1; - } -LAB_7f07b3ec: - uVar5 = *(uint *)(uVar3 + 4); - uVar4 = uVar3; - } - else { - if (uVar8 < uVar5) { - uVar10 = *(uint *)(uVar8 + 0x24); - uVar4 = uVar8; - while ((uVar10 & 1) == 0) { - uVar3 = uVar4 + 0x20; - if (uVar5 <= uVar3) goto LAB_7f07b3ec; - uVar10 = *(uint *)(uVar4 + 0x44); - uVar4 = uVar3; - } - uVar5 = *(uint *)(uVar4 + 4); - } - else { - uVar5 = *(uint *)(uVar8 + 4); - uVar4 = uVar8; - } - } - iVar7 += 1; - if ((uVar5 & 2) == 0) { - *(undefined4 *)(puVar6 + 0xc) = *(undefined4 *)(uVar4 + 8); - *(undefined4 *)(puVar6 + 0x10) = *(undefined4 *)(uVar4 + 0xc); - *(undefined4 *)(puVar6 + 0x14) = *(undefined4 *)(uVar4 + 0x10); - } - else { - *(float *)(puVar6 + 0xc) = - *(float *)(_DAT_80068bc0 + 0x4a0) * *(float *)(uVar4 + 8) + - *(float *)(uVar4 + 0x10) * *(float *)(_DAT_80068bc0 + 0x498); - *(undefined4 *)(puVar6 + 0x10) = *(undefined4 *)(uVar4 + 0xc); - *(float *)(puVar6 + 0x14) = - *(float *)(uVar4 + 0x10) * *(float *)(iVar2 + 0x4a0) - - *(float *)(iVar2 + 0x498) * *(float *)(uVar4 + 8); - } - puVar6 = puVar6 + 0xc; - if (iVar7 == 3) { - sub_7F05B024(local_30,auStack36,auStack24,auStack12,local_38,*(undefined4 *)(iVar9 + 0x14), - pfParm3); - *pfParm3 = *pfParm3 + *(float *)(_DAT_80068bc0 + 0x3c4); - pfParm3[1] = pfParm3[1] + *(float *)(_DAT_80068bc0 + 0x3c8); - pfParm3[2] = pfParm3[2] + *(float *)(_DAT_80068bc0 + 0x3cc); - *pfParm4 = *(float *)(_DAT_80068bc0 + 0x3c4); - pfParm4[1] = *(float *)(_DAT_80068bc0 + 0x3c8); - pfParm4[2] = *(float *)(_DAT_80068bc0 + 0x3cc); - iVar7 = DAT_800319fc + iParm1 * 0x20; - if ((*(uint *)(iVar7 + 4) & 4) == 0) { - if ((*(uint *)(iVar7 + 0x24) & 4) == 0) { - local_38 = 1.00000000; - } - else { - local_38 = 1.00000000 - local_38; - } - } - else { - if ((*(uint *)(iVar7 + 0x24) & 4) != 0) { - local_38 = 0.00000000; - } - } - *pfParm4 = *pfParm4 + *(float *)(_DAT_80068bc0 + 0x4c0) * 40.00000000 * local_38; - pfParm4[1] = pfParm4[1] + *(float *)(_DAT_80068bc0 + 0x4c4) * 40.00000000 * local_38; - pfParm4[2] = pfParm4[2] + *(float *)(_DAT_80068bc0 + 0x4c8) * 40.00000000 * local_38; - return; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07b604(undefined4 uParm1,undefined4 uParm2,float *pfParm3,float *pfParm4, - undefined4 uParm5,float *pfParm6,float *pfParm7) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - float *pfVar5; - uint uVar6; - float fVar7; - float fVar8; - ushort uStackX2; - ushort uStackX6; - - uStackX6 = (ushort)uParm2; - uStackX2 = (ushort)uParm1; - if ((DAT_800319e4 == 1) || (DAT_800319e4 == 2)) { - if (DAT_800319e4 == 1) { - if ((DAT_800319f4 < 120.00000000) && (120.00000000 <= DAT_800319f4 + DAT_80041004)) { - FUN_7f08a560(*(undefined4 *)(DAT_80031a10 + 0x1c),DAT_8003ab08,DAT_8003ab04); - } - fVar7 = DAT_800319f4 + DAT_80041004; - if (*(int *)(DAT_80031a10 + 0x20) == 0) { - if (300.00000000 < DAT_800319f4) { - DAT_800319e8 = 1; - } - } - else { - if ((DAT_800319f4 < 300.00000000) && (300.00000000 <= fVar7)) { - FUN_7f08a560(*(int *)(DAT_80031a10 + 0x20),DAT_8003ab08,DAT_8003ab04); - fVar7 = DAT_800319f4 + DAT_80041004; - } - if (480.00000000 < DAT_800319f4) { - DAT_800319e8 = 1; - } - } - DAT_800319f4 = fVar7; - lVar1 = FUN_7f0bf078(); - if ((lVar1 == 0) && ((uStackX2 & ~uStackX6 & 0xf030) != 0)) { - DAT_800319e8 = 1; - } - } - else { - if (*(float *)(_DAT_80068bc0 + 0x3e4) < 0.00000000) { - DAT_800319e8 = 1; - } - } - *pfParm3 = *(float *)(DAT_80031a10 + 4); - pfParm3[1] = *(float *)(DAT_80031a10 + 8); - pfParm3[2] = *(float *)(DAT_80031a10 + 0xc); - fVar7 = (float)func_7F057FC4(*(undefined4 *)(DAT_80031a10 + 0x14)); - fVar8 = (float)func_7F057FC4(*(undefined4 *)(DAT_80031a10 + 0x10)); - *pfParm4 = fVar8 * fVar7 + *pfParm3; - fVar7 = (float)func_7F057FC4(*(undefined4 *)(DAT_80031a10 + 0x14)); - pfParm4[1] = fVar7 + pfParm3[1]; - fVar7 = (float)func_7F057FC4(*(undefined4 *)(DAT_80031a10 + 0x14)); - fVar8 = (float)func_7F057FC4(*(undefined4 *)(DAT_80031a10 + 0x10)); - pfParm4[2] = pfParm3[2] - fVar8 * fVar7; - pfVar5 = (float *)(*(int *)(DAT_80031a10 + 0x18) * 0x2c + _DAT_80064c58); - *pfParm6 = pfVar5[10]; - *pfParm7 = *pfVar5; - pfParm7[1] = pfVar5[1]; - pfParm7[2] = pfVar5[2]; - } - else { - if (DAT_800319e4 == 9) { - uVar2 = FUN_7f09a690(); - lVar1 = FUN_7f09aa18(uVar2); - if ((lVar1 == 0) && (iVar4 = 0, fVar7 = _DAT_80068918, 0 < DAT_80040ff4)) { - do { - iVar4 += 1; - if (fVar7 < DAT_8004ac14) { - if (fVar7 < -20.00000000) { - _DAT_80068914 = _DAT_80068914 + DAT_8004ac18; - } - if (110.00000000 < fVar7) { - _DAT_80068914 = _DAT_80068914 - DAT_8004ac18; - } - fVar7 = fVar7 + _DAT_80068914; - _DAT_80068918 = fVar7; - } - if (DAT_8004ac14 <= fVar7) { - _DAT_80068918 = 180.00000000; - fVar7 = 180.00000000; - } - if (80.00000000 < fVar7) { - if (60.00000000 < _DAT_80068920) { - _DAT_8006891c = _DAT_8006891c - DAT_8004ac18; - } - else { - _DAT_8006891c = _DAT_8006891c + DAT_8004ac1c; - } - _DAT_80068920 = _DAT_80068920 + _DAT_8006891c; - if (_DAT_80068920 < 1.00000000) { - _DAT_80068920 = 1.00000000; - } - } - } while (iVar4 < DAT_80040ff4); - } - fVar8 = (_DAT_80068918 - *(float *)(_DAT_80068bc0 + 0x148)) * DAT_8004ac20; - fVar7 = (float)func_7F057FC4(); - *pfParm3 = fVar7 * _DAT_80068920 + *(float *)(_DAT_80068bc0 + 0x4b4); - pfParm3[1] = *(float *)(_DAT_80068bc0 + 0x4b8) + _DAT_80068920 * DAT_8004ac24; - fVar7 = (float)func_7F057FC4(fVar8 / 180.00000000); - pfParm3[2] = fVar7 * _DAT_80068920 + *(float *)(_DAT_80068bc0 + 0x4bc); - *pfParm4 = *(float *)(_DAT_80068bc0 + 0x4b4); - pfParm4[1] = *(float *)(_DAT_80068bc0 + 0x4b8); - pfParm4[2] = *(float *)(_DAT_80068bc0 + 0x4bc); - *pfParm6 = *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x14); - *pfParm7 = *(float *)(_DAT_80068bc0 + 0x4b4); - pfParm7[1] = *(float *)(_DAT_80068bc0 + 0x4b8) + _DAT_80068920 * DAT_8004ac28; - pfParm7[2] = *(float *)(_DAT_80068bc0 + 0x4bc); - uVar2 = FUN_7f09a690(); - iVar4 = FUN_7f09aa18(uVar2); - iVar3 = FUN_7f0999a4(); - if ((iVar3 == iVar4 + 1) && (_DAT_80068920 < 5.00000000)) { - DAT_800319e8 = 1; - } - } - else { - if (DAT_800319e4 == 3) { - DAT_800319f4 = DAT_800319f4 + DAT_80041004; - iVar4 = DAT_800319fc + DAT_800319f8 * 0x20; - fVar8 = *(float *)(iVar4 + 0x18); - fVar7 = fVar8; - if (fVar8 <= DAT_800319f4) { - uVar6 = *(uint *)(iVar4 + 100); - while ((uVar6 & 1) == 0) { - DAT_800319f4 = DAT_800319f4 - fVar8; - DAT_800319f8 += 1; - iVar4 = DAT_800319fc + DAT_800319f8 * 0x20; - fVar8 = *(float *)(iVar4 + 0x18); - fVar7 = fVar8; - if (DAT_800319f4 < fVar8) goto LAB_7f07bcb0; - uVar6 = *(uint *)(iVar4 + 100); - } - DAT_800319e8 = 1; - fVar7 = *(float *)(iVar4 + 0x18); - DAT_800319f4 = fVar8; - } -LAB_7f07bcb0: - iVar4 = DAT_800319fc + (DAT_800319f8 + 1) * 0x20; - uVar6 = *(uint *)(iVar4 + 0x44); - fVar7 = (fVar7 - DAT_800319f4) + 0.00000000; - while ((uVar6 & 1) == 0) { - uVar6 = *(uint *)(iVar4 + 100); - pfVar5 = (float *)(iVar4 + 0x18); - iVar4 += 0x20; - fVar7 = fVar7 + *pfVar5; - } - if ((fVar7 < 30.00000000) && (30.00000000 <= fVar7 + DAT_80041004)) { - FUN_7f080ab4(); - } - if ((DAT_800319ec != 0) && (lVar1 = FUN_7f080930(), lVar1 != 0)) { - DAT_800319e8 = 1; - } - if ((((60.00000000 < fVar7) && (DAT_800319ec == 0)) && (lVar1 = FUN_7f0bf078(), lVar1 == 0)) - && ((uStackX2 & ~uStackX6 & 0xf030) != 0)) { - DAT_800319ec = 1; - FUN_7f080854(0,0,0,*(undefined4 *)(_DAT_80068bc0 + 0x3dc)); - lVar1 = FUN_7f080930(); - if (lVar1 == 0) { - FUN_7f0808fc(*(undefined4 *)(_DAT_80068bc0 + 0x3e0),0x3f800000); - } - else { - FUN_7f0808fc(0x42700000,0x3f800000); - } - } - FUN_7f07b338(DAT_800319f8,DAT_800319f4,pfParm3,pfParm4); - iVar4 = *(int *)(DAT_800319fc + DAT_800319f8 * 0x20 + 0x1c); - if (iVar4 < 0) { - *pfParm6 = *(float *)(_DAT_80068bc0 + 0x488); - *pfParm7 = *(float *)(_DAT_80068bc0 + 0x48c); - pfParm7[1] = *(float *)(_DAT_80068bc0 + 0x490); - pfParm7[2] = *(float *)(_DAT_80068bc0 + 0x494); - } - else { - pfVar5 = (float *)(iVar4 * 0x2c + _DAT_80064c58); - *pfParm6 = pfVar5[10]; - *pfParm7 = *pfVar5; - pfParm7[1] = pfVar5[1]; - pfParm7[2] = pfVar5[2]; - } - } - else { - if ((DAT_800319e4 == 5) || (DAT_800319e4 == 6)) { - if (DAT_800319e4 == 5) { - DAT_800319f4 = DAT_800319f4 + DAT_80041004; - if (*(int *)(_DAT_80068bc0 + 0xd4) == 0) { - if (180.00000000 <= DAT_800319f4) { - DAT_800319e8 = 1; - } - } - else { - fVar7 = (float)sub_7F06F5BC(); - fVar8 = (float)locret_7F06F608(*(undefined4 *)(_DAT_80068bc0 + 0xd4)); - if (fVar8 <= fVar7) { - DAT_800319e8 = 1; - } - } - if ((((uStackX2 & ~uStackX6 & 0xf000) != 0) && (*(int *)(_DAT_80068bc0 + 0xd8) != 0)) && - ((*(int *)(_DAT_80068bc0 + 0x424) != 0 && (*(int *)(_DAT_80068bc0 + 0x428) != 0)))) { - DAT_800319e8 = 1; - DAT_80031a60 = 2; - } - } - else { - if (DAT_800319e4 == 6) { - DAT_800319f4 = DAT_800319f4 + DAT_80041004; - if (*(float *)(_DAT_80068bc0 + 0x3e4) < 0.00000000) { - DAT_800319e8 = 1; - } - if (((((uStackX2 & ~uStackX6 & 0xf000) != 0) && (*(int *)(_DAT_80068bc0 + 0xd8) != 0)) - && (*(int *)(_DAT_80068bc0 + 0x424) != 0)) && - (*(int *)(_DAT_80068bc0 + 0x428) != 0)) { - DAT_80031a60 = 2; - } - } - } - *pfParm3 = _DAT_800684c8; - pfParm3[1] = _DAT_800684cc; - pfParm3[2] = _DAT_800684d0; - if (_DAT_800684d4 == *(int *)(_DAT_80068bc0 + 0xa8)) { - *pfParm4 = *(float *)(_DAT_80068bc0 + 0x3c4); - pfParm4[1] = *(float *)(_DAT_80068bc0 + 0x3c8); - pfParm4[2] = *(float *)(_DAT_80068bc0 + 0x3cc); - } - else { - *pfParm4 = *(float *)(_DAT_800684d4 + 8); - pfParm4[1] = *(float *)(_DAT_800684d4 + 0xc); - pfParm4[2] = *(float *)(_DAT_800684d4 + 0x10); - } - *pfParm6 = *(float *)(_DAT_80068bc0 + 0x488); - *pfParm7 = *(float *)(_DAT_80068bc0 + 0x48c); - pfParm7[1] = *(float *)(_DAT_80068bc0 + 0x490); - pfParm7[2] = *(float *)(_DAT_80068bc0 + 0x494); - } - else { - if (DAT_800319e4 == 7) { - if (_DAT_800684d8 == NULL) { - if (_DAT_800684dc == 0) { - if (_DAT_800684f4 < 10000) { - pfVar5 = (float *)(_DAT_800684f4 * 0x2c + _DAT_80064c58); - } - else { - pfVar5 = (float *)(_DAT_800684f4 * 0x44 + _DAT_80064c5c + -680000); - } - *pfParm6 = pfVar5[10]; - *pfParm7 = *pfVar5; - pfParm7[1] = pfVar5[1]; - pfParm7[2] = pfVar5[2]; - func_7F057FC4(_DAT_800684e0); - *pfParm4 = *pfVar5; - pfParm4[1] = pfVar5[1] + _DAT_800684f0; - func_7F057FC4(_DAT_800684e0); - pfParm4[2] = pfVar5[2]; - fVar7 = (float)func_7F057FC4(_DAT_800684e0); - func_7F057FC4(_DAT_800684e0); - *pfParm3 = *pfVar5 + fVar7 * _DAT_800684e8; - pfParm3[1] = pfVar5[1] + _DAT_800684f0 + _DAT_800684ec; - fVar8 = (float)func_7F057FC4(_DAT_800684e0); - func_7F057FC4(_DAT_800684e0); - fVar7 = DAT_8004ac2c; - pfParm3[2] = pfVar5[2] + fVar8 * _DAT_800684e8; - _DAT_800684e0 = _DAT_800684e0 + _DAT_800684e4 * DAT_80041004; - while (fVar7 <= _DAT_800684e0) { - _DAT_800684e0 = _DAT_800684e0 - fVar7; - } - while (_DAT_800684e0 < 0.00000000) { - _DAT_800684e0 = _DAT_800684e0 + fVar7; - } - } - else { - iVar4 = *(int *)(_DAT_800684dc + 0x18); - if (iVar4 < 10000) { - pfVar5 = (float *)(iVar4 * 0x2c + _DAT_80064c58); - } - else { - pfVar5 = (float *)(iVar4 * 0x44 + _DAT_80064c5c + -680000); - } - *pfParm3 = *(float *)(_DAT_800684dc + 4); - pfParm3[1] = *(float *)(_DAT_800684dc + 8); - pfParm3[2] = *(float *)(_DAT_800684dc + 0xc); - *pfParm6 = pfVar5[10]; - *pfParm7 = *pfVar5; - pfParm7[1] = pfVar5[1]; - pfParm7[2] = pfVar5[2]; - if (_DAT_800684f8 == 1) { - *pfParm4 = *(float *)(_DAT_80068bc0 + 0x3c4); - pfParm4[1] = *(float *)(_DAT_80068bc0 + 0x3c8); - pfParm4[2] = *(float *)(_DAT_80068bc0 + 0x3cc); - } - else { - fVar7 = (float)func_7F057FC4(*(undefined4 *)(_DAT_800684dc + 0x14)); - fVar8 = (float)func_7F057FC4(*(undefined4 *)(_DAT_800684dc + 0x10)); - *pfParm4 = fVar8 * fVar7 + *pfParm3; - fVar7 = (float)func_7F057FC4(*(undefined4 *)(_DAT_800684dc + 0x14)); - pfParm4[1] = fVar7 + pfParm3[1]; - fVar7 = (float)func_7F057FC4(*(undefined4 *)(_DAT_800684dc + 0x14)); - fVar8 = (float)func_7F057FC4(*(undefined4 *)(_DAT_800684dc + 0x10)); - pfParm4[2] = pfParm3[2] - fVar8 * fVar7; - } - } - } - else { - *pfParm3 = *_DAT_800684d8; - pfParm3[1] = _DAT_800684d8[1]; - pfParm3[2] = _DAT_800684d8[2]; - *pfParm4 = *(float *)(_DAT_80068bc0 + 0x3c4); - pfParm4[1] = *(float *)(_DAT_80068bc0 + 0x3c8); - pfParm4[2] = *(float *)(_DAT_80068bc0 + 0x3cc); - *pfParm6 = _DAT_800684d8[10]; - *pfParm7 = *_DAT_800684d8; - pfParm7[1] = _DAT_800684d8[1]; - pfParm7[2] = _DAT_800684d8[2]; - } - } - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07c624(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x118) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07c644(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x128) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07c654(void) - -{ - longlong lVar1; - ulonglong uVar2; - - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - uVar2 = SEXT48(*(int *)(_DAT_80068bc0 + 0x128)); - } - else { - uVar2 = (ulonglong)*(byte *)(_DAT_80068bc4 + 0x6a); - } - return uVar2; -} - - - -void FUN_7f07c694(void) - -{ - FUN_7f07c654(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f07c6b4(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x124); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07c6c4(int iParm1,undefined4 uParm2) - -{ - int iVar1; - - if (*(int *)(_DAT_80068bc0 + 0x134) < 0) { - iVar1 = *(int *)(_DAT_80068bc0 + 0x130); - } - else { - *(int *)(_DAT_80068bc0 + 0x134) = *(int *)(_DAT_80068bc0 + 0x134) - DAT_80040ff4; - iVar1 = *(int *)(_DAT_80068bc0 + 0x130); - } - if (iParm1 == iVar1) { - *(undefined4 *)(_DAT_80068bc0 + 300) = uParm2; - } - else { - if (*(int *)(_DAT_80068bc0 + 0x134) < 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x134) = 0x19; - *(int *)(_DAT_80068bc0 + 0x130) = iParm1; - *(undefined4 *)(_DAT_80068bc0 + 300) = uParm2; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07c72c(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x138) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07c73c(void) - -{ - longlong lVar1; - ulonglong uVar2; - - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - uVar2 = SEXT48(*(int *)(_DAT_80068bc0 + 0x138)); - } - else { - uVar2 = (ulonglong)*(byte *)(_DAT_80068bc4 + 0x6a); - } - return uVar2; -} - - - -void FUN_7f07c77c(void) - -{ - FUN_7f07c73c(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07c79c(int iParm1,undefined4 uParm2) - -{ - int iVar1; - - if (*(int *)(_DAT_80068bc0 + 0x144) < 0) { - iVar1 = *(int *)(_DAT_80068bc0 + 0x140); - } - else { - *(int *)(_DAT_80068bc0 + 0x144) = *(int *)(_DAT_80068bc0 + 0x144) - DAT_80040ff4; - iVar1 = *(int *)(_DAT_80068bc0 + 0x140); - } - if (iParm1 == iVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x13c) = uParm2; - } - else { - if (*(int *)(_DAT_80068bc0 + 0x144) < 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x144) = 0x19; - *(int *)(_DAT_80068bc0 + 0x140) = iParm1; - *(undefined4 *)(_DAT_80068bc0 + 0x13c) = uParm2; - } - } - return; -} - - - -void change_player_pos_to_target(undefined4 *puParm1,undefined4 *puParm2,undefined4 uParm3) - -{ - puParm1[1] = *puParm2; - puParm1[2] = puParm2[1]; - puParm1[3] = puParm2[2]; - *puParm1 = uParm3; - puParm1[0x14] = uParm3; - puParm1[0xf] = 0; - puParm1[0x10] = 0; - puParm1[0x11] = 0; - puParm1[0x13] = 0; - puParm1[4] = 0; - puParm1[5] = 0; - puParm1[0xb] = puParm1[1]; - puParm1[7] = puParm1[1]; - puParm1[0xe] = 0x3f800000; - puParm1[0x12] = 0x3f800000; - puParm1[6] = 0x3f800000; - puParm1[0xc] = puParm1[2]; - puParm1[8] = puParm1[2]; - puParm1[0xd] = puParm1[3]; - puParm1[9] = puParm1[3]; - puParm1[10] = 0x41f00000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07c888(void) - -{ - int iVar1; - undefined auStack76 [64]; - float *local_c; - float *local_8; - - if (DAT_800319a0 != 0) { - iVar1 = *(int *)(*(int *)(*(int *)(*(int *)(DAT_800319a0 + 4) + 0x14) + 8) + 8); - local_8 = *(float **)(*(int *)(iVar1 + 8) + 4); - local_c = *(float **)(*(int *)(iVar1 + 4) + 4); - FUN_7f058aa4(DAT_8004ac30 - DAT_800319c4,DAT_800319a0,auStack76); - _DAT_80068488 = *local_8; - _DAT_8006848c = local_8[1]; - _DAT_80068490 = local_8[2]; - FUN_7f058880(auStack76); - _DAT_80068488 = _DAT_80068488 + *local_c; - _DAT_8006848c = _DAT_8006848c + local_c[1]; - _DAT_80068490 = _DAT_80068490 + local_c[2]; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07c95c(float *pfParm1,float *pfParm2,undefined4 uParm3) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - iVar1 = *(int *)(DAT_800319a0 + 4); - iVar2 = FUN_7f040138(); - fVar5 = *(float *)(iVar2 + 4) - _DAT_80068488; - fVar7 = *(float *)(iVar2 + 8) - _DAT_80068488; - fVar6 = *(float *)(iVar2 + 0x14) - _DAT_80068490; - fVar8 = *(float *)(iVar2 + 0x18) - _DAT_80068490; - fVar10 = (float)func_7F057FC4(uParm3); - fVar10 = fVar10 * *(float *)(*(int *)(iVar1 + 0x14) + 0x14); - fVar9 = (float)func_7F057FC4(uParm3); - fVar9 = fVar9 * *(float *)(*(int *)(iVar1 + 0x14) + 0x14); - fVar3 = -fVar6 * fVar9; - fVar11 = fVar5 * fVar10; - *pfParm1 = *pfParm2 + fVar3 + fVar11; - fVar6 = fVar6 * fVar10; - fVar5 = fVar5 * fVar9; - pfParm1[1] = pfParm2[2] + fVar6 + fVar5; - fVar4 = fVar7 * fVar10; - pfParm1[2] = *pfParm2 + fVar3 + fVar4; - fVar7 = fVar7 * fVar9; - pfParm1[3] = pfParm2[2] + fVar6 + fVar7; - fVar9 = -fVar8 * fVar9; - pfParm1[4] = *pfParm2 + fVar9 + fVar4; - fVar8 = fVar8 * fVar10; - pfParm1[5] = pfParm2[2] + fVar8 + fVar7; - pfParm1[6] = *pfParm2 + fVar9 + fVar11; - pfParm1[7] = pfParm2[2] + fVar8 + fVar5; - return; -} - - - -longlong loc_7F07CAB8(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 *puParm7,undefined4 *puParm8) - -{ - longlong lVar1; - - lVar1 = loc_7F0B13B4(); - if ((lVar1 == 0) && (puParm7 != NULL)) { - *puParm7 = uParm2; - puParm7[1] = 0; - puParm7[2] = uParm3; - puParm8[1] = 0; - *puParm8 = uParm4; - puParm8[2] = uParm5; - } - return lVar1; -} - - - -undefined4 -loc_7F07CD98(float *pfParm1,undefined4 uParm2,float fParm3,undefined4 uParm4,undefined4 uParm5) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - float *pfVar4; - longlong lVar5; - undefined auStack140 [64]; - float fStack76; - undefined4 uStack72; - float fStack68; - int iStack52; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack4; - - uStack44 = 0; - uStack4 = uParm2; - FUN_7f07c95c(&uStack40,pfParm1); - if (DAT_800319a0 != 0) { - FUN_7f03d118(DAT_800319a0,0); - } - lVar5 = loc_7F07CAB8(&uStack4,*pfParm1,pfParm1[2],uStack40,uStack36,0x213,uParm4,uParm5); - if (lVar5 != 0) { - lVar5 = loc_7F07CAB8(&uStack4,uStack40,uStack36,uStack32,uStack28,0x213,uParm4,uParm5); - if (lVar5 != 0) { - lVar5 = loc_7F07CAB8(&uStack4,uStack32,uStack28,uStack24,uStack20,0x213,uParm4,uParm5); - if (lVar5 != 0) { - lVar5 = loc_7F07CAB8(&uStack4,uStack24,uStack20,uStack16,uStack12,0x213,uParm4,uParm5); - if (((lVar5 != 0) && - (lVar5 = loc_7F07CAB8(&uStack4,uStack16,uStack12,uStack40,uStack36,0x213,uParm4,uParm5), - lVar5 != 0)) && (uStack44 = 1, DAT_800319a0 != 0)) { - iStack52 = *(int *)(*(int *)(DAT_800319a0 + 4) + 0x14); - iVar1 = *(int *)(*(int *)(iStack52 + 8) + 8); - pfVar2 = *(float **)(*(int *)(iVar1 + 0xc) + 4); - pfVar3 = *(float **)(*(int *)(iVar1 + 0x10) + 4); - pfVar4 = *(float **)(*(int *)(iVar1 + 8) + 4); - uStack72 = 0; - fStack76 = (*pfVar3 + *pfVar2) - *pfVar4; - fParm3 = fParm3 + DAT_800319c4; - fStack68 = (pfVar3[2] + pfVar2[2]) - pfVar4[2]; - if (DAT_8004ac34 <= fParm3) { - fParm3 = fParm3 - DAT_8004ac34; - } - if (fParm3 < 0.00000000) { - fParm3 = fParm3 + DAT_8004ac34; - } - FUN_7f058aa4(DAT_8004ac34 - fParm3,DAT_800319a0,auStack140); - FUN_7f058880(auStack140,&fStack76); - fStack76 = fStack76 * *(float *)(iStack52 + 0x14) + *pfParm1; - fStack68 = fStack68 * *(float *)(iStack52 + 0x14) + pfParm1[2]; - uStack4 = uParm2; - lVar5 = loc_7F07CAB8(&uStack4,*pfParm1,pfParm1[2],fStack76,fStack68,0x213,uParm4,uParm5); - if (lVar5 == 0) { - uStack44 = 0; - } - } - } - } - } - if (DAT_800319a0 != 0) { - FUN_7f03d118(DAT_800319a0,1); - } - return uStack44; -} - - - -void FUN_7f07ce7c(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3) - -{ - loc_7F07CD98(uParm1,uParm2,uParm3,0,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f07cea8(undefined4 *puParm1,undefined4 uParm2,undefined4 *puParm3) - -{ - longlong lVar1; - undefined4 uStack4; - - uStack4 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - lVar1 = loc_7F0B13B4(&uStack4,*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494),*puParm1,puParm1[2],0,0,0x3f800000,0, - 0x3f800000); - if ((lVar1 != 0) && (lVar1 = FUN_7f07ce7c(puParm1,uStack4,uParm2), lVar1 != 0)) { - *puParm3 = uStack4; - return 1; - } - return 0; -} - - - -undefined4 FUN_7f07cf4c(void) - -{ - return DAT_80031998; -} - - - -undefined4 FUN_7f07cf58(void) - -{ - if (DAT_80031998 == 1) { - return DAT_800319a0; - } - return 0; -} - - - -void FUN_7f07cf84(float *pfParm1) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = DAT_800319b4 + DAT_800319c4; - if (DAT_8004ac38 <= fVar3) { - fVar3 = fVar3 - DAT_8004ac38; - } - if (fVar3 < 0.00000000) { - fVar3 = fVar3 + DAT_8004ac38; - } - fVar1 = (float)func_7F057FC4(fVar3); - fVar2 = (float)func_7F057FC4(DAT_800319bc); - *pfParm1 = fVar2 * -fVar1; - fVar1 = (float)func_7F057FC4(DAT_800319bc); - pfParm1[1] = fVar1; - fVar3 = (float)func_7F057FC4(fVar3); - fVar1 = (float)func_7F057FC4(DAT_800319bc); - pfParm1[2] = fVar1 * fVar3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f07d060(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined4 uVar2; - longlong lVar1; - undefined auStack92 [64]; - int local_1c; - undefined4 local_18; - undefined4 local_14; - undefined4 local_10; - undefined4 local_c; - undefined4 local_8; - undefined4 local_4; - - local_4 = 0; - if ((DAT_80031998 == 1) && (_DAT_80068498 != 0)) { - uVar2 = FUN_7f07cea8(puParm1,DAT_800319b4); - return uVar2; - } - local_8 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - if (DAT_80031a18 == 0) { - local_c = 0; - } - else { - local_c = 0x1f; - } - FUN_7f08a440(*(undefined4 *)(_DAT_80068bc0 + 0xa8),&local_18,&local_10,&local_14); - if (DAT_8003199c != NULL) { - FUN_7f03d118(DAT_8003199c,0); - } - FUN_7f03d118(*(undefined4 *)(_DAT_80068bc0 + 0xa8),0); - local_1c = loc_7F0B2338(&local_8,*puParm1,puParm1[2],local_18,auStack92); - lVar1 = sub_7F0B239C(auStack92); - if (lVar1 != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x29f4) = 0; - } - lVar1 = loc_7F0B13B4(&local_8,*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494),*puParm1,puParm1[2],local_c,local_10, - local_14,0,0x3f800000); - if (((lVar1 == 0) || - (lVar1 = loc_7F0B1C80(&local_8,*puParm1,puParm1[2],local_18,local_c,local_10,local_14), - -1 < lVar1)) || ((*(float *)(_DAT_80068bc0 + 0xa0) != -100.00000000 && (-1 < local_1c)))) { -LAB_7f07d288: - if (DAT_800319a0 != 0) { - uVar2 = *(undefined4 *)(_DAT_80068bc0 + 0xa8); - goto LAB_7f07d2d4; - } - if (_DAT_80069954 == NULL) { - uVar2 = *(undefined4 *)(_DAT_80068bc0 + 0xa8); - goto LAB_7f07d2d4; - } - if (*_DAT_80069954 != '\x01') { - uVar2 = *(undefined4 *)(_DAT_80068bc0 + 0xa8); - goto LAB_7f07d2d4; - } - if (*(char *)(*(int *)(_DAT_80069954 + 4) + 3) == '-') { - DAT_8003199c = _DAT_80069954; - } - } - else { - lVar1 = sub_7F0B23A4(auStack92); - if ((lVar1 == 0) && - (lVar1 = FUN_7f0b1978(&local_8,*puParm1,puParm1[2],local_18, - *(float *)(_DAT_80068bc0 + 0x490) + 175.00000000), -1 < lVar1)) - goto LAB_7f07d288; - *puParm2 = local_8; - local_4 = 1; - } - uVar2 = *(undefined4 *)(_DAT_80068bc0 + 0xa8); -LAB_7f07d2d4: - FUN_7f03d118(uVar2,1); - if (DAT_8003199c != NULL) { - FUN_7f03d118(DAT_8003199c,1); - } - return local_4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07d308(undefined4 *puParm1,undefined4 uParm2,undefined4 uParm3) - -{ - longlong lVar1; - undefined4 uStack4; - - FUN_7f0b0f84(); - lVar1 = FUN_7f07d060(puParm1,&uStack4); - if (lVar1 == 0) { - FUN_7f0b1b70(uParm2,uParm3); - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x488) = uStack4; - *(undefined4 *)(_DAT_80068bc0 + 0x48c) = *puParm1; - *(undefined4 *)(_DAT_80068bc0 + 0x494) = puParm1[2]; - } - return (ulonglong)(lVar1 != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f07d388(float *pfParm1,float *pfParm2,float *pfParm3,float *pfParm4,float *pfParm5) - -{ - longlong lVar1; - undefined8 uVar2; - float fVar3; - undefined4 auStack80 [2]; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack40; - float fStack36; - float fStack28; - float afStack24 [2]; - float fStack16; - undefined auStack12 [4]; - undefined auStack8 [4]; - undefined4 uStack4; - - FUN_7f08a440(*(undefined4 *)(_DAT_80068bc0 + 0xa8),auStack80,auStack8,auStack12); - fStack72 = *pfParm1 - *(float *)(_DAT_80068bc0 + 0x48c); - uStack48 = auStack80[0]; - fStack68 = pfParm1[2] - *(float *)(_DAT_80068bc0 + 0x494); - uStack44 = *(undefined4 *)(_DAT_80068bc0 + 0x48c); - uStack40 = *(undefined4 *)(_DAT_80068bc0 + 0x494); - fStack56 = *pfParm2; - fStack52 = pfParm2[2]; - fStack64 = *pfParm3; - fStack60 = pfParm3[2]; - fStack36 = fStack72; - fStack28 = fStack68; - fVar3 = (float)loc_7F0B37AC(&uStack48,&fStack56,&fStack64,&fStack72); - afStack24[0] = fStack36 * fVar3 * 0.25000000 + *(float *)(_DAT_80068bc0 + 0x48c); - fStack16 = fStack28 * fVar3 * 0.25000000 + *(float *)(_DAT_80068bc0 + 0x494); - lVar1 = FUN_7f07d060(afStack24,&uStack4); - if (lVar1 == 0) { - FUN_7f0b1b70(pfParm4,pfParm5); - if ((((*pfParm4 != *pfParm2) || (pfParm4[1] != pfParm2[1])) || (pfParm4[2] != pfParm2[2])) || - (((*pfParm5 != *pfParm3 || (pfParm5[1] != pfParm3[1])) || - (uVar2 = 0xffffffffffffffff, pfParm5[2] != pfParm3[2])))) { - uVar2 = 0; - } - } - else { - uVar2 = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x488) = uStack4; - *(float *)(_DAT_80068bc0 + 0x48c) = afStack24[0]; - *(float *)(_DAT_80068bc0 + 0x494) = fStack16; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f07d594(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - longlong lVar1; - undefined8 uVar2; - float fVar3; - undefined4 local_2c; - float local_28 [2]; - float local_20; - float local_1c; - float local_14; - float local_c; - float local_4; - - local_c = *pfParm1 - *(float *)(_DAT_80068bc0 + 0x48c); - local_4 = pfParm1[2] - *(float *)(_DAT_80068bc0 + 0x494); - if ((*pfParm2 != *pfParm3) || (uVar2 = 0xffffffffffffffff, pfParm2[2] != pfParm3[2])) { - local_1c = *pfParm3 - *pfParm2; - local_14 = pfParm3[2] - pfParm2[2]; - fVar3 = (float)sqrtf(local_14 * local_14 + local_1c * local_1c); - local_1c = local_1c * (1.00000000 / fVar3); - local_14 = local_14 * (1.00000000 / fVar3); - fVar3 = local_14 * local_4 + local_c * local_1c; - local_28[0] = local_1c * fVar3 + *(float *)(_DAT_80068bc0 + 0x48c); - local_20 = local_14 * fVar3 + *(float *)(_DAT_80068bc0 + 0x494); - lVar1 = FUN_7f07d060(local_28,&local_2c); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x488) = local_2c; - *(float *)(_DAT_80068bc0 + 0x48c) = local_28[0]; - *(float *)(_DAT_80068bc0 + 0x494) = local_20; - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f07d6f0(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - longlong lVar1; - float fVar2; - float fStack56; - undefined4 auStack52 [2]; - undefined auStack44 [4]; - undefined auStack40 [4]; - float afStack36 [2]; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - float fStack4; - - FUN_7f08a440(*(undefined4 *)(_DAT_80068bc0 + 0xa8),&fStack56,auStack40,auStack44); - fStack12 = *pfParm1 - *(float *)(_DAT_80068bc0 + 0x48c); - fStack4 = pfParm1[2] - *(float *)(_DAT_80068bc0 + 0x494); - if ((pfParm2[2] - pfParm1[2]) * (pfParm2[2] - pfParm1[2]) + - (*pfParm2 - *pfParm1) * (*pfParm2 - *pfParm1) <= fStack56 * fStack56) { - if (*pfParm2 == *(float *)(_DAT_80068bc0 + 0x48c)) { - if (pfParm2[2] == *(float *)(_DAT_80068bc0 + 0x494)) { - return 0; - } - fVar2 = pfParm2[2]; - } - else { - fVar2 = pfParm2[2]; - } - fStack24 = -(fVar2 - *(float *)(_DAT_80068bc0 + 0x494)); - fStack16 = *pfParm2 - *(float *)(_DAT_80068bc0 + 0x48c); - fVar2 = (float)sqrtf(fStack16 * fStack16 + fStack24 * fStack24); - fStack24 = fStack24 * (1.00000000 / fVar2); - fStack16 = fStack16 * (1.00000000 / fVar2); - fVar2 = fStack16 * fStack4 + fStack12 * fStack24; - fStack24 = fStack24 * fVar2; - fStack16 = fStack16 * fVar2; - afStack36[0] = fStack24 + *(float *)(_DAT_80068bc0 + 0x48c); - fStack28 = fStack16 + *(float *)(_DAT_80068bc0 + 0x494); - lVar1 = FUN_7f07d060(afStack36,auStack52); - if (lVar1 != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x488) = auStack52[0]; - *(float *)(_DAT_80068bc0 + 0x48c) = afStack36[0]; - *(float *)(_DAT_80068bc0 + 0x494) = fStack28; - return 1; - } - } - else { - if ((pfParm3[2] - pfParm1[2]) * (pfParm3[2] - pfParm1[2]) + - (*pfParm3 - *pfParm1) * (*pfParm3 - *pfParm1) <= fStack56 * fStack56) { - if (*pfParm3 == *(float *)(_DAT_80068bc0 + 0x48c)) { - if (pfParm3[2] == *(float *)(_DAT_80068bc0 + 0x494)) { - return 0; - } - fVar2 = pfParm3[2]; - } - else { - fVar2 = pfParm3[2]; - } - fStack24 = -(fVar2 - *(float *)(_DAT_80068bc0 + 0x494)); - fStack16 = *pfParm3 - *(float *)(_DAT_80068bc0 + 0x48c); - fVar2 = (float)sqrtf(fStack16 * fStack16 + fStack24 * fStack24); - fStack24 = fStack24 * (1.00000000 / fVar2); - fStack16 = fStack16 * (1.00000000 / fVar2); - fVar2 = fStack16 * fStack4 + fStack12 * fStack24; - fStack24 = fStack24 * fVar2; - fStack16 = fStack16 * fVar2; - afStack36[0] = fStack24 + *(float *)(_DAT_80068bc0 + 0x48c); - fStack28 = fStack16 + *(float *)(_DAT_80068bc0 + 0x494); - lVar1 = FUN_7f07d060(afStack36,auStack52); - if (lVar1 != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x488) = auStack52[0]; - *(float *)(_DAT_80068bc0 + 0x48c) = afStack36[0]; - *(float *)(_DAT_80068bc0 + 0x494) = fStack28; - return 1; - } - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07da34(float *pfParm1,int iParm2) - -{ - short sVar1; - longlong lVar2; - int iVar3; - uint uVar4; - int iVar5; - uint uVar6; - uint uVar7; - int iVar8; - uint uVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - undefined auStack116 [12]; - undefined auStack104 [16]; - undefined auStack88 [12]; - undefined auStack76 [12]; - float local_40; - int local_3c; - undefined4 local_2c; - undefined4 local_28; - undefined auStack36 [12]; - undefined auStack24 [12]; - float local_c [2]; - float local_4; - - *(undefined4 *)(_DAT_80068bc0 + 0x408) = *(undefined4 *)(_DAT_80068bc0 + 0x48c); - *(undefined4 *)(_DAT_80068bc0 + 0x40c) = *(undefined4 *)(_DAT_80068bc0 + 0x490); - *(undefined4 *)(_DAT_80068bc0 + 0x410) = *(undefined4 *)(_DAT_80068bc0 + 0x494); - local_c[0] = *pfParm1 + *(float *)(_DAT_80068bc0 + 0x48c); - DAT_800319d0 = 0; - local_4 = pfParm1[2] + *(float *)(_DAT_80068bc0 + 0x494); - *(undefined4 *)(_DAT_80068bc0 + 0x29f4) = 2; - if (DAT_8003199c == 0) goto LAB_7f07dcc4; - FUN_7f03cd70(DAT_8003199c,&local_28,&local_2c); - if (((DAT_80031998 != 1) && - (lVar2 = loc_7F03CF7C(_DAT_80068bc0 + 0x48c,local_28,local_2c), lVar2 == 0)) && - (lVar2 = loc_7F044870(_DAT_80068bc0 + 0x48c,*(undefined4 *)(_DAT_80068bc0 + 0x4b0),local_28, - local_2c), lVar2 == 0)) { - if (DAT_800319a0 != 0) { - DAT_8003199c = 0; - DAT_800319a0 = 0; - DAT_800319a4 = 0.00000000; - } - goto LAB_7f07dcc4; - } - iVar10 = *(int *)(DAT_8003199c + 4); - iVar8 = *(int *)(*(int *)(*(int *)(iVar10 + 0x14) + 8) + 8); - iVar3 = *(int *)(*(int *)(iVar8 + 0x14) + 4); - iVar8 = *(int *)(*(int *)(iVar8 + 0x18) + 4); - DAT_800319a0 = DAT_8003199c; - fVar11 = *(float *)(*(int *)(iVar10 + 0x14) + 0x14); - fVar12 = (*(float *)(iVar3 + 0x10) - *(float *)(iVar3 + 0xc)) * fVar11; - if (DAT_80031998 == 1) { - fVar13 = *(float *)(iVar8 + 0x10); -LAB_7f07dbac: - DAT_800319d0 = 1; - fVar12 = fVar12 + (fVar13 - *(float *)(iVar8 + 0xc)) * fVar11; - } - else { - local_40 = fVar12; - local_3c = iVar8; - lVar2 = loc_7F03CF7C(_DAT_80068bc0 + 0x48c,iVar10 + 0x84,*(undefined4 *)(iVar10 + 0x80)); - fVar12 = local_40; - if (lVar2 != 0) { - fVar11 = *(float *)(*(int *)(iVar10 + 0x14) + 0x14); - fVar13 = *(float *)(local_3c + 0x10); - fVar12 = local_40; - iVar8 = local_3c; - goto LAB_7f07dbac; - } - } - if (((DAT_80031998 == 0) && (DAT_800319a4 < fVar12)) && - (DAT_800319a4 = DAT_800319a4 + DAT_80041004 * 20.00000000, DAT_800319a4 <= fVar12)) { - return; - } - DAT_800319a4 = fVar12; - if (DAT_80031998 == 1) { - if (_DAT_80068498 == 0) { - DAT_800319a4 = fVar12 + (1.00000000 - _DAT_800684a0) * -37.00000000; - } - else { - DAT_800319a4 = fVar12 + -37.00000000; - } - } -LAB_7f07dcc4: - lVar2 = FUN_7f07d308(local_c,auStack24,auStack36); - if (lVar2 == 0) { - lVar2 = FUN_7f07d388(local_c,auStack24,auStack36,auStack76,auStack88); - if ((lVar2 < 1) && (-1 < lVar2)) { - if (lVar2 == 0) { - FUN_7f07d388(local_c,auStack76,auStack88,auStack104,auStack116); - if ((((iParm2 != 0) && (lVar2 = FUN_7f07d594(local_c,auStack76,auStack88), lVar2 < 1)) && - (lVar2 = FUN_7f07d594(local_c,auStack24,auStack36), lVar2 < 1)) && - (lVar2 = FUN_7f07d6f0(local_c,auStack76,auStack88), lVar2 == 0)) { - FUN_7f07d6f0(local_c,auStack24,auStack36); - } - } - } - else { - if ((iParm2 != 0) && (lVar2 = FUN_7f07d594(local_c,auStack24,auStack36), lVar2 < 1)) { - FUN_7f07d6f0(local_c,auStack24,auStack36); - } - } - } - lVar2 = FUN_7f0af7d8(*(undefined4 *)(_DAT_80068bc0 + 0x488),*(undefined4 *)(_DAT_80068bc0 + 0x48c) - ,*(undefined4 *)(_DAT_80068bc0 + 0x494)); - if (lVar2 != 0) { -LAB_7f07defc: - FUN_7f07df70(_DAT_80068bc0); - if (*(int *)(_DAT_80068bc0 + 0x488) != 0) { - FUN_7f057a40((ulonglong)*(byte *)(*(int *)(_DAT_80068bc0 + 0x488) + 3)); - } - return; - } - iVar8 = 0; - iVar10 = *(int *)(_DAT_80068bc0 + 0x488); - sVar1 = *(short *)(iVar10 + 6); - do { - uVar6 = 0; - uVar4 = (int)sVar1 >> 0xc & 0xf; - if (uVar4 != 0) { - iVar5 = 0; - iVar3 = iVar10; - do { - iVar5 += 8; - if ((int)(uint)*(ushort *)(iVar3 + 0xe) >> 4 != 0) { - uVar6 += 1; - } - iVar3 += 8; - } while (iVar5 < (int)(uVar4 << 3)); - } - uVar4 = FUN_700098b0(); - iVar3 = 0; - uVar9 = (int)*(short *)(iVar10 + 6) >> 0xc & 0xf; - if (uVar6 == 0) { - trap(0x1c00); - } - uVar7 = 0; - iVar5 = iVar10; - if (uVar9 != 0) { - do { - iVar3 += 1; - if ((int)(uint)*(ushort *)(iVar5 + 0xe) >> 4 != 0) { - if (uVar7 == uVar4 % uVar6) { - iVar10 = (uint)*(ushort *)(iVar5 + 0xe) * 8 + DAT_8003aba8; - break; - } - uVar7 += 1; - } - iVar5 = iVar5 + 8; - } while (iVar3 < (int)uVar9); - } - lVar2 = FUN_7f0af7d8(iVar10,*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494)); - if (lVar2 != 0) { - *(int *)(_DAT_80068bc0 + 0x488) = iVar10; - goto LAB_7f07defc; - } - iVar8 += 1; - if (iVar8 == 5) goto LAB_7f07defc; - sVar1 = *(short *)(iVar10 + 6); - } while( true ); -} - - - -void FUN_7f07df38(int iParm1) - -{ - loc_7F03E128(*(undefined4 *)(iParm1 + 0xa8),*(undefined2 *)(iParm1 + 0x29fc)); - *(undefined2 *)(iParm1 + 0x29fc) = 0xffff; - return; -} - - - -void FUN_7f07df70(int iParm1) - -{ - int iVar1; - - FUN_7f07df38(); - iVar1 = *(int *)(*(int *)(iParm1 + 0xa8) + 4); - if (iVar1 == 0) { - if (*(int *)(iParm1 + 0x488) != 0) { - *(ushort *)(iParm1 + 0x29fc) = (ushort)*(byte *)(*(int *)(iParm1 + 0x488) + 3); - loc_7F03DE80(*(int *)(iParm1 + 0xa8),*(undefined2 *)(iParm1 + 0x29fc)); - } - } - else { - sub_7F020D94(iVar1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07dfd0(void) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x204) = *(undefined4 *)(_DAT_80068bc0 + 0x158); - *(undefined4 *)(_DAT_80068bc0 + 0x210) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x218) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f07dffc(longlong lParm1) - -{ - float fVar1; - - if (lParm1 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x208) = *(undefined4 *)(_DAT_80068bc0 + 0x204); - *(undefined4 *)(_DAT_80068bc0 + 0x20c) = *(undefined4 *)(_DAT_80068bc0 + 0x158); - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x208) = *(undefined4 *)(_DAT_80068bc0 + 0x158); - *(undefined4 *)(_DAT_80068bc0 + 0x20c) = 0xc2200000; - } - fVar1 = *(float *)(_DAT_80068bc0 + 0x208) - *(float *)(_DAT_80068bc0 + 0x20c); - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - if (60.00000000 <= fVar1) { - return ((fVar1 - 60.00000000) * 60.00000000 * 0.50000000) / 60.00000000 + 60.00000000; - } - if (fVar1 <= 0.00000000) { - return (float)0; - } - return (fVar1 * 60.00000000) / 60.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e0e4(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x210) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x214) = uParm1; - *(undefined4 *)(_DAT_80068bc0 + 0x218) = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e110(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x210) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x214) = uParm1; - *(undefined4 *)(_DAT_80068bc0 + 0x218) = 2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07e13c(void) - -{ - return (ulonglong)(*(int *)(_DAT_80068bc0 + 0x218) != 0 && *(int *)(_DAT_80068bc0 + 0x218) != 3); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e164(void) - -{ - float fVar1; - float fVar2; - - fVar1 = *(float *)(_DAT_80068bc0 + 0x158); - if (*(int *)(_DAT_80068bc0 + 0x218) == 1) { - *(float *)(_DAT_80068bc0 + 0x210) = - *(float *)(_DAT_80068bc0 + 0x210) + DAT_80041004 * DAT_80031af8; - if (*(float *)(_DAT_80068bc0 + 0x210) < *(float *)(_DAT_80068bc0 + 0x214)) { - fVar2 = (float)func_7F057FC4((*(float *)(_DAT_80068bc0 + 0x210) / - *(float *)(_DAT_80068bc0 + 0x214)) * DAT_8004ac3c * 0.50000000); - *(float *)(_DAT_80068bc0 + 0x158) = - *(float *)(_DAT_80068bc0 + 0x208) + - (*(float *)(_DAT_80068bc0 + 0x20c) - *(float *)(_DAT_80068bc0 + 0x208)) * - (1.00000000 - fVar2) * 0.50000000; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x158) = *(undefined4 *)(_DAT_80068bc0 + 0x20c); - *(undefined4 *)(_DAT_80068bc0 + 0x218) = 3; - } - fVar2 = *(float *)(_DAT_80068bc0 + 0x158); - } - else { - fVar2 = fVar1; - if (*(int *)(_DAT_80068bc0 + 0x218) == 2) { - *(float *)(_DAT_80068bc0 + 0x210) = - *(float *)(_DAT_80068bc0 + 0x210) + DAT_80041004 * DAT_80031af8; - if (*(float *)(_DAT_80068bc0 + 0x210) < *(float *)(_DAT_80068bc0 + 0x214)) { - fVar2 = (float)func_7F057FC4((*(float *)(_DAT_80068bc0 + 0x210) / - *(float *)(_DAT_80068bc0 + 0x214)) * DAT_8004ac40 * 0.50000000) - ; - *(float *)(_DAT_80068bc0 + 0x158) = - *(float *)(_DAT_80068bc0 + 0x20c) + - (*(float *)(_DAT_80068bc0 + 0x208) - *(float *)(_DAT_80068bc0 + 0x20c)) * - (1.00000000 - fVar2) * 0.50000000; - fVar2 = *(float *)(_DAT_80068bc0 + 0x158); - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x158) = *(undefined4 *)(_DAT_80068bc0 + 0x208); - *(undefined4 *)(_DAT_80068bc0 + 0x218) = 0; - fVar2 = *(float *)(_DAT_80068bc0 + 0x158); - } - } - } - if (fVar2 < -180.00000000) { - *(float *)(_DAT_80068bc0 + 0x158) = fVar2 + 360.00000000; - } - else { - if (180.00000000 <= fVar2) { - *(float *)(_DAT_80068bc0 + 0x158) = fVar2 - 360.00000000; - } - } - if (0 < DAT_80040ff4) { - *(float *)(_DAT_80068bc0 + 0x160) = *(float *)(_DAT_80068bc0 + 0x158) - fVar1; - fVar1 = *(float *)(_DAT_80068bc0 + 0x160); - if (fVar1 < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar1 + 360.00000000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x160); - } - if (180.00000000 < fVar1) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar1 - 360.00000000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x160); - } - fVar2 = DAT_8004ac44; - *(float *)(_DAT_80068bc0 + 0x160) = fVar1 / (DAT_80041004 + DAT_80041004); - if (*(float *)(_DAT_80068bc0 + 0x160) < fVar2) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar2; - } - else { - if (DAT_8004ac48 < *(float *)(_DAT_80068bc0 + 0x160)) { - *(float *)(_DAT_80068bc0 + 0x160) = DAT_8004ac48; - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e4d4(undefined4 uParm1,undefined4 uParm2) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x11b4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x11b8) = uParm2; - *(undefined4 *)(_DAT_80068bc0 + 0x11c0) = *(undefined4 *)(_DAT_80068bc0 + 0x11bc); - *(undefined4 *)(_DAT_80068bc0 + 0x11c4) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f07e50c(void) - -{ - if (*(float *)(_DAT_80068bc0 + 0x11b8) <= *(float *)(_DAT_80068bc0 + 0x11b4)) { - return *(undefined4 *)(_DAT_80068bc0 + 0x11bc); - } - return *(undefined4 *)(_DAT_80068bc0 + 0x11c4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e540(float fParm1) - -{ - float fVar1; - - fVar1 = (float)FUN_7f07e50c(); - if (fVar1 != fParm1) { - fVar1 = *(float *)(_DAT_80068bc0 + 0x11bc); - if (fParm1 < fVar1) { - FUN_7f07e4d4(fParm1,((fVar1 - fParm1) * 15.00000000) / 30.00000000); - } - else { - FUN_7f07e4d4(fParm1,((fParm1 - fVar1) * 15.00000000) / 30.00000000); - } - } - return; -} - - - -void FUN_7f07e5d8(void) - -{ - FUN_7f07e540(0x42700000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e600(void) - -{ - float fVar1; - - fVar1 = ((DAT_8004ac4c - *(float *)(_DAT_80068bc0 + 0x11bc)) * 45.00000000) / DAT_8004ac50; - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - FUN_7f07e4d4(DAT_8004ac4c,fVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e668(void) - -{ - float fVar1; - - fVar1 = ((60.00000000 - *(float *)(_DAT_80068bc0 + 0x11bc)) * 45.00000000) / DAT_8004ac54; - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - FUN_7f07e4d4(0x42700000,fVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07e6d0(void) - -{ - return (ulonglong)(*(float *)(_DAT_80068bc0 + 0x11b4) < *(float *)(_DAT_80068bc0 + 0x11b8)); -} - - - -// WARNING: Instruction at (ram,0x7f07e740) overlaps instruction at (ram,0x7f07e73c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e700(void) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar2 = *(float *)(_DAT_80068bc0 + 0x11b4); - if (*(float *)(_DAT_80068bc0 + 0x11b8) <= fVar2) { - *(float *)(_DAT_80068bc0 + 0x11b4) = *(float *)(_DAT_80068bc0 + 0x11b8); - *(undefined4 *)(_DAT_80068bc0 + 0x11bc) = *(undefined4 *)(_DAT_80068bc0 + 0x11c4); - } - else { - if ((*(int *)(_DAT_80068bc0 + 0x1c8) == 5) || (*(int *)(_DAT_80068bc0 + 0x1c8) == 0xc)) { - *(float *)(_DAT_80068bc0 + 0x11b4) = fVar2 + DAT_80041120; - } - else { - *(float *)(_DAT_80068bc0 + 0x11b4) = fVar2 + DAT_80041120 * DAT_80031af8; - } - fVar2 = *(float *)(_DAT_80068bc0 + 0x11b8); - fVar3 = *(float *)(_DAT_80068bc0 + 0x11b4); - if (fVar2 < fVar3) { - *(float *)(_DAT_80068bc0 + 0x11b4) = fVar2; - fVar3 = *(float *)(_DAT_80068bc0 + 0x11b4); - fVar2 = *(float *)(_DAT_80068bc0 + 0x11b8); - fVar1 = *(float *)(_DAT_80068bc0 + 0x11c0); - } - else { - fVar1 = *(float *)(_DAT_80068bc0 + 0x11c0); - } - *(float *)(_DAT_80068bc0 + 0x11bc) = - fVar1 + (fVar3 * (*(float *)(_DAT_80068bc0 + 0x11c4) - fVar1)) / fVar2; - } - FUN_7f09a754(*(undefined4 *)(_DAT_80068bc0 + 0x11bc)); - FUN_70003f94(*(undefined4 *)(_DAT_80068bc0 + 0x11bc)); - return; -} - - - -// WARNING: Instruction at (ram,0x7f07e868) overlaps instruction at (ram,0x7f07e864) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f07e7fc(void) - -{ - int iVar1; - - iVar1 = *(int *)(_DAT_80068bc0 + 0x1c8); - if (iVar1 == 4) { - return ((45.00000000 - *(float *)(_DAT_80068bc0 + 0x11b8)) + *(float *)(_DAT_80068bc0 + 0x11b4)) - / 45.00000000; - } - if (iVar1 == 6) { - return (*(float *)(_DAT_80068bc0 + 0x11b8) - *(float *)(_DAT_80068bc0 + 0x11b4)) / 45.00000000; - } - if ((iVar1 != 5) && (iVar1 != 0xc)) { - return (float)0; - } - return (float)0x3f800000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e888(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f05d3c8(1); - FUN_7f075d7c(uVar1); - FUN_7f076028(_DAT_80068bc0 + 0x230,(int)uVar1,_DAT_80068bc0 + 0x2ec); - set_obj_instance_controller_scale(_DAT_80068bc0 + 0x230,DAT_80037d9c * DAT_8004ac58); - FUN_7f06fe48(_DAT_80068bc0 + 0x230,_DAT_80058478 + 0x42c8,0,0,DAT_80031af8 * 0.50000000,0); - *(undefined4 *)(_DAT_80068bc0 + 0x220) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e950(float fParm1) - -{ - if (*(int *)(_DAT_80068bc0 + 0x220) == 0) { - *(float *)(_DAT_80068bc0 + 0x22c) = 20.00000000 / fParm1; - } - else { - *(float *)(_DAT_80068bc0 + 0x22c) = (20.00000000 - *(float *)(_DAT_80068bc0 + 600)) / fParm1; - } - *(undefined4 *)(_DAT_80068bc0 + 0x220) = 1; - *(float *)(_DAT_80068bc0 + 0x228) = fParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e9b0(float fParm1) - -{ - if (*(int *)(_DAT_80068bc0 + 0x220) == 3) { - *(float *)(_DAT_80068bc0 + 0x22c) = 20.00000000 / fParm1; - } - else { - *(float *)(_DAT_80068bc0 + 0x22c) = *(float *)(_DAT_80068bc0 + 600) / fParm1; - } - *(undefined4 *)(_DAT_80068bc0 + 0x220) = 2; - *(float *)(_DAT_80068bc0 + 0x228) = fParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ea04(void) - -{ - int iVar1; - - iVar1 = *(int *)(_DAT_80068bc0 + 0x220); - if ((iVar1 != 0) && (iVar1 != 3)) { - if (iVar1 == 1) { - *(float *)(_DAT_80068bc0 + 0x224) = - *(float *)(_DAT_80068bc0 + 0x224) + - DAT_80041004 * DAT_80031af8 * *(float *)(_DAT_80068bc0 + 0x22c); - if (20.00000000 < *(float *)(_DAT_80068bc0 + 0x224)) { - *(undefined4 *)(_DAT_80068bc0 + 0x224) = 0x41a00000; - *(undefined4 *)(_DAT_80068bc0 + 0x220) = 3; - } - } - else { - if ((iVar1 == 2) && - (*(float *)(_DAT_80068bc0 + 0x224) = - *(float *)(_DAT_80068bc0 + 0x224) - - DAT_80041004 * DAT_80031af8 * *(float *)(_DAT_80068bc0 + 0x22c), - *(float *)(_DAT_80068bc0 + 0x224) < 0.00000000)) { - *(undefined4 *)(_DAT_80068bc0 + 0x224) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x220) = 0; - } - } - FUN_7f070230(_DAT_80068bc0 + 0x230,*(undefined4 *)(_DAT_80068bc0 + 0x224),0); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f07eb34) overlaps instruction at (ram,0x7f07eb30) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f07eb18(void) - -{ - int iVar1; - - iVar1 = *(int *)(_DAT_80068bc0 + 0x220); - if ((iVar1 != 1) && (iVar1 != 2)) { - if (iVar1 != 3) { - return (float)0; - } - return (float)0x3f800000; - } - return *(float *)(_DAT_80068bc0 + 0x224) / 20.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07eb70(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x1cc) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07eb90(void) - -{ - char cVar1; - longlong lVar2; - int iVar3; - int *piVar4; - int iVar5; - char *pcVar6; - - FUN_7f0560cc(); - FUN_7f0561d8(); - iVar5 = 0; - do { - iVar3 = _DAT_80068bc0 + iVar5; - if ((*(int *)(iVar3 + 0xa3c) != 0) && (lVar2 = locret_70008E00(), lVar2 != 0)) { - loc_7000905C(*(undefined4 *)(iVar3 + 0xa3c)); - } - iVar5 += 0x3a8; - } while (iVar5 < 0x750); - piVar4 = &DAT_800319a8; - iVar5 = DAT_800319a8; - while( true ) { - if ((iVar5 != 0) && (lVar2 = locret_70008E00(), lVar2 != 0)) { - loc_7000905C(*piVar4); - } - piVar4 = piVar4 + 1; - if (piVar4 == &DAT_800319b0) break; - iVar5 = *piVar4; - } - pcVar6 = (char *)FUN_7f03a4e4(); - if (pcVar6 == NULL) { - return; - } - cVar1 = *pcVar6; - do { - if (cVar1 == '\x02') { -LAB_7f07ecd4: - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - if (cVar1 == '\x01') { - iVar5 = *(int *)(pcVar6 + 4); - if (*(char *)(iVar5 + 3) == '\'') { - if (*(int *)(iVar5 + 0xac) == 0) { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - lVar2 = locret_70008E00(); - if (lVar2 == 0) { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - loc_7000905C(*(undefined4 *)(iVar5 + 0xac)); - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - } - else { - if (*(char *)(iVar5 + 3) == '(') { - if (*(int *)(iVar5 + 0xb0) == 0) { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - lVar2 = locret_70008E00(); - if (lVar2 != 0) { - loc_7000905C(*(undefined4 *)(iVar5 + 0xb0)); - goto LAB_7f07ecd4; - } - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - if (pcVar6 == NULL) { - return; - } - cVar1 = *pcVar6; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f07f7dc) overlaps instruction at (ram,0x7f07f7d8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ecf4(void) - -{ - bool bVar1; - longlong lVar2; - int iVar4; - int iVar5; - undefined8 uVar3; - undefined4 uVar6; - float fVar7; - float fVar8; - float fVar9; - float local_14; - int local_8; - - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - if (iVar4 == 0) goto LAB_7f07f8b0; - lVar2 = FUN_7f05de88(0); - bVar1 = lVar2 == 0x1e; - if (!bVar1) { - lVar2 = FUN_7f05de88(0); - bVar1 = lVar2 == 0x17; - } - if (bVar1) { - local_8 = 0x1d; - } - else { - local_8 = 0xe; - } - *(int *)(_DAT_80068bc0 + 0x1c4) = *(int *)(_DAT_80068bc0 + 0x1c4) + DAT_80040ff4; - *(int *)(_DAT_80068bc0 + 0x1c0) = *(int *)(_DAT_80068bc0 + 0x1c0) + 1; - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 0; - if (*(int *)(_DAT_80068bc0 + 0x1c8) == 1) { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 0; - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 1) { - FUN_7f05deb8(1,0x54); - } - else { - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 2) { - if (bVar1) { - FUN_7f05deb8(0,0); - } - } - else { - lVar2 = FUN_7f05defc(1); - if ((((lVar2 == 0x54) && (lVar2 = FUN_7f05d36c(1), lVar2 != 0)) && - ((!bVar1 || - ((lVar2 = FUN_7f05defc(0), lVar2 == 0 && (lVar2 = FUN_7f05d36c(0), lVar2 != 0)))))) && - (local_8 <= *(int *)(_DAT_80068bc0 + 0x1c4))) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 2; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - } - } - } - if (*(int *)(_DAT_80068bc0 + 0x1c8) == 2) { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 0; - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 1) { - FUN_7f06ad3c(8,0); - FUN_7f069888(4,0); - FUN_7f08a548(1); - FUN_7f08ab8c(1); - FUN_7f056440(4,0); - iVar4 = *(int *)(_DAT_80068bc0 + 0x218); - if (((iVar4 == 0) || (iVar4 == 2)) || (iVar4 == 3)) { - fVar8 = (float)FUN_7f07dffc(1); - if (fVar8 < 30.00000000) { - fVar8 = 30.00000000; - } - FUN_7f07e0e4(fVar8); - fVar8 = *(float *)(_DAT_80068bc0 + 0x214); - } - else { - fVar8 = *(float *)(_DAT_80068bc0 + 0x214); - } - } - else { - fVar8 = *(float *)(_DAT_80068bc0 + 0x214); - } - if (fVar8 - *(float *)(_DAT_80068bc0 + 0x210) < 30.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 3; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - FUN_7f07e888(); - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - } - else { - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - if (iVar4 == 3) { - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 1) { - iVar4 = *(int *)(_DAT_80068bc0 + 0x218); - fVar8 = 40.00000000; - if ((*(int *)(_DAT_80068bc0 + 0x220) != 0) && - (fVar8 = 40.00000000, *(int *)(_DAT_80068bc0 + 0x220) != 3)) { - fVar8 = ((20.00000000 - *(float *)(_DAT_80068bc0 + 600)) * 40.00000000) / 20.00000000; - } - if (((iVar4 == 0) || (iVar4 == 2)) || (local_14 = fVar8, iVar4 == 3)) { - fVar9 = (float)FUN_7f07dffc(1); - local_14 = fVar8 - 10.00000000; - if (local_14 <= fVar9) { - local_14 = fVar9; - } - FUN_7f07e0e4(); - local_14 = local_14 + 10.00000000; - if (local_14 <= fVar8) { - local_14 = fVar8; - } - } - FUN_7f07e950(local_14); - iVar4 = *(int *)(_DAT_80068bc0 + 0x220); - } - else { - iVar4 = *(int *)(_DAT_80068bc0 + 0x220); - } - if (((iVar4 == 0) || (iVar4 == 3)) && (lVar2 = FUN_7f07e13c(), lVar2 == 0)) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 4; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 1; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - } - if (iVar4 == 4) { - if ((*(int *)(_DAT_80068bc0 + 0x1c0) == 1) && (*(int *)(_DAT_80068bc0 + 0x21c) != 0)) { - FUN_70008268(_DAT_80056900,0xed,0); - *(undefined4 *)(_DAT_80068bc0 + 0x21c) = 0; - } - FUN_7f07e600(); - lVar2 = FUN_7f07e6d0(); - if (lVar2 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 5; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x21c) = 1; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 1; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - } - if (iVar4 == 5) { - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 1) { - FUN_7f0c07f0(); - } - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 1; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - if (iVar4 == 0xc) { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 1; - if (2 < *(int *)(_DAT_80068bc0 + 0x1c0)) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 6; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - FUN_70008268(_DAT_80056900,0xee,0); - goto LAB_7f07f27c; - } - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { -LAB_7f07f27c: - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - if (iVar4 == 6) { - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 1) { - FUN_7f07e668(); - if (bVar1) { - FUN_7f05deb8(0,0); - } - else { - FUN_7f05df9c(0); - } - } - lVar2 = FUN_7f07e6d0(); - if (lVar2 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 7; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x21c) = 1; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 1; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - } - if (iVar4 == 7) { - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 1) { - fVar8 = (float)FUN_7f07dffc(0); - fVar9 = 40.00000000; - if ((*(int *)(_DAT_80068bc0 + 0x220) != 0) && (*(int *)(_DAT_80068bc0 + 0x220) != 3)) { - fVar9 = (*(float *)(_DAT_80068bc0 + 600) * 40.00000000) / 20.00000000; - } - fVar7 = fVar9 + 20.00000000; - if (fVar7 <= fVar8) { - fVar7 = fVar8; - } - FUN_7f07e110(fVar7); - FUN_7f07e9b0(fVar9); - } - if ((*(int *)(_DAT_80068bc0 + 0x220) == 0) || (*(int *)(_DAT_80068bc0 + 0x220) == 3)) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 8; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 1; - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - } - if (iVar4 == 8) { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 0; - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 1) { - iVar4 = FUN_7f05defc(1); - iVar5 = FUN_7f05de88(1); - if ((iVar5 != iVar4) && (lVar2 = FUN_7f05d36c(1), lVar2 != 0)) { - uVar3 = FUN_7f05de88(1); - FUN_7f05deb8(1,uVar3); - } - if (bVar1) { - iVar4 = FUN_7f05defc(0); - iVar5 = FUN_7f05de88(0); - if ((iVar5 != iVar4) && (lVar2 = FUN_7f05d36c(0), lVar2 != 0)) { - uVar3 = FUN_7f05de88(0); - FUN_7f05deb8(0,uVar3); - } - } - } - else { - lVar2 = FUN_7f07e13c(); - if (lVar2 == 0) { - iVar4 = FUN_7f05defc(1); - iVar5 = FUN_7f05de88(1); - if ((iVar5 == iVar4) && (lVar2 = FUN_7f05d36c(1), lVar2 != 0)) { - if (bVar1) { - iVar4 = FUN_7f05defc(0); - iVar5 = FUN_7f05de88(0); - if ((iVar5 != iVar4) || (lVar2 = FUN_7f05d36c(0), lVar2 == 0)) goto LAB_7f07f5ec; - } - FUN_7f05df9c(1); - if (bVar1) { - FUN_7f05df9c(0); - } - FUN_7f06ad3c(8,1); - FUN_7f069888(4,1); - FUN_7f08a52c(1); - FUN_7f08ab70(1); - FUN_7f056440(4,1); - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - } - } - } -LAB_7f07f5ec: - if (*(int *)(_DAT_80068bc0 + 0x1c8) == 9) { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 0; - iVar4 = FUN_7f05de88(1); - iVar5 = FUN_7f05defc(1); - if ((iVar5 != iVar4) && (lVar2 = FUN_7f05d36c(1), lVar2 != 0)) { - if (bVar1) { - iVar4 = FUN_7f05de88(0); - iVar5 = FUN_7f05defc(0); - if ((iVar5 == iVar4) || (lVar2 = FUN_7f05d36c(0), lVar2 == 0)) goto LAB_7f07f690; - } - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 8; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - } -LAB_7f07f690: - if (*(int *)(_DAT_80068bc0 + 0x1c8) == 10) { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 0; - if (*(int *)(_DAT_80068bc0 + 0x1c0) == 1) { - uVar6 = FUN_7f07dffc(0); - FUN_7f07e110(uVar6); - } - iVar4 = FUN_7f05de88(1); - iVar5 = FUN_7f05defc(1); - if ((iVar5 != iVar4) && (lVar2 = FUN_7f05d36c(1), lVar2 != 0)) { - if (bVar1) { - iVar4 = FUN_7f05de88(0); - iVar5 = FUN_7f05defc(0); - if ((iVar5 == iVar4) || (lVar2 = FUN_7f05d36c(0), lVar2 == 0)) goto LAB_7f07f75c; - } - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 8; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - } -LAB_7f07f75c: - if (*(int *)(_DAT_80068bc0 + 0x1c8) == 0xb) { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 0; - iVar4 = FUN_7f05de88(1); - iVar5 = FUN_7f05defc(1); - if ((iVar5 == iVar4) && (lVar2 = FUN_7f05d36c(1), lVar2 != 0)) { - if (bVar1) { - iVar4 = FUN_7f05de88(0); - iVar5 = FUN_7f05defc(0); - if ((iVar5 != iVar4) || (lVar2 = FUN_7f05d36c(0), lVar2 == 0)) goto LAB_7f07f804; - } - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - } -LAB_7f07f804: - if (*(int *)(_DAT_80068bc0 + 0x1c8) == 0xd) { - *(undefined4 *)(_DAT_80068bc0 + 0x200) = 0; - lVar2 = FUN_7f05d36c(1); - if (((((lVar2 != 0) && (lVar2 = FUN_7f05d36c(0), lVar2 != 0)) && - (iVar4 = *(int *)(_DAT_80068bc0 + 0xc34), iVar4 != 5)) && ((iVar4 != 6 && (iVar4 != 7)))) - && (iVar4 != 8)) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - } - FUN_7f07e164(); - FUN_7f07ea04(); - FUN_7f07e700(); - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); -LAB_7f07f8b0: - if (iVar4 == 5) { - FUN_7f0bf03c(1); - FUN_7f0a5da0(); - } - else { - if (iVar4 == 0xc) { - FUN_7f0bf03c(1); - } - else { - FUN_7f0bf03c(0); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07f904(void) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x1d0) = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07f918(longlong lParm1) - -{ - longlong lVar1; - int iVar2; - int iVar3; - int iVar4; - undefined4 *puVar5; - undefined4 uVar6; - - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - if (iVar4 == 0) { - if (lParm1 == 0) { - DAT_80031af8 = DAT_80031af8 * DAT_8004ac60; - if (DAT_8004ac5c < DAT_80031af8) { - DAT_80031af8 = DAT_8004ac5c; - } - lVar1 = FUN_7f05d36c(1); - if ((((lVar1 == 0) || (lVar1 = FUN_7f05d36c(0), lVar1 == 0)) || - (iVar4 = *(int *)(_DAT_80068bc0 + 0xc34), iVar4 == 5)) || - (((iVar4 == 6 || (iVar4 == 7)) || (iVar4 == 8)))) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 0xd; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 1; - } - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - FUN_7f07dfd0(); - FUN_7f07e5d8(); - uVar6 = FUN_7f08a4c8(); - loc_7F0A32C8(_DAT_80068bc0 + 0x12b0,0x2e,1,uVar6); - loc_7F0A33E8(_DAT_80068bc0 + 0x19f0,_DAT_80068bc0 + -0x7fffed50,0x2e); - uVar6 = FUN_7f08a4b8(); - loc_7F0A32C8(_DAT_80068bc0 + 0x1590,0x2e,0xffffffffffffffff,uVar6); - loc_7F0A33E8(_DAT_80068bc0 + 0x2120,_DAT_80068bc0 + -0x7fffea70,0x2e); - FUN_7f0a5cc8(); - iVar3 = 0; - puVar5 = (undefined4 *)(_DAT_80068bc0 + 0x2850); - iVar4 = _DAT_80068bc0 + 0x1870; - do { - iVar2 = loc_7F0A3AEC(iVar4,iVar3,0,100,0x14,0xfffffed5,0x136); - puVar5 = (undefined4 *)sub_7F0A3B40(puVar5,iVar4 + -0x80000000); - iVar3 += 0x7d; - iVar4 = iVar2; - } while (iVar3 != 0x271); - *puVar5 = 0xb8000000; - puVar5[1] = 0; - iVar4 = _DAT_80068bc0; - iVar3 = _DAT_80068bc0 + 0x2990; - loc_7F0A3AEC(_DAT_80068bc0 + 0x19b0,0,0,0x398,0x14,0xfffffe34,0); - puVar5 = (undefined4 *)sub_7F0A3B40(iVar3,iVar4 + -0x7fffe650); - *puVar5 = 0xb8000000; - puVar5[1] = 0; - } - } - else { - if (iVar4 == 1) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 9; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - else { - if (iVar4 == 2) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 10; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - else { - if (iVar4 == 3) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 7; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - else { - if (iVar4 == 4) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 6; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - else { - if (iVar4 == 5) { - FUN_7f01d378(); - FUN_7f0c0820(); - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 0xc; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1d0) = 0; - } - else { - if (iVar4 != 0xc) { - if (iVar4 == 6) { - if (lParm1 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 4; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - FUN_7f0a5cc8(); - } - } - else { - if (iVar4 == 7) { - if (lParm1 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 3; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - FUN_7f0a5cc8(); - } - } - else { - if (iVar4 == 8) { - if (lParm1 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 0xb; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - FUN_7f0a5cc8(); - } - } - else { - if (iVar4 == 9) { - if (lParm1 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - } - else { - if (iVar4 == 10) { - if (lParm1 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - } - else { - if (iVar4 == 0xb) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 8; - *(undefined4 *)(_DAT_80068bc0 + 0x1c0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1c4) = 0; - } - else { - if (iVar4 == 0xd) { - *(undefined4 *)(_DAT_80068bc0 + 0x1c8) = 0; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07fd68(longlong lParm1) - -{ - float fVar1; - - if (lParm1 == -1) { - *(float *)(_DAT_80068bc0 + 0x170) = *(float *)(_DAT_80068bc0 + 0x170) - DAT_80041004; - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - if (fVar1 < -1.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x170) = 0xbf800000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - } - } - else { - if (lParm1 == 1) { - *(float *)(_DAT_80068bc0 + 0x170) = *(float *)(_DAT_80068bc0 + 0x170) + DAT_80041004; - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - if (1.00000000 < fVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x170) = 0x3f800000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - } - } - else { - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - if (0.00000000 < fVar1) { - *(float *)(_DAT_80068bc0 + 0x170) = fVar1 - DAT_80041004; - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - if (fVar1 < 0.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x170) = 0; - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - } - } - else { - *(float *)(_DAT_80068bc0 + 0x170) = fVar1 + DAT_80041004; - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - if (0.00000000 < fVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x170) = 0; - fVar1 = *(float *)(_DAT_80068bc0 + 0x170); - } - } - } - } - *(float *)(_DAT_80068bc0 + 0x16c) = fVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07fec0(longlong lParm1) - -{ - float fVar1; - - if (lParm1 == 1) { - *(float *)(_DAT_80068bc0 + 0x2a44) = *(float *)(_DAT_80068bc0 + 0x2a44) + DAT_80041004; - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - if (1.00000000 < fVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x2a44) = 0x3f800000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - } - } - else { - if (lParm1 == -1) { - *(float *)(_DAT_80068bc0 + 0x2a44) = *(float *)(_DAT_80068bc0 + 0x2a44) - DAT_80041004; - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - if (fVar1 < -1.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x2a44) = 0xbf800000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - } - } - else { - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - if (0.00000000 < fVar1) { - *(float *)(_DAT_80068bc0 + 0x2a44) = fVar1 - DAT_80041004; - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - if (fVar1 < 0.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x2a44) = 0; - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - } - } - else { - *(float *)(_DAT_80068bc0 + 0x2a44) = fVar1 + DAT_80041004; - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - if (0.00000000 < fVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x2a44) = 0; - fVar1 = *(float *)(_DAT_80068bc0 + 0x2a44); - } - } - } - } - *(float *)(_DAT_80068bc0 + 0x174) = fVar1; - return; -} - - - -float FUN_7f080018(float fParm1) - -{ - float fVar1; - - if (0.00000000 < fParm1) { - fVar1 = (float)FUN_7000402c(); - fVar1 = (fVar1 * fParm1 * DAT_8004ac64) / 60.00000000; - } - else { - if (fParm1 < 0.00000000) { - fVar1 = (float)FUN_7000402c(); - fVar1 = (fVar1 * -fParm1 * DAT_8004ac68) / 60.00000000; - } - else { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0800b4(float fParm1) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = (float)FUN_7000402c(); - fVar3 = fVar3 / 60.00000000; - fVar1 = (float)FUN_7f080018(fParm1); - if (0.00000000 < fParm1) { - fVar2 = *(float *)(_DAT_80068bc0 + 0x160); - if (0.00000000 < fVar2) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar2 - DAT_8004ac6c * DAT_80041004 * fVar3; - } - else { - *(float *)(_DAT_80068bc0 + 0x160) = fVar2 - DAT_8004ac70 * DAT_80041004 * fVar3; - } - if (*(float *)(_DAT_80068bc0 + 0x160) < fVar1) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar1; - } - } - else { - if (fParm1 < 0.00000000) { - fVar2 = *(float *)(_DAT_80068bc0 + 0x160); - if (fVar2 < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar2 + DAT_8004ac74 * DAT_80041004 * fVar3; - } - else { - *(float *)(_DAT_80068bc0 + 0x160) = fVar2 + DAT_8004ac78 * DAT_80041004 * fVar3; - } - if (fVar1 < *(float *)(_DAT_80068bc0 + 0x160)) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar1; - } - } - else { - fVar2 = *(float *)(_DAT_80068bc0 + 0x160); - if (fVar1 < fVar2) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar2 - DAT_8004ac7c * DAT_80041004 * fVar3; - if (*(float *)(_DAT_80068bc0 + 0x160) < fVar1) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar1; - } - } - else { - *(float *)(_DAT_80068bc0 + 0x160) = fVar2 + DAT_8004ac80 * DAT_80041004 * fVar3; - if (fVar1 < *(float *)(_DAT_80068bc0 + 0x160)) { - *(float *)(_DAT_80068bc0 + 0x160) = fVar1; - } - } - } - } - return; -} - - - -float FUN_7f0802cc(float fParm1) - -{ - float fVar1; - - if (0.00000000 < fParm1) { - fVar1 = (float)FUN_7000402c(); - fVar1 = (fVar1 * fParm1 * DAT_8004ac84) / 60.00000000; - } - else { - if (fParm1 < 0.00000000) { - fVar1 = (float)FUN_7000402c(); - fVar1 = (fVar1 * -fParm1 * DAT_8004ac88) / 60.00000000; - } - else { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080368(float fParm1) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = (float)FUN_7000402c(); - fVar3 = fVar3 / 60.00000000; - fVar1 = (float)FUN_7f0802cc(fParm1); - if (0.00000000 < fParm1) { - fVar2 = *(float *)(_DAT_80068bc0 + 0x14c); - if (0.00000000 < fVar2) { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar2 - DAT_8004ac8c * DAT_80041004 * fVar3; - } - else { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar2 - DAT_8004ac90 * DAT_80041004 * fVar3; - } - if (*(float *)(_DAT_80068bc0 + 0x14c) < fVar1) { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar1; - } - } - else { - if (fParm1 < 0.00000000) { - fVar2 = *(float *)(_DAT_80068bc0 + 0x14c); - if (fVar2 < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar2 + DAT_8004ac94 * DAT_80041004 * fVar3; - } - else { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar2 + DAT_8004ac98 * DAT_80041004 * fVar3; - } - if (fVar1 < *(float *)(_DAT_80068bc0 + 0x14c)) { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar1; - } - } - else { - fVar2 = *(float *)(_DAT_80068bc0 + 0x14c); - if (fVar1 < fVar2) { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar2 - DAT_8004ac9c * DAT_80041004 * fVar3; - if (*(float *)(_DAT_80068bc0 + 0x14c) < fVar1) { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar1; - } - } - else { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar2 + DAT_8004aca0 * DAT_80041004 * fVar3; - if (fVar1 < *(float *)(_DAT_80068bc0 + 0x14c)) { - *(float *)(_DAT_80068bc0 + 0x14c) = fVar1; - } - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0805c4) overlaps instruction at (ram,0x7f0805c0) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f080584(undefined4 *puParm1) - -{ - short sVar3; - short sVar4; - short sVar5; - int iVar1; - uint uVar2; - uint uVar6; - float fVar7; - - fVar7 = *(float *)(_DAT_80068bc0 + 0x3dc); - iVar1 = *(int *)(_DAT_80068bc0 + 0x3d0); - uVar2 = *(uint *)(_DAT_80068bc0 + 0x3d4); - uVar6 = *(uint *)(_DAT_80068bc0 + 0x3d8); - if ((DAT_80031980 != 0) || (DAT_80031984 != 0)) { - fVar7 = 1.00000000; - uVar6 = 0; - uVar2 = 0; - iVar1 = 0; - } - if (0.00000000 < fVar7) { - *puParm1 = 0xe7000000; - puParm1[1] = 0; - puParm1[3] = 0; - puParm1[2] = 0xba001402; - puParm1[5] = 0xc0; - puParm1[4] = 0xba000602; - puParm1[6] = 0xba001301; - puParm1[7] = 0; - puParm1[8] = 0xb9000002; - puParm1[9] = 0; - puParm1[10] = 0xba001001; - puParm1[0xb] = 0; - puParm1[0xd] = 0x2000; - puParm1[0xc] = 0xba000c02; - puParm1[0xf] = 0xc00; - puParm1[0xe] = 0xba000903; - puParm1[0x10] = 0xba000e02; - puParm1[0x11] = 0; - puParm1[0x12] = 0xb900031d; - puParm1[0x13] = 0x504340; - puParm1[0x15] = 0xfffdf6fb; - puParm1[0x14] = 0xfcffffff; - puParm1[0x16] = 0xfa000000; - puParm1[0x17] = - iVar1 << 0x18 | (uVar2 & 0xff) << 0x10 | (uVar6 & 0xff) << 8 | - (int)(fVar7 * 255.00000000) & 0xffU; - sVar3 = FUN_70003eec(); - sVar4 = FUN_70003f64(); - sVar5 = FUN_70003f74(); - iVar1 = FUN_70003efc(); - puParm1[0x18] = - (iVar1 + (int)sVar5 & 0x3ffU) << 2 | 0xf6000000 | ((int)sVar4 + (int)sVar3 & 0x3ffU) << 0xe - ; - sVar3 = FUN_70003f64(); - uVar2 = FUN_70003f74(); - puParm1[0x19] = (uVar2 & 0x3ff) << 2 | ((int)sVar3 & 0x3ffU) << 0xe; - puParm1[0x1a] = 0xe7000000; - puParm1[0x1b] = 0; - puParm1[0x1d] = 0x40; - puParm1[0x1c] = 0xba000602; - puParm1[0x1f] = 0x80000; - puParm1[0x1e] = 0xba001301; - puParm1[0x21] = 0x10000; - puParm1[0x20] = 0xba001001; - puParm1 = puParm1 + 0x22; - } - return puParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080854(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x3d0) = uParm1; - *(undefined4 *)(_DAT_80068bc0 + 0x3d4) = uParm2; - *(undefined4 *)(_DAT_80068bc0 + 0x3d8) = uParm3; - *(undefined4 *)(_DAT_80068bc0 + 0x3dc) = uParm4; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080884(undefined4 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 param_5) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x3e0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x3e4) = uParm1; - *(undefined4 *)(_DAT_80068bc0 + 1000) = *(undefined4 *)(_DAT_80068bc0 + 0x3d0); - *(undefined4 *)(_DAT_80068bc0 + 0x3ec) = uParm3; - *(undefined4 *)(_DAT_80068bc0 + 0x3f0) = *(undefined4 *)(_DAT_80068bc0 + 0x3d4); - *(undefined4 *)(_DAT_80068bc0 + 0x3f4) = uParm4; - *(undefined4 *)(_DAT_80068bc0 + 0x3f8) = *(undefined4 *)(_DAT_80068bc0 + 0x3d8); - *(undefined4 *)(_DAT_80068bc0 + 0x3fc) = uParm5; - *(undefined4 *)(_DAT_80068bc0 + 0x400) = *(undefined4 *)(_DAT_80068bc0 + 0x3dc); - *(undefined4 *)(_DAT_80068bc0 + 0x404) = param_5; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0808fc(undefined8 uParm1,undefined4 uParm2,undefined8 uParm3) - -{ - FUN_7f080884(uParm3,*(undefined4 *)(_DAT_80068bc0 + 0x3d0),*(undefined4 *)(_DAT_80068bc0 + 0x3d4), - *(undefined4 *)(_DAT_80068bc0 + 0x3d8),uParm2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f080930(void) - -{ - return (ulonglong)(*(float *)(_DAT_80068bc0 + 0x3e4) < 0.00000000); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080960(void) - -{ - float fVar1; - - if (0.00000000 <= *(float *)(_DAT_80068bc0 + 0x3e4)) { - *(float *)(_DAT_80068bc0 + 0x3e0) = *(float *)(_DAT_80068bc0 + 0x3e0) + DAT_80041004; - if (*(float *)(_DAT_80068bc0 + 0x3e0) < *(float *)(_DAT_80068bc0 + 0x3e4)) { - fVar1 = *(float *)(_DAT_80068bc0 + 0x3e0) / *(float *)(_DAT_80068bc0 + 0x3e4); - *(float *)(_DAT_80068bc0 + 0x3dc) = - *(float *)(_DAT_80068bc0 + 0x400) + - (*(float *)(_DAT_80068bc0 + 0x404) - *(float *)(_DAT_80068bc0 + 0x400)) * fVar1; - *(int *)(_DAT_80068bc0 + 0x3d0) = - *(int *)(_DAT_80068bc0 + 1000) + - (int)((float)(*(int *)(_DAT_80068bc0 + 0x3ec) - *(int *)(_DAT_80068bc0 + 1000)) * fVar1); - *(int *)(_DAT_80068bc0 + 0x3d4) = - *(int *)(_DAT_80068bc0 + 0x3f0) + - (int)((float)(*(int *)(_DAT_80068bc0 + 0x3f4) - *(int *)(_DAT_80068bc0 + 0x3f0)) * fVar1) - ; - *(int *)(_DAT_80068bc0 + 0x3d8) = - *(int *)(_DAT_80068bc0 + 0x3f8) + - (int)((float)(*(int *)(_DAT_80068bc0 + 0x3fc) - *(int *)(_DAT_80068bc0 + 0x3f8)) * fVar1) - ; - return; - } - *(undefined4 *)(_DAT_80068bc0 + 0x3dc) = *(undefined4 *)(_DAT_80068bc0 + 0x404); - *(undefined4 *)(_DAT_80068bc0 + 0x3d0) = *(undefined4 *)(_DAT_80068bc0 + 0x3ec); - *(undefined4 *)(_DAT_80068bc0 + 0x3d4) = *(undefined4 *)(_DAT_80068bc0 + 0x3f4); - *(undefined4 *)(_DAT_80068bc0 + 0x3d8) = *(undefined4 *)(_DAT_80068bc0 + 0x3fc); - *(undefined4 *)(_DAT_80068bc0 + 0x3e4) = 0xbf800000; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080ab4(undefined4 uParm1,undefined4 uParm2) - -{ - int iVar1; - float fVar2; - - iVar1 = *(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - if (iVar1 != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x18c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 400) = uParm1; - fVar2 = (float)(uint)*(byte *)(iVar1 + 0xc); - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + 0x194) = fVar2 / 255.00000000; - *(undefined4 *)(_DAT_80068bc0 + 0x198) = uParm2; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080b24(void) - -{ - int iVar1; - float fVar2; - - if (0.00000000 <= *(float *)(_DAT_80068bc0 + 400)) { - iVar1 = *(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - *(float *)(_DAT_80068bc0 + 0x18c) = *(float *)(_DAT_80068bc0 + 0x18c) + DAT_80041004; - if (*(float *)(_DAT_80068bc0 + 0x18c) < *(float *)(_DAT_80068bc0 + 400)) { - fVar2 = *(float *)(_DAT_80068bc0 + 0x194) + - ((*(float *)(_DAT_80068bc0 + 0x198) - *(float *)(_DAT_80068bc0 + 0x194)) * - *(float *)(_DAT_80068bc0 + 0x18c)) / *(float *)(_DAT_80068bc0 + 400); - } - else { - fVar2 = *(float *)(_DAT_80068bc0 + 0x198); - *(undefined4 *)(_DAT_80068bc0 + 400) = 0xbf800000; - } - if (iVar1 != 0) { - *(undefined *)(iVar1 + 0xc) = (char)(int)(fVar2 * 255.00000000); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080bd8(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,undefined4 uParm5) - -{ - uint uVar2; - ulonglong uVar1; - undefined4 uStackX8; - undefined auStack132 [64]; - undefined auStack68 [16]; - undefined4 uStack52; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - float fStack4; - - fStack4 = 0.00000000; - if (*(int *)(_DAT_80068bc0 + 0xd8) == 0) { - FUN_7f08ee1c(); - uStackX8 = uParm5; - if (fParm1 != 0.00000000) { - fStack4 = fParm2 / fParm1; - uStackX8 = uParm5; - } - } - else { - if (*(int *)(_DAT_80068bc0 + 0x420) != 0) { - uVar2 = FUN_700098b0(); - uVar1 = FUN_700098b0(); - if (DAT_80031a5c == 0) { - trap(0x1c00); - } - sub_7F08EA48((&DAT_80031a28)[uVar2 % DAT_80031a5c] + _DAT_80058478,uVar1 & 1,0,0x3f800000); - *(undefined4 *)(_DAT_80068bc0 + 0x420) = 0; - } - FUN_7f08f018(0x3f000000); - uStackX8 = 0; - } - FUN_7f08e7a0(fStack4,uStackX8); - FUN_7f058a18((360.00000000 - *(float *)(_DAT_80068bc0 + 0x15c)) * DAT_8004aca4); - FUN_7f059db0(auStack132,0,0,0,-*(float *)(_DAT_80068bc0 + 0x508), - -*(float *)(_DAT_80068bc0 + 0x50c),-*(float *)(_DAT_80068bc0 + 0x510), - *(undefined4 *)(_DAT_80068bc0 + 0x514),*(undefined4 *)(_DAT_80068bc0 + 0x518), - *(undefined4 *)(_DAT_80068bc0 + 0x51c)); - FUN_7f058510(auStack132,auStack68); - FUN_7f058aa4((360.00000000 - *(float *)(_DAT_80068bc0 + 0x148)) * DAT_8004aca8); - FUN_7f058510(auStack132,auStack68); - *(undefined4 *)(_DAT_80068bc0 + 0x4c0) = uStack36; - *(undefined4 *)(_DAT_80068bc0 + 0x4c4) = uStack32; - *(undefined4 *)(_DAT_80068bc0 + 0x4c8) = uStack28; - *(undefined4 *)(_DAT_80068bc0 + 0x4cc) = uStack52; - *(undefined4 *)(_DAT_80068bc0 + 0x4d0) = uStack48; - *(undefined4 *)(_DAT_80068bc0 + 0x4d4) = uStack44; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f080e04(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - int iVar1; - float fVar2; - - if (DAT_800319a0 == 0) { - if (*(int *)(_DAT_80068bc0 + 0x2a64) == 0) { - fVar2 = (float)FUN_7f0b1c30(uParm1,uParm2,uParm3); - } - else { - fVar2 = (float)FUN_7f0b1c30(*(undefined4 *)(_DAT_80068bc0 + 0x2a68),uParm2,uParm3); - } - } - else { - iVar1 = *(int *)(*(int *)(DAT_800319a0 + 4) + 0x10); - fVar2 = (float)FUN_7f0b1c30(*(undefined4 *)(iVar1 + 0x14),*(undefined4 *)(iVar1 + 8), - *(undefined4 *)(iVar1 + 0x10)); - fVar2 = fVar2 + DAT_800319a4; - } - return fVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080e9c(longlong lParm1,float fParm2) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - undefined4 uVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float local_30; - undefined auStack28 [4]; - undefined auStack24 [4]; - undefined4 local_14; - undefined4 local_10; - float local_c; - int local_4; - - if (DAT_80031998 == 1) { - uVar4 = FUN_7f080e04(*(undefined4 *)(_DAT_80068bc0 + 0x488), - *(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494)); - fVar8 = DAT_8004acac; - *(undefined4 *)(_DAT_80068bc0 + 0x74) = uVar4; - iVar3 = 0; - *(float *)(_DAT_80068bc0 + 0x6c) = *(float *)(_DAT_80068bc0 + 0x70) / fVar8; - fVar5 = DAT_8004acb0; - if (0 < DAT_80040ff4) { - do { - iVar3 += 1; - *(float *)(_DAT_80068bc0 + 0x6c) = - *(float *)(_DAT_80068bc0 + 0x6c) * fVar5 + *(float *)(_DAT_80068bc0 + 0x74); - } while (iVar3 < DAT_80040ff4); - } - local_4 = 0; - *(float *)(_DAT_80068bc0 + 0x70) = *(float *)(_DAT_80068bc0 + 0x6c) * fVar8; - goto LAB_7f081440; - } - if (lParm1 == 0) { - local_10 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - FUN_7f08a440(*(undefined4 *)(_DAT_80068bc0 + 0xa8),&local_14,auStack24,auStack28); - local_c = (float)FUN_7f080e04(*(undefined4 *)(_DAT_80068bc0 + 0x488), - *(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494)); - fVar8 = (float)FUN_7f0898e8(_DAT_80068bc0); - lVar2 = FUN_7f0b1978(&local_10,*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494),local_14,fVar8 + local_c); - fVar8 = local_c; - if ((-1 < lVar2) && (fVar8 = *(float *)(_DAT_80068bc0 + 0x74), fVar8 <= local_c)) { - fVar8 = local_c; - } - *(float *)(_DAT_80068bc0 + 0x74) = fVar8; -LAB_7f081080: - iVar3 = *(int *)(_DAT_80068bc0 + 0x2a64); - } - else { - *(float *)(_DAT_80068bc0 + 0x74) = *(float *)(_DAT_80068bc0 + 0x74) + fParm2; - fVar8 = (float)FUN_7f080e04(*(undefined4 *)(_DAT_80068bc0 + 0x488), - *(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494)); - if (*(float *)(_DAT_80068bc0 + 0x74) < fVar8) { - *(float *)(_DAT_80068bc0 + 0x74) = fVar8; - goto LAB_7f081080; - } - iVar3 = *(int *)(_DAT_80068bc0 + 0x2a64); - } - if (iVar3 == 0) { - fVar8 = *(float *)(_DAT_80068bc0 + 0x7c); - } - else { - if (*(float *)(_DAT_80068bc0 + 0x70) < *(float *)(_DAT_80068bc0 + 0x74)) { - *(undefined4 *)(_DAT_80068bc0 + 0x2a64) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x488) = *(undefined4 *)(_DAT_80068bc0 + 0x2a68); - *(undefined4 *)(_DAT_80068bc0 + 0x2a68) = 0; - fVar8 = *(float *)(_DAT_80068bc0 + 0x7c); - } - else { - fVar8 = *(float *)(_DAT_80068bc0 + 0x7c); - } - } - fVar5 = DAT_8004acb4; - fVar7 = *(float *)(_DAT_80068bc0 + 0x70); - if ((0.00000000 <= fVar8) || (fVar8 = *(float *)(_DAT_80068bc0 + 0x74), fVar7 < fVar8)) { - iVar3 = 0; - *(float *)(_DAT_80068bc0 + 0x6c) = fVar7 / DAT_8004acb4; - fVar8 = DAT_8004acb8; - if (0 < DAT_80040ff4) { - do { - iVar3 += 1; - *(float *)(_DAT_80068bc0 + 0x6c) = - *(float *)(_DAT_80068bc0 + 0x6c) * fVar8 + *(float *)(_DAT_80068bc0 + 0x74); - } while (iVar3 < DAT_80040ff4); - } - fVar7 = *(float *)(_DAT_80068bc0 + 0x70); - if (fVar7 < *(float *)(_DAT_80068bc0 + 0x74)) { - *(float *)(_DAT_80068bc0 + 0x70) = *(float *)(_DAT_80068bc0 + 0x6c) * fVar5; - fVar7 = *(float *)(_DAT_80068bc0 + 0x70); - fVar8 = *(float *)(_DAT_80068bc0 + 0x74); - goto LAB_7f08117c; - } - bVar1 = *(float *)(_DAT_80068bc0 + 0x74) < fVar7; - } - else { -LAB_7f08117c: - bVar1 = fVar8 < fVar7; - } - local_4 = 0; - fVar8 = *(float *)(_DAT_80068bc0 + 0x7c); - if (bVar1) { - local_4 = 0; - lVar2 = FUN_7f0904d0(); - if (((lVar2 == 0) || (_DAT_80068470 != 0.00000000)) || (_DAT_80068478 != 0.00000000)) { - local_30 = DAT_8004acc0; - } - else { - local_30 = DAT_8004acbc; - } - fVar5 = *(float *)(_DAT_80068bc0 + 0x74); - fVar6 = fVar8 - DAT_80041004 * local_30; - fVar7 = fVar7 + DAT_80041004 * (fVar8 + fVar6) * 0.50000000; - if (fVar7 < fVar5) { - fVar8 = *(float *)(_DAT_80068bc0 + 0x70) - fVar5; - fVar6 = (float)sqrtf(*(float *)(_DAT_80068bc0 + 0x7c) * *(float *)(_DAT_80068bc0 + 0x7c) + - (((fVar8 + fVar8) * DAT_8004acc4) / 60.00000000) * 60.00000000); - fVar6 = -fVar6; - fVar7 = fVar5; - if (*(int *)(_DAT_80068bc0 + 0x2a64) != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x2a64) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x488) = *(undefined4 *)(_DAT_80068bc0 + 0x2a68); - *(undefined4 *)(_DAT_80068bc0 + 0x2a68) = 0; - fVar7 = fVar5; - } - } - *(float *)(_DAT_80068bc0 + 0x70) = fVar7; - *(float *)(_DAT_80068bc0 + 0x7c) = fVar6; - fVar8 = *(float *)(_DAT_80068bc0 + 0x7c); - } - if (fVar8 < 0.00000000) { - if (*(float *)(_DAT_80068bc0 + 0x70) <= *(float *)(_DAT_80068bc0 + 0x74)) { - if (fVar8 < DAT_8004acc8) { - *(undefined4 *)(_DAT_80068bc0 + 0x8c) = 0xc; - *(undefined4 *)(_DAT_80068bc0 + 0x90) = 0xc2b40000; -LAB_7f0813b0: - *(undefined4 *)(_DAT_80068bc0 + 0x7c) = 0; - } - else { - if (fVar8 < -5.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x8c) = 0xc; - *(float *)(_DAT_80068bc0 + 0x90) = - ((-5.00000000 - *(float *)(_DAT_80068bc0 + 0x7c)) * -90.00000000) / DAT_8004accc; - goto LAB_7f0813b0; - } - *(undefined4 *)(_DAT_80068bc0 + 0x7c) = 0; - } - iVar3 = *(int *)(_DAT_80068bc0 + 0x2a64); - } - else { - iVar3 = *(int *)(_DAT_80068bc0 + 0x2a64); - } - } - else { - iVar3 = *(int *)(_DAT_80068bc0 + 0x2a64); - } - if (iVar3 != 0) { - fVar8 = (float)FUN_7f0898e8(_DAT_80068bc0); - fVar5 = (float)FUN_7f0b1c30(*(undefined4 *)(_DAT_80068bc0 + 0x488), - *(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494)); - if (*(float *)(_DAT_80068bc0 + 0x70) + fVar8 < fVar5) { - *(undefined4 *)(_DAT_80068bc0 + 0x2a64) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x488) = *(undefined4 *)(_DAT_80068bc0 + 0x2a68); - *(undefined4 *)(_DAT_80068bc0 + 0x2a68) = 0; - } - } -LAB_7f081440: - fVar8 = DAT_8004acd0; - if (0 < DAT_80040ff4) { - do { - if (*(int *)(_DAT_80068bc0 + 0x8c) < 1) { - fVar5 = *(float *)(_DAT_80068bc0 + 0x90); - if (fVar5 < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x90) = fVar5 - -5.62500000; - fVar5 = *(float *)(_DAT_80068bc0 + 0x90); - if (0.00000000 <= fVar5) { - *(undefined4 *)(_DAT_80068bc0 + 0x90) = 0; - fVar5 = *(float *)(_DAT_80068bc0 + 0x90); - fVar7 = *(float *)(_DAT_80068bc0 + 0x84); - } - else { - fVar7 = *(float *)(_DAT_80068bc0 + 0x84); - } - } - else { - fVar7 = *(float *)(_DAT_80068bc0 + 0x84); - } - *(float *)(_DAT_80068bc0 + 0x84) = fVar7 * fVar8 + fVar5; - } - else { - *(float *)(_DAT_80068bc0 + 0x84) = - *(float *)(_DAT_80068bc0 + 0x84) * fVar8 + *(float *)(_DAT_80068bc0 + 0x90); - *(int *)(_DAT_80068bc0 + 0x8c) = *(int *)(_DAT_80068bc0 + 0x8c) + -1; - } - local_4 += 1; - } while (local_4 < DAT_80040ff4); - } - *(float *)(_DAT_80068bc0 + 0x88) = *(float *)(_DAT_80068bc0 + 0x84) * DAT_8004acd4; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08151c(void) - -{ - int iVar1; - float fVar2; - float fVar3; - undefined4 uVar4; - float fVar5; - undefined4 local_c [3]; - - fVar3 = 30.00000000; - *(float *)(_DAT_80068bc0 + 0x29b4) = - *(float *)(_DAT_80068bc0 + 0x500) * *(float *)(_DAT_80068bc4 + 100) + 7.00000000; - fVar2 = *(float *)(_DAT_80068bc0 + 0x29b4) + - (*(float *)(_DAT_80068bc0 + 0x88) + *(float *)(_DAT_80068bc0 + 0xa0)) * - *(float *)(_DAT_80068bc4 + 100); - if (fVar2 < 30.00000000) { - fVar5 = *(float *)(_DAT_80068bc0 + 0x70); - } - else { - fVar5 = *(float *)(_DAT_80068bc0 + 0x70); - fVar3 = fVar2; - } - *(float *)(_DAT_80068bc0 + 0x490) = fVar5 + fVar3; - if ((((DAT_800319e4 == 5) || (DAT_800319e4 == 6)) || (DAT_800319e4 == 7)) && - (*(int *)(_DAT_80068bc0 + 0xd4) != 0)) { - iVar1 = *(int *)(_DAT_80068bc0 + 0xd8); - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x4b4) = *(undefined4 *)(_DAT_80068bc0 + 0x48c); - *(undefined4 *)(_DAT_80068bc0 + 0x4b8) = *(undefined4 *)(_DAT_80068bc0 + 0x490); - *(undefined4 *)(_DAT_80068bc0 + 0x4bc) = *(undefined4 *)(_DAT_80068bc0 + 0x494); - iVar1 = *(int *)(_DAT_80068bc0 + 0xd8); - } - if (((iVar1 != 0) && (0.00000000 < *(float *)(_DAT_80068bc0 + 0x29b8))) && - (*(float *)(_DAT_80068bc0 + 0x29b8) = *(float *)(_DAT_80068bc0 + 0x29b8) - 0.25000000, - *(float *)(_DAT_80068bc0 + 0x29b8) < 0.00000000)) { - *(undefined4 *)(_DAT_80068bc0 + 0x29b8) = 0; - } - if (*(float *)(_DAT_80068bc0 + 0x158) < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x4b8) = - *(float *)(_DAT_80068bc0 + 0x4b8) + - -(1.00000000 - *(float *)(_DAT_80068bc0 + 0x164)) * *(float *)(_DAT_80068bc0 + 0x29b8); - local_c[0] = *(undefined4 *)(_DAT_80068bc0 + 0x488); - } - else { - local_c[0] = *(undefined4 *)(_DAT_80068bc0 + 0x488); - } - uVar4 = DAT_8003ac04; - DAT_8003ac04 = 0; - sub_7F0B0BE4(local_c,*(undefined4 *)(_DAT_80068bc0 + 0x48c),*(undefined4 *)(_DAT_80068bc0 + 0x494) - ,*(undefined4 *)(_DAT_80068bc0 + 0x4b4),*(undefined4 *)(_DAT_80068bc0 + 0x4bc)); - DAT_8003ac04 = uVar4; - *(undefined4 *)(_DAT_80068bc0 + 0x4d8) = local_c[0]; - *(undefined4 *)(_DAT_80068bc0 + 0x4a4) = *(undefined4 *)(_DAT_80068bc0 + 0x4b4); - *(undefined4 *)(_DAT_80068bc0 + 0x4ac) = *(undefined4 *)(_DAT_80068bc0 + 0x4bc); - uVar4 = FUN_7f080e04(*(undefined4 *)(_DAT_80068bc0 + 0x4d8),*(undefined4 *)(_DAT_80068bc0 + 0x4b4) - ,*(undefined4 *)(_DAT_80068bc0 + 0x4bc)); - *(undefined4 *)(_DAT_80068bc0 + 0x4a8) = uVar4; - iVar1 = 0; - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x14) = *(undefined4 *)(_DAT_80068bc0 + 0x488); - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 8) = *(undefined4 *)(_DAT_80068bc0 + 0x48c); - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0xc) = *(undefined4 *)(_DAT_80068bc0 + 0x490); - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x10) = *(undefined4 *)(_DAT_80068bc0 + 0x494); - fVar3 = DAT_8004acd8; - if (0 < DAT_80040ff4) { - do { - iVar1 += 1; - *(float *)(_DAT_80068bc0 + 0x3b8) = - *(float *)(_DAT_80068bc0 + 0x4b4) + fVar3 * *(float *)(_DAT_80068bc0 + 0x3b8); - *(float *)(_DAT_80068bc0 + 0x3bc) = - *(float *)(_DAT_80068bc0 + 0x4b8) + fVar3 * *(float *)(_DAT_80068bc0 + 0x3bc); - *(float *)(_DAT_80068bc0 + 0x3c0) = - *(float *)(_DAT_80068bc0 + 0x4bc) + fVar3 * *(float *)(_DAT_80068bc0 + 0x3c0); - } while (iVar1 < DAT_80040ff4); - } - fVar3 = DAT_8004acdc; - *(float *)(_DAT_80068bc0 + 0x3c4) = *(float *)(_DAT_80068bc0 + 0x3b8) * DAT_8004acdc; - *(float *)(_DAT_80068bc0 + 0x3c8) = *(float *)(_DAT_80068bc0 + 0x3bc) * fVar3; - *(float *)(_DAT_80068bc0 + 0x3cc) = *(float *)(_DAT_80068bc0 + 0x3c0) * fVar3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f081834(void) - -{ - float fVar1; - undefined4 uVar2; - - fVar1 = *(float *)(_DAT_80068bc0 + 0x158); - while (fVar1 < -180.00000000) { - *(float *)(_DAT_80068bc0 + 0x158) = fVar1 + 360.00000000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x158); - } - while (180.00000000 <= fVar1) { - *(float *)(_DAT_80068bc0 + 0x158) = fVar1 - 360.00000000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x158); - } - if (90.00000000 < fVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x158) = 0x42b40000; - } - else { - if (fVar1 < -90.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x158) = 0xc2b40000; - } - } - uVar2 = func_7F057FC4(*(float *)(_DAT_80068bc0 + 0x148) * DAT_8004ace0); - *(undefined4 *)(_DAT_80068bc0 + 0x150) = uVar2; - uVar2 = func_7F057FC4(*(float *)(_DAT_80068bc0 + 0x148) * DAT_8004ace4); - *(undefined4 *)(_DAT_80068bc0 + 0x154) = uVar2; - *(undefined4 *)(_DAT_80068bc0 + 0x15c) = *(undefined4 *)(_DAT_80068bc0 + 0x158); - fVar1 = *(float *)(_DAT_80068bc0 + 0x15c); - if (fVar1 < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x15c) = fVar1 + 360.00000000; - fVar1 = *(float *)(_DAT_80068bc0 + 0x15c); - } - uVar2 = func_7F057FC4(fVar1 * DAT_8004ace8); - *(undefined4 *)(_DAT_80068bc0 + 0x164) = uVar2; - uVar2 = func_7F057FC4(*(float *)(_DAT_80068bc0 + 0x15c) * DAT_8004acec); - *(undefined4 *)(_DAT_80068bc0 + 0x168) = uVar2; - *(float *)(_DAT_80068bc0 + 0x498) = -*(float *)(_DAT_80068bc0 + 0x154); - *(undefined4 *)(_DAT_80068bc0 + 0x49c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x4a0) = *(undefined4 *)(_DAT_80068bc0 + 0x150); - return; -} - - - -// WARNING: Instruction at (ram,0x7f08387c) overlaps instruction at (ram,0x7f083878) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F083FB8(char cParm1,char cParm2,ushort uParm3,ushort uParm4) - -{ - bool bVar1; - bool bVar2; - bool bVar3; - bool bVar4; - ushort uVar5; - ushort uVar6; - ushort uVar7; - uint uVar8; - longlong lVar9; - undefined4 uVar11; - int iVar12; - undefined8 uVar10; - ushort uVar13; - ushort uVar14; - ushort uVar15; - ushort uVar16; - int iVar17; - uint uVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - uint uStack380; - float fStack336; - undefined auStack288 [4]; - undefined4 uStack284; - undefined4 uStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack260; - undefined4 uStack256; - float fStack252; - float fStack220; - int iStack212; - int iStack204; - ushort uStack198; - ushort uStack196; - ushort uStack194; - uint uStack192; - uint uStack188; - uint uStack184; - uint uStack180; - int iStack176; - int iStack172; - ushort uStack166; - ushort uStack164; - char cStack162; - char cStack161; - int iStack160; - int iStack156; - int iStack152; - int iStack148; - int iStack144; - int iStack140; - int iStack128; - uint uStack124; - uint uStack120; - int iStack116; - uint uStack112; - uint uStack108; - uint uStack104; - uint uStack100; - float fStack96; - float fStack92; - int iStack88; - int iStack84; - uint uStack80; - uint uStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - uint uStack48; - uint uStack44; - uint uStack40; - uint uStack36; - uint uStack32; - uint uStack28; - uint uStack24; - uint uStack20; - uint uStack16; - uint uStack12; - int iStack8; - uint uStack4; - - fVar22 = 0.00000000; - uStack4 = 0; - iStack8 = 0; - uStack12 = 0; - uStack16 = 0; - uStack20 = 0; - uStack24 = 0; - uStack28 = 0; - uStack32 = 0; - uStack36 = 0; - uStack40 = 0; - uStack44 = 0; - uStack48 = 0; - uStack76 = 0; - uStack80 = 0; - iStack84 = 0; - iStack88 = 0; - uStack100 = 0; - uStack104 = 0; - uStack108 = 0; - uStack112 = 0; - iStack116 = 0; - uStack120 = 0; - fStack52 = 0.00000000; - fStack56 = 0.00000000; - fStack60 = 0.00000000; - fStack64 = 0.00000000; - fStack68 = 0.00000000; - fStack72 = 0.00000000; - fStack92 = 0.00000000; - fStack96 = 0.00000000; - lVar9 = FUN_7f0a4158(); - uStack124 = (uint)(lVar9 == 0); - iStack128 = 0; - if (cParm1 < -5) { - iStack156 = (int)cParm1 + 5; - } - else { - iStack156 = 0; - if ('\x05' < cParm1) { - iStack156 = (int)cParm1 + -5; - } - } - if (cParm2 < -5) { - iStack160 = (int)cParm2 + 5; - } - else { - iStack160 = 0; - if ('\x05' < cParm2) { - iStack160 = (int)cParm2 + -5; - } - } - iStack140 = (int)cParm1; - iStack144 = (int)cParm2; - iStack152 = iStack160; - iStack148 = iStack156; - if (((*(int *)(_DAT_80068bc0 + 0xd8) == 0) && - (iStack152 = iStack160, iStack148 = iStack156, DAT_80031974 < 1)) && - ((((*(int *)(_DAT_80068bc0 + 0x1c8) != 5 && ((uParm3 & ~uParm4 & 0x1000) != 0)) || - ((iStack152 = iStack160, iStack148 = iStack156, *(int *)(_DAT_80068bc0 + 0x1c8) == 5 && - (iStack152 = iStack160, iStack148 = iStack156, *(int *)(_DAT_80068bc0 + 0x1d0) != 0)))) && - (iStack152 = iStack160, iStack148 = iStack156, lVar9 = FUN_7f0999a4(), lVar9 == 1)))) { - FUN_7f07f918(0); - } - if (((*(int *)(_DAT_80068bc0 + 0x1c8) == 0) && (*(int *)(_DAT_80068bc0 + 0xd8) == 0)) && - ((lVar9 = FUN_7f0999a4(), lVar9 == 1 || ((_DAT_80073ae0 == 0 && (_DAT_80073ae4 == 0)))))) { - lVar9 = FUN_7f0a40e0(); - if ((lVar9 == 6) || - (((lVar9 = FUN_7f0a40e0(), lVar9 == 7 || (lVar9 = FUN_7f0a40e0(), lVar9 == 5)) || - (lVar9 = FUN_7f0a40e0(), lVar9 == 4)))) { - uVar15 = uParm3 & ~uParm4; - iVar12 = FUN_7f09a690(); - iVar17 = FUN_7f0999a4(); - cStack161 = FUN_7000ae60((iVar17 + iVar12) * 0x1000000 >> 0x18); - iVar12 = FUN_7f09a690(); - iVar17 = FUN_7f0999a4(); - cStack162 = FUN_7000af70((iVar17 + iVar12) * 0x1000000 >> 0x18); - iVar12 = FUN_7f09a690(); - iVar17 = FUN_7f0999a4(); - uStack164 = FUN_7000b080((iVar17 + iVar12) * 0x1000000 >> 0x18,0xffff); - uStack166 = *(ushort *)(_DAT_80068bc0 + 0x3b6); - if (cStack161 < -5) { - iStack172 = (int)cStack161 + 5; - } - else { - iStack172 = 0; - if ('\x05' < cStack161) { - iStack172 = (int)cStack161 + -5; - } - } - iStack176 = (int)cStack162 + 5; - if ((-6 < cStack162) && (iStack176 = (int)cStack162 + -5, cStack162 < '\x06')) { - iStack176 = 0; - } - lVar9 = FUN_7f0a40e0(); - if ((lVar9 == 4) || (lVar9 = FUN_7f0a40e0(), lVar9 == 6)) { - iStack156 = iStack172; - iStack152 = iStack176; - } - else { - if (DAT_80031998 == 1) { - if (*(int *)(_DAT_80068bc0 + 0x124) == 0) { - iStack148 = iStack172; - } - else { - iStack156 = iStack172; - } - } - else { - iStack156 = iStack172; - } - iStack160 = iStack176; - } - lVar9 = FUN_7f0a40e0(); - if ((lVar9 == 4) || (lVar9 = FUN_7f0a40e0(), lVar9 == 5)) { - uVar14 = uStack164 & 0x2000; - uVar13 = uStack164 & ~uStack166; - uVar16 = uParm3 & 0x2000; - uVar5 = uVar13; - uVar6 = uVar15; - } - else { - uVar14 = uParm3 & 0x2000; - uVar13 = uStack164 & ~uStack166; - uVar16 = uStack164 & 0x2000; - uVar5 = uVar15; - uVar6 = uVar13; - } - uVar7 = uStack164; - uStack180 = (uint)(uVar16 != 0); - uStack184 = (uint)((uVar6 & 0x2000) != 0); - uStack188 = (uint)(uVar14 != 0); - uStack192 = (uint)((uVar5 & 0x2000) != 0); - lVar9 = FUN_7f0bf078(); - if ((lVar9 == 0) && (lVar9 = FUN_7f0c199c(), lVar9 != 0)) { - lVar9 = FUN_7f0a41a0(); - if (lVar9 == 0) { - *(uint *)(_DAT_80068bc0 + 0x124) = uStack188; - } - else { - if (uStack192 != 0) { - *(uint *)(_DAT_80068bc0 + 0x124) = (uint)(*(int *)(_DAT_80068bc0 + 0x124) == 0); - } - } - iStack88 = *(int *)(_DAT_80068bc0 + 0x124); - bVar4 = (uVar15 & 0x4000) != 0; - uStack120 = (uint)(iStack88 == 0); - bVar1 = bVar4; - if (!bVar4) { - bVar1 = (uVar13 & 0x4000) != 0; - } - uStack16 = (uint)bVar1; - uStack32 = (uint)(iStack88 == 0); - uStack24 = 1; - if (((iStack88 != 0) && ('<' < cParm2)) && - (fStack60 = (float)((int)cParm2 + -0x3c) / 10.00000000, 1.00000000 < fStack60)) { - fStack60 = 1.00000000; - } - if (((iStack88 != 0) && (cParm2 < -0x3c)) && - (fStack64 = (float)(-0x3c - (int)cParm2) / 10.00000000, 1.00000000 < fStack64)) { - fStack64 = 1.00000000; - } - if (((iStack88 != 0) && (cParm1 < -0x3c)) && - (fStack68 = (float)(-0x3c - (int)cParm1) / 10.00000000, 1.00000000 < fStack68)) { - fStack68 = 1.00000000; - } - if (((iStack88 != 0) && ('<' < cParm1)) && - (fStack72 = (float)((int)cParm1 + -0x3c) / 10.00000000, 1.00000000 < fStack72)) { - fStack72 = 1.00000000; - } - bVar1 = (uParm3 & 0x8000) != 0; - if ((bVar1) || (bVar2 = (uVar7 & 0x8000) != 0, bVar2)) { - bVar2 = uStack184 != 0; - } - uStack76 = (uint)bVar2; - bVar2 = (uVar15 & 0x8000) != 0; - if ((bVar2) || (bVar3 = (uVar13 & 0x8000) != 0, bVar3)) { - bVar3 = uStack180 == 0; - } - uStack80 = (uint)bVar3; - iStack84 = iStack88; - uStack28 = uStack32; - uStack20 = uStack32; - iStack8 = iStack88; - uStack4 = uStack120; - uVar10 = FUN_7f05de88(0); - lVar9 = FUN_7f05e56c(uVar10,0x8000); - if ((lVar9 != 0) && (*(int *)(_DAT_80068bc0 + 0x124) != 0)) { - if (iStack176 < 0) { - fStack92 = (float)-iStack176 / 70.00000000; - if (1.00000000 < fStack92) { - fStack92 = 2.00000000; - } - else { - fStack92 = fStack92 + fStack92; - } - } - if (0 < iStack176) { - fStack96 = (float)iStack176 / 70.00000000; - if (1.00000000 < fStack96) { - fStack96 = 2.00000000; - } - else { - fStack96 = fStack96 + fStack96; - } - } - } - uVar10 = FUN_7f05de88(0); - lVar9 = FUN_7f05e56c(uVar10,0x8000); - uStack100 = (uint)(lVar9 == 0); - if ((lVar9 == 0) && - (bVar3 = *(int *)(_DAT_80068bc0 + 0x124) != 0, uStack100 = (uint)bVar3, bVar3)) { - uStack100 = (uint)(cStack162 < -0x1e); - } - uVar10 = FUN_7f05de88(0); - lVar9 = FUN_7f05e56c(uVar10,0x8000); - uStack104 = (uint)(lVar9 == 0); - if ((lVar9 == 0) && - (bVar3 = *(int *)(_DAT_80068bc0 + 0x124) != 0, uStack104 = (uint)bVar3, bVar3)) { - uStack104 = (uint)(cStack162 < '\x1f') ^ 1; - } - if ((((((bVar1) && (bVar4)) || (((uParm3 & 0x4000) != 0 && (bVar2)))) || - (((uVar7 & 0x8000) != 0 && ((uVar13 & 0x4000) != 0)))) || - (((uVar7 & 0x4000) != 0 && ((uVar13 & 0x8000) != 0)))) && - (lVar9 = FUN_7f05de88(0), lVar9 == 0x1d)) { - iStack116 = 1; - uStack76 = 0; - uStack80 = 0; - uStack16 = 0; - } - if ((DAT_80031998 == 1) && (*(int *)(_DAT_80068bc0 + 0x124) != 0)) { - lVar9 = FUN_7f05de88(0); - if (lVar9 == 0x20) { - iStack140 = 0; - if (iStack156 == 0) { - iStack156 = iStack148; - } - } - else { - if (iStack156 == 0) { - if (0.00000000 < fStack68) { - fStack52 = fStack68; - } - if (0.00000000 < fStack72) { - fStack56 = fStack72; - } - } - } - fStack68 = 0.00000000; - fStack72 = 0.00000000; - } - } - uStack12 = (uint)(uStack180 != 0); - if (uStack180 != 0) { - bVar4 = *(int *)(_DAT_80068bc0 + 0x1c8) == 0; - if (bVar4) { - bVar4 = (uParm3 & 0x8000) == 0; - uStack12 = (uint)bVar4; - if (!bVar4) goto LAB_7f08234c; - bVar4 = (uVar7 & 0x8000) == 0; - } - uStack12 = (uint)bVar4; - } -LAB_7f08234c: - iStack128 = 1; - *(ushort *)(_DAT_80068bc0 + 0x3b6) = uStack164; - } - else { - lVar9 = FUN_7f0a40e0(); - if ((lVar9 == 2) || (lVar9 = FUN_7f0a40e0(), lVar9 == 3)) { - uStack194 = 0x8000; - uStack196 = 0x2000; - uStack198 = 0x30; - } - else { - uStack194 = 0x2000; - uStack196 = 0x30; - uStack198 = 0x8000; - } - lVar9 = FUN_7f0bf078(); - if ((lVar9 == 0) && (lVar9 = FUN_7f0c199c(), lVar9 != 0)) { - uVar15 = uParm3 & ~uParm4; - lVar9 = FUN_7f0a41a0(); - if (lVar9 == 0) { - *(uint *)(_DAT_80068bc0 + 0x124) = (uint)((uParm3 & uStack196) != 0); - } - else { - if ((uVar15 & uStack196) != 0) { - *(uint *)(_DAT_80068bc0 + 0x124) = (uint)(*(int *)(_DAT_80068bc0 + 0x124) == 0); - } - } - iStack8 = *(int *)(_DAT_80068bc0 + 0x124); - bVar4 = (uVar15 & 0x4000) != 0; - uStack120 = (uint)(iStack8 == 0); - uStack16 = (uint)bVar4; - uStack4 = uStack120; - lVar9 = FUN_7f0a40e0(); - if ((lVar9 == 1) || (lVar9 = FUN_7f0a40e0(), lVar9 == 3)) { - bVar1 = (uParm3 & 0x202) != 0; - uVar18 = (uint)bVar1; - if (bVar1) { - if (*(int *)(_DAT_80068bc0 + 0x124) == 0) { - if (DAT_80031998 == 1) { - fStack68 = 1.00000000; - } - else { - uStack44 = 1; - } - } - else { - fStack52 = 1.00000000; - } - } - bVar1 = (uParm3 & 0x101) != 0; - uStack380 = (uint)bVar1; - iStack88 = *(int *)(_DAT_80068bc0 + 0x124); - if (bVar1) { - if (iStack88 == 0) { - if (DAT_80031998 == 1) { - fStack72 = 1.00000000; - } - else { - uStack48 = 1; - } - } - else { - fStack56 = 1.00000000; - } - } - bVar1 = iStack88 == 0; - bVar2 = bVar1; - if (bVar1) { - bVar2 = (uParm3 & 0x808) != 0; - } - uStack36 = (uint)bVar2; - bVar2 = bVar1; - if (bVar1) { - bVar2 = (uParm3 & 0x404) != 0; - } - uStack40 = (uint)bVar2; - uStack32 = (uint)bVar1; - uVar8 = uStack32; - if (DAT_80031998 != 1) { - uStack28 = (uint)bVar1; - uVar8 = uStack24; - } - } - else { - bVar1 = (uParm3 & 0x202) != 0; - uVar18 = (uint)bVar1; - if (bVar1) { - fStack52 = 1.00000000; - } - bVar2 = (uParm3 & 0x101) != 0; - if (bVar2) { - fStack56 = 1.00000000; - } - iStack88 = *(int *)(_DAT_80068bc0 + 0x124); - bVar3 = iStack88 == 0; - uStack44 = (uint)(bVar3 && bVar1); - uStack380 = (uint)bVar2; - uStack48 = (uint)(bVar3 && bVar2); - uStack20 = (uint)bVar3; - if ((iStack88 == 0) && ((uParm3 & 0x808) != 0)) { - fStack60 = 1.00000000; - } - if ((iStack88 == 0) && ((uParm3 & 0x404) != 0)) { - fStack64 = 1.00000000; - } - uStack28 = (uint)bVar3; - uVar8 = uStack24; - } - uStack24 = uVar8; - if ((iStack88 == 0) || (cParm2 < '=')) { - if ((iStack88 != 0) && - ((cParm2 < -0x3c && - (fStack64 = (float)(-0x3c - (int)cParm2) / 10.00000000, 1.00000000 < fStack64)))) { - fStack64 = 1.00000000; - } - } - else { - fStack60 = (float)((int)cParm2 + -0x3c) / 10.00000000; - if (1.00000000 < fStack60) { - fStack60 = 1.00000000; - } - } - if (((iStack88 != 0) && (cParm1 < -0x3c)) && - (fStack68 = (float)(-0x3c - (int)cParm1) / 10.00000000, 1.00000000 < fStack68)) { - fStack68 = 1.00000000; - } - if (((iStack88 != 0) && ('<' < cParm1)) && - (fStack72 = (float)((int)cParm1 + -0x3c) / 10.00000000, 1.00000000 < fStack72)) { - fStack72 = 1.00000000; - } - bVar1 = (uParm3 & uStack198) != 0; - bVar2 = bVar1; - if (bVar1) { - bVar2 = (uVar15 & uStack194) != 0; - } - uStack76 = (uint)bVar2; - bVar3 = (uVar15 & uStack198) != 0; - bVar2 = bVar3; - if (bVar3) { - bVar2 = (uParm3 & uStack194) == 0; - } - uStack80 = (uint)bVar2; - iStack84 = iStack88; - uVar10 = FUN_7f05de88(0); - lVar9 = FUN_7f05e56c(uVar10,0x8000); - if (lVar9 != 0) { - if (*(int *)(_DAT_80068bc0 + 0x124) != 0) { - if ((uParm3 & 0x404) != 0) { - fStack92 = 1.00000000; - } - if ((uParm3 & 0x808) != 0) { - fStack96 = 1.00000000; - } - } - } - uVar10 = FUN_7f05de88(0); - lVar9 = FUN_7f05e56c(uVar10,0x8000); - uStack100 = (uint)(lVar9 == 0); - if ((lVar9 == 0) && - (bVar2 = *(int *)(_DAT_80068bc0 + 0x124) != 0, uStack100 = (uint)bVar2, bVar2)) { - uStack100 = (uint)((uParm3 & 0x404) != 0); - } - uVar10 = FUN_7f05de88(0); - lVar9 = FUN_7f05e56c(uVar10,0x8000); - uStack104 = (uint)(lVar9 == 0); - if ((lVar9 == 0) && - (bVar2 = *(int *)(_DAT_80068bc0 + 0x124) != 0, uStack104 = (uint)bVar2, bVar2)) { - uStack104 = (uint)((~uParm3 & 0x808) != 0); - } - bVar2 = *(int *)(_DAT_80068bc0 + 0x124) != 0; - uStack112 = (uint)bVar2; - uStack108 = (uint)bVar2; - if (bVar2) { - uStack112 = uStack380; - uStack108 = uVar18; - } - if ((((bVar1) && (bVar4)) || (((uParm3 & 0x4000) != 0 && (bVar3)))) && - (lVar9 = FUN_7f05de88(0), lVar9 == 0x1d)) { - iStack116 = 1; - uStack76 = 0; - uStack80 = 0; - uStack16 = 0; - } - if ((DAT_80031998 == 1) && (*(int *)(_DAT_80068bc0 + 0x124) != 0)) { - lVar9 = FUN_7f05de88(0); - if (lVar9 == 0x20) { - iStack140 = 0; - uStack24 = 1; - } - else { - if ((fStack52 == 0.00000000) && (fStack56 == 0.00000000)) { - if (0.00000000 < fStack68) { - fStack52 = fStack68; - } - if (0.00000000 < fStack72) { - fStack56 = fStack72; - } - } - } - fStack68 = 0.00000000; - fStack72 = 0.00000000; - } - } - bVar4 = (uParm3 & uStack194) != 0; - uStack12 = (uint)bVar4; - if ((bVar4) && (bVar4 = *(int *)(_DAT_80068bc0 + 0x1c8) == 0, uStack12 = (uint)bVar4, bVar4)) - { - uStack12 = (uint)((uParm3 & uStack198) == 0); - } - lVar9 = FUN_7f0a40e0(); - if ((lVar9 == 1) || (lVar9 = FUN_7f0a40e0(), lVar9 == 3)) { - iStack128 = 1; - } - } - } - *(undefined4 *)(_DAT_80068bc0 + 0xd0) = 0; - if (uStack16 != 0) { - if (DAT_80031998 == 1) { - iStack204 = *(int *)(DAT_800319a0 + 4); - uVar11 = FUN_7f069be4(0x20); - *(undefined4 *)(iStack204 + 0xd8) = uVar11; - FUN_7f069c18(0x20,0); - FUN_7f08c994(0x20); - lVar9 = FUN_7f05de88(0); - if (lVar9 == 0x20) { - iVar12 = FUN_7f069ad8(0); - *(int *)(iStack204 + 0xd8) = *(int *)(iStack204 + 0xd8) + iVar12; - FUN_7f05dcb8(); - } - iVar12 = 0; - *(undefined4 *)(iStack204 + 0xc4) = 0; - DAT_80031998 = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x16c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x174) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x14c) = 0; - do { - iVar17 = _DAT_80068bc0 + iVar12; - iVar12 += 4; - *(undefined4 *)(iVar17 + 0x180) = 0; - } while (iVar12 != 0xc); - *(undefined4 *)(_DAT_80068bc0 + 0x9c) = 2; - } - else { - if ((((DAT_800319a0 == NULL) || (*DAT_800319a0 != '\x01')) || - (*(char *)(*(int *)(DAT_800319a0 + 4) + 3) != '-')) || (DAT_800319d0 == 0)) { - *(undefined4 *)(_DAT_80068bc0 + 0xd0) = 1; - } - else { - iStack212 = *(int *)(DAT_800319a0 + 4); - FUN_7f08c7e8(0x20); - FUN_7f069c18(0x20,*(undefined4 *)(iStack212 + 0xd8)); - DAT_800319bc = *(float *)(iStack212 + 200); - *(undefined4 *)(iStack212 + 0xd8) = 0; - DAT_800319c0 = DAT_800319bc / DAT_8004acf0; - DAT_800319d4 = *(undefined4 *)(iStack212 + 0xcc); - DAT_800319c4 = *(float *)(iStack212 + 0xcc); - DAT_800319c8 = DAT_800319c4 / DAT_8004acf4; - DAT_800319cc = 0; - DAT_800319b4 = *(undefined4 *)(iStack212 + 0xdc); - DAT_800319b0 = 0.00000000; - DAT_80031998 = 1; - _DAT_80068498 = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x16c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x174) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x14c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x9c) = 1; - _DAT_8006849c = 0; - _DAT_800684a0 = 0x3f800000; - _DAT_800684a4 = *(undefined4 *)(_DAT_80068bc0 + 0x148); - _DAT_800684a8 = *(undefined4 *)(_DAT_80068bc0 + 0x158); - _DAT_800684b0 = *(undefined4 *)(_DAT_80068bc0 + 0x48c); - _DAT_800684b4 = *(undefined4 *)(_DAT_80068bc0 + 0x490); - _DAT_800684b8 = *(undefined4 *)(_DAT_80068bc0 + 0x494); - DAT_800319e0 = 0; - FUN_7f07c888(); - } - } - } - fVar21 = fStack64; - if (uStack124 == 0) { - iStack144 = -(int)cParm2; - iStack152 = -iStack152; - fStack64 = fStack60; - fStack60 = fVar21; - } - lVar9 = FUN_7f08a040(); - if ((lVar9 != 0) && (lVar9 = FUN_7f0999a4(), lVar9 == 1)) { - uStack12 = 0; - } - FUN_7f067bc8(uStack12); - lVar9 = FUN_7f08a140(); - if ((lVar9 != 0) && - ((lVar9 = FUN_7f05e140(0), lVar9 != 0 || (lVar9 = FUN_7f05e140(1), lVar9 != 0)))) { - fStack220 = 0.00000000; - lVar9 = FUN_7f05e140(0); - if ((lVar9 != 0) && (fVar21 = (float)FUN_7f06791c(0), 0.00000000 < fVar21)) { - fStack220 = (float)FUN_7f06791c(0); - } - lVar9 = FUN_7f05e140(1); - if ((lVar9 != 0) && (fVar21 = (float)FUN_7f06791c(1), fStack220 < fVar21)) { - fStack220 = (float)FUN_7f06791c(1); - } - FUN_7f022eb4(fStack220); - } - FUN_7f06ad3c(2,iStack84); - if (0.00000000 < fStack92) { - FUN_7f05e25c(fStack92); - } - if (0.00000000 < fStack96) { - FUN_7f05e34c(fStack96); - } - fVar21 = 60.00000000; - if (*(int *)(_DAT_80068bc0 + 0x1c8) == 0) { - if ((iStack88 != 0) && (fVar21 = (float)FUN_7f05e1f0(0x42700000), fVar21 <= 0.00000000)) { - fVar21 = 60.00000000; - } - FUN_7f07e540(fVar21); - FUN_7f07e700(); - } - if (DAT_80031998 == 1) { - DAT_800319d8 = 0.00000000; - if (_DAT_80068498 == 2) { - if (0.00000000 < fStack56) { - DAT_800319d8 = DAT_80041004 * fStack56 * DAT_8004acf8 + 0.00000000; - } - else { - if (0.00000000 < fStack52) { - DAT_800319d8 = 0.00000000 - DAT_80041004 * fStack52 * DAT_8004acfc; - } - else { - if (uStack24 != 0) { - fVar21 = 1.00000000; - if ((float)iStack156 / 70.00000000 <= 1.00000000) { - fVar21 = (float)iStack156 / 70.00000000; - } - fVar19 = -1.00000000; - if (-1.00000000 <= fVar21) { - fVar19 = fVar21; - } - DAT_800319d8 = DAT_8004ad00 * fVar19 * DAT_80041004 + 0.00000000; - } - } - } - fVar21 = 1.00000000; - if (*(int *)(_DAT_80068bc0 + 0x124) == 0) { - if (uStack20 == 0) { - fVar19 = fVar21; - if ((uStack36 == 0) && (fVar19 = 0.00000000, uStack40 != 0)) { - fVar19 = -1.00000000; - } - } - else { - fVar19 = (float)iStack160 / 70.00000000; - } - if (1.00000000 < fVar19) { - fVar20 = 1.00000000; - } - else { - fVar20 = -1.00000000; - if (-1.00000000 <= fVar19) { - fVar20 = fVar19; - } - } - fVar20 = fVar20 * 15.00000000; - if (0 < DAT_800319e0) { - fVar21 = 4.00000000; - DAT_800319e0 -= DAT_80040ff4; - fVar20 = fVar20 * 0.50000000; - } - fVar19 = *(float *)(_DAT_80068bc0 + 0x174); - if (fVar20 != fVar19) { - if (fVar19 < fVar20) { - *(float *)(_DAT_80068bc0 + 0x174) = - fVar19 + (((((fVar20 - fVar19) * 0.25000000) / 15.00000000 + 0.50000000) * fVar21 * - 10.00000000) / 60.00000000) * DAT_80041004; - if (fVar20 < *(float *)(_DAT_80068bc0 + 0x174)) { - *(float *)(_DAT_80068bc0 + 0x174) = fVar20; - } - } - else { - if ((fVar20 < fVar19) && - (*(float *)(_DAT_80068bc0 + 0x174) = - fVar19 + (((((fVar19 - fVar20) * 0.25000000) / 15.00000000 + 0.50000000) * - fVar21 * -10.00000000) / 60.00000000) * DAT_80041004, - *(float *)(_DAT_80068bc0 + 0x174) < fVar20)) { - *(float *)(_DAT_80068bc0 + 0x174) = fVar20; - } - } - } - } - } - } - else { - if (uStack44 == 0) { - if (uStack48 == 0) { - FUN_7f07fd68(0); - } - else { - FUN_7f07fd68(1); - } - } - else { - FUN_7f07fd68(0xffffffffffffffff); - } - if (uStack24 != 0) { - *(float *)(_DAT_80068bc0 + 0x16c) = (float)iStack156 / 70.00000000; - } - if (uStack36 == 0) { - if (uStack40 == 0) { - FUN_7f07fec0(0); - } - else { - FUN_7f07fec0(0xffffffffffffffff); - } - } - else { - FUN_7f07fec0(1); - *(int *)(_DAT_80068bc0 + 0x17c) = *(int *)(_DAT_80068bc0 + 0x17c) + DAT_80040ff4; - } - if (uStack20 != 0) { - *(float *)(_DAT_80068bc0 + 0x174) = (float)iStack160 / 70.00000000; - if (iStack160 < 0x3d) { - *(undefined4 *)(_DAT_80068bc0 + 0x17c) = 0; - } - else { - *(int *)(_DAT_80068bc0 + 0x17c) = *(int *)(_DAT_80068bc0 + 0x17c) + DAT_80040ff4; - } - } - fVar21 = *(float *)(_DAT_80068bc0 + 0x174); - if (1.00000000 < fVar21) { - *(undefined4 *)(_DAT_80068bc0 + 0x174) = 0x3f800000; - fVar21 = *(float *)(_DAT_80068bc0 + 0x174); - } - if (fVar21 < -1.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x174) = 0xbf800000; - } - fVar21 = *(float *)(_DAT_80068bc0 + 0x16c); - if (1.00000000 < fVar21) { - *(undefined4 *)(_DAT_80068bc0 + 0x16c) = 0x3f800000; - fVar21 = *(float *)(_DAT_80068bc0 + 0x16c); - } - if (fVar21 < -1.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x16c) = 0xbf800000; - } - *(float *)(_DAT_80068bc0 + 0x174) = *(float *)(_DAT_80068bc0 + 0x174) * DAT_8004ad04; - *(float *)(_DAT_80068bc0 + 0x174) = - *(float *)(_DAT_80068bc0 + 0x174) * *(float *)(_DAT_80068bc0 + 0x178); - if ((uStack20 == 0) && (uStack36 == 0)) { - *(undefined4 *)(_DAT_80068bc0 + 0x17c) = 0; - } - if (uStack108 == 0) { - if (uStack112 == 0) { - FUN_7f079a08(0); - } - else { - FUN_7f079a08(1); - } - } - else { - FUN_7f079a08(0xffffffffffffffff); - } - if (uStack100 == 0) { - if (uStack104 != 0) { - FUN_7f079a2c(2); - } - } - else { - FUN_7f079a2c(0xfffffffffffffffe); - } - } - if (*(int *)(_DAT_80068bc0 + 0x17c) < 0x96) { - fVar21 = *(float *)(_DAT_80068bc0 + 0x178); - if (1.00000000 < fVar21) { - *(float *)(_DAT_80068bc0 + 0x178) = fVar21 - DAT_8004ad0c * DAT_80041004; - fVar21 = *(float *)(_DAT_80068bc0 + 0x178); - } - if (fVar21 < 1.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x178) = 0x3f800000; - goto LAB_7f08350c; - } - iVar12 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - fVar21 = *(float *)(_DAT_80068bc0 + 0x178); - if (fVar21 < 1.25000000) { - *(float *)(_DAT_80068bc0 + 0x178) = fVar21 + DAT_8004ad08 * DAT_80041004; - fVar21 = *(float *)(_DAT_80068bc0 + 0x178); - } - if (1.25000000 < fVar21) { - *(undefined4 *)(_DAT_80068bc0 + 0x178) = 0x3fa00000; -LAB_7f08350c: - iVar12 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - iVar12 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - } - if (iVar12 == 0) { - fVar21 = -4.00000000; - if (*(int *)(_DAT_80068bc0 + 0x114) != 0) { - uStack256 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - fStack260 = 300.00000000; - fStack252 = -4.00000000; - FUN_7f08a440(*(undefined4 *)(_DAT_80068bc0 + 0xa8),auStack288,&uStack280,&uStack284); - fStack276 = *(float *)(_DAT_80068bc0 + 0x498) * 300.00000000 + - *(float *)(_DAT_80068bc0 + 0x48c); - fStack272 = *(float *)(_DAT_80068bc0 + 0x490); - fStack268 = *(float *)(_DAT_80068bc0 + 0x4a0) * 300.00000000 + - *(float *)(_DAT_80068bc0 + 0x494); - FUN_7f0b0f84(); - lVar9 = loc_7F0B13B4(&uStack256,*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494),fStack276,fStack268,0x1000, - uStack280,uStack284,0,0x3f800000); - if (lVar9 == 0) { - FUN_7f0262b0(_DAT_80068bc0 + 0x48c,_DAT_80068bc0 + 0x498,&fStack276); - fVar21 = fStack276 - *(float *)(_DAT_80068bc0 + 0x48c); - fVar19 = fStack268 - *(float *)(_DAT_80068bc0 + 0x494); - fStack260 = (float)sqrtf(fVar21 * fVar21 + fVar19 * fVar19); - fStack272 = (float)FUN_7f080e04(uStack256,fStack276,fStack268); - } - else { - fStack272 = (float)FUN_7f080e04(uStack256,fStack276,fStack268); - } - fVar21 = fStack252; - if (((0.00000000 < fStack260) && - (fVar19 = fStack272 - *(float *)(_DAT_80068bc0 + 0x74), fVar21 = fStack252, - -300.00000000 < fVar19)) && (fVar21 = fStack252, fVar19 < 500.00000000)) { - fVar21 = (float)convert_angle_using_inverse(fVar19,fStack260); - fVar21 = (fVar21 * 360.00000000) / DAT_8004ad10 + -4.00000000; - if (180.00000000 <= fVar21) { - fVar21 = fVar21 - 360.00000000; - } - if (0.00000000 < fVar21) { - fVar21 = fVar21 * DAT_8004ad14; - } - } - } - if (((*(int *)(_DAT_80068bc0 + 0x110) != 0) && (iStack160 < 0x28)) && (-0x28 < iStack160)) { - *(undefined4 *)(_DAT_80068bc0 + 0x110) = 0; - } - if (DAT_80031998 == 0) { - if (fStack60 <= 0.00000000) { - if (0.00000000 < fStack64) { - *(undefined4 *)(_DAT_80068bc0 + 0x104) = 0; - goto LAB_7f08378c; - } - if (iStack128 != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x120) = 0; - goto LAB_7f0838d4; - } - if (*(int *)(_DAT_80068bc0 + 0x118) == 0) { - if (*(int *)(_DAT_80068bc0 + 0x11c) == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x10c) = 0; - } - else { - if ((uStack20 != 0) && ((0x3c < iStack160 || (iStack160 < -0x3c)))) { - if (*(float *)(_DAT_80068bc0 + 0x158) <= fVar21 + 5.00000000) { - if (fVar21 + -10.00000000 <= *(float *)(_DAT_80068bc0 + 0x158)) { - *(undefined4 *)(_DAT_80068bc0 + 0x10c) = 0; - goto LAB_7f0838dc; - } - iVar12 = *(int *)(_DAT_80068bc0 + 0x110); - } - else { - iVar12 = *(int *)(_DAT_80068bc0 + 0x110); - } - if (iVar12 != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x10c) = 0; - goto LAB_7f0838dc; - } - *(undefined4 *)(_DAT_80068bc0 + 0x104) = 1; - } -LAB_7f0838d4: - *(undefined4 *)(_DAT_80068bc0 + 0x10c) = 0; - } - } - else { - if (uStack20 == 0) { -LAB_7f0837f0: - iVar12 = *(int *)(_DAT_80068bc0 + 0x120); - } - else { - if ((0x3c < iStack160) || (iStack160 < -0x3c)) { - *(undefined4 *)(_DAT_80068bc0 + 0x120) = 1; - goto LAB_7f0837f0; - } - iVar12 = *(int *)(_DAT_80068bc0 + 0x120); - } - if (iVar12 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x10c) = 0; - } - else { - if (*(float *)(_DAT_80068bc0 + 0x158) <= fVar21 + 5.00000000) { - if (fVar21 + -10.00000000 <= *(float *)(_DAT_80068bc0 + 0x158)) { - *(undefined4 *)(_DAT_80068bc0 + 0x10c) = 0; - goto LAB_7f0838dc; - } - iVar12 = *(int *)(_DAT_80068bc0 + 0x110); - } - else { - iVar12 = *(int *)(_DAT_80068bc0 + 0x110); - } - if (iVar12 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x104) = 1; - goto LAB_7f0838d4; - } - *(undefined4 *)(_DAT_80068bc0 + 0x10c) = 0; - } - } - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x104) = 0; -LAB_7f08378c: - *(undefined4 *)(_DAT_80068bc0 + 0x10c) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x120) = 0; - } -LAB_7f0838dc: - iVar12 = *(int *)(_DAT_80068bc0 + 0x104); - } - else { - iVar12 = *(int *)(_DAT_80068bc0 + 0x104); - } - if (iVar12 == 0) { - if (uStack32 == 0) { - if (fStack60 <= 0.00000000) { - if (0.00000000 < fStack64) { - FUN_7f0800b4(-fStack64); - if ((uStack20 != 0) && ((0x3c < iStack160 || (iStack160 < 0x3c)))) { - *(undefined4 *)(_DAT_80068bc0 + 0x110) = 1; - } - } - else { - FUN_7f0800b4(0); - } - } - else { - FUN_7f0800b4(fStack60); - if ((uStack20 != 0) && ((0x3c < iStack160 || (iStack160 < 0x3c)))) { - *(undefined4 *)(_DAT_80068bc0 + 0x110) = 1; - } - } - } - else { - fVar21 = (float)FUN_7000402c(); - fVar19 = (float)iStack152 / 70.00000000; - if (1.00000000 < fVar19) { - fVar19 = 1.00000000; - bVar4 = true; - } - else { - if (fVar19 < -1.00000000) { - fVar19 = -1.00000000; - bVar4 = false; - } - else { - bVar4 = 0.00000000 <= fVar19; - } - } - fVar20 = fVar19; - if (!bVar4) { - fVar20 = -fVar19; - } - *(float *)(_DAT_80068bc0 + 0x160) = -(fVar19 * fVar20) * (fVar21 / 60.00000000); - } - *(float *)(_DAT_80068bc0 + 0x158) = - *(float *)(_DAT_80068bc0 + 0x158) + - *(float *)(_DAT_80068bc0 + 0x160) * DAT_80041004 * 3.50000000; - if (((DAT_80031998 == 1) && (_DAT_80068498 == 2)) && - (*(float *)(_DAT_80068bc0 + 0x158) < -20.00000000)) { - *(undefined4 *)(_DAT_80068bc0 + 0x158) = 0xc1a00000; - } - } - else { - if (DAT_80031998 == 0) { - fVar19 = (*(float *)(_DAT_80068bc0 + 0x160) * *(float *)(_DAT_80068bc0 + 0x160) * 0.50000000 - ) / DAT_8004ad18; - if (fVar21 + fVar19 < *(float *)(_DAT_80068bc0 + 0x158)) { - fStack252 = fVar21; - FUN_7f0800b4(0x3f800000); - } - else { - if (*(float *)(_DAT_80068bc0 + 0x158) < fVar21 - fVar19) { - fStack252 = fVar21; - FUN_7f0800b4(0xbf800000); - } - else { - fStack252 = fVar21; - FUN_7f0800b4(0); - } - } - fVar21 = *(float *)(_DAT_80068bc0 + 0x158); - fVar19 = *(float *)(_DAT_80068bc0 + 0x160) * DAT_80041004; - fVar19 = fVar21 + fVar19 + fVar19; - if ((fVar21 <= fStack252) || (fVar19 <= fStack252)) { - if (fVar21 < fStack252) { - if (fVar19 < fStack252) { - *(float *)(_DAT_80068bc0 + 0x158) = fVar19; - goto LAB_7f083be4; - } - *(float *)(_DAT_80068bc0 + 0x158) = fStack252; - } - else { - *(float *)(_DAT_80068bc0 + 0x158) = fStack252; - } - *(undefined4 *)(_DAT_80068bc0 + 0x160) = 0; - if (*(int *)(_DAT_80068bc0 + 0x10c) == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x104) = 0; - } - } - else { - *(float *)(_DAT_80068bc0 + 0x158) = fVar19; - } - } - } - } -LAB_7f083be4: - if (uStack28 == 0) { - if (0.00000000 < fStack68) { - FUN_7f080368(fStack68); - } - else { - if (0.00000000 < fStack72) { - FUN_7f080368(-fStack72); - } - else { - FUN_7f080368(0); - } - } - } - else { - fVar21 = (float)FUN_7000402c(); - fVar19 = (float)iStack148 / 70.00000000; - if (1.00000000 < fVar19) { - fVar20 = 1.00000000; - } - else { - fVar20 = -1.00000000; - if (-1.00000000 <= fVar19) { - fVar20 = fVar19; - } - } - fVar19 = fVar20; - if (fVar20 < 0.00000000) { - fVar19 = -fVar20; - } - *(float *)(_DAT_80068bc0 + 0x14c) = fVar20 * fVar19 * (fVar21 / 60.00000000); - } - if (DAT_80031998 == 1) { - if (_DAT_80068498 == 2) { - if (uStack28 == 0) { - if (0.00000000 < fStack68) { - fVar22 = (float)FUN_7f0802cc(0x3f800000); - fVar22 = fVar22 * DAT_8004ad20; - } - else { - if (0.00000000 < fStack72) { - fVar22 = (float)FUN_7f0802cc(0xbf800000); - fVar22 = fVar22 * DAT_8004ad24; - } - } - } - else { - fVar22 = *(float *)(_DAT_80068bc0 + 0x14c) * DAT_8004ad1c; - } - if (0 < DAT_80040ff4) { - iVar12 = 1; - DAT_800319b0 = DAT_8004ad28 * DAT_800319b0; - if (1 < DAT_80040ff4) { - do { - iVar12 += 1; - DAT_800319b0 = DAT_8004ad28 * (DAT_800319b0 + fVar22); - } while (iVar12 < DAT_80040ff4); - } - DAT_800319b0 = DAT_800319b0 + fVar22; - } - *(float *)(_DAT_80068bc0 + 0x14c) = DAT_800319b0 * DAT_8004ad2c; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x14c) = 0; - } - } - if (iStack116 != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x88c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x890) = 0; - FUN_7f051cf8(); - } - lVar9 = FUN_7f0999a4(); - if (lVar9 < 2) { - bVar4 = true; - } - else { - lVar9 = FUN_7f0146c8(); - if (lVar9 == 2) { - lVar9 = FUN_7f08d364(); - if (lVar9 == 0) { - bVar4 = true; - } - else { - bVar4 = false; - } - } - else { - bVar4 = true; - } - } - if (bVar4) { - if (uStack76 != 0) { - FUN_7f05dc20(); - } - if (uStack80 != 0) { - FUN_7f05db88(); - } - } - if (uStack4 == 0) { - if (iStack8 != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x430) = 2; - } - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x430) = 0; - } - if (*(int *)(_DAT_80068bc0 + 0x430) != 0) { - if (*(int *)(_DAT_80068bc0 + 0x430) != 2) { - return; - } - FUN_7f06824c(0); - FUN_7f068764(((float)iStack140 * DAT_8004ad38) / 80.00000000, - ((float)iStack144 * DAT_8004ad38) / 80.00000000); - return; - } - FUN_7f06824c(0); - if (((uStack120 == 0) || (lVar9 = FUN_7f07c77c(), lVar9 == 0)) || - (*(int *)(_DAT_80068bc0 + 0x140) == 0)) { -LAB_7f083f68: - fStack336 = *(float *)(_DAT_80068bc0 + 0x14c) * DAT_8004ad30; - } - else { - uVar10 = FUN_7f05de88(0); - lVar9 = FUN_7f05e56c(uVar10,8); - if (lVar9 == 0) goto LAB_7f083f68; - fStack336 = *(float *)(_DAT_80068bc0 + 0x13c); - } - if (((uStack120 != 0) && (lVar9 = FUN_7f07c694(), lVar9 != 0)) && - (*(int *)(_DAT_80068bc0 + 0x130) != 0)) { - uVar10 = FUN_7f05de88(0); - lVar9 = FUN_7f05e56c(uVar10,8); - if (lVar9 != 0) { - fVar22 = *(float *)(_DAT_80068bc0 + 300); - goto LAB_7f083fec; - } - } - fVar22 = -*(float *)(_DAT_80068bc0 + 0x160) * DAT_8004ad34; -LAB_7f083fec: - FUN_7f068700(fStack336,fVar22); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08406c(void) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - - if (*(float *)(_DAT_80068bc0 + 0xf4) < 0.00000000) { - fVar2 = *(float *)(_DAT_80068bc0 + 0xf8); - goto LAB_7f0842d0; - } - if (*(float *)(_DAT_80068bc0 + 0xf4) == 0.00000000) { - FUN_7f069888(8,0); - FUN_7f06ad3c(0x10,0); - FUN_7f08a548(4); - FUN_7f08ab8c(4); - FUN_7f056440(8,0); - fVar2 = (float)FUN_7f08a4b8(); - *(int *)(_DAT_80068bc0 + 0x29cc) = (int)(fVar2 * 8.00000000); - iVar1 = *(int *)(_DAT_80068bc0 + 0x29cc); - if (7 < iVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x29cc) = 7; - iVar1 = *(int *)(_DAT_80068bc0 + 0x29cc); - } - if (iVar1 < 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x29cc) = 0; - iVar1 = *(int *)(_DAT_80068bc0 + 0xd8); - } - else { - iVar1 = *(int *)(_DAT_80068bc0 + 0xd8); - } - } - else { - iVar1 = *(int *)(_DAT_80068bc0 + 0xd8); - } - if (iVar1 == 0) { - fVar2 = *(float *)(_DAT_80068bc0 + 0xf4); - iVar1 = *(int *)(_DAT_80068bc0 + 0x29cc) * 0x2c; - if (*(float *)(&DAT_80031b8c + iVar1) < fVar2) { - if (*(float *)(&DAT_80031b9c + iVar1) < fVar2) goto LAB_7f084268; - fVar3 = *(float *)(&DAT_80031b94 + iVar1); - } - else { - fVar3 = *(float *)(&DAT_80031b94 + iVar1); - } - if (fVar3 <= fVar2) { - if (fVar2 <= *(float *)(&DAT_80031b9c + iVar1)) { - fVar2 = fVar2 - fVar3; - fVar4 = *(float *)(&DAT_80031b98 + iVar1); - fVar3 = *(float *)(&DAT_80031b9c + iVar1) - fVar3; - if (fVar2 < fVar4) { - fVar4 = (*(float *)(&DAT_80031ba0 + iVar1) * fVar2) / fVar4; - } - else { - fVar4 = (*(float *)(&DAT_80031ba0 + iVar1) * (fVar3 - fVar2)) / (fVar3 - fVar4); - } - FUN_7f080854(*(undefined4 *)(&DAT_80031ba4 + iVar1),*(undefined4 *)(&DAT_80031ba8 + iVar1), - *(undefined4 *)(iVar1 + -0x7ffce454),fVar4); - fVar2 = *(float *)(_DAT_80068bc0 + 0xf4); - iVar1 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - iVar1 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - } - else { - iVar1 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - if (iVar1 == 0) { - *(float *)(_DAT_80068bc0 + 0xf4) = fVar2 + DAT_80041004; - } - else { - *(float *)(_DAT_80068bc0 + 0xf4) = fVar2 + DAT_80041120; - } - } - else { -LAB_7f084268: - *(undefined4 *)(_DAT_80068bc0 + 0xf4) = 0xbf800000; - FUN_7f080854(0xff,0xff,0xff,0); - if (*(int *)(_DAT_80068bc0 + 0xd8) != 0) { - fVar2 = *(float *)(_DAT_80068bc0 + 0xf8); - goto LAB_7f0842d0; - } - FUN_7f069888(8,1); - FUN_7f06ad3c(0x10,1); - FUN_7f08a52c(4); - FUN_7f08ab70(4); - FUN_7f056440(8,1); - } - fVar2 = *(float *)(_DAT_80068bc0 + 0xf8); -LAB_7f0842d0: - if (0.00000000 <= fVar2) { - if (fVar2 == 0.00000000) { - fVar2 = (float)FUN_7f08a4b8(); - *(int *)(_DAT_80068bc0 + 0x29b0) = (int)(fVar2 * 8.00000000); - iVar1 = *(int *)(_DAT_80068bc0 + 0x29b0); - if (7 < iVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x29b0) = 7; - iVar1 = *(int *)(_DAT_80068bc0 + 0x29b0); - } - if (iVar1 < 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x29b0) = 0; - iVar1 = *(int *)(_DAT_80068bc0 + 0xd8); - } - else { - iVar1 = *(int *)(_DAT_80068bc0 + 0xd8); - } - } - else { - iVar1 = *(int *)(_DAT_80068bc0 + 0xd8); - } - if (iVar1 == 0) { - iVar1 = *(int *)(_DAT_80068bc0 + 0x29b0); - fVar2 = *(float *)(_DAT_80068bc0 + 0xf8); - if ((fVar2 < (float)(&DAT_80031ce4)[iVar1 * 3]) || ((float)(&DAT_80031ce8)[iVar1 * 3] < fVar2) - ) { - if ((fVar2 < (float)(&DAT_80031ce4)[iVar1 * 3]) || - ((float)(&DAT_80031cec)[iVar1 * 3] < fVar2)) { - *(undefined4 *)(_DAT_80068bc0 + 0xf8) = 0xbf800000; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0xec) = *(undefined4 *)(_DAT_80068bc0 + 0xdc); - *(undefined4 *)(_DAT_80068bc0 + 0xf0) = *(undefined4 *)(_DAT_80068bc0 + 0xe0); - *(float *)(_DAT_80068bc0 + 0xf8) = *(float *)(_DAT_80068bc0 + 0xf8) + DAT_80041004; - } - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0xec) = *(undefined4 *)(_DAT_80068bc0 + 0xe4); - *(undefined4 *)(_DAT_80068bc0 + 0xf0) = *(undefined4 *)(_DAT_80068bc0 + 0xe8); - *(float *)(_DAT_80068bc0 + 0xf8) = *(float *)(_DAT_80068bc0 + 0xf8) + DAT_80041004; - } - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0xf8) = 0xbf800000; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0844a4(void) - -{ - longlong lVar1; - uint uVar2; - float fVar3; - float local_c; - float local_8; - float local_4; - - _DAT_80068480 += 1; - if (((DAT_80031994 != 0) && (DAT_80031a04 == 0)) && (_DAT_8006847c < DAT_80040ffc)) { - local_c = *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 8); - local_8 = *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0xc); - local_4 = *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x10); - uVar2 = _DAT_80068480 & 3; - if (((int)_DAT_80068480 < 0) && (uVar2 != 0)) { - uVar2 -= 4; - } - if (uVar2 == 0) { - lVar1 = FUN_700098b0(); - fVar3 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_c = local_c + fVar3 * 0.00000000 * 150.00000000 + 250.00000000; - } - else { - if (uVar2 == 1) { - lVar1 = FUN_700098b0(); - fVar3 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_c = local_c - (fVar3 * 0.00000000 * 150.00000000 + 250.00000000); - } - else { - if (uVar2 == 2) { - lVar1 = FUN_700098b0(); - fVar3 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_4 = local_4 + fVar3 * 0.00000000 * 150.00000000 + 250.00000000; - } - else { - if (uVar2 == 3) { - lVar1 = FUN_700098b0(); - fVar3 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_4 = local_4 - (fVar3 * 0.00000000 * 150.00000000 + 250.00000000); - } - } - } - } - lVar1 = FUN_700098b0(); - fVar3 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_8 = local_8 + (fVar3 * 0.00000000 * 200.00000000 - 100.00000000); - FUN_7f09b790(0,&local_c,*(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x14),0x12,0,0, - *(int *)(_DAT_80068bc0 + 0xa8) + 0x2c,0); - uVar2 = FUN_700098b0(); - _DAT_8006847c = uVar2 % 0xc + DAT_80040ffc + 0xc; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08478c(undefined uParm1,undefined uParm2,ushort uParm3,ushort uParm4) - -{ - short sVar1; - bool bVar2; - undefined8 uVar3; - longlong lVar4; - int iVar5; - int iVar6; - int iVar7; - int extraout_a0_lo; - char *pcVar8; - float fVar9; - float fVar10; - undefined4 uVar11; - float fVar12; - float fVar13; - undefined auStack860 [4]; - int iStack856; - undefined4 auStack852 [2]; - int iStack844; - undefined4 uStack840; - undefined4 uStack836; - undefined4 uStack832; - int iStack828; - undefined4 uStack824; - undefined auStack820 [4]; - undefined auStack816 [4]; - short *psStack812; - undefined auStack804 [32]; - undefined auStack772 [48]; - float fStack724; - float fStack720; - float fStack716; - undefined auStack712 [64]; - undefined4 uStack648; - int iStack640; - float fStack628; - float fStack592; - float fStack588; - undefined auStack584 [4]; - undefined auStack580 [12]; - float fStack568; - float fStack564; - float fStack560; - float fStack556; - float fStack552; - float fStack544; - float fStack540; - float fStack536; - float fStack532; - float fStack528; - float fStack520; - undefined auStack516 [76]; - undefined4 uStack440; - float fStack436; - float fStack432; - float fStack416; - float fStack412; - float fStack408; - float fStack372; - float fStack356; - float fStack352; - float fStack348; - float fStack344; - float fStack340; - undefined auStack336 [68]; - float fStack268; - undefined auStack260 [64]; - float fStack196; - undefined4 uStack192; - float fStack188; - int iStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack156; - float fStack152; - float fStack148; - float fStack132; - float fStack128; - float afStack124 [2]; - float fStack116; - float afStack112 [2]; - float fStack104; - float fStack100; - float fStack96; - float fStack92; - float afStack80 [2]; - float fStack72; - float afStack68 [2]; - float fStack60; - float fStack48; - float fStack44; - float fStack40; - undefined4 uStack36; - float fStack32; - float fStack24; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = DAT_80031d44; - uStack8 = DAT_80031d48; - fStack4 = DAT_80031d4c; - uStack36 = 0; - fStack32 = 0.00000000; - fStack40 = 0.00000000; - if ((0 < DAT_80031974) && (DAT_80031974 += 1, 3 < DAT_80031974)) { - DAT_80031974 = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x2a4c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x2a48) = 0; - uVar3 = FUN_7f05de88(1); - FUN_7f05e00c(1,uVar3); - uVar3 = FUN_7f05de88(0); - FUN_7f05e00c(0,uVar3); - } - FUN_7f079ad0(0); - FUN_7f08406c(); - FUN_7f0844a4(); - loc_7F083FB8(uParm1,uParm2,(ulonglong)uParm3,(ulonglong)uParm4); - lVar4 = FUN_7f0bf078(); - if (lVar4 != 0) { - FUN_7f07eb90(); - } - if (*(int *)(_DAT_80068bc0 + 0x1c8) != 0) { - FUN_7f07ecf4(); - } - if (DAT_80031998 == 0) { - lVar4 = FUN_7f079a70(); - if (lVar4 == 0) { - *(float *)(_DAT_80068bc0 + 0x174) = *(float *)(_DAT_80068bc0 + 0x174) * 0.50000000; - *(float *)(_DAT_80068bc0 + 0x16c) = *(float *)(_DAT_80068bc0 + 0x16c) * 0.50000000; - } - fVar13 = *(float *)(_DAT_80068bc0 + 0x180); - if (fVar13 == 0.00000000) { - if (*(float *)(_DAT_80068bc0 + 0x188) == 0.00000000) goto LAB_7f084a84; - fVar9 = *(float *)(_DAT_80068bc0 + 0x188); - } - else { - fVar9 = *(float *)(_DAT_80068bc0 + 0x188); - } - fStack44 = fVar9 * *(float *)(_DAT_80068bc0 + 0x150) + - -fVar13 * *(float *)(_DAT_80068bc0 + 0x154); - fStack48 = -fVar13 * *(float *)(_DAT_80068bc0 + 0x150) - - fVar9 * *(float *)(_DAT_80068bc0 + 0x154); - fVar9 = (float)sqrtf(fVar9 * fVar9 + fVar13 * fVar13); - iVar6 = 0; - *(float *)(_DAT_80068bc0 + 0x174) = *(float *)(_DAT_80068bc0 + 0x174) + fStack44; - *(float *)(_DAT_80068bc0 + 0x16c) = *(float *)(_DAT_80068bc0 + 0x16c) + fStack48; - fVar13 = DAT_8004ad3c; - do { - iVar5 = _DAT_80068bc0 + iVar6; - fVar12 = *(float *)(iVar5 + 0x180); - if (fVar12 != 0.00000000) { - if (0.00000000 < fVar12) { - *(float *)(iVar5 + 0x180) = fVar12 - (fVar13 * DAT_80041004 * fVar12) / fVar9; - if (*(float *)(_DAT_80068bc0 + iVar6 + 0x180) < 0.00000000) { - *(undefined4 *)(_DAT_80068bc0 + iVar6 + 0x180) = 0; - } - } - else { - if (fVar12 < 0.00000000) { - *(float *)(iVar5 + 0x180) = fVar12 - (fVar13 * DAT_80041004 * fVar12) / fVar9; - if (0.00000000 < *(float *)(_DAT_80068bc0 + iVar6 + 0x180)) { - *(undefined4 *)(_DAT_80068bc0 + iVar6 + 0x180) = 0; - } - } - } - } - iVar6 += 4; - } while (iVar6 != 0xc); - } -LAB_7f084a84: - if (DAT_80031998 == 1) { - fStack96 = *(float *)(_DAT_80068bc0 + 0x14c) * DAT_80041004 * DAT_8004ad44 * 3.50000000; - fStack92 = DAT_800319b4 + fStack96; - if (DAT_8004ad40 <= fStack92) { - fStack92 = fStack92 - DAT_8004ad40; - } - if (fStack92 < 0.00000000) { - fStack92 = fStack92 + DAT_8004ad40; - uVar11 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - } - else { - uVar11 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - } - lVar4 = loc_7F07CD98(_DAT_80068bc0 + 0x48c,uVar11,fStack92,afStack68,afStack80); - if (lVar4 == 0) { - fStack156 = -1.00000000; - fStack180 = -1.00000000; - FUN_7f0b1b70(afStack112,afStack124); - fStack128 = afStack124[0] - afStack112[0]; - fStack132 = fStack116 - fStack104; - fVar13 = (float)sqrtf(fStack128 * fStack128 + fStack132 * fStack132); - fStack148 = fStack132 * (1.00000000 / fVar13); - fStack152 = -(fStack128 * (1.00000000 / fVar13)); - fVar13 = (*(float *)(_DAT_80068bc0 + 0x494) - fStack72) * fStack152 + - (*(float *)(_DAT_80068bc0 + 0x48c) - afStack80[0]) * fStack148; - if (fVar13 < 0.00000000) { - fStack148 = -fStack148; - fStack152 = -fStack152; - fVar13 = -fVar13; - } - fVar9 = (*(float *)(_DAT_80068bc0 + 0x494) - fStack104) * fStack152 + - (*(float *)(_DAT_80068bc0 + 0x48c) - afStack112[0]) * fStack148; - if (fVar9 < fVar13) { - fStack156 = fVar13 - fVar9; - } - fStack128 = afStack80[0] - afStack68[0]; - fStack132 = fStack72 - fStack60; - fVar13 = (float)sqrtf(fStack128 * fStack128 + fStack132 * fStack132); - fStack172 = fStack132 * (1.00000000 / fVar13); - fStack176 = -(fStack128 * (1.00000000 / fVar13)); - fVar13 = *(float *)(_DAT_80068bc0 + 0x494); - fVar9 = *(float *)(_DAT_80068bc0 + 0x48c); - fVar12 = (fVar13 - fStack72) * fStack176 + (fVar9 - afStack80[0]) * fStack172; - if (fVar12 < 0.00000000) { - fStack172 = -fStack172; - fStack176 = -fStack176; - fVar12 = -fVar12; - } - fVar10 = (fVar13 - fStack104) * fStack176 + (fVar9 - afStack112[0]) * fStack172; - fVar13 = (fVar13 - fStack116) * fStack176 + (fVar9 - afStack124[0]) * fStack172; - if (fVar10 <= fVar13) { - fVar13 = fVar10; - } - if (fVar13 < fVar12) { - fStack180 = fVar12 - fVar13; - } - if ((0.00000000 <= fStack180) && ((fStack180 < fStack156 || (fStack156 < 0.00000000)))) { - fStack148 = fStack172; - fStack152 = fStack176; - fStack156 = fStack180; - } - if (0.00000000 <= fStack156) { - fStack12 = fStack156 * fStack148 * DAT_8004ad48; - fStack4 = fStack156 * fStack152 * DAT_8004ad4c; - FUN_7f07da34(&fStack12,1); - fStack12 = 0.00000000; - fStack4 = 0.00000000; - lVar4 = loc_7F07CD98(_DAT_80068bc0 + 0x48c,*(undefined4 *)(_DAT_80068bc0 + 0x488),fStack92, - afStack68,afStack80); - if (lVar4 == 0) { - fStack96 = 0.00000000; - } - else { - DAT_800319b4 = fStack92; - } - } - else { - fStack96 = 0.00000000; - } - } - else { - DAT_800319b4 = fStack92; - } - fStack100 = DAT_800319c4; - DAT_800319d4 = DAT_800319d4 + DAT_800319d8; - if (DAT_8004ad50 <= DAT_800319d4) { - DAT_800319d4 = DAT_800319d4 - DAT_8004ad50; - } - if (DAT_800319d4 < 0.00000000) { - DAT_800319d4 = DAT_800319d4 + DAT_8004ad50; - fVar13 = *(float *)(_DAT_80068bc0 + 0x14c); - } - else { - fVar13 = *(float *)(_DAT_80068bc0 + 0x14c); - } - fVar13 = fVar13 * 3.50000000 * DAT_8004ad54 * 4.00000000 + DAT_800319d4; - if (fVar13 < 0.00000000) { - fVar13 = fVar13 + DAT_8004ad50; - } - if (DAT_8004ad50 <= fVar13) { - fVar13 = fVar13 - DAT_8004ad50; - } - if (DAT_8004ad58 <= fVar13 - DAT_800319c4) { - fVar13 = fVar13 - DAT_8004ad5c; - } - else { - if (fVar13 - DAT_800319c4 < DAT_8004ad60) { - fVar13 = fVar13 + DAT_8004ad64; - } - } - if (0 < DAT_80040ff4) { - iVar6 = 1; - DAT_800319c8 = DAT_8004ad68 * DAT_800319c8; - if (1 < DAT_80040ff4) { - do { - iVar6 += 1; - DAT_800319c8 = DAT_8004ad68 * (DAT_800319c8 + fVar13); - } while (iVar6 < DAT_80040ff4); - } - DAT_800319c8 = DAT_800319c8 + fVar13; - } - DAT_800319c4 = DAT_800319c8 * DAT_8004ad6c; - if (DAT_8004ad70 <= DAT_800319c4) { - DAT_800319c4 = DAT_800319c4 - DAT_8004ad70; - DAT_800319c8 = DAT_800319c4 / DAT_8004ad6c; - } - if (DAT_800319c4 < 0.00000000) { - DAT_800319c4 = DAT_800319c4 + DAT_8004ad70; - DAT_800319c8 = DAT_800319c4 / DAT_8004ad6c; - uVar11 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - } - else { - uVar11 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - } - lVar4 = FUN_7f07ce7c(_DAT_80068bc0 + 0x48c,uVar11,DAT_800319b4); - if (lVar4 == 0) { - DAT_800319c4 = fStack100; - DAT_800319d4 = fStack100; - DAT_800319c8 = fStack100 / DAT_8004ad7c; - } - fVar13 = DAT_8004ad78; - if (DAT_800319a0 != 0) { - iStack184 = *(int *)(DAT_800319a0 + 4); - uStack192 = 0; - fStack196 = _DAT_80068488; - fStack188 = _DAT_80068490; - FUN_7f058aa4(fStack96); - FUN_7f058880(auStack260,&fStack196); - FUN_7f07c888(); - fStack196 = _DAT_80068488 - fStack196; - uStack192 = 0; - fStack188 = _DAT_80068490 - fStack188; - FUN_7f058aa4(DAT_8004ad8c - DAT_800319b4); - matrix_multiply_A1_by_F12(*(undefined4 *)(*(int *)(iStack184 + 0x14) + 0x14)); - FUN_7f058880(auStack260,&fStack196); - FUN_7f07da34(&fStack196,1); - fVar13 = DAT_8004ad9c; - } - if ((0 < DAT_80040ff4) && (0 < DAT_80040ff4)) { - iVar6 = 1; - DAT_800319cc = fVar13 * DAT_800319cc; - if (1 < DAT_80040ff4) { - do { - iVar6 += 1; - DAT_800319cc = fVar13 * (DAT_800319cc + DAT_800319d8 / DAT_80041004); - } while (iVar6 < DAT_80040ff4); - } - DAT_800319cc = DAT_800319cc + DAT_800319d8 / DAT_80041004; - } - *(float *)(_DAT_80068bc0 + 0x148) = - ((DAT_800319b4 + DAT_800319c4 + - *(float *)(_DAT_80068bc0 + 0x14c) * 3.50000000 * DAT_8004ada4 * 4.00000000 + - DAT_800319cc * DAT_8004ada0 * 4.00000000) * 360.00000000) / DAT_8004ada8; - fVar13 = *(float *)(_DAT_80068bc0 + 0x148); - while (fVar13 < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x148) = fVar13 + 360.00000000; - fVar13 = *(float *)(_DAT_80068bc0 + 0x148); - } - while (360.00000000 <= fVar13) { - *(float *)(_DAT_80068bc0 + 0x148) = fVar13 - 360.00000000; - fVar13 = *(float *)(_DAT_80068bc0 + 0x148); - } - } - else { - fVar13 = *(float *)(_DAT_80068bc0 + 0x148) + - *(float *)(_DAT_80068bc0 + 0x14c) * DAT_80041004 * 3.50000000; - while (fVar13 < 0.00000000) { - fVar13 = fVar13 + 360.00000000; - } - if (360.00000000 <= fVar13) { - do { - fVar13 = fVar13 - 360.00000000; - } while (360.00000000 <= fVar13); - *(float *)(_DAT_80068bc0 + 0x148) = fVar13; - } - else { - *(float *)(_DAT_80068bc0 + 0x148) = fVar13; - } - } - FUN_7f081834(); - fStack268 = 0.00000000; - lVar4 = FUN_7f079a70(); - if (lVar4 == 0) { - fStack268 = -100.00000000; - } - else { - lVar4 = FUN_7f079a70(); - if (lVar4 == 1) { - fStack268 = -60.00000000; - } - else { - FUN_7f079a70(); - } - } - fVar13 = *(float *)(_DAT_80068bc0 + 0xa0); - iVar6 = _DAT_80068bc0 + 0xa0; - if (fStack268 != fVar13) { - FUN_7f042fd8(iVar6,fStack268,_DAT_80068bc0 + 0xa4,DAT_8004adac,DAT_8004adac,0x40c00000); - fVar13 = *(float *)(_DAT_80068bc0 + 0xa0); - iVar6 = extraout_a0_lo; - } - if (fStack268 == fVar13) { - *(undefined4 *)(_DAT_80068bc0 + 0xa4) = 0; - } - if (DAT_80031998 == 1) { - if (_DAT_80068498 == 0) { - if (DAT_800319a0 != 0) { - iVar5 = *(int *)(DAT_800319a0 + 4); - FUN_7f058aa4(DAT_8004adb0 - DAT_800319b4,iVar6,auStack336); - matrix_multiply_A1_by_F12(*(undefined4 *)(*(int *)(iVar5 + 0x14) + 0x14)); - fStack348 = _DAT_80068488; - fStack344 = _DAT_8006848c; - fStack340 = _DAT_80068490; - FUN_7f058880(auStack336,&fStack348); - fStack356 = -20.00000000; - fStack348 = fStack348 + *(float *)(iVar5 + 0x58); - fStack344 = fStack344 + *(float *)(iVar5 + 0x5c); - fStack340 = fStack340 + *(float *)(iVar5 + 0x60); - fStack352 = ((DAT_800319b4 + DAT_800319c4) * 360.00000000) / DAT_8004adb4; - if (-20.00000000 <= *(float *)(_DAT_80068bc0 + 0x158)) { - fStack356 = *(float *)(_DAT_80068bc0 + 0x158); - } - _DAT_8006849c = _DAT_8006849c + DAT_80041004 / 45.00000000; - if (1.00000000 <= _DAT_8006849c) { - _DAT_8006849c = 1.00000000; - } - fVar13 = (float)func_7F057FC4(_DAT_8006849c * DAT_8004adb8 * 0.50000000); - _DAT_800684a0 = (fVar13 + 1.00000000) * 0.50000000; - *(float *)(_DAT_80068bc0 + 0x158) = - _DAT_800684a0 * _DAT_800684a8 + (1.00000000 - _DAT_800684a0) * fStack356; - fVar13 = fStack352; - if (180.00000000 < fStack352 - _DAT_800684a4) { - fVar13 = fStack352 - 360.00000000; - } - if (fStack352 - _DAT_800684a4 < -180.00000000) { - fVar13 = fVar13 + 360.00000000; - } - *(float *)(_DAT_80068bc0 + 0x148) = - _DAT_800684a0 * _DAT_800684a4 + (1.00000000 - _DAT_800684a0) * fVar13; - fVar13 = *(float *)(_DAT_80068bc0 + 0x148); - if (360.00000000 <= fVar13) { - *(float *)(_DAT_80068bc0 + 0x148) = fVar13 - 360.00000000; - fVar13 = *(float *)(_DAT_80068bc0 + 0x148); - } - if (fVar13 < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x148) = fVar13 + 360.00000000; - } - uStack8 = 0; - fStack12 = (_DAT_800684a0 * _DAT_800684b0 + (1.00000000 - _DAT_800684a0) * fStack348) - - *(float *)(_DAT_80068bc0 + 0x48c); - fStack4 = (_DAT_800684a0 * _DAT_800684b8 + (1.00000000 - _DAT_800684a0) * fStack340) - - *(float *)(_DAT_80068bc0 + 0x494); - } - if (1.00000000 <= _DAT_8006849c) { - _DAT_80068498 = 1; - } - } - else { - if (_DAT_80068498 == 1) { - _DAT_80068498 = 2; - if ((DAT_800319a8 == 0) && (lVar4 = FUN_7f0bf078(), lVar4 == 0)) { - FUN_70008268(_DAT_80056900,0x42,&DAT_800319a8); - } - loc_700091B8(DAT_800319a8,8,25000); - _DAT_80068494 = 25000; - } - else { - fVar9 = *(float *)(_DAT_80068bc0 + 0x174) / 15.00000000; - fVar13 = *(float *)(_DAT_80068bc0 + 0x14c) / DAT_8004adbc; - if (fVar9 < 0.00000000) { - fVar9 = -fVar9; - } - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - } - if (fVar13 <= fVar9) { - fVar13 = fVar9; - } - if (0.00000000 < fVar13) { - fVar9 = 1.00000000; - if (fVar13 <= 1.00000000) { - fVar9 = fVar13; - } - if ((DAT_800319ac == 0) && - (fStack372 = fVar9, lVar4 = FUN_7f0bf078(), fVar9 = fStack372, lVar4 == 0)) { - FUN_70008268(_DAT_80056900,0x3e,&DAT_800319ac); - fVar9 = fStack372; - } - fVar13 = fVar9; - if (DAT_800319ac != 0) { - iVar6 = 0x7fff; - if (fVar9 < DAT_8004adc0) { - iVar6 = (int)((fVar9 * DAT_8004adc4) / DAT_8004adc0); - } - else { - if (fVar9 < DAT_8004adc8) { - iVar6 = (int)(((fVar9 - DAT_8004adc0) * DAT_8004adcc) / 0.75000000 + DAT_8004add0); - } - } - fStack372 = fVar9; - loc_700091B8(DAT_800319ac,8,iVar6); - fVar13 = fStack372; - } - } - else { - if ((DAT_800319ac != 0) && - (fStack372 = fVar13, lVar4 = locret_70008E00(), fVar13 = fStack372, lVar4 != 0)) { - loc_7000905C(DAT_800319ac); - fVar13 = fStack372; - } - } - if ((DAT_800319a8 == 0) && - (fStack372 = fVar13, lVar4 = FUN_7f0bf078(), fVar13 = fStack372, lVar4 == 0)) { - FUN_70008268(_DAT_80056900,0x41,&DAT_800319a8); - fVar13 = fStack372; - } - if (DAT_800319a8 != 0) { - _DAT_80068494 = 0x7fff; - if (fVar13 < DAT_8004add4) { - _DAT_80068494 = (int)((fVar13 * DAT_8004add8) / DAT_8004addc + DAT_8004ade0); - } - loc_700091B8(DAT_800319a8,8,_DAT_80068494); - } - lVar4 = FUN_7f05de88(0); - if (lVar4 == 0x20) { - DAT_800319bc = *(float *)(_DAT_80068bc0 + 0x2a00) + DAT_8004ade4; - } - fVar13 = DAT_8004ade8; - if (DAT_800319bc <= DAT_8004ade8) { - fVar13 = DAT_800319bc; - } - fVar9 = DAT_8004adec; - if (DAT_8004adec <= fVar13) { - fVar9 = fVar13; - } - if (0 < DAT_80040ff4) { - iVar6 = 1; - DAT_800319c0 = DAT_8004adf0 * DAT_800319c0; - if (1 < DAT_80040ff4) { - do { - iVar6 += 1; - DAT_800319c0 = DAT_8004adf0 * (DAT_800319c0 + fVar9); - } while (iVar6 < DAT_80040ff4); - } - DAT_800319c0 = DAT_800319c0 + fVar9; - } - DAT_800319bc = DAT_800319c0 * DAT_8004adf4; - } - } - *(float *)(_DAT_80068bc0 + 0x19c) = - *(float *)(_DAT_80068bc0 + 0x19c) - (DAT_80041004 * 0.75000000) / DAT_8004adf8; - if (*(float *)(_DAT_80068bc0 + 0x19c) < 0.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x19c) = 0; - } - FUN_7f080bd8(0,0); - fVar13 = (float)func_7F057FC4(DAT_8004adfc - DAT_800319b4); - fStack12 = fStack12 + *(float *)(_DAT_80068bc0 + 0x174) * fVar13 * DAT_80041004; - fVar13 = (float)func_7F057FC4(DAT_8004ae00 - DAT_800319b4); - fStack4 = fStack4 + *(float *)(_DAT_80068bc0 + 0x174) * fVar13 * DAT_80041004; - FUN_7f07da34(&fStack12,1); - if ((_DAT_80068498 == 2) && (0 < DAT_80040ff4)) { - fVar13 = (*(float *)(_DAT_80068bc0 + 0x48c) - *(float *)(_DAT_80068bc0 + 0x408)) / - DAT_80041004; - fVar9 = (*(float *)(_DAT_80068bc0 + 0x494) - *(float *)(_DAT_80068bc0 + 0x410)) / DAT_80041004 - ; - fVar13 = (float)sqrtf(fVar13 * fVar13 + fVar9 * fVar9); - if (*(float *)(_DAT_80068bc0 + 0x174) < 0.00000000) { - fVar13 = -fVar13; - } - *(float *)(_DAT_80068bc0 + 0x174) = fVar13; - } - } - else { - if ((DAT_800319a8 != 0) && (lVar4 = locret_70008E00(), lVar4 != 0)) { - _DAT_80068494 -= (int)(DAT_80041004 * 1000.00000000); - if (_DAT_80068494 < 1) { - loc_7000905C(DAT_800319a8,8); - } - else { - loc_700091B8(DAT_800319a8); - } - } - if ((DAT_800319ac != 0) && (lVar4 = locret_70008E00(), lVar4 != 0)) { - loc_7000905C(DAT_800319ac); - } - fStack24 = *(float *)(_DAT_80068bc0 + 0x16c) * DAT_80032034 * 0.50000000 * DAT_80041004; - fStack408 = *(float *)(_DAT_80068bc0 + 0x4a0) * -*(float *)(_DAT_80068bc0 + 0x126c) - - *(float *)(_DAT_80068bc0 + 0x1270); - fStack412 = *(float *)(_DAT_80068bc0 + 0x498) * *(float *)(_DAT_80068bc0 + 0x126c) - - *(float *)(_DAT_80068bc0 + 0x1274); - fStack416 = fStack408 * fStack408 + fStack412 * fStack412; - if (100.00000000 <= fStack416) { - fStack408 = fStack408 * DAT_8004ae04; - fStack412 = fStack412 * DAT_8004ae04; - } - fVar9 = *(float *)(_DAT_80068bc0 + 0x174); - fVar13 = *(float *)(_DAT_80068bc0 + 0x16c) * DAT_8004ae08; - fStack32 = *(float *)(_DAT_80068bc0 + 0x14c) * DAT_8004ae08; - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - } - if (fVar9 < 0.00000000) { - fVar9 = -fVar9; - } - if (fStack32 < 0.00000000) { - fStack32 = -fStack32; - } - if (fVar13 <= fVar9) { - fVar13 = fVar9; - } - if (fStack32 <= fVar13) { - fStack32 = fVar13; - } - if (DAT_8004ae0c <= fStack416) { - if (fStack32 < DAT_8004ae08) { - bVar2 = 0.75000000 <= DAT_8004ae08; - fStack32 = DAT_8004ae08; - } - else { - bVar2 = 0.75000000 <= fStack32; - } - } - else { - bVar2 = 0.75000000 <= fStack32; - } - if (bVar2) { - *(float *)(_DAT_80068bc0 + 0x19c) = - *(float *)(_DAT_80068bc0 + 0x19c) + - ((fStack32 - 0.75000000) * DAT_80041004) / 900.00000000; - } - else { - *(float *)(_DAT_80068bc0 + 0x19c) = - *(float *)(_DAT_80068bc0 + 0x19c) - - ((0.75000000 - fStack32) * DAT_80041004) / DAT_8004ae10; - } - if (*(float *)(_DAT_80068bc0 + 0x19c) < 0.00000000) { - *(undefined4 *)(_DAT_80068bc0 + 0x19c) = 0; - } - else { - if (1.00000000 < *(float *)(_DAT_80068bc0 + 0x19c)) { - *(undefined4 *)(_DAT_80068bc0 + 0x19c) = 0x3f800000; - } - } - FUN_7f080bd8(fStack32,*(undefined4 *)(_DAT_80068bc0 + 0x174)); - fStack12 = fStack12 + - (*(float *)(_DAT_80068bc0 + 0x504) * *(float *)(_DAT_80068bc0 + 0x498) - - *(float *)(_DAT_80068bc0 + 0x4fc) * *(float *)(_DAT_80068bc0 + 0x4a0)) * DAT_80041004 - + fStack408; - fStack4 = fStack4 + (*(float *)(_DAT_80068bc0 + 0x504) * *(float *)(_DAT_80068bc0 + 0x4a0) + - *(float *)(_DAT_80068bc0 + 0x4fc) * *(float *)(_DAT_80068bc0 + 0x498)) * - DAT_80041004 + fStack412; - fStack432 = *(float *)(_DAT_80068bc0 + 0x48c); - fStack436 = *(float *)(_DAT_80068bc0 + 0x494); - uStack440 = *(undefined4 *)(_DAT_80068bc0 + 0x488); - lVar4 = FUN_7f0904d0(); - if (lVar4 != 0) { - fStack12 = fStack12 + - (*(float *)(_DAT_80068bc0 + 0x498) * *(float *)(_DAT_80068bc0 + 0x174) - - *(float *)(_DAT_80068bc0 + 0x4a0) * *(float *)(_DAT_80068bc0 + 0x16c)) * - DAT_80041004 * 10.00000000; - fStack4 = fStack4 + (*(float *)(_DAT_80068bc0 + 0x4a0) * *(float *)(_DAT_80068bc0 + 0x174) + - *(float *)(_DAT_80068bc0 + 0x498) * *(float *)(_DAT_80068bc0 + 0x16c)) * - DAT_80041004 * 10.00000000; - } - FUN_7f07da34(&fStack12,(ulonglong)(*(float *)(_DAT_80068bc0 + 0x126c) == 0.00000000)); - loc_7F0B2338(&uStack440,fStack432,fStack436,*(float *)(_DAT_80068bc0 + 0x4b0) * DAT_8004ae14, - auStack516); - lVar4 = sub_7F0B23A4(auStack516); - if (lVar4 != 0) { - uStack36 = 1; - } - loc_7F0B2338(_DAT_80068bc0 + 0x488,*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494), - *(float *)(_DAT_80068bc0 + 0x4b0) * DAT_8004ae18,auStack516); - lVar4 = sub_7F0B23A4(auStack516); - if (lVar4 != 0) { - uStack36 = 1; - } - loc_7F0B2338(_DAT_80068bc0 + 0x488,*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494),*(undefined4 *)(_DAT_80068bc0 + 0x4b0), - auStack516); - lVar4 = sub_7F0B23A4(auStack516); - if (lVar4 == 0) { - loc_7F0B2338(&uStack440,fStack432,fStack436,*(float *)(_DAT_80068bc0 + 0x4b0) * DAT_8004ae1c, - auStack516); - } - lVar4 = sub_7F0B23A4(auStack516); - if (lVar4 != 0) { - uStack36 = 1; - FUN_7f0b16e0(auStack580,auStack584,&fStack564); - if (*(float *)(_DAT_80068bc0 + 0x74) <= fStack536) { - fStack588 = fStack544 - fStack556; - fStack592 = fStack564 - fStack552; - fVar13 = (float)sqrtf(fStack588 * fStack588 + fStack592 * fStack592); - fVar9 = (fStack436 - fStack556) * (fStack592 / fVar13) + - (fStack432 - fStack564) * (fStack588 / fVar13); - fVar13 = ((fStack436 + fStack4) - fStack556) * (fStack592 / fVar13) + - ((fStack432 + fStack12) - fStack564) * (fStack588 / fVar13); - if (fVar9 * fVar13 <= 0.00000000) { - fStack568 = 0.00000000; - } - else { - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - fVar9 = -fVar9; - bVar2 = fVar9 <= fVar13; - } - else { - bVar2 = fVar9 <= fVar13; - } - if (bVar2) { - fStack568 = 0.00000000; - } - else { - fVar12 = *(float *)(_DAT_80068bc0 + 0x4b0); - if (fVar12 < fVar13) { - fStack568 = 0.00000000; - } - else { - if (fVar9 < fVar12) { - fStack568 = 0.00000000; - } - else { - fStack568 = (fVar9 - fVar12) / (fVar9 - fVar13); - } - } - } - } - fVar9 = (float)sqrtf(fStack4 * fStack4 + fStack12 * fStack12); - fVar13 = fStack568; - if (0.00000000 < fVar9) { - fVar12 = (1.00000000 - fStack568) * fVar9; - fStack40 = fVar12 * 0.25000000; - fVar13 = fStack568; - if (fStack536 <= *(float *)(_DAT_80068bc0 + 0x74) + fStack40) { - fStack40 = fStack536 - *(float *)(_DAT_80068bc0 + 0x74); - fVar13 = fStack568 + (fVar12 - fStack40 / 0.25000000) / fVar9; - } - } - fStack540 = fStack540 - fStack564; - fStack532 = fStack532 - fStack556; - fStack528 = fStack528 - fStack564; - fStack520 = fStack520 - fStack556; - if (fStack540 * fStack540 + fStack532 * fStack532 <= - fStack528 * fStack528 + fStack520 * fStack520) { - fStack528 = fStack540; - fStack520 = fStack532; - } - fVar9 = fStack40 / (fStack536 - fStack560); - fStack12 = fVar9 * fStack528 + fStack12 * fVar13; - fStack4 = fVar9 * fStack520 + fStack4 * fVar13; - *(float *)(_DAT_80068bc0 + 0x48c) = fStack432; - *(float *)(_DAT_80068bc0 + 0x494) = fStack436; - *(undefined4 *)(_DAT_80068bc0 + 0x488) = uStack440; - FUN_7f07da34(&fStack12,(ulonglong)(*(float *)(_DAT_80068bc0 + 0x126c) == 0.00000000)); - } - } - fVar9 = *(float *)(_DAT_80068bc0 + 0x48c) - fStack432; - fVar12 = *(float *)(_DAT_80068bc0 + 0x494) - fStack436; - fVar13 = fStack4 * fStack4 + fStack12 * fStack12; - if (fVar13 != 0.00000000) { - fVar13 = (fVar9 * fVar9 + fVar12 * fVar12) / fVar13; - } - fVar13 = (float)sqrtf(fVar13); - *(float *)(_DAT_80068bc0 + 0x1270) = *(float *)(_DAT_80068bc0 + 0x1270) + fVar13 * fStack408; - *(float *)(_DAT_80068bc0 + 0x1274) = *(float *)(_DAT_80068bc0 + 0x1274) + fVar13 * fStack412; - } - fStack628 = *(float *)(_DAT_80068bc0 + 0x160) / DAT_8004ae20 + - *(float *)(_DAT_80068bc0 + 0xa4) / 6.00000000; - fVar13 = (float)FUN_7f08f058(); - if (*(int *)(_DAT_80068bc0 + 0x4e8) == 1) { - fVar13 = fVar13 * DAT_8004ae24; - } - loc_7F05E5A4(fVar13,fStack32); - FUN_7f05eaa8(*(float *)(_DAT_80068bc0 + 0x15c) * DAT_8004ae28); - if (((DAT_800319a0 != 0) && (DAT_80031998 == 1)) && (_DAT_80068498 == 2)) { - iVar6 = *(int *)(DAT_800319a0 + 4); - uStack648 = *(undefined4 *) - (*(int *)(*(int *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8) + 0x14) + 4); - iStack640 = iVar6; - lVar4 = FUN_7f05de88(0); - bVar2 = lVar4 == 0x20; - if (bVar2) { - lVar4 = FUN_7f05e140(0); - bVar2 = lVar4 != 0; - *(uint *)(iVar6 + 0xc4) = (uint)bVar2; - } - else { - *(uint *)(iVar6 + 0xc4) = (uint)bVar2; - } - *(float *)(iVar6 + 200) = DAT_800319bc; - *(float *)(iVar6 + 0xcc) = DAT_800319c4; - *(float *)(iVar6 + 0xdc) = DAT_800319b4; - FUN_7f058aa4(DAT_8004ae2c - DAT_800319b4,(ulonglong)bVar2,auStack712); - matrix_multiply_A1_by_F12(*(undefined4 *)(*(int *)(iStack640 + 0x14) + 0x14)); - fStack724 = -_DAT_80068488; - fStack720 = -_DAT_8006848c; - fStack716 = -_DAT_80068490; - FUN_7f058880(auStack712,&fStack724); - fStack724 = fStack724 + *(float *)(_DAT_80068bc0 + 0x48c); - fStack716 = fStack716 + *(float *)(_DAT_80068bc0 + 0x494); - *(undefined4 *)(*(int *)(iStack640 + 0x10) + 0x14) = *(undefined4 *)(_DAT_80068bc0 + 0x488); - sub_7F0B0BE4(*(int *)(iStack640 + 0x10) + 0x14,*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494),fStack724,fStack716); - uVar11 = FUN_7f0b1c30(*(undefined4 *)(*(int *)(iStack640 + 0x10) + 0x14),fStack724,fStack716); - *(undefined4 *)(iVar6 + 0xd4) = uVar11; - fVar13 = DAT_8004ae30; - iVar5 = 0; - if (0 < DAT_80040ff4) { - fVar9 = *(float *)(iVar6 + 0xd0); - while( true ) { - iVar5 += 1; - *(float *)(iVar6 + 0xd0) = fVar9 * fVar13 + *(float *)(iVar6 + 0xd4); - if (DAT_80040ff4 <= iVar5) break; - fVar9 = *(float *)(iVar6 + 0xd0); - } - } - fVar9 = *(float *)(iVar6 + 0xd0) * DAT_8004ae34; - fVar13 = (float)sub_7F03E864(uStack648); - fStack720 = (fVar9 - fVar13 * *(float *)(*(int *)(iStack640 + 0x14) + 0x14)) + 4.00000000; - loc_7F058030(auStack712,iStack640 + 0x18); - *(float *)(*(int *)(iStack640 + 0x10) + 8) = fStack724; - *(float *)(iStack640 + 0x58) = fStack724; - *(float *)(*(int *)(iStack640 + 0x10) + 0xc) = fStack720; - *(float *)(iStack640 + 0x5c) = fStack720; - *(float *)(*(int *)(iStack640 + 0x10) + 0x10) = fStack716; - *(float *)(iStack640 + 0x60) = fStack716; - loc_7F056E80(); - FUN_7f040544(iStack640); - FUN_7f07c95c(auStack772,_DAT_80068bc0 + 0x48c,DAT_800319b4); - loc_7F03CC0C(*(undefined4 *)(iStack640 + 0x10),auStack804); - FUN_7f03e4bc(auStack804); - sVar1 = *_DAT_80058b70; - psStack812 = _DAT_80058b70; - while (-1 < sVar1) { - iVar6 = (int)sVar1 * 0x34; - pcVar8 = (char *)(iVar6 + -0x7ffa7488); - if (pcVar8 != *(char **)(iStack640 + 0x10)) { - if (*pcVar8 == '\x03') { - iStack828 = 1; - iStack844 = *(int *)(iVar6 + -0x7ffa7484); - FUN_7f03d048(pcVar8,&uStack824,auStack816,auStack820); - iVar5 = iVar6 + -0x7ffa7480; - lVar4 = loc_7F03CF7C(iVar5,auStack772,4); - if (((lVar4 != 0) && (iStack828 = 0, *(char *)(iStack844 + 7) == '\x04')) && - ((-1 < *(int *)(iStack844 + 0x14) << 7 && (lVar4 = FUN_7f0bf078(), lVar4 == 0)))) { - *(uint *)(iStack844 + 0x14) = *(uint *)(iStack844 + 0x14) | 0x1000000; - iVar7 = DAT_80041000 % 3; - if (iVar7 < 2) { - uVar3 = FUN_70008268(_DAT_80056900,0xb7,0); - FUN_7f053cf0(uVar3,iVar5); - iVar7 = DAT_80041000 % 3; - } - if (0 < iVar7) { - uVar3 = FUN_70008268(_DAT_80056900,0xd5,0); - FUN_7f053cf0(uVar3,iVar5); - } - } - if ((iStack828 != 0) && (lVar4 = loc_7F044870(iVar5,uStack824,auStack772,4), lVar4 != 0)) - { - iStack828 = 0; - } - if (iStack828 == 0) { - uStack840 = *(undefined4 *)(iStack640 + 0x58); - uStack836 = *(undefined4 *)(iVar6 + -0x7ffa747c); - uStack832 = *(undefined4 *)(iStack640 + 0x60); - loc_7F027BE0(*(undefined4 *)(iVar6 + -0x7ffa7484),&uStack840,0x40400000,1); - } - } - else { - if (*pcVar8 == '\x01') { - FUN_7f03cd70(pcVar8,auStack852,&iStack856); - if ((0 < iStack856) && - (lVar4 = FUN_7f044760(auStack852[0],iStack856,auStack772,4), lVar4 != 0)) { - uVar11 = FUN_7f09a690(); - loc_7F04DFAC(pcVar8,0x461c4000,*(int *)(iVar6 + -0x7ffa7484) + 0x58,0x20,uVar11); - DAT_800319e0 = 0x4b; - } - } - } - } - psStack812 = psStack812 + 1; - sVar1 = *psStack812; - } - } - FUN_7f080e9c(uStack36,fStack40); - FUN_7f08151c(); - FUN_7f08a368(); - lVar4 = FUN_7f090430(); - if (lVar4 != 0) { - copy_tile_RGB_as_24bit - (*(undefined4 *)(_DAT_80068bc0 + 0x488),*(undefined4 *)(_DAT_80068bc0 + 0x48c), - *(undefined4 *)(_DAT_80068bc0 + 0x494),auStack860); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f086ab0(undefined8 uParm1,undefined8 uParm2,ushort uParm3,ushort uParm4) - -{ - undefined auStack64 [12]; - undefined4 uStack52; - float fStack48; - undefined4 uStack44; - float fStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack12 = DAT_80031d50; - uStack8 = DAT_80031d54; - uStack4 = DAT_80031d58; - uStack24 = DAT_80031d5c; - uStack20 = DAT_80031d60; - uStack16 = DAT_80031d64; - uStack36 = DAT_80031d68; - uStack32 = DAT_80031d6c; - uStack28 = DAT_80031d70; - fStack48 = DAT_80031d74; - uStack44 = DAT_80031d78; - fStack40 = DAT_80031d7c; - FUN_7f08406c(); - FUN_7f0844a4(); - loc_7F083FB8(0,0,0,0); - FUN_7f081834(); - FUN_7f080bd8(0,0); - if ((_DAT_80068470 != 0.00000000) || (_DAT_80068478 != 0.00000000)) { - fStack48 = fStack48 + _DAT_80068470 * DAT_80041004; - fStack40 = fStack40 + _DAT_80068478 * DAT_80041004; - } - fStack48 = fStack48 + - (*(float *)(_DAT_80068bc0 + 0x504) * *(float *)(_DAT_80068bc0 + 0x498) - - *(float *)(_DAT_80068bc0 + 0x4fc) * *(float *)(_DAT_80068bc0 + 0x4a0)) * DAT_80041004; - fStack40 = fStack40 + - (*(float *)(_DAT_80068bc0 + 0x504) * *(float *)(_DAT_80068bc0 + 0x4a0) + - *(float *)(_DAT_80068bc0 + 0x4fc) * *(float *)(_DAT_80068bc0 + 0x498)) * DAT_80041004; - FUN_7f07da34(&fStack48,1); - FUN_7f080e9c(0,0); - FUN_7f08151c(); - if (((DAT_800319e4 == 8) || (DAT_800319e4 == 4)) || (DAT_800319e4 == 10)) { - FUN_7f079ad0(0); - } - else { - FUN_7f07b604((ulonglong)uParm3,(ulonglong)uParm4,&uStack12,&uStack24,&uStack36,&uStack52, - auStack64); - FUN_7f079ad0(1); - FUN_7f079ae0(&uStack12,&uStack24,&uStack36,uStack52,auStack64); - } - return; -} - - - -undefined8 FUN_7f086d18(void) - -{ - if (DAT_8003197c != 0) { - return 0x1b8; - } - return 0x140; -} - - - -undefined8 FUN_7f086d3c(void) - -{ - if (DAT_8003197c != 0) { - return 0x14a; - } - return 0x110; -} - - - -undefined8 FUN_7f086d60(void) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - if (DAT_8003197c == 0) { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 1) { - uVar2 = 0x140; - } - else { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 2) { - uVar2 = 0x140; - } - else { - uVar2 = 0x140; - } - } - } - else { - uVar2 = 0x1b8; - } - } - else { - uVar2 = 0x9f; - } - return uVar2; -} - - - -undefined8 FUN_7f086de4(void) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - uVar2 = 0; - } - else { - lVar1 = FUN_7f09a690(); - if ((lVar1 == 1) || (lVar1 = FUN_7f09a690(), lVar1 == 3)) { - uVar2 = 0xa1; - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -int FUN_7f086e44(void) - -{ - longlong lVar1; - int iVar2; - float fVar3; - - lVar1 = FUN_7f0999a4(); - if (lVar1 < 2) { - if (DAT_8003197c == 0) { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 1) { - fVar3 = (float)FUN_7f07eb18(); - iVar2 = ((int)(fVar3 * 56.00000000) + 0xd8) * 0x10000 >> 0x10; - } - else { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 2) { - fVar3 = (float)FUN_7f07eb18(); - iVar2 = ((int)(fVar3 * 110.00000000) + 0xa2) * 0x10000 >> 0x10; - } - else { - iVar2 = 0x110; - } - } - } - else { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 1) { - iVar2 = 0xf8; - } - else { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 2) { - iVar2 = 0xbe; - } - else { - iVar2 = 0x130; - } - } - } - } - else { - iVar2 = 0x87; - } - return iVar2; -} - - - -int FUN_7f086f58(void) - -{ - longlong lVar1; - int iVar2; - float fVar3; - - lVar1 = FUN_7f0999a4(); - if (lVar1 == 2) { - lVar1 = FUN_7f09a690(); - if (lVar1 == 0) { - iVar2 = 0; - } - else { - iVar2 = 0x89; - } - } - else { - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - if (DAT_8003197c == 0) { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 1) { - fVar3 = (float)FUN_7f07eb18(); - iVar2 = ((int)(fVar3 * -29.00000000) + 0x1d) * 0x10000 >> 0x10; - } - else { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 2) { - fVar3 = (float)FUN_7f07eb18(); - iVar2 = ((int)(fVar3 * -52.00000000) + 0x34) * 0x10000 >> 0x10; - } - else { - iVar2 = 0; - } - } - } - else { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 1) { - iVar2 = 0x29; - } - else { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 2) { - iVar2 = 0x46; - } - else { - iVar2 = 0xd; - } - } - } - } - else { - lVar1 = FUN_7f09a690(); - if (lVar1 < 2) { - iVar2 = 0; - } - else { - iVar2 = 0x89; - } - } - } - return iVar2; -} - - - -// WARNING: Instruction at (ram,0x7f087424) overlaps instruction at (ram,0x7f087420) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0870bc(undefined uParm1,undefined uParm2,ushort uParm3) - -{ - undefined *puVar3; - longlong lVar1; - short sVar5; - int iVar4; - undefined2 uVar6; - undefined8 uVar2; - undefined2 uVar7; - ulonglong uVar8; - float fVar9; - - FUN_7f09a754(0x42700000); - FUN_70003f94(0x42700000); - if (DAT_80031980 == 0) { - if (DAT_80031984 != 0) { - if ((DAT_80031984 < 4) || (puVar3 = (undefined *)FUN_7000366c(), puVar3 != &cfb_16_a)) { - DAT_80031984 += 1; - } - else { - DAT_8003197c = 0; - DAT_80031984 = 0; - } - } - } - else { - if (((DAT_80031980 < 4) || (DAT_80031978 == 0)) || - (puVar3 = (undefined *)FUN_7000366c(), puVar3 != &cfb_16_b)) { - DAT_80031980 += 1; - } - else { - DAT_8003197c = 1; - DAT_80031980 = 0; - } - } - if ((DAT_8003197c != 0) && (puVar3 = (undefined *)FUN_7000366c(), puVar3 == &cfb_16_b)) { - FUN_7000368c(DAT_80031978); - } - lVar1 = FUN_7f0a4200(); - if (lVar1 == 1) { - sVar5 = FUN_7f086d60(); - iVar4 = FUN_7f086e44(); - fVar9 = ((float)(int)sVar5 / (float)iVar4) * 0.75000000 * DAT_8004ae38; - } - else { - sVar5 = FUN_7f086d60(); - iVar4 = FUN_7f086e44(); - fVar9 = (float)(int)sVar5 / (float)iVar4; - } - if (DAT_8003197c == 0) { - fVar9 = fVar9 * DAT_8004ae3c; - } - FUN_7f09a764(); - FUN_70003fe0(fVar9); - uVar6 = FUN_7f086d60(); - uVar2 = FUN_7f086e44(); - FUN_7f09a71c(uVar6,uVar2); - uVar6 = FUN_7f086de4(); - uVar2 = FUN_7f086f58(); - FUN_7f09a738(uVar6,uVar2); - uVar6 = FUN_7f086d18(); - uVar7 = FUN_7f086d3c(); - FUN_70003e48(uVar6,uVar7); - uVar6 = FUN_7f086d18(); - uVar7 = FUN_7f086d3c(); - FUN_70003e04(uVar6,uVar7); - uVar6 = FUN_7f086d60(); - uVar7 = FUN_7f086e44(); - FUN_70003e8c(uVar6,uVar7); - uVar6 = FUN_7f086de4(); - uVar7 = FUN_7f086f58(); - FUN_70003f0c(uVar6,uVar7); - FUN_7f080960(); - FUN_7f080b24(); - uVar2 = FUN_7f0a4170(); - FUN_7f07c644(uVar2); - uVar2 = FUN_7f0a4170(); - FUN_7f07c72c(uVar2); - uVar2 = FUN_7f0a4188(); - FUN_7f07c624(uVar2); - uVar2 = FUN_7f0a41d0(); - FUN_7f069888(1,uVar2); - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - lVar1 = FUN_7f0a41b8(); - uVar8 = (ulonglong)(lVar1 != 0); - if (lVar1 != 0) goto LAB_7f0873f8; - } - lVar1 = FUN_7f0999a4(); - uVar8 = (ulonglong)(lVar1 < 2) ^ 1; - if (uVar8 != 0) { - uVar8 = (ulonglong)(*(char *)(_DAT_80068bc4 + 0x6b) != '\0'); - } -LAB_7f0873f8: - FUN_7f06ad3c(1,uVar8); - if (((DAT_800319e4 == 0) || ((DAT_800319e4 == 4 && (DAT_80031a00 != 0)))) || (DAT_800319e4 == 10)) - { - lVar1 = FUN_7f09a690(); - if (lVar1 == 0) { - _DAT_80068500 += DAT_80040ff4; - } - FUN_7f08478c(uParm1,uParm2,(ulonglong)uParm3,(ulonglong)*(ushort *)(_DAT_80068bc0 + 0x3b4)); - } - else { - FUN_7f086ab0(uParm1,uParm2,(ulonglong)uParm3,(ulonglong)*(ushort *)(_DAT_80068bc0 + 0x3b4)); - } - _DAT_80068504 = _DAT_80068504 + DAT_80041120; - if (DAT_800319f0 != 0) { - lVar1 = FUN_7f0bf078(); - if ((lVar1 == 0) && ((uParm3 & ~*(ushort *)(_DAT_80068bc0 + 0x3b4) & 0xf030) != 0)) { - DAT_800319f0 = 2; - lVar1 = FUN_7f080930(); - if (lVar1 == 0) { - if (*(float *)(_DAT_80068bc0 + 0x404) == 0.00000000) { - FUN_7f0808fc(*(undefined4 *)(_DAT_80068bc0 + 0x3e0),0x3f800000); - } - } - else { - if (*(float *)(_DAT_80068bc0 + 0x3dc) == 0.00000000) { - FUN_7f080854(0,0,0,0); - FUN_7f0808fc(0x42700000,0x3f800000); - } - } - } - if (((DAT_800319f0 == 2) && (lVar1 = FUN_7f080930(), lVar1 != 0)) && - (*(float *)(_DAT_80068bc0 + 0x3dc) == 1.00000000)) { - FUN_70005db0(); - } - } - if (DAT_800319e8 != 0) { - FUN_7f07b23c(); - } - if (*(int *)(_DAT_80068bc0 + 0xd8) != 0) { - iVar4 = *(int *)(_DAT_80068bc0 + 0x424); - if (iVar4 == 0) { - FUN_7f05ddcc(1,0); - FUN_7f05ddcc(0,0); - iVar4 = *(int *)(_DAT_80068bc0 + 0x424); - } - if (((iVar4 != 0) && (*(int *)(_DAT_80068bc0 + 0x428) != 0)) && (2 < DAT_80031a60)) { - FUN_70005d78(); - } - } - if ((DAT_800319e4 == 10) && (lVar1 = FUN_7f080930(), lVar1 != 0)) { - FUN_70005d78(); - } - *(ushort *)(_DAT_80068bc0 + 0x3b4) = uParm3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0876ac(undefined8 uParm1) - -{ - float fVar1; - - FUN_7f0bbe34(uParm1,_DAT_80068bc0 + 0x38); - fVar1 = (float)FUN_7f0b3b78(); - *(float *)(_DAT_80068bc0 + 0x50) = fVar1 * *(float *)(_DAT_80068bc0 + 0x38); - fVar1 = (float)FUN_7f0b3b78(); - *(float *)(_DAT_80068bc0 + 0x54) = fVar1 * *(float *)(_DAT_80068bc0 + 0x3c); - fVar1 = (float)FUN_7f0b3b78(); - *(float *)(_DAT_80068bc0 + 0x58) = fVar1 * *(float *)(_DAT_80068bc0 + 0x40); - FUN_7f0bba24((int)uParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08772c(void) - -{ - undefined8 uVar1; - - *(undefined4 *)(_DAT_80068bc0 + 0x44) = *(undefined4 *)(_DAT_80068bc0 + 0x38); - *(undefined4 *)(_DAT_80068bc0 + 0x48) = *(undefined4 *)(_DAT_80068bc0 + 0x3c); - *(undefined4 *)(_DAT_80068bc0 + 0x4c) = *(undefined4 *)(_DAT_80068bc0 + 0x40); - uVar1 = FUN_7f078444(); - FUN_7f058880(uVar1,_DAT_80068bc0 + 0x44); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08778c(float *pfParm1,float *pfParm2,undefined4 *puParm3) - -{ - undefined8 uVar1; - undefined4 uVar3; - undefined8 uVar2; - float *pfVar4; - int iVar5; - float *pfVar6; - float afStack232 [16]; - float afStack168 [3]; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - undefined auStack132 [64]; - undefined4 uStack68; - undefined auStack64 [64]; - - uVar1 = FUN_7f08a164(); - FUN_7f0876ac(uVar1); - uVar3 = FUN_7f0bca90(); - *(undefined4 *)(_DAT_80068bc0 + 0x5c) = uVar3; - uVar3 = FUN_7f0bca90(); - *(undefined4 *)(_DAT_80068bc0 + 0x60) = uVar3; - uVar3 = FUN_7f0bca90(); - *(undefined4 *)(_DAT_80068bc0 + 100) = uVar3; - uVar3 = FUN_7f0bca90(); - *(undefined4 *)(_DAT_80068bc0 + 0x68) = uVar3; - uStack68 = FUN_7f0bcaa8(2); - fStack156 = (*pfParm1 - *(float *)(_DAT_80068bc0 + 0x38)) * DAT_80031a1c; - fStack152 = (pfParm1[1] - *(float *)(_DAT_80068bc0 + 0x3c)) * DAT_80031a1c; - fStack148 = (pfParm1[2] - *(float *)(_DAT_80068bc0 + 0x40)) * DAT_80031a1c; - fStack144 = *pfParm2 + fStack156; - fStack140 = pfParm2[1] + fStack152; - fStack136 = pfParm2[2] + fStack148; - FUN_7f0598cc(auStack132,fStack156,fStack152,fStack148,*pfParm2,pfParm2[1],pfParm2[2],*puParm3, - puParm3[1],puParm3[2]); - guLookAtReflect(auStack64,uStack68,fStack156,fStack152,fStack148,fStack144,fStack140,fStack136, - *puParm3,puParm3[1],puParm3[2]); - FUN_7f0598cc(*(undefined4 *)(_DAT_80068bc0 + 100),*pfParm1,pfParm1[1],pfParm1[2],*pfParm2, - pfParm2[1],pfParm2[2],*puParm3,puParm3[1],puParm3[2]); - FUN_7f059bb0(*(undefined4 *)(_DAT_80068bc0 + 0x68),*pfParm1,pfParm1[1],pfParm1[2],*pfParm2, - pfParm2[1],pfParm2[2],*puParm3,puParm3[1],puParm3[2]); - uVar1 = FUN_7f0bca90(); - uVar2 = FUN_7f078464(); - loc_7F0580E4(uVar2,auStack132,afStack232); - pfVar6 = afStack232; - do { - iVar5 = 0; - pfVar4 = pfVar6; - do { - iVar5 += 4; - if (32000.00000000 < *pfVar4) { - *pfVar4 = 32000.00000000; - } - else { - if (*pfVar4 < -32000.00000000) { - *pfVar4 = -32000.00000000; - } - } - pfVar4 = pfVar4 + 1; - } while (iVar5 != 0x10); - pfVar6 = pfVar6 + 4; - } while (pfVar6 != afStack168); - guMtxL2F(afStack232,uVar1); - FUN_7f078404(uVar1); - uVar3 = FUN_7f0b3bb4(); - matrix_multiply_A1_by_F12(uVar3); - guMtxL2F(auStack132,*(undefined4 *)(_DAT_80068bc0 + 0x5c)); - loc_7F059344(*(undefined4 *)(_DAT_80068bc0 + 0x5c),*(undefined4 *)(_DAT_80068bc0 + 0x60)); - FUN_7f0783c4(*(undefined4 *)(_DAT_80068bc0 + 0x5c)); - FUN_7f0783a4(*(undefined4 *)(_DAT_80068bc0 + 0x60)); - FUN_7f078424(*(undefined4 *)(_DAT_80068bc0 + 100)); - FUN_7f0784a4(*(undefined4 *)(_DAT_80068bc0 + 0x68)); - FUN_7f0784e4(uStack68); - FUN_7f07865c(); - FUN_7f08772c(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f087ad0(undefined4 uParm1) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 uVar3; - float fVar4; - float fVar5; - undefined4 uStackX0; - undefined auStack76 [12]; - float fStack64; - undefined4 uStack60; - float fStack56; - undefined4 uStack52; - undefined4 uStack48; - undefined4 uStack44; - int *piStack40; - int iStack36; - int iStack32; - int iStack28; - float fStack24; - float fStack20; - float fStack16; - int iStack12; - int iStack8; - int iStack4; - - lVar1 = FUN_70005da4(); - uStackX0 = uParm1; - if (lVar1 == 0x36) { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 2) { - uVar2 = sub_GAME_7F01CA18(uParm1); - uVar2 = sub_GAME_7F01CA18(uVar2); - uVar2 = sub_GAME_7F01CA18(uVar2); - uStackX0 = sub_GAME_7F01CA18(uVar2); - } - else { - lVar1 = FUN_7f0a41e8(); - if (lVar1 == 1) { - uVar2 = sub_GAME_7F01CA18(uParm1); - uVar2 = sub_GAME_7F01CA18(uVar2); - uStackX0 = sub_GAME_7F01CA18(uVar2); - } - else { - uVar2 = sub_GAME_7F01CA18(uParm1); - uStackX0 = sub_GAME_7F01CA18(uVar2); - } - } - } - if (*_DAT_80068bc0 == 1) { - iStack12 = _DAT_80068bc0[1]; - iStack8 = _DAT_80068bc0[2]; - iStack4 = _DAT_80068bc0[3]; - fStack24 = (float)_DAT_80068bc0[4] - (float)_DAT_80068bc0[1]; - fStack20 = (float)_DAT_80068bc0[5] - (float)_DAT_80068bc0[2]; - fStack16 = (float)_DAT_80068bc0[6] - (float)_DAT_80068bc0[3]; - iStack36 = _DAT_80068bc0[7]; - iStack32 = _DAT_80068bc0[8]; - iStack28 = _DAT_80068bc0[9]; - } - else { - piStack40 = _DAT_80068bc0 + 0x122; - uStack52 = DAT_80031d80; - uStack48 = DAT_80031d84; - uStack44 = DAT_80031d88; - if (_DAT_80068bc0[0x36] == 0) { - FUN_7f09bcd8(_DAT_80068bc0 + 0x12d,_DAT_80068bc0 + 0x130); - } - else { - loc_70003B44(0); - } - iStack12 = piStack40[0xb]; - iStack8 = piStack40[0xc]; - iStack4 = piStack40[0xd]; - fStack24 = (float)piStack40[0xe]; - fStack20 = (float)piStack40[0xf]; - fStack16 = (float)piStack40[0x10]; - iStack36 = piStack40[0x11]; - iStack32 = piStack40[0x12]; - iStack28 = piStack40[0x13]; - } - FUN_7f08778c(&iStack12,&fStack24,&iStack36); - FUN_7f068938(auStack76,&fStack64); - uVar3 = sqrtf(fStack56 * fStack56 + fStack64 * fStack64); - fVar5 = (float)FUN_7f08a0dc(); - fVar4 = (float)convert_angle_using_inverse(uStack60,uVar3); - fVar4 = fVar4 + fVar5; - if (DAT_8004ae40 <= fVar4) { - fVar4 = fVar4 - DAT_8004ae44; - } - *(float *)(_DAT_80068bc0 + 0xa80) = fVar4; - fVar5 = (float)convert_angle_using_inverse(-fStack64,-fStack56); - if (DAT_8004ae48 <= fVar5) { - fVar5 = fVar5 - DAT_8004ae4c; - } - *(float *)(_DAT_80068bc0 + 0xa81) = fVar5; - return uStackX0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f087d74(undefined4 uParm1,int iParm2,int iParm3) - -{ - int iVar1; - uint *puVar2; - int *piVar3; - int iVar4; - int iVar5; - int iVar6; - - iVar1 = FUN_7f01d3c0(); - iVar4 = *(int *)(iParm2 + 8); - iVar5 = iParm3 * 4; - piVar3 = (int *)(iVar4 + iVar5); - if (*piVar3 == 0) { - iVar6 = piVar3[1]; - } - else { - puVar2 = (uint *)loc_7F06C888(uParm1); - *puVar2 = (uint)(*(int *)(_DAT_80068bc0 + 0x41c) == 3); - iVar4 = *(int *)(iParm2 + 8); - piVar3 = (int *)(iVar4 + iVar5); - iVar6 = piVar3[1]; - } - if (iVar6 != 0) { - puVar2 = (uint *)loc_7F06C888(uParm1,*(undefined4 *)(iVar4 + (iParm3 + 1) * 4)); - iVar4 = *(int *)(_DAT_80068bc0 + 0x41c); - if (iVar4 == 1) { - *puVar2 = (uint)(iVar4 == 1); - } - else { - if (iVar4 == 6) { - *puVar2 = (uint)(iVar4 == 6); - } - else { - if (iVar4 == 7) { - *puVar2 = (uint)(iVar4 == 7); - } - else { - if (iVar4 == 8) { - *puVar2 = (uint)(iVar1 != 1); - } - else { - *puVar2 = (uint)(iVar4 == 8); - } - } - } - } - iVar4 = *(int *)(iParm2 + 8); - piVar3 = (int *)(iVar4 + iVar5); - } - if (piVar3[2] != 0) { - puVar2 = (uint *)loc_7F06C888(uParm1,*(undefined4 *)(iVar4 + (iParm3 + 2) * 4)); - iVar4 = *(int *)(_DAT_80068bc0 + 0x41c); - if (iVar4 == 5) { - *puVar2 = (uint)(iVar4 == 5); - } - else { - if (iVar4 == 8) { - *puVar2 = (uint)(iVar1 == 1); - } - else { - *puVar2 = (uint)(iVar4 == 8); - } - } - iVar4 = *(int *)(iParm2 + 8); - piVar3 = (int *)(iVar4 + iVar5); - } - if (piVar3[3] != 0) { - puVar2 = (uint *)loc_7F06C888(uParm1,*(undefined4 *)(iVar4 + (iParm3 + 3) * 4)); - *puVar2 = (uint)(*(int *)(_DAT_80068bc0 + 0x41c) == 0); - iVar4 = *(int *)(iParm2 + 8); - piVar3 = (int *)(iVar4 + iVar5); - } - if (piVar3[4] != 0) { - puVar2 = (uint *)loc_7F06C888(uParm1,*(undefined4 *)(iVar4 + (iParm3 + 4) * 4)); - *puVar2 = (uint)(*(int *)(_DAT_80068bc0 + 0x41c) == 2); - iVar4 = *(int *)(iParm2 + 8); - piVar3 = (int *)(iVar4 + iVar5); - } - if (piVar3[5] != 0) { - puVar2 = (uint *)loc_7F06C888(uParm1,*(undefined4 *)(iVar4 + (iParm3 + 5) * 4)); - *puVar2 = (uint)(*(int *)(_DAT_80068bc0 + 0x41c) == 4); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f08867c) overlaps instruction at (ram,0x7f088678) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f087fd4(undefined4 *puParm1) - -{ - float *pfVar1; - int *piVar2; - undefined8 uVar3; - undefined4 uVar4; - int iVar5; - undefined **ppuVar6; - undefined **ppuVar7; - undefined4 *puVar8; - undefined4 *puVar9; - float fVar10; - float fVar11; - undefined4 *local_res0; - undefined auStack428 [64]; - undefined4 local_16c; - int local_168; - float local_160; - float local_15c; - float local_144; - float local_140; - float local_13c; - undefined auStack312 [16]; - undefined auStack296 [16]; - undefined auStack280 [16]; - undefined auStack264 [12]; - undefined auStack252 [12]; - undefined auStack240 [74]; - ushort local_a6; - int local_a4; - undefined4 *local_a0; - int local_98; - int local_94; - float local_90; - float local_8c; - float local_88; - float local_84; - undefined auStack128 [64]; - undefined *local_40; - undefined4 local_3c; - undefined4 local_38; - undefined4 *local_34; - int local_30; - undefined4 local_10; - uint local_c; - - local_res0 = puParm1; - if (*(int *)(_DAT_80068bc0 + 0x1c8) != 0) { - puVar8 = &DAT_80031d8c; - ppuVar6 = &local_40; - local_res0 = puParm1; - if (*(int *)(_DAT_80068bc0 + 0x200) != 0) { - do { - puVar9 = puVar8 + 3; - ppuVar7 = ppuVar6 + 3; - *ppuVar6 = (undefined *)*puVar8; - ppuVar6[1] = (undefined *)puVar8[1]; - ppuVar6[2] = (undefined *)puVar8[2]; - puVar8 = puVar9; - ppuVar6 = ppuVar7; - } while (puVar9 != (undefined4 *)0x80031dc8); - *ppuVar7 = puRam80031dc8; - local_8c = DAT_80031dcc; - local_88 = (float)DAT_80031dd0; - local_84 = (float)DAT_80031dd4; - local_98 = FUN_7f05d3c8(1); - local_a0 = (undefined4 *) - loc_7F06C888(_DAT_80068bc0 + 0x230,*(undefined4 *)(*(int *)(local_98 + 8) + 0xc)); - uVar3 = FUN_7f0bca90(); - local_a4 = (int)uVar3; - guPerspective(uVar3,&local_a6,*(undefined4 *)(_DAT_80068bc0 + 0x11bc),0x3fb3458f,0x41200000, - 0x43960000,0x3f800000); - *puParm1 = 0x1030040; - puParm1[1] = local_a4 + -0x80000000; - puParm1[2] = 0xbc00000e; - puParm1[3] = (uint)local_a6; - local_34 = puParm1 + 4; - *local_a0 = *(undefined4 *)(_DAT_80068bc0 + 0x1cc); - local_8c = *(float *)(_DAT_80068bc0 + 0x498) * - (*(float *)(_DAT_80068bc0 + 0x54c) + -12.00000000) + - *(float *)(_DAT_80068bc0 + 0x48c) + - *(float *)(_DAT_80068bc0 + 0x544) * -*(float *)(_DAT_80068bc0 + 0x4a0); - local_88 = *(float *)(_DAT_80068bc0 + 0x548) + *(float *)(_DAT_80068bc0 + 0x490); - local_84 = *(float *)(_DAT_80068bc0 + 0x4a0) * - (*(float *)(_DAT_80068bc0 + 0x54c) + -12.00000000) + - *(float *)(_DAT_80068bc0 + 0x494) + - *(float *)(_DAT_80068bc0 + 0x544) * *(float *)(_DAT_80068bc0 + 0x498); - FUN_7f058978(&local_8c,(360.00000000 - *(float *)(_DAT_80068bc0 + 0x148)) * DAT_8004ae50, - auStack128); - uVar3 = FUN_7f078444(); - FUN_7f058540(uVar3,auStack128); - local_94 = FUN_7f0bcac4((int)*(short *)(local_98 + 0xe) << 6); - FUN_7f087d74(_DAT_80068bc0 + 0x230,local_98,4); - local_40 = auStack128; - local_30 = local_94; - FUN_7f06f670(&local_40,_DAT_80068bc0 + 0x230); - local_90 = 1.00000000; - local_168 = (int)_DAT_80068504; - pfVar1 = *(float **)(**(int **)(local_98 + 8) + 4); - fVar11 = *(float *)(_DAT_80068bc0 + 600) / 20.00000000; - if (1.00000000 < fVar11) { - fVar10 = *pfVar1; - } - else { - fVar10 = *pfVar1; - local_90 = fVar11; - } - local_144 = ((*(float *)(_DAT_80068bc0 + 0x1d4) - fVar10 * *(float *)(_DAT_80068bc0 + 0x244)) - - *(float *)(local_94 + 0x30)) * local_90 + *(float *)(local_94 + 0x30); - local_140 = ((*(float *)(_DAT_80068bc0 + 0x1d8) + - pfVar1[2] * *(float *)(_DAT_80068bc0 + 0x244)) - *(float *)(local_94 + 0x34)) * - local_90 + *(float *)(local_94 + 0x34); - local_13c = ((*(float *)(_DAT_80068bc0 + 0x1dc) - - pfVar1[1] * *(float *)(_DAT_80068bc0 + 0x244)) - *(float *)(local_94 + 0x38)) * - local_90 + *(float *)(local_94 + 0x38); - FUN_7f059db0(auStack240,0,0,0,*(undefined4 *)(_DAT_80068bc0 + 0x1e0), - *(undefined4 *)(_DAT_80068bc0 + 0x1e4),*(undefined4 *)(_DAT_80068bc0 + 0x1e8), - *(undefined4 *)(_DAT_80068bc0 + 0x1ec),*(undefined4 *)(_DAT_80068bc0 + 0x1f0), - *(undefined4 *)(_DAT_80068bc0 + 500)); - loc_7F058918(local_94,auStack252); - loc_7F058918(auStack240,auStack264); - sub_7F05B3F4(auStack252,auStack280); - sub_7F05B3F4(auStack264,auStack296); - locret_7F05BE80(auStack280,auStack296); - loc_7F05BC58(auStack280,auStack296,local_90,auStack312); - sub_7F05B628(auStack312,local_94); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&local_144,local_94); - matrix_multiply_A1_by_F12(*(undefined4 *)(_DAT_80068bc0 + 0x244)); - iVar5 = local_168 / 0x3c; - if (false) { - trap(0x1c00); - } - if ((false) && (local_168 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - local_15c = (-((float)(iVar5 % 0x3c) + (float)(local_168 % 0x3c) / 60.00000000) * DAT_8004ae54 - ) / 60.00000000; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 / 0x3c == -0x80000000)) { - trap(0x1800); - } - local_160 = (-(float)((iVar5 / 0x3c) % 0x3c) * DAT_8004ae54) / 60.00000000 + - local_15c / 60.00000000; - fVar11 = (-(float)((iVar5 / 0xe10) % 0xc) * DAT_8004ae54) / 12.00000000 + - local_160 / 12.00000000 + local_15c / 720.00000000; - while (local_15c < 0.00000000) { - local_15c = local_15c + DAT_8004ae54; - } - while (local_160 < 0.00000000) { - local_160 = local_160 + DAT_8004ae54; - } - if (fVar11 < 0.00000000) { - do { - fVar11 = fVar11 + DAT_8004ae54; - } while (fVar11 < 0.00000000); - piVar2 = *(int **)(local_98 + 8); - } - else { - piVar2 = *(int **)(local_98 + 8); - } - iVar5 = local_94 + 0x40; - FUN_7f058978(*(undefined4 *)(*piVar2 + 4),fVar11); - FUN_7f058510(local_94,iVar5); - iVar5 = local_94 + 0x80; - FUN_7f058978(*(undefined4 *)(*(int *)(*(int *)(local_98 + 8) + 4) + 4),local_160); - FUN_7f058510(local_94,iVar5); - iVar5 = local_94 + 0xc0; - FUN_7f058978(*(undefined4 *)(*(int *)(*(int *)(local_98 + 8) + 8) + 4),local_15c); - FUN_7f058510(local_94,iVar5); - local_38 = 3; - local_3c = 0; - local_10 = 4; - if ((*(int *)(_DAT_80068bc0 + 0x1c8) == 5) || (*(int *)(_DAT_80068bc0 + 0x1c8) == 0xc)) { - local_c = 0xcd; - } - else { - local_c = (uint)*(byte *)(_DAT_80068bc0 + 0xfd7) | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd4) << 0x18 | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd5) << 0x10 | - (uint)*(byte *)(_DAT_80068bc0 + 0xfd6) << 8; - } - FUN_7f074758(&local_40,_DAT_80068bc0 + 0x230); - puVar8 = local_34; - local_16c = *(undefined4 *)(*(int *)(*(int *)(local_98 + 8) + 8) + 4); - uVar4 = FUN_7f0bca90(); - FUN_7f058e0c(local_16c,auStack428); - FUN_7f058510(local_94,auStack428); - FUN_7f05910c(); - FUN_7f059144(auStack428,uVar4); - FUN_7f059130(); - local_res0 = (undefined4 *) - FUN_7f0abce8(puVar8,uVar4, - (ulonglong) - (*(int *)(_DAT_80068bc0 + 0x1c8) == 5 || - *(int *)(_DAT_80068bc0 + 0x1c8) == 0xc)); - FUN_7f05910c(); - loc_7F08BDA4(*(undefined4 *)(_DAT_80068bc0 + 0x23c),*(undefined2 *)(local_98 + 0xe)); - FUN_7f059130(); - } - } - return local_res0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f088780(undefined4 *puParm1) - -{ - undefined8 uVar1; - undefined4 uVar2; - undefined auStack72 [64]; - undefined4 uStack8; - undefined4 uStack4; - - loc_7F0A32C8(_DAT_80068bc0 + 0x12b0,0x2e,1,*(undefined4 *)(_DAT_80068bc0 + 0xf0)); - loc_7F0A33E8(_DAT_80068bc0 + 0x19f0,_DAT_80068bc0 + -0x7fffed50,0x2e); - loc_7F0A32C8(_DAT_80068bc0 + 0x1590,0x2e,0xffffffffffffffff,*(undefined4 *)(_DAT_80068bc0 + 0xec)) - ; - loc_7F0A33E8(_DAT_80068bc0 + 0x2120,_DAT_80068bc0 + -0x7fffea70,0x2e); - uStack4 = FUN_7f0bca90(); - uVar1 = FUN_7f0bca90(); - uStack8 = (undefined4)uVar1; - guOrtho(uVar1,DAT_80031a1c * -800.00000000,DAT_80031a1c * 800.00000000, - DAT_80031a1c * -600.00000000,DAT_80031a1c * 600.00000000,0xc2c80000,0x447a0000,0x3f800000) - ; - *puParm1 = 0x1030040; - uVar2 = osVirtualToPhysical(uStack8); - puParm1[1] = uVar2; - FUN_7f059b3c(auStack72,0,0x43fa0000,0,0,0,0,0,0,0xbf800000); - FUN_7f059144(auStack72,uStack4); - puParm1[2] = 0x1020040; - uVar2 = osVirtualToPhysical(uStack4); - puParm1[3] = uVar2; - puParm1[4] = 0xe7000000; - puParm1[5] = 0; - puParm1[6] = 0xba001402; - puParm1[7] = 0; - puParm1[8] = 0xb900031d; - puParm1[9] = 0x5041c8; - puParm1[10] = 0xb9000002; - puParm1[0xb] = 0; - puParm1[0xc] = 0xfcffffff; - puParm1[0xd] = 0xfffe793c; - puParm1[0xe] = 0xfa000000; - puParm1[0xf] = 0xe6e6e600; - puParm1[0x10] = 0xb6000000; - puParm1[0x11] = 0x3000; - puParm1[0x12] = 0x6000000; - puParm1[0x13] = _DAT_80068bc0 + -0x7fffe610; - puParm1[0x14] = 0x6000000; - puParm1[0x15] = _DAT_80068bc0 + -0x7fffdee0; - puParm1[0x16] = 0x1030040; - uVar1 = FUN_7f0783f4(); - uVar2 = osVirtualToPhysical(uVar1); - puParm1[0x17] = uVar2; - return puParm1 + 0x18; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f088a50(void) - -{ - undefined4 *puVar1; - undefined4 uVar2; - uint uVar3; - longlong lVar4; - int iVar5; - int iVar6; - uint *puVar7; - float fVar8; - undefined4 uVar9; - float fVar10; - undefined4 uStack12; - float fStack8; - undefined4 uStack4; - - puVar7 = _DAT_80064c48; - uStack12 = DAT_80031ddc; - fStack8 = (float)DAT_80031de0; - uStack4 = DAT_80031de4; - FUN_7f07946c(); - FUN_7f079938(); - *(undefined4 *)(_DAT_80068bc0 + 0xd8) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x428) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x424) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x420) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x29b0) = 7; - *(undefined4 *)(_DAT_80068bc0 + 0x29cc) = 7; - *(undefined4 *)(_DAT_80068bc0 + 0x105c) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x1120) = 2; - FUN_7f08a52c(0xffffffffffffffff); - FUN_7f08ab70(0xffffffffffffffff); - lVar4 = FUN_7f0999a4(); - if (lVar4 < 2) { - iVar5 = 0; - } - else { - if (_DAT_80068778 < 1) { - iVar5 = 0; - } - else { - iVar5 = loc_7F0793B8(); - } - } - puVar1 = *(undefined4 **)(&DAT_80068738 + iVar5 * 4); - uStack12 = *puVar1; - uStack4 = puVar1[2]; - uVar2 = puVar1[10]; - fVar8 = (float)FUN_7f080e04(uVar2,uStack12,uStack4); - fStack8 = *(float *)(_DAT_80068bc0 + 0x29b4) + fVar8; - *(float *)(_DAT_80068bc0 + 0x70) = fVar8; - lVar4 = FUN_700098b0(); - fVar10 = (float)(int)lVar4; - if (lVar4 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = fVar10 * 0.00000000 * DAT_8004ae58; - *(float *)(_DAT_80068bc0 + 0x148) = (fVar10 * 360.00000000) / DAT_8004ae58; - *(float *)(_DAT_80068bc0 + 0x74) = fVar8; - *(float *)(_DAT_80068bc0 + 0x6c) = fVar8 / DAT_8004ae5c; - change_player_pos_to_target(_DAT_80068bc0 + 0x488,&uStack12,uVar2); - fVar8 = (float)func_7F057FC4(fVar10); - *(float *)(_DAT_80068bc0 + 0x498) = -fVar8; - *(undefined4 *)(_DAT_80068bc0 + 0x49c) = 0; - uVar9 = func_7F057FC4(fVar10); - fVar8 = DAT_8004ae60; - *(undefined4 *)(_DAT_80068bc0 + 0x4a0) = uVar9; - *(undefined4 *)(_DAT_80068bc0 + 0x408) = uStack12; - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 8) = uStack12; - *(float *)(_DAT_80068bc0 + 0x40c) = fStack8; - *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0xc) = fStack8; - *(undefined4 *)(_DAT_80068bc0 + 0x410) = uStack4; - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x10) = uStack4; - *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x14) = uVar2; - *(float *)(_DAT_80068bc0 + 0x3b8) = *(float *)(_DAT_80068bc0 + 0x4b4) / fVar8; - *(float *)(_DAT_80068bc0 + 0x3bc) = *(float *)(_DAT_80068bc0 + 0x4b8) / fVar8; - *(float *)(_DAT_80068bc0 + 0x3c0) = *(float *)(_DAT_80068bc0 + 0x4bc) / fVar8; - FUN_7f08c300(); - iVar5 = 8; - *(undefined4 *)(_DAT_80068bc0 + 0x1128) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x112c) = 0; - do { - *(undefined4 *)(_DAT_80068bc0 + iVar5 + 0x1128) = 0; - *(undefined4 *)(_DAT_80068bc0 + iVar5 + 0x112c) = 0; - *(undefined4 *)(_DAT_80068bc0 + iVar5 + 0x1130) = 0; - iVar6 = _DAT_80068bc0 + iVar5; - iVar5 += 0x10; - *(undefined4 *)(iVar6 + 0x1134) = 0; - } while (iVar5 != 0x78); - if (puVar7 != NULL) { - uVar3 = *puVar7; - while (uVar3 != 9) { - if (uVar3 < 7) { - // WARNING: Could not recover jumptable at 0x7f088d48. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8004ae64)[uVar3])(); - return; - } - puVar7 = puVar7 + 1; - uVar3 = *puVar7; - } - } - *(undefined4 *)(_DAT_80068bc0 + 0x78) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x7c) = DAT_8004ae80; - *(undefined4 *)(_DAT_80068bc0 + 0x80) = 0; - FUN_7f080ab4(0x42f00000,0x3f800000); - return; -} - - - -undefined8 loc_7F0891D8(undefined8 uParm1) - -{ - short sVar1; - ushort uVar2; - short *psVar3; - short sVar4; - int iVar5; - longlong lVar6; - undefined8 uVar7; - int iVar10; - ulonglong uVar8; - undefined8 uVar9; - short sVar13; - int iVar11; - undefined2 uVar14; - undefined4 uVar12; - longlong lVar15; - longlong lVar16; - ushort *puVar17; - int iVar18; - longlong lVar19; - int iStack40; - int iStack32; - int aiStack28 [3]; - int iStack16; - undefined4 auStack12 [2]; - int iStack4; - - lVar6 = FUN_70005da4(); - if (((lVar6 == 0x36) && (DAT_8003198c == 1)) && (lVar6 = 0xdc, DAT_80031990 != NULL)) { - lVar19 = 0xdc; - sVar13 = 0; - DAT_80031988 += 1; - sVar4 = 0; - iStack4 = DAT_80031988; - uVar7 = loc_7F0ACED4(uParm1); - iVar10 = FUN_70003efc(); - iVar10 = iStack4 - iVar10; - if (iVar10 < 0) { - iVar10 += 0xf; - } - iVar10 >>= 4; - iVar5 = iStack4; - if (iStack4 < 0) { - iVar5 = iStack4 + 0xf; - } - iStack40 = (iVar5 >> 4) + 1; - if (iVar10 < 0) { - iVar10 = 0; - } - iVar5 = 0; - lVar15 = lVar6; - lVar16 = lVar19; - psVar3 = DAT_80031990; - sVar1 = sVar13; - if (0 < iVar10) { - do { - if ((*psVar3 == 0) && (psVar3[1] == 0)) { - DAT_8003198c = 2; - lVar15 = lVar6; - lVar16 = lVar19; - iVar10 = iVar5; - iStack40 = iVar5; - sVar1 = sVar13; - break; - } - lVar15 = lVar6; - sVar1 = sVar13; - if (*psVar3 != 0x5011) { - lVar15 = (longlong)psVar3[2]; - if (lVar15 < 0) { - sVar1 = psVar3[3]; - lVar15 = lVar6; - } - else { - sVar1 = psVar3[3]; - } - if (sVar1 < 0) { - sVar1 = sVar13; - } - } - iVar5 += 1; - lVar16 = lVar19; - if (psVar3[1] != 0x5011) { - lVar16 = (longlong)psVar3[4]; - if (lVar16 < 0) { - sVar13 = psVar3[5]; - lVar16 = lVar19; - } - else { - sVar13 = psVar3[5]; - } - if (-1 < sVar13) { - sVar4 = sVar13; - } - } - lVar6 = lVar15; - lVar19 = lVar16; - psVar3 = psVar3 + 6; - sVar13 = sVar1; - } while (iVar5 != iVar10); - } - if (iVar10 < iStack40) { - iVar5 = iVar10 * 0xc; - puVar17 = (ushort *)(DAT_80031990 + iVar10 * 6); - uVar8 = (ulonglong)*puVar17; - lVar6 = lVar15; - lVar19 = lVar16; - if (*puVar17 != 0) goto LAB_7f089000; - uVar2 = DAT_80031990[iVar10 * 6 + 1]; - while (lVar6 = lVar15, lVar19 = lVar16, uVar2 != 0) { -LAB_7f089000: - do { - lVar15 = lVar6; - if (uVar8 != 0x5011) { - uVar9 = FUN_7f0c12b8(uVar8); - iVar18 = (int)DAT_80031990 + iVar5; - lVar15 = (longlong)*(short *)(iVar18 + 4); - if (lVar15 < 0) { - sVar13 = *(short *)(iVar18 + 6); - lVar15 = lVar6; - } - else { - sVar13 = *(short *)(iVar18 + 6); - } - iVar18 = (int)lVar15; - if (-1 < sVar13) { - sVar1 = sVar13; - } - sVar13 = FUN_70003efc(); - iVar11 = FUN_70003f74(); - iStack16 = ((iVar11 + iVar10 * 0x10) - iStack4) + (int)sVar13; - aiStack28[0] = 0; - iStack32 = 0; - loc_7F0AEB50(aiStack28,&iStack32,uVar9,DAT_8003ab08,DAT_8003ab04,0); - if (sVar1 == 1) { - lVar6 = (longlong)(iVar18 - iStack32); - } - else { - if (sVar1 == 2) { - iVar11 = iVar18 - (iStack32 >> 1); - iVar18 = iVar11 + iStack32; - lVar6 = (longlong)iVar11; - } - else { - iVar18 += iStack32; - lVar6 = lVar15; - } - } - auStack12[0] = (undefined4)lVar6; - uVar7 = microcode_constructor_related_to_menus - (uVar7,lVar6,iStack16 + -1,iVar18 + 1,iStack16 + aiStack28[0] + 1,0); - uVar14 = FUN_70003e6c(); - uVar12 = FUN_70003e7c(); - uVar7 = loc_7F0ADD78(uVar7,auStack12,&iStack16,uVar9,DAT_8003ab08,DAT_8003ab04, - 0xffffffff,uVar14,uVar12,0,0); - puVar17 = (ushort *)((int)DAT_80031990 + iVar5); - } - lVar16 = lVar19; - if (puVar17[1] != 0x5011) { - uVar9 = FUN_7f0c12b8(); - iVar18 = (int)DAT_80031990 + iVar5; - lVar16 = (longlong)*(short *)(iVar18 + 8); - if (lVar16 < 0) { - sVar13 = *(short *)(iVar18 + 10); - lVar16 = lVar19; - } - else { - sVar13 = *(short *)(iVar18 + 10); - } - iVar18 = (int)lVar16; - if (-1 < sVar13) { - sVar4 = sVar13; - } - sVar13 = FUN_70003efc(); - iVar11 = FUN_70003f74(); - iStack16 = ((iVar11 + iVar10 * 0x10) - iStack4) + (int)sVar13; - aiStack28[0] = 0; - iStack32 = 0; - loc_7F0AEB50(aiStack28,&iStack32,uVar9,DAT_8003ab08,DAT_8003ab04,0); - if (sVar4 == 1) { - lVar6 = (longlong)(iVar18 - iStack32); - } - else { - if (sVar4 == 2) { - iVar11 = iVar18 - (iStack32 >> 1); - iVar18 = iVar11 + iStack32; - lVar6 = (longlong)iVar11; - } - else { - iVar18 += iStack32; - lVar6 = lVar16; - } - } - auStack12[0] = (undefined4)lVar6; - uVar7 = microcode_constructor_related_to_menus - (uVar7,lVar6,iStack16 + -1,iVar18 + 1,iStack16 + aiStack28[0] + 1,0); - uVar14 = FUN_70003e6c(); - uVar12 = FUN_70003e7c(); - uVar7 = loc_7F0ADD78(uVar7,auStack12,&iStack16,uVar9,DAT_8003ab08,DAT_8003ab04, - 0xffffffff,uVar14,uVar12,0,0); - } - iVar10 += 1; - iVar5 += 0xc; - if (iStack40 <= iVar10) goto LAB_7f089330; - puVar17 = (ushort *)((int)DAT_80031990 + iVar5); - uVar8 = (ulonglong)*puVar17; - lVar6 = lVar15; - lVar19 = lVar16; - } while (*puVar17 != 0); - uVar2 = puVar17[1]; - } - } -LAB_7f089330: - uParm1 = combiner_bayer_lod_perspective(uVar7); - } - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f089370(undefined4 uParm1) - -{ - int *piVar1; - undefined8 uVar2; - undefined4 uVar5; - undefined4 uVar6; - short sVar11; - int iVar7; - short sVar12; - int iVar8; - longlong lVar3; - ulonglong uVar4; - int iVar9; - undefined *puVar10; - undefined uVar13; - int iVar14; - int iVar15; - float fVar16; - float fVar17; - undefined4 local_res0; - - if (*_DAT_80068bc0 == 1) { - local_res0 = uParm1; - FUN_7f08a700(); - local_res0 = FUN_7f08a818(local_res0); - FUN_7f08ac40(); - uVar2 = FUN_7f08ad30(local_res0); - local_res0 = (undefined4)uVar2; - uVar2 = FUN_7f0564f0(uVar2); - local_res0 = (undefined4)uVar2; - uVar2 = FUN_7f080584(uVar2); - local_res0 = (undefined4)uVar2; - loc_7F0891D8(uVar2); - } - else { - local_res0 = uParm1; - FUN_7f061de4(); - FUN_7f069820(register0x000000ec); - loc_7F062FC0(register0x000000ec); - local_res0 = FUN_7f087fd4(local_res0); - if (_DAT_80068bc0[0xa6f] != 0) { - uVar5 = FUN_70003f64(); - uVar6 = FUN_70003f74(); - sVar11 = FUN_70003f64(); - iVar7 = FUN_70003eec(); - sVar12 = FUN_70003f74(); - iVar8 = FUN_70003efc(); - uVar2 = loc_7F0ACED4(local_res0); - local_res0 = (undefined4)uVar2; - local_res0 = microcode_constructor_related_to_menus - (uVar2,uVar5,uVar6,iVar7 + (int)sVar11,iVar8 + (int)sVar12,0xa0); - } - lVar3 = FUN_7f08a070(); - if ((lVar3 == 0) || (_DAT_80068bc0[0x72] != 0)) { - lVar3 = FUN_7f0c555c(); - if (lVar3 != 0) { - local_res0 = FUN_7f088780(local_res0); - iVar7 = _DAT_80068bc0[0xa7e]; - if (0 < iVar7) { - _DAT_80068bc0[0xa7e] = iVar7 - DAT_80040ff4; - iVar7 = _DAT_80068bc0[0xa7e]; - } - if (iVar7 < 0) { - _DAT_80068bc0[0xa7e] = 0; - } - } - } - else { - local_res0 = FUN_7f088780(local_res0); - } - lVar3 = FUN_7f0999a4(); - if (lVar3 == 1) { - FUN_7f057830(); - } - if (_DAT_80068bc0[0x36] != 0) { - if (_DAT_80068bc0[0x10a] == 0) { - if (_DAT_80068bc0[0x36] == 1) { - _DAT_80068bc0[0x36] = 2; - FUN_7f01c0e4(0); - lVar3 = FUN_7f0999a4(); - if (lVar3 == 1) { - FUN_7f0c0a38(0xffffffffffffffff); - FUN_7f0c00fc(0); - uVar4 = FUN_7f0c00b0(); - FUN_7000649c(uVar4 & 0xffff); - DAT_800221dc = 0; - FUN_70006824(0); - DAT_800221e0 = 0; - FUN_700062dc(0x1b); - } - else { - FUN_7f0c00fc(6); - } - } - else { - if (_DAT_80068bc0[0x109] == 0) { - uVar2 = 2; - if (0 < DAT_80040ff4) { - uVar2 = 1; - } - lVar3 = FUN_7f01c0e4(uVar2,0,0,0x3f340000); - if (lVar3 != 0) { - _DAT_80068bc0[0x109] = 1; - } - local_res0 = loc_7F01C9D4(local_res0); - } - else { - FUN_7f080854(0x96,0,0,0x3f34b4b5); - } - } - } - fVar16 = (float)sub_7F06F5BC(_DAT_80068bc0 + 0x166); - fVar17 = (float)locret_7F06F608(_DAT_80068bc0 + 0x166); - if ((fVar17 <= fVar16) && (_DAT_80068bc0[0x109] != 0)) { - if (_DAT_80068bc0[0x10a] == 0) { - _DAT_80068bc0[0x10a] = 1; - FUN_7f080884(0x42700000); - FUN_7f080ab4(0x42f00000,0); - } - lVar3 = FUN_7f080930(); - if (lVar3 != 0) { - lVar3 = FUN_7f0999a4(); - if (lVar3 == 1) { - FUN_7f07aa50(5); - } - else { - iVar7 = FUN_7f0146c8(); - iVar8 = FUN_7f09a690(); - iVar9 = FUN_7f0999a4(); - iVar15 = 0; - iVar14 = 0; - if (0 < iVar9) { - puVar10 = &DAT_80068a00 + iVar8 * 4; - do { - piVar1 = (int *)(puVar10 + 0x24); - iVar14 += 1; - puVar10 = puVar10 + 0x70; - iVar15 += *piVar1; - } while (iVar14 < iVar9); - } - if ((iVar7 != 1) || (iVar15 < 2)) { - uVar13 = FUN_7f09a690(); - lVar3 = FUN_7000b080(uVar13,0xb000); - if (lVar3 != 0) { - FUN_7f088a50(); - } - } - } - } - } - } - FUN_7f08a700(); - local_res0 = FUN_7f08a818(local_res0); - FUN_7f08ac40(); - local_res0 = FUN_7f08ad30(local_res0); - FUN_7f06ad78(register0x000000ec); - uVar2 = FUN_7f06a488(local_res0); - local_res0 = (undefined4)uVar2; - uVar2 = FUN_7f0564f0(uVar2); - local_res0 = (undefined4)uVar2; - uVar2 = display_red_blue_on_radar(uVar2); - local_res0 = (undefined4)uVar2; - FUN_7f080584(uVar2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f089828(undefined8 uParm1) - -{ - if (_DAT_80068780 != 0) { - uParm1 = FUN_7f0b22e4(uParm1,_DAT_80068780,0xffffffffff00ff80); - } - if (_DAT_80068784 != 0) { - uParm1 = FUN_7f0b22e4(uParm1,_DAT_80068784,0xffffffffff00ff80); - } - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f089880(float fParm1) - -{ - float *pfVar1; - int iVar2; - - iVar2 = _DAT_80068bc0; - pfVar1 = (float *)(_DAT_80068bc0 + 0x494); - *(float *)(_DAT_80068bc0 + 0x48c) = *(float *)(_DAT_80068bc0 + 0x48c) * (DAT_80031a20 / fParm1); - *(float *)(iVar2 + 0x494) = *pfVar1 * (DAT_80031a20 / fParm1); - DAT_80031a20 = fParm1; - DAT_80031a24 = 1.00000000 / fParm1; - return; -} - - - -void FUN_7f0898d4(undefined4 uParm1) - -{ - DAT_80031a1c = uParm1; - return; -} - - - -undefined4 sub_7F089778(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 0x74); -} - - - -float FUN_7f0898e8(int iParm1) - -{ - return *(float *)(iParm1 + 0x29b4) + *(float *)(iParm1 + 0x88) + *(float *)(iParm1 + 0xa0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f089900(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0xa8); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f089910(void) - -{ - int iVar1; - undefined4 uVar2; - int iVar3; - int iVar4; - int iVar5; - - if ((*(char *)(_DAT_80068bc0 + 0x12ae) == '\0') && (*(int *)(_DAT_80068bc0 + 0xd8) == 0)) { - if (*(int *)(_DAT_80068bc0 + 0x1c8) != 0) { - FUN_7f07f918(1); - } - DAT_80025e78 = 1; - *(undefined4 *)(_DAT_80068bc0 + 0xd8) = 1; - iVar3 = _DAT_80068bc0 + 0x54; - iVar1 = _DAT_80068bc0; - iVar4 = _DAT_80068bc0; - do { - iVar5 = iVar4 + 0xc; - *(undefined4 *)(iVar1 + 0x434) = *(undefined4 *)(iVar4 + 0x488); - *(undefined4 *)(iVar1 + 0x438) = *(undefined4 *)(iVar4 + 0x48c); - *(undefined4 *)(iVar1 + 0x43c) = *(undefined4 *)(iVar4 + 0x490); - iVar1 = iVar1 + 0xc; - iVar4 = iVar5; - } while (iVar5 != iVar3); - *(undefined4 *)(_DAT_80068bc0 + 0x414) = *(undefined4 *)(_DAT_80068bc0 + 0x148); - *(undefined4 *)(_DAT_80068bc0 + 0x418) = *(undefined4 *)(_DAT_80068bc0 + 0x158); - if (DAT_800319a0 != 0) { - DAT_800319dc = 1; - } - FUN_7f05ddcc(1,0); - FUN_7f05ddcc(0,0); - iVar1 = FUN_7f08c2ac(); - if (iVar1 - *(int *)(_DAT_80068bc0 + 0x29ec) < *(int *)(_DAT_80068bc4 + 0x50)) { - iVar1 = FUN_7f08c2ac(); - *(int *)(_DAT_80068bc4 + 0x50) = iVar1 - *(int *)(_DAT_80068bc0 + 0x29ec); - } - uVar2 = FUN_7f08c2ac(); - *(undefined4 *)(_DAT_80068bc0 + 0x29ec) = uVar2; - } - return; -} - - - -int FUN_7f089a50(void) - -{ - int iVar1; - - iVar1 = FUN_7000af70(0); - return (iVar1 * 8 + 0x280) / 0xa0; -} - - - -// WARNING: Instruction at (ram,0x7f089b34) overlaps instruction at (ram,0x7f089b30) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f089a84(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - int iParm6,int iParm7) - -{ - bool bVar1; - longlong lVar2; - undefined8 uVar3; - int iVar4; - int iVar5; - undefined4 uVar6; - float fVar7; - float fStack4; - - fStack4 = *(float *)(_DAT_80068bc4 + 0x5c) * fParm1; - if (*(int *)(_DAT_80068bc0 + 0x1c8) != 0) { - uVar6 = FUN_7f08a4c8(); - loc_7F0A32C8(_DAT_80068bc0 + 0x12b0,0x2e,1,uVar6); - uVar6 = FUN_7f08a4b8(); - loc_7F0A32C8(_DAT_80068bc0 + 0x1590,0x2e,0xffffffffffffffff,uVar6); - } - lVar2 = FUN_7f0999a4(); - if (1 < lVar2) { - if (_DAT_80073ae0 != 0) { - return; - } - if (_DAT_80073ae4 != 0) { - return; - } - } - if (DAT_80031998 == 1) { - fStack4 = fStack4 * 0.25000000; - } - if ((*(int *)(_DAT_80068bc0 + 0xd8) == 0) && (*(char *)(_DAT_80068bc0 + 0x12ae) == '\0')) { - uVar3 = FUN_7f09a690(); - FUN_7000b5c8(uVar3,0x3e800000); - lVar2 = FUN_7f0a40e0(); - if (3 < lVar2) { - iVar4 = FUN_7f09a690(); - iVar5 = FUN_7f0999a4(); - FUN_7000b5c8(iVar5 + iVar4,0x3e800000); - } - } - lVar2 = FUN_7f0999a4(); - if ((1 < lVar2) && (lVar2 = FUN_7f0146c8(), lVar2 == 4)) { - fStack4 = *(float *)(_DAT_80068bc0 + 0xdc) * *(float *)(_DAT_80068bc0 + 0x2a34) + - *(float *)(_DAT_80068bc0 + 0xe0) * *(float *)(_DAT_80068bc0 + 0x2a38); - } - if (*(char *)(_DAT_80068bc0 + 0x12ae) != '\0') { - return; - } - if (*(int *)(_DAT_80068bc0 + 0xd8) != 0) { - return; - } - if (DAT_80031a04 != 0) { - return; - } - if (0.00000000 <= *(float *)(_DAT_80068bc0 + 0xf4)) { - lVar2 = FUN_7f0999a4(); - if (lVar2 < 2) { - return; - } - if (*(float *)(_DAT_80068bc0 + 0xf4) != 0.00000000) { - return; - } - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - else { - iVar4 = *(int *)(_DAT_80068bc0 + 0x1c8); - } - if (iVar4 == 5) { - return; - } - if (iVar4 == 0xc) { - return; - } - *(undefined4 *)(_DAT_80068bc0 + 0xe4) = *(undefined4 *)(_DAT_80068bc0 + 0xdc); - *(undefined4 *)(_DAT_80068bc0 + 0xe8) = *(undefined4 *)(_DAT_80068bc0 + 0xe0); - lVar2 = FUN_7f0999a4(); - if (1 < lVar2) { - iVar4 = FUN_7f09a690(); - fVar7 = (float)convert_angle_using_inverse(fParm2,fParm5); - iVar5 = iParm6 * 0x70; - fVar7 = *(float *)(*(int *)(&DAT_800689f0 + iVar4 * 4) + 0x148) - - (360.00000000 - (fVar7 * 180.00000000) / DAT_8004ae84); - if (fVar7 < 0.00000000) { - fVar7 = -fVar7; - } - if (90.00000000 <= fVar7) { - if (fVar7 <= 270.00000000) goto LAB_7f089da0; - iVar4 = *(int *)(&DAT_80068a3c + iVar5); - } - else { - iVar4 = *(int *)(&DAT_80068a3c + iVar5); - } - *(int *)(&DAT_80068a3c + iVar5) = iVar4 + 1; - } -LAB_7f089da0: - if (iParm7 == 0) { -LAB_7f089dec: - if (iParm7 != 0) { - fStack4 = fStack4 - *(float *)(_DAT_80068bc0 + 0xe0) / *(float *)(_DAT_80068bc0 + 0x2a38); - *(undefined4 *)(_DAT_80068bc0 + 0xe0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x2a38) = 0x3f800000; - } - *(float *)(_DAT_80068bc0 + 0xdc) = - *(float *)(_DAT_80068bc0 + 0xdc) - fStack4 / *(float *)(_DAT_80068bc0 + 0x2a34); - if (0.00000000 < *(float *)(_DAT_80068bc0 + 0xdc)) { - fVar7 = *(float *)(_DAT_80068bc0 + 0xf4); - goto LAB_7f089f64; - } - lVar2 = FUN_7f0999a4(); - if (1 < lVar2) { - iVar4 = FUN_7f09a690(); - bVar1 = false; - lVar2 = FUN_7f0146c8(); - if ((lVar2 == 3) && (lVar2 = FUN_7f08d3a4(), lVar2 != 0)) { - bVar1 = true; - } - FUN_7f056a5c(); - if (iVar4 != iParm6) { - FUN_7f06b104(); - } - FUN_7f09a64c(iParm6); - if (iVar4 == iParm6) { - FUN_7f06b1c0(); - } - else { - FUN_7f06af28(); - if (bVar1) { - FUN_7f06b0dc(); - } - } - FUN_7f09a64c(iVar4); - iVar4 = iParm6 * 0x70 + iVar4 * 4; - *(int *)(&DAT_80068a24 + iVar4) = *(int *)(&DAT_80068a24 + iVar4) + 1; - } - FUN_7f089910(); - } - else { - if (*(float *)(_DAT_80068bc0 + 0xe0) * *(float *)(_DAT_80068bc0 + 0x2a38) < fStack4) - goto LAB_7f089dec; - *(float *)(_DAT_80068bc0 + 0xe0) = - *(float *)(_DAT_80068bc0 + 0xe0) - fStack4 / *(float *)(_DAT_80068bc0 + 0x2a38); - } - fVar7 = *(float *)(_DAT_80068bc0 + 0xf4); -LAB_7f089f64: - if (fVar7 < 0.00000000) { - *(float *)(_DAT_80068bc0 + 0x180) = *(float *)(_DAT_80068bc0 + 0x180) + fParm2 + fParm2; - *(float *)(_DAT_80068bc0 + 0x188) = *(float *)(_DAT_80068bc0 + 0x188) + fParm5 + fParm5; - *(undefined4 *)(_DAT_80068bc0 + 0xf4) = 0; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0xf4) = 0; - } - *(undefined4 *)(_DAT_80068bc0 + 0xf8) = 0; - lVar2 = FUN_7f0bf078(); - if (lVar2 == 0) { - FUN_70008268(_DAT_80056900,0x44,0); - } - return; -} - - - -void FUN_7f089fe8(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3,undefined8 uParm4, - undefined4 uParm5,undefined4 uParm6) - -{ - undefined8 extraout_a0; - undefined8 extraout_a1; - undefined4 uVar1; - undefined4 uVar2; - - uVar1 = func_7F057FC4(uParm2); - uVar2 = func_7F057FC4(uParm2); - FUN_7f089a84(uParm1,uVar1,extraout_a0,extraout_a1,uVar2,uParm5,uParm6); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08a040(void) - -{ - return (ulonglong)(0.00000000 <= *(float *)(_DAT_80068bc0 + 0xf4)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08a070(void) - -{ - return (ulonglong)(0.00000000 < *(float *)(_DAT_80068bc0 + 0xf8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08a0a0(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x19c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f08a0b0(void) - -{ - return ((360.00000000 - *(float *)(_DAT_80068bc0 + 0x148)) * DAT_8004ae88) / 360.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f08a0dc(void) - -{ - return (*(float *)(_DAT_80068bc0 + 0x158) * DAT_8004ae8c) / 360.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08a104(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0xd0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a114(undefined uParm1) - -{ - *(undefined *)(_DAT_80068bc0 + 0x12ae) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08a124(void) - -{ - return (ulonglong)*(byte *)(_DAT_80068bc0 + 0x12ae); -} - - - -void FUN_7f08a134(undefined4 uParm1) - -{ - DAT_80031a14 = uParm1; - return; -} - - - -undefined4 FUN_7f08a140(void) - -{ - return DAT_80031a14; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08a164(void) - -{ - int iVar1; - - if (*_DAT_80068bc0 == 1) { - if (_DAT_80068bc0[0xd] != 0) { - return (ulonglong)*(byte *)(_DAT_80068bc0[0xd] + 3); - } - iVar1 = _DAT_80068bc0[0x136]; - } - else { - iVar1 = _DAT_80068bc0[0x136]; - } - return (ulonglong)*(byte *)(iVar1 + 3); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08a1a0(void) - -{ - if (*_DAT_80068bc0 == 1) { - return _DAT_80068bc0 + 1; - } - return _DAT_80068bc0 + 0x12d; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08a1cc(void) - -{ - if (*_DAT_80068bc0 == 1) { - return _DAT_80068bc0 + 10; - } - return _DAT_80068bc0 + 0x129; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08a1f8(void) - -{ - return _DAT_80068bc0 + 0x408; -} - - - -void FUN_7f08a208(int iParm1,undefined4 uParm2) - -{ - int iVar1; - - iVar1 = FUN_7f09a69c(); - if (*(int *)(iParm1 + 4) != 0) { - loc_7F01F604(*(int *)(iParm1 + 4),uParm2); - } - if (DAT_800319a0 != 0) { - loc_7F04F230(DAT_800319a0,uParm2); - } - *(undefined4 *)(*(int *)(&DAT_800689f0 + iVar1 * 4) + 0xac) = uParm2; - return; -} - - - -// WARNING: Instruction at (ram,0x7f08a2e4) overlaps instruction at (ram,0x7f08a2e0) -// - -void FUN_7f08a27c(undefined8 uParm1,int **ppiParm2,undefined4 *puParm3,float *pfParm4,float *pfParm5 - ) - -{ - int iVar2; - longlong lVar1; - int **ppiVar3; - float fVar4; - - iVar2 = FUN_7f09a69c(); - if ((*(int *)(*(int *)(&DAT_800689f0 + iVar2 * 4) + 0xac) == 0) || - (((lVar1 = FUN_7f0999a4(), lVar1 != 1 && - (*(int *)(*(int *)(&DAT_800689f0 + iVar2 * 4) + 0xd8) != 0)) || - (ppiVar3 = (int **)(&DAT_800689f0 + iVar2 * 4), **ppiVar3 == 1)))) { - *puParm3 = 0; - } - else { - *puParm3 = 4; - *ppiParm2 = *ppiVar3 + 0x2c; - *(int *)pfParm5 = (*ppiVar3)[0x1c]; - fVar4 = (float)FUN_7f0898e8(*ppiVar3); - *pfParm4 = fVar4 + *pfParm5 + 10.00000000; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a368(void) - -{ - if (DAT_80031998 == 1) { - FUN_7f07c95c(_DAT_80068bc0 + 0xb0,_DAT_80068bc0 + 0x48c,DAT_800319b4); - } - else { - *(float *)(_DAT_80068bc0 + 0xb0) = - *(float *)(_DAT_80068bc0 + 0x48c) + *(float *)(_DAT_80068bc0 + 0x4b0); - *(undefined4 *)(_DAT_80068bc0 + 0xb4) = *(undefined4 *)(_DAT_80068bc0 + 0x494); - *(undefined4 *)(_DAT_80068bc0 + 0xb8) = *(undefined4 *)(_DAT_80068bc0 + 0x48c); - *(float *)(_DAT_80068bc0 + 0xbc) = - *(float *)(_DAT_80068bc0 + 0x494) + *(float *)(_DAT_80068bc0 + 0x4b0); - *(float *)(_DAT_80068bc0 + 0xc0) = - *(float *)(_DAT_80068bc0 + 0x48c) - *(float *)(_DAT_80068bc0 + 0x4b0); - *(undefined4 *)(_DAT_80068bc0 + 0xc4) = *(undefined4 *)(_DAT_80068bc0 + 0x494); - *(undefined4 *)(_DAT_80068bc0 + 200) = *(undefined4 *)(_DAT_80068bc0 + 0x48c); - *(float *)(_DAT_80068bc0 + 0xcc) = - *(float *)(_DAT_80068bc0 + 0x494) - *(float *)(_DAT_80068bc0 + 0x4b0); - } - return; -} - - - -void FUN_7f08a440(undefined8 uParm1,undefined4 *puParm2,float *pfParm3,undefined4 *puParm4) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7f09a69c(); - *puParm2 = *(undefined4 *)(*(int *)(&DAT_800689f0 + iVar1 * 4) + 0x4b0); - fVar2 = (float)FUN_7f0898e8(*(int *)(&DAT_800689f0 + iVar1 * 4)); - *pfParm3 = (fVar2 + 10.00000000) - 30.00000000; - *puParm4 = 0x41f00000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08a4b8(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0xdc); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08a4c8(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0xe0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a4d8(float fParm1) - -{ - *(float *)(_DAT_80068bc4 + 0x40) = *(float *)(_DAT_80068bc4 + 0x40) + fParm1; - *(float *)(_DAT_80068bc0 + 0xe0) = fParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a4fc(void) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x11d0) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x11d4) = 0xffffffff; - DAT_80031de8 = 0; - DAT_80031dec = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a52c(uint uParm1) - -{ - *(uint *)(_DAT_80068bc0 + 0x11d0) = *(uint *)(_DAT_80068bc0 + 0x11d0) & ~uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a548(uint uParm1) - -{ - *(uint *)(_DAT_80068bc0 + 0x11d0) = *(uint *)(_DAT_80068bc0 + 0x11d0) | uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a560(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - longlong lVar1; - int iVar2; - int iVar3; - - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - if (DAT_80031dec < 5) { - iVar3 = (DAT_80031de8 + DAT_80031dec) % 5; - iVar2 = iVar3 * 0x65; - locret_7000A7F4(iVar2 + -0x7ff97af8,uParm1,100); - iVar3 *= 4; - *(undefined *)(iVar2 + -0x7ff97a94) = 0; - *(undefined4 *)(iVar3 + -0x7ff978e0) = uParm2; - *(undefined4 *)(iVar3 + -0x7ff978f8) = uParm3; - DAT_80031dec += 1; - } - } - else { - iVar2 = FUN_7f09a690(); - locret_7000A7F4(iVar2 * 0x65 + -0x7ff97af8,uParm1,100); - *(undefined *)(iVar2 * 0x65 + -0x7ff97a94) = 0; - *(undefined4 *)(iVar2 * 4 + -0x7ff978e0) = uParm2; - iVar3 = _DAT_80068bc0; - *(undefined4 *)(iVar2 * 4 + -0x7ff978f8) = uParm3; - *(undefined4 *)(iVar3 + 0x11d4) = 100; - } - return; -} - - - -void FUN_7f08a6d4(undefined8 uParm1) - -{ - FUN_7f08a560(uParm1,DAT_8003ab00,DAT_8003aafc); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a700(void) - -{ - longlong lVar1; - - if ((*(int *)(_DAT_80068bc0 + 0x11d0) == 0) && (*(int *)(_DAT_80068bc0 + 0x29bc) == 0)) { - if (-1 < *(int *)(_DAT_80068bc0 + 0x11d4)) { - *(int *)(_DAT_80068bc0 + 0x11d4) = *(int *)(_DAT_80068bc0 + 0x11d4) - DAT_80040ff4; - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - if (*(int *)(_DAT_80068bc0 + 0x11d4) < 0) { - DAT_80031de8 = (DAT_80031de8 + 1) % 5; - DAT_80031dec += -1; - } - else { - if ((1 < DAT_80031dec) && (0x19 < *(int *)(_DAT_80068bc0 + 0x11d4))) { - *(undefined4 *)(_DAT_80068bc0 + 0x11d4) = 0x19; - } - } - } - } - lVar1 = FUN_7f0999a4(); - if (((lVar1 == 1) && (*(int *)(_DAT_80068bc0 + 0x11d4) < 0)) && (0 < DAT_80031dec)) { - if (DAT_80031dec < 2) { - *(undefined4 *)(_DAT_80068bc0 + 0x11d4) = 100; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x11d4) = 0x19; - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08a818(undefined4 uParm1) - -{ - longlong lVar1; - undefined4 uVar4; - ulonglong uVar2; - undefined8 uVar3; - short sVar7; - int iVar5; - undefined2 uVar8; - undefined4 uVar6; - undefined4 local_res0; - int local_1c; - int local_18; - int local_14; - int local_10; - int local_c; - int local_8; - int local_4; - - local_res0 = uParm1; - if (((*(int *)(_DAT_80068bc0 + 0x11d0) == 0) && - (local_res0 = uParm1, -1 < *(int *)(_DAT_80068bc0 + 0x11d4))) && - (local_res0 = uParm1, *(int *)(_DAT_80068bc0 + 0x29bc) == 0)) { - local_4 = 0; - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - iVar5 = local_4; - if (*(char *)(DAT_80031de8 * 0x65 + -0x7ff97af8) != '\0') { - iVar5 = 1; - } - } - else { - iVar5 = local_4; - if (-1 < *(int *)(_DAT_80068bc0 + 0x11d4)) { - DAT_80031de8 = FUN_7f09a690(); - iVar5 = 1; - } - } - local_res0 = uParm1; - if (iVar5 != 0) { - uVar4 = loc_7F0ACED4(uParm1); - local_1c = 0; - local_18 = 0; - loc_7F0AEB50(&local_18,&local_1c,DAT_80031de8 * 0x65 + -0x7ff97af8, - *(undefined4 *)(DAT_80031de8 * 4 + -0x7ff978e0), - *(undefined4 *)(DAT_80031de8 * 4 + -0x7ff978f8),0); - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - local_8 = FUN_70003f64(); - local_8 += 0x1e; - } - else { - uVar2 = FUN_7f09a690(); - if ((uVar2 & 1) == 0) { - local_8 = FUN_70003f64(); - local_8 += 0x1e; - } - else { - local_8 = FUN_70003f64(); - local_8 += 10; - } - } - local_10 = local_8 + local_1c; - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - uVar3 = FUN_7f05de88(1); - lVar1 = FUN_7f069bc0(uVar3); - if ((lVar1 == 0) && (lVar1 = FUN_7f05647c(), lVar1 == 0)) { - sVar7 = FUN_70003f74(); - iVar5 = FUN_70003efc(); - local_14 = iVar5 + (int)sVar7 + -0x16; - } - else { - sVar7 = FUN_70003f74(); - iVar5 = FUN_70003efc(); - local_14 = iVar5 + (int)sVar7 + -0x32; - } - } - else { - sVar7 = FUN_70003f74(); - if ((DAT_80041150 == 0) || (lVar1 = FUN_7f09a690(), 1 < lVar1)) { - iVar5 = 0; - } - else { - iVar5 = 8; - } - local_14 = iVar5 + (int)sVar7 + 0x14; - } - local_c = local_14 - local_18; - uVar4 = draw_blackbox_to_screen(uVar4,&local_8,&local_c,&local_10,&local_14); - uVar8 = FUN_70003e6c(); - uVar6 = FUN_70003e7c(); - uVar3 = loc_7F0AE958(uVar4,&local_8,&local_c,DAT_80031de8 * 0x65 + -0x7ff97af8, - *(undefined4 *)(DAT_80031de8 * 4 + -0x7ff978e0), - *(undefined4 *)(DAT_80031de8 * 4 + -0x7ff978f8),0xffffffff,0x646464ff, - uVar8,uVar6,0,0); - local_res0 = combiner_bayer_lod_perspective(uVar3); - } - } - return local_res0; -} - - - -void FUN_7f08ab48(void) - -{ - DAT_80031df0 = 0; - DAT_80031df4 = 0; - DAT_80031df8 = 0xffffffff; - DAT_80031dfc = 0; - return; -} - - - -void FUN_7f08ab70(uint uParm1) - -{ - DAT_80031dfc = DAT_80031dfc & ~uParm1; - return; -} - - - -void FUN_7f08ab8c(uint uParm1) - -{ - DAT_80031dfc = DAT_80031dfc | uParm1; - return; -} - - - -void FUN_7f08aba4(undefined8 uParm1) - -{ - uint uVar1; - - if (DAT_80031df4 < 2) { - uVar1 = DAT_80031df0 + DAT_80031df4 & 1; - if ((DAT_80031df0 + DAT_80031df4 < 0) && (uVar1 != 0)) { - uVar1 -= 2; - } - locret_7000A7F4(uVar1 * 0x97 + -0x7ff97858,uParm1,0x96); - DAT_80031df4 += 1; - *(undefined *)(uVar1 * 0x97 + -0x7ff977c2) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ac40(void) - -{ - uint uVar1; - - if ((DAT_80031dfc == 0) && (*(int *)(_DAT_80068bc0 + 0x29bc) == 0)) { - if (-1 < DAT_80031df8) { - DAT_80031df8 -= DAT_80040ff4; - if (DAT_80031df8 < 0) { - uVar1 = DAT_80031df0 + 1; - DAT_80031df0 = uVar1 & 1; - if (((int)uVar1 < 0) && (DAT_80031df0 != 0)) { - DAT_80031df0 -= 2; - } - DAT_80031df4 += -1; - } - else { - if ((1 < DAT_80031df4) && (0x32 < DAT_80031df8)) { - DAT_80031df8 = 0x32; - } - } - } - if ((DAT_80031df8 < 0) && (0 < DAT_80031df4)) { - if (1 < DAT_80031df4) { - DAT_80031df8 = 0x32; - return; - } - DAT_80031df8 = 200; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08ad30(undefined8 uParm1) - -{ - uint uVar1; - undefined6 *puVar2; - undefined8 uVar3; - int iVar6; - undefined8 uVar4; - undefined2 uVar8; - undefined4 uVar7; - longlong lVar5; - float fVar9; - undefined4 in_f5; - undefined4 in_f9; - undefined4 in_f17; - undefined4 local_9c; - undefined4 local_98; - undefined4 local_94; - undefined4 local_90; - uint local_8c; - undefined4 local_88; - undefined6 uStack130; - int local_74; - int local_6c; - int local_68; - undefined auStack100 [16]; - undefined auStack84 [16]; - undefined auStack68 [16]; - undefined auStack52 [16]; - undefined auStack36 [16]; - undefined4 local_14; - int local_10; - int local_c; - int local_8; - int local_4; - - if ((((DAT_80031dfc == 0) && (-1 < DAT_80031df8)) && - (*(char *)(DAT_80031df0 * 0x97 + -0x7ff97858) != '\0')) && - (*(int *)(_DAT_80068bc0 + 0x29bc) == 0)) { - uVar3 = loc_7F0ACED4(); - local_14 = 0; - local_10 = 0; - loc_7F0AEB50(&local_10,&local_14,DAT_80031df0 * 0x97 + -0x7ff97858,DAT_8003ab08,DAT_8003ab04,0); - if (DAT_8003197c == 0) { - local_4 = FUN_70003f64(); - local_4 += 0x1e; - local_8 = FUN_70003f74(); - local_8 += 0x10; - } - else { - local_4 = FUN_70003f64(); - local_4 += 0x46; - iVar6 = FUN_70003f74(); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 + 0x20 == -0x80000000)) { - trap(0x1800); - } - local_8 = ((iVar6 + 0x20) / 0xb) * 0xb + -2; - } - local_c = local_8 + local_10; - uVar4 = FUN_70003e6c(); - uVar3 = microcode_constructor_related_to_menus(uVar3,0,local_8 + -2,uVar4,local_c,100); - if (DAT_80041150 == 0) { - uVar8 = FUN_70003e6c(); - uVar7 = FUN_70003e7c(); - uVar3 = loc_7F0ADD78(uVar3,&local_4,&local_8,DAT_80031df0 * 0x97 + -0x7ff97858,DAT_8003ab08, - DAT_8003ab04,0xffffffff,uVar8,uVar7,0,0); - } - else { - uVar8 = FUN_70003e6c(); - uVar7 = FUN_70003e7c(); - uVar3 = loc_7F0AE958(uVar3,&local_4,&local_8,DAT_80031df0 * 0x97 + -0x7ff97858,DAT_8003ab08, - DAT_8003ab04,0xffffffff,0x646464ff,uVar8,uVar7,0,0); - } - uParm1 = combiner_bayer_lod_perspective(uVar3); - } - else { - lVar5 = FUN_7f090438(); - if (lVar5 != 0) { - fVar9 = (float)convert_angle_using_inverse - (-*(float *)(_DAT_80068bc0 + 0x498), - *(undefined4 *)(_DAT_80068bc0 + 0x4a0)); - uStack130._2_4_ = (int)((fVar9 * 180.00000000) / DAT_8004ae90); - local_9c = DAT_80031e00; - local_98 = DAT_80031e04; - local_94 = DAT_80031e08; - local_90 = DAT_80031e0c; - local_8c = DAT_80031e10; - local_88 = DAT_80031e14; - uVar1 = (uint)&uStack130 & 3; - puVar2 = (undefined6 *)((int)&uStack130 - uVar1); - *(uint *)puVar2 = - *(uint *)puVar2 & 0xffffffffU >> (uVar1 + 1) * 8 | - (DAT_80031e10 & 0xff000000 | DAT_80031e18 >> 8) << (3 - uVar1) * 8; - uVar3 = FUN_7f0b511c((ulonglong)*(byte *)(*(int *)(_DAT_80068bc0 + 0x488) + 3)); - FUN_7000a0f4(auStack36,&DAT_8004ab90,uVar3); - FUN_7000a0f4(auStack52,s_x__4_0f_8004ab94,in_f5, - SUB84((double)*(float *)(_DAT_80068bc0 + 0x48c),0)); - FUN_7000a0f4(auStack68,s_y__4_0f_8004ab9c,in_f9, - SUB84((double)*(float *)(_DAT_80068bc0 + 0x490),0)); - FUN_7000a0f4(auStack84,s_z__4_0f_8004aba4,in_f17, - SUB84((double)*(float *)(_DAT_80068bc0 + 0x494),0)); - FUN_7000a0f4(auStack100,s__s__3d_8004abac, - (undefined4 *)((int)&local_9c + ((uStack130._2_4_ + 0x16) / 0x2d) * 3)); - local_68 = FUN_70003f64(); - local_68 += 0x11; - local_74 = FUN_70003f74(); - local_6c = local_74 + 0x11; - local_74 += 0x1b; - uVar3 = loc_7F0ACED4(uParm1); - uVar4 = FUN_70003e6c(); - uVar3 = microcode_constructor_related_to_menus(uVar3,0,local_6c,uVar4,local_74 + 1,100); - uVar8 = FUN_70003e6c(); - uVar7 = FUN_70003e7c(); - uVar3 = loc_7F0ADD78(uVar3,&local_68,&local_6c,auStack36,DAT_8003ab00,DAT_8003aafc,0xffffffff, - uVar8,uVar7,0,0); - local_68 = FUN_70003f64(); - local_68 += 0x57; - uVar8 = FUN_70003e6c(); - uVar7 = FUN_70003e7c(); - uVar3 = loc_7F0ADD78(uVar3,&local_68,&local_6c,auStack52,DAT_8003ab00,DAT_8003aafc,0xffffffff, - uVar8,uVar7,0,0); - local_68 = FUN_70003f64(); - local_68 += 0x8d; - uVar8 = FUN_70003e6c(); - uVar7 = FUN_70003e7c(); - uVar3 = loc_7F0ADD78(uVar3,&local_68,&local_6c,auStack68,DAT_8003ab00,DAT_8003aafc,0xffffffff, - uVar8,uVar7,0,0); - local_68 = FUN_70003f64(); - local_68 += 0xc3; - uVar8 = FUN_70003e6c(); - uVar7 = FUN_70003e7c(); - uVar3 = loc_7F0ADD78(uVar3,&local_68,&local_6c,auStack84,DAT_8003ab00,DAT_8003aafc,0xffffffff, - uVar8,uVar7,0,0); - local_68 = FUN_70003f64(); - local_68 += 0xf9; - uVar8 = FUN_70003e6c(); - uVar7 = FUN_70003e7c(); - uVar3 = loc_7F0ADD78(uVar3,&local_68,&local_6c,auStack100,DAT_8003ab00,DAT_8003aafc,0xffffffff - ,uVar8,uVar7,0,0); - uParm1 = combiner_bayer_lod_perspective(uVar3); - } - } - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08b3e4(int iParm1) - -{ - undefined4 uVar1; - undefined8 uVar2; - longlong lVar3; - int iVar4; - int iVar5; - int iVar6; - int *piVar7; - uint uVar8; - int iVar9; - bool bVar10; - int iVar11; - int **ppiVar12; - int *piVar13; - float fVar14; - float fVar15; - float fVar16; - undefined4 auStack136 [2]; - undefined4 uStack128; - int *piStack124; - undefined4 uStack112; - undefined4 uStack108; - float fStack104; - float fStack100; - float fStack96; - int iStack92; - undefined4 uStack88; - undefined auStack84 [16]; - float fStack68; - float fStack64; - float fStack60; - float fStack36; - float fStack32; - float fStack28; - undefined4 uStack16; - int iStack8; - int iStack4; - - iStack4 = FUN_7f09a69c(); - iStack8 = *(int *)(iParm1 + 4); - if (iStack8 != 0) { - uVar2 = FUN_7f09a690(); - lVar3 = FUN_7f09aa18(uVar2); - if (lVar3 == 0) { - *(ushort *)(iStack8 + 0x12) = *(ushort *)(iStack8 + 0x12) & 0xf7ff; - } - } - if ((iStack8 != 0) && (ppiVar12 = (int **)(&DAT_800689f0 + iStack4 * 4), (*ppiVar12)[0x35] != 0)) - { - lVar3 = FUN_7f0903e0(); - if (lVar3 == 0) { - piVar13 = *ppiVar12; -LAB_7f08b48c: - piVar13[0x2b] = 0; - uStack16 = FUN_7f020e68(iParm1); - (*ppiVar12)[0x2b] = 1; - (*ppiVar12)[0x123] = *(int *)((*ppiVar12)[0x2a] + 8); - (*ppiVar12)[0x124] = *(int *)((*ppiVar12)[0x2a] + 0xc); - (*ppiVar12)[0x125] = *(int *)((*ppiVar12)[0x2a] + 0x10); - (*ppiVar12)[0x122] = *(int *)((*ppiVar12)[0x2a] + 0x14); - FUN_7f07df70(*ppiVar12); - if ((*(byte *)(iParm1 + 1) & 2) == 0) { - return uStack16; - } - uVar1 = *(undefined4 *)((*ppiVar12)[0x35] + 0xc); - uVar2 = FUN_7f0784c4(); - loc_7F05823C(uVar2,uVar1,auStack84); - *(float *)(*ppiVar12 + 0x12d) = fStack68 * 7.00000000 + fStack36; - *(float *)(*ppiVar12 + 0x12e) = fStack64 * 7.00000000 + fStack32; - *(float *)(*ppiVar12 + 0x12f) = fStack60 * 7.00000000 + fStack28; - return uStack16; - } - if (**ppiVar12 == 1) { - piVar13 = *ppiVar12; - goto LAB_7f08b48c; - } - } - if ((((iStack8 == 0) || - (piVar13 = (int *)(&DAT_800689f0 + iStack4 * 4), *(int *)(*piVar13 + 0xd4) == 0)) || - (lVar3 = FUN_7f0999a4(), lVar3 < 2)) || (iVar4 = FUN_7f09a690(), iVar4 == iStack4)) { - *(byte *)(iParm1 + 1) = *(byte *)(iParm1 + 1) & 0xfd; - return 0; - } - iStack92 = 0; - piStack124 = NULL; - fStack104 = -1.00000000; - fStack100 = -1.00000000; - iVar5 = something_with_weaponpos_of_guarddata_hand(iStack8,1); - iVar6 = something_with_weaponpos_of_guarddata_hand(iStack8,0); - iVar4 = 0; - iVar11 = 0; - if (iVar5 != 0) { - iVar4 = *(int *)(iVar5 + 4); - } - if (iVar6 != 0) { - iVar11 = *(int *)(iVar6 + 4); - } - uVar2 = FUN_7f09a690(); - lVar3 = FUN_7f09aa18(uVar2); - if (lVar3 == 0) { - DAT_80031e1c += 1; - } - if (DAT_80031e1c < 2) { - iVar4 = *piVar13; - goto LAB_7f08bd6c; - } - iVar9 = *piVar13; - uStack108 = *(undefined4 *)(iVar9 + 0x2a00); - uStack112 = *(undefined4 *)(iVar9 + 0x2a04); - if (*(int *)(iVar9 + 0xd8) == 0) { - if ((iVar5 == 0) || (iVar6 == 0)) { - if ((iVar5 == 0) && (iVar6 == 0)) { - iVar4 = 2; - } - else { - if ((iVar4 == 0) || (lVar3 = FUN_7f05e56c(*(undefined *)(iVar4 + 0x80),0x200), lVar3 != 0)) - { - if ((iVar11 == 0) || - (lVar3 = FUN_7f05e56c(*(undefined *)(iVar11 + 0x80),0x200), lVar3 != 0)) { - if ((iVar4 == 0) || - (lVar3 = FUN_7f05e56c(*(undefined *)(iVar4 + 0x80),0x100), lVar3 == 0)) { - if (iVar11 == 0) { - iVar4 = 1; - } - else { - lVar3 = FUN_7f05e56c(*(undefined *)(iVar11 + 0x80),0x100); - if (lVar3 == 0) { - iVar4 = 1; - } - else { - iVar4 = 0; - } - } - } - else { - iVar4 = 0; - } - } - else { - iVar4 = 2; - } - } - else { - iVar4 = 2; - } - } - } - else { - iVar4 = 3; - } - lVar3 = FUN_7f079a9c(iStack4); - if ((lVar3 == 1) || (lVar3 = FUN_7f079a9c(iStack4), lVar3 == 0)) { - fVar16 = 1.00000000; - iVar9 = *piVar13; - iVar11 = 5; - } - else { - iVar9 = *piVar13; - fVar16 = *(float *)(iVar9 + 0x16c); - if ((0.00000000 <= fVar16) || (*(int *)(iVar4 * 0x78 + -0x7ffce190) == 0)) { - if (0.00000000 < fVar16) { - if (*(int *)(iVar4 * 0x78 + -0x7ffce1a4) != 0) { - iVar11 = 3; - if (-90.00000000 < *(float *)(iVar9 + 0x1278)) { - *(float *)(iVar9 + 0x1278) = *(float *)(iVar9 + 0x1278) - 15.00000000; - iVar9 = *piVar13; - iVar11 = 3; - } - goto LAB_7f08baf0; - } - fVar16 = *(float *)(iVar9 + 0x14c); - } - else { - fVar16 = *(float *)(iVar9 + 0x14c); - } - if (fVar16 < 0.00000000) { - fVar16 = -fVar16; - fVar14 = *(float *)(iVar9 + 0x174); - } - else { - fVar14 = *(float *)(iVar9 + 0x174); - } - if (fVar14 < DAT_8004ae94) { - if (fVar14 < -fVar16) { - iVar11 = *(int *)(iVar9 + 0x4e8); - fVar16 = fVar14; - } - else { - iVar11 = *(int *)(iVar9 + 0x4e8); - fVar16 = -fVar16; - } - if ((iVar11 == 0) || (iVar11 = 2, DAT_8004ae98 < fVar14)) { - fVar16 = fVar16 + fVar16; - iVar11 = 1; - if (-1.00000000 <= fVar16) { - fVar14 = *(float *)(iVar9 + 0x1278); - goto LAB_7f08ba9c; - } - fVar16 = -1.00000000; - iVar11 = 1; - } -LAB_7f08ba98: - fVar14 = *(float *)(iVar9 + 0x1278); - } - else { - if ((fVar14 <= DAT_8004ae9c) && (fVar16 <= DAT_8004ae9c)) { - fVar16 = 1.00000000; - iVar11 = 0; - goto LAB_7f08ba98; - } - if (fVar16 < fVar14) { - iVar11 = *(int *)(iVar9 + 0x4e8); - fVar16 = fVar14; - } - else { - iVar11 = *(int *)(iVar9 + 0x4e8); - } - if ((iVar11 != 0) && (iVar11 = 2, DAT_8004aea0 <= fVar14)) goto LAB_7f08ba98; - fVar15 = fVar16 + fVar16; - iVar11 = 1; - fVar16 = 1.00000000; - if (1.00000000 < fVar15) { - fVar14 = *(float *)(iVar9 + 0x1278); - } - else { - fVar14 = *(float *)(iVar9 + 0x1278); - fVar16 = fVar15; - } - } -LAB_7f08ba9c: - if (0.00000000 < fVar14) { - *(float *)(iVar9 + 0x1278) = fVar14 - 15.00000000; - iVar9 = *piVar13; - fVar14 = *(float *)(iVar9 + 0x1278); - } - if (fVar14 < 0.00000000) { - *(float *)(iVar9 + 0x1278) = fVar14 + 15.00000000; - iVar9 = *piVar13; - } - } - else { - fVar16 = -fVar16; - iVar11 = 4; - if (*(float *)(iVar9 + 0x1278) < 90.00000000) { - *(float *)(iVar9 + 0x1278) = *(float *)(iVar9 + 0x1278) + 15.00000000; - iVar9 = *piVar13; - iVar11 = 4; - } - } - } -LAB_7f08baf0: - iVar4 = iVar4 * 0x78 + iVar11 * 0x14; - piStack124 = *(int **)(iVar4 + -0x7ffce1e0); - if (*(int *)(iVar4 + -0x7ffce1dc) != 0) { - iStack92 = *(int *)(iVar4 + -0x7ffce1dc) + _DAT_80058478; - } - fStack104 = *(float *)(iVar4 + -0x7ffce1d0); - fVar14 = *(float *)(iVar4 + -0x7ffce1d4); - fVar16 = fVar16 * *(float *)(iVar4 + -0x7ffce1d8); - iVar4 = *(int *)(iVar9 + 0x127c); - } - else { - bVar10 = false; - if (0 < (int)DAT_80031a5c) { - piVar7 = &DAT_80031a28; - iVar4 = DAT_80031a28; - while( true ) { - piVar7 = piVar7 + 1; - if (*(int *)(iVar9 + 0x127c) == iVar4 + _DAT_80058478) { - bVar10 = true; - } - if (&DAT_80031a28 + DAT_80031a5c <= piVar7) break; - iVar4 = *piVar7; - } - } - if (bVar10) { - iVar4 = *(int *)(iVar9 + 0x127c); - iStack92 = iVar4; - } - else { - uVar8 = FUN_700098b0(); - iVar9 = *piVar13; - iStack92 = (&DAT_80031a28)[uVar8 % DAT_80031a5c] + _DAT_80058478; - if (DAT_80031a5c == 0) { - trap(0x1c00); - } - iVar4 = *(int *)(iVar9 + 0x127c); - } - fVar16 = 0.50000000; - uStack108 = 0; - uStack112 = 0; - fVar14 = fStack100; - } - if ((piStack124 != NULL) && (iStack92 == 0)) { - iStack92 = *piStack124; - } - bVar10 = iStack92 != iVar4; - if ((0.00000000 <= fVar14) && - ((*(char *)(*(int *)(iVar9 + 0xd4) + 0x26) == '\0' || - (fVar14 != *(float *)(*(int *)(iVar9 + 0xd4) + 0x90))))) { - bVar10 = true; - } - if ((fVar14 < 0.00000000) && (*(char *)(*(int *)(iVar9 + 0xd4) + 0x26) != '\0')) { - bVar10 = true; - } - if (bVar10) { - if (*(int *)(*(int *)(iVar9 + 0xd4) + 0x54) == 0) { - fVar15 = fVar14; - if (fVar14 < 0.00000000) { - fVar15 = 0.00000000; - } - fStack100 = fVar14; - fStack96 = fVar16; - FUN_7f06fe48(*(int *)(iVar9 + 0xd4),iStack92,0,fVar15,fVar16,0x41800000); - *(int *)(*piVar13 + 0x127c) = iStack92; - *(float *)(*piVar13 + 0x1280) = fStack96; - if (0.00000000 <= fStack100) { - sub_7F06FDCC(*(undefined4 *)(*piVar13 + 0xd4),fStack100,0x41800000); - } - if (0.00000000 <= fStack104) { - loc_7F06FE2C(*(undefined4 *)(*piVar13 + 0xd4),fStack104); - iVar4 = *piVar13; - } - else { - iVar4 = *piVar13; - } - } - else { - iVar4 = *piVar13; - } - iVar4 = *(int *)(iVar4 + 0x127c); - } - else { - if (fVar16 != *(float *)(iVar9 + 0x1280)) { - fStack96 = fVar16; - loc_7F06FE84(*(undefined4 *)(iVar9 + 0xd4),fVar16,0x3f800000); - *(float *)(*piVar13 + 0x1280) = fStack96; - iVar4 = *(int *)(*piVar13 + 0x127c); - } - } - if (iStack92 == iVar4) { - if (piStack124 == NULL) { - *(undefined4 *)(iStack8 + 0x154) = 0; - *(undefined4 *)(iStack8 + 0x150) = 0; - *(ushort *)(iStack8 + 0x12) = *(ushort *)(iStack8 + 0x12) | 0x400; - *(undefined4 *)(iStack8 + 0x158) = uStack108; - } - else { - *(ushort *)(iStack8 + 0x12) = *(ushort *)(iStack8 + 0x12) & 0xfbff; - locret_7F02D0F0(iStack8,piStack124,0,1,uStack108); - } - } - *(undefined *)(iStack8 + 0xe) = 10; - *(undefined4 *)(iStack8 + 0x15c) = uStack112; - iVar4 = *piVar13; -LAB_7f08bd6c: - iVar5 = 0; - *(undefined4 *)(iParm1 + 8) = *(undefined4 *)(iVar4 + 0x48c); - *(undefined4 *)(iParm1 + 0xc) = *(undefined4 *)(*piVar13 + 0x490); - *(undefined4 *)(iParm1 + 0x10) = *(undefined4 *)(*piVar13 + 0x494); - *(undefined4 *)(iParm1 + 0x14) = *(undefined4 *)(*piVar13 + 0x488); - FUN_7f06d1d8(*(undefined4 *)(iStack8 + 0x1c),auStack136); - auStack136[0] = *(undefined4 *)(iParm1 + 8); - uStack128 = *(undefined4 *)(iParm1 + 0x10); - FUN_7f06d200(*(undefined4 *)(iStack8 + 0x1c),auStack136); - FUN_7f06d274(*(undefined4 *)(iStack8 + 0x1c), - ((*(float *)(*piVar13 + 0x1278) + (360.00000000 - *(float *)(*piVar13 + 0x148))) * - DAT_8004aea4) / 360.00000000); - *(undefined *)(iStack8 + 7) = 0x19; - *(uint *)(iStack8 + 0x14) = *(uint *)(iStack8 + 0x14) | 1; - *(int **)(iStack8 + 0x2c) = piStack124; - FUN_7f02d14c(iStack8,0,*(undefined *)(*piVar13 + 0x875)); - FUN_7f02d14c(iStack8,1,*(undefined *)(*piVar13 + 0xc1d)); - uStack88 = FUN_7f020e68(iParm1); - iVar11 = 0; - iVar4 = 0; - do { - lVar3 = FUN_7f02d664(iStack8,iVar5,*piVar13 + iVar4 + 0x2a10); - if (lVar3 == 0) { - iVar6 = *piVar13; - if (*(int *)(iVar6 + iVar11 + 0x2a28) < DAT_80041000 + -1) { - iVar9 = iVar5 * 0x3a8; - *(undefined4 *)(iVar6 + iVar4 + 0x2a10) = *(undefined4 *)(iVar6 + iVar9 + 0xb50); - *(undefined4 *)(*piVar13 + iVar4 + 0x2a14) = *(undefined4 *)(*piVar13 + iVar9 + 0xb54); - *(undefined4 *)(*piVar13 + iVar4 + 0x2a18) = *(undefined4 *)(*piVar13 + iVar9 + 0xb58); - } - } - else { - *(int *)(*piVar13 + iVar11 + 0x2a28) = DAT_80041000; - } - iVar5 += 1; - iVar11 += 4; - iVar4 += 0xc; - } while (iVar5 != 2); - *(ushort *)(iStack8 + 0x12) = *(ushort *)(iStack8 + 0x12) | 0x800; - *(undefined4 *)(iParm1 + 8) = *(undefined4 *)(*piVar13 + 0x48c); - *(undefined4 *)(iParm1 + 0xc) = *(undefined4 *)(*piVar13 + 0x490); - *(undefined4 *)(iParm1 + 0x10) = *(undefined4 *)(*piVar13 + 0x494); - *(undefined4 *)(iParm1 + 0x14) = *(undefined4 *)(*piVar13 + 0x488); - return uStack88; -} - - - -undefined8 FUN_7f08bfac(undefined8 uParm1) - -{ - return uParm1; -} - - - -undefined8 FUN_7f08bfb4(int iParm1,undefined8 uParm2) - -{ - if (*(int *)(iParm1 + 4) != 0) { - uParm2 = loc_7F022064(); - } - return uParm2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f08bfe8(undefined4 *puParm1) - -{ - *puParm1 = 0x1020040; - puParm1[1] = *(undefined4 *)(_DAT_80068bc0 + 0x5c); - return puParm1 + 2; -} - - - -void FUN_7f08c00c(undefined8 uParm1) - -{ - undefined auStack64 [64]; - - loc_7F058030(uParm1,auStack64); - FUN_7f059144(auStack64,(int)uParm1); - return; -} - - - -void loc_7F08BDA4(int iParm1,int iParm2) - -{ - int iVar1; - int iVar2; - undefined auStack64 [64]; - - iVar1 = 0; - if (0 < iParm2) { - iVar2 = iParm1; - do { - loc_7F058030(iVar2,auStack64); - FUN_7f059144(auStack64,iVar1 * 0x40 + iParm1); - iVar1 += 1; - iVar2 += 0x40; - } while (iVar1 != iParm2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c0b8(undefined8 uParm1) - -{ - undefined auStack64 [48]; - float fStack16; - float fStack12; - float fStack8; - - loc_7F058030(uParm1,auStack64); - fStack16 = fStack16 - *(float *)(_DAT_80068bc0 + 0x44); - fStack12 = fStack12 - *(float *)(_DAT_80068bc0 + 0x48); - fStack8 = fStack8 - *(float *)(_DAT_80068bc0 + 0x4c); - FUN_7f059144(auStack64,(int)uParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F08BEC8(int iParm1,int iParm2) - -{ - int iVar1; - int iVar2; - undefined auStack64 [48]; - float fStack16; - float fStack12; - float fStack8; - - iVar1 = 0; - if (0 < iParm2) { - iVar2 = iParm1; - do { - loc_7F058030(iVar2,auStack64); - fStack16 = fStack16 - *(float *)(_DAT_80068bc0 + 0x44); - fStack12 = fStack12 - *(float *)(_DAT_80068bc0 + 0x48); - fStack8 = fStack8 - *(float *)(_DAT_80068bc0 + 0x4c); - FUN_7f059144(auStack64,iVar1 * 0x40 + iParm1); - iVar1 += 1; - iVar2 += 0x40; - } while (iVar1 != iParm2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F08BF94(int iParm1,int iParm2) - -{ - undefined8 uVar1; - int iVar2; - int iVar3; - undefined auStack64 [48]; - float fStack16; - float fStack12; - float fStack8; - - iVar3 = 0; - if (0 < iParm2) { - iVar2 = iParm1; - do { - uVar1 = FUN_7f0784c4(); - loc_7F05823C(uVar1,iVar2,auStack64); - fStack16 = fStack16 - *(float *)(_DAT_80068bc0 + 0x38); - fStack12 = fStack12 - *(float *)(_DAT_80068bc0 + 0x3c); - fStack8 = fStack8 - *(float *)(_DAT_80068bc0 + 0x40); - FUN_7f059144(auStack64,iVar3 * 0x40 + iParm1); - iVar3 += 1; - iVar2 += 0x40; - } while (iVar3 != iParm2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08c2ac(void) - -{ - return (_DAT_80068500 * 0x3c) / 0x32; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c2d4(int iParm1) - -{ - DAT_80031994 = 1; - _DAT_8006847c = iParm1 + DAT_80040ffc; - _DAT_80068480 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c300(void) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - iVar2 = 0; - if (*(int *)(_DAT_80068bc0 + 0x11e0) < 1) { - *(undefined4 *)(_DAT_80068bc0 + 0x11d8) = 0; - } - else { - iVar3 = *(int *)(_DAT_80068bc0 + 0x11dc); - while( true ) { - iVar1 += 1; - *(undefined4 *)(iVar3 + iVar2) = 0xffffffff; - iVar2 += 0x14; - if (*(int *)(_DAT_80068bc0 + 0x11e0) <= iVar1) break; - iVar3 = *(int *)(_DAT_80068bc0 + 0x11dc); - } - *(undefined4 *)(_DAT_80068bc0 + 0x11d8) = 0; - } - *(undefined4 *)(_DAT_80068bc0 + 0x11ec) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x11e8) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void locret_7F08C18C(int *piParm1) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iVar4; - int *piVar5; - int iVar6; - int *piVar7; - int iVar8; - - iVar1 = *piParm1; - iVar3 = -1; - iVar4 = -1; - if (iVar1 == 1) { - iVar3 = piParm1[1]; - } - else { - if (iVar1 == 3) { - iVar3 = piParm1[1]; - iVar4 = piParm1[2]; - } - else { - if (iVar1 == 2) { - iVar3 = 2000; - } - } - } - piVar5 = (int *)piParm1[3]; - if (piVar5 != *(int **)(_DAT_80068bc0 + 0x11d8)) { - do { - iVar1 = *piVar5; - iVar6 = -1; - iVar8 = -1; - if (iVar1 == 1) { - iVar6 = piVar5[1]; -LAB_7f08c414: - bVar2 = iVar6 < iVar3; - } - else { - if (iVar1 == 3) { - iVar6 = piVar5[1]; - iVar8 = piVar5[2]; - goto LAB_7f08c414; - } - if (iVar1 == 2) { - iVar6 = 1000; - goto LAB_7f08c414; - } - bVar2 = -1 < iVar3; - } - if (bVar2) { - piVar7 = (int *)piVar5[3]; - } - else { - if (iVar3 != iVar6) { - return; - } - if (iVar4 <= iVar8) { - return; - } - piVar7 = (int *)piVar5[3]; - } - if (piParm1 == piVar7) { - *(int **)(_DAT_80068bc0 + 0x11d8) = piVar5; - piVar7 = *(int **)(_DAT_80068bc0 + 0x11d8); -LAB_7f08c48c: - piVar5 = (int *)piParm1[3]; - } - else { - *(int **)(piParm1 + 3) = piVar7; - piVar5[4] = piParm1[4]; - *(int **)(piParm1 + 4) = piVar5; - *(int **)(piVar5 + 3) = piParm1; - *(int **)(piParm1[3] + 0x10) = piParm1; - *(int **)(piVar5[4] + 0xc) = piVar5; - piVar7 = *(int **)(_DAT_80068bc0 + 0x11d8); - if (piParm1 == piVar7) { - *(int **)(_DAT_80068bc0 + 0x11d8) = piVar5; - piVar7 = *(int **)(_DAT_80068bc0 + 0x11d8); - goto LAB_7f08c48c; - } - piVar5 = (int *)piParm1[3]; - } - } while (piVar5 != piVar7); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c4a4(int iParm1) - -{ - int iVar1; - - iVar1 = *(int *)(_DAT_80068bc0 + 0x11d8); - if (iVar1 == 0) { - *(int *)(iParm1 + 0xc) = iParm1; - *(int *)(iParm1 + 0x10) = iParm1; - } - else { - *(int *)(iParm1 + 0xc) = iVar1; - *(undefined4 *)(iParm1 + 0x10) = *(undefined4 *)(*(int *)(_DAT_80068bc0 + 0x11d8) + 0x10); - *(int *)(iVar1 + 0x10) = iParm1; - *(int *)(*(int *)(iParm1 + 0x10) + 0xc) = iParm1; - } - *(int *)(_DAT_80068bc0 + 0x11d8) = iParm1; - locret_7F08C18C(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c50c(undefined4 *puParm1) - -{ - undefined4 *puVar1; - int iVar2; - - puVar1 = (undefined4 *)puParm1[3]; - iVar2 = puParm1[4]; - if (puParm1 == *(undefined4 **)(_DAT_80068bc0 + 0x11d8)) { - if (puParm1 == puVar1) { - *(undefined4 *)(_DAT_80068bc0 + 0x11d8) = 0; - } - else { - *(undefined4 **)(_DAT_80068bc0 + 0x11d8) = puVar1; - } - puVar1[4] = iVar2; - } - else { - puVar1[4] = iVar2; - } - *(undefined4 **)(iVar2 + 0xc) = puVar1; - *puParm1 = 0xffffffff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08c554(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int *piVar4; - - iVar2 = 0; - if (0 < *(int *)(_DAT_80068bc0 + 0x11e0)) { - iVar3 = 0; - piVar4 = *(int **)(_DAT_80068bc0 + 0x11dc); - do { - iVar1 = *piVar4; - iVar2 += 1; - piVar4 = piVar4 + 5; - if (iVar1 == -1) { - return (int)*(int **)(_DAT_80068bc0 + 0x11dc) + iVar3; - } - iVar3 += 0x14; - } while (iVar2 < *(int *)(_DAT_80068bc0 + 0x11e0)); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c5ac(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x11e4) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08c5bc(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x11e4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08c5cc(int iParm1) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 1) { - if (iParm1 == piVar2[1]) { - return piVar2; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return (int *)0; -} - - - -ulonglong FUN_7f08c624(void) - -{ - longlong lVar1; - - lVar1 = FUN_7f08c5cc(); - return (ulonglong)(lVar1 != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08c648(int iParm1,int iParm2) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 3) { - if (iParm1 == piVar2[1]) { - if (iParm2 == piVar2[2]) { - return piVar2; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return (int *)0; -} - - - -ulonglong FUN_7f08c6ac(void) - -{ - longlong lVar1; - - lVar1 = FUN_7f08c648(); - return (ulonglong)(lVar1 != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08c6d0(longlong lParm1) - -{ - undefined8 uVar1; - - if ((((*(int *)(_DAT_80068bc0 + 0x11e4) == 0) || (lParm1 == 0)) || (0x20 < lParm1)) || - ((DAT_80041150 != 0 && (lParm1 == 2)))) { - uVar1 = FUN_7f08c624(); - } - else { - uVar1 = 1; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08c734(int iParm1,int iParm2) - -{ - int unaff_1000004e; - undefined8 uVar1; - longlong lVar2; - - if (iParm2 == 0) { - uVar1 = 1; - } - else { - if ((((*(int *)(_DAT_80068bc0 + 0x11e4) != 0) && (iParm1 < 0x21)) && (iParm1 == iParm2)) && - (((lVar2 = FUN_7f0999a4(), iParm1 = unaff_1000004e, lVar2 == 1 && - (lVar2 = FUN_7f05e56c(unaff_1000004e,0x100000), iParm1 = unaff_1000004e, lVar2 != 0)) && - ((DAT_80041150 == 0 || (iParm1 = unaff_1000004e, unaff_1000004e != 2)))))) { - return 1; - } - uVar1 = FUN_7f08c6ac(iParm1,iParm2); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08c7e8(int iParm1) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 *puVar3; - - lVar1 = FUN_7f08c624(); - if (lVar1 == 0) { - puVar3 = (undefined4 *)FUN_7f08c554(); - if (puVar3 != NULL) { - *puVar3 = 1; - puVar3[1] = iParm1; - FUN_7f08c4a4(puVar3); - } - if (((*(int *)(_DAT_80068bc0 + 0x11e4) == 0) || (0x20 < iParm1)) || - ((DAT_80041150 != 0 && (iParm1 == 2)))) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -undefined8 FUN_7f08c884(undefined4 uParm1,undefined4 uParm2) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 *puVar3; - - lVar1 = FUN_7f08c6ac(); - if (lVar1 == 0) { - puVar3 = (undefined4 *)FUN_7f08c554(); - if (puVar3 != NULL) { - *puVar3 = 3; - puVar3[1] = uParm1; - puVar3[2] = uParm2; - FUN_7f08c4a4(puVar3); - } - uVar2 = 1; - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08c8e8(char cParm1) - -{ - int *piVar1; - int iVar2; - int *piVar3; - - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - if (piVar1 != NULL) { - piVar3 = (int *)piVar1[3]; - do { - if ((((*piVar3 == 2) && (*(char *)piVar3[1] == '\x04')) && - (iVar2 = *(int *)((char *)piVar3[1] + 4), *(char *)(iVar2 + 3) == '\b')) && - (cParm1 == *(char *)(iVar2 + 0x80))) { - FUN_7f08c50c(); - return iVar2; - } - if (piVar3 == piVar1) { - return 0; - } - piVar3 = (int *)piVar3[3]; - } while (piVar1 != NULL); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c994(longlong lParm1) - -{ - int *piVar1; - int *piVar2; - int iVar3; - int *piVar4; - - piVar4 = *(int **)(_DAT_80068bc0 + 0x11d8); - if (piVar4 != NULL) { - piVar1 = (int *)piVar4[3]; - do { - piVar2 = (int *)piVar1[3]; - if (*piVar1 == 2) { - if (((*(char *)piVar1[1] == '\x04') && - (iVar3 = *(int *)((char *)piVar1[1] + 4), *(char *)(iVar3 + 3) == '\b')) && - (lParm1 == (longlong)*(char *)(iVar3 + 0x80))) { - FUN_7f08c50c(piVar1); - piVar4 = *(int **)(_DAT_80068bc0 + 0x11d8); - } - } - else { - if ((*piVar1 == 1) && (lParm1 == (longlong)piVar1[1])) { - FUN_7f08c50c(piVar1); - piVar4 = *(int **)(_DAT_80068bc0 + 0x11d8); - } - } - } while ((piVar1 != piVar4) && (piVar1 = piVar2, piVar4 != NULL)); - } - return; -} - - - -undefined8 FUN_7f08ca9c(undefined4 uParm1) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)FUN_7f08c554(); - if (puVar1 != NULL) { - *puVar1 = 2; - puVar1[1] = uParm1; - FUN_7f08c4a4(puVar1); - } - return 1; -} - - - -ulonglong loc_7F08C85C(char *pcParm1) - -{ - undefined uVar1; - char cVar2; - int iVar3; - int iVar4; - longlong lVar5; - ulonglong uVar6; - - uVar6 = 0; - if ((*pcParm1 == '\x04') && (iVar3 = *(int *)(pcParm1 + 4), *(char *)(iVar3 + 3) == '\b')) { - uVar1 = *(undefined *)(iVar3 + 0x80); - uVar6 = FUN_7f08c7e8(uVar1); - iVar4 = *(int *)(iVar3 + 0x84); - if (iVar4 == 0) { - cVar2 = *(char *)(iVar3 + 0x81); - if (-1 < cVar2) { - if (*(int *)(iVar3 + 8) << 3 < 0) { - uVar6 = FUN_7f08c884(cVar2,uVar1); - } - else { - uVar6 = FUN_7f08c884(uVar1,cVar2); - } - } - } - else { - if (*(int *)(iVar3 + 8) << 3 < 0) { - lVar5 = FUN_7f08c6ac(*(undefined *)(iVar4 + 0x80),uVar1); - } - else { - lVar5 = FUN_7f08c6ac(uVar1,*(undefined *)(iVar4 + 0x80)); - } - uVar6 = (ulonglong)(lVar5 == 0); - *(undefined *)(*(int *)(iVar3 + 0x84) + 0x81) = uVar1; - *(undefined4 *)(*(int *)(iVar3 + 0x84) + 0x84) = 0; - *(undefined4 *)(iVar3 + 0x84) = 0; - } - } - return uVar6; -} - - - -// WARNING: Instruction at (ram,0x7f08cccc) overlaps instruction at (ram,0x7f08ccc8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08cbe4(int *piParm1,int *piParm2,longlong lParm3) - -{ - int iVar2; - longlong lVar1; - int iVar3; - int *piVar4; - int iVar5; - int iVar6; - int iVar7; - - piVar4 = *(int **)(_DAT_80068bc0 + 0x11d8); - iVar5 = *piParm1; - iVar6 = *piParm2; - if (piVar4 != NULL) { - iVar2 = *piVar4; - do { - if (iVar2 == 1) { - iVar2 = piVar4[1]; - if ((iVar2 < 0x21) && (iVar5 < iVar2)) { - if (lParm3 != 0) { - lVar1 = FUN_7f05e514(); - if (lVar1 == 0) goto LAB_7f08cce0; - iVar2 = piVar4[1]; - } - iVar5 = iVar2; - iVar6 = 0; - break; - } - } - else { - if (((iVar2 == 3) && ((iVar5 < piVar4[1] || ((iVar5 == piVar4[1] && (iVar6 < piVar4[2])))))) - && ((lParm3 == 0 || - ((lVar1 = FUN_7f05e514(), lVar1 != 0 || (lVar1 = FUN_7f05e514(piVar4[2]), lVar1 != 0) - ))))) { - iVar5 = piVar4[1]; - iVar6 = piVar4[2]; - break; - } - } -LAB_7f08cce0: - piVar4 = (int *)piVar4[3]; - if (piVar4 == *(int **)(_DAT_80068bc0 + 0x11d8)) { - if (lParm3 != 0) { - iVar2 = *(int *)(_DAT_80068bc0 + 0x11e4); - goto LAB_7f08cd14; - } - iVar5 = -1; - iVar6 = -1; - } - if (piVar4 == NULL) break; - iVar2 = *piVar4; - } while( true ); - } - iVar2 = *(int *)(_DAT_80068bc0 + 0x11e4); -LAB_7f08cd14: - iVar3 = iVar5; - iVar7 = iVar6; - if (iVar2 == 0) goto LAB_7f08ce94; - iVar2 = *piParm1; - lVar1 = FUN_7f0999a4(); - if (((lVar1 == 1) && (lVar1 = FUN_7f05e56c(*piParm1,0x100000), lVar1 != 0)) && - (iVar3 = *piParm1, *piParm2 < iVar3)) { - if (lParm3 != 0) { - lVar1 = FUN_7f05e514(); - if (lVar1 == 0) goto LAB_7f08cdc0; - iVar3 = *piParm1; - } - if (((iVar5 != iVar3) || (iVar3 < iVar6)) && - ((iVar7 = iVar3, DAT_80041150 == 0 || (iVar7 = iVar3, iVar3 != 2)))) goto LAB_7f08ce94; - } -LAB_7f08cdc0: - if ((iVar5 != *piParm1) || (iVar3 = iVar5, iVar7 = iVar6, iVar6 == *piParm2)) { - do { - iVar3 = iVar2 + 1; - iVar2 = iVar3 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - if (iVar2 == 0) { - iVar2 = 1; - if (false) { - trap(0x1c00); - } - if ((false) && (false)) { - trap(0x1800); - } - } - if (((lParm3 == 0) || (lVar1 = FUN_7f05e514(iVar2), lVar1 != 0)) && - ((DAT_80041150 == 0 || (iVar2 != 2)))) { - iVar3 = iVar2; - iVar7 = 0; - break; - } - iVar3 = iVar5; - iVar7 = iVar6; - } while (iVar2 != iVar5); - } -LAB_7f08ce94: - *piParm1 = iVar3; - *piParm2 = iVar7; - return; -} - - - -// WARNING: Instruction at (ram,0x7f08cfc4) overlaps instruction at (ram,0x7f08cfc0) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08cebc(int *piParm1,int *piParm2,longlong lParm3) - -{ - int *piVar1; - int iVar2; - longlong lVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - - iVar6 = *piParm1; - iVar7 = *piParm2; - if (*(int *)(_DAT_80068bc0 + 0x11d8) != 0) { - piVar1 = *(int **)(*(int *)(_DAT_80068bc0 + 0x11d8) + 0x10); - do { - if (*piVar1 == 1) { - iVar4 = piVar1[1]; - if ((iVar4 < 0x21) && ((iVar4 < iVar6 || ((iVar6 == iVar4 && (0 < iVar7)))))) { - if (lParm3 != 0) { - lVar3 = FUN_7f05e514(); - if (lVar3 == 0) goto LAB_7f08cfd8; - iVar4 = piVar1[1]; - } - iVar6 = iVar4; - iVar7 = 0; - break; - } - } - else { - if (((*piVar1 == 3) && - ((piVar1[1] < iVar6 || ((iVar6 == piVar1[1] && (piVar1[2] < iVar7)))))) && - ((lParm3 == 0 || - ((lVar3 = FUN_7f05e514(), lVar3 != 0 || (lVar3 = FUN_7f05e514(piVar1[2]), lVar3 != 0)))) - )) goto code_r0x7f08cfc8; - } -LAB_7f08cfd8: - if (piVar1 == *(int **)(_DAT_80068bc0 + 0x11d8)) { - if (lParm3 != 0) { - iVar4 = *(int *)(_DAT_80068bc0 + 0x11e4); - goto LAB_7f08d008; - } - iVar6 = 1000; - iVar7 = 1000; - } - piVar1 = (int *)piVar1[4]; - } while( true ); - } -LAB_7f08d004: - iVar4 = *(int *)(_DAT_80068bc0 + 0x11e4); -LAB_7f08d008: - if (iVar4 != 0) { - iVar4 = *piParm1; - if (*piParm2 == 0) { - iVar5 = iVar4 + 0x20; - iVar4 = iVar5 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - if (iVar4 == 0) { - iVar4 = 0x20; - if (false) { - trap(0x1c00); - } - if ((false) && (false)) { - trap(0x1800); - } - } - } - while (iVar4 != iVar6) { - if (((lParm3 == 0) || (lVar3 = FUN_7f05e514(iVar4), lVar3 != 0)) && - ((DAT_80041150 == 0 || (iVar4 != 2)))) { - lVar3 = FUN_7f0999a4(); - if (((lVar3 != 1) || (lVar3 = FUN_7f05e56c(iVar4,0x100000), lVar3 == 0)) || - ((iVar5 = iVar4, iVar2 = iVar4, iVar4 == *piParm1 && - (iVar5 = iVar4, iVar2 = iVar4, *piParm2 <= iVar4)))) { - iVar5 = iVar4; - iVar2 = 0; - } - goto LAB_7f08d228; - } - iVar5 = iVar4 + 0x20; - iVar4 = iVar5 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - if (iVar4 == 0) { - iVar4 = 0x20; - if (false) { - trap(0x1c00); - } - if ((false) && (false)) { - trap(0x1800); - } - } - } - lVar3 = FUN_7f0999a4(); - iVar5 = iVar6; - iVar2 = iVar7; - if ((lVar3 != 1) || - (((lVar3 = FUN_7f05e56c(iVar4,0x100000), lVar3 != 0 && - ((lParm3 == 0 || (lVar3 = FUN_7f05e514(iVar4), lVar3 != 0)))) && - (((iVar4 == *piParm1 && (iVar5 = iVar6, iVar2 = iVar7, *piParm2 <= iVar4)) || - (((iVar5 = iVar6, iVar2 = iVar7, iVar4 <= iVar7 || - (iVar5 = iVar4, iVar2 = iVar4, DAT_80041150 == 0)) || - (iVar5 = iVar4, iVar2 = iVar4, iVar4 != 2)))))))) { -LAB_7f08d228: - iVar7 = iVar2; - iVar6 = iVar5; - } - } - *piParm1 = iVar6; - *piParm2 = iVar7; - return; -code_r0x7f08cfc8: - iVar6 = piVar1[1]; - iVar7 = piVar1[2]; - goto LAB_7f08d004; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08d254(uint uParm1) - -{ - int *piVar1; - uint uVar2; - int *piVar3; - int iVar4; - - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - uVar2 = 0; - if (piVar1 != NULL) { - iVar4 = *piVar1; - piVar3 = piVar1; - while( true ) { - if (iVar4 == 2) { - if (*(char *)piVar3[1] == '\x01') { - iVar4 = *(int *)((char *)piVar3[1] + 4); - if (*(char *)(iVar4 + 3) == '\x04') { - uVar2 |= *(uint *)(iVar4 + 0x80); - if (uParm1 == (uParm1 & uVar2)) { - return 1; - } - piVar3 = (int *)piVar3[3]; - } - else { - piVar3 = (int *)piVar3[3]; - } - } - else { - piVar3 = (int *)piVar3[3]; - } - } - else { - piVar3 = (int *)piVar3[3]; - } - if (piVar3 == piVar1) { - return 0; - } - if (piVar3 == NULL) break; - iVar4 = *piVar3; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08d2f0(void) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 2) { - if (*(char *)piVar2[1] == '\x04') { - if (*(short *)(*(int *)((char *)piVar2[1] + 4) + 4) == 0xf8) { - return 1; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08d364(void) - -{ - undefined8 uVar1; - - uVar1 = 0; - if (*(int *)(_DAT_80068bc0 + 0xd8) == 0) { - uVar1 = FUN_7f08c624(0x58); - } - return uVar1; -} - - - -void FUN_7f08d3a4(void) - -{ - FUN_7f08c624(0x13); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08d3c4(int iParm1) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 2) { - if (iParm1 == piVar2[1]) { - return 1; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08d41c(void) - -{ - int *piVar1; - int iVar2; - char *pcVar3; - int iVar4; - int *piVar5; - - iVar4 = 0; - if ((*(int *)(_DAT_80068bc0 + 0x11e4) != 0) && (iVar4 = 0x20, DAT_80041150 != 0)) { - iVar4 = 0x1f; - } - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - if (piVar1 == NULL) { - return iVar4; - } - iVar2 = *piVar1; - piVar5 = piVar1; - do { - if (iVar2 == 2) { - pcVar3 = (char *)piVar5[1]; - if (*pcVar3 == '\x04') { - if ((*(uint *)(*(int *)(pcVar3 + 4) + 100) & 0x400) == 0) { - piVar5 = (int *)piVar5[3]; - } - else { -LAB_7f08d4e8: - iVar4 += 1; - piVar5 = (int *)piVar5[3]; - } - } - else { - if (*pcVar3 == '\x01') { - if ((*(uint *)(*(int *)(pcVar3 + 4) + 0xc) & 0x40000) == 0) goto LAB_7f08d4e8; - piVar5 = (int *)piVar5[3]; - } - else { - piVar5 = (int *)piVar5[3]; - } - } - } - else { - if (iVar2 == 1) { - if ((*(int *)(_DAT_80068bc0 + 0x11e4) == 0) || (0x20 < piVar5[1])) goto LAB_7f08d4e8; - piVar5 = (int *)piVar5[3]; - } - else { - piVar5 = (int *)piVar5[3]; - } - } - if (piVar5 == piVar1) { - return iVar4; - } - if (piVar5 == NULL) { - return iVar4; - } - iVar2 = *piVar5; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08d504(int iParm1) - -{ - int *piVar1; - char *pcVar2; - int *piVar3; - int iVar4; - - if (*(int *)(_DAT_80068bc0 + 0x11e4) == 0) { - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - } - else { - iVar4 = 0x20; - if (DAT_80041150 != 0) { - iVar4 = 0x1f; - } - if (iParm1 < iVar4) { - return (int *)0; - } - iVar4 = 0x20; - if (DAT_80041150 != 0) { - iVar4 = 0x1f; - } - iParm1 -= iVar4; - piVar1 = *(int **)(_DAT_80068bc0 + 0x11d8); - } - if (piVar1 == NULL) { - return (int *)0; - } - iVar4 = *piVar1; - piVar3 = piVar1; - do { - if (iVar4 == 2) { - pcVar2 = (char *)piVar3[1]; - if (*pcVar2 == '\x04') { - if ((*(uint *)(*(int *)(pcVar2 + 4) + 100) & 0x400) == 0) { - piVar3 = (int *)piVar3[3]; - } - else { - if (iParm1 == 0) { - return piVar3; - } -LAB_7f08d62c: - iParm1 += -1; - piVar3 = (int *)piVar3[3]; - } - } - else { - if (*pcVar2 == '\x01') { - if ((*(uint *)(*(int *)(pcVar2 + 4) + 0xc) & 0x40000) == 0) { - if (iParm1 == 0) { - return piVar3; - } - goto LAB_7f08d62c; - } - piVar3 = (int *)piVar3[3]; - } - else { - piVar3 = (int *)piVar3[3]; - } - } - } - else { - if (iVar4 == 1) { - if ((*(int *)(_DAT_80068bc0 + 0x11e4) == 0) || (0x20 < piVar3[1])) { - if (iParm1 == 0) { - return piVar3; - } - goto LAB_7f08d62c; - } - piVar3 = (int *)piVar3[3]; - } - else { - piVar3 = (int *)piVar3[3]; - } - } - if (piVar3 == piVar1) { - return (int *)0; - } - if (piVar3 == NULL) { - return (int *)0; - } - iVar4 = *piVar3; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08d64c(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar1 = *(int *)(_DAT_80068bc0 + 0x11ec); - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 0x24); - while( true ) { - if (iParm1 == iVar2) { - return iVar1; - } - iVar1 = *(int *)(iVar1 + 0x20); - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 0x24); - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08d68c(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar1 = *(int *)(_DAT_80068bc0 + 0x11ec); - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 4); - while( true ) { - if (iVar2 == 0) { - if (iParm1 == *(int *)(iVar1 + 8)) { - return iVar1; - } - iVar1 = *(int *)(iVar1 + 0x20); - } - else { - iVar1 = *(int *)(iVar1 + 0x20); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08d6d8(int iParm1) - -{ - int *piVar1; - int iVar2; - - piVar1 = (int *)FUN_7f08d504(); - if (piVar1 == NULL) { - if (*(int *)(_DAT_80068bc0 + 0x11e4) == 0) { - iParm1 = 0; - } - else { - iVar2 = 0x20; - if (DAT_80041150 != 0) { - iVar2 = 0x1f; - } - if (iParm1 < iVar2) { - if ((DAT_80041150 == 0) || (iParm1 + 1 < 2)) { - iParm1 += 1; - } - else { - iParm1 += 2; - } - } - else { - iParm1 = 0; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08d64c(*(undefined4 *)(piVar1[1] + 4)); - if (iVar2 == 0) { - iParm1 = 0; - } - else { - iParm1 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iParm1 = piVar1[1]; - } - else { - iParm1 = 0; - } - } - } - return iParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08d7a8(int iParm1) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = (int *)FUN_7f08d504(); - iVar3 = 0; - if (piVar1 == NULL) { - if (*(int *)(_DAT_80068bc0 + 0x11e4) != 0) { - iVar2 = 0x20; - if (DAT_80041150 != 0) { - iVar2 = 0x1f; - } - if (iParm1 < iVar2) { - if ((DAT_80041150 != 0) && (1 < iParm1 + 1)) { - FUN_7f067850(iParm1 + 2,iParm1,0); - return; - } - FUN_7f067850(iParm1 + 1,iParm1,0); - return; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08d64c(*(undefined4 *)(piVar1[1] + 4)); - iVar3 = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x14) != 0) { - FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0x14)); - return; - } - iVar3 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iVar3 = piVar1[1]; - iVar2 = FUN_7f08d68c(); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x14) != 0)) { - FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0x14)); - return; - } - } - } - } - FUN_7f067850(iVar3); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08d8dc(int iParm1) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = (int *)FUN_7f08d504(); - iVar3 = 0; - if (piVar1 == NULL) { - if (*(int *)(_DAT_80068bc0 + 0x11e4) != 0) { - iVar2 = 0x20; - if (DAT_80041150 != 0) { - iVar2 = 0x1f; - } - if (iParm1 < iVar2) { - if ((DAT_80041150 != 0) && (1 < iParm1 + 1)) { - FUN_7f067884(iParm1 + 2,iParm1,0); - return; - } - FUN_7f067884(iParm1 + 1,iParm1,0); - return; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08d64c(*(undefined4 *)(piVar1[1] + 4)); - iVar3 = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x18) != 0) { - FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0x18)); - return; - } - iVar3 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iVar3 = piVar1[1]; - iVar2 = FUN_7f08d68c(); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x18) != 0)) { - FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0x18)); - return; - } - } - } - } - FUN_7f067884(iVar3); - return; -} - - - -void FUN_7f08da10(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f0678b8(uVar1); - return; -} - - - -void FUN_7f08da38(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f0678c8(uVar1); - return; -} - - - -void FUN_7f08da60(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f0678e4(uVar1); - return; -} - - - -void FUN_7f08da88(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f067900(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08dab0(int iParm1) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = (int *)FUN_7f08d504(); - iVar3 = 0; - if (piVar1 == NULL) { - if (*(int *)(_DAT_80068bc0 + 0x11e4) != 0) { - iVar2 = 0x20; - if (DAT_80041150 != 0) { - iVar2 = 0x1f; - } - if (iParm1 < iVar2) { - if ((DAT_80041150 != 0) && (1 < iParm1 + 1)) { - FUN_7f0677e8(iParm1 + 2,iParm1,0); - return; - } - FUN_7f0677e8(iParm1 + 1,iParm1,0); - return; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08d64c(*(undefined4 *)(piVar1[1] + 4)); - iVar3 = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0xc) != 0) { - FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0xc)); - return; - } - iVar3 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iVar3 = piVar1[1]; - iVar2 = FUN_7f08d68c(); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0xc) != 0)) { - FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0xc)); - return; - } - } - } - } - FUN_7f0677e8(iVar3); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08dbe4(int iParm1) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = (int *)FUN_7f08d504(); - iVar3 = 0; - if (piVar1 == NULL) { - if (*(int *)(_DAT_80068bc0 + 0x11e4) != 0) { - iVar2 = 0x20; - if (DAT_80041150 != 0) { - iVar2 = 0x1f; - } - if (iParm1 < iVar2) { - if ((DAT_80041150 != 0) && (1 < iParm1 + 1)) { - FUN_7f06781c(iParm1 + 2,iParm1,0); - return; - } - FUN_7f06781c(iParm1 + 1,iParm1,0); - return; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08d64c(*(undefined4 *)(piVar1[1] + 4)); - iVar3 = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x10) != 0) { - FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0x10)); - return; - } - iVar3 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iVar3 = piVar1[1]; - iVar2 = FUN_7f08d68c(); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x10) != 0)) { - FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0x10)); - return; - } - } - } - } - FUN_7f06781c(iVar3); - return; -} - - - -void FUN_7f08dd18(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f0677d8(uVar1); - return; -} - - - -void FUN_7f08dd40(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f06774c(uVar1); - return; -} - - - -void FUN_7f08dd68(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f067768(uVar1); - return; -} - - - -void FUN_7f08dd90(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f067784(uVar1); - return; -} - - - -void FUN_7f08ddb8(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f0677a0(uVar1); - return; -} - - - -void FUN_7f08dde0(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f08d6d8(); - FUN_7f0677bc(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08de08(int iParm1) - -{ - *(undefined4 *)(iParm1 + 0x20) = *(undefined4 *)(_DAT_80068bc0 + 0x11ec); - *(int *)(_DAT_80068bc0 + 0x11ec) = iParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08de28(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x11e8); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08de38(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x11e8) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08de48(void) - -{ - longlong lVar1; - longlong lVar2; - int iVar3; - int iVar4; - - lVar1 = FUN_7f05de88(0); - iVar4 = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x11e8) = 0; - lVar2 = FUN_7f08d41c(); - if (0 < lVar2) { - do { - lVar2 = FUN_7f08d6d8(iVar4); - if (lVar2 == lVar1) { - *(int *)(_DAT_80068bc0 + 0x11e8) = iVar4; - return; - } - iVar4 += 1; - iVar3 = FUN_7f08d41c(); - } while (iVar4 < iVar3); - } - return; -} - - - -undefined8 FUN_7f08dec4(void) - -{ - int iVar2; - undefined8 uVar1; - - iVar2 = FUN_7f08d64c(); - if ((iVar2 == 0) || (*(int *)(iVar2 + 0x1c) == 0)) { - uVar1 = 0; - } - else { - uVar1 = FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0x1c)); - } - return uVar1; -} - - - -undefined8 FUN_7f08df0c(void) - -{ - int iVar2; - undefined8 uVar1; - - iVar2 = FUN_7f08d68c(); - if ((iVar2 == 0) || (*(int *)(iVar2 + 0x1c) == 0)) { - uVar1 = 0; - } - else { - uVar1 = FUN_7f0c12b8(*(undefined4 *)(iVar2 + 0x1c)); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08df54(int iParm1,int iParm2) - -{ - int iVar1; - longlong lVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - - lVar2 = FUN_7f05e56c(iParm1,0x20000); - if (lVar2 != 0) { - lVar2 = FUN_7f05e56c(iParm2,0x20000); - iVar7 = 0x7fffffff; - iVar4 = 0; - if (lVar2 == 0) { - iParm2 = 0; - } - iVar5 = 0; - iVar3 = _DAT_80068bc0; - do { - iVar6 = *(int *)(iVar3 + 0x11f8); - if (iVar6 < 0) { - iVar6 = 10; - iVar4 = iVar5; - break; - } - if ((iParm1 == *(int *)(iVar3 + 0x11f0)) && (iParm2 == *(int *)(iVar3 + 0x11f4))) { - *(int *)(iVar3 + 0x11f8) = iVar6 + DAT_80040ff4; - iVar6 = iVar5; - break; - } - iVar1 = iVar5; - if (iVar7 <= iVar6) { - iVar6 = iVar7; - iVar1 = iVar4; - } - iVar4 = iVar1; - iVar7 = iVar6; - iVar5 += 1; - iVar3 += 0xc; - iVar6 = iVar5; - } while (iVar5 < 10); - if (iVar6 == 10) { - iVar4 *= 0xc; - *(int *)(_DAT_80068bc0 + iVar4 + 0x11f8) = DAT_80040ff4; - *(int *)(_DAT_80068bc0 + iVar4 + 0x11f0) = iParm1; - *(int *)(_DAT_80068bc0 + iVar4 + 0x11f4) = iParm2; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e070(undefined4 *puParm1,undefined4 *puParm2) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - *puParm1 = 0; - iVar2 = -1; - *puParm2 = 0; - iVar4 = 0; - do { - iVar3 = _DAT_80068bc0 + iVar4; - iVar1 = *(int *)(iVar3 + 0x11f8); - if (iVar1 < 0) { -LAB_7f08e0cc: - iVar1 = *(int *)(iVar3 + 0x1204); - } - else { - if (iVar2 < iVar1) { - *puParm1 = *(undefined4 *)(iVar3 + 0x11f0); - *puParm2 = *(undefined4 *)(_DAT_80068bc0 + iVar4 + 0x11f4); - iVar3 = _DAT_80068bc0 + iVar4; - iVar2 = iVar1; - goto LAB_7f08e0cc; - } - iVar1 = *(int *)(iVar3 + 0x1204); - } - if ((-1 < iVar1) && (iVar2 < iVar1)) { - *puParm1 = *(undefined4 *)(iVar3 + 0x11fc); - *puParm2 = *(undefined4 *)(_DAT_80068bc0 + iVar4 + 0x1200); - iVar2 = iVar1; - } - iVar4 += 0x18; - if (iVar4 == 0x78) { - return; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e128(void) - -{ - longlong lVar1; - float fVar2; - - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x564) = - (fVar2 * 0.00000000 - 0.50000000) * DAT_8004aeb0; - *(undefined4 *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x56c) = 0x3f800000; - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x57c) = - (fVar2 * 0.00000000 - 0.50000000) * DAT_8004aeb4; - *(undefined4 *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x580) = 0x3f800000; - if (*(int *)(_DAT_80068bc0 + 0x594) == 0) { - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x568) = - fVar2 * 0.00000000 * DAT_8004aec0; - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x584) = - fVar2 * 0.00000000 * DAT_8004aec4; - } - else { - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x568) = - fVar2 * 0.00000000 * DAT_8004aeb8; - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x584) = - fVar2 * 0.00000000 * DAT_8004aebc; - } - *(int *)(_DAT_80068bc0 + 0x594) = 1 - *(int *)(_DAT_80068bc0 + 0x594); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e3a8(float *pfParm1) - -{ - float fVar1; - float fVar2; - int iVar3; - - fVar1 = DAT_8004aec8; - if (*(int *)(_DAT_80068bc0 + 0x4dc) != 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x520) = 0; - *(float *)(_DAT_80068bc0 + 0x524) = pfParm1[1] / fVar1; - *(undefined4 *)(_DAT_80068bc0 + 0x528) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x4dc) = 0; - } - fVar2 = DAT_8004aed0; - fVar1 = DAT_8004aecc; - iVar3 = 0; - if (0 < DAT_80040ff4) { - do { - iVar3 += 1; - *(float *)(_DAT_80068bc0 + 0x520) = *pfParm1 + fVar2 * *(float *)(_DAT_80068bc0 + 0x520); - *(float *)(_DAT_80068bc0 + 0x524) = pfParm1[1] + fVar2 * *(float *)(_DAT_80068bc0 + 0x524); - *(float *)(_DAT_80068bc0 + 0x528) = pfParm1[2] + fVar2 * *(float *)(_DAT_80068bc0 + 0x528); - } while (iVar3 < DAT_80040ff4); - } - *(float *)(_DAT_80068bc0 + 0x4fc) = *(float *)(_DAT_80068bc0 + 0x520) * fVar1; - *(float *)(_DAT_80068bc0 + 0x500) = *(float *)(_DAT_80068bc0 + 0x524) * fVar1; - *(float *)(_DAT_80068bc0 + 0x504) = *(float *)(_DAT_80068bc0 + 0x528) * fVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e4a4(float *pfParm1,float *pfParm2) - -{ - int iVar1; - - if (*(int *)(_DAT_80068bc0 + 0x4e0) != 0) { - *(float *)(_DAT_80068bc0 + 0x52c) = *pfParm1 / (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x530) = - pfParm1[1] / (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x534) = - pfParm1[2] / (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x538) = *pfParm2 / (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x53c) = - pfParm2[1] / (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x540) = - pfParm2[2] / (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(undefined4 *)(_DAT_80068bc0 + 0x4e0) = 0; - } - iVar1 = 0; - if (0 < DAT_80040ff4) { - do { - iVar1 += 1; - *(float *)(_DAT_80068bc0 + 0x52c) = - *pfParm1 + *(float *)(_DAT_80068bc0 + 0x4ec) * *(float *)(_DAT_80068bc0 + 0x52c); - *(float *)(_DAT_80068bc0 + 0x530) = - pfParm1[1] + *(float *)(_DAT_80068bc0 + 0x4ec) * *(float *)(_DAT_80068bc0 + 0x530); - *(float *)(_DAT_80068bc0 + 0x534) = - pfParm1[2] + *(float *)(_DAT_80068bc0 + 0x4ec) * *(float *)(_DAT_80068bc0 + 0x534); - *(float *)(_DAT_80068bc0 + 0x538) = - *pfParm2 + *(float *)(_DAT_80068bc0 + 0x4ec) * *(float *)(_DAT_80068bc0 + 0x538); - *(float *)(_DAT_80068bc0 + 0x53c) = - pfParm2[1] + *(float *)(_DAT_80068bc0 + 0x4ec) * *(float *)(_DAT_80068bc0 + 0x53c); - *(float *)(_DAT_80068bc0 + 0x540) = - pfParm2[2] + *(float *)(_DAT_80068bc0 + 0x4ec) * *(float *)(_DAT_80068bc0 + 0x540); - } while (iVar1 < DAT_80040ff4); - } - *(float *)(_DAT_80068bc0 + 0x508) = - *(float *)(_DAT_80068bc0 + 0x52c) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x50c) = - *(float *)(_DAT_80068bc0 + 0x530) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x510) = - *(float *)(_DAT_80068bc0 + 0x534) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x514) = - *(float *)(_DAT_80068bc0 + 0x538) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x518) = - *(float *)(_DAT_80068bc0 + 0x53c) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - *(float *)(_DAT_80068bc0 + 0x51c) = - *(float *)(_DAT_80068bc0 + 0x540) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e6c4(float fParm1) - -{ - float fVar1; - - if (fParm1 != *(float *)(_DAT_80068bc0 + 0x4ec)) { - fVar1 = 1.00000000 - fParm1; - *(float *)(_DAT_80068bc0 + 0x52c) = - (*(float *)(_DAT_80068bc0 + 0x52c) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec))) / - fVar1; - *(float *)(_DAT_80068bc0 + 0x530) = - (*(float *)(_DAT_80068bc0 + 0x530) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec))) / - fVar1; - *(float *)(_DAT_80068bc0 + 0x534) = - (*(float *)(_DAT_80068bc0 + 0x534) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec))) / - fVar1; - *(float *)(_DAT_80068bc0 + 0x538) = - (*(float *)(_DAT_80068bc0 + 0x538) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec))) / - fVar1; - *(float *)(_DAT_80068bc0 + 0x53c) = - (*(float *)(_DAT_80068bc0 + 0x53c) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec))) / - fVar1; - *(float *)(_DAT_80068bc0 + 0x540) = - (*(float *)(_DAT_80068bc0 + 0x540) * (1.00000000 - *(float *)(_DAT_80068bc0 + 0x4ec))) / - fVar1; - *(float *)(_DAT_80068bc0 + 0x4ec) = fParm1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e7a0(float fParm1,float fParm2) - -{ - undefined4 uVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined **ppuVar5; - undefined **ppuVar6; - float fVar7; - float fStack180; - undefined4 uStack176; - float fStack172; - undefined auStack168 [64]; - undefined *apuStack104 [4]; - int iStack88; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = DAT_80032040; - fStack8 = (float)DAT_80032044; - fStack4 = (float)DAT_80032048; - fStack24 = DAT_8003204c; - fStack20 = DAT_80032050; - fStack16 = DAT_80032054; - fStack36 = DAT_80032058; - fStack32 = DAT_8003205c; - fStack28 = DAT_80032060; - fStack40 = (float)locret_7F06F638(_DAT_80068bc0 + 0x598); - puVar3 = &DAT_80032064; - ppuVar5 = apuStack104; - if (*(int *)(_DAT_80068bc0 + 0x4e8) == 0) { - if (DAT_8004aed4 < fStack40) { - *(undefined4 *)(_DAT_80068bc0 + 0x4f4) = 0x3f800000; - } - else { - if (DAT_8004aed8 < fStack40) { - *(float *)(_DAT_80068bc0 + 0x4f4) = - ((fStack40 - DAT_8004aed8) * DAT_8004aedc) / DAT_8004aee0 + DAT_8004aee4; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x4f4) = DAT_8004aee8; - } - } - *(undefined4 *)(_DAT_80068bc0 + 0x4f8) = *(undefined4 *)(_DAT_80068bc0 + 0x4f4); - puVar3 = &DAT_80032064; - } - else { - if (*(int *)(_DAT_80068bc0 + 0x4e8) == 1) { - *(undefined4 *)(_DAT_80068bc0 + 0x4f4) = DAT_8004aeec; - *(undefined4 *)(_DAT_80068bc0 + 0x4f8) = 0x3f000000; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x4f4) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x4f8) = *(undefined4 *)(_DAT_80068bc0 + 0x4f4); - } - } - do { - puVar4 = puVar3 + 3; - ppuVar6 = ppuVar5 + 3; - *ppuVar5 = (undefined *)*puVar3; - ppuVar5[1] = (undefined *)puVar3[1]; - ppuVar5[2] = (undefined *)puVar3[2]; - puVar3 = puVar4; - ppuVar5 = ppuVar6; - } while (puVar4 != (undefined4 *)0x800320a0); - *ppuVar6 = puRam800320a0; - fStack180 = DAT_800320a4; - uStack176 = DAT_800320a8; - fStack172 = DAT_800320ac; - uVar1 = FUN_7f070380(); - *(undefined4 *)(_DAT_80068bc0 + 0x4e4) = 0; - FUN_7f070374(0); - loc_7F070F58(_DAT_80068bc0 + 0x598,DAT_80040ff4,1); - FUN_7f070374(uVar1); - FUN_7f06dae0(_DAT_80068bc0 + 0x598); - sub_GAME_7F05A9B8(auStack168); - apuStack104[0] = auStack168; - iStack88 = _DAT_80068bc0 + 0x6d0; - FUN_7f06f670(apuStack104,_DAT_80068bc0 + 0x598); - *(undefined4 *)(_DAT_80068bc0 + 0x544) = *(undefined4 *)(_DAT_80068bc0 + 0x554); - *(undefined4 *)(_DAT_80068bc0 + 0x548) = *(undefined4 *)(_DAT_80068bc0 + 0x558); - *(undefined4 *)(_DAT_80068bc0 + 0x54c) = *(undefined4 *)(_DAT_80068bc0 + 0x55c); - FUN_7f06d1d8(_DAT_80068bc0 + 0x598,&fStack180); - fStack180 = fStack180 - *(float *)(_DAT_80068bc0 + 0x700); - fStack172 = fStack172 - *(float *)(_DAT_80068bc0 + 0x708); - FUN_7f06d200(_DAT_80068bc0 + 0x598,&fStack180); - if (0.00000000 < fStack40) { - *(float *)(_DAT_80068bc0 + 0x700) = *(float *)(_DAT_80068bc0 + 0x700) + fParm2; - *(float *)(_DAT_80068bc0 + 0x708) = *(float *)(_DAT_80068bc0 + 0x708) * fParm1; - if (0 < DAT_80040ff4) { - *(float *)(_DAT_80068bc0 + 0x700) = *(float *)(_DAT_80068bc0 + 0x700) / DAT_80041004; - *(float *)(_DAT_80068bc0 + 0x708) = *(float *)(_DAT_80068bc0 + 0x708) / DAT_80041004; - } - fStack12 = *(float *)(_DAT_80068bc0 + 0x700) * *(float *)(_DAT_80068bc0 + 0x4f4); - fStack8 = (*(float *)(_DAT_80068bc0 + 0x704) - *(float *)(_DAT_80068bc0 + 0x550)) * - *(float *)(_DAT_80068bc0 + 0x4f4) + *(float *)(_DAT_80068bc0 + 0x550); - fStack4 = *(float *)(_DAT_80068bc0 + 0x708) * *(float *)(_DAT_80068bc0 + 0x4f4); - if (*(int *)(_DAT_80068bc0 + 0x4e8) < 0) { - fStack24 = *(float *)(_DAT_80068bc0 + 0x6f0); - fStack20 = *(float *)(_DAT_80068bc0 + 0x6f4); - fStack16 = *(float *)(_DAT_80068bc0 + 0x6f8); - fStack36 = *(float *)(_DAT_80068bc0 + 0x6e0); - fStack32 = *(float *)(_DAT_80068bc0 + 0x6e4); - fStack28 = *(float *)(_DAT_80068bc0 + 0x6e8); - FUN_7f08e6c4(DAT_8004aef8); - } - else { - fStack24 = *(float *)(_DAT_80068bc0 + 0x6f0) * *(float *)(_DAT_80068bc0 + 0x4f8); - fStack20 = *(float *)(_DAT_80068bc0 + 0x6f4) * *(float *)(_DAT_80068bc0 + 0x4f4); - fStack16 = (*(float *)(_DAT_80068bc0 + 0x6f8) - 1.00000000) * - *(float *)(_DAT_80068bc0 + 0x4f4) + 1.00000000; - fStack36 = *(float *)(_DAT_80068bc0 + 0x6e0) * *(float *)(_DAT_80068bc0 + 0x4f4); - fStack32 = (*(float *)(_DAT_80068bc0 + 0x6e4) - 1.00000000) * - *(float *)(_DAT_80068bc0 + 0x4f4) + 1.00000000; - fStack28 = *(float *)(_DAT_80068bc0 + 0x6e8) * *(float *)(_DAT_80068bc0 + 0x4f4); - *(int *)(_DAT_80068bc0 + 0x4f0) = *(int *)(_DAT_80068bc0 + 0x4f0) + DAT_80040ff4; - if (*(int *)(_DAT_80068bc0 + 0x4f0) < 0x33) { - FUN_7f08e6c4(DAT_8004aef4); - } - else { - FUN_7f08e6c4(DAT_8004aef0); - } - } - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x544) = *(undefined4 *)(_DAT_80068bc0 + 0x554); - *(undefined4 *)(_DAT_80068bc0 + 0x548) = *(undefined4 *)(_DAT_80068bc0 + 0x558); - *(undefined4 *)(_DAT_80068bc0 + 0x54c) = *(undefined4 *)(_DAT_80068bc0 + 0x55c); - fStack12 = 0.00000000; - fStack8 = *(float *)(_DAT_80068bc0 + 0x550); - fStack4 = 0.00000000; - *(undefined4 *)(_DAT_80068bc0 + 0x4f0) = 0; - FUN_7f08e6c4(DAT_8004aefc); - fVar7 = (float)FUN_7f08a0a0(); - *(float *)(_DAT_80068bc0 + 0x560) = - *(float *)(_DAT_80068bc0 + 0x560) + (DAT_8004af00 + DAT_8004af04 * fVar7) * DAT_80041004; - fVar7 = *(float *)(_DAT_80068bc0 + 0x560); - if (1.00000000 <= fVar7) { - FUN_7f08e128(); - *(float *)(_DAT_80068bc0 + 0x560) = *(float *)(_DAT_80068bc0 + 0x560) - 1.00000000; - fVar7 = *(float *)(_DAT_80068bc0 + 0x560); - iVar2 = *(int *)(_DAT_80068bc0 + 0x594); - } - else { - iVar2 = *(int *)(_DAT_80068bc0 + 0x594); - } - sub_GAME_7F05B154(_DAT_80068bc0 + iVar2 * 0xc + 0x564,_DAT_80068bc0 + iVar2 * -0xc + 0x570,fVar7 - ,&fStack24); - fVar7 = (float)FUN_7f08a0a0(); - fStack24 = fStack24 * (fVar7 * 5.00000000 + 1.00000000); - fVar7 = (float)FUN_7f08a0a0(); - fStack20 = fStack20 * (fVar7 * 5.00000000 + 1.00000000); - sub_GAME_7F05B154(_DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * 0xc + 0x57c, - _DAT_80068bc0 + *(int *)(_DAT_80068bc0 + 0x594) * -0xc + 0x588, - *(undefined4 *)(_DAT_80068bc0 + 0x560),&fStack36); - fVar7 = (float)FUN_7f08a0a0(); - fStack36 = fStack36 * (fVar7 * 5.00000000 + 1.00000000); - fVar7 = (float)FUN_7f08a0a0(); - fStack28 = fStack28 * (fVar7 * 5.00000000 + 1.00000000); - } - FUN_7f08e3a8(&fStack12); - FUN_7f08e4a4(&fStack24,&fStack36); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ee1c(float fParm1) - -{ - int iVar1; - int iVar2; - int *piVar3; - float fVar4; - - fParm1 = fParm1 * DAT_80032034; - piVar3 = &DAT_80032010; - iVar2 = 0; - do { - fVar4 = (float)piVar3[3]; - if (fParm1 <= fVar4 * (float)piVar3[5]) { - iVar1 = *(int *)(_DAT_80068bc0 + 0x4e8); - if (iVar2 != iVar1) { - fVar4 = 0.00000000; - if (-1 < iVar1) { - fVar4 = ((float)piVar3[2] - (float)piVar3[1]) * - ((*(float *)(_DAT_80068bc0 + 0x5c0) - (float)(&DAT_80032014)[iVar1 * 6]) / - ((float)(&DAT_80032018)[iVar1 * 6] - (float)(&DAT_80032014)[iVar1 * 6])) + - (float)piVar3[1]; - } - FUN_7f06fe48(_DAT_80068bc0 + 0x598,*piVar3 + _DAT_80058478, - *(undefined *)(_DAT_80068bc0 + 0x5bc),fVar4,0x3f000000,0x41400000); - sub_7F06FDCC(_DAT_80068bc0 + 0x598,piVar3[1],0); - loc_7F06FE2C(_DAT_80068bc0 + 0x598,piVar3[2]); - sub_7F06FE3C(_DAT_80068bc0 + 0x598,&LAB_7f08e110); - *(int *)(_DAT_80068bc0 + 0x4e8) = iVar2; - fVar4 = (float)piVar3[3]; - } - loc_7F06FE84(_DAT_80068bc0 + 0x598,(fParm1 / fVar4) * 0.50000000,0); - return; - } - iVar2 += 1; - piVar3 = piVar3 + 6; - } while (iVar2 != 2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void sub_7F08EA48(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,float fParm4) - -{ - FUN_7f06fe48(_DAT_80068bc0 + 0x598,uParm1,uParm2,uParm3,fParm4 * 0.50000000,0x41400000); - *(undefined4 *)(_DAT_80068bc0 + 0x4e8) = 0xffffffff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08f018(float fParm1) - -{ - loc_7F06FE84(_DAT_80068bc0 + 0x598,fParm1 * 0.50000000,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f08f058(void) - -{ - float fVar1; - float fVar2; - - if (*(int *)(_DAT_80068bc0 + 0x4e8) < 0) { - fVar1 = 0.00000000; - } - else { - fVar1 = (float)FUN_7f08a0a0(); - fVar1 = fVar1 * DAT_8004af08 + DAT_8004af0c; - fVar2 = (float)locret_7F06F638(_DAT_80068bc0 + 0x598); - if ((0.00000000 < fVar2) && - (fVar2 = fVar2 / ((float)(&DAT_80032018)[*(int *)(_DAT_80068bc0 + 0x4e8) * 6] - - (float)(&DAT_80032014)[*(int *)(_DAT_80068bc0 + 0x4e8) * 6]), fVar1 <= fVar2 - )) { - fVar1 = fVar2; - } - } - return fVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08f130(float *pfParm1) - -{ - float *pfVar1; - int *piVar2; - int *piVar3; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - - piVar2 = NULL; - if ((_DAT_80064c40 != NULL) && (fVar5 = -1.00000000, -1 < *_DAT_80064c40)) { - iVar4 = *_DAT_80064c40; - piVar3 = _DAT_80064c40; - do { - pfVar1 = (float *)(iVar4 * 0x2c + _DAT_80064c58); - fVar6 = pfParm1[2] - pfVar1[2]; - fVar7 = *pfParm1 - *pfVar1; - fVar6 = fVar6 * fVar6 + fVar7 * fVar7; - if ((fVar5 < 0.00000000) || (fVar6 < fVar5)) { - iVar4 = piVar3[4]; - fVar5 = fVar6; - piVar2 = piVar3; - } - else { - iVar4 = piVar3[4]; - } - piVar3 = piVar3 + 4; - } while (-1 < iVar4); - } - return piVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08f2c0(int *piParm1,int iParm2) - -{ - int iVar1; - - iVar1 = *piParm1; - while( true ) { - if (iVar1 < 0) { - return 0; - } - iVar1 = iVar1 * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar1 + 8)) break; - iVar1 = piParm1[1]; - piParm1 = piParm1 + 1; - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08f314(int *piParm1,undefined4 uParm2) - -{ - int iVar1; - int iVar2; - - iVar1 = _DAT_80064c44; - iVar2 = *piParm1; - while (-1 < iVar2) { - iVar2 = iVar2 * 0xc + iVar1; - if (*(int *)(iVar2 + 8) < 0) { - *(undefined4 *)(iVar2 + 8) = uParm2; - iVar2 = piParm1[1]; - } - else { - iVar2 = piParm1[1]; - } - piParm1 = piParm1 + 1; - } - return; -} - - - -undefined8 loc_7F08EE54(int *piParm1,int iParm2) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - - iVar1 = *piParm1; - uVar3 = 0; - if (iVar1 != 0) { - iVar2 = piParm1[2]; - while( true ) { - if (iParm2 == iVar2) { - uVar3 = 1; - FUN_7f08f314(iVar1,iParm2 + 1); - iVar1 = piParm1[3]; - } - else { - iVar1 = piParm1[3]; - } - if (iVar1 == 0) break; - iVar2 = piParm1[5]; - piParm1 = piParm1 + 3; - } - } - return uVar3; -} - - - -// WARNING: Instruction at (ram,0x7f08f430) overlaps instruction at (ram,0x7f08f42c) -// - -longlong loc_7F08EF00(int iParm1,int iParm2,int *piParm3,longlong lParm4) - -{ - int *piVar1; - longlong lVar2; - int iVar3; - - lVar2 = 1; - if (*piParm3 != 0) { - iVar3 = piParm3[3]; - piVar1 = piParm3; - while( true ) { - piVar1[2] = -1; - if (iVar3 == 0) break; - iVar3 = piVar1[6]; - piVar1 = piVar1 + 3; - } - } - *(undefined4 *)(iParm1 + 8) = 0; - iVar3 = 0; - if ((lParm4 != 0) || (*(int *)(iParm2 + 8) < 0)) { - do { - lVar2 = loc_7F08EE54(piParm3,iVar3); - iVar3 += 1; - if ((lParm4 == 0) && (-1 < *(int *)(iParm2 + 8))) { - return lVar2; - } - } while (lVar2 != 0); - } - return lVar2; -} - - - -undefined4 FUN_7f08f47c(undefined8 uParm1,undefined4 *puParm2) - -{ - longlong lVar1; - int iVar2; - - lVar1 = loc_7F08EF00(); - if (lVar1 != 0) { - iVar2 = puParm2[2] + -1; - if (iVar2 < 0) { - iVar2 = puParm2[2]; - } - else { - do { - puParm2[2] = puParm2[2] + 10000; - puParm2 = (undefined4 *)FUN_7f08f2c0(*puParm2,iVar2); - iVar2 += -1; - } while (-1 < iVar2); - iVar2 = puParm2[2]; - } - puParm2[2] = iVar2 + 10000; - } - return (int)lVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F08F05C(undefined4 *puParm1,int iParm2,undefined4 *puParm3,longlong lParm4) - -{ - undefined4 uVar1; - longlong lVar2; - undefined4 *puVar3; - int iVar4; - undefined4 *puVar5; - int iVar6; - - puVar5 = puParm3; - if (1 < lParm4) { - if (_DAT_80064c44 == 0) { - *puParm3 = 0; - puVar5 = puParm3; - goto LAB_7f08f5bc; - } - lVar2 = FUN_7f08f47c(); - puVar5 = puParm3; - if (lVar2 != 0) { - iVar6 = (int)lParm4 + 9999; - *(undefined4 **)puParm3 = puParm1; - iVar4 = 0x2711; - puVar5 = puParm3 + 1; - if (10000 < *(int *)(iParm2 + 8)) { - if (iVar6 < 0x2712) { - *puVar5 = 0; - goto LAB_7f08f5bc; - } - uVar1 = *puParm1; - while( true ) { - puVar3 = (undefined4 *)FUN_7f08f2c0(uVar1,iVar4); - *(undefined4 **)puVar5 = puVar3; - iVar4 += 1; - puVar5 = puVar5 + 1; - if ((*(int *)(iParm2 + 8) < iVar4) || (iVar6 <= iVar4)) break; - uVar1 = *puVar3; - } - } - } - } - *puVar5 = 0; -LAB_7f08f5bc: - return (int)puVar5 + (4 - (int)puParm3) >> 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08f5f0(int *piParm1,int iParm2,int iParm3) - -{ - int iVar1; - - iVar1 = *piParm1; - do { - if (iVar1 < 0) { - return 0; - } - iVar1 = iVar1 * 0x10 + _DAT_80064c40; - if (iParm3 == *(int *)(iVar1 + 8)) { - if (iParm2 == *(int *)(iVar1 + 0xc)) { - return iVar1; - } - iVar1 = piParm1[1]; - } - else { - iVar1 = piParm1[1]; - } - piParm1 = piParm1 + 1; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08f648(int *piParm1,undefined4 uParm2,int iParm3) - -{ - int iVar1; - int iVar2; - - iVar1 = _DAT_80064c40; - iVar2 = *piParm1; - while (-1 < iVar2) { - iVar2 = iVar2 * 0x10 + iVar1; - if (iParm3 == *(int *)(iVar2 + 8)) { - if (*(int *)(iVar2 + 0xc) < 0) { - *(undefined4 *)(iVar2 + 0xc) = uParm2; - iVar2 = piParm1[1]; - } - else { - iVar2 = piParm1[1]; - } - } - else { - iVar2 = piParm1[1]; - } - piParm1 = piParm1 + 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F08F1B4(int *piParm1,int iParm2,undefined8 uParm3) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - - iVar1 = _DAT_80064c40; - iVar2 = *piParm1; - uVar3 = 0; - while (-1 < iVar2) { - iVar2 = iVar2 * 0x10 + iVar1; - if (iParm2 == *(int *)(iVar2 + 0xc)) { - iVar2 = *(int *)(iVar2 + 4); - if (iVar2 == 0) { - iVar2 = piParm1[1]; - } - else { - uVar3 = 1; - FUN_7f08f648(iVar2,iParm2 + 1,uParm3); - iVar2 = piParm1[1]; - } - } - else { - iVar2 = piParm1[1]; - } - piParm1 = piParm1 + 1; - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08f738(int iParm1,int iParm2,longlong lParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - longlong lVar4; - int *piVar5; - int iVar6; - - iVar3 = _DAT_80064c44; - iVar2 = _DAT_80064c40; - iVar6 = 0; - piVar5 = *(int **)(_DAT_80064c44 + *(int *)(iParm1 + 8) * 0xc + 4); - iVar1 = *piVar5; - while (-1 < iVar1) { - *(undefined4 *)(iVar1 * 0x10 + iVar2 + 0xc) = 0xffffffff; - iVar1 = piVar5[1]; - piVar5 = piVar5 + 1; - } - *(undefined4 *)(iParm1 + 0xc) = 0; - if ((lParm3 != 0) || (*(int *)(iParm2 + 0xc) < 0)) { - iVar1 = *(int *)(iParm1 + 8); - while( true ) { - lVar4 = loc_7F08F1B4(*(undefined4 *)(iVar3 + iVar1 * 0xc + 4),iVar6); - iVar6 += 1; - if (((lParm3 == 0) && (-1 < *(int *)(iParm2 + 0xc))) || (lVar4 == 0)) break; - iVar1 = *(int *)(iParm1 + 8); - } - } - return; -} - - - -void FUN_7f08f82c(int iParm1,int iParm2) - -{ - int iVar1; - - FUN_7f08f738(iParm1,iParm2,0); - iVar1 = *(int *)(iParm2 + 0xc) + -1; - if (iVar1 < 0) { - iVar1 = *(int *)(iParm2 + 0xc); - } - else { - do { - *(int *)(iParm2 + 0xc) = *(int *)(iParm2 + 0xc) + 10000; - iParm2 = FUN_7f08f5f0(*(undefined4 *)(iParm2 + 4),iVar1,*(undefined4 *)(iParm1 + 8)); - iVar1 += -1; - } while (-1 < iVar1); - iVar1 = *(int *)(iParm2 + 0xc); - } - *(int *)(iParm2 + 0xc) = iVar1 + 10000; - return; -} - - - -int loc_7F08F400(int iParm1,int iParm2,int *piParm3,longlong lParm4) - -{ - undefined4 uVar1; - int iVar2; - int iVar3; - int *piVar4; - int iVar5; - - piVar4 = piParm3; - if (1 < lParm4) { - FUN_7f08f82c(); - iVar5 = (int)lParm4 + 9999; - *piParm3 = iParm1; - iVar3 = 0x2711; - piVar4 = piParm3 + 1; - if (10000 < *(int *)(iParm2 + 0xc)) { - if (iVar5 < 0x2712) { - *piVar4 = 0; - goto LAB_7f08f960; - } - uVar1 = *(undefined4 *)(iParm1 + 4); - while( true ) { - iVar2 = FUN_7f08f5f0(uVar1,iVar3,*(undefined4 *)(iParm1 + 8)); - *piVar4 = iVar2; - iVar3 += 1; - piVar4 = piVar4 + 1; - if ((*(int *)(iParm2 + 0xc) < iVar3) || (iVar5 <= iVar3)) break; - uVar1 = *(undefined4 *)(iVar2 + 4); - } - } - } - *piVar4 = 0; -LAB_7f08f960: - return (int)piVar4 + (4 - (int)piParm3) >> 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08f998(int iParm1,int iParm2,int *piParm3,int *piParm4) - -{ - int iVar1; - int *piVar2; - int iVar3; - int *piVar4; - - piVar4 = *(int **)(iParm1 + 4); - iVar3 = *piVar4; - do { - if (iVar3 < 0) { - *piParm4 = 0; - *piParm3 = 0; - return; - } - iVar1 = iVar3 * 0x10 + _DAT_80064c40; - piVar2 = *(int **)(iVar1 + 4); - iVar3 = *piVar2; - while (-1 < iVar3) { - iVar3 = iVar3 * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 8) * 0xc + _DAT_80064c44) { - *piParm3 = iVar1; - *piParm4 = iVar3; - return; - } - iVar3 = piVar2[1]; - piVar2 = piVar2 + 1; - } - iVar3 = piVar4[1]; - piVar4 = piVar4 + 1; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08fa50(int iParm1,int iParm2,undefined4 *puParm3,int iParm4) - -{ - undefined4 uVar1; - longlong lVar2; - undefined4 *puVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - int iVar8; - int iStack44; - undefined4 auStack40 [10]; - - puVar7 = puParm3; - if (_DAT_80064c44 != 0) { - puVar6 = (undefined4 *)(*(int *)(iParm1 + 8) * 0xc + _DAT_80064c44); - iVar8 = *(int *)(iParm2 + 8) * 0xc + _DAT_80064c44; - lVar2 = FUN_7f08f47c(puVar6,iVar8,_DAT_80064c44); - if (lVar2 == 0) { - *puParm3 = 0; - puVar7 = puParm3; - goto LAB_7f08fb98; - } - iVar5 = puVar6[2] + 1; - puVar7 = puParm3; - if ((iVar5 <= *(int *)(iVar8 + 8)) && (puVar7 = puParm3, 1 < iParm4)) { - uVar1 = *puVar6; - puVar7 = puParm3; - while( true ) { - puVar3 = (undefined4 *)FUN_7f08f2c0(uVar1,iVar5); - FUN_7f08f998(puVar6,puVar3,auStack40,&iStack44); - iVar4 = loc_7F08F400(iParm1,auStack40[0],puVar7,iParm4); - iVar5 += 1; - iParm4 = (iParm4 - iVar4) + 1; - puVar7 = puVar7 + iVar4 + -1; - iParm1 = iStack44; - if ((*(int *)(iVar8 + 8) < iVar5) || (iParm1 = iStack44, iParm4 < 2)) break; - uVar1 = *puVar3; - iParm1 = iStack44; - puVar6 = puVar3; - } - } - iVar8 = loc_7F08F400(iParm1,iParm2,puVar7,iParm4); - puVar7 = puVar7 + iVar8 + -1; - } - *puVar7 = 0; -LAB_7f08fb98: - return (int)puVar7 + (4 - (int)puParm3) >> 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08fbdc(void) - -{ - int *piVar1; - int iVar2; - - if (-1 < *_DAT_80064c40) { - iVar2 = _DAT_80064c40[4]; - piVar1 = _DAT_80064c40; - while( true ) { - piVar1[3] = -1; - if (iVar2 < 0) break; - iVar2 = piVar1[8]; - piVar1 = piVar1 + 4; - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f08fdc0) overlaps instruction at (ram,0x7f08fdbc) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F08F8F8(int *piParm1,int iParm2) - -{ - uint uVar1; - int *piVar2; - int iVar3; - uint uVar4; - uint uVar5; - uint uVar6; - - uVar5 = 0; - if (-1 < *piParm1) { - iVar3 = piParm1[1]; - piVar2 = piParm1; - while( true ) { - uVar5 += 1; - if (iVar3 < 0) break; - iVar3 = piVar2[2]; - piVar2 = piVar2 + 1; - } - } - uVar1 = FUN_700098b0(); - uVar1 %= uVar5; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((int)uVar1 < (int)uVar5) { - uVar6 = uVar5 - uVar1 & 3; - if (uVar6 == 0) { - iVar3 = uVar1 << 2; - uVar4 = uVar1; - } - else { - piVar2 = piParm1 + uVar1; - uVar4 = uVar1; - do { - uVar4 += 1; - iVar3 = *piVar2 * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - piVar2 = piVar2 + 1; - } while (uVar6 + uVar1 != uVar4); - iVar3 = uVar4 * 4; - if (uVar4 == uVar5) goto LAB_7f08fd6c; - } - piVar2 = (int *)((int)piParm1 + iVar3); - do { - uVar4 += 4; - iVar3 = *piVar2 * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piVar2[1] * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piVar2[2] * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piVar2[3] * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - piVar2 = piVar2 + 4; - } while (uVar4 != uVar5); - } -LAB_7f08fd6c: - uVar5 = 0; - if (0 < (int)uVar1) { - piVar2 = piParm1; - if ((uVar1 & 3) == 0) { - iVar3 = 0; - } - else { - do { - uVar5 += 1; - iVar3 = *piVar2 * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - piVar2 = piVar2 + 1; - } while ((uVar1 & 3) != uVar5); - iVar3 = uVar5 * 4; - if (uVar5 == uVar1) { - return 0; - } - } - piParm1 = (int *)((int)piParm1 + iVar3); - do { - uVar5 += 4; - iVar3 = *piParm1 * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piParm1[1] * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piParm1[2] * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piParm1[3] * 0x10 + _DAT_80064c40; - if (iParm2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - piParm1 = piParm1 + 4; - } while (uVar5 != uVar1); - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f09003c) overlaps instruction at (ram,0x7f090038) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F08FB84(int *piParm1,int iParm2) - -{ - uint uVar1; - int *piVar2; - int iVar3; - uint uVar4; - uint uVar5; - uint uVar6; - - uVar5 = 0; - if (-1 < *piParm1) { - iVar3 = piParm1[1]; - piVar2 = piParm1; - while( true ) { - uVar5 += 1; - if (iVar3 < 0) break; - iVar3 = piVar2[2]; - piVar2 = piVar2 + 1; - } - } - uVar1 = FUN_700098b0(); - uVar1 %= uVar5; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((int)uVar1 < (int)uVar5) { - uVar6 = uVar5 - uVar1 & 3; - if (uVar6 == 0) { - iVar3 = uVar1 << 2; - uVar4 = uVar1; - } - else { - piVar2 = piParm1 + uVar1; - uVar4 = uVar1; - do { - uVar4 += 1; - iVar3 = *piVar2 * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - piVar2 = piVar2 + 1; - } while (uVar6 + uVar1 != uVar4); - iVar3 = uVar4 * 4; - if (uVar4 == uVar5) goto LAB_7f08ffe0; - } - piVar2 = (int *)((int)piParm1 + iVar3); - do { - uVar4 += 4; - iVar3 = *piVar2 * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piVar2[1] * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piVar2[2] * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piVar2[3] * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - piVar2 = piVar2 + 4; - } while (uVar4 != uVar5); - } -LAB_7f08ffe0: - uVar5 = 0; - if (0 < (int)uVar1) { - piVar2 = piParm1; - if ((uVar1 & 3) == 0) { - iVar3 = 0; - } - else { - do { - uVar5 += 1; - iVar3 = *piVar2 * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - piVar2 = piVar2 + 1; - } while ((uVar1 & 3) != uVar5); - iVar3 = uVar5 * 4; - if (uVar5 == uVar1) { - return 0; - } - } - piParm1 = (int *)((int)piParm1 + iVar3); - do { - uVar5 += 4; - iVar3 = *piParm1 * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piParm1[1] * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piParm1[2] * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piParm1[3] * 0xc + _DAT_80064c44; - if (iParm2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - piParm1 = piParm1 + 4; - } while (uVar5 != uVar1); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0900f0(int iParm1,int iParm2) - -{ - int iVar2; - longlong lVar1; - undefined4 *puVar3; - undefined4 *puVar4; - undefined auStack52 [4]; - undefined4 local_30 [2]; - undefined auStack40 [4]; - undefined4 local_24; - int local_1c; - int local_18 [6]; - - if (_DAT_80064c44 != 0) { - puVar4 = (undefined4 *)(*(int *)(iParm1 + 8) * 0xc + _DAT_80064c44); - puVar3 = (undefined4 *)(*(int *)(iParm2 + 8) * 0xc + _DAT_80064c44); - if (puVar4 == puVar3) { - FUN_7f08fbdc(); - FUN_7f08f738(iParm2,iParm1,1); - iVar2 = loc_7F08F8F8(*(undefined4 *)(iParm1 + 4),0xffffffffffffffff); - if (iVar2 != 0) { - return iVar2; - } - iVar2 = loc_7F08F8F8(*(undefined4 *)(iParm1 + 4),*(int *)(iParm1 + 0xc) + 1); - if (iVar2 != 0) { - return iVar2; - } - return 0; - } - loc_7F08EF00(puVar3,puVar4,_DAT_80064c44,0); - if ((int)puVar4[2] < 0) { - return 0; - } - lVar1 = loc_7F08FB84(*puVar4,0xffffffffffffffff); - if (lVar1 != 0) { - FUN_7f08f998(puVar4,lVar1,local_18,&local_1c); - if (local_18[0] == iParm1) { - return local_1c; - } - lVar1 = loc_7F08F400(iParm1,local_18[0],auStack40,3); - if (2 < lVar1) { - return local_24; - } - return 0; - } - lVar1 = FUN_7f08f2c0(*puVar4,puVar4[2] + -1); - if (lVar1 != 0) { - FUN_7f08f998(puVar4,lVar1,local_30,auStack52); - FUN_7f08f738(local_30[0],iParm1,1); - iVar2 = FUN_7f08f5f0(*(undefined4 *)(iParm1 + 4),*(int *)(iParm1 + 0xc) + 1, - *(undefined4 *)(iParm1 + 8)); - if (iVar2 != 0) { - return iVar2; - } - return 0; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09027c(void) - -{ - int *piVar2; - uint uVar3; - longlong lVar1; - int iVar4; - int local_dc; - int local_d8; - int *local_10; - uint local_8; - int *local_4; - - if (_DAT_80064c40 != NULL) { - local_8 = 0; - if (*_DAT_80064c40 < 0) { - local_8 = 0; - } - else { - iVar4 = _DAT_80064c40[4]; - piVar2 = _DAT_80064c40; - while( true ) { - local_8 += 1; - if (iVar4 < 0) break; - iVar4 = piVar2[8]; - piVar2 = piVar2 + 4; - } - } - local_4 = _DAT_80064c40; - uVar3 = FUN_700098b0(); - if (local_8 == 0) { - trap(0x1c00); - } - local_10 = local_4 + (uVar3 % local_8) * 4; - uVar3 = FUN_700098b0(); - if (local_8 == 0) { - trap(0x1c00); - } - lVar1 = FUN_7f08fa50(local_10,local_4 + (uVar3 % local_8) * 4,&local_dc,0x32); - if ((lVar1 != 0) && (piVar2 = &local_dc, local_dc != 0)) { - while (local_d8 != 0) { - local_d8 = piVar2[2]; - piVar2 = piVar2 + 1; - } - } - } - return; -} - - - -undefined8 FUN_7f0903e0(void) - -{ - return 2; -} - - - -undefined8 FUN_7f0903e8(void) - -{ - return 2; -} - - - -undefined8 FUN_7f0903f0(void) - -{ - return 2; -} - - - -undefined8 rmon_debug_is_final_build(void) - -{ - return 1; -} - - - -undefined8 rmon_debug_is_final_build(void) - -{ - return 1; -} - - - -undefined8 FUN_7f090418(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090420(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090428(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090430(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090438(void) - -{ - return 0; -} - - - -void FUN_7f090440(void) - -{ - return; -} - - - -undefined8 FUN_7f090450(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090458(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090460(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090468(void) - -{ - return 0; -} - - - -void FUN_7f09047c(undefined4 uParm1) - -{ - DAT_800320b4 = uParm1; - return; -} - - - -undefined8 FUN_7f090488(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090490(void) - -{ - return 0; -} - - - -undefined8 FUN_7f090498(void) - -{ - return 0; -} - - - -undefined8 FUN_7f0904a0(void) - -{ - return 0; -} - - - -undefined8 FUN_7f0904a8(void) - -{ - return 0; -} - - - -undefined4 FUN_7f0904d0(void) - -{ - return DAT_800320b8; -} - - - -void FUN_7f0904dc(undefined4 uParm1) - -{ - DAT_800320b8 = uParm1; - return; -} - - - -undefined8 FUN_7f0904e8(void) - -{ - return 0; -} - - - -undefined8 FUN_7f0904f0(void) - -{ - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void sub_GAME_7F0916F4(char cParm1,char cParm2,ushort uParm3) - -{ - int iVar1; - float fVar2; - char cStackX3; - - fVar2 = 1.00000000; - iVar1 = (int)cParm2; - if (cParm1 < -3) { - cStackX3 = cParm1 + '\x03'; - } - else { - cStackX3 = cParm1 + -3; - if (cParm1 < '\x04') { - cStackX3 = '\0'; - } - } - if (iVar1 < -3) { - iVar1 = (iVar1 + 3) * 0x1000000 >> 0x18; - } - else { - if (iVar1 < 4) { - iVar1 = 0; - } - else { - iVar1 = (iVar1 + -3) * 0x1000000 >> 0x18; - } - } - if ((uParm3 & 0x30) == 0) { - if ((uParm3 & 0x2000) != 0) { - fVar2 = 0.19999999; - } - if ((uParm3 & ~DAT_80032104 & 0x8000) != 0) { - DAT_80032100 = DAT_80032100 + DAT_80032100; - } - if ((uParm3 & ~DAT_80032104 & 0x4000) != 0) { - DAT_80032100 = DAT_80032100 * 0.50000000; - } - DAT_800320c4 = DAT_800320c4 + (float)iVar1 * DAT_800320f0 * fVar2 * DAT_80032100; - DAT_800320cc = DAT_800320cc + -(float)iVar1 * DAT_800320ec * fVar2 * DAT_80032100; - if ((uParm3 & 0x202) != 0) { - DAT_800320c4 = DAT_800320c4 - DAT_800320ec * 20.00000000 * fVar2 * DAT_80032100; - DAT_800320cc = DAT_800320cc - DAT_800320f0 * 20.00000000 * fVar2 * DAT_80032100; - } - if ((uParm3 & 0x101) != 0) { - DAT_800320c4 = DAT_800320c4 + DAT_800320ec * 20.00000000 * fVar2 * DAT_80032100; - DAT_800320cc = DAT_800320cc + DAT_800320f0 * 20.00000000 * fVar2 * DAT_80032100; - } - DAT_800320e8 = DAT_800320e8 + (float)(int)cStackX3 * fVar2 * 0.12500000; - if ((uParm3 & 0x800) != 0) { - DAT_800320f4 = DAT_800320f4 - (fVar2 + fVar2); - } - if ((uParm3 & 0x400) != 0) { - DAT_800320f4 = DAT_800320f4 + fVar2 + fVar2; - } - if ((uParm3 & 8) != 0) { - DAT_800320c8 = DAT_800320c8 + fVar2 * 20.00000000 * DAT_80032100; - } - if ((uParm3 & 4) != 0) { - DAT_800320c8 = DAT_800320c8 - fVar2 * 20.00000000 * DAT_80032100; - } - } - while (DAT_800320e8 < 0.00000000) { - DAT_800320e8 = DAT_800320e8 + 360.00000000; - } - while (360.00000000 <= DAT_800320e8) { - DAT_800320e8 = DAT_800320e8 - 360.00000000; - } - while (DAT_800320f4 < 0.00000000) { - DAT_800320f4 = DAT_800320f4 + 360.00000000; - } - while (360.00000000 <= DAT_800320f4) { - DAT_800320f4 = DAT_800320f4 - 360.00000000; - } - DAT_800320ec = (float)func_7F057FC4(DAT_800320e8 * DAT_8004af10); - DAT_800320f0 = (float)func_7F057FC4(DAT_800320e8 * DAT_8004af14); - DAT_800320f8 = (float)func_7F057FC4(DAT_800320f4 * DAT_8004af18); - DAT_800320d4 = (float)func_7F057FC4(DAT_800320f4 * DAT_8004af1c); - DAT_800320d0 = DAT_800320f8 * DAT_800320f0; - DAT_800320e0 = DAT_800320f8; - DAT_800320d8 = -DAT_800320f8 * DAT_800320ec; - DAT_800320dc = -DAT_800320d4 * DAT_800320f0; - DAT_800320e4 = DAT_800320d4 * DAT_800320ec; - DAT_800320fc = DAT_800320d4; - DAT_80032104 = uParm3; - FUN_7f09a754(0x42700000); - _DAT_80068930 += 1; - if (_DAT_80068930 == 1) { - FUN_7f05d414(0); - FUN_7f05d414(1); - } - else { - if (_DAT_80068930 == 4) { - FUN_7f079d70(); - } - } - return; -} - - - -undefined4 FUN_7f090a00(undefined4 uParm1) - -{ - FUN_7f08778c(&DAT_800320c4,&DAT_800320d0,&DAT_800320dc); - return uParm1; -} - - - -void FUN_7f090a3c(float fParm1) - -{ - DAT_80032108 = DAT_80032108 / fParm1; - DAT_800320c4 = DAT_800320c4 * DAT_80032108; - DAT_800320c8 = DAT_800320c8 * DAT_80032108; - DAT_800320cc = DAT_800320cc * DAT_80032108; - DAT_80032108 = fParm1; - DAT_8003210c = 1.00000000 / fParm1; - return; -} - - - -void FUN_7f090a98(void) - -{ - float fVar1; - - FUN_7f08a1a0(); - fVar1 = (float)FUN_7f08a0b0(); - fVar1 = DAT_8004af20 - fVar1; - func_7F057FC4(); - func_7F057FC4(fVar1); - func_7F057FC4(fVar1); - func_7F057FC4(fVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f090b74(void) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)FUN_7f08a1a0(); - DAT_800320c4 = *puVar1; - DAT_800320c8 = puVar1[1]; - DAT_800320cc = puVar1[2]; - _DAT_80068930 = 0; - return; -} - - - -int sub_GAME_7F0927F4(uint uParm1) - -{ - int iVar1; - - uParm1 &= 0xffff; - iVar1 = 0; - while (uParm1 != 0) { - if ((uParm1 & 1) != 0) { - iVar1 += 1; - } - uParm1 >>= 1; - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F091920(void) - -{ - longlong lVar1; - int iVar2; - short *psVar3; - ulonglong uVar4; - ulonglong uVar5; - byte bVar6; - int iVar7; - byte *pbVar8; - uint uVar9; - - pbVar8 = &DAT_8003945c; - lVar1 = FUN_7f0bd2c4(); - if (lVar1 == 0x5a) { - uVar9 = 1; - } - else { - lVar1 = FUN_7f0999a4(); - uVar9 = 4; - if (lVar1 == 1) { - uVar9 = 2; - } - } - bVar6 = DAT_8003945d; - if (DAT_8003945c == '\0') { - return; - } - do { - uVar5 = (ulonglong)bVar6; - if (bVar6 == 0) { - bVar6 = pbVar8[0x10]; - } - else { - if ((ulonglong)*(byte *)(_DAT_80068bc0 + 0x12ad) < uVar5) { - bVar6 = pbVar8[0x10]; - } - else { - if ((*(uint *)(pbVar8 + 0xc) & uVar9) == 0) { - bVar6 = pbVar8[0x10]; - } - else { - uVar4 = 0; - iVar7 = ((uint)*(byte *)(_DAT_80068bc0 + 0x12ac) - (uint)bVar6) + 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - if (bVar6 != 0) { - psVar3 = *(short **)(pbVar8 + 4); - do { - iVar2 = iVar7 % 0x14; - iVar7 = iVar2 + 1; - if (*(short *)(_DAT_80068bc0 + iVar2 * 2 + 0x1284) != *psVar3) break; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - uVar4 = SEXT48((int)uVar4 + 1); - psVar3 = psVar3 + 1; - } while ((longlong)uVar4 < (longlong)uVar5); - } - if (uVar4 == uVar5) { - *(undefined *)(_DAT_80068bc0 + 0x12ad) = 0; - lVar1 = FUN_7f091cdc((ulonglong)*pbVar8); - if ((lVar1 == 0) || ((*(uint *)(pbVar8 + 0xc) & 0x10) != 0)) { - FUN_7f090fe4((ulonglong)*pbVar8); - bVar6 = pbVar8[0x10]; - } - else { - FUN_7f091958((ulonglong)*pbVar8); - bVar6 = pbVar8[0x10]; - } - } - else { - bVar6 = pbVar8[0x10]; - } - } - } - } - if (bVar6 == 0) { - return; - } - if (false) { - return; - } - bVar6 = pbVar8[0x11]; - pbVar8 = pbVar8 + 0x10; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f090dbc(void) - -{ - undefined uVar4; - ushort uVar3; - ulonglong uVar1; - longlong lVar2; - ushort uVar5; - - uVar4 = FUN_7f09a690(); - uVar3 = FUN_7000b080(uVar4,0xffff); - uVar4 = FUN_7f09a690(); - uVar1 = FUN_7000b120(uVar4,0xffff); - uVar5 = uVar3 & 0x30; - uVar1 &= ~(ulonglong)uVar5; - if ((uVar1 & 0xffff) != 0) { - lVar2 = sub_GAME_7F0927F4(uVar1 & 0xffff); - if (lVar2 == 1) { - lVar2 = sub_GAME_7F0927F4((ulonglong)(uVar3 & ~uVar5)); - if (lVar2 == 1) { - *(ushort *)(_DAT_80068bc0 + (uint)*(byte *)(_DAT_80068bc0 + 0x12ac) * 2 + 0x1284) = - (ushort)uVar1 | uVar5; - *(undefined *)(_DAT_80068bc0 + 0x12ac) = - (char)((int)((uint)*(byte *)(_DAT_80068bc0 + 0x12ac) + 1) % 0x14); - if (*(byte *)(_DAT_80068bc0 + 0x12ad) < 0x14) { - *(char *)(_DAT_80068bc0 + 0x12ad) = *(byte *)(_DAT_80068bc0 + 0x12ad) + 1; - } - goto LAB_7f090ec4; - } - } - *(undefined *)(_DAT_80068bc0 + 0x12ad) = 0; - } -LAB_7f090ec4: - loc_7F091920(); - return; -} - - - -undefined8 locret_7F091A70(longlong lParm1) - -{ - if (lParm1 == 0x1c) { - return 1; - } - return 0; -} - - - -undefined8 FUN_7f090ef8(int iParm1) - -{ - if ((*(uint *)(&DAT_80039458 + iParm1 * 0x10) & 4) == 4) { - return 1; - } - return 0; -} - - - -void loc_7F091B50(undefined8 uParm1) - -{ - uint uVar1; - undefined4 uVar3; - longlong lVar2; - longlong lVar4; - - uVar1 = *(uint *)(&DAT_80039458 + (int)uParm1 * 0x10); - uVar3 = FUN_7f09a690(); - lVar2 = FUN_7f0999a4(); - if (lVar2 == 1) { - FUN_7f090fe4(uParm1); - } - else { - if ((uVar1 & 4) != 0) { - if ((uVar1 & 0x20) == 0) { - lVar4 = 0; - if (0 < lVar2) { - do { - FUN_7f09a64c(lVar4); - FUN_7f090fe4(uParm1); - lVar4 = (longlong)((int)lVar4 + 1); - } while (lVar4 != lVar2); - } - FUN_7f09a64c(uVar3); - } - else { - FUN_7f090fe4(uParm1); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f090fe4(int iParm1) - -{ - uint uVar1; - bool bVar2; - uint uVar6; - longlong lVar3; - longlong lVar4; - int iVar7; - int iVar8; - undefined8 uVar5; - int iVar9; - int iVar10; - int iVar11; - float fVar12; - uint local_10; - - uVar1 = *(uint *)(&DAT_80039458 + iParm1 * 0x10); - uVar6 = FUN_7f09a690(); - lVar3 = FUN_7f0999a4(); - if ((uVar1 & 0x10) == 0) { - if ((uVar1 & 0x20) == 0) { - *(byte *)(iParm1 + -0x7ff976c0) = - *(byte *)(iParm1 + -0x7ff976c0) | (byte)(1 << (uVar6 & 0x1f)); - } - else { - *(char *)(iParm1 + -0x7ff976c0) = (char)(1 << ((uint)lVar3 & 0x1f)) + -1; - } - } - if (true) { - switch(iParm1) { - case 1: - FUN_7f010170(); - break; - case 2: - lVar3 = FUN_7f08a124(); - if (lVar3 == 0) { - uVar5 = FUN_7f0c12b8(0xb00f); - FUN_7f08a6d4(uVar5); - FUN_7f08a114(1); - } - break; - case 3: - lVar3 = FUN_7f08c5bc(); - if (lVar3 == 0) { - uVar5 = FUN_7f0c12b8(0xb010); - FUN_7f08a6d4(uVar5); - FUN_7f08c5ac(1); - } - break; - case 4: - uVar5 = FUN_7f0c12b8(0xb011); - FUN_7f08a6d4(uVar5); - FUN_7f069a84(); - break; - case 6: - bVar2 = false; - if (1 < lVar3) { - local_10 = 0; - if (0 < lVar3) { - do { - if (local_10 != uVar6) { - FUN_7f09a64c(local_10); - lVar4 = FUN_7f08a124(); - if (lVar4 != 0) { - bVar2 = true; - FUN_7f08a114(0); - } - } - FUN_7f09a64c(uVar6); - local_10 += 1; - } while (local_10 != (uint)lVar3); - } - if (bVar2) { - FUN_70008268(_DAT_80056900,0x9f,0); - } - } - break; - case 7: - FUN_7f09047c(1); - break; - case 8: - if ((*(float *)(_DAT_80068bc0 + 0x2a34) == 1.00000000) || - (*(float *)(_DAT_80068bc0 + 0xdc) < 1.00000000)) { - uVar5 = FUN_7f0c12b8(0xb012); - FUN_7f08a6d4(uVar5); - *(undefined4 *)(_DAT_80068bc0 + 0xdc) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x2a34) = 0x40000000; - } - break; - case 9: - if ((*(float *)(_DAT_80068bc0 + 0x2a38) == 1.00000000) || - (*(float *)(_DAT_80068bc0 + 0xe0) < 1.00000000)) { - uVar5 = FUN_7f0c12b8(0xb013); - FUN_7f08a6d4(uVar5); - *(undefined4 *)(_DAT_80068bc0 + 0xe0) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x2a38) = 0x40000000; - } - break; - case 10: - lVar3 = FUN_7f08a140(); - if (lVar3 != 0) { - uVar5 = FUN_7f0c12b8(0xb014); - FUN_7f08a6d4(uVar5); - FUN_7f08a134(0); - } - break; - case 0xb: - uVar5 = FUN_7f0c12b8(0xb016); - FUN_7f08a6d4(uVar5); - break; - case 0xc: - uVar5 = FUN_7f0c12b8(0xb017); - FUN_7f08a6d4(uVar5); - FUN_7f091d14(1); - break; - case 0xd: - if (lVar3 == 1) { - iVar11 = FUN_7f08c7e8(0x12); - iVar9 = FUN_7f08c7e8(0x16); - iVar10 = FUN_7f08c7e8(0x13); - iVar7 = FUN_7f08c7e8(0x14); - iVar8 = FUN_7f08c7e8(0x15); - uVar5 = FUN_7f069a68(0xc); - FUN_7f0698c4(0xc,uVar5); - uVar5 = FUN_7f069a68(0xd); - FUN_7f0698c4(0xd,uVar5); - uVar5 = FUN_7f069a68(1); - FUN_7f0698c4(1,uVar5); - if (0 < iVar11 + iVar9 + iVar10 + iVar7 + iVar8) { - uVar5 = FUN_7f0c12b8(0xb018); - FUN_7f08a6d4(uVar5); - } - } - break; - case 0xe: - if ((lVar3 == 1) && (*(float *)(_DAT_80068bc4 + 100) == 1.00000000)) { - uVar5 = FUN_7f0c12b8(0xb019); - FUN_7f08a6d4(uVar5); - *(undefined4 *)(_DAT_80068bc4 + 100) = 0x3f000000; - iVar11 = *(int *)(_DAT_80068bc0 + 0xd4); - if (iVar11 != 0) { - set_obj_instance_controller_scale(iVar11,*(float *)(iVar11 + 0x14) * 0.50000000); - } - } - break; - case 0xf: - uVar5 = FUN_7f0c12b8(0xb01a); - FUN_7f08a6d4(uVar5); - break; - case 0x10: - if ((*(float *)(_DAT_80068bc0 + 0x2a34) == 1.00000000) || - (*(float *)(_DAT_80068bc0 + 0xdc) < 1.00000000)) { - uVar5 = FUN_7f0c12b8(0xb01b); - FUN_7f08a6d4(uVar5); - *(undefined4 *)(_DAT_80068bc0 + 0xdc) = 0x3f800000; - *(undefined4 *)(_DAT_80068bc0 + 0x2a34) = 0x41200000; - } - break; - case 0x11: - if (lVar3 == 1) { - FUN_7f08c7e8(0x12); - uVar5 = FUN_7f069a68(0xc); - FUN_7f0698c4(0xc,uVar5); - } - break; - case 0x12: - if (lVar3 == 1) { - FUN_7f08c7e8(0x16); - } - break; - case 0x13: - if (lVar3 == 1) { - FUN_7f08c7e8(0x13); - uVar5 = FUN_7f069a68(0xd); - FUN_7f0698c4(0xd,uVar5); - } - break; - case 0x14: - if (lVar3 == 1) { - FUN_7f08c7e8(0x14); - uVar5 = FUN_7f069a68(1); - FUN_7f0698c4(1,uVar5); - } - break; - case 0x15: - if (lVar3 == 1) { - FUN_7f08c7e8(0x15); - uVar5 = FUN_7f069a68(1); - FUN_7f0698c4(1,uVar5); - } - break; - case 0x16: - FUN_7f080ab4(0x43960000,DAT_8004ca98); - break; - case 0x18: - lVar3 = FUN_7f0904d0(); - if (lVar3 == 0) { - uVar5 = FUN_7f0c12b8(0xb01d); - FUN_7f08a6d4(uVar5); - FUN_7f0904dc(1); - } - break; - case 0x19: - lVar3 = FUN_7f090438(); - if (lVar3 == 0) { - FUN_7f090440(1); - } - break; - case 0x1a: - fVar12 = (float)FUN_7f020474(); - if (fVar12 < 4.00000000) { - uVar5 = FUN_7f0c12b8(0xb034); - FUN_7f08a6d4(uVar5); - FUN_7f0203b4(0x40800000); - } - break; - case 0x1b: - fVar12 = (float)FUN_7f020474(); - if (0.25000000 < fVar12) { - uVar5 = FUN_7f0c12b8(0xb032); - FUN_7f08a6d4(uVar5); - FUN_7f0203b4(0x3e800000); - } - break; - case 0x1d: - if (lVar3 == 1) { - FUN_7f08c7e8(0x19); - FUN_7f08c884(0x19,0x19); - uVar5 = FUN_7f069a68(6); - FUN_7f0698c4(6,uVar5); - } - break; - case 0x1e: - if (lVar3 == 1) { - FUN_7f08c7e8(0x18); - FUN_7f08c884(0x18,0x18); - uVar5 = FUN_7f069a68(0xb); - FUN_7f0698c4(0xb,uVar5); - } - break; - case 0x1f: - if (lVar3 == 1) { - FUN_7f08c7e8(0xe); - FUN_7f08c884(0xe,0xe); - uVar5 = FUN_7f069a68(1); - FUN_7f0698c4(1,uVar5); - } - break; - case 0x20: - if (lVar3 == 1) { - FUN_7f08c7e8(3); - FUN_7f08c884(3,3); - uVar5 = FUN_7f069a68(10); - FUN_7f0698c4(10,uVar5); - } - break; - case 0x21: - if (lVar3 == 1) { - if (DAT_80041150 == 0) { - FUN_7f08c7e8(2); - FUN_7f08c884(2,2); - } - else { - FUN_7f08c7e8(0x19); - FUN_7f08c7e8(0x11); - FUN_7f08c884(0x11,0x19); - uVar5 = FUN_7f069a68(6); - FUN_7f0698c4(6,uVar5); - uVar5 = FUN_7f069a68(3); - FUN_7f0698c4(3,uVar5); - } - } - break; - case 0x22: - if (lVar3 == 1) { - FUN_7f08c7e8(0x16); - FUN_7f08c884(0x16,0x16); - } - break; - case 0x23: - case 0x24: - case 0x25: - case 0x26: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x2f: - case 0x30: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - if ((-1 < DAT_80025e38) && (DAT_80025e38 < 4)) { - loc_7F01E868(DAT_80025e38,iParm1 + -0x23); - FUN_70008268(_DAT_80056900,0x9f,0); - } - break; - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x3c: - case 0x3d: - case 0x3e: - case 0x3f: - case 0x40: - case 0x41: - case 0x42: - case 0x43: - case 0x44: - case 0x45: - case 0x46: - case 0x47: - case 0x48: - case 0x49: - case 0x4a: - iVar11 = iParm1 + -0x37; - if ((-1 < DAT_80025e38) && (iVar9 = 0, DAT_80025e38 < 4)) { - iVar10 = 0; - if (0 < iVar11) { - do { - lVar3 = loc_7F01E4E0(DAT_80025e38,iVar10,0); - if (lVar3 == 3) { - iVar9 += 1; - } - iVar10 += 1; - } while (iVar10 != iVar11); - } - if (iVar11 == iVar9 + 1) { - loc_7F01E740(DAT_80025e38,iParm1 + -0x38,0,99999999); - FUN_70008268(_DAT_80056900,0x9f,0); - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f091958(int iParm1) - -{ - uint uVar1; - int iVar2; - undefined8 uVar3; - longlong lVar4; - uint uVar5; - - uVar1 = *(uint *)(&DAT_80039458 + iParm1 * 0x10); - uVar5 = FUN_7f09a690(); - lVar4 = FUN_7f0999a4(); - if ((uVar1 & 0x10) == 0) { - if ((uVar1 & 0x20) == 0) { - *(byte *)(iParm1 + -0x7ff976c0) = - *(byte *)(iParm1 + -0x7ff976c0) & ~(byte)(1 << (uVar5 & 0x1f)); - } - else { - *(undefined *)(iParm1 + -0x7ff976c0) = 0; - } - } - if (true) { - switch(iParm1) { - case 2: - lVar4 = FUN_7f08a124(); - if (lVar4 != 0) { - uVar3 = FUN_7f0c12b8(0xb01e); - FUN_7f08a6d4(uVar3); - FUN_7f08a114(0); - } - break; - case 3: - lVar4 = FUN_7f08c5bc(); - if (lVar4 != 0) { - uVar3 = FUN_7f0c12b8(0xb01f); - FUN_7f08a6d4(uVar3); - FUN_7f08c5ac(0); - } - break; - case 7: - FUN_7f09047c(0); - break; - case 10: - lVar4 = FUN_7f08a140(); - if (lVar4 == 0) { - uVar3 = FUN_7f0c12b8(0xb020); - FUN_7f08a6d4(uVar3); - FUN_7f08a134(1); - } - break; - case 0xb: - uVar3 = FUN_7f0c12b8(0xb022); - FUN_7f08a6d4(uVar3); - break; - case 0xc: - uVar3 = FUN_7f0c12b8(0xb023); - FUN_7f08a6d4(uVar3); - FUN_7f091d14(0); - break; - case 0xe: - if ((lVar4 == 1) && (*(float *)(_DAT_80068bc4 + 100) != 1.00000000)) { - uVar3 = FUN_7f0c12b8(0xb024); - FUN_7f08a6d4(uVar3); - *(undefined4 *)(_DAT_80068bc4 + 100) = 0x3f800000; - iVar2 = *(int *)(_DAT_80068bc0 + 0xd4); - if (iVar2 != 0) { - set_obj_instance_controller_scale - (iVar2,*(float *)(iVar2 + 0x14) + *(float *)(iVar2 + 0x14)); - } - } - break; - case 0xf: - uVar3 = FUN_7f0c12b8(0xb025); - FUN_7f08a6d4(uVar3); - break; - case 0x16: - FUN_7f080ab4(0x43960000,0x3f800000); - break; - case 0x18: - lVar4 = FUN_7f0904d0(); - if (lVar4 != 0) { - uVar3 = FUN_7f0c12b8(0xb027); - FUN_7f08a6d4(uVar3); - FUN_7f0904dc(0); - } - break; - case 0x19: - lVar4 = FUN_7f090438(); - if (lVar4 != 0) { - FUN_7f090440(0); - } - } - } - return; -} - - - -void FUN_7f091be0(void) - -{ - longlong lVar1; - longlong lVar2; - undefined4 uVar3; - int iVar4; - undefined1 *puVar5; - longlong lVar6; - - lVar1 = FUN_7f0999a4(); - uVar3 = FUN_7f09a690(); - lVar6 = 0; - if (0 < lVar1) { - do { - FUN_7f09a64c(lVar6); - puVar5 = &DAT_8003946c; - iVar4 = 1; - do { - if (((*(uint *)(puVar5 + -4) & 0x40) != 0) && (lVar2 = FUN_7f091cdc(iVar4), lVar2 != 0)) { - FUN_7f091958(iVar4); - } - iVar4 += 1; - puVar5 = puVar5 + 0x10; - } while (iVar4 != 0x4b); - lVar6 = (longlong)((int)lVar6 + 1); - } while (lVar6 != lVar1); - } - FUN_7f09a64c(uVar3); - return; -} - - - -void FUN_7f091c94(int iParm1) - -{ - if (*(ushort *)(&DAT_80039454 + iParm1 * 0x10) == 0) { - FUN_7f0c12b8(0xb028); - } - else { - FUN_7f0c12b8((ulonglong)*(ushort *)(&DAT_80039454 + iParm1 * 0x10)); - } - return; -} - - - -uint FUN_7f091cdc(int iParm1) - -{ - uint uVar1; - - uVar1 = FUN_7f09a690(); - return (int)(uint)*(byte *)(iParm1 + -0x7ff976c0) >> (uVar1 & 0x1f) & 1; -} - - - -void FUN_7f091d14(longlong lParm1) - -{ - int iVar2; - longlong lVar1; - int iVar3; - int iVar4; - float fVar5; - - iVar3 = DAT_800281b4; - iVar2 = actor_drops_itemtype_setting_timer(); - fVar5 = DAT_8004cbc4; - if (lParm1 == 0) { - fVar5 = 1.25000000; - } - iVar4 = 0; - if (0 < iVar2) { - do { - if ((*(int *)(iVar3 + 0x1c) != 0) && - (lVar1 = FUN_7f0206cc(*(undefined *)(iVar3 + 0xf),*(undefined *)(iVar3 + 6)), lVar1 != 0)) - { - set_obj_instance_controller_scale - (*(int *)(iVar3 + 0x1c),*(float *)(*(int *)(iVar3 + 0x1c) + 0x14) * fVar5); - } - iVar4 += 1; - iVar3 += 0x1dc; - } while (iVar4 != iVar2); - } - return; -} - - - -undefined8 -sub_GAME_7F092890(short *psParm1,short *psParm2,short *psParm3,float *pfParm4,float *pfParm5, - float *pfParm6,float *pfParm7,float *pfParm8) - -{ - undefined8 uVar1; - double dVar2; - double dVar3; - double dVar4; - double dVar5; - double dVar6; - double dVar7; - double dVar8; - uint uVar9; - double dVar10; - double dVar11; - double dVar12; - double dVar13; - double dVar14; - double dVar15; - double dVar16; - double dVar17; - double dVar18; - double dVar19; - double dVar20; - double dVar21; - double dVar22; - double dVar23; - - dVar3 = (double)*pfParm7; - dVar6 = (double)pfParm7[1]; - dVar2 = (double)pfParm7[2]; - dVar10 = (double)((int)*psParm2 - (int)*psParm1); - dVar7 = (double)((int)psParm2[1] - (int)psParm1[1]); - dVar8 = (double)((int)psParm2[2] - (int)psParm1[2]); - dVar18 = dVar7 * (double)((int)psParm3[2] - (int)psParm2[2]); - dVar19 = dVar8 * (double)((int)psParm3[1] - (int)psParm2[1]); - dVar20 = dVar8 * (double)((int)*psParm3 - (int)*psParm2); - dVar21 = dVar10 * (double)((int)psParm3[2] - (int)psParm2[2]); - dVar14 = dVar18 - dVar19; - dVar22 = dVar10 * (double)((int)psParm3[1] - (int)psParm2[1]); - dVar23 = dVar7 * (double)((int)*psParm3 - (int)*psParm2); - dVar15 = dVar20 - dVar21; - dVar16 = dVar22 - dVar23; - if (dVar2 * dVar16 + dVar14 * dVar3 + dVar15 * dVar6 == - (double)((ulonglong)(dVar14 * dVar3) & 0xffffffff00000000)) { - uVar1 = 0; - } - else { - dVar23 = dVar23 - dVar22; - uVar1 = 0; - dVar17 = (double)((ulonglong)dVar16 & 0xffffffff00000000); - dVar22 = ((((((double)pfParm4[2] + (double)(int)psParm1[2]) * dVar16 + - dVar14 * ((double)(int)*psParm1 + (double)*pfParm4) + - dVar15 * ((double)(int)psParm1[1] + (double)pfParm4[1])) - dVar14 * (double)*pfParm6 - ) - dVar15 * (double)pfParm6[1]) - (double)pfParm6[2] * dVar16) / - (dVar2 * dVar16 + dVar14 * dVar3 + dVar15 * dVar6); - dVar4 = dVar3 * dVar22 + (double)*pfParm6; - dVar11 = dVar6 * dVar22 + (double)pfParm6[1]; - dVar22 = dVar2 * dVar22 + (double)pfParm6[2]; - dVar12 = dVar4 - ((double)*pfParm4 + (double)(int)*psParm1); - dVar13 = dVar11 - ((double)pfParm4[1] + (double)(int)psParm1[1]); - dVar5 = dVar22 - ((double)pfParm4[2] + (double)(int)psParm1[2]); - if (dVar23 == (double)((ulonglong)(double)(int)psParm1[2] & 0xffffffff00000000)) { - dVar19 = dVar19 - dVar18; - if (dVar19 == (double)((ulonglong)dVar13 & 0xffffffff00000000)) { - dVar19 = (dVar5 * dVar10 - dVar8 * dVar12) / (dVar21 - dVar20); - } - else { - dVar19 = (dVar13 * dVar8 - dVar7 * dVar5) / dVar19; - } - } - else { - dVar19 = (dVar12 * dVar7 - dVar10 * dVar13) / dVar23; - } - if (dVar17 == dVar10) { - uVar9 = (uint)((ulonglong)(double)((int)psParm3[1] - (int)psParm1[1]) >> 0x20); - if (dVar17 == dVar7) { - uVar9 = (uint)((ulonglong)dVar5 >> 0x20); - dVar8 = (dVar5 - dVar19 * (double)((int)psParm3[2] - (int)psParm1[2])) / dVar8; - } - else { - dVar8 = (dVar13 - dVar19 * (double)((int)psParm3[1] - (int)psParm1[1])) / dVar7; - } - } - else { - uVar9 = (uint)((ulonglong)dVar12 >> 0x20); - dVar8 = (dVar12 - dVar19 * (double)((int)*psParm3 - (int)*psParm1)) / dVar10; - } - if (((dVar17 <= dVar8) && (dVar17 <= dVar19)) && - (dVar8 + dVar19 <= (double)((ulonglong)uVar9 << 0x20))) { - if (dVar17 <= (dVar22 - (double)pfParm5[2]) * dVar2 + - dVar3 * (dVar4 - (double)*pfParm5) + dVar6 * (dVar11 - (double)pfParm5[1])) { - uVar1 = 1; - *pfParm8 = (float)dVar4; - pfParm8[1] = (float)dVar11; - pfParm8[2] = (float)dVar22; - pfParm8[3] = (float)dVar14; - pfParm8[4] = (float)dVar15; - *(undefined2 *)((int)pfParm8 + 0x2a) = 0; - pfParm8[5] = (float)dVar16; - } - else { - uVar1 = 0; - } - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f092390(void) - -{ - float fVar1; - ushort uVar2; - float fVar3; - uint uVar4; - uint uVar5; - - _DAT_80068990 = _DAT_80068990 + DAT_80041004 * 0.25000000; - if (256.00000000 <= _DAT_80068990) { - _DAT_80068990 = _DAT_80068990 - 256.00000000; - } - if (_DAT_80068990 < 0.00000000) { - _DAT_80068990 = _DAT_80068990 + 256.00000000; - } - _DAT_80068994 = _DAT_80068994 + DAT_80041004 * DAT_8004cbd0; - if (256.00000000 <= _DAT_80068994) { - _DAT_80068994 = _DAT_80068994 - 256.00000000; - } - if (_DAT_80068994 < 0.00000000) { - _DAT_80068994 = _DAT_80068994 + 256.00000000; - } - _DAT_80068998 = _DAT_80068998 + DAT_80041004 * DAT_8004cbd8; - if (DAT_8004cbd4 <= _DAT_80068998) { - _DAT_80068998 = _DAT_80068998 - DAT_8004cbd4; - } - if (_DAT_80068998 < 0.00000000) { - _DAT_80068998 = _DAT_80068998 + DAT_8004cbd4; - } - if (false) { - fVar3 = ROUND(_DAT_80068990); - } - else { - fVar3 = FLOOR(_DAT_80068990); - } - uVar5 = (uint)fVar3; - if (false) { - if (false) { - fVar3 = ROUND(_DAT_80068990 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(_DAT_80068990 - 2147483648.00000000); - } - if (false) goto LAB_7f092538; - uVar5 = (int)fVar3 | 0x80000000; - } - else { - if ((int)uVar5 < 0) { -LAB_7f092538: - uVar5 = 0xffffffff; - } - } - if (false) { - fVar3 = ROUND(_DAT_80068994); - } - else { - fVar3 = FLOOR(_DAT_80068994); - } - DAT_80039920 = ((uVar5 ^ DAT_80039920 >> 0xc) << 0x14) >> 8 ^ DAT_80039920; - if (false) { - if (false) { - fVar3 = ROUND(_DAT_80068994 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(_DAT_80068994 - 2147483648.00000000); - } - if (false) goto LAB_7f0925d0; - uVar2 = (ushort)(int)fVar3; - } - else { - uVar2 = (ushort)(int)fVar3; - if ((int)fVar3 < 0) { -LAB_7f0925d0: - uVar2 = 0xffff; - } - } - DAT_80039920 = DAT_80039920 & 0xffff0000 | (uint)(uVar2 & 0xfff | DAT_80039920._2_2_ & 0xf000); - DAT_80039928 = (((int)_DAT_80068990 + 0x5aU & 0xff ^ DAT_80039928 >> 0xc) << 0x14) >> 8 ^ - DAT_80039928; - DAT_80039928 = DAT_80039928 & 0xffff0000 | - (uint)((short)(int)_DAT_80068994 + 0x96U & 0xff | DAT_80039928._2_2_ & 0xf000); - fVar3 = (float)func_7F057FC4(_DAT_80068998); - fVar3 = fVar3 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar3); - } - else { - fVar1 = FLOOR(fVar3); - } - uVar5 = (uint)fVar1; - if (false) { - if (false) { - fVar3 = ROUND(fVar3 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(fVar3 - 2147483648.00000000); - } - if (false) goto LAB_7f0926f4; - uVar5 = (int)fVar3 | 0x80000000; - } - else { - if ((int)uVar5 < 0) { -LAB_7f0926f4: - uVar5 = 0xffffffff; - } - } - if (false) { - fVar3 = ROUND(_DAT_80068990); - } - else { - fVar3 = FLOOR(_DAT_80068990); - } - uVar4 = (uint)fVar3; - DAT_80039930 = uVar5 | DAT_80039930 & 0xffffff00; - if (false) { - if (false) { - fVar3 = ROUND(_DAT_80068990 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(_DAT_80068990 - 2147483648.00000000); - } - if (false) goto LAB_7f09278c; - uVar4 = (int)fVar3 | 0x80000000; - } - else { - if ((int)uVar4 < 0) { -LAB_7f09278c: - uVar4 = 0xffffffff; - } - } - if (false) { - fVar3 = ROUND(_DAT_80068994); - } - else { - fVar3 = FLOOR(_DAT_80068994); - } - DAT_80039988 = ((uVar4 ^ DAT_80039988 >> 0xc) << 0x14) >> 8 ^ DAT_80039988; - if (false) { - if (false) { - fVar3 = ROUND(_DAT_80068994 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(_DAT_80068994 - 2147483648.00000000); - } - if (false) goto LAB_7f092824; - uVar2 = (ushort)(int)fVar3; - } - else { - uVar2 = (ushort)(int)fVar3; - if ((int)fVar3 < 0) { -LAB_7f092824: - uVar2 = 0xffff; - } - } - DAT_80039988 = DAT_80039988 & 0xffff0000 | (uint)(uVar2 & 0xfff | DAT_80039988._2_2_ & 0xf000); - DAT_80039990 = (((int)_DAT_80068990 + 0x5aU & 0xff ^ DAT_80039990 >> 0xc) << 0x14) >> 8 ^ - DAT_80039990; - DAT_80039990 = DAT_80039990 & 0xffff0000 | - (uint)((short)(int)_DAT_80068994 + 0x96U & 0xff | DAT_80039990._2_2_ & 0xf000); - fVar3 = (float)func_7F057FC4(_DAT_80068998); - fVar3 = fVar3 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar3); - } - else { - fVar1 = FLOOR(fVar3); - } - uVar5 = (uint)fVar1; - if (false) { - if (false) { - fVar3 = ROUND(fVar3 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(fVar3 - 2147483648.00000000); - } - if (true) { - uVar5 = (int)fVar3 | 0x80000000; - goto LAB_7f092950; - } - } - else { - if (-1 < (int)uVar5) goto LAB_7f092950; - } - uVar5 = 0xffffffff; -LAB_7f092950: - DAT_80039998 = uVar5 | DAT_80039930 & 0xffffff00; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f092974(undefined4 *puParm1,longlong lParm2) - -{ - float fVar1; - float fVar2; - uint uVar3; - - if (lParm2 != 0) { - *puParm1 = 0x6000000; - puParm1[1] = 0x80039910; - return puParm1 + 2; - } - puParm1[1] = 82000; - *puParm1 = 0xf5100800; - puParm1[3] = 0x1014050; - puParm1[2] = 0xf5100800; - puParm1[4] = 0xf2000000; - puParm1[5] = 0; - puParm1[7] = 0x1000000; - puParm1[6] = 0xf205a096; - fVar2 = (float)func_7F057FC4(_DAT_80068998); - fVar2 = fVar2 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - uVar3 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar3) goto LAB_7f092ae0; - } - else { - if (false) { - fVar2 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar2 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar2 | 0x80000000; - goto LAB_7f092ae0; - } - } - uVar3 = 0xffffffff; -LAB_7f092ae0: - puParm1[8] = uVar3 & 0xff | 0xfa000000; - puParm1[9] = 0xffffffff; - puParm1[0xb] = 0; - puParm1[10] = 0xba001102; - puParm1[0xd] = 0x2000; - puParm1[0xc] = 0xba000c02; - puParm1[0xf] = 0x1f1093ff; - puParm1[0xe] = 0xfc272c04; - puParm1[0x11] = 0xc192078; - puParm1[0x10] = 0xb900031d; - puParm1[0x12] = 0xba001001; - puParm1[0x13] = 0; - puParm1[0x15] = 0x100000; - puParm1[0x14] = 0xba001402; - puParm1[0x16] = 0xb7000000; - puParm1[0x17] = 0x2000; - return puParm1 + 0x18; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f092b94(undefined4 *puParm1,longlong lParm2) - -{ - float fVar1; - float fVar2; - uint uVar3; - - if (lParm2 != 0) { - *puParm1 = 0x6000000; - puParm1[1] = 0x80039978; - return puParm1 + 2; - } - puParm1[1] = 82000; - *puParm1 = 0xf5480400; - puParm1[3] = 0x1014050; - puParm1[2] = 0xf5480400; - puParm1[4] = 0xf2000000; - puParm1[5] = 0; - puParm1[7] = 0x1000000; - puParm1[6] = 0xf205a096; - fVar2 = (float)func_7F057FC4(_DAT_80068998); - fVar2 = fVar2 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - uVar3 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar3) goto LAB_7f092d00; - } - else { - if (false) { - fVar2 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar2 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar2 | 0x80000000; - goto LAB_7f092d00; - } - } - uVar3 = 0xffffffff; -LAB_7f092d00: - puParm1[8] = uVar3 & 0xff | 0xfa000000; - puParm1[9] = 0xffffffff; - puParm1[0xb] = 0; - puParm1[10] = 0xba001102; - puParm1[0xd] = 0x2000; - puParm1[0xc] = 0xba000c02; - puParm1[0xf] = 0x1f1093ff; - puParm1[0xe] = 0xfc272c04; - puParm1[0x11] = 0xc192078; - puParm1[0x10] = 0xb900031d; - puParm1[0x12] = 0xba001001; - puParm1[0x13] = 0; - puParm1[0x15] = 0x100000; - puParm1[0x14] = 0xba001402; - puParm1[0x16] = 0xb7000000; - puParm1[0x17] = 0x2000; - return puParm1 + 0x18; -} - - - -void sub_GAME_7F09B528(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4, - undefined4 uParm5) - -{ - int iVar1; - float fVar2; - float fStack12; - float fStack8; - undefined4 uStack4; - - uStack4 = FUN_7f0784c4(); - fStack12 = (float)FUN_7f078544(); - fStack12 = fStack12 + fParm1; - fVar2 = (float)FUN_7f078554(); - iVar1 = FUN_7f0b99cc(); - fStack8 = *(float *)(iVar1 + 0x38) + fParm2 + fVar2; - FUN_7f077f6c(&fStack12,uParm5,0x42c80000); - FUN_7f058880(uStack4,uParm5); - return; -} - - - -undefined8 FUN_7f092e3c(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - float *pfVar2; - undefined8 uVar1; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - - pfVar2 = (float *)FUN_7f08a1a0(); - fVar5 = (float)sqrtf(pfParm1[2] * pfParm1[2] + *pfParm1 * *pfParm1 + DAT_8004cbe0); - fVar6 = 1.00000000; - uVar1 = 0; - fVar5 = (pfParm1[1] + pfParm1[1]) / fVar5; - if (fVar5 <= 1.00000000) { - fVar6 = fVar5; - } - *pfParm3 = 1.00000000 - fVar6; - fVar6 = DAT_8004cbe4; - if (pfParm1[1] != 0.00000000) { - fVar6 = pfParm1[1]; - } - if (0.00000000 < fVar6) { - iVar3 = FUN_7f0b99cc(); - fVar4 = (*(float *)(iVar3 + 0xc) - pfVar2[1]) / fVar6; - fVar5 = (float)sqrtf(pfParm1[2] * pfParm1[2] + *pfParm1 * *pfParm1); - if (DAT_8004cbe8 < fVar5 * fVar4) { - fVar4 = fVar4 * (DAT_8004cbe8 / (fVar5 * fVar4)); - fVar5 = *pfParm1; - } - else { - fVar5 = *pfParm1; - } - uVar1 = 1; - *pfParm2 = fVar5 * fVar4 + *pfVar2; - pfParm2[1] = pfVar2[1] + fVar4 * fVar6; - pfParm2[2] = pfParm1[2] * fVar4 + pfVar2[2]; - } - return uVar1; -} - - - -undefined8 FUN_7f092fb8(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - float *pfVar2; - undefined8 uVar1; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - - pfVar2 = (float *)FUN_7f08a1a0(); - fVar4 = (float)sqrtf(pfParm1[2] * pfParm1[2] + *pfParm1 * *pfParm1 + DAT_8004cbec); - fVar6 = 1.00000000; - uVar1 = 0; - fVar4 = (pfParm1[1] * -2.00000000) / fVar4; - if (fVar4 <= 1.00000000) { - fVar6 = fVar4; - } - *pfParm3 = 1.00000000 - fVar6; - fVar6 = DAT_8004cbf0; - if (pfParm1[1] != 0.00000000) { - fVar6 = pfParm1[1]; - } - if (fVar6 < 0.00000000) { - iVar3 = FUN_7f0b99cc(); - fVar5 = (*(float *)(iVar3 + 0x24) - pfVar2[1]) / fVar6; - fVar4 = (float)sqrtf(pfParm1[2] * pfParm1[2] + *pfParm1 * *pfParm1); - if (DAT_8004cbf4 < fVar4 * fVar5) { - fVar5 = fVar5 * (DAT_8004cbf4 / (fVar4 * fVar5)); - fVar4 = *pfParm1; - } - else { - fVar4 = *pfParm1; - } - uVar1 = 1; - *pfParm2 = fVar4 * fVar5 + *pfVar2; - pfParm2[1] = pfVar2[1] + fVar5 * fVar6; - pfParm2[2] = pfParm1[2] * fVar5 + pfVar2[2]; - } - return uVar1; -} - - - -void sub_7F093BFC(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar1 = pfParm1[1]; - fVar2 = pfParm2[1]; - fVar4 = *pfParm1; - fVar3 = *pfParm2; - pfParm3[1] = 0.00000000; - fVar1 = fVar1 / (fVar1 - fVar2); - *pfParm3 = (fVar3 - fVar4) * fVar1 + fVar4; - pfParm3[2] = (pfParm2[2] - pfParm1[2]) * fVar1 + pfParm1[2]; - return; -} - - - -float locret_7F093C80(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5) - -{ - if (fParm1 < fParm2) { - return fParm2; - } - if (fParm1 <= fParm5) { - return fParm1; - } - return fParm5; -} - - - -float sub_7F093C88(float fParm1) - -{ - return (float)(int)(fParm1 + 0.50000000); -} - - - -void FUN_7f0931f0(int iParm1,float fParm2) - -{ - float fVar1; - int iVar2; - undefined uVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar2 = FUN_7f0b99cc(); - fVar4 = (float)(uint)*(byte *)(iVar2 + 8); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - iVar2 = FUN_7f0b99cc(); - fVar6 = (float)(uint)*(byte *)(iVar2 + 9); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - iVar2 = FUN_7f0b99cc(); - fVar5 = (float)(uint)*(byte *)(iVar2 + 10); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - iVar2 = FUN_7f0b99cc(); - fParm2 = 1.00000000 - fParm2; - fVar4 = *(float *)(iVar2 + 0x14) * (1.00000000 - fVar4 / 255.00000000) * fParm2 + fVar4; - if (false) { - fVar1 = ROUND(fVar4); - } - else { - fVar1 = FLOOR(fVar4); - } - uVar3 = (undefined)(int)fVar1; - if (true) { - if ((int)fVar1 < 0) goto LAB_7f093320; - } - else { - if (false) { - fVar4 = ROUND(fVar4 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar4 - 2147483648.00000000); - } - if (false) { -LAB_7f093320: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar4; - } - } - *(undefined *)(iParm1 + 0x14) = uVar3; - iVar2 = FUN_7f0b99cc(); - fVar6 = *(float *)(iVar2 + 0x18) * (1.00000000 - fVar6 / 255.00000000) * fParm2 + fVar6; - if (false) { - fVar4 = ROUND(fVar6); - } - else { - fVar4 = FLOOR(fVar6); - } - uVar3 = (undefined)(int)fVar4; - if (true) { - if ((int)fVar4 < 0) goto LAB_7f0933e8; - } - else { - if (false) { - fVar4 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) { -LAB_7f0933e8: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar4; - } - } - *(undefined *)(iParm1 + 0x15) = uVar3; - iVar2 = FUN_7f0b99cc(); - fVar5 = *(float *)(iVar2 + 0x1c) * (1.00000000 - fVar5 / 255.00000000) * fParm2 + fVar5; - if (false) { - fVar4 = ROUND(fVar5); - } - else { - fVar4 = FLOOR(fVar5); - } - if (true) { - uVar3 = (undefined)(int)fVar4; - if (-1 < (int)fVar4) goto LAB_7f0934c8; - } - else { - if (false) { - fVar4 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar5 - 2147483648.00000000); - } - if (true) { - uVar3 = (undefined)(int)fVar4; - goto LAB_7f0934c8; - } - } - uVar3 = 0xff; -LAB_7f0934c8: - *(undefined *)(iParm1 + 0x16) = uVar3; - *(undefined *)(iParm1 + 0x17) = 0xff; - return; -} - - - -void FUN_7f0934e4(int iParm1,float fParm2) - -{ - float fVar1; - int iVar2; - undefined uVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar2 = FUN_7f0b99cc(); - fVar4 = (float)(uint)*(byte *)(iVar2 + 8); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - iVar2 = FUN_7f0b99cc(); - fVar6 = (float)(uint)*(byte *)(iVar2 + 9); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - iVar2 = FUN_7f0b99cc(); - fVar5 = (float)(uint)*(byte *)(iVar2 + 10); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - iVar2 = FUN_7f0b99cc(); - fParm2 = 1.00000000 - fParm2; - fVar4 = *(float *)(iVar2 + 0x2c) * (1.00000000 - fVar4 / 255.00000000) * fParm2 + fVar4; - if (false) { - fVar1 = ROUND(fVar4); - } - else { - fVar1 = FLOOR(fVar4); - } - uVar3 = (undefined)(int)fVar1; - if (true) { - if ((int)fVar1 < 0) goto LAB_7f093614; - } - else { - if (false) { - fVar4 = ROUND(fVar4 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar4 - 2147483648.00000000); - } - if (false) { -LAB_7f093614: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar4; - } - } - *(undefined *)(iParm1 + 0x14) = uVar3; - iVar2 = FUN_7f0b99cc(); - fVar6 = *(float *)(iVar2 + 0x30) * (1.00000000 - fVar6 / 255.00000000) * fParm2 + fVar6; - if (false) { - fVar4 = ROUND(fVar6); - } - else { - fVar4 = FLOOR(fVar6); - } - uVar3 = (undefined)(int)fVar4; - if (true) { - if ((int)fVar4 < 0) goto LAB_7f0936dc; - } - else { - if (false) { - fVar4 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) { -LAB_7f0936dc: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar4; - } - } - *(undefined *)(iParm1 + 0x15) = uVar3; - iVar2 = FUN_7f0b99cc(); - fVar5 = *(float *)(iVar2 + 0x34) * (1.00000000 - fVar5 / 255.00000000) * fParm2 + fVar5; - if (false) { - fVar4 = ROUND(fVar5); - } - else { - fVar4 = FLOOR(fVar5); - } - if (true) { - uVar3 = (undefined)(int)fVar4; - if (-1 < (int)fVar4) goto LAB_7f0937bc; - } - else { - if (false) { - fVar4 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar5 - 2147483648.00000000); - } - if (true) { - uVar3 = (undefined)(int)fVar4; - goto LAB_7f0937bc; - } - } - uVar3 = 0xff; -LAB_7f0937bc: - *(undefined *)(iParm1 + 0x16) = uVar3; - *(undefined *)(iParm1 + 0x17) = 0xff; - return; -} - - - -uint FUN_7f0937d8(float fParm1) - -{ - float fVar1; - float fVar2; - - fVar1 = DAT_8004cbf8; - if (fParm1 <= DAT_8004cbf8) { - fVar1 = fParm1; - } - fVar2 = DAT_8004cbfc; - if (DAT_8004cbfc <= fVar1) { - fVar2 = fVar1; - } - if (fVar2 < 0.00000000) { - fVar2 = fVar2 * -65536.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - if (false) { - if (false) { - fVar1 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar1 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - return -((int)fVar1 | 0x80000000U); - } - } - else { - if (-1 < (int)fVar1) { - return -(int)fVar1; - } - } - return 1; - } - fVar2 = fVar2 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - if (false) { - if (false) { - fVar1 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar1 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - return (int)fVar1 | 0x80000000; - } - } - else { - if (-1 < (int)fVar1) { - return (int)fVar1; - } - } - return 0xffffffff; -} - - - -void FUN_7f093978(void) - -{ - DAT_800399e4 = DAT_800399e4 + DAT_80041004; - if (4096.00000000 < DAT_800399e4) { - DAT_800399e4 = DAT_800399e4 - 4096.00000000; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f094f34) overlaps instruction at (ram,0x7f094f30) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * loc_7F097360(undefined4 *puParm1) - -{ - int iVar4; - int iVar5; - longlong lVar1; - uint *puVar6; - short sVar10; - short sVar11; - short sVar12; - uint uVar7; - undefined8 uVar2; - undefined8 uVar3; - int iVar8; - int iVar9; - undefined *puVar13; - uint uVar14; - undefined4 *puVar15; - float fVar16; - undefined4 uVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - uint *puStackX0; - float *pfStack1624; - int iStack1576; - undefined auStack1572 [40]; - float fStack1532; - float fStack1528; - undefined auStack1516 [40]; - float fStack1476; - float fStack1472; - undefined auStack1460 [40]; - float fStack1420; - float fStack1416; - undefined auStack1404 [40]; - float fStack1364; - float fStack1360; - undefined auStack1348 [56]; - undefined auStack1292 [64]; - undefined auStack1228 [68]; - undefined4 *puStack1160; - uint uStack1088; - undefined auStack1084 [40]; - float afStack1044 [4]; - undefined auStack1028 [44]; - float fStack984; - undefined auStack972 [44]; - float fStack928; - undefined auStack916 [44]; - float fStack872; - undefined auStack860 [56]; - undefined auStack804 [64]; - undefined auStack740 [100]; - int iStack640; - float fStack628; - float fStack624; - float fStack620; - float fStack616; - float fStack612; - float fStack604; - float fStack600; - float fStack596; - float fStack592; - float fStack588; - float fStack580; - float fStack576; - float fStack572; - float fStack568; - float fStack564; - float fStack556; - float fStack552; - float fStack548; - float fStack544; - float fStack540; - float fStack532; - float fStack528; - float fStack524; - float fStack520; - float fStack516; - float fStack508; - float fStack504; - float fStack500; - float fStack496; - float fStack492; - float fStack484; - float fStack480; - float fStack476; - float fStack472; - float fStack468; - float fStack460; - float fStack456; - float fStack452; - float fStack448; - float fStack444; - float fStack436; - float fStack432; - float fStack428; - float fStack424; - float fStack420; - float fStack412; - float fStack408; - float fStack404; - float fStack400; - float fStack396; - uint uStack388; - uint uStack384; - uint uStack380; - uint uStack376; - float fStack360; - float fStack356; - undefined4 uStack352; - undefined4 uStack348; - undefined4 uStack344; - undefined4 uStack340; - undefined4 uStack336; - undefined4 uStack332; - undefined4 uStack328; - undefined4 uStack324; - undefined4 uStack320; - undefined4 uStack316; - undefined4 uStack312; - undefined4 uStack308; - undefined4 uStack304; - undefined4 uStack300; - undefined4 uStack296; - undefined4 uStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack264; - float fStack260; - float fStack256; - float fStack252; - float fStack248; - float fStack244; - float fStack240; - float fStack236; - float fStack232; - float fStack228; - float fStack224; - float fStack220; - float fStack216; - float fStack212; - float fStack208; - float fStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - undefined auStack96 [12]; - undefined auStack84 [12]; - undefined auStack72 [12]; - undefined auStack60 [12]; - undefined auStack48 [4]; - float fStack44; - undefined auStack36 [4]; - float fStack32; - undefined auStack24 [4]; - float fStack20; - undefined auStack12 [4]; - float fStack8; - - puStackX0 = puParm1; - fVar26 = (float)FUN_7f0b3b78(); - iStack640 = 0; - fVar26 = fVar26 / 30.00000000; - iVar4 = FUN_7f0b99cc(); - iVar5 = FUN_7f0b99cc(); - if (*(char *)(iVar5 + 0xb) == '\0') { - lVar1 = FUN_7f0999a4(puStackX0); - if (lVar1 == 1) { - puVar15 = puStackX0 + 2; - puStackX0[1] = 0x300000; - *puStackX0 = 0xba001402; - puStackX0 = puVar15; - puVar6 = (uint *)FUN_70004120(puVar15,(ulonglong)*(byte *)(iVar4 + 8), - (ulonglong)*(byte *)(iVar4 + 9),(ulonglong)*(byte *)(iVar4 + 10) - ); - puStackX0 = puVar6 + 2; - sVar10 = FUN_70003eec(); - sVar11 = FUN_70003f64(); - sVar12 = FUN_70003f74(); - iVar4 = FUN_70003efc(); - *puVar6 = ((iVar4 + (int)sVar12) - 1U & 0x3ff) << 2 | 0xf6000000 | - (((int)sVar11 + (int)sVar10) - 1U & 0x3ff) << 0xe; - sVar10 = FUN_70003f64(); - uVar7 = FUN_70003f74(); - puVar6[1] = (uVar7 & 0x3ff) << 2 | ((int)sVar10 & 0x3ffU) << 0xe; - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - return puStackX0 + 2; - } - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0[3] = 0x300000; - puStackX0[2] = 0xba001402; - puStackX0[5] = 0; - puStackX0[4] = 0xb900031d; - puStackX0[6] = (((int)*(short *)(_DAT_80068bc0 + 0x7f4) + (int)*(short *)(_DAT_80068bc0 + 0x7f0) - ) - 1U & 0x3ff) << 0xe | 0xf6000000 | - (((int)*(short *)(_DAT_80068bc0 + 0x7f6) + (int)*(short *)(_DAT_80068bc0 + 0x7f2) - ) - 1U & 0x3ff) << 2; - puStackX0[7] = ((int)*(short *)(_DAT_80068bc0 + 0x7f4) & 0x3ffU) << 0xe | - ((int)*(short *)(_DAT_80068bc0 + 0x7f6) & 0x3ffU) << 2; - puStackX0[9] = 0; - puStackX0[8] = 0xe7000000; - return puStackX0 + 10; - } - puStackX0 = (uint *)FUN_70004120(puStackX0,(ulonglong)*(byte *)(iVar4 + 8), - (ulonglong)*(byte *)(iVar4 + 9),(ulonglong)*(byte *)(iVar4 + 10)) - ; - sub_GAME_7F09B528(0,0); - fVar16 = (float)FUN_7f078524(); - fVar20 = DAT_8004cc00; - sub_GAME_7F09B528(fVar16 - DAT_8004cc00,0); - fVar16 = (float)FUN_7f078534(); - sub_GAME_7F09B528(0,fVar16 - fVar20); - fVar16 = (float)FUN_7f078524(); - fVar22 = (float)FUN_7f078534(); - sub_GAME_7F09B528(fVar16 - fVar20,fVar22 - fVar20); - uStack376 = FUN_7f092e3c(auStack12,&fStack108,&uStack292); - uStack380 = FUN_7f092e3c(auStack24,&fStack120,&uStack296); - uStack384 = FUN_7f092e3c(auStack36,&fStack132,&uStack300); - uStack388 = FUN_7f092e3c(auStack48,&fStack144,&uStack304); - FUN_7f092fb8(auStack12,&fStack204,&uStack324); - FUN_7f092fb8(auStack24,&fStack216,&uStack328); - FUN_7f092fb8(auStack36,&fStack228,&uStack332); - FUN_7f092fb8(auStack48,&fStack240,&uStack336); - if (uStack376 == uStack384) { - fStack356 = 0.00000000; - } - else { - fStack356 = (float)FUN_7f078554(); - fVar16 = (float)FUN_7f078534(); - fStack356 = (fStack8 / (fStack8 - fStack32)) * fVar16 + fStack356; - sub_GAME_7F09B528(0); - sub_7F093BFC(auStack12,auStack36,auStack84); - FUN_7f092e3c(auStack84,&fStack180,&uStack316); - FUN_7f092fb8(auStack84,&fStack276,&uStack348); - } - if (uStack380 == uStack388) { - fStack360 = 0.00000000; - } - else { - fStack360 = (float)FUN_7f078554(); - fVar16 = (float)FUN_7f078534(); - fStack360 = (fStack20 / (fStack20 - fStack44)) * fVar16 + fStack360; - fVar16 = (float)FUN_7f078524(); - sub_GAME_7F09B528(fVar16 - fVar20,fStack360); - sub_7F093BFC(auStack24,auStack48,auStack96); - FUN_7f092e3c(auStack96,&fStack192,&uStack320); - FUN_7f092fb8(auStack96,&fStack288,&uStack352); - } - if (uStack376 != uStack380) { - fVar16 = (float)FUN_7f078544(); - fVar22 = (float)FUN_7f078524(); - sub_GAME_7F09B528((fStack8 / (fStack8 - fStack20)) * fVar22 + fVar16,0); - sub_7F093BFC(auStack12,auStack24,auStack60); - FUN_7f092e3c(auStack60,&fStack156,&uStack308); - FUN_7f092fb8(auStack60,&fStack252,&uStack340); - } - if (uStack384 != uStack388) { - fVar16 = (float)FUN_7f078544(); - fVar22 = (float)FUN_7f078524(); - fVar24 = (float)FUN_7f078534(); - sub_GAME_7F09B528((fStack32 / (fStack32 - fStack44)) * fVar22 + fVar16,fVar24 - fVar20); - sub_7F093BFC(auStack36,auStack48,auStack72); - FUN_7f092e3c(auStack72,&fStack168,&uStack312); - FUN_7f092fb8(auStack72,&fStack264,&uStack344); - } - uVar7 = uStack376 << 3 | uStack380 << 2 | uStack384 << 1 | uStack388; - if (false) { - return puStackX0; - } - switch(uVar7) { - case 0: - fStack628 = fStack204 * fVar26; - fStack624 = fStack200 * fVar26; - fStack620 = fStack196 * fVar26; - fStack604 = fStack216 * fVar26; - fStack600 = fStack212 * fVar26; - fStack596 = fStack208 * fVar26; - fStack580 = fStack228 * fVar26; - fStack576 = fStack224 * fVar26; - fStack572 = fStack220 * fVar26; - fStack556 = fStack240 * fVar26; - uVar14 = 4; - fStack552 = fStack236 * fVar26; - fStack588 = fStack208 + DAT_800399e4; - fStack548 = fStack232 * fVar26; - fStack612 = fStack196 + DAT_800399e4; - fStack564 = fStack220 + DAT_800399e4; - fStack540 = fStack232 + DAT_800399e4; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack228; - fStack544 = fStack240; - FUN_7f0934e4(&fStack628,uStack324); - FUN_7f0934e4(&fStack604,uStack328); - FUN_7f0934e4(&fStack580,uStack332); - FUN_7f0934e4(&fStack556,uStack336); - break; - case 1: - fStack628 = fStack228 * fVar26; - fStack624 = fStack224 * fVar26; - fStack620 = fStack220 * fVar26; - fStack604 = fStack204 * fVar26; - fStack600 = fStack200 * fVar26; - fStack596 = fStack196 * fVar26; - fStack580 = fStack216 * fVar26; - fStack576 = fStack212 * fVar26; - fStack572 = fStack208 * fVar26; - fStack556 = fStack288 * fVar26; - uVar14 = 5; - fStack552 = fStack284 * fVar26; - fStack548 = fStack280 * fVar26; - fStack532 = fStack264 * fVar26; - fStack528 = fStack260 * fVar26; - fStack612 = fStack220 + DAT_800399e4; - fStack616 = fStack228; - fStack524 = fStack256 * fVar26; - fStack564 = fStack208 + DAT_800399e4; - fStack588 = fStack196 + DAT_800399e4; - fStack540 = fStack280 + DAT_800399e4; - fStack592 = fStack204; - fStack516 = fStack256 + DAT_800399e4; - fStack568 = fStack216; - fStack544 = fStack288; - fStack520 = fStack264; - FUN_7f0934e4(&fStack628,uStack332); - FUN_7f0934e4(&fStack604,uStack324); - FUN_7f0934e4(&fStack580,uStack328); - FUN_7f0934e4(&fStack556,uStack352); - FUN_7f0934e4(&fStack532,uStack344); - break; - case 2: - fStack628 = fStack204 * fVar26; - fStack620 = fStack196 * fVar26; - fStack604 = fStack216 * fVar26; - fStack624 = fStack200 * fVar26; - fStack600 = fStack212 * fVar26; - fStack596 = fStack208 * fVar26; - fStack576 = fStack236 * fVar26; - fStack556 = fStack264 * fVar26; - uVar14 = 5; - fStack580 = fStack240 * fVar26; - fStack548 = fStack256 * fVar26; - fStack528 = fStack272 * fVar26; - fStack564 = fStack232 + DAT_800399e4; - fStack572 = fStack232 * fVar26; - fStack516 = fStack268 + DAT_800399e4; - fStack552 = fStack260 * fVar26; - fStack588 = fStack208 + DAT_800399e4; - fStack524 = fStack268 * fVar26; - fStack532 = fStack276 * fVar26; - fStack612 = fStack196 + DAT_800399e4; - fStack540 = fStack256 + DAT_800399e4; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack240; - fStack544 = fStack264; - fStack520 = fStack276; - FUN_7f0934e4(&fStack628,uStack324); - FUN_7f0934e4(&fStack604,uStack328); - FUN_7f0934e4(&fStack580,uStack336); - FUN_7f0934e4(&fStack556,uStack344); - FUN_7f0934e4(&fStack532,uStack348); - break; - case 3: - fStack628 = fStack204 * fVar26; - fStack624 = fStack200 * fVar26; - fStack620 = fStack196 * fVar26; - fStack604 = fStack216 * fVar26; - fStack600 = fStack212 * fVar26; - fStack596 = fStack208 * fVar26; - fStack580 = fStack276 * fVar26; - fStack576 = fStack272 * fVar26; - fStack572 = fStack268 * fVar26; - fStack556 = fStack288 * fVar26; - uVar14 = 4; - fStack552 = fStack284 * fVar26; - fStack588 = fStack208 + DAT_800399e4; - fStack548 = fStack280 * fVar26; - fStack612 = fStack196 + DAT_800399e4; - fStack564 = fStack268 + DAT_800399e4; - fStack540 = fStack280 + DAT_800399e4; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack276; - fStack544 = fStack288; - FUN_7f0934e4(&fStack628,uStack324); - FUN_7f0934e4(&fStack604,uStack328); - FUN_7f0934e4(&fStack580,uStack348); - FUN_7f0934e4(&fStack556,uStack352); - break; - case 4: - fStack628 = fStack240 * fVar26; - fStack624 = fStack236 * fVar26; - fStack620 = fStack232 * fVar26; - fStack604 = fStack228 * fVar26; - fStack600 = fStack224 * fVar26; - fStack596 = fStack220 * fVar26; - fStack580 = fStack204 * fVar26; - fStack576 = fStack200 * fVar26; - fStack572 = fStack196 * fVar26; - fStack556 = fStack252 * fVar26; - uVar14 = 5; - fStack552 = fStack248 * fVar26; - fStack548 = fStack244 * fVar26; - fStack532 = fStack288 * fVar26; - fStack528 = fStack284 * fVar26; - fStack612 = fStack232 + DAT_800399e4; - fStack616 = fStack240; - fStack524 = fStack280 * fVar26; - fStack564 = fStack196 + DAT_800399e4; - fStack588 = fStack220 + DAT_800399e4; - fStack540 = fStack244 + DAT_800399e4; - fStack592 = fStack228; - fStack516 = fStack280 + DAT_800399e4; - fStack568 = fStack204; - fStack544 = fStack252; - fStack520 = fStack288; - FUN_7f0934e4(&fStack628,uStack336); - FUN_7f0934e4(&fStack604,uStack332); - FUN_7f0934e4(&fStack580,uStack324); - FUN_7f0934e4(&fStack556,uStack340); - FUN_7f0934e4(&fStack532,uStack352); - break; - case 5: - fStack628 = fStack228 * fVar26; - fStack624 = fStack224 * fVar26; - fStack620 = fStack220 * fVar26; - fStack604 = fStack204 * fVar26; - fStack600 = fStack200 * fVar26; - fStack596 = fStack196 * fVar26; - fStack580 = fStack264 * fVar26; - fStack576 = fStack260 * fVar26; - fStack572 = fStack256 * fVar26; - fStack556 = fStack252 * fVar26; - uVar14 = 4; - fStack552 = fStack248 * fVar26; - fStack588 = fStack196 + DAT_800399e4; - fStack548 = fStack244 * fVar26; - fStack612 = fStack220 + DAT_800399e4; - fStack564 = fStack256 + DAT_800399e4; - fStack540 = fStack244 + DAT_800399e4; - fStack616 = fStack228; - fStack592 = fStack204; - fStack568 = fStack264; - fStack544 = fStack252; - FUN_7f0934e4(&fStack628,uStack332); - FUN_7f0934e4(&fStack604,uStack324); - FUN_7f0934e4(&fStack580,uStack344); - FUN_7f0934e4(&fStack556,uStack340); - break; - default: - return puStackX0; - case 7: - fStack628 = fStack204 * fVar26; - fStack624 = fStack200 * fVar26; - fStack620 = fStack196 * fVar26; - fStack604 = fStack252 * fVar26; - fStack600 = fStack248 * fVar26; - fStack596 = fStack244 * fVar26; - fStack580 = fStack276 * fVar26; - uVar14 = 3; - fStack576 = fStack272 * fVar26; - fStack588 = fStack244 + DAT_800399e4; - fStack572 = fStack268 * fVar26; - fStack612 = fStack196 + DAT_800399e4; - fStack564 = fStack268 + DAT_800399e4; - fStack616 = fStack204; - fStack592 = fStack252; - fStack568 = fStack276; - FUN_7f0934e4(&fStack628,uStack324); - FUN_7f0934e4(&fStack604,uStack340); - FUN_7f0934e4(&fStack580,uStack348); - break; - case 8: - fStack628 = fStack216 * fVar26; - fStack624 = fStack212 * fVar26; - fStack620 = fStack208 * fVar26; - fStack604 = fStack240 * fVar26; - fStack600 = fStack236 * fVar26; - fStack596 = fStack232 * fVar26; - fStack580 = fStack228 * fVar26; - fStack576 = fStack224 * fVar26; - fStack572 = fStack220 * fVar26; - fStack556 = fStack276 * fVar26; - uVar14 = 5; - fStack552 = fStack272 * fVar26; - fStack548 = fStack268 * fVar26; - fStack532 = fStack252 * fVar26; - fStack528 = fStack248 * fVar26; - fStack612 = fStack208 + DAT_800399e4; - fStack616 = fStack216; - fStack524 = fStack244 * fVar26; - fStack564 = fStack220 + DAT_800399e4; - fStack588 = fStack232 + DAT_800399e4; - fStack540 = fStack268 + DAT_800399e4; - fStack592 = fStack240; - fStack516 = fStack244 + DAT_800399e4; - fStack568 = fStack228; - fStack544 = fStack276; - fStack520 = fStack252; - FUN_7f0934e4(&fStack628,uStack328); - FUN_7f0934e4(&fStack604,uStack336); - FUN_7f0934e4(&fStack580,uStack332); - FUN_7f0934e4(&fStack556,uStack348); - FUN_7f0934e4(&fStack532,uStack340); - break; - case 10: - fStack628 = fStack216 * fVar26; - fStack624 = fStack212 * fVar26; - fStack620 = fStack208 * fVar26; - fStack604 = fStack240 * fVar26; - fStack600 = fStack236 * fVar26; - fStack596 = fStack232 * fVar26; - fStack580 = fStack252 * fVar26; - fStack576 = fStack248 * fVar26; - fStack572 = fStack244 * fVar26; - fStack556 = fStack264 * fVar26; - uVar14 = 4; - fStack552 = fStack260 * fVar26; - fStack588 = fStack232 + DAT_800399e4; - fStack548 = fStack256 * fVar26; - fStack612 = fStack208 + DAT_800399e4; - fStack564 = fStack244 + DAT_800399e4; - fStack540 = fStack256 + DAT_800399e4; - fStack616 = fStack216; - fStack592 = fStack240; - fStack568 = fStack252; - fStack544 = fStack264; - FUN_7f0934e4(&fStack628,uStack328); - FUN_7f0934e4(&fStack604,uStack336); - FUN_7f0934e4(&fStack580,uStack340); - FUN_7f0934e4(&fStack556,uStack344); - break; - case 0xb: - fStack628 = fStack216 * fVar26; - fStack624 = fStack212 * fVar26; - fStack620 = fStack208 * fVar26; - fStack604 = fStack288 * fVar26; - fStack600 = fStack284 * fVar26; - fStack596 = fStack280 * fVar26; - fStack580 = fStack252 * fVar26; - uVar14 = 3; - fStack576 = fStack248 * fVar26; - fStack588 = fStack280 + DAT_800399e4; - fStack572 = fStack244 * fVar26; - fStack612 = fStack208 + DAT_800399e4; - fStack564 = fStack244 + DAT_800399e4; - fStack616 = fStack216; - fStack592 = fStack288; - fStack568 = fStack252; - FUN_7f0934e4(&fStack628,uStack328); - FUN_7f0934e4(&fStack604,uStack352); - FUN_7f0934e4(&fStack580,uStack340); - break; - case 0xc: - fStack628 = fStack240 * fVar26; - fStack624 = fStack236 * fVar26; - fStack620 = fStack232 * fVar26; - fStack604 = fStack228 * fVar26; - fStack600 = fStack224 * fVar26; - fStack596 = fStack220 * fVar26; - fStack580 = fStack288 * fVar26; - fStack576 = fStack284 * fVar26; - fStack572 = fStack280 * fVar26; - fStack556 = fStack276 * fVar26; - fStack552 = fStack272 * fVar26; - fStack588 = fStack220 + DAT_800399e4; - fStack548 = fStack268 * fVar26; - fStack612 = fStack232 + DAT_800399e4; - uVar14 = 4; - fStack564 = fStack280 + DAT_800399e4; - iStack640 = 1; - fStack540 = fStack268 + DAT_800399e4; - fStack616 = fStack240; - fStack592 = fStack228; - fStack568 = fStack288; - fStack544 = fStack276; - FUN_7f0934e4(&fStack628,uStack336); - FUN_7f0934e4(&fStack604,uStack332); - FUN_7f0934e4(&fStack580,uStack352); - FUN_7f0934e4(&fStack556,uStack348); - break; - case 0xd: - fStack628 = fStack228 * fVar26; - fStack624 = fStack224 * fVar26; - fStack620 = fStack220 * fVar26; - fStack604 = fStack276 * fVar26; - fStack600 = fStack272 * fVar26; - fStack596 = fStack268 * fVar26; - fStack580 = fStack264 * fVar26; - uVar14 = 3; - fStack576 = fStack260 * fVar26; - fStack588 = fStack268 + DAT_800399e4; - fStack572 = fStack256 * fVar26; - fStack612 = fStack220 + DAT_800399e4; - fStack564 = fStack256 + DAT_800399e4; - fStack616 = fStack228; - fStack592 = fStack276; - fStack568 = fStack264; - FUN_7f0934e4(&fStack628,uStack332); - FUN_7f0934e4(&fStack604,uStack348); - FUN_7f0934e4(&fStack580,uStack344); - break; - case 0xe: - fStack628 = fStack240 * fVar26; - fStack624 = fStack236 * fVar26; - fStack620 = fStack232 * fVar26; - fStack604 = fStack264 * fVar26; - fStack600 = fStack260 * fVar26; - fStack596 = fStack256 * fVar26; - fStack580 = fStack288 * fVar26; - uVar14 = 3; - fStack576 = fStack284 * fVar26; - fStack588 = fStack256 + DAT_800399e4; - fStack572 = fStack280 * fVar26; - fStack612 = fStack232 + DAT_800399e4; - fStack564 = fStack280 + DAT_800399e4; - fStack616 = fStack240; - fStack592 = fStack264; - fStack568 = fStack288; - FUN_7f0934e4(&fStack628,uStack336); - FUN_7f0934e4(&fStack604,uStack344); - FUN_7f0934e4(&fStack580,uStack352); - break; - case 0xf: - uVar14 = 0; - } - if (uVar14 != 0) { - uVar2 = FUN_7f078464(); - uVar3 = FUN_7f078444(); - loc_7F0580E4(uVar2,uVar3,auStack740); - fVar16 = 1.00000000 / fVar26; - guScale(0xffffffff800689a8,fVar16,fVar16,fVar16); - loc_7F0580E4(auStack740,0xffffffff800689a8,auStack804); - uStack1088 = 0; - if (uVar14 != 0) { - pfStack1624 = &fStack628; - puVar13 = auStack1084; - do { - loc_7F09779C(pfStack1624,auStack804,0x82,DAT_8004cc44,DAT_8004cc44,puVar13); - fVar16 = (float)FUN_7f078544(); - FUN_7f078544(); - FUN_7f078524(); - uVar17 = locret_7F093C80(*(undefined4 *)(puVar13 + 0x28),fVar16 * 4.00000000); - *(undefined4 *)(puVar13 + 0x28) = uVar17; - fVar16 = (float)FUN_7f078554(); - FUN_7f078554(); - FUN_7f078534(); - uVar17 = locret_7F093C80(*(undefined4 *)(puVar13 + 0x2c),fVar16 * 4.00000000); - *(undefined4 *)(puVar13 + 0x2c) = uVar17; - fVar16 = (float)FUN_7f078554(); - if (fVar16 * 4.00000000 + 4.00000000 < *(float *)(puVar13 + 0x2c)) { - fVar16 = (float)FUN_7f078554(); - fVar22 = (float)FUN_7f078534(); - if (*(float *)(puVar13 + 0x2c) < (fVar22 + fVar16) * 4.00000000 - 4.00000000) { - *(float *)(puVar13 + 0x2c) = *(float *)(puVar13 + 0x2c) - 4.00000000; - } - } - puVar13 = puVar13 + 0x38; - pfStack1624 = pfStack1624 + 6; - uStack1088 += 1; - } while (uStack1088 != uVar14); - } - iVar4 = FUN_7f0b99cc(); - if (*(char *)(iVar4 + 0x20) == '\0') { - fVar25 = 0.00000000; - iVar4 = 0; - fVar22 = 0.00000000; - fVar16 = DAT_8004cc48; - fVar24 = DAT_8004cc4c; - if (uVar14 != 0) { - if ((uVar14 & 1) == 0) { - iVar5 = 0; - fVar16 = DAT_8004cc48; - fVar24 = DAT_8004cc4c; - } - else { - iVar4 = 1; - fVar16 = afStack1044[0]; - if (DAT_8004cc48 <= afStack1044[0]) { - fVar16 = DAT_8004cc48; - } - if (afStack1044[0] <= 0.00000000) { - afStack1044[0] = fVar22; - } - fVar22 = afStack1044[0]; - fVar24 = afStack1044[1]; - if (DAT_8004cc4c <= afStack1044[1]) { - fVar24 = DAT_8004cc4c; - } - fVar18 = afStack1044[1]; - if (afStack1044[1] <= 0.00000000) { - fVar18 = fVar25; - } - fVar25 = fVar18; - iVar5 = 8; - if (uVar14 == 1) goto LAB_7f095014; - } - fVar18 = afStack1044[(iVar5 - iVar4) * 2]; - puVar13 = auStack1084 + (iVar5 - iVar4) * 8; - while( true ) { - fVar21 = fVar18; - if (fVar16 <= fVar18) { - fVar21 = fVar16; - } - if (fVar22 < fVar18) { - fVar19 = *(float *)(puVar13 + 0x2c); - } - else { - fVar19 = *(float *)(puVar13 + 0x2c); - fVar18 = fVar22; - } - fVar23 = fVar19; - if (fVar24 <= fVar19) { - fVar23 = fVar24; - } - if (fVar25 < fVar19) { - fVar22 = *(float *)(puVar13 + 0x60); - } - else { - fVar22 = *(float *)(puVar13 + 0x60); - fVar19 = fVar25; - } - fVar16 = fVar22; - if (fVar21 <= fVar22) { - fVar16 = fVar21; - } - if (fVar18 < fVar22) { - fVar25 = *(float *)(puVar13 + 100); - } - else { - fVar25 = *(float *)(puVar13 + 100); - fVar22 = fVar18; - } - fVar24 = fVar25; - if (fVar23 <= fVar25) { - fVar24 = fVar23; - } - if (fVar25 <= fVar19) { - fVar25 = fVar19; - } - if (puVar13 + 0x70 == auStack1084 + uVar14 * 0x38) break; - fVar18 = *(float *)(puVar13 + 0x98); - puVar13 = puVar13 + 0x70; - } - } -LAB_7f095014: - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0[3] = 0x300000; - puStackX0[2] = 0xba001402; - puStackX0[4] = 0xb900031d; - puStackX0[5] = 0; - puStackX0[6] = 0xba001301; - puStackX0[7] = 0; - puStackX0[8] = ((int)(fVar22 * 0.25000000) & 0x3ffU) << 0xe | 0xf6000000 | - ((int)(fVar25 * 0.25000000) & 0x3ffU) << 2; - puStackX0[9] = ((int)(fVar16 * 0.25000000) & 0x3ffU) << 0xe | - ((int)(fVar24 * 0.25000000) & 0x3ffU) << 2; - puStackX0[0xb] = 0; - puStackX0[10] = 0xe7000000; - puStackX0[0xd] = 0x80000; - puStackX0[0xc] = 0xba001301; - puStackX0 = puStackX0 + 0xe; - } - else { - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0 = puStackX0 + 2; - iVar4 = FUN_7f0b99cc(); - loc_7F077B80(register0x000000ec,(int)*(short *)(iVar4 + 0x28) * 0xc + _DAT_80074504,1,0,2); - puVar15 = (undefined4 *)FUN_7f092974(puStackX0,0); - puStackX0 = puVar15 + 2; - puVar15[1] = 0xf0a4000; - *puVar15 = 0xb900031d; - if (uVar14 == 4) { - uVar2 = loc_7F098A18(puStackX0,auStack1084,auStack1028,auStack916,0x43020000,1); - if (iStack640 != 0) { - fStack984 = fStack984 + 1.00000000; - afStack1044[1] = afStack1044[1] + 1.00000000; - fStack928 = fStack928 + 1.00000000; - fStack872 = fStack872 + 1.00000000; - } - puStackX0 = (uint *)(int)uVar2; - puStackX0 = (uint *)loc_7F098A18(uVar2,auStack916,auStack972,auStack1084,0x43020000,1); - } - else { - if (uVar14 == 5) { - uVar2 = loc_7F098A18(puStackX0,auStack1084,auStack1028,auStack972,0x43020000,1); - puStackX0 = (uint *)(int)uVar2; - uVar2 = loc_7F098A18(uVar2,auStack1084,auStack972,auStack916,0x43020000,1); - puStackX0 = (uint *)(int)uVar2; - puStackX0 = (uint *)loc_7F098A18(uVar2,auStack1084,auStack916,auStack860,0x43020000,1); - } - else { - if (uVar14 == 3) { - puStackX0 = (uint *)loc_7F098A18(puStackX0,auStack1084,auStack1028,auStack972,0x43020000 - ,1); - } - } - } - } - } - if (false) { - return puStackX0; - } - switch(uVar7) { - case 0: - return puStackX0; - case 1: - fStack508 = fStack144 * fVar26; - fStack504 = fStack140 * fVar26; - fStack500 = fStack136 * fVar26; - fStack484 = fStack168 * fVar26; - fStack480 = fStack164 * fVar26; - fStack476 = fStack160 * fVar26; - fStack460 = fStack192 * fVar26; - fStack456 = fStack188 * fVar26; - iVar4 = 3; - fStack452 = fStack184 * fVar26; - fStack496 = fStack144 * fVar20; - fStack472 = fStack168 * fVar20; - fStack492 = fStack136 * fVar20 + DAT_800399e4; - fStack448 = fStack192 * fVar20; - fStack468 = fStack160 * fVar20 + DAT_800399e4; - fStack444 = fStack184 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack304); - FUN_7f0931f0(&fStack484,uStack312); - FUN_7f0931f0(&fStack460,uStack320); - break; - case 2: - fStack508 = fStack132 * fVar26; - fStack504 = fStack128 * fVar26; - fStack500 = fStack124 * fVar26; - fStack484 = fStack180 * fVar26; - fStack480 = fStack176 * fVar26; - fStack476 = fStack172 * fVar26; - fStack460 = fStack168 * fVar26; - fStack456 = fStack164 * fVar26; - iVar4 = 3; - fStack452 = fStack160 * fVar26; - fStack496 = fStack132 * fVar20; - fStack472 = fStack180 * fVar20; - fStack492 = fStack124 * fVar20 + DAT_800399e4; - fStack448 = fStack168 * fVar20; - fStack468 = fStack172 * fVar20 + DAT_800399e4; - fStack444 = fStack160 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack300); - FUN_7f0931f0(&fStack484,uStack316); - FUN_7f0931f0(&fStack460,uStack312); - break; - case 3: - fStack508 = fStack144 * fVar26; - fStack504 = fStack140 * fVar26; - fStack500 = fStack136 * fVar26; - fStack484 = fStack132 * fVar26; - fStack480 = fStack128 * fVar26; - fStack476 = fStack124 * fVar26; - fStack460 = fStack192 * fVar26; - fStack456 = fStack188 * fVar26; - fStack452 = fStack184 * fVar26; - iVar4 = 4; - fStack436 = fStack180 * fVar26; - fStack432 = fStack176 * fVar26; - fStack428 = fStack172 * fVar26; - fStack496 = fStack144 * fVar20; - fStack472 = fStack132 * fVar20; - fStack492 = fStack136 * fVar20 + DAT_800399e4; - fStack448 = fStack192 * fVar20; - fStack468 = fStack124 * fVar20 + DAT_800399e4; - fStack424 = fStack180 * fVar20; - fStack444 = fStack184 * fVar20 + DAT_800399e4; - fStack420 = fStack172 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack304); - FUN_7f0931f0(&fStack484,uStack300); - FUN_7f0931f0(&fStack460,uStack320); - FUN_7f0931f0(&fStack436,uStack316); - break; - case 4: - fStack508 = fStack120 * fVar26; - fStack504 = fStack116 * fVar26; - fStack500 = fStack112 * fVar26; - fStack484 = fStack192 * fVar26; - fStack480 = fStack188 * fVar26; - fStack476 = fStack184 * fVar26; - fStack460 = fStack156 * fVar26; - fStack456 = fStack152 * fVar26; - iVar4 = 3; - fStack452 = fStack148 * fVar26; - fStack496 = fStack120 * fVar20; - fStack472 = fStack192 * fVar20; - fStack492 = fStack112 * fVar20 + DAT_800399e4; - fStack448 = fStack156 * fVar20; - fStack468 = fStack184 * fVar20 + DAT_800399e4; - fStack444 = fStack148 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack296); - FUN_7f0931f0(&fStack484,uStack320); - FUN_7f0931f0(&fStack460,uStack308); - break; - case 5: - fStack508 = fStack120 * fVar26; - fStack504 = fStack116 * fVar26; - fStack500 = fStack112 * fVar26; - fStack484 = fStack144 * fVar26; - fStack480 = fStack140 * fVar26; - fStack476 = fStack136 * fVar26; - fStack460 = fStack156 * fVar26; - fStack456 = fStack152 * fVar26; - fStack452 = fStack148 * fVar26; - iVar4 = 4; - fStack436 = fStack168 * fVar26; - fStack432 = fStack164 * fVar26; - fStack428 = fStack160 * fVar26; - fStack496 = fStack120 * fVar20; - fStack472 = fStack144 * fVar20; - fStack492 = fStack112 * fVar20 + DAT_800399e4; - fStack448 = fStack156 * fVar20; - fStack468 = fStack136 * fVar20 + DAT_800399e4; - fStack424 = fStack168 * fVar20; - fStack444 = fStack148 * fVar20 + DAT_800399e4; - fStack420 = fStack160 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack296); - FUN_7f0931f0(&fStack484,uStack304); - FUN_7f0931f0(&fStack460,uStack308); - FUN_7f0931f0(&fStack436,uStack312); - break; - default: - goto LAB_7f096898; - case 7: - fStack508 = fStack120 * fVar26; - fStack504 = fStack116 * fVar26; - fStack500 = fStack112 * fVar26; - fStack484 = fStack144 * fVar26; - fStack480 = fStack140 * fVar26; - fStack476 = fStack136 * fVar26; - fStack460 = fStack132 * fVar26; - fStack456 = fStack128 * fVar26; - fStack452 = fStack124 * fVar26; - fStack436 = fStack180 * fVar26; - iVar4 = 5; - fStack432 = fStack176 * fVar26; - fStack428 = fStack172 * fVar26; - fStack412 = fStack156 * fVar26; - fStack408 = fStack152 * fVar26; - fStack404 = fStack148 * fVar26; - fStack496 = fStack120 * fVar20; - fStack472 = fStack144 * fVar20; - fStack492 = fStack112 * fVar20 + DAT_800399e4; - fStack448 = fStack132 * fVar20; - fStack468 = fStack136 * fVar20 + DAT_800399e4; - fStack424 = fStack180 * fVar20; - fStack444 = fStack124 * fVar20 + DAT_800399e4; - fStack400 = fStack156 * fVar20; - fStack420 = fStack172 * fVar20 + DAT_800399e4; - fStack396 = fStack148 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack296); - FUN_7f0931f0(&fStack484,uStack304); - FUN_7f0931f0(&fStack460,uStack300); - FUN_7f0931f0(&fStack436,uStack316); - FUN_7f0931f0(&fStack412,uStack308); - break; - case 8: - fStack508 = fStack108 * fVar26; - fStack504 = fStack104 * fVar26; - fStack500 = fStack100 * fVar26; - fStack484 = fStack156 * fVar26; - fStack480 = fStack152 * fVar26; - fStack476 = fStack148 * fVar26; - fStack460 = fStack180 * fVar26; - fStack456 = fStack176 * fVar26; - iVar4 = 3; - fStack452 = fStack172 * fVar26; - fStack496 = fStack108 * fVar20; - fStack472 = fStack156 * fVar20; - fStack492 = fStack100 * fVar20 + DAT_800399e4; - fStack448 = fStack180 * fVar20; - fStack468 = fStack148 * fVar20 + DAT_800399e4; - fStack444 = fStack172 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack292); - FUN_7f0931f0(&fStack484,uStack308); - FUN_7f0931f0(&fStack460,uStack316); - break; - case 10: - fStack508 = fStack132 * fVar26; - fStack504 = fStack128 * fVar26; - fStack500 = fStack124 * fVar26; - fStack484 = fStack108 * fVar26; - fStack480 = fStack104 * fVar26; - fStack476 = fStack100 * fVar26; - fStack460 = fStack168 * fVar26; - fStack456 = fStack164 * fVar26; - fStack452 = fStack160 * fVar26; - iVar4 = 4; - fStack436 = fStack156 * fVar26; - fStack432 = fStack152 * fVar26; - fStack428 = fStack148 * fVar26; - fStack496 = fStack132 * fVar20; - fStack472 = fStack108 * fVar20; - fStack492 = fStack124 * fVar20 + DAT_800399e4; - fStack448 = fStack168 * fVar20; - fStack468 = fStack100 * fVar20 + DAT_800399e4; - fStack424 = fStack156 * fVar20; - fStack444 = fStack160 * fVar20 + DAT_800399e4; - fStack420 = fStack148 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack300); - FUN_7f0931f0(&fStack484,uStack292); - FUN_7f0931f0(&fStack460,uStack312); - FUN_7f0931f0(&fStack436,uStack308); - break; - case 0xb: - fStack508 = fStack144 * fVar26; - fStack504 = fStack140 * fVar26; - fStack500 = fStack136 * fVar26; - fStack484 = fStack132 * fVar26; - fStack480 = fStack128 * fVar26; - fStack476 = fStack124 * fVar26; - iVar4 = 5; - fStack460 = fStack108 * fVar26; - fStack456 = fStack104 * fVar26; - fStack452 = fStack100 * fVar26; - fStack436 = fStack156 * fVar26; - fStack432 = fStack152 * fVar26; - fStack428 = fStack148 * fVar26; - fStack412 = fStack192 * fVar26; - fStack408 = fStack188 * fVar26; - fStack404 = fStack184 * fVar26; - fStack496 = fStack144 * fVar20; - fStack472 = fStack132 * fVar20; - fStack492 = fStack136 * fVar20 + DAT_800399e4; - fStack448 = fStack108 * fVar20; - fStack468 = fStack124 * fVar20 + DAT_800399e4; - fStack424 = fStack156 * fVar20; - fStack444 = fStack100 * fVar20 + DAT_800399e4; - fStack400 = fStack192 * fVar20; - fStack420 = fStack148 * fVar20 + DAT_800399e4; - fStack396 = fStack184 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack304); - FUN_7f0931f0(&fStack484,uStack300); - FUN_7f0931f0(&fStack460,uStack292); - FUN_7f0931f0(&fStack436,uStack308); - FUN_7f0931f0(&fStack412,uStack320); - break; - case 0xc: - fStack508 = fStack108 * fVar26; - fStack504 = fStack104 * fVar26; - fStack500 = fStack100 * fVar26; - fStack484 = fStack120 * fVar26; - fStack480 = fStack116 * fVar26; - fStack476 = fStack112 * fVar26; - fStack460 = fStack180 * fVar26; - fStack456 = fStack176 * fVar26; - fStack452 = fStack172 * fVar26; - fStack436 = fStack192 * fVar26; - iVar4 = 4; - fStack432 = fStack188 * fVar26; - fStack428 = fStack184 * fVar26; - fStack496 = fStack108 * fVar20; - fStack472 = fStack120 * fVar20; - fStack492 = fStack100 * fVar20 + DAT_800399e4; - fStack448 = fStack180 * fVar20; - fStack468 = fStack112 * fVar20 + DAT_800399e4; - fStack424 = fStack192 * fVar20; - fStack444 = fStack172 * fVar20 + DAT_800399e4; - fStack420 = fStack184 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack292); - FUN_7f0931f0(&fStack484,uStack296); - FUN_7f0931f0(&fStack460,uStack316); - FUN_7f0931f0(&fStack436,uStack320); - break; - case 0xd: - fStack508 = fStack108 * fVar26; - fStack504 = fStack104 * fVar26; - fStack500 = fStack100 * fVar26; - fStack484 = fStack120 * fVar26; - fStack480 = fStack116 * fVar26; - fStack476 = fStack112 * fVar26; - fStack460 = fStack144 * fVar26; - fStack456 = fStack140 * fVar26; - fStack452 = fStack136 * fVar26; - fStack436 = fStack168 * fVar26; - iVar4 = 5; - fStack432 = fStack164 * fVar26; - fStack428 = fStack160 * fVar26; - fStack412 = fStack180 * fVar26; - fStack408 = fStack176 * fVar26; - fStack404 = fStack172 * fVar26; - fStack496 = fStack108 * fVar20; - fStack472 = fStack120 * fVar20; - fStack492 = fStack100 * fVar20 + DAT_800399e4; - fStack448 = fStack144 * fVar20; - fStack468 = fStack112 * fVar20 + DAT_800399e4; - fStack444 = fStack136 * fVar20 + DAT_800399e4; - fStack424 = fStack168 * fVar20; - fStack400 = fStack180 * fVar20; - fStack420 = fStack160 * fVar20 + DAT_800399e4; - fStack396 = fStack172 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack292); - FUN_7f0931f0(&fStack484,uStack296); - FUN_7f0931f0(&fStack460,uStack304); - FUN_7f0931f0(&fStack436,uStack312); - FUN_7f0931f0(&fStack412,uStack316); - break; - case 0xe: - fStack508 = fStack132 * fVar26; - fStack504 = fStack128 * fVar26; - fStack500 = fStack124 * fVar26; - fStack484 = fStack108 * fVar26; - fStack480 = fStack104 * fVar26; - fStack476 = fStack100 * fVar26; - fStack460 = fStack120 * fVar26; - fStack456 = fStack116 * fVar26; - fStack452 = fStack112 * fVar26; - fStack436 = fStack192 * fVar26; - iVar4 = 5; - fStack432 = fStack188 * fVar26; - fStack428 = fStack184 * fVar26; - fStack412 = fStack168 * fVar26; - fStack408 = fStack164 * fVar26; - fStack404 = fStack160 * fVar26; - fStack496 = fStack132 * fVar20; - fStack472 = fStack108 * fVar20; - fStack492 = fStack124 * fVar20 + DAT_800399e4; - fStack448 = fStack120 * fVar20; - fStack468 = fStack100 * fVar20 + DAT_800399e4; - fStack424 = fStack192 * fVar20; - fStack444 = fStack112 * fVar20 + DAT_800399e4; - fStack400 = fStack168 * fVar20; - fStack420 = fStack184 * fVar20 + DAT_800399e4; - fStack396 = fStack160 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack300); - FUN_7f0931f0(&fStack484,uStack292); - FUN_7f0931f0(&fStack460,uStack296); - FUN_7f0931f0(&fStack436,uStack320); - FUN_7f0931f0(&fStack412,uStack312); - break; - case 0xf: - fStack508 = fStack108 * fVar26; - fStack504 = fStack104 * fVar26; - fStack500 = fStack100 * fVar26; - fStack484 = fStack120 * fVar26; - fStack480 = fStack116 * fVar26; - fStack476 = fStack112 * fVar26; - fStack460 = fStack132 * fVar26; - fStack456 = fStack128 * fVar26; - fStack452 = fStack124 * fVar26; - fStack436 = fStack144 * fVar26; - iVar4 = 4; - fStack432 = fStack140 * fVar26; - fStack428 = fStack136 * fVar26; - fStack496 = fStack108 * fVar20; - fStack472 = fStack120 * fVar20; - fStack492 = fStack100 * fVar20 + DAT_800399e4; - fStack448 = fStack132 * fVar20; - fStack468 = fStack112 * fVar20 + DAT_800399e4; - fStack424 = fStack144 * fVar20; - fStack444 = fStack124 * fVar20 + DAT_800399e4; - fStack420 = fStack136 * fVar20 + DAT_800399e4; - FUN_7f0931f0(&fStack508,uStack292); - FUN_7f0931f0(&fStack484,uStack296); - FUN_7f0931f0(&fStack460,uStack300); - FUN_7f0931f0(&fStack436,uStack304); - } - pfStack1624 = (float *)(1.00000000 / fVar26); - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0 = puStackX0 + 2; - iVar5 = FUN_7f0b99cc(); - loc_7F077B80(register0x000000ec,(int)*(short *)(iVar5 + 0x10) * 0xc + _DAT_80074504,1,0,2); - *puStackX0 = 0xfb000000; - puStack1160 = puStackX0; - puStackX0 = puStackX0 + 2; - iVar5 = FUN_7f0b99cc(); - iVar8 = FUN_7f0b99cc(); - iVar9 = FUN_7f0b99cc(); - puStack1160[1] = - (uint)*(byte *)(iVar9 + 10) << 8 | (uint)*(byte *)(iVar8 + 8) << 0x18 | - (uint)*(byte *)(iVar5 + 9) << 0x10 | 0xff; - puStackX0[1] = 0x55fef97c; - *puStackX0 = 0xfc40fe81; - puStackX0 = puStackX0 + 2; - uVar2 = FUN_7f078464(); - uVar3 = FUN_7f078444(); - loc_7F0580E4(uVar2,uVar3,auStack1228); - guScale(0xffffffff800689a8,pfStack1624,pfStack1624,pfStack1624); - loc_7F0580E4(auStack1228,0xffffffff800689a8,auStack1292); - iStack1576 = 0; - if (iVar4 != 0) { - pfStack1624 = &fStack508; - puVar13 = auStack1572; - do { - loc_7F09779C(pfStack1624,auStack1292,0x82,DAT_8004cc90,DAT_8004cc90,puVar13); - fVar26 = (float)FUN_7f078544(); - FUN_7f078544(); - FUN_7f078524(); - uVar17 = locret_7F093C80(*(undefined4 *)(puVar13 + 0x28),fVar26 * 4.00000000); - *(undefined4 *)(puVar13 + 0x28) = uVar17; - fVar26 = (float)FUN_7f078554(); - FUN_7f078554(); - FUN_7f078534(); - uVar17 = locret_7F093C80(*(undefined4 *)(puVar13 + 0x2c),fVar26 * 4.00000000); - *(undefined4 *)(puVar13 + 0x2c) = uVar17; - iStack1576 += 1; - pfStack1624 = pfStack1624 + 6; - puVar13 = puVar13 + 0x38; - } while (iStack1576 != iVar4); - } - if (iVar4 == 4) { - if (uVar7 == 0xc) { - if (fStack360 < fStack356) { - if (fStack1472 + 4.00000000 <= fStack1360) { - fStack1532 = (float)FUN_7f078544(puStackX0,auStack1572,auStack1516,auStack1460); - fStack1532 = fStack1532 * 4.00000000; - fStack1528 = (float)FUN_7f078554(); - fStack1528 = fStack1528 * 4.00000000; - fVar26 = (float)FUN_7f078544(); - fVar20 = (float)FUN_7f078524(); - fStack1476 = (fVar20 + fVar26) * 4.00000000 - 1.00000000; - fStack1472 = (float)FUN_7f078554(); - fStack1472 = fStack1472 * 4.00000000; - fStack1420 = (float)FUN_7f078544(); - fStack1420 = fStack1420 * 4.00000000; - fVar26 = (float)FUN_7f078544(); - fVar20 = (float)FUN_7f078524(); - fStack1364 = (fVar20 + fVar26) * 4.00000000 - 1.00000000; - puStackX0 = (uint *)loc_7F09A2CC(puStackX0,auStack1572,auStack1516,auStack1460,auStack1404 - ,0x43020000); - } - else { - puStackX0 = (uint *)loc_7F098A18(); - } - } - else { - if (fStack1528 + 4.00000000 <= fStack1416) { - fStack1532 = (float)FUN_7f078544(puStackX0,auStack1516,auStack1572,auStack1404); - fStack1532 = fStack1532 * 4.00000000; - fStack1528 = (float)FUN_7f078554(); - fStack1528 = fStack1528 * 4.00000000; - fVar26 = (float)FUN_7f078544(); - fVar20 = (float)FUN_7f078524(); - fStack1476 = (fVar20 + fVar26) * 4.00000000 - 1.00000000; - fStack1472 = (float)FUN_7f078554(); - fStack1472 = fStack1472 * 4.00000000; - fStack1420 = (float)FUN_7f078544(); - fStack1420 = fStack1420 * 4.00000000; - fVar26 = (float)FUN_7f078544(); - fVar20 = (float)FUN_7f078524(); - fStack1364 = (fVar20 + fVar26) * 4.00000000 - 1.00000000; - puStackX0 = (uint *)loc_7F09A2CC(puStackX0,auStack1516,auStack1572,auStack1404,auStack1460 - ,0x43020000); - } - else { - puStackX0 = (uint *)loc_7F098A18(); - } - } - } - else { - uVar2 = loc_7F098A18(puStackX0,auStack1572,auStack1516,auStack1404,0x43020000,1); - puStackX0 = (uint *)(int)uVar2; - puStackX0 = (uint *)loc_7F098A18(uVar2,auStack1404,auStack1460,auStack1572,0x43020000,1); - } - } - else { - if (iVar4 == 5) { - uVar2 = loc_7F098A18(puStackX0,auStack1572,auStack1516,auStack1460,0x43020000,1); - puStackX0 = (uint *)(int)uVar2; - uVar2 = loc_7F098A18(uVar2,auStack1572,auStack1460,auStack1404,0x43020000,1); - puStackX0 = (uint *)(int)uVar2; - puStackX0 = (uint *)loc_7F098A18(uVar2,auStack1572,auStack1404,auStack1348,0x43020000,1); - } - else { - if (iVar4 == 3) { - puStackX0 = (uint *)loc_7F098A18(puStackX0,auStack1572,auStack1516,auStack1460,0x43020000,1) - ; - } - } - } -LAB_7f096898: - return puStackX0; -} - - - -void loc_7F09779C(float *pfParm1,float *pfParm2,uint uParm3,float fParm4,float fParm5,float *pfParm6 - ) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - - fVar9 = (float)(uParm3 & 0xffff); - if (false) { - fVar9 = fVar9 + 4294967296.00000000; - } - fVar9 = fVar9 / 65536.00000000; - fVar10 = pfParm2[0xc] + *pfParm1 * *pfParm2 + pfParm1[1] * pfParm2[4] + pfParm1[2] * pfParm2[8]; - fVar11 = pfParm2[0xd] + *pfParm1 * pfParm2[1] + pfParm1[1] * pfParm2[5] + pfParm1[2] * pfParm2[9]; - fVar12 = pfParm2[0xe] + *pfParm1 * pfParm2[2] + pfParm1[1] * pfParm2[6] + pfParm1[2] * pfParm2[10] - ; - fVar13 = pfParm2[0xf] + - *pfParm1 * pfParm2[3] + pfParm1[1] * pfParm2[7] + pfParm1[2] * pfParm2[0xb]; - fVar15 = pfParm1[3]; - fVar14 = pfParm1[4]; - fVar17 = DAT_8004cc94; - if (fVar13 != 0.00000000) { - fVar17 = 1.00000000 / (fVar13 * fVar9); - } - fVar2 = DAT_8004cc98; - if (0.00000000 <= fVar17) { - fVar2 = fVar17; - } - fVar3 = (float)FUN_7f078524(); - fVar4 = (float)FUN_7f078524(); - fVar5 = (float)FUN_7f078544(); - fVar6 = (float)FUN_7f078534(); - fVar7 = (float)FUN_7f078534(); - fVar8 = (float)FUN_7f078554(); - fVar16 = fVar12 * fVar2 * fVar9 * DAT_8004cc9c + DAT_8004cc9c; - fVar3 = (float)locret_7F093C80(fVar5 * 4.00000000 + fVar4 * 2.00000000 + - fVar10 * fVar2 * fVar9 * fVar3 * 2.00000000,DAT_8004cca0); - fVar4 = (float)locret_7F093C80(fVar8 * 4.00000000 + fVar7 * 2.00000000 + - -(fVar11 * fVar2 * fVar9) * fVar6 * 2.00000000,DAT_8004cca4); - fVar5 = (float)locret_7F093C80(fVar16,0); - locret_7F093C80(fVar13 * fVar2 * fVar9 * 0.00000000,0); - *pfParm6 = fVar10; - pfParm6[1] = fVar11; - pfParm6[2] = fVar12; - pfParm6[3] = fVar13; - pfParm6[8] = fVar15 * (fParm4 / 65536.00000000); - pfParm6[9] = fVar14 * (fParm5 / 65536.00000000); - pfParm6[10] = fVar3; - iVar1 = FUN_7f0b99cc(); - pfParm6[0xb] = fVar4 - *(float *)(iVar1 + 0x38) * 4.00000000; - pfParm6[0xd] = fVar17; - pfParm6[0xc] = fVar5; - fVar9 = (float)(uint)*(byte *)(pfParm1 + 5); - if (false) { - fVar9 = fVar9 + 4294967296.00000000; - } - pfParm6[4] = fVar9; - fVar9 = (float)(uint)*(byte *)((int)pfParm1 + 0x15); - if (false) { - fVar9 = fVar9 + 4294967296.00000000; - } - pfParm6[5] = fVar9; - fVar9 = (float)(uint)*(byte *)((int)pfParm1 + 0x16); - if (false) { - fVar9 = fVar9 + 4294967296.00000000; - } - pfParm6[6] = fVar9; - fVar9 = (float)(uint)*(byte *)((int)pfParm1 + 0x17); - if (false) { - fVar9 = fVar9 + 4294967296.00000000; - } - pfParm6[7] = fVar9; - return; -} - - - -ulonglong locret_7F097810(int iParm1,int iParm2) - -{ - float fVar1; - float fVar2; - - fVar1 = *(float *)(iParm1 + 0x28) - *(float *)(iParm2 + 0x28); - fVar2 = *(float *)(iParm1 + 0x2c) - *(float *)(iParm2 + 0x2c); - fVar1 = (float)sqrtf(fVar1 * fVar1 + fVar2 * fVar2); - return (ulonglong)(fVar1 < 1.00000000); -} - - - -undefined4 * -loc_7F098A18(undefined4 *puParm1,int iParm2,int iParm3,int iParm4,float fParm5,int iParm6) - -{ - longlong lVar1; - undefined4 uVar2; - float *pfVar3; - uint uVar4; - uint uVar5; - uint uVar6; - uint uVar7; - uint uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - uint uVar16; - uint uVar17; - uint uVar18; - uint uVar19; - undefined4 *puVar20; - float *pfVar21; - float *pfVar22; - float *pfVar23; - float *pfVar24; - float *pfVar25; - float *pfVar26; - float *pfVar27; - float fVar28; - float fVar29; - float fVar30; - float afStack728 [4]; - float fStack712; - float fStack708; - float fStack704; - float afStack696 [4]; - float fStack680; - float fStack676; - float fStack672; - float fStack648; - float fStack644; - float fStack640; - float fStack632; - undefined4 uStack628; - undefined4 uStack624; - undefined4 uStack620; - float fStack616; - float fStack612; - float fStack608; - float fStack600; - undefined4 uStack596; - undefined4 uStack592; - undefined4 uStack588; - float fStack584; - float fStack580; - float fStack576; - float afStack568 [8]; - float afStack536 [8]; - float fStack504; - undefined4 uStack500; - undefined4 uStack496; - undefined4 uStack492; - float fStack488; - float fStack484; - float fStack480; - float fStack472; - undefined4 uStack468; - undefined4 uStack464; - undefined4 uStack460; - float fStack456; - float fStack452; - float fStack448; - float fStack440; - float fStack436; - float fStack432; - float fStack428; - float fStack424; - float fStack420; - float fStack416; - undefined4 uStack412; - float fStack408; - float fStack404; - float fStack400; - float fStack396; - float fStack392; - float fStack388; - float fStack384; - undefined4 uStack380; - float fStack376; - float fStack372; - float fStack368; - float fStack364; - float fStack360; - float fStack356; - float fStack352; - undefined4 uStack348; - float fStack344; - float fStack340; - float fStack336; - float fStack332; - float fStack328; - float fStack324; - float fStack320; - float fStack316; - float fStack312; - float fStack308; - float fStack304; - float fStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - undefined4 uStack264; - float fStack260; - undefined4 uStack256; - float fStack252; - undefined4 uStack248; - float fStack244; - undefined4 uStack240; - undefined4 uStack236; - undefined4 uStack232; - float fStack228; - undefined4 uStack224; - float fStack220; - undefined4 uStack216; - float fStack212; - undefined4 uStack208; - undefined4 uStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - undefined4 uStack176; - undefined4 uStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - undefined4 uStack144; - undefined4 uStack140; - float fStack128; - float fStack120; - float fStack104; - undefined4 uStack100; - float fStack96; - undefined4 uStack92; - float fStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack28; - float fStack20; - int iStack12; - int iStack8; - int iStack4; - - lVar1 = locret_7F097810(iParm2,iParm3); - puVar20 = puParm1; - if (((lVar1 == 0) && (lVar1 = locret_7F097810(iParm3,iParm4), puVar20 = puParm1, lVar1 == 0)) && - (lVar1 = locret_7F097810(iParm4,iParm2), puVar20 = puParm1, lVar1 == 0)) { - fStack272 = fParm5 / 65536.00000000; - fVar30 = *(float *)(iParm2 + 0x2c); - fStack68 = ((*(float *)(iParm4 + 0x28) - *(float *)(iParm2 + 0x28)) * - (*(float *)(iParm3 + 0x2c) - fVar30) - - (*(float *)(iParm3 + 0x28) - *(float *)(iParm2 + 0x28)) * - (*(float *)(iParm4 + 0x2c) - fVar30)) / 65536.00000000; - puVar20 = puParm1; - if (fStack68 != 0.00000000) { - fStack72 = 1.00000000 / fStack68; - iStack4 = iParm2; - if (*(float *)(iParm3 + 0x2c) < fVar30) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - iStack4 = iParm3; - iParm3 = iParm2; - } - fVar30 = *(float *)(iParm3 + 0x2c); - iStack12 = iParm4; - if (*(float *)(iParm4 + 0x2c) < fVar30) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - fVar30 = *(float *)(iParm4 + 0x2c); - iStack12 = iParm3; - iParm3 = iParm4; - } - iStack8 = iParm3; - if (fVar30 < *(float *)(iStack4 + 0x2c)) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - iStack8 = iStack4; - iStack4 = iParm3; - } - uStack100 = 0; - fStack104 = *(float *)(iStack8 + 0x28) * 0.25000000; - uStack92 = 0; - fStack96 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack84 = 0; - uStack76 = 0; - fStack88 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack80 = 0; - fStack64 = *(float *)(iStack12 + 0x28); - fStack60 = *(float *)(iStack12 + 0x2c); - fStack56 = *(float *)(iStack8 + 0x28); - fStack52 = *(float *)(iStack8 + 0x2c); - fStack48 = *(float *)(iStack4 + 0x28); - fStack44 = *(float *)(iStack4 + 0x2c); - fStack20 = fStack56 - fStack48; - fStack252 = fStack52 - fStack44; - uStack140 = 0; - fStack244 = fStack60 - fStack44; - uStack144 = 0; - fStack28 = fStack64 - fStack48; - uStack172 = 0; - uStack176 = 0; - fStack36 = fStack64 - fStack56; - uStack232 = 0; - fStack168 = fStack36 * 0.25000000; - fStack40 = fStack60 - fStack52; - uStack224 = 0; - fStack164 = fStack40 * 0.25000000; - fStack160 = fStack20 * 0.25000000; - uStack216 = 0; - uStack204 = 0; - uStack208 = 0; - fStack156 = fStack252 * 0.25000000; - uStack264 = 0; - fStack152 = fStack28 * 0.25000000; - uStack256 = 0; - uStack248 = 0; - uStack236 = 0; - fStack148 = fStack244 * 0.25000000; - fStack200 = fStack36 * 4.00000000; - uStack240 = 0; - fStack196 = fStack40 * 4.00000000; - fStack192 = fStack20 * 4.00000000; - fStack188 = fStack252 * 4.00000000; - fStack184 = fStack28 * 4.00000000; - fStack180 = fStack244 * 4.00000000; - fStack228 = 4.00000000 / fStack40; - fStack220 = 4.00000000 / fStack252; - fStack212 = 4.00000000 / fStack244; - fStack260 = fStack36 / fStack40; - fStack244 = fStack28 / fStack244; - fStack252 = fStack20 / fStack252; - fStack260 = (float)locret_7F093C80(fStack260,DAT_8004cca8); - fStack252 = (float)locret_7F093C80(fStack252,DAT_8004ccac); - fStack244 = (float)locret_7F093C80(fStack244,DAT_8004ccb0); - fStack268 = *(float *)(iStack4 + 0x2c) * 0.25000000; - fStack268 = fStack268 - (float)(int)fStack268; - fVar30 = (float)sub_7F093C88(fStack252 * 8192.00000000); - fStack128 = fStack96 - fVar30 * 0.00012207 * fStack268; - fVar30 = (float)sub_7F093C88(fStack244 * 8192.00000000); - uVar5 = 0xc8000000; - uVar4 = 0; - fStack120 = fStack88 - fVar30 * 0.00012207 * fStack268; - *puParm1 = 0xb4000000; - if (iParm6 != 0) { - uVar5 = 0xce000000; - } - if (fStack68 < 0.00000000) { - uVar4 = 0x800000; - } - puParm1[1] = uVar4 | uVar5 | (int)*(float *)(iStack12 + 0x2c); - puParm1[2] = 0xb2000000; - puParm1[3] = (int)*(float *)(iStack8 + 0x2c) << 0x10 | (int)*(float *)(iStack4 + 0x2c); - puParm1[4] = 0xb4000000; - uVar2 = FUN_7f0937d8(*(float *)(iStack8 + 0x28) * 0.25000000); - puParm1[5] = uVar2; - puParm1[6] = 0xb2000000; - uVar2 = FUN_7f0937d8(fStack260); - puParm1[7] = uVar2; - puParm1[8] = 0xb4000000; - uVar2 = FUN_7f0937d8(fStack120); - puParm1[9] = uVar2; - puParm1[10] = 0xb2000000; - uVar2 = FUN_7f0937d8(fStack244); - puParm1[0xb] = uVar2; - puParm1[0xc] = 0xb4000000; - uVar2 = FUN_7f0937d8(fStack128); - puParm1[0xd] = uVar2; - puParm1[0xe] = 0xb2000000; - uVar2 = FUN_7f0937d8(fStack252); - puParm1[0xf] = uVar2; - puVar20 = puParm1 + 0x10; - if (iParm6 != 0) { - fStack284 = *(float *)(iStack4 + 0xc) * fStack272; - fStack280 = *(float *)(iStack8 + 0xc) * fStack272; - fStack276 = *(float *)(iStack12 + 0xc) * fStack272; - fVar30 = fStack280; - if (fStack284 <= fStack280) { - fVar30 = fStack284; - } - fStack288 = fStack276; - if (fVar30 <= fStack276) { - fStack288 = fVar30; - } - fStack288 = fStack288 * 0.50000000; - fStack300 = *(float *)(iStack4 + 0x34) * fStack288; - fStack296 = *(float *)(iStack8 + 0x34) * fStack288; - fStack292 = *(float *)(iStack12 + 0x34) * fStack288; - fStack360 = fStack300 * *(float *)(iStack4 + 0x20); - fStack356 = fStack300 * *(float *)(iStack4 + 0x24); - fStack352 = fStack300 * DAT_8004ccb4; - fStack392 = fStack296 * *(float *)(iStack8 + 0x20); - fStack388 = fStack296 * *(float *)(iStack8 + 0x24); - fStack384 = fStack296 * DAT_8004ccb4; - fStack424 = fStack292 * *(float *)(iStack12 + 0x20); - fStack420 = fStack292 * *(float *)(iStack12 + 0x24); - fStack416 = fStack292 * DAT_8004ccb4; - fStack344 = fStack360; - if (fStack360 < 0.00000000) { - fStack344 = -fStack360; - } - fStack340 = fStack356; - if (fStack356 < 0.00000000) { - fStack340 = -fStack356; - } - fVar30 = fStack392; - if (fStack392 < 0.00000000) { - fVar30 = -fStack392; - } - if ((fStack344 < fVar30) && (fStack344 = fStack392, fStack392 < 0.00000000)) { - fStack344 = -fStack392; - } - fVar30 = fStack388; - if (fStack388 < 0.00000000) { - fVar30 = -fStack388; - } - if ((fStack340 < fVar30) && (fStack340 = fStack388, fStack388 < 0.00000000)) { - fStack340 = -fStack388; - } - fVar30 = fStack424; - if (fStack424 < 0.00000000) { - fVar30 = -fStack424; - } - if ((fStack344 < fVar30) && (fStack344 = fStack424, fStack424 < 0.00000000)) { - fStack344 = -fStack424; - } - fVar30 = fStack420; - if (fStack420 < 0.00000000) { - fVar30 = -fStack420; - } - if (fStack340 < fVar30) { - fStack340 = fStack420; - if (fStack420 < 0.00000000) { - fStack340 = -fStack420; - } - fStack376 = *(float *)(iStack4 + 0x10); - } - else { - fStack376 = *(float *)(iStack4 + 0x10); - } - pfVar25 = &fStack408; - fStack376 = fStack376 + 0.50000000; - pfVar3 = &fStack376; - pfVar23 = &fStack440; - fStack372 = *(float *)(iStack4 + 0x14) + 0.50000000; - fStack368 = *(float *)(iStack4 + 0x18) + 0.50000000; - fStack364 = *(float *)(iStack4 + 0x1c) + 0.50000000; - fStack408 = *(float *)(iStack8 + 0x10) + 0.50000000; - fStack404 = *(float *)(iStack8 + 0x14) + 0.50000000; - fStack400 = *(float *)(iStack8 + 0x18) + 0.50000000; - fStack396 = *(float *)(iStack8 + 0x1c) + 0.50000000; - fStack440 = *(float *)(iStack12 + 0x10) + 0.50000000; - fStack436 = *(float *)(iStack12 + 0x14) + 0.50000000; - fStack432 = *(float *)(iStack12 + 0x18) + 0.50000000; - fStack428 = *(float *)(iStack12 + 0x1c) + 0.50000000; - uStack348 = *(undefined4 *)(iStack4 + 0x30); - uStack380 = *(undefined4 *)(iStack8 + 0x30); - uStack412 = *(undefined4 *)(iStack12 + 0x30); - pfVar22 = &fStack472; - pfVar21 = &fStack504; - do { - fVar30 = *pfVar3; - fVar29 = *pfVar25; - fVar28 = *pfVar23; - pfVar23 = pfVar23 + 1; - pfVar25 = pfVar25 + 1; - pfVar3 = pfVar3 + 1; - *pfVar22 = fVar29 - fVar30; - *pfVar21 = fVar28 - fVar30; - pfVar22 = pfVar22 + 1; - pfVar21 = pfVar21 + 1; - } while (pfVar23 < &fStack408); - pfVar22 = &fStack504; - pfVar21 = &fStack376; - pfVar3 = &fStack600; - pfVar23 = &fStack632; - pfVar25 = &fStack472; - pfVar27 = afStack568; - pfVar24 = afStack536; - do { - fVar30 = *pfVar22; - fVar28 = *pfVar25; - pfVar26 = pfVar23 + 1; - fVar29 = (fVar30 * fStack188 - fStack180 * fVar28) / 65536.00000000; - *pfVar27 = fVar29; - *pfVar24 = (fVar28 * fStack184 - fStack192 * fVar30) / 65536.00000000; - fVar30 = *pfVar24; - *pfVar22 = fVar29 * fStack72; - fVar28 = *pfVar22; - fVar29 = *pfVar21; - *pfVar25 = fVar30 * fStack72; - fVar30 = fStack244 * fVar28 + fVar30 * fStack72; - *pfVar3 = fVar30; - *pfVar23 = fVar29 - fVar30 * fStack268; - pfVar22 = pfVar22 + 1; - pfVar21 = pfVar21 + 1; - pfVar3 = pfVar3 + 1; - pfVar23 = pfVar26; - pfVar25 = pfVar25 + 1; - pfVar27 = pfVar27 + 1; - pfVar24 = pfVar24 + 1; - } while (pfVar26 < &fStack600); - fStack336 = fStack360; - fStack332 = fStack356; - fStack328 = fStack352; - fStack324 = fStack392; - fStack320 = fStack388; - fStack316 = fStack384; - fStack312 = fStack424; - fStack308 = fStack420; - fStack304 = fStack416; - uVar4 = FUN_7f0937d8(fStack632); - uVar5 = FUN_7f0937d8(uStack628); - uVar6 = FUN_7f0937d8(uStack624); - uVar7 = FUN_7f0937d8(uStack620); - uVar8 = FUN_7f0937d8(fStack504); - uVar9 = FUN_7f0937d8(uStack500); - uVar10 = FUN_7f0937d8(uStack496); - uVar11 = FUN_7f0937d8(uStack492); - uVar12 = FUN_7f0937d8(fStack472); - uVar13 = FUN_7f0937d8(uStack468); - uVar14 = FUN_7f0937d8(uStack464); - uVar15 = FUN_7f0937d8(uStack460); - uVar16 = FUN_7f0937d8(fStack600); - uVar17 = FUN_7f0937d8(uStack596); - uVar18 = FUN_7f0937d8(uStack592); - uVar19 = FUN_7f0937d8(uStack588); - puParm1[0x10] = 0xb4000000; - puParm1[0x11] = uVar4 & 0xffff0000 | uVar5 >> 0x10; - puParm1[0x12] = 0xb2000000; - puParm1[0x13] = uVar6 & 0xffff0000 | uVar7 >> 0x10; - puParm1[0x14] = 0xb4000000; - puParm1[0x15] = uVar8 & 0xffff0000 | uVar9 >> 0x10; - puParm1[0x16] = 0xb2000000; - puParm1[0x17] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - puParm1[0x18] = 0xb4000000; - puParm1[0x19] = uVar4 << 0x10 | uVar5 & 0xffff; - puParm1[0x1a] = 0xb2000000; - puParm1[0x1b] = uVar6 << 0x10 | uVar7 & 0xffff; - puParm1[0x1c] = 0xb4000000; - puParm1[0x1d] = uVar8 << 0x10 | uVar9 & 0xffff; - puParm1[0x1e] = 0xb2000000; - puParm1[0x1f] = uVar10 << 0x10 | uVar11 & 0xffff; - puParm1[0x20] = 0xb4000000; - puParm1[0x21] = uVar16 & 0xffff0000 | uVar17 >> 0x10; - puParm1[0x23] = uVar18 & 0xffff0000 | uVar19 >> 0x10; - puParm1[0x22] = 0xb2000000; - puParm1[0x24] = 0xb4000000; - puParm1[0x25] = uVar12 & 0xffff0000 | uVar13 >> 0x10; - puParm1[0x26] = 0xb2000000; - puParm1[0x27] = uVar14 & 0xffff0000 | uVar15 >> 0x10; - puParm1[0x29] = uVar16 << 0x10 | uVar17 & 0xffff; - puParm1[0x28] = 0xb4000000; - puParm1[0x2a] = 0xb2000000; - puParm1[0x2b] = uVar18 << 0x10 | uVar19 & 0xffff; - puParm1[0x2c] = 0xb4000000; - puParm1[0x2d] = uVar12 << 0x10 | uVar13 & 0xffff; - puParm1[0x2e] = 0xb2000000; - puParm1[0x2f] = uVar14 << 0x10 | uVar15 & 0xffff; - fStack648 = fStack344 * 0.03125000; - fStack644 = fStack340 * 0.03125000; - pfVar23 = afStack696; - fStack640 = fStack288 * 0.03125000; - pfVar3 = &fStack472; - pfVar21 = &fStack504; - pfVar22 = afStack728; - do { - fVar30 = *pfVar21; - if (fVar30 < 0.00000000) { - fVar30 = -fVar30; - } - fVar28 = *pfVar3; - *pfVar23 = fVar30 * 0.03125000; - if (fVar28 < 0.00000000) { - fVar28 = -fVar28; - } - pfVar25 = pfVar22 + 1; - pfVar3 = pfVar3 + 1; - pfVar21 = pfVar21 + 1; - pfVar23 = pfVar23 + 1; - *pfVar22 = fVar28 * 0.03125000; - pfVar22 = pfVar25; - } while (pfVar25 != afStack696); - fVar30 = 1.00000000; - fStack712 = fStack712 + fStack648 + fStack680 * 2.00000000; - fStack708 = fStack708 + fStack644 + fStack676 * 2.00000000; - fStack704 = fStack704 + fStack640 + fStack672 * 2.00000000; - if (fStack708 <= fStack712) { - fStack708 = fStack712; - } - if (fStack704 <= fStack708) { - fStack704 = fStack708; - } - if (1.00000000 < fStack704 * 0.00097656) { - fVar30 = 1.00000000 / (fStack704 * 0.00097656); - } - uVar4 = FUN_7f0937d8(fVar30 * fStack616); - uVar5 = FUN_7f0937d8(fVar30 * fStack612); - uVar6 = FUN_7f0937d8(fVar30 * fStack608); - uVar7 = FUN_7f0937d8(fVar30 * fStack488); - uVar8 = FUN_7f0937d8(fVar30 * fStack484); - uVar9 = FUN_7f0937d8(fVar30 * fStack480); - uVar10 = FUN_7f0937d8(fVar30 * fStack456); - uVar11 = FUN_7f0937d8(fVar30 * fStack452); - uVar12 = FUN_7f0937d8(fVar30 * fStack448); - uVar13 = FUN_7f0937d8(fVar30 * fStack584); - uVar14 = FUN_7f0937d8(fVar30 * fStack580); - uVar15 = FUN_7f0937d8(fVar30 * fStack576); - puParm1[0x30] = 0xb4000000; - puParm1[0x31] = uVar4 & 0xffff0000 | uVar5 >> 0x10; - puParm1[0x33] = uVar6 & 0xffff0000; - puParm1[0x32] = 0xb2000000; - puParm1[0x34] = 0xb4000000; - puParm1[0x35] = uVar7 & 0xffff0000 | uVar8 >> 0x10; - puParm1[0x36] = 0xb2000000; - puParm1[0x37] = uVar9 & 0xffff0000; - puParm1[0x38] = 0xb4000000; - puParm1[0x39] = uVar4 << 0x10 | uVar5 & 0xffff; - puParm1[0x3b] = uVar6 << 0x10; - puParm1[0x3a] = 0xb2000000; - puParm1[0x3c] = 0xb4000000; - puParm1[0x3d] = uVar7 << 0x10 | uVar8 & 0xffff; - puParm1[0x3f] = uVar9 << 0x10; - puParm1[0x3e] = 0xb2000000; - puParm1[0x40] = 0xb4000000; - puParm1[0x41] = uVar13 & 0xffff0000 | uVar14 >> 0x10; - puParm1[0x42] = 0xb2000000; - puParm1[0x43] = uVar15 & 0xffff0000; - puParm1[0x44] = 0xb4000000; - puParm1[0x45] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - puParm1[0x47] = uVar12 & 0xffff0000; - puParm1[0x46] = 0xb2000000; - puParm1[0x48] = 0xb4000000; - puParm1[0x49] = uVar13 << 0x10 | uVar14 & 0xffff; - puParm1[0x4b] = uVar15 << 0x10; - puParm1[0x4a] = 0xb2000000; - puParm1[0x4c] = 0xb4000000; - puParm1[0x4d] = uVar10 << 0x10 | uVar11 & 0xffff; - puParm1[0x4f] = uVar12 << 0x10; - puParm1[0x4e] = 0xb3000000; - puVar20 = puParm1 + 0x50; - } - } - } - return puVar20; -} - - - -undefined4 * -loc_7F09A2CC(undefined4 *puParm1,int iParm2,int iParm3,int iParm4,int iParm5,float fParm6) - -{ - float fVar1; - longlong lVar2; - float *pfVar3; - uint uVar4; - uint uVar5; - uint uVar6; - uint uVar7; - uint uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - float *pfVar16; - float *pfVar17; - float *pfVar18; - float *pfVar19; - float *pfVar20; - float *pfVar21; - float *pfVar22; - int iVar23; - float fVar24; - undefined4 uVar25; - float fVar26; - float fVar27; - uint uVar28; - float fVar29; - float fVar30; - uint uVar31; - float fVar32; - float fVar33; - uint uVar34; - float fVar35; - float fVar36; - uint uVar37; - float fVar38; - float fVar39; - float fVar40; - float fStack788; - float fStack732; - float fStack728; - float fStack724; - float afStack716 [4]; - float fStack700; - float fStack696; - float fStack692; - float fStack668; - float fStack664; - float fStack660; - float fStack636; - float fStack632; - float fStack628; - float fStack624; - float afStack620 [4]; - float fStack604; - float fStack600; - float fStack596; - float fStack592; - float afStack572 [8]; - float afStack540 [8]; - float fStack508; - float fStack504; - float fStack500; - float fStack496; - float fStack476; - float fStack472; - float fStack468; - float fStack464; - float fStack444; - float fStack440; - float fStack436; - undefined4 uStack432; - float afStack428 [4]; - float fStack412; - float fStack408; - float fStack404; - undefined4 uStack400; - float fStack380; - float fStack376; - float fStack372; - undefined4 uStack368; - float fStack364; - float fStack360; - float fStack356; - float fStack352; - float fStack348; - float fStack344; - float fStack340; - float fStack336; - float fStack332; - float fStack328; - float fStack324; - float fStack320; - float fStack316; - float fStack312; - float fStack308; - float fStack304; - float fStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - undefined4 uStack268; - float fStack264; - undefined4 uStack260; - float fStack256; - undefined4 uStack252; - float fStack248; - undefined4 uStack244; - undefined4 uStack240; - undefined4 uStack236; - float fStack232; - undefined4 uStack228; - float fStack224; - undefined4 uStack220; - float fStack216; - undefined4 uStack212; - undefined4 uStack208; - float fStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - undefined4 uStack180; - undefined4 uStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - undefined4 uStack148; - undefined4 uStack144; - float fStack132; - float fStack124; - float fStack108; - undefined4 uStack104; - float fStack100; - undefined4 uStack96; - float fStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack32; - int iStack12; - int iStack8; - int iStack4; - - lVar2 = locret_7F097810(iParm2,iParm3); - if (lVar2 != 0) { - return puParm1; - } - lVar2 = locret_7F097810(iParm3,iParm4); - if (lVar2 != 0) { - return puParm1; - } - lVar2 = locret_7F097810(iParm4,iParm2); - if (lVar2 != 0) { - return puParm1; - } - lVar2 = locret_7F097810(iParm5,iParm2); - if (lVar2 != 0) { - return puParm1; - } - lVar2 = locret_7F097810(iParm5,iParm3); - if (lVar2 != 0) { - return puParm1; - } - lVar2 = locret_7F097810(iParm5,iParm4); - if (lVar2 != 0) { - return puParm1; - } - fStack272 = fParm6 / 65536.00000000; - fVar24 = *(float *)(iParm2 + 0x2c); - fStack72 = ((*(float *)(iParm4 + 0x28) - *(float *)(iParm2 + 0x28)) * - (*(float *)(iParm3 + 0x2c) - fVar24) - - (*(float *)(iParm3 + 0x28) - *(float *)(iParm2 + 0x28)) * - (*(float *)(iParm4 + 0x2c) - fVar24)) / 65536.00000000; - fStack76 = 1.00000000 / fStack72; - iVar23 = iParm2; - iStack4 = iParm3; - if (*(float *)(iParm3 + 0x2c) < fVar24) { - fStack72 = fStack72 * -1.00000000; - fStack76 = fStack76 * -1.00000000; - iVar23 = iParm3; - iStack4 = iParm2; - } - fVar24 = *(float *)(iStack4 + 0x2c); - iStack12 = iParm4; - if (*(float *)(iParm4 + 0x2c) < fVar24) { - fStack76 = fStack76 * -1.00000000; - fVar24 = *(float *)(iParm4 + 0x2c); - iStack12 = iStack4; - iStack4 = iParm4; - } - if (fVar24 < *(float *)(iVar23 + 0x2c)) { - fStack76 = fStack76 * -1.00000000; - fStack108 = *(float *)(iVar23 + 0x28); - iStack8 = iVar23; - } - else { - fStack108 = *(float *)(iStack4 + 0x28); - iStack8 = iStack4; - iStack4 = iVar23; - } - fStack108 = fStack108 * 0.25000000; - uStack104 = 0; - uStack96 = 0; - fStack100 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack88 = 0; - uStack80 = 0; - fStack92 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack84 = 0; - fStack68 = *(float *)(iStack12 + 0x28); - fStack64 = *(float *)(iStack12 + 0x2c); - fStack60 = *(float *)(iStack8 + 0x28); - fStack56 = *(float *)(iStack8 + 0x2c); - fStack52 = *(float *)(iStack4 + 0x28); - fStack48 = *(float *)(iStack4 + 0x2c); - fVar24 = fStack56 - fStack48; - fStack256 = fStack60 - fStack52; - fStack248 = fStack64 - fStack48; - fStack32 = fStack68 - fStack52; - uStack144 = 0; - uStack148 = 0; - fStack40 = fStack68 - fStack60; - fStack44 = fStack64 - fStack56; - fStack172 = fStack40 * 0.25000000; - fStack168 = fStack44 * 0.25000000; - uStack176 = 0; - uStack180 = 0; - uStack236 = 0; - uStack228 = 0; - fStack164 = fStack256 * 0.25000000; - uStack220 = 0; - uStack208 = 0; - fStack160 = fVar24 * 0.25000000; - uStack212 = 0; - uStack268 = 0; - uStack260 = 0; - fStack156 = fStack32 * 0.25000000; - uStack252 = 0; - fStack152 = fStack248 * 0.25000000; - uStack240 = 0; - fStack204 = fStack40 * 4.00000000; - uStack244 = 0; - fStack200 = fStack44 * 4.00000000; - fStack196 = fStack256 * 4.00000000; - fStack192 = fVar24 * 4.00000000; - fStack188 = fStack32 * 4.00000000; - fStack184 = fStack248 * 4.00000000; - fStack232 = 4.00000000 / fStack44; - fStack224 = 4.00000000 / fVar24; - fStack216 = 4.00000000 / fStack248; - fStack264 = fStack40 / fStack44; - fStack256 = fStack256 / fVar24; - fStack248 = fStack32 / fStack248; - fStack264 = (float)locret_7F093C80(fStack264,DAT_8004ccb8,iParm4,iStack8,0x44eaa000); - fStack256 = (float)locret_7F093C80(fStack256,DAT_8004ccbc); - fStack248 = (float)locret_7F093C80(fStack248,DAT_8004ccc0); - fStack132 = fStack100; - fStack124 = fStack92; - if (*(float *)(iParm2 + 0x28) < *(float *)(iParm3 + 0x28)) { - if (*(float *)(iParm4 + 0x2c) - *(float *)(iParm5 + 0x2c) < 1.00000000) { - fStack788 = DAT_8004ccc4; - } - else { - fVar24 = (float)FUN_7f078524(); - fStack788 = -(fVar24 - 0.25000000) / - ((*(float *)(iParm4 + 0x2c) - *(float *)(iParm5 + 0x2c)) * 0.25000000); - } - *puParm1 = 0xb4000000; - puParm1[1] = (int)*(float *)(iParm4 + 0x2c) | 0xce800000; - puParm1[2] = 0xb2000000; - puParm1[3] = (int)*(float *)(iParm5 + 0x2c) << 0x10 | (int)*(float *)(iParm2 + 0x2c); - puParm1[4] = 0xb4000000; - fVar24 = (float)FUN_7f078544(); - fVar26 = (float)FUN_7f078524(); - uVar25 = FUN_7f0937d8((fVar26 + fVar24) - 0.25000000); - puParm1[5] = uVar25; - puParm1[6] = 0xb2000000; - uVar25 = FUN_7f0937d8(fStack788); - puParm1[7] = uVar25; - puParm1[8] = 0xb4000000; - uVar25 = FUN_7f078544(); - uVar25 = FUN_7f0937d8(uVar25); - puParm1[9] = uVar25; - puParm1[10] = 0xb2000000; - uVar25 = FUN_7f0937d8(0); - puParm1[0xb] = uVar25; - puParm1[0xc] = 0xb4000000; - fVar24 = (float)FUN_7f078544(); - fVar26 = (float)FUN_7f078524(); - uVar25 = FUN_7f0937d8((fVar26 + fVar24) - 0.25000000); - puParm1[0xd] = uVar25; - puParm1[0xe] = 0xb2000000; - uVar25 = FUN_7f0937d8(0); - puParm1[0xf] = uVar25; - } - else { - fVar24 = DAT_8004ccc8; - if (1.00000000 <= *(float *)(iParm4 + 0x2c) - *(float *)(iParm5 + 0x2c)) { - fVar24 = (float)FUN_7f078524(); - fVar24 = (fVar24 - 0.25000000) / - ((*(float *)(iParm4 + 0x2c) - *(float *)(iParm5 + 0x2c)) * 0.25000000); - } - *puParm1 = 0xb4000000; - puParm1[1] = (int)*(float *)(iParm4 + 0x2c) | 0xce000000; - puParm1[2] = 0xb2000000; - puParm1[3] = (int)*(float *)(iParm5 + 0x2c) << 0x10 | (int)*(float *)(iParm2 + 0x2c); - puParm1[4] = 0xb4000000; - uVar25 = FUN_7f078544(); - uVar25 = FUN_7f0937d8(uVar25); - puParm1[5] = uVar25; - puParm1[6] = 0xb2000000; - uVar25 = FUN_7f0937d8(fVar24); - puParm1[7] = uVar25; - puParm1[8] = 0xb4000000; - fVar24 = (float)FUN_7f078544(); - fVar26 = (float)FUN_7f078524(); - uVar25 = FUN_7f0937d8((fVar26 + fVar24) - 0.25000000); - puParm1[9] = uVar25; - puParm1[10] = 0xb2000000; - uVar25 = FUN_7f0937d8(0); - puParm1[0xb] = uVar25; - puParm1[0xc] = 0xb4000000; - uVar25 = FUN_7f078544(); - uVar25 = FUN_7f0937d8(uVar25); - puParm1[0xd] = uVar25; - puParm1[0xe] = 0xb2000000; - uVar25 = FUN_7f0937d8(0); - puParm1[0xf] = uVar25; - } - fStack288 = *(float *)(iStack4 + 0xc) * fStack272; - fStack284 = *(float *)(iStack8 + 0xc) * fStack272; - fStack280 = *(float *)(iStack12 + 0xc) * fStack272; - fStack276 = *(float *)(iParm5 + 0xc) * fStack272; - fVar24 = fStack284; - if (fStack288 <= fStack284) { - fVar24 = fStack288; - } - fVar26 = fStack280; - if (fVar24 <= fStack280) { - fVar26 = fVar24; - } - fStack292 = fStack276; - if (fVar26 <= fStack276) { - fStack292 = fVar26; - } - fStack292 = fStack292 * 0.50000000; - fStack308 = *(float *)(iStack4 + 0x34) * fStack292; - fStack304 = *(float *)(iStack8 + 0x34) * fStack292; - fStack300 = *(float *)(iStack12 + 0x34) * fStack292; - fStack296 = *(float *)(iParm5 + 0x34) * fStack292; - fStack380 = fStack308 * *(float *)(iStack4 + 0x20); - fStack376 = fStack308 * *(float *)(iStack4 + 0x24); - fStack372 = fStack308 * DAT_8004cccc; - fStack412 = fStack304 * *(float *)(iStack8 + 0x20); - fStack408 = fStack304 * *(float *)(iStack8 + 0x24); - fStack404 = fStack304 * DAT_8004cccc; - fStack444 = fStack300 * *(float *)(iStack12 + 0x20); - fStack440 = fStack300 * *(float *)(iStack12 + 0x24); - fStack436 = fStack300 * DAT_8004cccc; - fStack320 = fStack296 * *(float *)(iParm5 + 0x20); - fStack316 = fStack296 * *(float *)(iParm5 + 0x24); - fStack312 = fStack296 * DAT_8004cccc; - fStack364 = fStack380; - if (fStack380 < 0.00000000) { - fStack364 = -fStack380; - } - fStack360 = fStack376; - if (fStack376 < 0.00000000) { - fStack360 = -fStack376; - } - fVar24 = fStack412; - if (fStack412 < 0.00000000) { - fVar24 = -fStack412; - } - if ((fStack364 < fVar24) && (fStack364 = fStack412, fStack412 < 0.00000000)) { - fStack364 = -fStack412; - } - fVar24 = fStack408; - if (fStack408 < 0.00000000) { - fVar24 = -fStack408; - } - if ((fStack360 < fVar24) && (fStack360 = fStack408, fStack408 < 0.00000000)) { - fStack360 = -fStack408; - } - fVar24 = fStack444; - if (fStack444 < 0.00000000) { - fVar24 = -fStack444; - } - if ((fStack364 < fVar24) && (fStack364 = fStack444, fStack444 < 0.00000000)) { - fStack364 = -fStack444; - } - fVar24 = fStack440; - if (fStack440 < 0.00000000) { - fVar24 = -fStack440; - } - if ((fStack360 < fVar24) && (fStack360 = fStack440, fStack440 < 0.00000000)) { - fStack360 = -fStack440; - } - fVar24 = fStack320; - if (fStack320 < 0.00000000) { - fVar24 = -fStack320; - } - if ((fStack364 < fVar24) && (fStack364 = fStack320, fStack320 < 0.00000000)) { - fStack364 = -fStack320; - } - fVar24 = fStack316; - if (fStack316 < 0.00000000) { - fVar24 = -fStack316; - } - if ((fStack360 < fVar24) && (fStack360 = fStack316, fStack316 < 0.00000000)) { - fStack360 = -fStack316; - } - uStack368 = *(undefined4 *)(iStack4 + 0x30); - pfVar20 = &fStack412; - uStack400 = *(undefined4 *)(iStack8 + 0x30); - pfVar3 = &fStack380; - uStack432 = *(undefined4 *)(iStack12 + 0x30); - pfVar18 = &fStack444; - pfVar16 = &fStack476; - pfVar17 = &fStack508; - do { - fVar24 = *pfVar3; - fVar26 = *pfVar20; - fVar35 = *pfVar18; - pfVar18 = pfVar18 + 1; - pfVar20 = pfVar20 + 1; - pfVar3 = pfVar3 + 1; - *pfVar16 = fVar26 - fVar24; - *pfVar17 = fVar35 - fVar24; - pfVar16 = pfVar16 + 1; - pfVar17 = pfVar17 + 1; - } while (pfVar18 < afStack428); - pfVar16 = &fStack380; - pfVar17 = &fStack476; - pfVar3 = &fStack604; - pfVar18 = &fStack508; - pfVar20 = afStack572; - pfVar19 = afStack540; - pfVar21 = &fStack636; - do { - fVar24 = *pfVar18; - fVar26 = *pfVar17; - pfVar22 = pfVar21 + 1; - fVar35 = (fVar24 * fStack192 - fStack184 * fVar26) / 65536.00000000; - *pfVar20 = fVar35; - *pfVar19 = (fVar26 * fStack188 - fStack196 * fVar24) / 65536.00000000; - fVar24 = *pfVar19; - fVar26 = *pfVar16; - *pfVar18 = fVar35 * fStack76; - *pfVar21 = fVar26; - *pfVar17 = fVar24 * fStack76; - *pfVar3 = fVar24 * fStack76; - pfVar16 = pfVar16 + 1; - pfVar17 = pfVar17 + 1; - pfVar3 = pfVar3 + 1; - pfVar18 = pfVar18 + 1; - pfVar20 = pfVar20 + 1; - pfVar19 = pfVar19 + 1; - pfVar21 = pfVar22; - } while (pfVar22 < afStack620); - fVar38 = *(float *)(iParm2 + 0x10); - fVar24 = *(float *)(iParm5 + 0x2c) / *(float *)(iParm4 + 0x2c); - fVar36 = *(float *)(iParm4 + 0x14); - fVar26 = *(float *)(iParm2 + 0x14); - fVar32 = *(float *)(iParm5 + 0x14); - fVar33 = *(float *)(iParm4 + 0x18); - fVar39 = *(float *)(iParm2 + 0x18); - fVar35 = *(float *)(iParm5 + 0x18); - fVar27 = *(float *)(iParm4 + 0x1c); - fVar40 = *(float *)(iParm2 + 0x1c); - fVar29 = *(float *)(iParm5 + 0x1c); - fVar30 = fVar38 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar30); - } - else { - fVar1 = FLOOR(fVar30); - } - uVar34 = (uint)fVar1; - if (true) { - if ((int)uVar34 < 0) goto LAB_7f098cf8; - } - else { - if (false) { - fVar30 = ROUND(fVar30 - 2147483648.00000000); - } - else { - fVar30 = FLOOR(fVar30 - 2147483648.00000000); - } - if (false) { -LAB_7f098cf8: - uVar34 = 0xffffffff; - } - else { - uVar34 = (int)fVar30 | 0x80000000; - } - } - fVar30 = fVar26 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar30); - } - else { - fVar1 = FLOOR(fVar30); - } - uVar31 = (uint)fVar1; - if (true) { - if ((int)uVar31 < 0) goto LAB_7f098d88; - } - else { - if (false) { - fVar30 = ROUND(fVar30 - 2147483648.00000000); - } - else { - fVar30 = FLOOR(fVar30 - 2147483648.00000000); - } - if (false) { -LAB_7f098d88: - uVar31 = 0xffffffff; - } - else { - uVar31 = (int)fVar30 | 0x80000000; - } - } - fVar30 = fVar39 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar30); - } - else { - fVar1 = FLOOR(fVar30); - } - uVar37 = (uint)fVar1; - if (true) { - if ((int)uVar37 < 0) goto LAB_7f098e18; - } - else { - if (false) { - fVar30 = ROUND(fVar30 - 2147483648.00000000); - } - else { - fVar30 = FLOOR(fVar30 - 2147483648.00000000); - } - if (false) { -LAB_7f098e18: - uVar37 = 0xffffffff; - } - else { - uVar37 = (int)fVar30 | 0x80000000; - } - } - fVar30 = fVar40 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar30); - } - else { - fVar1 = FLOOR(fVar30); - } - uVar28 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar28) goto LAB_7f098ec0; - } - else { - if (false) { - fVar30 = ROUND(fVar30 - 2147483648.00000000); - } - else { - fVar30 = FLOOR(fVar30 - 2147483648.00000000); - } - if (true) { - uVar28 = (int)fVar30 | 0x80000000; - goto LAB_7f098ec0; - } - } - uVar28 = 0xffffffff; -LAB_7f098ec0: - fStack356 = fStack380; - fStack352 = fStack376; - fStack348 = fStack372; - fStack344 = fStack412; - fStack340 = fStack408; - fStack336 = fStack404; - fStack332 = fStack444; - fStack328 = fStack440; - fStack324 = fStack436; - uVar4 = FUN_7f0937d8(((*(float *)(iParm5 + 0x10) + (fVar38 - *(float *)(iParm4 + 0x10)) * fVar24) - - fVar38) / - ((*(float *)(iParm3 + 0x28) - *(float *)(iParm2 + 0x28)) * 0.25000000)); - uVar5 = FUN_7f0937d8(((fVar32 + (fVar26 - fVar36) * fVar24) - *(float *)(iParm2 + 0x14)) / - ((*(float *)(iParm3 + 0x28) - *(float *)(iParm2 + 0x28)) * 0.25000000)); - uVar6 = FUN_7f0937d8(((fVar35 + (fVar39 - fVar33) * fVar24) - *(float *)(iParm2 + 0x18)) / - ((*(float *)(iParm3 + 0x28) - *(float *)(iParm2 + 0x28)) * 0.25000000)); - uVar7 = FUN_7f0937d8(((fVar29 + (fVar40 - fVar27) * fVar24) - *(float *)(iParm2 + 0x1c)) / - ((*(float *)(iParm3 + 0x28) - *(float *)(iParm2 + 0x28)) * 0.25000000)); - uVar8 = FUN_7f0937d8((*(float *)(iParm4 + 0x10) - *(float *)(iParm2 + 0x10)) / - ((*(float *)(iParm4 + 0x2c) - *(float *)(iParm2 + 0x2c)) * 0.25000000)); - uVar9 = FUN_7f0937d8((*(float *)(iParm4 + 0x14) - *(float *)(iParm2 + 0x14)) / - ((*(float *)(iParm4 + 0x2c) - *(float *)(iParm2 + 0x2c)) * 0.25000000)); - uVar10 = FUN_7f0937d8((*(float *)(iParm4 + 0x18) - *(float *)(iParm2 + 0x18)) / - ((*(float *)(iParm4 + 0x2c) - *(float *)(iParm2 + 0x2c)) * 0.25000000)); - uVar11 = FUN_7f0937d8((*(float *)(iParm4 + 0x1c) - *(float *)(iParm2 + 0x1c)) / - ((*(float *)(iParm4 + 0x2c) - *(float *)(iParm2 + 0x2c)) * 0.25000000)); - puParm1[0x11] = uVar34 & 0xffff0000 | uVar31 >> 0x10; - puParm1[0x10] = 0xb4000000; - puParm1[0x12] = 0xb2000000; - puParm1[0x13] = uVar37 & 0xffff0000 | uVar28 >> 0x10; - puParm1[0x14] = 0xb4000000; - puParm1[0x15] = uVar4 & 0xffff0000 | uVar5 >> 0x10; - puParm1[0x16] = 0xb2000000; - puParm1[0x17] = uVar6 & 0xffff0000 | uVar7 >> 0x10; - puParm1[0x19] = uVar34 << 0x10 | uVar31 & 0xffff; - puParm1[0x18] = 0xb4000000; - puParm1[0x1a] = 0xb2000000; - puParm1[0x1b] = uVar37 << 0x10 | uVar28 & 0xffff; - puParm1[0x1c] = 0xb4000000; - puParm1[0x1d] = uVar4 << 0x10 | uVar5 & 0xffff; - puParm1[0x1e] = 0xb2000000; - puParm1[0x1f] = uVar6 << 0x10 | uVar7 & 0xffff; - puParm1[0x21] = uVar8 & 0xffff0000 | uVar9 >> 0x10; - puParm1[0x20] = 0xb4000000; - puParm1[0x22] = 0xb2000000; - puParm1[0x23] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - puParm1[0x24] = 0xb4000000; - puParm1[0x25] = uVar8 & 0xffff0000 | uVar9 >> 0x10; - puParm1[0x26] = 0xb2000000; - puParm1[0x27] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - puParm1[0x29] = uVar8 << 0x10 | uVar9 & 0xffff; - puParm1[0x28] = 0xb4000000; - puParm1[0x2a] = 0xb2000000; - puParm1[0x2b] = uVar10 << 0x10 | uVar11 & 0xffff; - puParm1[0x2c] = 0xb4000000; - puParm1[0x2d] = uVar8 << 0x10 | uVar9 & 0xffff; - puParm1[0x2f] = uVar10 << 0x10 | uVar11 & 0xffff; - puParm1[0x2e] = 0xb2000000; - fStack668 = fStack364 * 0.03125000; - fStack664 = fStack360 * 0.03125000; - pfVar3 = &fStack508; - fStack660 = fStack292 * 0.03125000; - pfVar18 = &fStack700; - pfVar17 = &fStack476; - pfVar16 = &fStack732; - do { - fVar24 = *pfVar3; - if (fVar24 < 0.00000000) { - fVar24 = -fVar24; - } - fVar26 = *pfVar17; - *pfVar18 = fVar24 * 0.03125000; - if (fVar26 < 0.00000000) { - fVar26 = -fVar26; - } - pfVar20 = pfVar16 + 1; - pfVar17 = pfVar17 + 1; - pfVar3 = pfVar3 + 1; - pfVar18 = pfVar18 + 1; - *pfVar16 = fVar26 * 0.03125000; - pfVar16 = pfVar20; - } while (pfVar20 != afStack716); - fStack732 = fStack732 + fStack668 + fStack700 * 2.00000000; - fStack728 = fStack728 + fStack664 + fStack696 * 2.00000000; - fStack724 = fStack724 + fStack660 + fStack692 * 2.00000000; - if (fStack728 <= fStack732) { - fStack728 = fStack732; - } - if (fStack724 <= fStack728) { - fStack724 = fStack728; - } - if (1.00000000 < fStack724 * 0.00097656) { - fVar24 = 1.00000000 / (fStack724 * 0.00097656); - } - else { - fVar24 = 1.00000000; - } - uVar34 = FUN_7f0937d8(fVar24 * fStack636); - uVar31 = FUN_7f0937d8(fVar24 * fStack632); - uVar37 = FUN_7f0937d8(fVar24 * fStack628); - uVar28 = FUN_7f0937d8(fVar24 * fStack624); - uVar4 = FUN_7f0937d8(fVar24 * fStack508); - uVar5 = FUN_7f0937d8(fVar24 * fStack504); - uVar6 = FUN_7f0937d8(fVar24 * fStack500); - uVar7 = FUN_7f0937d8(fVar24 * fStack496); - uVar8 = FUN_7f0937d8(fVar24 * fStack476); - uVar9 = FUN_7f0937d8(fVar24 * fStack472); - uVar10 = FUN_7f0937d8(fVar24 * fStack468); - uVar11 = FUN_7f0937d8(fVar24 * fStack464); - uVar12 = FUN_7f0937d8(fVar24 * fStack604); - uVar13 = FUN_7f0937d8(fVar24 * fStack600); - uVar14 = FUN_7f0937d8(fVar24 * fStack596); - uVar15 = FUN_7f0937d8(fVar24 * fStack592); - puParm1[0x30] = 0xb4000000; - puParm1[0x31] = uVar34 & 0xffff0000 | uVar31 >> 0x10; - puParm1[0x32] = 0xb2000000; - puParm1[0x33] = uVar37 & 0xffff0000 | uVar28 >> 0x10; - puParm1[0x34] = 0xb4000000; - puParm1[0x35] = uVar4 & 0xffff0000 | uVar5 >> 0x10; - puParm1[0x36] = 0xb2000000; - puParm1[0x37] = uVar6 & 0xffff0000 | uVar7 >> 0x10; - puParm1[0x38] = 0xb4000000; - puParm1[0x39] = uVar34 << 0x10 | uVar31 & 0xffff; - puParm1[0x3a] = 0xb2000000; - puParm1[0x3b] = uVar37 << 0x10 | uVar28 & 0xffff; - puParm1[0x3c] = 0xb4000000; - puParm1[0x3d] = uVar4 << 0x10 | uVar5 & 0xffff; - puParm1[0x3e] = 0xb2000000; - puParm1[0x3f] = uVar6 << 0x10 | uVar7 & 0xffff; - puParm1[0x40] = 0xb4000000; - puParm1[0x41] = uVar12 & 0xffff0000 | uVar13 >> 0x10; - puParm1[0x43] = uVar14 & 0xffff0000 | uVar15 >> 0x10; - puParm1[0x42] = 0xb2000000; - puParm1[0x44] = 0xb4000000; - puParm1[0x45] = uVar8 & 0xffff0000 | uVar9 >> 0x10; - puParm1[0x46] = 0xb2000000; - puParm1[0x47] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - puParm1[0x48] = 0xb4000000; - puParm1[0x49] = uVar12 << 0x10 | uVar13 & 0xffff; - puParm1[0x4a] = 0xb2000000; - puParm1[0x4b] = uVar14 << 0x10 | uVar15 & 0xffff; - puParm1[0x4c] = 0xb4000000; - puParm1[0x4d] = uVar8 << 0x10 | uVar9 & 0xffff; - puParm1[0x4e] = 0xb3000000; - puParm1[0x4f] = uVar10 << 0x10 | uVar11 & 0xffff; - return puParm1 + 0x50; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0999a4(void) - -{ - ulonglong uVar1; - - uVar1 = (ulonglong)(_DAT_800689f0 != 0); - if (_DAT_800689f4 != 0) { - uVar1 = SEXT48((int)((uint)(_DAT_800689f0 != 0) + 1)); - } - if (_DAT_800689f8 != 0) { - uVar1 = SEXT48((int)uVar1 + 1); - } - if (_DAT_800689fc != 0) { - uVar1 = SEXT48((int)uVar1 + 1); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0999fc(int iParm1) - -{ - undefined4 uVar1; - int iVar2; - int *piVar3; - int iVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 auStack940 [234]; - undefined4 uStack4; - - puVar6 = &DAT_800399f0; - puVar5 = auStack940; - do { - puVar7 = puVar6 + 3; - *puVar5 = *puVar6; - puVar5[1] = puVar6[1]; - puVar5[2] = puVar6[2]; - puVar6 = puVar7; - puVar5 = puVar5 + 3; - } while (puVar7 != (undefined4 *)0x80039d98); - puVar6 = (undefined4 *)FUN_70008b80(0x2a70,4); - piVar3 = (int *)(&DAT_800689f0 + iParm1 * 4); - *(undefined4 **)piVar3 = puVar6; - *puVar6 = 0; - *(undefined4 *)(*piVar3 + 4) = 0; - *(undefined4 *)(*piVar3 + 8) = 0; - *(undefined4 *)(*piVar3 + 0xc) = 0; - *(undefined4 *)(*piVar3 + 0x10) = 0; - *(undefined4 *)(*piVar3 + 0x14) = 0; - *(undefined4 *)(*piVar3 + 0x18) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x1c) = 0; - *(undefined4 *)(*piVar3 + 0x20) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x24) = 0; - *(undefined4 *)(*piVar3 + 0x28) = 0; - *(undefined4 *)(*piVar3 + 0x2c) = 0; - *(undefined4 *)(*piVar3 + 0x30) = 0; - *(undefined4 *)(*piVar3 + 0x34) = 0; - *(undefined4 *)(*piVar3 + 0x38) = 0; - *(undefined4 *)(*piVar3 + 0x3c) = 0; - *(undefined4 *)(*piVar3 + 0x40) = 0; - *(undefined4 *)(*piVar3 + 0x44) = 0; - *(undefined4 *)(*piVar3 + 0x48) = 0; - *(undefined4 *)(*piVar3 + 0x4c) = 0; - *(undefined4 *)(*piVar3 + 0x50) = 0; - *(undefined4 *)(*piVar3 + 0x54) = 0; - *(undefined4 *)(*piVar3 + 0x58) = 0; - *(undefined4 *)(*piVar3 + 0x6c) = 0; - *(undefined4 *)(*piVar3 + 0x70) = 0; - *(undefined4 *)(*piVar3 + 0x74) = 0; - *(undefined4 *)(*piVar3 + 0x78) = 0; - *(undefined4 *)(*piVar3 + 0x7c) = 0; - *(undefined4 *)(*piVar3 + 0x80) = 0; - *(undefined4 *)(*piVar3 + 0x84) = 0; - *(undefined4 *)(*piVar3 + 0x88) = 0; - *(undefined4 *)(*piVar3 + 0x8c) = 0; - *(undefined4 *)(*piVar3 + 0x90) = 0; - *(undefined4 *)(*piVar3 + 0x94) = 0; - *(undefined4 *)(*piVar3 + 0x98) = 0; - *(undefined4 *)(*piVar3 + 0x126c) = 0; - *(undefined4 *)(*piVar3 + 0x1270) = 0; - *(undefined4 *)(*piVar3 + 0x1274) = 0; - *(undefined4 *)(*piVar3 + 0x9c) = 2; - *(undefined4 *)(*piVar3 + 0x29f4) = 2; - *(undefined4 *)(*piVar3 + 0xa0) = 0; - *(undefined4 *)(*piVar3 + 0xa4) = 0; - *(undefined4 *)(*piVar3 + 0xa8) = 0; - *(undefined4 *)(*piVar3 + 0xac) = 1; - *(undefined4 *)(*piVar3 + 0xd0) = 0; - *(undefined4 *)(*piVar3 + 0xd4) = 0; - *(undefined4 *)(*piVar3 + 0xd8) = 0; - *(undefined4 *)(*piVar3 + 0xdc) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xe0) = 0; - *(undefined4 *)(*piVar3 + 0xe4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xe8) = 0; - *(undefined4 *)(*piVar3 + 0xec) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xf0) = 0; - *(undefined4 *)(*piVar3 + 0xf4) = 0xbf800000; - *(undefined4 *)(*piVar3 + 0xf8) = 0xbf800000; - *(undefined4 *)(*piVar3 + 0x104) = 0; - *(undefined4 *)(*piVar3 + 0x108) = 0; - *(undefined4 *)(*piVar3 + 0x10c) = 0; - *(undefined4 *)(*piVar3 + 0x110) = 0; - *(undefined4 *)(*piVar3 + 0x114) = 1; - *(undefined4 *)(*piVar3 + 0x118) = 1; - *(undefined4 *)(*piVar3 + 0x11c) = 0; - *(undefined4 *)(*piVar3 + 0x120) = 1; - *(undefined4 *)(*piVar3 + 0x124) = 0; - *(undefined4 *)(*piVar3 + 0x128) = 1; - *(undefined4 *)(*piVar3 + 300) = 0; - *(undefined4 *)(*piVar3 + 0x130) = 0; - *(undefined4 *)(*piVar3 + 0x134) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x138) = 1; - *(undefined4 *)(*piVar3 + 0x13c) = 0; - *(undefined4 *)(*piVar3 + 0x140) = 0; - *(undefined4 *)(*piVar3 + 0x144) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x148) = 0; - *(undefined4 *)(*piVar3 + 0x14c) = 0; - *(undefined4 *)(*piVar3 + 0x150) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x154) = 0; - *(undefined4 *)(*piVar3 + 0x158) = 0xc0800000; - *(undefined4 *)(*piVar3 + 0x15c) = DAT_8004ccd0; - *(undefined4 *)(*piVar3 + 0x160) = 0; - *(undefined4 *)(*piVar3 + 0x164) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x168) = 0; - *(undefined4 *)(*piVar3 + 0x16c) = 0; - *(undefined4 *)(*piVar3 + 0x170) = 0; - *(undefined4 *)(*piVar3 + 0x174) = 0; - *(undefined4 *)(*piVar3 + 0x2a44) = 0; - *(undefined4 *)(*piVar3 + 0x178) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x180) = 0; - *(undefined4 *)(*piVar3 + 0x184) = 0; - *(undefined4 *)(*piVar3 + 0x188) = 0; - *(undefined4 *)(*piVar3 + 0x18c) = 0xbf800000; - *(undefined4 *)(*piVar3 + 400) = 0xbf800000; - *(undefined4 *)(*piVar3 + 0x194) = 0; - *(undefined4 *)(*piVar3 + 0x198) = 0; - *(undefined4 *)(*piVar3 + 0x19c) = 0; - *(undefined4 *)(*piVar3 + 0x1a0) = 0; - *(undefined4 *)(*piVar3 + 0x1c0) = 0; - *(undefined4 *)(*piVar3 + 0x1c4) = 0; - *(undefined4 *)(*piVar3 + 0x1c8) = 0; - *(undefined4 *)(*piVar3 + 0x1cc) = 1; - *(undefined4 *)(*piVar3 + 0x1d0) = 0; - *(undefined4 *)(*piVar3 + 0x1d4) = 0; - *(undefined4 *)(*piVar3 + 0x1d8) = 0; - *(undefined4 *)(*piVar3 + 0x1dc) = 0xc1c80000; - *(undefined4 *)(*piVar3 + 0x1e0) = 0; - *(undefined4 *)(*piVar3 + 0x1e4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x1e8) = 0; - *(undefined4 *)(*piVar3 + 0x1ec) = 0; - *(undefined4 *)(*piVar3 + 0x1f0) = 0; - *(undefined4 *)(*piVar3 + 500) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x200) = 0; - *(undefined4 *)(*piVar3 + 0x204) = 0; - *(undefined4 *)(*piVar3 + 0x208) = 0; - *(undefined4 *)(*piVar3 + 0x20c) = 0; - *(undefined4 *)(*piVar3 + 0x210) = 0; - *(undefined4 *)(*piVar3 + 0x214) = 0; - *(undefined4 *)(*piVar3 + 0x218) = 0; - *(undefined4 *)(*piVar3 + 0x21c) = 1; - *(undefined4 *)(*piVar3 + 0x220) = 0; - *(undefined4 *)(*piVar3 + 0x224) = 0; - *(undefined2 *)(*piVar3 + 0x3b4) = 0; - *(undefined2 *)(*piVar3 + 0x3b6) = 0; - *(undefined4 *)(*piVar3 + 0x3b8) = 0; - *(undefined4 *)(*piVar3 + 0x3bc) = 0; - *(undefined4 *)(*piVar3 + 0x3c0) = DAT_8004ccd4; - *(undefined4 *)(*piVar3 + 0x3c4) = 0; - *(undefined4 *)(*piVar3 + 0x3c8) = 0; - *(undefined4 *)(*piVar3 + 0x3cc) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x3d0) = 0xff; - *(undefined4 *)(*piVar3 + 0x3d4) = 0xff; - *(undefined4 *)(*piVar3 + 0x3d8) = 0xff; - *(undefined4 *)(*piVar3 + 0x3dc) = 0; - *(undefined4 *)(*piVar3 + 0x3e0) = 0xbf800000; - *(undefined4 *)(*piVar3 + 0x3e4) = 0xbf800000; - *(undefined4 *)(*piVar3 + 1000) = 0xff; - *(undefined4 *)(*piVar3 + 0x3ec) = 0xff; - *(undefined4 *)(*piVar3 + 0x3f0) = 0xff; - *(undefined4 *)(*piVar3 + 0x3f4) = 0xff; - *(undefined4 *)(*piVar3 + 0x3f8) = 0xff; - *(undefined4 *)(*piVar3 + 0x3fc) = 0xff; - iVar2 = 0; - *(undefined4 *)(*piVar3 + 0x400) = 0; - *(undefined4 *)(*piVar3 + 0x404) = 0; - *(undefined4 *)(*piVar3 + 0x41c) = 0; - *(undefined4 *)(*piVar3 + 0x420) = 1; - *(undefined4 *)(*piVar3 + 0x424) = 0; - *(undefined4 *)(*piVar3 + 0x428) = 0; - *(undefined4 *)(*piVar3 + 0x42c) = 2; - *(undefined4 *)(*piVar3 + 0x430) = 0; - *(undefined4 *)(*piVar3 + 0x4dc) = 1; - *(undefined4 *)(*piVar3 + 0x4e0) = 1; - *(undefined4 *)(*piVar3 + 0x4e4) = 1; - *(undefined4 *)(*piVar3 + 0x4e8) = 0; - *(undefined4 *)(*piVar3 + 0x4ec) = DAT_8004ccd8; - *(undefined4 *)(*piVar3 + 0x4f0) = 0; - *(undefined4 *)(*piVar3 + 0x4f4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x4f8) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x4fc) = 0; - *(undefined4 *)(*piVar3 + 0x500) = 0; - *(undefined4 *)(*piVar3 + 0x504) = 0; - uVar1 = DAT_8004ccdc; - *(undefined4 *)(*piVar3 + 0x508) = 0; - *(undefined4 *)(*piVar3 + 0x50c) = 0; - *(undefined4 *)(*piVar3 + 0x510) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x514) = 0; - *(undefined4 *)(*piVar3 + 0x518) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x51c) = 0; - *(undefined4 *)(*piVar3 + 0x520) = 0; - *(undefined4 *)(*piVar3 + 0x524) = 0; - *(undefined4 *)(*piVar3 + 0x528) = 0; - *(undefined4 *)(*piVar3 + 0x52c) = 0; - *(undefined4 *)(*piVar3 + 0x530) = 0; - *(undefined4 *)(*piVar3 + 0x534) = uVar1; - *(undefined4 *)(*piVar3 + 0x538) = 0; - *(undefined4 *)(*piVar3 + 0x53c) = uVar1; - *(undefined4 *)(*piVar3 + 0x540) = 0; - *(undefined4 *)(*piVar3 + 0x544) = 0; - *(undefined4 *)(*piVar3 + 0x548) = 0; - *(undefined4 *)(*piVar3 + 0x54c) = 0; - *(undefined4 *)(*piVar3 + 0x550) = 0; - *(undefined4 *)(*piVar3 + 0x554) = 0; - *(undefined4 *)(*piVar3 + 0x558) = 0; - *(undefined4 *)(*piVar3 + 0x55c) = 0; - *(undefined4 *)(*piVar3 + 0x560) = 0; - *(undefined4 *)(*piVar3 + 0x564) = 0; - *(undefined4 *)(*piVar3 + 0x568) = 0; - *(undefined4 *)(*piVar3 + 0x56c) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x570) = 0; - *(undefined4 *)(*piVar3 + 0x574) = 0; - *(undefined4 *)(*piVar3 + 0x578) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x57c) = 0; - *(undefined4 *)(*piVar3 + 0x580) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x584) = 0; - *(undefined4 *)(*piVar3 + 0x588) = 0; - *(undefined4 *)(*piVar3 + 0x58c) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x590) = 0; - *(undefined4 *)(*piVar3 + 0x594) = 0; - do { - *(undefined2 *)(*piVar3 + iVar2 + 2000) = 0x280; - *(undefined2 *)(*piVar3 + iVar2 + 0x7d2) = 0x220; - *(undefined2 *)(*piVar3 + iVar2 + 0x7d4) = 0x1ff; - *(undefined2 *)(*piVar3 + iVar2 + 0x7d6) = 0; - *(undefined2 *)(*piVar3 + iVar2 + 0x7d8) = 0x280; - *(undefined2 *)(*piVar3 + iVar2 + 0x7da) = 0x220; - *(undefined2 *)(*piVar3 + iVar2 + 0x7dc) = 0x1ff; - iVar4 = *piVar3 + iVar2; - iVar2 += 0x10; - *(undefined2 *)(iVar4 + 0x7de) = 0; - } while (iVar2 != 0x20); - *(undefined2 *)(*piVar3 + 0x7f0) = 100; - *(undefined2 *)(*piVar3 + 0x7f2) = 100; - *(undefined2 *)(*piVar3 + 0x7f4) = 0; - *(undefined2 *)(*piVar3 + 0x7f6) = 0; - *(undefined4 *)(*piVar3 + 0x7f8) = 0; - *(undefined4 *)(*piVar3 + 0x7fc) = 0; - *(undefined4 *)(*piVar3 + 0x800) = 0; - *(undefined4 *)(*piVar3 + 0x804) = 0; - *(undefined4 *)(*piVar3 + 0x2a3c) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x2a40) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x2a48) = 0; - *(undefined4 *)(*piVar3 + 0x2a4c) = 0; - *(undefined4 *)(*piVar3 + 0x808) = 0; - *(undefined4 *)(*piVar3 + 0x80c) = 0; - iVar2 = *piVar3; - puVar6 = auStack940; - do { - puVar5 = puVar6 + 3; - *(undefined4 *)(iVar2 + 0x868) = *puVar6; - *(undefined4 *)(iVar2 + 0x86c) = puVar6[1]; - *(undefined4 *)(iVar2 + 0x870) = puVar6[2]; - iVar2 = iVar2 + 0xc; - puVar6 = puVar5; - } while (puVar5 != &uStack4); - puVar6 = auStack940; - iVar2 = *piVar3; - do { - puVar5 = puVar6 + 3; - *(undefined4 *)(iVar2 + 0xc10) = *puVar6; - *(undefined4 *)(iVar2 + 0xc14) = puVar6[1]; - *(undefined4 *)(iVar2 + 0xc18) = puVar6[2]; - puVar6 = puVar5; - iVar2 = iVar2 + 0xc; - } while (puVar5 != &uStack4); - *(undefined4 *)(*piVar3 + 0xfb8) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xfbc) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xfc0) = 0; - *(undefined4 *)(*piVar3 + 0xfc4) = 0; - uVar1 = DAT_8004cce0; - *(undefined4 *)(*piVar3 + 0xfc8) = 0; - *(undefined4 *)(*piVar3 + 0xfcc) = 0; - *(undefined4 *)(*piVar3 + 0xfd0) = 0; - *(undefined *)(*piVar3 + 0xfd4) = 0xff; - *(undefined *)(*piVar3 + 0xfd5) = 0xff; - *(undefined *)(*piVar3 + 0xfd6) = 0xff; - *(undefined *)(*piVar3 + 0xfd7) = 0; - *(undefined4 *)(*piVar3 + 0xfd8) = 1; - *(undefined4 *)(*piVar3 + 0xfdc) = 0; - *(undefined4 *)(*piVar3 + 0xfe0) = 0; - *(undefined4 *)(*piVar3 + 0xfe4) = 0; - *(undefined4 *)(*piVar3 + 0xfe8) = 0; - *(undefined4 *)(*piVar3 + 0xfec) = 0; - *(undefined4 *)(*piVar3 + 0xff0) = uVar1; - *(undefined4 *)(*piVar3 + 0xff4) = 0; - *(undefined4 *)(*piVar3 + 0xff8) = 0; - *(undefined4 *)(*piVar3 + 0xffc) = 0; - *(undefined4 *)(*piVar3 + 0x1000) = 0; - *(undefined4 *)(*piVar3 + 0x1004) = uVar1; - *(undefined4 *)(*piVar3 + 0x1008) = 0; - *(undefined4 *)(*piVar3 + 0x100c) = DAT_8004cce4; - *(undefined4 *)(*piVar3 + 0x1010) = 0; - *(undefined4 *)(*piVar3 + 0x1054) = 0; - *(undefined4 *)(*piVar3 + 0x1058) = 0; - *(undefined4 *)(*piVar3 + 0x105c) = 0; - *(undefined4 *)(*piVar3 + 0x1064) = 0; - *(undefined4 *)(*piVar3 + 0x1068) = 0; - *(undefined4 *)(*piVar3 + 0x106c) = 0; - *(undefined4 *)(*piVar3 + 0x1070) = 0; - *(undefined4 *)(*piVar3 + 0x1074) = 0; - *(undefined4 *)(*piVar3 + 0x1078) = 0; - *(undefined4 *)(*piVar3 + 0x107c) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x1080) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x1084) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x1088) = 0x43a00000; - *(undefined4 *)(*piVar3 + 0x108c) = 0x43880000; - *(undefined4 *)(*piVar3 + 0x1090) = 0; - *(undefined4 *)(*piVar3 + 0x1094) = 0; - *(undefined4 *)(*piVar3 + 0x1098) = 0x41200000; - *(undefined4 *)(*piVar3 + 0x109c) = 0x42380000; - *(undefined4 *)(*piVar3 + 0x10a0) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10a4) = 0x43200000; - *(undefined4 *)(*piVar3 + 0x10a8) = 0x43080000; - *(undefined4 *)(*piVar3 + 0x10ac) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10b0) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10b4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10b8) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10bc) = 0; - *(undefined4 *)(*piVar3 + 0x10c0) = 0; - *(undefined4 *)(*piVar3 + 0x10c4) = 0; - *(undefined4 *)(*piVar3 + 0x10c8) = 0; - *(undefined4 *)(*piVar3 + 0x10cc) = 0; - *(undefined4 *)(*piVar3 + 0x10d0) = 0; - *(undefined4 *)(*piVar3 + 0x10d4) = 0; - *(undefined4 *)(*piVar3 + 0x10d8) = 0; - *(undefined4 *)(*piVar3 + 0x10dc) = 0; - *(undefined4 *)(*piVar3 + 0x10e0) = 0; - *(undefined4 *)(*piVar3 + 0x10e4) = 0; - *(undefined4 *)(*piVar3 + 0x10e8) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10ec) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10f0) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10f4) = 0x10000; - *(undefined4 *)(*piVar3 + 0x1110) = 0; - *(undefined4 *)(*piVar3 + 0x1114) = 0; - *(undefined4 *)(*piVar3 + 0x1118) = 0x43a00000; - *(undefined4 *)(*piVar3 + 0x111c) = 0x43880000; - *(undefined4 *)(*piVar3 + 0x1120) = 0; - *(undefined4 *)(*piVar3 + 0x11a8) = 0; - *(undefined4 *)(*piVar3 + 0x11ac) = 0; - *(undefined4 *)(*piVar3 + 0x11b0) = 0; - *(undefined4 *)(*piVar3 + 0x11b4) = 0; - *(undefined4 *)(*piVar3 + 0x11b8) = 0; - *(undefined4 *)(*piVar3 + 0x11bc) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x11c0) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x11c4) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x11c8) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x11cc) = DAT_8004cce8; - *(undefined4 *)(*piVar3 + 0x11d0) = 0; - *(undefined4 *)(*piVar3 + 0x11d4) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x11d8) = 0; - *(undefined4 *)(*piVar3 + 0x11dc) = 0; - *(undefined4 *)(*piVar3 + 0x11e0) = 0; - *(undefined4 *)(*piVar3 + 0x11e4) = 0; - *(undefined4 *)(*piVar3 + 0x11e8) = 0; - *(undefined4 *)(*piVar3 + 0x11ec) = 0; - *(undefined4 *)(*piVar3 + 0x1278) = 0; - *(undefined4 *)(*piVar3 + 0x127c) = 0; - *(undefined4 *)(*piVar3 + 0x1280) = 0; - *(undefined *)(*piVar3 + 0x12ae) = 0; - *(undefined4 *)(*piVar3 + 0x29b0) = 7; - *(undefined4 *)(*piVar3 + 0x29b4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x29b8) = 0; - *(undefined4 *)(*piVar3 + 0x29bc) = 0; - *(undefined4 *)(*piVar3 + 0x29cc) = 7; - *(undefined4 *)(*piVar3 + 0x29d0) = 0; - *(int *)(*piVar3 + 0x29d8) = _DAT_80068bcc; - _DAT_80068bcc += 1; - *(undefined4 *)(*piVar3 + 0x29dc) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x29e0) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x29e4) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x29e8) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x29f8) = 0; - *(undefined4 *)(*piVar3 + 0x2a28) = 0; - *(undefined4 *)(*piVar3 + 0x2a2c) = 0; - *(undefined4 *)(*piVar3 + 0x2a30) = 1; - *(undefined4 *)(*piVar3 + 0x2a34) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x2a38) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x2a50) = 0; - *(undefined4 *)(*piVar3 + 0x2a54) = 0; - *(undefined4 *)(*piVar3 + 0x2a58) = 0; - *(undefined4 *)(*piVar3 + 0x2a5c) = 0; - *(undefined4 *)(*piVar3 + 0x2a60) = 1; - *(undefined4 *)(*piVar3 + 0x2a64) = 0; - *(undefined4 *)(*piVar3 + 0x2a68) = 0; - DAT_80031a14 = 1; - DAT_80031a18 = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09a64c(int iParm1) - -{ - _DAT_80068bc0 = *(undefined4 *)(&DAT_800689f0 + iParm1 * 4); - _DAT_80068bc4 = &DAT_80068a00 + iParm1 * 0x70; - _DAT_80068bc8 = iParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f09a690(void) - -{ - return _DAT_80068bc8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f09a69c(int iParm1) - -{ - longlong lVar1; - int iVar2; - int *piVar3; - int iVar4; - - iVar4 = 0; - lVar1 = FUN_7f0999a4(); - if (lVar1 < 1) { -LAB_7f09a700: - iVar4 = -1; - } - else { - piVar3 = (int *)&DAT_800689f0; - iVar2 = _DAT_800689f0; - while (piVar3 = piVar3 + 1, iParm1 != *(int *)(iVar2 + 0xa8)) { - iVar4 += 1; - iVar2 = FUN_7f0999a4(); - if (iVar2 <= iVar4) goto LAB_7f09a700; - iVar2 = *piVar3; - } - } - return iVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09a71c(undefined2 uParm1,undefined2 uParm2) - -{ - *(undefined2 *)(_DAT_80068bc0 + 0x7f0) = uParm1; - *(undefined2 *)(_DAT_80068bc0 + 0x7f2) = uParm2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09a738(undefined2 uParm1,undefined2 uParm2) - -{ - *(undefined2 *)(_DAT_80068bc0 + 0x7f4) = uParm1; - *(undefined2 *)(_DAT_80068bc0 + 0x7f6) = uParm2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09a754(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x11c8) = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09a764(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x11cc) = uParm1; - return; -} - - - -undefined8 def_7F09B27C(ulonglong uParm1) - -{ - undefined8 uVar1; - - uVar1 = 0xffffffffffffffff; - if ((longlong)uParm1 < 0x20) { - if (uParm1 < 0x20) { - // WARNING: Could not recover jumptable at 0x7f09a7bc. Too many branches - // WARNING: Treating indirect jump as call - uVar1 = (*(code *)(&PTR_LAB_8004ccec)[(int)uParm1])(); - return uVar1; - } - } - else { - if (uParm1 != 0x58) { - return 0xffffffffffffffff; - } - uVar1 = 0x14d; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09a8a8(undefined8 uParm1) - -{ - locret_7F05220C(*(undefined4 *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4),uParm1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09a8d8(int iParm1) - -{ - int iVar1; - undefined8 uVar2; - longlong lVar3; - undefined8 uVar4; - - iVar1 = *(int *)(*(int *)(_DAT_80068bc0 + 0xa8) + 4); - if (*(int *)(iVar1 + iParm1 * 4 + 0x160) == 0) { - uVar2 = FUN_7f05de88(); - lVar3 = def_7F09B27C(uVar2); - if (-1 < lVar3) { - if (iParm1 * 4 == 0) { - uVar4 = 0; - } - else { - uVar4 = 0x10000000; - } - loc_7F0523BC(iVar1,lVar3,(int)uVar2,uVar4,0,0); - } - } - return; -} - - - -void FUN_7f09a95c(void) - -{ - undefined4 uVar1; - uint uVar2; - undefined4 *puVar3; - uint uVar4; - int iVar5; - int *piVar6; - undefined4 *puVar7; - undefined4 *puVar8; - - piVar6 = (int *)&DAT_80068bd0; - iVar5 = 0; - do { - *piVar6 = iVar5; - iVar5 += 1; - piVar6 = piVar6 + 1; - } while (iVar5 < 4); - puVar8 = (undefined4 *)&DAT_80068bd0; - iVar5 = 0; - puVar7 = puVar8; - do { - uVar2 = FUN_700098b0(); - uVar4 = 4 - iVar5; - puVar3 = puVar8 + uVar2 % uVar4; - uVar1 = *puVar7; - iVar5 += 1; - if (uVar4 == 0) { - trap(0x1c00); - } - *puVar7 = *puVar3; - puVar8 = puVar8 + 1; - puVar7 = puVar7 + 1; - *puVar3 = uVar1; - } while (iVar5 != 3); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f09aa18(int iParm1) - -{ - int iVar1; - int iVar2; - int *piVar3; - - iVar2 = 0; - piVar3 = (int *)&DAT_80068bd0; - iVar1 = _DAT_80068bd0; - while( true ) { - piVar3 = piVar3 + 1; - if (iParm1 == iVar1) { - return iVar2; - } - if (*(int *)(&DAT_800689f0 + iVar1 * 4) != 0) { - iVar2 += 1; - } - if (piVar3 == (int *)&DAT_80068be0) break; - iVar1 = *piVar3; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f09aa68(int iParm1) - -{ - if (*(int *)(&DAT_800689f0 + _DAT_80068bd0 * 4) != 0) { - if (iParm1 == 0) { - return _DAT_80068bd0; - } - iParm1 += -1; - } - if (*(int *)(&DAT_800689f0 + _DAT_80068bd4 * 4) != 0) { - if (iParm1 == 0) { - return _DAT_80068bd4; - } - iParm1 += -1; - } - if (*(int *)(&DAT_800689f0 + _DAT_80068bd8 * 4) != 0) { - if (iParm1 == 0) { - return _DAT_80068bd8; - } - iParm1 += -1; - } - if ((*(int *)(&DAT_800689f0 + _DAT_80068bdc * 4) != 0) && (iParm1 == 0)) { - return _DAT_80068bdc; - } - return 0; -} - - - -void sub_GAME_7F09B600(byte *pbParm1,byte *pbParm2,undefined4 *puParm3) - -{ - ulonglong uVar1; - int iVar2; - uint uVar3; - byte *pbVar4; - uint uVar5; - ulonglong uVar6; - ulonglong uVar7; - int iStack16; - uint uStack12; - - uVar5 = 0; - iStack16 = -0x707f60b9; - uStack12 = 0x3108b3c1; - uVar6 = 0; - uVar6._4_4_ = 0; - uVar7 = 0; - uVar7._4_4_ = 0; - if (pbParm1 < pbParm2) { - pbVar4 = pbParm1; - do { - iVar2 = (uint)*pbVar4 << (uVar5 & 0xf); - uVar3 = iVar2 + uStack12; - iStack16 = (uint)(uVar3 < uStack12) + (iVar2 >> 0x1f) + iStack16; - uStack12 = uVar3; - uVar1 = lotsa_shifting_randomizer_related(&iStack16); - pbVar4 = pbVar4 + 1; - uVar5 += 7; - uVar6 ^= uVar1; - uVar6._4_4_ = (undefined4)uVar6; - } while (pbVar4 != pbParm2); - } - pbParm2 = pbParm2 + -1; - if (pbParm1 <= pbParm2) { - do { - iVar2 = (uint)*pbParm2 << (uVar5 & 0xf); - uVar3 = iVar2 + uStack12; - iStack16 = (uint)(uVar3 < uStack12) + (iVar2 >> 0x1f) + iStack16; - uStack12 = uVar3; - uVar6 = lotsa_shifting_randomizer_related(&iStack16); - pbParm2 = pbParm2 + -1; - uVar5 += 3; - uVar7 ^= uVar6; - uVar7._4_4_ = (undefined4)uVar7; - } while (pbParm2 != pbParm1 + -1); - } - *puParm3 = uVar6._4_4_; - puParm3[1] = uVar7._4_4_; - return; -} - - - -undefined4 sub_GAME_7F09B788(void) - -{ - DAT_80039db0 = ((DAT_80039db0 << 0x3f) >> 0x1f | (DAT_80039db0 << 0x1f) >> 0x20) ^ - (DAT_80039db0 << 0x2c) >> 0x20; - DAT_80039db0 = DAT_80039db0 >> 0x14 & 0xfff ^ DAT_80039db0; - return (int)DAT_80039db0; -} - - - -void FUN_7f09acc8(longlong lParm1) - -{ - DAT_80039db0 = lParm1 + 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09ace8(void) - -{ - int iVar1; - - iVar1 = 0; - if (0 < _DAT_80068be4) { - do { - iVar1 += 0x14; - } while (iVar1 < _DAT_80068be4 * 0x14); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09ad24(void) - -{ - int iVar1; - - iVar1 = 0; - if (0 < _DAT_80068bec) { - do { - iVar1 += 0x14; - } while (iVar1 < _DAT_80068bec * 0x14); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09ad60(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - - lVar1 = FUN_7f0999a4(); - if (lVar1 < 2) { - lVar1 = FUN_7f0bd2c4(); - if ((lVar1 == 0x1e) || (lVar1 == 0x1d)) { - _DAT_80068be0 = 500; - _DAT_80068be4 = 0x14; - _DAT_80068be8 = 500; - _DAT_80068bec = 0x14; - } - else { - _DAT_80068be0 = 500; - _DAT_80068be4 = 0x14; - _DAT_80068be8 = 0x5dc; - _DAT_80068bec = 0x28; - } - } - else { - _DAT_80068be0 = 3000; - _DAT_80068be4 = 0x50; - _DAT_80068be8 = 500; - _DAT_80068bec = 0x14; - } - _DAT_80068bf8 = (undefined4 *)FUN_70008b80(_DAT_80068be4 * 0x14,4); - _DAT_80068bf0 = FUN_70008b80(_DAT_80068be0 << 4,4); - _DAT_80068bfc = (undefined4 *)FUN_70008b80(_DAT_80068bec * 0x14,4); - _DAT_80068bf4 = FUN_70008b80(_DAT_80068be8 << 4,4); - _DAT_80068c00 = (undefined2)_DAT_80068be0; - *_DAT_80068bf8 = _DAT_80068bf0; - *(short *)(_DAT_80068bf8 + 3) = (short)_DAT_80068be0; - *(undefined2 *)((int)_DAT_80068bf8 + 0xe) = 0; - iVar2 = 0x14; - *(undefined2 *)(_DAT_80068bf8 + 4) = 0xffff; - iVar3 = 1; - *(undefined2 *)((int)_DAT_80068bf8 + 0x12) = 0xffff; - if (1 < _DAT_80068be4) { - do { - iVar3 += 1; - *(undefined2 *)((int)_DAT_80068bf8 + iVar2 + 0xe) = 0xffff; - iVar2 += 0x14; - } while (iVar3 < _DAT_80068be4); - } - iVar3 = 1; - _DAT_80068c02 = (undefined2)_DAT_80068be8; - iVar2 = 0x14; - *_DAT_80068bfc = _DAT_80068bf4; - *(short *)(_DAT_80068bfc + 3) = (short)_DAT_80068be8; - *(undefined2 *)((int)_DAT_80068bfc + 0xe) = 0; - *(undefined2 *)(_DAT_80068bfc + 4) = 0xffff; - *(undefined2 *)((int)_DAT_80068bfc + 0x12) = 0xffff; - if (1 < _DAT_80068bec) { - do { - iVar3 += 1; - *(undefined2 *)((int)_DAT_80068bfc + iVar2 + 0xe) = 0xffff; - iVar2 += 0x14; - } while (iVar3 < _DAT_80068bec); - } - return; -} - - - -void loc_7F09BB9C(int iParm1,int iParm2) - -{ - char cVar1; - ushort uVar2; - ushort *puVar3; - int *piVar4; - ushort *puVar5; - char *pcVar6; - - pcVar6 = (char *)FUN_7f03a4e4(); - if (pcVar6 == NULL) { - return; - } - cVar1 = *pcVar6; - do { - if (cVar1 == '\x01') { - puVar5 = **(ushort ***)(*(int *)(*(int *)(pcVar6 + 4) + 0x14) + 8); - if (puVar5 == NULL) { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - uVar2 = *puVar5; - while ((uVar2 & 0xff) != 0x18) { - puVar3 = *(ushort **)(puVar5 + 10); - if ((*(ushort **)(puVar5 + 10) == NULL) && (puVar3 = puVar5, puVar5 != NULL)) { - puVar3 = *(ushort **)(puVar5 + 6); - while ((puVar3 == NULL && - (puVar5 = *(ushort **)(puVar5 + 4), puVar3 = puVar5, puVar5 != NULL))) { - puVar3 = *(ushort **)(puVar5 + 6); - } - } - puVar5 = puVar3; - if (puVar5 == NULL) goto LAB_7f09b0d0; - uVar2 = *puVar5; - } - piVar4 = (int *)loc_7F06C888(); - if (iParm1 == *piVar4) { - *piVar4 = iParm2; -LAB_7f09b0d0: - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - if (pcVar6 == NULL) { - return; - } - cVar1 = *pcVar6; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09b0fc(void) - -{ - short sVar1; - int iVar2; - undefined4 *puVar3; - bool bVar4; - int iVar5; - int iVar6; - int iVar7; - undefined4 *puVar8; - int iVar9; - int iVar10; - - bVar4 = false; - if ((longlong)_DAT_80068c02 < (longlong)(_DAT_80068be8 >> 2)) { - iVar10 = 0; - iVar5 = _DAT_80068bec + -1; - iVar7 = _DAT_80068bfc; - iVar9 = _DAT_80068bec; - if (0 < iVar5) { - do { - iVar2 = iVar10 * 0x14; - iVar6 = (iVar10 + 1) * 0x10000 >> 0x10; - if ((0 < *(short *)(iVar7 + iVar2 + 0xe)) && ((iVar10 + 1) * 0x10000 >> 0x10 < iVar9)) { - do { - iVar5 = iVar6 * 0x14; - puVar8 = (undefined4 *)(iVar7 + iVar2); - puVar3 = (undefined4 *)(iVar7 + iVar5); - if ((0 < *(short *)((int)puVar3 + 0xe)) && - ((puVar8[1] == puVar3[1] && (puVar8[2] == puVar3[2])))) { - bVar4 = true; - loc_7F09BB9C(*puVar3,*puVar8); - *(short *)(_DAT_80068bfc + iVar2 + 0xe) = - *(short *)(_DAT_80068bfc + iVar2 + 0xe) + *(short *)(_DAT_80068bfc + iVar5 + 0xe) - ; - *(undefined2 *)(_DAT_80068bfc + iVar5 + 0xe) = 0; - _DAT_80068c02 += *(short *)(_DAT_80068bfc + iVar5 + 0xc); - iVar7 = _DAT_80068bfc; - iVar9 = _DAT_80068bec; - } - iVar6 = (int)(short)((short)iVar6 + 1); - } while (iVar6 < iVar9); - iVar5 = iVar9 + -1; - } - iVar10 = (int)(short)((short)iVar10 + 1); - } while (iVar10 < iVar5); - } - } - if (bVar4) { - bVar4 = false; - iVar7 = 0; - do { - iVar9 = _DAT_80068bfc + iVar7 * 0x14; - sVar1 = *(short *)(iVar9 + 0x10); - if (sVar1 < 0) { - bVar4 = true; - } - else { - if (*(short *)(iVar9 + 0xe) == 0) { - iVar5 = (int)sVar1 * 0x14; - if (*(short *)(_DAT_80068bfc + iVar5 + 0xe) == 0) { - *(short *)(iVar9 + 0xc) = - *(short *)(iVar9 + 0xc) + *(short *)(_DAT_80068bfc + iVar5 + 0xc); - *(undefined2 *)(_DAT_80068bfc + iVar5 + 0xe) = 0xffff; - sVar1 = *(short *)(_DAT_80068bfc + iVar5 + 0x10); - *(short *)(_DAT_80068bfc + iVar7 * 0x14 + 0x10) = sVar1; - if (-1 < sVar1) { - *(undefined2 *)(_DAT_80068bfc + (int)sVar1 * 0x14 + 0x12) = (short)iVar7; - } - goto LAB_7f09b330; - } - } - iVar7 = (int)sVar1; - } -LAB_7f09b330: - } while (!bVar4); - } - if ((longlong)_DAT_80068c02 < (longlong)(_DAT_80068be8 >> 2)) { - FUN_7f056970(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F09C030(longlong lParm1,longlong lParm2,int iParm3,int iParm4) - -{ - short sVar1; - int *piVar2; - bool bVar3; - longlong lVar4; - int *piVar5; - int iVar6; - int *piVar7; - longlong lVar8; - longlong lVar9; - short *psVar10; - short sVar11; - int iVar12; - - if (lParm2 == 0xb0b) { - psVar10 = (short *)&DAT_80068c02; - sVar1 = _DAT_80068bee; - piVar2 = _DAT_80068bfc; - } - else { - if (lParm2 != 0xcccc) { - return 0; - } - psVar10 = (short *)&DAT_80068c00; - sVar1 = _DAT_80068be6; - piVar2 = _DAT_80068bf8; - } - lVar9 = (longlong)sVar1; - iVar12 = 0; - lVar4 = 0; - lVar8 = 0; - do { - piVar7 = piVar2 + (int)lVar8 * 5; - if (*(short *)((int)piVar7 + 0xe) == 0) { - if ((longlong)*(short *)(piVar7 + 3) < lParm1) { - sVar1 = *(short *)(piVar7 + 4); - goto LAB_7f09b43c; - } - iVar12 = 1; - } - else { - sVar1 = *(short *)(piVar7 + 4); -LAB_7f09b43c: - lVar8 = (longlong)sVar1; - lVar4 = (longlong)((int)lVar4 + 1); - if ((lVar8 == -1) || (lVar9 < lVar4)) { - iVar12 = -1; - } - } - } while (iVar12 == 0); - if (lVar9 < lVar4) { - FUN_7f09ace8(); - FUN_7f09ad24(); - iVar6 = 0; - } - else { - iVar6 = 0; - if (iVar12 == 1) { - bVar3 = false; - piVar7 = piVar2 + (int)lVar8 * 5; - sVar1 = *(short *)(piVar7 + 3); - piVar7[1] = iParm3; - *(short *)((int)piVar7 + 0xe) = *(short *)((int)piVar7 + 0xe) + 1; - piVar7[2] = iParm4; - sVar11 = (short)lParm1; - if (((longlong)sVar1 != lParm1) && (lVar4 = 0, piVar5 = piVar2, 0 < lVar9)) { - do { - if (*(short *)((int)piVar5 + 0xe) == -1) { - *(short *)(piVar7 + 3) = sVar11; - *piVar5 = *piVar7 + (int)lParm1 * 0x10; - *(short *)(piVar5 + 3) = sVar1 - sVar11; - *(undefined2 *)((int)piVar5 + 0xe) = 0; - *(undefined2 *)((int)piVar5 + 0x12) = (short)lVar8; - bVar3 = true; - *(undefined2 *)(piVar5 + 4) = *(undefined2 *)(piVar7 + 4); - if (-1 < *(short *)(piVar7 + 4)) { - *(undefined2 *)((int)piVar2 + (int)*(short *)(piVar7 + 4) * 0x14 + 0x12) = - (short)lVar4; - } - *(short *)(piVar7 + 4) = (short)lVar4; - break; - } - lVar4 = (longlong)((int)lVar4 + 1); - piVar5 = piVar5 + 5; - } while (lVar4 != lVar9); - } - if (bVar3) { - *psVar10 = *psVar10 - sVar11; - } - else { - *psVar10 = *psVar10 - sVar1; - } - iVar6 = *piVar7; - } - } - return iVar6; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09b584(uint uParm1) - -{ - short sVar1; - bool bVar2; - int iVar3; - longlong lVar4; - uint *puVar5; - longlong lVar6; - int iVar7; - short *psVar8; - short sVar9; - - if (((uParm1 < _DAT_80068bf0) || - (psVar8 = (short *)&DAT_80068c00, iVar7 = _DAT_80068bf8, - (_DAT_80068be0 + -1) * 0x10 + _DAT_80068bf0 < uParm1)) && - ((uParm1 < _DAT_80068bf4 || - (psVar8 = (short *)&DAT_80068c02, iVar7 = _DAT_80068bfc, - (_DAT_80068be8 + -1) * 0x10 + _DAT_80068bf4 < uParm1)))) { - FUN_7f09ace8(); - FUN_7f09ad24(); - } - else { - lVar6 = 0; - bVar2 = false; - do { - puVar5 = (uint *)(iVar7 + (int)lVar6 * 0x14); - if (uParm1 == *puVar5) { - bVar2 = true; - *(short *)((int)puVar5 + 0xe) = *(short *)((int)puVar5 + 0xe) + -1; - if (*(short *)((int)puVar5 + 0xe) == 0) { - *psVar8 = *psVar8 + *(short *)(puVar5 + 3); - if (*(short *)(puVar5 + 4) < 0) { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - else { - iVar3 = iVar7 + (int)*(short *)(puVar5 + 4) * 0x14; - if (*(short *)(iVar3 + 0xe) == 0) { - *(short *)(puVar5 + 3) = *(short *)(puVar5 + 3) + *(short *)(iVar3 + 0xc); - *(undefined2 *)(puVar5 + 4) = *(undefined2 *)(iVar3 + 0x10); - *(undefined2 *)(iVar3 + 0xe) = 0xffff; - if (*(short *)(puVar5 + 4) < 0) { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - else { - *(undefined2 *)(iVar7 + (int)*(short *)(puVar5 + 4) * 0x14 + 0x12) = (short)lVar6; - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - } - else { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - } - if (-1 < lVar4) { - iVar3 = iVar7 + (int)lVar4 * 0x14; - sVar9 = (short)lVar4; - if (*(short *)(iVar3 + 0xe) == 0) { - lVar6 = (longlong)(int)sVar9; - *(short *)(iVar3 + 0xc) = *(short *)(iVar3 + 0xc) + *(short *)(puVar5 + 3); - *(undefined2 *)(iVar3 + 0x10) = *(undefined2 *)(puVar5 + 4); - *(undefined2 *)((int)puVar5 + 0xe) = 0xffff; - sVar1 = *(short *)(iVar7 + (int)sVar9 * 0x14 + 0x10); - if (-1 < sVar1) { - *(short *)(iVar7 + (int)sVar1 * 0x14 + 0x12) = sVar9; - } - } - } - } - } - else { - lVar6 = (longlong)*(short *)(puVar5 + 4); - if (lVar6 == -1) { - bVar2 = true; - } - } - } while (!bVar2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f09b790(int iParm1,undefined4 *puParm2,undefined4 uParm3,undefined4 uParm4,int iParm5 - ,undefined uParm6,char *pcParm7,int iParm8) - -{ - short sVar1; - char *pcVar2; - int iVar5; - undefined *extraout_v0_lo; - undefined8 uVar3; - undefined2 uVar6; - longlong lVar4; - int *piVar7; - undefined *puVar8; - undefined *puVar9; - int iVar10; - longlong lVar11; - undefined4 *puVar12; - undefined4 uVar13; - float fVar14; - float fVar15; - float fVar16; - short sStackX14; - - sStackX14 = (short)uParm4; - iVar10 = (int)sStackX14 * 0x40; - puVar12 = NULL; - iVar5 = 0; - piVar7 = _DAT_80068c54; - do { - if (*piVar7 == 0) { - puVar12 = (undefined4 *)(iVar5 + (int)_DAT_80068c54); - break; - } - iVar5 += 0x3e0; - piVar7 = piVar7 + 0xf8; - } while (iVar5 < 0x1740); - if (puVar12 == NULL) goto LAB_7f09bca0; - puVar9 = (undefined *)FUN_7f03a4f0(); - if ((sStackX14 != 0x10) && (sStackX14 != 1)) { - DAT_80039dc0 = 6; - } - if ((&DAT_80039f0d)[iVar10] != 0) { - uVar3 = FUN_70008268(_DAT_80056900,(ushort)(byte)(&DAT_80039f0d)[iVar10],0); - FUN_7f053cf0(uVar3,puParm2); - puVar9 = extraout_v0_lo; - } - if (puVar9 == NULL) goto LAB_7f09bca0; - *puVar9 = 7; - puVar9[1] = puVar9[1] | 2; - *(undefined4 **)(puVar9 + 4) = puVar12; - iVar5 = 0; - *(undefined4 *)(puVar9 + 0x14) = uParm3; - *(undefined4 *)(puVar9 + 8) = *puParm2; - *(undefined4 *)(puVar9 + 0xc) = puParm2[1]; - *(undefined4 *)(puVar9 + 0x10) = puParm2[2]; - if (*pcParm7 != -1) { - puVar9[0x2c] = *pcParm7; - puVar8 = puVar9; - while( true ) { - pcVar2 = pcParm7 + 1; - iVar5 += 1; - pcParm7 = pcParm7 + 1; - if ((*pcVar2 == -1) || (iVar5 == 7)) break; - puVar8[0x2d] = *pcVar2; - puVar8 = puVar8 + 1; - } - } - puVar9[iVar5 + 0x2c] = 0xff; - lVar11 = 0; - if (iParm8 != 0) { - puVar9[1] = puVar9[1] | 8; - } - FUN_7f03a5b0(puVar9); - set_stateflag_0x04_for_posdata(puVar9); - *(undefined2 *)(puVar12 + 0xf2) = 0; - *(undefined2 *)((int)puVar12 + 0x3ca) = 0xffff; - *(undefined *)((int)puVar12 + 0x3cd) = (char)iParm5; - *(undefined **)puVar12 = puVar9; - puVar12[1] = iParm1; - *(char *)(puVar12 + 0xf3) = (char)uParm4; - *(undefined *)((int)puVar12 + 0x3ce) = uParm6; - if (iParm5 == 0) { - puVar12[0xf4] = DAT_8004cd70; - } - else { - if (iParm1 == 0) { - uVar13 = *puParm2; - } - else { - if (*(int *)(iParm1 + 0x14) != 0) { - puVar12[0xf4] = *(undefined4 *)(iParm1 + 8); - fVar14 = (float)FUN_7f0b1c30(*(undefined4 *)(iParm1 + 0x14),*(undefined4 *)(iParm1 + 8), - *(undefined4 *)(iParm1 + 0x10)); - *(float *)(puVar12 + 0xf5) = fVar14 + 4.00000000; - puVar12[0xf6] = *(undefined4 *)(iParm1 + 0x10); - uVar6 = sub_7F0B2FD8(*(undefined4 *)(iParm1 + 0x14)); - *(undefined2 *)(puVar12 + 0xf7) = uVar6; - goto LAB_7f09ba14; - } - uVar13 = *puParm2; - } - puVar12[0xf4] = uVar13; - fVar14 = (float)FUN_7f0b1c30(uParm3,*puParm2,puParm2[2]); - *(float *)(puVar12 + 0xf5) = fVar14 + 4.00000000; - puVar12[0xf6] = puParm2[2]; - uVar6 = sub_7F0B2FD8(uParm3); - *(undefined2 *)(puVar12 + 0xf7) = uVar6; - } -LAB_7f09ba14: - lVar4 = FUN_700098b0(); - fVar14 = (float)(int)lVar4; - if (lVar4 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar16 = (fVar14 * 0.00000000 * 0.50000000 + 1.00000000) * *(float *)(&DAT_80039ee4 + iVar10); - lVar4 = FUN_700098b0(); - fVar14 = (float)(int)lVar4; - if (lVar4 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar15 = fVar14 * 0.00000000 * DAT_8004cd74; - fVar14 = (float)func_7F057FC4(); - *(float *)(puVar12 + 5) = fVar14 * fVar16; - fVar14 = (float)func_7F057FC4(fVar15); - *(undefined2 *)(puVar12 + 7) = 1; - *(float *)(puVar12 + 6) = fVar14 * fVar16; - puVar12[2] = *puParm2; - puVar12[3] = puParm2[1]; - puVar12[4] = puParm2[2]; - if (0 < *(short *)(&DAT_80039ef8 + iVar10)) { - uVar13 = *(undefined4 *)(&DAT_80039efc + iVar10); - while( true ) { - loc_7F09FD20(puParm2,*(undefined4 *)(&DAT_80039f00 + iVar10), - *(undefined4 *)(&DAT_80039f04 + iVar10),*(undefined4 *)(&DAT_80039f08 + iVar10), - uVar13); - lVar11 = (longlong)((int)lVar11 + 1); - if ((longlong)*(short *)(&DAT_80039ef8 + iVar10) <= lVar11) break; - uVar13 = *(undefined4 *)(&DAT_80039efc + iVar10); - } - } - lVar11 = FUN_7f0999a4(); - iVar5 = 0; - if (1 < lVar11) { - do { - piVar7 = (int *)(_DAT_80068c50 + iVar5); - iVar10 = iVar5 + _DAT_80068c50; - if (*piVar7 == 0) { - iVar10 = piVar7[0x66]; - } - else { - if (*(short *)(iVar10 + 6) == 7) { - iVar10 = piVar7[0x66]; - } - else { - if (*(short *)(iVar10 + 6) == 8) { - iVar10 = piVar7[0x66]; - } - else { - if (*(short *)(iVar10 + 6) == 9) { - iVar10 = piVar7[0x66]; - } - else { - *(undefined2 *)(iVar10 + 4) = - *(undefined2 *)(&DAT_80039dcc + (int)*(short *)(iVar10 + 6) * 0x18); - piVar7 = (int *)(_DAT_80068c50 + iVar5); - iVar10 = piVar7[0x66]; - } - } - } - } - if (iVar10 == 0) { - iVar10 = piVar7[0xcc]; - } - else { - sVar1 = *(short *)(iVar5 + _DAT_80068c50 + 0x19e); - if (sVar1 == 7) { - iVar10 = piVar7[0xcc]; - } - else { - if (sVar1 == 8) { - iVar10 = piVar7[0xcc]; - } - else { - if (sVar1 == 9) { - iVar10 = piVar7[0xcc]; - } - else { - *(undefined2 *)(iVar5 + _DAT_80068c50 + 0x19c) = - *(undefined2 *)(&DAT_80039dcc + (int)sVar1 * 0x18); - piVar7 = (int *)(_DAT_80068c50 + iVar5); - iVar10 = piVar7[0xcc]; - } - } - } - } - if (iVar10 == 0) { - iVar10 = piVar7[0x132]; - } - else { - sVar1 = *(short *)(iVar5 + _DAT_80068c50 + 0x336); - if (sVar1 == 7) { - iVar10 = piVar7[0x132]; - } - else { - if (sVar1 == 8) { - iVar10 = piVar7[0x132]; - } - else { - if (sVar1 == 9) { - iVar10 = piVar7[0x132]; - } - else { - *(undefined2 *)(iVar5 + _DAT_80068c50 + 0x334) = - *(undefined2 *)(&DAT_80039dcc + (int)sVar1 * 0x18); - iVar10 = *(int *)(_DAT_80068c50 + iVar5 + 0x4c8); - } - } - } - } - if ((((iVar10 != 0) && (sVar1 = *(short *)(iVar5 + _DAT_80068c50 + 0x4ce), sVar1 != 7)) && - (sVar1 != 8)) && (sVar1 != 9)) { - *(undefined2 *)(iVar5 + _DAT_80068c50 + 0x4cc) = - *(undefined2 *)(&DAT_80039dcc + (int)sVar1 * 0x18); - } - iVar5 += 0x660; - } while (iVar5 != 0x1fe0); - } -LAB_7f09bca0: - return (ulonglong)(puVar12 != NULL); -} - - - -void FUN_7f09bcc0(void) - -{ - DAT_80039dc0 = 6; - DAT_80039dc4 = 6; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09bcd8(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - int iVar1; - undefined4 uVar2; - float fVar3; - int *piVar4; - int iVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - - uVar2 = DAT_8004cd78; - if (DAT_80039dc0 == 0) { - loc_70003B44(0); - } - else { - fVar6 = (float)func_7F057FC4(DAT_8004cd78); - fVar7 = (float)func_7F057FC4(uVar2); - fVar12 = *pfParm2; - fVar13 = pfParm2[2]; - fVar8 = (float)func_7F057FC4(uVar2); - fVar9 = (float)func_7F057FC4(uVar2); - fVar3 = DAT_8004cd7c; - fVar16 = pfParm2[2]; - fVar14 = *pfParm2; - iVar5 = 0; - fVar17 = 0.00000000; - piVar4 = _DAT_80068c54; - do { - iVar1 = *piVar4; - if (iVar1 != 0) { - fVar10 = *(float *)(iVar1 + 8) - *pfParm1; - fVar11 = *(float *)(iVar1 + 0xc) - pfParm1[1]; - fVar15 = *(float *)(iVar1 + 0x10) - pfParm1[2]; - fVar11 = (float)sqrtf(fVar10 * fVar10 + fVar11 * fVar11 + fVar15 * fVar15); - fVar10 = fVar3; - if (fVar11 != 0.00000000) { - fVar10 = fVar11; - } - piVar4 = (int *)((int)_DAT_80068c54 + iVar5); - fVar17 = fVar17 + (*(float *)(&DAT_80039ee4 + (int)*(char *)(piVar4 + 0xf3) * 0x40) / fVar10 - ) * 15.00000000; - } - iVar5 += 0x3e0; - piVar4 = piVar4 + 0xf8; - } while (iVar5 != 0x1740); - if (0 < DAT_80039dc4) { - DAT_80039dc4 += -1; - fVar17 = fVar17 + 1.00000000; - } - DAT_80039dc0 -= 1; - if ((DAT_80039dc0 & 2) == 0) { - pfParm3[1] = -fVar17; - } - else { - pfParm3[1] = fVar17; - fVar17 = -fVar17; - } - *pfParm3 = fVar17 * (fVar6 * fVar12 - fVar13 * fVar7); - pfParm3[2] = fVar17 * (fVar16 * fVar9 + fVar8 * fVar14); - loc_70003B44((float)DAT_80039dc0 * fVar17); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F09CEA8(int iParm1,float fParm2,float fParm3) - -{ - char cVar1; - short sVar2; - int iVar3; - uint uVar4; - longlong lVar5; - undefined4 uVar7; - undefined8 uVar6; - int iVar8; - int iVar9; - char *pcVar10; - short *psVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - undefined auStack32 [32]; - - iVar3 = *(int *)(iParm1 + 4); - iVar9 = (int)*(char *)(iVar3 + 0x3cc) * 0x40; - if (*(short *)(iVar3 + 0x3c8) < *(short *)(iVar3 + 0x3ca)) { - return; - } - loc_7F03CC0C(iParm1,auStack32); - FUN_7f03e4bc(auStack32); - lVar5 = (longlong)*_DAT_80058b70; - if (-1 < lVar5) { - iVar8 = (int)*_DAT_80058b70; - psVar11 = _DAT_80058b70; - do { - iVar8 = (iVar8 * 0x10 + (int)lVar5 * -4 + (int)lVar5) * 4; - pcVar10 = (char *)(iVar8 + -0x7ffa7488); - if (pcVar10 == *(char **)(iVar3 + 4)) { - lVar5 = (longlong)psVar11[1]; - } - else { - if (*(short *)(iVar8 + -0x7ffa7486) == 0) { - cVar1 = *pcVar10; - if (cVar1 == '\x01') { - iVar8 = *(int *)(iVar8 + -0x7ffa7484); - } - else { - if ((cVar1 != '\x04') && (cVar1 != '\x02')) { - if ((cVar1 == '\x03') || (cVar1 == '\x06')) { - fVar15 = *(float *)(iVar8 + -0x7ffa7480) - *(float *)(iParm1 + 8); - fVar14 = *(float *)(iVar8 + -0x7ffa747c) - *(float *)(iParm1 + 0xc); - fVar13 = *(float *)(iVar8 + -0x7ffa7478) - *(float *)(iParm1 + 0x10); - if (fVar15 <= fParm2) { - if (-fParm2 <= fVar15) { - if (fVar14 <= fParm3) { - if (-fParm3 <= fVar14) { - if (fVar13 <= fParm2) { - if (-fParm2 <= fVar13) { - fVar12 = fVar15 / fParm2; - fVar14 = fVar14 / fParm3; - fVar16 = fVar13 / fParm2; - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - if (fVar14 < 0.00000000) { - fVar14 = -fVar14; - } - fVar14 = 1.00000000 - fVar14; - if (fVar16 < 0.00000000) { - fVar16 = -fVar16; - } - fVar16 = 1.00000000 - fVar16; - if (1.00000000 - fVar12 <= fVar14) { - fVar14 = 1.00000000 - fVar12; - } - if (fVar14 <= fVar16) { - fVar16 = fVar14; - } - fVar14 = fVar16 * fVar16 * *(float *)(&DAT_80039f10 + iVar9); - if (cVar1 == '\x03') { - loc_7F027BE0(*(undefined4 *)(iVar8 + -0x7ffa7484),iParm1 + 8,fVar14); - lVar5 = (longlong)psVar11[1]; - } - else { - if ((fVar15 != 0.00000000) || (fVar13 != 0.00000000)) { - fVar13 = (float)sqrtf(fVar15 * fVar15 + fVar13 * fVar13); - fVar15 = fVar15 * (1.00000000 / fVar13); - } - uVar7 = FUN_7f09a690(); - uVar6 = FUN_7f09a69c(pcVar10); - FUN_7f09a64c(uVar6); - lVar5 = FUN_7f0999a4(); - if (lVar5 == 1) { - fVar14 = fVar14 * DAT_80039dc8; - } - lVar5 = FUN_7f07cf4c(); - if (lVar5 == 1) { - fVar14 = fVar14 + fVar14; - } - FUN_7f089a84(fVar14,fVar15); - FUN_7f09a64c(uVar7); - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - goto LAB_7f09c3cc; - } - iVar8 = *(int *)(iVar8 + -0x7ffa7484); - } - fVar13 = *(float *)(iVar8 + 0x58) - *(float *)(iParm1 + 8); - fVar14 = *(float *)(iVar8 + 0x5c) - *(float *)(iParm1 + 0xc); - fVar15 = *(float *)(iVar8 + 0x60) - *(float *)(iParm1 + 0x10); - if (((((fVar13 <= fParm2) && (-fParm2 <= fVar13)) && (fVar14 <= fParm3)) && - ((-fParm3 <= fVar14 && (fVar15 <= fParm2)))) && (-fParm2 <= fVar15)) { - fVar13 = fVar13 / fParm2; - fVar16 = *(float *)(&DAT_80039f10 + iVar9); - fVar14 = fVar14 / fParm3; - fVar15 = fVar15 / fParm2; - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - } - if (fVar14 < 0.00000000) { - fVar14 = -fVar14; - } - fVar14 = 1.00000000 - fVar14; - if (fVar15 < 0.00000000) { - fVar15 = -fVar15; - } - fVar15 = 1.00000000 - fVar15; - if (1.00000000 - fVar13 <= fVar14) { - fVar14 = 1.00000000 - fVar13; - } - if (fVar15 < fVar14) { - uVar4 = *(uint *)(iVar8 + 100); - } - else { - uVar4 = *(uint *)(iVar8 + 100); - fVar15 = fVar14; - } - if (((uVar4 & 0x1000) == 0) && ((*(uint *)(iVar8 + 0xc) & 0x200400) == 0)) { - lVar5 = FUN_700098b0(); - fVar14 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - loc_7F04DFAC(pcVar10,(fVar14 * 0.00000000 * 0.50000000 + 1.00000000) * fVar15 * fVar16 - ,iVar8 + 0x58,0x1d,*(undefined *)(iVar3 + 0x3ce)); - } - } - lVar5 = (longlong)psVar11[1]; - } - else { - lVar5 = (longlong)psVar11[1]; - } - } -LAB_7f09c3cc: - psVar11 = psVar11 + 1; - if (lVar5 < 0) goto code_r0x7f09c3d8; - iVar8 = (int)lVar5; - } while( true ); - } - sVar2 = *(short *)(&DAT_80039ef0 + iVar9); -LAB_7f09c3dc: - *(short *)(iVar3 + 0x3ca) = *(short *)(iVar3 + 0x3c8) + (sVar2 >> 2); - return; -code_r0x7f09c3d8: - sVar2 = *(short *)(&DAT_80039ef0 + iVar9); - goto LAB_7f09c3dc; -} - - - -undefined8 loc_7F09D4A8(int iParm1) - -{ - byte bVar1; - short sVar2; - short sVar3; - undefined4 *puVar4; - char *pcVar5; - undefined8 uVar6; - int iVar7; - longlong lVar8; - undefined4 uVar9; - longlong lVar10; - int iVar11; - undefined4 *puVar12; - int iVar13; - float fVar14; - int iVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - int iStack44; - float fStack40; - - puVar4 = *(undefined4 **)(iParm1 + 4); - iVar11 = (int)*(char *)(puVar4 + 0xf3) * 0x40; - if (DAT_80040ff4 == 0) { - uVar6 = 0; - } - else { - if (DAT_80040ff4 < 0xf) { - fStack40 = (float)DAT_80040ff4; - } - else { - fStack40 = 15.00000000; - } - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - if (7 < lVar8) { - sVar2 = *(short *)(&DAT_80039ef0 + iVar11); - iVar13 = (int)sVar2; - if (lVar8 < (longlong)sVar2) { - fVar14 = (float)(int)*(short *)(puVar4 + 0xf2); - fVar18 = *(float *)(&DAT_80039ed4 + iVar11) + *(float *)(&DAT_80039edc + iVar11) * fVar14; - fVar19 = *(float *)(&DAT_80039ed8 + iVar11) + *(float *)(&DAT_80039ee0 + iVar11) * fVar14; - if (*(char *)(puVar4 + 0xf3) == '\x0e') { - if (lVar8 < 0x20) { - *(float *)(iParm1 + 0xc) = *(float *)(iParm1 + 0xc) + fStack40 * 10.00000000; - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - sVar2 = *(short *)(&DAT_80039ef0 + iVar11); - fVar14 = (float)(int)*(short *)(puVar4 + 0xf2); - } - iVar13 = (int)sVar2; - if (0x20 < lVar8) { - fVar19 = 20.00000000; - fVar18 = fVar14 * 3.00000000 + 40.00000000; - if (300.00000000 < fVar18) { - fVar18 = 300.00000000; - } - } - } - iVar15 = 0; - iStack44 = (int)(((float)(int)*(short *)(&DAT_80039ef2 + iVar11) * fVar14) / (float)iVar13) - + 1; - if (0 < iStack44) { - do { - iVar13 = 0; - puVar12 = puVar4; - do { - iVar13 += 0x18; - if (*(short *)(puVar12 + 7) == 0) { - *(undefined2 *)(puVar12 + 7) = 1; - lVar8 = FUN_700098b0(); - fVar14 = (float)(int)lVar8; - if (lVar8 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(float *)(puVar12 + 2) = - (fVar14 * 0.00000000 - 0.50000000) * fVar18 + *(float *)(iParm1 + 8); - lVar8 = FUN_700098b0(); - fVar14 = (float)(int)lVar8; - if (lVar8 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(float *)(puVar12 + 3) = - (fVar14 * 0.00000000 - 0.50000000) * fVar19 + *(float *)(iParm1 + 0xc); - lVar8 = FUN_700098b0(); - fVar14 = (float)(int)lVar8; - if (lVar8 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(float *)(puVar12 + 4) = - (fVar14 * 0.00000000 - 0.50000000) * fVar18 + *(float *)(iParm1 + 0x10); - lVar8 = FUN_700098b0(); - fVar14 = (float)(int)lVar8; - if (lVar8 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar17 = (fVar14 * 0.00000000 * 0.50000000 + 1.00000000) * - *(float *)(&DAT_80039ee4 + iVar11); - lVar8 = FUN_700098b0(); - fVar14 = (float)(int)lVar8; - if (lVar8 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar16 = fVar14 * 0.00000000 * DAT_8004cd80; - fVar14 = (float)func_7F057FC4(fVar16); - *(float *)(puVar12 + 5) = fVar14 * fVar17; - fVar14 = (float)func_7F057FC4(fVar16); - *(float *)(puVar12 + 6) = fVar14 * fVar17; - break; - } - puVar12 = puVar12 + 6; - } while (iVar13 != 0x3c0); - iVar15 += 1; - } while (iVar15 != iStack44); - } - fVar14 = fVar18 * 0.50000000 + *(float *)(&DAT_80039ee4 + iVar11) * 1.50000000; - fStack56 = *(float *)(iParm1 + 8) - fVar14; - fStack64 = fVar19 * 0.50000000 + *(float *)(&DAT_80039ee4 + iVar11) * 1.50000000; - fStack52 = *(float *)(iParm1 + 0xc) - fStack64; - fStack48 = *(float *)(iParm1 + 0x10) - fVar14; - fStack68 = *(float *)(iParm1 + 8) + fVar14; - fStack64 = *(float *)(iParm1 + 0xc) + fStack64; - fStack60 = *(float *)(iParm1 + 0x10) + fVar14; - loc_7F03E3E0(iParm1,&fStack56,&fStack68,fVar14); - fVar14 = *(float *)(&DAT_80039ee8 + iVar11) + - ((*(float *)(&DAT_80039eec + iVar11) - *(float *)(&DAT_80039ee8 + iVar11)) * - (float)(int)*(short *)(puVar4 + 0xf2)) / - (float)(int)*(short *)(&DAT_80039ef0 + iVar11); - loc_7F09CEA8(iParm1,fVar14,fVar14); - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - } - } - iVar15 = (int)fStack40; - iVar13 = 0; - if (0 < iVar15) { - uVar9 = (undefined4)lVar8; - do { - *(short *)(puVar4 + 0xf2) = (short)uVar9 + 1; - iVar7 = 0; - puVar12 = puVar4; - do { - iVar7 += 0x18; - if (0 < *(short *)(puVar12 + 7)) { - *(short *)(puVar12 + 7) = *(short *)(puVar12 + 7) + 1; - } - puVar12 = puVar12 + 6; - } while (iVar7 != 0x3c0); - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - if (lVar8 == 0xf) { - if (*(char *)(puVar4 + 0xf3) != '\x0e') { - sVar2 = *(short *)(&DAT_80039ef0 + iVar11); - goto LAB_7f09c8a4; - } - pcVar5 = (char *)puVar4[1]; -LAB_7f09c8c0: - if (pcVar5 == NULL) { - bVar1 = *(byte *)(iParm1 + 1); -LAB_7f09c944: - FUN_7f09dc44(iParm1 + 8,*(undefined4 *)(iParm1 + 0x14), - (ulonglong)(byte)(&DAT_80039f0c)[iVar11],iParm1 + 0x2c, - (uint)((bVar1 & 8) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - sVar3 = *(short *)(&DAT_80039ef0 + iVar11); - } - else { - iVar7 = *(int *)(pcVar5 + 0x14); - if (iVar7 == 0) { - bVar1 = *(byte *)(iParm1 + 1); - goto LAB_7f09c944; - } - if (*pcVar5 == '\x01') { - FUN_7f09dc44(*(int *)(pcVar5 + 4) + 0x58,iVar7, - (ulonglong)(byte)(&DAT_80039f0c)[iVar11],pcVar5 + 0x2c, - (uint)((*(byte *)(iParm1 + 1) & 8) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - } - else { - FUN_7f09dc44(pcVar5 + 8,iVar7,(ulonglong)(byte)(&DAT_80039f0c)[iVar11],pcVar5 + 0x2c, - (uint)((*(byte *)(iParm1 + 1) & 8) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - } - sVar3 = *(short *)(&DAT_80039ef0 + iVar11); - } - lVar8 = (longlong)sVar2; - lVar10 = (longlong)((int)sVar3 >> 1); - } - else { - sVar2 = *(short *)(&DAT_80039ef0 + iVar11); -LAB_7f09c8a4: - if ((longlong)sVar2 == (longlong)((int)*(short *)(puVar4 + 0xf2) + 0x14)) { - if (*(char *)(puVar4 + 0xf3) != '\x0e') { - pcVar5 = (char *)puVar4[1]; - goto LAB_7f09c8c0; - } - lVar10 = (longlong)((int)sVar2 >> 1); - } - else { - lVar10 = (longlong)((int)sVar2 >> 1); - } - } - if ((lVar10 == lVar8) && (*(char *)((int)puVar4 + 0x3cd) != '\0')) { - loc_7F0A0A90(puVar4 + 0xf4,*(float *)(&DAT_80039ee4 + iVar11) * 4.00000000, - *(undefined2 *)(puVar4 + 0xf7)); - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - } - iVar13 += 1; - if (iVar13 == iVar15) break; - uVar9 = (undefined4)lVar8; - } while( true ); - } - uVar6 = 0; - if ((longlong) - ((int)*(short *)(&DAT_80039ef0 + iVar11) + - (int)(*(float *)(&DAT_80039ef4 + iVar11) * 16.00000000)) <= lVar8) { - *puVar4 = 0; - uVar6 = 1; - } - } - return uVar6; -} - - - -undefined8 FUN_7f09ca30(int iParm1) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7f078444(); - *(float *)(iParm1 + 0x18) = - -(*(float *)(iVar1 + 0x38) + - *(float *)(iVar1 + 8) * *(float *)(iParm1 + 8) + - *(float *)(iVar1 + 0x18) * *(float *)(iParm1 + 0xc) + - *(float *)(iVar1 + 0x28) * *(float *)(iParm1 + 0x10)); - fVar2 = *(float *)(iParm1 + 0x18); - if (fVar2 < 100.00000000) { - *(float *)(iParm1 + 0x18) = fVar2 * 0.50000000; - } - else { - *(float *)(iParm1 + 0x18) = fVar2 - 100.00000000; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F09D800(int iParm1,undefined4 *puParm2,longlong lParm3) - -{ - byte bVar1; - short sVar2; - undefined8 uVar3; - longlong lVar4; - undefined8 uVar5; - undefined4 uVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - undefined4 *puVar11; - undefined4 *puVar12; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - - bVar1 = *(byte *)(iParm1 + 0x2c); - iVar8 = *(int *)(iParm1 + 4); - uVar3 = FUN_7f0bbe14((ulonglong)bVar1); - if (lParm3 != 0) { - lVar4 = loc_7F054B64(iParm1,&uStack32); - if (lVar4 < 1) { - puVar11 = (undefined4 *)FUN_7f0b42f0(puParm2); - } - else { - puVar11 = (undefined4 *)FUN_7f0b4330(puParm2,uStack32,uStack28,uStack24,uStack20); - } - *puVar11 = 0xb6000000; - puVar11[1] = 0x13000; - puVar11[2] = 0x1030040; - uVar5 = FUN_7f078414(); - uVar6 = osVirtualToPhysical(uVar5); - puVar11[3] = uVar6; - puVar11 = (undefined4 *)FUN_7f0bbdc4(puVar11 + 4,(ulonglong)bVar1); - *puVar11 = 0xbc000806; - puVar12 = puVar11 + 2; - uVar6 = osVirtualToPhysical(_DAT_80074494); - puVar11[1] = uVar6; - puVar11 = &DAT_8003a44c; - iVar10 = 0xe; - do { - *puVar12 = 0x6000000; - iVar9 = 0; - puVar12[1] = *puVar11; - iVar7 = iVar8; - puVar12 = puVar12 + 2; - do { - if ((0 < *(short *)(iVar7 + 0x1c)) && - (iVar10 == (int)((float)((int)*(short *)(iVar7 + 0x1c) + -1) / - *(float *)(&DAT_80039ef4 + (int)*(char *)(iVar8 + 0x3cc) * 0x40)))) { - puVar12 = (undefined4 *)FUN_7f09cd70(iVar7 + 8,puVar12,uVar3); - } - iVar9 += 0x18; - iVar7 += 0x18; - } while (iVar9 < 0x3c0); - iVar10 += -1; - puVar11 = puVar11 + -1; - } while (-1 < iVar10); - *puVar12 = 0x1030040; - puParm2 = puVar12 + 2; - uVar3 = FUN_7f0783f4(); - uVar6 = osVirtualToPhysical(uVar3); - puVar12[1] = uVar6; - iVar10 = 0; - lVar4 = (longlong) - (int)(*(float *)(&DAT_80039ef4 + (int)*(char *)(iVar8 + 0x3cc) * 0x40) * 15.00000000); - do { - iVar10 += 0x60; - if (lVar4 < (longlong)*(short *)(iVar8 + 0x1c)) { - *(undefined2 *)(iVar8 + 0x1c) = 0; - sVar2 = *(short *)(iVar8 + 0x34); - } - else { - sVar2 = *(short *)(iVar8 + 0x34); - } - if (lVar4 < (longlong)sVar2) { - *(undefined2 *)(iVar8 + 0x34) = 0; - sVar2 = *(short *)(iVar8 + 0x4c); - } - else { - sVar2 = *(short *)(iVar8 + 0x4c); - } - if (lVar4 < (longlong)sVar2) { - *(undefined2 *)(iVar8 + 0x4c) = 0; - sVar2 = *(short *)(iVar8 + 100); - } - else { - sVar2 = *(short *)(iVar8 + 100); - } - if (lVar4 < (longlong)sVar2) { - *(undefined2 *)(iVar8 + 100) = 0; - } - iVar8 += 0x60; - } while (iVar10 != 0x3c0); - } - return puParm2; -} - - - -undefined4 * FUN_7f09cd70(float *pfParm1,undefined4 *puParm2,float *pfParm3) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - float *pfVar4; - float *pfVar5; - undefined4 *puVar6; - undefined4 uVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - - uVar3 = DAT_8003a55c; - uVar2 = DAT_8003a558; - uVar1 = DAT_8003a554; - uVar7 = DAT_8003a550; - pfVar4 = (float *)FUN_7f0784c4(); - pfVar5 = (float *)FUN_7f08a1a0(); - fVar24 = *pfParm1 - *pfVar5; - fVar25 = pfParm1[1] - pfVar5[1]; - fVar26 = pfParm1[2] - pfVar5[2]; - fVar8 = (float)sqrtf(fVar24 * fVar24 + fVar25 * fVar25 + fVar26 * fVar26); - fVar15 = 100.00000000; - if (fVar8 * 0.50000000 <= 100.00000000) { - fVar15 = fVar8 * 0.50000000; - } - if (fVar8 == 0.00000000) { - fVar8 = 0.00000000; - fVar15 = pfParm1[3]; - } - else { - fVar8 = (fVar8 - fVar15) / fVar8; - fVar15 = pfParm1[3]; - } - fVar15 = fVar15 * fVar8; - fVar23 = pfParm1[4] * fVar8; - fVar16 = *pfVar5 + fVar24 * fVar8; - fVar9 = pfVar5[1] + fVar25 * fVar8; - fVar24 = pfVar5[2] + fVar26 * fVar8; - puVar6 = (undefined4 *)FUN_7f0bca74(4); - *puVar6 = uVar7; - puVar6[1] = uVar1; - puVar6[2] = uVar2; - puVar6[3] = uVar3; - puVar6[4] = uVar7; - puVar6[5] = uVar1; - puVar6[6] = uVar2; - puVar6[7] = uVar3; - puVar6[8] = uVar7; - puVar6[9] = uVar1; - puVar6[10] = uVar2; - puVar6[0xb] = uVar3; - puVar6[0xc] = uVar7; - puVar6[0xd] = uVar1; - puVar6[0xe] = uVar2; - puVar6[0xf] = uVar3; - puVar6[0x10] = uVar7; - puVar6[0x11] = uVar1; - puVar6[0x12] = uVar2; - puVar6[0x13] = uVar3; - fVar26 = *pfVar4; - fVar17 = pfVar4[1]; - fVar10 = pfVar4[2]; - fVar18 = *pfVar4; - fVar11 = pfVar4[1]; - fVar19 = pfVar4[2]; - fVar12 = pfVar4[4]; - fVar20 = pfVar4[5]; - fVar13 = pfVar4[6]; - fVar21 = pfVar4[4]; - fVar14 = pfVar4[5]; - fVar22 = pfVar4[6]; - fVar8 = (float)FUN_7f0b3b78(); - *(short *)puVar6 = (short)(int)(((fVar16 - fVar26 * fVar15) - fVar21 * fVar23) * fVar8 - *pfParm3) - ; - fVar8 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar6 + 2) = - (short)(int)(((fVar9 - fVar17 * fVar15) - fVar14 * fVar23) * fVar8 - pfParm3[1]); - fVar8 = (float)FUN_7f0b3b78(); - fVar25 = pfParm3[2]; - *(undefined2 *)(puVar6 + 2) = 0x6e0; - *(undefined2 *)((int)puVar6 + 10) = 0; - *(short *)(puVar6 + 1) = - (short)(int)(((fVar24 - fVar10 * fVar15) - fVar22 * fVar23) * fVar8 - fVar25); - fVar8 = (float)FUN_7f0b3b78(); - *(short *)(puVar6 + 4) = - (short)(int)(((fVar16 + fVar18 * fVar23) - fVar12 * fVar15) * fVar8 - *pfParm3); - fVar8 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar6 + 0x12) = - (short)(int)(((fVar9 + fVar11 * fVar23) - fVar20 * fVar15) * fVar8 - pfParm3[1]); - fVar8 = (float)FUN_7f0b3b78(); - fVar25 = pfParm3[2]; - *(undefined2 *)(puVar6 + 6) = 0; - *(undefined2 *)((int)puVar6 + 0x1a) = 0; - *(short *)(puVar6 + 5) = - (short)(int)(((fVar24 + fVar19 * fVar23) - fVar13 * fVar15) * fVar8 - fVar25); - fVar8 = (float)FUN_7f0b3b78(); - *(short *)(puVar6 + 8) = - (short)(int)((fVar16 + fVar26 * fVar15 + fVar21 * fVar23) * fVar8 - *pfParm3); - fVar8 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar6 + 0x22) = - (short)(int)((fVar9 + fVar17 * fVar15 + fVar14 * fVar23) * fVar8 - pfParm3[1]); - fVar8 = (float)FUN_7f0b3b78(); - fVar25 = pfParm3[2]; - *(undefined2 *)(puVar6 + 10) = 0; - *(undefined2 *)((int)puVar6 + 0x2a) = 0x6e0; - *(short *)(puVar6 + 9) = - (short)(int)((fVar24 + fVar10 * fVar15 + fVar22 * fVar23) * fVar8 - fVar25); - fVar8 = (float)FUN_7f0b3b78(); - *(short *)(puVar6 + 0xc) = - (short)(int)(((fVar16 - fVar18 * fVar23) + fVar12 * fVar15) * fVar8 - *pfParm3); - fVar8 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar6 + 0x32) = - (short)(int)(((fVar9 - fVar11 * fVar23) + fVar20 * fVar15) * fVar8 - pfParm3[1]); - fVar8 = (float)FUN_7f0b3b78(); - fVar25 = pfParm3[2]; - *(undefined2 *)(puVar6 + 0xe) = 0x6e0; - *(undefined2 *)((int)puVar6 + 0x3a) = 0x6e0; - *(short *)(puVar6 + 0xd) = - (short)(int)(((fVar24 - fVar19 * fVar23) + fVar13 * fVar15) * fVar8 - fVar25); - *puParm2 = 0x4300040; - uVar7 = osVirtualToPhysical(puVar6); - puParm2[1] = uVar7; - puParm2[3] = 0x2010; - puParm2[2] = 0xb1000032; - return puParm2 + 4; -} - - - -undefined4 * loc_7F09E6D8(int iParm1,float *pfParm2,undefined4 *puParm3,float *pfParm4) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - float *pfVar4; - float *pfVar5; - undefined4 *puVar6; - undefined4 uVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - undefined uStack97; - - uVar3 = DAT_8003a56c; - uVar2 = DAT_8003a568; - uVar1 = DAT_8003a564; - uVar7 = DAT_8003a560; - pfVar4 = (float *)FUN_7f0784c4(); - pfVar5 = (float *)FUN_7f08a1a0(); - if (*(short *)(&DAT_80039dce + (int)*(short *)(iParm1 + 6) * 0x18) < *(short *)(pfParm2 + 9)) { - fVar21 = pfParm2[8]; - if (false) { - fVar10 = ROUND(fVar21); - } - else { - fVar10 = FLOOR(fVar21); - } - uStack97 = (undefined)(int)fVar10; - if (false) { - if (false) { - fVar21 = ROUND(fVar21 - 2147483648.00000000); - } - else { - fVar21 = FLOOR(fVar21 - 2147483648.00000000); - } - if (true) { - uStack97 = (undefined)(int)fVar21; - goto LAB_7f09d4c0; - } - } - else { - if (-1 < (int)fVar10) goto LAB_7f09d4c0; - } - uStack97 = 0xff; - } - else { - fVar21 = (pfParm2[8] / - (float)(int)*(short *)(&DAT_80039dce + (int)*(short *)(iParm1 + 6) * 0x18)) * - (float)(int)*(short *)(pfParm2 + 9); - if (false) { - fVar10 = ROUND(fVar21); - } - else { - fVar10 = FLOOR(fVar21); - } - uStack97 = (undefined)(int)fVar10; - if (false) { - if (false) { - fVar21 = ROUND(fVar21 - 2147483648.00000000); - } - else { - fVar21 = FLOOR(fVar21 - 2147483648.00000000); - } - if (true) { - uStack97 = (undefined)(int)fVar21; - goto LAB_7f09d4c0; - } - } - else { - if (-1 < (int)fVar10) goto LAB_7f09d4c0; - } - uStack97 = 0xff; - } -LAB_7f09d4c0: - puVar6 = (undefined4 *)FUN_7f0bca74(4); - *puVar6 = uVar7; - puVar6[1] = uVar1; - puVar6[2] = uVar2; - puVar6[3] = uVar3; - puVar6[4] = uVar7; - puVar6[5] = uVar1; - puVar6[6] = uVar2; - puVar6[7] = uVar3; - puVar6[8] = uVar7; - puVar6[9] = uVar1; - puVar6[10] = uVar2; - puVar6[0xb] = uVar3; - puVar6[0xc] = uVar7; - puVar6[0xd] = uVar1; - puVar6[0xe] = uVar2; - puVar6[0xf] = uVar3; - fVar21 = (float)func_7F057FC4(pfParm2[4]); - fVar18 = pfParm2[3]; - fVar10 = (float)func_7F057FC4(pfParm2[4]); - fVar11 = pfParm2[3]; - fVar9 = (float)func_7F057FC4(pfParm2[6]); - fVar19 = *pfParm2; - fVar22 = pfParm2[1]; - fVar8 = (float)func_7F057FC4(pfParm2[7]); - fVar19 = (fVar9 * 7.00000000 + fVar19) - *pfVar5; - fVar22 = fVar22 - pfVar5[1]; - fVar8 = (fVar8 * 7.00000000 + pfParm2[2]) - pfVar5[2]; - fVar9 = (float)sqrtf(fVar19 * fVar19 + fVar22 * fVar22 + fVar8 * fVar8); - if (fVar9 <= DAT_8004cd84) { - fVar12 = 100.00000000; - if (fVar9 * 0.50000000 <= 100.00000000) { - fVar12 = fVar9 * 0.50000000; - } - if (fVar9 == 0.00000000) { - fVar9 = 0.00000000; - } - else { - fVar9 = (fVar9 - fVar12) / fVar9; - } - fVar26 = fVar21 * fVar18 * fVar9; - fVar27 = fVar10 * fVar11 * fVar9; - fVar20 = *pfVar5 + fVar19 * fVar9; - fVar23 = pfVar5[1] + fVar22 * fVar9; - fVar24 = pfVar5[2] + fVar8 * fVar9; - fVar12 = *pfVar4; - fVar9 = pfVar4[1]; - fVar13 = pfVar4[2]; - fVar8 = *pfVar4; - fVar14 = pfVar4[1]; - fVar11 = pfVar4[2]; - fVar15 = pfVar4[4]; - fVar18 = pfVar4[5]; - fVar16 = pfVar4[6]; - fVar19 = pfVar4[4]; - fVar17 = pfVar4[5]; - fVar22 = pfVar4[6]; - fVar21 = (float)FUN_7f0b3b78(); - fVar10 = (((fVar20 - fVar12 * fVar26) - fVar19 * fVar27) * fVar21 - *pfParm4) * 10.00000000; - fVar21 = (float)FUN_7f0b3b78(); - fVar25 = (((fVar23 - fVar9 * fVar26) - fVar17 * fVar27) * fVar21 - pfParm4[1]) * 10.00000000; - fVar21 = (float)FUN_7f0b3b78(); - fVar21 = (((fVar24 - fVar13 * fVar26) - fVar22 * fVar27) * fVar21 - pfParm4[2]) * 10.00000000; - if ((((fVar10 <= DAT_8004cd88) && (DAT_8004cd8c <= fVar10)) && (fVar25 <= DAT_8004cd88)) && - (((DAT_8004cd8c <= fVar25 && (fVar21 <= DAT_8004cd88)) && (DAT_8004cd8c <= fVar21)))) { - *(undefined2 *)(puVar6 + 2) = 0x6e0; - *(undefined2 *)((int)puVar6 + 10) = 0; - *(short *)puVar6 = (short)(int)fVar10; - *(undefined2 *)((int)puVar6 + 2) = (short)(int)fVar25; - *(short *)(puVar6 + 1) = (short)(int)fVar21; - *(undefined *)(puVar6 + 3) = (&DAT_80039dd8)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0xd) = (&DAT_80039dd9)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0xe) = (&DAT_80039dda)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0xf) = uStack97; - fVar21 = (float)FUN_7f0b3b78(); - *(short *)(puVar6 + 4) = - (short)(int)((((fVar20 + fVar8 * fVar27) - fVar15 * fVar26) * fVar21 - *pfParm4) * - 10.00000000); - fVar21 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar6 + 0x12) = - (short)(int)((((fVar23 + fVar14 * fVar27) - fVar18 * fVar26) * fVar21 - pfParm4[1]) * - 10.00000000); - fVar21 = (float)FUN_7f0b3b78(); - fVar10 = pfParm4[2]; - *(undefined2 *)(puVar6 + 6) = 0; - *(undefined2 *)((int)puVar6 + 0x1a) = 0; - *(short *)(puVar6 + 5) = - (short)(int)((((fVar24 + fVar11 * fVar27) - fVar16 * fVar26) * fVar21 - fVar10) * - 10.00000000); - *(undefined *)(puVar6 + 7) = (&DAT_80039dd8)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x1d) = (&DAT_80039dd9)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x1e) = (&DAT_80039dda)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x1f) = uStack97; - fVar21 = (float)FUN_7f0b3b78(); - *(short *)(puVar6 + 8) = - (short)(int)(((fVar20 + fVar12 * fVar26 + fVar19 * fVar27) * fVar21 - *pfParm4) * - 10.00000000); - fVar21 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar6 + 0x22) = - (short)(int)(((fVar23 + fVar9 * fVar26 + fVar17 * fVar27) * fVar21 - pfParm4[1]) * - 10.00000000); - fVar21 = (float)FUN_7f0b3b78(); - fVar10 = pfParm4[2]; - *(undefined2 *)(puVar6 + 10) = 0; - *(undefined2 *)((int)puVar6 + 0x2a) = 0x6e0; - *(short *)(puVar6 + 9) = - (short)(int)(((fVar24 + fVar13 * fVar26 + fVar22 * fVar27) * fVar21 - fVar10) * - 10.00000000); - *(undefined *)(puVar6 + 0xb) = (&DAT_80039dd8)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x2d) = (&DAT_80039dd9)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x2e) = (&DAT_80039dda)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x2f) = uStack97; - fVar21 = (float)FUN_7f0b3b78(); - *(short *)(puVar6 + 0xc) = - (short)(int)((((fVar20 - fVar8 * fVar27) + fVar15 * fVar26) * fVar21 - *pfParm4) * - 10.00000000); - fVar21 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar6 + 0x32) = - (short)(int)((((fVar23 - fVar14 * fVar27) + fVar18 * fVar26) * fVar21 - pfParm4[1]) * - 10.00000000); - fVar21 = (float)FUN_7f0b3b78(); - fVar10 = pfParm4[2]; - *(undefined2 *)(puVar6 + 0xe) = 0x6e0; - *(undefined2 *)((int)puVar6 + 0x3a) = 0x6e0; - *(short *)(puVar6 + 0xd) = - (short)(int)((((fVar24 - fVar11 * fVar27) + fVar16 * fVar26) * fVar21 - fVar10) * - 10.00000000); - *(undefined *)(puVar6 + 0xf) = (&DAT_80039dd8)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x3d) = (&DAT_80039dd9)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x3e) = (&DAT_80039dda)[(int)*(short *)(iParm1 + 6) * 0x18]; - *(undefined *)((int)puVar6 + 0x3f) = uStack97; - *puParm3 = 0x4300040; - uVar7 = osVirtualToPhysical(puVar6); - puParm3[1] = uVar7; - puParm3[3] = 0x2010; - puParm3[2] = 0xb1000032; - puParm3 = puParm3 + 4; - } - } - return puParm3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09dc44(undefined4 *puParm1,undefined4 uParm2,undefined2 uParm3,char *pcParm4,int iParm5) - -{ - char *pcVar1; - short sVar2; - longlong lVar3; - undefined *puVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - - lVar3 = FUN_7f0999a4(); - puVar7 = NULL; - iVar6 = 0; - do { - iVar5 = iVar6 + _DAT_80068c50; - if (*(int *)(_DAT_80068c50 + iVar6) == 0) { - puVar7 = (undefined4 *)(iVar6 + _DAT_80068c50); - break; - } - iVar6 += 0x198; - if ((((1 < lVar3) && (sVar2 = *(short *)(iVar5 + 6), sVar2 != 7)) && (sVar2 != 8)) && - (sVar2 != 9)) { - *(undefined2 *)(iVar5 + 4) = *(undefined2 *)(&DAT_80039dcc + (int)sVar2 * 0x18); - } - } while (iVar6 < 0x1fe0); - if (puVar7 != NULL) { - lVar3 = FUN_7f03a4f0(); - lVar3._4_4_ = (undefined *)lVar3; - if (lVar3 != 0) { - *lVar3._4_4_ = 8; - lVar3._4_4_[1] = lVar3._4_4_[1] | 2; - *(undefined4 **)(lVar3._4_4_ + 4) = puVar7; - iVar6 = 0; - *(undefined4 *)(lVar3._4_4_ + 0x14) = uParm2; - *(undefined4 *)(lVar3._4_4_ + 8) = *puParm1; - *(undefined4 *)(lVar3._4_4_ + 0xc) = puParm1[1]; - *(undefined4 *)(lVar3._4_4_ + 0x10) = puParm1[2]; - if (*pcParm4 != -1) { - lVar3._4_4_[0x2c] = *pcParm4; - puVar4 = lVar3._4_4_; - while( true ) { - pcVar1 = pcParm4 + 1; - iVar6 += 1; - pcParm4 = pcParm4 + 1; - if ((*pcVar1 == -1) || (iVar6 == 7)) break; - puVar4[0x2d] = *pcVar1; - puVar4 = puVar4 + 1; - } - } - lVar3._4_4_[iVar6 + 0x2c] = 0xff; - if (iParm5 != 0) { - lVar3._4_4_[1] = lVar3._4_4_[1] | 8; - } - FUN_7f03a5b0(lVar3._4_4_); - set_stateflag_0x04_for_posdata(lVar3._4_4_); - *(undefined2 *)(puVar7 + 1) = 0; - *(undefined **)puVar7 = lVar3._4_4_; - *(undefined2 *)((int)puVar7 + 6) = uParm3; - } - } - return; -} - - - -undefined8 FUN_7f09ddf0(int iParm1) - -{ - short sVar1; - short sVar2; - undefined4 *puVar3; - bool bVar4; - float fVar5; - undefined8 uVar6; - longlong lVar7; - uint uVar8; - float *pfVar9; - float *pfVar10; - undefined4 *puVar11; - undefined4 *puVar12; - int iVar13; - int iVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float afStack28 [7]; - - fVar5 = DAT_8004cd9c; - fVar18 = DAT_8004cd98; - fVar17 = DAT_8004cd94; - fVar16 = DAT_8004cd90; - puVar3 = *(undefined4 **)(iParm1 + 4); - if (DAT_80040ff4 == 0) { - uVar6 = 0; - } - else { - if (DAT_80040ff4 < 0xf) { - fVar15 = (float)DAT_80040ff4; - } - else { - fVar15 = 15.00000000; - } - iVar14 = 0; - if (0 < (int)fVar15) { - sVar1 = *(short *)(puVar3 + 1); - do { - iVar13 = 0; - *(short *)(puVar3 + 1) = sVar1 + 1; - puVar12 = puVar3; - do { - if ((float)puVar12[5] != 0.00000000) { - *(float *)(puVar12 + 3) = (float)puVar12[3] + fVar17; - *(float *)(puVar12 + 5) = (float)puVar12[5] + fVar16; - fVar19 = *(float *)(&DAT_80039ddc + (int)*(short *)((int)puVar3 + 6) * 0x18); - *(short *)(puVar12 + 0xb) = *(short *)(puVar12 + 0xb) + 1; - *(float *)(puVar12 + 6) = (float)puVar12[6] + (float)puVar12[7]; - *(float *)(puVar12 + 10) = (float)puVar12[10] - fVar19; - lVar7 = FUN_700098b0(); - fVar19 = (float)(int)lVar7; - if (lVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 8) = (float)puVar12[8] + fVar5 + fVar19 * 0.00000000 * fVar18; - lVar7 = FUN_700098b0(); - fVar19 = (float)(int)lVar7; - if (lVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 9) = (float)puVar12[9] + fVar5 + fVar19 * 0.00000000 * fVar18; - if ((float)puVar12[10] < 4.00000000) { - puVar12[5] = 0; - } - } - iVar13 += 0x28; - puVar12 = puVar12 + 10; - } while (iVar13 < 400); - sVar1 = *(short *)(puVar3 + 1); - iVar13 = (int)*(short *)((int)puVar3 + 6) * 0x18; - if ((longlong)sVar1 < (longlong)*(short *)(&DAT_80039dcc + iVar13)) { - sVar2 = *(short *)(&DAT_80039dd0 + iVar13); - iVar13 = 0; - if (sVar2 == 0) { - trap(0x1c00); - } - if ((sVar2 == -1) && ((longlong)sVar1 == -0x80000000)) { - trap(0x1800); - } - puVar12 = puVar3; - if ((int)sVar1 % (int)sVar2 == 1) { - do { - iVar13 += 0x28; - if ((float)puVar12[5] == 0.00000000) { - lVar7 = FUN_700098b0(); - fVar19 = (float)(int)lVar7; - if (lVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 5) = - (fVar19 * 0.00000000 * 0.50000000 + 1.00000000) * - (float)(int)*(short *)(&DAT_80039dd2 + (int)*(short *)((int)puVar3 + 6) * 0x18) - ; - uVar8 = FUN_700098b0(); - fVar19 = (float)(uVar8 % 0x46); - if (false) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(undefined2 *)(puVar12 + 0xb) = 0; - *(float *)(puVar12 + 10) = fVar19 + 110.00000000; - lVar7 = FUN_700098b0(); - fVar19 = (float)(int)lVar7; - if (lVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 6) = fVar19 * 0.00000000 * DAT_8004cda0; - lVar7 = FUN_700098b0(); - fVar19 = (float)(int)lVar7; - if (lVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 7) = - *(float *)(&DAT_80039dd4 + (int)*(short *)((int)puVar3 + 6) * 0x18) * - (0.50000000 - fVar19 * 0.00000000); - puVar12[2] = *(undefined4 *)(iParm1 + 8); - puVar12[3] = *(undefined4 *)(iParm1 + 0xc); - puVar12[4] = *(undefined4 *)(iParm1 + 0x10); - lVar7 = FUN_700098b0(); - fVar19 = (float)(int)lVar7; - if (lVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 8) = fVar19 * 0.00000000 * 0.50000000; - lVar7 = FUN_700098b0(); - fVar19 = (float)(int)lVar7; - if (lVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 9) = fVar19 * 0.00000000 * 0.50000000; - iVar13 = (int)*(short *)((int)puVar3 + 6) * 0x18; - if ((longlong) - ((int)*(short *)(&DAT_80039dcc + iVar13) - - (int)*(short *)(&DAT_80039de0 + iVar13)) < (longlong)*(short *)(puVar3 + 1)) { - *(float *)(puVar12 + 10) = - (float)puVar12[10] * - ((float)((int)*(short *)(&DAT_80039dcc + iVar13) - - (int)*(short *)(puVar3 + 1)) / - (float)(int)*(short *)(&DAT_80039de0 + iVar13)); - } - break; - } - puVar12 = puVar12 + 10; - } while (iVar13 != 400); - } - } - iVar14 += 1; - if (iVar14 == (int)fVar15) break; - sVar1 = *(short *)(puVar3 + 1); - } while( true ); - } - fStack40 = *(float *)(iParm1 + 8) - 1.00000000; - iVar14 = 0; - fStack36 = *(float *)(iParm1 + 0xc) - 1.00000000; - fStack32 = *(float *)(iParm1 + 0x10) - 1.00000000; - fStack52 = *(float *)(iParm1 + 8) + 1.00000000; - fStack48 = *(float *)(iParm1 + 0xc) + 1.00000000; - fStack44 = *(float *)(iParm1 + 0x10) + 1.00000000; - puVar12 = puVar3; - do { - iVar14 += 0x28; - iVar13 = 0; - pfVar9 = &fStack52 + 3; - puVar11 = puVar12; - if ((float)puVar12[5] != 0.00000000) { - do { - pfVar10 = (float *)(puVar11 + 2); - puVar11 = puVar11 + 1; - fVar16 = *pfVar10 - (float)puVar12[5]; - pfVar10 = (float *)((int)&fStack52 + iVar13); - if (fVar16 < *pfVar9) { - *pfVar9 = fVar16; - } - else { - if (*pfVar10 < fVar16) { - *pfVar10 = fVar16; - } - } - pfVar9 = pfVar9 + 1; - iVar13 += 4; - } while (pfVar9 != afStack28); - } - puVar12 = puVar12 + 10; - } while (iVar14 < 400); - fVar16 = *(float *)(iParm1 + 8) - fStack40; - if (0.00000000 < fVar16) { - fVar17 = *(float *)(iParm1 + 0x10); - } - else { - fVar17 = *(float *)(iParm1 + 0x10); - fVar16 = 0.00000000; - } - fVar18 = fVar17 - fStack32; - if (fVar18 <= fVar16) { - fVar18 = fVar16; - } - fVar16 = fStack52 - *(float *)(iParm1 + 8); - fVar17 = fStack44 - fVar17; - if (fVar16 <= fVar18) { - fVar16 = fVar18; - } - if (fVar17 <= fVar16) { - fVar17 = fVar16; - } - loc_7F03E3E0(iParm1,&fStack52 + 3,&fStack52,fVar17); - iVar14 = 0; - bVar4 = false; - if (*(short *)(&DAT_80039dd0 + (int)*(short *)((int)puVar3 + 6) * 0x18) < *(short *)(puVar3 + 1) - ) { - bVar4 = true; - puVar12 = puVar3; - do { - iVar14 += 0x28; - if (0.00000000 < (float)puVar12[5]) { - bVar4 = false; - break; - } - puVar12 = puVar12 + 10; - } while (iVar14 != 400); - } - uVar6 = 0; - if (bVar4) { - *puVar3 = 0; - uVar6 = 1; - } - } - return uVar6; -} - - - -undefined8 FUN_7f09e4e0(int iParm1) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7f078444(); - *(float *)(iParm1 + 0x18) = - -(*(float *)(iVar1 + 0x38) + - *(float *)(iVar1 + 8) * *(float *)(iParm1 + 8) + - *(float *)(iVar1 + 0x18) * *(float *)(iParm1 + 0xc) + - *(float *)(iVar1 + 0x28) * *(float *)(iParm1 + 0x10)); - fVar2 = *(float *)(iParm1 + 0x18); - if (fVar2 < 100.00000000) { - *(float *)(iParm1 + 0x18) = fVar2 * 0.50000000; - } - else { - *(float *)(iParm1 + 0x18) = fVar2 - 100.00000000; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F09F22C(int iParm1,undefined4 *puParm2,longlong lParm3) - -{ - byte bVar1; - int iVar2; - undefined8 uVar3; - longlong lVar4; - undefined8 uVar5; - undefined4 uVar6; - int iVar7; - int iVar8; - undefined4 *puVar9; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - - bVar1 = *(byte *)(iParm1 + 0x2c); - iVar2 = *(int *)(iParm1 + 4); - uVar3 = FUN_7f0bbe14((ulonglong)bVar1); - if (lParm3 != 0) { - lVar4 = loc_7F054B64(iParm1,&uStack24); - if (lVar4 < 1) { - puVar9 = (undefined4 *)FUN_7f0b42f0(puParm2); - } - else { - puVar9 = (undefined4 *)FUN_7f0b4330(puParm2,uStack24,uStack20,uStack16,uStack12); - } - *puVar9 = 0xb6000000; - puVar9[1] = 0x13000; - puVar9[2] = 0x1030040; - uVar5 = FUN_7f078414(); - uVar6 = osVirtualToPhysical(uVar5); - puVar9[3] = uVar6; - puVar9 = (undefined4 *)FUN_7f0bbdc4(puVar9 + 4,(ulonglong)bVar1); - *puVar9 = 0x1000040; - uVar6 = osVirtualToPhysical(0xffffffff80068c10); - puVar9[1] = uVar6; - puVar9[2] = 0xbc000806; - uVar6 = osVirtualToPhysical(_DAT_80074494); - puVar9[3] = uVar6; - puVar9[4] = 0x6000000; - puVar9[5] = 0x2000000; - puVar9[7] = 0x80; - puVar9[6] = 0xba000602; - puVar9 = puVar9 + 8; - iVar8 = 0; - iVar7 = iVar2; - do { - if (0.00000000 < *(float *)(iVar7 + 0x14)) { - puVar9 = (undefined4 *)loc_7F09E6D8(iVar2,iVar7 + 8,puVar9,uVar3); - } - else { - *(undefined4 *)(iVar7 + 0x14) = 0; - } - iVar8 += 0x28; - iVar7 += 0x28; - } while (iVar8 != 400); - puVar9[1] = 0x40; - *puVar9 = 0xba000602; - puVar9[2] = 0x1030040; - puParm2 = puVar9 + 4; - uVar3 = FUN_7f0783f4(); - uVar6 = osVirtualToPhysical(uVar3); - puVar9[3] = uVar6; - } - return puParm2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F09FD20(float *pfParm1,float fParm2,float fParm3,float fParm4,float fParm5) - -{ - short sVar1; - longlong lVar2; - uint uVar4; - ushort uVar5; - ulonglong uVar3; - byte bVar6; - char cVar7; - short sVar8; - float fVar9; - float fVar10; - float fVar11; - - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fVar11 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) - 1.00000000; - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fVar9 = fVar9 * 0.00000000 * DAT_8004cda4 - DAT_8004cda8; - lVar2 = FUN_700098b0(); - *(undefined4 *)(_DAT_80068c5c + DAT_8003a450 * 0x78) = 1; - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 4) = *pfParm1 + fParm2 * fVar11; - fVar10 = (float)(int)lVar2; - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 8) = pfParm1[1] + fParm2 * fVar9; - if (lVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = (fVar10 * 0.00000000 + fVar10 * 0.00000000) - 1.00000000; - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0xc) = pfParm1[2] + fParm2 * fVar10; - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x1c) = fVar11 * fParm3; - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x20) = fVar9 * fParm4; - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x24) = fVar10 * fParm3; - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x38) = - (short)(int)((fVar9 * 0.00000000 * 0.75000000 + 0.75000000) * fParm5); - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x3a) = 0; - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x3c) = - (short)(int)((fVar9 * 0.00000000 * 0.75000000 + 0.75000000) * fParm5); - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x48) = - (short)(int)((fVar9 * 0.00000000 * 0.75000000 + 0.75000000) * fParm5); - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x4a) = 0; - lVar2 = FUN_700098b0(); - fVar9 = -fParm5; - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x4c) = - (short)(int)((fVar11 * 0.00000000 * 0.75000000 + 0.75000000) * fVar9); - lVar2 = FUN_700098b0(); - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x58) = - (short)(int)((fVar11 * 0.00000000 * 0.75000000 + 0.75000000) * fVar9); - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x5a) = 0; - lVar2 = FUN_700098b0(); - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x5c) = - (short)(int)((fVar11 * 0.00000000 * 0.75000000 + 0.75000000) * fVar9); - lVar2 = FUN_700098b0(); - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x68) = - (short)(int)((fVar11 * 0.00000000 * 0.75000000 + 0.75000000) * fVar9); - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x6a) = 0; - lVar2 = FUN_700098b0(); - fVar9 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x6c) = - (short)(int)((fVar9 * 0.00000000 * 0.75000000 + 0.75000000) * fParm5); - uVar4 = FUN_700098b0(); - sVar8 = (short)((uVar4 & 3) << 8); - uVar5 = FUN_700098b0(); - sVar1 = (uVar5 & 3) * 0x100; - *(short *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x40) = sVar8 + 0xe0; - *(short *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x42) = sVar1 + 0xe0; - *(short *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x50) = sVar8 + 0xe0; - *(short *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x52) = sVar1; - *(short *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x60) = sVar8; - *(short *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x62) = sVar1; - *(short *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x70) = sVar8; - *(short *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x72) = sVar1 + 0xe0; - uVar3 = FUN_700098b0(); - if ((uVar3 & 1) == 0) { - bVar6 = FUN_700098b0(); - bVar6 &= 0x3f; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x46) = bVar6; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x45) = bVar6; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x44) = bVar6; - bVar6 = FUN_700098b0(); - bVar6 &= 0x3f; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x56) = bVar6; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x55) = bVar6; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x54) = bVar6; - bVar6 = FUN_700098b0(); - bVar6 &= 0x3f; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x66) = bVar6; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x65) = bVar6; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 100) = bVar6; - bVar6 = FUN_700098b0(); - bVar6 &= 0x3f; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x76) = bVar6; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x75) = bVar6; - *(byte *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x74) = bVar6; - } - else { - bVar6 = FUN_700098b0(); - cVar7 = -1 - (bVar6 & 0x3f); - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x46) = cVar7; - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x45) = cVar7; - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x44) = cVar7; - bVar6 = FUN_700098b0(); - cVar7 = -1 - (bVar6 & 0x3f); - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x56) = cVar7; - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x55) = cVar7; - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x54) = cVar7; - bVar6 = FUN_700098b0(); - cVar7 = -1 - (bVar6 & 0x3f); - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x66) = cVar7; - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x65) = cVar7; - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 100) = cVar7; - bVar6 = FUN_700098b0(); - cVar7 = -1 - (bVar6 & 0x3f); - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x76) = cVar7; - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x75) = cVar7; - *(char *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x74) = cVar7; - } - *(undefined *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x47) = 0xdc; - *(undefined *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x57) = 0xdc; - *(undefined *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x67) = 0xdc; - *(undefined *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x77) = 0xdc; - lVar2 = FUN_700098b0(); - fVar9 = DAT_8004cdac; - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x10) = fVar11 * 0.00000000 * DAT_8004cdac; - lVar2 = FUN_700098b0(); - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x14) = fVar11 * 0.00000000 * fVar9; - lVar2 = FUN_700098b0(); - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x18) = fVar11 * 0.00000000 * fVar9; - lVar2 = FUN_700098b0(); - fVar9 = DAT_8004cdb0; - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x28) = fVar11 * 0.00000000 * DAT_8004cdb0; - lVar2 = FUN_700098b0(); - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x2c) = fVar11 * 0.00000000 * fVar9; - lVar2 = FUN_700098b0(); - fVar11 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)(_DAT_80068c5c + DAT_8003a450 * 0x78 + 0x30) = fVar11 * 0.00000000 * fVar9; - DAT_8003a450 += 1; - if (_DAT_80068c58 <= DAT_8003a450) { - DAT_8003a450 = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09f280(void) - -{ - float fVar1; - float fVar2; - float fVar3; - int iVar5; - ulonglong uVar4; - int *piVar6; - uint uVar7; - int iVar8; - int iVar9; - float fVar10; - float fVar11; - uint uVar12; - float fVar13; - - fVar3 = DAT_8004cdbc; - fVar2 = DAT_8004cdb8; - fVar1 = DAT_8004cdb4; - if (DAT_80040ff4 < 0xf) { - fVar13 = (float)DAT_80040ff4; - } - else { - fVar13 = 15.00000000; - } - iVar9 = 0; - iVar8 = 0; - if (0 < _DAT_80068c58) { - do { - iVar5 = *(int *)(_DAT_80068c5c + iVar8); - if (0 < iVar5) { - uVar12 = (uint)fVar13; - uVar7 = 0; - *(int *)(_DAT_80068c5c + iVar8) = iVar5 + uVar12; - iVar5 = _DAT_80068c5c + iVar8; - *(float *)(iVar5 + 0x10) = *(float *)(iVar5 + 0x10) + *(float *)(iVar5 + 0x28) * fVar13; - iVar5 = _DAT_80068c5c + iVar8; - *(float *)(iVar5 + 0x14) = *(float *)(iVar5 + 0x14) + *(float *)(iVar5 + 0x2c) * fVar13; - iVar5 = _DAT_80068c5c + iVar8; - *(float *)(iVar5 + 0x18) = *(float *)(iVar5 + 0x18) + *(float *)(iVar5 + 0x30) * fVar13; - iVar5 = _DAT_80068c5c + iVar8; - *(float *)(iVar5 + 4) = *(float *)(iVar5 + 4) + *(float *)(iVar5 + 0x1c) * fVar13; - iVar5 = _DAT_80068c5c + iVar8; - *(float *)(iVar5 + 0xc) = *(float *)(iVar5 + 0xc) + *(float *)(iVar5 + 0x24) * fVar13; - if (0 < (int)uVar12) { - if ((uVar12 & 1) != 0) { - uVar7 = 1; - iVar5 = _DAT_80068c5c + iVar8; - *(float *)(iVar5 + 8) = *(float *)(iVar5 + 8) + *(float *)(iVar5 + 0x20); - fVar10 = *(float *)(_DAT_80068c5c + iVar8 + 0x20); - if (-3.75000000 < fVar10) { - *(float *)(_DAT_80068c5c + iVar8 + 0x20) = fVar10 - fVar3; - } - if (uVar12 == 1) goto LAB_7f09f4b4; - } - do { - uVar7 += 2; - iVar5 = _DAT_80068c5c + iVar8; - *(float *)(iVar5 + 8) = *(float *)(iVar5 + 8) + *(float *)(iVar5 + 0x20); - iVar5 = _DAT_80068c5c + iVar8; - fVar10 = *(float *)(iVar5 + 0x20); - if (-3.75000000 < fVar10) { - *(float *)(iVar5 + 0x20) = fVar10 - fVar3; - iVar5 = _DAT_80068c5c + iVar8; - fVar10 = *(float *)(iVar5 + 0x20); - fVar11 = *(float *)(iVar5 + 8); - } - else { - fVar11 = *(float *)(iVar5 + 8); - } - *(float *)(iVar5 + 8) = fVar11 + fVar10; - fVar10 = *(float *)(_DAT_80068c5c + iVar8 + 0x20); - if (-3.75000000 < fVar10) { - *(float *)(_DAT_80068c5c + iVar8 + 0x20) = fVar10 - fVar3; - } - } while (uVar7 != uVar12); - } -LAB_7f09f4b4: - piVar6 = (int *)(_DAT_80068c5c + iVar8); - if (*piVar6 < 0x65) { - fVar10 = (float)piVar6[2]; - } - else { - uVar4 = FUN_700098b0(); - if (((uVar4 & 0x1f) == 0) || (piVar6 = (int *)(_DAT_80068c5c + iVar8), *piVar6 == 300)) { - *(undefined4 *)(_DAT_80068c5c + iVar8) = 0; - piVar6 = (int *)(_DAT_80068c5c + iVar8); - fVar10 = (float)piVar6[2]; - } - else { - fVar10 = (float)piVar6[2]; - } - } - if (fVar2 <= fVar10) { - if (fVar1 < fVar10) { - *piVar6 = 0; - } - } - else { - *piVar6 = 0; - } - } - iVar9 += 1; - iVar8 += 0x78; - } while (iVar9 < _DAT_80068c58); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0A0240(undefined4 *puParm1) - -{ - float fVar1; - float fVar2; - undefined4 uVar4; - int *piVar5; - undefined8 uVar3; - int iVar6; - int iVar7; - undefined auStack64 [48]; - float fStack16; - float fStack12; - float fStack8; - - puParm1[1] = 0x3000; - *puParm1 = 0xb6000000; - puParm1[2] = 0xbc000806; - uVar4 = osVirtualToPhysical(_DAT_80074494); - puParm1[3] = uVar4; - puParm1[4] = 0x6000000; - puParm1[5] = 0x2000a50; - puParm1[6] = 0xb900031d; - puParm1[7] = 0x5049d8; - fVar2 = DAT_8004cdc4; - fVar1 = DAT_8004cdc0; - puParm1 = puParm1 + 8; - iVar7 = 0; - iVar6 = 0; - if (0 < _DAT_80068c58) { - do { - piVar5 = (int *)(_DAT_80068c5c + iVar6); - if (0 < *piVar5) { - FUN_7f058dd4(piVar5 + 1,piVar5 + 4,auStack64); - uVar3 = FUN_7f078444(); - FUN_7f058540(uVar3,auStack64); - if ((((fStack16 < fVar2) && (fVar1 < fStack16)) && (fStack12 < fVar2)) && - (((fVar1 < fStack12 && (fStack8 < fVar2)) && (fVar1 < fStack8)))) { - uVar3 = FUN_7f0bca90(); - FUN_7f059144(auStack64,uVar3); - *puParm1 = 0x1020040; - uVar4 = osVirtualToPhysical(uVar3); - puParm1[1] = uVar4; - puParm1[2] = 0x4300040; - uVar4 = osVirtualToPhysical(_DAT_80068c5c + iVar6 + 0x38); - puParm1[3] = uVar4; - puParm1[5] = 0x2010; - puParm1[4] = 0xb1000032; - puParm1 = puParm1 + 6; - } - } - iVar7 += 1; - iVar6 += 0x78; - } while (iVar7 < _DAT_80068c58); - } - return puParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0A0A90(float *pfParm1,float fParm2,undefined2 uParm3) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - longlong lVar5; - uint uVar6; - float *pfVar7; - char cVar8; - int iVar9; - undefined uVar10; - float fVar11; - float fVar12; - float fVar13; - - uVar4 = DAT_8003a57c; - uVar3 = DAT_8003a578; - uVar2 = DAT_8003a574; - uVar1 = DAT_8003a570; - lVar5 = FUN_700098b0(); - fVar11 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fVar11 = fVar11 * 0.00000000 * DAT_8004cdc8; - uVar6 = FUN_700098b0(); - cVar8 = -1 - (char)(uVar6 % 0x50); - pfVar7 = (float *)FUN_7f0bbe14(uParm3); - lVar5 = FUN_7f0999a4(); - if (lVar5 < 2) { - if (200.00000000 < fParm2) { - fParm2 = 200.00000000; - } - lVar5 = FUN_700098b0(); - fVar12 = (float)(int)lVar5; - if (lVar5 < 0) { - fVar12 = fVar12 + 4294967296.00000000; - } - fVar13 = DAT_8004cdd0 + DAT_8004cdcc * fVar12 * 0.00000000; - fVar12 = (float)FUN_7f0b3b78(); - *pfParm1 = *pfParm1 * fVar12 - *pfVar7; - fVar12 = (float)FUN_7f0b3b78(); - pfParm1[1] = pfParm1[1] * fVar12 - pfVar7[1]; - fVar12 = (float)FUN_7f0b3b78(); - pfParm1[2] = pfParm1[2] * fVar12 - pfVar7[2]; - fVar12 = (float)FUN_7f0b3b78(); - fVar12 = fParm2 * fVar13 * fVar12; - fVar13 = (float)func_7F057FC4(fVar11); - fVar13 = fVar13 * fVar12; - fVar11 = (float)func_7F057FC4(fVar11); - fVar11 = fVar11 * fVar12; - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58) = uParm3; - *(float *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 4) = *pfParm1; - *(float *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 8) = pfParm1[1]; - *(float *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0xc) = pfParm1[2]; - *(float *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x10) = fVar12; - iVar9 = _DAT_80068c60 + DAT_8003a454 * 0x58; - *(undefined4 *)(iVar9 + 0x18) = uVar1; - *(undefined4 *)(iVar9 + 0x1c) = uVar2; - *(undefined4 *)(iVar9 + 0x20) = uVar3; - *(undefined4 *)(iVar9 + 0x24) = uVar4; - iVar9 = _DAT_80068c60 + DAT_8003a454 * 0x58; - *(undefined4 *)(iVar9 + 0x28) = uVar1; - *(undefined4 *)(iVar9 + 0x2c) = uVar2; - *(undefined4 *)(iVar9 + 0x30) = uVar3; - *(undefined4 *)(iVar9 + 0x34) = uVar4; - iVar9 = _DAT_80068c60 + DAT_8003a454 * 0x58; - *(undefined4 *)(iVar9 + 0x38) = uVar1; - *(undefined4 *)(iVar9 + 0x3c) = uVar2; - *(undefined4 *)(iVar9 + 0x40) = uVar3; - *(undefined4 *)(iVar9 + 0x44) = uVar4; - iVar9 = _DAT_80068c60 + DAT_8003a454 * 0x58; - *(undefined4 *)(iVar9 + 0x48) = uVar1; - *(undefined4 *)(iVar9 + 0x4c) = uVar2; - *(undefined4 *)(iVar9 + 0x50) = uVar3; - *(undefined4 *)(iVar9 + 0x54) = uVar4; - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x18) = (short)(int)(*pfParm1 + fVar13); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x1a) = - (short)(int)(pfParm1[1] + 0.50000000); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x1c) = (short)(int)(pfParm1[2] + fVar11); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x20) = 0; - *(short *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x22) = - (ushort)*(byte *)(_DAT_80074498 + 4) << 5; - uVar6 = FUN_700098b0(); - uVar10 = (undefined)(uVar6 % 0x32); - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x26) = uVar10; - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x25) = uVar10; - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x24) = uVar10; - *(char *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x27) = cVar8; - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x28) = (short)(int)(*pfParm1 + fVar11); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x2a) = - (short)(int)(pfParm1[1] + 0.50000000); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x2c) = (short)(int)(pfParm1[2] - fVar13); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x30) = 0; - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x32) = 0; - uVar6 = FUN_700098b0(); - uVar10 = (undefined)(uVar6 % 0x32); - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x36) = uVar10; - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x35) = uVar10; - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x34) = uVar10; - *(char *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x37) = cVar8; - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x38) = (short)(int)(*pfParm1 - fVar13); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x3a) = - (short)(int)(pfParm1[1] + 0.50000000); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x3c) = (short)(int)(pfParm1[2] - fVar11); - *(short *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x40) = - (ushort)*(byte *)(_DAT_80074498 + 5) << 5; - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x42) = 0; - uVar6 = FUN_700098b0(); - uVar10 = (undefined)(uVar6 % 0x32); - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x46) = uVar10; - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x45) = uVar10; - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x44) = uVar10; - *(char *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x47) = cVar8; - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x48) = (short)(int)(*pfParm1 - fVar11); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x4a) = - (short)(int)(pfParm1[1] + 0.50000000); - *(undefined2 *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x4c) = (short)(int)(pfParm1[2] + fVar13); - *(short *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x50) = - (ushort)*(byte *)(_DAT_80074498 + 4) << 5; - *(short *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x52) = - (ushort)*(byte *)(_DAT_80074498 + 5) << 5; - uVar6 = FUN_700098b0(); - uVar10 = (undefined)(uVar6 % 0x32); - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x56) = uVar10; - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x55) = uVar10; - *(undefined *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x54) = uVar10; - *(char *)(_DAT_80068c60 + DAT_8003a454 * 0x58 + 0x57) = cVar8; - DAT_8003a454 += 1; - if (0x13 < DAT_8003a454) { - DAT_8003a454 = 0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0A0C48(undefined4 *puParm1) - -{ - short sVar1; - longlong lVar2; - undefined4 *puVar3; - undefined4 uVar4; - int iVar5; - short sVar6; - undefined4 *puStackX0; - - sVar6 = -1; - puStackX0 = puParm1; - lVar2 = FUN_7f0999a4(); - if (lVar2 < 2) { - puStackX0[1] = 0x2000; - *puStackX0 = 0xb7000000; - puStackX0[2] = 0xb6000000; - puStackX0[3] = 0x11000; - puStackX0[5] = 0x80; - puStackX0[4] = 0xba000602; - puStackX0 = puStackX0 + 6; - loc_7F077B80(register0x000000ec,_DAT_80074498,4,1,2); - iVar5 = 0; - do { - if ((-1 < *(short *)(_DAT_80068c60 + iVar5)) && - (lVar2 = FUN_7f0b518c(*(short *)(_DAT_80068c60 + iVar5)), lVar2 != 0)) { - sVar1 = *(short *)(_DAT_80068c60 + iVar5); - puVar3 = puStackX0; - if (sVar6 != sVar1) { - puVar3 = (undefined4 *)FUN_7f0bbdc4(puStackX0); - sVar6 = sVar1; - } - puStackX0 = puVar3 + 2; - *puVar3 = 0x4300040; - uVar4 = osVirtualToPhysical(_DAT_80068c60 + iVar5 + 0x18); - puVar3[1] = uVar4; - puStackX0[1] = 0x2010; - *puStackX0 = 0xb1000032; - puStackX0 = puStackX0 + 2; - } - iVar5 += 0x58; - } while (iVar5 != 0x6e0); - puStackX0[1] = 0x40; - *puStackX0 = 0xba000602; - puStackX0 = puStackX0 + 2; - } - return puStackX0; -} - - - -int loc_7F0A0CB0(float fParm1) - -{ - if (fParm1 < 0.00000000) { - return (int)(fParm1 - 0.50000000); - } - return (int)(fParm1 + 0.50000000); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a0210(int iParm1,char cParm2) - -{ - undefined2 *puVar1; - int iVar2; - longlong lVar3; - int iVar4; - - lVar3 = (longlong)(int)cParm2; - iVar2 = 0; - do { - puVar1 = (undefined2 *)(_DAT_80068c64 + iVar2); - if (iParm1 == *(int *)(puVar1 + 0x24)) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0x4d)) { - *puVar1 = 0xffff; - puVar1 = (undefined2 *)(_DAT_80068c64 + iVar2); - iVar4 = *(int *)(puVar1 + 0x4c); - } - else { - iVar4 = *(int *)(puVar1 + 0x4c); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x4c); - } - if (iParm1 == iVar4) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0x9d)) { - puVar1[0x28] = 0xffff; - puVar1 = (undefined2 *)(_DAT_80068c64 + iVar2); - iVar4 = *(int *)(puVar1 + 0x74); - } - else { - iVar4 = *(int *)(puVar1 + 0x74); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x74); - } - if (iParm1 == iVar4) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0xed)) { - puVar1[0x50] = 0xffff; - puVar1 = (undefined2 *)(_DAT_80068c64 + iVar2); - iVar4 = *(int *)(puVar1 + 0x9c); - } - else { - iVar4 = *(int *)(puVar1 + 0x9c); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x9c); - } - iVar2 += 0x140; - if ((iParm1 == iVar4) && (lVar3 == (longlong)*(char *)((int)puVar1 + 0x13d))) { - puVar1[0x78] = 0xffff; - } - } while (iVar2 != 8000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a02d4(int iParm1) - -{ - undefined2 *puVar1; - int iVar2; - int iVar3; - - iVar2 = 0; - do { - puVar1 = (undefined2 *)(_DAT_80068c64 + iVar2); - if (iParm1 == *(int *)(puVar1 + 0x24)) { - if ((&DAT_8003a465)[(int)(short)puVar1[1] * 0xc] == '\x02') { - *puVar1 = 0xffff; - puVar1 = (undefined2 *)(_DAT_80068c64 + iVar2); - iVar3 = *(int *)(puVar1 + 0x4c); - } - else { - iVar3 = *(int *)(puVar1 + 0x4c); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x4c); - } - if (iParm1 == iVar3) { - if ((&DAT_8003a465)[(int)(short)puVar1[0x29] * 0xc] == '\x02') { - puVar1[0x28] = 0xffff; - puVar1 = (undefined2 *)(_DAT_80068c64 + iVar2); - iVar3 = *(int *)(puVar1 + 0x74); - } - else { - iVar3 = *(int *)(puVar1 + 0x74); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x74); - } - if (iParm1 == iVar3) { - if ((&DAT_8003a465)[(int)(short)puVar1[0x51] * 0xc] == '\x02') { - puVar1[0x50] = 0xffff; - puVar1 = (undefined2 *)(_DAT_80068c64 + iVar2); - iVar3 = *(int *)(puVar1 + 0x9c); - } - else { - iVar3 = *(int *)(puVar1 + 0x9c); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x9c); - } - iVar2 += 0x140; - if ((iParm1 == iVar3) && ((&DAT_8003a465)[(int)(short)puVar1[0x79] * 0xc] == '\x02')) { - puVar1[0x78] = 0xffff; - } - } while (iVar2 != 8000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a03dc(int iParm1) - -{ - float fVar1; - int iVar2; - int iVar3; - int iVar4; - float fVar5; - undefined uVar6; - - iVar2 = 0; - do { - iVar3 = iParm1 * 0x50; - fVar5 = ((float)iVar2 / 10.00000000) * 255.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar6 = (undefined)(int)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a0480; - uVar6 = (undefined)(int)fVar5; - } - else { - if ((int)fVar1 < 0) { -LAB_7f0a0480: - uVar6 = 0xff; - } - } - iVar4 = iVar2 + 1; - *(undefined *)(_DAT_80068c64 + iVar3 + 0x47) = uVar6; - iParm1 += 1; - *(undefined *)(_DAT_80068c64 + iVar3 + 0x37) = uVar6; - *(undefined *)(_DAT_80068c64 + iVar3 + 0x27) = uVar6; - iVar2 += 2; - *(undefined *)(_DAT_80068c64 + iVar3 + 0x17) = uVar6; - iVar3 += 0x50; - if (99 < iParm1) { - iParm1 = 0; - iVar3 = 0; - } - fVar5 = ((float)iVar4 / 10.00000000) * 255.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar6 = (undefined)(int)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a0564; - uVar6 = (undefined)(int)fVar5; - } - else { - if ((int)fVar1 < 0) { -LAB_7f0a0564: - uVar6 = 0xff; - } - } - iParm1 += 1; - *(undefined *)(_DAT_80068c64 + iVar3 + 0x47) = uVar6; - *(undefined *)(_DAT_80068c64 + iVar3 + 0x37) = uVar6; - *(undefined *)(_DAT_80068c64 + iVar3 + 0x27) = uVar6; - *(undefined *)(_DAT_80068c64 + iVar3 + 0x17) = uVar6; - if (99 < iParm1) { - iParm1 = 0; - } - if (iVar2 == 10) { - return; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0A1A48(float *pfParm1,float *pfParm2,short sParm3,undefined2 uParm4,int iParm5, - char cParm6,undefined uParm7) - -{ - char cVar1; - longlong lVar2; - float *pfVar3; - undefined2 uVar5; - uint uVar4; - ulonglong uVar6; - ulonglong uVar7; - int iVar8; - byte bVar9; - undefined uVar10; - int iVar11; - int iVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - short sStackX10; - byte bStack143; - byte bStack142; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack104; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack44; - float fStack28; - float fStack24; - float fStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack16 = DAT_8003a580; - uStack12 = DAT_8003a584; - uStack8 = DAT_8003a588; - uStack4 = DAT_8003a58c; - lVar2 = FUN_7f091cdc(0xf); - sStackX10 = sParm3; - if (lVar2 != 0) { - sStackX10 = 0x10; - } - fStack80 = *pfParm1; - fStack76 = pfParm1[1]; - fStack72 = pfParm1[2]; - iVar12 = (int)sStackX10 * 0xc; - fStack84 = *(float *)(iVar12 + -0x7ffc5ba4); - fStack88 = *(float *)(iVar12 + -0x7ffc5ba0); - fVar17 = *pfParm2; - if ((fVar17 == 0.00000000) && (pfParm2[2] == 0.00000000)) { - fStack56 = 0.00000000; - fStack60 = 0.00000000; - fStack52 = 0.00000000; - fStack64 = 1.00000000; - fStack44 = 1.00000000; - } - else { - fStack24 = (float)sqrtf(pfParm2[2] * pfParm2[2] + fVar17 * fVar17 + pfParm2[1] * pfParm2[1]); - fStack20 = *pfParm2 / fStack24; - fStack28 = pfParm2[2] / fStack24; - fStack24 = pfParm2[1] / fStack24; - fVar17 = (float)sqrtf(fStack20 * fStack20 + fStack28 * fStack28); - fStack60 = -fVar17; - fStack44 = fStack28 / fVar17; - fStack56 = fStack24 * (fStack20 / fVar17); - fStack52 = -(fStack20 / fVar17); - fStack64 = fStack24 * fStack44; - } - if (iParm5 == 0) { - pfVar3 = (float *)FUN_7f0bbe14(uParm4); - fVar17 = (float)FUN_7f0b3b78(); - fStack80 = fStack80 * fVar17 - *pfVar3; - fVar17 = (float)FUN_7f0b3b78(); - fStack76 = fStack76 * fVar17 - pfVar3[1]; - fVar17 = (float)FUN_7f0b3b78(); - fStack72 = fStack72 * fVar17 - pfVar3[2]; - fVar17 = (float)FUN_7f0b3b78(); - fStack84 = fStack84 * fVar17; - fVar17 = (float)FUN_7f0b3b78(); - fStack88 = fStack88 * fVar17; - } - else { - iVar8 = *(int *)(iParm5 + 4); - fStack120 = fStack44; - iVar11 = *(int *)(*(int *)(iVar8 + 0x14) + 0xc) + (int)cParm6 * 0x40; - fStack116 = 0.00000000; - fStack112 = fStack52; - fStack132 = fStack56; - fStack128 = fStack60; - fStack124 = fStack64; - FUN_7f058880(iVar11,&fStack120); - FUN_7f058880(iVar11,&fStack132); - fStack104 = (float)sqrtf(fStack112 * fStack112 + fStack120 * fStack120 + fStack116 * fStack116); - fVar17 = (float)sqrtf(fStack124 * fStack124 + fStack132 * fStack132 + fStack128 * fStack128); - fStack84 = fStack84 / fStack104; - fStack88 = fStack88 / fVar17; - if ((byte)(&DAT_8003a466)[iVar12] < 2) { - if ((&DAT_8003a465)[iVar12] == '\x02') { - *(byte *)(iVar8 + 2) = *(byte *)(iVar8 + 2) | 2; - goto LAB_7f0a08f4; - } - bVar9 = *(byte *)(iVar8 + 2); - } - else { - bVar9 = *(byte *)(iVar8 + 2); - } - *(byte *)(iVar8 + 2) = bVar9 | 1; - } -LAB_7f0a08f4: - *(int *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x48) = iParm5; - *(char *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x4c) = cParm6; - *(undefined *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x4d) = uParm7; - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50) = uParm4; - *(short *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 2) = sStackX10; - iVar8 = _DAT_80068c64 + DAT_8003a458 * 0x50; - *(undefined4 *)(iVar8 + 8) = uStack16; - *(undefined4 *)(iVar8 + 0xc) = uStack12; - *(undefined4 *)(iVar8 + 0x10) = uStack8; - *(undefined4 *)(iVar8 + 0x14) = uStack4; - iVar8 = _DAT_80068c64 + DAT_8003a458 * 0x50; - *(undefined4 *)(iVar8 + 0x18) = uStack16; - *(undefined4 *)(iVar8 + 0x1c) = uStack12; - *(undefined4 *)(iVar8 + 0x20) = uStack8; - *(undefined4 *)(iVar8 + 0x24) = uStack4; - iVar8 = _DAT_80068c64 + DAT_8003a458 * 0x50; - *(undefined4 *)(iVar8 + 0x28) = uStack16; - *(undefined4 *)(iVar8 + 0x2c) = uStack12; - *(undefined4 *)(iVar8 + 0x30) = uStack8; - *(undefined4 *)(iVar8 + 0x34) = uStack4; - iVar8 = _DAT_80068c64 + DAT_8003a458 * 0x50; - *(undefined4 *)(iVar8 + 0x38) = uStack16; - *(undefined4 *)(iVar8 + 0x3c) = uStack12; - *(undefined4 *)(iVar8 + 0x40) = uStack8; - *(undefined4 *)(iVar8 + 0x44) = uStack4; - fVar17 = fStack84 * fStack44; - fVar15 = fStack88 * fStack56; - uVar5 = loc_7F0A0CB0((fStack80 - fVar17) - fVar15); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 8) = uVar5; - fVar13 = fStack88 * fStack60; - uVar5 = loc_7F0A0CB0((fStack76 - 0.00000000) - fVar13); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 10) = uVar5; - fVar14 = fStack84 * fStack52; - fVar16 = fStack88 * fStack64; - uVar5 = loc_7F0A0CB0((fStack72 - fVar14) - fVar16); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0xc) = uVar5; - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x10) = 0; - *(short *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x12) = - (ushort)*(byte *)(_DAT_8007449c + iVar12 + 5) << 5; - uVar5 = loc_7F0A0CB0((fStack80 - fVar17) + fVar15); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x18) = uVar5; - uVar5 = loc_7F0A0CB0((fStack76 - 0.00000000) + fVar13); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x1a) = uVar5; - uVar5 = loc_7F0A0CB0((fStack72 - fVar14) + fVar16); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x1c) = uVar5; - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x20) = 0; - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x22) = 0; - uVar5 = loc_7F0A0CB0(fStack80 + fVar17 + fVar15); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x28) = uVar5; - uVar5 = loc_7F0A0CB0(fStack76 + 0.00000000 + fVar13); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x2a) = uVar5; - uVar5 = loc_7F0A0CB0(fStack72 + fVar14 + fVar16); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x2c) = uVar5; - *(short *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x30) = - (ushort)*(byte *)(_DAT_8007449c + iVar12 + 4) << 5; - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x32) = 0; - uVar5 = loc_7F0A0CB0((fStack80 + fVar17) - fVar15); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x38) = uVar5; - uVar5 = loc_7F0A0CB0((fStack76 + 0.00000000) - fVar13); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x3a) = uVar5; - uVar5 = loc_7F0A0CB0((fStack72 + fVar14) - fVar16); - iVar8 = 0; - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x3c) = uVar5; - *(short *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x40) = - (ushort)*(byte *)(_DAT_8007449c + iVar12 + 4) << 5; - *(short *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + 0x42) = - (ushort)*(byte *)(_DAT_8007449c + iVar12 + 5) << 5; - uVar6 = (ulonglong)bStack143; - uVar7 = (ulonglong)bStack142; - do { - cVar1 = *(char *)(iVar12 + -0x7ffc5b9c); - if (cVar1 == '\0') { - uVar4 = FUN_700098b0(); - uVar6 = SEXT48((int)(uVar4 % 0x28)); - uVar10 = (undefined)(uVar4 % 0x28); - uVar7 = uVar6; - if (false) { - trap(0x1c00); - uVar7 = uVar6; - } - } - else { - if (cVar1 == '\x01') { - uVar4 = FUN_700098b0(); - iVar11 = 0xff - uVar4 % 0x28; - if (false) { - trap(0x1c00); - } - uVar6 = (longlong)iVar11 & 0xff; - uVar10 = (undefined)iVar11; - uVar7 = (longlong)iVar11 & 0xff; - } - else { - if (cVar1 == '\x02') { - uVar7 = FUN_700098b0(); - uVar10 = 0; - if ((uVar7 & 1) != 0) { - uVar10 = 0xff; - } - uVar7 = FUN_700098b0(); - bVar9 = 0; - if ((uVar7 & 1) != 0) { - bVar9 = 0xff; - } - uVar7 = FUN_700098b0(); - if ((uVar7 & 1) == 0) { - uVar6 = 0; - uVar7 = (ulonglong)bVar9; - } - else { - uVar6 = 0xff; - uVar7 = (ulonglong)bVar9; - } - } - else { - uVar10 = 0; - } - } - } - *(undefined *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + iVar8 + 0x14) = uVar10; - *(undefined *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + iVar8 + 0x15) = (char)uVar7; - *(undefined *)(_DAT_80068c64 + DAT_8003a458 * 0x50 + iVar8 + 0x16) = (char)uVar6; - iVar11 = _DAT_80068c64 + DAT_8003a458 * 0x50 + iVar8; - iVar8 += 0x10; - *(undefined *)(iVar11 + 0x17) = 0xff; - } while (iVar8 != 0x40); - DAT_8003a458 += 1; - if (99 < DAT_8003a458) { - DAT_8003a458 = 0; - } - FUN_7f0a03dc(DAT_8003a458); - *(undefined2 *)(_DAT_80068c64 + DAT_8003a458 * 0x50) = 0xffff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0A1D24(undefined4 *puParm1,int iParm2,uint uParm3) - -{ - char cVar1; - short sVar2; - int iVar3; - bool bVar4; - bool bVar5; - undefined4 *puVar6; - longlong lVar7; - undefined4 uVar8; - short *psVar9; - int iVar10; - int iVar11; - int iVar12; - longlong lVar13; - undefined4 *puStackX0; - uint uStackX8; - int iStack24; - int iStack20; - - lVar13 = -1; - bVar5 = false; - iStack20 = 0; - iStack24 = -1; - if (iParm2 != 0) { - iStack20 = *(int *)(iParm2 + 4); - } - puParm1[1] = 0x3000; - *puParm1 = 0xb6000000; - puStackX0 = puParm1 + 4; - iVar12 = 0; - puParm1[3] = 0x80; - puParm1[2] = 0xba000602; - uStackX8 = uParm3; - do { - psVar9 = (short *)(_DAT_80068c64 + iVar12); - if ((iParm2 == *(int *)(psVar9 + 0x24)) && (-1 < *psVar9)) { - if (iParm2 == 0) { - lVar7 = FUN_7f0b518c(*psVar9); - if (lVar7 == 0) goto LAB_7f0a1230; - psVar9 = (short *)(_DAT_80068c64 + iVar12); - } - puVar6 = puStackX0; - sVar2 = psVar9[1]; - if (uStackX8 == 0) { - iVar11 = (int)sVar2 * 0xc; - iVar10 = iVar11 + -0x7ffc5ba4; - bVar4 = 1 < (byte)(&DAT_8003a466)[iVar11]; - if (!bVar4) { - bVar4 = (&DAT_8003a465)[iVar11] != '\x02'; - } - } - else { - iVar11 = (int)sVar2 * 0xc; - iVar10 = iVar11 + -0x7ffc5ba4; - bVar4 = (byte)(&DAT_8003a466)[iVar11] < 2; - if (bVar4) { - bVar4 = (&DAT_8003a465)[iVar11] == '\x02'; - } - } - if (bVar4) { - bVar5 = true; - if (iParm2 == 0) { - if (lVar13 != (longlong)*psVar9) { - lVar13 = (longlong)(int)*psVar9; - puStackX0 = (undefined4 *)FUN_7f0bbdc4(puStackX0); - } - } - else { - cVar1 = *(char *)(psVar9 + 0x26); - if (lVar13 != (longlong)cVar1) { - iVar3 = *(int *)(*(int *)(iStack20 + 0x14) + 0xc); - lVar13 = (longlong)(int)(short)cVar1; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar8 = osVirtualToPhysical((int)cVar1 * 0x40 + iVar3); - puVar6[1] = uVar8; - } - } - if ((longlong)iStack24 != (longlong)sVar2) { - loc_7F077B80(register0x000000ec,iVar11 + _DAT_8007449c,(ulonglong)*(byte *)(iVar10 + 9), - (ulonglong)*(byte *)(iVar10 + 10),2); - iStack24 = (int)sVar2; - } - puVar6 = puStackX0; - *puStackX0 = 0x4300040; - puStackX0 = puStackX0 + 2; - uVar8 = osVirtualToPhysical(_DAT_80068c64 + iVar12 + 8); - puVar6[1] = uVar8; - puStackX0[1] = 0x2010; - *puStackX0 = 0xb1000032; - puStackX0 = puStackX0 + 2; - } - } -LAB_7f0a1230: - iVar12 += 0x50; - if (iVar12 == 8000) { - if ((iParm2 != 0) && (!bVar5)) { - *(byte *)(iStack20 + 2) = *(byte *)(iStack20 + 2) & ~(byte)(1 << (uStackX8 & 0x1f)); - } - puStackX0[1] = 0x40; - *puStackX0 = 0xba000602; - return puStackX0 + 2; - } - } while( true ); -} - - - -void FUN_7f0a12bc(undefined8 uParm1) - -{ - loc_7F0A1D24(uParm1,0,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void sub_GAME_7F0A4824(float *pfParm1,float *pfParm2,float *pfParm3,undefined4 *puParm4,float fParm5 - ,float fParm6,float fParm7,float fParm8) - -{ - int iVar1; - undefined8 uVar2; - longlong lVar3; - int iVar4; - float fVar5; - float fVar6; - undefined4 uVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - int iVar13; - float fVar14; - int iVar15; - float fVar16; - float fVar17; - int iVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fStack32; - float fStack28; - float fStack24; - - fVar10 = *pfParm2; - fVar12 = pfParm2[1]; - fVar14 = pfParm2[2]; - fVar5 = (float)sqrtf(fVar14 * fVar14 + fVar10 * fVar10 + fVar12 * fVar12); - fVar23 = 1.00000000 / fVar5; - fVar19 = *pfParm3; - fVar17 = pfParm3[1]; - fVar11 = pfParm3[2]; - fVar6 = (float)sqrtf(fVar11 * fVar11 + fVar19 * fVar19 + fVar17 * fVar17); - fVar24 = 1.00000000 / fVar6; - uVar7 = convert_angle_using_inverse(*puParm4,puParm4[2]); - fVar25 = fParm6 * fVar5 - fParm5 * fVar5; - fVar26 = fParm8 * fVar6 - fParm7 * fVar6; - iVar1 = _DAT_80068c70; - if (_DAT_80068c70 < 0) { - iVar1 = _DAT_80068c70 + 1; - } - fVar8 = (float)sqrtf((fVar25 * fVar26) / (float)(iVar1 >> 1)); - iVar13 = (int)fVar8; - fVar20 = *pfParm1; - fVar16 = fParm5 * fVar5 + (float)(iVar13 >> 1); - fVar9 = fParm7 * fVar6 + (float)(iVar13 >> 1); - fVar21 = pfParm1[1]; - fVar22 = pfParm1[2]; - uVar2 = FUN_70008268(_DAT_80056900,0x47,0); - FUN_7f053cf0(uVar2,pfParm1); - fVar6 = DAT_8004cde4; - fVar5 = DAT_8004cde0; - iVar1 = 0; - iVar15 = (int)(fVar25 / (float)iVar13); - iVar18 = (int)(fVar26 / (float)iVar13); - if (0 < iVar18) { - do { - iVar4 = 0; - if (0 < iVar15) { - fVar25 = (float)iVar1 * (float)iVar13; - do { - fVar26 = (float)iVar4 * (float)iVar13; - fStack32 = fVar19 * fVar24 * fVar25 + - fVar19 * fVar24 * fVar9 + fVar20 + fVar16 * fVar10 * fVar23 + - fVar26 * fVar10 * fVar23; - fStack28 = fVar17 * fVar24 * fVar25 + - fVar17 * fVar24 * fVar9 + fVar21 + fVar16 * fVar12 * fVar23 + - fVar26 * fVar12 * fVar23; - fStack24 = fVar11 * fVar24 * fVar25 + - fVar11 * fVar24 * fVar9 + fVar22 + fVar16 * fVar14 * fVar23 + - fVar26 * fVar14 * fVar23; - lVar3 = FUN_700098b0(); - fVar26 = (float)(int)lVar3; - if (lVar3 < 0) { - fVar26 = fVar26 + 4294967296.00000000; - } - loc_7F0A28B4(&fStack32,uVar7,(fVar26 * 0.00000000 * fVar6 + fVar5) * fVar8); - iVar4 += 1; - } while (iVar4 != iVar15); - } - iVar1 += 1; - } while (iVar1 < iVar18); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0A28B4(undefined4 *puParm1,undefined4 uParm2,float fParm3) - -{ - undefined uVar1; - longlong lVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - lVar2 = FUN_700098b0(); - fVar7 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar4 = fVar7 * 0.00000000 * DAT_8004cde8 - DAT_8004cdec; - lVar2 = FUN_700098b0(); - fVar7 = DAT_8004cdf0; - fVar6 = ((fVar5 * 0.00000000 + fVar5 * 0.00000000) - 1.00000000) * DAT_8004cdf0; - *(undefined4 *)(_DAT_80068c74 + DAT_8003a590 * 0x68) = 1; - *(undefined4 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 4) = *puParm1; - *(undefined4 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 8) = puParm1[1]; - *(undefined4 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0xc) = puParm1[2]; - fVar5 = (float)(int)lVar2; - *(float *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x1c) = fVar6; - *(float *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x20) = fVar4 * DAT_8004cdf4; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x24) = - ((fVar5 * 0.00000000 + fVar5 * 0.00000000) - 1.00000000) * fVar7; - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x38) = - (short)(int)((fVar5 * 0.00000000 * 0.50000000 + 1.00000000) * fParm3); - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x3a) = - (short)(int)((fVar5 * 0.00000000 * 0.50000000 + 1.00000000) * fParm3); - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x3c) = 0; - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x48) = - (short)(int)((fVar5 * 0.00000000 * 0.50000000 + 1.00000000) * fParm3); - lVar2 = FUN_700098b0(); - fParm3 = -fParm3; - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x4a) = - (short)(int)((fVar5 * 0.00000000 * 0.50000000 + 1.00000000) * fParm3); - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x4c) = 0; - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x58) = - (short)(int)((fVar5 * 0.00000000 * 0.50000000 + 1.00000000) * fParm3); - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x5a) = - (short)(int)((fVar5 * 0.00000000 * 0.50000000 + 1.00000000) * fParm3); - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x5c) = 0; - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x40) = 0; - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x42) = 0; - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x50) = 0; - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x52) = 0; - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x60) = 0; - *(undefined2 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x62) = 0; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x44) = 5; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x45) = 5; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x46) = 0x7e; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x54) = 5; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x55) = 0xfb; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x56) = 0x7e; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 100) = 0xfb; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x65) = 0xfb; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x66) = 0x7e; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x67) = 0xff; - iVar3 = _DAT_80068c74 + DAT_8003a590 * 0x68; - uVar1 = *(undefined *)(iVar3 + 0x67); - *(undefined *)(iVar3 + 0x57) = uVar1; - *(undefined *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x47) = uVar1; - *(undefined4 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x10) = uParm2; - *(undefined4 *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x14) = 0; - lVar2 = FUN_700098b0(); - fVar5 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x18) = fVar5 * 0.00000000 * DAT_8004cdf8; - lVar2 = FUN_700098b0(); - fVar5 = DAT_8004cdfc; - fVar7 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x28) = fVar7 * 0.00000000 * DAT_8004cdfc; - lVar2 = FUN_700098b0(); - fVar7 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x2c) = fVar7 * 0.00000000 * fVar5; - lVar2 = FUN_700098b0(); - fVar7 = (float)(int)lVar2; - if (lVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(_DAT_80068c74 + DAT_8003a590 * 0x68 + 0x30) = fVar7 * 0.00000000 * fVar5; - DAT_8003a590 += 1; - if (_DAT_80068c70 <= DAT_8003a590) { - DAT_8003a590 = 0; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a1fa8) overlaps instruction at (ram,0x7f0a1fa4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a1e14(void) - -{ - float fVar1; - float fVar2; - float fVar3; - int iVar4; - int iVar5; - int iVar6; - int *piVar7; - uint uVar8; - uint uVar9; - float fVar10; - float fVar11; - uint uVar12; - - fVar3 = DAT_8004ce08; - fVar2 = DAT_8004ce04; - fVar1 = DAT_8004ce00; - iVar5 = 0; - if (DAT_80040ff4 < 0xf) { - fVar10 = (float)DAT_80040ff4; - } - else { - fVar10 = 15.00000000; - } - iVar4 = 0; - if (0 < _DAT_80068c70) { - do { - iVar6 = *(int *)(_DAT_80068c74 + iVar5); - if (0 < iVar6) { - uVar12 = (uint)fVar10; - *(int *)(_DAT_80068c74 + iVar5) = iVar6 + uVar12; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 0x10) = *(float *)(iVar6 + 0x10) + *(float *)(iVar6 + 0x28) * fVar10; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 0x14) = *(float *)(iVar6 + 0x14) + *(float *)(iVar6 + 0x2c) * fVar10; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 0x18) = *(float *)(iVar6 + 0x18) + *(float *)(iVar6 + 0x30) * fVar10; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 4) = *(float *)(iVar6 + 4) + *(float *)(iVar6 + 0x1c) * fVar10; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 0xc) = *(float *)(iVar6 + 0xc) + *(float *)(iVar6 + 0x24) * fVar10; - if (0 < (int)uVar12) { - uVar9 = uVar12 & 3; - if (uVar9 == 0) { - uVar9 = 4; - } - else { - uVar8 = 1; - if (uVar9 != 1) { - do { - iVar6 = _DAT_80068c74 + iVar5; - uVar8 += 1; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - } while (uVar9 != uVar8); - } - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - uVar9 = uVar8 + 4; - if (uVar8 == uVar12) goto LAB_7f0a2118; - } - while (uVar9 != uVar12) { - iVar6 = _DAT_80068c74 + iVar5; - uVar9 += 4; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - } - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_80068c74 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_80068c74 + iVar5 + 0x20) = - *(float *)(_DAT_80068c74 + iVar5 + 0x20) - fVar3; - } -LAB_7f0a2118: - piVar7 = (int *)(_DAT_80068c74 + iVar5); - if (*piVar7 < 0x96) { - fVar11 = (float)piVar7[2]; - } - else { - *piVar7 = 0; - piVar7 = (int *)(_DAT_80068c74 + iVar5); - fVar11 = (float)piVar7[2]; - } - if (fVar2 <= fVar11) { - if (fVar1 < fVar11) { - *piVar7 = 0; - } - } - else { - *piVar7 = 0; - } - } - iVar4 += 1; - iVar5 += 0x68; - } while (iVar4 < _DAT_80068c70); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0a2184(undefined4 *puParm1) - -{ - undefined4 *puVar1; - undefined8 uVar2; - undefined4 uVar3; - int iVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - undefined4 *puStackX0; - undefined auStack64 [48]; - float fStack16; - float fStack12; - float fStack8; - - puStackX0 = puParm1; - loc_7F077B80(register0x000000ec,_DAT_800744fc + 0xc,2,1,2); - puVar1 = puStackX0; - *puStackX0 = 0xbb001001; - puStackX0[1] = 0xd800d80; - puStackX0[3] = 0x100000; - puStackX0[2] = 0xba001402; - puStackX0[5] = 0x10000; - puStackX0[4] = 0xba001001; - puStackX0[7] = 0x3000; - puStackX0[6] = 0xb6000000; - puStackX0[9] = 0x2000; - puStackX0[8] = 0xba000c02; - puVar7 = puStackX0 + 0xc; - puStackX0[0xb] = 0x60000; - puStackX0[10] = 0xb7000000; - puStackX0 = puStackX0 + 0xe; - *puVar7 = 0x1030040; - uVar2 = FUN_7f078414(); - uVar3 = osVirtualToPhysical(uVar2); - puVar1[0xd] = uVar3; - iVar5 = 0; - iVar6 = 0; - if (0 < _DAT_80068c70) { - iVar4 = _DAT_80068c70; - do { - if (0 < *(int *)(_DAT_80068c74 + iVar5)) { - uVar2 = FUN_7f0bca90(); - FUN_7f058dd4(_DAT_80068c74 + iVar5 + 4,_DAT_80068c74 + iVar5 + 0x10,auStack64); - fStack16 = fStack16 - *(float *)(_DAT_80068bc0 + 0x38); - fStack12 = fStack12 - *(float *)(_DAT_80068bc0 + 0x3c); - fStack8 = fStack8 - *(float *)(_DAT_80068bc0 + 0x40); - FUN_7f059144(auStack64,uVar2); - puVar1 = puStackX0; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar3 = osVirtualToPhysical(uVar2); - puVar7 = puStackX0; - puVar1[1] = uVar3; - *puStackX0 = 0x4200030; - puStackX0 = puStackX0 + 2; - uVar3 = osVirtualToPhysical(_DAT_80068c74 + iVar5 + 0x38); - puVar7[1] = uVar3; - puStackX0[1] = 0xa14; - *puStackX0 = 0xbf000000; - puStackX0 = puStackX0 + 2; - iVar4 = _DAT_80068c70; - } - iVar6 += 1; - iVar5 += 0x68; - } while (iVar6 < iVar4); - } - puVar1 = puStackX0; - puVar7 = puStackX0 + 2; - puStackX0[1] = 0x60000; - *puStackX0 = 0xb6000000; - puStackX0 = puStackX0 + 4; - *puVar7 = 0x1030040; - uVar3 = FUN_7f0783f4(); - puVar7 = puStackX0; - puVar1[3] = uVar3; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar3 = FUN_7f0783d4(); - puVar7[1] = uVar3; - return puStackX0; -} - - - -void loc_7F0A32C8(short *psParm1,undefined8 uParm2,longlong lParm3,float fParm4) - -{ - int iVar1; - int iVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - int iStack24; - - fParm4 = fParm4 * 8.00000000; - iVar2 = 0; - iStack24 = 0; - do { - iVar3 = 0; - fVar6 = ((float)(int)(DAT_8004ce10 - (double)iStack24) * DAT_8004ce18 * 2.00000000) / - 360.00000000; - do { - fVar5 = (float)func_7F057FC4(fVar6); - fVar4 = (float)func_7F057FC4(fVar6); - *psParm1 = (short)(int)(((fVar5 * 4.00000000 * 130.00000000 * (float)(6 - iVar3)) / 5.00000000 - ) * (float)(int)lParm3) + 1; - psParm1[1] = 0; - psParm1[3] = 0; - psParm1[4] = 0; - psParm1[5] = 0; - *(undefined *)(psParm1 + 6) = 0xff; - *(undefined *)((int)psParm1 + 0xd) = 0xff; - *(undefined *)(psParm1 + 7) = 0xff; - psParm1[2] = -(short)(int)((fVar4 * 4.00000000 * 130.00000000 * (float)(6 - iVar3)) / - 5.00000000); - if (lParm3 < 1) { - if (lParm3 < 0) { - fVar5 = (float)func_7F057FC4(fVar6); - *(undefined *)((int)psParm1 + 0xd) = (char)(int)(127.00000000 - fVar5 * 127.00000000); - fVar5 = (float)func_7F057FC4(fVar6); - *(char *)(psParm1 + 7) = (char)(int)(32.00000000 - fVar5 * 32.00000000); - } - } - else { - fVar5 = (float)func_7F057FC4(fVar6); - *(char *)(psParm1 + 6) = (char)(int)(96.00000000 - fVar5 * 96.00000000); - fVar5 = (float)func_7F057FC4(fVar6); - *(undefined *)(psParm1 + 7) = 0xff; - *(undefined *)((int)psParm1 + 0xd) = (char)(int)(127.00000000 - fVar5 * 127.00000000); - } - iVar3 += 1; - if (iVar2 < 10) { - iVar1 = (int)fParm4 * 2 + -1; - if (iVar1 < iVar2) { - if ((iVar2 < (int)(fParm4 + fParm4)) && (iVar1 < iVar2)) { - *(char *)((int)psParm1 + 0xf) = - (char)(int)((fParm4 - (float)(int)fParm4) * 207.00000000) + '0'; - } - else { - *(undefined *)((int)psParm1 + 0xf) = 0x30; - } - } - else { - *(undefined *)((int)psParm1 + 0xf) = 0xff; - } - } - else { - if (9 < iVar2) { - fVar5 = (fParm4 - 5.00000000) * 4.00000000; - if ((float)iVar2 <= fVar5 + 9.00000000) { - *(undefined *)((int)psParm1 + 0xf) = 0xff; - } - else { - if ((int)(fVar5 + 0.50000000) + 9 < iVar2) { - *(undefined *)((int)psParm1 + 0xf) = 0x30; - } - else { - if ((int)(fParm4 - 5.00000000) * 2 + 8 < iVar2) { - *(char *)((int)psParm1 + 0xf) = - (char)(int)((fParm4 - (float)(int)fParm4) * 207.00000000) + '0'; - } - else { - *(undefined *)((int)psParm1 + 0xf) = 0x30; - } - } - } - } - } - psParm1 = psParm1 + 8; - } while (iVar3 != 2); - iVar2 += 1; - iStack24 += 5; - } while (iVar2 != 0x17); - return; -} - - - -undefined4 * loc_7F0A33E8(undefined4 *puParm1,int iParm2,longlong lParm3) - -{ - int iVar1; - uint uVar2; - undefined4 *puVar3; - undefined4 *puVar4; - uint uVar5; - - uVar2 = 0; - iVar1 = (int)lParm3; - if (lParm3 < 0) { - iVar1 += 1; - } - iVar1 = (iVar1 >> 1) + -2; - puVar3 = puParm1; - if (-1 < iVar1) { - do { - *puVar3 = 0x4300040; - puVar3[1] = iParm2; - puVar4 = puVar3 + 2; - if ((int)uVar2 < 9) { - puParm1 = puVar4; - if (((int)uVar2 < 9) && (puParm1 = puVar4, (uVar2 & 1) == 0)) { - puParm1 = puVar3 + 4; - *puVar4 = 0xb1000032; - puVar3[3] = 0x2110; - } - } - else { - uVar5 = uVar2 + 3 & 3; - if (((int)(uVar2 + 3) < 0) && (uVar5 != 0)) { - uVar5 -= 4; - } - puParm1 = puVar4; - if (uVar5 != 0) { - *puVar4 = 0xb1000032; - puVar3[3] = 0x2110; - puParm1 = puVar3 + 4; - } - } - uVar2 = (int)((uVar2 + 1) * 0x1000000) >> 0x18; - iParm2 += 0x20; - puVar3 = puParm1; - } while ((int)uVar2 <= iVar1); - } - *puParm1 = 0xb8000000; - puParm1[1] = 0; - return puParm1 + 2; -} - - - -void loc_7F0A3934(short *psParm1,int iParm2,float fParm3,longlong lParm4) - -{ - short sVar1; - short sVar2; - short *psVar3; - int iVar4; - float fVar5; - float fVar6; - undefined uVar7; - float fVar8; - - if (lParm4 != 0) { - *psParm1 = 1; - psParm1[1] = 0; - psParm1[2] = 0; - psParm1[3] = 0; - psParm1[4] = 0; - psParm1[5] = 0; - *(undefined *)(psParm1 + 6) = 0; - *(undefined *)((int)psParm1 + 0xd) = 0x2c; - *(undefined *)(psParm1 + 7) = 0; - *(undefined *)((int)psParm1 + 0xf) = 0xb0; - psParm1 = psParm1 + 8; - } - iVar4 = 7; - if (6 < iParm2 + -7) { - do { - fVar8 = ((float)iVar4 * DAT_8004ce1c) / (float)iParm2; - fVar6 = (float)func_7F057FC4(fVar8); - fVar5 = (float)func_7F057FC4(fVar8); - sVar1 = (short)(int)(fVar6 * 520.00000000 * fParm3); - *psParm1 = sVar1 + 1; - psParm1[1] = 0; - psParm1[3] = 0; - psParm1[4] = 0; - psParm1[5] = 0; - sVar2 = (short)(int)(fVar5 * 520.00000000 * fParm3); - psParm1[2] = -sVar2; - fVar6 = (float)func_7F057FC4(fVar8); - fVar6 = 0.00000000 - fVar6 * 0.00000000; - if (false) { - fVar5 = ROUND(fVar6); - } - else { - fVar5 = FLOOR(fVar6); - } - uVar7 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f0a2b00; - uVar7 = (undefined)(int)fVar6; - } - else { - if ((int)fVar5 < 0) { -LAB_7f0a2b00: - uVar7 = 0xff; - } - } - *(undefined *)(psParm1 + 6) = uVar7; - fVar6 = (float)func_7F057FC4(fVar8); - fVar6 = 44.00000000 - fVar6 * 20.00000000; - if (false) { - fVar5 = ROUND(fVar6); - } - else { - fVar5 = FLOOR(fVar6); - } - uVar7 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f0a2b98; - uVar7 = (undefined)(int)fVar6; - } - else { - if ((int)fVar5 < 0) { -LAB_7f0a2b98: - uVar7 = 0xff; - } - } - *(undefined *)((int)psParm1 + 0xd) = uVar7; - fVar6 = (float)func_7F057FC4(fVar8); - fVar6 = 0.00000000 - fVar6 * 0.00000000; - if (false) { - fVar5 = ROUND(fVar6); - } - else { - fVar5 = FLOOR(fVar6); - } - uVar7 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f0a2c30; - uVar7 = (undefined)(int)fVar6; - } - else { - if ((int)fVar5 < 0) { -LAB_7f0a2c30: - uVar7 = 0xff; - } - } - *(undefined *)(psParm1 + 7) = uVar7; - *(undefined *)((int)psParm1 + 0xf) = 0xb0; - psVar3 = psParm1 + 8; - if ((iVar4 != 0) && (iVar4 < iParm2)) { - *psVar3 = 1 - sVar1; - psParm1[9] = 0; - psParm1[10] = -sVar2; - psParm1[0xb] = 0; - psParm1[0xc] = 0; - psParm1[0xd] = 0; - *(undefined *)(psParm1 + 0xe) = 0xff; - *(undefined *)((int)psParm1 + 0x1d) = 0xff; - *(undefined *)(psParm1 + 0xf) = 0xff; - fVar6 = (float)func_7F057FC4(fVar8); - fVar6 = 0.00000000 - fVar6 * 0.00000000; - if (false) { - fVar5 = ROUND(fVar6); - } - else { - fVar5 = FLOOR(fVar6); - } - uVar7 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f0a2d0c; - uVar7 = (undefined)(int)fVar6; - } - else { - if ((int)fVar5 < 0) { -LAB_7f0a2d0c: - uVar7 = 0xff; - } - } - *(undefined *)(psParm1 + 0xe) = uVar7; - fVar6 = (float)func_7F057FC4(fVar8); - fVar6 = 44.00000000 - fVar6 * 20.00000000; - if (false) { - fVar5 = ROUND(fVar6); - } - else { - fVar5 = FLOOR(fVar6); - } - uVar7 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f0a2da4; - uVar7 = (undefined)(int)fVar6; - } - else { - if ((int)fVar5 < 0) { -LAB_7f0a2da4: - uVar7 = 0xff; - } - } - *(undefined *)((int)psParm1 + 0x1d) = uVar7; - fVar6 = (float)func_7F057FC4(fVar8); - fVar6 = 0.00000000 - fVar6 * 0.00000000; - if (false) { - fVar5 = ROUND(fVar6); - } - else { - fVar5 = FLOOR(fVar6); - } - uVar7 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f0a2e3c; - uVar7 = (undefined)(int)fVar6; - } - else { - if ((int)fVar5 < 0) { -LAB_7f0a2e3c: - uVar7 = 0xff; - } - } - *(undefined *)(psParm1 + 0xf) = uVar7; - *(undefined *)((int)psParm1 + 0x1f) = 0xb0; - psVar3 = psParm1 + 0x10; - } - iVar4 += 2; - psParm1 = psVar3; - } while (iVar4 <= iParm2 + -7); - } - return; -} - - - -undefined4 * loc_7F0A3AA4(undefined4 *puParm1,int iParm2,undefined8 uParm3,longlong lParm4) - -{ - undefined4 *puVar1; - int iVar2; - - if (lParm4 == 0) { - iVar2 = 0; - do { - iVar2 = (iVar2 + 1) * 0x1000000 >> 0x18; - puParm1[1] = iParm2; - *puParm1 = 0x4300040; - puParm1[3] = 0x2110; - puParm1[2] = 0xb1000032; - puParm1 = puParm1 + 4; - iParm2 += 0x20; - } while (iVar2 < 8); - } - else { - puParm1[1] = iParm2 + 0xf0; - *puParm1 = 0x4300040; - puParm1[2] = 0x4040010; - puParm1[3] = iParm2; - iVar2 = 7; - puParm1[5] = 0x42; - puParm1[4] = 0xb1000003; - puVar1 = puParm1 + 6; - do { - puParm1 = puVar1; - puParm1[1] = iVar2 * 0x20 + iParm2 + 0x10; - *puParm1 = 0x4300040; - iVar2 = (iVar2 + -1) * 0x1000000 >> 0x18; - puParm1[3] = iParm2; - puParm1[2] = 0x4040010; - puParm1[5] = 0x3140; - puParm1[4] = 0xb1000042; - puVar1 = puParm1 + 6; - } while (-1 < iVar2); - puParm1[7] = 0x10; - puParm1[6] = 0xb1000004; - puParm1 = puParm1 + 8; - } - *puParm1 = 0xb8000000; - puParm1[1] = 0; - return puParm1 + 2; -} - - - -short * loc_7F0A3AEC(short *psParm1,short sParm2,short sParm3,short sParm4,short sParm5,short sParm6 - ,short sParm7) - -{ - int iVar1; - int iVar2; - short sVar3; - - sParm2 += sParm6; - iVar1 = 0; - do { - iVar2 = 0; - sVar3 = sParm3 + sParm7; - do { - iVar2 += 1; - psParm1[2] = sVar3; - sVar3 += sParm5; - *psParm1 = sParm2; - psParm1[1] = 0; - psParm1[3] = 0; - psParm1[4] = 0; - psParm1[5] = 0; - *(undefined *)(psParm1 + 6) = 0x20; - *(undefined *)((int)psParm1 + 0xd) = 0x70; - *(undefined *)(psParm1 + 7) = 0x20; - *(undefined *)((int)psParm1 + 0xf) = 0xf0; - psParm1 = psParm1 + 8; - } while (iVar2 != 2); - iVar1 += 1; - sParm2 += sParm4; - } while (iVar1 != 2); - return psParm1; -} - - - -undefined4 * sub_7F0A3B40(undefined4 *puParm1,undefined4 uParm2) - -{ - *puParm1 = 0x4300040; - puParm1[1] = uParm2; - puParm1[3] = 0x2110; - puParm1[2] = 0xb1000032; - return puParm1 + 4; -} - - - -void FUN_7f0a3118(void) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)&DAT_80068c80; - do { - puVar1 = puVar1 + 0xb; - puVar1[3] = 0; - *(undefined2 *)(puVar1 + 1) = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 < (undefined4 *)0x80068ff0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a3148(undefined4 *puParm1,undefined4 *puParm2,int iParm3,float fParm4,undefined2 uParm5) - -{ - longlong lVar1; - float fVar2; - float fVar3; - float fVar4; - - lVar1 = FUN_700098b0(); - fVar2 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - fVar2 = fVar2 * 0.00000000 * DAT_8004ce20; - *puParm1 = 0; - *(undefined2 *)((int)puParm1 + 6) = uParm5; - if (iParm3 == 4) { - *(undefined2 *)(puParm1 + 1) = 1; - puParm1[2] = 0x3f800000; - puParm1[3] = _DAT_800744ac; - } - else { - if (iParm3 == 1) { - *(undefined2 *)(puParm1 + 1) = 0xb; - puParm1[2] = 0x3f000000; - puParm1[3] = _DAT_800744a0; - } - else { - if (iParm3 == 3) { - *(undefined2 *)(puParm1 + 1) = 9; - puParm1[2] = 0x3f000000; - puParm1[3] = _DAT_800744a4; - } - else { - if (iParm3 == 6) { - *(undefined2 *)(puParm1 + 1) = 100; - puParm1[2] = 0; - puParm1[3] = _DAT_800744ac; - } - else { - *(undefined2 *)(puParm1 + 1) = 0xb; - puParm1[2] = 0x3f000000; - puParm1[3] = _DAT_800744a0; - } - } - } - } - iParm3 *= 4; - *(undefined *)(puParm1 + 10) = (&DAT_8003a5b0)[iParm3]; - *(undefined *)((int)puParm1 + 0x29) = (&DAT_8003a5b1)[iParm3]; - *(undefined *)((int)puParm1 + 0x2a) = (&DAT_8003a5b2)[iParm3]; - *(undefined *)((int)puParm1 + 0x2b) = (&DAT_8003a5b3)[iParm3]; - puParm1[4] = *puParm2; - puParm1[5] = puParm2[1]; - puParm1[6] = puParm2[2]; - lVar1 = FUN_700098b0(); - fVar3 = (float)(int)lVar1; - if (lVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar4 = fParm4 * (fVar3 * 0.00000000 * 0.25000000 + 1.00000000) * DAT_8004ce24; - *(float *)(puParm1 + 9) = fVar4; - fVar3 = (float)func_7F057FC4(fVar2); - *(float *)(puParm1 + 7) = fVar3 * fVar4; - fVar2 = (float)func_7F057FC4(fVar2); - *(float *)(puParm1 + 8) = fVar2 * fVar4; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * FUN_7f0a335c(undefined4 uParm1,undefined8 uParm2,undefined4 uParm3,undefined2 uParm4) - -{ - short sVar1; - undefined *puVar2; - - sVar1 = _DAT_80068c84; - puVar2 = &DAT_80068c80; - while( true ) { - if (sVar1 == 0) { - FUN_7f0a3148(puVar2,uParm1,uParm2,uParm3,uParm4); - return puVar2; - } - if ((undefined *)0x80068fef < puVar2 + 0x2c) break; - sVar1 = *(short *)(puVar2 + 0x30); - puVar2 = puVar2 + 0x2c; - } - return (undefined *)0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a33e0(void) - -{ - int *piVar1; - short sVar2; - int iVar3; - - sVar2 = _DAT_80068c84; - piVar1 = (int *)&DAT_80068c80; - while( true ) { - if (0 < sVar2) { - iVar3 = *piVar1 + DAT_80040ff4; - *piVar1 = iVar3; - if ((-1 < (longlong)iVar3) && ((longlong)*(short *)(piVar1 + 1) <= (longlong)iVar3)) { - *(undefined2 *)(piVar1 + 1) = 0; - } - } - if ((int *)0x80068fef < piVar1 + 0xb) break; - sVar2 = *(short *)(piVar1 + 0xc); - piVar1 = piVar1 + 0xb; - } - return; -} - - - -void loc_7F0A4514(int *piParm1,undefined4 *puParm2,undefined4 uParm3) - -{ - byte bVar1; - undefined2 uVar2; - longlong lVar3; - undefined4 *puVar5; - float *pfVar6; - undefined8 uVar4; - undefined4 uVar7; - undefined4 *puVar8; - undefined4 *puVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - float fVar28; - float fVar29; - float fVar30; - float fVar31; - float fVar32; - float fVar33; - float fVar34; - float fVar35; - float fVar36; - float fVar37; - float fVar38; - float fVar39; - undefined4 *puStack24; - float *pfStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - if (((0 < *(short *)(piParm1 + 1)) && (-1 < *piParm1)) && - (lVar3 = FUN_7f078ad8(piParm1 + 4,piParm1[9]), lVar3 != 0)) { - uStack16 = DAT_8003a5d0; - uStack12 = DAT_8003a5d4; - iStack4 = DAT_8003a5dc; - uStack8 = DAT_8003a5d8; - pfStack20 = (float *)FUN_7f0784c4(); - puStack24 = (undefined4 *)*puParm2; - puVar5 = (undefined4 *)FUN_7f0bca74(4); - uVar2 = *(undefined2 *)((int)piParm1 + 6); - pfVar6 = (float *)FUN_7f0bbe14(); - iStack4 = piParm1[10]; - iVar10 = *piParm1; - fVar39 = (float)piParm1[2]; - fVar32 = (float)piParm1[4]; - fVar12 = (float)piParm1[5]; - fVar18 = (float)piParm1[6]; - fVar26 = (float)piParm1[7]; - fVar19 = *pfStack20; - fVar25 = (float)piParm1[7]; - fVar33 = pfStack20[1]; - fVar27 = (float)piParm1[7]; - fVar20 = pfStack20[2]; - fVar13 = (float)piParm1[8]; - fVar34 = *pfStack20; - fVar28 = (float)piParm1[8]; - fVar21 = pfStack20[1]; - fVar14 = (float)piParm1[8]; - fVar35 = pfStack20[2]; - fVar29 = (float)piParm1[7]; - fVar22 = pfStack20[4]; - fVar15 = (float)piParm1[7]; - fVar36 = pfStack20[5]; - fVar30 = (float)piParm1[7]; - fVar23 = pfStack20[6]; - fVar16 = (float)piParm1[8]; - fVar37 = pfStack20[4]; - fVar31 = (float)piParm1[8]; - fVar24 = pfStack20[5]; - fVar17 = (float)piParm1[8]; - fVar38 = pfStack20[6]; - *puVar5 = uStack16; - puVar5[1] = uStack12; - puVar5[2] = uStack8; - puVar5[3] = iStack4; - puVar5[4] = uStack16; - puVar5[5] = uStack12; - puVar5[6] = uStack8; - puVar5[7] = iStack4; - puVar5[8] = uStack16; - puVar5[9] = uStack12; - puVar5[10] = uStack8; - puVar5[0xb] = iStack4; - puVar5[0xc] = uStack16; - puVar5[0xd] = uStack12; - puVar5[0xe] = uStack8; - puVar5[0xf] = iStack4; - fVar11 = (float)FUN_7f0b3b78(); - *(short *)puVar5 = - (short)(int)(((fVar32 - fVar19 * fVar26) - fVar37 * fVar16) * fVar11 - *pfVar6); - fVar11 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar5 + 2) = - (short)(int)(((fVar12 - fVar33 * fVar25) - fVar24 * fVar31) * fVar11 - pfVar6[1]); - fVar11 = (float)FUN_7f0b3b78(); - *(short *)(puVar5 + 1) = - (short)(int)(((fVar18 - fVar20 * fVar27) - fVar38 * fVar17) * fVar11 - pfVar6[2]); - iVar10 = (int)((float)iVar10 * fVar39) * 0xc; - bVar1 = *(byte *)(piParm1[3] + iVar10 + 4); - *(undefined2 *)((int)puVar5 + 10) = 0; - *(ushort *)(puVar5 + 2) = (ushort)bVar1 << 5; - fVar11 = (float)FUN_7f0b3b78(); - *(short *)(puVar5 + 4) = - (short)(int)(((fVar32 + fVar34 * fVar13) - fVar22 * fVar29) * fVar11 - *pfVar6); - fVar11 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar5 + 0x12) = - (short)(int)(((fVar12 + fVar21 * fVar28) - fVar36 * fVar15) * fVar11 - pfVar6[1]); - fVar11 = (float)FUN_7f0b3b78(); - fVar39 = pfVar6[2]; - *(undefined2 *)(puVar5 + 6) = 0; - *(undefined2 *)((int)puVar5 + 0x1a) = 0; - *(short *)(puVar5 + 5) = - (short)(int)(((fVar18 + fVar35 * fVar14) - fVar23 * fVar30) * fVar11 - fVar39); - fVar11 = (float)FUN_7f0b3b78(); - *(short *)(puVar5 + 8) = - (short)(int)((fVar32 + fVar19 * fVar26 + fVar37 * fVar16) * fVar11 - *pfVar6); - fVar11 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar5 + 0x22) = - (short)(int)((fVar12 + fVar33 * fVar25 + fVar24 * fVar31) * fVar11 - pfVar6[1]); - fVar11 = (float)FUN_7f0b3b78(); - fVar25 = pfVar6[2]; - *(undefined2 *)(puVar5 + 10) = 0; - *(short *)(puVar5 + 9) = - (short)(int)((fVar18 + fVar20 * fVar27 + fVar38 * fVar17) * fVar11 - fVar25); - *(short *)((int)puVar5 + 0x2a) = (ushort)*(byte *)(piParm1[3] + iVar10 + 5) << 5; - fVar11 = (float)FUN_7f0b3b78(); - *(short *)(puVar5 + 0xc) = - (short)(int)(((fVar32 - fVar34 * fVar13) + fVar22 * fVar29) * fVar11 - *pfVar6); - fVar11 = (float)FUN_7f0b3b78(); - *(undefined2 *)((int)puVar5 + 0x32) = - (short)(int)(((fVar12 - fVar21 * fVar28) + fVar36 * fVar15) * fVar11 - pfVar6[1]); - fVar11 = (float)FUN_7f0b3b78(); - puVar8 = puStack24; - *(short *)(puVar5 + 0xd) = - (short)(int)(((fVar18 - fVar35 * fVar14) + fVar23 * fVar30) * fVar11 - pfVar6[2]); - *(ushort *)(puVar5 + 0xe) = (ushort)*(byte *)(piParm1[3] + iVar10 + 4) << 5; - *(short *)((int)puVar5 + 0x3a) = (ushort)*(byte *)(piParm1[3] + iVar10 + 5) << 5; - puVar9 = puStack24 + 2; - puStack24[1] = 0x2000; - *puStack24 = 0xb7000000; - puStack24 = puStack24 + 4; - *puVar9 = 0x1030040; - uVar4 = FUN_7f078414(); - uVar7 = osVirtualToPhysical(uVar4); - puVar8[3] = uVar7; - puStack24 = (undefined4 *)FUN_7f0bbdc4(puStack24,uVar2); - loc_7F077B80(&puStack24,piParm1[3] + iVar10,4,uParm3,2); - puVar8 = puStack24; - *puStack24 = 0x4300040; - puStack24 = puStack24 + 2; - uVar7 = osVirtualToPhysical(puVar5); - puVar5 = puStack24; - puVar8[1] = uVar7; - puVar8 = puStack24 + 2; - puStack24[1] = 0x2010; - *puStack24 = 0xb1000032; - puStack24 = puStack24 + 4; - *puVar8 = 0x1030040; - uVar4 = FUN_7f0783f4(); - uVar7 = osVirtualToPhysical(uVar4); - puVar5[3] = uVar7; - *(undefined4 **)puParm2 = puStack24; - } - return; -} - - - -void FUN_7f0a3a68(undefined8 uParm1,undefined8 uParm2) - -{ - undefined *puVar1; - - puVar1 = &DAT_80068c80; - do { - loc_7F0A4514(puVar1,uParm1,uParm2); - puVar1 = puVar1 + 0x2c; - } while (puVar1 < (undefined *)0x80068ff0); - return; -} - - - -float FUN_7f0a3ad4(int iParm1) - -{ - undefined8 uVar1; - undefined4 uStack12; - undefined4 uStack8; - float fStack4; - - uStack12 = *(undefined4 *)(iParm1 + 0x10); - uStack8 = *(undefined4 *)(iParm1 + 0x14); - fStack4 = *(float *)(iParm1 + 0x18); - uVar1 = FUN_7f078444(); - FUN_7f05891c(uVar1,&uStack12); - return -fStack4; -} - - - -void FUN_7f0a3b18(void) - -{ - FUN_7f0a3118(); - return; -} - - - -void FUN_7f0a3b38(void) - -{ - FUN_7f0a33e0(); - return; -} - - - -void FUN_7f0a3b58(void) - -{ - FUN_7f0a3a68(); - return; -} - - - -void FUN_7f0a3db8(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000ae60(0); - if (10 < lVar1) { - DAT_8003a7a0 += 1; - } - lVar1 = FUN_7000ae60(0); - if (lVar1 < -10) { - DAT_8003a7a0 += -1; - } - lVar1 = FUN_7000af70(0); - if (10 < lVar1) { - DAT_8003a7a4 += -1; - } - lVar1 = FUN_7000af70(0); - if (lVar1 < -10) { - DAT_8003a7a4 += 1; - } - return; -} - - - -void FUN_7f0a3e60(undefined4 *puParm1) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 uStack52; - undefined4 uStack48; - int iStack44; - undefined4 uStack40; - undefined auStack36 [36]; - - lVar1 = FUN_7000ae60(0); - if (10 < lVar1) { - DAT_8003a798 += 1; - } - lVar1 = FUN_7000ae60(0); - if (lVar1 < -10) { - DAT_8003a798 -= 1; - } - lVar1 = FUN_7000af70(0); - if (10 < lVar1) { - DAT_8003a79c -= 1; - } - lVar1 = FUN_7000af70(0); - if (lVar1 < -10) { - DAT_8003a79c += 1; - } - *puParm1 = 0xb900031d; - puParm1[1] = 0x504240; - puParm1[2] = 0xfcffffff; - puParm1[3] = 0xfffdf6fb; - puParm1[4] = 0xfa000000; - puParm1[5] = 0xff0000ff; - puParm1[6] = (DAT_8003a798 + 1 & 0x3ff) << 0xe | 0xf6000000 | (DAT_8003a79c + 1 & 0x3ff) << 2; - puParm1[7] = (DAT_8003a798 & 0x3ff) << 0xe | (DAT_8003a79c & 0x3ff) << 2; - uStack40 = DAT_8003aafc; - iStack44 = DAT_8003ab00; - FUN_7000a0f4(auStack36,s__d___d_8004ce30,DAT_8003a798,DAT_8003a79c); - uVar2 = loc_7F0ACED4(puParm1 + 8); - loc_7F0AEB50(&uStack52,&uStack48,auStack36,iStack44,uStack40,0); - loc_7F0ADD78(uVar2,&DAT_8003a798,&DAT_8003a79c,auStack36,iStack44,uStack40,0xff0000ff,uStack48, - uStack52,0,0); - DAT_8003a79c = (DAT_8003a79c - *(int *)(iStack44 + 0x890)) + 1; - return; -} - - - -undefined8 FUN_7f0a4094(void) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = FUN_7000a718(); - if (lVar1 < 2) { - uVar2 = 0; - } - else { - lVar1 = FUN_7f0a40e0(); - if (lVar1 < 4) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0a40e0(void) - -{ - return *(undefined4 *)(_DAT_80068bc0 + 0x2a50); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a40f0(int iParm1) - -{ - int iVar1; - - *(int *)(_DAT_80068bc0 + 0x2a50) = iParm1; - iVar1 = 10; - *(int *)(_DAT_80068bc0 + 0x2a54) = iParm1; - *(float *)(_DAT_80068bc0 + 0x2a58) = (float)iParm1; - if (DAT_80041150 != 0) { - iVar1 = 0xe; - } - *(int *)(_DAT_80068bc0 + 0x2a5c) = -(iVar1 * iParm1); - *(undefined4 *)(_DAT_80068bc0 + 0x2a60) = 1; - return; -} - - - -undefined4 FUN_7f0a4158(void) - -{ - return DAT_8003a6d4; -} - - - -void FUN_7f0a4164(undefined4 uParm1) - -{ - DAT_8003a6d4 = uParm1; - return; -} - - - -undefined4 FUN_7f0a4170(void) - -{ - return DAT_8003a6e0; -} - - - -void FUN_7f0a417c(undefined4 uParm1) - -{ - DAT_8003a6e0 = uParm1; - return; -} - - - -undefined4 FUN_7f0a4188(void) - -{ - return DAT_8003a704; -} - - - -void FUN_7f0a4194(undefined4 uParm1) - -{ - DAT_8003a704 = uParm1; - return; -} - - - -undefined4 FUN_7f0a41a0(void) - -{ - return DAT_8003a6ec; -} - - - -void FUN_7f0a41ac(undefined4 uParm1) - -{ - DAT_8003a6ec = uParm1; - return; -} - - - -undefined4 FUN_7f0a41b8(void) - -{ - return DAT_8003a6f8; -} - - - -void FUN_7f0a41c4(undefined4 uParm1) - -{ - DAT_8003a6f8 = uParm1; - return; -} - - - -undefined4 FUN_7f0a41d0(void) - -{ - return DAT_8003a710; -} - - - -void FUN_7f0a41dc(undefined4 uParm1) - -{ - DAT_8003a710 = uParm1; - return; -} - - - -undefined4 FUN_7f0a41e8(void) - -{ - return DAT_8003a71c; -} - - - -void FUN_7f0a41f4(undefined4 uParm1) - -{ - DAT_8003a71c = uParm1; - return; -} - - - -undefined4 FUN_7f0a4200(void) - -{ - return DAT_8003a728; -} - - - -void FUN_7f0a420c(undefined4 uParm1) - -{ - DAT_8003a728 = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a4218(void) - -{ - if (DAT_8003a5f8 == 1) { - DAT_8003a5f8 = 0; - } - else { - DAT_8003a5f8 = 1; - FUN_70008268(_DAT_80056900,0x9f,0); - } - return; -} - - - -void FUN_7f0a4264(void) - -{ - DAT_8003a5f8 = 0; - return; -} - - - -ulonglong FUN_7f0a4270(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000ae60(0); - return (ulonglong)(lVar1 < -0x2d); -} - - - -ulonglong FUN_7f0a4294(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000ae60(0); - return (ulonglong)(lVar1 < 0x2e) ^ 1; -} - - - -undefined4 FUN_7f0a42b8(void) - -{ - return DAT_8003a72c; -} - - - -void FUN_7f0a42c4(void) - -{ - DAT_8003a72c = 0; - return; -} - - - -ulonglong FUN_7f0a42d0(void) - -{ - bool bVar1; - longlong lVar2; - - lVar2 = FUN_7f0a4270(); - bVar1 = lVar2 != 0; - if (bVar1) { - lVar2 = FUN_7f0a42b8(); - bVar1 = lVar2 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a430c(void) - -{ - bool bVar1; - longlong lVar2; - - lVar2 = FUN_7f0a4294(); - bVar1 = lVar2 != 0; - if (bVar1) { - lVar2 = FUN_7f0a42b8(); - bVar1 = lVar2 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a4348(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000af70(0); - return (ulonglong)(lVar1 < 0x2e) ^ 1; -} - - - -ulonglong FUN_7f0a436c(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000af70(0); - return (ulonglong)(lVar1 < -0x2d); -} - - - -undefined4 FUN_7f0a4390(void) - -{ - return DAT_8003a730; -} - - - -void FUN_7f0a439c(void) - -{ - DAT_8003a730 = 0; - return; -} - - - -ulonglong FUN_7f0a43a8(void) - -{ - bool bVar1; - longlong lVar2; - - lVar2 = FUN_7f0a4348(); - bVar1 = lVar2 != 0; - if (bVar1) { - lVar2 = FUN_7f0a4390(); - bVar1 = lVar2 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a43e4(void) - -{ - bool bVar1; - longlong lVar2; - - lVar2 = FUN_7f0a436c(); - bVar1 = lVar2 != 0; - if (bVar1) { - lVar2 = FUN_7f0a4390(); - bVar1 = lVar2 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a4420(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000af70(0); - return (ulonglong)(lVar1 < 0x10) ^ 1; -} - - - -ulonglong FUN_7f0a4444(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000af70(0); - return (ulonglong)(lVar1 < -0xf); -} - - - -undefined4 FUN_7f0a4468(void) - -{ - return DAT_8003a734; -} - - - -ulonglong FUN_7f0a4480(void) - -{ - bool bVar1; - longlong lVar2; - - lVar2 = FUN_7f0a4420(); - bVar1 = lVar2 != 0; - if (bVar1) { - lVar2 = FUN_7f0a4468(); - bVar1 = lVar2 == 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a44bc(void) - -{ - bool bVar1; - longlong lVar2; - - lVar2 = FUN_7f0a4444(); - bVar1 = lVar2 != 0; - if (bVar1) { - lVar2 = FUN_7f0a4468(); - bVar1 = lVar2 == 0; - } - return (ulonglong)bVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a44f8(void) - -{ - DAT_8003a754 = 0x80; - FUN_70008268(_DAT_80056900,0xec,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a4530(void) - -{ - uint uVar1; - - FUN_7f0a42c4(); - FUN_70008268(_DAT_80056900,0x9f,0); - uVar1 = FUN_700098b0(); - if ((uint)(DAT_8003a760 << 0x10) < uVar1) { - FUN_7f0a44f8(); - } - return; -} - - - -void FUN_7f0a458c(void) - -{ - bool bVar1; - bool bVar2; - longlong lVar3; - - if (DAT_8003a5f8 == 0) { - bVar1 = false; - bVar2 = false; - lVar3 = FUN_7f0904a8(); - if (lVar3 == 0) { - lVar3 = FUN_7000b120(0,0x22); - bVar1 = lVar3 != 0; - lVar3 = FUN_7000b120(0,0x11); - if (lVar3 != 0) { - bVar2 = true; - } - } - lVar3 = FUN_7000b120(0,0x200); - if ((lVar3 != 0) || (lVar3 = FUN_7f0a42d0(), lVar3 != 0)) { - bVar1 = true; - } - lVar3 = FUN_7000b120(0,0x100); - if ((lVar3 != 0) || (lVar3 = FUN_7f0a430c(), lVar3 != 0)) { - bVar2 = true; - } - if (bVar1) { - DAT_8003a5e4 = 4; - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004ceac,0x41700000); - } - if (bVar2) { - DAT_8003a5e4 = 1; - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004ceb0,0x41700000); - } - } - else { - if ((DAT_8003a5f4 != 0) && (lVar3 = FUN_7000b120(0,0xa000), lVar3 != 0)) { - DAT_8003a5f4 = 0; - FUN_7f0c00fc(0); - FUN_70005d78(); - DAT_80025e74 = 1; - FUN_7f01d378(); - } - } - return; -} - - - -void FUN_7f0a46f8(void) - -{ - bool bVar1; - bool bVar2; - longlong lVar3; - - if (DAT_8003a5f8 == 0) { - bVar1 = false; - bVar2 = false; - lVar3 = FUN_7f0904a8(); - if (lVar3 == 0) { - lVar3 = FUN_7000b120(0,0x22); - bVar1 = lVar3 != 0; - lVar3 = FUN_7000b120(0,0x11); - if (lVar3 != 0) { - bVar2 = true; - } - } - lVar3 = FUN_7000b120(0,0x200); - if ((lVar3 != 0) || (lVar3 = FUN_7f0a42d0(), lVar3 != 0)) { - bVar1 = true; - } - lVar3 = FUN_7000b120(0,0x100); - if ((lVar3 != 0) || (lVar3 = FUN_7f0a430c(), lVar3 != 0)) { - bVar2 = true; - } - if (bVar1) { - DAT_8003a5e4 = 0; - FUN_7f0aa7cc(); - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004ceb4,0x41700000); - } - if (bVar2) { - DAT_8003a5e4 = 2; - FUN_7f0a42c4(); - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004ceb8,0x41700000); - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a4894) overlaps instruction at (ram,0x7f0a4890) -// - -void FUN_7f0a4824(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x222); - if (((lVar1 == 0) && (lVar1 = FUN_7f0a42d0(), lVar1 == 0)) || (DAT_8003a5f8 != 0)) { - lVar1 = FUN_7000b120(0,0x111); - if (((lVar1 != 0) || (lVar1 = FUN_7f0a430c(), lVar1 != 0)) && (DAT_8003a5f8 == 0)) { - DAT_8003a5e4 = 2; - FUN_7f0aa7b4(); - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004cebc,0x41700000); - } - } - else { - DAT_8003a5e4 = 1; - FUN_7f0a42c4(); - } - return; -} - - - -void FUN_7f0a48e4(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x222); - if ((((lVar1 == 0) && (lVar1 = FUN_7f0a42d0(), lVar1 == 0)) || - (lVar1 = FUN_7000b080(0,0x2000), lVar1 != 0)) || (DAT_8003a5f8 != 0)) { - lVar1 = FUN_7000b120(0,0x111); - if (((lVar1 != 0) || (lVar1 = FUN_7f0a430c(), lVar1 != 0)) && - ((lVar1 = FUN_7000b080(0,0x2000), lVar1 == 0 && (DAT_8003a5f8 == 0)))) { - DAT_8003a5e4 = 3; - FUN_7f0aa7c0(); - FUN_7f0a42c4(); - } - } - else { - DAT_8003a5e4 = 1; - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004cec0,0x41700000); - } - return; -} - - - -void FUN_7f0a49c4(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x222); - if ((((lVar1 == 0) && (lVar1 = FUN_7f0a42d0(), lVar1 == 0)) || - (lVar1 = FUN_7000b080(0,0x2000), lVar1 != 0)) || (DAT_8003a5f8 != 0)) { - lVar1 = FUN_7000b120(0,0x111); - if (((lVar1 != 0) || (lVar1 = FUN_7f0a430c(), lVar1 != 0)) && - ((lVar1 = FUN_7000b080(0,0x2000), lVar1 == 0 && (DAT_8003a5f8 == 0)))) { - DAT_8003a5e4 = 4; - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004cec4,0x41700000); - } - } - else { - DAT_8003a5e4 = 2; - FUN_7f0aa7b4(); - FUN_7f0a42c4(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a4b34) overlaps instruction at (ram,0x7f0a4b30) -// - -void FUN_7f0a4aa4(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x222); - if (((lVar1 == 0) && (lVar1 = FUN_7f0a42d0(), lVar1 == 0)) || (DAT_8003a5f8 != 0)) { - lVar1 = FUN_7000b120(0,0x111); - if (((lVar1 != 0) || (lVar1 = FUN_7f0a430c(), lVar1 != 0)) && (DAT_8003a5f8 == 0)) { - DAT_8003a5e4 = 0; - FUN_7f0aa7cc(); - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004cecc,0x41700000); - } - } - else { - DAT_8003a5e4 = 3; - FUN_7f0aa7c0(); - FUN_7f0a4530(); - FUN_7f07e4d4(DAT_8004cec8,0x41700000); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a4bf0) overlaps instruction at (ram,0x7f0a4bec) -// - -void FUN_7f0a4b80(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if (((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) || (DAT_8003a5f8 != 0)) { - lVar1 = FUN_7000b120(0,0x404); - if (((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) && (DAT_8003a5f8 == 0)) { - DAT_8003a5e8 = 1; - FUN_7f0a439c(); - } - } - else { - DAT_8003a5e8 = 1; - FUN_7f0a439c(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a4c8c) overlaps instruction at (ram,0x7f0a4c88) -// - -void FUN_7f0a4c20(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if (((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) || (DAT_8003a5f8 != 0)) { - lVar1 = FUN_7000b120(0,0x404); - if (((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) && (DAT_8003a5f8 == 0)) { - DAT_8003a5e8 = 0; - FUN_7f0a439c(); - } - } - else { - DAT_8003a5e8 = 0; - FUN_7f0a439c(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a4d28) overlaps instruction at (ram,0x7f0a4d24) -// - -void FUN_7f0a4cb8(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) { - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) { - DAT_8003a5ec += 1; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - } - else { - DAT_8003a5ec += -1; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - if (DAT_8003a5ec < 10) { - if (DAT_8003a5ec < 0) { - DAT_8003a5ec = 9; - } - } - else { - DAT_8003a5ec = 0; - } - return; -} - - - -void FUN_7f0a4d84(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) { - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) { - DAT_8003a5ec = 1; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - } - else { - DAT_8003a5ec = 9; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - return; -} - - - -void FUN_7f0a4e14(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) { - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) { - DAT_8003a5ec = 2; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - } - else { - DAT_8003a5ec = 0; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a4ee0) overlaps instruction at (ram,0x7f0a4edc) -// - -void FUN_7f0a4ea0(void) - -{ - float fVar1; - int iVar3; - longlong lVar2; - int iVar4; - - iVar3 = FUN_7f08d41c(); - lVar2 = FUN_7f0904a8(); - if (lVar2 == 0) { - lVar2 = FUN_7000b120(0,0x808); - if ((lVar2 == 0) && (lVar2 = FUN_7000af70(0), lVar2 < 0x47)) { - lVar2 = FUN_7000b120(0,0x404); - if ((((lVar2 != 0) || (lVar2 = FUN_7000af70(0), lVar2 < -0x46)) && - ((int)DAT_8003a60c < iVar3 + -1)) && (DAT_8003a5f8 == 0)) { - DAT_8003a60c = DAT_8003a60c + 1.00000000; - } - } - else { - if ((0 < (int)DAT_8003a60c) && (DAT_8003a5f8 == 0)) { - DAT_8003a60c = DAT_8003a60c - 1.00000000; - } - } - lVar2 = FUN_7000b080(0,0x808); - if (lVar2 == 0) { - lVar2 = FUN_7000b080(0,0x404); - if (((lVar2 != 0) && ((int)DAT_8003a60c < iVar3 + -1)) && (DAT_8003a5f8 == 0)) { - DAT_8003a60c = DAT_8003a60c + DAT_8004ced4; - } - } - else { - if ((0 < (int)DAT_8003a60c) && (DAT_8003a5f8 == 0)) { - DAT_8003a60c = DAT_8003a60c - DAT_8004ced0; - } - } - } - lVar2 = FUN_7000af70(0); - if ((((lVar2 < 0x1f) || (lVar2 = FUN_7000af70(0), 0x45 < lVar2)) || (DAT_8003a608 < 1)) || - (DAT_8003a5f8 != 0)) { - lVar2 = FUN_7000af70(0); - if (((lVar2 < -0x1e) && (lVar2 = FUN_7000af70(0), -0x46 < lVar2)) && - (((int)DAT_8003a60c < iVar3 + -1 && (DAT_8003a5f8 == 0)))) { - iVar4 = FUN_7000af70(0); - DAT_8003a60c = DAT_8003a60c - (float)iVar4 / 300.00000000; - } - } - else { - iVar4 = FUN_7000af70(0); - DAT_8003a60c = DAT_8003a60c - (float)iVar4 / 300.00000000; - } - lVar2 = FUN_7f0a4480(); - if (((lVar2 == 0) || (DAT_8003a608 < 1)) || (DAT_8003a5f8 != 0)) { - lVar2 = FUN_7f0a44bc(); - if (((lVar2 != 0) && (DAT_8003a608 < iVar3 + -1)) && (DAT_8003a5f8 == 0)) { - DAT_8003a60c = DAT_8003a60c + 1.00000000; - } - } - else { - DAT_8003a60c = DAT_8003a60c - 1.00000000; - } - lVar2 = FUN_7f0a4420(); - if ((lVar2 == 0) && (lVar2 = FUN_7f0a4444(), lVar2 == 0)) { - DAT_8003a734 = 0; - } - else { - DAT_8003a734 = 1; - } - fVar1 = (float)iVar3 - 0.50000000; - if (DAT_8003a60c <= (float)iVar3 - 0.50000000) { - fVar1 = DAT_8003a60c; - } - DAT_8003a60c = fVar1; - if (DAT_8003a60c < -0.50000000) { - DAT_8003a60c = -0.50000000; - } - DAT_8003a608 = (int)DAT_8003a60c; - if (DAT_80041150 == 0) { - iVar3 = 0xc; - iVar4 = 0xc; - } - else { - iVar3 = 0xe; - iVar4 = 0xe; - } - DAT_8003a604 = iVar4 * 2 + -DAT_8003a608 * iVar3; - if (DAT_8003a604 < DAT_8003a600) { - DAT_8003a600 = (DAT_8003a600 - (DAT_8003a600 - DAT_8003a604) / 3) + -1; - DAT_8003a610 = 0; - } - else { - if (DAT_8003a600 < DAT_8003a604) { - DAT_8003a600 = DAT_8003a600 + (DAT_8003a604 - DAT_8003a600) / 3 + 1; - DAT_8003a610 = 0; - } - else { - DAT_8003a610 = 1; - } - } - if ((DAT_8003a60c <= (float)DAT_8003a608 + DAT_8004ced8) || - (lVar2 = FUN_7000b080(0,0xffff), lVar2 != 0)) { - if ((DAT_8003a60c <= (float)DAT_8003a608 + DAT_8004cee0) && - (lVar2 = FUN_7000b080(0,0xffff), lVar2 == 0)) { - DAT_8003a60c = DAT_8003a60c + DAT_8004cee4; - } - } - else { - DAT_8003a60c = DAT_8003a60c - DAT_8004cedc; - } - return; -} - - - -void FUN_7f0a543c(float *pfParm1,int *piParm2,int iParm3,int *piParm4,int *piParm5, - undefined4 *puParm6,int iParm7,int iParm8,int iParm9) - -{ - longlong lVar1; - int iVar2; - int iVar3; - float fVar4; - - lVar1 = FUN_7f0904a8(); - if (lVar1 != 0) goto LAB_7f0a55b8; - lVar1 = FUN_7000b120(0,0x808); - if (lVar1 == 0) { - lVar1 = FUN_7000af70(0); - if (0x46 < lVar1) { - fVar4 = *pfParm1; - goto LAB_7f0a548c; - } - lVar1 = FUN_7000b120(0,0x404); - if (lVar1 == 0) { - lVar1 = FUN_7000af70(0); - if (lVar1 < -0x46) { - fVar4 = *pfParm1; - goto LAB_7f0a54e8; - } - } - else { - fVar4 = *pfParm1; -LAB_7f0a54e8: - if (((int)fVar4 < iParm3 + -1) && (iParm8 != 0)) { - *pfParm1 = fVar4 + 1.00000000; - } - } - } - else { - fVar4 = *pfParm1; -LAB_7f0a548c: - if ((0 < (int)fVar4) && (iParm8 != 0)) { - *pfParm1 = fVar4 - 1.00000000; - } - } - lVar1 = FUN_7000b080(0,0x808); - if (lVar1 == 0) { - lVar1 = FUN_7000b080(0,0x404); - if (((lVar1 != 0) && ((int)*pfParm1 < iParm3 + -1)) && (iParm8 != 0)) { - *pfParm1 = *pfParm1 + DAT_8004ceec; - } - } - else { - if ((0 < (int)*pfParm1) && (iParm8 != 0)) { - *pfParm1 = *pfParm1 - DAT_8004cee8; - } - } -LAB_7f0a55b8: - lVar1 = FUN_7000af70(0); - if (((lVar1 < 0x1f) || (lVar1 = FUN_7000af70(0), 0x45 < lVar1)) || - ((*piParm2 < 1 || (iParm8 == 0)))) { - lVar1 = FUN_7000af70(0); - if ((((lVar1 < -0x1e) && (lVar1 = FUN_7000af70(0), -0x46 < lVar1)) && - ((int)*pfParm1 < iParm3 + -1)) && (iParm8 != 0)) { - iVar2 = FUN_7000af70(0); - *pfParm1 = *pfParm1 - (float)iVar2 / 300.00000000; - } - } - else { - iVar2 = FUN_7000af70(0); - *pfParm1 = *pfParm1 - (float)iVar2 / 300.00000000; - } - lVar1 = FUN_7f0a4480(); - if (((lVar1 == 0) || (*piParm2 < 1)) || (iParm8 == 0)) { - lVar1 = FUN_7f0a44bc(); - if (((lVar1 != 0) && (*piParm2 < iParm3 + -1)) && (iParm8 != 0)) { - *pfParm1 = *pfParm1 + 1.00000000; - } - } - else { - *pfParm1 = *pfParm1 - 1.00000000; - } - lVar1 = FUN_7f0a4420(); - if ((lVar1 == 0) && (lVar1 = FUN_7f0a4444(), lVar1 == 0)) { - DAT_8003a734 = 0; - } - else { - DAT_8003a734 = 1; - } - fVar4 = *pfParm1; - if ((float)iParm3 - 0.50000000 < fVar4) { - *pfParm1 = (float)iParm3 - 0.50000000; - fVar4 = *pfParm1; - } - if (fVar4 < -0.50000000) { - *pfParm1 = -0.50000000; - fVar4 = *pfParm1; - } - *piParm2 = (int)fVar4; - iVar3 = -(int)fVar4 * iParm9 + iParm7 * iParm9; - *piParm5 = iVar3; - iVar2 = *piParm4; - if (iVar3 < iVar2) { - *piParm4 = (iVar2 - (iVar2 - iVar3) / 3) + -1; - *puParm6 = 0; - } - else { - if (iVar2 < iVar3) { - *piParm4 = iVar2 + (iVar3 - iVar2) / 3 + 1; - *puParm6 = 0; - } - else { - *puParm6 = 1; - } - } - if ((*pfParm1 <= (float)*piParm2 + DAT_8004cef0) || (lVar1 = FUN_7000b080(0,0xffff), lVar1 != 0)) - { - if ((*pfParm1 <= (float)*piParm2 + DAT_8004cef8) && (lVar1 = FUN_7000b080(0,0xffff), lVar1 == 0) - ) { - *pfParm1 = *pfParm1 + DAT_8004cefc; - } - } - else { - *pfParm1 = *pfParm1 - DAT_8004cef4; - } - return; -} - - - -void FUN_7f0a5938(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43a8(), lVar1 != 0)) { - DAT_8003a5f0 = 4; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) { - DAT_8003a5f0 = 1; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - return; -} - - - -void FUN_7f0a59c0(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) { - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) { - DAT_8003a5f0 = 2; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - } - else { - DAT_8003a5f0 = 0; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - return; -} - - - -void FUN_7f0a5a4c(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) { - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) { - DAT_8003a5f0 = 3; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - } - else { - DAT_8003a5f0 = 1; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - return; -} - - - -void FUN_7f0a5adc(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) { - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) { - DAT_8003a5f0 = 4; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - } - else { - DAT_8003a5f0 = 2; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a5bd4) overlaps instruction at (ram,0x7f0a5bd0) -// - -void FUN_7f0a5b6c(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x808); - if ((lVar1 == 0) && (lVar1 = FUN_7f0a43a8(), lVar1 == 0)) { - lVar1 = FUN_7000b120(0,0x404); - if ((lVar1 != 0) || (lVar1 = FUN_7f0a43e4(), lVar1 != 0)) { - DAT_8003a5f0 = 0; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - } - else { - DAT_8003a5f0 = 3; - FUN_7f0a439c(); - FUN_7f0a4264(); - } - return; -} - - - -void FUN_7f0a5bf8(short *psParm1) - -{ - short sVar1; - int iVar2; - int iVar3; - int iVar4; - short *psVar5; - float fVar6; - - fVar6 = (float)sqrtf(DAT_8004cf00 - (float)(DAT_8003a790 * DAT_8003a790)); - iVar4 = 0; - iVar3 = -1; - while( true ) { - do { - sVar1 = (short)iVar3; - psParm1[1] = 0; - iVar3 += 2; - psVar5 = psParm1 + 8; - *psParm1 = (short)(int)fVar6 * sVar1; - iVar2 = DAT_8003a790; - psParm1[3] = 0; - psParm1[4] = 0; - psParm1[2] = (short)iVar4 + (short)iVar2; - psParm1[5] = 0; - *(undefined *)(psParm1 + 6) = 0; - *(undefined *)((int)psParm1 + 0xd) = 0xa0; - *(undefined *)(psParm1 + 7) = 0; - *(undefined *)((int)psParm1 + 0xf) = (char)DAT_8003a758; - psParm1 = psVar5; - } while (iVar3 != 3); - iVar4 += 4; - if (iVar4 == 8) break; - iVar3 = -1; - psParm1 = psVar5; - } - return; -} - - - -void FUN_7f0a5cc8(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000a718(); - if (lVar1 < 2) { - DAT_8003a628 = 4; - } - else { - DAT_8003a628 = 8; - } - FUN_7f0a4264(); - DAT_8003a5e4 = 0; - DAT_8003a5f0 = 4; - DAT_8003a618 = DAT_8004cf04; - DAT_8003a61c = DAT_8004cf08; - FUN_7f08de48(); - return; -} - - - -float FUN_7f0a5d4c(float fParm1) - -{ - if (DAT_8004cf0c < fParm1) { - return fParm1 - DAT_8004cf10; - } - if (fParm1 < DAT_8004cf14) { - fParm1 = fParm1 + DAT_8004cf18; - } - return fParm1; -} - - - -void FUN_7f0a5da0(void) - -{ - bool bVar1; - longlong lVar2; - uint uVar3; - uint uVar4; - - lVar2 = FUN_7000b120(0,0x1000); - if (lVar2 != 0) { - FUN_7f07f904(); - } - if (DAT_8003a72c == 0) { - lVar2 = FUN_7000ae60(0); - if ((lVar2 < -10) || (lVar2 = FUN_7000ae60(0), 10 < lVar2)) { - lVar2 = FUN_7000ae60(0); - if ((lVar2 < 0xb) && (lVar2 = FUN_7000aee8(0), 10 < lVar2)) { - DAT_8003a72c = 1; - } - else { - lVar2 = FUN_7000ae60(0); - if ((-0xb < lVar2) && (lVar2 = FUN_7000aee8(0), lVar2 < -10)) { - DAT_8003a72c = 1; - } - } - } - else { - DAT_8003a72c = 1; - } - } - if (DAT_8003a730 == 0) { - lVar2 = FUN_7000af70(0); - if ((lVar2 < -10) || (lVar2 = FUN_7000af70(0), 10 < lVar2)) { - lVar2 = FUN_7000af70(0); - if ((lVar2 < 0xb) && (lVar2 = FUN_7000aff8(0), 10 < lVar2)) { - DAT_8003a730 = 1; - } - else { - lVar2 = FUN_7000af70(0); - if ((-0xb < lVar2) && (lVar2 = FUN_7000aff8(0), lVar2 < -10)) { - DAT_8003a730 = 1; - } - } - } - else { - DAT_8003a730 = 1; - } - } - bVar1 = DAT_8003a748 < 0; - DAT_8003a748 += -1; - if (bVar1) { - DAT_8003a744 -= 0x100000; - } - if (DAT_8003a744 < 0x5f00a1) { - DAT_8003a744 = 0xff00a0; - DAT_8003a748 = 0xf; - } - if (DAT_8003a750 < 0) { - DAT_8003a74c -= 0x10; - } - DAT_8003a750 += -1; - if (DAT_8003a74c < 0x60) { - DAT_8003a74c = 0xff; - DAT_8003a750 = 0xf; - } - DAT_8003a764 = DAT_8003a764 + (DAT_8003a76c * DAT_80041120 * DAT_8004cf1c) / 360.00000000; - DAT_8003a764 = (float)FUN_7f0a5d4c(DAT_8003a764); - uVar4 = DAT_8003a75c << 0x10; - uVar3 = FUN_700098b0(); - if (uVar4 < uVar3) { - FUN_7f0a44f8(); - } - if (DAT_8003a754 < 0xe0) { - uVar3 = FUN_700098b0(); - DAT_8003a754 += uVar3 >> 0x1e; - } - if (0xe0 < DAT_8003a754) { - DAT_8003a754 = 0xe0; - } - DAT_8003a758 = DAT_8003a754 * -4 + 0x380; - DAT_8003a790 += -4; - if (0x156 < DAT_8003a790) { - DAT_8003a790 = -0x156; - } - if (DAT_8003a790 < -0x156) { - DAT_8003a790 = 0x156; - } - DAT_8003a794 = DAT_8003a794 + 1 & 1; - switch(DAT_8003a5e4) { - case 0: - FUN_7f0a458c(); - break; - case 1: - FUN_7f0a46f8(); - break; - case 2: - if (DAT_8003a5e8 == 0) { - FUN_7f0a4b80(); - } - else { - if (DAT_8003a5e8 == 1) { - FUN_7f0a4c20(); - } - } - FUN_7f0a48e4(); - break; - case 3: - switch(DAT_8003a5ec) { - case 0: - FUN_7f0a4d84(); - break; - case 1: - FUN_7f0a4e14(); - break; - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - FUN_7f0a4cb8(); - } - FUN_7f0a49c4(); - break; - case 4: - FUN_7f0a4aa4(); - } - return; -} - - - -undefined4 * sub_7F0A6EE8(undefined4 *puParm1) - -{ - short sVar2; - int iVar1; - - puParm1[1] = 0x2000; - *puParm1 = 0xb7000000; - puParm1[2] = 0xba001402; - puParm1[3] = 0; - puParm1[5] = 0x800000; - puParm1[4] = 0xba001701; - puParm1[6] = 0xed000000; - sVar2 = FUN_70003e6c(); - iVar1 = FUN_70003e7c(); - puParm1[7] = (int)((float)iVar1 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar2 * 4.00000000) & 0xfffU) << 0xc; - puParm1[8] = 0xba001001; - puParm1[9] = 0; - puParm1[0xb] = 0; - puParm1[10] = 0xba000e02; - puParm1[0xd] = 0; - puParm1[0xc] = 0xba001102; - puParm1[0xf] = 0x80000; - puParm1[0xe] = 0xba001301; - puParm1[0x11] = 0x2000; - puParm1[0x10] = 0xba000c02; - puParm1[0x13] = 0xc00; - puParm1[0x12] = 0xba000903; - puParm1[0x15] = 0xfffe793c; - puParm1[0x14] = 0xfcffffff; - puParm1[0x16] = 0xba000801; - puParm1[0x17] = 0; - puParm1[0x18] = 0xb9000002; - puParm1[0x19] = 0; - puParm1[0x1b] = 0xf0a4000; - puParm1[0x1a] = 0xb900031d; - puParm1[0x1c] = 0xba000602; - puParm1[0x1d] = 0; - return puParm1 + 0x1e; -} - - - -void locret_7F0A7144(int iParm1,int iParm2) - -{ - int iVar1; - uint uVar2; - int iVar3; - - iVar1 = 0; - iVar3 = iParm2; - do { - iVar1 += 1; - *(undefined *)(iVar3 + 0xc) = 0x20; - *(undefined *)(iVar3 + 0xd) = 0x70; - *(undefined *)(iVar3 + 0xe) = 0x20; - iVar3 = iVar3 + 0x10; - } while (iVar1 < 0x14); - iVar3 = iParm1 * 4 + 3; - if (iParm1 * 4 <= iVar3) { - uVar2 = iParm2 + iParm1 * 0x40; - *(undefined *)(uVar2 + 0xc) = 0x50; - while( true ) { - *(undefined *)(uVar2 + 0xd) = 0xf0; - *(undefined *)(uVar2 + 0xe) = 0x50; - if (DAT_8003a5f8 != 0) { - *(undefined *)(uVar2 + 0xc) = 0x30; - *(undefined *)(uVar2 + 0xd) = 0xa0; - *(undefined *)(uVar2 + 0xe) = 0x30; - } - if ((uint)(iVar3 * 0x10 + iParm2) < uVar2 + 0x10) break; - *(undefined *)(uVar2 + 0x1c) = 0x50; - uVar2 = uVar2 + 0x10; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0a6464(undefined4 *puParm1,undefined4 uParm2,int iParm3) - -{ - int iVar2; - int iVar3; - int iVar4; - int iVar5; - longlong lVar1; - undefined4 *puVar6; - undefined4 *puVar7; - float fVar8; - float fVar9; - - iVar2 = FUN_7f0bca74(0x1e); - iVar3 = FUN_7f0bca74(0x1e); - iVar4 = FUN_7f0bcac4(0xf8); - iVar5 = FUN_7f0bcac4(0xf8); - *puParm1 = 0xe7000000; - puParm1[1] = 0; - puParm1[2] = 0xba001402; - puParm1[3] = 0; - puParm1[4] = 0xb900031d; - puParm1[5] = 0x5041c8; - puParm1[6] = 0xfcffffff; - puParm1[7] = 0xfffe793c; - puParm1[8] = 0xfa000000; - puParm1[9] = 0xe6e6e600; - puParm1[10] = 0x1020040; - puParm1[0xb] = uParm2; - lVar1 = FUN_7f07e6d0(); - fVar9 = 1.00000000; - fVar8 = 1.00000000; - if (lVar1 != 0) { - fVar8 = (*(float *)(_DAT_80068bc0 + 0x11b4) * - (*(float *)(_DAT_80068bc0 + 0x11c4) - *(float *)(_DAT_80068bc0 + 0x11c0))) / - *(float *)(_DAT_80068bc0 + 0x11b8); - if (fVar8 < 0.00000000) { - fVar8 = -fVar8; - } - if (fVar8 <= 1.00000000) { - fVar9 = fVar8; - } - fVar8 = fVar9 * fVar9; - } - if (iParm3 == 1) { - DAT_8003a754 = 0xe0; - if ((*(int *)(_DAT_80068bc0 + 0x1c8) == 4) || - (fVar8 = DAT_8004cf5c, *(int *)(_DAT_80068bc0 + 0x1c8) == 6)) { - fVar8 = (float)FUN_7f07e7fc(); - } - } - guScale(0xffffffff80068ff0,0x3e800000,0x3e800000,0x3e800000); - puParm1[0xc] = 0x1000040; - puParm1[0xd] = 0x80068ff0; - puVar6 = puParm1 + 0xe; - if (iParm3 == 0) { - puParm1[0xf] = 0x3000; - *puVar6 = 0xb6000000; - puParm1[0x10] = 0x6000000; - puParm1[0x11] = _DAT_80068bc0 + -0x7fffe610; - puParm1[0x12] = 0x6000000; - puParm1[0x13] = _DAT_80068bc0 + -0x7fffdee0; - puVar6 = puParm1 + 0x14; - } - guScale(0xffffffff80069030,0x3f800000,0x3f800000,fVar8); - *puVar6 = 0x1000040; - puVar6[1] = 0x80069030; - puVar7 = puVar6 + 2; - if (iParm3 == 1) { - puVar6[3] = 0x3000; - *puVar7 = 0xb6000000; - puVar6[4] = 0x6000000; - puVar6[5] = _DAT_80068bc0 + -0x7fffe610; - puVar6[6] = 0x6000000; - puVar6[7] = _DAT_80068bc0 + -0x7fffdee0; - puVar7 = puVar6 + 8; - } - loc_7F0A3934(iVar3,0x1e,0x3f6b851f,0); - loc_7F0A3AA4(iVar5,iVar3 + -0x80000000,0x1e,0); - *puVar7 = 0xe7000000; - puVar7[1] = 0; - puVar7[2] = 0xb900031d; - puVar7[3] = 0x504240; - puVar7[4] = 0xfcffffff; - puVar7[5] = 0xfffdf6fb; - puVar7[7] = 0xff0000; - puVar7[6] = 0xfa000000; - puVar7[8] = 0x6000000; - puVar7[9] = iVar5 + -0x80000000; - puVar7[10] = 0xe7000000; - puVar7[0xb] = 0; - if (DAT_8003a754 < 0xe0) { - loc_7F0A3934(iVar2,0x1e,0x3f666666,0); - loc_7F0A3AA4(iVar4,iVar2 + -0x80000000,0x1e,0); - puVar7[0xc] = 0xb900031d; - puVar7[0xd] = 0x50004b; - } - else { - loc_7F0A3934(iVar2,0x1e,0x3f666666,1); - loc_7F0A3AA4(iVar4,iVar2 + -0x80000000,0x1e,1); - puVar7[0xc] = 0xb900031d; - puVar7[0xd] = 0x5041c8; - } - puVar7[0xe] = 0xfcffffff; - puVar7[0xf] = 0xfffe793c; - puVar7[0x10] = 0x6000000; - puVar7[0x11] = iVar4 + -0x80000000; - puVar7[0x12] = 0xb900031d; - puVar7[0x13] = 0x504240; - puVar7[0x14] = 0xfcffffff; - puVar7[0x15] = 0xfffe793c; - puVar7[0x16] = 0x6000000; - puVar6 = puVar7 + 0x18; - puVar7[0x17] = _DAT_80068bc0 + -0x7fffd7b0; - iVar4 = 2; - *(undefined *)(iVar2 + 0xf) = (char)DAT_8003a754; - *(undefined *)(iVar3 + 0xf) = (char)DAT_8003a754; - *(undefined *)(iVar2 + 0x1f) = (char)DAT_8003a754; - *(undefined *)(iVar3 + 0x1f) = (char)DAT_8003a754; - iVar2 = iVar2 + 0x20; - iVar3 = iVar3 + 0x20; - do { - iVar4 += 4; - *(undefined *)(iVar2 + 0xf) = (char)DAT_8003a754; - *(undefined *)(iVar3 + 0xf) = (char)DAT_8003a754; - *(undefined *)(iVar2 + 0x1f) = (char)DAT_8003a754; - *(undefined *)(iVar3 + 0x1f) = (char)DAT_8003a754; - *(undefined *)(iVar2 + 0x2f) = (char)DAT_8003a754; - *(undefined *)(iVar3 + 0x2f) = (char)DAT_8003a754; - *(undefined *)(iVar2 + 0x3f) = (char)DAT_8003a754; - *(undefined *)(iVar3 + 0x3f) = (char)DAT_8003a754; - iVar2 = iVar2 + 0x40; - iVar3 = iVar3 + 0x40; - } while (iVar4 != 0x1e); - if (DAT_8003a754 < 0xe0) { - FUN_7f0a5bf8(_DAT_80068bc0 + 0x19b0); - *puVar6 = 0xb900031d; - puVar7[0x19] = 0x5041c8; - puVar7[0x1a] = 0x6000000; - puVar7[0x1b] = _DAT_80068bc0 + -0x7fffd670; - puVar6 = puVar7 + 0x1c; - } - return puVar6; -} - - - -void FUN_7f0a6ac0(undefined8 uParm1,undefined8 uParm2) - -{ - FUN_7f0a6464(uParm1,uParm2,1); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a6bc8) overlaps instruction at (ram,0x7f0a6bc4) -// - -undefined8 FUN_7f0a6ae0(undefined8 uParm1) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - longlong lVar3; - undefined8 uVar4; - undefined2 uVar8; - undefined4 uStack32; - undefined4 uStack28; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - uVar2 = DAT_8003ab00; - uVar1 = DAT_8003aafc; - uVar5 = FUN_7f0c12b8(0xac24); - uVar6 = FUN_7f0c12b8(0xac25); - uVar7 = FUN_7f0c12b8(0xac26); - uStack4 = 0x51; - if (DAT_80041150 == 0) { - iStack8 = 0; - } - else { - iStack8 = 0xf; - } - iStack8 += 0xbd; - if (DAT_80041150 == 0) { - iStack12 = 0; - } - else { - iStack12 = 10; - } - iStack12 += 0x88; - if (DAT_80041150 == 0) { - iStack24 = 0; - } - else { - iStack24 = 3; - } - iStack24 += 0x4e; - iStack20 = iStack24; - iStack16 = iStack24; - if (DAT_8003a5f8 != 0) { - if (DAT_8003a5f4 == 0) { - iStack20 = iStack24; - iStack16 = iStack24; - lVar3 = FUN_7000ae60(0); - if ((0x2d < lVar3) || (lVar3 = FUN_7000b080(0,0x111), lVar3 != 0)) { - DAT_8003a5f4 = 1; - } - } - else { - iStack20 = iStack24; - iStack16 = iStack24; - if ((DAT_8003a5f4 != 0) && - ((iStack20 = iStack24, iStack16 = iStack24, lVar3 = FUN_7000ae60(0), lVar3 < -0x2d || - (lVar3 = FUN_7000b080(0,0x222), lVar3 != 0)))) { - DAT_8003a5f4 = 0; - } - } - } - if (DAT_8003a5f8 == 0) { - loc_7F0AEB50(&uStack32,&uStack28,uVar5,uVar2,uVar1,0); - uVar4 = loc_7F0ADD78(uParm1,&uStack4,&iStack16,uVar5,uVar2,uVar1,0x800080,uStack28,uStack32,0,0) - ; - uVar8 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar4 = loc_7F0ADD78(uVar4,&iStack8,&iStack20,uVar6,uVar2,uVar1,0x800080,uVar8,uVar5,0,0); - uVar8 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar4 = loc_7F0ADD78(uVar4,&iStack12,&iStack24,uVar7,uVar2,uVar1,0x800080,uVar8,uVar5,0,0); - } - else { - loc_7F0AEB50(&uStack32,&uStack28,uVar5,uVar2,uVar1,0); - uVar4 = loc_7F0ADD78(uParm1,&uStack4,&iStack16,uVar5,uVar2,uVar1,0xa0ffa0f0,uStack28,uStack32,0, - 0); - if (DAT_8003a5f4 == 0) { - if (true) { - uVar8 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar4 = loc_7F0ADD78(uVar4,&iStack8,&iStack20,uVar6,uVar2,uVar1,0xff00b0,uVar8,uVar5,0,0); - uVar8 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar4 = loc_7F0AE958(uVar4,&iStack12,&iStack24,uVar7,uVar2,uVar1,0xffffffff,0x7000a0,uVar8, - uVar5,0,0); - } - } - else { - uVar8 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar4 = loc_7F0AE958(uVar4,&iStack8,&iStack20,uVar6,uVar2,uVar1,0xffffffff,0x7000a0,uVar8, - uVar5,0,0); - uVar8 = FUN_70003e6c(); - uVar5 = FUN_70003e7c(); - uVar4 = loc_7F0ADD78(uVar4,&iStack12,&iStack24,uVar7,uVar2,uVar1,0xff00b0,uVar8,uVar5,0,0); - } - } - return uVar4; -} - - - -void FUN_7f0a6f30(undefined8 uParm1) - -{ - undefined4 uVar1; - undefined4 uVar2; - longlong lVar3; - undefined8 uVar4; - int iVar5; - undefined4 uStack36; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack4 = FUN_7f0c12b8(0xac27); - uVar2 = DAT_8003ab00; - uVar1 = DAT_8003aafc; - lVar3 = FUN_7f057798(); - if (lVar3 == 0) { - uStack36 = DAT_8003a744; - uStack8 = FUN_7f0c12b8(0xac29); - } - else { - uStack36 = 0xff00b0; - uStack8 = FUN_7f0c12b8(0xac28); - } - uVar4 = loc_7F0ACED4(uParm1); - loc_7F0AEB50(&iStack20,&iStack24,uStack4,uVar2,uVar1,0); - iStack12 = 0x51; - iStack16 = 0x43; - uVar4 = loc_7F0ADD78(uVar4,&iStack12,&iStack16,uStack4,uVar2,uVar1,0xff00b0,iStack24,iStack20,0,0) - ; - if (DAT_80041150 == 0) { - iVar5 = 0; - } - else { - iVar5 = 0x22; - } - iStack12 = iStack12 + iStack24 + iVar5 + 4; - iStack16 -= iStack20; - loc_7F0AEB50(&iStack20,&iStack24,uStack8,uVar2,uVar1,0); - uVar4 = loc_7F0ADD78(uVar4,&iStack12,&iStack16,uStack8,uVar2,uVar1,uStack36,iStack24,iStack20,0,0) - ; - FUN_7f0a6ae0(uVar4); - return; -} - - - -undefined8 FUN_7f0a70d4(undefined8 uParm1) - -{ - return uParm1; -} - - - -void FUN_7f0a70dc(undefined4 uParm1) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - int iStack8; - undefined4 uStack4; - - uStack4 = FUN_7f0c12b8(0xac2b); - uVar2 = DAT_8003ab00; - uVar1 = DAT_8003aafc; - if (DAT_80041150 == 0) { - iStack8 = 0; - } - else { - iStack8 = -5; - } - iStack8 += 0x65; - uStack12 = 0x33; - uStack16 = 0; - uStack20 = 0; - uVar3 = loc_7F0ACED4(uParm1); - loc_7F0AEB50(&uStack16,&uStack20,uStack4,uVar2,uVar1,0); - loc_7F0ADD78(uVar3,&iStack8,&uStack12,uStack4,uVar2,uVar1,0xff00b0,uStack20,uStack16,0,0); - return; -} - - - -void FUN_7f0a71c0(undefined4 *puParm1) - -{ - longlong lVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined8 uVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - int iVar8; - undefined4 uVar9; - undefined4 uVar10; - undefined4 uVar11; - undefined4 uVar12; - float fVar13; - float fVar14; - undefined4 uStack152; - undefined4 uStack148; - undefined4 uStack144; - undefined4 uStack140; - undefined auStack136 [64]; - undefined auStack72 [66]; - undefined auStack6 [2]; - undefined4 uStack4; - - uStack4 = FUN_7f0bca90(); - uVar3 = DAT_8003ab00; - uVar2 = DAT_8003aafc; - uStack148 = 0; - uStack152 = 0; - uVar4 = FUN_7f08de28(); - uVar7 = (undefined4)uVar4; - uVar5 = FUN_7f08d6d8(uVar4); - uVar9 = FUN_7f08dd40(uVar7); - uVar10 = FUN_7f08dd68(uVar7); - uVar11 = FUN_7f08dd90(uVar7); - uVar12 = FUN_7f08dd18(uVar7); - fVar13 = (float)FUN_7f08ddb8(uVar7); - fVar14 = (float)FUN_7f08dde0(uVar7); - uVar6 = FUN_7f08dab0(uVar7); - uVar7 = FUN_7f08dbe4(uVar7); - lVar1 = FUN_7f0904a8(); - if (lVar1 != 0) { - iVar8 = FUN_7f05de88(0); - lVar1 = FUN_7000b080(0,2); - if (lVar1 != 0) { - *(float *)(&DAT_8002ee8c + iVar8 * 0xe) = (float)(&DAT_8002ee8c)[iVar8 * 0xe] - 2.00000000; - } - lVar1 = FUN_7000b080(0,1); - if (lVar1 != 0) { - *(float *)(&DAT_8002ee8c + iVar8 * 0xe) = (float)(&DAT_8002ee8c)[iVar8 * 0xe] + 2.00000000; - } - lVar1 = FUN_7000b080(0,4); - if (lVar1 != 0) { - *(float *)(&DAT_8002ee88 + iVar8 * 0xe) = (float)(&DAT_8002ee88)[iVar8 * 0xe] + 2.00000000; - } - lVar1 = FUN_7000b080(0,8); - if (lVar1 != 0) { - *(float *)(&DAT_8002ee88 + iVar8 * 0xe) = (float)(&DAT_8002ee88)[iVar8 * 0xe] - 2.00000000; - } - lVar1 = FUN_7000b080(0,0x20); - if (lVar1 != 0) { - *(float *)(&DAT_8002ee90 + iVar8 * 0xe) = (float)(&DAT_8002ee90)[iVar8 * 0xe] * DAT_8004cf60; - } - lVar1 = FUN_7000b080(0,0x10); - if (lVar1 != 0) { - *(float *)(&DAT_8002ee90 + iVar8 * 0xe) = (float)(&DAT_8002ee90)[iVar8 * 0xe] * DAT_8004cf64; - } - } - guPerspective(uStack4,auStack6,uVar12,0x3fa45519,0x41200000,DAT_8004cf68,0x3f800000); - *puParm1 = 0x1030040; - uVar12 = osVirtualToPhysical(uStack4); - puParm1[1] = uVar12; - FUN_7f058aa4((fVar14 * DAT_8004cf6c) / 360.00000000); - FUN_7f058b30(DAT_8004cf70 - (fVar13 * DAT_8004cf70) / 360.00000000); - FUN_7f058510(auStack136,auStack72); - FUN_7f059b3c(auStack136,uVar11,uVar9,uVar10,0,uVar9,uVar10,0,0x3f800000,0); - FUN_7f058510(auStack136,auStack72); - uVar4 = sub_7F0A6EE8(puParm1 + 2); - if (DAT_8003a754 < 0xe0) { - uVar4 = FUN_7f0634c8(uVar4,uVar5,auStack72,DAT_8003a754 + 1,0x64dc6428); - } - else { - uVar4 = FUN_7f0634c8(uVar4,uVar5,auStack72,0xff,0x64dc6428); - } - uVar4 = FUN_7f06aac8(uVar4); - uVar4 = loc_7F0ACED4(uVar4); - uStack140 = 0x60; - uStack144 = 0xbc; - loc_7F0AEB50(&uStack148,&uStack152,uVar6,uVar3,uVar2,0); - uVar4 = loc_7F0ADD78(uVar4,&uStack140,&uStack144,uVar6,uVar3,uVar2,0xff00b0,uStack152,uStack148,0, - 0); - uStack144 = 0xc6; - loc_7F0AEB50(&uStack148,&uStack152,uVar7,uVar3,uVar2,0); - loc_7F0ADD78(uVar4,&uStack140,&uStack144,uVar7,uVar3,uVar2,0xff00b0,uStack152,uStack148,0,0); - return; -} - - - -undefined8 FUN_7f0a7624(undefined8 uParm1,undefined8 uParm2) - -{ - undefined8 uVar1; - longlong lVar2; - - uVar1 = FUN_7f0a6464(uParm1,uParm2,0); - lVar2 = FUN_7f07e6d0(); - if (lVar2 == 1) { - FUN_7f07e6d0(); - } - else { - uVar1 = FUN_7f0a70dc(uVar1); - uVar1 = FUN_7f0a6f30(uVar1); - uVar1 = FUN_7f0a70d4(uVar1); - uVar1 = FUN_7f0a71c0(uVar1); - } - return uVar1; -} - - - -// WARNING: Instruction at (ram,0x7f0a76dc) overlaps instruction at (ram,0x7f0a76d8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a7690(void) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = FUN_7000b120(0,0xa000); - if (lVar1 == 0) { - lVar1 = FUN_7000b120(0,0x1000); - if (lVar1 == 0) { - return; - } - iVar3 = FUN_7f05de88(0); - lVar1 = FUN_7f08d6d8(DAT_8003a608); - if (lVar1 == (longlong)iVar3) { - return; - } - } - uVar2 = FUN_7f08d6d8(DAT_8003a608); - FUN_7f05e00c(0,uVar2); - FUN_7f05e00c(1,0); - FUN_7f08de38(DAT_8003a608); - DAT_8003a614 = 10; - FUN_70008268(_DAT_80056900,0x9f,0); - return; -} - - - -undefined4 * FUN_7f0a773c(undefined8 uParm1,undefined8 uParm2) - -{ - longlong lVar1; - undefined4 uVar3; - undefined8 uVar2; - int iVar4; - undefined4 uVar5; - undefined4 uVar6; - int iVar7; - float fVar8; - undefined4 *puStackX0; - undefined4 uVar9; - undefined4 in_stack_fffff6ec; - undefined auStack2268 [4]; - int iStack2264; - undefined4 uStack2260; - undefined auStack2252 [32]; - int iStack2220; - undefined auStack2212 [2000]; - undefined4 uStack212; - undefined4 uStack208; - int iStack204; - undefined4 auStack200 [3]; - int iStack188; - undefined4 auStack184 [3]; - float fStack172; - float fStack168; - undefined4 uStack164; - float fStack160; - undefined4 uStack156; - float fStack152; - undefined4 uStack148; - float fStack140; - undefined auStack136 [64]; - undefined auStack72 [66]; - undefined auStack6 [2]; - undefined4 uStack4; - - puStackX0 = (undefined4 *)FUN_7f0a6464(uParm1,uParm2,0); - lVar1 = FUN_7f07e6d0(); - if (lVar1 != 1) { - uStack4 = FUN_7f0bca90(); - uStack148 = FUN_7f08da10(DAT_8003a608); - fStack152 = (float)FUN_7f08da38(DAT_8003a608); - uStack156 = FUN_7f08da60(DAT_8003a608); - fStack160 = (float)FUN_7f08da88(DAT_8003a608); - uStack164 = FUN_7f08d6d8(DAT_8003a608); - fStack168 = (float)FUN_7f08ddb8(DAT_8003a608); - fStack172 = (float)FUN_7f08dde0(DAT_8003a608); - lVar1 = FUN_7f0904a8(); - if (lVar1 != 0) { - iVar7 = FUN_7f05de88(0); - lVar1 = FUN_7000b080(0,2); - if (lVar1 != 0) { - *(float *)(&DAT_8002eea0 + iVar7 * 0xe) = (float)(&DAT_8002eea0)[iVar7 * 0xe] - 2.00000000; - } - lVar1 = FUN_7000b080(0,1); - if (lVar1 != 0) { - *(float *)(&DAT_8002eea0 + iVar7 * 0xe) = (float)(&DAT_8002eea0)[iVar7 * 0xe] + 2.00000000; - } - lVar1 = FUN_7000b080(0,4); - if (lVar1 != 0) { - *(float *)(&DAT_8002eea4 + iVar7 * 0xe) = (float)(&DAT_8002eea4)[iVar7 * 0xe] + 2.00000000; - } - lVar1 = FUN_7000b080(0,8); - if (lVar1 != 0) { - *(float *)(&DAT_8002eea4 + iVar7 * 0xe) = (float)(&DAT_8002eea4)[iVar7 * 0xe] - 2.00000000; - } - lVar1 = FUN_7000b080(0,0x20); - if (lVar1 != 0) { - *(float *)(&DAT_8002eea8 + iVar7 * 0xe) = (float)(&DAT_8002eea8)[iVar7 * 0xe] * DAT_8004cf74 - ; - } - lVar1 = FUN_7000b080(0,0x10); - if (lVar1 != 0) { - *(float *)(&DAT_8002eea8 + iVar7 * 0xe) = (float)(&DAT_8002eea8)[iVar7 * 0xe] * DAT_8004cf78 - ; - } - } - guPerspective(uStack4,auStack6,uStack148,0x3fa45519,0x41200000,DAT_8004cf7c,0x3f800000, - in_stack_fffff6ec); - *puStackX0 = 0x1030040; - uVar3 = osVirtualToPhysical(uStack4); - puStackX0[1] = uVar3; - FUN_7f058aa4((fStack172 * DAT_8004cf80) / 360.00000000); - FUN_7f058b30(DAT_8004cf84 - (fStack168 * DAT_8004cf84) / 360.00000000); - FUN_7f058510(auStack136,auStack72); - fStack140 = (float)func_7F057FC4(DAT_8003a764); - fStack140 = fStack140 * fStack160; - fVar8 = (float)func_7F057FC4(DAT_8003a764); - FUN_7f059b3c(auStack136,fStack140,uStack156,fVar8 * fStack160 + fStack152,0,uStack156,fStack152, - 0,0x3f800000,0); - FUN_7f058510(auStack136,auStack72); - uVar2 = sub_7F0A6EE8(puStackX0 + 2); - uVar3 = FUN_7f0634c8(uVar2,uStack164,auStack72,0x40,0xa0ffa03c); - auStack200[0] = 0; - iStack204 = 0; - uStack208 = DAT_8003aafc; - uStack212 = DAT_8003ab00; - if (DAT_80041150 == 0) { - iStack2220 = 0xaa; - } - else { - iStack2220 = 0x82; - } - auStack2212[0] = 0; - iVar7 = 0; - lVar1 = FUN_7f08d41c(); - if (0 < lVar1) { - do { - uVar2 = FUN_7f08d7a8(iVar7); - locret_7000A844(auStack2212,uVar2); - iVar7 += 1; - iVar4 = FUN_7f08d41c(); - } while (iVar7 < iVar4); - } - if (0 < DAT_8003a614) { - DAT_8003a614 = DAT_8003a614 + -1; - } - FUN_7f0a4ea0(); - auStack184[0] = 0x4e; - iStack188 = iStack2220; - if (DAT_80041150 == 0) { - iVar7 = 0xc; - } - else { - iVar7 = 0xe; - } - iVar7 = iVar7 * 2 + iStack2220 + 1; - uVar3 = loc_7F0ACED4(uVar3); - if (DAT_80041150 == 0) { - uVar5 = 0xc; - } - else { - uVar5 = 0xe; - } - loc_7F0AEB50(auStack200,&iStack204,auStack2212,uStack212,uStack208,uVar5); - if (DAT_80041150 == 0) { - iVar4 = 0xc; - } - else { - iVar4 = 0xe; - } - uVar2 = microcode_constructor_related_to_menus - (uVar3,0x4e,iStack2220,iStack204 + 0x4e,iVar4 * 5 + iStack2220,0); - if (DAT_80041150 == 0) { - iVar4 = 0xc; - } - else { - iVar4 = 0xe; - } - if (DAT_80041150 == 0) { - uVar3 = 0xc; - } - else { - uVar3 = 0xe; - } - uVar2 = loc_7F0ADD78(uVar2,auStack184,&iStack188,auStack2212,uStack212,uStack208,0xaa00b0, - iStack204 + 1,iVar4 * 5,DAT_8003a600,uVar3); - if (DAT_80041150 == 0) { - iVar4 = 0xc; - } - else { - iVar4 = 0xe; - } - uVar9 = 0x800050; - uVar5 = microcode_constructor_related_to_menus - (uVar2,0x4b,iVar7,iStack204 + 0x52,iVar4 + iVar7 + -2,0x800050); - uVar3 = DAT_8003aafc; - uStack2260 = DAT_8003ab00; - uVar6 = FUN_7f08d7a8(DAT_8003a608); - FUN_7000a0f4(auStack2252,s__d___d__d__f_8004ce38,DAT_8003a600,DAT_8003a604,DAT_8003a608,uVar9, - (double)DAT_8003a60c); - puStackX0 = (undefined4 *)loc_7F0ACED4(uVar5); - loc_7F0AEB50(auStack2268,&iStack2264,auStack2252,uStack2260,uVar3,0); - if (DAT_8003a610 != 0) { - uVar5 = 0xc; - if (DAT_80041150 != 0) { - uVar5 = 0xe; - } - loc_7F0AEB50(auStack2268,&iStack2264,uVar6,uStack2260,uVar3,uVar5); - auStack184[0] = 0x4e; - if (DAT_80041150 == 0) { - iVar7 = 0xc; - } - else { - iVar7 = 0xe; - } - iStack188 = iVar7 * 2 + iStack2220; - if (DAT_8003a614 == 0) { - if (DAT_80041150 == 0) { - uVar5 = 0xc; - } - else { - uVar5 = 0xe; - } - puStackX0 = (undefined4 *) - loc_7F0ADD78(puStackX0,auStack184,&iStack188,uVar6,uStack2260,uVar3,0xa0ffa0f0, - iStack2264,100,0,uVar5); - } - else { - if (DAT_80041150 == 0) { - uVar5 = 0xc; - } - else { - uVar5 = 0xe; - } - puStackX0 = (undefined4 *) - loc_7F0AE958(puStackX0,auStack184,&iStack188,uVar6,uStack2260,uVar3,0xffffffff, - 0x7000a0,iStack2264 + 1,100,0,uVar5); - } - FUN_7f0a7690(); - } - } - return puStackX0; -} - - - -undefined8 FUN_7f0a7e50(undefined8 uParm1,undefined4 uParm2) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar5; - undefined8 uVar3; - longlong lVar4; - int iVar6; - int iStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack12; - int aiStack8 [2]; - - uVar2 = DAT_8003ab00; - uVar1 = DAT_8003aafc; - uStack32 = 0; - iStack36 = 0; - uVar5 = FUN_7f08d8dc(DAT_8003a608); - uVar3 = FUN_7f0a6464(uParm1,uParm2,0); - lVar4 = FUN_7f07e6d0(); - if (lVar4 != 1) { - if (0 < DAT_8003a614) { - DAT_8003a614 = DAT_8003a614 + -1; - } - FUN_7f0a4ea0(); - uVar3 = loc_7F0ACED4(uVar3); - loc_7F0AEB50(&uStack32,&iStack36,uVar5,uVar2,uVar1,0); - iVar6 = -iStack36 + 0xaa; - if (iVar6 < 0) { - iVar6 = -iStack36 + 0xab; - } - aiStack8[0] = (iVar6 >> 1) + 0x4b; - uStack12 = 0x1e; - uVar3 = microcode_constructor_related_to_menus - (uVar3,aiStack8[0],0x1e,uStack24,uStack28,0x800050); - if (DAT_8003a610 == 0) { - uVar3 = loc_7F0ADD78(uVar3,aiStack8,&uStack12,uVar5,uVar2,uVar1,0xaa00b0,iStack36,100,0,0); - } - else { - FUN_7f0a7690(); - if (DAT_8003a614 == 0) { - uVar3 = loc_7F0ADD78(uVar3,aiStack8,&uStack12,uVar5,uVar2,uVar1,0xa0ffa0f0,iStack36,100,0,0) - ; - } - else { - uVar3 = loc_7F0AE958(uVar3,aiStack8,&uStack12,uVar5,uVar2,uVar1,0xffffffff,0x7000a0, - iStack36 + 1,100,0,0); - } - } - } - return uVar3; -} - - - -void FUN_7f0a8080(undefined2 *puParm1,float fParm2,int iParm3) - -{ - short sVar1; - short sVar2; - char cVar3; - int iVar4; - undefined2 *puVar5; - short *psVar6; - int iVar7; - - sVar1 = puParm1[0x10]; - sVar2 = puParm1[0x20]; - iVar4 = 0; - iVar7 = (int)((float)iParm3 * (DAT_8004cf88 - fParm2)); - puVar5 = puParm1; - do { - iVar4 += 1; - *(undefined *)(puVar5 + 6) = 0x20; - *(undefined *)((int)puVar5 + 0xd) = 0x40; - *(undefined *)(puVar5 + 7) = 0x20; - *(undefined *)((int)puVar5 + 0xf) = 0xe0; - puVar5 = puVar5 + 8; - } while (iVar4 < 4); - iVar4 = 4; - psVar6 = puParm1 + 0x20; - do { - if (iVar4 < 10) { - cVar3 = (char)(int)(fParm2 * 48.00000000) + '@'; - *(char *)(psVar6 + 6) = cVar3; - *(char *)((int)psVar6 + 0xd) = (char)(int)(fParm2 * 96.00000000) + -0x80; - *(char *)(psVar6 + 7) = cVar3; - if (5 < iVar4) { - *psVar6 = (short)(int)(((float)(int)(short)puParm1[0x20] + - ((float)((int)sVar1 - (int)sVar2) + (float)iVar7) * fParm2) - - (float)iVar7); - if (*psVar6 < (short)puParm1[0x20]) { - *psVar6 = puParm1[0x20]; - } - } - } - else { - *psVar6 = (short)(int)((float)(int)(short)puParm1[0x20] + - (float)(((int)sVar1 - (int)sVar2) + iVar7) * fParm2 + (float)iVar7); - if ((short)puParm1[0x10] < *psVar6) { - *psVar6 = puParm1[0x10]; - } - } - iVar4 += 1; - psVar6 = psVar6 + 8; - } while (iVar4 != 0xc); - puParm1[8] = puParm1[0x50]; - *puParm1 = puParm1[0x50]; - return; -} - - - -void FUN_7f0a8210(ushort *puParm1) - -{ - longlong lVar1; - int iVar2; - uint uVar3; - - iVar2 = FUN_7000ae60(0); - uVar3 = (uint)*puParm1; - lVar1 = FUN_7000b080(0,0x111); - if (lVar1 == 0) { - lVar1 = FUN_7000b080(0,0x222); - if (lVar1 != 0) { - uVar3 -= 0x400; - } - } - else { - uVar3 += 0x400; - } - if (iVar2 < 0x47) { - if (iVar2 < -0x46) { - iVar2 = -0x46; - } - } - else { - iVar2 = 0x46; - } - if (iVar2 < 8) { - if (iVar2 < -7) { - uVar3 += (iVar2 * 0x800 + 0x3800) / 0x46; - } - } - else { - uVar3 += (iVar2 * 0x800 + -0x3800) / 0x46; - } - if ((int)uVar3 < 0x8000) { - if ((int)uVar3 < 0) { - *puParm1 = 0; - } - else { - *puParm1 = (ushort)uVar3; - } - } - else { - *puParm1 = 0x7fff; - } - return; -} - - - -undefined8 FUN_7f0a832c(undefined4 *puParm1) - -{ - int iVar2; - undefined8 uVar1; - int iVar3; - ulonglong uVar4; - float fVar5; - ushort uStack2; - - iVar2 = FUN_7f0bca74(0xc); - uStack2 = FUN_70008628(); - if (DAT_8003a5f8 == 0) { - uVar4 = (ulonglong)uStack2; - } - else { - if (DAT_8003a5ec == 1) { - FUN_7f0a8210(&uStack2); - uVar4 = (ulonglong)uStack2; - } - else { - uVar4 = (ulonglong)uStack2; - } - } - fVar5 = (float)(int)uVar4; - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 / DAT_8004cf8c; - loc_70009204(uVar4); - *puParm1 = 0xb900031d; - puParm1[1] = 0x504240; - uVar1 = sub_7F0A3B40(puParm1 + 2,iVar2 + -0x80000000); - iVar3 = loc_7F0A3AEC(iVar2,0,0,600,0x14,0xfffffed5,0xffffff33); - uVar1 = sub_7F0A3B40(uVar1,iVar3 + -0x80000000); - iVar3 = loc_7F0A3AEC(iVar3,0,0,600,0x14,0xfffffed5,0xffffff33); - uVar1 = sub_7F0A3B40(uVar1,iVar3 + -0x80000000); - loc_7F0A3AEC(iVar3,0,0,600,0x14,0xfffffed5,0xffffff33); - FUN_7f0a8080(iVar2,fVar5,0x1e); - return uVar1; -} - - - -void FUN_7f0a84c0(void) - -{ - FUN_70008628(); - return; -} - - - -void FUN_7f0a84e0(ulonglong uParm1) - -{ - loc_70009204(uParm1 & 0xffff); - return; -} - - - -undefined8 FUN_7f0a8508(undefined4 *puParm1) - -{ - int iVar2; - undefined8 uVar1; - int iVar3; - ulonglong uVar4; - float fVar5; - ushort uStack2; - - iVar2 = FUN_7f0bca74(0xc); - uStack2 = FUN_7f0a8698(); - if (DAT_8003a5f8 == 0) { - uVar4 = (ulonglong)uStack2; - } - else { - if (DAT_8003a5ec == 0) { - FUN_7f0a8210(&uStack2); - uVar4 = (ulonglong)uStack2; - } - else { - uVar4 = (ulonglong)uStack2; - } - } - fVar5 = (float)(int)uVar4; - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 / DAT_8004cf90; - FUN_7f0a86a4(uVar4); - *puParm1 = 0xb900031d; - puParm1[1] = 0x504240; - uVar1 = sub_7F0A3B40(puParm1 + 2,iVar2 + -0x80000000); - iVar3 = loc_7F0A3AEC(iVar2,0,0,600,0x14,0xfffffed5,0xfffffeed); - uVar1 = sub_7F0A3B40(uVar1,iVar3 + -0x80000000); - iVar3 = loc_7F0A3AEC(iVar3,0,0,600,0x14,0xfffffed5,0xfffffeed); - uVar1 = sub_7F0A3B40(uVar1,iVar3 + -0x80000000); - loc_7F0A3AEC(iVar3,0,0,600,0x14,0xfffffed5,0xfffffeed); - FUN_7f0a8080(iVar2,fVar5,0x1e); - return uVar1; -} - - - -ulonglong FUN_7f0a8698(void) - -{ - return (ulonglong)DAT_8003a7a8; -} - - - -void FUN_7f0a86a4(ushort uParm1) - -{ - DAT_8003a7a8 = uParm1; - FUN_70006824((ulonglong)uParm1); - return; -} - - - -undefined4 * -FUN_7f0a86d8(undefined4 *puParm1,int iParm2,int iParm3,undefined4 uParm4,undefined4 uParm5, - int iParm6,undefined4 uParm7,int iParm8,int iParm9,undefined4 uParm10,int iParm11) - -{ - undefined4 uVar1; - undefined4 uVar2; - int iVar3; - int iStackX8; - undefined4 uStackX12; - int iStack20; - int aiStack16 [3]; - int iStack4; - - uVar2 = DAT_8003ab00; - uVar1 = DAT_8003aafc; - iStackX8 = iParm3; - uStackX12 = uParm4; - loc_7F0AEB50(&iStack20,aiStack16,uParm4,DAT_8003ab00,DAT_8003aafc,10); - if (iParm8 == 0) { - if (iParm11 != 0) { - iParm2 -= aiStack16[0]; - } - } - else { - iVar3 = aiStack16[0]; - if (aiStack16[0] < 0) { - iVar3 = aiStack16[0] + 1; - } - iParm2 -= iVar3 >> 1; - } - if (DAT_8003a754 < 0xe0) { - *puParm1 = 0xb900031d; - puParm1[1] = 0x50004b; - } - else { - *puParm1 = 0xb900031d; - puParm1[1] = 0x5041c8; - } - puParm1 = puParm1 + 2; - iStack4 = iParm2; - if (iParm9 != 0) { - iStack4 = iParm2; - puParm1 = (undefined4 *) - microcode_constructor_related_to_menus - (puParm1,iParm2 + -1,iStackX8 + iParm6 + 1,iParm2 + aiStack16[0] + 1, - iStackX8 + iStack20 + 1,uParm10); - } - *puParm1 = 0xb900031d; - puParm1[1] = 0x5041c8; - puParm1 = puParm1 + 2; - if (iParm6 == 0) { - puParm1 = (undefined4 *) - loc_7F0ADD78(puParm1,&iStack4,&iStackX8,uStackX12,uVar2,uVar1,uParm5,aiStack16[0], - iStack20,0,10); - } - if (iParm6 != 0) { - puParm1 = (undefined4 *) - loc_7F0AE958(puParm1,&iStack4,&iStackX8,uStackX12,uVar2,uVar1,uParm5,uParm7, - aiStack16[0] + 1,iStack20,0,10); - } - return puParm1; -} - - - -float locret_7F0A9608(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5) - -{ - if (fParm1 < fParm2) { - return fParm1 + (fParm2 - fParm1) / fParm5; - } - if (fParm2 < fParm1) { - fParm1 = fParm1 - (fParm1 - fParm2) / fParm5; - } - return fParm1; -} - - - -void FUN_7f0a89c4(undefined uParm1,int *piParm2,undefined4 *puParm3,float *pfParm4) - -{ - longlong lVar1; - int iVar2; - undefined4 uVar3; - - lVar1 = FUN_7000ae60(uParm1); - if ((lVar1 < 10) && (lVar1 = FUN_7000ae60(uParm1), -10 < lVar1)) { -LAB_7f0a8a30: - iVar2 = *piParm2; - } - else { - if (DAT_8003a5f8 != 0) { - iVar2 = 0; - if (DAT_8003a5e8 == 1) { - *piParm2 = 0; - goto LAB_7f0a8a50; - } - goto LAB_7f0a8a30; - } - iVar2 = *piParm2; - } - if (iVar2 < 100) { - *piParm2 = iVar2 + 1; - iVar2 = iVar2 + 1; - } -LAB_7f0a8a50: - if (iVar2 < 100) { - if ((DAT_8003a5f8 != 0) && (DAT_8003a5e8 == 1)) { - iVar2 = FUN_7000ae60(uParm1); - uVar3 = locret_7F0A9608(*puParm3,(-(float)iVar2 * DAT_8004cf9c * DAT_8004cfa0) / 360.00000000) - ; - *puParm3 = uVar3; - } - } - else { - uVar3 = locret_7F0A9608(*puParm3,-*pfParm4 / 10.00000000); - *puParm3 = uVar3; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0a8b10(undefined4 uParm1) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined8 uVar3; - undefined4 uVar4; - undefined4 uVar5; - int iVar6; - ushort *puVar7; - undefined4 uStackX0; - undefined4 uStack2036; - undefined4 auStack2032 [3]; - undefined4 uStack2020; - undefined4 uStack2016; - undefined auStack2012 [2012]; - - uVar2 = DAT_8003ab00; - uVar1 = DAT_8003aafc; - auStack2032[0] = 0; - uStack2036 = 0; - auStack2012[0] = 0; - iVar6 = 0; - if (0 < DAT_8003a628) { - puVar7 = &DAT_8003a62c; - do { - uVar3 = FUN_7f0c12b8((ulonglong)*puVar7); - locret_7000A844(auStack2012,uVar3); - iVar6 += 1; - puVar7 = puVar7 + 10; - } while (iVar6 < DAT_8003a628); - } - if ((DAT_8003a5f8 != 0) && (DAT_8003a5e8 == 0)) { - uVar4 = 10; - if (DAT_80041150 != 0) { - uVar4 = 0xe; - } - FUN_7f0a543c(_DAT_80068bc0 + 0x2a58,_DAT_80068bc0 + 0x2a50,DAT_8003a628,_DAT_80068bc0 + 0x2a5c, - _DAT_80068bc0 + 0x2a54,_DAT_80068bc0 + 0x2a60,0,1,uVar4); - } - uStack2016 = 0xaa; - uStack2020 = 0x1a; - if (DAT_80041150 == 0) { - uVar4 = 10; - } - else { - uVar4 = 0xe; - } - loc_7F0AEB50(auStack2032,&uStack2036,auStack2012,uVar2,uVar1,uVar4); - if (DAT_80041150 == 0) { - uVar4 = 10; - } - else { - uVar4 = 0xe; - } - if (DAT_80041150 == 0) { - uVar5 = 10; - } - else { - uVar5 = 0xe; - } - uStackX0 = loc_7F0ADD78(uParm1,&uStack2016,&uStack2020,auStack2012,uVar2,uVar1,0xaa00b0,uStack2036 - ,uVar4,*(undefined4 *)(_DAT_80068bc0 + 0x2a5c),uVar5); - if (*(int *)(_DAT_80068bc0 + 0x2a60) != 0) { - uVar3 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_8003a62c)[*(int *)(_DAT_80068bc0 + 0x2a50) * 10]); - if (DAT_80041150 == 0) { - uVar4 = 10; - } - else { - uVar4 = 0xe; - } - loc_7F0AEB50(auStack2032,&uStack2036,uVar3,uVar2,uVar1,uVar4); - uStack2016 = 0xaa; - uStack2020 = 0x1a; - uVar3 = FUN_7f0c12b8((ulonglong)(ushort)(&DAT_8003a62c)[*(int *)(_DAT_80068bc0 + 0x2a50) * 10]); - if (DAT_80041150 == 0) { - uVar4 = 10; - } - else { - uVar4 = 0xe; - } - uStackX0 = loc_7F0ADD78(uStackX0,&uStack2016,&uStack2020,uVar3,uVar2,uVar1,0xa0ffa0f0,uStack2036 - ,100,0,uVar4); - } - return uStackX0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0a8df8(undefined8 uParm1) - -{ - bool bVar1; - undefined8 uVar2; - longlong lVar3; - undefined8 uVar4; - uint uVar5; - undefined4 local_58; - undefined4 local_54; - undefined4 local_8; - undefined4 local_4; - - if (DAT_8003a6d4 == 1) { - local_4 = FUN_7f0c12b8(0xac2d); - local_8 = FUN_7f0c12b8(0xac2c); - } - else { - local_4 = FUN_7f0c12b8(0xac2c); - local_8 = FUN_7f0c12b8(0xac2d); - } - bVar1 = false; - uVar2 = loc_7F0ACED4(uParm1); - lVar3 = FUN_7000b080(0,0x20); - if (lVar3 == 0) { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a634 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x32,0x5c,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a634 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x32,0x5c,uVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - if (*(short *)(&DAT_8003a634 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14) == -0x53ff) { - bVar1 = true; - } - } - if (((DAT_8003a5e8 == 1) && (DAT_8003a5f8 != 0)) && (lVar3 = FUN_7000b080(0,0xf00), lVar3 != 0)) { - lVar3 = FUN_7000b080(0,0x800); - if (lVar3 == 0) { - lVar3 = FUN_7000b080(0,0x400); - if (lVar3 == 0) { - lVar3 = FUN_7000b080(0,0x200); - if (lVar3 == 0) { - lVar3 = FUN_7000b080(0,0x100); - if (lVar3 != 0) { - local_58 = FUN_7f0c12b8(0xac2e); - } - } - else { - local_58 = FUN_7f0c12b8(0xac2f); - } - } - else { - local_58 = local_8; - if (*(short *)(&DAT_8003a63a + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14) == -0x53fb) { - local_58 = FUN_7f0c12b8(0xac31); - } - } - } - else { - local_58 = local_4; - if (*(short *)(&DAT_8003a63a + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14) == -0x53fb) { - local_58 = FUN_7f0c12b8(0xac30); - } - } - uVar2 = FUN_7f0a86d8(uVar2,0x32,0x7a,local_58,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a63a + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x32,0x7a,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - uVar4 = FUN_7f0c12b8((ulonglong)*(ushort *)(*(int *)(_DAT_80068bc0 + 0x2a50) * 0x14 + -0x7ffc59c4) - ); - uVar2 = FUN_7f0a86d8(uVar2,0x32,0x98,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - lVar3 = FUN_7000b080(0,0x2000); - if (lVar3 == 0) { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a632 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x32,0xb6,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a632 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x32,0xb6,uVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - if (*(short *)(&DAT_8003a632 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14) == -0x53ff) { - bVar1 = true; - } - } - lVar3 = FUN_7000b080(0,0x10); - if (lVar3 == 0) { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a636 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0x5c,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a636 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0x5c,uVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - if (*(short *)(&DAT_8003a636 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14) == -0x53ff) { - bVar1 = true; - } - } - if (((DAT_8003a5e8 == 1) && (DAT_8003a5f8 != 0)) && (lVar3 = FUN_7000b080(0,0xf), lVar3 != 0)) { - uVar5 = FUN_7000b080(0,0xf); - if ((uVar5 & uVar5 - 1) == 0) { - lVar3 = FUN_7000b080(0,8); - if (lVar3 == 0) { - lVar3 = FUN_7000b080(0,4); - if (lVar3 == 0) { - lVar3 = FUN_7000b080(0,2); - if (lVar3 == 0) { - lVar3 = FUN_7000b080(0,1); - if (lVar3 != 0) { - local_54 = FUN_7f0c12b8(0xac2e); - } - } - else { - local_54 = FUN_7f0c12b8(0xac2f); - } - } - else { - local_54 = local_8; - if (*(short *)(&DAT_8003a638 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14) == -0x53fb) { - local_54 = FUN_7f0c12b8(0xac31); - } - } - } - else { - local_54 = local_4; - if (*(short *)(&DAT_8003a638 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14) == -0x53fb) { - local_54 = FUN_7f0c12b8(0xac30); - } - } - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0x7a,local_54,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a638 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0x7a,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(&DAT_8003a638 + *(int *)(_DAT_80068bc0 + 0x2a50) * 0x14)); - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0x7a,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - lVar3 = FUN_7000b080(0,0x4000); - if (lVar3 == 0) { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(*(int *)(_DAT_80068bc0 + 0x2a50) * 0x14 + -0x7ffc59d0)); - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0x98,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(*(int *)(_DAT_80068bc0 + 0x2a50) * 0x14 + -0x7ffc59d0)); - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0x98,uVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - lVar3 = FUN_7000b080(0,0x8000); - if (lVar3 == 0) { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(*(int *)(_DAT_80068bc0 + 0x2a50) * 0x14 + -0x7ffc59d2)); - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0xb6,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(*(int *)(_DAT_80068bc0 + 0x2a50) * 0x14 + -0x7ffc59d2)); - uVar2 = FUN_7f0a86d8(uVar2,0x10e,0xb6,uVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - if (bVar1) { - uVar4 = FUN_7f0c12b8(0xac08); - uVar2 = FUN_7f0a86d8(uVar2,0xfa,0xe1,uVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - else { - uVar4 = FUN_7f0c12b8((ulonglong) - *(ushort *)(*(int *)(_DAT_80068bc0 + 0x2a50) * 0x14 + -0x7ffc59c2)); - uVar2 = FUN_7f0a86d8(uVar2,0xfa,0xe1,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a9b08(void) - -{ - undefined8 uVar1; - longlong lVar2; - undefined8 uVar3; - undefined4 uVar4; - - uVar1 = loc_7F0ACED4(); - lVar2 = FUN_7000b080(0,0x8000); - if (lVar2 == 0) { - uVar3 = FUN_7f0c12b8(0xac03); - uVar1 = FUN_7f0a86d8(uVar1,0x5a,0xc1,uVar3,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - uVar3 = FUN_7f0c12b8(0xac03); - uVar1 = FUN_7f0a86d8(uVar1,0x5a,0xc1,uVar3,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - } - lVar2 = FUN_7000b080(0,0x4000); - if (lVar2 == 0) { - uVar3 = FUN_7f0c12b8(0xac02); - uVar1 = FUN_7f0a86d8(uVar1,0x5a,0xac,uVar3,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - uVar3 = FUN_7f0c12b8(0xac02); - uVar1 = FUN_7f0a86d8(uVar1,0x5a,0xac,uVar3,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - } - if ((*(int *)(_DAT_80068bc0 + 0x2a50) == 4) || (*(int *)(_DAT_80068bc0 + 0x2a50) == 5)) { - uVar4 = FUN_7f0c12b8(0xac00); - } - else { - uVar4 = FUN_7f0c12b8(0xac01); - } - lVar2 = FUN_7000b080(0,0x2000); - if (lVar2 == 0) { - uVar1 = FUN_7f0a86d8(uVar1,0x5a,0xd6,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - uVar1 = FUN_7f0a86d8(uVar1,0x5a,0xd6,uVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - } - if ((*(int *)(_DAT_80068bc0 + 0x2a50) == 4) || (*(int *)(_DAT_80068bc0 + 0x2a50) == 6)) { - uVar3 = FUN_7f0c12b8(0xac05); - } - else { - uVar3 = FUN_7f0c12b8(0xac06); - } - uVar1 = FUN_7f0a86d8(uVar1,0x5a,0xeb,uVar3,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - lVar2 = FUN_7000b080(1,0x8000); - if (lVar2 == 0) { - uVar3 = FUN_7f0c12b8(0xac03); - uVar1 = FUN_7f0a86d8(uVar1,0xe6,0xc1,uVar3,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - uVar3 = FUN_7f0c12b8(0xac03); - uVar1 = FUN_7f0a86d8(uVar1,0xe6,0xc1,uVar3,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - lVar2 = FUN_7000b080(1,0x4000); - if (lVar2 == 0) { - uVar3 = FUN_7f0c12b8(0xac02); - uVar1 = FUN_7f0a86d8(uVar1,0xe6,0xac,uVar3,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - uVar3 = FUN_7f0c12b8(0xac02); - uVar1 = FUN_7f0a86d8(uVar1,0xe6,0xac,uVar3,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - if ((*(int *)(_DAT_80068bc0 + 0x2a50) == 4) || (*(int *)(_DAT_80068bc0 + 0x2a50) == 5)) { - uVar4 = FUN_7f0c12b8(0xac01); - } - else { - uVar4 = FUN_7f0c12b8(0xac00); - } - lVar2 = FUN_7000b080(1,0x2000); - if (lVar2 == 0) { - uVar1 = FUN_7f0a86d8(uVar1,0xe6,0xd6,uVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - uVar1 = FUN_7f0a86d8(uVar1,0xe6,0xd6,uVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - if ((*(int *)(_DAT_80068bc0 + 0x2a50) == 4) || (*(int *)(_DAT_80068bc0 + 0x2a50) == 6)) { - uVar3 = FUN_7f0c12b8(0xac06); - } - else { - uVar3 = FUN_7f0c12b8(0xac05); - } - FUN_7f0a86d8(uVar1,0xe6,0xeb,uVar3,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - return; -} - - - -undefined8 FUN_7f0aa100(undefined4 *puParm1) - -{ - int iVar3; - longlong lVar1; - undefined4 uVar4; - undefined8 uVar2; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 auStack1268 [55]; - undefined4 auStack1048 [55]; - undefined4 auStack828 [55]; - undefined uStack606; - undefined auStack605 [5]; - undefined4 *puStack600; - undefined auStack596 [64]; - undefined auStack532 [66]; - undefined auStack466 [2]; - undefined4 uStack464; - undefined4 uStack460; - undefined4 uStack456; - undefined auStack452 [64]; - undefined auStack388 [64]; - undefined auStack324 [64]; - undefined auStack260 [64]; - undefined auStack196 [64]; - undefined auStack132 [64]; - undefined auStack68 [64]; - undefined4 uStack4; - - uStack4 = FUN_7f0bca90(); - uStack464 = DAT_8003a7ac; - uStack460 = DAT_8003a7b0; - uStack456 = DAT_8003a7b4; - auStack605[0] = 0; - uStack606 = 1; - puVar7 = &DAT_8003a7b8; - puVar5 = auStack828; - do { - puVar8 = puVar7 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar7 = puVar8; - puVar5 = puVar6; - } while (puVar8 != (undefined4 *)0x8003a890); - *puVar6 = uRam8003a890; - puVar7 = &DAT_8003a894; - puVar5 = auStack1048; - do { - puVar6 = puVar7 + 3; - puVar8 = puVar5 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar7 = puVar6; - puVar5 = puVar8; - } while (puVar6 != (undefined4 *)0x8003a96c); - *puVar8 = uRam8003a96c; - puVar7 = &DAT_8003a970; - puVar5 = auStack1268; - do { - puVar6 = puVar7 + 3; - puVar8 = puVar5 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar7 = puVar6; - puVar5 = puVar8; - } while (puVar6 != (undefined4 *)0x8003aa48); - *puVar8 = uRam8003aa48; - FUN_7f0a89c4(0,&DAT_8003a77c,&DAT_8003a778,&DAT_8003a774); - sub_GAME_7F05A9B8(auStack68); - DAT_8003a774 = DAT_8003a774 + DAT_8003a778 * DAT_80041120 * 0.50000000; - DAT_8003a774 = (float)FUN_7f0a5d4c(DAT_8003a774); - FUN_7f058b30(DAT_8003a774); - if ((DAT_8003a5f8 == 0) || (DAT_8003a5e8 != 1)) { - DAT_8003a770 = (float)locret_7F0A9608(DAT_8003a770,0); - } - else { - iVar3 = FUN_7000af70(0); - DAT_8003a770 = (float)locret_7F0A9608(DAT_8003a770,((float)iVar3 * DAT_8004cfa4) / 360.00000000) - ; - } - FUN_7f058a18(-DAT_8003a770 - DAT_8004cfa8); - loc_7F0580E4(auStack68,auStack132,auStack260); - loc_7F0580E4(auStack260,auStack196,auStack324); - FUN_7f058e0c(&uStack464,auStack260); - loc_7F0580E4(auStack260,auStack324,auStack388); - lVar1 = FUN_7f0a4094(); - if (lVar1 == 0) { - puStack600 = auStack828; - FUN_7f059b3c(auStack532,0xffffffffc0a00000,0x44fa0000,0xffffffffc3280000,0xc0a00000,0,0xc3280000 - ,0,0,0xbf800000); - } - else { - puStack600 = auStack1048; - FUN_7f059b3c(auStack532,DAT_8004cfac,0x451c4000,0x42000000,DAT_8004cfac,0,0x42000000,0,0, - 0xbf800000); - } - loc_7F0580E4(auStack532,auStack388,auStack452); - guPerspective(uStack4,auStack466,0x42520000,0x3fa45519,0x447a0000,DAT_8004cfb0,0x3f800000); - *puParm1 = 0x1030040; - uVar4 = osVirtualToPhysical(uStack4); - puParm1[1] = uVar4; - uVar2 = sub_7F0A6EE8(puParm1 + 2); - if (DAT_8003a754 < 0xe0) { - puVar7 = (undefined4 *)FUN_7f063a60(uVar2,auStack452,DAT_8003a754 + -6,1,puStack600,auStack605); - } - else { - puVar7 = (undefined4 *)sub_7F064364(uVar2,auStack452,1,puStack600,auStack605); - } - lVar1 = FUN_7f0a4094(); - if (lVar1 != 0) { - FUN_7f0a89c4(1,&DAT_8003a78c,&DAT_8003a788,&DAT_8003a784); - sub_GAME_7F05A9B8(auStack68); - DAT_8003a784 = DAT_8003a784 + DAT_8003a788 * DAT_80041120 * 0.50000000; - DAT_8003a784 = (float)FUN_7f0a5d4c(DAT_8003a784); - FUN_7f058b30(DAT_8003a784); - if ((DAT_8003a5f8 == 0) || (DAT_8003a5e8 != 1)) { - DAT_8003a780 = (float)locret_7F0A9608(DAT_8003a780,0); - } - else { - iVar3 = FUN_7000af70(1); - DAT_8003a780 = (float)locret_7F0A9608(DAT_8003a780, - ((float)iVar3 * DAT_8004cfb4) / 360.00000000); - } - FUN_7f058a18(-DAT_8003a780 - DAT_8004cfb8); - loc_7F0580E4(auStack68,auStack132,auStack260); - loc_7F0580E4(auStack260,auStack196,auStack324); - FUN_7f058e0c(&uStack464,auStack260); - loc_7F0580E4(auStack260,auStack324,auStack388); - FUN_7f059b3c(auStack596,DAT_8004cfbc,0x451c4000,0x42000000,DAT_8004cfbc,0,0x42000000,0,0, - 0xbf800000); - loc_7F0580E4(auStack596,auStack388,auStack452); - guPerspective(uStack4,auStack466,0x42520000,0x3fa45519,0x447a0000,DAT_8004cfc0,0x3f800000); - *puVar7 = 0x1030040; - uVar4 = osVirtualToPhysical(uStack4); - puVar7[1] = uVar4; - uVar2 = sub_7F0A6EE8(puVar7 + 2); - if (DAT_8003a754 < 0xe0) { - puVar7 = (undefined4 *) - FUN_7f063a60(uVar2,auStack452,DAT_8003a754 + -6,1,auStack1268,&uStack606); - } - else { - puVar7 = (undefined4 *)sub_7F064364(uVar2,auStack452,1,auStack1268,&uStack606); - } - } - lVar1 = FUN_7f0a4094(); - if (lVar1 == 0) { - uVar2 = FUN_7f0a8df8(puVar7); - } - else { - uVar2 = FUN_7f0a9b08(puVar7); - } - return uVar2; -} - - - -void FUN_7f0aa7b4(void) - -{ - DAT_8003a5e8 = 0; - return; -} - - - -void FUN_7f0aa7c0(void) - -{ - DAT_8003a5ec = 0; - return; -} - - - -void FUN_7f0aa7cc(void) - -{ - DAT_8003a5f4 = 0; - return; -} - - - -undefined8 FUN_7f0aa7e0(undefined8 uParm1,undefined8 uParm2) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined8 uVar3; - longlong lVar4; - undefined8 uVar5; - undefined4 uVar6; - undefined4 uStack24; - int iStack20; - undefined4 uStack16; - undefined4 auStack12 [3]; - - uVar3 = FUN_7f0a6464(uParm1,uParm2,0); - lVar4 = FUN_7f07e6d0(); - if (lVar4 != 1) { - uVar3 = FUN_7f0aa100(uVar3); - uVar2 = DAT_8003ab00; - uVar1 = DAT_8003aafc; - uVar3 = loc_7F0ACED4(uVar3); - uVar5 = FUN_7f0c12b8(0xac32); - auStack12[0] = 0x41; - uStack16 = 0x1a; - uVar6 = 0xff00b0; - if ((DAT_8003a5e8 == 0) && (uVar6 = 0xa0ffa0f0, DAT_8003a5f8 != 0)) { - uVar6 = 0xffffffff; - } - loc_7F0AEB50(&uStack24,&iStack20,uVar5,uVar2,uVar1,0); - if ((DAT_8003a5f8 == 0) || (DAT_8003a5e8 != 0)) { - uVar3 = loc_7F0ADD78(uVar3,auStack12,&uStack16,uVar5,uVar2,uVar1,uVar6,iStack20,uStack24,0,0); - } - else { - uVar3 = loc_7F0AE958(uVar3,auStack12,&uStack16,uVar5,uVar2,uVar1,uVar6,0x7000a0,iStack20 + 1, - uStack24,0,0); - } - uVar6 = 0xff00b0; - uVar3 = FUN_7f0a8b10(uVar3); - uVar5 = FUN_7f0c12b8(0xac33); - lVar4 = FUN_7f0a4094(); - if (lVar4 != 0) { - uVar5 = FUN_7f0c12b8(0xac34); - } - auStack12[0] = 0x41; - uStack16 = 0x2b; - if ((DAT_8003a5e8 == 1) && (uVar6 = 0xa0ffa0f0, DAT_8003a5f8 != 0)) { - uVar6 = 0xffffffff; - } - loc_7F0AEB50(&uStack24,&iStack20,uVar5,uVar2,uVar1,0); - if ((DAT_8003a5f8 == 0) || (DAT_8003a5e8 != 1)) { - uVar3 = loc_7F0ADD78(uVar3,auStack12,&uStack16,uVar5,uVar2,uVar1,uVar6,iStack20,uStack24,0,0); - } - else { - uVar3 = loc_7F0AE958(uVar3,auStack12,&uStack16,uVar5,uVar2,uVar1,uVar6,0x7000a0,iStack20 + 1, - uStack24,0,0); - } - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0aaacc(undefined4 *puParm1,undefined4 uParm2) - -{ - *puParm1 = uParm2; - FUN_7f0a42c4(); - FUN_70008268(_DAT_80056900,0x2b,0); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0aabb4) overlaps instruction at (ram,0x7f0aabb0) -// - -void FUN_7f0aab00(int iParm1) - -{ - longlong lVar1; - - lVar1 = FUN_7000b120(0,0x222); - if (((lVar1 == 0) && (lVar1 = FUN_7f0a42d0(), lVar1 == 0)) || (DAT_8003a5f8 == 0)) { - lVar1 = FUN_7000b120(0,0x111); - if (((lVar1 != 0) || (lVar1 = FUN_7f0a430c(), lVar1 != 0)) && (DAT_8003a5f8 != 0)) { - if ((&DAT_8003a6d4)[iParm1 * 3] == 0) { - FUN_7f0aaacc(&DAT_8003a6d4 + iParm1 * 3,1); - } - else { - if (((&DAT_8003a6d4)[iParm1 * 3] == 1) && (*(short *)(&DAT_8003a6d2 + iParm1 * 0xc) != 0)) { - FUN_7f0aaacc(&DAT_8003a6d4 + iParm1 * 3,2); - } - } - } - } - else { - if ((&DAT_8003a6d4)[iParm1 * 3] == 1) { - FUN_7f0aaacc(&DAT_8003a6d4 + iParm1 * 3,0); - } - else { - if ((&DAT_8003a6d4)[iParm1 * 3] == 2) { - FUN_7f0aaacc(&DAT_8003a6d4 + iParm1 * 3,1); - } - } - } - return; -} - - - -undefined4 FUN_7f0aac30(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3,longlong lParm4) - -{ - undefined8 uVar1; - undefined4 uVar2; - undefined4 uVar3; - int iVar4; - undefined2 *puVar5; - undefined4 uVar6; - undefined4 local_res0; - undefined4 local_14; - undefined4 local_c; - - uVar6 = 0x800080; - uVar2 = 0x800080; - local_c = 0x800080; - if (DAT_80041150 == 0) { - uVar3 = 0xb4; - local_14 = 0xe1; - } - else { - uVar3 = 0xaa; - local_14 = 0xdc; - } - iVar4 = (int)uParm3; - if (lParm4 == 0) { - puVar5 = &DAT_8003a6cc + iVar4 * 6; - iVar4 = (&DAT_8003a6d4)[iVar4 * 3]; - if (iVar4 == 0) { - uVar2 = 0xff00b0; - } - else { - if (iVar4 == 1) { - uVar6 = 0xff00b0; - } - else { - if (iVar4 == 2) { - local_c = 0xff00b0; - } - } - } - } - else { - if (lParm4 == 1) { - puVar5 = &DAT_8003a6cc + iVar4 * 6; - iVar4 = (&DAT_8003a6d4)[iVar4 * 3]; - if (iVar4 == 0) { - uVar2 = 0xff00b0; - } - else { - if (iVar4 == 1) { - uVar6 = 0xff00b0; - } - else { - if (iVar4 == 2) { - local_c = 0xff00b0; - } - } - } - } - else { - if (lParm4 == 2) { - FUN_7f0aab00(uParm3); - puVar5 = &DAT_8003a6cc + iVar4 * 6; - iVar4 = (&DAT_8003a6d4)[iVar4 * 3]; - uVar2 = 0x800080; - uVar6 = 0x800080; - if (iVar4 == 0) { - uVar2 = 0xa0ffa0f0; - } - else { - if (iVar4 == 1) { - uVar6 = 0xa0ffa0f0; - } - else { - if (iVar4 == 2) { - local_c = 0xa0ffa0f0; - } - } - } - } - else { - puVar5 = &DAT_8003a6cc + iVar4 * 6; - uVar2 = uVar6; - } - } - } - if (puVar5[3] == 0) { - uVar3 = 200; - if (DAT_80041150 == 0) { - local_14 = 0xfa; - } - else { - uVar3 = 0xbe; - local_14 = 0xfa; - } - } - uVar1 = FUN_7f0c12b8((ulonglong)(ushort)puVar5[1]); - uVar2 = FUN_7f0a86d8(uParm1,uVar3,uParm2,uVar1,uVar2,0,0xffffffff,1,0,0x3000b0,0); - uVar1 = FUN_7f0c12b8((ulonglong)(ushort)puVar5[2]); - local_res0 = FUN_7f0a86d8(uVar2,local_14,uParm2,uVar1,uVar6,0,0xffffffff,1,0,0x3000b0,0); - if (puVar5[3] != 0) { - uVar1 = FUN_7f0c12b8((ulonglong)(ushort)puVar5[3]); - local_res0 = FUN_7f0a86d8(local_res0,0x10e,uParm2,uVar1,local_c,0,0xffffffff,1,0,0x3000b0,0); - } - return local_res0; -} - - - -undefined8 loc_7F0ABDB8(void) - -{ - undefined8 uVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - ushort *puVar5; - - uVar1 = loc_7F0ACED4(); - puVar5 = &DAT_8003a6cc; - iVar4 = 0; - iVar3 = 0x5a; - do { - if (iVar4 + 2 == DAT_8003a5ec) { - if (DAT_8003a5f8 == 0) { - uVar2 = FUN_7f0c12b8((ulonglong)*puVar5); - uVar1 = FUN_7f0a86d8(uVar1,0x41,iVar3,uVar2,0xa0ffa0f0,0,0xffffffff,0,0,0x3000b0,0); - uVar1 = FUN_7f0aac30(uVar1,iVar3,iVar4,1); - } - else { - uVar2 = FUN_7f0c12b8((ulonglong)*puVar5); - uVar1 = FUN_7f0a86d8(uVar1,0x41,iVar3,uVar2,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - uVar1 = FUN_7f0aac30(uVar1,iVar3,iVar4,2); - } - } - else { - uVar2 = FUN_7f0c12b8((ulonglong)*puVar5); - uVar1 = FUN_7f0a86d8(uVar1,0x41,iVar3,uVar2,0xff00b0,0,0xffffffff,0,0,0x3000b0,0); - uVar1 = FUN_7f0aac30(uVar1,iVar3,iVar4,0); - } - iVar4 += 1; - puVar5 = puVar5 + 6; - iVar3 += 0x11; - } while (iVar4 != 8); - return uVar1; -} - - - -undefined8 FUN_7f0ab124(undefined8 uParm1,undefined8 uParm2) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined8 uVar3; - longlong lVar4; - undefined8 uVar5; - int iVar6; - undefined4 uVar7; - int iVar8; - int iVar9; - undefined4 uVar10; - int iStack24; - int iStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uVar3 = FUN_7f0a6464(uParm1,uParm2,0); - lVar4 = FUN_7f07e6d0(); - if (lVar4 != 1) { - uVar3 = FUN_7f0a8508(uVar3); - uVar3 = FUN_7f0a832c(uVar3); - uVar2 = DAT_8003ab00; - uVar1 = DAT_8003aafc; - uVar3 = loc_7F0ACED4(uVar3); - uVar5 = FUN_7f0c12b8(0xac35); - uStack12 = 0x41; - uStack16 = 0x26; - uStack4 = 0xff00b0; - if ((DAT_8003a5ec == 0) && (uStack4 = 0xa0ffa0f0, DAT_8003a5f8 != 0)) { - uStack4 = 0xffffffff; - } - uStack8 = (undefined4)uVar5; - loc_7F0AEB50(&iStack24,&iStack20,uVar5,uVar2,uVar1,0); - uVar7 = uStack4; - if ((DAT_8003a5f8 == 0) || (DAT_8003a5ec != 0)) { - uStack4 = 0xff00b0; - iVar9 = 0; - uVar10 = 0; - iVar8 = iStack20; - iVar6 = iStack24; - uVar3 = loc_7F0ADD78(uVar3,&uStack12,&uStack16,uStack8,uVar2,uVar1,uVar7,iStack20,iStack24,0,0 - ); - } - else { - iVar6 = iStack20 + 1; - uStack4 = 0xff00b0; - iVar8 = 0x7000a0; - uVar10 = 0; - iVar9 = iStack24; - uVar3 = loc_7F0AE958(uVar3); - } - uVar5 = FUN_7f0c12b8(0xac36); - uStack12 = 0x41; - uStack16 = 0x41; - if ((DAT_8003a5ec == 1) && (uStack4 = 0xa0ffa0f0, DAT_8003a5f8 != 0)) { - uStack4 = 0xffffffff; - } - uStack8 = (undefined4)uVar5; - loc_7F0AEB50(&iStack24,&iStack20,uVar5,uVar2,uVar1,0,uVar7,iVar8,iVar6,iVar9,uVar10); - if ((DAT_8003a5f8 == 0) || (DAT_8003a5ec != 1)) { - uVar3 = loc_7F0ADD78(uVar3,&uStack12,&uStack16,uStack8,uVar2,uVar1,uStack4,iStack20,iStack24,0 - ,0); - } - else { - uVar3 = loc_7F0AE958(uVar3,&uStack12,&uStack16,uStack8,uVar2,uVar1,uStack4,0x7000a0, - iStack20 + 1,iStack24,0,0); - } - uVar3 = loc_7F0ABDB8(uVar3); - } - return uVar3; -} - - - -int locret_7F0AC118(char *pcParm1) - -{ - char cVar1; - int iVar2; - - cVar1 = *pcParm1; - iVar2 = 0; - while (cVar1 != '\0') { - if (cVar1 == '\n') { - iVar2 += 1; - cVar1 = pcParm1[1]; - } - else { - cVar1 = pcParm1[1]; - } - pcParm1 = pcParm1 + 1; - } - return iVar2; -} - - - -char * FUN_7f0ab448(char *pcParm1) - -{ - char cVar1; - char *pcVar2; - - cVar1 = *pcParm1; - pcVar2 = pcParm1; - while (cVar1 != '\0') { - if (cVar1 == '\n') { - cVar1 = pcVar2[1]; - if (cVar1 != '\0') { - pcParm1 = pcVar2 + 1; - } - } - else { - cVar1 = pcVar2[1]; - } - pcVar2 = pcVar2 + 1; - } - return pcParm1; -} - - - -undefined4 loc_7F0AC9F4(undefined8 uParm1,undefined8 uParm2) - -{ - longlong lVar1; - undefined8 uVar2; - undefined4 uVar4; - undefined8 uVar3; - int iVar5; - int iVar6; - undefined2 uVar8; - undefined4 uVar7; - int iVar9; - undefined *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - undefined4 *puVar13; - int iVar14; - int iVar15; - undefined4 uStackX0; - int iStack3444; - uint uStack3428; - undefined auStack3424 [200]; - int iStack3224; - int aiStack3220 [4]; - undefined4 uStack3204; - undefined4 uStack3200; - undefined4 uStack3196; - undefined auStack3192 [32]; - undefined auStack3160 [3000]; - undefined4 uStack160; - undefined4 uStack156; - int iStack152; - int iStack148; - int iStack144; - int iStack140; - int iStack136; - int iStack132; - undefined4 auStack128 [15]; - undefined4 uStack68; - undefined4 uStack64; - undefined4 auStack60 [15]; - - uStackX0 = FUN_7f0a6464(uParm1,uParm2,0); - lVar1 = FUN_7f07e6d0(); - if (lVar1 != 1) { - puVar12 = &DAT_8003aa4c; - puVar11 = auStack60; - do { - puVar13 = puVar12 + 3; - *puVar11 = *puVar12; - puVar11[1] = puVar12[1]; - puVar11[2] = puVar12[2]; - puVar12 = puVar13; - puVar11 = puVar11 + 3; - } while (puVar13 != &DAT_8003aa88); - uStack68 = DAT_8003aa88; - uStack64 = DAT_8003aa8c; - puVar12 = &DAT_8003aa90; - puVar11 = auStack128; - do { - puVar13 = puVar12 + 3; - *puVar11 = *puVar12; - puVar11[1] = puVar12[1]; - puVar11[2] = puVar12[2]; - puVar12 = puVar13; - puVar11 = puVar11 + 3; - } while (puVar13 != (undefined4 *)0x8003aacc); - iStack148 = 0; - iStack152 = 0; - uStack156 = DAT_8003aafc; - uStack160 = DAT_8003ab00; - uStack3196 = FUN_7f0c12b8(0xac28); - uStack3200 = FUN_7f0c12b8(0xac29); - uStack3204 = FUN_7f0c12b8(0xac37); - uVar2 = FUN_7f0573e4(0); - strtol(auStack3160,&DAT_8004ce90); - uVar4 = loc_7F0ACED4(uStackX0); - loc_7F0AEB50(&iStack148,&iStack152,uVar2,uStack160,uStack156,0); - iVar9 = -iStack152 + 0xaa; - if (iVar9 < 0) { - iVar9 = -iStack152 + 0xab; - } - iStack132 = (iVar9 >> 1) + 0x4b; - iStack140 = iStack132 + iStack152; - iStack144 = iStack148 + 0x1e; - iStack136 = 0x1e; - uVar3 = draw_blackbox_to_screen(uVar4,&iStack132,&iStack136,&iStack140,&iStack144); - uStackX0 = loc_7F0ADD78(uVar3,&iStack132,&iStack136,uVar2,uStack160,uStack156,0xa0ffa0f0, - iStack152,iStack148,0,0); - iStack132 = 0x41; - switch(DAT_8003a5f0) { - case 0: - uVar2 = FUN_7f0c12b8(0xac38); - FUN_7000a0f4(auStack3192,uVar2); - uVar2 = FUN_7f0573e4(1); - loc_7F0AEEE0(0xd2,uVar2,auStack3160,uStack160,uStack156); - FUN_7f0a5938(); - break; - case 1: - uVar2 = FUN_7f0c12b8(0xac39); - FUN_7000a0f4(auStack3192,uVar2); - uVar2 = FUN_7f0573e4(2); - loc_7F0AEEE0(0xd2,uVar2,auStack3160,uStack160,uStack156); - FUN_7f0a59c0(); - break; - case 2: - uVar2 = FUN_7f0c12b8(0xac3a); - FUN_7000a0f4(auStack3192,uVar2); - uVar2 = FUN_7f0573e4(3); - loc_7F0AEEE0(0xd2,uVar2,auStack3160,uStack160,uStack156); - FUN_7f0a5a4c(); - break; - case 3: - uVar2 = FUN_7f0c12b8(0xac3b); - FUN_7000a0f4(auStack3192,uVar2); - uVar2 = FUN_7f0573e4(4); - loc_7F0AEEE0(0xd2,uVar2,auStack3160,uStack160,uStack156); - FUN_7f0a5adc(); - break; - case 4: - iVar9 = 1; - iVar14 = 0; - iStack3444 = 0; - if (DAT_80041150 == 0) { - uVar2 = 5; - } - else { - uVar2 = 1; - } - FUN_7f0abe60(uVar2); - uVar2 = FUN_7f0c12b8(0xac3c); - FUN_7000a0f4(auStack3192,uVar2); - iVar15 = 0; - lVar1 = FUN_7f057488(); - if (0 < lVar1) { - do { - iVar5 = FUN_7f0574e4(iVar15); - iVar6 = FUN_7f0bf084(); - if (iVar5 <= iVar6) { - iVar5 = 0; - uVar4 = FUN_7f057498(iVar15); - auStack3424[0] = 0; - if (0 < iVar9) { - do { - locret_7000A844(auStack3424,&DAT_8004ce94); - iVar5 += 1; - } while (iVar5 != iVar9); - } - iVar5 = 0; - if (0 < iVar14) { - do { - locret_7000A844(auStack3424,&DAT_8004ce98); - iVar5 += 1; - } while (iVar5 != iVar14); - } - iVar6 = 0; - iVar5 = locret_7001389C(auStack3424); - puVar10 = auStack3424 + iVar5; - FUN_7000a0f4(puVar10,&DAT_8004ce9c,iStack3444 + 0x61); - locret_7000A844(auStack3424,uVar4); - aiStack3220[0] = 5; - if (DAT_80041150 != 0) { - aiStack3220[0] = 1; - } - aiStack3220[0] += iStack136; - iStack3224 = 0x3c; - uVar8 = FUN_70003e6c(); - uVar4 = FUN_70003e7c(); - uVar4 = loc_7F0ADD78(uStackX0,&iStack3224,aiStack3220,auStack3424,uStack160,uStack156, - 0xff00b0,uVar8,uVar4,0,10); - iVar5 = locret_7F0AC118(puVar10); - iVar9 += iVar5; - uVar2 = FUN_7f0ab448(puVar10); - loc_7F0AEB50(&iStack148,&iStack152,uVar2,uStack160,uStack156,10); - lVar1 = FUN_70003e6c(); - iVar5 = (int)lVar1; - if (lVar1 < 0) { - iVar5 += 1; - } - if (iStack152 + 0x3c < iVar5 >> 1) { - iVar9 += -1; - } - auStack3424[0] = 0; - if (0 < iVar9) { - do { - locret_7000A844(auStack3424,&DAT_8004cea4); - iVar6 += 1; - } while (iVar6 != iVar9); - } - iVar5 = 0; - if (0 < iVar14) { - do { - locret_7000A844(auStack3424,&DAT_8004cea8); - iVar5 += 1; - } while (iVar5 != iVar14); - } - lVar1 = loc_7F057498(iVar15); - if (lVar1 == 0) { - locret_7000A844(auStack3424,uStack3200); - uStack3428 = DAT_8003a74c << 0x10 | 0x400040ff; - } - else { - if (lVar1 == 1) { - uStack3428 = 0xa0ffa0f0; - locret_7000A844(auStack3424,uStack3196); - } - else { - if (lVar1 == 2) { - locret_7000A844(auStack3424,uStack3204); - if (DAT_80041150 == 0) { - uStack3428 = 0xff00b0; - } - else { - uStack3428 = 0xa0ffa0f0; - } - } - } - } - loc_7F0AEB50(&iStack148,&iStack152,auStack3424,uStack160,uStack156,10); - aiStack3220[0] = 5; - if (DAT_80041150 != 0) { - aiStack3220[0] = 1; - } - aiStack3220[0] += iStack136; - if (DAT_80041150 == 0) { - iStack3224 = 0xaf; - } - else { - iStack3224 = 0xf5 - iStack152; - } - uVar7 = FUN_70003e7c(); - uStackX0 = loc_7F0ADD78(uVar4,&iStack3224,aiStack3220,auStack3424,uStack160,uStack156, - uStack3428,0xd2,uVar7,0,10); - iVar14 += 1; - iStack3444 += 1; - } - iVar15 += 1; - iVar5 = FUN_7f057488(); - } while (iVar15 < iVar5); - } - FUN_7f0abe60(0xffffffffffffffff); - FUN_7f0a5b6c(); - } - loc_7F0AEB50(&iStack148,&iStack152,auStack3192,uStack160,uStack156,10); - uVar4 = loc_7F0ADD78(uStackX0,&iStack132,&iStack136,auStack3192,uStack160,uStack156,0xa0ffa0f0, - 0xd2,0x82,0,10); - iStack136 += 5; - iStack132 = 0x3c; - loc_7F0AEB50(&iStack148,&iStack152,auStack3160,uStack160,uStack156,10); - uVar8 = FUN_70003e6c(); - uVar7 = FUN_70003e7c(); - uStackX0 = loc_7F0ADD78(uVar4,&iStack132,&iStack136,auStack3160,uStack160,uStack156,0xff00b0, - uVar8,uVar7,0,10); - } - return uStackX0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0abce8(undefined8 uParm1,undefined4 uParm2,int iParm3) - -{ - longlong lVar1; - - locret_7F0A7144(DAT_8003a5e4,_DAT_80068bc0 + 0x1870); - if (iParm3 == 1) { - FUN_7f07eb70(0); - FUN_7f0bccac(0); - if ((DAT_8003a5e4 != 1) && (lVar1 = FUN_7000b120(0,0xa000), lVar1 != 0)) { - FUN_7f0a4218(); - } - switch(DAT_8003a5e4) { - case 0: - uParm1 = FUN_7f0a7624(uParm1,uParm2); - break; - case 1: - uParm1 = FUN_7f0a773c(uParm1,uParm2); - break; - case 2: - uParm1 = FUN_7f0aa7e0(uParm1,uParm2); - break; - case 3: - uParm1 = FUN_7f0ab124(uParm1,uParm2); - break; - case 4: - uParm1 = loc_7F0AC9F4(uParm1,uParm2); - } - } - else { - if (iParm3 == 0) { - FUN_7f0bccac(1); - FUN_7f07eb70(1); - uParm1 = FUN_7f0a6ac0(uParm1,uParm2); - } - } - return uParm1; -} - - - -void FUN_7f0abe38(int iParm1) - -{ - DAT_8003aad4 = -iParm1; - return; -} - - - -void __scSchedule(undefined4 uParm1) - -{ - DAT_8003aad8 = uParm1; - return; -} - - - -void FUN_7f0abe54(undefined4 uParm1) - -{ - DAT_8003aadc = uParm1; - return; -} - - - -void FUN_7f0abe60(undefined4 uParm1) - -{ - DAT_8003aae0 = uParm1; - return; -} - - - -undefined4 * loc_7F0ACED4(undefined4 *puParm1) - -{ - *puParm1 = 0xe7000000; - puParm1[1] = 0; - puParm1[2] = 0xba001402; - puParm1[3] = 0; - puParm1[5] = 0xc0; - puParm1[4] = 0xba000602; - puParm1[6] = 0xb900031d; - puParm1[7] = 0x5041c8; - puParm1[8] = 0xfcff97ff; - puParm1[9] = 0xff2dfeff; - puParm1[10] = 0xba001301; - puParm1[0xb] = 0; - puParm1[0xc] = 0xb9000002; - puParm1[0xd] = 0; - puParm1[0xe] = 0xba001001; - puParm1[0xf] = 0; - puParm1[0x11] = 0xc00; - puParm1[0x10] = 0xba000903; - puParm1[0x12] = 0xba000e02; - puParm1[0x13] = 0; - if (DAT_8003aae4 != 0) { - puParm1[0x15] = 0x3000; - puParm1[0x14] = 0xba000c02; - return puParm1 + 0x16; - } - puParm1[0x15] = 0x2000; - puParm1[0x14] = 0xba000c02; - return puParm1 + 0x16; -} - - - -undefined4 * combiner_bayer_lod_perspective(undefined4 *puParm1) - -{ - *puParm1 = 0xe7000000; - puParm1[1] = 0; - puParm1[3] = 0x40; - puParm1[2] = 0xba000602; - puParm1[5] = 0x80000; - puParm1[4] = 0xba001301; - puParm1[7] = 0x10000; - puParm1[6] = 0xba001001; - return puParm1 + 8; -} - - - -undefined4 * -draw_blackbox_to_screen(undefined4 *puParm1,uint *puParm2,uint *puParm3,uint *puParm4,uint *param_5) - -{ - *puParm1 = 0xb900031d; - puParm1[1] = 0x504240; - puParm1[2] = 0xfcffffff; - puParm1[3] = 0xfffdf6fb; - puParm1[4] = 0xfa000000; - puParm1[5] = 0; - puParm1[6] = (*param_5 & 0x3ff) << 2 | 0xf6000000 | (*puParm4 & 0x3ff) << 0xe; - puParm1[7] = (*puParm3 & 0x3ff) << 2 | (*puParm2 & 0x3ff) << 0xe; - puParm1[9] = 0x504240; - puParm1[8] = 0xb900031d; - puParm1[10] = 0xfcff97ff; - puParm1[0xb] = 0xff2dfeff; - return puParm1 + 0xc; -} - - - -undefined4 * -microcode_constructor_related_to_menus - (undefined4 *puParm1,undefined8 uParm2,undefined8 uParm3,undefined8 uParm4,uint param_5, - uint param_6) - -{ - *puParm1 = 0xb900031d; - puParm1[1] = 0x504240; - puParm1[2] = 0xfcffffff; - puParm1[3] = 0xfffdf6fb; - puParm1[4] = 0xfa000000; - puParm1[5] = param_6 & 0xff000000 | (param_6 >> 0x10 & 0xff) << 0x10 | (param_6 >> 8 & 0xff) << 8 - | param_6 & 0xff; - puParm1[7] = ((uint)uParm2 & 0x3ff) << 0xe | ((uint)uParm3 & 0x3ff) << 2; - puParm1[6] = ((uint)uParm4 & 0x3ff) << 0xe | 0xf6000000 | (param_5 & 0x3ff) << 2; - puParm1[9] = 0xff2dfeff; - puParm1[8] = 0xfcff97ff; - return puParm1 + 10; -} - - - -uint * loc_7F0ADA94(uint *puParm1,int *piParm2,int *piParm3,uint *puParm4,int iParm5,int iParm6, - int iParm7,int iParm8,int iParm9,int iParm10,int iParm11) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint uVar4; - int iVar5; - uint *puVar6; - - iParm11 = *piParm3 + iParm11; - iVar5 = (*piParm2 - - (*(int *)(iParm6 + *(int *)(iParm5 + 0x10) * 0x34 + puParm4[4] * 4) + DAT_8003aad4)) + 1; - *piParm2 = iVar5; - if ((DAT_8003aad8 != 0) || - (((puVar6 = puParm1, 0 < iVar5 && (iVar5 = FUN_70003e6c(), puVar6 = puParm1, *piParm2 <= iVar5) - ) && (iVar5 = FUN_70003e7c(), puVar6 = puParm1, (int)(iParm11 + puParm4[1]) <= iVar5)))) { - puVar6 = puParm1; - if (*piParm2 <= iParm7 + iParm9) { - iParm10 = iParm8 + iParm10; - puVar6 = puParm1; - if ((((int)(puParm4[1] + iParm11) <= iParm10) && (puVar6 = puParm1, iParm7 <= *piParm2)) && - (puVar6 = puParm1, iParm8 <= (int)(puParm4[1] + iParm11 + puParm4[2]))) { - if ((int)*puParm4 < 0x80) { - *puParm1 = 0xba000e02; - puParm1[1] = 0; - puParm1[2] = 0xfd900000; - puParm1[3] = puParm4[5]; - puParm1[5] = 0x7000000; - puParm1[4] = 0xf5900000; - puParm1[6] = 0xe6000000; - puParm1[7] = 0; - puParm1[8] = 0xf3000000; - uVar1 = puParm4[3] + 7 & 0xf8; - uVar2 = ((int)(uVar1 * puParm4[2] + 1) >> 1) - 1; - uVar4 = 0x7ff; - if ((int)uVar2 < 0x7ff) { - uVar4 = uVar2; - } - if (false) { - uVar1 += 7; - } - iVar3 = (int)uVar1 >> 3; - iVar5 = iVar3; - if (iVar3 == 0) { - iVar5 = 1; - } - if (iVar3 == 0) { - iVar3 = 1; - } - if (iVar3 == 0) { - trap(0x1c00); - } - if ((iVar3 == -1) && (iVar5 + 0x7ff == -0x80000000)) { - trap(0x1800); - } - puParm1[9] = (iVar5 + 0x7ff) / iVar3 & 0xfffU | 0x7000000 | (uVar4 & 0xfff) << 0xc; - puParm1[10] = 0xe7000000; - puParm1[0xb] = 0; - puParm1[0xc] = ((int)((puParm4[3] + 7 & 0xf8) + 7) >> 3) << 9 | 0xf5880000; - puParm1[0xd] = 0; - puParm1[0xe] = 0xf2000000; - puVar6 = puParm1 + 0x10; - puParm1[0xf] = ((puParm4[3] + 7 & 0xf8) - 1 & 0x3ff) << 0xe | (puParm4[2] - 1) * 4 & 0xfff - ; - } - else { - *puParm1 = 0xe7000000; - puParm1[1] = 0; - puParm1[3] = 0xc000; - puParm1[2] = 0xba000e02; - puVar6 = puParm1 + 4; - if (DAT_8003aaf8 != 0) { - DAT_8003aaf8 = 0; - *puVar6 = 0xfd100000; - uVar1 = osVirtualToPhysical(&DAT_8003ab0c); - puParm1[5] = uVar1; - puParm1[6] = 0xe8000000; - puParm1[7] = 0; - puParm1[8] = 0xf5000100; - puParm1[9] = 0x7000000; - puParm1[10] = 0xe6000000; - puParm1[0xb] = 0; - puParm1[0xc] = 0xf0000000; - puParm1[0xd] = 0x703c000; - puParm1[0xe] = 0xe7000000; - puParm1[0xf] = 0; - puParm1[0x10] = 0xfd100000; - uVar1 = osVirtualToPhysical(&DAT_8003ab2c); - puParm1[0x11] = uVar1; - puParm1[0x12] = 0xe8000000; - puParm1[0x13] = 0; - puParm1[0x15] = 0x7000000; - puParm1[0x14] = 0xf5000110; - puParm1[0x16] = 0xe6000000; - puParm1[0x17] = 0; - puParm1[0x18] = 0xf0000000; - puParm1[0x19] = 0x703c000; - puParm1[0x1a] = 0xe7000000; - puParm1[0x1b] = 0; - puVar6 = puParm1 + 0x1c; - } - *puVar6 = 0xfd500000; - uVar1 = osVirtualToPhysical(puParm4[5]); - puVar6[1] = uVar1; - puVar6[2] = 0xf5500000; - puVar6[3] = 0x7000000; - puVar6[4] = 0xe6000000; - puVar6[5] = 0; - puVar6[6] = 0xf3000000; - uVar1 = puParm4[2] * 4 - 1; - if (0x7fe < (int)uVar1) { - uVar1 = 0x7ff; - } - puVar6[7] = (uVar1 & 0xfff) << 0xc | 0x7000800; - puVar6[8] = 0xe7000000; - puVar6[9] = 0; - puVar6[10] = 0xf5400200; - puVar6[0xb] = (*puParm4 & 1) << 0x14 | 0x80200; - puVar6[0xc] = 0xf2000000; - puVar6[0xd] = (puParm4[2] - 1) * 4 & 0xfff | 0x3c000; - puVar6 = puVar6 + 0xe; - } - iVar5 = *piParm2 + puParm4[3]; - if (iVar5 <= iParm7 + iParm9) { - iVar3 = puParm4[1] + iParm11; - if (iVar3 < iParm8) { - if (iParm8 <= (int)(iVar3 + puParm4[2])) { - *puVar6 = (iVar5 * 4 + DAT_8003aae8 & 0xfffU) << 0xc | 0xe4000000 | - (iVar3 + puParm4[2]) * 4 + DAT_8003aaec & 0xfff; - puVar6[1] = (*piParm2 * 4 + DAT_8003aae8 & 0xfffU) << 0xc | - iParm8 * 4 + DAT_8003aaec & 0xfffU; - puVar6[2] = 0xb4000000; - puVar6[3] = DAT_8003aaf0 << 0x10 | - ((iParm8 - iParm11) - puParm4[1]) * 0x20 + DAT_8003aaf4 & 0xffff; - puVar6[4] = 0xb3000000; - puVar6[5] = 0x4000400; - puVar6 = puVar6 + 6; - } - } - else { - if (iParm10 < (int)(iVar3 + puParm4[2])) { - if (iVar3 <= iParm10) { - *puVar6 = (iVar5 * 4 + DAT_8003aae8 & 0xfffU) << 0xc | 0xe4000000 | - iParm10 + DAT_8003aaec & 0xfffU; - puVar6[1] = (*piParm2 * 4 + DAT_8003aae8 & 0xfffU) << 0xc | - (iParm11 + puParm4[1]) * 4 + DAT_8003aaec & 0xfff; - puVar6[2] = 0xb4000000; - puVar6[3] = DAT_8003aaf0 << 0x10 | DAT_8003aaf4 & 0xffff; - puVar6[4] = 0xb3000000; - puVar6[5] = 0x4000400; - puVar6 = puVar6 + 6; - } - } - else { - if (DAT_8003aad8 == 0) { - *puVar6 = (iVar5 * 4 + DAT_8003aae8 & 0xfffU) << 0xc | 0xe4000000 | - (iVar3 + puParm4[2]) * 4 + DAT_8003aaec & 0xfff; - puVar6[1] = (*piParm2 * 4 + DAT_8003aae8 & 0xfffU) << 0xc | - (iParm11 + puParm4[1]) * 4 + DAT_8003aaec & 0xfff; - puVar6[2] = 0xb4000000; - puVar6[3] = DAT_8003aaf0 << 0x10 | DAT_8003aaf4 & 0xffff; - puVar6[4] = 0xb3000000; - puVar6[5] = 0x4000400; - puVar6 = puVar6 + 6; - } - else { - *puVar6 = iVar5 * 4 + DAT_8003aae8 & 0xfffU | 0xe5000000 | - ((iParm11 - puParm4[1]) * 4 + DAT_8003aaec & 0xfff) << 0xc; - puVar6[1] = *piParm2 * 4 + DAT_8003aae8 & 0xfffU | - (((iParm11 - puParm4[1]) - puParm4[2]) * 4 + DAT_8003aaec & 0xfff) << - 0xc; - puVar6[2] = 0xb4000000; - puVar6[3] = DAT_8003aaf4 << 0x10 | (puParm4[2] - 1) * 0x20 + DAT_8003aaf0 & 0xffff; - puVar6[4] = 0xb3000000; - puVar6[5] = 0x400fc00; - puVar6 = puVar6 + 6; - } - } - } - } - } - } - } - *piParm2 = *piParm2 + puParm4[3]; - return puVar6; -} - - - -undefined4 * -loc_7F0ADD78(undefined4 *puParm1,int *piParm2,int *piParm3,byte *pbParm4,int iParm5, - undefined4 uParm6,uint uParm7,undefined4 uParm8,undefined4 uParm9,undefined4 uParm10, - int iParm11) - -{ - byte bVar1; - int iVar2; - uint uVar3; - ulonglong uVar4; - int iVar5; - int iStack60; - undefined4 uStack56; - undefined4 uStack52; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack40; - int iStack8; - - DAT_8003aaf8 = 1; - iStack8 = *piParm3; - iVar2 = *piParm2; - uVar4 = 0x48; - if (iParm11 == 0) { - iParm11 = *(int *)(iParm5 + 0x88c) + *(int *)(iParm5 + 0x890); - } - if ((DAT_80041150 != 0) && (iParm11 < 0xe)) { - iParm11 = 0xe; - } - *puParm1 = 0xfa000000; - puParm1[1] = uParm7 & 0xff000000 | (uParm7 >> 0x10 & 0xff) << 0x10 | (uParm7 >> 8 & 0xff) << 8 | - uParm7 & 0xff; - bVar1 = *pbParm4; - puParm1 = puParm1 + 2; - if (bVar1 != 0) { - do { - if (bVar1 == 0x20) { - uVar4 = 0x48; - pbParm4 = pbParm4 + 1; - *piParm2 = *piParm2 + 5; - } - else { - if (bVar1 == 10) { - uVar4 = 0x48; - pbParm4 = pbParm4 + 1; - if (DAT_8003aae0 < 0) { - iVar5 = *piParm3; -LAB_7f0aced4: - *piParm3 = iVar5 + iParm11; - } - else { - if (iVar2 != *piParm2) { - iVar5 = *piParm3; - goto LAB_7f0aced4; - } - *piParm3 = *piParm3 + DAT_8003aae0; - } - *piParm2 = iVar2; - } - else { - if (bVar1 < 0x80) { - puParm1 = (undefined4 *) - loc_7F0ADA94(puParm1,piParm2,piParm3,(uint)bVar1 * 0x18 + iParm5 + -0x318, - (int)uVar4 * 0x18 + iParm5 + -0x318,uParm6,iVar2,iStack8,uParm8, - uParm9,uParm10); - uVar4 = (ulonglong)*pbParm4; - pbParm4 = pbParm4 + 1; - } - else { - uVar3 = ((uint)bVar1 & 0x7f) << 7; - uStack56 = DAT_8003ab50; - uStack52 = DAT_8003ab54; - uStack48 = DAT_8003ab58; - uStack44 = DAT_8003ab5c; - uStack40 = DAT_8003ab60; - if (((longlong)(int)uVar3 & 0x2000U) != 0) { - uStack48 = 0xf; - uStack52 = 0x10; - } - if (((ulonglong)pbParm4[1] & 0x7f | (longlong)(int)uVar3 & 0x1fffU) < 0x3c8) { - iStack60 = ((uint)((ulonglong)pbParm4[1] & 0x7f) | uVar3) + 0x80; - } - else { - iStack60 = 0x82; - } - uStack40 = loc_7F0C1CF8(); - puParm1 = (undefined4 *) - loc_7F0ADA94(puParm1,piParm2,piParm3,&iStack60,&iStack60,uParm6,iVar2,iStack8, - uParm8,uParm9,uParm10); - pbParm4 = pbParm4 + 2; - } - } - } - bVar1 = *pbParm4; - } while (bVar1 != 0); - } - return puParm1; -} - - - -undefined4 * -loc_7F0AE418(undefined4 *puParm1,int *piParm2,int *piParm3,uint *puParm4,int iParm5,int iParm6, - int iParm7,int iParm8,uint uParm9,uint uParm10,int iParm11,int iParm12,int iParm13) - -{ - uint uVar1; - int iVar2; - uint uVar3; - undefined4 uVar4; - int iVar5; - uint uVar6; - int iVar7; - undefined4 *puVar8; - - iParm13 = *piParm3 + iParm13; - *piParm2 = (*piParm2 - - (*(int *)(iParm6 + *(int *)(iParm5 + 0x10) * 0x34 + puParm4[4] * 4) + DAT_8003aad4)) + - 1; - if ((0 < *piParm2) && (iVar2 = FUN_70003e6c(), *piParm2 <= iVar2)) { - iVar2 = FUN_70003e7c(); - iVar5 = iParm13 + puParm4[1]; - if ((iVar5 <= iVar2) && - ((((*piParm2 <= iParm7 + iParm11 && (iVar5 <= iParm8 + iParm12)) && (iParm7 <= *piParm2)) && - (iParm8 <= (int)(iVar5 + puParm4[2]))))) { - if ((int)*puParm4 < 0x80) { - *puParm1 = 0xba000e02; - puParm1[1] = 0; - puParm1[2] = 0xfd900000; - puParm1[3] = puParm4[5]; - puParm1[4] = 0xf5900000; - puParm1[5] = 0x7000000; - puParm1[6] = 0xe6000000; - puParm1[7] = 0; - puParm1[8] = 0xf3000000; - uVar1 = puParm4[3] + 7 & 0xf8; - uVar3 = ((int)(uVar1 * puParm4[2] + 1) >> 1) - 1; - uVar6 = 0x7ff; - if ((int)uVar3 < 0x7ff) { - uVar6 = uVar3; - } - if (false) { - uVar1 += 7; - } - iVar5 = (int)uVar1 >> 3; - iVar2 = iVar5; - if (iVar5 == 0) { - iVar2 = 1; - } - if (iVar5 == 0) { - iVar5 = 1; - } - puParm1[9] = (iVar2 + 0x7ff) / iVar5 & 0xfffU | 0x7000000 | (uVar6 & 0xfff) << 0xc; - puParm1[10] = 0xe7000000; - puParm1[0xb] = 0; - if (iVar5 == 0) { - trap(0x1c00); - } - if ((iVar5 == -1) && (iVar2 + 0x7ff == -0x80000000)) { - trap(0x1800); - } - puParm1[0xc] = ((int)((puParm4[3] + 7 & 0xf8) + 7) >> 3) << 9 | 0xf5880000; - puParm1[0xd] = 0; - puParm1[0xe] = 0xf2000000; - puVar8 = puParm1 + 0x10; - puParm1[0xf] = ((puParm4[3] + 7 & 0xf8) - 1 & 0x3ff) << 0xe | (puParm4[2] - 1) * 4 & 0xfff; - } - else { - *puParm1 = 0xe7000000; - puParm1[1] = 0; - puParm1[3] = 0xc000; - puParm1[2] = 0xba000e02; - puVar8 = puParm1 + 4; - if (DAT_8003aaf8 != 0) { - DAT_8003aaf8 = 0; - *puVar8 = 0xfd100000; - uVar4 = osVirtualToPhysical(&DAT_8003ab0c); - puParm1[5] = uVar4; - puParm1[6] = 0xe8000000; - puParm1[7] = 0; - puParm1[9] = 0x7000000; - puParm1[8] = 0xf5000100; - puParm1[10] = 0xe6000000; - puParm1[0xb] = 0; - puParm1[0xc] = 0xf0000000; - puParm1[0xd] = 0x703c000; - puParm1[0xf] = 0; - puParm1[0xe] = 0xe7000000; - puParm1[0x10] = 0xfd100000; - uVar4 = osVirtualToPhysical(&DAT_8003ab2c); - puParm1[0x11] = uVar4; - puParm1[0x12] = 0xe8000000; - puParm1[0x13] = 0; - puParm1[0x14] = 0xf5000110; - puParm1[0x15] = 0x7000000; - puParm1[0x16] = 0xe6000000; - puParm1[0x17] = 0; - puParm1[0x18] = 0xf0000000; - puParm1[0x19] = 0x703c000; - puParm1[0x1b] = 0; - puParm1[0x1a] = 0xe7000000; - puVar8 = puParm1 + 0x1c; - } - *puVar8 = 0xfd500000; - uVar4 = osVirtualToPhysical(puParm4[5]); - puVar8[1] = uVar4; - puVar8[2] = 0xf5500000; - puVar8[3] = 0x7000000; - puVar8[4] = 0xe6000000; - puVar8[5] = 0; - puVar8[6] = 0xf3000000; - uVar1 = puParm4[2] * 4 - 1; - if (0x7fe < (int)uVar1) { - uVar1 = 0x7ff; - } - puVar8[7] = (uVar1 & 0xfff) << 0xc | 0x7000800; - puVar8[9] = 0; - puVar8[8] = 0xe7000000; - puVar8[10] = 0xf5400200; - puVar8[0xb] = (*puParm4 & 1) << 0x14 | 0x80200; - puVar8[0xc] = 0xf2000000; - puVar8[0xd] = (puParm4[2] - 1) * 4 & 0xfff | 0x3c000; - puVar8 = puVar8 + 0xe; - } - *puVar8 = 0xfa000000; - puVar8[1] = uParm10 & 0xff000000 | (uParm10 >> 0x10 & 0xff) << 0x10 | - (uParm10 >> 8 & 0xff) << 8 | uParm10 & 0xff; - puVar8 = puVar8 + 2; - iVar7 = -1; - iVar2 = *piParm2; - iVar5 = -1; - while( true ) { - do { - if ((iVar7 != 0) || (iVar5 != 0)) { - puVar8 = (undefined4 *) - locret_7F0AE6E4(puVar8,iVar2 + iVar7,iParm13 + iVar5,puParm4,iParm7,iParm8, - iParm11,iParm12); - iVar2 = *piParm2; - } - iVar5 += 1; - } while (iVar5 != 2); - iVar7 += 1; - if (iVar7 == 2) break; - iVar5 = -1; - } - *puVar8 = 0xfa000000; - puVar8[1] = uParm9 & 0xff000000 | (uParm9 >> 0x10 & 0xff) << 0x10 | (uParm9 >> 8 & 0xff) << 8 - | uParm9 & 0xff; - puParm1 = (undefined4 *) - locret_7F0AE6E4(puVar8 + 2,iVar2,iParm13,puParm4,iParm7,iParm8,iParm11,iParm12); - } - } - *piParm2 = *piParm2 + puParm4[3]; - return puParm1; -} - - - -uint * locret_7F0AE6E4(uint *puParm1,uint uParm2,int iParm3,int iParm4,int param_5,uint param_6, - int param_7,int param_8) - -{ - uint uVar1; - int iVar2; - int iVar3; - - uVar1 = *(int *)(iParm4 + 0xc) + uParm2; - if ((int)uVar1 <= param_5 + param_7) { - iVar2 = *(int *)(iParm4 + 4) + iParm3; - if (iVar2 < (int)param_6) { - iVar2 += *(int *)(iParm4 + 8); - if ((int)param_6 <= iVar2) { - *puParm1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | iVar2 * 4 & 0xfffU; - puParm1[1] = (uParm2 & 0x3ff) << 0xe | (param_6 & 0x3ff) << 2; - puParm1[2] = 0xb4000000; - puParm1[3] = ((param_6 - *(int *)(iParm4 + 4)) - iParm3 & 0x7ff) << 5; - puParm1[4] = 0xb3000000; - puParm1[5] = 0x4000400; - puParm1 = puParm1 + 6; - } - } - else { - param_8 = param_6 + param_8; - iVar3 = iVar2 + *(int *)(iParm4 + 8); - if (iVar3 <= param_8) { - if (DAT_8003aad8 != 0) { - *puParm1 = (iParm3 - *(int *)(iParm4 + 4) & 0x3ffU) << 0xe | 0xe5000000 | - uVar1 * 4 & 0xfff; - puParm1[1] = ((iParm3 - *(int *)(iParm4 + 4)) - *(int *)(iParm4 + 8) & 0x3ffU) << 0xe | - (uParm2 & 0x3ff) << 2; - puParm1[2] = 0xb4000000; - puParm1[3] = (*(int *)(iParm4 + 8) - 1U & 0x7ff) << 5; - puParm1[4] = 0xb3000000; - puParm1[5] = 0x400fc00; - return puParm1 + 6; - } - *puParm1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | iVar3 * 4 & 0xfffU; - puParm1[1] = (uParm2 & 0x3ff) << 0xe | (iParm3 + *(int *)(iParm4 + 4)) * 4 & 0xfffU; - puParm1[2] = 0xb4000000; - puParm1[3] = 0; - puParm1[4] = 0xb3000000; - puParm1[5] = 0x4000400; - return puParm1 + 6; - } - if (iVar2 <= param_8) { - *puParm1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | param_8 * 4 & 0xfffU; - puParm1[1] = (uParm2 & 0x3ff) << 0xe | (iParm3 + *(int *)(iParm4 + 4)) * 4 & 0xfffU; - puParm1[2] = 0xb4000000; - puParm1[3] = 0; - puParm1[4] = 0xb3000000; - puParm1[5] = 0x4000400; - return puParm1 + 6; - } - } - } - return puParm1; -} - - - -undefined8 -loc_7F0AE958(undefined8 uParm1,int *piParm2,int *piParm3,byte *pbParm4,int iParm5,undefined4 uParm6, - undefined4 uParm7,undefined4 uParm8,undefined4 uParm9,undefined4 uParm10, - undefined4 uParm11,int iParm12) - -{ - byte bVar1; - int iVar2; - uint uVar3; - ulonglong uVar4; - int iStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - int iStack8; - - DAT_8003aaf8 = 1; - iStack8 = *piParm3; - iVar2 = *piParm2; - uVar4 = 0x48; - if (iParm12 == 0) { - iParm12 = *(int *)(iParm5 + 0x88c) + *(int *)(iParm5 + 0x890); - } - if ((DAT_80041150 != 0) && (iParm12 < 0xe)) { - iParm12 = 0xe; - } - bVar1 = *pbParm4; - while (bVar1 != 0) { - if (bVar1 == 0x20) { - uVar4 = 0x48; - pbParm4 = pbParm4 + 1; - *piParm2 = *piParm2 + 5; - } - else { - if (bVar1 == 10) { - *piParm2 = iVar2; - uVar4 = 0x48; - pbParm4 = pbParm4 + 1; - *piParm3 = *piParm3 + iParm12; - } - else { - if (bVar1 < 0x80) { - uParm1 = loc_7F0AE418(uParm1,piParm2,piParm3,(uint)bVar1 * 0x18 + iParm5 + -0x318, - (int)uVar4 * 0x18 + iParm5 + -0x318,uParm6,iVar2,iStack8,uParm7, - uParm8,uParm9,uParm10,uParm11); - uVar4 = (ulonglong)*pbParm4; - pbParm4 = pbParm4 + 1; - } - else { - uVar3 = ((uint)bVar1 & 0x7f) << 7; - uStack28 = DAT_8003ab6c; - uStack24 = DAT_8003ab70; - if (((longlong)(int)uVar3 & 0x2000U) != 0) { - uStack24 = 0xf; - uStack28 = 0x10; - } - if (((ulonglong)pbParm4[1] & 0x7f | (longlong)(int)uVar3 & 0x1fffU) < 0x3c8) { - iStack36 = ((uint)((ulonglong)pbParm4[1] & 0x7f) | uVar3) + 0x80; - } - else { - iStack36 = 0x82; - } - uStack32 = DAT_8003ab68; - uStack20 = DAT_8003ab74; - uStack16 = DAT_8003ab78; - uStack16 = loc_7F0C1CF8(); - uParm1 = loc_7F0AE418(uParm1,piParm2,piParm3,&iStack36,&iStack36,uParm6,iVar2,iStack8, - uParm7,uParm8,uParm9,uParm10,uParm11); - pbParm4 = pbParm4 + 2; - } - } - } - bVar1 = *pbParm4; - } - return uParm1; -} - - - -void loc_7F0AEB50(int *piParm1,int *piParm2,byte *pbParm3,int iParm4,int *piParm5,int iParm6) - -{ - byte bVar1; - ulonglong uVar2; - byte *pbVar3; - int iVar4; - int iVar5; - - *piParm1 = 0; - uVar2 = 0x48; - iVar4 = 0; - *piParm2 = 0; - if (iParm6 == 0) { - iParm6 = *(int *)(iParm4 + 0x890) + *(int *)(iParm4 + 0x88c); - } - if (DAT_80041150 != 0) { - if (0xd < iParm6) { - bVar1 = *pbParm3; - goto joined_r0x7f0adcb4; - } - iParm6 = 0xe; - } - bVar1 = *pbParm3; -joined_r0x7f0adcb4: - while (bVar1 != 0) { - if (bVar1 == 0x20) { - uVar2 = 0x48; - if (pbParm3[1] != 10) { - *piParm2 = *piParm2 + 5; - } - pbVar3 = pbParm3 + 1; - } - else { - if (bVar1 == 10) { - iVar5 = *piParm2; - if (iVar4 < iVar5) { - *piParm2 = 0; - } - else { - *piParm2 = 0; - iVar5 = iVar4; - } - pbVar3 = pbParm3 + 1; - *piParm1 = *piParm1 + iParm6; - iVar4 = iVar5; - } - else { - if (bVar1 < 0x80) { - pbVar3 = pbParm3 + 1; - iVar5 = iParm4 + (uint)bVar1 * 0x18; - *piParm2 = (*piParm2 + *(int *)(iVar5 + -0x30c)) - - (piParm5[*(int *)(iVar5 + -0x308) + - *(int *)(iParm4 + (int)uVar2 * 0x18 + -0x308) * 0xd] + DAT_8003aad4 + - -1); - uVar2 = (ulonglong)*pbParm3; - } - else { - if (bVar1 < 0xc0) { - pbVar3 = pbParm3 + 2; - *piParm2 = (*piParm2 - (*piParm5 + DAT_8003aad4 + -1)) + 0xb; - } - else { - pbVar3 = pbParm3 + 2; - *piParm2 = (*piParm2 - (*piParm5 + DAT_8003aad4 + -1)) + 0xf; - } - } - } - } - bVar1 = *pbVar3; - pbParm3 = pbVar3; - } - if (*piParm2 < iVar4) { - *piParm2 = iVar4; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0ae0ac) overlaps instruction at (ram,0x7f0ae0a8) -// - -void loc_7F0AEEE0(int iParm1,byte *pbParm2,byte *pbParm3,undefined8 uParm4,undefined4 uParm5) - -{ - byte bVar1; - bool bVar2; - byte *pbVar3; - byte *pbVar4; - int iVar5; - uint uVar6; - byte *pbVar7; - uint uVar8; - byte abStack68 [44]; - int iStack24; - undefined4 uStack20; - int aiStack16 [3]; - int iStack4; - - iStack4 = 0; - uStack20 = 0; - iStack24 = 1; - do { - aiStack16[0] = 0; - bVar1 = *pbParm2; - uVar8 = 0; - if (0x20 < bVar1) { - pbVar3 = abStack68; - uVar6 = uVar8; - while( true ) { - uVar8 = uVar6 + 1; - pbVar7 = pbVar3 + 1; - pbVar4 = pbParm2 + 1; - if (0x7f < *pbVar3) { - uVar8 = uVar6 + 2; - pbVar3[1] = pbParm2[1]; - pbVar7 = pbVar3 + 2; - pbVar4 = pbParm2 + 2; - } - pbParm2 = pbVar4; - pbVar3 = pbVar7; - abStack68[0] = bVar1; - if (*pbParm2 < 0x21) break; - *pbVar3 = *pbParm2; - uVar6 = uVar8; - } - } - abStack68[uVar8] = 0; - loc_7F0AEB50(&uStack20,aiStack16,abStack68,uParm4,uParm5,0); - iStack4 += aiStack16[0]; - bVar2 = iParm1 < iStack4; - bVar1 = *pbParm2; - if (bVar1 == 10) { - iVar5 = 0; - if (bVar2) { - *pbParm3 = 10; - pbParm3 = pbParm3 + 1; - if (0 < DAT_8003aadc) { - *pbParm3 = 0x20; - while( true ) { - iVar5 += 1; - pbParm3 = pbParm3 + 1; - if (DAT_8003aadc <= iVar5) break; - *pbParm3 = 0x20; - } - } - } - uVar6 = 0; - iStack4 = 0; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = pbParm3; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - pbParm3 = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = pbParm3; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0ae014; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = pbParm3; - do { - pbVar4 = pbVar3 + 4; - pbParm3 = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = pbParm3; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0ae014: - *pbParm3 = 10; - pbParm3 = pbParm3 + 1; - } - else { - if (bVar1 == 0x20) { - iVar5 = 0; - if (bVar2) { - *pbParm3 = 10; - pbParm3 = pbParm3 + 1; - if (0 < DAT_8003aadc) { - *pbParm3 = 0x20; - while( true ) { - iVar5 += 1; - pbParm3 = pbParm3 + 1; - if (DAT_8003aadc <= iVar5) break; - *pbParm3 = 0x20; - } - } - iStack4 = DAT_8003aadc * 5 + aiStack16[0]; - } - uVar6 = 0; - iStack4 += 5; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = pbParm3; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - pbParm3 = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = pbParm3; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0ae0e4; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = pbParm3; - do { - pbVar4 = pbVar3 + 4; - pbParm3 = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = pbParm3; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0ae0e4: - *pbParm3 = 0x20; - pbParm3 = pbParm3 + 1; - } - else { - iVar5 = 0; - if (bVar1 == 0) { - iStack24 = 0; - if (bVar2) { - *pbParm3 = 10; - pbParm3 = pbParm3 + 1; - if (0 < DAT_8003aadc) { - *pbParm3 = 0x20; - while( true ) { - iVar5 += 1; - pbParm3 = pbParm3 + 1; - if (DAT_8003aadc <= iVar5) break; - *pbParm3 = 0x20; - } - } - } - uVar6 = 0; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = pbParm3; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - pbParm3 = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = pbParm3; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0ae19c; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = pbParm3; - do { - pbVar4 = pbVar3 + 4; - pbParm3 = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = pbParm3; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0ae19c: - *pbParm3 = 0; - } - } - } - pbParm2 = pbParm2 + 1; - if (iStack24 != 1) { - return; - } - } while( true ); -} - - - -int FUN_7f0ae1fc(ushort *puParm1) - -{ - byte bVar1; - int iVar2; - int iVar3; - - iVar3 = DAT_8003abfc * 9 + -0x7ffc544c; - bVar1 = *(byte *)(puParm1 + 1); - DAT_8003abfc = DAT_8003abfc + 1 & 7; - if ((bVar1 & 7) == 0) { - iVar2 = 0; - } - else { - iVar2 = ((uint)bVar1 & 7) + 0x30; - } - FUN_7000a0f4(iVar3,s__c_d_c_c_8004cff0,((int)(uint)*puParm1 >> 0xf) + 0x70, - (ulonglong)*puParm1 & 0x7fff,((int)(uint)bVar1 >> 3) + 0x61,iVar2); - return iVar3; -} - - - -void FUN_7f0ae2a0(void) - -{ - FUN_7f0ae1fc(); - return; -} - - - -void FUN_7f0ae2cc(void) - -{ - FUN_70004280(&DAT_8003ab90,s_stan_c_debug_8004cffc); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ae2f8(void) - -{ - byte bVar1; - undefined4 *puVar2; - int iVar3; - int *piVar4; - ulonglong uVar5; - ulonglong uVar6; - ulonglong uVar7; - uint uVar8; - short sVar9; - int *piVar10; - int iVar11; - int *piVar12; - short *psVar13; - short sVar14; - - _DAT_8006992c = 0; - _DAT_80069078 = 0; - _DAT_8006907c = 0; - uVar6 = 0xff; - _DAT_80069080 = 0; - puVar2 = (undefined4 *)&DAT_80069084; - do { - puVar2 = puVar2 + 4; - *puVar2 = 0; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)0x800692a4); - piVar4 = *(int **)(_DAT_80069070 + 4); - if (*piVar4 != 0) { - bVar1 = *(byte *)((int)piVar4 + 3); - uVar5 = 0xff; - while( true ) { - uVar7 = (ulonglong)bVar1; - iVar3 = 0; - if (uVar5 == uVar7) { - sVar9 = *(short *)((int)piVar4 + 6); - uVar7 = uVar5; - } - else { - if ((longlong)_DAT_8006992c <= (longlong)uVar7) { - _DAT_8006992c = (uint)bVar1 + 1; - } - iVar11 = (uint)bVar1 * 0xc; - *(int **)(&DAT_80069078 + (uint)bVar1 * 4) = piVar4; - *(undefined2 *)(&DAT_800692ac + iVar11) = 0x7fff; - *(undefined2 *)(&DAT_800692b2 + iVar11) = 0x8000; - *(undefined2 *)(&DAT_800692aa + iVar11) = *(undefined2 *)(&DAT_800692ac + iVar11); - *(undefined2 *)(&DAT_800692a8 + iVar11) = *(undefined2 *)(&DAT_800692ac + iVar11); - *(undefined2 *)(&DAT_800692b0 + iVar11) = *(undefined2 *)(&DAT_800692b2 + iVar11); - *(undefined2 *)(&DAT_800692ae + iVar11) = *(undefined2 *)(&DAT_800692b2 + iVar11); - sVar9 = *(short *)((int)piVar4 + 6); - uVar6 = uVar7; - } - uVar8 = (int)sVar9 >> 0xc & 0xf; - if (uVar8 != 0) { - piVar10 = piVar4; - do { - iVar11 = 0; - psVar13 = (short *)(&DAT_800692a8 + (int)uVar6 * 0xc); - piVar12 = piVar10; - do { - sVar9 = *(short *)(piVar12 + 2); - iVar11 += 2; - if (sVar9 < *psVar13) { - *psVar13 = sVar9; - sVar9 = *(short *)(piVar12 + 2); - sVar14 = psVar13[3]; - } - else { - sVar14 = psVar13[3]; - } - piVar12 = (int *)((int)piVar12 + 2); - if (sVar14 < sVar9) { - psVar13[3] = sVar9; - } - psVar13 = psVar13 + 1; - } while (iVar11 != 6); - iVar3 += 1; - piVar10 = piVar10 + 2; - uVar8 = (int)*(short *)((int)piVar4 + 6) >> 0xc & 0xf; - } while (iVar3 < (int)uVar8); - } - piVar4 = (int *)((uint)(byte)s___08_HPX_8003ab9c[uVar8] + (int)piVar4); - if (*piVar4 == 0) break; - bVar1 = *(byte *)((int)piVar4 + 3); - uVar5 = uVar7; - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0ae788) overlaps instruction at (ram,0x7f0ae784) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f0ae4cc(float *pfParm1,byte *pbParm2,float *pfParm3) - -{ - byte bVar1; - int *piVar2; - byte *pbVar3; - longlong lVar4; - int iVar5; - int *piVar6; - ulonglong uVar7; - float fVar8; - float fVar9; - int **ppiStack88; - undefined4 auStack76 [2]; - undefined4 uStack68; - int iStack64; - int *piStack44; - int *apiStack40 [3]; - short sStack28; - short sStack26; - short sStack24; - float fStack16; - float fStack12; - float fStack8; - - piStack44 = NULL; - fStack16 = *pfParm1 * DAT_8003ab94; - fStack12 = pfParm1[1] * DAT_8003ab94; - fStack8 = pfParm1[2] * DAT_8003ab94; - if (DAT_8004d01c < fStack12) { - fStack12 = DAT_8004d01c; - } - uVar7 = 0; - fVar8 = DAT_8004d024; - if (DAT_8004d024 <= fStack12) { - fVar8 = fStack12; - } - lVar4 = (longlong)_DAT_8006992c; - sStack24 = (short)(int)fStack8; - sStack26 = (short)(int)fVar8; - sStack28 = (short)(int)fStack16; - fVar9 = DAT_8004d020; - if (0 < lVar4) { - ppiStack88 = (int **)&DAT_80069078; - fVar9 = DAT_8004d020; - fStack12 = fVar8; - do { - piVar6 = *ppiStack88; - iVar5 = (int)uVar7 * 0xc; - if (((((piVar6 != NULL) && (*(short *)(&DAT_800692a8 + iVar5) <= sStack28)) && - (sStack28 <= *(short *)(&DAT_800692ae + iVar5))) && - ((*(short *)(&DAT_800692ac + iVar5) <= sStack24 && - (sStack24 <= *(short *)(&DAT_800692b2 + iVar5))))) && - (*(short *)(&DAT_800692aa + iVar5) <= sStack26)) { - if (pbParm2 == NULL) { - iVar5 = *piVar6; -LAB_7f0ae6dc: - if (iVar5 != 0) { - bVar1 = *(byte *)((int)piVar6 + 3); - while (uVar7 == (ulonglong)bVar1) { - iVar5 = 0; - do { - fVar8 = (float)loc_7F0AFFC0(piVar6,iVar5,fStack16,fStack8); - iVar5 += 1; - if (fVar8 < -2.00000000) { - iVar5 = (int)*(short *)((int)piVar6 + 6); - goto LAB_7f0ae7c8; - } - if (fVar8 < 2.00000000) { - iStack64 = 1; - } - } while (iVar5 != 3); - lVar4 = sub_7F0AF760(piVar6); - if (lVar4 == 0) { - if (iStack64 == 0) { -code_r0x7f0ae78c: - fVar8 = (float)FUN_7f0b1c30(piVar6,*pfParm1,pfParm1[2]); - if (pfParm1[1] < fVar8) { - iVar5 = (int)*(short *)((int)piVar6 + 6); - } - else { - piVar2 = piVar6; - if (fVar9 < fVar8) goto LAB_7f0ae7c4; - iVar5 = (int)*(short *)((int)piVar6 + 6); - } - } - else { - sub_7F0AF924(piVar6,auStack76); - apiStack40[0] = piVar6; - lVar4 = sub_7F0B0BE4(apiStack40,auStack76[0],uStack68,*pfParm1,pfParm1[2]); - fVar8 = fVar9; - piVar2 = piStack44; - if ((lVar4 != 0) && (fVar8 = fVar9, piVar2 = piStack44, apiStack40[0] == piVar6)) - goto code_r0x7f0ae78c; -LAB_7f0ae7c4: - piStack44 = piVar2; - iVar5 = (int)*(short *)((int)piVar6 + 6); - fVar9 = fVar8; - } - } - else { - iVar5 = (int)*(short *)((int)piVar6 + 6); - } -LAB_7f0ae7c8: - piVar6 = (int *)((uint)(byte)s___08_HPX_8003ab9c[iVar5 >> 0xc & 0xf] + (int)piVar6); - if (*piVar6 == 0) break; - bVar1 = *(byte *)((int)piVar6 + 3); - } - } - lVar4 = (longlong)_DAT_8006992c; - } - else { - iVar5 = 0; - if (*pbParm2 != 0xff) { - bVar1 = *pbParm2; - pbVar3 = pbParm2; - do { - if (uVar7 == (ulonglong)bVar1) { - iVar5 = *piVar6; - goto LAB_7f0ae6dc; - } - bVar1 = pbVar3[1]; - iVar5 += 1; - pbVar3 = pbVar3 + 1; - } while ((bVar1 != 0xff) && (iVar5 != 4)); - } - } - } - uVar7 = SEXT48((int)uVar7 + 1); - ppiStack88 = ppiStack88 + 1; - } while ((longlong)uVar7 < lVar4); - } - if ((piStack44 != NULL) && (pfParm3 != NULL)) { - *pfParm3 = fVar9; - } - return piStack44; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ae878(int iParm1) - -{ - longlong lVar1; - - DAT_8003ac00 = 1; - DAT_8003aba8 = *(int *)(iParm1 + 4) + -0x80; - _DAT_80069070 = iParm1; - lVar1 = loc_7000A740(1,s__stanlinelog_8004d00c); - if (lVar1 != 0) { - DAT_8003ac04 = 1; - } - FUN_7f0ae2f8(); - FUN_7f0b1c10(0x3f800000); - return; -} - - - -void FUN_7f0ae8f0(void) - -{ - return; -} - - - -int loc_7F0AF728(ushort *puParm1,uint uParm2,ushort **ppuParm3) - -{ - ushort *puVar1; - bool bVar2; - longlong lVar3; - ushort *puVar4; - ushort *puVar5; - uint uVar6; - int iVar7; - int iVar8; - ushort **ppuVar9; - int iVar10; - - iVar10 = 0; - *ppuParm3 = puParm1; - iVar8 = 1; - ppuVar9 = ppuParm3 + 1; - puVar1 = *ppuParm3; - while( true ) { - iVar8 += -1; - ppuVar9 = ppuVar9 + -1; - iVar7 = 0; - if ((uParm2 & 0xff) != (int)(uint)*puVar1 >> 0xf) { - *puVar1 = *puVar1 ^ 0x8000; - lVar3 = sub_7F0AF760(puVar1); - if (lVar3 == 0) { - iVar10 += 1; - } - uVar6 = (int)(short)puVar1[3] >> 0xc & 0xf; - puVar5 = puVar1; - if (uVar6 != 0) { - do { - iVar7 += 1; - if ((int)(uint)puVar5[7] >> 4 == 0) { - bVar2 = iVar7 < (int)uVar6; - } - else { - puVar4 = (ushort *)((uint)puVar5[7] * 8 + DAT_8003aba8); - if ((uParm2 & 0xff) == (int)(uint)*puVar4 >> 0xf) { - bVar2 = iVar7 < (int)uVar6; - } - else { - *ppuVar9 = puVar4; - iVar8 += 1; - ppuVar9 = ppuVar9 + 1; - uVar6 = (int)(short)puVar1[3] >> 0xc & 0xf; - bVar2 = iVar7 < (int)uVar6; - } - } - puVar5 = puVar5 + 4; - } while (bVar2); - } - } - if (iVar8 == 0) break; - puVar1 = ppuVar9[-1]; - } - return iVar10; -} - - - -ulonglong sub_7F0AF760(int iParm1) - -{ - short sVar1; - int iVar2; - int iVar3; - - sVar1 = *(short *)(iParm1 + 6); - iVar3 = iParm1 + ((int)sVar1 >> 8 & 0xfU) * 8; - iVar2 = iParm1 + ((int)sVar1 >> 4 & 0xfU) * 8; - iParm1 += ((int)sVar1 & 0xfU) * 8; - return (ulonglong) - (((int)*(short *)(iVar2 + 0xc) - (int)*(short *)(iVar3 + 0xc)) * - ((int)*(short *)(iParm1 + 8) - (int)*(short *)(iVar3 + 8)) - - ((int)*(short *)(iParm1 + 0xc) - (int)*(short *)(iVar3 + 0xc)) * - ((int)*(short *)(iVar2 + 8) - (int)*(short *)(iVar3 + 8)) == 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f0aeac8(undefined4 uParm1,float fParm2,undefined8 uParm3,undefined8 uParm4, - undefined4 uParm5,undefined4 uParm6) - -{ - longlong lVar1; - int iVar2; - int *piVar3; - float fVar4; - int *apiStack8 [2]; - - piVar3 = *(int **)(_DAT_80069070 + 4); - if (*piVar3 != 0) { - do { - apiStack8[0] = piVar3; - lVar1 = sub_7F0AF760(piVar3); - if (lVar1 == 0) { - lVar1 = FUN_7f0af62c(piVar3,uParm1,uParm5); - if (lVar1 == 0) { - iVar2 = (int)*(short *)((int)piVar3 + 6); - } - else { - lVar1 = sub_7F0B20D0(apiStack8,uParm1,uParm5,uParm6); - if (lVar1 == 0) { - iVar2 = (int)*(short *)((int)piVar3 + 6); - } - else { - if (piVar3 == apiStack8[0]) { - fVar4 = (float)FUN_7f0b1c30(piVar3,uParm1,uParm5); - if (fVar4 < fParm2) { - return piVar3; - } - iVar2 = (int)*(short *)((int)piVar3 + 6); - } - else { - iVar2 = (int)*(short *)((int)piVar3 + 6); - } - } - } - } - else { - iVar2 = (int)*(short *)((int)piVar3 + 6); - } - piVar3 = (int *)((uint)(byte)s___08_HPX_8003ab9c[iVar2 >> 0xc & 0xf] + (int)piVar3); - } while (*piVar3 != 0); - } - return (int *)0; -} - - - -void sub_7F0AF924(int iParm1,float *pfParm2) - -{ - short sVar1; - int iVar2; - int iVar3; - - sVar1 = *(short *)(iParm1 + 6); - iVar3 = iParm1 + ((int)sVar1 >> 4 & 0xfU) * 8; - iVar2 = iParm1 + ((int)sVar1 >> 8 & 0xfU) * 8; - iParm1 += ((int)sVar1 & 0xfU) * 8; - *pfParm2 = (((float)(int)*(short *)(iParm1 + 8) + - (float)(int)*(short *)(iVar2 + 8) + (float)(int)*(short *)(iVar3 + 8)) / 3.00000000) * - DAT_8003ab98; - pfParm2[1] = (((float)(int)*(short *)(iParm1 + 10) + - (float)(int)*(short *)(iVar2 + 10) + (float)(int)*(short *)(iVar3 + 10)) / - 3.00000000) * DAT_8003ab98; - pfParm2[2] = (((float)(int)*(short *)(iParm1 + 0xc) + - (float)(int)*(short *)(iVar2 + 0xc) + (float)(int)*(short *)(iVar3 + 0xc)) / - 3.00000000) * DAT_8003ab98; - return; -} - - - -void sub_7F0AFA1C(int iParm1,undefined8 uParm2,float *pfParm3) - -{ - float fVar1; - float fVar2; - int iVar3; - float fStack12; - float fStack8; - float fStack4; - - iVar3 = iParm1 + ((int)*(short *)(iParm1 + 6) >> ((int)uParm2 * -4 + 8U & 0x1f) & 0xfU) * 8; - *pfParm3 = (float)(int)*(short *)(iVar3 + 8) * DAT_8003ab98; - pfParm3[1] = (float)(int)*(short *)(iVar3 + 10) * DAT_8003ab98; - pfParm3[2] = (float)(int)*(short *)(iVar3 + 0xc) * DAT_8003ab98; - sub_7F0AF924(iParm1,&fStack12); - fVar2 = DAT_8004d02c; - fVar1 = DAT_8004d028; - *pfParm3 = fStack12 * DAT_8004d028 + DAT_8004d02c * *pfParm3; - pfParm3[1] = fStack8 * fVar1 + fVar2 * pfParm3[1]; - pfParm3[2] = fStack4 * fVar1 + fVar2 * pfParm3[2]; - return; -} - - - -float sub_7F0AFB1C(float *pfParm1,float *pfParm2) - -{ - return (pfParm2[2] - pfParm1[2]) * (pfParm2[2] - pfParm1[2]) + - (*pfParm2 - *pfParm1) * (*pfParm2 - *pfParm1) + - (pfParm2[1] - pfParm1[1]) * (pfParm2[1] - pfParm1[1]); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * loc_7F0AFCE0(undefined4 *puParm1,undefined4 *puParm2,undefined4 *puParm3,undefined4 uParm4) - -{ - ushort uVar1; - longlong lVar2; - int iVar3; - int *piVar4; - float fVar5; - float fVar6; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - int *piStack16; - int *apiStack12 [3]; - - piStack16 = NULL; - uStack36 = *puParm1; - uStack32 = *puParm2; - uStack28 = *puParm3; - fVar6 = 4294967296.00000000; - piVar4 = *(int **)(_DAT_80069070 + 4); - if (*piVar4 != 0) { - uVar1 = *(ushort *)piVar4; - while( true ) { - if ((int)(uint)uVar1 >> 0xf == 1) { - uVar1 = *(ushort *)((int)piVar4 + 6); - } - else { - lVar2 = sub_7F0AF760(piVar4); - iVar3 = 0; - if (lVar2 == 0) { - do { - if (iVar3 == 3) { - sub_7F0AF924(piVar4,&uStack48); - } - else { - sub_7F0AFA1C(piVar4,iVar3,&uStack48); - } - apiStack12[0] = piVar4; - lVar2 = sub_7F0B20D0(apiStack12,uStack48,uStack40,uParm4); - if ((lVar2 < 0) && (fVar5 = (float)sub_7F0AFB1C(&uStack48,&uStack36), fVar5 < fVar6)) { - *puParm1 = uStack48; - *puParm2 = uStack44; - *puParm3 = uStack40; - fVar6 = fVar5; - piStack16 = piVar4; - } - iVar3 += 1; - } while (iVar3 != 4); - } - uVar1 = *(ushort *)((int)piVar4 + 6); - } - piVar4 = (int *)((uint)(byte)s___08_HPX_8003ab9c[(int)(short)uVar1 >> 0xc & 0xf] + (int)piVar4 - ); - if (*piVar4 == 0) break; - uVar1 = *(ushort *)piVar4; - } - } - return piStack16; -} - - - -float loc_7F0AFE64(int iParm1,int iParm2,float fParm3,float fParm4) - -{ - int iVar1; - uint uVar2; - float fVar3; - float fVar4; - float fVar5; - - uVar2 = (int)*(short *)(iParm1 + 6) >> 0xc & 0xf; - iVar1 = iParm1 + ((iParm2 + 1) % uVar2) * 8; - iParm1 += iParm2 * 8; - fVar4 = (float)((int)*(short *)(iVar1 + 8) - (int)*(short *)(iParm1 + 8)); - if (uVar2 == 0) { - trap(0x1c00); - } - if ((uVar2 == 0xffffffff) && (iParm2 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar5 = (float)((int)*(short *)(iVar1 + 0xc) - (int)*(short *)(iParm1 + 0xc)); - fVar3 = (float)sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (fVar3 == 0.00000000) { - fParm3 = fParm3 - (float)(int)*(short *)(iVar1 + 8); - fParm4 = fParm4 - (float)(int)*(short *)(iVar1 + 0xc); - fVar3 = (float)sqrtf(fParm3 * fParm3 + fParm4 * fParm4); - } - else { - fVar3 = ((fParm4 - (float)(int)*(short *)(iParm1 + 0xc)) * -fVar4 + - fVar5 * (fParm3 - (float)(int)*(short *)(iParm1 + 8))) / fVar3; - } - return fVar3; -} - - - -float loc_7F0AFFC0(int iParm1,longlong lParm2,float fParm3,float fParm4) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - if (lParm2 == 2) { - iVar1 = 0; - } - else { - iVar1 = (int)lParm2 + 1; - } - iVar2 = iParm1 + ((int)*(short *)(iParm1 + 6) >> ((int)lParm2 * -4 + 8U & 0x1f) & 0xfU) * 8; - iParm1 += ((int)*(short *)(iParm1 + 6) >> (iVar1 * -4 + 8U & 0x1f) & 0xfU) * 8; - fVar4 = (float)((int)*(short *)(iParm1 + 8) - (int)*(short *)(iVar2 + 8)); - fVar5 = (float)((int)*(short *)(iParm1 + 0xc) - (int)*(short *)(iVar2 + 0xc)); - fVar3 = (float)sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (fVar3 == 0.00000000) { - fParm3 = fParm3 - (float)(int)*(short *)(iParm1 + 8); - fParm4 = fParm4 - (float)(int)*(short *)(iParm1 + 0xc); - fVar3 = (float)sqrtf(fParm3 * fParm3 + fParm4 * fParm4); - } - else { - fVar3 = ((fParm4 - (float)(int)*(short *)(iVar2 + 0xc)) * -fVar4 + - fVar5 * (fParm3 - (float)(int)*(short *)(iVar2 + 8))) / fVar3; - } - return fVar3; -} - - - -float FUN_7f0af2d8(undefined8 uParm1,undefined8 uParm2,float fParm3,float fParm4) - -{ - float fVar1; - - fVar1 = (float)loc_7F0AFFC0(uParm1,uParm2,fParm3 * DAT_8003ab94,fParm4 * DAT_8003ab94); - return fVar1 * DAT_8003ab98; -} - - - -void sub_7F0B0064(int iParm1,int iParm2,float fParm3,float fParm4) - -{ - iParm1 += iParm2 * 8; - fParm4 = fParm4 - (float)(int)*(short *)(iParm1 + 0xc); - fParm3 = fParm3 - (float)(int)*(short *)(iParm1 + 8); - sqrtf(fParm3 * fParm3 + fParm4 * fParm4); - return; -} - - - -float sub_7F0B00C4(int iParm1,int iParm2,float fParm3,float fParm4) - -{ - float fVar1; - float fVar2; - - iParm1 += iParm2 * 8; - fVar1 = fParm3 * DAT_8003ab94 - (float)(int)*(short *)(iParm1 + 8); - fVar2 = fParm4 * DAT_8003ab94 - (float)(int)*(short *)(iParm1 + 0xc); - fVar1 = (float)sqrtf(fVar1 * fVar1 + fVar2 * fVar2); - return fVar1 * DAT_8003ab98; -} - - - -ulonglong locret_7F0B02D0(int iParm1,int iParm2,float fParm3,float fParm4) - -{ - int iVar2; - ulonglong uVar1; - uint uVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - uVar3 = (int)*(short *)(iParm1 + 6) >> 0xc & 0xf; - iVar2 = iParm1 + iParm2 * 8; - iParm1 += ((iParm2 + 1) % uVar3) * 8; - fVar4 = (float)(int)*(short *)(iVar2 + 8); - fVar5 = (float)(int)*(short *)(iVar2 + 0xc); - if (uVar3 == 0) { - trap(0x1c00); - } - if ((uVar3 == 0xffffffff) && (iParm2 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar7 = (float)(int)*(short *)(iParm1 + 8) - fVar4; - fVar8 = (float)(int)*(short *)(iParm1 + 0xc) - fVar5; - fVar6 = fVar7 * fVar7 + fVar8 * fVar8; - fVar4 = (fParm3 - fVar4) * fVar7 + (fParm4 - fVar5) * fVar8; - if ((((fVar4 <= fVar6) || (uVar1 = (ulonglong)(fVar4 < 0.00000000), fVar4 >= 0.00000000)) && - (uVar1 = (ulonglong)(0.00000000 < fVar4), 0.00000000 < fVar4)) && (uVar1 = 0, fVar4 < fVar6)) - { - uVar1 = 1; - } - return uVar1; -} - - - -undefined8 FUN_7f0af598(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - int iVar1; - float fVar2; - - iVar1 = 0; - do { - fVar2 = (float)loc_7F0AFFC0(uParm1,iVar1,uParm2,uParm3); - iVar1 += 1; - if (fVar2 < 0.00000000) { - return 0; - } - } while (iVar1 != 3); - return 1; -} - - - -undefined8 FUN_7f0af62c(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - int iVar1; - float fVar2; - - iVar1 = 0; - do { - fVar2 = (float)FUN_7f0af2d8(uParm1,iVar1,uParm2,uParm3); - iVar1 += 1; - if (fVar2 < 0.00000000) { - return 0; - } - } while (iVar1 != 3); - return 1; -} - - - -float locret_7F0B0510(int iParm1,longlong lParm2,float fParm3,float fParm4) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - if (lParm2 == 2) { - iVar1 = 0; - } - else { - iVar1 = (int)lParm2 + 1; - } - iVar2 = iParm1 + ((int)*(short *)(iParm1 + 6) >> ((int)lParm2 * -4 + 8U & 0x1f) & 0xfU) * 8; - iParm1 += ((int)*(short *)(iParm1 + 6) >> (iVar1 * -4 + 8U & 0x1f) & 0xfU) * 8; - fVar4 = (float)((int)*(short *)(iParm1 + 8) - (int)*(short *)(iVar2 + 8)); - fVar5 = (float)((int)*(short *)(iParm1 + 0xc) - (int)*(short *)(iVar2 + 0xc)); - fVar3 = (float)sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (fVar3 == 0.00000000) { - fVar3 = 0.00000000; - } - else { - fVar3 = ((fParm4 - (float)(int)*(short *)(iVar2 + 0xc)) * -fVar4 + - fVar5 * (fParm3 - (float)(int)*(short *)(iVar2 + 8))) / fVar3; - } - return fVar3; -} - - - -undefined8 FUN_7f0af7d8(undefined8 uParm1,float fParm2,float fParm3) - -{ - int iVar1; - float fVar2; - - fParm2 = fParm2 * DAT_8003ab94; - fParm3 = fParm3 * DAT_8003ab94; - iVar1 = 0; - do { - fVar2 = (float)locret_7F0B0510(uParm1,iVar1,fParm2,fParm3); - iVar1 += 1; - if (fVar2 < -2.00000000) { - return 0; - } - } while (iVar1 != 3); - return 1; -} - - - -undefined8 -locret_7F0B0680(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6) - -{ - if (fParm2 * fParm5 < fParm1 * fParm6) { - return 1; - } - if (fParm1 * fParm6 < fParm2 * fParm5) { - return 0xffffffffffffffff; - } - if ((0.00000000 <= fParm1 * fParm5) && (0.00000000 <= fParm2 * fParm6)) { - if (fParm1 * fParm1 + fParm2 * fParm2 < fParm5 * fParm5 + fParm6 * fParm6) { - return 1; - } - return 0; - } - return 0xffffffffffffffff; -} - - - -ulonglong loc_7F0B07AC(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6,float fParm7,float fParm8,float fParm9,float fParm10) - -{ - bool bVar1; - int iVar2; - int iVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - - iVar2 = locret_7F0B0680(uParm3,uParm4,-(fParm1 - fParm7),-(fParm2 - fParm8)); - iVar3 = locret_7F0B0680(fParm5 - fParm1,fParm6 - fParm2,extraout_a0,extraout_a1,fParm9 - fParm1, - fParm10 - fParm2); - bVar1 = iVar3 * iVar2 < 1; - if (bVar1) { - iVar2 = locret_7F0B0680(extraout_a0_00,extraout_a1_00,fParm1 - fParm7,fParm2 - fParm8); - iVar3 = locret_7F0B0680(fParm9 - fParm7,fParm10 - fParm8,extraout_a0_01,extraout_a1_01, - fParm5 - fParm7,fParm6 - fParm8); - bVar1 = iVar3 * iVar2 < 1; - } - return (ulonglong)bVar1; -} - - - -uint FUN_7f0afa7c(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6,float fParm7,float fParm8,float fParm9,float fParm10,int iParm11) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - uint uStack36; - - iVar1 = locret_7F0B0680(uParm3,uParm4,-(fParm1 - fParm7),-(fParm2 - fParm8)); - iVar2 = locret_7F0B0680(fParm5 - fParm1,fParm6 - fParm2); - iVar3 = locret_7F0B0680(); - iVar4 = locret_7F0B0680(fParm9 - fParm7,fParm10 - fParm8); - uStack36 = (uint)(iVar2 * iVar1 < iParm11); - if (iParm11 <= iVar4 * iVar3) { - uStack36 = 0; - } - return uStack36; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -FUN_7f0afbd4(int *piParm1,float fParm2,float fParm3,float fParm4,float fParm5,code *pcParm6, - undefined4 uParm7) - -{ - short sVar1; - bool bVar2; - int iVar4; - longlong lVar3; - uint uVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - int iStack44; - int iStack32; - - fParm2 = fParm2 * DAT_8003ab94; - fParm3 = fParm3 * DAT_8003ab94; - fParm4 = fParm4 * DAT_8003ab94; - fParm5 = fParm5 * DAT_8003ab94; - iVar10 = *piParm1; - iVar11 = 0; - iStack44 = 0; - iVar9 = iVar10; - iVar13 = iVar10; - do { - iVar12 = iVar9; - iVar9 = iVar10; - iVar10 = 0; - if (pcParm6 == NULL) { - sVar1 = *(short *)(iVar9 + 6); - } - else { - (*pcParm6)(iVar9,iVar12,uParm7); - sVar1 = *(short *)(iVar9 + 6); - } - uVar5 = (int)sVar1 >> 0xc & 0xf; - iVar6 = iVar9; - iVar7 = 0; - if (uVar5 != 0) { - do { - iVar8 = iVar7 + 1; - iVar4 = iVar9 + (iVar8 % uVar5) * 8; - sVar1 = *(short *)(iVar4 + 0xc); - iVar4 = (int)*(short *)(iVar4 + 8); - if (uVar5 == 0) { - trap(0x1c00); - } - if ((uVar5 == 0xffffffff) && (iVar8 == -0x80000000)) { - trap(0x1800); - } - if ((float)((int)sVar1 - (int)*(short *)(iVar6 + 0xc)) * (fParm4 - fParm2) + - -(fParm5 - fParm3) * (float)(iVar4 - (int)*(short *)(iVar6 + 8)) <= 0.00000000) { - lVar3 = FUN_7f0afa7c(fParm2,fParm3,uVar5,sVar1,fParm4,fParm5, - (float)(int)*(short *)(iVar6 + 8),(float)(int)*(short *)(iVar6 + 0xc) - ,(float)iVar4,(float)(int)sVar1, - (uint)((int)(uint)*(ushort *)(iVar6 + 0xe) >> 4 != 0)); - if (lVar3 != 0) { - iVar10 += 1; - iVar4 = (uint)*(ushort *)(iVar6 + 0xe) * 8 + DAT_8003aba8; - if (((iVar12 != iVar4) && (iVar13 != iVar4)) && - (iVar11 = iVar4, iStack32 = iVar7, (int)(uint)*(ushort *)(iVar6 + 0xe) >> 4 == 0)) { - iVar11 = 0; - iStack32 = iVar7; - } - goto LAB_7f0afdcc; - } - sVar1 = *(short *)(iVar9 + 6); - } - else { -LAB_7f0afdcc: - sVar1 = *(short *)(iVar9 + 6); - } - iVar6 += 8; - uVar5 = (int)sVar1 >> 0xc & 0xf; - iVar7 = iVar8; - } while (iVar8 < (int)uVar5); - } - if (iVar9 == iVar11) { - iVar10 = 0; - } - if (iVar10 == 0) { - return 1; - } - bVar2 = 500 < iStack44; - iStack44 += 1; - if (((bVar2) || (iVar11 == 0)) || (iVar10 == 0)) { - _DAT_80069934 = iVar9; - _DAT_80069938 = iStack32; - return 0; - } - *piParm1 = iVar11; - iVar10 = iVar11; - iVar13 = iVar12; - } while( true ); -} - - - -void sub_7F0B0BE4(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - FUN_7f0afbd4(uParm1,uParm2,uParm3,uParm4,uParm5,0,0); - return; -} - - - -void sub_7F0B0C24(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 *puParm7,undefined4 uParm8) - -{ - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack12 = 0; - uStack4 = 0xffffffff; - uStack16 = uParm6; - uStack8 = uParm8; - FUN_7f0afbd4(uParm1,uParm2,uParm3,uParm4,uParm5,locret_7F0B0CE4,&uStack16); - *puParm7 = uStack12; - return; -} - - - -void locret_7F0B0CE4(int iParm1,undefined8 uParm2,uint **ppuParm3) - -{ - byte bVar1; - - bVar1 = *(byte *)(iParm1 + 3); - if (((longlong)(int)ppuParm3[3] != (ulonglong)bVar1) && ((int)ppuParm3[1] < (int)ppuParm3[2])) { - *(uint **)*ppuParm3 = (uint *)(uint)bVar1; - ppuParm3[3] = (uint *)(uint)bVar1; - *ppuParm3 = *ppuParm3 + 1; - ppuParm3[1] = (uint *)((int)ppuParm3[1] + 1); - } - return; -} - - - -void FUN_7f0affac(void) - -{ - locret_7F0B0CE4(); - return; -} - - - -int loc_7F0B0E10(int iParm1,undefined4 uParm2,undefined4 uParm3,int *piParm4,undefined4 uParm5, - undefined4 uParm6,uint *puParm7,int iParm8) - -{ - byte bVar1; - longlong lVar2; - int iVar3; - ulonglong uVar4; - int iStack8; - int iStack4; - - iStack8 = 0; - iStack4 = iParm1; - if (*piParm4 != 0) { - bVar1 = *(byte *)(iParm1 + 3); - uVar4 = (ulonglong)*(byte *)(*piParm4 + 3); - if ((ulonglong)bVar1 == uVar4) { - *puParm7 = (uint)bVar1; - return 1; - } - iStack4 = iParm1; - lVar2 = FUN_7f0b826c((ulonglong)bVar1,uVar4); - if (lVar2 != 0) { - *puParm7 = (uint)*(byte *)(iParm1 + 3); - puParm7[1] = (uint)*(byte *)(*piParm4 + 3); - return 2; - } - } - lVar2 = sub_7F0B0C24(&iStack4,uParm2,uParm3,uParm5,uParm6,puParm7,&iStack8,iParm8); - if (lVar2 == 0) { - iStack8 = 0; - } - else { - if (iParm8 < iStack8) { - iStack8 = iParm8; - iVar3 = *piParm4; - } - else { - iVar3 = *piParm4; - } - if (iVar3 == 0) { - *piParm4 = iStack4; - iVar3 = iStack4; - } - if (iStack4 != iVar3) { - iStack8 = 0; - } - } - return iStack8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 -loc_7F0B13B4(int *piParm1,float fParm2,float fParm3,float fParm4,float fParm5,int iParm6, - float fParm7,float fParm8,float fParm9,float fParm10) - -{ - int iVar1; - bool bVar2; - bool bVar3; - longlong lVar4; - float *pfVar5; - undefined4 *puVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - uint uVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fStack192; - float afStack188 [3]; - int iStack176; - int iStack172; - short *psStack168; - float fStack160; - float fStack156; - uint uStack148; - undefined4 auStack144 [21]; - int aiStack60 [2]; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - int iStack12; - undefined4 uStack8; - - fVar15 = 1.00000000; - aiStack60[0] = 0; - uStack148 = (uint)(fParm8 <= fParm7); - iStack12 = *piParm1; - bVar2 = false; - fStack24 = fParm5; - fStack28 = fParm4; - fStack20 = fParm2; - fStack16 = fParm3; - lVar4 = sub_7F0B0C24(&iStack12,fParm2,fParm3,fParm4,fParm5,auStack144,aiStack60,0x14); - uStack8 = (undefined4)lVar4; - if (0x14 < aiStack60[0]) { - aiStack60[0] = 0x14; - } - if (lVar4 == 0) { - uVar11 = (int)*(short *)(_DAT_80069934 + 6) >> 0xc & 0xf; - iVar7 = _DAT_80069934 + _DAT_80069938 * 8; - if (uVar11 == 0) { - trap(0x1c00); - } - if ((uVar11 == 0xffffffff) && (_DAT_80069938 + 1 == -0x80000000)) { - trap(0x1800); - } - DAT_8003ac08 = 1; - iVar8 = _DAT_80069934 + ((_DAT_80069938 + 1) % uVar11) * 8; - _DAT_80069940 = (float)(int)*(short *)(iVar7 + 8) * DAT_8003ab98; - _DAT_80069944 = (float)(int)*(short *)(iVar7 + 0xc) * DAT_8003ab98; - _DAT_80069948 = (float)(int)*(short *)(iVar8 + 8) * DAT_8003ab98; - _DAT_8006994c = (float)(int)*(short *)(iVar8 + 0xc) * DAT_8003ab98; - fVar15 = (float)sub_GAME_7F0B33DC(&fStack20,&fStack28,&DAT_80069940); - } - _DAT_80069954 = 0; - if (iParm6 != 0) { - auStack144[aiStack60[0]] = 0xffffffff; - FUN_7f03e4bc(auStack144); - lVar4 = (longlong)*_DAT_80058b70; - if (-1 < lVar4) { - psStack168 = _DAT_80058b70; - do { - iVar7 = (int)lVar4 * 0x34 + -0x7ffa7488; - lVar4 = loc_7F03DB60(iVar7,iParm6); - if (((lVar4 != 0) && - (loc_7F03CCA4(iVar7,&iStack172,&iStack176,afStack188,&fStack192), 0 < iStack176)) && - (0 < iStack176)) { - iVar9 = 0; - iVar8 = 0; - do { - iVar10 = iVar8 + 1; - iVar1 = iVar10 % iStack176; - puVar6 = (undefined4 *)(iStack172 + iVar1 * 8); - if (iStack176 == 0) { - trap(0x1c00); - } - if ((iStack176 == -1) && (iVar10 == -0x80000000)) { - trap(0x1800); - } - lVar4 = loc_7F0B07AC(fParm2,fParm3,puVar6,iVar8,fParm4,fParm5, - *(undefined4 *)(iStack172 + iVar9), - ((undefined4 *)(iStack172 + iVar9))[1],*puVar6,puVar6[1]); - if (lVar4 != 0) { - fStack44 = *(float *)(iStack172 + iVar9); - pfVar5 = (float *)(iStack172 + iVar1 * 8); - fStack40 = ((float *)(iStack172 + iVar9))[1]; - fStack52 = *pfVar5; - fStack48 = pfVar5[1]; - fVar12 = (float)sub_GAME_7F0B33DC(&fStack20,&fStack28,&fStack44,&fStack52); - if (fVar12 < fVar15) { - bVar3 = true; - if (uStack148 != 0) { - if (!bVar2) { - bVar2 = true; - if (fParm10 <= fParm9) { - fStack156 = fParm9 - fParm7; - fStack160 = fParm10 - fParm8; - } - else { - if (fVar15 < 1.00000000) { - fParm4 = fParm2 + (fParm4 - fParm2) * fVar15; - fParm5 = fParm3 + (fParm5 - fParm3) * fVar15; - } - fVar13 = (float)FUN_7f0b1c30(*piParm1,fParm2,fParm3); - fParm7 = fParm7 + fVar13; - fParm8 = fParm8 + fVar13; - fVar14 = (float)FUN_7f0b1c30(iStack12,fParm4,fParm5); - fStack160 = (fVar14 - fVar13) / fVar15; - fStack156 = fStack160; - } - } - if (fStack160 * fVar12 + fParm8 < afStack188[0]) { - if (fStack156 * fVar12 + fParm7 <= fStack192) { - bVar3 = false; - } - } - else { - bVar3 = false; - } - } - if (bVar3) { - uStack8 = 0; - DAT_8003ac08 = 1; - _DAT_80069940 = fStack44; - _DAT_80069944 = fStack40; - _DAT_80069948 = fStack52; - _DAT_8006994c = fStack48; - _DAT_80069934 = 0; - _DAT_80069938 = 0; - iStack12 = 0; - fVar15 = fVar12; - _DAT_80069954 = iVar7; - } - } - } - iVar9 += 8; - iVar8 = iVar10; - } while (iVar10 < iStack176); - } - lVar4 = (longlong)psStack168[1]; - psStack168 = psStack168 + 1; - } while (-1 < lVar4); - } - } - if (iStack12 == 0) { - iStack12 = *piParm1; - sub_7F0B0BE4(&iStack12,fParm2,fParm3,fParm2 + (fParm4 - fParm2) * fVar15, - fParm3 + (fParm5 - fParm3) * fVar15); - } - *piParm1 = iStack12; - _DAT_80069950 = fVar15; - return uStack8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F0B1680(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,int iParm6) - -{ - short sVar1; - int iVar2; - longlong lVar3; - undefined4 *puVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - float fVar11; - float fVar12; - int iStack156; - int iStack152; - short *psStack148; - undefined4 auStack144 [21]; - int iStack60; - undefined4 auStack56 [2]; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - - fVar12 = 1.00000000; - iVar10 = 0; - iStack60 = 0; - auStack56[0] = uParm1; - sub_7F0B0C24(auStack56,uParm2,uParm3,uParm4,uParm5,auStack144,&iStack60,0x14); - if (0x14 < iStack60) { - iStack60 = 0x14; - } - uStack20 = uParm5; - if (iParm6 != 0) { - auStack144[iStack60] = 0xffffffff; - uStack24 = uParm4; - uStack16 = uParm2; - uStack12 = uParm3; - FUN_7f03e4bc(auStack144); - sVar1 = *_DAT_80058b70; - lVar3 = (longlong)sVar1; - if (-1 < lVar3) { - psStack148 = _DAT_80058b70; - do { - iVar8 = ((int)sVar1 * 0x10 + (int)lVar3 * -4 + (int)lVar3) * 4 + -0x7ffa7488; - lVar3 = loc_7F03DB60(iVar8,iParm6); - if (((lVar3 != 0) && (FUN_7f03cd70(iVar8,&iStack152,&iStack156), 0 < iStack156)) && - (0 < iStack156)) { - iVar6 = 0; - iVar9 = iVar10; - iVar5 = 0; - do { - iVar7 = iVar5 + 1; - iVar2 = iVar7 % iStack156; - puVar4 = (undefined4 *)(iStack152 + iVar2 * 8); - if (iStack156 == 0) { - trap(0x1c00); - } - if ((iStack156 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - lVar3 = loc_7F0B07AC(uParm2,uParm3,puVar4,iVar5,uParm4,uParm5, - *(undefined4 *)(iStack152 + iVar6), - ((undefined4 *)(iStack152 + iVar6))[1],*puVar4,puVar4[1]); - fVar11 = fVar12; - iVar10 = iVar9; - if (lVar3 != 0) { - uStack40 = *(undefined4 *)(iStack152 + iVar6); - puVar4 = (undefined4 *)(iStack152 + iVar2 * 8); - uStack36 = ((undefined4 *)(iStack152 + iVar6))[1]; - uStack48 = *puVar4; - uStack44 = puVar4[1]; - fVar11 = (float)sub_GAME_7F0B33DC(&uStack16,&uStack24,&uStack40,&uStack48); - iVar10 = iVar8; - if (fVar12 <= fVar11) { - fVar11 = fVar12; - iVar10 = iVar9; - } - } - fVar12 = fVar11; - iVar6 += 8; - iVar9 = iVar10; - iVar5 = iVar7; - } while (iVar7 < iStack156); - } - sVar1 = psStack148[1]; - lVar3 = (longlong)sVar1; - psStack148 = psStack148 + 1; - } while (-1 < lVar3); - } - } - return iVar10; -} - - - -float loc_7F0B1788(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6,float fParm7,float fParm8) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar2 = fParm5 - fParm1; - fVar3 = fParm6 - fParm2; - fVar1 = (float)sqrtf(fVar2 * fVar2 + fVar3 * fVar3); - if (fVar1 == 0.00000000) { - fVar1 = (float)sqrtf((fParm7 - fParm5) * (fParm7 - fParm5) + - (fParm8 - fParm6) * (fParm8 - fParm6)); - } - else { - fVar1 = (fVar3 * (fParm7 - fParm1) + -fVar2 * (fParm8 - fParm2)) / fVar1; - } - return fVar1; -} - - - -void sub_7F0B1794(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6) - -{ - sqrtf((fParm5 - fParm1) * (fParm5 - fParm1) + (fParm6 - fParm2) * (fParm6 - fParm2)); - return; -} - - - -ulonglong locret_7F0B18B0(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5 - ,float fParm6,float param_5,float param_6) - -{ - ulonglong uVar1; - float fVar2; - float fVar3; - - fParm5 = fParm5 - fParm1; - fParm6 = fParm6 - fParm2; - fVar3 = fParm5 * fParm5 + fParm6 * fParm6; - fVar2 = (param_5 - fParm1) * fParm5 + (param_6 - fParm2) * fParm6; - if ((((fVar2 <= fVar3) || (uVar1 = (ulonglong)(fVar2 < 0.00000000), fVar2 >= 0.00000000)) && - (uVar1 = (ulonglong)(0.00000000 < fVar2), 0.00000000 < fVar2)) && (uVar1 = 0, fVar2 < fVar3)) - { - uVar1 = 1; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong loc_7F0B1C80(undefined4 *puParm1,undefined4 uParm2,undefined4 uParm3,float fParm4, - int iParm5,float fParm6,float fParm7) - -{ - short sVar1; - int iVar2; - longlong lVar3; - undefined4 *puVar4; - int iVar5; - int iVar6; - int iVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fStack144; - float afStack140 [3]; - int iStack128; - int iStack124; - undefined4 auStack120 [21]; - int iStack36; - short *psStack32; - uint uStack24; - - uStack24 = (uint)(fParm7 <= fParm6); - iStack36 = 0; - lVar3 = locret_7F0B223C(puParm1,uParm2,uParm3,fParm4,auStack120,&iStack36,0x14); - if (lVar3 < 0) { - if (0x14 < iStack36) { - iStack36 = 0x14; - } - _DAT_80069954 = 0; - if (iParm5 == 0) { - lVar3 = -2; - } - else { - if (fParm7 <= fParm6) { - fVar11 = (float)FUN_7f0b1c30(*puParm1,uParm2,uParm3); - fParm6 = fParm6 + fVar11; - fParm7 = fParm7 + fVar11; - } - auStack120[iStack36] = 0xffffffff; - FUN_7f03e4bc(auStack120); - sVar1 = *_DAT_80058b70; - lVar3 = (longlong)sVar1; - if (-1 < lVar3) { - psStack32 = _DAT_80058b70; - do { - iVar7 = ((int)sVar1 * 0x10 + (int)lVar3 * -4 + (int)lVar3) * 4 + -0x7ffa7488; - lVar3 = loc_7F03DB60(iVar7,iParm5); - if (((lVar3 != 0) && - (loc_7F03CCA4(iVar7,&iStack124,&iStack128,afStack140,&fStack144), 0 < iStack128)) && - ((uStack24 == 0 || ((fStack144 <= fParm6 && (fParm7 <= afStack140[0])))))) { - fVar11 = -1.00000000; - iVar5 = 0; - do { - iVar2 = (iVar5 + 1) % iStack128; - iVar6 = iVar5 * 8; - puVar4 = (undefined4 *)(iStack124 + iVar2 * 8); - if (iStack128 == 0) { - trap(0x1c00); - } - if ((iStack128 == -1) && (iVar5 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar10 = (float)loc_7F0B1788(*(undefined4 *)(iStack124 + iVar6), - ((undefined4 *)(iStack124 + iVar6))[1],puVar4,iVar5, - *puVar4,puVar4[1],uParm2,uParm3); - if (fVar10 < 0.00000000) { - fVar10 = -fVar10; - } - if (fVar11 < fVar10) { - fVar8 = (float)sub_7F0B1794(*(undefined4 *)(iStack124 + iVar6), - ((undefined4 *)(iStack124 + iVar6))[1]); - puVar4 = (undefined4 *)(iStack124 + iVar2 * 8); - fVar9 = (float)sub_7F0B1794(*puVar4,puVar4[1]); - if ((fVar10 < fParm4) && - (((fVar8 < fParm4 || (fVar9 < fParm4)) || - (lVar3 = locret_7F0B18B0(*(undefined4 *)(iStack124 + iVar6), - ((undefined4 *)(iStack124 + iVar6))[1]), lVar3 != 0)))) - { - DAT_8003ac08 = 1; - _DAT_80069940 = *(undefined4 *)(iStack124 + iVar6); - puVar4 = (undefined4 *)(iStack124 + iVar2 * 8); - _DAT_80069944 = ((undefined4 *)(iStack124 + iVar6))[1]; - _DAT_80069948 = *puVar4; - _DAT_8006994c = puVar4[1]; - _DAT_80069934 = 0; - _DAT_80069938 = 0; - fVar11 = fVar10; - _DAT_80069954 = iVar7; - } - } - iVar5 = iVar2; - } while (iVar2 != 0); - if (-1.00000000 < fVar11) { - return 2; - } - } - sVar1 = psStack32[1]; - lVar3 = (longlong)sVar1; - psStack32 = psStack32 + 1; - } while (-1 < lVar3); - } - lVar3 = -2; - } - } - return lVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b0f84(void) - -{ - DAT_8003ac08 = 0; - _DAT_80069934 = 0; - _DAT_80069938 = 0; - return; -} - - - -void FUN_7f0b0fb8(int iParm1,int iParm2,float *pfParm3,float *pfParm4) - -{ - float fVar1; - int iVar2; - uint uVar3; - - fVar1 = DAT_8003ab98; - iVar2 = iParm1 + iParm2 * 8; - *pfParm3 = (float)(int)*(short *)(iVar2 + 8) * DAT_8003ab98; - pfParm3[1] = (float)(int)*(short *)(iVar2 + 10) * fVar1; - pfParm3[2] = (float)(int)*(short *)(iVar2 + 0xc) * fVar1; - uVar3 = (int)*(short *)(iParm1 + 6) >> 0xc & 0xf; - iParm1 += ((iParm2 + 1) % uVar3) * 8; - if (uVar3 == 0) { - trap(0x1c00); - } - if ((uVar3 == 0xffffffff) && (iParm2 + 1 == -0x80000000)) { - trap(0x1800); - } - *pfParm4 = (float)(int)*(short *)(iParm1 + 8) * fVar1; - pfParm4[1] = (float)(int)*(short *)(iParm1 + 10) * fVar1; - pfParm4[2] = (float)(int)*(short *)(iParm1 + 0xc) * fVar1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f0b1250) overlaps instruction at (ram,0x7f0b124c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -FUN_7f0b109c(int *piParm1,float fParm2,float fParm3,float fParm4,code *pcParm5,code *pcParm6, - code *pcParm7,undefined4 uParm8) - -{ - int iVar1; - longlong lVar2; - int *piVar3; - int iVar4; - uint uVar5; - int iVar6; - int *piVar7; - uint uVar8; - int iVar9; - float fVar10; - float fVar11; - float fVar12; - int iStack172; - int aiStack160 [40]; - - fParm2 = fParm2 * DAT_8003ab94; - fParm3 = fParm3 * DAT_8003ab94; - iStack172 = 0; - aiStack160[0] = *piParm1; - piVar7 = aiStack160; - fParm4 = fParm4 * DAT_8003ab94; - uVar8 = 1; - do { - iVar1 = *piVar7; - piVar7 = piVar7 + 1; - iStack172 += 1; - if (pcParm5 != NULL) { - (*pcParm5)(iVar1,uParm8); - } - uVar5 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - iVar4 = 0; - if (uVar5 != 0) { - do { - iVar9 = iVar4 + 1; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((uVar5 == 0xffffffff) && (iVar9 == -0x80000000)) { - trap(0x1800); - } - fVar10 = (float)loc_7F0AFE64(iVar1,iVar4,fParm2,fParm3); - fVar11 = (float)sub_7F0B0064(iVar1,iVar4,fParm2,fParm3); - fVar12 = (float)sub_7F0B0064(iVar1,iVar9 % uVar5,fParm2,fParm3); - if (fVar10 < fParm4) { - if (((fVar11 < fParm4) || (fVar12 < fParm4)) || - (lVar2 = locret_7F0B02D0(iVar1,iVar4,fParm2,fParm3), lVar2 != 0)) { - if ((pcParm6 == NULL) || - (lVar2 = (*pcParm6)(iVar1,iVar4,fVar10,fVar11,fVar12,uParm8), lVar2 == 0)) { - uVar5 = (uint)*(ushort *)(iVar1 + iVar4 * 8 + 0xe); - if ((int)uVar5 >> 4 != 0) { - iVar4 = uVar5 * 8 + DAT_8003aba8; - if ((int)(uVar8 - 1) < 0) { -LAB_7f0b12a8: - aiStack160[uVar8] = iVar4; - uVar8 += 1; - iVar4 = (int)*(short *)(iVar1 + 6); - } - else { - piVar3 = aiStack160 + (uVar8 - 1); - iVar6 = *piVar3; - while( true ) { - piVar3 = piVar3 + -1; - if (iVar4 == iVar6) break; - if (piVar3 < aiStack160) goto LAB_7f0b12a8; - iVar6 = *piVar3; - } - iVar4 = (int)*(short *)(iVar1 + 6); - } - goto LAB_7f0b12f8; - } - } - _DAT_80069934 = iVar1; - _DAT_80069938 = iVar4; - if ((pcParm7 == NULL) || - (_DAT_80069934 = iVar1, _DAT_80069938 = iVar4, - lVar2 = (*pcParm7)(aiStack160,uVar8,uParm8), lVar2 != 1)) { - return 2; - } - iVar4 = (int)*(short *)(iVar1 + 6); - } - else { - iVar4 = (int)*(short *)(iVar1 + 6); - } - } - else { - iVar4 = (int)*(short *)(iVar1 + 6); - } -LAB_7f0b12f8: - uVar5 = iVar4 >> 0xc & 0xf; - iVar4 = iVar9; - } while (iVar9 < (int)uVar5); - } - if (0x28 < uVar8) { - return 5; - } - if ((int)uVar8 <= iStack172) { - if (pcParm7 != NULL) { - (*pcParm7)(aiStack160,uVar8,uParm8); - } - return 0xfffffffffffffffe; - } - } while( true ); -} - - - -void sub_7F0B20D0(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - FUN_7f0b109c(uParm1,uParm2,uParm3,uParm4,0,0,0,0); - return; -} - - - -undefined8 -locret_7F0B223C(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 *puParm6,undefined4 uParm7) - -{ - undefined8 uVar1; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - uStack12 = 0; - iStack4 = 0; - uStack16 = uParm5; - uStack8 = uParm7; - uVar1 = FUN_7f0b109c(uParm1,uParm2,uParm3,uParm4,&LAB_7f0b13d0,0,&LAB_7f0b1454,&uStack16); - *puParm6 = uStack12; - if (1 < iStack4) { - uVar1 = 2; - } - return uVar1; -} - - - -void loc_7F0B2338(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 *puParm5) - -{ - undefined4 *puVar1; - int iVar2; - - iVar2 = 0; - puVar1 = puParm5; - do { - iVar2 += 4; - *puVar1 = 0; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - puVar1 = puVar1 + 4; - } while (iVar2 != 0x10); - FUN_7f0b109c(uParm1,uParm2,uParm3,uParm4,&LAB_7f0b1504,&LAB_7f0b1534,0,puParm5); - return; -} - - - -undefined4 sub_7F0B239C(undefined4 *puParm1) - -{ - return *puParm1; -} - - - -undefined4 sub_7F0B23A4(int iParm1) - -{ - return *(undefined4 *)(iParm1 + 4); -} - - - -void sub_7F0B23AC(int iParm1,undefined8 uParm2,float *pfParm3) - -{ - float fVar1; - - fVar1 = DAT_8003ab98; - iParm1 += ((int)*(short *)(iParm1 + 6) >> ((int)uParm2 * -4 + 8U & 0x1f) & 0xfU) * 8; - *pfParm3 = (float)(int)*(short *)(iParm1 + 8) * DAT_8003ab98; - pfParm3[1] = (float)(int)*(short *)(iParm1 + 10) * fVar1; - pfParm3[2] = (float)(int)*(short *)(iParm1 + 0xc) * fVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b16e0(int *piParm1,int *piParm2,int iParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - uint uVar5; - int iVar6; - uint uVar7; - - iVar1 = _DAT_8006995c; - uVar7 = (int)*(short *)(_DAT_8006995c + 6) >> 0xc & 0xf; - iVar2 = 0; - iVar4 = _DAT_8006995c; - if (uVar7 == 0) { - return; - } - while ((iVar6 = (uint)*(ushort *)(iVar4 + 0xe) * 8 + DAT_8003aba8, - (int)(uint)*(ushort *)(iVar4 + 0xe) >> 4 == 0 || - (((&DAT_8003ab80)[(int)*(short *)(iVar6 + 4) >> 0xc] & 0x40) == 0))) { - iVar2 += 1; - iVar4 = iVar4 + 8; - if ((int)uVar7 <= iVar2) { - return; - } - } - *piParm1 = _DAT_8006995c; - *piParm2 = iVar6; - uVar7 = 0; - while( true ) { - iVar4 = 0; - uVar5 = uVar7; - do { - iVar3 = ((int)uVar7 >> 2) + iVar4; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - sub_7F0B23AC(iVar6,iVar3 % 3,iParm3 + (uVar5 & 3) * 0xc); - iVar4 += 1; - uVar5 += 1; - } while (iVar4 != 3); - sub_7F0B23AC(iVar1,(iVar2 + 2) % 3,iParm3 + (uVar7 + 3 & 3) * 0xc); - uVar7 += 1; - if (uVar7 == 0xc) break; - if ((((*(float *)(iParm3 + 4) <= *(float *)(iParm3 + 0x1c)) && - (*(float *)(iParm3 + 0x10) <= *(float *)(iParm3 + 0x1c))) && - (*(float *)(iParm3 + 4) <= *(float *)(iParm3 + 0x28))) && - (*(float *)(iParm3 + 0x10) <= *(float *)(iParm3 + 0x28))) { - return; - } - } - return; -} - - - -void FUN_7f0b1978(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - float fParm5) - -{ - float fStack4; - - fStack4 = fParm5 * DAT_8003ab94; - FUN_7f0b109c(uParm1,uParm2,uParm3,uParm4,0,&LAB_7f0b18cc,0,&fStack4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F0B2880(undefined4 uParm1,code *pcParm2) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - uint uVar4; - int *piVar5; - uint uVar6; - int iVar7; - int iVar8; - uint uVar9; - int iVar10; - int iVar11; - int iVar12; - int *piStack28; - uint uStack8; - - lVar3 = (*pcParm2)(); - if (lVar3 == 0) { - uStack8 = 1; - _DAT_80069960 = uParm1; - do { - iVar12 = 0; - uVar9 = uStack8; - if (0 < (int)uStack8) { - piStack28 = (int *)&DAT_80069960; - uVar9 = uStack8; - do { - iVar10 = 0; - iVar1 = *piStack28; - uVar6 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - iVar11 = iVar1; - if (uVar6 != 0) { - do { - iVar8 = (uint)*(ushort *)(iVar11 + 0xe) * 8 + DAT_8003aba8; - if ((int)(uint)*(ushort *)(iVar11 + 0xe) >> 4 != 0) { - uVar4 = 0; - if (0 < (int)uVar9) { - piVar5 = (int *)&DAT_80069960; - do { - uVar4 += 1; - if (iVar8 == *piVar5) goto LAB_7f0b1afc; - piVar5 = piVar5 + 1; - } while (uVar4 != uVar9); - } - lVar3 = (*pcParm2)(iVar8); - iVar7 = uVar9 * 4; - if (lVar3 != 0) { - return iVar8; - } - uVar9 += 1; - *(int *)(&DAT_80069960 + iVar7) = iVar8; - if (0x15e < uVar9) { - return 0; - } - uVar6 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - } -LAB_7f0b1afc: - iVar10 += 1; - iVar11 += 8; - } while (iVar10 < (int)uVar6); - } - iVar12 += 1; - piStack28 = piStack28 + 1; - } while (iVar12 < (int)uStack8); - } - bVar2 = uVar9 != uStack8; - uStack8 = uVar9; - } while (bVar2); - uParm1 = 0; - } - return uParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0b1b70(undefined4 *puParm1,undefined4 *puParm2) - -{ - undefined4 uVar1; - undefined8 uVar2; - - uVar1 = _DAT_80069940; - if (_DAT_80069934 == 0) { - if (DAT_8003ac08 == 0) { - uVar2 = 0; - } - else { - puParm1[1] = 0; - *puParm1 = uVar1; - uVar2 = 1; - puParm1[2] = _DAT_80069944; - uVar1 = _DAT_80069948; - puParm2[1] = 0; - *puParm2 = uVar1; - puParm2[2] = _DAT_8006994c; - } - } - else { - FUN_7f0b0fb8(_DAT_80069934,_DAT_80069938); - uVar2 = 1; - } - return uVar2; -} - - - -void FUN_7f0b1c10(float fParm1) - -{ - DAT_8003ab94 = fParm1; - DAT_8003ab98 = 1.00000000 / fParm1; - return; -} - - - -float FUN_7f0b1c30(ulonglong uParm1,int iParm2,float fParm3,float fParm4) - -{ - short sVar1; - double dVar2; - double dVar3; - double dVar4; - double dVar5; - undefined4 uVar6; - int iVar7; - undefined4 uVar8; - int iVar9; - int iVar10; - int iVar11; - uint uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - uint uVar16; - uint uVar17; - uint uVar18; - int iVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - undefined4 extraout_var; - undefined4 extraout_var_00; - float fVar25; - - fParm3 = fParm3 * DAT_8003ab94; - fParm4 = fParm4 * DAT_8003ab94; - sVar1 = *(short *)(iParm2 + 6); - iVar19 = iParm2 + ((int)sVar1 >> 8 & 0xfU) * 8; - uVar12 = iParm2 + ((int)sVar1 >> 4 & 0xfU) * 8; - iParm2 += ((int)sVar1 & 0xfU) * 8; - fVar22 = (float)((int)*(short *)(uVar12 + 8) - (int)*(short *)(iVar19 + 8)); - fVar25 = (float)((int)*(short *)(uVar12 + 10) - (int)*(short *)(iVar19 + 10)); - fVar21 = (float)((int)*(short *)(uVar12 + 0xc) - (int)*(short *)(iVar19 + 0xc)); - fVar23 = (float)((int)*(short *)(iParm2 + 8) - (int)*(short *)(iVar19 + 8)); - fVar20 = (float)((int)*(short *)(iParm2 + 10) - (int)*(short *)(iVar19 + 10)); - fVar24 = (float)((int)*(short *)(iParm2 + 0xc) - (int)*(short *)(iVar19 + 0xc)); - uVar6 = __f_to_ll(uParm1 & 0xffffffff00000000 | - (ulonglong)(uint)(fVar25 * fVar24 - fVar20 * fVar21)); - uVar13 = uVar12; - iVar7 = __f_to_ll(CONCAT44(extraout_var,fVar21 * fVar23 - fVar24 * fVar22)); - uVar14 = uVar13; - uVar8 = __f_to_ll(CONCAT44(extraout_var_00,fVar22 * fVar20 - fVar23 * fVar25)); - uVar15 = uVar14; - iVar9 = __ll_mul(iVar7,uVar13,*(short *)(iVar19 + 10) >> 0x1f); - uVar16 = uVar15; - iVar10 = __ll_mul(uVar6,uVar12,*(short *)(iVar19 + 8) >> 0x1f); - uVar17 = uVar16; - iVar11 = __ll_mul(uVar8,uVar14,*(short *)(iVar19 + 0xc) >> 0x1f); - uVar18 = uVar17 + uVar16 + uVar15; - if ((iVar7 == 0) && (uVar13 == 0)) { - fVar20 = (float)(int)*(short *)(iVar19 + 10) * DAT_8003ab98; - } - else { - dVar2 = (double)__ll_to_d(uVar8,uVar14); - dVar3 = (double)__ll_to_d(uVar6,uVar12); - dVar4 = (double)__ll_to_d((uint)(uVar18 < uVar15) + - (uint)(uVar17 + uVar16 < uVar16) + iVar11 + iVar10 + iVar9,uVar18); - dVar5 = (double)__ll_to_d(iVar7,uVar13); - fVar20 = (float)(((dVar4 - (double)fParm3 * dVar3) - (double)fParm4 * dVar2) / dVar5) * - DAT_8003ab98; - } - return fVar20; -} - - - -void copy_tile_RGB_as_24bit(int iParm1,undefined8 uParm2,undefined8 uParm3,byte *pbParm4) - -{ - short sVar1; - uint uVar2; - uint uVar3; - - sVar1 = *(short *)(iParm1 + 4); - uVar2 = (int)sVar1 >> 8 & 0xf; - uVar3 = (int)sVar1 >> 4 & 0xf; - *pbParm4 = (byte)(uVar2 << 4) | (byte)uVar2; - pbParm4[1] = (byte)(uVar3 << 4) | (byte)uVar3; - pbParm4[2] = (byte)((int)((longlong)sVar1 & 0xfU) << 4) | (byte)((longlong)sVar1 & 0xfU); - return; -} - - - -void FUN_7f0b1f34(int iParm1,float *pfParm2) - -{ - float fVar1; - - fVar1 = (float)(int)*(short *)(iParm1 + ((int)*(short *)(iParm1 + 6) >> 8 & 0xfU) * 8 + 10); - *pfParm2 = fVar1 * DAT_8003ab98; - pfParm2[1] = fVar1 * DAT_8003ab98; - return; -} - - - -undefined4 FUN_7f0b1fd4(undefined8 uParm1) - -{ - undefined4 auStack8 [2]; - - FUN_7f0b1f34(uParm1,auStack8); - return auStack8[0]; -} - - - -void FUN_7f0b1ff8(void) - -{ - return; -} - - - -undefined8 FUN_7f0b2008(undefined8 uParm1) - -{ - return uParm1; -} - - - -void loc_7F0B2E48(byte *pbParm1,ushort *puParm2,byte *pbParm3) - -{ - byte bVar1; - uint uVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - byte *apbStack8 [2]; - - iVar3 = (uint)*pbParm1 - 0x70; - if ((-1 < iVar3) && (iVar3 < 2)) { - uVar2 = loc_7000AC44(pbParm1 + 1,apbStack8,10); - if ((apbStack8[0] != pbParm1 + 1) && (uVar2 < 0x8000)) { - iVar4 = (uint)*apbStack8[0] - 0x61; - if ((-1 < iVar4) && (iVar4 < 0x1a)) { - bVar1 = apbStack8[0][1]; - uVar5 = (ulonglong)bVar1; - if ((bVar1 != 0) && (bVar1 != 0x30)) { - uVar5 = SEXT48((int)((uint)bVar1 - 0x30)); - } - if (((-1 < (longlong)uVar5) && ((longlong)uVar5 < 8)) && - ((bVar1 == 0 || (apbStack8[0][2] == 0)))) { - *puParm2 = (short)iVar3 * -0x8000 | (ushort)uVar2; - *pbParm3 = (char)iVar4 * '\b' | (byte)uVar5; - return; - } - } - } - } - *puParm2 = 0xffff; - *pbParm3 = 0xff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * loc_7F0B2EF0(char *pcParm1) - -{ - short sVar1; - int *piVar2; - char cStack7; - short asStack6 [3]; - - if (*pcParm1 != '\0') { - loc_7F0B2E48(pcParm1,asStack6,&cStack7); - piVar2 = *(int **)(_DAT_80069070 + 4); - if (*piVar2 != 0) { - sVar1 = *(short *)piVar2; - while( true ) { - if (asStack6[0] == sVar1) { - if (cStack7 == *(char *)((int)piVar2 + 2)) { - return piVar2; - } - sVar1 = *(short *)((int)piVar2 + 6); - } - else { - sVar1 = *(short *)((int)piVar2 + 6); - } - piVar2 = (int *)((uint)(byte)s___08_HPX_8003ab9c[(int)sVar1 >> 0xc & 0xf] + (int)piVar2); - if (*piVar2 == 0) break; - sVar1 = *(short *)piVar2; - } - } - } - return (int *)0; -} - - - -void FUN_7f0b21c0(undefined4 *puParm1) - -{ - undefined4 uVar1; - - uVar1 = loc_7F0B2EF0(*puParm1); - *puParm1 = uVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b21ec(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - int *piVar2; - int *piVar3; - int iVar4; - - iParm3 -= iParm2; - DAT_8003aba8 = *(int *)(iParm1 + 4) + iParm3 + -0x80; - DAT_8003abac = *(int *)(iParm1 + 4) + iParm3; - piVar3 = (int *)(iParm1 + 4); - if (*(int *)(iParm1 + 4) != 0) { - iVar1 = *piVar3; - do { - iVar4 = iVar1 + iParm3; - iVar1 = piVar3[1]; - *piVar3 = iVar4; - piVar3 = piVar3 + 1; - } while (iVar1 != 0); - } - iVar1 = piVar3[1]; - piVar3 = piVar3 + 1; - while (piVar2 = piVar3, iVar1 != 0) { - iVar1 = *(int *)((uint)(byte)s___08_HPX_8003ab9c[(int)*(short *)((int)piVar2 + 6) >> 0xc & 0xf] - + (int)piVar2); - piVar3 = (int *)((uint)(byte)s___08_HPX_8003ab9c[(int)*(short *)((int)piVar2 + 6) >> 0xc & 0xf] - + (int)piVar2); - DAT_8003abb0 = piVar2; - } - _DAT_80069070 = iParm1; - return; -} - - - -ulonglong sub_7F0B2FD8(int iParm1) - -{ - return (ulonglong)*(byte *)(iParm1 + 3); -} - - - -void FUN_7f0b22a0(int iParm1) - -{ - FUN_7f0b42d8((ulonglong)*(byte *)(iParm1 + 3)); - return; -} - - - -void FUN_7f0b22c4(void) - -{ - FUN_7f0b1fd4(); - return; -} - - - -undefined8 FUN_7f0b22e4(undefined8 uParm1) - -{ - return uParm1; -} - - - -undefined8 FUN_7f0b22f4(undefined8 uParm1) - -{ - return uParm1; -} - - - -undefined8 FUN_7f0b22fc(undefined8 uParm1) - -{ - return uParm1; -} - - - -// WARNING: Instruction at (ram,0x7f0b2330) overlaps instruction at (ram,0x7f0b232c) -// - -undefined4 FUN_7f0b2304(void) - -{ - longlong lVar1; - undefined4 uStack4; - - uStack4 = 0; - lVar1 = FUN_7f0bcb2c(); - if (((lVar1 < 0x1000) || (lVar1 = FUN_7f0bcb54(), lVar1 < 0x1000)) && (DAT_8003ac1c == 0)) { - DAT_8003ac0c = 0.00000000; - DAT_8003ac10 = 0.00000000; - DAT_8003ac14 = DAT_8003ac18; - DAT_8003ac1c = 1; - } - if ((DAT_8003ac1c == 0) && (DAT_8003ac0c = DAT_8003ac0c + DAT_8003ac10, 1.00000000 < DAT_8003ac0c) - ) { - DAT_8003ac0c = DAT_8003ac0c - 1.00000000; - uStack4 = 1; - } - DAT_8003ac18 = DAT_8003ac18 + 1; - return uStack4; -} - - - -undefined8 FUN_7f0b23ec(undefined8 uParm1) - -{ - return uParm1; -} - - - -void sub_7F0B3138(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7,undefined4 uParm8, - undefined4 uParm9) - -{ - loc_7F0B13B4(uParm2,uParm3,uParm4,uParm5,uParm6,uParm7,uParm8,uParm9,0,0x3f800000); - return; -} - - - -void sub_7F0B31A4(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5,undefined4 uParm6,undefined4 uParm7,undefined4 uParm8) - -{ - loc_7F0B1C80(uParm2,uParm3,uParm4,uParm5,uParm6,uParm7,uParm8); - return; -} - - - -float sub_GAME_7F0B33DC(float *pfParm1,float *pfParm2,float *pfParm3,float *pfParm4) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = *pfParm4 - *pfParm3; - fVar1 = pfParm3[1] - pfParm4[1]; - fVar2 = (*pfParm2 - *pfParm1) * fVar1 + (pfParm2[1] - pfParm1[1]) * fVar3; - if (fVar2 == 0.00000000) { - fVar2 = 1.00000000; - } - else { - fVar2 = ((*pfParm3 - *pfParm1) * fVar1 + (pfParm3[1] - pfParm1[1]) * fVar3) / fVar2; - if ((fVar2 < 0.00000000) || (1.00000000 < fVar2)) { - fVar2 = 1.00000000; - } - } - return fVar2; -} - - - -float loc_7F0B33C8(float *pfParm1,float *pfParm2,float *pfParm3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - - fVar6 = pfParm1[2]; - fVar4 = pfParm3[1]; - fVar3 = pfParm1[1]; - fVar2 = *pfParm3; - fVar7 = *pfParm2; - fVar8 = pfParm2[1]; - fVar9 = fVar7 * (fVar4 - fVar6) - (fVar2 - fVar3) * fVar8; - fVar5 = (*pfParm1 - fVar9) * (*pfParm1 + fVar9); - fVar1 = DAT_8004d030; - if (0.00000000 <= fVar5) { - fVar1 = (float)sqrtf(fVar5); - fVar1 = (fVar7 * (fVar2 - fVar3) + (fVar4 - fVar6) * fVar8) - fVar1; - if ((fVar1 < 0.00000000) && - (fVar2 = fVar1 * fVar1, fVar1 = DAT_8004d034, fVar2 + fVar9 * fVar9 <= *pfParm1 * *pfParm1)) - { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -float loc_7F0B37AC(float *pfParm1,float *pfParm2,float *pfParm3,float *pfParm4) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float *pfStackX8; - float fStack40; - float fStack36; - float fStack16; - float fStack12; - float fStack4; - - fStack4 = (float)sqrtf(*pfParm4 * *pfParm4 + pfParm4[1] * pfParm4[1]); - if (fStack4 == 0.00000000) { - return (float)0x3f800000; - } - fVar9 = 1.00000000 / fStack4; - fStack16 = *pfParm4 * fVar9; - fStack12 = pfParm4[1] * fVar9; - fVar1 = *pfParm3 - *pfParm2; - fStack40 = pfParm3[1] - pfParm2[1]; - fVar2 = (float)sqrtf(fVar1 * fVar1 + fStack40 * fStack40); - pfStackX8 = pfParm3; - if (fVar2 == 0.00000000) { -LAB_7f0b295c: - fVar1 = (float)loc_7F0B33C8(pfParm1,&fStack16,pfStackX8); - } - else { - fStack40 = fStack40 * (1.00000000 / fVar2); - fStack36 = -fVar1 * (1.00000000 / fVar2); - fVar1 = *pfParm1; - fVar2 = pfParm1[1]; - fVar7 = fVar1 * fStack40; - fVar4 = pfParm1[2]; - fVar10 = fVar1 * fStack36; - if ((fVar2 - *pfParm2) * fVar7 + fVar10 * (fVar4 - pfParm2[1]) < 0.00000000) { - fVar7 = -fVar7; - fVar10 = -fVar10; - } - fVar5 = pfParm4[1]; - fVar3 = *pfParm4; - fVar6 = fVar5 * (*pfParm2 + fVar7) - (pfParm2[1] + fVar10) * fVar3; - fVar8 = fVar2 * fVar5 - fVar4 * fVar3; - fVar11 = fVar5 * (*pfParm3 + fVar7) - (pfParm3[1] + fVar10) * fVar3; - fVar7 = fVar6; - fVar10 = fVar11; - pfStackX8 = pfParm3; - if (fVar11 < fVar6) { - fStack40 = -fStack40; - fStack36 = -fStack36; - fVar7 = fVar11; - fVar10 = fVar6; - pfStackX8 = pfParm2; - pfParm2 = pfParm3; - } - if (fVar11 == fVar6) { - fVar2 = (float)loc_7F0B33C8(pfParm1,&fStack16,pfParm2); - fVar1 = (float)loc_7F0B33C8(pfParm1,&fStack16,pfStackX8); - if (fVar2 <= fVar1) goto LAB_7f0b2a1c; - } - else { - if (fVar10 < fVar8) goto LAB_7f0b295c; - if (fVar8 < fVar7) { - fVar1 = (float)loc_7F0B33C8(pfParm1,&fStack16,pfParm2); - } - else { - fVar7 = (fVar2 - *pfParm2) * fStack40 + fStack36 * (fVar4 - pfParm2[1]); - fVar2 = ((fVar2 + fVar3) - *pfParm2) * fStack40 + fStack36 * ((fVar4 + fVar5) - pfParm2[1]); - if (fVar7 == fVar2) { - return (float)0x3f800000; - } - fVar1 = ((fVar7 - fVar1) * fStack4) / (fVar7 - fVar2); - } - } - } - fVar2 = fVar1; -LAB_7f0b2a1c: - fVar1 = 1.00000000; - if (fVar2 <= fStack4) { - if (fVar2 < 0.00000000) { - fVar1 = 0.00000000; - } - else { - fVar1 = fVar2 * fVar9; - } - } - return fVar1; -} - - - -void sub_GAME_7F0BA640(void) - -{ - FUN_70004280(&DAT_8003ac40,s_bg_c_debug_8004d68c); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b2aac(void) - -{ - byte bVar1; - byte bVar2; - undefined4 *puVar3; - byte *pbVar4; - ulonglong uVar5; - int iVar6; - - puVar3 = (undefined4 *)&DAT_8003dd04; - do { - pbVar4 = (byte *)((int)puVar3 + 1); - if ((longlong)DAT_8003ac50 == (ulonglong)*(byte *)puVar3) { - bVar1 = *pbVar4; - bVar2 = *(byte *)((int)puVar3 + 2); - while( true ) { - uVar5 = (ulonglong)bVar1; - if ((ulonglong)bVar2 < uVar5) { - bVar1 = pbVar4[2]; - } - else { - do { - iVar6 = _DAT_8006b3c8 + (int)uVar5 * 8; - uVar5 = (longlong)((int)uVar5 + 1) & 0xff; - *(byte *)(iVar6 + 6) = *(byte *)(iVar6 + 6) | 2; - } while (uVar5 <= (ulonglong)pbVar4[1]); - bVar1 = pbVar4[2]; - } - if (bVar1 == 0xff) break; - bVar2 = pbVar4[3]; - pbVar4 = pbVar4 + 2; - } - } - else { - bVar1 = *(byte *)((int)puVar3 + 3); - while (bVar1 != 0xff) { - bVar1 = pbVar4[4]; - pbVar4 = pbVar4 + 2; - } - } - puVar3 = (undefined4 *)(pbVar4 + 3); - } while (puVar3 < &DAT_8003dd18); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0B39AC(byte bParm1,byte *pbParm2) - -{ - byte bVar2; - longlong lVar1; - byte *pbVar3; - byte *pbVar4; - - bVar2 = *pbParm2; - pbVar4 = pbParm2; - do { - do { - pbVar3 = pbVar4; - if (bParm1 == bVar2) { - bVar2 = *pbParm2; - do { - pbVar4 = pbParm2; - lVar1 = loc_7F0B5464((ulonglong)bVar2,_DAT_80068bc0 + 0x1110); - if (lVar1 != 0) { - FUN_7f0b2c7c((ulonglong)*pbVar4,0,_DAT_80068bc0 + 0x1110,1); - } - bVar2 = pbVar4[1]; - pbParm2 = pbVar4 + 1; - } while (bVar2 != 0); - pbVar4 = pbVar4 + 2; - bVar2 = *pbVar4; - do { - lVar1 = loc_7F0B5464((ulonglong)bVar2,_DAT_80068bc0 + 0x1110); - if (lVar1 != 0) { - FUN_7f0b2c7c((ulonglong)*pbVar4,0,_DAT_80068bc0 + 0x1110,1); - } - bVar2 = pbVar4[1]; - pbVar4 = pbVar4 + 1; - } while (bVar2 != 0); - return; - } - bVar2 = pbVar3[1]; - pbVar4 = pbVar3 + 1; - } while (bVar2 != 0); - bVar2 = pbVar3[2]; - pbParm2 = pbVar3 + 1; - while (bVar2 != 0) { - bVar2 = pbParm2[2]; - pbParm2 = pbParm2 + 1; - } - pbParm2 = pbParm2 + 2; - bVar2 = *pbParm2; - pbVar4 = pbParm2; - } while (bVar2 != 0); - return; -} - - - -ulonglong FUN_7f0b2c7c(ulonglong uParm1,int iParm2,undefined4 *puParm3,byte bParm4) - -{ - byte bVar1; - byte *pbVar2; - int iVar3; - int iVar4; - undefined4 uVar5; - - iVar3 = (int)uParm1 * 0x50; - (&DAT_8003ac64)[iVar3] = 1; - if ((&DAT_8003ac98)[iVar3] == '\0') { - iVar3 = 0; - if (0 < DAT_8003dd1c) { - pbVar2 = &DAT_8006b3e0; - do { - iVar3 += 1; - if (uParm1 == (ulonglong)*pbVar2) { - if ((longlong)*(short *)(pbVar2 + 2) < (longlong)iParm2) { - *(short *)(pbVar2 + 2) = (short)iParm2; - } - locret_7F0B5D50(puParm3,pbVar2 + 8); - bVar1 = pbVar2[4]; - *(undefined4 *)(pbVar2 + 8) = *puParm3; - *(undefined4 *)(pbVar2 + 0xc) = puParm3[1]; - *(undefined4 *)(pbVar2 + 0x10) = puParm3[2]; - uVar5 = puParm3[3]; - pbVar2[4] = bVar1 | bParm4; - *(undefined4 *)(pbVar2 + 0x14) = uVar5; - return (ulonglong)bVar1; - } - pbVar2 = pbVar2 + 0x18; - } while (iVar3 < DAT_8003dd1c); - } - iVar3 = DAT_8003dd1c; - if (0x77 < DAT_8003dd1c) { - iVar3 = 0x77; - } - iVar3 *= 0x18; - (&DAT_8006b3e0)[iVar3] = (char)uParm1; - *(short *)(&DAT_8006b3e2 + iVar3) = (short)iParm2; - *(undefined4 *)(&DAT_8006b3e8 + iVar3) = *puParm3; - *(undefined4 *)(&DAT_8006b3ec + iVar3) = puParm3[1]; - iVar4 = DAT_8003dd20 + 1; - *(undefined4 *)(&DAT_8006b3f0 + iVar3) = puParm3[2]; - uVar5 = puParm3[3]; - (&DAT_8006b3e4)[iVar3] = bParm4; - DAT_8003dd20 = iVar4; - *(undefined4 *)(&DAT_8006b3f4 + iVar3) = uVar5; - if (iVar4 < 0x78) { - DAT_8003dd1c = iVar4; - } - } - return 0; -} - - - -void FUN_7f0b2ecc(void) - -{ - undefined4 *puVar1; - - DAT_8003dd1c = 0; - DAT_8003dd20 = 0; - DAT_8003ac67 = 0; - DAT_8003acb7 = 0; - DAT_8003ad07 = 0; - puVar1 = (undefined4 *)0x8003ad54; - do { - puVar1 = puVar1 + 0x50; - *(undefined *)((int)puVar1 + 3) = 0; - *(undefined *)((int)puVar1 + 0x53) = 0; - *(undefined *)((int)puVar1 + 0xa3) = 0; - *(undefined *)((int)puVar1 + 0xf3) = 0; - puVar1 = puVar1; - } while (puVar1 != &DAT_8003d7d4); - return; -} - - - -undefined8 FUN_7f0b2f24(ulonglong uParm1,undefined4 *puParm2) - -{ - int iVar1; - byte *pbVar2; - - iVar1 = 0; - if (0 < DAT_8003dd1c) { - pbVar2 = &DAT_8006b3e0; - do { - iVar1 += 1; - if (uParm1 == (ulonglong)*pbVar2) { - *puParm2 = *(undefined4 *)(pbVar2 + 8); - puParm2[1] = *(undefined4 *)(pbVar2 + 0xc); - puParm2[2] = *(undefined4 *)(pbVar2 + 0x10); - puParm2[3] = *(undefined4 *)(pbVar2 + 0x14); - return 1; - } - pbVar2 = pbVar2 + 0x18; - } while (iVar1 < DAT_8003dd1c); - } - *puParm2 = 0; - puParm2[1] = 0; - puParm2[2] = 0; - puParm2[3] = 0; - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0b2fa4(undefined4 *puParm1) - -{ - short sVar1; - int iVar4; - longlong lVar2; - undefined8 uVar3; - undefined4 *puVar5; - undefined4 uVar6; - longlong lVar7; - undefined4 *puVar8; - undefined *puVar9; - byte *pbVar10; - int iVar11; - longlong lVar12; - longlong lVar13; - - lVar12 = 0; - lVar13 = 0x7fff; - if (0 < DAT_8003dd1c) { - sVar1 = _DAT_8006b3e2; - puVar9 = &DAT_8006b3e0; - while( true ) { - if (lVar12 < (longlong)sVar1) { - lVar12 = (longlong)(int)sVar1; - } - if ((longlong)sVar1 < lVar13) { - lVar13 = (longlong)(int)sVar1; - } - if (&DAT_8006b3e0 + DAT_8003dd1c * 0x18 <= puVar9 + 0x18) break; - sVar1 = *(short *)(puVar9 + 0x1a); - puVar9 = puVar9 + 0x18; - } - } - lVar7 = (longlong)(int)(short)lVar13; - iVar4 = DAT_8003dd1c; - lVar2 = lVar13; - while (lVar2 <= lVar12) { - iVar11 = 0; - if (0 < iVar4) { - pbVar10 = &DAT_8006b3e0; - do { - if (lVar7 == (longlong)*(short *)(pbVar10 + 2)) { - *puParm1 = 0x1030040; - uVar3 = FUN_7f0783f4(); - uVar6 = osVirtualToPhysical(uVar3); - puParm1[1] = uVar6; - puVar8 = (undefined4 *)FUN_7f0ba698(puParm1 + 2); - lVar2 = rmon_debug_is_final_build(); - if ((lVar2 != 0) && (lVar2 = get_poweron_time_sec(), lVar2 != 0)) { - puVar8 = (undefined4 *)loc_7F03A950(puVar8,(ulonglong)*pbVar10,0); - } - *puVar8 = 0x1030040; - uVar3 = FUN_7f078414(); - uVar6 = osVirtualToPhysical(uVar3); - puVar8[1] = uVar6; - uVar3 = FUN_7f0b4330(puVar8 + 2,*(undefined4 *)(pbVar10 + 8), - *(undefined4 *)(pbVar10 + 0xc),*(undefined4 *)(pbVar10 + 0x10), - *(undefined4 *)(pbVar10 + 0x14)); - puVar8 = (undefined4 *)FUN_7f0ba470(uVar3,0); - lVar2 = rmon_debug_is_final_build(); - if ((lVar2 != 0) && (lVar2 = get_poweron_time_sec(), lVar2 != 0)) { - puVar8 = (undefined4 *)FUN_7f0b5ab8(puVar8,(ulonglong)*pbVar10); - } - *puVar8 = 0x1030040; - uVar3 = FUN_7f0783f4(); - uVar6 = osVirtualToPhysical(uVar3); - puVar8[1] = uVar6; - puParm1 = (undefined4 *)FUN_7f0ba698(puVar8 + 2); - lVar2 = rmon_debug_is_final_build(); - iVar4 = DAT_8003dd1c; - if ((lVar2 != 0) && (lVar2 = get_poweron_time_sec(), iVar4 = DAT_8003dd1c, lVar2 != 0)) { - puParm1 = (undefined4 *)loc_7F03A950(puParm1,(ulonglong)*pbVar10,2); - iVar4 = DAT_8003dd1c; - } - } - iVar11 += 1; - pbVar10 = pbVar10 + 0x18; - } while (iVar11 < iVar4); - } - lVar7 = (longlong)(((int)lVar7 + 1) * 0x10000 >> 0x10); - lVar2 = lVar7; - } - uVar3 = FUN_7f0ba698(puParm1); - puVar5 = (undefined4 *)FUN_7f0b42f0(uVar3); - puVar8 = puVar5 + 2; - *puVar5 = 0x1030040; - uVar3 = FUN_7f078414(); - uVar6 = osVirtualToPhysical(uVar3); - puVar5[1] = uVar6; - lVar7 = get_poweron_time_sec(); - if (lVar7 != 0) { - uVar3 = loc_7F0A0C48(puVar8); - puVar8 = (undefined4 *)FUN_7f0a12bc(uVar3); - } - lVar7 = (longlong)(int)(short)lVar12; - iVar4 = DAT_8003dd1c; - while (lVar13 <= lVar12) { - iVar11 = 0; - if (0 < iVar4) { - pbVar10 = &DAT_8006b3e0; - do { - if (lVar7 == (longlong)*(short *)(pbVar10 + 2)) { - *puVar8 = 0x1030040; - uVar3 = FUN_7f078414(); - uVar6 = osVirtualToPhysical(uVar3); - puVar8[1] = uVar6; - uVar3 = FUN_7f0b4330(puVar8 + 2,*(undefined4 *)(pbVar10 + 8), - *(undefined4 *)(pbVar10 + 0xc),*(undefined4 *)(pbVar10 + 0x10), - *(undefined4 *)(pbVar10 + 0x14)); - puVar8 = (undefined4 *)FUN_7f0ba470(uVar3,1); - lVar12 = rmon_debug_is_final_build(); - if ((lVar12 != 0) && (lVar12 = get_poweron_time_sec(), lVar12 != 0)) { - puVar8 = (undefined4 *)FUN_7f0b5bd4(puVar8,(ulonglong)*pbVar10); - } - *puVar8 = 0x1030040; - uVar3 = FUN_7f0783f4(); - uVar6 = osVirtualToPhysical(uVar3); - puVar8[1] = uVar6; - puVar8 = (undefined4 *)FUN_7f0ba698(puVar8 + 2); - lVar12 = rmon_debug_is_final_build(); - iVar4 = DAT_8003dd1c; - if ((lVar12 != 0) && (lVar12 = get_poweron_time_sec(), iVar4 = DAT_8003dd1c, lVar12 != 0)) - { - puVar8 = (undefined4 *)loc_7F03A950(puVar8,(ulonglong)*pbVar10,1); - iVar4 = DAT_8003dd1c; - } - } - iVar11 += 1; - pbVar10 = pbVar10 + 0x18; - } while (iVar11 < iVar4); - } - lVar7 = (longlong)(((int)lVar7 + -1) * 0x10000 >> 0x10); - lVar12 = lVar7; - } - return puVar8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b3370(int iParm1) - -{ - int iVar1; - int iVar2; - - if (*(int *)(_DAT_8006b3d4 + iParm1 * 0x18 + 4) == 0) { - iVar1 = _DAT_8006b3d4 + iParm1 * 0x18; - iVar2 = *(int *)(iVar1 + 0x1c); - while( true ) { - iParm1 += 1; - if (iVar2 != 0) break; - iVar2 = *(int *)(iVar1 + 0x34); - iVar1 = iVar1 + 0x18; - } - } - return iParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b33c0(int iParm1) - -{ - int iVar1; - int iVar2; - - if (*(int *)(_DAT_8006b3d4 + iParm1 * 0x18 + 8) == 0) { - iVar1 = _DAT_8006b3d4 + iParm1 * 0x18; - iVar2 = *(int *)(iVar1 + 0x20); - while( true ) { - iParm1 += 1; - if (iVar2 != 0) break; - iVar2 = *(int *)(iVar1 + 0x38); - iVar1 = iVar1 + 0x18; - } - } - return iParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b3410(int iParm1) - -{ - int iVar1; - int iVar2; - - if (*(int *)(_DAT_8006b3d4 + iParm1 * 0x18) == 0) { - iVar1 = _DAT_8006b3d4 + iParm1 * 0x18; - iVar2 = *(int *)(iVar1 + 0x18); - while( true ) { - iParm1 += 1; - if (iVar2 != 0) break; - iVar2 = *(int *)(iVar1 + 0x30); - iVar1 = iVar1 + 0x18; - } - } - return iParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b3460(int iParm1) - -{ - char cVar1; - byte bVar2; - int *piVar6; - undefined8 uVar3; - undefined4 uVar7; - longlong lVar4; - longlong lVar5; - int iVar8; - undefined uVar9; - char *pcVar10; - undefined1 *puVar11; - int *piVar12; - undefined4 *puVar13; - int iVar14; - int iVar15; - int iVar16; - int aiStack72 [18]; - - DAT_8003ac50 = 0; - puVar13 = (undefined4 *)&DAT_8003ac64; - do { - puVar13 = puVar13 + 0x14; - puVar13[0xb] = 0; - puVar13 = puVar13; - } while (puVar13 < &DAT_8003d7d4); - piVar6 = &DAT_8003d96c; - iVar15 = 0; - do { - iVar14 = iVar15; - if (iParm1 != *piVar6) { - iVar14 = DAT_8003ac50; - } - DAT_8003ac50 = iVar14; - iVar15 += 1; - piVar6 = piVar6 + 6; - } while (iVar15 < 0x26); - sub_GAME_7F0BC4C4(); - _DAT_80069ee0 = aiStack72; - FUN_7f0bc0bc((&PTR_s_bg_bg_sev_all_p_seg_8003d970)[DAT_8003ac50 * 6],_DAT_80069ee0,0,0x40); - _DAT_8006b3cc = _DAT_80069ee0; - _DAT_8006b3d4 = (int *)(_DAT_80069ee0[1] + (int)_DAT_80069ee0 + -0xf000000); - iVar15 = ((*(uint *)(_DAT_80069ee0[1] + (int)_DAT_80069ee0 + -0xeffffe8) & 0xffffff) - 1 | 0xf) + - 1; - _DAT_80069ee0 = (int *)FUN_70008b80(iVar15,4); - FUN_7f0bc0bc((&PTR_s_bg_bg_sev_all_p_seg_8003d970)[DAT_8003ac50 * 6],_DAT_80069ee0,0,iVar15); - uVar3 = FUN_7f0bc14c((&PTR_s_Tbg_sev_all_p_stanZ_8003d974)[DAT_8003ac50 * 6],2,0,4); - _DAT_80069ee4 = (undefined4)uVar3; - FUN_7f0b21ec(uVar3,0,uVar3); - FUN_7f0ae878(_DAT_80069ee4); - FUN_7f0b3b4c((&DAT_8003d978)[DAT_8003ac50 * 6]); - FUN_7f0b1c10((&DAT_8003d978)[DAT_8003ac50 * 6]); - FUN_7f090a3c((&DAT_8003d978)[DAT_8003ac50 * 6]); - sub_7F022E1C((&DAT_8003d978)[DAT_8003ac50 * 6]); - DAT_8003ac4c = (&DAT_8003d97c)[DAT_8003ac50 * 6]; - FUN_7f0898d4(DAT_8003ac4c); - FUN_7f0590f4(DAT_8003ac4c); - _DAT_80069ee8 = *_DAT_80069ee0; - _DAT_8006b3d0 = 1; - if (_DAT_80069ee8 == 0) { - _DAT_8006b3d0 = 2; - iVar15 = _DAT_80069ee0[1] + (int)_DAT_80069ee0; - _DAT_8006b3d4 = (int *)(iVar15 + -0xf000000); - DAT_8003d7d4 = 0; - if (*(int *)(iVar15 + -0xeffffe4) != 0) { - DAT_8003d7d4 = 0; - iVar15 = iVar15 + -0xeffffe8; - do { - DAT_8003d7d4 += 1; - piVar6 = (int *)(iVar15 + 0x1c); - iVar15 = iVar15 + 0x18; - } while (*piVar6 != 0); - } - piVar6 = (int *)((int)_DAT_80069ee0 + _DAT_80069ee0[2] + -0xf000000); - if (_DAT_80069ee0[3] == 0) { - _DAT_8006b3d8 = NULL; - } - else { - _DAT_8006b3d8 = (char *)((int)_DAT_80069ee0 + _DAT_80069ee0[3] + -0xf000000); - if (_DAT_80069ee0[4] == 0) { - _DAT_8006b3dc = 0; - } - else { - _DAT_8006b3dc = (int)_DAT_80069ee0 + _DAT_80069ee0[4] + -0xf000000; - } - } - iVar14 = 0; - iVar15 = *piVar6; - _DAT_8006b3c8 = piVar6; - _DAT_8006b3cc = _DAT_80069ee0; - while (iVar15 != 0) { - iVar14 += 8; - *piVar6 = (int)_DAT_80069ee0 + iVar15 + -0xf000000; - piVar6 = (int *)((int)_DAT_8006b3c8 + iVar14); - iVar15 = *piVar6; - } - if (_DAT_8006b3d8 != NULL) { - cVar1 = *_DAT_8006b3d8; - iVar15 = 0; - pcVar10 = _DAT_8006b3d8; - while (cVar1 != '\0') { - if (cVar1 == 'd') { - uVar7 = FUN_7f0b51c4((int)_DAT_80069ee0 + *(int *)(pcVar10 + 4) + -0xf000000); - *(undefined4 *)(_DAT_8006b3d8 + iVar15 + 4) = uVar7; - pcVar10 = _DAT_8006b3d8 + iVar15; - cVar1 = pcVar10[8]; - } - else { - cVar1 = pcVar10[8]; - } - iVar15 += 8; - pcVar10 = pcVar10 + 8; - } - } - iVar15 = 1; - if (1 < DAT_8003d7d4) { - iVar14 = 0x18; - puVar11 = &DAT_8003acb4; - piVar6 = _DAT_8006b3d4; - do { - piVar12 = piVar6 + 6; - puVar11[2] = 0; - puVar11[0x35] = 0; - if (piVar6[7] == 0) { - *(undefined4 *)(puVar11 + 0x14) = 0; - } - else { - iVar16 = FUN_7f0b3370(iVar15 + 1); - iVar8 = FUN_7f0b33c0(iVar15); - if (iVar8 < iVar16) { - piVar12 = (int *)((int)_DAT_8006b3d4 + iVar14); - *(int *)(puVar11 + 0x14) = _DAT_8006b3d4[iVar8 * 6 + 2] - piVar12[1]; - } - else { - piVar12 = (int *)((int)_DAT_8006b3d4 + iVar14); - *(int *)(puVar11 + 0x14) = _DAT_8006b3d4[iVar16 * 6 + 1] - piVar12[1]; - } - } - iVar15 += 1; - if (piVar12[2] == 0) { - *(undefined4 *)(puVar11 + 0x18) = 0; - } - else { - lVar4 = FUN_7f0b3370(iVar15); - lVar5 = FUN_7f0b33c0(iVar15); - if (lVar5 < lVar4) { - piVar12 = (int *)((int)_DAT_8006b3d4 + iVar14); - *(int *)(puVar11 + 0x18) = _DAT_8006b3d4[(int)lVar5 * 6 + 2] - piVar12[2]; - } - else { - piVar12 = (int *)((int)_DAT_8006b3d4 + iVar14); - *(int *)(puVar11 + 0x18) = _DAT_8006b3d4[(int)lVar4 * 6 + 1] - piVar12[2]; - } - } - if (*piVar12 == 0) { - *(undefined4 *)(puVar11 + 0x10) = 0; - iVar16 = DAT_8003d7d4; - } - else { - iVar8 = FUN_7f0b3410(iVar15); - iVar16 = DAT_8003d7d4; - piVar12 = (int *)((int)_DAT_8006b3d4 + iVar14); - *(int *)(puVar11 + 0x10) = _DAT_8006b3d4[iVar8 * 6] - *piVar12; - } - iVar14 += 0x18; - *(undefined4 *)(puVar11 + 0x28) = 0xffffffff; - puVar11 = puVar11 + 0x50; - piVar6 = piVar12; - } while (iVar15 < iVar16); - } - iVar15 = 1; - sub_GAME_7F0BCA34(); - if (1 < DAT_8003d7d4) { - do { - FUN_7f0b85d4(iVar15); - iVar15 += 1; - } while (iVar15 < DAT_8003d7d4); - } - puVar11 = &DAT_8003d8a4; - iVar15 = *_DAT_8006b3c8; - iVar16 = 0; - iVar14 = 0; - piVar6 = _DAT_8006b3c8; - if (iVar15 != 0) { - do { - uVar9 = FUN_7f0b8bd8(iVar16); - piVar6 = _DAT_8006b3c8; - iVar14 += 8; - piVar12 = (int *)((int)_DAT_8006b3c8 + iVar14); - *puVar11 = uVar9; - iVar16 += 1; - puVar11 = puVar11 + 1; - } while (*piVar12 != 0); - iVar15 = *piVar6; - } - iVar16 = 0; - iVar14 = 0; - while (iVar15 != 0) { - FUN_7f0b8e30(iVar16); - iVar14 += 8; - iVar16 += 1; - iVar15 = *(int *)((int)_DAT_8006b3c8 + iVar14); - piVar6 = _DAT_8006b3c8; - } - iVar15 = 0; - if (DAT_8003d7d4 < 1) { - iVar15 = *piVar6; - } - else { - do { - FUN_7f0b8874(iVar15); - iVar15 += 1; - } while (iVar15 < DAT_8003d7d4); - iVar15 = *_DAT_8006b3c8; - piVar6 = _DAT_8006b3c8; - } - iVar14 = 0; - if (iVar15 != 0) { - bVar2 = *(byte *)((int)piVar6 + 6); - while( true ) { - iVar14 += 8; - *(byte *)((int)piVar6 + 6) = bVar2 & 0xfe; - piVar6 = (int *)((int)_DAT_8006b3c8 + iVar14); - if (*piVar6 == 0) break; - bVar2 = *(byte *)((int)piVar6 + 6); - } - } - FUN_7f0b2aac(); - } - FUN_7f0b9e2c(iParm1); - DAT_8003d7d8 = 200; - return; -} - - - -void FUN_7f0b3b1c(void) - -{ - FUN_7f0b59b8(); - FUN_7f0590f4(0x3f800000); - return; -} - - - -void FUN_7f0b3b4c(float fParm1) - -{ - DAT_8003ac44 = fParm1; - DAT_8003ac48 = 1.00000000 / fParm1; - return; -} - - - -undefined4 FUN_7f0b3b6c(void) - -{ - return DAT_8003ac48; -} - - - -undefined4 FUN_7f0b3b78(void) - -{ - return DAT_8003ac44; -} - - - -undefined4 FUN_7f0b3bb4(void) - -{ - return DAT_8003ac4c; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b3bc0(void) - -{ - undefined8 uVar1; - longlong lVar2; - undefined4 uVar5; - ulonglong uVar3; - undefined8 uVar4; - int *piVar6; - int *piVar7; - int iVar8; - int iVar9; - int iVar10; - char *pcVar11; - int iVar12; - int iVar13; - - iVar12 = -1; - _DAT_80069f7c = 0; - uVar1 = FUN_7f09a690(); - lVar2 = FUN_7f09aa18(uVar1); - if (lVar2 == 0) { - FUN_7f0b5a24(); - } - uVar5 = FUN_7f07a5c0(); - DAT_8003d7d8 = 3; - if (true) { - switch(uVar5) { - default: - DAT_8003d7d8 = 200; - } - } - uVar3 = FUN_7f08a164(); - DAT_8003dd18 = (undefined4)uVar3; - uVar1 = FUN_7f08a1a0(); - uVar4 = FUN_7f08a1cc(); - iVar13 = 0; - iVar10 = *_DAT_8006b3c8; - piVar6 = _DAT_8006b3c8; - do { - pcVar11 = &DAT_8003d8a4; - iVar9 = 0; - piVar7 = piVar6; - if (iVar10 != 0) { - iVar10 = 0; - piVar7 = piVar6; - iVar9 = 0; - do { - if (*pcVar11 == '\0') { - if (iVar9 == iVar12) { - iVar8 = piVar6[2]; - } - else { - if (((uVar3 == (ulonglong)*(byte *)(piVar6 + 1)) || - (uVar3 == (ulonglong)*(byte *)((int)piVar6 + 5))) && - (lVar2 = loc_7F0BA258(iVar9,uVar1,uVar4), lVar2 != 0)) { - uVar3 = (ulonglong)*(byte *)((int)_DAT_8006b3c8 + iVar10 + 5) ^ - uVar3 ^ (ulonglong)*(byte *)((int)_DAT_8006b3c8 + iVar10 + 4); - piVar7 = _DAT_8006b3c8; - iVar12 = iVar9; - break; - } - piVar6 = (int *)((int)_DAT_8006b3c8 + iVar10); - iVar8 = piVar6[2]; - piVar7 = _DAT_8006b3c8; - } - } - else { - iVar8 = piVar6[2]; - } - iVar9 += 1; - pcVar11 = pcVar11 + 1; - iVar10 += 8; - piVar6 = piVar6 + 2; - } while (iVar8 != 0); - } - piVar6 = piVar7; - iVar13 += 1; - if ((piVar6[iVar9 * 2] == 0) || (iVar13 == 0xb)) { - DAT_8003dd18 = (undefined4)uVar3; - FUN_7f0b7d1c(); - return; - } - iVar10 = *piVar6; - } while( true ); -} - - - -void locret_7F0B4AAC(char *pcParm1,char cParm2) - -{ - char cVar1; - int iVar2; - char *pcVar3; - - iVar2 = 0; - if (*pcParm1 != -1) { - cVar1 = *pcParm1; - pcVar3 = pcParm1; - do { - iVar2 += 1; - if (cParm2 == cVar1) { - return; - } - pcVar3 = pcVar3 + 1; - } while ((iVar2 < 0x10) && (cVar1 = *pcVar3, cVar1 != -1)); - } - if (iVar2 < 0xf) { - pcParm1[iVar2] = cParm2; - (pcParm1 + iVar2)[1] = -1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b3df0(undefined8 uParm1,undefined8 uParm2,byte *pbParm3,int iParm4,uint *puParm5, - int *piParm6,int iParm7) - -{ - char cVar1; - byte *pbVar2; - int *piVar3; - byte *pbVar4; - byte *pbVar5; - int *piVar6; - byte bVar7; - char *pcVar8; - int iVar9; - undefined auStackX0 [12]; - int iStackX12; - char acStack260 [200]; - int iStack60; - int iStack52; - byte abStack48 [8]; - byte abStack40 [8]; - byte bStack32; - byte bStack31; - byte abStack16 [8]; - byte abStack8 [8]; - - iStackX12 = iParm4; - if (*_DAT_8006b3c8 != 0) { - pcVar8 = acStack260; - iVar9 = 0; - iStack52 = 0; - iStackX12 = iParm4; - do { - cVar1 = loc_7F0BA258(iStack52,uParm1,uParm2); - *pcVar8 = cVar1; - iVar9 += 8; - iStack52 += 1; - pcVar8 = pcVar8 + 1; - } while (*(int *)((int)_DAT_8006b3c8 + iVar9) != 0); - } - piVar6 = _DAT_8006b3c8; - pbVar4 = abStack16; - pbVar5 = pbParm3; - do { - bVar7 = *pbVar5; - pbVar2 = pbVar4 + 1; - pbVar5 = pbVar5 + 1; - *pbVar4 = bVar7; - pbVar4 = pbVar2; - } while (pbVar2 < abStack8); - pbVar4 = abStack48; - do { - bVar7 = *pbParm3; - pbVar5 = pbVar4 + 1; - pbParm3 = pbParm3 + 1; - *pbVar4 = bVar7; - pbVar4 = pbVar5; - } while (pbVar5 < abStack40); - if (abStack16[0] != 0xff) { - pbVar4 = abStack16; - while ((abStack16[1] != 0xff && (pbVar4 + 1 != (byte *)register0x000000ec))) { - abStack16[1] = pbVar4[2]; - pbVar4 = pbVar4 + 1; - } - } - do { - iStack60 = 0; - bStack32 = 0xff; - iStack52 = 0; - iVar9 = 0; - piVar3 = piVar6; - if (*piVar6 == 0) { - bStack32 = 0xff; - } - else { - do { - pcVar8 = acStack260 + iStack52; - if (abStack16[0] != 0xff) { - pbVar4 = abStack16; - cVar1 = *pcVar8; - while( true ) { - if ((cVar1 == '\x01') && (*(byte *)(piVar3 + 1) == *pbVar4)) { - locret_7F0B4AAC(&bStack32,(ulonglong)*(byte *)((int)piVar3 + 5)); - locret_7F0B4AAC(abStack48,(ulonglong)*(byte *)((int)_DAT_8006b3c8 + iVar9 + 5)); - piVar6 = _DAT_8006b3c8; - *pcVar8 = '\0'; - cVar1 = '\0'; - piVar3 = (int *)((int)piVar6 + iVar9); - } - if (cVar1 == '\x02') { - if (*(byte *)((int)piVar3 + 5) == *pbVar4) { - locret_7F0B4AAC(&bStack32,(ulonglong)*(byte *)(piVar3 + 1)); - locret_7F0B4AAC(abStack48,(ulonglong)*(byte *)((int)_DAT_8006b3c8 + iVar9 + 4)); - piVar6 = _DAT_8006b3c8; - *pcVar8 = '\0'; - piVar3 = (int *)((int)piVar6 + iVar9); - bVar7 = pbVar4[1]; - } - else { - bVar7 = pbVar4[1]; - } - } - else { - bVar7 = pbVar4[1]; - } - pbVar4 = pbVar4 + 1; - if ((bVar7 == 0xff) || (pbVar4 == (byte *)register0x000000ec)) break; - cVar1 = *pcVar8; - } - } - iVar9 += 8; - piVar3 = piVar3 + 2; - iStack52 += 1; - } while (*piVar3 != 0); - } - pbVar5 = &bStack32; - pbVar4 = abStack16; - if (bStack32 == 0xff) break; - do { - bVar7 = *pbVar5; - pbVar5 = pbVar5 + 1; - *pbVar4 = bVar7; - pbVar4 = pbVar4 + 1; - } while (pbVar5 < abStack16); - bVar7 = bStack31; - pbVar4 = &bStack32; - if (bStack32 != 0xff) { - while( true ) { - if ((bVar7 == 0xff) || (pbVar4 + 1 == abStack16)) break; - bVar7 = pbVar4[2]; - pbVar4 = pbVar4 + 1; - } - } - iStack60 = 0; - } while (bStack32 != 0xff); - if (abStack16[0] != 0xff) { - pbVar4 = abStack16 + iStack60; - pbVar5 = (byte *)(iStackX12 + iStack60); - *pbVar5 = *pbVar4; - while( true ) { - pbVar4 = pbVar4 + 1; - pbVar5 = pbVar5 + 1; - iStack60 += 1; - if ((6 < iStack60) || (*pbVar4 == 0xff)) break; - *pbVar5 = *pbVar4; - } - } - *(undefined *)(iStackX12 + iStack60) = 0xff; - iStack60 = 0; - if (0 < iParm7) { - pbVar4 = abStack48; - if (abStack48[0] == 0xff) { - iStack60 = 0; - } - else { - *puParm5 = (uint)abStack48[0]; - while( true ) { - pbVar4 = pbVar4 + 1; - puParm5 = puParm5 + 1; - iStack60 += 1; - if ((iParm7 <= iStack60) || (*pbVar4 == 0xff)) break; - *puParm5 = (uint)*pbVar4; - } - } - } - *piParm6 = iStack60; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0B4F68(undefined4 *puParm1) - -{ - undefined4 uVar2; - int iVar3; - undefined8 uVar1; - undefined4 *puVar4; - - *puParm1 = 0xbc000002; - puParm1[1] = 0x80000040; - puParm1[2] = 0x3860010; - puParm1[3] = 0x8003dd30; - puParm1[4] = 0x3880010; - puParm1[5] = 0x8003dd28; - puParm1[6] = 0x3840010; - uVar2 = FUN_7f0784f4(); - puParm1[7] = uVar2; - puParm1[8] = 0x3820010; - iVar3 = FUN_7f0784f4(); - puParm1[9] = iVar3 + 0x10; - puParm1[10] = 0xbc003c06; - puParm1[0xb] = _DAT_80069ee0; - if (_DAT_8006b3d0 == 1) { - puParm1[0xc] = 0x6000000; - puVar4 = puParm1 + 0xe; - puParm1[0xd] = _DAT_80069ee8; - } - else { - uVar1 = FUN_7f0ba470(puParm1 + 0xc,0); - uVar1 = FUN_7f0b8014(uVar1); - uVar1 = FUN_7f0b42f0(uVar1); - puVar4 = (undefined4 *)FUN_7f0ba698(uVar1); - } - *puVar4 = 0x1030040; - puVar4[1] = _DAT_80053df0; - FUN_7f08bfe8(puVar4 + 2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0b42d8(int iParm1) - -{ - return *(undefined4 *)(_DAT_8006b3dc + iParm1 * 4 + 4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b42f0(undefined8 uParm1) - -{ - FUN_7f0b4394(uParm1,*(short *)(_DAT_80068bc0 + 0x7f4),*(short *)(_DAT_80068bc0 + 0x7f6), - (int)*(short *)(_DAT_80068bc0 + 0x7f4) + (int)*(short *)(_DAT_80068bc0 + 0x7f0), - (int)*(short *)(_DAT_80068bc0 + 0x7f6) + (int)*(short *)(_DAT_80068bc0 + 0x7f2)); - return; -} - - - -void FUN_7f0b4330(undefined4 uParm1,float fParm2,float fParm3,undefined4 uParm4,undefined4 uParm5) - -{ - undefined4 uVar1; - undefined4 uVar2; - - uVar1 = locret_7F05C510(uParm4); - uVar2 = locret_7F05C510(uParm5); - FUN_7f0b4394(uParm1,(int)fParm2,(int)fParm3,uVar1,uVar2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0b4394(uint *puParm1,longlong lParm2,longlong lParm3,int iParm4,int param_5) - -{ - short sVar1; - short sVar2; - int iVar3; - int iVar4; - int iVar5; - int local_resc; - - iVar3 = (int)lParm2; - sVar1 = *(short *)(_DAT_80068bc0 + 0x7f4); - if (lParm2 < (longlong)sVar1) { - iVar3 = (int)sVar1; - sVar2 = *(short *)(_DAT_80068bc0 + 0x7f6); - } - else { - sVar2 = *(short *)(_DAT_80068bc0 + 0x7f6); - } - iVar4 = (int)lParm3; - if (lParm3 < (longlong)sVar2) { - iVar4 = (int)sVar2; - } - iVar5 = (int)sVar1 + (int)*(short *)(_DAT_80068bc0 + 0x7f0); - local_resc = iParm4; - if (iVar5 < iParm4) { - local_resc = iVar5; - } - iVar5 = (int)sVar2 + (int)*(short *)(_DAT_80068bc0 + 0x7f2); - if (param_5 <= iVar5) { - iVar5 = param_5; - } - *puParm1 = ((int)((float)iVar3 * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)iVar4 * 4.00000000) & 0xfffU; - puParm1[1] = ((int)((float)local_resc * 4.00000000) & 0xfffU) << 0xc | - (int)((float)iVar5 * 4.00000000) & 0xfffU; - return puParm1 + 2; -} - - - -void FUN_7f0b44a4(void) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)&DAT_8006bfc0; - do { - puVar1 = puVar1 + 0x14; - puVar1[5] = 0xffffffff; - puVar1[10] = 0xffffffff; - puVar1[0xf] = 0xffffffff; - *puVar1 = 0xffffffff; - puVar1 = puVar1; - } while (puVar1 != (undefined4 *)&DAT_8006cf60); - return; -} - - - -undefined8 loc_7F0B5464(int iParm1,float *pfParm2) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - uint uVar9; - float fVar10; - undefined auStack60 [4]; - float fStack56; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - float fStack16; - float fStack12; - float fStack8; - uint uStack4; - - iVar3 = 0; - iVar8 = 0; - iVar4 = 0; - iVar5 = 0; - iVar6 = 0; - iVar7 = 0; - FUN_700040fc(auStack60); - fStack56 = fStack56 / DAT_8003ac4c; - iParm1 *= 0x50; - uStack4 = 0; - uVar9 = 0; - do { - if (uVar9 == 0) { - uStack28 = *(undefined4 *)(&DAT_8003aca8 + iParm1); - } - else { - uStack28 = *(undefined4 *)(&DAT_8003ac9c + iParm1); - } - if ((uStack4 & 2) == 0) { - uStack24 = *(undefined4 *)(&DAT_8003acac + iParm1); - } - else { - uStack24 = *(undefined4 *)(&DAT_8003aca0 + iParm1); - } - if ((uStack4 & 4) == 0) { - uStack20 = *(undefined4 *)(&DAT_8003acb0 + iParm1); - } - else { - uStack20 = *(undefined4 *)(&DAT_8003aca4 + iParm1); - } - lVar1 = FUN_7f0b47c4(&uStack28,&fStack16); - if (lVar1 == 0) { - if (fStack56 <= -fStack8) { - iVar3 += 1; - fVar10 = *pfParm2; - } - else { - fVar10 = *pfParm2; - } - if (fVar10 <= fStack16) { - iVar4 += 1; - fVar10 = pfParm2[2]; - } - else { - fVar10 = pfParm2[2]; - } - if (fStack16 <= fVar10) { - iVar5 += 1; - fVar10 = pfParm2[1]; - } - else { - fVar10 = pfParm2[1]; - } - if (fVar10 <= fStack12) { - iVar6 += 1; - fVar10 = pfParm2[3]; - } - else { - fVar10 = pfParm2[3]; - } - if (fStack12 <= fVar10) { - iVar7 += 1; - } - iVar8 += 1; - } - else { - if (fStack56 <= -fStack8) { - iVar3 += 1; - fVar10 = *pfParm2; - } - else { - fVar10 = *pfParm2; - } - if (fStack16 <= fVar10) { - iVar4 += 1; -LAB_7f0b4728: - fVar10 = pfParm2[1]; - } - else { - if (pfParm2[2] <= fStack16) { - iVar5 += 1; - goto LAB_7f0b4728; - } - fVar10 = pfParm2[1]; - } - if (fStack12 <= fVar10) { - iVar6 += 1; - } - else { - if (pfParm2[3] <= fStack12) { - iVar7 += 1; - } - } - } - uStack4 += 1; - if (uStack4 == 8) { - if ((((iVar8 == 8) || (iVar3 == 8)) || (iVar4 == 8)) || - (((iVar5 == 8 || (iVar6 == 8)) || (uVar2 = 1, iVar7 == 8)))) { - uVar2 = 0; - } - return uVar2; - } - uVar9 = uStack4 & 1; - } while( true ); -} - - - -ulonglong FUN_7f0b47c4(float *pfParm1,float *pfParm2) - -{ - undefined8 unaff_10000077; - undefined8 uVar1; - - uVar1 = FUN_7f078444(); - *pfParm2 = *pfParm1 * DAT_8003ac48; - pfParm2[1] = pfParm1[1] * DAT_8003ac48; - pfParm2[2] = pfParm1[2] * DAT_8003ac48; - FUN_7f05891c(uVar1,pfParm2); - loc_7F078094(pfParm2,unaff_10000077); - return (ulonglong)(pfParm2[2] <= 0.00000000); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong loc_7F0B5828(int iParm1,float fParm2,float *pfParm3) - -{ - bool bVar1; - float *pfVar2; - float *pfVar3; - ulonglong uVar4; - ulonglong uVar5; - int iVar6; - int iVar7; - float *pfVar8; - longlong lVar9; - byte *pbVar10; - float fVar11; - float fVar12; - float fVar13; - float fStack48; - float fStack44; - float fStack40; - undefined auStack24 [4]; - float fStack20; - undefined4 uStack4; - - uStack4 = FUN_7f078444(); - bVar1 = true; - FUN_700040fc(auStack24); - fVar13 = DAT_8004d6cc; - fStack20 = fStack20 / DAT_8003ac4c; - iVar7 = iParm1 * 8; - lVar9 = 0; - pbVar10 = *(byte **)(_DAT_8006b3c8 + iVar7); - uVar4 = (ulonglong)*pbVar10; - if (*pbVar10 != 0) { - iVar6 = 0; - pfVar8 = pfParm3; - while( true ) { - *pfVar8 = *(float *)(pbVar10 + 4); - pfVar8[1] = *(float *)(*(int *)(_DAT_8006b3c8 + iVar7) + iVar6 + 8); - pfVar8[2] = *(float *)(*(int *)(_DAT_8006b3c8 + iVar7) + iVar6 + 0xc); - if (fParm2 != 0.00000000) { - FUN_7f0b8968(iParm1,&fStack48); - *pfVar8 = *pfVar8 + fStack48 * fParm2; - pfVar8[1] = pfVar8[1] + fStack44 * fParm2; - pfVar8[2] = pfVar8[2] + fStack40 * fParm2; - } - *pfVar8 = *pfVar8 * DAT_8003ac48; - pfVar8[1] = pfVar8[1] * DAT_8003ac48; - pfVar8[2] = pfVar8[2] * DAT_8003ac48; - FUN_7f05891c(uStack4,pfVar8); - if (-fStack20 * fVar13 < pfVar8[2]) { - bVar1 = false; - } - lVar9 = (longlong)((int)lVar9 + 1); - iVar6 += 0xc; - pfVar8 = pfVar8 + 3; - uVar4 = (ulonglong)**(byte **)(_DAT_8006b3c8 + iVar7); - if ((longlong)uVar4 <= lVar9) break; - pbVar10 = *(byte **)(_DAT_8006b3c8 + iVar7) + iVar6; - } - } - if (bVar1) { - uVar4 = 0; - } - else { - lVar9 = 0; - uVar5 = uVar4; - pfVar8 = pfParm3; - if (uVar4 != 0) { - do { - iVar6 = (int)lVar9 + 1; - lVar9 = (longlong)iVar6; - iVar6 %= (int)uVar5; - fVar13 = pfVar8[2]; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((uVar5 == 0xffffffffffffffff) && (lVar9 == -0x80000000)) { - trap(0x1800); - } - if (0.00000000 < fVar13) { - pfVar2 = pfParm3 + iVar6 * 3; - fVar12 = pfVar2[2]; - if (0.00000000 < fVar12) goto code_r0x7f0b4ac4; -LAB_7f0b4af0: - iVar6 = (int)uVar4; - fVar11 = -fVar13 / (fVar12 - fVar13); - uVar4 = SEXT48(iVar6 + 1); - pfVar3 = pfParm3 + iVar6 * 3; - *pfVar3 = (*pfVar2 - *pfVar8) * fVar11 + *pfVar8; - fVar12 = pfVar2[1]; - fVar13 = pfVar8[1]; - pfVar3[2] = 0.00000000; - pfVar3[1] = (fVar12 - fVar13) * fVar11 + fVar13; - uVar5 = (ulonglong)**(byte **)(_DAT_8006b3c8 + iVar7); - bVar1 = lVar9 < (longlong)uVar5; - } - else { -code_r0x7f0b4ac4: - if (fVar13 <= 0.00000000) { - pfVar2 = pfParm3 + iVar6 * 3; - fVar12 = pfVar2[2]; - if (0.00000000 < fVar12) goto LAB_7f0b4af0; - bVar1 = lVar9 < (longlong)uVar5; - } - else { - bVar1 = lVar9 < (longlong)uVar5; - } - } - pfVar8 = pfVar8 + 3; - } while (bVar1); - } - } - return uVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b4ba0(undefined8 uParm1,float *pfParm2) - -{ - float fVar1; - int iVar2; - int iVar3; - int iVar4; - undefined *puVar5; - int iVar6; - int *piVar7; - float fVar8; - float fVar9; - float fStack264; - float fStack260; - float fStack256; - float fStack252; - float fStack248; - float fStack244; - undefined auStack240 [240]; - - iVar4 = (int)uParm1 * 0x14; - piVar7 = (int *)(&DAT_8006bfc0 + iVar4); - if (*piVar7 < 0) { - fVar8 = (float)FUN_7f0b8c2c(uParm1); - iVar2 = loc_7F0B5828(uParm1,fVar8,auStack240); - if (0.00000000 < fVar8) { - iVar3 = loc_7F0B5828(uParm1,-fVar8,auStack240 + iVar2 * 0xc); - iVar2 += iVar3; - } - iVar3 = 0; - iVar6 = 0; - if (0 < iVar2) { - puVar5 = auStack240; - do { - if (*(float *)(puVar5 + 8) <= 0.00000000) { - loc_7F078094(puVar5,&fStack248); - fVar8 = fStack244; - fVar9 = fStack248; - fVar1 = fStack248; - if (iVar3 == 0) { -LAB_7f0b4d30: - fStack264 = fVar1; - fStack252 = fStack244; - } - else { - fVar8 = fStack248; - if (fStack264 <= fStack248) { - fVar8 = fStack264; - } - fStack264 = fVar8; - fVar9 = fStack248; - if (fStack248 <= fStack256) { - fVar9 = fStack256; - } - fVar8 = fStack244; - if (fStack260 <= fStack244) { - fVar8 = fStack260; - } - fVar1 = fStack264; - if (fStack252 < fStack244) goto LAB_7f0b4d30; - } - iVar3 += 1; - fStack260 = fVar8; - fStack256 = fVar9; - } - iVar6 += 1; - puVar5 = puVar5 + 0xc; - } while (iVar6 != iVar2); - } - if (iVar3 == 0) { - fStack252 = 0.00000000; - fStack260 = 0.00000000; - fStack256 = 0.00000000; - fStack264 = 0.00000000; - } - else { - if ((fStack256 <= fStack264) || (fStack252 <= fStack260)) { - fStack264 = *(float *)(_DAT_80068bc0 + 0x1110); - fStack260 = *(float *)(_DAT_80068bc0 + 0x1114); - fStack256 = *(float *)(_DAT_80068bc0 + 0x1118); - fStack252 = *(float *)(_DAT_80068bc0 + 0x111c); - } - } - *pfParm2 = fStack264; - pfParm2[1] = fStack260; - pfParm2[2] = fStack256; - pfParm2[3] = fStack252; - *(float *)(iVar4 + -0x7ff9403c) = *pfParm2; - *(float *)(iVar4 + -0x7ff94038) = pfParm2[1]; - *(float *)(iVar4 + -0x7ff94034) = pfParm2[2]; - fVar8 = pfParm2[3]; - *piVar7 = iVar3; - *(float *)(iVar4 + -0x7ff94030) = fVar8; - } - else { - *pfParm2 = *(float *)(iVar4 + -0x7ff9403c); - pfParm2[1] = *(float *)(iVar4 + -0x7ff94038); - pfParm2[2] = *(float *)(iVar4 + -0x7ff94034); - pfParm2[3] = *(float *)(iVar4 + -0x7ff94030); - iVar3 = *piVar7; - } - return iVar3; -} - - - -uint * sub_7F0B5B14(uint *puParm1,undefined8 uParm2,undefined8 uParm3,int iParm4,int param_5) - -{ - puParm1[1] = ((uint)uParm2 & 0x3ff) << 0xe | ((uint)uParm3 & 0x3ff) << 2; - *puParm1 = (iParm4 + 1U & 0x3ff) << 0xe | 0xf6000000 | (param_5 + 1U & 0x3ff) << 2; - return puParm1 + 2; -} - - - -void FUN_7f0b4e9c(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - undefined8 uVar1; - - uVar1 = sub_7F0B5B14(); - uVar1 = sub_7F0B5B14(uVar1,uParm4,uParm3,uParm4,uParm5); - uVar1 = sub_7F0B5B14(uVar1,uParm2,uParm5,uParm4,uParm5); - sub_7F0B5B14(uVar1,uParm2,uParm3,uParm2,uParm5); - return; -} - - - -undefined8 locret_7F0B5CB8(float *pfParm1,float *pfParm2) - -{ - if (*pfParm2 < *pfParm1) { - *pfParm1 = *pfParm1; - } - else { - *pfParm1 = *pfParm2; - } - if (pfParm2[1] < pfParm1[1]) { - pfParm1[1] = pfParm1[1]; - } - else { - pfParm1[1] = pfParm2[1]; - } - if (pfParm1[2] < pfParm2[2]) { - pfParm1[2] = pfParm1[2]; - } - else { - pfParm1[2] = pfParm2[2]; - } - if (pfParm1[3] < pfParm2[3]) { - pfParm1[3] = pfParm1[3]; - } - else { - pfParm1[3] = pfParm2[3]; - } - if (*pfParm1 < pfParm1[2]) { - if (pfParm1[1] < pfParm1[3]) { - return 1; - } - pfParm1[1] = pfParm1[3]; - return 0; - } - *pfParm1 = pfParm1[2]; - return 0; -} - - - -void locret_7F0B5D50(float *pfParm1,float *pfParm2) - -{ - if (*pfParm1 < *pfParm2) { - *pfParm1 = *pfParm1; - } - else { - *pfParm1 = *pfParm2; - } - if (pfParm1[1] < pfParm2[1]) { - pfParm1[1] = pfParm1[1]; - } - else { - pfParm1[1] = pfParm2[1]; - } - if (pfParm2[2] < pfParm1[2]) { - pfParm1[2] = pfParm1[2]; - } - else { - pfParm1[2] = pfParm2[2]; - } - if (pfParm1[3] <= pfParm2[3]) { - pfParm1[3] = pfParm2[3]; - return; - } - pfParm1[3] = pfParm1[3]; - return; -} - - - -void copy_4_floats_a1_to_a0(undefined4 *puParm1,undefined4 *puParm2) - -{ - *puParm1 = *puParm2; - puParm1[1] = puParm2[1]; - puParm1[2] = puParm2[2]; - puParm1[3] = puParm2[3]; - return; -} - - - -int FUN_7f0b511c(undefined8 uParm1) - -{ - int iVar1; - - DAT_8003dd4c = (DAT_8003dd4c + 1) % 10; - iVar1 = DAT_8003dd4c * 9 + -0x7ff96020; - FUN_7000a0f4(iVar1,s_ROOM_d_8004d6a0,uParm1); - return iVar1; -} - - - -undefined4 FUN_7f0b5180(void) - -{ - return DAT_8003d7d4; -} - - - -ulonglong FUN_7f0b518c(int iParm1) - -{ - return (ulonglong)(byte)(&DAT_8003ac64)[iParm1 * 0x50]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b51c4(int iParm1) - -{ - int iVar1; - int *piVar2; - int iVar3; - - iVar1 = 0; - if (*_DAT_8006b3c8 != 0) { - iVar3 = *_DAT_8006b3c8; - piVar2 = _DAT_8006b3c8; - do { - if (iParm1 == iVar3) { - return iVar1; - } - iVar3 = piVar2[2]; - iVar1 += 1; - piVar2 = piVar2 + 2; - } while (iVar3 != 0); - } - return 0; -} - - - -void FUN_7f0b5214(void) - -{ - char *pcVar1; - int iVar2; - longlong lVar3; - char *pcVar4; - undefined1 *puVar5; - int iVar6; - char acStack140 [140]; - - lVar3 = FUN_7f090468(); - iVar2 = DAT_8003d7d4; - if (lVar3 != 0) { - puVar5 = &DAT_8003acb4; - iVar6 = 1; - if (1 < DAT_8003d7d4) { - pcVar4 = acStack140; - do { - pcVar4 = pcVar4 + 1; - pcVar1 = puVar5 + 2; - puVar5 = puVar5 + 0x50; - if (*pcVar1 == '\0') { - *pcVar4 = '.'; - } - else { - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - *pcVar4 = (char)(iVar6 % 10) + '0'; - } - iVar6 += 1; - } while (iVar6 < iVar2); - } - acStack140[iVar6] = '\0'; - } - return; -} - - - -void FUN_7f0b52c8(undefined8 uParm1,undefined8 uParm2) - -{ - undefined auStack8448 [8448]; - - sub_GAME_7F0CE894(uParm1,uParm2,auStack8448); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0b52e8(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - undefined8 uVar2; - int iVar3; - uint uVar4; - - iVar1 = iParm1 * 0x50; - uVar4 = *(int *)(&DAT_8003ac74 + iVar1) + 0xfU & 0xfffffff0; - if (iParm3 < (int)(uVar4 + 0x20)) { - uVar2 = 0xffffffffffffffff; - } - else { - iVar3 = (iParm3 - uVar4) + iParm2; - FUN_7f0bc0bc((&PTR_s_bg_bg_sev_all_p_seg_8003d970)[DAT_8003ac50 * 6],iVar3, - *(int *)(_DAT_8006b3d4 + iParm1 * 0x18) + -0xf000000); - uVar2 = FUN_7f0b52c8(iVar3,iParm2); - *(int *)(&DAT_8003ac80 + iVar1) = (int)uVar2; - *(int *)(&DAT_8003ac68 + iVar1) = iParm2; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f0b53d8(int iParm1,undefined8 uParm2,int iParm3) - -{ - int iVar1; - longlong lVar2; - longlong lVar3; - int iVar4; - int iVar5; - uint uVar6; - - iVar1 = iParm1 * 0x50; - uVar6 = *(int *)(&DAT_8003ac78 + iVar1) + 0xfU & 0xfffffff0; - if (iParm3 < (int)(uVar6 + 0x20)) { - lVar2 = -1; - } - else { - iVar4 = (int)uParm2; - iVar5 = (iParm3 - uVar6) + iVar4; - FUN_7f0bc0bc((&PTR_s_bg_bg_sev_all_p_seg_8003d970)[DAT_8003ac50 * 6],iVar5, - *(int *)(_DAT_8006b3d4 + iParm1 * 0x18 + 4) + -0xf000000); - lVar2 = FUN_7f0b52c8(iVar5,uParm2); - iVar5 = (iParm3 - (int)lVar2) + iVar4; - locret_7F0CE7DC(uParm2,iVar5,lVar2); - FUN_7f0bb8c4(iParm1); - lVar3 = loc_7F0CE760(iVar5,lVar2,uParm2,0); - if (lVar2 < lVar3) { - lVar2 = lVar3; - } - *(int *)(&DAT_8003ac6c + iVar1) = iVar4; - *(undefined4 *)(iVar1 + -0x7ffc537c) = (int)lVar2; - } - return lVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f0b5518(int iParm1,undefined8 uParm2,int iParm3) - -{ - int iVar1; - longlong lVar2; - longlong lVar3; - int iVar4; - int iVar5; - uint uVar6; - - iVar1 = iParm1 * 0x50; - uVar6 = *(int *)(&DAT_8003ac7c + iVar1) + 0xfU & 0xfffffff0; - if (iParm3 < (int)(uVar6 + 0x20)) { - lVar2 = -1; - } - else { - iVar5 = (int)uParm2; - iVar4 = (iParm3 - uVar6) + iVar5; - FUN_7f0bc0bc((&PTR_s_bg_bg_sev_all_p_seg_8003d970)[DAT_8003ac50 * 6],iVar4, - *(int *)(_DAT_8006b3d4 + iParm1 * 0x18 + 8) + -0xf000000); - lVar2 = FUN_7f0b52c8(iVar4,uParm2); - iVar4 = (iParm3 - (int)lVar2) + iVar5; - locret_7F0CE7DC(uParm2,iVar4,lVar2); - lVar3 = loc_7F0CE760(iVar4,lVar2,uParm2,0); - if (lVar2 < lVar3) { - lVar2 = lVar3; - } - *(int *)(&DAT_8003ac70 + iVar1) = iVar5; - *(undefined4 *)(iVar1 + -0x7ffc5378) = (int)lVar2; - } - return lVar2; -} - - - -ulonglong FUN_7f0b5650(int iParm1) - -{ - char cVar1; - - cVar1 = (&DAT_8003ac66)[iParm1 * 0x50]; - (&DAT_8003ac99)[iParm1 * 0x50] = 1; - if (cVar1 == '\0') { - FUN_7f0b56a4(); - } - return (ulonglong)(cVar1 == '\0'); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b56a4(int iParm1) - -{ - longlong lVar1; - int iVar2; - int iVar3; - uint uVar4; - int iVar5; - uint local_4; - - if ((iParm1 < DAT_8003d7d4) && (iVar5 = iParm1 * 0x50, (&DAT_8003ac66)[iVar5] == '\0')) { - local_4 = *(uint *)(&DAT_8003ac8c + iVar5); - if ((int)local_4 < 1) { - local_4 = FUN_700097d0(); - } - else { - lVar1 = FUN_7f090458(); - if (lVar1 != 0) { - local_4 += 0x400; - } - } - lVar1 = FUN_70009294(local_4); - iVar3 = 0; - iVar2 = (int)lVar1; - if (lVar1 != 0) { - if (*(int *)(&DAT_8003ac74 + iVar5) == 0) { - *(undefined4 *)(&DAT_8003ac68 + iVar5) = 0; - *(undefined4 *)(&DAT_8003ac80 + iVar5) = 0; - } - else { - lVar1 = FUN_7f0b52e8(iParm1,lVar1,local_4); - iVar3 = 0; - if (-1 < lVar1) { - iVar3 = (int)lVar1; - FUN_7f0bad78(iParm1); - } - } - if ((*(int *)(&DAT_8003ac78 + iVar5) != 0) && - (lVar1 = FUN_7f0b53d8(iParm1,iVar2 + iVar3,local_4 - iVar3), -1 < lVar1)) { - iVar3 += (int)lVar1; - } - if (*(int *)(&DAT_8003ac7c + iVar5) == 0) { - *(undefined4 *)(&DAT_8003ac70 + iVar5) = 0; - } - else { - lVar1 = FUN_7f0b5518(iParm1,iVar2 + iVar3,local_4 - iVar3); - if (0 < lVar1) { - iVar3 += (int)lVar1; - } - } - uVar4 = iVar3 + 0x20U & 0xfffffff0; - *(uint *)(&DAT_8003ac8c + iVar5) = uVar4; - (&DAT_8003ac66)[iVar5] = 1; - if (local_4 != uVar4) { - FUN_7000983c(iVar2,local_4,uVar4); - } - if (_DAT_8006cf60 == 0) { - locret_7F0BA710(*(int *)(&DAT_8003ac6c + iVar5), - *(int *)(iVar5 + -0x7ffc537c) + *(int *)(&DAT_8003ac6c + iVar5),6); - iVar3 = *(int *)(&DAT_8003ac70 + iVar5); - if (iVar3 != 0) { - locret_7F0BA710(iVar3,*(int *)(iVar5 + -0x7ffc5378) + iVar3,7); - } - } - else { - locret_7F0BA710(*(int *)(&DAT_8003ac6c + iVar5), - *(int *)(iVar5 + -0x7ffc537c) + *(int *)(&DAT_8003ac6c + iVar5),1); - iVar3 = *(int *)(&DAT_8003ac70 + iVar5); - if (iVar3 != 0) { - locret_7F0BA710(iVar3,*(int *)(iVar5 + -0x7ffc5378) + iVar3,5); - } - } - FUN_7f0b5cd0(iParm1); - FUN_7f0b5214(); - } - } - return; -} - - - -void FUN_7f0b5900(int iParm1) - -{ - int iVar1; - int iVar2; - - iVar2 = iParm1 * 0x50; - if ((&DAT_8003ac90)[iParm1 * 0x14] == 0) { - iVar1 = *(int *)(&DAT_8003ac8c + iVar2); - } - else { - FUN_70009480((&DAT_8003ac90)[iParm1 * 0x14], - (int)*(short *)(&DAT_8003ac94 + iVar2) * 0x1c + 0xfU & 0xfffffff0); - (&DAT_8003ac90)[iParm1 * 0x14] = 0; - iVar1 = *(int *)(&DAT_8003ac8c + iVar2); - } - if (0 < iVar1) { - if (*(int *)(&DAT_8003ac68 + iVar2) == 0) { - FUN_70009480(*(undefined4 *)(&DAT_8003ac6c + iVar2),iVar1); - *(undefined4 *)(&DAT_8003ac68 + iVar2) = 0; - } - else { - FUN_70009480(*(int *)(&DAT_8003ac68 + iVar2),iVar1); - *(undefined4 *)(&DAT_8003ac68 + iVar2) = 0; - } - *(undefined4 *)(&DAT_8003ac6c + iVar2) = 0; - *(undefined4 *)(&DAT_8003ac70 + iVar2) = 0; - } - (&DAT_8003ac66)[iVar2] = 0; - FUN_7f0b5214(); - return; -} - - - -void FUN_7f0b59b8(void) - -{ - int iVar1; - undefined1 *puVar2; - int iVar3; - - iVar3 = 1; - if (1 < DAT_8003d7d4) { - puVar2 = &DAT_8003acb4; - iVar1 = DAT_8003d7d4; - do { - if (puVar2[2] != '\0') { - FUN_7f0b5900(iVar3); - iVar1 = DAT_8003d7d4; - } - iVar3 += 1; - puVar2 = puVar2 + 0x50; - } while (iVar3 < iVar1); - } - return; -} - - - -void FUN_7f0b5a24(void) - -{ - char cVar1; - int iVar2; - undefined1 *puVar3; - int iVar4; - - iVar4 = 1; - if (1 < DAT_8003d7d4) { - puVar3 = &DAT_8003acb4; - iVar2 = DAT_8003d7d4; - do { - if (puVar3[0x35] == '\0') { - cVar1 = puVar3[2]; - if (cVar1 == '\x04') { - FUN_7f0b5900(iVar4); - iVar2 = DAT_8003d7d4; - } - else { - if (cVar1 != '\0') { - puVar3[2] = cVar1 + '\x01'; - } - } - } - iVar4 += 1; - puVar3 = puVar3 + 0x50; - } while (iVar4 < iVar2); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0b5b08) overlaps instruction at (ram,0x7f0b5b04) -// - -undefined4 * FUN_7f0b5ab8(undefined4 *puParm1,int iParm2) - -{ - undefined4 *unaff_1000007e; - char cVar2; - undefined4 *puVar1; - int iVar3; - - if ((iParm2 < DAT_8003d7d4) && ((DAT_8003dd44 != 0 || (DAT_8003dd40 == iParm2 % 10)))) { - iVar3 = iParm2 * 0x50; - cVar2 = (&DAT_8003ac66)[iVar3]; - if ((cVar2 == '\0') && (0 < DAT_8003d7d8)) { - DAT_8003d7d8 = DAT_8003d7d8 + -1; - FUN_7f0b56a4(iParm2); - cVar2 = (&DAT_8003ac66)[iVar3]; - puParm1 = unaff_1000007e; - } - if (cVar2 != '\0') { - puVar1 = (undefined4 *)FUN_7f0bbdc4(puParm1,iParm2); - *puVar1 = 0xbc003806; - puVar1[1] = *(int *)(&DAT_8003ac68 + iVar3) + -0x80000000; - puVar1[2] = 0x6000000; - puParm1 = puVar1 + 4; - puVar1[3] = *(int *)(&DAT_8003ac6c + iVar3) + -0x80000000; - (&DAT_8003ac66)[iVar3] = 1; - } - } - return puParm1; -} - - - -undefined4 * FUN_7f0b5bd4(undefined4 *puParm1,int iParm2) - -{ - char cVar1; - undefined4 *puVar2; - int iVar3; - - if ((iParm2 < DAT_8003d7d4) && (iVar3 = iParm2 * 0x50, *(int *)(&DAT_8003ac70 + iVar3) != 0)) { - if (DAT_8003dd44 == 0) { - if (DAT_8003dd40 != iParm2 % 10) { - return puParm1; - } - cVar1 = (&DAT_8003ac66)[iVar3]; - } - else { - cVar1 = (&DAT_8003ac66)[iVar3]; - } - if (cVar1 == '\0') { - FUN_7f0b56a4(iParm2); - } - else { - puVar2 = (undefined4 *)FUN_7f0bbdc4(puParm1); - *puVar2 = 0xbc003806; - puVar2[1] = *(int *)(&DAT_8003ac68 + iVar3) + -0x80000000; - puVar2[2] = 0x6000000; - puParm1 = puVar2 + 4; - puVar2[3] = *(int *)(&DAT_8003ac70 + iVar3) + -0x80000000; - (&DAT_8003ac66)[iVar3] = 1; - } - } - return puParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b5cd0(int iParm1) - -{ - byte bVar1; - short sVar2; - int iVar3; - longlong lVar4; - char cVar6; - undefined4 *puVar5; - short *psVar7; - short *psVar8; - int iVar9; - int iVar10; - char *pcVar11; - char *pcVar12; - int iVar13; - short sVar14; - - iVar13 = iParm1 * 0x50; - if ((&DAT_8003ac90)[iParm1 * 0x14] == 0) { - iVar3 = *(int *)(&DAT_8003ac68 + iVar13); - pcVar12 = *(char **)(&DAT_8003ac6c + iVar13); - iVar9 = 0; - if (*pcVar12 != -0x48) { - cVar6 = *pcVar12; - pcVar11 = pcVar12; - do { - if (cVar6 == '\x04') { - iVar9 += 1; - cVar6 = pcVar11[8]; - } - else { - cVar6 = pcVar11[8]; - } - pcVar11 = pcVar11 + 8; - } while (cVar6 != -0x48); - } - lVar4 = FUN_70009294(iVar9 * 0x1c + 0xfU & 0xfffffff0); - lVar4._4_4_ = (int)lVar4; - if (lVar4 != 0) { - (&DAT_8003ac90)[iParm1 * 0x14] = lVar4._4_4_; - *(short *)(&DAT_8003ac94 + iVar13) = (short)iVar9; - iVar13 = 0; - sVar14 = 0; - if (*pcVar12 != -0x48) { - cVar6 = *pcVar12; - do { - if (cVar6 == '\x04') { - psVar7 = (short *)(lVar4._4_4_ + iVar13 * 0x1c); - *psVar7 = sVar14; - iVar10 = iParm1 * 0x18; - iVar9 = 0; - puVar5 = (undefined4 *)(lVar4._4_4_ + iVar13 * 0x1c); - do { - iVar9 += 1; - puVar5[1] = 0x7fff; - puVar5[4] = 0xffff8000; - puVar5 = puVar5 + 1; - } while (iVar9 < 3); - bVar1 = pcVar12[1]; - iVar9 = 0; - psVar8 = (short *)((*(uint *)(pcVar12 + 4) & 0xffffff) + iVar3); - if ((uint)(bVar1 >> 4) != 0xffffffff) { - do { - iVar9 += 1; - if ((longlong)*psVar8 < (longlong)*(int *)(psVar7 + 2)) { - *(int *)(psVar7 + 2) = (int)*psVar8; - sVar2 = psVar8[1]; - } - else { - sVar2 = psVar8[1]; - } - if ((longlong)sVar2 < (longlong)*(int *)(psVar7 + 4)) { - *(int *)(psVar7 + 4) = (int)sVar2; - sVar2 = psVar8[2]; - } - else { - sVar2 = psVar8[2]; - } - if ((longlong)sVar2 < (longlong)*(int *)(psVar7 + 6)) { - *(int *)(psVar7 + 6) = (int)sVar2; - sVar2 = *psVar8; - } - else { - sVar2 = *psVar8; - } - if ((longlong)*(int *)(psVar7 + 8) < (longlong)sVar2) { - *(int *)(psVar7 + 8) = (int)sVar2; - sVar2 = psVar8[1]; - } - else { - sVar2 = psVar8[1]; - } - if ((longlong)*(int *)(psVar7 + 10) < (longlong)sVar2) { - *(int *)(psVar7 + 10) = (int)sVar2; - sVar2 = psVar8[2]; - } - else { - sVar2 = psVar8[2]; - } - if ((longlong)*(int *)(psVar7 + 0xc) < (longlong)sVar2) { - *(int *)(psVar7 + 0xc) = (int)sVar2; - } - psVar8 = psVar8 + 8; - } while (iVar9 != (uint)(bVar1 >> 4) + 1); - } - if (*(int *)(psVar7 + 2) == *(int *)(psVar7 + 8)) { - *(int *)(psVar7 + 8) = *(int *)(psVar7 + 8) + 1; - iVar9 = *(int *)(psVar7 + 10); - } - else { - iVar9 = *(int *)(psVar7 + 10); - } - if (*(int *)(psVar7 + 4) == iVar9) { - *(int *)(psVar7 + 10) = iVar9 + 1; - iVar9 = *(int *)(psVar7 + 6); - } - else { - iVar9 = *(int *)(psVar7 + 6); - } - if (iVar9 == *(int *)(psVar7 + 0xc)) { - *(int *)(psVar7 + 0xc) = *(int *)(psVar7 + 0xc) + 1; - iVar9 = *(int *)(psVar7 + 6); - } - iVar13 += 1; - *(int *)(psVar7 + 2) = - *(int *)(psVar7 + 2) + (int)*(float *)(_DAT_8006b3d4 + iVar10 + 0xc); - *(int *)(psVar7 + 4) = - *(int *)(psVar7 + 4) + (int)*(float *)(_DAT_8006b3d4 + iVar10 + 0x10); - *(int *)(psVar7 + 6) = iVar9 + (int)*(float *)(_DAT_8006b3d4 + iVar10 + 0x14); - *(int *)(psVar7 + 8) = - *(int *)(psVar7 + 8) + (int)*(float *)(_DAT_8006b3d4 + iVar10 + 0xc); - *(int *)(psVar7 + 10) = - *(int *)(psVar7 + 10) + (int)*(float *)(_DAT_8006b3d4 + iVar10 + 0x10); - *(int *)(psVar7 + 0xc) = - *(int *)(psVar7 + 0xc) + (int)*(float *)(_DAT_8006b3d4 + iVar10 + 0x14); - } - cVar6 = pcVar12[8]; - sVar14 += 1; - pcVar12 = pcVar12 + 8; - } while (cVar6 != -0x48); - } - } - } - return; -} - - - -undefined8 locret_7F0B7008(float *pfParm1,float *pfParm2,int *piParm3,int *piParm4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float local_74; - float local_48; - float local_44; - - fVar6 = *pfParm2; - fVar5 = (float)*piParm4 - *pfParm1; - fVar4 = (float)*piParm3 - *pfParm1; - if (fVar6 < 0.00000000) { - fVar6 = -fVar6; - fVar4 = -fVar4; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar4) || (0.00000000 <= fVar5)) { - if (fVar5 < fVar4) { - fVar2 = pfParm1[1]; - fVar7 = fVar5; - } - else { - fVar2 = pfParm1[1]; - fVar7 = fVar4; - fVar4 = fVar5; - } - fVar3 = pfParm2[1]; - fVar5 = (float)piParm4[1] - fVar2; - fVar2 = (float)piParm3[1] - fVar2; - if (fVar3 < 0.00000000) { - fVar3 = -fVar3; - fVar2 = -fVar2; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar2) || (0.00000000 <= fVar5)) { - local_44 = fVar5; - if (fVar2 <= fVar5) { - local_44 = fVar2; - fVar2 = fVar5; - } - if (local_44 * fVar6 < fVar7 * fVar3) { - local_48 = fVar6; - local_44 = fVar7; - if (fVar2 * fVar6 < fVar7 * fVar3) { - return 0; - } - } - else { - local_48 = fVar3; - if (fVar4 * fVar3 < local_44 * fVar6) { - return 0; - } - } - local_74 = fVar4 * fVar3; - if (fVar2 * fVar6 <= local_74) { - fVar4 = fVar2; - fVar6 = fVar3; - } - fVar2 = pfParm2[2]; - fVar7 = (float)piParm3[2] - pfParm1[2]; - fVar5 = (float)piParm4[2] - pfParm1[2]; - if (fVar2 < 0.00000000) { - fVar2 = -fVar2; - fVar7 = -fVar7; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar7) || (0.00000000 <= fVar5)) { - fVar3 = fVar7; - if (fVar7 <= fVar5) { - fVar3 = fVar5; - fVar5 = fVar7; - } - if (local_44 * fVar2 < fVar5 * local_48) { - if (fVar4 * fVar2 < fVar5 * fVar6) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - else { - if (fVar3 * local_48 < local_44 * fVar2) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 -loc_7F0B7A44(float *pfParm1,undefined4 uParm2,undefined4 uParm3,short *psParm4,int iParm5, - float *pfParm6) - -{ - char cVar1; - short sVar2; - int iVar3; - longlong lVar4; - int iVar5; - uint *puVar6; - uint *puVar7; - int iVar8; - short *psVar9; - int *piVar10; - ulonglong uVar11; - int iVar12; - uint *puVar13; - uint *puVar14; - uint uVar15; - int iStack192; - int iStack188; - int iStack184; - int iStack180; - int iStack176; - int iStack172; - int iStack164; - int iStack160; - int iStack156; - int aiStack152 [8]; - int iStack120; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack92; - int iStack88; - int iStack84; - int aiStack80 [2]; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - undefined4 uStack20; - - iVar3 = iParm5 * 0x50; - puVar13 = (uint *)((int)*psParm4 * 8 + *(int *)(&DAT_8003ac6c + iVar3)); - aiStack80[0] = 0x7fffffff; - uStack20 = 0; - cVar1 = *(char *)(puVar13 + 2); - uVar15 = (uint)*(byte *)((int)puVar13 + 1) & 0xf; - iVar12 = (puVar13[1] & 0xffffff) + *(int *)(&DAT_8003ac68 + iVar3); -joined_r0x7f0b63ec: - do { - if ((cVar1 == '\x04') || (cVar1 == -0x48)) { - return uStack20; - } - puVar14 = puVar13 + 2; - if (cVar1 == -0x41) { - piVar10 = &iStack92; - iStack92 = (int)(uint)*(byte *)((int)puVar13 + 0xd) / 10 - uVar15; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar13 + 0xd) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack88 = (int)(uint)*(byte *)((int)puVar13 + 0xe) / 10 - uVar15; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar13 + 0xe) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack84 = (int)(uint)*(byte *)((int)puVar13 + 0xf) / 10 - uVar15; - if (false) { - trap(0x1c00); - } - iVar5 = iStack92; - iStack120 = DAT_8003dd5c; - iStack116 = DAT_8003dd60; - iStack112 = DAT_8003dd64; - iStack108 = DAT_8003dd50; - iStack104 = DAT_8003dd54; - iStack100 = DAT_8003dd58; - if ((false) && - (iVar5 = iStack92, iStack120 = DAT_8003dd5c, iStack116 = DAT_8003dd60, - iStack112 = DAT_8003dd64, iStack108 = DAT_8003dd50, iStack104 = DAT_8003dd54, - iStack100 = DAT_8003dd58, (ulonglong)*(byte *)((int)puVar13 + 0xf) == 0xffffffff80000000)) - { - trap(0x1800); - iVar5 = iStack92; - iStack120 = DAT_8003dd5c; - iStack116 = DAT_8003dd60; - iStack112 = DAT_8003dd64; - iStack108 = DAT_8003dd50; - iStack104 = DAT_8003dd54; - iStack100 = DAT_8003dd58; - } - while( true ) { - piVar10 = piVar10 + 1; - psVar9 = (short *)(iVar12 + iVar5 * 0x10); - lVar4 = (longlong)*psVar9; - if (lVar4 < (longlong)iStack108) { - iStack108 = (int)*psVar9; - lVar4 = (longlong)*psVar9; - } - if ((longlong)iStack120 < lVar4) { - iStack120 = (int)lVar4; - sVar2 = psVar9[1]; - } - else { - sVar2 = psVar9[1]; - } - lVar4 = (longlong)sVar2; - if (lVar4 < (longlong)iStack104) { - iStack104 = (int)sVar2; - lVar4 = (longlong)psVar9[1]; - } - if ((longlong)iStack116 < lVar4) { - iStack116 = (int)lVar4; - sVar2 = psVar9[2]; - } - else { - sVar2 = psVar9[2]; - } - lVar4 = (longlong)sVar2; - if (lVar4 < (longlong)iStack100) { - iStack100 = (int)sVar2; - lVar4 = (longlong)psVar9[2]; - } - if ((longlong)iStack112 < lVar4) { - iStack112 = (int)lVar4; - } - if (piVar10 == aiStack80) break; - iVar5 = *piVar10; - } - iVar5 = _DAT_8006b3d4 + iParm5 * 0x18; - iStack108 += (int)*(float *)(iVar5 + 0xc); - iStack104 += (int)*(float *)(iVar5 + 0x10); - iStack100 += (int)*(float *)(iVar5 + 0x14); - iStack120 += (int)*(float *)(iVar5 + 0xc); - iStack116 += (int)*(float *)(iVar5 + 0x10); - iStack112 += (int)*(float *)(iVar5 + 0x14); - lVar4 = locret_7F0B7008(pfParm1,uParm3); - if ((lVar4 != 0) && - (lVar4 = sub_GAME_7F092890(iVar12 + iStack92 * 0x10,iVar12 + iStack88 * 0x10, - iVar12 + iStack84 * 0x10,iParm5 * 0x18 + _DAT_8006b3d4 + 0xc, - pfParm1,uParm2,uParm3,&fStack72), lVar4 != 0)) { - uStack20 = 1; - iVar5 = ((int)fStack72 - (int)*pfParm1) * ((int)fStack72 - (int)*pfParm1) + - ((int)fStack68 - (int)pfParm1[1]) * ((int)fStack68 - (int)pfParm1[1]) + - ((int)fStack64 - (int)pfParm1[2]) * ((int)fStack64 - (int)pfParm1[2]); - puVar7 = puVar14; - if (*(char *)puVar14 == -3) { -LAB_7f0b67c8: - puVar6 = *(uint **)(&DAT_8003ac6c + iVar3); - } - else { - if (*(uint **)(&DAT_8003ac6c + iVar3) < puVar14) { - cVar1 = *(char *)puVar13; - puVar6 = puVar14; - while( true ) { - puVar7 = puVar6 + -2; - if (cVar1 == -3) break; - if (puVar7 <= *(uint **)(&DAT_8003ac6c + iVar3)) goto LAB_7f0b67c8; - cVar1 = *(char *)(puVar6 + -4); - puVar6 = puVar7; - } - puVar6 = *(uint **)(&DAT_8003ac6c + iVar3); - } - else { - puVar6 = *(uint **)(&DAT_8003ac6c + iVar3); - puVar7 = puVar14; - } - } - if (puVar7 == puVar6) { - uVar11 = 0xffffffffffffffff; - } - else { - uVar11 = (ulonglong)*(ushort *)(puVar7[1] - 8 | 0x80000000); - } - lVar4 = locret_7F0BB68C(uVar11); - if (lVar4 != 0) { - iVar5 += -4; - } - if (iVar5 < aiStack80[0]) { - if (uVar11 == 0x4fd) { - cVar1 = *(char *)(puVar13 + 4); - puVar13 = puVar14; - goto joined_r0x7f0b63ec; - } - *pfParm6 = fStack72; - pfParm6[1] = fStack68; - pfParm6[2] = fStack64; - pfParm6[3] = fStack60; - pfParm6[4] = fStack56; - pfParm6[5] = fStack52; - *(int *)(pfParm6 + 6) = iStack92 * 0x10 + iVar12; - *(int *)(pfParm6 + 7) = iStack88 * 0x10 + iVar12; - *(undefined2 *)((int)pfParm6 + 0x2a) = (short)uVar11; - *(uint **)(pfParm6 + 9) = puVar14; - *(int *)(pfParm6 + 8) = iStack84 * 0x10 + iVar12; - *(undefined2 *)(pfParm6 + 10) = 0; - aiStack80[0] = iVar5; - } - } - } - else { - if (cVar1 == -0x4f) { - iVar5 = 0; - do { - iStack180 = DAT_8003dd68; - iStack176 = DAT_8003dd6c; - iStack172 = DAT_8003dd70; - iStack192 = DAT_8003dd74; - iStack188 = DAT_8003dd78; - iStack184 = DAT_8003dd7c; - if (iVar5 == 0) { - iStack164 = (puVar13[3] & 0xf) - uVar15; - iStack160 = (uint)(*(byte *)((int)puVar13 + 0xf) >> 4) - uVar15; - iStack156 = (*puVar14 & 0xf) - uVar15; - } - else { - if (iVar5 == 1) { - iStack164 = ((uint)*(byte *)((int)puVar13 + 0xe) & 0xf) - uVar15; - iStack160 = (uint)(*(ushort *)((int)puVar13 + 0xe) >> 0xc) - uVar15; - iStack156 = (uint)(*(byte *)((int)puVar13 + 0xb) >> 4) - uVar15; - } - else { - if (iVar5 == 2) { - iStack164 = ((uint)*(ushort *)(puVar13 + 3) & 0xf) - uVar15; - iStack160 = (uint)(*(byte *)((int)puVar13 + 0xd) >> 4) - uVar15; - iStack156 = ((uint)*(byte *)((int)puVar13 + 10) & 0xf) - uVar15; - } - else { - iStack164 = ((uint)*(byte *)(puVar13 + 3) & 0xf) - uVar15; - iStack160 = (puVar13[3] >> 0x1c) - uVar15; - iStack156 = (uint)(*(ushort *)((int)puVar13 + 10) >> 0xc) - uVar15; - } - } - } - piVar10 = &iStack164; - iVar8 = iStack164; - while( true ) { - piVar10 = piVar10 + 1; - psVar9 = (short *)(iVar12 + iVar8 * 0x10); - lVar4 = (longlong)*psVar9; - if (lVar4 < (longlong)iStack180) { - iStack180 = (int)*psVar9; - lVar4 = (longlong)*psVar9; - } - if ((longlong)iStack192 < lVar4) { - iStack192 = (int)lVar4; - sVar2 = psVar9[1]; - } - else { - sVar2 = psVar9[1]; - } - lVar4 = (longlong)sVar2; - if (lVar4 < (longlong)iStack176) { - iStack176 = (int)sVar2; - lVar4 = (longlong)psVar9[1]; - } - if ((longlong)iStack188 < lVar4) { - iStack188 = (int)lVar4; - sVar2 = psVar9[2]; - } - else { - sVar2 = psVar9[2]; - } - lVar4 = (longlong)sVar2; - if (lVar4 < (longlong)iStack172) { - iStack172 = (int)sVar2; - lVar4 = (longlong)psVar9[2]; - } - if ((longlong)iStack184 < lVar4) { - iStack184 = (int)lVar4; - } - if (piVar10 == aiStack152) break; - iVar8 = *piVar10; - } - iVar8 = _DAT_8006b3d4 + iParm5 * 0x18; - iStack180 += (int)*(float *)(iVar8 + 0xc); - iStack176 += (int)*(float *)(iVar8 + 0x10); - iStack172 += (int)*(float *)(iVar8 + 0x14); - iStack192 += (int)*(float *)(iVar8 + 0xc); - iStack188 += (int)*(float *)(iVar8 + 0x10); - iStack184 += (int)*(float *)(iVar8 + 0x14); - lVar4 = locret_7F0B7008(pfParm1,uParm3,&iStack180,&iStack192); - if ((lVar4 != 0) && - (lVar4 = sub_GAME_7F092890(iVar12 + iStack164 * 0x10,iVar12 + iStack160 * 0x10, - iVar12 + iStack156 * 0x10, - iParm5 * 0x18 + _DAT_8006b3d4 + 0xc,pfParm1,uParm2,uParm3, - &fStack72), lVar4 != 0)) { - uStack20 = 1; - iVar8 = ((int)fStack72 - (int)*pfParm1) * ((int)fStack72 - (int)*pfParm1) + - ((int)fStack68 - (int)pfParm1[1]) * ((int)fStack68 - (int)pfParm1[1]) + - ((int)fStack64 - (int)pfParm1[2]) * ((int)fStack64 - (int)pfParm1[2]); - puVar7 = puVar14; - if (*(char *)puVar14 == -3) { -LAB_7f0b6c8c: - puVar6 = *(uint **)(&DAT_8003ac6c + iVar3); - } - else { - if (*(uint **)(&DAT_8003ac6c + iVar3) < puVar14) { - cVar1 = *(char *)puVar13; - puVar6 = puVar14; - while( true ) { - puVar7 = puVar6 + -2; - if (cVar1 == -3) break; - if (puVar7 <= *(uint **)(&DAT_8003ac6c + iVar3)) goto LAB_7f0b6c8c; - cVar1 = *(char *)(puVar6 + -4); - puVar6 = puVar7; - } - puVar6 = *(uint **)(&DAT_8003ac6c + iVar3); - } - else { - puVar6 = *(uint **)(&DAT_8003ac6c + iVar3); - puVar7 = puVar14; - } - } - if (puVar7 == puVar6) { - uVar11 = 0xffffffffffffffff; - } - else { - uVar11 = (ulonglong)*(ushort *)(puVar7[1] - 8 | 0x80000000); - } - lVar4 = locret_7F0BB68C(uVar11); - if (lVar4 != 0) { - iVar8 += -4; - } - if ((iVar8 < aiStack80[0]) && (uVar11 != 0x4fd)) { - *pfParm6 = fStack72; - pfParm6[1] = fStack68; - pfParm6[2] = fStack64; - pfParm6[3] = fStack60; - pfParm6[4] = fStack56; - pfParm6[5] = fStack52; - *(int *)(pfParm6 + 6) = iStack164 * 0x10 + iVar12; - *(int *)(pfParm6 + 7) = iStack160 * 0x10 + iVar12; - *(undefined2 *)((int)pfParm6 + 0x2a) = (short)uVar11; - *(uint **)(pfParm6 + 9) = puVar14; - *(int *)(pfParm6 + 8) = iStack156 * 0x10 + iVar12; - *(short *)(pfParm6 + 10) = (short)iVar5 + 1; - aiStack80[0] = iVar8; - } - } - iVar5 += 1; - } while (iVar5 != 4); - } - } - cVar1 = *(char *)(puVar13 + 4); - puVar13 = puVar14; - } while( true ); -} - - - -int loc_7F0B7D64(float *pfParm1,float *pfParm2,int iParm3,float *pfParm4) - -{ - char cVar1; - int iVar2; - longlong lVar3; - int *piVar4; - int *piVar5; - int iVar6; - int iVar7; - longlong lVar8; - int iVar9; - int iVar10; - int iStack108; - int iStack100; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - undefined2 uStack52; - undefined2 uStack50; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - short sStack6; - - iStack108 = 0; - iStack100 = 0x7fffffff; - fStack20 = *pfParm1 * DAT_8003ac44; - iVar2 = iParm3 * 0x50; - iVar7 = (&DAT_8003ac90)[iParm3 * 0x14]; - fStack16 = pfParm1[1] * DAT_8003ac44; - fStack12 = pfParm1[2] * DAT_8003ac44; - fStack32 = *pfParm2 * DAT_8003ac44; - fStack28 = pfParm2[1] * DAT_8003ac44; - fStack44 = fStack32 - fStack20; - fStack24 = pfParm2[2] * DAT_8003ac44; - fStack40 = fStack28 - fStack16; - fStack36 = fStack24 - fStack12; - if (iVar7 == 0) { - iStack108 = 0; - } - else { - sStack6 = *(short *)(&DAT_8003ac94 + iVar2); - lVar8 = 0; - iVar9 = iVar7 + 4; - if (0 < sStack6) { - iVar10 = iVar7 + 0x10; - do { - lVar3 = locret_7F0B7008(&fStack20,&fStack44,iVar9,iVar10); - if ((lVar3 != 0) && - (lVar3 = loc_7F0B7A44(&fStack20,&fStack32,&fStack44,iVar7,iParm3,&fStack92), lVar3 != 0)) - { - iStack108 = 1; - iVar6 = (int)(fStack92 - fStack20) * (int)(fStack92 - fStack20) + - (int)(fStack88 - fStack16) * (int)(fStack88 - fStack16) + - (int)(fStack84 - fStack12) * (int)(fStack84 - fStack12); - lVar3 = locret_7F0BB68C(uStack50); - if (lVar3 != 0) { - iVar6 += -4; - } - if (iVar6 < iStack100) { - *pfParm4 = fStack92; - pfParm4[1] = fStack88; - pfParm4[2] = fStack84; - pfParm4[3] = fStack80; - pfParm4[4] = fStack76; - pfParm4[5] = fStack72; - pfParm4[6] = fStack68; - pfParm4[7] = fStack64; - pfParm4[8] = fStack60; - *(undefined2 *)((int)pfParm4 + 0x2a) = uStack50; - pfParm4[9] = fStack56; - *(undefined2 *)(pfParm4 + 10) = uStack52; - iStack100 = iVar6; - } - } - lVar8 = (longlong)((int)lVar8 + 1); - iVar7 += 0x1c; - iVar9 += 0x1c; - iVar10 += 0x1c; - } while (lVar8 != (longlong)sStack6); - } - if (iStack108 != 0) { - piVar4 = (int *)pfParm4[9]; - if (*(char *)piVar4 == -0xb) { - piVar5 = *(int **)(&DAT_8003ac6c + iVar2); - } - else { - if (*(int **)(&DAT_8003ac6c + iVar2) < piVar4) { - cVar1 = *(char *)(piVar4 + -2); - piVar5 = piVar4; - while( true ) { - piVar4 = piVar5 + -2; - if (cVar1 == -0xb) break; - if (piVar4 <= *(int **)(&DAT_8003ac6c + iVar2)) { - piVar5 = *(int **)(&DAT_8003ac6c + iVar2); - goto LAB_7f0b7068; - } - cVar1 = *(char *)(piVar5 + -4); - piVar5 = piVar4; - } - piVar5 = *(int **)(&DAT_8003ac6c + iVar2); - } - else { - piVar5 = *(int **)(&DAT_8003ac6c + iVar2); - } - } -LAB_7f0b7068: - if (piVar4 == piVar5) { - *(undefined2 *)(pfParm4 + 0xb) = 0xffff; - *(undefined2 *)((int)pfParm4 + 0x2e) = 0xffff; - } - else { - *(ushort *)(pfParm4 + 0xb) = (ushort)(*(byte *)((int)piVar4 + 1) >> 5); - *(ushort *)((int)pfParm4 + 0x2e) = (ushort)((uint)(*piVar4 << 0xb) >> 0x1e); - } - } - } - return iStack108; -} - - - -void FUN_7f0b70d0(void) - -{ - DAT_8003dd88 = 0; - DAT_8003dd8c = 0; - return; -} - - - -ulonglong FUN_7f0b70e4(int iParm1) - -{ - byte bVar1; - - bVar1 = (&DAT_8003ac67)[iParm1 * 0x50]; - if (bVar1 != 0xff) { - bVar1 += 1; - (&DAT_8003ac67)[iParm1 * 0x50] = bVar1; - } - return (ulonglong)bVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b7120(ulonglong uParm1,int iParm2,longlong lParm3,undefined4 *puParm4) - -{ - int iVar1; - int iVar3; - longlong lVar2; - - iVar1 = DAT_8003dd88 * 0x14; - if ((lParm3 < 2) || - (iVar3 = _DAT_8006b3c8 + iParm2 * 8, - lVar2 = FUN_7f0b70e4((ulonglong)(*(byte *)(iVar3 + 4) ^ *(byte *)(iVar3 + 5)) ^ uParm1), - iVar3 = DAT_8003dd88, lVar2 < 9)) { - *(undefined *)(iVar1 + -0x7ff95fc0) = (char)uParm1; - *(undefined2 *)(iVar1 + -0x7ff95fbe) = (short)lParm3; - *(undefined *)(iVar1 + -0x7ff95fbf) = (char)iParm2; - *(undefined4 *)(iVar1 + -0x7ff95fbc) = *puParm4; - *(undefined4 *)(iVar1 + -0x7ff95fb8) = puParm4[1]; - *(undefined4 *)(iVar1 + -0x7ff95fb4) = puParm4[2]; - *(undefined4 *)(iVar1 + -0x7ff95fb0) = puParm4[3]; - DAT_8003dd88 += 1; - if (DAT_8003dd88 == 0xfa) { - DAT_8003dd88 = 0; - } - iVar3 = DAT_8003dd88 + -1; - if (DAT_8003dd8c != DAT_8003dd88) { - return; - } - } - DAT_8003dd88 = iVar3; - return; -} - - - -undefined8 FUN_7f0b7220(void) - -{ - int iVar1; - undefined8 uVar2; - - if (DAT_8003dd88 == DAT_8003dd8c) { - uVar2 = 0; - } - else { - iVar1 = DAT_8003dd8c * 0x14; - FUN_7f0b72a8((ulonglong)*(byte *)(iVar1 + -0x7ff95fc0),(ulonglong)*(byte *)(iVar1 + -0x7ff95fbf) - ,*(undefined2 *)(iVar1 + -0x7ff95fbe),iVar1 + -0x7ff95fbc); - uVar2 = 1; - DAT_8003dd8c += 1; - if (DAT_8003dd8c == 0xfa) { - DAT_8003dd8c = 0; - } - } - return uVar2; -} - - - -// WARNING: Instruction at (ram,0x7f0b75d8) overlaps instruction at (ram,0x7f0b75d4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b72a8(int iParm1,int iParm2,int iParm3,undefined4 uParm4) - -{ - byte bVar1; - float *pfVar3; - longlong lVar2; - int *piVar4; - ulonglong uVar5; - int iVar6; - int iVar7; - int iVar8; - float fVar9; - float fVar10; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - DAT_8003dd80 += 1; - if (100 < iParm3) { - return; - } - if (DAT_8003dd84 < iParm3) { - return; - } - if (0xf < iParm3) { - return; - } - if ((*(byte *)((int)_DAT_8006b3c8 + iParm2 * 8 + 6) & 1) != 0) { - return; - } - pfVar3 = (float *)FUN_7f08a1a0(); - FUN_7f0b8968(iParm2,&fStack44); - fVar10 = (pfVar3[2] * fStack36 + fStack44 * *pfVar3 + fStack40 * pfVar3[1]) * DAT_8003ac44; - fVar9 = (float)FUN_7f0b8c2c(iParm2); - piVar4 = _DAT_8006b3c8 + iParm2 * 2; - uVar5 = (ulonglong)*(byte *)(piVar4 + 1); - if ((longlong)iParm1 == uVar5) { - uVar5 = (ulonglong)*(byte *)((int)piVar4 + 5); - if (fStack28 <= fVar10 - fVar9) { - return; - } - } - else { - if (fVar10 + fVar9 <= fStack32) { - return; - } - } - if (fStack32 - fVar9 < fVar10) { - if (fVar10 < fStack28 + fVar9) { - fStack16 = *(float *)(_DAT_80068bc0 + 0x1110); - fStack12 = *(float *)(_DAT_80068bc0 + 0x1114); - fStack8 = *(float *)(_DAT_80068bc0 + 0x1118); - fStack4 = *(float *)(_DAT_80068bc0 + 0x111c); - goto LAB_7f0b7530; - } - bVar1 = *(byte *)((int)piVar4 + 6); - } - else { - bVar1 = *(byte *)((int)piVar4 + 6); - } - if ((bVar1 & 2) == 0) { - lVar2 = FUN_7f0b4ba0(iParm2,&fStack16); - if (lVar2 == 0) { - return; - } - locret_7F0B5CB8(&fStack16,uParm4); - locret_7F0B5CB8(&fStack16,_DAT_80068bc0 + 0x1110); - } - else { - lVar2 = FUN_7f0b4ba0(iParm2,&fStack16); - if (lVar2 == 0) { - return; - } - uVar5 = (ulonglong) - (*(byte *)((int)(_DAT_8006b3c8 + iParm2 * 2) + 5) ^ - *(byte *)(_DAT_8006b3c8 + iParm2 * 2 + 1)) ^ (longlong)iParm1; - lVar2 = loc_7F0B5464(uVar5,&fStack16); - if (lVar2 == 0) { - return; - } - fStack16 = *(float *)(_DAT_80068bc0 + 0x1110); - fStack12 = *(float *)(_DAT_80068bc0 + 0x1114); - fStack8 = *(float *)(_DAT_80068bc0 + 0x1118); - fStack4 = *(float *)(_DAT_80068bc0 + 0x111c); - } - if (fStack8 <= fStack16) { - return; - } - if (fStack4 <= fStack12) { - return; - } -LAB_7f0b7530: - (&DAT_8003d7dc)[iParm2] = (char)iParm3; - if (((fStack16 < fStack8) && (fStack12 < fStack4)) && - (lVar2 = FUN_7f0b2c7c(uVar5,iParm3,&fStack16, - (ulonglong)*(byte *)((int)_DAT_8006b3c8 + iParm2 * 8 + 6) & 2), - lVar2 == 0)) { - iVar8 = 0; - iVar6 = 0; - iVar7 = *_DAT_8006b3c8; - piVar4 = _DAT_8006b3c8; - while (iVar7 != 0) { - if (iVar8 == iParm2) { - iVar7 = piVar4[2]; - } - else { - if ((uVar5 == (ulonglong)*(byte *)(piVar4 + 1)) || - (uVar5 == (ulonglong)*(byte *)((int)piVar4 + 5))) { - FUN_7f0b7120(uVar5,iVar8,iParm3 + 1,&fStack16); - piVar4 = (int *)((int)_DAT_8006b3c8 + iVar6); - } - iVar7 = piVar4[2]; - } - iVar8 += 1; - iVar6 += 8; - piVar4 = piVar4 + 2; - } - } - return; -} - - - -undefined8 FUN_7f0b7624(undefined8 uParm1) - -{ - *(int *)(&DAT_8003dd90 + DAT_8003dde0 * 4) = (int)uParm1; - DAT_8003dde0 = (DAT_8003dde0 + 1) % 0x14; - return uParm1; -} - - - -undefined4 FUN_7f0b7660(void) - -{ - DAT_8003dde0 = (DAT_8003dde0 + 0x13) % 0x14; - return *(undefined4 *)(&DAT_8003dd90 + DAT_8003dde0 * 4); -} - - - -undefined4 FUN_7f0b7694(int iParm1) - -{ - return *(undefined4 *)(&DAT_8003dd90 + (((DAT_8003dde0 - iParm1) + 0x13) % 0x14) * 4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -byte * FUN_7f0b76c4(byte *pbParm1,ulonglong uParm2) - -{ - byte bVar1; - bool bVar2; - bool bVar3; - ulonglong uVar4; - longlong lVar5; - undefined1 *puVar6; - int iVar7; - ulonglong uVar8; - int iVar9; - uint uVar10; - undefined auStack40 [16]; - undefined auStack24 [24]; - - bVar2 = true; - _DAT_8006bfb8 = 0; - if (pbParm1 == NULL) { -LAB_7f0b7ca4: - return pbParm1; - } -LAB_7f0b7730: - do { - bVar1 = *pbParm1; - while (0x27 < bVar1) { - if (false) { - return pbParm1; - } - switch((uint)bVar1) { - case 0x50: - iVar9 = FUN_7f0b76c4(pbParm1 + (uint)pbParm1[1] * 8,uParm2); - pbParm1 = (byte *)(iVar9 + (uint)*(byte *)(iVar9 + 1) * 8); - goto LAB_7f0b7730; - case 0x51: - bVar3 = uParm2 != 0; - uParm2 = 0; - pbParm1 = pbParm1 + (uint)pbParm1[1] * 8; - if (bVar3) { - _DAT_8006bfb8 = 1; - } - goto LAB_7f0b7730; - case 0x52: - _DAT_8006bfb8 = 0; - return pbParm1 + (uint)pbParm1[1] * 8; - default: - return pbParm1; - case 0x5a: - uVar8 = FUN_7f0b7660(); - pbParm1 = (byte *)FUN_7f0b76c4(pbParm1 + (uint)pbParm1[1] * 8,uVar8 & uParm2); - if (_DAT_8006bfb8 != 0) { - uParm2 = 0; - goto LAB_7f0b7730; - } - bVar1 = *pbParm1; - break; - case 0x5b: - uParm2 ^= 1; - pbParm1 = pbParm1 + (uint)pbParm1[1] * 8; - goto LAB_7f0b7730; - case 0x5c: - return pbParm1 + (uint)pbParm1[1] * 8; - } - } - if (false) { - return pbParm1; - } - switch(bVar1) { - case 0: - return pbParm1; - case 1: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - FUN_7f0b7624(*(undefined4 *)(pbParm1 + 4)); - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 2: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - FUN_7f0b7660(); - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 3: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - uVar8 = FUN_7f0b7660(); - uVar4 = FUN_7f0b7660(); - FUN_7f0b7624(uVar4 & uVar8); - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 4: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - uVar8 = FUN_7f0b7660(); - uVar4 = FUN_7f0b7660(); - FUN_7f0b7624(uVar4 | uVar8); - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 5: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - lVar5 = FUN_7f0b7660(); - FUN_7f0b7624((ulonglong)(lVar5 == 0)); - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 6: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - uVar8 = FUN_7f0b7660(); - uVar4 = FUN_7f0b7660(); - FUN_7f0b7624(uVar4 ^ uVar8); - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - default: - goto LAB_7f0b7ca4; - case 0x14: - if (uParm2 != 0) { - uVar8 = (ulonglong)(DAT_8003dd18 < *(int *)(pbParm1 + 0xc)) ^ 1; - if (uVar8 != 0) { - uVar8 = (ulonglong)(*(int *)(pbParm1 + 0x14) < DAT_8003dd18) ^ 1; - } - FUN_7f0b7624(uVar8); - } - pbParm1 = pbParm1 + (uint)pbParm1[1] * 8; - break; - case 0x1e: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - _DAT_8006bfa8 = *(undefined4 *)(_DAT_80068bc0 + 0x1110); - _DAT_8006bfac = *(undefined4 *)(_DAT_80068bc0 + 0x1114); - _DAT_8006bfb0 = *(undefined4 *)(_DAT_80068bc0 + 0x1118); - _DAT_8006bfb4 = *(undefined4 *)(_DAT_80068bc0 + 0x111c); - DAT_8003dde4 = 0; - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 0x1f: - if (uParm2 != 0) { - lVar5 = FUN_7f0b4ba0(*(undefined4 *)(pbParm1 + 0xc),&DAT_8006bfa8); - if (lVar5 == 0) { - DAT_8003dde4 = 1; - } - else { - lVar5 = locret_7F0B5CB8(&DAT_8006bfa8,_DAT_80068bc0 + 0x1110); - if (lVar5 == 0) { - DAT_8003dde4 = 1; - } - else { - DAT_8003dde4 = 0; - } - } - } - pbParm1 = pbParm1 + (uint)pbParm1[1] * 8; - break; - case 0x20: - if (uParm2 == 0) { - uVar10 = (uint)pbParm1[1]; - } - else { - if (DAT_8003dde4 == 0) { - lVar5 = loc_7F0B5464(*(undefined4 *)(pbParm1 + 0xc)); - if (lVar5 != 0) { - FUN_7f0b2c7c(*(undefined4 *)(pbParm1 + 0xc),0,&DAT_8006bfa8,0); - (&DAT_80069ef0)[_DAT_80069f7c] = (char)*(undefined4 *)(pbParm1 + 0xc); - _DAT_80069f7c += 1; - } - uVar10 = (uint)pbParm1[1]; - } - else { - uVar10 = (uint)pbParm1[1]; - } - } - pbParm1 = pbParm1 + uVar10 * 8; - break; - case 0x21: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - DAT_8003dde4 = 1; - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 0x22: - if (uParm2 == 0) { -LAB_7f0b79b4: - uVar10 = (uint)pbParm1[1]; - } - else { - lVar5 = FUN_7f0b4ba0(*(undefined4 *)(pbParm1 + 0xc),auStack24); - if (lVar5 == 0) { - uVar10 = (uint)pbParm1[1]; - } - else { - lVar5 = locret_7F0B5CB8(auStack24,_DAT_80068bc0 + 0x1110); - if (lVar5 != 0) { - if (DAT_8003dde4 == 0) { - locret_7F0B5D50(&DAT_8006bfa8,auStack24); - } - else { - copy_4_floats_a1_to_a0(&DAT_8006bfa8); - DAT_8003dde4 = 0; - } - goto LAB_7f0b79b4; - } - uVar10 = (uint)pbParm1[1]; - } - } - pbParm1 = pbParm1 + uVar10 * 8; - break; - case 0x23: - if (uParm2 == 0) { - uVar10 = (uint)pbParm1[1]; - } - else { - if (DAT_8003dde4 == 0) { - lVar5 = FUN_7f0b4ba0(*(undefined4 *)(pbParm1 + 0xc),auStack40); - if (((lVar5 == 0) || - (lVar5 = locret_7F0B5CB8(auStack40,_DAT_80068bc0 + 0x1110), lVar5 == 0)) || - (lVar5 = locret_7F0B5CB8(&DAT_8006bfa8,auStack40), lVar5 == 0)) { - DAT_8003dde4 = 1; - uVar10 = (uint)pbParm1[1]; - } - else { - uVar10 = (uint)pbParm1[1]; - } - } - else { - uVar10 = (uint)pbParm1[1]; - } - } - pbParm1 = pbParm1 + uVar10 * 8; - break; - case 0x24: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - (&DAT_8003ac98)[*(int *)(pbParm1 + 0xc) * 0x50] = 1; - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 0x25: - if (uParm2 == 0) { - bVar1 = pbParm1[1]; - } - else { - iVar9 = *(int *)(pbParm1 + 0xc); - if (iVar9 <= *(int *)(pbParm1 + 0x14)) { - (&DAT_8003ac98)[iVar9 * 0x50] = 1; - puVar6 = &DAT_8003ac64 + iVar9 * 0x50; - while( true ) { - iVar9 += 1; - if (*(int *)(pbParm1 + 0x14) < iVar9) break; - puVar6[0x84] = 1; - puVar6 = puVar6 + 0x50; - } - } - bVar1 = pbParm1[1]; - } - pbParm1 = pbParm1 + (uint)bVar1 * 8; - break; - case 0x26: - if (uParm2 == 0) { - uVar10 = (uint)pbParm1[1]; - } - else { - if (bVar2) { - lVar5 = FUN_7f0b5650(*(undefined4 *)(pbParm1 + 0xc)); - bVar2 = lVar5 == 0; - uVar10 = (uint)pbParm1[1]; - } - else { - uVar10 = (uint)pbParm1[1]; - } - } - pbParm1 = pbParm1 + uVar10 * 8; - break; - case 0x27: - if (uParm2 == 0) { - uVar10 = (uint)pbParm1[1]; - } - else { - iVar9 = *(int *)(pbParm1 + 0xc); - iVar7 = *(int *)(pbParm1 + 0x14); - if (iVar7 < iVar9) { - uVar10 = (uint)pbParm1[1]; - } - else { - do { - if (bVar2) { - lVar5 = FUN_7f0b5650(iVar9); - bVar2 = lVar5 == 0; - iVar7 = *(int *)(pbParm1 + 0x14); - } - iVar9 += 1; - } while (iVar9 <= iVar7); - uVar10 = (uint)pbParm1[1]; - } - } - pbParm1 = pbParm1 + uVar10 * 8; - } - } while( true ); -} - - - -longlong FUN_7f0b7cd4(longlong lParm1) - -{ - DAT_8003dde4 = 0; - if (lParm1 != 0) { - FUN_7f0b7694(0); - lParm1 = FUN_7f0b76c4((int)lParm1,1); - } - return lParm1; -} - - - -// WARNING: Instruction at (ram,0x7f0b7ef4) overlaps instruction at (ram,0x7f0b7ef0) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b7d1c(void) - -{ - byte bVar1; - undefined4 *puVar3; - undefined *puVar4; - longlong lVar2; - int *piVar5; - int iVar6; - ulonglong uVar7; - int iVar8; - int iVar9; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - FUN_7f0b8328(); - uStack16 = *(undefined4 *)(_DAT_80068bc0 + 0x1110); - uStack12 = *(undefined4 *)(_DAT_80068bc0 + 0x1114); - uStack8 = *(undefined4 *)(_DAT_80068bc0 + 0x1118); - uStack4 = *(undefined4 *)(_DAT_80068bc0 + 0x111c); - FUN_7f0b2ecc(); - puVar3 = (undefined4 *)&DAT_8003ac64; - do { - puVar3 = puVar3 + 0x14; - *(undefined *)puVar3 = 0; - *(undefined *)((int)puVar3 + 1) = 0; - *(undefined *)(puVar3 + 0xd) = 0; - puVar3 = puVar3; - } while (puVar3 < &DAT_8003d7d4); - puVar4 = &DAT_8003d7dc; - do { - puVar4 = puVar4 + 4; - puVar4[1] = 0; - puVar4[2] = 0; - puVar4[3] = 0; - *puVar4 = 0; - puVar4 = puVar4; - } while (puVar4 != &DAT_8003d8a4); - DAT_8003dd40 = (DAT_8003dd40 + 1) % 10; - _DAT_8006bf20 = 0; - DAT_8003dd80 = 0; - FUN_7f0b70d0(); - FUN_7f0b44a4(); - FUN_7f0b7cd4(_DAT_8006b3d8); - if ((DAT_8003ac50 == 0x15) || (*_DAT_8006b3c8 == 0)) { - if (DAT_8003ac50 == 0x15) { - FUN_7f0b2c7c(9,0,_DAT_80068bc0 + 0x1110,1); - } - iVar8 = 1; - if (1 < DAT_8003d7d4) { - do { - lVar2 = loc_7F0B5464(iVar8,_DAT_80068bc0 + 0x1110); - if (lVar2 != 0) { - FUN_7f0b2c7c(iVar8,0,_DAT_80068bc0 + 0x1110,1); - } - iVar8 += 1; - } while (iVar8 < DAT_8003d7d4); - } - } - else { - if (DAT_8003ac50 == 0x15) { - FUN_7f0b2c7c(9,0,_DAT_80068bc0 + 0x1110,1); - } - FUN_7f0b2c7c(DAT_8003dd18,0,_DAT_80068bc0 + 0x1110,1); - iVar9 = 0; - iVar6 = 0; - iVar8 = *_DAT_8006b3c8; - piVar5 = _DAT_8006b3c8; - while (iVar8 != 0) { - uVar7 = SEXT48(DAT_8003dd18); - if ((uVar7 == (ulonglong)*(byte *)(piVar5 + 1)) || - (uVar7 == (ulonglong)*(byte *)((int)piVar5 + 5))) { - FUN_7f0b7120(uVar7,iVar9,1,&uStack16); - piVar5 = (int *)((int)_DAT_8006b3c8 + iVar6); - iVar8 = piVar5[2]; - } - else { - iVar8 = piVar5[2]; - } - iVar9 += 1; - iVar6 += 8; - piVar5 = piVar5 + 2; - } - lVar2 = FUN_7f0b7220(); - while (lVar2 != 0) { - lVar2 = FUN_7f0b7220(); - } - } - if (*_DAT_8006b3c8 == 0) { - return; - } - bVar1 = *(byte *)(_DAT_8006b3c8 + 1); - piVar5 = _DAT_8006b3c8; - do { - if (((&DAT_8003ac64)[(uint)bVar1 * 0x50] == '\0') || - (iVar8 = (uint)*(byte *)((int)piVar5 + 5) * 0x50, (&DAT_8003ac64)[iVar8] != '\0')) { - if ((&DAT_8003ac64)[(uint)*(byte *)((int)piVar5 + 5) * 0x50] == '\0') { - iVar8 = piVar5[2]; - } - else { - if ((&DAT_8003ac64)[(uint)bVar1 * 0x50] == '\0') { - (&DAT_8003ac65)[(uint)bVar1 * 0x50] = 1; - goto LAB_7f0b7ff0; - } - iVar8 = piVar5[2]; - } - } - else { - (&DAT_8003ac65)[iVar8] = 1; -LAB_7f0b7ff0: - iVar8 = piVar5[2]; - } - if (iVar8 == 0) { - return; - } - bVar1 = *(byte *)(piVar5 + 3); - piVar5 = piVar5 + 2; - } while( true ); -} - - - -void FUN_7f0b8014(undefined8 uParm1) - -{ - char *pcVar2; - undefined8 uVar1; - int iVar3; - - if (DAT_8003ac50 == 0xd) { - pcVar2 = &DAT_8006b3e0; - iVar3 = 0; - if (0 < DAT_8003dd1c) { - do { - iVar3 += 1; - if (*pcVar2 == '#') { - *(undefined2 *)(pcVar2 + 2) = 0; - break; - } - pcVar2 = pcVar2 + 0x18; - } while (iVar3 < DAT_8003dd1c); - } - } - uVar1 = FUN_7f0b2fa4(uParm1); - FUN_7f0b42f0(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b8134(uint *puParm1,int iParm2) - -{ - byte bVar1; - int iVar2; - byte *pbVar3; - - iVar2 = 0; - if ((0 < _DAT_80069f7c) && (0 < iParm2)) { - pbVar3 = &DAT_80069ef0; - bVar1 = DAT_80069ef0; - while( true ) { - iVar2 += 1; - *puParm1 = (uint)bVar1; - pbVar3 = pbVar3 + 1; - if ((_DAT_80069f7c <= iVar2) || (iParm2 <= iVar2)) break; - bVar1 = *pbVar3; - puParm1 = puParm1 + 1; - } - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b8198(ulonglong uParm1,int *piParm2,int iParm3) - -{ - byte bVar1; - ulonglong uVar2; - int iVar3; - int iVar4; - int iVar5; - int *piVar6; - ulonglong uVar7; - int iVar8; - int *piVar9; - - iVar3 = 0; - if (*_DAT_8006b3c8 == 0) { - return 0; - } - iVar5 = 0; - bVar1 = *(byte *)(_DAT_8006b3c8 + 1); - piVar6 = _DAT_8006b3c8; - do { - uVar2 = (ulonglong)bVar1; - uVar7 = (ulonglong)*(byte *)((int)piVar6 + 5); - if ((ulonglong)bVar1 == uParm1) { - uVar2 = (ulonglong)*(byte *)((int)piVar6 + 5); - uVar7 = uParm1; - } - if (uVar7 == uParm1) { - iVar8 = 0; - piVar9 = piParm2; - if (0 < iVar3) { - do { - iVar8 += 1; - if (uVar2 == (longlong)*piVar9) { - iVar8 = piVar6[2]; - goto LAB_7f0b8244; - } - piVar9 = piVar9 + 1; - } while (iVar8 != iVar3); - } - iVar4 = iVar3 + 1; - piParm2[iVar3] = (int)uVar2; - if (iParm3 <= iVar4) { - return iVar4; - } - piVar6 = (int *)((int)_DAT_8006b3c8 + iVar5); - iVar8 = piVar6[2]; - iVar3 = iVar4; - } - else { - iVar8 = piVar6[2]; - } -LAB_7f0b8244: - iVar5 += 8; - if (iVar8 == 0) { - return iVar3; - } - bVar1 = *(byte *)(piVar6 + 3); - piVar6 = piVar6 + 2; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0b826c(ulonglong uParm1,ulonglong uParm2) - -{ - byte bVar1; - int *piVar2; - int iVar3; - - if (*_DAT_8006b3c8 != 0) { - bVar1 = *(byte *)(_DAT_8006b3c8 + 1); - piVar2 = _DAT_8006b3c8; - while( true ) { - if (((ulonglong)bVar1 == uParm1) && ((ulonglong)*(byte *)((int)piVar2 + 5) == uParm2)) { - return 1; - } - if ((ulonglong)*(byte *)((int)piVar2 + 5) == uParm1) { - if ((ulonglong)bVar1 == uParm2) { - return 1; - } - iVar3 = piVar2[2]; - } - else { - iVar3 = piVar2[2]; - } - if (iVar3 == 0) break; - bVar1 = *(byte *)(piVar2 + 3); - piVar2 = piVar2 + 2; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8328(void) - -{ - int iVar1; - short sVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar4 = (float)DAT_8003ac54; - fVar7 = (float)DAT_8003ac58; - iVar1 = FUN_70003e6c(); - fVar6 = (float)DAT_8003ac5c + (float)iVar1; - iVar1 = FUN_70003e7c(); - fVar5 = (float)DAT_8003ac60 + (float)iVar1; - iVar1 = FUN_70003f64(); - *(float *)(_DAT_80068bc0 + 0x1110) = (float)iVar1; - fVar3 = *(float *)(_DAT_80068bc0 + 0x1110); - if (fVar3 < fVar4) { - *(float *)(_DAT_80068bc0 + 0x1110) = fVar4; - fVar3 = *(float *)(_DAT_80068bc0 + 0x1110); - } - if (fVar6 < fVar3) { - *(float *)(_DAT_80068bc0 + 0x1110) = fVar6; - } - iVar1 = FUN_70003f74(); - *(float *)(_DAT_80068bc0 + 0x1114) = (float)iVar1; - fVar3 = *(float *)(_DAT_80068bc0 + 0x1114); - if (fVar3 < fVar7) { - *(float *)(_DAT_80068bc0 + 0x1114) = fVar7; - fVar3 = *(float *)(_DAT_80068bc0 + 0x1114); - } - if (fVar5 < fVar3) { - *(float *)(_DAT_80068bc0 + 0x1114) = fVar5; - } - sVar2 = FUN_70003f64(); - iVar1 = FUN_70003eec(); - *(float *)(_DAT_80068bc0 + 0x1118) = (float)(iVar1 + (int)sVar2); - fVar3 = *(float *)(_DAT_80068bc0 + 0x1118); - if (fVar3 < fVar4) { - *(float *)(_DAT_80068bc0 + 0x1118) = fVar4; - fVar3 = *(float *)(_DAT_80068bc0 + 0x1118); - } - if (fVar6 < fVar3) { - *(float *)(_DAT_80068bc0 + 0x1118) = fVar6; - } - sVar2 = FUN_70003f74(); - iVar1 = FUN_70003efc(); - *(float *)(_DAT_80068bc0 + 0x111c) = (float)(iVar1 + (int)sVar2); - fVar3 = *(float *)(_DAT_80068bc0 + 0x111c); - if (fVar3 < fVar7) { - *(float *)(_DAT_80068bc0 + 0x111c) = fVar7; - fVar3 = *(float *)(_DAT_80068bc0 + 0x111c); - } - if (fVar5 < fVar3) { - *(float *)(_DAT_80068bc0 + 0x111c) = fVar5; - } - return; -} - - - -void FUN_7f0b8550(int iParm1,float *pfParm2) - -{ - int iVar1; - undefined1 *puVar2; - float fVar3; - - iParm1 *= 0x50; - iVar1 = 1; - fVar3 = (*(float *)(&DAT_8003aca8 + iParm1) + *(float *)(&DAT_8003ac9c + iParm1)) * 0.50000000; - if (true) { - *pfParm2 = fVar3; - puVar2 = &DAT_8003ac64 + iParm1; - while( true ) { - iVar1 += 1; - pfParm2 = pfParm2 + 1; - fVar3 = (*(float *)(puVar2 + 0x48) + *(float *)(puVar2 + 0x3c)) * 0.50000000; - if (iVar1 == 3) break; - *pfParm2 = fVar3; - puVar2 = puVar2 + 4; - } - } - *pfParm2 = fVar3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b85d4(int iParm1) - -{ - char cVar1; - short sVar2; - short *psVar3; - int iVar4; - short *psVar5; - undefined1 *puVar6; - short *psVar7; - short *psVar8; - int *piVar9; - short sVar10; - int iVar11; - int iVar12; - short local_18; - undefined2 local_16; - undefined2 local_14; - short local_12; - undefined2 local_10; - undefined2 local_e; - - piVar9 = (int *)(_DAT_8006b3d4 + iParm1 * 0x18); - if (*piVar9 == 0) { - if ((iParm1 < _DAT_8006992c) && (iVar4 = 0, *(int *)(&DAT_80069078 + iParm1 * 4) != 0)) { - psVar7 = (short *)(&DAT_800692a8 + iParm1 * 0xc); - puVar6 = &DAT_8003ac64 + iParm1 * 0x50; - do { - sVar2 = psVar7[3]; - iVar12 = (int)sVar2 + (int)*psVar7; - iVar11 = _DAT_8006b3d4 + iParm1 * 0x18 + iVar4; - iVar4 += 4; - *(float *)(puVar6 + 0x38) = (float)(int)*psVar7; - psVar7 = psVar7 + 1; - *(float *)(puVar6 + 0x44) = (float)(int)sVar2; - if (iVar12 < 0) { - iVar12 += 1; - } - *(float *)(iVar11 + 0xc) = (float)(iVar12 >> 1); - puVar6 = puVar6 + 4; - } while (iVar4 != 0xc); - } - } - else { - iVar4 = iParm1 * 0x50; - cVar1 = (&DAT_8003ac66)[iVar4]; - if (cVar1 == '\0') { - FUN_7f0b56a4(iParm1); - piVar9 = (int *)(_DAT_8006b3d4 + iParm1 * 0x18); - psVar7 = *(short **)(&DAT_8003ac68 + iVar4); - } - else { - psVar7 = *(short **)(&DAT_8003ac68 + iVar4); - } - psVar8 = (short *)(*(int *)(&DAT_8003ac80 + iVar4) + (int)psVar7); - local_18 = 0x7fff; - local_16 = 0x7fff; - local_14 = 0x7fff; - local_12 = -0x7fff; - local_10 = 0x8001; - local_e = 0x8001; - if (psVar7 < psVar8) { - do { - psVar3 = &local_18; - psVar5 = psVar7; - do { - sVar2 = *psVar5; - if (sVar2 < *psVar3) { - *psVar3 = sVar2; - sVar2 = *psVar5; - sVar10 = psVar3[3]; - } - else { - sVar10 = psVar3[3]; - } - if (sVar10 < sVar2) { - psVar3[3] = sVar2; - } - psVar3 = psVar3 + 1; - psVar5 = psVar5 + 1; - } while (psVar3 != &local_12); - psVar7 = psVar7 + 8; - } while (psVar7 < psVar8); - } - *(float *)(&DAT_8003ac9c + iVar4) = (float)piVar9[3] + 32767.00000000; - *(float *)(&DAT_8003aca0 + iVar4) = (float)piVar9[4] + 32767.00000000; - *(float *)(&DAT_8003aca4 + iVar4) = (float)piVar9[5] + 32767.00000000; - *(float *)(&DAT_8003aca8 + iVar4) = (float)piVar9[3] + -32767.00000000; - *(float *)(&DAT_8003acac + iVar4) = (float)piVar9[4] + -32767.00000000; - *(float *)(&DAT_8003acb0 + iVar4) = (float)piVar9[5] + -32767.00000000; - if (cVar1 == '\0') { - FUN_7f0b5900(iParm1); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b8874(ulonglong uParm1) - -{ - byte bVar1; - int iVar2; - byte **ppbVar3; - longlong lVar4; - int iVar5; - undefined1 *puVar6; - byte *pbVar7; - float fVar8; - float fVar9; - - iVar2 = 0; - if (*_DAT_8006b3c8 == NULL) { - return 0; - } - bVar1 = *(byte *)(_DAT_8006b3c8 + 1); - ppbVar3 = _DAT_8006b3c8; - do { - if (uParm1 == (ulonglong)bVar1) { - pbVar7 = *ppbVar3; -LAB_7f0b88b0: - lVar4 = 0; - if (*pbVar7 != 0) { - do { - iVar5 = 0; - puVar6 = &DAT_8003ac64 + (int)uParm1 * 0x50; - do { - fVar8 = *(float *)(pbVar7 + iVar5 + (int)lVar4 * 0xc + 4); - iVar5 += 4; - if (fVar8 < *(float *)(puVar6 + 0x38)) { - *(float *)(puVar6 + 0x38) = fVar8; - iVar2 += 1; - fVar9 = *(float *)(puVar6 + 0x44); - } - else { - fVar9 = *(float *)(puVar6 + 0x44); - } - if (fVar9 < fVar8) { - *(float *)(puVar6 + 0x44) = fVar8; - iVar2 += 1; - } - puVar6 = puVar6 + 4; - pbVar7 = *ppbVar3; - } while (iVar5 != 0xc); - lVar4 = (longlong)((int)lVar4 + 1); - } while (lVar4 < (longlong)(ulonglong)*pbVar7); - } - pbVar7 = ppbVar3[2]; - } - else { - if (uParm1 == (ulonglong)*(byte *)((int)ppbVar3 + 5)) { - pbVar7 = *ppbVar3; - goto LAB_7f0b88b0; - } - pbVar7 = ppbVar3[2]; - } - if (pbVar7 == NULL) { - return iVar2; - } - bVar1 = *(byte *)(ppbVar3 + 3); - ppbVar3 = ppbVar3 + 2; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8968(int iParm1,float *pfParm2) - -{ - byte bVar1; - float *pfVar2; - int iVar3; - byte *pbVar4; - int iVar5; - int *piVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - undefined auStackX0 [16]; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - iVar3 = 0; - piVar6 = (int *)(_DAT_8006b3c8 + iParm1 * 8); - iVar5 = *piVar6; - pfVar2 = &fStack8; - while (pfVar2 < register0x000000ec) { - iVar5 += iVar3; - iVar3 += 4; - pfVar2[-1] = *(float *)(iVar5 + 4) - *(float *)(iVar5 + 0x10); - iVar5 = *piVar6; - pfVar2 = pfVar2 + 1; - } - pfVar2[-1] = *(float *)(iVar5 + iVar3 + 4) - *(float *)(iVar5 + iVar3 + 0x10); - iVar3 = 0; - iVar5 = *piVar6; - pfVar2 = &fStack20; - while (pfVar2 < &fStack12) { - iVar5 += iVar3; - iVar3 += 4; - pfVar2[-1] = *(float *)(iVar5 + 0x1c) - *(float *)(iVar5 + 0x10); - iVar5 = *piVar6; - pfVar2 = pfVar2 + 1; - } - pfVar2[-1] = *(float *)(iVar5 + iVar3 + 0x1c) - *(float *)(iVar5 + iVar3 + 0x10); - *pfParm2 = fStack8 * fStack16 - fStack20 * fStack4; - pfParm2[1] = fStack4 * fStack24 - fStack16 * fStack12; - pfParm2[2] = fStack12 * fStack20 - fStack24 * fStack8; - fVar10 = (float)sqrtf(pfParm2[2] * pfParm2[2] + *pfParm2 * *pfParm2 + pfParm2[1] * pfParm2[1]); - iVar5 = 0; - if (fVar10 == 0.00000000) { - fVar8 = *pfParm2; - } - else { - fVar10 = 1.00000000 / fVar10; - fVar8 = *pfParm2; - } - *pfParm2 = fVar8 * fVar10; - pfParm2[1] = pfParm2[1] * fVar10; - pfParm2[2] = pfParm2[2] * fVar10; - pbVar4 = *(byte **)(_DAT_8006b3c8 + iParm1 * 8); - bVar1 = *pbVar4; - fVar10 = DAT_8004d7a4; - fVar8 = DAT_8004d7a8; - if (bVar1 != 0) { - fVar7 = DAT_8004d7a4; - fVar9 = DAT_8004d7a8; - do { - iVar5 += 0xc; - fVar8 = pfParm2[2] * *(float *)(pbVar4 + 0xc) + - *(float *)(pbVar4 + 4) * *pfParm2 + *(float *)(pbVar4 + 8) * pfParm2[1]; - fVar10 = fVar8; - if (fVar7 <= fVar8) { - fVar10 = fVar7; - } - if (fVar8 <= fVar9) { - fVar8 = fVar9; - } - pbVar4 = pbVar4 + 0xc; - fVar7 = fVar10; - fVar9 = fVar8; - } while (iVar5 < (int)((uint)bVar1 * 0xc)); - } - pfParm2[3] = fVar10; - pfParm2[4] = fVar8; - return; -} - - - -ulonglong FUN_7f0b8bd8(undefined8 uParm1) - -{ - float afStack20 [2]; - float fStack12; - - FUN_7f0b8968(uParm1,afStack20); - return (ulonglong)(DAT_8004d7ac <= fStack12 * fStack12 + afStack20[0] * afStack20[0]); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f0b8c2c(int iParm1) - -{ - byte bVar1; - uint uVar2; - uint uVar3; - float fVar4; - - bVar1 = *(byte *)(_DAT_8006b3c8 + iParm1 * 8 + 7); - uVar3 = (int)(uint)bVar1 >> 4; - fVar4 = (float)((uint)bVar1 & 0xf) * 0.25000000; - if (uVar3 != 0) { - uVar2 = -(uVar3 & 3) + uVar3; - if (-(uVar3 & 3) != 0) { - do { - uVar3 -= 1; - fVar4 = fVar4 + fVar4; - } while (uVar2 != uVar3); - if (uVar3 == 0) { - return fVar4; - } - } - do { - uVar3 -= 4; - fVar4 = fVar4 + fVar4 + fVar4 + fVar4; - fVar4 = fVar4 + fVar4; - fVar4 = fVar4 + fVar4; - } while (uVar3 != 0); - } - return fVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8cc8(int iParm1) - -{ - char cVar1; - byte bVar2; - int iVar3; - - iVar3 = _DAT_8006b3c8 + iParm1 * 8; - cVar1 = *(char *)(iVar3 + 7); - bVar2 = cVar1 + 1; - if (cVar1 == -1) { - bVar2 = 0xff; - } - else { - if ((int)(uint)bVar2 >> 4 != 0) { - bVar2 |= 8; - } - } - *(byte *)(iVar3 + 7) = bVar2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8d18(int iParm1) - -{ - uint uVar1; - byte bVar2; - int iVar3; - - iVar3 = _DAT_8006b3c8 + iParm1 * 8; - bVar2 = *(byte *)(iVar3 + 7); - if ((int)(uint)bVar2 >> 4 == 0) { - if (bVar2 != 0) { - bVar2 -= 1; - } - } - else { - uVar1 = (uint)bVar2 - 1; - bVar2 = (byte)uVar1; - if ((uVar1 & 0xf) < 8) { - bVar2 -= 8; - } - } - *(byte *)(iVar3 + 7) = bVar2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0b8d80(int iParm1) - -{ - return (ulonglong)*(byte *)(_DAT_8006b3c8 + iParm1 * 8 + 6) & 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0b8da0(int iParm1) - -{ - return (ulonglong)*(byte *)(_DAT_8006b3c8 + iParm1 * 8 + 6) & 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8dc0(int iParm1) - -{ - int iVar1; - - iVar1 = _DAT_8006b3c8 + iParm1 * 8; - *(byte *)(iVar1 + 6) = *(byte *)(iVar1 + 6) | 2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8de0(int iParm1) - -{ - int iVar1; - - iVar1 = _DAT_8006b3c8 + iParm1 * 8; - *(byte *)(iVar1 + 6) = *(byte *)(iVar1 + 6) & 0xfd; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8e00(int iParm1) - -{ - undefined uVar1; - int iVar2; - - iVar2 = _DAT_8006b3c8 + iParm1 * 8; - uVar1 = *(undefined *)(iVar2 + 4); - *(undefined *)(iVar2 + 4) = *(undefined *)(iVar2 + 5); - *(undefined *)(_DAT_8006b3c8 + iParm1 * 8 + 5) = uVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8e30(int iParm1) - -{ - byte bVar1; - bool bVar2; - int iVar3; - float fVar4; - float local_2c; - float local_28; - float local_24; - float local_20; - float local_1c; - float local_18; - float local_14; - float local_10; - float local_c; - float local_8; - float local_4; - - iVar3 = _DAT_8006b3c8 + iParm1 * 8; - bVar1 = *(byte *)(iVar3 + 5); - FUN_7f0b8550((ulonglong)*(byte *)(iVar3 + 4),&local_c); - FUN_7f0b8550((uint)bVar1,&local_18); - FUN_7f0b8968(iParm1,&local_2c); - bVar2 = local_1c < local_4 * local_24 + local_2c * local_c + local_28 * local_8; - if (bVar2) { - FUN_7f0b8e00(iParm1); - fVar4 = -local_1c; - local_1c = -local_20; - local_28 = -local_28; - local_24 = -local_24; - local_2c = -local_2c; - local_20 = fVar4; - } - if ((local_10 * local_24 + local_2c * local_18 + local_28 * local_14 <= local_20) && (bVar2)) { - FUN_7f0b8e00(iParm1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b8f64(ulonglong uParm1,ulonglong uParm2,undefined8 uParm3,undefined8 uParm4) - -{ - byte bVar1; - int *piVar3; - longlong lVar2; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - - iVar7 = -1; - iVar4 = 0; - if (*_DAT_8006b3c8 != 0) { - iVar5 = 0; - bVar1 = *(byte *)(_DAT_8006b3c8 + 1); - piVar3 = _DAT_8006b3c8; - iVar6 = iVar7; - while( true ) { - if ((((uParm1 == (ulonglong)bVar1) && (uParm2 == (ulonglong)*(byte *)((int)piVar3 + 5))) || - ((iVar7 = iVar6, uParm2 == (ulonglong)bVar1 && - (iVar7 = iVar6, uParm1 == (ulonglong)*(byte *)((int)piVar3 + 5))))) && - (lVar2 = loc_7F0BA258(iVar4,uParm3,uParm4), iVar7 = iVar4, lVar2 == 0)) { - iVar7 = iVar6; - } - iVar5 += 8; - iVar4 += 1; - piVar3 = (int *)((int)_DAT_8006b3c8 + iVar5); - if (*piVar3 == 0) break; - bVar1 = *(byte *)(piVar3 + 1); - iVar6 = iVar7; - } - } - return iVar7; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b9058(int iParm1,longlong lParm2) - -{ - int iVar1; - - iVar1 = _DAT_8006b3c8 + iParm1 * 8; - *(byte *)(iVar1 + 6) = (*(byte *)(iVar1 + 6) | 1) ^ lParm2 != 0; - return; -} - - - -undefined8 FUN_7f0b9080(undefined8 uParm1) - -{ - return uParm1; -} - - - -void FUN_7f0b9090(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b90a0(undefined8 uParm1,undefined8 uParm2) - -{ - longlong lVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - float fVar6; - float fVar7; - - iVar5 = -1; - iVar2 = 0; - if (*_DAT_8006b3c8 != 0) { - iVar3 = 0; - fVar7 = DAT_8004d7b0; - iVar4 = iVar5; - do { - lVar1 = loc_7F0BA258(iVar2,uParm1,uParm2); - fVar6 = fVar7; - iVar5 = iVar4; - if (lVar1 != 0) { - fVar6 = DAT_8003dde8; - if (DAT_8003dde8 < 0.00000000) { - fVar6 = -DAT_8003dde8; - } - iVar5 = iVar2; - if (fVar7 <= fVar6) { - fVar6 = fVar7; - iVar5 = iVar4; - } - } - fVar7 = fVar6; - iVar3 += 8; - iVar2 += 1; - iVar4 = iVar5; - } while (*(int *)((int)_DAT_8006b3c8 + iVar3) != 0); - } - return iVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F0BA258(undefined8 uParm1,float *pfParm2,float *pfParm3) - -{ - int iVar1; - bool bVar2; - bool bVar3; - byte *pbVar4; - undefined8 uVar5; - int iVar6; - ulonglong uVar7; - byte **ppbVar8; - int iVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - - FUN_7f0b8968(uParm1,&fStack64); - bVar3 = false; - bVar2 = false; - fVar12 = (fStack56 * pfParm2[2] + *pfParm2 * fStack64 + pfParm2[1] * fStack60) * DAT_8003ac44; - fVar10 = (fStack56 * pfParm3[2] + *pfParm3 * fStack64 + pfParm3[1] * fStack60) * DAT_8003ac44; - if (((fVar12 < fStack52) && (fVar10 < fStack52)) || ((fStack52 < fVar12 && (fStack52 < fVar10)))) - { - uVar5 = 0; - } - else { - ppbVar8 = (byte **)(_DAT_8006b3c8 + (int)uParm1 * 8); - DAT_8003dde8 = (fVar12 + fVar10) * 0.50000000 - fStack52; - iVar6 = 0; - pbVar4 = *ppbVar8; - uVar7 = (ulonglong)*pbVar4; - if (*pbVar4 != 0) { - iVar9 = 1; - while( true ) { - iVar1 = (iVar9 % (int)uVar7) * 0xc; - if (uVar7 == 0) { - trap(0x1c00); - } - if ((uVar7 == 0xffffffffffffffff) && ((longlong)iVar9 == -0x80000000)) { - trap(0x1800); - } - fVar10 = *(float *)(*ppbVar8 + iVar1 + 8) - *(float *)(*ppbVar8 + iVar6 + 8); - fVar13 = *(float *)(*ppbVar8 + iVar1 + 0xc) - *(float *)(*ppbVar8 + iVar6 + 0xc); - fVar11 = fVar10 * (pfParm3[2] - pfParm2[2]) - (pfParm3[1] - pfParm2[1]) * fVar13; - fVar13 = fVar13 * (*pfParm3 - *pfParm2) - - (pfParm3[2] - pfParm2[2]) * - (*(float *)(pbVar4 + iVar1 + 4) - *(float *)(pbVar4 + iVar6 + 4)); - fVar10 = (*(float *)(pbVar4 + iVar1 + 4) - *(float *)(pbVar4 + iVar6 + 4)) * - (pfParm3[1] - pfParm2[1]) - (*pfParm3 - *pfParm2) * fVar10; - if (fVar10 * fVar10 + fVar11 * fVar11 + fVar13 * fVar13 == 0.00000000) { - return 0; - } - pbVar4 = *ppbVar8 + iVar6; - if ((pfParm2[2] * fVar10 + fVar11 * *pfParm2 + fVar13 * pfParm2[1]) * DAT_8003ac44 < - *(float *)(pbVar4 + 0xc) * fVar10 + - fVar11 * *(float *)(pbVar4 + 4) + fVar13 * *(float *)(pbVar4 + 8)) { - if (bVar2) { - return 0; - } - bVar3 = true; - } - else { - bVar2 = true; - if (bVar3) { - return 0; - } - } - pbVar4 = *ppbVar8; - iVar6 += 0xc; - uVar7 = (ulonglong)*pbVar4; - if ((longlong)uVar7 <= (longlong)iVar9) break; - iVar9 += 1; - } - } - uVar5 = 2; - if (fVar12 < fStack52) { - uVar5 = 1; - } - } - return uVar5; -} - - - -undefined8 loc_7F0BA2C0(int iParm1,float *pfParm2,float *pfParm3,int iParm4) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - float fVar4; - - iVar1 = 0; - while( true ) { - fVar4 = *pfParm2; - pfVar2 = (float *)(iParm4 + iVar1); - pfVar3 = (float *)(iParm1 + iVar1); - iVar1 += 4; - pfParm2 = pfParm2 + 1; - if ((fVar4 < *pfParm3) || (*pfVar2 < *pfVar3)) break; - pfParm3 = pfParm3 + 1; - if (iVar1 == 0xc) { - return 1; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b9570(float *pfParm1,float *pfParm2,int *piParm3,int *piParm4,int iParm5) - -{ - byte bVar1; - byte **ppbVar3; - float *pfVar4; - ulonglong uVar2; - int *piVar5; - float *pfVar6; - int iVar7; - longlong lVar8; - byte **ppbVar9; - byte *pbVar10; - int iVar11; - int iVar12; - ulonglong uVar13; - float fVar14; - float fVar15; - int *piStack92; - float fStack84; - undefined4 uStack80; - undefined4 uStack76; - float fStack72; - undefined4 uStack68; - undefined4 uStack64; - int iStack60; - int iStack44; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - - iVar11 = *piParm4; - fStack24 = *pfParm1 * DAT_8003ac44; - iStack44 = 0; - fStack20 = pfParm1[1] * DAT_8003ac44; - fStack16 = pfParm1[2] * DAT_8003ac44; - fStack36 = *pfParm2 * DAT_8003ac44; - fStack32 = pfParm2[1] * DAT_8003ac44; - fStack28 = pfParm2[2] * DAT_8003ac44; - do { - iStack60 = iVar11; - if (iStack44 < iVar11) { - piStack92 = piParm3 + iStack44; - ppbVar3 = _DAT_8006b3c8; - iStack60 = iVar11; - do { - iVar12 = 0; - uVar13 = SEXT48(*piStack92); - if (*ppbVar3 != NULL) { - bVar1 = *(byte *)((int)ppbVar3 + 6); - ppbVar9 = ppbVar3; - do { - if ((bVar1 & 1) == 0) { - if ((uVar13 == (ulonglong)*(byte *)(ppbVar9 + 1)) || - (uVar13 == (ulonglong)*(byte *)((int)ppbVar9 + 5))) { - fStack72 = DAT_8003ddec; - uStack68 = DAT_8003ddf0; - uStack64 = DAT_8003ddf4; - lVar8 = 0; - fStack84 = DAT_8003ddf8; - uStack80 = DAT_8003ddfc; - uStack76 = DAT_8003de00; - pbVar10 = *ppbVar9; - if (*pbVar10 != 0) { - do { - iVar7 = 0; - pfVar6 = &fStack72; - pfVar4 = &fStack84; - do { - fVar14 = *(float *)(pbVar10 + iVar7 + (int)lVar8 * 0xc + 4); - iVar7 += 4; - if (fVar14 < *pfVar6) { - *pfVar6 = fVar14; - fVar15 = *pfVar4; - } - else { - fVar15 = *pfVar4; - } - pfVar6 = pfVar6 + 1; - if (fVar15 < fVar14) { - *pfVar4 = fVar14; - } - pfVar4 = pfVar4 + 1; - pbVar10 = *ppbVar9; - } while (pfVar4 != &fStack72); - lVar8 = (longlong)((int)lVar8 + 1); - } while (lVar8 < (longlong)(ulonglong)*pbVar10); - } - lVar8 = loc_7F0BA2C0(&fStack72,&fStack84,&fStack24,&fStack36); - if (lVar8 != 0) { - iVar7 = 0; - uVar2 = (ulonglong)*(byte *)((int)_DAT_8006b3c8 + iVar12 + 4); - if (uVar13 == uVar2) { - uVar2 = (ulonglong)*(byte *)((int)_DAT_8006b3c8 + iVar12 + 5); - } - piVar5 = piParm3; - if (0 < iVar11) { - do { - if (uVar2 == (longlong)*piVar5) break; - iVar7 += 1; - piVar5 = piVar5 + 1; - } while (iVar7 != iVar11); - } - if (iVar7 == iVar11) { - if (iVar11 < iParm5) { - piParm3[iVar11] = (int)uVar2; - iVar11 += 1; - } - if (iParm5 <= iVar11) { - *piParm4 = iVar11; - return; - } - } - } - ppbVar9 = (byte **)((int)_DAT_8006b3c8 + iVar12); - pbVar10 = ppbVar9[2]; - ppbVar3 = _DAT_8006b3c8; - } - else { - pbVar10 = ppbVar9[2]; - } - } - else { - pbVar10 = ppbVar9[2]; - } - iVar12 += 8; - if (pbVar10 == NULL) break; - bVar1 = *(byte *)((int)ppbVar9 + 0xe); - ppbVar9 = ppbVar9 + 2; - } while( true ); - } - iStack44 += 1; - piStack92 = piStack92 + 1; - } while (iStack44 < iStack60); - } - if (iVar11 == iStack60) { - *piParm4 = iVar11; - return; - } - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f0b9908) overlaps instruction at (ram,0x7f0b9904) -// - -void locret_7F0BA710(int *piParm1,int *piParm2,int iParm3) - -{ - char cVar1; - int *piVar2; - int iVar3; - int iVar4; - - if ((piParm2 != NULL) && (piParm1 < piParm2)) goto code_r0x7f0b990c; - if (piParm2 == NULL) { - cVar1 = *(char *)piParm1; - while (cVar1 != -0x48) { -code_r0x7f0b990c: - do { - piVar2 = (int *)(&PTR_DAT_8003e278)[iParm3]; - iVar3 = *piVar2; - if (iVar3 != 0) { - iVar4 = *piParm1; - while( true ) { - if (iVar4 == iVar3) { - if (piParm1[1] == piVar2[1]) { - DAT_8003e2a0 += 1; - *piParm1 = piVar2[2]; - piParm1[1] = piVar2[3]; - iVar3 = piVar2[4]; - } - else { - iVar3 = piVar2[4]; - } - } - else { - iVar3 = piVar2[4]; - } - piVar2 = piVar2 + 4; - if (iVar3 == 0) break; - iVar4 = *piParm1; - } - } - piParm1 = piParm1 + 2; - } while ((piParm2 != NULL) && (piParm1 < piParm2)); - if (piParm2 != NULL) { - return; - } - cVar1 = *(char *)piParm1; - } - } - return; -} - - - -undefined4 * FUN_7f0b99cc(void) - -{ - return &DAT_8003e2bc; -} - - - -float FUN_7f0b99e4(void) - -{ - return DAT_8003e2b4 * DAT_8003e2b4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b99f8(int iParm1) - -{ - float fVar1; - float fVar2; - float fStack8; - float fStack4; - - FUN_700040a0((float)(int)*(short *)(iParm1 + 2),(float)(int)*(short *)(iParm1 + 4)); - FUN_700040fc(&fStack8); - _DAT_8006cf6c = (float)FUN_7f0b3bb4(); - fStack8 = fStack8 / _DAT_8006cf6c; - _DAT_8006cf84 = (float)(int)*(short *)(iParm1 + 0xc) / 1000.00000000; - _DAT_8006cf80 = (float)(int)*(short *)(iParm1 + 0xe) / 1000.00000000; - fVar2 = fStack4 / _DAT_8006cf6c - fStack8; - _DAT_8006cf68 = (float)(int)*(short *)(iParm1 + 2) / _DAT_8006cf6c; - _DAT_8006cf6c = (float)(int)*(short *)(iParm1 + 4) / _DAT_8006cf6c; - fVar1 = 128.00000000 / (_DAT_8006cf80 - _DAT_8006cf84); - DAT_8003e2d0 = (float)(uint)*(byte *)(iParm1 + 0x17); - if (false) { - DAT_8003e2d0 = DAT_8003e2d0 + 4294967296.00000000; - } - DAT_8003e2d4 = (float)(uint)*(byte *)(iParm1 + 0x18); - if (false) { - DAT_8003e2d4 = DAT_8003e2d4 + 4294967296.00000000; - } - DAT_8003e2d8 = (float)(uint)*(byte *)(iParm1 + 0x19); - if (false) { - DAT_8003e2d8 = DAT_8003e2d8 + 4294967296.00000000; - } - DAT_8003e2e8 = (float)(uint)*(byte *)(iParm1 + 0x1f); - if (false) { - DAT_8003e2e8 = DAT_8003e2e8 + 4294967296.00000000; - } - DAT_8003e2ec = (float)(uint)*(byte *)(iParm1 + 0x20); - if (false) { - DAT_8003e2ec = DAT_8003e2ec + 4294967296.00000000; - } - DAT_8003e2f0 = (float)(uint)*(byte *)(iParm1 + 0x21); - if (false) { - DAT_8003e2f0 = DAT_8003e2f0 + 4294967296.00000000; - } - DAT_8003e2f4 = (float)(uint)*(byte *)(iParm1 + 0x22); - if (false) { - DAT_8003e2f4 = DAT_8003e2f4 + 4294967296.00000000; - } - if (*(short *)(iParm1 + 6) == 0) { - _DAT_8006cf64 = NULL; - } - else { - _DAT_8006cf98 = (float)(int)*(short *)(iParm1 + 6); - _DAT_8006cf9c = (float)(int)*(short *)(iParm1 + 8); - _DAT_8006cfa0 = (float)(int)*(short *)(iParm1 + 10); - _DAT_8006cf64 = &DAT_8006cf98; - } - DAT_8003e2b4 = fStack8 + fVar2 * _DAT_8006cf80; - DAT_8003e2b8 = fStack8 + fVar2 * _DAT_8006cf84; - DAT_8003e2bc = (int)*(short *)(iParm1 + 0xc); - DAT_8003e2c0 = (int)*(short *)(iParm1 + 0xe); - DAT_8003e2c4 = *(undefined *)(iParm1 + 0x10); - DAT_8003e2c5 = *(undefined *)(iParm1 + 0x11); - DAT_8003e2c6 = *(undefined *)(iParm1 + 0x12); - DAT_8003e2c7 = *(undefined *)(iParm1 + 0x13); - DAT_8003e2c8 = (float)(int)*(short *)(iParm1 + 0x14); - DAT_8003e2cc = (ushort)*(byte *)(iParm1 + 0x16); - DAT_8003e2dc = *(undefined *)(iParm1 + 0x1a); - DAT_8003e2e0 = (float)(int)*(short *)(iParm1 + 0x1c); - DAT_8003e2e4 = (ushort)*(byte *)(iParm1 + 0x1e); - _DAT_8006cf60 = 1; - _DAT_8006cf78 = - ((-fVar1 * _DAT_8006cf6c * (_DAT_8006cf68 + 1.00000000)) / (_DAT_8006cf6c - _DAT_8006cf68)) / - 255.00000000; - _DAT_8006cf7c = - (((_DAT_8006cf6c + 1.00000000) * fVar1) / (_DAT_8006cf6c - _DAT_8006cf68) + - ((0.50000000 - _DAT_8006cf84) * 256.00000000) / (_DAT_8006cf80 - _DAT_8006cf84)) / - 255.00000000; - return; -} - - - -void FUN_7f0b9da0(int iParm1) - -{ - DAT_8003e2c4 = *(undefined *)(iParm1 + 4); - DAT_8003e2c5 = *(undefined *)(iParm1 + 5); - DAT_8003e2c6 = *(undefined *)(iParm1 + 6); - DAT_8003e2c7 = *(undefined *)(iParm1 + 7); - DAT_8003e2c8 = *(undefined4 *)(iParm1 + 8); - DAT_8003e2cc = *(undefined2 *)(iParm1 + 0xc); - DAT_8003e2d0 = *(undefined4 *)(iParm1 + 0x10); - DAT_8003e2d4 = *(undefined4 *)(iParm1 + 0x14); - DAT_8003e2d8 = *(undefined4 *)(iParm1 + 0x18); - DAT_8003e2dc = *(undefined *)(iParm1 + 0x1c); - DAT_8003e2e0 = *(undefined4 *)(iParm1 + 0x20); - DAT_8003e2e4 = *(undefined2 *)(iParm1 + 0x24); - DAT_8003e2e8 = *(undefined4 *)(iParm1 + 0x28); - DAT_8003e2ec = *(undefined4 *)(iParm1 + 0x2c); - DAT_8003e2f0 = *(undefined4 *)(iParm1 + 0x30); - DAT_8003e2f4 = *(undefined4 *)(iParm1 + 0x34); - return; -} - - - -void FUN_7f0b9e2c(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b9e34(int iParm1,int iParm2) - -{ - int iVar1; - longlong lVar2; - longlong lVar3; - undefined2 *puVar4; - undefined2 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - - lVar2 = FUN_7f0999a4(); - if (lVar2 == 1) { - lVar2 = 0; - } - DAT_8003e2b4 = DAT_8004d7c0; - DAT_8003e2b8 = 0; - if (iParm2 != 0) { - puVar4 = &DAT_8003e300; - if (DAT_8003e300 != 0) { - lVar3 = (longlong)DAT_8003e300; - do { - if ((longlong)(iParm1 + 900) == lVar3) { - _DAT_8006cf90 = puVar4 + 0x12; - _DAT_8006cf88 = puVar4; - _DAT_8006cf8c = puVar4; - FUN_7f0b99f8(puVar4); - return; - } - lVar3 = (longlong)(short)puVar4[0x12]; - puVar4 = puVar4 + 0x12; - } while (lVar3 != 0); - } - } - puVar4 = &DAT_8003e300; - if (DAT_8003e300 != 0) { - lVar3 = (longlong)DAT_8003e300; - puVar5 = puVar4; - do { - if ((longlong)(iParm1 + (int)lVar2 * 100) == lVar3) { - _DAT_8006cf90 = puVar5 + 0x12; - _DAT_8006cf88 = puVar5; - _DAT_8006cf8c = puVar5; - FUN_7f0b99f8(puVar5); - return; - } - lVar3 = (longlong)(short)puVar5[0x12]; - puVar5 = puVar5 + 0x12; - } while (lVar3 != 0); - } - if ((1 < lVar2) && (DAT_8003e300 != 0)) { - lVar3 = (longlong)DAT_8003e300; - do { - if ((longlong)((int)lVar2 * 100) == lVar3) { - _DAT_8006cf90 = puVar4 + 0x12; - _DAT_8006cf88 = puVar4; - _DAT_8006cf8c = puVar4; - FUN_7f0b99f8(puVar4); - return; - } - lVar3 = (longlong)(short)puVar4[0x12]; - puVar4 = puVar4 + 0x12; - } while (lVar3 != 0); - } - FUN_700040a0(0x41700000,DAT_8004d7c4); - _DAT_8006cf60 = 0; - puVar7 = NULL; - iVar1 = DAT_8003e9c0; - puVar6 = &DAT_8003e9c0; - while (iVar1 != 0) { - if (iParm1 == iVar1) { - iVar1 = puVar6[0xe]; - puVar7 = puVar6; - } - else { - iVar1 = puVar6[0xe]; - } - puVar6 = puVar6 + 0xe; - } - if (puVar7 == NULL) { - puVar7 = &DAT_8003e9c0; - } - FUN_7f0b9da0(puVar7); - _DAT_8006cf88 = NULL; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba078(float fParm1) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - float fVar6; - float fVar7; - - puVar1 = _DAT_8006cf8c; - puVar3 = _DAT_8006cf8c + 9; - puVar4 = _DAT_8006cf8c; - puVar2 = (undefined4 *)&DAT_8006cfa8; - do { - puVar5 = puVar4 + 3; - *puVar2 = *puVar4; - puVar2[1] = puVar4[1]; - puVar2[2] = puVar4[2]; - puVar4 = puVar5; - puVar2 = puVar2 + 3; - } while (puVar5 != puVar3); - _DAT_8006cfaa = - (undefined2) - (int)((float)(int)*(short *)((int)puVar1 + 2) + - fParm1 * ((float)(int)*(short *)(_DAT_8006cf90 + 2) - - (float)(int)*(short *)((int)puVar1 + 2))); - _DAT_8006cfac = - (undefined2) - (int)((float)(int)*(short *)(puVar1 + 1) + - fParm1 * ((float)(int)*(short *)(_DAT_8006cf90 + 4) - (float)(int)*(short *)(puVar1 + 1) - )); - _DAT_8006cfb4 = - (undefined2) - (int)((float)(int)*(short *)(puVar1 + 3) + - fParm1 * ((float)(int)*(short *)(_DAT_8006cf90 + 0xc) - - (float)(int)*(short *)(puVar1 + 3))); - _DAT_8006cfb6 = - (undefined2) - (int)((float)(int)*(short *)((int)puVar1 + 0xe) + - fParm1 * ((float)(int)*(short *)(_DAT_8006cf90 + 0xe) - - (float)(int)*(short *)((int)puVar1 + 0xe))); - fVar7 = (float)(uint)*(byte *)(puVar1 + 4); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar6 = (float)(uint)*(byte *)(_DAT_8006cf90 + 0x10); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar7 = fVar7 + fParm1 * (fVar6 - fVar7); - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - DAT_8006cfb8 = (byte)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) goto LAB_7f0ba260; - DAT_8006cfb8 = (byte)(int)fVar7; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0ba260: - DAT_8006cfb8 = 0xff; - } - } - fVar7 = (float)(uint)*(byte *)((int)puVar1 + 0x11); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - DAT_8006cfb8 &= 0xf8; - fVar6 = (float)(uint)*(byte *)(_DAT_8006cf90 + 0x11); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar7 = fVar7 + fParm1 * (fVar6 - fVar7); - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - DAT_8006cfb9 = (byte)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) goto LAB_7f0ba344; - DAT_8006cfb9 = (byte)(int)fVar7; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0ba344: - DAT_8006cfb9 = 0xff; - } - } - DAT_8006cfb9 &= 0xf8; - fVar7 = (float)(uint)*(byte *)((int)puVar1 + 0x12); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar6 = (float)(uint)*(byte *)(_DAT_8006cf90 + 0x12); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar7 = fVar7 + fParm1 * (fVar6 - fVar7); - if (false) { - fVar6 = ROUND(fVar7); - } - else { - fVar6 = FLOOR(fVar7); - } - DAT_8006cfba = (byte)(int)fVar6; - if (false) { - if (false) { - fVar7 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar7 = FLOOR(fVar7 - 2147483648.00000000); - } - if (true) { - DAT_8006cfba = (byte)(int)fVar7; - goto LAB_7f0ba440; - } - } - else { - if (-1 < (int)fVar6) goto LAB_7f0ba440; - } - DAT_8006cfba = 0xff; -LAB_7f0ba440: - DAT_8006cfba &= 0xf8; - FUN_7f0b99f8(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0ba470(undefined4 *puParm1,longlong lParm2) - -{ - int iVar1; - int iVar2; - - if (_DAT_8006cf60 != 0) { - if (lParm2 == 0) { - *puParm1 = 0xf8000000; - puParm1[1] = (uint)DAT_8003e2c4 << 0x18 | (uint)DAT_8003e2c5 << 0x10 | (uint)DAT_8003e2c6 << 8 - | 0xff; - puParm1[2] = 0xbc000008; - iVar1 = DAT_8003e2c0 - DAT_8003e2bc; - iVar2 = DAT_8003e2bc * -0x100 + 0x1f400; - puParm1[3] = 0x1f400 / iVar1 << 0x10 | iVar2 / iVar1 & 0xffffU; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (false)) { - trap(0x1800); - } - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - else { - *puParm1 = 0xf8000000; - puParm1[1] = (uint)DAT_8003e2c4 << 0x18 | (uint)DAT_8003e2c5 << 0x10 | (uint)DAT_8003e2c6 << 8 - | 0xff; - puParm1[2] = 0xbc000008; - iVar1 = DAT_8003e2c0 - DAT_8003e2bc; - iVar2 = DAT_8003e2bc * -0x100 + 0x1f400; - puParm1[3] = 0x1f400 / iVar1 << 0x10 | iVar2 / iVar1 & 0xffffU; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (false)) { - trap(0x1800); - } - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - puParm1[5] = 0x10000; - puParm1[4] = 0xb7000000; - puParm1[7] = 0x20; - puParm1[6] = 0xba000402; - return puParm1 + 8; - } - return puParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0ba698(undefined4 *puParm1) - -{ - if (_DAT_8006cf60 == 0) { - return puParm1; - } - *puParm1 = 0xb6000000; - puParm1[1] = 0x10000; - return puParm1 + 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0ba6c8(float *pfParm1,float fParm2) - -{ - undefined8 uVar1; - float *pfVar2; - float *pfVar3; - - if (_DAT_8006cf60 == 0) { - uVar1 = 1; - } - else { - pfVar2 = (float *)FUN_7f08a1a0(); - pfVar3 = (float *)FUN_7f078444(); - uVar1 = 1; - if (DAT_8003e2b4 + fParm2 < - pfVar3[2] * (pfParm1[2] - pfVar2[2]) + - (*pfParm1 - *pfVar2) * *pfVar3 + (pfParm1[1] - pfVar2[1]) * pfVar3[1]) { - uVar1 = 0; - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0ba798(void) - -{ - return _DAT_8006cf64; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0ba7a4(int iParm1,float *pfParm2) - -{ - float fVar1; - - if (_DAT_8006cf60 == 0) { - return 2; - } - if (0.00000000 <= *(float *)(iParm1 + 0x18)) { - fVar1 = (float)(uint)DAT_8003e2c4; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - *pfParm2 = fVar1 / 255.00000000; - fVar1 = (float)(uint)DAT_8003e2c5; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - pfParm2[1] = fVar1 / 255.00000000; - fVar1 = (float)(uint)DAT_8003e2c6; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - pfParm2[2] = fVar1 / 255.00000000; - pfParm2[3] = _DAT_8006cf78 / *(float *)(iParm1 + 0x18) + _DAT_8006cf7c; - if (0.00000000 <= pfParm2[3]) { - if (pfParm2[3] <= 1.00000000) { - return 1; - } - return 0; - } - return 2; - } - return 2; -} - - - -void sub_GAME_7F0BC4C4(void) - -{ - undefined2 *puVar1; - - puVar1 = (undefined2 *)&DAT_8006cfd0; - do { - puVar1 = puVar1 + 6; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 < &DAT_8006d480); - puVar1 = (undefined2 *)&DAT_8006d488; - do { - puVar1 = puVar1 + 8; - puVar1[2] = 0; - puVar1[4] = 0; - puVar1[6] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != (undefined2 *)0x8006dc88); - DAT_8003eaa0 = 0; - return; -} - - - -int FUN_7f0ba924(void) - -{ - short *psVar1; - int iVar2; - - psVar1 = (short *)&DAT_8006cfd0; - iVar2 = 0; - while( true ) { - if (*psVar1 == 0) { - return iVar2; - } - if (psVar1[6] == 0) { - return iVar2 + 1; - } - if (psVar1[0xc] == 0) { - return iVar2 + 2; - } - if (psVar1[0x12] == 0) break; - iVar2 += 4; - psVar1 = psVar1 + 0x18; - if (iVar2 == 100) { - return 100; - } - } - return iVar2 + 3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba99c(undefined4 uParm1) - -{ - int iVar1; - - _DAT_8006d480 = FUN_7f0ba924(); - iVar1 = (int)_DAT_8006d480; - if (_DAT_8006d480 != 100) { - *(undefined2 *)(&DAT_8006cfd0 + iVar1 * 0xc) = _DAT_8006d482; - *(undefined4 *)(&DAT_8006cfd4 + iVar1 * 0xc) = uParm1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0baa00(undefined4 uParm1) - -{ - if (_DAT_8006d480 != 100) { - *(undefined4 *)(&DAT_8006cfd8 + (int)_DAT_8006d480 * 0xc) = uParm1; - } - return; -} - - - -undefined8 locret_7F0BB68C(longlong lParm1) - -{ - if ((((((lParm1 != 0xc9) && (lParm1 != 0xcb)) && (lParm1 != 0xcd)) && - ((lParm1 != 0xfc && (lParm1 != 0xfe)))) && - ((lParm1 != 0xff && ((lParm1 != 0x100 && (lParm1 != 0x1ac)))))) && - ((lParm1 != 0x3d6 && (lParm1 != 0x567)))) { - return 0; - } - return 1; -} - - - -uint locret_7F0BB6EC(char *pcParm1,int iParm2) - -{ - uint uVar1; - char *pcVar2; - char cVar3; - - if (*pcParm1 != '\x04') { - cVar3 = pcParm1[-8]; - pcVar2 = pcParm1; - while (pcParm1 = pcVar2 + -8, cVar3 != '\x04') { - cVar3 = pcVar2[-0x10]; - pcVar2 = pcParm1; - } - } - uVar1 = *(uint *)(pcParm1 + 4); - if ((uVar1 & 0xff000000) == 0xe000000) { - uVar1 = *(int *)(&DAT_8003ac68 + iParm2 * 0x50) + (uVar1 & 0xffffff); - } - return uVar1; -} - - - -void FUN_7f0baaf4(undefined8 uParm1,ulonglong uParm2) - -{ - if (uParm2 < 5) { - // WARNING: Could not recover jumptable at 0x7f0bab0c. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8004d7d0)[(int)uParm2])(); - return; - } - return; -} - - - -void sub_7F0BB874(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3,undefined2 *puParm4, - undefined2 *puParm5,undefined2 *puParm6) - -{ - int iVar1; - int iStack12; - int iStack8; - int iStack4; - - FUN_7f0baaf4(uParm1,uParm2,&iStack4,&iStack8,&iStack12); - iVar1 = locret_7F0BB6EC((int)uParm1,uParm3); - *puParm4 = *(undefined2 *)(iVar1 + iStack4 * 0x10); - puParm4[1] = *(undefined2 *)(iVar1 + iStack4 * 0x10 + 2); - puParm4[2] = *(undefined2 *)(iVar1 + iStack4 * 0x10 + 4); - *puParm5 = *(undefined2 *)(iVar1 + iStack8 * 0x10); - puParm5[1] = *(undefined2 *)(iVar1 + iStack8 * 0x10 + 2); - puParm5[2] = *(undefined2 *)(iVar1 + iStack8 * 0x10 + 4); - *puParm6 = *(undefined2 *)(iVar1 + iStack12 * 0x10); - puParm6[1] = *(undefined2 *)(iVar1 + iStack12 * 0x10 + 2); - puParm6[2] = *(undefined2 *)(iVar1 + iStack12 * 0x10 + 4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bad78(ulonglong uParm1) - -{ - ushort uVar1; - int iVar2; - int iVar3; - ushort *puVar4; - - iVar2 = *(int *)(&DAT_8003ac68 + (int)uParm1 * 0x50); - puVar4 = (ushort *)&DAT_8006d488; - uVar1 = _DAT_8006d488; - while( true ) { - if (uParm1 == (ulonglong)uVar1) { - iVar3 = iVar2 + (uint)puVar4[1] * 0x10; - *(byte *)(iVar3 + 0xc) = *(byte *)(iVar3 + 0xc) >> 2; - iVar3 = iVar2 + (uint)puVar4[1] * 0x10; - *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) >> 2; - iVar3 = iVar2 + (uint)puVar4[1] * 0x10; - *(byte *)(iVar3 + 0xe) = *(byte *)(iVar3 + 0xe) >> 2; - iVar3 = iVar2 + (uint)puVar4[1] * 0x10; - *(byte *)(iVar3 + 0xf) = *(byte *)(iVar3 + 0xf) >> 2; - } - puVar4 = puVar4 + 2; - if (puVar4 == (ushort *)0x8006dc88) break; - uVar1 = *puVar4; - } - return; -} - - - -void FUN_7f0bae20(int iParm1,int iParm2) - -{ - int iVar1; - longlong lVar2; - int iVar3; - - lVar2 = FUN_7f0baedc(); - if (lVar2 == 0) { - iVar1 = *(int *)(&DAT_8003ac68 + iParm2 * 0x50); - iVar3 = DAT_8003eaa0 * 4; - *(short *)(&DAT_8006d488 + iVar3) = (short)iParm2; - *(short *)(&DAT_8006d48a + iVar3) = (short)((uint)(iParm1 - iVar1) >> 4); - *(byte *)(iParm1 + 0xc) = *(byte *)(iParm1 + 0xc) >> 2; - *(byte *)(iParm1 + 0xd) = *(byte *)(iParm1 + 0xd) >> 2; - *(byte *)(iParm1 + 0xe) = *(byte *)(iParm1 + 0xe) >> 2; - *(byte *)(iParm1 + 0xf) = *(byte *)(iParm1 + 0xf) >> 2; - DAT_8003eaa0 += 1; - if (0x1ff < DAT_8003eaa0) { - DAT_8003eaa0 = 0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0baedc(int iParm1,ulonglong uParm2) - -{ - ushort uVar1; - ushort *puVar2; - ulonglong uVar3; - - uVar3 = SEXT48((int)((uint)(iParm1 - *(int *)(&DAT_8003ac68 + (int)uParm2 * 0x50)) >> 4)); - puVar2 = (ushort *)&DAT_8006d488; - uVar1 = _DAT_8006d488; - while( true ) { - if (uParm2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[1]) { - return 1; - } - uVar1 = puVar2[2]; - } - else { - uVar1 = puVar2[2]; - } - if (uParm2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[3]) { - return 1; - } - uVar1 = puVar2[4]; - } - else { - uVar1 = puVar2[4]; - } - if (uParm2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[5]) { - return 1; - } - uVar1 = puVar2[6]; - } - else { - uVar1 = puVar2[6]; - } - if ((uParm2 == (ulonglong)uVar1) && (uVar3 == (ulonglong)puVar2[7])) break; - puVar2 = puVar2 + 8; - if (puVar2 == (ushort *)0x8006dc88) { - return 0; - } - uVar1 = *puVar2; - } - return 1; -} - - - -void FUN_7f0bafa8(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3) - -{ - int iVar1; - int iStack16; - int iStack12; - int aiStack8 [2]; - - FUN_7f0baaf4(uParm1,uParm2,aiStack8,&iStack12,&iStack16); - iVar1 = locret_7F0BB6EC((int)uParm1,uParm3); - FUN_7f0bae20(aiStack8[0] * 0x10 + iVar1,uParm3); - FUN_7f0bae20(iStack12 * 0x10 + iVar1,uParm3); - FUN_7f0bae20(iStack16 * 0x10 + iVar1,uParm3); - return; -} - - - -int FUN_7f0bb030(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3) - -{ - int iVar1; - int iVar2; - int iVar3; - int iStack16; - int iStack12; - int aiStack8 [2]; - - FUN_7f0baaf4(uParm1,uParm2,aiStack8,&iStack12,&iStack16); - iVar1 = locret_7F0BB6EC((int)uParm1,uParm3); - iVar2 = FUN_7f0baedc(iStack12 * 0x10 + iVar1,uParm3); - iVar3 = FUN_7f0baedc(aiStack8[0] * 0x10 + iVar1,uParm3); - iVar1 = FUN_7f0baedc(iStack16 * 0x10 + iVar1,uParm3); - return iVar1 + iVar3 + iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F0BBDD8(short *psParm1,ulonglong uParm2) - -{ - ushort uVar1; - short *psVar2; - int iVar3; - int iVar4; - int iVar5; - ushort *puVar6; - float fVar7; - - puVar6 = (ushort *)&DAT_8006d488; - uVar1 = _DAT_8006d488; - do { - if (uParm2 == (ulonglong)uVar1) { - psVar2 = (short *)((uint)puVar6[1] * 0x10 + *(int *)(&DAT_8003ac68 + (int)uParm2 * 0x50)); - iVar3 = (int)*psVar2 - (int)*psParm1; - iVar4 = (int)psVar2[1] - (int)psParm1[1]; - iVar5 = (int)psVar2[2] - (int)psParm1[2]; - if (iVar3 < 0) { - iVar3 = -iVar3; - } - if (iVar4 < 0) { - iVar4 = -iVar4; - } - if (iVar5 < 0) { - iVar5 = -iVar5; - } - fVar7 = (float)FUN_7f0b3b78(); - if (iVar3 + iVar4 + iVar5 < (int)(fVar7 * 100.00000000)) { - return 1; - } - } - puVar6 = puVar6 + 2; - if (puVar6 == (ushort *)0x8006dc88) { - return 0; - } - uVar1 = *puVar6; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bb20c(uint uParm1,undefined8 uParm2,short sParm3) - -{ - short sVar1; - bool bVar2; - longlong lVar3; - char cVar4; - char *pcVar5; - int iVar6; - int iVar7; - short *psVar8; - int iVar9; - char *pcVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - float fVar15; - float fVar16; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - short sStack74; - short sStack68; - undefined auStack48 [8]; - undefined auStack40 [8]; - undefined auStack32 [8]; - short sStack24; - short sStack22; - short sStack20; - short sStack16; - short sStack14; - short sStack12; - short sStack8; - short sStack6; - short sStack4; - - psVar8 = (short *)&DAT_8006cfd0; - sVar1 = _DAT_8006cfd0; - while (((sParm3 != sVar1 || (uParm1 < *(uint *)(psVar8 + 2))) || (*(uint *)(psVar8 + 4) <= uParm1) - )) { - psVar8 = psVar8 + 6; - if (psVar8 == (short *)&DAT_8006d480) { - return; - } - sVar1 = *psVar8; - } - lVar3 = FUN_7f0bb030(uParm1,uParm2); - if (lVar3 == 0) { - FUN_7f0bafa8(uParm1,uParm2,*psVar8); - sub_7F0BB874(uParm1,uParm2,*psVar8,&sStack8,&sStack16,&sStack24); - iVar6 = ((int)sStack8 - (int)sStack16) * 0x10000 >> 0x10; - iVar11 = ((int)sStack8 - (int)sStack24) * 0x10000 >> 0x10; - iVar7 = ((int)sStack6 - (int)sStack14) * 0x10000 >> 0x10; - sStack68 = sStack14 - sStack22; - iVar14 = ((int)sStack16 - (int)sStack24) * 0x10000 >> 0x10; - iVar9 = ((int)sStack4 - (int)sStack12) * 0x10000 >> 0x10; - iVar13 = ((int)sStack4 - (int)sStack20) * 0x10000 >> 0x10; - iVar12 = ((int)sStack6 - (int)sStack22) * 0x10000 >> 0x10; - sStack74 = sStack12 - sStack20; - fVar16 = (float)sqrtf((float)(iVar6 * iVar6 + iVar7 * iVar7 + iVar9 * iVar9)); - fVar15 = (float)FUN_7f0b3b6c(); - fStack80 = 10.00000000 / (fVar15 * fVar16); - fVar16 = (float)sqrtf((float)(iVar11 * iVar11 + iVar12 * iVar12 + iVar13 * iVar13)); - fVar15 = (float)FUN_7f0b3b6c(); - fStack84 = 10.00000000 / (fVar15 * fVar16); - fVar16 = (float)sqrtf((float)(iVar14 * iVar14 + (int)sStack68 * (int)sStack68 + - (int)sStack74 * (int)sStack74)); - fVar15 = (float)FUN_7f0b3b6c(); - fStack88 = 10.00000000 / (fVar15 * fVar16); - FUN_7f0bbe34(*psVar8,&fStack100); - fVar16 = 0.00000000; - if (true) { - do { - fVar15 = (float)FUN_7f0b3b6c(); - fStack112 = fStack100 + ((float)(int)sStack16 + (float)iVar6 * fVar16) * fVar15; - fVar15 = (float)FUN_7f0b3b6c(); - fStack108 = fStack96 + ((float)(int)sStack14 + (float)iVar7 * fVar16) * fVar15; - fVar15 = (float)FUN_7f0b3b6c(); - fStack104 = fStack92 + ((float)(int)sStack12 + (float)iVar9 * fVar16) * fVar15; - loc_7F0A28B4(&fStack112,0,0x41200000); - fVar16 = fVar16 + fStack80; - } while (fVar16 < 1.00000000); - } - fVar16 = 0.00000000; - if (true) { - do { - fVar15 = (float)FUN_7f0b3b6c(); - fStack112 = fStack100 + ((float)(int)sStack24 + (float)iVar11 * fVar16) * fVar15; - fVar15 = (float)FUN_7f0b3b6c(); - fStack108 = fStack96 + ((float)(int)sStack22 + (float)iVar12 * fVar16) * fVar15; - fVar15 = (float)FUN_7f0b3b6c(); - fStack104 = fStack92 + ((float)(int)sStack20 + (float)iVar13 * fVar16) * fVar15; - loc_7F0A28B4(&fStack112,0,0x41200000); - fVar16 = fVar16 + fStack84; - } while (fVar16 < 1.00000000); - } - fVar16 = 0.00000000; - if (true) { - iVar6 = (int)sStack68; - iVar7 = (int)sStack74; - do { - fVar15 = (float)FUN_7f0b3b6c(); - fStack112 = fStack100 + ((float)(int)sStack24 + (float)iVar14 * fVar16) * fVar15; - fVar15 = (float)FUN_7f0b3b6c(); - fStack108 = fStack96 + ((float)(int)sStack22 + (float)iVar6 * fVar16) * fVar15; - fVar15 = (float)FUN_7f0b3b6c(); - fStack104 = fStack92 + ((float)(int)sStack20 + (float)iVar7 * fVar16) * fVar15; - loc_7F0A28B4(&fStack112,0,0x41200000); - fVar16 = fVar16 + fStack88; - } while (fVar16 < 1.00000000); - pcVar10 = *(char **)(psVar8 + 2); - } - else { - pcVar10 = *(char **)(psVar8 + 2); - } - pcVar5 = *(char **)(psVar8 + 4); - if (pcVar10 < pcVar5) { - cVar4 = *pcVar10; - while( true ) { - bVar2 = false; - if (cVar4 == -0x41) { - sub_7F0BB874(pcVar10,0,*psVar8,auStack32,auStack40,auStack48); - lVar3 = loc_7F0BBDD8(auStack32,*psVar8); - if (lVar3 == 0) { - lVar3 = loc_7F0BBDD8(auStack40,*psVar8); - if (lVar3 == 0) { - lVar3 = loc_7F0BBDD8(auStack48,*psVar8); - if (lVar3 != 0) { - bVar2 = true; - } - } - else { - bVar2 = true; - } - } - else { - bVar2 = true; - } - if (bVar2) { - FUN_7f0bafa8(pcVar10,0,*psVar8); - } - pcVar5 = *(char **)(psVar8 + 4); - } - else { - iVar6 = 0; - if (cVar4 == -0x4f) { - do { - iVar6 += 1; - bVar2 = false; - sub_7F0BB874(pcVar10,iVar6,*psVar8,auStack32,auStack40,auStack48); - lVar3 = loc_7F0BBDD8(auStack32,*psVar8); - if (lVar3 == 0) { - lVar3 = loc_7F0BBDD8(auStack40,*psVar8); - if (lVar3 == 0) { - lVar3 = loc_7F0BBDD8(auStack48,*psVar8); - if (lVar3 != 0) { - bVar2 = true; - } - } - else { - bVar2 = true; - } - } - else { - bVar2 = true; - } - if (bVar2) { - FUN_7f0bafa8(pcVar10,iVar6,*psVar8); - } - } while (iVar6 != 4); - pcVar5 = *(char **)(psVar8 + 4); - } - } - pcVar10 = pcVar10 + 8; - if (pcVar5 <= pcVar10) break; - cVar4 = *pcVar10; - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bb8c4(short sParm1) - -{ - short sVar1; - short *psVar2; - - psVar2 = (short *)&DAT_8006cfd0; - sVar1 = _DAT_8006cfd0; - while( true ) { - if (sParm1 == sVar1) { - *psVar2 = 0; - sVar1 = psVar2[6]; - } - else { - sVar1 = psVar2[6]; - } - if (sParm1 == sVar1) { - psVar2[6] = 0; - sVar1 = psVar2[0xc]; - } - else { - sVar1 = psVar2[0xc]; - } - if (sParm1 == sVar1) { - psVar2[0xc] = 0; - sVar1 = psVar2[0x12]; - } - else { - sVar1 = psVar2[0x12]; - } - if (sParm1 == sVar1) { - psVar2[0x12] = 0; - } - psVar2 = psVar2 + 0x18; - if (psVar2 == (short *)&DAT_8006d480) break; - sVar1 = *psVar2; - } - _DAT_8006d482 = sParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void sub_GAME_7F0BCA34(void) - -{ - longlong lVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined *puVar5; - int iVar6; - int *piVar7; - undefined1 *puVar8; - - iVar6 = 0; - lVar1 = FUN_7f0999a4(); - if (0 < lVar1) { - piVar7 = (int *)&DAT_800689f0; - iVar2 = _DAT_800689f0; - while( true ) { - iVar6 += 1; - piVar7 = piVar7 + 1; - *(undefined4 *)(iVar2 + 0x1084) = 0xffffffff; - iVar2 = FUN_7f0999a4(); - if (iVar2 <= iVar6) break; - iVar2 = *piVar7; - } - } - puVar4 = (undefined4 *)&DAT_8006dcf8; - puVar3 = (undefined4 *)&DAT_8006de88; - puVar5 = &DAT_8006dc90; - do { - puVar3 = puVar3 + 1; - *puVar4 = 0xffffffff; - *puVar5 = 2; - *puVar3 = 0xffffffff; - puVar4 = puVar4 + 1; - puVar3 = puVar3; - puVar5 = puVar5 + 1; - } while (puVar3 < (undefined4 *)0x8006e018); - lVar1 = FUN_7f0b5180(); - if (0 < lVar1) { - iVar6 = 1; - puVar8 = &DAT_8003ac64; - while( true ) { - *(undefined2 *)(puVar8 + 0x36) = 0xffff; - iVar2 = FUN_7f0b5180(); - if (iVar2 <= iVar6) break; - iVar6 += 1; - puVar8 = puVar8 + 0x50; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bba24(undefined4 uParm1) - -{ - *(undefined4 *)(_DAT_80068bc0 + 0x1084) = uParm1; - return; -} - - - -void FUN_7f0bba34(int iParm1,int iParm2) - -{ - (&DAT_8003ac9a)[iParm2 * 0x28] = (short)iParm1; - *(int *)(&DAT_8006dcf8 + iParm1 * 4) = iParm2; - return; -} - - - -void FUN_7f0bba60(int iParm1,int iParm2) - -{ - (&DAT_8003ac9a)[iParm2 * 0x28] = 0xffff; - *(undefined4 *)(&DAT_8006dcf8 + iParm1 * 4) = 0xffffffff; - return; -} - - - -void FUN_7f0bba90(int iParm1) - -{ - if (*(int *)(&DAT_8006dcf8 + iParm1 * 4) != -1) { - FUN_7f0bba60(); - } - (&DAT_8006dc90)[iParm1] = 2; - *(undefined4 *)(&DAT_8006de88 + iParm1 * 4) = 0xffffffff; - return; -} - - - -int FUN_7f0bbaf0(void) - -{ - byte bVar1; - byte *pbVar2; - int iVar3; - - pbVar2 = &DAT_8006dc90; - iVar3 = 0; - while( true ) { - if (*pbVar2 < 2) { - bVar1 = pbVar2[1]; - } - else { - if (*(int *)(&DAT_8006de88 + iVar3 * 4) == -1) { - return iVar3; - } - bVar1 = pbVar2[1]; - } - if (bVar1 < 2) { - bVar1 = pbVar2[2]; - } - else { - if (*(int *)(&DAT_8006de8c + iVar3 * 4) == -1) { - return iVar3 + 1; - } - bVar1 = pbVar2[2]; - } - if (bVar1 < 2) { - bVar1 = pbVar2[3]; - } - else { - if (*(int *)(&DAT_8006de90 + iVar3 * 4) == -1) { - return iVar3 + 2; - } - bVar1 = pbVar2[3]; - } - if ((1 < bVar1) && (*(int *)(&DAT_8006de94 + iVar3 * 4) == -1)) break; - iVar3 += 4; - pbVar2 = pbVar2 + 4; - if (iVar3 == 100) { - return 0; - } - } - return iVar3 + 3; -} - - - -void FUN_7f0bbbd4(void) - -{ - int iVar1; - int *piVar2; - byte bVar3; - - piVar2 = (int *)&DAT_8006de88; - iVar1 = 0; - do { - if ((-1 < *piVar2) && - (bVar3 = (&DAT_8006dc90)[iVar1] + 1, (&DAT_8006dc90)[iVar1] = bVar3, 1 < bVar3)) { - FUN_7f0bba90(iVar1); - } - iVar1 += 1; - piVar2 = piVar2 + 1; - } while (iVar1 != 100); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f0bbc5c(int iParm1) - -{ - short sVar1; - int iVar2; - longlong lVar3; - int iVar4; - float afStack68 [5]; - float fStack48; - float fStack28; - float fStack20; - float fStack16; - float fStack12; - - sVar1 = (&DAT_8003ac9a)[iParm1 * 0x28]; - lVar3 = (longlong)sVar1; - if ((lVar3 == -1) || - (*(int *)(_DAT_80068bc0 + 0x1084) != *(int *)(&DAT_8006de88 + (int)sVar1 * 4))) { - if (lVar3 != -1) { - FUN_7f0bba60(lVar3,iParm1); - } - lVar3 = FUN_7f0bbaf0(); - FUN_7f0bba34(lVar3,iParm1); - iVar4 = (int)lVar3; - (&DAT_8006dc90)[iVar4] = 0; - *(undefined4 *)(&DAT_8006de88 + iVar4 * 4) = *(undefined4 *)(_DAT_80068bc0 + 0x1084); - sub_GAME_7F05A9B8(afStack68); - afStack68[0] = DAT_8003ac48; - fStack48 = DAT_8003ac48; - fStack28 = DAT_8003ac48; - iVar2 = _DAT_8006b3d4 + iParm1 * 0x18; - fStack20 = *(float *)(iVar2 + 0xc) * DAT_8003ac48 - *(float *)(_DAT_80068bc0 + 0x38); - fStack16 = *(float *)(iVar2 + 0x10) * DAT_8003ac48 - *(float *)(_DAT_80068bc0 + 0x3c); - fStack12 = *(float *)(iVar2 + 0x14) * DAT_8003ac48 - *(float *)(_DAT_80068bc0 + 0x40); - FUN_7f059144(afStack68,iVar4 * 0x40 + -0x7ff91fe8); - } - else { - (&DAT_8006dc90)[(int)sVar1] = 0; - } - return lVar3; -} - - - -undefined4 * FUN_7f0bbdc4(undefined4 *puParm1,undefined8 uParm2) - -{ - int iVar1; - - iVar1 = FUN_7f0bbc5c(uParm2); - *puParm1 = 0x1020040; - puParm1[1] = iVar1 * 0x40 + -0x7ff91fe8; - return puParm1 + 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0bbe14(int iParm1) - -{ - return iParm1 * 0x18 + _DAT_8006b3d4 + 0xc; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bbe34(int iParm1,float *pfParm2) - -{ - iParm1 *= 0x18; - *pfParm2 = *(float *)(_DAT_8006b3d4 + iParm1 + 0xc) * DAT_8003ac48; - pfParm2[1] = *(float *)(_DAT_8006b3d4 + iParm1 + 0x10) * DAT_8003ac48; - pfParm2[2] = *(float *)(_DAT_8006b3d4 + iParm1 + 0x14) * DAT_8003ac48; - return; -} - - - -void sub_GAME_7F0BD410(undefined8 uParm1,longlong lParm2,int iParm3,int *piParm4) - -{ - int iVar1; - undefined auStack8452 [8448]; - int iStack4; - - iVar1 = (int)uParm1; - if (lParm2 == 0) { - FUN_7000503c(uParm1,*(undefined4 *)(iParm3 + 8),*piParm4); - } - else { - iStack4 = (iVar1 + (int)lParm2) - (*piParm4 + 7U & 0xfffffff8); - if ((uint)(iStack4 - iVar1) < 8) { - piParm4[1] = 0; - } - else { - FUN_7000503c(iStack4,*(undefined4 *)(iParm3 + 8)); - iVar1 = sub_GAME_7F0CE894(iStack4,iVar1,auStack8452); - piParm4[1] = iVar1; - } - } - return; -} - - - -void loc_7F0BCC18(int iParm1,int iParm2,int iParm3,int iParm4) - -{ - undefined4 uVar1; - undefined auStack8452 [8448]; - char *pcStack4; - - if (iParm2 == 0) { - FUN_7f0cf4bc(*(undefined4 *)(iParm3 + 4),iParm1); - } - else { - FUN_7f0cf5b8(*(undefined4 *)(iParm3 + 4),iParm4 + 8); - pcStack4 = (char *)((iParm1 + iParm2) - (*(int *)(iParm4 + 8) + 7U & 0xfffffff8)); - if (pcStack4 + -iParm1 < (char *)0x8) { - *(undefined4 *)(iParm4 + 4) = 0; - } - else { - FUN_7f0cf4bc(*(undefined4 *)(iParm3 + 4),pcStack4); - if ((*pcStack4 == DAT_8005022c) && (pcStack4[1] == DAT_80050231)) { - uVar1 = sub_GAME_7F0CE894(pcStack4,iParm1,auStack8452); - } - else { - _bcopy(pcStack4,iParm1,*(undefined4 *)(iParm4 + 8)); - uVar1 = *(undefined4 *)(iParm4 + 8); - } - *(undefined4 *)(iParm4 + 4) = uVar1; - } - } - return; -} - - - -void FUN_7f0bc028(void) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int *piVar4; - int iVar5; - int iVar6; - - FUN_70004280(&DAT_8003eac0,s_ob_c_debug_80050234); - iVar6 = -0x7ffc1530; - iVar5 = DAT_80040f54 + -1; - if (1 < iVar5) { - piVar3 = (int *)&DAT_8006f934; - do { - piVar1 = (int *)(iVar6 + 0x14); - piVar2 = (int *)(iVar6 + 8); - piVar4 = piVar3 + 5; - iVar6 += 0xc; - *piVar3 = *piVar1 - *piVar2; - piVar3[1] = 0; - piVar3[2] = 0; - piVar3[3] = 0; - piVar3 = piVar4; - } while (piVar4 < (int *)(iVar5 * 0x14 + -0x7ff906e0)); - } - return; -} - - - -void FUN_7f0bc0bc(undefined8 uParm1,undefined4 uParm2,int iParm3,int iParm4) - -{ - int iVar1; - int iVar2; - - iVar2 = FUN_7f0bc60c(); - iVar1 = *(int *)(iVar2 * 0x14 + -0x7ff906e0); - if (iVar1 != 0) { - if (iVar1 + 0xfU < (uint)(iParm3 + iParm4)) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - FUN_7000503c(uParm2,(&DAT_8003eacc)[iVar2 * 3] + iParm3); - } - return; -} - - - -void FUN_7f0bc14c(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,byte bParm4) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f0bc60c(); - loc_7F0BCFCC(uVar1,uParm2,uParm3,(ulonglong)bParm4); - return; -} - - - -void FUN_7f0bc188(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f0bc60c(); - FUN_7f0bc398(uVar1,uParm2,uParm3,uParm4); - return; -} - - - -undefined4 loc_7F0BCFCC(int iParm1,longlong lParm2,int iParm3,byte bParm4) - -{ - undefined4 uVar1; - int iVar2; - int iVar4; - undefined8 uVar3; - undefined4 uVar5; - int *piVar6; - - if (((lParm2 == 0) || (lParm2 == 1)) || (lParm2 == 2)) { - iVar2 = iParm1 * 0x14; - iVar4 = *(int *)(iVar2 + -0x7ff906dc); - if (iVar4 == 0) { - iVar4 = FUN_70008d70((ulonglong)bParm4); - *(int *)(iVar2 + -0x7ff906dc) = iVar4; - } - uVar3 = FUN_70008b80(iVar4,(ulonglong)bParm4); - uVar1 = *(undefined4 *)(iVar2 + -0x7ff906dc); - *(undefined4 *)(iVar2 + -0x7ff906d4) = uVar1; - uVar5 = (undefined4)uVar3; - if ((&DAT_8003eacc)[iParm1 * 3] == 0) { - loc_7F0BCC18(uVar3,uVar1,&DAT_8003eac4 + iParm1 * 0xc,iVar2 + -0x7ff906e0); - } - else { - sub_GAME_7F0BD410(uVar3,uVar1,&DAT_8003eac4 + iParm1 * 0xc,iVar2 + -0x7ff906e0); - } - if ((int)lParm2 != 0) { - FUN_70008c64(uVar5,*(undefined4 *)(iVar2 + -0x7ff906dc),(ulonglong)bParm4); - } - } - else { - iVar2 = iParm1 * 0x14; - piVar6 = (int *)(iVar2 + -0x7ff906e0); - iVar4 = *(int *)(iVar2 + -0x7ff906dc); - if (iVar4 == 0) { - iVar4 = *piVar6; - if (iVar4 == 0) { - iVar4 = *(int *)(iVar2 + -0x7ff906d8); - *(int *)(iVar2 + -0x7ff906dc) = iVar4; - } - else { - *(int *)(iVar2 + -0x7ff906dc) = iVar4; - } - } - uVar5 = FUN_70008b80(iVar4,(ulonglong)bParm4); - *(undefined4 *)(iVar2 + -0x7ff906d4) = *(undefined4 *)(iVar2 + -0x7ff906dc); - if ((&DAT_8003eacc)[iParm1 * 3] == 0) { - loc_7F0BCC18(uVar5,0,&DAT_8003eac4 + iParm1 * 0xc,piVar6); - } - else { - sub_GAME_7F0BD410(uVar5,0,&DAT_8003eac4 + iParm1 * 0xc,piVar6); - } - if (iParm3 == 0) { - *(byte *)(iVar2 + -0x7ff906d0) = bParm4; - } - } - return uVar5; -} - - - -undefined4 FUN_7f0bc398(int iParm1,longlong lParm2,undefined4 uParm3,undefined4 uParm4) - -{ - int iVar1; - int *piVar2; - - iVar1 = iParm1 * 0x14; - piVar2 = (int *)(iVar1 + -0x7ff906e0); - if (*(int *)(iVar1 + -0x7ff906dc) == 0) { - if (*piVar2 == 0) { - *(undefined4 *)(iVar1 + -0x7ff906dc) = *(undefined4 *)(iVar1 + -0x7ff906d8); - } - else { - *(int *)(iVar1 + -0x7ff906dc) = *piVar2; - } - } - if (((lParm2 == 0) || (lParm2 == 1)) || (lParm2 == 2)) { - if ((&DAT_8003eacc)[iParm1 * 3] == 0) { - *(undefined4 *)(iVar1 + -0x7ff906d4) = uParm4; - loc_7F0BCC18(uParm3,uParm4,&DAT_8003eac4 + iParm1 * 0xc,piVar2); - } - else { - *(undefined4 *)(iVar1 + -0x7ff906d4) = uParm4; - sub_GAME_7F0BD410(uParm3,uParm4,&DAT_8003eac4 + iParm1 * 0xc,piVar2); - } - } - else { - if ((&DAT_8003eacc)[iParm1 * 3] == 0) { - loc_7F0BCC18(uParm3,0,&DAT_8003eac4 + iParm1 * 0xc,piVar2); - } - else { - sub_GAME_7F0BD410(uParm3,0,&DAT_8003eac4 + iParm1 * 0xc,piVar2); - } - } - return uParm3; -} - - - -undefined4 FUN_7f0bc4b8(int iParm1) - -{ - return *(undefined4 *)(iParm1 * 0x14 + -0x7ff906dc); -} - - - -undefined4 FUN_7f0bc4d4(int iParm1) - -{ - return *(undefined4 *)(iParm1 * 0x14 + -0x7ff906d4); -} - - - -void FUN_7f0bc4f0(int iParm1,undefined8 uParm2,undefined8 uParm3,longlong lParm4) - -{ - *(undefined4 *)(iParm1 * 0x14 + -0x7ff906dc) = (int)uParm3; - *(undefined4 *)(iParm1 * 0x14 + -0x7ff906d4) = (int)uParm3; - if (lParm4 != 0) { - FUN_70008c64(uParm2,uParm3,4); - } - return; -} - - - -undefined4 FUN_7f0bc540(void) - -{ - int iVar1; - - iVar1 = FUN_7f0bc60c(); - return *(undefined4 *)(iVar1 * 0x14 + -0x7ff906dc); -} - - - -void FUN_7f0bc574(byte bParm1) - -{ - byte bVar1; - int iVar2; - undefined *puVar3; - - if (1 < DAT_80040f54) { - iVar2 = DAT_80040f54 * 0x14; - bVar1 = DAT_8006f944; - puVar3 = &DAT_8006f934; - while( true ) { - if (bVar1 <= bParm1) { - puVar3[0x10] = 0; - } - if (bParm1 == 4) { - *(undefined4 *)(puVar3 + 4) = 0; - } - if ((undefined *)(iVar2 + -0x7ff906e0) <= puVar3 + 0x14) break; - bVar1 = puVar3[0x24]; - puVar3 = puVar3 + 0x14; - } - } - return; -} - - - -void FUN_7f0bc5ec(void) - -{ - FUN_7f0bc574(5); - return; -} - - - -int FUN_7f0bc60c(undefined8 uParm1) - -{ - undefined *puVar1; - longlong lVar2; - int iVar3; - int iVar4; - int aiStack12 [3]; - - iVar4 = 1; - if (1 < DAT_80040f54) { - puVar1 = PTR_s_bg_bg_sev_all_p_seg_8003ead4; - iVar3 = -0x7ffc1530; - while( true ) { - if ((puVar1 != NULL) && (lVar2 = loc_7000A888(uParm1), lVar2 == 0)) { - return iVar4; - } - iVar4 += 1; - if (DAT_80040f54 <= iVar4) break; - puVar1 = *(undefined **)(iVar3 + 0x10); - iVar3 = iVar3 + 0xc; - } - } - iVar4 = DAT_80040f54; - if (DAT_80040f54 < 0x30c) { - DAT_80040f54 += 1; - lVar2 = FUN_7f0cf5b8(uParm1,aiStack12); - if (lVar2 == 0) { - iVar4 = 0; - } - else { - iVar3 = iVar4 * 0x14; - *(int *)(&DAT_8003eac4 + iVar4 * 0xc) = iVar4; - *(undefined4 *)(iVar4 * 0xc + -0x7ffc1538) = (int)uParm1; - *(undefined *)(iVar3 + -0x7ff906cf) = 0; - (&DAT_8003eacc)[iVar4 * 3] = 0; - *(undefined4 *)(iVar3 + -0x7ff906e0) = 0; - *(undefined4 *)(iVar3 + -0x7ff906dc) = 0; - *(undefined4 *)(iVar3 + -0x7ff906d4) = 0; - *(undefined *)(iVar3 + -0x7ff906d0) = 0; - *(uint *)(iVar3 + -0x7ff906d8) = (aiStack12[0] + 0xfU | 0xf) ^ 0xf; - } - } - else { - iVar4 = 0; - } - return iVar4; -} - - - -void FUN_7f0bc73c(void) - -{ - return; -} - - - -void FUN_7f0bc744(void) - -{ - int iVar1; - - iVar1 = 1; - if (1 < DAT_80040f54) { - do { - FUN_7f0bc73c(iVar1); - iVar1 += 1; - } while (iVar1 < DAT_80040f54); - } - return; -} - - - -void draw_membars(void) - -{ - FUN_70004280(&DAT_80040f60,s_dyn_c_debug_80050240); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bc83c(void) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - - lVar1 = loc_7000A740(1,s__mgfx_8005024c); - if (lVar1 != 0) { - iVar3 = FUN_7f0999a4(); - uVar2 = loc_7000A740(1,s__mgfx_80050254); - iVar4 = loc_7000AC44(uVar2,0,0); - *(int *)(&DAT_80040f60 + iVar3 * 4) = iVar4 << 10; - } - lVar1 = loc_7000A740(1,s__mvtx_8005025c); - if (lVar1 != 0) { - iVar3 = FUN_7f0999a4(); - uVar2 = loc_7000A740(1,s__mvtx_80050264); - iVar4 = loc_7000AC44(uVar2,0,0); - *(int *)(&DAT_80040f70 + iVar3 * 4) = iVar4 << 10; - } - iVar3 = FUN_7f0999a4(); - _DAT_80073610 = FUN_70008b80(*(int *)(&DAT_80040f60 + iVar3 * 4) << 1,4); - iVar3 = FUN_7f0999a4(); - _DAT_80073614 = *(int *)(&DAT_80040f60 + iVar3 * 4) + _DAT_80073610; - iVar3 = FUN_7f0999a4(); - _DAT_80073618 = *(int *)(&DAT_80040f60 + iVar3 * 4) + _DAT_80073614; - iVar3 = FUN_7f0999a4(); - _DAT_80073620 = FUN_70008b80(*(int *)(&DAT_80040f70 + iVar3 * 4) << 1,4); - iVar3 = FUN_7f0999a4(); - _DAT_80073624 = *(int *)(&DAT_80040f70 + iVar3 * 4) + _DAT_80073620; - iVar3 = FUN_7f0999a4(); - _DAT_80073628 = *(int *)(&DAT_80040f70 + iVar3 * 4) + _DAT_80073624; - _DAT_8007362c = _DAT_80073620; - DAT_80073630 = 0; - _DAT_80073634 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bca74(int iParm1) - -{ - _DAT_8007362c = _DAT_8007362c + iParm1 * 0x10; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bca90(void) - -{ - _DAT_8007362c = _DAT_8007362c + 0x40; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bcaa8(int iParm1) - -{ - _DAT_8007362c = _DAT_8007362c + iParm1 * 0x10; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bcac4(int iParm1) - -{ - _DAT_8007362c = _DAT_8007362c + ((iParm1 + 0xfU | 0xf) ^ 0xf); - return; -} - - - -int FUN_7f0bcb2c(int iParm1) - -{ - return *(int *)(&DAT_80073614 + (uint)DAT_80073630 * 4) - iParm1 >> 3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0bcb54(void) - -{ - return *(int *)(&DAT_80073624 + (uint)DAT_80073630 * 4) - _DAT_8007362c; -} - - - -undefined4 get_poweron_time_sec(void) - -{ - return DAT_80041044; -} - - - -void FUN_7f0bccac(undefined4 uParm1) - -{ - DAT_80041044 = uParm1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bccb8(void) - -{ - undefined8 uVar1; - - FUN_70004280(&DAT_80040fe0,s_lv_c_debug_80050270); - DAT_80040fe0 = 1; - uVar1 = FUN_70008b80(0xc0,6); - _DAT_80073640 = (undefined4)uVar1; - FUN_7000503c(uVar1,0x1047f0,0xc0); - return; -} - - - -void FUN_7f0bcd34(void) - -{ - uint uVar1; - - uVar1 = FUN_700098b0(); - DAT_80040fec = uVar1 % 0x3d + 2; - FUN_700062dc(); - return; -} - - - -void FUN_7f0bcd74(undefined4 uParm1) - -{ - DAT_80040fec = uParm1; - FUN_700062dc(); - return; -} - - - -void FUN_7f0bcd9c(void) - -{ - DAT_80040fec = (DAT_80040fec + 1) % 0x3f; - if (DAT_80040fec == 0) { - DAT_80040fec = 1; - } - FUN_700062dc(); - return; -} - - - -void FUN_7f0bcde8(void) - -{ - DAT_80040fec = (DAT_80040fec + 0x3e) % 0x3f; - if (DAT_80040fec == 0) { - DAT_80040fec = 0x3e; - } - FUN_700062dc(); - return; -} - - - -void FUN_7f0bce34(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f0d1c40(DAT_80040fe4); - FUN_7f0bcd74(uVar1); - return; -} - - - -undefined4 FUN_7f0bd2c4(void) - -{ - return DAT_80040fe4; -} - - - -undefined4 FUN_7f0bd2d0(longlong lParm1) - -{ - undefined4 uVar4; - uint uVar5; - ulonglong uVar1; - ulonglong uVar2; - longlong lVar3; - int iVar6; - - if (lParm1 != 0) { - uVar4 = FUN_7f0b9080(lParm1,DAT_80041050,0xffffffffffffffff); - DAT_80041054 = DAT_80041058; - DAT_80041058 = DAT_8004105c; - DAT_8004105c = DAT_80041060; - DAT_80041060 = DAT_80041064; - uVar5 = FUN_7000b080(0,0x8000); - DAT_80041064 = FUN_7000b080(1,0x8000); - DAT_80041064 |= uVar5 & 0xffff; - if (DAT_80041060 != DAT_80041064) { - DAT_80041044 ^= 1; - } - if (DAT_80041054 != DAT_80041058) { - DAT_80041044 ^= 1; - } - iVar6 = DAT_80041050; - if (DAT_80041064 == 0) { - iVar6 = -1; - } - FUN_7f0b9090(iVar6); - return uVar4; - } - uVar1 = FUN_7000b120(0,0x200); - uVar2 = FUN_7000b120(1,0x200); - if (((uVar2 | uVar1 & 0xffff) != 0) && (DAT_80041050 += -1, DAT_80041050 < 0)) { - DAT_80041050 = 0; - } - uVar1 = FUN_7000b120(0,0x100); - uVar2 = FUN_7000b120(1,0x100); - if ((uVar2 | uVar1 & 0xffff) != 0) { - DAT_80041050 += 1; - } - uVar1 = FUN_7000b080(0,0x10); - uVar2 = FUN_7000b080(1,0x10); - if ((uVar2 | uVar1 & 0xffff) != 0) { - uVar1 = FUN_7000b080(0,0x20); - uVar2 = FUN_7000b080(1,0x20); - if ((uVar2 | uVar1 & 0xffff) != 0) { - lVar3 = FUN_7000b120(0,0x400); - if (lVar3 == 0) { - return 0; - } - FUN_7f0b8e00(DAT_80041050); - return 0; - } - } - uVar1 = FUN_7000b080(0,0x10); - uVar2 = FUN_7000b080(1,0x10); - if ((uVar2 | uVar1 & 0xffff) == 0) { - uVar1 = FUN_7000b080(0,0x20); - uVar2 = FUN_7000b080(1,0x20); - if ((uVar2 | uVar1 & 0xffff) == 0) { - uVar1 = FUN_7000b120(0,0x400); - uVar2 = FUN_7000b120(1,0x400); - if ((uVar2 | uVar1 & 0xffff) != 0) { - FUN_7f0b8d18(DAT_80041050); - } - uVar1 = FUN_7000b120(0,0x800); - uVar2 = FUN_7000b120(1,0x800); - if ((uVar2 | uVar1 & 0xffff) != 0) { - FUN_7f0b8cc8(DAT_80041050); - } - } - else { - uVar1 = FUN_7000b120(0,0x400); - uVar2 = FUN_7000b120(1,0x400); - if (((uVar2 | uVar1 & 0xffff) != 0) && (lVar3 = FUN_7f0b8da0(DAT_80041050), lVar3 != 0)) { - FUN_7f0b8de0(DAT_80041050); - } - uVar1 = FUN_7000b120(0,0x800); - uVar2 = FUN_7000b120(1,0x800); - if (((uVar2 | uVar1 & 0xffff) != 0) && (lVar3 = FUN_7f0b8da0(DAT_80041050), lVar3 == 0)) { - FUN_7f0b8dc0(DAT_80041050); - return 0; - } - } - } - else { - uVar1 = FUN_7000b120(0,0x400); - uVar2 = FUN_7000b120(1,0x400); - if (((uVar2 | uVar1 & 0xffff) != 0) && (lVar3 = FUN_7f0b8d80(DAT_80041050), lVar3 == 0)) { - FUN_7f0b9058(DAT_80041050,0); - } - uVar1 = FUN_7000b120(0,0x800); - uVar2 = FUN_7000b120(1,0x800); - if (((uVar2 | uVar1 & 0xffff) != 0) && (lVar3 = FUN_7f0b8d80(DAT_80041050), lVar3 != 0)) { - FUN_7f0b9058(DAT_80041050,1); - return 0; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0BE844(undefined4 *puParm1) - -{ - undefined4 uVar4; - undefined8 uVar1; - short sVar6; - int iVar5; - longlong lVar2; - longlong lVar3; - undefined4 *puVar7; - undefined4 *puStackX0; - - *puParm1 = 0xbc000006; - puParm1[1] = 0; - puStackX0 = puParm1 + 4; - puParm1[2] = 0xbc000406; - uVar4 = osVirtualToPhysical(_DAT_80073640); - puParm1[3] = uVar4; - puStackX0[1] = 0x1000040; - *puStackX0 = 0x6000000; - puVar7 = puStackX0 + 4; - puStackX0[3] = 0x1000020; - puStackX0[2] = 0x6000000; - if (DAT_80040fe4 == 0x5a) { - puStackX0 = puVar7; - uVar1 = FUN_70003904(puVar7); - puStackX0 = (undefined4 *)(int)uVar1; - puVar7 = (undefined4 *)FUN_700036a8(uVar1); - puStackX0 = puVar7 + 2; - *puVar7 = 0xed000000; - sVar6 = FUN_70003e6c(); - iVar5 = FUN_70003e7c(); - puVar7[1] = (int)((float)iVar5 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar6 * 4.00000000) & 0xfffU) << 0xc; - puStackX0 = (undefined4 *)FUN_7f01ad60(puStackX0); - } - else { - puStackX0 = puVar7; - lVar2 = FUN_7f0999a4(); - *puStackX0 = 0xbc000404; - puStackX0[1] = 2; - puStackX0[3] = 2; - puStackX0[2] = 0xbc000c04; - puStackX0[4] = 0xbc001404; - puStackX0[5] = 0xfffe; - puVar7 = puStackX0 + 8; - iVar5 = 0; - puStackX0[7] = 0xfffe; - puStackX0[6] = 0xbc001c04; - puStackX0 = puVar7; - if (0 < lVar2) { - do { - uVar1 = FUN_7f09aa68(iVar5); - FUN_7f09a64c(uVar1); - FUN_70003e8c(*(undefined2 *)(_DAT_80068bc0 + 0x7f0),*(undefined2 *)(_DAT_80068bc0 + 0x7f2)); - FUN_70003f0c(*(undefined2 *)(_DAT_80068bc0 + 0x7f4),*(undefined2 *)(_DAT_80068bc0 + 0x7f6)); - FUN_70003f94(*(undefined4 *)(_DAT_80068bc0 + 0x11c8)); - FUN_70003fe0(*(undefined4 *)(_DAT_80068bc0 + 0x11cc)); - uVar1 = FUN_70003904(puStackX0); - puStackX0 = (undefined4 *)(int)uVar1; - puStackX0 = (undefined4 *)FUN_700036a8(uVar1); - lVar3 = FUN_7f0903e0(); - if (lVar3 == 0) { - puStackX0 = (undefined4 *)FUN_7f090a00(puStackX0); - } - lVar3 = FUN_7f0903e0(); - if (lVar3 == 1) { - puStackX0 = (undefined4 *)FUN_7f0b2008(puStackX0); - } - lVar3 = FUN_7f0903e0(); - if (lVar3 == 2) { - puStackX0 = (undefined4 *)FUN_7f087ad0(puStackX0); - } - uVar1 = loc_70004370(puStackX0); - puStackX0 = (undefined4 *)(int)uVar1; - puStackX0 = (undefined4 *)loc_7F097360(uVar1); - FUN_7f0b3bc0(); - FUN_7f03caf0(); - FUN_7f03a300(); - loc_7F03D9C0(); - FUN_7f03c354(); - lVar3 = FUN_7f08a104(); - if ((lVar3 != 0) && (lVar3 = FUN_7f03c5b0(), lVar3 != 0)) { - FUN_7f05de1c(0); - FUN_7f05de1c(1); - } - FUN_7f03d194(); - puStackX0 = (undefined4 *)loc_7F0B4F68(puStackX0); - lVar3 = FUN_7f0904f0(); - if (lVar3 != 0) { - puStackX0 = (undefined4 *)FUN_7f0bd2d0(puStackX0); - } - lVar3 = FUN_7f090428(); - if (lVar3 != 0) { - puStackX0 = (undefined4 *)FUN_7f0b22fc(puStackX0); - } - lVar3 = FUN_7f090418(); - if (lVar3 != 0) { - uVar1 = FUN_7f0b22f4(puStackX0); - puStackX0 = (undefined4 *)(int)uVar1; - puStackX0 = (undefined4 *)FUN_7f089828(uVar1); - } - lVar3 = FUN_7f090420(); - if (lVar3 != 0) { - uVar1 = FUN_7f0b22f4(puStackX0); - puStackX0 = (undefined4 *)(int)uVar1; - puStackX0 = (undefined4 *)FUN_7f0b23ec(uVar1,0xffffffffffff8040); - } - lVar3 = loc_7000A740(1,s__stanshow__8005027c); - if (lVar3 != 0) { - uVar1 = loc_7000A740(1,s__stanshow__80050288); - lVar3 = loc_7F0B2EF0(uVar1); - if (lVar3 != 0) { - uVar1 = FUN_7f0b22f4(puStackX0); - puStackX0 = (undefined4 *)(int)uVar1; - puStackX0 = (undefined4 *)FUN_7f0b22e4(uVar1,(int)lVar3,0xffffffffff0000ff); - } - } - lVar3 = loc_7000A740(2,s__stanshow__80050294); - if (lVar3 != 0) { - uVar1 = loc_7000A740(2,s__stanshow__800502a0); - lVar3 = loc_7F0B2EF0(uVar1); - if (lVar3 != 0) { - uVar1 = FUN_7f0b22f4(puStackX0); - puStackX0 = (undefined4 *)(int)uVar1; - puStackX0 = (undefined4 *)FUN_7f0b22e4(uVar1,(int)lVar3,0xff00ff); - } - } - lVar3 = loc_7000A740(3,s__stanshow__800502ac); - if (lVar3 != 0) { - uVar1 = loc_7000A740(3,s__stanshow__800502b8); - lVar3 = loc_7F0B2EF0(uVar1); - if (lVar3 != 0) { - uVar1 = FUN_7f0b22f4(puStackX0); - puStackX0 = (undefined4 *)(int)uVar1; - puStackX0 = (undefined4 *)FUN_7f0b22e4(uVar1,(int)lVar3,0xffff); - } - } - lVar3 = FUN_7f0903f0(); - FUN_7f022dec((ulonglong)(lVar3 == 8)); - puStackX0 = (undefined4 *)loc_7F049C60(puStackX0); - FUN_7f0a3b58(register0x000000ec,1); - uVar1 = FUN_7f0a2184(puStackX0); - puStackX0 = (undefined4 *)(int)uVar1; - puStackX0 = (undefined4 *)loc_7F0A0240(uVar1); - lVar3 = FUN_7f091cdc(0xb); - if ((lVar3 != 0) && - ((lVar3 = FUN_7f05de88(0), lVar3 != 0x17 || (*(int *)(_DAT_80068bc0 + 0xfc4) == 0)))) { - FUN_7f069a84(); - } - lVar3 = FUN_7f0903e0(); - if (lVar3 == 2) { - puStackX0 = (undefined4 *)FUN_7f089370(puStackX0); - } - else { - puStackX0 = (undefined4 *)FUN_7f08bfac(puStackX0); - } - puStackX0 = (undefined4 *)FUN_7f0c3504(puStackX0); - iVar5 += 1; - } while (iVar5 < (int)lVar2); - } - } - puVar7 = puStackX0; - *puStackX0 = 0xed000000; - puStackX0 = puStackX0 + 2; - sVar6 = FUN_70003e6c(); - iVar5 = FUN_70003e7c(); - puVar7[1] = (int)((float)iVar5 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar6 * 4.00000000) & 0xfffU) << 0xc; - return puStackX0; -} - - - -void FUN_7f0bdcb4(void) - -{ - float fVar1; - float fVar2; - - if (DAT_80041008 == 0) { - fVar1 = (float)FUN_7f08a4b8(); - fVar2 = (float)FUN_7f08a4c8(); - DAT_80039dc8 = 1.00000000; - fVar2 = fVar2 + fVar1; - if (fVar2 <= 0.12500000) { - DAT_80039dc8 = 0.50000000; - } - else { - if (fVar2 <= DAT_800502f0) { - DAT_80039dc8 = ((fVar2 - 0.12500000) * 0.50000000) / DAT_800502f4 + 0.50000000; - } - } - DAT_8002c064 = 0x40000000; - DAT_80028394 = DAT_80039dc8 * 0.50000000; - DAT_8002c068 = 0x40000000; - DAT_8002c074 = 0x40000000; - DAT_80028390 = DAT_800502f8; - DAT_80028398 = 0x40000000; - DAT_80039dc8 = DAT_80039dc8 * 0.25000000; - DAT_8002bffc = 0x3fc00000; - DAT_8002c078 = 0x40000000; - DAT_8002839c = DAT_800502fc; - DAT_8002c06c = DAT_80028394; - DAT_8002c070 = DAT_80028394; - } - else { - if (DAT_80041008 == 1) { - DAT_8002c064 = 0x3f800000; - DAT_8002c068 = 0x3f800000; - DAT_8002c06c = 0.75000000; - DAT_8002c070 = 0.75000000; - DAT_8002c074 = 0x3f800000; - DAT_80028390 = 0x3f400000; - DAT_80028394 = 0.75000000; - DAT_80028398 = 0x3f800000; - DAT_80039dc8 = 0.75000000; - if (DAT_80041150 == 0) { - DAT_8002bffc = 0x3f400000; - } - else { - DAT_8002bffc = DAT_80050300; - } - DAT_8002c078 = 0x3fc00000; - DAT_8002839c = 0x3f000000; - } - else { - if (DAT_80041008 == 2) { - DAT_8002c064 = 0x3f800000; - DAT_8002c068 = 0x3f800000; - DAT_8002c06c = 1.00000000; - DAT_8002c070 = 1.00000000; - DAT_8002c074 = 0x3f800000; - DAT_80028390 = 0x3f800000; - DAT_80028394 = 1.00000000; - DAT_80028398 = 0x3f800000; - DAT_80039dc8 = 1.00000000; - if (DAT_80041150 == 0) { - DAT_8002bffc = DAT_80050304; - } - else { - DAT_8002bffc = 0x3f400000; - } - DAT_8002c078 = 0x3f800000; - DAT_8002839c = 0x3f800000; - } - else { - if (DAT_80041008 == 3) { - DAT_8002c064 = 0x3f800000; - DAT_8002c068 = 0x3f800000; - DAT_8002c06c = 1.00000000; - DAT_8002c070 = 1.00000000; - DAT_8002c074 = 0x3f800000; - DAT_80028390 = 0x3f800000; - DAT_80028394 = 1.00000000; - DAT_80028398 = 0x3f800000; - DAT_80039dc8 = 1.00000000; - DAT_8002bffc = 0x3f800000; - DAT_8002c078 = 0x3f800000; - DAT_8002839c = 0x3f800000; - } - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0be4b8) overlaps instruction at (ram,0x7f0be4b4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bdfac(void) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - longlong lVar4; - int iVar6; - undefined8 uVar5; - int iVar7; - int extraout_v0_lo; - uint uVar8; - char *pcVar9; - int *piVar10; - int iVar11; - undefined *puVar12; - char cVar13; - char cVar14; - int iVar15; - uint uVar16; - int iVar17; - int iStack364; - int iStack360; - int iStack28; - - FUN_70001d10(); - if (DAT_80040ff0 == 0) { - lVar4 = FUN_7f0c5594(); - if (lVar4 == 0) { - DAT_80040ff4 = DAT_80041118; - DAT_80041000 += 1; - } - else { - DAT_80040ff4 = 0; - } - } - else { - DAT_80040ff4 = 0; - } - DAT_80040ff8 = (float)DAT_80040ff4; - DAT_80041004 = DAT_80040ff8 * DAT_80050308; - DAT_80040ffc += DAT_80040ff4; - if (((DAT_80040fe4 != 0x5a) && (DAT_80041018 == 0)) && (0 < DAT_80040ff4)) { - pcVar9 = &DAT_800585e1; - iVar11 = 1; - if (DAT_80025e50 != 0) { - do { - if ((*pcVar9 != '\0') && (lVar4 = locret_7F091A70(), lVar4 == 0)) { - loc_7F091B50(); - } - iVar11 += 1; - pcVar9 = pcVar9 + 1; - } while (iVar11 != 0x4b); - } - } - lVar4 = FUN_7f0999a4(); - if ((1 < lVar4) && (DAT_80040fe4 != 0x5a)) { - lVar4 = FUN_7f0c00f0(); - if (lVar4 == 6) { - lVar4 = FUN_7f0999a4(); - iVar11 = 0; - iVar17 = 0; - iVar7 = 0; - if (0 < lVar4) { - piVar10 = (int *)&DAT_800689f0; - do { - iVar6 = *piVar10; - iVar11 += 1; - piVar10 = piVar10 + 1; - if ((*(int *)(iVar6 + 0xd8) != 0) && (iVar17 += 1, *(int *)(iVar6 + 0x424) != 0)) { - iVar7 += 1; - } - iVar6 = FUN_7f0999a4(); - } while (iVar11 < iVar6); - } - if ((0 < iVar17) && (iVar17 == iVar7)) { - FUN_7f0c00fc(1); - } - } - iVar11 = DAT_80041018; - if (0 < DAT_8004101c) { - iVar17 = DAT_80040ff4 + DAT_80041018; - if ((DAT_80041018 < DAT_8004101c + -3000) && (DAT_8004101c + -3000 <= iVar17)) { - iStack28 = 0; - lVar4 = FUN_7f0999a4(); - if (0 < lVar4) { - do { - FUN_7f09a64c(iStack28); - uVar5 = FUN_7f0c12b8(0xb044); - FUN_7f08a6d4(uVar5); - iStack28 += 1; - iVar7 = FUN_7f0999a4(); - } while (iStack28 < iVar7); - } - } - if (((DAT_8004101c + -500 <= iVar17) && (DAT_80041024 == 0)) && - (lVar4 = FUN_7f0bf078(), lVar4 == 0)) { - FUN_70008268(_DAT_80056900,0xa1,&DAT_80041024); - } - lVar4 = FUN_7f0bf078(); - if (((lVar4 != 0) && (DAT_80041024 != 0)) && (lVar4 = locret_70008E00(), lVar4 != 0)) { - loc_7000905C(DAT_80041024); - } - if ((iVar11 < DAT_8004101c) && (DAT_8004101c <= iVar17)) { - loc_7F0C2E50(0); - } - } - if ((0 < DAT_80041020) && (DAT_80040ff4 != 0)) { - lVar4 = FUN_7f0999a4(); - iVar7 = 0; - iVar11 = 0; - iVar17 = 0; - if (0 < extraout_v0_lo) { - piVar10 = (int *)&DAT_800689f0; - do { - iVar6 = *piVar10; - if ((*(int *)(iVar6 + 0xd8) != 0) && - (((*(int *)(iVar6 + 0x424) == 0 || (*(int *)(iVar6 + 0x428) == 0)) || - (0.00000000 <= *(float *)(iVar6 + 0x3e4))))) { - iVar7 += 1; - } - iVar15 = (int)lVar4; - iVar6 = FUN_7f0c2db8(); - lVar4 = (longlong)iVar15; - if (DAT_80041020 <= iVar6) { - iVar11 += 1; - } - iVar17 += 1; - piVar10 = piVar10 + 1; - } while (iVar17 < iVar15); - } - if (0 < iVar11) { - if (iVar7 == 0) { - loc_7F0C2E50(0); - } - else { - FUN_7f0c1a00(); - } - } - } - lVar4 = FUN_7f0146c8(); - if ((lVar4 == 1) && (DAT_80040ff4 != 0)) { - uVar8 = FUN_7f0999a4(); - iVar17 = 0; - iVar7 = 0; - iVar11 = 0; - if (0 < (int)uVar8) { - do { - iVar6 = 0; - cVar14 = '\0'; - cVar13 = '\0'; - uVar16 = 0; - if (0 < (int)uVar8) { - if ((uVar8 & 3) != 0) { - piVar10 = (int *)&DAT_800689f0; - puVar12 = &DAT_80068a00 + iVar11 * 4; - cVar13 = cVar14; - do { - iVar15 = *piVar10; - uVar16 += 1; - piVar10 = piVar10 + 1; - if (*(int *)(iVar15 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar15 = *(int *)(puVar12 + 0x24); - } - else { - iVar15 = *(int *)(puVar12 + 0x24); - } - puVar12 = puVar12 + 0x70; - iVar6 += iVar15; - } while ((uVar8 & 3) != uVar16); - cVar14 = cVar13; - if (uVar16 == uVar8) goto LAB_7f0be568; - } - piVar10 = (int *)(&DAT_800689f0 + uVar16 * 4); - puVar12 = &DAT_80068a00 + uVar16 * 0x70 + iVar11 * 4; - cVar13 = cVar14; - do { - if (*(int *)(*piVar10 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar15 = piVar10[1]; - } - else { - iVar15 = piVar10[1]; - } - piVar1 = (int *)(puVar12 + 0x24); - if (*(int *)(iVar15 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar15 = piVar10[2]; - } - else { - iVar15 = piVar10[2]; - } - piVar2 = (int *)(puVar12 + 0x94); - if (*(int *)(iVar15 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar15 = piVar10[3]; - } - else { - iVar15 = piVar10[3]; - } - piVar3 = (int *)(puVar12 + 0x104); - piVar10 = piVar10 + 4; - if (*(int *)(iVar15 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar15 = *(int *)(puVar12 + 0x174); - } - else { - iVar15 = *(int *)(puVar12 + 0x174); - } - puVar12 = puVar12 + 0x1c0; - iVar6 = iVar6 + *piVar1 + *piVar2 + *piVar3 + iVar15; - } while (piVar10 != (int *)(&DAT_800689f0 + uVar8 * 4)); - } -LAB_7f0be568: - if (1 < iVar6) { - if ((&DAT_80068a68)[iVar11 * 0x70] == '\0') { - (&DAT_80068a68)[iVar11 * 0x70] = cVar13 + '\x01'; - } - iVar6 = *(int *)(&DAT_800689f0 + iVar11 * 4); - iVar17 += 1; - if (((*(int *)(iVar6 + 0x424) != 0) && (*(int *)(iVar6 + 0x428) != 0)) && - (*(float *)(iVar6 + 0x3e4) < 0.00000000)) { - iVar7 += 1; - } - } - iVar11 += 1; - } while (iVar11 < (int)uVar8); - } - if (iVar7 < (int)(uVar8 - 1)) { - if ((int)(uVar8 - 1) <= iVar17) { - FUN_7f0c1a00(); - } - } - else { - loc_7F0C2E50(0); - } - } - } - DAT_80041018 += DAT_80040ff4; - DAT_80041028 = (float)DAT_80041018 / 50.00000000; - DAT_8004102c += DAT_80040ff4; - DAT_80041030 = (float)DAT_8004102c / 50.00000000; - lVar4 = FUN_7000b120(0,0xffff); - if (lVar4 == 0) { - DAT_80041014 += DAT_80040ff4; - if (0x5db < DAT_80041014) { - DAT_8004100c = 1; - } - } - else { - DAT_8004100c = 0; - DAT_80041014 = 0; - } - if (DAT_8004100c == 0) { - DAT_80041034 += DAT_80040ff4; - DAT_80041038 = (float)DAT_80041034 / 50.00000000; - DAT_8004103c += DAT_80040ff4; - DAT_80041040 = (float)DAT_8004103c / 50.00000000; - } - else { - DAT_80041010 += DAT_80040ff4; - } - FUN_70003f84(1); - if (DAT_80040fe4 == 0x5a) { - FUN_7f090dbc(); - FUN_7f01a480(); - FUN_7f0c0e20(); - } - else { - FUN_7f09b0fc(); - FUN_7f0bdcb4(); - FUN_7f0bbbd4(); - FUN_7f092390(); - FUN_7f093978(); - FUN_7f0a3b38(); - FUN_7f069600(); - FUN_7f0a1e14(); - FUN_7f09f280(); - FUN_7f03c708(); - FUN_7f0c08a8(); - FUN_7f0c0e20(); - lVar4 = FUN_7f090458(); - if (((lVar4 != 0) && (DAT_8004104c == 0)) && - (DAT_8004104c = FUN_70008b80(0x3000,4), DAT_8004104c != 0)) { - iVar11 = 0; - do { - *(undefined *)(DAT_8004104c + iVar11) = 0xff; - *(byte *)(DAT_8004104c + iVar11 + 1) = *(byte *)(DAT_8004104c + iVar11 + 1) & 0x1f | 0x20; - *(byte *)(DAT_8004104c + iVar11 + 1) = *(byte *)(DAT_8004104c + iVar11 + 1) & 0xe3 | 4; - *(undefined *)(DAT_8004104c + iVar11 + 4) = 0xff; - *(byte *)(DAT_8004104c + iVar11 + 5) = *(byte *)(DAT_8004104c + iVar11 + 5) & 0x1f | 0x20; - *(byte *)(DAT_8004104c + iVar11 + 5) = *(byte *)(DAT_8004104c + iVar11 + 5) & 0xe3 | 4; - *(undefined *)(DAT_8004104c + iVar11 + 8) = 0xff; - *(byte *)(DAT_8004104c + iVar11 + 9) = *(byte *)(DAT_8004104c + iVar11 + 9) & 0x1f | 0x20; - *(byte *)(DAT_8004104c + iVar11 + 9) = *(byte *)(DAT_8004104c + iVar11 + 9) & 0xe3 | 4; - *(undefined *)(DAT_8004104c + iVar11 + 0xc) = 0xff; - *(byte *)(DAT_8004104c + iVar11 + 0xd) = - *(byte *)(DAT_8004104c + iVar11 + 0xd) & 0x1f | 0x20; - iVar17 = DAT_8004104c + iVar11; - iVar11 += 0x10; - *(byte *)(iVar17 + 0xd) = *(byte *)(iVar17 + 0xd) & 0xe3 | 4; - } while (iVar11 != 12000); - } - lVar4 = FUN_7f0904f0(); - if (lVar4 != 0) { - FUN_7f0bd2d0(0); - } - lVar4 = FUN_7f0903f0(); - if (lVar4 == 4) { - lVar4 = FUN_7000b120(0,2); - if (lVar4 != 0) { - FUN_7f0ae8f0(0xffffffffffffffff); - FUN_7f0b1ff8(0,0,0); - } - lVar4 = FUN_7000b120(0,1); - if (lVar4 != 0) { - FUN_7f0ae8f0(1); - FUN_7f0b1ff8(0,0,0); - } - } - else { - if (lVar4 == 8) { - lVar4 = FUN_7000b120(0,2); - if (lVar4 != 0) { - FUN_7f022df8(); - } - lVar4 = FUN_7000b120(0,1); - if (lVar4 != 0) { - FUN_7f022e58(); - } - lVar4 = FUN_7000b120(0,0x20); - if (lVar4 != 0) { - FUN_7f022e90(); - } - lVar4 = FUN_7000b080(0,0x10); - FUN_7f022ea8((ulonglong)(lVar4 != 0)); - } - } - } - lVar4 = FUN_7f0903f0(); - if (lVar4 == 0xc) { - lVar4 = FUN_7000b120(0,0x202); - if (lVar4 != 0) { - FUN_7f0bcde8(); - } - lVar4 = FUN_7000b120(0,0x101); - if (lVar4 != 0) { - FUN_7f0bcd9c(); - } - lVar4 = FUN_7000b120(0,0x400); - if (lVar4 != 0) { - FUN_70006430(); - } - lVar4 = FUN_7000b120(0,0x4000); - if (lVar4 != 0) { - FUN_70006500(); - } - } - else { - if (lVar4 == 0xd) { - lVar4 = FUN_7000b120(0,0x622); - if (lVar4 != 0) { - iVar11 = ((int)DAT_80041068 + -1) * 0x10000; - DAT_80041068 = (short)((uint)iVar11 >> 0x10); - FUN_70008268(_DAT_80056900,iVar11 >> 0x10,0); - } - lVar4 = FUN_7000b120(0,0x911); - if (lVar4 != 0) { - iVar11 = ((int)DAT_80041068 + 1) * 0x10000; - DAT_80041068 = (short)((uint)iVar11 >> 0x10); - FUN_70008268(_DAT_80056900,iVar11 >> 0x10,0); - } - lVar4 = FUN_7000b120(0,4); - if (lVar4 != 0) { - FUN_70008584(); - } - lVar4 = FUN_7000b120(0,8); - if (lVar4 != 0) { - FUN_70008268(_DAT_80056900,DAT_80041068,0); - } - } - else { - if (lVar4 == 0x38) { - iStack360 = FUN_70003df8(); - iStack364 = FUN_70003de0(); - lVar4 = FUN_7000b080(0,4); - if (lVar4 != 0) { - iStack364 += 1; - } - lVar4 = FUN_7000b080(0,8); - if (lVar4 != 0) { - iStack364 += -1; - } - lVar4 = FUN_7000b080(0,1); - if (lVar4 != 0) { - iStack360 += 1; - } - lVar4 = FUN_7000b080(0,2); - if (lVar4 != 0) { - iStack360 += -1; - } - FUN_70003dec(iStack360); - FUN_70003dd4(iStack364); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bec44(void) - -{ - undefined uVar3; - longlong lVar1; - undefined uVar4; - undefined uVar5; - ulonglong uVar2; - float fVar6; - float fVar7; - - uVar3 = FUN_7f09a690(); - FUN_7f090dbc(); - lVar1 = FUN_7f0903e8(); - if (lVar1 == 0) { - lVar1 = FUN_7f0903f0(); - if ((lVar1 == 0) || ((lVar1 = FUN_7f0903f0(), lVar1 == 0x3b && (DAT_80032004 < 0)))) { - uVar4 = FUN_7000ae60(uVar3); - uVar5 = FUN_7000af70(uVar3); - uVar2 = FUN_7000b080(uVar3,0xffff); - sub_GAME_7F0916F4(uVar4,uVar5,uVar2 & 0xffff); - } - else { - uVar4 = FUN_7000ae60(uVar3); - uVar3 = FUN_7000af70(uVar3); - sub_GAME_7F0916F4(uVar4,uVar3,0); - } - } - else { - if (lVar1 == 1) { - lVar1 = FUN_7f0903f0(); - if (lVar1 == 1) { - uVar4 = FUN_7000ae60(uVar3); - uVar5 = FUN_7000af70(uVar3); - uVar2 = FUN_7000b080(uVar3,0xffff); - FUN_7f0b1ff8(uVar4,uVar5,uVar2 & 0xffff); - } - else { - uVar4 = FUN_7000ae60(uVar3); - uVar3 = FUN_7000af70(uVar3); - FUN_7f0b1ff8(uVar4,uVar3,0); - } - } - else { - if (lVar1 == 2) { - lVar1 = FUN_7f0903f0(); - if (lVar1 == 2) { - uVar4 = FUN_7000ae60(uVar3); - uVar5 = FUN_7000af70(uVar3); - uVar2 = FUN_7000b080(uVar3,0xffff); - FUN_7f0870bc(uVar4,uVar5,uVar2 & 0xffff); - } - else { - uVar4 = FUN_7000ae60(uVar3); - uVar3 = FUN_7000af70(uVar3); - FUN_7f0870bc(uVar4,uVar3,0); - } - FUN_7f0c2360(); - } - } - } - fVar6 = *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 8) - *(float *)(_DAT_80068bc0 + 0x408); - fVar7 = *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x10) - *(float *)(_DAT_80068bc0 + 0x410); - fVar6 = (float)sqrtf(fVar6 * fVar6 + fVar7 * fVar7); - *(float *)(_DAT_80068bc4 + 0x38) = *(float *)(_DAT_80068bc4 + 0x38) + fVar6; - lVar1 = FUN_7f0146c8(); - if (lVar1 == 2) { - lVar1 = FUN_7f08d364(); - if (lVar1 == 0) { - *(undefined *)(_DAT_80068bc4 + 0x69) = 0; - } - else { - lVar1 = FUN_7f05de88(0); - if ((lVar1 != 0x58) && (FUN_7f05ddcc(0,0x58), *(int *)(_DAT_80068bc0 + 0x88c) == 2)) { - *(undefined4 *)(_DAT_80068bc0 + 0x88c) = 5; - } - *(int *)(_DAT_80068bc4 + 0x60) = *(int *)(_DAT_80068bc4 + 0x60) + DAT_80040ff4; - *(undefined *)(_DAT_80068bc4 + 0x69) = 1; - } - } - else { - lVar1 = FUN_7f0146c8(); - if (lVar1 == 3) { - lVar1 = FUN_7f08d3a4(); - if (lVar1 == 0) { - *(undefined *)(_DAT_80068bc4 + 0x69) = 0; - } - else { - *(undefined *)(_DAT_80068bc4 + 0x69) = 1; - } - } - } - return; -} - - - -void cleanupSFXRelated(void) - -{ - longlong lVar1; - undefined8 uVar2; - - if ((DAT_80041024 != 0) && (lVar1 = locret_70008E00(), lVar1 != 0)) { - loc_7000905C(DAT_80041024); - } - if (DAT_80040fe4 != 0x5a) { - uVar2 = get_textptr_for_textID(); - FUN_7f0c12a4(uVar2); - FUN_7f0076f0(); - } - FUN_7f091be0(); - cleanupGuardData(); - FUN_7f0073e0(); - FUN_7f007780(); - FUN_7f0078a0(); - FUN_7f0078f0(); - cleanupAlarms(); - cleanupObjects(DAT_80040fe4); - FUN_7f007510(); - cleanupSFXRelated(); - FUN_7f007900(); - FUN_7f0c0748(); - FUN_7f0b3b1c(); - return; -} - - - -void FUN_7f0bf03c(longlong lParm1) - -{ - if ((lParm1 != 0) && (DAT_80040ff0 == 0)) { - reset_cont_rumble_detect(); - } - DAT_80040ff0 = (int)lParm1; - return; -} - - - -undefined4 FUN_7f0bf078(void) - -{ - return DAT_80040ff0; -} - - - -undefined4 FUN_7f0bf084(void) - -{ - return DAT_80041008; -} - - - -void __scSchedule(undefined4 uParm1) - -{ - DAT_80041008 = uParm1; - return; -} - - - -undefined4 FUN_7f0bf0b4(void) - -{ - return DAT_80041028; -} - - - -undefined4 FUN_7f0bf0c0(void) - -{ - return DAT_80041030; -} - - - -undefined4 FUN_7f0bf10c(void) - -{ - return DAT_800410f4; -} - - - -undefined4 FUN_7f0bf118(void) - -{ - return DAT_80041100; -} - - - -undefined4 FUN_7f0bf124(void) - -{ - return DAT_800410fc; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void finalize_ramrom_on_hw(void) - -{ - undefined *puVar1; - undefined auStack25 [25]; - - puVar1 = (undefined *)(((uint)auStack25 | 0xf) ^ 0xf); - *puVar1 = 0; - puVar1[1] = 0; - FUN_70005128(puVar1,_DAT_800739d4,0x10); - _DAT_800739d4 += 4; - DAT_800410e8 = romCopyAligned(0xffffffff80073650,0xf00000,0xf0); - *(int *)(DAT_800410e8 + 0x7c) = DAT_80040ffc - DAT_80040ff4; - *(int *)(DAT_800410e8 + 0x80) = _DAT_800739d4 + -0xf00000; - FUN_70005128(DAT_800410e8,0xf00000,0xf0); - return; -} - - - -void FUN_7f0bf1e0(void) - -{ - longlong lVar1; - int iVar2; - undefined auStack264 [4]; - undefined auStack260 [260]; - - iVar2 = 1; - while( true ) { - FUN_7000a0f4(auStack260,s_replay_demo__d_80050310,iVar2); - lVar1 = FUN_7f0cf5b8(auStack260,auStack264); - if (lVar1 == 0) break; - iVar2 += 1; - } - FUN_7000a0f4(auStack260,s_replay_demo__d_80050320,iVar2); - FUN_7f0cf57c(auStack260,0xf00000,*(undefined4 *)(DAT_800410e8 + 0x80)); - return; -} - - - -void FUN_7f0bf280(void) - -{ - longlong lVar1; - undefined4 uStack4; - - lVar1 = FUN_7f0cf5b8(s_replay_demo_load_80050330,&uStack4); - if (lVar1 != 0) { - FUN_7f0cf53c(s_replay_demo_load_80050330,0xf00000,uStack4); - DAT_800410e8 = romCopyAligned(0xffffffff80073650,0xf00000,0xe8); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bf2dc(int iParm1,int iParm2,int iParm3) - -{ - int iVar1; - char *pcVar2; - ushort *puVar3; - int iVar4; - int iVar5; - char cVar6; - int iVar7; - - iVar1 = *(int *)(DAT_800410e8 + 0x18); - iVar7 = 0; - cVar6 = '\0'; - DAT_800410ec = &DAT_80073850; - DAT_800410f0 = -0x7ff8c7ac; - if (iParm2 != iParm3) { - iVar5 = (iParm2 + 1) % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iParm2 + 1 == -0x80000000)) { - trap(0x1800); - } - while( true ) { - iVar4 = 0; - if (0 < iVar1) { - puVar3 = (ushort *)(iParm1 + iVar5 * 0x18); - do { - pcVar2 = (char *)(iVar7 * iVar1 * 4 + DAT_800410f0 + iVar4 * 4); - *pcVar2 = *(char *)(puVar3 + 1); - iVar4 += 1; - pcVar2[1] = *(char *)((int)puVar3 + 3); - pcVar2[2] = (char)*puVar3; - pcVar2[3] = (char)((uint)*puVar3 >> 8); - cVar6 += *pcVar2 + pcVar2[1] + pcVar2[2] + pcVar2[3]; - puVar3 = puVar3 + 3; - } while (iVar4 != iVar1); - } - iVar7 += 1; - if (iVar5 == iParm3) break; - iVar4 = iVar5 + 1; - iVar5 = iVar4 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - } - } - DAT_800410ec[1] = (char)iVar7; - *DAT_800410ec = (char)DAT_80041118; - DAT_800410ec[2] = (char)DAT_800222f0._4_4_; - iVar7 = iVar1 * 4 * iVar7; - DAT_800410ec[3] = cVar6 + *DAT_800410ec + DAT_800410ec[1] + DAT_800410ec[2]; - FUN_70005128(DAT_800410ec,_DAT_800739d4,(iVar7 + 0x13U | 0xf) ^ 0xf); - _DAT_800739d4 = _DAT_800739d4 + ((iVar7 + 5U | 1) ^ 1); - return; -} - - - -int FUN_7f0bf500(int iParm1,int iParm2) - -{ - byte bVar1; - char cVar2; - int iVar3; - char *pcVar5; - longlong lVar4; - undefined2 *puVar6; - ulonglong uVar7; - char cVar8; - int iVar9; - - bVar1 = DAT_800410ec[1]; - cVar8 = '\0'; - uVar7 = 0; - iVar3 = *(int *)(DAT_800410e8 + 0x18); - if (bVar1 != 0) { - do { - iVar9 = iParm2 + 1; - iParm2 = iVar9 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar9 == -0x80000000)) { - trap(0x1800); - } - puVar6 = (undefined2 *)(iParm1 + iParm2 * 0x18); - iVar9 = 0; - do { - if (iVar9 < iVar3) { - pcVar5 = (char *)((int)uVar7 * iVar3 * 4 + DAT_800410f0 + iVar9 * 4); - *(char *)(puVar6 + 1) = *pcVar5; - *(char *)((int)puVar6 + 3) = pcVar5[1]; - *puVar6 = CONCAT11(pcVar5[3],pcVar5[2]); - cVar8 += *pcVar5 + pcVar5[1] + pcVar5[2] + pcVar5[3]; - } - else { - *(undefined *)(puVar6 + 1) = 0; - *(undefined *)((int)puVar6 + 3) = 0; - *puVar6 = 0; - } - iVar9 += 1; - puVar6 = puVar6 + 3; - } while (iVar9 != 4); - uVar7 = SEXT48((int)uVar7 + 1); - } while (uVar7 != (ulonglong)bVar1); - } - bVar1 = DAT_800410ec[2]; - if (((longlong)DAT_800222f0._4_4_ & 0xffU) == (ulonglong)bVar1) { - cVar2 = *DAT_800410ec; - } - else { - FUN_7f0bfd48(); - bVar1 = DAT_800410ec[2]; - cVar2 = *DAT_800410ec; - } - if ((byte)(cVar8 + cVar2 + DAT_800410ec[1] + bVar1) != DAT_800410ec[3]) { - FUN_7f0bfd48(); - } - FUN_7000b67c(0); - lVar4 = FUN_7000b120(0,0xffff); - if (lVar4 != 0) { - FUN_7f0bfd48(); - DAT_80025e84 = 1; - } - FUN_7000b67c(1); - return iParm2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bf6e8(void) - -{ - byte bVar1; - int iVar2; - - DAT_800410ec = (byte *)romCopyAligned(0xffffffff80073848,_DAT_800739d4,4); - bVar1 = DAT_800410ec[1]; - if (bVar1 != 0) { - DAT_800410f0 = romCopyAligned(0xffffffff8007386e,_DAT_800739d4 + 4, - *(int *)(DAT_800410e8 + 0x18) * 4 * (uint)bVar1); - bVar1 = DAT_800410ec[1]; - } - if ((bVar1 == 0) && (*DAT_800410ec == 0)) { - FUN_7f0bfd48(); - } - else { - _DAT_800739d4 += (*(int *)(DAT_800410e8 + 0x18) * 4 * (uint)bVar1 + 5 | 1) ^ 1; - } - FUN_7f0bff20((ulonglong)*DAT_800410ec); - iVar2 = *(int *)(DAT_800410e8 + 0x7c) + -0x3c; - if ((iVar2 <= DAT_80040ffc) && (DAT_80040ffc - DAT_80040ff4 < iVar2)) { - FUN_7f0bfd48(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bf828(undefined4 *puParm1) - -{ - undefined4 uVar1; - - uVar1 = DAT_800222f0._0_4_; - puParm1[1] = DAT_800222f0._4_4_; - *puParm1 = uVar1; - uVar1 = DAT_80039db0._0_4_; - puParm1[3] = DAT_80039db0._4_4_; - puParm1[2] = uVar1; - puParm1[0x21] = DAT_80025e40; - puParm1[0x23] = DAT_80026a70; - puParm1[0x24] = DAT_80026a90; - puParm1[0x25] = DAT_80026a84; - puParm1[0x26] = DAT_80026a88; - uVar1 = __osGetActiveQueue(); - puParm1[0x27] = uVar1; - puParm1[0x28] = DAT_80026a74; - puParm1[0x29] = DAT_80026a78; - puParm1[0x2a] = DAT_80026a7c; - puParm1[0x2b] = DAT_80026a80; - puParm1[0x2c] = _DAT_800586e8; - puParm1[0x2d] = _DAT_800586ec; - puParm1[0x2e] = _DAT_800586f0; - puParm1[0x2f] = _DAT_800586f4; - puParm1[0x30] = _DAT_800586f8; - puParm1[0x31] = _DAT_800586fc; - puParm1[0x32] = _DAT_80058700; - puParm1[0x33] = _DAT_80058704; - puParm1[0x34] = DAT_80026a8c; - uVar1 = FUN_7f014c08(0); - puParm1[0x35] = uVar1; - uVar1 = FUN_7f014c08(1); - puParm1[0x36] = uVar1; - uVar1 = FUN_7f014c08(2); - puParm1[0x37] = uVar1; - uVar1 = FUN_7f014c08(3); - puParm1[0x38] = uVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bf974(undefined4 *puParm1) - -{ - DAT_800222f0._0_4_ = *puParm1; - DAT_800222f0._4_4_ = puParm1[1]; - DAT_80039db0._0_4_ = puParm1[2]; - DAT_80039db0._4_4_ = puParm1[3]; - DAT_80025e40 = puParm1[0x21]; - DAT_80026a70 = puParm1[0x23]; - DAT_80026a90 = puParm1[0x24]; - DAT_80026a84 = puParm1[0x25]; - DAT_80026a88 = puParm1[0x26]; - FUN_7f0c5b50(puParm1[0x27]); - DAT_80026a74 = puParm1[0x28]; - DAT_80026a78 = puParm1[0x29]; - DAT_80026a7c = puParm1[0x2a]; - DAT_80026a80 = puParm1[0x2b]; - _DAT_800586e8 = puParm1[0x2c]; - _DAT_800586ec = puParm1[0x2d]; - _DAT_800586f0 = puParm1[0x2e]; - _DAT_800586f4 = puParm1[0x2f]; - _DAT_800586f8 = puParm1[0x30]; - _DAT_800586fc = puParm1[0x31]; - _DAT_80058700 = puParm1[0x32]; - _DAT_80058704 = puParm1[0x33]; - DAT_80026a8c = puParm1[0x34]; - FUN_7f014c24(0,puParm1[0x35]); - FUN_7f014c24(1,puParm1[0x36]); - FUN_7f014c24(2,puParm1[0x37]); - FUN_7f014c24(3,puParm1[0x38]); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bfac0(undefined4 uParm1,undefined4 uParm2) - -{ - undefined4 uVar1; - - if (DAT_80041108 == 0) { - if (DAT_800410fc != 0) { - _DAT_800739d8 = 0; - FUN_7f01d3f0(*(undefined4 *)(DAT_800410e8 + 0x14)); - FUN_7f01d440(*(undefined4 *)(DAT_800410e8 + 0x10)); - FUN_7f01d498(DAT_800410e8 + 0x1c); - FUN_7f0bf828(0xffffffff80073760); - FUN_7f0bf974(DAT_800410e8); - DAT_800410f4 = 1; - DAT_800410f8 = 1; - FUN_7000a91c(FUN_7f0bf500,*(undefined4 *)(DAT_800410e8 + 0x18)); - FUN_7000b67c(1); - DAT_800410fc = 0; - } - } - else { - DAT_800410e8 = -0x7ff8c9b0; - _DAT_800739d8 = 0; - _DAT_80073660 = uParm1; - _DAT_80073664 = uParm2; - uVar1 = FUN_7000a718(); - *(undefined4 *)(DAT_800410e8 + 0x18) = uVar1; - *(undefined4 *)(DAT_800410e8 + 0x88) = _DAT_800739d0; - FUN_7f01d470(DAT_800410e8 + 0x1c); - FUN_7f0bf828(DAT_800410e8); - DAT_80041100 = 1; - DAT_80041104 = 1; - FUN_7000a930(FUN_7f0bf2dc); - _DAT_800739d4 = 0xf00000; - FUN_70005128(DAT_800410e8,0xf00000,0xf0); - _DAT_800739d4 += 0xe8; - DAT_80041108 = 0; - } - return; -} - - - -void FUN_7f0bfc54(void) - -{ - if (DAT_80041104 != 0) { - finalize_ramrom_on_hw(); - FUN_7000a930(0); - DAT_80041104 = 0; - DAT_80041100 = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bfc9c(int iParm1) - -{ - _DAT_800739d4 = iParm1; - DAT_800410e8 = romCopyAligned(0xffffffff80073650,iParm1,0xe8); - _DAT_800739d4 += 0xe8; - DAT_800410fc = 1; - FUN_7f01d440(*(undefined4 *)(DAT_800410e8 + 0x10)); - FUN_7f01d3f0(*(undefined4 *)(DAT_800410e8 + 0x14)); - FUN_7f01a438(0xb,1); - return; -} - - - -void FUN_7f0bfd28(void) - -{ - FUN_7f0bfc9c(0xf00000); - return; -} - - - -void FUN_7f0bfd48(void) - -{ - longlong lVar1; - - lVar1 = FUN_7f07a5c0(); - if (lVar1 != 10) { - FUN_7f07aa50(10); - } - return; -} - - - -void FUN_7f0bfd7c(void) - -{ - if (DAT_80041104 == 0) { - if (DAT_800410f8 != 0) { - FUN_7f0bf974(0xffffffff80073760); - FUN_7000a91c(0,0xffffffffffffffff); - FUN_7000b67c(0); - DAT_800410f8 = 0; - DAT_800410f4 = 0; - } - } - else { - FUN_7f0bfc54(); - } - return; -} - - - -void FUN_7f0bfdf0(void) - -{ - int iVar1; - undefined4 *puVar2; - uint uVar3; - uint uVar4; - int iVar5; - - iVar1 = loc_7F01E9D0(); - uVar4 = 0; - if ((DAT_80041070 != 0) && (DAT_80041074 <= iVar1)) { - iVar5 = DAT_80041078; - puVar2 = &DAT_80041070; - while( true ) { - uVar4 += 1; - if ((iVar5 == 0) || (iVar1 < (int)puVar2[3])) break; - iVar5 = puVar2[4]; - puVar2 = puVar2 + 2; - } - } - uVar3 = FUN_700098b0(); - if (uVar4 == 0) { - trap(0x1c00); - } - FUN_7f0bfc9c((&DAT_80041070)[(uVar3 % uVar4) * 2]); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0bfec4) overlaps instruction at (ram,0x7f0bfec0) -// - -undefined4 FUN_7f0bfea0(void) - -{ - longlong lVar1; - undefined4 uVar2; - - lVar1 = FUN_7f0bf10c(); - if ((lVar1 == 0) && (lVar1 = FUN_7f0bf118(), lVar1 == 0)) { - uVar2 = 0; - } - else { - uVar2 = *(undefined4 *)(DAT_800410e8 + 0x88); - } - return uVar2; -} - - - -void sub_GAME_7F0C0BF0(void) - -{ - DAT_80041134 = osGetCount(); - DAT_80041138 = DAT_80041134; - return; -} - - - -void FUN_7f0bff20(int iParm1) - -{ - uint uVar1; - uint uVar2; - - DAT_80041134 = DAT_80041138; - DAT_80041138 = osGetCount(); - uVar2 = DAT_80041114 + iParm1; - uVar1 = uVar2; - if ((int)uVar2 < 0) { - uVar1 = uVar2 + 1; - } - DAT_80041130 = ((int)uVar1 >> 1) - DAT_80041128; - DAT_80041110 = DAT_80041114; - DAT_80041114 = uVar2; - DAT_80041118 = iParm1; - DAT_8004111c = (float)iParm1; - DAT_80041120 = ((float)iParm1 * 60.00000000) / 50.00000000; - DAT_80041124 = DAT_80041128; - DAT_80041128 = (int)uVar1 >> 1; - DAT_8004112c = uVar2 & 1; - return; -} - - - -void FUN_7f0c0004(void) - -{ - int iVar1; - - do { - iVar1 = osGetCount(); - if (false) { - trap(0x1c00); - } - } while (((iVar1 - DAT_80041138) + 0x71a75U) / 0xe34ea < DAT_8004113c); - DAT_8004113c = 1; - FUN_7f0bff20(); - return; -} - - - -void FUN_7f0c00b0(void) - -{ - FUN_7f0a8698(); - return; -} - - - -void reset_music_in_slot(void) - -{ - FUN_7f0a84c0(); - return; -} - - - -undefined4 FUN_7f0c00f0(void) - -{ - return DAT_80041140; -} - - - -void FUN_7f0c00fc(ulonglong uParm1) - -{ - int iVar1; - - iVar1 = (int)uParm1; - switch(DAT_80041140) { - case 0: - if (uParm1 < 7) { - DAT_80041140 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c014c. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005036c)[iVar1])(); - return; - } - case 1: - if (uParm1 < 7) { - DAT_80041140 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c0220. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_80050388)[iVar1])(); - return; - } - case 2: - if (uParm1 < 7) { - DAT_80041140 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c0310. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_800503a8)[iVar1])(); - return; - } - case 3: - if (uParm1 < 7) { - DAT_80041140 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c03a8. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_800503c4)[iVar1])(); - return; - } - case 4: - if (uParm1 < 7) { - DAT_80041140 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c04e0. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_800503e0)[iVar1])(); - return; - } - case 5: - if (uParm1 < 7) { - DAT_80041140 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c05ac. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_800503fc)[iVar1])(); - return; - } - case 6: - if (uParm1 < 7) { - DAT_80041140 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c0654. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_80050418)[iVar1])(); - return; - } - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c06dc(undefined4 uParm1) - -{ - longlong lVar1; - - FUN_70006430(); - FUN_700067b8(); - FUN_70006b40(); - DAT_80041140 = 0; - _DAT_800739e0 = uParm1; - lVar1 = FUN_7f0d1d68(); - if (lVar1 < 0) { - FUN_7f0c00fc(1); - } - else { - FUN_7f0c00fc(4); - } - return; -} - - - -void FUN_7f0c0748(void) - -{ - FUN_7f0c00fc(0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c0768(void) - -{ - longlong lVar1; - - lVar1 = FUN_7f0d1d68(_DAT_800739e0); - if (lVar1 < 0) { - FUN_7f0c00fc(2); - } - else { - FUN_7f0c00fc(5); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c07ac(void) - -{ - longlong lVar1; - - lVar1 = FUN_7f0d1d68(_DAT_800739e0); - if (lVar1 < 0) { - FUN_7f0c00fc(1); - } - else { - FUN_7f0c00fc(4); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c07f0(void) - -{ - _DAT_800739e4 = DAT_80041140; - FUN_7f0c00fc(3); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c0820(void) - -{ - FUN_7f0c00fc(_DAT_800739e4); - return; -} - - - -void FUN_7f0c08a8(void) - -{ - int iVar1; - int iVar2; - bool bVar3; - int iVar4; - longlong lVar5; - int *piVar6; - int *piVar7; - int *piVar8; - int iVar9; - - iVar4 = DAT_80040ff4; - bVar3 = false; - piVar7 = (int *)&DAT_800739f8; - piVar8 = (int *)&DAT_800739e8; - iVar9 = 0; - do { - iVar1 = *piVar8; - if (iVar1 == 0) { - if (0 < *piVar7) { - iVar2 = *piVar7; - goto LAB_7f0c08f4; - } - } - else { - iVar2 = *piVar7; -LAB_7f0c08f4: - piVar6 = (int *)(&DAT_80073a08 + iVar9); - if (iVar2 < iVar4) { - *piVar7 = 0; - } - else { - *piVar7 = iVar2 - iVar4; - } - iVar2 = *piVar6; - if (iVar2 != 0) { - if (iVar2 < iVar4) { - *piVar6 = 0; - } - else { - *piVar6 = iVar2 - iVar4; - } - if (*piVar6 == 0) { - *piVar8 = 0; - } - else { - if ((iVar1 != 0) || (*piVar7 != 0)) { - bVar3 = true; - } - } - } - } - piVar7 = piVar7 + 1; - iVar9 += 4; - piVar8 = piVar8 + 1; - if (piVar7 == (int *)&DAT_80073a08) { - if (iVar4 != 0) { - lVar5 = FUN_7f0c00f0(); - if ((lVar5 == 2) || (lVar5 = FUN_7f0c00f0(), lVar5 == 5)) { - if (!bVar3) { - FUN_7f0c07ac(); - } - } - else { - if (bVar3) { - FUN_7f0c0768(); - } - } - } - return; - } - } while( true ); -} - - - -void FUN_7f0c09dc(int iParm1,int iParm2,int iParm3) - -{ - iParm1 *= 4; - if (*(int *)(&DAT_800739e8 + iParm1) == 0) { - *(int *)(&DAT_800739e8 + iParm1) = 1; - *(int *)(&DAT_800739f8 + iParm1) = iParm2 * 0x32; - *(int *)(&DAT_80073a08 + iParm1) = iParm3 * 0x32; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c0a38(longlong lParm1) - -{ - if (-1 < lParm1) { - *(undefined4 *)(&DAT_800739e8 + (int)lParm1 * 4) = 0; - return; - } - _DAT_800739e8 = 0; - _DAT_800739ec = 0; - _DAT_800739f0 = 0; - _DAT_800739f4 = 0; - _DAT_800739f8 = 0; - _DAT_800739fc = 0; - _DAT_80073a00 = 0; - _DAT_80073a04 = 0; - _DAT_80073a08 = 0; - _DAT_80073a0c = 0; - _DAT_80073a10 = 0; - _DAT_80073a14 = 0; - return; -} - - - -undefined8 get_textptr_for_textID(undefined4 uParm1) - -{ - if (true) { - switch(uParm1) { - case 9: - return 0x1e; - case 0x14: - return 0x22; - case 0x16: - return 0x23; - case 0x17: - return 8; - case 0x18: - return 2; - case 0x19: - return 0x24; - case 0x1a: - return 0xd; - case 0x1b: - return 0x1d; - case 0x1c: - return 5; - case 0x1d: - return 0x19; - case 0x1e: - return 0xc; - case 0x1f: - return 0x1a; - case 0x20: - return 10; - case 0x21: - return 0xb; - case 0x22: - return 3; - case 0x23: - return 0x1c; - case 0x24: - return 0x1f; - case 0x25: - return 0x12; - case 0x26: - return 0xe; - case 0x27: - return 7; - case 0x29: - return 9; - case 0x2b: - return 0x20; - case 0x2d: - return 0x11; - case 0x2e: - return 4; - case 0x30: - return 1; - case 0x32: - return 0x17; - case 0x36: - return 0x14; - } - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c0bcc(void) - -{ - int iVar1; - undefined4 *puVar2; - int iVar3; - - if (DAT_80041150 != 0) { - _DAT_80073ad4 = FUN_70008b80(0x2e80,6); - _DAT_80073ad8 = FUN_70008b80(0x100,6); - iVar3 = 0; - do { - *(byte *)(_DAT_80073ad8 + iVar3) = *(byte *)(_DAT_80073ad8 + iVar3) & 0x3f; - *(ushort *)(_DAT_80073ad8 + iVar3) = *(ushort *)(_DAT_80073ad8 + iVar3) | 0x3fff; - *(byte *)(_DAT_80073ad8 + iVar3 + 2) = *(byte *)(_DAT_80073ad8 + iVar3 + 2) & 0x3f; - *(ushort *)(_DAT_80073ad8 + iVar3 + 2) = *(ushort *)(_DAT_80073ad8 + iVar3 + 2) | 0x3fff; - *(byte *)(_DAT_80073ad8 + iVar3 + 4) = *(byte *)(_DAT_80073ad8 + iVar3 + 4) & 0x3f; - *(ushort *)(_DAT_80073ad8 + iVar3 + 4) = *(ushort *)(_DAT_80073ad8 + iVar3 + 4) | 0x3fff; - *(byte *)(_DAT_80073ad8 + iVar3 + 6) = *(byte *)(_DAT_80073ad8 + iVar3 + 6) & 0x3f; - iVar1 = _DAT_80073ad8 + iVar3; - iVar3 += 8; - *(ushort *)(iVar1 + 6) = *(ushort *)(iVar1 + 6) | 0x3fff; - } while (iVar3 != 0xf8); - } - iVar3 = DAT_80041150; - _DAT_80073a20 = 0; - puVar2 = (undefined4 *)&DAT_80073a24; - do { - puVar2 = puVar2 + 4; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - *puVar2 = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)&DAT_80073ad4); - _DAT_80073ab8 = FUN_7f0bc14c((&PTR_s_LgunP_80041284)[iVar3],1,0x100,6); - _DAT_80073abc = FUN_7f0bc14c((&PTR_s_LtitleP_8004128c)[DAT_80041150],1,0x100,6); - _DAT_80073ac0 = FUN_7f0bc14c((&PTR_s_LmpmenuP_80041294)[DAT_80041150],1,0x100,6); - _DAT_80073ac4 = FUN_7f0bc14c((&PTR_s_LpropobjP_8004129c)[DAT_80041150],1,0x100,6); - _DAT_80073ac8 = FUN_7f0bc14c((&PTR_s_LmpweaponsP_800412a4)[DAT_80041150],1,0x100,6); - _DAT_80073acc = FUN_7f0bc14c((&PTR_s_LoptionsP_800412ac)[DAT_80041150],1,0x100,6); - _DAT_80073ad0 = FUN_7f0bc14c((&PTR_s_LmiscP_800412b4)[DAT_80041150],1,0x100,6); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c0e20(void) - -{ - ushort uVar1; - ushort *puVar2; - int iVar3; - - iVar3 = 0; - if (DAT_80041150 != 0) { - do { - puVar2 = (ushort *)(_DAT_80073ad8 + iVar3); - if (*puVar2 >> 0xe == 0) { - uVar1 = puVar2[1]; - } - else { - *(byte *)puVar2 = ((byte)(*puVar2 >> 0xe) - 1) * '@' | *(byte *)puVar2 & 0x3f; - puVar2 = (ushort *)(_DAT_80073ad8 + 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 *)(_DAT_80073ad8 + 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 *)(_DAT_80073ad8 + 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; -} - - - -// WARNING: Instruction at (ram,0x7f0c0f9c) overlaps instruction at (ram,0x7f0c0f98) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F0C1CF8(uint uParm1) - -{ - bool bVar1; - ushort uVar2; - ushort *puVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - - iVar7 = -1; - bVar1 = (uParm1 & 0x2000) != 0; - iVar6 = 0; - iVar4 = 0; - iVar9 = -1; - puVar3 = _DAT_80073ad8; - do { - iVar10 = (int)uParm1 >> 1; - if ((!bVar1) && ((longlong)iVar10 == ((ulonglong)*puVar3 & 0x3fff))) break; - if ((bVar1) && - (((iVar4 + 1 < 0x7c && ((longlong)iVar10 == ((ulonglong)*puVar3 & 0x3fff))) && - ((longlong)iVar10 == ((ulonglong)puVar3[1] & 0x3fff))))) break; - uVar2 = *puVar3 >> 0xe; - iVar5 = iVar4 + 1; - if (uVar2 == 0) { - iVar7 = iVar4; - } - iVar6 += 2; - iVar8 = iVar9; - if (((uVar2 == 0) && (iVar8 = iVar9, puVar3[1] >> 0xe == 0)) && (iVar8 = iVar4, 0x7b < iVar5)) { - iVar8 = iVar9; - } - puVar3 = puVar3 + 1; - iVar4 = iVar5; - iVar9 = iVar8; - } while (iVar5 != 0x7c); - if (iVar4 < 0x7c) { - if (bVar1) { - *(byte *)puVar3 = *(byte *)puVar3 & 0x3f | 0x80; - *(byte *)((int)_DAT_80073ad8 + iVar6 + 2) = - *(byte *)((int)_DAT_80073ad8 + iVar6 + 2) & 0x3f | 0x80; - iVar4 = iVar4 * 0x60 + _DAT_80073ad4; - } - else { - *(byte *)puVar3 = *(byte *)puVar3 & 0x3f | 0x80; - iVar4 = iVar4 * 0x60 + _DAT_80073ad4; - } - } - else { - if ((bVar1) || (iVar7 < 0)) { - iVar4 = _DAT_80073ad4; - if ((bVar1) && (iVar4 = _DAT_80073ad4, -1 < iVar9)) { - *(byte *)(_DAT_80073ad8 + iVar9) = *(byte *)(_DAT_80073ad8 + iVar9) & 0x3f | 0x80; - *(byte *)(_DAT_80073ad8 + iVar9 + 1) = *(byte *)(_DAT_80073ad8 + iVar9 + 1) & 0x3f | 0x80; - uVar2 = (ushort)iVar10 & 0x3fff; - _DAT_80073ad8[iVar9] = uVar2 | _DAT_80073ad8[iVar9] & 0xc000; - (_DAT_80073ad8 + iVar9)[1] = uVar2 | (_DAT_80073ad8 + iVar9)[1] & 0xc000; - FUN_7000503c(iVar9 * 0x60 + _DAT_80073ad4,((int)(uParm1 & 0x1fff) >> 1) * 0x80 + 0x10ffb0, - 0x80); - iVar4 = iVar9 * 0x60 + _DAT_80073ad4; - } - } - else { - *(byte *)(_DAT_80073ad8 + iVar7) = *(byte *)(_DAT_80073ad8 + iVar7) & 0x3f | 0x80; - _DAT_80073ad8[iVar7] = (ushort)iVar10 & 0x3fff | _DAT_80073ad8[iVar7] & 0xc000; - FUN_7000503c(iVar7 * 0x60 + _DAT_80073ad4,iVar10 * 0x60 + 0x1048b0,0x60); - iVar4 = iVar7 * 0x60 + _DAT_80073ad4; - } - } - return iVar4; -} - - - -void FUN_7f0c11e8(int iParm1) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0bc14c(*(undefined4 *)(&DAT_80041154 + iParm1 * 8 + DAT_80041150 * 4),1,0x100,4); - *(undefined4 *)(&DAT_80073a20 + iParm1 * 4) = uVar1; - return; -} - - - -void FUN_7f0c1244(int iParm1,undefined8 uParm2,undefined8 uParm3) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0bc188(*(undefined4 *)(&DAT_80041154 + iParm1 * 8 + DAT_80041150 * 4),1,uParm2, - uParm3); - *(undefined4 *)(&DAT_80073a20 + iParm1 * 4) = uVar1; - return; -} - - - -void FUN_7f0c12a4(int iParm1) - -{ - *(undefined4 *)(&DAT_80073a20 + iParm1 * 4) = 0; - return; -} - - - -int FUN_7f0c12b8(uint uParm1) - -{ - int iVar1; - - iVar1 = *(int *)(*(int *)(&DAT_80073a20 + ((int)uParm1 >> 10) * 4) + (uParm1 & 0x3ff) * 4); - if (iVar1 != 0) { - return iVar1 + *(int *)(&DAT_80073a20 + ((int)uParm1 >> 10) * 4); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c1300(void) - -{ - switch(*(undefined4 *)(_DAT_80068bc0 + 0x29c0)) { - case 0: - case 1: - case 2: - case 4: - return 1; - case 3: - break; - case 5: - case 6: - case 7: - return 0; - default: - return 0; - } - if (_DAT_80073ae4 == 0) { - return 1; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c136c(void) - -{ - switch(*(undefined4 *)(_DAT_80068bc0 + 0x29c0)) { - case 0: - case 6: - case 7: - return 0; - case 1: - break; - case 2: - case 3: - case 4: - case 5: - return 1; - default: - return 0; - } - if (_DAT_80073ae4 == 0) { - return 0; - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c13d8(undefined uParm1) - -{ - int iVar3; - longlong lVar1; - undefined8 uVar2; - - iVar3 = FUN_7000b228(uParm1,0xfffffffffffffffe,1); - lVar1 = FUN_7000b120(uParm1,0x101); - if ((lVar1 != 0) || ((uVar2 = 0, 0 < iVar3 && (*(int *)(_DAT_80068bc0 + 0x29c8) != 0)))) { - uVar2 = 1; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c1448(undefined uParm1) - -{ - int iVar3; - longlong lVar1; - undefined8 uVar2; - - iVar3 = FUN_7000b228(uParm1,0xfffffffffffffffe,1); - lVar1 = FUN_7000b120(uParm1,0x202); - if ((lVar1 != 0) || ((uVar2 = 0, iVar3 < -1 && (*(int *)(_DAT_80068bc0 + 0x29c8) != 0)))) { - uVar2 = 1; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c14bc(void) - -{ - FUN_70008268(_DAT_80056900,0x9f,0); - return; -} - - - -undefined4 loc_7F0C2104(int iParm1,int iParm2,int iParm3,int iParm4,int iParm5) - -{ - int unaff_10000073; - ulonglong uVar1; - undefined4 uVar2; - undefined4 uVar3; - - if ((iParm2 < iParm3) || - ((iParm3 == iParm2 && (uVar1 = FUN_700098b0(), iParm2 = unaff_10000073, (uVar1 & 1) != 0)))) { - uVar2 = 1; - uVar3 = 1; - } - else { - uVar2 = 0; - uVar3 = 0; - iParm3 = iParm2; - } - if (2 < iParm1) { - if ((iParm3 < iParm4) || - ((iParm4 == iParm3 && (uVar1 = FUN_700098b0(), uVar3 = uVar2, (uVar1 & 1) != 0)))) { - iParm3 = iParm4; - uVar3 = 2; - } - if (3 < iParm1) { - if (iParm3 < iParm5) { - uVar3 = 3; - } - else { - if ((iParm5 == iParm3) && (uVar1 = FUN_700098b0(), (uVar1 & 1) != 0)) { - uVar3 = 3; - } - } - } - } - return uVar3; -} - - - -undefined4 loc_7F0C21F4(int iParm1,int iParm2,int iParm3,int iParm4,int iParm5) - -{ - int unaff_10000073; - ulonglong uVar1; - undefined4 uVar2; - undefined4 uVar3; - - if ((iParm3 < iParm2) || - ((iParm3 == iParm2 && (uVar1 = FUN_700098b0(), iParm2 = unaff_10000073, (uVar1 & 1) != 0)))) { - uVar2 = 1; - uVar3 = 1; - } - else { - uVar2 = 0; - uVar3 = 0; - iParm3 = iParm2; - } - if (2 < iParm1) { - if ((iParm4 < iParm3) || - ((iParm4 == iParm3 && (uVar1 = FUN_700098b0(), uVar3 = uVar2, (uVar1 & 1) != 0)))) { - iParm3 = iParm4; - uVar3 = 2; - } - if (3 < iParm1) { - if (iParm5 < iParm3) { - uVar3 = 3; - } - else { - if ((iParm5 == iParm3) && (uVar1 = FUN_700098b0(), (uVar1 & 1) != 0)) { - uVar3 = 3; - } - } - } - } - return uVar3; -} - - - -undefined4 loc_7F0C233C(int iParm1,float fParm2,float fParm3,float fParm4,float param_5) - -{ - ulonglong uVar1; - undefined4 uVar2; - undefined4 uVar3; - int iVar4; - - if ((fParm2 < fParm3) || ((fParm3 == fParm2 && (uVar1 = FUN_700098b0(), (uVar1 & 1) != 0)))) { - iVar4 = (int)fParm3; - uVar2 = 1; - uVar3 = 1; - } - else { - iVar4 = (int)fParm2; - uVar2 = 0; - uVar3 = 0; - } - if (2 < iParm1) { - if (((float)iVar4 < fParm4) || - ((fParm4 == (float)iVar4 && (uVar1 = FUN_700098b0(), uVar3 = uVar2, (uVar1 & 1) != 0)))) { - iVar4 = (int)fParm4; - uVar3 = 2; - } - if (3 < iParm1) { - if (param_5 <= (float)iVar4) { - if ((param_5 == (float)iVar4) && (uVar1 = FUN_700098b0(), (uVar1 & 1) != 0)) { - uVar3 = 3; - } - } - else { - uVar3 = 3; - } - } - } - return uVar3; -} - - - -undefined4 loc_7F0C2484(int iParm1,float fParm2,float fParm3,float fParm4,float param_5) - -{ - ulonglong uVar1; - undefined4 uVar2; - undefined4 uVar3; - int iVar4; - - if ((fParm3 < fParm2) || ((fParm3 == fParm2 && (uVar1 = FUN_700098b0(), (uVar1 & 1) != 0)))) { - iVar4 = (int)fParm3; - uVar2 = 1; - uVar3 = 1; - } - else { - iVar4 = (int)fParm2; - uVar2 = 0; - uVar3 = 0; - } - if (2 < iParm1) { - if ((fParm4 < (float)iVar4) || - ((fParm4 == (float)iVar4 && (uVar1 = FUN_700098b0(), uVar3 = uVar2, (uVar1 & 1) != 0)))) { - iVar4 = (int)fParm4; - uVar3 = 2; - } - if (3 < iParm1) { - if ((float)iVar4 <= param_5) { - if ((param_5 == (float)iVar4) && (uVar1 = FUN_700098b0(), (uVar1 & 1) != 0)) { - uVar3 = 3; - } - } - else { - uVar3 = 3; - } - } - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1974(void) - -{ - FUN_7f0bf03c(1); - _DAT_80073af8 = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c199c(void) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - uVar2 = 1; - } - else { - if (_DAT_80073ae0 == 0) { - uVar2 = 1; - if (*(int *)(_DAT_80068bc0 + 0x29bc) != 0) { - uVar2 = 0; - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1a00(void) - -{ - _DAT_80073ae0 = 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f0c20e4) overlaps instruction at (ram,0x7f0c20e0) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0C2E50(longlong lParm1) - -{ - int *piVar1; - int iVar2; - uint uVar5; - int iVar6; - ulonglong uVar3; - longlong lVar4; - undefined4 uVar7; - uint uVar8; - undefined *puVar9; - uint uVar10; - int *piVar11; - undefined *puVar13; - ulonglong uVar12; - undefined *puVar14; - uint uVar15; - int iVar16; - float fVar17; - float fVar18; - int aiStack252 [4]; - undefined4 uStack236; - float afStack232 [2]; - int aiStack224 [2]; - float afStack216 [2]; - uint uStack208; - int aiStack204 [6]; - undefined4 uStack180; - undefined4 uStack176; - undefined4 uStack172; - undefined4 uStack168; - undefined4 uStack164; - undefined4 uStack160; - undefined4 uStack156; - uint auStack152 [4]; - undefined4 uStack136; - undefined4 uStack124; - undefined4 uStack120; - undefined4 uStack116; - undefined4 uStack112; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack100; - undefined4 uStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack24; - undefined4 uStack20; - undefined4 auStack16 [4]; - - uVar5 = FUN_7f0999a4(); - iVar6 = FUN_7f08c2ac(); - FUN_70008584(); - FUN_7f0c00fc(0); - uVar3 = FUN_7f0c00b0(); - FUN_7000649c(uVar3 & 0xffff); - DAT_800221dc = 0; - FUN_700062dc(0x2c); - FUN_7f0c1974(); - if (lParm1 == 0) { - _DAT_80073ae4 = 1; - } - else { - _DAT_80073ae4 = 0xfa; - } - _DAT_80073af0 = 1; - _DAT_80073af4 = 0x10; - _DAT_80073ae8 = 0; - _DAT_80073aec = 0; - uStack24 = FUN_7f09a690(); - uVar15 = 0; - if (0 < (int)uVar5) { - fVar17 = (float)(iVar6 + 1) / DAT_80050840; - puVar14 = &DAT_80068a00; - piVar11 = aiStack252; - do { - uVar10 = 0; - FUN_7f09a64c(uVar15); - *(undefined4 *)(_DAT_80068bc0 + 0x29bc) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x29c0) = 3; - *(undefined4 *)(_DAT_80068bc0 + 0x2a08) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x2a0c) = 0; - FUN_7f08e070(&uStack20,auStack16); - FUN_7f01d4d4(uStack20,auStack16[0]); - iVar6 = FUN_7f06aee8(0); - *piVar11 = iVar6; - iVar6 = FUN_7f06aee8(1); - piVar11[1] = iVar6; - piVar11[2] = 0; - piVar11[3] = 0; - piVar11[4] = 0; - lVar4 = FUN_7f010180(); - if (0 < lVar4) { - puVar13 = &DAT_80068a00 + uVar15 * 4; - puVar9 = &DAT_80068a00 + uVar15 * 0x70; - iVar6 = piVar11[3]; - while( true ) { - piVar1 = (int *)(puVar13 + 0x24); - puVar13 = puVar13 + 0x70; - piVar11[3] = iVar6 + *piVar1; - if (uVar15 == uVar10) { - piVar11[4] = piVar11[4] + *(int *)(puVar9 + 0x24); - } - else { - piVar11[2] = piVar11[2] + *(int *)(puVar9 + 0x24); - } - uVar10 += 1; - puVar9 = puVar9 + 4; - iVar6 = FUN_7f010180(); - if (iVar6 <= (int)uVar10) break; - iVar6 = piVar11[3]; - } - } - iVar6 = *(int *)(puVar14 + 0x34); - piVar11[7] = *(int *)(puVar14 + 0x3c); - piVar11[8] = iVar6; - iVar6 = *(int *)(puVar14 + 0x4c); - iVar2 = *(int *)(puVar14 + 0x50); - uVar15 += 1; - fVar18 = *(float *)(puVar14 + 0x38); - *(float *)(piVar11 + 5) = ((float)piVar11[2] * 100.00000000) / ((float)*piVar11 + 1.00000000); - *(float *)(piVar11 + 6) = - ((float)piVar11[2] * 100.00000000) / ((float)piVar11[3] + 1.00000000); - iVar16 = *(int *)(puVar14 + 0x40); - fVar18 = fVar18 / DAT_80050844; - piVar11[0xb] = 0; - piVar11[0xc] = iVar6; - piVar11[0xd] = iVar2; - piVar11[10] = iVar16; - *(float *)(piVar11 + 9) = fVar18 / fVar17; - puVar14 = puVar14 + 0x70; - piVar11 = piVar11 + 0xe; - } while (uVar15 != uVar5); - } - FUN_7f09a64c(uStack24); - iVar6 = loc_7F0C2104(uVar5,uStack236,uStack180,uStack124,uStack68); - if (0 < aiStack252[iVar6 * 0xe + 4]) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 1; - } - iVar6 = loc_7F0C21F4(uVar5,aiStack252[0],aiStack204[2],auStack152[3],uStack84); - if (aiStack252[iVar6 * 0xe] < 100) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 2; - } - iVar6 = loc_7F0C2484(uVar5,afStack216[1],uStack156,uStack100,uStack44); - if (afStack216[iVar6 * 0xe + 1] <= 2.00000000) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 4; - } - iVar6 = loc_7F0C233C(uVar5,afStack216[1],uStack156,uStack100,uStack44); - if (6.00000000 < afStack216[iVar6 * 0xe + 1]) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 8; - } - iVar6 = loc_7F0C2104(uVar5,aiStack252[1],aiStack204[3],uStack136,uStack80); - if (0 < aiStack252[iVar6 * 0xe + 1]) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x10; - } - iVar6 = loc_7F0C233C(uVar5,afStack232[0],uStack176,uStack120,uStack64); - if (0.00000000 < afStack232[iVar6 * 0xe]) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x20; - } - iVar6 = loc_7F0C233C(uVar5,afStack232[1],uStack172,uStack116,uStack60); - if (0.00000000 < afStack232[iVar6 * 0xe + 1]) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x40; - } - iVar6 = loc_7F0C2484(uVar5,afStack232[1],uStack172,uStack116,uStack60); - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x80; - iVar6 = loc_7F0C21F4(uVar5,aiStack224[1],uStack164,uStack108,uStack52); - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x100; - iVar6 = loc_7F0C233C(uVar5,afStack216[0],uStack160,uStack104,uStack48); - if (10.00000000 < afStack216[iVar6 * 0xe]) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x200; - } - iVar6 = loc_7F0C21F4(uVar5,aiStack224[0],uStack168,uStack112,uStack56); - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x400; - iVar6 = loc_7F0C2104(uVar5,aiStack224[0],uStack168,uStack112,uStack56); - if ((0 < aiStack224[iVar6 * 0xe]) && (((&uStack208)[iVar6 * 0xe] & 0x400) == 0)) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x800; - } - iVar6 = loc_7F0C2104(uVar5,aiStack204[0],auStack152[1],uStack92,uStack36); - if (0 < aiStack204[iVar6 * 0xe]) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x2000; - } - iVar6 = loc_7F0C21F4(uVar5,aiStack204[1],auStack152[2],uStack88,uStack32); - if (0 < aiStack204[iVar6 * 0xe + 1]) { - (&uStack208)[iVar6 * 0xe] = (&uStack208)[iVar6 * 0xe] | 0x1000; - } - uVar15 = 0; - if (0 < (int)uVar5) { - if ((uVar5 & 1) == 0) { - iVar6 = 0; - } - else { - uVar15 = 1; - if (_DAT_80068a58 == 4) { - uStack208 |= 0x10000; - } - else { - if (_DAT_80068a58 == 3) { - uStack208 |= 0x8000; - } - else { - if (_DAT_80068a58 == 2) { - uStack208 |= 0x4000; - } - } - } - iVar6 = 8; - if (uVar5 == 1) goto LAB_7f0c21ec; - } - puVar14 = &DAT_80068a00 + (iVar6 - uVar15) * 0x10; - do { - iVar6 = *(int *)(puVar14 + 0x58); - if (iVar6 == 4) { - (&uStack208)[uVar15 * 0xe] = (&uStack208)[uVar15 * 0xe] | 0x10000; -LAB_7f0c2170: - iVar6 = *(int *)(puVar14 + 200); - } - else { - if (iVar6 == 3) { - (&uStack208)[uVar15 * 0xe] = (&uStack208)[uVar15 * 0xe] | 0x8000; - goto LAB_7f0c2170; - } - if (iVar6 == 2) { - (&uStack208)[uVar15 * 0xe] = (&uStack208)[uVar15 * 0xe] | 0x4000; - goto LAB_7f0c2170; - } - iVar6 = *(int *)(puVar14 + 200); - } - if (iVar6 == 4) { - auStack152[uVar15 * 0xe] = auStack152[uVar15 * 0xe] | 0x10000; - } - else { - if (iVar6 == 3) { - auStack152[uVar15 * 0xe] = auStack152[uVar15 * 0xe] | 0x8000; - } - else { - if (iVar6 == 2) { - auStack152[uVar15 * 0xe] = auStack152[uVar15 * 0xe] | 0x4000; - } - } - } - uVar15 += 2; - puVar14 = puVar14 + 0xe0; - } while (uVar15 != uVar5); - } -LAB_7f0c21ec: - uVar15 = 0; - if (0 < (int)uVar5) { - piVar11 = aiStack252; - do { - uVar3 = 0; - uVar8 = 0x10; - uVar10 = piVar11[0xb]; - while( true ) { - if ((uVar10 & 1 << uVar8) != 0) { - piVar11[0xb] = uVar10 & ~(1 << uVar8); - uVar3 = 1; - uVar7 = FUN_7f0c12b8((ulonglong)*(ushort *)(&DAT_800412c0 + uVar8 * 2)); - *(undefined4 *)(*(int *)(&DAT_800689f0 + uVar15 * 4) + 0x2a08) = uVar7; - uVar10 = piVar11[0xb]; - } - if (uVar10 == 0) { - uVar3 = 1; - } - uVar8 = FUN_700098b0(); - uVar8 %= 0x11; - if (false) { - trap(0x1c00); - } - if (uVar3 != 0) break; - uVar10 = piVar11[0xb]; - } - if (uVar3 < 2) { - do { - uVar8 = FUN_700098b0(); - uVar8 %= 0x11; - uVar10 = piVar11[0xb]; - if (false) { - trap(0x1c00); - } - uVar12 = uVar3; - if ((uVar10 & 1 << uVar8) != 0) { - piVar11[0xb] = uVar10 & ~(1 << uVar8); - uVar12 = 2; - uVar7 = FUN_7f0c12b8((ulonglong)*(ushort *)(&DAT_800412c0 + uVar8 * 2),uVar8); - *(undefined4 *)(*(int *)(&DAT_800689f0 + uVar15 * 4) + 0x2a0c) = uVar7; - uVar10 = piVar11[0xb]; - } - uVar3 = uVar12; - if (uVar10 == 0) { - uVar3 = 2; - } - } while (uVar10 != 0 && uVar12 < 2); - } - uVar15 += 1; - piVar11 = piVar11 + 0xe; - } while (uVar15 != uVar5); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0c2a00) overlaps instruction at (ram,0x7f0c29fc) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c2360(void) - -{ - undefined4 uVar2; - uint uVar3; - int iVar4; - longlong lVar1; - int iVar5; - int *piVar6; - uint uVar7; - uint uVar8; - undefined uStack1; - - uVar2 = FUN_7f09a690(); - uVar3 = FUN_7f0999a4(); - uStack1 = (undefined)uVar2; - iVar4 = FUN_7000b228(uStack1,0xfffffffffffffffe,1); - lVar1 = FUN_7f09aa18(uVar2); - if (((lVar1 == 0) && (1 < _DAT_80073ae4)) && (_DAT_80073ae4 -= DAT_80041118, _DAT_80073ae4 < 1)) { - _DAT_80073ae4 = 1; - } - if (uVar3 == 1) { - return; - } - if ((*(int *)(_DAT_80068bc0 + 0xd8) != 0) && (_DAT_80073ae4 == 0)) { - *(undefined4 *)(_DAT_80068bc0 + 0x29bc) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x29f8) = 0; - return; - } - if (1 < _DAT_80073ae4) { - return; - } - lVar1 = FUN_7f09aa18(uVar2); - if (lVar1 == 0) { - _DAT_80073aec += DAT_80041118; - _DAT_80073af4 += DAT_80041118; - if (0xf < _DAT_80073aec) { - _DAT_80073aec += -0x10; - _DAT_80073ae8 = (uint)(_DAT_80073ae8 == 0); - } - if (99 < _DAT_80073af4) { - _DAT_80073af4 += -100; - _DAT_80073af0 = (uint)(_DAT_80073af0 == 0); - } - } - if (*(int *)(_DAT_80068bc4 + 0x54) < *(int *)(_DAT_80068bc0 + 0x29f0)) { - *(int *)(_DAT_80068bc4 + 0x54) = *(int *)(_DAT_80068bc0 + 0x29f0); - } - iVar5 = FUN_7f08c2ac(); - if (*(int *)(_DAT_80068bc4 + 0x4c) < iVar5 - *(int *)(_DAT_80068bc0 + 0x29ec)) { - iVar5 = FUN_7f08c2ac(); - *(int *)(_DAT_80068bc4 + 0x4c) = iVar5 - *(int *)(_DAT_80068bc0 + 0x29ec); - iVar5 = *(int *)(_DAT_80068bc0 + 0x29bc); - } - else { - iVar5 = *(int *)(_DAT_80068bc0 + 0x29bc); - } - if (iVar5 == 0) { - lVar1 = FUN_7000b120(uStack1,0x1000); - if (lVar1 == 0) { - return; - } - FUN_7f0c14bc(); - *(undefined4 *)(_DAT_80068bc0 + 0x29bc) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x29c0) = 3; - *(undefined4 *)(_DAT_80068bc0 + 0x29c8) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0xec) = *(undefined4 *)(_DAT_80068bc0 + 0xdc); - *(undefined4 *)(_DAT_80068bc0 + 0xf0) = *(undefined4 *)(_DAT_80068bc0 + 0xe0); - return; - } - lVar1 = FUN_7f0c13d8(uVar2); - if ((lVar1 != 0) && (lVar1 = FUN_7f0c1300(), lVar1 != 0)) { - FUN_7f0c14bc(); - *(int *)(_DAT_80068bc0 + 0x29c0) = *(int *)(_DAT_80068bc0 + 0x29c0) + 1; - goto LAB_7f0c29ec; - } - lVar1 = FUN_7f0c1448(uVar2); - if ((lVar1 != 0) && (lVar1 = FUN_7f0c136c(), lVar1 != 0)) { - FUN_7f0c14bc(); - *(int *)(_DAT_80068bc0 + 0x29c0) = *(int *)(_DAT_80068bc0 + 0x29c0) + -1; - goto LAB_7f0c29ec; - } - lVar1 = FUN_7f0c13d8(uVar2); - if ((lVar1 != 0) && (*(int *)(_DAT_80068bc0 + 0x29c0) == 6)) { - FUN_7f0c14bc(); - *(undefined4 *)(_DAT_80068bc0 + 0x29c4) = 1; - goto LAB_7f0c29ec; - } - lVar1 = FUN_7f0c1448(uVar2); - if ((lVar1 != 0) && (*(int *)(_DAT_80068bc0 + 0x29c0) == 6)) { - FUN_7f0c14bc(); - *(undefined4 *)(_DAT_80068bc0 + 0x29c4) = 0; - goto LAB_7f0c29ec; - } - lVar1 = FUN_7000b120(uStack1,0x8000); - if ((lVar1 != 0) && (*(int *)(_DAT_80068bc0 + 0x29c0) == 4)) { - FUN_7f0c14bc(); - if (_DAT_80073af8 == 0) { - _DAT_80073af8 = 1; - _DAT_80073afc = FUN_7f09a690(); - FUN_7f0bf03c(1); - } - else { - iVar5 = FUN_7f09a690(); - if (iVar5 == _DAT_80073afc) { - _DAT_80073af8 = 0; - FUN_7f0bf03c(0); - } - } - goto LAB_7f0c29ec; - } - if (*(int *)(_DAT_80068bc0 + 0x29c0) == 7) { - lVar1 = FUN_7000b120(uStack1,0x4000); - if (lVar1 != 0) { - FUN_7f0c14bc(); - *(undefined4 *)(_DAT_80068bc0 + 0x29bc) = 1; - *(undefined4 *)(_DAT_80068bc0 + 0x29c0) = 3; - } - goto LAB_7f0c29ec; - } - lVar1 = FUN_7000b120(uStack1,0x9000); - if (((lVar1 == 0) || - (((iVar5 = *(int *)(_DAT_80068bc0 + 0x29c0), iVar5 == 5 || (iVar5 == 6)) && - ((iVar5 != 6 || (*(int *)(_DAT_80068bc0 + 0x29c4) == 1)))))) && - (lVar1 = FUN_7000b120(uStack1,0x4000), lVar1 == 0)) { - lVar1 = FUN_7000b120(uStack1,0x9000); - if ((lVar1 == 0) || (*(int *)(_DAT_80068bc0 + 0x29c0) != 5)) { - lVar1 = FUN_7000b120(uStack1,0x9000); - if ((lVar1 != 0) && - ((*(int *)(_DAT_80068bc0 + 0x29c0) == 6 && (*(int *)(_DAT_80068bc0 + 0x29c4) == 1)))) { - FUN_7f0c14bc(); - *(undefined4 *)(_DAT_80068bc0 + 0x29bc) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x29f8) = 0; - loc_7F0C2E50(0); - } - } - else { - FUN_7f0c14bc(); - *(undefined4 *)(_DAT_80068bc0 + 0x29c0) = 6; - *(undefined4 *)(_DAT_80068bc0 + 0x29c4) = 0; - } - goto LAB_7f0c29ec; - } - FUN_7f0c14bc(); - if (_DAT_80073ae4 == 0) { - *(undefined4 *)(_DAT_80068bc0 + 0x29bc) = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x29f8) = 0x32; - iVar5 = FUN_7f09a690(); - if (iVar5 == _DAT_80073afc) { - _DAT_80073af8 = 0; - FUN_7f0bf03c(0); - } - goto LAB_7f0c29ec; - } - uVar7 = 0; - uVar8 = 0; - *(undefined4 *)(_DAT_80068bc0 + 0x29c0) = 7; - if (0 < (int)uVar3) { - if ((uVar3 & 3) != 0) { - piVar6 = (int *)&DAT_800689f0; - uVar8 = 0; - do { - uVar8 += 1; - if (*(int *)(*piVar6 + 0x29c0) == 7) { - uVar7 += 1; - } - piVar6 = piVar6 + 1; - } while ((uVar3 & 3) != uVar8); - if (uVar8 == uVar3) goto LAB_7f0c28d8; - } - piVar6 = (int *)(&DAT_800689f0 + uVar8 * 4); - iVar5 = *piVar6; - while( true ) { - if (*(int *)(iVar5 + 0x29c0) == 7) { - uVar7 += 1; - iVar5 = piVar6[1]; - } - else { - iVar5 = piVar6[1]; - } - if (*(int *)(iVar5 + 0x29c0) == 7) { - uVar7 += 1; - iVar5 = piVar6[2]; - } - else { - iVar5 = piVar6[2]; - } - if (*(int *)(iVar5 + 0x29c0) == 7) { - uVar7 += 1; - iVar5 = piVar6[3]; - } - else { - iVar5 = piVar6[3]; - } - piVar6 = piVar6 + 4; - if (*(int *)(iVar5 + 0x29c0) == 7) { - uVar7 += 1; - } - if (piVar6 == (int *)(&DAT_800689f0 + uVar3 * 4)) break; - iVar5 = *piVar6; - } - } -LAB_7f0c28d8: - if (uVar7 == uVar3) { - FUN_70005d98(0x5a); - } -LAB_7f0c29ec: - if ((iVar4 == 0) || (iVar4 == -1)) { - *(undefined4 *)(_DAT_80068bc0 + 0x29c8) = 1; - } - else { - *(undefined4 *)(_DAT_80068bc0 + 0x29c8) = 0; - } - return; -} - - - -undefined8 -FUN_7f0c2a80(undefined8 uParm1,int iParm2,undefined4 uParm3,undefined8 uParm4,undefined4 uParm5) - -{ - undefined2 uVar2; - undefined4 uVar1; - undefined auStack24 [8]; - undefined auStack16 [4]; - int iStack12; - undefined4 uStack8; - int iStack4; - - FUN_7000a0f4(auStack24,s__d_800507e0,uParm4); - loc_7F0AEB50(auStack16,&iStack12,auStack24,DAT_8003ab00,DAT_8003aafc,0); - iStack4 = iParm2 - (iStack12 >> 1); - switch(uParm5) { - case 0: - uStack8 = uParm3; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - uParm1 = loc_7F0ADD78(uParm1,&iStack4,&uStack8,auStack24,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar2,uVar1,0,0); - break; - case 1: - uStack8 = uParm3; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - uParm1 = loc_7F0AE958(uParm1,&iStack4,&uStack8,auStack24,DAT_8003ab00,DAT_8003aafc,0xa0ffa0f0, - 0x7000a0,uVar2,uVar1,0,0); - break; - case 2: - uStack8 = uParm3; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - uParm1 = loc_7F0ADD78(uParm1,&iStack4,&uStack8,auStack24,DAT_8003ab00,DAT_8003aafc,0xff4040b0, - uVar2,uVar1,0,0); - break; - case 3: - uStack8 = uParm3; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - uParm1 = loc_7F0AE958(uParm1,&iStack4,&uStack8,auStack24,DAT_8003ab00,DAT_8003aafc,0xffa0a0f0, - 0x700000a0,uVar2,uVar1,0,0); - break; - case 4: - uStack8 = uParm3; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - uParm1 = loc_7F0ADD78(uParm1,&iStack4,&uStack8,auStack24,DAT_8003ab00,DAT_8003aafc,0x4040ffb0, - uVar2,uVar1,0,0); - break; - case 5: - uStack8 = uParm3; - uVar2 = FUN_70003e6c(); - uVar1 = FUN_70003e7c(); - uParm1 = loc_7F0AE958(uParm1,&iStack4,&uStack8,auStack24,DAT_8003ab00,DAT_8003aafc,0xa0a0fff0, - 0x70a0,uVar2,uVar1,0,0); - } - return uParm1; -} - - - -// WARNING: Instruction at (ram,0x7f0c30a0) overlaps instruction at (ram,0x7f0c309c) -// - -int FUN_7f0c2db8(uint uParm1) - -{ - char *pcVar1; - char cVar2; - int iVar3; - int iVar4; - int iVar5; - uint uVar7; - ulonglong uVar6; - undefined *puVar8; - undefined *puVar9; - int iVar10; - uint uVar11; - int iVar12; - uint uVar13; - undefined *puVar14; - int iVar15; - - iVar15 = uParm1 * 0x70; - cVar2 = (&DAT_80068a69)[iVar15]; - uVar7 = FUN_7f0999a4(); - uVar6 = FUN_7f0146c8(); - iVar10 = 0; - if (7 < uVar6) { - return 0; - } - switch((int)uVar6) { - default: - uVar13 = 0; - if (0 < (int)uVar7) { - if ((uVar7 & 3) != 0) { - do { - if (uVar13 == uParm1) { - iVar12 = -*(int *)(&DAT_80068a24 + uVar13 * 0x70 + uParm1 * 4); - } - else { - iVar12 = *(int *)(&DAT_80068a24 + uParm1 * 0x70 + uVar13 * 4); - } - iVar10 += iVar12; - uVar13 += 1; - } while ((uVar7 & 3) != uVar13); - if (uVar13 == uVar7) goto LAB_7f0c2fd8; - } - do { - if (uVar13 == uParm1) { - iVar12 = -*(int *)(&DAT_80068a24 + uVar13 * 0x70 + uParm1 * 4); - } - else { - iVar12 = *(int *)(&DAT_80068a24 + uParm1 * 0x70 + uVar13 * 4); - } - if (uVar13 == uParm1 - 1) { - iVar3 = -*(int *)(&DAT_80068a94 + uVar13 * 0x70 + uParm1 * 4); - } - else { - iVar3 = *(int *)(&DAT_80068a28 + uParm1 * 0x70 + uVar13 * 4); - } - if (uVar13 == uParm1 - 2) { - iVar4 = -*(int *)(&DAT_80068b04 + uVar13 * 0x70 + uParm1 * 4); - } - else { - iVar4 = *(int *)(&DAT_80068a2c + uParm1 * 0x70 + uVar13 * 4); - } - if (uVar13 == uParm1 - 3) { - iVar5 = -*(int *)(&DAT_80068b74 + uVar13 * 0x70 + uParm1 * 4); - } - else { - iVar5 = *(int *)(&DAT_80068a30 + uParm1 * 0x70 + uVar13 * 4); - } - iVar10 = iVar10 + iVar12 + iVar3 + iVar4 + iVar5; - uVar13 += 4; - } while (uVar13 != uVar7); - } -LAB_7f0c2fd8: - iVar10 += *(int *)(iVar15 + -0x7ff975e0) * (uVar7 - 2); - break; - case 1: - iVar10 = 4 - (uint)(byte)(&DAT_80068a68)[iVar15]; - break; - case 2: - iVar10 = *(int *)(iVar15 + -0x7ff975a0); - break; - case 5: - case 6: - case 7: - uVar13 = 0; - if (0 < (int)uVar7) { - puVar14 = &DAT_80068a00; - do { - if ((cVar2 == puVar14[0x69]) && (uVar11 = 0, 0 < (int)uVar7)) { - if ((uVar7 & 3) == 0) { - iVar15 = 0; - } - else { - puVar9 = &DAT_80068a00; - puVar8 = &DAT_80068a00 + uVar13 * 0x70; - do { - pcVar1 = puVar9 + 0x69; - uVar11 += 1; - puVar9 = puVar9 + 0x70; - if (cVar2 == *pcVar1) { - iVar15 = -*(int *)(puVar8 + 0x24); - } - else { - iVar15 = *(int *)(puVar8 + 0x24); - } - iVar10 += iVar15; - puVar8 = puVar8 + 4; - } while ((uVar7 & 3) != uVar11); - iVar15 = uVar11 * 8; - if (uVar11 == uVar7) goto LAB_7f0c3158; - } - iVar12 = uVar11 * 4; - puVar9 = &DAT_80068a00 + uVar13 * 0x70 + iVar12; - puVar8 = &DAT_80068a00 + (iVar15 - uVar11) * 0x10; - do { - iVar12 += 0x10; - if (cVar2 == puVar8[0x69]) { - iVar15 = -*(int *)(puVar9 + 0x24); - } - else { - iVar15 = *(int *)(puVar9 + 0x24); - } - if (cVar2 == puVar8[0xd9]) { - iVar3 = -*(int *)(puVar9 + 0x28); - } - else { - iVar3 = *(int *)(puVar9 + 0x28); - } - if (cVar2 == puVar8[0x149]) { - iVar4 = -*(int *)(puVar9 + 0x2c); - } - else { - iVar4 = *(int *)(puVar9 + 0x2c); - } - pcVar1 = puVar8 + 0x1b9; - puVar8 = puVar8 + 0x1c0; - if (cVar2 == *pcVar1) { - iVar5 = -*(int *)(puVar9 + 0x30); - } - else { - iVar5 = *(int *)(puVar9 + 0x30); - } - iVar10 = iVar10 + iVar15 + iVar3 + iVar4 + iVar5; - puVar9 = puVar9 + 0x10; - } while (iVar12 != uVar7 << 2); - } -LAB_7f0c3158: - uVar13 += 1; - puVar14 = puVar14 + 0x70; - } while (uVar13 != uVar7); - } - } - return iVar10; -} - - - -// WARNING: Instruction at (ram,0x7f0c3240) overlaps instruction at (ram,0x7f0c323c) -// - -void FUN_7f0c3174(undefined4 uParm1,int iParm2) - -{ - int iVar1; - undefined4 uVar2; - undefined4 uVar3; - int iVar5; - undefined8 uVar4; - int *piVar6; - int *piVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int aiStack40 [4]; - int iStack24; - int iStack20; - int iStack8; - int iStack4; - - iStack4 = FUN_7f0146c8(); - iVar5 = FUN_7f0999a4(); - iVar11 = 0; - if (0 < iVar5) { - piVar7 = aiStack40; - piVar6 = aiStack40 + 4; - iStack8 = iVar5; - do { - iVar5 = FUN_7f0c2db8(iVar11); - *piVar7 = iVar11; - iVar11 += 1; - piVar7 = piVar7 + 1; - *piVar6 = iVar5; - piVar6 = piVar6 + 1; - iVar5 = iStack8; - } while (iVar11 < iStack8); - } - iVar11 = 0; - if (0 < iVar5) { - iVar10 = iVar5 + -1; - do { - iVar9 = aiStack40[0]; - iVar12 = 0; - iVar11 += 1; - if (0 < iVar10) { - if ((iVar5 - 1U & 1) != 0) { - iVar12 = 1; - iVar1 = iStack24; - if (iStack24 < iStack20) { - aiStack40[0] = aiStack40[1]; - aiStack40[1] = iVar9; - iVar1 = iStack20; - iStack20 = iStack24; - } - iStack24 = iVar1; - if (iVar10 == 1) goto LAB_7f0c32d4; - } - iVar9 = iVar12 * 4; - piVar6 = aiStack40 + 4 + iVar12; - do { - iVar12 = *piVar6; - iVar1 = piVar6[1]; - if (iVar12 < iVar1) { - uVar2 = *(undefined4 *)((int)aiStack40 + iVar9 + 4); - uVar3 = *(undefined4 *)((int)aiStack40 + iVar9); - *piVar6 = iVar1; - piVar6[1] = iVar12; - *(undefined4 *)((int)aiStack40 + iVar9) = uVar2; - *(undefined4 *)((int)aiStack40 + iVar9 + 4) = uVar3; - iVar8 = piVar6[2]; - } - else { - iVar8 = piVar6[2]; - iVar12 = iVar1; - } - if (iVar12 < iVar8) { - uVar2 = *(undefined4 *)((int)aiStack40 + iVar9 + 8); - uVar3 = *(undefined4 *)((int)aiStack40 + iVar9 + 4); - piVar6[2] = iVar12; - piVar6[1] = iVar8; - *(undefined4 *)((int)aiStack40 + iVar9 + 4) = uVar2; - *(undefined4 *)((int)aiStack40 + iVar9 + 8) = uVar3; - } - piVar6 = piVar6 + 2; - iVar9 += 8; - } while (piVar6 != aiStack40 + 4 + iVar10); - } -LAB_7f0c32d4: - } while (iVar11 != iVar5); - } - iVar10 = 0; - iVar11 = 0; - piVar6 = aiStack40; - if (0 < iVar5) { - do { - if (iParm2 == *piVar6) break; - iVar10 += 1; - piVar6 = piVar6 + 1; - } while (iVar10 != iVar5); - } - if (-1 < iVar10) { - piVar6 = aiStack40 + 4; - piVar7 = piVar6 + iVar10; - do { - if (*piVar6 == *piVar7) break; - iVar11 += 1; - piVar6 = piVar6 + 1; - } while (iVar10 + 1 != iVar11); - } - if (iVar11 == 0) { - uVar4 = FUN_7f0c12b8(0xa011); - FUN_7000a0f4(uParm1,uVar4); - } - else { - if (iVar11 == 1) { - uVar4 = FUN_7f0c12b8(0xa012); - FUN_7000a0f4(uParm1,uVar4); - } - else { - if (iVar11 == 2) { - if ((iStack4 == 5) || (iStack4 == 7)) { - uVar4 = FUN_7f0c12b8(0xa012); - FUN_7000a0f4(uParm1,uVar4); - } - else { - uVar4 = FUN_7f0c12b8(0xa013); - FUN_7000a0f4(uParm1,uVar4); - } - } - else { - if (iVar11 == 3) { - if (iStack4 == 6) { - uVar4 = FUN_7f0c12b8(0xa012); - FUN_7000a0f4(uParm1,uVar4); - } - else { - uVar4 = FUN_7f0c12b8(0xa014); - FUN_7000a0f4(uParm1,uVar4); - } - } - } - } - } - return; -} - - - -void FUN_7f0c343c(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7f0146c8(); - if (uVar1 < 8) { - // WARNING: Could not recover jumptable at 0x7f0c3464. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_80050880)[(int)uVar1])(); - return; - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -void FUN_7f0c34ac(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7f0146c8(); - if (uVar1 < 8) { - // WARNING: Could not recover jumptable at 0x7f0c34d4. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_800508a0)[(int)uVar1])(); - return; - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -// WARNING: Heritage AFTER dead removal. Example location: r0x80068a98 : 0x7f0c4aa4 -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Restarted to delay deadcode elimination for space: ram - -undefined8 FUN_7f0c3504(undefined8 uParm1) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int *piVar4; - char *pcVar5; - bool bVar6; - short sVar12; - undefined4 uVar10; - longlong lVar7; - undefined8 uVar8; - undefined8 uVar9; - short sVar13; - undefined2 uVar14; - undefined4 uVar11; - undefined *puVar15; - int iVar16; - uint uVar17; - int iVar18; - undefined4 *puStack148; - int iStack136; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack96; - int iStack92; - int iStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - uint uStack72; - undefined4 uStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - char *pcStack52; - int iStack48; - undefined auStack44 [16]; - int iStack28; - int aiStack24 [2]; - int iStack16; - int iStack12; - uint uStack8; - uint uStack4; - - uStack4 = FUN_7f09a690(); - uStack8 = FUN_7f0999a4(); - bVar6 = false; - if (uStack8 == 1) { - return uParm1; - } - if (*(int *)(_DAT_80068bc0 + 0x29bc) == 0) { - if (*(int *)(_DAT_80068bc0 + 0xd8) == 0) { - return uParm1; - } - if (*(int *)(_DAT_80068bc0 + 0x428) == 0) { - return uParm1; - } - if (*(int *)(_DAT_80068bc0 + 0x424) == 0) { - return uParm1; - } - if (_DAT_80073ae0 != 0) { - return uParm1; - } - iVar16 = 0; - if (_DAT_80073ae4 != 0) { - return uParm1; - } - uVar17 = 0; - if (0 < (int)uStack8) { - if ((uStack8 & 3) != 0) { - puVar15 = &DAT_80068a00 + uStack4 * 4; - do { - piVar1 = (int *)(puVar15 + 0x24); - uVar17 += 1; - puVar15 = puVar15 + 0x70; - iVar16 += *piVar1; - } while ((uStack8 & 3) != uVar17); - if (uVar17 == uStack8) goto LAB_7f0c53ec; - } - puVar15 = &DAT_80068a00 + uVar17 * 0x70 + uStack4 * 4; - do { - piVar1 = (int *)(puVar15 + 0x24); - piVar2 = (int *)(puVar15 + 0x94); - piVar3 = (int *)(puVar15 + 0x104); - piVar4 = (int *)(puVar15 + 0x174); - uVar17 += 4; - puVar15 = puVar15 + 0x1c0; - iVar16 = iVar16 + *piVar1 + *piVar2 + *piVar3 + *piVar4; - } while (uVar17 != uStack8); - } -LAB_7f0c53ec: - lVar7 = FUN_7f0146c8(); - if ((lVar7 == 1) && (1 < iVar16)) { - return uParm1; - } - uVar8 = FUN_7f0b42f0(uParm1); - uVar8 = loc_7F0ACED4(uVar8); - uVar9 = FUN_7f0c12b8(0xa022); - loc_7F0AEB50(&iStack116,&iStack112,uVar9,DAT_8003ab00,DAT_8003aafc,0); - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003eec(); - iStack104 = ((iVar16 >> 1) + (int)sVar13) - (iStack112 >> 1); - sVar13 = FUN_70003f74(); - iVar16 = FUN_70003efc(); - iStack108 = ((iVar16 >> 1) + (int)sVar13) - (iStack116 >> 1); - uVar8 = microcode_constructor_related_to_menus - (uVar8,iStack104 + -1,iStack108 + -1,iStack104 + iStack112 + 1, - iStack108 + iStack116 + 1,0); - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack104,&iStack108,(int)uVar9,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - uVar8 = combiner_bayer_lod_perspective(uVar8); - return uVar8; - } - uVar8 = loc_7F0ACED4(uParm1); - if (uStack8 == 2) { - iStack48 = 0x50; - } - else { - iStack48 = 0; - } - switch(*(undefined4 *)(_DAT_80068bc0 + 0x29c0)) { - case 0: - case 1: - case 2: - case 3: - if (_DAT_80073ae4 == 0) { - pcStack52 = (char *)FUN_7f0c12b8(0xa015); - } - else { - if (_DAT_80073af0 == 0) { - pcStack52 = (char *)FUN_7f0c12b8(0xa017); - } - else { - pcStack52 = (char *)FUN_7f0c12b8(0xa016); - } - } - break; - case 4: - if (_DAT_80073af8 == 0) { - pcStack52 = (char *)FUN_7f0c12b8(0xa019); - } - else { - pcStack52 = (char *)FUN_7f0c12b8(0xa018); - iVar16 = FUN_7f09a690(); - if (iVar16 == _DAT_80073afc) { - bVar6 = true; - } - } - break; - case 5: - case 6: - pcStack52 = (char *)FUN_7f0c12b8(0xa01a); - iVar16 = FUN_70003f64(); - iStack12 = iVar16 + iStack48 + 0x41; - break; - case 7: - pcStack52 = s__800507e4; - } - loc_7F0AEB50(&iStack28,aiStack24,pcStack52,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x1e; - if (bVar6) { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0AE958(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xa0ffa0f0, - 0x7000a0,uVar14,uVar11,0,0); - } - else { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - } - lVar7 = FUN_7f0c136c(); - if (lVar7 != 0) { - sVar13 = FUN_70003f64(); - if (_DAT_80073ae4 == 0) { - iStack136 = 0; - } - else { - iStack136 = 10; - } - iStack136 = ((int)sVar13 + iStack48) - iStack136; - iStack12 = iStack136 + 0x28; - if (_DAT_80073ae4 != 0) { - iStack12 = iStack136 + 0x20; - } - iStack16 = FUN_70003f74(); - iStack16 += 0x1e; - if (_DAT_80073ae8 == 0) { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,s___800507e8,DAT_8003ab00,DAT_8003aafc,0xff00b0 - ,uVar14,uVar11,0,0); - } - else { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0AE958(uVar8,&iStack12,&iStack16,s___800507e8,DAT_8003ab00,DAT_8003aafc, - 0xa0ffa0f0,0x7000a0,uVar14,uVar11,0,0); - } - } - lVar7 = FUN_7f0c1300(); - if (lVar7 != 0) { - sVar13 = FUN_70003f64(); - if (_DAT_80073ae4 == 0) { - iStack136 = 0; - } - else { - iStack136 = 10; - } - iVar16 = iStack136 + (int)sVar13 + iStack48; - iStack12 = iVar16 + 0x70; - if (_DAT_80073ae4 != 0) { - iStack12 = iVar16 + 0x78; - } - iStack16 = FUN_70003f74(); - iStack16 += 0x1e; - if (_DAT_80073ae8 == 0) { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,s___800507ec,DAT_8003ab00,DAT_8003aafc,0xff00b0 - ,uVar14,uVar11,0,0); - } - else { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0AE958(uVar8,&iStack12,&iStack16,s___800507ec,DAT_8003ab00,DAT_8003aafc, - 0xa0ffa0f0,0x7000a0,uVar14,uVar11,0,0); - } - } - iVar16 = *(int *)(_DAT_80068bc0 + 0x29c0); - if ((iVar16 == 3) || (iVar16 == 4)) { - if (0 < (int)uStack8) { - puStack148 = &uStack68; - uVar17 = 0; - do { - uStack72 = uVar17; - uVar11 = FUN_7f0c2db8(); - *puStack148 = uVar11; - puStack148 = puStack148 + 1; - uVar17 = uStack72 + 1; - } while (uStack72 + 1 != uStack8); - } - lVar7 = FUN_7f0c343c((ulonglong)(_DAT_80073ae4 == 0 && _DAT_80073ae0 == 0)); - if (lVar7 != 0) { - FUN_7f0c3174(auStack44,uStack4); - loc_7F0AEB50(&iStack28,aiStack24,auStack44,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x2d; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,auStack44,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - } - lVar7 = FUN_7f0c34ac((ulonglong)(_DAT_80073ae4 == 0 && _DAT_80073ae0 == 0)); - if (lVar7 != 0) { - iStack88 = FUN_7f0146c8(); - uVar9 = FUN_7f0c12b8(0xa01b); - pcStack52 = (char *)uVar9; - loc_7F0AEB50(&iStack28,aiStack24,uVar9,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x3d; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - if ((((iStack88 == 5) || (iStack88 == 6)) || (iStack88 == 7)) || - ((iStack88 == 2 || (iStack88 == 3)))) { - if ((&DAT_80068a69)[uStack4 * 0x70] == '\0') { - uStack76 = 3; - uStack80 = 2; - uStack84 = 4; - } - else { - uStack76 = 5; - uStack80 = 4; - uStack84 = 2; - } - } - else { - uStack76 = 1; - uStack80 = 0; - uStack84 = 0; - } - if (uStack8 == 2) { - sVar13 = FUN_70003f64(); - sVar12 = FUN_70003f74(); - if (uStack4 == 0) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_80068a69 == (&DAT_80068a69)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x50,(int)sVar12 + 0x4e,uStack68, - iStack136); - sVar13 = FUN_70003f64(); - sVar12 = FUN_70003f74(); - if (uStack4 == 1) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_80068ad9 == (&DAT_80068a69)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x50,(int)sVar12 + 0x5e,uStack64, - iStack136); - } - else { - sVar13 = FUN_70003f64(); - sVar12 = FUN_70003f74(); - if (uStack4 == 0) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_80068a69 == (&DAT_80068a69)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x40,(int)sVar12 + 0x4e,uStack68, - iStack136); - sVar13 = FUN_70003f64(); - sVar12 = FUN_70003f74(); - if (uStack4 == 1) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_80068ad9 == (&DAT_80068a69)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x60,(int)sVar12 + 0x4e,uStack64, - iStack136); - sVar13 = FUN_70003f64(); - sVar12 = FUN_70003f74(); - if (uStack4 == 2) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_80068b49 == (&DAT_80068a69)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x40,(int)sVar12 + 0x5e,uStack60, - iStack136); - if (uStack8 == 4) { - sVar13 = FUN_70003f64(); - sVar12 = FUN_70003f74(); - if (uStack4 == 3) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_80068bb9 == (&DAT_80068a69)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x60,(int)sVar12 + 0x5e,uStack56, - iStack136); - } - } - } - } - else { - if (iVar16 == 2) { - lVar7 = FUN_7f0c343c((ulonglong)(_DAT_80073ae4 == 0 && _DAT_80073ae0 == 0)); - if (lVar7 != 0) { - FUN_7f0c3174(auStack44,uStack4); - loc_7F0AEB50(&iStack28,aiStack24,auStack44,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x2d; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,auStack44,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - } - uVar11 = FUN_7f0c12b8(0xa01c); - uVar10 = FUN_7f0c12b8(0xa01d); - FUN_7000a0f4(auStack44,s__s_d__s_800507f0,uVar11,uStack4 + 1,uVar10); - loc_7F0AEB50(&iStack28,aiStack24,auStack44,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x3d; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,auStack44,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - if (uStack8 == 2) { - if (uStack4 != 0) { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x50,iVar16 + 0x4e, - *(undefined4 *)(&DAT_80068a24 + uStack4 * 0x70),0); - } - if (uStack4 != 1) { - iVar18 = uStack4 * 0x70; - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x50,iVar16 + 0x5e, - *(undefined4 *)(&DAT_80068a28 + iVar18),0); - } - } - else { - if (uStack4 != 0) { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x40,iVar16 + 0x4e, - *(undefined4 *)(&DAT_80068a24 + uStack4 * 0x70),0); - } - if (uStack4 != 1) { - iVar18 = uStack4 * 0x70; - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x60,iVar16 + 0x4e, - *(undefined4 *)(&DAT_80068a28 + iVar18),0); - } - if (uStack4 != 2) { - iVar18 = uStack4 * 0x70; - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x40,iVar16 + 0x5e, - *(undefined4 *)(&DAT_80068a2c + iVar18),0); - } - if ((uStack8 == 4) && (uStack4 != 3)) { - iVar18 = uStack4 * 0x70; - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x60,iVar16 + 0x5e, - *(undefined4 *)(&DAT_80068a30 + iVar18),0); - } - } - } - else { - if (iVar16 == 1) { - lVar7 = FUN_7f0c343c((ulonglong)(_DAT_80073ae4 == 0 && _DAT_80073ae0 == 0)); - if (lVar7 != 0) { - FUN_7f0c3174(auStack44,uStack4); - loc_7F0AEB50(&iStack28,aiStack24,auStack44,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x2d; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,auStack44,DAT_8003ab00,DAT_8003aafc, - 0xff00b0,uVar14,uVar11,0,0); - } - uVar11 = FUN_7f0c12b8(0xa01c); - uVar10 = FUN_7f0c12b8(0xa01e); - FUN_7000a0f4(auStack44,s__s_d__s_800507f8,uVar11,uStack4 + 1,uVar10); - loc_7F0AEB50(&iStack28,aiStack24,auStack44,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x3d; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,auStack44,DAT_8003ab00,DAT_8003aafc, - 0xff4040b0,uVar14,uVar11,0,0); - if (uStack8 == 2) { - if (uStack4 == 0) { - if (0 < _DAT_80068a24) { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x50,iVar16 + 0x4e, - *(undefined4 *)(&DAT_80068a24 + uStack4 * 4),3); - } - } - else { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x50,iVar16 + 0x4e, - *(undefined4 *)(&DAT_80068a24 + uStack4 * 4),0); - } - if (uStack4 == 1) { - if (0 < _DAT_80068a98) { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x50,iVar16 + 0x5e,_DAT_80068a98,3 - ); - } - } - else { - iVar18 = uStack4 * 4; - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x50,iVar16 + 0x5e, - *(undefined4 *)(&DAT_80068a94 + iVar18),0); - } - } - else { - if (uStack4 == 0) { - if (0 < _DAT_80068a24) { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x40,iVar16 + 0x4e, - *(undefined4 *)(&DAT_80068a24 + uStack4 * 4),3); - } - } - else { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x40,iVar16 + 0x4e, - *(undefined4 *)(&DAT_80068a24 + uStack4 * 4),0); - } - iVar16 = uStack4 * 4; - if (uStack4 == 1) { - if (0 < _DAT_80068a98) { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x60,iVar16 + 0x4e,_DAT_80068a98,3 - ); - } - } - else { - sVar13 = FUN_70003f64(); - iVar18 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x60,iVar18 + 0x4e, - *(undefined4 *)(&DAT_80068a94 + iVar16),0); - } - iVar16 = uStack4 * 4; - if (uStack4 == 2) { - if (0 < _DAT_80068b0c) { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x40,iVar16 + 0x5e,_DAT_80068b0c,3 - ); - } - } - else { - sVar13 = FUN_70003f64(); - iVar18 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x40,iVar18 + 0x5e, - *(undefined4 *)(&DAT_80068b04 + iVar16),0); - } - if (uStack8 == 4) { - iVar16 = uStack4 * 4; - if (uStack4 == 3) { - if (0 < _DAT_80068b80) { - sVar13 = FUN_70003f64(); - iVar16 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x60,iVar16 + 0x5e,_DAT_80068b80 - ,3); - } - } - else { - sVar13 = FUN_70003f64(); - iVar18 = FUN_70003f74(); - uVar8 = FUN_7f0c2a80(uVar8,(int)sVar13 + iStack48 + 0x60,iVar18 + 0x5e, - *(undefined4 *)(&DAT_80068b74 + iVar16),0); - } - } - } - } - else { - if (iVar16 != 0) { - iVar16 = *(int *)(_DAT_80068bc0 + 0x29c0); - goto LAB_7f0c5028; - } - iStack100 = iStack48; - if (2 < (int)uStack8) { - iStack100 = iStack48 + 7; - if ((uStack4 & 1) != 0) { - iStack100 = iStack48 + -7; - } - } - uVar9 = FUN_7f0c12b8(0xa01f); - pcStack52 = (char *)(int)uVar9; - loc_7F0AEB50(&iStack92,&iStack96,uVar9,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack100) - (iStack96 >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack92 >> 1)) + 0x2d; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - uVar9 = FUN_7f009a50(uStack4,0); - pcStack52 = (char *)uVar9; - loc_7F0AEB50(&iStack92,&iStack96,uVar9,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = FUN_70003f74(); - if (DAT_80041150 == 0) { - iVar16 = 0; - } - else { - iVar16 = 4; - } - iStack16 = ((iVar16 + (int)sVar13) - (iStack92 >> 1)) + 0x3d; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - pcVar5 = *(char **)(_DAT_80068bc0 + 0x2a08); - if (pcVar5 != NULL) { - pcStack52 = pcVar5; - loc_7F0AEB50(&iStack92,&iStack96,pcVar5,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack100) - (iStack96 >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack92 >> 1)) + 0x53; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc, - 0xff00b0,uVar14,uVar11,0,0); - } - pcVar5 = *(char **)(_DAT_80068bc0 + 0x2a0c); - if (pcVar5 != NULL) { - pcStack52 = pcVar5; - loc_7F0AEB50(&iStack92,&iStack96,pcVar5,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack100) - (iStack96 >> 1)) + 0x50; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack92 >> 1)) + 0x60; - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc, - 0xff00b0,uVar14,uVar11,0,0); - } - } - } - } - iVar16 = *(int *)(_DAT_80068bc0 + 0x29c0); -LAB_7f0c5028: - if (iVar16 == 6) { - uVar9 = FUN_7f0c12b8(0xa020); - pcStack52 = (char *)(int)uVar9; - loc_7F0AEB50(&iStack28,aiStack24,uVar9,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x36; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x3e; - if (*(int *)(_DAT_80068bc0 + 0x29c4) == 0) { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0AE958(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xa0ffa0f0, - 0x7000a0,uVar14,uVar11,0,0); - } - else { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - } - uVar9 = FUN_7f0c12b8(0xa021); - pcStack52 = (char *)uVar9; - loc_7F0AEB50(&iStack28,aiStack24,uVar9,DAT_8003ab00,DAT_8003aafc,0); - iVar16 = FUN_70003f64(); - iStack12 = ((iVar16 + iStack48) - (aiStack24[0] >> 1)) + 0x68; - iVar16 = FUN_70003f74(); - iStack16 = (iVar16 - (iStack28 >> 1)) + 0x3e; - if (*(int *)(_DAT_80068bc0 + 0x29c4) == 1) { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0AE958(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xa0ffa0f0, - 0x7000a0,uVar14,uVar11,0,0); - } - else { - uVar14 = FUN_70003e6c(); - uVar11 = FUN_70003e7c(); - uVar8 = loc_7F0ADD78(uVar8,&iStack12,&iStack16,pcStack52,DAT_8003ab00,DAT_8003aafc,0xff00b0, - uVar14,uVar11,0,0); - } - } - uVar8 = combiner_bayer_lod_perspective(uVar8); - return uVar8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0c555c(void) - -{ - if (_DAT_80073ae4 != 0) { - return 0; - } - return (longlong)*(int *)(_DAT_80068bc0 + 0x29bc) | - (ulonglong)(0 < *(int *)(_DAT_80068bc0 + 0x29f8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0c5594(void) - -{ - return _DAT_80073af8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * display_red_blue_on_radar(undefined4 uParm1) - -{ - longlong lVar1; - uint uVar4; - longlong lVar2; - uint uVar5; - short sVar10; - int iVar6; - int iVar7; - undefined4 *puVar8; - undefined4 uVar9; - undefined8 uVar3; - int iVar11; - uint uVar12; - int iVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - undefined4 *puStackX0; - - puStackX0 = (undefined4 *)uParm1; - lVar1 = FUN_7f0146c8(); - uVar4 = FUN_7f09a690(); - lVar2 = FUN_7f0999a4(); - uVar5 = (uint)lVar2; - if ((((lVar2 != 1) && (*(int *)(_DAT_80068bc0 + 0x29bc) == 0)) && - (*(int *)(_DAT_80068bc0 + 0xd8) == 0)) && (lVar2 = FUN_7f091cdc(0x17), lVar2 == 0)) { - sVar10 = FUN_70003f64(); - iVar6 = FUN_70003eec(); - iVar13 = iVar6 + (int)sVar10 + -0x29; - iVar7 = FUN_70003f74(); - if ((2 < (int)uVar5) && ((uVar4 & 1) == 0)) { - iVar13 = iVar6 + (int)sVar10 + -0x1a; - } - loc_7F077B80(register0x000000ec,_DAT_8007450c,2,0,2); - puVar8 = (undefined4 *)loc_7F0ACED4(puStackX0); - *puVar8 = 0xfcffb3ff; - puVar8[1] = 0xff65feff; - puVar8[3] = 0xa0; - puVar8[2] = 0xfa000000; - puVar8[5] = (iVar13 - 0x10U & 0x3ff) << 0xe | (iVar7 + 10) * 4 & 0xfffU; - puVar8[4] = (iVar13 + 0x10U & 0x3ff) << 0xe | 0xe4000000 | (iVar7 + 0x30) * 4 & 0xfffU; - puVar8[6] = 0xb4000000; - puVar8[7] = 0x100010; - puStackX0 = puVar8 + 10; - puVar8[8] = 0xb3000000; - puVar8[9] = 0x4000355; - puStackX0 = (undefined4 *) - microcode_constructor_related_to_menus - (puStackX0,iVar13 + -2,iVar7 + 0x1b,iVar13 + 2,iVar7 + 0x1f,0x40); - if (((lVar1 == 5) || (lVar1 == 6)) || ((lVar1 == 7 || ((lVar1 == 2 || (lVar1 == 3)))))) { - if ((&DAT_80068a69)[uVar4 * 0x70] == '\0') { - uVar9 = 0xff7777ff; - } - else { - uVar9 = 0x8888ffff; - } - puStackX0 = (undefined4 *) - microcode_constructor_related_to_menus - (puStackX0,iVar13 + -1,iVar7 + 0x1c,iVar13 + 1,iVar7 + 0x1e,uVar9); - } - else { - puStackX0 = (undefined4 *) - microcode_constructor_related_to_menus - (puStackX0,iVar13 + -1,iVar7 + 0x1c,iVar13 + 1,iVar7 + 0x1e,0xffffffa0); - } - uVar12 = 0; - if (0 < (int)uVar5) { - do { - if ((uVar12 != uVar4) && (*(int *)(*(int *)(&DAT_800689f0 + uVar12 * 4) + 0xd8) == 0)) { - iVar6 = *(int *)(*(int *)(&DAT_800689f0 + uVar12 * 4) + 0xa8); - fVar17 = *(float *)(iVar6 + 8) - *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 8); - fVar18 = *(float *)(iVar6 + 0x10) - *(float *)(*(int *)(_DAT_80068bc0 + 0xa8) + 0x10); - fVar19 = 16.00000000; - fVar14 = (float)convert_angle_using_inverse(fVar17,fVar18); - fVar16 = *(float *)(_DAT_80068bc0 + 0x148); - fVar15 = (fVar14 * 180.00000000) / DAT_800508e0; - fVar14 = (float)sqrtf(fVar17 * fVar17 + fVar18 * fVar18); - fVar14 = fVar14 * 0.00400000; - if (((lVar1 == 5) || (((lVar1 == 6 || (lVar1 == 7)) || (lVar1 == 2)))) || (lVar1 == 3)) { - if (fVar14 < 16.00000000) { - if ((&DAT_80068a69)[uVar12 * 0x70] == '\0') { - uVar9 = 0xff0000a0; - fVar19 = fVar14; - } - else { - uVar9 = 0x2828ffff; - fVar19 = fVar14; - } - } - else { - if ((&DAT_80068a69)[uVar12 * 0x70] == '\0') { - uVar9 = 0xff000060; - fVar19 = 16.00000000; - } - else { - uVar9 = 0x2828ffb0; - fVar19 = 16.00000000; - } - } - } - else { - uVar9 = 0xffff0060; - if (fVar14 < 16.00000000) { - uVar9 = 0xffff00a0; - fVar19 = fVar14; - } - } - fVar15 = (fVar15 + fVar16 + 180.00000000) * DAT_800508e4; - fVar14 = (float)func_7F057FC4(fVar15); - iVar11 = (int)(fVar14 * fVar19) + iVar13; - fVar14 = (float)func_7F057FC4(fVar15); - iVar6 = (int)(fVar14 * fVar19 * DAT_800508e8) + iVar7 + 0x1d; - uVar3 = microcode_constructor_related_to_menus - (puStackX0,iVar11 + -2,iVar6 + -2,iVar11 + 2,iVar6 + 2,0x40); - puStackX0 = (undefined4 *)(int)uVar3; - puStackX0 = (undefined4 *) - microcode_constructor_related_to_menus - (uVar3,iVar11 + -1,iVar6 + -1,iVar11 + 1,iVar6 + 1,uVar9); - } - uVar12 += 1; - } while (uVar12 != uVar5); - } - puStackX0 = (undefined4 *)combiner_bayer_lod_perspective(puStackX0); - } - return puStackX0; -} - - - -void get_mp_weapon_set(void) - -{ - DAT_800416e0 = (DAT_800416e0 + 1) % 0xe; - return; -} - - - -int FUN_7f0c5b18(void) - -{ - return DAT_800416e0 * 8 + -0x7ffbe990; -} - - - -undefined4 FUN_7f0c5b34(void) - -{ - return *(undefined4 *)(DAT_800416e0 * 8 + -0x7ffbe98c); -} - - - -void FUN_7f0c5b50(undefined4 uParm1) - -{ - DAT_800416e0 = uParm1; - return; -} - - - -undefined4 __osGetActiveQueue(void) - -{ - return DAT_800416e0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint loc_7F0C6B98(undefined8 uParm1,int iParm2,int iParm3,int iParm4,int iParm5) - -{ - short sVar1; - bool bVar2; - short *psVar5; - int iVar6; - ushort uVar8; - undefined8 uVar3; - undefined8 uVar4; - int iVar7; - ushort *puVar9; - ushort *puVar10; - int iVar11; - int iVar12; - ushort *puVar13; - undefined *puVar14; - undefined *puVar15; - int iVar16; - uint uVar17; - int iVar18; - int iVar19; - ushort auStack11064 [256]; - undefined auStack10552 [8448]; - undefined auStack2104 [2056]; - uint uStack48; - int iStack36; - int iStack32; - int iStack20; - int iStack12; - uint uStack4; - - iVar16 = 0; - bVar2 = false; - FUN_7f0cb430(); - if ((iParm3 == 0) || (iStack12 = iParm4, iParm4 == 0)) { - iStack12 = 1; - } - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) = - (byte)(iParm4 << 5) | *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) & 0x1f; - *(byte *)(*(int *)(iParm5 + 0xc) + 0xc) = - (byte)(iParm3 << 5) & 0x20 | *(byte *)(*(int *)(iParm5 + 0xc) + 0xc) & 0xdf; - if ((iParm3 != 0) && (bVar2 = true, 0 < _DAT_80074470)) { - psVar5 = (short *)&DAT_80073b10; - sVar1 = _DAT_80073b10; - while( true ) { - psVar5 = psVar5 + 8; - if ((longlong)(int)(**(uint **)(iParm5 + 0xc) >> 0x14) == (longlong)sVar1) { - bVar2 = false; - } - if (&DAT_80073b10 + _DAT_80074470 * 0x10 <= psVar5) break; - sVar1 = *psVar5; - } - } - iStack20 = FUN_7f0cb44c(8); - iVar6 = FUN_7f0cb44c(8); - uStack48 = iVar6 + 1; - if (0 < (int)uStack48) { - puVar13 = auStack11064 + uStack48; - puVar9 = auStack11064; - do { - uVar8 = FUN_7f0cb44c(0x10); - puVar10 = puVar9 + 1; - *puVar9 = uVar8; - puVar9 = puVar10; - } while (puVar10 < puVar13); - } - iVar6 = 0; - if (0 < iStack12) { - do { - uVar3 = FUN_7f0cb44c(8); - iStack36 = FUN_7f0cb44c(8); - if (iVar6 == 0) { - *(undefined *)(*(int *)(iParm5 + 0xc) + 8) = (char)uVar3; - *(undefined *)(*(int *)(iParm5 + 0xc) + 9) = (char)iStack36; - *(char *)(*(int *)(iParm5 + 0xc) + 10) = (char)uStack48 + -1; - iVar12 = iStack20 * 4; - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) = - (byte)(*(int *)(&DAT_800417c8 + iVar12) << 2) & 0x1c | - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) & 0xe3; - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) = - (byte)*(undefined4 *)(&DAT_800417fc + iVar12) & 3 | - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) & 0xfc; - *(byte *)(*(int *)(iParm5 + 0xc) + 0xc) = - (byte)((*(int *)(&DAT_80041830 + iVar12) >> 0xe) << 6) | - *(byte *)(*(int *)(iParm5 + 0xc) + 0xc) & 0x3f; - } - else { - if (bVar2) { - iVar12 = _DAT_80074470 * 0x10 + iVar6; - (&DAT_80073b11)[iVar12] = (char)uVar3; - (&DAT_80073b18)[iVar12] = (char)iStack36; - } - } - iStack32 = (int)uVar3; - if (0x1000 < iStack32 * iStack36) { - return 0; - } - sub_GAME_7F0CE894(_DAT_80074480,auStack2104,auStack10552); - iVar12 = loc_7F0C6C58(auStack2104,uVar3,iStack36,iStack20,iParm2 + iVar16); - uVar4 = FUN_7f0cddb4(); - FUN_7f0cb430(uVar4); - if ((iParm3 == 1) && (0 < iParm4)) { - FUN_7f0cab9c(iParm2 + iVar16,uVar3,iStack36,iStack20); - } - iVar6 += 1; - iVar16 += iVar12; - } while (iVar6 != iStack12); - } - uStack4 = 0; - if (bVar2) { - *(ushort *)(&DAT_80073b10 + _DAT_80074470 * 0x10) = - (ushort)((uint)**(undefined4 **)(iParm5 + 0xc) >> 0x14); - _DAT_80074470 += 1; - if (0x95 < _DAT_80074470) { - _DAT_80074470 = 0; - } - } - if (iParm3 == 0) { - if (iParm4 < 2) { - if (iParm4 == 1) { - uStack4 = 0; - FUN_7f0cab9c(iParm2,iStack32,iStack36,iStack20); - } - } - else { - iVar18 = 1; - iVar6 = iStack32; - iVar12 = iParm2; - iVar11 = iStack36; - if (iParm4 >= 2) { - iVar7 = iParm2 + iVar16; - iVar6 = iStack32; - iVar19 = iParm2; - iVar11 = iStack36; - do { - iVar12 = iVar7; - iVar7 = loc_7F0C7780(iVar19,iVar12,iVar6,iVar11,iStack20,auStack11064,uStack48); - if (0x800 < iVar16 + iVar7) { - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) = - (byte)(iVar18 << 5) | *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) & 0x1f; - iVar12 = iVar19; - break; - } - FUN_7f0cab9c(iVar19,iVar6,iVar11,iStack20); - iVar18 += 1; - iVar6 = iVar6 + 1 >> 1; - iVar11 = iVar11 + 1 >> 1; - iVar16 += iVar7; - iVar7 = iVar12 + iVar7; - iVar19 = iVar12; - } while (iVar18 != iParm4); - } - FUN_7f0cab9c(iVar12,iVar6,iVar11,iStack20); - } - } - if (0 < (int)uStack48) { - puVar15 = (undefined *)(iParm2 + iVar16); - if ((uStack48 & 3) != 0) { - puVar9 = auStack11064 + uStack4; - puVar14 = puVar15; - do { - iVar6 = iVar16; - uStack4 += 1; - iVar16 = iVar6 + 2; - *puVar14 = (char)((uint)*puVar9 >> 8); - uVar8 = *puVar9; - puVar15 = puVar14 + 2; - puVar9 = puVar9 + 1; - puVar14[1] = (char)uVar8; - puVar14 = puVar15; - } while ((uStack48 & 3) != uStack4); - if (uStack4 == uStack48) { - uVar17 = iVar6 + 9; - goto LAB_7f0c60b4; - } - } - puVar9 = auStack11064 + uStack4; - do { - puVar13 = puVar9 + 4; - iVar16 += 8; - *puVar15 = (char)((uint)*puVar9 >> 8); - puVar15[1] = (char)*puVar9; - puVar15[2] = (char)((uint)puVar9[1] >> 8); - puVar15[3] = (char)puVar9[1]; - puVar15[4] = (char)((uint)puVar9[2] >> 8); - puVar15[5] = (char)puVar9[2]; - puVar15[6] = (char)((uint)puVar9[3] >> 8); - puVar15[7] = (char)puVar9[3]; - puVar9 = puVar13; - puVar15 = puVar15 + 8; - } while (puVar13 != auStack11064 + uStack48); - } - uVar17 = iVar16 + 7; -LAB_7f0c60b4: - return uVar17 & 0xfffffff8; -} - - - -undefined * -loc_7F0C6C58(undefined *puParm1,int iParm2,int iParm3,longlong lParm4,undefined *puParm5) - -{ - undefined uVar1; - undefined *puVar2; - undefined *puVar3; - int iVar4; - int iVar5; - int iStack16; - - if ((lParm4 == 9) || (lParm4 == 0xb)) { - iStack16 = 1; - } - else { - if ((lParm4 == 10) || (lParm4 == 0xc)) { - iStack16 = 2; - } - } - iVar4 = 0; - puVar3 = puParm5; - if (0 < iParm3) { - do { - iVar5 = 0; - puVar2 = puVar3; - if (0 < iParm2) { - do { - uVar1 = *puParm1; - iVar5 += iStack16; - puVar3 = puVar2 + 1; - puParm1 = puParm1 + 1; - *puVar2 = uVar1; - puVar2 = puVar3; - } while (iVar5 < iParm2); - } - iVar4 += 1; - puVar3 = (undefined *)((uint)(puVar3 + 7) & 0xfffffff8); - } while (iVar4 != iParm3); - } - return puVar3 + -(int)puParm5; -} - - - -int loc_7F0C7780(byte *pbParm1,int iParm2,int iParm3,int iParm4,int iParm5,int iParm6, - undefined4 uParm7) - -{ - short sVar1; - short sVar2; - short sVar3; - short sVar4; - bool bVar5; - int iVar6; - undefined uVar7; - byte bVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - byte *pbVar13; - byte *pbVar14; - uint uVar15; - int iVar16; - int iStack52; - uint uStack16; - uint uStack12; - int iStack8; - - iVar16 = iParm4 + 1 >> 1; - if (iParm5 == 9) { -LAB_7f0c6210: - uStack16 = (iParm3 + 1 >> 1) + 7U & 0xff8; - uStack12 = iParm3 + 7U & 0xff8; - } - else { - if (iParm5 != 10) { - if (iParm5 == 0xb) goto LAB_7f0c6210; - if (iParm5 != 0xc) goto LAB_7f0c6250; - } - uStack16 = (iParm3 + 1 >> 1) + 0xfU & 0xff0; - uStack12 = iParm3 + 0xfU & 0xff0; - } -LAB_7f0c6250: - if (iParm5 == 9) { - iStack8 = 0; - iStack52 = iParm2; - if (0 < iParm4) { - do { - uVar15 = uStack12; - if (iParm4 <= iStack8 + 1) { - uVar15 = 0; - } - if (0 < (int)uStack12) { - pbVar14 = pbParm1 + uVar15; - iVar6 = 1; - iVar11 = 0; - pbVar13 = pbParm1; - while( true ) { - iVar12 = iVar11; - if (iVar6 < iParm3) { - iVar12 = iVar6; - } - sVar1 = *(short *)(iParm6 + (uint)*pbVar13 * 2); - sVar2 = *(short *)(iParm6 + (uint)pbParm1[iVar12] * 2); - sVar3 = *(short *)(iParm6 + (uint)*pbVar14 * 2); - sVar4 = *(short *)(iParm6 + (uint)pbParm1[uVar15 + iVar12] * 2); - uVar7 = loc_7F0C7BBC(iParm6,uParm7, - (int)(((int)sVar1 >> 0xb & 0x1fU) + ((int)sVar2 >> 0xb & 0x1fU) + - ((int)sVar3 >> 0xb & 0x1fU) + ((int)sVar4 >> 0xb & 0x1fU)) >> - 2 & 0x1f,(int)(((int)sVar1 >> 6 & 0x1fU) + - ((int)sVar2 >> 6 & 0x1fU) + - ((int)sVar3 >> 6 & 0x1fU) + - ((int)sVar4 >> 6 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)sVar1 >> 1 & 0x1fU) + ((int)sVar2 >> 1 & 0x1fU) + - ((int)sVar3 >> 1 & 0x1fU) + ((int)sVar4 >> 1 & 0x1fU)) >> 2 & - 0x1f,(int)(((int)sVar1 & 1U) + ((int)sVar2 & 1U) + - ((int)sVar3 & 1U) + ((int)sVar4 & 1U) + 2) >> 2 & 1); - *(undefined *)(iStack52 + (iVar11 >> 1)) = uVar7; - pbVar13 = pbVar13 + 2; - pbVar14 = pbVar14 + 2; - if ((int)uStack12 <= iVar11 + 2) break; - iVar6 = iVar11 + 3; - iVar11 = iVar11 + 2; - } - } - iStack8 += 2; - iStack52 += uStack16; - pbParm1 = pbParm1 + uStack12 * 2; - } while (iStack8 < iParm4); - } - iVar11 = iVar16 * uStack16; - } - else { - iVar6 = (int)uStack16 >> 1; - if (iParm5 == 10) { - iStack8 = 0; - iStack52 = iParm2; - if (0 < iParm4) { - do { - iVar12 = 0; - iVar11 = (int)uStack12 >> 1; - if (iParm4 <= iStack8 + 1) { - iVar11 = 0; - } - if (0 < (int)uStack12) { - iVar9 = 0; - while( true ) { - bVar5 = iParm3 <= iVar12 + 1; - sVar1 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar9] >> 4) * 2); - if (bVar5) { - iVar10 = 4; - } - else { - iVar10 = 0; - } - sVar2 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar9] >> iVar10 & 0xfU) * 2); - sVar3 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar9 + iVar11] >> 4) * 2); - if (bVar5) { - iVar10 = 4; - } - else { - iVar10 = 0; - } - sVar4 = *(short *)(iParm6 + ((int)(uint)(pbParm1 + iVar11)[iVar9] >> iVar10 & 0xfU) * - 2); - iVar9 = loc_7F0C7BBC(iParm6,uParm7, - (int)(((int)sVar1 >> 0xb & 0x1fU) + ((int)sVar2 >> 0xb & 0x1fU) + - ((int)sVar3 >> 0xb & 0x1fU) + ((int)sVar4 >> 0xb & 0x1fU)) - >> 2 & 0x1f, - (int)(((int)sVar1 >> 6 & 0x1fU) + ((int)sVar2 >> 6 & 0x1fU) + - ((int)sVar3 >> 6 & 0x1fU) + ((int)sVar4 >> 6 & 0x1fU)) >> 2 - & 0x1f,(int)(((int)sVar1 >> 1 & 0x1fU) + - ((int)sVar2 >> 1 & 0x1fU) + - ((int)sVar3 >> 1 & 0x1fU) + - ((int)sVar4 >> 1 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)sVar1 & 1U) + ((int)sVar2 & 1U) + ((int)sVar3 & 1U) + - ((int)sVar4 & 1U) + 2) >> 2 & 1); - iVar10 = iVar12 + 2 >> 1; - pbVar13 = (byte *)(iStack52 + (iVar12 >> 2)); - *pbVar13 = (byte)(iVar9 << 4); - bVar5 = iParm3 <= iVar12 + 3; - sVar1 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar10] >> 4) * 2); - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - sVar2 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar10] >> iVar9 & 0xfU) * 2); - sVar3 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar10 + iVar11] >> 4) * 2); - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - sVar4 = *(short *)(iParm6 + ((int)(uint)(pbParm1 + iVar11)[iVar10] >> iVar9 & 0xfU) * - 2); - bVar8 = loc_7F0C7BBC(iParm6,uParm7, - (int)(((int)sVar1 >> 0xb & 0x1fU) + ((int)sVar2 >> 0xb & 0x1fU) + - ((int)sVar3 >> 0xb & 0x1fU) + ((int)sVar4 >> 0xb & 0x1fU)) - >> 2 & 0x1f, - (int)(((int)sVar1 >> 6 & 0x1fU) + ((int)sVar2 >> 6 & 0x1fU) + - ((int)sVar3 >> 6 & 0x1fU) + ((int)sVar4 >> 6 & 0x1fU)) >> 2 - & 0x1f,(int)(((int)sVar1 >> 1 & 0x1fU) + - ((int)sVar2 >> 1 & 0x1fU) + - ((int)sVar3 >> 1 & 0x1fU) + - ((int)sVar4 >> 1 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)sVar1 & 1U) + ((int)sVar2 & 1U) + ((int)sVar3 & 1U) + - ((int)sVar4 & 1U) + 2) >> 2 & 1); - iVar12 += 4; - *pbVar13 = *pbVar13 | bVar8; - if ((int)uStack12 <= iVar12) break; - iVar9 = iVar12 >> 1; - } - } - iStack8 += 2; - iStack52 += iVar6; - pbParm1 = pbParm1 + uStack12; - } while (iStack8 < iParm4); - } - iVar11 = iVar6 * iVar16; - } - else { - if (iParm5 == 0xb) { - iStack8 = 0; - iStack52 = iParm2; - if (0 < iParm4) { - do { - uVar15 = uStack12; - if (iParm4 <= iStack8 + 1) { - uVar15 = 0; - } - if (0 < (int)uStack12) { - pbVar14 = pbParm1 + uVar15; - iVar6 = 1; - iVar11 = 0; - pbVar13 = pbParm1; - while( true ) { - iVar12 = iVar11; - if (iVar6 < iParm3) { - iVar12 = iVar6; - } - sVar1 = *(short *)(iParm6 + (uint)*pbVar13 * 2); - sVar2 = *(short *)(iParm6 + (uint)pbParm1[iVar12] * 2); - sVar3 = *(short *)(iParm6 + (uint)*pbVar14 * 2); - sVar4 = *(short *)(iParm6 + (uint)pbParm1[uVar15 + iVar12] * 2); - uVar7 = loc_7F0C7DEC(iParm6,uParm7, - (int)(((int)sVar1 >> 8 & 0xffU) + ((int)sVar2 >> 8 & 0xffU) + - ((int)sVar3 >> 8 & 0xffU) + ((int)sVar4 >> 8 & 0xffU)) >> - 2 & 0xff,(int)(((int)sVar1 & 0xffU) + ((int)sVar2 & 0xffU) + - ((int)sVar3 & 0xffU) + ((int)sVar4 & 0xffU) + 1) - >> 2 & 0xff); - *(undefined *)(iStack52 + (iVar11 >> 1)) = uVar7; - pbVar13 = pbVar13 + 2; - pbVar14 = pbVar14 + 2; - if ((int)uStack12 <= iVar11 + 2) break; - iVar6 = iVar11 + 3; - iVar11 = iVar11 + 2; - } - } - iStack8 += 2; - iStack52 += uStack16; - pbParm1 = pbParm1 + uStack12 * 2; - } while (iStack8 < iParm4); - } - iVar11 = iVar16 * uStack16; - } - else { - iVar11 = 0; - if (iParm5 == 0xc) { - iStack8 = 0; - iStack52 = iParm2; - if (0 < iParm4) { - do { - iVar12 = 0; - iVar11 = (int)uStack12 >> 1; - if (iParm4 <= iStack8 + 1) { - iVar11 = 0; - } - iVar9 = 0; - if (0 < (int)uStack12) { - while( true ) { - bVar5 = iVar12 + 1 < iParm3; - sVar1 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar9] >> 4) * 2); - if ((int)(uint)pbParm1[iVar9] >> bVar5 == 0) { - iVar10 = 4; - } - else { - iVar10 = 0; - } - sVar2 = *(short *)(iParm6 + iVar10 * 2); - sVar3 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar9 + iVar11] >> 4) * 2); - if ((int)(uint)pbParm1[iVar9 + iVar11] >> bVar5 == 0) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - sVar4 = *(short *)(iParm6 + iVar9 * 2); - iVar9 = loc_7F0C7DEC(iParm6,uParm7, - (int)(((int)sVar1 >> 8 & 0xffU) + ((int)sVar2 >> 8 & 0xffU) + - ((int)sVar3 >> 8 & 0xffU) + ((int)sVar4 >> 8 & 0xffU)) - >> 2 & 0xff, - (int)(((int)sVar1 & 0xffU) + ((int)sVar2 & 0xffU) + - ((int)sVar3 & 0xffU) + ((int)sVar4 & 0xffU) + 1) >> 2 & - 0xff); - iVar10 = iVar12 + 2 >> 1; - pbVar13 = (byte *)(iStack52 + (iVar12 >> 2)); - *pbVar13 = (byte)(iVar9 << 4); - bVar5 = iVar12 + 3 < iParm3; - sVar1 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar10] >> 4) * 2); - if ((int)(uint)pbParm1[iVar10] >> bVar5 == 0) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - sVar2 = *(short *)(iParm6 + iVar9 * 2); - sVar3 = *(short *)(iParm6 + ((int)(uint)pbParm1[iVar10 + iVar11] >> 4) * 2); - if ((int)(uint)pbParm1[iVar10 + iVar11] >> bVar5 == 0) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - sVar4 = *(short *)(iParm6 + iVar9 * 2); - bVar8 = loc_7F0C7DEC(iParm6,uParm7, - (int)(((int)sVar1 >> 8 & 0xffU) + ((int)sVar2 >> 8 & 0xffU) + - ((int)sVar3 >> 8 & 0xffU) + ((int)sVar4 >> 8 & 0xffU)) - >> 2 & 0xff, - (int)(((int)sVar1 & 0xffU) + ((int)sVar2 & 0xffU) + - ((int)sVar3 & 0xffU) + ((int)sVar4 & 0xffU) + 1) >> 2 & - 0xff); - iVar12 += 4; - *pbVar13 = *pbVar13 | bVar8; - if ((int)uStack12 <= iVar12) break; - iVar9 = iVar12 >> 1; - } - } - iStack8 += 2; - iStack52 += iVar6; - pbParm1 = pbParm1 + uStack12; - } while (iStack8 < iParm4); - } - iVar11 = iVar6 * iVar16; - } - } - } - } - return iVar11; -} - - - -// WARNING: Instruction at (ram,0x7f0c6fd0) overlaps instruction at (ram,0x7f0c6fcc) -// - -uint loc_7F0C7BBC(ushort *puParm1,uint uParm2,int iParm3,int iParm4,int iParm5,uint uParm6) - -{ - ushort uVar1; - int unaff_100000a8; - ushort *puVar2; - uint uVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - ulonglong uVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - uint uVar14; - - uVar3 = 0; - if (0 < (int)uParm2) { - if ((uParm2 & 3) != 0) { - puVar2 = puParm1; - do { - if (((longlong)(int)(iParm3 << 0xb | iParm4 << 6 | iParm5 << 1 | uParm6) & 0xffffU) == - (ulonglong)*puVar2) { - return uVar3; - } - uVar3 += 1; - puVar2 = puVar2 + 1; - } while ((uParm2 & 3) != uVar3); - if (uVar3 == uParm2) goto LAB_7f0c6df8; - } - puVar2 = puParm1 + uVar3; - uVar9 = (longlong)(int)(iParm3 << 0xb | iParm4 << 6 | iParm5 << 1 | uParm6) & 0xffff; - do { - if (uVar9 == (ulonglong)*puVar2) { - return uVar3; - } - if (uVar9 == (ulonglong)puVar2[1]) { - return uVar3 + 1; - } - if (uVar9 == (ulonglong)puVar2[2]) { - return uVar3 + 2; - } - if (uVar9 == (ulonglong)puVar2[3]) { - return uVar3 + 3; - } - uVar3 += 4; - puVar2 = puVar2 + 4; - } while (uVar3 != uParm2); - } -LAB_7f0c6df8: - uVar9 = SEXT48((int)uParm6); - iVar6 = uParm2 - 1; - iVar8 = iVar6; - if (1 < iVar6) { - iVar7 = iParm3 * unaff_100000a8 + iParm4 * iParm4 + iParm5 * iParm5 + uParm6 * 0x3c1; - iVar8 = iVar6; - iVar5 = 0; - iVar11 = iVar6; - while( true ) { - iVar4 = iVar11 >> 1; - uVar1 = puParm1[iVar4]; - iVar11 = (int)(uint)uVar1 >> 0xb; - uVar3 = (int)(uint)uVar1 >> 6 & 0x1f; - uVar14 = (int)(uint)uVar1 >> 1 & 0x1f; - iVar11 = iVar11 * iVar11 + uVar3 * uVar3 + uVar14 * uVar14 + ((uint)uVar1 & 1) * 0x3c1; - if ((iVar7 <= iVar11) && (iVar8 = iVar4, iVar7 < iVar11)) { - iVar8 = iVar4; - iVar4 = iVar5; - } - if (iVar8 - iVar4 < 2) break; - iVar11 = iVar8 + iVar4; - iVar5 = iVar4; - } - } - iVar5 = iVar8 + -4; - if (iVar5 < 0) { - iVar5 = 0; - } - iVar11 = iVar8 + 4; - if ((int)uParm2 <= iVar8 + 4) { - iVar11 = iVar6; - } - iVar6 = 999999; - iVar8 = 0; - if (iVar5 <= iVar11) { - if (((iVar11 - iVar5) + 1U & 1) == 0) { - iVar7 = iVar5 << 1; - } - else { - uVar1 = puParm1[iVar5]; - iVar4 = iVar5 + 1; - iVar7 = 0x3c1; - if (uVar9 == ((ulonglong)uVar1 & 1)) { - iVar7 = 0; - } - iVar10 = ((int)(uint)uVar1 >> 0xb) - iParm3; - iVar12 = ((int)(uint)uVar1 >> 6 & 0x1fU) - iParm4; - iVar13 = ((int)(uint)uVar1 >> 1 & 0x1fU) - iParm5; - iVar7 = iVar7 + iVar10 * iVar10 + iVar12 * iVar12 + iVar13 * iVar13; - if (iVar7 < 999999) { - iVar8 = iVar5; - iVar6 = iVar7; - } - iVar7 = iVar4 * 2; - iVar5 = iVar4; - if (iVar11 + 1 == iVar4) { - return iVar8; - } - } - puParm1 = (ushort *)((int)puParm1 + iVar7); - do { - uVar1 = *puParm1; - iVar7 = 0x3c1; - if (uVar9 == ((ulonglong)uVar1 & 1)) { - iVar7 = 0; - } - iVar10 = ((int)(uint)uVar1 >> 0xb) - iParm3; - iVar12 = ((int)(uint)uVar1 >> 6 & 0x1fU) - iParm4; - iVar13 = ((int)(uint)uVar1 >> 1 & 0x1fU) - iParm5; - iVar4 = 0x3c1; - iVar7 = iVar7 + iVar10 * iVar10 + iVar12 * iVar12 + iVar13 * iVar13; - if (iVar7 < iVar6) { - uVar1 = puParm1[1]; - iVar8 = iVar5; - } - else { - uVar1 = puParm1[1]; - iVar7 = iVar6; - } - if (uVar9 == ((ulonglong)uVar1 & 1)) { - iVar4 = 0; - } - iVar6 = ((int)(uint)uVar1 >> 0xb) - iParm3; - iVar10 = ((int)(uint)uVar1 >> 6 & 0x1fU) - iParm4; - iVar12 = ((int)(uint)uVar1 >> 1 & 0x1fU) - iParm5; - iVar4 = iVar4 + iVar6 * iVar6 + iVar10 * iVar10 + iVar12 * iVar12; - iVar6 = iVar7; - if (iVar4 < iVar7) { - iVar8 = iVar5 + 1; - iVar6 = iVar4; - } - iVar5 += 2; - puParm1 = puParm1 + 2; - } while (iVar11 + 1 != iVar5); - } - return iVar8; -} - - - -// WARNING: Instruction at (ram,0x7f0c7154) overlaps instruction at (ram,0x7f0c7150) -// - -uint loc_7F0C7DEC(ushort *puParm1,uint uParm2,int iParm3,uint uParm4) - -{ - ushort *puVar1; - int iVar2; - uint uVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - ulonglong uVar9; - - uVar3 = 0; - if (0 < (int)uParm2) { - if ((uParm2 & 3) != 0) { - puVar1 = puParm1; - do { - if ((((longlong)(iParm3 << 8) | (ulonglong)uParm4) & 0xffff) == (ulonglong)*puVar1) { - return uVar3; - } - uVar3 += 1; - puVar1 = puVar1 + 1; - } while ((uParm2 & 3) != uVar3); - if (uVar3 == uParm2) goto LAB_7f0c71c8; - } - uVar9 = ((longlong)(iParm3 << 8) | (ulonglong)uParm4) & 0xffff; - puVar1 = puParm1 + uVar3; - do { - if (uVar9 == (ulonglong)*puVar1) { - return uVar3; - } - if (uVar9 == (ulonglong)puVar1[1]) { - return uVar3 + 1; - } - if (uVar9 == (ulonglong)puVar1[2]) { - return uVar3 + 2; - } - if (uVar9 == (ulonglong)puVar1[3]) { - return uVar3 + 3; - } - uVar3 += 4; - puVar1 = puVar1 + 4; - } while (uVar3 != uParm2); - } -LAB_7f0c71c8: - iVar5 = uParm2 - 1; - iVar4 = iVar5; - if (1 < iVar5) { - iVar6 = iParm3 * iParm3 + uParm4 * uParm4; - iVar4 = iVar5; - iVar2 = 0; - iVar8 = iVar5; - while( true ) { - iVar7 = iVar8 >> 1; - iVar8 = (int)(uint)puParm1[iVar7] >> 8; - uVar3 = (uint)puParm1[iVar7] & 0xff; - iVar8 = iVar8 * iVar8 + uVar3 * uVar3; - if ((iVar6 <= iVar8) && (iVar4 = iVar7, iVar6 < iVar8)) { - iVar4 = iVar7; - iVar7 = iVar2; - } - if (iVar4 - iVar7 < 2) break; - iVar8 = iVar4 + iVar7; - iVar2 = iVar7; - } - } - iVar2 = iVar4 + -4; - if (iVar2 < 0) { - iVar2 = 0; - } - iVar8 = 0; - iVar6 = iVar4 + 4; - if ((int)uParm2 <= iVar4 + 4) { - iVar6 = iVar5; - } - iVar4 = 999999; - if (iVar2 <= iVar6) { - puParm1 = puParm1 + iVar2; - iVar5 = iVar8; - do { - iVar8 = ((int)(uint)*puParm1 >> 8) - iParm3; - iVar7 = ((uint)*puParm1 & 0xff) - uParm4; - iVar7 = iVar8 * iVar8 + iVar7 * iVar7; - iVar8 = iVar2; - if (iVar4 <= iVar7) { - iVar8 = iVar5; - iVar7 = iVar4; - } - iVar4 = iVar7; - iVar2 += 1; - puParm1 = puParm1 + 1; - iVar5 = iVar8; - } while (iVar6 + 1 != iVar2); - } - return iVar8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F0C8724(undefined8 uParm1,int iParm2,int iParm3,int iParm4,int iParm5) - -{ - short sVar1; - bool bVar2; - short *psVar7; - undefined8 uVar3; - undefined8 uVar4; - ulonglong uVar5; - undefined4 uVar8; - undefined8 uVar6; - int iVar9; - int iVar10; - undefined *puVar11; - int iVar12; - undefined uVar13; - undefined uVar14; - int iStack12328; - int iStack12320; - int iStack12308; - int iStack12304; - int iStack12300; - int iStack12296; - undefined auStack12288 [4096]; - undefined auStack8192 [8192]; - - iStack12320 = 0; - bVar2 = false; - FUN_7f0cb430(); - if ((iParm3 == 0) || (iStack12300 = iParm4, iParm4 == 0)) { - iStack12300 = 1; - } - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) = - (byte)(iParm4 << 5) | *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) & 0x1f; - *(byte *)(*(int *)(iParm5 + 0xc) + 0xc) = - (byte)(iParm3 << 5) & 0x20 | *(byte *)(*(int *)(iParm5 + 0xc) + 0xc) & 0xdf; - if (iParm3 != 0) { - bVar2 = true; - if (0 < _DAT_80074470) { - psVar7 = (short *)&DAT_80073b10; - sVar1 = _DAT_80073b10; - bVar2 = true; - while( true ) { - psVar7 = psVar7 + 8; - if ((longlong)(int)(**(uint **)(iParm5 + 0xc) >> 0x14) == (longlong)sVar1) { - bVar2 = false; - } - if (&DAT_80073b10 + _DAT_80074470 * 0x10 <= psVar7) break; - sVar1 = *psVar7; - } - } - } - iStack12296 = 0; - if (0 < iStack12300) { - do { - iStack12328 = FUN_7f0cb44c(4); - uVar3 = FUN_7f0cb44c(8); - uVar4 = FUN_7f0cb44c(8); - uVar5 = FUN_7f0cb44c(4); - uVar13 = (undefined)uVar3; - uVar14 = (undefined)uVar4; - if (iStack12296 == 0) { - *(undefined *)(*(int *)(iParm5 + 0xc) + 8) = uVar13; - *(undefined *)(*(int *)(iParm5 + 0xc) + 9) = uVar14; - iVar9 = iStack12328 * 4; - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) = - (byte)(*(int *)(&DAT_800417c8 + iVar9) << 2) & 0x1c | - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) & 0xe3; - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) = - (byte)*(undefined4 *)(&DAT_800417fc + iVar9) & 3 | - *(byte *)(*(int *)(iParm5 + 0xc) + 0xb) & 0xfc; - *(byte *)(*(int *)(iParm5 + 0xc) + 0xc) = - (byte)((*(int *)(&DAT_80041830 + iVar9) >> 0xe) << 6) | - *(byte *)(*(int *)(iParm5 + 0xc) + 0xc) & 0x3f; - } - else { - if (bVar2) { - iVar9 = _DAT_80074470 * 0x10 + iStack12296; - (&DAT_80073b11)[iVar9] = uVar13; - (&DAT_80073b18)[iVar9] = uVar14; - } - } - iStack12304 = (int)uVar3; - iStack12308 = (int)uVar4; - iVar9 = iStack12304 * iStack12308; - if (0x2000 < iVar9) { - return 0; - } - if (9 < uVar5) { - (&DAT_80073b11)[_DAT_80074470 * 0x10] = uVar13; - (&DAT_80073b18)[_DAT_80074470 * 0x10] = uVar14; - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - switch((int)uVar5) { - default: - iVar9 = loc_7F0C9D7C(iParm2 + iStack12320,uVar3,uVar4,iStack12328); - break; - case 2: - iVar10 = iStack12328 * 4; - loc_7F0C969C(auStack8192,*(int *)(&DAT_800416f8 + iVar10) * iStack12304 * iStack12308, - *(undefined4 *)(&DAT_80041760 + iVar10)); - if (*(int *)(&DAT_8004172c + iVar10) != 0) { - loc_7F0C9A84(auStack8192 + iVar9 * 3,iVar9); - } - iVar9 = loc_7F0CA87C(auStack8192,uVar3,uVar4,iParm2 + iStack12320,iStack12328); - break; - case 3: - iVar10 = iStack12328 * 4; - iVar12 = 0; - if (0 < *(int *)(&DAT_800416f8 + iVar10)) { - puVar11 = auStack8192; - do { - loc_7F0C969C(puVar11,iVar9,*(undefined4 *)(&DAT_80041760 + iVar10)); - iVar12 += 1; - puVar11 = puVar11 + iStack12304 * iStack12308; - } while (iVar12 < *(int *)(&DAT_800416f8 + iVar10)); - } - if (*(int *)(&DAT_8004172c + iVar10) != 0) { - loc_7F0C9A84(auStack8192 + iVar9 * 3,iVar9); - } - iVar9 = loc_7F0CA87C(auStack8192,uVar3,uVar4,iParm2 + iStack12320,iStack12328); - break; - case 4: - loc_7F0C98FC(auStack8192, - *(int *)(&DAT_800416f8 + iStack12328 * 4) * iStack12304 * iStack12308); - if (*(int *)(&DAT_8004172c + iStack12328 * 4) != 0) { - loc_7F0C9A84(auStack8192 + iVar9 * 3,iVar9); - } - iVar9 = loc_7F0CA87C(auStack8192,uVar3,uVar4,iParm2 + iStack12320,iStack12328); - break; - case 5: - uVar8 = loc_7F0C9A00(auStack12288,*(undefined4 *)(iStack12328 * 4 + -0x7ffbe86c)); - iVar9 = loc_7F0CAC2C(uVar3,uVar4,iParm2 + iStack12320,auStack12288,uVar8,iStack12328); - break; - case 6: - uVar8 = loc_7F0C9A00(auStack12288,*(undefined4 *)(iStack12328 * 4 + -0x7ffbe86c)); - loc_7F0C969C(auStack8192,iVar9,uVar8); - iVar9 = loc_7F0CB66C(auStack8192,uVar3,uVar4,iParm2 + iStack12320,auStack12288,uVar8, - iStack12328); - break; - case 7: - uVar8 = loc_7F0C9A00(auStack12288,*(undefined4 *)(iStack12328 * 4 + -0x7ffbe86c)); - loc_7F0C98FC(auStack8192,iVar9); - iVar9 = loc_7F0CB66C(auStack8192,uVar3,uVar4,iParm2 + iStack12320,auStack12288,uVar8, - iStack12328); - break; - case 8: - iVar10 = iStack12328 * 4; - uVar6 = FUN_7f0cb44c(3); - loc_7F0C969C(auStack8192,*(int *)(&DAT_800416f8 + iVar10) * iStack12304 * iStack12308, - *(undefined4 *)(&DAT_80041760 + iVar10)); - loc_7F0CBAE0(auStack8192,uVar3,*(int *)(&DAT_800416f8 + iVar10) * iStack12308,uVar6, - *(undefined4 *)(&DAT_80041760 + iVar10)); - if (*(int *)(&DAT_8004172c + iVar10) != 0) { - loc_7F0C9A84(auStack8192 + iVar9 * 3,iVar9); - } - iVar9 = loc_7F0CA87C(auStack8192,uVar3,uVar4,iParm2 + iStack12320,iStack12328); - break; - case 9: - iVar10 = iStack12328 * 4; - uVar6 = FUN_7f0cb44c(3); - loc_7F0C98FC(auStack8192,*(int *)(&DAT_800416f8 + iVar10) * iStack12304 * iStack12308); - loc_7F0CBAE0(auStack8192,uVar3,*(int *)(&DAT_800416f8 + iVar10) * iStack12308,uVar6, - *(undefined4 *)(&DAT_80041760 + iVar10)); - if (*(int *)(&DAT_8004172c + iVar10) != 0) { - loc_7F0C9A84(auStack8192 + iVar9 * 3,iVar9); - } - iVar9 = loc_7F0CA87C(auStack8192,uVar3,uVar4,iParm2 + iStack12320,iStack12328); - } - if ((iParm3 == 1) && (0 < iParm4)) { - FUN_7f0cab9c(iParm2 + iStack12320,uVar3,uVar4,iStack12328); - } - iStack12320 += iVar9 + 7U & 0xfffffff8; - if (_DAT_80074488 == 0) { - _DAT_80074480 += 1; - } - else { - _DAT_80074488 = 0; - } - iStack12296 += 1; - } while (iStack12296 != iStack12300); - } - if (bVar2) { - *(ushort *)(&DAT_80073b10 + _DAT_80074470 * 0x10) = - (ushort)((uint)**(undefined4 **)(iParm5 + 0xc) >> 0x14); - _DAT_80074470 += 1; - if (0x95 < _DAT_80074470) { - _DAT_80074470 = 0; - } - } - if (iParm3 == 0) { - if (iParm4 < 2) { - if (iParm4 == 1) { - FUN_7f0cab9c(iParm2,iStack12304,iStack12308,iStack12328); - } - } - else { - iStack12296 = 1; - iVar9 = iParm2 + iStack12320; - iVar10 = iParm2; - if (1 < iParm4) { - do { - iParm2 = iVar9; - iVar9 = loc_7F0C91A8(iVar10,iParm2,iStack12304,iStack12308,iStack12328); - FUN_7f0cab9c(iVar10,iStack12304,iStack12308,iStack12328); - iStack12304 = iStack12304 + 1 >> 1; - iStack12308 = iStack12308 + 1 >> 1; - iStack12296 += 1; - iStack12320 += iVar9; - iVar9 = iParm2 + iVar9; - iVar10 = iParm2; - } while (iStack12296 != iParm4); - } - FUN_7f0cab9c(iParm2,iStack12304,iStack12308,iStack12328); - } - } - return iStack12320; -} - - - -int loc_7F0C91A8(uint *puParm1,int iParm2,int iParm3,int iParm4,uint uParm5) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - byte bVar4; - ushort uVar5; - ushort uVar6; - ushort uVar7; - ushort uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - int iVar13; - int iVar14; - int iVar15; - uint *puVar16; - byte *pbVar17; - int iVar18; - uint *puVar19; - uint *puVar20; - uint uVar21; - int iVar22; - int iVar23; - int iVar24; - uint uStack16; - uint uStack12; - - iVar15 = iParm4 + 1 >> 1; - switch(uParm5) { - case 0: - case 2: - uStack16 = (iParm3 + 1 >> 1) + 3U & 0xffc; - uStack12 = iParm3 + 3U & 0xffc; - break; - case 1: - case 3: - case 4: - uStack16 = (iParm3 + 1 >> 1) + 3U & 0xffc; - uStack12 = iParm3 + 3U & 0xffc; - break; - case 5: - case 7: - uStack16 = (iParm3 + 1 >> 1) + 7U & 0xff8; - uStack12 = iParm3 + 7U & 0xff8; - break; - case 6: - case 8: - uStack16 = (iParm3 + 1 >> 1) + 0xfU & 0xff0; - uStack12 = iParm3 + 0xfU & 0xff0; - } - if (uParm5 < 9) { - iVar13 = (int)uStack12 >> 1; - iVar23 = (int)uStack16 >> 1; - switch(uParm5) { - default: - iVar23 = 0; - if (0 < iParm4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (iParm4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar19 = puParm1 + uVar21; - puVar16 = puParm1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < iParm3) { - iVar24 = iVar13 + 1; - } - uVar9 = puParm1[iVar24]; - uVar10 = *puVar16; - uVar11 = *puVar19; - uVar12 = (puParm1 + uVar21)[iVar24]; - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 2; - puVar19 = puVar19 + 2; - *(uint *)(iParm2 + iVar24 * 4) = - ((uVar10 >> 0x18) + (uVar9 >> 0x18) + (uVar11 >> 0x18) + (uVar12 >> 0x18) >> 2) - << 0x18 | ((uVar10 >> 0x10 & 0xff) + (uVar9 >> 0x10 & 0xff) + - (uVar11 >> 0x10 & 0xff) + (uVar12 >> 0x10 & 0xff) >> 2 & 0xff) << 0x10 - | ((uVar10 >> 8 & 0xff) + (uVar9 >> 8 & 0xff) + (uVar11 >> 8 & 0xff) + - (uVar12 >> 8 & 0xff) >> 2 & 0xff) << 8 | - (uVar10 & 0xff) + (uVar9 & 0xff) + (uVar11 & 0xff) + (uVar12 & 0xff) + 1 >> 2 & - 0xff; - } while (iVar13 < (int)uStack12); - } - iParm2 += uStack16 * 4; - puParm1 = puParm1 + uStack12 * 2; - } while (iVar23 < iParm4); - } - iVar23 = iVar15 * uStack16 * 4; - break; - case 1: - case 3: - iVar23 = 0; - if (0 < iParm4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (iParm4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar20 = (uint *)((int)puParm1 + uVar21 * 2); - puVar19 = puVar20; - puVar16 = puParm1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < iParm3) { - iVar24 = iVar13 + 1; - } - uVar5 = *(ushort *)((int)puParm1 + iVar24 * 2); - uVar6 = *(ushort *)puVar16; - uVar7 = *(ushort *)puVar19; - uVar8 = *(ushort *)((int)puVar20 + iVar24 * 2); - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 1; - puVar19 = puVar19 + 1; - *(ushort *)(iParm2 + iVar24 * 2) = - (ushort)((((int)(uint)uVar6 >> 0xb) + ((int)(uint)uVar5 >> 0xb) + - ((int)(uint)uVar7 >> 0xb) + ((int)(uint)uVar8 >> 0xb) >> 2) << 0xb) | - (ushort)(((int)(((int)(uint)uVar6 >> 6 & 0x1fU) + ((int)(uint)uVar5 >> 6 & 0x1fU) - + ((int)(uint)uVar7 >> 6 & 0x1fU) + - ((int)(uint)uVar8 >> 6 & 0x1fU)) >> 2 & 0x1fU) << 6) | - (ushort)(((int)(((int)(uint)uVar6 >> 1 & 0x1fU) + ((int)(uint)uVar5 >> 1 & 0x1fU) - + ((int)(uint)uVar7 >> 1 & 0x1fU) + - ((int)(uint)uVar8 >> 1 & 0x1fU)) >> 2 & 0x1fU) << 1) | - (ushort)((int)(((uint)uVar6 & 1) + ((uint)uVar5 & 1) + ((uint)uVar7 & 1) + - ((uint)uVar8 & 1) + 2) >> 2) & 1; - } while (iVar13 < (int)uStack12); - } - iParm2 += uStack16 * 2; - puParm1 = puParm1 + uStack12; - } while (iVar23 < iParm4); - } - iVar23 = iVar15 * uStack16 * 2; - break; - case 4: - iVar23 = 0; - if (0 < iParm4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (iParm4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar20 = (uint *)((int)puParm1 + uVar21 * 2); - puVar19 = puVar20; - puVar16 = puParm1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < iParm3) { - iVar24 = iVar13 + 1; - } - uVar5 = *(ushort *)((int)puParm1 + iVar24 * 2); - uVar6 = *(ushort *)puVar16; - uVar7 = *(ushort *)puVar19; - uVar8 = *(ushort *)((int)puVar20 + iVar24 * 2); - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 1; - puVar19 = puVar19 + 1; - *(ushort *)(iParm2 + iVar24 * 2) = - (ushort)((((int)(uint)uVar6 >> 8) + ((int)(uint)uVar5 >> 8) + - ((int)(uint)uVar7 >> 8) + ((int)(uint)uVar8 >> 8) >> 2) << 8) | - (ushort)((int)(((uint)uVar6 & 0xff) + ((uint)uVar5 & 0xff) + ((uint)uVar7 & 0xff) - + ((uint)uVar8 & 0xff) + 1) >> 2) & 0xff; - } while (iVar13 < (int)uStack12); - } - iParm2 += uStack16 * 2; - puParm1 = puParm1 + uStack12; - } while (iVar23 < iParm4); - } - iVar23 = iVar15 * uStack16 * 2; - break; - case 5: - iVar23 = 0; - if (0 < iParm4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (iParm4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - pbVar17 = (byte *)(uVar21 + (int)puParm1); - puVar19 = puParm1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < iParm3) { - iVar24 = iVar13 + 1; - } - bVar1 = *(byte *)puVar19; - bVar2 = *pbVar17; - bVar3 = *(byte *)(uVar21 + iVar24 + (int)puParm1); - iVar14 = iVar13 >> 1; - iVar13 += 2; - puVar19 = (uint *)((int)puVar19 + 2); - pbVar17 = pbVar17 + 2; - *(byte *)(iParm2 + iVar14) = - ((char)((int)(uint)bVar1 >> 4) + - (char)((int)(uint)*(byte *)((int)puParm1 + iVar24) >> 4) + - (char)((int)(uint)bVar2 >> 4) + (char)((int)(uint)bVar3 >> 4)) * '\x04' & 0xf0U - | (byte)((int)(((uint)bVar1 & 0xf) + - ((uint)*(byte *)((int)puParm1 + iVar24) & 0xf) + - ((uint)bVar2 & 0xf) + ((uint)bVar3 & 0xf) + 1) >> 2) & 0xf; - } while (iVar13 < (int)uStack12); - } - puParm1 = (uint *)((int)puParm1 + uStack12 * 2); - iParm2 += uStack16; - } while (iVar23 < iParm4); - } - iVar23 = iVar15 * uStack16; - break; - case 6: - iVar24 = 0; - if (0 < iParm4) { - do { - iVar14 = 0; - if (0 < (int)uStack12) { - do { - iVar18 = iVar14 >> 1; - bVar1 = *(byte *)(iVar18 + (int)puParm1); - iVar22 = iVar13; - if (iParm4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar2 = *(byte *)(iVar22 + iVar18 + (int)puParm1); - bVar3 = ((byte *)(iVar18 + (int)puParm1))[1]; - iVar22 = iVar13; - if (iParm4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar4 = *(byte *)((int)puParm1 + iVar22 + iVar18 + 1); - iVar22 = iVar14 >> 2; - iVar14 += 4; - *(byte *)(iParm2 + iVar22) = - ((char)((int)(uint)bVar1 >> 5) + ((byte)((int)(uint)bVar1 >> 1) & 7) + - (char)((int)(uint)bVar2 >> 5) + ((byte)((int)(uint)bVar2 >> 1) & 7)) * '\b' & - 0xe0 | (byte)((int)(((int)(uint)bVar3 >> 5) + ((int)(uint)bVar3 >> 1 & 7U) + - ((int)(uint)bVar4 >> 5) + ((int)(uint)bVar4 >> 1 & 7U)) >> 1) - & 0xe | - (((byte)((int)(uint)bVar1 >> 4) & 1) + (bVar1 & 1) + - ((byte)((int)(uint)bVar2 >> 4) & 1) + (bVar2 & 1) + '\x01') * '\x04' & 0x10 | - (byte)((int)(((int)(uint)bVar3 >> 4 & 1U) + ((uint)bVar3 & 1) + - ((int)(uint)bVar4 >> 4 & 1U) + ((uint)bVar4 & 1) + 1) >> 2) & 1; - } while (iVar14 < (int)uStack12); - } - iVar24 += 2; - iParm2 += iVar23; - puParm1 = (uint *)((int)puParm1 + uStack12); - } while (iVar24 < iParm4); - } - iVar23 *= iVar15; - break; - case 7: - iVar23 = 0; - if (0 < iParm4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (iParm4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - pbVar17 = (byte *)(uVar21 + (int)puParm1); - puVar19 = puParm1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < iParm3) { - iVar24 = iVar13 + 1; - } - bVar1 = *(byte *)puVar19; - bVar2 = *pbVar17; - iVar14 = iVar13 >> 1; - iVar13 += 2; - puVar19 = (uint *)((int)puVar19 + 2); - pbVar17 = pbVar17 + 2; - *(undefined *)(iParm2 + iVar14) = - (char)((int)((uint)bVar1 + (uint)*(byte *)((int)puParm1 + iVar24) + (uint)bVar2 + - (uint)*(byte *)(uVar21 + iVar24 + (int)puParm1) + 1) >> 2); - } while (iVar13 < (int)uStack12); - } - puParm1 = (uint *)((int)puParm1 + uStack12 * 2); - iParm2 += uStack16; - } while (iVar23 < iParm4); - } - iVar23 = iVar15 * uStack16; - break; - case 8: - iVar24 = 0; - if (0 < iParm4) { - do { - iVar14 = 0; - if (0 < (int)uStack12) { - do { - iVar18 = iVar14 >> 1; - bVar1 = *(byte *)(iVar18 + (int)puParm1); - iVar22 = iVar13; - if (iParm4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar2 = *(byte *)(iVar22 + iVar18 + (int)puParm1); - bVar3 = ((byte *)(iVar18 + (int)puParm1))[1]; - iVar22 = iVar13; - if (iParm4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar4 = *(byte *)((int)puParm1 + iVar22 + iVar18 + 1); - iVar22 = iVar14 >> 2; - iVar14 += 4; - *(byte *)(iParm2 + iVar22) = - ((char)((int)(uint)bVar1 >> 4) + (bVar1 & 0xf) + (char)((int)(uint)bVar2 >> 4) + - (bVar2 & 0xf)) * '\x04' & 0xf0 | - (byte)((int)(((int)(uint)bVar3 >> 4) + ((uint)bVar3 & 0xf) + - ((int)(uint)bVar4 >> 4) + ((uint)bVar4 & 0xf)) >> 2) & 0xf; - } while (iVar14 < (int)uStack12); - } - iVar24 += 2; - iParm2 += iVar23; - puParm1 = (uint *)((int)puParm1 + uStack12); - } while (iVar24 < iParm4); - } - iVar23 *= iVar15; - } - } - else { - iVar23 = 0; - } - return iVar23; -} - - - -void loc_7F0C969C(int iParm1,int iParm2,ulonglong uParm3) - -{ - bool bVar1; - bool bVar2; - ushort uVar5; - ushort *puVar3; - int iVar4; - ushort *puVar6; - ushort *puVar7; - ulonglong uVar8; - ushort uVar10; - ulonglong uVar9; - ushort uVar11; - ulonglong uVar12; - ushort uVar14; - ulonglong uVar13; - ushort uVar15; - int iVar16; - ushort *puVar17; - int iVar18; - ulonglong uVar19; - ulonglong uVar20; - ushort uVar21; - int iStack12312; - int iStack12308; - ushort uStack12288; - short sStack12286; - ushort auStack4096 [2048]; - - bVar2 = false; - uVar19 = 0; - if (0 < (longlong)uParm3) { - puVar17 = auStack4096; - do { - uVar5 = FUN_7f0cb44c(8); - uVar19 = SEXT48((int)uVar19 + 1); - *puVar17 = uVar5; - puVar17 = puVar17 + 1; - } while (uVar19 != uParm3); - } - puVar17 = &uStack12288; - do { - puVar3 = puVar17 + 2; - *puVar17 = 0xffff; - puVar17[1] = 0xffff; - puVar17 = puVar3; - } while (puVar3 < auStack4096); - uVar11 = 9999; - uVar5 = 9999; - uVar19 = 0; - if (0 < (longlong)uParm3) { - if ((uParm3 & 1) != 0) { - if ((auStack4096[0] < 9999) || (auStack4096[0] < 9999)) { - iStack12312 = 0; - uVar5 = auStack4096[0]; - } - uVar19 = 1; - if (uParm3 == 1) goto LAB_7f0c8898; - } - puVar17 = auStack4096 + (int)uVar19; - uVar8 = SEXT48(iStack12312); - uVar12 = SEXT48(iStack12308); - do { - uVar15 = *puVar17; - if (uVar15 < uVar11) { - uVar20 = uVar8; - uVar9 = uVar19; - uVar21 = uVar5; - if (uVar11 <= uVar5) { - uVar20 = uVar19; - uVar9 = uVar12; - uVar21 = uVar15; - uVar15 = uVar11; - } -LAB_7f0c8838: - uVar5 = uVar21; - uVar21 = puVar17[1]; - uVar8 = uVar20; - uVar12 = uVar9; - uVar11 = uVar15; - } - else { - bVar1 = uVar15 < uVar5; - uVar20 = uVar19; - uVar9 = uVar12; - uVar21 = uVar15; - uVar15 = uVar11; - if (bVar1) goto LAB_7f0c8838; - uVar21 = puVar17[1]; - } - iVar16 = (int)uVar19; - if (uVar21 < uVar11) { - if (uVar5 < uVar11) { - uVar12 = SEXT48(iVar16 + 1); - uVar11 = uVar21; - } - else { - uVar8 = SEXT48(iVar16 + 1); - uVar5 = uVar21; - } - } - else { - if (uVar21 < uVar5) { - uVar8 = SEXT48(iVar16 + 1); - uVar5 = uVar21; - } - } - iStack12308 = (int)uVar12; - iStack12312 = (int)uVar8; - uVar19 = SEXT48(iVar16 + 2); - puVar17 = puVar17 + 2; - } while (uVar19 != uParm3); - } -LAB_7f0c8898: - uVar19 = SEXT48(iStack12312); - uVar8 = SEXT48(iStack12308); - do { - uVar12 = 0; - iVar4 = (int)uVar8; - puVar17 = auStack4096 + iVar4; - puVar7 = auStack4096 + iStack12312; - iVar16 = (int)uVar19; - uVar15 = (ushort)((uint)*puVar7 + (uint)*puVar17); - puVar6 = &uStack12288 + iVar16 * 2; - puVar3 = &uStack12288 + iVar4 * 2; - uVar11 = 9999; - uVar5 = 9999; - if ((uint)*puVar7 + (uint)*puVar17 == 0) { - uVar15 = 1; - } - uVar21 = *puVar3; - *puVar17 = 9999; - *puVar7 = 9999; - uVar10 = (ushort)uVar19; - uVar14 = (ushort)uVar8; - if ((short)uVar21 < 0) { - if (-1 < (short)(&uStack12288)[iVar4 * 2 + 1]) { - uVar21 = *puVar6; - goto LAB_7f0c894c; - } - *puVar3 = uVar14 + 10000; - uVar21 = *puVar6; - *puVar17 = uVar15; - if (((short)uVar21 < 0) && ((short)(&uStack12288)[iVar16 * 2 + 1] < 0)) { - (&uStack12288)[iVar4 * 2 + 1] = uVar10 + 10000; - uVar20 = uVar8; - } - else { - (&uStack12288)[iVar4 * 2 + 1] = uVar10; - uVar20 = uVar8; - } - } - else { - uVar21 = *puVar6; -LAB_7f0c894c: - if (((short)uVar21 < 0) && ((short)(&uStack12288)[iVar16 * 2 + 1] < 0)) { - *puVar6 = uVar10 + 10000; - uVar21 = *puVar3; - *puVar7 = uVar15; - if (((short)uVar21 < 0) && ((short)(&uStack12288)[iVar4 * 2 + 1] < 0)) { - (&uStack12288)[iVar16 * 2 + 1] = uVar14 + 10000; - uVar20 = uVar19; - } - else { - (&uStack12288)[iVar16 * 2 + 1] = uVar14; - uVar20 = uVar19; - } - } - else { - uVar20 = 0; - if (((short)uStack12288 < 0) && ((sStack12286 < 0 && (0x270e < auStack4096[0])))) { - iVar16 = 0; - puVar17 = &uStack12288; - } - else { - uVar20 = 1; - while( true ) { - while( true ) { - while( true ) { - iVar16 = (int)uVar20; - puVar17 = &uStack12288 + iVar16 * 2; - if ((short)*puVar17 < 0) break; - uVar20 = SEXT48(iVar16 + 1); - } - if ((short)(&uStack12288)[iVar16 * 2 + 1] < 0) break; - uVar20 = SEXT48(iVar16 + 1); - } - if (0x270e < auStack4096[iVar16]) break; - uVar20 = SEXT48(iVar16 + 1); - } - iVar16 <<= 1; - } - *(ushort *)((int)auStack4096 + iVar16) = uVar15; - *puVar17 = uVar14; - puVar17[1] = uVar10; - } - } - if (0 < (longlong)uParm3) { - if ((uParm3 & 1) == 0) { - iVar16 = 0; - } - else { - uVar12 = 1; - if (auStack4096[0] < 9999) { - uVar19 = 0; - uVar5 = auStack4096[0]; - } - else { - if (auStack4096[0] < 9999) { - uVar19 = 0; - uVar5 = auStack4096[0]; - } - } - iVar16 = 2; - if (uParm3 == 1) goto LAB_7f0c8b1c; - } - puVar17 = (ushort *)((int)auStack4096 + iVar16); - do { - uVar15 = *puVar17; - if (uVar15 < uVar11) { - uVar9 = uVar19; - uVar13 = uVar12; - uVar21 = uVar5; - if (uVar11 <= uVar5) { - uVar9 = uVar12; - uVar13 = uVar8; - uVar21 = uVar15; - uVar15 = uVar11; - } -LAB_7f0c8ac4: - uVar10 = puVar17[1]; - uVar19 = uVar9; - uVar8 = uVar13; - uVar11 = uVar15; - uVar5 = uVar21; - } - else { - bVar1 = uVar15 < uVar5; - uVar9 = uVar12; - uVar13 = uVar8; - uVar21 = uVar15; - uVar15 = uVar11; - if (bVar1) goto LAB_7f0c8ac4; - uVar10 = puVar17[1]; - } - iVar16 = (int)uVar12; - if (uVar10 < uVar11) { - if (uVar5 < uVar11) { - uVar8 = SEXT48(iVar16 + 1); - uVar11 = uVar10; - } - else { - uVar19 = SEXT48(iVar16 + 1); - uVar5 = uVar10; - } - } - else { - if (uVar10 < uVar5) { - uVar19 = SEXT48(iVar16 + 1); - uVar5 = uVar10; - } - } - uVar12 = SEXT48(iVar16 + 2); - puVar17 = puVar17 + 2; - } while (uVar12 != uParm3); - } -LAB_7f0c8b1c: - iVar16 = 0; - if (uVar11 == 9999) { - bVar2 = true; - } - else { - if (uVar5 == 9999) { - bVar2 = true; - } - } - if (bVar2) { - uVar19 = uVar20; - uVar5 = (ushort)uVar20; - if (0 < iParm2) { - do { - while ((longlong)uVar19 < 10000) { - iVar4 = FUN_7f0cb44c(1); - iVar18 = (int)uVar19; - uVar19 = (longlong)(short)(&uStack12288)[iVar18 * 2 + iVar4]; - uVar5 = (&uStack12288)[iVar18 * 2 + iVar4]; - } - if ((longlong)uParm3 < 0x101) { - *(char *)(iParm1 + iVar16) = (char)uVar5 + -0x10; - } - else { - *(short *)(iParm1 + iVar16 * 2) = uVar5 + 0xd8f0; - } - iVar16 += 1; - uVar19 = uVar20; - uVar5 = (ushort)uVar20; - } while (iVar16 != iParm2); - } - return; - } - iStack12312 = (int)uVar19; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f0c8d18) overlaps instruction at (ram,0x7f0c8d14) -// - -void loc_7F0C98FC(int iParm1,int iParm2) - -{ - int iVar3; - int iVar4; - longlong lVar1; - longlong lVar2; - undefined uVar12; - undefined2 uVar11; - int iVar5; - undefined *puVar6; - undefined *puVar7; - undefined2 *puVar8; - undefined2 *puVar9; - undefined2 *puVar10; - int iVar13; - int iVar14; - int iVar15; - uint uVar16; - undefined *puVar17; - undefined2 *puVar18; - int iVar19; - int iVar20; - - iVar3 = FUN_7f0cb44c(3); - iVar4 = FUN_7f0cb44c(3); - lVar1 = FUN_7f0cb44c(4); - iVar20 = 0; - iVar13 = iVar3 + iVar4 + (int)lVar1 + 1; - while (0 < iVar13) { - iVar13 = (iVar13 - (int)lVar1) + -1; - iVar20 += 1; - } - iVar13 = 0; - if (0 < iParm2) { - do { - lVar2 = FUN_7f0cb44c(1); - if (lVar2 == 0) { - if (lVar1 < 9) { - uVar12 = FUN_7f0cb44c(lVar1); - *(undefined *)(iParm1 + iVar13) = uVar12; - iVar13 += 1; - } - else { - uVar11 = FUN_7f0cb44c(lVar1); - *(undefined2 *)(iParm1 + iVar13 * 2) = uVar11; - iVar13 += 1; - } - } - else { - iVar5 = FUN_7f0cb44c(iVar3); - iVar19 = (iVar13 - iVar5) + -1; - iVar5 = FUN_7f0cb44c(iVar4); - iVar5 += iVar20; - if (lVar1 < 9) { - iVar15 = iVar19 + iVar5; - puVar17 = (undefined *)(iParm1 + iVar13); - if (iVar19 < iVar15) { - uVar16 = iVar15 - iVar19 & 3; - iVar14 = iVar19; - if (uVar16 != 0) { - puVar6 = (undefined *)(iParm1 + iVar19); - puVar7 = puVar17; - iVar14 = iVar19; - do { - uVar12 = *puVar6; - iVar14 += 1; - iVar13 += 1; - puVar17 = puVar7 + 1; - puVar6 = puVar6 + 1; - *puVar7 = uVar12; - puVar7 = puVar17; - } while (uVar16 + iVar19 != iVar14); - if (iVar14 == iVar15) goto LAB_7f0c8d54; - } - puVar7 = (undefined *)(iParm1 + iVar14); - puVar6 = puVar17; - do { - iVar14 += 4; - iVar13 += 4; - *puVar6 = *puVar7; - puVar17 = puVar6 + 4; - puVar6[1] = puVar7[1]; - puVar6[2] = puVar7[2]; - puVar6[3] = puVar7[3]; - puVar7 = puVar7 + 4; - puVar6 = puVar17; - } while (iVar14 != iVar19 + iVar5); - } -LAB_7f0c8d54: - uVar12 = FUN_7f0cb44c(lVar1); - *puVar17 = uVar12; - iVar13 += 1; - } - else { - iVar15 = iVar19 + iVar5; - puVar18 = (undefined2 *)(iParm1 + iVar13 * 2); - if (iVar19 < iVar15) { - uVar16 = iVar15 - iVar19 & 3; - iVar14 = iVar19; - if (uVar16 != 0) { - puVar8 = (undefined2 *)(iParm1 + iVar19 * 2); - puVar9 = puVar18; - iVar14 = iVar19; - do { - uVar11 = *puVar8; - iVar14 += 1; - iVar13 += 1; - puVar18 = puVar9 + 1; - puVar8 = puVar8 + 1; - *puVar9 = uVar11; - puVar9 = puVar18; - } while (uVar16 + iVar19 != iVar14); - if (iVar14 == iVar15) goto LAB_7f0c8dfc; - } - puVar9 = (undefined2 *)(iParm1 + iVar14 * 2); - puVar8 = puVar18; - do { - puVar10 = puVar9 + 4; - iVar13 += 4; - *puVar8 = *puVar9; - puVar18 = puVar8 + 4; - puVar8[1] = puVar9[1]; - puVar8[2] = puVar9[2]; - puVar8[3] = puVar9[3]; - puVar9 = puVar10; - puVar8 = puVar18; - } while (puVar10 != (undefined2 *)((iVar19 + iVar5) * 2 + iParm1)); - } -LAB_7f0c8dfc: - uVar11 = FUN_7f0cb44c(lVar1); - *puVar18 = uVar11; - iVar13 += 1; - } - } - } while (iVar13 < iParm2); - } - return; -} - - - -int loc_7F0C9A00(uint *puParm1,longlong lParm2) - -{ - int iVar1; - undefined2 uVar4; - uint uVar2; - int iVar3; - int iVar5; - - iVar1 = FUN_7f0cb44c(0xb); - if (lParm2 < 0x11) { - iVar5 = 0; - if (0 < iVar1) { - do { - uVar4 = FUN_7f0cb44c(lParm2); - iVar5 += 1; - *(undefined2 *)puParm1 = uVar4; - puParm1 = (uint *)((int)puParm1 + 2); - } while (iVar5 != iVar1); - } - } - else { - if (lParm2 < 0x19) { - iVar5 = 0; - if (0 < iVar1) { - do { - uVar2 = FUN_7f0cb44c(lParm2); - iVar5 += 1; - *puParm1 = uVar2; - puParm1 = puParm1 + 1; - } while (iVar5 != iVar1); - } - } - else { - iVar5 = 0; - if (0 < iVar1) { - do { - iVar3 = FUN_7f0cb44c(0x18); - uVar2 = FUN_7f0cb44c((int)lParm2 + -0x18); - iVar5 += 1; - *puParm1 = uVar2 | iVar3 << 8; - puParm1 = puParm1 + 1; - } while (iVar5 != iVar1); - } - } - } - return iVar1; -} - - - -int locret_7F0C9A40(int iParm1) - -{ - int iVar1; - - iParm1 += -1; - iVar1 = 0; - while (0 < iParm1) { - iParm1 >>= 1; - iVar1 += 1; - } - return iVar1; -} - - - -void loc_7F0C9A84(undefined *puParm1,int iParm2) - -{ - undefined uVar1; - int iVar2; - - iVar2 = 0; - if (0 < iParm2) { - do { - uVar1 = FUN_7f0cb44c(1); - iVar2 += 1; - *puParm1 = uVar1; - puParm1 = puParm1 + 1; - } while (iVar2 != iParm2); - } - return; -} - - - -undefined8 loc_7F0C9D7C(void) - -{ - undefined8 uVar1; - ulonglong in_a3; - - if (in_a3 < 9) { - // WARNING: Could not recover jumptable at 0x7f0c9024. Too many branches - // WARNING: Treating indirect jump as call - uVar1 = (*(code *)(&PTR_LAB_80050960)[(int)in_a3])(); - return uVar1; - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f0c9bfc) overlaps instruction at (ram,0x7f0c9bf8) -// - -int loc_7F0CA87C(int iParm1,uint uParm2,int iParm3,uint *puParm4,undefined4 uParm5) - -{ - undefined *puVar1; - byte bVar2; - undefined uVar3; - char cVar4; - undefined *puVar5; - char *pcVar6; - byte *pbVar7; - char *pcVar8; - uint uVar9; - int iVar10; - int iVar11; - int iVar12; - uint *puVar13; - ushort *puVar14; - undefined2 *puVar15; - undefined *puVar16; - byte *pbVar17; - byte *pbVar18; - byte *pbVar19; - int iVar20; - - iVar12 = 0; - switch(uParm5) { - case 0: - iVar11 = 0; - if (0 < iParm3) { - do { - uVar9 = 0; - if (0 < (int)uParm2) { - iVar10 = uParm2 * iParm3; - pbVar17 = (byte *)(iParm1 + iVar12); - pbVar19 = (byte *)(iParm1 + iVar12 + iVar10 * 2); - pbVar7 = (byte *)(iVar10 * 3 + iVar12 + iParm1); - pbVar18 = (byte *)(iParm1 + iVar12 + iVar10); - puVar13 = puParm4; - if ((uParm2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - bVar2 = *pbVar17; - uVar9 += 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - *puVar13 = (uint)*pbVar7 | (uint)bVar2 << 0x18 | (uint)*pbVar18 << 0x10 | - (uint)*pbVar19 << 8; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - pbVar19 = pbVar19 + 1; - puVar13 = puVar13 + 1; - } while ((uParm2 & 3) != uVar9); - iVar10 = uVar9 * 4; - if (uVar9 == uParm2) goto LAB_7f0c94a0; - } - puVar13 = (uint *)((int)puParm4 + iVar10); - do { - uVar9 += 4; - iVar12 += 4; - *puVar13 = (uint)*pbVar7 | (uint)*pbVar17 << 0x18 | (uint)*pbVar18 << 0x10 | - (uint)*pbVar19 << 8; - puVar13[1] = (uint)pbVar7[1] | (uint)pbVar17[1] << 0x18 | (uint)pbVar18[1] << 0x10 | - (uint)pbVar19[1] << 8; - puVar13[2] = (uint)pbVar7[2] | (uint)pbVar17[2] << 0x18 | (uint)pbVar18[2] << 0x10 | - (uint)pbVar19[2] << 8; - puVar13[3] = (uint)pbVar7[3] | (uint)pbVar17[3] << 0x18 | (uint)pbVar18[3] << 0x10 | - (uint)pbVar19[3] << 8; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - pbVar18 = pbVar18 + 4; - pbVar19 = pbVar19 + 4; - puVar13 = puVar13 + 4; - } while (uVar9 != uParm2); - } -LAB_7f0c94a0: - iVar11 += 1; - puParm4 = puParm4 + (uParm2 + 3 & 0xffc); - } while (iVar11 != iParm3); - } - iParm3 = (uParm2 + 3 & 0xffc) * iParm3 * 4; - break; - case 1: - iVar11 = 0; - if (0 < iParm3) { - do { - uVar9 = 0; - if (0 < (int)uParm2) { - iVar10 = uParm2 * iParm3; - pbVar17 = (byte *)(iParm1 + iVar12); - pbVar19 = (byte *)(iParm1 + iVar12 + iVar10 * 2); - pbVar7 = (byte *)(iVar10 * 3 + iVar12 + iParm1); - pbVar18 = (byte *)(iParm1 + iVar12 + iVar10); - puVar13 = puParm4; - if ((uParm2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - bVar2 = *pbVar17; - uVar9 += 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - *(ushort *)puVar13 = - (ushort)*pbVar7 | (ushort)bVar2 << 0xb | (ushort)*pbVar18 << 6 | - (ushort)*pbVar19 << 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - pbVar19 = pbVar19 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((uParm2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == uParm2) goto LAB_7f0c97e0; - } - puVar14 = (ushort *)((int)puParm4 + iVar10); - do { - uVar9 += 4; - iVar12 += 4; - *puVar14 = (ushort)*pbVar7 | (ushort)*pbVar17 << 0xb | (ushort)*pbVar18 << 6 | - (ushort)*pbVar19 << 1; - puVar14[1] = (ushort)pbVar7[1] | (ushort)pbVar17[1] << 0xb | (ushort)pbVar18[1] << 6 | - (ushort)pbVar19[1] << 1; - puVar14[2] = (ushort)pbVar7[2] | (ushort)pbVar17[2] << 0xb | (ushort)pbVar18[2] << 6 | - (ushort)pbVar19[2] << 1; - puVar14[3] = (ushort)pbVar7[3] | (ushort)pbVar17[3] << 0xb | (ushort)pbVar18[3] << 6 | - (ushort)pbVar19[3] << 1; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - pbVar18 = pbVar18 + 4; - pbVar19 = pbVar19 + 4; - puVar14 = puVar14 + 4; - } while (uVar9 != uParm2); - } -LAB_7f0c97e0: - iVar11 += 1; - puParm4 = (uint *)((int)puParm4 + (uParm2 + 3 & 0xffc) * 2); - } while (iVar11 != iParm3); - } - iParm3 = (uParm2 + 3 & 0xffc) * iParm3 * 2; - break; - case 2: - iVar11 = 0; - if (0 < iParm3) { - do { - uVar9 = 0; - if (0 < (int)uParm2) { - pbVar17 = (byte *)(iParm1 + iVar12); - pbVar18 = (byte *)(uParm2 * iParm3 * 2 + iVar12 + iParm1); - pbVar7 = (byte *)(iParm1 + iVar12 + uParm2 * iParm3); - puVar13 = puParm4; - if ((uParm2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *puVar13 = (uint)*pbVar18 << 8 | (uint)*pbVar17 << 0x18 | (uint)*pbVar7 << 0x10 | 0xff - ; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - puVar13 = puVar13 + 1; - } while ((uParm2 & 3) != uVar9); - iVar10 = uVar9 * 4; - if (uVar9 == uParm2) goto LAB_7f0c962c; - } - puVar13 = (uint *)((int)puParm4 + iVar10); - do { - uVar9 += 4; - *puVar13 = (uint)*pbVar18 << 8 | (uint)*pbVar17 << 0x18 | (uint)*pbVar7 << 0x10 | 0xff; - iVar12 += 4; - puVar13[1] = (uint)pbVar18[1] << 8 | (uint)pbVar17[1] << 0x18 | (uint)pbVar7[1] << 0x10 - | 0xff; - puVar13[2] = (uint)pbVar18[2] << 8 | (uint)pbVar17[2] << 0x18 | (uint)pbVar7[2] << 0x10 - | 0xff; - puVar13[3] = (uint)pbVar18[3] << 8 | (uint)pbVar17[3] << 0x18 | (uint)pbVar7[3] << 0x10 - | 0xff; - pbVar18 = pbVar18 + 4; - puVar13 = puVar13 + 4; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - } while (uVar9 != uParm2); - } -LAB_7f0c962c: - iVar11 += 1; - puParm4 = puParm4 + (uParm2 + 3 & 0xffc); - } while (iVar11 != iParm3); - } - iParm3 = (uParm2 + 3 & 0xffc) * iParm3 * 4; - break; - case 3: - iVar11 = 0; - if (0 < iParm3) { - do { - uVar9 = 0; - if (0 < (int)uParm2) { - pbVar17 = (byte *)(iParm1 + iVar12); - pbVar18 = (byte *)(uParm2 * iParm3 * 2 + iVar12 + iParm1); - pbVar7 = (byte *)(iParm1 + iVar12 + uParm2 * iParm3); - puVar13 = puParm4; - if ((uParm2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *(ushort *)puVar13 = - (ushort)*pbVar18 << 1 | (ushort)*pbVar17 << 0xb | (ushort)*pbVar7 << 6 | 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((uParm2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == uParm2) goto LAB_7f0c9a80; - } - puVar14 = (ushort *)((int)puParm4 + iVar10); - do { - uVar9 += 4; - *puVar14 = (ushort)*pbVar18 << 1 | (ushort)*pbVar17 << 0xb | (ushort)*pbVar7 << 6 | 1; - iVar12 += 4; - puVar14[1] = (ushort)pbVar18[1] << 1 | (ushort)pbVar17[1] << 0xb | - (ushort)pbVar7[1] << 6 | 1; - puVar14[2] = (ushort)pbVar18[2] << 1 | (ushort)pbVar17[2] << 0xb | - (ushort)pbVar7[2] << 6 | 1; - puVar14[3] = (ushort)pbVar18[3] << 1 | (ushort)pbVar17[3] << 0xb | - (ushort)pbVar7[3] << 6 | 1; - pbVar18 = pbVar18 + 4; - puVar14 = puVar14 + 4; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - } while (uVar9 != uParm2); - } -LAB_7f0c9a80: - iVar11 += 1; - puParm4 = (uint *)((int)puParm4 + (uParm2 + 3 & 0xffc) * 2); - } while (iVar11 != iParm3); - } - iParm3 = (uParm2 + 3 & 0xffc) * iParm3 * 2; - break; - case 4: - iVar11 = 0; - if (0 < iParm3) { - do { - uVar9 = 0; - if (0 < (int)uParm2) { - puVar5 = (undefined *)(iParm1 + iVar12); - puVar16 = (undefined *)(iVar12 + uParm2 * iParm3 + iParm1); - puVar13 = puParm4; - if ((uParm2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *(ushort *)puVar13 = CONCAT11(*puVar5,*puVar16); - iVar12 += 1; - puVar5 = puVar5 + 1; - puVar16 = puVar16 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((uParm2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == uParm2) goto LAB_7f0c98f4; - } - puVar15 = (undefined2 *)((int)puParm4 + iVar10); - do { - uVar9 += 4; - *puVar15 = CONCAT11(*puVar5,*puVar16); - iVar12 += 4; - puVar15[1] = CONCAT11(puVar5[1],puVar16[1]); - puVar15[2] = CONCAT11(puVar5[2],puVar16[2]); - puVar1 = puVar16 + 3; - puVar16 = puVar16 + 4; - puVar15[3] = CONCAT11(puVar5[3],*puVar1); - puVar15 = puVar15 + 4; - puVar5 = puVar5 + 4; - } while (uVar9 != uParm2); - } -LAB_7f0c98f4: - iVar11 += 1; - puParm4 = (uint *)((int)puParm4 + (uParm2 + 3 & 0xffc) * 2); - } while (iVar11 != iParm3); - } - iParm3 = (uParm2 + 3 & 0xffc) * iParm3 * 2; - break; - case 5: - iVar11 = 0; - if (0 < iParm3) { - do { - uVar9 = 0; - if (0 < (int)uParm2) { - pcVar6 = (char *)(iParm1 + iVar12); - pbVar17 = (byte *)(iVar12 + uParm2 * iParm3 + iParm1); - puVar13 = puParm4; - if ((uParm2 & 3) != 0) { - do { - uVar9 += 1; - *(byte *)puVar13 = *pbVar17 | *pcVar6 << 4; - iVar12 += 1; - pcVar6 = pcVar6 + 1; - pbVar17 = pbVar17 + 1; - puVar13 = (uint *)((int)puVar13 + 1); - } while ((uParm2 & 3) != uVar9); - puVar13 = (uint *)((int)puParm4 + uVar9); - if (uVar9 == uParm2) goto LAB_7f0c9b88; - } - do { - uVar9 += 4; - *(byte *)puVar13 = *pbVar17 | *pcVar6 << 4; - iVar12 += 4; - *(byte *)((int)puVar13 + 1) = pbVar17[1] | pcVar6[1] << 4; - *(byte *)((int)puVar13 + 2) = pbVar17[2] | pcVar6[2] << 4; - pbVar7 = pbVar17 + 3; - pbVar17 = pbVar17 + 4; - *(byte *)((int)puVar13 + 3) = *pbVar7 | pcVar6[3] << 4; - pcVar6 = pcVar6 + 4; - puVar13 = puVar13 + 1; - } while (uVar9 != uParm2); - } -LAB_7f0c9b88: - iVar11 += 1; - puParm4 = (uint *)((int)puParm4 + (uParm2 + 7 & 0xff8)); - } while (iVar11 != iParm3); - } - iParm3 = (uParm2 + 7 & 0xff8) * iParm3; - break; - case 6: - iVar11 = 0; - if (0 < iParm3) { - do { - iVar10 = 0; - if (0 < (int)uParm2) { - pcVar8 = (char *)(uParm2 * iParm3 * 3 + iVar12 + iParm1); - pcVar6 = (char *)(iParm1 + iVar12); - do { - pbVar17 = (byte *)(pcVar8 + 1); - iVar12 += 2; - cVar4 = *pcVar8; - pcVar8 = pcVar8 + 2; - iVar20 = iVar10 >> 1; - iVar10 += 2; - *(byte *)((int)puParm4 + iVar20) = *pbVar17 | *pcVar6 << 5 | cVar4 << 4 | pcVar6[1] << 1 - ; - pcVar6 = pcVar6 + 2; - } while (iVar10 < (int)uParm2); - } - iVar11 += 1; - if ((uParm2 & 1) != 0) { - iVar12 += -1; - } - puParm4 = (uint *)((int)puParm4 + (uParm2 + 0xf & 0xff0)); - } while (iVar11 != iParm3); - } - iParm3 = ((int)(uParm2 + 0xf & 0xff0) >> 1) * iParm3; - break; - case 7: - iVar11 = 0; - if (0 < iParm3) { - do { - uVar9 = 0; - if (0 < (int)uParm2) { - puVar5 = (undefined *)(iParm1 + iVar12); - puVar13 = puParm4; - if ((uParm2 & 3) != 0) { - do { - uVar3 = *puVar5; - uVar9 += 1; - iVar12 += 1; - puVar5 = puVar5 + 1; - *(undefined *)puVar13 = uVar3; - puVar13 = (uint *)((int)puVar13 + 1); - } while ((uParm2 & 3) != uVar9); - puVar13 = (uint *)((int)puParm4 + uVar9); - if (uVar9 == uParm2) goto LAB_7f0c9c34; - } - do { - uVar9 += 4; - iVar12 += 4; - *(undefined *)puVar13 = *puVar5; - *(undefined *)((int)puVar13 + 1) = puVar5[1]; - *(undefined *)((int)puVar13 + 2) = puVar5[2]; - *(undefined *)((int)puVar13 + 3) = puVar5[3]; - puVar5 = puVar5 + 4; - puVar13 = puVar13 + 1; - } while (uVar9 != uParm2); - } -LAB_7f0c9c34: - iVar11 += 1; - puParm4 = (uint *)((int)puParm4 + (uParm2 + 7 & 0xff8)); - } while (iVar11 != iParm3); - } - iParm3 = (uParm2 + 7 & 0xff8) * iParm3; - break; - case 8: - iVar11 = 0; - if (0 < iParm3) { - do { - iVar10 = 0; - if (0 < (int)uParm2) { - pcVar6 = (char *)(iParm1 + iVar12); - do { - iVar12 += 2; - iVar20 = iVar10 >> 1; - iVar10 += 2; - *(byte *)((int)puParm4 + iVar20) = pcVar6[1] | *pcVar6 << 4; - pcVar6 = pcVar6 + 2; - } while (iVar10 < (int)uParm2); - } - iVar11 += 1; - if ((uParm2 & 1) != 0) { - iVar12 += -1; - } - puParm4 = (uint *)((int)puParm4 + ((int)(uParm2 + 0xf & 0xff0) >> 1)); - } while (iVar11 != iParm3); - } - iParm3 = ((int)(uParm2 + 0xf & 0xff0) >> 1) * iParm3; - break; - default: - iParm3 = 0; - } - return iParm3; -} - - - -int loc_7F0CAC2C(int iParm1,int iParm2,int *piParm3,int iParm4,undefined4 uParm5,undefined4 uParm6) - -{ - undefined8 uVar1; - int iVar2; - int iVar3; - int *piVar4; - byte *pbVar5; - int iVar6; - - uVar1 = locret_7F0C9A40(uParm5); - iVar6 = 0; - switch(uParm6) { - case 0: - iVar6 = 0; - if (0 < iParm2) { - do { - iVar3 = 0; - piVar4 = piParm3; - if (0 < iParm1) { - do { - iVar2 = FUN_7f0cb44c(uVar1); - iVar3 += 1; - *piVar4 = *(int *)(iParm4 + iVar2 * 4); - piVar4 = piVar4 + 1; - } while (iVar3 != iParm1); - } - iVar6 += 1; - piParm3 = piParm3 + (iParm1 + 3U & 0xffc); - } while (iVar6 != iParm2); - } - iVar6 = (iParm1 + 3U & 0xffc) * iParm2 * 4; - break; - case 1: - case 4: - iVar6 = 0; - if (0 < iParm2) { - do { - iVar3 = 0; - piVar4 = piParm3; - if (0 < iParm1) { - do { - iVar2 = FUN_7f0cb44c(uVar1); - iVar3 += 1; - *(undefined2 *)piVar4 = *(undefined2 *)(iParm4 + iVar2 * 2); - piVar4 = (int *)((int)piVar4 + 2); - } while (iVar3 != iParm1); - } - iVar6 += 1; - piParm3 = (int *)((int)piParm3 + (iParm1 + 3U & 0xffc) * 2); - } while (iVar6 != iParm2); - } - iVar6 = (iParm1 + 3U & 0xffc) * iParm2 * 2; - break; - case 2: - iVar6 = 0; - if (0 < iParm2) { - do { - iVar3 = 0; - piVar4 = piParm3; - if (0 < iParm1) { - do { - iVar2 = FUN_7f0cb44c(uVar1); - iVar3 += 1; - *piVar4 = *(int *)(iParm4 + iVar2 * 4) << 8; - piVar4 = piVar4 + 1; - } while (iVar3 != iParm1); - } - iVar6 += 1; - piParm3 = piParm3 + (iParm1 + 3U & 0xffc); - } while (iVar6 != iParm2); - } - iVar6 = (iParm1 + 3U & 0xffc) * iParm2 * 4; - break; - case 3: - iVar6 = 0; - if (0 < iParm2) { - do { - iVar3 = 0; - piVar4 = piParm3; - if (0 < iParm1) { - do { - iVar2 = FUN_7f0cb44c(uVar1); - iVar3 += 1; - *(ushort *)piVar4 = *(short *)(iParm4 + iVar2 * 2) << 1 | 1; - piVar4 = (int *)((int)piVar4 + 2); - } while (iVar3 != iParm1); - } - iVar6 += 1; - piParm3 = (int *)((int)piParm3 + (iParm1 + 3U & 0xffc) * 2); - } while (iVar6 != iParm2); - } - iVar6 = (iParm1 + 3U & 0xffc) * iParm2 * 2; - break; - case 5: - case 7: - iVar6 = 0; - if (0 < iParm2) { - do { - iVar3 = 0; - piVar4 = piParm3; - if (0 < iParm1) { - do { - iVar2 = FUN_7f0cb44c(uVar1); - iVar3 += 1; - *(char *)piVar4 = (char)*(undefined2 *)(iParm4 + iVar2 * 2); - piVar4 = (int *)((int)piVar4 + 1); - } while (iVar3 != iParm1); - } - iVar6 += 1; - piParm3 = (int *)((int)piParm3 + (iParm1 + 7U & 0xff8)); - } while (iVar6 != iParm2); - } - iVar6 = (iParm1 + 7U & 0xff8) * iParm2; - break; - case 6: - case 8: - iVar6 = 0; - if (0 < iParm2) { - do { - iVar3 = 0; - if (0 < iParm1) { - do { - iVar2 = FUN_7f0cb44c(uVar1); - pbVar5 = (byte *)((int)piParm3 + (iVar3 >> 1)); - *pbVar5 = (char)*(undefined2 *)(iParm4 + iVar2 * 2) << 4; - if (iVar3 + 1 < iParm1) { - iVar2 = FUN_7f0cb44c(uVar1); - *pbVar5 = *pbVar5 | *(byte *)(iParm4 + iVar2 * 2 + 1); - } - iVar3 += 2; - } while (iVar3 < iParm1); - } - iVar6 += 1; - piParm3 = (int *)((int)piParm3 + ((int)(iParm1 + 0xfU & 0xff0) >> 1)); - } while (iVar6 != iParm2); - } - iVar6 = ((int)(iParm1 + 0xfU & 0xff0) >> 1) * iParm2; - } - return iVar6; -} - - - -// WARNING: Instruction at (ram,0x7f0ca968) overlaps instruction at (ram,0x7f0ca964) -// - -int loc_7F0CB66C(ushort *puParm1,uint uParm2,int iParm3,uint *puParm4,int iParm5,int iParm6, - undefined4 uParm7) - -{ - uint uVar1; - int iVar2; - ushort *puVar3; - int iVar4; - uint *puVar5; - undefined4 *puVar6; - undefined2 *puVar7; - ushort *puVar8; - ushort *puStack24; - ushort *puStack20; - - puVar3 = puParm1; - if (iParm6 < 0x101) { - puVar3 = puStack24; - puStack20 = puParm1; - } - iVar4 = 0; - switch(uParm7) { - case 0: - iVar4 = 0; - if (0 < iParm3) { - do { - uVar1 = 0; - if (0 < (int)uParm2) { - puVar5 = puParm4; - if ((uParm2 & 3) == 0) { - iVar2 = 0; - } - else { - do { - if (iParm6 < 0x101) { - *puVar5 = *(uint *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4); - } - else { - *puVar5 = *(uint *)(iParm5 + (uint)puVar3[uVar1] * 4); - } - uVar1 += 1; - puVar5 = puVar5 + 1; - } while ((uParm2 & 3) != uVar1); - iVar2 = uVar1 * 4; - if (uVar1 == uParm2) goto LAB_7f0ca380; - } - puVar6 = (undefined4 *)((int)puParm4 + iVar2); - do { - if (iParm6 < 0x101) { - *puVar6 = *(undefined4 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4); - puVar6[1] = *(undefined4 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 4); - puVar6[2] = *(undefined4 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 4); - puVar6[3] = *(undefined4 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 4); - } - else { - *puVar6 = *(undefined4 *)(iParm5 + (uint)puVar3[uVar1] * 4); - puVar6[1] = *(undefined4 *)(iParm5 + (uint)puVar3[uVar1 + 1] * 4); - puVar6[2] = *(undefined4 *)(iParm5 + (uint)puVar3[uVar1 + 2] * 4); - puVar6[3] = *(undefined4 *)(iParm5 + (uint)puVar3[uVar1 + 3] * 4); - } - uVar1 += 4; - puVar6 = puVar6 + 4; - } while (uVar1 != uParm2); - } -LAB_7f0ca380: - iVar4 += 1; - puParm4 = puParm4 + (uParm2 + 3 & 0xffc); - puStack20 = (ushort *)((int)puStack20 + uParm2); - puVar3 = puVar3 + uParm2; - } while (iVar4 != iParm3); - } - iVar4 = (uParm2 + 3 & 0xffc) * iParm3 * 4; - break; - case 1: - case 4: - iVar4 = 0; - if (0 < iParm3) { - do { - uVar1 = 0; - if (0 < (int)uParm2) { - if ((uParm2 & 3) == 0) { - iVar2 = 0; - } - else { - iVar2 = 0; - puVar5 = puParm4; - do { - if (iParm6 < 0x101) { - *(undefined2 *)puVar5 = - *(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - } - else { - *(undefined2 *)puVar5 = - *(undefined2 *)(iParm5 + (uint)*(ushort *)((int)puVar3 + iVar2) * 2); - } - uVar1 += 1; - iVar2 += 2; - puVar5 = (uint *)((int)puVar5 + 2); - } while ((uParm2 & 3) != uVar1); - iVar2 = uVar1 * 2; - if (uVar1 == uParm2) goto LAB_7f0ca75c; - } - puVar7 = (undefined2 *)((int)puParm4 + iVar2); - do { - if (iParm6 < 0x101) { - *puVar7 = *(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - puVar7[1] = *(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2); - puVar7[2] = *(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 2); - puVar7[3] = *(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 2); - } - else { - *puVar7 = *(undefined2 *)(iParm5 + (uint)*(ushort *)((int)puVar3 + iVar2) * 2); - puVar7[1] = *(undefined2 *)(iParm5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 2) * 2); - puVar7[2] = *(undefined2 *)(iParm5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 4) * 2); - puVar7[3] = *(undefined2 *)(iParm5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 6) * 2); - } - uVar1 += 4; - iVar2 += 8; - puVar7 = puVar7 + 4; - } while (uVar1 != uParm2); - } -LAB_7f0ca75c: - iVar4 += 1; - puParm4 = (uint *)((int)puParm4 + (uParm2 + 3 & 0xffc) * 2); - puStack20 = (ushort *)((int)puStack20 + uParm2); - puVar3 = puVar3 + uParm2; - } while (iVar4 != iParm3); - } - iVar4 = (uParm2 + 3 & 0xffc) * iParm3 * 2; - break; - case 2: - iVar4 = 0; - if (0 < iParm3) { - do { - uVar1 = 0; - if (0 < (int)uParm2) { - puVar5 = puParm4; - if ((uParm2 & 3) == 0) { - iVar2 = 0; - } - else { - do { - if (iParm6 < 0x101) { - *puVar5 = *(int *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4) << 8 | 0xff - ; - } - else { - *puVar5 = *(int *)(iParm5 + (uint)puVar3[uVar1] * 4) << 8 | 0xff; - } - uVar1 += 1; - puVar5 = puVar5 + 1; - } while ((uParm2 & 3) != uVar1); - iVar2 = uVar1 * 4; - if (uVar1 == uParm2) goto LAB_7f0ca59c; - } - puVar5 = (uint *)((int)puParm4 + iVar2); - do { - if (iParm6 < 0x101) { - *puVar5 = *(int *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4) << 8 | 0xff; - puVar5[1] = *(int *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 4) << 8 | - 0xff; - puVar5[2] = *(int *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 4) << 8 | - 0xff; - puVar5[3] = *(int *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 4) << 8 | - 0xff; - } - else { - *puVar5 = *(int *)(iParm5 + (uint)puVar3[uVar1] * 4) << 8 | 0xff; - puVar5[1] = *(int *)(iParm5 + (uint)puVar3[uVar1 + 1] * 4) << 8 | 0xff; - puVar5[2] = *(int *)(iParm5 + (uint)puVar3[uVar1 + 2] * 4) << 8 | 0xff; - puVar5[3] = *(int *)(iParm5 + (uint)puVar3[uVar1 + 3] * 4) << 8 | 0xff; - } - uVar1 += 4; - puVar5 = puVar5 + 4; - } while (uVar1 != uParm2); - } -LAB_7f0ca59c: - iVar4 += 1; - puParm4 = puParm4 + (uParm2 + 3 & 0xffc); - puStack20 = (ushort *)((int)puStack20 + uParm2); - puVar3 = puVar3 + uParm2; - } while (iVar4 != iParm3); - } - iVar4 = (uParm2 + 3 & 0xffc) * iParm3 * 4; - break; - case 3: - iVar4 = 0; - if (0 < iParm3) { - do { - uVar1 = 0; - if (0 < (int)uParm2) { - if ((uParm2 & 1) == 0) { - iVar2 = 0; - } - else { - uVar1 = 1; - if (iParm6 < 0x101) { - *(ushort *)puParm4 = *(short *)(iParm5 + (uint)*(byte *)puStack20 * 2) << 1 | 1; - } - else { - *(ushort *)puParm4 = *(short *)(iParm5 + (uint)*puVar3 * 2) << 1 | 1; - } - iVar2 = 2; - if (uParm2 == 1) goto LAB_7f0ca8b4; - } - puVar8 = (ushort *)((int)puParm4 + iVar2); - do { - if (iParm6 < 0x101) { - *puVar8 = *(short *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2) << 1 | 1; - puVar8[1] = *(short *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2) << 1 - | 1; - } - else { - *puVar8 = *(short *)(iParm5 + (uint)*(ushort *)((int)puVar3 + iVar2) * 2) << 1 | 1; - puVar8[1] = *(short *)(iParm5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 2) * 2) << 1 | - 1; - } - uVar1 += 2; - iVar2 += 4; - puVar8 = puVar8 + 2; - } while (uVar1 != uParm2); - } -LAB_7f0ca8b4: - iVar4 += 1; - puParm4 = (uint *)((int)puParm4 + (uParm2 + 3 & 0xffc) * 2); - puStack20 = (ushort *)((int)puStack20 + uParm2); - puVar3 = puVar3 + uParm2; - } while (iVar4 != iParm3); - } - iVar4 = (uParm2 + 3 & 0xffc) * iParm3 * 2; - break; - case 5: - case 7: - iVar4 = 0; - if (0 < iParm3) { - do { - uVar1 = 0; - if (0 < (int)uParm2) { - puVar5 = puParm4; - if ((uParm2 & 3) != 0) { - do { - if (iParm6 < 0x101) { - *(char *)puVar5 = - (char)*(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - } - else { - *(char *)puVar5 = (char)*(undefined2 *)(iParm5 + (uint)puVar3[uVar1] * 2); - } - uVar1 += 1; - puVar5 = (uint *)((int)puVar5 + 1); - } while ((uParm2 & 3) != uVar1); - puVar5 = (uint *)((int)puParm4 + uVar1); - if (uVar1 == uParm2) goto LAB_7f0caa78; - } - do { - if (iParm6 < 0x101) { - *(char *)puVar5 = - (char)*(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - *(undefined *)((int)puVar5 + 1) = - (char)*(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2); - *(char *)((int)puVar5 + 2) = - (char)*(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 2); - *(undefined *)((int)puVar5 + 3) = - (char)*(undefined2 *)(iParm5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 2); - } - else { - *(char *)puVar5 = (char)*(undefined2 *)(iParm5 + (uint)puVar3[uVar1] * 2); - *(undefined *)((int)puVar5 + 1) = - (char)*(undefined2 *)(iParm5 + (uint)puVar3[uVar1 + 1] * 2); - *(char *)((int)puVar5 + 2) = - (char)*(undefined2 *)(iParm5 + (uint)puVar3[uVar1 + 2] * 2); - *(undefined *)((int)puVar5 + 3) = - (char)*(undefined2 *)(iParm5 + (uint)puVar3[uVar1 + 3] * 2); - } - uVar1 += 4; - puVar5 = puVar5 + 1; - } while (uVar1 != uParm2); - } -LAB_7f0caa78: - iVar4 += 1; - puParm4 = (uint *)((int)puParm4 + (uParm2 + 7 & 0xff8)); - puStack20 = (ushort *)((int)puStack20 + uParm2); - puVar3 = puVar3 + uParm2; - } while (iVar4 != iParm3); - } - iVar4 = (uParm2 + 7 & 0xff8) * iParm3; - break; - case 6: - case 8: - iVar4 = 0; - if (0 < iParm3) { - do { - iVar2 = 0; - if (0 < (int)uParm2) { - do { - if (iParm6 < 0x101) { - *(byte *)((int)puParm4 + (iVar2 >> 1)) = - (byte)*(undefined2 *)(iParm5 + (uint)((byte *)(iVar2 + (int)puStack20))[1] * 2) | - (char)*(undefined2 *)(iParm5 + (uint)*(byte *)(iVar2 + (int)puStack20) * 2) << 4; - } - else { - *(byte *)((int)puParm4 + (iVar2 >> 1)) = - (byte)*(undefined2 *)(iParm5 + (uint)(puVar3 + iVar2)[1] * 2) | - (char)*(undefined2 *)(iParm5 + (uint)puVar3[iVar2] * 2) << 4; - } - iVar2 += 2; - } while (iVar2 < (int)uParm2); - } - iVar4 += 1; - puParm4 = (uint *)((int)puParm4 + ((int)(uParm2 + 0xf & 0xff0) >> 1)); - puStack20 = (ushort *)((int)puStack20 + uParm2); - puVar3 = puVar3 + uParm2; - } while (iVar4 != iParm3); - } - iVar4 = ((int)(uParm2 + 0xf & 0xff0) >> 1) * iParm3; - } - return iVar4; -} - - - -// WARNING: Instruction at (ram,0x7f0cac38) overlaps instruction at (ram,0x7f0cac34) -// - -void FUN_7f0cab9c(int iParm1,int iParm2,int iParm3,int iParm4) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 *puVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - uint uStack12; - - switch(iParm4) { - case 0: - case 2: - uStack12 = iParm2 + 3U & 0xffc; - break; - case 1: - case 3: - case 4: - uStack12 = (int)(iParm2 + 3U & 0xffc) >> 1; - break; - case 5: - case 7: - case 9: - case 0xb: - uStack12 = (int)(iParm2 + 7U & 0xff8) >> 2; - break; - case 6: - case 8: - case 10: - case 0xc: - uStack12 = (int)(iParm2 + 0xfU & 0xff0) >> 3; - } - puVar3 = (undefined4 *)(iParm1 + uStack12 * 4); - if ((iParm4 == 0) || (iParm4 == 2)) { - iVar4 = 1; - if (1 < iParm3) { - do { - iVar5 = 0; - puVar6 = puVar3; - if (0 < (int)uStack12) { - do { - uVar1 = puVar6[2]; - puVar6[2] = *puVar6; - uVar2 = puVar6[1]; - iVar5 += 4; - *puVar6 = uVar1; - puVar6[1] = puVar6[3]; - puVar6[3] = uVar2; - puVar6 = puVar6 + 4; - } while (iVar5 < (int)uStack12); - } - iVar4 += 2; - puVar3 = puVar3 + uStack12 * 2; - } while (iVar4 < iParm3); - } - } - else { - iVar4 = 1; - if (1 < iParm3) { - do { - iVar5 = 0; - puVar6 = puVar3; - if (0 < (int)uStack12) { - do { - uVar1 = puVar6[1]; - iVar5 += 2; - puVar6[1] = *puVar6; - *puVar6 = uVar1; - puVar6 = puVar6 + 2; - } while (iVar5 < (int)uStack12); - } - iVar4 += 2; - puVar3 = puVar3 + uStack12 * 2; - } while (iVar4 < iParm3); - } - } - return; -} - - - -void loc_7F0CBAE0(int iParm1,int iParm2,int iParm3,undefined4 uParm4,int iParm5) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - byte *pbVar5; - uint uVar6; - uint uVar7; - uint uVar8; - int iVar9; - - iVar2 = 0; - if (0 < iParm3) { - do { - iVar3 = 0; - if (0 < iParm2) { - iVar1 = iVar2 * iParm2; - pbVar5 = (byte *)(iVar1 + iParm1); - do { - iVar4 = (uint)*pbVar5 + iParm5 * 2; - if (iVar3 < 1) { - uVar6 = 0; - } - else { - uVar6 = (uint)pbVar5[-1]; - } - uVar7 = 0; - if (0 < iVar2) { - uVar7 = (uint)*(byte *)((iVar2 + -1) * iParm2 + iVar3 + iParm1); - } - uVar8 = 0; - if ((0 < iVar3) && (0 < iVar2)) { - uVar8 = (uint)*(byte *)((iVar2 + -1) * iParm2 + iVar3 + iParm1 + -1); - } - switch(uParm4) { - case 0: - *(undefined *)(iParm1 + iVar1 + iVar3) = (char)((int)(iVar4 + uVar6) % iParm5); - if (iParm5 == 0) { - trap(0x1c00); - } - if ((iParm5 == -1) && (iVar4 + uVar6 == -0x80000000)) { - trap(0x1800); - } - break; - case 1: - *(undefined *)(iParm1 + iVar1 + iVar3) = (char)((int)(iVar4 + uVar7) % iParm5); - if (iParm5 == 0) { - trap(0x1c00); - } - if ((iParm5 == -1) && (iVar4 + uVar7 == -0x80000000)) { - trap(0x1800); - } - break; - case 2: - *(undefined *)(iParm1 + iVar1 + iVar3) = (char)((int)(iVar4 + uVar8) % iParm5); - if (iParm5 == 0) { - trap(0x1c00); - } - if ((iParm5 == -1) && (iVar4 + uVar8 == -0x80000000)) { - trap(0x1800); - } - break; - case 3: - iVar4 = ((uVar6 + uVar7) - uVar8) + iVar4; - *(undefined *)(iParm1 + iVar1 + iVar3) = (char)(iVar4 % iParm5); - if (iParm5 == 0) { - trap(0x1c00); - } - if ((iParm5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 4: - iVar9 = uVar7 - uVar8; - if (iVar9 < 0) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + uVar6 + iVar4; - *(undefined *)(iParm1 + iVar1 + iVar3) = (char)(iVar4 % iParm5); - if (iParm5 == 0) { - trap(0x1c00); - } - if ((iParm5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 5: - iVar9 = uVar6 - uVar8; - if (iVar9 < 0) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + uVar7 + iVar4; - *(undefined *)(iParm1 + iVar1 + iVar3) = (char)(iVar4 % iParm5); - if (iParm5 == 0) { - trap(0x1c00); - } - if ((iParm5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 6: - iVar9 = uVar6 + uVar7; - if (false) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + iVar4; - *(undefined *)(iParm1 + iVar1 + iVar3) = (char)(iVar4 % iParm5); - if (iParm5 == 0) { - trap(0x1c00); - } - if ((iParm5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - } - iVar3 += 1; - pbVar5 = pbVar5 + 1; - } while (iVar3 != iParm2); - } - iVar2 += 1; - } while (iVar2 != iParm3); - } - return; -} - - - -void sub_7F0CBAF4(int *piParm1,int iParm2,int iParm3) - -{ - *piParm1 = iParm2; - piParm1[1] = iParm2 + iParm3; - piParm1[2] = iParm2; - piParm1[3] = iParm2 + iParm3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0cb02c(uint uParm1,undefined *puParm2) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - - if (puParm2 == NULL) { - puParm2 = &DAT_80073b00; - puVar1 = _DAT_80073b04; - } - else { - puVar1 = *(uint **)(puParm2 + 4); - } - puVar2 = *(uint **)(puParm2 + 0xc); - if (puVar2 < puVar1) { - uVar3 = *puVar2; - while( true ) { - if (uParm1 == uVar3 >> 0x14) { - return puVar2; - } - puVar2 = puVar2 + 4; - if (puVar1 <= puVar2) break; - uVar3 = *puVar2; - } - } - return (uint *)0; -} - - - -int sub_7F0CBB64(int iParm1) - -{ - return *(int *)(iParm1 + 0xc) - *(int *)(iParm1 + 8); -} - - - -void FUN_7f0cb094(char *pcParm1,undefined8 uParm2) - -{ - char cVar1; - - if (*pcParm1 != -0x48) { - cVar1 = *pcParm1; - do { - if (cVar1 == -3) { - if (pcParm1[4] == -0x55) { - if (pcParm1[5] == -0x33) { - FUN_7f0cb138(pcParm1 + 4,uParm2); - cVar1 = pcParm1[8]; - } - else { - cVar1 = pcParm1[8]; - } - } - else { - cVar1 = pcParm1[8]; - } - } - else { - cVar1 = pcParm1[8]; - } - pcParm1 = pcParm1 + 8; - } while (cVar1 != -0x48); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0cb138(uint *puParm1,undefined4 *puParm2) - -{ - byte bVar1; - int iVar2; - longlong lVar3; - uint uVar4; - ushort *puVar5; - ulonglong uVar6; - int iVar7; - int iVar8; - byte abStack4000 [4000]; - - if (puParm2 == NULL) { - puParm2 = (undefined4 *)&DAT_80073b00; - } - _DAT_80074474 = *puParm1 & 0xffff; - puVar5 = (ushort *)FUN_7f0cb02c(_DAT_80074474,puParm2); - if (puVar5 == NULL) { - osWritebackDCacheAll(); - osInvalDCache(abStack4000,0x2000); - uVar4 = *(uint *)(&DAT_80041880 + _DAT_80074474 * 8); - FUN_7000503c(abStack4000,(uVar4 & 0xfffff8) + 0x8f7840, - ((*(uint *)(&DAT_80041888 + _DAT_80074474 * 8) & 0xffffff) - (uVar4 & 0xffffff)) + - 0x1f & 0xfffffff0); - bVar1 = abStack4000[uVar4 & 7]; - iVar7 = (int)((uint)bVar1 & 0x80) >> 7; - iVar8 = (int)((uint)bVar1 & 0x40) >> 6; - uVar6 = (ulonglong)bVar1 & 0x3f; - if (iVar8 == 0) { - lVar3 = sub_7F0CBB64(puParm2); - uVar6 = SEXT48((int)uVar6); - if (lVar3 < 0x10cc) goto LAB_7f0cb294; - } - if (iVar8 != 0) { - lVar3 = sub_7F0CBB64(puParm2); - uVar6 = SEXT48((int)uVar6); - if (lVar3 < 0xa28) { -LAB_7f0cb294: - uVar4 = osVirtualToPhysical(*puParm2); - *puParm1 = uVar4; - return; - } - } - *(undefined2 *)puParm2[2] = (short)_DAT_80074474; - iVar2 = puParm2[3]; - puVar5 = (ushort *)(iVar2 + -0x10); - puParm2[2] = puParm2[2] + 8; - *(ushort **)(puParm2 + 3) = puVar5; - *puVar5 = (ushort)(_DAT_80074474 << 4) | *puVar5 & 0xf; - *(undefined4 *)(iVar2 + -0xc) = puParm2[2]; - if (iVar8 == 0) { - iVar7 = loc_7F0C8724(abStack4000 + (uVar4 & 7) + 1,puParm2[2],iVar7,uVar6,puParm2); - } - else { - iVar7 = loc_7F0C6B98(abStack4000 + (uVar4 & 7) + 1,puParm2[2],iVar7,uVar6,puParm2); - } - puParm2[2] = puParm2[2] + iVar7; - sub_7F0CBB64(puParm2); - } - uVar4 = osVirtualToPhysical(*(undefined4 *)(puVar5 + 2)); - *puParm1 = uVar4; - return; -} - - - -void FUN_7f0cb370(int iParm1,undefined8 uParm2) - -{ - int *piVar1; - longlong lVar2; - int iVar3; - int *piVar4; - longlong lVar5; - - lVar2 = (longlong)*(short *)(iParm1 + 0x16); - piVar1 = *(int **)(iParm1 + 0x18); - lVar5 = 0; - if (0 < lVar2) { - iVar3 = 0; - piVar4 = piVar1; - do { - if (*piVar4 < 0xbb9) { - FUN_7f0cb138(iVar3 + (int)piVar1,uParm2); - lVar2 = (longlong)*(short *)(iParm1 + 0x16); - } - lVar5 = (longlong)((int)lVar5 + 1); - iVar3 += 0xc; - piVar4 = piVar4 + 3; - } while (lVar5 < lVar2); - } - return; -} - - - -void FUN_7f0cb408(undefined4 uParm1) - -{ - undefined4 uStack4; - - uStack4 = uParm1; - FUN_7f0cb138(&uStack4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0cb430(undefined4 uParm1) - -{ - _DAT_80074480 = uParm1; - _DAT_80074484 = 0; - _DAT_80074488 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f0cb44c(uint uParm1) - -{ - byte bVar1; - - if ((int)_DAT_80074488 < (int)uParm1) { - do { - _DAT_80074488 += 8; - bVar1 = *_DAT_80074480; - _DAT_80074480 = _DAT_80074480 + 1; - _DAT_80074484 = (uint)bVar1 | _DAT_80074484 << 8; - } while ((int)_DAT_80074488 < (int)uParm1); - } - _DAT_80074488 -= uParm1; - return _DAT_80074484 >> (_DAT_80074488 & 0x1f) & (1 << (uParm1 & 0x1f)) - 1U; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0CC488(void) - -{ - int iVar1; - - iVar1 = FUN_70008b80(0x2400,4); - _DAT_80074494 = iVar1 + 0xfffU & 0xfffff000; - FUN_7000503c(_DAT_80074494,0x28a0d0,0x1400); - _DAT_80074490 = _DAT_80074494 + 0xfe000000; - _DAT_80074498 = _DAT_80074494 + 0xac8; - _DAT_8007449c = _DAT_80074494 + 0xad4; - _DAT_800744a0 = _DAT_80074494 + 0xbc4; - _DAT_800744a4 = _DAT_80074494 + 0xc0c; - _DAT_800744a8 = _DAT_80074494 + 0xc48; - _DAT_800744ac = _DAT_80074494 + 0xc54; - _DAT_800744b0 = _DAT_80074494 + 0xc60; - _DAT_800744b4 = _DAT_80074494 + 0xc6c; - _DAT_800744b8 = _DAT_80074494 + 0xc78; - _DAT_800744bc = _DAT_80074494 + 0xc84; - _DAT_800744c0 = _DAT_80074494 + 0xc90; - _DAT_800744c4 = _DAT_80074494 + 0xc9c; - _DAT_800744c8 = _DAT_80074494 + 0xca8; - _DAT_800744cc = _DAT_80074494 + 0xcb4; - _DAT_800744d0 = _DAT_80074494 + 0xcc0; - _DAT_800744d4 = _DAT_80074494 + 0xccc; - _DAT_800744d8 = _DAT_80074494 + 0xcd8; - _DAT_800744dc = _DAT_80074494 + 0xce4; - _DAT_800744e0 = _DAT_80074494 + 0xcf0; - _DAT_800744e4 = _DAT_80074494 + 0xcfc; - _DAT_800744e8 = _DAT_80074494 + 0xd08; - _DAT_800744ec = _DAT_80074494 + 0xd14; - _DAT_800744f0 = _DAT_80074494 + 0xd20; - _DAT_800744f4 = _DAT_80074494 + 0xd2c; - _DAT_800744f8 = _DAT_80074494 + 0xd38; - _DAT_800744fc = _DAT_80074494 + 0xd44; - _DAT_80074500 = _DAT_80074494 + 0xd5c; - _DAT_80074504 = _DAT_80074494 + 0xfb4; - _DAT_80074508 = _DAT_80074494 + 0xfd8; - _DAT_8007450c = _DAT_80074494 + 0x1020; - _DAT_80074510 = _DAT_80074494 + 0x102c; - _DAT_80074514 = _DAT_80074494 + 0x132c; - FUN_7f0cb094(_DAT_80074494,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000078,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000120,0); - FUN_7f0cb094(_DAT_80074490 + 0x20001c8,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000270,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000318,0); - FUN_7f0cb094(_DAT_80074490 + 0x20003c0,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000468,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000510,0); - FUN_7f0cb094(_DAT_80074490 + 0x20005b8,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000660,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000708,0); - FUN_7f0cb094(_DAT_80074490 + 0x20007b0,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000858,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000900,0); - FUN_7f0cb094(_DAT_80074490 + 0x20009a8,0); - FUN_7f0cb094(_DAT_80074490 + 0x2000a50,0); - FUN_7f0cb138(_DAT_80074498,0); - iVar1 = 0; - do { - FUN_7f0cb138(iVar1 + _DAT_800744a0,0); - iVar1 += 0xc; - } while (iVar1 < 0x48); - iVar1 = 0; - do { - FUN_7f0cb138(iVar1 + _DAT_800744a4,0); - iVar1 += 0xc; - } while (iVar1 != 0x3c); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0cb9e8(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar1 = (undefined4 *)&DAT_80074528; - puVar2 = (undefined4 *)&DAT_80074688; - do { - puVar2 = puVar2 + 0x14; - puVar1[0xb] = 0; - puVar2[5] = 0; - puVar1[0x16] = 0; - puVar2[10] = 0; - puVar1[0x21] = 0; - puVar2[0xf] = 0; - *puVar1 = 0; - *puVar2 = 0; - puVar1 = puVar1 + 0x2c; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)0x80074728); - _DAT_80074520 = 0xffffffff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0cba68(int iParm1) - -{ - if (iParm1 != _DAT_80074520) { - _DAT_80074520 = iParm1; - return 1; - } - return 0; -} - - - -undefined8 -FUN_7f0cba94(int iParm1,int iParm2,int iParm3,int iParm4,int param_5,int param_6,int param_7, - int param_8,int param_9,int param_10,int param_11) - -{ - undefined8 uVar1; - - iParm1 *= 0x2c; - uVar1 = 0; - if ((((((*(int *)(&DAT_80074528 + iParm1) == 0) || (iParm2 != *(int *)(iParm1 + -0x7ff8bad4))) || - (iParm3 != *(int *)(iParm1 + -0x7ff8bad0))) || - ((iParm4 != *(int *)(iParm1 + -0x7ff8bacc) || (param_5 != *(int *)(iParm1 + -0x7ff8bac8))))) - || ((param_6 != *(int *)(iParm1 + -0x7ff8bac4) || - ((param_7 != *(int *)(iParm1 + -0x7ff8bac0) || (param_8 != *(int *)(iParm1 + -0x7ff8babc)) - ))))) || - ((param_9 != *(int *)(iParm1 + -0x7ff8bab8) || - ((param_10 != *(int *)(iParm1 + -0x7ff8bab4) || (param_11 != *(int *)(iParm1 + -0x7ff8bab0)))) - ))) { - uVar1 = 1; - *(int *)(&DAT_80074528 + iParm1) = 1; - *(int *)(iParm1 + -0x7ff8bad4) = iParm2; - *(int *)(iParm1 + -0x7ff8bad0) = iParm3; - *(int *)(iParm1 + -0x7ff8bacc) = iParm4; - *(int *)(iParm1 + -0x7ff8bac8) = param_5; - *(int *)(iParm1 + -0x7ff8bac4) = param_6; - *(int *)(iParm1 + -0x7ff8bac0) = param_7; - *(int *)(iParm1 + -0x7ff8babc) = param_8; - *(int *)(iParm1 + -0x7ff8bab8) = param_9; - *(int *)(iParm1 + -0x7ff8bab4) = param_10; - *(int *)(iParm1 + -0x7ff8bab0) = param_11; - } - return uVar1; -} - - - -undefined8 FUN_7f0cbbb0(int iParm1,int iParm2,int iParm3,int iParm4,int param_5) - -{ - undefined8 uVar1; - - iParm1 *= 0x14; - uVar1 = 0; - if ((((*(int *)(&DAT_80074688 + iParm1) == 0) || (iParm2 != *(int *)(iParm1 + -0x7ff8b974))) || - (iParm3 != *(int *)(iParm1 + -0x7ff8b970))) || - ((iParm4 != *(int *)(iParm1 + -0x7ff8b96c) || (param_5 != *(int *)(iParm1 + -0x7ff8b968))))) { - uVar1 = 1; - *(int *)(&DAT_80074688 + iParm1) = 1; - *(int *)(iParm1 + -0x7ff8b974) = iParm2; - *(int *)(iParm1 + -0x7ff8b970) = iParm3; - *(int *)(iParm1 + -0x7ff8b96c) = iParm4; - *(int *)(iParm1 + -0x7ff8b968) = param_5; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0cbc34(uint *puParm1,ulonglong uParm2) - -{ - ulonglong uVar1; - uint uVar2; - int iVar3; - uint uVar4; - short *psVar5; - - uVar2 = (uint)uParm2; - uVar1 = (ulonglong)*(byte *)(puParm1 + 2); - if (uParm2 == 0) { - return uVar1; - } - if (-1 < (int)(puParm1[3] << 2)) { - uVar4 = 0; - if (0 < (longlong)uParm2) { - if ((uParm2 & 3) != 0) { - do { - uVar1 = SEXT48((int)uVar1 + 1 >> 1); - uVar4 += 1; - } while ((uVar2 & 3) != uVar4); - if (uVar4 == uVar2) { - return uVar1; - } - } - do { - uVar1 = SEXT48(((((int)uVar1 + 1 >> 1) + 1 >> 1) + 1 >> 1) + 1 >> 1); - uVar4 += 4; - } while (uVar4 != uVar2); - } - return uVar1; - } - iVar3 = 0; - if (0 < _DAT_80074470) { - psVar5 = (short *)&DAT_80073b10; - do { - if ((longlong)(int)(*puParm1 >> 0x14) == (longlong)*psVar5) { - return (ulonglong)(byte)(&DAT_80073b11)[iVar3 * 0x10 + uVar2]; - } - iVar3 += 1; - psVar5 = psVar5 + 8; - } while (iVar3 < _DAT_80074470); - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0cbd1c(uint *puParm1,ulonglong uParm2) - -{ - ulonglong uVar1; - uint uVar2; - int iVar3; - uint uVar4; - short *psVar5; - - uVar2 = (uint)uParm2; - uVar1 = (ulonglong)*(byte *)((int)puParm1 + 9); - if (uParm2 == 0) { - return uVar1; - } - if (-1 < (int)(puParm1[3] << 2)) { - uVar4 = 0; - if (0 < (longlong)uParm2) { - if ((uParm2 & 3) != 0) { - do { - uVar1 = SEXT48((int)uVar1 + 1 >> 1); - uVar4 += 1; - } while ((uVar2 & 3) != uVar4); - if (uVar4 == uVar2) { - return uVar1; - } - } - do { - uVar1 = SEXT48(((((int)uVar1 + 1 >> 1) + 1 >> 1) + 1 >> 1) + 1 >> 1); - uVar4 += 4; - } while (uVar4 != uVar2); - } - return uVar1; - } - iVar3 = 0; - if (0 < _DAT_80074470) { - psVar5 = (short *)&DAT_80073b10; - do { - if ((longlong)(int)(*puParm1 >> 0x14) == (longlong)*psVar5) { - return (ulonglong)(byte)(&DAT_80073b18)[iVar3 * 0x10 + uVar2]; - } - iVar3 += 1; - psVar5 = psVar5 + 8; - } while (iVar3 < _DAT_80074470); - } - return 1; -} - - - -int FUN_7f0cbe04(int iParm1) - -{ - int iVar1; - int iVar2; - uint uVar3; - - uVar3 = *(uint *)(iParm1 + 8) & 3; - iVar1 = FUN_7f0cbc34(); - if (uVar3 == 3) { - iVar2 = iVar1 + 3; - if (iVar2 < 0) { - iVar2 = iVar1 + 6; - } - iVar2 >>= 2; - } - else { - iVar2 = iVar1 + 3; - if (uVar3 == 2) { - if (iVar2 < 0) { - iVar2 = iVar1 + 6; - } - iVar2 >>= 2; - } - else { - iVar2 = iVar1 + 0xf; - if (uVar3 == 1) { - iVar2 = iVar1 + 7; - if (iVar2 < 0) { - iVar2 = iVar1 + 0xe; - } - iVar2 >>= 3; - } - else { - if (iVar2 < 0) { - iVar2 = iVar1 + 0x1e; - } - iVar2 >>= 4; - } - } - } - return iVar2; -} - - - -int FUN_7f0cbeb4(undefined4 uParm1,undefined4 uParm2) - -{ - int iVar1; - int iVar2; - - iVar1 = FUN_7f0cbd1c(); - iVar2 = FUN_7f0cbe04(uParm1,uParm2); - return iVar2 * iVar1; -} - - - -void loc_7F0CCA80(int iParm1,undefined4 *puParm2,int *piParm3) - -{ - byte bVar1; - int iVar2; - uint uVar3; - uint uVar4; - - uVar4 = *(uint *)(iParm1 + 8) & 3; - bVar1 = *(byte *)(iParm1 + 0xb) >> 5; - uVar3 = (uint)bVar1; - if (bVar1 == 0) { - uVar3 = 1; - } - *piParm3 = 0; - if (uVar4 == 3) { - *puParm2 = 3; - } - else { - if (uVar4 == 2) { - *puParm2 = 2; - } - else { - if (uVar4 == 1) { - *puParm2 = 2; - } - else { - *puParm2 = 2; - } - } - } - uVar4 = 0; - if (uVar3 != 0) { - do { - iVar2 = FUN_7f0cbeb4(iParm1,uVar4); - uVar4 += 1; - *piParm3 = *piParm3 + iVar2 * 4; - } while (uVar4 != uVar3); - } - return; -} - - - -int locret_7F0CCAC4(int iParm1) - -{ - int iVar1; - - iParm1 += -1; - iVar1 = 0; - if (0 < iParm1) { - do { - iParm1 >>= 1; - iVar1 += 1; - if (iParm1 < 1) { - return iVar1; - } - } while (iVar1 != 8); - } - return iVar1; -} - - - -undefined8 locret_7F0CCAF4(longlong lParm1) - -{ - if (lParm1 == 1) { - return 2; - } - if (lParm1 == 2) { - return 1; - } - return 0; -} - - - -int locret_7F0CCB30(float fParm1) - -{ - int iVar1; - - iVar1 = (int)fParm1; - if (fParm1 <= (float)iVar1) { - return iVar1; - } - return iVar1 + 1; -} - - - -void FUN_7f0cc058(int iParm1) - -{ - undefined8 uVar1; - uint uVar2; - - uVar1 = FUN_7f0cbe04(iParm1,0); - uVar1._4_4_ = (int)uVar1; - uVar2 = *(uint *)(iParm1 + 8) & 3; - if (uVar2 == 3) { - locret_7F0CCB30((2.00000000 / (float)(uVar1._4_4_ << 2)) * 2048.00000000); - } - else { - if (uVar2 == 2) { - locret_7F0CCB30((4.00000000 / (float)(uVar1._4_4_ << 2)) * 2048.00000000); - } - else { - if (uVar2 == 1) { - locret_7F0CCB30((8.00000000 / (float)(uVar1._4_4_ << 3)) * 2048.00000000); - } - else { - locret_7F0CCB30((16.00000000 / (float)(uVar1._4_4_ << 4)) * 2048.00000000,uVar1); - } - } - } - return; -} - - - -uint * loc_7F0CCFA0(uint *puParm1,uint *puParm2,int iParm3,uint uParm4,uint uParm5,uint uParm6) - -{ - byte bVar1; - byte bVar2; - int iVar4; - int iVar5; - uint uVar6; - longlong lVar3; - uint uVar7; - uint *puVar8; - uint *puVar9; - int iVar10; - - iVar10 = (*puParm2 >> 0x14) * 8; - iVar4 = locret_7F0CCAC4((ulonglong)*(byte *)(puParm2 + 2)); - iVar5 = locret_7F0CCAC4((ulonglong)*(byte *)((int)puParm2 + 9)); - uVar6 = FUN_7f0cbe04(puParm2,0); - puParm1[1] = 0xffffffff; - *puParm1 = (uParm6 & 0xff) << 8 | 0xfa000000; - puVar8 = puParm1 + 2; - lVar3 = FUN_7f0cba68((puParm2[3] >> 0x1e) << 0xe); - if (lVar3 != 0) { - *puVar8 = 0xba000e02; - puVar8 = puParm1 + 4; - puParm1[3] = (puParm2[3] >> 0x1e) << 0xe; - } - lVar3 = FUN_7f0cba94(0,(puParm2[2] << 0x1b) >> 0x1d,puParm2[2] & 3,uVar6, - (*(uint *)(&DAT_80041884 + iVar10) >> 0x1c) + - uVar6 * ((uint)(byte)(&DAT_80041884)[iVar10] & 0xf),0,0, - iVar4 - (uint)((byte)(&DAT_80041885)[iVar10] >> 4), - iVar5 - ((uint)*(ushort *)(&DAT_80041884 + iVar10) & 0xf),uParm4,uParm5); - puVar9 = puVar8; - if (lVar3 != 0) { - *puVar8 = ((puParm2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (puParm2[2] & 3) << 0x13 | - (uVar6 & 0x1ff) << 9 | - (*(uint *)(&DAT_80041884 + iVar10) >> 0x1c) + - uVar6 * ((uint)(byte)(&DAT_80041884)[iVar10] & 0xf) & 0x1ff; - puVar9 = puVar8 + 2; - uVar6 = locret_7F0CCAF4(0); - uVar7 = locret_7F0CCAF4(0); - puVar8[1] = (uVar7 & 3) << 8 | (uVar6 & 3) << 0x12 | - (iVar5 - (uint)*(ushort *)(&DAT_80041884 + iVar10) & 0xf) << 0xe | - (uParm5 & 0xf) << 10 | - (iVar4 - (uint)((byte)(&DAT_80041885)[iVar10] >> 4) & 0xf) << 4 | uParm4 & 0xf; - } - iVar4 = 0; - if ((iParm3 == 2) && (-1 < (int)(puParm2[3] << 2))) { - iVar4 = 2; - } - if (iParm3 == 2) { - if ((int)(puParm2[3] << 2) < 0) { - uVar6 = 0; - } - else { - uVar6 = 2; - } - } - else { - uVar6 = 0; - } - if (iParm3 == 2) { - if ((int)(puParm2[3] << 2) < 0) { - iVar5 = 0; - } - else { - iVar5 = 2; - } - } - else { - iVar5 = 0; - } - bVar1 = *(byte *)(puParm2 + 2); - if (iParm3 == 2) { - if ((int)(puParm2[3] << 2) < 0) { - iVar10 = 0; - } - else { - iVar10 = 2; - } - } - else { - iVar10 = 0; - } - bVar2 = *(byte *)((int)puParm2 + 9); - lVar3 = FUN_7f0cbbb0(0); - if (lVar3 != 0) { - *puVar9 = iVar4 << 0xc | 0xf2000000U | uVar6; - puVar9[1] = (iVar5 + ((uint)bVar1 - 1) * 4 & 0xfff) << 0xc | - iVar10 + ((uint)bVar2 - 1) * 4 & 0xfff; - puVar9 = puVar9 + 2; - } - return puVar9; -} - - - -uint * loc_7F0CD06C(uint *puParm1,uint *puParm2,int iParm3,longlong lParm4) - -{ - uint uVar1; - byte bVar2; - uint *puVar3; - uint uVar4; - - uVar4 = 0; - bVar2 = *(byte *)(iParm3 + 0xb) >> 5; - if (bVar2 != 0) { - uVar4 = (uint)bVar2 - 1; - } - if (lParm4 == 0) { - uVar1 = *puParm2; - *puParm2 = uVar1 & 0xffffc7ff; - *puParm2 = uVar1 & 0xffffc7ff | uVar4 << 0xb; - puVar3 = puParm1; - } - else { - if (puParm2 == NULL) { - puParm1[1] = 0xffffffff; - *puParm1 = (uVar4 & 7) << 0xb | 0xbb000001; - puVar3 = puParm1 + 2; - } - else { - uVar4 = *puParm2 & 0xffffc7ff | uVar4 << 0xb; - puVar3 = puParm1; - if (uVar4 != *puParm2) { - *puParm1 = uVar4; - puVar3 = puParm1 + 2; - puParm1[1] = puParm2[1]; - } - } - } - return puVar3; -} - - - -uint * loc_7F0CD418(uint *puParm1,int iParm2,uint uParm3) - -{ - longlong lVar1; - uint uVar2; - uint uVar3; - uint *puVar4; - uint *puVar5; - uint uStack8; - uint uStack4; - - loc_7F0CCA80(iParm2,&uStack4,&uStack8); - if (*(uint *)(iParm2 + 0xc) >> 0x1e == 0) { - *puParm1 = ((uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | - (uStack4 & 3) << 0x13; - puVar4 = puParm1 + 2; - puParm1[1] = *(uint *)(iParm2 + 4); - lVar1 = FUN_7f0cba94(7,(uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d,uStack4,0,uParm3,0,0,0,0,0,0 - ); - if (lVar1 != 0) { - *puVar4 = ((uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (uStack4 & 3) << 0x13 | uParm3 & 0x1ff; - puParm1[3] = 0x7000000; - puVar4 = puParm1 + 4; - } - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = 0xf3000000; - uStack8 -= 1; - if (0x7fe < (int)uStack8) { - uStack8 = 0x7ff; - } - puVar4[3] = (uStack8 & 0xfff) << 0xc | 0x7000000; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - else { - puVar5 = puParm1 + 2; - *puParm1 = ((uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | - (uStack4 & 3) << 0x13; - puParm1[1] = *(uint *)(iParm2 + 4); - lVar1 = FUN_7f0cba94(7,(uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d,uStack4,0,uParm3,0,0,0,0,0,0 - ); - if (lVar1 != 0) { - *puVar5 = ((uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (uStack4 & 3) << 0x13 | uParm3 & 0x1ff; - puParm1[3] = 0x7000000; - puVar5 = puParm1 + 4; - } - *puVar5 = 0xe6000000; - puVar5[1] = 0; - puVar5[2] = 0xf3000000; - uVar2 = uStack8 - 1; - if (0x7fe < (int)uVar2) { - uVar2 = 0x7ff; - } - puVar5[3] = (uVar2 & 0xfff) << 0xc | 0x7000000; - puVar5[4] = 0xe7000000; - puVar5[5] = 0; - uVar2 = 0x3ff - (uint)*(byte *)(iParm2 + 10); - puVar4 = puVar5 + 6; - if (uStack8 <= uVar2) { - uVar2 = 0; - } - lVar1 = FUN_7f0cba94(7,0,0,1,0x100,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = 0xf5000300; - puVar5[7] = 0x7000000; - puVar4 = puVar5 + 8; - } - uVar3 = (uVar2 & 0x3ff) << 2; - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = (uStack8 - uVar2 & 0x3ff) << 0xe | 0xf0000000 | uVar3; - puVar4[3] = ((uint)*(byte *)(iParm2 + 10) + (uStack8 - uVar2) & 0x3ff) << 0xe | 0x7000000 | - uVar3; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - return puVar4 + 6; -} - - - -uint * loc_7F0CD778(uint *puParm1,int iParm2,undefined4 uParm3,undefined4 uParm4,int iParm5, - uint uParm6,uint uParm7) - -{ - undefined8 uVar1; - uint uVar3; - uint uVar4; - int iVar5; - longlong lVar2; - uint uVar6; - uint uVar7; - int iVar8; - uint uVar9; - int iVar10; - int iVar11; - uint uVar12; - uint *puVar13; - uint uVar14; - uint uStack12; - uint uStack4; - - uStack4 = uParm7; - uVar9 = (uint)(*(byte *)(iParm2 + 0xb) >> 5) + uParm6; - if ((int)uParm6 < (int)uVar9) { - uVar12 = 0; - uStack12 = uParm6; - do { - uVar1 = FUN_7f0cbc34(iParm2,uVar12); - uVar3 = locret_7F0CCAC4(uVar1); - uVar1 = FUN_7f0cbd1c(iParm2,uVar12); - uVar4 = locret_7F0CCAC4(uVar1); - uVar1 = FUN_7f0cbe04(iParm2,uVar12); - iVar5 = FUN_7f0cbeb4(iParm2,uVar12); - uVar14 = (*(uint *)(iParm2 + 0xc) << 2) >> 0x1f; - lVar2 = FUN_7f0cba68((*(uint *)(iParm2 + 0xc) >> 0x1e) << 0xe); - puVar13 = puParm1; - if (lVar2 != 0) { - *puParm1 = 0xba000e02; - puVar13 = puParm1 + 2; - puParm1[1] = (*(uint *)(iParm2 + 0xc) >> 0x1e) << 0xe; - } - lVar2 = FUN_7f0cba94(uStack12,(*(uint *)(iParm2 + 8) << 0x1b) >> 0x1d, - *(uint *)(iParm2 + 8) & 3,uVar1,uStack4,uParm3,uParm4,uVar3,uVar4,uVar12, - uVar12); - puParm1 = puVar13; - if (lVar2 != 0) { - puParm1 = puVar13 + 2; - *puVar13 = ((*(uint *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (*(uint *)(iParm2 + 8) & 3) << 0x13 | ((uint)uVar1 & 0x1ff) << 9 | - uStack4 & 0x1ff; - uVar6 = locret_7F0CCAF4(uParm4); - uVar7 = locret_7F0CCAF4(uParm3); - puVar13[1] = (uVar7 & 3) << 8 | (uStack12 & 7) << 0x18 | (uVar6 & 3) << 0x12 | - (uVar4 & 0xf) << 0xe | (uVar12 & 0xf) << 10 | (uVar3 & 0xf) << 4 | uVar12 & 0xf - ; - } - if (iParm5 == 2) { - if (uVar14 == 0) { - iVar10 = 2; - } - else { - iVar10 = 0; - } - } - else { - iVar10 = 0; - } - if (iParm5 == 2) { - if (uVar14 == 0) { - uVar1 = 2; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - iVar8 = FUN_7f0cbc34(iParm2,uVar12); - if (iParm5 == 2) { - if (uVar14 == 0) { - iVar11 = 2; - } - else { - iVar11 = 0; - } - } - else { - iVar11 = 0; - } - uVar3 = iVar11 + (iVar8 + -1) * 4; - iVar8 = FUN_7f0cbd1c(iParm2,uVar12); - if (iParm5 == 2) { - if (uVar14 == 0) { - iVar11 = 2; - } - else { - iVar11 = 0; - } - } - else { - iVar11 = 0; - } - uVar4 = iVar11 + (iVar8 + -1) * 4; - lVar2 = FUN_7f0cbbb0(uStack12,iVar10,uVar1,uVar3,uVar4); - uVar12 += 1; - if (lVar2 != 0) { - *puParm1 = iVar10 << 0xc | 0xf2000000U | (uint)uVar1; - puParm1[1] = (uStack12 & 7) << 0x18 | (uVar3 & 0xfff) << 0xc | uVar4 & 0xfff; - puParm1 = puParm1 + 2; - } - uStack12 += 1; - uStack4 += iVar5; - } while (uStack12 != uVar9); - } - return puParm1; -} - - - -uint * FUN_7f0ccccc(uint *puParm1,int iParm2) - -{ - uint uVar2; - longlong lVar1; - uint uVar3; - uint *puVar4; - uint *puVar5; - uint uStack8; - uint uStack4; - - uVar2 = FUN_7f0cc058(iParm2); - loc_7F0CCA80(iParm2,&uStack4,&uStack8); - if (*(uint *)(iParm2 + 0xc) >> 0x1e == 0) { - *puParm1 = ((uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | - (uStack4 & 3) << 0x13; - puVar4 = puParm1 + 2; - puParm1[1] = *(uint *)(iParm2 + 4); - lVar1 = FUN_7f0cba94(7,(uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d,uStack4,0,0,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = ((uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (uStack4 & 3) << 0x13; - puParm1[3] = 0x7000000; - puVar4 = puParm1 + 4; - } - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = 0xf3000000; - uStack8 -= 1; - if (0x7fe < (int)uStack8) { - uStack8 = 0x7ff; - } - puVar4[3] = (uStack8 & 0xfff) << 0xc | 0x7000000 | uVar2 & 0xfff; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - else { - puVar5 = puParm1 + 2; - *puParm1 = ((uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | - (uStack4 & 3) << 0x13; - puParm1[1] = *(uint *)(iParm2 + 4); - lVar1 = FUN_7f0cba94(7,(uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d,uStack4,0,0,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar5 = ((uint)(*(int *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (uStack4 & 3) << 0x13; - puParm1[3] = 0x7000000; - puVar5 = puParm1 + 4; - } - *puVar5 = 0xe6000000; - puVar5[1] = 0; - puVar5[2] = 0xf3000000; - uVar3 = uStack8 - 1; - if (0x7fe < (int)uVar3) { - uVar3 = 0x7ff; - } - puVar5[3] = (uVar3 & 0xfff) << 0xc | 0x7000000 | uVar2 & 0xfff; - puVar5[4] = 0xe7000000; - puVar5[5] = 0; - uVar2 = 0x3ff - (uint)*(byte *)(iParm2 + 10); - puVar4 = puVar5 + 6; - if (uStack8 <= uVar2) { - uVar2 = 0; - } - lVar1 = FUN_7f0cba94(7,0,0,1,0x100,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = 0xf5000300; - puVar5[7] = 0x7000000; - puVar4 = puVar5 + 8; - } - uVar3 = (uVar2 & 0x3ff) << 2; - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = (uStack8 - uVar2 & 0x3ff) << 0xe | 0xf0000000 | uVar3; - puVar4[3] = ((uint)*(byte *)(iParm2 + 10) + (uStack8 - uVar2) & 0x3ff) << 0xe | 0x7000000 | - uVar3; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - return puVar4 + 6; -} - - - -uint * loc_7F0CDE00(uint *puParm1,int iParm2,undefined4 uParm3,undefined4 uParm4,int iParm5, - uint uParm6) - -{ - byte bVar1; - byte bVar2; - uint uVar4; - uint uVar5; - uint uVar6; - longlong lVar3; - uint uVar7; - int iVar8; - int iVar9; - int iVar10; - uint uVar11; - uint *puVar12; - uint *puVar13; - - uVar4 = locret_7F0CCAC4((ulonglong)*(byte *)(iParm2 + 8)); - uVar5 = locret_7F0CCAC4((ulonglong)*(byte *)(iParm2 + 9)); - uVar6 = FUN_7f0cbe04(iParm2,0); - uVar11 = (*(uint *)(iParm2 + 0xc) << 2) >> 0x1f; - lVar3 = FUN_7f0cba68((*(uint *)(iParm2 + 0xc) >> 0x1e) << 0xe); - puVar12 = puParm1; - if (lVar3 != 0) { - *puParm1 = 0xba000e02; - puVar12 = puParm1 + 2; - puParm1[1] = (*(uint *)(iParm2 + 0xc) >> 0x1e) << 0xe; - } - lVar3 = FUN_7f0cba94(uParm6,(*(uint *)(iParm2 + 8) << 0x1b) >> 0x1d,*(uint *)(iParm2 + 8) & 3, - uVar6,0,uParm3,uParm4,uVar4,uVar5,0,0); - puVar13 = puVar12; - if (lVar3 != 0) { - puVar13 = puVar12 + 2; - *puVar12 = ((*(uint *)(iParm2 + 8) << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (*(uint *)(iParm2 + 8) & 3) << 0x13 | (uVar6 & 0x1ff) << 9; - uVar6 = locret_7F0CCAF4(uParm4); - uVar7 = locret_7F0CCAF4(uParm3); - puVar12[1] = (uVar7 & 3) << 8 | (uParm6 & 7) << 0x18 | (uVar6 & 3) << 0x12 | - (uVar5 & 0xf) << 0xe | (uVar4 & 0xf) << 4; - } - iVar8 = 0; - if ((iParm5 == 2) && (uVar11 == 0)) { - iVar8 = 2; - } - if (iParm5 == 2) { - if (uVar11 == 0) { - uVar4 = 2; - } - else { - uVar4 = 0; - } - } - else { - uVar4 = 0; - } - if (iParm5 == 2) { - if (uVar11 == 0) { - iVar9 = 2; - } - else { - iVar9 = 0; - } - } - else { - iVar9 = 0; - } - bVar1 = *(byte *)(iParm2 + 8); - if (iParm5 == 2) { - if (uVar11 == 0) { - iVar10 = 2; - } - else { - iVar10 = 0; - } - } - else { - iVar10 = 0; - } - bVar2 = *(byte *)(iParm2 + 9); - lVar3 = FUN_7f0cbbb0(uParm6); - if (lVar3 != 0) { - *puVar13 = iVar8 << 0xc | 0xf2000000U | uVar4; - puVar13[1] = (uParm6 & 7) << 0x18 | (iVar9 + ((uint)bVar1 - 1) * 4 & 0xfff) << 0xc | - iVar10 + ((uint)bVar2 - 1) * 4 & 0xfff; - puVar13 = puVar13 + 2; - } - return puVar13; -} - - - -undefined8 -FUN_7f0cd338(undefined8 uParm1,int iParm2,undefined4 uParm3,undefined4 uParm4,undefined4 uParm5) - -{ - undefined8 uVar1; - - uVar1 = loc_7F0CD418(uParm1,iParm2,0); - uVar1 = loc_7F0CD778(uVar1,iParm2,uParm3,uParm4,uParm5,0,0); - if (*(byte *)(iParm2 + 0xb) >> 5 == 1) { - uVar1 = loc_7F0CD778(uVar1,iParm2,uParm3,uParm4,uParm5,1,0); - } - return uVar1; -} - - - -undefined8 -loc_7F0CDF94(undefined8 uParm1,int iParm2,undefined4 uParm3,undefined4 uParm4,undefined4 uParm5, - undefined4 uParm6,undefined4 uParm7,undefined4 uParm8,undefined4 uParm9) - -{ - undefined4 uVar2; - undefined4 *puVar3; - undefined8 uVar1; - - uVar2 = FUN_7f0cbeb4(uParm6,0); - puVar3 = (undefined4 *)FUN_7f0ccccc(uParm1,uParm6); - *puVar3 = 0xe8000000; - puVar3[1] = 0; - uVar1 = loc_7F0CD418(puVar3 + 2,iParm2,uVar2); - uVar1 = loc_7F0CCFA0(uVar1,uParm6,uParm5,uParm7,uParm8,uParm9); - uVar1 = loc_7F0CD778(uVar1,iParm2,uParm3,uParm4,uParm5,1,uVar2); - if (*(byte *)(iParm2 + 0xb) >> 5 == 1) { - uVar1 = loc_7F0CD778(uVar1,iParm2,uParm3,uParm4,uParm5,2,uVar2); - } - return uVar1; -} - - - -undefined8 -FUN_7f0cd4c8(undefined8 uParm1,int iParm2,undefined4 uParm3,undefined4 uParm4,undefined4 uParm5, - undefined4 uParm6,undefined4 uParm7,undefined4 uParm8) - -{ - undefined8 uVar1; - - uVar1 = loc_7F0CD418(uParm1,iParm2,0); - uVar1 = loc_7F0CCFA0(uVar1,iParm2,uParm5,uParm6,uParm7,uParm8); - uVar1 = loc_7F0CD778(uVar1,iParm2,uParm3,uParm4,uParm5,1,0); - if (*(byte *)(iParm2 + 0xb) >> 5 == 1) { - uVar1 = loc_7F0CD778(uVar1,iParm2,uParm3,uParm4,uParm5,2,0); - } - return uVar1; -} - - - -void FUN_7f0cd584(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f0ccccc(); - loc_7F0CDE00(uVar1,uParm2,uParm3,uParm4,uParm5,0); - return; -} - - - -void FUN_7f0cd5cc(undefined8 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f0ccccc(); - uVar1 = loc_7F0CDE00(uVar1,uParm2,uParm3,uParm4,uParm5,0); - loc_7F0CDE00(uVar1,uParm2,uParm3,uParm4,uParm5,1); - return; -} - - - -uint * loc_7F0CE760(uint *puParm1,int iParm2,uint *puParm3,undefined *puParm4) - -{ - byte bVar1; - bool bVar2; - bool bVar3; - bool bVar4; - undefined4 uVar5; - uint uVar6; - longlong lVar7; - longlong lVar8; - int *piVar9; - undefined4 *puVar10; - int iVar11; - uint uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - uint *puVar16; - uint *puVar17; - uint uVar18; - uint uVar19; - undefined4 uStack60; - uint *puStack12; - - iParm2 >>= 3; - puStack12 = NULL; - bVar3 = false; - bVar2 = false; - uStack60 = 1; - bVar4 = false; - FUN_7f0cb9e8(); - uVar5 = uStack60; - puVar17 = puParm3; - if (puParm4 == NULL) { - puParm4 = &DAT_80073b00; - uVar5 = uStack60; - puVar17 = puParm3; - } - do { - if (iParm2 < 1) { - if (bVar4) { - FUN_7f0baa00(puVar17); - } - return (uint *)((int)puVar17 - (int)puParm3); - } - bVar1 = *(byte *)puParm1; - if (bVar1 < 0xc1) { - if (false) { -switchD_7f0cd6f0_caseD_b2: - uVar6 = *puParm1; - goto LAB_7f0cdc44; - } - switch(bVar1) { - case 0xb1: - case 0xbf: - uStack60 = 1; - bVar2 = false; - *puVar17 = *puParm1; - puVar17[1] = puParm1[1]; - puVar17 = puVar17 + 2; - break; - default: - goto switchD_7f0cd6f0_caseD_b2; - case 0xba: - if (bVar3) { - bVar1 = *(byte *)((int)puParm1 + 2); - uStack60 = uVar5; - if (((bVar1 != 0x11) && (uStack60 = uVar5, bVar1 != 0x14)) && - (uStack60 = uVar5, bVar1 != 0x10)) { - *puVar17 = *puParm1; - puVar17[1] = puParm1[1]; - uStack60 = uVar5; - puVar17 = puVar17 + 2; - } - } - else { - *puVar17 = *puParm1; - puVar17[1] = puParm1[1]; - uStack60 = uVar5; - puVar17 = puVar17 + 2; - } - break; - case 0xbb: - uStack60 = 0; - *puVar17 = *puParm1; - puVar17[1] = puParm1[1]; - puStack12 = puVar17; - puVar17 = puVar17 + 2; - break; - case 0xc0: - puVar16 = puVar17; - if (!bVar2) { - *puVar17 = 0xe7000000; - puVar16 = puVar17 + 2; - puVar17[1] = 0; - bVar2 = true; - } - if (bVar4) { - bVar4 = false; - FUN_7f0baa00(puVar16); - uVar6 = puParm1[1]; - } - else { - uVar6 = puParm1[1]; - } - uVar6 &= 0xfff; - if ((uVar6 == DAT_80041048) && (DAT_8004104c != 0)) { - if (*(char *)(DAT_8004104c + uVar6 * 4) == -1) { - bVar3 = false; - } - else { - bVar3 = true; - } - } - else { - bVar3 = false; - } - FUN_7f0cb408(uVar6,puParm4); - lVar7 = FUN_7f0cb02c(uVar6,puParm4); - uStack60 = uVar5; - puVar17 = puVar16; - if (lVar7 != 0) { - uStack60 = 0; - puVar17 = (uint *)loc_7F0CD06C(puVar16,puStack12,lVar7,uVar5); - uVar15 = *puParm1; - switch(uVar15 & 7) { - case 0: - uVar13 = puParm1[1]; - uVar18 = uVar15 >> 0x16 & 3; - uVar19 = uVar15 >> 0x14 & 3; - uVar12 = uVar15 >> 0x12 & 3; - uVar14 = uVar15 >> 0xe & 0xf; - uVar15 = uVar15 >> 10 & 0xf; - if (DAT_8004104c != 0) { - iVar11 = uVar6 * 4; - if (*(char *)(DAT_8004104c + iVar11) == -1) { - *(char *)(DAT_8004104c + iVar11) = (char)(uVar13 >> 0x18); - *(byte *)(DAT_8004104c + iVar11 + 1) = - ('\x0f' - (char)uVar14) * ' ' | *(byte *)(DAT_8004104c + iVar11 + 1) & 0x1f; - *(byte *)(DAT_8004104c + iVar11 + 1) = - ('\x0f' - (char)uVar15) * '\x04' & 0x1cU | - *(byte *)(DAT_8004104c + iVar11 + 1) & 0xe3; - } - } - if (bVar3) { - piVar9 = (int *)(DAT_8004104c + uVar6 * 4); - puVar10 = (undefined4 *) - FUN_7f0cd4c8(puVar17,lVar7,uVar18,uVar19,uVar12, - 0xf - (uint)(*(byte *)((int)piVar9 + 1) >> 5), - 0xf - ((uint)(*piVar9 << 0xb) >> 0x1d),(uint)*(byte *)piVar9); - *puVar10 = 0xba001402; - puVar10[1] = 0x100000; - puVar10[3] = 0x10000; - puVar10[2] = 0xba001001; - puVar10[5] = 0x40000; - puVar10[4] = 0xba001102; - puVar17 = puVar10 + 6; - } - else { - puVar17 = (uint *)FUN_7f0cd4c8(puVar17,lVar7,uVar18,uVar19,uVar12,uVar14,uVar15, - uVar13 >> 0x18); - } - break; - case 1: - uVar15 = puParm1[1] >> 0xc & 0xfff; - FUN_7f0cb408(uVar15,puParm4); - lVar8 = FUN_7f0cb02c(uVar15,puParm4); - if (lVar8 != 0) { - uVar15 = *puParm1; - puVar17 = (uint *)loc_7F0CDF94(puVar17,lVar7,uVar15 >> 0x16 & 3,uVar15 >> 0x14 & 3, - uVar15 >> 0x12 & 3,(int)lVar8,uVar15 >> 0xe & 0xf, - uVar15 >> 10 & 0xf,puParm1[1] >> 0x18); - } - break; - case 2: - uVar13 = uVar15 >> 0x16 & 3; - uVar12 = uVar15 >> 0x14 & 3; - uVar15 = uVar15 >> 0x12 & 3; - if (bVar3) { - piVar9 = (int *)(DAT_8004104c + uVar6 * 4); - puVar10 = (undefined4 *) - FUN_7f0cd4c8(puVar17,lVar7,uVar13,uVar12,uVar15, - 0xf - (uint)(*(byte *)((int)piVar9 + 1) >> 5), - 0xf - ((uint)(*piVar9 << 0xb) >> 0x1d),(uint)*(byte *)piVar9); - *puVar10 = 0xba001402; - puVar10[1] = 0x100000; - puVar10[3] = 0x10000; - puVar10[2] = 0xba001001; - puVar10[5] = 0x40000; - puVar10[4] = 0xba001102; - puVar17 = puVar10 + 6; - } - else { - puVar17 = (uint *)FUN_7f0cd338(puVar17,lVar7,uVar13,uVar12,uVar15); - } - break; - case 3: - puVar17 = (uint *)FUN_7f0cd5cc(puVar17,lVar7,uVar15 >> 0x16 & 3,uVar15 >> 0x14 & 3, - uVar15 >> 0x12 & 3); - break; - case 4: - puVar17 = (uint *)FUN_7f0cd584(puVar17,lVar7,uVar15 >> 0x16 & 3,uVar15 >> 0x14 & 3, - uVar15 >> 0x12 & 3); - } - if (uVar6 == 0x5e4) { - puVar17 = (uint *)FUN_7f092974(puVar17,1); - FUN_7f0cb9e8(); - } - if (uVar6 == 0x5e7) { - puVar17 = (uint *)FUN_7f092b94(puVar17,1); - FUN_7f0cb9e8(); - } - lVar7 = locret_7F0BB68C(uVar6); - if (lVar7 != 0) { - bVar4 = true; - FUN_7f0ba99c(puVar17); - } - } - } - } - else { - if (bVar1 == 0xe7) { - bVar2 = true; - *puVar17 = *puParm1; - puVar17[1] = puParm1[1]; - uStack60 = uVar5; - puVar17 = puVar17 + 2; - goto LAB_7f0cdc58; - } - uVar6 = *puParm1; -LAB_7f0cdc44: - *puVar17 = uVar6; - puVar17[1] = puParm1[1]; - uStack60 = uVar5; - puVar17 = puVar17 + 2; - } -LAB_7f0cdc58: - puParm1 = puParm1 + 2; - iParm2 += -1; - uVar5 = uStack60; - } while( true ); -} - - - -void locret_7F0CE7DC(int iParm1,int iParm2,int iParm3) - -{ - undefined4 uVar1; - undefined4 uVar2; - int iVar3; - undefined4 *puVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - - iVar5 = (iParm3 >> 3) + -1; - iVar6 = iVar5 * 8; - puVar7 = (undefined4 *)(iVar6 + iParm1); - puVar4 = (undefined4 *)(iVar6 + iParm2); - iVar6 = iParm3 >> 3; - while (iVar3 = iVar5, iVar6 != 0) { - uVar1 = *puVar7; - uVar2 = puVar7[1]; - puVar7 = puVar7 + -2; - *puVar4 = uVar1; - puVar4[1] = uVar2; - iVar5 = iVar3 + -1; - puVar4 = puVar4 + -2; - iVar6 = iVar3; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 sub_GAME_7F0CE894(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - _DAT_80074730 = iParm1 + 2; - _DAT_8007473c = 0; - _DAT_80074738 = 0; - _DAT_80074734 = uParm2; - _DAT_80074740 = uParm3; - FUN_7f0cf1f4(); - return _DAT_8007473c; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0cddb4(void) - -{ - return _DAT_80074730 + _DAT_80074738; -} - - - -// WARNING: Instruction at (ram,0x7f0ce350) overlaps instruction at (ram,0x7f0ce34c) -// -// WARNING: Could not reconcile some variable overlaps -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong loop_to_decompress_entire_file - (int *piParm1,uint uParm2,uint uParm3,int iParm4,int iParm5,uint *puParm6, - uint *puParm7) - -{ - uint *puVar1; - uint uVar2; - uint *puVar3; - int iVar4; - int iVar5; - uint uVar6; - uint uVar7; - int *piVar8; - uint *puVar9; - int iVar10; - uint uVar11; - uint *puVar12; - int iVar13; - uint uVar14; - undefined4 *puVar15; - uint uVar16; - uint uVar17; - int *piVar18; - int *piVar19; - uint *puVar20; - uint uVar21; - uint uVar22; - uint uVar23; - uint uVar24; - uint *puStack1436; - uint auStack1404 [2]; - int aiStack1396 [16]; - uint auStack1332 [288]; - uint auStack180 [16]; - undefined4 uStack116; - uint uStack112; - uint uStack72; - int aiStack68 [15]; - int aiStack8 [2]; - - _bzero(&uStack72,0x44); - uVar16 = 1; - uVar21 = uParm2; - piVar18 = piParm1; - if (-(uParm2 & 3) == 0) goto LAB_7f0cde68; - uVar21 = uParm2; - piVar18 = piParm1; - do { - iVar5 = *piVar18; - uVar21 -= 1; - piVar18 = piVar18 + 1; - puVar3 = &uStack72 + iVar5; - *puVar3 = *puVar3 + 1; - } while (-(uParm2 & 3) + uParm2 != uVar21); - while (uVar21 != 0) { -LAB_7f0cde68: - uVar21 -= 4; - puVar3 = &uStack72 + *piVar18; - *puVar3 = *puVar3 + 1; - puVar3 = &uStack72 + piVar18[1]; - *puVar3 = *puVar3 + 1; - puVar3 = &uStack72 + piVar18[2]; - *puVar3 = *puVar3 + 1; - puVar3 = &uStack72 + piVar18[3]; - *puVar3 = *puVar3 + 1; - piVar18 = piVar18 + 4; - } - puVar3 = (uint *)aiStack68; - if (uParm2 == uStack72) { - *puParm6 = 0; - *puParm7 = 0; - return 0; - } - do { - if (*puVar3 != 0) break; - uVar16 += 1; - puVar3 = puVar3 + 1; - } while (uVar16 != 0x11); - uVar21 = *puParm7; - if (*puParm7 < uVar16) { - uVar21 = uVar16; - } - uVar22 = 0x10; - piVar18 = aiStack8; - do { - if (*piVar18 != 0) break; - uVar22 -= 1; - piVar18 = piVar18 + -1; - } while (uVar22 != 0); - if (uVar22 < uVar21) { - uVar21 = uVar22; - } - *puParm7 = uVar21; - iVar5 = 1 << (uVar16 & 0x1f); - if (uVar16 < uVar22) { - do { - uVar23 = *puVar3; - puVar3 = puVar3 + 1; - iVar5 = (iVar5 - uVar23) * 2; - } while (puVar3 < &uStack72 + uVar22); - } - uVar23 = uVar22 - 1; - iVar10 = 0; - iVar5 -= *piVar18; - *piVar18 = *piVar18 + iVar5; - piVar19 = aiStack68; - piVar8 = aiStack1396; - puVar3 = (uint *)(piVar18 + -1); - if (uVar23 != 0) { - if (-(uVar23 & 3) != 0) { - do { - puVar3 = puVar3 + -1; - piVar18 = piVar8 + 1; - iVar10 += *piVar19; - *piVar8 = iVar10; - piVar19 = piVar19 + 1; - piVar8 = piVar18; - } while (&uStack72 + -(uVar23 & 3) + uVar23 != puVar3); - piVar8 = piVar18; - if (puVar3 == &uStack72) goto LAB_7f0ce04c; - } - do { - iVar13 = *piVar19; - puVar3 = puVar3 + -4; - *piVar8 = iVar10 + iVar13; - iVar10 = iVar10 + iVar13 + piVar19[1]; - piVar8[1] = iVar10; - iVar10 += piVar19[2]; - piVar8[2] = iVar10; - iVar10 += piVar19[3]; - piVar8[3] = iVar10; - piVar19 = piVar19 + 4; - piVar8 = piVar8 + 4; - } while (puVar3 != &uStack72); - } -LAB_7f0ce04c: - uVar23 = 0; - puVar3 = auStack1332; - iVar10 = *piParm1; - while( true ) { - piParm1 = piParm1 + 1; - if (iVar10 != 0) { - uVar24 = auStack1404[iVar10]; - puVar3[uVar24] = uVar23; - auStack1404[iVar10] = uVar24 + 1; - } - uVar23 += 1; - if (uParm2 <= uVar23) break; - iVar10 = *piParm1; - } - uVar24 = 0; - iVar10 = -1; - uVar23 = -uVar21; - uVar7 = 0; - uVar6 = 0; - if ((int)uVar16 <= (int)uVar22) { - puStack1436 = &uStack72 + uVar16; - do { - iVar13 = iVar10 * 4; - if (*puStack1436 != 0) { - puVar12 = auStack1404 + iVar10; - uVar14 = 1 << (uVar16 + 0x1f & 0x1f); - puVar20 = puVar3; - uVar11 = *puStack1436; - do { - uVar17 = uVar11 - 1; - if ((int)(uVar23 + uVar21) < (int)uVar16) { - uVar2 = uVar23 + uVar21; - puVar3 = (uint *)((int)auStack180 + iVar13); - do { - uVar23 = uVar2; - iVar10 += 1; - iVar13 += 4; - puVar12 = puVar12 + 1; - uVar7 = uVar22 - uVar23; - if (uVar21 < uVar22 - uVar23) { - uVar7 = uVar21; - } - uVar2 = uVar16 - uVar23; - uVar6 = 1 << (uVar2 & 0x1f); - if (uVar11 < uVar6) { - iVar4 = (uVar6 - uVar17) + -1; - puVar9 = &uStack72 + uVar16; - while (uVar2 += 1, uVar2 < uVar7) { - puVar1 = puVar9 + 1; - puVar9 = puVar9 + 1; - if ((uint)(iVar4 * 2) <= *puVar1) break; - iVar4 = iVar4 * 2 - *puVar1; - } - } - uVar6 = 1 << (uVar2 & 0x1f); - iVar4 = _DAT_8007474c * 8; - _DAT_8007474c = _DAT_8007474c + uVar6 + 1; - iVar4 += _DAT_80074740; - uVar7 = iVar4 + 8; - *puParm6 = uVar7; - *(undefined4 *)(iVar4 + 4) = 0; - puParm6 = (uint *)(iVar4 + 4); - puVar3[1] = uVar7; - if (iVar10 != 0) { - *puVar12 = uVar24; - uStack116._1_3_ = CONCAT12((char)uVar21,uStack116._2_2_); - uStack116 = CONCAT13((char)uVar2 + '\x10',uStack116._1_3_); - puVar15 = (undefined4 *)(*puVar3 + (uVar24 >> (uVar23 - uVar21 & 0x1f)) * 8); - *puVar15 = uStack116; - puVar15[1] = uVar7; - uStack112 = uVar7; - } - uVar2 = uVar23 + uVar21; - puVar3 = puVar3 + 1; - } while ((int)(uVar23 + uVar21) < (int)uVar16); - } - uStack116._1_3_ = CONCAT12((char)(uVar16 - uVar23),uStack116._2_2_); - if (puVar20 < auStack1332 + uParm2) { - uVar11 = *puVar20; - if (uVar11 < uParm3) { - if (uVar11 < 0x100) { - uStack116 = CONCAT13(0x10,uStack116._1_3_); - } - else { - uStack116 = CONCAT13(0xf,uStack116._1_3_); - } - puVar3 = puVar20 + 1; - uStack112 = uStack112 & 0xffff | *puVar20 << 0x10; - } - else { - puVar3 = puVar20 + 1; - uStack116 = CONCAT13(*(undefined *)((uVar11 - uParm3) + iParm5),uStack116._1_3_); - uStack112 = uStack112 & 0xffff | - (uint)*(ushort *)(iParm4 + *puVar20 * 2 + uParm3 * -2) << 0x10; - } - } - else { - uStack116 = CONCAT13(99,uStack116._1_3_); - puVar3 = puVar20; - } - uVar11 = uVar24 >> (uVar23 & 0x1f); - if (uVar11 < uVar6) { - do { - puVar15 = (undefined4 *)(uVar7 + uVar11 * 8); - *puVar15 = uStack116; - uVar11 += 1 << (uVar16 - uVar23 & 0x1f); - puVar15[1] = uStack112; - } while (uVar11 < uVar6); - } - uVar2 = uVar24 & uVar14; - uVar11 = uVar14; - while (uVar2 != 0) { - uVar24 ^= uVar11; - uVar2 = uVar24 & uVar11 >> 1; - uVar11 = uVar11 >> 1; - } - uVar24 ^= uVar11; - if ((uVar24 & (1 << (uVar23 & 0x1f)) - 1U) != *puVar12) { - do { - uVar23 -= uVar21; - puVar20 = puVar12 + -1; - iVar10 += -1; - iVar13 += -4; - puVar12 = puVar12 + -1; - } while ((uVar24 & (1 << (uVar23 & 0x1f)) - 1U) != *puVar20); - } - puVar20 = puVar3; - uVar11 = uVar17; - } while (uVar17 != 0); - } - uVar16 += 1; - puStack1436 = puStack1436 + 1; - } while ((int)uVar16 <= (int)uVar22); - } - return (ulonglong)(iVar5 != 0 && uVar22 != 1); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0ce410(int iParm1,int iParm2,ulonglong uParm3,uint uParm4) - -{ - byte bVar1; - undefined uVar2; - uint uVar3; - bool bVar4; - undefined *puVar5; - int iVar6; - byte *pbVar7; - uint uVar8; - ulonglong uVar9; - ulonglong uVar10; - byte *pbVar11; - undefined *puVar12; - ulonglong uVar13; - int iVar14; - uint uVar15; - ulonglong uVar16; - uint uVar17; - uint uVar18; - int iVar19; - - iVar6 = (int)uParm3; - uVar13 = SEXT48(_DAT_80074748); - uVar9 = (ulonglong)*(ushort *)(&DAT_80046f30 + iVar6 * 2); - uVar10 = (ulonglong)*(ushort *)(&DAT_80046f30 + uParm4 * 2); - iVar19 = _DAT_8007473c; - uVar17 = _DAT_80074744; - do { - bVar4 = uVar13 < uParm3; - while( true ) { - if (bVar4) { - do { - pbVar7 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar8 = (uint)uVar13; - uVar13 = SEXT48((int)(uVar8 + 8)); - uVar17 |= (uint)*pbVar7 << (uVar8 & 0x1f); - } while (uVar13 < uParm3); - } - uVar8 = (uint)uVar13; - pbVar7 = (byte *)((uVar17 & (uint)uVar9) * 8 + iParm1); - uVar16 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) { - bVar1 = pbVar7[1]; - } - else { - bVar1 = pbVar7[1]; - while( true ) { - iVar14 = (int)uVar16 + -0x10; - uVar8 = (int)uVar13 - (uint)bVar1; - uVar17 >>= (uint)bVar1 & 0x1f; - while (uVar13 = SEXT48((int)uVar8), uVar13 < (ulonglong)(longlong)iVar14) { - pbVar11 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar15 = uVar8 & 0x1f; - uVar8 += 8; - uVar17 |= (uint)*pbVar11 << uVar15; - } - pbVar7 = (byte *)(((uint)*(ushort *)(&DAT_80046f30 + iVar14 * 2) & uVar17) * 8 + - *(int *)(pbVar7 + 4)); - uVar16 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) break; - bVar1 = pbVar7[1]; - } - bVar1 = pbVar7[1]; - } - uVar17 >>= (uint)bVar1 & 0x1f; - iVar14 = uVar8 - (uint)bVar1; - uVar13 = SEXT48(iVar14); - if (uVar16 == 0x10) break; - if (uVar16 == 0xf) { - _DAT_8007473c = iVar19; - _DAT_80074744 = uVar17; - _DAT_80074748 = iVar14; - return 0; - } - uVar8 = (uint)uVar16; - while (uVar13 < uVar16) { - pbVar11 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar15 = (uint)uVar13; - iVar14 = uVar15 + 8; - uVar13 = SEXT48(iVar14); - uVar17 |= (uint)*pbVar11 << (uVar15 & 0x1f); - } - uVar15 = iVar14 - uVar8; - uVar18 = uVar17 >> (uVar8 & 0x1f); - uVar8 = ((uint)*(ushort *)(&DAT_80046f30 + uVar8 * 2) & uVar17) + - (uint)*(ushort *)(pbVar7 + 4); - while (uVar15 < uParm4) { - pbVar7 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar17 = uVar15 & 0x1f; - uVar15 += 8; - uVar18 |= (uint)*pbVar7 << uVar17; - } - pbVar7 = (byte *)((uVar18 & (uint)uVar10) * 8 + iParm2); - uVar13 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) { - bVar1 = pbVar7[1]; - } - else { - bVar1 = pbVar7[1]; - while( true ) { - uVar17 = (int)uVar13 - 0x10; - uVar15 -= (uint)bVar1; - uVar18 >>= (uint)bVar1 & 0x1f; - while (uVar15 < uVar17) { - pbVar11 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar3 = uVar15 & 0x1f; - uVar15 += 8; - uVar18 |= (uint)*pbVar11 << uVar3; - } - pbVar7 = (byte *)(((uint)*(ushort *)(&DAT_80046f30 + uVar17 * 2) & uVar18) * 8 + - *(int *)(pbVar7 + 4)); - uVar13 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) break; - bVar1 = pbVar7[1]; - } - bVar1 = pbVar7[1]; - } - uVar15 -= (uint)bVar1; - uVar18 >>= (uint)bVar1 & 0x1f; - while ((ulonglong)(longlong)(int)uVar15 < uVar13) { - pbVar11 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar17 = uVar15 & 0x1f; - uVar15 += 8; - uVar18 |= (uint)*pbVar11 << uVar17; - } - uVar17 = (uint)uVar13; - uVar13 = SEXT48((int)(uVar15 - uVar17)); - iVar14 = (iVar19 - (uint)*(ushort *)(pbVar7 + 4)) - - ((uint)*(ushort *)(&DAT_80046f30 + uVar17 * 2) & uVar18); - uVar17 = uVar18 >> (uVar17 & 0x1f); - do { - if ((uint)(iVar19 - iVar14) < uVar8) { - do { - puVar5 = (undefined *)(_DAT_80074734 + iVar19); - if (((undefined *)(_DAT_80074730 + _DAT_80074738) <= puVar5) && - (puVar5 + -(int)(undefined *)(_DAT_80074730 + _DAT_80074738) < (undefined *)0x8000)) - { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - puVar12 = (undefined *)(iVar14 + _DAT_80074734); - uVar8 -= 1; - iVar14 += 1; - iVar19 += 1; - *puVar5 = *puVar12; - } while (uVar8 != 0); - } - else { - uVar15 = (iVar19 + uVar8 + _DAT_80074734) - 1; - if (((uint)(_DAT_80074730 + _DAT_80074738) <= uVar15) && - (uVar15 - (_DAT_80074730 + _DAT_80074738) < 0x8000)) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - strchr(_DAT_80074734 + iVar19,_DAT_80074734 + iVar14,uVar8); - uVar9 = SEXT48((int)uVar9); - uVar10 = SEXT48((int)uVar10); - uParm3 = SEXT48(iVar6); - iVar14 += uVar8; - iVar19 = iVar19 + uVar8; - } - uVar8 = 0; - } while (false); - bVar4 = uVar13 < uParm3; - } - puVar5 = (undefined *)(_DAT_80074734 + iVar19); - if (puVar5 < (undefined *)(_DAT_80074730 + _DAT_80074738)) { - uVar2 = (undefined)*(undefined2 *)(pbVar7 + 4); - } - else { - if (puVar5 + -(int)(undefined *)(_DAT_80074730 + _DAT_80074738) < (undefined *)0x8000) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - uVar2 = (undefined)*(undefined2 *)(pbVar7 + 4); - } - iVar19 += 1; - *puVar5 = uVar2; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0ce8ac(void) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - uint uVar4; - undefined *puVar5; - byte *pbVar6; - - uVar4 = _DAT_80074748 - (_DAT_80074748 & 7); - _DAT_80074744 >>= _DAT_80074748 & 7; - while (uVar4 < 0x10) { - pbVar6 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar3 = uVar4 & 0x1f; - uVar4 += 8; - _DAT_80074744 |= (uint)*pbVar6 << uVar3; - } - uVar4 -= 0x10; - uVar2 = _DAT_80074744 & 0xffff; - uVar3 = 0; - while (uVar4 < 0x10) { - pbVar6 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar1 = uVar4 & 0x1f; - uVar4 += 8; - uVar3 |= (uint)*pbVar6 << uVar1; - } - _DAT_80074748 = uVar4 - 0x10; - _DAT_80074744 = uVar3 >> 0x10; - while( true ) { - if (uVar2 == 0) { - return 0; - } - uVar2 -= 1; - while (_DAT_80074748 < 8) { - pbVar6 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar4 = _DAT_80074748 & 0x1f; - _DAT_80074748 += 8; - _DAT_80074744 |= (uint)*pbVar6 << uVar4; - } - puVar5 = (undefined *)(_DAT_80074734 + _DAT_8007473c); - if (((undefined *)(_DAT_80074730 + _DAT_80074738) <= puVar5) && - (puVar5 + -(int)(undefined *)(_DAT_80074730 + _DAT_80074738) < (undefined *)0x8000)) break; - *puVar5 = (char)_DAT_80074744; - _DAT_8007473c += 1; - _DAT_80074748 -= 8; - _DAT_80074744 = _DAT_80074744 >> 8; - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -undefined8 FUN_7f0cea48(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 uStack1172; - undefined4 uStack1168; - undefined4 auStack1164 [28]; - undefined4 auStack1052 [114]; - undefined4 auStack596 [112]; - undefined4 auStack148 [24]; - undefined4 auStack52 [8]; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 auStack8 [2]; - - puVar1 = &uStack1172; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 8; - puVar1[2] = 8; - puVar1[3] = 8; - *puVar1 = 8; - puVar1 = puVar2; - } while (puVar2 != auStack596); - if (puVar2 < auStack148) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 9; - puVar1 = puVar2; - } while (puVar2 < auStack148); - } - if (puVar2 < auStack52) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 7; - puVar1 = puVar2; - } while (puVar2 < auStack52); - } - if (puVar2 < &uStack20) { - do { - puVar1 = puVar2 + 1; - *puVar2 = 8; - puVar2 = puVar1; - } while (puVar1 < &uStack20); - } - uStack16 = 7; - loop_to_decompress_entire_file - (&uStack1172,0x120,0x101,&DAT_80046e74,&DAT_80046eb4,auStack8,&uStack16); - uStack1168 = 5; - uStack1172 = 5; - puVar1 = auStack1164; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 5; - puVar1[2] = 5; - puVar1[3] = 5; - *puVar1 = 5; - puVar1 = puVar2; - } while (puVar2 != auStack1052); - uStack20 = 5; - loop_to_decompress_entire_file(&uStack1172,0x1e,0,&DAT_80046ed4,&DAT_80046f10,&uStack12,&uStack20) - ; - FUN_7f0ce410(auStack8[0],uStack12,uStack16,uStack20); - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0cebb0(void) - -{ - byte bVar1; - ushort uVar2; - ushort uVar3; - bool bVar4; - uint *puVar5; - uint uVar6; - int iVar7; - byte *pbVar8; - ulonglong uVar9; - uint uVar10; - byte *pbVar11; - uint uVar12; - uint local_528 [316]; - uint local_38; - uint local_34; - int local_30; - int local_2c; - undefined4 local_24; - uint local_20; - int local_1c; - int local_18 [6]; - - local_34 = _DAT_80074748; - uVar6 = _DAT_80074748; - uVar10 = _DAT_80074744; - if (_DAT_80074748 < 5) { - do { - pbVar8 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - local_34 = uVar6 + 8; - uVar10 |= (uint)*pbVar8 << (uVar6 & 0x1f); - uVar6 = local_34; - } while (local_34 < 5); - } - local_34 -= 5; - local_2c = (uVar10 & 0x1f) + 0x101; - uVar10 >>= 5; - while (local_34 < 5) { - pbVar8 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar10 |= (uint)*pbVar8 << uVar6; - } - local_34 -= 5; - local_30 = (uVar10 & 0x1f) + 1; - uVar10 >>= 5; - while (local_34 < 4) { - pbVar8 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar10 |= (uint)*pbVar8 << uVar6; - } - local_38 = uVar10 >> 4; - local_34 -= 4; - uVar6 = 0; - if ((uVar10 & 0xf) != 0xfffffffc) { - pbVar8 = &DAT_80046e60; - do { - uVar6 += 1; - while (local_34 < 3) { - pbVar11 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar12 = local_34 & 0x1f; - local_34 += 8; - local_38 |= (uint)*pbVar11 << uVar12; - } - bVar1 = *pbVar8; - uVar12 = local_38 & 7; - pbVar8 = pbVar8 + 1; - local_38 >>= 3; - local_528[(uint)bVar1] = uVar12; - local_34 -= 3; - } while (uVar6 != (uVar10 & 0xf) + 4); - } - if (uVar6 < 0x13) { - pbVar8 = &DAT_80046e60 + uVar6; - do { - bVar1 = *pbVar8; - pbVar8 = pbVar8 + 1; - local_528[(uint)bVar1] = 0; - } while (pbVar8 < (byte *)0x80046e73); - } - local_20 = 7; - loop_to_decompress_entire_file(local_528,0x13,0x13,0,0,local_18,&local_20); - uVar6 = local_2c + local_30; - uVar2 = *(ushort *)(&DAT_80046f30 + local_20 * 2); - uVar9 = 0; - uVar10 = 0; - _DAT_80074748 = local_34; - _DAT_80074744 = local_38; - if (uVar6 != 0) { - do { - while (_DAT_80074748 < local_20) { - pbVar8 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar12 = _DAT_80074748 & 0x1f; - _DAT_80074748 = _DAT_80074748 + 8; - _DAT_80074744 = _DAT_80074744 | (uint)*pbVar8 << uVar12; - } - local_1c = (_DAT_80074744 & (uint)uVar2) * 8 + local_18[0]; - _DAT_80074744 >>= (uint)*(byte *)(local_1c + 1) & 0x1f; - _DAT_80074748 -= (uint)*(byte *)(local_1c + 1); - uVar3 = *(ushort *)(local_1c + 4); - if (uVar3 < 0x10) { - local_528[uVar10] = (uint)uVar3; - uVar10 += 1; - uVar9 = (ulonglong)uVar3; -LAB_7f0cf008: - bVar4 = uVar10 < uVar6; - } - else { - if (uVar3 != 0x10) { - uVar9 = 0; - if (uVar3 == 0x11) { - while (_DAT_80074748 < 3) { - pbVar8 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar12 = _DAT_80074748 & 0x1f; - _DAT_80074748 += 8; - _DAT_80074744 |= (uint)*pbVar8 << uVar12; - } - uVar12 = _DAT_80074744 & 7; - _DAT_80074744 >>= 3; - _DAT_80074748 -= 3; - iVar7 = uVar12 + 2; - if (uVar12 != 0xfffffffd) { - puVar5 = local_528 + uVar10; - do { - *puVar5 = 0; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar10 < uVar6; - goto LAB_7f0cf00c; - } - } - else { - while (_DAT_80074748 < 7) { - pbVar8 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar12 = _DAT_80074748 & 0x1f; - _DAT_80074748 += 8; - _DAT_80074744 |= (uint)*pbVar8 << uVar12; - } - uVar12 = _DAT_80074744 & 0x7f; - _DAT_80074744 >>= 7; - _DAT_80074748 -= 7; - iVar7 = uVar12 + 10; - if (uVar12 != 0xfffffff5) { - puVar5 = local_528 + uVar10; - do { - *puVar5 = 0; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - } - } - goto LAB_7f0cf008; - } - while (_DAT_80074748 < 2) { - pbVar8 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar12 = _DAT_80074748 & 0x1f; - _DAT_80074748 += 8; - _DAT_80074744 |= (uint)*pbVar8 << uVar12; - } - uVar12 = _DAT_80074744 & 3; - _DAT_80074744 >>= 2; - _DAT_80074748 -= 2; - iVar7 = uVar12 + 2; - if (uVar12 == 0xfffffffd) goto LAB_7f0cf008; - puVar5 = local_528 + uVar10; - do { - *puVar5 = (uint)uVar9; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar10 < uVar6; - } -LAB_7f0cf00c: - } while (bVar4); - } - local_20 = DAT_80046f54; - loop_to_decompress_entire_file - (local_528,local_2c,0x101,&DAT_80046e74,&DAT_80046eb4,local_18,&local_20); - local_24 = DAT_80046f58; - loop_to_decompress_entire_file - (local_528 + local_2c,local_30,0,&DAT_80046ed4,&DAT_80046f10,&local_1c,&local_24); - FUN_7f0ce410(local_18[0],local_1c,local_20,local_24); - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0cf0d4(uint *puParm1) - -{ - uint uVar2; - undefined8 uVar1; - uint uVar3; - byte *pbVar4; - - if (_DAT_80074748 == 0) { - do { - pbVar4 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar3 = _DAT_80074748 & 0x1f; - _DAT_80074748 += 8; - _DAT_80074744 |= (uint)*pbVar4 << uVar3; - } while (_DAT_80074748 == 0); - } - _DAT_80074748 -= 1; - uVar3 = _DAT_80074744 >> 1; - *puParm1 = _DAT_80074744 & 1; - while (_DAT_80074748 < 2) { - pbVar4 = (byte *)(_DAT_80074730 + _DAT_80074738); - _DAT_80074738 += 1; - uVar2 = _DAT_80074748 & 0x1f; - _DAT_80074748 += 8; - uVar3 |= (uint)*pbVar4 << uVar2; - } - uVar2 = uVar3 & 3; - _DAT_80074744 = uVar3 >> 2; - _DAT_80074748 -= 2; - if (uVar2 == 2) { - uVar1 = FUN_7f0cebb0(); - } - else { - if (uVar2 == 0) { - uVar1 = FUN_7f0ce8ac(); - } - else { - if (uVar2 == 1) { - uVar1 = FUN_7f0cea48(); - } - else { - uVar1 = 2; - } - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f0cf1f4(void) - -{ - longlong lVar1; - uint uVar2; - int iStack4; - - _DAT_8007473c = 0; - _DAT_80074748 = 0; - _DAT_80074744 = 0; - uVar2 = 0; - do { - _DAT_8007474c = 0; - lVar1 = FUN_7f0cf0d4(&iStack4); - if (lVar1 != 0) { - return lVar1; - } - if (uVar2 < _DAT_8007474c) { - uVar2 = _DAT_8007474c; - } - } while (iStack4 == 0); - while (7 < _DAT_80074748) { - _DAT_80074748 -= 8; - _DAT_80074738 += -1; - } - return 0; -} - - - -void load_rsp_microcode(void) - -{ - FUN_70004280(&DAT_80046f60,s_rsp_c_debug_80050b70); - return; -} - - - -void FUN_7f0cf2fc(void) - -{ - DAT_80046f68 = FUN_70008b80(0xa000,6); - DAT_80046f64 = DAT_80046f68 + 0xa000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0cf338(int iParm1,int iParm2,undefined8 uParm3,undefined4 uParm4) - -{ - undefined4 uVar1; - undefined *puVar2; - - puVar2 = PTR_DAT_80047030; - *(undefined4 *)(PTR_DAT_80047030 + 0x18) = 0x8001ec50; - *(undefined4 *)(puVar2 + 0x1c) = 0xd0; - *(undefined4 *)(puVar2 + 0x20) = 0x8001ed20; - *(undefined4 *)(puVar2 + 0x28) = 0x80050be0; - *(undefined4 *)(puVar2 + 0x38) = DAT_80046f68; - uVar1 = DAT_80046f64; - *(int *)(puVar2 + 0x40) = iParm1; - *(int *)(puVar2 + 0x44) = (iParm2 - iParm1 >> 3) << 3; - *(undefined4 *)(puVar2 + 0x48) = 0x80074b50; - *(undefined4 *)(puVar2 + 0x4c) = 0xba0; - *(undefined4 *)(puVar2 + 0x3c) = uVar1; - *(undefined4 *)puVar2 = 0; - *(undefined4 *)(puVar2 + 8) = 99; - *(undefined4 *)(puVar2 + 0x50) = 0x80051d60; - *(undefined4 *)(puVar2 + 0x54) = uParm4; - *(undefined4 *)(puVar2 + 0xc) = *(undefined4 *)(PTR_DAT_80047030 + 0x58); - osWritebackDCacheAll(); - osSendMesg(_sched_cmdQ,puVar2,1); - PTR_DAT_80047030 = (undefined *)((uint)PTR_DAT_80047030 ^ 0xa0); - return; -} - - - -void FUN_7f0cf48c(void) - -{ - if (DAT_80047048 != 0) { - FUN_7f0cff5c(); - } - return; -} - - - -void FUN_7f0cf4bc(undefined8 uParm1,undefined4 uParm2) - -{ - undefined auStack16 [4]; - undefined auStack12 [4]; - undefined auStack8 [8]; - - if (DAT_80047048 != 0) { - FUN_7f0d00c4(uParm1,0x400000); - FUN_7f0d0d1c(auStack8,auStack12,auStack16,uParm2); - } - return; -} - - - -void FUN_7f0cf500(undefined8 uParm1,undefined4 uParm2,undefined8 uParm3) - -{ - undefined auStack4 [4]; - - if (DAT_80047048 != 0) { - post_indy__res_cmd_send_capture_data(uParm1,uParm3,uParm2); - FUN_7f0d0d84(auStack4); - } - return; -} - - - -void FUN_7f0cf53c(void) - -{ - undefined auStack12 [4]; - undefined auStack8 [4]; - undefined auStack4 [4]; - - if (DAT_80047048 != 0) { - FUN_7f0d0238(); - FUN_7f0d0dcc(auStack4,auStack8,auStack12); - } - return; -} - - - -void FUN_7f0cf57c(undefined8 uParm1,undefined4 uParm2,undefined8 uParm3) - -{ - undefined auStack4 [4]; - - if (DAT_80047048 != 0) { - FUN_7f0d02f0(uParm1,uParm3,uParm2); - FUN_7f0d0e28(auStack4); - } - return; -} - - - -undefined4 FUN_7f0cf5b8(undefined8 uParm1,undefined4 uParm2) - -{ - undefined4 local_4; - - if (DAT_80047048 == 0) { - local_4 = 0; - } - else { - FUN_7f0d002c(); - FUN_7f0d0ccc(&local_4,uParm2); - } - return local_4; -} - - - -undefined4 FUN_7f0cf600(void) - -{ - undefined4 local_4; - - if (DAT_80047048 == 0) { - local_4 = 0; - } - else { - FUN_7f0d0394(); - FUN_7f0d0e70(&local_4); - } - return local_4; -} - - - -void FUN_7f0cf644(void) - -{ - if (DAT_80047048 != 0) { - rmon_debug_returns_neg_1(); - } - return; -} - - - -void FUN_7f0cf674(void) - -{ - FUN_7f0cf600(s_sleep_5___etc_killall_ghost_gloa_80050b80); - return; -} - - - -void sub_GAME_7F0D1998(void) - -{ - int iVar1; - - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - FUN_7000bc20(); - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - return; -} - - - -void sub_GAME_7F0D1998(void) - -{ - int iVar1; - - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - FUN_7000bc18(); - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0cf7ec) overlaps instruction at (ram,0x7f0cf7e8) -// - -undefined8 loc_7F0D0348(undefined *puParm1,uint uParm2) - -{ - undefined uVar1; - undefined *puVar2; - undefined *puVar3; - uint uVar4; - uint uVar5; - undefined auStack1280 [4]; - undefined auStack1276 [1276]; - - puVar3 = auStack1280; - if (((uint)puParm1 & 7) != 0) { - if (0x500 < uParm2) { - return 0; - } - if (false) { - puVar3 = auStack1276; - } - puVar2 = puVar3; - while (puVar2 < puVar3 + uParm2) { - uVar1 = *puParm1; - puParm1 = puParm1 + 1; - *puVar2 = uVar1; - puVar2 = puVar2 + 1; - } - if (((DAT_80047044 & 0x20) != 0) && (uParm2 != 0)) { - if ((uParm2 & 3) == 0) { - uVar5 = 4; - } - else { - uVar4 = 1; - while ((uParm2 & 3) != uVar4) { - uVar4 += 1; - } - uVar5 = uVar4 + 4; - if (uVar4 == uParm2) goto LAB_7f0cf7f8; - } - while (uVar5 != uParm2) { - uVar5 += 4; - } - } -LAB_7f0cf7f8: - sub_GAME_7F0D1998(puVar3,uParm2 + 3 & 0xfffffffc); - return 1; - } - if (((DAT_80047044 & 0x20) != 0) && (uParm2 != 0)) { - if ((uParm2 & 3) == 0) { - uVar5 = 4; - } - else { - uVar4 = 1; - while ((uParm2 & 3) != uVar4) { - uVar4 += 1; - } - uVar5 = uVar4 + 4; - if (uVar4 == uParm2) goto LAB_7f0cf858; - } - while (uVar5 != uParm2) { - uVar5 += 4; - } - } -LAB_7f0cf858: - sub_GAME_7F0D1998(puParm1,uParm2 + 3 & 0xfffffffc); - return 1; -} - - - -undefined8 FUN_7f0cf878(undefined8 uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - loc_7F0D0348(); - loc_7F0D0348(uParm3,uParm4); - return 1; -} - - - -void sub_7F0D038C(undefined4 uParm1,undefined4 uParm2) - -{ - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack20 = 0x9abf1623; - uStack16 = 1; - uStack12 = 0x14; - uStack8 = uParm1; - uStack4 = uParm2; - loc_7F0D0348(&uStack20,0x14); - return; -} - - - -void sub_7F0D03D4(undefined4 uParm1,undefined4 uParm2) - -{ - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack20 = 0x9abf1623; - uStack16 = 2; - uStack12 = 0x14; - uStack8 = uParm1; - uStack4 = uParm2; - loc_7F0D0348(&uStack20,0x14); - return; -} - - - -void sub_7F0D041C(undefined4 uParm1,undefined4 uParm2) - -{ - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack20 = 0x9abf1623; - uStack16 = 0; - uStack12 = 0x14; - uStack8 = uParm1; - uStack4 = uParm2; - loc_7F0D0348(&uStack20,0x14); - return; -} - - - -void sub_7F0D0460(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3) - -{ - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - undefined4 uStack264; - undefined4 uStack260; - undefined auStack256 [255]; - undefined uStack1; - - uStack276 = 0x9abf1623; - uStack272 = 3; - uStack268 = 0x114; - uStack264 = uParm1; - uStack260 = uParm2; - locret_7000A7F4(auStack256,uParm3,0x100); - uStack1 = 0; - loc_7F0D0348(&uStack276,0x114); - return; -} - - - -void sub_7F0D04C4(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 4; - uStack16 = 0x18; - uStack12 = uParm1; - uStack8 = uParm2; - uStack4 = uParm3; - loc_7F0D0348(&uStack24,0x18); - return; -} - - - -void sub_7F0D0514(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3) - -{ - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - undefined4 uStack264; - undefined4 uStack260; - undefined auStack256 [255]; - undefined uStack1; - - uStack276 = 0x9abf1623; - uStack272 = 5; - uStack268 = 0x114; - uStack264 = uParm1; - uStack260 = uParm2; - locret_7000A7F4(auStack256,uParm3,0x100); - uStack1 = 0; - loc_7F0D0348(&uStack276,0x114); - return; -} - - - -void sub_7F0D0578(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack28 = 0x9abf1623; - uStack24 = 6; - uStack20 = 0x1c; - uStack16 = uParm1; - uStack12 = uParm2; - uStack8 = uParm3; - uStack4 = uParm4; - loc_7F0D0348(&uStack28,0x1c); - return; -} - - - -void sub_7F0D05D0(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3,undefined4 uParm4) - -{ - undefined4 uStack280; - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - undefined4 uStack264; - undefined auStack260 [255]; - undefined uStack5; - undefined4 uStack4; - - uStack280 = 0x9abf1623; - uStack276 = 7; - uStack272 = 0x118; - uStack268 = uParm1; - uStack264 = uParm2; - locret_7000A7F4(auStack260,uParm3,0x100); - uStack5 = 0; - uStack4 = uParm4; - loc_7F0D0348(&uStack280,0x118); - return; -} - - - -void sub_7F0D0644(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4,int iParm5 - ,undefined4 uParm6) - -{ - undefined4 uStack32; - undefined4 uStack28; - int iStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - iStack24 = (iParm5 + 3U & 0xfffffffc) + 0x20; - uStack32 = 0x9abf1623; - uStack28 = 8; - iStack4 = iParm5; - uStack20 = uParm1; - uStack16 = uParm2; - uStack12 = uParm3; - uStack8 = uParm4; - FUN_7f0cf878(&uStack32,0x20,uParm6); - return; -} - - - -void sub_7F0D06C0(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3,int iParm4,undefined4 uParm5 - ) - -{ - undefined4 uStack276; - undefined4 uStack272; - int iStack268; - undefined4 uStack264; - undefined4 uStack260; - undefined auStack256 [255]; - undefined uStack1; - - iStack268 = (iParm4 + 3U & 0xfffffffc) + 0x114; - uStack276 = 0x9abf1623; - uStack272 = 9; - uStack264 = uParm1; - uStack260 = uParm2; - locret_7000A7F4(auStack256,uParm3,0x100); - uStack1 = 0; - FUN_7f0cf878(&uStack276,0x114,uParm5,iParm4); - return; -} - - - -void FUN_7f0cfc60(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 10; - uStack16 = 0x18; - uStack12 = uParm1; - uStack8 = uParm2; - uStack4 = uParm3; - loc_7F0D0348(&uStack24,0x18); - return; -} - - - -void FUN_7f0cfcb0(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - undefined4 uStack284; - undefined4 uStack280; - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - undefined auStack264 [255]; - undefined uStack9; - undefined4 uStack8; - undefined4 uStack4; - - uStack284 = 0x9abf1623; - uStack280 = 0xf; - uStack276 = 0x11c; - uStack272 = uParm1; - uStack268 = uParm2; - locret_7000A7F4(auStack264,uParm3,0x100); - uStack9 = 0; - uStack4 = uParm5; - uStack8 = uParm4; - loc_7F0D0348(&uStack284,0x11c); - return; -} - - - -void sub_7F0D080C(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack32 = 0x9abf1623; - uStack28 = 0x10; - uStack24 = 0x20; - uStack4 = uParm5; - uStack20 = uParm1; - uStack16 = uParm2; - uStack12 = uParm3; - uStack8 = uParm4; - loc_7F0D0348(&uStack32,0x20); - return; -} - - - -void FUN_7f0cfd8c(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3,undefined4 uParm4, - undefined4 uParm5) - -{ - undefined4 uStack284; - undefined4 uStack280; - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - undefined auStack264 [255]; - undefined uStack9; - undefined4 uStack8; - undefined4 uStack4; - - uStack284 = 0x9abf1623; - uStack280 = 0xd; - uStack276 = 0x11c; - uStack272 = uParm1; - uStack268 = uParm2; - locret_7000A7F4(auStack264,uParm3,0x100); - uStack9 = 0; - uStack4 = uParm5; - uStack8 = uParm4; - loc_7F0D0348(&uStack284,0x11c); - return; -} - - - -void sub_7F0D08E8(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 0xe; - uStack16 = 0x18; - uStack12 = uParm1; - uStack8 = uParm2; - uStack4 = uParm3; - loc_7F0D0348(&uStack24,0x18); - return; -} - - - -void sub_7F0D0938(undefined4 uParm1,undefined4 uParm2,undefined8 uParm3) - -{ - undefined4 uStack1044; - undefined4 uStack1040; - undefined4 uStack1036; - undefined4 uStack1032; - undefined4 uStack1028; - undefined auStack1024 [1023]; - undefined uStack1; - - uStack1044 = 0x9abf1623; - uStack1040 = 0xb; - uStack1036 = 0x414; - uStack1032 = uParm1; - uStack1028 = uParm2; - locret_7000A7F4(auStack1024,uParm3,0x400); - uStack1 = 0; - loc_7F0D0348(&uStack1044,0x414); - return; -} - - - -void sub_7F0D099C(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 0xc; - uStack16 = 0x18; - uStack12 = uParm1; - uStack8 = uParm2; - uStack4 = uParm3; - loc_7F0D0348(&uStack24,0x18); - return; -} - - - -void FUN_7f0cff0c(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 10; - uStack16 = 0x18; - uStack12 = uParm1; - uStack8 = uParm2; - uStack4 = uParm3; - loc_7F0D0348(&uStack24,0x18); - return; -} - - - -undefined8 FUN_7f0cff5c(void) - -{ - sub_7F0D038C(0x14,0x14); - sub_7F0D041C(0x14,0x14); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0cff9c(undefined4 uParm1) - -{ - sub_7F0D038C(0x114,0x114); - sub_7F0D0460(0x14,0x14,uParm1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0cffe4(undefined4 uParm1) - -{ - sub_7F0D038C(0x18,0x18); - sub_7F0D04C4(0x14,0x14,uParm1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d002c(undefined4 uParm1) - -{ - sub_7F0D038C(0x114,0x114); - sub_7F0D0514(0x14,0x14,uParm1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0074(undefined4 uParm1,undefined4 uParm2) - -{ - sub_7F0D038C(0x1c,0x1c); - sub_7F0D0578(0x14,0x14,uParm1,uParm2); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d00c4(undefined4 uParm1,undefined4 uParm2) - -{ - sub_7F0D038C(0x118,0x118); - sub_7F0D05D0(0x14,0x14,uParm1,uParm2); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 sub_7F0D0BF4(undefined4 uParm1,undefined4 uParm2,int iParm3,undefined4 uParm4) - -{ - sub_7F0D038C((iParm3 + 3U & 0xfffffffc) + 0x20,0x20); - sub_7F0D0644(0x14,0x14,uParm1,uParm2,iParm3,uParm4); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 post_indy__res_cmd_send_capture_data(undefined4 uParm1,int iParm2,undefined4 uParm3) - -{ - sub_7F0D038C((iParm2 + 3U & 0xfffffffc) + 0x114,0x114); - sub_7F0D06C0(0x14,0x14,uParm1,iParm2,uParm3); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d01f0(undefined4 uParm1) - -{ - sub_7F0D038C(0x18,0x18); - FUN_7f0cfc60(0x14,0x14,uParm1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0238(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - sub_7F0D038C(0x11c,0x11c); - FUN_7f0cfcb0(0x14,0x14,uParm1,uParm3,uParm2); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0294(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - sub_7F0D038C(0x20,0x20); - sub_7F0D080C(0x14,0x14,uParm1,uParm2,uParm3); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d02f0(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - sub_7F0D038C(0x11c,0x11c); - FUN_7f0cfd8c(0x14,0x14,uParm1,uParm3,uParm2); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d034c(undefined4 uParm1) - -{ - sub_7F0D038C(0x18,0x18); - sub_7F0D08E8(0x14,0x14,uParm1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0394(undefined4 uParm1) - -{ - sub_7F0D038C(0x414,0x414); - sub_7F0D0938(0x14,0x14,uParm1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d03dc(undefined4 uParm1) - -{ - sub_7F0D038C(0x18,0x18); - sub_7F0D099C(0x14,0x14,uParm1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0424(undefined4 uParm1) - -{ - sub_7F0D038C(0x18,0x18); - FUN_7f0cff0c(0x14,0x14,uParm1); - sub_7F0D03D4(0,0); - return 1; -} - - - -// WARNING: Instruction at (ram,0x7f0d053c) overlaps instruction at (ram,0x7f0d0538) -// - -undefined8 loc_7F0D1098(undefined *puParm1,uint uParm2) - -{ - undefined uVar1; - uint uVar2; - uint uVar3; - undefined *puVar4; - undefined *puVar5; - undefined auStack1024 [4]; - undefined auStack1020 [1020]; - - puVar4 = auStack1024; - if (((uint)puParm1 & 7) == 0) { - sub_GAME_7F0D1998(puParm1,uParm2 + 3 & 0xfffffffc,uParm2,puVar4); - if ((DAT_80047044 & 0x10) == 0) { - return 1; - } - if (uParm2 != 0) { - if ((uParm2 & 3) == 0) { - uVar3 = 4; - } - else { - uVar2 = 1; - while ((uParm2 & 3) != uVar2) { - uVar2 += 1; - } - uVar3 = uVar2 + 4; - if (uVar2 == uParm2) { - return 1; - } - } - while (uVar3 != uParm2) { - uVar3 += 4; - } - } - return 1; - } - if (0x400 < uParm2) { - return 0; - } - if (false) { - puVar4 = auStack1020; - } - sub_GAME_7F0D1998(puVar4,uParm2 + 3 & 0xfffffffc); - puVar5 = puVar4 + uParm2; - while (puVar4 < puVar5) { - uVar1 = *puVar4; - puVar4 = puVar4 + 1; - *puParm1 = uVar1; - puParm1 = puParm1 + 1; - } - if (((DAT_80047044 & 0x10) != 0) && (uParm2 != 0)) { - if ((uParm2 & 3) == 0) { - uVar3 = 4; - } - else { - uVar2 = 1; - while ((uParm2 & 3) != uVar2) { - uVar2 += 1; - } - uVar3 = uVar2 + 4; - if (uVar2 == uParm2) { - return 1; - } - } - while (uVar3 != uParm2) { - uVar3 += 4; - } - } - return 1; -} - - - -undefined8 sub_7F0D10A8(undefined8 uParm1,int iParm2,undefined4 uParm3,int iParm4) - -{ - sub_GAME_7F0D1998(uParm1,iParm2 + 3U & 0xfffffffc); - sub_GAME_7F0D1998(uParm3,iParm4 + 3U & 0xfffffffc); - return 1; -} - - - -undefined8 FUN_7f0d0620(int iParm1,int iParm2) - -{ - undefined8 uVar1; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - loc_7F0D1098(&iStack20,0x14); - if (iStack20 == -0x6540e9dd) { - if (iStack16 == 1) { - if (iStack12 == 0x14) { - if ((iParm1 == 0) || (iStack8 == iParm1)) { - uVar1 = 1; - if (iStack4 != iParm2) { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d06cc(int iParm1,int iParm2) - -{ - undefined8 uVar1; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - loc_7F0D1098(&iStack20,0x14); - if (iStack20 == -0x6540e9dd) { - if (iStack16 == 2) { - if (iStack12 == 0x14) { - if (iStack8 == iParm1) { - uVar1 = 1; - if (iStack4 != iParm2) { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d0768(int iParm1,int iParm2,undefined4 *puParm3) - -{ - undefined8 uVar1; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - loc_7F0D1098(&iStack24,0x18); - if (iStack24 == -0x6540e9dd) { - if (iStack20 == 4) { - if (iStack16 == 0x18) { - if (iStack12 == iParm1) { - if (iStack8 == iParm2) { - uVar1 = 1; - *puParm3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d0814(int iParm1,int iParm2,undefined4 *puParm3,undefined4 *puParm4) - -{ - undefined8 uVar1; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - undefined4 uStack8; - undefined4 uStack4; - - loc_7F0D1098(&iStack28,0x1c); - if (iStack28 == -0x6540e9dd) { - if (iStack24 == 6) { - if (iStack20 == 0x1c) { - if (iStack16 == iParm1) { - if (iStack12 == iParm2) { - uVar1 = 1; - *puParm3 = uStack8; - *puParm4 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 -FUN_7f0d08d0(int iParm1,int iParm2,undefined4 *puParm3,undefined4 *puParm4,int *piParm5, - undefined4 uParm6) - -{ - undefined8 uVar1; - int iStack32; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - loc_7F0D1098(&iStack32,0x20); - if (iStack32 == -0x6540e9dd) { - if (iStack28 == 8) { - if (iStack24 == (iStack4 + 3U & 0xfffffffc) + 0x20) { - if (iStack20 == iParm1) { - if (iStack16 == iParm2) { - *puParm3 = uStack12; - *puParm4 = uStack8; - *piParm5 = iStack4; - loc_7F0D1098(uParm6,iStack4 + 3U & 0xfffffffc); - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d09b8(int iParm1,int iParm2,undefined4 *puParm3) - -{ - undefined8 uVar1; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - loc_7F0D1098(&iStack24,0x18); - if (iStack24 == -0x6540e9dd) { - if (iStack20 == 10) { - if (iStack16 == 0x18) { - if (iStack12 == iParm1) { - if (iStack8 == iParm2) { - uVar1 = 1; - *puParm3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 -FUN_7f0d0a64(int iParm1,int iParm2,undefined4 *puParm3,undefined4 *puParm4,undefined4 *puParm5) - -{ - undefined8 uVar1; - int iStack32; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - loc_7F0D1098(&iStack32,0x20); - if (iStack32 == -0x6540e9dd) { - if (iStack28 == 0x10) { - if (iStack24 == 0x20) { - if (iStack20 == iParm1) { - if (iStack16 == iParm2) { - uVar1 = 1; - *puParm3 = uStack12; - *puParm4 = uStack8; - *puParm5 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d0b2c(int iParm1,int iParm2,undefined4 *puParm3) - -{ - undefined8 uVar1; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - loc_7F0D1098(&iStack24,0x18); - if (iStack24 == -0x6540e9dd) { - if (iStack20 == 0xe) { - if (iStack16 == 0x18) { - if (iStack12 == iParm1) { - if (iStack8 == iParm2) { - uVar1 = 1; - *puParm3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d0bd8(int iParm1,int iParm2,undefined4 *puParm3) - -{ - undefined8 uVar1; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - loc_7F0D1098(&iStack24,0x18); - if (iStack24 == -0x6540e9dd) { - if (iStack20 == 0xc) { - if (iStack16 == 0x18) { - if (iStack12 == iParm1) { - if (iStack8 == iParm2) { - uVar1 = 1; - *puParm3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d0c84(undefined4 uParm1) - -{ - FUN_7f0d0620(0x18,0x18); - FUN_7f0d0768(0x14,0x14,uParm1); - FUN_7f0d06cc(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0ccc(undefined4 uParm1,undefined4 uParm2) - -{ - FUN_7f0d0620(0x1c,0x1c); - FUN_7f0d0814(0x14,0x14,uParm1,uParm2); - FUN_7f0d06cc(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0d1c(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - FUN_7f0d0620(0,0x20); - FUN_7f0d08d0(0x14,0x14,uParm1,uParm2,uParm3,uParm4); - FUN_7f0d06cc(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0d84(undefined4 uParm1) - -{ - FUN_7f0d0620(0x18,0x18); - FUN_7f0d09b8(0x14,0x14,uParm1); - FUN_7f0d06cc(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0dcc(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - FUN_7f0d0620(0x20,0x20); - FUN_7f0d0a64(0x14,0x14,uParm1,uParm2,uParm3); - FUN_7f0d06cc(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0e28(undefined4 uParm1) - -{ - FUN_7f0d0620(0x18,0x18); - FUN_7f0d0b2c(0x14,0x14,uParm1); - FUN_7f0d06cc(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0e70(undefined4 uParm1) - -{ - FUN_7f0d0620(0x18,0x18); - FUN_7f0d0bd8(0x14,0x14,uParm1); - FUN_7f0d06cc(0,0); - return 1; -} - - - -undefined8 FUN_7f0d0eb8(int iParm1,int iParm2) - -{ - undefined8 uVar1; - int aiStack20 [3]; - int iStack8; - int iStack4; - - loc_7F0D1098(aiStack20,0x14); - if (aiStack20[0] == -0x6540e9dd) { - if ((iParm1 == 0) || (iStack8 == iParm1)) { - if (iParm2 == 0) { - uVar1 = 1; - } - else { - if (iStack4 == iParm2) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -void sub_GAME_7F0D1A7C(void) - -{ - FUN_70004280(&DAT_80047060,s_game_c_debug_80050bb0); - return; -} - - - -void FUN_7f0d0f6c(void) - -{ - FUN_7f0bc5ec(); - FUN_70008dfc(5); - FUN_7f0bc574(5); - return; -} - - - -void FUN_7f0d0f9c(void) - -{ - FUN_70008e24(5); - FUN_7f0bc574(5); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d18ac(void) - -{ - longlong lVar1; - int iVar2; - - if (DAT_80031978 == 0) { - _DAT_800756f0 = 0x140; - lVar1 = FUN_7f0999a4(); - if (lVar1 == 1) { - _DAT_800756f4 = 0x110; - } - else { - _DAT_800756f4 = 0x88; - } - } - else { - _DAT_800756f0 = 0x1b8; - _DAT_800756f4 = 0x14a; - } - iVar2 = FUN_70008b80(_DAT_800756f0 * _DAT_800756f4 * 2 + 0x40,4); - DAT_80047080 = iVar2 + 0x3fU & 0xffffffc0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d1968(undefined4 uParm1,undefined4 uParm2,undefined4 uParm3) - -{ - DAT_80047080 = uParm1; - _DAT_800756f0 = uParm2; - _DAT_800756f4 = uParm3; - return; -} - - - -undefined4 * FUN_7f0d1984(undefined4 *puParm1) - -{ - int iVar1; - longlong lVar2; - int iVar3; - - if (DAT_80047080 == 0) { - FUN_7f0d18ac(); - } - lVar2 = FUN_7f09a690(); - if (lVar2 < 2) { - lVar2 = FUN_7f0999a4(); - if (lVar2 == 2) { - lVar2 = FUN_7f09a690(); - if (lVar2 == 1) goto LAB_7f0d19e4; - } - iVar3 = 0; - } - else { -LAB_7f0d19e4: - iVar3 = 0x15400; - } - iVar1 = DAT_80047080; - *puParm1 = 0xe7000000; - puParm1[1] = 0; - puParm1[2] = 0xfe000000; - puParm1[3] = iVar1 - iVar3 & 0xffffffc0; - return puParm1 + 4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0D26B4(undefined4 *puParm1) - -{ - short sVar3; - int iVar2; - longlong lVar1; - uint uVar4; - uint uStack4; - - *puParm1 = 0xe7000000; - puParm1[1] = 0; - puParm1[2] = 0xb900031d; - puParm1[3] = 0; - puParm1[4] = _DAT_800756f0 - 1U & 0xfff | 0xff100000; - puParm1[5] = DAT_80047080 + -0x80000000; - puParm1[7] = 0x300000; - puParm1[6] = 0xba001402; - puParm1[8] = 0xf7000000; - puParm1[9] = 0xfffcfffc; - puParm1[10] = 0xed000000; - sVar3 = FUN_70003e6c(); - iVar2 = FUN_70003e7c(); - puParm1[0xb] = (int)((float)iVar2 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar3 * 4.00000000) & 0xfffU) << 0xc; - lVar1 = FUN_7f0999a4(); - if (lVar1 < 3) { - uStack4 = 0; - iVar2 = FUN_70003e6c(); - uVar4 = iVar2 - 1; - } - else { - lVar1 = FUN_7f09a690(); - if ((lVar1 == 0) || (lVar1 = FUN_7f09a690(), lVar1 == 2)) { - uStack4 = 0; - lVar1 = FUN_70003e6c(); - iVar2 = (int)lVar1; - if (lVar1 < 0) { - iVar2 += 1; - } - uVar4 = (iVar2 >> 1) - 1; - } - else { - lVar1 = FUN_70003e6c(); - iVar2 = (int)lVar1; - if (lVar1 < 0) { - iVar2 += 1; - } - uStack4 = iVar2 >> 1; - iVar2 = FUN_70003e6c(); - uVar4 = iVar2 - 1; - } - } - puParm1[0xc] = (uVar4 & 0x3ff) << 0xe | 0xf6000000 | (_DAT_800756f4 - 1U & 0x3ff) << 2; - puParm1[0xd] = (uStack4 & 0x3ff) << 0xe; - puParm1[0xe] = 0xe7000000; - puParm1[0xf] = 0; - return puParm1 + 0x10; -} - - - -short FUN_7f0d1c40(short sParm1) - -{ - undefined2 *puVar1; - uint uVar2; - uint uVar3; - short sVar4; - - if (DAT_80047090 != 0) { - puVar1 = &DAT_80047090; - sVar4 = DAT_80047090; - do { - if (sParm1 == sVar4) { - if (puVar1[1] != -1) { - return puVar1[1]; - } - uVar3 = 0; - puVar1 = &DAT_80047150; - sVar4 = DAT_80047152; - if (DAT_80047150 != 0) { - while( true ) { - uVar3 += 1; - if (sVar4 == 0) break; - sVar4 = puVar1[2]; - puVar1 = puVar1 + 1; - } - } - uVar2 = FUN_700098b0(); - if (uVar3 != 0) { - return (&DAT_80047150)[uVar2 % uVar3]; - } - trap(0x1c00); - return (&DAT_80047150)[uVar2 % uVar3]; - } - sVar4 = puVar1[4]; - puVar1 = puVar1 + 4; - } while (sVar4 != 0); - } - uVar3 = 0; - puVar1 = &DAT_80047150; - sVar4 = DAT_80047152; - if (DAT_80047150 != 0) { - while( true ) { - uVar3 += 1; - if (sVar4 == 0) break; - sVar4 = puVar1[2]; - puVar1 = puVar1 + 1; - } - } - uVar2 = FUN_700098b0(); - if (uVar3 == 0) { - trap(0x1c00); - } - return (&DAT_80047150)[uVar2 % uVar3]; -} - - - -undefined2 FUN_7f0d1d68(short sParm1) - -{ - short *psVar1; - short sVar2; - undefined2 *puVar3; - - puVar3 = &DAT_80047090; - sVar2 = DAT_80047090; - if (DAT_80047090 != 0) { - do { - if (sParm1 == sVar2) { - return puVar3[2]; - } - psVar1 = puVar3 + 4; - puVar3 = puVar3 + 4; - sVar2 = *psVar1; - } while (*psVar1 != 0); - } - return 0xffff; -} - - - -undefined2 FUN_7f0d1db0(short sParm1) - -{ - short *psVar1; - short sVar2; - undefined2 *puVar3; - - puVar3 = &DAT_80047090; - sVar2 = DAT_80047090; - if (DAT_80047090 != 0) { - do { - if (sParm1 == sVar2) { - return puVar3[3]; - } - psVar1 = puVar3 + 4; - puVar3 = puVar3 + 4; - sVar2 = *psVar1; - } while (*psVar1 != 0); - } - return 0xffff; -} - - - -// WARNING: This function may have set the stack pointer - -void FUN_80000400(void) - -{ - undefined4 *puVar1; - int iVar2; - - puVar1 = (undefined4 *)&DAT_800516a0; - iVar2 = 0x24060; - do { - iVar2 += -8; - *puVar1 = 0; - puVar1[1] = 0; - puVar1 = puVar1 + 2; - } while (iVar2 != 0); - FUN_80000450(); - return; -} - - - -void FUN_80000450(void) - -{ - setCopReg(0,Index,1,0); - setCopReg(0,EntryLo0,0x1f,0); - setCopReg(0,EntryLo1,1,0); - setCopReg(0,EntryHi,0x70000000,0); - setCopReg(0,PageMask,0x7fe000,0); - TLB_write_indexed_entry(Index,EntryHi,EntryLo0,EntryLo1,PageMask); - init(0x70000000,0x70000000,0x1f); - return; -} - - diff --git a/notes/ghidra/baserom.e.z64.gzf b/notes/ghidra/baserom.e.z64.gzf deleted file mode 100644 index 52092a7..0000000 Binary files a/notes/ghidra/baserom.e.z64.gzf and /dev/null differ diff --git a/notes/ghidra/baserom.j.z64.c b/notes/ghidra/baserom.j.z64.c deleted file mode 100644 index 83eb92a..0000000 --- a/notes/ghidra/baserom.j.z64.c +++ /dev/null @@ -1,142140 +0,0 @@ -typedef unsigned char undefined; - -typedef unsigned char byte; -typedef long long longlong; -typedef unsigned int uint; -typedef unsigned long ulong; -typedef unsigned long long ulonglong; -typedef unsigned char undefined1; -typedef unsigned short undefined2; -typedef unsigned int undefined4; -typedef unsigned long long undefined8; -typedef unsigned short ushort; -typedef unsigned short word; -typedef ulong size_t; - -typedef struct evp_pkey_ctx_st evp_pkey_ctx_st, *Pevp_pkey_ctx_st; - -typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; - -struct evp_pkey_ctx_st { -}; - -typedef struct ldiv_t ldiv_t, *Pldiv_t; - -struct ldiv_t { - long quot; - long rem; -}; - - - - -undefined * get_cdata_vaddr(void) - -{ - return &rspbootTextStart; -} - - - -undefined4 get_cdata_rom_start(void) - -{ - return 0x219d0; -} - - - -undefined4 get_cdata_rom_end(void) - -{ - return 0x335d0; -} - - - -undefined4 get_RareZipASMRomstart(void) - -{ - return 0x335d0; -} - - - -undefined4 get_RareZipASMRomend(void) - -{ - return 0x34b70; -} - - - -undefined4 jump_decompressfile(int iParm1,undefined4 uParm2,undefined4 uParm3) - -{ - undefined4 uVar1; - - uVar1 = decompress_entry(iParm1,uParm2,uParm3); - return uVar1; -} - - - -int init(EVP_PKEY_CTX *ctx) - -{ - code cVar1; - undefined *puVar3; - int iVar4; - int iVar5; - int iVar6; - code *pcVar7; - uint uVar8; - undefined4 *puVar9; - ulonglong uVar2; - undefined4 *puVar10; - undefined4 *puVar11; - longlong lVar12; - - puVar3 = get_cdata_vaddr(); - iVar4 = get_cdata_rom_start(); - iVar5 = get_cdata_rom_end(); - iVar5 -= iVar4; - iVar4 = get_RareZipASMRomstart(); - iVar6 = get_RareZipASMRomend(); - iVar4 = iVar5 + (iVar6 - iVar4) + -1; - if (-1 < iVar4) { - pcVar7 = (code *)(puVar3 + iVar4); - do { - cVar1 = *pcVar7; - iVar6 = iVar4 - iVar5; - iVar4 += -1; - pcVar7 = pcVar7 + -1; - loc_70200624[iVar6] = cVar1; - } while (-1 < iVar4); - } - jump_decompressfile(loc_70200624 + -iVar5,puVar3,0xffffffff80300000); - if (false) { - osPiRawStartDma(0,0x101000,0x70100400,-0xcda30); - uVar8 = osPiGetStatus(); - while ((uVar8 & 1) != 0) { - uVar8 = osPiGetStatus(); - } - } - osInitialize(); - set_hardwire_TLB_to_2(); - puVar9 = (undefined4 *)resolve_TLBaddress_for_InvalidHit; - puVar10 = (undefined4 *)&DAT_80000000; - do { - puVar11 = puVar10 + 4; - *puVar10 = *puVar9; - puVar10[1] = puVar9[1]; - puVar10[2] = puVar9[2]; - puVar10[3] = puVar9[3]; - puVar9 = puVar9 + 4; - puVar10 = puVar11; - } while (puVar11 != (undefined4 *)&DAT_80000080); - osWritebackDCacheAll(); - osInvalICache(0x80000000,0x4000); - lVar12 = 2; - do { - osUnmapTLB(lVar12); - lVar12 = (longlong)((int)lVar12 + 1); - } while (lVar12 != 0x20); - uVar2 = __osGetFpcCsr(); - __osSetFpcCsr(uVar2 | 0xe80); - uVar8 = set_stack_entry((int)&DAT_803ab950,0x8000); - osCreateThread((undefined4 *)0x8005d680,3,main_entry,0,uVar8,10); - iVar4 = osStartThread((int **)0x8005d680); - return iVar4; -} - - - -int set_stack_entry(int param_1,int param_2) - -{ - return param_1 + param_2 + -8; -} - - - -void set_hw_address_and_unknown(void) - -{ - unknown_init_val = 1; - cart_hw_address = 0x10000000; - return; -} - - - -void thread1_idle(void) - -{ - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -void start_idle_thread(void) - -{ - uint uVar1; - - uVar1 = set_stack_entry((int)&DAT_803ab710,0x40); - osCreateThread((undefined4 *)0x8005d4d0,1,thread1_idle,0,uVar1,0); - osStartThread((int **)0x8005d4d0); - return; -} - - - -void start_rmon_thread(void) - -{ - uint uVar1; - - uVar1 = set_stack_entry((int)&DAT_803ab410,0x300); - osCreateThread((undefined4 *)&DAT_8005d320,0,&LAB_7000cee0,0,uVar1,0xfa); - osStartThread((int **)&DAT_8005d320); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void init_scheduler(void) - -{ - osCreateMesgQueue((undefined4 *)0x8005d9e0,0x8005d9f8,0x20); - if (_DAT_80000300 == 2) { - osCreateScheduler((undefined2 *)0x8005da80,0x8005d830,0x1e,1); - } - else { - osCreateScheduler((undefined2 *)0x8005da80,0x8005d830,2,1); - } - osScAddClient(-0x7ffa2580,(undefined4 *)0x8005db58,0x8005d9e0,0); - _DAT_8005da78 = osScGetCmdQ(-0x7ffa2580); - return; -} - - - -void main_entry(void) - -{ - uint uVar1; - - start_idle_thread(); - removed_7000ad30(); - start_pi_manager(); - start_rmon_thread(); - uVar1 = check_boot_switches(); - if (uVar1 != 0) { - osStopThread(NULL); - } - osSetThreadPri(NULL,(int *)0xa); - init_scheduler(); - setup_gamevalues_and_launchmainloop(); - return; -} - - - -void setuplastentryofdebughandler(void) - -{ - undefined **ppuVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined **ppuVar4; - undefined4 auStack56 [2]; - int iStack48; - - ppuVar1 = &debug_handler_table; - puVar2 = auStack56; - do { - puVar3 = puVar2; - ppuVar4 = ppuVar1; - *(undefined **)puVar3 = *ppuVar4; - *(undefined **)(puVar3 + 1) = ppuVar4[1]; - *(undefined **)(puVar3 + 2) = ppuVar4[2]; - ppuVar1 = ppuVar4 + 3; - puVar2 = puVar3 + 3; - } while (ppuVar4 + 3 != (undefined **)0x800230bc); - puVar3[3] = uRam800230bc; - *(undefined **)(puVar3 + 4) = ppuVar4[4]; - puVar2 = auStack56; - while (iStack48 != 0) { - iStack48 = puVar2[4]; - puVar2 = puVar2 + 2; - } - return; -} - - - -void activate_stderr(undefined4 param_1) - -{ - stderr_active = param_1; - return; -} - - - -void enable_stderr(undefined4 param_1) - -{ - stderr_enabled = param_1; - return; -} - - - -void permit_stderr(undefined4 param_1) - -{ - stderr_permitted = param_1; - return; -} - - - -void setUserCompareValue(undefined4 param_1) - -{ - userCompareValue = param_1; - return; -} - - - -// WARNING: Instruction at (ram,0x700009c0) overlaps instruction at (ram,0x700009bc) -// - -void CheckDisplayErrorBuffer(uint param_1) - -{ - if (((stderr_permitted != 0) && (stderr_active != 0)) || (stderr_enabled != 0)) { - write_stderr_to_buffer(param_1); - currentcount = osGetCount(); - } - return; -} - - - -void CheckDisplayErrorBufferEvery16Frames(ulonglong param_1) - -{ - int iVar1; - - if ((((param_1 & 0xf) == 0) && - (((stderr_permitted != 0 && (stderr_active != 0)) || (stderr_enabled != 0)))) && - (iVar1 = osGetCount(), userCompareValue < (uint)(iVar1 - currentcount))) { - write_stderr_to_buffer((uint)&cfb_16_a); - write_stderr_to_buffer((uint)&cfb_16_b); - } - return; -} - - - -void osCreateLog(void) - -{ - currentcount = osGetCount(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osCreateScheduler(undefined2 *param_1,undefined4 param_2,uint param_3,undefined2 param_4) - -{ - uint uVar1; - int iVar2; - undefined4 *puVar3; - - *(undefined4 *)(param_1 + 100) = 0; - *(undefined4 *)(param_1 + 0x66) = 0; - *(undefined4 *)(param_1 + 0x5a) = 0; - *(undefined4 *)(param_1 + 0x68) = 0; - *(undefined4 *)(param_1 + 0x5c) = 0; - *(undefined4 *)(param_1 + 0x5e) = 0; - *(undefined4 *)(param_1 + 0x60) = 0; - *(undefined4 *)(param_1 + 0x62) = 0; - *param_1 = 1; - param_1[0x10] = 5; - puVar3 = (undefined4 *)(param_1 + 0x20); - *(undefined4 *)(param_1 + 0x58) = param_2; - osCreateMesgQueue(puVar3,param_1 + 0x2c,8); - osCreateMesgQueue((undefined4 *)(param_1 + 0x3c),param_1 + 0x48,8); - osCreateViManager((int *)0xfe); - iVar2 = (param_3 & 0xff) * 0x50; - _DAT_800608bc = iVar2 + -0x7ffd9600; - _DAT_800608c0 = *(undefined4 *)(&DAT_80026a1c + iVar2); - _DAT_800608c4 = *(undefined4 *)(&DAT_80026a30 + iVar2); - _DAT_800608c8 = *(undefined4 *)(&DAT_80026a44 + iVar2); - osSetEventMesg(4,puVar3,0x29b); - osSetEventMesg(9,puVar3,0x29c); - osSetEventMesg(0xe,puVar3,0x29d); - osViSetEvent(puVar3,0x29a,param_4); - osCreateLog(); - uVar1 = set_stack_entry((int)&DAT_803ab750,0x200); - osCreateThread(*(undefined4 **)(param_1 + 0x58),2,__scMain,(int)param_1,uVar1,0x1e); - osStartThread(*(int ***)(param_1 + 0x58)); - return; -} - - - -void osScAddClient(int param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4) - -{ - ulonglong uVar1; - - uVar1 = osSetIntMask(1); - param_2[1] = param_3; - param_2[2] = param_4; - *param_2 = *(undefined4 *)(param_1 + 0xb4); - *(undefined4 **)(param_1 + 0xb4) = param_2; - osSetIntMask(uVar1); - return; -} - - - -void osScRemoveClient(int param_1,undefined4 *param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - ulonglong uVar4; - - puVar1 = *(undefined4 **)(param_1 + 0xb4); - uVar4 = osSetIntMask(1); - puVar3 = NULL; - do { - puVar2 = puVar1; - if (puVar2 == NULL) { -LAB_70000ce0: - osSetIntMask(uVar4); - return; - } - if (puVar2 == param_2) { - if (puVar3 == NULL) { - *(undefined4 *)(param_1 + 0xb4) = *param_2; - } - else { - *puVar3 = *param_2; - } - goto LAB_70000ce0; - } - puVar1 = (undefined4 *)*puVar2; - puVar3 = puVar2; - } while( true ); -} - - - -int osScGetCmdQ(int param_1) - -{ - return param_1 + 0x78; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __scMain(undefined8 param_1) - -{ - bool bVar1; - int iVar2; - int **ppiVar3; - int *piVar4; - int iStack4; - - iStack4 = 0; - bVar1 = false; - iVar2 = (int)param_1; - do { - osRecvMesg(iVar2 + 0x40,&iStack4,1); - if (iStack4 == 0x29a) { - __scHandleRetrace(iVar2); - } - else { - if (iStack4 == 0x29b) { - __scHandleRSP(param_1); - } - else { - if (iStack4 == 0x29c) { - __scHandleRDP(param_1); - } - else { - if (iStack4 == 0x29d) { - reset_cont_rumble_detect(); - piVar4 = *(int **)(iVar2 + 0xb4); - if (piVar4 == NULL) { - bVar1 = true; - } - else { - ppiVar3 = (int **)piVar4[1]; - while( true ) { - osSendMesg(ppiVar3,iVar2 + 0x20,0); - piVar4 = (int *)*piVar4; - if (piVar4 == NULL) break; - ppiVar3 = (int **)piVar4[1]; - } - bVar1 = true; - } - } - } - } - } - } while (!bVar1); - if (_DAT_80000300 == 2) { - osViSetMode(&DAT_80027360); - } - else { - osViSetMode(&DAT_80026aa0); - } - osViSetXScale(0x3f800000); - osViSetYScale(0x3f800000); - osViRepeatLine('\0'); - osViBlack('\x01'); - do { - do { - osRecvMesg(iVar2 + 0x40,&iStack4,1); - } while (iStack4 != 0x29a); - controllerSchedulerRelated(); - } while( true ); -} - - - -void __scHandleRetrace(int param_1) - -{ - longlong lVar1; - uint uVar2; - int iVar3; - ulonglong uVar4; - undefined4 *puVar5; - int iStack20; - int aiStack16 [3]; - undefined4 *puStack4; - - puStack4 = NULL; - aiStack16[0] = 0; - iStack20 = 0; - video_related_1(); - *(int *)(param_1 + 0xd0) = *(int *)(param_1 + 0xd0) + 1; - video_related_7(); - controllerSchedulerRelated(); - music_related_15(); - lVar1 = osRecvMesg(param_1 + 0x78,&puStack4,0); - while (lVar1 != -1) { - __scAppendList(param_1,puStack4); - lVar1 = osRecvMesg(param_1 + 0x78,&puStack4,0); - } - if (*(int *)(param_1 + 0xd4) == 0) { - iVar3 = *(int *)(param_1 + 200); - } - else { - if (*(int *)(param_1 + 200) != 0) { - __scYield(param_1); - puVar5 = *(undefined4 **)(param_1 + 0xb4); - goto LAB_70000fb0; - } - iVar3 = *(int *)(param_1 + 200); - } - uVar4 = (longlong)(int)((uint)(iVar3 == 0) << 1) | (ulonglong)(*(int *)(param_1 + 0xcc) == 0); - uVar2 = __scSchedule(param_1,aiStack16,&iStack20,(uint)uVar4); - if ((longlong)(int)uVar2 != uVar4) { - __scExec(param_1,(longlong)aiStack16[0],(longlong)iStack20); - } - puVar5 = *(undefined4 **)(param_1 + 0xb4); -LAB_70000fb0: - if (puVar5 != NULL) { - iVar3 = puVar5[2]; - while( true ) { - if ((iVar3 == 0) || ((*(uint *)(param_1 + 0xd0) & 1) == 0)) { - osSendMesg((int **)puVar5[1],param_1,0); - puVar5 = (undefined4 *)*puVar5; - } - else { - puVar5 = (undefined4 *)*puVar5; - } - if (puVar5 == NULL) break; - iVar3 = puVar5[2]; - } - } - CheckDisplayErrorBufferEvery16Frames((longlong)*(int *)(param_1 + 0xd0)); - return; -} - - - -void __scHandleRSP(undefined8 param_1) - -{ - int iVar1; - uint uVar2; - uint uVar3; - int iVar4; - int iStack12; - int iStack8; - undefined4 *puStack4; - - iStack8 = 0; - iStack12 = 0; - iVar1 = (int)param_1; - puStack4 = *(undefined4 **)(iVar1 + 200); - *(undefined4 *)(iVar1 + 200) = 0; - video_related_3(0x10001); - if ((puStack4[1] & 0x10) == 0) { - uVar2 = puStack4[1]; -LAB_700010ac: - puStack4[1] = uVar2 & 0xfffffffd; - __scTaskComplete(param_1,(int)puStack4); - } - else { - uVar2 = osSpTaskYielded((int)(puStack4 + 4)); - if (uVar2 == 0) { - uVar2 = puStack4[1]; - goto LAB_700010ac; - } - puStack4[1] = puStack4[1] | 0x20; - if ((puStack4[2] & 7) == 3) { - *puStack4 = *(undefined4 *)(iVar1 + 0xbc); - *(undefined4 **)(iVar1 + 0xbc) = puStack4; - if (*(int *)(iVar1 + 0xc4) != 0) { - iVar4 = *(int *)(iVar1 + 200); - goto LAB_700010c4; - } - *(undefined4 **)(iVar1 + 0xc4) = puStack4; - } - } - iVar4 = *(int *)(iVar1 + 200); -LAB_700010c4: - uVar3 = (uint)(iVar4 == 0) << 1 | (uint)(*(int *)(iVar1 + 0xcc) == 0); - uVar2 = __scSchedule(iVar1,&iStack8,&iStack12,uVar3); - if (uVar2 != uVar3) { - __scExec(iVar1,(longlong)iStack8,(longlong)iStack12); - } - return; -} - - - -undefined4 get_counters(void) - -{ - return 0x8005db70; -} - - - -void __scHandleRDP(undefined8 param_1) - -{ - int iVar1; - int iVar2; - uint uVar3; - uint uVar4; - int iStack12; - int aiStack8 [2]; - - aiStack8[0] = 0; - iStack12 = 0; - iVar2 = (int)param_1; - if (*(int *)(iVar2 + 0xcc) != 0) { - video_related_3(0x10002); - osDpGetCounters((undefined4 *)0x8005db70); - iVar1 = *(int *)(iVar2 + 0xcc); - *(undefined4 *)(iVar2 + 0xcc) = 0; - *(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) & 0xfffffffe; - __scTaskComplete(param_1,iVar1); - uVar4 = (uint)(*(int *)(iVar2 + 200) == 0) << 1 | (uint)(*(int *)(iVar2 + 0xcc) == 0); - uVar3 = __scSchedule(iVar2,aiStack8,&iStack12,uVar4); - if (uVar3 != uVar4) { - __scExec(iVar2,(longlong)aiStack8[0],(longlong)iStack12); - } - } - return; -} - - - -undefined4 __scTaskReady(longlong param_1) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - - uVar3 = (undefined4)param_1; - if (param_1 == 0) { - uVar3 = 0; - } - else { - iVar1 = osViGetCurrentFramebuffer(); - iVar2 = osViGetNextFramebuffer(); - if (iVar2 != iVar1) { - uVar3 = 0; - } - } - return uVar3; -} - - - -undefined8 __scTaskComplete(undefined8 param_1,int param_2) - -{ - undefined4 *puVar1; - undefined8 uVar2; - ulonglong uVar3; - int iVar4; - undefined4 *puVar5; - uint uVar6; - undefined4 *puVar7; - undefined4 *puVar8; - - uVar2 = 0; - if ((*(uint *)(param_2 + 4) & 3) == 0) { - osSendMesg(*(int ***)(param_2 + 0x50),*(int *)(param_2 + 0x54),1); - if (((*(int *)(param_2 + 0x10) == 1) && ((*(uint *)(param_2 + 8) & 0x40) != 0)) && - ((*(uint *)(param_2 + 8) & 0x20) != 0)) { - if (firsttime != 0) { - osViBlack('\0'); - firsttime = 0; - } - iVar4 = DAT_800230f0 * 4; - if (*(int *)(&DAT_80023104 + iVar4) != 0) { - uVar3 = osSetIntMask(0x80401); - iVar4 = DAT_800230f0 * 0x50; - puVar8 = (undefined4 *)(iVar4 + -0x7ffa2480); - puVar1 = *(undefined4 **)(DAT_800230f0 * 4 + -0x7ffa23e0); - do { - puVar5 = puVar1; - puVar7 = puVar8; - puVar8 = puVar7 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar1 = puVar5 + 3; - } while (puVar8 != (undefined4 *)(iVar4 + -0x7ffa2438)); - puVar5[3] = *puVar8; - puVar5[4] = puVar7[4]; - osSetIntMask(uVar3); - iVar4 = DAT_800230f0 << 2; - } - osViSetXScale(*(undefined4 *)(&DAT_800230f4 + iVar4)); - osViSetYScale(*(undefined4 *)(&DAT_800230fc + DAT_800230f0 * 4)); - uVar6 = DAT_800230f0 + 1; - DAT_800230f0 = uVar6 & 1; - if (((int)uVar6 < 0) && (DAT_800230f0 != 0)) { - DAT_800230f0 -= 2; - } - CheckDisplayErrorBuffer(*(uint *)(param_2 + 0xc)); - osViSwapBuffer(*(undefined4 *)(param_2 + 0xc)); - } - uVar2 = 1; - } - return uVar2; -} - - - -void __scAppendList(int param_1,undefined4 *param_2) - -{ - if (param_2[4] == 2) { - if (*(undefined4 **)(param_1 + 0xc0) == NULL) { - *(undefined4 **)(param_1 + 0xb8) = param_2; - } - else { - *(undefined4 **)*(undefined4 **)(param_1 + 0xc0) = param_2; - } - *(undefined4 **)(param_1 + 0xc0) = param_2; - *(undefined4 *)(param_1 + 0xd4) = 1; - } - else { - if (*(undefined4 **)(param_1 + 0xc4) == NULL) { - *(undefined4 **)(param_1 + 0xbc) = param_2; - } - else { - *(undefined4 **)*(undefined4 **)(param_1 + 0xc4) = param_2; - } - *(undefined4 **)(param_1 + 0xc4) = param_2; - } - *param_2 = 0; - param_2[1] = param_2[2] & 3; - return; -} - - - -void __scExec(int param_1,longlong param_2,longlong param_3) - -{ - uint uVar1; - int iVar2; - int iVar3; - longlong extraout_a1; - longlong lVar4; - int iVar5; - - iVar5 = (int)param_3; - lVar4 = param_2; - if (param_2 != 0) { - iVar2 = (int)param_2; - iVar3 = *(int *)(iVar2 + 0x10); - if (iVar3 == 2) { - osWritebackDCacheAll(); - iVar3 = *(int *)(iVar2 + 0x10); - } - if ((iVar3 != 2) && ((*(uint *)(iVar2 + 4) & 0x10) == 0)) { - osDpSetStatus(0x3c0); - iVar3 = *(int *)(iVar2 + 0x10); - } - if (iVar3 == 2) { - video_related_3(0x30001); - uVar1 = *(uint *)(iVar2 + 4); - } - else { - video_related_3(0x40001); - video_related_3(0x20002); - uVar1 = *(uint *)(iVar2 + 4); - } - *(uint *)(iVar2 + 4) = uVar1 & 0xffffffcf; - osSpTaskLoad((void *)(iVar2 + 0x10)); - osSpTaskStartGo(); - *(int *)(param_1 + 200) = iVar2; - lVar4 = extraout_a1; - if (param_2 == param_3) { - *(int *)(param_1 + 0xcc) = iVar5; - lVar4 = extraout_a1; - } - } - if ((param_3 != 0) && (param_3 != param_2)) { - osDpSetNextBuffer(*(uint *)(iVar5 + 0x38),lVar4,(longlong)**(int **)(iVar5 + 0x3c), - (*(int **)(iVar5 + 0x3c))[1]); - dp_busy = 1; - dpCount = 0; - *(int *)(param_1 + 0xcc) = iVar5; - } - return; -} - - - -void __scYield(int param_1) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 200); - if (*(int *)(iVar1 + 0x10) == 1) { - *(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) | 0x10; - osSpTaskYield(); - } - return; -} - - - -uint __scSchedule(int param_1,int *param_2,int *param_3,uint param_4) - -{ - int iVar1; - int *piVar2; - bool bVar3; - int iVar4; - uint uVar5; - - do { - iVar1 = *(int *)(param_1 + 0xbc); - if ((*(int *)(param_1 + 0xd4) == 0) || ((param_4 & 2) == 0)) { - iVar4 = __scTaskReady((longlong)iVar1); - uVar5 = param_4; - if ((iVar4 != 0) && (uVar5 = param_4, true)) { - uVar5 = param_4; - switch(*(uint *)(iVar1 + 8) & 7) { - case 2: - case 6: - case 7: - if ((*(uint *)(iVar1 + 4) & 2) == 0) { - uVar5 = param_4; - if (((*(uint *)(iVar1 + 4) & 1) != 0) && (uVar5 = param_4, (param_4 & 1) != 0)) { - *param_3 = iVar1; - iVar1 = **(int **)(param_1 + 0xbc); - *(int *)(param_1 + 0xbc) = iVar1; - uVar5 = param_4 & 0xfffffffe; - if (iVar1 == 0) { - *(undefined4 *)(param_1 + 0xc4) = 0; - uVar5 = param_4 & 0xfffffffe; - } - } - } - else { - uVar5 = param_4; - if ((param_4 & 2) != 0) { - *param_2 = iVar1; - uVar5 = param_4 & 0xfffffffd; - } - } - break; - case 3: - if ((*(uint *)(iVar1 + 4) & 0x20) == 0) { - uVar5 = param_4; - if (param_4 == 3) { - *param_3 = iVar1; - *param_2 = iVar1; - uVar5 = 0; - iVar1 = **(int **)(param_1 + 0xbc); - *(int *)(param_1 + 0xbc) = iVar1; - if (iVar1 == 0) { - *(undefined4 *)(param_1 + 0xc4) = 0; - } - } - } - else { - uVar5 = param_4; - if ((param_4 & 2) != 0) { - *param_2 = iVar1; - uVar5 = param_4 & 0xfffffffd; - if ((*(uint *)(iVar1 + 4) & 1) == 0) { - piVar2 = *(int **)(param_1 + 0xbc); - } - else { - *param_3 = iVar1; - uVar5 = param_4 & 0xfffffffc; - piVar2 = *(int **)(param_1 + 0xbc); - } - iVar1 = *piVar2; - *(int *)(param_1 + 0xbc) = iVar1; - if (iVar1 == 0) { - *(undefined4 *)(param_1 + 0xc4) = 0; - } - } - } - } - } - } - else { - if ((longlong)iVar1 == 0) { - *param_2 = *(int *)(param_1 + 0xb8); - } - else { - if ((*(uint *)(iVar1 + 8) & 0x10) != 0) { - *param_2 = iVar1; - uVar5 = param_4 & 0xfffffffd; - goto switchD_70001674_caseD_1; - } - *param_2 = *(int *)(param_1 + 0xb8); - } - *(undefined4 *)(param_1 + 0xd4) = 0; - iVar1 = **(int **)(param_1 + 0xb8); - *(int *)(param_1 + 0xb8) = iVar1; - uVar5 = param_4 & 0xfffffffd; - if (iVar1 == 0) { - *(undefined4 *)(param_1 + 0xc0) = 0; - uVar5 = param_4 & 0xfffffffd; - } - } -switchD_70001674_caseD_1: - bVar3 = uVar5 == param_4; - param_4 = uVar5; - if (bVar3) { - return uVar5; - } - } while( true ); -} - - - -void osMapTLBRdb(void) - -{ - setCopReg(0,Index,0,0); - setCopReg(0,PageMask,0,0); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),0xffffffffc0000000,0); - setCopReg(0,EntryLo0,0x2000017,0); - setCopReg(0,EntryLo1,1,0); - TLB_write_indexed_entry(Index,CONCAT44(uRegister00002050,EntryHi),EntryLo0,EntryLo1,PageMask); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),(longlong)EntryHi,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void establish_TLB_buffer_management_table(void) - -{ - undefined4 *puVar1; - undefined *puVar2; - - puVar1 = (undefined4 *)&TLB_managment_table; - do { - puVar1 = puVar1 + 4; - *puVar1 = 1; - puVar1[1] = 0; - puVar1 = puVar1; - } while (puVar1 < &TLB_manager_mapping_table); - DAT_8005e431 = 0; - TLB_manager_mapping_table = 1; - DAT_8005e433 = 0; - DAT_8005e432 = 1; - puVar2 = &DAT_8005e434; - do { - puVar2 = puVar2 + 8; - puVar2[3] = 0; - puVar2[2] = 1; - puVar2[5] = 0; - puVar2[4] = 1; - puVar2[7] = 0; - puVar2[6] = 1; - puVar2[1] = 0; - *puVar2 = 1; - puVar2 = puVar2; - } while (puVar2 != &TLB_manager_mapping_table_end); - _TLB_manager_mapping_table_end = 0x7fc65c30; - _ptr_TLBallocatedblock = 0x802f6000; - return; -} - - - -void mp_tlb_related(void) - -{ - maybe_cur_TLB_entries = 0; - return; -} - - - -longlong return_TLB_index_for_entry(int param_1) - -{ - int iVar1; - longlong lVar2; - - lVar2 = 0; - do { - iVar1 = __osGetTLBHi(lVar2); - if (iVar1 == param_1) { - return lVar2; - } - lVar2 = (longlong)((int)lVar2 + 1); - } while (lVar2 != 0x20); - return -0x80000000; -} - - - -void find_remove_TLB_entry(int param_1) - -{ - longlong lVar1; - - lVar1 = return_TLB_index_for_entry(param_1); - if (-1 < (int)lVar1) { - osUnmapTLB(lVar1); - } - return; -} - - - -void remove_TLB_entry_from_table(int param_1) - -{ - longlong lVar1; - - param_1 *= 2; - if ((&TLB_manager_mapping_table)[param_1] == '\0') { - lVar1 = return_TLB_index_for_entry((uint)(byte)(&DAT_8005e431)[param_1] << 0xd | 0x7f000000); - if (-1 < (int)lVar1) { - osUnmapTLB(lVar1); - } - *(undefined4 *)(&TLB_managment_table + (uint)(byte)(&DAT_8005e431)[param_1] * 0x10) = 1; - (&TLB_manager_mapping_table)[param_1] = '\x01'; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void translate_load_rom_from_TLBaddress(uint param_1) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - int iVar4; - - maybe_cur_TLB_entries += 1; - find_remove_TLB_entry(param_1 & 0x7fffe000); - uVar1 = return_tlb_random_value(); - uVar1 %= 0x5a; - tlb_segment_num = uVar1; - remove_TLB_entry_from_table(uVar1); - uVar2 = _ptr_TLBallocatedblock + uVar1 * 0x2000; - romCopy((longlong)(int)uVar2,(param_1 & 0xffe000) + 0x34b70,0x2000); - osInvalICache(0x40000000,0x40000000); - osInvalICache(0x80000000,0x10000000); - uVar3 = (param_1 & 0xffe000) >> 0xd; - iVar4 = uVar3 * 0x10; - *(uint *)(&DAT_8005dc34 + iVar4) = uVar1; - uVar2 = osVirtualToPhysical(uVar2); - (&TLB_manager_mapping_table)[uVar1 * 2] = 0; - (&DAT_8005e431)[uVar1 * 2] = (char)uVar3; - *(uint *)(&TLB_managment_table + iVar4) = (uVar2 >> 0xc) << 6 | 0x1f; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 getptr_TLBallocatedblock(void) - -{ - return _ptr_TLBallocatedblock; -} - - - -undefined4 return_tlb_random_value(void) - -{ - tlb_random_seed = - ((tlb_random_seed << 0x3f) >> 0x1f | (tlb_random_seed << 0x1f) >> 0x20) ^ - (tlb_random_seed << 0x2c) >> 0x20; - tlb_random_seed = tlb_random_seed >> 0x14 & 0xfff ^ tlb_random_seed; - return (int)tlb_random_seed; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void resolve_TLBaddress_for_InvalidHit(void) - -{ - setCopReg(0,PageMask,0,0); - setCopReg(0,EntryLo0,(longlong)*(int *)(Context + _TLB_manager_mapping_table_end),0); - setCopReg(0,EntryLo1,(longlong)(*(int *)(Context + _TLB_manager_mapping_table_end) + 0x40),0); - TLB_write_random_entry(Random,EntryHi,EntryLo0,EntryLo1,PageMask); - return; -} - - - -void set_hardwire_TLB_to_2(void) - -{ - setCopReg(0,Wired,2,0); - setCopReg(0,Context,0,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void amCreateAudioMgr(int param_1) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - int **ppiVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined *puVar8; - int **ppiVar9; - int *piVar10; - int *piVar11; - int **ppiVar12; - float fVar13; - uint uVar14; - float fVar15; - undefined4 auStack208 [52]; - - *(undefined4 *)(param_1 + 0x10) = 0x700025d8; - iVar4 = osAiSetFrequency(0x5622); - *(int *)(param_1 + 0x18) = iVar4; - fVar13 = (float)(iVar4 << 1) / 60.00000000; - if (false) { - fVar15 = ROUND(fVar13); - } - else { - fVar15 = FLOOR(fVar13); - } - uVar14 = (uint)fVar15; - if (true) { - if (-1 < (int)uVar14) goto LAB_70001cac; - } - else { - if (false) { - fVar15 = ROUND(fVar13 - 2147483648.00000000); - } - else { - fVar15 = FLOOR(fVar13 - 2147483648.00000000); - } - if (true) { - uVar14 = (int)fVar15 | 0x80000000; - goto LAB_70001cac; - } - } - uVar14 = 0xffffffff; -LAB_70001cac: - fVar15 = (float)uVar14; - if ((int)uVar14 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - _frameSize = uVar14 + 1; - if (fVar13 <= fVar15) { - _frameSize = uVar14; - } - if ((_frameSize & 0xf) != 0) { - _frameSize = (_frameSize & 0xfffffff0) + 0x10; - } - _minFrameSize = _frameSize - 0x10; - _maxFrameSize = _frameSize + 0x35; - if (*(char *)(param_1 + 0x1c) == '\x06') { - puVar1 = &DAT_80023140; - puVar2 = auStack208; - do { - puVar6 = puVar2; - puVar7 = puVar1; - *puVar6 = *puVar7; - puVar6[1] = puVar7[1]; - puVar6[2] = puVar7[2]; - puVar1 = puVar7 + 3; - puVar2 = puVar6 + 3; - } while (puVar7 + 3 != (undefined4 *)0x80023200); - puVar6[3] = uRam80023200; - puVar6[4] = puVar7[4]; - *(undefined4 **)(param_1 + 0x20) = auStack208; - alInit((undefined4 *)0x8005e790,param_1); - } - else { - alInit((undefined4 *)0x8005e790,param_1); - } - puVar8 = &DAT_8005e558; - do { - iVar5 = alHeapDBAlloc(0,0,*(int **)(param_1 + 0x14),1,0x60); - iVar4 = _maxFrameSize; - *(int *)(puVar8 + 8) = iVar5; - iVar4 = alHeapDBAlloc(0,0,*(int **)(param_1 + 0x14),1,iVar4 << 2); - ppiVar3 = (int **)(puVar8 + 8); - puVar8 = puVar8 + 4; - **ppiVar3 = iVar4; - } while (puVar8 < (undefined *)0x8005e564); - osCreateMesgQueue((undefined4 *)0x8005e758,0x8005e770,8); - osCreateMesgQueue((undefined4 *)0x8005e720,0x8005e738,8); - osCreateMesgQueue((undefined4 *)0x8005f310,0x8005f328,0x40); - _DAT_8005e804 = 0; - _DAT_8005e800 = 0; - ppiVar9 = (int **)0x8005e814; - iVar4 = 0; - ppiVar3 = (int **)&DAT_8005e800; - do { - ppiVar12 = ppiVar3; - alLink(ppiVar9,ppiVar12); - piVar10 = (int *)alHeapDBAlloc(0,0,*(int **)(param_1 + 0x14),1,0x200); - iVar4 += 1; - ppiVar9 = ppiVar9 + 5; - ppiVar12[4] = piVar10; - ppiVar3 = ppiVar12 + 5; - } while (iVar4 < 0x3f); - piVar10 = (int *)alHeapDBAlloc(0,0,*(int **)(param_1 + 0x14),1,0x200); - ppiVar12[9] = piVar10; - piVar10 = (int *)&DAT_8005e558; - do { - iVar4 = alHeapDBAlloc(0,0,*(int **)(param_1 + 0x14),1,24000); - piVar11 = piVar10 + 1; - *piVar10 = iVar4; - piVar10 = piVar11; - } while (piVar11 != (int *)&DAT_8005e560); - uVar14 = set_stack_entry((int)&DAT_803b3950,0x1000); - osCreateThread((undefined4 *)0x8005e570,4,_amMain,0,uVar14,0x14); - return; -} - - - -void startaudithread(void) - -{ - osStartThread((int **)0x8005e570); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void _amMain(void) - -{ - short sVar1; - bool bVar2; - longlong lVar3; - undefined4 in_v1_hi; - uint in_v1_lo; - uint uVar4; - int iVar5; - uint uStack48; - uint uStack44; - uint *puStack16; - short *apsStack12 [3]; - - iVar5 = 0; - bVar2 = false; - apsStack12[0] = NULL; - puStack16 = NULL; - osScAddClient(-0x7ffa2580,(undefined4 *)0x8005e7e0,0x8005e720,1); - do { - osRecvMesg(-0x7ffa18e0,apsStack12,1); - sVar1 = *apsStack12[0]; - if (sVar1 == 1) { - _DAT_8005e518 = osGetTime(); - _DAT_8005e51c = in_v1_lo; - video_related_3(0x30000); - __amHandleFrameMsg(*(uint **)(&DAT_8005e560 + (audFrameCt % 3) * 4),puStack16); - iVar5 += 1; - video_related_3(0x60000); - _DAT_8005e520 = osGetTime(); - _DAT_8005e500 = - (_DAT_8005e520 - _DAT_8005e518) - - (uint)(CONCAT44(in_v1_hi,in_v1_lo) < (ulonglong)(longlong)(int)_DAT_8005e51c); - _DAT_8005e504 = in_v1_lo - _DAT_8005e51c; - if (iVar5 % 0xf0 == 0) { - _DAT_8005e524 = in_v1_lo; - lVar3 = __ull_div(_DAT_8005e510,_DAT_8005e514,0,0xf0); - _DAT_8005e508 = (undefined4)lVar3; - uStack48 = (_DAT_8005e520 - _DAT_8005e518) - (uint)(_DAT_8005e524 < _DAT_8005e51c); - uStack44 = _DAT_8005e524 - _DAT_8005e51c; - _DAT_8005e4fc = 0; - _DAT_8005e4f8 = 0; - _DAT_8005e514 = 0; - _DAT_8005e510 = 0; - _DAT_8005e50c = in_v1_lo; - } - else { - uVar4 = _DAT_8005e514 + in_v1_lo; - _DAT_8005e510 = - (((uint)(uVar4 < in_v1_lo) + _DAT_8005e510 + _DAT_8005e520) - _DAT_8005e518) - - (uint)(uVar4 < _DAT_8005e51c); - _DAT_8005e514 = uVar4 - _DAT_8005e51c; - _DAT_8005e524 = in_v1_lo; - uStack48 = _DAT_8005e500; - uStack44 = _DAT_8005e504; - } - if ((_DAT_8005e4f8 <= uStack48) && ((_DAT_8005e4f8 < uStack48 || (_DAT_8005e4fc < uStack44)))) - { - _DAT_8005e4f8 = uStack48; - _DAT_8005e4fc = uStack44; - } - osRecvMesg(-0x7ffa18a8,&puStack16,1); - __amHandleDoneMsg(); - } - else { - if (sVar1 == 5) { - bVar2 = true; - } - else { - if (sVar1 == 10) { - bVar2 = true; - } - } - } - } while (!bVar2); - alClose((undefined4 *)0x8005e790); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __amHandleFrameMsg(uint *param_1,uint *param_2) - -{ - short sVar1; - uint uVar2; - uint uVar3; - undefined4 *puVar4; - int **ppiVar5; - - __clearAudioDMA(); - uVar2 = osVirtualToPhysical(*param_1); - if (param_2 != NULL) { - osAiSetNextBuffer(*param_2,(int)*(short *)(param_2 + 1) << 2); - } - uVar3 = osAiGetLength(); - *(ushort *)(param_1 + 1) = ((short)_frameSize - (short)(uVar3 >> 2)) + 0x35U & 0xfff0; - sVar1 = *(short *)(param_1 + 1); - if ((longlong)sVar1 < (longlong)(int)(short)_minFrameSize) { - *(short *)(param_1 + 1) = (short)_minFrameSize; - sVar1 = *(short *)(param_1 + 1); - } - puVar4 = alAudioFrame(*(undefined4 **)(&DAT_8005e558 + curAcmdList * 4),(int *)0x8005ed0c,uVar2, - (int)sVar1); - param_1[2] = 0; - param_1[0x16] = 0x8005e758; - *(uint **)(param_1 + 0x17) = param_1; - param_1[4] = 2; - param_1[0x12] = *(uint *)(&DAT_8005e558 + curAcmdList * 4); - param_1[0x13] = ((int)((int)puVar4 - *(int *)(&DAT_8005e558 + curAcmdList * 4)) >> 3) << 3; - param_1[6] = 2; - param_1[8] = 0x80020dd0; - param_1[9] = 0xd0; - param_1[7] = 0; - param_1[10] = 0x800222c0; - param_1[0xc] = 0x8005d060; - param_1[0xd] = 0x800; - param_1[0x14] = 0; - param_1[0x15] = 0; - ppiVar5 = (int **)osScGetCmdQ(-0x7ffa2580); - osSendMesg(ppiVar5,(int)(param_1 + 2),0); - curAcmdList = curAcmdList ^ 1; - return; -} - - - -void __amHandleDoneMsg(void) - -{ - int iVar1; - - iVar1 = osAiGetLength(); - if ((iVar1 >> 2 == 0) && (firstTime == 0)) { - firstTime = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint __amDMA(int *param_1,int param_2) - -{ - int **ppiVar1; - int **ppiVar2; - int *piVar3; - uint uVar4; - int **ppiVar5; - int *piVar6; - int iVar7; - int **ppiVar8; - - ppiVar1 = _DAT_8005e7f8; - ppiVar5 = NULL; - if (_DAT_8005e7f4 != NULL) { - piVar3 = _DAT_8005e7f4[2]; - ppiVar2 = _DAT_8005e7f4; - ppiVar5 = NULL; - while( true ) { - ppiVar8 = ppiVar2; - if (param_1 < piVar3) break; - if ((int)param_1 + param_2 <= (int)(piVar3 + 0x80)) { - ppiVar8[3] = audFrameCt; - uVar4 = osVirtualToPhysical(((int)ppiVar8[4] + (int)param_1) - (int)piVar3); - return uVar4; - } - ppiVar2 = (int **)*ppiVar8; - ppiVar5 = ppiVar8; - if (ppiVar2 == NULL) break; - piVar3 = ppiVar2[2]; - ppiVar5 = ppiVar8; - } - } - if (_DAT_8005e7f8 == NULL) { - if (ppiVar5 == NULL) { - piVar3 = _DAT_8005e7f4[4]; - } - else { - piVar3 = ppiVar5[4]; - } - uVar4 = osVirtualToPhysical((uint)piVar3); - } - else { - _DAT_8005e7f8 = (int **)*_DAT_8005e7f8; - alUnlink((int *)ppiVar1); - ppiVar2 = _DAT_8005e7f4; - if (ppiVar5 == NULL) { - if (_DAT_8005e7f4 == NULL) { - _DAT_8005e7f4 = ppiVar1; - *ppiVar1 = NULL; - ppiVar1[1] = NULL; - } - else { - _DAT_8005e7f4 = ppiVar1; - *(int ***)ppiVar1 = ppiVar2; - ppiVar1[1] = NULL; - *(int ***)(ppiVar2 + 1) = ppiVar1; - } - } - else { - alLink(ppiVar1,ppiVar5); - } - piVar6 = (int *)((int)param_1 - ((uint)param_1 & 1)); - ppiVar1[2] = piVar6; - piVar3 = ppiVar1[4]; - ppiVar1[3] = audFrameCt; - iVar7 = DAT_80023138 * 0x18; - DAT_80023138 += 1; - osPiStartDma((undefined2 *)(iVar7 + -0x7ffa12f0),1,0,piVar6,piVar3,0x200,0x8005f310); - uVar4 = osVirtualToPhysical((uint)piVar3); - } - return uVar4 + ((uint)param_1 & 1); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * __amDmaNew(undefined4 *param_1) - -{ - if (DAT_8005e7f0 == '\0') { - _DAT_8005e7f4 = 0; - _DAT_8005e7f8 = &DAT_8005e800; - DAT_8005e7f0 = '\x01'; - } - *param_1 = 0x8005e7f0; - return (undefined *)__amDMA; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __clearAudioDMA(void) - -{ - int **ppiVar1; - int **ppiVar2; - uint uVar3; - undefined4 auStack8 [2]; - - auStack8[0] = 0; - uVar3 = 0; - ppiVar2 = _DAT_8005e7f4; - if (DAT_80023138 != 0) { - do { - osRecvMesg(-0x7ffa0cf0,auStack8,0); - uVar3 += 1; - ppiVar2 = _DAT_8005e7f4; - } while (uVar3 < DAT_80023138); - } - while (ppiVar1 = ppiVar2, ppiVar1 != NULL) { - ppiVar2 = (int **)*ppiVar1; - if ((int)ppiVar1[3] + 1U < audFrameCt) { - if (ppiVar1 == _DAT_8005e7f4) { - _DAT_8005e7f4 = ppiVar2; - } - alUnlink((int *)ppiVar1); - if (_DAT_8005e7f8 == NULL) { - _DAT_8005e7f8 = ppiVar1; - *ppiVar1 = NULL; - ppiVar1[1] = NULL; - } - else { - alLink(ppiVar1,_DAT_8005e7f8); - } - } - } - audFrameCt = audFrameCt + 1; - DAT_80023138 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void displaylist_related(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - _DAT_8005f440 = 0xb8000000; - _DAT_8005f444 = 0; - _DAT_8005fc90 = 0xb8000000; - _DAT_8005fc94 = 0; - _DAT_800604e0 = 0; - puVar2 = (undefined4 *)&DAT_800607f0; - puVar1 = (undefined4 *)&DAT_80060810; - do { - puVar1 = puVar1 + 1; - *puVar2 = 0; - *puVar1 = 1; - puVar2 = puVar2 + 1; - puVar1 = puVar1; - } while (puVar1 != (undefined4 *)0x8006081c); - video_related_2(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_related_1(void) - -{ - int iVar1; - int *piVar2; - uint *puVar3; - uint uVar4; - - _DAT_800604e8 = osGetCount(); - piVar2 = (int *)&DAT_80060810; - puVar3 = (uint *)&DAT_80060800; - do { - iVar1 = *piVar2; - piVar2 = piVar2 + 1; - uVar4 = iVar1 + 0x1fU & 0x1f; - if (((int)(iVar1 + 0x1fU) < 0) && (uVar4 != 0)) { - uVar4 -= 0x20; - } - *puVar3 = uVar4; - puVar3 = puVar3 + 1; - } while (piVar2 != (int *)0x8006081c); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_related_2(void) - -{ - undefined4 uVar1; - undefined4 *puVar2; - undefined4 *puVar3; - - puVar3 = (undefined4 *)&DAT_80060800; - _DAT_800604e4 = _DAT_800604e8; - puVar2 = (undefined4 *)&DAT_800607f0; - do { - uVar1 = *puVar3; - puVar3 = puVar3 + 1; - *puVar2 = uVar1; - puVar2 = puVar2 + 1; - } while (puVar3 != (undefined4 *)0x8006080c); - return; -} - - - -void video_related_3(uint param_1) - -{ - ulonglong uVar1; - undefined4 uVar2; - int iVar3; - uint uVar4; - int iVar5; - int iVar6; - - uVar1 = osSetIntMask(1); - iVar3 = (param_1 & 0xffff) * 4; - uVar4 = (int)param_1 >> 0x10; - iVar5 = *(int *)(&DAT_80060810 + iVar3); - if (uVar4 == 3) { - uVar4 = *(uint *)(iVar3 + -0x7ffa0bd0) | 0x8000; - } - else { - if (uVar4 == 6) { - uVar4 = *(uint *)(iVar3 + -0x7ffa0bd0) & 0x7fff; - } - } - iVar6 = (param_1 & 0xffff) * 0x100 + iVar5 * 8; - *(uint *)(iVar6 + -0x7ff9fb10) = uVar4; - uVar2 = osGetCount(); - *(undefined4 *)(iVar6 + -0x7ff9fb0c) = uVar2; - iVar5 += 1; - *(uint *)(iVar3 + -0x7ffa0bd0) = uVar4; - if (0x1f < iVar5) { - iVar5 = 0; - } - *(int *)(&DAT_80060810 + iVar3) = iVar5; - osSetIntMask((longlong)(int)uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * display_speed_graph(undefined4 *puParm1) - -{ - int iVar1; - uint uVar2; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - float fVar3; - uint in_f5; - float fVar4; - uint in_f11; - uint in_f19; - byte abStack24 [20]; - int *local_4; - - DAT_80023264 += DAT_800484c8; - if ((int)DAT_80023268 < (int)DAT_800484c8) { - DAT_80023268 = DAT_800484c8; - } - if (0x14 < DAT_80023264) { - while (0x14 < DAT_80023264) { - DAT_80023264 -= 0x14; - } - local_4 = (int *)get_counters(); - set_debug_text_color(0xff,0xff,0xff,0xff); - set_color_speedgraph(0,0,0,0xff); - set_final_debug_text_positions(8,5); - fVar4 = (float)(local_4[1] - local_4[3]); - if (local_4[1] - local_4[3] < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar3 = (float)*local_4; - if (*local_4 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - sprintf((int)abStack24,(byte *)s_utz__2_0f___80028460,in_f11, - SUB84((double)((fVar4 * 100.00000000) / fVar3),0)); - write_string_stdout(abStack24); - set_final_debug_text_positions(8,6); - iVar1 = *local_4; - fVar4 = (float)(iVar1 - local_4[1]); - if (iVar1 - local_4[1] < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar3 = (float)iVar1; - if (iVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - sprintf((int)abStack24,(byte *)s_rsp__2_0f___80028470,in_f5, - SUB84((double)((fVar4 * 100.00000000) / fVar3),0)); - write_string_stdout(abStack24); - set_final_debug_text_positions(8,7); - fVar4 = (float)local_4[3]; - if (local_4[3] < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar3 = (float)*local_4; - if (*local_4 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - sprintf((int)abStack24,(byte *)s_tex__2_0f___80028480,in_f19, - SUB84((double)((fVar4 * 100.00000000) / fVar3),0)); - write_string_stdout(abStack24); - set_final_debug_text_positions(0x1c,5); - if (DAT_800484c8 == 0) { - uVar2 = 0; - } - else { - uVar2 = 0x3c / (int)DAT_800484c8; - if (DAT_800484c8 == 0) { - trap(0x1c00); - } - if ((DAT_800484c8 == 0xffffffff) && (false)) { - trap(0x1800); - } - } - sprintf((int)abStack24,(byte *)s__2d_hz_8002848c,uVar2,extraout_a3_lo); - write_string_stdout(abStack24); - set_final_debug_text_positions(0x1c,6); - sprintf((int)abStack24,(byte *)s__2d_frames_80028494,DAT_800484c8,extraout_a3_lo_00); - write_string_stdout(abStack24); - if (DAT_80023268 == DAT_800484c8) { - sprintf((int)abStack24,(byte *)s__800284a8,DAT_80023268,extraout_a3_lo_01); - } - else { - sprintf((int)abStack24,(byte *)s____2d__800284a0,DAT_80023268,extraout_a3_lo_01); - } - write_string_stdout(abStack24); - DAT_80023268 = 0; - } - *puParm1 = 0x6000000; - *(undefined **)(puParm1 + 1) = &DAT_8005f440 + (_DAT_800604e0 ^ 1) * 0x850; - return puParm1 + 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_DL_related_4(void) - -{ - uint uVar1; - ulonglong uVar2; - float fVar3; - uint *puVar4; - uint *puVar5; - uint uVar6; - uint *puVar7; - uint uVar8; - int iVar9; - int iVar10; - uint uVar11; - uint uVar12; - uint *puVar13; - uint *puVar14; - uint uVar15; - float fVar16; - uint *puStack96; - int iStack80; - uint auStack48 [10]; - int iStack8; - - counterforframes += DAT_800484c8; - if (200 < counterforframes) { - counterforframes -= 200; - DAT_80023274 ^= 1; - } - uVar2 = (ulonglong)DAT_8002326c; - DAT_8002326c += 1; - if ((longlong)(int)DAT_80023274 != (uVar2 & 1)) { - puVar4 = FUN_7f0d27a0((undefined4 *)(&DAT_8005f440 + _DAT_800604e0 * 0x850)); - puVar7 = auStack48 + 3; - do { - puVar13 = puVar7 + 1; - *puVar7 = 0; - uVar6 = _DAT_800604e4; - puVar7 = puVar13; - } while (puVar13 < auStack48 + 6); - puVar7 = auStack48; - do { - puVar13 = puVar7 + 1; - *puVar7 = uVar6; - fVar3 = s_I_l0_800284b0._0_4_; - puVar7 = puVar13; - } while (puVar13 < auStack48 + 3); - puVar7 = (uint *)&DAT_80060810; - puStack96 = (uint *)&DAT_800607f0; - iStack8 = 0; - iStack80 = 0; - do { - uVar6 = *puVar7; - uVar15 = *puStack96; - puVar13 = (uint *)((int)auStack48 + iStack80 + 0xc); - if (uVar15 != uVar6) { - iVar9 = iStack8 * 0x100; - puVar14 = (uint *)((int)auStack48 + iStack80); - do { - puVar5 = (uint *)(iVar9 + -0x7ff9fb10 + uVar15 * 8); - uVar12 = *puVar5; - if ((uVar12 & 0x8000) == 0) { - uVar11 = *puVar14; - } - else { - uVar12 = 3; - uVar11 = *puVar14; - } - uVar1 = puVar5[1]; - uVar8 = _DAT_800604e4; - if (_DAT_800604e4 <= uVar11) { - uVar8 = uVar11; - } - if ((_DAT_800604e4 <= uVar1) && (uVar8 <= uVar1)) { - uVar6 = *puVar13; - iVar10 = uVar6 * 0x10; - fVar16 = (float)(uVar1 - uVar8); - if ((int)(uVar1 - uVar8) < 0) { - fVar16 = fVar16 + 4294967296.00000000; - } - if (uVar6 == 1) { - FUN_7f0d2aac(fVar16 / fVar3); - } - else { - uVar6 = *(uint *)(&DAT_80023218 + iVar10); - puVar4 = loc_7F0D1DB4(puVar4,fVar16 / fVar3,(int)uVar6 >> 0x18 & 0xff, - (int)uVar6 >> 0x10 & 0xff,(int)uVar6 >> 8 & 0xff, - *(int *)(&DAT_8002321c + iVar10), - *(int *)(&DAT_80023220 + iVar10)); - puVar4 = (uint *)(uVar6 & 0xffffff00 | (uint)puVar4 >> 0x18); - } - *puVar4 = 0xe7000000; - puVar4[1] = 0; - puVar4 = puVar4 + 2; - uVar6 = *puVar7; - } - uVar11 = uVar15 + 1; - *puVar13 = uVar12; - *puVar14 = uVar1; - uVar15 = uVar11 & 0x1f; - if (((int)uVar11 < 0) && (uVar15 != 0)) { - uVar15 -= 0x20; - } - } while (uVar15 != uVar6); - } - if (iStack8 < 2) { - FUN_7f0d3000(); - } - iStack8 += 1; - iStack80 += 4; - puStack96 = puStack96 + 1; - puVar7 = puVar7 + 1; - } while (iStack8 != 3); - puVar7 = FUN_7f0d2b78(puVar4,0,0,0); - *puVar7 = 0xe7000000; - puVar7[1] = 0; - puVar7[2] = 0xb8000000; - puVar7[3] = 0; - _DAT_800604e0 ^= 1; - } - return; -} - - - -void init_video_settings(void) - -{ - DAT_800232ac = &cfb_16_a; - video_mp_related_8002329C = 0; - video_mp_related_800232A0 = 0; - ptr_video_settings1 = &video1_settings; - ptr_video_settings2 = &video2_settings; - DAT_800608b8 = 0; - DAT_800608b9 = 1; - DAT_800232d8 = &cfb_16_b; - return; -} - - - -void init_both_video_buffers(void) - -{ - int iVar1; - int iVar2; - - FUN_7f0d3060(); - iVar1 = 0; - do { - (&cfb_16_a)[iVar1] = 0; - (&cfb_16_b)[iVar1] = 0; - (&DAT_803b5001)[iVar1] = 0; - (&DAT_803da801)[iVar1] = 0; - (&DAT_803b5002)[iVar1] = 0; - (&DAT_803da802)[iVar1] = 0; - (&DAT_803b5003)[iVar1] = 0; - iVar2 = iVar1 + 4; - (&DAT_803da803)[iVar1] = 0; - iVar1 = iVar2; - } while (iVar2 != 0x25800); - return; -} - - - -void video_store_A0_plus_2_to_off_D_800232BC(int param_1) - -{ - DAT_800232fc = param_1 + 2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_related_7(void) - -{ - int iVar1; - - if ((DAT_800232f8 != 0) && (DAT_800232f8 += -1, DAT_800232f8 == 0)) { - DAT_800232f4 = 0; - } - iVar1 = DAT_800232f0 * DAT_800232f4; - *(uint *)(_DAT_800608bc + 0x30) = - ((_DAT_800608c4 >> 0x10) + iVar1) * 0x10000 | _DAT_800608c4 + iVar1 & 0xffffU; - *(uint *)(_DAT_800608bc + 0x44) = - ((_DAT_800608c8 >> 0x10) + iVar1) * 0x10000 | _DAT_800608c8 + iVar1 & 0xffffU; - osViSetMode(_DAT_800608bc); - osViBlack((char)DAT_800232fc); - if ((DAT_800232fc != 0) && (DAT_800232fc < 3)) { - DAT_800232fc = DAT_800232fc + -1; - } - osViSetSpecialFeatures(0x42); - DAT_800232f0 = -DAT_800232f0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_related_8(void) - -{ - bool bVar1; - short sVar2; - short sVar3; - undefined4 uVar4; - undefined *__src; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - char cVar8; - undefined4 *puVar9; - int iVar10; - uint uVar11; - int iVar12; - undefined4 *puVar13; - undefined4 *puVar14; - int iVar15; - int iVar16; - float fVar17; - - cVar8 = *ptr_video_settings2; - if (cVar8 == *ptr_video_settings1) { - sVar2 = *(short *)(ptr_video_settings2 + 4); - } - else { - if (cVar8 == '\0') { - osViSetYScale(0x3f800000); - osViBlack('\x01'); - } - else { - if (cVar8 == '\x01') { - if (coloroutputmode == 0) { - if (_DAT_80000300 == 2) { - puVar6 = &DAT_800274a0; - puVar7 = (undefined4 *)&DAT_80060868; - do { - puVar9 = puVar7; - puVar13 = puVar6; - *puVar9 = *puVar13; - puVar9[1] = puVar13[1]; - puVar9[2] = puVar13[2]; - puVar6 = puVar13 + 3; - puVar7 = puVar9 + 3; - } while (puVar13 + 3 != (undefined4 *)0x800274e8); - uVar4 = puVar13[4]; - puVar9[3] = uRam800274e8; - puVar9[4] = uVar4; - } - else { - puVar6 = &DAT_80026be0; - puVar7 = (undefined4 *)&DAT_80060868; - do { - puVar13 = puVar7; - puVar9 = puVar6; - *puVar13 = *puVar9; - puVar13[1] = puVar9[1]; - puVar13[2] = puVar9[2]; - puVar6 = puVar9 + 3; - puVar7 = puVar13 + 3; - } while (puVar9 + 3 != (undefined4 *)0x80026c28); - uVar4 = puVar9[4]; - puVar13[3] = uRam80026c28; - puVar13[4] = uVar4; - } - } - else { - if (_DAT_80000300 == 2) { - puVar6 = &DAT_80027360; - puVar7 = (undefined4 *)&DAT_80060868; - do { - puVar9 = puVar7; - puVar13 = puVar6; - *puVar9 = *puVar13; - puVar9[1] = puVar13[1]; - puVar9[2] = puVar13[2]; - puVar6 = puVar13 + 3; - puVar7 = puVar9 + 3; - } while (puVar13 + 3 != (undefined4 *)0x800273a8); - uVar4 = puVar13[4]; - puVar9[3] = uRam800273a8; - puVar9[4] = uVar4; - } - else { - puVar6 = &DAT_80026aa0; - puVar7 = (undefined4 *)&DAT_80060868; - do { - puVar9 = puVar7; - puVar13 = puVar6; - *puVar9 = *puVar13; - puVar9[1] = puVar13[1]; - puVar9[2] = puVar13[2]; - puVar6 = puVar13 + 3; - puVar7 = puVar9 + 3; - } while (puVar13 + 3 != (undefined4 *)0x80026ae8); - uVar4 = puVar13[4]; - puVar9[3] = uRam80026ae8; - puVar9[4] = uVar4; - } - } - _DAT_800608bc = &DAT_80060868; - _DAT_800608c0 = _DAT_80060884; - _DAT_800608c4 = _DAT_80060898; - _DAT_800608c8 = _DAT_800608ac; - video_store_A0_plus_2_to_off_D_800232BC(0); - } - else { - if (cVar8 == '\x02') { - if (_DAT_80000300 == 2) { - _DAT_800608bc = &DAT_80027630; - } - else { - _DAT_800608bc = &DAT_80026d70; - } - _DAT_800608c0 = *(uint *)(_DAT_800608bc + 0x1c); - _DAT_800608c4 = *(uint *)(_DAT_800608bc + 0x30); - _DAT_800608c8 = *(uint *)(_DAT_800608bc + 0x44); - osViBlack('\0'); - } - } - } - osViSetSpecialFeatures(0x42); - cVar8 = *ptr_video_settings2; - sVar2 = *(short *)(ptr_video_settings2 + 4); - } - __src = ptr_video_settings2; - fVar17 = (float)(int)*(short *)(ptr_video_settings2 + 6) / - (float)(int)*(short *)(ptr_video_settings2 + 0x1a); - if (cVar8 == '\0') { - fVar17 = 1.00000000; - } - iVar10 = DAT_80023300 * 4; - *(float *)(&DAT_800230f4 + iVar10) = - (float)(int)sVar2 / (float)(int)*(short *)(ptr_video_settings2 + 0x18); - *(float *)(&DAT_800230fc + iVar10) = fVar17; - iVar5 = coloroutputmode; - if (*__src == '\x01') { - bVar1 = coloroutputmode == 0; - *(undefined4 *)(iVar10 + -0x7ffa23e0) = 0x80060868; - if (bVar1) { - if (_DAT_80000300 == 2) { - puVar9 = (undefined4 *)(DAT_80023300 * 0x50 + -0x7ffa2480); - puVar6 = &DAT_800274a0; - puVar7 = puVar9; - do { - puVar14 = puVar7; - puVar13 = puVar6; - *puVar14 = *puVar13; - puVar14[1] = puVar13[1]; - puVar14[2] = puVar13[2]; - puVar6 = puVar13 + 3; - puVar7 = puVar14 + 3; - } while (puVar13 + 3 != (undefined4 *)0x800274e8); - puVar14[3] = uRam800274e8; - puVar14[4] = puVar13[4]; - } - else { - puVar9 = (undefined4 *)(DAT_80023300 * 0x50 + -0x7ffa2480); - puVar6 = &DAT_80026be0; - puVar7 = puVar9; - do { - puVar14 = puVar7; - puVar13 = puVar6; - *puVar14 = *puVar13; - puVar14[1] = puVar13[1]; - puVar14[2] = puVar13[2]; - puVar6 = puVar13 + 3; - puVar7 = puVar14 + 3; - } while (puVar13 + 3 != (undefined4 *)0x80026c28); - puVar14[3] = uRam80026c28; - puVar14[4] = puVar13[4]; - } - } - else { - if (_DAT_80000300 == 2) { - puVar9 = (undefined4 *)(DAT_80023300 * 0x50 + -0x7ffa2480); - puVar6 = &DAT_80027360; - puVar7 = puVar9; - do { - puVar13 = puVar7; - puVar14 = puVar6; - *puVar13 = *puVar14; - puVar13[1] = puVar14[1]; - puVar13[2] = puVar14[2]; - puVar6 = puVar14 + 3; - puVar7 = puVar13 + 3; - } while (puVar14 + 3 != (undefined4 *)0x800273a8); - puVar13[3] = uRam800273a8; - puVar13[4] = puVar14[4]; - } - else { - puVar9 = (undefined4 *)(DAT_80023300 * 0x50 + -0x7ffa2480); - puVar6 = &DAT_80026aa0; - puVar7 = puVar9; - do { - puVar13 = puVar7; - puVar14 = puVar6; - *puVar13 = *puVar14; - puVar13[1] = puVar14[1]; - puVar13[2] = puVar14[2]; - puVar6 = puVar14 + 3; - puVar7 = puVar13 + 3; - } while (puVar14 + 3 != (undefined4 *)0x80026ae8); - puVar13[3] = uRam80026ae8; - puVar13[4] = puVar14[4]; - } - } - puVar9[2] = (int)*(short *)(__src + 0x18); - puVar9[8] = ((int)*(short *)(__src + 0x18) << 10) / 0x280; - sVar2 = *(short *)(__src + 0x1a); - puVar9[0xb] = ((int)sVar2 << 0xb) / 0x1e0; - sVar3 = *(short *)(__src + 0x1a); - if (false) { - trap(0x1c00); - } - if ((false) && ((int)sVar2 << 0xb == -0x80000000)) { - trap(0x1800); - } - puVar9[0x10] = ((int)sVar3 << 0xb) / 0x1e0; - if (false) { - trap(0x1c00); - } - if ((false) && ((int)sVar3 << 0xb == -0x80000000)) { - trap(0x1800); - } - puVar9[10] = (int)*(short *)(__src + 0x18) << 1; - puVar9[0xf] = (int)*(short *)(__src + 0x18) << 1; - iVar15 = ((int)puVar9[7] >> 0x10 & 0xffffU) + video_mp_related_8002329C; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar15 == -0x80000000)) { - trap(0x1800); - } - iVar16 = (puVar9[7] & 0xffff) + video_mp_related_8002329C; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar16 == -0x80000000)) { - trap(0x1800); - } - _DAT_800608c0 = iVar15 % 0xffff << 0x10 | iVar16 % 0xffff; - puVar9[7] = _DAT_800608c0; - iVar15 = video_mp_related_800232A0; - iVar16 = ((int)puVar9[0xc] >> 0x10 & 0xffffU) + video_mp_related_800232A0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar16 == -0x80000000)) { - trap(0x1800); - } - iVar12 = (puVar9[0xc] & 0xffff) + video_mp_related_800232A0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar12 == -0x80000000)) { - trap(0x1800); - } - _DAT_800608c4 = iVar16 % 0xffff << 0x10 | iVar12 % 0xffff; - puVar9[0xc] = _DAT_800608c4; - iVar16 = ((int)puVar9[0x11] >> 0x10 & 0xffffU) + iVar15; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar16 == -0x80000000)) { - trap(0x1800); - } - iVar15 = (puVar9[0x11] & 0xffff) + iVar15; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar15 == -0x80000000)) { - trap(0x1800); - } - _DAT_800608c8 = iVar16 % 0xffff << 0x10 | iVar15 % 0xffff; - puVar9[0x11] = _DAT_800608c8; - *(undefined4 *)(&DAT_80023104 + iVar10) = 1; - } - else { - *(undefined4 *)(&DAT_80023104 + iVar10) = 0; - } - uVar11 = DAT_80023300 + 1; - DAT_80023300 = uVar11 & 1; - if (((int)uVar11 < 0) && (DAT_80023300 != 0)) { - DAT_80023300 -= 2; - } - if (iVar5 == 0) { - *(undefined4 *)(PTR_DAT_8004eae0 + 0x58) = 0x803b5000; - } - else { - *(undefined4 *)(PTR_DAT_8004eae0 + 0x58) = *(undefined4 *)(__src + 0x28); - } - __src = ptr_video_settings2; - DAT_800608b8 = DAT_800608b8 + 1 & 1; - if ((false) && (DAT_800608b8 != 0)) { - DAT_800608b8 -= 2; - } - DAT_800608b9 = DAT_800608b9 + 1 & 1; - if ((false) && (DAT_800608b9 != 0)) { - DAT_800608b9 -= 2; - } - ptr_video_settings1 = &video1_settings + (uint)DAT_800608b8 * 0x2c; - ptr_video_settings2 = &video1_settings + (uint)DAT_800608b9 * 0x2c; - _bcopy(__src,ptr_video_settings2,0x2c); - *(undefined **)(ptr_video_settings2 + 0x28) = - &cfb_16_a + - (((uint)DAT_800608b9 * 0x14 - (uint)DAT_800608b9) * 4 - (uint)DAT_800608b9) * 0x800; - return; -} - - - -void video_related_9(float param_1) - -{ - float fVar1; - - fVar1 = 14.00000000; - if (param_1 <= 14.00000000) { - fVar1 = param_1; - } - if (fVar1 < 0.00000000) { - DAT_800232f4 = 0; - } - else { - DAT_800232f4 = (int)fVar1; - } - DAT_800232f8 = 10; - return; -} - - - -void receive_vi_c_msgs(int param_1) - -{ - do { - osRecvMesg(-0x7ff9b0b0,NULL,1); - param_1 += -1; - } while (0 < param_1); - return; -} - - - -void setVideoWidthHeightToMode(int param_1) - -{ - word wVar1; - - *ptr_video_settings2 = (char)param_1; - wVar1 = widths_80028480[param_1]; - *(word *)(ptr_video_settings2 + 0x18) = wVar1; - *(word *)(ptr_video_settings2 + 4) = wVar1; - wVar1 = heights_80028488[param_1]; - *(word *)(ptr_video_settings2 + 0x1a) = wVar1; - *(word *)(ptr_video_settings2 + 6) = wVar1; - return; -} - - - -void set_coloroutputmode_16bit(void) - -{ - coloroutputmode = 1; - return; -} - - - -void set_coloroutputmode_32bit(void) - -{ - coloroutputmode = 0; - return; -} - - - -undefined4 get_video_settings2_frameb(void) - -{ - return *(undefined4 *)(ptr_video_settings2 + 0x28); -} - - - -void set_video_settings2_frameb(undefined4 param_1) - -{ - *(undefined4 *)(ptr_video_settings2 + 0x28) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_70003c4c(void) - -{ - return (ulonglong)_DAT_80060864; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_70003c58(undefined4 *param_1) - -{ - short sVar1; - - if (_DAT_8007a120 != 0) { - *(undefined2 *)(_DAT_8007a120 + (uint)DAT_800608b9 * 0x10 + 2000) = - (short)((int)*(short *)(ptr_video_settings2 + 0x1c) << 1); - *(short *)(_DAT_8007a120 + (uint)DAT_800608b9 * 0x10 + 0x7d8) = - (short)((int)*(short *)(ptr_video_settings2 + 0x1c) << 1) + - (short)((int)*(short *)(ptr_video_settings2 + 0x20) << 2); - *(undefined2 *)(_DAT_8007a120 + (uint)DAT_800608b9 * 0x10 + 0x7d2) = - (short)((int)*(short *)(ptr_video_settings2 + 0x1e) << 1); - *(short *)(_DAT_8007a120 + (uint)DAT_800608b9 * 0x10 + 0x7da) = - (short)((int)*(short *)(ptr_video_settings2 + 0x1e) << 1) + - (short)((int)*(short *)(ptr_video_settings2 + 0x22) << 2); - } - *param_1 = 0x3800010; - param_1[1] = _DAT_8007a120 + (uint)DAT_800608b9 * 0x10 + -0x7ffff830; - _DAT_80060860 = (uint *)FUN_7f0be290(); - guPerspective((float *)0x80060820,(undefined2 *)&DAT_80060864,*(float *)(ptr_video_settings2 + 8), - *(float *)(ptr_video_settings2 + 0xc),*(float *)(ptr_video_settings2 + 0x10), - *(float *)(ptr_video_settings2 + 0x14),1.00000000); - guMtxF2L((float *)0x80060820,_DAT_80060860); - param_1[2] = 0x1030040; - *(uint **)(param_1 + 3) = _DAT_80060860 + -0x20000000; - param_1[4] = 0xbc00000e; - param_1[5] = (uint)_DAT_80060864; - FUN_7f078954(_DAT_80060860); - FUN_7f0789c4(0x80060820); - if (coloroutputmode == 0) { - sVar1 = *(short *)(ptr_video_settings2 + 0x18); - param_1[7] = 0x3b5000; - param_1[6] = (int)sVar1 - 1U & 0xfff | 0xff180000; - } - else { - param_1[6] = (int)*(short *)(ptr_video_settings2 + 0x18) - 1U & 0xfff | 0xff100000; - param_1[7] = *(int *)(ptr_video_settings2 + 0x28) + -0x80000000; - } - return param_1 + 8; -} - - - -undefined4 * FUN_70003eb4(undefined4 *param_1) - -{ - undefined4 *puVar1; - - if (*(int *)(ptr_video_settings2 + 0x24) != 0) { - puVar1 = FUN_7f0d3144(param_1); - param_1 = loc_7F0D26B4(puVar1); - } - return param_1; -} - - - -undefined4 * insert_generic_fillrect(undefined4 *param_1) - -{ - param_1[1] = 0x300000; - *param_1 = 0xba001402; - param_1[2] = ((int)*(short *)(ptr_video_settings2 + 0x18) - 1U & 0x3ff) << 0xe | 0xf6000000 | - ((int)*(short *)(ptr_video_settings2 + 0x1a) - 1U & 0x3ff) << 2; - param_1[3] = 0; - param_1[4] = 0xe7000000; - param_1[5] = 0; - return param_1 + 6; -} - - - -uint * setupscreensfornumplayers(undefined4 *param_1) - -{ - short sVar3; - short sVar4; - int iVar2; - ulonglong uVar1; - short sVar5; - short sVar6; - uint *puVar7; - uint *puVar8; - - param_1[1] = 0x300000; - *param_1 = 0xba001402; - param_1[2] = 0xed000000; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - puVar7 = param_1 + 6; - param_1[3] = (int)((float)(int)sVar4 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar3 * 4.00000000) & 0xfffU) << 0xc; - param_1[5] = 0x10001; - param_1[4] = 0xf7000000; - sVar3 = get_video2_settings_uly(); - if (0 < sVar3) { - iVar2 = get_cur_playernum(); - iVar2 = FUN_7f09c078(iVar2); - if (iVar2 == 0) { - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_uly(); - *puVar7 = ((int)sVar4 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar3 - 1U & 0x3ff) << 0xe; - param_1[7] = 0; - param_1[8] = 0xe7000000; - param_1[9] = 0; - puVar7 = param_1 + 10; - } - } - uVar1 = get_num_players(); - if (uVar1 == 1) { - sVar3 = get_video2_settings_height(); - sVar4 = get_video2_settings_uly(); - sVar5 = get_video2_settings_txtClipH(); - if ((longlong)sVar5 <= (longlong)((int)sVar4 + (int)sVar3)) { - return puVar7; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - *puVar7 = ((int)sVar4 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar3 - 1U & 0x3ff) << 0xe; - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar7[1] = ((int)sVar4 + (int)sVar3 & 0x3ffU) << 2; - puVar7[3] = 0; - puVar7[2] = 0xe7000000; - puVar8 = puVar7; - } - else { - iVar2 = get_cur_playernum(); - iVar2 = FUN_7f09c078(iVar2); - if (iVar2 != 0) { - return puVar7; - } - sVar3 = get_video2_settings_height(); - sVar4 = get_video2_settings_height(); - sVar5 = get_video2_settings_uly(); - sVar6 = get_video2_settings_txtClipH(); - if ((longlong)((int)sVar5 + (int)sVar4 + (int)sVar3) < (longlong)sVar6) { - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - *puVar7 = ((int)sVar4 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar3 - 1U & 0x3ff) << 0xe; - sVar3 = get_video2_settings_height(); - sVar4 = get_video2_settings_uly(); - sVar5 = get_video2_settings_height(); - puVar7[1] = ((int)sVar5 + (int)sVar4 + (int)sVar3 & 0x3ffU) << 2; - puVar7[2] = 0xe7000000; - puVar7[3] = 0; - puVar7 = puVar7 + 4; - } - sVar3 = get_video2_settings_txtClipW(); - puVar7[1] = 0x1dc; - *puVar7 = ((int)sVar3 - 1U & 0x3ff) << 0xe | 0xf60001e0; - puVar7[2] = 0xe7000000; - puVar7[3] = 0; - puVar8 = puVar7 + 4; - uVar1 = get_num_players(); - if (2 < (longlong)uVar1) { - sVar3 = get_video2_settings_txtClipH(); - *puVar8 = ((int)sVar3 - 1U & 0x3ff) << 2 | 0xf6280000; - puVar7[5] = 0x27c000; - puVar7[6] = 0xe7000000; - puVar7[7] = 0; - puVar8 = puVar7 + 8; - } - uVar1 = get_num_players(); - if (uVar1 != 3) { - return puVar8; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - *puVar8 = ((int)sVar4 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar3 - 1U & 0x3ff) << 0xe; - puVar8[1] = 0x2841e4; - puVar8[2] = 0xe7000000; - puVar8[3] = 0; - } - return puVar8 + 4; -} - - - -void set_video_mp_related_800232A0(undefined4 param_1) - -{ - video_mp_related_800232A0 = param_1; - return; -} - - - -undefined4 get_video_mp_related_800232A0(void) - -{ - return video_mp_related_800232A0; -} - - - -void set_video_mp_related_8002329C(undefined4 param_1) - -{ - video_mp_related_8002329C = param_1; - return; -} - - - -undefined4 get_video_mp_related_8002329C(void) - -{ - return video_mp_related_8002329C; -} - - - -void set_video2_settings_offset_18_1A(undefined2 param_1,undefined2 param_2) - -{ - *(undefined2 *)(ptr_video_settings2 + 0x18) = param_1; - *(undefined2 *)(ptr_video_settings2 + 0x1a) = param_2; - return; -} - - - -void set_video2_text_clip_size(undefined2 param_1,undefined2 param_2) - -{ - *(undefined2 *)(ptr_video_settings2 + 4) = param_1; - *(undefined2 *)(ptr_video_settings2 + 6) = param_2; - return; -} - - - -undefined2 get_video2_settings_txtClipW(void) - -{ - return *(undefined2 *)(ptr_video_settings2 + 4); -} - - - -undefined2 get_video2_settings_txtClipH(void) - -{ - return *(undefined2 *)(ptr_video_settings2 + 6); -} - - - -void FUN_7000443c(undefined2 param_1,undefined2 param_2) - -{ - *(undefined2 *)(ptr_video_settings2 + 0x1c) = param_1; - *(undefined2 *)(ptr_video_settings2 + 0x1e) = param_2; - FUN_7f0781c8((float)(int)*(short *)(ptr_video_settings2 + 0x1c), - (float)(int)*(short *)(ptr_video_settings2 + 0x1e)); - FUN_7f07824c(); - return; -} - - - -undefined2 FUN_7000449c(void) - -{ - return *(undefined2 *)(ptr_video_settings2 + 0x1c); -} - - - -undefined2 get_video2_settings_height(void) - -{ - return *(undefined2 *)(ptr_video_settings2 + 0x1e); -} - - - -void FUN_700044bc(undefined2 param_1,undefined2 param_2) - -{ - *(undefined2 *)(ptr_video_settings2 + 0x20) = param_1; - *(undefined2 *)(ptr_video_settings2 + 0x22) = param_2; - FUN_7f078204((float)(int)*(short *)(ptr_video_settings2 + 0x20), - (float)(int)*(short *)(ptr_video_settings2 + 0x22)); - return; -} - - - -undefined2 FUN_70004514(void) - -{ - return *(undefined2 *)(ptr_video_settings2 + 0x20); -} - - - -undefined2 get_video2_settings_uly(void) - -{ - return *(undefined2 *)(ptr_video_settings2 + 0x22); -} - - - -void FUN_70004534(undefined4 param_1) - -{ - *(undefined4 *)(ptr_video_settings2 + 0x24) = param_1; - return; -} - - - -void FUN_70004544(undefined4 param_1,undefined8 param_2,undefined8 param_3) - -{ - *(undefined4 *)(ptr_video_settings2 + 8) = param_1; - FUN_7f078220(*(undefined4 *)(ptr_video_settings2 + 0x10),*(undefined4 *)(ptr_video_settings2 + 8), - param_2,param_3,*(undefined4 *)(ptr_video_settings2 + 0xc)); - FUN_7f07824c(); - return; -} - - - -void FUN_70004590(undefined4 param_1,undefined8 param_2,undefined8 param_3) - -{ - *(undefined4 *)(ptr_video_settings2 + 0xc) = param_1; - FUN_7f078220(*(undefined4 *)(ptr_video_settings2 + 0x10),*(undefined4 *)(ptr_video_settings2 + 8), - param_2,param_3,*(undefined4 *)(ptr_video_settings2 + 0xc)); - FUN_7f07824c(); - return; -} - - - -undefined4 FUN_700045dc(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -void FUN_700045ec(float param_1,float param_2,undefined8 param_3,undefined8 param_4) - -{ - *(float *)(ptr_video_settings2 + 8) = param_2; - *(float *)(ptr_video_settings2 + 0xc) = param_1 / param_2; - FUN_7f078220(*(undefined4 *)(ptr_video_settings2 + 0x10),*(undefined4 *)(ptr_video_settings2 + 8), - param_3,param_4,*(undefined4 *)(ptr_video_settings2 + 0xc)); - FUN_7f07824c(); - return; -} - - - -void FUN_70004650(undefined4 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) - -{ - *(undefined4 *)(ptr_video_settings2 + 0x10) = param_1; - *(undefined4 *)(ptr_video_settings2 + 0x14) = param_2; - FUN_7f078220(*(undefined4 *)(ptr_video_settings2 + 0x10),*(undefined4 *)(ptr_video_settings2 + 8), - param_3,param_4,*(undefined4 *)(ptr_video_settings2 + 0xc)); - FUN_7f07824c(); - return; -} - - - -void FUN_700046ac(undefined4 *param_1) - -{ - *param_1 = *(undefined4 *)(ptr_video_settings2 + 0x10); - param_1[1] = *(undefined4 *)(ptr_video_settings2 + 0x14); - return; -} - - - -undefined4 * FUN_700046d0(undefined4 *param_1,uint param_2,uint param_3,int param_4) - -{ - uint uVar1; - - if (coloroutputmode != 0) { - uVar1 = (param_2 & 0xf8) << 8 | (param_3 & 0xf8) << 3 | param_4 >> 2 & 0x3eU | 1; - *param_1 = 0xf7000000; - param_1[1] = uVar1 << 0x10 | uVar1; - return param_1 + 2; - } - param_1[1] = param_2 << 0x18 | param_3 << 0x10 | param_4 << 8 | 0xff; - *param_1 = 0xf7000000; - return param_1 + 2; -} - - - -undefined4 FUN_70004758(void) - -{ - int iVar1; - short sVar3; - short sVar4; - undefined4 uVar2; - undefined8 in_a3; - undefined8 extraout_a3; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 uStack260; - char acStack256 [256]; - - while( true ) { - sprintf((int)acStack256,(byte *)s_grab__d_jpeg_800284d0,DAT_80023304,(int)in_a3); - iVar1 = FUN_7f0d0d78(acStack256,&uStack260); - if (iVar1 == 0) break; - DAT_80023304 += 1; - in_a3 = extraout_a3; - } - sprintf((int)acStack256,(byte *)s_grab__d_temp_uix_800284e0,DAT_80023304,(int)extraout_a3); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - FUN_7f0d0cc0(acStack256,*(undefined **)(ptr_video_settings2 + 0x28),(int)sVar4 * (int)sVar3 * 2); - sprintf((int)acStack256,(byte *)s_uix2pix_grab__d_temp_uix_800284f4,DAT_80023304,extraout_a3_lo); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_fromalias_grab__d_temp_pix_grab__80028510,DAT_80023304, - DAT_80023304); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_imgcopy__fjfif_grab__d_temp_rgb_g_8002853c,DAT_80023304, - DAT_80023304); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_rm_grab__d_temp_uix_grab__d_temp_8002856c,DAT_80023304, - DAT_80023304); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_imgview_grab__d_jpeg_800285a4,DAT_80023304,extraout_a3_lo_00); - uVar2 = FUN_7f0d0dc0(acStack256); - return uVar2; -} - - - -undefined4 FUN_700048d4(void) - -{ - int iVar1; - short sVar3; - short sVar4; - undefined4 uVar2; - undefined8 in_a3; - undefined8 extraout_a3; - undefined4 extraout_a3_lo; - undefined4 uStack260; - char acStack256 [256]; - - while( true ) { - sprintf((int)acStack256,(byte *)s_grab__d_jpeg_800285bc,DAT_80023308,(int)in_a3); - iVar1 = FUN_7f0d0d78(acStack256,&uStack260); - if (iVar1 == 0) break; - DAT_80023308 += 1; - in_a3 = extraout_a3; - } - sprintf((int)acStack256,(byte *)s_grab__d_temp_Uix_800285cc,DAT_80023308,(int)extraout_a3); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - FUN_7f0d0cc0(acStack256,&cfb_16_a,(int)sVar4 * (int)sVar3 * 4); - sVar3 = get_video2_settings_txtClipW(); - sprintf((int)acStack256,(byte *)s_Uix2pix__xs_d_grab__d_temp_Uix_800285e0,(int)sVar3,DAT_80023308) - ; - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_fromalias_grab__d_temp_pix_grab__80028600,DAT_80023308, - DAT_80023308); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_imgcopy__fjfif_grab__d_temp_rgb_g_8002862c,DAT_80023308, - DAT_80023308); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_rm_grab__d_temp_Uix_grab__d_temp_8002865c,DAT_80023308, - DAT_80023308); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_imgview_grab__d_jpeg_80028694,DAT_80023308,extraout_a3_lo); - uVar2 = FUN_7f0d0dc0(acStack256); - return uVar2; -} - - - -undefined4 FUN_70004a60(void) - -{ - int iVar1; - short sVar3; - short sVar4; - undefined4 uVar2; - undefined8 in_a3; - undefined8 extraout_a3; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 uStack260; - char acStack256 [256]; - - while( true ) { - sprintf((int)acStack256,(byte *)s_grab__d_rgb_800286ac,DAT_8002330c,(int)in_a3); - iVar1 = FUN_7f0d0d78(acStack256,&uStack260); - if (iVar1 == 0) break; - DAT_8002330c += 1; - in_a3 = extraout_a3; - } - sprintf((int)acStack256,(byte *)s_grab__d_temp_uix_800286b8,DAT_8002330c,(int)extraout_a3); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - FUN_7f0d0cc0(acStack256,*(undefined **)(ptr_video_settings2 + 0x28),(int)sVar4 * (int)sVar3 * 2); - sprintf((int)acStack256,(byte *)s_uix2pix_grab__d_temp_uix_800286cc,DAT_8002330c,extraout_a3_lo); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_fromalias_grab__d_temp_pix_grab__800286e8,DAT_8002330c, - DAT_8002330c); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_rm_grab__d_temp_uix_grab__d_temp_80028710,DAT_8002330c, - DAT_8002330c); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_imgview_grab__d_rgb_80028738,DAT_8002330c,extraout_a3_lo_00); - uVar2 = FUN_7f0d0dc0(acStack256); - return uVar2; -} - - - -undefined4 FUN_70004bb4(void) - -{ - int iVar1; - short sVar3; - short sVar4; - undefined4 uVar2; - undefined8 in_a3; - undefined8 extraout_a3; - undefined4 extraout_a3_lo; - undefined4 uStack260; - char acStack256 [256]; - - while( true ) { - sprintf((int)acStack256,(byte *)s_grab__d_rgb_8002874c,DAT_80023310,(int)in_a3); - iVar1 = FUN_7f0d0d78(acStack256,&uStack260); - if (iVar1 == 0) break; - DAT_80023310 += 1; - in_a3 = extraout_a3; - } - sprintf((int)acStack256,(byte *)s_grab__d_temp_Uix_80028758,DAT_80023310,(int)extraout_a3); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - FUN_7f0d0cc0(acStack256,&cfb_16_a,(int)sVar4 * (int)sVar3 * 4); - sVar3 = get_video2_settings_txtClipW(); - sprintf((int)acStack256,(byte *)s_Uix2pix__xs_d_grab__d_temp_Uix_8002876c,(int)sVar3,DAT_80023310) - ; - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_fromalias_grab__d_temp_pix_grab__8002878c,DAT_80023310, - DAT_80023310); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_rm_grab__d_temp_Uix_grab__d_temp_800287b4,DAT_80023310, - DAT_80023310); - FUN_7f0d0dc0(acStack256); - sprintf((int)acStack256,(byte *)s_imgview_grab__d_rgb_800287dc,DAT_80023310,extraout_a3_lo); - uVar2 = FUN_7f0d0dc0(acStack256); - return uVar2; -} - - - -int * FUN_70004d20(byte *param_1) - -{ - longlong lVar1; - byte *pbVar2; - int *piVar3; - - if (DAT_80023328 == NULL) { -LAB_70004d68: - piVar3 = NULL; - } - else { - pbVar2 = (byte *)DAT_80023328[2]; - piVar3 = DAT_80023328; - while (lVar1 = loc_7000A888(pbVar2,param_1), lVar1 != 0) { - piVar3 = (int *)*piVar3; - if (piVar3 == NULL) goto LAB_70004d68; - pbVar2 = (byte *)piVar3[2]; - } - } - return piVar3; -} - - - -uint FUN_70004d80(int param_1) - -{ - uint uVar1; - uint uVar2; - - uVar1 = DAT_80023338 + param_1; - uVar2 = DAT_80023338; - DAT_80023338 = uVar1; - if (0x80060cd0 < uVar1) { - DAT_80023338 = uVar1 - param_1; - uVar2 = FUN_70009730(param_1,6); - } - return uVar2; -} - - - -void FUN_70004de0(undefined4 param_1,undefined4 param_2) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)FUN_70004d80(0x10); - *(undefined4 **)puVar1 = DAT_80023328; - puVar1[1] = param_2; - puVar1[2] = param_1; - DAT_80023328 = puVar1; - return; -} - - - -void FUN_70004e2c(void) - -{ - loc_70004E88(&DAT_80023320,(byte *)s_deb_c_debug_800287f0); - FUN_70004ee0(); - return; -} - - - -void loc_70004E88(undefined4 param_1,byte *param_2) - -{ - int *piVar1; - - piVar1 = FUN_70004d20(param_2); - if (piVar1 == NULL) { - FUN_70004de0(param_2,param_1); - } - return; -} - - - -void FUN_70004ee0(void) - -{ - set_video_buffer_pointers(); - osCreateMesgQueue((undefined4 *)0x80063680,0x80063698,1); - osCreateThread((undefined4 *)0x80060cd0,5,FUN_70004f54,0,0x80061380,0x28); - osStartThread((int **)0x80060cd0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70004f54(void) - -{ - ulonglong uVar1; - undefined4 uStack4; - - uStack4 = 0; - osSetEventMesg(0xc,0x80063680,0x10); - _DAT_800636a0 = 0; - while( true ) { - do { - osRecvMesg(-0x7ff9c980,&uStack4,1); - uVar1 = osSetIntMask(1); - _DAT_8006369c = (int **)__osGetActiveQueue(); - } while (_DAT_8006369c == NULL); - if ((((uint)_DAT_8006369c[0x48] & 0x7c) != 8) || - (((uint)_DAT_8006369c[0x49] & 0xffc00000) != 0x7f000000)) break; - translate_load_rom_from_TLBaddress((uint)_DAT_8006369c[0x49]); - *(undefined2 *)(_DAT_8006369c + 4) = 10; - *(undefined2 *)((int)_DAT_8006369c + 0x12) = 0; - loc_700108E0((int **)&PTR_DAT_80027768,_DAT_8006369c); - osSetIntMask(uVar1); - FUN_70010b10(); - } - osSetIntMask(uVar1); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -int loc_700051D4(uint *param_1,uint *param_2,int param_3,undefined4 *param_4) - -{ - bool bVar1; - bool bVar2; - int iVar3; - undefined4 *puVar4; - short sVar5; - uint uVar6; - - bVar2 = false; - bVar1 = false; - iVar3 = 0; - puVar4 = param_4; - do { - iVar3 += 4; - *puVar4 = 0; - puVar4[1] = 0; - puVar4[2] = 0; - puVar4[3] = 0; - puVar4 = puVar4 + 4; - } while (iVar3 != 0x20); - if (param_1 < param_2) { -LAB_700051b8: - if (bVar2) { - if (!bVar1) { - param_3 = 0; - } - } - else { - param_3 = 0; - } - return param_3; - } - uVar6 = *param_1; - do { - param_1 = param_1 + -1; - sVar5 = (short)uVar6; - if ((uVar6 & 0xffff0000) == 0x27bd0000) { - bVar2 = true; - if ((0 < (int)sVar5) || (param_3 += ((int)sVar5 >> 2) * -4, bVar1)) goto LAB_700051b8; - } - else { - if ((uVar6 & 0xffe00000) == 0xafa00000) { - uVar6 = uVar6 >> 0x10 & 0x1f; - param_4[uVar6] = ((int)sVar5 >> 2) * 4 + param_3; - if (uVar6 == 0x1f) { - bVar1 = true; - } - if ((bVar2) && (bVar1)) goto LAB_700051b8; - } - else { - if (uVar6 == 0x3e00008) goto LAB_700051b8; - } - } - if (param_1 < param_2) goto LAB_700051b8; - uVar6 = *param_1; - } while( true ); -} - - - -int locret_7000528C(char *param_1) - -{ - char cVar1; - int iVar2; - char *pcVar3; - - iVar2 = 0; - pcVar3 = param_1 + 1; - if (*param_1 != '\0') { - iVar2 = 1; - while ((iVar2 < 0x100 && (cVar1 = *pcVar3, pcVar3 = pcVar3 + 1, cVar1 != '\0'))) { - iVar2 += 1; - } - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_70005294(int param_1) - -{ - int iVar1; - int iVar2; - uint uVar3; - - romCopy(ZEXT48(&DAT_800636b0),param_1,0x60); - _DAT_800636a4 = _DAT_800636b0; - _DAT_800636a8 = (char *)0x800636b4; - iVar1 = locret_7000528C((char *)0x800636b4); - _DAT_800636ac = _DAT_800636a8 + iVar1 + 1; - iVar1 = locret_7000528C(_DAT_800636a8); - iVar2 = locret_7000528C(_DAT_800636ac); - uVar3 = iVar2 + param_1 + iVar1 + 6; - if ((uVar3 & 3) != 0) { - uVar3 = (uVar3 | 3) + 1; - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_700053AC(uint param_1) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - - uVar3 = 0xe00004; - uVar2 = 0xe00004; - do { - uVar1 = FUN_70005294(uVar2); - if (param_1 < _DAT_800636a4) { - FUN_70005294(uVar3); - return 1; - } - uVar3 = uVar2; - uVar2 = uVar1; - } while (_DAT_800636a4 != 0); - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_700053c8(void) - -{ - FUN_70005294(0xe00000); - return (ulonglong)(_DAT_800636a4 == -0x7d9b8a42); -} - - - -ulonglong locret_7000559C(uint param_1) - -{ - bool bVar1; - undefined4 in_v1_hi; - uint in_v1_lo; - - bVar1 = (param_1 & 0x7fffff) == 0; - if (!bVar1) { - in_v1_lo = param_1 >> 0x17; - in_v1_hi = 0; - bVar1 = (in_v1_lo & 0xff) != 0; - if (bVar1) { - bVar1 = (char)in_v1_lo != -1; - } - } - return CONCAT53(CONCAT14(bVar1,in_v1_hi),(int3)(in_v1_lo >> 8)); -} - - - -void is_normal_single_precision_float(undefined8 param_1,uint param_2) - -{ - locret_7000559C(param_2); - return; -} - - - -// WARNING: Instruction at (ram,0x70005668) overlaps instruction at (ram,0x70005664) -// - -void locret_700056B4(longlong param_1,longlong param_2,byte param_3) - -{ - if ((param_3 == 9) || (param_3 == 10)) { - param_3 = 0; - } - if (((param_3 != 0) && (param_3 < 0x20)) || (0x7e < param_3)) { - param_3 = 0x3f; - } - if (((-1 < param_1) && (param_1 < 0x48)) && ((-1 < param_2 && (param_2 < 0x20)))) { - (&DAT_80023758)[(int)param_2 * 0x47 + (int)param_1] = param_3; - } - return; -} - - - -void loc_700057BC(byte param_1) - -{ - if (param_1 != 0) { - if (param_1 == 9) { - do { - loc_700057BC(0x20); - } while ((DAT_80024038 & 7) != 0); - } - else { - if (param_1 == 10) { - DAT_8002403c += 1; - DAT_80024038 = 0; - } - if (0x1e < DAT_8002403c) { - FUN_700057cc((longlong)(DAT_8002403c + -0x1e)); - DAT_8002403c = 0x1e; - } - if (param_1 != 10) { - locret_700056B4((longlong)(int)DAT_80024038,(longlong)DAT_8002403c,param_1); - DAT_80024038 += 1; - if (0x46 < (int)DAT_80024038) { - DAT_80024038 = 0; - DAT_8002403c += 1; - } - } - } - } - return; -} - - - -void FUN_700057cc(longlong param_1) - -{ - int iVar1; - undefined1 *puVar2; - int iVar3; - undefined1 *puVar4; - undefined1 *puVar5; - - iVar3 = (int)param_1; - if (0 < param_1) { - do { - iVar3 += -1; - puVar5 = &DAT_80023758; - puVar2 = puVar5; - do { - iVar1 = 3; - *puVar5 = puVar5[0x47]; - puVar5[1] = puVar5[0x48]; - puVar5[2] = puVar5[0x49]; - puVar4 = puVar2 + 3; - do { - iVar1 += 4; - puVar4[1] = puVar4[0x48]; - puVar4[2] = puVar4[0x49]; - puVar4[3] = puVar4[0x4a]; - *puVar4 = puVar4[0x47]; - puVar4 = puVar4 + 4; - } while (iVar1 != 0x47); - puVar5 = puVar5 + 0x47; - puVar2 = puVar2 + 0x47; - } while (puVar5 != (undefined1 *)0x80023ff1); - } while (0 < iVar3); - } - return; -} - - - -void loc_70005974(int param_1,int param_2,byte param_3) - -{ - short sVar1; - undefined2 *puVar2; - ulonglong uVar3; - int iVar4; - uint uVar5; - - sVar1 = get_video2_settings_txtClipW(); - uVar3 = (ulonglong)param_3; - if (param_3 == 0) { - uVar3 = 0x20; - } - if ((param_3 == 0 || 0x1f < param_3) && (uVar3 < 0x7f)) { - uVar5 = *(uint *)((int)uVar3 * 4 + -0x7ffdc040); - iVar4 = 0; - puVar2 = (undefined2 *)(param_1 * 2 + DAT_800241bc + param_2 * (int)sVar1 * 2); - do { - if ((uVar5 & 0x80000000) == 0) { - *puVar2 = 1; - } - else { - *puVar2 = 0xffff; - } - if ((uVar5 & 0x40000000) == 0) { - puVar2[1] = 1; - } - else { - puVar2[1] = 0xffff; - } - if ((uVar5 & 0x20000000) == 0) { - puVar2[2] = 1; - } - else { - puVar2[2] = 0xffff; - } - if ((uVar5 & 0x10000000) == 0) { - puVar2[3] = 1; - } - else { - puVar2[3] = 0xffff; - } - iVar4 += 1; - uVar5 <<= 4; - puVar2 = puVar2 + (int)sVar1; - } while (iVar4 != 7); - } - return; -} - - - -void FUN_70005984(uint param_1,uint param_2) - -{ - DAT_800241bc = param_1 | 0xa0000000; - DAT_800241c0 = param_2 | 0xa0000000; - return; -} - - - -void set_video_buffer_pointers(void) - -{ - FUN_70005984((uint)&cfb_16_a,(uint)&cfb_16_b); - return; -} - - - -void write_stderr_to_buffer(uint param_1) - -{ - short sVar1; - int iVar2; - int iVar3; - byte *pbVar4; - int iVar5; - int iVar6; - - set_video_buffer_pointers(); - DAT_800241bc = param_1 | 0xa0000000; - sVar1 = get_video2_settings_txtClipW(); - iVar2 = (int)sVar1 + -0xd; - if (iVar2 < 0) { - iVar2 = (int)sVar1 + -10; - } - sVar1 = get_video2_settings_txtClipH(); - iVar6 = ((int)sVar1 + -10) / 7 + -1; - iVar5 = 0; - if (0 < iVar6) { - iVar2 = (iVar2 >> 2) + -5; - do { - if (0 < iVar2) { - pbVar4 = &DAT_80023758 + iVar5 * 0x47; - iVar3 = 0x14; - do { - loc_70005974(iVar3,iVar5 * 7 + 7,*pbVar4); - iVar3 += 4; - pbVar4 = pbVar4 + 1; - if (iVar2 * 4 + 0x14 <= iVar3) break; - } while (iVar3 != 0x130); - } - iVar5 += 1; - } while ((iVar5 < iVar6) && (iVar5 != 0x1f)); - } - return; -} - - - -void FUN_70005b60(void) - -{ - osCreateMesgQueue((undefined4 *)0x80063730,0x80063728,1); - return; -} - - - -void FUN_70005b90(ulonglong param_1,undefined4 param_2,ulonglong param_3) - -{ - loc_70010BB4(param_1,param_3); - osPiStartDma((undefined2 *)0x80063710,0,0,param_2,(int)param_1,(int)param_3,0x80063730); - return; -} - - - -void FUN_70005bf0(void) - -{ - osRecvMesg(-0x7ff9c8d0,NULL,1); - return; -} - - - -void romCopy(ulonglong param_1,undefined4 param_2,ulonglong param_3) - -{ - FUN_70005b90(param_1,param_2,param_3); - FUN_70005bf0(); - return; -} - - - -int romCopyAligned(int param_1,uint param_2,int param_3) - -{ - int iVar1; - ulonglong uVar2; - uint uVar3; - - uVar3 = (param_2 | 1) ^ 1; - iVar1 = param_2 - uVar3; - uVar2 = ((longlong)(param_1 + 0xf) | 0xfU) ^ 0xf; - romCopy(uVar2,uVar3,((longlong)(iVar1 + param_3 + 0xf) | 0xfU) ^ 0xf); - return (int)uVar2 + iVar1; -} - - - -void FUN_70005ca8(uint param_1,undefined4 param_2,ulonglong param_3) - -{ - loc_70010C2C(param_1,param_3); - osPiStartDma((undefined2 *)0x80063710,0,1,param_2,param_1,(int)param_3,0x80063730); - return; -} - - - -void romWrite(uint param_1,undefined4 param_2,ulonglong param_3) - -{ - FUN_70005ca8(param_1,param_2,param_3); - FUN_70005bf0(); - return; -} - - - -void loc_70005F10(void) - -{ - undefined8 uVar1; - longlong lVar2; - byte *pbVar3; - uint uVar4; - int iVar5; - undefined8 in_v1; - undefined4 auStack64 [6]; - undefined auStack40 [36]; - undefined4 uStack4; - - FUN_70004e2c(); - FUN_70005b60(); - establish_TLB_buffer_management_table(); - FUN_7f000bd0(); - FUN_70009390(); - FUN_70009d7c(); - FUN_7f0b4370(); - FUN_7000ad48(); - init_video_settings(); - FUN_7f0d0c10(); - uVar1 = rmon_debug_is_final_build(); - DAT_800241e4 = (int)uVar1; - FUN_7f0bd7d8(); - FUN_7f0d0a90(); - FUN_7f0be010(); - FUN_7000b570(); - osCreateMesgQueue(auStack64,&uStack4,1); - iVar5 = 0; - do { - lVar2 = __ll_mul(0,100000,DAT_800269c0,DAT_800269c4); - __ull_div((int)lVar2,(int)in_v1,0,1000000); - loc_70010D10(auStack40); - osRecvMesg((int)auStack64,&uStack4,1); - if (iVar5 == 1) { - FUN_7000b6bc(); - } - else { - if (1 < iVar5) { - FUN_7000bd70(); - } - } - iVar5 += 1; - } while (iVar5 != 4); - pbVar3 = loc_7000A740(1,(byte *)s__level__80029100); - if (pbVar3 == NULL) { - DAT_800241e4 = 1; - } - FUN_7f0afbbc(); - FUN_7f0d2700(); - if (DAT_800241e4 != 0) { - FUN_7000a59c(s___ml0__me0__mgfx100__mvtx50__mt7_80029108); - } - pbVar3 = loc_7000A740(1,(byte *)s__m_8002913c); - if (pbVar3 != NULL) { - pbVar3 = loc_7000A740(1,(byte *)s__m_80029140); - uVar4 = loc_7000AC44(pbVar3,NULL,0); - DAT_800241ec = uVar4 << 10; - } - uVar4 = osVirtualToPhysical(0x8008e3d0); - iVar5 = getptr_TLBallocatedblock(); - FUN_700093bc(uVar4 | 0x80000000,iVar5 - (uVar4 | 0x80000000)); - FUN_700099ac(6); - FUN_7f0c239c(); - FUN_7f0be4b8(); - FUN_700069d0(); - FUN_7f0ad720(); - FUN_7000adb8(); - FUN_7f09ae80(); - FUN_7f0c16e0(); - FUN_7f09c340(); - displaylist_related(); - FUN_7f000b80(); - FUN_7f000bc0(); - sub_7F000980(); - FUN_7f000aac(); - FUN_7f0000e0(); - FUN_7f000110(); - FUN_7f0009d0(); - FUN_7f000b60(); - FUN_7f000000(); - FUN_7f01d890(); - FUN_7f0c08e0(); - return; -} - - - -void FUN_70005ff4(void) - -{ - DAT_800241f4 = 1; - return; -} - - - -void FUN_70006004(void) - -{ - DAT_800241f8 = DAT_800241f8 ^ 1; - return; -} - - - -void setup_gamevalues_and_launchmainloop(void) - -{ - loc_70005F10(); - FUN_7f0d0abc(); - FUN_70006a40(); - do { - loc_700068B4(); - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7000641c) overlaps instruction at (ram,0x70006418) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_700068B4(void) - -{ - byte *pbVar4; - int iVar5; - undefined4 uVar6; - int iVar7; - undefined4 *puVar8; - uint uVar9; - int iVar10; - longlong lVar1; - char cVar14; - char cVar15; - ulonglong uVar2; - ulonglong uVar3; - uint *puVar11; - short sVar12; - short sVar13; - undefined *puVar16; - undefined8 extraout_a0; - undefined8 extraout_a1; - undefined8 extraout_a2; - undefined4 extraout_a3_lo; - undefined8 extraout_a3; - undefined8 uVar17; - undefined8 extraout_a3_00; - uint *puVar18; - uint uVar19; - undefined4 uStack392; - char acStack388 [328]; - undefined4 *puStack60; - uint *puStack56; - uint uStack52; - undefined4 uStack44; - undefined4 uStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - short *apsStack12 [2]; - int iStack4; - - iStack4 = 0; - FUN_7f0d272c(); - pbVar4 = loc_7000A740(1,(byte *)s__level__80029144); - if (pbVar4 != NULL) { - pbVar4 = loc_7000A740(1,(byte *)s__level__8002914c); - DAT_800241e8 = (undefined *)((uint)pbVar4[1] + (uint)*pbVar4 * 10 + -0x210); - } - if (DAT_800241e8 != (undefined *)0x5a) { - FUN_7f01e140(); - FUN_7f01d734(0); - loc_7F01D5E0(0); - FUN_7f01d790(DAT_800241e8); - pbVar4 = loc_7000A740(1,(byte *)s__hard_80029154); - if (pbVar4 != NULL) { - pbVar4 = loc_7000A740(1,(byte *)s__hard_8002915c); - loc_7F01D5E0((longlong)(int)((uint)*pbVar4 - 0x30)); - pbVar4 = loc_7000A740(1,(byte *)s__hard_80029164); - FUN_7f0c0884((uint)*pbVar4 - 0x30); - } - } - iVar5 = osGetCount(); - FUN_7000a4a8((longlong)iVar5); - do { - apsStack12[0] = NULL; - uStack44 = DAT_80024344; - uStack40 = DAT_80024348; - uVar19 = 0; - uStack32 = DAT_80024350; - uStack36 = DAT_8002434c; - iVar5 = 0; - uStack28 = DAT_80024354; - uStack24 = DAT_80024358; - uStack16 = DAT_80024360; - uStack20 = DAT_8002435c; - uStack52 = 0; - uVar6 = FUN_7f0c0878(); - FUN_7f0c12b0(DAT_800241e8,uVar6); - if (DAT_800241e4 != 0) { - iVar10 = -1; - if ((DAT_800241e8 != (undefined *)0x5a) && (iVar7 = FUN_7f0102d0(), 1 < iVar7)) { - iVar10 = 0; - if (DAT_800241fc != NULL) { - puVar8 = &DAT_800241fc; - puVar16 = DAT_800241fc; - do { - if (DAT_800241e8 + 400 == puVar16) break; - puVar16 = (undefined *)puVar8[2]; - iVar10 += 1; - puVar8 = puVar8 + 2; - } while (puVar16 != NULL); - } - if ((&DAT_800241fc)[iVar10 * 2] == 0) { - iVar10 = -1; - } - } - if ((iVar10 < 0) && (iVar10 = 0, DAT_800241fc != NULL)) { - puVar8 = &DAT_800241fc; - puVar16 = DAT_800241fc; - do { - if (DAT_800241e8 == puVar16) break; - puVar16 = (undefined *)puVar8[2]; - iVar10 += 1; - puVar8 = puVar8 + 2; - } while (puVar16 != NULL); - } - FUN_7000a59c((&PTR_s__ml0__me0__mgfx70__mvtx50__mt625_80024200)[iVar10 * 2]); - } - FUN_700099ac(4); - FUN_7f0bdd6c(4); - pbVar4 = loc_7000A740(1,(byte *)s__ma_8002916c); - if (pbVar4 != NULL) { - pbVar4 = loc_7000A740(1,(byte *)s__ma_80029170); - uVar9 = loc_7000AC44(pbVar4,NULL,0); - DAT_800241f0 = uVar9 << 10; - } - uVar9 = FUN_70009730(DAT_800241f0,4); - FUN_70009da8(uVar9,DAT_800241f0); - FUN_7f09aecc(); - if (DAT_800241e8 != (undefined *)0x5a) { - iVar5 = 1; - iVar10 = FUN_7f0102d0(); - if (1 < iVar10) { - iVar5 = FUN_7f0102d0(); - } - } - FUN_7f09af2c(iVar5); - FUN_7f0be03c(); - FUN_7000b6bc(); - FUN_7f0be660((int)DAT_800241e8); - init_both_video_buffers(); - FUN_7000adc0(); - loc_7F0C0BB4(); - video_related_2(); - lVar1 = osRecvMesg(-0x7ffa2620,apsStack12,0); - while (lVar1 == 0) { - lVar1 = osRecvMesg(-0x7ffa2620,apsStack12,0); - } - if ((int)DAT_8002433c < 0) { - do { - osRecvMesg(-0x7ffa2620,apsStack12,1); - sVar12 = *apsStack12[0]; - if (sVar12 == 1) { - iVar5 = osGetCount(); - if (((0x5eb60 < (uint)(iVar5 - DAT_800484e8)) && ((int)DAT_8002433c < 0)) && (uVar19 < 2)) - { - iVar5 = FUN_7f0c08fc(); - if (iVar5 == 0) { - loc_7F0C0BB4(); - } - else { - FUN_7f0c0ed8(); - } - video_DL_related_4(); - video_related_2(); - video_related_3(0x20000); - FUN_7000bd70(); - permit_stderr(0); - puVar8 = (undefined4 *)FUN_7f0be224(); - puStack60 = puVar8; - if (DAT_80024340 != 0) { - puStack60 = puVar8; - cVar14 = FUN_7000c150('\0'); - cVar15 = FUN_7000c260('\0'); - uVar2 = FUN_7000c370('\0',0xffff); - uVar3 = FUN_7000c410('\0',0xffff); - DAT_80024340 = FUN_7f091080((longlong)(int)cVar14,(longlong)(int)cVar15, - (uint)uVar2 & 0xffff,(uint)uVar3 & 0xffff); - } - FUN_7f0bf7ac(); - loc_7F09B4A4(); - if (DAT_800241e8 != (undefined *)0x5a) { - lVar1 = 0; - uVar2 = get_num_players(); - if (0 < (longlong)uVar2) { - do { - iVar5 = FUN_7f09c0c8((int)lVar1); - FUN_7f09bcac(iVar5); - FUN_7000443c(*(undefined2 *)(_DAT_8007a120 + 0x7f0), - *(undefined2 *)(_DAT_8007a120 + 0x7f2)); - FUN_700044bc(*(undefined2 *)(_DAT_8007a120 + 0x7f4), - *(undefined2 *)(_DAT_8007a120 + 0x7f6)); - FUN_7f0c0438(); - lVar1 = (longlong)((int)lVar1 + 1); - uVar2 = get_num_players(); - } while (lVar1 < (longlong)uVar2); - } - } - puVar11 = loc_7F0BE844(puVar8); - iVar5 = FUN_7f091abc(); - puVar18 = puVar11; - if (iVar5 != 0) { - *puVar11 = 0xe7000000; - puVar11[1] = 0; - puVar11[2] = 0xba001402; - puVar11[3] = 0; - puVar11[4] = 0xf9000000; - puVar11[5] = 0xffffffff; - puVar11[6] = 0xee000000; - puVar11[7] = 0xffffffff; - puVar11[9] = 4; - puVar11[8] = 0xb9000201; - puVar11[10] = 0xb900031d; - puVar11[0xb] = 0xfa54040; - puVar18 = puVar11 + 0xe; - sVar12 = get_video2_settings_txtClipW(); - sVar13 = get_video2_settings_txtClipH(); - puVar11[0xc] = ((int)sVar13 - 1U & 0x3ff) << 2 | 0xf6000000 | - ((int)sVar12 - 1U & 0x3ff) << 0xe; - puVar11[0xd] = 0; - } - puStack56 = loc_7000B528(puVar18); - iVar5 = get_debug_explosioninfo_flag(); - if (iVar5 != 0) { - puStack56 = (uint *)display_speed_graph(puStack56); - } - if (DAT_80024340 != 0) { - FUN_7f090f70(); - puStack56 = (uint *)FUN_7f090954(puStack56); - } - *puStack56 = 0xe9000000; - puStack56[1] = 0; - puStack56[2] = 0xb8000000; - puStack56[3] = 0; - puStack56 = puStack56 + 4; - if (DAT_800241f4 != 0) { - loc_700098F4(); - FUN_7000a2ac(extraout_a0,extraout_a1,extraout_a2,extraout_a3_lo); - FUN_7f0be324(); - FUN_7f0c7330(); - DAT_800241f4 = 0; - } - if (DAT_800241f8 != 0) { - FUN_7f0be3c0(); - } - FUN_7f0be24c((int)puStack56); - FUN_7f0be2e8(); - video_related_8(); - iVar5 = __osGetActiveQueue(); - if (((iVar5 != 0) && (uVar2 = FUN_7000c410('\0',0xc000), uVar2 != 0)) && - (uVar2 = FUN_7000c370('\0',0xc000), uVar17 = extraout_a3, uVar2 == 0xc000)) { - while( true ) { - sprintf((int)acStack388,(byte *)s_u64_taskgrab__d_core_80029174,DAT_80024364, - (int)uVar17); - iVar5 = FUN_7f0d0d78(acStack388,&uStack392); - if (iVar5 == 0) break; - DAT_80024364 += 1; - uVar17 = extraout_a3_00; - } - FUN_7f0d0cc0(acStack388,&DAT_80000000,0x400000); - } - FUN_7f0d0af8((int)puStack60,(int)puStack56,0,&uStack44); - uVar19 += 1; - FUN_70009e20(); - uStack52 ^= 1; - video_related_3(0x10000); - } - } - else { - if (sVar12 == 2) { - uVar19 -= 1; - } - else { - if (sVar12 == 5) { - uVar19 = 4; - } - } - } - } while (((int)DAT_8002433c < 0) || (uVar19 != 0)); - } - FUN_7f0c0758(); - FUN_7f0c156c(); - FUN_700099d4(4); - FUN_7f0bdd6c(4); - DAT_800241e8 = DAT_8002433c; - DAT_8002433c = (undefined *)0xffffffff; - if (iStack4 != 0) { - FUN_7f0d275c(); - return; - } - } while( true ); -} - - - -void run_title_stage(void) - -{ - FUN_70006950(0x5a); - return; -} - - - -void FUN_70006950(undefined4 param_1) - -{ - DAT_8002433c = param_1; - return; -} - - - -undefined4 FUN_7000695c(void) - -{ - return DAT_800241e8; -} - - - -void FUN_70006968(void) - -{ - int iVar2; - longlong lVar1; - - FUN_7f057a50(); - FUN_7f057a40(); - iVar2 = FUN_7000695c(); - if ((iVar2 != 0x36) && (lVar1 = FUN_7f0579b8(), lVar1 != 0)) { - FUN_7f01d54c(); - } - run_title_stage(); - return; -} - - - -void FUN_700069d0(void) - -{ - loc_70004E88(&DAT_800241e0,(byte *)s_boss_c_debug_8002918c); - return; -} - - - -void locret_70006A28(ushort *param_1,int param_2) - -{ - longlong lVar1; - ushort *puVar2; - int iVar3; - - lVar1 = 0; - if (*param_1 != 0) { - iVar3 = *(int *)(param_1 + 2); - puVar2 = param_1; - while( true ) { - lVar1 = (longlong)((int)lVar1 + 1); - *(int *)(puVar2 + 2) = iVar3 + param_2; - if ((longlong)(ulonglong)*param_1 <= lVar1) break; - iVar3 = *(int *)(puVar2 + 6); - puVar2 = puVar2 + 4; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006a40(void) - -{ - ushort uVar1; - undefined *puVar2; - undefined *puVar3; - ushort *puVar4; - ushort *puVar5; - ushort *puVar6; - ushort *puVar7; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - int local_98; - undefined4 local_94; - undefined local_90; - undefined4 local_8c; - undefined4 local_88; - undefined4 local_84; - undefined4 local_80; - int local_7c; - undefined4 local_78; - undefined local_74; - undefined4 local_70; - undefined4 local_6c; - undefined4 local_68; - undefined4 local_64; - int local_60; - undefined4 local_5c; - undefined local_58; - undefined4 local_54; - undefined4 local_50; - undefined4 local_4c; - undefined4 local_48; - undefined4 local_44; - undefined4 local_40; - undefined4 local_3c; - undefined4 local_34; - undefined4 local_30; - undefined4 local_2c; - undefined local_28; - short *local_1c; - short *local_14; - uint local_10; - undefined4 local_c; - undefined4 local_8; - undefined4 local_4; - - if (DAT_80024438 == '\0') { - puVar2 = (undefined *)FUN_70009730(0x2e000,6); - puVar3 = puVar2; - do { - puVar3 = puVar3 + 1; - *puVar3 = 0; - puVar3 = puVar3; - } while (puVar3 < puVar2 + 0x2e000); - loc_70010D50((uint *)0x80063750,(uint)puVar2,0x2e000); - local_14 = (short *)alHeapDBAlloc(0,0,(int *)0x80063750,1,0x5bc0); - romCopy((longlong)(int)local_14,0x2ecb00,0x5bc0); - loc_70010F58(local_14,0x2f26c0,extraout_a2); - _DAT_80063760 = *(undefined4 *)(local_14 + 2); - local_1c = (short *)alHeapDBAlloc(0,0,(int *)0x80063750,1,0x43a0); - romCopy((longlong)(int)local_1c,0x3b5170,0x43a0); - loc_70010F58(local_1c,0x3b9510,extraout_a2_00); - _DAT_80063764 = *(undefined4 *)(local_1c + 2); - _DAT_80063774 = (ushort *)alHeapDBAlloc(0,0,(int *)0x80063750,1,0x10); - romCopy((longlong)(int)_DAT_80063774,0x41a4b0,0x10); - uVar1 = *_DAT_80063774; - _DAT_80063774 = (ushort *)alHeapDBAlloc(0,0,(int *)0x80063750,1,(uint)uVar1 * 8 + 4); - romCopy((longlong)(int)_DAT_80063774,0x41a4b0, - ((longlong)(int)((uint)uVar1 * 8 + 0x13) | 0xfU) ^ 0xf); - locret_70006A28(_DAT_80063774,0x41a4b0); - _DAT_80063878 = alHeapDBAlloc(0,0,(int *)0x80063750,1,0x18c8); - _DAT_8006387c = alHeapDBAlloc(0,0,(int *)0x80063750,1,6000); - _DAT_80063880 = _DAT_8006387c + 2000; - puVar4 = (ushort *)&DAT_80063778; - puVar5 = _DAT_80063774; - puVar6 = (ushort *)&DAT_800637f8; - do { - uVar1 = puVar5[4]; - puVar7 = puVar6 + 1; - *puVar4 = uVar1; - *puVar6 = puVar5[5]; - if ((uVar1 & 1) != 0) { - *puVar4 = uVar1 + 1; - } - puVar4 = puVar4 + 1; - puVar5 = puVar5 + 4; - puVar6 = puVar7; - } while (puVar7 != (ushort *)0x80063876); - local_44 = 0; - local_40 = 0x18; - local_3c = 0x80; - local_34 = 0; - local_28 = 6; - local_2c = 0; - local_30 = 0x80063750; - amCreateAudioMgr((int)&local_44); - local_60 = 0x10; - local_5c = 0x40; - local_58 = 0x10; - local_54 = 0x80063750; - local_50 = 0; - local_4c = 0; - local_48 = 0; - local_7c = 0x10; - local_78 = 0x40; - local_74 = 0x10; - local_70 = 0x80063750; - local_6c = 0; - local_68 = 0; - local_64 = 0; - local_98 = 0x10; - local_94 = 0x40; - local_90 = 0x10; - local_8c = 0x80063750; - local_88 = 0; - local_84 = 0; - local_80 = 0; - _DAT_80063768 = (undefined4 *)alHeapDBAlloc(0,0,(int *)0x80063750,1,0x7c); - _DAT_8006376c = (undefined4 *)alHeapDBAlloc(0,0,(int *)0x80063750,1,0x7c); - _DAT_80063770 = (undefined4 *)alHeapDBAlloc(0,0,(int *)0x80063750,1,0x7c); - loc_70012188(_DAT_80063768,&local_60); - FUN_70012230((int)_DAT_80063768,_DAT_80063764); - loc_70012188(_DAT_8006376c,&local_7c); - FUN_70012230((int)_DAT_8006376c,_DAT_80063764); - loc_70012188(_DAT_80063770,&local_98); - FUN_70012230((int)_DAT_80063770,_DAT_80063764); - local_c = 0x40; - local_10 = 0x40; - local_8 = 8; - local_4 = 0x80063750; - FUN_70007b30(&local_10); - startaudithread(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006e8c(int param_1) - -{ - uint uVar1; - int iVar2; - ulonglong uVar3; - undefined auStack8468 [8460]; - int local_8; - - if (DAT_80024438 == '\0') { - if (DAT_80024374 != 0) { - FUN_70006fe0(); - } - DAT_80024374 = param_1; - iVar2 = alCSPGetState(_DAT_80063768); - while (iVar2 != 0) { - iVar2 = alCSPGetState(_DAT_80063768); - } - uVar1 = *(uint *)(_DAT_80063774 + DAT_80024374 * 8 + 4); - if (uVar1 < 0x10000) { - FUN_70006e8c(1); - } - else { - uVar3 = ((longlong)(int)((uint)*(ushort *)(&DAT_800637f8 + DAT_80024374 * 2) + 0xf) | 0xfU) ^ - 0xf; - iVar2 = (_DAT_80063878 + - (((uint)*(ushort *)(&DAT_80063778 + DAT_80024374 * 2) + 0xf | 0xf) ^ 0xf) + 0x40) - - (int)uVar3; - local_8 = _DAT_80063878; - romCopy((longlong)iVar2,uVar1,uVar3); - FUN_7f0cf4d0(iVar2,local_8,auStack8468); - loc_70012880((int *)0x800638a0,_DAT_80063878); - FUN_70012d40(_DAT_80063768,0x800638a0); - uVar3 = FUN_70007040(); - FUN_7000704c(uVar3 & 0xffff); - FUN_70012d80(_DAT_80063768); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70006fe0(void) - -{ - int iVar1; - - if (DAT_80024438 == '\0') { - DAT_8002438c = 0; - if ((DAT_80024374 != 0) && (iVar1 = alCSPGetState(_DAT_80063768), iVar1 == 1)) { - FUN_70012db0(_DAT_80063768); - } - DAT_80024374 = 0; - } - return; -} - - - -ulonglong FUN_70007040(void) - -{ - return (ulonglong)DAT_80024378; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000704c(ulonglong param_1) - -{ - DAT_80024378 = (undefined2)(param_1 & 0xffff); - alCSPSetVol(_DAT_80063768, - (short)((uint)((int)(param_1 & 0xffff) * (int)(short)(&DAT_80024398)[DAT_80024374]) >> - 0xf)); - return; -} - - - -void FUN_700070b0(void) - -{ - ulonglong uVar1; - undefined2 *puVar2; - short sVar3; - - uVar1 = FUN_70007040(); - (&DAT_80024398)[DAT_80024374] = (short)uVar1; - puVar2 = &DAT_80024398; - sVar3 = DAT_8002439a; - if (-1 < DAT_80024398) { - while (-1 < sVar3) { - sVar3 = puVar2[2]; - puVar2 = puVar2 + 1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007108(float param_1) - -{ - ulonglong uVar1; - - if (-1 < DAT_8002438c) { - uVar1 = FUN_70007040(); - _DAT_80063884 = (undefined2)uVar1; - _DAT_8006388a = 0; - _DAT_80063890 = (int)(param_1 * 60.00000000); - DAT_8002438c = -1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007178(float param_1,undefined8 param_2,short param_3) - -{ - if (DAT_8002438c < 1) { - FUN_70012d80(_DAT_80063768); - _DAT_8006388a = param_3; - if (param_3 == -1) { - _DAT_8006388a = _DAT_80063884; - } - _DAT_80063884 = 0; - _DAT_80063890 = (int)(param_1 * 60.00000000); - DAT_8002438c = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007214(int param_1) - -{ - uint uVar1; - int iVar2; - ulonglong uVar3; - undefined auStack8468 [8460]; - int local_8; - - if (DAT_80024438 == '\0') { - if (DAT_8002437c != 0) { - FUN_70007368(); - } - DAT_8002437c = param_1; - iVar2 = alCSPGetState(_DAT_8006376c); - while (iVar2 != 0) { - iVar2 = alCSPGetState(_DAT_8006376c); - } - uVar1 = *(uint *)(_DAT_80063774 + DAT_8002437c * 8 + 4); - if (uVar1 < 0x10000) { - FUN_70007214(1); - } - else { - uVar3 = ((longlong)(int)((uint)*(ushort *)(&DAT_800637f8 + DAT_8002437c * 2) + 0xf) | 0xfU) ^ - 0xf; - iVar2 = (_DAT_8006387c + - (((uint)*(ushort *)(&DAT_80063778 + DAT_8002437c * 2) + 0xf | 0xf) ^ 0xf) + 0x40) - - (int)uVar3; - local_8 = _DAT_8006387c; - romCopy((longlong)iVar2,uVar1,uVar3); - FUN_7f0cf4d0(iVar2,local_8,auStack8468); - loc_70012880((int *)0x80063998,_DAT_8006387c); - FUN_70012d40(_DAT_8006376c,0x80063998); - uVar3 = FUN_700073c8(); - FUN_700073d4(uVar3 & 0xffff); - FUN_70012d80(_DAT_8006376c); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007368(void) - -{ - int iVar1; - - if (DAT_80024438 == '\0') { - DAT_80024390 = 0; - if ((DAT_8002437c != 0) && (iVar1 = alCSPGetState(_DAT_8006376c), iVar1 == 1)) { - FUN_70012db0(_DAT_8006376c); - } - DAT_8002437c = 0; - } - return; -} - - - -ulonglong FUN_700073c8(void) - -{ - return (ulonglong)DAT_80024380; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700073d4(ulonglong param_1) - -{ - DAT_80024380 = (undefined2)(param_1 & 0xffff); - alCSPSetVol(_DAT_8006376c, - (short)((uint)((int)(param_1 & 0xffff) * (int)(short)(&DAT_80024398)[DAT_8002437c]) >> - 0xf)); - return; -} - - - -void FUN_70007438(void) - -{ - ulonglong uVar1; - undefined2 *puVar2; - short sVar3; - - uVar1 = FUN_700073c8(); - (&DAT_80024398)[DAT_8002437c] = (short)uVar1; - puVar2 = &DAT_80024398; - sVar3 = DAT_8002439a; - if (-1 < DAT_80024398) { - while (-1 < sVar3) { - sVar3 = puVar2[2]; - puVar2 = puVar2 + 1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007490(float param_1) - -{ - ulonglong uVar1; - - if (-1 < DAT_80024390) { - uVar1 = FUN_700073c8(); - _DAT_80063886 = (undefined2)uVar1; - _DAT_8006388c = 0; - _DAT_80063894 = (int)(param_1 * 60.00000000); - DAT_80024390 = -1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007500(float param_1,undefined8 param_2,short param_3) - -{ - if (DAT_80024390 < 1) { - FUN_70012d80(_DAT_8006376c); - _DAT_8006388c = param_3; - if (param_3 == -1) { - _DAT_8006388c = _DAT_80063886; - } - _DAT_80063886 = 0; - _DAT_80063894 = (int)(param_1 * 60.00000000); - DAT_80024390 = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000759c(int param_1) - -{ - uint uVar1; - int iVar2; - ulonglong uVar3; - undefined auStack8468 [8460]; - int local_8; - - if (DAT_80024438 == '\0') { - if (DAT_80024384 != 0) { - FUN_700076f0(); - } - DAT_80024384 = param_1; - iVar2 = alCSPGetState(_DAT_80063770); - while (iVar2 != 0) { - iVar2 = alCSPGetState(_DAT_80063770); - } - uVar1 = *(uint *)(_DAT_80063774 + DAT_80024384 * 8 + 4); - if (uVar1 < 0x10000) { - FUN_7000759c(1); - } - else { - uVar3 = ((longlong)(int)((uint)*(ushort *)(&DAT_800637f8 + DAT_80024384 * 2) + 0xf) | 0xfU) ^ - 0xf; - iVar2 = (_DAT_80063880 + - (((uint)*(ushort *)(&DAT_80063778 + DAT_80024384 * 2) + 0xf | 0xf) ^ 0xf) + 0x40) - - (int)uVar3; - local_8 = _DAT_80063880; - romCopy((longlong)iVar2,uVar1,uVar3); - FUN_7f0cf4d0(iVar2,local_8,auStack8468); - loc_70012880((int *)0x80063a90,_DAT_80063880); - FUN_70012d40(_DAT_80063770,0x80063a90); - uVar3 = FUN_70007750(); - FUN_7000775c(uVar3 & 0xffff); - FUN_70012d80(_DAT_80063770); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700076f0(void) - -{ - int iVar1; - - if (DAT_80024438 == '\0') { - DAT_80024394 = 0; - if ((DAT_80024384 != 0) && (iVar1 = alCSPGetState(_DAT_80063770), iVar1 == 1)) { - FUN_70012db0(_DAT_80063770); - } - DAT_80024384 = 0; - } - return; -} - - - -ulonglong FUN_70007750(void) - -{ - return (ulonglong)DAT_80024388; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000775c(ulonglong param_1) - -{ - DAT_80024388 = (undefined2)(param_1 & 0xffff); - alCSPSetVol(_DAT_80063770, - (short)((uint)((int)(param_1 & 0xffff) * (int)(short)(&DAT_80024398)[DAT_80024384]) >> - 0xf)); - return; -} - - - -void FUN_700077c0(void) - -{ - ulonglong uVar1; - undefined2 *puVar2; - short sVar3; - - uVar1 = FUN_70007750(); - (&DAT_80024398)[DAT_80024384] = (short)uVar1; - puVar2 = &DAT_80024398; - sVar3 = DAT_8002439a; - if (-1 < DAT_80024398) { - while (-1 < sVar3) { - sVar3 = puVar2[2]; - puVar2 = puVar2 + 1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007818(float param_1) - -{ - ulonglong uVar1; - - if (-1 < DAT_80024394) { - uVar1 = FUN_70007750(); - _DAT_80063888 = (undefined2)uVar1; - _DAT_8006388e = 0; - _DAT_80063898 = (int)(param_1 * 60.00000000); - DAT_80024394 = -1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007888(float param_1,undefined8 param_2,short param_3) - -{ - if (DAT_80024394 < 1) { - FUN_70012d80(_DAT_80063770); - _DAT_8006388e = param_3; - if (param_3 == -1) { - _DAT_8006388e = _DAT_80063888; - } - _DAT_80063888 = 0; - _DAT_80063898 = (int)(param_1 * 60.00000000); - DAT_80024394 = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void music_related_15(void) - -{ - ulonglong uVar1; - - if (DAT_8002438c != 0) { - uVar1 = FUN_70007040(); - uVar1 = (longlong) - ((int)uVar1 + (int)((float)((uint)_DAT_8006388a - (int)uVar1) / (float)_DAT_80063890)) & - 0xffff; - FUN_7000704c(uVar1); - _DAT_80063890 += -1; - if (_DAT_80063890 < 1) { - if ((short)uVar1 == 0) { - FUN_70012db0(_DAT_80063768); - } - _DAT_80063890 = 0; - DAT_8002438c = 0; - } - } - if (DAT_80024390 != 0) { - uVar1 = FUN_700073c8(); - uVar1 = (longlong) - ((int)uVar1 + (int)((float)((uint)_DAT_8006388c - (int)uVar1) / (float)_DAT_80063894)) & - 0xffff; - FUN_700073d4(uVar1); - _DAT_80063894 += -1; - if (_DAT_80063894 < 1) { - if ((short)uVar1 == 0) { - FUN_70012db0(_DAT_8006376c); - } - _DAT_80063894 = 0; - DAT_80024390 = 0; - } - } - if (DAT_80024394 != 0) { - uVar1 = FUN_70007750(); - uVar1 = (longlong) - ((int)uVar1 + (int)((float)((uint)_DAT_8006388e - (int)uVar1) / (float)_DAT_80063898)) & - 0xffff; - FUN_7000775c(uVar1); - _DAT_80063898 += -1; - if (_DAT_80063898 < 1) { - if ((short)uVar1 == 0) { - FUN_70012db0(_DAT_80063770); - } - _DAT_80063898 = 0; - DAT_80024394 = 0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70007b30(uint *param_1) - -{ - int iVar1; - int **ppiVar2; - int *piVar3; - uint uVar4; - undefined2 auStack24 [12]; - - DAT_80024430[0x11] = param_1[2]; - DAT_80024430[0xf] = 0; - DAT_80024430[0x12] = 33000; - iVar1 = alHeapDBAlloc(0,0,(int *)param_1[3],1,*param_1 << 6); - DAT_80024430[0x10] = iVar1; - ppiVar2 = (int **)alHeapDBAlloc(0,0,(int *)param_1[3],1,param_1[1] * 0x1c); - loc_70013104((int **)(DAT_80024430 + 5),ppiVar2,param_1[1]); - uVar4 = 1; - DAT_8002442c = DAT_80024430[0x10]; - if (*param_1 < 2) { - piVar3 = (int *)param_1[3]; - } - else { - do { - ppiVar2 = (int **)(uVar4 * 0x40 + DAT_80024430[0x10]); - alLink(ppiVar2,ppiVar2 + -0x10); - uVar4 += 1; - } while (uVar4 < *param_1); - piVar3 = (int *)param_1[3]; - } - _DAT_80063be4 = (undefined2 *)alHeapDBAlloc(0,0,piVar3,2,7); - _DAT_80063be8 = (undefined2 *)alHeapDBAlloc(0,0,(int *)param_1[3],2,7); - *_DAT_80063be4 = 0x7fff; - *_DAT_80063be8 = *_DAT_80063be4; - _DAT_80063be4[1] = 0x7fff; - _DAT_80063be8[1] = _DAT_80063be4[1]; - _DAT_80063be4[2] = 0x7fff; - _DAT_80063be8[2] = _DAT_80063be4[2]; - _DAT_80063be4[3] = 0x7fff; - _DAT_80063be8[3] = _DAT_80063be4[3]; - _DAT_80063be4[4] = 0x7fff; - _DAT_80063be8[4] = _DAT_80063be4[4]; - _DAT_80063be4[5] = 0x7fff; - _DAT_80063be8[5] = _DAT_80063be4[5]; - _DAT_80063be4[6] = 0x7fff; - _DAT_80063be8[6] = _DAT_80063be4[6]; - DAT_80024430[0xe] = DAT_80027720; - *DAT_80024430 = 0; - DAT_80024430[2] = 0x70007dec; - *(undefined4 **)(DAT_80024430 + 1) = DAT_80024430; - alSynAddPlayer((undefined4 *)DAT_80024430[0xe],DAT_80024430); - auStack24[0] = 0x20; - FUN_70012f3c((int **)(DAT_80024430 + 5),(undefined *)auStack24,(int *)DAT_80024430[0x12]); - piVar3 = FUN_70013060((int **)(DAT_80024430 + 5),(undefined2 *)(DAT_80024430 + 10)); - *(int **)(DAT_80024430 + 0x13) = piVar3; - return; -} - - - -void loc_70007E44(int param_1) - -{ - int *piVar1; - undefined2 auStack20 [10]; - - do { - if (*(short *)(param_1 + 0x28) == 0x20) { - auStack20[0] = 0x20; - FUN_70012f3c((int **)(param_1 + 0x14),(undefined *)auStack20,*(int **)(param_1 + 0x48)); - } - else { - loc_7000891C(param_1,(ushort *)(param_1 + 0x28)); - } - piVar1 = FUN_70013060((int **)(param_1 + 0x14),(ushort *)(param_1 + 0x28)); - *(int **)(param_1 + 0x4c) = piVar1; - } while (piVar1 == NULL); - *(int *)(param_1 + 0x50) = *(int *)(param_1 + 0x50) + (int)piVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong loc_7000891C(int param_1,ushort *param_2) - -{ - char cVar1; - ushort uVar2; - int **ppiVar3; - bool bVar4; - uint uVar5; - ulonglong uVar6; - byte bVar8; - uint uVar7; - short sVar10; - int iVar9; - uint uVar11; - int **ppiVar12; - int *piVar13; - int *piVar14; - int *piVar15; - undefined2 auStack116 [2]; - int iStack112; - int iStack100; - short sStack96; - short sStack94; - int **ppiStack92; - int **ppiStack88; - int iStack84; - uint uStack80; - int iStack64; - ushort auStack52 [2]; - int **ppiStack48; - undefined4 uStack44; - undefined2 auStack36 [2]; - int **ppiStack32; - ushort uStack8; - undefined2 uStack6; - undefined uStack4; - - uStack80 = 1; - iStack84 = 0; - ppiStack92 = NULL; - do { - if (ppiStack92 == NULL) { - ppiStack88 = *(int ***)(param_2 + 2); - } - else { - auStack52[0] = *param_2; - uStack44 = *(undefined4 *)(param_2 + 4); - param_2 = auStack52; - ppiStack48 = ppiStack88; - } - ppiVar3 = (int **)ppiStack88[2]; - if (ppiVar3 == NULL) { - uVar5 = FUN_70008b00(&sStack94,&sStack96); - return (longlong)(int)uVar5; - } - ppiStack92 = (int **)*ppiStack88; - piVar15 = ppiVar3[1]; - uVar2 = *param_2; - uVar6 = (ulonglong)uVar2; - if (uVar2 < 0x101) { - if (uVar2 < 0x41) { - if (uVar2 < 0x11) { - if (false) { -switchD_70007fc4_caseD_3: - uVar6 &= 0x2d1; - } - else { - switch(uVar2) { - case 1: - bVar8 = *(byte *)((int)ppiStack88 + 0x3f); - if ((bVar8 != 5) && (bVar8 != 4)) { - return (ulonglong)bVar8; - } - uStack6 = 0; - uStack4 = 0; - uStack8 = (ushort)*(byte *)((int)ppiStack88 + 0x36); - bVar4 = (longlong)*(int *)(param_1 + 0x44) <= (longlong)DAT_80024434; - if ((!bVar4) || (bVar8 = *(byte *)((int)ppiStack88 + 0x3e), (bVar8 & 0x10) != 0)) { - uVar6 = loc_70013380(*(int *)(param_1 + 0x38),(int)(ppiStack88 + 3), - (short *)&uStack8); - iStack84 = (int)uVar6; - bVar8 = *(byte *)((int)ppiStack88 + 0x3e); - } - ppiVar12 = ppiStack88 + 3; - if (iStack84 == 0) { - if (((bVar8 & 0x12) == 0) && ((int)ppiStack88[0xe] < 1)) { - if (bVar4) { - bVar8 = *(byte *)(DAT_80024428 + 0x3e); - iVar9 = DAT_80024428; - while( true ) { - if ((((bVar8 & 0x12) == 0) && ((bVar8 & 4) != 0)) && - (*(char *)(iVar9 + 0x3f) != '\x03')) { - auStack116[0] = 0x80; - *(undefined *)(iVar9 + 0x3f) = 3; - bVar4 = false; - iStack112 = iVar9; - iStack100 = iVar9; - FUN_70012f3c((int **)(param_1 + 0x14),(undefined *)auStack116,(int *)0x3e8); - loc_70013430(*(int *)(param_1 + 0x38),iStack100 + 0xc,0,1000); - iVar9 = iStack100; - } - iVar9 = *(int *)(iVar9 + 4); - if ((!bVar4) || (iVar9 == 0)) break; - bVar8 = *(byte *)(iVar9 + 0x3e); - } - if (bVar4) { - uVar6 = loc_70008994(ppiStack88); - } - else { - ppiStack88[0xe] = (int *)0x2; - uVar6 = FUN_70012f3c((int **)(param_1 + 0x14),(undefined *)param_2, - (int *)0x3e9); - } - } - else { - uVar6 = loc_70008994(ppiStack88); - } - } - else { - *(undefined *)((int)ppiStack88 + 0x3f) = 4; - ppiStack88[0xe] = (int *)((int)ppiStack88[0xe] + -1); - uVar6 = FUN_70012f3c((int **)(param_1 + 0x14),(undefined *)param_2,(int *)0x8235); - } - return uVar6; - } - *(byte *)((int)ppiStack88 + 0x3e) = bVar8 | 4; - FUN_70013480(*(int *)(param_1 + 0x38),(int)ppiVar12,ppiVar3[2]); - *(undefined *)((int)ppiStack88 + 0x3f) = 1; - DAT_80024434 += 1; - iVar9 = **ppiVar3; - piVar13 = ppiStack88[0xb]; - piVar14 = ppiStack88[10]; - iStack64 = ((int)*(short *)(_DAT_80063be4 + - ((uint)*(byte *)((int)piVar15 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)(*ppiVar3 + 3) * (int)*(short *)(ppiStack88 + 0xd) * - (uint)*(byte *)((int)ppiVar3 + 0xd)) / 0x3f01)) / 0x7fff + -1; - if (iStack64 < 0) { - iStack64 = 0; - } - loc_70013430(*(int *)(param_1 + 0x38),(int)ppiVar12,0,0); - loc_70013430(*(int *)(param_1 + 0x38),(int)ppiVar12,(short)iStack64, - (int)(((float)iVar9 / (float)piVar13) / (float)piVar14)); - uVar11 = 0x7f; - uVar7 = ((uint)*(byte *)(ppiStack88 + 0xf) + (uint)*(byte *)(ppiVar3 + 3)) - 0x40; - uVar5 = 0; - if (0 < (int)uVar7) { - uVar5 = uVar7; - } - if ((int)uVar5 < 0x7f) { - if ((int)uVar7 < 1) { - uVar11 = 0; - } - else { - uVar11 = uVar7 & 0xff; - } - } - FUN_70013510(*(int *)(param_1 + 0x38),(int)ppiVar12,uVar11); - FUN_700135a0(*(int *)(param_1 + 0x38),(int)ppiVar12, - (float)ppiStack88[0xb] * (float)ppiStack88[10]); - uVar5 = ((uint)*(byte *)((int)ppiStack88 + 0x3d) + - ((uint)*(byte *)((int)piVar15 + 3) & 0xf)) * 8; - bVar8 = (byte)uVar5; - if (false) { - uVar5 = 0; - } - if (uVar5 < 0x80) { - if (false) { - bVar8 = 0; - } - } - else { - bVar8 = 0x7f; - } - FUN_70013630(*(int *)(param_1 + 0x38),(int)ppiVar12,bVar8); - auStack36[0] = 0x40; - ppiStack32 = ppiStack88; - FUN_70012f3c((int **)(param_1 + 0x14),(undefined *)auStack36, - (int *)(int)(((float)**ppiVar3 / (float)ppiStack88[0xb]) / - (float)ppiStack88[10])); - uVar6 = (ulonglong)*param_2 & 0x2d1; - break; - case 2: - goto LAB_7000839c; - default: - goto switchD_70007fc4_caseD_3; - case 4: - uVar5 = *(uint *)(param_2 + 4); - *(char *)(ppiStack88 + 0xf) = (char)uVar5; - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - uVar7 = ((uVar5 & 0xff) + (uint)*(byte *)(ppiVar3 + 3)) - 0x40; - uVar11 = 0x7f; - uVar5 = 0; - if (0 < (int)uVar7) { - uVar5 = uVar7; - } - if ((int)uVar5 < 0x7f) { - if ((int)uVar7 < 1) { - uVar11 = 0; - } - else { - uVar11 = uVar7 & 0xff; - } - } - FUN_70013510(*(int *)(param_1 + 0x38),(int)(ppiStack88 + 3),uVar11); - } - uVar6 = (ulonglong)*param_2 & 0x2d1; - break; - case 8: - *(short *)(ppiStack88 + 0xd) = (short)*(undefined4 *)(param_2 + 4); - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - iVar9 = ((int)*(short *)(_DAT_80063be4 + - ((uint)*(byte *)((int)piVar15 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(ppiStack88 + 0xd) * - (uint)*(byte *)((int)ppiVar3 + 0xd)) / 0x3f01)) / 0x7fff + -1; - sVar10 = (short)iVar9; - if (iVar9 < 0) { - sVar10 = 0; - } - loc_70013430(*(int *)(param_1 + 0x38),(int)(ppiStack88 + 3),sVar10,1000); - } - uVar6 = (ulonglong)*param_2 & 0x2d1; - break; - case 0x10: - ppiStack88[0xb] = *(int **)(param_2 + 4); - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - FUN_700135a0(*(int *)(param_1 + 0x38),(int)(ppiStack88 + 3), - (float)ppiStack88[0xb] * (float)ppiStack88[10]); - if ((*(byte *)((int)ppiStack88 + 0x3e) & 0x20) != 0) { - FUN_700089d4((int)ppiStack88); - goto LAB_70008548; - } - uVar2 = *param_2; - } - else { -LAB_70008548: - uVar2 = *param_2; - } - uVar6 = (ulonglong)uVar2 & 0x2d1; - } - } - } - else { - if (uVar2 == 0x40) { - if ((*(byte *)((int)ppiStack88 + 0x3e) & 2) == 0) { - iVar9 = ((int)*(short *)(_DAT_80063be4 + - ((uint)*(byte *)((int)piVar15 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(ppiStack88 + 0xd) * (uint)*(byte *)((int)ppiVar3 + 0xd) - ) / 0x3f01)) / 0x7fff + -1; - sVar10 = (short)iVar9; - if (iVar9 < 0) { - sVar10 = 0; - } - piVar15 = (int *)(int)(((float)(*ppiVar3)[1] / (float)ppiStack88[10]) / - (float)ppiStack88[0xb]); - loc_70013430(*(int *)(param_1 + 0x38),(int)(ppiStack88 + 3),sVar10,(int)piVar15); - auStack36[0] = 2; - ppiStack32 = ppiStack88; - FUN_70012f3c((int **)(param_1 + 0x14),(undefined *)auStack36,piVar15); - if ((*(byte *)((int)ppiStack88 + 0x3e) & 0x20) == 0) { - uVar6 = (ulonglong)*param_2; - } - else { - FUN_700089d4((int)ppiStack88); - uVar6 = (ulonglong)*param_2; - } - } - else { - uVar6 = (ulonglong)*param_2; - } - uVar6 &= 0x2d1; - } - else { - uVar6 &= 0x2d1; - } - } - } - else { - if (uVar2 == 0x80) { - loc_70008994(ppiStack88); - uVar6 = (ulonglong)*param_2 & 0x2d1; - } - else { - if (uVar2 == 0x100) { - uVar5 = *(uint *)(param_2 + 4); - *(undefined *)((int)ppiStack88 + 0x3d) = (char)uVar5; - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - uVar5 = ((uVar5 & 0xff) + ((uint)*(byte *)((int)piVar15 + 3) & 0xf)) * 8; - bVar8 = (byte)uVar5; - if (false) { - uVar5 = 0; - } - if (uVar5 < 0x80) { - if (false) { - bVar8 = 0; - } - } - else { - bVar8 = 0x7f; - } - FUN_70013630(*(int *)(param_1 + 0x38),(int)(ppiStack88 + 3),bVar8); - } - uVar6 = (ulonglong)*param_2 & 0x2d1; - } - else { - uVar6 &= 0x2d1; - } - } - } - } - else { - if (uVar2 == 0x200) { - if ((*(byte *)((int)ppiStack88 + 0x3e) & 0x10) != 0) { - FUN_70008e18((longlong)*(int *)(param_2 + 6),param_2[5],(int **)ppiStack88[0xc]); - uVar6 = (ulonglong)*param_2; - } - uVar6 &= 0x2d1; - } - else { - if (uVar2 == 0x400) { -LAB_7000839c: - if (uVar2 == 0x1000) { - if ((*(byte *)((int)ppiStack88 + 0x3e) & 2) != 0) { - cVar1 = *(char *)((int)ppiStack88 + 0x3f); - goto LAB_700083b8; - } - } - else { - cVar1 = *(char *)((int)ppiStack88 + 0x3f); -LAB_700083b8: - if (cVar1 == '\x01') { - loc_70008AC8((int **)(param_1 + 0x14),(int *)ppiStack88,0x40); - piVar15 = (int *)(int)(((float)(*ppiVar3)[2] / (float)ppiStack88[10]) / - (float)ppiStack88[0xb]); - loc_70013430(*(int *)(param_1 + 0x38),(int)(ppiStack88 + 3),0,(int)piVar15); - if (piVar15 == NULL) { - loc_70008994(ppiStack88); - } - else { - auStack36[0] = 0x80; - ppiStack32 = ppiStack88; - FUN_70012f3c((int **)(param_1 + 0x14),(undefined *)auStack36,piVar15); - *(undefined *)((int)ppiStack88 + 0x3f) = 2; - } - uVar2 = *param_2; -LAB_70008470: - uVar6 = (ulonglong)uVar2; - } - else { - if ((cVar1 == '\x04') || (cVar1 == '\x05')) { - loc_70008994(ppiStack88); - uVar2 = *param_2; - goto LAB_70008470; - } - } - if (uVar6 == 2) { - *param_2 = 0x1000; - uVar6 = 0; - } - } - uVar6 &= 0x2d1; - } - else { - if (uVar2 == 0x800) { - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - iVar9 = ((int)*(short *)(_DAT_80063be4 + - ((uint)*(byte *)((int)piVar15 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(ppiStack88 + 0xd) * (uint)*(byte *)((int)ppiVar3 + 0xd) - ) / 0x3f01)) / 0x7fff + -1; - sVar10 = (short)iVar9; - if (iVar9 < 0) { - sVar10 = 0; - } - loc_70013430(*(int *)(param_1 + 0x38),(int)(ppiStack88 + 3),sVar10, - (int)(((float)(*ppiVar3)[2] / (float)ppiStack88[10]) / - (float)ppiStack88[0xb])); - uVar6 = (ulonglong)*param_2; - } - uVar6 &= 0x2d1; - } - else { - if (uVar2 == 0x1000) goto LAB_7000839c; - uVar6 &= 0x2d1; - } - } - } - } - if ((ppiStack92 != NULL) && (uVar6 == 0)) { - uStack80 = (uint)*(byte *)((int)ppiStack92 + 0x3e) & 1; - } - if (uStack80 != 0) { - return uVar6; - } - if (ppiStack92 == NULL) { - return uVar6; - } - ppiStack88 = ppiStack92; - if (uVar6 != 0) { - return uVar6; - } - } while( true ); -} - - - -void loc_70008994(int **param_1) - -{ - if ((*(byte *)((int)param_1 + 0x3e) & 4) != 0) { - alSynStopVoice(*(int *)(DAT_80024430 + 0x38),(int)(param_1 + 3)); - loc_700137B4(*(int *)(DAT_80024430 + 0x38),(int)(param_1 + 3)); - } - FUN_70008d14(param_1); - loc_70008AC8((int **)(DAT_80024430 + 0x14),(int *)param_1,0xffff); - return; -} - - - -void FUN_700089d4(int param_1) - -{ - undefined2 auStack16 [2]; - int iStack12; - float fStack8; - - fStack8 = FUN_70013800((int)*(char *)(*(int *)(*(int *)(param_1 + 8) + 4) + 5)); - auStack16[0] = 0x10; - fStack8 = fStack8 * *(float *)(param_1 + 0x2c); - iStack12 = param_1; - FUN_70012f3c((int **)(DAT_80024430 + 0x14),(undefined *)auStack16,(int *)0x8235); - return; -} - - - -void loc_70008AC8(int **param_1,int *param_2,ushort param_3) - -{ - int **ppiVar1; - int **ppiVar2; - ulonglong uVar3; - - uVar3 = osSetIntMask(1); - ppiVar2 = (int **)param_1[2]; - while (ppiVar1 = ppiVar2, ppiVar1 != NULL) { - ppiVar2 = (int **)*ppiVar1; - if ((param_2 == ppiVar1[4]) && ((*(ushort *)(ppiVar1 + 3) & param_3) != 0)) { - if (ppiVar2 != NULL) { - ppiVar2[2] = (int *)((int)ppiVar2[2] + (int)ppiVar1[2]); - } - alUnlink((int *)ppiVar1); - alLink(ppiVar1,param_1); - } - } - osSetIntMask((longlong)(int)uVar3); - return; -} - - - -uint FUN_70008b00(short *param_1,short *param_2) - -{ - int *piVar1; - short sVar2; - int iVar3; - short sVar4; - short sVar5; - uint uVar6; - - sVar4 = 0; - piVar1 = DAT_80024424; - sVar5 = 0; - if (DAT_80024424 != NULL) { - do { - piVar1 = (int *)*piVar1; - sVar4 = sVar5 + 1; - sVar5 = sVar4; - } while (piVar1 != NULL); - } - sVar2 = 0; - piVar1 = DAT_8002442c; - sVar5 = 0; - if (DAT_8002442c != NULL) { - do { - piVar1 = (int *)*piVar1; - sVar2 = sVar5 + 1; - sVar5 = sVar2; - } while (piVar1 != NULL); - } - uVar6 = 0; - iVar3 = DAT_80024428; - if (DAT_80024428 != 0) { - do { - iVar3 = *(int *)(iVar3 + 4); - uVar6 = uVar6 + 1 & 0xffff; - } while (iVar3 != 0); - } - *param_1 = sVar2; - *param_2 = sVar4; - return uVar6; -} - - - -int ** FUN_70008b80(undefined8 param_1,int *param_2) - -{ - byte bVar1; - int iVar2; - int iVar3; - int **ppiVar4; - ulonglong uVar5; - char cVar6; - int *piVar7; - - ppiVar4 = DAT_8002442c; - iVar2 = param_2[1]; - if (DAT_8002442c != NULL) { - uVar5 = osSetIntMask(1); - DAT_8002442c = (int **)*ppiVar4; - alUnlink((int *)ppiVar4); - if (DAT_80024424 == NULL) { - ppiVar4[1] = NULL; - *ppiVar4 = NULL; - DAT_80024428 = ppiVar4; - } - else { - *(int ***)ppiVar4 = DAT_80024424; - ppiVar4[1] = NULL; - *(int ***)(DAT_80024424 + 1) = ppiVar4; - } - DAT_80024424 = ppiVar4; - osSetIntMask((longlong)(int)uVar5); - iVar3 = *(int *)(*param_2 + 4); - *(undefined *)((int)ppiVar4 + 0x3f) = 5; - cVar6 = (iVar3 == -1) + '@'; - *(char *)((int)ppiVar4 + 0x36) = cVar6; - ppiVar4[0xe] = (int *)0x2; - ppiVar4[2] = param_2; - ppiVar4[0xb] = (int *)0x3f800000; - bVar1 = *(byte *)(iVar2 + 3); - ppiVar4[0xc] = NULL; - *(byte *)((int)ppiVar4 + 0x3e) = bVar1 & 0xf0; - if ((bVar1 & 0x20) == 0) { - piVar7 = (int *)FUN_70013800((((uint)*(byte *)(iVar2 + 4) * 0x18 + (uint)*(byte *)(iVar2 + 4)) - * 4 + (int)*(char *)(iVar2 + 5)) - 6000); - ppiVar4[10] = piVar7; - } - else { - piVar7 = (int *)FUN_70013800(((uint)*(byte *)(iVar2 + 4) * 0x18 + (uint)*(byte *)(iVar2 + 4)) - * 4 - 6000); - ppiVar4[10] = piVar7; - } - if (cVar6 != '@') { - *(byte *)((int)ppiVar4 + 0x3e) = *(byte *)((int)ppiVar4 + 0x3e) | 2; - } - *(undefined *)((int)ppiVar4 + 0x3d) = 0; - *(undefined *)(ppiVar4 + 0xf) = 0x40; - *(undefined2 *)(ppiVar4 + 0xd) = 0x7fff; - } - return ppiVar4; -} - - - -void FUN_70008d14(int **param_1) - -{ - int **ppiVar1; - - if (param_1 == DAT_80024424) { - DAT_80024424 = (int **)*param_1; - } - if (param_1 == DAT_80024428) { - DAT_80024428 = (int **)param_1[1]; - } - alUnlink((int *)param_1); - if (DAT_8002442c == NULL) { - param_1[1] = NULL; - *param_1 = NULL; - } - else { - *(int ***)param_1 = DAT_8002442c; - param_1[1] = NULL; - *(int ***)((int *)DAT_8002442c + 1) = param_1; - } - if ((*(byte *)((int)param_1 + 0x3e) & 4) == 0) { - ppiVar1 = (int **)param_1[0xc]; - } - else { - DAT_80024434 += -1; - ppiVar1 = (int **)param_1[0xc]; - } - DAT_8002442c = param_1; - *(undefined *)((int)param_1 + 0x3f) = 0; - if (ppiVar1 != NULL) { - if (param_1 == (int **)*ppiVar1) { - *ppiVar1 = NULL; - param_1[0xc] = NULL; - } - else { - param_1[0xc] = NULL; - } - } - return; -} - - - -ulonglong locret_70008E00(int param_1) - -{ - if (param_1 != 0) { - return (ulonglong)*(byte *)(param_1 + 0x3f); - } - return 0; -} - - - -int ** FUN_70008e18(undefined8 param_1,short param_2,int **param_3) - -{ - byte bVar1; - int *piVar2; - int **ppiVar3; - int iVar4; - int iVar5; - int iVar6; - int **ppiVar7; - int iVar8; - undefined2 auStack64 [2]; - int **ppiStack60; - int iStack56; - int iStack52; - undefined2 auStack48 [2]; - int **ppiStack44; - int iStack28; - int *piStack24; - short sStack18; - - iVar4 = (int)param_2; - ppiVar7 = NULL; - sStack18 = 0; - iVar6 = 0; - if (DAT_80024438 == '\0') { - if (iVar4 == 0) { - ppiVar7 = NULL; - } - else { - iStack52 = (int)param_1; - iVar8 = *(int *)(iStack52 + 0xc); - iVar5 = iStack28; - while( true ) { - piVar2 = *(int **)(iVar8 + iVar4 * 4 + 0xc); - ppiVar3 = FUN_70008b80(param_1,piVar2); - if (ppiVar3 != NULL) { - *(int ***)(DAT_80024430 + 0x3c) = ppiVar3; - auStack48[0] = 1; - bVar1 = *(byte *)(piVar2[1] + 1); - iVar5 = ((uint)bVar1 * 0x208 + (uint)bVar1) * 0x40 + (uint)bVar1 * -0xb; - if ((*(byte *)((int)ppiVar3 + 0x3e) & 0x10) == 0) { - ppiStack44 = ppiVar3; - FUN_70012f3c((int **)(DAT_80024430 + 0x14),(undefined *)auStack48,(int *)(iVar5 + 1)); - ppiVar7 = ppiVar3; - } - else { - *(byte *)((int)ppiVar3 + 0x3e) = *(byte *)((int)ppiVar3 + 0x3e) & 0xef; - ppiStack44 = ppiVar3; - FUN_70012f3c((int **)(DAT_80024430 + 0x14),(undefined *)auStack48,(int *)(iVar6 + 1)); - piStack24 = (int *)(iVar5 + 1); - sStack18 = (short)iVar4; - ppiVar7 = ppiVar3; - } - } - iVar6 += iVar5; - iVar4 = (int)(((uint)*(byte *)piVar2[1] + ((uint)((byte *)piVar2[1])[2] & 0xc0) * 4) * - 0x10000) >> 0x10; - iVar8 = iStack28; - if ((iVar4 == 0) || (iVar8 = iVar5, ppiVar3 == NULL)) break; - iVar8 = *(int *)(iStack52 + 0xc); - } - iStack28 = iVar8; - if (ppiVar7 != NULL) { - bVar1 = *(byte *)((int)ppiVar7 + 0x3e); - *(byte *)((int)ppiVar7 + 0x3e) = bVar1 | 1; - *(int ***)(ppiVar7 + 0xc) = param_3; - if (sStack18 != 0) { - *(byte *)((int)ppiVar7 + 0x3e) = bVar1 | 0x11; - auStack64[0] = 0x200; - iStack56 = (int)sStack18; - ppiStack60 = ppiVar7; - FUN_70012f3c((int **)(DAT_80024430 + 0x14),(undefined *)auStack64,piStack24); - } - } - if (param_3 != NULL) { - *(int ***)param_3 = ppiVar7; - } - } - } - else { - ppiVar7 = NULL; - } - return ppiVar7; -} - - - -void loc_7000905C(int param_1) - -{ - undefined2 auStack16 [2]; - int iStack12; - - auStack16[0] = 0x400; - if (param_1 != 0) { - *(byte *)(param_1 + 0x3e) = *(byte *)(param_1 + 0x3e) & 0xef; - iStack12 = param_1; - FUN_70012f3c((int **)(DAT_80024430 + 0x14),(undefined *)auStack16,NULL); - } - return; -} - - - -void loc_700090FC(byte param_1) - -{ - undefined4 *puVar1; - ulonglong uVar2; - undefined2 auStack20 [2]; - undefined4 *puStack16; - int iStack4; - - uVar2 = osSetIntMask(1); - iStack4 = (int)uVar2; - puVar1 = DAT_80024424; - while (puVar1 != NULL) { - auStack20[0] = 0x400; - puStack16 = puVar1; - if (param_1 == (*(byte *)((int)puVar1 + 0x3e) & param_1)) { - *(byte *)((int)puVar1 + 0x3e) = *(byte *)((int)puVar1 + 0x3e) & 0xef; - puStack16 = puVar1; - FUN_70012f3c((int **)(DAT_80024430 + 0x14),(undefined *)auStack20,NULL); - } - puVar1 = (undefined4 *)*puVar1; - } - osSetIntMask((longlong)iStack4); - return; -} - - - -void FUN_70009134(void) - -{ - loc_700090FC(1); - return; -} - - - -void FUN_70009154(void) - -{ - loc_700090FC(0x11); - return; -} - - - -void FUN_70009174(void) - -{ - loc_700090FC(3); - return; -} - - - -void loc_700091B8(longlong param_1,undefined2 param_2,undefined4 param_3) - -{ - undefined2 auStack16 [2]; - undefined4 uStack12; - undefined4 uStack8; - - uStack12 = (undefined4)param_1; - if (param_1 != 0) { - auStack16[0] = param_2; - uStack8 = param_3; - FUN_70012f3c((int **)(DAT_80024430 + 0x14),(undefined *)auStack16,NULL); - } - return; -} - - - -void FUN_700091d8(void) - -{ - FUN_70009274(0); - return; -} - - - -void loc_70009204(ulonglong param_1) - -{ - ulonglong uVar1; - - uVar1 = 0; - do { - FUN_70009294(uVar1,param_1 & 0xffff); - uVar1 = (longlong)((int)uVar1 + 1) & 0xff; - } while (uVar1 < 7); - return; -} - - - -void FUN_70009248(undefined4 param_1) - -{ - ulonglong uVar1; - - DAT_8002443c = param_1; - uVar1 = FUN_700091d8(); - loc_70009204(uVar1 & 0xffff); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_70009274(uint param_1) - -{ - return (ulonglong)*(ushort *)(_DAT_80063be8 + (param_1 & 0xff) * 2); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70009294(ulonglong param_1,ulonglong param_2) - -{ - int iVar1; - undefined4 *puVar2; - float fVar3; - undefined2 auStack24 [2]; - undefined4 *puStack20; - - puVar2 = DAT_80024424; - iVar1 = (int)(param_1 & 0xff) * 2; - *(undefined2 *)(_DAT_80063be8 + iVar1) = (short)(param_2 & 0xffff); - fVar3 = (float)(int)(param_2 & 0xffff); - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_80063be4 + iVar1) = (short)(int)(fVar3 * DAT_8002443c); - if (puVar2 != NULL) { - iVar1 = puVar2[2]; - while( true ) { - if (iVar1 == 0) { - puVar2 = (undefined4 *)*puVar2; - } - else { - if ((param_1 & 0xff) == ((ulonglong)*(byte *)(*(int *)(iVar1 + 4) + 2) & 0x3f)) { - auStack24[0] = 0x800; - puStack20 = puVar2; - FUN_70012f3c((int **)(DAT_80024430 + 0x14),(undefined *)auStack24,NULL); - puVar2 = (undefined4 *)*puVar2; - } - else { - puVar2 = (undefined4 *)*puVar2; - } - } - if (puVar2 == NULL) break; - iVar1 = puVar2[2]; - } - } - return; -} - - - -void FUN_70009390(void) - -{ - loc_70004E88(&DAT_80024440,(byte *)s_memp_c_debug_800291e0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700093bc(int param_1,int param_2) - -{ - byte *pbVar1; - int iVar2; - int local_20; - uint local_1c; - undefined4 local_18; - uint local_14; - undefined4 local_10; - uint local_c; - undefined4 local_8; - undefined4 local_4; - - _DAT_80063bf8 = param_1 + param_2; - local_20 = DAT_80024454; - local_1c = DAT_80024458; - local_14 = DAT_80024460; - local_18 = DAT_8002445c; - local_10 = DAT_80024464; - local_c = DAT_80024468; - local_4 = DAT_80024470; - local_8 = DAT_8002446c; - _DAT_80063bf0 = param_1; - pbVar1 = loc_7000A740(1,(byte *)s__mf_800291f0); - if (pbVar1 != NULL) { - pbVar1 = loc_7000A740(1,(byte *)s__mf_800291f4); - local_1c = loc_7000AC44(pbVar1,NULL,0); - } - pbVar1 = loc_7000A740(1,(byte *)s__ml_800291f8); - if (pbVar1 != NULL) { - pbVar1 = loc_7000A740(1,(byte *)s__ml_800291fc); - local_14 = loc_7000AC44(pbVar1,NULL,0); - } - pbVar1 = loc_7000A740(1,(byte *)s__me_80029200); - if (pbVar1 != NULL) { - pbVar1 = loc_7000A740(1,(byte *)s__me_80029204); - local_c = loc_7000AC44(pbVar1,NULL,0); - } - if (local_c == 0) { - local_1c = 0; - iVar2 = 0x128; - if (DAT_80048500 != 0) { - iVar2 = 0x134; - } - local_c = iVar2 * 0x400; - local_14 = param_2 + iVar2 * -0x400; - } - FUN_70009524(&local_20); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70009524(int *param_1) - -{ - uint uVar1; - uint uVar3; - longlong lVar2; - longlong lVar4; - uint uVar5; - uint *puVar6; - uint *puVar7; - uint uStack32; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - uint uStack8; - uint uStack4; - - uVar1 = DAT_8002448c; - uVar3 = DAT_80024474; - uStack32 = DAT_80024474; - iStack28 = DAT_80024478; - puVar6 = &uStack32; - iStack24 = DAT_8002447c; - iStack20 = DAT_80024480; - iStack16 = DAT_80024484; - iStack12 = DAT_80024488; - uStack8 = DAT_8002448c; - lVar4._4_4_ = *param_1; - uVar5 = param_1[1]; - while( true ) { - (&uStack32)[lVar4._4_4_] = uVar5; - lVar4._4_4_ = param_1[2]; - if (lVar4._4_4_ == 0) break; - uVar5 = param_1[3]; - param_1 = param_1 + 2; - } - do { - puVar7 = puVar6 + 1; - puVar6 = puVar6 + 1; - uVar3 = *puVar7 + uVar3; - *puVar6 = uVar3; - } while (puVar6 < &uStack8); - lVar4._4_4_ = _DAT_80063bf8 - _DAT_80063bf0; - lVar4 = (longlong)lVar4._4_4_; - puVar6 = &uStack32; - do { - lVar2 = __ll_mul((int)*puVar6 >> 0x1f,*puVar6,lVar4._4_4_ >> 0x1f,lVar4._4_4_); - loc_7000ED94((int)lVar2,(int)lVar4,(int)uVar1 >> 0x1f,uVar1); - puVar7 = puVar6 + 1; - *puVar6 = (uint)lVar4; - puVar6 = puVar7; - } while (puVar7 < &uStack4); - puVar6 = &uStack32; - do { - puVar7 = puVar6 + 1; - *puVar6 = (*puVar6 | 0xf) ^ 0xf; - puVar6 = puVar7; - } while (puVar7 < &uStack4); - _DAT_80063c00 = uStack32 + _DAT_80063bf0; - _DAT_80063c04 = 0; - _DAT_80063c08 = iStack28 + _DAT_80063bf0; - _DAT_80063c10 = iStack28 + _DAT_80063bf0; - _DAT_80063c14 = 0; - _DAT_80063c18 = iStack24 + _DAT_80063bf0; - _DAT_80063c20 = iStack24 + _DAT_80063bf0; - _DAT_80063c24 = 0; - _DAT_80063c28 = iStack20 + _DAT_80063bf0; - _DAT_80063c30 = iStack20 + _DAT_80063bf0; - _DAT_80063c34 = 0; - _DAT_80063c38 = iStack16 + _DAT_80063bf0; - _DAT_80063c40 = iStack16 + _DAT_80063bf0; - _DAT_80063c44 = 0; - _DAT_80063c48 = iStack12 + _DAT_80063bf0; - _DAT_80063c50 = iStack12 + _DAT_80063bf0; - _DAT_80063c54 = 0; - _DAT_80063c58 = uStack8 + _DAT_80063bf0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_70009730(int param_1,uint param_2) - -{ - uint uVar1; - int iVar2; - int iVar3; - - iVar3 = (param_2 & 0xff) << 4; - while( true ) { - iVar2 = DAT_80024444; - uVar1 = *(uint *)(iVar3 + -0x7ff9c40c); - if (uVar1 == 0) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if (*(uint *)(&DAT_80063bf8 + iVar3) < uVar1) { - loc_700098F4(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if (uVar1 + param_1 <= *(uint *)(&DAT_80063bf8 + iVar3)) { - *(int *)(iVar3 + -0x7ff9c40c) = uVar1 + param_1; - *(uint *)(iVar3 + -0x7ff9c404) = uVar1; - return uVar1; - } - if (_DAT_80063c58 < (uint)(_DAT_80063c54 + param_1)) break; - DAT_80024444 = 1; - if (iVar2 == 0) { - iVar3 = 0x60; - } - else { - iVar3 = 0x60; - } - } - loc_700098F4(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_70009814(int param_1,int param_2,uint param_3) - -{ - uint uVar1; - undefined8 uVar2; - int iVar3; - - param_3 &= 0xff; - if ((DAT_80024444 != 0) && (param_1 == _DAT_80063c5c)) { - param_3 = 6; - } - iVar3 = param_3 * 0x10; - uVar1 = *(uint *)(iVar3 + -0x7ff9c40c); - if (uVar1 == 0) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if (param_1 == *(int *)(iVar3 + -0x7ff9c404)) { - param_2 -= uVar1 - *(int *)(iVar3 + -0x7ff9c404); - if (param_2 < 1) { - *(int *)(iVar3 + -0x7ff9c40c) = uVar1 + param_2; - uVar2 = 1; - } - else { - if (*(uint *)(&DAT_80063bf8 + iVar3) < uVar1) { - loc_700098F4(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if (*(uint *)(&DAT_80063bf8 + iVar3) < uVar1 + param_2) { - loc_700098F4(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - *(int *)(iVar3 + -0x7ff9c40c) = uVar1 + param_2; - uVar2 = 1; - } - } - else { - uVar2 = 2; - } - return uVar2; -} - - - -void loc_700098F4(void) - -{ - byte bVar1; - - bVar1 = 1; - do { - bVar1 += 1; - } while (bVar1 < 7); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_70009920(uint param_1) - -{ - param_1 &= 0xff; - if (DAT_80024444 != 0) { - param_1 = 6; - } - if ((param_1 == 4) && (_DAT_80063c30 == _DAT_80063c38)) { - param_1 = 6; - } - return *(int *)(&DAT_80063bf8 + param_1 * 0x10) - *(int *)(param_1 * 0x10 + -0x7ff9c40c); -} - - - -uint FUN_70009980(uint param_1) - -{ - uint uVar1; - - uVar1 = FUN_70009730(param_1 >> 3,param_1 & 7); - return uVar1; -} - - - -void FUN_700099ac(uint param_1) - -{ - undefined4 uVar1; - int iVar2; - - iVar2 = (param_1 & 0xff) * 0x10; - uVar1 = *(undefined4 *)(&DAT_80063bf0 + iVar2); - *(undefined4 *)(iVar2 + -0x7ff9c404) = 0; - *(undefined4 *)(iVar2 + -0x7ff9c40c) = uVar1; - return; -} - - - -void FUN_700099d4(uint param_1) - -{ - int iVar1; - - loc_700098F4(); - iVar1 = (param_1 & 0xff) * 0x10; - if (*(int *)(iVar1 + -0x7ff9c40c) != 0) { - *(undefined4 *)(iVar1 + -0x7ff9c40c) = 0; - } - return; -} - - - -void swap_entries(undefined4 *param_1,undefined4 *param_2) - -{ - undefined4 uVar1; - undefined4 uVar2; - - uVar1 = *param_1; - uVar2 = param_1[1]; - *param_1 = *param_2; - param_1[1] = param_2[1]; - *param_2 = uVar1; - param_2[1] = uVar2; - return; -} - - - -void merge_alloc_entries(int param_1,undefined4 *param_2) - -{ - *(int *)(param_1 + 4) = *(int *)(param_1 + 4) + param_2[1]; - *param_2 = 0; - param_2[1] = 0; - return; -} - - - -undefined8 loc_70009AF4(int param_1) - -{ - uint uVar1; - uint *puVar2; - uint *puVar3; - uint *puVar4; - uint *puVar5; - uint uVar6; - undefined8 uVar7; - uint uVar8; - - puVar2 = (uint *)(param_1 + 0x10); - uVar7 = 0; - uVar6 = 0; - if (puVar2 <= (uint *)(param_1 + 0xfe8)) { - uVar1 = *(uint *)(param_1 + 0x14); - puVar4 = (uint *)(param_1 + 8); - while( true ) { - puVar5 = puVar4; - puVar3 = puVar2; - if (uVar1 != 0) { - uVar1 = *puVar2; - if (uVar1 < uVar6) { - swap_entries(puVar2,puVar4); - uVar1 = *puVar2; - uVar8 = puVar4[1]; - } - else { - uVar8 = puVar4[1]; - } - uVar8 += uVar6; - uVar6 = uVar1; - puVar5 = puVar2; - puVar3 = puVar2; - if (uVar1 == uVar8) { - uVar7 = 1; - merge_alloc_entries((int)puVar4,puVar2); - uVar6 = *puVar4; - puVar5 = puVar4; - puVar3 = puVar4; - } - } - puVar2 = puVar3 + 2; - if ((uint *)(param_1 + 0xfe8) < puVar2) break; - uVar1 = puVar3[3]; - puVar4 = puVar5; - } - } - return uVar7; -} - - - -void FUN_70009b28(void) - -{ - longlong lVar1; - - lVar1 = loc_70009AF4((int)&DAT_80063c68); - while (lVar1 != 0) { - lVar1 = loc_70009AF4((int)&DAT_80063c68); - } - return; -} - - - -uint * loc_70009C58(int param_1) - -{ - uint uVar1; - uint *puVar2; - uint *puVar3; - uint uVar4; - uint uVar5; - uint *puVar6; - uint *puVar7; - int iVar8; - - puVar6 = (uint *)(param_1 + 0x10); - puVar7 = (uint *)(param_1 + 0xfe8); - iVar8 = 0; - puVar2 = puVar6; - while( true ) { - while (puVar3 = puVar2, puVar7 < puVar3) { - iVar8 += 1; - puVar2 = puVar6; - if (0x1fb < iVar8) { - if (puVar7 < puVar6) { - return puVar6; - } - uVar1 = 0xffffffff; - uVar4 = *(uint *)(param_1 + 0x14); - puVar2 = puVar6; - while( true ) { - puVar3 = puVar6; - if (uVar1 <= uVar4) { - uVar4 = uVar1; - puVar3 = puVar2; - } - if (puVar7 < puVar6 + 2) break; - uVar1 = uVar4; - uVar4 = puVar6[3]; - puVar6 = puVar6 + 2; - puVar2 = puVar3; - } - return puVar3; - } - } - uVar4 = puVar3[1]; - if (uVar4 == 0) break; - uVar1 = puVar3[2]; - if (uVar1 < *puVar3) { - swap_entries(puVar3,puVar3 + 2); - uVar4 = puVar3[1]; - uVar1 = puVar3[2]; - uVar5 = *puVar3 + uVar4; - } - else { - uVar5 = *puVar3 + uVar4; - } - puVar2 = puVar3 + 2; - if (uVar1 == uVar5) { - uVar1 = puVar3[3]; - puVar3[2] = 0; - puVar3[3] = 0; - puVar3[1] = uVar4 + uVar1; - return puVar3 + 2; - } - } - return puVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70009c84(uint param_1,uint param_2) - -{ - uint *puVar1; - uint *puVar2; - uint *puVar3; - int iVar4; - uint uVar5; - int iVar6; - - iVar6 = (param_1 - _DAT_80063c60) * 0x1fc; - iVar4 = (iVar6 / _DAT_80063c64) * 8; - puVar3 = (uint *)(&DAT_80063c78 + iVar4); - if (_DAT_80063c64 == 0) { - trap(0x1c00); - } - if ((_DAT_80063c64 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - if (*(int *)(&DAT_80063c7c + iVar4) == 0) { - uVar5 = *puVar3; - puVar1 = puVar3; - } - else { - uVar5 = *(uint *)(&DAT_80063c84 + iVar4); - puVar2 = puVar3; - while (puVar1 = puVar2 + 2, uVar5 != 0) { - uVar5 = puVar2[5]; - puVar2 = puVar1; - } - uVar5 = *puVar1; - } - if (uVar5 == 0xffffffff) { - puVar1 = puVar3; - if (*(int *)(&DAT_80063c7c + iVar4) != 0) { - uVar5 = *(uint *)(&DAT_80063c74 + iVar4); - while (puVar1 = puVar3 + -2, uVar5 != 0) { - uVar5 = puVar3[-3]; - puVar3 = puVar1; - } - } - if (*puVar1 == 0) { - puVar1 = loc_70009C58((int)&DAT_80063c68); - } - } - *puVar1 = param_1; - puVar1[1] = param_2; - return; -} - - - -void FUN_70009d7c(void) - -{ - loc_70004E88(&DAT_80024490,(byte *)s_mema_c_debug_80029210); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70009da8(undefined4 param_1,undefined4 param_2) - -{ - undefined4 *puVar1; - - _DAT_80064c58 = 0xffffffff; - _DAT_80064c60 = 0xffffffff; - _DAT_80063c68 = 0; - _DAT_80063c6c = 0; - _DAT_80063c70 = 0; - _DAT_80063c74 = 0; - _DAT_80064c5c = 0; - _DAT_80064c64 = 0xffffffff; - puVar1 = (undefined4 *)&DAT_80063c78; - do { - puVar1 = puVar1 + 2; - *puVar1 = 0; - puVar1[1] = 0; - puVar1 = puVar1; - } while (puVar1 < (undefined4 *)0x80064c51); - _DAT_80063c60 = param_1; - _DAT_80063c64 = param_2; - _DAT_80063c78 = param_1; - _DAT_80063c7c = param_2; - return; -} - - - -void FUN_70009e20(void) - -{ - loc_70009AF4((int)&DAT_80063c68); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_70009F84(uint param_1) - -{ - int iVar1; - uint uVar2; - int *piVar3; - uint uVar4; - int iVar5; - int *piVar6; - - piVar6 = (int *)&DAT_80063c78; - uVar4 = 0xffffffff; - piVar3 = NULL; - iVar5 = 0; - do { - iVar5 += 1; - uVar2 = piVar6[1] - param_1; - if (param_1 <= (uint)piVar6[1]) { - if ((*piVar6 == -1) || - ((uVar2 < uVar4 && - ((piVar3 = piVar6, uVar2 < 0x40 || (uVar4 = uVar2, piVar3 = piVar6, uVar2 < param_1 >> 2)) - )))) break; - } - piVar6 = piVar6 + 2; - } while (iVar5 != 0x10); - if (piVar3 == NULL) { - iVar5 = 0; - piVar3 = piVar6; - if ((uint)piVar6[1] < param_1) { - uVar4 = piVar6[3]; - while (piVar3 = piVar6 + 2, uVar4 < param_1) { - uVar4 = piVar6[5]; - piVar6 = piVar3; - } - } - if (*piVar3 == -1) { - piVar3 = (int *)&DAT_80063c78; - do { - loc_70009AF4((int)&DAT_80063c68); - iVar5 += 1; - } while (iVar5 != 8); - uVar4 = _DAT_80063c84; - iVar5 = _DAT_80063c78; - piVar6 = piVar3; - if (_DAT_80063c7c < param_1) { - while (piVar3 = piVar6 + 2, uVar4 < param_1) { - uVar4 = piVar6[5]; - piVar6 = piVar3; - } - iVar5 = *piVar3; - } - if (iVar5 == -1) { - return 0; - } - } - iVar5 = *piVar3; - } - else { - iVar5 = *piVar3; - } - iVar1 = piVar3[1]; - *piVar3 = iVar5 + param_1; - piVar3[1] = iVar1 - param_1; - if (iVar1 - param_1 == 0) { - *piVar3 = 0; - } - return iVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_70009fb8(int param_1,uint param_2) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = (int *)&DAT_80063c78; - iVar2 = _DAT_80063c78; - if (_DAT_80063c78 != -1) { - do { - if (param_1 == iVar2) { - if (param_2 <= (uint)piVar1[1]) { - iVar3 = piVar1[1] - param_2; - *piVar1 = iVar2 + param_2; - piVar1[1] = iVar3; - if (iVar3 == 0) { - *piVar1 = 0; - } - return param_1; - } - iVar2 = piVar1[2]; - } - else { - iVar2 = piVar1[2]; - } - piVar1 = piVar1 + 2; - } while (iVar2 != -1); - } - return 0; -} - - - -void FUN_7000a030(uint param_1,uint param_2) - -{ - FUN_70009c84(param_1,param_2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -byte * FUN_7000a110(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4) - -{ - int *piVar1; - int *piVar2; - byte *pbVar3; - byte *pbVar4; - byte *pbVar5; - int iVar6; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - longlong lVar7; - longlong extraout_a3; - longlong extraout_a3_00; - undefined *puVar8; - undefined *puVar9; - uint uVar10; - byte *pbVar11; - int iVar12; - int iVar13; - undefined auStack4116 [4116]; - - lVar7 = (longlong)param_4; - pbVar5 = &DAT_80000000; - uVar10 = 0; - puVar8 = &DAT_80063c78; - pbVar4 = NULL; - if (_DAT_80063c78 != -1) { - do { - piVar1 = (int *)(puVar8 + 8); - piVar2 = (int *)(puVar8 + 4); - puVar8 = puVar8 + 8; - pbVar4 = pbVar4 + *piVar2; - } while (*piVar1 != -1); - } - puVar8 = auStack4116; - iVar6 = _DAT_80063c78; - while( true ) { - puVar9 = &DAT_80063c78; - iVar12 = 0; - pbVar11 = NULL; - pbVar3 = _DAT_80063c7c; - if (iVar6 != -1) break; -LAB_7000a1d4: - pbVar5 = pbVar11; - if (iVar12 == 0) { - if (200 < (int)uVar10) { - pbVar4 = sprintf((int)puVar8,(byte *)s___d__80029228,uVar10,(int)lVar7); - } - return pbVar4; - } - puVar9 = &DAT_80063c78; - pbVar11 = _DAT_80063c7c; - if (iVar6 != -1) { - while( true ) { - pbVar4 = pbVar11; - if (pbVar5 == pbVar4) { - if ((int)uVar10 < 200) { - pbVar4 = sprintf((int)puVar8,(byte *)s__d_80029220,(uint)(pbVar4 + 0x200) >> 10, - (int)lVar7); - puVar8 = puVar8 + (int)pbVar4; - param_3 = extraout_a2; - lVar7 = extraout_a3; - } - else { - if (uVar10 == 200) { - pbVar4 = sprintf((int)puVar8,(byte *)s_____80029224,(uint)param_3,(int)lVar7); - puVar8 = puVar8 + (int)pbVar4; - param_3 = extraout_a2_00; - lVar7 = extraout_a3_00; - } - } - uVar10 += 1; - iVar12 = *(int *)(puVar9 + 8); - } - else { - iVar12 = *(int *)(puVar9 + 8); - } - iVar6 = _DAT_80063c78; - if (iVar12 == -1) break; - pbVar11 = *(byte **)(puVar9 + 0xc); - puVar9 = puVar9 + 8; - } - } - } - do { - pbVar4 = pbVar3; - if (pbVar4 < pbVar5) { - if (pbVar11 < pbVar4) { - iVar12 += 1; - pbVar11 = pbVar4; - goto LAB_7000a1c4; - } - iVar13 = *(int *)(puVar9 + 8); - } - else { -LAB_7000a1c4: - iVar13 = *(int *)(puVar9 + 8); - } - if (iVar13 == -1) goto LAB_7000a1d4; - pbVar3 = *(byte **)(puVar9 + 0xc); - puVar9 = puVar9 + 8; - } while( true ); -} - - - -byte * FUN_7000a2ac(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) - -{ - byte *pbVar1; - undefined8 extraout_a0; - undefined8 extraout_a1; - undefined8 extraout_a2; - undefined4 extraout_a3_lo; - int iVar2; - - FUN_7000a110(param_1,param_2,param_3,param_4); - iVar2 = 0; - do { - loc_70009AF4((int)&DAT_80063c68); - iVar2 += 1; - } while (iVar2 != 0x1fc); - pbVar1 = FUN_7000a110(extraout_a0,extraout_a1,extraout_a2,extraout_a3_lo); - return pbVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000a308(undefined *param_1) - -{ - undefined *puVar1; - int iVar2; - int iVar3; - - puVar1 = &DAT_80063c78; - iVar2 = _DAT_80063c78; - iVar3 = _DAT_80063c7c; - if (_DAT_80063c78 != -1) { - while( true ) { - (*(code *)param_1)(iVar2 + iVar3,puVar1); - if (*(int *)(puVar1 + 8) == -1) break; - iVar2 = *(int *)(puVar1 + 8); - iVar3 = *(int *)(puVar1 + 0xc); - puVar1 = puVar1 + 8; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7000a380(void) - -{ - uint uVar1; - undefined *puVar2; - uint uVar3; - int iVar4; - - FUN_70009b28(); - uVar3 = 0; - puVar2 = &DAT_80063c78; - uVar1 = _DAT_80063c7c; - if (_DAT_80063c78 != -1) { - while( true ) { - if (uVar3 < uVar1) { - iVar4 = *(int *)(puVar2 + 8); - uVar3 = uVar1; - } - else { - iVar4 = *(int *)(puVar2 + 8); - } - if (iVar4 == -1) break; - uVar1 = *(uint *)(puVar2 + 0xc); - puVar2 = puVar2 + 8; - } - } - if (uVar3 == 0) { - uVar3 = 0; - } - return uVar3; -} - - - -undefined8 FUN_7000a3ec(int param_1,ulonglong param_2,ulonglong param_3) - -{ - int iVar2; - undefined8 uVar1; - int iVar3; - - iVar3 = (int)param_3; - iVar2 = (int)param_2; - if (param_2 < param_3) { - iVar2 = FUN_70009fb8(param_1 + iVar2,iVar3 - iVar2); - if (iVar2 == 0) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - else { - if (param_3 < param_2) { - FUN_7000a030(param_1 + iVar3,iVar2 - iVar3); - } - uVar1 = 1; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7000a460(void) - -{ - _DAT_800244a0 = - ((_DAT_800244a0 << 0x3f) >> 0x1f | (_DAT_800244a0 << 0x1f) >> 0x20) ^ - (_DAT_800244a0 << 0x2c) >> 0x20; - _DAT_800244a0 = _DAT_800244a0 >> 0x14 & 0xfff ^ _DAT_800244a0; - return (int)_DAT_800244a0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000a4a8(longlong param_1) - -{ - _DAT_800244a0 = param_1 + 1; - return; -} - - - -undefined4 lotsa_shifting_randomizer_related(ulonglong *param_1) - -{ - ulonglong uVar1; - - uVar1 = *param_1; - uVar1 = ((uVar1 << 0x3f) >> 0x1f | (uVar1 << 0x1f) >> 0x20) ^ (uVar1 << 0x2c) >> 0x20; - uVar1 = uVar1 >> 0x14 & 0xfff ^ uVar1; - *param_1 = uVar1; - return (int)uVar1; -} - - - -byte * FUN_7000a500(byte *param_1) - -{ - byte bVar1; - byte *pbVar2; - - DAT_800244b4 = s__80029230; - DAT_800244b0 = 1; - bVar1 = *param_1; - while (bVar1 != 0) { - if (bVar1 == 0x20) { - bVar1 = param_1[1]; - pbVar2 = param_1; - while( true ) { - *pbVar2 = 0; - param_1 = pbVar2 + 1; - if (bVar1 != 0x20) break; - bVar1 = pbVar2[2]; - pbVar2 = param_1; - } - } - *(byte **)(&DAT_800244b4 + DAT_800244b0) = param_1; - DAT_800244b0 += 1; - bVar1 = *param_1; - if (0x20 < bVar1) { - bVar1 = param_1[1]; - pbVar2 = param_1; - while (param_1 = pbVar2 + 1, 0x20 < bVar1) { - bVar1 = pbVar2[2]; - pbVar2 = param_1; - } - } - } - return param_1; -} - - - -byte * FUN_7000a59c(char *param_1) - -{ - byte *pbVar1; - - locret_7000A798(&DAT_80064c70,param_1); - pbVar1 = FUN_7000a500(&DAT_80064c70); - return pbVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint check_boot_switches(void) - -{ - longlong lVar1; - byte *pbVar2; - undefined4 *puVar3; - uint uVar4; - uint uStack16; - - uVar4 = 0xffb000; - lVar1 = rmon_debug_is_final_build(); - if (lVar1 == 0) { - puVar3 = (undefined4 *)&DAT_80064c70; - do { - FUN_70013850(uVar4,puVar3); - puVar3 = puVar3 + 1; - uVar4 += 4; - } while (puVar3 != (undefined4 *)0x80064ef0); - } - else { - _DAT_80064c70 = 0; - } - FUN_7000a500(&DAT_80064c70); - pbVar2 = loc_7000A740(1,(byte *)s__d_80029234); - uStack16 = (uint)(pbVar2 != NULL); - pbVar2 = loc_7000A740(1,(byte *)s__s_80029238); - if (pbVar2 != NULL) { - DAT_80024438 = 1; - } - pbVar2 = loc_7000A740(1,(byte *)s__j_8002923c); - if (pbVar2 != NULL) { - DAT_80048500 = 1; - } - return uStack16; -} - - - -byte * loc_7000A740(int param_1,byte *param_2) - -{ - char *pcVar2; - longlong lVar1; - byte **ppbVar3; - int iVar4; - - pcVar2 = locret_7001389C((char *)param_2); - iVar4 = 1; - if (1 < DAT_800244b0) { - ppbVar3 = (byte **)&DAT_800244b8; - do { - lVar1 = loc_7000A8E8(param_2,*ppbVar3,(longlong)(int)pcVar2); - if ((lVar1 == 0) && (param_1 += -1, param_1 == 0)) { - return *ppbVar3 + (int)pcVar2; - } - iVar4 += 1; - ppbVar3 = ppbVar3 + 1; - } while (iVar4 < DAT_800244b0); - } - return NULL; -} - - - -char * locret_7000A798(char *param_1,char *param_2) - -{ - char cVar1; - char *pcVar2; - - cVar1 = *param_2; - param_2 = param_2 + 1; - *param_1 = cVar1; - pcVar2 = param_1 + 1; - while (cVar1 != '\0') { - cVar1 = *param_2; - param_2 = param_2 + 1; - *pcVar2 = cVar1; - pcVar2 = pcVar2 + 1; - } - return param_1; -} - - - -char * locret_7000A7F4(char *param_1,char *param_2,int param_3) - -{ - char cVar1; - char *pcVar2; - - cVar1 = *param_2; - param_2 = param_2 + 1; - *param_1 = cVar1; - pcVar2 = param_1 + 1; - while ((cVar1 != '\0' && (param_3 += -1, param_3 != 0))) { - cVar1 = *param_2; - param_2 = param_2 + 1; - *pcVar2 = cVar1; - pcVar2 = pcVar2 + 1; - } - while (param_3 != 0) { - param_3 += -1; - *pcVar2 = '\0'; - pcVar2 = pcVar2 + 1; - } - return param_1; -} - - - -char * locret_7000A844(char *param_1,char *param_2) - -{ - char cVar1; - char *pcVar2; - char *pcVar3; - - if (*param_1 == '\0') { - cVar1 = *param_2; - pcVar3 = param_1; - } - else { - cVar1 = param_1[1]; - pcVar2 = param_1; - while (pcVar3 = pcVar2 + 1, cVar1 != '\0') { - cVar1 = pcVar2[2]; - pcVar2 = pcVar3; - } - cVar1 = *param_2; - } - param_2 = param_2 + 1; - *pcVar3 = cVar1; - while (cVar1 != '\0') { - pcVar3 = pcVar3 + 1; - cVar1 = *param_2; - param_2 = param_2 + 1; - *pcVar3 = cVar1; - } - return param_1; -} - - - -undefined8 loc_7000A888(byte *param_1,byte *param_2) - -{ - byte bVar1; - undefined8 uVar2; - - bVar1 = *param_1; - if (bVar1 == *param_2) { - if (bVar1 == 0) { - return 0; - } - uVar2 = loc_7000A888(param_1 + 1,param_2 + 1); - return uVar2; - } - if (bVar1 < *param_2) { - return 0xffffffffffffffff; - } - return 1; -} - - - -undefined8 loc_7000A8E8(byte *param_1,byte *param_2,longlong param_3) - -{ - byte bVar1; - undefined8 uVar2; - - if (param_3 == 0) { - return 0; - } - bVar1 = *param_1; - if (bVar1 != *param_2) { - if (bVar1 < *param_2) { - return 0xffffffffffffffff; - } - return 1; - } - if (bVar1 == 0) { - return 0; - } - uVar2 = loc_7000A8E8(param_1 + 1,param_2 + 1,(longlong)((int)param_3 + -1)); - return uVar2; -} - - - -uint loc_7000A924(uint param_1) - -{ - param_1 &= 0xff; - if ((0x60 < param_1) && (param_1 < 0x7b)) { - return param_1 - 0x20 & 0xff; - } - return param_1; -} - - - -ulonglong locret_7000A948(byte param_1) - -{ - ulonglong uVar1; - - uVar1 = (ulonglong)(param_1 < 0x30) ^ 1; - if (uVar1 != 0) { - uVar1 = (ulonglong)(param_1 < 0x3a); - } - return uVar1; -} - - - -ulonglong locret_7000A984(byte param_1) - -{ - ulonglong uVar1; - - if (((param_1 < 0x61) || (uVar1 = (ulonglong)(param_1 < 0x7b), param_1 >= 0x7b)) && - (uVar1 = (ulonglong)(param_1 < 0x41) ^ 1, uVar1 != 0)) { - uVar1 = (ulonglong)(param_1 < 0x5b); - } - return uVar1; -} - - - -ulonglong locret_7000A9D8(char param_1) - -{ - ulonglong uVar1; - - uVar1 = (ulonglong)(param_1 == ' '); - if ((((param_1 != ' ') && (uVar1 = (ulonglong)(param_1 == '\t'), param_1 != '\t')) && - (uVar1 = (ulonglong)(param_1 == '\n'), param_1 != '\n')) && - (uVar1 = (ulonglong)(param_1 == '\f'), param_1 != '\f')) { - uVar1 = (ulonglong)(param_1 == '\v'); - } - return uVar1; -} - - - -uint loc_7000AC44(byte *param_1,byte **param_2,uint param_3) - -{ - byte *pbVar1; - bool bVar2; - bool bVar3; - ulonglong uVar4; - uint uVar6; - ulonglong uVar5; - byte bVar7; - uint uVar8; - byte *pbVar9; - byte *pbVar10; - - if ((((int)param_3 < 0) || (param_3 == 1)) || (0x24 < (int)param_3)) { - param_3 = 10; - bVar7 = *param_1; - } - else { - bVar7 = *param_1; - } - uVar4 = locret_7000A9D8(bVar7); - if (uVar4 == 0) { - bVar7 = *param_1; - pbVar9 = param_1; - } - else { - pbVar9 = param_1 + 1; - while (uVar4 = locret_7000A9D8(*pbVar9), uVar4 != 0) { - pbVar9 = pbVar9 + 1; - } - bVar7 = *pbVar9; - } - if (bVar7 != 0) { - if (bVar7 == 0x2d) { - bVar2 = true; - pbVar9 = pbVar9 + 1; - } - else { - if (bVar7 == 0x2b) { - bVar2 = false; - pbVar9 = pbVar9 + 1; - } - else { - bVar2 = false; - } - } - if (((param_3 == 0x10) && (*pbVar9 == 0x30)) && - (uVar6 = loc_7000A924((uint)pbVar9[1]), uVar6 == 0x58)) { - pbVar9 = pbVar9 + 2; - } - uVar4 = (ulonglong)*pbVar9; - if ((param_3 == 0) && (param_3 = 10, *pbVar9 == 0x30)) { - uVar6 = loc_7000A924((uint)pbVar9[1]); - param_3 = 8; - if (uVar6 == 0x58) { - pbVar9 = pbVar9 + 2; - param_3 = 0x10; - } - uVar4 = (ulonglong)*pbVar9; - } - bVar3 = false; - uVar6 = 0; - pbVar10 = pbVar9; - if (uVar4 != 0) { - do { - uVar5 = locret_7000A948((byte)uVar4); - if (uVar5 == 0) { - uVar5 = locret_7000A984((byte)uVar4); - if (uVar5 == 0) break; - uVar8 = loc_7000A924((uint)uVar4); - uVar8 -= 0x37; - } - else { - uVar8 = (uint)uVar4 - 0x30; - } - uVar8 &= 0xff; - if ((int)param_3 <= (int)uVar8) break; - if (param_3 == 0) { - trap(0x1c00); - } - if (0xffffffff / param_3 < uVar6) { -LAB_7000abc8: - bVar3 = true; - } - else { - if (uVar6 == 0xffffffff / param_3) { - if (param_3 == 0) { - trap(0x1c00); - } - if (0xffffffffU % param_3 < uVar8) goto LAB_7000abc8; - } - uVar6 = uVar6 * param_3 + uVar8; - } - pbVar1 = pbVar10 + 1; - uVar4 = (ulonglong)*pbVar1; - pbVar10 = pbVar10 + 1; - } while (*pbVar1 != 0); - } - if (pbVar10 != pbVar9) { - if (param_2 != NULL) { - *param_2 = pbVar10; - } - if (!bVar3) { - if (bVar2) { - return -uVar6; - } - return uVar6; - } - return 0xffffffff; - } - } - if (param_2 != NULL) { - *param_2 = param_1; - } - return 0; -} - - - -int sprintf(char *__s,char *__format,...) - -{ - char *pcVar1; - int in_a2_lo; - - pcVar1 = locret_70013874(__s,(int)__format); - return (int)(pcVar1 + in_a2_lo); -} - - - -byte * sprintf(int param_1,byte *param_2,uint param_3,undefined4 param_4) - -{ - byte *pbVar1; - uint uStackX8; - undefined4 uStackX12; - - uStackX8 = param_3; - uStackX12 = param_4; - pbVar1 = loc_70014574(sprintf,(longlong)param_1,param_2,&uStackX8); - if (-1 < (int)pbVar1) { - pbVar1[param_1] = 0; - } - return pbVar1 + -1; -} - - - -void start_pi_manager(void) - -{ - osCreatePiManager((int *)0x96,(undefined4 *)0x80064f10,0x80064ef0,8); - return; -} - - - -void removed_7000ad30(void) - -{ - return; -} - - - -void FUN_7000ad48(void) - -{ - loc_70004E88(&DAT_80024540,(byte *)s_vi_c_debug_80029240); - osCreateMesgQueue((undefined4 *)0x80064f50,0x80064f30,8); - return; -} - - - -void FUN_7000adb0(void) - -{ - return; -} - - - -void FUN_7000adb8(void) - -{ - return; -} - - - -void FUN_7000adc0(void) - -{ - loc_7000AF2C(); - return; -} - - - -void loc_7000AEA8(int param_1,int param_2,undefined param_3) - -{ - int *piVar1; - int iVar2; - int iVar3; - undefined *puVar4; - undefined uVar5; - uint uVar6; - - puVar4 = &DAT_80026650; - iVar2 = 0; - iVar3 = 0; - do { - uVar5 = (undefined)iVar2; - piVar1 = (int *)(puVar4 + 4); - puVar4 = puVar4 + 8; - if ((DAT_800268ec == *piVar1) && (DAT_800268f4 == *(int *)((int)&DAT_80026754 + iVar3))) - goto LAB_7000aeb8; - iVar2 += 1; - iVar3 += 8; - } while (iVar2 < 0x20); - *(undefined4 *)(&DAT_80026650 + DAT_80026850 * 8) = DAT_800268e8; - uVar6 = DAT_80026850 + 1; - (&DAT_80026654)[DAT_80026850 * 2] = DAT_800268ec; - *(undefined4 *)(&DAT_80026750 + DAT_80026850 * 8) = DAT_800268f0; - (&DAT_80026754)[DAT_80026850 * 2] = DAT_800268f4; - DAT_80026850 = uVar6 & 0x1f; - if (((int)uVar6 < 0) && (DAT_80026850 != 0)) { - DAT_80026850 -= 0x20; - } - uVar5 = (undefined)DAT_80026850; -LAB_7000aeb8: - iVar2 = param_1 * 0x46 + param_2 * 2; - (&DAT_80025070)[iVar2] = param_3; - (&DAT_80025071)[iVar2] = uVar5; - return; -} - - - -void FUN_7000aeec(void) - -{ - DAT_80024fe8 = DAT_80024fe0; - DAT_80024fec = DAT_80024fe4; - return; -} - - - -void loc_7000AF2C(void) - -{ - int iVar1; - int iVar2; - - iVar2 = 0; - do { - iVar1 = 0; - do { - loc_7000AEA8(iVar1,iVar2,0); - iVar1 += 1; - } while (iVar1 != 0x50); - iVar2 += 1; - } while (iVar2 != 0x23); - FUN_7000aeec(); - FUN_7000adb0(); - DAT_80026850 = 0; - return; -} - - - -void FUN_7000af94(void) - -{ - return; -} - - - -int loc_7000B018(int param_1) - -{ - bool bVar1; - int iVar2; - int iVar3; - - iVar3 = 0x21; - param_1 += 0x21; - do { - if ((param_1 < 0) || (iVar2 = 0, 0x22 < param_1)) { - iVar2 = 0; - do { - loc_7000AEA8(iVar2,iVar3,0); - iVar2 += 1; - } while (iVar2 != 0x50); - } - else { - do { - FUN_7000af94(); - iVar2 += 1; - } while (iVar2 != 0x50); - } - param_1 += -1; - bVar1 = iVar3 != 0; - iVar3 += -1; - } while (bVar1); - return 0; -} - - - -void set_final_debug_text_positions(int param_1,int param_2) - -{ - DAT_80024fe8 = param_1 + DAT_80024fe0; - DAT_80024fec = param_2 + DAT_80024fe4; - return; -} - - - -void set_debug_text_color(int param_1,int param_2,int param_3,int param_4) - -{ - DAT_800268ec = param_1 << 0x18 | param_2 << 0x10 | param_3 << 8 | 0xffU - param_4; - return; -} - - - -void set_color_speedgraph(int param_1,int param_2,int param_3,int param_4) - -{ - DAT_800268f4 = param_1 << 0x18 | param_2 << 0x10 | param_3 << 8 | 0xffU - param_4; - return; -} - - - -// WARNING: Instruction at (ram,0x7000b130) overlaps instruction at (ram,0x7000b12c) -// - -void loc_7000B1B4(byte param_1) - -{ - short sVar1; - int iVar2; - - sVar1 = get_video2_settings_txtClipW(); - iVar2 = (int)sVar1 + -0xd; - if (iVar2 < 0) { - iVar2 = (int)sVar1 + -10; - } - sVar1 = get_video2_settings_txtClipH(); - if ((param_1 == 0) || ((0x1f < param_1 && (param_1 < 0x7f)))) { - loc_7000AEA8(DAT_80024fe8,DAT_80024fec,param_1); - } - DAT_80024fe8 += 1; - if (((param_1 == 0xd) || (param_1 == 10)) || (iVar2 >> 2 <= DAT_80024fe8)) { - DAT_80024fec += 1; - DAT_80024fe8 = DAT_80024fe0; - if (((int)sVar1 + -10) / 7 <= DAT_80024fec) { - DAT_80024fec = DAT_80024fe4; - } - } - return; -} - - - -void FUN_7000b1d0(int param_1,int param_2,byte param_3) - -{ - set_final_debug_text_positions(param_1,param_2); - loc_7000B1B4(param_3); - return; -} - - - -void write_string_stdout(byte *param_1) - -{ - byte bVar1; - - bVar1 = *param_1; - while (bVar1 != 0) { - param_1 = param_1 + 1; - loc_7000B1B4(bVar1); - bVar1 = *param_1; - } - return; -} - - - -void FUN_7000b240(int param_1,int param_2,byte *param_3) - -{ - byte bVar1; - - set_final_debug_text_positions(param_1,param_2); - bVar1 = *param_3; - while (bVar1 != 0) { - param_3 = param_3 + 1; - loc_7000B1B4(bVar1); - bVar1 = *param_3; - } - return; -} - - - -uint * loc_7000B528(uint *param_1) - -{ - byte bVar1; - byte bVar2; - uint uVar3; - int iVar4; - char *pcVar5; - undefined1 *puVar6; - ulonglong uVar7; - int iVar8; - uint *puVar9; - int iVar10; - byte *pbVar11; - int iStack72; - - uVar7 = 0xffffffffffffffff; - iVar8 = 0; - puVar9 = param_1; - do { - puVar6 = &DAT_80025070; - pcVar5 = &DAT_80025070 + iVar8; - do { - puVar6 = puVar6 + 0x46; - if (*pcVar5 != '\0') { - if ((ulonglong)(byte)pcVar5[1] == uVar7) { - puVar9 = puVar9 + 6; - } - else { - puVar9 = puVar9 + 10; - uVar7 = (ulonglong)(byte)pcVar5[1]; - } - } - pcVar5 = pcVar5 + 0x46; - } while (puVar6 != &DAT_80026650); - iVar8 += 2; - } while (iVar8 < 0x46); - iVar8 = FUN_7f0be32c((int)param_1); - puVar9 = (uint *)((int)puVar9 - (int)param_1); - iVar8 += -0x800; - if (0 < (int)puVar9) { - uVar7 = 0xffffffffffffffff; - if (iVar8 < 1) { - DAT_800268f8 = 0; - } - else { - if (iVar8 < (int)puVar9) { - DAT_800268f8 = (iVar8 * 0xff) / (int)puVar9; - if (puVar9 == NULL) { - trap(0x1c00); - } - if ((puVar9 == (uint *)0xffffffff) && (iVar8 * 0xff == -0x80000000)) { - trap(0x1800); - } - } - else { - DAT_800268f8 = 0x100; - } - } - *param_1 = 0x6000000; - param_1[1] = 0x80024ff0; - param_1 = param_1 + 2; - iStack72 = 0; - iVar8 = 0; - do { - iVar10 = 0; - pbVar11 = &DAT_80025070 + iStack72; - do { - bVar1 = *pbVar11; - bVar2 = pbVar11[1]; - if (bVar1 != 0) { - uVar3 = (uint)bVar2; - puVar9 = param_1; - if ((ulonglong)bVar2 != uVar7) { - puVar9 = param_1 + 4; - *param_1 = *(uint *)(&DAT_80026650 + uVar3 * 8); - param_1[1] = (&DAT_80026654)[uVar3 * 2]; - param_1[2] = *(uint *)(&DAT_80026750 + uVar3 * 8); - param_1[3] = (&DAT_80026754)[uVar3 * 2]; - uVar7 = (ulonglong)bVar2; - } - uVar3 = FUN_7000a460(); - param_1 = puVar9; - if (((uVar3 & 0xff) < DAT_800268f8) && - (iVar4 = FUN_7f0be32c((int)puVar9), param_1 = puVar9, 0x3ff < iVar4)) { - uVar3 = (uint)bVar1 - 0x20; - *puVar9 = (iVar10 * 0x10 + 0x10U & 0xfff) << 0xc | 0xe4000000 | - iVar8 * 0x1c + 0x1cU & 0xfff; - puVar9[1] = (iVar10 * 0x10 & 0xfffU) << 0xc | iVar8 * 0x1c & 0xfffU; - puVar9[2] = 0xb4000000; - puVar9[3] = (uVar3 & 0x1f) << 0x17 | ((int)uVar3 >> 5) * 0xe0 & 0xffffU; - puVar9[4] = 0xb3000000; - puVar9[5] = 0x4000400; - param_1 = puVar9 + 6; - } - } - iVar10 += 1; - pbVar11 = pbVar11 + 0x46; - } while (iVar10 != 0x50); - iVar8 += 1; - iStack72 += 2; - } while (iVar8 != 0x23); - } - return param_1; -} - - - -void FUN_7000b570(void) - -{ - undefined2 *puVar1; - undefined2 *puVar2; - undefined2 *puVar3; - - loc_70004E88(&DAT_80026900,(byte *)s_joy_c_debug_800293d0); - osCreateMesgQueue((undefined4 *)0x800653b0,0x800653a8,1); - osCreateMesgQueue((undefined4 *)0x800653d0,0x800653c8,1); - osCreateMesgQueue((undefined4 *)0x800653f0,0x800653e8,1); - osCreateMesgQueue((undefined4 *)0x80065410,0x80065408,1); - osCreateMesgQueue((undefined4 *)0x80065390,0x80065368,10); - osSetEventMesg(5,0x80065390,0); - DAT_80026958 = 1; - DAT_80026964 = 0; - puVar3 = (undefined2 *)&DAT_80064f70; - DAT_80026968 = 0; - puVar1 = puVar3; - do { - *(undefined4 *)(puVar3 + 0xf0) = 0; - *(undefined4 *)(puVar3 + 0xf2) = 0; - *(undefined4 *)(puVar3 + 0xf4) = 0; - *(undefined4 *)(puVar3 + 0xf6) = 0; - *(undefined4 *)(puVar3 + 0xfc) = 0xffffffff; - puVar2 = puVar1 + 0xfe; - puVar3 = puVar3 + 0xfe; - *(undefined *)(puVar1 + 0xb) = 0; - *(undefined *)((int)puVar1 + 0x15) = 0; - *(undefined *)(puVar1 + 10) = 0; - puVar1[9] = 0; - *(undefined *)(puVar1 + 8) = 0; - *(undefined *)((int)puVar1 + 0xf) = 0; - *(undefined *)(puVar1 + 7) = 0; - puVar1[6] = 0; - *(undefined *)(puVar1 + 5) = 0; - *(undefined *)((int)puVar1 + 9) = 0; - *(undefined *)(puVar1 + 4) = 0; - puVar1[3] = 0; - *puVar1 = 0; - *(undefined *)(puVar1 + 1) = 0; - *(undefined *)((int)puVar1 + 3) = 0; - *(undefined *)(puVar1 + 2) = 0; - puVar1 = puVar2; - } while (puVar2 != (undefined2 *)0x80065368); - return; -} - - - -void FUN_7000b6bc(void) - -{ - undefined4 uStack4; - - if (DAT_80026958 != 0) { - osSendMesg((int **)0x800653b0,(int)&uStack4,0); - osRecvMesg(-0x7ff9ac30,&uStack4,1); - FUN_7000b820(); - osSendMesg((int **)0x800653f0,(int)&uStack4,0); - osRecvMesg(-0x7ff9abf0,&uStack4,1); - } - return; -} - - - -undefined8 osPfsChecker(void) - -{ - return 3; -} - - - -// WARNING: Instruction at (ram,0x7000b7e4) overlaps instruction at (ram,0x7000b7e0) -// - -void FUN_7000b744(uint param_1) - -{ - int iVar1; - uint *puVar2; - int *piVar3; - - piVar3 = &DAT_80026918 + param_1; - if (((-1 < *piVar3) && ((*(ushort *)(&DAT_80065428 + param_1 * 4) & 4) != 0)) && - ((*(byte *)(param_1 * 4 + -0x7ff9abd6) & 1) != 0)) { - puVar2 = (uint *)(param_1 * 0x68 + -0x7ff9abc8); - iVar1 = __osPfsGetStatus(0x80065390,puVar2,param_1); - if ((iVar1 == 10) || (iVar1 == 0xb)) { - iVar1 = loc_7000CE90(-0x7ff9ac70,puVar2,param_1); - if (iVar1 == 0) { - *piVar3 = 1; - } - else { - *piVar3 = -1; - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7000b990) overlaps instruction at (ram,0x7000b98c) -// - -void FUN_7000b820(void) - -{ - ulonglong uVar1; - byte bVar4; - int iVar2; - uint uVar3; - - if (DAT_8002696c == 0) { - bVar4 = 0xf; - osContGetQuery(-0x7ff9ac70); - osRecvMesg(-0x7ff9ac70,NULL,1); - FUN_70014d84((undefined2 *)&DAT_80065428); - if ((DAT_8006542b & 8) != 0) { - bVar4 = 0xe; - } - if ((DAT_8006542f & 8) != 0) { - bVar4 -= 2; - } - if ((DAT_80065433 & 8) != 0) { - bVar4 -= 4; - } - DAT_80026910 = bVar4; - if ((DAT_80065437 & 8) != 0) { - DAT_80026910 = bVar4 - 8; - } - } - else { - DAT_8002696c = 0; - __osPackRequestData(0xffffffff80065390,&DAT_80026910,&DAT_80065428); - DAT_8002695c = 1; - } - iVar2 = 1; - while ((int)(char)iVar2 < 4) { - iVar2 = (int)(char)iVar2 + 1; - } - uVar3 = 0; - do { - iVar2 = 1 << (uVar3 & 0x1f); - uVar1 = SEXT48(iVar2); - bVar4 = (byte)iVar2; - if (((((ulonglong)DAT_80026910 & uVar1) == 0) || - ((*(ushort *)(&DAT_80065428 + uVar3 * 4) & 3) == 0)) || ((&DAT_8006542b)[uVar3 * 4] != '\0') - ) { - if (((ulonglong)DAT_80026914 & uVar1) != 0) { - DAT_80026914 = DAT_80026914 ^ bVar4; - (&DAT_80026918)[uVar3] = 0; - } - } - else { - if ((((ulonglong)(DAT_80026914 == 0) & uVar1) != 0) || ((int)(&DAT_80026918)[uVar3] < 1)) { - FUN_7000b744(uVar3); - } - DAT_80026914 |= bVar4; - } - uVar3 = (int)((uVar3 + 1) * 0x1000000) >> 0x18; - } while ((int)uVar3 < 4); - return; -} - - - -undefined FUN_7000ba08(void) - -{ - if (-1 < *(int *)(DAT_80026904 + 0x1f8)) { - return (char)*(int *)(DAT_80026904 + 0x1f8); - } - if ((DAT_80026910 & 1) == 0) { - return 0; - } - if ((DAT_80026910 & 2) == 0) { - return 1; - } - if ((DAT_80026910 & 4) == 0) { - return 2; - } - if ((DAT_80026910 & 8) == 0) { - return 3; - } - return 4; -} - - - -ulonglong FUN_7000ba80(void) - -{ - return (ulonglong)DAT_80026910; -} - - - -void FUN_7000ba8c(void) - -{ - int iVar1; - undefined4 *puVar2; - int *piVar3; - int *piVar4; - uint uVar5; - int iVar6; - int *piVar7; - - piVar7 = &DAT_80026948; - piVar4 = &DAT_80026928; - piVar3 = &DAT_80026938; - uVar5 = 0; - iVar6 = 0; - do { - iVar1 = *piVar7; - if (*piVar4 != iVar1) { - puVar2 = (undefined4 *)(uVar5 * 0x68 + -0x7ff9abc8); - if (iVar1 == 1) { - iVar1 = FUN_7000caec((int)puVar2); - if (iVar1 == 0) { - *piVar4 = 1; - } - else { - *(undefined4 *)((int)&DAT_80026918 + iVar6) = 0; - } - } - else { - if (iVar1 == 2) { - iVar1 = loc_7000CE90(-0x7ff9ac70,puVar2,uVar5); - if (iVar1 != 0) { - *(undefined4 *)((int)&DAT_80026918 + iVar6) = 0; - } - FUN_7000c9c0((int)puVar2); - *piVar4 = 0; - *piVar7 = 0; - } - else { - iVar1 = FUN_7000c9c0((int)puVar2); - if (iVar1 == 0) { - *piVar4 = 0; - } - else { - *(undefined4 *)((int)&DAT_80026918 + iVar6) = 0; - } - } - } - } - uVar5 += 1; - iVar6 += 4; - piVar4 = piVar4 + 1; - if (*piVar3 < 1) { - *piVar3 = 0; - } - else { - iVar1 = *piVar3 + -1; - *piVar3 = iVar1; - if (iVar1 < 1) { - *piVar3 = 0; - *piVar7 = 0; - } - } - piVar7 = piVar7 + 1; - piVar3 = piVar3 + 1; - } while (uVar5 != 4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000bc0c(undefined4 param_1,undefined4 param_2) - -{ - DAT_80026964 = param_1; - _DAT_80065364 = param_2; - return; -} - - - -void FUN_7000bc20(undefined4 param_1) - -{ - DAT_80026968 = param_1; - return; -} - - - -void loc_7000BCF0(int param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - iVar1 = 0; - *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0); - *(undefined4 *)(param_1 + 0x1e0) = *(undefined4 *)(param_1 + 0x1e8); - iVar4 = 0; - while( true ) { - iVar4 = param_1 + iVar4; - *(undefined2 *)(iVar4 + 0x1f0) = 0; - iVar3 = *(int *)(param_1 + 0x1e4) + 1; - if (*(int *)(param_1 + 0x1e4) != *(int *)(param_1 + 0x1e0)) { - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - while( true ) { - iVar2 = iVar3 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 + 0x13 == -0x80000000)) { - trap(0x1800); - } - *(ushort *)(iVar4 + 0x1f0) = - *(ushort *)(iVar4 + 0x1f0) | - *(ushort *)(param_1 + iVar2 * 0x18 + iVar1 * 6) & - ~*(ushort *)(param_1 + ((iVar2 + 0x13) % 0x14) * 0x18 + iVar1 * 6); - iVar3 = iVar2 + 1; - if (iVar2 == *(int *)(param_1 + 0x1e0)) break; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - } - } - iVar1 = (int)(char)((char)iVar1 + '\x01'); - if (3 < iVar1) break; - iVar4 = iVar1 << 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000bd70(void) - -{ - if (DAT_80026964 != NULL) { - _DAT_80065354 = (*DAT_80026964)(&DAT_8006516c,_DAT_8006534c); - loc_7000BCF0((int)&DAT_8006516c); - } - loc_7000BCF0((int)&DAT_80064f70); - if (DAT_80026968 != NULL) { - (*DAT_80026968)(&DAT_80064f70,_DAT_80065154,_DAT_80065150); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong controllerSchedulerRelated(void) - -{ - longlong lVar1; - int iVar2; - int *piVar3; - int iVar4; - int *piVar5; - int *piVar6; - int *piVar7; - undefined4 uStack4; - - lVar1 = osRecvMesg(-0x7ff9ac50,&uStack4,0); - if (lVar1 == 0) { - if (DAT_80026908 != 0) { - osRecvMesg(-0x7ff9ac70,&uStack4,1); - DAT_80026908 = 0; - } - lVar1 = osSendMesg((int **)0x800653d0,(int)&uStack4,0); - DAT_8002690c += 1; - } - else { - lVar1 = osRecvMesg(-0x7ff9ac10,&uStack4,0); - if (lVar1 == 0) { - osContGetReadData(-0x7ff9ac70); - DAT_80026908 = 1; - lVar1 = osSendMesg((int **)0x80065410,(int)&uStack4,0); - DAT_8002690c += -1; - } - else { - if (((DAT_8002690c == 0) && (DAT_8002695c != 0)) && - (lVar1 = osRecvMesg(-0x7ff9ac70,&uStack4,0), lVar1 == 0)) { - DAT_80026908 = 0; - iVar4 = (_DAT_80065158 + 1) % 0x14; - iVar2 = _DAT_80065158; - if (iVar4 != _DAT_80065154) { - iVar2 = iVar4; - } - FUN_70014e74((undefined2 *)(&DAT_80064f70 + iVar2 * 0x18)); - _DAT_8006515c = (iVar2 + 0x13) % 0x14; - DAT_80026960 += 1; - _DAT_80065158 = iVar2; - if (DAT_80026960 % 0x78 == 0) { - _DAT_80065158 = iVar2; - FUN_7000b820(); - } - iVar4 = 0; - do { - iVar2 = iVar4 * 6; - if ((((&DAT_80064f74)[_DAT_80065158 * 0x18 + iVar2] == '\0') && - ((&DAT_80064f74)[_DAT_8006515c * 0x18 + iVar2] != '\0')) || - (((&DAT_80064f74)[_DAT_80065158 * 0x18 + iVar2] != '\0' && - ((&DAT_80064f74)[_DAT_8006515c * 0x18 + iVar2] == '\0')))) { - FUN_7000b820(); - break; - } - iVar4 = (iVar4 + 1) * 0x1000000 >> 0x18; - } while (iVar4 < 4); - FUN_7000ba8c(); - iVar4 = osContGetReadData(-0x7ff9ac70); - lVar1 = (longlong)iVar4; - DAT_80026908 = 1; - DAT_800269b0 += 1; - if (0x3b < DAT_800269b0) { - piVar3 = &DAT_800269a0; - piVar6 = &DAT_80026990; - piVar5 = &DAT_80026980; - piVar7 = &DAT_80026970; - do { - if (*piVar7 == 0) { - if (*piVar5 != 0) { - *piVar7 = 0; - goto LAB_7000c0d8; - } - if (*piVar6 != 0) { - *piVar7 = 0; - goto LAB_7000c0d8; - } - if (*piVar3 != 0) { - *piVar7 = 0; - goto LAB_7000c0d8; - } - iVar4 = piVar7[1]; - } - else { - *piVar7 = 0; -LAB_7000c0d8: - *piVar5 = 0; - *piVar6 = 0; - *piVar3 = 0; - iVar4 = piVar7[1]; - } - lVar1 = (longlong)iVar4; - if (lVar1 == 0) { - if (piVar5[1] != 0) { - piVar7[1] = 0; - goto LAB_7000c118; - } - if (piVar6[1] != 0) { - piVar7[1] = 0; - goto LAB_7000c118; - } - if (piVar3[1] != 0) { - piVar7[1] = 0; - goto LAB_7000c118; - } - } - else { - piVar7[1] = 0; -LAB_7000c118: - piVar5[1] = 0; - piVar6[1] = 0; - piVar3[1] = 0; - } - piVar3 = piVar3 + 2; - piVar7 = piVar7 + 2; - piVar5 = piVar5 + 2; - piVar6 = piVar6 + 2; - } while (piVar3 != &DAT_800269b0); - DAT_800269b0 = 0; - } - } - } - } - return lVar1; -} - - - -undefined FUN_7000c150(char param_1) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(DAT_80026904 + 0x1f8) < 0) && - (((int)(uint)DAT_80026910 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_80026970)[uVar1] = (&DAT_80026970)[uVar1] + 1; - return 0; - } - return *(undefined *)(DAT_80026904 + *(int *)(DAT_80026904 + 0x1e0) * 0x18 + uVar1 * 6 + 2); -} - - - -undefined FUN_7000c1d8(char param_1) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(DAT_80026904 + 0x1f8) < 0) && - (((int)(uint)DAT_80026910 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_80026970)[uVar1] = (&DAT_80026970)[uVar1] + 1; - return 0; - } - return *(undefined *)(DAT_80026904 + *(int *)(DAT_80026904 + 0x1e4) * 0x18 + uVar1 * 6 + 2); -} - - - -undefined FUN_7000c260(char param_1) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(DAT_80026904 + 0x1f8) < 0) && - (((int)(uint)DAT_80026910 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_80026980)[uVar1] = (&DAT_80026980)[uVar1] + 1; - return 0; - } - return *(undefined *)(DAT_80026904 + *(int *)(DAT_80026904 + 0x1e0) * 0x18 + uVar1 * 6 + 3); -} - - - -undefined FUN_7000c2e8(char param_1) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(DAT_80026904 + 0x1f8) < 0) && - (((int)(uint)DAT_80026910 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_80026980)[uVar1] = (&DAT_80026980)[uVar1] + 1; - return 0; - } - return *(undefined *)(DAT_80026904 + *(int *)(DAT_80026904 + 0x1e4) * 0x18 + uVar1 * 6 + 3); -} - - - -ulonglong FUN_7000c370(char param_1,ulonglong param_2) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(DAT_80026904 + 0x1f8) < 0) && - (((int)(uint)DAT_80026910 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_80026990)[uVar1] = (&DAT_80026990)[uVar1] + 1; - return 0; - } - return (ulonglong)*(ushort *)(DAT_80026904 + *(int *)(DAT_80026904 + 0x1e0) * 0x18 + uVar1 * 6) & - param_2 & 0xffff; -} - - - -ulonglong FUN_7000c410(char param_1,ulonglong param_2) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(DAT_80026904 + 0x1f8) < 0) && - (((int)(uint)DAT_80026910 >> (uVar1 & 0x1f) & 1U) == 0)) { - (&DAT_800269a0)[uVar1] = (&DAT_800269a0)[uVar1] + 1; - return 0; - } - return (ulonglong)*(ushort *)(DAT_80026904 + uVar1 * 2 + 0x1f0) & param_2 & 0xffff; -} - - - -void FUN_7000c4d4(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - - iVar3 = 0; - lVar1 = FUN_7000ba08(); - if (0 < lVar1) { - do { - iVar3 += 1; - iVar2 = FUN_7000ba08(); - } while (iVar3 < iVar2); - } - return; -} - - - -int FUN_7000c518(char param_1,int param_2,int param_3) - -{ - int iVar1; - - iVar1 = FUN_7000c150(param_1); - iVar1 += 0x3c; - if (0x78 < iVar1) { - iVar1 = 0x78; - } - if (iVar1 < 0) { - iVar1 = 0; - } - return (iVar1 * (param_3 - param_2)) / 0x78 + param_2; -} - - - -int FUN_7000c58c(char param_1,int param_2,int param_3) - -{ - int iVar1; - - iVar1 = FUN_7000c260(param_1); - iVar1 += 0x3c; - if (0x78 < iVar1) { - iVar1 = 0x78; - } - if (iVar1 < 0) { - iVar1 = 0; - } - return (iVar1 * (param_3 - param_2)) / 0x78 + param_2; -} - - - -float FUN_7000c600(char param_1,float param_2,float param_3) - -{ - undefined4 uVar1; - - uVar1 = FUN_7000c150(param_1); - return (float)(unkfloat1)uVar1; -} - - - -float FUN_7000c670(char param_1,float param_2,float param_3) - -{ - undefined4 uVar1; - - uVar1 = FUN_7000c260(param_1); - return (float)(unkfloat1)uVar1; -} - - - -void FUN_7000c6e0(void) - -{ - undefined4 uStack4; - - osSendMesg((int **)0x800653b0,(int)&uStack4,0); - osRecvMesg(-0x7ff9ac30,&uStack4,1); - return; -} - - - -void FUN_7000c720(void) - -{ - undefined4 uStack4; - - osSendMesg((int **)0x800653f0,(int)&uStack4,0); - osRecvMesg(-0x7ff9abf0,&uStack4,1); - return; -} - - - -undefined4 FUN_7000c760(void) - -{ - undefined4 uVar1; - - FUN_7000c6e0(); - uVar1 = osEepromProbe(-0x7ff9ac70); - FUN_7000c720(); - return uVar1; -} - - - -int FUN_7000c798(byte param_1,undefined *param_2) - -{ - int iVar1; - - FUN_7000c6e0(); - iVar1 = osEepromRead(-0x7ff9ac70,param_1,param_2); - FUN_7000c720(); - return iVar1; -} - - - -int FUN_7000c7dc(byte param_1,undefined *param_2) - -{ - int iVar1; - - FUN_7000c6e0(); - iVar1 = __osEepStatus(-0x7ff9ac70,param_1,param_2); - FUN_7000c720(); - return iVar1; -} - - - -undefined4 FUN_7000c820(byte param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uVar1; - - FUN_7000c6e0(); - uVar1 = osEepromLongRead(0xffffffff80065390,(ulonglong)param_1,param_2,param_3); - FUN_7000c720(); - return uVar1; -} - - - -undefined4 FUN_7000c86c(byte param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uVar1; - - FUN_7000c6e0(); - uVar1 = osEepromLongRead(0xffffffff80065390,(ulonglong)param_1,param_2,param_3); - FUN_7000c720(); - return uVar1; -} - - - -void FUN_7000c8b8(int param_1,float param_2) - -{ - if ((DAT_80026964 == 0) && (0 < (int)(&DAT_80026918)[param_1])) { - if ((int)(&DAT_80026938)[param_1] < (int)(param_2 * 60.00000000)) { - (&DAT_80026938)[param_1] = (int)(param_2 * 60.00000000); - } - if ((&DAT_80026928)[param_1] == 0) { - (&DAT_80026948)[param_1] = 1; - } - } - return; -} - - - -void reset_cont_rumble_detect(void) - -{ - DAT_80026948 = 2; - DAT_8002694c = 2; - DAT_80026950 = 2; - DAT_80026954 = 2; - return; -} - - - -void FUN_7000c96c(int param_1) - -{ - DAT_80026904 = &DAT_80064f70 + param_1 * 0x1fc; - return; -} - - - -int FUN_7000c9c0(int param_1) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 uStack52; - char cStack14; - int iStack8; - - FUN_70015ea0(); - DAT_80067d20 = 3; - __osSiRawStartDma(1,*(int *)(param_1 + 8) * 0x40 + 0x800655e0); - osRecvMesg(*(int *)(param_1 + 4),NULL,1); - __osSiRawStartDma(0,(uint)&DAT_80067db0); - osRecvMesg(*(int *)(param_1 + 4),NULL,1); - puVar3 = (undefined4 *)&DAT_80067db0; - iVar1 = *(int *)(param_1 + 8); - if ((iVar1 != 0) && (iVar2 = 0, puVar3 = (undefined4 *)&DAT_80067db0, 0 < iVar1)) { - do { - iVar2 += 1; - puVar3 = (undefined4 *)((int)puVar3 + 1); - } while (iVar2 < iVar1); - } - puVar6 = puVar3; - puVar4 = &uStack52; - do { - puVar7 = puVar6 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar5; - } while (puVar7 != puVar3 + 9); - *puVar5 = *puVar7; - iStack8 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((iStack8 == 0) && (cStack14 != '\0')) { - iStack8 = 4; - } - FUN_70015ee4(); - return iStack8; -} - - - -int FUN_7000caec(int param_1) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 uStack52; - char cStack14; - int iStack8; - - FUN_70015ea0(); - DAT_80067d20 = 3; - __osSiRawStartDma(1,*(int *)(param_1 + 8) * 0x40 + 0x800656e0); - osRecvMesg(*(int *)(param_1 + 4),NULL,1); - __osSiRawStartDma(0,(uint)&DAT_80067db0); - osRecvMesg(*(int *)(param_1 + 4),NULL,1); - puVar3 = (undefined4 *)&DAT_80067db0; - iVar1 = *(int *)(param_1 + 8); - if ((iVar1 != 0) && (iVar2 = 0, puVar3 = (undefined4 *)&DAT_80067db0, 0 < iVar1)) { - do { - iVar2 += 1; - puVar3 = (undefined4 *)((int)puVar3 + 1); - } while (iVar2 < iVar1); - } - puVar6 = puVar3; - puVar4 = &uStack52; - do { - puVar7 = puVar6 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar5; - } while (puVar7 != puVar3 + 9); - *puVar5 = *puVar7; - iStack8 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((iStack8 == 0) && (cStack14 != -0x15)) { - iStack8 = 4; - } - FUN_70015ee4(); - return iStack8; -} - - - -// WARNING: Instruction at (ram,0x7000ccf8) overlaps instruction at (ram,0x7000ccf4) -// - -void loc_7000CCDC(uint param_1,uint param_2,undefined *param_3,undefined4 *param_4) - -{ - undefined uVar1; - undefined4 *puVar2; - int iVar3; - uint uVar4; - uint uVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - undefined4 uStack12; - undefined4 uStack8; - undefined4 *puStack4; - - iVar3 = 0; - puVar2 = param_4; - do { - iVar3 += 1; - *puVar2 = 0; - puVar2 = puVar2 + 1; - } while (iVar3 < 0xf); - param_4[0xf] = 1; - uStack44 = 0xff; - uStack43 = 0x23; - uStack42 = 1; - uStack41 = 3; - puStack4 = param_4; - loc_70015FD0(param_2 & 0xffff); - puVar2 = (undefined4 *)&uStack44; - do { - uVar1 = *param_3; - puVar6 = (undefined4 *)((int)puVar2 + 1); - param_3 = param_3 + 1; - *(undefined *)((int)puVar2 + 6) = uVar1; - puVar2 = puVar6; - } while (puVar6 < &uStack12); - puVar2 = puStack4; - if ((param_1 != 0) && (uVar5 = 0, puVar2 = puStack4, 0 < (int)param_1)) { - if ((param_1 & 3) == 0) goto LAB_7000ccf8; - do { - uVar4 = uVar5; - uVar4 = uVar4 + 1; - *(undefined *)puStack4 = 0; - puStack4 = (undefined4 *)((int)puStack4 + 1); - uVar5 = uVar4; - } while ((param_1 & 3) != uVar4); - uVar5 = uVar4 + 5; - puVar2 = puStack4; - if (uVar4 != param_1) { - while( true ) { - *(undefined *)((int)puStack4 + 1) = 0; - *(undefined *)((int)puStack4 + 2) = 0; - *(undefined *)((int)puStack4 + 3) = 0; - puVar2 = puStack4 + 1; - *(undefined *)puStack4 = 0; - puStack4 = puVar2; - if (uVar5 == param_1) break; -LAB_7000ccf8: - uVar5 += 4; - } - } - } - puVar6 = puVar2; - puVar8 = (undefined4 *)&uStack44; - do { - puVar9 = puVar8 + 3; - puVar7 = puVar6 + 3; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar6 = puVar7; - puVar8 = puVar9; - } while (puVar9 != &uStack8); - *puVar7 = *puVar9; - *(undefined *)(puVar2 + 10) = 0xfe; - return; -} - - - -int loc_7000CE90(int param_1,undefined4 *param_2,uint param_3) - -{ - byte *pbVar1; - int iVar2; - undefined *puVar3; - undefined *puVar4; - byte abStack40 [31]; - char cStack9; - byte abStack8 [8]; - - param_2[1] = param_1; - param_2[2] = param_3; - *param_2 = 0; - *(undefined *)((int)param_2 + 0x65) = 0x80; - pbVar1 = abStack40; - do { - pbVar1 = pbVar1 + 1; - *pbVar1 = 0x80; - pbVar1 = pbVar1; - } while (pbVar1 < abStack8); - iVar2 = __osContRamWrite(param_1,param_3,0x400,abStack40,0); - if (iVar2 == 2) { - iVar2 = __osContRamWrite(param_1,param_3,0x400,abStack40,0); - } - if ((iVar2 == 0) && (iVar2 = __osContRamRead(param_1,param_3,0x400,abStack40), iVar2 == 0)) { - if (cStack9 == -0x80) { - puVar4 = &DAT_80065800; - puVar3 = &DAT_800657e0; - do { - puVar3 = puVar3 + 4; - puVar4[1] = 1; - puVar3[1] = 0; - puVar4[2] = 1; - puVar3[2] = 0; - puVar4[3] = 1; - puVar3[3] = 0; - *puVar4 = 1; - *puVar3 = 0; - puVar4 = puVar4 + 4; - puVar3 = puVar3; - } while (puVar3 != &DAT_80065800); - loc_7000CCDC(param_3,0x600,&DAT_80065800,(undefined4 *)(param_3 * 0x40 + -0x7ff9a920)); - loc_7000CCDC(param_3,0x600,&DAT_800657e0,(undefined4 *)(param_3 * 0x40 + -0x7ff9aa20)); - iVar2 = 0; - } - else { - iVar2 = 0xb; - } - } - return iVar2; -} - - - -undefined8 rmon_debug_is_final_build(void) - -{ - return 1; -} - - - -undefined8 rmon_debug_returns_neg_1(void) - -{ - return 0xffffffffffffffff; -} - - - -void FUN_7000cef8(void) - -{ - return; -} - - - -void FUN_7000cf00(void) - -{ - return; -} - - - -undefined8 loc_7000CF28(undefined8 param_1,byte *param_2,int param_3) - -{ - byte bVar1; - int iVar2; - - iVar2 = 0; - if (param_3 != 0) { - bVar1 = *param_2; - while( true ) { - iVar2 += 1; - param_2 = param_2 + 1; - loc_700057BC(bVar1); - if (iVar2 == param_3) break; - bVar1 = *param_2; - } - } - return 1; -} - - - -byte * FUN_7000cf84(byte *param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - byte *pbVar1; - uint uStackX4; - undefined4 uStackX8; - undefined4 uStackX12; - - uStackX4 = param_2; - uStackX8 = param_3; - uStackX12 = param_4; - pbVar1 = loc_70014574(loc_7000CF28,0,param_1,&uStackX4); - return pbVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osPiRawStartDma(int param_1,uint param_2,uint param_3,int param_4) - -{ - do { - } while ((_DAT_a4600010 & 3) != 0); - _DAT_a4600000 = osVirtualToPhysical(param_3); - _DAT_a4600004 = (_DAT_80000308 | param_2) & 0x1fffffff; - if (param_1 == 0) { - _DAT_a460000c = param_4 + -1; - } - else { - if (param_1 != 1) { - return 0xffffffffffffffff; - } - _DAT_a4600008 = param_4 + -1; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osPiGetStatus(void) - -{ - return _DAT_a4600010; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osInitialize(void) - -{ - int iVar2; - longlong lVar1; - undefined4 in_v1_lo; - uint uStack8; - uint uStack4; - - uStack8 = 0; - _DAT_80065820 = 1; - iVar2 = __osGetSR(); - __osSetSR((longlong)iVar2 | 0x20000000); - __osSetFpcCsr(0x1000800); - lVar1 = __osSiRawReadIo(0x1fc007fc,&uStack4); - while (lVar1 != 0) { - lVar1 = __osSiRawReadIo(0x1fc007fc,&uStack4); - } - lVar1 = __osSiRawWriteIo(0x1fc007fc,uStack4 | 8); - while (lVar1 != 0) { - lVar1 = __osSiRawWriteIo(0x1fc007fc,uStack4 | 8); - } - _DAT_80000000 = DAT_700101d0; - _DAT_80000004 = DAT_700101d4; - _DAT_80000008 = DAT_700101d8; - _DAT_8000000c = DAT_700101dc; - _DAT_80000080 = DAT_700101d0; - _DAT_80000084 = DAT_700101d4; - _DAT_80000088 = DAT_700101d8; - _DAT_8000008c = DAT_700101dc; - _DAT_80000100 = DAT_700101d0; - _DAT_80000104 = DAT_700101d4; - _DAT_80000108 = DAT_700101d8; - _DAT_8000010c = DAT_700101dc; - _DAT_80000180 = DAT_700101d0; - _DAT_80000184 = DAT_700101d4; - _DAT_80000188 = DAT_700101d8; - _DAT_8000018c = DAT_700101dc; - loc_70010C2C(0x80000000,400); - osInvalICache(0x80000000,400); - osMapTLBRdb(); - loc_70017C0C(4,&uStack8); - uStack8 &= 0xfffffff0; - if (uStack8 != 0) { - DAT_800269c0 = 0; - DAT_800269c4 = uStack8; - } - lVar1 = __ll_mul(DAT_800269c0,DAT_800269c4,0,3); - lVar1 = __ull_div((int)lVar1,in_v1_lo,0,4); - DAT_800269c0 = (undefined4)lVar1; - DAT_800269c4 = in_v1_lo; - if (_DAT_8000030c == 0) { - DAT_800269c4 = in_v1_lo; - locret_70017CD4((void *)0x8000031c,0x40); - } - do { - } while ((_DAT_a4600010 & 3) != 0); - if ((_DAT_a5000508 & 0xffff) == 0) { - DAT_800269d0 = 1; - __osSetHWIntrRoutine(1,__osLeoInterrupt); - } - else { - DAT_800269d0 = 0; - } - return; -} - - - -void osWritebackDCacheAll(void) - -{ - bool bVar1; - ulonglong uVar2; - - uVar2 = 0xffffffff80000000; - do { - cacheOp(1,uVar2); - bVar1 = uVar2 < 0xffffffff80001ff0; - uVar2 = SEXT48((int)uVar2 + 0x10); - } while (bVar1); - return; -} - - - -void osInvalICache(uint param_1,ulonglong param_2) - -{ - bool bVar1; - ulonglong uVar2; - uint uVar3; - - if (0 < (longlong)param_2) { - if (0x3fff < param_2) { - uVar2 = 0xffffffff80000000; - do { - cacheOp(0,uVar2); - bVar1 = uVar2 < 0xffffffff80003fe0; - uVar2 = SEXT48((int)uVar2 + 0x20); - } while (bVar1); - return; - } - uVar3 = param_1 + (int)param_2; - if (param_1 < uVar3) { - uVar2._4_4_ = param_1 - (param_1 & 0x1f); - do { - uVar2 = SEXT48(uVar2._4_4_); - cacheOp(0x10,uVar2); - uVar2._4_4_ += 0x20; - } while (uVar2 < (ulonglong)(longlong)(int)(uVar3 - 0x20)); - } - } - return; -} - - - -void osUnmapTLB(undefined8 param_1) - -{ - setCopReg(0,Index,param_1,0); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),0xffffffff80000000,0); - setCopReg(0,EntryLo0,0,0); - setCopReg(0,EntryLo1,0,0); - TLB_write_indexed_entry(Index,CONCAT44(uRegister00002050,EntryHi),EntryLo0,EntryLo1,PageMask); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),(longlong)EntryHi,0); - return; -} - - - -undefined4 __osGetFpcCsr(void) - -{ - undefined4 in_fcsr; - - return in_fcsr; -} - - - -undefined4 __osSetFpcCsr(void) - -{ - undefined4 in_fcsr; - - return in_fcsr; -} - - - -void osCreateThread(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4, - uint param_5,undefined4 param_6) - -{ - ulonglong uVar1; - - param_1[5] = param_2; - param_1[1] = param_6; - *param_1 = 0; - param_1[2] = 0; - param_1[0x47] = param_3; - param_1[0xe] = param_4 >> 0x1f; - param_1[0xf] = param_4; - param_1[0x3d] = param_5 - 0x10; - param_1[0x3c] = ((int)param_5 >> 0x1f) - (uint)(param_5 < 0x10); - param_1[0x40] = 0; - param_1[0x41] = 0x70010ac0; - param_1[0x46] = 0xff03; - param_1[0x4a] = 0x3f; - param_1[0x4b] = 0x1000800; - param_1[6] = 0; - *(undefined2 *)(param_1 + 4) = 1; - *(undefined2 *)((int)param_1 + 0x12) = 0; - uVar1 = __osDisableInt(); - *(undefined **)(param_1 + 3) = PTR_DAT_8002776c; - PTR_DAT_8002776c = (undefined *)param_1; - __osRestoreInt(uVar1); - return; -} - - - -void osStartThread(int **param_1) - -{ - ulonglong uVar1; - int **ppiVar2; - - uVar1 = __osDisableInt(); - if (*(short *)(param_1 + 4) == 1) { - if (((undefined **)param_1[2] == NULL) || ((undefined **)param_1[2] == &PTR_DAT_80027768)) { - *(undefined2 *)(param_1 + 4) = 2; - loc_700108E0((int **)&PTR_DAT_80027768,param_1); - } - else { - *(undefined2 *)(param_1 + 4) = 8; - loc_700108E0((int **)param_1[2],param_1); - ppiVar2 = (int **)__osPopThread(param_1[2]); - loc_700108E0((int **)&PTR_DAT_80027768,ppiVar2); - } - } - else { - if (*(short *)(param_1 + 4) == 8) { - *(undefined2 *)(param_1 + 4) = 2; - loc_700108E0((int **)&PTR_DAT_80027768,param_1); - } - } - if (DAT_80027770 == 0) { - FUN_70010944(); - } - else { - if (*(int *)(DAT_80027770 + 4) < *(int *)(PTR_DAT_80027768 + 4)) { - *(undefined2 *)(DAT_80027770 + 0x10) = 2; - FUN_700107ec(&PTR_DAT_80027768); - } - } - __osRestoreInt(uVar1); - return; -} - - - -void osCreateMesgQueue(undefined4 *param_1,undefined4 param_2,undefined4 param_3) - -{ - *param_1 = 0x80027760; - param_1[1] = 0x80027760; - param_1[2] = 0; - param_1[3] = 0; - param_1[4] = param_3; - param_1[5] = param_2; - return; -} - - - -void osStopThread(undefined4 *param_1) - -{ - ulonglong uVar1; - short sVar2; - - uVar1 = __osDisableInt(); - if (param_1 == NULL) { - sVar2 = 4; - } - else { - sVar2 = *(short *)(param_1 + 4); - } - if (sVar2 != 2) { - if (sVar2 == 4) { - *(undefined2 *)(DAT_80027770 + 0x10) = 1; - FUN_700107ec(0); - goto LAB_7000d820; - } - if (sVar2 != 8) goto LAB_7000d820; - } - *(undefined2 *)(param_1 + 4) = 1; - locret_70010AC8((undefined4 *)param_1[2],param_1); -LAB_7000d820: - __osRestoreInt(uVar1); - return; -} - - - -void osSetThreadPri(int **param_1,int *param_2) - -{ - ulonglong uVar1; - int **ppiStackX0; - - uVar1 = __osDisableInt(); - ppiStackX0 = param_1; - if (param_1 == NULL) { - ppiStackX0 = DAT_80027770; - } - if (ppiStackX0[1] != param_2) { - ppiStackX0[1] = param_2; - if ((ppiStackX0 != DAT_80027770) && (*(short *)(ppiStackX0 + 4) != 1)) { - locret_70010AC8(ppiStackX0[2],ppiStackX0); - loc_700108E0((int **)ppiStackX0[2],ppiStackX0); - } - if ((int)DAT_80027770[1] < *(int *)(PTR_DAT_80027768 + 4)) { - *(undefined2 *)(DAT_80027770 + 4) = 2; - FUN_700107ec(&PTR_DAT_80027768); - } - } - __osRestoreInt(uVar1); - return; -} - - - -undefined4 osGetCount(void) - -{ - return Count; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osCreateViManager(int *param_1) - -{ - int *piVar2; - ulonglong uVar1; - int *local_8; - - if (DAT_800269e0 == 0) { - FUN_70018670(); - osCreateMesgQueue((undefined4 *)0x800669e0,0x800669f8,5); - _DAT_80066a10 = 0xd; - DAT_80066a12 = 0; - _DAT_80066a14 = 0; - _DAT_80066a28 = 0xe; - DAT_80066a2a = 0; - _DAT_80066a2c = 0; - osSetEventMesg(7,0x800669e0,&DAT_80066a10); - osSetEventMesg(3,0x800669e0,&DAT_80066a28); - local_8 = (int *)0xffffffff; - piVar2 = (int *)osGetThreadPri(0); - if ((int)piVar2 < (int)param_1) { - osSetThreadPri(NULL,param_1); - local_8 = piVar2; - } - uVar1 = __osDisableInt(); - DAT_800269e0 = 1; - DAT_800269e4 = 0x80065830; - DAT_800269e8 = 0x800669e0; - DAT_800269ec = 0x800669e0; - DAT_800269f0 = 0; - DAT_800269f4 = 0; - DAT_800269f8 = 0; - osCreateThread((undefined4 *)0x80065830,0,FUN_7000dab8,(int)&DAT_800269e0,0x800669e0,param_1); - FUN_70018a90(); - osStartThread((int **)0x80065830); - __osRestoreInt((longlong)(int)uVar1); - if (local_8 != (int *)0xffffffff) { - osSetThreadPri(NULL,local_8); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7000dab8(int param_1) - -{ - int iVar1; - uint uVar2; - short *psStack12; - int iStack8; - undefined *puStack4; - - psStack12 = NULL; - puStack4 = __osGetActiveQueue(); - _DAT_80066a40 = *(short *)(puStack4 + 2); - iStack8 = param_1; - if (_DAT_80066a40 == 0) { - _DAT_80066a40 = 1; - iStack8 = param_1; - } - do { - while( true ) { - osRecvMesg(*(int *)(iStack8 + 0xc),&psStack12,1); - if (*psStack12 == 0xd) break; - if (*psStack12 == 0xe) { - FUN_700186fc(); - } - } - loc_70018E90(); - _DAT_80066a40 += -1; - if (_DAT_80066a40 == 0) { - puStack4 = __osGetActiveQueue(); - if (*(int ***)(puStack4 + 0x10) != NULL) { - osSendMesg(*(int ***)(puStack4 + 0x10),*(int *)(puStack4 + 0x14),0); - } - _DAT_80066a40 = *(short *)(puStack4 + 2); - } - _DAT_80068e5c += 1; - if (false) { - _DAT_80068e54 = osGetCount(); - _DAT_80068e50 = 0; - } - iVar1 = _DAT_80068e58; - _DAT_80068e58 = osGetCount(); - uVar2 = (_DAT_80068e58 - iVar1) + _DAT_80068e54; - _DAT_80068e50 = (uint)(uVar2 < _DAT_80068e54) + _DAT_80068e50; - _DAT_80068e54 = uVar2; - } while( true ); -} - - - -void osSetEventMesg(int param_1,undefined4 param_2,undefined4 param_3) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - *(undefined4 *)(param_1 * 8 + -0x7ff995b0) = param_2; - *(undefined4 *)(param_1 * 8 + -0x7ff995ac) = param_3; - __osRestoreInt(uVar1); - return; -} - - - -void osViSetEvent(undefined4 param_1,undefined4 param_2,undefined2 param_3) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - *(undefined4 *)(PTR_DAT_80028084 + 0x10) = param_1; - *(undefined4 *)(PTR_DAT_80028084 + 0x14) = param_2; - *(undefined2 *)(PTR_DAT_80028084 + 2) = param_3; - __osRestoreInt(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong osSetIntMask(ulonglong param_1) - -{ - int iVar1; - - if (_DAT_a430000c != 0) { - _DAT_a430000c |= (DAT_800269cc >> 0x10 ^ 0xffffffff) & 0x3f; - } - iVar1 = _DAT_a430000c << 0x10; - setCopReg(0,CONCAT44(uRegister00002060,Status), - (longlong)Status & 0xffffffffffff00ffU | - param_1 & 0xff01 & (longlong)(int)DAT_800269cc & 0xff00U,0); - _DAT_a430000c = - (uint)*(ushort *)(&DAT_800293e0 + (((uint)param_1 & 0x3f0000 & DAT_800269cc) >> 0xf)); - return (longlong)Status & 0xff01U | ((longlong)(int)DAT_800269cc ^ 0xffffffffffffffffU) & 0xff00 | - (longlong)iVar1; -} - - - -undefined8 osRecvMesg(int param_1,undefined4 *param_2,int param_3) - -{ - int iVar1; - ulonglong uVar2; - int **ppiVar3; - int iVar4; - - uVar2 = __osDisableInt(); - iVar1 = *(int *)(param_1 + 8); - while( true ) { - if (iVar1 != 0) { - if (param_2 != NULL) { - *param_2 = *(undefined4 *)(*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0xc) * 4); - } - iVar1 = *(int *)(param_1 + 0x10); - iVar4 = *(int *)(param_1 + 0xc) + 1; - *(int *)(param_1 + 0xc) = iVar4 % iVar1; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + -1; - if (**(int **)(param_1 + 4) != 0) { - ppiVar3 = (int **)__osPopThread((undefined4 *)(param_1 + 4)); - osStartThread(ppiVar3); - } - __osRestoreInt(uVar2); - return 0; - } - if (param_3 == 0) break; - *(undefined2 *)(DAT_80027770 + 0x10) = 8; - FUN_700107ec(param_1); - iVar1 = *(int *)(param_1 + 8); - } - __osRestoreInt(uVar2); - return 0xffffffffffffffff; -} - - - -undefined8 osSendMesg(int **param_1,int param_2,int param_3) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - ulonglong uVar4; - int **ppiVar5; - - uVar4 = __osDisableInt(); - if ((int)param_1[4] <= (int)param_1[2]) { - do { - if (param_3 != 1) { - __osRestoreInt(uVar4); - return 0xffffffffffffffff; - } - *(undefined2 *)(DAT_80027770 + 0x10) = 8; - FUN_700107ec(param_1 + 1); - } while ((int)param_1[4] <= (int)param_1[2]); - } - piVar1 = param_1[3]; - piVar2 = param_1[2]; - piVar3 = param_1[4]; - param_1[5][((int)piVar1 + (int)piVar2) % (int)piVar3] = param_2; - if (piVar3 == NULL) { - trap(0x1c00); - } - if ((piVar3 == (int *)0xffffffff) && ((int)piVar1 + (int)piVar2 == -0x80000000)) { - trap(0x1800); - } - param_1[2] = (int *)((int)param_1[2] + 1); - if (**param_1 != 0) { - ppiVar5 = (int **)__osPopThread(param_1); - osStartThread(ppiVar5); - } - __osRestoreInt(uVar4); - return 0; -} - - - -void osViSetMode(undefined4 param_1) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - *(undefined4 *)(PTR_DAT_80028084 + 8) = param_1; - *(undefined2 *)PTR_DAT_80028084 = 1; - *(undefined4 *)(PTR_DAT_80028084 + 0xc) = *(undefined4 *)(*(int *)(PTR_DAT_80028084 + 8) + 4); - __osRestoreInt(uVar1); - return; -} - - - -void osViSetXScale(undefined4 param_1) - -{ - float fVar1; - ulonglong uVar2; - uint uVar3; - float fVar4; - - uVar2 = __osDisableInt(); - *(undefined4 *)(PTR_DAT_80028084 + 0x18) = param_1; - *(ushort *)PTR_DAT_80028084 = *(ushort *)PTR_DAT_80028084 | 2; - fVar4 = (float)(*(uint *)(*(int *)(PTR_DAT_80028084 + 8) + 0x20) & 0xfff); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = *(float *)(PTR_DAT_80028084 + 0x18) * fVar4; - if (false) { - fVar1 = ROUND(fVar4); - } - else { - fVar1 = FLOOR(fVar4); - } - uVar3 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar3) goto LAB_7000e210; - } - else { - if (false) { - fVar4 = ROUND(fVar4 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar4 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar4 | 0x80000000; - goto LAB_7000e210; - } - } - uVar3 = 0xffffffff; -LAB_7000e210: - *(uint *)(PTR_DAT_80028084 + 0x20) = uVar3 & 0xfff; - __osRestoreInt(uVar2); - return; -} - - - -void osViSetYScale(undefined4 param_1) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - *(undefined4 *)(PTR_DAT_80028084 + 0x24) = param_1; - *(ushort *)PTR_DAT_80028084 = *(ushort *)PTR_DAT_80028084 | 4; - __osRestoreInt(uVar1); - return; -} - - - -void osViRepeatLine(char param_1) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - if (param_1 == '\0') { - *(ushort *)PTR_DAT_80028084 = *(ushort *)PTR_DAT_80028084 & 0xffbf; - } - else { - *(ushort *)PTR_DAT_80028084 = *(ushort *)PTR_DAT_80028084 | 0x40; - } - __osRestoreInt(uVar1); - return; -} - - - -void osViBlack(char param_1) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - if (param_1 == '\0') { - *(ushort *)PTR_DAT_80028084 = *(ushort *)PTR_DAT_80028084 & 0xffdf; - } - else { - *(ushort *)PTR_DAT_80028084 = *(ushort *)PTR_DAT_80028084 | 0x20; - } - __osRestoreInt(uVar1); - return; -} - - - -uint osSpTaskYielded(int param_1) - -{ - uint uVar1; - uint uStack8; - - uVar1 = __osSpGetStatus(); - uStack8 = (uint)((uVar1 & 0x100) != 0); - if ((uVar1 & 0x80) != 0) { - *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) | uStack8; - *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xfffffffd; - } - return uStack8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osDpGetCounters(undefined4 *param_1) - -{ - *param_1 = _DAT_a4100010; - param_1[1] = _DAT_a4100014; - param_1[2] = _DAT_a4100018; - param_1[3] = _DAT_a410001c; - return; -} - - - -undefined4 osViGetCurrentFramebuffer(void) - -{ - undefined4 uVar1; - ulonglong uVar2; - - uVar2 = __osDisableInt(); - uVar1 = *(undefined4 *)(PTR_DAT_80028080 + 4); - __osRestoreInt(uVar2); - return uVar1; -} - - - -undefined4 osViGetNextFramebuffer(void) - -{ - undefined4 uVar1; - ulonglong uVar2; - - uVar2 = __osDisableInt(); - uVar1 = *(undefined4 *)(PTR_DAT_80028084 + 4); - __osRestoreInt(uVar2); - return uVar1; -} - - - -void osViSwapBuffer(undefined4 param_1) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - *(undefined4 *)(PTR_DAT_80028084 + 4) = param_1; - *(ushort *)PTR_DAT_80028084 = *(ushort *)PTR_DAT_80028084 | 0x10; - __osRestoreInt((longlong)(int)uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osDpSetStatus(undefined4 param_1) - -{ - _DAT_a410000c = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osSpTaskStartGo(void *param_1) - -{ - _bcopy(param_1,(void *)0x80066ad0,0x40); - if (_DAT_80066ae0 != 0) { - _DAT_80066ae0 = osVirtualToPhysical(_DAT_80066ae0); - } - if (_DAT_80066ae8 != 0) { - _DAT_80066ae8 = osVirtualToPhysical(_DAT_80066ae8); - } - if (_DAT_80066af0 != 0) { - _DAT_80066af0 = osVirtualToPhysical(_DAT_80066af0); - } - if (_DAT_80066af8 != 0) { - _DAT_80066af8 = osVirtualToPhysical(_DAT_80066af8); - } - if (_DAT_80066afc != 0) { - _DAT_80066afc = osVirtualToPhysical(_DAT_80066afc); - } - if (_DAT_80066b00 != 0) { - _DAT_80066b00 = osVirtualToPhysical(_DAT_80066b00); - } - if (_DAT_80066b08 != 0) { - _DAT_80066b08 = osVirtualToPhysical(_DAT_80066b08); - } - return 0x80066ad0; -} - - - -void osSpTaskLoad(void *param_1) - -{ - uint uVar3; - longlong lVar1; - ulonglong uVar2; - - uVar3 = osSpTaskStartGo(param_1); - if ((*(uint *)(uVar3 + 4) & 1) != 0) { - *(undefined4 *)(uVar3 + 0x18) = *(undefined4 *)(uVar3 + 0x38); - *(undefined4 *)(uVar3 + 0x1c) = *(undefined4 *)(uVar3 + 0x3c); - *(uint *)((int)param_1 + 4) = *(uint *)((int)param_1 + 4) & 0xfffffffe; - } - loc_70010C2C(uVar3,0x40); - __osSpSetStatus(0x2b00); - lVar1 = locret_70018F1C(0x4001000); - while (lVar1 == -1) { - lVar1 = locret_70018F1C(0x4001000); - } - lVar1 = __osSpRawStartDma(1,0x4000fc0,uVar3,0x40); - while (lVar1 == -1) { - lVar1 = __osSpRawStartDma(1,0x4000fc0,uVar3,0x40); - } - uVar2 = locret_70018FE4(); - while (uVar2 != 0) { - uVar2 = locret_70018FE4(); - } - lVar1 = __osSpRawStartDma(1,0x4001000,*(uint *)(uVar3 + 8),*(int *)(uVar3 + 0xc)); - while (lVar1 == -1) { - lVar1 = __osSpRawStartDma(1,0x4001000,*(uint *)(uVar3 + 8),*(int *)(uVar3 + 0xc)); - } - return; -} - - - -void osSpTaskStartGo(void) - -{ - ulonglong uVar1; - - uVar1 = locret_70018FE4(); - while (uVar1 != 0) { - uVar1 = locret_70018FE4(); - } - __osSpSetStatus(0x125); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osDpSetNextBuffer(uint param_1,undefined8 param_2,undefined8 param_3,int param_4) - -{ - ulonglong uVar1; - undefined8 uVar2; - uint uVar3; - - uVar1 = locret_70019014(); - if (uVar1 == 0) { - _DAT_a410000c = 1; - do { - } while (true); - _DAT_a4100000 = osVirtualToPhysical(param_1); - uVar3 = osVirtualToPhysical(param_1); - _DAT_a4100004 = uVar3 + param_4; - uVar2 = 0; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -void osSpTaskYield(void) - -{ - __osSpSetStatus(0x400); - return; -} - - - -undefined4 __osGetTLBHi(undefined8 param_1) - -{ - setCopReg(0,Index,param_1,0); - EntryHi = TLB_read_indexed_entryHi(Index); - EntryLo0 = TLB_read_indexed_entryLo0(Index); - EntryLo1 = TLB_read_indexed_entryLo1(Index); - PageMask = TLB_read_indexed_entryLo1(Index); - return EntryHi._4_4_; -} - - - -uint osVirtualToPhysical(uint param_1) - -{ - if ((param_1 < 0x80000000) || (0x9fffffff < param_1)) { - if ((param_1 < 0xa0000000) || (0xbfffffff < param_1)) { - param_1 = loc_700190CC((longlong)(int)param_1); - } - else { - param_1 &= 0x1fffffff; - } - } - else { - param_1 &= 0x1fffffff; - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int osAiSetFrequency(longlong param_1) - -{ - float fVar1; - int iVar2; - uint uVar3; - uint uVar4; - float fVar5; - - fVar5 = (float)(int)param_1; - if (param_1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = (float)DAT_8002808c / fVar5 + 0.50000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar4 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar4) goto LAB_7000ea34; - } - else { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (true) { - uVar4 = (int)fVar5 | 0x80000000; - goto LAB_7000ea34; - } - } - uVar4 = 0xffffffff; -LAB_7000ea34: - if (uVar4 < 0x84) { - iVar2 = -1; - } - else { - uVar3 = uVar4 / 0x42 & 0xff; - if (0x10 < uVar3) { - uVar3 = 0x10; - } - _DAT_a4500010 = uVar4 - 1; - _DAT_a4500014 = uVar3 - 1; - _DAT_a4500008 = 1; - iVar2 = DAT_8002808c / (int)uVar4; - if (uVar4 == 0) { - trap(0x1c00); - } - if ((uVar4 == 0xffffffff) && (DAT_8002808c == -0x80000000)) { - trap(0x1800); - } - } - return iVar2; -} - - - -void alUnlink(int *param_1) - -{ - int *piVar1; - - if (*param_1 == 0) { - piVar1 = (int *)param_1[1]; - } - else { - *(int *)(*param_1 + 4) = param_1[1]; - piVar1 = (int *)param_1[1]; - } - if (piVar1 != NULL) { - *piVar1 = *param_1; - } - return; -} - - - -void alLink(int **param_1,int **param_2) - -{ - int *piVar1; - - piVar1 = *param_2; - *(int ***)(param_1 + 1) = param_2; - *param_1 = piVar1; - if (*param_2 != NULL) { - *(int ***)(*param_2 + 1) = param_1; - } - *(int ***)param_2 = param_1; - return; -} - - - -void alClose(undefined4 *param_1) - -{ - if (DAT_80027720 != 0) { - alSynDelete(param_1); - DAT_80027720 = 0; - } - return; -} - - - -void alInit(undefined4 *param_1,int param_2) - -{ - if (DAT_80027720 == NULL) { - DAT_80027720 = param_1; - loc_7000F670(param_1,param_2); - } - return; -} - - - -int alHeapDBAlloc(undefined8 param_1,undefined8 param_2,int *param_3,int param_4,int param_5) - -{ - int iVar1; - int iVar2; - uint uVar3; - - iVar1 = param_3[1]; - uVar3 = param_4 * param_5 + 0xfU & 0xfffffff0; - iVar2 = 0; - if (iVar1 + uVar3 <= (uint)(*param_3 + param_3[2])) { - param_3[1] = iVar1 + uVar3; - iVar2 = iVar1; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int osGetTime(void) - -{ - int iVar1; - uint uVar2; - ulonglong uVar3; - int iVar4; - - uVar3 = __osDisableInt(); - iVar4 = osGetCount(); - uVar2 = _DAT_80068e54; - iVar1 = _DAT_80068e50; - iVar4 -= _DAT_80068e58; - __osRestoreInt(uVar3); - return (int)((uint)(iVar4 + uVar2 < uVar2) + iVar1); -} - - - -longlong FUN_7000ecac(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - if (CONCAT44(param_3,param_4) == 0) { - trap(0x1c00); - } - return (longlong)(CONCAT44(param_1,param_2) % CONCAT44(param_3,param_4)) >> 0x20; -} - - - -longlong __ull_div(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - if (CONCAT44(param_3,param_4) == 0) { - trap(0x1c00); - } - return (longlong)(CONCAT44(param_1,param_2) / CONCAT44(param_3,param_4)) >> 0x20; -} - - - -longlong loc_7000ED94(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - longlong lVar1; - - lVar1 = CONCAT44(param_3,param_4); - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (CONCAT44(param_1,param_2) == -0x8000000000000000)) { - trap(0x1800); - } - return CONCAT44(param_1,param_2) / lVar1 >> 0x20; -} - - - -longlong __ll_mul(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - return CONCAT44(param_1,param_2) * CONCAT44(param_3,param_4) >> 0x20; -} - - - -undefined4 FUN_7000ee78(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - longlong lVar1; - longlong lVar2; - undefined4 uStack8; - - lVar1 = CONCAT44(param_3,param_4); - lVar2 = CONCAT44(param_1,param_2) % lVar1; - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (CONCAT44(param_1,param_2) == -0x8000000000000000)) { - trap(0x1800); - } - uStack8 = (undefined4)((ulonglong)lVar2 >> 0x20); - if (((lVar2 < 0) && (0 < lVar1)) || ((0 < lVar2 && (CONCAT44(param_3,param_4) < 0)))) { - uStack8 = (undefined4)((ulonglong)(lVar2 + CONCAT44(param_3,param_4)) >> 0x20); - } - return uStack8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osAiSetNextBuffer(uint param_1,int param_2) - -{ - ulonglong uVar1; - undefined8 uVar2; - uint uStack4; - - uStack4 = param_1; - if (DAT_80027730 != false) { - uStack4 = param_1 - 0x2000; - } - DAT_80027730 = (param_1 + param_2 & 0x3fff) == 0x2000; - uVar1 = locret_70019118(); - if (uVar1 == 0) { - _DAT_a4500000 = osVirtualToPhysical(uStack4); - uVar2 = 0; - _DAT_a4500004 = param_2; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osAiGetLength(void) - -{ - return _DAT_a4500004; -} - - - -uint FUN_7000f008(int param_1,int param_2) - -{ - uint in_register_00001030; - - return (int)((double)((float)param_2 * (float)*(int *)(param_1 + 0x44)) / DAT_80029460 + - (double)((ulonglong)in_register_00001030 << 0x20)) & 0xfffffff0; -} - - - -void FUN_7000f060(int param_1,int **param_2) - -{ - alUnlink((int *)param_2); - alLink(param_2,(int **)(param_1 + 0x14)); - return; -} - - - -void loc_7000F0A4(int param_1) - -{ - int **ppiVar1; - - ppiVar1 = *(int ***)(param_1 + 0x14); - while (ppiVar1 != NULL) { - alUnlink((int *)ppiVar1); - alLink(ppiVar1,(int **)(param_1 + 4)); - ppiVar1 = *(int ***)(param_1 + 0x14); - } - return; -} - - - -void FUN_7000f0f8(undefined4 *param_1) - -{ - int iVar1; - - iVar1 = DAT_80027720; - *param_1 = *(undefined4 *)(DAT_80027720 + 0x2c); - *(undefined4 **)(iVar1 + 0x2c) = param_1; - return; -} - - - -undefined4 * FUN_7000f110(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar1 = *(undefined4 **)(DAT_80027720 + 0x2c); - puVar2 = NULL; - if (puVar1 != NULL) { - *(undefined4 *)(DAT_80027720 + 0x2c) = *puVar1; - *puVar1 = 0; - puVar2 = puVar1; - } - return puVar2; -} - - - -undefined4 * alAudioFrame(undefined4 *param_1,int *param_2,int param_3,int param_4) - -{ - int *piVar1; - undefined4 *puVar2; - int *piVar3; - double dVar4; - undefined4 *puVar5; - int iVar6; - int iVar7; - int iVar8; - ulonglong unaff_f22; - undefined2 auStack14 [5]; - undefined4 *puStack4; - - piVar3 = DAT_80027720; - auStack14[0] = 0; - if (*DAT_80027720 == 0) { - *param_2 = 0; - puVar5 = param_1; - } - else { - puStack4 = NULL; - puVar5 = (undefined4 *)*DAT_80027720; - iVar6 = 0x7fffffff; - if (puVar5 != NULL) { - iVar7 = DAT_80027720[8]; - iVar8 = puVar5[4]; - while( true ) { - if (iVar8 - iVar7 < iVar6) { - iVar7 = DAT_80027720[8]; - iVar6 = puVar5[4] - iVar7; - puVar2 = (undefined4 *)*puVar5; - puStack4 = puVar5; - } - else { - puVar2 = (undefined4 *)*puVar5; - } - if (puVar2 == NULL) break; - iVar8 = puVar2[4]; - puVar5 = puVar2; - } - } - piVar1 = DAT_80027720 + 8; - iVar6 = puStack4[4]; - DAT_80027720[7] = iVar6; - dVar4 = DAT_80029468; - if (iVar6 - *piVar1 < param_4) { - do { - iVar7 = 0x7fffffff; - piVar3[7] = piVar3[7] & 0xfffffff0; - iVar6 = (*(code *)puStack4[2])(); - puStack4[4] = puStack4[4] + - (int)((double)((float)iVar6 * (float)piVar3[0x11]) / dVar4 + - (double)(unaff_f22 & 0xffffffff00000000)); - puStack4 = NULL; - puVar5 = (undefined4 *)*piVar3; - if (puVar5 != NULL) { - iVar6 = piVar3[8]; - iVar8 = puVar5[4]; - while( true ) { - if (iVar8 - iVar6 < iVar7) { - iVar6 = piVar3[8]; - iVar7 = puVar5[4] - iVar6; - puVar2 = (undefined4 *)*puVar5; - puStack4 = puVar5; - } - else { - puVar2 = (undefined4 *)*puVar5; - } - if (puVar2 == NULL) break; - iVar8 = puVar2[4]; - puVar5 = puVar2; - } - } - iVar6 = puStack4[4]; - piVar3[7] = iVar6; - } while (iVar6 - piVar3[8] < param_4); - } - piVar3[7] = piVar3[7] & 0xfffffff0; - puVar5 = param_1; - if (0 < param_4) { - do { - iVar6 = param_4; - if (piVar3[0x12] < param_4) { - iVar6 = piVar3[0x12]; - } - *puVar5 = 0x7000000; - puVar5[1] = 0; - iVar7 = piVar3[0xe]; - (**(code **)(iVar7 + 8))(iVar7,6,param_3); - puVar5 = (undefined4 *)(**(code **)(iVar7 + 4))(iVar7,auStack14,iVar6,piVar3[8],puVar5 + 2); - param_4 -= iVar6; - param_3 += iVar6 * 4; - piVar3[8] = piVar3[8] + iVar6; - } while (0 < param_4); - } - *param_2 = (int)((int)puVar5 - (int)param_1) >> 3; - loc_7000F0A4((int)piVar3); - } - return puVar5; -} - - - -void loc_7000F670(undefined4 *param_1,int param_2) - -{ - int *piVar1; - int iVar2; - undefined4 *puVar3; - undefined4 uVar4; - int **ppiVar5; - int **ppiVar6; - int **ppiVar7; - int **ppiVar8; - - piVar1 = *(int **)(param_2 + 0x14); - *param_1 = 0; - uVar4 = *(undefined4 *)(param_2 + 4); - param_1[8] = 0; - param_1[7] = 0; - param_1[0xf] = uVar4; - uVar4 = *(undefined4 *)(param_2 + 0x18); - param_1[0x12] = 0xa0; - param_1[0x11] = uVar4; - param_1[9] = *(undefined4 *)(param_2 + 0x10); - puVar3 = (undefined4 *)alHeapDBAlloc(0,0,piVar1,1,0x1c); - FUN_70019160(puVar3); - *(undefined4 **)(param_1 + 0xe) = puVar3; - iVar2 = alHeapDBAlloc(0,0,piVar1,1,0x4c); - param_1[0xd] = iVar2; - param_1[0x10] = 1; - iVar2 = alHeapDBAlloc(0,0,piVar1,*(int *)(param_2 + 4),4); - FUN_700191f8((undefined4 *)param_1[0xd],iVar2,*(undefined4 *)(param_2 + 4)); - iVar2 = alHeapDBAlloc(0,0,piVar1,1,0x20); - param_1[0xc] = iVar2; - iVar2 = alHeapDBAlloc(0,0,piVar1,*(int *)(param_2 + 4),4); - FUN_700191a4((undefined4 *)param_1[0xc],iVar2,*(undefined4 *)(param_2 + 4)); - if (*(char *)(param_2 + 0x1c) == '\0') { - alMainBusPull(param_1[0xc],2,param_1[0xd]); - param_1[1] = 0; - } - else { - alSynAllocFX((int)param_1,0,param_2,piVar1); - param_1[1] = 0; - } - param_1[2] = 0; - param_1[5] = 0; - param_1[6] = 0; - param_1[3] = 0; - param_1[4] = 0; - ppiVar5 = (int **)alHeapDBAlloc(0,0,piVar1,*(int *)(param_2 + 4),0xdc); - iVar2 = 0; - if (0 < *(int *)(param_2 + 4)) { - ppiVar6 = ppiVar5 + 0x23; - ppiVar7 = ppiVar5 + 0x16; - ppiVar8 = ppiVar5 + 4; - do { - alLink(ppiVar5,(int **)(param_1 + 1)); - ppiVar5[2] = NULL; - alLoadNew(ppiVar8,(undefined *)param_1[9],piVar1); - loc_70019C78((int)ppiVar8,1,NULL); - FUN_7001924c(ppiVar7,piVar1); - loc_7001A6DC((int *)ppiVar7,1,(int)ppiVar8); - FUN_7001937c(ppiVar6,piVar1); - loc_7001AAE4((int *)ppiVar6,1,(int)ppiVar7); - alAuxBusPull(param_1[0xd],2,ppiVar6); - *(int ***)(ppiVar5 + 3) = ppiVar5 + 0x23; - iVar2 += 1; - ppiVar5 = ppiVar5 + 0x37; - ppiVar6 = ppiVar6 + 0x37; - ppiVar7 = ppiVar7 + 0x37; - ppiVar8 = ppiVar8 + 0x37; - } while (iVar2 < *(int *)(param_2 + 4)); - } - iVar2 = 0; - locret_7001B61C(puVar3,1,param_1[0xc]); - puVar3 = (undefined4 *)alHeapDBAlloc(0,0,piVar1,*(int *)(param_2 + 8),0x1c); - param_1[0xb] = 0; - if (*(int *)(param_2 + 8) < 1) { - *(int **)(param_1 + 10) = piVar1; - } - else { - uVar4 = param_1[0xb]; - while( true ) { - iVar2 += 1; - *puVar3 = uVar4; - *(undefined4 **)(param_1 + 0xb) = puVar3; - puVar3 = puVar3 + 7; - if (*(int *)(param_2 + 8) <= iVar2) break; - uVar4 = param_1[0xb]; - } - *(int **)(param_1 + 10) = piVar1; - } - return; -} - - - -undefined8 -osPiStartDma(undefined2 *param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5, - undefined4 param_6,undefined4 param_7) - -{ - undefined8 uVar1; - int **ppiVar2; - - if (DAT_800277d0 == 0) { - uVar1 = 0xffffffffffffffff; - } - else { - if (param_3 == 0) { - *param_1 = 0xb; - } - else { - *param_1 = 0xc; - } - *(char *)(param_1 + 1) = (char)param_2; - *(undefined4 *)(param_1 + 2) = param_7; - *(undefined4 *)(param_1 + 4) = param_5; - *(undefined4 *)(param_1 + 6) = param_4; - *(undefined4 *)(param_1 + 8) = param_6; - *(undefined4 *)(param_1 + 10) = 0; - if (param_2 == 1) { - ppiVar2 = (int **)FUN_7001b840(); - uVar1 = osJamMesg(ppiVar2,(int)param_1,0); - } - else { - ppiVar2 = (int **)FUN_7001b840(); - uVar1 = osSendMesg(ppiVar2,(int)param_1,0); - } - } - return uVar1; -} - - - -void osViSetSpecialFeatures(uint param_1) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - if ((param_1 & 1) != 0) { - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) | 8; - } - if ((param_1 & 2) != 0) { - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) & 0xfffffff7; - } - if ((param_1 & 4) != 0) { - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) | 4; - } - if ((param_1 & 8) != 0) { - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) & 0xfffffffb; - } - if ((param_1 & 0x10) != 0) { - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) | 0x10; - } - if ((param_1 & 0x20) != 0) { - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) & 0xffffffef; - } - if ((param_1 & 0x40) != 0) { - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) | 0x10000; - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) & 0xfffffcff; - } - if ((param_1 & 0x80) != 0) { - *(uint *)(PTR_DAT_80028084 + 0xc) = *(uint *)(PTR_DAT_80028084 + 0xc) & 0xfffeffff; - *(uint *)(PTR_DAT_80028084 + 0xc) = - *(uint *)(PTR_DAT_80028084 + 0xc) | *(uint *)(*(int *)(PTR_DAT_80028084 + 8) + 4) & 0x300; - } - *(ushort *)PTR_DAT_80028084 = *(ushort *)PTR_DAT_80028084 | 8; - __osRestoreInt(uVar1); - return; -} - - - -void _bcopy(void *__src,void *__dest,size_t __n) - -{ - undefined uVar1; - undefined2 uVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - undefined4 uVar9; - undefined4 uVar10; - undefined2 *puVar11; - uint uVar12; - undefined *puVar13; - uint uVar14; - undefined *puVar15; - undefined4 *puVar16; - undefined4 *puVar17; - - if ((__n != 0) && (__src != __dest)) { - if (((int)__dest < (int)__src) || ((int)((int)__src + __n) <= (int)__dest)) { - if ((0xf < (int)__n) && (uVar14 = (uint)__src & 3, uVar14 == ((uint)__dest & 3))) { - puVar16 = (undefined4 *)__dest; - if (uVar14 != 0) { - if (uVar14 == 1) { - uVar1 = *(undefined *)__src; - uVar2 = *(undefined2 *)((int)__src + 1); - __src = (void *)((int)__src + 3); - puVar16 = (undefined4 *)((int)__dest + 3); - __n -= 3; - *(undefined *)__dest = uVar1; - *(undefined2 *)((int)__dest + 1) = uVar2; - } - else { - if (uVar14 == 2) { - uVar2 = *(undefined2 *)__src; - __src = (void *)((int)__src + 2); - __n -= 2; - *(undefined2 *)__dest = uVar2; - puVar16 = (undefined4 *)((int)__dest + 2); - } - else { - uVar1 = *(undefined *)__src; - __src = (void *)((int)__src + 1); - puVar16 = (undefined4 *)((int)__dest + 1); - __n -= 1; - *(undefined *)__dest = uVar1; - } - } - } - while (0x1f < (int)__n) { - uVar10 = *(undefined4 *)__src; - uVar7 = ((undefined4 *)__src)[1]; - uVar8 = ((undefined4 *)__src)[2]; - uVar9 = ((undefined4 *)__src)[3]; - uVar3 = ((undefined4 *)__src)[4]; - uVar4 = ((undefined4 *)__src)[5]; - uVar5 = ((undefined4 *)__src)[6]; - uVar6 = ((undefined4 *)__src)[7]; - __src = (undefined4 *)__src + 8; - __n -= 0x20; - *puVar16 = uVar10; - puVar16[1] = uVar7; - puVar16[2] = uVar8; - puVar16[3] = uVar9; - puVar16[4] = uVar3; - puVar16[5] = uVar4; - puVar16[6] = uVar5; - puVar16[7] = uVar6; - puVar16 = puVar16 + 8; - } - while (__dest = puVar16, 0xf < (int)__n) { - uVar10 = *(undefined4 *)__src; - uVar7 = ((undefined4 *)__src)[1]; - uVar8 = ((undefined4 *)__src)[2]; - uVar9 = ((undefined4 *)__src)[3]; - __src = (undefined4 *)__src + 4; - __n -= 0x10; - *puVar16 = uVar10; - puVar16[1] = uVar7; - puVar16[2] = uVar8; - puVar16[3] = uVar9; - puVar16 = puVar16 + 4; - } - while (3 < (int)__n) { - uVar10 = *(undefined4 *)__src; - __src = (undefined4 *)__src + 1; - __n -= 4; - *(undefined4 *)__dest = uVar10; - __dest = (undefined4 *)__dest + 1; - } - } - if (__n != 0) { - puVar16 = (undefined4 *)((int)__src + __n); - do { - uVar1 = *(undefined *)__src; - __src = (void *)((int)__src + 1); - *(undefined *)__dest = uVar1; - __dest = (undefined4 *)((int)__dest + 1); - } while ((undefined4 *)__src != puVar16); - } - } - else { - uVar14 = (int)__src + __n; - puVar16 = (undefined4 *)((int)__dest + __n); - if ((0xf < (int)__n) && (uVar12 = uVar14 & 3, uVar12 == ((uint)puVar16 & 3))) { - puVar17 = puVar16; - if (uVar12 != 0) { - if (uVar12 == 3) { - puVar13 = (undefined *)(uVar14 - 1); - uVar2 = *(undefined2 *)(uVar14 - 3); - uVar14 -= 3; - puVar17 = (undefined4 *)((int)puVar16 + -3); - __n -= 3; - *(undefined *)((int)puVar16 + -1) = *puVar13; - *(undefined2 *)puVar17 = uVar2; - } - else { - if (uVar12 == 2) { - puVar11 = (undefined2 *)(uVar14 - 2); - uVar14 -= 2; - __n -= 2; - *(undefined2 *)(undefined4 *)((int)puVar16 + -2) = *puVar11; - puVar17 = (undefined4 *)((int)puVar16 + -2); - } - else { - puVar13 = (undefined *)(uVar14 - 1); - uVar14 -= 1; - puVar17 = (undefined4 *)((int)puVar16 + -1); - __n -= 1; - *(undefined *)puVar17 = *puVar13; - } - } - } - while (0x1f < (int)__n) { - puVar16 = (undefined4 *)(uVar14 - 4); - uVar10 = *(undefined4 *)(uVar14 - 8); - uVar7 = *(undefined4 *)(uVar14 - 0xc); - uVar8 = *(undefined4 *)(uVar14 - 0x10); - uVar9 = *(undefined4 *)(uVar14 - 0x14); - uVar3 = *(undefined4 *)(uVar14 - 0x18); - uVar4 = *(undefined4 *)(uVar14 - 0x1c); - uVar5 = *(undefined4 *)(uVar14 - 0x20); - uVar14 -= 0x20; - __n -= 0x20; - puVar17[-1] = *puVar16; - puVar17[-2] = uVar10; - puVar17[-3] = uVar7; - puVar17[-4] = uVar8; - puVar17[-5] = uVar9; - puVar17[-6] = uVar3; - puVar17[-7] = uVar4; - puVar17[-8] = uVar5; - puVar17 = puVar17 + -8; - } - while (puVar16 = puVar17, 0xf < (int)__n) { - puVar16 = (undefined4 *)(uVar14 - 4); - uVar10 = *(undefined4 *)(uVar14 - 8); - uVar7 = *(undefined4 *)(uVar14 - 0xc); - uVar8 = *(undefined4 *)(uVar14 - 0x10); - uVar14 -= 0x10; - __n -= 0x10; - puVar17[-1] = *puVar16; - puVar17[-2] = uVar10; - puVar17[-3] = uVar7; - puVar17[-4] = uVar8; - puVar17 = puVar17 + -4; - } - while (3 < (int)__n) { - puVar17 = (undefined4 *)(uVar14 - 4); - uVar14 -= 4; - __n -= 4; - puVar16[-1] = *puVar17; - puVar16 = puVar16 + -1; - } - } - if (__n != 0) { - puVar15 = (undefined *)(uVar14 - 1); - puVar13 = puVar15 + -__n; - do { - puVar16 = (undefined4 *)((int)puVar16 + -1); - uVar1 = *puVar15; - puVar15 = puVar15 + -1; - *(undefined *)puVar16 = uVar1; - } while (puVar15 != puVar13); - return; - } - } - } - return; -} - - - -void guPerspective(float *param_1,undefined2 *param_2,float param_3,float param_4,float param_5, - float param_6,float param_7) - -{ - double dVar1; - float *pfVar2; - int iVar3; - float fVar5; - double dVar4; - float fVar6; - float fVar7; - uint uVar8; - uint uVar9; - float fVar10; - uint in_register_00001050; - float fVar11; - float fVar12; - float fVar13; - - loc_70010084(param_1); - uVar8 = (uint)((ulonglong)DAT_80029470 >> 0x20); - uVar9 = (uint)((ulonglong)((double)param_3 * DAT_80029470) >> 0x20); - fVar11 = (float)((double)param_3 * DAT_80029470) / 2.00000000; - fVar5 = FUN_7f0583c0(fVar11); - fVar11 = func_7F057FC4(fVar11); - param_1[0xb] = -1.00000000; - param_1[5] = fVar5 / fVar11; - param_1[10] = (param_5 + param_6) / (param_5 - param_6); - *param_1 = (fVar5 / fVar11) / param_4; - param_1[0xf] = 0.00000000; - param_1[0xe] = (param_5 * 2.00000000 * param_6) / (param_5 - param_6); - iVar3 = 1; - fVar13 = param_1[1]; - fVar5 = *param_1 * param_7; - fVar11 = param_1[2]; - fVar12 = param_1[3]; - pfVar2 = param_1; - if (true) { - do { - fVar10 = fVar13 * param_7; - fVar13 = pfVar2[5]; - fVar7 = fVar11 * param_7; - fVar11 = pfVar2[6]; - iVar3 += 1; - fVar6 = fVar12 * param_7; - fVar12 = pfVar2[7]; - *pfVar2 = fVar5; - fVar5 = pfVar2[4] * param_7; - pfVar2[1] = fVar10; - pfVar2[2] = fVar7; - param_1 = pfVar2 + 4; - pfVar2[3] = fVar6; - pfVar2 = param_1; - } while (iVar3 != 4); - } - *param_1 = fVar5; - param_1[1] = fVar13 * param_7; - param_1[2] = fVar11 * param_7; - param_1[3] = fVar12 * param_7; - if (param_2 == NULL) { - return; - } - dVar4 = (double)(param_5 + param_6); - if (dVar4 <= (double)((ulonglong)uVar9 << 0x20)) { - *param_2 = 0xffff; - return; - } - dVar4 = (double)((ulonglong)in_register_00001050 << 0x20) / dVar4; - if (false) { - dVar1 = ROUND(dVar4); - } - else { - dVar1 = FLOOR(dVar4); - } - uVar9 = (uint)dVar1; - if (false) { - dVar4 = dVar4 - (double)((ulonglong)uVar8 << 0x20); - if (false) { - dVar4 = ROUND(dVar4); - } - else { - dVar4 = FLOOR(dVar4); - } - if (true) { - uVar9 = (int)dVar4 | 0x80000000; - goto LAB_7000fecc; - } - } - else { - if (-1 < (int)uVar9) goto LAB_7000fecc; - } - uVar9 = 0xffffffff; -LAB_7000fecc: - *param_2 = (short)uVar9; - if ((uVar9 & 0xffff) == 0) { - *param_2 = 1; - } - return; -} - - - -void guPerspective(uint *param_1,undefined2 *param_2,float param_3,float param_4,float param_5, - float param_6,float param_7) - -{ - float afStack64 [16]; - - guPerspective(afStack64,param_2,param_3,param_4,param_5,param_6,param_7); - guMtxF2L(afStack64,param_1); - return; -} - - - -void guMtxF2L(float *param_1,uint *param_2) - -{ - uint *puVar1; - uint *puVar2; - uint *puVar3; - int iVar4; - int iVar5; - float *pfVar6; - float fVar7; - float fVar8; - - iVar5 = 0; - puVar3 = param_2 + 8; - do { - iVar4 = 1; - fVar8 = *param_1; - fVar7 = param_1[1] * 65536.00000000; - puVar1 = param_2; - puVar2 = puVar3; - pfVar6 = param_1; - if (true) { - do { - iVar4 += 1; - param_2 = puVar1 + 1; - puVar3 = puVar2 + 1; - *puVar1 = (int)(fVar8 * 65536.00000000) & 0xffff0000U | (int)fVar7 >> 0x10 & 0xffffU; - *puVar2 = (int)(fVar8 * 65536.00000000) << 0x10 | (int)fVar7 & 0xffffU; - fVar8 = pfVar6[2]; - fVar7 = pfVar6[3] * 65536.00000000; - puVar1 = param_2; - puVar2 = puVar3; - pfVar6 = pfVar6 + 2; - } while (iVar4 != 2); - } - *param_2 = (int)(fVar8 * 65536.00000000) & 0xffff0000U | (int)fVar7 >> 0x10 & 0xffffU; - *puVar3 = (int)(fVar8 * 65536.00000000) << 0x10 | (int)fVar7 & 0xffffU; - iVar5 += 1; - param_1 = param_1 + 4; - param_2 = param_2 + 1; - puVar3 = puVar3 + 1; - } while (iVar5 != 4); - return; -} - - - -void loc_70010084(undefined4 *param_1) - -{ - int iVar1; - - iVar1 = 0; - do { - if (iVar1 == 0) { - *param_1 = 0x3f800000; - } - else { - *param_1 = 0; - } - if (iVar1 == 1) { - param_1[1] = 0x3f800000; - } - else { - param_1[1] = 0; - } - if (iVar1 == 2) { - param_1[2] = 0x3f800000; - } - else { - param_1[2] = 0; - } - if (iVar1 == 3) { - param_1[3] = 0x3f800000; - } - else { - param_1[3] = 0; - } - iVar1 += 1; - param_1 = param_1 + 4; - } while (iVar1 != 4); - return; -} - - - -void FUN_700100d8(uint *param_1) - -{ - float afStack64 [16]; - - loc_70010084(afStack64); - guMtxF2L(afStack64,param_1); - return; -} - - - -undefined4 __osGetActiveQueue(void) - -{ - return DAT_80027774; -} - - - -void FUN_70010704(int param_1) - -{ - int *piVar1; - int *piVar2; - int **ppiVar3; - code *UNRECOVERED_JUMPTABLE; - - ppiVar3 = *(int ***)(param_1 + -0x7ff995b0); - if (ppiVar3 != NULL) { - piVar1 = ppiVar3[2]; - piVar2 = ppiVar3[4]; - if ((int)piVar1 < (int)piVar2) { - if (piVar2 == NULL) { - trap(0x1c00); - } - if ((piVar2 == (int *)0xffffffff) && ((int)ppiVar3[3] + (int)piVar1 == -0x80000000)) { - trap(0x1800); - } - ppiVar3[5][((int)ppiVar3[3] + (int)piVar1) % (int)piVar2] = *(int *)(param_1 + -0x7ff995ac); - ppiVar3[2] = (int *)((int)piVar1 + 1); - if (**ppiVar3 != 0) { - ppiVar3 = (int **)__osPopThread(ppiVar3); - loc_700108E0((int **)&PTR_DAT_80027768,ppiVar3); - } - } - } - // WARNING: Could not recover jumptable at 0x700107b0. Too many branches - // WARNING: Treating indirect jump as call - (*UNRECOVERED_JUMPTABLE)(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700107ec(longlong lParm1) - -{ - int **ppiVar1; - uint uVar2; - undefined8 unaff_s0; - undefined8 unaff_s1; - undefined8 unaff_s2; - undefined8 unaff_s3; - undefined8 unaff_s4; - undefined8 unaff_s5; - undefined8 unaff_s6; - undefined8 unaff_s7; - int *piVar3; - undefined8 unaff_s8; - undefined8 unaff_retaddr; - undefined8 unaff_f20; - undefined8 unaff_f22; - undefined8 unaff_f24; - undefined8 unaff_f26; - undefined8 unaff_f28; - undefined8 unaff_f30; - int *in_fcsr; - undefined auStackX0 [16]; - - ppiVar1 = DAT_80027770; - piVar3 = DAT_80027770[6]; - DAT_80027770[0x46] = (int *)(Status | 2); - *(undefined8 *)(ppiVar1 + 0x26) = unaff_s0; - *(undefined8 *)(ppiVar1 + 0x28) = unaff_s1; - *(undefined8 *)(ppiVar1 + 0x2a) = unaff_s2; - *(undefined8 *)(ppiVar1 + 0x2c) = unaff_s3; - *(undefined8 *)(ppiVar1 + 0x2e) = unaff_s4; - *(undefined8 *)(ppiVar1 + 0x30) = unaff_s5; - *(undefined8 *)(ppiVar1 + 0x32) = unaff_s6; - *(undefined8 *)(ppiVar1 + 0x34) = unaff_s7; - *(BADSPACEBASE **)(ppiVar1 + 0x3a) = register0x000000e0; - *(ulonglong *)(ppiVar1 + 0x3c) = ZEXT48(register0x000000ec); - *(undefined8 *)(ppiVar1 + 0x3e) = unaff_s8; - *(undefined8 *)(ppiVar1 + 0x40) = unaff_retaddr; - ppiVar1[0x47] = (int *)unaff_retaddr; - if (piVar3 != NULL) { - *(undefined8 *)(ppiVar1 + 0x60) = unaff_f20; - *(undefined8 *)(ppiVar1 + 0x62) = unaff_f22; - *(undefined8 *)(ppiVar1 + 100) = unaff_f24; - *(undefined8 *)(ppiVar1 + 0x66) = unaff_f26; - *(undefined8 *)(ppiVar1 + 0x68) = unaff_f28; - *(undefined8 *)(ppiVar1 + 0x6a) = unaff_f30; - ppiVar1[0x4b] = in_fcsr; - } - uVar2 = (uint)ppiVar1[0x46] & 0xff00; - if (uVar2 != 0) { - ppiVar1[0x46] = - (int *)((uint)ppiVar1[0x46] & 0xffff00ff | uVar2 | (DAT_800269cc ^ 0xffffffff) & 0xff00); - } - piVar3 = _DAT_a430000c; - if (_DAT_a430000c != NULL) { - piVar3 = (int *)((uint)_DAT_a430000c | - (DAT_800269cc >> 0x10 ^ 0xffffffff) & 0x3f & (uint)ppiVar1[0x4a]); - } - ppiVar1[0x4a] = piVar3; - if (lParm1 != 0) { - loc_700108E0((int **)lParm1,ppiVar1); - } - FUN_70010944(); - return; -} - - - -void loc_700108E0(int **param_1,int **param_2) - -{ - int *piVar1; - int **ppiVar2; - int **ppiVar3; - int **ppiVar4; - - piVar1 = (int *)(*param_1)[1]; - ppiVar4 = (int **)*param_1; - ppiVar3 = param_1; - while (ppiVar2 = ppiVar4, (int)param_2[1] <= (int)piVar1) { - ppiVar4 = (int **)*ppiVar2; - piVar1 = ppiVar4[1]; - ppiVar3 = ppiVar2; - } - *param_2 = *ppiVar3; - *(int ***)ppiVar3 = param_2; - *(int ***)(param_2 + 2) = param_1; - return; -} - - - -void __osPopThread(undefined4 *param_1) - -{ - *param_1 = *(undefined4 *)*param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_70010944(void) - -{ - int iVar1; - - iVar1 = __osPopThread(&PTR_DAT_80027768); - DAT_80027770 = iVar1; - *(undefined2 *)(iVar1 + 0x10) = 4; - setCopReg(0,Status,(longlong)*(int *)(iVar1 + 0x118) & 0xffffffffffff00ffU | - (longlong)*(int *)(iVar1 + 0x118) & 0xff00U & - (longlong)(int)DAT_800269cc & 0xff00U,0); - setCopReg(0,EPC,(longlong)*(int *)(iVar1 + 0x11c),0); - _DAT_a430000c = - (uint)*(ushort *)(&DAT_800293e0 + (*(uint *)(iVar1 + 0x128) & DAT_800269cc >> 0x10) * 2); - return *(undefined8 *)(iVar1 + 0x28); -} - - - -void locret_70010AC8(undefined4 *param_1,undefined4 *param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar2 = (undefined4 *)*param_1; - while( true ) { - puVar1 = puVar2; - if (puVar1 == NULL) { - return; - } - if (puVar1 == param_2) break; - puVar2 = (undefined4 *)*puVar1; - param_1 = puVar1; - } - *param_1 = *param_2; - return; -} - - - -void FUN_70010b10(void) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - *(undefined2 *)(DAT_80027770 + 0x10) = 2; - FUN_700107ec(&PTR_DAT_80027768); - __osRestoreInt(uVar1); - return; -} - - - -void loc_70010BB4(ulonglong param_1,ulonglong param_2) - -{ - bool bVar1; - int iVar2; - int iVar4; - ulonglong uVar3; - - if (0 < (longlong)param_2) { - if (0x1fff < param_2) { - uVar3 = 0xffffffff80000000; - do { - cacheOp(1,uVar3); - bVar1 = uVar3 < 0xffffffff80001ff0; - uVar3 = SEXT48((int)uVar3 + 0x10); - } while (bVar1); - return; - } - iVar4 = (int)param_1 + (int)param_2; - if (param_1 < (ulonglong)(longlong)iVar4) { - iVar4 += -0x10; - uVar3 = SEXT48(iVar4); - if ((param_1 & 0xf) != 0) { - iVar2 = (int)param_1 - (int)(param_1 & 0xf); - cacheOp(0x15,(longlong)iVar2); - if (uVar3 <= (ulonglong)(longlong)iVar2) { - return; - } - param_1 = SEXT48(iVar2 + 0x10); - } - if ((uVar3 & 0xf) != 0) { - uVar3 = SEXT48(iVar4 - (int)(uVar3 & 0xf)); - cacheOp(0x15,uVar3 + 0x10); - if (uVar3 < param_1) { - return; - } - } - do { - cacheOp(0x11,param_1); - bVar1 = param_1 < uVar3; - param_1 = SEXT48((int)param_1 + 0x10); - } while (bVar1); - } - } - return; -} - - - -void loc_70010C2C(uint param_1,ulonglong param_2) - -{ - bool bVar1; - ulonglong uVar2; - uint uVar3; - - if (0 < (longlong)param_2) { - if (0x1fff < param_2) { - uVar2 = 0xffffffff80000000; - do { - cacheOp(1,uVar2); - bVar1 = uVar2 < 0xffffffff80001ff0; - uVar2 = SEXT48((int)uVar2 + 0x10); - } while (bVar1); - return; - } - uVar3 = param_1 + (int)param_2; - if (param_1 < uVar3) { - uVar2._4_4_ = param_1 - (param_1 & 0xf); - do { - uVar2 = SEXT48(uVar2._4_4_); - cacheOp(0x19,uVar2); - uVar2._4_4_ += 0x10; - } while (uVar2 < (ulonglong)(longlong)(int)(uVar3 - 0x10)); - } - } - return; -} - - - -undefined8 -loc_70010D10(int **ppiParm1,undefined8 uParm2,int *piParm3,int *piParm4,int *piParm5,int *piParm6, - int *piParm7,int *piParm8) - -{ - int *piVar1; - int in_v1_lo; - - *ppiParm1 = NULL; - ppiParm1[1] = NULL; - ppiParm1[3] = piParm6; - ppiParm1[2] = piParm5; - if ((piParm3 == NULL) && (piParm4 == NULL)) { - ppiParm1[4] = piParm5; - ppiParm1[5] = piParm6; - } - else { - ppiParm1[4] = piParm3; - ppiParm1[5] = piParm4; - } - ppiParm1[6] = piParm7; - ppiParm1[7] = piParm8; - piVar1 = FUN_700188e8(ppiParm1); - if ((int **)*DAT_80028010 == ppiParm1) { - FUN_70018874((longlong)(int)piVar1,in_v1_lo); - } - return 0; -} - - - -void loc_70010D50(uint *param_1,uint param_2,uint param_3) - -{ - int iVar1; - - iVar1 = 0x10 - (param_2 & 0xf); - if (iVar1 == 0x10) { - *param_1 = param_2; - } - else { - *param_1 = param_2 + iVar1; - } - param_1[2] = param_3; - param_1[3] = 0; - param_1[1] = *param_1; - return; -} - - - -void locret_70010E64(int param_1,int param_2,undefined8 param_3,int param_4) - -{ - longlong lVar1; - int iVar2; - int iVar4; - longlong lVar3; - int *piVar5; - int *piVar6; - - if (*(char *)(param_1 + 3) == '\0') { - *(undefined *)(param_1 + 3) = 1; - lVar1 = 0; - if (0 < *(short *)(param_1 + 0xe)) { - iVar4 = *(int *)(param_1 + 0x10); - iVar2 = param_1; - do { - piVar6 = (int *)(iVar4 + param_2); - *(int **)(iVar2 + 0x10) = piVar6; - if (*(char *)((int)piVar6 + 0xe) == '\0') { - *(undefined *)((int)piVar6 + 0xe) = 1; - *piVar6 = *piVar6 + param_2; - piVar5 = (int *)(piVar6[2] + param_2); - piVar6[1] = piVar6[1] + param_2; - *(int **)(piVar6 + 2) = piVar5; - if (*(char *)((int)piVar5 + 9) == '\0') { - *(undefined *)((int)piVar5 + 9) = 1; - *piVar5 = *piVar5 + param_4; - if (*(char *)(piVar5 + 2) == '\0') { - piVar5[4] = piVar5[4] + param_2; - if (piVar5[3] != 0) { - piVar5[3] = piVar5[3] + param_2; - } - } - else { - if (*(char *)(piVar5 + 2) != '\x01') { - lVar3 = (longlong)*(short *)(param_1 + 0xe); - goto LAB_70010e90; - } - if (piVar5[3] != 0) { - piVar5[3] = piVar5[3] + param_2; - } - } - lVar3 = (longlong)*(short *)(param_1 + 0xe); - } - else { - lVar3 = (longlong)*(short *)(param_1 + 0xe); - } - } - else { - lVar3 = (longlong)*(short *)(param_1 + 0xe); - } -LAB_70010e90: - lVar1 = (longlong)((int)lVar1 + 1); - if (lVar3 <= lVar1) { - return; - } - iVar4 = *(int *)(iVar2 + 0x14); - iVar2 = iVar2 + 4; - } while( true ); - } - } - return; -} - - - -void loc_70010F58(short *param_1,int param_2,undefined8 param_3) - -{ - int iVar1; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - longlong lVar2; - int iVar3; - longlong lVar4; - short *psVar5; - longlong lVar6; - longlong lVar7; - - if ((*param_1 != 0x4231) || (lVar6 = 0, param_1[1] < 1)) { - return; - } - lVar7._4_4_ = *(int *)(param_1 + 2); - psVar5 = param_1; - do { - lVar7._4_4_ += (int)param_1; - lVar7 = (longlong)lVar7._4_4_; - *(int *)(psVar5 + 2) = lVar7._4_4_; - if (lVar7 == 0) { -LAB_70010f80: - lVar7 = (longlong)param_1[1]; - } - else { - if (*(char *)(lVar7._4_4_ + 2) == '\0') { - *(undefined *)(lVar7._4_4_ + 2) = 1; - lVar2 = 0; - iVar1 = *(int *)(lVar7._4_4_ + 8) + (int)param_1; - if (*(int *)(lVar7._4_4_ + 8) != 0) { - *(int *)(lVar7._4_4_ + 8) = iVar1; - locret_70010E64(iVar1,(int)param_1,param_3,param_2); - param_3 = extraout_a2; - } - if (0 < *(short *)lVar7) { - lVar7._4_4_ = *(int *)((short *)lVar7 + 6); - lVar4 = lVar7; - while( true ) { - iVar1 = (int)lVar7; - iVar3 = (int)lVar2; - lVar7._4_4_ += (int)param_1; - *(int *)(iVar1 + 0xc) = lVar7._4_4_; - if (lVar7._4_4_ != 0) { - locret_70010E64(lVar7._4_4_,(int)param_1,param_3,param_2); - param_3 = extraout_a2_00; - } - lVar2 = (longlong)(iVar3 + 1); - lVar7 = (longlong)(iVar1 + 4); - if ((longlong)*(short *)lVar4 <= lVar2) break; - lVar7._4_4_ = *(int *)(iVar1 + 0x10); - } - goto LAB_70010f80; - } - lVar7 = (longlong)param_1[1]; - } - else { - lVar7 = (longlong)param_1[1]; - } - } - lVar6 = (longlong)((int)lVar6 + 1); - if (lVar7 <= lVar6) { - return; - } - lVar7._4_4_ = *(int *)(psVar5 + 4); - psVar5 = psVar5 + 2; - } while( true ); -} - - - -void loc_70011024(int param_1) - -{ - longlong lVar1; - uint uStack20; - undefined2 auStack16 [8]; - - if (*(int *)(param_1 + 0x2c) == 1) { - if ((*(int *)(param_1 + 0x18) != 0) && - (lVar1 = loc_70012CD8(*(int *)(param_1 + 0x18),&uStack20), lVar1 != 0)) { - auStack16[0] = 0; - FUN_70012f3c((int **)(param_1 + 0x48),(undefined *)auStack16, - (int *)(*(int *)(param_1 + 0x24) * uStack20)); - } - } - return; -} - - - -void locret_7001105C(float param_1,int param_2) - -{ - if (*(int *)(param_2 + 0x18) == 0) { - *(undefined4 *)(param_2 + 0x24) = 0x1e8; - return; - } - *(int *)(param_2 + 0x24) = (int)(param_1 * *(float *)(*(int *)(param_2 + 0x18) + 8)); - return; -} - - - -void loc_70011230(undefined8 param_1,int param_2) - -{ - int iVar1; - int iVar2; - int **ppiVar3; - ulonglong uVar4; - int *piVar5; - int *piVar6; - int **ppiVar7; - int **ppiVar8; - int unaff_s7_lo; - - ppiVar8 = NULL; - if ((*(char *)(param_2 + 8) == -1) && (*(char *)(param_2 + 9) == 'Q')) { - iVar1 = *(int *)(unaff_s7_lo + 0x24); - locret_7001105C((float)((uint)*(byte *)(param_2 + 0xb) << 0x10 | - (uint)*(byte *)(param_2 + 0xc) << 8 | (uint)*(byte *)(param_2 + 0xd)), - unaff_s7_lo); - ppiVar3 = *(int ***)(unaff_s7_lo + 0x50); - piVar6 = NULL; - while (ppiVar7 = ppiVar3, ppiVar7 != NULL) { - ppiVar3 = (int **)*ppiVar7; - piVar5 = (int *)((int)piVar6 + (int)ppiVar7[2]); - piVar6 = piVar5; - if (*(short *)(ppiVar7 + 3) == 0x15) { - alUnlink((int *)ppiVar7); - if (ppiVar8 == NULL) { - *ppiVar7 = NULL; - ppiVar7[1] = NULL; - ppiVar8 = ppiVar7; - } - else { - alLink(ppiVar7,ppiVar8); - } - piVar6 = piVar5; - if (ppiVar3 != NULL) { - piVar6 = (int *)((int)piVar5 - (int)ppiVar7[2]); - ppiVar3[2] = (int *)((int)ppiVar3[2] + (int)ppiVar7[2]); - } - ppiVar7[2] = piVar5; - } - } - if (ppiVar8 != NULL) { - do { - ppiVar3 = (int **)*ppiVar8; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (ppiVar8[2] == (int *)&DAT_80000000)) { - trap(0x1800); - } - ppiVar8[2] = (int *)(*(int *)(unaff_s7_lo + 0x24) * ((int)ppiVar8[2] / iVar1)); - uVar4 = osSetIntMask(1); - if (unaff_s7_lo != -0x50) { - piVar6 = *(int **)(unaff_s7_lo + 0x50); - ppiVar7 = (int **)(unaff_s7_lo + 0x50); - while (piVar6 != NULL) { - piVar5 = ppiVar8[2]; - iVar2 = piVar6[2]; - if ((int)piVar5 < iVar2) { - piVar6[2] = iVar2 - (int)piVar5; - alLink(ppiVar8,ppiVar7); - goto LAB_7001125c; - } - ppiVar8[2] = (int *)((int)piVar5 - iVar2); - ppiVar7 = (int **)*ppiVar7; - if (ppiVar7 == NULL) goto LAB_7001125c; - piVar6 = *ppiVar7; - } - alLink(ppiVar8,ppiVar7); - } -LAB_7001125c: - osSetIntMask(uVar4); - ppiVar8 = ppiVar3; - } while (ppiVar3 != NULL); - } - } - return; -} - - - -void loc_70011A58(void) - -{ - byte bVar1; - byte bVar2; - char cVar3; - int iVar4; - int iVar5; - int *piVar6; - int iVar7; - int **ppiVar9; - longlong lVar8; - undefined2 uVar11; - undefined4 *puVar10; - short sVar12; - uint uVar13; - undefined4 *puVar14; - byte bVar15; - int in_t0_lo; - ulonglong uVar16; - int unaff_s2_lo; - int **ppiVar17; - uint uVar18; - float fVar19; - float fVar20; - undefined uVar22; - float fVar21; - undefined4 auStack92 [2]; - float afStack84 [4]; - ushort uStack68; - undefined2 uStack66; - undefined uStack64; - undefined2 auStack44 [2]; - undefined4 *puStack40; - uint uStack36; - byte bStack32; - - bVar1 = *(byte *)(in_t0_lo + 9); - bVar2 = *(byte *)(in_t0_lo + 10); - uVar13 = (uint)*(byte *)(in_t0_lo + 8) & 0xf0; - uVar16 = (ulonglong)*(byte *)(in_t0_lo + 8) & 0xf; - if (0x60 < uVar13 - 0x80) { - return; - } - uVar18 = (uint)uVar16; - bVar15 = (byte)uVar16; - switch(uVar13) { - case 0x80: - goto LAB_70011664; - case 0x90: - if (bVar2 != 0) { - if (*(int *)(unaff_s2_lo + 0x2c) != 1) { - return; - } - ppiVar9 = (int **)loc_7001C450(unaff_s2_lo,bVar1,bVar2,uVar18); - if (ppiVar9 == NULL) { - return; - } - iVar7 = uVar18 * 0x10; - uStack66 = 0; - uStack64 = 0; - uStack68 = (ushort)*(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar7 + 8); - puVar10 = locret_7001C358(unaff_s2_lo,bVar1,bVar2,bVar15); - if (puVar10 == NULL) { - return; - } - puVar14 = puVar10 + 1; - loc_70013380(*(int *)(unaff_s2_lo + 0x14),(int)puVar14,(short *)&uStack68); - *(int ***)(puVar10 + 8) = ppiVar9; - *(undefined *)(puVar10 + 0xd) = 0; - if (*(byte *)(*(int *)(unaff_s2_lo + 0x60) + iVar7 + 0xb) < 0x40) { - *(undefined *)((int)puVar10 + 0x35) = 0; - } - else { - *(undefined *)((int)puVar10 + 0x35) = 2; - } - fVar19 = FUN_70013800((int)((((uint)bVar1 - (uint)*(byte *)(ppiVar9[1] + 1)) * 100 + - (int)*(char *)((int)ppiVar9[1] + 5)) * 0x10000) >> 0x10); - *(float *)(puVar10 + 10) = fVar19; - *(undefined *)(puVar10 + 0xc) = *(undefined *)(*ppiVar9 + 3); - iVar4 = *(int *)(unaff_s2_lo + 0x1c); - iVar5 = **ppiVar9; - *(undefined *)((int)puVar10 + 0x37) = 0; - puVar10[9] = iVar4 + iVar5; - iVar4 = *(int *)(*(int *)(unaff_s2_lo + 0x60) + iVar7); - afStack84[0] = 127.00000000; - if (((*(byte *)(iVar4 + 4) != 0) && (*(code **)(unaff_s2_lo + 0x70) != NULL)) && - (lVar8 = (**(code **)(unaff_s2_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar4 + 4), - (ulonglong)*(byte *)(iVar4 + 5),(uint)*(byte *)(iVar4 + 6), - (uint)*(byte *)(iVar4 + 7)), lVar8 != 0)) { - auStack44[0] = 0x16; - uStack36 = auStack92[0]; - puStack40 = puVar10; - FUN_70012f3c((int **)(unaff_s2_lo + 0x48),(undefined *)auStack44,(int *)lVar8); - *(byte *)((int)puVar10 + 0x37) = *(byte *)((int)puVar10 + 0x37) | 1; - } - if (false) { - fVar19 = ROUND(afStack84[0]); - } - else { - fVar19 = FLOOR(afStack84[0]); - } - uVar22 = (undefined)(int)fVar19; - if (false) { - if (false) { - fVar19 = ROUND(afStack84[0] - 2147483648.00000000); - } - else { - fVar19 = FLOOR(afStack84[0] - 2147483648.00000000); - } - if (true) { - uVar22 = (undefined)(int)fVar19; - goto LAB_700114d0; - } - } - else { - if (-1 < (int)fVar19) goto LAB_700114d0; - } - uVar22 = 0xff; -LAB_700114d0: - *(undefined *)((int)puVar10 + 0x36) = uVar22; - afStack84[0] = 1.00000000; - ppiVar17 = (int **)(unaff_s2_lo + 0x48); - if (((*(byte *)(iVar4 + 8) != 0) && (*(code **)(unaff_s2_lo + 0x70) != NULL)) && - (lVar8 = (**(code **)(unaff_s2_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar4 + 8), - (ulonglong)*(byte *)(iVar4 + 9),(uint)*(byte *)(iVar4 + 10), - (uint)*(byte *)(iVar4 + 0xb)), lVar8 != 0)) { - auStack44[0] = 0x17; - uStack36 = auStack92[0]; - puStack40 = puVar10; - bStack32 = bVar15; - FUN_70012f3c(ppiVar17,(undefined *)auStack44,(int *)lVar8); - *(byte *)((int)puVar10 + 0x37) = *(byte *)((int)puVar10 + 0x37) | 2; - } - fVar21 = (float)puVar10[10]; - *(float *)(puVar10 + 0xb) = afStack84[0]; - fVar19 = (float)puVar10[0xb]; - iVar7 = *(int *)(unaff_s2_lo + 0x60) + iVar7; - fVar20 = *(float *)(iVar7 + 0xc); - cVar3 = *(char *)(iVar7 + 10); - uVar13 = locret_7001C274((int)puVar10,unaff_s2_lo); - uVar11 = __vsVol((int)puVar10,unaff_s2_lo); - piVar6 = (int *)**ppiVar9; - loc_7001D678(*(int *)(unaff_s2_lo + 0x14),(int)puVar14,ppiVar9[2],fVar20 * fVar21 * fVar19, - uVar11,(char)uVar13,cVar3,(int)piVar6); - auStack44[0] = 6; - bStack32 = *(undefined *)((int)*ppiVar9 + 0xd); - uStack36 = (*ppiVar9)[1]; - puStack40 = puVar14; - FUN_70012f3c(ppiVar17,(undefined *)auStack44,piVar6); - if (*(int *)(in_t0_lo + 0xc) == 0) { - return; - } - auStack44[0] = 0x15; - uStack36 = (uint)bVar15 << 0x18 | 0x80000000 | - (uint)CONCAT12(bVar1,(short)uStack36) & 0xffff00ff; - FUN_70012f3c(ppiVar17,(undefined *)auStack44, - (int *)(*(int *)(unaff_s2_lo + 0x24) * *(int *)(in_t0_lo + 0xc))); - return; - } -LAB_70011664: - puVar10 = loc_7001C2E4(unaff_s2_lo,bVar1,bVar15); - if (puVar10 != NULL) { - if (*(char *)((int)puVar10 + 0x35) == '\x02') { - *(undefined *)((int)puVar10 + 0x35) = 4; - } - else { - *(undefined *)((int)puVar10 + 0x35) = 3; - loc_7001BF40(unaff_s2_lo,puVar10 + 1,*(int **)(*(int *)puVar10[8] + 8)); - } - } - break; - case 0xa0: - puVar10 = loc_7001C2E4(unaff_s2_lo,bVar1,bVar15); - if (puVar10 != NULL) { - *(byte *)((int)puVar10 + 0x33) = bVar2; - sVar12 = __vsVol((int)puVar10,unaff_s2_lo); - iVar7 = locret_7001BE0C((int)puVar10,*(int *)(unaff_s2_lo + 0x1c)); - loc_70013430(*(int *)(unaff_s2_lo + 0x14),(int)(puVar10 + 1),sVar12,iVar7); - } - break; - case 0xb0: - if (bVar1 == 7) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar18 * 0x10 + 9) = bVar2; - puVar10 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar10 != NULL) { - bVar1 = *(byte *)((int)puVar10 + 0x31); - while( true ) { - if (uVar16 == (ulonglong)bVar1) { - if (*(char *)(puVar10 + 0xd) == '\x03') { - puVar10 = (undefined4 *)*puVar10; - } - else { - sVar12 = __vsVol((int)puVar10,unaff_s2_lo); - iVar7 = locret_7001BE0C((int)puVar10,*(int *)(unaff_s2_lo + 0x1c)); - loc_70013430(*(int *)(unaff_s2_lo + 0x14),(int)(puVar10 + 1),sVar12,iVar7); - puVar10 = (undefined4 *)*puVar10; - } - } - else { - puVar10 = (undefined4 *)*puVar10; - } - if (puVar10 == NULL) break; - bVar1 = *(byte *)((int)puVar10 + 0x31); - } - } - } - else { - if (bVar1 == 10) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar18 * 0x10 + 7) = bVar2; - puVar10 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar10 != NULL) { - bVar1 = *(byte *)((int)puVar10 + 0x31); - while( true ) { - if (uVar16 == (ulonglong)bVar1) { - uVar13 = locret_7001C274((int)puVar10,unaff_s2_lo); - FUN_70013510(*(int *)(unaff_s2_lo + 0x14),(int)(puVar10 + 1),uVar13 & 0xff); - puVar10 = (undefined4 *)*puVar10; - } - else { - puVar10 = (undefined4 *)*puVar10; - } - if (puVar10 == NULL) break; - bVar1 = *(byte *)((int)puVar10 + 0x31); - } - } - } - else { - if (bVar1 == 0x10) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar18 * 0x10 + 8) = bVar2; - } - else { - if (bVar1 == 0x40) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar18 * 0x10 + 0xb) = bVar2; - puVar10 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar10 != NULL) { - bVar1 = *(byte *)((int)puVar10 + 0x31); - do { - if (uVar16 == (ulonglong)bVar1) { - cVar3 = *(char *)((int)puVar10 + 0x35); - if (cVar3 == '\x03') { - puVar10 = (undefined4 *)*puVar10; - } - else { - if (bVar2 < 0x40) { - if (cVar3 == '\x02') { - *(undefined *)((int)puVar10 + 0x35) = 0; - } - else { - if (cVar3 != '\x04') { - puVar10 = (undefined4 *)*puVar10; - goto LAB_70011968; - } - *(undefined *)((int)puVar10 + 0x35) = 3; - loc_7001BF40(unaff_s2_lo,puVar10 + 1,*(int **)(*(int *)puVar10[8] + 8)); - } - } - else { - if (cVar3 != '\0') { - puVar10 = (undefined4 *)*puVar10; - goto LAB_70011968; - } - *(undefined *)((int)puVar10 + 0x35) = 2; - } - puVar10 = (undefined4 *)*puVar10; - } - } - else { - puVar10 = (undefined4 *)*puVar10; - } -LAB_70011968: - if (puVar10 == NULL) { - return; - } - bVar1 = *(byte *)((int)puVar10 + 0x31); - } while( true ); - } - } - else { - if (bVar1 == 0x5b) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar18 * 0x10 + 10) = bVar2; - puVar10 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar10 != NULL) { - bVar1 = *(byte *)((int)puVar10 + 0x31); - while( true ) { - if (uVar16 == (ulonglong)bVar1) { - FUN_70013630(*(int *)(unaff_s2_lo + 0x14),(int)(puVar10 + 1),bVar2); - puVar10 = (undefined4 *)*puVar10; - } - else { - puVar10 = (undefined4 *)*puVar10; - } - if (puVar10 == NULL) break; - bVar1 = *(byte *)((int)puVar10 + 0x31); - } - } - } - } - } - } - } - break; - case 0xc0: - if ((longlong)(ulonglong)bVar1 < (longlong)**(short **)(unaff_s2_lo + 0x20)) { - __setInstChanState(unaff_s2_lo, - *(undefined **)(*(short **)(unaff_s2_lo + 0x20) + (uint)bVar1 * 2 + 6), - uVar18); - } - break; - case 0xd0: - puVar10 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar10 != NULL) { - bVar2 = *(byte *)((int)puVar10 + 0x31); - while( true ) { - if (uVar16 == (ulonglong)bVar2) { - *(byte *)((int)puVar10 + 0x33) = bVar1; - sVar12 = __vsVol((int)puVar10,unaff_s2_lo); - iVar7 = locret_7001BE0C((int)puVar10,*(int *)(unaff_s2_lo + 0x1c)); - loc_70013430(*(int *)(unaff_s2_lo + 0x14),(int)(puVar10 + 1),sVar12,iVar7); - puVar10 = (undefined4 *)*puVar10; - } - else { - puVar10 = (undefined4 *)*puVar10; - } - if (puVar10 == NULL) break; - bVar2 = *(byte *)((int)puVar10 + 0x31); - } - } - break; - case 0xe0: - iVar7 = (int)*(short *)(*(int *)(unaff_s2_lo + 0x60) + uVar18 * 0x10 + 4) * - ((uint)bVar2 * 0x80 + (uint)bVar1 + -0x2000); - if (iVar7 < 0) { - iVar7 += 0x1fff; - } - fVar19 = FUN_70013800(iVar7 >> 0xd); - *(float *)(*(int *)(unaff_s2_lo + 0x60) + uVar18 * 0x10 + 0xc) = fVar19; - puVar10 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar10 != NULL) { - bVar1 = *(byte *)((int)puVar10 + 0x31); - while( true ) { - if (uVar16 == (ulonglong)bVar1) { - FUN_700135a0(*(int *)(unaff_s2_lo + 0x14),(int)(puVar10 + 1), - (float)puVar10[10] * fVar19 * (float)puVar10[0xb]); - puVar10 = (undefined4 *)*puVar10; - } - else { - puVar10 = (undefined4 *)*puVar10; - } - if (puVar10 == NULL) break; - bVar1 = *(byte *)((int)puVar10 + 0x31); - } - } - } - return; -} - - - -void loc_70012030(longlong param_1) - -{ - byte bVar1; - int iVar2; - undefined4 uVar3; - undefined4 *puVar4; - float fVar5; - int iVar6; - short sVar11; - int iVar8; - int iVar9; - longlong lVar7; - int *piVar10; - undefined8 extraout_a0; - longlong extraout_a0_00; - undefined2 *puVar12; - int *piVar13; - longlong lVar14; - int **ppiVar15; - undefined uVar16; - short asStack72 [16]; - float afStack40 [5]; - undefined2 auStack20 [2]; - int iStack16; - undefined4 uStack12; - byte bStack8; - - puVar12 = (undefined2 *)((int)param_1 + 0x38); - ppiVar15 = (int **)((int)param_1 + 0x48); - lVar14 = param_1; - do { - iVar6 = (int)lVar14; - if (true) { - switch(*(undefined2 *)(iVar6 + 0x38)) { - case 0: - if ((*(int *)(iVar6 + 0x18) != 0) && (loc_70012784(*(int *)(iVar6 + 0x18),asStack72), true)) - { - switch(asStack72[0]) { - case 1: - loc_70011A58(); - lVar14 = (longlong)iVar6; - loc_70011024(iVar6); - break; - case 3: - loc_70011230(extraout_a0,(int)asStack72); - lVar14 = (longlong)iVar6; - loc_70011024(iVar6); - break; - case 4: - *(undefined4 *)(iVar6 + 0x2c) = 2; - asStack72[0] = 0x10; - FUN_70012f3c(ppiVar15,(undefined *)asStack72,(int *)0x7fffffff); - break; - case 0x12: - case 0x13: - case 0x14: - loc_70011024(iVar6); - } - } - break; - case 2: - case 0x15: - loc_70011A58(); - lVar14 = (longlong)iVar6; - break; - case 5: - iVar9 = *(int *)(iVar6 + 0x3c); - alSynStopVoice(*(int *)(iVar6 + 0x14),iVar9); - loc_700137B4(*(int *)(iVar6 + 0x14),iVar9); - if (*(char *)((int)*(int **)(iVar9 + 0x10) + 0x37) != '\0') { - unknown_libname_42(iVar6,*(int **)(iVar9 + 0x10)); - } - locret_7001C0D8(iVar6,iVar9); - break; - case 6: - iVar9 = *(int *)(iVar6 + 0x3c); - iVar8 = *(int *)(iVar9 + 0x10); - if (*(char *)(iVar8 + 0x34) == '\0') { - *(undefined *)(iVar8 + 0x34) = 1; - iVar2 = *(int *)(iVar6 + 0x40); - } - else { - iVar2 = *(int *)(iVar6 + 0x40); - } - *(int *)(iVar8 + 0x24) = *(int *)(iVar6 + 0x1c) + iVar2; - *(undefined *)(iVar8 + 0x30) = *(undefined *)(iVar6 + 0x44); - sVar11 = __vsVol(iVar8,iVar6); - loc_70013430(*(int *)(iVar6 + 0x14),iVar9,sVar11,iVar2); - break; - case 7: - loc_70011230(param_1,(int)puVar12); - lVar14 = (longlong)iVar6; - break; - case 9: - auStack20[0] = 9; - FUN_70012f3c(ppiVar15,(undefined *)auStack20,*(int **)(iVar6 + 0x5c)); - break; - case 10: - puVar4 = *(undefined4 **)(iVar6 + 100); - *(undefined2 *)(iVar6 + 0x32) = *(undefined2 *)(iVar6 + 0x3c); - while (puVar4 != NULL) { - sVar11 = __vsVol((int)puVar4,iVar6); - iVar9 = locret_7001BE0C((int)puVar4,*(int *)(iVar6 + 0x1c)); - loc_70013430(*(int *)(iVar6 + 0x14),(int)(puVar4 + 1),sVar11,iVar9); - puVar4 = (undefined4 *)*puVar4; - } - break; - case 0xc: - *(undefined *)(*(int *)(iVar6 + 0x60) + (uint)*(byte *)(iVar6 + 0x3c) * 0x10 + 8) = - *(undefined *)(iVar6 + 0x3d); - break; - case 0xd: - *(undefined4 *)(iVar6 + 0x18) = *(undefined4 *)(iVar6 + 0x3c); - locret_7001105C(DAT_80029704,iVar6); - if (*(int *)(iVar6 + 0x20) != 0) { - loc_7001BDD4(iVar6,*(int *)(iVar6 + 0x20)); - } - break; - case 0xe: - *(int *)(iVar6 + 0x20) = *(int *)(iVar6 + 0x3c); - loc_7001BDD4(iVar6,*(int *)(iVar6 + 0x3c)); - break; - case 0xf: - if (*(int *)(iVar6 + 0x2c) != 1) { - *(undefined4 *)(iVar6 + 0x2c) = 1; - loc_70011024(iVar6); - } - break; - case 0x10: - if (*(int *)(iVar6 + 0x2c) == 2) { - piVar10 = *(int **)(iVar6 + 100); - while (piVar10 != NULL) { - piVar13 = piVar10 + 1; - alSynStopVoice(*(int *)(iVar6 + 0x14),(int)piVar13); - loc_700137B4(*(int *)(iVar6 + 0x14),(int)piVar13); - if (*(char *)((int)piVar10 + 0x37) != '\0') { - unknown_libname_42(iVar6,piVar10); - } - locret_7001C0D8(iVar6,(int)piVar13); - piVar10 = *(int **)(iVar6 + 100); - } - *(undefined4 *)(iVar6 + 0x2c) = 0; - } - break; - case 0x11: - if (*(int *)(iVar6 + 0x2c) == 1) { - loc_70012E68(ppiVar15,0); - loc_70012E68(ppiVar15,0x15); - loc_70012E68(ppiVar15,2); - puVar4 = *(undefined4 **)(iVar6 + 100); - while (puVar4 != NULL) { - lVar7 = loc_7001C05C(iVar6,puVar4 + 1,50000); - if (lVar7 != 0) { - loc_7001BF40(iVar6,puVar4 + 1,(int *)0xc350); - } - puVar4 = (undefined4 *)*puVar4; - } - *(undefined4 *)(iVar6 + 0x2c) = 2; - auStack20[0] = 0x10; - FUN_70012f3c(ppiVar15,(undefined *)auStack20,(int *)0x7fffffff); - } - break; - case 0x16: - uVar3 = *(undefined4 *)(iVar6 + 0x40); - iVar9 = *(int *)(iVar6 + 0x3c); - piVar10 = (int *)(**(code **)(iVar6 + 0x74))(uVar3,afStack40); - if (false) { - fVar5 = ROUND(afStack40[0]); - } - else { - fVar5 = FLOOR(afStack40[0]); - } - uVar16 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar5 = ROUND(afStack40[0] - 2147483648.00000000); - } - else { - fVar5 = FLOOR(afStack40[0] - 2147483648.00000000); - } - if (false) goto LAB_70011d38; - uVar16 = (undefined)(int)fVar5; - } - else { - if ((int)fVar5 < 0) { -LAB_70011d38: - uVar16 = 0xff; - } - } - *(undefined *)(iVar9 + 0x36) = uVar16; - sVar11 = __vsVol(iVar9,iVar6); - iVar8 = locret_7001BE0C(iVar9,*(int *)(iVar6 + 0x1c)); - loc_70013430(*(int *)(iVar6 + 0x14),iVar9 + 4,sVar11,iVar8); - auStack20[0] = 0x16; - iStack16 = iVar9; - uStack12 = uVar3; - FUN_70012f3c(ppiVar15,(undefined *)auStack20,piVar10); - break; - case 0x17: - uVar3 = *(undefined4 *)(iVar6 + 0x40); - iVar9 = *(int *)(iVar6 + 0x3c); - bVar1 = *(byte *)(iVar6 + 0x44); - piVar10 = (int *)(**(code **)(iVar6 + 0x74))(uVar3,afStack40); - *(float *)(iVar9 + 0x2c) = afStack40[0]; - FUN_700135a0(*(int *)(iVar6 + 0x14),iVar9 + 4, - *(float *)(*(int *)(iVar6 + 0x60) + (uint)bVar1 * 0x10 + 0xc) * - *(float *)(iVar9 + 0x28) * *(float *)(iVar9 + 0x2c)); - auStack20[0] = 0x17; - iStack16 = iVar9; - uStack12 = uVar3; - bStack8 = bVar1; - FUN_70012f3c(ppiVar15,(undefined *)auStack20,piVar10); - } - } - piVar10 = FUN_70013060(ppiVar15,puVar12); - iVar6 = (int)lVar14; - *(int **)(iVar6 + 0x28) = piVar10; - param_1 = extraout_a0_00; - if (piVar10 != NULL) { - *(int *)(iVar6 + 0x1c) = *(int *)(iVar6 + 0x1c) + (int)piVar10; - return; - } - } while( true ); -} - - - -void loc_70012188(undefined4 *param_1,int *param_2) - -{ - int *piVar1; - int iVar2; - int **ppiVar3; - undefined4 *puVar4; - undefined4 uVar5; - - piVar1 = (int *)param_2[3]; - param_1[8] = 0; - param_1[6] = 0; - puVar4 = DAT_80027720; - *(undefined2 *)(param_1 + 0xc) = 0xff; - param_1[9] = 0x1e8; - param_1[10] = 0; - param_1[0xb] = 0; - *(undefined2 *)((int)param_1 + 0x32) = 0x7fff; - param_1[0x17] = 16000; - param_1[7] = 0; - *(undefined4 **)(param_1 + 5) = puVar4; - param_1[0x1c] = param_2[4]; - param_1[0x1d] = param_2[5]; - iVar2 = param_2[6]; - *(undefined2 *)(param_1 + 0xe) = 9; - param_1[0x1e] = iVar2; - *(undefined *)(param_1 + 0xd) = *(undefined *)(param_2 + 2); - iVar2 = alHeapDBAlloc(0,0,piVar1,(uint)*(byte *)(param_2 + 2),0x10); - param_1[0x18] = iVar2; - loc_7001D3FC((int)param_1); - puVar4 = (undefined4 *)alHeapDBAlloc(0,0,piVar1,*param_2,0x38); - param_1[0x1b] = 0; - iVar2 = 0; - if (0 < *param_2) { - uVar5 = param_1[0x1b]; - while( true ) { - iVar2 += 1; - *puVar4 = uVar5; - *(undefined4 **)(param_1 + 0x1b) = puVar4; - puVar4 = puVar4 + 0xe; - if (*param_2 <= iVar2) break; - uVar5 = param_1[0x1b]; - } - } - param_1[0x19] = 0; - param_1[0x1a] = 0; - ppiVar3 = (int **)alHeapDBAlloc(0,0,piVar1,param_2[1],0x1c); - loc_70013104((int **)(param_1 + 0x12),ppiVar3,param_2[1]); - *param_1 = 0; - param_1[2] = 0x70011aac; - *(undefined4 **)(param_1 + 1) = param_1; - alSynAddPlayer(DAT_80027720,param_1); - return; -} - - - -void FUN_70012230(int param_1,undefined4 param_2) - -{ - undefined2 auStack16 [2]; - undefined4 uStack12; - - auStack16[0] = 0xe; - uStack12 = param_2; - FUN_70012f3c((int **)(param_1 + 0x48),(undefined *)auStack16,NULL); - return; -} - - - -undefined4 alCSPGetState(int param_1) - -{ - return *(undefined4 *)(param_1 + 0x2c); -} - - - -ulonglong locret_7001243C(int param_1,int param_2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - byte *pbVar4; - int iVar5; - ulonglong uVar6; - int iVar7; - - iVar5 = param_1 + param_2; - iVar7 = param_1 + param_2 * 4; - if (*(char *)(iVar5 + 0x98) == '\0') { - pbVar4 = *(byte **)(iVar7 + 0x18); - bVar1 = *pbVar4; - uVar6 = (ulonglong)bVar1; - *(byte **)(iVar7 + 0x18) = pbVar4 + 1; - if (bVar1 == 0xfe) { - bVar1 = pbVar4[1]; - *(byte **)(iVar7 + 0x18) = pbVar4 + 2; - if (bVar1 != 0xfe) { - bVar2 = pbVar4[2]; - *(byte **)(iVar7 + 0x18) = pbVar4 + 3; - bVar3 = pbVar4[3]; - *(byte **)(iVar7 + 0x18) = pbVar4 + 4; - *(byte **)(iVar7 + 0x58) = pbVar4 + 4 + (-4 - ((uint)bVar1 * 0x100 + (uint)bVar2)); - *(byte *)(iVar5 + 0x98) = bVar3; - uVar6 = (ulonglong)**(byte **)(iVar7 + 0x58); - *(byte **)(iVar7 + 0x58) = *(byte **)(iVar7 + 0x58) + 1; - *(char *)(iVar5 + 0x98) = *(char *)(iVar5 + 0x98) + -1; - } - } - return uVar6; - } - param_1 += param_2 * 4; - pbVar4 = *(byte **)(param_1 + 0x58); - bVar1 = *pbVar4; - *(byte **)(param_1 + 0x58) = pbVar4 + 1; - *(char *)(iVar5 + 0x98) = *(char *)(iVar5 + 0x98) + -1; - return (ulonglong)bVar1; -} - - - -ulonglong FUN_70012484(void) - -{ - ulonglong uVar1; - ulonglong uVar2; - int iVar3; - undefined8 in_t2; - undefined8 in_t3; - - uVar1 = locret_7001243C((int)in_t2,(int)in_t3); - if ((uVar1 & 0x80) != 0) { - uVar1 &= 0x7f; - do { - iVar3 = (int)uVar1; - uVar2 = locret_7001243C((int)in_t2,(int)in_t3); - uVar1 = SEXT48((int)(iVar3 * 0x80 + ((uint)uVar2 & 0x7f))); - } while ((uVar2 & 0x80) != 0); - } - return uVar1; -} - - - -void loc_70012784(int param_1,short *param_2) - -{ - char cVar1; - undefined uVar2; - char *pcVar3; - uint uVar4; - uint uVar6; - ulonglong uVar5; - undefined4 uVar7; - int iVar8; - uint uVar9; - uint uVar10; - undefined uVar11; - int iVar12; - uint uVar13; - uint uStack12; - - iVar8 = *(int *)(param_1 + 0x10); - uVar6 = 0; - uVar13 = *(uint *)(param_1 + 4); - uVar9 = 0xffffffff; - while( true ) { - uVar10 = uVar9; - uVar4 = uStack12; - if ((uVar13 >> (uVar6 & 0x1f) & 1) != 0) { - iVar12 = param_1 + uVar6 * 4; - if (*(int *)(param_1 + 0x14) == 0) { - uVar10 = *(uint *)(iVar12 + 0xb8); - } - else { - *(int *)(iVar12 + 0xb8) = *(int *)(iVar12 + 0xb8) - iVar8; - uVar10 = *(uint *)(iVar12 + 0xb8); - } - uVar4 = uVar6; - if (uVar9 <= uVar10) { - uVar10 = uVar9; - uVar4 = uStack12; - } - } - uStack12 = uVar4; - uVar6 += 1; - if (uVar6 == 0x10) break; - uVar13 = *(uint *)(param_1 + 4); - uVar9 = uVar10; - } - uVar5 = locret_7001243C(param_1,uStack12); - uVar11 = (undefined)uVar5; - if (uVar5 == 0xff) { - uVar5 = locret_7001243C(param_1,uStack12); - if (uVar5 == 0x51) { - *param_2 = 3; - *(undefined *)(param_2 + 4) = uVar11; - *(undefined *)((int)param_2 + 9) = (char)uVar5; - uVar5 = locret_7001243C(param_1,uStack12); - *(undefined *)((int)param_2 + 0xb) = (char)uVar5; - uVar5 = locret_7001243C(param_1,uStack12); - *(char *)(param_2 + 6) = (char)uVar5; - uVar5 = locret_7001243C(param_1,uStack12); - *(undefined *)((int)param_2 + 0xd) = (char)uVar5; - *(undefined *)(param_1 + uStack12 + 0xa8) = 0; - } - else { - if (uVar5 == 0x2f) { - uVar13 = *(uint *)(param_1 + 4) ^ 1 << (uStack12 & 0x1f); - *(uint *)(param_1 + 4) = uVar13; - if (uVar13 == 0) { - *param_2 = 4; - } - else { - *param_2 = 0x12; - } - } - else { - if (uVar5 == 0x2e) { - locret_7001243C(param_1,uStack12); - locret_7001243C(param_1,uStack12); - *(undefined *)(param_1 + uStack12 + 0xa8) = 0; - *param_2 = 0x13; - } - else { - if (uVar5 == 0x2d) { - iVar8 = param_1 + uStack12 * 4; - pcVar3 = *(char **)(iVar8 + 0x18); - cVar1 = pcVar3[1]; - if (cVar1 == '\0') { - pcVar3[1] = *pcVar3; - *(char **)(iVar8 + 0x18) = pcVar3 + 6; - } - else { - if (cVar1 != -1) { - pcVar3[1] = cVar1 + -1; - } - *(char **)(iVar8 + 0x18) = - pcVar3 + (6 - ((uint)(byte)pcVar3[2] * 0x1000000 + - (uint)(byte)pcVar3[3] * 0x10000 + (uint)(byte)pcVar3[4] * 0x100 + - (uint)(byte)pcVar3[5])); - } - *(undefined *)(param_1 + uStack12 + 0xa8) = 0; - *param_2 = 0x14; - } - } - } - } - } - else { - *param_2 = 1; - if ((uVar5 & 0x80) == 0) { - uVar2 = *(undefined *)(param_1 + uStack12 + 0xa8); - *(undefined *)((int)param_2 + 9) = uVar11; - *(undefined *)(param_2 + 4) = uVar2; - } - else { - *(undefined *)(param_2 + 4) = uVar11; - uVar5 = locret_7001243C(param_1,uStack12); - *(undefined *)((int)param_2 + 9) = (char)uVar5; - *(undefined *)(param_1 + uStack12 + 0xa8) = uVar11; - } - if (((*(byte *)(param_2 + 4) & 0xf0) == 0xc0) || ((*(byte *)(param_2 + 4) & 0xf0) == 0xd0)) { - *(undefined *)(param_2 + 5) = 0; - } - else { - uVar5 = locret_7001243C(param_1,uStack12); - *(char *)(param_2 + 5) = (char)uVar5; - if ((*(byte *)(param_2 + 4) & 0xf0) == 0x90) { - uVar7 = FUN_70012484(); - *(undefined4 *)(param_2 + 6) = uVar7; - } - } - } - *(uint *)(param_2 + 2) = uVar10; - *(uint *)(param_1 + 0x10) = uVar10; - *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + uVar10; - if (*param_2 != 0x12) { - iVar12 = param_1 + uStack12 * 4; - iVar8 = FUN_70012484(); - *(int *)(iVar12 + 0xb8) = *(int *)(iVar12 + 0xb8) + iVar8; - } - *(undefined4 *)(param_1 + 0x14) = 1; - return; -} - - - -void loc_70012880(int *param_1,int param_2) - -{ - int iVar1; - int *piVar2; - uint uVar3; - int *piVar4; - int iVar5; - uint in_register_00001020; - float fVar6; - - *param_1 = param_2; - param_1[1] = 0; - param_1[4] = 0; - param_1[3] = 0; - param_1[5] = 1; - iVar5 = 0; - uVar3 = 0; - piVar2 = param_1; - piVar4 = param_1; - do { - *(undefined *)(piVar4 + 0x2a) = 0; - piVar2[0x16] = 0; - *(undefined *)(piVar4 + 0x26) = 0; - iVar1 = *(int *)(*param_1 + iVar5); - if (iVar1 == 0) { - piVar2[6] = 0; - } - else { - param_1[1] = param_1[1] | 1 << (uVar3 & 0x1f); - piVar2[6] = param_2 + iVar1; - iVar1 = FUN_70012484(); - piVar2[0x2e] = iVar1; - } - uVar3 += 1; - piVar4 = (int *)((int)piVar4 + 1); - iVar5 += 4; - piVar2 = piVar2 + 1; - } while (uVar3 != 0x10); - fVar6 = (float)*(int *)(*param_1 + 0x40); - if (*(int *)(*param_1 + 0x40) < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(param_1 + 2) = - (float)((double)((ulonglong)in_register_00001020 << 0x20) / (double)fVar6); - return; -} - - - -void FUN_700128f0(int *param_1,int *param_2,uint param_3) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int *piVar4; - int *piVar5; - int iStack264; - int iStack260; - uint uStack252; - int aiStack248 [58]; - short asStack16 [8]; - - loc_70012880(&iStack264,*param_1); - do { - *param_2 = iStack260; - param_2[1] = uStack252; - param_2[2] = aiStack248[0]; - piVar2 = &iStack264; - piVar3 = &iStack264; - piVar1 = param_2; - piVar5 = param_2; - do { - piVar4 = piVar3 + 1; - piVar1[3] = piVar2[6]; - piVar1[0x13] = piVar2[0x16]; - *(undefined *)(piVar5 + 0x23) = *(undefined *)(piVar3 + 0x26); - *(undefined *)(piVar5 + 0x27) = *(undefined *)(piVar3 + 0x2a); - piVar1[0x2b] = piVar2[0x2e]; - piVar1[4] = piVar2[7]; - piVar1[0x14] = piVar2[0x17]; - *(undefined *)((int)piVar5 + 0x8d) = *(undefined *)((int)piVar3 + 0x99); - *(undefined *)((int)piVar5 + 0x9d) = *(undefined *)((int)piVar3 + 0xa9); - piVar1[0x2c] = piVar2[0x2f]; - piVar1[5] = piVar2[8]; - piVar1[0x15] = piVar2[0x18]; - *(undefined *)((int)piVar5 + 0x8e) = *(undefined *)((int)piVar3 + 0x9a); - *(undefined *)((int)piVar5 + 0x9e) = *(undefined *)((int)piVar3 + 0xaa); - piVar1[0x2d] = piVar2[0x30]; - piVar1[6] = piVar2[9]; - piVar1[0x16] = piVar2[0x19]; - *(undefined *)((int)piVar5 + 0x8f) = *(undefined *)((int)piVar3 + 0x9b); - *(undefined *)((int)piVar5 + 0x9f) = *(undefined *)((int)piVar3 + 0xab); - piVar1[0x2e] = piVar2[0x31]; - piVar2 = piVar2 + 4; - piVar3 = piVar4; - piVar1 = piVar1 + 4; - piVar5 = piVar5 + 1; - } while (piVar4 != aiStack248); - loc_70012784((int)&iStack264,asStack16); - } while ((asStack16[0] != 4) && (uStack252 < param_3)); - return; -} - - - -undefined8 loc_70012CD8(int param_1,uint *param_2) - -{ - int iVar1; - uint uVar2; - uint uVar3; - uint uVar4; - int iVar5; - uint uVar6; - uint uVar7; - - uVar3 = 0xffffffff; - iVar1 = *(int *)(param_1 + 0x10); - if (*(int *)(param_1 + 4) == 0) { - return 0; - } - uVar4 = 0; - uVar7 = *(uint *)(param_1 + 4); - do { - uVar6 = uVar4 + 1; - if ((uVar7 >> (uVar4 & 0x1f) & 1) == 0) { - uVar6 = uVar7 >> (uVar6 & 0x1f); - uVar2 = uVar3; - } - else { - iVar5 = param_1 + uVar4 * 4; - if (*(int *)(param_1 + 0x14) == 0) { - uVar2 = *(uint *)(iVar5 + 0xb8); - } - else { - *(int *)(iVar5 + 0xb8) = *(int *)(iVar5 + 0xb8) - iVar1; - uVar7 = *(uint *)(param_1 + 4); - uVar2 = *(uint *)(iVar5 + 0xb8); - } - if (uVar2 < uVar3) { - uVar6 = uVar7 >> (uVar6 & 0x1f); - } - else { - uVar6 = uVar7 >> (uVar6 & 0x1f); - uVar2 = uVar3; - } - } - uVar3 = uVar2; - if ((uVar6 & 1) == 0) { -LAB_70012c88: - uVar6 = uVar7 >> (uVar4 + 2 & 0x1f); - } - else { - iVar5 = param_1 + uVar4 * 4; - if (*(int *)(param_1 + 0x14) == 0) { - uVar3 = *(uint *)(iVar5 + 0xbc); - } - else { - *(int *)(iVar5 + 0xbc) = *(int *)(iVar5 + 0xbc) - iVar1; - uVar7 = *(uint *)(param_1 + 4); - uVar3 = *(uint *)(iVar5 + 0xbc); - } - if (uVar3 < uVar2) goto LAB_70012c88; - uVar6 = uVar7 >> (uVar4 + 2 & 0x1f); - uVar3 = uVar2; - } - uVar2 = uVar3; - if ((uVar6 & 1) == 0) { -LAB_70012cd0: - uVar7 >>= uVar4 + 3 & 0x1f; - } - else { - iVar5 = param_1 + uVar4 * 4; - if (*(int *)(param_1 + 0x14) == 0) { - uVar2 = *(uint *)(iVar5 + 0xc0); - } - else { - *(int *)(iVar5 + 0xc0) = *(int *)(iVar5 + 0xc0) - iVar1; - uVar7 = *(uint *)(param_1 + 4); - uVar2 = *(uint *)(iVar5 + 0xc0); - } - if (uVar2 < uVar3) goto LAB_70012cd0; - uVar7 >>= uVar4 + 3 & 0x1f; - uVar2 = uVar3; - } - uVar3 = uVar2; - if ((uVar7 & 1) != 0) { - iVar5 = param_1 + uVar4 * 4; - if (*(int *)(param_1 + 0x14) == 0) { - uVar3 = *(uint *)(iVar5 + 0xc4); - } - else { - *(int *)(iVar5 + 0xc4) = *(int *)(iVar5 + 0xc4) - iVar1; - uVar3 = *(uint *)(iVar5 + 0xc4); - } - if (uVar2 <= uVar3) { - uVar3 = uVar2; - } - } - uVar4 += 4; - if (uVar4 == 0x10) { - *(undefined4 *)(param_1 + 0x14) = 0; - *param_2 = uVar3; - return 1; - } - uVar7 = *(uint *)(param_1 + 4); - } while( true ); -} - - - -void FUN_70012d40(int param_1,undefined4 param_2) - -{ - undefined2 auStack16 [2]; - undefined4 uStack12; - - auStack16[0] = 0xd; - uStack12 = param_2; - FUN_70012f3c((int **)(param_1 + 0x48),(undefined *)auStack16,NULL); - return; -} - - - -void FUN_70012d80(int param_1) - -{ - undefined2 auStack16 [8]; - - auStack16[0] = 0xf; - FUN_70012f3c((int **)(param_1 + 0x48),(undefined *)auStack16,NULL); - return; -} - - - -void FUN_70012db0(int param_1) - -{ - undefined2 auStack16 [8]; - - auStack16[0] = 0x11; - FUN_70012f3c((int **)(param_1 + 0x48),(undefined *)auStack16,NULL); - return; -} - - - -void alCSPSetVol(int param_1,undefined2 param_2) - -{ - undefined2 auStack16 [2]; - undefined2 uStack12; - - auStack16[0] = 10; - uStack12 = param_2; - FUN_70012f3c((int **)(param_1 + 0x48),(undefined *)auStack16,NULL); - return; -} - - - -void loc_70012E68(int **param_1,short param_2) - -{ - int **ppiVar1; - int **ppiVar2; - ulonglong uVar3; - - uVar3 = osSetIntMask(1); - ppiVar2 = (int **)param_1[2]; - while (ppiVar1 = ppiVar2, ppiVar1 != NULL) { - ppiVar2 = (int **)*ppiVar1; - if ((longlong)(int)param_2 == (longlong)*(short *)(ppiVar1 + 3)) { - if (ppiVar2 != NULL) { - ppiVar2[2] = (int *)((int)ppiVar2[2] + (int)ppiVar1[2]); - } - alUnlink((int *)ppiVar1); - alLink(ppiVar1,param_1); - } - } - osSetIntMask((longlong)(int)uVar3); - return; -} - - - -void FUN_70012ecc(int **param_1) - -{ - int **ppiVar1; - int **ppiVar2; - ulonglong uVar3; - - uVar3 = osSetIntMask(1); - ppiVar2 = (int **)param_1[2]; - while (ppiVar2 != NULL) { - ppiVar1 = (int **)*ppiVar2; - alUnlink((int *)ppiVar2); - alLink(ppiVar2,param_1); - ppiVar2 = ppiVar1; - } - osSetIntMask((longlong)(int)uVar3); - return; -} - - - -void FUN_70012f3c(int **param_1,undefined *param_2,int *param_3) - -{ - int **ppiVar1; - int **ppiVar2; - ulonglong uVar3; - int **ppiVar4; - int iStack16; - - iStack16 = 0; - uVar3 = osSetIntMask(1); - ppiVar1 = (int **)*param_1; - if (ppiVar1 == NULL) { - osSetIntMask(uVar3); - } - else { - alUnlink((int *)ppiVar1); - locret_7001D6FC(param_2,(undefined *)(ppiVar1 + 3),0x10); - if (param_3 == (int *)0x7fffffff) { - iStack16 = -1; - } - ppiVar4 = param_1 + 2; - if (param_1 != (int **)0xfffffff8) { - do { - ppiVar2 = (int **)*ppiVar4; - if (ppiVar2 == NULL) { - if (iStack16 == 0) { - ppiVar1[2] = param_3; - } - else { - ppiVar1[2] = NULL; - } - alLink(ppiVar1,ppiVar4); - break; - } - if ((int)param_3 < (int)ppiVar2[2]) { - ppiVar1[2] = param_3; - ppiVar2[2] = (int *)((int)ppiVar2[2] - (int)param_3); - alLink(ppiVar1,ppiVar4); - break; - } - param_3 = (int *)((int)param_3 - (int)ppiVar2[2]); - ppiVar4 = ppiVar2; - } while (ppiVar2 != NULL); - } - osSetIntMask((longlong)(int)uVar3); - } - return; -} - - - -int * FUN_70013060(int **param_1,undefined2 *param_2) - -{ - int **ppiVar1; - ulonglong uVar2; - int *piVar3; - - uVar2 = osSetIntMask(1); - ppiVar1 = (int **)param_1[2]; - piVar3 = NULL; - if (ppiVar1 == NULL) { - *param_2 = 0xffff; - } - else { - alUnlink((int *)ppiVar1); - locret_7001D6FC((undefined *)(ppiVar1 + 3),(undefined *)param_2,0x10); - alLink(ppiVar1,param_1); - piVar3 = ppiVar1[2]; - } - osSetIntMask((longlong)(int)uVar2); - return piVar3; -} - - - -void loc_70013104(int **param_1,int **param_2,int param_3) - -{ - int iVar1; - - param_1[4] = NULL; - param_1[2] = NULL; - param_1[3] = NULL; - *param_1 = NULL; - param_1[1] = NULL; - iVar1 = 0; - if (0 < param_3) { - do { - alLink(param_2,param_1); - iVar1 += 1; - param_2 = param_2 + 7; - } while (iVar1 != param_3); - } - return; -} - - - -void alSynAddPlayer(undefined4 *param_1,undefined4 *param_2) - -{ - ulonglong uVar1; - - uVar1 = osSetIntMask(1); - param_2[4] = param_1[8]; - *param_2 = *param_1; - *(undefined4 **)param_1 = param_2; - osSetIntMask(uVar1); - return; -} - - - -undefined4 loc_70013248(int param_1,int **param_2,short param_3) - -{ - int *piVar1; - undefined4 uVar2; - longlong lVar3; - int **ppiVar4; - - ppiVar4 = *(int ***)(param_1 + 0x14); - lVar3 = (longlong)(int)param_3; - uVar2 = 0; - if (ppiVar4 == NULL) { - ppiVar4 = *(int ***)(param_1 + 4); - if (ppiVar4 == NULL) { - ppiVar4 = *(int ***)(param_1 + 0xc); - if (ppiVar4 != NULL) { - piVar1 = ppiVar4[2]; - while( true ) { - if (lVar3 < (longlong)*(short *)((int)piVar1 + 0x16)) { - ppiVar4 = (int **)*ppiVar4; - } - else { - if (ppiVar4[0x36] == NULL) { - *(int ***)param_2 = ppiVar4; - uVar2 = 1; - lVar3 = (longlong)*(short *)((int)ppiVar4[2] + 0x16); - ppiVar4 = (int **)*ppiVar4; - } - else { - ppiVar4 = (int **)*ppiVar4; - } - } - if (ppiVar4 == NULL) break; - piVar1 = ppiVar4[2]; - } - } - } - else { - *(int ***)param_2 = ppiVar4; - alUnlink((int *)ppiVar4); - alLink(ppiVar4,(int **)(param_1 + 0xc)); - uVar2 = 0; - } - } - else { - *(int ***)param_2 = ppiVar4; - alUnlink((int *)ppiVar4); - alLink(ppiVar4,(int **)(param_1 + 0xc)); - uVar2 = 0; - } - return uVar2; -} - - - -ulonglong loc_70013380(int param_1,int param_2,short *param_3) - -{ - byte bVar1; - short sVar2; - int iVar3; - undefined4 uVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - int *piStack4; - - piStack4 = NULL; - *(short *)(param_2 + 0x16) = *param_3; - bVar1 = *(byte *)(param_3 + 2); - *(undefined4 *)(param_2 + 0xc) = 0; - *(ushort *)(param_2 + 0x1a) = (ushort)bVar1; - sVar2 = param_3[1]; - *(undefined2 *)(param_2 + 0x14) = 0; - *(undefined4 *)(param_2 + 8) = 0; - *(short *)(param_2 + 0x18) = sVar2; - iVar6 = loc_70013248(param_1,&piStack4,*param_3); - if (piStack4 != NULL) { - iVar3 = piStack4[3]; - if (iVar6 == 0) { - piStack4[0x36] = 0; - } - else { - piStack4[0x36] = 0x200; - *(undefined4 *)(piStack4[2] + 8) = 0; - puVar7 = FUN_7000f110(); - uVar4 = *(undefined4 *)(param_1 + 0x1c); - *(undefined2 *)(puVar7 + 2) = 0xb; - puVar7[3] = 0; - puVar7[1] = uVar4; - puVar7[4] = piStack4[0x36] + -0x40; - (**(code **)(iVar3 + 8))(iVar3,3,puVar7); - puVar7 = FUN_7000f110(); - if (puVar7 != NULL) { - iVar6 = *(int *)(param_1 + 0x1c); - iVar5 = piStack4[0x36]; - *(undefined2 *)(puVar7 + 2) = 0xf; - *puVar7 = 0; - puVar7[1] = iVar6 + iVar5; - (**(code **)(iVar3 + 8))(iVar3,3,puVar7); - } - } - piStack4[2] = param_2; - *(int **)(param_2 + 8) = piStack4; - } - return (ulonglong)(piStack4 != NULL); -} - - - -void loc_70013430(int param_1,int param_2,short param_3,int param_4) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - uint uVar4; - - if ((*(int *)(param_2 + 8) != 0) && (puVar3 = FUN_7000f110(), puVar3 != NULL)) { - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(*(int *)(param_2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0xb; - puVar3[1] = iVar1 + iVar2; - puVar3[3] = (int)param_3; - uVar4 = FUN_7000f008(param_1,param_4); - puVar3[4] = uVar4; - *puVar3 = 0; - iVar1 = *(int *)(*(int *)(param_2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3); - } - return; -} - - - -void FUN_70013480(int param_1,int param_2,undefined4 param_3) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(param_2 + 8) != 0) && (puVar3 = FUN_7000f110(), puVar3 != NULL)) { - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(*(int *)(param_2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0xe; - puVar3[1] = iVar1 + iVar2; - *puVar3 = 0; - puVar3[3] = param_3; - *(undefined2 *)((int)puVar3 + 10) = *(undefined2 *)(param_2 + 0x1a); - iVar1 = *(int *)(*(int *)(param_2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,puVar3); - } - return; -} - - - -void FUN_70013510(int param_1,int param_2,uint param_3) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(param_2 + 8) != 0) && (puVar3 = FUN_7000f110(), puVar3 != NULL)) { - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(*(int *)(param_2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0xc; - puVar3[1] = iVar1 + iVar2; - *puVar3 = 0; - puVar3[3] = param_3 & 0xff; - iVar1 = *(int *)(*(int *)(param_2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,puVar3); - } - return; -} - - - -void FUN_700135a0(int param_1,int param_2,undefined4 param_3) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(param_2 + 8) != 0) && (puVar3 = FUN_7000f110(), puVar3 != NULL)) { - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(*(int *)(param_2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 7; - puVar3[1] = iVar1 + iVar2; - *puVar3 = 0; - puVar3[3] = param_3; - iVar1 = *(int *)(*(int *)(param_2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,puVar3); - } - return; -} - - - -void FUN_70013630(int param_1,int param_2,byte param_3) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(param_2 + 8) != 0) && (puVar3 = FUN_7000f110(), puVar3 != NULL)) { - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(*(int *)(param_2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0x10; - puVar3[1] = iVar1 + iVar2; - if ((longlong)(ulonglong)param_3 < 0) { - puVar3[3] = -(uint)param_3; - } - else { - puVar3[3] = (uint)param_3; - } - *puVar3 = 0; - iVar1 = *(int *)(*(int *)(param_2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3); - } - return; -} - - - -void alSynStopVoice(int param_1,int param_2) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - - if ((*(int *)(param_2 + 8) != 0) && (puVar3 = FUN_7000f110(), puVar3 != NULL)) { - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(*(int *)(param_2 + 8) + 0xd8); - *(undefined2 *)(puVar3 + 2) = 0xf; - *puVar3 = 0; - puVar3[1] = iVar1 + iVar2; - iVar1 = *(int *)(*(int *)(param_2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3,puVar3); - } - return; -} - - - -void loc_700137B4(int param_1,int param_2) - -{ - int **ppiVar1; - int iVar2; - int iVar3; - undefined4 *puVar4; - - ppiVar1 = *(int ***)(param_2 + 8); - if (ppiVar1 != NULL) { - if (ppiVar1[0x36] == NULL) { - FUN_7000f060(param_1,ppiVar1); - } - else { - puVar4 = FUN_7000f110(); - if (puVar4 == NULL) { - return; - } - iVar2 = *(int *)(param_1 + 0x1c); - iVar3 = *(int *)(*(int *)(param_2 + 8) + 0xd8); - *(undefined2 *)(puVar4 + 2) = 0; - puVar4[1] = iVar2 + iVar3; - puVar4[3] = *(undefined4 *)(param_2 + 8); - iVar2 = *(int *)(*(int *)(param_2 + 8) + 0xc); - (**(code **)(iVar2 + 8))(iVar2,3,puVar4); - } - *(undefined4 *)(param_2 + 8) = 0; - } - return; -} - - - -// WARNING: Instruction at (ram,0x70013828) overlaps instruction at (ram,0x70013824) -// - -float FUN_70013800(uint param_1) - -{ - float fVar1; - uint uVar2; - float fVar3; - - fVar3 = 1.00000000; - fVar1 = DAT_80029720; - if ((int)param_1 < 0) { - param_1 = -param_1; - fVar1 = DAT_80029724; - } - while (param_1 != 0) { - uVar2 = param_1 & 1; - param_1 = (int)param_1 >> 1; - if (uVar2 != 0) { - fVar3 = fVar3 * fVar1; - } - fVar1 = fVar1 * fVar1; - } - return fVar3; -} - - - -undefined8 FUN_70013850(uint param_1,undefined4 *param_2) - -{ - undefined8 uVar1; - - FUN_7001d7a0(); - uVar1 = loc_70017C0C(param_1,param_2); - FUN_7001d7e4(); - return uVar1; -} - - - -char * locret_70013874(char *__s,int __c) - -{ - char cVar1; - char *pcVar2; - int in_a2_lo; - - pcVar2 = __s; - if (in_a2_lo != 0) { - do { - cVar1 = *(char *)__c; - in_a2_lo += -1; - __c = (int)((char *)__c + 1); - *pcVar2 = cVar1; - pcVar2 = pcVar2 + 1; - } while (in_a2_lo != 0); - } - return __s; -} - - - -char * locret_7001389C(char *param_1) - -{ - char cVar1; - char *pcVar2; - - pcVar2 = param_1; - if (*param_1 != '\0') { - cVar1 = param_1[1]; - pcVar2 = param_1; - while (pcVar2 = pcVar2 + 1, cVar1 != '\0') { - cVar1 = pcVar2[2]; - pcVar2 = pcVar2; - } - } - return pcVar2 + -(int)param_1; -} - - - -char * locret_700138DC(char *param_1,char param_2) - -{ - char cVar1; - - cVar1 = *param_1; - while( true ) { - if (param_2 == cVar1) { - return param_1; - } - if (cVar1 == '\0') break; - cVar1 = param_1[1]; - param_1 = param_1 + 1; - } - return NULL; -} - - - -void loc_70013F54(undefined8 param_1,ulonglong param_2,uint **param_3,int param_4) - -{ - char *pcVar1; - char cVar2; - uint uVar3; - uint **ppuVar4; - uint *puVar5; - char **ppcVar6; - undefined8 *unaff_s0_lo; - undefined4 *puVar7; - - param_2 &= 0xff; - *(uint *)((int)unaff_s0_lo + 0xc) = 0; - *(uint *)(unaff_s0_lo + 2) = 0; - *(uint *)((int)unaff_s0_lo + 0x14) = 0; - *(uint *)(unaff_s0_lo + 3) = 0; - *(uint *)((int)unaff_s0_lo + 0x1c) = 0; - *(uint *)(unaff_s0_lo + 4) = 0; - cVar2 = (char)param_2; - if (param_2 < 0x26) { - if (param_2 == 0x25) { - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = 0x25; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - return; - } - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); - goto LAB_70013f7c; - } - if (true) { - switch((int)param_2) { - case 0x45: - case 0x47: - case 0x65: - case 0x66: - case 0x67: - if (*(char *)((int)unaff_s0_lo + 0x34) == 'L') { - puVar5 = *param_3; - if (((uint)puVar5 & 1) == 0) { - if (((uint)puVar5 & 2) == 0) { - puVar5 = (uint *)(((int)puVar5 + 7U & 0xfffffff8) + 8); - *param_3 = puVar5; - } - else { - *param_3 = (uint *)((int)puVar5 + 10); - puVar5 = (uint *)((int)puVar5 - 0x1e); - } - } - else { - *param_3 = (uint *)((int)puVar5 + 7); - puVar5 = (uint *)((int)puVar5 - 0xf); - } - *unaff_s0_lo = *(undefined8 *)(puVar5 + -2); - } - else { - puVar5 = *param_3; - if (((uint)puVar5 & 1) == 0) { - if (((uint)puVar5 & 2) == 0) { - puVar5 = (uint *)(((int)puVar5 + 7U & 0xfffffff8) + 8); - *param_3 = puVar5; - } - else { - *param_3 = (uint *)((int)puVar5 + 10); - puVar5 = (uint *)((int)puVar5 - 0x1e); - } - } - else { - *param_3 = (uint *)((int)puVar5 + 7); - puVar5 = (uint *)((int)puVar5 - 0xf); - } - *unaff_s0_lo = *(undefined8 *)(puVar5 + -2); - } - if ((*(ushort *)unaff_s0_lo & 0x8000) == 0) { - if ((*(uint *)(unaff_s0_lo + 6) & 2) == 0) { - if ((*(uint *)(unaff_s0_lo + 6) & 1) == 0) { - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); - goto LAB_70013de4; - } - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = 0x20; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - } - else { - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = 0x2b; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - } - } - else { - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = 0x2d; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - } - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); -LAB_70013de4: - *(uint *)(unaff_s0_lo + 1) = uVar3 + param_4; - loc_7001E508(unaff_s0_lo); - return; - case 0x58: - case 0x6f: - case 0x75: - case 0x78: - if (*(char *)((int)unaff_s0_lo + 0x34) == 'l') { - puVar5 = (uint *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar5 + 1; - uVar3 = *puVar5; - *(int *)unaff_s0_lo = (int)uVar3 >> 0x1f; - *(uint *)((int)unaff_s0_lo + 4) = uVar3; - } - else { - if (*(char *)((int)unaff_s0_lo + 0x34) == 'L') { - puVar5 = (uint *)((int)*param_3 + 7U & 0xfffffff8); - *param_3 = puVar5 + 2; - uVar3 = *puVar5; - *(uint *)((int)unaff_s0_lo + 4) = puVar5[1]; - *(uint *)unaff_s0_lo = uVar3; - } - else { - puVar5 = (uint *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar5 + 1; - uVar3 = *puVar5; - *(int *)unaff_s0_lo = (int)uVar3 >> 0x1f; - *(uint *)((int)unaff_s0_lo + 4) = uVar3; - } - } - if (*(char *)((int)unaff_s0_lo + 0x34) == 'h') { - *(uint *)unaff_s0_lo = 0; - *(uint *)((int)unaff_s0_lo + 4) = *(uint *)((int)unaff_s0_lo + 4) & 0xffff; - } - else { - if (*(char *)((int)unaff_s0_lo + 0x34) != '\0') { - uVar3 = *(uint *)(unaff_s0_lo + 6); - goto LAB_70013c28; - } - *(uint *)unaff_s0_lo = 0; - *(uint *)((int)unaff_s0_lo + 4) = *(uint *)((int)unaff_s0_lo + 4); - } - uVar3 = *(uint *)(unaff_s0_lo + 6); -LAB_70013c28: - if ((uVar3 & 8) == 0) { - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); - } - else { - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = 0x30; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - if ((param_2 == 0x78) || (param_2 == 0x58)) { - *(char *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = cVar2; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); - } - else { - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); - } - } - *(uint *)(unaff_s0_lo + 1) = uVar3 + param_4; - loc_7001DA50((uint *)unaff_s0_lo,cVar2); - return; - case 99: - puVar7 = (undefined4 *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar7 + 1; - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = (char)*puVar7; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - return; - case 100: - case 0x69: - if (*(char *)((int)unaff_s0_lo + 0x34) == 'l') { - puVar5 = (uint *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar5 + 1; - uVar3 = *puVar5; - *(int *)unaff_s0_lo = (int)uVar3 >> 0x1f; - *(uint *)((int)unaff_s0_lo + 4) = uVar3; - } - else { - if (*(char *)((int)unaff_s0_lo + 0x34) == 'L') { - puVar5 = (uint *)((int)*param_3 + 7U & 0xfffffff8); - *param_3 = puVar5 + 2; - uVar3 = puVar5[1]; - *(uint *)unaff_s0_lo = *puVar5; - *(uint *)((int)unaff_s0_lo + 4) = uVar3; - } - else { - puVar5 = (uint *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar5 + 1; - uVar3 = *puVar5; - *(int *)unaff_s0_lo = (int)uVar3 >> 0x1f; - *(uint *)((int)unaff_s0_lo + 4) = uVar3; - } - } - if (*(char *)((int)unaff_s0_lo + 0x34) == 'h') { - uVar3 = SEXT24((short)*(uint *)((int)unaff_s0_lo + 4)); - *(int *)unaff_s0_lo = (int)uVar3 >> 0x1f; - *(uint *)((int)unaff_s0_lo + 4) = uVar3; - uVar3 = *(uint *)unaff_s0_lo; - } - else { - uVar3 = *(uint *)unaff_s0_lo; - } - if ((int)uVar3 < 1) { - if (-1 < (int)uVar3) { - uVar3 = *(uint *)(unaff_s0_lo + 6); - goto LAB_70013adc; - } - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = 0x2d; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - } - else { - uVar3 = *(uint *)(unaff_s0_lo + 6); -LAB_70013adc: - if ((uVar3 & 2) == 0) { - if ((uVar3 & 1) == 0) { - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); - goto LAB_70013b30; - } - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = 0x20; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - } - else { - *(undefined *)(param_4 + *(uint *)((int)unaff_s0_lo + 0xc)) = 0x2b; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - } - } - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); -LAB_70013b30: - *(uint *)(unaff_s0_lo + 1) = uVar3 + param_4; - loc_7001DA50((uint *)unaff_s0_lo,cVar2); - return; - case 0x6e: - cVar2 = *(char *)((int)unaff_s0_lo + 0x34); - if (cVar2 == 'h') { - puVar7 = (undefined4 *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar7 + 1; - *(undefined2 *)*puVar7 = (short)*(uint *)((int)unaff_s0_lo + 0x2c); - return; - } - if (cVar2 != 'l') { - if (cVar2 != 'L') { - ppuVar4 = (uint **)((int)*param_3 + 3U & 0xfffffffc); - *(uint ***)param_3 = ppuVar4 + 1; - **ppuVar4 = *(uint *)((int)unaff_s0_lo + 0x2c); - return; - } - puVar7 = (undefined4 *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar7 + 1; - puVar7 = (undefined4 *)*puVar7; - uVar3 = *(uint *)((int)unaff_s0_lo + 0x2c); - *puVar7 = 0; - puVar7[1] = uVar3; - return; - } - ppuVar4 = (uint **)((int)*param_3 + 3U & 0xfffffffc); - *(uint ***)param_3 = ppuVar4 + 1; - **ppuVar4 = *(uint *)((int)unaff_s0_lo + 0x2c); - return; - case 0x70: - puVar5 = (uint *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar5 + 1; - uVar3 = *puVar5; - *(uint *)((int)unaff_s0_lo + 4) = uVar3; - *(int *)unaff_s0_lo = (int)uVar3 >> 0x1f; - *(uint *)(unaff_s0_lo + 1) = *(uint *)((int)unaff_s0_lo + 0xc) + param_4; - loc_7001DA50((uint *)unaff_s0_lo,'x'); - return; - case 0x73: - ppcVar6 = (char **)((int)*param_3 + 3U & 0xfffffffc); - *(char ***)param_3 = ppcVar6 + 1; - pcVar1 = *ppcVar6; - *(char **)(unaff_s0_lo + 1) = pcVar1; - pcVar1 = locret_7001389C(pcVar1); - uVar3 = *(uint *)((int)unaff_s0_lo + 0x24); - *(char **)((int)unaff_s0_lo + 0x14) = pcVar1; - if ((int)uVar3 < 0) { - return; - } - if ((int)pcVar1 <= (int)uVar3) { - return; - } - *(uint *)((int)unaff_s0_lo + 0x14) = uVar3; - return; - } - } - uVar3 = *(uint *)((int)unaff_s0_lo + 0xc); -LAB_70013f7c: - *(char *)(param_4 + uVar3) = cVar2; - *(uint *)((int)unaff_s0_lo + 0xc) = *(uint *)((int)unaff_s0_lo + 0xc) + 1; - return; -} - - - -// WARNING: Type propagation algorithm not settling - -byte * loc_70014574(undefined *param_1,longlong param_2,byte *param_3,uint *param_4) - -{ - bool bVar1; - byte *pbVar2; - uint uVar3; - byte *pbVar4; - char *pcVar5; - undefined8 extraout_a0; - byte bVar6; - uint uVar7; - byte *pbVar8; - int *piVar9; - uint *puStackX12; - undefined auStack100 [52]; - int iStack48; - int iStack44; - uint uStack40; - int iStack36; - uint uStack32; - int iStack28; - uint uStack24; - int iStack20; - uint uStack16; - byte *pbStack12; - uint uStack8; - byte bStack4; - - pbStack12 = NULL; - puStackX12 = param_4; - while( true ) { - bVar6 = *param_3; - pbVar4 = param_3; - while ((pbVar2 = pbVar4 + 1, pbVar8 = pbVar2, bVar6 != 0 && (pbVar8 = pbVar4, bVar6 != 0x25))) { - bVar6 = *pbVar2; - pbVar4 = pbVar2; - } - pbVar4 = pbVar8 + -(int)param_3; - if (0 < (int)pbVar4) { - param_2 = (*(code *)param_1)(param_2,param_3,pbVar4); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + (int)pbVar4; - } - pbVar8 = pbVar8 + 1; - if (bVar6 == 0) break; - uStack8 = 0; - pcVar5 = locret_700138DC(s_____0_80029734,*pbVar8); - while (pcVar5 != NULL) { - pbVar8 = pbVar8 + 1; - uStack8 |= *(uint *)(&DAT_8002973c + (int)(pcVar5 + 0x7ffd68cc) * 4); - pcVar5 = locret_700138DC(s_____0_80029734,*pbVar8); - } - if (*pbVar8 == 0x2a) { - piVar9 = (int *)((int)puStackX12 + 3U & 0xfffffffc); - puStackX12 = (uint *)(piVar9 + 1); - uStack16 = *piVar9; - pbVar8 = pbVar8 + 1; - if ((int)uStack16 < 0) { - uStack16 = -uStack16; - uStack8 |= 4; - } - bVar6 = *pbVar8; - } - else { - uStack16 = 0; - bVar6 = *pbVar8; - while ((0x2f < bVar6 && (bVar6 < 0x3a))) { - if ((int)uStack16 < 999) { - uStack16 = (uint)bVar6 + uStack16 * 10 + -0x30; - bVar6 = pbVar8[1]; - } - else { - bVar6 = pbVar8[1]; - } - pbVar8 = pbVar8 + 1; - } - } - if (bVar6 == 0x2e) { - if (pbVar8[1] == 0x2a) { - piVar9 = (int *)((int)puStackX12 + 3U & 0xfffffffc); - puStackX12 = (uint *)(piVar9 + 1); - iStack20 = *piVar9; - pbVar8 = pbVar8 + 2; - bVar6 = *pbVar8; - } - else { - iStack20 = 0; - bVar6 = pbVar8[1]; - pbVar8 = pbVar8 + 1; - while ((0x2f < bVar6 && (bVar6 < 0x3a))) { - if (iStack20 < 999) { - iStack20 = (uint)bVar6 + iStack20 * 10 + -0x30; - bVar6 = pbVar8[1]; - } - else { - bVar6 = pbVar8[1]; - } - pbVar8 = pbVar8 + 1; - } - } - } - else { - iStack20 = -1; - bVar6 = *pbVar8; - } - pcVar5 = locret_700138DC(s_hlL_80029730,bVar6); - if (pcVar5 == NULL) { - bStack4 = 0; - } - else { - bStack4 = *pbVar8; - pbVar8 = pbVar8 + 1; - } - if ((bStack4 == 0x6c) && (*pbVar8 == 0x6c)) { - bStack4 = 0x4c; - pbVar8 = pbVar8 + 1; - } - loc_70013F54(extraout_a0,(ulonglong)*pbVar8,&puStackX12,(int)auStack100); - uStack16 = (((((uStack16 - iStack44) - uStack40) - iStack36) - uStack32) - iStack28) - uStack24; - bVar1 = 0 < (int)uStack16; - if (((uStack8 & 4) == 0) && (uVar3 = uStack16, bVar1)) { - while (bVar1) { - uVar7 = uVar3; - if (0x20 < uVar3) { - uVar7 = 0x20; - } - if (0 < (int)uVar7) { - param_2 = (*(code *)param_1)(param_2,0xffffffff80027780,uVar7); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar7; - } - bVar1 = 0 < (int)(uVar3 - uVar7); - uVar3 = uVar3 - uVar7; - } - } - if (0 < iStack44) { - param_2 = (*(code *)param_1)(param_2,auStack100,iStack44); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack44; - } - bVar1 = 0 < (int)uStack40; - uVar3 = uStack40; - if (bVar1) { - while (bVar1) { - uVar7 = uVar3; - if (0x20 < uVar3) { - uVar7 = 0x20; - } - if (0 < (int)uVar7) { - param_2 = (*(code *)param_1)(param_2,s_00000000000000000000000000000000_800277a4,uVar7); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar7; - } - bVar1 = 0 < (int)(uVar3 - uVar7); - uVar3 = uVar3 - uVar7; - } - } - if (0 < iStack36) { - param_2 = (*(code *)param_1)(param_2,iStack48,iStack36); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack36; - } - bVar1 = 0 < (int)uStack32; - uVar3 = uStack32; - if (bVar1) { - while (bVar1) { - uVar7 = uVar3; - if (0x20 < uVar3) { - uVar7 = 0x20; - } - if (0 < (int)uVar7) { - param_2 = (*(code *)param_1)(param_2,s_00000000000000000000000000000000_800277a4,uVar7); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar7; - } - bVar1 = 0 < (int)(uVar3 - uVar7); - uVar3 = uVar3 - uVar7; - } - } - if (0 < iStack28) { - param_2 = (*(code *)param_1)(param_2,iStack48 + iStack36,iStack28); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack28; - } - bVar1 = 0 < (int)uStack24; - uVar3 = uStack24; - if (bVar1) { - while (bVar1) { - uVar7 = uVar3; - if (0x20 < uVar3) { - uVar7 = 0x20; - } - if (0 < (int)uVar7) { - param_2 = (*(code *)param_1)(param_2,s_00000000000000000000000000000000_800277a4,uVar7); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar7; - } - bVar1 = 0 < (int)(uVar3 - uVar7); - uVar3 = uVar3 - uVar7; - } - } - bVar1 = 0 < (int)uStack16; - if (((uStack8 & 4) != 0) && (uVar3 = uStack16, bVar1)) { - while (bVar1) { - uVar7 = uVar3; - if (0x20 < uVar3) { - uVar7 = 0x20; - } - if (0 < (int)uVar7) { - param_2 = (*(code *)param_1)(param_2,0xffffffff80027780,uVar7); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar7; - } - bVar1 = 0 < (int)(uVar3 - uVar7); - uVar3 = uVar3 - uVar7; - } - } - param_3 = pbVar8 + 1; - } - return pbStack12; -} - - - -void osCreatePiManager(int *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4) - -{ - int *piVar2; - ulonglong uVar1; - int *piStack8; - - if (DAT_800277d0 == 0) { - osCreateMesgQueue(param_2,param_3,param_4); - osCreateMesgQueue((undefined4 *)0x80067cc0,0x80067cd8,1); - if (DAT_80028320 == 0) { - FUN_7001d750(); - } - osSetEventMesg(8,0x80067cc0,0x22222222); - piStack8 = (int *)0xffffffff; - piVar2 = (int *)osGetThreadPri(0); - if ((int)piVar2 < (int)param_1) { - osSetThreadPri(NULL,param_1); - piStack8 = piVar2; - } - uVar1 = __osDisableInt(); - DAT_800277d0 = 1; - DAT_800277d4 = 0x80066b10; - DAT_800277dc = 0x80067cc0; - DAT_800277e0 = 0x80069028; - DAT_800277e4 = osPiRawStartDma; - DAT_800277e8 = osEPiRawStartDma; - DAT_800277d8 = param_2; - osCreateThread((undefined4 *)0x80066b10,0,loc_7001E948,(int)&DAT_800277d0,0x80067cc0,param_1); - osStartThread((int **)0x80066b10); - __osRestoreInt((longlong)(int)uVar1); - if (piStack8 != (int *)0xffffffff) { - osSetThreadPri(NULL,piStack8); - } - } - return; -} - - - -int __osPfsGetStatus(uint param_1,uint *param_2,uint param_3) - -{ - int iVar2; - undefined8 uVar1; - - FUN_70015ea0(); - iVar2 = FUN_70014834(param_1,param_3); - FUN_70015ee4(); - if (iVar2 == 0) { - param_2[1] = param_1; - param_2[2] = param_3; - *param_2 = 0; - iVar2 = loc_7001F280((int)param_2); - if (iVar2 == 0) { - uVar1 = osPfsChecker(); - iVar2 = (int)uVar1; - *param_2 = *param_2 | 1; - } - } - return iVar2; -} - - - -undefined4 FUN_70014834(int param_1,int param_2) - -{ - undefined8 uVar1; - undefined2 uStack28; - byte abStack26 [17]; - byte bStack9; - undefined4 uStack8; - undefined4 uStack4; - - uStack4 = 0; - FUN_70015c80(0); - uVar1 = __osSiRawStartDma(1,(uint)&DAT_80067db0); - uStack4 = (undefined4)uVar1; - osRecvMesg(param_1,&uStack8,1); - uVar1 = __osSiRawStartDma(0,(uint)&DAT_80067db0); - uStack4 = (undefined4)uVar1; - osRecvMesg(param_1,&uStack8,1); - FUN_70015d7c(&bStack9,&uStack28); - if (((abStack26[param_2 * 4] & 1) == 0) || ((abStack26[param_2 * 4] & 2) == 0)) { - if ((abStack26[param_2 * 4 + 1] == 0) && ((abStack26[param_2 * 4] & 1) != 0)) { - if ((abStack26[param_2 * 4] & 4) != 0) { - uStack4 = 4; - } - } - else { - uStack4 = 1; - } - } - else { - uStack4 = 2; - } - return uStack4; -} - - - -undefined4 __osPackRequestData(int iParm1,byte *pbParm2,undefined2 *puParm3) - -{ - longlong lVar1; - ulonglong uVar2; - undefined8 uVar3; - undefined4 in_v1_hi; - int in_v1_lo; - undefined4 auStack72 [6]; - undefined auStack48 [32]; - int iStack16; - int iStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack8 = 0; - if (DAT_800277f0 == 0) { - DAT_800277f0 = 1; - iStack16 = osGetTime(); - iStack12 = in_v1_lo; - lVar1 = __ll_mul(0,500000,DAT_800269c0,DAT_800269c4); - uVar2 = __ull_div((int)lVar1,in_v1_lo,0,1000000); - if (((ulonglong)(longlong)iStack16 <= uVar2) && - (((ulonglong)(longlong)iStack16 < uVar2 || - ((ulonglong)(longlong)iStack12 < CONCAT44(in_v1_hi,in_v1_lo))))) { - osCreateMesgQueue(auStack72,&uStack4,1); - lVar1 = __ll_mul(0,500000,DAT_800269c0,DAT_800269c4); - __ull_div((int)lVar1,in_v1_lo,0,1000000); - loc_70010D10(auStack48); - osRecvMesg((int)auStack72,&uStack4,1); - } - DAT_80067d21 = 4; - loc_70014CA8(0); - uVar3 = __osSiRawStartDma(1,(uint)&DAT_80067ce0); - uStack8 = (undefined4)uVar3; - osRecvMesg(iParm1,&uStack4,1); - uVar3 = __osSiRawStartDma(0,(uint)&DAT_80067ce0); - uStack8 = (undefined4)uVar3; - osRecvMesg(iParm1,&uStack4,1); - FUN_70014b38(pbParm2,puParm3); - DAT_80067d20 = 0; - FUN_70015e50(); - osCreateMesgQueue((undefined4 *)0x80067d48,0x80067d60,1); - } - else { - uStack8 = 0; - } - return uStack8; -} - - - -void FUN_70014b38(byte *param_1,undefined2 *param_2) - -{ - uint uVar1; - byte local_11; - uint local_10; - undefined local_8; - undefined uStack7; - undefined uStack6; - uint *local_4; - - local_11 = 0; - local_4 = (uint *)&DAT_80067ce0; - local_10 = 0; - if (DAT_80067d21 != 0) { - do { - uVar1 = local_4[1]; - *(undefined *)((int)param_2 + 3) = (char)((int)(*local_4 >> 8 & 0xc0) >> 4); - if (*(char *)((int)param_2 + 3) == '\0') { - uStack7 = (undefined)(uVar1 >> 0x10); - local_8 = (undefined)(uVar1 >> 0x18); - *param_2 = CONCAT11(uStack7,local_8); - uStack6 = (undefined)(uVar1 >> 8); - *(undefined *)(param_2 + 1) = uStack6; - local_11 |= (byte)(1 << (local_10 & 0x1f)); - } - local_10 += 1; - local_4 = local_4 + 2; - param_2 = param_2 + 2; - } while ((longlong)(int)local_10 < (longlong)(ulonglong)DAT_80067d21); - } - *param_1 = local_11; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_70014CA8(undefined param_1) - -{ - int iStack16; - uint uStack12; - uint *puStack4; - - iStack16 = 0; - do { - *(undefined4 *)(&DAT_80067ce0 + iStack16 * 4) = 0; - iStack16 += 1; - } while (iStack16 < 0x10); - _DAT_80067d1c = 1; - puStack4 = (uint *)&DAT_80067ce0; - uStack12 = CONCAT31(0xff0100,param_1) | 0x300; - iStack16 = 0; - if (DAT_80067d21 != 0) { - do { - *puStack4 = uStack12; - puStack4[1] = 0xffffffff; - iStack16 += 1; - puStack4 = puStack4 + 2; - } while ((longlong)iStack16 < (longlong)(ulonglong)DAT_80067d21); - } - *(undefined *)puStack4 = 0xfe; - return; -} - - - -undefined4 osContGetQuery(int param_1) - -{ - undefined8 uVar1; - - FUN_70015ea0(); - if (DAT_80067d20 != '\0') { - loc_70014CA8(0); - __osSiRawStartDma(1,(uint)&DAT_80067ce0); - osRecvMesg(param_1,NULL,1); - } - uVar1 = __osSiRawStartDma(0,(uint)&DAT_80067ce0); - DAT_80067d20 = 0; - FUN_70015ee4(); - return (int)uVar1; -} - - - -void FUN_70014d84(undefined2 *param_1) - -{ - byte bStack1; - - FUN_70014b38(&bStack1,param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osContGetReadData(int param_1) - -{ - undefined8 uVar1; - int iStack8; - - FUN_70015ea0(); - if (DAT_80067d20 != '\x01') { - FUN_70014f1c(); - __osSiRawStartDma(1,(uint)&DAT_80067ce0); - osRecvMesg(param_1,NULL,1); - } - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80067ce0 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80067d1c = 0; - uVar1 = __osSiRawStartDma(0,(uint)&DAT_80067ce0); - DAT_80067d20 = 1; - FUN_70015ee4(); - return (int)uVar1; -} - - - -void FUN_70014e74(undefined2 *param_1) - -{ - uint uVar1; - int local_10; - undefined2 local_8; - undefined uStack6; - undefined uStack5; - uint *local_4; - - local_4 = (uint *)&DAT_80067ce0; - local_10 = 0; - if (DAT_80067d21 != 0) { - do { - uVar1 = local_4[1]; - *(char *)(param_1 + 2) = (char)((int)(*local_4 >> 8 & 0xc0) >> 4); - if (*(char *)(param_1 + 2) == '\0') { - local_8 = (undefined2)(uVar1 >> 0x10); - *param_1 = local_8; - uStack6 = (undefined)(uVar1 >> 8); - *(undefined *)(param_1 + 1) = uStack6; - uStack5 = (undefined)uVar1; - *(undefined *)((int)param_1 + 3) = uStack5; - } - local_10 += 1; - local_4 = local_4 + 2; - param_1 = param_1 + 3; - } while ((longlong)local_10 < (longlong)(ulonglong)DAT_80067d21); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70014f1c(void) - -{ - int iStack16; - undefined4 *puStack4; - - puStack4 = (undefined4 *)&DAT_80067ce0; - iStack16 = 0; - do { - *(undefined4 *)(&DAT_80067ce0 + iStack16 * 4) = 0; - iStack16 += 1; - } while (iStack16 < 0x10); - _DAT_80067d1c = 1; - iStack16 = 0; - if (DAT_80067d21 != 0) { - do { - *puStack4 = 0xff010401; - puStack4[1] = 0xffffffff; - iStack16 += 1; - puStack4 = puStack4 + 2; - } while ((longlong)iStack16 < (longlong)(ulonglong)DAT_80067d21); - } - *(undefined *)puStack4 = 0xfe; - return; -} - - - -undefined4 osEepromProbe(int param_1) - -{ - ulonglong uVar1; - ushort auStack8 [2]; - undefined4 uStack4; - - uStack4 = 0; - FUN_70015ea0(); - uVar1 = FUN_7001563c(param_1,auStack8); - if (((int)uVar1 == 0) && ((auStack8[0] & 0x8000) != 0)) { - uStack4 = 1; - } - else { - uStack4 = 0; - } - FUN_70015ee4(); - return uStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int osEepromRead(int param_1,byte param_2,undefined *param_3) - -{ - ulonglong uVar1; - undefined8 uVar2; - uint *puVar3; - undefined *puStackX8; - undefined4 uStack24; - undefined4 uStack20; - short sStack16; - byte bStack14; - uint *puStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - iStack8 = 0; - puStack12 = (uint *)&DAT_80067d70; - if (param_2 < 0x41) { - FUN_70015ea0(); - uVar1 = FUN_7001563c(param_1,&sStack16); - iStack4 = (int)uVar1; - if ((iStack4 == 0) && (sStack16 == -0x8000)) { - while ((bStack14 & 0x80) != 0) { - FUN_7001563c(param_1,&sStack16); - } - FUN_70015270(param_2); - uVar2 = __osSiRawStartDma(1,(uint)&DAT_80067d70); - iStack4 = (int)uVar2; - osRecvMesg(param_1,NULL,1); - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80067d70 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80067dac = 0; - uVar2 = __osSiRawStartDma(0,(uint)&DAT_80067d70); - iStack4 = (int)uVar2; - DAT_80067d20 = 4; - osRecvMesg(param_1,NULL,1); - iStack8 = 0; - puVar3 = puStack12; - do { - puStack12 = puVar3; - iStack8 += 1; - puVar3 = (uint *)((int)puStack12 + 1); - } while (iStack8 < 4); - uStack24 = *(undefined4 *)((int)puStack12 + 5); - uStack20 = *(undefined4 *)((int)puStack12 + 9); - iStack4 = (int)(*puVar3 >> 0x10 & 0xc0) >> 4; - if (iStack4 == 0) { - iStack8 = 0; - puStackX8 = param_3; - do { - *puStackX8 = *(undefined *)((int)&uStack24 + iStack8); - iStack8 += 1; - puStackX8 = puStackX8 + 1; - } while (iStack8 < 8); - } - puStack12 = puVar3; - FUN_70015ee4(); - } - else { - iStack4 = 8; - } - } - else { - iStack4 = -1; - } - return iStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70015270(undefined param_1) - -{ - uint *puVar1; - int iStack20; - uint uStack16; - undefined4 uStack12; - undefined4 uStack8; - uint *puStack4; - - iStack20 = 0; - do { - *(undefined4 *)(&DAT_80067d70 + iStack20 * 4) = 0xff; - iStack20 += 1; - } while (iStack20 < 0x10); - _DAT_80067dac = 1; - uStack16 = CONCAT31(0x20800,param_1) | 0x400; - iStack20 = 0; - do { - *(undefined *)((int)&uStack12 + iStack20) = 0; - iStack20 += 1; - } while (iStack20 < 8); - iStack20 = 0; - puVar1 = (uint *)&DAT_80067d70; - do { - puStack4 = puVar1; - *(undefined *)puStack4 = 0; - iStack20 += 1; - puVar1 = (uint *)((int)puStack4 + 1); - } while (iStack20 < 4); - *(uint *)((int)puStack4 + 1) = uStack16; - *(undefined4 *)((int)puStack4 + 5) = uStack12; - *(undefined4 *)((int)puStack4 + 9) = uStack8; - *(undefined *)((int)puStack4 + 0xd) = 0xfe; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int __osEepStatus(int param_1,byte param_2,undefined *param_3) - -{ - ulonglong uVar1; - undefined8 uVar2; - uint *puVar3; - short sStack28; - byte bStack26; - uint uStack24; - undefined4 uStack20; - undefined4 uStack16; - uint *puStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - puStack12 = (uint *)&DAT_80067d70; - if (param_2 < 0x41) { - FUN_70015ea0(); - uVar1 = FUN_7001563c(param_1,&sStack28); - iStack4 = (int)uVar1; - if ((iStack4 == 0) && (sStack28 == -0x8000)) { - while ((bStack26 & 0x80) != 0) { - FUN_7001563c(param_1,&sStack28); - } - FUN_70015530(param_2,param_3); - uVar2 = __osSiRawStartDma(1,(uint)&DAT_80067d70); - iStack4 = (int)uVar2; - osRecvMesg(param_1,NULL,1); - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80067d70 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80067dac = 0; - uVar2 = __osSiRawStartDma(0,(uint)&DAT_80067d70); - iStack4 = (int)uVar2; - DAT_80067d20 = 5; - osRecvMesg(param_1,NULL,1); - iStack8 = 0; - puVar3 = puStack12; - do { - puStack12 = puVar3; - iStack8 += 1; - puVar3 = (uint *)((int)puStack12 + 1); - } while (iStack8 < 4); - uStack24 = *puVar3; - uStack20 = *(undefined4 *)((int)puStack12 + 5); - uStack16 = *(undefined4 *)((int)puStack12 + 9); - iStack4 = (int)(uStack24 >> 0x10 & 0xc0) >> 4; - puStack12 = puVar3; - FUN_70015ee4(); - } - else { - iStack4 = 8; - } - } - else { - iStack4 = -1; - } - return iStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70015530(undefined param_1,undefined *param_2) - -{ - undefined uVar1; - uint *puVar2; - int iStack20; - uint uStack16; - undefined4 uStack12; - undefined4 uStack8; - uint *puStack4; - - iStack20 = 0; - do { - *(undefined4 *)(&DAT_80067d70 + iStack20 * 4) = 0xff; - iStack20 += 1; - } while (iStack20 < 0x10); - _DAT_80067dac = 1; - uStack16 = CONCAT31(0xa0100,param_1) | 0x500; - iStack20 = 0; - do { - uVar1 = *param_2; - param_2 = param_2 + 1; - *(undefined *)((int)&uStack12 + iStack20) = uVar1; - iStack20 += 1; - } while (iStack20 < 8); - iStack20 = 0; - puVar2 = (uint *)&DAT_80067d70; - do { - puStack4 = puVar2; - *(undefined *)puStack4 = 0; - iStack20 += 1; - puVar2 = (uint *)((int)puStack4 + 1); - } while (iStack20 < 4); - *(uint *)((int)puStack4 + 1) = uStack16; - *(undefined4 *)((int)puStack4 + 5) = uStack12; - *(undefined4 *)((int)puStack4 + 9) = uStack8; - *(undefined *)((int)puStack4 + 0xd) = 0xfe; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7001563c(int param_1,undefined2 *param_2) - -{ - undefined4 uVar1; - uint *puVar2; - undefined4 *puVar3; - undefined8 uVar4; - ulonglong uVar5; - undefined uStack16; - undefined uStack15; - undefined uStack14; - uint *puStack12; - int iStack8; - - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80067d70 + iStack8 * 4) = 0; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80067dac = 1; - iStack8 = 0; - puVar3 = (undefined4 *)&DAT_80067d70; - do { - puStack12 = puVar3; - *(undefined *)puStack12 = 0; - iStack8 += 1; - puVar3 = (undefined4 *)((int)puStack12 + 1); - } while (iStack8 < 4); - *(undefined4 *)((int)puStack12 + 1) = 0xff010300; - *(undefined4 *)((int)puStack12 + 5) = 0xffffffff; - *(undefined *)((int)puStack12 + 9) = 0xfe; - __osSiRawStartDma(1,(uint)&DAT_80067d70); - osRecvMesg(param_1,NULL,1); - DAT_80067d20 = 5; - uVar4 = __osSiRawStartDma(0,(uint)&DAT_80067d70); - osRecvMesg(param_1,NULL,1); - uVar5 = SEXT48((int)uVar4); - if (uVar5 == 0) { - iStack8 = 0; - puVar2 = (uint *)&DAT_80067d70; - do { - puStack12 = puVar2; - *(undefined *)puStack12 = 0; - iStack8 += 1; - puVar2 = (uint *)((int)puStack12 + 1); - } while (iStack8 < 4); - uVar1 = *(undefined4 *)((int)puStack12 + 5); - *(undefined *)((int)param_2 + 3) = (char)((int)(*(uint *)((int)puStack12 + 1) >> 8 & 0xc0) >> 4) - ; - uStack15 = (undefined)((uint)uVar1 >> 0x10); - uStack16 = (undefined)((uint)uVar1 >> 0x18); - *param_2 = CONCAT11(uStack15,uStack16); - uStack14 = (undefined)((uint)uVar1 >> 8); - *(undefined *)(param_2 + 1) = uStack14; - uVar5 = (ulonglong)*(byte *)((int)param_2 + 3); - if (*(byte *)((int)param_2 + 3) == 0) { - uVar5 = 0; - } - } - return uVar5; -} - - - -int osEepromLongRead(int iParm1,byte bParm2,undefined *puParm3,int iParm4) - -{ - longlong lVar1; - undefined4 in_v1_lo; - undefined *puStackX8; - int iStackX12; - int iStack4; - - iStack4 = 0; - if (bParm2 < 0x41) { - puStackX8 = puParm3; - iStackX12 = iParm4; - if (0 < iParm4) { - do { - iStack4 = osEepromRead(iParm1,bParm2,puStackX8); - if (iStack4 != 0) { - return iStack4; - } - iStackX12 += -8; - bParm2 += 1; - puStackX8 = puStackX8 + 8; - lVar1 = __ll_mul(0,12000,DAT_800269c0,DAT_800269c4); - __ull_div((int)lVar1,in_v1_lo,0,1000000); - loc_70010D10(0xffffffff80067d28); - osRecvMesg(-0x7ff982b8,NULL,1); - } while (0 < iStackX12); - } - } - else { - iStack4 = -1; - } - return iStack4; -} - - - -int osEepromLongRead(int iParm1,byte bParm2,undefined *puParm3,int iParm4) - -{ - longlong lVar1; - undefined4 in_v1_lo; - undefined *puStackX8; - int iStackX12; - int iStack4; - - iStack4 = 0; - if (bParm2 < 0x41) { - puStackX8 = puParm3; - iStackX12 = iParm4; - if (0 < iParm4) { - do { - iStack4 = __osEepStatus(iParm1,bParm2,puStackX8); - if (iStack4 != 0) { - return iStack4; - } - iStackX12 += -8; - bParm2 += 1; - puStackX8 = puStackX8 + 8; - lVar1 = __ll_mul(0,12000,DAT_800269c0,DAT_800269c4); - __ull_div((int)lVar1,in_v1_lo,0,1000000); - loc_70010D10(0xffffffff80067d28); - osRecvMesg(-0x7ff982b8,NULL,1); - } while (0 < iStackX12); - } - } - else { - iStack4 = -1; - } - return iStack4; -} - - - -undefined4 FUN_70015ae0(int param_1,byte *param_2) - -{ - undefined8 uVar1; - int iStack40; - byte bStack33; - uint uStack32; - undefined2 uStack28; - byte abStack26 [17]; - byte bStack9; - undefined4 uStack8; - undefined4 uStack4; - - uStack4 = 0; - bStack33 = 0; - iStack40 = 3; - FUN_70015ea0(); - do { - FUN_70015c80(0); - uVar1 = __osSiRawStartDma(1,(uint)&DAT_80067db0); - uStack4 = (undefined4)uVar1; - osRecvMesg(param_1,&uStack8,1); - uVar1 = __osSiRawStartDma(0,(uint)&DAT_80067db0); - uStack4 = (undefined4)uVar1; - osRecvMesg(param_1,&uStack8,1); - FUN_70015d7c(&bStack9,&uStack28); - uStack32 = 0; - if (DAT_80067d21 != 0) { - do { - if ((abStack26[uStack32 * 4] & 4) == 0) { - iStack40 += -1; - break; - } - uStack32 += 1; - } while ((longlong)(int)uStack32 < (longlong)(ulonglong)DAT_80067d21); - } - if ((ulonglong)DAT_80067d21 == (longlong)(int)uStack32) { - iStack40 = 0; - } - if (iStack40 < 1) { - uStack32 = 0; - if (DAT_80067d21 != 0) { - do { - if ((abStack26[uStack32 * 4 + 1] == 0) && ((abStack26[uStack32 * 4] & 1) != 0)) { - bStack33 |= (byte)(1 << (uStack32 & 0x1f)); - } - uStack32 += 1; - } while ((longlong)(int)uStack32 < (longlong)(ulonglong)DAT_80067d21); - } - FUN_70015ee4(); - *param_2 = bStack33; - return uStack4; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70015c80(undefined param_1) - -{ - int iStack16; - uint uStack12; - uint *puStack4; - - iStack16 = 0; - DAT_80067d20 = param_1; - do { - *(undefined4 *)(&DAT_80067db0 + iStack16 * 4) = 0; - iStack16 += 1; - } while (iStack16 < 0x10); - _DAT_80067dec = 1; - puStack4 = (uint *)&DAT_80067db0; - uStack12 = CONCAT31(0xff0100,param_1) | 0x300; - iStack16 = 0; - if (DAT_80067d21 != 0) { - do { - *puStack4 = uStack12; - puStack4[1] = 0xffffffff; - iStack16 += 1; - puStack4 = puStack4 + 2; - } while ((longlong)iStack16 < (longlong)(ulonglong)DAT_80067d21); - } - *(undefined *)puStack4 = 0xfe; - return; -} - - - -void FUN_70015d7c(byte *param_1,undefined2 *param_2) - -{ - uint uVar1; - byte local_11; - uint local_10; - undefined local_8; - undefined uStack7; - undefined uStack6; - uint *local_4; - - local_11 = 0; - local_4 = (uint *)&DAT_80067db0; - local_10 = 0; - if (DAT_80067d21 != 0) { - do { - uVar1 = local_4[1]; - *(undefined *)((int)param_2 + 3) = (char)((int)(*local_4 >> 8 & 0xc0) >> 4); - if (*(char *)((int)param_2 + 3) == '\0') { - uStack7 = (undefined)(uVar1 >> 0x10); - local_8 = (undefined)(uVar1 >> 0x18); - *param_2 = CONCAT11(uStack7,local_8); - uStack6 = (undefined)(uVar1 >> 8); - *(undefined *)(param_2 + 1) = uStack6; - local_11 |= (byte)(1 << (local_10 & 0x1f)); - } - local_10 += 1; - local_4 = local_4 + 2; - param_2 = param_2 + 2; - } while ((longlong)(int)local_10 < (longlong)(ulonglong)DAT_80067d21); - } - *param_1 = local_11; - return; -} - - - -void FUN_70015e50(void) - -{ - DAT_80027800 = 1; - osCreateMesgQueue((undefined4 *)0x80067df8,0x80067df0,1); - osSendMesg((int **)0x80067df8,0,0); - return; -} - - - -void FUN_70015ea0(void) - -{ - undefined4 uStack4; - - if (DAT_80027800 == 0) { - FUN_70015e50(); - } - osRecvMesg(-0x7ff98208,&uStack4,1); - return; -} - - - -void FUN_70015ee4(void) - -{ - osSendMesg((int **)0x80067df8,0,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 __osSiRawStartDma(int param_1,uint param_2) - -{ - ulonglong uVar1; - undefined8 uVar2; - - uVar1 = locret_7001F744(); - if (uVar1 == 0) { - if (param_1 == 1) { - loc_70010C2C(param_2,0x40); - } - _DAT_a4800000 = osVirtualToPhysical(param_2); - if (param_1 == 0) { - _DAT_a4800004 = 0x1fc007c0; - loc_70010BB4((longlong)(int)param_2,0x40); - } - else { - _DAT_a4800010 = 0x1fc007c0; - } - uVar2 = 0; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -ulonglong loc_70015FD0(uint param_1) - -{ - uint uVar1; - int iStack8; - byte bStack2; - byte bStack1; - - param_1 &= 0xffff; - bStack1 = 0; - iStack8 = 0; - do { - if ((bStack1 & 0x10) == 0) { - bStack2 = 0; - } - else { - bStack2 = 0x15; - } - uVar1 = param_1 & 0x400; - iStack8 += 1; - param_1 = (param_1 & 0x7fff) << 1; - bStack1 = (bStack1 << 1 | uVar1 != 0) ^ bStack2; - } while (iStack8 < 0x10); - return (ulonglong)bStack1 & 0x1f; -} - - - -ulonglong loc_700160BC(byte *param_1) - -{ - uint uStack12; - int iStack8; - byte bStack2; - byte bStack1; - - bStack1 = 0; - iStack8 = 0; - do { - uStack12 = 7; - do { - if ((bStack1 & 0x80) == 0) { - bStack2 = 0; - } - else { - bStack2 = 0x85; - } - bStack1 <<= 1; - if (iStack8 != 0x20) { - bStack1 |= ((ulonglong)*param_1 & (longlong)(1 << (uStack12 & 0x1f))) != 0; - } - uStack12 -= 1; - bStack1 ^= bStack2; - } while (-1 < (int)uStack12); - param_1 = param_1 + 1; - iStack8 += 1; - } while (iStack8 < 0x21); - return (ulonglong)bStack1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int __osContRamWrite(int param_1,int param_2,ushort param_3,byte *param_4,int param_5) - -{ - bool bVar1; - undefined8 uVar2; - ulonglong uVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - int iStack56; - undefined4 uStack52; - byte bStack14; - undefined4 *puStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - puStack12 = (undefined4 *)&DAT_80067db0; - iStack56 = 2; - if (((param_5 == 1) || (6 < param_3)) || (param_3 == 0)) { - FUN_70015ea0(); - DAT_80067d20 = 3; - FUN_70016370(param_2,(uint)param_3,param_4); - uVar2 = __osSiRawStartDma(1,(uint)&DAT_80067db0); - iStack4 = (int)uVar2; - osRecvMesg(param_1,NULL,1); - do { - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80067db0 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80067dec = 0; - uVar2 = __osSiRawStartDma(0,(uint)&DAT_80067db0); - iStack4 = (int)uVar2; - osRecvMesg(param_1,NULL,1); - puStack12 = (undefined4 *)&DAT_80067db0; - if ((param_2 != 0) && (iStack8 = 0, 0 < param_2)) { - do { - iStack8 += 1; - puStack12 = (undefined4 *)((int)puStack12 + 1); - } while (iStack8 < param_2); - } - puVar6 = puStack12; - puVar4 = &uStack52; - do { - puVar7 = puVar6 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar5; - } while (puVar7 != puStack12 + 9); - *puVar5 = *puVar7; - iStack4 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((iStack4 == 0) && (uVar3 = loc_700160BC(param_4), uVar3 != (ulonglong)bStack14)) { - iStack4 = FUN_70014834(param_1,param_2); - if (iStack4 != 0) { - FUN_70015ee4(); - return iStack4; - } - iStack4 = 4; - } - } while ((iStack4 == 4) && (bVar1 = -1 < iStack56, iStack56 += -1, bVar1)); - FUN_70015ee4(); - } - else { - iStack4 = 0; - } - return iStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70016370(int param_1,uint param_2,undefined *param_3) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined *puStackX8; - int iStack48; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - undefined auStack38 [30]; - undefined4 uStack8; - undefined4 *puStack4; - - puStack4 = (undefined4 *)&DAT_80067db0; - iStack48 = 0; - do { - *(undefined4 *)(&DAT_80067db0 + iStack48 * 4) = 0; - iStack48 += 1; - } while (iStack48 < 0x10); - _DAT_80067dec = 1; - uStack44 = 0xff; - uStack43 = 0x23; - uStack42 = 1; - uStack41 = 3; - loc_70015FD0(param_2 & 0xffff); - iStack48 = 0; - puStackX8 = param_3; - do { - auStack38[iStack48] = *puStackX8; - iStack48 += 1; - puStackX8 = puStackX8 + 1; - } while (iStack48 < 0x20); - if ((param_1 != 0) && (iStack48 = 0, 0 < param_1)) { - do { - *(undefined *)puStack4 = 0; - iStack48 += 1; - puStack4 = (undefined4 *)((int)puStack4 + 1); - } while (iStack48 < param_1); - } - puVar3 = (undefined4 *)&uStack44; - puVar1 = puStack4; - do { - puVar4 = puVar3 + 3; - puVar2 = puVar1 + 3; - *puVar1 = *puVar3; - puVar1[1] = puVar3[1]; - puVar1[2] = puVar3[2]; - puVar3 = puVar4; - puVar1 = puVar2; - } while (puVar4 != &uStack8); - *puVar2 = *puVar4; - *(undefined *)(puStack4 + 10) = 0xfe; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int __osContRamRead(int param_1,int param_2,uint param_3,byte *param_4) - -{ - bool bVar1; - undefined8 uVar2; - ulonglong uVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - byte *pbStackX12; - int iStack56; - undefined4 uStack52; - byte abStack46 [32]; - byte bStack14; - undefined4 *puStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - puStack12 = (undefined4 *)&DAT_80067db0; - iStack56 = 2; - FUN_70015ea0(); - DAT_80067d20 = 2; - FUN_70016734(param_2,param_3 & 0xffff); - uVar2 = __osSiRawStartDma(1,(uint)&DAT_80067db0); - iStack4 = (int)uVar2; - osRecvMesg(param_1,NULL,1); - pbStackX12 = param_4; - do { - iStack8 = 0; - do { - *(undefined4 *)(&DAT_80067db0 + iStack8 * 4) = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - _DAT_80067dec = 0; - uVar2 = __osSiRawStartDma(0,(uint)&DAT_80067db0); - iStack4 = (int)uVar2; - osRecvMesg(param_1,NULL,1); - puStack12 = (undefined4 *)&DAT_80067db0; - if ((param_2 != 0) && (iStack8 = 0, 0 < param_2)) { - do { - iStack8 += 1; - puStack12 = (undefined4 *)((int)puStack12 + 1); - } while (iStack8 < param_2); - } - puVar6 = puStack12; - puVar4 = &uStack52; - do { - puVar7 = puVar6 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar5; - } while (puVar7 != puStack12 + 9); - *puVar5 = *puVar7; - iStack4 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if (iStack4 == 0) { - uVar3 = loc_700160BC(abStack46); - if ((uVar3 & 0xff) == (ulonglong)bStack14) { - iStack8 = 0; - do { - *pbStackX12 = abStack46[iStack8]; - iStack8 += 1; - pbStackX12 = pbStackX12 + 1; - } while (iStack8 < 0x20); - } - else { - iStack4 = FUN_70014834(param_1,param_2); - if (iStack4 != 0) { - FUN_70015ee4(); - return iStack4; - } - iStack4 = 4; - } - } - } while ((iStack4 == 4) && (bVar1 = -1 < iStack56, iStack56 += -1, bVar1)); - FUN_70015ee4(); - return iStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70016734(int param_1,uint param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - int iStack48; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - undefined auStack38 [30]; - undefined4 uStack8; - undefined4 *puStack4; - - puStack4 = (undefined4 *)&DAT_80067db0; - iStack48 = 0; - do { - *(undefined4 *)(&DAT_80067db0 + iStack48 * 4) = 0; - iStack48 += 1; - } while (iStack48 < 0x10); - _DAT_80067dec = 1; - uStack44 = 0xff; - uStack43 = 3; - uStack42 = 0x21; - uStack41 = 2; - loc_70015FD0(param_2 & 0xffff); - iStack48 = 0; - do { - auStack38[iStack48] = 0xff; - iStack48 += 1; - } while (iStack48 < 0x20); - if ((param_1 != 0) && (iStack48 = 0, 0 < param_1)) { - do { - *(undefined *)puStack4 = 0; - iStack48 += 1; - puStack4 = (undefined4 *)((int)puStack4 + 1); - } while (iStack48 < param_1); - } - puVar3 = (undefined4 *)&uStack44; - puVar1 = puStack4; - do { - puVar4 = puVar3 + 3; - puVar2 = puVar1 + 3; - *puVar1 = *puVar3; - puVar1[1] = puVar3[1]; - puVar1[2] = puVar3[2]; - puVar3 = puVar4; - puVar1 = puVar2; - } while (puVar4 != &uStack8); - *puVar2 = *puVar4; - *(undefined *)(puStack4 + 10) = 0xfe; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void guAlign(float *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fStackX8; - float fStackX12; - - _DAT_80067e10 = DAT_80029830; - fStackX8 = param_3; - fStackX12 = param_4; - guNormalize(&fStackX8,&fStackX12,¶m_5); - param_2 = param_2 * _DAT_80067e10; - fVar1 = func_7F057FC4(param_2); - fVar2 = FUN_7f0583c0(param_2); - fVar3 = sqrtf(fStackX8 * fStackX8 + param_5 * param_5); - loc_70010084(param_1); - if (fVar3 != 0.00000000) { - fVar4 = 1.00000000 / fVar3; - *param_1 = (-param_5 * fVar2 - fVar1 * fStackX12 * fStackX8) * fVar4; - param_1[4] = (param_5 * fVar1 - fVar2 * fStackX12 * fStackX8) * fVar4; - param_1[0xc] = 0.00000000; - param_1[8] = -fStackX8; - param_1[1] = fVar1 * fVar3; - param_1[5] = fVar2 * fVar3; - param_1[0xd] = 0.00000000; - param_1[9] = -fStackX12; - param_1[2] = (fVar2 * fStackX8 - fVar1 * fStackX12 * param_5) * fVar4; - param_1[6] = (-fVar1 * fStackX8 - fVar2 * fStackX12 * param_5) * fVar4; - param_1[0xe] = 0.00000000; - param_1[3] = 0.00000000; - param_1[7] = 0.00000000; - param_1[10] = -param_5; - param_1[0xb] = 0.00000000; - param_1[0xf] = 1.00000000; - } - return; -} - - - -void guOrtho(float *param_1,float param_2,float param_3,float param_4,float param_5,float param_6, - float param_7,float param_8) - -{ - float *pfVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - - loc_70010084(param_1); - *param_1 = 2.00000000 / (param_3 - param_2); - param_1[10] = -2.00000000 / (param_7 - param_6); - param_1[5] = 2.00000000 / (param_5 - param_4); - param_1[0xc] = -(param_3 + param_2) / (param_3 - param_2); - param_1[0xd] = -(param_5 + param_4) / (param_5 - param_4); - param_1[0xf] = 1.00000000; - param_1[0xe] = -(param_7 + param_6) / (param_7 - param_6); - iVar2 = 1; - fVar9 = param_1[1]; - fVar6 = *param_1 * param_8; - fVar7 = param_1[2]; - fVar8 = param_1[3]; - pfVar1 = param_1; - if (true) { - do { - fVar5 = fVar9 * param_8; - fVar9 = pfVar1[5]; - fVar4 = fVar7 * param_8; - fVar7 = pfVar1[6]; - iVar2 += 1; - fVar3 = fVar8 * param_8; - fVar8 = pfVar1[7]; - *pfVar1 = fVar6; - fVar6 = pfVar1[4] * param_8; - pfVar1[1] = fVar5; - pfVar1[2] = fVar4; - param_1 = pfVar1 + 4; - pfVar1[3] = fVar3; - pfVar1 = param_1; - } while (iVar2 != 4); - } - *param_1 = fVar6; - param_1[1] = fVar9 * param_8; - param_1[2] = fVar7 * param_8; - param_1[3] = fVar8 * param_8; - return; -} - - - -void guOrtho(uint *param_1,float param_2,float param_3,float param_4,float param_5,float param_6, - float param_7,float param_8) - -{ - float afStack64 [16]; - - guOrtho(afStack64,param_2,param_3,param_4,param_5,param_6,param_7,param_8); - guMtxF2L(afStack64,param_1); - return; -} - - - -void coss(int param_1) - -{ - locret_70016CC8(param_1 + 0x4000U & 0xffff); - return; -} - - - -longlong locret_70016CC8(uint param_1) - -{ - short sVar1; - uint uVar2; - - uVar2 = (param_1 & 0xffff) >> 4; - if ((uVar2 & 0x400) == 0) { - sVar1 = *(short *)(&DAT_80027810 + (uVar2 & 0x3ff) * 2); - } - else { - sVar1 = *(short *)(&DAT_8002800e + (uVar2 & 0x3ff) * -2); - } - if ((uVar2 & 0x800) != 0) { - return (longlong)((int)sVar1 * -0x10000 >> 0x10); - } - return (longlong)sVar1; -} - - - -void guTranslate(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - loc_70010084(param_1); - param_1[0xc] = param_2; - param_1[0xd] = param_3; - param_1[0xe] = param_4; - return; -} - - - -void FUN_70016d58(uint *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - float afStack64 [12]; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - loc_70010084(afStack64); - uStack16 = param_2; - uStack12 = param_3; - uStack8 = param_4; - guMtxF2L(afStack64,param_1); - return; -} - - - -// WARNING: Instruction at (ram,0x70016dec) overlaps instruction at (ram,0x70016de8) -// - -int locret_70016E84(void *__s1,void *__s2,size_t __n) - -{ - char cVar1; - char cVar2; - uint uVar3; - int *piVar4; - int *piVar5; - uint in_v1_lo; - uint uVar6; - uint *puVar7; - uint uVar8; - - if (0xf < (int)__n) { - if ((((uint)__s1 ^ (uint)__s2) & 3) == 0) { - uVar8 = -(int)__s1 & 3; - if (uVar8 != 0) { - uVar6 = (uint)__s1 & 3; - piVar4 = (int *)((int)__s1 - uVar6); - uVar3 = (uint)__s2 & 3; - piVar5 = (int *)((int)__s2 - uVar3); - __s1 = (void *)((int)__s1 + uVar8); - __s2 = (void *)((int)__s2 + uVar8); - if ((*piVar4 << uVar6 * 8 | in_v1_lo & 0xffffffffU >> (4 - uVar6) * 8) != - (*piVar5 << uVar3 * 8 | in_v1_lo & 0xffffffffU >> (4 - uVar3) * 8)) { - return 1; - } - } - uVar6 = __n - uVar8 & 0xfffffffc; - __n = (__n - uVar8) - uVar6; - if (uVar6 != 0) { - puVar7 = (uint *)(uVar6 + (int)__s1); - uVar8 = *(uint *)__s1; - while( true ) { - uVar6 = *(uint *)__s2; - __s1 = (uint *)__s1 + 1; - __s2 = (uint *)__s2 + 1; - if (uVar8 != uVar6) { - return 1; - } - if ((uint *)__s1 == puVar7) break; - uVar8 = *(uint *)__s1; - } - } - } - else { - uVar8 = -(int)__s2 & 3; - if (uVar8 != 0) { - puVar7 = (uint *)(uVar8 + (int)__s1); - cVar1 = *(char *)__s1; - while( true ) { - cVar2 = *(char *)__s2; - __s1 = (void *)((int)__s1 + 1); - __s2 = (void *)((int)__s2 + 1); - if (cVar1 != cVar2) { - return 1; - } - if ((uint *)__s1 == puVar7) break; - cVar1 = *(char *)__s1; - } - } - uVar6 = __n - uVar8 & 0xfffffffc; - __n = (__n - uVar8) - uVar6; - if (uVar6 != 0) { - puVar7 = (uint *)(uVar6 + (int)__s1); - uVar8 = *(uint *)__s1; - while( true ) { - uVar6 = *(uint *)__s2; - __s1 = (uint *)__s1 + 1; - __s2 = (uint *)__s2 + 1; - if (uVar8 != uVar6) { - return 1; - } - if ((uint *)__s1 == puVar7) break; - uVar6 = (uint)__s1 & 3; - uVar8 = *(uint *)((int)__s1 - uVar6) << uVar6 * 8 | uVar8 & 0xffffffffU >> (4 - uVar6) * 8 - ; - } - } - } - } - puVar7 = (uint *)(__n + (int)__s1); - if (0 < (int)__n) { - cVar1 = *(char *)__s1; - while( true ) { - cVar2 = *(char *)__s2; - __s1 = (void *)((int)__s1 + 1); - __s2 = (void *)((int)__s2 + 1); - if (cVar1 != cVar2) { - return 1; - } - if ((uint *)__s1 == puVar7) break; - cVar1 = *(char *)__s1; - } - return 0; - } - return 0; -} - - - -void guScale(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - loc_70010084(param_1); - *param_1 = param_2; - param_1[5] = param_3; - param_1[0xf] = 0x3f800000; - param_1[10] = param_4; - return; -} - - - -void guScale(uint *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - float afStack64 [16]; - - guScale(afStack64,param_2,param_3,param_4); - guMtxF2L(afStack64,param_1); - return; -} - - - -void loc_70017244(float *pfParm1,undefined *puParm2,float fParm3,float fParm4,float fParm5, - float fParm6,float fParm7,float fParm8,float fParm9,float fParm10,float fParm11) - -{ - float fVar1; - double dVar2; - uint uVar3; - undefined8 in_f8; - double dVar4; - double dVar5; - float fVar6; - uint in_register_00001080; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - uVar3 = (uint)((ulonglong)in_f8 >> 0x20); - loc_70010084(pfParm1); - fParm6 = fParm6 - fParm3; - fParm7 = fParm7 - fParm4; - fParm8 = fParm8 - fParm5; - fVar1 = sqrtf(fParm6 * fParm6 + fParm7 * fParm7 + fParm8 * fParm8); - dVar2 = (double)((ulonglong)uVar3 << 0x20) / (double)fVar1; - fVar1 = (float)dVar2; - fParm6 = fParm6 * fVar1; - fParm7 = fParm7 * fVar1; - fParm8 = fParm8 * fVar1; - uVar3 = (uint)((ulonglong)dVar2 >> 0x20); - fVar9 = fParm10 * fParm8 - fParm11 * fParm7; - fVar10 = fParm11 * fParm6 - fParm9 * fParm8; - fVar11 = fParm9 * fParm7 - fParm10 * fParm6; - fVar1 = sqrtf(fVar9 * fVar9 + fVar10 * fVar10 + fVar11 * fVar11); - fVar6 = (float)((double)((ulonglong)uVar3 << 0x20) / (double)fVar1); - fVar9 = fVar9 * fVar6; - fVar10 = fVar10 * fVar6; - fVar11 = fVar11 * fVar6; - uVar3 = (uint)((ulonglong)(double)fVar1 >> 0x20); - fVar6 = fParm7 * fVar11 - fParm8 * fVar10; - fVar7 = fParm8 * fVar9 - fParm6 * fVar11; - fVar8 = fParm6 * fVar10 - fParm7 * fVar9; - fVar1 = sqrtf(fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8); - dVar2 = DAT_80029840; - fVar1 = (float)((double)((ulonglong)uVar3 << 0x20) / (double)fVar1); - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar8 = fVar8 * fVar1; - dVar4 = (double)fVar9 * (double)((ulonglong)in_register_00001080 << 0x20); - if (DAT_80029840 <= dVar4) { - dVar4 = DAT_80029840; - } - dVar5 = (double)fVar10 * (double)((ulonglong)in_register_00001080 << 0x20); - puParm2[8] = (char)(int)dVar4; - if (dVar2 <= dVar5) { - dVar5 = dVar2; - } - dVar4 = (double)fVar11 * (double)((ulonglong)in_register_00001080 << 0x20); - puParm2[9] = (char)(int)dVar5; - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - puParm2[10] = (char)(int)dVar4; - dVar4 = (double)fVar6 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - puParm2[0x18] = (char)(int)dVar4; - dVar4 = (double)fVar7 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - puParm2[0x19] = (char)(int)dVar4; - dVar4 = (double)fVar8 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - *puParm2 = 0; - puParm2[1] = 0; - puParm2[2] = 0; - puParm2[3] = 0; - puParm2[4] = 0; - puParm2[5] = 0; - puParm2[6] = 0; - puParm2[7] = 0; - puParm2[0x10] = 0; - puParm2[0x11] = 0x80; - puParm2[0x12] = 0; - puParm2[0x13] = 0; - puParm2[0x14] = 0; - puParm2[0x15] = 0x80; - puParm2[0x16] = 0; - puParm2[0x17] = 0; - puParm2[0x1a] = (char)(int)dVar4; - *pfParm1 = fVar9; - pfParm1[4] = fVar10; - pfParm1[8] = fVar11; - pfParm1[2] = fParm6; - pfParm1[6] = fParm7; - pfParm1[10] = fParm8; - pfParm1[1] = fVar6; - pfParm1[5] = fVar7; - pfParm1[9] = fVar8; - pfParm1[0xc] = -(fParm3 * fVar9 + fParm4 * fVar10 + fParm5 * fVar11); - pfParm1[0xd] = -(fParm3 * fVar6 + fParm4 * fVar7 + fParm5 * fVar8); - pfParm1[3] = 0.00000000; - pfParm1[7] = 0.00000000; - pfParm1[0xb] = 0.00000000; - pfParm1[0xf] = 1.00000000; - pfParm1[0xe] = -(fParm3 * fParm6 + fParm4 * fParm7 + fParm5 * fParm8); - return; -} - - - -void guLookAtReflect(uint *param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, - undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8, - undefined4 param_9,undefined4 param_10,undefined4 param_11) - -{ - float afStack64 [16]; - - loc_70017244(afStack64,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10, - param_11); - guMtxF2L(afStack64,param_1); - return; -} - - - -void guLookAtF(float *pfParm1,float fParm2,float fParm3,float fParm4,float fParm5,float fParm6, - float fParm7,float fParm8,float fParm9,float fParm10) - -{ - float fVar1; - float fVar2; - double dVar3; - uint uVar4; - undefined8 in_f8; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - - uVar4 = (uint)((ulonglong)in_f8 >> 0x20); - loc_70010084(pfParm1); - fParm5 = fParm5 - fParm2; - fParm6 = fParm6 - fParm3; - fParm7 = fParm7 - fParm4; - fVar1 = sqrtf(fParm5 * fParm5 + fParm6 * fParm6 + fParm7 * fParm7); - dVar3 = (double)((ulonglong)uVar4 << 0x20) / (double)fVar1; - fVar1 = (float)dVar3; - fParm5 = fParm5 * fVar1; - fParm6 = fParm6 * fVar1; - fParm7 = fParm7 * fVar1; - uVar4 = (uint)((ulonglong)dVar3 >> 0x20); - fVar7 = fParm9 * fParm7 - fParm10 * fParm6; - fVar8 = fParm10 * fParm5 - fParm8 * fParm7; - fVar9 = fParm8 * fParm6 - fParm9 * fParm5; - fVar1 = sqrtf(fVar7 * fVar7 + fVar8 * fVar8 + fVar9 * fVar9); - fVar2 = (float)((double)((ulonglong)uVar4 << 0x20) / (double)fVar1); - fVar7 = fVar7 * fVar2; - fVar8 = fVar8 * fVar2; - fVar9 = fVar9 * fVar2; - uVar4 = (uint)((ulonglong)(double)fVar1 >> 0x20); - fVar2 = fParm6 * fVar9 - fParm7 * fVar8; - fVar5 = fParm7 * fVar7 - fParm5 * fVar9; - fVar6 = fParm5 * fVar8 - fParm6 * fVar7; - fVar1 = sqrtf(fVar2 * fVar2 + fVar5 * fVar5 + fVar6 * fVar6); - fVar1 = (float)((double)((ulonglong)uVar4 << 0x20) / (double)fVar1); - *pfParm1 = fVar7; - pfParm1[4] = fVar8; - pfParm1[8] = fVar9; - pfParm1[1] = fVar2 * fVar1; - pfParm1[5] = fVar5 * fVar1; - pfParm1[0xc] = -(fParm2 * fVar7 + fParm3 * fVar8 + fParm4 * fVar9); - pfParm1[9] = fVar6 * fVar1; - pfParm1[2] = fParm5; - pfParm1[6] = fParm6; - pfParm1[10] = fParm7; - pfParm1[3] = 0.00000000; - pfParm1[7] = 0.00000000; - pfParm1[0xb] = 0.00000000; - pfParm1[0xd] = -(fParm2 * fVar2 * fVar1 + fParm3 * fVar5 * fVar1 + fParm4 * fVar6 * fVar1); - pfParm1[0xf] = 1.00000000; - pfParm1[0xe] = -(fParm2 * fParm5 + fParm3 * fParm6 + fParm4 * fParm7); - return; -} - - - -void guLookAt(uint *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, - undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8, - undefined4 param_9,undefined4 param_10) - -{ - float afStack64 [16]; - - guLookAtF(afStack64,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10); - guMtxF2L(afStack64,param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void guRotate(float *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fStackX8; - float fStackX12; - - _DAT_80067e20 = DAT_80029850; - fStackX8 = param_3; - fStackX12 = param_4; - guNormalize(&fStackX8,&fStackX12,¶m_5); - param_2 = param_2 * _DAT_80067e20; - fVar1 = func_7F057FC4(param_2); - fVar2 = FUN_7f0583c0(param_2); - fVar3 = 1.00000000 - fVar2; - fVar4 = fStackX8 * fStackX12 * fVar3; - fVar5 = fStackX12 * param_5 * fVar3; - fVar3 = param_5 * fStackX8 * fVar3; - loc_70010084(param_1); - *param_1 = (1.00000000 - fStackX8 * fStackX8) * fVar2 + fStackX8 * fStackX8; - param_1[9] = fVar5 - fStackX8 * fVar1; - param_1[6] = fStackX8 * fVar1 + fVar5; - param_1[5] = (1.00000000 - fStackX12 * fStackX12) * fVar2 + fStackX12 * fStackX12; - param_1[8] = fStackX12 * fVar1 + fVar3; - param_1[2] = fVar3 - fStackX12 * fVar1; - param_1[10] = (1.00000000 - param_5 * param_5) * fVar2 + param_5 * param_5; - param_1[4] = fVar4 - param_5 * fVar1; - param_1[1] = param_5 * fVar1 + fVar4; - return; -} - - - -void guRotate(uint *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - float afStack64 [16]; - - guRotate(afStack64,param_2,param_3,param_4,param_5); - guMtxF2L(afStack64,param_1); - return; -} - - - -longlong __f_to_ll(float param_1) - -{ - return (longlong)param_1 >> 0x20; -} - - - -double __ll_to_d(undefined4 param_1,undefined4 param_2) - -{ - return (double)CONCAT44(param_1,param_2); -} - - - -void __osSetSR(undefined8 param_1) - -{ - setCopReg(0,Status,param_1,0); - return; -} - - - -undefined4 __osGetSR(void) - -{ - return Status; -} - - - -undefined8 __osSiRawReadIo(uint param_1,undefined4 *param_2) - -{ - ulonglong uVar1; - undefined8 uVar2; - - uVar1 = locret_7001F744(); - if (uVar1 == 0) { - uVar2 = 0; - *param_2 = *(undefined4 *)(param_1 | 0xa0000000); - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -undefined8 __osSiRawWriteIo(uint param_1,undefined4 param_2) - -{ - ulonglong uVar1; - undefined8 uVar2; - - uVar1 = locret_7001F744(); - if (uVar1 == 0) { - uVar2 = 0; - *(undefined4 *)(param_1 | 0xa0000000) = param_2; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_70017C0C(uint param_1,undefined4 *param_2) - -{ - do { - } while ((_DAT_a4600010 & 3) != 0); - *param_2 = *(undefined4 *)(_DAT_80000308 | param_1 | 0xa0000000); - return 0; -} - - - -void locret_70017CD4(void *__s,size_t __n) - -{ - undefined4 *puVar1; - uint uVar2; - uint uVar3; - undefined4 *puVar4; - - if (0xb < (int)__n) { - uVar2 = -(int)__s & 3; - if (uVar2 != 0) { - uVar3 = (uint)__s & 3; - *(uint *)((int)__s - uVar3) = - *(uint *)((int)__s - uVar3) & -1 << (4 - uVar3) * 8 | 0U >> uVar3 * 8; - __s = (void *)((int)__s + uVar2); - } - uVar3 = __n - uVar2 & 0xffffffe0; - uVar2 = (__n - uVar2) - uVar3; - if (uVar3 != 0) { - puVar4 = (undefined4 *)(uVar3 + (int)__s); - puVar1 = (undefined4 *)__s; - do { - __s = puVar1 + 8; - *puVar1 = 0; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - puVar1[4] = 0; - puVar1[5] = 0; - puVar1[6] = 0; - puVar1[7] = 0; - puVar1 = (undefined4 *)__s; - } while ((undefined4 *)__s != puVar4); - } - uVar3 = uVar2 & 0xfffffffc; - __n = uVar2 - uVar3; - if (uVar3 != 0) { - puVar4 = (undefined4 *)(uVar3 + (int)__s); - puVar1 = (undefined4 *)__s; - do { - __s = puVar1 + 1; - *puVar1 = 0; - puVar1 = (undefined4 *)__s; - } while ((undefined4 *)__s != puVar4); - } - } - if (0 < (int)__n) { - puVar1 = (undefined4 *)__s; - do { - puVar4 = (undefined4 *)((int)puVar1 + 1); - *(undefined *)puVar1 = 0; - puVar1 = puVar4; - } while (puVar4 != (undefined4 *)(__n + (int)__s)); - } - return; -} - - - -void __osSetHWIntrRoutine(int param_1,undefined4 param_2) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - *(undefined4 *)(param_1 * 4 + -0x7ffd88c0) = param_2; - __osRestoreInt(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 __osLeoInterrupt(void) - -{ - ushort uVar1; - uint *puVar2; - int iVar3; - uint uVar4; - undefined8 uVar5; - int *piVar6; - int *piVar7; - int *piVar8; - - uVar4 = _DAT_a5000508; - iVar3 = _DAT_800690b4; - if (DAT_800269d0 == 0) { - uVar5 = 0; - } - else { - piVar8 = (int *)(_DAT_800690b4 + 0x14); - piVar6 = piVar8 + (uint)*(ushort *)(_DAT_800690b4 + 0x1a) * 9; - piVar7 = piVar6 + 6; - if ((_DAT_a4600010 & 1) == 0) { - do { - } while ((_DAT_a4600010 & 2) != 0); - if ((_DAT_a5000508 & 0x2000000) == 0) { - if ((_DAT_a5000508 & 0x8000000) == 0) { - if (*piVar8 == 1) { - if ((_DAT_a5000508 & 0x40000000) == 0) { - uVar1 = *(ushort *)(_DAT_800690b4 + 0x18); - if (*(int *)(_DAT_800690b4 + 0x1c) + 1 == - ((uint)uVar1 * 0x14 + (uint)uVar1) * 4 + (uint)uVar1) { - _DAT_a4600010 = 2; - DAT_800269cc |= 0x100401; - *piVar7 = 0; - FUN_7001853c(); - uVar5 = 1; - } - else { - *piVar7 = 6; - FUN_70018454(); - uVar5 = 1; - } - } - else { - piVar6[7] = piVar6[7] + piVar6[9]; - *(int *)(iVar3 + 0x1c) = *(int *)(iVar3 + 0x1c) + 1; - osEPiRawStartDma(_DAT_800690b4,1,0x5000400,piVar6[7],piVar6[9]); - uVar5 = 1; - } - } - else { - if (*piVar8 == 0) { - if (*(short *)(_DAT_800690b4 + 0x18) == 3) { - if (piVar6[10] + 0x11 < *(int *)(_DAT_800690b4 + 0x1c)) { - *piVar7 = 0; - FUN_70018454(); - return 1; - } - if ((_DAT_a5000508 & 0x40000000) == 0) { - *piVar7 = 0x11; - FUN_70018454(); - return 1; - } - } - else { - piVar6[7] = piVar6[7] + piVar6[9]; - } - if ((((_DAT_a5000510 & 0x200000) != 0) && ((_DAT_a5000510 & 0x400000) != 0)) || - ((_DAT_a5000510 & 0x2000000) != 0)) { - if ((uint)piVar6[10] < 4) { - piVar7[piVar6[10] + 5] = *(int *)(iVar3 + 0x1c) + 1; - } - else { - if ((*(short *)(iVar3 + 0x18) != 3) || (0x52 < *(int *)(iVar3 + 0x1c))) { - *piVar7 = 0x11; - FUN_70018454(); - return 1; - } - } - piVar6[10] = piVar6[10] + 1; - } - if ((uVar4 & 0x10000000) == 0) { - if (((*(int *)(iVar3 + 0x1c) == -1) && (*(short *)(iVar3 + 0x18) == 2)) && - (*(short *)(iVar3 + 0x1a) == 1)) { - if ((*(int *)(iVar3 + 0x3c) == 0) && - (puVar2 = *(uint **)(iVar3 + 0x34), - (puVar2[3] | *puVar2 | puVar2[1] | puVar2[2]) != 0)) { - *piVar7 = 6; - FUN_70018454(); - return 1; - } - *piVar7 = 0; - FUN_7001853c(); - } - *(int *)(iVar3 + 0x1c) = *(int *)(iVar3 + 0x1c) + 1; - if ((uVar4 & 0x40000000) == 0) { - if (*(int *)(iVar3 + 0x1c) < 0x55) { - *piVar7 = 6; - FUN_70018454(); - uVar5 = 1; - } - else { - uVar5 = 1; - } - } - else { - if (*(int *)(iVar3 + 0x1c) < 0x55) { - osEPiRawStartDma(_DAT_800690b4,0,0x5000400,piVar6[7],piVar6[9]); - uVar5 = 1; - *piVar7 = 0; - } - else { - *piVar7 = 6; - FUN_70018454(); - uVar5 = 1; - } - } - } - else { - if (*(int *)(iVar3 + 0x1c) != 0x57) { - *piVar7 = 6; - FUN_70018454(); - } - if ((*(short *)(iVar3 + 0x18) == 2) && (*(short *)(iVar3 + 0x1a) == 0)) { - *(undefined2 *)(iVar3 + 0x1a) = 1; - *(undefined4 *)(iVar3 + 0x1c) = 0xffffffff; - *(int *)(iVar3 + 0x54) = *(int *)(iVar3 + 0x54) - *(int *)(iVar3 + 0x5c); - } - else { - _DAT_a4600010 = 2; - DAT_800269cc |= 0x100401; - } - osEPiRawStartDma(_DAT_800690b4,0,0x5000000,piVar6[8],piVar6[9] << 2); - uVar5 = 1; - *piVar7 = 0; - } - } - else { - *piVar7 = 0x4b; - FUN_70018454(); - uVar5 = 1; - } - } - } - else { - *piVar7 = 3; - FUN_7001853c(); - _DAT_a4600010 = 2; - DAT_800269cc |= 0x100401; - uVar5 = 1; - } - } - else { - do { - } while ((_DAT_a4600010 & 2) != 0); - uVar5 = 0; - _DAT_a5000510 = *(uint *)(_DAT_800690b4 + 0x24) | 0x1000000; - *piVar7 = 0; - } - } - else { - _DAT_a4600010 = 3; - if (true) { - do { - } while (true); - } - if ((_DAT_a5000508 & 0x2000000) != 0) { - if (true) { - do { - } while (true); - } - _DAT_a5000510 = *(uint *)(_DAT_800690b4 + 0x24) | 0x1000000; - } - *piVar7 = 0x4b; - FUN_70018454(); - uVar5 = 1; - } - } - return uVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70018454(void) - -{ - do { - } while ((_DAT_a4600010 & 2) != 0); - do { - } while ((_DAT_a4600010 & 2) != 0); - _DAT_a5000510 = *(undefined4 *)(_DAT_800690b4 + 0x24); - FUN_7001853c(); - DAT_800269cc = DAT_800269cc | 0x100401; - _DAT_a4600010 = 2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7001853c(void) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int **ppiVar4; - - ppiVar4 = _DAT_80066a90; - if ((_DAT_80066a90 != NULL) && ((int)_DAT_80066a90[2] < (int)_DAT_80066a90[4])) { - piVar1 = _DAT_80066a90[3]; - piVar2 = _DAT_80066a90[2]; - piVar3 = _DAT_80066a90[4]; - _DAT_80066a90[5][((int)piVar1 + (int)piVar2) % (int)piVar3] = _DAT_80066a94; - if (piVar3 == NULL) { - trap(0x1c00); - } - if ((piVar3 == (int *)0xffffffff) && ((int)piVar1 + (int)piVar2 == -0x80000000)) { - trap(0x1800); - } - ppiVar4[2] = (int *)((int)ppiVar4[2] + 1); - if (**ppiVar4 != 0) { - ppiVar4 = (int **)__osPopThread(ppiVar4); - loc_700108E0((int **)&PTR_DAT_80027768,ppiVar4); - } - } - return; -} - - - -ulonglong __osDisableInt(void) - -{ - setCopReg(0,CONCAT44(uRegister00002060,Status),(longlong)Status & 0xfffffffffffffffe,0); - return (longlong)Status & 1; -} - - - -void __osRestoreInt(ulonglong param_1) - -{ - setCopReg(0,CONCAT44(uRegister00002060,Status),(longlong)Status | param_1,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70018670(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - _DAT_80068e54 = 0; - _DAT_80068e50 = 0; - _DAT_80068e58 = 0; - _DAT_80068e5c = 0; - *(undefined4 **)(DAT_80028010 + 1) = DAT_80028010; - *DAT_80028010 = DAT_80028010[1]; - puVar1 = DAT_80028010; - DAT_80028010[4] = 0; - puVar1[5] = 0; - puVar2 = DAT_80028010; - puVar1 = DAT_80028010 + 5; - DAT_80028010[2] = DAT_80028010[4]; - puVar2[3] = *puVar1; - DAT_80028010[6] = 0; - DAT_80028010[7] = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_700186fc(void) - -{ - int **ppiVar1; - int *piVar2; - int iVar3; - int *piVar4; - - if ((int **)*DAT_80028010 != DAT_80028010) { - while (ppiVar1 = (int **)*DAT_80028010, ppiVar1 != DAT_80028010) { - iVar3 = osGetCount(); - piVar4 = (int *)(iVar3 - _DAT_80068e60); - if ((true) && ((ppiVar1[4] != NULL || (piVar4 < ppiVar1[5])))) { - piVar2 = ppiVar1[5]; - _DAT_80068e60 = iVar3; - ppiVar1[5] = (int *)((int)piVar2 - (int)piVar4); - ppiVar1[4] = (int *)((int)ppiVar1[4] - (uint)(piVar2 < piVar4)); - FUN_70018874((longlong)(int)ppiVar1[4],(int)ppiVar1[5]); - return; - } - _DAT_80068e60 = iVar3; - *(int **)ppiVar1[1] = *ppiVar1; - *(int **)(*ppiVar1 + 1) = ppiVar1[1]; - *ppiVar1 = NULL; - ppiVar1[1] = NULL; - if ((int **)ppiVar1[6] != NULL) { - osSendMesg((int **)ppiVar1[6],(int)ppiVar1[7],0); - } - if ((ppiVar1[2] != NULL) || (ppiVar1[3] != NULL)) { - ppiVar1[4] = ppiVar1[2]; - ppiVar1[5] = ppiVar1[3]; - FUN_700188e8(ppiVar1); - } - } - __osSetCompare(0); - _DAT_80068e60 = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_70018874(undefined8 param_1,int param_2) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - _DAT_80068e60 = osGetCount(); - __osSetCompare((longlong)(_DAT_80068e60 + param_2)); - __osRestoreInt((longlong)(int)uVar1); - return; -} - - - -int * FUN_700188e8(int **param_1) - -{ - int *piVar1; - ulonglong uVar2; - int *piStack16; - int *piStack12; - int **ppiStack4; - - uVar2 = __osDisableInt(); - ppiStack4 = (int **)*DAT_80028010; - piStack12 = param_1[5]; - piStack16 = param_1[4]; - if (ppiStack4 != DAT_80028010) { - if ((ppiStack4[4] <= piStack16) && ((ppiStack4[4] < piStack16 || (ppiStack4[5] < piStack12)))) { - while( true ) { - piStack16 = (int *)((int)piStack16 + (-(uint)(piStack12 < ppiStack4[5]) - (int)ppiStack4[4]) - ); - piStack12 = (int *)((int)piStack12 - (int)ppiStack4[5]); - ppiStack4 = (int **)*ppiStack4; - if (ppiStack4 == DAT_80028010) break; - if ((piStack16 <= ppiStack4[4]) && - ((piStack16 < ppiStack4[4] || (piStack12 <= ppiStack4[5])))) break; - } - } - } - param_1[4] = piStack16; - param_1[5] = piStack12; - if (ppiStack4 != DAT_80028010) { - piVar1 = ppiStack4[5]; - ppiStack4[5] = (int *)((int)piVar1 - (int)piStack12); - ppiStack4[4] = (int *)((int)ppiStack4[4] + (-(uint)(piVar1 < piStack12) - (int)piStack16)); - } - *(int ***)param_1 = ppiStack4; - param_1[1] = ppiStack4[1]; - *(int ***)ppiStack4[1] = param_1; - *(int ***)(ppiStack4 + 1) = param_1; - __osRestoreInt((longlong)(int)uVar2); - return piStack16; -} - - - -undefined4 osGetThreadPri(int param_1) - -{ - if (param_1 == 0) { - param_1 = DAT_80027770; - } - return *(undefined4 *)(param_1 + 4); -} - - - -// WARNING: Heritage AFTER dead removal. Example location: r0x80028058 : 0x70018b54 -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Restarted to delay deadcode elimination for space: ram - -void FUN_70018a90(void) - -{ - locret_70017CD4(&DAT_80028020,0x60); - PTR_DAT_80028080 = &DAT_80028020; - PTR_DAT_80028084 = (undefined *)&DAT_80028050; - DAT_80028052 = 1; - DAT_80028022 = 1; - if (DAT_80028088 == 0) { - DAT_80028058 = &DAT_800283b0; - DAT_8002808c = 0x2f5b2d2; - } - else { - DAT_80028058 = &DAT_80028360; - DAT_8002808c = 0x2e6d354; - } - DAT_80028050 = 0x20; - DAT_8002805c = *(undefined4 *)(DAT_80028058 + 4); - do { - } while (10 < _DAT_a4400010); - _DAT_a4400000 = 0; - loc_70018E90(); - return; -} - - - -undefined * __osGetActiveQueue(void) - -{ - return PTR_DAT_80028080; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_70018E90(void) - -{ - int iVar1; - float fVar2; - undefined *puVar3; - undefined4 *puVar4; - uint uVar5; - undefined4 *puVar6; - undefined4 *puVar7; - float fVar8; - uint uVar9; - undefined4 uStack16; - uint uStack12; - - puVar3 = PTR_DAT_80028084; - iVar1 = *(int *)(PTR_DAT_80028084 + 8); - uVar5 = _DAT_a4400010 & 1; - uStack12 = osVirtualToPhysical(*(uint *)(PTR_DAT_80028084 + 4)); - uStack12 = *(int *)(iVar1 + uVar5 * 0x14 + 0x28) + uStack12; - if ((*(ushort *)puVar3 & 2) == 0) { - *(undefined4 *)(puVar3 + 0x20) = *(undefined4 *)(iVar1 + 0x20); - } - else { - *(uint *)(puVar3 + 0x20) = *(uint *)(puVar3 + 0x20) | *(uint *)(iVar1 + 0x20) & 0xfffff000; - } - if ((*(ushort *)puVar3 & 4) == 0) { - *(undefined4 *)(puVar3 + 0x2c) = *(undefined4 *)(iVar1 + uVar5 * 0x14 + 0x2c); - goto LAB_70018d70; - } - fVar8 = (float)(*(uint *)(iVar1 + uVar5 * 0x14 + 0x2c) & 0xfff); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar8 = *(float *)(puVar3 + 0x24) * fVar8; - if (false) { - fVar2 = ROUND(fVar8); - } - else { - fVar2 = FLOOR(fVar8); - } - uVar9 = (uint)fVar2; - if (true) { - if ((int)uVar9 < 0) goto LAB_70018d04; - } - else { - if (false) { - fVar8 = ROUND(fVar8 - 2147483648.00000000); - } - else { - fVar8 = FLOOR(fVar8 - 2147483648.00000000); - } - if (false) { -LAB_70018d04: - uVar9 = 0xffffffff; - } - else { - uVar9 = (int)fVar8 | 0x80000000; - } - } - *(uint *)(puVar3 + 0x2c) = uVar9; - *(uint *)(puVar3 + 0x2c) = - *(uint *)(puVar3 + 0x2c) | *(uint *)(iVar1 + uVar5 * 0x14 + 0x2c) & 0xfffff000; -LAB_70018d70: - uStack16 = *(undefined4 *)(iVar1 + 0x1c); - if ((*(ushort *)puVar3 & 0x20) != 0) { - uStack16 = 0; - } - if ((*(ushort *)puVar3 & 0x40) != 0) { - *(undefined4 *)(puVar3 + 0x2c) = 0; - uStack12 = osVirtualToPhysical(*(uint *)(puVar3 + 4)); - } - if ((*(ushort *)puVar3 & 0x80) != 0) { - *(uint *)(puVar3 + 0x2c) = ((uint)*(ushort *)(puVar3 + 0x28) & 0x3ff) << 0x10; - uStack12 = osVirtualToPhysical(*(uint *)(puVar3 + 4)); - } - puVar4 = (undefined4 *)PTR_DAT_80028080; - _DAT_a4400004 = uStack12; - _DAT_a4400008 = *(undefined4 *)(iVar1 + 8); - _DAT_a4400014 = *(undefined4 *)(iVar1 + 0xc); - _DAT_a4400018 = *(undefined4 *)(iVar1 + 0x10); - _DAT_a440001c = *(undefined4 *)(iVar1 + 0x14); - _DAT_a4400020 = *(undefined4 *)(iVar1 + 0x18); - _DAT_a4400024 = uStack16; - _DAT_a4400028 = *(undefined4 *)(iVar1 + uVar5 * 0x14 + 0x30); - _DAT_a440002c = *(undefined4 *)(iVar1 + uVar5 * 0x14 + 0x34); - _DAT_a440000c = *(undefined4 *)(iVar1 + uVar5 * 0x14 + 0x38); - _DAT_a4400030 = *(undefined4 *)(puVar3 + 0x20); - _DAT_a4400034 = *(undefined4 *)(puVar3 + 0x2c); - _DAT_a4400000 = *(undefined4 *)(puVar3 + 0xc); - PTR_DAT_80028084 = PTR_DAT_80028080; - PTR_DAT_80028080 = puVar3; - puVar6 = (undefined4 *)puVar3; - do { - puVar7 = puVar6 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar4 + 3; - } while (puVar7 != (undefined4 *)(puVar3 + 0x30)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 __osSpGetStatus(void) - -{ - return _DAT_a4040010; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __osSpSetStatus(undefined4 param_1) - -{ - _DAT_a4040010 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 locret_70018F1C(undefined4 param_1) - -{ - undefined8 uVar1; - - if ((_DAT_a4040010 & 1) == 0) { - uVar1 = 0xffffffffffffffff; - } - else { - uVar1 = 0; - _DAT_a4080000 = param_1; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 __osSpRawStartDma(int param_1,undefined4 param_2,uint param_3,int param_4) - -{ - ulonglong uVar1; - undefined8 uVar2; - - uVar1 = locret_70018FE4(); - if (uVar1 == 0) { - _DAT_a4040000 = param_2; - _DAT_a4040004 = osVirtualToPhysical(param_3); - if (param_1 == 0) { - _DAT_a404000c = param_4 + -1; - } - else { - _DAT_a4040008 = param_4 + -1; - } - uVar2 = 0; - } - else { - uVar2 = 0xffffffffffffffff; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong locret_70018FE4(void) - -{ - return (ulonglong)((_DAT_a4040010 & 0x1c) != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong locret_70019014(void) - -{ - return (ulonglong)((_DAT_a410000c & 0x100) != 0); -} - - - -int loc_700190CC(ulonglong param_1) - -{ - int iVar1; - uint uVar2; - - setCopReg(0,EntryHi,(longlong)EntryHi._4_4_ & 0xffU | param_1 & 0xffffffffffffe000,0); - Index = TLB_probe_for_matching_entry(EntryHi); - if ((Index & 0x80000000) == 0) { - EntryHi = TLB_read_indexed_entryHi(Index); - EntryLo0 = TLB_read_indexed_entryLo0(Index); - EntryLo1 = TLB_read_indexed_entryLo1(Index); - PageMask = TLB_read_indexed_entryLo1(Index); - uVar2 = PageMask._4_4_ + 0x2000U >> 1; - if (((longlong)(int)uVar2 & param_1) == 0) { - } - else { - EntryLo0._4_4_ = EntryLo1._4_4_; - } - if ((EntryLo0._4_4_ & 2) != 0) { - iVar1 = (EntryLo0._4_4_ & 0x3fffffc0) * 0x40 + ((uint)param_1 & uVar2 - 1); - goto LAB_7001910c; - } - } - iVar1 = -1; -LAB_7001910c: - setCopReg(0,EntryHi,(longlong)EntryHi._4_4_,0); - return iVar1; -} - - - -void alSynDelete(undefined4 *param_1) - -{ - *param_1 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong locret_70019118(void) - -{ - return (ulonglong)((_DAT_a450000c & 0x80000000) != 0); -} - - - -void FUN_70019160(undefined4 *param_1) - -{ - alFilterNew(param_1,alSavePull,locret_7001B61C,3); - param_1[5] = 0; - param_1[6] = 1; - return; -} - - - -void FUN_700191a4(undefined4 *param_1,undefined4 param_2,undefined4 param_3) - -{ - alFilterNew(param_1,loc_70019A7C,alMainBusPull,7); - param_1[5] = 0; - param_1[6] = param_3; - param_1[7] = param_2; - return; -} - - - -void FUN_700191f8(undefined4 *param_1,undefined4 param_2,undefined4 param_3) - -{ - alFilterNew(param_1,loc_7001B5BC,alAuxBusPull,6); - param_1[5] = 0; - param_1[6] = param_3; - param_1[7] = param_2; - return; -} - - - -void FUN_7001924c(undefined4 *param_1,int *param_2) - -{ - int iVar1; - - alFilterNew(param_1,loc_7001A8E4,loc_7001A6DC,1); - iVar1 = alHeapDBAlloc(0,0,param_2,1,0x20); - param_1[5] = iVar1; - param_1[9] = 1; - param_1[0xc] = 0; - param_1[7] = 0; - param_1[10] = 0; - param_1[0xb] = 0; - param_1[8] = 0; - param_1[6] = 0x3f800000; - return; -} - - - -void alLoadNew(undefined4 *param_1,undefined *param_2,int *param_3) - -{ - int iVar1; - undefined4 uVar2; - - alFilterNew(param_1,loc_7001A5CC,loc_70019C78,0); - iVar1 = alHeapDBAlloc(0,0,param_3,1,0x20); - param_1[5] = iVar1; - iVar1 = alHeapDBAlloc(0,0,param_3,1,0x20); - param_1[6] = iVar1; - uVar2 = (*(code *)param_2)(param_1 + 0xd); - param_1[0xc] = uVar2; - param_1[0xf] = 0; - param_1[0x10] = 1; - param_1[0x11] = 0; - return; -} - - - -void FUN_7001937c(undefined4 *param_1,int *param_2) - -{ - int iVar1; - - alFilterNew(param_1,loc_7001B4A0,loc_7001AAE4,4); - iVar1 = alHeapDBAlloc(0,0,param_2,1,0x50); - param_1[5] = iVar1; - param_1[0xe] = 1; - param_1[0x12] = 0; - *(undefined2 *)((int)param_1 + 0x1a) = 1; - *(undefined2 *)(param_1 + 10) = 1; - *(undefined2 *)((int)param_1 + 0x2e) = 1; - *(undefined2 *)(param_1 + 7) = 1; - *(undefined2 *)((int)param_1 + 0x1e) = 1; - *(undefined2 *)(param_1 + 8) = 0; - *(undefined2 *)((int)param_1 + 0x22) = 0; - *(undefined2 *)((int)param_1 + 0x26) = 1; - *(undefined2 *)(param_1 + 9) = 0; - param_1[0xc] = 0; - param_1[0xd] = 0; - *(undefined2 *)(param_1 + 6) = 0; - param_1[0xf] = 0; - param_1[0x10] = 0; - param_1[0x11] = 0; - return; -} - - - -void locret_70019478(undefined8 param_1,short *param_2) - -{ - int iVar1; - int iVar2; - short *psVar3; - short sVar4; - double dVar5; - double dVar6; - uint uVar7; - - uVar7 = (uint)((ulonglong)param_1 >> 0x20); - sVar4 = (short)(((int)*param_2 << 0xe) >> 0xf); - param_2[1] = 0x4000 - sVar4; - *(undefined4 *)(param_2 + 0x16) = 1; - iVar1 = 0; - do { - psVar3 = param_2; - iVar2 = iVar1; - iVar1 = iVar2 + 1; - psVar3[4] = 0; - param_2 = psVar3 + 1; - } while (iVar1 < 8); - iVar2 += 2; - psVar3[5] = sVar4; - dVar6 = (double)(int)sVar4 / (double)((ulonglong)uVar7 << 0x20); - dVar5 = dVar6; - psVar3 = psVar3 + 2; - while (iVar2 < 0x10) { - dVar5 = dVar5 * dVar6; - iVar2 += 1; - psVar3[4] = (short)(int)(dVar5 * (double)((ulonglong)uVar7 << 0x20)); - psVar3 = psVar3 + 1; - } - return; -} - - - -void loc_7001987C(undefined4 *param_1,int param_2,int *param_3) - -{ - byte bVar1; - double dVar2; - int iVar3; - uint uVar4; - uint uVar5; - uint *puVar6; - uint uVar7; - uint *puVar8; - ulonglong uVar9; - double dVar10; - undefined8 extraout_f12; - double dVar11; - - alFilterNew(param_1,0,locret_700201D0,5); - param_1[1] = 0x70020218; - param_1[10] = 0x7001ffe8; - puVar8 = &DAT_800281f8; - switch(*(undefined *)(param_2 + 0x1c)) { - case 1: - puVar8 = &DAT_80028090; - break; - case 2: - puVar8 = &DAT_800280f8; - break; - case 3: - puVar8 = &DAT_800281a8; - break; - case 4: - puVar8 = &DAT_800281d0; - break; - case 5: - puVar8 = &DAT_80028180; - break; - case 6: - puVar8 = *(uint **)(param_2 + 0x20); - } - uVar4 = *puVar8; - uVar7 = 2; - *(char *)(param_1 + 9) = (char)uVar4; - param_1[7] = puVar8[1]; - iVar3 = alHeapDBAlloc(0,0,param_3,uVar4 & 0xff,0x28); - param_1[8] = iVar3; - iVar3 = alHeapDBAlloc(0,0,param_3,param_1[7],2); - param_1[5] = iVar3; - param_1[6] = iVar3; - uVar4 = 0; - if (param_1[7] != 0) { - iVar3 = param_1[5]; - while( true ) { - *(undefined2 *)(iVar3 + uVar4 * 2) = 0; - uVar4 = uVar4 + 1 & 0xffff; - if ((uint)param_1[7] <= uVar4) break; - iVar3 = param_1[5]; - } - } - dVar2 = DAT_80029888; - uVar9 = 0; - if (*(char *)(param_1 + 9) != '\0') { - do { - uVar5 = uVar7 + 1 & 0xffff; - puVar6 = (uint *)(param_1[8] + (int)uVar9 * 0x28); - *puVar6 = puVar8[uVar7]; - uVar4 = uVar5 + 1 & 0xffff; - puVar6[1] = puVar8[uVar5]; - uVar7 = uVar4 + 1 & 0xffff; - *(undefined2 *)((int)puVar6 + 10) = (short)puVar8[uVar4]; - uVar5 = uVar7 + 1 & 0xffff; - *(short *)(puVar6 + 2) = (short)puVar8[uVar7]; - uVar4 = uVar5 + 1 & 0xffff; - *(short *)(puVar6 + 3) = (short)puVar8[uVar5]; - uVar7 = uVar4 + 2; - if (puVar8[uVar4] == 0) { - puVar6[9] = 0; - } - else { - uVar7 = uVar4 + 1 & 0xffff; - dVar10 = (double)((float)puVar8[uVar4] / 1000.00000000); - dVar10 = dVar10 + dVar10; - dVar11 = (double)(puVar6[1] - *puVar6); - *(float *)(puVar6 + 4) = (float)(dVar10 / (double)*(int *)(param_2 + 0x18)); - if ((int)(puVar6[1] - *puVar6) < 0) { - dVar11 = dVar11 + (double)((ulonglong)dVar10 & 0xffffffff00000000); - } - uVar4 = puVar8[uVar7]; - uVar7 += 1; - puVar6[5] = 0x3f800000; - puVar6[6] = 0; - *(float *)(puVar6 + 7) = (float)(((double)uVar4 / dVar2) * dVar11); - uVar4 = alHeapDBAlloc(0,0,param_3,1,0x34); - puVar6[9] = uVar4; - iVar3 = alHeapDBAlloc(0,0,param_3,1,0x20); - *(int *)(puVar6[9] + 0x14) = iVar3; - *(undefined4 *)(puVar6[9] + 0x20) = 0; - *(undefined4 *)(puVar6[9] + 0x24) = 1; - } - if (puVar8[uVar7 & 0xffff] == 0) { - puVar6[8] = 0; - bVar1 = *(byte *)(param_1 + 9); - } - else { - uVar4 = alHeapDBAlloc(0,0,param_3,1,0x30); - puVar6[8] = uVar4; - iVar3 = alHeapDBAlloc(0,0,param_3,1,8); - *(int *)(puVar6[8] + 0x28) = iVar3; - *(undefined2 *)puVar6[8] = (short)puVar8[uVar7 & 0xffff]; - locret_70019478(extraout_f12,(short *)puVar6[8]); - bVar1 = *(byte *)(param_1 + 9); - } - uVar7 = (uVar7 & 0xffff) + 1 & 0xffff; - uVar9 = (longlong)((int)uVar9 + 1) & 0xffff; - } while (uVar9 < (ulonglong)bVar1); - } - return; -} - - - -int alSynAllocFX(int param_1,short param_2,int param_3,int *param_4) - -{ - int iVar1; - int iVar2; - - iVar2 = (int)param_2 * 0x4c; - loc_7001987C((undefined4 *)(*(int *)(param_1 + 0x34) + iVar2 + 0x20),param_3,param_4); - iVar1 = *(int *)(param_1 + 0x34) + iVar2; - locret_700201D0((undefined4 *)(iVar1 + 0x20),1,iVar1); - alMainBusPull(*(int *)(param_1 + 0x30),2,*(int *)(param_1 + 0x34) + iVar2 + 0x20); - return *(int *)(param_1 + 0x34) + iVar2 + 0x20; -} - - - -undefined8 alMainBusPull(int param_1,longlong param_2,undefined4 param_3) - -{ - if (param_2 == 2) { - *(undefined4 *)(*(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x14) * 4) = param_3; - *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + 1; - } - return 0; -} - - - -undefined4 * -loc_70019A7C(int param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, - undefined4 *param_5) - -{ - uint uVar1; - int iVar2; - int *piVar3; - - piVar3 = *(int **)(param_1 + 0x1c); - uVar1 = (int)param_3 << 1; - *param_5 = 0x2000440; - param_5[1] = uVar1; - param_5[2] = 0x2000580; - param_5[3] = uVar1; - iVar2 = 0; - param_5 = param_5 + 4; - if (0 < *(int *)(param_1 + 0x14)) { - do { - param_5 = (undefined4 *)(**(code **)(*piVar3 + 4))(*piVar3,param_2,param_3,param_4,param_5); - *param_5 = 0x8000000; - param_5[1] = uVar1 & 0xffff; - param_5[3] = 0x6c00440; - param_5[2] = 0xc007fff; - param_5[5] = 0x8000580; - param_5[4] = 0xc007fff; - iVar2 += 1; - piVar3 = piVar3 + 1; - param_5 = param_5 + 6; - } while (iVar2 < *(int *)(param_1 + 0x14)); - } - return param_5; -} - - - -void loc_70019C78(int param_1,longlong param_2,undefined4 *param_3) - -{ - undefined4 uVar1; - int iVar2; - undefined4 *puVar3; - - if (param_2 == 4) { - puVar3 = *(undefined4 **)(param_1 + 0x28); - *(undefined4 *)(param_1 + 0x3c) = 0; - *(undefined4 *)(param_1 + 0x40) = 1; - *(undefined4 *)(param_1 + 0x38) = 0; - if (puVar3 != NULL) { - *(undefined4 *)(param_1 + 0x44) = *puVar3; - if (*(char *)(puVar3 + 2) == '\0') { - if (puVar3[3] != 0) { - *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(puVar3[3] + 8); - } - } - else { - if ((*(char *)(puVar3 + 2) == '\x01') && (puVar3[3] != 0)) { - *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(puVar3[3] + 8); - } - } - } - } - else { - if (param_2 == 5) { - *(undefined4 **)(param_1 + 0x28) = param_3; - uVar1 = *param_3; - *(undefined4 *)(param_1 + 0x38) = 0; - *(undefined4 *)(param_1 + 0x44) = uVar1; - if (*(char *)(param_3 + 2) == '\0') { - *(undefined4 *)(param_1 + 4) = 0x7001a19c; - iVar2 = *(int *)(*(int *)(param_1 + 0x28) + 4); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - *(int *)(*(int *)(param_1 + 0x28) + 4) = (iVar2 / 9) * 9; - iVar2 = *(int *)(param_1 + 0x28); - *(int *)(param_1 + 0x2c) = **(int **)(iVar2 + 0x10) * 0x10 * (*(int **)(iVar2 + 0x10))[1]; - if (*(undefined4 **)(iVar2 + 0xc) == NULL) { - *(undefined4 *)(param_1 + 0x24) = 0; - *(undefined4 *)(param_1 + 0x20) = 0; - *(undefined4 *)(param_1 + 0x1c) = 0; - } - else { - *(undefined4 *)(param_1 + 0x1c) = **(undefined4 **)(iVar2 + 0xc); - *(undefined4 *)(param_1 + 0x20) = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 4); - *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 8); - locret_7001D6FC((undefined *)(*(int *)(iVar2 + 0xc) + 0xc),*(undefined **)(param_1 + 0x18) - ,0x20); - } - } - else { - if (*(char *)(param_3 + 2) == '\x01') { - iVar2 = *(int *)(param_1 + 0x28); - *(undefined4 *)(param_1 + 4) = 0x70019cc4; - if (*(undefined4 **)(iVar2 + 0xc) == NULL) { - *(undefined4 *)(param_1 + 0x24) = 0; - *(undefined4 *)(param_1 + 0x20) = 0; - *(undefined4 *)(param_1 + 0x1c) = 0; - } - else { - *(undefined4 *)(param_1 + 0x1c) = **(undefined4 **)(iVar2 + 0xc); - *(undefined4 *)(param_1 + 0x20) = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 4); - *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(*(int *)(iVar2 + 0xc) + 8); - } - } - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x70019eb8) overlaps instruction at (ram,0x70019eb4) -// - -uint * loc_7001A014(int param_1,short *param_2,uint param_3,undefined8 param_4,uint *param_5) - -{ - short sVar1; - int *piVar2; - bool bVar3; - uint uVar5; - ulonglong uVar4; - int iVar6; - short sVar9; - int iVar7; - uint uVar8; - uint uVar10; - ulonglong uVar11; - int iVar12; - uint *puVar13; - uint uVar14; - uint uVar15; - - if (param_3 != 0) { - if (*(uint *)(param_1 + 0x20) < *(int *)(param_1 + 0x38) + param_3) { - uVar14 = *(uint *)(param_1 + 0x20) - *(int *)(param_1 + 0x38); - if (*(int *)(param_1 + 0x24) != 0) { - uVar15 = uVar14 * 2; - if ((int)uVar14 < 1) { - sVar9 = 0; - } - else { - uVar5 = (**(code **)(param_1 + 0x30)) - (*(undefined4 *)(param_1 + 0x44),uVar15,*(undefined4 *)(param_1 + 0x34)) - ; - uVar8 = uVar5 & 7; - sVar1 = *param_2; - sVar9 = (short)uVar8; - param_5[1] = ((uVar15 + uVar8) - (uVar15 + uVar8 & 7)) + 8 & 0xffff; - *param_5 = (int)sVar1 & 0xffffU | 0x8000000; - param_5[3] = uVar5 - uVar8; - param_5[2] = 0x4000000; - param_5 = param_5 + 4; - } - *param_2 = *param_2 + sVar9; - iVar6 = **(int **)(param_1 + 0x28); - *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x1c); - *(int *)(param_1 + 0x44) = iVar6 + *(int *)(param_1 + 0x1c) * 2; - uVar11 = SEXT28(*param_2); - if ((int)uVar14 < (int)param_3) { - iVar6 = *(int *)(param_1 + 0x24); - puVar13 = param_5; - while( true ) { - iVar12 = (int)uVar11 + uVar15; - param_3 -= uVar14; - if ((iVar6 != -1) && (iVar6 != 0)) { - *(int *)(param_1 + 0x24) = iVar6 + -1; - } - uVar14 = *(int *)(param_1 + 0x20) - *(int *)(param_1 + 0x1c); - if (param_3 < uVar14) { - uVar14 = param_3; - } - uVar15 = uVar14 * 2; - uVar4 = (**(code **)(param_1 + 0x30)) - (*(undefined4 *)(param_1 + 0x44),uVar15, - *(undefined4 *)(param_1 + 0x34)); - uVar11 = SEXT48(iVar12); - iVar6 = (int)(uVar4 & 7); - if ((uVar11 & 7) == 0) { - iVar7 = 0; - } - else { - iVar7 = 8 - (int)(uVar11 & 7); - } - puVar13[1] = ((uVar15 + iVar6) - (uVar15 + iVar6 & 7)) + 8 & 0xffff; - *puVar13 = iVar12 + iVar7 & 0xffffU | 0x8000000; - puVar13[2] = 0x4000000; - puVar13[3] = (int)uVar4 - iVar6; - param_5 = puVar13 + 4; - if (((uVar4 & 7) != 0) || (iVar7 != 0)) { - *param_5 = iVar12 + iVar6 + iVar7 & 0xffffffU | 0xa000000; - puVar13[5] = iVar12 * 0x10000 | uVar15 & 0xffff; - param_5 = puVar13 + 6; - } - if ((int)param_3 <= (int)uVar14) break; - iVar6 = *(int *)(param_1 + 0x24); - puVar13 = param_5; - } - } - *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + param_3; - *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + param_3 * 2; - return param_5; - } - piVar2 = *(int **)(param_1 + 0x28); - } - else { - piVar2 = *(int **)(param_1 + 0x28); - } - uVar14 = param_3 * 2; - iVar6 = *(int *)(param_1 + 0x44) + uVar14; - uVar15 = (iVar6 - *piVar2) - piVar2[1]; - if ((int)uVar15 < 0) { - uVar15 = 0; - bVar3 = (int)uVar14 < 0; - } - else { - bVar3 = (int)uVar14 < (int)uVar15; - } - uVar5 = uVar14; - if (!bVar3) { - uVar5 = uVar15; - } - if (bVar3 || (int)uVar14 <= (int)uVar15) { - *(int *)(param_1 + 0x44) = iVar6; - } - else { - sVar9 = 0; - if (0 < (int)param_3) { - uVar15 = (**(code **)(param_1 + 0x30)) - (*(int *)(param_1 + 0x44),uVar14 - uVar5,*(undefined4 *)(param_1 + 0x34)) - ; - uVar8 = uVar15 & 7; - sVar1 = *param_2; - sVar9 = (short)uVar8; - uVar10 = (uVar14 - uVar5) + uVar8; - param_5[1] = (uVar10 - (uVar10 & 7)) + 8 & 0xffff; - *param_5 = (int)sVar1 & 0xffffU | 0x8000000; - param_5[3] = uVar15 - uVar8; - param_5[2] = 0x4000000; - param_5 = param_5 + 4; - } - *param_2 = *param_2 + sVar9; - *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + param_3; - *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + uVar14; - } - iVar6 = uVar14 - uVar5; - if (uVar5 != 0) { - if (iVar6 < 0) { - iVar6 = 0; - } - *param_5 = (int)*param_2 + iVar6 & 0xffffffU | 0x2000000; - param_5[1] = uVar5; - param_5 = param_5 + 2; - } - } - return param_5; -} - - - -uint * loc_7001A0E8(void) - -{ - uint uVar1; - uint uVar2; - uint *unaff_s0_lo; - longlong unaff_s1; - uint uVar3; - int unaff_s2_lo; - short unaff_s3_lo; - ulonglong unaff_s4; - short unaff_s5_lo; - uint unaff_s6_lo; - - if (unaff_s1 < 1) { - uVar2 = 0; - } - else { - uVar1 = (**(code **)(unaff_s2_lo + 0x30)) - (*(undefined4 *)(unaff_s2_lo + 0x44),unaff_s1, - *(undefined4 *)(unaff_s2_lo + 0x34)); - uVar2 = uVar1 & 7; - uVar3 = (int)unaff_s1 + uVar2; - *unaff_s0_lo = (int)unaff_s3_lo & 0xffffU | 0x8000000; - unaff_s0_lo[1] = (uVar3 - (uVar3 & 7)) + 8 & 0xffff; - unaff_s0_lo[2] = 0x4000000; - unaff_s0_lo[3] = uVar1 - uVar2; - unaff_s0_lo = unaff_s0_lo + 4; - } - if ((unaff_s4 & 2) != 0) { - *unaff_s0_lo = 0xf000000; - unaff_s0_lo[1] = *(uint *)(unaff_s2_lo + 0x18) & 0x1fffffff; - unaff_s0_lo = unaff_s0_lo + 2; - } - *unaff_s0_lo = (int)unaff_s3_lo + uVar2 & 0xffff | 0x8000000; - unaff_s0_lo[1] = (int)unaff_s5_lo << 0x10 | (unaff_s6_lo & 0x7fff) << 1; - unaff_s0_lo[2] = ((uint)unaff_s4 & 0xff) << 0x10 | 0x1000000; - unaff_s0_lo[3] = *(uint *)(unaff_s2_lo + 0x14) & 0x1fffffff; - *(undefined4 *)(unaff_s2_lo + 0x40) = 0; - return unaff_s0_lo + 4; -} - - - -uint * loc_7001A5CC(int param_1,short *param_2,uint param_3,undefined8 param_4,uint *param_5) - -{ - short sVar1; - bool bVar2; - bool bVar3; - uint uVar4; - int iVar5; - uint uVar6; - int iVar8; - longlong lVar7; - int iVar9; - int iVar10; - int iVar11; - - bVar3 = false; - if (param_3 != 0) { - *param_5 = *(uint *)(param_1 + 0x2c) & 0xffffff | 0xb000000; - iVar8 = 0; - param_5[1] = *(int *)(*(int *)(param_1 + 0x28) + 0x10) + 8U & 0x1fffffff; - bVar2 = *(uint *)(param_1 + 0x20) < *(int *)(param_1 + 0x38) + param_3; - if (bVar2) { - bVar2 = *(int *)(param_1 + 0x24) != 0; - } - uVar6 = param_3; - if (bVar2) { - uVar6 = *(uint *)(param_1 + 0x20) - *(int *)(param_1 + 0x38); - } - if (*(int *)(param_1 + 0x3c) != 0) { - iVar8 = 0x10 - *(int *)(param_1 + 0x3c); - } - iVar5 = uVar6 - iVar8; - if (iVar5 < 0) { - iVar5 = 0; - } - if (bVar2) { - iVar8 = iVar5 + 0xf >> 4; - param_5 = loc_7001A0E8(); - if (*(int *)(param_1 + 0x3c) == 0) { - *param_2 = *param_2 + 0x20; - } - else { - *param_2 = *param_2 + (short)(*(int *)(param_1 + 0x3c) << 1); - } - uVar4 = *(uint *)(param_1 + 0x1c); - *(uint *)(param_1 + 0x3c) = uVar4 & 0xf; - *(int *)(param_1 + 0x44) = **(int **)(param_1 + 0x28) + (uVar4 >> 4) * 9 + 9; - *(uint *)(param_1 + 0x38) = uVar4; - lVar7 = (longlong)*param_2; - if ((int)uVar6 < (int)param_3) { - uVar4 = uVar6 << 1; - do { - iVar11 = iVar8 + 1; - iVar8 = *(int *)(param_1 + 0x24); - iVar5 = (int)lVar7; - param_3 -= uVar6; - iVar9 = iVar5 + uVar4; - if ((iVar8 != -1) && (iVar8 != 0)) { - *(int *)(param_1 + 0x24) = iVar8 + -1; - } - uVar6 = *(int *)(param_1 + 0x20) - *(int *)(param_1 + 0x1c); - if (param_3 < uVar6) { - uVar6 = param_3; - } - iVar8 = uVar6 + *(int *)(param_1 + 0x3c) + -0x10; - if (iVar8 < 0) { - iVar8 = 0; - } - iVar8 = iVar8 + 0xf >> 4; - param_5 = loc_7001A0E8(); - lVar7 = (longlong)iVar9; - uVar4 = uVar6 << 1; - *param_5 = *(int *)(param_1 + 0x3c) * 2 + (iVar11 * 0x20 + iVar5 & 0xffffffe0U) & 0xffffff - | 0xa000000; - param_5[1] = iVar9 * 0x10000 | uVar4 & 0xffff; - param_5 = param_5 + 2; - } while ((int)uVar6 < (int)param_3); - } - *(uint *)(param_1 + 0x3c) = *(int *)(param_1 + 0x3c) + param_3 & 0xf; - *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + param_3; - *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + iVar8 * 9; - } - else { - iVar10 = iVar5 + 0xf >> 4; - iVar5 = iVar10 * 9; - iVar11 = *(int *)(param_1 + 0x44) + iVar5; - iVar9 = (iVar11 - **(int **)(param_1 + 0x28)) - (*(int **)(param_1 + 0x28))[1]; - if (iVar9 < 0) { - iVar9 = 0; - } - uVar6 = iVar9 / 9 << 4; - uVar4 = iVar10 * 0x10 + iVar8; - if ((int)uVar4 < (int)uVar6) { - uVar6 = uVar4; - } - if ((int)(uVar6 - (uVar6 & 0xf)) < (int)param_3) { - param_5 = loc_7001A0E8(); - bVar3 = true; - if (*(int *)(param_1 + 0x3c) == 0) { - *param_2 = *param_2 + 0x20; - } - else { - *param_2 = *param_2 + (short)(*(int *)(param_1 + 0x3c) << 1); - } - *(uint *)(param_1 + 0x3c) = *(int *)(param_1 + 0x3c) + param_3 & 0xf; - *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + param_3; - *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + iVar5; - } - else { - *(undefined4 *)(param_1 + 0x3c) = 0; - *(int *)(param_1 + 0x44) = iVar11; - param_5 = param_5 + 2; - } - if (uVar6 != 0) { - *(undefined4 *)(param_1 + 0x3c) = 0; - if (bVar3) { - iVar8 = (uVar4 - uVar6) * 2; - } - else { - iVar8 = 0; - } - sVar1 = *param_2; - param_5[1] = uVar6 << 1; - *param_5 = (int)sVar1 + iVar8 & 0xffffffU | 0x2000000; - param_5 = param_5 + 2; - } - } - } - return param_5; -} - - - -undefined8 loc_7001A6DC(int *param_1,undefined4 param_2,int param_3) - -{ - int iVar1; - - if (false) { -switchD_7001a668_caseD_2: - if (*param_1 != 0) { - (**(code **)(*param_1 + 8))(); - } - } - else { - switch(param_2) { - case 1: - *param_1 = param_3; - break; - default: - goto switchD_7001a668_caseD_2; - case 4: - iVar1 = *param_1; - param_1[9] = 1; - param_1[0xc] = 0; - param_1[7] = 0; - param_1[8] = 0; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,4,0); - } - break; - case 7: - param_1[6] = param_3; - break; - case 8: - param_1[7] = 1; - break; - case 9: - iVar1 = *param_1; - param_1[0xc] = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,9,0); - } - } - } - return 0; -} - - - -uint * loc_7001A8E4(int *param_1,short *param_2,longlong param_3,undefined8 param_4,uint *param_5) - -{ - int iVar1; - uint *puVar2; - uint uVar3; - float fVar4; - int iVar5; - short sStack10; - uint *puStack8; - - iVar1 = *param_1; - sStack10 = 0x140; - puStack8 = param_5; - if (param_3 != 0) { - uVar3 = (uint)param_3; - if (param_1[7] == 0) { - fVar4 = (float)param_1[6]; - if (DAT_800298b8 < (double)fVar4) { - param_1[6] = DAT_800298c0; - fVar4 = (float)param_1[6]; - } - *(float *)(param_1 + 6) = (float)(int)(fVar4 * 32768.00000000); - *(float *)(param_1 + 6) = (float)param_1[6] / 32768.00000000; - fVar4 = (float)param_1[8] + (float)param_1[6] * (float)uVar3; - iVar5 = (int)fVar4; - *(float *)(param_1 + 8) = fVar4 - (float)iVar5; - puVar2 = (uint *)(**(code **)(iVar1 + 4))(iVar1,&sStack10,iVar5,param_4,param_5); - fVar4 = (float)param_1[6]; - *puVar2 = (int)sStack10 & 0xffffU | 0x8000000; - puVar2[1] = (int)*param_2 << 0x10 | (uVar3 & 0x7fff) << 1; - puVar2[2] = (param_1[9] & 0xffU) << 0x10 | 0x5000000 | (int)(fVar4 * 32768.00000000) & 0xffffU - ; - puStack8 = puVar2 + 4; - uVar3 = osVirtualToPhysical(param_1[5]); - puVar2[3] = uVar3; - param_1[9] = 0; - } - else { - puVar2 = (uint *)(**(code **)(iVar1 + 4))(iVar1,&sStack10,param_3,param_4,param_5); - *puVar2 = (int)sStack10 & 0xffffffU | 0xa000000; - puStack8 = puVar2 + 2; - puVar2[1] = (int)*param_2 << 0x10 | (uVar3 & 0x7fff) << 1; - } - } - return puStack8; -} - - - -undefined8 loc_7001AAE4(int *param_1,longlong param_2,int param_3) - -{ - int iVar1; - - if (param_2 == 1) { - *param_1 = param_3; - } - else { - if (param_2 == 3) { - if ((int *)param_1[0x10] == NULL) { - param_1[0xf] = param_3; - } - else { - *(int *)param_1[0x10] = param_3; - } - param_1[0x10] = param_3; - } - else { - if (param_2 == 4) { - iVar1 = *param_1; - param_1[0xe] = 1; - param_1[0x12] = 0; - *(undefined2 *)((int)param_1 + 0x1a) = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,4); - } - } - else { - if (param_2 == 9) { - iVar1 = *param_1; - param_1[0x12] = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,9); - } - } - else { - if (*param_1 != 0) { - (**(code **)(*param_1 + 8))(); - } - } - } - } - } - return 0; -} - - - -int loc_7001AB74(float param_1,float param_2,longlong param_3,undefined2 *param_4) - -{ - float fVar1; - uint in_register_00001020; - short sVar2; - double dVar3; - - if (param_3 != 0) { - dVar3 = (double)((param_1 - param_2) / (float)(int)param_3) * - (double)((ulonglong)in_register_00001020 << 0x20); - fVar1 = (float)dVar3; - if (fVar1 < 0.00000000) { - fVar1 = fVar1 - 1.00000000; - sVar2 = (short)(int)fVar1; - } - else { - sVar2 = (short)(int)dVar3; - } - *param_4 = (short)(int)((fVar1 - (float)(int)sVar2) * DAT_800299a4); - return (int)sVar2; - } - if (param_1 < param_2) { - *param_4 = 0; - return -0x8000; - } - *param_4 = 0xffff; - return 0x7fff; -} - - - -uint * loc_7001AE44(void) - -{ - uint *puVar1; - int iVar2; - uint uVar3; - int *unaff_s0_lo; - longlong unaff_s2; - short *unaff_s3_lo; - uint *unaff_s4_lo; - uint uVar4; - short *unaff_s5_lo; - undefined8 unaff_s6; - - iVar2 = *unaff_s0_lo; - if (unaff_s2 != 0) { - if (iVar2 == 0) { - FUN_7000cf84((byte *)s______ASSERTION_FAULT____s____s__l_80029968,(uint)s_source_80029994, - s_env_c_8002999c,0x175); - } - puVar1 = (uint *)(**(code **)(iVar2 + 4))(iVar2,unaff_s5_lo,unaff_s2,unaff_s6); - uVar4 = (int)unaff_s2 << 1; - *puVar1 = (int)*unaff_s5_lo & 0xffffU | 0x8000000; - puVar1[1] = ((int)*unaff_s3_lo + 0x440) * 0x10000 | uVar4 & 0xffff; - puVar1[2] = (int)*unaff_s3_lo + 0x580U & 0xffff | 0x8080000; - puVar1[3] = (int)*unaff_s3_lo + 0x800U & 0xffff | ((int)*unaff_s3_lo + 0x6c0) * 0x10000; - if (unaff_s0_lo[0xe] == 0) { - puVar1[4] = 0x3080000; - unaff_s4_lo = puVar1 + 6; - uVar3 = osVirtualToPhysical(unaff_s0_lo[5]); - puVar1[5] = uVar3; - } - else { - unaff_s0_lo[0xe] = 0; - *(short *)(unaff_s0_lo + 10) = - (short)((int)*(short *)((int)&DAT_80028220 + (int)*(short *)(unaff_s0_lo + 6) * 2) * - (int)*(short *)((int)unaff_s0_lo + 0x1a) >> 0xf); - iVar2 = loc_7001AB74((float)(int)*(short *)(unaff_s0_lo + 10), - (float)(int)*(short *)(unaff_s0_lo + 7),(longlong)unaff_s0_lo[0xd], - (undefined2 *)(unaff_s0_lo + 9)); - *(undefined2 *)((int)unaff_s0_lo + 0x26) = (short)iVar2; - *(undefined2 *)((int)unaff_s0_lo + 0x2e) = - (short)((int)*(short *)(&DAT_8002831e + (int)*(short *)(unaff_s0_lo + 6) * -2) * - (int)*(short *)((int)unaff_s0_lo + 0x1a) >> 0xf); - iVar2 = loc_7001AB74((float)(int)*(short *)((int)unaff_s0_lo + 0x2e), - (float)(int)*(short *)((int)unaff_s0_lo + 0x1e), - (longlong)unaff_s0_lo[0xd],(undefined2 *)((int)unaff_s0_lo + 0x2a)); - *(short *)(unaff_s0_lo + 0xb) = (short)iVar2; - puVar1[4] = (int)*(short *)(unaff_s0_lo + 7) & 0xffffU | 0x9060000; - puVar1[5] = 0; - puVar1[6] = (int)*(short *)((int)unaff_s0_lo + 0x1e) & 0xffffU | 0x9040000; - puVar1[7] = 0; - puVar1[8] = (int)*(short *)(unaff_s0_lo + 10) & 0xffffU | 0x9020000; - puVar1[9] = CONCAT22(*(undefined2 *)((int)unaff_s0_lo + 0x26),*(undefined2 *)(unaff_s0_lo + 9) - ); - puVar1[10] = (int)*(short *)((int)unaff_s0_lo + 0x2e) & 0xffffU | 0x9000000; - puVar1[0xb] = CONCAT22(*(undefined2 *)(unaff_s0_lo + 0xb), - *(undefined2 *)((int)unaff_s0_lo + 0x2a)); - puVar1[0xc] = (int)*(short *)(unaff_s0_lo + 8) & 0xffffU | 0x9080000; - puVar1[0xd] = (int)*(short *)((int)unaff_s0_lo + 0x22) & 0xffff; - puVar1[0xe] = 0x3090000; - unaff_s4_lo = puVar1 + 0x10; - uVar3 = osVirtualToPhysical(unaff_s0_lo[5]); - puVar1[0xf] = uVar3; - } - *unaff_s5_lo = *unaff_s5_lo + (short)uVar4; - } - return unaff_s4_lo; -} - - - -uint * loc_7001B4A0(int *param_1,undefined8 param_2,int param_3,int param_4,uint *param_5) - -{ - int iVar1; - code *pcVar2; - int *piVar3; - int iVar4; - int iVar5; - short sVar6; - float fVar7; - ulonglong unaff_f20; - ulonglong unaff_f22; - int iStackX8; - int iStack20; - uint *puStack4; - - puStack4 = param_5; - if (param_1[0xf] == 0) { - iVar5 = param_1[0x12]; - iStackX8 = param_3; - } - else { - iVar5 = param_1[0xf]; - iStackX8 = param_3; - iStack20 = param_4; - while( true ) { - iVar1 = *(int *)(iVar5 + 4); - iStack20 = iVar1 - iStack20; - if (iStackX8 < iStack20) break; - if (iStack20 < 0) { - FUN_7000cf84((byte *)s______ASSERTION_FAULT____s____s__l_800298d0, - (uint)s_samples____0_800298fc,s_env_c_8002990c,0x68); - } - if (0xa0 < iStack20) { - FUN_7000cf84((byte *)s______ASSERTION_FAULT____s____s__l_80029914, - (uint)s_samples____AL_MAX_RSP_SAMPLES_80029940,s_env_c_80029960,0x69); - } - iVar4 = DAT_80027720; - iVar5 = param_1[0xf]; - if (false) { -switchD_7001afac_caseD_1: - puStack4 = loc_7001AE44(); - param_1[0xc] = param_1[0xc] + iStack20; - (*(code *)param_1[2]) - (param_1,*(undefined2 *)(param_1[0xf] + 8),*(undefined4 *)(param_1[0xf] + 0xc)); - } - else { - switch(*(undefined2 *)(iVar5 + 8)) { - case 0: - *(undefined4 *)(*(int *)(iVar5 + 0xc) + 0xd8) = 0; - FUN_7000f060(iVar4,*(int ***)(iVar5 + 0xc)); - break; - default: - goto switchD_7001afac_caseD_1; - case 0xb: - case 0xc: - case 0x10: - puStack4 = loc_7001AE44(); - iVar5 = param_1[0xc] + iStack20; - param_1[0xc] = iVar5; - if (iVar5 < param_1[0xd]) { - fVar7 = (float)(uint)*(ushort *)(param_1 + 9); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(short *)(param_1 + 7) = - (short)(int)((double)(int)*(short *)(param_1 + 7) + - (double)((float)((double)((float)((int)*(short *)((int)param_1 + 0x26) - << 0x10) + fVar7) / - (double)(unaff_f20 & 0xffffffff00000000)) * - (float)iVar5) * (double)(unaff_f22 & 0xffffffff00000000)); - fVar7 = (float)(uint)*(ushort *)((int)param_1 + 0x2a); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(undefined2 *)((int)param_1 + 0x1e) = - (short)(int)((double)(int)*(short *)((int)param_1 + 0x1e) + - (double)((float)((double)((float)((int)*(short *)(param_1 + 0xb) << - 0x10) + fVar7) / - (double)(unaff_f20 & 0xffffffff00000000)) * - (float)iVar5) * (double)(unaff_f22 & 0xffffffff00000000)); - } - else { - *(short *)(param_1 + 10) = - (short)((int)*(short *)((int)&DAT_80028220 + (int)*(short *)(param_1 + 6) * 2) * - (int)*(short *)((int)param_1 + 0x1a) >> 0xf); - sVar6 = *(short *)(&DAT_8002831e + (int)*(short *)(param_1 + 6) * -2); - param_1[0xc] = param_1[0xd]; - *(undefined2 *)(param_1 + 7) = *(undefined2 *)(param_1 + 10); - *(undefined2 *)((int)param_1 + 0x2e) = - (short)((int)sVar6 * (int)*(short *)((int)param_1 + 0x1a) >> 0xf); - *(undefined2 *)((int)param_1 + 0x1e) = *(undefined2 *)((int)param_1 + 0x2e); - } - if (*(short *)(param_1 + 7) == 0) { - *(undefined2 *)(param_1 + 7) = 1; - sVar6 = *(short *)((int)param_1 + 0x1e); - } - else { - sVar6 = *(short *)((int)param_1 + 0x1e); - } - if (sVar6 == 0) { - *(undefined2 *)((int)param_1 + 0x1e) = 1; - iVar5 = param_1[0xf]; - } - else { - iVar5 = param_1[0xf]; - } - sVar6 = *(short *)(iVar5 + 8); - if (sVar6 == 0xc) { - *(short *)(param_1 + 6) = (short)*(undefined4 *)(iVar5 + 0xc); - sVar6 = *(short *)(iVar5 + 8); - } - if (sVar6 == 0xb) { - param_1[0xc] = 0; - *(undefined2 *)((int)param_1 + 0x1a) = - (short)(*(int *)(iVar5 + 0xc) * *(int *)(iVar5 + 0xc) >> 0xf); - param_1[0xd] = *(int *)(iVar5 + 0x10); - sVar6 = *(short *)(iVar5 + 8); - } - if (sVar6 == 0x10) { - *(undefined2 *)(param_1 + 8) = - *(undefined2 *)((int)&DAT_80028220 + *(int *)(iVar5 + 0xc) * 2); - *(undefined2 *)((int)param_1 + 0x22) = - *(undefined2 *)(&DAT_8002831e + *(int *)(iVar5 + 0xc) * -2); - } - param_1[0xe] = 1; - break; - case 0xd: - if (*(short *)(iVar5 + 10) == 0) { - pcVar2 = (code *)param_1[2]; - } - else { - (*(code *)param_1[2])(param_1,8,0); - pcVar2 = (code *)param_1[2]; - } - (*pcVar2)(param_1,5,*(undefined4 *)(iVar5 + 0x18)); - (*(code *)param_1[2])(param_1,9,0); - param_1[0xe] = 1; - param_1[0xc] = 0; - param_1[0xd] = *(int *)(iVar5 + 0x14); - *(undefined2 *)((int)param_1 + 0x1a) = - (short)((int)*(short *)(iVar5 + 0x10) * (int)*(short *)(iVar5 + 0x10) >> 0xf); - *(ushort *)(param_1 + 6) = (ushort)*(byte *)(iVar5 + 0x12); - *(undefined2 *)(param_1 + 8) = - *(undefined2 *)((int)&DAT_80028220 + (uint)*(byte *)(iVar5 + 0x13) * 2); - *(undefined2 *)((int)param_1 + 0x22) = - *(undefined2 *)(&DAT_8002831e + (uint)*(byte *)(iVar5 + 0x13) * -2); - if (*(int *)(iVar5 + 0x14) == 0) { - *(short *)(param_1 + 7) = - (short)((int)*(short *)((int)&DAT_80028220 + (int)*(short *)(param_1 + 6) * 2) * - (int)*(short *)((int)param_1 + 0x1a) >> 0xf); - *(undefined2 *)((int)param_1 + 0x1e) = - (short)((int)*(short *)(&DAT_8002831e + (int)*(short *)(param_1 + 6) * -2) * - (int)*(short *)((int)param_1 + 0x1a) >> 0xf); - } - else { - *(undefined2 *)(param_1 + 7) = 1; - *(undefined2 *)((int)param_1 + 0x1e) = 1; - } - if (*param_1 != 0) { - (**(code **)(*param_1 + 8))(*param_1,7,*(undefined4 *)(iVar5 + 0xc)); - } - break; - case 0xe: - if (*(short *)(iVar5 + 10) == 0) { - pcVar2 = (code *)param_1[2]; - } - else { - (*(code *)param_1[2])(param_1,8,0); - pcVar2 = (code *)param_1[2]; - } - (*pcVar2)(param_1,5,*(undefined4 *)(iVar5 + 0xc)); - (*(code *)param_1[2])(param_1,9,0); - break; - case 0xf: - puStack4 = loc_7001AE44(); - (*(code *)param_1[2])(param_1,4,0); - } - } - iStackX8 -= iStack20; - piVar3 = (int *)param_1[0xf]; - iVar5 = *piVar3; - param_1[0xf] = iVar5; - if (iVar5 == 0) { - param_1[0x10] = 0; - } - FUN_7000f0f8(piVar3); - if (param_1[0xf] == 0) break; - iVar5 = param_1[0xf]; - iStack20 = iVar1; - } - iVar5 = param_1[0x12]; - } - if (iVar5 == 1) { - puStack4 = loc_7001AE44(); - param_1[0xc] = param_1[0xc] + iStackX8; - } - if (param_1[0xd] < param_1[0xc]) { - param_1[0xc] = param_1[0xd]; - } - return puStack4; -} - - - -undefined8 alAuxBusPull(int param_1,longlong param_2,undefined4 param_3) - -{ - if (param_2 == 2) { - *(undefined4 *)(*(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x14) * 4) = param_3; - *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + 1; - } - return 0; -} - - - -undefined4 * -loc_7001B5BC(int param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, - undefined4 *param_5) - -{ - int iVar1; - int *piVar2; - - piVar2 = *(int **)(param_1 + 0x1c); - iVar1 = (int)param_3 << 1; - *param_5 = 0x20006c0; - param_5[1] = iVar1; - param_5[2] = 0x2000800; - param_5[3] = iVar1; - iVar1 = 0; - param_5 = param_5 + 4; - if (0 < *(int *)(param_1 + 0x14)) { - do { - param_5 = (undefined4 *)(**(code **)(*piVar2 + 4))(*piVar2,param_2,param_3,param_4,param_5); - iVar1 += 1; - piVar2 = piVar2 + 1; - } while (iVar1 < *(int *)(param_1 + 0x14)); - } - return param_5; -} - - - -undefined8 locret_7001B61C(undefined4 *param_1,longlong param_2,undefined4 param_3) - -{ - if (param_2 == 1) { - *param_1 = param_3; - return 0; - } - if (param_2 == 6) { - param_1[5] = param_3; - return 0; - } - return 0; -} - - - -void alSavePull(int *param_1,undefined8 param_2,uint param_3) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)(**(code **)(*param_1 + 4))(); - puVar1[1] = (param_3 & 0x7fff) << 1; - *puVar1 = 0x8000000; - puVar1[2] = 0xd000000; - puVar1[3] = 0x4400580; - puVar1[5] = (param_3 & 0x3fff) << 2; - puVar1[4] = 0x8000000; - puVar1[6] = 0x6000000; - puVar1[7] = param_1[5]; - return; -} - - - -undefined8 osJamMesg(int **param_1,int param_2,int param_3) - -{ - int *piVar1; - ulonglong uVar2; - int **ppiVar3; - int iVar4; - - uVar2 = __osDisableInt(); - if ((int)param_1[4] <= (int)param_1[2]) { - do { - if (param_3 != 1) { - __osRestoreInt(uVar2); - return 0xffffffffffffffff; - } - *(undefined2 *)(DAT_80027770 + 0x10) = 8; - FUN_700107ec(param_1 + 1); - } while ((int)param_1[4] <= (int)param_1[2]); - } - piVar1 = param_1[4]; - iVar4 = (int)param_1[3] + (int)piVar1 + -1; - param_1[3] = (int *)(iVar4 % (int)piVar1); - if (piVar1 == NULL) { - trap(0x1c00); - } - if ((piVar1 == (int *)0xffffffff) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - param_1[5][(int)param_1[3]] = param_2; - param_1[2] = (int *)((int)param_1[2] + 1); - if (**param_1 != 0) { - ppiVar3 = (int **)__osPopThread(param_1); - osStartThread(ppiVar3); - } - __osRestoreInt(uVar2); - return 0; -} - - - -undefined4 FUN_7001b840(void) - -{ - if (DAT_800277d0 == 0) { - return 0; - } - return DAT_800277d8; -} - - - -void osDestroyThread(undefined4 *param_1) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - ulonglong uVar4; - undefined4 *puStackX0; - - uVar4 = __osDisableInt(); - if (param_1 == NULL) { - puStackX0 = DAT_80027770; - } - else { - puStackX0 = param_1; - if (*(short *)(param_1 + 4) != 1) { - locret_70010AC8((undefined4 *)param_1[2],param_1); - puStackX0 = param_1; - } - } - if ((undefined4 *)PTR_DAT_8002776c == puStackX0) { - PTR_DAT_8002776c = *(undefined **)(PTR_DAT_8002776c + 0xc); - } - else { - puVar3 = *(undefined4 **)(PTR_DAT_8002776c + 0xc); - puVar2 = (undefined4 *)PTR_DAT_8002776c; - while (puVar1 = puVar3, puVar1 != NULL) { - if (puVar1 == puStackX0) { - puVar2[3] = puStackX0[3]; - break; - } - puVar3 = (undefined4 *)puVar1[3]; - puVar2 = puVar1; - } - } - if (puStackX0 == DAT_80027770) { - FUN_70010944(); - } - __osRestoreInt(uVar4); - return; -} - - - -void __setInstChanState(int param_1,undefined *param_2,int param_3) - -{ - param_3 *= 0x10; - *(undefined **)(*(int *)(param_1 + 0x60) + param_3) = param_2; - *(undefined *)(*(int *)(param_1 + 0x60) + param_3 + 7) = param_2[1]; - *(undefined *)(*(int *)(param_1 + 0x60) + param_3 + 9) = *param_2; - *(undefined *)(*(int *)(param_1 + 0x60) + param_3 + 8) = param_2[2]; - *(undefined2 *)(*(int *)(param_1 + 0x60) + param_3 + 4) = *(undefined2 *)(param_2 + 0xc); - return; -} - - - -void __resetPerfChanState(int param_1,int param_2) - -{ - param_2 *= 0x10; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 6) = 0; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 10) = 0; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 7) = 0x40; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 9) = 0x7f; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 8) = 5; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 0xb) = 0; - *(undefined2 *)(*(int *)(param_1 + 0x60) + param_2 + 4) = 200; - *(undefined4 *)(*(int *)(param_1 + 0x60) + param_2 + 0xc) = 0x3f800000; - return; -} - - - -void loc_7001BDD4(int param_1,int param_2) - -{ - undefined *puVar1; - longlong lVar2; - int iVar3; - - puVar1 = *(undefined **)(param_2 + 0xc); - iVar3 = param_2; - while (puVar1 == NULL) { - puVar1 = *(undefined **)(iVar3 + 0x10); - iVar3 = iVar3 + 4; - } - lVar2 = 0; - iVar3 = 0; - if (*(char *)(param_1 + 0x34) != '\0') { - do { - iVar3 = (int)lVar2; - __resetPerfChanState(param_1,iVar3); - __setInstChanState(param_1,puVar1,iVar3); - iVar3 += 1; - lVar2 = (longlong)iVar3; - } while (lVar2 < (longlong)(ulonglong)*(byte *)(param_1 + 0x34)); - } - if (*(int *)(param_2 + 8) != 0) { - __resetPerfChanState(param_1,iVar3); - __setInstChanState(param_1,*(undefined **)(param_2 + 8),9); - } - return; -} - - - -int locret_7001BE0C(int param_1,int param_2) - -{ - param_2 = *(int *)(param_1 + 0x24) - param_2; - if (-1 < param_2) { - return param_2; - } - return 1000; -} - - - -undefined2 __vsVol(int param_1,int param_2) - -{ - return (short)((uint)(((int)((uint)*(byte *)(param_1 + 0x36) * (uint)*(byte *)(param_1 + 0x33) * - (uint)*(byte *)(param_1 + 0x30)) >> 6) * - ((int)((uint)*(byte *)(*(int *)(param_2 + 0x60) + - (uint)*(byte *)(param_1 + 0x31) * 0x10 + 9) * - (uint)*(byte *)(*(int *)(param_1 + 0x20) + 0xd) * - (int)*(short *)(param_2 + 0x32)) >> 0xe)) >> 0xf); -} - - - -void loc_7001BF40(int param_1,int *param_2,int *param_3) - -{ - int iVar1; - int **ppiVar2; - int **ppiVar3; - undefined2 auStack16 [2]; - int *piStack12; - - iVar1 = param_2[4]; - if (*(char *)(iVar1 + 0x34) == '\0') { - ppiVar3 = *(int ***)(param_1 + 0x50); - while (ppiVar2 = ppiVar3, ppiVar2 != NULL) { - ppiVar3 = (int **)*ppiVar2; - if ((*(short *)(ppiVar2 + 3) == 6) && (param_2 == ppiVar2[4])) { - if (ppiVar3 != NULL) { - ppiVar3[2] = (int *)((int)ppiVar3[2] + (int)ppiVar2[2]); - } - alUnlink((int *)ppiVar2); - alLink(ppiVar2,(int **)(param_1 + 0x48)); - } - } - } - *(undefined *)(iVar1 + 0x33) = 0; - *(undefined *)(iVar1 + 0x34) = 3; - *(undefined *)(iVar1 + 0x30) = 0; - *(int *)(iVar1 + 0x24) = *(int *)(param_1 + 0x1c) + (int)param_3; - alSynSetPriority((longlong)*(int *)(param_1 + 0x14),(int)param_2,0); - loc_70013430(*(int *)(param_1 + 0x14),(int)param_2,0,(int)param_3); - auStack16[0] = 5; - piStack12 = param_2; - FUN_70012f3c((int **)(param_1 + 0x48),(undefined *)auStack16,param_3); - return; -} - - - -undefined8 loc_7001C05C(int param_1,int *param_2,int param_3) - -{ - int **ppiVar1; - int **ppiVar2; - int iVar3; - undefined8 uVar4; - - iVar3 = 0; - ppiVar2 = *(int ***)(param_1 + 0x50); - do { - ppiVar1 = ppiVar2; - if (ppiVar1 == NULL) { - return 1; - } - ppiVar2 = (int **)*ppiVar1; - iVar3 += (int)ppiVar1[2]; - } while ((*(short *)(ppiVar1 + 3) != 5) || (param_2 != ppiVar1[4])); - if (param_3 < iVar3) { - if (ppiVar2 != NULL) { - ppiVar2[2] = (int *)((int)ppiVar2[2] + (int)ppiVar1[2]); - } - alUnlink((int *)ppiVar1); - alLink(ppiVar1,(int **)(param_1 + 0x48)); - uVar4 = 1; - } - else { - uVar4 = 0; - } - return uVar4; -} - - - -void locret_7001C0D8(int param_1,int param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 uVar4; - - puVar3 = *(undefined4 **)(param_1 + 100); - puVar2 = NULL; - while( true ) { - puVar1 = puVar3; - if (puVar1 == NULL) { - return; - } - if (puVar1 == (undefined4 *)(param_2 + -4)) break; - puVar3 = (undefined4 *)*puVar1; - puVar2 = puVar1; - } - if (puVar2 == NULL) { - *(undefined4 *)(param_1 + 100) = *puVar1; - } - else { - *puVar2 = *puVar1; - } - if (puVar1 == *(undefined4 **)(param_1 + 0x68)) { - *(undefined4 **)(param_1 + 0x68) = puVar2; - uVar4 = *(undefined4 *)(param_1 + 0x6c); - } - else { - uVar4 = *(undefined4 *)(param_1 + 0x6c); - } - *puVar1 = uVar4; - *(undefined4 **)(param_1 + 0x6c) = puVar1; - return; -} - - - -void loc_7001C1AC(int param_1) - -{ - int *piVar1; - ulonglong uVar2; - int iVar3; - int iStack20; - undefined2 auStack16 [8]; - - piVar1 = *(int **)(param_1 + 0x18); - if (((*(int *)(param_1 + 0x2c) == 1) && (piVar1 != NULL)) && - (uVar2 = loc_700209D8(piVar1,&iStack20), uVar2 != 0)) { - if ((*(int *)(param_1 + 0x84) != 0) && - (iVar3 = alSeqGetTicks((int)piVar1), - *(int *)(*(int *)(param_1 + 0x80) + 8) <= iVar3 + iStack20)) { - alSeqSetLoc((int)piVar1,*(undefined4 **)(param_1 + 0x7c)); - if (*(int *)(param_1 + 0x84) != -1) { - *(int *)(param_1 + 0x84) = *(int *)(param_1 + 0x84) + -1; - } - } - auStack16[0] = 0; - FUN_70012f3c((int **)(param_1 + 0x48),(undefined *)auStack16, - (int *)(*(int *)(param_1 + 0x24) * iStack20)); - } - return; -} - - - -void locret_7001C22C(int param_1,int param_2) - -{ - if ((*(char *)(param_1 + 8) == -1) && (*(char *)(param_1 + 9) == 'Q')) { - if (*(int *)(param_2 + 0x18) != 0) { - *(int *)(param_2 + 0x24) = - (int)((float)((uint)*(byte *)(param_1 + 0xb) << 0x10 | - (uint)*(byte *)(param_1 + 0xc) << 8 | (uint)*(byte *)(param_1 + 0xd)) * - *(float *)(*(int *)(param_2 + 0x18) + 0x14)); - return; - } - *(undefined4 *)(param_2 + 0x24) = 0x1e8; - } - return; -} - - - -uint locret_7001C274(int param_1,int param_2) - -{ - uint uVar1; - uint uVar2; - - uVar1 = ((uint)*(byte *)(*(int *)(param_2 + 0x60) + (uint)*(byte *)(param_1 + 0x31) * 0x10 + 7) + - (uint)*(byte *)(*(int *)(param_1 + 0x20) + 0xc)) - 0x40; - uVar2 = uVar1; - if ((int)uVar1 < 1) { - uVar2 = 0; - } - if (0x7e < (int)uVar1) { - uVar2 = 0x7f; - } - return uVar2 & 0xff; -} - - - -undefined4 * loc_7001C2E4(int param_1,char param_2,char param_3) - -{ - char cVar1; - undefined4 *puVar2; - - puVar2 = *(undefined4 **)(param_1 + 100); - if (puVar2 != NULL) { - cVar1 = *(char *)((int)puVar2 + 0x32); - while( true ) { - if (param_2 == cVar1) { - if (param_3 == *(char *)((int)puVar2 + 0x31)) { - if (*(char *)((int)puVar2 + 0x35) == '\x03') { - puVar2 = (undefined4 *)*puVar2; - } - else { - if (*(char *)((int)puVar2 + 0x35) != '\x04') { - return puVar2; - } - puVar2 = (undefined4 *)*puVar2; - } - } - else { - puVar2 = (undefined4 *)*puVar2; - } - } - else { - puVar2 = (undefined4 *)*puVar2; - } - if (puVar2 == NULL) break; - cVar1 = *(char *)((int)puVar2 + 0x32); - } - } - return NULL; -} - - - -undefined4 * locret_7001C358(int param_1,undefined param_2,undefined param_3,undefined param_4) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(param_1 + 0x6c); - if (puVar1 != NULL) { - *(undefined4 *)(param_1 + 0x6c) = *puVar1; - *puVar1 = 0; - if (*(int *)(param_1 + 100) == 0) { - *(undefined4 **)(param_1 + 100) = puVar1; - } - else { - *(undefined4 **)*(undefined4 **)(param_1 + 0x68) = puVar1; - } - *(undefined4 **)(param_1 + 0x68) = puVar1; - *(undefined *)((int)puVar1 + 0x31) = param_4; - *(undefined *)((int)puVar1 + 0x32) = param_2; - *(undefined *)((int)puVar1 + 0x33) = param_3; - *(undefined4 **)(puVar1 + 5) = puVar1; - } - return puVar1; -} - - - -int loc_7001C450(int param_1,byte param_2,byte param_3,uint param_4) - -{ - short sVar1; - int iVar2; - int iVar3; - byte *pbVar4; - longlong lVar5; - int iVar6; - longlong lVar7; - - iVar2 = *(int *)(*(int *)(param_1 + 0x60) + (param_4 & 0xff) * 0x10); - sVar1 = *(short *)(iVar2 + 0xe); - lVar7 = (longlong)sVar1; - lVar5 = 1; - iVar6 = (int)sVar1 + 1; - if (lVar7 < 1) { - return 0; - } - do { - if (iVar6 < 0) { - iVar6 += 1; - } - iVar6 >>= 1; - iVar3 = *(int *)(iVar2 + iVar6 * 4 + 0xc); - pbVar4 = *(byte **)(iVar3 + 4); - if ((((pbVar4[2] <= param_2) && (param_2 <= pbVar4[3])) && (*pbVar4 <= param_3)) && - (param_3 <= pbVar4[1])) { - return iVar3; - } - if (param_2 < pbVar4[2]) { -LAB_7001c478: - lVar7 = (longlong)(iVar6 + -1); - } - else { - if (param_3 < *pbVar4) { - if (param_2 <= pbVar4[3]) goto LAB_7001c478; - lVar5 = (longlong)(iVar6 + 1); - } - else { - lVar5 = (longlong)(iVar6 + 1); - } - } - if (lVar7 < lVar5) { - return 0; - } - iVar6 = (int)lVar5 + (int)lVar7; - } while( true ); -} - - - -void loc_7001CC68(int param_1) - -{ - byte bVar1; - byte bVar2; - int iVar3; - int iVar4; - int iVar5; - int **ppiVar7; - longlong lVar6; - undefined2 uVar9; - undefined4 *puVar8; - short sVar10; - uint uVar11; - undefined4 *puVar12; - char cVar13; - ulonglong uVar14; - int unaff_s1_lo; - uint uVar15; - float fVar16; - float fVar17; - undefined uVar19; - float fVar18; - undefined4 auStack92 [2]; - float afStack84 [4]; - ushort uStack68; - undefined2 uStack66; - undefined uStack64; - undefined2 auStack44 [2]; - undefined4 *puStack40; - int iStack36; - char cStack32; - - bVar1 = *(byte *)(param_1 + 9); - bVar2 = *(byte *)(param_1 + 10); - uVar11 = (uint)*(byte *)(param_1 + 8) & 0xf0; - uVar14 = (ulonglong)*(byte *)(param_1 + 8) & 0xf; - if (0x60 < uVar11 - 0x80) { - return; - } - uVar15 = (uint)uVar14; - cVar13 = (char)uVar14; - switch(uVar11) { - case 0x80: - goto LAB_7001c838; - case 0x90: - if (bVar2 != 0) { - if (*(int *)(unaff_s1_lo + 0x2c) != 1) { - return; - } - ppiVar7 = (int **)loc_7001C450(unaff_s1_lo,bVar1,bVar2,uVar15); - if (ppiVar7 == NULL) { - return; - } - iVar5 = uVar15 * 0x10; - uStack66 = 0; - uStack64 = 0; - uStack68 = (ushort)*(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar5 + 8); - puVar8 = locret_7001C358(unaff_s1_lo,bVar1,bVar2,cVar13); - if (puVar8 == NULL) { - return; - } - puVar12 = puVar8 + 1; - loc_70013380(*(int *)(unaff_s1_lo + 0x14),(int)puVar12,(short *)&uStack68); - *(int ***)(puVar8 + 8) = ppiVar7; - *(undefined *)(puVar8 + 0xd) = 0; - if (*(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar5 + 0xb) < 0x40) { - *(undefined *)((int)puVar8 + 0x35) = 0; - } - else { - *(undefined *)((int)puVar8 + 0x35) = 2; - } - fVar16 = FUN_70013800((int)((((uint)bVar1 - (uint)*(byte *)(ppiVar7[1] + 1)) * 100 + - (int)*(char *)((int)ppiVar7[1] + 5)) * 0x10000) >> 0x10); - *(float *)(puVar8 + 10) = fVar16; - *(undefined *)(puVar8 + 0xc) = *(undefined *)(*ppiVar7 + 3); - iVar3 = *(int *)(unaff_s1_lo + 0x1c); - iVar4 = **ppiVar7; - *(undefined *)((int)puVar8 + 0x37) = 0; - puVar8[9] = iVar3 + iVar4; - iVar3 = *(int *)(*(int *)(unaff_s1_lo + 0x60) + iVar5); - afStack84[0] = 127.00000000; - if (((*(byte *)(iVar3 + 4) != 0) && (*(code **)(unaff_s1_lo + 0x70) != NULL)) && - (lVar6 = (**(code **)(unaff_s1_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar3 + 4), - (ulonglong)*(byte *)(iVar3 + 5),(uint)*(byte *)(iVar3 + 6), - (uint)*(byte *)(iVar3 + 7)), lVar6 != 0)) { - auStack44[0] = 0x16; - iStack36 = auStack92[0]; - puStack40 = puVar8; - FUN_70012f3c((int **)(unaff_s1_lo + 0x48),(undefined *)auStack44,(int *)lVar6); - *(byte *)((int)puVar8 + 0x37) = *(byte *)((int)puVar8 + 0x37) | 1; - } - if (false) { - fVar16 = ROUND(afStack84[0]); - } - else { - fVar16 = FLOOR(afStack84[0]); - } - uVar19 = (undefined)(int)fVar16; - if (false) { - if (false) { - fVar16 = ROUND(afStack84[0] - 2147483648.00000000); - } - else { - fVar16 = FLOOR(afStack84[0] - 2147483648.00000000); - } - if (true) { - uVar19 = (undefined)(int)fVar16; - goto LAB_7001c6ec; - } - } - else { - if (-1 < (int)fVar16) goto LAB_7001c6ec; - } - uVar19 = 0xff; -LAB_7001c6ec: - *(undefined *)((int)puVar8 + 0x36) = uVar19; - afStack84[0] = 1.00000000; - if (((*(byte *)(iVar3 + 8) != 0) && (*(code **)(unaff_s1_lo + 0x70) != NULL)) && - (lVar6 = (**(code **)(unaff_s1_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar3 + 8), - (ulonglong)*(byte *)(iVar3 + 9),(uint)*(byte *)(iVar3 + 10), - (uint)*(byte *)(iVar3 + 0xb)), lVar6 != 0)) { - auStack44[0] = 0x17; - iStack36 = auStack92[0]; - puStack40 = puVar8; - cStack32 = cVar13; - FUN_70012f3c((int **)(unaff_s1_lo + 0x48),(undefined *)auStack44,(int *)lVar6); - *(byte *)((int)puVar8 + 0x37) = *(byte *)((int)puVar8 + 0x37) | 2; - } - fVar18 = (float)puVar8[10]; - *(float *)(puVar8 + 0xb) = afStack84[0]; - fVar16 = (float)puVar8[0xb]; - iVar5 = *(int *)(unaff_s1_lo + 0x60) + iVar5; - fVar17 = *(float *)(iVar5 + 0xc); - cVar13 = *(char *)(iVar5 + 10); - uVar11 = locret_7001C274((int)puVar8,unaff_s1_lo); - uVar9 = __vsVol((int)puVar8,unaff_s1_lo); - loc_7001D678(*(int *)(unaff_s1_lo + 0x14),(int)puVar12,ppiVar7[2],fVar17 * fVar18 * fVar16, - uVar9,(char)uVar11,cVar13,**ppiVar7); - auStack44[0] = 6; - cStack32 = *(undefined *)((int)*ppiVar7 + 0xd); - iStack36 = (*ppiVar7)[1]; - puStack40 = puVar12; - FUN_70012f3c((int **)(unaff_s1_lo + 0x48),(undefined *)auStack44,(int *)**ppiVar7); - return; - } -LAB_7001c838: - puVar8 = loc_7001C2E4(unaff_s1_lo,bVar1,cVar13); - if (puVar8 != NULL) { - if (*(char *)((int)puVar8 + 0x35) == '\x02') { - *(undefined *)((int)puVar8 + 0x35) = 4; - } - else { - *(undefined *)((int)puVar8 + 0x35) = 3; - loc_7001BF40(unaff_s1_lo,puVar8 + 1,*(int **)(*(int *)puVar8[8] + 8)); - } - } - break; - case 0xa0: - puVar8 = loc_7001C2E4(unaff_s1_lo,bVar1,cVar13); - if (puVar8 != NULL) { - *(byte *)((int)puVar8 + 0x33) = bVar2; - sVar10 = __vsVol((int)puVar8,unaff_s1_lo); - iVar5 = puVar8[9] - *(int *)(unaff_s1_lo + 0x1c); - if (iVar5 < 0) { - iVar5 = 1000; - } - loc_70013430(*(int *)(unaff_s1_lo + 0x14),(int)(puVar8 + 1),sVar10,iVar5); - } - break; - case 0xb0: - if (bVar1 < 0x41) { - if (bVar1 < 0x1c) { - if (true) { - switch(bVar1) { - case 7: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar15 * 0x10 + 9) = bVar2; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar14 == (ulonglong)bVar1) { - if (*(char *)(puVar8 + 0xd) == '\x03') { - puVar8 = (undefined4 *)*puVar8; - } - else { - sVar10 = __vsVol((int)puVar8,unaff_s1_lo); - iVar5 = puVar8[9] - *(int *)(unaff_s1_lo + 0x1c); - if (iVar5 < 0) { - iVar5 = 1000; - } - loc_70013430(*(int *)(unaff_s1_lo + 0x14),(int)(puVar8 + 1),sVar10,iVar5); - puVar8 = (undefined4 *)*puVar8; - } - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - break; - case 10: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar15 * 0x10 + 7) = bVar2; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar14 == (ulonglong)bVar1) { - uVar11 = locret_7001C274((int)puVar8,unaff_s1_lo); - FUN_70013510(*(int *)(unaff_s1_lo + 0x14),(int)(puVar8 + 1),uVar11 & 0xff); - puVar8 = (undefined4 *)*puVar8; - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - break; - case 0x10: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar15 * 0x10 + 8) = bVar2; - } - } - } - else { - if (bVar1 == 0x40) { - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar15 * 0x10 + 0xb) = bVar2; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - do { - if (uVar14 == (ulonglong)bVar1) { - cVar13 = *(char *)((int)puVar8 + 0x35); - if (cVar13 == '\x03') { - puVar8 = (undefined4 *)*puVar8; - } - else { - if (bVar2 < 0x40) { - if (cVar13 == '\x02') { - *(undefined *)((int)puVar8 + 0x35) = 0; - } - else { - if (cVar13 != '\x04') { - puVar8 = (undefined4 *)*puVar8; - goto LAB_7001cb78; - } - *(undefined *)((int)puVar8 + 0x35) = 3; - loc_7001BF40(unaff_s1_lo,puVar8 + 1,*(int **)(*(int *)puVar8[8] + 8)); - } - } - else { - if (cVar13 != '\0') { - puVar8 = (undefined4 *)*puVar8; - goto LAB_7001cb78; - } - *(undefined *)((int)puVar8 + 0x35) = 2; - } - puVar8 = (undefined4 *)*puVar8; - } - } - else { - puVar8 = (undefined4 *)*puVar8; - } -LAB_7001cb78: - if (puVar8 == NULL) { - return; - } - bVar1 = *(byte *)((int)puVar8 + 0x31); - } while( true ); - } - } - } - } - else { - if (bVar1 == 0x5b) { - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar15 * 0x10 + 10) = bVar2; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar14 == (ulonglong)bVar1) { - FUN_70013630(*(int *)(unaff_s1_lo + 0x14),(int)(puVar8 + 1),bVar2); - puVar8 = (undefined4 *)*puVar8; - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - } - } - break; - case 0xc0: - if ((longlong)(ulonglong)bVar1 < (longlong)**(short **)(unaff_s1_lo + 0x20)) { - __setInstChanState(unaff_s1_lo, - *(undefined **)(*(short **)(unaff_s1_lo + 0x20) + (uint)bVar1 * 2 + 6), - uVar15); - } - break; - case 0xd0: - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar2 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar14 == (ulonglong)bVar2) { - *(byte *)((int)puVar8 + 0x33) = bVar1; - sVar10 = __vsVol((int)puVar8,unaff_s1_lo); - iVar5 = puVar8[9] - *(int *)(unaff_s1_lo + 0x1c); - if (iVar5 < 0) { - iVar5 = 1000; - } - loc_70013430(*(int *)(unaff_s1_lo + 0x14),(int)(puVar8 + 1),sVar10,iVar5); - puVar8 = (undefined4 *)*puVar8; - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar2 = *(byte *)((int)puVar8 + 0x31); - } - } - break; - case 0xe0: - iVar5 = (int)*(short *)(*(int *)(unaff_s1_lo + 0x60) + uVar15 * 0x10 + 4) * - ((uint)bVar2 * 0x80 + (uint)bVar1 + -0x2000); - if (iVar5 < 0) { - iVar5 += 0x1fff; - } - fVar16 = FUN_70013800(iVar5 >> 0xd); - *(float *)(*(int *)(unaff_s1_lo + 0x60) + uVar15 * 0x10 + 0xc) = fVar16; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar14 == (ulonglong)bVar1) { - FUN_700135a0(*(int *)(unaff_s1_lo + 0x14),(int)(puVar8 + 1), - (float)puVar8[10] * fVar16 * (float)puVar8[0xb]); - puVar8 = (undefined4 *)*puVar8; - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - } - return; -} - - - -void loc_7001D250(int param_1) - -{ - byte bVar1; - int iVar2; - undefined4 uVar3; - undefined4 *puVar4; - float fVar5; - short sVar8; - longlong lVar6; - int *piVar7; - int iVar9; - int iVar10; - undefined2 *puVar11; - undefined uVar12; - int *piVar13; - int **ppiVar14; - short asStack72 [16]; - float afStack40 [5]; - undefined2 auStack20 [2]; - int iStack16; - undefined4 uStack12; - byte bStack8; - - puVar11 = (undefined2 *)(param_1 + 0x38); - ppiVar14 = (int **)(param_1 + 0x48); - do { - if (true) { - switch(*(undefined2 *)(param_1 + 0x38)) { - case 0: - if (*(int *)(param_1 + 0x18) != 0) { - FUN_700205f4(*(int *)(param_1 + 0x18)); - if (asStack72[0] == 1) { - loc_7001CC68((int)asStack72); - loc_7001C1AC(param_1); - } - else { - if (asStack72[0] == 3) { - locret_7001C22C((int)asStack72,param_1); - loc_7001C1AC(param_1); - } - else { - if (asStack72[0] == 4) { - *(undefined4 *)(param_1 + 0x2c) = 2; - asStack72[0] = 0x10; - FUN_70012f3c(ppiVar14,(undefined *)asStack72,(int *)0x7fffffff); - } - } - } - } - break; - case 2: - loc_7001CC68((int)puVar11); - break; - case 5: - iVar10 = *(int *)(param_1 + 0x3c); - alSynStopVoice(*(int *)(param_1 + 0x14),iVar10); - loc_700137B4(*(int *)(param_1 + 0x14),iVar10); - if (*(char *)((int)*(int **)(iVar10 + 0x10) + 0x37) != '\0') { - unknown_libname_42(param_1,*(int **)(iVar10 + 0x10)); - } - locret_7001C0D8(param_1,iVar10); - break; - case 6: - iVar10 = *(int *)(param_1 + 0x3c); - iVar9 = *(int *)(iVar10 + 0x10); - if (*(char *)(iVar9 + 0x34) == '\0') { - *(undefined *)(iVar9 + 0x34) = 1; - uVar12 = *(undefined *)(param_1 + 0x44); - } - else { - uVar12 = *(undefined *)(param_1 + 0x44); - } - iVar2 = *(int *)(param_1 + 0x40); - *(undefined *)(iVar9 + 0x30) = uVar12; - *(int *)(iVar9 + 0x24) = *(int *)(param_1 + 0x1c) + iVar2; - sVar8 = __vsVol(iVar9,param_1); - loc_70013430(*(int *)(param_1 + 0x14),iVar10,sVar8,iVar2); - break; - case 7: - locret_7001C22C((int)puVar11,param_1); - break; - case 9: - auStack20[0] = 9; - FUN_70012f3c(ppiVar14,(undefined *)auStack20,*(int **)(param_1 + 0x5c)); - break; - case 10: - puVar4 = *(undefined4 **)(param_1 + 100); - *(undefined2 *)(param_1 + 0x32) = *(undefined2 *)(param_1 + 0x3c); - while (puVar4 != NULL) { - sVar8 = __vsVol((int)puVar4,param_1); - iVar10 = puVar4[9] - *(int *)(param_1 + 0x1c); - if (iVar10 < 0) { - iVar10 = 1000; - } - loc_70013430(*(int *)(param_1 + 0x14),(int)(puVar4 + 1),sVar8,iVar10); - puVar4 = (undefined4 *)*puVar4; - } - break; - case 0xb: - *(undefined4 *)(param_1 + 0x7c) = *(undefined4 *)(param_1 + 0x3c); - *(undefined4 *)(param_1 + 0x80) = *(undefined4 *)(param_1 + 0x40); - *(undefined4 *)(param_1 + 0x84) = *(undefined4 *)(param_1 + 0x44); - break; - case 0xc: - *(undefined *)(*(int *)(param_1 + 0x60) + (uint)*(byte *)(param_1 + 0x3c) * 0x10 + 8) = - *(undefined *)(param_1 + 0x3d); - break; - case 0xd: - iVar10 = *(int *)(param_1 + 0x3c); - *(int *)(param_1 + 0x18) = iVar10; - if (iVar10 == 0) { - *(undefined4 *)(param_1 + 0x24) = 0x1e8; - } - else { - *(int *)(param_1 + 0x24) = (int)(DAT_80029cc8 * *(float *)(iVar10 + 0x14)); - } - if (*(int *)(param_1 + 0x20) != 0) { - loc_7001BDD4(param_1,*(int *)(param_1 + 0x20)); - } - break; - case 0xe: - *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x3c); - loc_7001BDD4(param_1,*(int *)(param_1 + 0x3c)); - break; - case 0xf: - if (*(int *)(param_1 + 0x2c) != 1) { - *(undefined4 *)(param_1 + 0x2c) = 1; - loc_7001C1AC(param_1); - } - break; - case 0x10: - if (*(int *)(param_1 + 0x2c) == 2) { - piVar7 = *(int **)(param_1 + 100); - while (piVar7 != NULL) { - piVar13 = piVar7 + 1; - alSynStopVoice(*(int *)(param_1 + 0x14),(int)piVar13); - loc_700137B4(*(int *)(param_1 + 0x14),(int)piVar13); - if (*(char *)((int)piVar7 + 0x37) != '\0') { - unknown_libname_42(param_1,piVar7); - } - locret_7001C0D8(param_1,(int)piVar13); - piVar7 = *(int **)(param_1 + 100); - } - *(undefined4 *)(param_1 + 0x1c) = 0; - *(undefined4 *)(param_1 + 0x2c) = 0; - } - break; - case 0x11: - if (*(int *)(param_1 + 0x2c) == 1) { - loc_70012E68(ppiVar14,0); - loc_70012E68(ppiVar14,2); - puVar4 = *(undefined4 **)(param_1 + 100); - while (puVar4 != NULL) { - lVar6 = loc_7001C05C(param_1,puVar4 + 1,50000); - if (lVar6 != 0) { - loc_7001BF40(param_1,puVar4 + 1,(int *)0xc350); - } - puVar4 = (undefined4 *)*puVar4; - } - *(undefined4 *)(param_1 + 0x2c) = 2; - auStack20[0] = 0x10; - FUN_70012f3c(ppiVar14,(undefined *)auStack20,(int *)0x7fffffff); - } - break; - case 0x16: - uVar3 = *(undefined4 *)(param_1 + 0x40); - iVar10 = *(int *)(param_1 + 0x3c); - piVar7 = (int *)(**(code **)(param_1 + 0x74))(uVar3,afStack40); - if (false) { - fVar5 = ROUND(afStack40[0]); - } - else { - fVar5 = FLOOR(afStack40[0]); - } - uVar12 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar5 = ROUND(afStack40[0] - 2147483648.00000000); - } - else { - fVar5 = FLOOR(afStack40[0] - 2147483648.00000000); - } - if (false) goto LAB_7001cf28; - uVar12 = (undefined)(int)fVar5; - } - else { - if ((int)fVar5 < 0) { -LAB_7001cf28: - uVar12 = 0xff; - } - } - *(undefined *)(iVar10 + 0x36) = uVar12; - sVar8 = __vsVol(iVar10,param_1); - iVar9 = *(int *)(iVar10 + 0x24) - *(int *)(param_1 + 0x1c); - if (iVar9 < 0) { - iVar9 = 1000; - } - loc_70013430(*(int *)(param_1 + 0x14),iVar10 + 4,sVar8,iVar9); - auStack20[0] = 0x16; - iStack16 = iVar10; - uStack12 = uVar3; - FUN_70012f3c(ppiVar14,(undefined *)auStack20,piVar7); - break; - case 0x17: - uVar3 = *(undefined4 *)(param_1 + 0x40); - iVar10 = *(int *)(param_1 + 0x3c); - bVar1 = *(byte *)(param_1 + 0x44); - piVar7 = (int *)(**(code **)(param_1 + 0x74))(uVar3,afStack40); - *(float *)(iVar10 + 0x2c) = afStack40[0]; - FUN_700135a0(*(int *)(param_1 + 0x14),iVar10 + 4, - *(float *)(*(int *)(param_1 + 0x60) + (uint)bVar1 * 0x10 + 0xc) * - *(float *)(iVar10 + 0x28) * *(float *)(iVar10 + 0x2c)); - auStack20[0] = 0x17; - iStack16 = iVar10; - uStack12 = uVar3; - bStack8 = bVar1; - FUN_70012f3c(ppiVar14,(undefined *)auStack20,piVar7); - } - } - piVar7 = FUN_70013060(ppiVar14,puVar11); - *(int **)(param_1 + 0x28) = piVar7; - if (piVar7 != NULL) { - *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + (int)piVar7; - return; - } - } while( true ); -} - - - -void unknown_libname_42(int param_1,int *param_2) - -{ - short sVar1; - int *piVar2; - int **ppiVar3; - int **ppiVar4; - - ppiVar4 = *(int ***)(param_1 + 0x50); -joined_r0x7001d314: - do { - ppiVar3 = ppiVar4; - if (ppiVar3 == NULL) { - return; - } - sVar1 = *(short *)(ppiVar3 + 3); - ppiVar4 = (int **)*ppiVar3; - if (sVar1 == 0x16) { - piVar2 = ppiVar3[4]; - } - else { - if (sVar1 != 0x17) goto joined_r0x7001d314; - piVar2 = ppiVar3[4]; - } - if (param_2 == piVar2) { - (**(code **)(param_1 + 0x78))(ppiVar3[5]); - alUnlink((int *)ppiVar3); - if (ppiVar4 != NULL) { - ppiVar4[2] = (int *)((int)ppiVar4[2] + (int)ppiVar3[2]); - } - alLink(ppiVar3,(int **)(param_1 + 0x48)); - if (sVar1 == 0x16) { - *(byte *)((int)param_2 + 0x37) = *(byte *)((int)param_2 + 0x37) & 0xfe; - } - else { - *(byte *)((int)param_2 + 0x37) = *(byte *)((int)param_2 + 0x37) & 0xfd; - } - if (*(char *)((int)param_2 + 0x37) == '\0') { - return; - } - } - } while( true ); -} - - - -void loc_7001D3FC(int param_1) - -{ - int iVar1; - longlong lVar2; - int iVar3; - - lVar2 = 0; - iVar3 = 0; - if (*(char *)(param_1 + 0x34) != '\0') { - iVar1 = *(int *)(param_1 + 0x60); - while( true ) { - *(undefined4 *)(iVar1 + iVar3) = 0; - __resetPerfChanState(param_1,(int)lVar2); - lVar2 = (longlong)((int)lVar2 + 1); - iVar3 += 0x10; - if ((longlong)(ulonglong)*(byte *)(param_1 + 0x34) <= lVar2) break; - iVar1 = *(int *)(param_1 + 0x60); - } - } - return; -} - - - -void loc_70012188(undefined4 *param_1,int *param_2) - -{ - undefined uVar1; - int *piVar2; - int iVar3; - int **ppiVar4; - undefined4 *puVar5; - undefined4 uVar6; - - piVar2 = (int *)param_2[3]; - param_1[8] = 0; - param_1[6] = 0; - puVar5 = DAT_80027720; - *(undefined2 *)(param_1 + 0xc) = 0xff; - param_1[9] = 0x1e8; - param_1[10] = 0; - param_1[0xb] = 0; - *(undefined2 *)((int)param_1 + 0x32) = 0x7fff; - *(undefined4 **)(param_1 + 5) = puVar5; - uVar1 = *(undefined *)((int)param_2 + 9); - param_1[0x17] = 16000; - param_1[7] = 0; - *(undefined *)((int)param_1 + 0x35) = uVar1; - param_1[0x1c] = param_2[4]; - param_1[0x1d] = param_2[5]; - iVar3 = param_2[6]; - param_1[0x1f] = 0; - param_1[0x20] = 0; - param_1[0x21] = 0; - *(undefined2 *)(param_1 + 0xe) = 9; - param_1[0x1e] = iVar3; - *(undefined *)(param_1 + 0xd) = *(undefined *)(param_2 + 2); - iVar3 = alHeapDBAlloc(0,0,piVar2,(uint)*(byte *)(param_2 + 2),0x10); - param_1[0x18] = iVar3; - loc_7001D3FC((int)param_1); - puVar5 = (undefined4 *)alHeapDBAlloc(0,0,piVar2,*param_2,0x38); - param_1[0x1b] = 0; - iVar3 = 0; - if (0 < *param_2) { - uVar6 = param_1[0x1b]; - while( true ) { - iVar3 += 1; - *puVar5 = uVar6; - *(undefined4 **)(param_1 + 0x1b) = puVar5; - puVar5 = puVar5 + 0xe; - if (*param_2 <= iVar3) break; - uVar6 = param_1[0x1b]; - } - } - param_1[0x19] = 0; - param_1[0x1a] = 0; - ppiVar4 = (int **)alHeapDBAlloc(0,0,piVar2,param_2[1],0x1c); - loc_70013104((int **)(param_1 + 0x12),ppiVar4,param_2[1]); - *param_1 = 0; - param_1[2] = 0x7001ccbc; - *(undefined4 **)(param_1 + 1) = param_1; - alSynAddPlayer(DAT_80027720,param_1); - return; -} - - - -void loc_7001D678(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined2 param_5, - undefined param_6,char param_7,int param_8) - -{ - int iVar1; - int iVar2; - undefined4 *puVar3; - uint uVar4; - - if ((*(int *)(param_2 + 8) != 0) && (puVar3 = FUN_7000f110(), puVar3 != NULL)) { - if (false) { - param_7 = -param_7; - } - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(*(int *)(param_2 + 8) + 0xd8); - *puVar3 = 0; - *(undefined2 *)(puVar3 + 2) = 0xd; - puVar3[1] = iVar1 + iVar2; - *(undefined2 *)((int)puVar3 + 10) = *(undefined2 *)(param_2 + 0x1a); - *(undefined *)((int)puVar3 + 0x12) = param_6; - *(char *)((int)puVar3 + 0x13) = param_7; - *(undefined2 *)(puVar3 + 4) = param_5; - puVar3[3] = param_4; - uVar4 = FUN_7000f008(param_1,param_8); - puVar3[5] = uVar4; - puVar3[6] = param_3; - iVar1 = *(int *)(*(int *)(param_2 + 8) + 0xc); - (**(code **)(iVar1 + 8))(iVar1,3); - } - return; -} - - - -void locret_7001D6FC(undefined *param_1,undefined *param_2,uint param_3) - -{ - undefined uVar1; - undefined *puVar2; - uint uVar3; - - uVar3 = 0; - if (0 < (int)param_3) { - if ((param_3 & 3) != 0) { - do { - uVar1 = *param_1; - uVar3 += 1; - puVar2 = param_2 + 1; - param_1 = param_1 + 1; - *param_2 = uVar1; - param_2 = puVar2; - } while ((param_3 & 3) != uVar3); - param_2 = puVar2; - if (uVar3 == param_3) { - return; - } - } - do { - uVar3 += 4; - *param_2 = *param_1; - param_2[1] = param_1[1]; - param_2[2] = param_1[2]; - param_2[3] = param_1[3]; - param_1 = param_1 + 4; - param_2 = param_2 + 4; - } while (uVar3 != param_3); - } - return; -} - - - -void FUN_7001d750(void) - -{ - DAT_80028320 = 1; - osCreateMesgQueue((undefined4 *)0x80069028,0x80069020,1); - osSendMesg((int **)0x80069028,0,0); - return; -} - - - -void FUN_7001d7a0(void) - -{ - undefined4 uStack4; - - if (DAT_80028320 == 0) { - FUN_7001d750(); - } - osRecvMesg(-0x7ff96fd8,&uStack4,1); - return; -} - - - -void FUN_7001d7e4(void) - -{ - osSendMesg((int **)0x80069028,0,0); - return; -} - - - -char * loc_7001DA50(uint *param_1,char param_2) - -{ - uint uVar1; - uint uVar2; - longlong lVar3; - char *pcVar4; - longlong lVar5; - undefined8 extraout_a1; - undefined8 uVar6; - undefined8 extraout_a1_00; - int iVar7; - uint uStack64; - uint uStack60; - int iStack52; - uint uStack48; - uint uStack44; - int iStack32; - char acStack25 [24]; - char cStack1; - - lVar5 = 0x58; - if (param_2 == 'X') { - pcVar4 = s_0123456789ABCDEF_80028344; - } - else { - pcVar4 = s_0123456789abcdef_80028330; - } - iVar7 = 0x18; - if (param_2 == 'o') { - iStack32 = 8; - } - else { - iStack32 = 0x10; - if ((param_2 != 'x') && (param_2 != 'X')) { - iStack32 = 10; - } - } - uStack48 = *param_1; - uStack44 = param_1[1]; - if ((((param_2 == 'd') || (param_2 == 'i')) && ((int)uStack48 < 1)) && ((int)uStack48 < 0)) { - uStack48 = ~uStack48 + (uint)(uStack44 == 0); - uStack44 = -uStack44; - } - if (((uStack48 != 0) || (uStack44 != 0)) || (param_1[9] != 0)) { - iVar7 = 0x17; - FUN_7000ecac(uStack48,uStack44,0,iStack32); - cStack1 = pcVar4[(int)lVar5]; - } - lVar3 = __ull_div(uStack48,uStack44,iStack32 >> 0x1f,iStack32); - param_1[1] = (uint)lVar5; - *param_1 = (uint)lVar3; - if (((-1 < lVar3) && ((0 < lVar3 || (lVar5 != 0)))) && (uVar6 = extraout_a1, iVar7 != 0)) { - while( true ) { - loc_70020C1C((long)&uStack64,(long)uVar6); - iVar7 += -1; - *param_1 = uStack64; - param_1[1] = uStack60; - (acStack25 + 1)[iVar7] = pcVar4[iStack52]; - if ((int)*param_1 < 0) break; - if ((((int)*param_1 < 1) && (param_1[1] == 0)) || (uVar6 = extraout_a1_00, iVar7 < 1)) break; - } - } - param_1[5] = 0x18 - iVar7; - pcVar4 = locret_70013874((char *)param_1[2],(int)(acStack25 + 1 + iVar7)); - uVar1 = param_1[5]; - uVar2 = param_1[9]; - if ((int)uVar1 < (int)uVar2) { - param_1[4] = uVar2 - uVar1; - } - if (((int)uVar2 < 0) && ((param_1[0xc] & 0x14) == 0x10)) { - pcVar4 = (char *)param_1[4]; - iVar7 = ((param_1[10] - param_1[3]) - (int)pcVar4) - uVar1; - if (0 < iVar7) { - *(char **)(param_1 + 4) = pcVar4 + iVar7; - } - } - return pcVar4; -} - - - -// WARNING: Instruction at (ram,0x7001db08) overlaps instruction at (ram,0x7001db04) -// - -void loc_7001DFCC(void) - -{ - bool bVar1; - int iVar2; - int unaff_s0_lo; - undefined1 *__c; - char *pcVar3; - char *pcVar4; - short unaff_s2_lo; - int iVar5; - short unaff_s3_lo; - int iVar6; - char unaff_s4_lo; - int iVar7; - - iVar5 = (int)unaff_s2_lo; - iVar6 = (int)unaff_s3_lo; - if (iVar6 < 1) { - __c = &DAT_80029d20; - iVar6 = 1; - } - if ((unaff_s4_lo != 'f') && - ((((unaff_s4_lo != 'g' && (unaff_s4_lo != 'G')) || (iVar5 < -4)) || - (*(int *)(unaff_s0_lo + 0x24) <= iVar5)))) { - if ((unaff_s4_lo == 'g') || (unaff_s4_lo == 'G')) { - iVar7 = *(int *)(unaff_s0_lo + 0x24); - if (iVar6 < iVar7) { - *(int *)(unaff_s0_lo + 0x24) = iVar6; - iVar7 = iVar6; - } - *(int *)(unaff_s0_lo + 0x24) = iVar7 + -1; - if (iVar7 + -1 < 0) { - *(undefined4 *)(unaff_s0_lo + 0x24) = 0; - } - bVar1 = unaff_s4_lo == 'g'; - unaff_s4_lo = 'E'; - if (bVar1) { - unaff_s4_lo = 'e'; - } - iVar7 = *(int *)(unaff_s0_lo + 8); - } - else { - iVar7 = *(int *)(unaff_s0_lo + 8); - } - *(undefined *)(iVar7 + *(int *)(unaff_s0_lo + 0x14)) = *__c; - iVar7 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - if ((0 < iVar7) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar7 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar7 < 1) { - iVar6 = *(int *)(unaff_s0_lo + 8); - } - else { - iVar6 = (iVar6 + -1) * 0x10000 >> 0x10; - if (iVar7 < iVar6) { - iVar6 = (int)(short)iVar7; - } - locret_70013874((char *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)), - (int)(__c + 1)); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + iVar6; - *(int *)(unaff_s0_lo + 0x18) = *(int *)(unaff_s0_lo + 0x24) - iVar6; - iVar6 = *(int *)(unaff_s0_lo + 8); - } - pcVar3 = (char *)(iVar6 + *(int *)(unaff_s0_lo + 0x14)); - *pcVar3 = unaff_s4_lo; - if (iVar5 < 0) { - iVar5 = iVar5 * -0x10000 >> 0x10; - pcVar3[1] = '-'; - } - else { - pcVar3[1] = '+'; - } - pcVar4 = pcVar3 + 2; - if (99 < iVar5) { - if (999 < iVar5) { - iVar6 = iVar5 / 1000; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - iVar5 = (int)(short)(iVar5 % 1000); - *pcVar4 = (char)iVar6 + '0'; - pcVar4 = pcVar3 + 3; - } - iVar6 = iVar5 / 100; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - iVar5 = (int)(short)(iVar5 % 100); - *pcVar4 = (char)iVar6 + '0'; - pcVar4 = pcVar4 + 1; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - *pcVar4 = (char)(iVar5 / 10) + '0'; - pcVar4[1] = (char)(iVar5 % 10) + '0'; - *(char **)(unaff_s0_lo + 0x1c) = - pcVar4 + ((2 - *(int *)(unaff_s0_lo + 8)) - *(int *)(unaff_s0_lo + 0x14)); - goto LAB_7001dfbc; - } - iVar5 = (iVar5 + 1) * 0x10000 >> 0x10; - if (unaff_s4_lo != 'f') { - iVar7 = *(int *)(unaff_s0_lo + 0x24); - if ((*(uint *)(unaff_s0_lo + 0x30) & 8) == 0) { - if (iVar6 < iVar7) { - *(int *)(unaff_s0_lo + 0x24) = iVar6; - iVar7 = iVar6; - goto LAB_7001db58; - } - iVar7 -= iVar5; - } - else { -LAB_7001db58: - iVar7 -= iVar5; - } - *(int *)(unaff_s0_lo + 0x24) = iVar7; - if (iVar7 < 0) { - *(undefined4 *)(unaff_s0_lo + 0x24) = 0; - } - } - if (iVar5 < 1) { - iVar2 = -iVar5; - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x30; - iVar7 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - if ((0 < iVar7) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar7 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar7 < iVar2) { - iVar5 = iVar7 * -0x10000 >> 0x10; - iVar2 = -iVar5; - } - iVar7 += iVar5; - *(int *)(unaff_s0_lo + 0x18) = iVar2; - *(int *)(unaff_s0_lo + 0x24) = iVar7; - if (iVar7 < iVar6) { - iVar6 = iVar7 * 0x10000 >> 0x10; - } - *(int *)(unaff_s0_lo + 0x1c) = iVar6; - locret_70013874((char *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)),(int)__c); - *(int *)(unaff_s0_lo + 0x20) = *(int *)(unaff_s0_lo + 0x24) - iVar6; - } - else { - if (iVar6 < iVar5) { - locret_70013874((char *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)),(int)__c); - iVar7 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + iVar6; - *(int *)(unaff_s0_lo + 0x18) = iVar5 - iVar6; - if ((0 < iVar7) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar7 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x1c) = *(int *)(unaff_s0_lo + 0x1c) + 1; - } - *(int *)(unaff_s0_lo + 0x20) = iVar7; - } - else { - locret_70013874((char *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)),(int)__c); - iVar7 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + iVar5; - iVar6 = (iVar6 - iVar5) * 0x10000 >> 0x10; - if ((0 < iVar7) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar7 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar7 < iVar6) { - iVar6 = (int)(short)iVar7; - } - locret_70013874((char *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)), - (int)(__c + iVar5)); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + iVar6; - *(int *)(unaff_s0_lo + 0x18) = *(int *)(unaff_s0_lo + 0x24) - iVar6; - } - } -LAB_7001dfbc: - if (((*(uint *)(unaff_s0_lo + 0x30) & 0x14) == 0x10) && - (iVar6 = *(int *)(unaff_s0_lo + 0xc) + *(int *)(unaff_s0_lo + 0x14) + - *(int *)(unaff_s0_lo + 0x18) + *(int *)(unaff_s0_lo + 0x1c) + - *(int *)(unaff_s0_lo + 0x20), iVar6 < *(int *)(unaff_s0_lo + 0x28))) { - *(int *)(unaff_s0_lo + 0x10) = *(int *)(unaff_s0_lo + 0x28) - iVar6; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7001e3c0) overlaps instruction at (ram,0x7001e3bc) -// - -char * loc_7001E508(double *pdParm1,char cParm2) - -{ - char *pcVar1; - char *pcVar2; - int iVar3; - undefined *__c; - int iVar4; - char cVar5; - uint uVar6; - ushort uVar7; - int iVar8; - ushort uVar9; - longlong lVar10; - char *pcVar11; - short sVar13; - uint uVar12; - ulonglong in_f0; - double dVar14; - uint in_register_00001010; - double dVar15; - int iStack92; - undefined4 uStack88; - ushort uStack54; - undefined uStack32; - char acStack31 [31]; - - dVar15 = *pdParm1; - if (*(int *)((int)pdParm1 + 0x24) < 0) { - *(undefined4 *)((int)pdParm1 + 0x24) = 6; - } - else { - if ((*(int *)((int)pdParm1 + 0x24) == 0) && ((cParm2 == 'g' || (cParm2 == 'G')))) { - *(undefined4 *)((int)pdParm1 + 0x24) = 1; - } - } - sVar13 = (short)((int)((uint)*(ushort *)pdParm1 & 0x7ff0) >> 4); - if (sVar13 == 0x7ff) { - uStack54 = 0; - if (((((*(ushort *)pdParm1 & 0xf) == 0) && (*(ushort *)((int)pdParm1 + 2) == 0)) && - (*(ushort *)((int)pdParm1 + 4) == 0)) && (*(ushort *)((int)pdParm1 + 6) == 0)) { - sVar13 = 1; - } - else { - sVar13 = 2; - } - } - else { - if (sVar13 == 0) { - sVar13 = 0; - if (true) { - uStack54 = 0; - } - else { - sVar13 = 2; - } - } - else { - uStack54 = sVar13 + -0x3fe; - *(ushort *)pdParm1 = *(ushort *)pdParm1 & 0x800f | 0x3ff0; - sVar13 = -1; - } - } - if (sVar13 < 1) { - if (sVar13 == 0) { - uStack54 = 0; - } - else { - iVar3 = 0; - pcVar2 = acStack31; - if (dVar15 < (double)((ulonglong)in_register_00001010 << 0x20)) { - dVar15 = -dVar15; - } - iVar4 = 6; - iVar8 = ((int)(short)uStack54 * 0x7597) / 100000 + -4; - uStack54 = (ushort)iVar8; - if (iVar8 * 0x10000 >> 0x10 < 0) { - uVar12 = 3U - (iVar8 * 0x10000 >> 0x10) & 0xfffffffc; - sVar13 = (short)uVar12; - while (uStack54 = -sVar13, 0 < (int)uVar12) { - uVar6 = uVar12 & 1; - uVar12 = (int)uVar12 >> 1; - if (uVar6 != 0) { - dVar15 = dVar15 * (double)(&DAT_80029cd0)[iVar3]; - } - iVar3 += 1; - } - } - else { - iVar3 = 0; - if (0 < (short)uStack54) { - dVar14 = (double)(in_f0 & 0xffffffff00000000); - uVar7 = uStack54 & 0xfffc; - while (0 < (short)uVar7) { - uVar9 = uVar7 & 1; - uVar7 = (short)uVar7 >> 1; - if (uVar9 != 0) { - dVar14 = dVar14 * (double)(&DAT_80029cd0)[iVar3]; - } - iVar3 += 1; - } - dVar15 = dVar15 / dVar14; - uStack54 = uStack54 & 0xfffc; - } - } - if (cParm2 == 'f') { - iVar4 = (int)(short)uStack54 + 10; - } - iVar4 += *(int *)((int)pdParm1 + 0x24); - if (0x13 < iVar4) { - iVar4 = 0x13; - } - uStack32 = 0x30; - if ((0 < iVar4) && ((double)((ulonglong)in_register_00001010 << 0x20) < dVar15)) { - do { - iVar4 += -8; - pcVar2 = pcVar2 + 8; - lVar10 = (longlong)(int)dVar15; - if (0 < iVar4) { - dVar15 = (dVar15 - (double)(int)dVar15) * DAT_80029d28; - } - iVar3 = 8; - if ((0 < lVar10) && (iVar3 = 7, true)) { - do { - loc_70020CB8(&iStack92,lVar10,10); - pcVar2 = pcVar2 + -1; - *pcVar2 = (char)uStack88 + '0'; - lVar10 = (longlong)iStack92; - if (lVar10 < 1) break; - iVar3 += -1; - } while (-1 < iVar3); - } - iVar8 = iVar3 + -2; - if (-1 < iVar3 + -1) { - while( true ) { - pcVar2 = pcVar2 + -1; - *pcVar2 = '0'; - if (iVar8 < 0) break; - iVar8 += -1; - } - } - pcVar2 = pcVar2 + 8; - } while ((0 < iVar4) && ((double)((ulonglong)in_register_00001010 << 0x20) < dVar15)); - } - uStack54 += 7; - pcVar2 = pcVar2 + (-1 - (int)&uStack32); - pcVar11 = acStack31; - while (acStack31[0] == '0') { - pcVar11 = pcVar11 + 1; - pcVar2 = pcVar2 + -1; - uStack54 += -1; - acStack31[0] = *pcVar11; - } - if (cParm2 == 'f') { - iVar3 = (int)(short)uStack54 + 1; - } - else { - if ((cParm2 == 'e') || (iVar3 = 0, cParm2 == 'E')) { - iVar3 = 1; - } - } - iVar3 = (iVar3 + *(int *)((int)pdParm1 + 0x24)) * 0x10000 >> 0x10; - if ((int)pcVar2 < iVar3) { - iVar3 = (int)(short)pcVar2; - } - if (0 < iVar3) { - if ((iVar3 < (int)pcVar2) && (0x34 < (byte)pcVar11[iVar3])) { - cVar5 = '9'; - } - else { - cVar5 = '0'; - } - iVar4 = iVar3 + -1; - if (cVar5 == pcVar11[iVar3 + -1]) { - pcVar2 = pcVar11 + iVar4; - do { - pcVar1 = pcVar2 + -1; - iVar4 += -1; - pcVar2 = pcVar2 + -1; - } while (cVar5 == *pcVar1); - } - if (cVar5 == '9') { - pcVar11[iVar4] = pcVar11[iVar4] + '\x01'; - } - if (iVar4 < 0) { - uStack54 += 1; - } - } - } - pcVar2 = (char *)loc_7001DFCC(); - } - else { - if (sVar13 == 2) { - __c = &DAT_80029d18; - } - else { - __c = &DAT_80029d1c; - } - *(undefined4 *)((int)pdParm1 + 0x14) = 3; - pcVar2 = locret_70013874(*(char **)(pdParm1 + 1),(int)__c); - } - return pcVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 osEPiRawStartDma(int param_1,int param_2,uint param_3,uint param_4,int param_5) - -{ - do { - } while ((_DAT_a4600010 & 3) != 0); - _DAT_a4600000 = osVirtualToPhysical(param_4); - _DAT_a4600004 = (*(uint *)(param_1 + 0xc) | param_3) & 0x1fffffff; - if (param_2 == 0) { - _DAT_a460000c = param_5 + -1; - } - else { - if (param_2 != 1) { - return 0xffffffffffffffff; - } - _DAT_a4600008 = param_5 + -1; - } - return 0; -} - - - -void loc_7001E948(int param_1) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined2 *puStack4; - - puStack4 = NULL; - do { - while( true ) { - osRecvMesg(*(int *)(param_1 + 8),&puStack4,1); - iVar1 = *(int *)(puStack4 + 10); - if (((iVar1 == 0) || (*(char *)(iVar1 + 4) != '\x02')) || - ((*(int *)(iVar1 + 0x14) != 0 && (*(int *)(iVar1 + 0x14) != 1)))) break; - iVar1 = *(int *)(puStack4 + 10); - iVar3 = iVar1 + 0x14 + (uint)*(ushort *)(iVar1 + 0x1a) * 0x24; - *(undefined4 *)(iVar1 + 0x1c) = 0xffffffff; - if (*(short *)(iVar1 + 0x18) != 3) { - *(int *)(iVar3 + 0x1c) = *(int *)(iVar3 + 0x1c) - *(int *)(iVar3 + 0x24); - } - if ((*(short *)(iVar1 + 0x18) == 2) && (*(int *)(*(int *)(puStack4 + 10) + 0x14) == 0)) { - bVar2 = true; - } - else { - bVar2 = false; - } - osRecvMesg(*(int *)(param_1 + 0x10),&uStack12,1); - FUN_70020d20(0x100401); - loc_70020D6C(*(int *)(puStack4 + 10),0x5000510,*(uint *)(iVar1 + 0x24) | 0x80000000); - while( true ) { - osRecvMesg(*(int *)(param_1 + 0xc),&uStack8,1); - osSendMesg(*(int ***)(puStack4 + 2),(int)puStack4,0); - if ((!bVar2) || (*(int *)(*(int *)(puStack4 + 10) + 0x2c) != 0)) break; - bVar2 = false; - } - osSendMesg(*(int ***)(param_1 + 0x10),0,0); - if (*(short *)(*(int *)(puStack4 + 10) + 0x1a) == 1) { - FUN_70010b10(); - } - } - if (false) { -switchD_7001e84c_caseD_d: - iStack16 = -1; - } - else { - switch(*puStack4) { - case 10: - osSendMesg(*(int ***)(puStack4 + 2),(int)puStack4,0); - iStack16 = -1; - break; - case 0xb: - osRecvMesg(*(int *)(param_1 + 0x10),&uStack12,1); - iStack16 = (**(code **)(param_1 + 0x14)) - (0,*(undefined4 *)(puStack4 + 6),*(undefined4 *)(puStack4 + 4), - *(undefined4 *)(puStack4 + 8)); - break; - case 0xc: - osRecvMesg(*(int *)(param_1 + 0x10),&uStack12,1); - iStack16 = (**(code **)(param_1 + 0x14)) - (1,*(undefined4 *)(puStack4 + 6),*(undefined4 *)(puStack4 + 4), - *(undefined4 *)(puStack4 + 8)); - break; - default: - goto switchD_7001e84c_caseD_d; - case 0xf: - osRecvMesg(*(int *)(param_1 + 0x10),&uStack12,1); - iStack16 = (**(code **)(param_1 + 0x18)) - (*(undefined4 *)(puStack4 + 10),0,*(undefined4 *)(puStack4 + 6), - *(undefined4 *)(puStack4 + 4),*(undefined4 *)(puStack4 + 8)); - break; - case 0x10: - osRecvMesg(*(int *)(param_1 + 0x10),&uStack12,1); - iStack16 = (**(code **)(param_1 + 0x18)) - (*(undefined4 *)(puStack4 + 10),1,*(undefined4 *)(puStack4 + 6), - *(undefined4 *)(puStack4 + 4),*(undefined4 *)(puStack4 + 8)); - } - } - if (iStack16 == 0) { - osRecvMesg(*(int *)(param_1 + 0xc),&uStack8,1); - osSendMesg(*(int ***)(puStack4 + 2),(int)puStack4,0); - osSendMesg(*(int ***)(param_1 + 0x10),0,0); - } - } while( true ); -} - - - -// WARNING: Could not reconcile some variable overlaps - -ulonglong loc_7001EA10(byte *param_1,int param_2) - -{ - byte bVar1; - byte *pbStack12; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - uStack8._2_2_ = 0; - iStack4 = 0; - pbStack12 = param_1; - if (0 < param_2) { - do { - bVar1 = *pbStack12; - pbStack12 = pbStack12 + 1; - iStack4 += 1; - uStack8 = uStack8 + (uint)bVar1 & 0xffff; - } while (iStack4 < param_2); - } - return (ulonglong)uStack8._2_2_; -} - - - -undefined8 loc_7001EA34(int param_1,short *param_2,short *param_3) - -{ - ushort uVar1; - uint uStack8; - - *param_3 = 0; - *param_2 = *param_3; - uStack8 = 0; - do { - uVar1 = *(ushort *)(param_1 + uStack8); - *param_2 = *param_2 + uVar1; - *param_3 = *param_3 + ~uVar1; - uStack8 += 2; - } while (uStack8 < 0x1c); - return 0; -} - - - -int loc_7001EE8C(int param_1,int param_2,undefined4 *param_3) - -{ - undefined4 uVar1; - ushort auStack88 [4]; - int iStack80; - int iStack76; - bool bStack69; - byte abStack68 [32]; - byte abStack36 [32]; - int iStack4; - - iStack4 = 0; - bStack69 = false; - if (*(char *)(param_1 + 0x65) != '\0') { - *(undefined *)(param_1 + 0x65) = 0; - iStack4 = loc_7001F6C0(param_1); - if (iStack4 != 0) { - return iStack4; - } - } - *param_3 = 0xffffffff; - uVar1 = osGetCount(); - param_3[1] = uVar1; - uVar1 = *(undefined4 *)(param_2 + 0xc); - param_3[2] = *(undefined4 *)(param_2 + 8); - param_3[3] = uVar1; - uVar1 = *(undefined4 *)(param_2 + 0x14); - param_3[4] = *(undefined4 *)(param_2 + 0x10); - param_3[5] = uVar1; - iStack80 = 0; - do { - *(undefined *)(param_1 + 0x65) = (char)iStack80; - iStack4 = loc_7001F6C0(param_1); - if (iStack4 != 0) { - return iStack4; - } - iStack4 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),0,abStack36); - if (iStack4 != 0) { - return iStack4; - } - abStack36[0] = (byte)iStack80 | 0x80; - iStack76 = 1; - do { - abStack36[iStack76] = ~abStack36[iStack76]; - iStack76 += 1; - } while (iStack76 < 0x20); - iStack4 = __osContRamWrite(*(int *)(param_1 + 4),*(int *)(param_1 + 8),0,abStack36,0); - if (iStack4 != 0) { - return iStack4; - } - iStack4 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),0,abStack68); - if (iStack4 != 0) { - return iStack4; - } - iStack76 = 0; - do { - if (abStack36[iStack76] != abStack68[iStack76]) break; - iStack76 += 1; - } while (iStack76 < 0x20); - if (iStack76 != 0x20) break; - if (0 < iStack80) { - *(undefined *)(param_1 + 0x65) = 0; - iStack4 = loc_7001F6C0(param_1); - if (iStack4 != 0) { - return iStack4; - } - iStack4 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),0,abStack36); - if (iStack4 != 0) { - return iStack4; - } - if (abStack36[0] != 0x80) break; - } - iStack80 += 1; - } while (iStack80 < 0x3e); - *(undefined *)(param_1 + 0x65) = 0; - iStack4 = loc_7001F6C0(param_1); - if (iStack4 == 0) { - bStack69 = 0 < iStack80; - *(ushort *)(param_3 + 6) = *(ushort *)(param_2 + 0x18) & 0xfffe | (ushort)bStack69; - *(undefined *)((int)param_3 + 0x1a) = (char)iStack80; - *(undefined *)((int)param_3 + 0x1b) = *(undefined *)(param_2 + 0x1b); - loc_7001EA34((int)param_3,(short *)(param_3 + 7),(short *)((int)param_3 + 0x1e)); - auStack88[0] = 1; - auStack88[1] = 3; - auStack88[2] = 4; - auStack88[3] = 6; - iStack76 = 0; - do { - iStack4 = __osContRamWrite(*(int *)(param_1 + 4),*(int *)(param_1 + 8),auStack88[iStack76], - (byte *)param_3,1); - if (iStack4 != 0) { - return iStack4; - } - iStack76 += 1; - } while (iStack76 < 4); - iStack4 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),1,abStack36); - if (iStack4 == 0) { - iStack76 = 0; - do { - if (*(byte *)((int)param_3 + iStack76) != abStack36[iStack76]) { - return 10; - } - iStack76 += 1; - } while (iStack76 < 0x20); - iStack4 = 0; - } - } - return iStack4; -} - - - -int loc_7001F024(int param_1,byte *param_2) - -{ - int iVar1; - int iStack24; - int iStack20; - short sStack16; - short sStack14; - int iStack12; - ushort auStack8 [4]; - - iStack12 = 0; - if (*(char *)(param_1 + 0x65) != '\0') { - *(undefined *)(param_1 + 0x65) = 0; - iStack12 = loc_7001F6C0(param_1); - if (iStack12 != 0) { - return iStack12; - } - } - auStack8[0] = 1; - auStack8[1] = 3; - auStack8[2] = 4; - auStack8[3] = 6; - iStack20 = 1; - do { - iStack12 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),(uint)auStack8[iStack20], - param_2); - if (iStack12 != 0) { - return iStack12; - } - loc_7001EA34((int)param_2,&sStack14,&sStack16); - } while (((*(short *)(param_2 + 0x1c) != sStack14) || (*(short *)(param_2 + 0x1e) != sStack16)) && - (iStack20 += 1, iStack20 < 4)); - if (iStack20 == 4) { - iVar1 = 10; - } - else { - iStack24 = 0; - do { - if ((iStack24 != iStack20) && - (iStack12 = __osContRamWrite(*(int *)(param_1 + 4),*(int *)(param_1 + 8),auStack8[iStack24] - ,param_2,1), iStack12 != 0)) { - return iStack12; - } - iStack24 += 1; - } while (iStack24 < 4); - iVar1 = 0; - } - return iVar1; -} - - - -int loc_7001F280(int param_1) - -{ - int iVar1; - undefined4 *puStack80; - undefined4 auStack72 [6]; - ushort uStack48; - undefined4 auStack40 [7]; - short sStack12; - short sStack10; - short sStack8; - short sStack6; - int iStack4; - - if (*(char *)(param_1 + 0x65) != '\0') { - *(undefined *)(param_1 + 0x65) = 0; - iVar1 = loc_7001F6C0(param_1); - if (iVar1 != 0) { - return iVar1; - } - } - iVar1 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),1,(byte *)auStack40); - if (iVar1 != 0) { - return iVar1; - } - loc_7001EA34((int)auStack40,&sStack6,&sStack8); - puStack80 = auStack40; - if ((sStack12 != sStack6) || (sStack10 != sStack8)) { - iVar1 = loc_7001F024(param_1,(byte *)puStack80); - if (iVar1 == 10) { - iVar1 = loc_7001EE8C(param_1,(int)puStack80,auStack72); - if (iVar1 != 0) { - return iVar1; - } - puStack80 = auStack72; - } - else { - if (iVar1 != 0) { - return iVar1; - } - } - } - if ((*(ushort *)(puStack80 + 6) & 1) == 0) { - iVar1 = loc_7001EE8C(param_1,(int)puStack80,auStack72); - if (iVar1 != 0) { - return iVar1; - } - puStack80 = auStack72; - if ((uStack48 & 1) == 0) { - return 0xb; - } - } - iStack4 = 0; - do { - *(undefined *)(param_1 + iStack4 + 0xc) = *(undefined *)((int)puStack80 + iStack4); - iStack4 += 1; - } while (iStack4 < 0x20); - *(uint *)(param_1 + 0x4c) = (uint)*(byte *)((int)puStack80 + 0x1b); - *(byte *)(param_1 + 100) = *(byte *)((int)puStack80 + 0x1a); - *(int *)(param_1 + 0x60) = (uint)*(byte *)(param_1 + 100) * 2 + 3; - *(undefined4 *)(param_1 + 0x50) = 0x10; - *(undefined4 *)(param_1 + 0x54) = 8; - *(int *)(param_1 + 0x58) = (uint)*(byte *)(param_1 + 100) * 8 + 8; - *(int *)(param_1 + 0x5c) = *(int *)(param_1 + 0x58) + (uint)*(byte *)(param_1 + 100) * 8; - iVar1 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),7,(byte *)(param_1 + 0x2c)); - if (iVar1 == 0) { - iVar1 = 0; - } - return iVar1; -} - - - -int FUN_7001f2d0(int param_1) - -{ - int iVar1; - byte abStack36 [32]; - int iStack4; - - if (*(char *)(param_1 + 0x65) != '\0') { - *(undefined *)(param_1 + 0x65) = 0; - iVar1 = loc_7001F6C0(param_1); - if (iVar1 != 0) { - return iVar1; - } - } - iVar1 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),1,abStack36); - if ((iVar1 == 0) || - ((iVar1 == 2 && - (iVar1 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8),1,abStack36), iVar1 == 0) - ))) { - iStack4 = 0; - do { - if (abStack36[iStack4] != *(byte *)(param_1 + iStack4 + 0xc)) { - return 2; - } - iStack4 += 1; - } while (iStack4 < 0x20); - iVar1 = 0; - } - return iVar1; -} - - - -int FUN_7001f3cc(int param_1,int param_2,char param_3,byte param_4) - -{ - int iVar2; - ulonglong uVar1; - byte *pbVar3; - int iStack16; - int iStack12; - int iStack8; - - if (*(char *)(param_1 + 0x65) != '\0') { - *(undefined *)(param_1 + 0x65) = 0; - iVar2 = loc_7001F6C0(param_1); - if (iVar2 != 0) { - return iVar2; - } - } - if (param_4 == 0) { - iStack16 = *(int *)(param_1 + 0x60); - } - else { - iStack16 = 1; - } - if (param_3 == '\x01') { - uVar1 = loc_7001EA10((byte *)(param_2 + iStack16 * 2),iStack16 * -2 + 0x100); - *(undefined *)(param_2 + 1) = (char)uVar1; - } - iStack8 = 0; - do { - pbVar3 = (byte *)(param_2 + iStack8 * 0x20); - if (param_3 == '\x01') { - __osContRamWrite(*(int *)(param_1 + 4),*(int *)(param_1 + 8), - (short)*(undefined4 *)(param_1 + 0x54) + (ushort)param_4 * 8 + (short)iStack8 - ,pbVar3,0); - iStack12 = __osContRamWrite(*(int *)(param_1 + 4),*(int *)(param_1 + 8), - (short)*(undefined4 *)(param_1 + 0x58) + (ushort)param_4 * 8 + - (short)iStack8,pbVar3,0); - } - else { - iStack12 = __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8), - *(int *)(param_1 + 0x54) + ((int)(char)param_4 & 0xffU) * 8 + - iStack8,pbVar3); - } - if (iStack12 != 0) { - return iStack12; - } - iStack8 += 1; - } while (iStack8 < 8); - if (param_3 == '\0') { - uVar1 = loc_7001EA10((byte *)(param_2 + iStack16 * 2),iStack16 * -2 + 0x100); - if ((ulonglong)*(byte *)(param_2 + 1) == (uVar1 & 0xff)) { - iStack8 = 0; - do { - __osContRamWrite(*(int *)(param_1 + 4),*(int *)(param_1 + 8), - (short)*(undefined4 *)(param_1 + 0x58) + (ushort)param_4 * 8 + - (short)iStack8,(byte *)(param_2 + iStack8 * 0x20),0); - iStack8 += 1; - } while (iStack8 < 8); - } - else { - iStack8 = 0; - do { - __osContRamRead(*(int *)(param_1 + 4),*(int *)(param_1 + 8), - *(int *)(param_1 + 0x58) + ((int)(char)param_4 & 0xffU) * 8 + iStack8, - (byte *)(param_2 + iStack8 * 0x20)); - iStack8 += 1; - } while (iStack8 < 8); - if (*(char *)(param_2 + 1) != (char)uVar1) { - return 3; - } - iStack8 = 0; - do { - __osContRamWrite(*(int *)(param_1 + 4),*(int *)(param_1 + 8), - (short)*(undefined4 *)(param_1 + 0x54) + (ushort)param_4 * 8 + - (short)iStack8,(byte *)(param_2 + iStack8 * 0x20),0); - iStack8 += 1; - } while (iStack8 < 8); - } - } - return 0; -} - - - -int loc_7001F6C0(int param_1) - -{ - int iVar1; - int iStack36; - byte abStack32 [32]; - - iStack36 = 0; - do { - abStack32[iStack36] = *(byte *)(param_1 + 0x65); - iStack36 += 1; - } while (iStack36 < 0x20); - iVar1 = __osContRamWrite(*(int *)(param_1 + 4),*(int *)(param_1 + 8),0x400,abStack32,0); - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong locret_7001F744(void) - -{ - return (ulonglong)((_DAT_a4800018 & 3) != 0); -} - - - -void guNormalize(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - - fVar1 = sqrtf(*param_3 * *param_3 + *param_1 * *param_1 + *param_2 * *param_2); - fVar1 = 1.00000000 / fVar1; - *param_1 = *param_1 * fVar1; - *param_2 = *param_2 * fVar1; - *param_3 = *param_3 * fVar1; - return; -} - - - -float sqrtf(float __x) - -{ - return SQRT(__x); -} - - - -void __osSetCompare(undefined8 param_1) - -{ - setCopReg(0,Compare,param_1,0); - return; -} - - - -void alFilterNew(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - *param_1 = 0; - param_1[1] = param_2; - param_1[2] = param_3; - *(undefined2 *)(param_1 + 3) = 0; - *(undefined2 *)((int)param_1 + 0xe) = 0; - param_1[4] = param_4; - return; -} - - - -ulonglong loc_7001F9A0(int iParm1,int iParm2) - -{ - double dVar1; - float fVar2; - ulonglong in_f4; - uint in_register_00001040; - - *(float *)(iParm1 + 0x14) = *(float *)(iParm1 + 0x14) + *(float *)(iParm1 + 0x10) * (float)iParm2; - dVar1 = (double)*(float *)(iParm1 + 0x14); - if ((double)(in_f4 & 0xffffffff00000000) < dVar1) { - *(float *)(iParm1 + 0x14) = (float)(dVar1 - (double)((ulonglong)in_register_00001040 << 0x20)); - } - else { - *(float *)(iParm1 + 0x14) = *(float *)(iParm1 + 0x14); - } - fVar2 = *(float *)(iParm1 + 0x14); - if (fVar2 < 0.00000000) { - fVar2 = -fVar2; - } - return (ulonglong)dVar1 & 0xffffffff00000000 | - (ulonglong) - (uint)(*(float *)(iParm1 + 0x1c) * - (float)((double)fVar2 - (double)((ulonglong)in_register_00001040 << 0x20))); -} - - - -uint * _filterBuffer(int param_1,uint param_2,uint param_3,uint *param_4) - -{ - uint uVar1; - - param_4[1] = (param_2 & 0xffff) << 0x10 | (param_3 & 0x7fff) << 1; - *param_4 = param_2 & 0xffff | 0x8000000; - param_4[2] = 0xb000020; - uVar1 = osVirtualToPhysical(param_1 + 8); - param_4[3] = uVar1; - param_4[4] = (*(uint *)(param_1 + 0x2c) & 0xff) << 0x10 | 0xe000000 | - (int)*(short *)(param_1 + 2) & 0xffffU; - uVar1 = osVirtualToPhysical(*(uint *)(param_1 + 0x28)); - param_4[5] = uVar1; - *(undefined4 *)(param_1 + 0x2c) = 0; - return param_4 + 6; -} - - - -undefined4 * FUN_7001fab0(int param_1,uint param_2,int param_3,int param_4,undefined4 *param_5) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - uint uVar4; - int iVar5; - undefined4 *puVar6; - - iVar5 = *(int *)(param_1 + 0x1c) * 2; - uVar3 = *(uint *)(param_1 + 0x14) + iVar5; - if (param_2 < *(uint *)(param_1 + 0x14)) { - param_2 += iVar5; - } - uVar2 = param_4 * 2; - if (uVar3 < uVar2 + param_2) { - *param_5 = 0x8000000; - uVar4 = ((int)(uVar3 - param_2) >> 1) * 2; - param_5[1] = param_3 << 0x10 | uVar4 & 0xffff; - param_5[2] = 0x6000000; - uVar1 = osVirtualToPhysical(param_2); - param_5[3] = uVar1; - param_5[4] = 0x8000000; - param_5[5] = (uVar4 + param_3) * 0x10000 | - ((int)((uVar2 + param_2) - uVar3) >> 1 & 0x7fffU) << 1; - param_5[6] = 0x6000000; - uVar3 = osVirtualToPhysical(*(uint *)(param_1 + 0x14)); - param_5[7] = uVar3; - param_5[9] = uVar2 & 0xffff; - param_5[8] = 0x8000000; - puVar6 = param_5 + 10; - } - else { - *param_5 = 0x8000000; - param_5[1] = param_3 << 0x10 | uVar2 & 0xffff; - param_5[2] = 0x6000000; - puVar6 = param_5 + 4; - uVar3 = osVirtualToPhysical(param_2); - param_5[3] = uVar3; - } - return puVar6; -} - - - -uint * FUN_7001fc38(int param_1,uint param_2,uint param_3,int param_4,uint *param_5) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - int iVar4; - uint uVar5; - uint *puVar6; - - iVar4 = *(int *)(param_1 + 0x1c) * 2; - uVar3 = *(uint *)(param_1 + 0x14) + iVar4; - if (param_2 < *(uint *)(param_1 + 0x14)) { - param_2 += iVar4; - } - uVar2 = param_4 * 2; - if (uVar3 < uVar2 + param_2) { - uVar5 = ((int)(uVar3 - param_2) >> 1) * 2; - *param_5 = param_3 & 0xffff | 0x8000000; - param_5[1] = uVar5 & 0xffff; - param_5[2] = 0x4000000; - uVar1 = osVirtualToPhysical(param_2); - param_5[3] = uVar1; - param_5[4] = uVar5 + param_3 & 0xffff | 0x8000000; - param_5[5] = ((int)((uVar2 + param_2) - uVar3) >> 1 & 0x7fffU) << 1; - param_5[6] = 0x4000000; - puVar6 = param_5 + 8; - uVar3 = osVirtualToPhysical(*(uint *)(param_1 + 0x14)); - param_5[7] = uVar3; - } - else { - param_5[1] = uVar2 & 0xffff; - *param_5 = param_3 & 0xffff | 0x8000000; - param_5[2] = 0x4000000; - puVar6 = param_5 + 4; - uVar3 = osVirtualToPhysical(param_2); - param_5[3] = uVar3; - } - *puVar6 = 0x8000000; - puVar6[1] = uVar2 & 0xffff; - return puVar6 + 2; -} - - - -uint * loc_7001FF90(int param_1,int *param_2,uint param_3,undefined8 param_4,uint *param_5) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - uint uVar4; - int iVar5; - float fVar6; - uint in_register_00001020; - float fVar7; - int iVar8; - - uVar4 = (uint)param_4; - if (param_2[9] == 0) { - puVar2 = FUN_7001fc38(param_1,*(int *)(param_1 + 0x18) + param_2[1] * -2,param_3,uVar4,param_5); - } - else { - iVar5 = param_2[1]; - iVar8 = *param_2; - fVar6 = (float)loc_7001F9A0(param_2,param_4); - fVar6 = (float)((double)((ulonglong)in_register_00001020 << 0x20) - - (double)((float)(int)((fVar6 / (float)(iVar5 - iVar8)) * 32768.00000000) / - 32768.00000000)); - fVar7 = *(float *)(param_2[9] + 0x20) + fVar6 * (float)uVar4; - iVar8 = (int)fVar7; - *(float *)(param_2[9] + 0x20) = fVar7 - (float)iVar8; - uVar3 = *(int *)(param_1 + 0x18) + (param_2[1] - param_2[6]) * -2; - iVar5 = (int)(uVar3 & 7) >> 1; - puVar1 = FUN_7001fc38(param_1,uVar3 + iVar5 * -2,0x280,iVar8 + iVar5,param_5); - *puVar1 = iVar5 * 2 + 0x280U | 0x8000000; - puVar1[1] = param_3 << 0x10 | (uVar4 & 0x7fff) << 1; - puVar2 = puVar1 + 4; - puVar1[2] = (*(uint *)(param_2[9] + 0x24) & 0xff) << 0x10 | 0x5000000 | - (int)(fVar6 * 32768.00000000) & 0xffffU; - uVar3 = osVirtualToPhysical(*(uint *)(param_2[9] + 0x14)); - puVar1[3] = uVar3; - *(undefined4 *)(param_2[9] + 0x24) = 0; - param_2[6] = (param_2[6] + iVar8) - uVar4; - } - return puVar2; -} - - - -undefined8 locret_700201D0(undefined4 *param_1,longlong param_2,undefined4 param_3) - -{ - if (param_2 == 1) { - *param_1 = param_3; - } - return 0; -} - - - -uint * loc_700204C4(int *param_1,undefined8 param_2,undefined8 param_3) - -{ - undefined4 *puVar1; - uint *puVar2; - int iVar3; - uint uVar4; - uint uVar5; - int *piVar6; - short sVar7; - uint uVar8; - uint uVar9; - longlong lVar10; - uint uVar11; - uint uVar12; - uint uVar13; - - puVar1 = (undefined4 *)(**(code **)(*param_1 + 4))(); - uVar9 = (uint)param_3; - uVar5 = uVar9 * 2; - *puVar1 = 0x8000000; - puVar1[1] = uVar5 & 0xffff; - puVar1[2] = 0xc00da83; - puVar1[3] = 0x6c006c0; - puVar1[4] = 0xc005a82; - puVar1[5] = 0x80006c0; - uVar4 = 0; - uVar11 = 0x140; - puVar1 = FUN_7001fab0((int)param_1,param_1[6],0x6c0,uVar9,puVar1 + 6); - uVar12 = 0; - *puVar1 = 0x2000800; - puVar1[1] = uVar5; - puVar2 = puVar1 + 2; - lVar10 = 0; - if (*(char *)(param_1 + 9) == '\0') { - iVar3 = param_1[7]; - } - else { - iVar3 = param_1[6]; - do { - piVar6 = (int *)(param_1[8] + (int)lVar10 * 0x28); - uVar8 = iVar3 + *piVar6 * -2; - uVar13 = iVar3 + piVar6[1] * -2; - if (uVar8 == uVar12) { - sVar7 = (short)uVar4; - uVar4 = SEXT24((short)uVar11); - uVar11 = SEXT24(sVar7); - } - else { - puVar2 = FUN_7001fc38((int)param_1,uVar8,uVar4,uVar9,puVar2); - } - puVar2 = loc_7001FF90((int)param_1,piVar6,uVar11,param_3,puVar2); - if (*(short *)(piVar6 + 2) == 0) { -LAB_700203f0: - sVar7 = *(short *)((int)piVar6 + 10); - } - else { - *puVar2 = (int)*(short *)(piVar6 + 2) & 0xffffU | 0xc000000; - puVar2[1] = uVar4 << 0x10 | uVar11; - puVar2 = puVar2 + 2; - if (piVar6[9] == 0) { - if (piVar6[8] == 0) { - puVar2 = FUN_7001fab0((int)param_1,uVar13,uVar11,uVar9,puVar2); - } - goto LAB_700203f0; - } - sVar7 = *(short *)((int)piVar6 + 10); - } - if (sVar7 != 0) { - *puVar2 = (int)sVar7 & 0xffffU | 0xc000000; - puVar2[1] = uVar11 << 0x10 | uVar4; - puVar2 = FUN_7001fab0((int)param_1,uVar8,uVar4,uVar9,puVar2 + 2); - } - if (piVar6[8] == 0) { - iVar3 = piVar6[9]; - } - else { - puVar2 = _filterBuffer(piVar6[8],uVar11,uVar9,puVar2); - iVar3 = piVar6[9]; - } - if (iVar3 == 0) { - puVar2 = FUN_7001fab0((int)param_1,uVar13,uVar11,uVar9,puVar2); - } - lVar10 = (longlong)(((int)lVar10 + 1) * 0x10000 >> 0x10); - if (*(short *)(piVar6 + 3) != 0) { - *puVar2 = (int)*(short *)(piVar6 + 3) & 0xffffU | 0xc000000; - puVar2[1] = uVar11 << 0x10 | 0x800; - puVar2 = puVar2 + 2; - } - iVar3 = param_1[6]; - uVar12 = iVar3 + piVar6[1] * 2; - } while (lVar10 < (longlong)(ulonglong)*(byte *)(param_1 + 9)); - iVar3 = param_1[7]; - } - uVar12 = param_1[6] + uVar5; - param_1[6] = uVar12; - if ((uint)(param_1[5] + iVar3 * 2) < uVar12) { - param_1[6] = uVar12 + iVar3 * -2; - } - *puVar2 = 0xa000800; - puVar2[1] = uVar5 & 0xffff | 0x6c00000; - return puVar2 + 2; -} - - - -void alSeqSetLoc(int param_1,undefined4 *param_2) - -{ - *(undefined4 *)(param_1 + 8) = *param_2; - *(undefined2 *)(param_1 + 0x1a) = *(undefined2 *)(param_2 + 3); - *(undefined4 *)(param_1 + 0xc) = param_2[1]; - return; -} - - - -undefined4 alSeqGetTicks(int param_1) - -{ - return *(undefined4 *)(param_1 + 0xc); -} - - - -ulonglong locret_700205AC(int param_1) - -{ - byte bVar1; - ulonglong uVar2; - - bVar1 = **(byte **)(param_1 + 8); - uVar2 = (ulonglong)bVar1; - *(byte **)(param_1 + 8) = *(byte **)(param_1 + 8) + 1; - if ((bVar1 & 0x80) != 0) { - uVar2 &= 0x7f; - do { - bVar1 = **(byte **)(param_1 + 8); - *(byte **)(param_1 + 8) = *(byte **)(param_1 + 8) + 1; - uVar2 = SEXT48((int)((int)uVar2 * 0x80 + ((uint)bVar1 & 0x7f))); - } while ((bVar1 & 0x80) != 0); - } - return uVar2; -} - - - -void FUN_700205f4(int param_1) - -{ - byte bVar1; - undefined uVar2; - undefined2 uVar3; - byte *pbVar4; - ulonglong uVar5; - int iVar6; - int extraout_a2_lo; - undefined2 *extraout_a3_lo; - - uVar5 = locret_700205AC(param_1); - pbVar4 = *(byte **)(extraout_a2_lo + 8); - iVar6 = (int)uVar5; - *(int *)(extraout_a2_lo + 0xc) = *(int *)(extraout_a2_lo + 0xc) + iVar6; - bVar1 = *pbVar4; - *(byte **)(extraout_a2_lo + 8) = pbVar4 + 1; - if (bVar1 == 0xff) { - bVar1 = pbVar4[1]; - *(byte **)(extraout_a2_lo + 8) = pbVar4 + 2; - if (bVar1 == 0x51) { - *extraout_a3_lo = 3; - *(int *)(extraout_a3_lo + 2) = iVar6; - *(undefined *)(extraout_a3_lo + 4) = 0xff; - *(undefined *)((int)extraout_a3_lo + 9) = 0x51; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 0xb) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 6) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 0xd) = uVar2; - } - else { - if (bVar1 == 0x2f) { - *extraout_a3_lo = 4; - *(int *)(extraout_a3_lo + 2) = iVar6; - *(undefined *)(extraout_a3_lo + 4) = 0xff; - *(undefined *)((int)extraout_a3_lo + 9) = 0x2f; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - } - } - *(undefined2 *)(extraout_a2_lo + 0x1a) = 0; - } - else { - *extraout_a3_lo = 1; - *(int *)(extraout_a3_lo + 2) = iVar6; - if ((bVar1 & 0x80) == 0) { - uVar3 = *(undefined2 *)(extraout_a2_lo + 0x1a); - *(byte *)((int)extraout_a3_lo + 9) = bVar1; - *(char *)(extraout_a3_lo + 4) = (char)uVar3; - } - else { - *(byte *)(extraout_a3_lo + 4) = bVar1; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 9) = uVar2; - *(ushort *)(extraout_a2_lo + 0x1a) = (ushort)bVar1; - } - if ((*(byte *)(extraout_a3_lo + 4) & 0xf0) == 0xc0) { - *(undefined *)(extraout_a3_lo + 5) = 0; - } - else { - if ((*(byte *)(extraout_a3_lo + 4) & 0xf0) == 0xd0) { - *(undefined *)(extraout_a3_lo + 5) = 0; - } - else { - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - } - } - } - return; -} - - - -void FUN_70020778(int param_1,undefined4 *param_2,uint param_3) - -{ - undefined2 uVar1; - undefined4 uVar2; - undefined4 uVar3; - uint uVar4; - undefined4 uVar5; - undefined2 uVar6; - short sStack16; - - if (param_3 == 0) { - uVar2 = *(undefined4 *)(param_1 + 4); - *(undefined2 *)(param_2 + 3) = 0; - param_2[1] = 0; - param_2[2] = 0; - *param_2 = uVar2; - } - else { - uVar2 = *(undefined4 *)(param_1 + 8); - uVar1 = *(undefined2 *)(param_1 + 0x1a); - uVar3 = *(undefined4 *)(param_1 + 0xc); - *(undefined2 *)(param_1 + 0x1a) = 0; - *(undefined4 *)(param_1 + 0xc) = 0; - *(undefined4 *)(param_1 + 8) = *(undefined4 *)(param_1 + 4); - uVar5 = *(undefined4 *)(param_1 + 8); - uVar4 = 0; - while( true ) { - uVar6 = *(undefined2 *)(param_1 + 0x1a); - FUN_700205f4(param_1); - if (sStack16 == 4) break; - if (param_3 <= *(uint *)(param_1 + 0xc)) goto LAB_70020840; - uVar5 = *(undefined4 *)(param_1 + 8); - uVar4 = *(uint *)(param_1 + 0xc); - } - uVar5 = *(undefined4 *)(param_1 + 8); - uVar6 = *(undefined2 *)(param_1 + 0x1a); - uVar4 = *(uint *)(param_1 + 0xc); -LAB_70020840: - *param_2 = uVar5; - *(undefined2 *)(param_2 + 3) = uVar6; - param_2[1] = uVar4; - param_2[2] = *(undefined4 *)(param_1 + 0xc); - *(undefined4 *)(param_1 + 8) = uVar2; - *(undefined2 *)(param_1 + 0x1a) = uVar1; - *(undefined4 *)(param_1 + 0xc) = uVar3; - } - return; -} - - - -ulonglong loc_700209D8(int *param_1,undefined4 *param_2) - -{ - bool bVar1; - ulonglong uVar2; - int extraout_a2_lo; - undefined4 extraout_a3_lo; - - bVar1 = (uint)param_1[2] < (uint)(*param_1 + param_1[4]); - if (bVar1) { - uVar2 = locret_700205AC((int)param_1); - *param_2 = (int)uVar2; - *(undefined4 *)(extraout_a2_lo + 8) = extraout_a3_lo; - } - return (ulonglong)bVar1; -} - - - -ulonglong read32(int param_1) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - byte bVar4; - byte *pbVar5; - - pbVar5 = *(byte **)(param_1 + 8); - bVar1 = *pbVar5; - *(byte **)(param_1 + 8) = pbVar5 + 1; - bVar2 = pbVar5[1]; - *(byte **)(param_1 + 8) = pbVar5 + 2; - bVar3 = pbVar5[2]; - *(byte **)(param_1 + 8) = pbVar5 + 3; - bVar4 = pbVar5[3]; - *(byte **)(param_1 + 8) = pbVar5 + 4; - return (longlong)(int)((uint)bVar1 << 0x18 | (uint)bVar2 << 0x10 | (uint)bVar3 << 8) | - (ulonglong)bVar4; -} - - - -undefined2 read16(int param_1) - -{ - undefined uVar1; - undefined uVar2; - undefined *puVar3; - - puVar3 = *(undefined **)(param_1 + 8); - uVar1 = *puVar3; - *(undefined **)(param_1 + 8) = puVar3 + 1; - uVar2 = puVar3[1]; - *(undefined **)(param_1 + 8) = puVar3 + 2; - return CONCAT11(uVar1,uVar2); -} - - - -void FUN_70020aa8(undefined4 *param_1,undefined4 param_2,undefined4 param_3) - -{ - ulonglong uVar1; - short sVar2; - undefined2 uVar3; - int extraout_a3_lo; - int extraout_a3_lo_00; - int extraout_a3_lo_01; - int extraout_a3_lo_02; - int extraout_a3_lo_03; - int extraout_a3_lo_04; - int extraout_a3_lo_05; - uint in_register_00001020; - - *param_1 = param_2; - param_1[4] = param_3; - *(undefined2 *)((int)param_1 + 0x1a) = 0; - param_1[3] = 0; - param_1[2] = param_2; - uVar1 = read32((int)param_1); - if (uVar1 == 0x4d546864) { - read32(extraout_a3_lo); - sVar2 = read16(extraout_a3_lo_00); - if ((sVar2 == 0) && (sVar2 = read16(extraout_a3_lo_01), sVar2 == 1)) { - uVar3 = read16(extraout_a3_lo_02); - *(undefined2 *)(extraout_a3_lo_03 + 0x18) = uVar3; - if (((longlong)*(short *)(extraout_a3_lo_03 + 0x18) & 0x8000U) == 0) { - *(float *)(extraout_a3_lo_03 + 0x14) = - (float)((double)((ulonglong)in_register_00001020 << 0x20) / - (double)(int)*(short *)(extraout_a3_lo_03 + 0x18)); - uVar1 = read32(extraout_a3_lo_03); - if (uVar1 == 0x4d54726b) { - read32(extraout_a3_lo_04); - *(undefined4 *)(extraout_a3_lo_05 + 4) = *(undefined4 *)(extraout_a3_lo_05 + 8); - } - } - } - } - return; -} - - - -void alSynSetPriority(undefined8 param_1,int param_2,undefined2 param_3) - -{ - *(undefined2 *)(param_2 + 0x16) = param_3; - return; -} - - - -ldiv_t loc_70020C1C(long __numer,long __denom) - -{ - longlong lVar1; - undefined4 in_v1_hi; - int in_v1_lo; - int iVar2; - int in_a2_lo; - int in_a3_lo; - int in_stack_00000010; - uint in_stack_00000014; - int iStack16; - int iStack12; - int iStack8; - uint uStack4; - - lVar1 = loc_7000ED94(in_a2_lo,in_a3_lo,in_stack_00000010,in_stack_00000014); - iStack16 = (int)lVar1; - iVar2 = in_v1_lo; - lVar1 = __ll_mul(in_stack_00000010,in_stack_00000014,iStack16,in_v1_lo); - iStack8 = (in_a2_lo - (int)lVar1) - - (uint)((ulonglong)(longlong)in_a3_lo < CONCAT44(in_v1_hi,iVar2)); - uStack4 = in_a3_lo - iVar2; - iStack12 = in_v1_lo; - if ((((iStack16 < 1) && (iStack12 = in_v1_lo, iStack16 < 0)) && - (iStack12 = in_v1_lo, -1 < iStack8)) && ((0 < iStack8 || (iStack12 = in_v1_lo, uStack4 != 0))) - ) { - iStack16 += (uint)(in_v1_lo + 1 == 0); - iStack8 = (iStack8 - in_stack_00000010) - (uint)(uStack4 < in_stack_00000014); - uStack4 -= in_stack_00000014; - iStack12 = in_v1_lo + 1; - } - *(int *)__numer = iStack16; - *(int *)(__numer + 4) = iStack12; - *(int *)(__numer + 8) = iStack8; - *(uint *)(__numer + 0xc) = uStack4; - return (ldiv_t)(longlong)__numer; -} - - - -int * loc_70020CB8(int *param_1,longlong param_2,longlong param_3) - -{ - int iVar1; - int local_8; - int local_4; - - iVar1 = (int)param_3; - local_8 = (int)param_2 / iVar1; - if (param_3 == 0) { - trap(0x1c00); - } - if ((param_3 == -1) && (param_2 == -0x80000000)) { - trap(0x1800); - } - local_4 = (int)param_2 - iVar1 * local_8; - if (local_8 < 0) { - if (0 < local_4) { - local_8 += 1; - local_4 -= iVar1; - } - } - *param_1 = local_8; - param_1[1] = local_4; - return param_1; -} - - - -void FUN_70020d20(uint param_1) - -{ - ulonglong uVar1; - - uVar1 = __osDisableInt(); - DAT_800269cc &= ~(param_1 & 0xfffffbfe); - __osRestoreInt(uVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_70020D6C(int param_1,uint param_2,undefined4 param_3) - -{ - do { - } while ((_DAT_a4600010 & 3) != 0); - *(undefined4 *)(*(uint *)(param_1 + 0xc) | param_2 | 0xa0000000) = param_3; - return 0; -} - - - -// WARNING: Instruction at (ram,0x70200594) overlaps instruction at (ram,0x70200590) -// -// WARNING: Could not reconcile some variable overlaps - -ulonglong loc_70200624(int *param_1,uint param_2,uint param_3,int param_4,int param_5,uint *param_6, - uint *param_7) - -{ - uint *puVar1; - uint uVar2; - int *piVar3; - int iVar4; - int iVar5; - uint uVar6; - uint uVar7; - int *piVar8; - uint *puVar9; - int iVar10; - uint uVar11; - uint *puVar12; - uint *puVar13; - int iVar14; - undefined4 *puVar15; - uint uVar16; - uint uVar17; - uint uVar18; - uint uVar19; - uint uVar20; - uint uVar21; - uint uVar22; - int *piVar23; - uint *puVar24; - uint *puStack1440; - uint auStack1404 [2]; - int aiStack1396 [16]; - uint auStack1332 [288]; - uint auStack180 [16]; - undefined4 uStack116; - uint uStack112; - uint uStack72; - int aiStack68 [15]; - int iStack8; - int iStack4; - - piVar3 = aiStack68; - do { - piVar23 = piVar3 + 4; - piVar3[1] = 0; - piVar3[2] = 0; - piVar3[3] = 0; - *piVar3 = 0; - piVar3 = piVar23; - } while (piVar23 != &iStack4); - uVar16 = param_2; - piVar3 = param_1; - if (-(param_2 & 3) == 0) goto LAB_702000a4; - uVar16 = param_2; - piVar23 = param_1; - do { - iVar4 = *piVar23; - uVar16 -= 1; - piVar23 = piVar23 + 1; - (&uStack72)[iVar4] = (&uStack72)[iVar4] + 1; - } while (-(param_2 & 3) + param_2 != uVar16); - while (piVar3 = piVar23, uVar16 != 0) { -LAB_702000a4: - uVar16 -= 4; - piVar23 = piVar3 + 4; - puVar12 = &uStack72 + *piVar3; - *puVar12 = *puVar12 + 1; - puVar12 = &uStack72 + piVar3[1]; - *puVar12 = *puVar12 + 1; - puVar12 = &uStack72 + piVar3[2]; - *puVar12 = *puVar12 + 1; - puVar12 = &uStack72 + piVar3[3]; - *puVar12 = *puVar12 + 1; - } - uVar16 = 1; - puVar12 = (uint *)aiStack68; - if (param_2 == 0) { - *param_6 = 0; - *param_7 = 0; - return 0; - } - do { - if (*puVar12 != 0) break; - uVar16 += 1; - puVar12 = puVar12 + 1; - } while (uVar16 != 0x11); - uVar20 = *param_7; - if (*param_7 < uVar16) { - uVar20 = uVar16; - } - uVar17 = 0x10; - piVar3 = &iStack8; - do { - if (*piVar3 != 0) break; - uVar17 -= 1; - piVar3 = piVar3 + -1; - } while (uVar17 != 0); - if (uVar17 < uVar20) { - uVar20 = uVar17; - } - *param_7 = uVar20; - iVar4 = 1 << (uVar16 & 0x1f); - if (uVar16 < uVar17) { - do { - uVar18 = *puVar12; - puVar12 = puVar12 + 1; - iVar4 = (iVar4 - uVar18) * 2; - } while (puVar12 < &uStack72 + uVar17); - } - uVar18 = uVar17 - 1; - iVar10 = 0; - iVar4 -= *piVar3; - *piVar3 = *piVar3 + iVar4; - piVar23 = aiStack68; - piVar8 = aiStack1396; - puVar12 = (uint *)(piVar3 + -1); - if (uVar18 != 0) { - if (-(uVar18 & 3) != 0) { - do { - puVar12 = puVar12 + -1; - piVar3 = piVar8 + 1; - iVar10 += *piVar23; - *piVar8 = iVar10; - piVar23 = piVar23 + 1; - piVar8 = piVar3; - } while (&uStack72 + -(uVar18 & 3) + uVar18 != puVar12); - piVar8 = piVar3; - if (puVar12 == &uStack72) goto LAB_70200290; - } - do { - iVar14 = *piVar23; - puVar12 = puVar12 + -4; - *piVar8 = iVar10 + iVar14; - iVar10 = iVar10 + iVar14 + piVar23[1]; - piVar8[1] = iVar10; - iVar10 += piVar23[2]; - piVar8[2] = iVar10; - iVar10 += piVar23[3]; - piVar8[3] = iVar10; - piVar23 = piVar23 + 4; - piVar8 = piVar8 + 4; - } while (puVar12 != &uStack72); - } -LAB_70200290: - uVar18 = 0; - puVar12 = auStack1332; - iVar10 = *param_1; - while( true ) { - param_1 = param_1 + 1; - if (iVar10 != 0) { - uVar19 = auStack1404[iVar10]; - puVar12[uVar19] = uVar18; - auStack1404[iVar10] = uVar19 + 1; - } - uVar18 += 1; - if (param_2 <= uVar18) break; - iVar10 = *param_1; - } - uVar19 = 0; - iVar10 = -1; - uVar18 = -uVar20; - uVar7 = 0; - uVar6 = 0; - if ((int)uVar16 <= (int)uVar17) { - puStack1440 = &uStack72 + uVar16; - do { - iVar14 = iVar10 * 4; - if (*puStack1440 != 0) { - puVar13 = auStack1404 + iVar10; - uVar22 = 1 << (uVar16 + 0x1f & 0x1f); - puVar24 = puVar12; - uVar11 = *puStack1440; - do { - uVar21 = uVar11 - 1; - if ((int)(uVar18 + uVar20) < (int)uVar16) { - uVar2 = uVar18 + uVar20; - puVar12 = (uint *)((int)auStack180 + iVar14); - do { - uVar18 = uVar2; - iVar10 += 1; - iVar14 += 4; - puVar13 = puVar13 + 1; - uVar7 = uVar17 - uVar18; - if (uVar20 < uVar17 - uVar18) { - uVar7 = uVar20; - } - uVar2 = uVar16 - uVar18; - uVar6 = 1 << (uVar2 & 0x1f); - if (uVar11 < uVar6) { - iVar5 = (uVar6 - uVar21) + -1; - puVar9 = &uStack72 + uVar16; - while (uVar2 += 1, uVar2 < uVar7) { - puVar1 = puVar9 + 1; - puVar9 = puVar9 + 1; - if ((uint)(iVar5 * 2) <= *puVar1) break; - iVar5 = iVar5 * 2 - *puVar1; - } - } - uVar6 = 1 << (uVar2 & 0x1f); - iVar5 = DAT_70201598 * 8; - DAT_70201598 = DAT_70201598 + uVar6 + 1; - iVar5 += DAT_70201490; - uVar7 = iVar5 + 8; - *param_6 = uVar7; - *(undefined4 *)(iVar5 + 4) = 0; - param_6 = (uint *)(iVar5 + 4); - puVar12[1] = uVar7; - if (iVar10 != 0) { - *puVar13 = uVar19; - uStack116._1_3_ = CONCAT12((char)uVar20,uStack116._2_2_); - uStack116 = CONCAT13((char)uVar2 + '\x10',uStack116._1_3_); - puVar15 = (undefined4 *)(*puVar12 + (uVar19 >> (uVar18 - uVar20 & 0x1f)) * 8); - *puVar15 = uStack116; - puVar15[1] = uVar7; - uStack112 = uVar7; - } - uVar2 = uVar18 + uVar20; - puVar12 = puVar12 + 1; - } while ((int)(uVar18 + uVar20) < (int)uVar16); - } - uStack116._1_3_ = CONCAT12((char)(uVar16 - uVar18),uStack116._2_2_); - if (puVar24 < auStack1332 + param_2) { - uVar11 = *puVar24; - if (uVar11 < param_3) { - if (uVar11 < 0x100) { - uStack116 = CONCAT13(0x10,uStack116._1_3_); - } - else { - uStack116 = CONCAT13(0xf,uStack116._1_3_); - } - puVar12 = puVar24 + 1; - uStack112 = uStack112 & 0xffff | *puVar24 << 0x10; - } - else { - puVar12 = puVar24 + 1; - uStack116 = CONCAT13(*(undefined *)((uVar11 - param_3) + param_5),uStack116._1_3_); - uStack112 = uStack112 & 0xffff | - (uint)*(ushort *)(param_4 + *puVar24 * 2 + param_3 * -2) << 0x10; - } - } - else { - uStack116 = CONCAT13(99,uStack116._1_3_); - puVar12 = puVar24; - } - uVar11 = uVar19 >> (uVar18 & 0x1f); - if (uVar11 < uVar6) { - do { - puVar15 = (undefined4 *)(uVar7 + uVar11 * 8); - *puVar15 = uStack116; - uVar11 += 1 << (uVar16 - uVar18 & 0x1f); - puVar15[1] = uStack112; - } while (uVar11 < uVar6); - } - uVar2 = uVar19 & uVar22; - uVar11 = uVar22; - while (uVar2 != 0) { - uVar19 ^= uVar11; - uVar2 = uVar19 & uVar11 >> 1; - uVar11 = uVar11 >> 1; - } - uVar19 ^= uVar11; - if ((uVar19 & (1 << (uVar18 & 0x1f)) - 1U) != *puVar13) { - do { - uVar18 -= uVar20; - puVar24 = puVar13 + -1; - iVar10 += -1; - iVar14 += -4; - puVar13 = puVar13 + -1; - } while ((uVar19 & (1 << (uVar18 & 0x1f)) - 1U) != *puVar24); - } - puVar24 = puVar12; - uVar11 = uVar21; - } while (uVar21 != 0); - } - uVar16 += 1; - puStack1440 = puStack1440 + 1; - } while ((int)uVar16 <= (int)uVar17); - } - return (ulonglong)(iVar4 != 0 && uVar17 != 1); -} - - - -undefined8 loc_70200A18(int param_1,int param_2,ulonglong param_3,uint param_4) - -{ - byte bVar1; - ushort uVar2; - ushort uVar3; - uint uVar4; - int iVar5; - int iVar6; - int iVar7; - ulonglong uVar8; - uint uVar9; - byte *pbVar10; - ulonglong uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - undefined *puVar15; - byte *pbVar16; - undefined *puVar17; - - uVar11 = SEXT48(DAT_70201568); - uVar2 = *(ushort *)(&DAT_7020156c + (int)param_3 * 2); - uVar3 = *(ushort *)(&DAT_7020156c + param_4 * 2); - while( true ) { - while( true ) { - while (uVar14 = (uint)uVar11, uVar11 < param_3) { - pbVar10 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar11 = SEXT48((int)(uVar14 + 8)); - DAT_70201564 |= (uint)*pbVar10 << (uVar14 & 0x1f); - } - pbVar10 = (byte *)((DAT_70201564 & (uint)uVar2) * 8 + param_1); - uVar8 = (ulonglong)*pbVar10; - if (*pbVar10 < 0x11) { - bVar1 = pbVar10[1]; - } - else { - bVar1 = pbVar10[1]; - while( true ) { - iVar5 = (int)uVar8 + -0x10; - uVar14 = (int)uVar11 - (uint)bVar1; - DAT_70201564 >>= (uint)bVar1 & 0x1f; - while (uVar11 = SEXT48((int)uVar14), uVar11 < (ulonglong)(longlong)iVar5) { - pbVar16 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = uVar14 & 0x1f; - uVar14 += 8; - DAT_70201564 |= (uint)*pbVar16 << uVar12; - } - pbVar10 = (byte *)(((uint)*(ushort *)(&DAT_7020156c + iVar5 * 2) & DAT_70201564) * 8 + - *(int *)(pbVar10 + 4)); - uVar8 = (ulonglong)*pbVar10; - if (*pbVar10 < 0x11) break; - bVar1 = pbVar10[1]; - } - bVar1 = pbVar10[1]; - } - DAT_70201564 >>= (uint)bVar1 & 0x1f; - DAT_70201568 = uVar14 - (uint)bVar1; - uVar11 = SEXT48(DAT_70201568); - if (uVar8 != 0x10) break; - puVar15 = (undefined *)(DAT_70201484 + DAT_7020148c); - DAT_7020148c += 1; - *puVar15 = (char)*(undefined2 *)(pbVar10 + 4); - } - if (uVar8 == 0xf) break; - uVar14 = (uint)uVar8; - while (uVar11 < uVar8) { - pbVar16 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = (uint)uVar11; - DAT_70201568 = uVar12 + 8; - uVar11 = SEXT48(DAT_70201568); - DAT_70201564 |= (uint)*pbVar16 << (uVar12 & 0x1f); - } - uVar12 = DAT_70201568 - uVar14; - uVar13 = DAT_70201564 >> (uVar14 & 0x1f); - uVar14 = ((uint)*(ushort *)(&DAT_7020156c + uVar14 * 2) & DAT_70201564) + - (uint)*(ushort *)(pbVar10 + 4); - while (uVar12 < param_4) { - pbVar10 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar9 = uVar12 & 0x1f; - uVar12 += 8; - uVar13 |= (uint)*pbVar10 << uVar9; - } - pbVar10 = (byte *)((uVar13 & (uint)uVar3) * 8 + param_2); - uVar11 = (ulonglong)*pbVar10; - if (*pbVar10 < 0x11) { - bVar1 = pbVar10[1]; - } - else { - bVar1 = pbVar10[1]; - while( true ) { - uVar9 = (int)uVar11 - 0x10; - uVar12 -= (uint)bVar1; - uVar13 >>= (uint)bVar1 & 0x1f; - while (uVar12 < uVar9) { - pbVar16 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar4 = uVar12 & 0x1f; - uVar12 += 8; - uVar13 |= (uint)*pbVar16 << uVar4; - } - pbVar10 = (byte *)(((uint)*(ushort *)(&DAT_7020156c + uVar9 * 2) & uVar13) * 8 + - *(int *)(pbVar10 + 4)); - uVar11 = (ulonglong)*pbVar10; - if (*pbVar10 < 0x11) break; - bVar1 = pbVar10[1]; - } - bVar1 = pbVar10[1]; - } - uVar12 -= (uint)bVar1; - uVar13 >>= (uint)bVar1 & 0x1f; - while ((ulonglong)(longlong)(int)uVar12 < uVar11) { - pbVar16 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar9 = uVar12 & 0x1f; - uVar12 += 8; - uVar13 |= (uint)*pbVar16 << uVar9; - } - uVar9 = (uint)uVar11; - uVar11 = SEXT48((int)(uVar12 - uVar9)); - iVar5 = (DAT_7020148c - (uint)*(ushort *)(pbVar10 + 4)) - - ((uint)*(ushort *)(&DAT_7020156c + uVar9 * 2) & uVar13); - DAT_70201564 = uVar13 >> (uVar9 & 0x1f); - while( true ) { - if (-(uVar14 & 3) == 0) goto LAB_70200990; - uVar12 = -(uVar14 & 3) + uVar14; - do { - uVar14 -= 1; - puVar15 = (undefined *)(iVar5 + DAT_70201484); - puVar17 = (undefined *)(DAT_70201484 + DAT_7020148c); - DAT_7020148c += 1; - iVar5 += 1; - *puVar17 = *puVar15; - } while (uVar12 != uVar14); - while (uVar14 != 0) { -LAB_70200990: - uVar14 -= 4; - *(undefined *)(DAT_70201484 + DAT_7020148c) = *(undefined *)(iVar5 + DAT_70201484); - *(undefined *)(DAT_70201484 + DAT_7020148c + 1) = *(undefined *)(iVar5 + 1 + DAT_70201484); - iVar6 = iVar5 + 3; - *(undefined *)(DAT_70201484 + DAT_7020148c + 2) = *(undefined *)(iVar5 + 2 + DAT_70201484); - iVar7 = DAT_7020148c + 3; - DAT_7020148c += 4; - iVar5 += 4; - *(undefined *)(DAT_70201484 + iVar7) = *(undefined *)(iVar6 + DAT_70201484); - } - if (true) break; - uVar14 = 0; - } - } - return 0; -} - - - -undefined8 loc_70200B88(void) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - byte *pbVar4; - - uVar3 = DAT_70201568 - (DAT_70201568 & 7); - DAT_70201564 >>= DAT_70201568 & 7; - while (uVar3 < 0x10) { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar2 = uVar3 & 0x1f; - uVar3 += 8; - DAT_70201564 |= (uint)*pbVar4 << uVar2; - } - uVar3 -= 0x10; - uVar2 = DAT_70201564 & 0xffff; - DAT_70201564 = 0; - while (uVar3 < 0x10) { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar1 = uVar3 & 0x1f; - uVar3 += 8; - DAT_70201564 |= (uint)*pbVar4 << uVar1; - } - DAT_70201564 >>= 0x10; - DAT_70201568 = uVar3 - 0x10; - while (uVar2 != 0) { - uVar2 -= 1; - uVar3 = DAT_70201564; - while (DAT_70201568 < 8) { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar1 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - uVar3 |= (uint)*pbVar4 << uVar1; - } - DAT_70201564 = uVar3 >> 8; - *(undefined *)(DAT_70201484 + DAT_7020148c) = (char)uVar3; - DAT_7020148c += 1; - DAT_70201568 -= 8; - } - return 0; -} - - - -undefined8 FUN_70200b9c(void) - -{ - uint *puVar1; - uint *puVar2; - undefined4 *puVar3; - uint uStack1172; - undefined4 uStack1168; - undefined4 auStack1164 [28]; - undefined4 auStack1052 [114]; - uint auStack596 [112]; - uint auStack148 [24]; - uint auStack52 [8]; - uint uStack20; - uint uStack16; - uint uStack12; - uint auStack8 [2]; - - puVar1 = &uStack1172; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 8; - puVar1[2] = 8; - puVar1[3] = 8; - *puVar1 = 8; - puVar1 = puVar2; - } while (puVar2 != auStack596); - if (puVar2 < auStack148) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 9; - puVar1 = puVar2; - } while (puVar2 < auStack148); - } - if (puVar2 < auStack52) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 7; - puVar1 = puVar2; - } while (puVar2 < auStack52); - } - if (puVar2 < &uStack20) { - do { - puVar1 = puVar2 + 1; - *puVar2 = 8; - puVar2 = puVar1; - } while (puVar1 < &uStack20); - } - uStack16 = 7; - loc_70200624((int *)&uStack1172,0x120,0x101,(int)&DAT_702014a8,(int)&DAT_702014e8,auStack8, - &uStack16); - uStack1168 = 5; - uStack1172 = 5; - puVar3 = auStack1164; - do { - puVar3 = puVar3 + 4; - puVar3[1] = 5; - puVar3[2] = 5; - puVar3[3] = 5; - *puVar3 = 5; - puVar3 = puVar3; - } while (puVar3 != auStack1052); - uStack20 = 5; - loc_70200624((int *)&uStack1172,0x1e,0,(int)&DAT_70201508,(int)&DAT_70201544,&uStack12,&uStack20); - loc_70200A18(auStack8[0],uStack12,(longlong)(int)uStack16,uStack20); - return 0; -} - - - -undefined8 loc_70201168(void) - -{ - byte bVar1; - ushort uVar2; - ushort uVar3; - bool bVar4; - uint *puVar5; - uint uVar6; - int iVar7; - byte *pbVar8; - ulonglong uVar9; - uint uVar10; - byte *pbVar11; - uint uVar12; - uint local_528 [316]; - uint local_38; - uint local_34; - uint local_30; - uint local_2c; - uint local_24; - uint local_20; - uint local_1c; - uint local_18 [6]; - - local_34 = DAT_70201568; - uVar6 = DAT_70201568; - uVar10 = DAT_70201564; - if (DAT_70201568 < 5) { - do { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - local_34 = uVar6 + 8; - uVar10 |= (uint)*pbVar8 << (uVar6 & 0x1f); - uVar6 = local_34; - } while (local_34 < 5); - } - local_34 -= 5; - local_2c = (uVar10 & 0x1f) + 0x101; - uVar10 >>= 5; - while (local_34 < 5) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar10 |= (uint)*pbVar8 << uVar6; - } - local_34 -= 5; - local_30 = (uVar10 & 0x1f) + 1; - uVar10 >>= 5; - while (local_34 < 4) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar10 |= (uint)*pbVar8 << uVar6; - } - local_38 = uVar10 >> 4; - local_34 -= 4; - uVar6 = 0; - if ((uVar10 & 0xf) != 0xfffffffc) { - pbVar8 = &DAT_70201494; - do { - uVar6 += 1; - while (local_34 < 3) { - pbVar11 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = local_34 & 0x1f; - local_34 += 8; - local_38 |= (uint)*pbVar11 << uVar12; - } - bVar1 = *pbVar8; - uVar12 = local_38 & 7; - pbVar8 = pbVar8 + 1; - local_38 >>= 3; - local_528[(uint)bVar1] = uVar12; - local_34 -= 3; - } while (uVar6 != (uVar10 & 0xf) + 4); - } - if (uVar6 < 0x13) { - pbVar8 = &DAT_70201494 + uVar6; - do { - bVar1 = *pbVar8; - pbVar8 = pbVar8 + 1; - local_528[(uint)bVar1] = 0; - } while (pbVar8 < (byte *)0x702014a7); - } - local_20 = 7; - loc_70200624((int *)local_528,0x13,0x13,0,0,local_18,&local_20); - uVar6 = local_2c + local_30; - uVar2 = *(ushort *)(&DAT_7020156c + local_20 * 2); - uVar9 = 0; - uVar10 = 0; - DAT_70201568 = local_34; - DAT_70201564 = local_38; - if (uVar6 != 0) { - do { - while (DAT_70201568 < local_20) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = DAT_70201568 & 0x1f; - DAT_70201568 = DAT_70201568 + 8; - DAT_70201564 = DAT_70201564 | (uint)*pbVar8 << uVar12; - } - local_1c = (DAT_70201564 & (uint)uVar2) * 8 + local_18[0]; - DAT_70201564 >>= (uint)*(byte *)(local_1c + 1) & 0x1f; - DAT_70201568 -= (uint)*(byte *)(local_1c + 1); - uVar3 = *(ushort *)(local_1c + 4); - if (uVar3 < 0x10) { - local_528[uVar10] = (uint)uVar3; - uVar10 += 1; - uVar9 = (ulonglong)uVar3; -LAB_7020115c: - bVar4 = uVar10 < uVar6; - } - else { - if (uVar3 != 0x10) { - uVar9 = 0; - if (uVar3 == 0x11) { - while (DAT_70201568 < 3) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - DAT_70201564 |= (uint)*pbVar8 << uVar12; - } - uVar12 = DAT_70201564 & 7; - DAT_70201564 >>= 3; - DAT_70201568 -= 3; - iVar7 = uVar12 + 2; - if (uVar12 != 0xfffffffd) { - puVar5 = local_528 + uVar10; - do { - *puVar5 = 0; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar10 < uVar6; - goto LAB_70201160; - } - } - else { - while (DAT_70201568 < 7) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - DAT_70201564 |= (uint)*pbVar8 << uVar12; - } - uVar12 = DAT_70201564 & 0x7f; - DAT_70201564 >>= 7; - DAT_70201568 -= 7; - iVar7 = uVar12 + 10; - if (uVar12 != 0xfffffff5) { - puVar5 = local_528 + uVar10; - do { - *puVar5 = 0; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - } - } - goto LAB_7020115c; - } - while (DAT_70201568 < 2) { - pbVar8 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar12 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - DAT_70201564 |= (uint)*pbVar8 << uVar12; - } - uVar12 = DAT_70201564 & 3; - DAT_70201564 >>= 2; - DAT_70201568 -= 2; - iVar7 = uVar12 + 2; - if (uVar12 == 0xfffffffd) goto LAB_7020115c; - puVar5 = local_528 + uVar10; - do { - *puVar5 = (uint)uVar9; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar10 < uVar6; - } -LAB_70201160: - } while (bVar4); - } - local_20 = DAT_70201590; - loc_70200624((int *)local_528,local_2c,0x101,(int)&DAT_702014a8,(int)&DAT_702014e8,local_18, - &local_20); - local_24 = DAT_70201594; - loc_70200624((int *)(local_528 + local_2c),local_30,0,(int)&DAT_70201508,(int)&DAT_70201544, - &local_1c,&local_24); - loc_70200A18(local_18[0],local_1c,(longlong)(int)local_20,local_24); - return 0; -} - - - -undefined8 loc_7020133C(uint *param_1) - -{ - uint uVar2; - undefined8 uVar1; - uint uVar3; - byte *pbVar4; - - if (DAT_70201568 == 0) { - do { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar3 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - DAT_70201564 |= (uint)*pbVar4 << uVar3; - } while (DAT_70201568 == 0); - } - DAT_70201568 -= 1; - uVar3 = DAT_70201564 >> 1; - *param_1 = DAT_70201564 & 1; - while (DAT_70201568 < 2) { - pbVar4 = (byte *)(DAT_70201480 + DAT_70201488); - DAT_70201488 += 1; - uVar2 = DAT_70201568 & 0x1f; - DAT_70201568 += 8; - uVar3 |= (uint)*pbVar4 << uVar2; - } - uVar2 = uVar3 & 3; - DAT_70201564 = uVar3 >> 2; - DAT_70201568 -= 2; - if (uVar2 == 2) { - uVar1 = loc_70201168(); - } - else { - if (uVar2 == 0) { - uVar1 = loc_70200B88(); - } - else { - if (uVar2 == 1) { - uVar1 = FUN_70200b9c(); - } - else { - uVar1 = 2; - } - } - } - return uVar1; -} - - - -longlong loc_70201404(void) - -{ - longlong lVar1; - uint uVar2; - uint uStack4; - - DAT_7020148c = 0; - DAT_70201568 = 0; - DAT_70201564 = 0; - uVar2 = 0; - do { - DAT_70201598 = 0; - lVar1 = loc_7020133C(&uStack4); - if (lVar1 != 0) { - return lVar1; - } - if (uVar2 < DAT_70201598) { - uVar2 = DAT_70201598; - } - } while (uStack4 == 0); - while (7 < DAT_70201568) { - DAT_70201568 -= 8; - DAT_70201488 += -1; - } - return 0; -} - - - -undefined4 decompress_entry(int param_1,undefined4 param_2,undefined4 param_3) - -{ - DAT_70201480 = param_1 + 2; - DAT_7020148c = 0; - DAT_70201488 = 0; - DAT_70201484 = param_2; - DAT_70201490 = param_3; - loc_70201404(); - return DAT_7020148c; -} - - - -void FUN_7f000000(void) - -{ - DAT_8002a900 = 0xffffffff; - DAT_8002a904 = 0; - DAT_8002a908 = 0xffffffff; - DAT_8002a90c = 0; - DAT_8002a928 = 0; - DAT_8002a934 = 0xffffffff; - DAT_8002a938 = 0xffffffff; - DAT_8002a93c = 0xffffffff; - DAT_8002a958 = 0; - DAT_8002a964 = 0; - DAT_8002a96c = 1; - DAT_8002a970 = 1; - DAT_8002a974 = 0; - DAT_8002a97c = 1; - DAT_8002a980 = 0; - DAT_8002a9e0 = 0; - DAT_8002a9e4 = 0x3f800000; - DAT_8002a9e8 = 0x3f800000; - DAT_8002a9ec = 0x3f800000; - DAT_8002b628 = 0; - DAT_8002b62c = 0; - DAT_8002b630 = 0; - DAT_8002b634 = 0; - DAT_8002b638 = 0; - DAT_8002b63c = 0; - return; -} - - - -void FUN_7f0000e0(void) - -{ - FUN_7f06ca50(FUN_7f01f6ec); - FUN_7f000518(); - return; -} - - - -void FUN_7f000110(void) - -{ - DAT_8002cd40 = 0; - if (-1 < DAT_8002cd4c) { - DAT_8002cd40 = 1; - while (-1 < (int)(&DAT_8002cd4c)[DAT_8002cd40]) { - DAT_8002cd40 += 1; - } - } - DAT_8002cd44 = 0; - if (-1 < DAT_8002cdf8) { - DAT_8002cd44 = 1; - while (-1 < (int)(&DAT_8002cdf8)[DAT_8002cd44]) { - DAT_8002cd44 += 1; - } - } - DAT_8002cd48 = 0; - if (-1 < DAT_8002ce60) { - DAT_8002cd48 = 1; - while (-1 < (int)(&DAT_8002ce60)[DAT_8002cd48]) { - DAT_8002cd48 += 1; - } - } - return; -} - - - -uint FUN_7f0001f0(int param_1,int param_2,int param_3) - -{ - uint uVar1; - uint uVar2; - short asStack8 [4]; - - uVar2 = 0; - if (param_2 < param_3) { - do { - uVar1 = loc_7F06D3DC(0,0,(int)&DAT_8003d430,param_1,param_2,asStack8); - param_2 += 1; - uVar2 = uVar2 + uVar1 & 0xffff; - } while (param_2 < param_3); - } - return uVar2; -} - - - -int FUN_7f000290(int param_1,int param_2,int param_3) - -{ - int iVar1; - short asStack12 [2]; - short sStack8; - - iVar1 = 0; - if (param_2 < param_3) { - do { - loc_7F06D3DC(0,0,(int)&DAT_8003d430,param_1,param_2,asStack12); - param_2 += 1; - iVar1 += (int)sStack8; - } while (param_2 < param_3); - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F000440(int *param_1) - -{ - float fVar1; - float fVar2; - int iVar3; - uint uVar4; - int iVar5; - float fVar6; - float fVar7; - - fVar2 = DAT_8004eda4; - fVar1 = DAT_8004eda0; - iVar3 = *param_1; - iVar5 = 0; - while (iVar3 != 0) { - *param_1 = iVar3 + _DAT_80069578; - iVar3 = locret_7F05C430((float)param_1[1]); - uVar4 = FUN_7f0001f0(*param_1,0,iVar3); - fVar6 = (float)param_1[1]; - uVar4 &= 0xffff; - if (0.00000000 < fVar6) { - if (uVar4 < 0x8000) { - fVar7 = (float)uVar4; - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(param_1 + 2) = (fVar7 * fVar2) / fVar6; - } - else { - fVar7 = (float)uVar4; - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(param_1 + 2) = (fVar7 * fVar2 - fVar1) / fVar6; - } - } - else { - param_1[2] = 0; - } - iVar3 = param_1[0x12]; - param_1 = param_1 + 0x12; - iVar5 += 1; - } - return iVar5; -} - - - -void loc_7F0004B0(int **param_1) - -{ - int iVar1; - int iVar2; - - iVar2 = 0; - do { - if ((int)(*param_1)[1] < 0) { - iVar1 = loc_7F000440((int *)**param_1); - (*param_1)[1] = iVar1; - } - iVar2 += 4; - param_1 = param_1 + 1; - } while (iVar2 != 0x80); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0004d0(int *param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - if (*param_1 != 0) { - iVar2 = *param_1; - do { - iVar1 += 1; - iVar3 = iVar2 + _DAT_80069578; - iVar2 = param_1[7]; - *param_1 = iVar3; - param_1 = param_1 + 7; - } while (iVar2 != 0); - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f000518(void) - -{ - float fVar1; - int iVar2; - int *piVar3; - undefined4 *puVar4; - float fVar5; - - if (DAT_8002c954 != -1) { - piVar3 = DAT_8002c970; - puVar4 = &DAT_8002c954; - while( true ) { - if (piVar3 == NULL) { - piVar3 = (int *)puVar4[9]; - } - else { - iVar2 = FUN_7f0004d0(piVar3); - puVar4[8] = iVar2; - piVar3 = (int *)puVar4[9]; - } - if (piVar3 == NULL) { - iVar2 = puVar4[0xb]; - } - else { - iVar2 = FUN_7f0004d0(piVar3); - puVar4[10] = iVar2; - iVar2 = puVar4[0xb]; - } - if (iVar2 == -1) break; - piVar3 = (int *)puVar4[0x12]; - puVar4 = puVar4 + 0xb; - } - } - FUN_7f0004d0(&DAT_8002defc); - loc_7F0004B0((int **)&PTR_PTR_DAT_8002ed68); - loc_7F0004B0((int **)&PTR_PTR_DAT_8002f448); - loc_7F0004B0((int **)&PTR_PTR_DAT_8002f720); - loc_7F0004B0((int **)&PTR_PTR_DAT_8002f9b0); - loc_7F0004B0((int **)&PTR_PTR_DAT_8002fd18); - loc_7F0004B0((int **)&PTR_PTR_DAT_80030038); - loc_7F000440((int *)&DAT_800300b8); - loc_7F000440((int *)&DAT_800306a0); - iVar2 = FUN_7f000290(_DAT_80069578 + 0x4018,0,(uint)*(ushort *)(_DAT_80069578 + 0x401c) - 1); - fVar1 = DAT_8004eda8; - DAT_800309c4 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x401c); - if (false) { - DAT_800309c4 = DAT_800309c4 + 4294967296.00000000; - } - DAT_800309c4 = ((float)iVar2 * DAT_8004eda8) / DAT_800309c4; - iVar2 = FUN_7f000290(_DAT_80069578 + 0x40d4,0,(uint)*(ushort *)(_DAT_80069578 + 0x40d8) - 1); - DAT_800309c8 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x40d8); - if (false) { - DAT_800309c8 = DAT_800309c8 + 4294967296.00000000; - } - DAT_800309c8 = ((float)iVar2 * fVar1) / DAT_800309c8; - iVar2 = FUN_7f000290(_DAT_80069578 + 0x4070,0,(uint)*(ushort *)(_DAT_80069578 + 0x4074) - 1); - DAT_800309cc = (float)(uint)*(ushort *)(_DAT_80069578 + 0x4074); - if (false) { - DAT_800309cc = DAT_800309cc + 4294967296.00000000; - } - DAT_800309cc = ((float)iVar2 * fVar1) / DAT_800309cc; - iVar2 = FUN_7f000290(_DAT_80069578 + 0x8204,0,(uint)*(ushort *)(_DAT_80069578 + 0x8208) - 1); - DAT_800309d0 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x8208); - if (false) { - DAT_800309d0 = DAT_800309d0 + 4294967296.00000000; - } - DAT_800309d0 = ((float)iVar2 * fVar1) / DAT_800309d0; - iVar2 = FUN_7f000290(_DAT_80069578 + 0x777c,0,(uint)*(ushort *)(_DAT_80069578 + 0x7780) - 1); - DAT_800309d4 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x7780); - if (false) { - DAT_800309d4 = DAT_800309d4 + 4294967296.00000000; - } - DAT_800309d4 = ((float)iVar2 * fVar1) / DAT_800309d4; - iVar2 = FUN_7f000290(_DAT_80069578 + 0x77d4,0,(uint)*(ushort *)(_DAT_80069578 + 0x77d8) - 1); - DAT_800309d8 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x77d8); - if (false) { - DAT_800309d8 = DAT_800309d8 + 4294967296.00000000; - } - DAT_800309d8 = ((float)iVar2 * fVar1) / DAT_800309d8; - iVar2 = FUN_7f000290(_DAT_80069578 + 0x84c4,0,(uint)*(ushort *)(_DAT_80069578 + 0x84c8) - 1); - DAT_800309dc = (float)(uint)*(ushort *)(_DAT_80069578 + 0x84c8); - if (false) { - DAT_800309dc = DAT_800309dc + 4294967296.00000000; - } - DAT_800309dc = ((float)iVar2 * fVar1) / DAT_800309dc; - iVar2 = FUN_7f000290(_DAT_80069578 + 0x8520,0,(uint)*(ushort *)(_DAT_80069578 + 0x8524) - 1); - DAT_800309e0 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x8524); - if (false) { - DAT_800309e0 = DAT_800309e0 + 4294967296.00000000; - } - DAT_800309e0 = ((float)iVar2 * fVar1) / DAT_800309e0; - iVar2 = FUN_7f000290(_DAT_80069578 + 0x77d4,0,(uint)*(ushort *)(_DAT_80069578 + 0x77d8) - 1); - fVar5 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x77d8); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - DAT_800309e4 = ((float)iVar2 * fVar1) / fVar5; - return; -} - - - -void sub_7F000980(void) - -{ - FUN_7f0009a0(); - return; -} - - - -void FUN_7f0009a0(void) - -{ - uint uVar1; - - uVar1 = 0x80075e08; - do { - uVar1 = uVar1 + 0xa0; - *(undefined4 *)(uVar1 + 0x9c) = 0; - uVar1 = uVar1; - } while (uVar1 < 0x80076a88); - return; -} - - - -void FUN_7f0009d0(void) - -{ - return; -} - - - -void FUN_7f0009e0(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - DAT_80036454 = param_1; - DAT_80036458 = param_2; - DAT_8003645c = param_3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f000a00(int **param_1) - -{ - int **ppiVar1; - int *piVar2; - - piVar2 = *param_1; - if (piVar2 != NULL) { - piVar2 = *param_1; - ppiVar1 = param_1; - do { - if (piVar2 == (int *)0x1) { - piVar2 = ppiVar1[1]; - } - else { - piVar2 = (int *)((int)piVar2 + _DAT_80069578); - *ppiVar1 = piVar2; - piVar2[2] = piVar2[2] + _DAT_80069578; - (*ppiVar1)[4] = (*ppiVar1)[4] + _DAT_80069578; - piVar2 = ppiVar1[1]; - } - ppiVar1 = ppiVar1 + 1; - } while (piVar2 != NULL); - piVar2 = *param_1; - } - if (piVar2 != NULL) { - piVar2 = *param_1; - do { - if (piVar2 == (int *)0x1) { - piVar2 = param_1[1]; - } - else { - *piVar2 = *piVar2 + 0x1257e0; - piVar2 = param_1[1]; - } - param_1 = param_1 + 1; - } while (piVar2 != NULL); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f000aac(void) - -{ - osCreateMesgQueue((undefined4 *)0x80069480,0x80069558,8); - FUN_7f0009e0(&DAT_80029da0,0x80069480,0x80069498); - _DAT_80069578 = FUN_70009730(0xe7e0,6); - romCopy((longlong)(int)_DAT_80069578,0x28f6a0,0xe7e0); - FUN_7f000a00((int **)&DAT_80029dac); - FUN_7f000a00((int **)&DAT_8002a08c); - return; -} - - - -void FUN_7f000b60(void) - -{ - DAT_8003c680 = &DAT_8003c5b0; - return; -} - - - -void FUN_7f000b80(void) - -{ - guScale((uint *)0x8007a170,DAT_8004edb0,DAT_8004edb0,DAT_8004edb0); - return; -} - - - -void FUN_7f000bc0(void) - -{ - return; -} - - - -void FUN_7f000bd0(void) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - uint uVar4; - uint uVar5; - uint uVar6; - - puVar1 = &DAT_80049330; - uVar3 = 0; - puVar2 = &DAT_80049330; - if ((DAT_80049330 & 0xffffff) != 0xffff) { - uVar5 = DAT_80049330 & 0xffffff; - uVar4 = DAT_80049330; - do { - uVar6 = (uVar3 & 0xffffff ^ uVar4) & 0xffffff ^ uVar4; - uVar4 = puVar1[2]; - uVar3 += uVar5; - *puVar1 = uVar6; - uVar5 = uVar4 & 0xffffff; - puVar1 = puVar1 + 2; - puVar2 = puVar1; - } while (uVar5 != 0xffff); - } - *puVar2 = (uVar3 & 0xffffff ^ *puVar2) & 0xffffff ^ *puVar2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f000c70(void) - -{ - DAT_8002a810 = 0; - _DAT_80069598 = FUN_70009730(0x80,4); - _DAT_8006959c = FUN_70009730(0x40,4); - _DAT_800695a0 = FUN_70009730(0x80,4); - _DAT_800695a4 = FUN_70009730(0x80,4); - _DAT_800695a8 = FUN_70009730(0x80,4); - _DAT_800695ac = FUN_70009730(0x80,4); - _DAT_800695b0 = FUN_70009730(0x80,4); - return; -} - - - -void FUN_7f000d20(void) - -{ - uint uVar1; - - DAT_8002a900 = 0xffffffff; - DAT_8002a908 = 0xffffffff; - DAT_8002a980 = 0; - DAT_8002a984 = 1; - DAT_8002a988 = 0; - DAT_8002a958 = 0; - DAT_8002a95c = 0xffffffff; - DAT_8002a960 = 1; - DAT_8002a91c = 0; - DAT_8002a920 = 0; - DAT_8002a924 = 0; - DAT_8002a97c = 1; - if (DAT_8002a974 != 0) { - DAT_8002a904 = 5; - } - if (DAT_8002a904 < 0) { - DAT_8002a904 = 5; - } - DAT_8002a990 = FUN_70009730(0x78000,4); - uVar1 = FUN_70009730(0x4b040,4); - DAT_8002a994 = uVar1 + 0x3f & 0xffffffc0; - DAT_8002a99c = 0; - DAT_8002a9a0 = 0; - DAT_8002a9a4 = 0; - DAT_8002a9a8 = 0; - FUN_7f000c70(); - return; -} - - - -void FUN_7f000e40(void) - -{ - DAT_8002c940 = 0x3f800000; - DAT_8002c944 = 0; - DAT_8002c948 = 0; - DAT_8002c94c = 0; - DAT_8002c950 = 0; - DAT_8002cc98 = 0; - DAT_8002cc9c = 0; - DAT_8002cca0 = 5000; - DAT_8002cca4 = 0; - DAT_8002cca8 = 0; - FUN_7f001020(); - return; -} - - - -void loc_7F000F40(int param_1) - -{ - int iVar1; - int iVar2; - - DAT_8002cca8 = param_1 + 10; - DAT_8002cca4 = FUN_70009730((DAT_8002cca8 * 0x1dc + 0xfU | 0xf) ^ 0xf,4); - iVar2 = 0; - if (0 < DAT_8002cca8) { - iVar1 = 0; - do { - iVar2 += 1; - *(undefined4 *)(DAT_8002cca4 + iVar1 + 0x1c) = 0; - iVar1 += 0x1dc; - } while (iVar2 < DAT_8002cca8); - } - return; -} - - - -void FUN_7f000f50(void) - -{ - undefined **ppuVar1; - undefined **ppuVar2; - uint uVar3; - - if (PTR_DAT_8003de40 != NULL) { - ppuVar2 = &PTR_DAT_8003de40; - *(undefined4 *)PTR_DAT_8003de40 = 0; - while( true ) { - ppuVar1 = ppuVar2 + 5; - ppuVar2 = ppuVar2 + 5; - if ((undefined4 *)*ppuVar1 == NULL) break; - *(undefined4 *)*ppuVar1 = 0; - } - } - DAT_8002ce78 = FUN_7000a460(); - DAT_8002ce78 %= DAT_8002cd44; - if (DAT_8002cd44 == 0) { - trap(0x1c00); - } - DAT_8002ce7c = FUN_7000a460(); - DAT_8002ce7c %= DAT_8002cd48; - if (DAT_8002cd48 == 0) { - trap(0x1c00); - } - uVar3 = FUN_7000a460(); - if (DAT_8002cd40 == 0) { - trap(0x1c00); - } - DAT_8002ce74 = uVar3 % DAT_8002cd40; - return; -} - - - -void FUN_7f001020(void) - -{ - DAT_8002ce80 = 0x3f800000; - DAT_8002ce84 = 0x3f800000; - DAT_8002ce88 = 0x3f800000; - DAT_8002ce8c = 0x3f800000; - DAT_8002ce90 = 0; - DAT_800309b8 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00105c(void) - -{ - undefined4 *puVar1; - int *piVar2; - int *piVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 auStack484 [117]; - undefined4 auStack16 [2]; - int local_8; - - DAT_800309bc = 0; - DAT_800309c0 = 0; - if (_DAT_80075d54 != NULL) { - if (*_DAT_80075d54 != 0) { - iVar4 = _DAT_80075d54[1]; - piVar2 = _DAT_80075d54; - while( true ) { - if (iVar4 < 0x1000) { - iVar4 = piVar2[2]; - } - else { - DAT_800309c0 += 1; - iVar4 = piVar2[2]; - } - if (iVar4 == 0) break; - iVar4 = piVar2[3]; - piVar2 = piVar2 + 2; - } - } - if (0 < DAT_800309c0) { - local_8 = 0; - DAT_800309bc = FUN_70009730((DAT_800309c0 * 0x1dc + 0xfU | 0xf) ^ 0xf,4); - iVar4 = 0; - if (*_DAT_80075d54 != 0) { - iVar5 = _DAT_80075d54[1]; - piVar2 = _DAT_80075d54; - while( true ) { - puVar7 = &DAT_8002a0a0; - puVar1 = auStack484; - piVar3 = piVar2; - if (0xfff < iVar5) { - do { - puVar6 = puVar1; - puVar8 = puVar7; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar7 = puVar8 + 3; - puVar1 = puVar6 + 3; - } while (puVar8 + 3 != (undefined4 *)0x8002a274); - iVar5 = local_8 * 0x1dc; - puVar6[3] = uRam8002a274; - puVar6[4] = puVar8[4]; - puVar7 = auStack484; - puVar1 = (undefined4 *)(DAT_800309bc + iVar5); - do { - puVar8 = puVar1; - puVar6 = puVar7; - puVar7 = puVar6 + 3; - *puVar8 = *puVar6; - puVar8[1] = puVar6[1]; - puVar8[2] = puVar6[2]; - puVar1 = puVar8 + 3; - } while (puVar7 != auStack16); - local_8 += 1; - puVar8[3] = *puVar7; - puVar8[4] = puVar6[4]; - *(undefined2 *)(DAT_800309bc + iVar5) = 0xfe; - *(undefined4 *)(DAT_800309bc + iVar5 + 0x104) = - *(undefined4 *)((int)_DAT_80075d54 + iVar4); - *(undefined2 *)(DAT_800309bc + iVar5 + 0x108) = 0; - *(undefined2 *)(DAT_800309bc + iVar5 + 0x10a) = 0xffff; - *(undefined *)(DAT_800309bc + iVar5 + 7) = 0x1a; - piVar3 = (int *)((int)_DAT_80075d54 + iVar4); - } - iVar4 += 8; - piVar2 = piVar3 + 2; - if (piVar3[2] == 0) break; - iVar5 = piVar3[3]; - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f001258(void) - -{ - char cVar1; - int iVar2; - char *pcVar3; - int iVar4; - - pcVar3 = *_DAT_80075d54; - iVar4 = 0; - if (pcVar3 == NULL) { - return; - } - do { - cVar1 = *pcVar3; - while (cVar1 == '\x04') { - pcVar3 = *(char **)((int)_DAT_80075d54 + iVar4 + 8); - iVar4 += 8; - if (pcVar3 == NULL) { - return; - } - cVar1 = *pcVar3; - } - if (cVar1 == '\x1b') { - FUN_7f057138((uint)*(ushort *)(pcVar3 + 1)); - } - else { - if (cVar1 == -0x43) { - FUN_7f023580((uint)(byte)pcVar3[1]); - if (-1 < pcVar3[2]) { - FUN_7f023580((int)pcVar3[2]); - } - } - else { - if (cVar1 == -0x42) { - FUN_7f023580((uint)(byte)pcVar3[1]); - if (-1 < pcVar3[2]) { - FUN_7f023580((int)pcVar3[2]); - } - } - else { - if (cVar1 == -0x41) { - FUN_7f057138((uint)*(ushort *)(pcVar3 + 1)); - loc_7F0057B8((uint)(byte)pcVar3[3]); - } - else { - if (cVar1 == -0x40) { - FUN_7f057138((uint)*(ushort *)(pcVar3 + 1)); - } - } - } - } - } - iVar2 = FUN_7f034cfc((int)pcVar3,0); - pcVar3 = pcVar3 + iVar2; - } while( true ); -} - - - -void FUN_7f00140c(void) - -{ - int *piVar1; - int iVar2; - int *piVar3; - int iStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - iStack32 = DAT_8002a27c; - uStack28 = DAT_8002a280; - piVar3 = &iStack32; - uStack20 = DAT_8002a288; - uStack24 = DAT_8002a284; - uStack16 = DAT_8002a28c; - uStack12 = DAT_8002a290; - uStack4 = DAT_8002a298; - uStack8 = DAT_8002a294; - iVar2 = DAT_8002a27c; - if (-1 < DAT_8002a27c) { - do { - FUN_7f057138(iVar2); - piVar1 = piVar3 + 1; - piVar3 = piVar3 + 1; - iVar2 = *piVar1; - } while (-1 < *piVar1); - } - return; -} - - - -void FUN_7f0014b0(void) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)&DAT_80069bb0; - do { - puVar1 = puVar1 + 0x18; - puVar1[6] = 0; - puVar1[0xc] = 0; - puVar1[0x12] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != (undefined4 *)&DAT_80069c70); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0014e0(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - - DAT_80030aec = 0x3f800000; - DAT_80030ae4 = 0; - DAT_80030ae0 = 0; - _DAT_80071e34 = 0; - _DAT_80071660 = 0; - _DAT_80071e30 = &DAT_80071660; - DAT_80030ae8 = 0x80069c78; - _DAT_80069c9c = 0x80069cac; - _DAT_80069cd0 = 0x80069ce0; - iVar1 = -0x7ff962ec; - iVar5 = -0x7ff96250; - iVar4 = -0x7ff96284; - iVar3 = -0x7ff962b8; - iVar2 = -0x7ff9621c; - _DAT_80069d04 = 0x80069d14; - do { - *(int *)(iVar1 + 0xc0) = iVar2; - iVar2 += 0xd0; - *(int *)(iVar1 + 0x58) = iVar4; - *(int *)(iVar1 + 0x8c) = iVar5; - *(int *)(iVar1 + 0x24) = iVar3; - iVar3 += 0xd0; - iVar5 += 0xd0; - iVar4 += 0xd0; - iVar1 += 0xd0; - } while (iVar2 != -0x7ff8e90c); - FUN_7f0015d0(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0015d0(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - _DAT_80069c70 = (undefined2 *)FUN_70009730(0x400,4); - _DAT_80071658 = FUN_70009730((DAT_80044324 * 4 + 0xfU | 0xf) ^ 0xf,4); - _DAT_8007165c = FUN_70009730(0x2000,4); - *_DAT_80069c70 = 0xffff; - iVar3 = 0; - if (0 < DAT_80044324) { - iVar1 = 0; - do { - iVar3 += 1; - *(undefined2 *)(_DAT_80071658 + iVar1) = 0xffff; - iVar1 += 2; - } while (iVar3 < DAT_80044324); - } - iVar3 = 0; - iVar1 = 0; - do { - *(undefined2 *)(_DAT_8007165c + iVar1) = 0xfffe; - iVar2 = 8; - *(undefined2 *)(_DAT_8007165c + iVar3 * 0x20 + 2) = 0xffff; - *(undefined2 *)(_DAT_8007165c + iVar3 * 0x20 + 4) = 0xffff; - *(undefined2 *)(_DAT_8007165c + iVar3 * 0x20 + 6) = 0xffff; - do { - *(undefined2 *)(_DAT_8007165c + iVar3 * 0x20 + iVar2) = 0xffff; - *(undefined2 *)(_DAT_8007165c + iVar3 * 0x20 + iVar2 + 2) = 0xffff; - *(undefined2 *)(_DAT_8007165c + iVar3 * 0x20 + iVar2 + 4) = 0xffff; - iVar4 = _DAT_8007165c + iVar3 * 0x20 + iVar2; - iVar2 += 8; - *(undefined2 *)(iVar4 + 6) = 0xffff; - } while (iVar2 != 0x20); - iVar3 += 1; - iVar1 += 0x20; - } while (iVar3 != 0x100); - return; -} - - - -void FUN_7f001750(void) - -{ - uint uVar1; - undefined *puVar2; - undefined4 *puVar3; - - FUN_7f001958(); - FUN_7f001b08(); - DAT_80030b00 = 0; - DAT_80030b04 = 0; - DAT_80030b08 = 0; - DAT_80030b0c = 0; - DAT_80030b10 = 0; - DAT_80030b14 = 0; - DAT_80030b18 = 0; - DAT_80030b1c = 0; - DAT_80030b20 = 0; - DAT_80030b24 = 0; - DAT_80030b28 = 1; - DAT_80030b2c = 0; - DAT_80030b30 = 0; - DAT_80030b34 = 0; - uVar1 = 0x80071ec0; - do { - uVar1 = uVar1 + 0x88; - *(undefined4 *)(uVar1 + 0x10) = 0; - uVar1 = uVar1; - } while (uVar1 < 0x80072eb0); - DAT_80030b38 = 0; - uVar1 = 0x80072eb0; - do { - uVar1 = uVar1 + 0x80; - *(undefined4 *)(uVar1 + 0x10) = 0; - uVar1 = uVar1; - } while (uVar1 < 0x800733b0); - DAT_80030b3c = 0; - puVar2 = (undefined *)0x800733b0; - do { - puVar2 = puVar2 + 0x84; - *(undefined4 *)(puVar2 + 0x10) = 0; - puVar2 = puVar2; - } while (puVar2 < &DAT_80073e00); - puVar3 = (undefined4 *)&DAT_80073e00; - do { - puVar3 = puVar3 + 0x3b; - *puVar3 = 0x80000000; - puVar3[0x26] = 0; - puVar3[0x27] = 0; - puVar3 = puVar3; - } while (puVar3 < &DAT_80075070); - puVar3 = (undefined4 *)&DAT_80075070; - do { - puVar3 = puVar3 + 0x48; - puVar3[0x12] = 1; - puVar3[0x24] = 1; - puVar3[0x36] = 1; - *puVar3 = 1; - puVar3 = puVar3; - } while (puVar3 != (undefined4 *)&DAT_80075bb0); - DAT_80030b40 = 0; - DAT_80030b44 = 0; - DAT_80030b48 = 0; - DAT_80030b4c = 0; - DAT_80030b50 = 0xffffffff; - DAT_80030b54 = 0x3f800000; - DAT_80030b58 = 0x3f800000; - DAT_80030b5c = 0x3f800000; - DAT_80030b60 = 0x3f800000; - DAT_80030b64 = 0x3f800000; - DAT_80030b68 = 0x3f800000; - return; -} - - - -void FUN_7f001910(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = DAT_80030b40; - DAT_80030b40 = param_1; - return; -} - - - -void FUN_7f001928(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = DAT_80030b44; - DAT_80030b44 = param_1; - return; -} - - - -void FUN_7f001940(int param_1) - -{ - *(undefined4 *)(param_1 + 0x10) = DAT_80030b48; - DAT_80030b48 = param_1; - return; -} - - - -void FUN_7f001958(void) - -{ - undefined **ppuVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined **ppuVar6; - undefined4 auStack348 [27]; - undefined4 auStack240 [2]; - undefined4 auStack232 [27]; - undefined4 auStack124 [2]; - undefined4 auStack116 [27]; - undefined4 auStack8 [2]; - - ppuVar1 = &PTR_LAB_8002a2a0; - puVar5 = auStack116; - do { - puVar2 = puVar5; - ppuVar6 = ppuVar1; - *(undefined **)puVar2 = *ppuVar6; - *(undefined **)(puVar2 + 1) = ppuVar6[1]; - *(undefined **)(puVar2 + 2) = ppuVar6[2]; - ppuVar1 = ppuVar6 + 3; - puVar5 = puVar2 + 3; - } while (ppuVar6 + 3 != (undefined **)0x8002a30c); - puVar2[3] = uRam8002a30c; - *(undefined **)(puVar2 + 4) = ppuVar6[4]; - puVar5 = auStack116; - puVar2 = (undefined4 *)&DAT_80075bd8; - do { - puVar3 = puVar2; - puVar4 = puVar5; - puVar5 = puVar4 + 3; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar2 = puVar3 + 3; - } while (puVar5 != auStack8); - puVar3[3] = *puVar5; - puVar3[4] = puVar4[4]; - ppuVar1 = &PTR_DAT_8002a314; - puVar5 = auStack232; - do { - puVar2 = puVar5; - ppuVar6 = ppuVar1; - *(undefined **)puVar2 = *ppuVar6; - *(undefined **)(puVar2 + 1) = ppuVar6[1]; - *(undefined **)(puVar2 + 2) = ppuVar6[2]; - ppuVar1 = ppuVar6 + 3; - puVar5 = puVar2 + 3; - } while (ppuVar6 + 3 != (undefined **)0x8002a380); - puVar2[3] = uRam8002a380; - *(undefined **)(puVar2 + 4) = ppuVar6[4]; - puVar5 = auStack232; - puVar2 = (undefined4 *)&DAT_80075c50; - do { - puVar4 = puVar2; - puVar3 = puVar5; - puVar5 = puVar3 + 3; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar2 = puVar4 + 3; - } while (puVar5 != auStack124); - puVar4[3] = *puVar5; - puVar4[4] = puVar3[4]; - ppuVar1 = &PTR_LAB_8002a388; - puVar5 = auStack348; - do { - puVar2 = puVar5; - ppuVar6 = ppuVar1; - *(undefined **)puVar2 = *ppuVar6; - *(undefined **)(puVar2 + 1) = ppuVar6[1]; - *(undefined **)(puVar2 + 2) = ppuVar6[2]; - ppuVar1 = ppuVar6 + 3; - puVar5 = puVar2 + 3; - } while (ppuVar6 + 3 != (undefined **)0x8002a3f4); - puVar2[3] = uRam8002a3f4; - *(undefined **)(puVar2 + 4) = ppuVar6[4]; - puVar5 = auStack348; - puVar2 = (undefined4 *)&DAT_80075cc8; - do { - puVar4 = puVar2; - puVar3 = puVar5; - puVar5 = puVar3 + 3; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar2 = puVar4 + 3; - } while (puVar5 != auStack240); - puVar4[3] = *puVar5; - puVar4[4] = puVar3[4]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f001b08(void) - -{ - undefined4 *puVar1; - - _DAT_80071e40 = 0; - _DAT_80071e44 = 0; - puVar1 = (undefined4 *)&DAT_80071e48; - do { - puVar1 = puVar1 + 4; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != (undefined4 *)&DAT_80071eb8); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f001b50(char param_1) - -{ - char cVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - - iVar4 = 0; - if (_DAT_80075d4c != 0) { - cVar1 = *(char *)(_DAT_80075d4c + 3); - iVar3 = _DAT_80075d4c; - while (cVar1 != '0') { - if (param_1 == cVar1) { - iVar4 += 1; - } - uVar2 = FUN_7f056df4(iVar3); - iVar3 = (int)uVar2 * 4 + iVar3; - cVar1 = *(char *)(iVar3 + 3); - } - } - return iVar4; -} - - - -void sub_7F001BD4(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - - fVar2 = param_1[0xb]; - fVar5 = param_1[0xc]; - fVar10 = param_1[0xd]; - fVar9 = param_1[0xe]; - fVar3 = param_1[0xf]; - fVar6 = param_1[0x10]; - fVar7 = param_1[4] * param_1[8] - param_1[7] * param_1[5]; - fVar4 = param_1[5] * param_1[6] - param_1[8] * param_1[3]; - fVar8 = param_1[3] * param_1[7] - param_1[6] * param_1[4]; - fVar1 = sqrtf(fVar8 * fVar8 + fVar7 * fVar7 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - fVar3 = fVar3 + fVar6; - fVar2 = fVar2 + fVar5; - fVar10 = fVar10 + fVar9; - *param_2 = (param_1[6] * fVar3 + fVar2 * fVar7 * fVar1 + fVar10 * param_1[3]) * 0.50000000 + - *param_1; - param_2[1] = (param_1[7] * fVar3 + fVar2 * fVar4 * fVar1 + fVar10 * param_1[4]) * 0.50000000 + - param_1[1]; - param_2[2] = (param_1[8] * fVar3 + fVar2 * fVar8 * fVar1 + fVar10 * param_1[5]) * 0.50000000 + - param_1[2]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F002728(undefined8 param_1,ushort *param_2) - -{ - undefined8 uVar1; - bool bVar2; - int iVar4; - undefined *puVar5; - float *pfVar6; - ulonglong uVar3; - uint uVar7; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - float *pfVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fStack160; - undefined *puStack152; - float fStack120; - float fStack116; - float fStack112; - float afStack108 [16]; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - undefined4 uStack28; - undefined4 auStack24 [4]; - int iStack8; - - pfVar8 = NULL; - iStack8 = (int)(short)param_2[2]; - FUN_7f057138(iStack8); - fVar13 = (float)(uint)*param_2; - if (false) { - fVar13 = fVar13 + 4294967296.00000000; - } - fVar13 = fVar13 * 0.00390625; - *(float *)(param_2 + 0x3a) = (float)*(int *)(param_2 + 0x3a) / 65536.00000000; - uVar3 = get_num_players(); - if ((longlong)uVar3 < 2) { -LAB_7f001e90: - uVar7 = *(uint *)(param_2 + 4); - } - else { - iVar4 = FUN_7f014808(); - if ((iVar4 == 2) && (param_2[2] == 0x14d)) { - bVar2 = false; - } - else { - iVar4 = FUN_7f014808(); - bVar2 = true; - if ((iVar4 == 3) && (param_2[2] == 0xd0)) { - bVar2 = false; - } - } - if (bVar2) { - *(byte *)(param_2 + 1) = *(byte *)(param_2 + 1) | 4; - goto LAB_7f001e90; - } - uVar7 = *(uint *)(param_2 + 4); - } - if ((uVar7 & 0x8000) != 0) { - if (*(char *)((int)param_2 + 3) == '\b') { - FUN_7f0522d4((int)param_2,(ushort **)(&PTR_DAT_8003a258)[iStack8 * 3]); - iVar4 = *(int *)(param_2 + 10); - } - else { - FUN_7f0409f8((int)param_2,(ushort **)(&PTR_DAT_8003a258)[iStack8 * 3]); - iVar4 = *(int *)(param_2 + 10); - } - set_obj_instance_controller_scale(iVar4,*(float *)(iVar4 + 0x14) * fVar13); - return; - } - if ((uVar7 & 0x4000) != 0) { - iVar4 = FUN_7f0232b0(param_2[3]); - if (iVar4 == 0) { - return; - } - if (*(int *)(iVar4 + 0x18) == 0) { - return; - } - if (*(int *)(iVar4 + 0x1c) == 0) { - return; - } - if (*(char *)((int)param_2 + 3) == '\b') { - puVar5 = FUN_7f0522d4((int)param_2,(ushort **)(&PTR_DAT_8003a258)[iStack8 * 3]); - } - else { - puVar5 = FUN_7f0409f8((int)param_2,(ushort **)(&PTR_DAT_8003a258)[iStack8 * 3]); - } - set_obj_instance_controller_scale - (*(int *)(param_2 + 10),*(float *)(*(int *)(param_2 + 10) + 0x14) * fVar13); - loc_7F03A5C0((int)puVar5,*(int *)(iVar4 + 0x18)); - return; - } - iVar4 = (int)(short)param_2[3]; - if (CONCAT44((undefined4)((short)param_2[3] >> 0xf),iVar4) < 10000) { - pfVar6 = (float *)(iVar4 * 0x2c + _DAT_80075d58); - FUN_7f059e28(afStack108,0.00000000,0.00000000,0.00000000,-pfVar6[6],-pfVar6[7],-pfVar6[8], - pfVar6[3],pfVar6[4],pfVar6[5]); - uVar3 = SEXT48((int)pfVar6); - fStack40 = *pfVar6; - fStack36 = pfVar6[1]; - fStack32 = pfVar6[2]; - if ((*(uint *)(param_2 + 4) & 2) == 0) { - fStack120 = *pfVar6; - fStack116 = pfVar6[1]; - fStack112 = pfVar6[2]; - } - else { - fStack120 = *pfVar6; - fStack116 = pfVar6[1]; - fStack112 = pfVar6[2]; - } - fStack44 = pfVar6[10]; - } - else { - iVar4 = iVar4 * 0x44 + _DAT_80075d5c; - pfVar8 = (float *)(iVar4 + -680000); - FUN_7f059e28(afStack108,0.00000000,0.00000000,0.00000000,-*(float *)(iVar4 + -0xa6028), - -*(float *)(iVar4 + -0xa6024),-*(float *)(iVar4 + -0xa6020), - *(float *)(iVar4 + -0xa6034),*(float *)(iVar4 + -0xa6030), - *(float *)(iVar4 + -0xa602c)); - if ((*(uint *)(param_2 + 6) & 1) == 0) { - sub_7F001BD4(pfVar8,&fStack40); - fStack120 = *(float *)(iVar4 + -0xa6034) * - (*(float *)(iVar4 + -0xa600c) - *(float *)(iVar4 + -0xa6008)) * 0.50000000 + - fStack40; - fStack116 = *(float *)(iVar4 + -0xa6030) * - (*(float *)(iVar4 + -0xa600c) - *(float *)(iVar4 + -0xa6008)) * 0.50000000 + - fStack36; - fStack112 = *(float *)(iVar4 + -0xa602c) * - (*(float *)(iVar4 + -0xa600c) - *(float *)(iVar4 + -0xa6008)) * 0.50000000 + - fStack32; - fStack44 = *(float *)(iVar4 + -0xa6018); - uVar3 = sub_7F0B0BE4((int *)&fStack44,*pfVar8,*(float *)(iVar4 + -0xa6038),fStack40,fStack32); - if (uVar3 == 0) { - fStack40 = *pfVar8; - fStack36 = *(float *)(iVar4 + -0xa603c); - fStack32 = *(float *)(iVar4 + -0xa6038); - fStack44 = *(float *)(iVar4 + -0xa6018); - } - } - else { - fStack40 = *pfVar8; - fStack36 = *(float *)(iVar4 + -0xa603c); - fStack32 = *(float *)(iVar4 + -0xa6038); - fStack44 = *(float *)(iVar4 + -0xa6018); - uVar3 = sub_7F001BD4(pfVar8,&fStack120); - fStack120 = fStack120 + - (*(float *)(iVar4 + -0xa600c) - *(float *)(iVar4 + -0xa6008)) * 0.50000000 * - *(float *)(iVar4 + -0xa6034); - fStack116 = fStack116 + - (*(float *)(iVar4 + -0xa600c) - *(float *)(iVar4 + -0xa6008)) * 0.50000000 * - *(float *)(iVar4 + -0xa6030); - fStack112 = fStack112 + - (*(float *)(iVar4 + -0xa600c) - *(float *)(iVar4 + -0xa6008)) * 0.50000000 * - *(float *)(iVar4 + -0xa602c); - } - } - uVar1 = loc_7F0568E0(&fStack40,(longlong)(int)fStack44,0.00000000,auStack24,&uStack28); - if ((uVar3 & 0xffffffff00000000 | - (ulonglong)((uint)uVar3 & 0xffffff00 | (uint)(byte)((ulonglong)uVar1 >> 0x38))) == 0) { - return; - } - if (*(char *)((int)param_2 + 3) == '\b') { - puStack152 = FUN_7f0522d4((int)param_2,(ushort **)(&PTR_DAT_8003a258)[iStack8 * 3]); - } - else { - puStack152 = sub_7F04071C((int)param_2); - } - if (pfVar8 == NULL) { - iVar4 = *(int *)(param_2 + 10); - goto LAB_7f002698; - } - iVar4 = FUN_7f040378((int)param_2); - if (iVar4 != 0) { - fStack160 = 1.00000000; - uVar7 = *(uint *)(param_2 + 4); - if ((uVar7 & 0x30) != 0) { - fVar11 = *(float *)(iVar4 + 4); - fVar9 = *(float *)(iVar4 + 8); - if (fVar11 < fVar9) { - if ((uVar7 & 2) == 0) { - fStack160 = (pfVar8[0xc] - pfVar8[0xb]) / - ((fVar9 - fVar11) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - else { - fStack160 = (pfVar8[0xc] - pfVar8[0xb]) / - ((fVar9 - fVar11) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - } - } - fVar9 = 1.00000000; - fVar11 = 1.00000000; - if ((uVar7 & 0x50) != 0) { - fVar12 = *(float *)(iVar4 + 0xc); - fVar10 = *(float *)(iVar4 + 0x10); - fVar9 = 1.00000000; - fVar11 = 1.00000000; - if (fVar12 < fVar10) { - if ((uVar7 & 2) == 0) { - fVar9 = (pfVar8[0xe] - pfVar8[0xd]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - fVar11 = 1.00000000; - } - else { - fVar9 = 1.00000000; - fVar11 = (pfVar8[0x10] - pfVar8[0xf]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - } - } - if ((uVar7 & 0x90) != 0) { - fVar12 = *(float *)(iVar4 + 0x14); - fVar10 = *(float *)(iVar4 + 0x18); - if (fVar12 < fVar10) { - if ((uVar7 & 2) == 0) { - fVar11 = (pfVar8[0x10] - pfVar8[0xf]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - else { - fVar9 = (pfVar8[0xe] - pfVar8[0xd]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - } - } - fVar10 = fVar9; - if (fStack160 <= fVar9) { - fVar10 = fStack160; - } - fVar12 = fVar11; - if (fVar10 <= fVar11) { - fVar12 = fVar10; - } - fVar10 = fVar9; - if (fVar9 <= fStack160) { - fVar10 = fStack160; - } - fVar14 = fVar11; - if (fVar11 <= fVar10) { - fVar14 = fVar10; - } - fVar10 = fVar12; - fVar16 = fVar12; - if ((uVar7 & 0x10) == 0) { - fVar12 = fStack160; - if ((uVar7 & 0x20) == 0) { - if ((uVar7 & 2) == 0) { - fVar12 = fVar14; - if (*(float *)(iVar4 + 4) != *(float *)(iVar4 + 8)) { - fVar12 = fStack160; - } - } - else { - fVar12 = fVar14; - if (*(float *)(iVar4 + 4) != *(float *)(iVar4 + 8)) { - fVar12 = fStack160; - } - } - } - fVar15 = fVar9; - fVar17 = fVar11; - if ((uVar7 & 0x40) == 0) { - if ((uVar7 & 2) == 0) { - fVar15 = fVar14; - fVar17 = fVar11; - if (*(float *)(iVar4 + 0xc) != *(float *)(iVar4 + 0x10)) { - fVar15 = fVar9; - fVar17 = fVar11; - } - } - else { - fVar15 = fVar9; - fVar17 = fVar14; - if (*(float *)(iVar4 + 0xc) != *(float *)(iVar4 + 0x10)) { - fVar15 = fVar9; - fVar17 = fVar11; - } - } - } - fVar10 = fVar15; - fVar16 = fVar17; - if ((uVar7 & 0x80) != 0) goto LAB_7f0025fc; - if ((uVar7 & 2) == 0) { - fVar10 = fVar15; - fVar16 = fVar14; - if (*(float *)(iVar4 + 0x14) == *(float *)(iVar4 + 0x18)) goto LAB_7f0025fc; - fVar12 = fVar12 / fVar14; - } - else { - fVar10 = fVar14; - fVar16 = fVar17; - if (*(float *)(iVar4 + 0x14) == *(float *)(iVar4 + 0x18)) goto LAB_7f0025fc; - fVar12 = fVar12 / fVar14; - } - } - else { -LAB_7f0025fc: - fVar12 = fVar12 / fVar14; - fVar15 = fVar10; - fVar17 = fVar16; - } - fVar15 = fVar15 / fVar14; - fVar17 = fVar17 / fVar14; - if (((fVar12 <= DAT_8004eee4) || (fVar15 <= DAT_8004eee4)) || (fVar17 <= DAT_8004eee4)) { - fVar12 = 1.00000000; - fVar15 = 1.00000000; - fVar17 = fVar12; - } - sub_7F0589B4(fVar12,extraout_a0,afStack108); - sub_7F0589E4(fVar15,extraout_a0_00,(int)afStack108); - sub_7F058A4C(fVar17,extraout_a0_01,(int)afStack108); - set_obj_instance_controller_scale - (*(int *)(param_2 + 10),*(float *)(*(int *)(param_2 + 10) + 0x14) * fVar14); - } - iVar4 = *(int *)(param_2 + 10); -LAB_7f002698: - set_obj_instance_controller_scale(iVar4,*(float *)(iVar4 + 0x14) * fVar13); - matrix_multiply_A1_by_F12(*(float *)(*(int *)(param_2 + 10) + 0x14),extraout_a0_02,afStack108); - if ((*(uint *)(param_2 + 4) & 2) == 0) { - loc_7F040B84(param_2,auStack24,afStack108,uStack28,&fStack120); - } - else { - loc_7F040CD4(param_2,auStack24,afStack108,uStack28,&fStack120); - } - loc_7F056E80((int)param_2); - FUN_7f03a7a4((int)puStack152); - set_stateflag_0x04_for_posdata((int)puStack152); - return; -} - - - -// WARNING: Switch with 1 destination removed at 0x7f002854 : 8 cases all go to same destination -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong loc_7F00299C(int param_1,ushort *param_2) - -{ - char cVar1; - byte bVar2; - float fVar3; - uint uVar5; - undefined *puVar6; - ulonglong uVar4; - int iVar7; - undefined4 *puVar8; - float fVar9; - ushort uVar10; - - if ((*(uint *)(param_2 + 4) & 0x4000) != 0) { - iVar7 = FUN_7f0232b0(param_2[3]); - uVar4 = SEXT48(iVar7); - if (uVar4 == 0) { - return 0; - } - if (*(int *)(iVar7 + 0x18) == 0) { - return uVar4; - } - if (*(int *)(iVar7 + 0x1c) == 0) { - return uVar4; - } - uVar5 = FUN_7f09333c(0x1c); - if ((uVar5 != 0) && (true)) { - switch(*(undefined *)(param_2 + 0x40)) { - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - case 0x1d: - case 0x1e: - case 0x1f: - *(undefined *)(param_2 + 0x40) = 0x19; - param_2[2] = 0xd3; - *param_2 = 0x100; - } - } - loc_7F0057B8((int)*(char *)(param_2 + 0x40)); - puVar6 = FUN_7f05252c(param_2,iVar7); - return (longlong)(int)puVar6; - } - uVar4 = get_num_players(); - iVar7 = 1; - if (1 < (longlong)uVar4) { - _DAT_80069580 = -1; - bVar2 = *(byte *)(param_2 + 0x40); - uVar4 = (ulonglong)bVar2; - if (bVar2 < 0x59) { - if (bVar2 != 0x58) { - cVar1 = *(char *)(param_2 + 0x40); - goto LAB_7f002970; - } - iVar7 = FUN_7f014808(); - uVar4 = SEXT48(iVar7); - iVar7 = 1; - if (uVar4 != 2) { - iVar7 = 0; - } - } - else { - if ((uint)bVar2 - 0xf0 < 8) { - iVar7 = FUN_7f0c72f4(); - uVar4 = SEXT48(iVar7); - _DAT_80069580 = (uint)*(byte *)(param_2 + 0x40) - 0xf0; - puVar8 = (undefined4 *)(iVar7 + _DAT_80069580 * 0x18); - *(char *)(param_2 + 0x40) = (char)*puVar8; - param_2[2] = (ushort)puVar8[1]; - fVar9 = (float)puVar8[2] * 256.00000000; - if (false) { - fVar3 = ROUND(fVar9); - } - else { - fVar3 = FLOOR(fVar9); - } - uVar10 = (ushort)(int)fVar3; - if (false) { - if (false) { - fVar9 = ROUND(fVar9 - 2147483648.00000000); - } - else { - fVar9 = FLOOR(fVar9 - 2147483648.00000000); - } - if (false) goto LAB_7f002924; - uVar10 = (ushort)(int)fVar9; - } - else { - if ((int)fVar3 < 0) { -LAB_7f002924: - uVar10 = 0xffff; - } - } - *param_2 = uVar10; - iVar7 = puVar8[5]; - } - } - } - cVar1 = *(char *)(param_2 + 0x40); -LAB_7f002970: - if ((cVar1 != '\0') && (iVar7 != 0)) { - loc_7F0057B8((int)cVar1); - uVar4 = loc_7F002728((longlong)param_1,param_2); - } - return uVar4; -} - - - -undefined * loc_7F002A10(undefined8 param_1,ushort *param_2) - -{ - undefined *puVar1; - - if ((*(uint *)(param_2 + 4) & 0x4000) == 0) { - puVar1 = (undefined *)loc_7F002728(param_1,param_2); - } - else { - puVar1 = (undefined *)FUN_7f0232b0(param_2[3]); - if (((puVar1 != NULL) && (*(int *)(puVar1 + 0x18) != 0)) && (*(int *)(puVar1 + 0x1c) != 0)) { - puVar1 = FUN_7f051580(param_2,(int)puVar1); - } - } - return puVar1; -} - - - -void FUN_7f002a1c(undefined8 param_1,ushort *param_2) - -{ - loc_7F002728(param_1,param_2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F002C48(undefined8 param_1,ushort *param_2) - -{ - int iVar1; - float *pfVar2; - undefined8 extraout_a0; - float fVar3; - undefined4 uVar4; - float fVar5; - float fStack20; - float fStack16; - float fStack12; - float *pfStack8; - - loc_7F002728(param_1,param_2); - iVar1 = *(int *)(param_2 + 0x40); - if (-1 < iVar1) { - pfVar2 = *(float **)(**(int **)(*(int *)(*(int *)(param_2 + 10) + 8) + 8) + 4); - if (iVar1 < 10000) { - pfStack8 = (float *)(iVar1 * 0x2c + _DAT_80075d58); - } - else { - pfStack8 = (float *)(iVar1 * 0x44 + _DAT_80075d5c + -680000); - } - fStack20 = *pfVar2; - fStack16 = pfVar2[1]; - fStack12 = pfVar2[2]; - FUN_7f0588f8((float *)(param_2 + 0xc),&fStack20); - fStack20 = fStack20 + *(float *)(*(int *)(param_2 + 8) + 8); - fStack16 = fStack16 + *(float *)(*(int *)(param_2 + 8) + 0xc); - fStack12 = fStack12 + *(float *)(*(int *)(param_2 + 8) + 0x10); - FUN_7f059e28((float *)(param_2 + 0x42),0.00000000,0.00000000,0.00000000,fStack20 - *pfStack8, - fStack16 - pfStack8[1],fStack12 - pfStack8[2],0.00000000,1.00000000,0.00000000); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(param_2 + 10) + 0x14),extraout_a0,(float *)(param_2 + 0x42)); - fVar3 = DAT_8004ef80; - if (*(int *)(param_2 + 0x72) == 0) { - fVar5 = (float)*(int *)(param_2 + 0x66) * DAT_8004ef80; - *(undefined4 *)(param_2 + 0x72) = 1; - *(float *)(param_2 + 0x66) = fVar5 / 65536.00000000; - *(float *)(param_2 + 0x68) = ((float)*(int *)(param_2 + 0x68) * fVar3) / 65536.00000000; - *(float *)(param_2 + 0x74) = (float)*(int *)(param_2 + 0x74); - *(float *)(param_2 + 0x6e) = ((float)*(int *)(param_2 + 0x6e) * fVar3) / 65536.00000000; - uVar4 = *(undefined4 *)(param_2 + 0x66); - } - else { - uVar4 = *(undefined4 *)(param_2 + 0x66); - } - *(undefined4 *)(param_2 + 0x6a) = 0; - *(undefined4 *)(param_2 + 0x6c) = 0; - *(undefined4 *)(param_2 + 100) = uVar4; - fVar3 = loc_7F05AB54(fStack20 - *pfStack8,fStack12 - pfStack8[2]); - *(float *)(param_2 + 0x62) = fVar3; - *(undefined4 *)(param_2 + 0x70) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F002E08(undefined8 param_1,ushort *param_2) - -{ - int iVar1; - undefined *puVar2; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - loc_7F002728(param_1,param_2); - fVar4 = DAT_8004ef84; - fVar5 = (float)*(int *)(param_2 + 0x52) * DAT_8004ef84; - *(undefined4 *)(param_2 + 0x56) = 0; - *(undefined4 *)(param_2 + 0x5c) = 0xffffffff; - *(undefined4 *)(param_2 + 0x5e) = 0xffffffff; - *(undefined4 *)(param_2 + 0x60) = 0xffffffff; - *(undefined4 *)(param_2 + 0x62) = 0; - *(undefined4 *)(param_2 + 100) = 0; - *(undefined4 *)(param_2 + 0x48) = 0; - *(undefined4 *)(param_2 + 0x4a) = 0; - *(undefined4 *)(param_2 + 0x42) = 0; - *(undefined4 *)(param_2 + 0x4e) = 0; - *(undefined4 *)(param_2 + 0x50) = 0; - *(undefined4 *)(param_2 + 0x4c) = 0; - *(undefined4 *)(param_2 + 0x58) = 0; - *(undefined4 *)(param_2 + 0x5a) = 0; - *(float *)(param_2 + 0x52) = fVar5 / 65536.00000000; - *(float *)(param_2 + 0x54) = ((float)*(int *)(param_2 + 0x54) * 100.00000000) / 65536.00000000; - *(float *)(param_2 + 0x44) = ((float)*(int *)(param_2 + 0x44) * fVar4) / 65536.00000000; - *(float *)(param_2 + 0x46) = ((float)*(int *)(param_2 + 0x46) * fVar4) / 65536.00000000; - puVar2 = (undefined *)FUN_70009730(0x30,4); - *(undefined **)(param_2 + 0x66) = puVar2; - *puVar2 = 0xff; - iVar1 = *(int *)(param_2 + 0x40); - *(undefined4 *)(param_2 + 0x68) = 0; - *(undefined4 *)(param_2 + 0x6a) = 0; - if (-1 < iVar1) { - if (iVar1 < 10000) { - pfVar3 = (float *)(iVar1 * 0x2c + _DAT_80075d58); - } - else { - pfVar3 = (float *)(iVar1 * 0x44 + _DAT_80075d5c + -680000); - } - iVar1 = *(int *)(param_2 + 8); - fVar5 = pfVar3[1]; - fVar6 = *(float *)(iVar1 + 0xc); - fVar7 = *pfVar3 - *(float *)(iVar1 + 8); - fVar8 = pfVar3[2] - *(float *)(iVar1 + 0x10); - fVar4 = loc_7F05AB54(fVar7,fVar8); - *(float *)(param_2 + 0x42) = fVar4; - fVar4 = sqrtf(fVar7 * fVar7 + fVar8 * fVar8); - fVar4 = loc_7F05AB54(fVar5 - fVar6,fVar4); - *(float *)(param_2 + 0x4c) = fVar4; - } - return; -} - - - -void FUN_7f002e1c(undefined8 param_1,ushort *param_2) - -{ - loc_7F002728(param_1,param_2); - return; -} - - - -void FUN_7f002e3c(int param_1,ushort *param_2,int param_3) - -{ - ushort uVar1; - int iVar2; - undefined4 *puVar3; - undefined4 *puVar4; - int iVar6; - ulonglong uVar5; - undefined *puVar7; - undefined *puVar8; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined4 *puVar9; - undefined4 *puVar10; - float fVar11; - - puVar3 = (undefined4 *)&DAT_80075bd8; - puVar4 = (undefined4 *)(param_2 + 0x40); - do { - puVar9 = puVar4; - puVar10 = puVar3; - *puVar9 = *puVar10; - puVar9[1] = puVar10[1]; - puVar9[2] = puVar10[2]; - puVar3 = puVar10 + 3; - puVar4 = puVar9 + 3; - } while (puVar10 + 3 != (undefined4 *)0x80075c44); - puVar9[3] = uRam80075c44; - puVar9[4] = puVar10[4]; - FUN_7f04a09c((undefined4 *)(param_2 + 0x40),*(undefined4 *)(param_2 + 0x7e)); - if (((short)param_2[3] < 0) && ((*(uint *)(param_2 + 4) & 0x8000) == 0)) { - uVar1 = param_2[2]; - iVar6 = loc_7F056B00(*(int *)(param_2 + 0x7a) + param_3); - FUN_7f057138((int)(short)uVar1); - fVar11 = (float)(uint)*param_2; - if (false) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)(param_2 + 0x3a) = (float)*(int *)(param_2 + 0x3a) / 65536.00000000; - uVar5 = get_num_players(); - if (1 < (longlong)uVar5) { - *(byte *)(param_2 + 1) = *(byte *)(param_2 + 1) | 4; - } - puVar7 = sub_7F04071C((int)param_2); - puVar8 = FUN_7f040198(); - *(undefined **)(param_2 + 0x36) = puVar8; - if (puVar7 == NULL) { - iVar6 = *(int *)(param_2 + 4); - } - else { - if (puVar8 == NULL) { - iVar6 = *(int *)(param_2 + 4); - } - else { - *(uint *)(param_2 + 0x32) = *(uint *)(param_2 + 0x32) | 0x40; - set_obj_instance_controller_scale - (*(int *)(param_2 + 10), - *(float *)(*(int *)(param_2 + 10) + 0x14) * fVar11 * 0.00390625); - *(undefined4 *)(*(int *)(param_2 + 10) + 0x18) = *(undefined4 *)(iVar6 + 0x14); - iVar2 = *(int *)(param_2 + 0x7c); - if (iVar2 == 0) { - *(undefined4 *)(*(int *)(param_2 + 10) + 0x1c) = - **(undefined4 **)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8); - } - else { - if (iVar2 == 1) { - *(undefined4 *)(*(int *)(param_2 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8) + 4); - } - else { - if (iVar2 == 2) { - *(undefined4 *)(*(int *)(param_2 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8) + 8); - } - else { - *(undefined4 *)(*(int *)(param_2 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 8) + 0xc); - } - } - } - loc_7F03A5C0((int)puVar7,*(int *)(iVar6 + 0x10)); - FUN_7f058a90(DAT_8004ef88,extraout_a0,(undefined4 *)(*(int *)(param_2 + 0x36) + 4)); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(param_2 + 10) + 0x14) / - *(float *)(*(int *)(iVar6 + 0x14) + 0x14),extraout_a0_00, - (float *)(*(int *)(param_2 + 0x36) + 4)); - iVar6 = *(int *)(param_2 + 4); - } - } - } - else { - loc_7F002728((longlong)param_1,param_2); - iVar6 = *(int *)(param_2 + 4); - } - if ((iVar6 << 1 < 0) && (iVar6 = *(int *)(param_2 + 8), iVar6 != 0)) { - *(byte *)(iVar6 + 1) = *(byte *)(iVar6 + 1) | 1; - } - return; -} - - - -void FUN_7f0030d0(int param_1,ushort *param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - - puVar1 = (undefined4 *)&DAT_80075bd8; - puVar2 = (undefined4 *)(param_2 + 0x40); - do { - puVar3 = puVar2; - puVar4 = puVar1; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar1 = puVar4 + 3; - puVar2 = puVar3 + 3; - } while (puVar4 + 3 != (undefined4 *)0x80075c44); - puVar3[3] = uRam80075c44; - puVar3[4] = puVar4[4]; - FUN_7f04a09c((undefined4 *)(param_2 + 0x40),(uint)*(byte *)(param_2 + 0x128)); - puVar1 = (undefined4 *)&DAT_80075bd8; - puVar2 = (undefined4 *)(param_2 + 0x7a); - do { - puVar4 = puVar2; - puVar3 = puVar1; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar1 = puVar3 + 3; - puVar2 = puVar4 + 3; - } while (puVar3 + 3 != (undefined4 *)0x80075c44); - puVar4[3] = uRam80075c44; - puVar4[4] = puVar3[4]; - FUN_7f04a09c((undefined4 *)(param_2 + 0x7a),(uint)*(byte *)((int)param_2 + 0x251)); - puVar1 = (undefined4 *)&DAT_80075bd8; - puVar2 = (undefined4 *)(param_2 + 0xb4); - do { - puVar3 = puVar2; - puVar4 = puVar1; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar1 = puVar4 + 3; - puVar2 = puVar3 + 3; - } while (puVar4 + 3 != (undefined4 *)0x80075c44); - puVar3[3] = uRam80075c44; - puVar3[4] = puVar4[4]; - FUN_7f04a09c((undefined4 *)(param_2 + 0xb4),(uint)*(byte *)(param_2 + 0x129)); - puVar1 = (undefined4 *)&DAT_80075bd8; - puVar2 = (undefined4 *)(param_2 + 0xee); - do { - puVar4 = puVar2; - puVar3 = puVar1; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar1 = puVar3 + 3; - puVar2 = puVar4 + 3; - } while (puVar3 + 3 != (undefined4 *)0x80075c44); - puVar4[3] = uRam80075c44; - puVar4[4] = puVar3[4]; - FUN_7f04a09c((undefined4 *)(param_2 + 0xee),(uint)*(byte *)((int)param_2 + 0x253)); - loc_7F002728((longlong)param_1,param_2); - return; -} - - - -void loc_7F003470(float *param_1,uint *param_2,uint *param_3,float *param_4,float *param_5) - -{ - byte bVar1; - longlong lVar2; - float fVar3; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - sub_7F001BD4(param_1,&fStack32); - fStack36 = param_1[10]; - lVar2 = sub_7F0B0BE4((int *)&fStack36,*param_1,param_1[2],fStack32,fStack24); - if (lVar2 == 0) { - fStack36 = param_1[10]; - fStack32 = *param_1; - fStack28 = param_1[1]; - fStack24 = param_1[2]; - fVar3 = param_1[4]; - } - else { - fVar3 = param_1[4]; - } - fStack16 = fVar3 * param_1[8] - param_1[7] * param_1[5]; - fStack12 = param_1[5] * param_1[6] - param_1[8] * param_1[3]; - fStack8 = param_1[3] * param_1[7] - param_1[6] * param_1[4]; - fVar3 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16 + fStack12 * fStack12); - fVar3 = 1.00000000 / fVar3; - fStack4 = fStack36; - fStack16 = fStack16 * fVar3; - fStack12 = fStack12 * fVar3; - fStack8 = fStack8 * fVar3; - *param_4 = fStack16 * 50.00000000 + fStack32; - param_4[1] = fStack28; - param_4[2] = fStack8 * 50.00000000 + fStack24; - sub_7F0B0BE4((int *)&fStack4,fStack32,fStack24,*param_4,param_4[2]); - *param_2 = (uint)*(byte *)((int)fStack4 + 3); - fStack4 = fStack36; - *param_5 = fStack32 - fStack16 * 50.00000000; - param_5[1] = fStack28; - param_5[2] = fStack24 - fStack8 * 50.00000000; - sub_7F0B0BE4((int *)&fStack4,fStack32,fStack24,*param_5,param_5[2]); - bVar1 = *(byte *)((int)fStack4 + 3); - *param_3 = (uint)bVar1; - if ((ulonglong)bVar1 == (longlong)(int)*param_2) { - *param_3 = 0xffffffff; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0034f0) overlaps instruction at (ram,0x7f0034ec) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F003BE0(undefined8 param_1,int param_2,int param_3) - -{ - char cVar1; - longlong lVar2; - undefined8 uVar3; - ulonglong uVar4; - short sVar7; - undefined *puVar5; - int iVar6; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - float *pfVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fStack348; - float fStack344; - float fStack340; - float afStack336 [16]; - float fStack272; - undefined4 uStack268; - float fStack264; - float afStack260 [16]; - int iStack196; - float fStack192; - undefined4 uStack188; - float fStack184; - int *piStack180; - float afStack172 [16]; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float afStack68 [3]; - float afStack56 [3]; - undefined4 uStack44; - undefined4 uStack40; - int iStack36; - float fStack32; - undefined4 uStack28; - float fStack24; - int aiStack16 [2]; - int iStack8; - - iStack36 = -1; - uStack40 = 0xffffffff; - uStack44 = 0xffffffff; - iStack8 = (int)*(short *)(param_2 + 4); - uVar4 = FUN_7f057138(iStack8); - pfVar8 = (float *)((int)*(short *)(param_2 + 6) * 0x44 + _DAT_80075d5c); - if ((*(int *)(param_2 + 8) << 3 < 0) || (*(int *)(param_2 + 8) << 1 < 0)) { - uVar4 = loc_7F003470(pfVar8,&uStack40,&uStack44,afStack56,afStack68); - if ((*(int *)(param_2 + 8) << 3 < 0) && - ((-1 < (longlong)(int)uStack40 && (-1 < (longlong)(int)uStack44)))) { - iStack36 = FUN_7f0ba878((longlong)(int)uStack40,(longlong)(int)uStack44,afStack56,afStack68); - uVar4 = SEXT48(iStack36); - } - } - if (DAT_8002a400 == 1.00000000) { - fVar10 = pfVar8[10]; - } - else { - if (iStack36 < 0) { - pfVar8[0xb] = pfVar8[0xb] * DAT_8002a400; - pfVar8[0xc] = pfVar8[0xc] * DAT_8002a400; - } - else { - fVar10 = (float)FUN_7f0ba27c(iStack36,&fStack88); - FUN_7f0b53e0(); - fStack76 = fStack76 * fVar10; - fStack104 = *pfVar8; - fVar10 = fStack80 * pfVar8[2] + fStack104 * fStack88 + pfVar8[1] * fStack84; - if (DAT_8002a400 < 1.00000000) { - fVar10 = (fVar10 - fStack76) * (1.00000000 - DAT_8002a400); - fStack104 = fStack104 - fStack88 * fVar10; - fStack100 = pfVar8[1] - fStack84 * fVar10; - fStack96 = pfVar8[2] - fStack80 * fVar10; - } - else { - fVar10 = (fVar10 - fStack76) * (DAT_8002a400 - 1.00000000); - fStack104 = fStack88 * fVar10 + fStack104; - fStack100 = fStack84 * fVar10 + pfVar8[1]; - fStack96 = fStack80 * fVar10 + pfVar8[2]; - } - fStack108 = pfVar8[10]; - uVar4 = sub_7F0B0BE4((int *)&fStack108,*pfVar8,pfVar8[2],fStack104,fStack96); - if (uVar4 != 0) { - pfVar8[10] = fStack108; - *pfVar8 = fStack104; - pfVar8[1] = fStack100; - pfVar8[2] = fStack96; - pfVar8[0xb] = pfVar8[0xb] * DAT_8002a400; - pfVar8[0xc] = pfVar8[0xc] * DAT_8002a400; - } - } - fVar10 = pfVar8[10]; - } - uVar3 = loc_7F0568E0(pfVar8,(longlong)(int)fVar10,0.00000000,&fStack32,aiStack16); - if ((uVar4 & 0xffffffff00000000 | - (ulonglong)((uint)uVar4 & 0xffffff00 | (uint)(byte)((ulonglong)uVar3 >> 0x38))) == 0) { - *(undefined4 *)(param_2 + 0x10) = 0; - return; - } - FUN_7f059e28(afStack172,0.00000000,0.00000000,0.00000000,-pfVar8[6],-pfVar8[7],-pfVar8[8], - pfVar8[3],pfVar8[4],pfVar8[5]); - piStack180 = (int *)(&PTR_DAT_8003a258)[iStack8 * 3]; - iStack196 = aiStack16[0]; - fVar14 = pfVar8[0xb]; - fVar10 = pfVar8[0xc]; - fVar12 = pfVar8[0xd]; - fVar9 = pfVar8[0xe]; - fVar11 = pfVar8[0xf]; - fStack340 = pfVar8[0x10]; - FUN_7f058a90(DAT_8004ef8c,extraout_a0,afStack260); - FUN_7f058ba8(DAT_8004ef90,extraout_a0_00,afStack336); - FUN_7f058588(afStack336,afStack260); - FUN_7f058588(afStack172,afStack260); - sub_7F001BD4(pfVar8,&fStack192); - iVar6 = *(int *)(*(int *)(*piStack180 + 0x14) + 4); - fVar13 = (fVar9 - fVar12) / (*(float *)(iVar6 + 8) - *(float *)(iVar6 + 4)); - fStack340 = fStack340 - fVar11; - fVar11 = fStack340 / (*(float *)(iVar6 + 0x10) - *(float *)(iVar6 + 0xc)); - fVar10 = (fVar10 - fVar14) / (*(float *)(iVar6 + 0x18) - *(float *)(iVar6 + 0x14)); - if (((fVar13 <= DAT_8004ef94) || (fVar11 <= DAT_8004ef94)) || (fVar10 <= DAT_8004ef94)) { - fVar13 = 1.00000000; - fVar11 = fVar13; - fVar10 = fVar13; - } - sub_7F0589B4(fVar13,extraout_a0_01,afStack260); - sub_7F0589E4(fVar11,extraout_a0_02,(int)afStack260); - sub_7F058A4C(fVar10,extraout_a0_03,(int)afStack260); - fStack272 = fStack192; - uStack268 = uStack188; - fStack264 = fStack184; - if ((*(uint *)(param_2 + 0xc) & 1) == 0) { - lVar2 = sub_7F0B0BE4(&iStack196,fStack32,fStack24,fStack192,fStack184); - if (lVar2 != 0) { - aiStack16[0] = iStack196; - goto LAB_7f003978; - } - fStack192 = fStack32; - fStack184 = fStack24; - if ((*(uint *)(param_2 + 8) & 0x1000) == 0) { - sVar7 = *(short *)(param_2 + 0x9a); - } - else { - sVar7 = *(short *)(param_2 + 0x9a); - } - } - else { - fStack192 = fStack32; - uStack188 = uStack28; - fStack184 = fStack24; -LAB_7f003978: - sVar7 = *(short *)(param_2 + 0x9a); - } - if ((sVar7 == 4) || (sVar7 == 8)) { - fStack348 = pfVar8[6] * fStack340; - fStack344 = pfVar8[7] * fStack340; - fStack340 = pfVar8[8] * fStack340; - } - else { - fVar12 = fVar12 - fVar9; - fStack348 = pfVar8[3] * fVar12; - fStack344 = pfVar8[4] * fVar12; - fStack340 = pfVar8[5] * fVar12; - } - *(float *)(param_2 + 0x84) = (float)*(int *)(param_2 + 0x84) / 65536.00000000; - *(float *)(param_2 + 0x88) = (float)*(int *)(param_2 + 0x88) / 65536.00000000; - *(float *)(param_2 + 0x8c) = (float)*(int *)(param_2 + 0x8c) / 65536.00000000; - *(float *)(param_2 + 0x90) = (float)*(int *)(param_2 + 0x90) / 65536.00000000; - *(float *)(param_2 + 0x94) = (float)*(int *)(param_2 + 0x94) / 65536.00000000; - puVar5 = FUN_7f053aec(param_2,&fStack192,afStack260,aiStack16[0],&fStack348,&fStack272); - if (*(int *)(param_2 + 8) << 3 < 0) { - *(int *)(param_2 + 0xf0) = iStack36; - if (iStack36 < 0) { - iVar6 = *(int *)(puVar5 + 0x14); - } - else { - if (*(float *)(param_2 + 0xb4) == 0.00000000) { - FUN_7f053ac0(param_2); - iVar6 = *(int *)(puVar5 + 0x14); - } - else { - iVar6 = *(int *)(puVar5 + 0x14); - } - } - } - else { - iVar6 = *(int *)(puVar5 + 0x14); - } - puVar5[0x2c] = *(undefined *)(iVar6 + 3); - loc_7F03DE80((int)puVar5,(ushort)*(byte *)(iVar6 + 3)); - puVar5[0x2d] = 0xff; - puVar5[0x2e] = 0xff; - if ((-1 < *(int *)(param_2 + 8) << 3) && (-1 < *(int *)(param_2 + 8) << 1)) { - iVar6 = *(int *)(param_2 + 0x14); - goto LAB_7f003b5c; - } - if ((longlong)(int)uStack40 == (ulonglong)*(byte *)(*(int *)(puVar5 + 0x14) + 3)) { - if (-1 < (int)uStack44) { - puVar5[0x2d] = (char)uStack44; - loc_7F03DE80((int)puVar5,uStack44._2_2_); - } -LAB_7f003b48: - cVar1 = puVar5[0x2d]; - } - else { - if ((longlong)(int)uStack40 < 0) goto LAB_7f003b48; - puVar5[0x2d] = (char)uStack40; - loc_7F03DE80((int)puVar5,uStack40._2_2_); - cVar1 = puVar5[0x2d]; - } - if (cVar1 == -1) { - iVar6 = *(int *)(param_2 + 0x14); - } - else { - iVar6 = *(int *)(param_2 + 0x14); - } -LAB_7f003b5c: - if (iVar6 != 0) { - if (fVar11 <= fVar13) { - fVar11 = fVar13; - } - if (fVar11 < fVar10) { - fVar13 = *(float *)(iVar6 + 0x14); - } - else { - fVar13 = *(float *)(iVar6 + 0x14); - fVar10 = fVar11; - } - set_obj_instance_controller_scale(iVar6,fVar13 * fVar10); - } - FUN_7f03a7a4((int)puVar5); - set_stateflag_0x04_for_posdata((int)puVar5); - if (*(int *)(param_2 + 0x80) != 0) { - iVar6 = loc_7F056B00(*(int *)(param_2 + 0x80) + param_3); - *(int *)(param_2 + 200) = iVar6; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F004E78(longlong param_1) - -{ - char cVar1; - undefined uVar2; - bool bVar3; - byte *pbVar6; - undefined **ppuVar7; - ulonglong uVar4; - int *piVar8; - undefined8 uVar5; - int *piVar9; - float fVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - int iVar15; - int iVar16; - int iVar17; - int iVar18; - int iVar19; - int iVar20; - int iVar21; - int iVar22; - int iVar23; - int iVar24; - int iVar25; - int iVar26; - int iVar27; - int iVar28; - int iVar29; - int iVar30; - uint *puVar31; - undefined *puVar32; - short sVar33; - int **ppiVar34; - undefined4 *puVar35; - undefined4 *puVar36; - float *pfVar38; - longlong lVar37; - ushort *puVar39; - ushort *puVar40; - int iVar41; - uint uVar42; - undefined4 *puVar43; - undefined4 *puVar44; - float fVar45; - float fVar46; - float fStack408; - float fStack372; - float fStack368; - float fStack364; - float fStack360; - float fStack356; - float fStack352; - float fStack304; - float fStack292; - undefined uStack268; - undefined uStack267; - uint uStack8; - - pbVar6 = loc_7000A740(1,(byte *)s__nochr_8004edc0); - bVar3 = pbVar6 == NULL; - if (bVar3) { - pbVar6 = loc_7000A740(1,(byte *)s__noprop_8004edc8); - bVar3 = pbVar6 == NULL; - } - uStack8 = (uint)bVar3; - pbVar6 = loc_7000A740(1,(byte *)s__noobj_8004edd0); - bVar3 = pbVar6 == NULL; - if (bVar3) { - pbVar6 = loc_7000A740(1,(byte *)s__noprop_8004edd8); - bVar3 = pbVar6 == NULL; - } - ppuVar7 = &PTR_DAT_8003a258; - DAT_8002a400 = 1.00000000; - do { - puVar43 = (undefined4 *)*ppuVar7; - ppuVar7 = ppuVar7 + 3; - *puVar43 = 0; - } while (ppuVar7 < (undefined **)0x8003b248); - iVar41 = (int)param_1; - if (param_1 < 0x3b) { - puVar32 = *(undefined **)(&DAT_80037514 + iVar41 * 4); - puVar43 = &DAT_8004ede0; - puVar35 = (undefined4 *)&uStack268; - if (puVar32 != NULL) { - do { - puVar44 = puVar43 + 3; - puVar36 = puVar35 + 3; - *puVar35 = *puVar43; - puVar35[1] = puVar43[1]; - puVar35[2] = puVar43[2]; - puVar43 = puVar44; - puVar35 = puVar36; - } while (puVar44 != (undefined4 *)0x8004eedc); - iVar11 = 0; - iVar14 = 0; - *puVar36 = uRam8004eedc; - uStack268 = *puVar32; - uStack267 = 0; - uVar4 = get_num_players(); - if (1 < (longlong)uVar4) { - locret_7000A844(&uStack268,&DAT_8004eee0); - } - locret_7000A844(&uStack268,(char *)(*(int *)(&DAT_80037514 + iVar41 * 4) + 1)); - piVar8 = (int *)FUN_7f0bd8b4(&uStack268,1,0x100,4); - _DAT_80075d68 = piVar8; - uVar5 = FUN_7f0c2290(iVar41); - fVar45 = (float)FUN_7f0c29b8((int)uVar5); - piVar9 = (int *)((int)piVar8 + *piVar8); - _DAT_80075d44 = (int *)((int)piVar8 + piVar8[1]); - _DAT_80075d48 = (int)piVar8 + piVar8[2]; - _DAT_80075d4c = (ushort *)((int)piVar8 + piVar8[3]); - _DAT_80075d50 = (int *)((int)piVar8 + piVar8[4]); - _DAT_80075d54 = (int *)((int)piVar8 + piVar8[5]); - _DAT_80075d58 = (float *)((int)piVar8 + piVar8[6]); - _DAT_80075d5c = (float *)((int)piVar8 + piVar8[7]); - _DAT_80075d60 = (int *)((int)piVar8 + piVar8[8]); - if (piVar8[8] == 0) { - _DAT_80075d60 = NULL; - } - _DAT_80075d64 = (int *)((int)piVar8 + piVar8[9]); - if (piVar8[9] == 0) { - _DAT_80075d64 = NULL; - } - _DAT_80075d40 = piVar9; - if ((piVar9 != NULL) && (iVar12 = 0, _DAT_80075d40 = piVar9, -1 < *piVar9)) { - iVar13 = piVar9[1]; - _DAT_80075d40 = piVar9; - while( true ) { - iVar12 += 0x10; - piVar9[1] = iVar13 + (int)piVar8; - piVar9 = (int *)((int)_DAT_80075d40 + iVar12); - if (*piVar9 < 0) break; - iVar13 = piVar9[1]; - } - } - if ((_DAT_80075d44 != NULL) && (iVar12 = 0, *_DAT_80075d44 != 0)) { - iVar13 = *_DAT_80075d44; - piVar9 = _DAT_80075d44; - do { - *piVar9 = iVar13 + (int)piVar8; - iVar13 = (int)_DAT_80075d44 + iVar12; - iVar12 += 0xc; - *(int *)(iVar13 + 4) = *(int *)(iVar13 + 4) + (int)piVar8; - piVar9 = (int *)((int)_DAT_80075d44 + iVar12); - iVar13 = *piVar9; - } while (iVar13 != 0); - } - if ((_DAT_80075d54 != NULL) && (iVar12 = 0, *_DAT_80075d54 != 0)) { - iVar13 = *_DAT_80075d54; - piVar9 = _DAT_80075d54; - do { - *piVar9 = iVar13 + (int)piVar8; - iVar12 += 8; - piVar9 = (int *)((int)_DAT_80075d54 + iVar12); - iVar13 = *piVar9; - } while (iVar13 != 0); - } - if ((_DAT_80075d50 != NULL) && (iVar12 = 0, *_DAT_80075d50 != 0)) { - iVar13 = *_DAT_80075d50; - piVar9 = _DAT_80075d50; - do { - *piVar9 = iVar13 + (int)piVar8; - sVar33 = 0; - ppiVar34 = (int **)((int)_DAT_80075d50 + iVar12); - piVar9 = *ppiVar34; - if (*piVar9 < 0) { - *(undefined2 *)((int)ppiVar34 + 6) = 0; - } - else { - iVar13 = piVar9[1]; - while( true ) { - sVar33 += 1; - if (iVar13 < 0) break; - iVar13 = piVar9[2]; - piVar9 = piVar9 + 1; - } - *(short *)((int)ppiVar34 + 6) = sVar33; - } - iVar12 += 8; - piVar9 = (int *)((int)_DAT_80075d50 + iVar12); - iVar13 = *piVar9; - } while (iVar13 != 0); - } - if (_DAT_80075d58 != NULL) { - FUN_7f0b53e0(); - fVar10 = _DAT_80075d58[9]; - if (fVar10 != 0.00000000) { - fVar46 = *_DAT_80075d58; - fStack292 = fVar45; - pfVar38 = _DAT_80075d58; - while( true ) { - *(byte **)(pfVar38 + 9) = (byte *)((int)piVar8 + (int)fVar10); - *pfVar38 = fVar46 * fStack292; - pfVar38[1] = pfVar38[1] * fStack292; - pfVar38[2] = pfVar38[2] * fStack292; - FUN_7f0067e0(pfVar38,(byte *)((int)piVar8 + (int)fVar10),(int **)(pfVar38 + 10)); - fVar10 = pfVar38[0x14]; - pfVar38 = pfVar38 + 0xb; - if (fVar10 == 0.00000000) break; - fVar46 = *pfVar38; - } - } - } - if (_DAT_80075d5c != NULL) { - FUN_7f0b53e0(); - fVar10 = _DAT_80075d5c[9]; - if (fVar10 != 0.00000000) { - fVar46 = *_DAT_80075d5c; - fStack304 = fVar45; - pfVar38 = _DAT_80075d5c; - while( true ) { - *(byte **)(pfVar38 + 9) = (byte *)((int)piVar8 + (int)fVar10); - *pfVar38 = fVar46 * fStack304; - pfVar38[1] = pfVar38[1] * fStack304; - pfVar38[2] = pfVar38[2] * fStack304; - pfVar38[0xb] = pfVar38[0xb] * fStack304; - pfVar38[0xc] = pfVar38[0xc] * fStack304; - pfVar38[0xd] = pfVar38[0xd] * fStack304; - pfVar38[0xe] = pfVar38[0xe] * fStack304; - pfVar38[0xf] = pfVar38[0xf] * fStack304; - pfVar38[0x10] = pfVar38[0x10] * fStack304; - FUN_7f0067e0(pfVar38,(byte *)((int)piVar8 + (int)fVar10),(int **)(pfVar38 + 10)); - fVar10 = pfVar38[0x1a]; - pfVar38 = pfVar38 + 0x11; - if (fVar10 == 0.00000000) break; - fVar46 = *pfVar38; - } - } - } - if ((_DAT_80075d60 != NULL) && (iVar12 = 0, *_DAT_80075d60 != 0)) { - iVar13 = *_DAT_80075d60; - piVar9 = _DAT_80075d60; - do { - *piVar9 = iVar13 + (int)piVar8; - iVar12 += 4; - piVar9 = (int *)((int)_DAT_80075d60 + iVar12); - iVar13 = *piVar9; - } while (iVar13 != 0); - } - if (_DAT_80075d64 != NULL) { - iVar12 = *_DAT_80075d64; - iVar13 = 0; - piVar9 = _DAT_80075d64; - while (iVar12 != 0) { - *piVar9 = iVar12 + (int)piVar8; - iVar13 += 4; - piVar9 = (int *)((int)_DAT_80075d64 + iVar13); - iVar12 = *piVar9; - } - } - if (uStack8 == 0) { - loc_7F000F40(0); - } - else { - iVar11 = FUN_7f001b50('\t'); - loc_7F000F40(iVar11); - iVar11 = FUN_7f001b50('\t'); - iVar12 = FUN_7f001b50('\b'); - iVar13 = FUN_7f001b50('\x04'); - iVar14 = FUN_7f001b50('\x11'); - iVar14 = iVar12 + iVar13 + iVar14; - } - if (bVar3) { - iVar12 = FUN_7f001b50('\x01'); - iVar13 = FUN_7f001b50('\x06'); - iVar15 = FUN_7f001b50('\r'); - iVar16 = FUN_7f001b50('\f'); - iVar17 = FUN_7f001b50('\n'); - iVar18 = FUN_7f001b50('\v'); - iVar19 = FUN_7f001b50('\x15'); - iVar20 = FUN_7f001b50('\x03'); - iVar21 = FUN_7f001b50('*'); - iVar22 = FUN_7f001b50('/'); - iVar23 = FUN_7f001b50('+'); - iVar24 = FUN_7f001b50(')'); - iVar25 = FUN_7f001b50('$'); - iVar26 = FUN_7f001b50('\x05'); - iVar27 = FUN_7f001b50('\a'); - iVar28 = FUN_7f001b50('\x14'); - iVar29 = FUN_7f001b50('\''); - iVar30 = FUN_7f001b50('-'); - iVar14 = iVar14 + iVar12 + iVar13 + iVar15 + iVar16 + iVar17 + iVar18 + iVar19 + iVar20 + - iVar21 + iVar22 + iVar23 + iVar24 + iVar25 + iVar26 + iVar27 + iVar28 + iVar29 + - iVar30; - iVar12 = FUN_7f001b50('('); - iVar11 += iVar12; - } - FUN_7f005560(iVar14); - FUN_7f005644(iVar11); - lVar37 = 0; - uVar4 = get_num_players(); - if (0 < (longlong)uVar4) { - do { - FUN_7f09bcac((int)lVar37); - iVar11 = FUN_7f001b50('\x0e'); - FUN_7f00625c(iVar11); - lVar37 = (longlong)((int)lVar37 + 1); - uVar4 = get_num_players(); - } while (lVar37 < (longlong)uVar4); - } - if (_DAT_80075d4c != NULL) { - iVar11 = FUN_7f0c0878(); - uVar42 = 1 << (iVar11 + 4U & 0x1f); - uVar4 = get_num_players(); - if (1 < (longlong)uVar4) { - uVar4 = get_num_players(); - uVar42 |= 1 << ((int)uVar4 + 0x14U & 0x1f); - } - iVar11 = 0; - cVar1 = *(char *)((int)_DAT_80075d4c + 3); - puVar40 = _DAT_80075d4c; - if (cVar1 == '0') { - cVar1 = *(char *)((int)_DAT_80075d4c + 3); - } - else { - do { - if (true) { - switch(cVar1) { - case '\x01': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - loc_7F003BE0(param_1,(int)puVar40,iVar11); - } - break; - case '\x02': - DAT_8002a400 = (float)*(int *)(puVar40 + 2) / 65536.00000000; - break; - case '\x03': - case '\x05': - case '\a': - case '$': - case ')': - case '*': - case '+': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - loc_7F002728(param_1,puVar40); - } - break; - case '\x04': - if ((uStack8 != 0) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - FUN_7f002a1c(param_1,puVar40); - } - break; - case '\x06': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - loc_7F002C48(param_1,puVar40); - } - break; - case '\b': - if ((uStack8 != 0) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - loc_7F00299C(iVar41,puVar40); - } - break; - case '\t': - if (uStack8 != 0) { - FUN_7f023a0c(param_1,puVar40,iVar11); - } - break; - case '\n': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - FUN_7f002e3c(iVar41,puVar40,iVar11); - } - break; - case '\v': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - FUN_7f0030d0(iVar41,puVar40); - } - break; - case '\f': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - FUN_7f002e1c(param_1,puVar40); - } - break; - case '\r': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - loc_7F002E08(param_1,puVar40); - } - break; - case '\x11': - if ((uStack8 != 0) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - loc_7F002A10(param_1,puVar40); - } - break; - case '\x12': - uVar2 = *(undefined *)((int)puVar40 + 0xb); - iVar14 = FUN_7f0232b0((short)*(undefined4 *)(puVar40 + 2)); - if (((iVar14 != 0) && (*(int *)(iVar14 + 0x18) != 0)) && - (*(int *)(iVar14 + 0x1c) != 0)) { - *(undefined *)(iVar14 + 0x10) = uVar2; - } - break; - case '\x14': - iVar14 = 1; - uVar4 = get_num_players(); - if (1 < (longlong)uVar4) { - iVar12 = FUN_7f0c72f4(); - iVar12 += _DAT_80069580 * 0x18; - iVar14 = *(int *)(iVar12 + 0x10); - puVar40[*(int *)(iVar12 + 0xc) * 2 + 0x3f] = (ushort)iVar14; - } - if (((0 < iVar14) && (bVar3)) && - (iVar14 = 0, puVar39 = puVar40, (*(uint *)(puVar40 + 6) & uVar42) == 0)) { - do { - if ((puVar39[0x41] != 0) && (puVar39[0x40] != 0xffff)) { - FUN_7f057138((uint)puVar39[0x40]); - } - iVar14 += 4; - puVar39 = puVar39 + 2; - } while (iVar14 != 0x34); - loc_7F002728(param_1,puVar40); - } - break; - case '\x15': - if (bVar3) { - if ((*(uint *)(puVar40 + 6) & uVar42) == 0) { - iVar14 = *(int *)(puVar40 + 0x40); - } - else { - if (DAT_80048500 == 0) break; - iVar14 = *(int *)(puVar40 + 0x40); - } - *(float *)(puVar40 + 0x40) = (float)iVar14 / 65536.00000000; - *(undefined4 *)(puVar40 + 0x42) = *(undefined4 *)(puVar40 + 0x40); - loc_7F002728(param_1,puVar40); - } - break; - case '\x16': - iVar14 = FUN_7f0573a0(param_1,(int)(short)puVar40[3] + iVar11); - *(int *)(puVar40 + 6) = iVar14; - if (iVar14 != 0) { - *(uint *)(iVar14 + 100) = *(uint *)(iVar14 + 100) | 0x10; - } - FUN_7f004fa0((int)puVar40); - break; - case '\x17': - FUN_7f004fd0((int)puVar40); - break; - case '\x1e': - FUN_7f00503c((int)puVar40); - break; - case ' ': - FUN_7f00500c((int)puVar40); - break; - case '!': - FUN_7f005024((int)puVar40); - break; - case '#': - FUN_7f004fb8((int)puVar40); - break; - case '%': - iVar14 = FUN_7f0573a0(param_1,*(int *)(puVar40 + 2) + iVar11); - *(int *)(puVar40 + 0x12) = iVar14; - if (iVar14 != 0) { - *(uint *)(iVar14 + 100) = *(uint *)(iVar14 + 100) | 0x400; - } - FUN_7f08e388((int)puVar40); - break; - case '\'': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - loc_7F002728(param_1,puVar40); - iVar14 = *(int *)(puVar40 + 10); - if ((iVar14 != 0) && - (puVar39 = *(ushort **)(*(int *)(*(int *)(iVar14 + 8) + 8) + 0x14), - puVar39 != NULL)) { - puVar31 = (uint *)loc_7F06C888(iVar14,puVar39); - *puVar31 = (uint)((*(uint *)(puVar40 + 4) & 0x10000000) == 0); - } - *(undefined4 *)(puVar40 + 0x44) = 0; - *(undefined4 *)(puVar40 + 0x46) = 0; - *(undefined4 *)(puVar40 + 0x48) = 0; - *(undefined4 *)(puVar40 + 0x4a) = 0; - *(undefined4 *)(puVar40 + 0x4e) = 0; - *(undefined4 *)(puVar40 + 0x50) = 0; - *(undefined4 *)(puVar40 + 0x4c) = 0xbf800000; - puVar32 = FUN_7f035698(*(undefined **)(puVar40 + 0x40)); - *(undefined **)(puVar40 + 0x40) = puVar32; - puVar40[0x42] = 0; - puVar40[0x43] = 0xffff; - *(undefined4 *)(puVar40 + 0x52) = 0; - *(undefined4 *)(puVar40 + 0x54) = 0; - *(undefined4 *)(puVar40 + 0x56) = 0; - } - break; - case '(': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - loc_7F002728(param_1,puVar40); - *(undefined4 *)(puVar40 + 0x4c) = 0; - *(undefined4 *)(puVar40 + 0x4e) = 0; - *(undefined4 *)(puVar40 + 0x44) = 0; - *(undefined4 *)(puVar40 + 0x46) = 0; - *(undefined4 *)(puVar40 + 0x48) = 0; - *(undefined4 *)(puVar40 + 0x52) = 0; - *(undefined4 *)(puVar40 + 0x50) = 0xbf800000; - *(undefined4 *)(puVar40 + 0x4a) = 0xbf800000; - puVar32 = FUN_7f035698(*(undefined **)(puVar40 + 0x40)); - *(undefined **)(puVar40 + 0x40) = puVar32; - puVar40[0x42] = 0; - puVar40[0x43] = 0xffff; - *(undefined4 *)(puVar40 + 0x54) = 0; - *(undefined4 *)(puVar40 + 0x56) = 0; - *(undefined4 *)(puVar40 + 0x58) = 0; - } - break; - case '-': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - fStack408 = 0.00000000; - loc_7F0057B8(0x20); - loc_7F002728(param_1,puVar40); - *(undefined4 *)(puVar40 + 100) = 0; - *(undefined4 *)(puVar40 + 0x66) = 0; - fVar45 = loc_7F05AB54(*(float *)(puVar40 + 0x1c),*(float *)(puVar40 + 0x20)); - iVar14 = *(int *)(puVar40 + 8); - *(float *)(puVar40 + 0x6e) = DAT_8004f054 - fVar45; - if (iVar14 != 0) { - fStack408 = (float)FUN_7f0b3520(*(undefined4 *)(iVar14 + 0x14), - *(undefined4 *)(iVar14 + 8), - *(undefined4 *)(iVar14 + 0x10)); - } - *(float *)(puVar40 + 0x6a) = fStack408; - *(float *)(puVar40 + 0x68) = fStack408 / DAT_8004f058; - } - break; - case '.': - *(float *)(puVar40 + 2) = (float)*(int *)(puVar40 + 2) / 100.00000000; - *(float *)(puVar40 + 4) = (float)*(int *)(puVar40 + 4) / 100.00000000; - *(float *)(puVar40 + 6) = (float)*(int *)(puVar40 + 6) / 100.00000000; - *(float *)(puVar40 + 8) = (float)*(int *)(puVar40 + 8) / 65536.00000000; - *(float *)(puVar40 + 10) = (float)*(int *)(puVar40 + 10) / 65536.00000000; - break; - case '/': - if ((bVar3) && ((*(uint *)(puVar40 + 6) & uVar42) == 0)) { - if (*(int *)(puVar40 + 4) << 3 < 0) { - if (9999 < (short)puVar40[3]) { - pfVar38 = _DAT_80075d5c + (int)(short)puVar40[3] * 0x11; - sub_7F001BD4(pfVar38 + -170000,&fStack360); - fStack372 = pfVar38[-0x2980d] * 10.00000000 + fStack360; - fStack368 = pfVar38[-0x2980c] * 10.00000000 + fStack356; - fStack364 = pfVar38[-0x2980b] * 10.00000000 + fStack352; - fStack360 = fStack360 - pfVar38[-0x2980d] * 10.00000000; - fStack356 = fStack356 - pfVar38[-0x2980c] * 10.00000000; - fStack352 = fStack352 - pfVar38[-0x2980b] * 10.00000000; - iVar14 = FUN_7f0ba9b4(&fStack360,&fStack372); - *(int *)(puVar40 + 0x46) = iVar14; - *(float *)(puVar40 + 0x48) = (float)*(int *)(puVar40 + 0x48) / 65536.00000000; - } - } - loc_7F002728(param_1,puVar40); - } - } - } - uVar5 = FUN_7f056df4((int)puVar40); - puVar40 = puVar40 + (int)uVar5 * 2; - cVar1 = *(char *)((int)puVar40 + 3); - iVar11 += 1; - } while (cVar1 != '0'); - cVar1 = *(char *)((int)_DAT_80075d4c + 3); - } - iVar41 = 0; - puVar40 = _DAT_80075d4c; - while (cVar1 != '0') { - if (true) { - switch(cVar1) { - case '\x03': - case '\x04': - case '\a': - case '\b': - case '\n': - case '\x14': - case '\x15': - case '$': - case ')': - case '*': - case '+': - case '/': - if (((*(int *)(puVar40 + 8) != 0) && ((*(uint *)(puVar40 + 4) & 0x8000) != 0)) && - ((iVar11 = FUN_7f0573a0(param_1,iVar41 + (int)(short)puVar40[3]), iVar11 != 0 && - (*(int *)(iVar11 + 0x10) != 0)))) { - *(uint *)(puVar40 + 0x32) = *(uint *)(puVar40 + 0x32) | 0x80000; - set_obj_instance_controller_scale - (*(int *)(puVar40 + 10),*(undefined4 *)(*(int *)(puVar40 + 10) + 0x14)); - loc_7F03A5C0(*(int *)(puVar40 + 8),*(int *)(iVar11 + 0x10)); - } - break; - case '\x0e': - iVar11 = loc_7F056B00(*(int *)(puVar40 + 2) + iVar41); - iVar14 = loc_7F056B00(*(int *)(puVar40 + 4) + iVar41); - if ((((iVar11 != 0) && (iVar14 != 0)) && (*(char *)(iVar11 + 3) == '\b')) && - (*(char *)(iVar14 + 3) == '\b')) { - link_objects(iVar11,iVar14); - } - break; - case '\x13': - iVar11 = *(int *)(puVar40 + 4); - iVar14 = FUN_7f0573a0(param_1,iVar41 + *(int *)(puVar40 + 2)); - iVar11 = loc_7F056B00(iVar41 + iVar11); - if (((iVar14 != 0) && (*(int *)(iVar14 + 0x10) != 0)) && - ((iVar11 != 0 && - ((*(char *)(iVar11 + 3) == '\x01' && (*(int *)(iVar11 + 0x10) != 0)))))) { - *(int *)(puVar40 + 2) = *(int *)(iVar14 + 0x10); - *(undefined4 *)(puVar40 + 4) = *(undefined4 *)(iVar11 + 0x10); - FUN_7f001910((int)puVar40); - *(uint *)(iVar14 + 100) = *(uint *)(iVar14 + 100) | 1; - } - break; - case '&': - iVar11 = *(int *)(puVar40 + 4); - iVar14 = FUN_7f0573a0(param_1,iVar41 + *(int *)(puVar40 + 2)); - iVar11 = FUN_7f0573a0(param_1,iVar41 + iVar11); - if ((((iVar14 != 0) && (*(int *)(iVar14 + 0x10) != 0)) && (iVar11 != 0)) && - ((*(int *)(iVar11 + 0x10) != 0 && (*(char *)(iVar14 + 3) == '\x01')))) { - *(int *)(puVar40 + 2) = iVar14; - *(int *)(puVar40 + 4) = iVar11; - FUN_7f001928((int)puVar40); - *(uint *)(iVar14 + 100) = *(uint *)(iVar14 + 100) | 0x2000; - } - break; - case ',': - iVar11 = *(int *)(puVar40 + 6); - iVar14 = *(int *)(puVar40 + 4); - iVar12 = FUN_7f0573a0(param_1,iVar41 + *(int *)(puVar40 + 2)); - iVar14 = FUN_7f0573a0(param_1,iVar41 + iVar14); - iVar11 = FUN_7f0573a0(param_1,iVar41 + iVar11); - if ((((((iVar12 != 0) && (*(int *)(iVar12 + 0x10) != 0)) && (iVar14 != 0)) && - ((*(int *)(iVar14 + 0x10) != 0 && (*(char *)(iVar14 + 3) == '+')))) && - (iVar11 != 0)) && - ((*(int *)(iVar11 + 0x10) != 0 && (*(char *)(iVar11 + 3) == '\x01')))) { - *(int *)(puVar40 + 2) = iVar12; - *(int *)(puVar40 + 4) = iVar14; - *(int *)(puVar40 + 6) = iVar11; - FUN_7f001940((int)puVar40); - *(uint *)(iVar12 + 0xc) = *(uint *)(iVar12 + 0xc) | 0x400; - *(uint *)(iVar11 + 0xc) = *(uint *)(iVar11 + 0xc) | 0x400; - } - } - } - uVar5 = FUN_7f056df4((int)puVar40); - puVar40 = puVar40 + (int)uVar5 * 2; - cVar1 = *(char *)((int)puVar40 + 3); - iVar41 += 1; - } - } - goto LAB_7f004e88; - } - } - _DAT_80075d40 = NULL; - _DAT_80075d44 = NULL; - _DAT_80075d48 = 0; - _DAT_80075d4c = NULL; - _DAT_80075d50 = NULL; - _DAT_80075d54 = NULL; - _DAT_80075d58 = NULL; - _DAT_80075d5c = NULL; - _DAT_80075d60 = NULL; - _DAT_80075d64 = NULL; - loc_7F000F40(0); - FUN_7f005560(0); - FUN_7f005644(0); -LAB_7f004e88: - FUN_7f00105c(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F004F3C(void) - -{ - int iVar1; - undefined4 *puVar2; - - iVar1 = FUN_7000695c(); - if (iVar1 != 0x5a) { - DAT_80032330 = 0xffffffff; - _DAT_80075d98 = 0; - _DAT_80075d9c = 0; - puVar2 = (undefined4 *)&DAT_80075da0; - do { - puVar2 = puVar2 + 4; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - *puVar2 = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)&DAT_80075dc0); - } - DAT_80032334 = 0; - _DAT_80075d70 = 0; - _DAT_80075d74 = 0; - puVar2 = (undefined4 *)&DAT_80075d78; - do { - puVar2 = puVar2 + 4; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - *puVar2 = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)&DAT_80075d98); - _DAT_80075dc0 = 0; - _DAT_80075dc4 = 0; - _DAT_80075dc8 = 0; - _DAT_80075dcc = 0; - _DAT_80075dd0 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004fa0(int param_1) - -{ - *(undefined4 *)(param_1 + 8) = _DAT_80075dc0; - _DAT_80075dc0 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f004fb8(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = _DAT_80075dc4; - _DAT_80075dc4 = param_1; - return; -} - - - -void FUN_7f004fd0(int param_1) - -{ - *(int *)(&DAT_80075d70 + *(int *)(param_1 + 4) * 4) = param_1; - if (DAT_80032330 < *(int *)(param_1 + 4)) { - DAT_80032330 = *(int *)(param_1 + 4); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00500c(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = _DAT_80075dc8; - _DAT_80075dc8 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f005024(int param_1) - -{ - *(undefined4 *)(param_1 + 0x10) = _DAT_80075dcc; - _DAT_80075dcc = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00503c(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = _DAT_80075dd0; - _DAT_80075dd0 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f005060(void) - -{ - undefined4 *puVar1; - undefined **ppuVar2; - longlong lVar3; - - _DAT_80075df0 = 0; - puVar1 = (undefined4 *)&DAT_80075df8; - do { - puVar1 = puVar1 + 1; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 < (undefined4 *)0x80075e08); - DAT_80034cdc = 0; - DAT_80034ce0 = 0; - if (PTR_DAT_800324ac != NULL) { - ppuVar2 = &PTR_DAT_800324ac; - lVar3 = (longlong)(int)PTR_DAT_800324ac; - do { - FUN_7f076b3c(lVar3,ppuVar2[1]); - lVar3 = (longlong)(int)ppuVar2[2]; - ppuVar2 = ppuVar2 + 2; - } while (lVar3 != 0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0050f0(void) - -{ - undefined4 uVar1; - uint uVar3; - ulonglong uVar2; - int iVar4; - int iVar5; - undefined4 *puVar6; - int iVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 auStack940 [234]; - undefined4 uStack4; - - puVar8 = &DAT_8002a410; - puVar6 = auStack940; - do { - puVar9 = puVar8 + 3; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar8 = puVar9; - puVar6 = puVar6 + 3; - } while (puVar9 != (undefined4 *)0x8002a7b8); - uVar3 = FUN_70009730(DAT_8003249c,4); - *(uint *)(_DAT_8007a120 + 0x808) = uVar3; - uVar2 = get_num_players(); - if (uVar2 == 1) { - uVar3 = FUN_70009730(DAT_800324a0,4); - *(uint *)(_DAT_8007a120 + 0x80c) = uVar3; - } - puVar8 = auStack940; - *(undefined4 *)(_DAT_8007a120 + 0x7f8) = 0; - iVar4 = 0; - *(undefined4 *)(_DAT_8007a120 + 0x7fc) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x800) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x804) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a44) = 0xffffffff; - *(undefined4 *)(_DAT_8007a120 + 0x2a48) = 0xffffffff; - *(undefined4 *)(_DAT_8007a120 + 0x2a50) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a54) = 0; - iVar7 = _DAT_8007a120; - puVar6 = puVar8; - do { - puVar9 = puVar6 + 3; - *(undefined4 *)(iVar7 + 0x870) = *puVar6; - *(undefined4 *)(iVar7 + 0x874) = puVar6[1]; - *(undefined4 *)(iVar7 + 0x878) = puVar6[2]; - iVar7 = iVar7 + 0xc; - puVar6 = puVar9; - iVar5 = _DAT_8007a120; - } while (puVar9 != &uStack4); - do { - puVar6 = puVar8 + 3; - *(undefined4 *)(iVar5 + 0xc18) = *puVar8; - *(undefined4 *)(iVar5 + 0xc1c) = puVar8[1]; - *(undefined4 *)(iVar5 + 0xc20) = puVar8[2]; - puVar8 = puVar6; - iVar5 = iVar5 + 0xc; - } while (puVar6 != &uStack4); - do { - iVar7 = _DAT_8007a120 + iVar4; - iVar4 += 4; - *(undefined4 *)(iVar7 + 0x1130) = 0; - } while (iVar4 < 0x78); - *_DAT_8007a124 = 0; - _DAT_8007a124[1] = 0; - _DAT_8007a124[2] = 0; - _DAT_8007a124[3] = 0; - _DAT_8007a124[4] = 0; - _DAT_8007a124[5] = 0; - _DAT_8007a124[6] = 0; - uVar1 = DAT_8004f110; - _DAT_8007a124[0x1b] = 0; - _DAT_8007a124[7] = 0; - _DAT_8007a124[8] = 0; - *(undefined4 *)(_DAT_8007a120 + 0x29d8) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x29dc) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xfc0) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0xfc4) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0xfc8) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xfcc) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xfd0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xfd4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xfd8) = 0; - *(undefined *)(_DAT_8007a120 + 0xfdc) = 0xff; - *(undefined *)(_DAT_8007a120 + 0xfdd) = 0xff; - *(undefined *)(_DAT_8007a120 + 0xfde) = 0xff; - *(undefined *)(_DAT_8007a120 + 0xfdf) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xfe0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0xfe4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xfe8) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xfec) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xff0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xff4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xff8) = uVar1; - *(undefined4 *)(_DAT_8007a120 + 0xffc) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1000) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1004) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1008) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x100c) = uVar1; - *(undefined4 *)(_DAT_8007a120 + 0x1010) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1014) = DAT_8004f114; - *(undefined4 *)(_DAT_8007a120 + 0x1018) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1060) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1270) = 0xffffffff; - *(undefined4 *)(_DAT_8007a120 + 0x106c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1070) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1074) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1078) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x107c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1080) = 0; - loc_7F05CE80(0); - loc_7F05CE80(0); - loc_7F05CE80(0); - loc_7F05CE80(1); - loc_7F05CE80(1); - loc_7F05CE80(1); - *(undefined4 *)(_DAT_8007a120 + 0x1064) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1128) = 2; - *(undefined4 *)(_DAT_8007a120 + 0x1084) = DAT_80032c78; - *(undefined4 *)(_DAT_8007a120 + 0x1088) = DAT_800336f8; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f005470(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - undefined *puVar7; - - DAT_800360a0 = 0x80076a90; - _DAT_80076a9c = 0x80076aa4; - iVar4 = -0x7ff89548; - _DAT_80076ab0 = 0x80076ab8; - _DAT_80076ab4 = 0x80076a90; - iVar1 = -0x7ff89534; - _DAT_80076ac4 = 0x80076acc; - puVar7 = (undefined *)0x80076b1c; - iVar6 = -0x7ff894f8; - iVar5 = -0x7ff8950c; - iVar3 = -0x7ff89520; - _DAT_80076ac8 = 0x80076aa4; - iVar2 = iVar1; - do { - *(undefined **)(iVar1 + 0x48) = puVar7; - puVar7 = puVar7 + 0x50; - *(int *)(iVar1 + 0x20) = iVar5; - *(int *)(iVar1 + 0x24) = iVar2; - *(int *)(iVar1 + 0x34) = iVar6; - *(int *)(iVar1 + 0x38) = iVar3; - *(int *)(iVar1 + 0x4c) = iVar5; - *(int *)(iVar1 + 0xc) = iVar3; - *(int *)(iVar1 + 0x10) = iVar4; - iVar4 += 0x50; - iVar3 += 0x50; - iVar5 += 0x50; - iVar6 += 0x50; - iVar2 += 0x50; - iVar1 += 0x50; - } while (puVar7 != &DAT_800799ac); - _DAT_8007996c = 0x80079948; - return; -} - - - -void FUN_7f005540(void) - -{ - DAT_800360b0 = 0; - DAT_800360b4 = 0; - return; -} - - - -void FUN_7f005554(undefined4 param_1) - -{ - DAT_800360b8 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f005560(int param_1) - -{ - uint uVar1; - int iVar2; - int iVar3; - - DAT_800360b4 = param_1 + 0x1e; - _DAT_80079974 = FUN_70009730(DAT_800360b4 * 0x20,4); - iVar3 = 0; - if (0 < DAT_800360b4) { - iVar2 = 0; - do { - *(undefined4 *)(_DAT_80079974 + iVar2 + 8) = 0; - if (iVar3 < param_1) { - *(undefined4 *)(_DAT_80079974 + iVar2 + 0x10) = 0; - } - else { - uVar1 = FUN_70009730(0x50,4); - *(uint *)(_DAT_80079974 + iVar2 + 0x10) = uVar1; - *(undefined2 *)(_DAT_80079974 + iVar2 + 2) = 0x14; - } - iVar3 += 1; - iVar2 += 0x20; - } while (iVar3 < DAT_800360b4); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f005644(int param_1) - -{ - uint uVar1; - int iVar2; - int iVar3; - - DAT_800360b0 = param_1 + 10; - _DAT_80079970 = FUN_70009730(DAT_800360b0 * 0xc0,4); - iVar3 = 0; - if (0 < DAT_800360b0) { - iVar2 = 0; - do { - *(undefined4 *)(_DAT_80079970 + iVar2 + 8) = 0; - if (iVar3 < param_1) { - *(undefined4 *)(_DAT_80079970 + iVar2 + 0x10) = 0; - } - else { - uVar1 = FUN_70009730(0x230,4); - *(uint *)(_DAT_80079970 + iVar2 + 0x10) = uVar1; - *(undefined2 *)(_DAT_80079970 + iVar2 + 2) = 0x8c; - } - iVar3 += 1; - iVar2 += 0xbc; - } while (iVar3 < DAT_800360b0); - } - return; -} - - - -ulonglong loc_7F0057B8(undefined4 param_1) - -{ - ulonglong uVar1; - longlong lVar2; - - lVar2 = -1; - if (true) { - switch(param_1) { - case 3: - lVar2 = 0xba; - break; - case 0x18: - lVar2 = 0xcb; - break; - case 0x19: - lVar2 = 0xca; - break; - case 0x1a: - lVar2 = 0xc4; - break; - case 0x1b: - lVar2 = 0xc9; - break; - case 0x1c: - lVar2 = 200; - break; - case 0x1d: - lVar2 = 199; - break; - case 0x20: - lVar2 = 0xca; - break; - case 0x21: - lVar2 = 0xe2; - break; - case 0x22: - lVar2 = 0x111; - break; - case 0x2f: - lVar2 = 0xf5; - break; - case 0x30: - lVar2 = 0xf6; - } - } - uVar1 = 0; - if (-1 < lVar2) { - uVar1 = FUN_7f057138((int)lVar2); - } - return uVar1; -} - - - -// WARNING: Instruction at (ram,0x7f005e38) overlaps instruction at (ram,0x7f005e34) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0057e4(void) - -{ - float *pfVar1; - undefined8 uVar2; - ulonglong uVar3; - int *piVar4; - undefined4 uVar5; - int iVar6; - uint uVar7; - undefined4 *puVar8; - uint *puVar9; - float fVar10; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - puVar9 = _DAT_80075d48; - fStack12 = DAT_8002a7c0; - fStack8 = DAT_8002a7c4; - fStack4 = DAT_8002a7c8; - DAT_8002a968 = 0; - DAT_80036464 = 0; - DAT_80036468 = 0; - DAT_8003646c = 0; - DAT_80036470 = 0; - DAT_80036474 = 0; - fStack16 = 0.00000000; - iVar6 = FUN_7000695c(); - if (iVar6 == 0x36) { - uVar7 = FUN_70009730(0x46ea0,4); - DAT_80036468 = uVar7 + 0x3f & 0xffffffc0; - DAT_80036470 = 1; - } - DAT_80036478 = 0; - DAT_8003647c = 0; - DAT_80036480 = 0; - _DAT_800799d0 = 0; - _DAT_800799d4 = 0; - _DAT_800799d8 = 0; - DAT_80036484 = 0; - _DAT_80079cd8 = 0; - DAT_80036488 = 0; - DAT_8003648c = 0; - DAT_80036490 = 0; - DAT_80036494 = 0; - DAT_80036498 = 0; - DAT_8003649c = 0; - DAT_800364a0 = 0; - DAT_800364a4 = 0; - DAT_800364a8 = 0; - DAT_800364ac = 0; - DAT_800364b0 = 0; - DAT_800364b4 = 0; - DAT_800364b8 = 0; - DAT_800364bc = 0; - DAT_800364c0 = 0; - DAT_800364c4 = 0; - DAT_800364c8 = 0; - DAT_800364cc = 0; - DAT_800364f0 = 1; - DAT_800364f4 = 0; - DAT_800364d4 = 0; - DAT_800364d8 = 0; - DAT_800364dc = 0; - DAT_800364e0 = 0; - DAT_800364e4 = 0; - DAT_800364e8 = 1; - DAT_800364ec = 0; - DAT_80036500 = 0; - DAT_800364f8 = 0; - DAT_800364fc = 0; - _DAT_80079a60 = 0; - _DAT_80079a64 = 0; - DAT_80036554 = 0; - DAT_800365e8 = DAT_8004f1d8; - _DAT_80079a24 = 0; - _DAT_80079a20 = 0; - if (puVar9 != NULL) { - uVar7 = *puVar9; - while (uVar7 != 9) { - if (uVar7 < 9) { - // WARNING: Could not recover jumptable at 0x7f005a5c. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8004f1dc)[uVar7])(); - return; - } - puVar9 = puVar9 + 1; - uVar7 = *puVar9; - } - } - if (false) { - DAT_80036500 = 0; - uVar7 = FUN_7000a460(); - uVar7 %= DAT_800364fc; - if (DAT_800364fc == 0) { - trap(0x1c00); - } - while (0 < (int)uVar7) { - uVar7 -= 1; - DAT_80036500 = *(int *)(DAT_80036500 + 0x24); - } - } - uVar2 = FUN_7f08cd68(1); - uVar5 = (undefined4)((ulonglong)uVar2 >> 0x20); - uVar7 = (uint)uVar2; - if (true) { - _DAT_80079a20 = 1; - } - *(undefined4 *)(_DAT_8007a120 + 0x78) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x7c) = DAT_8004f200; - *(undefined4 *)(_DAT_8007a120 + 0x80) = 0; - if (_DAT_80079cd8 < 1) { - piVar4 = loc_7F0AFCE0(&fStack12,&fStack8,&fStack4,30.00000000); - fStack20 = (float)(uVar7 & 0xffffff00 | (uint)piVar4 >> 0x18); - fVar10 = FUN_7f081370(CONCAT44(uVar5,fStack20),fStack12,fStack4); - fStack8 = *(float *)(_DAT_8007a120 + 0x29bc) + fVar10; - *(float *)(_DAT_8007a120 + 0x70) = fVar10; - } - else { - uVar3 = get_num_players(); - if ((longlong)uVar3 < 2) { - uVar7 = 0; - } - else { - if (_DAT_80079cd8 < 1) { - uVar7 = 0; - } - else { - uVar7 = loc_7F0793B8(); - } - } - pfVar1 = *(float **)(&DAT_80079c98 + uVar7 * 4); - fStack12 = *pfVar1; - fStack4 = pfVar1[2]; - fStack20 = pfVar1[10]; - fVar10 = FUN_7f081370((longlong)(int)fStack20,fStack12,fStack4); - fStack8 = *(float *)(_DAT_8007a120 + 0x29bc) + fVar10; - *(float *)(_DAT_8007a120 + 0x70) = fVar10; - pfVar1 = *(float **)(&DAT_80079c98 + uVar7 * 4); - fStack16 = loc_7F05AB54(pfVar1[6],pfVar1[8]); - fStack16 = DAT_8004f204 - fStack16; - } - *(float *)(_DAT_8007a120 + 0x148) = (fStack16 * 360.00000000) / DAT_8004f208; - *(float *)(_DAT_8007a120 + 0x74) = fVar10; - *(float *)(_DAT_8007a120 + 0x6c) = fVar10 / DAT_8004f20c; - change_player_pos_to_target((undefined4 *)(_DAT_8007a120 + 0x488),&fStack12,fStack20); - fVar10 = func_7F057FC4(fStack16); - *(float *)(_DAT_8007a120 + 0x498) = -fVar10; - *(undefined4 *)(_DAT_8007a120 + 0x49c) = 0; - fVar10 = FUN_7f0583c0(fStack16); - *(float *)(_DAT_8007a120 + 0x4a0) = fVar10; - FUN_7f089dec(DAT_80036510); - _DAT_80079e10 = 0; - _DAT_80079e14 = 0; - puVar8 = (undefined4 *)&DAT_80079e18; - do { - puVar8 = puVar8 + 4; - puVar8[1] = 0; - puVar8[2] = 0; - puVar8[3] = 0; - *puVar8 = 0; - puVar8 = puVar8; - } while (puVar8 != (undefined4 *)0x80079e38); - FUN_7f08aa68(); - FUN_7f08b0dc(); - iVar6 = FUN_7f03a730(); - *(int *)(_DAT_8007a120 + 0xa8) = iVar6; - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 4) = 0; - **(undefined **)(_DAT_8007a120 + 0xa8) = 6; - *(float *)(_DAT_8007a120 + 0x408) = fStack12; - *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 8) = fStack12; - *(float *)(_DAT_8007a120 + 0x40c) = fStack8; - *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0xc) = fStack8; - *(float *)(_DAT_8007a120 + 0x410) = fStack4; - *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x10) = fStack4; - *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x14) = fStack20; - FUN_7f03a7a4(*(int *)(_DAT_8007a120 + 0xa8)); - set_stateflag_0x04_for_posdata(*(int *)(_DAT_8007a120 + 0xa8)); - fVar10 = DAT_8004f210; - *(float *)(_DAT_8007a120 + 0x3b8) = *(float *)(_DAT_8007a120 + 0x4b4) / DAT_8004f210; - *(float *)(_DAT_8007a120 + 0x3bc) = *(float *)(_DAT_8007a120 + 0x4b8) / fVar10; - *(float *)(_DAT_8007a120 + 0x3c0) = *(float *)(_DAT_8007a120 + 0x4bc) / fVar10; - uVar3 = get_num_players(); - if (uVar3 == 1) { - FUN_7f07afd8(1); - } - else { - FUN_7f07afd8(9); - } - DAT_8003654c = 0; - if (DAT_80036518 != 0) { - DAT_8003654c = 1; - while ((&DAT_80036518)[DAT_8003654c] != 0) { - DAT_8003654c += 1; - } - } - *(undefined4 *)(_DAT_8007a120 + 0x420) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x424) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x428) = 0; - DAT_80036550 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0061f0(void) - -{ - int iVar1; - int iVar2; - - iVar1 = 0x18; - *(undefined4 *)(_DAT_8007a120 + 0x11ec) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1200) = 0xffffffff; - *(undefined4 *)(_DAT_8007a120 + 0x120c) = 0xffffffff; - do { - *(undefined4 *)(_DAT_8007a120 + iVar1 + 0x1200) = 0xffffffff; - *(undefined4 *)(_DAT_8007a120 + iVar1 + 0x120c) = 0xffffffff; - *(undefined4 *)(_DAT_8007a120 + iVar1 + 0x1218) = 0xffffffff; - iVar2 = _DAT_8007a120 + iVar1; - iVar1 += 0x30; - *(undefined4 *)(iVar2 + 0x1224) = 0xffffffff; - } while (iVar1 != 0x78); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00625c(int param_1) - -{ - uint uVar1; - - *(int *)(_DAT_8007a120 + 0x11e8) = param_1 + 0x1e; - uVar1 = FUN_70009730((*(int *)(_DAT_8007a120 + 0x11e8) * 0x14 + 0xfU | 0xf) ^ 0xf,4); - *(uint *)(_DAT_8007a120 + 0x11e4) = uVar1; - FUN_7f08c880(); - return; -} - - - -void loc_7F006368(int param_1,int param_2,int param_3,int *param_4) - -{ - short sStack8; - short sStack6; - short sStack4; - - *param_4 = 0; - param_4[1] = 0; - param_4[2] = 0; - if (param_2 < param_3) { - do { - loc_7F06D3DC(0,0,(int)&DAT_8003d430,param_1,param_2,&sStack8); - *param_4 = *param_4 + (int)sStack8; - param_2 += 1; - param_4[1] = param_4[1] + (int)sStack6; - param_4[2] = param_4[2] + (int)sStack4; - } while (param_2 < param_3); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00638c(void) - -{ - float fVar1; - undefined4 uVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float **ppfVar3; - float **ppfVar4; - int *piVar5; - int *piVar6; - float **ppfVar7; - float **ppfVar8; - float afStack144 [16]; - float *apfStack80 [4]; - int iStack64; - int aiStack16 [2]; - int iStack8; - - if (0x1e < DAT_8003c694) { - FUN_7f06ca5c(); - } - FUN_7f07659c(_DAT_8007a120 + 0x598,(ushort **)&DAT_8003c680,_DAT_8007a120 + 0x654); - fVar1 = DAT_8004f220; - set_obj_instance_controller_scale(_DAT_8007a120 + 0x598,DAT_8004f220); - loc_7F06FF50(_DAT_8007a120 + 0x598,0x3f800000,0.00000000); - uVar2 = DAT_8004f224; - *(undefined4 *)(_DAT_8007a120 + 0x4e8) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x4ec) = DAT_8004f228; - *(undefined4 *)(_DAT_8007a120 + 0x4f0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x4f4) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x4f8) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x4fc) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x500) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x504) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x508) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x50c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x510) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x514) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x518) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x51c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x520) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x524) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x528) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x52c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x530) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x534) = uVar2; - *(undefined4 *)(_DAT_8007a120 + 0x538) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x53c) = uVar2; - *(undefined4 *)(_DAT_8007a120 + 0x540) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x4dc) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x4e0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x4e4) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x544) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x548) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x54c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x550) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x554) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x558) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x55c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x560) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x564) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x568) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x56c) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x570) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x574) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x578) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x57c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x580) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x584) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x588) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x58c) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x590) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x594) = 0; - piVar5 = &DAT_80036b00; - do { - loc_7F006368(*piVar5 + _DAT_80069578,(int)(float)piVar5[1],(int)(float)piVar5[2],aiStack16); - piVar6 = piVar5 + 6; - *(float *)(piVar5 + 3) = ((float)iStack8 * fVar1) / ((float)piVar5[2] - (float)piVar5[1]); - piVar5 = piVar6; - } while (piVar6 != &DAT_80036b30); - ppfVar7 = (float **)&DAT_8002a7d0; - ppfVar3 = apfStack80; - do { - ppfVar8 = ppfVar7 + 3; - ppfVar4 = ppfVar3 + 3; - *ppfVar3 = *ppfVar7; - ppfVar3[1] = ppfVar7[1]; - ppfVar3[2] = ppfVar7[2]; - ppfVar7 = ppfVar8; - ppfVar3 = ppfVar4; - } while (ppfVar8 != (float **)0x8002a80c); - *ppfVar4 = pfRam8002a80c; - FUN_7f070298(_DAT_8007a120 + 0x598,_DAT_80069578 + 0x1c,0,0.00000000,0x3f000000,0.00000000); - FUN_7f06dca0(_DAT_8007a120 + 0x598,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - apfStack80[0] = afStack144; - init_0x40_bytes_data_at_address_last_word_1_0(apfStack80[0]); - iStack64 = _DAT_8007a120 + 0x6d0; - FUN_7f06f8e8(apfStack80,_DAT_8007a120 + 0x598,extraout_a2_lo_00,extraout_a3_lo_00); - *(undefined4 *)(_DAT_8007a120 + 0x550) = *(undefined4 *)(_DAT_8007a120 + 0x704); - *(undefined4 *)(_DAT_8007a120 + 0x554) = 0; - *(float *)(_DAT_8007a120 + 0x558) = - *(float *)(_DAT_8007a120 + 0x744) - *(float *)(_DAT_8007a120 + 0x704); - *(float *)(_DAT_8007a120 + 0x55c) = - *(float *)(_DAT_8007a120 + 0x748) - *(float *)(_DAT_8007a120 + 0x708); - FUN_7f070298(_DAT_8007a120 + 0x598, - (&DAT_80036b00)[*(int *)(_DAT_8007a120 + 0x4e8) * 6] + _DAT_80069578,0, - (float)(&DAT_80036b04)[*(int *)(_DAT_8007a120 + 0x4e8) * 6],0x3f000000,0.00000000); - sub_7F06FDCC(_DAT_8007a120 + 0x598,(&DAT_80036b04)[*(int *)(_DAT_8007a120 + 0x4e8) * 6],0); - loc_7F06FE2C(_DAT_8007a120 + 0x598,(float)(&DAT_80036b08)[*(int *)(_DAT_8007a120 + 0x4e8) * 6]); - sub_7F06FE3C(_DAT_8007a120 + 0x598,&LAB_7f08e690); - FUN_7f08e6a8(); - return; -} - - - -ulonglong FUN_7f0067e0(float *param_1,byte *param_2,int **param_3) - -{ - longlong lVar1; - int *piVar3; - ulonglong uVar2; - uint uVar4; - float fStack12; - float fStack8; - float fStack4; - - piVar3 = loc_7F0B2EF0(param_2); - uVar2 = SEXT48((int)piVar3); - *param_3 = piVar3; - if ((piVar3 == NULL) || (uVar2 = FUN_7f0b0f1c(piVar3,*param_1,param_1[2]), uVar2 == 0)) { - fStack12 = *param_1; - fStack8 = param_1[1]; - fStack4 = param_1[2]; - piVar3 = loc_7F0AFCE0(&fStack12,&fStack8,&fStack4,0.00000000); - piVar3 = (int *)((uint)uVar2 & 0xffffff00 | (uint)piVar3 >> 0x18); - *param_3 = piVar3; - if ((uVar2 & 0xffffffff00000000 | ZEXT48(piVar3)) == 0) { - *param_3 = NULL; - } - else { - lVar1 = sub_7F0B0BE4((int *)param_3,fStack12,fStack4,*param_1,param_1[2]); - if (lVar1 != 0) { - uVar4 = 2; - goto LAB_7f006890; - } - *param_3 = NULL; - } - uVar4 = 0; - } - else { - uVar4 = 1; - } -LAB_7f006890: - return (ulonglong)uVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0068b0(void) - -{ - int **ppiVar1; - bool bVar2; - bool bVar3; - bool bVar4; - int *piVar5; - int iVar6; - int *piVar7; - int *piVar8; - int iVar9; - int **ppiVar10; - int iVar11; - int iVar12; - int iVar13; - int *piVar14; - int **ppiStack152; - int iStack68; - int aiStack64 [14]; - int **ppiStack8; - - piVar5 = _DAT_80075d40; - bVar2 = false; - ppiStack8 = _DAT_80075d44; - if ((_DAT_80075d40 != NULL) && (iVar13 = 0, -1 < *_DAT_80075d40)) { - piVar14 = (int *)_DAT_80075d40[1]; - do { - iVar6 = *piVar14; - while (-1 < iVar6) { - if (iVar6 == iVar13) { - bVar2 = true; - if (_DAT_80075d60 == 0) { - iVar6 = piVar14[1]; - } - else { - iVar6 = piVar14[1]; - } - } - else { - piVar7 = (int *)(_DAT_80075d40 + iVar6 * 4)[1]; - iVar9 = 0; - if (*piVar7 < 0) { - iVar9 = 0; - } - else { - if (iVar13 == *piVar7) { -LAB_7f00698c: - iVar9 <<= 2; - } - else { - iVar11 = 4; - while (iVar9 += 1, -1 < *(int *)((int)piVar7 + iVar11)) { - if (iVar13 == *(int *)((_DAT_80075d40 + iVar6 * 4)[1] + iVar11)) goto LAB_7f00698c; - iVar11 += 4; - } - iVar9 *= 4; - } - } - if (iVar13 == *(int *)((int)piVar7 + iVar9)) { - iVar6 = piVar14[1]; - } - else { - bVar2 = true; - iVar6 = piVar14[1]; - } - } - piVar14 = piVar14 + 1; - } - iVar13 += 1; - if (_DAT_80075d40[iVar13 * 4] < 0) break; - piVar14 = (int *)(_DAT_80075d40 + iVar13 * 4)[1]; - } while( true ); - } - if (_DAT_80075d44 != NULL) { - iVar13 = 0; - if (*_DAT_80075d44 != NULL) { - ppiStack152 = _DAT_80075d44; - piVar14 = *_DAT_80075d44; - do { - iVar9 = 0; - iVar6 = *piVar14; - while (-1 < iVar6) { - if (iVar6 == iVar13) { - bVar2 = true; - if (_DAT_80075d64 == 0) { - piVar14 = *ppiStack152; - } - else { - piVar14 = *ppiStack152; - } - } - else { - iVar11 = 0; - ppiVar10 = ppiStack8 + iVar6 * 3; - piVar14 = *ppiVar10; - if (*piVar14 < 0) { - iVar11 = 0; - } - else { - iVar6 = 0; - if (iVar13 == *piVar14) { - iVar11 = 0; - } - else { - iVar12 = piVar14[1]; - piVar7 = piVar14; - while( true ) { - iVar11 += 1; - iVar6 += 4; - if ((iVar12 < 0) || (iVar13 == *(int *)((int)*ppiVar10 + iVar6))) break; - iVar12 = piVar7[2]; - piVar7 = piVar7 + 1; - } - iVar11 *= 4; - } - } - if (iVar13 == *(int *)((int)piVar14 + iVar11)) { - if (_DAT_80075d40 != NULL) { - FUN_7f08ff18((int)ppiStack152,(int)ppiVar10,aiStack64,&iStack68); - if (aiStack64[0] == 0) { - bVar2 = true; - } - else { - if (iStack68 != 0) { - piVar14 = *ppiStack152; - goto LAB_7f006af4; - } - bVar2 = true; - } - } - piVar14 = *ppiStack152; - } - else { - bVar2 = true; - if (_DAT_80075d64 == 0) { - piVar14 = *ppiStack152; - } - else { - piVar14 = *ppiStack152; - } - } - } -LAB_7f006af4: - iVar9 += 4; - iVar6 = *(int *)((int)piVar14 + iVar9); - } - iVar13 += 1; - ppiStack152 = ppiStack152 + 3; - if (*ppiStack152 == NULL) break; - piVar14 = *ppiStack152; - } while( true ); - } - } - if ((piVar5 != NULL) && (ppiStack8 != NULL)) { - piVar14 = *ppiStack8; - iVar13 = 0; - ppiVar10 = ppiStack8; - if (piVar14 != NULL) { - do { - piVar14 = ppiVar10[1]; - iVar9 = 0; - iVar6 = *piVar14; - while (-1 < iVar6) { - iVar11 = (piVar5 + iVar6 * 4)[2]; - if (iVar11 < 0) { - (piVar5 + iVar6 * 4)[2] = iVar13; - piVar14 = ppiVar10[1]; - iVar6 = (int)piVar14 + iVar9; - } - else { - iVar6 = (int)piVar14 + iVar9; - if (iVar13 != iVar11) { - bVar2 = true; - } - } - iVar6 = *(int *)(iVar6 + 4); - iVar9 += 4; - } - ppiVar1 = ppiVar10 + 3; - iVar13 += 1; - ppiVar10 = ppiVar10 + 3; - } while (*ppiVar1 != NULL); - piVar14 = *ppiStack8; - } - iVar13 = 0; - if (-1 < *piVar5) { - iVar6 = piVar5[2]; - while( true ) { - iVar13 += 1; - if (iVar6 < 0) { - bVar2 = true; - } - if (piVar5[iVar13 * 4] < 0) break; - iVar6 = (piVar5 + iVar13 * 4)[2]; - } - } - if (piVar14 != NULL) { - piVar14 = ppiStack8[1]; - do { - iVar13 = *piVar14; - iVar6 = 0; - if (-1 < iVar13) { - do { - if (iVar6 == 0) { - piVar5[iVar13 * 4 + 3] = 1; - } - else { - piVar5[iVar13 * 4 + 3] = 0; - } - piVar14 = ppiStack8[1]; - iVar6 += 4; - iVar13 = *(int *)((int)piVar14 + iVar6); - } while (-1 < iVar13); - iVar13 = *piVar14; - } - do { - bVar3 = false; - bVar4 = false; - iVar6 = 0; - if (-1 < iVar13) { - do { - piVar7 = piVar5 + iVar13 * 4; - iVar6 += 4; - if (piVar7[3] == 1) { - piVar8 = (int *)piVar7[1]; - iVar9 = 0; - iVar13 = *piVar8; - if (-1 < iVar13) { - do { - iVar9 += 4; - if ((piVar5 + iVar13 * 4)[3] != 1) { - (piVar5 + iVar13 * 4)[3] = 1; - piVar8 = (int *)piVar7[1]; - bVar3 = true; - } - iVar13 = *(int *)((int)piVar8 + iVar9); - } while (-1 < iVar13); - piVar14 = ppiStack8[1]; - } - } - iVar13 = *(int *)((int)piVar14 + iVar6); - } while (-1 < iVar13); - iVar13 = *piVar14; - } - iVar9 = 0; - iVar6 = iVar13; - while (-1 < iVar6) { - iVar9 += 1; - if (piVar5[iVar6 * 4 + 3] != 1) { - bVar4 = true; - break; - } - iVar6 = piVar14[iVar9]; - } - } while ((bVar3) && (bVar4)); - if (bVar4) { - bVar2 = true; - if (_DAT_80075d64 == 0) { - piVar14 = ppiStack8[3]; - } - else { - piVar14 = ppiStack8[3]; - } - } - else { - piVar14 = ppiStack8[3]; - } - if (piVar14 == NULL) break; - piVar14 = ppiStack8[4]; - ppiStack8 = ppiStack8 + 3; - } while( true ); - } - } - if (!bVar2) { - return; - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f006db0(void) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - int iVar4; - int iVar5; - undefined2 *puVar6; - - DAT_800401a0 = 0; - DAT_800401a4 = 0; - DAT_80040830 = 0; - DAT_80040834 = 0; - DAT_80040838 = 0; - DAT_800401a8 = 0x3f800000; - _DAT_8007a1b4 = FUN_70009730(0x1740,4); - iVar3 = 0; - iVar4 = 0; - do { - iVar2 = 0; - *(undefined4 *)(_DAT_8007a1b4 + iVar4) = 0; - do { - *(undefined2 *)(_DAT_8007a1b4 + iVar3 * 0x3e0 + iVar2 + 0x1c) = 0; - *(undefined2 *)(_DAT_8007a1b4 + iVar3 * 0x3e0 + iVar2 + 0x34) = 0; - *(undefined2 *)(_DAT_8007a1b4 + iVar3 * 0x3e0 + iVar2 + 0x4c) = 0; - iVar5 = _DAT_8007a1b4 + iVar3 * 0x3e0 + iVar2; - iVar2 += 0x60; - *(undefined2 *)(iVar5 + 100) = 0; - } while (iVar2 != 0x3c0); - iVar3 += 1; - iVar4 += 0x3e0; - } while (iVar3 < 6); - _DAT_8007a1b0 = FUN_70009730(0x1fe0,4); - iVar3 = 0; - iVar4 = 0; - do { - *(undefined4 *)(_DAT_8007a1b0 + iVar4) = 0; - *(undefined4 *)(_DAT_8007a1b0 + iVar3 * 0x198 + 0x14) = 0; - *(undefined4 *)(_DAT_8007a1b0 + iVar3 * 0x198 + 0x3c) = 0; - iVar2 = 0x50; - do { - *(undefined4 *)(_DAT_8007a1b0 + iVar3 * 0x198 + iVar2 + 0x14) = 0; - *(undefined4 *)(_DAT_8007a1b0 + iVar3 * 0x198 + iVar2 + 0x3c) = 0; - *(undefined4 *)(_DAT_8007a1b0 + iVar3 * 0x198 + iVar2 + 100) = 0; - iVar5 = _DAT_8007a1b0 + iVar3 * 0x198 + iVar2; - iVar2 += 0xa0; - *(undefined4 *)(iVar5 + 0x8c) = 0; - } while (iVar2 != 400); - iVar3 += 1; - iVar4 += 0x198; - } while (iVar3 < 0x14); - uVar1 = get_num_players(); - if (uVar1 == 1) { - _DAT_8007a1c0 = FUN_70009730(0x6e0,4); - iVar3 = 0; - do { - *(undefined2 *)(_DAT_8007a1c0 + iVar3) = 0xffff; - *(undefined2 *)(_DAT_8007a1c0 + iVar3 + 0x58) = 0xffff; - *(undefined2 *)(_DAT_8007a1c0 + iVar3 + 0xb0) = 0xffff; - iVar4 = _DAT_8007a1c0 + iVar3; - iVar3 += 0x160; - *(undefined2 *)(iVar4 + 0x108) = 0xffff; - } while (iVar3 != 0x6e0); - } - _DAT_8007a1c4 = FUN_70009730(8000,4); - iVar3 = 0; - do { - puVar6 = (undefined2 *)(_DAT_8007a1c4 + iVar3); - iVar3 += 0x50; - *puVar6 = 0xffff; - } while (iVar3 < 8000); - uVar1 = get_num_players(); - _DAT_8007a1b8 = 200 / (int)uVar1; - if (uVar1 == 0) { - trap(0x1c00); - } - if ((uVar1 == 0xffffffffffffffff) && (false)) { - trap(0x1800); - } - iVar3 = FUN_7f0beac4(); - if ((iVar3 == 0x1d) || (iVar3 = FUN_7f0beac4(), iVar3 == 0x1e)) { - _DAT_8007a1b8 >>= 1; - } - _DAT_8007a1bc = FUN_70009730(_DAT_8007a1b8 * 0x78 + 0xfU & 0xfffffff0,4); - iVar3 = 0; - if (0 < _DAT_8007a1b8) { - iVar4 = 0; - do { - iVar3 += 1; - *(undefined4 *)(_DAT_8007a1bc + iVar4) = 0; - iVar4 += 0x78; - } while (iVar3 < _DAT_8007a1b8); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0071a0(void) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - - iVar2 = FUN_7f0beac4(); - uVar1 = get_num_players(); - _DAT_8007a1d0 = 200 / (int)uVar1; - if (uVar1 == 0) { - trap(0x1c00); - } - if ((uVar1 == 0xffffffffffffffff) && (false)) { - trap(0x1800); - } - if ((iVar2 == 0x1d) || (iVar2 == 0x1e)) { - _DAT_8007a1d0 >>= 1; - } - _DAT_8007a1d4 = FUN_70009730(_DAT_8007a1d0 * 0x68 + 0xfU & 0xfffffff0,4); - iVar2 = 0; - if (0 < _DAT_8007a1d0) { - iVar3 = 0; - do { - iVar2 += 1; - *(undefined4 *)(_DAT_8007a1d4 + iVar3) = 0; - iVar3 += 0x68; - } while (iVar2 < _DAT_8007a1d0); - } - DAT_80040970 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0072b0(void) - -{ - _DAT_80079ef0 = 0; - _DAT_80079ef4 = 0; - _DAT_80079ef8 = 0; - return; -} - - - -void FUN_7f0072d0(void) - -{ - undefined *puVar1; - - DAT_80079ea0 = 0; - DAT_80079ea1 = 0; - DAT_80079ea2 = 0; - puVar1 = &DAT_80079ea3; - do { - puVar1 = puVar1 + 4; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != (undefined *)0x80079eeb); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f007318(void) - -{ - *(undefined *)(_DAT_8007a120 + 0x12b4) = 0; - *(undefined *)(_DAT_8007a120 + 0x12b5) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f007340(void) - -{ - byte *pbVar1; - uint uVar2; - - _DAT_8008d100 = 0; - pbVar1 = loc_7000A740(1,&DAT_8004f230); - if (pbVar1 != NULL) { - pbVar1 = loc_7000A740(1,&DAT_8004f234); - uVar2 = loc_7000AC44(pbVar1,NULL,0); - DAT_800491a0 = uVar2 << 10; - } - uVar2 = FUN_70009730(DAT_800491a0,4); - sub_7F0CBAF4((int *)&DAT_8008c790,uVar2,DAT_800491a0); - return; -} - - - -void FUN_7f0073d0(void) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar3 = 0; - if (0 < DAT_8002cca8) { - iVar2 = 0; - iVar1 = DAT_8002cca8; - do { - if (*(int *)(DAT_8002cca4 + iVar2 + 0x1c) != 0) { - loc_7F020528(*(int *)(DAT_8002cca4 + iVar2 + 0x18)); - FUN_7f03a838(*(int *)(DAT_8002cca4 + iVar2 + 0x18)); - unset_stateflag_0x04_for_posdata(*(int *)(DAT_8002cca4 + iVar2 + 0x18)); - FUN_7f03a784(*(int *)(DAT_8002cca4 + iVar2 + 0x18)); - iVar1 = DAT_8002cca8; - } - iVar3 += 1; - iVar2 += 0x1dc; - } while (iVar3 < iVar1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f007480(void) - -{ - ulonglong uVar1; - int iVar2; - int *piVar3; - - piVar3 = (int *)&DAT_80069bb0; - iVar2 = _DAT_80069bb0; - while( true ) { - if ((iVar2 != 0) && (uVar1 = locret_70008E00(iVar2), uVar1 != 0)) { - loc_7000905C(*piVar3); - } - piVar3 = piVar3 + 6; - if (piVar3 == (int *)&DAT_80069c70) break; - iVar2 = *piVar3; - } - return; -} - - - -void FUN_7f0074f0(void) - -{ - FUN_7f056328(); - FUN_7f0563f4(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f007520(void) - -{ - char cVar1; - undefined8 uVar2; - int iVar3; - - if (_DAT_80075d4c != 0) { - cVar1 = *(char *)(_DAT_80075d4c + 3); - iVar3 = _DAT_80075d4c; - while (cVar1 != '0') { - if (true) { - switch(cVar1) { - case '\x01': - case '\x03': - case '\x04': - case '\x05': - case '\x06': - case '\a': - case '\b': - case '\n': - case '\v': - case '\f': - case '\r': - case '\x11': - case '\x14': - case '\x15': - case '$': - case '\'': - case '(': - case ')': - case '*': - case '+': - case '-': - case '/': - FUN_7f041324(iVar3,1); - } - } - uVar2 = FUN_7f056df4(iVar3); - iVar3 = (int)uVar2 * 4 + iVar3; - cVar1 = *(char *)(iVar3 + 3); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0075b0(void) - -{ - int iVar1; - int iVar2; - int *piVar3; - - piVar3 = (int *)&DAT_80075d78; - iVar2 = 8; - if (((_DAT_80075d70 != 0) && ((*(byte *)(_DAT_80075d70 + 0xe) & 1) != 0)) && (_DAT_80075d98 != 2)) - { - _DAT_80075d98 = 1; - } - if (((_DAT_80075d74 != 0) && ((*(byte *)(_DAT_80075d74 + 0xe) & 1) != 0)) && (_DAT_80075d9c != 2)) - { - _DAT_80075d9c = 1; - } - do { - if (*piVar3 == 0) { - iVar1 = piVar3[1]; - } - else { - if ((*(byte *)(*piVar3 + 0xe) & 1) == 0) { - iVar1 = piVar3[1]; - } - else { - if (*(int *)(&DAT_80075d98 + iVar2) == 2) { - iVar1 = piVar3[1]; - } - else { - *(int *)(&DAT_80075d98 + iVar2) = 1; - iVar1 = piVar3[1]; - } - } - } - if (iVar1 == 0) { - iVar1 = piVar3[2]; - } - else { - if ((*(byte *)(iVar1 + 0xe) & 1) == 0) { - iVar1 = piVar3[2]; - } - else { - if (*(int *)(&DAT_80075d9c + iVar2) == 2) { - iVar1 = piVar3[2]; - } - else { - *(undefined4 *)(&DAT_80075d9c + iVar2) = 1; - iVar1 = piVar3[2]; - } - } - } - if (iVar1 == 0) { - iVar1 = piVar3[3]; - } - else { - if ((*(byte *)(iVar1 + 0xe) & 1) == 0) { - iVar1 = piVar3[3]; - } - else { - if (*(int *)(&DAT_80075da0 + iVar2) == 2) { - iVar1 = piVar3[3]; - } - else { - *(undefined4 *)(&DAT_80075da0 + iVar2) = 1; - iVar1 = piVar3[3]; - } - } - } - piVar3 = piVar3 + 4; - if (((iVar1 != 0) && ((*(byte *)(iVar1 + 0xe) & 1) != 0)) && - (*(int *)(&DAT_80075da4 + iVar2) != 2)) { - *(undefined4 *)(&DAT_80075da4 + iVar2) = 1; - } - iVar2 += 0x10; - } while (piVar3 != (int *)&DAT_80075d98); - return; -} - - - -void FUN_7f007720(void) - -{ - ulonglong uVar1; - - if ((DAT_80036498 != 0) && (uVar1 = locret_70008E00(DAT_80036498), uVar1 != 0)) { - loc_7000905C(DAT_80036498); - } - if ((DAT_8003649c != 0) && (uVar1 = locret_70008E00(DAT_8003649c), uVar1 != 0)) { - loc_7000905C(DAT_8003649c); - } - return; -} - - - -void FUN_7f007790(void) - -{ - ulonglong uVar1; - int iVar2; - ulonglong uVar3; - undefined4 uStack8; - undefined4 uStack4; - - uVar1 = get_num_players(); - iVar2 = get_cur_playernum(); - uVar3 = 0; - if (0 < (longlong)uVar1) { - do { - FUN_7f09bcac((int)uVar3); - FUN_7f08e5f0(&uStack4,&uStack8); - FUN_7f01d824(uStack4,uStack8); - uVar3 = SEXT48((int)uVar3 + 1); - } while (uVar3 != uVar1); - } - FUN_7f09bcac(iVar2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F007908(void) - -{ - int iVar1; - - DAT_800401a0 = 0; - video_related_9(0.00000000); - iVar1 = 0; - if (_DAT_8007a1b4 != 0) { - do { - if (*(int *)(_DAT_8007a1b4 + iVar1) != 0) { - FUN_7f03a838(*(int *)(_DAT_8007a1b4 + iVar1)); - unset_stateflag_0x04_for_posdata(*(int *)(_DAT_8007a1b4 + iVar1)); - FUN_7f03a784(*(int *)(_DAT_8007a1b4 + iVar1)); - *(undefined4 *)(_DAT_8007a1b4 + iVar1) = 0; - } - iVar1 += 0x3e0; - } while (iVar1 != 0x1740); - } - iVar1 = 0; - if (_DAT_8007a1b0 != 0) { - do { - if (*(int *)(_DAT_8007a1b0 + iVar1) != 0) { - FUN_7f03a838(*(int *)(_DAT_8007a1b0 + iVar1)); - unset_stateflag_0x04_for_posdata(*(int *)(_DAT_8007a1b0 + iVar1)); - FUN_7f03a784(*(int *)(_DAT_8007a1b0 + iVar1)); - *(undefined4 *)(_DAT_8007a1b0 + iVar1) = 0; - } - iVar1 += 0x198; - } while (iVar1 != 0x1fe0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f007940(void) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - iVar2 = 0; - if (0 < _DAT_8007a1d0) { - do { - iVar1 += 1; - *(undefined4 *)(_DAT_8007a1d4 + iVar2) = 0; - iVar2 += 0x68; - } while (iVar1 < _DAT_8007a1d0); - } - return; -} - - - -void FUN_7f007990(void) - -{ - return; -} - - - -void FUN_7f0079a0(void) - -{ - int iVar1; - ulonglong uVar2; - int iVar3; - int *piVar4; - longlong lVar5; - int iVar6; - - lVar5 = 0; - uVar2 = get_num_players(); - if (0 < (longlong)uVar2) { - piVar4 = (int *)&DAT_80079f50; - do { - iVar3 = 0; - iVar6 = *piVar4; - while( true ) { - iVar1 = *(int *)(iVar6 + iVar3 + 0xa44); - if ((iVar1 != 0) && (uVar2 = locret_70008E00(iVar1), uVar2 != 0)) { - loc_7000905C(*(int *)(iVar6 + iVar3 + 0xa44)); - } - iVar3 += 0x3a8; - if (iVar3 == 0x750) break; - iVar6 = *piVar4; - } - lVar5 = (longlong)((int)lVar5 + 1); - piVar4 = piVar4 + 1; - uVar2 = get_num_players(); - } while (lVar5 < (longlong)uVar2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f007a60(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint uVar2; - - FUN_70016d58((uint *)(DAT_8002a810 * 0x40 + _DAT_800695a4),_DAT_800695b4,_DAT_800695b8,0xc0a00000) - ; - FUN_70016d58((uint *)(DAT_8002a810 * 0x40 + _DAT_800695a8),_DAT_800695bc,_DAT_800695c0,0xc0a00000) - ; - *param_1 = 0x6000000; - param_1[1] = 0x1000000; - puVar1 = insert_imageDL(param_1 + 2); - puVar1 = sub_7F01C1A4(puVar1); - *puVar1 = 0xfcffffff; - puVar1[1] = 0xfffdf6fb; - puVar1[2] = 0xfa000000; - puVar1[3] = 0xe6e6e600; - puVar1[4] = 0x6000000; - puVar1[5] = _DAT_80069594 + -0x80000000; - puVar1[6] = 0x1020040; - uVar2 = osVirtualToPhysical(DAT_8002a810 * 0x40 + _DAT_800695a8); - puVar1[7] = uVar2; - puVar1[8] = 0x6000000; - puVar1[9] = _DAT_80069594 + -0x80000000; - return puVar1 + 10; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f007bb4(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint uVar2; - - FUN_70016d58((uint *)(DAT_8002a810 * 0x40 + _DAT_800695a4),_DAT_800695b4 + 768.00000000, - _DAT_800695b8 - 40.00000000,0xc0a00000); - guScale((uint *)(DAT_8002a810 * 0x40 + _DAT_800695a8),0x402ccccd,0x40247ae1,0x3f800000); - param_1[1] = 0x1000000; - *param_1 = 0x6000000; - param_1[3] = 0x1000040; - param_1[2] = 0x6000000; - puVar1 = sub_7F01C1A4(param_1 + 4); - *puVar1 = 0x1000040; - uVar2 = osVirtualToPhysical(DAT_8002a810 * 0x40 + _DAT_800695a8); - puVar1[1] = uVar2; - puVar1[2] = 0x6000000; - puVar1[3] = _DAT_80069594 + -0x80000000; - return puVar1 + 4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * sub_7F007CC8(undefined4 *param_1,int param_2,int *param_3,int *param_4) - -{ - undefined4 *puVar1; - - *param_1 = 0xb900031d; - param_1[1] = 0xf0a4000; - param_1[2] = 0xba001402; - param_1[3] = 0; - param_1[4] = 0xba001301; - param_1[5] = 0; - param_1[6] = 0xba000c02; - param_1[7] = 0; - param_1[8] = 0xe7000000; - param_1[9] = 0; - puVar1 = loc_7F01B674(param_1 + 10,_DAT_800695cc + -0x80000000,(longlong)param_2,param_3,param_4); - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f007dac(undefined4 *param_1) - -{ - undefined4 *puVar1; - short sVar2; - float fVar3; - int iStack24; - undefined4 uStack20; - undefined4 uStack16; - int iStack12; - undefined4 uStack8; - undefined4 uStack4; - - iStack12 = DAT_8002a81c; - uStack8 = DAT_8002a820; - uStack4 = DAT_8002a824; - iStack24 = DAT_8002a828; - uStack20 = DAT_8002a82c; - uStack16 = DAT_8002a830; - *param_1 = 0x6000000; - param_1[1] = 0x1000000; - puVar1 = insert_imageDL(param_1 + 2); - puVar1[1] = 0xfffff7fb; - *puVar1 = 0xfc11fe23; - sVar2 = get_video2_settings_txtClipW(); - fVar3 = loc_7F05C3C8(((float)(int)sVar2 * _DAT_800695b4) / 1280.00000000); - puVar1 = sub_7F007CC8(puVar1 + 2,(int)fVar3,&iStack12,&iStack24); - return puVar1; -} - - - -undefined4 * FUN_7f007e90(undefined4 *param_1,uint param_2) - -{ - undefined4 *puVar1; - short sVar2; - short sVar3; - - puVar1 = sub_7F01C1A4(param_1); - *puVar1 = 0xb900031d; - puVar1[1] = 0x504340; - puVar1[2] = 0xfcffffff; - puVar1[3] = 0xfffdf6fb; - puVar1[4] = 0xfa000000; - puVar1[5] = param_2 & 0xff; - puVar1[6] = 0xba000602; - puVar1[7] = 0; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1[8] = ((int)sVar3 & 0x3ffU) << 2 | 0xf6000000 | ((int)sVar2 & 0x3ffU) << 0xe; - puVar1[9] = 0; - return puVar1 + 10; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f007f50(undefined4 param_1,int param_2,float *param_3) - -{ - ushort **ppuVar1; - undefined4 uVar2; - undefined2 *puVar3; - undefined4 *puVar4; - int *piVar5; - uint *puVar6; - uint extraout_a1_lo; - ushort *puVar7; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - int iVar8; - float **ppfVar9; - float **ppfVar10; - float **ppfVar11; - float **ppfVar12; - int iVar14; - longlong lVar13; - undefined4 uVar15; - undefined4 auStack216 [16]; - undefined4 auStack152 [21]; - float *pfStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - undefined4 uStack20; - - ppfVar11 = (float **)&DAT_8002a83c; - ppfVar9 = &pfStack68; - do { - ppfVar12 = ppfVar11 + 3; - ppfVar10 = ppfVar9 + 3; - *ppfVar9 = *ppfVar11; - ppfVar9[1] = ppfVar11[1]; - ppfVar9[2] = ppfVar11[2]; - ppfVar11 = ppfVar12; - ppfVar9 = ppfVar10; - } while (ppfVar12 != (float **)0x8002a878); - uVar15 = 0; - iVar14 = 0; - *ppfVar10 = pfRam8002a878; - uVar2 = 0; - if (0 < param_2) { - do { - uVar15 = uVar2; - iVar8 = _DAT_800695d4 + 1; - if (-1 < _DAT_800695d4) { - _DAT_800695d4 = iVar8; - if (iVar8 == 0x89) { - _DAT_800695d4 = iVar8; - FUN_7f070298(DAT_8002a834,_DAT_80069578 + 0x4298,0,2.00000000,DAT_8004f300,16.00000000); - } - if (_DAT_800695d4 == 0xd4) { - loc_7F06FE84(DAT_8002a834,0x3fcccccd,8.00000000); - } - } - loc_7F070F58(DAT_8002a834,1,1); - if (_DAT_800695d4 == 0xe6) { - uVar15 = 1; - FUN_70008e18((longlong)_DAT_80063760,0x6f,NULL); - } - iVar14 += 1; - uVar2 = uVar15; - } while (iVar14 != param_2); - } - lVar13 = 0; - FUN_7f06c9f0(1); - FUN_7f0745b8(0x50); - FUN_7f06dca0(DAT_8002a834,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - ppuVar1 = *(ushort ***)(*(int *)(DAT_8002a838 + 8) + 8); - puVar7 = *ppuVar1; - if (puVar7 == NULL) { - puVar7 = ppuVar1[2]; - } - else { - puVar3 = (undefined2 *)loc_7F06C888(DAT_8002a838,puVar7); - *puVar3 = (short)uVar15; - puVar7 = *(ushort **)(*(int *)(*(int *)(DAT_8002a838 + 8) + 8) + 8); - } - if (puVar7 != NULL) { - puVar4 = (undefined4 *)loc_7F06C888(DAT_8002a838,puVar7); - *puVar4 = uVar15; - } - pfStack68 = param_3; - uStack52 = FUN_7f0be2c4((int)*(short *)(*(int *)(DAT_8002a834 + 8) + 0xe) << 6); - FUN_7f06f8e8(&pfStack68,DAT_8002a834,extraout_a2_lo_00,extraout_a3_lo_00); - pfStack68 = (float *)FUN_7f06cc50(DAT_8002a834,*(ushort **)(DAT_8002a838 + 0x1c),0); - uStack52 = FUN_7f0be2c4((int)*(short *)(*(int *)(DAT_8002a838 + 8) + 0xe) << 6); - FUN_7f06f838(&pfStack68,DAT_8002a838,extraout_a2_lo_01,extraout_a3_lo_01); - piVar5 = FUN_7f06b710(NULL,DAT_8002a834); - piVar5 = FUN_7f06b710(piVar5,DAT_8002a838); - loc_7F06BB14(piVar5); - puVar6 = (uint *)loc_7F06BC00((int)piVar5); - uStack20 = 7; - uStack64 = 0; - uStack60 = 1; - uStack56 = param_1; - loc_7F06BDE4((int)&pfStack68,puVar6,extraout_a2_lo_02,extraout_a3_lo_02); - uStack60 = 2; - loc_7F06BDE4((int)&pfStack68,puVar6,extraout_a2_lo_03,extraout_a3_lo_03); - FUN_7f06c9f0(0); - FUN_7f06b838((int)puVar6); - iVar14 = 0; - if (0 < *(short *)(*(int *)(DAT_8002a834 + 8) + 0xe)) { - iVar8 = *(int *)(DAT_8002a834 + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar8 + iVar14),auStack152); - FUN_7f0591bc((int)auStack152,(uint *)(*(int *)(DAT_8002a834 + 0xc) + (int)lVar13 * 0x40)); - lVar13 = (longlong)((int)lVar13 + 1); - iVar14 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_8002a834 + 8) + 0xe) <= lVar13) break; - iVar8 = *(int *)(DAT_8002a834 + 0xc); - } - } - lVar13 = 0; - iVar14 = 0; - if (0 < *(short *)(*(int *)(DAT_8002a838 + 8) + 0xe)) { - iVar8 = *(int *)(DAT_8002a838 + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar8 + iVar14),auStack216); - FUN_7f0591bc((int)auStack216,(uint *)(*(int *)(DAT_8002a838 + 0xc) + (int)lVar13 * 0x40)); - lVar13 = (longlong)((int)lVar13 + 1); - iVar14 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_8002a838 + 8) + 0xe) <= lVar13) break; - iVar8 = *(int *)(DAT_8002a838 + 0xc); - } - } - return uStack56; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0082e8(undefined4 *param_1) - -{ - uint uVar1; - undefined4 uVar2; - ushort local_42; - float afStack64 [16]; - - FUN_70016d58((uint *)(DAT_8002a810 * 0x40 + _DAT_800695ac),0,0,0); - guPerspective((uint *)(DAT_8002a810 * 0x40 + _DAT_800695b0),&local_42,46.00000000,1.33333337, - 10.00000000,DAT_8004f304,1.00000000); - *param_1 = 0xbc00000e; - param_1[1] = (uint)local_42; - param_1[2] = 0xfcffffff; - param_1[3] = 0xfffe793c; - param_1[4] = 0xb900031d; - param_1[5] = 0x552048; - param_1[6] = 0x1030040; - uVar1 = osVirtualToPhysical(DAT_8002a810 * 0x40 + _DAT_800695b0); - param_1[7] = uVar1; - param_1[8] = 0x1020040; - uVar1 = osVirtualToPhysical(DAT_8002a810 * 0x40 + _DAT_800695ac); - param_1[9] = uVar1; - FUN_7f059bb4(afStack64,DAT_8002a87c,DAT_8002a880,DAT_8002a884,DAT_8002a888 + DAT_8002a87c, - DAT_8002a88c + DAT_8002a880,DAT_8002a890 + DAT_8002a884,DAT_8002a894,DAT_8002a898, - DAT_8002a89c); - uVar2 = FUN_7f007f50(param_1 + 10,2,afStack64); - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * -loc_7F008B10(undefined4 *param_1,undefined8 param_2,undefined8 param_3,int param_4,uint param_5) - -{ - undefined4 *puVar1; - uint uVar2; - ushort local_6 [3]; - - DAT_8002a8c0 = (float)param_4; - *param_1 = 0x6000000; - param_1[1] = 0x1000000; - puVar1 = insert_imageDL(param_1 + 2); - guPerspective((uint *)(DAT_8002a810 * 0x40 + _DAT_80069598),local_6,60.00000000,1.33333337, - 100.00000000,DAT_8004f308,1.00000000); - *puVar1 = 0xbc00000e; - puVar1[1] = (uint)local_6[0]; - puVar1[2] = 0x1030040; - uVar2 = osVirtualToPhysical(DAT_8002a810 * 0x40 + _DAT_80069598); - puVar1[3] = uVar2; - puVar1[5] = 0xffffffff; - puVar1[4] = 0xb6000000; - puVar1[6] = 0xb7000000; - puVar1[7] = 0x62204; - guLookAt((uint *)(DAT_8002a810 * 0x40 + _DAT_800695a0),DAT_8002a8b8,DAT_8002a8bc,DAT_8002a8c0, - DAT_8002a8c4 + DAT_8002a8b8,DAT_8002a8c8 + DAT_8002a8bc,DAT_8002a8cc + DAT_8002a8c0, - DAT_8002a8d0,DAT_8002a8d4,DAT_8002a8d8); - puVar1[8] = 0x1020040; - uVar2 = osVirtualToPhysical(DAT_8002a810 * 0x40 + _DAT_800695a0); - puVar1[9] = uVar2; - guRotate((uint *)(DAT_8002a810 * 0x40 + _DAT_800695a4),DAT_8002a8dc,0.00000000,1.00000000, - 0.00000000); - DAT_8002a8dc = DAT_8002a8dc + 2.00000000; - puVar1[10] = 0x1000040; - uVar2 = osVirtualToPhysical(DAT_8002a810 * 0x40 + _DAT_800695a4); - puVar1[0xb] = uVar2; - puVar1[0xc] = 0xbc000002; - puVar1[0xd] = 0x80000040; - puVar1[0xe] = 0x3860010; - puVar1[0xf] = 0x8002a8a8; - puVar1[0x10] = 0x3880010; - puVar1[0x11] = 0x8002a8a0; - DAT_8002a8a0 = (undefined)param_5; - DAT_8002a8a1 = DAT_8002a8a0; - DAT_8002a8a2 = DAT_8002a8a0; - DAT_8002a8a4 = DAT_8002a8a0; - DAT_8002a8a5 = DAT_8002a8a0; - DAT_8002a8a6 = DAT_8002a8a0; - puVar1[0x12] = 0xe7000000; - puVar1[0x13] = 0; - puVar1[0x15] = 0; - puVar1[0x14] = 0xe7000000; - puVar1[0x17] = 0xfffff9fc; - puVar1[0x16] = 0xfc127e24; - puVar1[0x19] = 0x80000; - puVar1[0x18] = 0xba001301; - puVar1[0x1a] = 0xba001102; - puVar1[0x1b] = 0; - puVar1[0x1c] = 0xba001001; - puVar1[0x1d] = 0; - puVar1[0x1e] = 0xba000e02; - puVar1[0x1f] = 0; - puVar1[0x21] = 0x2000; - puVar1[0x20] = 0xba000c02; - puVar1[0x22] = 0xba000903; - puVar1[0x23] = 0xc00; - puVar1[0x25] = 0; - puVar1[0x24] = 0xe7000000; - puVar1[0x27] = 0; - puVar1[0x26] = 0xe7000000; - puVar1[0x28] = 0xbb000001; - puVar1[0x29] = 0x8000800; - puVar1[0x2b] = 0x2004fe8; - puVar1[0x2a] = 0xfd100000; - puVar1[0x2c] = 0xf5100000; - puVar1[0x2d] = 0x7014050; - puVar1[0x2e] = 0xe6000000; - puVar1[0x2f] = 0; - puVar1[0x31] = 0x73ff100; - puVar1[0x30] = 0xf3000000; - puVar1[0x33] = 0; - puVar1[0x32] = 0xe7000000; - puVar1[0x35] = 82000; - puVar1[0x34] = 0xf5101000; - puVar1[0x36] = 0xf2000000; - uVar2 = param_5 & 0xff; - puVar1[0x37] = 0x7c07c; - puVar1[0x38] = 0xfa000000; - puVar1[0x39] = uVar2 << 0x18 | uVar2 << 0x10 | uVar2 << 8 | 0xff; - puVar1[0x3a] = 0x6000000; - puVar1[0x3b] = 0x20043e8; - puVar1[0x3d] = 0x20044b0; - puVar1[0x3c] = 0x6000000; - puVar1[0x3f] = 0x2005ff0; - puVar1[0x3e] = 0xfd100000; - puVar1[0x41] = 0x7014050; - puVar1[0x40] = 0xf5100000; - puVar1[0x43] = 0; - puVar1[0x42] = 0xe6000000; - puVar1[0x45] = 0x73ff100; - puVar1[0x44] = 0xf3000000; - puVar1[0x47] = 0; - puVar1[0x46] = 0xe7000000; - puVar1[0x49] = 82000; - puVar1[0x48] = 0xf5101000; - puVar1[0x4a] = 0xf2000000; - puVar1[0x4b] = 0x7c07c; - puVar1[0x4c] = 0xfa000000; - uVar2 = (int)(param_5 * 0xf0) / 0xff & 0xff; - if (false) { - trap(0x1c00); - } - if ((false) && (param_5 * 0xf0 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (param_5 * 0xd0 == -0x80000000)) { - trap(0x1800); - } - puVar1[0x4d] = uVar2 << 0x18 | ((int)(param_5 * 0xd0) / 0xff & 0xffU) << 0x10 | uVar2 << 8 | 0xff; - puVar1[0x4e] = 0x6000000; - puVar1[0x4f] = 0x2004758; - return puVar1 + 0x50; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f008b78(ulonglong param_1) - -{ - _DAT_800695d0 = (undefined4)param_1; - DAT_8002a814 = 0; - _DAT_800695b4 = 0x445c0000; - DAT_8002a8dc = 0xc2200000; - DAT_8002a8e0 = 0; - romCopy(param_1,0x29f280,0x6800); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f008bfc(undefined4 *param_1) - -{ - bool bVar1; - uint uVar2; - int iVar3; - undefined4 *puVar4; - int iVar5; - - DAT_8002a810 = 1 - DAT_8002a810; - *param_1 = 0xbc000806; - puVar4 = param_1 + 2; - uVar2 = osVirtualToPhysical(_DAT_800695d0); - param_1[1] = uVar2; - if ((DAT_8002a814 == '\0') || (DAT_8002a814 == '\x01')) { - iVar3 = DAT_8002a8e0 * 0xff; - iVar5 = iVar3 / 0x46; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - if (0xff < iVar5) { - iVar5 = 0xff; - } - if (iVar5 < 0) { - iVar5 = 0; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 + -0x9f60 == -0x80000000)) { - trap(0x1800); - } - iVar3 = 0xff - (iVar3 + -0x9f60) / 0x46; - if (0xff < iVar3) { - iVar3 = 0xff; - } - if (iVar3 < 0) { - iVar3 = 0; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 * iVar3 == -0x80000000)) { - trap(0x1800); - } - puVar4 = loc_7F008B10(puVar4,0x193,0x1e8,(int)_DAT_800695b4,(iVar5 * iVar3) / 0xff); - bVar1 = 0x103 < DAT_8002a8e0; - DAT_8002a8e0 += 1; - if ((bVar1) && (0x121 < DAT_8002a8e0)) { - DAT_8002a8e0 = 0; - DAT_8002a814 += '\x02'; - } - } - return puVar4; -} - - - -ulonglong FUN_7f008df0(void) - -{ - return (ulonglong)(DAT_8002a814 == '\x02'); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f008e04(ushort **param_1,int *param_2) - -{ - _DAT_800695cc = *param_1; - *param_2 = *param_2 + -0x40400; - _DAT_800695c8 = *param_1 + 0x20200; - *param_1 = _DAT_800695c8; - romCopy((longlong)(int)_DAT_800695c8,0x2a5a70,0x1a580); - loc_7F01B110(_DAT_800695c8,(byte *)_DAT_800695cc); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f008ea0(short *param_1,int param_2) - -{ - ushort uVar1; - short *psVar2; - uint *puVar3; - int iVar4; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - uint uVar5; - uint *local_res0; - int local_res4 [3]; - uint auStack32 [4]; - float local_10; - undefined4 local_c; - undefined4 local_8; - - DAT_8002a814 = 2; - local_res0 = (uint *)param_1; - local_res4[0] = param_2; - guOrtho(_DAT_8006959c,0.00000000,1280.00000000,0.00000000,960.00000000,1.00000000,8.00000000, - 256.00000000); - psVar2 = (short *)local_res0; - _DAT_800695b4 = 0xc1f00000; - _DAT_800695b8 = 0x43f10000; - _DAT_800695bc = 0xc2c80000; - _DAT_800695c0 = 0x43f10000; - _DAT_800695c4 = 0x42; - _DAT_80069590 = (short *)local_res0; - local_res0 = (uint *)((short *)local_res0 + 0x100); - local_res4[0] += -0x200; - loc_7F01BFBC(psVar2,0x1e); - puVar3 = local_res0; - _DAT_80069594 = local_res0; - local_res0 = local_res0 + 0x40; - local_res4[0] += -0x100; - loc_7F01C060(puVar3,(uint)(_DAT_80069590 + -0x40000000),0x1e); - FUN_7f008e04((ushort **)register0x000000ec,local_res4); - local_10 = DAT_8002a8e8; - local_c = DAT_8002a8ec; - local_8 = DAT_8002a8f0; - sub_7F0CBAF4((int *)auStack32,(int)local_res0,0x12c00); - local_res0 = local_res0 + 0x4b00; - local_res4[0] += -0x12c00; - loc_7F0764EC((longlong)(int)PTR_DAT_8003dea4,PTR_s_CdjbondZ_8003dea8,(longlong)(int)local_res0, - local_res4[0],auStack32); - iVar4 = FUN_7f0bdd38(PTR_s_CdjbondZ_8003dea8); - uVar5 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_res0 = (uint *)((int)local_res0 + uVar5); - local_res4[0] -= uVar5; - loc_7F0764EC((longlong)(int)PTR_DAT_8003e458,PTR_s_CheadbrosnanZ_8003e45c, - (longlong)(int)local_res0,local_res4[0],auStack32); - iVar4 = FUN_7f0bdd38(PTR_s_CheadbrosnanZ_8003e45c); - uVar5 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_res4[0] -= uVar5; - local_res0 = (uint *)((int)local_res0 + uVar5); - DAT_8002a834 = FUN_7f0237a8(5,0x4e,(longlong)(int)PTR_DAT_8003dea4,(longlong)(int)PTR_DAT_8003e458 - ,0); - set_obj_instance_controller_scale(DAT_8002a834,0x3e404cec); - sub_7F06CE84(DAT_8002a834,0x3f800000); - FUN_7f06d1fc(DAT_8002a834,&local_10,extraout_a2_lo,extraout_a3_lo); - FUN_7f06d32c(DAT_8002a834,0.00000000,extraout_a2_lo_00,extraout_a3_lo_00); - loc_7F06FF50(DAT_8002a834,0x3f000000,0.00000000); - uVar1 = *(ushort *)(_DAT_80069578 + 0x4148); - iVar4 = (uint)uVar1 - 0x44; - if (iVar4 < 0) { - iVar4 += (uint)uVar1; - while (iVar4 < 0) { - iVar4 += (uint)uVar1; - } - } - FUN_7f070298(DAT_8002a834,_DAT_80069578 + 0x4144,0,(float)iVar4,DAT_8004f30c,0.00000000); - loc_7F0764EC((longlong)(int)PTR_DAT_8003ab4c,PTR_s_PchrwppkZ_8003ab50,(longlong)(int)local_res0, - local_res4[0],auStack32); - iVar4 = FUN_7f0bdd38(PTR_s_PchrwppkZ_8003ab50); - uVar5 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_res4[0] -= uVar5; - local_res0 = (uint *)((int)local_res0 + uVar5); - FUN_7f0762e4((ushort **)PTR_DAT_8003ab4c); - DAT_8002a838 = FUN_7f06c684((ushort **)PTR_DAT_8003ab4c); - set_obj_instance_controller_scale(DAT_8002a838,0x3e404cec); - *(uint *)(DAT_8002a838 + 0x18) = DAT_8002a834; - *(undefined4 *)(DAT_8002a838 + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(DAT_8002a834 + 8) + 8) + 0xc); - _DAT_800695d4 = 0; - return; -} - - - -void FUN_7f00922c(void) - -{ - if (DAT_8002a834 != 0) { - FUN_7f06c9e8(DAT_8002a834); - } - if (DAT_8002a838 != 0) { - FUN_7f06c824(DAT_8002a838); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f009274(undefined4 *param_1) - -{ - bool bVar1; - ulonglong uVar2; - longlong lVar3; - undefined4 *puVar4; - - DAT_8002a810 = 1 - DAT_8002a810; - switch(DAT_8002a814) { - case '\x02': - param_1 = FUN_7f007a60(param_1); - _DAT_800695b4 = _DAT_800695b4 + 6.00000000; - if ((short)_DAT_800695c4 < 0) { - _DAT_800695c4 = 200; - _DAT_800695bc = _DAT_800695b4 - 12.00000000; - } - else { - _DAT_800695c4 -= 6; - } - if (DAT_8004f32c < _DAT_800695b4) { - DAT_8002a814 += '\x01'; - _DAT_800695b4 = DAT_8004f330; - } - break; - case '\x03': - *param_1 = 0x6000000; - param_1[1] = 0x1000000; - puVar4 = insert_imageDL(param_1 + 2); - puVar4 = insert_imageDL(puVar4); - puVar4 = insert_imageDL(puVar4); - puVar4 = insert_imageDL(puVar4); - puVar4 = insert_imageDL(puVar4); - puVar4 = FUN_7f007dac(puVar4); - param_1 = FUN_7f007bb4(puVar4); - if (_DAT_800695b4 < 600.00000000) { - param_1 = (undefined4 *)FUN_7f0082e8(param_1); - } - _DAT_800695b4 = _DAT_800695b4 - DAT_8004f334; - if (_DAT_800695b4 <= -80.00000000) { - DAT_8002a814 += '\x01'; - DAT_8002a8e0 = 0x14; - } - break; - case '\x04': - puVar4 = FUN_7f007dac(param_1); - puVar4 = FUN_7f007bb4(puVar4); - param_1 = (undefined4 *)FUN_7f0082e8(puVar4); - DAT_8002a8e0 -= 1; - if ((int)DAT_8002a8e0 < 0) { - DAT_8002a814 += '\x01'; - FUN_7f01c434(0); - DAT_8002a8e4 = 0; - DAT_8002a8e0 = 1; - } - break; - case '\x05': - DAT_8002a8e0 -= 1; - if (DAT_8002a8e0 == 0) { - uVar2 = FUN_7f01c434(1); - DAT_8002a8e4 = (int)uVar2; - DAT_8002a8e0 = 2; - } - puVar4 = FUN_7f007dac(param_1); - puVar4 = FUN_7f007bb4(puVar4); - puVar4 = (undefined4 *)FUN_7f0082e8(puVar4); - param_1 = loc_7F01C664(puVar4); - if (DAT_8002a8e4 != 0) { - DAT_8002a814 += '\x01'; - _DAT_800695c4 = 0; - _DAT_800695bc = _DAT_800695b4; - DAT_8002a8e0 = 0; - } - break; - case '\x06': - _DAT_800695c4 += 0x38e; - DAT_8002a8e0 += 1; - lVar3 = locret_70016CC8((uint)_DAT_800695c4); - _DAT_800695b4 = ((float)(int)lVar3 * 64.00000000) / 32768.00000000 + _DAT_800695bc; - puVar4 = FUN_7f007dac(param_1); - puVar4 = FUN_7f007bb4(puVar4); - puVar4 = (undefined4 *)FUN_7f0082e8(puVar4); - param_1 = FUN_7f01cbc8(puVar4); - if (0x6b < (int)DAT_8002a8e0) { - DAT_8002a8e0 = 0; - DAT_8002a814 += '\x01'; - } - break; - case '\a': - _DAT_800695c4 += 0x38e; - lVar3 = locret_70016CC8((uint)_DAT_800695c4); - _DAT_800695b4 = ((float)(int)lVar3 * 64.00000000) / 32768.00000000 + _DAT_800695bc; - puVar4 = FUN_7f007dac(param_1); - puVar4 = FUN_7f007bb4(puVar4); - puVar4 = (undefined4 *)FUN_7f0082e8(puVar4); - puVar4 = FUN_7f01cbc8(puVar4); - DAT_8002a8e0 += 8; - param_1 = FUN_7f007e90(puVar4,DAT_8002a8e0); - if (0xf6 < (int)DAT_8002a8e0) { - DAT_8002a8e0 = 0; - DAT_8002a814 += '\x01'; - } - break; - case '\b': - *param_1 = 0x6000000; - param_1[1] = 0x1000000; - param_1 = insert_imageDL(param_1 + 2); - bVar1 = 0x1d < (int)DAT_8002a8e0; - DAT_8002a8e0 += 1; - if (bVar1) { - DAT_8002a8e0 = 0; - DAT_8002a814 += '\x01'; - } - } - return param_1; -} - - - -ulonglong FUN_7f009764(void) - -{ - return (ulonglong)(DAT_8002a814 == '\t'); -} - - - -uint * FUN_7f009780(uint *param_1,uint *param_2,uint *param_3,byte *param_4,int param_5,int param_6, - uint param_7,int param_8,int param_9,int param_10,int param_11) - -{ - uint *puVar1; - - if (DAT_80048500 == 0) { - puVar1 = loc_7F0ADD78(param_1,(int *)param_2,(int *)param_3,param_4,param_5,param_6,param_7, - param_8,param_9,param_10,param_11); - } - else { - puVar1 = loc_7F0AE958(param_1,param_2,param_3,param_4,param_5,param_6,param_7, - (uint)DAT_8002a9f0 << 0x18 | (uint)DAT_8002a9f4 << 0x10 | - (uint)DAT_8002a9f8 << 8 | (uint)DAT_8002a9fc,param_8,param_9,param_10, - param_11); - } - return puVar1; -} - - - -ulonglong loc_7F009B44(undefined4 param_1) - -{ - ulonglong uVar1; - undefined *puVar2; - - switch(param_1) { - case 1: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 0xd: - case 0x10: - case 0x16: - case 0x19: - case 0x23: - case 0x24: - case 0x25: - case 0x26: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x2f: - case 0x30: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x3c: - case 0x3d: - case 0x3e: - case 0x3f: - case 0x40: - case 0x41: - case 0x42: - case 0x43: - case 0x44: - case 0x45: - case 0x46: - case 0x47: - case 0x48: - case 0x49: - case 0x4a: - uVar1 = 0; - break; - case 2: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,1); - break; - case 3: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0x13); - break; - case 10: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,10); - break; - case 0xb: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0xf); - break; - case 0xc: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,2); - break; - case 0xe: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,7); - break; - case 0xf: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0); - break; - case 0x11: - uVar1 = FUN_7f01eba4((longlong)DAT_8002a928); - break; - case 0x12: - uVar1 = FUN_7f01ec0c((longlong)DAT_8002a928); - break; - case 0x13: - uVar1 = FUN_7f01ec58((longlong)DAT_8002a928); - break; - case 0x14: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0xd); - break; - case 0x15: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0x11); - break; - case 0x17: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,6); - break; - case 0x18: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,5); - break; - case 0x1a: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,9); - break; - case 0x1b: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0xc); - break; - case 0x1c: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0xb); - break; - case 0x1d: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,4); - break; - case 0x1e: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,3); - break; - case 0x1f: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0x10); - break; - case 0x20: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,8); - break; - case 0x21: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0xe); - break; - case 0x22: - puVar2 = loc_7F01DE38((longlong)DAT_8002a928); - uVar1 = loc_7F01DD68((int)puVar2,0x12); - break; - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - return uVar1; -} - - - -int FUN_7f009b70(int param_1,int param_2) - -{ - int iVar1; - - iVar1 = FUN_7f0676b4(*(int *)(&DAT_80069730 + param_1 * 8 + param_2 * 4)); - return iVar1; -} - - - -undefined4 FUN_7f009ba4(void) - -{ - char cVar4; - int iVar1; - int iVar2; - undefined4 uVar3; - int iVar5; - float extraout_f0; - float fVar6; - float fVar7; - - cVar4 = FUN_7000c150('\0'); - iVar1 = FUN_7000c260('\0'); - iVar1 = iVar1 * -0x1000000 >> 0x18; - if (cVar4 < -5) { - iVar5 = ((int)cVar4 + 5) * 0x1000000 >> 0x18; - } - else { - if (cVar4 < '\x06') { - iVar5 = 0; - } - else { - iVar5 = ((int)cVar4 + -5) * 0x1000000 >> 0x18; - } - } - if (iVar5 < 0x47) { - if (iVar5 < -0x46) { - iVar5 = -0x46; - } - } - else { - iVar5 = 0x46; - } - if (iVar1 < -5) { - iVar2 = (iVar1 + 5) * 0x1000000 >> 0x18; - } - else { - iVar2 = 0; - if (5 < iVar1) { - iVar2 = (iVar1 + -5) * 0x1000000 >> 0x18; - } - } - cVar4 = (char)iVar2; - if (iVar2 < 0x47) { - if (iVar2 < -0x46) { - cVar4 = -0x46; - } - } - else { - cVar4 = 'F'; - } - if (iVar5 < 1) { - if (iVar5 < 0) { - DAT_8002a948 = DAT_8002a948 + ((float)iVar5 * DAT_800519fc - 0.50000000) * DAT_800483b4; - } - } - else { - DAT_8002a948 = DAT_8002a948 + ((float)iVar5 * DAT_800519f8 + 0.50000000) * DAT_800483b4; - } - fVar6 = extraout_f0; - FUN_7f078ab4(); - fVar7 = fVar6; - FUN_7f078a94(); - if ((fVar7 + fVar6) - 20.00000000 < DAT_8002a948) { - FUN_7f078ab4(); - fVar6 = fVar7; - FUN_7f078a94(); - DAT_8002a948 = (fVar6 + fVar7) - 20.00000000; - fVar7 = fVar6; - } - else { - FUN_7f078ab4(); - if (DAT_8002a948 < fVar7 + 20.00000000) { - FUN_7f078ab4(); - DAT_8002a948 = fVar7 + 20.00000000; - } - } - if (cVar4 < '\x01') { - if (cVar4 < '\0') { - DAT_8002a94c = DAT_8002a94c + ((float)(int)cVar4 * DAT_80051a04 - 0.50000000) * DAT_800483b4; - } - } - else { - DAT_8002a94c = DAT_8002a94c + ((float)(int)cVar4 * DAT_80051a00 + 0.50000000) * DAT_800483b4; - } - FUN_7f078ac4(); - fVar6 = fVar7; - FUN_7f078aa4(); - if ((fVar6 + fVar7) - 20.00000000 < DAT_8002a94c) { - FUN_7f078ac4(); - fVar7 = fVar6; - uVar3 = FUN_7f078aa4(); - DAT_8002a94c = (fVar7 + fVar6) - 20.00000000; - } - else { - uVar3 = FUN_7f078ac4(); - if (DAT_8002a94c < fVar6 + 20.00000000) { - uVar3 = FUN_7f078ac4(); - DAT_8002a94c = fVar6 + 20.00000000; - } - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f009f28(undefined4 param_1) - -{ - undefined4 local_res0; - uint *local_14; - float local_10; - float local_c; - float local_8; - float local_4; - - if (DAT_8002a958 == 0) { - local_14 = _DAT_8008d184; - } - else { - if (DAT_8002a958 == 1) { - local_14 = _DAT_8008d198; - } - else { - if (DAT_8002a958 == 2) { - local_14 = _DAT_8008d198 + 3; - } - } - } - local_res0 = param_1; - loc_7F077B80((uint **)register0x000000ec,local_14,4,0,0); - local_8 = loc_7F05C3C8(DAT_8002a948 + 0.50000000); - local_4 = loc_7F05C3C8(DAT_8002a94c + 0.50000000); - local_10 = (float)(uint)*(byte *)(local_14 + 1); - if (false) { - local_10 = local_10 + 4294967296.00000000; - } - local_10 = local_10 * 0.50000000; - local_c = (float)(uint)*(byte *)((int)local_14 + 5); - if (false) { - local_c = local_c + 4294967296.00000000; - } - local_c = local_c * 0.50000000; - loc_7F06B108((uint **)register0x000000ec,&local_8,&local_10,(uint)*(byte *)(local_14 + 1), - (uint)*(byte *)((int)local_14 + 5),0,0,1,0xff,0xff,0xff,0xdc, - (uint)(*(char *)((int)local_14 + 6) != '\0'),0); - return local_res0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f00a0a0(undefined4 *param_1) - -{ - int iVar1; - short sVar3; - short sVar4; - uint *puVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - _DAT_800697b0 = (byte *)FUN_7f0c2a88(0x9c04); - FUN_7f0ad728(1); - iStack16 = 0; - iStack12 = 0; - loc_7F0AEB50(&iStack12,&iStack16,_DAT_800697b0,DAT_80040ee0,DAT_80040edc,0); - iStack4 = 0x33; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (DAT_8002a91c != 0) { - param_1 = microcode_constructor_related_to_menus - (param_1,(longlong)((iStack8 - iStack12) + 1),0x33,(longlong)iStack8,0x75, - 0x32); - } - FUN_7f0ad738(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0x54 - (iVar1 >> 1); - sVar3 = get_video2_settings_txtClipH(); - sVar4 = get_video2_settings_txtClipW(); - puVar2 = loc_7F0ADD78(param_1,&iStack4,&iStack8,_DAT_800697b0,DAT_80040ee0,(int)DAT_80040edc,0xff, - (int)sVar3,(int)sVar4,0,0); - FUN_7f0ad738(0); - FUN_7f0ad728(0); - return puVar2; -} - - - -undefined8 FUN_7f00a204(void) - -{ - if ((390.00000000 < DAT_8002a948) && (DAT_8002a94c <= DAT_80051a08)) { - return 1; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f00a258(undefined4 *param_1) - -{ - int iVar1; - short sVar3; - short sVar4; - uint *puVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - _DAT_800697b8 = (byte *)FUN_7f0c2a88(0x9c06); - FUN_7f0ad728(1); - iStack16 = 0; - iStack12 = 0; - loc_7F0AEB50(&iStack12,&iStack16,_DAT_800697b8,DAT_80040ee0,DAT_80040edc,0); - iStack4 = 0xec; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (DAT_8002a924 != 0) { - param_1 = microcode_constructor_related_to_menus - (param_1,(longlong)((iStack8 - iStack12) + 1),0xec,(longlong)iStack8,0x12e, - 0x32); - } - FUN_7f0ad738(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0x10d - (iVar1 >> 1); - sVar3 = get_video2_settings_txtClipH(); - sVar4 = get_video2_settings_txtClipW(); - puVar2 = loc_7F0ADD78(param_1,&iStack4,&iStack8,_DAT_800697b8,DAT_80040ee0,(int)DAT_80040edc,0xff, - (int)sVar3,(int)sVar4,0,0); - FUN_7f0ad738(0); - FUN_7f0ad728(0); - return puVar2; -} - - - -undefined8 FUN_7f00a3bc(void) - -{ - if ((390.00000000 < DAT_8002a948) && (223.00000000 < DAT_8002a94c)) { - return 1; - } - return 0; -} - - - -void FUN_7f00a410(void) - -{ - DAT_8002a948 = DAT_80051a0c; - DAT_8002a94c = 0x43100000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f00a434(undefined4 *param_1) - -{ - int iVar1; - short sVar3; - short sVar4; - uint *puVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - _DAT_800697b4 = (byte *)FUN_7f0c2a88(0x9c05); - FUN_7f0ad728(1); - iStack16 = 0; - iStack12 = 0; - loc_7F0AEB50(&iStack12,&iStack16,_DAT_800697b4,DAT_80040ee0,DAT_80040edc,0); - iStack4 = 0x90; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (DAT_8002a920 != 0) { - param_1 = microcode_constructor_related_to_menus - (param_1,(longlong)((iStack8 - iStack12) + 1),0x90,(longlong)iStack8,0xd2, - 0x32); - } - FUN_7f0ad738(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0xb1 - (iVar1 >> 1); - sVar3 = get_video2_settings_txtClipH(); - sVar4 = get_video2_settings_txtClipW(); - puVar2 = loc_7F0ADD78(param_1,&iStack4,&iStack8,_DAT_800697b4,DAT_80040ee0,(int)DAT_80040edc,0xff, - (int)sVar3,(int)sVar4,0,0); - FUN_7f0ad738(0); - FUN_7f0ad728(0); - return puVar2; -} - - - -undefined8 FUN_7f00a598(void) - -{ - if (((390.00000000 < DAT_8002a948) && (DAT_80051a10 < DAT_8002a94c)) && - (DAT_8002a94c <= 223.00000000)) { - return 1; - } - return 0; -} - - - -void FUN_7f00a608(void) - -{ - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float fStack16; - undefined4 uStack12; - undefined4 uStack8; - - FUN_70006fe0(); - DAT_8002a97c = 1; - DAT_8002a90c = 0; - fStack16 = DAT_8002aa00; - uStack12 = DAT_8002aa04; - uStack8 = DAT_8002aa08; - loc_7F0764EC((longlong)(int)PTR_DAT_8003b14c,PTR_s_PlegalpageZ_8003b150,(longlong)DAT_8002a990, - 0x3c000,NULL); - FUN_7f0762e4((ushort **)PTR_DAT_8003b14c); - DAT_8002a998 = FUN_7f06c684((ushort **)PTR_DAT_8003b14c); - set_obj_instance_controller_scale(DAT_8002a998,0x3f800000); - FUN_7f06d1fc(DAT_8002a998,&fStack16,extraout_a2_lo,extraout_a3_lo); - FUN_7f01e140(); - return; -} - - - -void FUN_7f00a6d0(void) - -{ - DAT_8002a96c = 0; - FUN_7f06c824(DAT_8002a998); - return; -} - - - -void FUN_7f00a6fc(undefined8 param_1,undefined8 param_2) - -{ - longlong lVar1; - ulonglong uVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051a14,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051a18,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - DAT_8002a90c += DAT_800483a4; - if (DAT_8002a90c < 0xf1) { - uVar2 = FUN_7000c410('\0',0xffff); - if ((uVar2 != 0) && (DAT_8002a96c == 0)) { - if (DAT_8002a970 == 0) { - FUN_7f01a788(5,1); - } - else { - FUN_7f01a788(1,1); - } - } - } - else { - lVar1 = FUN_7000ba08(); - if ((lVar1 < 1) && (DAT_8002a96c != 0)) { - FUN_7f01a788(0x16,1); - } - else { - FUN_7f01a788(1,1); - } - } - return; -} - - - -uint * FUN_7f00a804(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5, - byte *param_6,int param_7,int param_8) - -{ - short sVar2; - short sVar3; - uint *puVar1; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack8 = 0; - iStack4 = 0; - loc_7F0AEB50(&iStack4,&iStack8,param_6,DAT_80040ee8,DAT_80040ee4,0); - param_4 *= iStack8; - if (param_4 < 0) { - param_4 += 1; - } - param_5 *= iStack4; - iStack12 = param_2 - (param_4 >> 1); - if (param_5 < 0) { - param_5 += 1; - } - iStack16 = param_3 - (param_5 >> 1); - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1 = loc_7F0ADD78(param_1,&iStack12,&iStack16,param_6,param_7,param_8,0xffffffff,(int)sVar2, - (int)sVar3,0,0); - return puVar1; -} - - - -void FUN_7f00a900(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint *puVar2; - byte *pbVar3; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float **ppfVar4; - float **ppfVar5; - float **ppfVar6; - float **ppfVar7; - int iVar8; - longlong lVar9; - int *piVar10; - int iVar11; - undefined4 auStack208 [18]; - float afStack136 [17]; - float *pfStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 *puStack56; - undefined4 *puStack52; - - ppfVar6 = (float **)&DAT_8002aafc; - ppfVar4 = &pfStack68; - do { - ppfVar7 = ppfVar6 + 3; - ppfVar5 = ppfVar4 + 3; - *ppfVar4 = *ppfVar6; - ppfVar4[1] = ppfVar6[1]; - ppfVar4[2] = ppfVar6[2]; - ppfVar6 = ppfVar7; - ppfVar4 = ppfVar5; - } while (ppfVar7 != (float **)0x8002ab38); - *ppfVar5 = pfRam8002ab38; - puStack56 = insert_imageDL(param_1); - FUN_7f059bb4(afStack136,0.00000000,0.00000000,4000.00000000,0.00000000,0.00000000,0.00000000, - 0.00000000,1.00000000,0.00000000); - pfStack68 = afStack136; - puStack52 = (undefined4 *)FUN_7f0be2c4((int)*(short *)(*(int *)(DAT_8002a998 + 8) + 0xe) << 6); - loc_7F058030(afStack136,puStack52); - *(undefined4 **)(DAT_8002a998 + 0xc) = puStack52; - loc_7F06F0C0(DAT_8002a998); - uStack60 = 3; - uStack64 = 0; - loc_7F074778((int)&pfStack68,DAT_8002a998,extraout_a2_lo,extraout_a3_lo); - puVar1 = puStack56; - lVar9 = 0; - iVar11 = 0; - if (0 < *(short *)(*(int *)(DAT_8002a998 + 8) + 0xe)) { - iVar8 = *(int *)(DAT_8002a998 + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar8 + iVar11),auStack208); - FUN_7f0591bc((int)auStack208,(uint *)(*(int *)(DAT_8002a998 + 0xc) + (int)lVar9 * 0x40)); - lVar9 = (longlong)((int)lVar9 + 1); - iVar11 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_8002a998 + 8) + 0xe) <= lVar9) break; - iVar8 = *(int *)(DAT_8002a998 + 0xc); - } - } - puVar2 = loc_7F0ACED4(puVar1); - piVar10 = &DAT_8002aa0c; - do { - pbVar3 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(piVar10 + 4)); - puVar2 = FUN_7f00a804(puVar2,*piVar10,piVar10[1],piVar10[2],piVar10[3],pbVar3,DAT_80040ee8, - DAT_80040ee4); - piVar10 = piVar10 + 5; - } while (piVar10 < &DAT_8002aafc); - return; -} - - - -void FUN_7f00ab0c(void) - -{ - DAT_8002a90c = 0; - return; -} - - - -void FUN_7f00ab20(undefined8 param_1,undefined8 param_2) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051a1c,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051a20,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - if (((3 < DAT_8002a90c + 1) && (DAT_8002a984 == 0)) && (DAT_8002a988 == 0)) { - DAT_8002a908 = DAT_8002a904; - DAT_8002a904 = 0xffffffff; - } - DAT_8002a90c = DAT_8002a90c + 1; - return; -} - - - -undefined4 * FUN_7f00abc8(undefined4 *param_1) - -{ - undefined4 *puVar1; - - puVar1 = insert_imageDL(param_1); - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00abe8(void) - -{ - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float fStack12; - undefined4 uStack8; - undefined4 uStack4; - - DAT_8002a90c = 0; - fStack12 = DAT_8002ab3c; - uStack8 = DAT_8002ab40; - uStack4 = DAT_8002ab44; - loc_7F0764EC((longlong)(int)PTR_DAT_8003af48,PTR_s_PnintendologoZ_8003af4c,(longlong)DAT_8002a990, - 0x3c000,NULL); - FUN_7f0762e4((ushort **)PTR_DAT_8003af48); - DAT_8002a998 = FUN_7f06c684((ushort **)PTR_DAT_8003af48); - set_obj_instance_controller_scale(DAT_8002a998,0x3f800000); - FUN_7f06d1fc(DAT_8002a998,&fStack12,extraout_a2_lo,extraout_a3_lo); - FUN_70006e8c(0x2c); - DAT_8002a97c = 1; - _DAT_80069654 = DAT_80051a24; - _DAT_80069658 = DAT_80051a28; - return; -} - - - -void FUN_7f00acc4(void) - -{ - FUN_7f06c824(DAT_8002a998); - return; -} - - - -void FUN_7f00ace8(undefined8 param_1,undefined8 param_2) - -{ - ulonglong uVar1; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051a2c,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051a30,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - DAT_8002a90c += DAT_800483a4; - if (DAT_8002a90c < 0x1f5) { - uVar1 = FUN_7000c410('\0',0xffff); - if (uVar1 != 0) { - if (DAT_8002a970 == 0) { - FUN_7f01a788(5,1); - } - else { - DAT_8002a974 = 1; - FUN_7f01a788(2,1); - } - } - } - else { - FUN_7f01a788(2,1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f00adb8(undefined4 *param_1) - -{ - undefined4 *puVar1; - int iVar2; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float **ppfVar3; - float **ppfVar4; - int iVar5; - float **ppfVar6; - float **ppfVar7; - longlong lVar8; - undefined4 auStack280 [16]; - float afStack216 [20]; - float afStack136 [18]; - float *pfStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 *puStack52; - undefined4 *puStack48; - - ppfVar6 = (float **)&DAT_8002ab48; - ppfVar3 = &pfStack64; - do { - ppfVar7 = ppfVar6 + 3; - ppfVar4 = ppfVar3 + 3; - *ppfVar3 = *ppfVar6; - ppfVar3[1] = ppfVar6[1]; - ppfVar3[2] = ppfVar6[2]; - ppfVar6 = ppfVar7; - ppfVar3 = ppfVar4; - } while (ppfVar7 != (float **)0x8002ab84); - *ppfVar4 = pfRam8002ab84; - puVar1 = insert_imageDL(param_1); - *puVar1 = 0xbc000002; - puVar1[1] = 0x80000040; - puVar1[2] = 0x3860010; - puVar1[3] = 0x8002a9d0; - puStack52 = puVar1 + 6; - puVar1[4] = 0x3880010; - puVar1[5] = 0x8002a9c8; - iVar2 = 0xff - (DAT_8002a90c * 0xff + -0x1708e) / 100; - if (0xff < iVar2) { - iVar2 = 0xff; - } - DAT_8002a9c8 = (undefined)iVar2; - if (iVar2 < 0) { - DAT_8002a9c8 = 0; - } - _DAT_80069654 = _DAT_80069654 + DAT_80051a34; - DAT_8002a9c9 = DAT_8002a9c8; - DAT_8002a9ca = DAT_8002a9c8; - DAT_8002a9cc = DAT_8002a9c8; - DAT_8002a9cd = DAT_8002a9c8; - DAT_8002a9ce = DAT_8002a9c8; - FUN_7f058b1c(_DAT_80069654,ZEXT48(&DAT_8002a9c8),afStack216); - sub_7F058BB8(_DAT_80069658,extraout_a0,afStack216); - _DAT_80069658 = _DAT_80069658 * DAT_80051a3c; - if (DAT_80051a38 < _DAT_80069658) { - _DAT_80069658 = DAT_80051a38; - } - FUN_7f059bb4(afStack136,0.00000000,0.00000000,4000.00000000,0.00000000,0.00000000,0.00000000, - 0.00000000,1.00000000,0.00000000); - FUN_7f058588(afStack136,afStack216); - loc_7F058030(afStack216,afStack136); - pfStack64 = afStack136; - puStack48 = (undefined4 *)FUN_7f0be2c4((int)*(short *)(*(int *)(DAT_8002a998 + 8) + 0xe) << 6); - loc_7F058030(afStack136,puStack48); - *(undefined4 **)(DAT_8002a998 + 0xc) = puStack48; - loc_7F06F0C0(DAT_8002a998); - uStack56 = 3; - uStack60 = 0; - loc_7F074778((int)&pfStack64,DAT_8002a998,extraout_a2_lo,extraout_a3_lo); - puVar1 = puStack52; - lVar8 = 0; - iVar2 = 0; - if (0 < *(short *)(*(int *)(DAT_8002a998 + 8) + 0xe)) { - iVar5 = *(int *)(DAT_8002a998 + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar5 + iVar2),auStack280); - FUN_7f0591bc((int)auStack280,(uint *)(*(int *)(DAT_8002a998 + 0xc) + (int)lVar8 * 0x40)); - lVar8 = (longlong)((int)lVar8 + 1); - iVar2 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_8002a998 + 8) + 0xe) <= lVar8) break; - iVar5 = *(int *)(DAT_8002a998 + 0xc); - } - } - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f00b084(void) - -{ - int **ppiVar1; - - FUN_7f008b78((longlong)DAT_8002a990); - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0x102,NULL); - return ppiVar1; -} - - - -void FUN_7f00b0c4(void) - -{ - return; -} - - - -void FUN_7f00b0cc(void) - -{ - ulonglong uVar1; - - FUN_70004534(0); - uVar1 = FUN_7f008df0(); - if (uVar1 == 0) { - uVar1 = FUN_7000c410('\0',0xffff); - if (uVar1 != 0) { - if (DAT_8002a970 == 0) { - FUN_7f01a788(5,1); - } - else { - DAT_8002a974 = 1; - FUN_7f01a788(3,1); - } - } - } - else { - FUN_7f01a788(3,1); - } - return; -} - - - -undefined4 * FUN_7f00b154(undefined4 *param_1) - -{ - undefined4 *puVar1; - - puVar1 = FUN_7f008bfc(param_1); - return puVar1; -} - - - -void FUN_7f00b174(void) - -{ - FUN_7f008ea0(DAT_8002a990,0x78000); - FUN_70006e8c(2); - DAT_8002a97c = 1; - return; -} - - - -void FUN_7f00b1b0(void) - -{ - FUN_7f00922c(); - return; -} - - - -void FUN_7f00b1d0(void) - -{ - ulonglong uVar1; - - FUN_70004534(0); - uVar1 = FUN_7f009764(); - if (uVar1 == 0) { - uVar1 = FUN_7000c410('\0',0xffff); - if (uVar1 != 0) { - if (DAT_8002a970 == 0) { - FUN_7f01a788(5,1); - } - else { - DAT_8002a974 = 1; - FUN_7f01a788(4,1); - } - } - } - else { - FUN_7f01a788(4,1); - } - return; -} - - - -undefined4 * FUN_7f00b258(undefined4 *param_1) - -{ - undefined4 *puVar1; - - puVar1 = FUN_7f009274(param_1); - return puVar1; -} - - - -void FUN_7f00b278(void) - -{ - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float fStack12; - undefined4 uStack8; - undefined4 uStack4; - - DAT_8002a90c = 0; - fStack12 = DAT_8002ab88; - uStack8 = DAT_8002ab8c; - uStack4 = DAT_8002ab90; - loc_7F0764EC((longlong)(int)PTR_DAT_8003af54,PTR_s_PgoldeneyelogoZ_8003af58,(longlong)DAT_8002a990 - ,0x3c000,NULL); - FUN_7f0762e4((ushort **)PTR_DAT_8003af54); - DAT_8002a998 = FUN_7f06c684((ushort **)PTR_DAT_8003af54); - set_obj_instance_controller_scale(DAT_8002a998,0x3f800000); - FUN_7f06d1fc(DAT_8002a998,&fStack12,extraout_a2_lo,extraout_a3_lo); - return; -} - - - -void FUN_7f00b324(void) - -{ - DAT_8002a970 = 0; - FUN_7f06c824(DAT_8002a998); - return; -} - - - -// WARNING: Instruction at (ram,0x7f00b460) overlaps instruction at (ram,0x7f00b45c) -// - -void FUN_7f00b350(undefined8 param_1,undefined8 param_2) - -{ - ulonglong uVar1; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051a40,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051a44,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - DAT_8002a90c += DAT_800483a4; - if (((DAT_8002a970 == 0) || (0xb4 < DAT_8002a90c)) || - ((DAT_8002a978 != 0 && (0x5a < DAT_8002a90c)))) { - if (DAT_8002a90c < 0xb5) { - uVar1 = FUN_7000c410('\0',0xffff); - if ((uVar1 != 0) || ((DAT_8002a970 != 0 && (DAT_8002a978 != 0)))) { - FUN_7f01a788(5,1); - } - } - else { - if (DAT_8002a974 == 0) { - FUN_7f018824(0); - FUN_7f01a788(0x18,1); - } - else { - FUN_7f01a788(5,1); - } - } - } - else { - uVar1 = FUN_7000c410('\0',0xffff); - if (uVar1 != 0) { - DAT_8002a978 = 1; - } - } - return; -} - - - -undefined4 * FUN_7f00b49c(undefined4 *param_1) - -{ - undefined4 *puVar2; - undefined8 uVar1; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float **ppfVar3; - float **ppfVar4; - int iVar5; - float **ppfVar6; - float **ppfVar7; - longlong lVar8; - int iVar9; - undefined4 auStack292 [21]; - uint auStack208 [18]; - float afStack136 [18]; - float *pfStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 *puStack52; - undefined4 *puStack48; - - ppfVar6 = (float **)&DAT_8002ab94; - ppfVar3 = &pfStack64; - do { - ppfVar7 = ppfVar6 + 3; - ppfVar4 = ppfVar3 + 3; - *ppfVar3 = *ppfVar6; - ppfVar3[1] = ppfVar6[1]; - ppfVar3[2] = ppfVar6[2]; - ppfVar6 = ppfVar7; - ppfVar3 = ppfVar4; - } while (ppfVar7 != (float **)0x8002abd0); - *ppfVar4 = pfRam8002abd0; - puVar2 = FUN_700046d0(param_1,0,0,0); - puStack52 = insert_generic_fillrect(puVar2); - uVar1 = FUN_7f0be2a8(2); - guLookAtReflect(auStack208,uVar1,0,0,0x457a0000,0,0,0,0,0x3f800000,0); - *puStack52 = 0xbc000002; - puStack52[1] = 0x80000040; - puStack52[2] = 0x3860010; - puStack52[3] = 0x8002a9b8; - puStack52[4] = 0x3880010; - puStack52[5] = 0x8002a9b0; - puStack52[6] = 0x3840010; - puStack52[7] = (int)uVar1; - puStack52[9] = (int)uVar1 + 0x10; - puStack52[8] = 0x3820010; - puStack52 = puStack52 + 10; - FUN_7f059bb4(afStack136,0.00000000,0.00000000,3000.00000000,0.00000000,0.00000000,0.00000000, - 0.00000000,1.00000000,0.00000000); - pfStack64 = afStack136; - puStack48 = (undefined4 *)FUN_7f0be2c4((int)*(short *)(*(int *)(DAT_8002a998 + 8) + 0xe) << 6); - matrix_multiply_A1_by_F12(DAT_80051a48,extraout_a0,afStack136); - loc_7F058030(afStack136,puStack48); - *(undefined4 **)(DAT_8002a998 + 0xc) = puStack48; - loc_7F06F0C0(DAT_8002a998); - uStack56 = 3; - uStack60 = 0; - loc_7F074778((int)&pfStack64,DAT_8002a998,extraout_a2_lo,extraout_a3_lo); - puVar2 = puStack52; - lVar8 = 0; - iVar9 = 0; - if (0 < *(short *)(*(int *)(DAT_8002a998 + 8) + 0xe)) { - iVar5 = *(int *)(DAT_8002a998 + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar5 + iVar9),auStack292); - FUN_7f0591bc((int)auStack292,(uint *)(*(int *)(DAT_8002a998 + 0xc) + (int)lVar8 * 0x40)); - lVar8 = (longlong)((int)lVar8 + 1); - iVar9 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_8002a998 + 8) + 0xe) <= lVar8) break; - iVar5 = *(int *)(DAT_8002a998 + 0xc); - } - } - return puVar2; -} - - - -void loc_7F00B7A8(int param_1) - -{ - ushort *puVar1; - undefined4 *puVar2; - int iVar3; - longlong lVar4; - longlong lVar5; - int iVar6; - int iVar7; - - iVar3 = *(int *)(param_1 + 8); - lVar5 = 0; - lVar4 = (longlong)*(short *)(iVar3 + 0xc); - iVar7 = 0; - if (0 < lVar4) { - do { - puVar1 = *(ushort **)(*(int *)(iVar3 + 8) + iVar7); - iVar6 = (int)lVar5; - if (puVar1 == NULL) { - lVar5 = (longlong)(iVar6 + 1); - } - else { - if ((*puVar1 & 0xff) == 0x12) { - puVar2 = (undefined4 *)loc_7F06C888(param_1,puVar1); - *puVar2 = 0; - iVar3 = *(int *)(param_1 + 8); - lVar4 = (longlong)*(short *)(iVar3 + 0xc); - lVar5 = (longlong)(iVar6 + 1); - } - else { - lVar5 = (longlong)(iVar6 + 1); - } - } - iVar7 += 4; - } while (lVar5 < lVar4); - } - return; -} - - - -void loc_7F00B7FC(int param_1,int param_2,undefined4 param_3) - -{ - ushort *puVar1; - undefined4 *puVar2; - - puVar1 = *(ushort **)(*(int *)(*(int *)(param_1 + 8) + 8) + param_2 * 4); - if (puVar1 != NULL) { - puVar2 = (undefined4 *)loc_7F06C888(param_1,puVar1); - *puVar2 = param_3; - } - return; -} - - - -void FUN_7f00b828(int param_1) - -{ - loc_7F00B7FC(param_1,8,1); - loc_7F00B7FC(param_1,9,0); - loc_7F00B7FC(param_1,10,0); - loc_7F00B7FC(param_1,0xb,0); - loc_7F00B7FC(param_1,0xf,1); - loc_7F00B7FC(param_1,0x10,0); - loc_7F00B7FC(param_1,0x11,0); - loc_7F00B7FC(param_1,0x12,0); - return; -} - - - -void FUN_7f00b8cc(void) - -{ - uint uVar1; - uint *puVar2; - - if (DAT_8002a99c == 0) { - loc_7F0764EC((longlong)(int)PTR_DAT_8003af60,PTR_s_PwalletbondZ_8003af64,(longlong)DAT_8002a990, - 0xa000,NULL); - FUN_7f0762e4((ushort **)PTR_DAT_8003af60); - puVar2 = &DAT_8002a99c; - do { - uVar1 = FUN_7f06c82c((ushort **)PTR_DAT_8003af60); - *puVar2 = uVar1; - set_obj_instance_controller_scale(uVar1,0x3f800000); - puVar2 = puVar2 + 1; - } while (puVar2 != (uint *)0x8002a9ac); - if (*(int *)(*(int *)(PTR_DAT_8003af60 + 8) + 0x54) != 0) { - puVar2 = *(uint **)(*(int *)(*(int *)(PTR_DAT_8003af60 + 8) + 0x54) + 4); - locret_7F0BA710((int *)(puVar2[7] + (*puVar2 & 0xffffff)),NULL,8); - } - } - return; -} - - - -void FUN_7f00b9b0(void) - -{ - int iVar1; - int *piVar2; - - piVar2 = &DAT_8002a99c; - iVar1 = DAT_8002a99c; - while( true ) { - if (iVar1 != 0) { - FUN_7f06c9e8(iVar1); - *piVar2 = 0; - } - piVar2 = piVar2 + 1; - if (piVar2 == (int *)0x8002a9ac) break; - iVar1 = *piVar2; - } - return; -} - - - -void FUN_7f00ba08(void) - -{ - undefined *puVar1; - ushort *local_8; - int local_4; - - local_8 = (ushort *)(DAT_8002a990 + 0xa000); - DAT_8002a974 = 0; - local_4 = 0x6e000; - if (DAT_8002a928 < 0) { - DAT_8002a928 = 0; - } - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a95c = 0xffffffff; - DAT_8002a960 = 1; - FUN_7f008e04(&local_8,&local_4); - FUN_7f00b8cc(); - if (DAT_8002a97c != 0) { - FUN_70006e8c(0x17); - DAT_8002a97c = 0; - } - DAT_8002a90c = 0; - DAT_800696e1 = 0; - DAT_800696e2 = 0; - puVar1 = &DAT_800696e3; - do { - puVar1 = puVar1 + 4; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != (undefined *)0x8006972b); - DAT_8002a940 = 0; - DAT_8002a944 = 0; - return; -} - - - -void FUN_7f00bb00(void) - -{ - if ((DAT_8002a904 == 0) || (DAT_8002a908 == 0)) { - FUN_7f00b9b0(); - } - return; -} - - - -int FUN_7f00bb3c(int param_1) - -{ - undefined **ppuVar1; - - if (-1 < param_1) { - ppuVar1 = &PTR_s_1_8002ac24 + param_1 * 7; - do { - if (ppuVar1[4] != NULL) { - return param_1; - } - param_1 += -1; - ppuVar1 = ppuVar1 + -7; - } while (-1 < param_1); - } - return -1; -} - - - -void FUN_7f00bb88(int param_1) - -{ - float local_8; - float local_4; - - FUN_7f0785e4((float *)(&DAT_80069660 + param_1 * 0xc),&local_8); - DAT_8002a948 = local_8 + -1.00000000; - DAT_8002a94c = local_4 + 20.00000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong loc_7F00C368(void) - -{ - int iVar1; - ulonglong uVar2; - longlong lVar3; - undefined4 uVar5; - int **ppiVar6; - ulonglong uVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 uVar7; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - undefined8 extraout_a1_03; - undefined8 uVar8; - undefined8 extraout_a1_04; - undefined8 extraout_a1_05; - int *piVar9; - undefined4 *puVar10; - float *pfVar11; - int iVar12; - undefined4 *puStack188; - int iStack180; - int iStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float afStack144 [2]; - float afStack136 [16]; - float afStack72 [18]; - - uVar2 = FUN_7000c410('\0',0xffff); - uVar7 = extraout_a0; - uVar8 = extraout_a1; - if ((((uVar2 == 0) && - (lVar3 = FUN_7000c150('\0'), uVar7 = extraout_a0_00, uVar8 = extraout_a1_00, -6 < lVar3)) && - (lVar3 = FUN_7000c150('\0'), uVar7 = extraout_a0_01, uVar8 = extraout_a1_01, lVar3 < 6)) && - ((lVar3 = FUN_7000c260('\0'), uVar7 = extraout_a0_02, uVar8 = extraout_a1_02, -6 < lVar3 && - (lVar3 = FUN_7000c260('\0'), uVar7 = extraout_a0_03, uVar8 = extraout_a1_03, lVar3 < 6)))) { - DAT_8002a90c += DAT_800483a4; - uVar7 = extraout_a0_03; - uVar8 = extraout_a1_03; - } - else { - DAT_8002a90c = 0; - } - FUN_70004544(0x42700000,uVar7,uVar8); - FUN_70004590(DAT_80051a4c,extraout_a0_04,extraout_a1_04); - FUN_70004650(0x42c80000,DAT_80051a50,extraout_a0_05,extraout_a1_05); - FUN_70004534(0); - puVar10 = (undefined4 *)&DAT_80069660; - piVar9 = &DAT_8002a99c; - puStack188 = (undefined4 *)&DAT_8002abd4; - iVar12 = 0; - do { - FUN_7f059bb4(afStack72,0.00000000,0.00000000,4000.00000000,0.00000000,0.00000000,0.00000000, - 0.00000000,1.00000000,0.00000000); - FUN_7f058e84(puStack188,afStack136); - matrix_multiply_A1_by_F12(DAT_80051a54,extraout_a0_06,afStack136); - FUN_7f058588(afStack72,afStack136); - uVar5 = FUN_7f0be2c4((int)*(short *)(*(int *)(*piVar9 + 8) + 0xe) << 6); - *(undefined4 *)(*piVar9 + 0xc) = uVar5; - loc_7F058030(afStack136,*(undefined4 **)(*piVar9 + 0xc)); - iVar1 = *piVar9; - *puVar10 = *(undefined4 *)(*(int *)(iVar1 + 0xc) + 0x30); - puVar10[1] = *(undefined4 *)(*(int *)(iVar1 + 0xc) + 0x34); - puVar10[2] = *(undefined4 *)(*(int *)(iVar1 + 0xc) + 0x38); - loc_7F00B7A8(iVar1); - FUN_7f01ed70(); - FUN_7f00b828(*piVar9); - loc_7F00B7FC(*piVar9,0xe,1); - loc_7F00B7FC(*piVar9,0xd,1); - iVar12 += 1; - puStack188 = puStack188 + 3; - piVar9 = piVar9 + 1; - puVar10 = puVar10 + 3; - } while (iVar12 != 4); - if (-1 < DAT_8002a928) { - if (DAT_8002a928 == 100) { - DAT_8002a928 = DAT_8002a92c; - } - if ((DAT_8002a928 < 0) || (3 < DAT_8002a928)) { - DAT_8002a928 = 0; - } - FUN_7f00bb88(DAT_8002a928); - DAT_8002a928 = -1; - } - uVar2 = 0; - if (DAT_8002a95c < 0) { - pfVar11 = (float *)&DAT_80069660; - piVar9 = &DAT_8002a99c; - do { - FUN_7f03fc0c(*piVar9,afStack144,&fStack148,&fStack152,&fStack156); - sub_7F03F948(pfVar11,&fStack148,&fStack156,&fStack164,&fStack172); - iVar12 = (int)uVar2; - if (fStack164 <= DAT_8002a948) { - if (DAT_8002a948 <= fStack172) { - if (fStack160 <= DAT_8002a94c) { - if (DAT_8002a94c <= fStack168) { - FUN_7f01ea24(uVar2,&iStack176,&iStack180); - uVar4 = FUN_7000c410('\0',0xb000); - if (uVar4 != 0) { - if (DAT_8002a958 == 0) { - DAT_8002a928 = iVar12; - FUN_70008e18((longlong)_DAT_80063760,0x4d,NULL); - } - else { - if (DAT_8002a958 == 1) { - loc_7F01EEF8(uVar2); - DAT_8002a958 = 0; - FUN_70008e18((longlong)_DAT_80063760,0x4f,NULL); - } - else { - if (DAT_8002a958 == 2) { - if ((-1 < iStack176) && (-1 < iStack180)) { - DAT_8002a960 = 1; - DAT_8002a95c = iVar12; - } - DAT_8002a958 = 0; - FUN_70008e18((longlong)_DAT_80063760,0x12,NULL); - } - } - } - break; - } - uVar2 = SEXT48(iVar12 + 1); - } - else { - uVar2 = SEXT48(iVar12 + 1); - } - } - else { - uVar2 = SEXT48(iVar12 + 1); - } - } - else { - uVar2 = SEXT48(iVar12 + 1); - } - } - else { - uVar2 = SEXT48(iVar12 + 1); - } - piVar9 = piVar9 + 1; - pfVar11 = pfVar11 + 3; - } while (uVar2 != 4); - uVar2 = FUN_7000c410('\0',0xb000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0x4000); - if ((uVar2 != 0) && (DAT_8002a958 != 0)) { - DAT_8002a958 = 0; - FUN_70008e18((longlong)_DAT_80063760,0x76,NULL); - } - } - else { - if ((((DAT_8002a948 < DAT_8002ac04) || (DAT_8002ac0c < DAT_8002a948)) || - (DAT_8002a94c < DAT_8002ac08)) || (DAT_8002ac10 < DAT_8002a94c)) { - if (((DAT_8002a948 < DAT_8002ac14) || (DAT_8002ac1c < DAT_8002a948)) || - ((DAT_8002a94c < DAT_8002ac18 || (DAT_8002ac20 < DAT_8002a94c)))) { - if (DAT_8002a958 != 0) { - DAT_8002a958 = 0; - FUN_70008e18((longlong)_DAT_80063760,0x76,NULL); - } - } - else { - DAT_8002a958 = 2; - FUN_70008e18((longlong)_DAT_80063760,0xde,NULL); - } - } - else { - DAT_8002a958 = 1; - FUN_70008e18((longlong)_DAT_80063760,0xde,NULL); - } - } - iVar12 = FUN_7f009ba4(); - uVar2 = SEXT48(iVar12); - } - else { - uVar2 = FUN_7000c410('\0',0x222); - if ((uVar2 == 0) || (DAT_8002a960 != 0)) { - uVar2 = FUN_7000c410('\0',0x111); - if ((uVar2 != 0) && (DAT_8002a960 != 0)) { - DAT_8002a960 = 0; - FUN_70008e18((longlong)_DAT_80063760,0x12,NULL); - } - } - else { - DAT_8002a960 = 1; - FUN_70008e18((longlong)_DAT_80063760,0x12,NULL); - } - lVar3 = FUN_7000c150('\0'); - if ((lVar3 < -0x2d) && (DAT_8002a960 == 0)) { - DAT_8002a960 = 1; - FUN_70008e18((longlong)_DAT_80063760,0x12,NULL); - } - else { - lVar3 = FUN_7000c150('\0'); - if ((0x2d < lVar3) && (DAT_8002a960 != 0)) { - DAT_8002a960 = 0; - FUN_70008e18((longlong)_DAT_80063760,0x12,NULL); - } - } - uVar2 = FUN_7000c410('\0',0xb000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0x4000); - if (uVar2 != 0) { - FUN_7f00bb88(DAT_8002a95c); - DAT_8002a95c = -1; - ppiVar6 = FUN_70008e18((longlong)_DAT_80063760,0x76,NULL); - uVar2 = SEXT48((int)ppiVar6); - } - } - else { - if (DAT_8002a960 == 0) { - loc_7F01ED00((longlong)DAT_8002a95c); - FUN_70008e18((longlong)_DAT_80063760,0x76,NULL); - } - else { - FUN_70008e18((longlong)_DAT_80063760,0x76,NULL); - } - uVar2 = FUN_7f00bb88(DAT_8002a95c); - DAT_8002a95c = -1; - } - } - if (DAT_8002a928 < 0) { - if (0x708 < DAT_8002a90c) { - uVar2 = FUN_7f01a788(0,1); - } - } - else { - FUN_7f01a788(6,0); - uVar2 = FUN_7f00d81c(0); - } - return uVar2; -} - - - -int loc_7F00C3F8(longlong param_1) - -{ - int iVar1; - - iVar1 = 0; - if (param_1 == 0) { - iVar1 = FUN_7f0c2a88(0x9c13); - } - else { - if (param_1 == 1) { - iVar1 = FUN_7f0c2a88(0x9c14); - } - else { - if (param_1 == 2) { - iVar1 = FUN_7f0c2a88(0x9c15); - } - else { - if (param_1 == 3) { - iVar1 = FUN_7f0c2a88(0x9c16); - } - } - } - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * loc_7F00D220(undefined4 *param_1) - -{ - undefined4 *puVar1; - short sVar4; - byte *pbVar2; - short sVar5; - char *pcVar3; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - undefined8 extraout_a2_01; - undefined8 uVar6; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 extraout_a3_01; - undefined8 uVar7; - undefined4 *puVar8; - undefined4 *puVar9; - int iVar10; - undefined **ppuVar11; - longlong lVar12; - int iVar13; - uint *puVar14; - undefined *puVar15; - undefined4 *puVar16; - float fVar17; - uint *puStackX0; - float *pfStack324; - float fStack308; - float fStack304; - float fStack300; - undefined4 uStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack264; - byte abStack252 [20]; - byte abStack232 [20]; - float fStack212; - float fStack208; - int iStack204; - undefined *puStack200; - int iStack196; - int iStack192; - int iStack188; - int aiStack184 [2]; - undefined4 auStack176 [17]; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack100; - undefined4 *puStack96; - int iStack28; - undefined4 uStack24; - undefined4 uStack20; - int iStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - iStack16 = DAT_8002af6c; - uStack12 = DAT_8002af70; - uStack8 = DAT_8002af74; - iStack28 = DAT_8002af78; - uStack24 = DAT_8002af7c; - uStack20 = DAT_8002af80; - puStackX0 = param_1; - puVar1 = insert_imageDL(param_1); - *puVar1 = 0xfc167e2c; - puVar1[1] = 0x33fdf6fb; - puStackX0 = puVar1 + 4; - puVar1[3] = 0xffffff14; - puVar1[2] = 0xfb000000; - sVar4 = get_video2_settings_txtClipW(); - fVar17 = loc_7F05C3C8(((float)(int)sVar4 * -80.00000000) / 1280.00000000); - puVar1 = sub_7F007CC8(puStackX0,(int)fVar17,&iStack16,&iStack28); - puVar1[1] = 0x1000000; - *puVar1 = 0x6000000; - puStackX0 = puVar1 + 4; - puVar14 = &DAT_8002a9a8; - puVar1[3] = 0x1000040; - puVar1[2] = 0x6000000; - uVar6 = extraout_a2; - uVar7 = extraout_a3; - do { - puVar1 = &DAT_8002af84; - puVar8 = &uStack108; - do { - puVar16 = puVar1 + 3; - puVar9 = puVar8 + 3; - *puVar8 = *puVar1; - puVar8[1] = puVar1[1]; - puVar8[2] = puVar1[2]; - puVar1 = puVar16; - puVar8 = puVar9; - } while (puVar16 != (undefined4 *)0x8002afc0); - lVar12 = 0; - *puVar9 = uRam8002afc0; - uStack100 = 3; - uStack104 = 0; - puStack96 = puStackX0; - loc_7F074778((int)&uStack108,*puVar14,(int)uVar6,(int)uVar7); - iVar10 = 0; - puStackX0 = puStack96; - uVar6 = extraout_a2_00; - uVar7 = extraout_a3_00; - if (0 < *(short *)(*(int *)(*puVar14 + 8) + 0xe)) { - iVar13 = *(int *)(*puVar14 + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar13 + iVar10),auStack176); - FUN_7f0591bc((int)auStack176,(uint *)(*(int *)(*puVar14 + 0xc) + (int)lVar12 * 0x40)); - lVar12 = (longlong)((int)lVar12 + 1); - iVar10 += 0x40; - uVar6 = extraout_a2_01; - uVar7 = extraout_a3_01; - if ((longlong)*(short *)(*(int *)(*puVar14 + 8) + 0xe) <= lVar12) break; - iVar13 = *(int *)(*puVar14 + 0xc); - } - } - puVar14 = puVar14 + -1; - } while (&DAT_8002a99c <= puVar14); - puStackX0 = loc_7F0ACED4(puStackX0); - FUN_7f0ad728(0); - pfStack324 = (float *)&DAT_80069660; - iStack4 = 0; - do { - FUN_7f0785e4(pfStack324,&fStack212); - if ((longlong)iStack4 == (longlong)DAT_8002a95c) { - fVar17 = loc_7F05C3C8(fStack212); - aiStack184[0] = (int)fVar17 + -0x31; - fVar17 = loc_7F05C3C8(fStack208); - iStack188 = (int)fVar17 + 0x19; - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)aiStack184[0],(longlong)iStack188, - (longlong)(aiStack184[0] + 99),(int)fVar17 + 0x43,0x32); - pbVar2 = (byte *)FUN_7f0c2a88(0x9c17); - fVar17 = loc_7F05C3C8(fStack212); - aiStack184[0] = (int)fVar17 + -0x2f; - fVar17 = loc_7F05C3C8(fStack208); - iStack188 = (int)fVar17 + 0x1e; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,pbVar2,DAT_80040ee8,(int)DAT_80040ee4 - ,0xebd879ff,(int)sVar4,(int)sVar5,0,0); - pbVar2 = (byte *)FUN_7f0c2a88(0x9c18); - fVar17 = loc_7F05C3C8(fStack212); - aiStack184[0] = (int)fVar17 + -0x2f; - fVar17 = loc_7F05C3C8(fStack208); - iStack188 = (int)fVar17 + 0x32; - if (DAT_8002a960 == 0) { - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,pbVar2,DAT_80040ee8, - (int)DAT_80040ee4,0xebd879ff,(int)sVar4,(int)sVar5,0,0); - } - else { - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,pbVar2,DAT_80040ee8,DAT_80040ee4,0); - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(aiStack184[0] + -1),(longlong)(iStack188 + -1), - (longlong)(aiStack184[0] + iStack196 + 3),iStack188 + iStack192,0x32) - ; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,pbVar2,DAT_80040ee8, - (int)DAT_80040ee4,0xffffffff,(int)sVar4,(int)sVar5,0,0); - } - pbVar2 = (byte *)FUN_7f0c2a88(0x9c19); - fVar17 = loc_7F05C3C8(fStack212); - iVar10 = -1; - if (DAT_80048500 != 0) { - iVar10 = 0x17; - } - aiStack184[0] = iVar10 + (int)fVar17 + -1; - fVar17 = loc_7F05C3C8(fStack208); - iStack188 = (int)fVar17 + 0x32; - if (DAT_8002a960 == 0) { - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,pbVar2,DAT_80040ee8,DAT_80040ee4,0); - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(aiStack184[0] + -1),(longlong)(iStack188 + -1), - (longlong)(aiStack184[0] + iStack196 + 3),iStack188 + iStack192,0x32) - ; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,pbVar2,DAT_80040ee8, - (int)DAT_80040ee4,0xffffffff,(int)sVar4,(int)sVar5,0,0); - } - else { - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,pbVar2,DAT_80040ee8, - (int)DAT_80040ee4,0xebd879ff,(int)sVar4,(int)sVar5,0,0); - } - } - else { - FUN_7f01ea24((longlong)iStack4,(int *)&puStack200,&iStack204); - if ((-1 < (int)puStack200) && (-1 < (longlong)iStack204)) { - pcVar3 = (char *)loc_7F00C3F8((longlong)iStack204); - if (pcVar3 != NULL) { - locret_7000A798((char *)abStack232,pcVar3); - locret_7000A844((char *)abStack232,s__8004f4b8); - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,abStack232,DAT_80040ee8,DAT_80040ee4,0); - fVar17 = loc_7F05C3C8(fStack212); - iVar10 = iStack196; - if (iStack196 < 0) { - iVar10 = iStack196 + 1; - } - aiStack184[0] = ((int)fVar17 - (iVar10 >> 1)) + -1; - fVar17 = loc_7F05C3C8(fStack208); - iStack188 = (int)fVar17 + 0x15; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,abStack232,DAT_80040ee8, - (int)DAT_80040ee4,0xebd879ff,(int)sVar4,(int)sVar5,0,0); - } - iVar10 = -1; - iVar13 = 0; - if (iStack204 != 3) { - pcVar3 = (char *)FUN_7f0c2a88(0x9c1a); - locret_7000A798((char *)abStack252,pcVar3); - ppuVar11 = &PTR_s_1_8002ac24; - puVar15 = DAT_8002ac38; - if (DAT_8002ac28 != 0) { - while (puStack200 != puVar15) { - iVar13 += 1; - if (*(short *)(ppuVar11 + 8) == 0) goto LAB_7f00cbfc; - puVar15 = ppuVar11[0xc]; - ppuVar11 = ppuVar11 + 7; - } - iVar10 = FUN_7f00bb3c(iVar13); - } -LAB_7f00cbfc: - if (-1 < iVar10) { - locret_7000A844((char *)abStack252,(&PTR_s_1_8002ac24)[iVar10 * 7]); - locret_7000A844((char *)abStack252,s___8004f4bc); - } - locret_7000A844((char *)abStack252,(&PTR_s_1_8002ac24)[iVar13 * 7]); - locret_7000A844((char *)abStack252,s__8004f4c0); - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,abStack252,DAT_80040ee8,DAT_80040ee4,0); - fVar17 = loc_7F05C3C8(fStack212); - iVar10 = iStack196; - if (iStack196 < 0) { - iVar10 = iStack196 + 1; - } - aiStack184[0] = ((int)fVar17 - (iVar10 >> 1)) + -1; - fVar17 = loc_7F05C3C8(fStack208); - iStack188 = (int)fVar17 + 0x2d; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,abStack252,DAT_80040ee8, - (int)DAT_80040ee4,0xebd879ff,(int)sVar4,(int)sVar5,0,0); - } - } - } - iStack4 += 1; - pfStack324 = pfStack324 + 3; - if (iStack4 == 4) { - FUN_7f0ad728(0); - pbVar2 = (byte *)FUN_7f0c2a88(0x9c1b); - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,pbVar2,DAT_80040ee8,DAT_80040ee4,0); - iVar10 = iStack192; - if (iStack192 < 0) { - iVar10 = iStack192 + 1; - } - iStack188 = 0x11d - (iVar10 >> 1); - aiStack184[0] = 0xf7; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,pbVar2,DAT_80040ee8,(int)DAT_80040ee4 - ,0xffffffff,(int)sVar4,(int)sVar5,0,0); - DAT_8002ac0c = (float)(aiStack184[0] + iStack196); - pbVar2 = (byte *)FUN_7f0c2a88(0x9c1c); - iStack196 = 0; - iStack192 = 0; - loc_7F0AEB50(&iStack192,&iStack196,pbVar2,DAT_80040ee8,DAT_80040ee4,0); - aiStack184[0] = 0x165; - iVar10 = iStack192; - if (iStack192 < 0) { - iVar10 = iStack192 + 1; - } - iStack188 = 0x11d - (iVar10 >> 1); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack184,&iStack188,pbVar2,DAT_80040ee8,(int)DAT_80040ee4 - ,0xffffffff,(int)sVar4,(int)sVar5,0,0); - DAT_8002ac1c = (float)(aiStack184[0] + iStack196); - fStack268 = 225.00000000; - fStack264 = DAT_80051a58; - fStack276 = (float)(uint)*(byte *)(_DAT_8008d198 + 1); - if (false) { - fStack276 = fStack276 + 4294967296.00000000; - } - fStack276 = fStack276 * 0.50000000; - fStack272 = (float)(uint)*(byte *)((int)_DAT_8008d198 + 5); - if (false) { - fStack272 = fStack272 + 4294967296.00000000; - } - fStack272 = fStack272 * 0.50000000; - loc_7F077B80((uint **)register0x000000ec,_DAT_8008d198,4,0,0); - loc_7F06B108((uint **)register0x000000ec,&fStack268,&fStack276, - (uint)*(byte *)(_DAT_8008d198 + 1),(uint)*(byte *)((int)_DAT_8008d198 + 5),0,0,1, - 0xff,0xff,0xff,0xff,(uint)(*(char *)((int)_DAT_8008d198 + 6) != '\0'),0); - DAT_8002ac04 = fStack268 - fStack276; - DAT_8002ac08 = fStack264 - fStack272; - DAT_8002ac10 = fStack272 + fStack264; - fStack284 = DAT_80051a5c; - fStack280 = DAT_80051a60; - fStack292 = (float)(uint)*(byte *)(_DAT_8008d198 + 4); - if (false) { - fStack292 = fStack292 + 4294967296.00000000; - } - fStack292 = fStack292 * 0.50000000; - fStack288 = (float)(uint)*(byte *)((int)_DAT_8008d198 + 0x11); - if (false) { - fStack288 = fStack288 + 4294967296.00000000; - } - fStack288 = fStack288 * 0.50000000; - loc_7F077B80((uint **)register0x000000ec,_DAT_8008d198 + 3,4,0,0); - loc_7F06B108((uint **)register0x000000ec,&fStack284,&fStack292, - (uint)*(byte *)(_DAT_8008d198 + 4),(uint)*(byte *)((int)_DAT_8008d198 + 0x11),0,0 - ,1,0xff,0xff,0xff,0xff,(uint)(*(char *)((int)_DAT_8008d198 + 0x12) != '\0'),0); - DAT_8002ac14 = fStack284 - fStack292; - DAT_8002ac18 = fStack280 - fStack288; - DAT_8002ac20 = fStack288 + fStack280; - fStack300 = 110.00000000; - uStack296 = DAT_80051a64; - fStack308 = (float)(uint)*(byte *)(_DAT_8008d198 + 7); - if (false) { - fStack308 = fStack308 + 4294967296.00000000; - } - fStack308 = fStack308 * 0.50000000; - fStack304 = (float)(uint)*(byte *)((int)_DAT_8008d198 + 0x1d); - if (false) { - fStack304 = fStack304 + 4294967296.00000000; - } - fStack304 = fStack304 * 0.50000000; - loc_7F077B80((uint **)register0x000000ec,_DAT_8008d198 + 6,4,0,0); - loc_7F06B108((uint **)register0x000000ec,&fStack300,&fStack308, - (uint)*(byte *)(_DAT_8008d198 + 7),(uint)*(byte *)((int)_DAT_8008d198 + 0x1d),0,0 - ,1,0xff,0xff,0xff,0xff,(uint)(*(char *)((int)_DAT_8008d198 + 0x1e) != '\0'),0); - if (DAT_8002a95c < 0) { - puStackX0 = (uint *)FUN_7f009f28(puStackX0); - } - return puStackX0; - } - } while( true ); -} - - - -void FUN_7f00d270(void) - -{ - DAT_8002a930 = 0xffffffff; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - FUN_7f00b8cc(); - FUN_7f01d6ec(); - return; -} - - - -void FUN_7f00d2b0(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00d2b8(void) - -{ - ulonglong uVar1; - longlong lVar2; - undefined *puVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - int iVar4; - - DAT_8002a98c = 0; - puVar3 = &DAT_80069691; - iVar4 = 1; - do { - uVar1 = loc_7F009B44(iVar4); - if (uVar1 == 0) { - *puVar3 = 0; - } - else { - *puVar3 = 1; - DAT_8002a98c = 1; - } - iVar4 += 1; - puVar3 = puVar3 + 1; - } while (iVar4 != 0x4b); - FUN_70004544(0x42700000,extraout_a0,extraout_a1); - FUN_70004590(DAT_80051a68,extraout_a0_00,extraout_a1_00); - FUN_70004650(0x42c80000,DAT_80051a6c,extraout_a0_01,extraout_a1_01); - FUN_70004534(0); - loc_7F00B7A8(DAT_8002a99c); - FUN_7f01ed70(); - FUN_7f00b828(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,1,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - loc_7F00B7FC(DAT_8002a99c,7,1); - loc_7F00B7FC(DAT_8002a99c,2,1); - DAT_8002a924 = 0; - _DAT_800697c4 = 0xffffffff; - lVar2 = FUN_7f00a3bc(); - if (lVar2 == 0) { - if ((DAT_8002a98c == 0) || (DAT_8002a94c < DAT_80051a70)) { - if ((DAT_8002a94c < 243.00000000) || (lVar2 = FUN_7000ba08(), lVar2 < 2)) { - _DAT_800697c4 = 0; - uVar1 = FUN_7000c410('\0',0xb000); - if (uVar1 != 0) { - DAT_8002a930 = 0; - FUN_70008e18((longlong)_DAT_80063760,0xc5,NULL); - } - } - else { - _DAT_800697c4 = 1; - uVar1 = FUN_7000c410('\0',0xb000); - if (uVar1 != 0) { - DAT_8002a930 = 1; - FUN_70008e18((longlong)_DAT_80063760,0xc5,NULL); - } - } - } - else { - _DAT_800697c4 = 2; - uVar1 = FUN_7000c410('\0',0xb000); - if (uVar1 != 0) { - DAT_8002a930 = 2; - FUN_70008e18((longlong)_DAT_80063760,0xc5,NULL); - } - } - } - else { - DAT_8002a924 = 1; - uVar1 = FUN_7000c410('\0',0xb000); - if (uVar1 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - uVar1 = FUN_7000c410('\0',0x4000); - if (uVar1 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - FUN_7f009ba4(); - if (DAT_8002a930 == 0) { - FUN_7f01a788(7,0); - FUN_7f00e420(0); - } - else { - if (DAT_8002a930 == 1) { - FUN_7f01a788(0xe,0); - } - else { - if (DAT_8002a930 == 2) { - FUN_7f01a788(0x15,0); - } - else { - if (DAT_8002a918 != 0) { - FUN_7f01a788(5,0); - } - } - } - } - return; -} - - - -undefined4 FUN_7f00d608(undefined4 param_1) - -{ - undefined4 uVar1; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - int iVar2; - longlong lVar3; - int iVar4; - float **ppfVar5; - float **ppfVar6; - float **ppfVar7; - float **ppfVar8; - float fVar9; - float fVar10; - undefined4 auStack272 [16]; - float afStack208 [16]; - float afStack144 [17]; - float *pfStack76; - undefined4 uStack72; - undefined4 uStack68; - undefined4 uStack64; - undefined4 *puStack60; - - fVar9 = *(float *)(&DAT_8002abd4 + DAT_8002a928 * 0xc); - fVar10 = *(float *)(&DAT_8002abd8 + DAT_8002a928 * 0xc); - ppfVar7 = (float **)&DAT_8002afc4; - ppfVar5 = &pfStack76; - do { - ppfVar8 = ppfVar7 + 3; - ppfVar6 = ppfVar5 + 3; - *ppfVar5 = *ppfVar7; - ppfVar5[1] = ppfVar7[1]; - ppfVar5[2] = ppfVar7[2]; - ppfVar7 = ppfVar8; - ppfVar5 = ppfVar6; - } while (ppfVar8 != (float **)0x8002b000); - *ppfVar6 = pfRam8002b000; - FUN_7f059bb4(afStack144,fVar9 + DAT_8002b004,fVar10 + DAT_8002b008,DAT_8002b00c + 4000.00000000, - fVar9 + DAT_8002b004,fVar10 + DAT_8002b008,0.00000000,0.00000000,1.00000000, - 0.00000000); - FUN_7f058e84((undefined4 *)(&DAT_8002abd4 + DAT_8002a928 * 0xc),afStack208); - matrix_multiply_A1_by_F12(0.25000000,extraout_a0,afStack208); - FUN_7f058588(afStack144,afStack208); - pfStack76 = afStack208; - puStack60 = (undefined4 *)FUN_7f0be2c4((int)*(short *)(*(int *)(DAT_8002a99c + 8) + 0xe) << 6); - loc_7F058030(afStack208,puStack60); - *(undefined4 **)(DAT_8002a99c + 0xc) = puStack60; - uStack68 = 3; - uStack72 = 0; - uStack64 = param_1; - loc_7F074778((int)&pfStack76,DAT_8002a99c,extraout_a2_lo,extraout_a3_lo); - uVar1 = uStack64; - lVar3 = 0; - iVar4 = 0; - if (0 < *(short *)(*(int *)(DAT_8002a99c + 8) + 0xe)) { - iVar2 = *(int *)(DAT_8002a99c + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar2 + iVar4),auStack272); - FUN_7f0591bc((int)auStack272,(uint *)(*(int *)(DAT_8002a99c + 0xc) + (int)lVar3 * 0x40)); - lVar3 = (longlong)((int)lVar3 + 1); - iVar4 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_8002a99c + 8) + 0xe) <= lVar3) break; - iVar2 = *(int *)(DAT_8002a99c + 0xc); - } - } - return uVar1; -} - - - -void FUN_7f00d81c(int param_1) - -{ - DAT_8002a948 = 0x42fc0000; - DAT_8002a94c = (float)(param_1 * 0x20 + 0xe2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F00DC9C(undefined4 *param_1) - -{ - undefined4 *puVar2; - uint *puVar3; - short sVar5; - short sVar6; - longlong lVar1; - undefined4 uVar4; - uint uVar7; - uint uStack24; - int iStack20; - int iStack16; - uint uStack12; - uint uStack8; - byte *pbStack4; - - puVar2 = FUN_700046d0(param_1,0,0,0); - puVar2 = insert_generic_fillrect(puVar2); - puVar2 = (undefined4 *)FUN_7f00d608(puVar2); - puVar3 = loc_7F0ACED4(puVar2); - uStack8 = 0x96; - uStack12 = 0xdc; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,(byte *)s_1__8004f4c4,DAT_80040ee8, - (int)DAT_80040ee4,0xff,(int)sVar5,(int)sVar6,0,0); - if (DAT_8002a940 == 0) { - uVar7 = 0x9c1d; - } - else { - uVar7 = 0x9c75; - } - pbStack4 = (byte *)FUN_7f0c2a88(uVar7); - loc_7F0AEB50(&iStack20,&iStack16,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack8 = 0xaa; - uStack12 = 0xdc; - if (_DAT_800697c4 == 0) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,0x94,0xda,(longlong)(iStack16 + 0xaf),0xea,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - uStack8 = 0x96; - uStack12 = 0xfc; - lVar1 = FUN_7000ba08(); - if (lVar1 < 2) { - uStack24 = 0x70; - } - else { - uStack24 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,(byte *)s_2__8004f4c8,DAT_80040ee8, - (int)DAT_80040ee4,uStack24,(int)sVar5,(int)sVar6,0,0); - uVar7 = 0x9c1e; - if (DAT_8002a944 != 0) { - uVar7 = 0x9d14; - } - pbStack4 = (byte *)FUN_7f0c2a88(uVar7); - loc_7F0AEB50(&iStack20,&iStack16,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack8 = 0xaa; - uStack12 = 0xfc; - if (_DAT_800697c4 == 1) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,0x94,0xfa,(longlong)(iStack16 + 0xaf),0x10a,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uStack24, - (int)sVar5,(int)sVar6,0,0); - if (DAT_8002a98c != 0) { - uStack8 = 0x96; - uStack12 = 0x11c; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,(byte *)s_3__8004f4cc,DAT_80040ee8, - (int)DAT_80040ee4,0xff,(int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c1f); - loc_7F0AEB50(&iStack20,&iStack16,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack8 = 0xaa; - uStack12 = 0x11c; - if (_DAT_800697c4 == 2) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,0x94,0x11a,(longlong)(iStack16 + 0xaf),0x12a,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - } - puVar3 = FUN_7f00a258(puVar3); - uVar4 = FUN_7f009f28(puVar3); - return uVar4; -} - - - -int FUN_7f00dce0(undefined *param_1) - -{ - undefined **ppuVar1; - int iVar2; - undefined *puVar3; - - ppuVar1 = &PTR_s_1_8002ac24; - iVar2 = 0; - puVar3 = DAT_8002ac38; - if (DAT_8002ac28 != 0) { - while( true ) { - if (param_1 == puVar3) { - return iVar2; - } - iVar2 += 1; - if (*(short *)(ppuVar1 + 8) == 0) break; - puVar3 = ppuVar1[0xc]; - ppuVar1 = ppuVar1 + 7; - } - } - return -1; -} - - - -undefined8 FUN_7f00dd2c(int param_1,longlong param_2) - -{ - undefined8 uVar1; - - if ((longlong)(int)(&DAT_8002ac38)[param_1 * 7] < 0) { - uVar1 = 0; - } - else { - uVar1 = loc_7F01E4E0((longlong)DAT_8002a928,(longlong)(int)(&DAT_8002ac38)[param_1 * 7],param_2) - ; - } - return uVar1; -} - - - -longlong FUN_7f00dd80(longlong param_1) - -{ - int iVar2; - longlong lVar1; - longlong lVar3; - - iVar2 = FUN_7f00dce0((undefined *)param_1); - lVar3 = 2; - if (-1 < (int)(&DAT_8002ac2c)[iVar2 * 7]) { - lVar1 = FUN_7f01f650((longlong)DAT_8002a928); - if (lVar1 == 0) { - iVar2 = FUN_7f091ad4(); - if (iVar2 != 0) { - lVar3 = 3; - } - } - else { - lVar3 = 3; - } - if (true) { - do { - lVar1 = loc_7F01E4E0((longlong)DAT_8002a928,param_1,lVar3); - if (DAT_8002a940 == 0) { - if (lVar1 != 0) { - return lVar3; - } - } - else { - if (lVar1 == 3) { - return lVar3; - } - } - lVar3 = (longlong)((int)lVar3 + -1); - } while (-1 < lVar3); - } - } - return -1; -} - - - -void FUN_7f00de70(void) - -{ - DAT_8002a934 = 0xffffffff; - DAT_8002a938 = 0xffffffff; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - if (DAT_8002a97c != 0) { - FUN_70006e8c(0x17); - DAT_8002a97c = 0; - } - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f00ded0(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F00E3C0(undefined8 param_1,undefined8 param_2) - -{ - ushort *puVar1; - bool bVar2; - int iVar3; - longlong lVar4; - int *piVar6; - int iVar7; - ulonglong uVar5; - undefined4 uVar8; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined4 *puVar9; - undefined4 *puVar10; - int iVar11; - int iVar12; - int iVar13; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051a74,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051a78,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,0x13,1); - loc_7F00B7FC(DAT_8002a99c,0x14,1); - DAT_8002a924 = 0; - _DAT_800697c4 = (undefined *)0xffffffff; - lVar4 = FUN_7f00a3bc(); - iVar13 = 0; - if (lVar4 == 0) { - bVar2 = true; - while (((bVar2 && ((float)((&DAT_8002b014)[iVar13] + (&DAT_8002b010)[iVar13]) * 0.50000000 <= - DAT_8002a948)) && (iVar13 += 1, iVar13 != 5))) { - bVar2 = iVar13 < 4; - } - iVar7 = 0; - bVar2 = true; - while (((bVar2 && ((float)((&DAT_8002b028)[iVar7] + (&DAT_8002b024)[iVar7]) * 0.50000000 <= - DAT_8002a94c)) && (iVar7 += 1, iVar7 != 4))) { - bVar2 = iVar7 < 3; - } - if (0 < iVar7) { - iVar3 = iVar7 * 5; - do { - iVar12 = 0; - iVar11 = iVar3; - do { - lVar4 = FUN_7f00dd80((longlong)iVar11); - if (-1 < lVar4) break; - iVar12 += 1; - iVar11 += 1; - } while (iVar12 != 5); - if (iVar12 < 5) break; - iVar7 += -1; - iVar3 += -5; - } while (0 < iVar7); - } - iVar7 *= 5; - if (-1 < iVar13) { - iVar3 = iVar7 + iVar13; - do { - lVar4 = FUN_7f00dd80((longlong)iVar3); - if (-1 < lVar4) break; - iVar13 += -1; - iVar3 += -1; - } while (-1 < iVar13); - } - if (iVar13 < 0) { - iVar13 = 0; - iVar3 = iVar7; - do { - lVar4 = FUN_7f00dd80((longlong)iVar3); - if (-1 < lVar4) break; - iVar13 += 1; - iVar3 += 1; - } while (iVar13 != 5); - } - _DAT_800697c4 = (undefined *)(iVar7 + iVar13); - } - else { - DAT_8002a924 = 1; - } - puVar1 = *(ushort **)(*(int *)(*(int *)(DAT_8002a99c + 8) + 8) + 0x54); - if (puVar1 != NULL) { - iVar13 = *(int *)(puVar1 + 2); - piVar6 = (int *)loc_7F06C888(DAT_8002a99c,puVar1); - iVar7 = FUN_7f0be274((int)*(short *)(iVar13 + 0xc)); - *piVar6 = iVar7; - lVar4 = 0; - iVar7 = 0; - if (0 < *(short *)(iVar13 + 0xc)) { - iVar3 = *(int *)(iVar13 + 8); - while( true ) { - puVar10 = (undefined4 *)(iVar3 + iVar7); - puVar9 = (undefined4 *)(*piVar6 + iVar7); - *puVar9 = *puVar10; - puVar9[1] = puVar10[1]; - puVar9[2] = puVar10[2]; - puVar9[3] = puVar10[3]; - iVar11 = (int)lVar4; - iVar3 = iVar11; - if (lVar4 < 0) { - iVar3 = iVar11 + 3; - } - lVar4 = FUN_7f00dd80((longlong)(int)(undefined *)(iVar3 >> 2)); - if (lVar4 < 0) { - *(undefined *)(*piVar6 + iVar7 + 0xc) = 0xf; - *(undefined *)(*piVar6 + iVar7 + 0xd) = 0xf; - *(undefined *)(*piVar6 + iVar7 + 0xe) = 0xf; - *(undefined *)(*piVar6 + iVar7 + 0xf) = 0xff; - } - else { - if ((undefined *)(iVar3 >> 2) == _DAT_800697c4) { - *(undefined *)(*piVar6 + iVar7 + 0xc) = 0xff; - *(undefined *)(*piVar6 + iVar7 + 0xd) = 0xff; - *(undefined *)(*piVar6 + iVar7 + 0xe) = 0xff; - *(undefined *)(*piVar6 + iVar7 + 0xf) = 0xf5; - } - else { - *(undefined *)(*piVar6 + iVar7 + 0xc) = 0x6e; - *(undefined *)(*piVar6 + iVar7 + 0xd) = 0x6e; - *(undefined *)(*piVar6 + iVar7 + 0xe) = 0x6e; - *(undefined *)(*piVar6 + iVar7 + 0xf) = 0xff; - } - } - lVar4 = (longlong)(iVar11 + 1); - iVar7 += 0x10; - if ((longlong)*(short *)(iVar13 + 0xc) <= lVar4) break; - iVar3 = *(int *)(iVar13 + 8); - } - } - } - uVar5 = FUN_7000c410('\0',0xb000); - if (uVar5 == 0) { - uVar5 = FUN_7000c410('\0',0x4000); - if (uVar5 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a924 == 0) { - if (-1 < (int)_DAT_800697c4) { - DAT_8002a938 = FUN_7f00dce0(_DAT_800697c4); - DAT_8002a934 = (&DAT_8002ac2c)[DAT_8002a938 * 7]; - DAT_8002a914 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - uVar8 = FUN_7f009ba4(); - if (DAT_8002a914 == 0) { - if (DAT_8002a918 != 0) { - FUN_7f01a788(6,0); - uVar8 = FUN_7f00d81c(0); - } - } - else { - FUN_7f01a788(8,0); - if (DAT_80048500 == 0) { - lVar4 = FUN_7f00dd80((longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - uVar8 = set_cursor_pos_difficulty((int)lVar4); - } - else { - uVar8 = set_cursor_pos_difficulty(0); - } - } - return uVar8; -} - - - -void FUN_7f00e420(longlong param_1) - -{ - if (false) { - trap(0x1c00); - } - if ((false) && (param_1 == -0x80000000)) { - trap(0x1800); - } - DAT_8002a948 = (float)(&DAT_8002b010)[(int)param_1 % 5]; - DAT_8002a94c = (float)(&DAT_8002b024)[(int)param_1 / 5]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F00E71C(undefined4 *param_1) - -{ - byte bVar1; - undefined4 *puVar3; - uint *puVar4; - int iVar5; - longlong lVar2; - char *pcVar6; - byte *pbVar7; - short sVar9; - short sVar10; - undefined4 uVar8; - undefined *puVar11; - uint uVar12; - int iVar13; - int *piVar14; - int iStack88; - int iStack84; - byte abStack80 [52]; - int iStack28; - int aiStack24 [4]; - undefined *puStack8; - - puVar3 = FUN_700046d0(param_1,0,0,0); - puVar3 = insert_generic_fillrect(puVar3); - puVar3[1] = 0xffffffff; - *puVar3 = 0xf8000000; - puVar3 = (undefined4 *)FUN_7f00d608(puVar3 + 2); - puVar4 = loc_7F0ACED4(puVar3); - puStack8 = NULL; - do { - iVar13 = 0; - puVar11 = puStack8; - do { - iVar5 = FUN_7f00dce0(puVar11); - lVar2 = FUN_7f00dd80((longlong)(int)puVar11); - if (-1 < lVar2) { - uVar12 = 0x96969600; - piVar14 = &DAT_8002b010 + (int)puStack8; - if ((longlong)(int)puVar11 == (longlong)_DAT_800697c4) { - uVar12 = 0xffffff00; - } - if ((&DAT_8002ac2a)[iVar5 * 0xe] == 0) { - pcVar6 = (char *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002ac28)[iVar5 * 0xe]); - locret_7000A798((char *)abStack80,pcVar6); - } - else { - pcVar6 = (char *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002ac2a)[iVar5 * 0xe]); - locret_7000A798((char *)abStack80,pcVar6); - } - if (DAT_80048500 == 0) { - pcVar6 = locret_7001389C((char *)abStack80); - pbVar7 = abStack80 + (int)(pcVar6 + -1); - if (-1 < (int)(pcVar6 + -1)) { - bVar1 = *pbVar7; - while( true ) { - if (0x60 < bVar1) { - *pbVar7 = bVar1 - 0x20; - } - pbVar7 = pbVar7 + -1; - if (pbVar7 < abStack80) break; - bVar1 = *pbVar7; - } - } - } - locret_7000A844((char *)abStack80,s__8004f4d0); - iStack28 = 0; - aiStack24[0] = 0; - loc_7F0AEB50(aiStack24,&iStack28,abStack80,DAT_80040ee0,DAT_80040edc,0); - iStack88 = ((&DAT_8002b024)[iVar13] - aiStack24[0]) + 0x1d; - iStack84 = *piVar14 + -0x1f; - puVar3 = microcode_constructor_related_to_menus - (puVar4,(longlong)iStack84,(longlong)iStack88, - (longlong)(iStack84 + iStack28),iStack88 + aiStack24[0],0); - sVar9 = get_video2_settings_txtClipW(); - sVar10 = get_video2_settings_txtClipH(); - puVar4 = loc_7F0ADD78(puVar3,&iStack84,&iStack88,abStack80,DAT_80040ee0,(int)DAT_80040edc, - uVar12 | 0xff,(int)sVar9,(int)sVar10,0,0); - iStack88 = ((&DAT_8002b024)[iVar13] - aiStack24[0]) + 0x1d; - iStack84 = *piVar14 + -0x1f; - sVar9 = get_video2_settings_txtClipW(); - sVar10 = get_video2_settings_txtClipH(); - puVar4 = loc_7F0ADD78(puVar4,&iStack84,&iStack88,abStack80,DAT_80040ee0,(int)DAT_80040edc, - uVar12 | 100,(int)sVar9,(int)sVar10,0,0); - } - iVar13 += 1; - puVar11 = puVar11 + 5; - } while (iVar13 != 4); - puStack8 = puStack8 + 1; - } while (puStack8 != (undefined *)0x5); - puVar4 = FUN_7f00a258(puVar4); - uVar8 = FUN_7f009f28(puVar4); - return uVar8; -} - - - -void FUN_7f00e7c0(void) - -{ - DAT_8002a93c = 0xffffffff; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f00e7f8(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f00e800(void) - -{ - longlong lVar1; - int iVar3; - ulonglong uVar2; - undefined4 uVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - - lVar1 = FUN_7f00dd80((longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - iVar3 = (int)lVar1; - FUN_70004544(0x42700000,extraout_a0,extraout_a1); - FUN_70004590(DAT_80051a7c,extraout_a0_00,extraout_a1_00); - FUN_70004650(0x42c80000,DAT_80051a80,extraout_a0_01,extraout_a1_01); - FUN_70004534(0); - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,1,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - loc_7F00B7FC(DAT_8002a99c,4,1); - DAT_8002a924 = 0; - _DAT_800697c4 = -1; - lVar1 = FUN_7f00a3bc(); - if (lVar1 == 0) { - if ((iVar3 < 3) || (DAT_8002a94c < DAT_80051a84)) { - if ((iVar3 < 2) || (DAT_8002a94c < 243.00000000)) { - if (iVar3 < 1) { - _DAT_800697c4 = 0; - } - else { - if (211.00000000 <= DAT_8002a94c) { - _DAT_800697c4 = 1; - } - else { - _DAT_800697c4 = 0; - } - } - } - else { - _DAT_800697c4 = 2; - } - } - else { - _DAT_800697c4 = 3; - } - } - else { - DAT_8002a924 = 1; - } - uVar2 = FUN_7000c410('\0',0xb000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0x4000); - if (uVar2 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a924 == 0) { - if (-1 < _DAT_800697c4) { - DAT_8002a93c = _DAT_800697c4; - DAT_8002a914 = 1; - FUN_70008e18((longlong)_DAT_80063760,0x4d,NULL); - } - } - else { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - uVar4 = FUN_7f009ba4(); - if (DAT_8002a914 == 0) { - if (DAT_8002a918 != 0) { - FUN_7f01a788(7,0); - uVar4 = FUN_7f00e420((longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - } - } - else { - if (DAT_8002a93c == 3) { - FUN_7f01a788(9,0); - uVar4 = FUN_7f00a410(); - } - else { - FUN_7f01a788(10,0); - uVar4 = FUN_7f00a410(); - } - } - return uVar4; -} - - - -uint * FUN_7f00eafc(uint *param_1,byte *param_2) - -{ - char *pcVar1; - short sVar4; - short sVar5; - int iVar2; - uint *puVar3; - uint *local_res0; - uint local_8; - uint local_4; - - local_res0 = param_1; - if (-1 < (longlong)DAT_8002a93c) { - pcVar1 = (char *)loc_7F00C3F8((longlong)DAT_8002a93c); - locret_7000A798((char *)param_2,pcVar1); - pcVar1 = (char *)FUN_7f0c2a88(0x9c20); - locret_7000A844((char *)param_2,pcVar1); - local_4 = 0x37; - local_8 = 0x57; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - local_res0 = FUN_7f009780(param_1,&local_4,&local_8,param_2,DAT_80040ee8,DAT_80040ee4,0xff, - (int)sVar4,(int)sVar5,0,0); - } - iVar2 = FUN_7f00bb3c(DAT_8002a938); - if (-1 < iVar2) { - pcVar1 = (char *)FUN_7f0c2a88(0x9c21); - locret_7000A798((char *)param_2,pcVar1); - locret_7000A844((char *)param_2,(&PTR_s_1_8002ac24)[iVar2 * 7]); - locret_7000A844((char *)param_2,s___8004f4d4); - pcVar1 = (char *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002ac28)[iVar2 * 0xe]); - locret_7000A844((char *)param_2,pcVar1); - locret_7000A844((char *)param_2,s__8004f4d8); - local_4 = 0x37; - local_8 = 0x67; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - local_res0 = FUN_7f009780(local_res0,&local_4,&local_8,param_2,DAT_80040ee8,DAT_80040ee4,0xff, - (int)sVar4,(int)sVar5,0,0); - } - pcVar1 = (char *)FUN_7f0c2a88(0x9c22); - locret_7000A798((char *)param_2,pcVar1); - locret_7000A844((char *)param_2,(&PTR_s_1_8002ac24)[DAT_8002a938 * 7]); - locret_7000A844((char *)param_2,s___8004f4dc); - pcVar1 = (char *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002ac28)[DAT_8002a938 * 0xe]); - locret_7000A844((char *)param_2,pcVar1); - locret_7000A844((char *)param_2,s__8004f4e0); - local_4 = 0x37; - local_8 = 0x77; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(local_res0,&local_4,&local_8,param_2,DAT_80040ee8,DAT_80040ee4,0xff, - (int)sVar4,(int)sVar5,0,0); - return puVar3; -} - - - -void set_cursor_pos_difficulty(int param_1) - -{ - DAT_8002a948 = 0x42d40000; - DAT_8002a94c = (float)(param_1 * 0x1e + 0xba); - return; -} - - - -// WARNING: Instruction at (ram,0x7f00f1f4) overlaps instruction at (ram,0x7f00f1f0) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f00edd8(undefined4 *param_1) - -{ - longlong lVar1; - byte *pbVar3; - short sVar6; - short sVar7; - int iVar4; - longlong lVar2; - undefined4 uVar5; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 extraout_a3_01; - undefined8 uVar8; - int iVar9; - uint uVar10; - undefined4 *puVar11; - undefined4 *puVar12; - undefined4 *puVar13; - uint *puStackX0; - float fStack3048; - float fStack3044; - float fStack3040; - float fStack3036; - int iStack3032; - int iStack3028; - undefined4 *puStack3024; - undefined4 auStack3020 [750]; - uint uStack20; - uint auStack16 [2]; - int iStack8; - - puStackX0 = param_1; - lVar1 = FUN_7f00dd80((longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - iStack8 = (int)lVar1; - puStackX0 = FUN_700046d0(puStackX0,0,0,0); - puStackX0 = insert_generic_fillrect(puStackX0); - puStackX0 = (uint *)FUN_7f00d608(puStackX0); - puVar12 = (undefined4 *)s__8004f4e4; - puVar11 = auStack3020; - do { - puVar13 = puVar12 + 3; - *puVar11 = *puVar12; - puVar11[1] = puVar12[1]; - puVar11[2] = puVar12[2]; - puVar12 = puVar13; - puVar11 = puVar11 + 3; - } while (puVar13 != (undefined4 *)&DAT_8005009c); - puStackX0 = loc_7F0ACED4(puStackX0); - puStackX0 = FUN_7f00eafc(puStackX0,(byte *)auStack3020); - pbVar3 = (byte *)FUN_7f0c2a88(0x9c23); - auStack16[0] = 0x37; - uStack20 = 0x8f; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puStackX0 = FUN_7f009780(puStackX0,auStack16,&uStack20,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar6,(int)sVar7,0,0); - uVar8 = extraout_a3; - if (-1 < _DAT_800697c4) { - if (DAT_80048500 == 0) { - iVar9 = 0; - } - else { - iVar9 = 0x32; - } - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(0x7e - iVar9), - (longlong)(_DAT_800697c4 * 0x1e + 0xb2),0xf0,_DAT_800697c4 * 0x1e + 0xc3, - 0x32); - uVar8 = extraout_a3_00; - } - iVar9 = 0; - do { - if ((iVar9 == 0) || (iVar9 <= iStack8)) { - uVar10 = iVar9 * 0x1e + 0xb4; - if (DAT_80048500 == 0) { - puStack3024 = auStack3020; - sprintf((int)puStack3024,&DAT_8005009c,iVar9 + 1,(int)uVar8); - } - else { - if (iVar9 == 0) { - puStack3024 = (undefined4 *)FUN_7f0c2a88(0x9d09); - } - else { - if (iVar9 == 1) { - puStack3024 = (undefined4 *)FUN_7f0c2a88(0x9d0a); - } - else { - if (iVar9 == 2) { - puStack3024 = (undefined4 *)FUN_7f0c2a88(0x9d0b); - } - else { - if (iVar9 == 3) { - puStack3024 = (undefined4 *)FUN_7f0c2a88(0x9d0c); - } - } - } - } - } - loc_7F0AEB50(&iStack3032,&iStack3028,(byte *)puStack3024,DAT_80040ee8,DAT_80040ee4,0); - iVar4 = 0; - if (DAT_80048500 != 0) { - iVar4 = iStack3028 + -10; - } - auStack16[0] = 0x82 - iVar4; - uStack20 = uVar10; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puStackX0 = FUN_7f009780(puStackX0,auStack16,&uStack20,(byte *)puStack3024,DAT_80040ee8, - (int)DAT_80040ee4,0xff,(int)sVar6,(int)sVar7,0,0); - if (iVar9 == 0) { - puStack3024 = (undefined4 *)FUN_7f0c2a88(0x9c24); - } - else { - if (iVar9 == 1) { - puStack3024 = (undefined4 *)FUN_7f0c2a88(0x9c25); - } - else { - if (iVar9 == 2) { - puStack3024 = (undefined4 *)FUN_7f0c2a88(0x9c26); - } - else { - if (iVar9 == 3) { - puStack3024 = (undefined4 *)FUN_7f0c2a88(0x9c27); - } - } - } - } - auStack16[0] = 0x96; - uStack20 = uVar10; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puStackX0 = FUN_7f009780(puStackX0,auStack16,&uStack20,(byte *)puStack3024,DAT_80040ee8, - (int)DAT_80040ee4,0xff,(int)sVar6,(int)sVar7,0,0); - uVar8 = extraout_a3_01; - } - iVar9 += 1; - } while (iVar9 < 4); - puStackX0 = FUN_7f00a258(puStackX0); - lVar1 = 0; - do { - if (((lVar1 == 0) || (lVar1 <= (longlong)iStack8)) && - (lVar2 = FUN_7f00dd2c(DAT_8002a938,lVar1), iVar9 = _DAT_8008d198, lVar2 == 3)) { - fStack3036 = (float)((int)lVar1 * 0x1e + 0xba); - fStack3040 = 280.00000000; - fStack3048 = (float)(uint)*(byte *)(_DAT_8008d198 + 0x34); - if (false) { - fStack3048 = fStack3048 + 4294967296.00000000; - } - fStack3048 = fStack3048 * 0.50000000; - fStack3044 = (float)(uint)*(byte *)(_DAT_8008d198 + 0x35); - if (false) { - fStack3044 = fStack3044 + 4294967296.00000000; - } - fStack3044 = fStack3044 * 0.50000000; - loc_7F077B80((uint **)register0x000000ec,(uint *)(_DAT_8008d198 + 0x30),4,0,0); - loc_7F06B108((uint **)register0x000000ec,&fStack3040,&fStack3048,(uint)*(byte *)(iVar9 + 0x34) - ,(uint)*(byte *)(iVar9 + 0x35),0,0,1,0xb4,0,0,0xff, - (uint)(*(char *)(iVar9 + 0x36) != '\0'),0); - } - lVar1 = (longlong)((int)lVar1 + 1); - } while (lVar1 != 3); - uVar5 = FUN_7f009f28(puStackX0); - return uVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f00f340(void) - -{ - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - _DAT_800697d4 = 0; - _DAT_800697d8 = 0; - _DAT_800697dc = 0; - _DAT_800697e0 = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f00f3ac(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f00f3b4(undefined8 param_1,undefined8 param_2) - -{ - ulonglong uVar1; - longlong lVar2; - undefined4 uVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - float fVar4; - float fVar5; - int iVar6; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051a88,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051a8c,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - uVar1 = FUN_7000c370('\0',0xa000); - if (uVar1 == 0) { - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - _DAT_800697d4 = 0; - _DAT_800697d8 = 0; - _DAT_800697dc = 0; - _DAT_800697e0 = 0; - lVar2 = FUN_7f00a3bc(); - if (lVar2 == 0) { - lVar2 = FUN_7f00a598(); - if (lVar2 == 0) { - lVar2 = FUN_7f00a204(); - if (lVar2 == 0) { - iVar6 = (int)DAT_8002a94c; - if (iVar6 < 0x107) { - if (iVar6 < 0xe6) { - if (iVar6 < 0xc5) { - if (iVar6 < 0xa4) { - DAT_8002a920 = 1; - } - else { - _DAT_800697d8 = 1; - } - } - else { - _DAT_800697dc = 1; - } - } - else { - _DAT_800697e0 = 1; - } - } - else { - _DAT_800697d4 = 1; - } - } - else { - DAT_8002a91c = 1; - } - } - else { - DAT_8002a920 = 1; - } - } - else { - DAT_8002a924 = 1; - } - } - uVar1 = FUN_7000c410('\0',0x1000); - if (uVar1 == 0) { - uVar1 = FUN_7000c410('\0',0xa000); - if (uVar1 == 0) { - uVar1 = FUN_7000c410('\0',0x4000); - if (uVar1 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a920 == 0) { - if (DAT_8002a924 == 0) { - if (DAT_8002a91c != 0) { - DAT_8002a910 = 1; - } - } - else { - DAT_8002a918 = 1; - } - } - else { - DAT_8002a914 = 1; - } - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - DAT_8002a910 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - uVar1 = FUN_7000c370('\0',0xa000); - fVar4 = DAT_8002a9e0; - if (uVar1 != 0) { - fVar5 = 1.00000000; - fVar4 = (DAT_8002a948 - 55.00000000) / 300.00000000; - if (fVar4 <= 1.00000000) { - fVar5 = fVar4; - } - if (fVar5 < 0.00000000) { - fVar5 = 0.00000000; - } - fVar4 = fVar5; - if (_DAT_800697d4 == 0) { - if (_DAT_800697d8 == 0) { - if (_DAT_800697dc == 0) { - fVar4 = DAT_8002a9e0; - if (_DAT_800697e0 != 0) { - DAT_8002a9ec = fVar5 * fVar5 * 10.00000000; - fVar4 = DAT_8002a9e0; - } - } - else { - DAT_8002a9e8 = fVar5 * fVar5 * 10.00000000; - fVar4 = DAT_8002a9e0; - } - } - else { - DAT_8002a9e4 = fVar5 * fVar5 * 10.00000000; - fVar4 = DAT_8002a9e0; - } - } - } - DAT_8002a9e0 = fVar4; - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,1,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - loc_7F00B7FC(DAT_8002a99c,6,1); - uVar3 = FUN_7f009ba4(); - if (DAT_8002a910 == 0) { - if (DAT_8002a914 == 0) { - if (DAT_8002a918 != 0) { - FUN_7f01a788(8,0); - uVar3 = set_cursor_pos_difficulty(DAT_8002a93c); - } - } - else { - uVar3 = FUN_7f01a788(10,0); - } - } - else { - uVar3 = FUN_7f01a788(0xb,1); - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f00f7d8(undefined4 *param_1) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - uint *puVar3; - short sVar5; - short sVar6; - undefined4 uVar4; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 *puVar7; - undefined4 *puVar8; - float fVar9; - int iStack3020; - int iStack3016; - undefined4 auStack3012 [750]; - uint uStack12; - uint uStack8; - byte *pbStack4; - - puVar1 = FUN_700046d0(param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - puVar2 = (undefined4 *)FUN_7f00d608(puVar1); - puVar1 = &DAT_800500a4; - puVar7 = auStack3012; - do { - puVar8 = puVar1 + 3; - *puVar7 = *puVar1; - puVar7[1] = puVar1[1]; - puVar7[2] = puVar1[2]; - puVar1 = puVar8; - puVar7 = puVar7 + 3; - } while (puVar8 != (undefined4 *)s__d___80050c5c); - puVar3 = loc_7F0ACED4(puVar2); - puVar3 = FUN_7f00eafc(puVar3,(byte *)auStack3012); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c28); - uStack8 = 0x37; - uStack12 = 0x8f; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c2a); - uStack8 = 0x39; - uStack12 = 0xa4; - puVar1 = microcode_constructor_related_to_menus(puVar3,0x37,0xb5,0x163,0xc0,0x32); - fVar9 = sqrtf(DAT_8002a9e4 / 10.00000000); - puVar3 = microcode_constructor_related_to_menus - (puVar1,0x37,(longlong)(int)(uStack12 + 0x11), - (longlong)((int)(fVar9 * 300.00000000) + 0x37),uStack12 + 0x1c,100); - if (_DAT_800697d8 != 0) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,0x37,(longlong)(int)(uStack12 - 1),199,uStack12 + 0xe,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - sprintf((int)auStack3012,(byte *)s__d___80050c5c,(int)(DAT_8002a9e4 * 100.00000000),extraout_a3_lo - ); - iStack3020 = 0; - iStack3016 = 0; - loc_7F0AEB50(&iStack3016,&iStack3020,(byte *)auStack3012,DAT_80040ee8,DAT_80040ee4,0); - uStack8 = 0x11d - iStack3020; - uStack12 = 0xa4; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,(byte *)auStack3012,DAT_80040ee8,(int)DAT_80040ee4 - ,0xff,(int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c2b); - uStack8 = 0x39; - uStack12 = 0xc5; - puVar1 = microcode_constructor_related_to_menus(puVar3,0x37,0xd6,0x163,0xe1,0x32); - fVar9 = sqrtf(DAT_8002a9e8 / 10.00000000); - puVar3 = microcode_constructor_related_to_menus - (puVar1,0x37,(longlong)(int)(uStack12 + 0x11), - (longlong)((int)(fVar9 * 300.00000000) + 0x37),uStack12 + 0x1c,100); - if (_DAT_800697dc != 0) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,0x37,(longlong)(int)(uStack12 - 1),199,uStack12 + 0xe,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - sprintf((int)auStack3012,(byte *)s__d___80050c64,(int)(DAT_8002a9e8 * 100.00000000), - extraout_a3_lo_00); - iStack3020 = 0; - iStack3016 = 0; - loc_7F0AEB50(&iStack3016,&iStack3020,(byte *)auStack3012,DAT_80040ee8,DAT_80040ee4,0); - uStack8 = 0x11d - iStack3020; - uStack12 = 0xc5; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,(byte *)auStack3012,DAT_80040ee8,(int)DAT_80040ee4 - ,0xff,(int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c2c); - uStack8 = 0x39; - uStack12 = 0xe6; - puVar1 = microcode_constructor_related_to_menus(puVar3,0x37,0xf7,0x163,0x102,0x32); - fVar9 = sqrtf(DAT_8002a9ec / 10.00000000); - puVar3 = microcode_constructor_related_to_menus - (puVar1,0x37,(longlong)(int)(uStack12 + 0x11), - (longlong)((int)(fVar9 * 300.00000000) + 0x37),uStack12 + 0x1c,100); - if (_DAT_800697e0 != 0) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,0x37,(longlong)(int)(uStack12 - 1),199,uStack12 + 0xe,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - sprintf((int)auStack3012,(byte *)s__d___80050c6c,(int)(DAT_8002a9ec * 10.00000000), - extraout_a3_lo_01); - iStack3020 = 0; - iStack3016 = 0; - loc_7F0AEB50(&iStack3016,&iStack3020,(byte *)auStack3012,DAT_80040ee8,DAT_80040ee4,0); - uStack8 = 0x11d - iStack3020; - uStack12 = 0xe6; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,(byte *)auStack3012,DAT_80040ee8,(int)DAT_80040ee4 - ,0xff,(int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c29); - uStack8 = 0x39; - uStack12 = 0x107; - puVar1 = microcode_constructor_related_to_menus(puVar3,0x37,0x118,0x163,0x123,0x32); - puVar3 = microcode_constructor_related_to_menus - (puVar1,0x37,(longlong)(int)(uStack12 + 0x11), - (longlong)((int)(DAT_8002a9e0 * 300.00000000 * 1.00000000) + 0x37), - uStack12 + 0x1c,100); - if (_DAT_800697d4 != 0) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,0x37,(longlong)(int)(uStack12 - 1),199,uStack12 + 0xe,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - sprintf((int)auStack3012,(byte *)s__d___80050c74,(int)(DAT_8002a9e0 * 100.00000000), - extraout_a3_lo_02); - iStack3020 = 0; - iStack3016 = 0; - loc_7F0AEB50(&iStack3016,&iStack3020,(byte *)auStack3012,DAT_80040ee8,DAT_80040ee4,0); - uStack8 = 0x11d - iStack3020; - uStack12 = 0x107; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,(byte *)auStack3012,DAT_80040ee8,(int)DAT_80040ee4 - ,0xff,(int)sVar5,(int)sVar6,0,0); - puVar3 = FUN_7f00a0a0(puVar3); - puVar3 = FUN_7f00a258(puVar3); - puVar3 = FUN_7f00a434(puVar3); - uVar4 = FUN_7f009f28(puVar3); - return uVar4; -} - - - -undefined4 FUN_7f0100fc(int param_1) - -{ - return *(undefined4 *)(&DAT_800697f8 + param_1 * 4); -} - - - -undefined8 FUN_7f010110(int param_1) - -{ - undefined8 uVar1; - int iVar3; - longlong lVar2; - - param_1 *= 0x18; - if (*(int *)(&DAT_8002b0c4 + param_1) == 0) { - uVar1 = 0; - } - else { - iVar3 = FUN_7f0102d0(); - if (*(int *)(param_1 + -0x7ffd4f38) < iVar3) { - uVar1 = 0; - } - else { - if ((longlong)*(int *)(param_1 + -0x7ffd4f40) == -1) { - uVar1 = 1; - } - else { - lVar2 = loc_7F01E4E0((longlong)DAT_8002a928,(longlong)*(int *)(param_1 + -0x7ffd4f40),0); - if (lVar2 == 0) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - } - } - return uVar1; -} - - - -void FUN_7f0101b0(void) - -{ - uint uVar1; - - if (DAT_8002b580 != 2) { - DAT_8002b578 = (int)(DAT_8002b578 + 1) % 7; - return; - } - uVar1 = DAT_8002b578 + 1 & 3; - if (((int)(DAT_8002b578 + 1) < 0) && (uVar1 != 0)) { - uVar1 -= 4; - } - DAT_8002b578 = uVar1; - return; -} - - - -void FUN_7f010218(void) - -{ - DAT_80079fca = *(undefined *)(DAT_8002b57c * 4 + -0x7ffd4aad); - DAT_80079fcb = *(undefined *)(DAT_8002b57c * 4 + -0x7ffd4aae); - DAT_8007a03a = DAT_80079fca; - DAT_8007a03b = DAT_80079fcb; - DAT_8007a0aa = DAT_80079fca; - DAT_8007a0ab = DAT_80079fcb; - DAT_8007a11a = DAT_80079fca; - DAT_8007a11b = DAT_80079fcb; - return; -} - - - -void FUN_7f01027c(void) - -{ - uint uVar1; - - uVar1 = DAT_8002b57c + 1; - DAT_8002b57c = uVar1 & 3; - if (((int)uVar1 < 0) && (DAT_8002b57c != 0)) { - DAT_8002b57c -= 4; - } - FUN_7f010218(); - return; -} - - - -void FUN_7f0102c0(void) - -{ - DAT_8002b1d4 = 0x40; - return; -} - - - -undefined4 FUN_7f0102d0(void) - -{ - if (DAT_8002a930 == 1) { - return DAT_8002b560; - } - return 1; -} - - - -ulonglong FUN_7f0102fc(int param_1) - -{ - if ((int)(&DAT_8002b564)[param_1] < 0) { - return (ulonglong)(ushort)(&DAT_8002b1de)[param_1 * 6]; - } - return (ulonglong)(ushort)(&DAT_8002b1de)[(&DAT_8002b564)[param_1] * 6]; -} - - - -ulonglong FUN_7f01034c(int param_1) - -{ - if ((int)(&DAT_8002b564)[param_1] < 0) { - return (ulonglong)(byte)(&DAT_8002b1da)[param_1 * 0xc]; - } - return (ulonglong)(byte)(&DAT_8002b1da)[(&DAT_8002b564)[param_1] * 0xc]; -} - - - -ulonglong FUN_7f01039c(int param_1) - -{ - if ((int)(&DAT_8002b564)[param_1] < 0) { - return (ulonglong)(ushort)(&DAT_8002b1dc)[param_1 * 6]; - } - return (ulonglong)(ushort)(&DAT_8002b1dc)[(&DAT_8002b564)[param_1] * 6]; -} - - - -undefined4 FUN_7f0103ec(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -int FUN_7f010410(int param_1) - -{ - int iVar1; - - iVar1 = (&DAT_8002b564)[param_1]; - if (iVar1 < 0) { - return iVar1; - } - return iVar1; -} - - - -undefined4 FUN_7f010460(void) - -{ - return *(undefined4 *)(DAT_8002b578 * 0xc + -0x7ffd4fc8); -} - - - -undefined4 FUN_7f010484(void) - -{ - return *(undefined4 *)(DAT_8002b578 * 0xc + -0x7ffd4fc4); -} - - - -void FUN_7f0104a8(undefined4 param_1) - -{ - int iVar1; - - DAT_8002b584 = 1; - DAT_8002b588 = 1; - DAT_8002b58c = 1; - DAT_8002b590 = 1; - DAT_8002b594 = 1; - DAT_8002b598 = 1; - DAT_8002b59c = 1; - DAT_8002b580 = param_1; - switch(param_1) { - case 0: - case 5: - case 6: - case 7: - if (6 < DAT_8002b578) { - DAT_8002b578 = 2; - } - DAT_8002b580 = param_1; - iVar1 = __osGetActiveQueue(); - if (0xd < iVar1) { - FUN_7f0c7310(0xd); - } - break; - case 1: - DAT_8002b578 = 7; - DAT_8002b580 = param_1; - iVar1 = __osGetActiveQueue(); - if (0xd < iVar1) { - FUN_7f0c7310(0xd); - } - DAT_8002b588 = 0; - break; - case 2: - if (3 < DAT_8002b578) { - DAT_8002b578 = 2; - } - DAT_8002b580 = param_1; - iVar1 = __osGetActiveQueue(); - if (0xd < iVar1) { - FUN_7f0c7310(0xd); - } - break; - case 3: - if (6 < DAT_8002b578) { - DAT_8002b578 = 2; - } - DAT_8002b580 = param_1; - FUN_7f0c7310(0xd); - DAT_8002b590 = 0; - break; - case 4: - if (6 < DAT_8002b578) { - DAT_8002b578 = 2; - } - DAT_8002b580 = param_1; - FUN_7f0c7310(1); - DAT_8002b594 = 0; - } - return; -} - - - -void loc_7F01072C(longlong param_1) - -{ - longlong lVar1; - int iVar2; - int *piVar3; - - if (param_1 < 2) { - param_1 = 2; - } - DAT_8002b560 = (int)param_1; - lVar1 = 0; - if (0 < param_1) { - piVar3 = &DAT_8002b564; - iVar2 = 0; - do { - if (*piVar3 == -1) { - *piVar3 = (int)lVar1; - *(undefined4 *)(&DAT_800697e8 + iVar2) = 5; - } - lVar1 = (longlong)((int)lVar1 + 1); - if ((2 < param_1) && (3 < *(int *)(&DAT_800697f8 + iVar2))) { - *(int *)(&DAT_800697f8 + iVar2) = 0; - } - iVar2 += 4; - piVar3 = piVar3 + 1; - } while (lVar1 < param_1); - } - if (((longlong)(ulonglong)(byte)(&DAT_8002b097)[DAT_8002b580 * 4] < param_1) || - (param_1 < (longlong)(ulonglong)(byte)(&DAT_8002b096)[DAT_8002b580 * 4])) { - FUN_7f0104a8(0); - param_1 = (longlong)DAT_8002b560; - } - if ((longlong)*(int *)(DAT_8002b574 * 0x18 + -0x7ffd4f38) < param_1) { - DAT_8002b574 = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f01077c(void) - -{ - longlong lVar1; - - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - if (DAT_8002a97c != 0) { - loc_70009204(0x7fff); - FUN_7000704c(0x7fff); - DAT_8002438c = 0; - FUN_70006e8c(0x17); - DAT_8002a97c = 0; - } - if (DAT_8002b560 == 0) { - lVar1 = FUN_7000ba08(); - loc_7F01072C(lVar1); - } - lVar1 = FUN_7f010110(DAT_8002b574); - if (lVar1 == 0) { - DAT_8002b574 = 1; - } - _DAT_80069808 = 0; - _DAT_8006980c = 0; - _DAT_80069810 = 0; - _DAT_80069814 = 0; - _DAT_80069818 = 0; - _DAT_8006981c = 0; - _DAT_80069820 = 0; - _DAT_80069824 = 0; - _DAT_80069828 = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f010880(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F010F04(undefined8 param_1,undefined8 param_2) - -{ - bool bVar1; - bool bVar2; - bool bVar3; - bool bVar4; - bool bVar5; - bool bVar6; - bool bVar7; - bool bVar8; - bool bVar9; - longlong lVar10; - int iVar12; - ulonglong uVar11; - undefined4 uVar13; - uint uVar14; - longlong lVar15; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - bVar1 = false; - bVar2 = false; - bVar3 = false; - bVar4 = false; - bVar5 = false; - bVar6 = false; - bVar7 = false; - bVar8 = false; - bVar9 = false; - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051ab0,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051ab4,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - lVar10 = FUN_7000ba08(); - if (lVar10 < 2) { - FUN_7f01a788(6,0); - FUN_7f00d81c(DAT_8002a930); - } - iVar12 = FUN_7000ba08(); - if (iVar12 < DAT_8002b560) { - lVar10 = FUN_7000ba08(); - loc_7F01072C(lVar10); - } - uVar11 = FUN_7000c370('\0',0xa000); - if (uVar11 == 0) { - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - _DAT_80069808 = 0; - _DAT_8006980c = 0; - _DAT_80069810 = 0; - _DAT_80069814 = 0; - _DAT_80069818 = 0; - _DAT_8006981c = 0; - _DAT_80069820 = 0; - _DAT_80069824 = 0; - _DAT_80069828 = 0; - lVar10 = FUN_7f00a3bc(); - if (lVar10 == 0) { - lVar10 = FUN_7f00a204(); - if (lVar10 == 0) { - iVar12 = (int)DAT_8002a94c; - if ((iVar12 < 0x119) || (DAT_8002b59c == 0)) { - if ((iVar12 < 0x105) || (DAT_8002b598 == 0)) { - if ((iVar12 < 0xf1) || (DAT_8002b594 == 0)) { - if ((iVar12 < 0xdd) || (DAT_8002b58c == 0)) { - if ((iVar12 < 0xc9) || (DAT_8002b590 == 0)) { - if ((iVar12 < 0xb5) || (DAT_8002b588 == 0)) { - if ((iVar12 < 0xa1) || (DAT_8002b584 == 0)) { - if (iVar12 < 0x8d) { - _DAT_80069808 = 1; - } - else { - _DAT_8006980c = 1; - } - } - else { - _DAT_80069810 = 1; - } - } - else { - _DAT_80069814 = 1; - } - } - else { - _DAT_8006981c = 1; - } - } - else { - _DAT_80069818 = 1; - } - } - else { - _DAT_80069820 = 1; - } - } - else { - _DAT_80069824 = 1; - } - } - else { - _DAT_80069828 = 1; - } - } - else { - DAT_8002a91c = 1; - } - } - else { - DAT_8002a924 = 1; - } - } - uVar11 = FUN_7000c410('\0',0x1000); - if (uVar11 == 0) { - uVar11 = FUN_7000c410('\0',0xa000); - if (uVar11 == 0) { - uVar11 = FUN_7000c410('\0',0x4000); - if (uVar11 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a924 != 0) { - DAT_8002a918 = 1; - } - if (DAT_8002a91c == 0) { - if (_DAT_80069808 == 0) { - if (_DAT_8006980c == 0) { - if (_DAT_80069810 == 0) { - if (_DAT_80069814 == 0) { - if (_DAT_80069818 == 0) { - if (_DAT_8006981c == 0) { - if (_DAT_80069820 == 0) { - if (_DAT_80069824 == 0) { - if (_DAT_80069828 != 0) { - bVar9 = true; - } - } - else { - bVar8 = true; - } - } - else { - bVar7 = true; - } - } - else { - bVar6 = true; - } - } - else { - bVar5 = true; - } - } - else { - bVar4 = true; - } - } - else { - bVar3 = true; - } - } - else { - bVar2 = true; - } - } - else { - bVar1 = true; - } - } - else { - DAT_8002a910 = 1; - } - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - DAT_8002a910 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,1,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - loc_7F00B7FC(DAT_8002a99c,5,1); - uVar13 = FUN_7f009ba4(); - if (DAT_8002a918 == 0) { - if (DAT_8002a910 == 0) { - if (bVar1) { - lVar10 = FUN_7000ba08(); - lVar15 = (longlong)(DAT_8002b560 + 1); - if (lVar10 < lVar15) { - lVar15 = 2; - } - uVar13 = loc_7F01072C(lVar15); - } - else { - if (bVar2) { - uVar13 = FUN_7f01a788(0x13,0); - } - else { - if (bVar3) { - uVar13 = FUN_7f01a788(0x12,0); - } - else { - if (bVar4) { - uVar13 = FUN_7f0101b0(); - } - else { - if (bVar5) { - uVar13 = FUN_7f01a788(0xf,0); - } - else { - if (bVar6) { - uVar13 = FUN_7f0c72b0(); - } - else { - if (bVar7) { - uVar13 = FUN_7f01a788(0x10,0); - } - else { - if (bVar8) { - uVar13 = FUN_7f01a788(0x11,0); - } - else { - if (bVar9) { - uVar13 = FUN_7f01027c(); - } - } - } - } - } - } - } - } - } - } - else { - iVar12 = *(int *)(DAT_8002b574 * 0x18 + -0x7ffd4f44); - if (iVar12 < 0) { - do { - uVar14 = FUN_7000a460(); - DAT_8002a934 = (&DAT_8002b0d4)[(uVar14 % 0xb) * 6]; - lVar10 = FUN_7f010110(uVar14 % 0xb + 1); - iVar12 = DAT_8002a934; - } while (lVar10 == 0); - } - DAT_8002a934 = iVar12; - DAT_8002a938 = 0xffffffff; - uVar13 = FUN_7f01a788(0xb,1); - } - } - else { - FUN_7f01a788(6,0); - uVar13 = FUN_7f00d81c(DAT_8002a930); - } - return uVar13; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F011B54(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint *puVar2; - short sVar5; - short sVar6; - ushort *puVar3; - undefined4 uVar4; - uint uVar7; - undefined4 extraout_a3_lo; - int iStack28; - int iStack24; - uint uStack20; - uint uStack16; - byte abStack12 [8]; - byte *pbStack4; - - puVar1 = FUN_700046d0(param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - puVar1 = (undefined4 *)FUN_7f00d608(puVar1); - puVar2 = loc_7F0ACED4(puVar1); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c4c); - uStack16 = 0x37; - uStack20 = 0x5f; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c4d); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0x79; - if (_DAT_80069808 != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,0x78,(longlong)(iStack28 + 0x3c),0x87,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c4e); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0x8d; - if (_DAT_8006980c != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,0x8c,(longlong)(iStack28 + 0x3c),0x9b,0x32); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c4f); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0xa1; - if (_DAT_80069810 != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,0xa0,(longlong)(iStack28 + 0x3c),0xaf,0x32); - } - if (DAT_8002b584 == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c50); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0xb5; - if (_DAT_80069814 != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,0xb4,(longlong)(iStack28 + 0x3c),0xc3,0x32); - } - if (DAT_8002b588 == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c51); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0xc9; - if (_DAT_8006981c != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,200,(longlong)(iStack28 + 0x3c),0xd7,0x32); - } - if (DAT_8002b590 == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c52); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0xdd; - if (_DAT_80069818 != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,0xdc,(longlong)(iStack28 + 0x3c),0xeb,0x32); - } - if (DAT_8002b58c == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c53); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0xf1; - if (_DAT_80069820 != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,0xf0,(longlong)(iStack28 + 0x3c),0xff,0x32); - } - if (DAT_8002b594 == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9d1e); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0x105; - if (_DAT_80069824 != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,0x104,(longlong)(iStack28 + 0x3c),0x113,0x32); - } - if (DAT_8002b598 == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88(0x9c54); - loc_7F0AEB50(&iStack24,&iStack28,pbStack4,DAT_80040ee8,DAT_80040ee4,0); - uStack16 = 0x39; - uStack20 = 0x119; - if (_DAT_80069828 != 0) { - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,0x118,(longlong)(iStack28 + 0x3c),0x127,0x32); - } - if (DAT_8002b59c == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - sprintf((int)abStack12,(byte *)s__d_80050c7c,DAT_8002b560,extraout_a3_lo); - uStack16 = 0xa0; - uStack20 = 0x79; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,abStack12,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002b094)[DAT_8002b580 * 2]); - uStack16 = 0xa0; - uStack20 = 0x8d; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(DAT_8002b574 * 0x18 + -0x7ffd4f4c)); - uStack16 = 0xa0; - uStack20 = 0xa1; - if (DAT_8002b584 == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(DAT_8002b578 * 0xc + -0x7ffd4fcc)); - uStack16 = 0xa0; - uStack20 = 0xb5; - if (DAT_8002b588 == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - puVar3 = (ushort *)FUN_7f0c72d8(); - pbStack4 = (byte *)FUN_7f0c2a88((uint)*puVar3); - uStack16 = 0xa0; - uStack20 = 0xc9; - if (DAT_8002b590 == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - pbStack4 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(DAT_8002b57c * 4 + -0x7ffd4ab0)); - uStack16 = 0xa0; - uStack20 = 0x119; - if (DAT_8002b59c == 0) { - uVar7 = 0x70; - } - else { - uVar7 = 0xff; - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack16,&uStack20,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,uVar7, - (int)sVar5,(int)sVar6,0,0); - puVar2 = FUN_7f00a258(puVar2); - puVar2 = FUN_7f00a0a0(puVar2); - uVar4 = FUN_7f009f28(puVar2); - return uVar4; -} - - - -undefined8 FUN_7f011c18(int param_1) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - int *piVar4; - - uVar3 = 0; - iVar2 = 0; - if (0 < DAT_8002b560) { - piVar4 = (int *)&DAT_80069780; - do { - iVar1 = *piVar4; - piVar4 = piVar4 + 1; - if ((iVar1 != 0) && (param_1 == *(int *)((int)&DAT_8002b564 + iVar2))) { - uVar3 = 1; - } - iVar2 += 4; - } while (piVar4 < &DAT_80069780 + DAT_8002b560 * 4); - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f011c7c(void) - -{ - byte bVar1; - uint *puVar3; - longlong lVar2; - int iVar4; - undefined2 *puVar5; - int *piVar6; - - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - bVar1 = DAT_8002b1db; - puVar5 = &DAT_8002b1d8; - while( true ) { - iVar4 = (uint)bVar1 * 0x30; - puVar3 = (uint *)(_DAT_8008d1a0 + iVar4); - if (*puVar3 < 3000) { - FUN_7f0ccbc8(*puVar3,NULL); - puVar3 = (uint *)(_DAT_8008d1a0 + iVar4); - } - if (puVar3[3] < 3000) { - FUN_7f0ccbc8(puVar3[3],NULL); - puVar3 = (uint *)(_DAT_8008d1a0 + iVar4); - } - if (puVar3[6] < 3000) { - FUN_7f0ccbc8(puVar3[6],NULL); - puVar3 = (uint *)(_DAT_8008d1a0 + iVar4); - } - if (puVar3[9] < 3000) { - FUN_7f0ccbc8(puVar3[9],NULL); - } - if ((undefined2 *)0x8002b4d7 < puVar5 + 6) break; - bVar1 = *(byte *)((int)puVar5 + 0xf); - puVar5 = puVar5 + 6; - } - if (DAT_8002b1d4 != 0x40) { - lVar2 = loc_7F01E4E0((longlong)DAT_8002a928,0x11,0); - if (lVar2 == 3) { - DAT_8002b1d4 = 0x21; - } - else { - DAT_8002b1d4 = 8; - piVar6 = &DAT_8002b564; - do { - if (DAT_8002b1d4 <= *piVar6) { - iVar4 = 0; - if (0 < DAT_8002b1d4) { - do { - lVar2 = FUN_7f011c18(iVar4); - if (lVar2 == 0) { - *piVar6 = iVar4; - goto LAB_7f011e20; - } - iVar4 += 1; - } while (iVar4 < DAT_8002b1d4); - } - *piVar6 = iVar4; - } -LAB_7f011e20: - piVar6 = piVar6 + 1; - } while (piVar6 != &DAT_8002b574); - } - } - _DAT_80069750 = DAT_8002b564; - _DAT_80069760 = DAT_8002b564; - _DAT_80069770 = 0; - _DAT_80069780 = 0; - _DAT_80069790 = 0; - _DAT_80069754 = DAT_8002b568; - _DAT_80069764 = DAT_8002b568; - _DAT_80069774 = 0; - _DAT_80069784 = 0; - _DAT_80069794 = 0; - _DAT_80069758 = DAT_8002b56c; - _DAT_80069768 = DAT_8002b56c; - _DAT_80069778 = 0; - _DAT_80069788 = 0; - _DAT_80069798 = 0; - _DAT_8006975c = DAT_8002b570; - _DAT_8006976c = DAT_8002b570; - _DAT_8006977c = 0; - _DAT_8006978c = 0; - _DAT_8006979c = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f011f0c(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f011f14(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar6; - ulonglong uVar4; - longlong lVar5; - int iVar7; - undefined4 uVar8; - int iVar9; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - char cVar10; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - int *piVar11; - int *piVar12; - int iVar13; - int *piVar14; - int *piVar15; - int iVar16; - int iStack12; - - iVar6 = FUN_7f0102d0(); - iStack12 = 0; - FUN_70004544(0x42700000,extraout_a0,extraout_a1); - FUN_70004590(DAT_80051ab8,extraout_a0_00,extraout_a1_00); - FUN_70004650(0x42c80000,DAT_80051abc,extraout_a0_01,extraout_a1_01); - FUN_70004534(0); - iVar16 = 0; - iVar13 = 0; - if (0 < iVar6) { - piVar12 = (int *)&DAT_80069770; - piVar11 = (int *)&DAT_80069750; - piVar15 = (int *)&DAT_80069760; - piVar14 = (int *)&DAT_80069780; - do { - cVar10 = (char)iVar16; - if (*piVar14 != 0) { - iVar7 = *(int *)(&DAT_80069790 + iVar13); - if ((iVar7 < 0xb) && (*piVar15 == *piVar11)) { - *(int *)(&DAT_80069790 + iVar13) = iVar7 + 1; - } - uVar4 = FUN_7000c410(cVar10,0x4000); - if (uVar4 != 0) { - *piVar14 = 0; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - if ((*piVar14 == 0) && (iVar7 = *(int *)(&DAT_80069790 + iVar13), 0 < iVar7)) { - *(int *)(&DAT_80069790 + iVar13) = iVar7 + -1; -LAB_7f0121a4: - iVar7 = *piVar15; - } - else { - if (*piVar14 != 0) goto LAB_7f0121a4; - uVar4 = FUN_7000c410(cVar10,0x202); - if (uVar4 != 0) { - if (0 < *piVar11) { - *piVar11 = *piVar11 + -1; - } - goto LAB_7f0121a4; - } - uVar4 = FUN_7000c410(cVar10,0x101); - if (uVar4 != 0) { - if (*piVar11 < DAT_8002b1d4 + -1) { - *piVar11 = *piVar11 + 1; - } - goto LAB_7f0121a4; - } - uVar4 = FUN_7000c410(cVar10,0xb000); - if (uVar4 == 0) { - iVar7 = FUN_7000c518(cVar10,-2,1); - if (iVar7 < 1) { - iVar7 = FUN_7000c518(cVar10,-2,1); - if (iVar7 < -1) { - if (*piVar12 == 0) { - if (0 < *piVar11) { - *piVar11 = *piVar11 + -1; - } - goto LAB_7f0121a4; - } - iVar7 = *piVar15; - } - else { - iVar7 = *piVar15; - } - } - else { - if (*piVar12 == 0) { - if (*piVar11 < DAT_8002b1d4 + -1) { - *piVar11 = *piVar11 + 1; - } - goto LAB_7f0121a4; - } - iVar7 = *piVar15; - } - } - else { - lVar5 = FUN_7f011c18(*piVar11); - if (lVar5 != 0) goto LAB_7f0121a4; - *(int *)((int)&DAT_8002b564 + iVar13) = *piVar11; - *(undefined4 *)(&DAT_80069790 + iVar13) = 1; - *piVar14 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - iVar7 = *piVar15; - } - } - iVar1 = *piVar11; - iVar2 = *piVar12; - iVar16 += 1; - piVar11 = piVar11 + 1; - iVar3 = *piVar14; - iVar9 = iVar2 + iVar7 * 0x54; - if (iVar1 * 0x54 < iVar9) { - *piVar12 = iVar2 + -0xc; - if (iVar2 + -0xc < 0) { - *piVar12 = iVar2 + 0x48; - *piVar15 = iVar7 + -1; - } - } - else { - if ((iVar9 < iVar1 * 0x54) && (*piVar12 = iVar2 + 0xc, 0x53 < iVar2 + 0xc)) { - *piVar12 = iVar2 + -0x48; - *piVar15 = iVar7 + 1; - } - } - if ((iVar3 != 0) && (*(int *)(&DAT_80069790 + iVar13) == 0xb)) { - iStack12 = iStack12 + 1; - } - iVar13 += 4; - piVar15 = piVar15 + 1; - piVar12 = piVar12 + 1; - piVar14 = piVar14 + 1; - } while (iVar16 != iVar6); - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,0x2a,1); - uVar8 = FUN_7f009ba4(); - if (iStack12 == iVar6) { - uVar8 = FUN_7f01a788(0xe,0); - } - return uVar8; -} - - - -int locret_7F012314(int param_1,int param_2,int param_3) - -{ - if ((param_1 <= param_2) || (param_3 <= param_1)) { - return 0; - } - if (param_1 < param_2 + 0x28) { - return (param_2 - param_1) * -6 + 0xf; - } - if (param_3 + -0x28 < param_1) { - return (param_1 - param_3) * -6 + 0xf; - } - return 0xff; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * -loc_7F012504(undefined4 *param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5, - int param_6,int param_7) - -{ - short sVar1; - short sVar2; - uint *puVar4; - uint *puVar5; - short *psVar6; - longlong lVar3; - undefined uVar8; - int iVar7; - short *psVar9; - uint uVar10; - short sVar11; - short sVar12; - uint uVar13; - undefined4 *puStackX0; - int iStackX4; - int iStackX8; - undefined4 uStackX12; - - puStackX0 = param_1; - iStackX4 = param_2; - iStackX8 = param_3; - uStackX12 = param_4; - puVar4 = (uint *)FUN_7f0be290(); - puVar5 = (uint *)FUN_7f0be290(); - psVar6 = (short *)FUN_7f0be274(0x10); - puStackX0 = loc_7F0ACED4(puStackX0); - guOrtho(puVar4,0.00000000,440.00000000,0.00000000,330.00000000,1.00000000,10.00000000,1.00000000); - guRotate(puVar5,3.14159274,1.00000000,0.00000000,0.00000000); - sVar1 = (short)param_7; - sVar2 = (short)param_5; - uVar13 = 0; - psVar9 = psVar6; - do { - uVar10 = 0; - do { - sVar12 = (short)uVar10; - if (1 < (int)uVar10) { - sVar12 += -1; - } - sVar11 = (short)uVar13; - if (1 < (int)uVar13) { - sVar11 = (short)uVar13 + -1; - } - lVar3 = FUN_7f011c18(param_6); - if (lVar3 == 0) { - uVar8 = 0xff; - } - else { - if (param_7 == 0) { - uVar8 = 0x6e; - } - else { - uVar8 = 0xff; - } - } - *psVar9 = (sVar12 + -1) * (sVar1 + 0x23) + (short)uStackX12; - psVar9[2] = -5; - psVar9[3] = 0; - psVar9[1] = (0x14a - sVar2) + (sVar11 + -1) * (sVar1 + 0x2a) + sVar1; - if ((uVar10 & 1) == 0) { - psVar9[4] = 0; - } - else { - psVar9[4] = 0x1000; - } - if ((uVar13 & 1) == 0) { - psVar9[5] = 0; - } - else { - psVar9[5] = 0x1000; - } - *(undefined *)(psVar9 + 6) = uVar8; - *(undefined *)((int)psVar9 + 0xd) = uVar8; - *(undefined *)(psVar9 + 7) = uVar8; - if (param_7 == 0) { - iVar7 = locret_7F012314((int)*psVar9,iStackX4,iStackX8); - *(undefined *)((int)psVar9 + 0xf) = (char)iVar7; - } - else { - *(undefined *)((int)psVar9 + 0xf) = 0xff; - } - uVar10 += 1; - psVar9 = psVar9 + 8; - } while (uVar10 != 4); - uVar13 += 1; - } while (uVar13 != 4); - *puStackX0 = 0x1030040; - *(uint **)(puStackX0 + 1) = puVar4 + -0x20000000; - puStackX0[2] = 0x1020040; - *(uint **)(puStackX0 + 3) = puVar5 + -0x20000000; - puStackX0[4] = 0x4f00100; - *(short **)(puStackX0 + 5) = psVar6; - param_6 *= 0xc; - puStackX0 = puStackX0 + 6; - loc_7F077B80((uint **)register0x000000ec, - (uint *)((uint)(byte)(&DAT_8002b1db)[param_6] * 0x30 + _DAT_8008d1a0 + 0x18),2,0,2); - puStackX0[1] = 0xa28; - *puStackX0 = 0xbf000000; - puStackX0[3] = 0x280a32; - puStackX0[2] = 0xbf000000; - puStackX0 = puStackX0 + 4; - loc_7F077B80((uint **)register0x000000ec, - (uint *)((uint)(byte)(&DAT_8002b1db)[param_6] * 0x30 + _DAT_8008d1a0 + 0x24),2,0,2); - puStackX0[1] = 0x141e3c; - *puStackX0 = 0xbf000000; - puStackX0[3] = 0x3c1e46; - puStackX0[2] = 0xbf000000; - puStackX0 = puStackX0 + 4; - loc_7F077B80((uint **)register0x000000ec, - (uint *)((uint)(byte)(&DAT_8002b1db)[param_6] * 0x30 + _DAT_8008d1a0),2,0,2); - puStackX0[1] = 0x505a78; - *puStackX0 = 0xbf000000; - puStackX0[3] = 0x785a82; - puStackX0[2] = 0xbf000000; - puStackX0 = puStackX0 + 4; - loc_7F077B80((uint **)register0x000000ec, - (uint *)((uint)(byte)(&DAT_8002b1db)[param_6] * 0x30 + _DAT_8008d1a0 + 0xc),2,0,2); - puStackX0[1] = 0x646e8c; - *puStackX0 = 0xbf000000; - puStackX0[3] = 0x8c6e96; - puStackX0[2] = 0xbf000000; - return puStackX0 + 4; -} - - - -undefined4 * loc_7F012DF4(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint *puVar2; - byte *pbVar3; - uint *puVar4; - short sVar5; - short sVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int *piVar12; - int *piStack120; - int *piStack116; - int *piStack104; - int *piStack96; - uint uStack76; - uint uStack72; - int iStack68; - int aiStack64 [2]; - uint uStack56; - uint uStack52; - int iStack48; - int aiStack44 [9]; - uint uStack8; - uint uStack4; - - uStack4 = FUN_7f0102d0(); - puVar1 = FUN_700046d0(param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - puVar1 = (undefined4 *)FUN_7f00d608(puVar1); - puVar1 = loc_7F0ACED4(puVar1); - puVar2 = microcode_constructor_related_to_menus(puVar1,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)uStack4) { - puVar2 = microcode_constructor_related_to_menus(puVar2,0xd4,0x1e,0xd6,0x136,0x80); - } - if (0 < (int)uStack4) { - piVar12 = (int *)&DAT_80069790; - piStack96 = (int *)&DAT_80069780; - piStack104 = (int *)&DAT_80069750; - piStack116 = (int *)&DAT_80069770; - piStack120 = (int *)&DAT_80069760; - uStack8 = 0; - do { - if (uStack4 == 2) { - iVar7 = 0x26; - iVar9 = 0x15e; - if ((int)uStack8 < 1) { - iVar10 = 0x1e; - } - else { - iVar10 = 0xaa; - } - } - else { - iVar9 = 0xaf; - if ((int)uStack8 < 2) { - iVar10 = 0; - } - else { - iVar10 = 0x8c; - } - iVar10 += 0x1e; - if ((uStack8 & 1) == 0) { - iVar7 = 0; - } - else { - iVar7 = 0xaf; - } - iVar7 += 0x26; - } - puVar4 = puVar2 + 2; - *puVar2 = ((int)((float)(iVar7 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar10 + 5U) * 4.00000000) & 0xfffU; - puVar2[1] = ((int)((float)(iVar7 + iVar9 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar10 + 0x87) * 4.00000000) & 0xfffU; - if ((*piStack96 == 0) && (*piVar12 == 0)) { - pbVar3 = (byte *)FUN_7f0c2a88(0x9c55); - loc_7F0AEB50(aiStack44,&iStack48,pbVar3,DAT_80040ee8,DAT_80040ee4,0); - uStack52 = ((iVar9 >> 1) + iVar7) - (iStack48 >> 1); - uStack56 = iVar10 + 5U; - puVar2 = loc_7F0ACED4(puVar4); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar2,&uStack52,&uStack56,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - } - iVar11 = (iVar9 >> 1) + iVar7; - pbVar3 = (byte *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002b1d8)[*piStack104 * 6]); - loc_7F0AEB50(aiStack64,&iStack68,pbVar3,DAT_80040ee8,DAT_80040ee4,0); - uStack76 = iVar10 + 0x78; - uStack72 = iVar11 - (iStack68 >> 1); - puVar2 = loc_7F0ACED4(puVar4); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack72,&uStack76,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - iVar10 += 0x46; - iVar8 = iVar7 + 0xd; - iVar9 = iVar7 + iVar9 + -0xe; - puVar2 = loc_7F012504(puVar2,iVar8,iVar9,iVar11 - *piStack116,iVar10,*piStack120,*piVar12); - if (*piStack96 == 0) { - if (*piVar12 != 0) { - iVar7 = *piStack120; - goto LAB_7f012c10; - } -LAB_7f012c20: - iVar7 = *piStack120; - if (2 < iVar7) { - puVar2 = loc_7F012504(puVar2,iVar8,iVar9,(iVar11 - *piStack116) + -0xfc,iVar10,iVar7 + -3, - *piVar12); - iVar7 = *piStack120; - } - if (1 < iVar7) { - puVar2 = loc_7F012504(puVar2,iVar8,iVar9,(iVar11 - *piStack116) + -0xa8,iVar10,iVar7 + -2, - *piVar12); - iVar7 = *piStack120; - } - if (0 < iVar7) { - puVar2 = loc_7F012504(puVar2,iVar8,iVar9,(iVar11 - *piStack116) + -0x54,iVar10,iVar7 + -1, - *piVar12); - iVar7 = *piStack120; - } - if (iVar7 < DAT_8002b1d4 + -1) { - puVar2 = loc_7F012504(puVar2,iVar8,iVar9,(iVar11 - *piStack116) + 0x54,iVar10,iVar7 + 1, - *piVar12); - iVar7 = *piStack120; - } - if (iVar7 < DAT_8002b1d4 + -2) { - puVar2 = loc_7F012504(puVar2,iVar8,iVar9,(iVar11 - *piStack116) + 0xa8,iVar10,iVar7 + 2, - *piVar12); - iVar7 = *piStack120; - } - if (iVar7 < DAT_8002b1d4 + -3) { - puVar2 = loc_7F012504(puVar2,iVar8,iVar9,(iVar11 - *piStack116) + 0xfc,iVar10,iVar7 + 3, - *piVar12); - } - } - else { - iVar7 = *piStack120; -LAB_7f012c10: - if (iVar7 != *piStack104) goto LAB_7f012c20; - } - piStack96 = piStack96 + 1; - uStack8 += 1; - piStack104 = piStack104 + 1; - piStack116 = piStack116 + 1; - piStack120 = piStack120 + 1; - piVar12 = piVar12 + 1; - } while (uStack8 != uStack4); - } - puVar1 = combiner_bayer_lod_perspective(puVar2); - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f012e70(void) - -{ - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - _DAT_80069780 = 0; - _DAT_800697a0 = 0; - _DAT_80069784 = 0; - _DAT_800697a4 = 0; - _DAT_80069788 = 0; - _DAT_800697a8 = 0; - _DAT_8006978c = 0; - _DAT_800697ac = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f012efc(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f013088) overlaps instruction at (ram,0x7f013084) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f012f04(void) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - undefined4 uVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - char cVar5; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - int *piVar6; - int *piVar7; - int iVar8; - int iVar9; - int iVar10; - - iVar2 = FUN_7f0102d0(); - iVar10 = 0; - FUN_70004544(0x42700000,extraout_a0,extraout_a1); - FUN_70004590(DAT_80051ac0,extraout_a0_00,extraout_a1_00); - FUN_70004650(0x42c80000,DAT_80051ac4,extraout_a0_01,extraout_a1_01); - FUN_70004534(0); - iVar8 = 0; - iVar9 = 0; - if (0 < iVar2) { - piVar6 = (int *)&DAT_80069780; - do { - cVar5 = (char)iVar8; - if ((*piVar6 != 0) && (uVar1 = FUN_7000c410(cVar5,0x4000), uVar1 != 0)) { - *piVar6 = 0; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - iVar3 = *piVar6; - if (iVar3 == 0) { - piVar7 = (int *)(&DAT_800697a0 + iVar9); - uVar1 = FUN_7000c410(cVar5,0x202); - if ((uVar1 == 0) && ((iVar3 = FUN_7000c518(cVar5,-2,1), -2 < iVar3 || (*piVar7 == 0)))) { - uVar1 = FUN_7000c410(cVar5,0x101); - if ((uVar1 == 0) && ((iVar3 = FUN_7000c518(cVar5,-2,1), iVar3 < 1 || (*piVar7 == 0)))) { - uVar1 = FUN_7000c410(cVar5,0xb000); - if (uVar1 != 0) { - *piVar6 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - iVar3 = *(int *)(&DAT_800697e8 + iVar9); - if (iVar3 < 10) { - *(int *)(&DAT_800697e8 + iVar9) = iVar3 + 1; - } - } - } - else { - iVar3 = *(int *)(&DAT_800697e8 + iVar9); - if (0 < iVar3) { - *(int *)(&DAT_800697e8 + iVar9) = iVar3 + -1; - } - } - iVar3 = FUN_7000c518(cVar5,-2,1); - if ((iVar3 == -1) || (iVar3 = FUN_7000c518(cVar5,-2,1), iVar3 == 0)) { - *piVar7 = 1; - iVar3 = *piVar6; - } - else { - *piVar7 = 0; - iVar3 = *piVar6; - } - } - if (iVar3 != 0) { - iVar10 += 1; - } - iVar8 += 1; - iVar9 += 4; - piVar6 = piVar6 + 1; - } while (iVar8 != iVar2); - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,0x2a,1); - uVar4 = FUN_7f009ba4(); - if (iVar10 == iVar2) { - uVar4 = FUN_7f01a788(0xe,0); - } - return uVar4; -} - - - -undefined4 * FUN_7f0131bc(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint *puVar2; - byte *pbVar3; - short sVar5; - short sVar6; - uint *puVar4; - int iVar7; - int iVar8; - int iVar9; - uint uVar10; - int *piStack96; - int *piStack92; - uint uStack76; - uint uStack72; - int iStack68; - int aiStack64 [2]; - uint uStack56; - uint uStack52; - int iStack48; - int aiStack44 [10]; - uint uStack4; - - uStack4 = FUN_7f0102d0(); - puVar1 = FUN_700046d0(param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - puVar1 = (undefined4 *)FUN_7f00d608(puVar1); - puVar1 = loc_7F0ACED4(puVar1); - puVar2 = microcode_constructor_related_to_menus(puVar1,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)uStack4) { - puVar2 = microcode_constructor_related_to_menus(puVar2,0xd4,0x1e,0xd6,0x136,0x80); - } - uVar10 = 0; - if (0 < (int)uStack4) { - piStack92 = (int *)&DAT_80069780; - piStack96 = (int *)&DAT_800697e8; - do { - iVar8 = 0x26; - if (uStack4 == 2) { - iVar9 = 0x15e; - if ((int)uVar10 < 1) { - iVar7 = 0x1e; - } - else { - iVar7 = 0xaa; - } - } - else { - iVar9 = 0xaf; - if ((int)uVar10 < 2) { - iVar7 = 0; - } - else { - iVar7 = 0x8c; - } - iVar7 += 0x1e; - if ((uVar10 & 1) == 0) { - iVar8 = 0; - } - else { - iVar8 = 0xaf; - } - iVar8 += 0x26; - } - puVar4 = puVar2 + 2; - *puVar2 = ((int)((float)(iVar8 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar7 + 5) * 4.00000000) & 0xfffU; - puVar2[1] = ((int)((float)(iVar8 + iVar9 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar7 + 0x87) * 4.00000000) & 0xfffU; - if (*piStack92 == 0) { - pbVar3 = (byte *)FUN_7f0c2a88(0x9c56); - loc_7F0AEB50(aiStack44,&iStack48,pbVar3,DAT_80040ee8,DAT_80040ee4,0); - uStack52 = ((iVar9 >> 1) + iVar8) - (iStack48 >> 1); - uStack56 = (iVar7 - (aiStack44[0] >> 1)) + 0x37; - puVar2 = loc_7F0ACED4(puVar4); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar2,&uStack52,&uStack56,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - } - pbVar3 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(*piStack96 * 8 + -0x7ffd4b28)); - loc_7F0AEB50(aiStack64,&iStack68,pbVar3,DAT_80040ee8,DAT_80040ee4,0); - uStack72 = ((iVar9 >> 1) + iVar8) - (iStack68 >> 1); - uStack76 = (iVar7 - (aiStack64[0] >> 1)) + 0x55; - puVar2 = loc_7F0ACED4(puVar4); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack72,&uStack76,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - uVar10 += 1; - piStack92 = piStack92 + 1; - piStack96 = piStack96 + 1; - } while (uVar10 != uStack4); - } - puVar1 = combiner_bayer_lod_perspective(puVar2); - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0135b4(void) - -{ - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - _DAT_80069780 = 0; - _DAT_800697a0 = 0; - _DAT_80069784 = 0; - _DAT_800697a4 = 0; - _DAT_80069788 = 0; - _DAT_800697a8 = 0; - _DAT_8006978c = 0; - _DAT_800697ac = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f013640(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f013978) overlaps instruction at (ram,0x7f013974) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f013648(void) - -{ - int iVar3; - ulonglong uVar1; - int iVar4; - longlong lVar2; - undefined4 uVar5; - int *piVar6; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - char cVar7; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - int iVar8; - int *piVar9; - int *piVar10; - int iVar11; - int iStack12; - - iVar3 = FUN_7f0102d0(); - iStack12 = 0; - FUN_70004544(0x42700000,extraout_a0,extraout_a1); - FUN_70004590(DAT_80051ac8,extraout_a0_00,extraout_a1_00); - FUN_70004650(0x42c80000,DAT_80051acc,extraout_a0_01,extraout_a1_01); - FUN_70004534(0); - iVar8 = 0; - if (0 < iVar3) { - piVar9 = (int *)&DAT_80069780; - iVar11 = 0; - do { - cVar7 = (char)iVar8; - if ((*piVar9 != 0) && (uVar1 = FUN_7000c410(cVar7,0x4000), uVar1 != 0)) { - *piVar9 = 0; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - iVar4 = *piVar9; - if (iVar4 == 0) { - piVar10 = (int *)(&DAT_800697a0 + iVar11); - uVar1 = FUN_7000c410(cVar7,0x202); - if ((uVar1 == 0) && ((iVar4 = FUN_7000c518(cVar7,-2,1), -2 < iVar4 || (*piVar10 == 0)))) { - uVar1 = FUN_7000c410(cVar7,0x101); - if ((uVar1 == 0) && ((iVar4 = FUN_7000c518(cVar7,-2,1), iVar4 < 1 || (*piVar10 == 0)))) { - uVar1 = FUN_7000c410(cVar7,0xb000); - if (uVar1 != 0) { - *piVar9 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - piVar6 = (int *)(&DAT_800697f8 + iVar11); - if (iVar3 == 2) { - if (iVar8 != 0) { - iVar4 = *piVar6; - goto LAB_7f01387c; - } - lVar2 = FUN_7000ba08(); - if (lVar2 != 4) goto LAB_7f013878; - } - else { -LAB_7f013878: - iVar4 = *piVar6; -LAB_7f01387c: - if (iVar4 < 4) { - if (iVar4 < 3) { - *piVar6 = iVar4 + 1; - } - goto LAB_7f013908; - } - } - if ((((*piVar6 < 7) && (*piVar6 = *piVar6 + 1, iVar8 == 0)) && (_DAT_800697f8 == 4)) && - (_DAT_800697fc < 4)) { - _DAT_800697fc = 4; - } - } - } - else { - piVar6 = (int *)(&DAT_800697f8 + iVar11); - if (*piVar6 < 1) goto LAB_7f013908; - if (iVar3 == 2) { - if (iVar8 != 1) { - iVar4 = *piVar6; - goto LAB_7f0137c8; - } - lVar2 = FUN_7000ba08(); - if (lVar2 != 4) goto LAB_7f0137c4; - if (_DAT_800697f8 < 4) { - iVar4 = *piVar6; - goto LAB_7f0137c8; - } - if (4 < *piVar6) goto LAB_7f0137c4; - } - else { -LAB_7f0137c4: - iVar4 = *piVar6; -LAB_7f0137c8: - *piVar6 = iVar4 + -1; - } - if ((((iVar3 == 2) && (iVar8 == 0)) && (lVar2 = FUN_7000ba08(), lVar2 == 4)) && - ((_DAT_800697f8 < 4 && (3 < _DAT_800697fc)))) { - _DAT_800697fc = 0; - } - } -LAB_7f013908: - iVar4 = FUN_7000ba08(); - if (iVar4 != 4) { - if (3 < _DAT_800697f8) { - _DAT_800697f8 = 0; - } - if (3 < _DAT_800697fc) { - _DAT_800697fc = 0; - } - } - iVar4 = FUN_7000c518(cVar7,-2,1); - if ((iVar4 == -1) || (iVar4 = FUN_7000c518(cVar7,-2,1), iVar4 == 0)) { - *piVar10 = 1; - iVar4 = *piVar9; - } - else { - *piVar10 = 0; - iVar4 = *piVar9; - } - } - iVar8 += 1; - if (iVar4 != 0) { - iStack12 += 1; - } - iVar11 += 4; - piVar9 = piVar9 + 1; - } while (iVar8 != iVar3); - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,0x2a,1); - uVar5 = FUN_7f009ba4(); - if (iStack12 == iVar3) { - uVar5 = FUN_7f01a788(0xe,0); - } - return uVar5; -} - - - -undefined4 * FUN_7f013a30(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint *puVar2; - byte *pbVar3; - short sVar5; - short sVar6; - uint *puVar4; - int iVar7; - int iVar8; - int iVar9; - uint uVar10; - int *piStack96; - int *piStack92; - uint uStack76; - uint uStack72; - int iStack68; - int aiStack64 [2]; - uint uStack56; - uint uStack52; - int iStack48; - int aiStack44 [10]; - uint uStack4; - - uStack4 = FUN_7f0102d0(); - puVar1 = FUN_700046d0(param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - puVar1 = (undefined4 *)FUN_7f00d608(puVar1); - puVar1 = loc_7F0ACED4(puVar1); - puVar2 = microcode_constructor_related_to_menus(puVar1,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)uStack4) { - puVar2 = microcode_constructor_related_to_menus(puVar2,0xd4,0x1e,0xd6,0x136,0x80); - } - uVar10 = 0; - if (0 < (int)uStack4) { - piStack92 = (int *)&DAT_80069780; - piStack96 = (int *)&DAT_800697f8; - do { - iVar8 = 0x26; - if (uStack4 == 2) { - iVar9 = 0x15e; - if ((int)uVar10 < 1) { - iVar7 = 0x1e; - } - else { - iVar7 = 0xaa; - } - } - else { - iVar9 = 0xaf; - if ((int)uVar10 < 2) { - iVar7 = 0; - } - else { - iVar7 = 0x8c; - } - iVar7 += 0x1e; - if ((uVar10 & 1) == 0) { - iVar8 = 0; - } - else { - iVar8 = 0xaf; - } - iVar8 += 0x26; - } - puVar4 = puVar2 + 2; - *puVar2 = ((int)((float)(iVar8 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar7 + 5) * 4.00000000) & 0xfffU; - puVar2[1] = ((int)((float)(iVar8 + iVar9 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar7 + 0x87) * 4.00000000) & 0xfffU; - if (*piStack92 == 0) { - pbVar3 = (byte *)FUN_7f0c2a88(0x9d1d); - loc_7F0AEB50(aiStack44,&iStack48,pbVar3,DAT_80040ee8,DAT_80040ee4,0); - uStack52 = ((iVar9 >> 1) + iVar8) - (iStack48 >> 1); - uStack56 = (iVar7 - (aiStack44[0] >> 1)) + 0x37; - puVar2 = loc_7F0ACED4(puVar4); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar2,&uStack52,&uStack56,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - } - pbVar3 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(*piStack96 * 4 + -0x7ffd4ad0)); - loc_7F0AEB50(aiStack64,&iStack68,pbVar3,DAT_80040ee8,DAT_80040ee4,0); - uStack72 = ((iVar9 >> 1) + iVar8) - (iStack68 >> 1); - uStack76 = (iVar7 - (aiStack64[0] >> 1)) + 0x55; - puVar2 = loc_7F0ACED4(puVar4); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,&uStack72,&uStack76,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - uVar10 += 1; - piStack92 = piStack92 + 1; - piStack96 = piStack96 + 1; - } while (uVar10 != uStack4); - } - puVar1 = combiner_bayer_lod_perspective(puVar2); - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f013e28(void) - -{ - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - _DAT_800697bc = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f013e7c(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F014040(undefined8 param_1,undefined8 param_2) - -{ - ulonglong uVar1; - longlong lVar2; - undefined4 uVar3; - int iVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - int iVar5; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051ad0,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051ad4,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - uVar1 = FUN_7000c370('\0',0xb000); - if (uVar1 == 0) { - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - lVar2 = FUN_7f00a3bc(); - if (lVar2 == 0) { - if ((int)DAT_8002a94c < 0xf0) { - iVar4 = 0; - if (0xa9 < (int)DAT_8002a94c) { - iVar4 = 1; - } - } - else { - iVar4 = 2; - } - iVar5 = (int)DAT_8002a948; - if (iVar5 < 0x124) { - if (iVar5 < 0xcf) { - _DAT_800697bc = 0; - if (0x79 < iVar5) { - _DAT_800697bc = 1; - } - } - else { - _DAT_800697bc = 2; - } - } - else { - _DAT_800697bc = 3; - } - _DAT_800697bc = iVar4 * 4 + _DAT_800697bc; - lVar2 = FUN_7f010110(_DAT_800697bc); - while (lVar2 == 0) { - _DAT_800697bc += -1; - lVar2 = FUN_7f010110(_DAT_800697bc); - } - } - else { - DAT_8002a924 = 1; - } - } - uVar1 = FUN_7000c410('\0',0xb000); - if (uVar1 == 0) { - uVar1 = FUN_7000c410('\0',0x4000); - if (uVar1 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a924 == 0) { - if (-1 < _DAT_800697bc) { - DAT_8002a914 = 1; - DAT_8002b574 = _DAT_800697bc; - } - } - else { - DAT_8002a918 = 1; - } - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,0x2a,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - uVar3 = FUN_7f009ba4(); - if (DAT_8002a914 == 0) { - if (DAT_8002a918 != 0) { - uVar3 = FUN_7f01a788(0xe,0); - } - } - else { - uVar3 = FUN_7f01a788(0xe,0); - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F0146D0(undefined4 *param_1) - -{ - undefined4 *puVar1; - byte *pbVar2; - short sVar4; - short sVar5; - undefined4 uVar3; - uint uVar6; - uint *puVar7; - longlong lVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - uint *puStackX0; - int iStack168; - int iStack156; - int iStack132; - float fStack104; - undefined4 uStack100; - float fStack96; - float fStack92; - float fStack64; - undefined4 uStack60; - float fStack56; - float fStack52; - int iStack20; - int iStack16; - int iStack12; - int aiStack8 [2]; - - puStackX0 = param_1; - puStackX0 = FUN_700046d0(param_1,0,0,0); - puStackX0 = insert_generic_fillrect(puStackX0); - puStackX0 = (uint *)FUN_7f00d608(puStackX0); - puStackX0 = loc_7F0ACED4(puStackX0); - lVar8 = 0x6c; - uVar6 = 0xa0; - do { - puStackX0 = microcode_constructor_related_to_menus(puStackX0,0x25,lVar8,0x185,uVar6,0x101010ff); - uVar6 += 0x46; - lVar8 = (longlong)((int)lVar8 + 0x46); - } while (uVar6 != 0x172); - puVar1 = combiner_bayer_lod_perspective(puStackX0); - puStackX0 = puVar1 + 2; - *puVar1 = 0xba000c02; - puVar1[1] = 0; - iVar10 = _DAT_8008d198; - loc_7F077B80((uint **)register0x000000ec,(uint *)(_DAT_8008d198 + 0x3c),1,0,2); - fStack56 = 213.00000000; - fStack52 = 104.00000000; - iVar9 = 0; - fStack64 = 176.00000000; - uStack60 = 0x40800000; - do { - loc_7F06B108((uint **)register0x000000ec,&fStack56,&fStack64,0x2f0,0x12,0,0,1,0x6b,0x67,0x53, - 0xff,(uint)(*(char *)(iVar10 + 0x42) != '\0'),0); - fStack52 = fStack52 + 60.00000000; - loc_7F06B108((uint **)register0x000000ec,&fStack56,&fStack64,0x2f0,0x12,0,0,1,0x6b,0x67,0x53, - 0xff,(uint)(*(char *)(iVar10 + 0x42) != '\0'),0); - iVar9 += 1; - fStack52 = (fStack52 - 60.00000000) + 70.00000000; - } while (iVar9 != 3); - iVar10 = 0; - iStack132 = 0; - fStack92 = 134.00000000; - fStack104 = 34.00000000; - uStack100 = 0x41b00000; - do { - iVar9 = 0; - fStack96 = 86.00000000; - do { - if (iVar10 < 0xc) { - puVar7 = (uint *)((&DAT_8002b0b8)[iVar10 * 6] * 0xc + _DAT_8008d1a4); - loc_7F077B80((uint **)register0x000000ec,puVar7,1,0,2); - if (iVar10 == _DAT_800697bc) { - puStackX0[1] = 0x100000; - *puStackX0 = 0xba001402; - puStackX0[3] = 0xffffff0a; - puStackX0[2] = 0xf8000000; - puStackX0[5] = 0xc4112048; - puStackX0[4] = 0xb900031d; - puStackX0 = puStackX0 + 6; - loc_7F06B108((uint **)register0x000000ec,&fStack96,&fStack104,0x44,0x2c,0,0,1,0xff,0xff, - 0xff,0xff,(uint)(*(char *)((int)puVar7 + 6) != '\0'),1); - } - else { - lVar8 = FUN_7f010110(iVar10); - if (lVar8 == 0) { - loc_7F06B108((uint **)register0x000000ec,&fStack96,&fStack104,0x44,0x2c,0,0,1,0xf,0xf, - 0xf,0xff,(uint)(*(char *)((int)puVar7 + 6) != '\0'),0); - } - else { - loc_7F06B108((uint **)register0x000000ec,&fStack96,&fStack104,0x44,0x2c,0,0,1,0x6e,0x6e, - 0x6e,0xff,(uint)(*(char *)((int)puVar7 + 6) != '\0'),0); - } - } - } - iVar9 += 1; - fStack96 = fStack96 + 85.00000000; - iVar10 += 1; - } while (iVar9 != 4); - fStack92 = fStack92 + 70.00000000; - iStack132 += 1; - } while (iStack132 != 3); - puStackX0 = loc_7F0ACED4(puStackX0); - iVar10 = 0; - iStack168 = 0x97; - iStack156 = 0; - do { - iVar9 = 0x56; - iVar12 = 0; - do { - if ((iVar10 < 0xc) && (lVar8 = FUN_7f010110(iVar10), lVar8 != 0)) { - uVar6 = 0x96969600; - if (iVar10 == _DAT_800697bc) { - uVar6 = 0xffffff00; - } - pbVar2 = (byte *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002b0b6)[iVar10 * 0xc]); - loc_7F0AEB50(&iStack16,&iStack20,pbVar2,DAT_80040ee0,DAT_80040edc,0); - iVar11 = iVar9 + -0x1f; - iStack12 = iStack168 - iStack16; - aiStack8[0] = iVar11; - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)iVar11,(longlong)iStack12, - (longlong)(iVar11 + iStack20),iStack12 + iStack16,0); - pbVar2 = (byte *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002b0b6)[iVar10 * 0xc]); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack8,&iStack12,pbVar2,DAT_80040ee0,(int)DAT_80040edc, - uVar6 | 0xff,(int)sVar4,(int)sVar5,0,0); - iStack12 = iStack168 - iStack16; - aiStack8[0] = iVar11; - pbVar2 = (byte *)FUN_7f0c2a88((uint)(ushort)(&DAT_8002b0b6)[iVar10 * 0xc]); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,aiStack8,&iStack12,pbVar2,DAT_80040ee0,(int)DAT_80040edc, - uVar6 | 100,(int)sVar4,(int)sVar5,0,0); - } - iVar12 += 1; - iVar9 += 0x55; - iVar10 += 1; - } while (iVar12 != 4); - iStack156 += 1; - iStack168 += 0x46; - } while (iStack156 != 3); - puStackX0 = loc_7F0ACED4(puStackX0); - puStackX0 = FUN_7f00a258(puStackX0); - uVar3 = FUN_7f009f28(puStackX0); - return uVar3; -} - - - -undefined4 FUN_7f014808(void) - -{ - return DAT_8002b580; -} - - - -void FUN_7f014814(void) - -{ - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f014860(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F014A34(undefined8 param_1,undefined8 param_2) - -{ - bool bVar1; - ulonglong uVar2; - longlong lVar3; - int iVar4; - undefined4 uVar5; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - int iVar6; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - int iVar7; - int iVar8; - - bVar1 = false; - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051ad8,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051adc,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - uVar2 = FUN_7000c370('\0',0xa000); - iVar6 = _DAT_800697c0; - if (uVar2 == 0) { - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - lVar3 = FUN_7f00a3bc(); - if (lVar3 == 0) { - _DAT_800697c0 = 1; - iVar7 = 7; - iVar8 = 0x11d; - do { - if ((iVar8 <= (int)DAT_8002a94c) && - (iVar6 = FUN_7f0102d0(), - (longlong)(ulonglong)(byte)(&DAT_8002b096)[iVar7 * 4] <= (longlong)iVar6)) { - iVar4 = FUN_7f0102d0(); - iVar6 = iVar7 + 1; - if ((longlong)iVar4 <= (longlong)(ulonglong)(byte)(&DAT_8002b097)[iVar7 * 4]) break; - } - iVar7 += -1; - iVar8 += -0x16; - iVar6 = _DAT_800697c0; - } while (iVar7 != 0); - } - else { - DAT_8002a924 = 1; - _DAT_800697c0 = 0; - iVar6 = _DAT_800697c0; - } - } - _DAT_800697c0 = iVar6; - uVar2 = FUN_7000c410('\0',0xb000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0x4000); - if (uVar2 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a924 == 0) { - iVar6 = _DAT_800697c0 + -1; - if (((iVar6 == 5) || (iVar6 == 6)) || (iVar6 == 7)) { - FUN_7f0104a8(iVar6); - bVar1 = true; - } - else { - FUN_7f0104a8(iVar6); - DAT_8002a918 = 1; - } - } - else { - DAT_8002a918 = 1; - } - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,1,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - loc_7F00B7FC(DAT_8002a99c,6,1); - uVar5 = FUN_7f009ba4(); - if (bVar1) { - uVar5 = FUN_7f01a788(0x14,0); - } - else { - if (DAT_8002a918 != 0) { - uVar5 = FUN_7f01a788(0xe,0); - } - } - return uVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f014af8(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint *puVar2; - byte *pbVar3; - short sVar6; - short sVar7; - int iVar4; - undefined4 uVar5; - ushort *puVar8; - int iVar9; - uint uVar10; - uint uVar11; - int iStack32; - int aiStack28 [2]; - uint uStack20; - uint auStack16 [4]; - - puVar1 = FUN_700046d0(param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - puVar1 = (undefined4 *)FUN_7f00d608(puVar1); - puVar2 = loc_7F0ACED4(puVar1); - pbVar3 = (byte *)FUN_7f0c2a88(0x9c57); - auStack16[0] = 0x37; - uStack20 = 0x66; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,auStack16,&uStack20,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar6,(int)sVar7,0,0); - puVar8 = &DAT_8002b094; - iVar9 = 0; - uVar11 = 0x83; - do { - uVar10 = 0xff; - iVar4 = FUN_7f0102d0(); - if ((longlong)(ulonglong)*(byte *)((int)puVar8 + 3) < (longlong)iVar4) { - uVar10 = 0x70; - } - else { - iVar4 = FUN_7f0102d0(); - if ((longlong)iVar4 < (longlong)(ulonglong)*(byte *)(puVar8 + 1)) { - uVar10 = 0x70; - } - } - pbVar3 = (byte *)FUN_7f0c2a88((uint)*puVar8); - loc_7F0AEB50(aiStack28,&iStack32,pbVar3,DAT_80040ee8,DAT_80040ee4,0); - auStack16[0] = 0x39; - uStack20 = uVar11; - if (iVar9 + 1 == _DAT_800697c0) { - uStack20 = uVar11; - puVar2 = microcode_constructor_related_to_menus - (puVar2,0x37,(longlong)(int)(uVar11 - 1),(longlong)(iStack32 + 0x3c), - uVar11 + 0xe,0x32); - } - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(puVar2,auStack16,&uStack20,pbVar3,DAT_80040ee8,(int)DAT_80040ee4,uVar10, - (int)sVar6,(int)sVar7,0,0); - iVar9 += 1; - puVar8 = puVar8 + 2; - uVar11 += 0x16; - } while (iVar9 != 8); - puVar2 = FUN_7f00a258(puVar2); - uVar5 = FUN_7f009f28(puVar2); - return uVar5; -} - - - -ulonglong FUN_7f014d38(int param_1) - -{ - return (ulonglong)(byte)(&DAT_80079fc9)[param_1 * 0x70]; -} - - - -void FUN_7f014d54(int param_1,undefined param_2) - -{ - (&DAT_80079fc9)[param_1 * 0x70] = param_2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f014d70(void) - -{ - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - if (DAT_8002b580 == 7) { - _DAT_800697c8 = 2; - } - else { - _DAT_800697c8 = 3; - } - DAT_8002b5a0 = 0; - FUN_7f00b8cc(); - return; -} - - - -void FUN_7f014df0(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f015074) overlaps instruction at (ram,0x7f015070) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong loc_7F015124(undefined8 param_1,undefined8 param_2) - -{ - ulonglong uVar1; - int iVar2; - int **ppiVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined uVar4; - uint uVar5; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051ae0,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051ae4,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - DAT_8002b5a0 = (DAT_8002b5a0 + 1) % 0x14; - uVar1 = FUN_7000c410('\0',0x101); - if ((uVar1 == 0) && (iVar2 = FUN_7000c518('\0',-2,1), iVar2 < 1)) { - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 == 0) && (iVar2 = FUN_7000c58c('\0',-2,1), iVar2 < 1)) { - uVar1 = FUN_7000c410('\0',0x202); - if ((uVar1 == 0) && (iVar2 = FUN_7000c518('\0',-2,1), -2 < iVar2)) { - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (iVar2 = FUN_7000c58c('\0',-2,1), iVar2 < -1)) { - if (DAT_8002b580 == 7) { - if ((_DAT_800697c8 & 2) == 0) { - _DAT_800697c8 = 2; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if ((_DAT_800697c8 & 2) == 0) { - _DAT_800697c8 = _DAT_800697c8 + 2; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - } - } - else { - if (DAT_8002b580 == 5) { - if ((_DAT_800697c8 & 1) != 0) { - _DAT_800697c8 = 2; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if ((_DAT_800697c8 & 1) != 0) { - _DAT_800697c8 = _DAT_800697c8 - 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - } - } - else { - if (DAT_8002b580 == 5) { - if ((_DAT_800697c8 & 2) != 0) { - _DAT_800697c8 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if ((_DAT_800697c8 & 2) != 0) { - _DAT_800697c8 = _DAT_800697c8 - 2; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - } - } - else { - if (DAT_8002b580 == 7) { - if ((_DAT_800697c8 & 1) == 0) { - _DAT_800697c8 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if ((_DAT_800697c8 & 1) == 0) { - _DAT_800697c8 = _DAT_800697c8 + 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,0x2a,1); - FUN_7f009ba4(); - uVar1 = FUN_7000c410('\0',0xb000); - uVar5 = 0; - if (uVar1 != 0) { - do { - if (DAT_8002b580 == 5) { - if ((uVar5 == 0) || (uVar4 = 1, uVar5 == _DAT_800697c8)) { - uVar4 = 0; - } - FUN_7f014d54(uVar5,uVar4); - } - else { - FUN_7f014d54(uVar5,uVar5 == _DAT_800697c8); - } - uVar5 += 1; - } while (uVar5 != 4); - FUN_7f01a788(0xe,0); - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,199,NULL); - uVar1 = SEXT48((int)ppiVar3); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0154D4(undefined4 *param_1) - -{ - bool bVar1; - undefined4 *puVar2; - uint *puVar3; - int iVar4; - int iVar5; - short sVar6; - short sVar7; - int iVar8; - byte *pbVar9; - uint uVar10; - uint uVar11; - uint *puVar12; - uint uStack76; - uint uStack72; - int iStack68; - int aiStack64 [2]; - uint uStack56; - uint uStack52; - int iStack48; - int aiStack44 [4]; - int iStack28; - uint uStack4; - - uStack4 = FUN_7f0102d0(); - puVar2 = FUN_700046d0(param_1,0,0,0); - puVar2 = insert_generic_fillrect(puVar2); - puVar2 = (undefined4 *)FUN_7f00d608(puVar2); - puVar2 = loc_7F0ACED4(puVar2); - puVar3 = microcode_constructor_related_to_menus(puVar2,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)uStack4) { - puVar3 = microcode_constructor_related_to_menus(puVar3,0xd4,0x1e,0xd6,0x136,0x80); - } - uVar11 = 0; - if (0 < (int)uStack4) { - bVar1 = true; - while( true ) { - if (bVar1) { - iVar4 = 0; - } - else { - iVar4 = 0x8c; - } - if ((uVar11 & 1) == 0) { - iVar5 = 0; - } - else { - iVar5 = 0xaf; - } - iVar8 = iVar5 + 0x7d; - puVar12 = puVar3 + 2; - *puVar3 = ((int)((float)(iVar5 + 0x2c) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar4 + 0x23U) * 4.00000000) & 0xfffU; - puVar3[1] = ((int)((float)(iVar5 + 0xcf) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar4 + 0xa5) * 4.00000000) & 0xfffU; - puVar3 = puVar12; - iStack28 = iVar8; - if (uVar11 == 0) { - iStack28 = iVar8; - pbVar9 = (byte *)FUN_7f0c2a88(0x9c58); - loc_7F0AEB50(aiStack44,&iStack48,pbVar9,DAT_80040ee8,DAT_80040ee4,0); - uStack52 = iVar8 - (iStack48 >> 1); - uStack56 = iVar4 + 0x23U; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar12,&uStack52,&uStack56,pbVar9,DAT_80040ee8,(int)DAT_80040ee4,0xff - ,(int)sVar6,(int)sVar7,0,0); - } - if (DAT_8002b580 == 5) { - bVar1 = uVar11 == 0 || uVar11 == _DAT_800697c8; - } - else { - bVar1 = uVar11 != _DAT_800697c8; - } - if (bVar1) { - pbVar9 = (byte *)FUN_7f0c2a88(0x9c59); - } - else { - pbVar9 = (byte *)FUN_7f0c2a88(0x9c5a); - } - if (bVar1) { - uVar10 = 0xff0000ff; - } - else { - uVar10 = 0xffff; - } - loc_7F0AEB50(aiStack64,&iStack68,pbVar9,DAT_80040ee8,DAT_80040ee4,0); - uStack76 = (iVar4 - (aiStack64[0] >> 1)) + 100; - uStack72 = iStack28 - (iStack68 >> 1); - if ((uVar11 != _DAT_800697c8) || ((uVar11 == _DAT_800697c8 && (DAT_8002b5a0 < 10)))) { - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack72,&uStack76,pbVar9,DAT_80040ee8,(int)DAT_80040ee4, - uVar10,(int)sVar6,(int)sVar7,0,0); - } - uVar11 += 1; - if (uVar11 == uStack4) break; - bVar1 = (int)uVar11 < 2; - } - } - puVar2 = combiner_bayer_lod_perspective(puVar3); - return puVar2; -} - - - -void FUN_7f0155c0(undefined4 param_1) - -{ - DAT_8002a954 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0155d0(void) - -{ - undefined8 uVar1; - int iVar2; - undefined *puVar3; - - iVar2 = DAT_8002a990; - _DAT_800697cc = - FUN_7f0bd8f0(*(byte **)(DAT_8002a938 * 0x1c + -0x7ffd53c4),1, - (undefined *)(DAT_8002a990 + 0xa000),0x200); - uVar1 = FUN_7f0c2290((&DAT_8002ac2c)[DAT_8002a938 * 7]); - FUN_7f0c2a14((int)uVar1,(undefined *)(iVar2 + 0xa200),0x6de00); - iVar2 = 0; - puVar3 = _DAT_800697cc; - do { - iVar2 += 4; - if (*(short *)(puVar3 + 8) == 0) { - return; - } - puVar3 = puVar3 + 4; - } while (iVar2 != 0x28); - return; -} - - - -void FUN_7f0156a4(void) - -{ - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a950 = 5; - FUN_7f0155c0(0); - FUN_7f00b8cc(); - FUN_7f0155d0(); - return; -} - - - -void FUN_7f0156f0(void) - -{ - undefined8 uVar1; - - uVar1 = FUN_7f0c2290((&DAT_8002ac2c)[DAT_8002a938 * 7]); - FUN_7f0c2a74((int)uVar1); - if (-1 < DAT_8002a904) { - FUN_7f00b9b0(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f01574c(undefined8 param_1,undefined8 param_2) - -{ - longlong lVar1; - ulonglong uVar2; - undefined4 uVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051ae8,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051aec,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - lVar1 = FUN_7f00a3bc(); - if (lVar1 == 0) { - lVar1 = FUN_7f00a598(); - if ((lVar1 == 0) || (DAT_8002a950 + -1 <= DAT_8002a954)) { - lVar1 = FUN_7f00a204(); - if (lVar1 == 0) { - if (DAT_8002a954 < DAT_8002a950 + -1) { - DAT_8002a920 = 1; - } - else { - DAT_8002a91c = 1; - } - } - else { - DAT_8002a91c = 1; - } - } - else { - DAT_8002a920 = 1; - } - } - else { - DAT_8002a924 = 1; - } - uVar2 = FUN_7000c410('\0',0x1000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0xa000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0x4000); - if (uVar2 != 0) { - if (DAT_8002a954 < 1) { - DAT_8002a918 = 1; - } - else { - FUN_7f0155c0(DAT_8002a954 + -1); - } - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a920 == 0) { - if (DAT_8002a924 == 0) { - if (DAT_8002a91c != 0) { - DAT_8002a914 = 1; - } - } - else { - if (DAT_8002a954 < 1) { - DAT_8002a918 = 1; - } - else { - FUN_7f0155c0(DAT_8002a954 + -1); - } - } - } - else { - FUN_7f0155c0(DAT_8002a954 + 1); - } - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - DAT_8002a914 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0xc,(uint)(DAT_8002a954 == 0)); - loc_7F00B7FC(DAT_8002a99c,(&DAT_8002ac38)[DAT_8002a938 * 7] + 0x16,(uint)(DAT_8002a954 == 0)); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,1,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - loc_7F00B7FC(DAT_8002a99c,6,1); - uVar3 = FUN_7f009ba4(); - if (DAT_8002a914 == 0) { - if (DAT_8002a918 != 0) { - FUN_7f01a788(7,0); - uVar3 = FUN_7f00e420((longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - } - } - else { - uVar3 = FUN_7f01a788(0xb,1); - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * loc_7F015D34(uint *param_1,int param_2,byte *param_3,int param_4) - -{ - ushort uVar1; - short sVar4; - short sVar5; - uint *puVar2; - int iVar3; - int iVar6; - byte *pbVar7; - uint uVar8; - int iVar9; - uint uStack24; - uint uStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack8 = 0; - iVar9 = 0; - iStack4 = 0; - iVar6 = 0; - do { - uVar1 = *(ushort *)(_DAT_800697cc + iVar6 + 8); - if (uVar1 == 0) { - iStack4 += 1; - } - else { - if ((longlong)DAT_8002a93c < (longlong)(ulonglong)*(ushort *)(_DAT_800697cc + iVar6 + 10)) { - iStack4 += 1; - } - else { - pbVar7 = (byte *)FUN_7f0c2a88((uint)uVar1); - locret_7000A798((char *)param_3,s_a__80050c80); - *param_3 = *param_3 + (char)iStack8; - iStack12 = 0; - iStack16 = 0; - loc_7F0AEB50(&iStack12,&iStack16,param_3,DAT_80040ee8,DAT_80040ee4,0); - uStack20 = 0x37; - uStack24 = iStack12 * iVar9 + param_2; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puVar2 = FUN_7f009780(param_1,&uStack20,&uStack24,param_3,DAT_80040ee8,(int)DAT_80040ee4, - 0xff,(int)sVar4,(int)sVar5,0,0); - uStack20 = 0x4b; - uStack24 = iStack12 * iVar9 + param_2; - if (param_4 == 0) { - loc_7F0AEEE0(0x140,pbVar7,param_3,DAT_80040ee8,DAT_80040ee4); - } - else { - FUN_7f0ad744(2); - loc_7F0AEEE0(0xdc,pbVar7,param_3,DAT_80040ee8,DAT_80040ee4); - FUN_7f0ad744(0); - } - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - param_1 = FUN_7f009780(puVar2,&uStack20,&uStack24,param_3,DAT_80040ee8,(int)DAT_80040ee4, - 0xff,(int)sVar4,(int)sVar5,0,0); - if (param_4 != 0) { - iVar3 = loc_7F057498((longlong)iStack4); - if ((iVar3 == 0) || (iVar3 != 1)) { - uVar8 = 0x780000ff; - pbVar7 = (byte *)FUN_7f0c2a88(0x9c5c); - } - else { - uVar8 = 0xff; - pbVar7 = (byte *)FUN_7f0c2a88(0x9c5b); - } - uStack20 = 0x136; - uStack24 = iStack12 * iVar9 + param_2; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - param_1 = FUN_7f009780(param_1,&uStack20,&uStack24,pbVar7,DAT_80040ee8,(int)DAT_80040ee4, - uVar8,(int)sVar4,(int)sVar5,0,0); - } - iVar3 = locret_7F0AC118((char *)param_3); - iVar9 += iVar3; - iStack8 += 1; - iStack4 += 1; - } - } - iVar6 += 4; - } while (iStack4 != 10); - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F016048(undefined4 *param_1) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - uint *puVar3; - short sVar5; - short sVar6; - undefined4 uVar4; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 auStack3012 [750]; - uint uStack12; - uint uStack8; - byte *pbStack4; - - puVar1 = FUN_700046d0(param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - puVar2 = (undefined4 *)FUN_7f00d608(puVar1); - puVar1 = (undefined4 *)s__80050c84; - puVar7 = auStack3012; - do { - puVar8 = puVar1 + 3; - *puVar7 = *puVar1; - puVar7[1] = puVar1[1]; - puVar7[2] = puVar1[2]; - puVar1 = puVar8; - puVar7 = puVar7 + 3; - } while (puVar8 != (undefined4 *)s__02d__02d_8005183c); - puVar3 = loc_7F0ACED4(puVar2); - puVar3 = FUN_7f00eafc(puVar3,(byte *)auStack3012); - switch(DAT_8002a954) { - case 0: - pbStack4 = (byte *)FUN_7f0c2a88(0x9c5d); - break; - case 1: - pbStack4 = (byte *)FUN_7f0c2a88(0x9c5e); - break; - case 2: - pbStack4 = (byte *)FUN_7f0c2a88(0x9c5f); - break; - case 3: - pbStack4 = (byte *)FUN_7f0c2a88(0x9c60); - break; - case 4: - pbStack4 = (byte *)FUN_7f0c2a88(0x9c61); - } - uStack8 = 0x37; - uStack12 = 0x8f; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,pbStack4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - if (DAT_8002a954 == 0) { - puVar3 = loc_7F015D34(puVar3,0xa7,(byte *)auStack3012,0); - } - else { - if (DAT_8002a954 == 1) { - pbStack4 = (byte *)FUN_7f0c2a88((uint)*_DAT_800697cc); - } - else { - if (DAT_8002a954 == 2) { - pbStack4 = (byte *)FUN_7f0c2a88((uint)_DAT_800697cc[1]); - } - else { - if (DAT_8002a954 == 3) { - pbStack4 = (byte *)FUN_7f0c2a88((uint)_DAT_800697cc[2]); - } - else { - if (DAT_8002a954 == 4) { - pbStack4 = (byte *)FUN_7f0c2a88((uint)_DAT_800697cc[3]); - } - } - } - } - uStack8 = 0x37; - uStack12 = 0xa7; - loc_7F0AEEE0(0x140,pbStack4,(byte *)auStack3012,DAT_80040ee8,DAT_80040ee4); - FUN_7f0ad750(8); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack8,&uStack12,(byte *)auStack3012,DAT_80040ee8, - (int)DAT_80040ee4,0xff,(int)sVar5,(int)sVar6,0,0); - FUN_7f0ad750(0xffffffff); - } - puVar3 = FUN_7f00a0a0(puVar3); - puVar3 = FUN_7f00a258(puVar3); - if (DAT_8002a954 < 4) { - puVar3 = FUN_7f00a434(puVar3); - } - uVar4 = FUN_7f009f28(puVar3); - return uVar4; -} - - - -void FUN_7f016114(void) - -{ - FUN_70006950(DAT_8002a934); - FUN_7f0c0884(DAT_8002a93c); - return; -} - - - -void FUN_7f016144(void) - -{ - DAT_8002a914 = 0; - DAT_8002a918 = 0; - FUN_7f00b8cc(); - FUN_7f0155d0(); - FUN_7f00a410(); - if (DAT_8002a97c != 0) { - loc_70009204(0x7fff); - FUN_7000704c(0x7fff); - DAT_8002438c = 0; - FUN_70006e8c(0x17); - DAT_8002a97c = 0; - } - return; -} - - - -void FUN_7f0161b8(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0161c0(undefined8 param_1,undefined8 param_2) - -{ - longlong lVar1; - ulonglong uVar2; - undefined4 uVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051b04,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051b08,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - DAT_8002a920 = 0; - DAT_8002a924 = 0; - lVar1 = FUN_7f00a3bc(); - if (lVar1 == 0) { - lVar1 = FUN_7f00a598(); - if (lVar1 == 0) { - DAT_8002a920 = 1; - } - else { - DAT_8002a920 = 1; - } - } - else { - DAT_8002a924 = 1; - } - uVar2 = FUN_7000c410('\0',0xb000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0x4000); - if (uVar2 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a924 == 0) { - if (DAT_8002a920 != 0) { - DAT_8002a914 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,1,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - loc_7F00B7FC(DAT_8002a99c,6,1); - uVar3 = FUN_7f009ba4(); - if (DAT_8002a914 == 0) { - if (DAT_8002a918 != 0) { - FUN_7f01a788(7,0); - uVar3 = FUN_7f00e420((longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - } - } - else { - uVar3 = FUN_7f01a788(0xd,0); - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0163cc(void) - -{ - int iVar1; - longlong lVar2; - int iVar3; - int iVar4; - - if (DAT_8002a964 == 0) { - lVar2 = 0; - iVar4 = 0; - if (DAT_8002a968 == 0) { - do { - iVar3 = (int)lVar2; - if (*(short *)(_DAT_800697cc + iVar4 + 8) == 0) { - lVar2 = (longlong)(iVar3 + 1); - } - else { - iVar1 = FUN_7f0c0878(); - if ((longlong)iVar1 < (longlong)(ulonglong)*(ushort *)(_DAT_800697cc + iVar4 + 10)) { - lVar2 = (longlong)(iVar3 + 1); - } - else { - iVar1 = loc_7F057498(lVar2); - if (iVar1 != 1) { - return 0; - } - lVar2 = (longlong)(iVar3 + 1); - } - } - iVar4 += 4; - } while (lVar2 != 10); - return 1; - } - } - return 0; -} - - - -undefined4 FUN_7f01649c(undefined4 *param_1) - -{ - undefined4 *puVar2; - uint *puVar3; - short sVar5; - short sVar6; - longlong lVar1; - undefined4 uVar4; - byte *pbVar7; - int iStack3024; - int iStack3020; - uint uStack3016; - byte abStack3008 [3000]; - uint uStack8; - uint uStack4; - - puVar2 = FUN_700046d0(param_1,0,0,0); - puVar2 = insert_generic_fillrect(puVar2); - puVar2 = (undefined4 *)FUN_7f00d608(puVar2); - puVar3 = loc_7F0ACED4(puVar2); - puVar3 = FUN_7f00eafc(puVar3,abStack3008); - pbVar7 = (byte *)FUN_7f0c2a88(0x9c62); - uStack4 = 0x37; - uStack8 = 0x8f; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack4,&uStack8,pbVar7,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - pbVar7 = (byte *)FUN_7f0c2a88(0x9c63); - iStack3024 = 0; - iStack3020 = 0; - loc_7F0AEB50(&iStack3020,&iStack3024,pbVar7,DAT_80040ee8,DAT_80040ee4,0); - uStack4 = 0x37; - uStack8 = 0xa7; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack4,&uStack8,pbVar7,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar5,(int)sVar6,0,0); - if (DAT_8002a968 == 0) { - if (DAT_8002a964 == 0) { - lVar1 = FUN_7f0163cc(); - if (lVar1 == 0) { - pbVar7 = (byte *)FUN_7f0c2a88(0x9c67); - uStack3016 = 0x780000ff; - } - else { - pbVar7 = (byte *)FUN_7f0c2a88(0x9c66); - uStack3016 = 0xff; - } - } - else { - pbVar7 = (byte *)FUN_7f0c2a88(0x9c65); - uStack3016 = 0x780000ff; - } - } - else { - pbVar7 = (byte *)FUN_7f0c2a88(0x9c64); - uStack3016 = 0x780000ff; - } - uStack8 = 0xa7; - uStack4 = iStack3024 + 0x37; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,&uStack4,&uStack8,pbVar7,DAT_80040ee8,(int)DAT_80040ee4,uStack3016, - (int)sVar5,(int)sVar6,0,0); - puVar3 = loc_7F015D34(puVar3,0xbf,abStack3008,1); - puVar3 = FUN_7f00a434(puVar3); - puVar3 = FUN_7f00a258(puVar3); - uVar4 = FUN_7f009f28(puVar3); - return uVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f01672c(void) - -{ - int **ppiVar1; - - DAT_8002a914 = 0; - DAT_8002a918 = 0; - FUN_7f00b8cc(); - ppiVar1 = (int **)FUN_7f0155d0(); - if (_DAT_800697d0 != 0) { - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0x102,NULL); - } - return ppiVar1; -} - - - -void FUN_7f016780(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f016788(undefined8 param_1,undefined8 param_2) - -{ - longlong lVar1; - ulonglong uVar2; - undefined4 uVar3; - undefined **ppuVar4; - undefined **ppuVar5; - int iVar6; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - short sVar7; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined *puVar8; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051b0c,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051b10,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - DAT_8002a924 = 0; - DAT_8002a920 = 0; - lVar1 = FUN_7f00a3bc(); - if (lVar1 == 0) { - lVar1 = FUN_7f00a598(); - if (lVar1 == 0) { - DAT_8002a920 = 1; - } - else { - DAT_8002a920 = 1; - } - } - else { - DAT_8002a924 = 1; - } - uVar2 = FUN_7000c410('\0',0xb000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0x4000); - if (uVar2 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a920 == 0) { - if (DAT_8002a924 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - DAT_8002a914 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,1,1); - loc_7F00B7FC(DAT_8002a99c,3,1); - loc_7F00B7FC(DAT_8002a99c,6,1); - uVar3 = FUN_7f009ba4(); - if (DAT_8002a914 == 0) { - if (DAT_8002a918 != 0) { - FUN_7f01a788(7,0); - uVar3 = FUN_7f00e420((longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - } - } - else { - lVar1 = FUN_7f0163cc(); - if ((lVar1 == 0) || (DAT_8002a940 != 0)) { - uVar3 = FUN_7f01a788(10,0); - } - else { - if ((&DAT_8002ac38)[DAT_8002a938 * 7] == 0x11) { - uVar3 = FUN_7f01a788(0xb,1); - DAT_8002a934 = (undefined *)0x36; - } - else { - iVar6 = DAT_8002a938 + 1; - if ((int)(&DAT_8002ac38)[DAT_8002a938 * 7] < 0x12) { - sVar7 = (&DAT_8002ac28)[iVar6 * 0xe]; - ppuVar5 = &PTR_s_1_8002ac24 + iVar6 * 7; - if (sVar7 != 0) { - puVar8 = (undefined *)(&DAT_8002ac2c)[iVar6 * 7]; - ppuVar4 = &PTR_s_1_8002ac24 + iVar6 * 7; - while (ppuVar5 = ppuVar4, (int)puVar8 < 0) { - sVar7 = *(short *)(ppuVar4 + 8); - iVar6 += 1; - ppuVar5 = ppuVar4 + 7; - if (sVar7 == 0) break; - puVar8 = ppuVar4[9]; - ppuVar4 = ppuVar5; - } - } - if (sVar7 != 0) { - DAT_8002a934 = ppuVar5[2]; - DAT_8002a938 = iVar6; - } - uVar3 = FUN_7f01a788(10,0); - } - else { - FUN_7f01a788(7,0); - uVar3 = FUN_7f00e420((longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - } - } - } - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F0173C4(undefined4 *puParm1) - -{ - int iVar1; - undefined4 *puVar3; - uint *puVar4; - int iVar5; - uint uVar6; - uint uVar7; - uint uVar8; - uint uVar9; - uint uVar10; - int iVar11; - int iVar12; - int iVar13; - short sVar18; - short sVar19; - undefined *puVar14; - ulonglong uVar2; - uint uVar15; - char *pcVar16; - undefined4 uVar17; - int iVar20; - uint extraout_a2_lo; - uint extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - int iVar21; - float fVar22; - float fVar23; - uint in_f5; - int iStack3020; - int iStack3016; - byte *pbStack3012; - byte abStack3008 [3000]; - uint uStack8; - uint uStack4; - - puVar3 = FUN_700046d0(puParm1,0,0,0); - puVar3 = insert_generic_fillrect(puVar3); - puVar3 = (undefined4 *)FUN_7f00d608(puVar3); - puVar4 = loc_7F0ACED4(puVar3); - iVar5 = FUN_7f08c840(); - uVar6 = FUN_7f06af10(); - uVar7 = FUN_7f06ad2c(0); - uVar8 = FUN_7f06ad2c(1); - uVar9 = FUN_7f06ad2c(2); - uVar10 = FUN_7f06ad2c(3); - iVar11 = FUN_7f06ad2c(4); - iVar12 = FUN_7f06ad2c(5); - iVar13 = FUN_7f06ad2c(6); - iVar20 = uVar8 + uVar9 + uVar10 + iVar11 + iVar12; - iVar13 = iVar20 + iVar13; - if (iVar20 < 1) { - iVar20 = 1; - } - puVar4 = FUN_7f00eafc(puVar4,abStack3008); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c68); - uStack4 = 0x37; - uStack8 = 0x8f; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - iStack3020 = 0; - iStack3016 = 0; - loc_7F0AEB50(&iStack3016,&iStack3020,pbStack3012,DAT_80040ee8,DAT_80040ee4,0); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c69); - uStack4 = 0x37; - uStack8 = 0xa7; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - puVar14 = loc_7F01DE38((longlong)DAT_8002a928); - uVar2 = loc_7F01DAD4((int)puVar14,(longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7], - (longlong)DAT_8002a93c); - uVar2._4_4_ = (int)uVar2; - if ((uVar2 == 0) || (0x3fe < (longlong)uVar2)) { - uVar2._4_4_ = -1; - } - iVar21 = DAT_8002a93c; - if (2 < DAT_8002a93c) { - iVar21 = 2; - } - iVar1 = iVar5 / 0x3c; - abStack3008[0] = 0; - iVar21 = (int)*(short *)((&DAT_8002ac38)[DAT_8002a938 * 7] * 6 + iVar21 * 2 + -0x7ffd4a5c); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - sprintf((int)abStack3008,(byte *)s__02d__02d_8005183c,iVar1 / 0x3c,iVar1 % 0x3c); - uStack4 = 0x82; - uStack8 = 0xa7; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - if (_DAT_800697d0 != 0) { - abStack3008[0] = 0; - uVar15 = FUN_7f0c2a88(0x9d13); - sprintf((int)abStack3008,(byte *)s____s__80051848,uVar15,extraout_a3_lo); - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4, - 0xa00000ff,(int)sVar18,(int)sVar19,0,0); - } - if ((iVar21 < 1) || (DAT_8002a93c == 3)) { - if ((-1 < uVar2._4_4_) && (uVar2._4_4_ < 0x3ff)) { - pbStack3012 = (byte *)FUN_7f0c2a88(0x9d11); - uStack8 = iStack3016 + 0xa9; - uStack4 = 0x37; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff - ,(int)sVar18,(int)sVar19,0,0); - abStack3008[0] = 0; - sprintf((int)abStack3008,(byte *)s__02d__02d_8005187c,uVar2._4_4_ / 0x3c,uVar2._4_4_ % 0x3c); - uStack4 = 0x82; - uStack8 = iStack3016 + 0xa9; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff - ,(int)sVar18,(int)sVar19,0,0); - } - } - else { - pbStack3012 = (byte *)FUN_7f0c2a88(0x9d12); - uStack8 = iStack3016 + 0xa9; - uStack4 = 0x37; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - abStack3008[0] = 0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar21 == -0x80000000)) { - trap(0x1800); - } - sprintf((int)abStack3008,(byte *)s__02d__02d_80051854,iVar21 / 0x3c,iVar21 % 0x3c); - uStack4 = 0x82; - uStack8 = iStack3016 + 0xa9; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - if ((-1 < uVar2._4_4_) && (uVar2._4_4_ < 0x3ff)) { - abStack3008[0] = 0; - if (uVar2._4_4_ < 0) { - sprintf((int)abStack3008,(byte *)s__80051878,extraout_a2_lo,extraout_a3_lo_00); - } - else { - uVar15 = FUN_7f0c2a88(0x9d11); - if (false) { - trap(0x1c00); - } - if ((false) && (uVar2._4_4_ == -0x80000000)) { - trap(0x1800); - } - sprintf((int)abStack3008,(byte *)s____s__02d__02d__80051860,uVar15,uVar2._4_4_ / 0x3c); - } - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff - ,(int)sVar18,(int)sVar19,0,0); - } - } - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c6a); - uStack4 = 0x37; - uStack8 = 0xcc; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - if ((int)uVar7 < 1) { - fVar22 = 0.00000000; - } - else { - fVar22 = ((float)iVar13 * 100.00000000) / (float)uVar7; - } - sprintf((int)abStack3008,(byte *)s___1f___80051888,in_f5,SUB84((double)fVar22,0)); - uStack4 = 0x82; - uStack8 = 0xcc; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c6b); - uStack4 = 0x37; - uStack8 = 0xdc; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - pcVar16 = (char *)FUN_7f009b70(0,0); - locret_7000A798((char *)abStack3008,pcVar16); - if ((0 < _DAT_80069730) && (_DAT_80069734 == _DAT_80069730)) { - pcVar16 = locret_7001389C((char *)abStack3008); - sprintf((int)(pcVar16 + (int)&pbStack3012 + 3),(byte *)s__x_2_80051890,extraout_a2_lo_00, - extraout_a3_lo_01); - } - uStack4 = 0xbe; - uStack8 = 0xdc; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c6c); - uStack4 = 0x37; - uStack8 = 0xf4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - sprintf((int)abStack3008,(byte *)s__d_80051898,uVar7,extraout_a3_lo_02); - uStack4 = 0x82; - uStack8 = 0xf4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c6d); - uStack4 = 0xb4; - uStack8 = 0xf4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - fVar22 = (float)iVar20; - fVar23 = loc_7F05C3C8(((float)uVar8 * 100.00000000) / fVar22 + 0.50000000); - sprintf((int)abStack3008,(byte *)s__d___d____8005189c,uVar8,(int)fVar23); - uStack4 = 300; - uStack8 = 0xf4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c6e); - uStack8 = iStack3016 + 0xf4; - uStack4 = 0xb4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - fVar23 = loc_7F05C3C8(((float)uVar9 * 100.00000000) / fVar22 + 0.50000000); - sprintf((int)abStack3008,(byte *)s__d___d____800518a8,uVar9,(int)fVar23); - uStack4 = 300; - uStack8 = iStack3016 + 0xf4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c6f); - uStack8 = iStack3016 * 2 + 0xf4; - uStack4 = 0xb4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - fVar23 = loc_7F05C3C8(((float)uVar10 * 100.00000000) / fVar22 + 0.50000000); - sprintf((int)abStack3008,(byte *)s__d___d____800518b4,uVar10,(int)fVar23); - uStack4 = 300; - uStack8 = iStack3016 * 2 + 0xf4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c70); - uStack8 = iStack3016 * 3 + 0xf4; - uStack4 = 0xb4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - fVar22 = loc_7F05C3C8(((float)(iVar12 + iVar11) * 100.00000000) / fVar22 + 0.50000000); - sprintf((int)abStack3008,(byte *)s__d___d____800518c0,iVar12 + iVar11,(int)fVar22); - uStack4 = 300; - uStack8 = iStack3016 * 3 + 0xf4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - pbStack3012 = (byte *)FUN_7f0c2a88(0x9c71); - uStack8 = iStack3016 + 0xf4; - uStack4 = 0x37; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,pbStack3012,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - sprintf((int)abStack3008,(byte *)s__d_800518cc,uVar6,extraout_a3_lo_03); - uStack4 = 0x82; - uStack8 = iStack3016 + 0xf4; - sVar18 = get_video2_settings_txtClipW(); - sVar19 = get_video2_settings_txtClipH(); - puVar4 = FUN_7f009780(puVar4,&uStack4,&uStack8,abStack3008,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar18,(int)sVar19,0,0); - puVar4 = FUN_7f00a434(puVar4); - puVar4 = FUN_7f00a258(puVar4); - uVar17 = FUN_7f009f28(puVar4); - return uVar17; -} - - - -void FUN_7f017c00(void) - -{ - int iVar1; - char *pcVar2; - - DAT_8002a910 = 0; - DAT_8002a914 = 0; - DAT_8002a918 = 0; - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - DAT_8002b61c = 0; - pcVar2 = &DAT_80069691; - iVar1 = 1; - do { - if (*pcVar2 != '\0') { - *(int *)(&DAT_80069830 + DAT_8002b61c * 4) = iVar1; - DAT_8002b61c += 1; - } - iVar1 += 1; - pcVar2 = pcVar2 + 1; - } while (iVar1 != 0x4b); - FUN_7f00b8cc(); - return; -} - - - -void loc_7F017C50(void) - -{ - longlong lVar1; - int iVar2; - char *pcVar3; - undefined4 uVar4; - undefined4 uVar5; - - uVar4 = 0; - uVar5 = 0; - pcVar3 = &DAT_800696e1; - iVar2 = 1; - do { - if (*pcVar3 != '\0') { - uVar4 = 1; - lVar1 = FUN_7f092558(iVar2); - if (lVar1 != 0) { - uVar5 = 1; - } - } - iVar2 += 1; - pcVar3 = pcVar3 + 1; - } while (iVar2 != 0x4b); - DAT_8002a940 = uVar4; - DAT_8002a944 = uVar5; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f017d38(undefined8 param_1,undefined8 param_2) - -{ - int iVar1; - ulonglong uVar2; - longlong lVar3; - int iVar4; - int iVar5; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051b14,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051b18,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - DAT_8002b624 = 0; - uVar2 = FUN_7000c370('\0',0xa000); - iVar1 = DAT_8002b620; - if (uVar2 == 0) { - DAT_8002a924 = 0; - DAT_8002a920 = 0; - DAT_8002a91c = 0; - DAT_8002b620 = 0; - lVar3 = FUN_7f00a3bc(); - if (lVar3 == 0) { - iVar1 = DAT_8002b620; - if (((0xc < DAT_8002b61c) && - (iVar5 = DAT_8002b61c + -0xd, iVar1 = DAT_8002b620, 0xdb < (int)DAT_8002a948)) && - (iVar1 = DAT_8002b620, -1 < iVar5)) { - iVar4 = iVar5 * 0x14 + 0x35; - do { - iVar1 = iVar5 + 0xc; - if (iVar4 <= (int)DAT_8002a94c) break; - iVar5 += -1; - iVar4 += -0x14; - iVar1 = DAT_8002b620; - } while (-1 < iVar5); - } - DAT_8002b620 = iVar1; - iVar1 = DAT_8002b620; - if (DAT_8002b620 == 0) { - iVar5 = DAT_8002b61c + -1; - if (0xc < DAT_8002b61c) { - iVar5 = 0xb; - } - iVar1 = DAT_8002b620; - if (-1 < iVar5) { - iVar4 = iVar5 * 0x14 + 0x35; - do { - iVar1 = iVar5; - if (iVar4 <= (int)DAT_8002a94c) break; - iVar5 += -1; - iVar4 += -0x14; - iVar1 = DAT_8002b620; - } while (-1 < iVar5); - } - } - } - else { - DAT_8002a924 = 1; - iVar1 = DAT_8002b620; - } - } - DAT_8002b620 = iVar1; - uVar2 = FUN_7000c410('\0',0xa000); - if (uVar2 == 0) { - uVar2 = FUN_7000c410('\0',0x4000); - if (uVar2 != 0) { - DAT_8002a918 = 1; - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - } - else { - if (DAT_8002a924 == 0) { - DAT_8002b624 = 1; - } - else { - DAT_8002a918 = 1; - } - FUN_70008e18((longlong)_DAT_80063760,199,NULL); - } - loc_7F00B7A8(DAT_8002a99c); - loc_7F00B7FC(DAT_8002a99c,0,1); - loc_7F00B7FC(DAT_8002a99c,0x2a,1); - loc_7F00B7FC(DAT_8002a99c,6,1); - FUN_7f009ba4(); - if (DAT_8002a918 == 0) { - if (DAT_8002b624 != 0) { - *(char *)(*(int *)(&DAT_80069830 + DAT_8002b620 * 4) + -0x7ff96920) = - '\x01' - *(char *)(*(int *)(&DAT_80069830 + DAT_8002b620 * 4) + -0x7ff96920); - } - } - else { - FUN_7f01a788(6,0); - FUN_7f00d81c(DAT_8002a930); - } - return; -} - - - -undefined4 FUN_7f01800c(undefined4 *param_1) - -{ - undefined4 *puVar2; - uint *puVar3; - byte *pbVar4; - longlong lVar1; - short sVar6; - short sVar7; - undefined4 uVar5; - uint uVar8; - int *piVar9; - undefined *puVar10; - uint uVar11; - int iVar12; - int iVar13; - int iStack28; - int iStack24; - uint uStack20; - uint auStack16 [4]; - - puVar2 = FUN_700046d0(param_1,0,0,0); - puVar2 = insert_generic_fillrect(puVar2); - puVar2 = (undefined4 *)FUN_7f00d608(puVar2); - puVar3 = loc_7F0ACED4(puVar2); - iVar12 = 0; - iVar13 = DAT_8002b61c; - if (0xc < DAT_8002b61c) { - iVar13 = 0xc; - } - if (0 < iVar13) { - uVar11 = 0x35; - piVar9 = (int *)&DAT_80069830; - do { - pbVar4 = (byte *)FUN_7f0932f4(*piVar9); - loc_7F0AEB50(&iStack24,&iStack28,pbVar4,DAT_80040ee8,DAT_80040ee4,0); - auStack16[0] = 0x37; - uStack20 = uVar11; - if ((iVar12 == DAT_8002b620) && (uStack20 = uVar11, lVar1 = FUN_7f00a3bc(), lVar1 == 0)) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,(longlong)(int)(auStack16[0] - 2),(longlong)(int)(uStack20 - 1), - (longlong)(int)(auStack16[0] + iStack28 + 5),uStack20 + 0xe,0x32); - } - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,auStack16,&uStack20,pbVar4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar6,(int)sVar7,0,0); - uVar8 = 0x9c74; - if (*(char *)(*piVar9 + -0x7ff96920) != '\0') { - uVar8 = 0x9c73; - } - pbVar4 = (byte *)FUN_7f0c2a88(uVar8); - loc_7F0AEB50(&iStack24,&iStack28,pbVar4,DAT_80040ee8,DAT_80040ee4,0); - auStack16[0] = 0xb3; - uVar8 = 0xff; - if (*(char *)(*piVar9 + -0x7ff96920) != '\0') { - uVar8 = 0xa00000ff; - } - uStack20 = uVar11; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,auStack16,&uStack20,pbVar4,DAT_80040ee8,(int)DAT_80040ee4,uVar8, - (int)sVar6,(int)sVar7,0,0); - iVar12 += 1; - piVar9 = piVar9 + 1; - uVar11 += 0x14; - iVar13 = DAT_8002b61c; - if (0xc < DAT_8002b61c) { - iVar13 = 0xc; - } - } while (iVar12 < iVar13); - } - if ((0xc < DAT_8002b61c) && (iVar13 = 0, 0 < DAT_8002b61c + -0xc)) { - puVar10 = &DAT_80069830; - uVar11 = 0x35; - do { - pbVar4 = (byte *)FUN_7f0932f4(*(int *)(puVar10 + 0x30)); - loc_7F0AEB50(&iStack24,&iStack28,pbVar4,DAT_80040ee8,DAT_80040ee4,0); - auStack16[0] = 0xdc; - uStack20 = uVar11; - if ((iVar13 + 0xc == DAT_8002b620) && (uStack20 = uVar11, lVar1 = FUN_7f00a3bc(), lVar1 == 0)) - { - puVar3 = microcode_constructor_related_to_menus - (puVar3,(longlong)(int)(auStack16[0] - 2),(longlong)(int)(uStack20 - 1), - (longlong)(int)(auStack16[0] + iStack28 + 5),uStack20 + 0xe,0x32); - } - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,auStack16,&uStack20,pbVar4,DAT_80040ee8,(int)DAT_80040ee4,0xff, - (int)sVar6,(int)sVar7,0,0); - uVar8 = 0x9c74; - if (*(char *)(*(int *)(puVar10 + 0x30) + -0x7ff96920) != '\0') { - uVar8 = 0x9c73; - } - pbVar4 = (byte *)FUN_7f0c2a88(uVar8); - loc_7F0AEB50(&iStack24,&iStack28,pbVar4,DAT_80040ee8,DAT_80040ee4,0); - auStack16[0] = 0x158; - uVar8 = 0xff; - if (*(char *)(*(int *)(puVar10 + 0x30) + -0x7ff96920) != '\0') { - uVar8 = 0xa00000ff; - } - uStack20 = uVar11; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = FUN_7f009780(puVar3,auStack16,&uStack20,pbVar4,DAT_80040ee8,(int)DAT_80040ee4,uVar8, - (int)sVar6,(int)sVar7,0,0); - iVar13 += 1; - puVar10 = puVar10 + 4; - uVar11 += 0x14; - } while (iVar13 < DAT_8002b61c + -0xc); - } - puVar3 = FUN_7f00a258(puVar3); - uVar5 = FUN_7f009f28(puVar3); - return uVar5; -} - - - -void FUN_7f0184e8(void) - -{ - return; -} - - - -void FUN_7f0184f0(void) - -{ - return; -} - - - -void FUN_7f0184f8(void) - -{ - return; -} - - - -uint * FUN_7f018500(undefined4 *param_1) - -{ - ulonglong uVar1; - undefined4 *puVar2; - uint *puVar3; - short sVar4; - short sVar5; - bool bVar6; - uint *puStackX0; - byte *pbStack20; - uint uStack16; - uint uStack12; - int iStack8; - int iStack4; - - uVar1 = FUN_7000ba80(); - bVar6 = (uVar1 & 8) != 0; - if ((uVar1 & 4) != 0) { - bVar6 = (bool)(bVar6 + '\x01'); - } - if ((uVar1 & 2) != 0) { - bVar6 = (bool)(bVar6 + '\x01'); - } - puVar2 = insert_imageDL(param_1); - puVar3 = loc_7F0ACED4(puVar2); - if ((((bVar6 == false) || (bVar6 == true)) || (bVar6 == true)) || (bVar6 == true)) { - pbStack20 = (byte *)FUN_7f0c2a88(0x9c76); - } - loc_7F0AEB50(&iStack4,&iStack8,pbStack20,DAT_80040ee8,DAT_80040ee4,0); - uStack12 = 0xdc - (iStack8 >> 1); - uStack16 = 0x99 - (iStack4 >> 1); - if (DAT_80048500 == 0) { - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puVar3,(int *)&uStack12,(int *)&uStack16,pbStack20,DAT_80040ee8, - (int)DAT_80040ee4,0xffffffff,(int)sVar4,(int)sVar5,0,0); - } - else { - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0AE958(puVar3,&uStack12,&uStack16,pbStack20,DAT_80040ee8,(int)DAT_80040ee4, - 0xffffffff,0x8000ff,(int)sVar4,(int)sVar5,0,0); - } - if (((bVar6 == false) || (bVar6 == true)) || ((bVar6 == true || (bVar6 == true)))) { - pbStack20 = (byte *)FUN_7f0c2a88(0x9c77); - } - loc_7F0AEB50(&iStack4,&iStack8,pbStack20,DAT_80040ee8,DAT_80040ee4,0); - uStack12 = 0xdc - (iStack8 >> 1); - uStack16 = 0xb1 - (iStack4 >> 1); - if (DAT_80048500 == 0) { - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puStackX0,(int *)&uStack12,(int *)&uStack16,pbStack20,DAT_80040ee8, - (int)DAT_80040ee4,0xffffffff,(int)sVar4,(int)sVar5,0,0); - } - else { - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0AE958(puStackX0,&uStack12,&uStack16,pbStack20,DAT_80040ee8,(int)DAT_80040ee4, - 0xffffffff,0x8000ff,(int)sVar4,(int)sVar5,0,0); - } - return puStackX0; -} - - - -void FUN_7f018824(longlong param_1) - -{ - if (param_1 != 0) { - DAT_8002b628 = 0; - DAT_8002b63c = (int)param_1; - return; - } - DAT_8002b628 = 1; - DAT_8002b63c = (int)param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f018850(void) - -{ - uint uVar2; - int iVar3; - int iVar4; - longlong lVar1; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - int *piVar5; - int *piVar6; - int *piVar7; - int *piVar8; - float fVar9; - int local_8c [10]; - int local_64 [4]; - undefined4 local_54; - undefined4 local_50; - int local_4c; - uint local_48; - ushort **local_40; - undefined *local_3c; - undefined *local_38; - int local_34; - int local_30; - int local_2c; - uint auStack40 [4]; - float local_18; - undefined4 local_14; - undefined4 local_10; - int local_8; - int local_4; - - local_4 = DAT_8002a990; - local_18 = DAT_8002ba6c; - local_14 = DAT_8002ba70; - local_10 = DAT_8002ba74; - local_3c = NULL; - local_48 = FUN_7000a460(); - local_48 &= 1; - if ((DAT_8002b63c != 0) && (DAT_8002b628 == 0)) { - FUN_7000704c(0x7fff); - DAT_8002438c = 0; - FUN_70006e8c(2); - } - DAT_8002b630 = 0; - if (-1 < DAT_8002b8fc) { - DAT_8002b630 = 1; - while (-1 < (int)(&DAT_8002b8fc)[DAT_8002b630 * 4]) { - DAT_8002b630 += 1; - } - } - DAT_8002b62c = FUN_7000a460(); - DAT_8002b62c %= DAT_8002b630; - local_2c = *(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14); - local_30 = *(int *)(&DAT_8002b644 + DAT_8002b628 * 0x14); - local_4c = *(int *)(&DAT_8002b908 + DAT_8002b62c * 0x10); - if (DAT_8002b630 == 0) { - trap(0x1c00); - } - if (local_2c == 0x16) { - uVar2 = FUN_7000a460(); - if (true) { - switch(uVar2 % 5) { - case 1: - local_30 = 0x4b; - local_2c = 0x17; - break; - case 2: - local_30 = 0x4b; - local_2c = 0x18; - break; - case 3: - local_30 = 0x4b; - local_2c = 0x19; - break; - case 4: - local_30 = 0x4e; - local_2c = 5; - } - } - } - else { - if (local_2c == 0x10) { - uVar2 = FUN_7000a460(); - if ((uVar2 & 1) != 0) { - local_2c = 0x4f; - } - } - else { - if ((local_2c == 9) && (uVar2 = FUN_7000a460(), (uVar2 & 1) != 0)) { - local_2c = 8; - } - } - } - if (local_30 == -0x61) { - local_30 = FUN_7f023960(local_2c); - } - local_8 = 0x31160; - FUN_7f0d3128((local_4 + 0x3119fU | 0x3f) ^ 0x3f,0x1b8,0x14a); - sub_7F0CBAF4((int *)auStack40,local_4,0x19000); - iVar4 = local_2c; - local_38 = (&PTR_DAT_8003de40)[local_2c * 5]; - local_4 += 0x19000; - local_8 += -0x19000; - loc_7F0764EC((longlong)(int)local_38,(&PTR_s_CcamguardZ_8003de44)[local_2c * 5],(longlong)local_4, - local_8,auStack40); - iVar3 = FUN_7f0bdd38((&PTR_s_CcamguardZ_8003de44)[iVar4 * 5]); - iVar4 = local_30; - uVar2 = (iVar3 + 0x3fU | 0x3f) ^ 0x3f; - local_8 -= uVar2; - local_4 += uVar2; - if (-1 < local_30) { - local_3c = (&PTR_DAT_8003de40)[local_30 * 5]; - loc_7F0764EC((longlong)(int)local_3c,(&PTR_s_CcamguardZ_8003de44)[local_30 * 5], - (longlong)local_4,local_8,auStack40); - iVar4 = FUN_7f0bdd38((&PTR_s_CcamguardZ_8003de44)[iVar4 * 5]); - uVar2 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_8 -= uVar2; - local_4 += uVar2; - } - DAT_8002b634 = FUN_7f0237a8(local_2c,local_30,(longlong)(int)local_38,(longlong)(int)local_3c,0); - set_obj_instance_controller_scale(DAT_8002b634,0x3dcccccd); - if (local_4c == 0) { - DAT_8002b638 = 0; - } - else { - if (local_4c == 2) { - local_64[0] = DAT_8002ba78; - local_64[1] = DAT_8002ba7c; - local_64[3] = DAT_8002ba84; - local_64[2] = DAT_8002ba80; - local_54 = DAT_8002ba88; - local_50 = DAT_8002ba8c; - uVar2 = FUN_7000a460(); - iVar4 = local_64[uVar2 % 6]; - } - else { - piVar5 = &DAT_8002ba90; - piVar7 = local_8c; - do { - piVar6 = piVar5 + 3; - piVar8 = piVar7 + 3; - *piVar7 = *piVar5; - piVar7[1] = piVar5[1]; - piVar7[2] = piVar5[2]; - piVar5 = piVar6; - piVar7 = piVar8; - } while (piVar6 != (int *)0x8002bab4); - *piVar8 = iRam8002bab4; - uVar2 = FUN_7000a460(); - iVar4 = local_8c[uVar2 % 10]; - } - if ((iVar4 == 0xbe) && (local_34 = iVar4, lVar1 = FUN_7f01ec80(), iVar4 = local_34, lVar1 == 0)) - { - iVar4 = 0xbf; - } - if ((iVar4 == 0xbb) && (local_34 = iVar4, lVar1 = FUN_7f01ecd0(), iVar4 = local_34, lVar1 == 0)) - { - iVar4 = 0xbf; - } - if ((iVar4 == 0xd0) && (local_34 = iVar4, lVar1 = FUN_7f01ed20(), iVar4 = local_34, lVar1 == 0)) - { - iVar4 = 0xbf; - } - local_40 = (ushort **)(&PTR_DAT_8003a258)[iVar4 * 3]; - loc_7F0764EC((longlong)(int)local_40,(&PTR_s_Palarm1Z_8003a25c)[iVar4 * 3],(longlong)local_4, - local_8,auStack40); - FUN_7f0bdd38((&PTR_s_Palarm1Z_8003a25c)[iVar4 * 3]); - FUN_7f0762e4(local_40); - DAT_8002b638 = FUN_7f06c684(local_40); - set_obj_instance_controller_scale(DAT_8002b638,0x3dcccccd); - iVar4 = 3; - *(uint *)(DAT_8002b638 + 0x18) = DAT_8002b634; - if (local_48 != 0) { - iVar4 = 5; - } - *(undefined4 *)(DAT_8002b638 + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(DAT_8002b634 + 8) + 8) + iVar4 * 4); - } - sub_7F06CE84(DAT_8002b634,0x3dcccccd); - FUN_7f06d1fc(DAT_8002b634,&local_18,extraout_a2_lo,extraout_a3_lo); - FUN_7f06d32c(DAT_8002b634,0.00000000,extraout_a2_lo_00,extraout_a3_lo_00); - loc_7F06FF50(DAT_8002b634,0x3f000000,0.00000000); - FUN_7f070298(DAT_8002b634,*(undefined4 *)(&DAT_80029dac + (&DAT_8002b8fc)[DAT_8002b62c * 4] * 4), - (char)local_48,*(float *)(&DAT_8002b900 + DAT_8002b62c * 0x10), - *(undefined4 *)(&DAT_8002b904 + DAT_8002b62c * 0x10),0.00000000); - DAT_8002a90c = 0; - iVar4 = FUN_7000a460(); - fVar9 = (float)iVar4; - if (iVar4 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - _DAT_800695e4 = fVar9 * 0.00000000 * 80.00000000 + 70.00000000; - iVar4 = FUN_7000a460(); - fVar9 = (float)iVar4; - if (iVar4 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - _DAT_800695e8 = fVar9 * 0.00000000 * 80.00000000 + 70.00000000; - iVar4 = FUN_7000a460(); - fVar9 = (float)iVar4; - if (iVar4 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - _DAT_800695f0 = (fVar9 * 0.00000000 - 0.50000000) * DAT_80051b30; - iVar4 = FUN_7000a460(); - fVar9 = (float)iVar4; - if (iVar4 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - _DAT_800695f4 = (fVar9 * 0.00000000 - 0.50000000) * DAT_80051b34; - iVar4 = FUN_7000a460(); - fVar9 = (float)iVar4; - if (iVar4 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - _DAT_800695fc = fVar9 * 0.00000000 * 200.00000000 + -100.00000000; - iVar4 = FUN_7000a460(); - fVar9 = (float)iVar4; - if (iVar4 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - _DAT_800695e0 = _DAT_800695e4; - _DAT_800695ec = _DAT_800695f0; - _DAT_800695f8 = _DAT_800695fc; - _DAT_80069600 = fVar9 * 0.00000000 * 200.00000000 + -100.00000000; - _DAT_80069624 = 1; - _DAT_80069628 = 0; - _DAT_8006962c = 0; - _DAT_80069630 = 0; - return; -} - - - -void FUN_7f0190cc(void) - -{ - if (DAT_8002b634 != 0) { - FUN_7f06c9e8(DAT_8002b634); - } - if (DAT_8002b638 != 0) { - FUN_7f06c824(DAT_8002b638); - } - return; -} - - - -void loc_7F019310(undefined8 param_1,undefined8 param_2) - -{ - longlong lVar1; - uint uVar3; - ulonglong uVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - int iVar4; - - FUN_70004544(0x42380000,param_1,param_2); - FUN_70004650(0x41200000,0x44fa0000,extraout_a0,extraout_a1); - FUN_70004534(1); - FUN_70004590(DAT_80051b38,extraout_a0_00,extraout_a1_00); - FUN_7f09bd7c(0x1b8,0x14a); - FUN_7000443c(0x1b8,0x14a); - FUN_7f09bd98(0,0); - FUN_700044bc(0,0); - DAT_8002a90c += DAT_800483a4; - if (DAT_8002a90c < 0xb5) { - uVar2 = FUN_7000c410('\0',0xffff); - if ((uVar2 != 0) && (DAT_8002b63c == 0)) { - FUN_7f01a788(5,1); - } - return; - } - iVar4 = DAT_8002b628 + 1; -LAB_7f0191e0: - DAT_8002b628 = iVar4; - if (*(int *)(&DAT_8002b650 + DAT_8002b628 * 0x14) != 0) goto code_r0x7f019200; - iVar4 = *(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14); - goto LAB_7f01921c; -code_r0x7f019200: - iVar4 = DAT_8002b628 + 1; - if (DAT_8002b63c != 0) { - iVar4 = *(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14); -LAB_7f01921c: - if ((iVar4 == 0x27) && (lVar1 = FUN_7f01ecd0(), lVar1 == 0)) { - iVar4 = DAT_8002b628 + 1; - goto LAB_7f0191e0; - } - if ((*(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14) == 0x28) && - (lVar1 = FUN_7f01ecd0(), lVar1 == 0)) { - iVar4 = DAT_8002b628 + 1; - goto LAB_7f0191e0; - } - if ((*(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14) == 0xe) && - (lVar1 = FUN_7f01ecd0(), lVar1 == 0)) { - uVar3 = FUN_7000a460(); - if (false) { - trap(0x1c00); - } - if (uVar3 % 10000 != 0) { - iVar4 = DAT_8002b628 + 1; - goto LAB_7f0191e0; - } - } - if ((*(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14) == 0xd) && - (lVar1 = FUN_7f01ecd0(), lVar1 == 0)) { - uVar3 = FUN_7000a460(); - if (false) { - trap(0x1c00); - } - if (uVar3 % 10000 != 0) { - iVar4 = DAT_8002b628 + 1; - goto LAB_7f0191e0; - } - } - if ((*(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14) == 0xf) && - (lVar1 = FUN_7f01ed20(), lVar1 == 0)) { - uVar3 = FUN_7000a460(); - if (false) { - trap(0x1c00); - } - if (uVar3 % 10000 != 0) { - iVar4 = DAT_8002b628 + 1; - goto LAB_7f0191e0; - } - } - if ((*(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14) != 0xc) || - (lVar1 = FUN_7f01ed20(), lVar1 != 0)) { -LAB_7f01941c: - if (*(int *)(&DAT_8002b640 + DAT_8002b628 * 0x14) < 0) { - DAT_8002b628 = 0; - } - if (DAT_8002b628 < 1) { - if (DAT_8002b63c != 0) { - FUN_7f01a788(7,1); - FUN_7f00e420(0x11); - DAT_8002b63c = 0; - return; - } - FUN_7f0c15e0(); - return; - } - FUN_7f01a788(0x18,1); - return; - } - uVar3 = FUN_7000a460(); - if (false) { - trap(0x1c00); - } - if (uVar3 % 10000 == 0) goto LAB_7f01941c; - iVar4 = DAT_8002b628 + 1; - } - goto LAB_7f0191e0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * loc_7F01A2F8(undefined4 *param_1) - -{ - ushort *puVar1; - undefined4 *puVar3; - undefined8 uVar2; - undefined2 *puVar4; - uint *puVar5; - byte *pbVar6; - short sVar7; - short sVar8; - undefined8 extraout_a0; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a2_lo_04; - undefined4 extraout_a2_lo_05; - undefined4 uVar9; - undefined4 extraout_a2_lo_06; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - uint extraout_a3_lo_04; - float **ppfVar10; - float **ppfVar11; - float **ppfVar12; - float **ppfVar13; - int iVar14; - int iVar16; - longlong lVar15; - float fVar17; - float fVar18; - uint uVar19; - uint auStack368 [18]; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack268; - float fStack264; - int iStack256; - int iStack252; - int iStack248; - int iStack244; - float afStack240 [18]; - float *pfStack168; - undefined4 uStack164; - undefined4 uStack160; - undefined4 *puStack156; - undefined4 uStack152; - undefined4 uStack120; - float afStack104 [17]; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = (float)DAT_8002bab8; - fStack8 = (float)DAT_8002babc; - fStack4 = (float)DAT_8002bac0; - fStack24 = DAT_8002bac4; - fStack20 = DAT_8002bac8; - fStack16 = DAT_8002bacc; - fStack36 = DAT_8002bad0; - fStack32 = DAT_8002bad4; - fStack28 = DAT_8002bad8; - ppfVar12 = (float **)&DAT_8002badc; - ppfVar10 = &pfStack168; - do { - ppfVar13 = ppfVar12 + 3; - ppfVar11 = ppfVar10 + 3; - *ppfVar10 = *ppfVar12; - ppfVar10[1] = ppfVar12[1]; - ppfVar10[2] = ppfVar12[2]; - ppfVar12 = ppfVar13; - ppfVar10 = ppfVar11; - } while (ppfVar13 != (float **)0x8002bb18); - *ppfVar11 = pfRam8002bb18; - fStack284 = DAT_8002bb1c; - fStack280 = (float)DAT_8002bb20; - fStack264 = (float)DAT_8002a90c / 180.00000000; - fStack276 = (float)DAT_8002bb24; - if ((DAT_8002a90c < 0) || (0xb3 < DAT_8002a90c)) { - fStack268 = 0.00000000; - } - else { - if (DAT_8002a90c < 0x1e) { - fStack268 = (float)DAT_8002a90c / 30.00000000; - } - else { - if (DAT_8002a90c < 0x97) { - fStack268 = 1.00000000; - } - else { - fStack268 = (float)(0xb4 - DAT_8002a90c) / 30.00000000; - } - } - } - puVar3 = FUN_700046d0(param_1,0,0,0); - puStack156 = insert_generic_fillrect(puVar3); - _DAT_800695e0 = (_DAT_800695e8 - _DAT_800695e4) * fStack264 + _DAT_800695e4; - _DAT_800695ec = (_DAT_800695f4 - _DAT_800695f0) * fStack264 + _DAT_800695f0; - _DAT_800695f8 = (_DAT_80069600 - _DAT_800695fc) * fStack264 + _DAT_800695fc; - if (_DAT_800695ec < 0.00000000) { - _DAT_800695ec = _DAT_800695ec + DAT_80051b3c; - } - fVar17 = func_7F057FC4(_DAT_800695ec); - fVar18 = FUN_7f0583c0(_DAT_800695ec); - fStack8 = _DAT_800695f8; - fStack12 = fVar18 * DAT_80051b40 * _DAT_800695e0 + _DAT_800695e0 * fVar17; - fVar17 = FUN_7f0583c0(_DAT_800695ec); - fVar18 = func_7F057FC4(_DAT_800695ec); - fStack4 = _DAT_800695e0 * fVar17 - fVar18 * DAT_80051b44 * _DAT_800695e0; - fVar17 = FUN_7f0583c0(_DAT_800695ec); - fStack24 = fStack24 + fVar17 * DAT_80051b48 * _DAT_800695e0; - fVar17 = func_7F057FC4(_DAT_800695ec); - fStack16 = fStack16 + -fVar17 * DAT_80051b4c * _DAT_800695e0; - uVar2 = FUN_7f0be2a8(2); - guLookAtReflect(auStack368,uVar2,0,0,0x457a0000,0,0,0,0,0x3f800000,0); - *puStack156 = 0xbc000002; - puStack156[1] = 0x80000040; - puStack156[2] = 0x3860010; - puStack156[3] = 0x8002a9b8; - puStack156[4] = 0x3880010; - puStack156[5] = 0x8002a9b0; - puStack156[6] = 0x3840010; - puStack156[7] = (int)uVar2; - puStack156[9] = (int)uVar2 + 0x10; - puStack156[8] = 0x3820010; - puStack156 = puStack156 + 10; - loc_7F070F58(DAT_8002b634,DAT_800483a4,1); - FUN_7f06c9f0(1); - FUN_7f0745b8(0); - FUN_7f06dca0(DAT_8002b634,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - if ((DAT_8002b638 != 0) && - (puVar1 = **(ushort ***)(*(int *)(DAT_8002b638 + 8) + 8), puVar1 != NULL)) { - puVar4 = (undefined2 *)loc_7F06C888(DAT_8002b638,puVar1); - *puVar4 = 0; - } - if ((DAT_8002b638 != 0) && - (puVar1 = *(ushort **)(*(int *)(*(int *)(DAT_8002b638 + 8) + 8) + 8), puVar1 != NULL)) { - puVar3 = (undefined4 *)loc_7F06C888(DAT_8002b638,puVar1); - *puVar3 = 0; - } - uStack152 = FUN_7f0be2c4((int)*(short *)(*(int *)(DAT_8002b634 + 8) + 0xe) << 6); - init_0x40_bytes_data_at_address_last_word_1_0(afStack104); - pfStack168 = afStack104; - FUN_7f06f8e8(&pfStack168,DAT_8002b634,extraout_a2_lo_00,extraout_a3_lo_00); - FUN_7f06d188(DAT_8002b634,&fStack296,extraout_a2_lo_01,extraout_a3_lo_01); - if (_DAT_80069624 != 0) { - _DAT_8006962c = fStack292; - } - fStack284 = (fStack296 - _DAT_80069628) / DAT_800483b4; - fStack280 = (fStack292 - _DAT_8006962c) / DAT_800483b4; - fStack276 = (fStack288 - _DAT_80069630) / DAT_800483b4; - if (_DAT_80069624 != 0) { - _DAT_80069648 = fStack284 / DAT_80051b50; - _DAT_8006964c = fStack280 / DAT_80051b50; - _DAT_80069650 = fStack276 / DAT_80051b50; - } - if (0 < DAT_800483a4) { - iVar16 = 1; - _DAT_80069648 = DAT_80051b58 * _DAT_80069648; - if (1 < DAT_800483a4) { - do { - iVar16 += 1; - _DAT_8006964c = fStack280 + DAT_80051b58 * _DAT_8006964c; - _DAT_80069650 = fStack276 + DAT_80051b58 * _DAT_80069650; - _DAT_80069648 = DAT_80051b58 * (fStack284 + _DAT_80069648); - } while (iVar16 < DAT_800483a4); - } - _DAT_80069648 = fStack284 + _DAT_80069648; - _DAT_8006964c = fStack280 + DAT_80051b58 * _DAT_8006964c; - _DAT_80069650 = fStack276 + DAT_80051b58 * _DAT_80069650; - } - _DAT_80069638 = _DAT_80069648 * DAT_80051b54; - _DAT_8006963c = _DAT_8006964c * DAT_80051b54; - _DAT_80069640 = _DAT_80069650 * DAT_80051b54; - _DAT_80069628 = _DAT_80069628 + _DAT_80069638 * DAT_800483b4; - _DAT_8006962c = _DAT_8006962c + _DAT_8006963c * DAT_800483b4; - _DAT_80069630 = _DAT_80069630 + _DAT_80069640 * DAT_800483b4; - FUN_7f058994(*(float **)(DAT_8002b634 + 0xc),&fStack284); - fStack284 = fStack284 - _DAT_80069628; - fStack280 = fStack280 - _DAT_8006962c; - fStack276 = fStack276 - _DAT_80069630; - if (_DAT_80069624 != 0) { - _DAT_80069618 = fStack284 / DAT_80051b64; - _DAT_80069624 = 0; - _DAT_8006961c = fStack280 / DAT_80051b64; - _DAT_80069620 = fStack276 / DAT_80051b64; - } - if (0 < DAT_800483a4) { - iVar16 = 1; - _DAT_80069618 = DAT_80051b60 * _DAT_80069618; - if (1 < DAT_800483a4) { - do { - iVar16 += 1; - _DAT_8006961c = fStack280 + DAT_80051b60 * _DAT_8006961c; - _DAT_80069620 = fStack276 + DAT_80051b60 * _DAT_80069620; - _DAT_80069618 = DAT_80051b60 * (fStack284 + _DAT_80069618); - } while (iVar16 < DAT_800483a4); - } - _DAT_80069618 = fStack284 + _DAT_80069618; - _DAT_8006961c = fStack280 + DAT_80051b60 * _DAT_8006961c; - _DAT_80069620 = fStack276 + DAT_80051b60 * _DAT_80069620; - } - lVar15 = 0; - _DAT_80069608 = _DAT_80069618 * DAT_80051b64; - _DAT_8006960c = _DAT_8006961c * DAT_80051b64; - _DAT_80069610 = _DAT_80069620 * DAT_80051b64; - fStack284 = _DAT_80069628 + _DAT_80069608; - fStack280 = (_DAT_8006962c + _DAT_8006960c) - 10.00000000; - fStack276 = _DAT_80069630 + _DAT_80069610; - fStack24 = fStack24 + fStack284; - fStack12 = fStack12 + _DAT_80069628; - fStack16 = fStack16 + fStack276; - fStack8 = fStack8 + _DAT_8006962c + 52.50000000; - fStack20 = fStack20 + fStack280; - fStack4 = fStack4 + _DAT_80069630; - FUN_7f059bb4(afStack104,fStack12,fStack8,fStack4,fStack24,fStack20,fStack16,fStack36,fStack32, - fStack28); - pfStack168 = afStack104; - uStack152 = FUN_7f0be2c4((int)*(short *)(*(int *)(DAT_8002b634 + 8) + 0xe) << 6); - FUN_7f06f8e8(&pfStack168,DAT_8002b634,extraout_a2_lo_02,extraout_a3_lo_02); - uVar9 = extraout_a2_lo_03; - uVar19 = DAT_8002b638; - if (DAT_8002b638 != 0) { - pfStack168 = (float *)FUN_7f06cc50(DAT_8002b634,*(ushort **)(DAT_8002b638 + 0x1c),0); - if (*(int *)(DAT_8002b638 + 0x1c) == *(int *)(*(int *)(*(int *)(DAT_8002b634 + 8) + 8) + 0x14)) - { - FUN_7f058ba8(DAT_80051b68,extraout_a0,afStack240); - FUN_7f058588(pfStack168,afStack240); - iVar16 = *(int *)(DAT_8002b638 + 8); - pfStack168 = afStack240; - } - else { - iVar16 = *(int *)(DAT_8002b638 + 8); - } - uStack152 = FUN_7f0be2c4((int)*(short *)(iVar16 + 0xe) << 6); - FUN_7f06f838(&pfStack168,DAT_8002b638,extraout_a2_lo_04,extraout_a3_lo_03); - uVar9 = extraout_a2_lo_05; - uVar19 = extraout_a3_lo_04; - } - uStack120 = 7; - uStack164 = 1; - uStack160 = 3; - loc_7F074778((int)&pfStack168,DAT_8002b634,uVar9,uVar19); - if (DAT_8002b638 != 0) { - loc_7F074778((int)&pfStack168,DAT_8002b638,extraout_a2_lo_06,DAT_8002b638); - } - puVar3 = puStack156; - FUN_7f06c9f0(0); - iVar16 = 0; - if (0 < *(short *)(*(int *)(DAT_8002b634 + 8) + 0xe)) { - iVar14 = *(int *)(DAT_8002b634 + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar14 + iVar16),afStack240); - FUN_7f0591bc((int)afStack240,(uint *)(*(int *)(DAT_8002b634 + 0xc) + (int)lVar15 * 0x40)); - lVar15 = (longlong)((int)lVar15 + 1); - iVar16 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_8002b634 + 8) + 0xe) <= lVar15) break; - iVar14 = *(int *)(DAT_8002b634 + 0xc); - } - } - if (DAT_8002b638 != 0) { - lVar15 = 0; - iVar16 = 0; - if (0 < *(short *)(*(int *)(DAT_8002b638 + 8) + 0xe)) { - iVar14 = *(int *)(DAT_8002b638 + 0xc); - while( true ) { - loc_7F058030((undefined4 *)(iVar14 + iVar16),afStack240); - FUN_7f0591bc((int)afStack240,(uint *)(*(int *)(DAT_8002b638 + 0xc) + (int)lVar15 * 0x40)); - lVar15 = (longlong)((int)lVar15 + 1); - iVar16 += 0x40; - if ((longlong)*(short *)(*(int *)(DAT_8002b638 + 8) + 0xe) <= lVar15) break; - iVar14 = *(int *)(DAT_8002b638 + 0xc); - } - } - } - *puVar3 = 0xed000000; - puVar3[1] = 0x6e0528; - puVar3[2] = 0xe7000000; - puVar3[3] = 0; - puVar3[4] = 0xba001402; - puVar3[5] = 0; - puVar3[7] = 0xc0; - puVar3[6] = 0xba000602; - puVar3[8] = 0xba001301; - puVar3[9] = 0; - puVar3[10] = 0xb9000002; - puVar3[0xb] = 0; - puVar3[0xc] = 0xba001001; - puVar3[0xd] = 0; - puVar3[0xf] = 0x2000; - puVar3[0xe] = 0xba000c02; - puVar3[0x10] = 0xba000903; - puVar3[0x11] = 0xc00; - puVar3[0x12] = 0xba000e02; - puVar3[0x13] = 0; - puVar3[0x15] = 0x504340; - puVar3[0x14] = 0xb900031d; - puVar3[0x16] = 0xfcffffff; - puVar3[0x17] = 0xfffdf6fb; - puVar3[0x18] = 0xfa000000; - fVar17 = fStack268 * 255.00000000; - puVar3[0x19] = 0xffU - (int)fVar17 & 0xff; - puVar3[0x1b] = 0; - puVar3[0x1a] = 0xf66e0528; - puVar3[0x1d] = 0; - puVar3[0x1c] = 0xe7000000; - puVar3[0x1f] = 0x40; - puVar3[0x1e] = 0xba000602; - puVar3[0x21] = 0x80000; - puVar3[0x20] = 0xba001301; - puVar3[0x23] = 0x10000; - puVar3[0x22] = 0xba001001; - puVar5 = loc_7F0ACED4(puVar3 + 0x24); - if (DAT_8002b63c == 0) { - pbVar6 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(DAT_8002b628 * 0x14 + -0x7ffd49b8)); - loc_7F0AEB50(&iStack256,&iStack252,pbVar6,DAT_80040ee8,DAT_80040ee4,0); - iVar16 = iStack252; - if (iStack252 < 0) { - iVar16 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar16 >> 1); - iStack248 = 0x6c; - puVar3 = microcode_constructor_related_to_menus - (puVar5,(longlong)iStack244,0x6c,(longlong)(iStack244 + iStack252 + 1), - iStack256 + 0x6d,0); - sVar7 = get_video2_settings_txtClipW(); - sVar8 = get_video2_settings_txtClipH(); - if (false) { - fVar18 = ROUND(fVar17); - } - else { - fVar18 = FLOOR(fVar17); - } - uVar19 = (uint)fVar18; - if (true) { - if ((int)uVar19 < 0) goto LAB_7f01a284; - } - else { - if (false) { - fVar18 = ROUND(fVar17 - 2147483648.00000000); - } - else { - fVar18 = FLOOR(fVar17 - 2147483648.00000000); - } - if (false) { -LAB_7f01a284: - uVar19 = 0xffffffff; - } - else { - uVar19 = (int)fVar18 | 0x80000000; - } - } - puVar5 = loc_7F0ADD78(puVar3,&iStack244,&iStack248,pbVar6,DAT_80040ee8,(int)DAT_80040ee4, - uVar19 | 0xffffff00,(int)sVar7,(int)sVar8,0,0); - } - if (false) { - fVar18 = ROUND(fVar17); - } - else { - fVar18 = FLOOR(fVar17); - } - uVar19 = (uint)fVar18; - if (true) { - if (-1 < (int)uVar19) goto LAB_7f01a364; - } - else { - if (false) { - fVar17 = ROUND(fVar17 - 2147483648.00000000); - } - else { - fVar17 = FLOOR(fVar17 - 2147483648.00000000); - } - if (true) { - uVar19 = (int)fVar17 | 0x80000000; - goto LAB_7f01a364; - } - } - uVar19 = 0xffffffff; -LAB_7f01a364: - pbVar6 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(&DAT_8002b64a + DAT_8002b628 * 0x14)); - loc_7F0AEB50(&iStack256,&iStack252,pbVar6,DAT_80040ee8,DAT_80040ee4,0); - iVar16 = iStack252; - if (iStack252 < 0) { - iVar16 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar16 >> 1); - iStack248 = 0x98; - puVar3 = microcode_constructor_related_to_menus - (puVar5,(longlong)iStack244,0x98,(longlong)(iStack244 + iStack252 + 1), - iStack256 + 0x99,0); - sVar7 = get_video2_settings_txtClipW(); - sVar8 = get_video2_settings_txtClipH(); - puVar5 = loc_7F0ADD78(puVar3,&iStack244,&iStack248,pbVar6,DAT_80040ee8,(int)DAT_80040ee4, - uVar19 | 0xffffff00,(int)sVar7,(int)sVar8,0,0); - pbVar6 = (byte *)FUN_7f0c2a88((uint)*(ushort *)(DAT_8002b628 * 0x14 + -0x7ffd49b4)); - loc_7F0AEB50(&iStack256,&iStack252,pbVar6,DAT_80040ee8,DAT_80040ee4,0); - iVar16 = iStack252; - if (iStack252 < 0) { - iVar16 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar16 >> 1); - iStack248 = 0xae; - puVar3 = microcode_constructor_related_to_menus - (puVar5,(longlong)iStack244,0xae,(longlong)(iStack244 + iStack252 + 1), - iStack256 + 0xaf,0); - sVar7 = get_video2_settings_txtClipW(); - sVar8 = get_video2_settings_txtClipH(); - puVar5 = loc_7F0ADD78(puVar3,&iStack244,&iStack248,pbVar6,DAT_80040ee8,(int)DAT_80040ee4, - uVar19 | 0xffffff00,(int)sVar7,(int)sVar8,0,0); - return puVar5; -} - - - -void FUN_7f01a550(void) - -{ - ulonglong uVar1; - byte bVar2; - - bVar2 = 0; - uVar1 = FUN_7000c370('\x02',2); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\x02',1); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\x02',8); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\x02',4); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\x02',0x200); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\x02',0x100); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\x02',0x800); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\x02',0x400); - if (uVar1 != 0) { - bVar2 = 7; - } - } - else { - bVar2 = 6; - } - } - else { - bVar2 = 5; - } - } - else { - bVar2 = 4; - } - } - else { - bVar2 = 3; - } - } - else { - bVar2 = 2; - } - } - else { - bVar2 = 1; - } - } - FUN_7f0d3ca4(bVar2); - return; -} - - - -void FUN_7f01a634(void) - -{ - return; -} - - - -void FUN_7f01a63c(undefined8 param_1,undefined8 param_2) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - - FUN_70004544(0x42700000,param_1,param_2); - FUN_70004590(DAT_80051b6c,extraout_a0,extraout_a1); - FUN_70004650(0x42c80000,DAT_80051b70,extraout_a0_00,extraout_a1_00); - FUN_70004534(0); - FUN_7f0d4054(); - return; -} - - - -undefined4 * FUN_7f01a694(undefined4 *param_1) - -{ - undefined4 *puVar1; - - puVar1 = insert_imageDL(param_1); - *puVar1 = 0xba001402; - puVar1[5] = 0x204; - puVar1[4] = 0xb6000000; - puVar1[7] = 0xfffcf87c; - puVar1[2] = 0xb900031d; - puVar1[3] = 0x552048; - puVar1[6] = 0xfcffffff; - puVar1[8] = 0xba000c02; - puVar1[1] = 0; - puVar1[9] = 0; - puVar1[10] = 0xfd500000; - puVar1[0xb] = 0x8002bb30; - puVar1[0xd] = 0x7000000; - puVar1[0xc] = 0xf5000300; - puVar1[0xe] = 0xe6000000; - puVar1[0xf] = 0; - puVar1[0x10] = 0xf0000ff0; - puVar1[0x11] = 0x701cff0; - puVar1[0x12] = 0xe7000000; - puVar1[0x13] = 0; - puVar1[0x15] = 0x8000; - puVar1[0x14] = 0xba000e02; - puVar1 = loc_7F0D3554(puVar1 + 0x16); - return puVar1; -} - - - -// WARNING: Instruction at (ram,0x7f01a79c) overlaps instruction at (ram,0x7f01a798) -// - -void FUN_7f01a788(longlong param_1,longlong param_2) - -{ - if ((param_1 == 0xb) || (param_1 == 0x19)) { - DAT_8002a988 = 1; - } - if (param_2 == 0) { - DAT_8002a908 = (int)param_1; - return; - } - DAT_8002a904 = (int)param_1; - return; -} - - - -ulonglong FUN_7f01a7d0(undefined8 param_1,undefined8 param_2) - -{ - undefined *puVar2; - ulonglong uVar1; - int **ppiVar3; - int iVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - ulonglong extraout_a0_01; - 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 extraout_a1_51; - undefined8 extraout_a1_52; - undefined8 extraout_a1_53; - undefined8 extraout_a1_54; - undefined8 uVar5; - - if (DAT_8002a900 == 0x17) { - if (DAT_8002a984 == 0) { - if ((DAT_8002a988 != 0) && - (puVar2 = (undefined *)get_video_settings2_frameb(), param_1 = extraout_a0_00, - param_2 = extraout_a1_00, puVar2 == &cfb_16_a)) { - DAT_8002a980 = 0; - DAT_8002a988 = 0; - param_1 = extraout_a0_00; - param_2 = extraout_a1_00; - } - } - else { - puVar2 = (undefined *)get_video_settings2_frameb(); - param_1 = extraout_a0; - param_2 = extraout_a1; - if (puVar2 == &cfb_16_b) { - DAT_8002a980 = 1; - DAT_8002a984 = 0; - param_1 = extraout_a0; - param_2 = extraout_a1; - } - } - } - if (DAT_8002a980 == 0) { - FUN_70004590(DAT_80051b78,param_1,param_2); - set_video2_text_clip_size(0x140,0xf0); - set_video2_settings_offset_18_1A(0x140,0xf0); - FUN_7f09bd7c(0x140,0xf0); - FUN_7000443c(0x140,0xf0); - FUN_7f09bd98(0,0); - FUN_700044bc(0,0); - uVar5 = extraout_a1_04; - } - else { - puVar2 = (undefined *)get_video_settings2_frameb(); - uVar1 = ZEXT48(&DAT_80030000); - uVar5 = extraout_a1_01; - if (puVar2 == &cfb_16_b) { - set_video_settings2_frameb(DAT_8002a994); - uVar1 = extraout_a0_01; - uVar5 = extraout_a1_02; - } - FUN_70004590(DAT_80051b74,uVar1,uVar5); - set_video2_text_clip_size(0x1b8,0x14a); - set_video2_settings_offset_18_1A(0x1b8,0x14a); - FUN_7f09bd7c(0x1b8,0x14a); - FUN_7000443c(0x1b8,0x14a); - FUN_7f09bd98(0,0); - FUN_700044bc(0,0); - uVar5 = extraout_a1_03; - } - if (((-1 < DAT_8002a904) || (-1 < DAT_8002a908)) && (DAT_8002a900 != 0x17)) { - if (true) { - switch(DAT_8002a900) { - case 0: - FUN_7f00a6d0(); - uVar5 = extraout_a1_05; - break; - case 1: - FUN_7f00acc4(); - uVar5 = extraout_a1_06; - break; - case 2: - FUN_7f00b0c4(); - uVar5 = extraout_a1_07; - break; - case 3: - FUN_7f00b1b0(); - uVar5 = extraout_a1_08; - break; - case 4: - FUN_7f00b324(); - uVar5 = extraout_a1_09; - break; - case 5: - FUN_7f00bb00(); - uVar5 = extraout_a1_10; - break; - case 6: - FUN_7f00d2b0(); - uVar5 = extraout_a1_11; - break; - case 7: - FUN_7f00ded0(); - uVar5 = extraout_a1_12; - break; - case 8: - FUN_7f00e7f8(); - uVar5 = extraout_a1_13; - break; - case 9: - FUN_7f00f3ac(); - uVar5 = extraout_a1_14; - break; - case 10: - FUN_7f0156f0(); - uVar5 = extraout_a1_15; - break; - case 0xc: - FUN_7f0161b8(); - uVar5 = extraout_a1_16; - break; - case 0xd: - FUN_7f016780(); - uVar5 = extraout_a1_17; - break; - case 0xe: - FUN_7f010880(); - uVar5 = extraout_a1_18; - break; - case 0xf: - FUN_7f011f0c(); - uVar5 = extraout_a1_20; - break; - case 0x10: - FUN_7f012efc(); - uVar5 = extraout_a1_22; - break; - case 0x11: - FUN_7f013640(); - uVar5 = extraout_a1_23; - break; - case 0x12: - FUN_7f013e7c(); - uVar5 = extraout_a1_24; - break; - case 0x13: - FUN_7f014860(); - uVar5 = extraout_a1_19; - break; - case 0x14: - FUN_7f014df0(); - uVar5 = extraout_a1_21; - break; - case 0x15: - loc_7F017C50(); - uVar5 = extraout_a1_25; - break; - case 0x16: - FUN_7f0184f0(); - uVar5 = extraout_a1_26; - break; - case 0x18: - FUN_7f0190cc(); - uVar5 = extraout_a1_27; - break; - case 0x19: - FUN_7f01a634(); - uVar5 = extraout_a1_28; - } - } - if (-1 < DAT_8002a904) { - DAT_8002a900 = 0x17; - FUN_7f00ab0c(); - uVar5 = extraout_a1_29; - } - } - iVar4 = DAT_8002a908; - uVar1 = SEXT48(DAT_8002a908); - if (-1 < (longlong)uVar1) { - DAT_8002a900 = DAT_8002a908; - DAT_8002a908 = -1; - if (true) { - switch(iVar4) { - case 0: - uVar1 = FUN_7f00a608(); - uVar5 = extraout_a1_30; - break; - case 1: - uVar1 = FUN_7f00abe8(); - uVar5 = extraout_a1_31; - break; - case 2: - ppiVar3 = FUN_7f00b084(); - uVar1 = SEXT48((int)ppiVar3); - uVar5 = extraout_a1_32; - break; - case 3: - uVar1 = FUN_7f00b174(); - uVar5 = extraout_a1_33; - break; - case 4: - uVar1 = FUN_7f00b278(); - uVar5 = extraout_a1_34; - break; - case 5: - uVar1 = FUN_7f00ba08(); - uVar5 = extraout_a1_35; - break; - case 6: - uVar1 = FUN_7f00d270(); - uVar5 = extraout_a1_36; - break; - case 7: - uVar1 = FUN_7f00de70(); - uVar5 = extraout_a1_37; - break; - case 8: - uVar1 = FUN_7f00e7c0(); - uVar5 = extraout_a1_38; - break; - case 9: - uVar1 = FUN_7f00f340(); - uVar5 = extraout_a1_39; - break; - case 10: - uVar1 = FUN_7f0156a4(); - uVar5 = extraout_a1_40; - break; - case 0xb: - uVar1 = FUN_7f016114(); - uVar5 = extraout_a1_41; - break; - case 0xc: - uVar1 = FUN_7f016144(); - uVar5 = extraout_a1_42; - break; - case 0xd: - ppiVar3 = FUN_7f01672c(); - uVar1 = SEXT48((int)ppiVar3); - uVar5 = extraout_a1_43; - break; - case 0xe: - uVar1 = FUN_7f01077c(); - uVar5 = extraout_a1_44; - break; - case 0xf: - uVar1 = FUN_7f011c7c(); - uVar5 = extraout_a1_46; - break; - case 0x10: - uVar1 = FUN_7f012e70(); - uVar5 = extraout_a1_48; - break; - case 0x11: - uVar1 = FUN_7f0135b4(); - uVar5 = extraout_a1_49; - break; - case 0x12: - uVar1 = FUN_7f013e28(); - uVar5 = extraout_a1_50; - break; - case 0x13: - uVar1 = FUN_7f014814(); - uVar5 = extraout_a1_45; - break; - case 0x14: - uVar1 = FUN_7f014d70(); - uVar5 = extraout_a1_47; - break; - case 0x15: - uVar1 = FUN_7f017c00(); - uVar5 = extraout_a1_51; - break; - case 0x16: - uVar1 = FUN_7f0184e8(); - uVar5 = extraout_a1_52; - break; - case 0x18: - uVar1 = FUN_7f018850(); - uVar5 = extraout_a1_53; - break; - case 0x19: - uVar1 = FUN_7f01a550(); - uVar5 = extraout_a1_54; - } - } - } - switch(DAT_8002a900) { - case 0: - uVar1 = FUN_7f00a6fc(ZEXT48(&DAT_8002a900),uVar5); - break; - case 1: - uVar1 = FUN_7f00ace8(ZEXT48(&DAT_8002a900),uVar5); - break; - case 2: - uVar1 = FUN_7f00b0cc(); - break; - case 3: - uVar1 = FUN_7f00b1d0(); - break; - case 4: - uVar1 = FUN_7f00b350(ZEXT48(&DAT_8002a900),uVar5); - break; - case 5: - uVar1 = loc_7F00C368(); - break; - case 6: - uVar1 = FUN_7f00d2b8(); - break; - case 7: - iVar4 = loc_7F00E3C0(ZEXT48(&DAT_8002a900),uVar5); - uVar1 = SEXT48(iVar4); - break; - case 8: - iVar4 = FUN_7f00e800(); - uVar1 = SEXT48(iVar4); - break; - case 9: - iVar4 = FUN_7f00f3b4(ZEXT48(&DAT_8002a900),uVar5); - uVar1 = SEXT48(iVar4); - break; - case 10: - iVar4 = FUN_7f01574c(ZEXT48(&DAT_8002a900),uVar5); - uVar1 = SEXT48(iVar4); - break; - case 0xb: - iVar4 = FUN_7f0c0914(); - if (iVar4 == 0) { - if (DAT_8002a930 == 1) { - uVar1 = FUN_7f01a788(0xe,1); - } - else { - if (DAT_8002a934 == 0x36) { - FUN_7f018824(1); - uVar1 = FUN_7f01a788(0x18,1); - } - else { - uVar1 = FUN_7f01a788(0xc,1); - } - } - } - else { - uVar1 = FUN_7f01a788(0,1); - } - break; - case 0xc: - iVar4 = FUN_7f0161c0(ZEXT48(&DAT_8002a900),uVar5); - uVar1 = SEXT48(iVar4); - break; - case 0xd: - iVar4 = FUN_7f016788(ZEXT48(&DAT_8002a900),uVar5); - uVar1 = SEXT48(iVar4); - break; - case 0xe: - iVar4 = loc_7F010F04(ZEXT48(&DAT_8002a900),uVar5); - uVar1 = SEXT48(iVar4); - break; - case 0xf: - iVar4 = FUN_7f011f14(); - uVar1 = SEXT48(iVar4); - break; - case 0x10: - iVar4 = FUN_7f012f04(); - uVar1 = SEXT48(iVar4); - break; - case 0x11: - iVar4 = FUN_7f013648(); - uVar1 = SEXT48(iVar4); - break; - case 0x12: - iVar4 = loc_7F014040(ZEXT48(&DAT_8002a900),uVar5); - uVar1 = SEXT48(iVar4); - break; - case 0x13: - iVar4 = loc_7F014A34(ZEXT48(&DAT_8002a900),uVar5); - uVar1 = SEXT48(iVar4); - break; - case 0x14: - uVar1 = loc_7F015124(ZEXT48(&DAT_8002a900),uVar5); - break; - case 0x15: - uVar1 = FUN_7f017d38(ZEXT48(&DAT_8002a900),uVar5); - break; - case 0x16: - uVar1 = FUN_7f0184f8(); - break; - case 0x17: - uVar1 = FUN_7f00ab20(ZEXT48(&DAT_8002a900),uVar5); - break; - case 0x18: - uVar1 = loc_7F019310(ZEXT48(&DAT_8002a900),uVar5); - break; - case 0x19: - uVar1 = FUN_7f01a63c(ZEXT48(&DAT_8002a900),uVar5); - } - return uVar1; -} - - - -uint * FUN_7f01b0b0(uint *param_1) - -{ - if (true) { - switch(DAT_8002a900) { - case 0: - param_1 = (uint *)FUN_7f00a900(param_1); - break; - case 1: - param_1 = FUN_7f00adb8(param_1); - break; - case 2: - param_1 = FUN_7f00b154(param_1); - break; - case 3: - param_1 = FUN_7f00b258(param_1); - break; - case 4: - param_1 = FUN_7f00b49c(param_1); - break; - case 5: - param_1 = loc_7F00D220(param_1); - break; - case 6: - param_1 = (uint *)loc_7F00DC9C(param_1); - break; - case 7: - param_1 = (uint *)loc_7F00E71C(param_1); - break; - case 8: - param_1 = (uint *)FUN_7f00edd8(param_1); - break; - case 9: - param_1 = (uint *)FUN_7f00f7d8(param_1); - break; - case 10: - param_1 = (uint *)loc_7F016048(param_1); - break; - case 0xc: - param_1 = (uint *)FUN_7f01649c(param_1); - break; - case 0xd: - param_1 = (uint *)loc_7F0173C4(param_1); - break; - case 0xe: - param_1 = (uint *)loc_7F011B54(param_1); - break; - case 0xf: - param_1 = loc_7F012DF4(param_1); - break; - case 0x10: - param_1 = FUN_7f0131bc(param_1); - break; - case 0x11: - param_1 = FUN_7f013a30(param_1); - break; - case 0x12: - param_1 = (uint *)loc_7F0146D0(param_1); - break; - case 0x13: - param_1 = (uint *)FUN_7f014af8(param_1); - break; - case 0x14: - param_1 = loc_7F0154D4(param_1); - break; - case 0x15: - param_1 = (uint *)FUN_7f01800c(param_1); - break; - case 0x16: - param_1 = FUN_7f018500(param_1); - break; - case 0x17: - param_1 = FUN_7f00abc8(param_1); - break; - case 0x18: - param_1 = loc_7F01A2F8(param_1); - break; - case 0x19: - param_1 = FUN_7f01a694(param_1); - } - } - return param_1; -} - - - -void loc_7F01B110(ushort *param_1,byte *param_2) - -{ - byte bVar1; - byte bVar2; - uint uVar3; - int iVar4; - ushort *puVar5; - - puVar5 = param_1 + 5; - iVar4 = (uint)*param_1 * (uint)param_1[1]; - bVar1 = *(byte *)puVar5; - while( true ) { - bVar2 = *(byte *)((int)puVar5 + 1); - puVar5 = puVar5 + 1; - uVar3 = (uint)bVar1; - iVar4 -= uVar3; - do { - uVar3 -= 1; - *param_2 = bVar2; - param_2 = param_2 + 1; - } while (0 < (int)uVar3); - if (iVar4 < 1) break; - bVar1 = *(byte *)puVar5; - } - return; -} - - - -void loc_7F01B1A0(ushort *param_1,ushort *param_2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - uint uVar4; - int iVar5; - ushort *puVar6; - - iVar5 = (uint)*param_1 * (uint)param_1[1]; - bVar1 = *(byte *)(param_1 + 6); - puVar6 = param_1 + 5; - while( true ) { - bVar2 = *(byte *)((int)puVar6 + 3); - bVar3 = *(byte *)((int)puVar6 + 1); - uVar4 = (uint)*(byte *)puVar6; - iVar5 -= uVar4; - do { - uVar4 -= 1; - *param_2 = (ushort)(((int)(uint)bVar2 >> 3) << 0xb) | (ushort)(((int)(uint)bVar1 >> 3) << 6) | - (ushort)(((int)(uint)bVar3 >> 3) << 1) | 1; - param_2 = param_2 + 1; - } while (0 < (int)uVar4); - if (iVar5 < 1) break; - bVar1 = *(byte *)(puVar6 + 3); - puVar6 = puVar6 + 2; - } - return; -} - - - -undefined4 * -loc_7F01B674(undefined4 *param_1,int param_2,longlong param_3,int *param_4,int *param_5) - -{ - float fVar1; - float fVar2; - int iVar3; - int iVar4; - int iVar5; - float fVar6; - uint uVar7; - uint uVar8; - uint uVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - - fVar2 = DAT_80051d20; - DAT_8002bb40 = (float)*param_4; - DAT_8002bb44 = (float)param_4[1]; - DAT_8002bb4c = (float)*param_5; - DAT_8002bb50 = (float)param_5[1]; - DAT_8002bb54 = (float)param_5[2]; - DAT_8002bb48 = (float)param_4[2]; - fVar12 = DAT_8002bb50 - DAT_8002bb44; - fVar13 = DAT_8002bb54 - DAT_8002bb48; - fVar11 = DAT_8002bb4c - DAT_8002bb40; - iVar5 = 1; - iVar3 = 0; - do { - iVar4 = iVar5; - fVar10 = (float)iVar3; - *param_1 = 0xfd900000; - param_1[1] = param_2; - param_1[3] = 0x7080200; - param_1[2] = 0xf5900000; - param_1[4] = 0xe6000000; - param_1[5] = 0; - param_1[7] = 0x70db026; - param_1[6] = 0xf3000000; - param_1[9] = 0; - param_1[8] = 0xe7000000; - param_1[0xb] = 0x80200; - param_1[10] = 0xf5886e00; - param_1[0xc] = 0xf2000000; - param_1[0xd] = 0x6dc000; - fVar6 = (fVar11 * fVar10) / fVar2 + DAT_8002bb40; - param_1[0xe] = 0xfa000000; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar7 = (uint)fVar1; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b604; - uVar7 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar7 < 0) { -LAB_7f01b604: - uVar7 = 0xffffffff; - } - } - fVar6 = DAT_8002bb44 + (fVar12 * fVar10) / fVar2; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar8 = (uint)fVar1; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b69c; - uVar8 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar8 < 0) { -LAB_7f01b69c: - uVar8 = 0xffffffff; - } - } - fVar6 = DAT_8002bb48 + (fVar13 * fVar10) / fVar2; - if (false) { - fVar10 = ROUND(fVar6); - } - else { - fVar10 = FLOOR(fVar6); - } - uVar9 = (uint)fVar10; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b738; - uVar9 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar9 < 0) { -LAB_7f01b738: - uVar9 = 0xffffffff; - } - } - param_1[0xf] = uVar7 << 0x18 | (uVar8 & 0xff) << 0x10 | (uVar9 & 0xff) << 8 | 0xff; - if (param_3 < 0) { - param_1[0x11] = (iVar3 + 0x10U & 0x3ff) << 2; - param_1[0x10] = (iVar3 + 0x11) * 4 - 1U & 0xfff | 0xe46df000; - param_1[0x13] = (uint)param_3 * -0x200000; - param_1[0x12] = 0xb4000000; - param_1[0x15] = 0x4000400; - param_1[0x14] = 0xb3000000; - } - else { - param_1[0x10] = (iVar3 + 0x11) * 4 - 1U & 0xfff | 0xe46df000; - param_1[0x11] = ((uint)param_3 & 0x3ff) << 0xe | (iVar3 + 0x10) * 4 & 0xfffU; - param_1[0x13] = 0; - param_1[0x12] = 0xb4000000; - param_1[0x15] = 0x4000400; - param_1[0x14] = 0xb3000000; - } - param_1 = param_1 + 0x16; - iVar5 = iVar4 + 1; - param_2 += 0x1b8; - iVar3 = iVar4; - if (299 < iVar5) { - return param_1; - } - } while( true ); -} - - - -void loc_7F01BFBC(short *param_1,int param_2) - -{ - float fVar1; - short sVar2; - short *psVar3; - int iVar4; - short sVar5; - float fVar6; - float fVar7; - undefined uVar8; - float fVar9; - - fVar1 = DAT_80051d30; - iVar4 = 0; - if (-1 < param_2) { - do { - fVar9 = ((float)iVar4 * fVar1) / (float)param_2; - fVar6 = func_7F057FC4(fVar9); - fVar7 = FUN_7f0583c0(fVar9); - sVar5 = (short)(int)(fVar6 * 64.00000000); - *param_1 = sVar5; - param_1[2] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0xff; - *(undefined *)((int)param_1 + 0xd) = 0xff; - *(undefined *)(param_1 + 7) = 0xff; - sVar2 = (short)(int)(fVar7 * -64.00000000); - param_1[1] = sVar2; - fVar6 = FUN_7f0583c0(fVar9); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01be00; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01be00: - uVar8 = 0xff; - } - } - *(undefined *)(param_1 + 6) = uVar8; - fVar6 = FUN_7f0583c0(fVar9); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01be98; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01be98: - uVar8 = 0xff; - } - } - *(undefined *)((int)param_1 + 0xd) = uVar8; - fVar6 = FUN_7f0583c0(fVar9); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01bf30; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01bf30: - uVar8 = 0xff; - } - } - *(undefined *)(param_1 + 7) = uVar8; - *(undefined *)((int)param_1 + 0xf) = 0; - psVar3 = param_1 + 8; - if ((iVar4 != 0) && (iVar4 < param_2)) { - *psVar3 = -sVar5; - param_1[9] = sVar2; - param_1[10] = 0; - param_1[0xb] = 0; - param_1[0xc] = 0; - param_1[0xd] = 0; - *(undefined *)(param_1 + 0xe) = 0xff; - *(undefined *)((int)param_1 + 0x1d) = 0xff; - *(undefined *)(param_1 + 0xf) = 0xff; - fVar6 = FUN_7f0583c0(fVar9); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01c004; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01c004: - uVar8 = 0xff; - } - } - *(undefined *)(param_1 + 0xe) = uVar8; - fVar6 = FUN_7f0583c0(fVar9); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01c09c; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01c09c: - uVar8 = 0xff; - } - } - *(undefined *)((int)param_1 + 0x1d) = uVar8; - fVar6 = FUN_7f0583c0(fVar9); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01c134; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01c134: - uVar8 = 0xff; - } - } - *(undefined *)(param_1 + 0xf) = uVar8; - *(undefined *)((int)param_1 + 0x1f) = 0; - psVar3 = param_1 + 0x10; - } - iVar4 += 2; - param_1 = psVar3; - } while (iVar4 <= param_2); - } - return; -} - - - -uint * loc_7F01C060(uint *param_1,uint param_2,int param_3) - -{ - bool bVar1; - int iVar2; - uint *puVar3; - uint uVar4; - - bVar1 = param_3 < 0x11; - while( true ) { - if (bVar1) { - uVar4 = SEXT14((char)param_3); - } - else { - uVar4 = 0x10; - } - param_1[1] = param_2; - *param_1 = (uVar4 - 1 & 0xf) << 0x14 | 0x4000000 | (uVar4 & 0xfff) << 4; - param_2 += 0xe0; - iVar2 = (int)((uVar4 - 3) * 0x1000000) >> 0x18; - param_1 = param_1 + 2; - do { - puVar3 = param_1; - uVar4 = iVar2 * 10; - *puVar3 = 0xbf000000; - param_1 = puVar3 + 2; - iVar2 = (iVar2 + -1) * 0x1000000 >> 0x18; - puVar3[1] = (uVar4 & 0xff) << 0x10 | (uVar4 + 10 & 0xff) << 8 | uVar4 + 0x14 & 0xff; - } while (-1 < iVar2); - param_3 += -0xe; - if (param_3 < 3) break; - bVar1 = param_3 < 0x11; - } - *param_1 = 0xb8000000; - puVar3[3] = 0; - return puVar3 + 4; -} - - - -undefined4 * insert_imageDL(undefined4 *param_1) - -{ - short sVar2; - uint uVar1; - short sVar3; - - param_1[1] = 0x300000; - *param_1 = 0xba001402; - sVar2 = get_video2_settings_txtClipW(); - param_1[2] = (int)sVar2 - 1U & 0xfff | 0xff100000; - uVar1 = get_video_settings2_frameb(); - uVar1 = osVirtualToPhysical(uVar1); - param_1[3] = uVar1; - param_1[4] = 0xf7000000; - param_1[5] = 0x10001; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - param_1[6] = ((int)sVar3 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar2 - 1U & 0x3ff) << 0xe; - param_1[7] = 0; - return param_1 + 8; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * sub_7F01C1A4(undefined4 *param_1) - -{ - uint uVar1; - - *param_1 = 0x1030040; - uVar1 = osVirtualToPhysical(_DAT_8006959c); - param_1[1] = uVar1; - param_1[2] = 0x1020040; - uVar1 = osVirtualToPhysical(DAT_8002a810 * 0x40 + _DAT_800695a4); - param_1[3] = uVar1; - param_1[5] = 0; - param_1[4] = 0xe7000000; - param_1[6] = 0xba001402; - param_1[7] = 0; - param_1[8] = 0xb900031d; - param_1[9] = 0x552048; - param_1[0xb] = 0x204; - param_1[10] = 0xb7000000; - return param_1 + 0xc; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f01c434(longlong param_1) - -{ - int iVar1; - undefined4 uVar2; - byte *pbVar3; - byte *pbVar4; - char cStack1; - - if (param_1 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x11a8) = 0x8002bb70; - } - else { - if (param_1 == 1) { - if (*(uint *)(_DAT_8007a120 + 0x11ac) < 0x8002c54c) { - *(uint *)(_DAT_8007a120 + 0x11a8) = *(uint *)(_DAT_8007a120 + 0x11ac); - } - } - } - *(int *)(_DAT_8007a120 + 0x11b8) = 1 - *(int *)(_DAT_8007a120 + 0x11b8); - uVar2 = FUN_7f0be2c4(0x1e00); - *(undefined4 *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x11b8) * 4 + 0x11b0) = uVar2; - pbVar3 = (byte *)FUN_7f0be2c4(0x1e00); - pbVar4 = loc_7F01CC70(*(char **)(_DAT_8007a120 + 0x11a8),0x50,0x60,pbVar3,&cStack1); - *(byte **)(_DAT_8007a120 + 0x11ac) = pbVar4; - loc_7F01D18C(pbVar3,0x50,0x60, - *(undefined **)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x11b8) * 4 + 0x11b0)); - iVar1 = *(int *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x11b8) * 4 + 0x11b0); - locret_7F01D164(iVar1,0x50,iVar1); - iVar1 = *(int *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x11b8) * 4 + 0x11b0); - locret_7F01D024(iVar1,0x50,iVar1); - pbVar3 = *(byte **)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x11b8) * 4 + 0x11b0); - locret_7F01CCE4(pbVar3,0x1e00,pbVar3); - return (ulonglong)(*(uint *)(_DAT_8007a120 + 0x11ac) < 0x8002c54c) ^ 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F01C664(undefined4 *param_1) - -{ - undefined4 *puVar1; - short sVar2; - short sVar3; - - *param_1 = 0xba000e02; - param_1[1] = 0; - param_1[3] = 0x2000; - param_1[2] = 0xba000c02; - puVar1 = sub_7F01C1A4(param_1 + 4); - *puVar1 = 0xbb000001; - puVar1[1] = 0x80008000; - puVar1[2] = 0xb900031d; - puVar1[3] = 0x504340; - puVar1[4] = 0xfc119623; - puVar1[5] = 0xff2fffff; - puVar1[6] = 0xba000602; - puVar1[7] = 0; - puVar1[8] = 0xfa000000; - puVar1[9] = 0x960000b4; - puVar1[10] = 0xba001301; - puVar1[0xb] = 0; - puVar1[0xc] = 0xfd900000; - puVar1[0xd] = *(int *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x11b8) * 4 + 0x11b0) + - -0x80000000; - puVar1[0xe] = 0xf5900000; - puVar1[0x10] = 0xe6000000; - puVar1[0x12] = 0xf3000000; - puVar1[0x13] = 0x777f156; - puVar1[0xf] = 0x7080200; - puVar1[0x14] = 0xe7000000; - puVar1[0x17] = 0x80200; - puVar1[0x16] = 0xf5800c00; - puVar1[0x18] = 0xf2000000; - puVar1[0x19] = 0x17c13c; - puVar1[0x15] = 0; - puVar1[0x11] = 0; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1[0x1a] = (int)sVar3 * 4 - 1U & 0xfff | 0xe4000000 | ((int)sVar2 * 4 - 1U & 0xfff) << 0xc; - puVar1[0x1b] = 0; - puVar1[0x1c] = 0xb4000000; - puVar1[0x1d] = 0; - puVar1[0x1e] = 0xb3000000; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - if (sVar3 == 0) { - trap(0x1c00); - } - if ((sVar3 == -1) && (false)) { - trap(0x1800); - } - puVar1[0x1f] = 0x14000 / (int)sVar3 & 0xffffU | 0x18000 / (int)sVar2 << 0x10; - if (sVar2 == 0) { - trap(0x1c00); - } - if ((sVar2 == -1) && (false)) { - trap(0x1800); - } - return puVar1 + 0x20; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F01C9D4(undefined4 *param_1) - -{ - short sVar1; - short sVar2; - short sVar3; - short sVar4; - int iVar5; - - *param_1 = 0xba000e02; - param_1[1] = 0; - param_1[2] = 0xba000c02; - param_1[3] = 0x2000; - param_1[4] = 0xba001402; - param_1[5] = 0; - param_1[7] = 0x204; - param_1[6] = 0xb7000000; - param_1[8] = 0xbb000001; - param_1[9] = 0x80008000; - param_1[10] = 0xb900031d; - param_1[0xb] = 0x504340; - param_1[0xd] = 0xff2fffff; - param_1[0xc] = 0xfc119623; - param_1[0xe] = 0xba000602; - param_1[0xf] = 0; - param_1[0x10] = 0xfa000000; - param_1[0x11] = 0x960000b4; - param_1[0x12] = 0xba001301; - param_1[0x13] = 0; - param_1[0x14] = 0xfd900000; - param_1[0x15] = - *(int *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x11b8) * 4 + 0x11b0) + -0x80000000; - param_1[0x16] = 0xf5900000; - param_1[0x17] = 0x7080200; - param_1[0x18] = 0xe6000000; - param_1[0x19] = 0; - param_1[0x1a] = 0xf3000000; - param_1[0x1b] = 0x777f156; - param_1[0x1c] = 0xe7000000; - param_1[0x1d] = 0; - param_1[0x1f] = 0x80200; - param_1[0x1e] = 0xf5800c00; - param_1[0x20] = 0xf2000000; - param_1[0x21] = 0x17c13c; - sVar1 = FUN_7000449c(); - sVar2 = FUN_70004514(); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - param_1[0x22] = - ((int)sVar4 + (int)sVar3) * 4 - 1U & 0xfff | 0xe4000000 | - (((int)sVar2 + (int)sVar1) * 4 - 1U & 0xfff) << 0xc; - sVar1 = FUN_70004514(); - sVar2 = get_video2_settings_uly(); - param_1[0x23] = ((int)sVar2 & 0x3ffU) << 2 | ((int)sVar1 & 0x3ffU) << 0xe; - param_1[0x24] = 0xb4000000; - param_1[0x25] = 0; - param_1[0x26] = 0xb3000000; - sVar1 = FUN_7000449c(); - iVar5 = (int)sVar1; - sVar1 = get_video2_settings_height(); - if (sVar1 == 0) { - trap(0x1c00); - } - if ((sVar1 == -1) && (false)) { - trap(0x1800); - } - param_1[0x27] = 0x14000 / (int)sVar1 & 0xffffU | 0x18000 / iVar5 << 0x10; - param_1[0x28] = 0xe7000000; - param_1[0x29] = 0; - if (iVar5 == 0) { - trap(0x1c00); - } - if ((iVar5 == -1) && (false)) { - trap(0x1800); - } - param_1[0x2b] = 0x40; - param_1[0x2a] = 0xba000602; - param_1[0x2d] = 0x80000; - param_1[0x2c] = 0xba001301; - return param_1 + 0x2e; -} - - - -undefined4 * FUN_7f01cbc8(undefined4 *param_1) - -{ - undefined4 *puVar1; - short sVar2; - short sVar3; - - puVar1 = sub_7F01C1A4(param_1); - *puVar1 = 0xb900031d; - puVar1[1] = 0x504340; - puVar1[2] = 0xfcffffff; - puVar1[3] = 0xfffdf6fb; - puVar1[4] = 0xfa000000; - puVar1[5] = 0x960000b4; - puVar1[6] = 0xba000602; - puVar1[7] = 0; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1[8] = ((int)sVar3 & 0x3ffU) << 2 | 0xf6000000 | ((int)sVar2 & 0x3ffU) << 0xe; - puVar1[9] = 0; - return puVar1 + 10; -} - - - -byte * loc_7F01CC70(char *param_1,byte param_2,uint param_3,byte *param_4,char *param_5) - -{ - char cVar1; - char cVar2; - char cVar3; - byte bVar5; - uint uVar4; - byte *pbVar6; - byte bVar7; - char cVar8; - byte bVar9; - - cVar1 = *param_1; - param_3 &= 0xff; - *param_5 = cVar1; - bVar5 = param_1[1]; - pbVar6 = (byte *)(param_1 + 1); - while( true ) { - pbVar6 = pbVar6 + 1; - bVar9 = 0xff; - if (bVar5 == 0xff) { - bVar5 = *pbVar6; - bVar7 = 0; - pbVar6 = pbVar6 + 2; - while (bVar5 != 0xff) { - bVar7 += bVar5; - while (bVar5 != 0) { - bVar5 -= 1; - *param_4 = bVar9; - param_4 = param_4 + 1; - } - bVar5 = *pbVar6; - bVar9 ^= 0xff; - pbVar6 = pbVar6 + 1; - } - while (bVar7 < param_2) { - bVar7 += 1; - *param_4 = bVar9; - param_4 = param_4 + 1; - } - param_3 -= 1; - } - else { - cVar8 = cVar1 + (bVar5 & 0x1f); - uVar4 = ((int)(uint)bVar5 >> 5) + 1; - param_3 -= uVar4; - cVar2 = cVar8; - do { - while (cVar3 = param_2 - cVar8, cVar2 != '\0') { - *param_4 = 0xff; - param_4 = param_4 + 1; - cVar2 = cVar2 + -1; - } - while (cVar3 != '\0') { - *param_4 = 0; - param_4 = param_4 + 1; - cVar3 = cVar3 + -1; - } - uVar4 = uVar4 - 1 & 0xff; - cVar2 = cVar8; - } while (uVar4 != 0); - } - param_3 &= 0xff; - if (param_3 == 0) break; - bVar5 = *pbVar6; - pbVar6 = pbVar6; - } - return pbVar6; -} - - - -void locret_7F01CCE4(byte *param_1,short param_2,byte *param_3) - -{ - if (param_2 != 0) { - do { - param_2 += -1; - *param_3 = (byte)((int)(uint)param_1[1] >> 4) | *param_1 & 0xf0; - param_3 = param_3 + 1; - param_1 = param_1 + 2; - } while (param_2 != 0); - } - return; -} - - - -void loc_7F01CEC0(int param_1,uint param_2,uint param_3,int param_4,byte param_5) - -{ - int iVar1; - uint uVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - uint uVar14; - - param_3 &= 0xff; - param_2 &= 0xff; - iVar1 = 0; - if (param_3 != 0) { - do { - iVar13 = 0; - if (param_2 != 0) { - iVar4 = iVar1 - (uint)param_5; - iVar6 = param_3 - 1; - iVar7 = iVar1 + (uint)param_5; - do { - uVar2 = 0; - iVar3 = 0; - if (iVar4 < 0) { - iVar12 = 0; - } - else { - iVar12 = iVar4 * 0x10000 >> 0x10; - } - iVar8 = iVar7; - if (iVar6 < iVar7) { - iVar8 = iVar6; - } - if (iVar8 < iVar12) { - uVar14 = 0; - } - else { - iVar8 = iVar13 - (uint)param_5; - iVar10 = param_2 - 1; - iVar11 = iVar13 + (uint)param_5; - do { - if (iVar8 < 0) { - iVar9 = 0; - } - else { - iVar9 = iVar8 * 0x10000 >> 0x10; - } - iVar5 = iVar11; - if (iVar10 < iVar11) { - iVar5 = iVar10; - } - if (iVar9 <= iVar5) { - do { - iVar5 = param_1 + iVar9; - iVar9 = (iVar9 + 1) * 0x10000 >> 0x10; - uVar2 += 1; - iVar3 += (uint)*(byte *)(iVar5 + iVar12 * param_2); - iVar5 = iVar11; - if (iVar10 < iVar11) { - iVar5 = iVar10; - } - } while (iVar9 <= iVar5); - } - iVar12 = (int)(short)((short)iVar12 + 1); - iVar9 = iVar7; - if (iVar6 < iVar7) { - iVar9 = iVar6; - } - } while (iVar12 <= iVar9); - uVar14 = uVar2 >> 1; - } - iVar12 = param_4 + iVar13; - iVar13 = (iVar13 + 1) * 0x10000 >> 0x10; - if (uVar2 == 0) { - trap(0x1c00); - } - *(undefined *)(iVar12 + iVar1 * param_2) = (char)((uVar14 + iVar3) / uVar2); - } while (iVar13 < (int)param_2); - } - iVar1 = (iVar1 + 1) * 0x10000 >> 0x10; - } while (iVar1 < (int)param_3); - } - return; -} - - - -void locret_7F01D024(int param_1,int param_2,int param_3) - -{ - byte *pbVar1; - undefined *puVar2; - int iVar3; - byte *pbVar4; - int iVar5; - undefined *puVar6; - - pbVar4 = (byte *)(param_1 + 0x61); - puVar6 = (undefined *)(param_3 + 0x61); - iVar3 = 1; - if (1 < param_2 + -1) { - do { - *puVar6 = (char)((int)((uint)pbVar4[-0x60] + (uint)pbVar4[-1] + (uint)*pbVar4 + - (uint)pbVar4[-0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[-0x5f] + (uint)*pbVar4 + (uint)pbVar4[1] + - (uint)pbVar4[-0x60] + 2) >> 2); - iVar5 = 3; - pbVar1 = pbVar4 + 2; - puVar2 = puVar6 + 2; - do { - puVar6 = puVar2; - pbVar4 = pbVar1; - *puVar6 = (char)((int)((uint)pbVar4[-0x60] + (uint)pbVar4[-1] + (uint)*pbVar4 + - (uint)pbVar4[-0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[-0x5f] + (uint)*pbVar4 + (uint)pbVar4[1] + - (uint)pbVar4[-0x60] + 2) >> 2); - puVar6[2] = (char)((int)((uint)pbVar4[-0x5e] + (uint)pbVar4[1] + (uint)pbVar4[2] + - (uint)pbVar4[-0x5f] + 2) >> 2); - iVar5 += 4; - puVar6[3] = (char)((int)((uint)pbVar4[-0x5d] + (uint)pbVar4[2] + (uint)pbVar4[3] + - (uint)pbVar4[-0x5e] + 2) >> 2); - pbVar1 = pbVar4 + 4; - puVar2 = puVar6 + 4; - } while (iVar5 != 0x5f); - iVar3 += 1; - puVar6 = puVar6 + 6; - pbVar4 = pbVar4 + 6; - } while (iVar3 != param_2 + -1); - } - return; -} - - - -void locret_7F01D164(int param_1,int param_2,int param_3) - -{ - byte *pbVar1; - undefined *puVar2; - int iVar3; - byte *pbVar4; - int iVar5; - undefined *puVar6; - - pbVar4 = (byte *)(param_1 + 0x61); - puVar6 = (undefined *)(param_3 + 0x61); - iVar3 = 1; - if (1 < param_2 + -1) { - do { - *puVar6 = (char)((int)((uint)pbVar4[0x60] + (uint)pbVar4[1] + (uint)*pbVar4 + - (uint)pbVar4[0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[0x61] + (uint)pbVar4[2] + (uint)pbVar4[1] + - (uint)pbVar4[0x62] + 2) >> 2); - iVar5 = 3; - pbVar1 = pbVar4 + 2; - puVar2 = puVar6 + 2; - do { - puVar6 = puVar2; - pbVar4 = pbVar1; - *puVar6 = (char)((int)((uint)pbVar4[0x60] + (uint)pbVar4[1] + (uint)*pbVar4 + - (uint)pbVar4[0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[0x61] + (uint)pbVar4[2] + (uint)pbVar4[1] + - (uint)pbVar4[0x62] + 2) >> 2); - puVar6[2] = (char)((int)((uint)pbVar4[0x62] + (uint)pbVar4[3] + (uint)pbVar4[2] + - (uint)pbVar4[99] + 2) >> 2); - iVar5 += 4; - puVar6[3] = (char)((int)((uint)pbVar4[99] + (uint)pbVar4[4] + (uint)pbVar4[3] + - (uint)pbVar4[100] + 2) >> 2); - pbVar1 = pbVar4 + 4; - puVar2 = puVar6 + 4; - } while (iVar5 != 0x5f); - iVar3 += 1; - puVar6 = puVar6 + 6; - pbVar4 = pbVar4 + 6; - } while (iVar3 != param_2 + -1); - } - return; -} - - - -void loc_7F01D18C(undefined *param_1,int param_2,int param_3,undefined *param_4) - -{ - undefined uVar1; - undefined *puVar2; - undefined *puVar3; - undefined *puVar4; - - puVar3 = param_1 + param_2; - puVar2 = param_1 + param_2 * param_3; - puVar4 = puVar3; - do { - do { - uVar1 = *param_1; - param_1 = param_1 + 1; - *param_4 = uVar1; - puVar3 = puVar3 + 1; - param_4 = param_4 + param_3; - } while (param_1 < puVar4); - param_4 = param_4 + (1 - param_2 * param_3); - puVar4 = puVar3; - } while (param_1 < puVar2); - return; -} - - - -byte * func_7F01D29C(byte *param_1,int param_2,int param_3,byte *param_4) - -{ - byte bVar1; - byte bVar2; - byte *pbVar3; - byte *pbVar4; - uint uVar5; - int iVar6; - int iVar7; - byte bVar9; - int iVar8; - - bVar1 = *param_1; - pbVar3 = param_1 + 1; - do { - bVar2 = *pbVar3; - pbVar4 = pbVar3 + 1; - bVar9 = 0xff; - if (bVar2 == 0xff) { - bVar2 = *pbVar4; - iVar6 = 0; - pbVar4 = pbVar3 + 2; - while (bVar2 != 0xff) { - uVar5 = (uint)bVar2; - iVar6 += uVar5; - if (bVar2 != 0) { - do { - uVar5 -= 1; - *param_4 = bVar9; - param_4 = param_4 + 1; - } while (0 < (int)uVar5); - } - bVar2 = *pbVar4; - bVar9 ^= 0xff; - pbVar4 = pbVar4 + 1; - } - while (iVar6 < param_2) { - iVar6 += 1; - *param_4 = bVar9; - param_4 = param_4 + 1; - } - param_3 += -1; - } - else { - iVar7 = ((uint)bVar2 & 0x1f) + (uint)bVar1; - iVar6 = (uint)(bVar2 >> 5) + 1; - param_3 -= iVar6; - do { - iVar8 = iVar7; - if (iVar7 != 0) { - do { - iVar8 += -1; - *param_4 = 0xff; - param_4 = param_4 + 1; - } while (0 < iVar8); - } - iVar8 = param_2 - iVar7; - while (0 < iVar8) { - iVar8 += -1; - *param_4 = 0; - param_4 = param_4 + 1; - } - iVar6 += -1; - } while (0 < iVar6); - } - pbVar3 = pbVar4; - } while (0 < param_3); - return pbVar4; -} - - - -undefined4 FUN_7f01d460(void) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0c0878(); - return uVar1; -} - - - -undefined4 FUN_7f01d498(void) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0c0878(); - return uVar1; -} - - - -undefined4 FUN_7f01d4d4(void) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0c0878(); - return uVar1; -} - - - -undefined4 FUN_7f01d510(void) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0c0878(); - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f01d54c(void) - -{ - short sVar1; - int iVar3; - undefined *puVar4; - ulonglong uVar2; - - if (((-1 < DAT_8002a938) && (DAT_8002a93c != 3)) && (DAT_8002a940 == 0)) { - sVar1 = *(short *)((&DAT_8002ac38)[DAT_8002a938 * 7] * 6 + DAT_8002a93c * 2 + -0x7ffd4a5c); - iVar3 = FUN_7f08c840(); - loc_7F01E740((longlong)DAT_8002a928,(longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7], - (longlong)DAT_8002a93c,iVar3 / 0x3c); - iVar3 = FUN_7f08c840(); - if ((longlong)(iVar3 / 0x3c) <= (longlong)sVar1) { - puVar4 = loc_7F01DE38((longlong)DAT_8002a928); - uVar2 = loc_7F01DD68((int)puVar4,(longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - if (uVar2 == 0) { - loc_7F01E868((longlong)DAT_8002a928,(longlong)(int)(&DAT_8002ac38)[DAT_8002a938 * 7]); - _DAT_800697d0 = 1; - } - } - } - return; -} - - - -void FUN_7f01d6a4(void) - -{ - FUN_7f01f1e0((longlong)DAT_8002a928); - return; -} - - - -void FUN_7f01d6c8(void) - -{ - FUN_7f01f334((longlong)DAT_8002a928); - return; -} - - - -void FUN_7f01d6ec(void) - -{ - loc_7F01F384((longlong)DAT_8002a928); - return; -} - - - -void FUN_7f01d710(void) - -{ - FUN_7f01ed70(); - return; -} - - - -void FUN_7f01d734(undefined4 param_1) - -{ - DAT_8002a928 = param_1; - return; -} - - - -void loc_7F01D5E0(longlong param_1) - -{ - if (param_1 != 0) { - if (param_1 == 1) { - DAT_8002a93c = 1; - return; - } - if (param_1 == 2) { - DAT_8002a93c = 2; - return; - } - if (param_1 == 3) { - DAT_8002a93c = 3; - return; - } - } - DAT_8002a93c = 0; - return; -} - - - -void FUN_7f01d790(undefined *param_1) - -{ - DAT_8002a930 = 0; - DAT_8002a934 = param_1; - DAT_8002a938 = FUN_7f00dce0(param_1); - return; -} - - - -void FUN_7f01d7c0(undefined4 *param_1) - -{ - FUN_7f01f544((longlong)DAT_8002a928,param_1); - return; -} - - - -void FUN_7f01d7e8(undefined4 *param_1) - -{ - DAT_8002a92c = DAT_8002a928; - DAT_8002a928 = 100; - FUN_7f01f60c(100,param_1); - return; -} - - - -void FUN_7f01d824(undefined4 param_1,undefined4 param_2) - -{ - int iVar1; - - iVar1 = get_cur_playernum(); - *(undefined4 *)(&DAT_80069730 + iVar1 * 8) = param_1; - *(undefined4 *)(&DAT_80069734 + iVar1 * 8) = param_2; - return; -} - - - -undefined4 FUN_7f01d870(void) - -{ - undefined4 uVar1; - - uVar1 = FUN_7000c760(); - return uVar1; -} - - - -void FUN_7f01d890(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined auStackX0 [16]; - undefined4 auStack96 [24]; - - puVar2 = &DAT_8002c560; - puVar1 = auStack96; - do { - puVar3 = puVar2 + 3; - *puVar1 = *puVar2; - puVar1[1] = puVar2[1]; - puVar1[2] = puVar2[2]; - puVar2 = puVar3; - puVar1 = puVar1 + 3; - } while (puVar3 != &DAT_8002c5c0); - puVar2 = auStack96; - puVar1 = (undefined4 *)&DAT_80069b40; - do { - puVar3 = puVar2 + 3; - *puVar1 = *puVar2; - puVar1[1] = puVar2[1]; - puVar1[2] = puVar2[2]; - puVar2 = puVar3; - puVar1 = puVar1 + 3; - } while (puVar3 != (undefined4 *)register0x000000ec); - return; -} - - - -int FUN_7f01d908(uint *param_1) - -{ - int iVar1; - - iVar1 = FUN_7f01d870(); - if (iVar1 != 0) { - loc_7F09B70C((byte *)(param_1 + 2),(byte *)(param_1 + 8),param_1); - iVar1 = FUN_7000c86c(0,param_1,0x20); - } - return iVar1; -} - - - -void FUN_7f01d950(uint *param_1) - -{ - int iVar1; - - if ((((uint *)0x8006995f < param_1) && (param_1 < &DAT_80069b40)) && - (iVar1 = FUN_7f01d870(), iVar1 != 0)) { - loc_7F09B70C((byte *)(param_1 + 2),(byte *)(param_1 + 0x18),param_1); - FUN_7000c86c((char)((uint)(((int)(param_1 + 0x1ffe59a8) / 0x60) * 0x60) >> 3) + 4,param_1,0x60); - } - return; -} - - - -void FUN_7f01d9f0(uint *param_1) - -{ - uint *puVar1; - uint *puVar2; - uint *puVar3; - uint *puVar4; - uint *puVar5; - undefined auStackX0 [16]; - uint auStack96 [24]; - - puVar2 = auStack96; - puVar4 = &DAT_8002c5c0; - puVar1 = puVar2; - do { - puVar5 = puVar4 + 3; - *puVar1 = *puVar4; - puVar1[1] = puVar4[1]; - puVar1[2] = puVar4[2]; - puVar4 = puVar5; - puVar1 = puVar1 + 3; - puVar3 = param_1; - } while (puVar5 != &DAT_8002c620); - do { - puVar4 = puVar2 + 3; - *puVar3 = *puVar2; - puVar3[1] = puVar2[1]; - puVar3[2] = puVar2[2]; - puVar2 = puVar4; - puVar3 = puVar3 + 3; - } while (puVar4 != (uint *)register0x000000ec); - FUN_7f01d950(param_1); - return; -} - - - -ulonglong get_foldernum_of_eeprom(int param_1) - -{ - return (ulonglong)*(byte *)(param_1 + 8) & 7; -} - - - -void set_eeprom_to_folder_num(int param_1,byte param_2) - -{ - byte bVar1; - - bVar1 = *(byte *)(param_1 + 8) & 0xf8; - *(byte *)(param_1 + 8) = bVar1; - *(byte *)(param_1 + 8) = bVar1 | param_2 & 7; - return; -} - - - -int set_eeprom_flag_0x18(int param_1) - -{ - return (int)((uint)*(byte *)(param_1 + 8) & 0x18) >> 3; -} - - - -void reset_eeprom_flag_0x18(int param_1,int param_2) - -{ - byte bVar1; - - bVar1 = *(byte *)(param_1 + 8) & 0xe7; - *(byte *)(param_1 + 8) = bVar1; - *(byte *)(param_1 + 8) = bVar1 | (byte)(param_2 << 3) & 0x18; - return; -} - - - -int get_selected_bond(int param_1) - -{ - return (int)((uint)*(byte *)(param_1 + 8) & 0x60) >> 5; -} - - - -void set_selected_bond(int param_1,int param_2) - -{ - byte bVar1; - - bVar1 = *(byte *)(param_1 + 8) & 0x9f; - *(byte *)(param_1 + 8) = bVar1; - *(byte *)(param_1 + 8) = bVar1 | (byte)(param_2 << 5) & 0x60; - return; -} - - - -ulonglong check_if_eeprom_flag_set_0x80(int param_1) - -{ - return (ulonglong)((*(byte *)(param_1 + 8) & 0x80) != 0); -} - - - -void loc_7F01D980(int param_1,longlong param_2) - -{ - if (param_2 == 0) { - *(byte *)(param_1 + 8) = *(byte *)(param_1 + 8) & 0x7f; - return; - } - *(byte *)(param_1 + 8) = *(byte *)(param_1 + 8) | 0x80; - return; -} - - - -ulonglong loc_7F01DAD4(int param_1,longlong param_2,longlong param_3) - -{ - ulonglong uVar1; - longlong lVar2; - int iVar3; - uint uVar4; - uint uVar5; - - if (-1 < param_2) { - if (0x13 < param_2) { - return 0; - } - if ((-1 < param_3) && (param_3 < 4)) { - if (param_3 == 3) { - uVar1 = get_foldernum_of_eeprom(param_1); - lVar2 = FUN_7f01f650(uVar1); - if (lVar2 != 0) { - return 0x3ff; - } - return 0; - } - uVar4 = ((int)param_3 * 0x14 + (int)param_2) * 10; - uVar5 = uVar4 & 7; - iVar3 = (int)uVar4 >> 3; - if (uVar5 == 6) { - return (ulonglong)*(byte *)(param_1 + iVar3 + 0x13) | - (longlong)(int)(((uint)*(byte *)(param_1 + iVar3 + 0x12) & 3) << 8); - } - if (uVar5 != 4) { - if (uVar5 == 2) { - return (longlong) - (int)((int)((uint)*(byte *)(param_1 + iVar3 + 0x13) & 0xf0) >> 4 | - ((uint)*(byte *)(param_1 + iVar3 + 0x12) & 0x3f) << 4); - } - if (uVar5 == 0) { - return (longlong) - (int)((int)((uint)*(byte *)(param_1 + iVar3 + 0x13) & 0xc0) >> 6 | - (uint)*(byte *)(param_1 + iVar3 + 0x12) << 2); - } - return 0; - } - return (longlong) - (int)((int)((uint)*(byte *)(param_1 + iVar3 + 0x13) & 0xfc) >> 2 | - ((uint)*(byte *)(param_1 + iVar3 + 0x12) & 0xf) << 6); - } - } - return 0; -} - - - -void locret_7F01DC58(int param_1,longlong param_2,longlong param_3,longlong param_4) - -{ - int iVar1; - byte bVar2; - uint uVar3; - uint uVar4; - int iVar5; - byte bVar6; - - iVar1 = (int)param_4; - if ((((-1 < param_2) && (param_2 < 0x14)) && (-1 < param_3)) && (param_3 < 3)) { - if (param_4 == 0) { - iVar1 = 0x4f; - } - else { - if (0x3ff < param_4) { - iVar1 = 0x3ff; - } - } - uVar3 = ((int)param_3 * 0x14 + (int)param_2) * 10; - uVar4 = uVar3 & 7; - iVar5 = (int)uVar3 >> 3; - if (uVar4 == 6) { - param_1 += iVar5; - bVar6 = *(byte *)(param_1 + 0x12) & 0xfc; - *(byte *)(param_1 + 0x12) = bVar6; - *(undefined *)(param_1 + 0x13) = 0; - *(byte *)(param_1 + 0x12) = bVar6 | (byte)((uint)iVar1 >> 8) & 3; - *(undefined *)(param_1 + 0x13) = (char)iVar1; - } - else { - if (uVar4 == 4) { - param_1 += iVar5; - bVar6 = *(byte *)(param_1 + 0x12) & 0xf0; - bVar2 = *(byte *)(param_1 + 0x13) & 3; - *(byte *)(param_1 + 0x12) = bVar6; - *(byte *)(param_1 + 0x13) = bVar2; - *(byte *)(param_1 + 0x12) = bVar6 | (byte)(iVar1 >> 6) & 0xf; - *(byte *)(param_1 + 0x13) = bVar2 | (byte)(iVar1 << 2); - return; - } - if (uVar4 == 2) { - param_1 += iVar5; - bVar6 = *(byte *)(param_1 + 0x12) & 0xc0; - bVar2 = *(byte *)(param_1 + 0x13) & 0xf; - *(byte *)(param_1 + 0x12) = bVar6; - *(byte *)(param_1 + 0x13) = bVar2; - *(byte *)(param_1 + 0x12) = bVar6 | (byte)(iVar1 >> 4) & 0x3f; - *(byte *)(param_1 + 0x13) = bVar2 | (byte)(iVar1 << 4); - return; - } - if (uVar4 == 0) { - param_1 += iVar5; - bVar6 = *(byte *)(param_1 + 0x13) & 0x3f; - *(undefined *)(param_1 + 0x12) = 0; - *(byte *)(param_1 + 0x13) = bVar6; - *(undefined *)(param_1 + 0x12) = (char)(iVar1 >> 2); - *(byte *)(param_1 + 0x13) = bVar6 | (byte)(iVar1 << 6); - return; - } - } - } - return; -} - - - -ulonglong loc_7F01DCA0(int param_1,longlong param_2,longlong param_3) - -{ - ulonglong uVar1; - - if (-1 < param_2) { - if (0x13 < param_2) { - return 0; - } - if (-1 < param_3) { - if (3 < param_3) { - return 0; - } - uVar1 = loc_7F01DAD4(param_1,param_2,param_3); - return (ulonglong)(uVar1 != 0); - } - } - return 0; -} - - - -void loc_7F01DD14(int param_1,longlong param_2,longlong param_3,int param_4) - -{ - ulonglong uVar1; - - if ((((-1 < param_2) && (param_2 < 0x14)) && (-1 < param_3)) && (param_3 < 4)) { - uVar1 = loc_7F01DAD4(param_1,param_2,param_3); - if ((uVar1 == 0) || ((longlong)param_4 < (longlong)uVar1)) { - locret_7F01DC58(param_1,(longlong)(int)param_2,(longlong)(int)param_3,(longlong)param_4); - } - } - return; -} - - - -ulonglong loc_7F01DD68(int param_1,longlong param_2) - -{ - if ((-1 < param_2) && (param_2 < 0x14)) { - return (ulonglong) - (((longlong)(1 << ((uint)param_2 & 0x1f)) & - ((ulonglong)*(byte *)(param_1 + 0xe) | - (longlong)(int)((uint)*(byte *)(param_1 + 0x10) << 0x18) | - (longlong)(int)((uint)*(byte *)(param_1 + 0x10) << 0x10) | - (longlong)(int)((uint)*(byte *)(param_1 + 0xf) << 8))) != 0); - } - return 0; -} - - - -void locret_7F01DDBC(int param_1,longlong param_2) - -{ - uint uVar1; - int iVar2; - - if ((-1 < param_2) && (param_2 < 0x14)) { - uVar1 = 1 << ((uint)param_2 & 0x1f); - uVar1._3_1_ = (byte)uVar1; - iVar2 = 0; - while (0xff < uVar1) { - uVar1._3_1_ = (byte)(uVar1 >> 8); - iVar2 += 1; - uVar1 = uVar1 >> 8; - } - *(byte *)(param_1 + iVar2 + 0xe) = *(byte *)(param_1 + iVar2 + 0xe) | (byte)uVar1; - } - return; -} - - - -undefined * loc_7F01DE38(ulonglong param_1) - -{ - ulonglong uVar1; - undefined *puVar2; - - puVar2 = &DAT_80069960; - while ((uVar1 = check_if_eeprom_flag_set_0x80((int)puVar2), uVar1 != 0 || - (uVar1 = get_foldernum_of_eeprom((int)puVar2), uVar1 != param_1))) { - puVar2 = puVar2 + 0x60; - if (puVar2 == &DAT_80069b40) { - puVar2 = NULL; - if (param_1 == 100) { - puVar2 = &DAT_80069b40; - } - return puVar2; - } - } - return puVar2; -} - - - -int FUN_7f01e000(void) - -{ - ulonglong uVar1; - int iVar2; - undefined *puVar3; - - puVar3 = &DAT_80069960; - iVar2 = 0; - do { - uVar1 = check_if_eeprom_flag_set_0x80((int)puVar3); - if (uVar1 != 0) { - return iVar2; - } - iVar2 += 1; - puVar3 = puVar3 + 0x60; - } while (iVar2 != 5); - return -1; -} - - - -void FUN_7f01e064(int param_1) - -{ - int iVar1; - uint *puVar2; - uint *puVar3; - uint *puVar4; - uint *puVar5; - uint auStack100 [24]; - uint uStack4; - - iVar1 = FUN_7f01e000(); - if (-1 < iVar1) { - puVar3 = &DAT_8002c620; - puVar5 = auStack100; - do { - puVar4 = puVar3 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar4; - puVar5 = puVar5 + 3; - } while (puVar4 != &DAT_8002c680); - puVar4 = (uint *)(&DAT_80069960 + iVar1 * 0x60); - puVar3 = auStack100; - puVar5 = puVar4; - do { - puVar2 = puVar3 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar2; - puVar5 = puVar5 + 3; - } while (puVar2 != &uStack4); - set_eeprom_to_folder_num((int)puVar4,(byte)param_1); - loc_7F01D980((int)puVar4,0); - set_selected_bond((int)puVar4,param_1); - FUN_7f01d950(puVar4); - } - return; -} - - - -// WARNING: Could not reconcile some variable overlaps - -void FUN_7f01e140(void) - -{ - bool bVar1; - int iVar3; - ulonglong uVar2; - uint uVar4; - uint uVar5; - undefined *puVar6; - uint uVar7; - uint *puVar8; - int iVar9; - byte *pbVar10; - byte *pbVar11; - ulonglong uVar12; - uint uStack44; - uint uStack40; - uint uStack36; - uint uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - byte abStack4 [4]; - - iVar3 = FUN_7f01d870(); - if (iVar3 != 0) { - FUN_7000c820(0,&uStack36,0x20); - bVar1 = uStack28._0_1_ == 'B'; - loc_7F09B70C((byte *)&uStack28,abStack4,&uStack44); - if ((uStack44 != uStack36) || (uStack40 != uStack32)) { - bVar1 = false; - } - if (!bVar1) { - uStack32 = DAT_8002c684; - uStack36 = DAT_8002c680; - uStack28 = DAT_8002c688; - uStack24 = DAT_8002c68c; - uStack20 = DAT_8002c690; - uStack8 = DAT_8002c69c; - uStack16 = DAT_8002c694; - uStack12 = DAT_8002c698; - FUN_7f01d908(&uStack36); - } - FUN_7000c820(4,&DAT_80069960,0x1e0); - pbVar10 = (byte *)0x800699c0; - pbVar11 = &DAT_80069968; - puVar8 = (uint *)&DAT_80069960; - do { - bVar1 = true; - loc_7F09B70C(pbVar11,pbVar10,&uStack44); - if (uStack44 == *puVar8) { - if (uStack40 != puVar8[1]) { - bVar1 = false; - } - } - else { - bVar1 = false; - } - if (!bVar1) { - FUN_7f01d9f0(puVar8); - } - pbVar10 = pbVar10 + 0x60; - puVar8 = puVar8 + 0x18; - pbVar11 = pbVar11 + 0x60; - } while (pbVar10 != &DAT_80069ba0); - uVar12 = 0; - do { - iVar3 = -1; - uVar4 = 0xffffffff; - puVar8 = (uint *)&DAT_80069960; - iVar9 = 0; - do { - uVar2 = check_if_eeprom_flag_set_0x80((int)puVar8); - if ((uVar2 == 0) && (uVar2 = get_foldernum_of_eeprom((int)puVar8), uVar2 == uVar12)) { - if (iVar3 < 0) { - uVar4 = set_eeprom_flag_0x18((int)puVar8); - iVar3 = iVar9; - } - else { - uVar7 = uVar4 + 1 & 3; - if (((int)(uVar4 + 1) < 0) && (uVar7 != 0)) { - uVar7 -= 4; - } - uVar5 = set_eeprom_flag_0x18((int)puVar8); - if (uVar5 == uVar7) { - FUN_7f01d9f0((uint *)(&DAT_80069960 + iVar3 * 0x60)); - iVar3 = iVar9; - uVar4 = uVar5; - } - else { - FUN_7f01d9f0(puVar8); - } - } - } - iVar9 += 1; - puVar8 = puVar8 + 0x18; - } while (iVar9 != 5); - if (iVar3 < 0) { - FUN_7f01e064((int)uVar12); - } - uVar12 = SEXT48((int)uVar12 + 1); - } while ((longlong)uVar12 < 4); - uVar12 = 0; - do { - puVar6 = loc_7F01DE38(uVar12); - if (puVar6 != NULL) { - iVar3 = get_selected_bond((int)puVar6); - (&DAT_8002c550)[(int)uVar12] = iVar3; - } - uVar12 = SEXT48((int)uVar12 + 1); - } while (uVar12 != 4); - } - return; -} - - - -undefined8 locret_7F01E2B8(longlong param_1) - -{ - if ((-1 < param_1) && (param_1 < 4)) { - return 1; - } - if (param_1 != 100) { - return 0; - } - return 1; -} - - - -undefined8 loc_7F01E4E0(ulonglong param_1,longlong param_2,longlong param_3) - -{ - longlong lVar1; - undefined *puVar3; - ulonglong uVar2; - int iVar4; - longlong lVar5; - - lVar1 = locret_7F01E2B8(param_1); - if (lVar1 == 0) { - return 0; - } - if (-1 < param_2) { - if (0x13 < param_2) { - return 0; - } - if (-1 < param_3) { - if (3 < param_3) { - return 0; - } - puVar3 = loc_7F01DE38(param_1); - if (puVar3 != NULL) { - uVar2 = loc_7F01DCA0((int)puVar3,param_2,param_3); - if (uVar2 != 0) { - return 3; - } - if (((param_2 == 0x12) && (param_3 < 1)) || ((param_2 == 0x13 && (param_3 < 2)))) { - return 0; - } - lVar1 = param_3; - if (param_3 < 4) { - do { - lVar5 = 0; - if (0 < param_2) { - do { - uVar2 = loc_7F01DCA0((int)puVar3,lVar5,lVar1); - if (uVar2 == 0) break; - lVar5 = (longlong)((int)lVar5 + 1); - } while (lVar5 != param_2); - } - lVar1 = (longlong)((int)lVar1 + 1); - if (param_2 <= lVar5) { - return 1; - } - } while (lVar1 != 4); - } - if (((param_3 < 3) && (param_2 < 0x12)) && (param_3 < 4)) { - lVar1 = param_3; - do { - uVar2 = loc_7F01DCA0((int)puVar3,(longlong)((int)param_2 + -1),lVar1); - lVar1 = (longlong)((int)lVar1 + 1); - if (uVar2 != 0) { - return 1; - } - } while (lVar1 != 4); - } - lVar1 = 0; - if (param_3 < 3) { - do { - uVar2 = loc_7F01DCA0((int)puVar3,lVar1,0); - if (uVar2 == 0) break; - lVar1 = (longlong)((int)lVar1 + 1); - } while (lVar1 < 0x12); - if (0x11 < lVar1) { - lVar1 = 0; - if (0 < param_3) { - do { - uVar2 = loc_7F01DCA0((int)puVar3,param_2,lVar1); - if (uVar2 == 0) break; - lVar1 = (longlong)((int)lVar1 + 1); - } while (lVar1 != param_3); - } - if (param_3 <= lVar1) { - return 1; - } - } - } - } - if (param_2 == 0) { - return 1; - } - iVar4 = FUN_7f091ae0(); - if ((iVar4 != 0) && (param_3 == 0)) { - return 1; - } - iVar4 = FUN_7f091aec(); - if (iVar4 == 0) { - return 0; - } - return 1; - } - } - return 0; -} - - - -void FUN_7f01e6b4(uint *param_1,undefined4 *param_2) - -{ - int iVar1; - int iVar2; - uint *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - uint uStack8; - - uStack8 = 0; - iVar1 = FUN_7f01e000(); - if (-1 < iVar1) { - puVar5 = param_2; - puVar4 = (undefined4 *)(&DAT_80069960 + iVar1 * 0x60); - do { - puVar6 = puVar5 + 3; - *puVar4 = *puVar5; - puVar4[1] = puVar5[1]; - puVar4[2] = puVar5[2]; - puVar5 = puVar6; - puVar4 = puVar4 + 3; - } while (puVar6 != param_2 + 0x18); - if (param_1 != NULL) { - iVar2 = set_eeprom_flag_0x18((int)param_1); - uStack8 = iVar2 + 1U & 3; - if (((int)(iVar2 + 1U) < 0) && (uStack8 != 0)) { - uStack8 -= 4; - } - } - puVar3 = (uint *)(&DAT_80069960 + iVar1 * 0x60); - loc_7F01D980((int)puVar3,0); - reset_eeprom_flag_0x18((int)puVar3,uStack8); - FUN_7f01d950(puVar3); - if (param_1 != NULL) { - FUN_7f01d9f0(param_1); - } - } - return; -} - - - -void loc_7F01E740(ulonglong param_1,longlong param_2,longlong param_3,int param_4) - -{ - uint *puVar1; - uint *puVar2; - uint *puVar3; - uint *puVar4; - longlong lVar5; - uint auStack96 [24]; - - if ((((-1 < (longlong)param_1) && ((longlong)param_1 < 4)) && (-1 < param_2)) && - (((param_2 < 0x14 && (-1 < param_3)) && (param_3 < 4)))) { - puVar4 = &DAT_8002c6a0; - puVar1 = auStack96; - do { - puVar3 = puVar4 + 3; - *puVar1 = *puVar4; - puVar1[1] = puVar4[1]; - puVar1[2] = puVar4[2]; - puVar4 = puVar3; - puVar1 = puVar1 + 3; - } while (puVar3 != &DAT_8002c700); - puVar4 = (uint *)loc_7F01DE38(param_1); - if (puVar4 == NULL) { - set_eeprom_to_folder_num((int)auStack96,(byte)param_1); - } - else { - puVar1 = puVar4; - puVar3 = auStack96; - do { - puVar2 = puVar1 + 3; - *puVar3 = *puVar1; - puVar3[1] = puVar1[1]; - puVar3[2] = puVar1[2]; - puVar1 = puVar2; - puVar3 = puVar3 + 3; - } while (puVar2 != puVar4 + 0x18); - } - lVar5 = param_3; - if (-1 < param_3) { - do { - if (lVar5 == param_3) { - loc_7F01DD14((int)auStack96,param_2,lVar5,param_4); - } - else { - loc_7F01DD14((int)auStack96,param_2,lVar5,99999999); - } - lVar5 = (longlong)((int)lVar5 + -1); - } while (-1 < lVar5); - } - FUN_7f01e6b4(puVar4,auStack96); - } - return; -} - - - -void loc_7F01E868(ulonglong param_1,longlong param_2) - -{ - ulonglong uVar1; - uint *puVar2; - uint *puVar3; - uint *puVar4; - uint auStack100 [24]; - uint *puStack4; - - if ((((-1 < (longlong)param_1) && ((longlong)param_1 < 4)) && (-1 < param_2)) && (param_2 < 0x14)) - { - puStack4 = (uint *)loc_7F01DE38(param_1); - if ((puStack4 == NULL) || - (uVar1 = loc_7F01DD68((int)puStack4,(longlong)(int)param_2), uVar1 == 0)) { - puVar3 = &DAT_8002c700; - puVar2 = auStack100; - do { - puVar4 = puVar3 + 3; - *puVar2 = *puVar3; - puVar2[1] = puVar3[1]; - puVar2[2] = puVar3[2]; - puVar3 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != &DAT_8002c760); - if (puStack4 == NULL) { - set_eeprom_to_folder_num((int)auStack100,(byte)param_1); - } - else { - puVar3 = puStack4; - puVar2 = auStack100; - do { - puVar4 = puVar3 + 3; - *puVar2 = *puVar3; - puVar2[1] = puVar3[1]; - puVar2[2] = puVar3[2]; - puVar3 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != puStack4 + 0x18); - } - locret_7F01DDBC((int)auStack100,(longlong)(int)param_2); - FUN_7f01e6b4(puStack4,auStack100); - } - } - return; -} - - - -void FUN_7f01ea24(ulonglong param_1,int *param_2,int *param_3) - -{ - undefined *puVar2; - ulonglong uVar1; - longlong lVar3; - longlong lVar4; - - puVar2 = loc_7F01DE38(param_1); - if (puVar2 != NULL) { - lVar4 = 3; - do { - lVar3 = 0x13; - do { - uVar1 = loc_7F01DCA0((int)puVar2,lVar3,lVar4); - if (uVar1 != 0) { - *param_2 = (int)lVar3; - *param_3 = (int)lVar4; - return; - } - lVar3 = (longlong)((int)lVar3 + -1); - } while (-1 < lVar3); - lVar4 = (longlong)((int)lVar4 + -1); - } while (-1 < lVar4); - } - *param_2 = -1; - *param_3 = -1; - return; -} - - - -longlong FUN_7f01eac4(ulonglong param_1) - -{ - undefined *puVar2; - longlong lVar1; - longlong lVar3; - longlong lVar4; - - puVar2 = loc_7F01DE38(param_1); - lVar4 = 0x13; - if (puVar2 != NULL) { - do { - lVar3 = 0; - do { - lVar1 = loc_7F01E4E0(param_1,lVar4,lVar3); - lVar3 = (longlong)((int)lVar3 + 1); - if (lVar1 != 0) { - return lVar4; - } - } while (lVar3 != 4); - lVar4 = (longlong)((int)lVar4 + -1); - } while (-1 < lVar4); - } - return 0; -} - - - -longlong loc_7F01E9D0(void) - -{ - longlong lVar1; - ulonglong uVar2; - longlong lVar3; - - lVar3 = 0; - uVar2 = 0; - do { - lVar1 = FUN_7f01eac4(uVar2); - uVar2 = SEXT48((int)uVar2 + 1); - if (lVar3 < lVar1) { - lVar3 = lVar1; - } - } while (uVar2 != 4); - return lVar3; -} - - - -ulonglong FUN_7f01eba4(ulonglong param_1) - -{ - longlong lVar1; - ulonglong uVar2; - - lVar1 = loc_7F01E4E0(param_1,0x11,0); - uVar2 = (ulonglong)(lVar1 == 3); - if (lVar1 != 3) { - lVar1 = loc_7F01E4E0((longlong)(int)param_1,0x11,1); - uVar2 = (ulonglong)(lVar1 == 3); - if (lVar1 != 3) { - lVar1 = loc_7F01E4E0((longlong)(int)param_1,0x11,2); - uVar2 = (ulonglong)(lVar1 == 3); - } - } - return uVar2; -} - - - -ulonglong FUN_7f01ec0c(ulonglong param_1) - -{ - bool bVar1; - longlong lVar2; - - lVar2 = loc_7F01E4E0(param_1,0x12,1); - bVar1 = lVar2 == 3; - if (!bVar1) { - lVar2 = loc_7F01E4E0((longlong)(int)param_1,0x12,2); - bVar1 = lVar2 == 3; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f01ec58(ulonglong param_1) - -{ - longlong lVar1; - - lVar1 = loc_7F01E4E0(param_1,0x13,2); - return (ulonglong)(lVar1 == 3); -} - - - -undefined8 FUN_7f01ec80(void) - -{ - ulonglong uVar1; - ulonglong uVar2; - - uVar2 = 0; - do { - uVar1 = FUN_7f01eba4(uVar2); - uVar2 = SEXT48((int)uVar2 + 1); - if (uVar1 != 0) { - return 1; - } - } while (uVar2 != 4); - return 0; -} - - - -undefined8 FUN_7f01ecd0(void) - -{ - ulonglong uVar1; - ulonglong uVar2; - - uVar2 = 0; - do { - uVar1 = FUN_7f01ec0c(uVar2); - uVar2 = SEXT48((int)uVar2 + 1); - if (uVar1 != 0) { - return 1; - } - } while (uVar2 != 4); - return 0; -} - - - -undefined8 FUN_7f01ed20(void) - -{ - ulonglong uVar1; - ulonglong uVar2; - - uVar2 = 0; - do { - uVar1 = FUN_7f01ec58(uVar2); - uVar2 = SEXT48((int)uVar2 + 1); - if (uVar1 != 0) { - return 1; - } - } while (uVar2 != 4); - return 0; -} - - - -undefined8 FUN_7f01ed70(void) - -{ - return 0; -} - - - -void FUN_7f01ed7c(longlong param_1) - -{ - if ((-1 < param_1) && (param_1 < 4)) { - (&DAT_8002c550)[(int)param_1] = 0; - } - return; -} - - - -void loc_7F01ED00(ulonglong param_1) - -{ - uint *puVar1; - uint *puVar2; - uint *puVar3; - uint *puVar4; - uint auStack108 [24]; - uint uStack12; - int aiStack8 [2]; - - if ((((-1 < (longlong)param_1) && ((longlong)param_1 < 4)) && - (puVar1 = (uint *)loc_7F01DE38(param_1), puVar1 != NULL)) && - ((FUN_7f01ea24(param_1,aiStack8,(int *)&uStack12), -1 < aiStack8[0] && (-1 < (int)uStack12)))) - { - puVar3 = &DAT_8002c760; - puVar2 = auStack108; - do { - puVar4 = puVar3 + 3; - *puVar2 = *puVar3; - puVar2[1] = puVar3[1]; - puVar2[2] = puVar3[2]; - puVar3 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != &DAT_8002c7c0); - puVar3 = auStack108; - puVar2 = puVar1; - do { - puVar4 = puVar3 + 3; - *puVar2 = *puVar3; - puVar2[1] = puVar3[1]; - puVar2[2] = puVar3[2]; - puVar3 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != &uStack12); - set_eeprom_to_folder_num((int)puVar1,(byte)param_1); - loc_7F01D980((int)puVar1,0); - set_selected_bond((int)puVar1,(int)param_1); - FUN_7f01ed7c(param_1); - FUN_7f01d950(puVar1); - } - return; -} - - - -void FUN_7f01eec0(ulonglong param_1) - -{ - undefined *puVar1; - longlong lVar2; - longlong lVar3; - - puVar1 = loc_7F01DE38(param_1); - lVar3 = 0; - do { - lVar2 = 0; - do { - loc_7F01DD14((int)puVar1,lVar3,lVar2,99999999); - lVar2 = (longlong)((int)lVar2 + 1); - } while (lVar2 != 3); - lVar3 = (longlong)((int)lVar3 + 1); - } while (lVar3 != 0x14); - return; -} - - - -void loc_7F01EEF8(ulonglong param_1) - -{ - undefined *puVar1; - uint *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - ulonglong uVar6; - undefined4 auStack112 [25]; - int iStack12; - int iStack8; - undefined4 *puStack4; - - if ((-1 < (longlong)param_1) && ((longlong)param_1 < 4)) { - puStack4 = (undefined4 *)loc_7F01DE38(param_1); - if (puStack4 != NULL) { - FUN_7f01ea24((longlong)(int)param_1,&iStack8,&iStack12); - if ((-1 < iStack8) && (uVar6 = 0, -1 < iStack12)) { - while (puVar1 = loc_7F01DE38(uVar6), puVar1 != NULL) { - FUN_7f01ea24(uVar6,&iStack8,&iStack12); - if (((iStack8 < 0) && (iStack12 < 0)) || (uVar6 = SEXT48((int)uVar6 + 1), uVar6 == 4)) - break; - } - if ((longlong)uVar6 < 4) { - puVar3 = &DAT_8002c7c0; - puVar5 = auStack112; - do { - puVar4 = puVar3 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar4; - puVar5 = puVar5 + 3; - } while (puVar4 != &DAT_8002c820); - puVar2 = (uint *)loc_7F01DE38(uVar6); - puVar3 = puStack4; - puVar5 = auStack112; - do { - puVar4 = puVar3 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar4; - puVar5 = puVar5 + 3; - } while (puVar4 != puStack4 + 0x18); - set_eeprom_to_folder_num((int)auStack112,(byte)uVar6); - FUN_7f01ed70(); - FUN_7f01ed7c(uVar6); - FUN_7f01e6b4(puVar2,auStack112); - } - } - } - } - return; -} - - - -void FUN_7f01f0c0(int param_1) - -{ - ulonglong uVar1; - int iVar2; - int iVar3; - ushort uVar4; - ushort uVar5; - - uVar1 = FUN_7f0a9f18(); - *(undefined *)(param_1 + 10) = (char)((int)uVar1 >> 7); - iVar2 = FUN_7f0a9d40(); - *(undefined *)(param_1 + 0xb) = (char)(iVar2 >> 7); - iVar2 = cur_player_get_lookahead(); - iVar3 = cur_player_get_ammo_onscreen_setting(); - uVar5 = (ushort)(iVar2 != 0); - if (iVar3 != 0) { - uVar5 = (ushort)(iVar2 != 0) | 2; - } - iVar2 = cur_player_get_screen_setting(); - if (iVar2 != 0) { - uVar5 = uVar5 | 4; - } - iVar2 = get_screen_ratio(); - if (iVar2 != 0) { - uVar5 = uVar5 | 8; - } - iVar2 = get_D_80040AE4(); - if (iVar2 != 0) { - uVar5 = uVar5 | 0x10; - } - iVar2 = FUN_7f0a5a50(); - if (iVar2 != 0) { - uVar5 = uVar5 | 0x20; - } - iVar2 = FUN_7f0a5a68(); - uVar4 = uVar5 | 0x40; - if (iVar2 != 1) { - iVar2 = FUN_7f0a5a68(); - uVar4 = uVar5; - if (iVar2 == 2) { - uVar4 = uVar5 | 0x800; - } - } - iVar2 = FUN_7f0a5a80(); - if (iVar2 != 0) { - uVar4 = uVar4 | 0x80; - } - iVar2 = FUN_7f0a5960(); - *(ushort *)(param_1 + 0xc) = uVar4 | (ushort)(iVar2 << 8) & 0x700; - return; -} - - - -void FUN_7f01f1e0(ulonglong param_1) - -{ - ushort uVar1; - undefined *puVar3; - ulonglong uVar2; - - puVar3 = loc_7F01DE38(param_1); - if (puVar3 != NULL) { - FUN_7f0a9f24((ushort)(byte)puVar3[10] << 7 | (ushort)((int)(uint)(byte)puVar3[10] >> 1)); - FUN_7f0a9d60((longlong)(int)((uint)(byte)puVar3[0xb] << 7 | (int)(uint)(byte)puVar3[0xb] >> 1)); - uVar1 = *(ushort *)(puVar3 + 0xc); - uVar2 = get_num_players(); - if (uVar2 == 1) { - FUN_7f0a5970((int)((uint)uVar1 & 0x700) >> 8); - } - else { - FUN_7f0a5970(0); - } - cur_player_set_lookahead((uint)((uVar1 & 1) != 0)); - cur_player_set_ammo_onscreen_setting((uint)((uVar1 & 2) != 0)); - cur_player_set_screen_setting((uint)((uVar1 & 4) != 0)); - set_screen_ratio((uint)((uVar1 & 8) != 0)); - FUN_7f0a5a14((uint)((uVar1 & 0x10) != 0)); - FUN_7f0a5a5c((uint)((uVar1 & 0x20) != 0)); - if ((uVar1 & 0x800) == 0) { - if ((uVar1 & 0x40) == 0) { - FUN_7f0a5a74(0); - } - else { - FUN_7f0a5a74(1); - } - } - else { - FUN_7f0a5a74(2); - } - FUN_7f0a5a8c((uint)((uVar1 & 0x80) != 0)); - } - return; -} - - - -void FUN_7f01f334(ulonglong param_1) - -{ - int iVar1; - uint **ppuVar2; - uint **ppuVar3; - uint **ppuVar4; - uint ***pppuVar5; - uint ***pppuVar6; - uint *apuStack196 [24]; - uint *apuStack100 [24]; - uint **ppuStack4; - - if ((-1 < (longlong)param_1) && ((longlong)param_1 < 4)) { - ppuStack4 = (uint **)loc_7F01DE38(param_1); - ppuVar3 = (uint **)&DAT_8002c820; - ppuVar2 = apuStack100; - do { - ppuVar4 = ppuVar3 + 3; - *ppuVar2 = *ppuVar3; - ppuVar2[1] = ppuVar3[1]; - ppuVar2[2] = ppuVar3[2]; - ppuVar3 = ppuVar4; - ppuVar2 = ppuVar2 + 3; - } while (ppuVar4 != (uint **)&DAT_8002c880); - if (ppuStack4 == NULL) { - set_eeprom_to_folder_num((int)apuStack100,(byte)param_1); - } - else { - ppuVar3 = ppuStack4; - ppuVar2 = apuStack100; - do { - ppuVar4 = ppuVar3 + 3; - *ppuVar2 = *ppuVar3; - ppuVar2[1] = ppuVar3[1]; - ppuVar2[2] = ppuVar3[2]; - ppuVar3 = ppuVar4; - ppuVar2 = ppuVar2 + 3; - } while (ppuVar4 != ppuStack4 + 0x18); - } - pppuVar5 = (uint ***)apuStack100; - ppuVar3 = apuStack196; - do { - pppuVar6 = pppuVar5 + 3; - *(uint ***)ppuVar3 = *pppuVar5; - *(uint ***)(ppuVar3 + 1) = pppuVar5[1]; - *(uint ***)(ppuVar3 + 2) = pppuVar5[2]; - pppuVar5 = pppuVar6; - ppuVar3 = ppuVar3 + 3; - } while (pppuVar6 != &ppuStack4); - FUN_7f01f0c0((int)apuStack196); - iVar1 = locret_70016E84(apuStack196,apuStack100,0x60); - if (iVar1 != 0) { - FUN_7f01e6b4((uint *)ppuStack4,apuStack196); - } - } - return; -} - - - -void loc_7F01F384(ulonglong param_1) - -{ - int iVar1; - uint *puVar2; - uint *puVar3; - uint *puVar4; - uint auStack100 [24]; - uint *puStack4; - - if ((-1 < (longlong)param_1) && ((longlong)param_1 < 4)) { - puStack4 = (uint *)loc_7F01DE38(param_1); - puVar3 = &DAT_8002c880; - puVar2 = auStack100; - do { - puVar4 = puVar3 + 3; - *puVar2 = *puVar3; - puVar2[1] = puVar3[1]; - puVar2[2] = puVar3[2]; - puVar3 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != &DAT_8002c8e0); - if (puStack4 == NULL) { - set_eeprom_to_folder_num((int)auStack100,(byte)param_1); - } - else { - puVar3 = puStack4; - puVar2 = auStack100; - do { - puVar4 = puVar3 + 3; - *puVar2 = *puVar3; - puVar2[1] = puVar3[1]; - puVar2[2] = puVar3[2]; - puVar3 = puVar4; - puVar2 = puVar2 + 3; - } while (puVar4 != puStack4 + 0x18); - } - iVar1 = get_selected_bond((int)auStack100); - if (iVar1 != (&DAT_8002c550)[(int)param_1]) { - set_selected_bond((int)auStack100,(&DAT_8002c550)[(int)param_1]); - FUN_7f01e6b4(puStack4,auStack100); - } - } - return; -} - - - -void FUN_7f01f544(ulonglong param_1,undefined4 *param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 auStack100 [24]; - undefined4 uStack4; - - puVar1 = (undefined4 *)loc_7F01DE38(param_1); - if (puVar1 == NULL) { - puVar1 = &DAT_8002c8e0; - puVar2 = auStack100; - do { - puVar3 = puVar1 + 3; - *puVar2 = *puVar1; - puVar2[1] = puVar1[1]; - puVar2[2] = puVar1[2]; - puVar1 = puVar3; - puVar2 = puVar2 + 3; - } while (puVar3 != &DAT_8002c940); - puVar1 = auStack100; - do { - puVar2 = puVar1 + 3; - *param_2 = *puVar1; - param_2[1] = puVar1[1]; - param_2[2] = puVar1[2]; - puVar1 = puVar2; - param_2 = param_2 + 3; - } while (puVar2 != &uStack4); - } - else { - puVar2 = puVar1; - do { - puVar3 = puVar2 + 3; - *param_2 = *puVar2; - param_2[1] = puVar2[1]; - param_2[2] = puVar2[2]; - puVar2 = puVar3; - param_2 = param_2 + 3; - } while (puVar3 != puVar1 + 0x18); - } - return; -} - - - -void FUN_7f01f60c(longlong param_1,undefined4 *param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - - if (param_1 == 100) { - puVar2 = param_2; - puVar1 = (undefined4 *)&DAT_80069b40; - do { - puVar3 = puVar2 + 3; - *puVar1 = *puVar2; - puVar1[1] = puVar2[1]; - puVar1[2] = puVar2[2]; - puVar2 = puVar3; - puVar1 = puVar1 + 3; - } while (puVar3 != param_2 + 0x18); - } - return; -} - - - -undefined8 FUN_7f01f650(ulonglong param_1) - -{ - undefined *puVar3; - undefined8 uVar1; - ulonglong uVar2; - longlong lVar4; - - puVar3 = loc_7F01DE38(param_1); - if (puVar3 == NULL) { - uVar1 = 0; - } - else { - lVar4 = 0; - if ((puVar3[9] & 1) == 0) { - do { - uVar2 = loc_7F01DCA0((int)puVar3,lVar4,2); - if (uVar2 == 0) break; - lVar4 = (longlong)((int)lVar4 + 1); - } while (lVar4 != 0x14); - if (lVar4 == 0x14) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 1; - } - } - return uVar1; -} - - - -undefined4 FUN_7f01f6e0(void) - -{ - return DAT_8002cca8; -} - - - -void FUN_7f01f6ec(undefined8 param_1) - -{ - FUN_7f0be2c4((int)param_1 << 4); - return; -} - - - -void FUN_7f01f70c(undefined4 param_1) - -{ - DAT_8002cc9c = param_1; - return; -} - - - -undefined4 FUN_7f01f718(void) - -{ - return DAT_8002cc9c; -} - - - -undefined4 loc_7F01F5D8(int param_1) - -{ - undefined4 in_v0_lo; - longlong lVar1; - - if (*(int *)(param_1 + 0x14) != 0) { - lVar1 = sub_7F0B20D0((int *)(param_1 + 0x14),*(float *)(param_1 + 8),*(float *)(param_1 + 0x10), - 1.00000000); - in_v0_lo = (undefined4)lVar1; - if (lVar1 < 0) { - in_v0_lo = FUN_7f0b3520(*(undefined4 *)(param_1 + 0x14),*(undefined4 *)(param_1 + 8), - *(undefined4 *)(param_1 + 0x10)); - } - } - return in_v0_lo; -} - - - -void loc_7F01F604(int param_1,longlong param_2) - -{ - if (param_2 == 0) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x100; - return; - } - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfeff; - return; -} - - - -void loc_7F01FBF8(int param_1,int param_2,float *param_3,float *param_4,int param_5) - -{ - longlong lVar1; - bool bVar2; - undefined7 extraout_var; - undefined7 extraout_var_00; - undefined7 uVar3; - undefined7 extraout_var_01; - undefined7 extraout_var_02; - undefined7 extraout_var_03; - undefined uVar4; - undefined4 uVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fStack88; - float fStack80; - float afStack44 [2]; - float fStack36; - float afStack32 [2]; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - iStack8 = param_2; - sub_7F023160(*(int *)(param_1 + 0x18),&fStack20,&fStack12,&fStack16); - loc_7F01F604(param_1,0); - FUN_7f0b2874(); - uVar3 = extraout_var; - uVar5 = loc_7F0B13B4(&iStack8,*param_3,param_3[2],*param_4,param_4[2],0x1f,fStack12,fStack16, - 0.00000000,1.00000000); - uVar4 = (undefined)((uint)uVar5 >> 0x18); - if ((CONCAT71(uVar3,uVar4) == 0) || - (loc_7F0B1C80(&iStack8,*param_4,param_4[2],fStack20,0x1f,fStack12,fStack16), - -1 < CONCAT71(extraout_var_00,uVar4))) { - lVar1 = FUN_7f0b3460(afStack32,afStack44); - uVar3 = (undefined7)((ulonglong)lVar1 >> 8); - if (lVar1 != 0) { - fVar10 = *param_4 - *param_3; - fVar9 = param_4[2] - param_3[2]; - if ((afStack32[0] == afStack44[0]) && (fStack24 == fStack36)) { - bVar2 = false; - } - else { - fVar8 = fStack36 - fStack24; - fVar6 = afStack44[0] - afStack32[0]; - fVar7 = sqrtf(fVar8 * fVar8 + fVar6 * fVar6); - fVar6 = fVar6 * (1.00000000 / fVar7); - fVar8 = fVar8 * (1.00000000 / fVar7); - fVar7 = fVar8 * fVar9 + fVar10 * fVar6; - fStack88 = fVar6 * fVar7 + *param_3; - fStack80 = fVar8 * fVar7 + param_3[2]; - bVar2 = true; - iStack8 = param_2; - } - if (bVar2) { - uVar5 = loc_7F0B13B4(&iStack8,*param_3,param_3[2],fStack88,fStack80,0x1f,fStack12,fStack16, - 0.00000000,1.00000000); - uVar4 = (undefined)((uint)uVar5 >> 0x18); - if ((CONCAT71(uVar3,uVar4) != 0) && - (loc_7F0B1C80(&iStack8,fStack88,fStack80,fStack20,0x1f,fStack12,fStack16), - uVar3 = extraout_var_01, CONCAT71(extraout_var_01,uVar4) < 0)) { - *param_4 = fStack88; - param_4[2] = fStack80; - *(undefined *)(param_1 + 9) = 2; - iStack4 = iStack8; - goto LAB_7f01fd8c; - } - } - if ((fStack24 - param_4[2]) * (fStack24 - param_4[2]) + - (afStack32[0] - *param_4) * (afStack32[0] - *param_4) <= fStack20 * fStack20) { - if (afStack32[0] == *param_3) { - if (fStack24 == param_3[2]) goto LAB_7f01fd8c; - fVar6 = param_3[2]; - } - else { - fVar6 = param_3[2]; - } - fVar7 = -(fStack24 - fVar6); - afStack32[0] = afStack32[0] - *param_3; - fVar6 = sqrtf(afStack32[0] * afStack32[0] + fVar7 * fVar7); - fVar7 = fVar7 * (1.00000000 / fVar6); - afStack32[0] = afStack32[0] * (1.00000000 / fVar6); - fVar10 = afStack32[0] * fVar9 + fVar10 * fVar7; - fVar9 = fVar7 * fVar10 + *param_3; - fVar10 = afStack32[0] * fVar10 + param_3[2]; - iStack8 = param_2; - uVar5 = loc_7F0B13B4(&iStack8,*param_3,param_3[2],fVar9,fVar10,0x1f,fStack12,fStack16, - 0.00000000,1.00000000); - uVar4 = (undefined)((uint)uVar5 >> 0x18); - if ((CONCAT71(uVar3,uVar4) != 0) && - (loc_7F0B1C80(&iStack8,fVar9,fVar10,fStack20,0x1f,fStack12,fStack16), - CONCAT71(extraout_var_02,uVar4) < 0)) { - *param_4 = fVar9; - param_4[2] = fVar10; - *(undefined *)(param_1 + 9) = 2; - iStack4 = iStack8; - } - } - else { - if ((fStack36 - param_4[2]) * (fStack36 - param_4[2]) + - (afStack44[0] - *param_4) * (afStack44[0] - *param_4) <= fStack20 * fStack20) { - if (afStack44[0] == *param_3) { - if (fStack36 == param_3[2]) goto LAB_7f01fd8c; - fVar6 = param_3[2]; - } - else { - fVar6 = param_3[2]; - } - fVar7 = -(fStack36 - fVar6); - afStack44[0] = afStack44[0] - *param_3; - fVar6 = sqrtf(afStack44[0] * afStack44[0] + fVar7 * fVar7); - fVar7 = fVar7 * (1.00000000 / fVar6); - afStack44[0] = afStack44[0] * (1.00000000 / fVar6); - fVar10 = afStack44[0] * fVar9 + fVar10 * fVar7; - fVar9 = fVar7 * fVar10 + *param_3; - fVar10 = afStack44[0] * fVar10 + param_3[2]; - iStack8 = param_2; - uVar5 = loc_7F0B13B4(&iStack8,*param_3,param_3[2],fVar9,fVar10,0x1f,fStack12,fStack16, - 0.00000000,1.00000000); - uVar4 = (undefined)((uint)uVar5 >> 0x18); - if ((CONCAT71(uVar3,uVar4) != 0) && - (loc_7F0B1C80(&iStack8,fVar9,fVar10,fStack20,0x1f,fStack12,fStack16), - CONCAT71(extraout_var_03,uVar4) < 0)) { - *param_4 = fVar9; - param_4[2] = fVar10; - *(undefined *)(param_1 + 9) = 2; - iStack4 = iStack8; - } - } - } - } - } - else { - if (param_5 != 0) { - *(undefined *)(param_1 + 9) = 0; - *(undefined4 *)(param_1 + 0xcc) = DAT_800483ac; - } - iStack4 = iStack8; - } -LAB_7f01fd8c: - loc_7F01F604(param_1,1); - if (iStack4 == 0) { - *(undefined *)(param_1 + 9) = 1; - } - return; -} - - - -undefined8 loc_7F01FFB0(int param_1,float *param_2,float *param_3,float *param_4) - -{ - bool bVar1; - int iVar2; - bool bVar3; - float fVar4; - longlong lVar5; - int iVar6; - float *pfVar7; - float fVar8; - float fVar9; - float fVar10; - - iVar2 = *(int *)(param_1 + 4); - bVar1 = false; - fVar9 = 0.00000000; - if (*(int *)(*(int *)(iVar2 + 0x18) + 0x14) == 0) goto LAB_7f020130; - if ((*(char *)(iVar2 + 7) == '\x04') && (fVar9 = *(float *)(iVar2 + 0x38), 0.00000000 < fVar9)) { - fVar9 = (*(float *)(param_1 + 0xa4) * DAT_800483a8 * (fVar9 - *(float *)(iVar2 + 0x3c))) / fVar9 - ; - *param_3 = *param_3 + *(float *)(iVar2 + 0x40) * fVar9; - param_3[1] = param_3[1] + *(float *)(iVar2 + 0x44) * fVar9; - param_3[2] = param_3[2] + *(float *)(iVar2 + 0x48) * fVar9; - *(float *)(iVar2 + 0x3c) = *(float *)(iVar2 + 0x3c) + DAT_800483a8 * *(float *)(param_1 + 0xa4); - if (*(float *)(iVar2 + 0x38) < *(float *)(iVar2 + 0x3c)) { - *(undefined4 *)(iVar2 + 0x38) = 0; - } - } - *param_3 = *param_3 + *(float *)(iVar2 + 0xb0) * DAT_800483b4; - param_3[2] = param_3[2] + *(float *)(iVar2 + 0xb8) * DAT_800483b4; - lVar5 = loc_7F01FBF8(iVar2,*(int *)(*(int *)(iVar2 + 0x18) + 0x14),param_2,param_3,1); - bVar1 = lVar5 != 0; - pfVar7 = param_2; - if (bVar1) { - *(undefined4 *)(*(int *)(iVar2 + 0x18) + 0x14) = (int)lVar5; - pfVar7 = param_3; - } - if ((*(uint *)(iVar2 + 0x14) & 0x1000) != 0) { - fVar9 = *(float *)(iVar2 + 0xac); - goto LAB_7f020130; - } - fVar9 = (float)FUN_7f0b3520(*(undefined4 *)(*(int *)(iVar2 + 0x18) + 0x14),*pfVar7,pfVar7[2]); - *(float *)(iVar2 + 0xac) = fVar9; - if ((*(uint *)(iVar2 + 0x14) & 1) == 0) { - if (*(float *)(iVar2 + 0xb4) == 0.00000000) { - fVar8 = *(float *)(iVar2 + 0xac); - if (fVar8 < *(float *)(iVar2 + 0xa8)) goto LAB_7f01fff4; - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar8; - } - else { -LAB_7f01fff4: - FUN_7f058264((float *)(iVar2 + 0xa8),(float *)(iVar2 + 0xb4),DAT_800483b4); - fVar8 = *(float *)(iVar2 + 0xac); - if (*(float *)(iVar2 + 0xa8) <= fVar8) { - *(float *)(iVar2 + 0xa8) = fVar8; - fVar4 = DAT_80051d44; - *(undefined4 *)(iVar2 + 0xb4) = 0; - *(float *)(iVar2 + 0xa4) = fVar8 / fVar4; - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar8; - } - else { - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar8; - } - } - fVar4 = DAT_80051d48; - if (bVar3) { - iVar6 = 0; - if (0 < DAT_800483a4) { - fVar10 = *(float *)(iVar2 + 0xa4); - while( true ) { - iVar6 += 1; - *(float *)(iVar2 + 0xb0) = *(float *)(iVar2 + 0xb0) * fVar4; - *(float *)(iVar2 + 0xa4) = fVar10 * fVar4 + fVar8; - *(float *)(iVar2 + 0xb8) = *(float *)(iVar2 + 0xb8) * fVar4; - if (DAT_800483a4 <= iVar6) break; - fVar10 = *(float *)(iVar2 + 0xa4); - } - } - fVar8 = DAT_80051d4c; - bVar3 = DAT_80051d4c <= *(float *)(iVar2 + 0xb0); - *(float *)(iVar2 + 0xa8) = *(float *)(iVar2 + 0xa4) * DAT_80051d50; - if (bVar3) goto LAB_7f020110; - if (DAT_80051d54 < *(float *)(iVar2 + 0xb0)) { - if (*(float *)(iVar2 + 0xb8) < fVar8) { - if (DAT_80051d54 < *(float *)(iVar2 + 0xb8)) { - *(undefined4 *)(iVar2 + 0xb8) = 0; - *(undefined4 *)(iVar2 + 0xb0) = 0; - goto LAB_7f020110; - } - fVar8 = *(float *)(iVar2 + 0xa8); - } - else { - fVar8 = *(float *)(iVar2 + 0xa8); - } - } - else { - fVar8 = *(float *)(iVar2 + 0xa8); - } - } - else { - fVar8 = *(float *)(iVar2 + 0xa8); - } - } - else { - iVar6 = loc_7F06C888(param_1,**(ushort ***)(param_1 + 8)); - *(uint *)(iVar2 + 0x14) = *(uint *)(iVar2 + 0x14) & 0xfffffffe; - *(float *)(iVar2 + 0xa8) = *(float *)(iVar2 + 0xac); - *(float *)(iVar2 + 0xa4) = *(float *)(iVar2 + 0xac) / DAT_80051d40; - *(undefined4 *)(iVar6 + 0x38) = *(undefined4 *)(iVar6 + 0x28); -LAB_7f020110: - fVar8 = *(float *)(iVar2 + 0xa8); - } - param_3[1] = param_3[1] + (fVar8 - fVar9); -LAB_7f020130: - *param_4 = fVar9; - if (!bVar1) { - *param_3 = *param_2; - param_3[2] = param_2[2]; - } - return 1; -} - - - -int FUN_7f020170(void) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar2 = 0; - iVar1 = 0; - if (0 < DAT_8002cca8) { - iVar3 = DAT_8002cca4; - do { - iVar1 += 0x1dc; - if (*(int *)(iVar3 + 0x1c) == 0) { - iVar2 += 1; - } - iVar3 += 0x1dc; - } while (iVar1 < DAT_8002cca8 * 0x1dc); - } - return iVar2; -} - - - -undefined4 FUN_7f0201c8(int iParm1,float fParm2) - -{ - undefined4 uVar1; - float in_f0; - - uVar1 = FUN_7f01d498(); - *(float *)(iParm1 + 0x100) = in_f0 * fParm2; - return uVar1; -} - - - -void FUN_7f020204(int iParm1,float fParm2) - -{ - float in_f0; - - FUN_7f01d498(); - *(float *)(iParm1 + 0xfc) = *(float *)(iParm1 + 0xfc) - fParm2 * in_f0; - return; -} - - - -undefined * -FUN_7f02026c(undefined *param_1,undefined2 *param_2,float *param_3,float param_4,undefined4 param_5, - undefined4 param_6) - -{ - int *piVar1; - int iVar2; - undefined4 uVar3; - undefined2 uVar4; - undefined uVar5; - undefined uVar6; - uint3 in_register_00000018; - uint uVar7; - int iVar8; - int iVar9; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined2 *puVar10; - float fVar11; - - puVar10 = NULL; - uVar4 = 0; - uVar5 = 0; - if (0 < (longlong)DAT_8002cca8) { - iVar9 = 0; - uVar6 = 0; - iVar8 = DAT_8002cca4; - do { - piVar1 = (int *)(iVar8 + 0x1c); - iVar2 = CONCAT31(CONCAT21(uVar4,uVar5),uVar6) + 1; - uVar4 = (undefined2)((ulonglong)(longlong)iVar2 >> 0x10); - uVar5 = (undefined)((ulonglong)(longlong)iVar2 >> 8); - uVar6 = (undefined)iVar2; - iVar8 += 0x1dc; - in_register_00000018 = (uint3)(iVar8 >> 0x1f); - if (*piVar1 == 0) { - puVar10 = (undefined2 *)(iVar9 + DAT_8002cca4); - break; - } - iVar9 += 0x1dc; - } while (CONCAT71(CONCAT61(CONCAT42(iVar2 >> 0x1f,uVar4),uVar5),uVar6) < (longlong)DAT_8002cca8) - ; - } - *param_1 = 3; - *(undefined2 **)(param_1 + 4) = puVar10; - *(float *)(param_1 + 8) = *param_3; - *(float *)(param_1 + 0xc) = param_3[1]; - *(float *)(param_1 + 0x10) = param_3[2]; - *(undefined4 *)(param_1 + 0x14) = param_5; - sub_7F06FF5C((int)param_2,loc_7F01FFB0); - *param_2 = 10; - *(undefined2 **)(param_2 + 2) = puVar10; - FUN_7f06d1fc((int)param_2,param_3,extraout_a2_lo,extraout_a3_lo); - FUN_7f06d32c((int)param_2,param_4,extraout_a2_lo_00,extraout_a3_lo_00); - fVar11 = (float)loc_7F06FF50((int)param_2,DAT_8002c940,0.00000000); - uVar7 = (uint)in_register_00000018 | 0xa0000000; - *puVar10 = (short)DAT_8002cca0; - DAT_8002cca0 += 1; - *(undefined *)(puVar10 + 3) = 0; - *(undefined *)((int)puVar10 + 0xf) = 0; - *(undefined **)(puVar10 + 0xc) = param_1; - *(undefined2 **)(puVar10 + 0xe) = param_2; - *(undefined4 *)(puVar10 + 0x10) = 0; - *(undefined *)((int)puVar10 + 0xb) = 0; - *(undefined4 *)(puVar10 + 100) = 0; - *(undefined *)((int)puVar10 + 9) = 0; - uVar3 = DAT_800483ac; - *(undefined4 *)(puVar10 + 0x6a) = 0; - *(undefined4 *)(puVar10 + 0x6c) = 0; - *(undefined4 *)(puVar10 + 0x6e) = 0; - *(undefined4 *)(puVar10 + 0x70) = 0; - *(undefined4 *)(puVar10 + 0x72) = 0; - *(undefined4 *)(puVar10 + 0x74) = 0; - *(undefined4 *)(puVar10 + 0x78) = 0; - *(undefined *)(puVar10 + 5) = 0; - *(undefined4 *)(puVar10 + 0x9e) = 0; - *(undefined4 *)(puVar10 + 0x7e) = 0; - *(undefined4 *)(puVar10 + 0x68) = 0x437a0000; - *(undefined4 *)(puVar10 + 0x66) = uVar3; - *(undefined4 *)(puVar10 + 0x76) = 0x3f800000; - FUN_7f01d498(); - uVar7 &= 0xffffff; - *(float *)(puVar10 + 0x80) = fVar11 * 4.00000000; - loc_7F04028C((int)param_1,(byte *)(puVar10 + 0x7c)); - *(undefined *)(puVar10 + 6) = 0xff; - *(undefined4 *)(puVar10 + 0xb4) = 0; - *(undefined4 *)(puVar10 + 0xb6) = 0; - *(undefined4 *)(puVar10 + 0xb8) = 0; - *(undefined4 *)(puVar10 + 0xba) = 0; - *(undefined4 *)(puVar10 + 0xbc) = 0; - *(undefined4 *)(puVar10 + 0xbe) = 0; - *(undefined4 *)(puVar10 + 10) = 1; - puVar10[9] = 0; - *(undefined4 *)(puVar10 + 0x52) = 0; - *(undefined4 *)(puVar10 + 0x54) = 0; - *(undefined4 *)(puVar10 + 0x56) = 0; - *(undefined4 *)(puVar10 + 0x58) = 0; - *(undefined4 *)(puVar10 + 0x5a) = 0; - *(undefined4 *)(puVar10 + 0x5c) = 0; - *(undefined *)(puVar10 + 0x7a) = *(undefined *)(puVar10 + 0x7c); - *(undefined *)((int)puVar10 + 0xf5) = *(undefined *)((int)puVar10 + 0xf9); - *(undefined *)(puVar10 + 0x7b) = *(undefined *)(puVar10 + 0x7d); - *(undefined *)((int)puVar10 + 0xf7) = *(undefined *)((int)puVar10 + 0xfb); - uVar7 = uVar7 & 0xffffff | 0xff000000; - *(float *)(puVar10 + 0x5e) = *param_3; - *(float *)(puVar10 + 0x60) = param_3[1]; - fVar11 = param_3[2]; - *(undefined *)((int)puVar10 + 7) = 0; - *(undefined *)(puVar10 + 4) = 0; - *(float *)(puVar10 + 0x62) = fVar11; - puVar10[0x84] = 0; - puVar10[0x85] = 0xffff; - *(undefined *)(puVar10 + 0x86) = 0; - *(undefined *)((int)puVar10 + 0x10d) = 0; - *(undefined *)(puVar10 + 0x87) = 0; - *(undefined *)((int)puVar10 + 0x10f) = 0; - *(undefined4 *)(puVar10 + 0x88) = 0; - puVar10[0x8a] = 0xffff; - puVar10[0x8c] = 0xffff; - puVar10[0x8d] = 0xffff; - puVar10[0x8b] = 0xffff; - *(undefined *)(puVar10 + 0xc0) = 0xff; - *(undefined *)(puVar10 + 0xd6) = 0xff; - *(undefined *)(puVar10 + 2) = 0; - *(undefined *)((int)puVar10 + 5) = 0; - *(undefined *)(puVar10 + 8) = 0; - *(undefined *)(puVar10 + 1) = 0; - *(undefined *)((int)puVar10 + 3) = 0; - *(undefined *)((int)puVar10 + 0xd) = 0; - *(undefined *)((int)puVar10 + 0x11) = 0xff; - *(undefined4 *)(puVar10 + 0xa0) = 0; - *(undefined4 *)(puVar10 + 0xa2) = 0; - *(undefined4 *)(puVar10 + 0xa4) = 0; - *(undefined4 *)(puVar10 + 0xa6) = 0; - *(undefined4 *)(puVar10 + 0xa8) = 0; - *(undefined4 *)(puVar10 + 0xaa) = 0; - *(undefined4 *)(puVar10 + 0xac) = 0; - *(undefined4 *)(puVar10 + 0xae) = 0; - *(undefined *)(puVar10 + 7) = 0; - *(undefined4 *)(puVar10 + 0xb0) = 0; - *(undefined4 *)(puVar10 + 0xb2) = 0; - *(undefined4 *)(puVar10 + 0xec) = 0; - *(undefined4 *)(puVar10 + 0x12) = 0x41a00000; - *(undefined4 *)(puVar10 + 0x82) = param_6; - *(undefined4 *)(puVar10 + 0x14) = 0x43390000; - loc_7F01FFB0((int)param_2,(float *)(param_1 + 8),(float *)(param_1 + 8),(float *)(puVar10 + 0x56)) - ; - uVar7 &= 0xffffff; - sub_7F020D94((int)puVar10); - return (undefined *)(uVar7 & 0xffffff | (int)param_1 << 0x18); -} - - - -longlong FUN_7f020568(undefined2 *param_1,float *param_2,float param_3,undefined4 param_4, - undefined4 param_5) - -{ - undefined *puVar1; - undefined3 in_register_00000018; - undefined4 in_register_0000001b; - - puVar1 = (undefined *)FUN_7f03a730(); - puVar1._3_1_ = SUB41(puVar1,0); - if (puVar1 != NULL) { - puVar1 = FUN_7f02026c(puVar1,param_1,param_2,param_3,param_4,param_5); - puVar1._3_1_ = (undefined)((uint)puVar1 >> 0x18); - in_register_00000018 = SUB43(puVar1,0); - } - return CONCAT44(CONCAT13(puVar1._3_1_,in_register_00000018),in_register_0000001b); -} - - - -void loc_7F020528(int param_1) - -{ - undefined2 *puVar1; - int iVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - int iVar6; - - puVar1 = *(undefined2 **)(param_1 + 4); - iVar2 = *(int *)(puVar1 + 0xe); - if (*(int *)(puVar1 + 0xb4) == 0) { - iVar6 = *(int *)(puVar1 + 0xb6); - } - else { - uVar5 = locret_70008E00(*(int *)(puVar1 + 0xb4)); - if (uVar5 == 0) { - iVar6 = *(int *)(puVar1 + 0xb6); - } - else { - loc_7000905C(*(int *)(puVar1 + 0xb4)); - iVar6 = *(int *)(puVar1 + 0xb6); - } - } - if (iVar6 == 0) { - iVar6 = *(int *)(puVar1 + 0xb8); - } - else { - uVar5 = locret_70008E00(iVar6); - if (uVar5 == 0) { - iVar6 = *(int *)(puVar1 + 0xb8); - } - else { - loc_7000905C(*(int *)(puVar1 + 0xb6)); - iVar6 = *(int *)(puVar1 + 0xb8); - } - } - if (iVar6 == 0) { - iVar6 = *(int *)(puVar1 + 0xba); - } - else { - uVar5 = locret_70008E00(iVar6); - if (uVar5 == 0) { - iVar6 = *(int *)(puVar1 + 0xba); - } - else { - loc_7000905C(*(int *)(puVar1 + 0xb8)); - iVar6 = *(int *)(puVar1 + 0xba); - } - } - if ((iVar6 != 0) && (uVar5 = locret_70008E00(iVar6), uVar5 != 0)) { - loc_7000905C(*(int *)(puVar1 + 0xba)); - } - loc_7F050F20(iVar2); - loc_7F03E1F8(param_1); - iVar6 = *(int *)(param_1 + 0x20); - while (iVar6 != 0) { - iVar3 = *(int *)(iVar6 + 4); - iVar4 = *(int *)(iVar6 + 0x24); - loc_7F04C124(iVar6); - FUN_7f041324(iVar3,1); - iVar6 = iVar4; - } - FUN_7f06c9e8(iVar2); - *(undefined4 *)(puVar1 + 0xe) = 0; - *puVar1 = 0xffff; - if (*(int *)(puVar1 + 0x10) != 0) { - FUN_7f06b838(*(int *)(puVar1 + 0x10)); - } - return; -} - - - -void FUN_7f0206f0(undefined4 param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - iVar4 = 0; - DAT_8002c940 = param_1; - if (0 < DAT_8002cca8) { - iVar3 = 0; - iVar2 = DAT_8002cca8; - DAT_8002c940 = param_1; - do { - iVar1 = *(int *)(DAT_8002cca4 + iVar3 + 0x1c); - if (iVar1 != 0) { - loc_7F06FF50(iVar1,DAT_8002c940,600.00000000); - iVar2 = DAT_8002cca8; - } - iVar4 += 1; - iVar3 += 0x1dc; - } while (iVar4 < iVar2); - } - return; -} - - - -undefined4 FUN_7f020794(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -void loc_7F0206B0(int param_1) - -{ - float fVar1; - float fVar2; - float fVar3; - - if (*(char *)(param_1 + 0xe) < '\x02') { - *(undefined4 *)(param_1 + 0x140) = *(undefined4 *)(param_1 + 0x150); - *(undefined4 *)(param_1 + 0x144) = *(undefined4 *)(param_1 + 0x154); - *(undefined4 *)(param_1 + 0x148) = *(undefined4 *)(param_1 + 0x158); - *(undefined4 *)(param_1 + 0x14c) = *(undefined4 *)(param_1 + 0x15c); - return; - } - fVar2 = 1.00000000; - fVar1 = DAT_800483a8 / (float)(int)*(char *)(param_1 + 0xe); - if (1.00000000 < fVar1) { - fVar3 = *(float *)(param_1 + 0x140); - } - else { - fVar3 = *(float *)(param_1 + 0x140); - fVar2 = fVar1; - } - *(float *)(param_1 + 0x140) = fVar3 + (*(float *)(param_1 + 0x150) - fVar3) * fVar2; - *(float *)(param_1 + 0x144) = - *(float *)(param_1 + 0x144) + - (*(float *)(param_1 + 0x154) - *(float *)(param_1 + 0x144)) * fVar2; - *(float *)(param_1 + 0x148) = - *(float *)(param_1 + 0x148) + - (*(float *)(param_1 + 0x158) - *(float *)(param_1 + 0x148)) * fVar2; - *(float *)(param_1 + 0x14c) = - *(float *)(param_1 + 0x14c) + - (*(float *)(param_1 + 0x15c) - *(float *)(param_1 + 0x14c)) * fVar2; - *(char *)(param_1 + 0xe) = *(char *)(param_1 + 0xe) - (char)DAT_800483a4; - return; -} - - - -void loc_7F020788(int param_1) - -{ - uint uVar1; - - if (*(char *)(param_1 + 0x11) < '\0') { - *(undefined *)(param_1 + 0x11) = 1; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfff; - uVar1 = FUN_7000a460(); - if (uVar1 % 3 == 0) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x1000; - } - else { - if (uVar1 % 3 == 1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x2000; - } - } - uVar1 = FUN_7000a460(); - if (uVar1 % 3 == 0) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x4000; - } - else { - if (uVar1 % 3 == 1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x8000; - } - } - } - return; -} - - - -float loc_7F020828(int param_1) - -{ - float fVar1; - - fVar1 = (float)(int)*(char *)(param_1 + 0x11); - if (fVar1 < 10.00000000) { - fVar1 = func_7F057FC4((fVar1 * DAT_80051d58 * 0.25000000) / 10.00000000); - } - else { - fVar1 = func_7F057FC4(((fVar1 - 10.00000000) * DAT_80051d5c * 0.25000000) / 20.00000000); - fVar1 = 1.00000000 - fVar1; - } - return fVar1; -} - - - -undefined8 FUN_7f0209ec(longlong param_1,longlong param_2) - -{ - if (DAT_80048500 == 0) { - return 1; - } - if (((((((param_1 != 6) && (param_1 != 7)) && (param_1 != 8)) && - ((param_1 != 9 && (param_1 != 10)))) && - ((param_1 != 0xb && ((param_1 != 0xc && (param_1 != 0xd)))))) && (param_1 != 0xe)) && - (((((param_1 != 0xf && (param_1 != 0x10)) && (param_1 != 0x4f)) && - (((param_2 != 0x4a && (param_2 != 0x4b)) && - ((param_2 != 0x4c && ((param_2 != 0x4d && (param_2 != 0x4e)))))))) && (param_2 != 0x45)))) { - return 1; - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f020b20) overlaps instruction at (ram,0x7f020b1c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f020aac(int param_1,float *param_2) - -{ - ushort uVar1; - bool bVar2; - uint uVar4; - longlong lVar3; - float *pfVar5; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 uVar6; - char cVar7; - float fVar8; - float fVar9; - float afStack104 [16]; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack4 = 1.00000000; - uVar4 = FUN_7f09333c(0xc); - if ((uVar4 != 0) && - (lVar3 = FUN_7f0209ec((longlong)*(char *)(_DAT_80069ba0 + 0xf), - (longlong)*(char *)(_DAT_80069ba0 + 6)), lVar3 != 0)) { - if (param_1 == 0) { - fStack4 = 4.00000000; - } - else { - if (((param_1 == 2) || (param_1 == 3)) && (-1 < *(int *)(_DAT_80069ba0 + 0x14) << 4)) { - fStack4 = 2.50000000; - } - } - } - if (((param_1 != 2) && (param_1 != 3)) && ((param_1 != 1 && (param_1 != 0)))) { - return; - } - fStack8 = 0.00000000; - fStack12 = 0.00000000; - fStack16 = 0.00000000; - if (param_1 == 3) { - fVar9 = *(float *)(_DAT_80069ba0 + 0x144); -LAB_7f020c90: - cVar7 = *(char *)(_DAT_80069ba0 + 0x11); - fStack8 = fVar9; - } - else { - if (param_1 == 2) { - fVar9 = *(float *)(_DAT_80069ba0 + 0x140); - goto LAB_7f020c90; - } - if (param_1 == 1) { - fVar9 = *(float *)(_DAT_80069ba0 + 0x148); - if ((*(ushort *)(_DAT_80069ba0 + 0x12) & 0x400) != 0) { - if (DAT_80051d60 < fVar9) { - fVar9 = fVar9 - DAT_80051d60; - } - else { - if (fVar9 < DAT_80051d64) { - fVar9 = fVar9 + DAT_80051d68; - } - else { - fVar9 = 0.00000000; - } - } - } - fStack12 = *(float *)(_DAT_80069ba0 + 0x14c); - goto LAB_7f020c90; - } - if (param_1 == 0) { - if ((*(ushort *)(_DAT_80069ba0 + 0x12) & 0x400) == 0) { - if (*(char *)(*(int *)(_DAT_80069ba0 + 0x1c) + 0x24) == '\0') { - fVar9 = *(float *)(_DAT_80069ba0 + 0x144); - } - else { - fVar9 = *(float *)(_DAT_80069ba0 + 0x140); - } - } - else { - fStack8 = *(float *)(_DAT_80069ba0 + 0x148); - fVar9 = fStack8; - if ((((*(ushort *)(_DAT_80069ba0 + 0x12) & 0x400) != 0) && - (fVar9 = DAT_80051d6c, fStack8 <= DAT_80051d6c)) && - (fVar9 = DAT_80051d70, DAT_80051d70 <= fStack8)) { - cVar7 = *(char *)(_DAT_80069ba0 + 0x11); - goto LAB_7f020c94; - } - } - goto LAB_7f020c90; - } - cVar7 = *(char *)(_DAT_80069ba0 + 0x11); - } -LAB_7f020c94: - if (cVar7 < '\0') { - bVar2 = fStack8 == 0.00000000; - } - else { - if ((param_1 == 3) || (param_1 == 2)) { - fVar9 = loc_7F020828(_DAT_80069ba0); - fVar9 = (fVar9 * DAT_80051d74 * 15.00000000) / 360.00000000; - fStack8 = fStack8 - fVar9; - if ((*(ushort *)(_DAT_80069ba0 + 0x12) & 0x1000) == 0) { - if ((*(ushort *)(_DAT_80069ba0 + 0x12) & 0x2000) == 0) { - bVar2 = fStack8 == 0.00000000; - goto LAB_7f020df0; - } - fStack12 = fStack12 + fVar9; - } - else { - fStack12 = fStack12 - fVar9; - } - } - else { - if (param_1 == 1) { - fVar9 = loc_7F020828(_DAT_80069ba0); - fVar9 = fVar9 * DAT_80051d78; - uVar1 = *(ushort *)(_DAT_80069ba0 + 0x12); - fVar8 = (fVar9 * 15.00000000) / 360.00000000; - fStack8 = fStack8 + fVar8; - if ((uVar1 & 0x1000) == 0) { - if ((uVar1 & 0x2000) != 0) { - fStack12 = fStack12 - fVar8; - } - } - else { - fStack12 = fStack12 + fVar8; - } - if ((uVar1 & 0x4000) == 0) { - if ((uVar1 & 0x8000) != 0) { - fStack16 = 0.00000000 - (fVar9 * 10.00000000) / 360.00000000; - } - } - else { - fStack16 = (fVar9 * 10.00000000) / 360.00000000 + 0.00000000; - } - } - } - bVar2 = fStack8 == 0.00000000; - } -LAB_7f020df0: - if ((((!bVar2) || (fStack12 != 0.00000000)) || (fStack16 != 0.00000000)) || - (fStack4 != 1.00000000)) { - fStack40 = (float)FUN_7f02c498(_DAT_80069ba0); - if (fStack8 < 0.00000000) { - fStack8 = -fStack8; - } - else { - fStack8 = DAT_80051d7c - fStack8; - } - if (fStack12 < 0.00000000) { - fStack12 = fStack12 + DAT_80051d80; - } - pfVar5 = (float *)FUN_7f078a34(); - FUN_7f0585b8(pfVar5,param_2); - fStack36 = param_2[0xc]; - fStack32 = param_2[0xd]; - fStack28 = param_2[0xe]; - param_2[0xc] = 0.00000000; - param_2[0xd] = 0.00000000; - param_2[0xe] = 0.00000000; - if ((fStack8 == 0.00000000) && (fStack16 == 0.00000000)) { - FUN_7f058b1c(fStack12,extraout_a0,afStack104); - FUN_7f0585b8(afStack104,param_2); - uVar6 = extraout_a0_04; - } - else { - fVar9 = fStack12 - fStack40; - if (fVar9 < 0.00000000) { - fVar9 = fVar9 + DAT_80051d84; - } - FUN_7f058b1c(fVar9,extraout_a0,afStack104); - FUN_7f0585b8(afStack104,param_2); - uVar6 = extraout_a0_00; - if (fStack8 != 0.00000000) { - FUN_7f058a90(fStack8,extraout_a0_00,afStack104); - FUN_7f0585b8(afStack104,param_2); - uVar6 = extraout_a0_01; - } - if (fStack16 != 0.00000000) { - FUN_7f058ba8(fStack16,uVar6,afStack104); - FUN_7f0585b8(afStack104,param_2); - uVar6 = extraout_a0_02; - } - FUN_7f058b1c(fStack40,uVar6,afStack104); - FUN_7f0585b8(afStack104,param_2); - uVar6 = extraout_a0_03; - } - if (fStack4 != 1.00000000) { - matrix_multiply_A1_by_F12(fStack4,uVar6,param_2); - } - param_2[0xc] = fStack36; - param_2[0xd] = fStack32; - param_2[0xe] = fStack28; - pfVar5 = (float *)FUN_7f0789b4(); - FUN_7f0585b8(pfVar5,param_2); - } - return; -} - - - -void sub_7F020D94(int param_1) - -{ - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - char *pcStack4; - - pcStack4 = *(char **)(param_1 + 0x18); - fStack16 = *(float *)(pcStack4 + 8) - 50.00000000; - fStack12 = *(float *)(param_1 + 0xac) - 1.00000000; - fStack8 = *(float *)(pcStack4 + 0x10) - 50.00000000; - fStack28 = *(float *)(pcStack4 + 8) + 50.00000000; - fStack24 = *(float *)(pcStack4 + 0xc) + 100.00000000; - fStack20 = *(float *)(pcStack4 + 0x10) + 50.00000000; - loc_7F03E1F8((int)pcStack4); - loc_7F03E3E0(pcStack4,&fStack16,&fStack28,50.00000000); - loc_7F03E260((int)pcStack4); - return; -} - - - -void loc_7F020EE0(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - int iVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - - iVar1 = *(int *)(param_1 + 0x18); - iVar2 = *(int *)(param_1 + 0x1c); - if ((*(ushort *)(param_1 + 0x12) & 0x800) == 0) { - FUN_7f06d188(iVar2,(undefined4 *)(param_1 + 0xbc),param_3,param_4); - loc_7F070F58(iVar2,param_2,1); - FUN_7f06dca0(iVar2,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - loc_7F04028C(iVar1,(byte *)(param_1 + 0xf8)); - FUN_7f06d188(iVar2,(undefined4 *)(iVar1 + 8),extraout_a2_lo_00,extraout_a3_lo_00); - sub_7F020D94(param_1); - } - else { - FUN_7f06dca0(iVar2,param_2,param_3,param_4); - FUN_7f06d188(iVar2,(undefined4 *)(iVar1 + 8),extraout_a2_lo_01,extraout_a3_lo_01); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0215dc) overlaps instruction at (ram,0x7f0215d8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f021188(char *param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - char cVar1; - short *psVar2; - ushort *puVar3; - longlong lVar4; - undefined8 uVar5; - ulonglong uVar6; - uint uVar7; - uint uVar8; - int *piVar9; - undefined4 *puVar10; - int iVar11; - int iVar12; - float *pfVar13; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - uint extraout_a1_lo_01; - uint extraout_a1_lo_02; - uint extraout_a1_lo_03; - uint extraout_a1_lo_04; - uint extraout_a1_lo_05; - uint extraout_a1_lo_06; - uint extraout_a1_lo_07; - uint extraout_a1_lo_08; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a2_lo_04; - undefined4 extraout_a2_lo_05; - undefined4 extraout_a2_lo_06; - undefined4 extraout_a2_lo_07; - undefined4 extraout_a2_lo_08; - undefined4 extraout_a2_lo_09; - undefined4 extraout_a2_lo_10; - undefined4 extraout_a2_lo_11; - undefined4 uVar14; - undefined4 extraout_a2_lo_12; - undefined4 extraout_a2_lo_13; - undefined4 extraout_a2_lo_14; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined4 extraout_a3_lo_04; - undefined4 extraout_a3_lo_05; - undefined4 extraout_a3_lo_06; - undefined4 extraout_a3_lo_07; - undefined4 extraout_a3_lo_08; - undefined4 extraout_a3_lo_09; - undefined4 extraout_a3_lo_10; - undefined4 extraout_a3_lo_11; - undefined4 extraout_a3_lo_12; - undefined4 uVar15; - undefined4 extraout_a3_lo_13; - undefined4 extraout_a3_lo_14; - undefined4 extraout_a3_lo_15; - ushort uVar17; - int iVar16; - float **ppfVar18; - float **ppfVar19; - float **ppfVar20; - float **ppfVar21; - float fVar22; - undefined4 auStack244 [16]; - float afStack180 [16]; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - uint uStack92; - int iStack88; - uint uStack84; - undefined4 uStack80; - uint uStack76; - uint uStack72; - float *apfStack64 [4]; - undefined4 uStack48; - - ppfVar20 = (float **)&DAT_8002ccac; - ppfVar18 = apfStack64; - do { - ppfVar21 = ppfVar20 + 3; - ppfVar19 = ppfVar18 + 3; - *ppfVar18 = *ppfVar20; - ppfVar18[1] = ppfVar20[1]; - ppfVar18[2] = ppfVar20[2]; - ppfVar20 = ppfVar21; - ppfVar18 = ppfVar19; - } while (ppfVar21 != (float **)0x8002cce8); - *ppfVar19 = pfRam8002cce8; - psVar2 = *(short **)(param_1 + 4); - uStack72 = *(uint *)(psVar2 + 0xe); - uStack80 = 1; - uStack84 = DAT_800483a4; - if (((*(uint *)(psVar2 + 10) & 0x400) == 0) || ((int)(*(uint *)(psVar2 + 10) << 0xd) < 0)) { - if (DAT_8002c944 == 0) { - FUN_7f0329bc((int)psVar2); - param_2 = extraout_a1_lo_00; - param_4 = extraout_a3_lo_01; - param_3 = extraout_a2_lo_00; - if (*(int *)(psVar2 + 0xe) == 0) { - uVar8 = 1; - goto LAB_7f021df4; - } - } - else { - if (*(int *)(&DAT_80029dac + DAT_8002c948 * 4) != 1) { - uVar8 = sub_7F06F5AC(uStack72); - param_2 = *(uint *)(&DAT_80029dac + DAT_8002c948 * 4); - param_3 = 0; - param_4 = extraout_a3_lo; - if (uVar8 != param_2) { - FUN_7f070298(uStack72,param_2,0,0.00000000,0x3f000000,0.00000000); - param_2 = extraout_a1_lo; - param_4 = extraout_a3_lo_00; - param_3 = extraout_a2_lo; - } - } - } - if (DAT_8002c94c == 0) { - uVar17 = psVar2[9]; - } - else { - uStack84 = 0; - if (DAT_8002c950 == 0) { - uVar17 = psVar2[9]; - } - else { - uStack84 = 1; - uVar17 = psVar2[9]; - } - } - } - else { - uVar17 = psVar2[9]; - } - if ((uVar17 & 0x20) != 0) { - loc_7F020528((int)param_1); - uVar8 = 1; - goto LAB_7f021df4; - } - if (*(int *)(psVar2 + 0xb0) == 0) { - iVar11 = *(int *)(psVar2 + 0xb2); - iVar16 = iVar11 >> 0x1f; - } - else { - iVar11 = *(int *)(*(int *)(psVar2 + 0xb0) + 4); - if ((*(uint *)(iVar11 + 100) & 4) == 0) { - iVar11 = *(int *)(psVar2 + 0xb2); - iVar16 = iVar11 >> 0x1f; - } - else { - FUN_7f041324(iVar11,1); - iVar11 = *(int *)(psVar2 + 0xb2); - iVar16 = iVar11 >> 0x1f; - param_2 = extraout_a1_lo_01; - param_4 = extraout_a3_lo_02; - param_3 = extraout_a2_lo_01; - } - } - if (CONCAT44(iVar16,iVar11) == 0) { - uVar8 = *(uint *)(psVar2 + 10); - iVar11 = (int)uVar8 >> 0x1f; - } - else { - if ((*(uint *)(*(int *)(iVar11 + 4) + 100) & 4) == 0) { - uVar8 = *(uint *)(psVar2 + 10); - iVar11 = (int)uVar8 >> 0x1f; - } - else { - FUN_7f041324(*(int *)(iVar11 + 4),1); - uVar8 = *(uint *)(psVar2 + 10); - iVar11 = (int)uVar8 >> 0x1f; - param_2 = extraout_a1_lo_02; - param_4 = extraout_a3_lo_03; - param_3 = extraout_a2_lo_02; - } - } - if ((uVar8 & 0x400) == 0) { - if (*param_1 == '\x06') { - lVar4 = FUN_7f09bcfc((int)param_1); - param_4 = extraout_a3_lo_04; - param_3 = extraout_a2_lo_03; - if (**(int **)(&DAT_80079f50 + (int)lVar4 * 4) != 1) { - uVar8 = *(uint *)(psVar2 + 10); - iVar11 = (int)uVar8 >> 0x1f; - param_2 = extraout_a1_lo_03; - param_4 = extraout_a3_lo_04; - param_3 = extraout_a2_lo_03; - goto LAB_7f0213b0; - } - } - else { -LAB_7f0213b0: - if (-1 < (int)(uVar8 << 8)) { - iVar16 = (int)(*(char *)((int)psVar2 + 7) >> 7); - iVar12 = (int)*(char *)((int)psVar2 + 7); - if ((CONCAT44(iVar16,iVar12) == 0xe) || (CONCAT44(iVar16,iVar12) == 0xf)) { - if (((CONCAT44(iVar16,iVar12) == 0xe) && (*(char *)(psVar2 + 0x1c) == '\x06')) || - ((CONCAT44(iVar16,iVar12) == 0xf && (*(char *)(psVar2 + 0x2e) == '\x06')))) { - fVar22 = FUN_7f06d5fc(uStack72,param_2,0xe,param_4); - uVar7 = loc_7F054E94(param_1,(float *)(param_1 + 8),fVar22,1); - uStack76 = uVar8 & 0xffffff00 | uVar7 >> 0x18; - if (CONCAT44(iVar11,uStack76) != 0) { - FUN_7f06d188(uStack72,(undefined4 *)(psVar2 + 0x5e),extraout_a2_lo_04, - extraout_a3_lo_05); - FUN_7f06dca0(uStack72,extraout_a1_lo_04,extraout_a2_lo_05,extraout_a3_lo_06); - loc_7F04028C((int)param_1,(byte *)(psVar2 + 0x7c)); - FUN_7f06d188(uStack72,(undefined4 *)(param_1 + 8),extraout_a2_lo_06,extraout_a3_lo_07) - ; - sub_7F020D94((int)psVar2); - } - } - else { - uVar6 = loc_7F020EE0((int)psVar2,uStack84,0xe,param_4); - fVar22 = FUN_7f06d5fc(uStack72,extraout_a1_lo_05,extraout_a2_lo_07,extraout_a3_lo_08); - uVar8 = loc_7F054E94(param_1,(float *)(param_1 + 8),fVar22,1); - uStack76 = (uint)uVar6 & 0xffffff00 | uVar8 >> 0x18; - if ((uVar6 & 0xffffffff00000000 | (ulonglong)uStack76) != 0) { - cVar1 = *(char *)((int)psVar2 + 7); - if (CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) == 0xe) { - *(undefined4 *)(psVar2 + 0x3c) = DAT_800483ac; - } - else { - if (CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) == 0xf) { - *(undefined4 *)(psVar2 + 0x4e) = DAT_800483ac; - } - } - } - } - iVar11 = (int)(*(char *)((int)psVar2 + 7) >> 7); - iVar16 = (int)*(char *)((int)psVar2 + 7); - } - else { - if ((CONCAT44(iVar16,iVar12) == 3) && (*(int *)(psVar2 + 0x16) == 0)) { - fVar22 = FUN_7f06d5fc(uStack72,param_2,0xe,param_4); - uVar7 = loc_7F054E94(param_1,(float *)(param_1 + 8),fVar22,1); - uStack76 = uVar8 & 0xffffff00 | uVar7 >> 0x18; - if ((CONCAT44(iVar11,uStack76) == 0) || (*(int *)(psVar2 + 0x1e) != 0)) { - loc_7F070F58(uStack72,uStack84,0); - } - else { - loc_7F020EE0((int)psVar2,uStack84,extraout_a2_lo_08,extraout_a3_lo_09); - } - iVar11 = (int)(*(char *)((int)psVar2 + 7) >> 7); - iVar16 = (int)*(char *)((int)psVar2 + 7); - } - else { - if (CONCAT44(iVar16,iVar12) == 1) { - fVar22 = FUN_7f06d5fc(uStack72,param_2,0xe,param_4); - uVar7 = loc_7F054E94(param_1,(float *)(param_1 + 8),fVar22,1); - uStack76 = uVar8 & 0xffffff00 | uVar7 >> 0x18; - if ((CONCAT44(iVar11,uStack76) == 0) && ((*(uint *)(psVar2 + 10) & 1) == 0)) { - if (*(int *)(uStack72 + 0x54) != 0) { - loc_7F070F58(uStack72,uStack84,0); - } - } - else { - loc_7F020EE0((int)psVar2,uStack84,extraout_a2_lo_09,extraout_a3_lo_10); - } - iVar11 = (int)(*(char *)((int)psVar2 + 7) >> 7); - iVar16 = (int)*(char *)((int)psVar2 + 7); - } - else { - if ((uVar8 & 0x4000) == 0) { - uVar7 = loc_7F020EE0((int)psVar2,uStack84,0xe,param_4); - uVar8 = extraout_a1_lo_07; - uVar14 = extraout_a2_lo_11; - uVar15 = extraout_a3_lo_12; - } - else { - uVar7 = loc_7F070F58(uStack72,uStack84,0); - uVar8 = extraout_a1_lo_06; - uVar14 = extraout_a2_lo_10; - uVar15 = extraout_a3_lo_11; - } - fVar22 = FUN_7f06d5fc(uStack72,uVar8,uVar14,uVar15); - uVar8 = loc_7F054E94(param_1,(float *)(param_1 + 8),fVar22,1); - uStack76 = uVar7 & 0xffffff00 | uVar8 >> 0x18; - iVar11 = (int)(*(char *)((int)psVar2 + 7) >> 7); - iVar16 = (int)*(char *)((int)psVar2 + 7); - } - } - } - goto LAB_7f021660; - } - } - uStack76 = 1; - if (((*(char *)((int)psVar2 + 7) == '\x03') && (*(int *)(psVar2 + 0x16) == 0)) && - (param_3 = 0, *(int *)(psVar2 + 0x1e) != 0)) { - loc_7F070F58(uStack72,uStack84,0); - } - else { - loc_7F020EE0((int)psVar2,uStack84,param_3,param_4); - } - iVar11 = (int)(*(char *)((int)psVar2 + 7) >> 7); - iVar16 = (int)*(char *)((int)psVar2 + 7); - } - else { - uStack76 = 0; - iVar11 = (int)(*(char *)((int)psVar2 + 7) >> 7); - iVar16 = (int)*(char *)((int)psVar2 + 7); - } -LAB_7f021660: - if (CONCAT44(iVar11,iVar16) == 1) { - if (*(int *)(uStack72 + 0x54) != 0) { - uVar17 = psVar2[9]; - goto LAB_7f021690; - } - if (*param_1 == '\x06') goto LAB_7f02168c; - } - else { -LAB_7f02168c: - uVar17 = psVar2[9]; -LAB_7f021690: - psVar2[9] = uVar17 | 0x200; - } - loc_7F0206B0((int)psVar2); - if (*(int *)(psVar2 + 0x10) != 0) { - FUN_7f06b838(*(int *)(psVar2 + 0x10)); - *(undefined4 *)(psVar2 + 0x10) = 0; - } - if (uStack76 == 0) { - iVar11 = *(int *)(psVar2 + 0xb0); - if (iVar11 == 0) { - iVar11 = *(int *)(psVar2 + 0xb2); - } - else { - *(byte *)(iVar11 + 1) = *(byte *)(iVar11 + 1) & 0xfd; - iVar11 = *(int *)(psVar2 + 0xb2); - } - if (iVar11 == 0) { - iVar11 = *(int *)(psVar2 + 0xec); - } - else { - *(byte *)(iVar11 + 1) = *(byte *)(iVar11 + 1) & 0xfd; - iVar11 = *(int *)(psVar2 + 0xec); - } - if (iVar11 != 0) { - *(byte *)(iVar11 + 1) = *(byte *)(iVar11 + 1) & 0xfd; - } - param_1[1] = param_1[1] & 0xfd; - *(undefined *)(psVar2 + 0x7a) = *(undefined *)(psVar2 + 0x7c); - *(undefined *)((int)psVar2 + 0xf5) = *(undefined *)((int)psVar2 + 0xf9); - *(undefined *)(psVar2 + 0x7b) = *(undefined *)(psVar2 + 0x7d); - *(undefined *)((int)psVar2 + 0xf7) = *(undefined *)((int)psVar2 + 0xfb); - } - else { - FUN_7f091b28(); - param_1[1] = param_1[1] | 2; - *(uint *)(psVar2 + 10) = *(uint *)(psVar2 + 10) | 8; - uVar8 = FUN_7f09333c(0xc); - if ((uVar8 != 0) && - (lVar4 = FUN_7f0209ec((longlong)*(char *)((int)psVar2 + 0xf),(longlong)*(char *)(psVar2 + 3)) - , lVar4 != 0)) { - FUN_7f06c9fc(0x3ea00000); - if ((int)(*(uint *)(psVar2 + 10) << 3) < 0) { - *(uint *)(psVar2 + 10) = *(uint *)(psVar2 + 10) & 0xefffffff; - set_obj_instance_controller_scale - (*(int *)(psVar2 + 0xe),*(float *)(*(int *)(psVar2 + 0xe) + 0x14) / DAT_80051d88); - } - } - DAT_800360d0 = FUN_7f020aac; - _DAT_80069ba0 = psVar2; - apfStack64[0] = (float *)FUN_7f0789b4(); - uStack48 = FUN_7f0be2c4((int)*(short *)(*(int *)(uStack72 + 8) + 0xe) << 6); - if ((-1 < *(char *)((int)_DAT_80069ba0 + 0x11)) && - (*(char *)((int)_DAT_80069ba0 + 0x11) = - *(char *)((int)_DAT_80069ba0 + 0x11) + (char)DAT_800483a4, - '\x1d' < *(char *)((int)_DAT_80069ba0 + 0x11))) { - *(undefined *)((int)_DAT_80069ba0 + 0x11) = 0xff; - } - FUN_7f06f8e8(apfStack64,uStack72,extraout_a2_lo_12,extraout_a3_lo_13); - DAT_800360d0 = NULL; - FUN_7f06c9fc(0x3f800000); - sub_7F040310((byte *)(psVar2 + 0x7a),(byte *)(psVar2 + 0x7c)); - fVar22 = FUN_7f06cd58(uStack72,extraout_a1_lo_08,extraout_a2_lo_13,extraout_a3_lo_14); - *(float *)(param_1 + 0x18) = fVar22; - piVar9 = FUN_7f06b710(NULL,uStack72); - *(int **)(psVar2 + 0x10) = piVar9; - loc_7F052544((int)param_1,0,(int **)(psVar2 + 0x10)); - loc_7F052544((int)param_1,1,(int **)(psVar2 + 0x10)); - iVar11 = *(int *)(psVar2 + 0xec); - if (iVar11 != 0) { - iStack88 = *(int *)(iVar11 + 4); - uStack92 = *(uint *)(iStack88 + 0x14); - *(byte *)(iVar11 + 1) = *(byte *)(iVar11 + 1) | 2; - apfStack64[0] = (float *)FUN_7f06cc50(uStack72,*(ushort **)(uStack92 + 0x1c),0); - uStack48 = FUN_7f0be2c4((int)*(short *)(*(int *)(uStack92 + 8) + 0xe) << 6); - FUN_7f06f838(apfStack64,uStack92,extraout_a2_lo_14,extraout_a3_lo_15); - cVar1 = *(char *)(psVar2 + 3); - if ((CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) < 0x2a) || - (0x45 < CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1))) { -LAB_7f021c80: - uVar17 = psVar2[9]; - } - else { - fStack104 = DAT_8002ccec; - fStack100 = (float)DAT_8002ccf0; - fStack96 = (float)DAT_8002ccf4; - uVar5 = def_7F0526AC(*(int *)(psVar2 + 0xec)); - iVar16 = ((int)*(char *)(psVar2 + 3) + -0x2a) * 0x90 + (int)uVar5 * 0x18; - pfVar13 = (float *)(iVar16 + -0x7ffc1b6c); - iVar11 = get_debug_prroomloads_flag(); - if (iVar11 == 0) { - uVar6 = FUN_7000c370('\0',0x20); - if (uVar6 != 0) { - uVar6 = FUN_7000c370('\0',0x8000); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b64) = *(float *)(iVar16 + -0x7ffc1b64) - DAT_80051d8c; - } - uVar6 = FUN_7000c370('\0',0x4000); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b64) = *(float *)(iVar16 + -0x7ffc1b64) + DAT_80051d90; - } - uVar6 = FUN_7000c370('\0',4); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b68) = *(float *)(iVar16 + -0x7ffc1b68) - DAT_80051d94; - } - uVar6 = FUN_7000c370('\0',8); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b68) = *(float *)(iVar16 + -0x7ffc1b68) + DAT_80051d98; - } - uVar6 = FUN_7000c370('\0',2); - if (uVar6 != 0) { - *pfVar13 = *pfVar13 - DAT_80051d9c; - } - uVar6 = FUN_7000c370('\0',1); - if (uVar6 != 0) { - *pfVar13 = *pfVar13 + DAT_80051da0; - } - } - uVar6 = FUN_7000c370('\0',0x10); - if (uVar6 != 0) { - uVar6 = FUN_7000c370('\0',0x8000); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b58) = *(float *)(iVar16 + -0x7ffc1b58) * DAT_80051da4; - } - uVar6 = FUN_7000c370('\0',0x4000); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b58) = *(float *)(iVar16 + -0x7ffc1b58) * DAT_80051da8; - } - uVar6 = FUN_7000c370('\0',4); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b5c) = *(float *)(iVar16 + -0x7ffc1b5c) * DAT_80051dac; - } - uVar6 = FUN_7000c370('\0',8); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b5c) = *(float *)(iVar16 + -0x7ffc1b5c) * DAT_80051db0; - } - uVar6 = FUN_7000c370('\0',2); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b60) = *(float *)(iVar16 + -0x7ffc1b60) * DAT_80051db4; - } - uVar6 = FUN_7000c370('\0',1); - if (uVar6 != 0) { - *(float *)(iVar16 + -0x7ffc1b60) = *(float *)(iVar16 + -0x7ffc1b60) * DAT_80051db8; - } - } - } - fStack104 = *pfVar13 * DAT_80051dbc; - fStack100 = *(float *)(iVar16 + -0x7ffc1b68) * DAT_80051dbc; - fStack96 = *(float *)(iVar16 + -0x7ffc1b64) * DAT_80051dbc; - fStack108 = *(float *)(iVar16 + -0x7ffc1b60); - fStack112 = *(float *)(iVar16 + -0x7ffc1b5c); - fStack116 = *(float *)(iVar16 + -0x7ffc1b58); - FUN_7f058e84(&fStack104,afStack180); - sub_7F0589B4(fStack108,extraout_a0,afStack180); - sub_7F0589E4(fStack112,extraout_a0_00,(int)afStack180); - sub_7F058A4C(fStack116,extraout_a0_01,(int)afStack180); - loc_7F05823C(*(float **)(uStack92 + 0xc),afStack180,(int)auStack244); - loc_7F058030(auStack244,*(undefined4 **)(uStack92 + 0xc)); - if ((int)uVar5 == 2) { - uStack80 = 0; - goto LAB_7f021c80; - } - uVar17 = psVar2[9]; - } - if (((uVar17 & 1) == 0) || ((*(uint *)(iStack88 + 100) & 0x80) == 0)) { - piVar9 = FUN_7f06b710(*(int **)(psVar2 + 0x10),uStack92); - *(int **)(psVar2 + 0x10) = piVar9; - } - } - puVar3 = *(ushort **)(*(int *)(*(int *)(uStack72 + 8) + 8) + 0x10); - if (puVar3 != NULL) { - piVar9 = (int *)loc_7F06C888(uStack72,puVar3); - if ((*piVar9 != 0) && (puVar3 = *(ushort **)(*(int *)(*piVar9 + 8) + 4), puVar3 != NULL)) { - puVar10 = (undefined4 *)loc_7F06C888(uStack72,puVar3); - *puVar10 = uStack80; - } - } - loc_7F06BB14(*(int **)(psVar2 + 0x10)); - iVar11 = loc_7F06BC00(*(int *)(psVar2 + 0x10)); - *(int *)(psVar2 + 0x10) = iVar11; - } - if ((*(uint *)(psVar2 + 10) & 0x400) == 0) { - uVar17 = psVar2[9]; - if ((uVar17 & 1) != 0) { - if (*(int *)(param_1 + 0x20) != 0) { - iVar11 = *(int *)(*(int *)(param_1 + 0x20) + 0x24); - while (loc_7F04CA2C(), iVar11 != 0) { - iVar11 = *(int *)(iVar11 + 0x24); - } - uVar17 = psVar2[9]; - } - psVar2[9] = uVar17 & 0xfffe; - } - loc_7F02E2D0(psVar2); - uVar8 = 0; - } - else { - uVar8 = 0; - } -LAB_7f021df4: - return (ulonglong)uVar8; -} - - - -void loc_7F021B98(int param_1) - -{ - int iVar1; - ushort uVar2; - int iVar3; - - iVar3 = *(int *)(*(int *)(param_1 + 0x18) + 0x20); - if (iVar3 == 0) { - uVar2 = *(ushort *)(param_1 + 0x12); - } - else { - iVar1 = *(int *)(param_1 + 0x1d8); - while( true ) { - if (iVar3 == iVar1) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if (iVar3 == *(int *)(param_1 + 0x164)) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if (iVar3 == *(int *)(param_1 + 0x160)) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if ((*(uint *)(*(int *)(iVar3 + 4) + 8) & 0x2000) == 0) { - FUN_7f04c3d4(iVar3,1); - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - iVar3 = *(int *)(iVar3 + 0x24); - } - } - } - } - if (iVar3 == 0) break; - iVar1 = *(int *)(param_1 + 0x1d8); - } - uVar2 = *(ushort *)(param_1 + 0x12); - } - *(ushort *)(param_1 + 0x12) = uVar2 | 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F022064(char *param_1,uint *param_2,uint param_3) - -{ - int iVar1; - int iVar2; - int iVar3; - longlong lVar4; - uint *puVar5; - int iVar6; - uint uVar7; - undefined4 extraout_a2_lo; - int iVar8; - undefined4 extraout_a3_lo; - int iVar9; - int iVar10; - undefined4 *puVar11; - undefined4 *puVar12; - undefined4 *puVar13; - undefined4 *puVar14; - float fVar15; - uint *puStackX4; - int iStack140; - uint uStack136; - uint uStack132; - uint uStack128; - uint uStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - undefined4 uStack104; - undefined4 uStack100; - undefined4 uStack96; - uint *puStack92; - undefined4 uStack56; - uint uStack52; - uint uStack48; - uint uStack36; - undefined4 uStack32; - int iStack28; - float afStack24 [3]; - float fStack12; - - iVar1 = *(int *)(param_1 + 4); - uStack36 = (uint)*(byte *)(iVar1 + 0xc); - if (-1 < *(int *)(iVar1 + 0x14) << 5) { - fVar15 = FUN_7f06d5fc(*(int *)(iVar1 + 0x1c),(uint)param_2,param_3,*(int *)(iVar1 + 0x1c)); - FUN_7f05507c((int)param_1); - uStack36 = (uint)((float)uStack36 * fVar15); - } - if (((int)uStack36 < 0xff) || (*(int *)(iVar1 + 0x14) << 0xe < 0)) { - if (param_3 == 0) { - iVar6 = (int)param_2 >> 0x1f; - goto LAB_7f02234c; - } - uStack32 = 3; - } - else { - if (param_3 == 0) { - uStack32 = 1; - } - else { - uStack32 = 2; - } - } - lVar4 = FUN_7f0bbf54((int)param_1,afStack24); - iStack28 = (int)lVar4; - puStackX4 = param_2; - if (lVar4 != 0) { - puVar13 = &DAT_8002ccfc; - puVar11 = &uStack104; - puStackX4 = param_2; - if (0 < (int)uStack36) { - do { - puVar14 = puVar13 + 3; - puVar12 = puVar11 + 3; - *puVar11 = *puVar13; - puVar11[1] = puVar13[1]; - puVar11[2] = puVar13[2]; - puVar13 = puVar14; - puVar11 = puVar12; - } while (puVar14 != (undefined4 *)0x8002cd38); - iVar8 = 0; - *puVar12 = uRam8002cd38; - iStack140 = 0x50; - iVar6 = *(int *)(iVar1 + 0x160); - iVar2 = *(int *)(iVar1 + 0x164); - iVar3 = *(int *)(iVar1 + 0x1d8); - iVar9 = 0; - iVar10 = 0; - if (iVar6 != 0) { - iVar8 = *(int *)(iVar6 + 4); - } - if (iVar2 != 0) { - iVar9 = *(int *)(iVar2 + 4); - } - if (iVar3 != 0) { - iVar10 = *(int *)(iVar3 + 4); - } - lVar4 = loc_7F054B64(param_1,&fStack120); - uVar7 = (uint)lVar4; - if ((lVar4 < 1) || (*(int *)(iVar1 + 0x14) << 8 < 0)) { - puStack92 = FUN_7f0b5b64(param_2); - } - else { - puVar5 = FUN_7f0b5ba4(param_2,fStack120,fStack116,fStack112,fStack108); - puStack92 = (uint *)(uVar7 & 0xffffff00 | (uint)puVar5 >> 0x18); - } - uStack100 = 1; - uStack96 = uStack32; - if ((*(uint *)(iVar1 + 0x14) & 0x2000) == 0) { - if (iStack28 == 1) { - iStack140 = (int)((1.00000000 - fStack12) * 80.00000000); - } - } - else { - iStack140 = 0; - } - FUN_7f0745b8(iStack140); - uStack136 = (uint)*(byte *)(iVar1 + 0xf4); - uStack132 = (uint)*(byte *)(iVar1 + 0xf5); - uStack128 = (uint)*(byte *)(iVar1 + 0xf6); - uStack124 = (uint)*(byte *)(iVar1 + 0xf7); - locret_7F04047C((int *)&uStack136,(longlong)iStack28,afStack24); - uStack52 = (uint)DAT_8002ccfa << 8 | (uint)DAT_8002ccf8 << 0x18 | (uint)DAT_8002ccf9 << 0x10; - uStack48 = uStack124 | uStack136 << 0x18 | uStack132 << 0x10 | uStack128 << 8; - if ((int)uStack36 < 0xff) { - uStack56 = 8; - uStack52 |= uStack36 & 0xff; - } - else { - uStack56 = 7; - } - *(int *)(_DAT_8007a124 + 0x34) = *(int *)(_DAT_8007a124 + 0x34) + 1; - loc_7F06BDE4((int)&uStack104,*(uint **)(iVar1 + 0x20),extraout_a2_lo,extraout_a3_lo); - puStackX4 = puStack92; - if ((iVar8 != 0) && - (((ulonglong)*(byte *)(iVar8 + 2) & (longlong)(1 << (param_3 & 0x1f)) & 0xffU) != 0)) { - puStackX4 = loc_7F0A1D24(puStack92,iVar6,param_3); - } - if ((iVar9 != 0) && - (((ulonglong)*(byte *)(iVar9 + 2) & (longlong)(1 << (param_3 & 0x1f)) & 0xffU) != 0)) { - puStackX4 = loc_7F0A1D24(puStackX4,iVar2,param_3); - } - if ((iVar10 != 0) && - (((ulonglong)*(byte *)(iVar10 + 2) & (longlong)(1 << (param_3 & 0x1f)) & 0xffU) != 0)) { - puStackX4 = loc_7F0A1D24(puStackX4,iVar3,param_3); - } - if (param_3 != 0) { - loc_7F08BDA4(*(undefined4 **)(*(int *)(iVar1 + 0x1c) + 0xc), - (int)*(short *)(*(int *)(*(int *)(iVar1 + 0x1c) + 8) + 0xe)); - if ((iVar8 != 0) && ((*(uint *)(iVar8 + 100) & 0x800) == 0)) { - loc_7F08BDA4(*(undefined4 **)(*(int *)(iVar8 + 0x14) + 0xc), - (int)*(short *)(*(int *)(*(int *)(iVar8 + 0x14) + 8) + 0xe)); - } - if ((iVar9 != 0) && ((*(uint *)(iVar9 + 100) & 0x800) == 0)) { - loc_7F08BDA4(*(undefined4 **)(*(int *)(iVar9 + 0x14) + 0xc), - (int)*(short *)(*(int *)(*(int *)(iVar9 + 0x14) + 8) + 0xe)); - } - if (iVar10 != 0) { - loc_7F08BDA4(*(undefined4 **)(*(int *)(iVar10 + 0x14) + 0xc), - (int)*(short *)(*(int *)(*(int *)(iVar10 + 0x14) + 8) + 0xe)); - } - } - } - } - iVar6 = (int)puStackX4 >> 0x1f; - param_2 = puStackX4; - if (param_3 != 0) { - FUN_7f06b838(*(int *)(iVar1 + 0x20)); - *(undefined4 *)(iVar1 + 0x20) = 0; - param_2 = puStackX4; - } -LAB_7f02234c: - return CONCAT44(iVar6,param_2); -} - - - -void FUN_7f022360(int param_1,longlong param_2,float *param_3,undefined4 *param_4) - -{ - undefined4 *puVar1; - uint uVar2; - float *pfVar3; - int3 iVar4; - int5 iVar5; - int iVar6; - int iVar7; - float fVar8; - float local_14; - float local_10; - float local_c; - - iVar6 = 0; - iVar7 = 0; - if (DAT_8002c954 != -1) { - puVar1 = &DAT_8002c954; - iVar4 = (int3)(DAT_8002c954 >> 0x1f); - iVar5 = (int5)DAT_8002c954; - do { - iVar7 = iVar6; - if (param_2 == CONCAT35(iVar4,iVar5)) break; - iVar4 = (int3)((int)puVar1[0xb] >> 0x1f); - iVar5 = (int5)(int)puVar1[0xb]; - iVar6 += 1; - puVar1 = puVar1 + 0xb; - iVar7 = 0; - } while (CONCAT35(iVar4,iVar5) != -1); - } - if ((&DAT_8002c964)[iVar7 * 0xb] == 0) { - iVar6 = (&DAT_8002c958)[iVar7 * 0xb]; - } - else { - uVar2 = FUN_7000a460(); - if ((uVar2 & 4) == 0) { - fVar8 = sqrtf(param_3[2] * param_3[2] + *param_3 * *param_3 + param_3[1] * param_3[1]); - local_c = 42.00000000 / fVar8 + 1.00000000; - local_14 = *param_3 * local_c; - local_10 = param_3[1] * local_c; - local_c = param_3[2] * local_c; - pfVar3 = (float *)FUN_7f078a34(); - FUN_7f058994(pfVar3,&local_14); - loc_7F0A3E8C(&local_14,(&DAT_8002c964)[iVar7 * 0xb],(float)(&DAT_8002c96c)[iVar7 * 0xb], - (ushort)*(byte *)(*(int *)(param_1 + 0x14) + 3)); - } - iVar6 = (&DAT_8002c958)[iVar7 * 0xb]; - } - if (iVar6 != 0) { - loc_7F0A3E8C(param_4,iVar6,(float)(&DAT_8002c960)[iVar7 * 0xb], - (ushort)*(byte *)(*(int *)(param_1 + 0x14) + 3)); - } - return; -} - - - -void loc_7F022624(int param_1,int param_2,ushort *param_3,float *param_4) - -{ - char cVar1; - int *piVar2; - uint uVar3; - char cVar4; - int iVar5; - short *psVar6; - undefined4 *puVar7; - longlong lVar8; - int iVar9; - longlong lVar10; - ushort *puVar11; - undefined4 *puVar12; - ushort uVar13; - ushort *puVar14; - int iVar15; - int iVar16; - int *piVar17; - ushort *puVar18; - ushort *puVar19; - longlong lVar20; - longlong lVar21; - int iVar22; - float fVar23; - float fVar24; - float fVar25; - int iStack80; - - fVar23 = *param_4; - puVar19 = NULL; - lVar20 = 0; - iVar9 = 0; - iVar15 = 0x7fffffff; - fVar24 = param_4[1]; - fVar25 = param_4[2]; - if (param_3 == NULL) { -LAB_7f0226a8: - if (puVar19 != NULL) { - iVar15 = *(int *)(puVar19 + 2); - piVar2 = (int *)loc_7F06C888(param_1,puVar19); - iVar16 = 0; - piVar17 = NULL; - iStack80 = 0; - uVar3 = FUN_7000a460(); - cVar1 = (char)(uVar3 % 0x32); - cVar4 = cVar1 + '\x14'; - if (param_2 == 8) { - cVar4 = cVar1 + 'x'; - } - if (param_2 == 0xf) { - cVar4 += '2'; - iVar5 = *(int *)(iVar15 + 0x10); - } - else { - iVar5 = *(int *)(iVar15 + 0x10); - } - iVar9 *= 0x10; - puVar19 = *(ushort **)(iVar5 + iVar9 + 8); - if (puVar19 != NULL) { - iVar16 = *(int *)(puVar19 + 2); - piVar17 = (int *)loc_7F06C888(param_1,puVar19); - iStack80 = (int)*(short *)(*(int *)(iVar15 + 0x10) + iVar9 + 0xc); - } - if ((*(int *)(iVar15 + 8) == *piVar2) && - (puVar7 = (undefined4 *)loc_7F09C030((longlong)*(short *)(iVar15 + 0xc),0xcccc,0,0), - puVar7 != NULL)) { - *(undefined4 **)piVar2 = puVar7; - lVar20 = 0; - iVar5 = 0; - if (0 < *(short *)(iVar15 + 0xc)) { - iVar22 = *(int *)(iVar15 + 8); - while( true ) { - lVar20 = (longlong)((int)lVar20 + 1); - puVar12 = (undefined4 *)(iVar22 + iVar5); - iVar5 += 0x10; - *puVar7 = *puVar12; - puVar7[1] = puVar12[1]; - puVar7[2] = puVar12[2]; - puVar7[3] = puVar12[3]; - if ((longlong)*(short *)(iVar15 + 0xc) <= lVar20) break; - iVar22 = *(int *)(iVar15 + 8); - puVar7 = puVar7 + 4; - } - } - } - if (piVar17 == NULL) { - iVar5 = *(int *)(iVar15 + 8); - } - else { - if ((*(int *)(iVar16 + 8) == *piVar17) && - (puVar7 = (undefined4 *)loc_7F09C030((longlong)*(short *)(iVar16 + 0xc),0xcccc,0,0), - puVar7 != NULL)) { - *(undefined4 **)piVar17 = puVar7; - lVar20 = 0; - iVar5 = 0; - if (0 < *(short *)(iVar16 + 0xc)) { - iVar22 = *(int *)(iVar16 + 8); - while( true ) { - lVar20 = (longlong)((int)lVar20 + 1); - puVar12 = (undefined4 *)(iVar22 + iVar5); - iVar5 += 0x10; - *puVar7 = *puVar12; - puVar7[1] = puVar12[1]; - puVar7[2] = puVar12[2]; - puVar7[3] = puVar12[3]; - if ((longlong)*(short *)(iVar16 + 0xc) <= lVar20) break; - iVar22 = *(int *)(iVar16 + 8); - puVar7 = puVar7 + 4; - } - } - } - iVar5 = *(int *)(iVar15 + 8); - } - if ((iVar5 != *piVar2) && - (lVar20 = (longlong)*(short *)(*(int *)(iVar15 + 0x10) + iVar9 + 6), -1 < lVar20)) { - iVar9 = *piVar2; - while( true ) { - *(char *)(iVar9 + (int)lVar20 * 0x10 + 0xf) = cVar4; - lVar20 = (longlong)*(short *)(*(int *)(iVar15 + 0x14) + (int)lVar20 * 2); - if (lVar20 < 0) break; - iVar9 = *piVar2; - } - } - if (((piVar17 != NULL) && (*(int *)(iVar16 + 8) != *piVar17)) && - (lVar20 = (longlong)*(short *)(*(int *)(iVar16 + 0x10) + iStack80 * 0x10 + 6), -1 < lVar20) - ) { - iVar9 = *piVar17; - while( true ) { - *(char *)(iVar9 + (int)lVar20 * 0x10 + 0xf) = cVar4; - lVar20 = (longlong)*(short *)(*(int *)(iVar16 + 0x14) + (int)lVar20 * 2); - if (lVar20 < 0) break; - iVar9 = *piVar17; - } - } - } - return; - } - uVar13 = *param_3; - puVar14 = param_3; - do { - uVar13 &= 0xff; - if (uVar13 == 8) { - FUN_7f06ef60(param_1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - if (uVar13 == 0x12) { - FUN_7f06efac(param_1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - if (uVar13 == 0x17) { - FUN_7f06eff8(param_1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - puVar11 = *(ushort **)(puVar14 + 10); - if (uVar13 == 0x18) { - lVar8 = 0; - lVar10 = (longlong)*(short *)(*(int *)(puVar14 + 2) + 0xe); - if (0 < lVar10) { - psVar6 = *(short **)(*(int *)(puVar14 + 2) + 0x10); - lVar21 = lVar20; - puVar18 = puVar19; - do { - iVar9 = ((int)fVar23 - (int)*psVar6) * ((int)fVar23 - (int)*psVar6) + - ((int)fVar24 - (int)psVar6[1]) * ((int)fVar24 - (int)psVar6[1]) + - ((int)fVar25 - (int)psVar6[2]) * ((int)fVar25 - (int)psVar6[2]); - lVar20 = lVar8; - puVar19 = puVar14; - if (iVar15 <= iVar9) { - lVar20 = lVar21; - iVar9 = iVar15; - puVar19 = puVar18; - } - iVar15 = iVar9; - lVar8 = (longlong)((int)lVar8 + 1); - psVar6 = psVar6 + 8; - lVar21 = lVar20; - puVar18 = puVar19; - } while (lVar8 < lVar10); - } - } - } - } - } - iVar9 = (int)lVar20; - if ((puVar11 == NULL) || ((puVar14 != param_3 && ((uVar13 == 10 || (uVar13 == 0x11)))))) { - while (puVar11 = puVar14, puVar14 != NULL) { - if (puVar14 == param_3) { - puVar11 = NULL; - break; - } - puVar11 = *(ushort **)(puVar14 + 6); - if (*(ushort **)(puVar14 + 6) != NULL) break; - puVar14 = *(ushort **)(puVar14 + 4); - } - } - puVar14 = puVar11; - if (puVar14 == NULL) goto LAB_7f0226a8; - uVar13 = *puVar14; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f022aa4) overlaps instruction at (ram,0x7f022aa0) -// - -void loc_7F02296C(int param_1,float *param_2,undefined4 param_3,undefined4 param_4) - -{ - bool bVar1; - int iVar2; - uint uVar3; - int iVar4; - int7 iVar5; - undefined uVar6; - uint extraout_a1_lo; - uint uVar7; - undefined4 extraout_a2_lo; - int iVar8; - undefined4 extraout_a3_lo; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 uVar9; - float *pfVar10; - ulonglong uVar11; - float fVar12; - float fVar13; - float fVar14; - float fStack124; - float fStack120; - float fStack116; - int *apiStack112 [5]; - float fStack92; - uint uStack88; - ushort *puStack84; - int iStack80; - float afStack76 [12]; - int iStack28; - ushort *puStack24; - int aiStack20 [2]; - float fStack12; - int iStack4; - - iStack4 = *(int *)(param_1 + 4); - if (*(char *)(iStack4 + 7) != '\x05') { - iVar4 = *(int *)(iStack4 + 0x1c); - fStack12 = FUN_7f06d5fc(iVar4,(uint)param_2,param_3,param_4); - if (((*(byte *)(param_1 + 1) & 2) != 0) && - (*(float *)(param_1 + 0x18) - fStack12 < param_2[0xd])) { - aiStack20[0] = 0; - puStack24 = NULL; - iStack28 = 0; - puStack84 = NULL; - uVar3 = FUN_7f06cc90(iVar4,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - iVar2 = (int)uVar3 >> 0x1f; - fVar14 = 0.00000000; - uVar7 = 0; - uVar9 = extraout_a3; - iVar8 = iStack4; - uStack88 = uVar3; - do { - iVar5 = (int7)(int3)((uint)*(undefined4 *)(iVar8 + 0x160) >> 8); - uVar6 = (undefined)*(undefined4 *)(iVar8 + 0x160); - if (CONCAT71(iVar5,uVar6) != 0) { - uVar3 = *(uint *)((int)CONCAT71(iVar5,uVar6) + 4); - iVar2 = (int)uVar3 >> 0x1f; - fStack92 = fVar14; - fVar14 = FUN_7f06d5fc(*(int *)(uVar3 + 0x14),uVar7,iVar8,(int)uVar9); - fVar14 = fVar14 * *(float *)(iVar4 + 0x14); - uVar9 = extraout_a3_00; - if (fVar14 <= fStack92) { - uVar9 = extraout_a3_00; - fVar14 = fStack92; - } - } - uVar7 += 4; - iVar8 += 4; - } while (uVar7 != 8); - pfVar10 = param_2 + 3; - uVar9 = locret_7F041158(param_2,pfVar10,(float *)(uStack88 + 0x30),fStack12 + fVar14); - bVar1 = CONCAT44(iVar2,uVar3 & 0xffffff00 | (uint)(byte)((ulonglong)uVar9 >> 0x38)) != 0; - if (bVar1) { - iStack28 = 1; - } - uVar11 = (ulonglong)bVar1; - if (bVar1) { - apiStack112[0] = *(int **)(iStack4 + 0x20); - iVar4 = loc_7F06C03C(apiStack112,param_2,pfVar10,aiStack20,&puStack24); - while ((uVar11 = SEXT48(iVar4), iVar4 == 100 || (iVar4 == 0x6e))) { - iVar4 = loc_7F04DC80(aiStack20[0],puStack24,param_2,pfVar10,afStack76,&iStack80,&puStack84 - ); - if (iVar4 != 0) break; - iVar4 = loc_7F06BFE8(apiStack112,param_2,pfVar10,aiStack20,&puStack24); - } - } - if (0 < (longlong)uVar11) { - fStack124 = param_2[3]; - fStack120 = param_2[4]; - fStack116 = param_2[5]; - pfVar10 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar10,&fStack124); - iVar4 = FUN_7f06cc50(aiStack20[0],puStack24,0); - fVar12 = *(float *)(iVar4 + 0x30) - *param_2; - fVar14 = *(float *)(iVar4 + 0x34) - param_2[1]; - fVar13 = *(float *)(iVar4 + 0x38) - param_2[2]; - fVar14 = sqrtf(fVar13 * fVar13 + fVar12 * fVar12 + fVar14 * fVar14); - fVar14 = -(param_2[5] * fVar14 + param_2[2]); - if (fVar14 < param_2[0xd]) { - loc_7F03BDDC((int)param_2,param_1,fVar14,(int)uVar11,puStack24,afStack76,iStack80, - puStack84,aiStack20[0],1,0); - } - } - if ((iStack28 != 0) && (*(float *)(param_1 + 0x18) <= param_2[0xd])) { - *(uint *)(iStack4 + 0x14) = *(uint *)(iStack4 + 0x14) | 4; - *(char *)(iStack4 + 10) = *(char *)(iStack4 + 10) + '\x01'; - } - } - } - return; -} - - - -void loc_7F022DF4(float *param_1,float *param_2) - -{ - char cVar1; - int iVar2; - int iVar3; - undefined *puVar4; - float *pfVar6; - longlong lVar5; - int iVar7; - uint uVar8; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - undefined8 extraout_a2_01; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - int iVar9; - int iVar10; - float fVar11; - float fStack136; - float fStack132; - float fStack128; - undefined *puStack112; - float fStack96; - float fStack92; - float fStack88; - float fStack80; - float fStack76; - float fStack72; - float afStack68 [17]; - - iVar2 = *(int *)((int)param_2[1] + 4); - fStack96 = *param_1 - (*param_2 * param_1[3]) / param_1[5]; - fStack92 = param_1[1] - (*param_2 * param_1[4]) / param_1[5]; - fStack88 = param_1[2] - *param_2; - fVar11 = sqrtf(fStack88 * fStack88 + fStack96 * fStack96 + fStack92 * fStack92); - fStack72 = 1.00000000 - 42.00000000 / fVar11; - fStack80 = fStack96 * fStack72; - fStack76 = fStack92 * fStack72; - fStack72 = fStack88 * fStack72; - pfVar6 = (float *)FUN_7f078a34(); - FUN_7f058994(pfVar6,&fStack80); - FUN_7f068124(&fStack80); - FUN_7f064948((int)param_1[6],(char *)param_2[1],-1); - FUN_7f022360((int)param_2[1],(longlong)(int)param_2[2],&fStack96,&fStack80); - lVar5 = loc_7F0277F0(iVar2,param_2[2],param_1 + 10,param_1[6],1); - if (lVar5 != 0) { - if (param_2[2] == 0.00000000) { - iVar9 = 0; - iVar10 = iVar2; - do { - iVar3 = *(int *)(iVar10 + 0x160); - if ((iVar3 != 0) && (param_2[0x12] == *(float *)(*(int *)(iVar3 + 4) + 0x14))) { - cVar1 = *(char *)(*(int *)(iVar3 + 4) + 0x80); - if (((cVar1 == '\x1a') || (((cVar1 == 'W' || (cVar1 == 'V')) || (cVar1 == '\x1b')))) || - (((cVar1 == '!' || (cVar1 == '\x1d')) || (cVar1 == '\x1c')))) { - fVar11 = (float)FUN_7f04c3d4(iVar3,1); - *(ushort *)(iVar2 + 0x12) = *(ushort *)(iVar2 + 0x12) | 1; - FUN_7f05e4a4((int)param_1[6]); - iVar7 = get_cur_playernum(); - loc_7F04E710(*(int *)(iVar3 + 4),fVar11,&fStack96,(int)param_1[6],iVar7); - } - else { - puStack112 = PTR_PTR_DAT_8004e89c; - if (-1 < *(short *)((int)param_2 + 0x3a)) { - puStack112 = (&PTR_PTR_DAT_8004e89c) - [(uint)*(byte *)(&DAT_80049330 + (int)*(short *)((int)param_2 + 0x3a) * 2 - ) & 0xf]; - } - uVar8 = FUN_7000a460(); - if (*(short *)(puStack112 + 10) == 0) { - trap(0x1c00); - } - loc_7F0A1A48(param_2 + 4,param_2 + 7, - (ushort)*(byte *)(*(int *)(puStack112 + 4) + - uVar8 % (int)*(short *)(puStack112 + 10)),1,iVar3, - SUB41(param_2[0x10],0),0); - } - } - iVar9 += 4; - iVar10 += 4; - } while (iVar9 != 8); - } - else { - if (param_2[2] == 0.00000000) { - puVar4 = PTR_PTR_DAT_8004e89c; - if (-1 < *(short *)((int)param_2 + 0x3a)) { - puVar4 = (&PTR_PTR_DAT_8004e89c) - [(uint)*(byte *)(&DAT_80049330 + (int)*(short *)((int)param_2 + 0x3a) * 2) & 0xf] - ; - } - uVar8 = FUN_7000a460(); - if (*(short *)(puVar4 + 10) == 0) { - trap(0x1c00); - } - loc_7F0A1A48(param_2 + 4,param_2 + 7, - (ushort)*(byte *)(*(int *)(puVar4 + 4) + uVar8 % (int)*(short *)(puVar4 + 10)), - 1,*(int *)(iVar2 + 0x1d8),SUB41(param_2[0x10],0),0); - } - else { - pfVar6 = (float *)FUN_7f06cc50((int)param_2[0x12],(ushort *)param_2[3],0); - fStack136 = fStack96 + (fStack96 - pfVar6[0xc]) * 0.50000000; - fStack132 = fStack92 + (fStack92 - pfVar6[0xd]) * 0.50000000; - fStack128 = fStack88 + (fStack88 - pfVar6[0xe]) * 0.50000000; - fVar11 = FUN_7f06d480((int)param_2[0x12],(ushort *)param_2[3],extraout_a2,extraout_a3_lo); - fStack136 = fStack136 - fVar11 * 0.50000000 * param_1[3]; - fVar11 = FUN_7f06d480((int)param_2[0x12],(ushort *)param_2[3],extraout_a2_00, - extraout_a3_lo_00); - fStack132 = fStack132 - fVar11 * 0.50000000 * param_1[4]; - fVar11 = FUN_7f06d480((int)param_2[0x12],(ushort *)param_2[3],extraout_a2_01, - extraout_a3_lo_01); - fStack128 = fStack128 - fVar11 * 0.50000000 * param_1[5]; - FUN_7f05a384(pfVar6,afStack68); - FUN_7f058994(afStack68,&fStack136); - loc_7F022624((int)param_2[0x12],(int)param_2[2],(ushort *)param_2[3],&fStack136); - } - } - } - return; -} - - - -void sub_7F022E1C(void) - -{ - return; -} - - - -void FUN_7f02310c(undefined4 param_1) - -{ - DAT_8002c944 = param_1; - return; -} - - - -void FUN_7f023118(void) - -{ - int iVar1; - - DAT_8002c948 += -1; - if (DAT_8002c948 < 0) { - DAT_8002c948 = 0; - iVar1 = 1; - if (DAT_80029db0 != 0) { - while (DAT_8002c948 = iVar1, (&DAT_80029db0)[iVar1] != 0) { - iVar1 += 1; - } - } - } - return; -} - - - -void FUN_7f023178(void) - -{ - DAT_8002c948 += 1; - if (*(int *)(&DAT_80029dac + DAT_8002c948 * 4) == 0) { - DAT_8002c948 = 0; - } - return; -} - - - -void FUN_7f0231b0(void) - -{ - DAT_8002c94c = (uint)(DAT_8002c94c == 0); - return; -} - - - -void FUN_7f0231c8(undefined4 param_1) - -{ - DAT_8002c950 = param_1; - return; -} - - - -void FUN_7f0231d4(float param_1) - -{ - int iVar1; - int iVar2; - float fVar3; - - iVar2 = 0; - if (0 < DAT_8002cca8) { - iVar1 = 0; - do { - if ((*(int *)(DAT_8002cca4 + iVar1 + 0x1c) != 0) && - (fVar3 = (float)FUN_7f0330e4(iVar1 + DAT_8002cca4), - fVar3 < *(float *)(DAT_8002cca4 + iVar1 + 0xec) * param_1 * 100.00000000)) { - FUN_7f029f08(iVar1 + DAT_8002cca4); - } - iVar2 += 1; - iVar1 += 0x1dc; - } while (iVar2 < DAT_8002cca8); - } - return; -} - - - -int FUN_7f0232b0(short param_1) - -{ - int iVar1; - int iVar2; - short *psVar3; - - iVar1 = 0; - if (0 < DAT_8002cca8) { - iVar2 = 0; - psVar3 = DAT_8002cca4; - do { - iVar1 += 1; - if ((*(int *)(psVar3 + 0xe) != 0) && (param_1 == *psVar3)) { - return iVar2 + (int)DAT_8002cca4; - } - iVar2 += 0x1dc; - psVar3 = psVar3 + 0xee; - } while (iVar1 < DAT_8002cca8); - } - return 0; -} - - - -undefined4 something_with_weaponpos_of_guarddata_hand(int param_1,int param_2) - -{ - return *(undefined4 *)(param_1 + param_2 * 4 + 0x160); -} - - - -int loc_7F02307C(int param_1,int param_2) - -{ - ulonglong uVar1; - int iVar2; - - iVar2 = *(int *)(param_1 + param_2 * 4 + 0x160); - if ((iVar2 != 0) && - (uVar1 = FUN_7f05e5d4((int)*(char *)(*(int *)(iVar2 + 4) + 0x80),0x200), uVar1 == 0)) { - iVar2 = 0; - } - return iVar2; -} - - - -void locret_7F023158(int param_1,int *param_2,undefined4 *param_3,float *param_4,float *param_5) - -{ - int iVar1; - float fVar2; - - iVar1 = *(int *)(param_1 + 4); - if (*(char *)(iVar1 + 7) == '\x04') { - *param_3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x05') { - *param_3 = 0; - } - else { - if ((*(uint *)(iVar1 + 0x14) & 0x10400) == 0) { - if ((*(ushort *)(iVar1 + 0x12) & 0x100) == 0) { - *param_3 = 4; - *param_2 = iVar1 + 0x11c; - fVar2 = *(float *)(iVar1 + 0x24); - *(float *)(iVar1 + 0x11c) = *(float *)(param_1 + 8) + fVar2; - *(undefined4 *)(iVar1 + 0x120) = *(undefined4 *)(param_1 + 0x10); - *(undefined4 *)(iVar1 + 0x124) = *(undefined4 *)(param_1 + 8); - *(float *)(iVar1 + 0x128) = *(float *)(param_1 + 0x10) + fVar2; - *(float *)(iVar1 + 300) = *(float *)(param_1 + 8) - fVar2; - *(undefined4 *)(iVar1 + 0x130) = *(undefined4 *)(param_1 + 0x10); - *(undefined4 *)(iVar1 + 0x134) = *(undefined4 *)(param_1 + 8); - *(float *)(iVar1 + 0x138) = *(float *)(param_1 + 0x10) - fVar2; - *param_5 = *(float *)(iVar1 + 0xac); - *param_4 = *param_5 + *(float *)(iVar1 + 0x28); - return; - } - *param_3 = 0; - } - else { - *param_3 = 0; - } - } - } - return; -} - - - -void sub_7F023160(int param_1,undefined4 *param_2,float *param_3,undefined4 *param_4) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 4); - *param_2 = *(undefined4 *)(iVar1 + 0x24); - *param_3 = *(float *)(iVar1 + 0x28) - 20.00000000; - *param_4 = 0x41a00000; - return; -} - - - -undefined4 sub_7F023188(int param_1) - -{ - return *(undefined4 *)(param_1 + 4); -} - - - -undefined8 loc_7F023280(int param_1,float *param_2,float *param_3,float *param_4) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - float fVar4; - - iVar1 = *(int *)(param_1 + 4); - if ((*(byte *)(param_1 + 1) & 2) == 0) { - uVar3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x04') { - uVar3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x05') { - uVar3 = 0; - } - else { - if ((*(uint *)(iVar1 + 0x14) & 0x800) == 0) { - iVar1 = *(int *)(iVar1 + 0x1c); - iVar2 = *(int *)(iVar1 + 0xc); - fVar4 = (*(float *)(iVar2 + 0x38) - *(float *)(iVar2 + 0x78)) * 0.25000000 + - *(float *)(iVar2 + 0x78); - param_2[2] = fVar4; - if (fVar4 < 0.00000000) { - *param_2 = (*(float *)(iVar2 + 0x30) - *(float *)(iVar2 + 0x70)) * 0.25000000 + - *(float *)(iVar2 + 0x70); - param_2[1] = (*(float *)(iVar2 + 0x34) - *(float *)(iVar2 + 0x74)) * 0.25000000 + - *(float *)(iVar2 + 0x74); - param_4[1] = 0.00000000; - *param_4 = 0.00000000; - *param_3 = 0.00000000; - param_3[1] = 0.00000000; - FUN_7f03fc0c(iVar1,param_3 + 1,param_3,param_4 + 1,param_4); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - else { - uVar3 = 0; - } - } - } - } - return uVar3; -} - - - -ulonglong FUN_7f023580(int param_1) - -{ - bool bVar1; - - bVar1 = *(int *)(&PTR_DAT_8003de40)[param_1 * 5] == 0; - if (bVar1) { - FUN_7f076b3c((longlong)(int)(&PTR_DAT_8003de40)[param_1 * 5], - (&PTR_s_CcamguardZ_8003de44)[param_1 * 5]); - } - return (ulonglong)bVar1; -} - - - -uint FUN_7f0235d8(int param_1,int param_2,undefined8 param_3,longlong param_4,int param_5, - uint param_6) - -{ - int iVar1; - uint uVar3; - longlong lVar2; - undefined4 *puVar4; - ushort **ppuVar5; - ushort **ppuVar6; - undefined4 uVar7; - ushort *local_c; - float local_4; - - iVar1 = param_1 * 0x14; - uVar7 = *(undefined4 *)(&DAT_8003de4c + iVar1); - local_4 = *(float *)(&DAT_8003de48 + iVar1) * DAT_80051dc0; - local_c = NULL; - uVar3 = FUN_7f09333c(0xc); - if ((uVar3 != 0) && (lVar2 = FUN_7f0209ec((longlong)param_1,(longlong)param_2), lVar2 != 0)) { - local_4 = local_4 * DAT_80051dc4; - } - ppuVar5 = (ushort **)param_3; - if (*ppuVar5 == NULL) { - FUN_7f076b3c(param_3,(&PTR_s_CcamguardZ_8003de44)[param_1 * 5]); - } - FUN_7f0762e4(ppuVar5); - ppuVar6 = (ushort **)param_4; - if ((((&DAT_8003de51)[iVar1] == '\0') && (-1 < param_2)) && - (local_c = *(ushort **)(ppuVar5[2] + 8), local_c != NULL)) { - if (*ppuVar6 == NULL) { - FUN_7f076b3c(param_4,(&PTR_s_CcamguardZ_8003de44)[param_2 * 5]); - } - FUN_7f0762e4(ppuVar6); - *(short *)(ppuVar5 + 5) = *(short *)(ppuVar5 + 5) + *(short *)(ppuVar6 + 5); - } - if (param_6 == 0) { - param_6 = FUN_7f06c82c(ppuVar5); - } - if (param_6 != 0) { - set_obj_instance_controller_scale(param_6,local_4); - sub_7F06CE84(param_6,uVar7); - if ((param_4 != 0) && ((&DAT_8003de51)[iVar1] == '\0')) { - *(short *)(ppuVar5 + 5) = *(short *)(ppuVar5 + 5) - *(short *)(ppuVar6 + 5); - FUN_7f06c9a4(param_6,local_c,ppuVar6); - if ((param_5 == 0) && ((0 < *(short *)(ppuVar6 + 3) && (*(ushort **)ppuVar6[2] != NULL)))) { - puVar4 = (undefined4 *)loc_7F06C888(param_6,*(ushort **)ppuVar6[2]); - *puVar4 = 0; - } - } - } - return param_6; -} - - - -uint FUN_7f0237a8(int param_1,int param_2,undefined8 param_3,longlong param_4,int param_5) - -{ - uint uVar1; - - uVar1 = FUN_7f0235d8(param_1,param_2,param_3,param_4,param_5,0); - return uVar1; -} - - - -uint FUN_7f0237d0(int param_1,int param_2,ulonglong param_3) - -{ - undefined *puVar1; - uint uVar2; - undefined *local_8; - - puVar1 = (&PTR_DAT_8003de40)[param_1 * 5]; - local_8 = NULL; - uVar2 = 0; - if ((param_3 & 1) == 0) { - if ((param_3 & 2) != 0) { - uVar2 = FUN_7000a460(); - uVar2 = (uint)((uVar2 & 1) == 0); - } - } - else { - uVar2 = 1; - } - if ((-1 < param_2) && ((&DAT_8003de51)[param_1 * 0x14] == '\0')) { - local_8 = (&PTR_DAT_8003de40)[param_2 * 5]; - } - uVar2 = FUN_7f0237a8(param_1,param_2,(longlong)(int)puVar1,(longlong)(int)local_8,uVar2); - return uVar2; -} - - - -undefined4 FUN_7f023890(void) - -{ - return (&DAT_8002cd4c)[DAT_8002ce74]; -} - - - -undefined4 FUN_7f0238ac(int param_1) - -{ - undefined4 uVar1; - uint uVar2; - int iVar3; - - if ((&DAT_8003de50)[param_1 * 0x14] == '\0') { - uVar1 = (&DAT_8002ce60)[DAT_8002ce7c]; - } - else { - uVar2 = FUN_7000a460(); - iVar3 = DAT_8002ce78 + (uVar2 & 3); - if (DAT_8002cd44 == 0) { - trap(0x1c00); - } - if ((DAT_8002cd44 == -1) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - uVar1 = (&DAT_8002cdf8)[iVar3 % DAT_8002cd44]; - } - return uVar1; -} - - - -undefined4 FUN_7f023960(int param_1) - -{ - undefined4 uVar1; - uint uVar2; - - if ((&DAT_8003de50)[param_1 * 0x14] == '\0') { - uVar2 = FUN_7000a460(); - uVar1 = (&DAT_8002ce60)[uVar2 % DAT_8002cd48]; - if (DAT_8002cd48 == 0) { - trap(0x1c00); - } - } - else { - uVar2 = FUN_7000a460(); - if (DAT_8002cd44 == 0) { - trap(0x1c00); - } - uVar1 = (&DAT_8002cdf8)[uVar2 % DAT_8002cd44]; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f023a0c(undefined8 uParm1,int iParm2) - -{ - undefined8 uVar1; - longlong lVar2; - undefined4 in_v0_hi; - int iVar3; - uint in_v0_lo; - undefined2 *puVar4; - undefined *puVar5; - uint uVar6; - byte bVar7; - float fVar8; - int iStack48; - uint uStack44; - float afStack24 [3]; - undefined4 auStack12 [2]; - undefined4 *puStack4; - - puStack4 = (undefined4 *) - (((uint)*(ushort *)(iParm2 + 6) * 0xc - (uint)*(ushort *)(iParm2 + 6)) * 4 + - _DAT_80075d58); - uVar1 = loc_7F0568E0(puStack4,(longlong)(int)puStack4[10],20.00000000,afStack24,auStack12); - if (CONCAT44(in_v0_hi,in_v0_lo & 0xffffff00 | (uint)(byte)((ulonglong)uVar1 >> 0x38)) != 0) { - iStack48 = -1; - uStack44 = (uint)*(ushort *)(iParm2 + 8); - if (*(ushort *)(iParm2 + 8) == 0xffff) { - uStack44 = FUN_7f023890(); - } - if (((&DAT_8003de51)[uStack44 * 0x14] == '\0') && - (iStack48 = (int)*(short *)(iParm2 + 0x16), false)) { - iStack48 = FUN_7f0238ac(uStack44); - } - puVar4 = (undefined2 *)FUN_7f0237d0(uStack44,iStack48,(ulonglong)*(ushort *)(iParm2 + 0x14)); - if (puVar4 != NULL) { - fVar8 = loc_7F05AB54((float)puStack4[6],(float)puStack4[8]); - puVar5 = FUN_7f035698((undefined *)(uint)*(ushort *)(iParm2 + 10)); - iVar3 = (int)puVar5 >> 0x1f; - lVar2 = FUN_7f020568(puVar4,afStack24,fVar8,auStack12[0],puVar5); - uVar6 = (uint)puVar5 & 0xffffff00 | (uint)(byte)((ulonglong)lVar2 >> 0x38); - if (CONCAT44(iVar3,uVar6) != 0) { - FUN_7f03a7a4(uVar6); - set_stateflag_0x04_for_posdata(uVar6); - puVar4 = *(undefined2 **)(uVar6 + 4); - *puVar4 = *(undefined2 *)(iParm2 + 4); - fVar8 = (float)(uint)*(ushort *)(iParm2 + 0x10); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(puVar4 + 0x76) = fVar8 / 1000.00000000; - fVar8 = (float)(uint)*(ushort *)(iParm2 + 0x12); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(puVar4 + 0x68) = fVar8; - puVar4[0x8a] = *(undefined2 *)(iParm2 + 0xc); - puVar4[0x8b] = *(undefined2 *)(iParm2 + 0xe); - *(char *)(puVar4 + 3) = (char)iStack48; - *(undefined *)((int)puVar4 + 0xf) = (char)uStack44; - bVar7 = (byte)*(ushort *)(iParm2 + 0x14); - if ((*(ushort *)(iParm2 + 0x14) & 4) != 0) { - *(uint *)(puVar4 + 10) = *(uint *)(puVar4 + 10) | 2; - bVar7 = (byte)*(undefined2 *)(iParm2 + 0x14); - } - if ((bVar7 & 8) == 0) { - *(undefined2 **)(iParm2 + 0x18) = puVar4; - } - else { - *(uint *)(puVar4 + 10) = *(uint *)(puVar4 + 10) | 0x10; - *(undefined2 **)(iParm2 + 0x18) = puVar4; - } - } - } - } - return; -} - - - -ulonglong FUN_7f023c10(int param_1) - -{ - ulonglong uVar1; - - if (param_1 == 0) { - uVar1 = 0; - } - else { - uVar1 = FUN_7f05e5d4((int)*(char *)(*(int *)(param_1 + 4) + 0x80),0x100); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f023c48(int param_1,float param_2) - -{ - int iVar2; - int iVar3; - ulonglong uVar1; - undefined4 uVar4; - - iVar2 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,0); - if ((((iVar2 == 0) || (iVar3 == 0)) && ((iVar2 != 0 || (iVar3 != 0)))) && - ((uVar1 = FUN_7f023c10(iVar2), uVar1 == 0 && (uVar1 = FUN_7f023c10(iVar3), uVar1 == 0)))) { - if ((iVar3 != 0) || (iVar2 != 0)) { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x1c,iVar2 != 0,0.00000000,0x3e800000, - param_2); - sub_7F06FDCC(*(int *)(param_1 + 0x1c),0,0x41800000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),120.00000000); - } - } - else { - uVar4 = FUN_7000a460(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x8194,(byte)uVar4 & 1,0.00000000, - 0x3e800000,param_2); - sub_7F06FDCC(*(int *)(param_1 + 0x1c),0,0x41800000); - } - return; -} - - - -void FUN_7f023d94(int param_1,float param_2) - -{ - uint uVar1; - float fVar2; - float fVar3; - undefined uVar4; - - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 1; - *(undefined4 *)(param_1 + 0x2c) = 0; - *(undefined4 *)(param_1 + 0x30) = 0; - *(undefined4 *)(param_1 + 0x34) = 0; - *(undefined4 *)(param_1 + 0x38) = 0; - *(undefined4 *)(param_1 + 0x3c) = 2; - *(undefined4 *)(param_1 + 0x40) = 0; - uVar1 = FUN_7000a460(); - *(int *)(param_1 + 0x44) = uVar1 % 0x78 + 0xb4; - fVar3 = *(float *)(*(int *)(param_1 + 0x1c) + 0xa4); - fVar2 = param_2; - if (fVar3 != 1.00000000) { - fVar2 = param_2 * (1.00000000 / fVar3); - } - if (127.00000000 < fVar2) { - uVar4 = 0x7f; - } - else { - uVar4 = (undefined)(int)fVar2; - } - *(undefined *)(param_1 + 8) = uVar4; - FUN_7f023c48(param_1,param_2); - return; -} - - - -undefined4 sub_7F023B5C(void) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f01d460(); - return uVar1; -} - - - -int FUN_7f023ec8(int iParm1,int iParm2) - -{ - char cVar1; - float in_f0; - - cVar1 = *(char *)(iParm1 + 3); - FUN_7f01d460(); - iParm2 = (100 - ((int)(in_f0 * (float)(100 - (int)cVar1)) + (int)cVar1)) * iParm2; - if (false) { - trap(0x1c00); - } - if ((false) && (iParm2 == -0x80000000)) { - trap(0x1800); - } - return iParm2 / 100; -} - - - -undefined4 sub_7F023C54(void) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f01d460(); - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F023E04(int param_1) - -{ - uint uVar1; - int iVar2; - undefined4 uVar3; - - if (*(char *)(param_1 + 7) == '\x02') { - uVar3 = FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 1; - *(undefined4 *)(param_1 + 0x2c) = 1; - *(undefined4 *)(param_1 + 0x30) = 0; - *(undefined4 *)(param_1 + 0x34) = 0; - *(undefined4 *)(param_1 + 0x38) = 0; - *(undefined4 *)(param_1 + 0x3c) = 2; - *(undefined4 *)(param_1 + 0x40) = 0; - uVar1 = FUN_7000a460(); - *(int *)(param_1 + 0x44) = uVar1 % 0x78 + 0xb4; - *(undefined *)(param_1 + 8) = 0; - iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)); - if (iVar2 == _DAT_80069578 + 0x6c18) { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x6c18, - *(undefined *)(*(int *)(param_1 + 0x1c) + 0x24),109.00000000,uVar3,16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),140.00000000); - } - else { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0xb84, - *(undefined *)(*(int *)(param_1 + 0x1c) + 0x24),120.00000000,uVar3,16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),151.00000000); - } - } - else { - FUN_7f023d94(param_1,16.00000000); - } - return; -} - - - -void FUN_7f02411c(int param_1,float param_2) - -{ - FUN_7f023d94(param_1,param_2); - *(undefined4 *)(param_1 + 0x40) = 1; - return; -} - - - -void FUN_7f024150(int param_1) - -{ - loc_7F023E04(param_1); - *(undefined4 *)(param_1 + 0x40) = 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f024270) overlaps instruction at (ram,0x7f02426c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02417c(int param_1) - -{ - int iVar2; - int iVar3; - ulonglong uVar1; - undefined4 uVar4; - undefined4 uVar5; - - iVar2 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,0); - uVar5 = FUN_7f02d48c(param_1); - if ((((iVar2 == 0) || (iVar3 == 0)) && ((iVar2 != 0 || (iVar3 != 0)))) && - ((uVar1 = FUN_7f023c10(iVar2), uVar1 == 0 && (uVar1 = FUN_7f023c10(iVar3), uVar1 == 0)))) { - if ((iVar3 != 0) || (iVar2 != 0)) { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0xb84,iVar2 != 0,0.00000000,uVar5, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),27.00000000); - } - } - else { - uVar4 = FUN_7000a460(); - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x6c18,(byte)uVar4 & 1,0.00000000,uVar5, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),28.00000000); - } - *(undefined *)(param_1 + 7) = 2; - *(undefined *)(param_1 + 8) = 0; - return; -} - - - -void loc_7F02413C(int param_1,int param_2,int param_3,int param_4,byte param_5,int param_6) - -{ - uint uVar1; - bool bVar2; - undefined4 uVar3; - - uVar3 = 0x3f000000; - if ((param_5 & 0x80) != 0) { - uVar3 = 0xbf000000; - } - FUN_7f02d48c(param_1); - FUN_7f070298(*(int *)(param_1 + 0x1c),*(undefined4 *)(&DAT_80029dac + param_2 * 4), - (param_5 & 1) != 0,(float)param_3,uVar3,(float)param_6); - if (-1 < param_4) { - loc_7F06FE2C(*(int *)(param_1 + 0x1c),(float)param_4); - } - if ((param_5 & 0x20) == 0) { - uVar1 = *(uint *)(param_1 + 0x14); - } - else { - sub_7F06CE84(*(int *)(param_1 + 0x1c),*(float *)(*(int *)(param_1 + 0x1c) + 0xb8) * 4.00000000); - uVar1 = *(uint *)(param_1 + 0x14); - } - *(uint *)(param_1 + 0x14) = uVar1 & 0xfdffffff; - bVar2 = (param_5 & 0x10) != 0; - *(undefined *)(param_1 + 7) = 3; - *(uint *)(param_1 + 0x2c) = (uint)((param_5 & 2) != 0); - *(uint *)(param_1 + 0x30) = (uint)((param_5 & 4) != 0); - *(uint *)(param_1 + 0x34) = (uint)((param_5 & 8) != 0); - *(uint *)(param_1 + 0x38) = (uint)bVar2; - *(uint *)(param_1 + 0x3c) = (uint)((param_5 & 0x40) != 0); - if (bVar2) { - *(undefined *)(param_1 + 8) = (char)param_6; - } - else { - *(undefined *)(param_1 + 8) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024458(int param_1) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - byte bVar4; - - iVar1 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar2 = something_with_weaponpos_of_guarddata_hand(param_1,0); - bVar4 = 0; - if ((iVar1 == 0) || (iVar2 != 0)) { - if (((iVar1 != 0) && (iVar2 != 0)) || ((iVar1 == 0 && (iVar2 == 0)))) { - uVar3 = FUN_7000a460(); - bVar4 = (byte)uVar3 & 1; - } - } - else { - bVar4 = 1; - } - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0x13; - *(undefined *)(param_1 + 8) = 0; - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x5744,bVar4,40.00000000,0x3f800000, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),82.00000000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024540(int param_1,undefined8 param_2,int param_3,int param_4) - -{ - int iVar1; - undefined4 uVar2; - - uVar2 = FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0x14; - *(undefined *)(param_1 + 8) = 0; - if (param_4 == 0) { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x5964,param_3 != 0,84.00000000,uVar2, - 16.00000000); - iVar1 = *(int *)(param_1 + 0x1c); - } - else { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x5964,param_3 != 0,0.00000000,uVar2, - 16.00000000); - iVar1 = *(int *)(param_1 + 0x1c); - } - loc_7F06FE2C(iVar1,193.00000000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02463c(int iParm1,float fParm2) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - undefined4 in_f0; - byte bStack9; - - iVar1 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - iVar2 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - bStack9 = 0; - if ((iVar1 == 0) || (iVar2 != 0)) { - if (((iVar1 != 0) && (iVar2 != 0)) || ((iVar1 == 0 && (iVar2 == 0)))) { - uVar3 = FUN_7000a460(); - bStack9 = (byte)uVar3 & 1; - } - } - else { - bStack9 = 1; - } - sub_7F023B5C(); - FUN_7f070298(*(int *)(iParm1 + 0x1c),_DAT_80069578 + 0x5d10,bStack9,10.00000000,in_f0,fParm2); - loc_7F06FE2C(*(int *)(iParm1 + 0x1c),52.00000000); - return; -} - - - -void FUN_7f024720(int param_1) - -{ - longlong lVar1; - float fVar2; - - fVar2 = (float)FUN_7f032f4c(param_1); - if ((fVar2 < DAT_80051dd0) || (DAT_80051dd4 < fVar2)) { - FUN_7f02463c(param_1,0x41800000); - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0x12; - *(undefined *)(param_1 + 8) = 0; - } - else { - lVar1 = loc_7F029D5C(param_1); - if (lVar1 == 0) { - loc_7F023E04(param_1); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0247b4(int param_1) - -{ - undefined4 uVar1; - undefined4 uVar2; - - uVar2 = FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0x12; - *(undefined *)(param_1 + 8) = 0; - uVar1 = FUN_7000a460(); - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x4384,(byte)uVar1 & 1,0.00000000,uVar2, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),7.00000000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024850(int param_1) - -{ - uint uVar1; - undefined4 uVar2; - float fVar3; - - uVar1 = FUN_7000a460(); - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0x12; - *(undefined *)(param_1 + 8) = 0; - uVar2 = FUN_7000a460(); - fVar3 = (float)FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x5ef0,(byte)uVar2 & 1, - 17.00000000,DAT_80051dd8,16.00000000); - if (uVar1 % 3 == 0) { - sub_7F023B5C(); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),fVar3); - } - else { - if (uVar1 % 3 == 1) { - sub_7F023B5C(); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),fVar3); - } - else { - sub_7F023B5C(); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),fVar3); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0247A8(int param_1) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - ushort uVar4; - - if (*(char *)(param_1 + 7) != '\x10') { - iVar1 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar2 = something_with_weaponpos_of_guarddata_hand(param_1,0); - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0x10; - if ((iVar2 == 0) && (iVar1 == 0)) { - uVar3 = FUN_7000a460(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x4384,(byte)uVar3 & 1,0.00000000, - 0x3f000000,16.00000000); - sub_7F06FDCC(*(int *)(param_1 + 0x1c),0x41f00000,0x41800000); - *(undefined *)(param_1 + 8) = 0x10; - } - else { - uVar3 = FUN_7000a460(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x4504,(byte)uVar3 & 1,0.00000000, - 0x3f000000,16.00000000); - sub_7F06FDCC(*(int *)(param_1 + 0x1c),0x42200000,0x41800000); - *(undefined *)(param_1 + 8) = 0x10; - if (iVar1 != 0) { - FUN_7f04c3d4(iVar1,2); - } - if (iVar2 == 0) { - uVar4 = *(ushort *)(param_1 + 0x12); - } - else { - FUN_7f04c3d4(iVar2,2); - uVar4 = *(ushort *)(param_1 + 0x12); - } - *(ushort *)(param_1 + 0x12) = uVar4 | 1; - } - loc_7F021B98(param_1); - } - return; -} - - - -void FUN_7f024ac0(int param_1) - -{ - if (*(char *)(param_1 + 7) != '\x05') { - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 5; - *(undefined4 *)(param_1 + 0x2c) = 0xffffffff; - *(undefined *)(param_1 + 8) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024b08(int param_1,int param_2) - -{ - int iVar2; - int iVar3; - uint uVar4; - ulonglong uVar1; - undefined4 uVar5; - uint uStack12; - - iVar2 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,0); - uStack12 = 0; - if ((iVar2 == 0) || (iVar3 == 0)) { - uVar1 = FUN_7f023c10(iVar2); - uVar4 = 0; - if (uVar1 == 0) { - uVar1 = FUN_7f023c10(iVar3); - uVar4 = 0; - if ((uVar1 == 0) && ((iVar2 != 0 || (iVar3 != 0)))) { - uStack12 = (uint)(iVar2 != 0); - uVar4 = FUN_7000a460(); - uVar4 &= 1; - } - } - } - else { - uStack12 = FUN_7000a460(); - uStack12 &= 1; - uVar4 = FUN_7000a460(); - uVar4 &= 1; - } - uVar5 = FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0xb; - *(undefined *)(param_1 + 8) = 0; - if (uVar4 == 0) { - if (param_2 == 0) { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x3d9c,1,5.00000000,uVar5,16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),27.00000000); - } - else { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x3d9c,0,5.00000000,uVar5,16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),27.00000000); - } - } - else { - if (((param_2 == 0) || (uStack12 != 0)) && ((param_2 != 0 || (uStack12 == 0)))) { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x54a0,(char)uStack12,5.00000000,uVar5, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),32.00000000); - } - else { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x5554,(char)uStack12,5.00000000,uVar5, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),34.00000000); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f024d8c(int param_1,int param_2) - -{ - int iVar2; - int iVar3; - ulonglong uVar1; - uint uVar4; - undefined uVar5; - undefined4 uVar6; - uint uStack12; - - iVar2 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,0); - uStack12 = 0; - if ((iVar2 == 0) || (iVar3 != 0)) { - if (((iVar2 == 0) || (iVar3 == 0)) && ((iVar2 != 0 || (iVar3 != 0)))) { - uVar1 = FUN_7f023c10(iVar2); - if ((uVar1 == 0) && (uVar1 = FUN_7f023c10(iVar3), uVar1 == 0)) goto LAB_7f024e2c; - } - uStack12 = FUN_7000a460(); - uStack12 &= 1; - } - else { - uStack12 = 1; - } -LAB_7f024e2c: - uVar6 = FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0xc; - *(undefined *)(param_1 + 8) = 0; - uVar5 = (undefined)uStack12; - if (((param_2 == 0) || (uStack12 != 0)) && ((param_2 != 0 || (uStack12 == 0)))) { - uVar4 = FUN_7000a460(); - if ((uVar4 & 1) == 0) { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x47bc,uVar5,91.00000000,uVar6, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),136.00000000); - } - else { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x4a40,uVar5,20.00000000,uVar6, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),63.00000000); - } - } - else { - uVar4 = FUN_7000a460(); - if ((uVar4 & 1) == 0) { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x4a40,uVar5,130.00000000,uVar6, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),173.00000000); - } - else { - sub_7F023B5C(); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x47bc,uVar5,5.00000000,uVar6, - 16.00000000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),49.00000000); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F024EF0(int param_1,float *param_2) - -{ - bool bVar1; - int iVar3; - int iVar4; - undefined4 uVar5; - ulonglong uVar2; - bool bVar6; - float fVar7; - float fVar8; - - fVar7 = *(float *)(*(int *)(param_1 + 0x18) + 8) - *param_2; - fVar8 = *(float *)(*(int *)(param_1 + 0x18) + 0x10) - param_2[2]; - fVar7 = sqrtf(fVar7 * fVar7 + fVar8 * fVar8); - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar4 = something_with_weaponpos_of_guarddata_hand(param_1,0); - bVar1 = true; - if (((iVar3 == 0) || (iVar4 == 0)) && ((iVar3 != 0 || (iVar4 != 0)))) { - uVar2 = FUN_7f023c10(iVar3); - if ((uVar2 == 0) && (uVar2 = FUN_7f023c10(iVar4), uVar2 == 0)) { - bVar6 = iVar3 != 0; - } - else { - bVar1 = false; - bVar6 = iVar3 != 0; - } - } - else { - bVar1 = false; - uVar5 = FUN_7000a460(); - bVar6 = (bool)((byte)uVar5 & 1); - } - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0xd; - *(float *)(param_1 + 0x2c) = *param_2; - *(float *)(param_1 + 0x30) = param_2[1]; - fVar8 = param_2[2]; - *(undefined *)(param_1 + 8) = 0; - *(undefined4 *)(param_1 + 0x40) = 0; - *(undefined4 *)(param_1 + 0x38) = 0x41f00000; - *(float *)(param_1 + 0x34) = fVar8; - if (bVar1) { - *(int *)(param_1 + 0x3c) = (int)(fVar7 / (DAT_800309c8 * 0.50000000)); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x40d4,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - else { - *(int *)(param_1 + 0x3c) = (int)(fVar7 / (DAT_800309d4 * 0.50000000)); - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x777c,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f025208(int param_1) - -{ - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0x16; - *(undefined *)(param_1 + 8) = 0; - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x2f94,0,10.00000000,0x3f000000,16.00000000) - ; - sub_7F06FDCC(*(int *)(param_1 + 0x1c),0x41200000,0x41800000); - loc_7F06FE2C(*(int *)(param_1 + 0x1c),40.00000000); - return; -} - - - -void loc_7F0250B0(int param_1) - -{ - int iVar1; - int iVar2; - float fVar3; - - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(param_1 + 0x2c); - if ((*(uint *)(param_1 + 0x4c) & 0x20) == 0) { - if (*(char *)(param_1 + 0x36) == '\0') { - if (0.00000000 <= *(float *)(iVar2 + 0x20)) { - loc_7F06FE2C(iVar1,*(float *)(iVar2 + 0x20)); - } - else { - if (0.00000000 <= *(float *)(iVar2 + 0x14)) { - loc_7F06FE2C(iVar1,*(float *)(iVar2 + 0x14)); - } - else { - loc_7F06FE2C(iVar1,-1.00000000); - } - } - } - else { - if (0.00000000 <= *(float *)(iVar2 + 0x20)) { - loc_7F06FE2C(iVar1,*(float *)(iVar2 + 0x20)); - } - else { - loc_7F06FE2C(iVar1,*(float *)(iVar2 + 0x18)); - } - } - } - else { - fVar3 = *(float *)(iVar2 + 0x20); - if ((fVar3 < 0.00000000) || (*(float *)(iVar2 + 0x18) <= fVar3)) { - loc_7F06FE2C(iVar1,*(float *)(iVar2 + 0x18)); - } - else { - loc_7F06FE2C(iVar1,fVar3); - } - } - return; -} - - - -float loc_7F025160(short *psParm1,ulonglong uParm2,longlong lParm3,undefined4 uParm4) - -{ - int iVar1; - float in_f0; - float fVar2; - undefined4 auStack8 [2]; - - if ((uParm2 & 2) == 0) { - if ((uParm2 & 0x10) == 0) { - iVar1 = FUN_7f032f78(psParm1,uParm2,lParm3,auStack8); - in_f0 = (float)FUN_7f032ed8(psParm1,iVar1); - } - else { - fVar2 = (float)(int)lParm3 * DAT_80051ddc; - FUN_7f06d270(*(int *)(psParm1 + 0xe),(uint)uParm2,(int)lParm3,uParm4); - in_f0 = fVar2 / 65536.00000000 - in_f0; - if (in_f0 < 0.00000000) { - in_f0 = in_f0 + DAT_80051de0; - } - } - } - else { - in_f0 = 0.00000000; - } - return in_f0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0254CC(int param_1,int param_2,int param_3,int *param_4,uint param_5,undefined4 param_6, - undefined4 param_7) - -{ - uint uVar1; - uint uVar3; - longlong lVar2; - char cVar5; - undefined4 uVar4; - int iVar6; - int iVar7; - int iVar8; - int *piVar9; - undefined uVar10; - undefined uVar11; - float fVar12; - float extraout_f0; - int iVar13; - float fVar14; - int iStack56; - int iStack52; - undefined4 uStack48; - undefined4 uStack44; - int *piStack16; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x1c); - uStack44 = DAT_800309ec; - uStack48 = DAT_800309e8; - iStack52 = DAT_800309f4; - iStack56 = DAT_800309f0; - *(undefined *)(param_1 + 7) = 8; - uVar10 = 1; - uVar11 = 0; - fVar12 = (float)loc_7F025160(param_1,param_5,param_6); - if (param_3 == 0) { - fVar14 = (fVar12 * 32.00000000) / DAT_80051de8; - } - else { - fVar14 = ((DAT_80051de4 - fVar12) * 32.00000000) / DAT_80051de4; - } - iVar13 = (int)(fVar14 + 0.50000000); - if (0x1f < iVar13) { - iVar13 = 0; - } - uVar3 = FUN_7000a460(); - piVar9 = *(int **)(param_2 + iVar13 * 4); - uVar1 = piVar9[1]; - iVar13 = *piVar9; - if (uVar1 == 0) { - trap(0x1c00); - } - iVar7 = 0; - iVar8 = 0; - piStack16 = (int *)(iVar13 + (uVar3 % uVar1) * 0x48); - piVar9 = param_4; - if (((*(uint *)(param_1 + 0x14) & 0x20) != 0) && - (iVar6 = uVar3 % uVar1 + 1, piVar9 = param_4, _DAT_80069578 + 0x318 == *piStack16)) { - if (uVar1 == 0) { - trap(0x1c00); - } - if ((uVar1 == 0xffffffff) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - piStack16 = (int *)((iVar6 % uVar1) * 0x48 + iVar13); - piVar9 = param_4; - } - do { - if (*piVar9 != 0) { - iVar13 = something_with_weaponpos_of_guarddata_hand(param_1,iVar7); - iVar13 = *(int *)(iVar13 + 4); - lVar2 = FUN_7f05e4ec((int)*(char *)(iVar13 + 0x80)); - if (lVar2 < 0) { - *(undefined4 *)((int)&iStack56 + iVar8 + 8) = 1; - cVar5 = *(char *)(iVar13 + 0x80); - if (cVar5 == '\x16') goto LAB_7f0256a0; - } - else { - uVar11 = 1; - cVar5 = *(char *)(iVar13 + 0x80); -LAB_7f0256a0: - uVar10 = 0; - } - if ((cVar5 == '\x19') || (fVar12 = extraout_f0, cVar5 == '\x18')) { - *(undefined4 *)((int)&iStack56 + iVar8) = 1; - fVar12 = extraout_f0; - } - } - iVar7 += 1; - iVar8 += 4; - piVar9 = piVar9 + 1; - if (iVar7 == 2) { - *(undefined *)(param_1 + 0x30) = 1; - *(undefined *)(param_1 + 0x31) = 0; - *(int **)(param_1 + 0x2c) = piStack16; - uVar4 = FUN_7000a460(); - *(byte *)(param_1 + 0x32) = (byte)uVar4 & 1; - *(undefined *)(param_1 + 0x39) = (char)param_4[1]; - *(undefined *)(param_1 + 0x38) = (char)*param_4; - *(undefined *)(param_1 + 0x3b) = (char)uStack44; - *(undefined *)(param_1 + 0x3a) = (char)uStack48; - *(undefined *)(param_1 + 0x3d) = (char)iStack52; - *(undefined *)(param_1 + 0x36) = uVar10; - *(undefined *)(param_1 + 0x37) = uVar11; - *(undefined4 *)(param_1 + 0x40) = 0; - *(undefined *)(param_1 + 0x33) = 0; - *(undefined *)(param_1 + 0x3c) = (char)iStack56; - if ((iStack52 == 0) && (iStack56 == 0)) { - if ((param_5 & 0x80) == 0) { - uVar4 = FUN_7000a460(); - *(char *)(param_1 + 0x34) = ((byte)uVar4 & 3) + 2; - } - else { - *(undefined *)(param_1 + 0x34) = 1; - } - if ((*param_4 != 0) && (param_4[1] != 0)) { - uVar4 = FUN_7000a460(); - *(char *)(param_1 + 0x34) = *(char *)(param_1 + 0x34) + ((byte)uVar4 & 3) + '\x02'; - } - } - else { - if ((iStack52 == 0) || (iStack56 == 0)) { - *(undefined *)(param_1 + 0x34) = 1; - } - else { - *(undefined *)(param_1 + 0x34) = 2; - } - } - *(uint *)(param_1 + 0x4c) = param_5; - *(undefined4 *)(param_1 + 0x50) = param_6; - *(undefined4 *)(param_1 + 0x58) = 0; - *(undefined4 *)(param_1 + 0x44) = 0; - *(undefined4 *)(param_1 + 0x48) = 0; - *(undefined *)(param_1 + 8) = 0; - *(undefined4 *)(param_1 + 0x54) = param_7; - sub_7F023B5C(); - FUN_7f070298(iStack4,*piStack16,(char)param_3,(float)piStack16[4],fVar12,16.00000000); - loc_7F0250B0(param_1); - return; - } - } while( true ); -} - - - -void FUN_7f025868(int param_1,uint param_2,undefined4 param_3) - -{ - bool bVar1; - int iVar3; - int iVar4; - uint uVar5; - ulonglong uVar2; - undefined **ppuVar6; - uint uStack24; - uint uStack20; - uint uStack12; - int iStack8; - int iStack4; - - iStack4 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,0); - uStack24 = DAT_800309f8; - uStack20 = DAT_800309fc; - if ((iStack4 == 0) || (iVar3 == 0)) { - iStack8 = iVar3; - uVar2 = FUN_7f023c10(iStack4); - if ((uVar2 == 0) && (uVar2 = FUN_7f023c10(iStack8), uVar2 == 0)) { - ppuVar6 = &PTR_PTR_DAT_8002ed68; - bVar1 = iStack4 != 0; - uVar5 = (uint)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - else { - ppuVar6 = &PTR_PTR_DAT_8002f448; - bVar1 = iStack4 != 0; - uVar5 = (uint)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - } - else { - iVar3 = loc_7F02307C(param_1,1); - iVar4 = loc_7F02307C(param_1,0); - bVar1 = iVar4 == 0; - ppuVar6 = &PTR_PTR_DAT_8002f448; - if ((iVar3 == 0) || (iVar4 == 0)) { - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - uVar5 = (uint)bVar1; - } - else { - uStack12 = FUN_7000a460(); - uStack12 &= 1; - uVar5 = FUN_7000a460(); - if (uVar5 % 3 == 0) { - ppuVar6 = &PTR_PTR_DAT_8002f448; - uStack20 = uStack12; - uStack24 = (uint)(uStack12 == 0); - uVar5 = uStack12; - } - else { - ppuVar6 = &PTR_PTR_DAT_8002f720; - uStack20 = 1; - uStack24 = 1; - uVar5 = uStack12; - } - } - } - loc_7F0254CC(param_1,(int)ppuVar6,uVar5,(int *)&uStack24,param_2,param_3,1); - return; -} - - - -void FUN_7f0259f8(int param_1,uint param_2,undefined4 param_3) - -{ - bool bVar1; - int iVar3; - int iVar4; - uint uVar5; - ulonglong uVar2; - undefined **ppuVar6; - uint uStack24; - uint uStack20; - uint uStack12; - int iStack8; - int iStack4; - - iStack4 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,0); - uStack24 = DAT_80030a00; - uStack20 = DAT_80030a04; - if ((iStack4 == 0) || (iVar3 == 0)) { - iStack8 = iVar3; - uVar2 = FUN_7f023c10(iStack4); - if ((uVar2 == 0) && (uVar2 = FUN_7f023c10(iStack8), uVar2 == 0)) { - ppuVar6 = &PTR_PTR_DAT_8002f9b0; - bVar1 = iStack4 != 0; - uVar5 = (uint)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - else { - ppuVar6 = &PTR_PTR_DAT_8002fd18; - bVar1 = iStack4 != 0; - uVar5 = (uint)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - } - else { - iVar3 = loc_7F02307C(param_1,1); - iVar4 = loc_7F02307C(param_1,0); - bVar1 = iVar4 == 0; - ppuVar6 = &PTR_PTR_DAT_8002fd18; - if ((iVar3 == 0) || (iVar4 == 0)) { - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - uVar5 = (uint)bVar1; - } - else { - uStack12 = FUN_7000a460(); - uStack12 &= 1; - uVar5 = FUN_7000a460(); - if (uVar5 % 3 == 0) { - ppuVar6 = &PTR_PTR_DAT_8002fd18; - uStack20 = uStack12; - uStack24 = (uint)(uStack12 == 0); - uVar5 = uStack12; - } - else { - ppuVar6 = &PTR_PTR_DAT_80030038; - uStack20 = 1; - uStack24 = 1; - uVar5 = uStack12; - } - } - } - loc_7F0254CC(param_1,(int)ppuVar6,uVar5,(int *)&uStack24,param_2,param_3,0); - return; -} - - - -void loc_7F025B9C(int param_1,longlong param_2) - -{ - char cVar1; - float fVar2; - int iVar5; - int iVar6; - ulonglong uVar3; - int iVar7; - longlong lVar4; - uint uVar8; - int *piVar9; - int iStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - uint uStack16; - undefined4 *puStack4; - - iVar5 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar6 = something_with_weaponpos_of_guarddata_hand(param_1,0); - uStack24 = DAT_80030a08; - uStack20 = DAT_80030a0c; - uStack28 = DAT_80030a14; - uStack32 = DAT_80030a10; - uStack36 = DAT_80030a1c; - iStack40 = DAT_80030a18; - if ((iVar5 == 0) || (iVar6 == 0)) { - uVar3 = FUN_7f023c10(iVar5); - if ((uVar3 == 0) && (uVar3 = FUN_7f023c10(iVar6), uVar3 == 0)) { - uStack16 = (uint)(iVar5 != 0); - if (param_2 == 0) { - puStack4 = (undefined4 *)&DAT_800306a0; - } - else { - puStack4 = (undefined4 *)&DAT_800306e8; - } - if (iVar5 != 0) { - uStack20 = 1; - } - else { - uStack24 = 1; - } - } - else { - uStack16 = (uint)(iVar5 != 0); - if (param_2 == 0) { - puStack4 = (undefined4 *)&DAT_80030730; - } - else { - puStack4 = &DAT_80030778; - } - if (iVar5 != 0) { - uStack20 = 1; - } - else { - uStack24 = 1; - } - } - } - else { - iVar5 = loc_7F02307C(param_1,1); - iVar6 = loc_7F02307C(param_1,0); - uVar8 = 0; - if ((iVar5 == 0) || (iVar6 == 0)) { - uStack16 = (uint)(iVar6 == 0); - } - else { - uStack16 = FUN_7000a460(); - uStack16 &= 1; - uVar8 = FUN_7000a460(); - uVar8 %= 3; - } - if (uVar8 == 0) { - if (param_2 == 0) { - puStack4 = (undefined4 *)&DAT_80030730; - } - else { - puStack4 = &DAT_80030778; - } - if (uStack16 == 0) { - uStack24 = 1; - } - else { - uStack20 = 1; - } - } - else { - if (uVar8 == 1) { - if (param_2 == 0) { - puStack4 = (undefined4 *)&DAT_800307c0; - } - else { - puStack4 = (undefined4 *)&DAT_80030808; - } - uStack20 = 1; - uStack24 = 1; - } - else { - if (param_2 == 0) { - puStack4 = (undefined4 *)&DAT_80030850; - } - else { - puStack4 = (undefined4 *)&DAT_80030898; - } - uStack20 = 1; - uStack24 = 1; - } - } - } - iVar5 = 0; - iVar6 = 0; - piVar9 = &iStack40 + 4; - do { - if (*piVar9 != 0) { - iVar7 = something_with_weaponpos_of_guarddata_hand(param_1,iVar5); - iVar7 = *(int *)(iVar7 + 4); - lVar4 = FUN_7f05e4ec((int)*(char *)(iVar7 + 0x80)); - if (lVar4 < 0) { - *(undefined4 *)((int)&iStack40 + iVar6 + 8) = 1; - } - cVar1 = *(char *)(iVar7 + 0x80); - if ((cVar1 == '\x19') || (cVar1 == '\x18')) { - *(undefined4 *)((int)&iStack40 + iVar6) = 1; - } - } - iVar5 += 1; - iVar6 += 4; - piVar9 = piVar9 + 1; - } while (iVar5 != 2); - *(undefined *)(param_1 + 7) = 9; - *(undefined4 *)(param_1 + 0x30) = 0; - uVar8 = FUN_7000a460(); - fVar2 = DAT_8002ce8c; - *(undefined4 *)(param_1 + 0x38) = 0; - *(int *)(param_1 + 0x34) = uVar8 % (int)(fVar2 * 400.00000000) + 0x78; - if ((int)(fVar2 * 400.00000000) == 0) { - trap(0x1c00); - } - *(undefined4 *)(param_1 + 0x40) = 0; - *(undefined4 **)(param_1 + 0x3c) = puStack4; - uVar8 = FUN_7000a460(); - *(uint *)(param_1 + 0x44) = uVar8 & 1; - *(undefined *)(param_1 + 0x49) = (char)uStack20; - *(undefined *)(param_1 + 0x48) = (char)uStack24; - *(undefined *)(param_1 + 0x4b) = (char)uStack28; - *(undefined *)(param_1 + 0x4a) = (char)uStack32; - *(undefined *)(param_1 + 0x4d) = (char)uStack36; - *(undefined *)(param_1 + 8) = 0; - *(undefined4 *)(param_1 + 0x54) = 0; - *(undefined *)(param_1 + 0x4c) = (char)iStack40; - FUN_7f070298(*(int *)(param_1 + 0x1c),*puStack4,(char)uStack16,(float)puStack4[4],0x3f000000, - 16.00000000); - return; -} - - - -void loc_7F026118(int iParm1,int iParm2) - -{ - bool bVar1; - int iVar4; - int iVar5; - ulonglong uVar2; - uint uVar6; - int iVar7; - longlong lVar3; - char cVar9; - undefined4 uVar8; - uint *puVar10; - undefined4 in_f0; - undefined4 extraout_f0; - int iStack68; - int iStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - uint uStack44; - uint uStack40; - int iStack32; - int iStack24; - uint uStack20; - undefined4 *puStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x1c); - iVar4 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - iVar5 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - iStack24 = 0; - uStack44 = DAT_80030a20; - uStack40 = DAT_80030a24; - uStack52 = 0; - uStack60 = DAT_80030a28; - uStack56 = DAT_80030a2c; - bVar1 = true; - iStack64 = DAT_80030a34; - iStack68 = DAT_80030a30; - if ((iVar4 == 0) || (iVar5 == 0)) { - uVar2 = FUN_7f023c10(iVar4); - if ((uVar2 == 0) && (uVar2 = FUN_7f023c10(iVar5), uVar2 == 0)) { - uStack40 = (uint)(iVar4 != 0); - uStack44 = (uint)(iVar4 == 0); - uStack20 = uStack40; - } - else { - uStack40 = (uint)(iVar4 != 0); - iStack24 = 1; - uStack44 = (uint)(iVar4 == 0); - uStack20 = uStack40; - } - } - else { - iVar4 = loc_7F02307C(iParm1,1); - iVar5 = loc_7F02307C(iParm1,0); - if ((iVar4 == 0) || (iVar5 == 0)) { - uStack40 = (uint)(iVar5 == 0); - iStack24 = 1; - uStack44 = (uint)(iVar5 != 0); - uStack20 = uStack40; - } - else { - uStack20 = FUN_7000a460(); - uStack20 &= 1; - iStack24 = 1; - uVar6 = FUN_7000a460(); - if (uVar6 % 3 == 0) { - uStack44 = (uint)(uStack20 == 0); - uStack40 = uStack20; - } - else { - uStack40 = 1; - uStack44 = 1; - } - } - } - if (((iParm2 == 0) || (uStack20 != 0)) && ((iParm2 != 0 || (uStack20 == 0)))) { - uVar6 = FUN_7000a460(); - if ((uVar6 & 1) == 0) { - puStack8 = (undefined4 *)&DAT_80030190; - } - else { - puStack8 = &DAT_80030100; - } - } - else { - uVar6 = FUN_7000a460(); - if ((uVar6 & 1) == 0) { - puStack8 = (undefined4 *)&DAT_80030148; - } - else { - puStack8 = (undefined4 *)&DAT_800300b8; - } - } - iVar5 = 0; - iVar4 = 0; - puVar10 = &uStack44; - if (iStack24 != 0) { - puStack8 = puStack8 + 0x48; - } - do { - if (*puVar10 != 0) { - iVar7 = something_with_weaponpos_of_guarddata_hand(iParm1,iVar5); - iStack32 = *(int *)(iVar7 + 4); - lVar3 = FUN_7f05e4ec((int)*(char *)(iStack32 + 0x80)); - if (lVar3 < 0) { - *(undefined4 *)((int)&iStack68 + iVar4 + 8) = 1; - cVar9 = *(char *)(iStack32 + 0x80); - if (cVar9 == '\x16') goto LAB_7f0261f4; - } - else { - uStack52 = 1; - cVar9 = *(char *)(iStack32 + 0x80); -LAB_7f0261f4: - bVar1 = false; - } - if ((cVar9 == '\x19') || (in_f0 = extraout_f0, cVar9 == '\x18')) { - *(undefined4 *)((int)&iStack68 + iVar4) = 1; - in_f0 = extraout_f0; - } - } - iVar5 += 1; - iVar4 += 4; - puVar10 = puVar10 + 1; - if (iVar5 == 2) { - *(undefined *)(iParm1 + 7) = 10; - *(undefined *)(iParm1 + 0x31) = 0; - *(undefined4 **)(iParm1 + 0x2c) = puStack8; - uVar8 = FUN_7000a460(); - *(byte *)(iParm1 + 0x32) = (byte)uVar8 & 1; - *(undefined *)(iParm1 + 0x39) = (char)uStack40; - *(undefined *)(iParm1 + 0x38) = (char)uStack44; - *(undefined *)(iParm1 + 0x3b) = (char)uStack56; - *(undefined *)(iParm1 + 0x3a) = (char)uStack60; - *(undefined *)(iParm1 + 0x3d) = (char)iStack64; - *(bool *)(iParm1 + 0x36) = bVar1; - *(undefined *)(iParm1 + 0x3c) = (char)iStack68; - *(undefined *)(iParm1 + 0x37) = (char)uStack52; - *(undefined4 *)(iParm1 + 0x40) = 0; - *(undefined *)(iParm1 + 0x33) = 0; - *(undefined *)(iParm1 + 0x30) = 1; - *(undefined *)(iParm1 + 0x35) = (char)iStack24; - if ((iStack64 == 0) && (iStack68 == 0)) { - uVar8 = FUN_7000a460(); - *(char *)(iParm1 + 0x34) = ((byte)uVar8 & 3) + 2; - if ((uStack44 != 0) && (uStack40 != 0)) { - uVar8 = FUN_7000a460(); - *(char *)(iParm1 + 0x34) = *(char *)(iParm1 + 0x34) + ((byte)uVar8 & 3) + '\x02'; - } - } - else { - if ((iStack64 == 0) || (iStack68 == 0)) { - *(undefined *)(iParm1 + 0x34) = 1; - } - else { - *(undefined *)(iParm1 + 0x34) = 2; - } - } - *(undefined4 *)(iParm1 + 0x4c) = 1; - *(undefined4 *)(iParm1 + 0x50) = 0; - *(undefined4 *)(iParm1 + 0x54) = 1; - *(undefined4 *)(iParm1 + 0x58) = 0; - *(undefined4 *)(iParm1 + 0x44) = 0; - *(undefined4 *)(iParm1 + 0x48) = 0; - *(undefined *)(iParm1 + 8) = 0; - sub_7F023B5C(); - FUN_7f070298(iStack4,*puStack8,(char)uStack20,(float)puStack8[4],in_f0,16.00000000); - if (iStack24 == 0) { - if (bVar1) { - if (0.00000000 <= (float)puStack8[9]) { - loc_7F06FE2C(iStack4,(float)puStack8[9]); - } - else { - loc_7F06FE2C(iStack4,(float)puStack8[7]); - } - } - else { - if (0.00000000 <= (float)puStack8[8]) { - loc_7F06FE2C(iStack4,(float)puStack8[8]); - } - else { - if (0.00000000 <= (float)puStack8[5]) { - loc_7F06FE2C(iStack4,(float)puStack8[5]); - } - } - } - } - return; - } - } while( true ); -} - - - -void locret_7F026244(float *param_1,float *param_2,float *param_3,float *param_4,float *param_5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar3 = *param_1; - fVar2 = *param_4; - fVar4 = param_2[2] - param_1[2]; - fVar1 = param_4[2] * (*param_2 - fVar3) - fVar4 * fVar2; - if (fVar1 == 0.00000000) { - if (fVar2 == 0.00000000) { - if (param_4[2] == 0.00000000) { - *param_5 = *param_3; - param_5[1] = param_3[1]; - param_5[2] = param_3[2]; - return; - } - *param_5 = fVar3; - } - else { - *param_5 = fVar3; - } - param_5[1] = param_1[1]; - param_5[2] = param_1[2]; - } - else { - fVar1 = (fVar4 * (*param_3 - fVar3) + (param_1[2] - param_3[2]) * (*param_2 - fVar3)) / fVar1; - *param_5 = fVar2 * fVar1 + *param_3; - param_5[1] = param_4[1] * fVar1 + param_3[1]; - param_5[2] = param_4[2] * fVar1 + param_3[2]; - } - return; -} - - - -void FUN_7f026554(float *param_1,float *param_2,float *param_3) - -{ - float afStack24 [3]; - float afStack12 [3]; - - FUN_7f0b3460(afStack12,afStack24); - locret_7F026244(afStack12,afStack24,param_1,param_2,param_3); - return; -} - - - -void FUN_7f0265a0(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - FUN_7f0b3460(&fStack12,&fStack24); - fVar1 = (*param_2 * (fStack4 - param_1[2]) - param_2[2] * (fStack12 - *param_1)) / - (param_2[2] * (fStack24 - fStack12) - (fStack16 - fStack4) * *param_2); - *param_3 = (fStack24 - fStack12) * fVar1 + fStack12; - param_3[1] = (fStack20 - fStack8) * fVar1 + fStack8; - param_3[2] = (fStack16 - fStack4) * fVar1 + fStack4; - return; -} - - - -float loc_7F026488(int param_1,float param_2,float param_3,uint param_4,float param_5,float param_6) - -{ - undefined7 extraout_var; - undefined7 uVar1; - unkfloat1 Var2; - undefined4 uVar3; - float afStack44 [2]; - float fStack36; - float fStack32; - int iStack28; - int iStack24; - float fStack20; - float fStack16; - float fStack12; - undefined4 uStack8; - float fStack4; - - iStack24 = *(int *)(param_1 + 0x14); - iStack28 = *(int *)(param_1 + 4); - fStack12 = func_7F057FC4(param_2); - uStack8 = 0; - fStack4 = FUN_7f0583c0(param_2); - fStack16 = fStack12 * param_3 + *(float *)(param_1 + 8); - fStack20 = fStack4 * param_3 + *(float *)(param_1 + 0x10); - loc_7F01F604(iStack28,0); - FUN_7f0b2874(); - uVar1 = extraout_var; - uVar3 = loc_7F0B13B4(&iStack24,*(float *)(param_1 + 8),*(float *)(param_1 + 0x10),fStack16, - fStack20,param_4,param_5,param_6,0.00000000,1.00000000); - Var2 = (unkfloat1)((uint)uVar3 >> 0x18); - if (CONCAT71(uVar1,Var2) == 0) { - FUN_7f026554((float *)(param_1 + 8),&fStack12,afStack44); - afStack44[0] = afStack44[0] - *(float *)(param_1 + 8); - fStack36 = fStack36 - *(float *)(param_1 + 0x10); - param_3 = sqrtf(afStack44[0] * afStack44[0] + fStack36 * fStack36); - } - fStack32 = param_3; - loc_7F01F604(iStack28,1); - return (float)Var2; -} - - - -unkfloat1 FUN_7f0267b8(int param_1,float param_2,float param_3) - -{ - float fVar1; - undefined4 uStack12; - float fStack8; - float fStack4; - - sub_7F023160(param_1,&uStack12,&fStack4,&fStack8); - fVar1 = loc_7F026488(param_1,param_2,param_3,0x1f,fStack4,fStack8); - return (unkfloat1)fVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F026F20(int iParm1,float *pfParm2,float fParm3,int iParm4,int iParm5) - -{ - char cVar1; - char *pcVar2; - bool bVar3; - bool bVar4; - bool bVar5; - ulonglong uVar6; - undefined4 *puVar7; - uint uVar8; - undefined4 uVar9; - int iVar10; - uint uVar11; - int iVar12; - int iVar13; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - int *piVar14; - int iVar15; - float in_f0; - float fVar16; - float fStack48; - int iStack24; - - pcVar2 = *(char **)(iParm1 + 0x18); - iVar15 = *(int *)(iParm1 + 0x1c); - bVar5 = false; - iStack24 = 0; - if (*pcVar2 == '\x06') { - uVar6 = get_num_players(); - if (1 < (longlong)uVar6) { - return; - } - cVar1 = *(char *)(iParm1 + 7); - } - else { - cVar1 = *(char *)(iParm1 + 7); - } - bVar3 = cVar1 == '\x06'; - if (bVar3) { - bVar3 = DAT_800483ac == *(int *)(iParm1 + 0x30); - } - iVar13 = 0; - iVar10 = iStack24; - if (DAT_8002c954 != -1) { - puVar7 = &DAT_8002c954; - iVar12 = DAT_8002c954; - do { - iVar10 = iVar13; - if (iParm4 == iVar12) break; - iVar12 = puVar7[0xb]; - iVar13 += 1; - puVar7 = puVar7 + 0xb; - iVar10 = iStack24; - } while (iVar12 != -1); - } - iStack24 = iVar10; - if (*(float *)(iParm1 + 0xfc) < *(float *)(iParm1 + 0x100)) { - if (((iParm4 == 7) && (DAT_80051e04 < fParm3)) && - ((fParm3 < DAT_80051e08 && (uVar11 = FUN_7000a460(), uVar11 % 5 < 2)))) { - uVar11 = FUN_7000a460(); - uVar11 %= 5; - FUN_7f02d48c(iParm1); - *(undefined *)(iParm1 + 7) = 6; - *(undefined4 *)(iParm1 + 0x2c) = 0; - iVar10 = DAT_800483ac; - *(undefined *)(iParm1 + 8) = 0; - *(int *)(iParm1 + 0x30) = iVar10; - uVar8 = FUN_7000a460(); - if ((uVar8 & 1) == 0) { - iVar10 = _DAT_80069578 + 0x4f14; - uVar9 = FUN_7000a460(); - fVar16 = (float)loc_7F06FC74(iVar15,iVar10,(byte)uVar9 & 1,0.00000000,0x3f000000,16.00000000 - ,(uint)!bVar3); - if (uVar11 < 2) { - sub_7F023C54(); - loc_7F06FE2C(iVar15,fVar16); - } - else { - if (uVar11 < 4) { - sub_7F023C54(); - loc_7F06FE2C(iVar15,fVar16); - } - else { - sub_7F023C54(); - loc_7F06FE2C(iVar15,fVar16); - } - } - } - else { - iVar10 = _DAT_80069578 + 0x4ce0; - uVar9 = FUN_7000a460(); - fVar16 = (float)loc_7F06FC74(iVar15,iVar10,(byte)uVar9 & 1,10.00000000,0x3f000000, - 16.00000000,(uint)!bVar3); - if (uVar11 < 2) { - sub_7F023C54(); - loc_7F06FE2C(iVar15,fVar16); - } - else { - if (uVar11 < 4) { - sub_7F023C54(); - loc_7F06FE2C(iVar15,fVar16); - } - else { - sub_7F023C54(); - loc_7F06FE2C(iVar15,fVar16); - } - } - } - bVar5 = true; - } - if (((!bVar5) && (puVar7 = &DAT_8002c954 + iStack24 * 0xb, (&DAT_8002c978)[iStack24 * 0xb] != 0) - ) && (0 < (int)(&DAT_8002c97c)[iStack24 * 0xb])) { - bVar5 = true; - iVar10 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - iVar13 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - if ((puVar7 == (undefined4 *)0x8002cae0) && (iVar10 != 0)) { - puVar7 = (undefined4 *)&DAT_8002cb0c; - } - else { - if ((puVar7 == (undefined4 *)0x8002cb64) && (iVar13 != 0)) { - puVar7 = (undefined4 *)&DAT_8002cb90; - } - } - uVar11 = FUN_7000a460(); - if (puVar7[10] == 0) { - trap(0x1c00); - } - puVar7 = (undefined4 *)(puVar7[9] + (uVar11 % puVar7[10]) * 0x1c); - FUN_7f02d48c(iParm1); - *(undefined *)(iParm1 + 7) = 6; - *(undefined4 *)(iParm1 + 0x2c) = 0; - iVar10 = DAT_800483ac; - *(undefined *)(iParm1 + 8) = 0; - *(int *)(iParm1 + 0x30) = iVar10; - loc_7F06FC74(iVar15,*puVar7,(char)puVar7[1],0.00000000,puVar7[3],16.00000000,(uint)!bVar3); - fVar16 = (float)puVar7[2]; - if (0.00000000 <= fVar16) { - sub_7F023C54(); - loc_7F06FE2C(iVar15,fVar16); - } - else { - sub_7F023C54(); - loc_7F06FE2C(iVar15,fVar16); - } - } - bVar3 = false; - goto LAB_7f0271a8; - } - if ((fParm3 < DAT_80051dec) || (DAT_80051df0 < fParm3)) { - uVar11 = FUN_7000a460(); - if (uVar11 % 0x14 == 0) { - FUN_7f06d270(iVar15,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar16 = in_f0 + DAT_80051df8 + DAT_80051dfc; - fStack48 = (in_f0 + DAT_80051df8) - DAT_80051e00; - if (DAT_80051df4 <= fVar16) { - fVar16 = fVar16 - DAT_80051df4; - } - if (DAT_80051df4 <= fStack48) { - fStack48 = fStack48 - DAT_80051df4; - } - FUN_7f0267b8((int)pcVar2,fVar16,150.00000000); - fVar16 = in_f0; - FUN_7f0267b8((int)pcVar2,fStack48,150.00000000); - if (in_f0 < 150.00000000) { - if (fVar16 < 150.00000000) { - if (in_f0 - fVar16 < 10.00000000) { - if (-10.00000000 < in_f0 - fVar16) { - uVar11 = FUN_7000a460(); - uVar11 &= 1; - FUN_7f02d48c(iParm1); - *(undefined *)(iParm1 + 7) = 4; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(undefined4 *)(iParm1 + 0x30) = (&DAT_8002df10)[uVar11 * 7]; - uVar9 = (&DAT_8002df14)[uVar11 * 7]; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(undefined4 *)(iParm1 + 0x34) = uVar9; - loc_7F06FC74(iVar15,(&DAT_8002defc)[uVar11 * 7],(char)(&DAT_8002df00)[uVar11 * 7], - 0.00000000,(&DAT_8002df08)[uVar11 * 7],16.00000000,(uint)!bVar3); - if (0.00000000 <= (float)(&DAT_8002df04)[uVar11 * 7]) { - loc_7F06FE2C(iVar15,(float)(&DAT_8002df04)[uVar11 * 7]); - } - *(undefined4 *)(iParm1 + 0x24) = 0x41200000; - bVar5 = true; - bVar4 = true; - } - else { - bVar4 = false; - } - } - else { - bVar4 = false; - } - } - else { - bVar4 = false; - } - } - else { - bVar4 = false; - } - } - else { - bVar4 = false; - } - } - else { - bVar4 = false; - } - if (((!bVar4) && ((&DAT_8002c970)[iStack24 * 0xb] != 0)) && - (0 < (int)(&DAT_8002c974)[iStack24 * 0xb])) { - bVar5 = true; - uVar11 = FUN_7000a460(); - if ((&DAT_8002c974)[iStack24 * 0xb] == 0) { - trap(0x1c00); - } - piVar14 = (int *)((&DAT_8002c970)[iStack24 * 0xb] + - (uVar11 % (&DAT_8002c974)[iStack24 * 0xb]) * 0x1c); - FUN_7f02d48c(iParm1); - *(undefined *)(iParm1 + 7) = 4; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(int *)(iParm1 + 0x30) = piVar14[5]; - iVar10 = piVar14[6]; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x38) = 0; - *(int *)(iParm1 + 0x34) = iVar10; - loc_7F06FC74(iVar15,*piVar14,(char)piVar14[1],0.00000000,piVar14[3],16.00000000,(uint)!bVar3); - if (_DAT_80069578 + 0x2e64 == *piVar14) { - uVar11 = FUN_7000a460(); - if (uVar11 % 100 == 0) { - fVar16 = (float)piVar14[2]; - goto LAB_7f026c48; - } - fVar16 = (float)loc_7F06FE2C(iVar15,241.00000000); - } - else { - fVar16 = (float)piVar14[2]; -LAB_7f026c48: - if (0.00000000 <= fVar16) { - fVar16 = (float)loc_7F06FE2C(iVar15,fVar16); - } - } - FUN_7f05e4c8(iParm5); - if (fVar16 <= 0.00000000) { - if ((*(uint *)(iParm1 + 0x14) & 0x8000) == 0) { - iVar15 = piVar14[4]; - } - else { - fVar16 = 6.00000000; - iVar15 = piVar14[4]; - } - } - else { - iVar15 = piVar14[4]; - } - if ((iVar15 != 0) && (0.00000000 < fVar16)) { - *(undefined4 *)(iParm1 + 0x3c) = 0; - *(float *)(iParm1 + 0x38) = (fVar16 * 90.00000000) / 6.00000000; - *(float *)(iParm1 + 0x40) = *pfParm2 * fVar16; - *(float *)(iParm1 + 0x44) = pfParm2[1] * fVar16; - *(float *)(iParm1 + 0x48) = pfParm2[2] * fVar16; - } - } - loc_7F021B98(iParm1); - FUN_7f06ad6c(); - if (*(int *)(iParm1 + 0x14) << 0xb < 0) { - FUN_7f06ad44(); - bVar3 = true; - } - else { - bVar3 = true; - } -LAB_7f0271a8: - if ((bVar3) && (bVar5)) { - iVar15 = *(int *)(iParm1 + 0x160); - if (iVar15 == 0) { - iVar15 = *(int *)(iParm1 + 0x164); - } - else { - if ((*(uint *)(*(int *)(iVar15 + 4) + 8) & 0x2000) == 0) { - FUN_7f04c3d4(iVar15,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - iVar15 = *(int *)(iParm1 + 0x164); - } - else { - iVar15 = *(int *)(iParm1 + 0x164); - } - } - if ((iVar15 != 0) && ((*(uint *)(*(int *)(iVar15 + 4) + 8) & 0x2000) == 0)) { - FUN_7f04c3d4(iVar15,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - } - return; -} - - - -undefined4 loc_7F027050(int iParm1,float *pfParm2) - -{ - undefined4 *puVar1; - int iVar2; - float in_f0; - float fVar3; - float fVar4; - - if (*(char *)(iParm1 + 7) == '\n') { - if (*(char *)(iParm1 + 0x35) == '\0') { - fVar4 = *(float *)(*(int *)(iParm1 + 0x2c) + 4) - 8.00000000; - sub_7F06F5BC(*(int *)(iParm1 + 0x1c)); - if (fVar4 <= in_f0) { - return 0; - } - *pfParm2 = fVar4; - } - else { - puVar1 = *(undefined4 **)(iParm1 + 0x2c); - if ((((puVar1 != &DAT_800301d8) && (puVar1 != (undefined4 *)0x80030220)) && - (puVar1 != (undefined4 *)0x80030268)) && (puVar1 != (undefined4 *)0x800302b0)) { - return 0; - } - fVar3 = (float)puVar1[1]; - fVar4 = (float)puVar1[5]; - if (fVar4 < fVar3) { - iVar2 = *(int *)(iParm1 + 0x1c); - } - else { - iVar2 = *(int *)(iParm1 + 0x1c); - fVar4 = fVar3 - 8.00000000; - } - sub_7F06F5BC(iVar2); - if (fVar4 <= fVar3) { - return 0; - } - *pfParm2 = fVar4; - } - } - else { - if (*(char *)(iParm1 + 7) != '\a') { - return 0; - } - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F027270(int param_1) - -{ - ulonglong uVar1; - longlong lVar2; - int **ppiVar3; - int iVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 uStack72; - undefined2 uStack68; - undefined4 auStack64 [14]; - int iStack8; - - iVar4 = 0; - if (**(char **)(param_1 + 0x18) == '\x06') { - iStack8 = 0; - lVar2 = FUN_7f09bcfc((int)*(char **)(param_1 + 0x18)); - iVar4 = iStack8; - if (*(int *)(*(int *)(&DAT_80079f50 + (int)lVar2 * 4) + 0xd8) != 0) { - return; - } - } - if (**(char **)(param_1 + 0x18) == '\x06') { - iStack8 = iVar4; - uVar1 = get_num_players(); - if (uVar1 == 1) { - iVar4 = iStack8; - if ((&DAT_8003de50)[(int)*(char *)(param_1 + 0xf) * 0x14] != '\0') { - iVar4 = 1; - } - } - else { - lVar2 = FUN_7f09bcfc(*(int *)(param_1 + 0x18)); - uVar1 = FUN_7f01034c((int)lVar2); - iVar4 = iStack8; - if (uVar1 != 0) { - iVar4 = 1; - } - } - } - else { - if ((&DAT_8003de50)[(int)*(char *)(param_1 + 0xf) * 0x14] != '\0') { - iVar4 = 1; - } - } - if (iVar4 == 0) { - uStack72 = DAT_80030a6c; - uStack68 = DAT_80030a70; - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&uStack72 + DAT_80030a78 * 2), - NULL); - DAT_80030a78 += 1; - if (2 < DAT_80030a78) { - DAT_80030a78 = 0; - } - } - else { - puVar5 = &DAT_80030a38; - puVar7 = auStack64; - do { - puVar6 = puVar5 + 3; - puVar8 = puVar7 + 3; - *puVar7 = *puVar5; - puVar7[1] = puVar5[1]; - puVar7[2] = puVar5[2]; - puVar5 = puVar6; - puVar7 = puVar8; - } while (puVar6 != (undefined4 *)0x80030a68); - *(undefined2 *)puVar8 = uRam80030a68; - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)auStack64 + DAT_80030a74 * 2), - NULL); - DAT_80030a74 += 1; - if (0x18 < DAT_80030a74) { - DAT_80030a74 = 0; - } - } - FUN_7f053f0c((int)ppiVar3,(float *)(*(int *)(param_1 + 0x18) + 8)); - return; -} - - - -// WARNING: Instruction at (ram,0x7f027864) overlaps instruction at (ram,0x7f027860) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F0277F0(int iParm1,longlong lParm2,float *pfParm3,int iParm4,int iParm5) - -{ - char cVar1; - uint uVar4; - int **ppiVar5; - ulonglong uVar2; - longlong lVar3; - char *pcVar6; - float in_f0; - float fVar7; - int iStackX4; - float fStack56; - undefined4 uStack52; - int iStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - undefined4 uStack20; - undefined2 uStack16; - int iStack8; - - iStackX4 = (int)lParm2; - iStack8 = *(int *)(iParm1 + 0x18); - if ((lParm2 == 0x6e) && (*(int *)(iParm1 + 0x1d8) != 0)) { - lVar3 = def_7F0526AC(*(int *)(iParm1 + 0x1d8)); - if (lVar3 == 5) { - iStackX4 = 8; - } - else { - if (lVar3 == 3) { - uStack20 = DAT_80030a7c; - uStack16 = DAT_80030a80; - uVar4 = FUN_7000a460(); - ppiVar5 = FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&uStack20 + (uVar4 % 3) * 2), - NULL); - in_f0 = (float)FUN_7f053f0c((int)ppiVar5,(float *)(*(int *)(iParm1 + 0x18) + 8)); - } - else { - in_f0 = (float)FUN_7f04c3d4(*(int *)(iParm1 + 0x1d8),4); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - } - } - if (iParm5 == 0) { - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 == 0) { -LAB_7f0276f0: - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 == 7) { -LAB_7f0276d8: - in_f0 = (float)FUN_7f06ace4(iParm4,2); - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 == 8) { - in_f0 = (float)FUN_7f06ace4(iParm4,1); - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 == 0xf) goto LAB_7f0276d8; - if (iStackX4 == 100) { - in_f0 = (float)FUN_7f06ace4(iParm4,4); - uVar4 = *(uint *)(iParm1 + 0x14); - } - else { - if (iStackX4 != 0x6e) { - in_f0 = (float)FUN_7f06ace4(iParm4,3); - goto LAB_7f0276f0; - } - in_f0 = (float)FUN_7f06ace4(iParm4,5); - uVar4 = *(uint *)(iParm1 + 0x14); - } - } - } - } - } - *(char *)(iParm1 + 0xb) = *(char *)(iParm1 + 0xb) + '\x01'; - *(uint *)(iParm1 + 0x14) = uVar4 | 0x200000; - if ((uVar4 & 0x10) != 0) { - loc_7F020788(iParm1); - return 0; - } - if (*(char *)(iParm1 + 7) == '\x04') { - return 1; - } - if (*(char *)(iParm1 + 7) == '\x05') { - return 1; - } - FUN_7f05e4a4(iParm4); - fStack44 = in_f0; - if ((iParm5 != 0) && (fStack44 = in_f0, uVar2 = get_num_players(), uVar2 == 1)) { - fStack44 = fStack44 * DAT_8002ce88; - } - fStack36 = *(float *)(iStack8 + 8) - *pfParm3; - fStack32 = *(float *)(iStack8 + 0xc) - pfParm3[1]; - fStack28 = *(float *)(iStack8 + 0x10) - pfParm3[2]; - fStack40 = (float)FUN_7f032ed8(iParm1,&fStack36); - if (iStackX4 == 200) { - iStackX4 = 0xf; - fVar7 = fStack44 * 0.50000000; - } - else { - fVar7 = fStack44; - if (iStackX4 == 0xc9) { - iStackX4 = 0xf; - fVar7 = fStack44 * 0.25000000; - } - } - if (((((iParm4 == 1) && (cVar1 = *(char *)(iParm1 + 7), cVar1 != '\x01')) && (cVar1 != '\x0e')) && - ((cVar1 != '\x10' && (cVar1 != '\x03')))) && - ((cVar1 != '\x0f' || (*(char *)(iParm1 + 0x59) != '\0')))) { - if ((fStack40 < DAT_80051e0c) || (DAT_80051e10 < fStack40)) { - fVar7 = fVar7 * 0.12500000; - } - else { - if ((fStack40 < DAT_80051e14) || (DAT_80051e18 < fStack40)) { - fVar7 = fVar7 * 0.25000000; - } - else { - fVar7 = fVar7 * 0.50000000; - } - } - } - if (iStackX4 == 8) { - fVar7 = fVar7 * 4.00000000; - pcVar6 = *(char **)(iParm1 + 0x18); - goto LAB_7f02796c; - } - if (iStackX4 == 0xf) { - fVar7 = fVar7 + fVar7; - } - else { - if (iStackX4 == 100) { - fVar7 = 0.00000000; - pcVar6 = *(char **)(iParm1 + 0x18); - goto LAB_7f02796c; - } - if (iStackX4 != 0x6e) { - pcVar6 = *(char **)(iParm1 + 0x18); - goto LAB_7f02796c; - } - fVar7 = 0.00000000; - } - pcVar6 = *(char **)(iParm1 + 0x18); -LAB_7f02796c: - if (*pcVar6 == '\x06') { - fStack44 = fVar7; - iStack48 = get_cur_playernum(); - lVar3 = FUN_7f09bcfc(*(int *)(iParm1 + 0x18)); - FUN_7f09bcac((int)lVar3); - FUN_7f089ff0(fStack44 * 0.12500000,*pfParm3); - FUN_7f09bcac(iStack48); - } - else { - *(uint *)(iParm1 + 0x14) = *(uint *)(iParm1 + 0x14) | 0x100; - *(float *)(iParm1 + 0xfc) = *(float *)(iParm1 + 0xfc) + fVar7; - if (*(float *)(iParm1 + 0xfc) < 0.00000000) { - uStack52 = 0xbf800000; - lVar3 = loc_7F027050(iParm1,&uStack52); - if (lVar3 == 0) { - loc_7F020788(iParm1); - return 0; - } - } - } - if (iStackX4 != 0x6e) { - fStack56 = -1.00000000; - loc_7F027270(iParm1); - lVar3 = loc_7F027050(iParm1,&fStack56); - if (lVar3 == 0) { - loc_7F026F20(iParm1,pfParm3,fStack40,iStackX4,iParm4); - } - else { - if (0.00000000 <= fStack56) { - loc_7F06FE2C(*(int *)(iParm1 + 0x1c),fStack56); - } - *(undefined *)(iParm1 + 7) = 7; - *(float *)(iParm1 + 0x2c) = *pfParm3; - *(float *)(iParm1 + 0x30) = pfParm3[1]; - *(float *)(iParm1 + 0x34) = pfParm3[2]; - *(float *)(iParm1 + 0x38) = fStack40; - *(int *)(iParm1 + 0x3c) = iStackX4; - *(undefined *)(iParm1 + 8) = 0; - *(int *)(iParm1 + 0x40) = iParm4; - } - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F027BE0(int iParm1,float *pfParm2,float fParm3,int iParm4) - -{ - undefined8 uVar1; - uint uVar2; - int iVar3; - float in_f0; - float fVar4; - float fVar5; - float fVar6; - int iVar7; - float fVar8; - float fVar9; - float fStack36; - - iVar3 = *(int *)(iParm1 + 0x1c); - iVar7 = *(int *)(iParm1 + 0x18); - if ((*(char *)(iParm1 + 7) == '\x05') || (*(char *)(iParm1 + 7) == '\x04')) { - uVar1 = 0; - } - else { - uVar2 = *(uint *)(iParm1 + 0x14); - *(uint *)(iParm1 + 0x14) = uVar2 | 0x200000; - if ((uVar2 & 0x10) == 0) { - *(char *)(iParm1 + 0xb) = *(char *)(iParm1 + 0xb) + '\x01'; - *(uint *)(iParm1 + 0x14) = uVar2 | 0x200100; - *(float *)(iParm1 + 0xfc) = *(float *)(iParm1 + 0xfc) + fParm3; - if (*(float *)(iParm1 + 0xfc) <= 0.00000000) { - uVar1 = 0; - } - else { - *(undefined4 *)(iParm1 + 0xfc) = *(undefined4 *)(iParm1 + 0x100); - FUN_7f06d270(iVar3,(uint)pfParm2,iVar3,iParm4); - fVar4 = loc_7F05AB54(*(float *)(iVar7 + 8) - *pfParm2,*(float *)(iVar7 + 0x10) - pfParm2[2]) - ; - fVar6 = *(float *)(iVar7 + 8) - *pfParm2; - fVar8 = *(float *)(iVar7 + 0xc) - pfParm2[1]; - fStack36 = *(float *)(iVar7 + 0x10) - pfParm2[2]; - if (((fVar6 == 0.00000000) && (fVar8 == 0.00000000)) && (fStack36 == 0.00000000)) { - fStack36 = 1.00000000; - } - fVar5 = sqrtf(fStack36 * fStack36 + fVar6 * fVar6 + fVar8 * fVar8); - fVar5 = (fParm3 * 5.00000000) / fVar5; - fVar9 = fVar4 - in_f0; - *(float *)(iParm1 + 0xb0) = fVar6 * fVar5; - *(float *)(iParm1 + 0xb4) = fVar8 * fVar5; - *(float *)(iParm1 + 0xb8) = fStack36 * fVar5; - if (fVar4 < in_f0) { - fVar9 = fVar9 + DAT_80051e1c; - } - iVar7 = (int)((fVar9 * 8.00000000) / DAT_80051e20 + 0.50000000); - if (7 < iVar7) { - iVar7 = 0; - } - uVar2 = FUN_7000a460(); - if (*(uint *)(&DAT_8002e9a4 + iVar7 * 8) == 0) { - trap(0x1c00); - } - iVar7 = (int)(char)(&PTR_DAT_8002e9a0)[iVar7 * 2] - [uVar2 % *(uint *)(&DAT_8002e9a4 + iVar7 * 8)]; - FUN_7f02d48c(iParm1); - *(undefined *)(iParm1 + 7) = 4; - *(undefined4 *)(iParm1 + 0x2c) = 0; - *(undefined4 *)(iParm1 + 0x30) = (&DAT_8002e69c)[iVar7 * 7]; - *(undefined *)(iParm1 + 8) = 0; - *(undefined4 *)(iParm1 + 0x34) = 0xbf800000; - *(undefined4 *)(iParm1 + 0x38) = 0; - FUN_7f070298(iVar3,(&DAT_8002e688)[iVar7 * 7] + _DAT_80069578, - (char)(&DAT_8002e68c)[iVar7 * 7],(float)(&DAT_8002e694)[iVar7 * 7], - (&DAT_8002e690)[iVar7 * 7],8.00000000); - if (0.00000000 <= (float)(&DAT_8002e6a0)[iVar7 * 7]) { - loc_7F06FE2C(iVar3,(float)(&DAT_8002e6a0)[iVar7 * 7]); - } - if (iParm4 != 0) { - loc_7F027270(iParm1); - } - loc_7F021B98(iParm1); - FUN_7f06ad6c(); - if (*(int *)(iParm1 + 0x14) << 0xb < 0) { - FUN_7f06ad44(); - iVar3 = *(int *)(iParm1 + 0x160); - } - else { - iVar3 = *(int *)(iParm1 + 0x160); - } - if (iVar3 == 0) { - iVar3 = *(int *)(iParm1 + 0x164); - } - else { - if ((*(uint *)(*(int *)(iVar3 + 4) + 8) & 0x2000) == 0) { - FUN_7f04c3d4(iVar3,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - iVar3 = *(int *)(iParm1 + 0x164); - } - else { - iVar3 = *(int *)(iParm1 + 0x164); - } - } - if ((iVar3 != 0) && ((*(uint *)(*(int *)(iVar3 + 4) + 8) & 0x2000) == 0)) { - FUN_7f04c3d4(iVar3,1); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - uVar1 = 1; - } - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f027efc(int param_1) - -{ - int *piVar1; - int iVar2; - - if ((_DAT_80075d40 != NULL) && (-1 < *_DAT_80075d40)) { - iVar2 = *_DAT_80075d40; - piVar1 = _DAT_80075d40; - do { - if (param_1 == *(int *)(iVar2 * 0x2c + _DAT_80075d58 + 0x28)) { - return piVar1; - } - iVar2 = piVar1[4]; - piVar1 = piVar1 + 4; - } while (-1 < iVar2); - } - return NULL; -} - - - -ulonglong FUN_7f027f68(int param_1) - -{ - int *piVar1; - - piVar1 = FUN_7f027efc(param_1); - return (ulonglong)(piVar1 != NULL); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f027f8c(float *param_1,int *param_2) - -{ - float *pfVar1; - float fVar2; - float fVar3; - - pfVar1 = (float *)(*param_2 * 0x2c + _DAT_80075d58); - fVar2 = *pfVar1 - *param_1; - fVar3 = pfVar1[2] - param_1[2]; - return fVar2 * fVar2 + fVar3 * fVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * loc_7F027D8C(float *param_1,undefined4 param_2) - -{ - int iVar1; - int *piVar2; - int *piVar3; - int *piVar4; - float fVar5; - float fVar6; - - piVar2 = NULL; - iVar1 = loc_7F0B2880(param_2,FUN_7f027f68); - if ((iVar1 != 0) && (piVar2 = FUN_7f027efc(iVar1), piVar2 != NULL)) { - fVar5 = FUN_7f027f8c(param_1,piVar2); - piVar3 = (int *)piVar2[1]; - iVar1 = *piVar3; - while (-1 < iVar1) { - piVar4 = (int *)(iVar1 * 0x10 + _DAT_80075d40); - fVar6 = FUN_7f027f8c(param_1,piVar4); - if (fVar6 < fVar5) { - iVar1 = piVar3[1]; - } - else { - iVar1 = piVar3[1]; - piVar4 = piVar2; - } - piVar3 = piVar3 + 1; - piVar2 = piVar4; - } - } - return piVar2; -} - - - -void loc_7F027E58(int param_1,float *param_2,int param_3) - -{ - ulonglong uVar1; - int7 iVar2; - undefined uVar3; - int iVar4; - longlong lVar5; - uint *puVar6; - int aiStackX8 [2]; - uint auStack80 [20]; - - iVar2 = (int7)(int3)((uint)*(undefined4 *)(param_1 + 0x18) >> 8); - uVar3 = (undefined)*(undefined4 *)(param_1 + 0x18); - aiStackX8[0] = param_3; - iVar4 = loc_7F0B0E10(*(int *)((int)CONCAT71(iVar2,uVar3) + 0x14), - *(float *)((int)CONCAT71(iVar2,uVar3) + 8), - *(float *)((int)CONCAT71(iVar2,uVar3) + 0x10),aiStackX8,*param_2,param_2[2], - auStack80,0x14); - uVar3 = (undefined)((uint)iVar4 >> 0x18); - if (((0 < CONCAT71(iVar2,uVar3)) && (CONCAT71(iVar2,uVar3) < 0x14)) && - (lVar5 = 0, 0 < CONCAT71(iVar2,uVar3))) { - puVar6 = auStack80; - do { - uVar1 = FUN_7f0b6a00(*puVar6); - lVar5 = (longlong)((int)lVar5 + 1); - if (uVar1 != 0) { - return; - } - puVar6 = puVar6 + 1; - } while (lVar5 != CONCAT71(iVar2,uVar3)); - } - return; -} - - - -void FUN_7f028178(int param_1,float *param_2) - -{ - loc_7F027E58(param_1,param_2,(int)param_2[10]); - return; -} - - - -void sub_7F027E90(int param_1,undefined *param_2,float *param_3) - -{ - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float fVar1; - float fVar2; - float fVar3; - - fVar2 = *param_3 - *(float *)(*(int *)(param_1 + 0x18) + 8); - fVar3 = param_3[2] - *(float *)(*(int *)(param_1 + 0x18) + 0x10); - fVar1 = loc_7F05AB54(fVar2,fVar3); - *param_2 = 6; - *(undefined4 *)(param_2 + 0x38) = 0; - fVar2 = sqrtf(fVar2 * fVar2 + fVar3 * fVar3); - *(float *)(param_2 + 0x3c) = fVar2; - FUN_7f06d32c(*(int *)(param_1 + 0x1c),fVar1,extraout_a2_lo,extraout_a3_lo); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F027F84(int param_1,undefined4 *param_2,undefined4 *param_3) - -{ - int *piVar1; - undefined4 *puVar2; - - piVar1 = *(int **)(param_1 + (uint)*(byte *)(param_1 + 0x58) * 4 + 0x40); - if (piVar1 == NULL) { - *param_2 = *(undefined4 *)(param_1 + 0x2c); - param_2[1] = *(undefined4 *)(param_1 + 0x30); - param_2[2] = *(undefined4 *)(param_1 + 0x34); - *param_3 = *(undefined4 *)(param_1 + 0x38); - return; - } - puVar2 = (undefined4 *)(*piVar1 * 0x2c + _DAT_80075d58); - *param_2 = *puVar2; - param_2[1] = puVar2[1]; - param_2[2] = puVar2[2]; - *param_3 = puVar2[10]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f0282b0(int param_1) - -{ - float fVar1; - int iVar2; - float fVar3; - - fVar1 = DAT_800309c4; - iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)); - fVar3 = DAT_800309cc; - if (((((iVar2 != _DAT_80069578 + 0x4070) && - (iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = DAT_800309c8, - iVar2 != _DAT_80069578 + 0x40d4)) && - (iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = DAT_800309d8, - iVar2 != _DAT_80069578 + 0x77d4)) && - ((iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = DAT_800309d4, - iVar2 != _DAT_80069578 + 0x777c && - (iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = DAT_800309d0, - iVar2 != _DAT_80069578 + 0x8204)))) && - ((iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = DAT_800309e4, - iVar2 != _DAT_80069578 + 0x77d4 && - ((iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = DAT_800309e0, - iVar2 != _DAT_80069578 + 0x8520 && - (iVar2 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = fVar1, - iVar2 == _DAT_80069578 + 0x84c4)))))) { - fVar3 = DAT_800309dc; - } - return *(float *)(*(int *)(param_1 + 0x1c) + 0x14) * fVar3 * DAT_80051e24; -} - - - -int FUN_7f02844c(int param_1) - -{ - float fVar1; - float fVar2; - undefined4 uStack28; - float afStack24 [2]; - float fStack16; - float fStack8; - float fStack4; - - fVar1 = locret_7F06F638(*(int *)(param_1 + 0x1c)); - loc_7F027F84(param_1,afStack24,&uStack28); - fStack4 = afStack24[0] - *(float *)(*(int *)(param_1 + 0x18) + 8); - fStack8 = fStack16 - *(float *)(*(int *)(param_1 + 0x18) + 0x10); - if (fStack4 < 0.00000000) { - fStack4 = -fStack4; - } - if (fStack8 < 0.00000000) { - fStack8 = -fStack8; - } - fVar2 = FUN_7f0282b0(param_1); - return (int)((fStack4 + fStack8) / (fVar2 * fVar1)); -} - - - -void sub_7F0281F4(int param_1) - -{ - *(undefined2 *)(param_1 + 0x5a) = 0; - return; -} - - - -void loc_7F028280(int param_1) - -{ - ushort uVar1; - int iVar2; - undefined2 uVar3; - - if (*(char *)(param_1 + 0x5c) != '\x06') { - uVar1 = *(ushort *)(param_1 + 0x5a); - if (uVar1 == 0) { - iVar2 = FUN_7f02844c(param_1); - iVar2 = iVar2 * 2 + 300; - uVar3 = (undefined2)iVar2; - if (0xffff < iVar2) { - uVar3 = 0xffff; - } - *(undefined2 *)(param_1 + 0x5a) = uVar3; - } - else { - if (DAT_800483a4._2_2_ < uVar1) { - *(short *)(param_1 + 0x5a) = uVar1 - DAT_800483a4._2_2_; - } - else { - loc_7F028F98(param_1,(float *)(param_1 + 0x2c),*(undefined4 *)(param_1 + 0x38), - *(char *)(param_1 + 0x59)); - } - } - } - return; -} - - - -void FUN_7f028594(int param_1) - -{ - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - loc_7F027F84(param_1,&uStack12,&uStack16); - *(undefined *)(param_1 + 0x5c) = 0; - *(undefined *)(param_1 + 0x5d) = 0; - *(undefined *)(param_1 + 0x5e) = 0; - *(undefined4 *)(param_1 + 0x60) = uStack12; - *(undefined4 *)(param_1 + 100) = uStack8; - *(undefined4 *)(param_1 + 0x68) = uStack4; - sub_7F0281F4(param_1); - return; -} - - - -void loc_7F02832C(int param_1) - -{ - byte bVar1; - int iVar2; - - bVar1 = *(byte *)(param_1 + 0x58); - if (bVar1 < 3) { - *(char *)(param_1 + 0x58) = bVar1 + 1; - } - else { - iVar2 = *(int *)(param_1 + (uint)bVar1 * 4 + 0x40); - *(undefined *)(param_1 + 0x58) = 1; - FUN_7f08ffd0(iVar2,*(int *)(param_1 + 0x3c),(int *)(param_1 + 0x40),6); - } - FUN_7f028594(param_1); - return; -} - - - -int locret_7F0283F4(int param_1,int *param_2,int param_3) - -{ - int iVar1; - int iVar2; - ulonglong uVar3; - - iVar2 = *(int *)(param_1 + 0x30); - uVar3 = SEXT48(*param_2); - if (param_3 < 0) { - uVar3 = (ulonglong)(uVar3 == 0); - param_3 = -param_3; - } - if (param_3 < 1) { - *param_2 = (int)uVar3; - } - else { - do { - param_3 += -1; - if (uVar3 == 0) { - iVar1 = iVar2 + -1; - if (iVar2 + -1 < 0) { - if ((*(byte *)(*(int *)(param_1 + 0x2c) + 5) & 1) == 0) { - uVar3 = 1; - iVar1 = 1; - } - else { - iVar1 = (uint)*(ushort *)(*(int *)(param_1 + 0x2c) + 6) - 1; - } - } - } - else { - iVar1 = iVar2 + 1; - if (*(int *)(**(int **)(param_1 + 0x2c) + (iVar2 + 1) * 4) < 0) { - if ((*(byte *)((int)*(int **)(param_1 + 0x2c) + 5) & 1) == 0) { - uVar3 = 0; - iVar1 = iVar2 + -1; - } - else { - iVar1 = 0; - } - } - } - iVar2 = iVar1; - } while (0 < param_3); - *param_2 = (int)uVar3; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f028704(int param_1,int param_2) - -{ - int iVar1; - int aiStack8 [2]; - - aiStack8[0] = *(int *)(param_1 + 0x34); - iVar1 = locret_7F0283F4(param_1,aiStack8,param_2); - return *(int *)(*(int *)(**(int **)(param_1 + 0x2c) + iVar1 * 4) * 0x10 + _DAT_80075d40) * 0x2c + - _DAT_80075d58; -} - - - -int FUN_7f02877c(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f028704(param_1,0); - return iVar1; -} - - - -void FUN_7f02879c(int param_1) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)FUN_7f02877c(param_1); - *(undefined *)(param_1 + 0x38) = 0; - *(undefined *)(param_1 + 0x39) = 0; - *(undefined *)(param_1 + 0x3a) = 0; - *(undefined4 *)(param_1 + 0x3c) = *puVar1; - *(undefined4 *)(param_1 + 0x40) = puVar1[1]; - *(undefined4 *)(param_1 + 0x44) = puVar1[2]; - return; -} - - - -void FUN_7f0287e4(int param_1) - -{ - int iVar1; - - iVar1 = locret_7F0283F4(param_1,(int *)(param_1 + 0x34),1); - *(int *)(param_1 + 0x30) = iVar1; - FUN_7f02879c(param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F0285D8(float *param_1,int param_2) - -{ - longlong lVar1; - char *pcVar2; - short *psVar3; - uint uStack48; - float *apfStack44 [3]; - uint uStack32; - undefined4 uStack28; - - uStack28 = 0xffffffff; - uStack32 = (uint)*(byte *)(param_2 + 3); - FUN_7f03e6fc((int *)&uStack32); - lVar1 = (longlong)*_DAT_80069c70; - psVar3 = _DAT_80069c70; - do { - if (lVar1 < 0) { - return 1; - } - pcVar2 = (char *)((int)lVar1 * 0x34 + -0x7ff96388); - if (*pcVar2 == '\x01') { - FUN_7f03cfb0(pcVar2,(int **)apfStack44,&uStack48); - if ((int)uStack48 < 1) { - lVar1 = (longlong)psVar3[1]; - } - else { - lVar1 = loc_7F03CF7C(param_1,apfStack44[0],uStack48); - if (lVar1 != 0) { - return 0; - } - lVar1 = (longlong)psVar3[1]; - } - } - else { - lVar1 = (longlong)psVar3[1]; - } - psVar3 = psVar3 + 1; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F028884(int param_1,undefined *param_2,float param_3,float *param_4,int param_5) - -{ - byte bVar1; - longlong lVar2; - float *pfVar3; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float fVar4; - undefined4 uStack44; - float afStack40 [9]; - int iStack4; - - *(undefined *)(param_1 + 9) = 0; - *(undefined4 *)(param_1 + 0xcc) = DAT_800483ac; - fVar4 = locret_7F06F638(*(int *)(param_1 + 0x1c)); - *(float *)(param_2 + 0x38) = *(float *)(param_2 + 0x38) + param_3 * fVar4 * DAT_800483b4; - if (*(float *)(param_2 + 0x3c) <= *(float *)(param_2 + 0x38)) { - loc_7F01F604(param_1,0); - lVar2 = loc_7F0B1C80(¶m_5,*param_4,param_4[2],*(undefined4 *)(param_1 + 0x24),0x1f,0, - 0x3f800000); - if ((lVar2 < 0) && (lVar2 = loc_7F0285D8(param_4,param_5), lVar2 != 0)) { - iStack4 = *(int *)(param_1 + 0x18); - *(int *)(iStack4 + 0x14) = param_5; - *(float *)(iStack4 + 8) = *param_4; - *(float *)(iStack4 + 0xc) = param_4[1]; - *(float *)(iStack4 + 0x10) = param_4[2]; - *(uint *)(param_1 + 0x14) = *(uint *)(param_1 + 0x14) | 1; - FUN_7f06d1fc(*(int *)(param_1 + 0x1c),param_4,param_4,extraout_a3_lo); - loc_7F01FFB0(*(int *)(param_1 + 0x1c),(float *)(iStack4 + 8),(float *)(iStack4 + 8), - (float *)(param_1 + 0xac)); - sub_7F020D94(param_1); - if (*(char *)(param_1 + 7) == '\x0e') { - FUN_7f0287e4(param_1); - pfVar3 = (float *)FUN_7f02877c(param_1); - sub_7F027E90(param_1,param_2,pfVar3); - } - else { - if (*(char *)(param_1 + 7) == '\x0f') { - bVar1 = *(byte *)(param_1 + 0x58); - if (*(int *)(param_1 + (uint)bVar1 * 4 + 0x40) == 0) { - if (bVar1 != 0) { - pfVar3 = (float *)(**(int **)(param_1 + (uint)bVar1 * 4 + 0x3c) * 0x2c + _DAT_80075d58 - ); - fVar4 = loc_7F05AB54(*(float *)(iStack4 + 8) - *pfVar3, - *(float *)(iStack4 + 0x10) - pfVar3[2]); - FUN_7f06d32c(*(int *)(param_1 + 0x1c),fVar4,extraout_a2_lo,extraout_a3_lo_00); - } - FUN_7f024150(param_1); - } - else { - loc_7F02832C(param_1); - loc_7F027F84(param_1,afStack40,&uStack44); - sub_7F027E90(param_1,param_2,afStack40); - } - } - } - } - else { - *(undefined4 *)(param_2 + 0x38) = *(undefined4 *)(param_2 + 0x3c); - if (*(char *)(param_1 + 7) == '\x0e') { - *(undefined4 *)(param_1 + 0x78) = DAT_800483ac; - FUN_7f02879c(param_1); - } - else { - *(undefined4 *)(param_1 + 0x9c) = DAT_800483ac; - FUN_7f028594(param_1); - } - } - loc_7F01F604(param_1,1); - } - return; -} - - - -void loc_7F028A4C(int param_1,float *param_2) - -{ - int iVar1; - float *pfVar2; - float fVar3; - float fVar4; - undefined4 uStack24; - float fStack20; - float fStack16; - float fStack12; - - if ((*(char *)(param_1 + 7) == '\x0e') && (*(char *)(param_1 + 0x38) == '\x06')) { - pfVar2 = (float *)FUN_7f02877c(param_1); - if (*(float *)(param_1 + 0x74) <= *(float *)(param_1 + 0x70)) { - *param_2 = *pfVar2; - param_2[1] = pfVar2[1]; - param_2[2] = pfVar2[2]; - } - else { - fVar3 = *(float *)(param_1 + 0x70) / *(float *)(param_1 + 0x74); - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 8); - *param_2 = (*pfVar2 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 0xc); - param_2[1] = (pfVar2[1] - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 0x10); - param_2[2] = (pfVar2[2] - fVar4) * fVar3 + fVar4; - } - } - else { - if (*(char *)(param_1 + 7) == '\x0f') { - if (*(char *)(param_1 + 0x5c) == '\x06') { - loc_7F027F84(param_1,&fStack20,&uStack24); - if (*(float *)(param_1 + 0x94) < *(float *)(param_1 + 0x98)) { - fVar3 = *(float *)(param_1 + 0x94) / *(float *)(param_1 + 0x98); - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 8); - *param_2 = (fStack20 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 0xc); - param_2[1] = (fStack16 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 0x10); - param_2[2] = (fStack12 - fVar4) * fVar3 + fVar4; - return; - } - *param_2 = fStack20; - param_2[1] = fStack16; - param_2[2] = fStack12; - return; - } - iVar1 = *(int *)(param_1 + 0x18); - } - else { - iVar1 = *(int *)(param_1 + 0x18); - } - *param_2 = *(float *)(iVar1 + 8); - param_2[1] = *(float *)(*(int *)(param_1 + 0x18) + 0xc); - param_2[2] = *(float *)(*(int *)(param_1 + 0x18) + 0x10); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f028d64(int param_1,int param_2,int param_3) - -{ - bool bVar1; - int iVar3; - int iVar4; - undefined4 uVar5; - ulonglong uVar2; - bool bVar6; - - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar4 = something_with_weaponpos_of_guarddata_hand(param_1,0); - if (((iVar3 == 0) || (iVar4 == 0)) && ((iVar3 != 0 || (iVar4 != 0)))) { - uVar2 = FUN_7f023c10(iVar3); - if ((uVar2 == 0) && (uVar2 = FUN_7f023c10(iVar4), uVar2 == 0)) { - bVar1 = true; - bVar6 = iVar3 != 0; - } - else { - bVar1 = false; - bVar6 = iVar3 != 0; - } - } - else { - uVar5 = FUN_7000a460(); - bVar1 = false; - bVar6 = (bool)((byte)uVar5 & 1); - } - if (bVar1) { - if (param_2 == 2) { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x4070,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - else { - if (param_2 == 1) { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x40d4,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - else { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x4018,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - } - } - else { - if (param_3 == 0) { - if (param_2 == 2) { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x77d4,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - else { - if (param_2 == 1) { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x8520,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - else { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x84c4,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - } - } - else { - if (param_2 == 2) { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x77d4,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - else { - if (param_2 == 1) { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x777c,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - else { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x8204,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - } - } - } - return; -} - - - -void play_hit_soundeffect_and_proper_volume(int param_1) - -{ - FUN_7f028d64(param_1,(uint)*(byte *)(param_1 + 0x59), - (uint)(byte)(&DAT_8003de50)[(int)*(char *)(param_1 + 0xf) * 0x14]); - return; -} - - - -undefined8 loc_7F028F98(int param_1,float *param_2,undefined4 param_3,char param_4) - -{ - bool bVar1; - undefined8 uVar2; - int iVar4; - uint uVar5; - longlong lVar3; - int iStack56; - float afStack52 [4]; - int iStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - int *piStack12; - int *piStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - bVar1 = *(char *)(param_1 + 7) == '\x0f'; - if (bVar1) { - bVar1 = param_4 == *(char *)(param_1 + 0x59); - } - piStack8 = loc_7F027D8C((float *)(iStack4 + 8),*(undefined4 *)(iStack4 + 0x14)); - piStack12 = loc_7F027D8C(param_2,param_3); - if (piStack8 == NULL) { - uVar2 = 0; - } - else { - if (piStack12 == NULL) { - uVar2 = 0; - } - else { - iVar4 = FUN_7f08ffd0((int)piStack8,(int)piStack12,&iStack36,6); - if (iVar4 < 2) { - uVar2 = 0; - } - else { - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0xf; - *(float *)(param_1 + 0x2c) = *param_2; - *(float *)(param_1 + 0x30) = param_2[1]; - *(float *)(param_1 + 0x34) = param_2[2]; - *(undefined4 *)(param_1 + 0x38) = param_3; - *(undefined *)(param_1 + 0x58) = 0; - *(int **)(param_1 + 0x3c) = piStack12; - *(undefined4 *)(param_1 + 0xa0) = 0; - *(char *)(param_1 + 0x59) = param_4; - uVar5 = FUN_7000a460(); - *(uint *)(param_1 + 0x84) = uVar5 % 100; - *(undefined *)(param_1 + 0x5f) = 0; - *(undefined4 *)(param_1 + 0x9c) = 0xffffffff; - *(int *)(param_1 + 0x40) = iStack36; - *(undefined4 *)(param_1 + 0x44) = uStack32; - *(undefined4 *)(param_1 + 0x48) = uStack28; - *(undefined4 *)(param_1 + 0x4c) = uStack24; - *(undefined4 *)(param_1 + 0x50) = uStack20; - *(undefined4 *)(param_1 + 0x54) = uStack16; - FUN_7f028594(param_1); - *(undefined *)(param_1 + 8) = 0; - if (!bVar1) { - play_hit_soundeffect_and_proper_volume(param_1); - } - loc_7F027F84(param_1,afStack52,&iStack56); - if (((*(byte *)(iStack4 + 1) & 2) == 0) && - (lVar3 = loc_7F027E58(param_1,afStack52,iStack56), lVar3 != 0)) { - sub_7F027E90(param_1,(undefined *)(param_1 + 0x5c),afStack52); - } - uVar2 = 1; - } - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0292b4(int param_1) - -{ - bool bVar1; - int iVar3; - int iVar4; - undefined4 uVar5; - ulonglong uVar2; - bool bVar6; - - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,1); - iVar4 = something_with_weaponpos_of_guarddata_hand(param_1,0); - if (((iVar3 == 0) || (iVar4 == 0)) && ((iVar3 != 0 || (iVar4 != 0)))) { - uVar2 = FUN_7f023c10(iVar3); - if ((uVar2 == 0) && (uVar2 = FUN_7f023c10(iVar4), uVar2 == 0)) { - bVar1 = true; - bVar6 = iVar3 != 0; - } - else { - bVar1 = false; - bVar6 = iVar3 != 0; - } - } - else { - uVar5 = FUN_7000a460(); - bVar1 = false; - bVar6 = (bool)((byte)uVar5 & 1); - } - if (bVar1) { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x4018,bVar6,0.00000000,0x3f000000, - 16.00000000); - } - else { - FUN_7f070298(*(int *)(param_1 + 0x1c),_DAT_80069578 + 0x8204,bVar6,0.00000000, - (DAT_800309c4 * 0.50000000) / DAT_800309d0,16.00000000); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F029288(int param_1,int **param_2) - -{ - int *piVar1; - int iVar2; - uint uVar4; - longlong lVar3; - float *pfVar5; - int iVar6; - int iVar7; - float fVar8; - float fVar9; - - piVar1 = *param_2; - iVar2 = *(int *)(param_1 + 0x18); - iVar6 = 0; - iVar7 = -1; - if (-1 < *piVar1) { - iVar7 = 0; - while( true ) { - pfVar5 = (float *)(*(int *)(*(int *)((int)piVar1 + iVar7) * 0x10 + _DAT_80075d40) * 0x2c + - _DAT_80075d58); - if ((((pfVar5[10] != 0.00000000) && (*(float *)(iVar2 + 0x14) == pfVar5[10])) && - (fVar8 = *pfVar5 - *(float *)(iVar2 + 8), fVar9 = pfVar5[2] - *(float *)(iVar2 + 0x10), - iVar7 = iVar6, fVar8 * fVar8 + fVar9 * fVar9 < DAT_80051e28)) || - (iVar6 += 1, iVar7 = -1, piVar1[iVar6] < 0)) break; - iVar7 = iVar6 * 4; - } - } - if (iVar7 < 0) { - iVar7 = 0; - } - FUN_7f02d48c(param_1); - *(undefined *)(param_1 + 7) = 0xe; - *(undefined4 *)(param_1 + 0x34) = 1; - *(int *)(param_1 + 0x30) = iVar7; - *(int ***)(param_1 + 0x2c) = param_2; - uVar4 = FUN_7000a460(); - *(uint *)(param_1 + 0x60) = uVar4 % 100; - *(undefined *)(param_1 + 0x3b) = 0; - *(undefined4 *)(param_1 + 0x78) = 0xffffffff; - *(undefined4 *)(param_1 + 0x7c) = 0; - FUN_7f02879c(param_1); - *(undefined *)(param_1 + 8) = 0; - FUN_7f0292b4(param_1); - pfVar5 = (float *)FUN_7f02877c(param_1); - if (((*(byte *)(*(int *)(param_1 + 0x18) + 1) & 2) == 0) && - (lVar3 = FUN_7f028178(param_1,pfVar5), lVar3 != 0)) { - sub_7F027E90(param_1,(undefined *)(param_1 + 0x38),pfVar5); - } - return; -} - - - -void FUN_7f0295a0(int param_1) - -{ - *(undefined4 *)(param_1 + 0xe8) = DAT_800483ac; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F0294A8(short *param_1,float *param_2,int param_3) - -{ - int iVar1; - float *pfVar2; - uint uVar3; - uint uVar4; - int iStack16; - int iStack12; - uint uStack8; - undefined4 uStack4; - - uStack4 = 0; - uStack8 = 1; - if (*(char *)((int)param_1 + 7) == '\b') { - uStack8 = *(uint *)(param_1 + 0x26); - } - if ((uStack8 & 2) == 0) { - iStack12 = param_3; - pfVar2 = (float *)FUN_7f032f78(param_1,(longlong)(int)uStack8,(longlong)*(int *)(param_1 + 0x28) - ,&iStack16); - loc_7F01F604((int)param_1,0); - iVar1 = (int)uStack8 >> 0x1f; - if ((uStack8 & 1) == 0) { - if ((uStack8 & 4) == 0) { - if ((((uStack8 & 8) != 0) && - (uVar4 = uStack8, - uVar3 = loc_7F0B13B4(&iStack12,*param_2,param_2[2],*pfVar2,pfVar2[2],0x11f,param_2[1], - param_2[1],pfVar2[1],pfVar2[1]), - CONCAT44(iVar1,uVar4 & 0xffffff00 | uVar3 >> 0x18) != 0)) && (iStack12 == iStack16)) { - uStack4 = 1; - } - } - else { - uVar4 = uStack8; - uVar3 = loc_7F0B13B4(&iStack12,*param_2,param_2[2],*pfVar2,pfVar2[2],0x117,param_2[1], - param_2[1],pfVar2[1],pfVar2[1]); - if ((CONCAT44(iVar1,uVar4 & 0xffffff00 | uVar3 >> 0x18) != 0) && (iStack12 == iStack16)) { - uStack4 = 1; - } - } - } - else { - FUN_7f08a774(*(int *)(_DAT_8007a120 + 0xa8),0); - uVar3 = FUN_7f08a6ac(); - iVar1 = (int)uVar3 >> 0x1f; - if (((uVar3 != 0) && - (uVar4 = loc_7F0B13B4(&iStack12,*param_2,param_2[2],*pfVar2,pfVar2[2],0x11b,param_2[1], - param_2[1],pfVar2[1],pfVar2[1]), - CONCAT44(iVar1,uVar3 & 0xffffff00 | uVar4 >> 0x18) != 0)) && (iStack12 == iStack16)) { - FUN_7f0295a0((int)param_1); - uStack4 = 1; - } - FUN_7f08a774(*(int *)(_DAT_8007a120 + 0xa8),1); - } - loc_7F01F604((int)param_1,1); - } - else { - uStack4 = 1; - } - return uStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0297c4(int param_1) - -{ - uint uVar1; - int iVar2; - uint uVar3; - float fVar4; - int iStack16; - int iStack12; - uint uStack8; - undefined4 uStack4; - - uStack4 = 0; - iVar2 = FUN_7f08a6ac(); - if (iVar2 != 0) { - uStack8 = *(uint *)(param_1 + 0x18); - iStack12 = FUN_7f089e6c(); - fVar4 = *(float *)(param_1 + 0x28) - 20.00000000; - loc_7F01F604(param_1,0); - FUN_7f08a774(*(int *)(_DAT_8007a120 + 0xa8),0); - iVar2 = (int)uStack8 >> 0x1f; - iStack16 = *(int *)(uStack8 + 0x14); - uVar3 = uStack8; - uVar1 = loc_7F0B13B4(&iStack16,*(float *)(uStack8 + 8),*(float *)(uStack8 + 0x10), - *(float *)(iStack12 + 8),*(float *)(iStack12 + 0x10),0x11b,fVar4,fVar4, - 0.00000000,1.00000000); - if ((CONCAT44(iVar2,uVar3 & 0xffffff00 | uVar1 >> 0x18) != 0) && - (iStack16 == *(int *)(iStack12 + 0x14))) { - FUN_7f0295a0(param_1); - uStack4 = 1; - } - loc_7F01F604(param_1,1); - FUN_7f08a774(*(int *)(_DAT_8007a120 + 0xa8),1); - } - return uStack4; -} - - - -undefined4 loc_7F029680(int param_1,float *param_2,int param_3) - -{ - uint uVar1; - int iVar2; - uint uVar3; - float fVar4; - undefined4 uStack16; - int iStack8; - uint uStack4; - - uStack4 = *(uint *)(param_1 + 0x18); - uStack16 = 0; - fVar4 = *(float *)(param_1 + 0x28) - 20.00000000; - loc_7F01F604(param_1,0); - iVar2 = (int)uStack4 >> 0x1f; - iStack8 = *(int *)(uStack4 + 0x14); - uVar3 = uStack4; - uVar1 = loc_7F0B13B4(&iStack8,*(float *)(uStack4 + 8),*(float *)(uStack4 + 0x10),*param_2, - param_2[2],0x113,fVar4,fVar4,0.00000000,1.00000000); - if ((CONCAT44(iVar2,uVar3 & 0xffffff00 | uVar1 >> 0x18) != 0) && (iStack8 == param_3)) { - uStack16 = 1; - } - loc_7F01F604(param_1,1); - return uStack16; -} - - - -undefined4 FUN_7f0299a4(int iParm1,float *pfParm2,int iParm3,undefined4 uParm4) - -{ - undefined4 uVar1; - float in_f0; - float fVar2; - float fVar3; - - FUN_7f06d270(*(int *)(iParm1 + 0x1c),(uint)pfParm2,iParm3,uParm4); - fVar2 = loc_7F05AB54(*pfParm2 - *(float *)(*(int *)(iParm1 + 0x18) + 8), - pfParm2[2] - *(float *)(*(int *)(iParm1 + 0x18) + 0x10)); - fVar3 = fVar2 - in_f0; - if (fVar2 < in_f0) { - fVar3 = fVar3 + DAT_80051e2c; - } - if ((fVar3 < DAT_80051e30) || (uVar1 = 0, DAT_80051e34 < fVar3)) { - uVar1 = loc_7F029680(iParm1,pfParm2,iParm3); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f029a68(int param_1) - -{ - uint uVar1; - int iVar2; - uint uVar3; - undefined4 uStack16; - int iStack12; - int iStack8; - uint uStack4; - - uStack4 = *(uint *)(param_1 + 0x18); - iStack8 = FUN_7f089e6c(); - uStack16 = 0; - FUN_7f08a774(*(int *)(_DAT_8007a120 + 0xa8),0); - iVar2 = (int)uStack4 >> 0x1f; - iStack12 = *(int *)(iStack8 + 0x14); - uVar3 = uStack4; - uVar1 = loc_7F0B13B4(&iStack12,*(float *)(iStack8 + 8),*(float *)(iStack8 + 0x10), - *(float *)(uStack4 + 8),*(float *)(uStack4 + 0x10),0x13, - *(float *)(iStack8 + 0xc),*(float *)(iStack8 + 0xc),0.00000000,1.00000000); - if ((CONCAT44(iVar2,uVar3 & 0xffffff00 | uVar1 >> 0x18) != 0) && - (iStack12 == *(int *)(uStack4 + 0x14))) { - uStack16 = 1; - } - FUN_7f08a774(*(int *)(_DAT_8007a120 + 0xa8),1); - return uStack16; -} - - - -undefined4 loc_7F029A6C(int param_1,float *param_2,float *param_3) - -{ - uint uVar1; - int iVar2; - uint uVar3; - float fVar4; - float fVar5; - undefined4 uStack48; - float fStack44; - float fStack40; - undefined4 uStack36; - int iStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 4); - uStack36 = 0; - fVar4 = *param_3 * *(float *)(iStack4 + 0x24) * DAT_80051e38; - fVar5 = param_3[2] * *(float *)(iStack4 + 0x24) * DAT_80051e38; - sub_7F023160(param_1,&uStack48,&fStack40,&fStack44); - loc_7F01F604(iStack4,0); - iVar2 = (int)param_2 >> 0x1f; - fStack8 = *(float *)(param_1 + 8) + fVar5; - fStack12 = *(float *)(param_1 + 0x10) - fVar4; - fStack16 = *param_2 + fVar5 + fVar4; - fStack20 = (param_2[2] - fVar4) + fVar5; - iStack24 = *(int *)(param_1 + 0x14); - uVar3 = param_2; - uVar3 = loc_7F0B13B4(&iStack24,*(float *)(param_1 + 8),*(float *)(param_1 + 0x10),fStack8,fStack12 - ,0x1f,fStack40,fStack44,0.00000000,1.00000000); - uVar3 = (uint)uVar3 & 0xffffff00 | uVar3 >> 0x18; - if (CONCAT44(iVar2,uVar3) != 0) { - uVar1 = loc_7F0B13B4(&iStack24,fStack8,fStack12,fStack16,fStack20,0x1f,fStack40,fStack44, - 0.00000000,1.00000000); - uVar3 = uVar3 & 0xffffff00 | uVar1 >> 0x18; - if (CONCAT44(iVar2,uVar3) != 0) { - fStack8 = *(float *)(param_1 + 8) - fVar5; - fStack16 = (*param_2 - fVar5) + fVar4; - fStack12 = *(float *)(param_1 + 0x10) + fVar4; - fStack20 = param_2[2] + fVar4 + fVar5; - iStack24 = *(int *)(param_1 + 0x14); - uVar1 = loc_7F0B13B4(&iStack24,*(float *)(param_1 + 8),*(float *)(param_1 + 0x10),fStack8, - fStack12,0x1f,fStack40,fStack44,0.00000000,1.00000000); - uVar3 = uVar3 & 0xffffff00 | uVar1 >> 0x18; - if (CONCAT44(iVar2,uVar3) != 0) { - uVar1 = loc_7F0B13B4(&iStack24,fStack8,fStack12,fStack16,fStack20,0x1f,fStack40,fStack44, - 0.00000000,1.00000000); - if (CONCAT44(iVar2,uVar3 & 0xffffff00 | uVar1 >> 0x18) != 0) { - uStack36 = 1; - } - } - } - } - loc_7F01F604(iStack4,1); - return uStack36; -} - - - -undefined4 sub_7F029A94(int param_1,float *param_2,float param_3) - -{ - undefined4 uVar1; - undefined4 in_v1_hi; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = *param_2 * param_3 + *(float *)(param_1 + 8); - uStack8 = *(undefined4 *)(param_1 + 0xc); - fStack4 = param_2[2] * param_3 + *(float *)(param_1 + 0x10); - uVar1 = loc_7F029A6C(param_1,&fStack12,param_2); - return CONCAT13((char)uVar1,(int3)((uint)in_v1_hi >> 8)); -} - - - -undefined4 loc_7F029BA0(int param_1,float *param_2) - -{ - undefined4 uVar1; - float fVar2; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = *param_2 - *(float *)(param_1 + 8); - uStack8 = 0; - fStack4 = param_2[2] - *(float *)(param_1 + 0x10); - if ((fStack12 == 0.00000000) && (fStack4 == 0.00000000)) { - uVar1 = 1; - } - else { - fVar2 = sqrtf(fStack4 * fStack4 + fStack12 * fStack12); - fStack12 = fStack12 * (1.00000000 / fVar2); - fStack4 = fStack4 * (1.00000000 / fVar2); - uVar1 = loc_7F029A6C(param_1,param_2,&fStack12); - } - return uVar1; -} - - - -void FUN_7f029eb8(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f089e6c(); - *(undefined4 *)(param_1 + 0xd4) = DAT_800483ac; - *(undefined4 *)(param_1 + 0xd8) = *(undefined4 *)(iVar1 + 8); - *(undefined4 *)(param_1 + 0xdc) = *(undefined4 *)(iVar1 + 0xc); - *(undefined4 *)(param_1 + 0xe0) = *(undefined4 *)(iVar1 + 0x10); - *(undefined4 *)(param_1 + 0xe4) = *(undefined4 *)(iVar1 + 0x14); - return; -} - - - -void FUN_7f029f08(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f089e6c(); - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 2; - *(undefined4 *)(param_1 + 0xf0) = DAT_800483ac; - *(undefined4 *)(param_1 + 0xd8) = *(undefined4 *)(iVar1 + 8); - *(undefined4 *)(param_1 + 0xdc) = *(undefined4 *)(iVar1 + 0xc); - *(undefined4 *)(param_1 + 0xe0) = *(undefined4 *)(iVar1 + 0x10); - *(undefined4 *)(param_1 + 0xe4) = *(undefined4 *)(iVar1 + 0x14); - return; -} - - - -undefined8 loc_7F029D5C(int iParm1) - -{ - char cVar1; - bool bVar2; - float in_f0; - float fVar3; - - cVar1 = *(char *)(iParm1 + 7); - if (((cVar1 == '\x01') && (*(int *)(iParm1 + 0x2c) == 0)) && (*(int *)(iParm1 + 0x38) == 0)) { - return 1; - } - if (cVar1 != '\x03') { - if (cVar1 == '\x0e') { - return 1; - } - return 0; - } - if (*(int *)(iParm1 + 0x34) == 0) { - sub_7F06F610(*(int *)(iParm1 + 0x1c)); - if (0.00000000 <= in_f0) { - sub_7F06F5BC(*(int *)(iParm1 + 0x1c)); - fVar3 = locret_7F06F608(*(int *)(iParm1 + 0x1c)); - bVar2 = fVar3 <= in_f0; - in_f0 = fVar3; - if (bVar2) { - return 1; - } - } - sub_7F06F610(*(int *)(iParm1 + 0x1c)); - if (0.00000000 <= in_f0) { - return 0; - } - sub_7F06F5BC(*(int *)(iParm1 + 0x1c)); - if (0.00000000 < in_f0) { - return 0; - } - } - return 1; -} - - - -ulonglong FUN_7f02a078(int iParm1) - -{ - int iVar2; - longlong lVar1; - uint uVar3; - int iVar4; - ulonglong uVar5; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - float __x; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - - iVar4 = *(int *)(iParm1 + 0x18); - iVar2 = FUN_7f089e6c(); - FUN_7f06d270(*(int *)(iParm1 + 0x1c),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar7 = *(float *)(iVar2 + 8) - *(float *)(iVar4 + 8); - fVar6 = *(float *)(iVar2 + 0xc) - *(float *)(iVar4 + 0xc); - fVar9 = *(float *)(iVar2 + 0x10) - *(float *)(iVar4 + 0x10); - __x = loc_7F05AB54(fVar7,fVar9); - fVar8 = __x - in_f0; - if (__x < in_f0) { - fVar8 = fVar8 + DAT_80051e3c; - } - lVar1 = FUN_7f032e68(iParm1); - uVar5 = 0; - if (lVar1 == 0) { - __x = fVar7 * fVar7 + fVar6 * fVar6 + fVar9 * fVar9; - if (((__x < *(float *)(iParm1 + 0xd0) * *(float *)(iParm1 + 0xd0) * 100.00000000 * 100.00000000) - && ((fVar8 < DAT_80051e40 || (DAT_80051e44 < fVar8)))) || - ((__x < DAT_80051e48 && ((fVar8 < DAT_80051e4c || (DAT_80051e50 < fVar8)))))) { - fVar6 = FUN_7f0bb2f4(); - uVar5 = 0; - if (__x < fVar6) { - __x = sqrtf(__x); - iVar4 = (int)((__x * 30.00000000) / 16000.00000000); - if ((DAT_80051e54 < fVar8) && (fVar8 < DAT_80051e58)) { - if (DAT_80051e5c < fVar8) { - fVar8 = DAT_80051e60 - fVar8; - } - iVar4 *= (int)(((fVar8 - DAT_80051e54) * 24.00000000) / DAT_80051e64) + 1; - } - iVar4 = FUN_7f023ec8(iParm1,iVar4); - uVar3 = FUN_7000a460(); - uVar5 = (ulonglong)(uVar3 % (iVar4 + 1U) == 0); - if (iVar4 + 1U == 0) { - trap(0x1c00); - } - } - } - } - else { - uVar5 = 1; - } - if (uVar5 != 0) { - iVar4 = FUN_7f0297c4(iParm1); - uVar5 = SEXT48(iVar4); - } - if (uVar5 != 0) { - FUN_7f029eb8(iParm1); - uVar5 = SEXT48((int)uVar5); - } - return uVar5; -} - - - -void FUN_7f02a34c(int param_1,int param_2,float *param_3) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = *(int *)(param_1 + 0x18); - iVar2 = FUN_7f089e6c(); - fVar4 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar5 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - fVar3 = sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (param_2 == 0) { - param_3[2] = fVar4 / fVar3; - *param_3 = -(fVar5 / fVar3); - param_3[1] = 0.00000000; - } - else { - *param_3 = fVar5 / fVar3; - param_3[2] = -(fVar4 / fVar3); - param_3[1] = 0.00000000; - } - return; -} - - - -undefined4 FUN_7f02a3f4(int param_1,int param_2,float param_3) - -{ - undefined4 uVar1; - undefined4 in_v1_hi; - float fStack28; - undefined4 uStack24; - float fStack20; - float afStack16 [2]; - float fStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - FUN_7f02a34c(param_1,param_2,afStack16); - fStack28 = afStack16[0] * param_3 + *(float *)(iStack4 + 8); - uStack24 = *(undefined4 *)(iStack4 + 0xc); - fStack20 = fStack8 * param_3 + *(float *)(iStack4 + 0x10); - uVar1 = loc_7F029A6C(iStack4,&fStack28,afStack16); - return CONCAT13((char)uVar1,(int3)((uint)in_v1_hi >> 8)); -} - - - -void FUN_7f02a464(int iParm1,uint uParm2,float *pfParm3,undefined4 uParm4) - -{ - float in_f0; - float fVar1; - - FUN_7f06d270(*(int *)(iParm1 + 0x1c),uParm2,pfParm3,uParm4); - if (uParm2 == 0) { - fVar1 = FUN_7f0583c0(in_f0); - *pfParm3 = -fVar1; - pfParm3[1] = 0.00000000; - fVar1 = func_7F057FC4(in_f0); - pfParm3[2] = fVar1; - } - else { - fVar1 = FUN_7f0583c0(in_f0); - *pfParm3 = fVar1; - pfParm3[1] = 0.00000000; - fVar1 = func_7F057FC4(in_f0); - pfParm3[2] = -fVar1; - } - return; -} - - - -undefined4 FUN_7f02a4f0(int param_1,undefined8 param_2,float param_3) - -{ - undefined4 uVar1; - undefined4 in_v1_hi; - float fStack28; - undefined4 uStack24; - float fStack20; - float afStack16 [2]; - float fStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - FUN_7f02a464(param_1,param_2,afStack16); - fStack28 = afStack16[0] * param_3 + *(float *)(iStack4 + 8); - uStack24 = *(undefined4 *)(iStack4 + 0xc); - fStack20 = fStack8 * param_3 + *(float *)(iStack4 + 0x10); - uVar1 = loc_7F029A6C(iStack4,&fStack28,afStack16); - return CONCAT13((char)uVar1,(int3)((uint)in_v1_hi >> 8)); -} - - - -undefined8 locret_7F02A29C(int param_1) - -{ - char cVar1; - - cVar1 = *(char *)(param_1 + 7); - if ((((cVar1 != '\x04') && (cVar1 != '\x05')) && (cVar1 != '\a')) && - ((cVar1 != '\x06' || ((*(uint *)(param_1 + 0x14) & 0x200) != 0)))) { - return 1; - } - return 0; -} - - - -ulonglong locret_7F02A2C0(int param_1) - -{ - return (ulonglong)(*(char *)(param_1 + 7) == '\x04' || *(char *)(param_1 + 7) == '\x05'); -} - - - -ulonglong FUN_7f02a5d0(int iParm1) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - uint uVar4; - int iVar5; - uint uVar6; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - float fVar7; - float fVar8; - - lVar2 = locret_7F02A29C(iParm1); - if (lVar2 == 0) { - uVar4 = 0; - goto LAB_7f02a71c; - } - iVar3 = *(int *)(iParm1 + 0x18); - iVar5 = FUN_7f089e6c(); - FUN_7f06d270(*(int *)(iParm1 + 0x1c),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar7 = loc_7F05AB54(*(float *)(iVar5 + 8) - *(float *)(iVar3 + 8), - *(float *)(iVar5 + 0x10) - *(float *)(iVar3 + 0x10)); - fVar8 = fVar7 - in_f0; - if (fVar7 < in_f0) { - fVar8 = fVar8 + DAT_80051e68; - } - if ((DAT_80051e6c <= fVar8) && (fVar8 <= DAT_80051e70)) { - if (fVar8 <= DAT_80051e74) { - uVar4 = 0; - goto LAB_7f02a71c; - } - if (DAT_80051e78 <= fVar8) { - uVar4 = 0; - goto LAB_7f02a71c; - } - } - uVar6 = FUN_7000a460(); - iVar3 = (int)uVar6 >> 0x1f; - bVar1 = (uVar6 & 1) == 0; - uVar4 = FUN_7f02a4f0(iParm1,(ulonglong)bVar1,100.00000000); - uVar4 = uVar6 & 0xffffff00 | uVar4 >> 0x18; - if (CONCAT44(iVar3,uVar4) == 0) { - uVar6 = FUN_7f02a4f0(iParm1,(ulonglong)!bVar1,100.00000000); - if (CONCAT44(iVar3,uVar4 & 0xffffff00 | uVar6 >> 0x18) == 0) { - uVar4 = 0; - } - else { - FUN_7f024b08(iParm1,(uint)!bVar1); - uVar4 = 1; - } - } - else { - FUN_7f024b08(iParm1,(uint)bVar1); - uVar4 = 1; - } -LAB_7f02a71c: - return (ulonglong)uVar4; -} - - - -ulonglong FUN_7f02a730(int iParm1) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - uint uVar4; - int iVar5; - uint uVar6; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - float fVar7; - float fVar8; - - lVar2 = locret_7F02A29C(iParm1); - if (lVar2 == 0) { - uVar4 = 0; - goto LAB_7f02a87c; - } - iVar3 = *(int *)(iParm1 + 0x18); - iVar5 = FUN_7f089e6c(); - FUN_7f06d270(*(int *)(iParm1 + 0x1c),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar7 = loc_7F05AB54(*(float *)(iVar5 + 8) - *(float *)(iVar3 + 8), - *(float *)(iVar5 + 0x10) - *(float *)(iVar3 + 0x10)); - fVar8 = fVar7 - in_f0; - if (fVar7 < in_f0) { - fVar8 = fVar8 + DAT_80051e7c; - } - if ((DAT_80051e80 <= fVar8) && (fVar8 <= DAT_80051e84)) { - if (fVar8 <= DAT_80051e88) { - uVar4 = 0; - goto LAB_7f02a87c; - } - if (DAT_80051e8c <= fVar8) { - uVar4 = 0; - goto LAB_7f02a87c; - } - } - uVar6 = FUN_7000a460(); - iVar3 = (int)uVar6 >> 0x1f; - bVar1 = (uVar6 & 1) == 0; - uVar4 = FUN_7f02a4f0(iParm1,(ulonglong)bVar1,200.00000000); - uVar4 = uVar6 & 0xffffff00 | uVar4 >> 0x18; - if (CONCAT44(iVar3,uVar4) == 0) { - uVar6 = FUN_7f02a4f0(iParm1,(ulonglong)!bVar1,200.00000000); - if (CONCAT44(iVar3,uVar4 & 0xffffff00 | uVar6 >> 0x18) == 0) { - uVar4 = 0; - } - else { - FUN_7f024d8c(iParm1,(uint)!bVar1); - uVar4 = 1; - } - } - else { - FUN_7f024d8c(iParm1,(uint)bVar1); - uVar4 = 1; - } -LAB_7f02a87c: - return (ulonglong)uVar4; -} - - - -undefined8 FUN_7f02a890(int param_1) - -{ - longlong lVar1; - int iVar2; - uint uVar3; - int iVar4; - float fVar5; - float fStack32; - undefined4 uStack28; - float fStack24; - float afStack20 [2]; - float fStack12; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - if (DAT_800483ac - *(int *)(param_1 + 200) < 0xb5) { - return 0; - } - iVar4 = *(int *)(param_1 + 0x18); - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * 200.00000000 + 200.00000000; - uVar3 = FUN_7000a460(); - FUN_7f02a34c(param_1,(uint)((uVar3 & 1) == 0),afStack20); - fStack32 = afStack20[0] * fVar5 + *(float *)(iVar4 + 8); - uStack28 = *(undefined4 *)(iVar4 + 0xc); - fStack24 = fStack12 * fVar5 + *(float *)(iVar4 + 0x10); - iVar2 = loc_7F029A6C(iVar4,&fStack32,afStack20); - if (iVar2 != 0) { - loc_7F024EF0(param_1,&fStack32); - return 1; - } - afStack20[0] = -afStack20[0]; - fStack12 = -fStack12; - fStack32 = afStack20[0] * fVar5 + *(float *)(iVar4 + 8); - uStack28 = *(undefined4 *)(iVar4 + 0xc); - fStack24 = fStack12 * fVar5 + *(float *)(iVar4 + 0x10); - iVar4 = loc_7F029A6C(iVar4,&fStack32,afStack20); - if (iVar4 != 0) { - loc_7F024EF0(param_1,&fStack32); - return 1; - } - } - return 0; -} - - - -undefined8 FUN_7f02aa0c(int param_1) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - int iVar4; - int iVar5; - float fVar6; - float fVar7; - float fVar8; - - lVar2 = locret_7F02A29C(param_1); - if (lVar2 == 0) { - uVar3 = 0; - } - else { - iVar1 = *(int *)(param_1 + 0x18); - iVar4 = FUN_7f089e6c(); - iVar5 = loc_7F02307C(param_1,0); - if ((iVar5 == 0) && (iVar5 = loc_7F02307C(param_1,1), iVar5 == 0)) { - return 0; - } - if (DAT_800483ac - *(int *)(param_1 + 200) < 0xb5) { - uVar3 = 0; - } - else { - fVar6 = *(float *)(iVar4 + 8) - *(float *)(iVar1 + 8); - fVar7 = *(float *)(iVar4 + 0xc) - *(float *)(iVar1 + 0xc); - fVar8 = *(float *)(iVar4 + 0x10) - *(float *)(iVar1 + 0x10); - if (DAT_80051e90 <= fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8) { - loc_7F025B9C(param_1,0); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - } - return uVar3; -} - - - -undefined8 FUN_7f02ab00(int param_1) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - int iVar4; - int iVar5; - float fVar6; - float fVar7; - float fVar8; - - lVar2 = locret_7F02A29C(param_1); - if (lVar2 == 0) { - uVar3 = 0; - } - else { - iVar1 = *(int *)(param_1 + 0x18); - iVar4 = FUN_7f089e6c(); - iVar5 = loc_7F02307C(param_1,0); - if ((iVar5 == 0) && (iVar5 = loc_7F02307C(param_1,1), iVar5 == 0)) { - return 0; - } - if (DAT_800483ac - *(int *)(param_1 + 200) < 0xb5) { - uVar3 = 0; - } - else { - fVar6 = *(float *)(iVar4 + 8) - *(float *)(iVar1 + 8); - fVar7 = *(float *)(iVar4 + 0xc) - *(float *)(iVar1 + 0xc); - fVar8 = *(float *)(iVar4 + 0x10) - *(float *)(iVar1 + 0x10); - if (DAT_80051e94 <= fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8) { - loc_7F025B9C(param_1,1); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - } - return uVar3; -} - - - -ulonglong FUN_7f02abf4(int param_1) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - uint uVar4; - int iVar5; - int iVar6; - uint uVar7; - float fVar8; - float fVar9; - float fVar10; - - lVar2 = locret_7F02A29C(param_1); - if (lVar2 == 0) { - uVar4 = 0; - goto LAB_7f02ad10; - } - iVar3 = *(int *)(param_1 + 0x18); - iVar5 = FUN_7f089e6c(); - iVar6 = loc_7F02307C(param_1,0); - if (iVar6 == 0) { - iVar6 = loc_7F02307C(param_1,1); - if (iVar6 != 0) goto LAB_7f02ac4c; - } - else { -LAB_7f02ac4c: - fVar8 = *(float *)(iVar5 + 8) - *(float *)(iVar3 + 8); - fVar9 = *(float *)(iVar5 + 0xc) - *(float *)(iVar3 + 0xc); - fVar10 = *(float *)(iVar5 + 0x10) - *(float *)(iVar3 + 0x10); - if (fVar8 * fVar8 + fVar9 * fVar9 + fVar10 * fVar10 < DAT_80051e98) { - uVar4 = 0; - goto LAB_7f02ad10; - } - uVar7 = FUN_7000a460(); - iVar3 = (int)uVar7 >> 0x1f; - bVar1 = (uVar7 & 1) == 0; - uVar4 = FUN_7f02a3f4(param_1,(uint)bVar1,200.00000000); - uVar4 = uVar7 & 0xffffff00 | uVar4 >> 0x18; - if (CONCAT44(iVar3,uVar4) != 0) { - loc_7F026118(param_1,(uint)bVar1); - uVar4 = 1; - goto LAB_7f02ad10; - } - uVar7 = FUN_7f02a3f4(param_1,(uint)!bVar1,200.00000000); - if (CONCAT44(iVar3,uVar4 & 0xffffff00 | uVar7 >> 0x18) != 0) { - loc_7F026118(param_1,(uint)!bVar1); - uVar4 = 1; - goto LAB_7f02ad10; - } - } - uVar4 = 0; -LAB_7f02ad10: - return (ulonglong)uVar4; -} - - - -undefined8 FUN_7f02ad24(int param_1,uint param_2,undefined4 param_3) - -{ - longlong lVar1; - int iVar3; - undefined8 uVar2; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - iVar3 = loc_7F02307C(param_1,0); - if ((iVar3 == 0) && (iVar3 = loc_7F02307C(param_1,1), iVar3 == 0)) { - uVar2 = 0; - } - else { - FUN_7f025868(param_1,param_2,param_3); - uVar2 = 1; - } - } - return uVar2; -} - - - -undefined8 FUN_7f02ad90(int param_1,uint param_2,undefined4 param_3) - -{ - longlong lVar1; - int iVar3; - undefined8 uVar2; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - iVar3 = loc_7F02307C(param_1,0); - if ((iVar3 == 0) && (iVar3 = loc_7F02307C(param_1,1), iVar3 == 0)) { - uVar2 = 0; - } - else { - FUN_7f0259f8(param_1,param_2,param_3); - uVar2 = 1; - } - } - return uVar2; -} - - - -undefined8 loc_7F02AB34(int param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined8 uVar1; - - uVar1 = 0; - if ((*(char *)(param_1 + 7) == '\b') && ((*(uint *)(param_1 + 0x4c) & 0x60) != 0)) { - *(undefined4 *)(param_1 + 0x4c) = param_2; - *(undefined4 *)(param_1 + 0x50) = param_3; - loc_7F0250B0(param_1); - uVar1 = 1; - } - return uVar1; -} - - - -undefined8 FUN_7f02ae4c(int param_1,undefined4 param_2,undefined4 param_3) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if (*(char *)(param_1 + 7) != '\x01') { - loc_7F023E04(param_1); - } - uVar2 = 1; - *(undefined4 *)(param_1 + 0x30) = param_2; - *(undefined4 *)(param_1 + 0x38) = 0; - *(undefined4 *)(param_1 + 0x40) = 0; - *(undefined4 *)(param_1 + 0x34) = param_3; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F02AD40(int param_1,longlong param_2,char param_3) - -{ - longlong lVar1; - short sVar2; - float *pfVar3; - float fStack20; - float fStack16; - float fStack12; - float afStack8 [2]; - - if ((-1 < param_2) && (lVar1 = locret_7F02A29C(param_1), lVar1 != 0)) { - if (9 < DAT_8002ce90) { - return 0; - } - sVar2 = locret_7F032FA4(param_1,(short)param_2); - if (sVar2 < 10000) { - pfVar3 = (float *)((int)sVar2 * 0x2c + _DAT_80075d58); - } - else { - pfVar3 = (float *)((int)sVar2 * 0x44 + _DAT_80075d5c + -680000); - } - afStack8[0] = pfVar3[10]; - if (afStack8[0] != 0.00000000) { - if (0.50000000 <= pfVar3[4]) { - lVar1 = loc_7F028F98(param_1,pfVar3,afStack8[0],param_3); - if (lVar1 == 0) { - return 0; - } - return 1; - } - fStack20 = pfVar3[3] * *(float *)(param_1 + 0x24) * DAT_80051e9c + *pfVar3; - fStack16 = pfVar3[4] * *(float *)(param_1 + 0x24) * DAT_80051e9c + pfVar3[1]; - fStack12 = pfVar3[5] * *(float *)(param_1 + 0x24) * DAT_80051e9c + pfVar3[2]; - lVar1 = sub_7F0B0BE4((int *)afStack8,*pfVar3,pfVar3[2],fStack20,fStack12); - if (lVar1 != 0) { - lVar1 = loc_7F028F98(param_1,&fStack20,afStack8[0],param_3); - if (lVar1 == 0) { - return 0; - } - return 1; - } - } - } - return 0; -} - - - -undefined8 FUN_7f02b05c(int param_1,longlong param_2) - -{ - longlong lVar1; - - if (param_2 != 0) { - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - loc_7F029288(param_1,(int **)param_2); - return 1; - } - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f02b2c4) overlaps instruction at (ram,0x7f02b2c0) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F02B4D0(int iParm1) - -{ - int iVar3; - longlong lVar1; - ulonglong uVar2; - undefined4 uVar4; - uint uVar5; - float *pfVar6; - float *pfVar7; - int iVar8; - int *piVar9; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - int *piVar10; - int iVar11; - int iVar12; - float in_f0; - float fVar13; - float fVar14; - int aiStack108 [4]; - int iStack92; - int iStack88; - int iStack84; - int iStack80; - float fStack68; - float fStack64; - float afStack60 [8]; - float afStack28 [2]; - int iStack20; - int iStack16; - - if ('\0' < *(char *)(iParm1 + 8)) { - return; - } - if (*(int *)(iParm1 + 0x2c) != 0) { - sub_7F06F5BC(*(int *)(iParm1 + 0x1c)); - fVar13 = locret_7F06F608(*(int *)(iParm1 + 0x1c)); - if (fVar13 <= in_f0) { - FUN_7f023c48(iParm1,8.00000000); - *(undefined4 *)(iParm1 + 0x2c) = 0; - } - *(undefined *)(iParm1 + 8) = 0; - return; - } - if (*(int *)(iParm1 + 0x30) < 1) { - uVar5 = FUN_7000a460(); - *(char *)(iParm1 + 8) = (char)(uVar5 % 5) + '\x0e'; - if (*(int *)(iParm1 + 0x40) == 0) { - return; - } - if ((*(uint *)(iParm1 + 0x14) & 0x80) != 0) { - *(undefined4 *)(iParm1 + 0x40) = 0; - return; - } - iVar3 = *(int *)(iParm1 + 0x44) - (int)*(char *)(iParm1 + 8); - *(int *)(iParm1 + 0x44) = iVar3; - if (-1 < iVar3) { - return; - } - FUN_7f06d270(*(int *)(iParm1 + 0x1c),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fStack68 = in_f0; - fVar13 = DAT_80051ea8; - pfVar6 = afStack60; - fStack64 = in_f0; - do { - fStack68 = fStack68 + DAT_80051eac; - if (fVar13 <= fStack68) { - fStack68 = fStack68 - fVar13; - iVar3 = *(int *)(iParm1 + 0x18); - } - else { - iVar3 = *(int *)(iParm1 + 0x18); - } - loc_7F026488(iVar3,fStack68,1000.00000000,0,0.00000000,1.00000000); - fVar13 = DAT_80051eb0; - pfVar7 = pfVar6 + 1; - *pfVar6 = in_f0; - pfVar6 = pfVar7; - } while (pfVar7 < afStack28); - iVar3 = 0; - piVar10 = aiStack108; - do { - *piVar10 = iVar3; - iVar3 += 1; - piVar10 = piVar10 + 1; - } while (iVar3 < 8); - piVar10 = aiStack108; - iVar3 = 0; - do { - iVar11 = iVar3 + 1; - if (iVar11 < 8) { - uVar5 = 8U - iVar11 & 3; - iVar8 = iVar11; - if (uVar5 != 0) { - piVar9 = aiStack108 + iVar11; - iVar8 = iVar11; - do { - iVar12 = iVar8; - if (afStack60[aiStack108[iVar3]] <= afStack60[*piVar9]) { - iVar12 = iVar3; - } - iVar3 = iVar12; - iVar8 += 1; - piVar9 = piVar9 + 1; - } while (uVar5 + iVar11 != iVar8); - if (iVar8 == 8) goto LAB_7f02b5f0; - } - piVar9 = aiStack108 + iVar8; - do { - fVar14 = afStack60[aiStack108[iVar3]]; - if (afStack60[*piVar9] < fVar14) { - fVar14 = afStack60[aiStack108[iVar8]]; - iVar12 = piVar9[1]; - iVar3 = iVar8; - } - else { - iVar12 = piVar9[1]; - } - if (afStack60[iVar12] < fVar14) { - iVar3 = iVar8 + 1; - fVar14 = afStack60[aiStack108[iVar3]]; - iVar12 = piVar9[2]; - } - else { - iVar12 = piVar9[2]; - } - if (afStack60[iVar12] < fVar14) { - iVar3 = iVar8 + 2; - fVar14 = afStack60[aiStack108[iVar3]]; - iVar12 = piVar9[3]; - } - else { - iVar12 = piVar9[3]; - } - if (afStack60[iVar12] < fVar14) { - iVar3 = iVar8 + 3; - } - iVar8 += 4; - piVar9 = piVar9 + 4; - } while (iVar8 != 8); - } -LAB_7f02b5f0: - piVar9 = aiStack108 + iVar3; - iVar3 = *piVar10; - *piVar10 = *piVar9; - piVar10 = piVar10 + 1; - *piVar9 = iVar3; - iVar3 = iVar11; - if (6 < iVar11) { - iVar3 = -1; - if (afStack60[0] < 490.00000000) { - if (afStack60[iStack92] < 200.00000000) { - iVar3 = 7; - } - else { - if (((aiStack108[0] == 0) || (aiStack108[1] == 0)) || (aiStack108[2] == 0)) { - if (((aiStack108[3] == 4) || (iStack92 == 4)) && - (uVar5 = FUN_7000a460(), uVar5 % 3 == 0)) { - if (aiStack108[3] == 4) { - iVar3 = 3; - fVar13 = DAT_80051eb4; - } - else { - iVar3 = 4; - fVar13 = DAT_80051eb4; - } - } - else { - uVar5 = FUN_7000a460(); - iVar3 = uVar5 % 3 + 5; - fVar13 = DAT_80051eb8; - } - } - else { - if (((aiStack108[0] == 1) || (aiStack108[0] == 7)) && - ((iStack88 != 0 && ((iStack84 != 0 && (iStack80 != 0)))))) { - uVar5 = FUN_7000a460(); - iVar3 = uVar5 % 3 + 5; - fVar13 = DAT_80051ebc; - } - } - } - } - if (iVar3 < 0) { - *(undefined4 *)(iParm1 + 0x40) = 0; - return; - } - fStack64 = (float)aiStack108[iVar3] * fVar13 * 0.12500000 + fStack64; - if (fVar13 <= fStack64) { - fStack64 = fStack64 - fVar13; - } - FUN_7f02ae4c(iParm1,0x10,(int)((fStack64 * 65536.00000000) / fVar13)); - return; - } - } while( true ); - } - if (*(int *)(iParm1 + 0x38) == 0) { - fVar13 = (float)loc_7F025160(iParm1,*(int *)(iParm1 + 0x30),*(undefined4 *)(iParm1 + 0x34)); - if (DAT_80051ea0 < fVar13) { - if (fVar13 < DAT_80051ea4) { - iStack16 = something_with_weaponpos_of_guarddata_hand(iParm1,1); - iStack20 = something_with_weaponpos_of_guarddata_hand(iParm1,0); - *(undefined4 *)(iParm1 + 0x38) = 1; - *(undefined4 *)(iParm1 + 0x3c) = 1; - if (((iStack16 == 0) || (iStack20 == 0)) && - (((iStack16 != 0 || (iStack20 != 0)) && - ((uVar2 = FUN_7f023c10(iStack16), uVar2 == 0 && - (uVar2 = FUN_7f023c10(iStack20), uVar2 == 0)))))) { - if ((iStack20 != 0) || (iStack16 != 0)) { - FUN_7f070298(*(int *)(iParm1 + 0x1c),_DAT_80069578 + 0x4018,iStack16 != 0,0.00000000, - 0x3f000000,16.00000000); - loc_7F06FE2C(*(int *)(iParm1 + 0x1c), - (float)((uint)*(ushort *)(_DAT_80069578 + 0x401c) - 1)); - } - } - else { - uVar4 = FUN_7000a460(); - FUN_7f070298(*(int *)(iParm1 + 0x1c),_DAT_80069578 + 0x8204,(byte)uVar4 & 1,0.00000000, - 0x3f000000,16.00000000); - loc_7F06FE2C(*(int *)(iParm1 + 0x1c), - (float)((uint)*(ushort *)(_DAT_80069578 + 0x8208) - 1)); - } - goto LAB_7f02b35c; - } - uVar5 = *(uint *)(iParm1 + 0x30); - } - else { - uVar5 = *(uint *)(iParm1 + 0x30); - } - if ((uVar5 & 0x10) != 0) { - *(undefined4 *)(iParm1 + 0x30) = 0; - } - } - else { - iVar3 = sub_7F06F5AC(*(int *)(iParm1 + 0x1c)); - lVar1 = loc_7F02C4B0(iParm1,*(undefined4 *)(iParm1 + 0x3c), - (float)((uint)*(ushort *)(iVar3 + 4) - 1),0x3f800000,0); - *(undefined4 *)(iParm1 + 0x3c) = (int)lVar1; - if (lVar1 != 1) { - FUN_7f023c48(iParm1,8.00000000); - *(undefined4 *)(iParm1 + 0x38) = 0; - if ((*(uint *)(iParm1 + 0x30) & 0x10) != 0) { - *(undefined4 *)(iParm1 + 0x30) = 0; - } - } - } -LAB_7f02b35c: - *(undefined *)(iParm1 + 8) = 0; - return; -} - - - -void sub_7F02B4E0(int param_1) - -{ - *(undefined *)(param_1 + 8) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f02b7f0(int iParm1) - -{ - uint uVar1; - int **ppiVar2; - uint uVar3; - char cVar4; - float in_f0; - float fVar5; - float extraout_f0; - - fVar5 = in_f0; - if (*(int *)(iParm1 + 0x30) == 0) { - sub_7F06F5BC(*(int *)(iParm1 + 0x1c)); - fVar5 = locret_7F06F608(*(int *)(iParm1 + 0x1c)); - if (fVar5 <= in_f0) { - fVar5 = (float)loc_7F023E04(iParm1); - } - } - uVar1 = sub_7F06F5AC(*(int *)(iParm1 + 0x1c)); - if (uVar1 == _DAT_80069578 + 0xb9a8U) { - uVar1 = sub_7F06F5BC(*(int *)(iParm1 + 0x1c)); - if (42.00000000 <= fVar5) { - if (*(int *)(iParm1 + 0x14) << 6 < 0) { - cVar4 = *(char *)(iParm1 + 8); - } - else { - if ((DAT_800483b0 & 1) == 0) { - uVar1 = FUN_7f0330e4(iParm1); - if (extraout_f0 < 800.00000000) { - ppiVar2 = FUN_70008e18((longlong)_DAT_80063760,0x101,NULL); - uVar1 = FUN_7f053f0c((int)ppiVar2,(float *)(*(int *)(iParm1 + 0x18) + 8)); - uVar3 = *(uint *)(iParm1 + 0x14); - } - else { - uVar3 = *(uint *)(iParm1 + 0x14); - } - } - else { - uVar3 = *(uint *)(iParm1 + 0x14); - } - *(uint *)(iParm1 + 0x14) = uVar3 | 0x2000000; - cVar4 = *(char *)(iParm1 + 8); - } - } - else { - cVar4 = *(char *)(iParm1 + 8); - } - } - else { - cVar4 = *(char *)(iParm1 + 8); - } - if ((cVar4 < '\x01') && (*(int *)(iParm1 + 0x38) != 0)) { - uVar1 = FUN_7000a460(); - *(char *)(iParm1 + 8) = (char)(uVar1 % 5) + '\x0e'; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F02B764(int iParm1) - -{ - uint uVar1; - int iVar2; - uint uVar3; - undefined4 uVar4; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - if (*(char *)(iParm1 + 8) < '\x01') { - iStack4 = *(int *)(iParm1 + 0x1c); - *(undefined *)(iParm1 + 8) = 0x10; - iVar2 = sub_7F06F5AC(iStack4); - if ((iVar2 == _DAT_80069578 + 0x4504) && (sub_7F06F5BC(iStack4), 80.00000000 <= in_f0)) { - fStack16 = DAT_80030a84; - uStack12 = DAT_80030a88; - fStack8 = (float)DAT_80030a8c; - uVar3 = FUN_7f06d270(iStack4,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - iVar2 = (int)uVar3 >> 0x1f; - fStack16 = func_7F057FC4(in_f0); - fStack16 = -fStack16; - fStack8 = FUN_7f0583c0(in_f0); - fStack8 = -fStack8; - uVar1 = sub_7F029A94(*(int *)(iParm1 + 0x18),&fStack16,20.00000000); - if (CONCAT44(iVar2,uVar3 & 0xffffff00 | uVar1 >> 0x18) == 0) { - uVar4 = FUN_7000a460(); - FUN_7f070298(*(int *)(iParm1 + 0x1c),_DAT_80069578 + 0x4384,(byte)uVar4 & 1,30.00000000, - 0x3f000000,16.00000000); - sub_7F06FDCC(*(int *)(iParm1 + 0x1c),0x41f00000,0x41800000); - } - } - } - return; -} - - - -void FUN_7f02ba7c(int param_1) - -{ - int iVar1; - - if (*(int *)(param_1 + 0x2c) < 0) { - *(undefined4 *)(param_1 + 0x2c) = 0; - return; - } - iVar1 = *(int *)(param_1 + 0x2c) + DAT_800483a4; - *(int *)(param_1 + 0x2c) = iVar1; - if (0x59 < iVar1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x20; - return; - } - iVar1 = (0x5a - iVar1) * 0xff; - *(undefined *)(param_1 + 0xc) = (char)(iVar1 / 0x5a); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - return; -} - - - -void loc_7F02B978(undefined2 *param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - bool bVar3; - float fVar4; - int iVar6; - longlong lVar5; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - - iVar10 = 0; - iVar9 = 0; - iVar6 = FUN_7f01f6e0(); - fVar4 = DAT_80051ec0; - if (*(char *)((int)param_1 + 7) == '\x06') { - iVar10 = *(int *)(param_1 + 0x16); - } - else { - if (*(char *)((int)param_1 + 7) != '\x04') { - bVar3 = 0 < iVar6; - goto LAB_7f02bb78; - } - iVar10 = *(int *)(param_1 + 0x16); - } - bVar3 = iVar10 < iVar6; -LAB_7f02bb78: - if (bVar3) { - iVar8 = iVar10 * 0x1dc; - do { - iVar7 = iVar8 + DAT_8002cca4; - if (*(int *)(iVar7 + 0x1c) != 0) { - iVar1 = *(int *)(iVar7 + 0x18); - iVar2 = *(int *)(param_1 + 0xc); - fVar11 = *(float *)(iVar1 + 8) - *(float *)(iVar2 + 8); - fVar12 = *(float *)(iVar1 + 0xc) - *(float *)(iVar2 + 0xc); - fVar13 = *(float *)(iVar1 + 0x10) - *(float *)(iVar2 + 0x10); - if (fVar11 * fVar11 + fVar12 * fVar12 + fVar13 * fVar13 < fVar4) { - iVar9 += 1; - lVar5 = FUN_7f0299a4(iVar7,iVar2 + 8,*(undefined4 *)(iVar2 + 0x14)); - if (lVar5 != 0) { - if (param_2 == 0) { - *(undefined2 *)(iVar7 + 0x118) = *param_1; - } - else { - *(undefined2 *)(iVar7 + 0x11a) = *param_1; - } - } - } - } - iVar10 += 1; - iVar8 += 0x1dc; - } while ((iVar10 < iVar6) && (iVar9 < 4)); - } - if (*(char *)((int)param_1 + 7) == '\x06') { - *(int *)(param_1 + 0x16) = iVar10; - } - else { - if (*(char *)((int)param_1 + 7) == '\x04') { - *(int *)(param_1 + 0x16) = iVar10; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02bcac(undefined2 *puParm1) - -{ - int iVar1; - int **ppiVar3; - int iVar4; - longlong lVar2; - float in_f0; - float fVar5; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined2 uStack12; - - iVar1 = *(int *)(puParm1 + 0xe); - uStack32 = DAT_80030a90; - uStack24 = DAT_80030a98; - uStack28 = DAT_80030a94; - uStack16 = DAT_80030aa0; - uStack20 = DAT_80030a9c; - uStack12 = DAT_80030aa4; - if (0.00000000 <= *(float *)(puParm1 + 0x18)) { - sub_7F06F5BC(iVar1); - if (*(float *)(puParm1 + 0x18) <= in_f0) { - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&uStack32 + DAT_80030aa8 * 2), - NULL); - in_f0 = (float)FUN_7f053f0c((int)ppiVar3,(float *)(*(int *)(puParm1 + 0xc) + 8)); - DAT_80030aa8 += 1; - if (10 < DAT_80030aa8) { - DAT_80030aa8 = 0; - } - *(undefined4 *)(puParm1 + 0x18) = 0xbf800000; - fVar5 = *(float *)(puParm1 + 0x1a); - } - else { - fVar5 = *(float *)(puParm1 + 0x1a); - } - } - else { - fVar5 = *(float *)(puParm1 + 0x1a); - } - if ((0.00000000 <= fVar5) && (sub_7F06F5BC(iVar1), *(float *)(puParm1 + 0x1a) <= in_f0)) { - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&uStack32 + DAT_80030aa8 * 2), - NULL); - in_f0 = (float)FUN_7f053f0c((int)ppiVar3,(float *)(*(int *)(puParm1 + 0xc) + 8)); - DAT_80030aa8 += 1; - if (10 < DAT_80030aa8) { - DAT_80030aa8 = 0; - } - *(undefined4 *)(puParm1 + 0x1a) = 0xbf800000; - } - sub_7F06F5BC(iVar1); - fVar5 = locret_7F06F608(iVar1); - if (fVar5 <= in_f0) { - iVar4 = sub_7F06F5AC(iVar1); - if (iVar4 == _DAT_80069578 + 0x540c) { - lVar2 = sub_7F06F5B4(iVar1); - fVar5 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x5688); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - FUN_7f070298(iVar1,_DAT_80069578 + 0x5684,lVar2 == 0,50.00000000,DAT_80051ec4, - (fVar5 - 1.00000000) - 50.00000000); - fVar5 = (float)(uint)*(ushort *)(_DAT_80069578 + 0x5688); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - loc_7F06FE84(iVar1,0x3f000000,(fVar5 - 1.00000000) - 50.00000000); - return; - } - FUN_7f024ac0((int)puParm1); - } - loc_7F02B978(puParm1,1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02bf88(undefined2 *puParm1) - -{ - int iVar1; - float in_f0; - float fVar2; - - iVar1 = *(int *)(puParm1 + 0xe); - sub_7F06F5BC(iVar1); - fVar2 = locret_7F06F608(iVar1); - if (fVar2 <= in_f0) { - FUN_7f029eb8((int)puParm1); - iVar1 = sub_7F06F5AC(iVar1); - if (iVar1 == _DAT_80069578 + 0x540c) { - FUN_7f02411c((int)puParm1,26.00000000); - } - else { - FUN_7f024150((int)puParm1); - } - } - loc_7F02B978(puParm1,0); - return; -} - - - -void FUN_7f02c028(int iParm1) - -{ - float in_f0; - float fVar1; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - iStack4 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iStack4); - fVar1 = locret_7F06F608(iStack4); - if (fVar1 <= in_f0) { - uStack16 = *(undefined4 *)(iParm1 + 0x2c); - uStack12 = *(undefined4 *)(iParm1 + 0x30); - uStack8 = *(undefined4 *)(iParm1 + 0x34); - loc_7F026F20(iParm1,&uStack16,*(undefined4 *)(iParm1 + 0x38),*(undefined4 *)(iParm1 + 0x3c), - *(undefined4 *)(iParm1 + 0x40)); - } - return; -} - - - -void FUN_7f02c0ac(int iParm1) - -{ - int iVar1; - float in_f0; - float fVar2; - - iVar1 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar1); - fVar2 = locret_7F06F608(iVar1); - if (fVar2 <= in_f0) { - FUN_7f029eb8(iParm1); - FUN_7f02411c(iParm1,10.00000000); - } - return; -} - - - -void FUN_7f02c108(int iParm1) - -{ - int iVar1; - float in_f0; - float fVar2; - - iVar1 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar1); - fVar2 = locret_7F06F608(iVar1); - if (fVar2 <= in_f0) { - FUN_7f029eb8(iParm1); - FUN_7f024150(iParm1); - } - return; -} - - - -void FUN_7f02c160(int iParm1) - -{ - int iVar1; - float in_f0; - float fVar2; - - iVar1 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar1); - fVar2 = locret_7F06F608(iVar1); - if (fVar2 <= in_f0) { - loc_7F023E04(iParm1); - } - return; -} - - - -void FUN_7f02c1b0(int iParm1) - -{ - int iVar1; - float in_f0; - float fVar2; - - iVar1 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar1); - if (60.00000000 <= in_f0) { - in_f0 = (float)FUN_7f0562c4(); - } - sub_7F06F5BC(iVar1); - fVar2 = locret_7F06F608(iVar1); - if (fVar2 <= in_f0) { - FUN_7f024150(iParm1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02c22c(int iParm1) - -{ - int iVar1; - int iVar2; - float in_f0; - float fVar3; - - iVar2 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar2); - fVar3 = locret_7F06F608(iVar2); - if (fVar3 <= in_f0) { - iVar1 = sub_7F06F5AC(iVar2); - if (iVar1 == _DAT_80069578 + 0x4384) { - FUN_7f02411c(iParm1,26.00000000); - } - else { - iVar2 = sub_7F06F5AC(iVar2); - if (iVar2 == _DAT_80069578 + 0x5d10) { - FUN_7f02411c(iParm1,26.00000000); - } - else { - FUN_7f024150(iParm1); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02c2ec(int param_1,int param_2,int param_3) - -{ - bool bVar1; - int iVar5; - ulonglong uVar2; - ulonglong uVar3; - ulonglong uVar4; - int iVar6; - int **ppiVar7; - - iVar5 = something_with_weaponpos_of_guarddata_hand(param_1,param_2); - iVar5 = *(int *)(iVar5 + 4); - uVar2 = FUN_7f05e510((int)*(char *)(iVar5 + 0x80)); - uVar3 = FUN_7f05e534((int)*(char *)(iVar5 + 0x80)); - bVar1 = false; - if (param_3 != 0) { - if ((byte)uVar2 == 0) { - bVar1 = true; - } - else { - if (((*(ushort *)(param_1 + 0x12) & 0x80) == 0) && - (*(int *)(param_1 + param_2 * 4 + 0x178) < DAT_800483ac)) { - bVar1 = true; - } - } - } - if (bVar1) { - iVar5 = param_1 + param_2 * 8; - if (*(int *)(iVar5 + 0x168) == 0) { - iVar6 = *(int *)(iVar5 + 0x16c); - } - else { - uVar4 = locret_70008E00(*(int *)(iVar5 + 0x168)); - if (uVar4 != 0) { - loc_7000905C(*(int *)(iVar5 + 0x168)); - } - iVar6 = *(int *)(iVar5 + 0x16c); - } - if ((iVar6 != 0) && (uVar4 = locret_70008E00(iVar6), uVar4 != 0)) { - loc_7000905C(*(int *)(iVar5 + 0x16c)); - } - if ((short)uVar3 != 0) { - ppiVar7 = NULL; - if (*(int *)(iVar5 + 0x168) == 0) { - ppiVar7 = (int **)(iVar5 + 0x168); - } - else { - if (*(int *)(iVar5 + 0x16c) == 0) { - ppiVar7 = (int **)(iVar5 + 0x16c); - } - } - if (ppiVar7 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,(short)uVar3,ppiVar7); - FUN_7f053f0c((int)*ppiVar7,(float *)(*(int *)(param_1 + 0x18) + 8)); - *(int *)(param_1 + param_2 * 4 + 0x178) = DAT_800483ac + (uint)(byte)uVar2; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x80; - } - } - } - return; -} - - - -float FUN_7f02c498(uint uParm1,undefined8 uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - bool bVar1; - char cVar2; - float in_f0; - float fVar3; - - FUN_7f06d270(*(int *)(uParm1 + 0x1c),uParm1,uParm3,uParm4); - in_f0 = in_f0 + *(float *)(uParm1 + 0x14c); - fVar3 = 0.00000000; - if (DAT_80051ec8 <= in_f0) { - in_f0 = in_f0 - DAT_80051ec8; -LAB_7f02c500: - cVar2 = *(char *)(uParm1 + 7); - } - else { - if (in_f0 < 0.00000000) { - in_f0 = in_f0 + DAT_80051ec8; - goto LAB_7f02c500; - } - cVar2 = *(char *)(uParm1 + 7); - } - if ((cVar2 == '\b') || (cVar2 == '\n')) { - fVar3 = *(float *)(*(int *)(uParm1 + 0x2c) + 0xc); - } - else { - if (cVar2 != '\x19') { - bVar1 = true; - goto code_r0x7f02c548; - } - if (*(int *)(uParm1 + 0x2c) == 0) { - bVar1 = true; - goto code_r0x7f02c548; - } - fVar3 = *(float *)(*(int *)(uParm1 + 0x2c) + 0xc); - } - bVar1 = fVar3 == 0.00000000; -code_r0x7f02c548: - if (!bVar1) { - if (*(char *)(*(int *)(uParm1 + 0x1c) + 0x24) != '\0') { - fVar3 = DAT_80051ec8 - fVar3; - } - in_f0 = in_f0 + fVar3; - if (DAT_80051ec8 <= in_f0) { - in_f0 = in_f0 - DAT_80051ec8; - } - } - return in_f0; -} - - - -float locret_7F02C2A8(int param_1) - -{ - float fVar1; - - fVar1 = *(float *)(param_1 + 0x144) + *(float *)(param_1 + 0x148); - if (fVar1 < 0.00000000) { - fVar1 = fVar1 + DAT_80051ecc; - } - return fVar1; -} - - - -undefined4 loc_7F02C4B0(int iParm1,longlong lParm2,float fParm3,float fParm4,float fParm5) - -{ - int iVar1; - int iVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 uVar3; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 uVar4; - float in_f0; - float fVar5; - float fVar6; - float fVar7; - undefined4 uStackX4; - - uStackX4 = (undefined4)lParm2; - if (lParm2 != 2) { - iVar1 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar1); - fVar6 = in_f0; - FUN_7f06d270(iVar1,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar7 = DAT_80051ed0 * fParm4 * DAT_800483a8 * *(float *)(iVar1 + 0xa4); - if (*(char *)(iParm1 + 7) == '\b') { - fVar5 = (float)loc_7F025160(iParm1,*(undefined4 *)(iParm1 + 0x4c), - *(undefined4 *)(iParm1 + 0x50)); - uVar3 = extraout_a2_lo_00; - uVar4 = extraout_a3_lo_00; - } - else { - if (*(char *)(iParm1 + 7) == '\x01') { - fVar5 = (float)loc_7F025160(iParm1,*(undefined4 *)(iParm1 + 0x30), - *(undefined4 *)(iParm1 + 0x34)); - uVar3 = extraout_a2_lo_01; - uVar4 = extraout_a3_lo_01; - } - else { - iVar2 = FUN_7f089e6c(); - fVar5 = (float)FUN_7f032ed8(iParm1,iVar2 + 8); - uVar3 = extraout_a2_lo_02; - uVar4 = extraout_a3_lo_02; - } - } - fVar5 = fVar5 - fParm5; - if (fVar5 < 0.00000000) { - fVar5 = fVar5 + DAT_80051ed4; - } - if ((fVar5 < fVar7) || (DAT_80051ed8 - fVar7 < fVar5)) { - fVar6 = fVar6 + fVar5; - if (DAT_80051ed8 <= fVar6) { - fVar6 = fVar6 - DAT_80051ed8; - } - FUN_7f06d32c(iVar1,fVar6,uVar3,uVar4); - uStackX4 = 3; - } - else { - if (DAT_80051edc <= fVar5) { - fVar6 = fVar6 - fVar7; - if (fVar6 < 0.00000000) { - fVar6 = fVar6 + DAT_80051ed8; - } - FUN_7f06d32c(iVar1,fVar6,uVar3,uVar4); - } - else { - fVar6 = fVar6 + fVar7; - if (DAT_80051ed8 <= fVar6) { - fVar6 = fVar6 - DAT_80051ed8; - } - FUN_7f06d32c(iVar1,fVar6,uVar3,uVar4); - } - } - if (fParm3 <= in_f0) { - uStackX4 = 2; - } - } - return uStackX4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F02D004(short *param_1,int param_2,int param_3,int param_4,float param_5) - -{ - char cVar1; - ushort **ppuVar2; - ushort *puVar3; - bool bVar4; - int iVar5; - uint uVar6; - uint *puVar7; - float *pfVar8; - int iVar9; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 uVar10; - uint uVar11; - float fVar12; - float fVar13; - float fStack292; - undefined4 uStack288; - float fStack284; - float fStack280; - undefined4 uStack276; - float fStack272; - float afStack268 [2]; - float fStack260; - float afStack256 [12]; - float fStack208; - float fStack204; - float fStack200; - float fStack188; - float fStack184; - float fStack180; - float *pfStack176; - float afStack172 [18]; - float fStack100; - float fStack96; - float fStack92; - int iStack88; - float fStack80; - float fStack72; - float fStack68; - float fStack64; - undefined4 uStack60; - float fStack56; - float *pfStack52; - int iStack48; - int iStack44; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - undefined4 uStack20; - int iStack16; - uint uStack12; - float fStack8; - float fStack4; - - uStack20 = 1; - fStack4 = 0.00000000; - cVar1 = *(char *)((int)param_1 + 7); - uVar11 = 1; - iVar9 = 0; - iVar5 = 0; - if (CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) == 8) { - uVar11 = *(uint *)(param_1 + 0x26); - iVar5 = *(int *)(param_1 + 0x28); - } - else { - if (CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) != 1) { - uVar6 = 0; - goto LAB_7f02c824; - } - uVar11 = *(uint *)(param_1 + 0x18); - iVar5 = *(int *)(param_1 + 0x1a); - } - iVar9 = iVar5 >> 0x1f; - uVar6 = uVar11 & 2; -LAB_7f02c824: - fStack8 = 0.00000000; - if (uVar6 == 0) { - fStack8 = 0.00000000; - iStack16 = iVar5; - uStack12 = uVar11; - iVar5 = FUN_7f089e6c(); - pfStack52 = (float *)(iVar5 + 8); - iStack44 = *(int *)(param_1 + 0xc); - uVar11 = uStack12 & 1; - fStack24 = *(float *)(iVar5 + 8) - *(float *)(iStack44 + 8); - fStack28 = *(float *)(iVar5 + 0xc) - *(float *)(iStack44 + 0xc); - fStack32 = *(float *)(iVar5 + 0x10) - *(float *)(iStack44 + 0x10); - fVar13 = fStack24 * fStack24 + fStack28 * fStack28 + fStack32 * fStack32; - if (uVar11 == 0) { - iStack48 = 1; - uVar10 = extraout_a3_lo; - fStack36 = fVar13; - } - else { - if ((uStack12 & 0x40) == 0) { - fStack36 = fVar13; - iStack48 = FUN_7f0297c4((int)param_1); - uVar10 = extraout_a3_lo_00; - } - else { - iStack48 = 1; - uVar10 = extraout_a3_lo; - fStack36 = fVar13; - } - } - if (uVar11 == 0) { - FUN_7f06d188(*(int *)(param_1 + 0xe),&fStack72,param_1,uVar10); - pfStack52 = (float *)FUN_7f032f78(param_1,(longlong)(int)uStack12,(longlong)iStack16,&uStack60 - ); - fStack24 = *pfStack52 - fStack72; - fStack28 = pfStack52[1] - fStack68; - fStack32 = pfStack52[2] - fStack64; - } - else { - fStack56 = sub_7F089780(_DAT_8007a120); - if ((*(uint *)(param_1 + 10) & 0x20) == 0) { - if (DAT_80051f00 < fVar13) { - uVar6 = FUN_7000a460(); - if (uVar6 % 3 == 0) { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = fStack28 + - fStack56 * (DAT_80051f08 + DAT_80051f04 * fVar13 * 0.00000000 * param_5); - } - else { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80051f10 + DAT_80051f0c * fVar13 * 0.00000000 * param_5); - } - } - else { - if (*(float *)(iStack44 + 0xc) < pfStack52[1] - fStack56) { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80051f18 + DAT_80051f14 * fVar13 * 0.00000000 * param_5); - } - else { - if (pfStack52[1] - fStack56 * 0.50000000 < *(float *)(iStack44 + 0xc)) { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80051f20 + DAT_80051f1c * fVar13 * 0.00000000 * param_5); - } - else { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = (fVar13 * 0.00000000 * DAT_80051f24 * param_5 - DAT_80051f28) * fStack56; - } - } - } - } - else { - if (fVar13 < DAT_80051ee0) { - if (*(float *)(iStack44 + 0xc) < pfStack52[1] - (fStack56 + fStack56)) { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80051ee8 + DAT_80051ee4 * fVar13 * 0.00000000 * param_5); - } - else { - if (pfStack52[1] - fStack56 * 0.50000000 < *(float *)(iStack44 + 0xc)) { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * (DAT_80051ef0 + DAT_80051eec * fVar13 * 0.00000000 * param_5); - } - else { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = (fVar13 * 0.00000000 * DAT_80051ef4 * param_5 + 1.00000000) * 40.00000000; - } - } - } - else { - iVar5 = FUN_7000a460(); - fVar13 = (float)iVar5; - if (iVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fStack28 = fStack28 + - fStack56 * (DAT_80051efc - DAT_80051ef8 * fVar13 * 0.00000000 * param_5); - } - } - } - if ((uStack12 & 0x100) == 0) { - fVar13 = sqrtf(fStack24 * fStack24 + fStack32 * fStack32); - fStack4 = loc_7F05AB54(fStack28,fVar13); - if (DAT_80051f2c <= fStack4) { - fStack4 = fStack4 - DAT_80051f30; - } - } - if (iStack48 != 0) { - fStack80 = (float)FUN_7f02c498(param_1); - if (param_4 == 0) { - iVar5 = something_with_weaponpos_of_guarddata_hand((int)param_1,1); - } - else { - iVar5 = something_with_weaponpos_of_guarddata_hand((int)param_1,0); - } - if (((iVar5 != 0) && ((*(byte *)(iVar5 + 1) & 2) != 0)) && (fStack36 < DAT_80051f34)) { - iVar9 = *(int *)(iVar5 + 4) >> 0x1f; - bVar4 = false; - iVar5 = *(int *)(*(int *)(iVar5 + 4) + 0x14); - ppuVar2 = *(ushort ***)(*(int *)(iVar5 + 8) + 8); - puVar3 = *ppuVar2; - if (puVar3 == NULL) { - puVar3 = ppuVar2[1]; - if (puVar3 != NULL) { - puVar7 = (uint *)FUN_7f06cc50(iVar5,puVar3,0); - FUN_7f059398(puVar7,(int)afStack256); - pfVar8 = (float *)FUN_7f078a44(); - FUN_7f0585b8(pfVar8,afStack256); - bVar4 = true; - fStack100 = fStack208; - fStack96 = fStack204; - fStack92 = fStack200; - } - } - else { - iStack88 = iVar5; - puVar7 = (uint *)FUN_7f06cc50(iVar5,puVar3,0); - pfStack176 = *(float **)(**(int **)(*(int *)(iStack88 + 8) + 8) + 4); - FUN_7f059398(puVar7,(int)afStack172); - pfVar8 = (float *)FUN_7f078a44(); - FUN_7f0585b8(pfVar8,afStack172); - fStack188 = *pfStack176; - fStack184 = pfStack176[1]; - fStack180 = pfStack176[2]; - FUN_7f058994(afStack172,&fStack188); - bVar4 = true; - fStack100 = fStack188; - fStack96 = fStack184; - fStack92 = fStack180; - } - if (bVar4) { - fStack280 = func_7F057FC4(fStack80); - uStack276 = 0; - fStack272 = FUN_7f0583c0(fStack80); - fStack292 = *(float *)(iStack44 + 8) - fStack32; - uStack288 = *(undefined4 *)(iStack44 + 0xc); - fStack284 = *(float *)(iStack44 + 0x10) + fStack24; - locret_7F026244((float *)(iStack44 + 8),&fStack292,&fStack100,&fStack280,afStack268); - fStack24 = *pfStack52 - afStack268[0]; - fStack32 = pfStack52[2] - fStack260; - } - } - fVar13 = loc_7F05AB54(fStack24,fStack32); - fStack8 = fVar13 - fStack80; - if (fVar13 < fStack80) { - fStack8 = fStack8 + DAT_80051f38; - } - iVar5 = loc_7F06C888(*(int *)(param_1 + 0xe),**(ushort ***)(*(int *)(param_1 + 0xe) + 8)); - if (0.00000000 < *(float *)(iVar5 + 0x5c)) { - fStack8 = fStack8 - *(float *)(iVar5 + 0x5c) * *(float *)(iVar5 + 0x58); - if (fStack8 < 0.00000000) { - fStack8 = fStack8 + DAT_80051f3c; - } - if (DAT_80051f40 <= fStack8) { - fStack8 = fStack8 - DAT_80051f40; - } - } - if ((uVar11 != 0) && ((uStack12 & 0x60) == 0)) { - fVar12 = func_7F057FC4(((float)(((int)((float)DAT_800483ac * - *(float *)(*(int *)(param_1 + 0xe) + 0xa4)) + - (int)*param_1) % 0x3c) * DAT_80051f44) / 60.00000000); - fVar13 = fVar12; - FUN_7f02d54c(fStack36); - fStack8 = fStack8 + fVar13 * 0.50000000 * fVar12; - if (fStack8 < 0.00000000) { - fStack8 = fStack8 + DAT_80051f48; - } - if (DAT_80051f4c <= fStack8) { - fStack8 = fStack8 - DAT_80051f50; - } - } - if (DAT_80051f58 <= fStack8) { - fStack8 = fStack8 - DAT_80051f54; - iVar5 = *(int *)(param_1 + 0xe); - } - else { - iVar5 = *(int *)(param_1 + 0xe); - } - fVar13 = fStack8 + *(float *)(param_1 + 0xa6); - if (*(char *)(iVar5 + 0x24) == '\0') { - if (*(float *)(param_2 + 0x38) < fVar13) { - uStack20 = 0; - fStack8 = *(float *)(param_2 + 0x38); - } - else { - fStack8 = fVar13; - if (fVar13 < *(float *)(param_2 + 0x3c)) { - uStack20 = 0; - fStack8 = *(float *)(param_2 + 0x3c); - } - } - } - else { - fStack8 = -*(float *)(param_2 + 0x38); - if (fVar13 < fStack8) { - uStack20 = 0; - } - else { - fStack8 = fVar13; - if (-*(float *)(param_2 + 0x3c) < fVar13) { - uStack20 = 0; - fStack8 = -*(float *)(param_2 + 0x3c); - } - } - } - } - } - locret_7F02D0F0((int)param_1,param_2,(longlong)param_3,(longlong)param_4,fStack4); - *(undefined *)(param_1 + 7) = 10; - *(float *)(param_1 + 0xae) = fStack8; - return CONCAT13((char)uStack20,(int3)((uint)iVar9 >> 8)); -} - - - -void locret_7F02D0F0(int param_1,int param_2,longlong param_3,longlong param_4,float param_5) - -{ - float fVar1; - float fVar2; - - fVar1 = 0.00000000; - fVar2 = 0.00000000; - if (param_2 != 0) { - fVar1 = *(float *)(param_2 + 0x30); - if ((fVar1 < param_5) || (fVar1 = *(float *)(param_2 + 0x34), param_5 < fVar1)) { - fVar2 = param_5 - fVar1; - param_5 = fVar1; - } - if (0.00000000 < param_5) { - fVar1 = *(float *)(param_2 + 0x40) * param_5; - } - else { - fVar1 = *(float *)(param_2 + 0x44) * param_5; - } - } - if (param_4 == 0) { - *(float *)(param_1 + 0x154) = fVar1; - *(float *)(param_1 + 0x150) = param_5; - } - else { - *(float *)(param_1 + 0x154) = param_5; - if (param_3 == 0) { - *(float *)(param_1 + 0x150) = fVar1; - } - else { - *(float *)(param_1 + 0x150) = param_5; - } - } - *(float *)(param_1 + 0x158) = fVar2; - return; -} - - - -void sub_7F02D0F8(int param_1) - -{ - *(undefined *)(param_1 + 0xe) = 10; - *(undefined4 *)(param_1 + 0x154) = 0; - *(undefined4 *)(param_1 + 0x150) = 0; - *(undefined4 *)(param_1 + 0x158) = 0; - *(undefined4 *)(param_1 + 0x15c) = 0; - return; -} - - - -void FUN_7f02d420(int param_1,int param_2,undefined4 param_3) - -{ - int iVar1; - - iVar1 = something_with_weaponpos_of_guarddata_hand(param_1,param_2); - if (iVar1 != 0) { - loc_7F0525F8(iVar1,param_3); - } - return; -} - - - -longlong FUN_7f02d450(int param_1,int param_2) - -{ - int iVar2; - longlong lVar1; - - iVar2 = something_with_weaponpos_of_guarddata_hand(param_1,param_2); - if (iVar2 == 0) { - lVar1 = 0; - } - else { - lVar1 = loc_7F052674(iVar2); - } - return lVar1; -} - - - -void FUN_7f02d48c(int param_1) - -{ - FUN_7f02d420(param_1,0,0); - FUN_7f02d420(param_1,1,0); - sub_7F02D0F8(param_1); - return; -} - - - -void loc_7F02D238(int param_1,longlong param_2,longlong param_3) - -{ - if (param_3 == 0) { - if (param_2 == 1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfffb; - } - else { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfff7; - } - } - else { - if (param_2 == 1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 4; - } - else { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 8; - } - } - if (param_3 == 0) { - FUN_7f02d420(param_1,(int)param_2,0); - } - return; -} - - - -undefined4 FUN_7f02d54c(float param_1) - -{ - undefined4 in_v0_lo; - - if (DAT_80051f5c < param_1) { - return in_v0_lo; - } - if (DAT_80051f64 < param_1) { - return in_v0_lo; - } - if (DAT_80051f6c < param_1) { - return in_v0_lo; - } - if (param_1 <= DAT_80051f74) { - return in_v0_lo; - } - return in_v0_lo; -} - - - -// WARNING: Instruction at (ram,0x7f02d8ec) overlaps instruction at (ram,0x7f02d8e8) -// - -void FUN_7f02d5ec(int param_1,uint *param_2,undefined4 *param_3,int param_4) - -{ - char cVar1; - int iVar2; - int iVar5; - ulonglong uVar3; - longlong lVar4; - uint uVar6; - undefined8 extraout_a0; - undefined8 extraout_a1; - float fVar7; - float fVar8; - float extraout_f0; - float fVar9; - float __x; - float fVar10; - - iVar5 = FUN_7f089e6c(); - iVar2 = *(int *)(param_1 + 0x18); - __x = *(float *)(iVar5 + 8) - *(float *)(iVar2 + 8); - fVar9 = *(float *)(iVar5 + 0xc) - *(float *)(iVar2 + 0xc); - fVar10 = *(float *)(iVar5 + 0x10) - *(float *)(iVar2 + 0x10); - fVar7 = loc_7F05AB54(__x,fVar10); - fVar8 = (float)FUN_7f02c498(param_1); - fVar7 = fVar7 - fVar8; - __x = __x * __x + fVar9 * fVar9 + fVar10 * fVar10; - fVar9 = fVar8; - FUN_7f02d54c(__x); - if (fVar7 < 0.00000000) { - fVar7 = fVar7 + DAT_80051f80; - } - uVar6 = (uint)(fVar7 < fVar9); - if (fVar7 >= fVar9) { - uVar6 = 0; - if (fVar7 <= DAT_80051f84 - fVar9) { - *param_2 = 0; - goto LAB_7f02d6f4; - } - uVar6 = 1; - } - *param_2 = uVar6; -LAB_7f02d6f4: - *param_3 = 0; - uVar3 = FUN_7f08a5ac(); - if ((uVar3 == 0) && (uVar6 != 0)) { - fVar9 = sqrtf(__x); - fVar7 = DAT_80051f88 * DAT_800483a8; - if (300.00000000 < fVar9) { - fVar7 = fVar7 * (300.00000000 / fVar9); - cVar1 = *(char *)(param_1 + 2); - } - else { - cVar1 = *(char *)(param_1 + 2); - } - if (cVar1 < '\x01') { - if (cVar1 < '\0') { - if (cVar1 < -99) { - fVar7 = 0.00000000; - } - else { - fVar7 = fVar7 * ((float)((int)cVar1 + 100) / 100.00000000); - } - } - } - else { - fVar7 = fVar7 * ((float)(int)cVar1 / 10.00000000 + 1.00000000); - } - FUN_7f01d510(); - if (fVar9 <= 1.00000000) { - FUN_7f01d510(); - } - else { - FUN_7f01d510(); - fVar9 = 9.00000000 / (DAT_80051f8c - fVar9); - } - fVar9 = fVar7 * fVar9 * DAT_8002ce80; - lVar4 = FUN_7f05e4ec(param_4); - if (lVar4 < 1) { - fVar9 = fVar9 + fVar9; - } - if ((param_4 == 0xf) || (param_4 == 0x10)) { - fVar9 = fVar9 + fVar9; - fVar7 = *(float *)(param_1 + 0x13c); - } - else { - fVar7 = *(float *)(param_1 + 0x13c); - } - *(float *)(param_1 + 0x13c) = fVar7 + fVar9; - if (1.00000000 <= *(float *)(param_1 + 0x13c)) { - fVar9 = extraout_f0; - FUN_7f05e4a4(param_4); - fVar7 = fVar9; - FUN_7f01d4d4(); - fVar7 = fVar7 * fVar9 * 0.12500000 * DAT_8002ce84; - if ((param_4 == 0xf) || (param_4 == 0x10)) { - fVar7 = fVar7 * 3.00000000; - } - FUN_7f08a554(fVar7,fVar8,extraout_a0,extraout_a1,0xffffffff,1); - *(undefined4 *)(param_1 + 0x13c) = 0; - uVar3 = FUN_7f08a5ac(); - if (uVar3 != 0) { - *param_3 = 1; - } - } - } - return; -} - - - -undefined8 FUN_7f02d938(int param_1,int param_2,float *param_3) - -{ - ushort **ppuVar1; - ushort *puVar2; - int iVar3; - float *pfVar4; - undefined8 uVar5; - undefined auStack156 [48]; - float fStack108; - float fStack104; - float fStack100; - float *pfStack92; - float afStack84 [16]; - float *pfStack20; - int iStack12; - - iVar3 = something_with_weaponpos_of_guarddata_hand(param_1,param_2); - uVar5 = 0; - if ((iVar3 != 0) && - (iStack12 = *(int *)(*(int *)(iVar3 + 4) + 0x14), (*(byte *)(iVar3 + 1) & 2) != 0)) { - ppuVar1 = *(ushort ***)(*(int *)(iStack12 + 8) + 8); - puVar2 = *ppuVar1; - if (puVar2 == NULL) { - puVar2 = ppuVar1[1]; - if (puVar2 != NULL) { - pfStack92 = (float *)FUN_7f06cc50(iStack12,puVar2,0); - pfVar4 = (float *)FUN_7f078a34(); - loc_7F05823C(pfVar4,pfStack92,(int)auStack156); - uVar5 = 1; - *param_3 = fStack108; - param_3[1] = fStack104; - param_3[2] = fStack100; - } - } - else { - pfStack20 = (float *)FUN_7f06cc50(iStack12,puVar2,0); - pfVar4 = *(float **)(**(int **)(*(int *)(iStack12 + 8) + 8) + 4); - *param_3 = *pfVar4; - param_3[1] = pfVar4[1]; - param_3[2] = pfVar4[2]; - pfVar4 = (float *)FUN_7f078a34(); - loc_7F05823C(pfVar4,pfStack20,(int)afStack84); - FUN_7f058994(afStack84,param_3); - uVar5 = 1; - } - } - return uVar5; -} - - - -// WARNING: Instruction at (ram,0x7f02e38c) overlaps instruction at (ram,0x7f02e388) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02da3c(short *param_1,int param_2) - -{ - char cVar1; - uint uVar2; - int iVar5; - longlong lVar3; - int iVar6; - uint uVar7; - ulonglong uVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - uint uVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float afStack556 [16]; - float afStack492 [16]; - float fStack428; - float fStack424; - float fStack420; - undefined4 auStack416 [16]; - undefined4 *puStack352; - float afStack348 [16]; - float afStack284 [16]; - float fStack220; - float fStack216; - float fStack212; - float fStack204; - float fStack200; - float fStack196; - undefined4 auStack192 [16]; - undefined4 *puStack128; - float fStack124; - int iStack108; - float fStack104; - float fStack100; - float fStack96; - uint uStack92; - int iStack88; - uint uStack84; - int iStack80; - int iStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - int iStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack36; - int iStack32; - char *pcStack24; - int iStack20; - int iStack16; - int iStack12; - uint uStack4; - - uStack4 = *(uint *)(param_1 + 0xc); - iVar5 = something_with_weaponpos_of_guarddata_hand((int)param_1,param_2); - if (iVar5 == 0) { - return; - } - iStack12 = 0; - iStack16 = 0; - iStack20 = *(int *)(iVar5 + 4); - pcStack24 = (char *)FUN_7f089e6c(); - if (*(char *)((int)param_1 + 7) == '\b') { - uVar8 = *(uint *)(param_1 + 0x26) & 1; - } - else { - uVar8 = 1; - } - if (((uVar8 != 0) && (*(int *)(param_1 + 0x74) < DAT_800483ac + -0x78)) && - (lVar3 = FUN_7f05e4ec((int)*(char *)(iStack20 + 0x80)), -1 < lVar3)) goto LAB_7f02e554; - iStack32 = 0; - iStack36 = 0; - iVar5 = (int)param_1 + param_2; - *(char *)(iVar5 + 4) = *(char *)(iVar5 + 4) + '\x01'; - lVar3 = FUN_7f05e4ec((int)*(char *)(iStack20 + 0x80)); - if (lVar3 < 0) { - iStack32 = 1; - iStack36 = 1; - } - else { - lVar3 = FUN_7f05e4ec((int)*(char *)(iStack20 + 0x80)); - if (lVar3 == 0) { - trap(0x1c00); - } - if ((lVar3 == -1) && ((ulonglong)*(byte *)(iVar5 + 4) == 0xffffffff80000000)) { - trap(0x1800); - } - if ((int)(uint)*(byte *)(iVar5 + 4) % (int)lVar3 == 0) { - iStack32 = 1; - iVar6 = FUN_7f05e4ec((int)*(char *)(iStack20 + 0x80)); - iVar6 <<= 1; - if (iVar6 == 0) { - trap(0x1c00); - } - if ((iVar6 == -1) && ((ulonglong)*(byte *)(iVar5 + 4) == 0xffffffff80000000)) { - trap(0x1800); - } - if (((int)(uint)*(byte *)(iVar5 + 4) % iVar6 == 0) || (*(char *)(iStack20 + 0x80) == '\x16')) - { - iStack36 = 1; - } - } - else { - iStack16 = 1; - } - } - if (iStack32 == 0) { - iVar5 = iStack12 >> 0x1f; - } - else { - iStack52 = 0; - fStack56 = (float)FUN_7f02c498(param_1); - fStack60 = locret_7F02C2A8((int)param_1); - iStack76 = *(int *)(uStack4 + 0x14); - iStack12 = 1; - lVar3 = FUN_7f02d938((int)param_1,param_2,&fStack72); - iVar6 = (int)((ulonglong)lVar3 >> 0x20); - uVar7 = (uint)lVar3; - if (lVar3 == 0) { - iVar6 = (int)uStack4 >> 0x1f; - fStack72 = *(float *)(uStack4 + 8); - fStack68 = *(float *)(uStack4 + 0xc) + 30.00000000; - fStack64 = *(float *)(uStack4 + 0x10); - if (param_2 == 1) { - uVar7 = uStack4; - fVar9 = FUN_7f0583c0(fStack56); - fStack72 = fStack72 + fVar9 * 10.00000000; - fVar9 = func_7F057FC4(fStack56); - fStack64 = fStack64 + -fVar9 * 10.00000000; - } - else { - uVar7 = uStack4; - fVar9 = FUN_7f0583c0(fStack56); - fStack72 = fStack72 + -fVar9 * 10.00000000; - fVar9 = func_7F057FC4(fStack56); - fStack64 = fStack64 + fVar9 * 10.00000000; - } - } - uVar2 = loc_7F0B13B4(&iStack76,*(float *)(uStack4 + 8),*(float *)(uStack4 + 0x10),fStack72, - fStack64,2,fStack68 - *(float *)(param_1 + 0x56), - fStack68 - *(float *)(param_1 + 0x56),0.00000000,1.00000000); - if (CONCAT44(iVar6,uVar7 & 0xffffff00 | uVar2 >> 0x18) == 0) { - *(char *)(iVar5 + 4) = *(char *)(iVar5 + 4) + -1; - iStack12 = 0; - } - else { - iStack80 = iStack76; - } - if (iStack12 == 0) { - iVar5 = 0; - } - else { - uStack84 = 0; - iStack88 = 0; - uStack92 = 1; - iStack108 = loc_7F0294A8(param_1,&fStack72,iStack80); - fVar9 = FUN_7f0583c0(fStack60); - fStack104 = func_7F057FC4(fStack56); - fStack104 = fStack104 * fVar9; - fStack100 = func_7F057FC4(fStack60); - fVar9 = FUN_7f0583c0(fStack60); - fStack96 = FUN_7f0583c0(fStack56); - fStack96 = fStack96 * fVar9; - fStack48 = fStack104 * 65536.00000000 + fStack72; - fStack44 = fStack100 * 65536.00000000 + fStack68; - fStack40 = fStack96 * 65536.00000000 + fStack64; - loc_7F01F604((int)param_1,0); - uVar4 = FUN_7f0b2874(); - iStack76 = iStack80; - uVar7 = loc_7F0B13B4(&iStack76,fStack72,fStack64,fStack48,fStack40,0x1b,fStack68,fStack68, - fStack44,fStack44); - if ((uVar4 & 0xffffffff00000000 | (ulonglong)((uint)uVar4 & 0xffffff00 | uVar7 >> 0x18)) == 0) - { - FUN_7f026554(&fStack72,&fStack104,&fStack48); - iStack52 = iStack76; - fStack48 = fStack48 - fStack104 * 26.00000000; - fStack44 = fStack44 - fStack100 * 26.00000000; - fStack40 = fStack40 - fStack96 * 26.00000000; - } - fVar9 = (float)loc_7F01F604((int)param_1,1); - fVar10 = fStack48 - fStack72; - fVar11 = fStack44 - fStack68; - fVar12 = fStack40 - fStack64; - fStack124 = fVar10 * fVar10 + fVar11 * fVar11 + fVar12 * fVar12; - cVar1 = *(char *)(iStack20 + 0x80); - if (cVar1 == '\x19') { - if (DAT_80051f90 < fVar10 * fVar10 + fVar11 * fVar11 + fVar12 * fVar12) { - puStack128 = FUN_7f052568(0xca,0x56); - if (puStack128 != NULL) { - init_0x40_bytes_data_at_address_last_word_1_0(auStack192); - FUN_7f058a90(fStack60,extraout_a0,afStack284); - FUN_7f058b1c(fStack56,extraout_a0_00,afStack348); - FUN_7f0585b8(afStack348,afStack284); - fStack220 = fStack104 * DAT_80051f94; - fStack216 = fStack100 * DAT_80051f94; - fStack212 = fStack96 * DAT_80051f94; - fStack204 = fStack220 * DAT_800483b4; - fStack200 = fStack216 * DAT_800483b4; - fStack196 = fStack212 * DAT_800483b4; - loc_7F05EC0C((int)puStack128,&fStack72,iStack80,afStack284,&fStack204,auStack192,uStack4 - ); - if ((puStack128[0x19] & 0x80) == 0) { - iVar5 = iStack12 >> 0x1f; - } - else { - *(uint *)puStack128[0x1b] = *(uint *)puStack128[0x1b] | 0x80; - *(undefined2 *)((int)puStack128 + 0x82) = 0xffff; - *(uint *)puStack128[0x1b] = *(uint *)puStack128[0x1b] | 0x20; - *(undefined4 *)(puStack128[0x1b] + 0xb0) = puStack128[0x17]; - *(undefined4 *)(puStack128[0x1b] + 0xb4) = *(undefined4 *)(puStack128[0x1b] + 8); - *(float *)(puStack128[0x1b] + 0x10) = fStack220; - *(float *)(puStack128[0x1b] + 0x14) = fStack216; - *(float *)(puStack128[0x1b] + 0x18) = fStack212; - iVar5 = puStack128[0x1b]; - if (*(int *)(iVar5 + 0x98) == 0) { - FUN_70008e18((longlong)_DAT_80063760,1,(int **)(iVar5 + 0x98)); - iVar5 = iStack12 >> 0x1f; - } - else { - if (*(int *)(iVar5 + 0x9c) != 0) goto LAB_7f02e52c; - FUN_70008e18((longlong)_DAT_80063760,1,(int **)(iVar5 + 0x9c)); - iVar5 = iStack12 >> 0x1f; - } - } - goto LAB_7f02e530; - } - } - else { - iStack12 = 0; - } - } - else { - if (cVar1 == '\x18') { - if (DAT_80051f98 < fVar10 * fVar10 + fVar11 * fVar11 + fVar12 * fVar12) { - puStack352 = FUN_7f052568(0xcb,0x57); - if (puStack352 != NULL) { - init_0x40_bytes_data_at_address_last_word_1_0(auStack416); - fStack428 = fStack104 * DAT_80051f9c; - fStack424 = fStack100 * DAT_80051f9c; - fStack420 = fStack96 * DAT_80051f9c; - FUN_7f058a90(fStack60,extraout_a0_01,afStack492); - FUN_7f058b1c(fStack56,extraout_a0_02,afStack556); - FUN_7f0585b8(afStack556,afStack492); - *(undefined2 *)((int)puStack352 + 0x82) = 0xb4; - loc_7F05EC0C((int)puStack352,&fStack72,iStack80,afStack492,&fStack428,auStack416, - uStack4); - if ((puStack352[0x19] & 0x80) == 0) { - iVar5 = iStack12 >> 0x1f; - goto LAB_7f02e530; - } - *(undefined4 *)(puStack352[0x1b] + 0x8c) = DAT_80051fa0; - *(undefined4 *)(puStack352[0x1b] + 0x94) = DAT_80051fa4; - *(undefined4 *)(puStack352[0x1b] + 0xbc) = 0x3c; - } - } - else { - iStack12 = 0; - } - } - else { - if ((uVar8 == 0) || (iStack108 == 0)) { - cVar1 = *(char *)((int)param_1 + 7); - if ((CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) == 8) || - (CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) == 10)) { - *(int *)(param_1 + 0x24) = DAT_800483ac; - } - } - else { - fVar9 = (*(float *)(pcStack24 + 8) - fStack72) - fStack104 * 15.00000000; - fVar10 = (*(float *)(pcStack24 + 0xc) - fStack68) - fStack100 * 15.00000000; - fVar11 = (*(float *)(pcStack24 + 0x10) - fStack64) - fStack96 * 15.00000000; - if (fVar9 * fVar9 + fVar10 * fVar10 + fVar11 * fVar11 <= fStack124) { - fVar9 = (float)FUN_7f02d5ec((int)param_1,&uStack84,&iStack88,(int)cVar1); - uStack92 = (uint)(iStack88 == 0); - if (uStack84 != 0) { - cVar1 = *(char *)((int)param_1 + 7); - if ((CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) == 8) || - (CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1) == 10)) { - *(int *)(param_1 + 0x24) = DAT_800483ac; - } - } - } - } - if (iStack88 == 0) { - if (((_DAT_8007ba74 == NULL) || - ((*_DAT_8007ba74 != '\x03' && (*_DAT_8007ba74 != '\x06')))) && - (fStack124 < DAT_80051fa8)) { - uStack92 = 0; - } - } - else { - fStack48 = *(float *)(pcStack24 + 8); - fStack44 = *(float *)(pcStack24 + 0xc); - fStack40 = *(float *)(pcStack24 + 0x10); - iStack52 = *(int *)(pcStack24 + 0x14); - FUN_7f064948((int)*(char *)(iStack20 + 0x80),pcStack24,-1); - } - if (uStack92 != 0) { - if (iStack52 != 0) { - loc_7F0A3E8C(&fStack48,1,26.00000000,(ushort)*(byte *)(iStack52 + 3)); - } - if (_DAT_8007ba74 == NULL) { - FUN_7f064cbc((int)*(char *)(iStack20 + 0x80),&fStack48,-1); - } - else { - FUN_7f064948((int)*(char *)(iStack20 + 0x80),_DAT_8007ba74,-1); - cVar1 = *_DAT_8007ba74; - if (cVar1 == '\x03') { - if ((*(uint *)(param_1 + 10) & 0x40) != 0) { - loc_7F0277F0(*(undefined4 *)(_DAT_8007ba74 + 4),0xf,&fStack104, - *(undefined *)(iStack20 + 0x80),0); - } - } - else { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - FUN_7f05e4a4((int)*(char *)(iStack20 + 0x80)); - iVar5 = get_cur_playernum(); - loc_7F04E0FC(*(int *)(_DAT_8007ba74 + 4),fVar9,&fStack48, - (int)*(char *)(iStack20 + 0x80),iVar5); - } - } - } - } - if (iStack36 != 0) { - if (true) { - switch(*(undefined *)(iStack20 + 0x80)) { - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - iStack36 = 1; - goto LAB_7f02e4f0; - } - } - iStack36 = 0; - } -LAB_7f02e4f0: - if (iStack36 != 0) { - loc_7F061BE8((undefined *)(param_1 + param_2 * 0x16 + 0xc0), - (int)*(char *)(iStack20 + 0x80),&fStack72,&fStack48); - } - } - } -LAB_7f02e52c: - iVar5 = iStack12 >> 0x1f; - } - } -LAB_7f02e530: - FUN_7f02c2ec((int)param_1,param_2,(uint)(CONCAT44(iVar5,iStack12) != 0 || iStack16 != 0)); -LAB_7f02e554: - FUN_7f02d420((int)param_1,param_2,iStack12); - return; -} - - - -void loc_7F02E2D0(short *param_1) - -{ - ushort uVar1; - ushort uVar2; - - uVar1 = param_1[9]; - uVar2 = uVar1 & 0xff7f; - param_1[9] = uVar2; - if ((uVar1 & 8) != 0) { - FUN_7f02da3c(param_1,0); - uVar2 = param_1[9] & 0xfff7; - param_1[9] = uVar2; - } - if ((uVar2 & 4) != 0) { - FUN_7f02da3c(param_1,1); - param_1[9] = param_1[9] & 0xfffb; - } - return; -} - - - -undefined8 FUN_7f02e5e8(int iParm1) - -{ - undefined uVar1; - int iVar2; - undefined8 uVar3; - undefined4 in_f0; - - if ((*(undefined **)(iParm1 + 0x2c) == &DAT_80030148) || - (*(undefined **)(iParm1 + 0x2c) == &DAT_80030190)) { - iVar2 = *(int *)(iParm1 + 0x1c); - uVar1 = *(undefined *)(iVar2 + 0x24); - *(undefined *)(iParm1 + 0x30) = 2; - *(undefined4 *)(iParm1 + 0x2c) = 0x80030100; - *(undefined *)(iParm1 + 8) = 0; - sub_7F023B5C(); - FUN_7f070298(iVar2,DAT_80030100,uVar1,DAT_8003011c,in_f0,22.00000000); - if (0.00000000 <= DAT_80030114) { - loc_7F06FE2C(iVar2,DAT_80030114); - } - uVar3 = 1; - } - else { - uVar3 = 0; - } - return uVar3; -} - - - -void loc_7F02E4B0(int iParm1) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - undefined4 in_f0; - - iVar1 = *(int *)(iParm1 + 0x1c); - if (0.00000000 < *(float *)(*(int *)(iParm1 + 0x2c) + 0x24)) { - uVar3 = sub_7F06F5AC(iVar1); - sub_7F023B5C(); - FUN_7f070298(iVar1,uVar3,*(undefined *)(iVar1 + 0x24),*(float *)(*(int *)(iParm1 + 0x2c) + 0x24) - ,in_f0,8.00000000); - iVar2 = *(int *)(iParm1 + 0x2c); - } - else { - uVar3 = sub_7F06F5AC(iVar1); - sub_7F023B5C(); - FUN_7f070298(iVar1,uVar3,*(undefined *)(iVar1 + 0x24),*(float *)(*(int *)(iParm1 + 0x2c) + 0x1c) - ,in_f0,8.00000000); - iVar2 = *(int *)(iParm1 + 0x2c); - } - if (0.00000000 <= *(float *)(iVar2 + 0x14)) { - loc_7F06FE2C(iVar1,*(float *)(iVar2 + 0x14)); - } - return; -} - - - -void loc_7F02EBD8(short *psParm1) - -{ - char cVar1; - int iVar2; - int iVar3; - uint uVar4; - undefined extraout_v0_lo; - char cVar5; - int iVar7; - longlong lVar6; - short *psVar8; - float in_f0; - float extraout_f0; - float fVar9; - float extraout_f0_00; - float fVar10; - undefined4 uVar11; - float fVar12; - float fVar13; - - iVar2 = *(int *)(psParm1 + 0xe); - sub_7F06F5BC(iVar2); - if ((((*(int *)(psParm1 + 0x24) < *(int *)(psParm1 + 0x22) + -0x1e) && - (*(int *)(iVar2 + 0x54) == 0)) && - (iVar7 = *(int *)(psParm1 + 0x16), *(float *)(iVar7 + 0x18) + 10.00000000 < in_f0)) && - (in_f0 < *(float *)(iVar7 + 0x1c))) { - if (0.00000000 <= *(float *)(iVar7 + 0x24)) { - if (*(float *)(iVar7 + 0x24) <= in_f0) goto LAB_7f02e940; - cVar5 = *(char *)(psParm1 + 0x1b); - } - else { - cVar5 = *(char *)(psParm1 + 0x1b); - } - if (cVar5 == '\0') { - lVar6 = FUN_7f02e5e8(psParm1); - in_f0 = extraout_f0; - if (lVar6 == 0) { - fVar9 = extraout_f0; - uVar11 = sub_7F06F5AC(iVar2); - sub_7F023B5C(); - FUN_7f070298(iVar2,uVar11,*(undefined *)(iVar2 + 0x24), - *(float *)(*(int *)(psParm1 + 0x16) + 0x1c),fVar9,8.00000000); - in_f0 = *(float *)(*(int *)(psParm1 + 0x16) + 0x14); - if (0.00000000 <= in_f0) { - in_f0 = (float)loc_7F06FE2C(iVar2,in_f0); - } - } - cVar5 = *(char *)(psParm1 + 0x1a); - } - else { - in_f0 = (float)loc_7F02E4B0(psParm1); - cVar5 = *(char *)(psParm1 + 0x1a); - } - *(char *)((int)psParm1 + 0x33) = cVar5 + '\x01'; - sub_7F06F5BC(iVar2); - } -LAB_7f02e940: - fVar9 = locret_7F06F608(iVar2); - if (fVar9 <= in_f0) { - if (*(char *)((int)psParm1 + 0x37) == '\0') { - cVar5 = *(char *)(psParm1 + 0x1a); - cVar1 = *(char *)((int)psParm1 + 0x33); - if (CONCAT35((undefined3)(cVar5 >> 7),(int5)cVar5) < - CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1)) goto LAB_7f02e980; - if (CONCAT35((undefined3)(cVar5 >> 7),(int5)cVar5) == - CONCAT44((undefined4)(cVar1 >> 7),(int)cVar1)) { - *(char *)((int)psParm1 + 0x33) = cVar1 + '\x01'; - fVar9 = (float)loc_7F02E4B0(psParm1); - } - else { - if (*(char *)((int)psParm1 + 0x31) != '\0') { - fVar9 = 0.50000000; - if (*(char *)(psParm1 + 0x1b) == '\0') { - iVar7 = *(int *)(psParm1 + 0x16); - fVar12 = *(float *)(iVar7 + 0x20); - fVar13 = *(float *)(iVar7 + 0x18); - if (fVar12 <= 0.00000000) { - fVar12 = *(float *)(iVar7 + 0x1c); - } - } - else { - iVar7 = *(int *)(psParm1 + 0x16); - fVar13 = *(float *)(iVar7 + 0x20); - if (fVar13 <= 0.00000000) { - fVar13 = *(float *)(iVar7 + 0x18); - } - fVar12 = *(float *)(iVar7 + 0x24); - if (fVar12 <= 0.00000000) { - fVar12 = *(float *)(iVar7 + 0x1c); - } - } - fVar10 = fVar12 - fVar13; - if (fVar10 < 12.00000000) { - fVar9 = (fVar10 * 0.50000000) / 12.00000000; -LAB_7f02eac0: - cVar5 = *(char *)(psParm1 + 0x1d); - } - else { - if (16.00000000 < fVar10) { - fVar9 = fVar10 * 0.50000000 * 0.06250000; - goto LAB_7f02eac0; - } - cVar5 = *(char *)(psParm1 + 0x1d); - } - if (cVar5 == '\0') { - *(undefined *)((int)psParm1 + 0x31) = 0; - } - else { - if (*(char *)((int)psParm1 + 0x3b) == '\0') { - *(undefined *)((int)psParm1 + 0x31) = 0; - } - else { - fVar9 = fVar9 + fVar9; - *(undefined *)((int)psParm1 + 0x31) = 0; - } - } - uVar11 = sub_7F06F5AC(iVar2); - FUN_7f070298(iVar2,uVar11,*(undefined *)(iVar2 + 0x24),fVar13,fVar9,8.00000000); - fVar9 = (float)loc_7F06FE2C(iVar2,fVar12); - } - } - } - else { -LAB_7f02e980: - lVar6 = FUN_7f02e5e8(psParm1); - fVar9 = extraout_f0_00; - if (lVar6 == 0) { - if ((*(uint *)(psParm1 + 0x26) & 1) != 0) { - FUN_7f029eb8((int)psParm1); - } - FUN_7f024150((int)psParm1); - return; - } - } - sub_7F06F5BC(iVar2); - uVar4 = *(uint *)(psParm1 + 0x26); - in_f0 = fVar9; - } - else { - uVar4 = *(uint *)(psParm1 + 0x26); - } - if ((uVar4 & 0x40) != 0) { - iVar7 = *(int *)(psParm1 + 0x16); - goto LAB_7f02ebe8; - } - fVar12 = *(float *)(*(int *)(psParm1 + 0x16) + 0xc); - fVar13 = *(float *)(*(int *)(psParm1 + 0x16) + 4); - if ((uVar4 & 0x20) == 0) { -LAB_7f02eb90: - cVar5 = *(char *)(iVar2 + 0x24); - } - else { - fVar9 = locret_7F06F608(iVar2); - if (fVar9 < fVar13) { - fVar9 = locret_7F06F608(iVar2); - fVar13 = fVar9; - goto LAB_7f02eb90; - } - cVar5 = *(char *)(iVar2 + 0x24); - } - if (cVar5 != '\0') { - fVar12 = DAT_80051ff8 - fVar12; - } - sub_7F023B5C(); - loc_7F02C4B0(psParm1,*(undefined *)(psParm1 + 0x18),fVar13,fVar9,fVar12); - *(undefined *)(psParm1 + 0x18) = extraout_v0_lo; - iVar7 = *(int *)(psParm1 + 0x16); -LAB_7f02ebe8: - if ((in_f0 <= *(float *)(iVar7 + 0x28)) || (*(float *)(iVar7 + 0x2c) <= in_f0)) { - sub_7F02D0F8((int)psParm1); - } - else { - loc_7F02D004(psParm1,iVar7,(int)*(char *)((int)psParm1 + 0x39),(int)*(char *)(psParm1 + 0x1c), - 1.00000000); - } - lVar6 = 0; - psVar8 = psParm1; - do { - iVar7 = (int)lVar6; - if (*(char *)(psVar8 + 0x1c) == '\0') { - loc_7F02D238((int)psParm1,lVar6,0); -LAB_7f02eecc: - lVar6 = (longlong)(iVar7 + 1); - } - else { - if (*(char *)(psVar8 + 0x1d) == '\0') { - if ((in_f0 < *(float *)(*(int *)(psParm1 + 0x16) + 0x18)) || - (*(float *)(*(int *)(psParm1 + 0x16) + 0x1c) <= in_f0)) { - uVar11 = loc_7F02D238((int)psParm1,lVar6,0); - if (*(char *)((int)psParm1 + 7) == '\n') { - sub_7F023B5C(); - loc_7F06FE84(iVar2,uVar11,0.00000000); - lVar6 = (longlong)(iVar7 + 1); - } - else { - sub_7F023B5C(); - loc_7F06FE84(iVar2,uVar11,0.00000000); - lVar6 = (longlong)(iVar7 + 1); - } - } - else { - loc_7F02D238((int)psParm1,lVar6,1); - *(undefined4 *)(psParm1 + 0x22) = DAT_800483ac; - if (*(char *)((int)psParm1 + 7) == '\n') { - fVar9 = *(float *)(*(int *)(psParm1 + 0x16) + 0x1c) - - *(float *)(*(int *)(psParm1 + 0x16) + 0x18); - if (fVar9 < 30.00000000) { - if (*(int *)(psParm1 + 0x20) < (int)fVar9 * -2 + 0x3c) { - loc_7F06FE84(iVar2,0x3dcccccd,0.00000000); - *(int *)(psParm1 + 0x20) = *(int *)(psParm1 + 0x20) + DAT_800483a4; - goto LAB_7f02eecc; - } - loc_7F06FE84(iVar2,0x3f000000,0.00000000); - lVar6 = (longlong)(iVar7 + 1); - } - else { - loc_7F06FE84(iVar2,0x3f000000,0.00000000); - lVar6 = (longlong)(iVar7 + 1); - } - } - else { - loc_7F06FE84(iVar2,0x3f000000,0.00000000); - lVar6 = (longlong)(iVar7 + 1); - } - } - } - else { - if (*(char *)((int)psParm1 + 0x31) == '\0') { - cVar5 = *(char *)(psParm1 + 0x19); - if ((lVar6 == CONCAT44((undefined4)(cVar5 >> 7),(int)cVar5)) || - (*(char *)((int)psParm1 + (int)cVar5 + 0x3a) == '\0')) { - iVar3 = *(int *)(psParm1 + 0x16); - fVar9 = *(float *)(iVar3 + 0x20); - if ((fVar9 < 0.00000000) || ((in_f0 < fVar9 || (*(float *)(iVar3 + 0x24) < in_f0)))) { - if ((0.00000000 <= fVar9) || (in_f0 < *(float *)(iVar3 + 0x18))) goto LAB_7f02eeb4; - cVar1 = *(char *)((int)psParm1 + 0x33); - } - else { - cVar1 = *(char *)((int)psParm1 + 0x33); - } - *(undefined *)((int)psParm1 + 0x31) = 1; - *(char *)(psParm1 + 0x19) = '\x01' - cVar5; - *(char *)((int)psParm1 + 0x33) = cVar1 + '\x01'; - *(undefined4 *)(psParm1 + 0x22) = DAT_800483ac; - loc_7F02D238((int)psParm1,lVar6,1); - lVar6 = (longlong)(iVar7 + 1); - goto LAB_7f02eed0; - } - } -LAB_7f02eeb4: - loc_7F02D238((int)psParm1,lVar6,0); - lVar6 = (longlong)(iVar7 + 1); - } - } -LAB_7f02eed0: - psVar8 = (short *)((int)psVar8 + 1); - if (lVar6 == 2) { - return; - } - } while( true ); -} - - - -void FUN_7f02ef04(short *psParm1) - -{ - int iVar1; - uint uVar2; - int iVar3; - uint uVar4; - undefined4 uVar5; - char cVar6; - float in_f0; - float fVar7; - float fVar8; - - iVar1 = *(int *)(psParm1 + 0xe); - sub_7F06F5BC(iVar1); - iVar3 = *(int *)(psParm1 + 0x2c); - if (iVar3 == 0) { - uVar4 = *(uint *)(psParm1 + 0x26); - } - else { - if (iVar3 == 1) { - fVar7 = *(float *)(*(int *)(psParm1 + 0x16) + 0x24); - fVar8 = fVar7; - if (fVar7 < 0.00000000) { - fVar8 = *(float *)(*(int *)(psParm1 + 0x16) + 0x1c); - } - uVar5 = sub_7F06F5AC(iVar1); - sub_7F023B5C(); - FUN_7f070298(iVar1,uVar5,*(undefined *)(iVar1 + 0x24),fVar8,fVar7,16.00000000); - if (0.00000000 <= *(float *)(*(int *)(psParm1 + 0x16) + 0x14)) { - loc_7F06FE2C(iVar1,*(float *)(*(int *)(psParm1 + 0x16) + 0x14)); - } - *(undefined4 *)(psParm1 + 0x2c) = 2; - sub_7F02D0F8((int)psParm1); - return; - } - if (iVar3 == 2) { - fVar8 = locret_7F06F608(iVar1); - if (in_f0 < fVar8) { - return; - } - uVar4 = *(uint *)(psParm1 + 0x26); - *(uint *)(psParm1 + 0x26) = uVar4 & 0xffffffbf; - if (*(int *)(psParm1 + 0x2a) != 0) { - FUN_7f025868((int)psParm1,uVar4 & 0xffffffbf,*(undefined4 *)(psParm1 + 0x28)); - return; - } - FUN_7f0259f8((int)psParm1,*(uint *)(psParm1 + 0x26),*(undefined4 *)(psParm1 + 0x28)); - return; - } - uVar4 = *(uint *)(psParm1 + 0x26); - } - iVar3 = (int)uVar4 >> 0x1f; - if ((uVar4 & 0x20) == 0) { - cVar6 = *(char *)(psParm1 + 0x1b); - } - else { - if ((uVar4 & 0x40) != 0) { - uVar2 = loc_7F02D004(psParm1,*(int *)(psParm1 + 0x16),(int)*(char *)((int)psParm1 + 0x39), - (int)*(char *)(psParm1 + 0x1c),DAT_80051ffc); - if (CONCAT44(iVar3,uVar4 & 0xffffff00 | uVar2 >> 0x18) != 0) { - return; - } - *(undefined4 *)(psParm1 + 0x2c) = 1; - return; - } - fVar8 = locret_7F06F608(iVar1); - if (fVar8 <= in_f0) { - *(undefined *)(psParm1 + 0x18) = 2; - *(uint *)(psParm1 + 0x26) = *(uint *)(psParm1 + 0x26) | 0x40; - return; - } - cVar6 = *(char *)(psParm1 + 0x1b); - } - if ((((cVar6 == '\0') && (0.00000000 < *(float *)(*(int *)(psParm1 + 0x16) + 0x24))) && - (in_f0 <= *(float *)(*(int *)(psParm1 + 0x16) + 0x24))) && - (fVar8 = locret_7F06F608(iVar1), fVar8 <= in_f0)) { - uVar5 = sub_7F06F5AC(iVar1); - sub_7F023B5C(); - FUN_7f070298(iVar1,uVar5,*(undefined *)(iVar1 + 0x24), - *(float *)(*(int *)(psParm1 + 0x16) + 0x24),fVar8,16.00000000); - if (*(char *)((int)psParm1 + 0x37) == '\0') { - loc_7F06FE2C(iVar1,*(float *)(*(int *)(psParm1 + 0x16) + 0x1c)); - } - else { - if (0.00000000 <= *(float *)(*(int *)(psParm1 + 0x16) + 0x14)) { - loc_7F06FE2C(iVar1,*(float *)(*(int *)(psParm1 + 0x16) + 0x14)); - } - } - } - loc_7F02EBD8(psParm1); - return; -} - - - -void FUN_7f02f1e0(int iParm1) - -{ - char cVar1; - undefined4 *puVar2; - uint uVar3; - int iVar4; - undefined4 uVar5; - undefined4 *puVar6; - float in_f0; - float fVar7; - - if (*(char *)(iParm1 + 0x35) != '\0') { - iVar4 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar4); - puVar2 = *(undefined4 **)(iParm1 + 0x2c); - if ((((puVar2 == &DAT_800301d8) || (puVar2 == (undefined4 *)0x80030220)) || - (puVar2 == (undefined4 *)0x80030268)) || (puVar2 == (undefined4 *)0x800302b0)) { - if ((float)puVar2[5] <= in_f0) { - cVar1 = *(char *)(iVar4 + 0x24); - puVar6 = puVar2 + 0x48; - if ((*(char *)(iParm1 + 0x39) != '\0') && (*(char *)(iParm1 + 0x38) != '\0')) { - uVar3 = FUN_7000a460(); - if ((uVar3 & 1) == 0) { - puVar6 = puVar2 + 0x90; - } - else { - puVar6 = puVar2 + 0xd8; - } - } - if (puVar6 == (undefined4 *)0x800302f8) { - fVar7 = 24.00000000; - } - else { - if (puVar6 == (undefined4 *)0x80030340) { - fVar7 = 24.00000000; - } - else { - if (puVar6 == (undefined4 *)0x80030388) { - fVar7 = 32.00000000; - } - else { - if (puVar6 == (undefined4 *)0x800303d0) { - fVar7 = 44.00000000; - } - else { - if (puVar6 == (undefined4 *)0x80030418) { - fVar7 = 24.00000000; - } - else { - if (puVar6 == (undefined4 *)0x80030460) { - fVar7 = 34.00000000; - } - else { - if (puVar6 == (undefined4 *)0x800304a8) { - fVar7 = 32.00000000; - } - else { - if (puVar6 == (undefined4 *)0x800304f0) { - fVar7 = 44.00000000; - } - else { - if (puVar6 == (undefined4 *)0x80030538) { - fVar7 = 24.00000000; - } - else { - if (puVar6 == (undefined4 *)0x80030580) { - fVar7 = 34.00000000; - } - else { - if (puVar6 == (undefined4 *)0x800305c8) { - fVar7 = 32.00000000; - } - else { - fVar7 = 16.00000000; - if (puVar6 == (undefined4 *)0x80030610) { - fVar7 = 44.00000000; - } - } - } - } - } - } - } - } - } - } - } - } - *(undefined *)(iParm1 + 0x30) = 2; - *(undefined4 **)(iParm1 + 0x2c) = puVar6; - *(undefined *)(iParm1 + 8) = 0; - sub_7F023B5C(); - FUN_7f070298(iVar4,*puVar6,cVar1,(float)puVar6[4],in_f0,fVar7); - if (*(char *)(iParm1 + 0x36) == '\0') { - if (0.00000000 <= (float)puVar6[8]) { - loc_7F06FE2C(iVar4,(float)puVar6[8]); - } - else { - if (0.00000000 <= (float)puVar6[5]) { - loc_7F06FE2C(iVar4,(float)puVar6[5]); - } - } - } - else { - if (0.00000000 <= (float)puVar6[9]) { - loc_7F06FE2C(iVar4,(float)puVar6[9]); - } - else { - loc_7F06FE2C(iVar4,(float)puVar6[7]); - } - } - if (*(float *)(*(int *)(iParm1 + 0x2c) + 0xc) != 0.00000000) { - iVar4 = loc_7F06C888(iVar4,**(ushort ***)(iVar4 + 8)); - *(float *)(iVar4 + 0x5c) = fVar7; - *(float *)(iVar4 + 0x58) = -*(float *)(*(int *)(iParm1 + 0x2c) + 0xc) / fVar7; - if (cVar1 != '\0') { - *(float *)(iVar4 + 0x58) = -*(float *)(iVar4 + 0x58); - } - } - } - } - else { - if (((((puVar2 == (undefined4 *)0x800302f8) || (puVar2 == (undefined4 *)0x80030340)) || - ((puVar2 == (undefined4 *)0x80030388 || - ((puVar2 == (undefined4 *)0x800303d0 || (puVar2 == (undefined4 *)0x80030418)))))) || - ((puVar2 == (undefined4 *)0x80030460 || - (((((puVar2 == (undefined4 *)0x800304a8 || (puVar2 == (undefined4 *)0x800304f0)) || - (puVar2 == (undefined4 *)0x80030538)) || - ((puVar2 == (undefined4 *)0x80030580 || (puVar2 == (undefined4 *)0x800305c8)))) || - (puVar2 == (undefined4 *)0x80030610)))))) && - (((*(char *)(iParm1 + 0x36) == '\0' && (0.00000000 < (float)puVar2[9])) && - ((in_f0 <= (float)puVar2[9] && (fVar7 = locret_7F06F608(iVar4), fVar7 <= in_f0)))))) { - uVar5 = sub_7F06F5AC(iVar4); - sub_7F023B5C(); - FUN_7f070298(iVar4,uVar5,*(undefined *)(iVar4 + 0x24), - *(float *)(*(int *)(iParm1 + 0x2c) + 0x24),fVar7,16.00000000); - if (*(char *)(iParm1 + 0x37) == '\0') { - loc_7F06FE2C(iVar4,*(float *)(*(int *)(iParm1 + 0x2c) + 0x1c)); - } - else { - fVar7 = *(float *)(*(int *)(iParm1 + 0x2c) + 0x14); - if (0.00000000 <= fVar7) { - loc_7F06FE2C(iVar4,fVar7); - } - } - } - } - } - loc_7F02EBD8(iParm1); - return; -} - - - -void FUN_7f02f6f8(int iParm1) - -{ - bool bVar1; - int iVar2; - int iVar3; - float in_f0; - float fVar4; - float fVar5; - - iVar2 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar2); - bVar1 = *(char *)(iVar2 + 0x24) != '\0'; - fVar4 = in_f0; - iVar3 = something_with_weaponpos_of_guarddata_hand(iParm1,(uint)bVar1); - if ((20.00000000 <= in_f0) && (iVar3 != 0)) { - *(uint *)(*(int *)(iVar3 + 4) + 100) = *(uint *)(*(int *)(iVar3 + 4) + 100) & 0xfffff7ff; - } - if ((61.00000000 <= in_f0) && (iVar3 != 0)) { - *(undefined2 *)(*(int *)(iVar3 + 4) + 0x82) = 0xb4; - } - if ((119.00000000 <= in_f0) && (iVar3 != 0)) { - fVar4 = (float)FUN_7f04c3d4(*(int *)(iParm1 + (uint)bVar1 * 4 + 0x160),3); - *(ushort *)(iParm1 + 0x12) = *(ushort *)(iParm1 + 0x12) | 1; - } - sub_7F06F5BC(iVar2); - fVar5 = locret_7F06F608(iVar2); - if (fVar5 <= fVar4) { - FUN_7f024150(iParm1); - } - else { - if ((87.00000000 <= in_f0) && (in_f0 <= 110.00000000)) { - sub_7F023B5C(); - loc_7F02C4B0(iParm1,1,0x42dc0000,fVar5,0); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f02f8a4(int iParm1) - -{ - int iVar1; - float in_f0; - float fVar2; - - iVar1 = *(int *)(iParm1 + 0x1c); - sub_7F06F5BC(iVar1); - if ((86.00000000 <= in_f0) || (fVar2 = locret_7F06F608(iVar1), in_f0 < fVar2)) { - fVar2 = locret_7F06F608(iVar1); - if (fVar2 <= in_f0) { - loc_7F023E04(iParm1); - } - } - else { - sub_7F06F610(iVar1); - FUN_7f070298(iVar1,_DAT_80069578 + 0x6254,0,86.00000000,fVar2,24.00000000); - loc_7F06FE2C(iVar1,131.00000000); - } - return; -} - - - -void FUN_7f02f988(void) - -{ - return; -} - - - -uint loc_7F02F868(int param_1,float *param_2,int param_3,float *param_4) - -{ - bool bVar1; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float fVar2; - float fVar3; - float fVar4; - float fStack24; - float fStack20; - int iStack8; - - iStack8 = *(int *)(param_1 + 0x1c); - fStack24 = loc_7F05AB54(*param_2 - *(float *)(*(int *)(param_1 + 0x18) + 8), - param_2[2] - *(float *)(*(int *)(param_1 + 0x18) + 0x10)); - fStack20 = fStack24; - FUN_7f06d270(iStack8,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar3 = fStack20 - fStack24; - if (fStack20 < fStack24) { - fVar3 = fVar3 + DAT_80052000; - } - if (DAT_80052004 < fVar3) { - fVar3 = DAT_80052008 - fVar3; - } - fVar2 = DAT_80052010; - fVar4 = DAT_8005200c; - if (param_3 != 2) { - if (param_3 == 1) { - fVar2 = DAT_80052028; - fVar4 = DAT_80052018; - if ((DAT_80052014 <= fVar3) && - (fVar2 = DAT_80052028, fVar4 = DAT_80052020, DAT_8005201c <= fVar3)) { - fVar2 = DAT_80052028; - fVar4 = DAT_80052024; - } - } - else { - fVar2 = DAT_80052040; - fVar4 = DAT_80052030; - if ((DAT_8005202c <= fVar3) && - (fVar2 = DAT_80052040, fVar4 = DAT_80052038, DAT_80052034 <= fVar3)) { - fVar2 = DAT_80052040; - fVar4 = DAT_8005203c; - } - } - } - fVar2 = fVar2 * *(float *)(iStack8 + 0xa4); - FUN_7f04340c(&fStack24,fStack20,param_4,fVar2,fVar2 + fVar2,fVar4 * *(float *)(iStack8 + 0xa4)); - bVar1 = fStack24 == fStack20; - if (bVar1) { - *param_4 = 0.00000000; - } - FUN_7f06d32c(iStack8,fStack24,extraout_a2_lo_00,extraout_a3_lo_00); - return (uint)bVar1; -} - - - -void FUN_7f02fb88(short *psParm1) - -{ - int iVar1; - int iVar2; - uint uVar3; - int iVar4; - longlong lVar5; - short *psVar6; - int iVar7; - float in_f0; - float fVar8; - float fVar9; - - iVar4 = *(int *)(psParm1 + 0xe); - iVar2 = *(int *)(psParm1 + 0xc); - iVar1 = FUN_7f089e6c(); - iVar7 = *(int *)(psParm1 + 0x18) + DAT_800483a4; - *(int *)(psParm1 + 0x18) = iVar7; - *(int *)(psParm1 + 100) = DAT_800483ac; - if (((*(char *)((int)psParm1 + 9) == '\x01') || (*(int *)(psParm1 + 0x66) < DAT_800483ac + -0x3c)) - || (*(int *)(psParm1 + 0x1a) < iVar7)) { - sub_7F06F5BC(iVar4); - iVar2 = sub_7F06F5AC(iVar4); - fVar8 = (float)(uint)*(ushort *)(iVar2 + 4); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - if (fVar8 * 0.50000000 < in_f0) { - loc_7F06FEE8(iVar4,0.00000000,16.00000000); - } - else { - iVar2 = sub_7F06F5AC(iVar4); - fVar8 = (float)(uint)*(ushort *)(iVar2 + 4); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - loc_7F06FEE8(iVar4,fVar8 * 0.50000000,16.00000000); - } - FUN_7f029eb8((int)psParm1); - FUN_7f024150((int)psParm1); - } - else { - fVar8 = *(float *)(iVar1 + 8) - *(float *)(iVar2 + 8); - fVar9 = *(float *)(iVar1 + 0x10) - *(float *)(iVar2 + 0x10); - if (((300.00000000 <= fVar8) || (fVar8 <= -300.00000000)) || - ((300.00000000 <= fVar9 || (fVar9 <= -300.00000000)))) { - uVar3 = loc_7F02F868((int)psParm1,(float *)(iVar1 + 8),0,(float *)(psParm1 + 0x2a)); - if (uVar3 != 0) { - *(undefined4 *)(psParm1 + 0x1c) = 1; - } - if (*(int *)(psParm1 + 0x18) < 0x15) { - sub_7F02D0F8((int)psParm1); - iVar4 = *(int *)(psParm1 + 0x1c); - } - else { - loc_7F02D004(psParm1,*(int *)(psParm1 + 0x1e),(int)*(char *)((int)psParm1 + 0x49), - (int)*(char *)(psParm1 + 0x24),1.00000000); - iVar4 = *(int *)(psParm1 + 0x1c); - } - if ((iVar4 == 0) || (lVar5 = 0, psVar6 = psParm1, *(int *)(psParm1 + 0x18) < 0x1f)) { - loc_7F02D238((int)psParm1,1,0); - loc_7F02D238((int)psParm1,0,0); - } - else { - do { - iVar4 = (int)lVar5; - if (*(char *)(psVar6 + 0x24) == '\0') { - loc_7F02D238((int)psParm1,lVar5,0); - lVar5 = (longlong)(iVar4 + 1); - } - else { - if (*(char *)(psVar6 + 0x25) == '\0') { - loc_7F02D238((int)psParm1,lVar5,1); - lVar5 = (longlong)(iVar4 + 1); - } - else { - iVar2 = *(int *)(psParm1 + 0x18); - if (*(int *)(psParm1 + 0x20) < iVar2) { - if ((lVar5 == (longlong)*(int *)(psParm1 + 0x22)) || - (*(char *)((int)psParm1 + *(int *)(psParm1 + 0x22) + 0x4a) == '\0')) { - *(int *)(psParm1 + 0x20) = iVar2; - if (*(char *)((int)psParm1 + (0x4b - iVar4)) == '\0') { - if (*(char *)(psVar6 + 0x26) == '\0') { - *(int *)(psParm1 + 0x20) = *(int *)(psParm1 + 0x20) + 0x28; - } - else { - *(int *)(psParm1 + 0x20) = *(int *)(psParm1 + 0x20) + 0xb4; - } - } - else { - if (*(char *)(psVar6 + 0x26) == '\0') { - *(int *)(psParm1 + 0x20) = *(int *)(psParm1 + 0x20) + 0x14; - } - else { - *(int *)(psParm1 + 0x20) = iVar2 + 0x5a; - } - } - *(int *)(psParm1 + 0x22) = 1 - *(int *)(psParm1 + 0x22); - loc_7F02D238((int)psParm1,lVar5,1); - lVar5 = (longlong)(iVar4 + 1); - goto LAB_7f02fef0; - } - } - loc_7F02D238((int)psParm1,lVar5,0); - lVar5 = (longlong)(iVar4 + 1); - } - } -LAB_7f02fef0: - psVar6 = (short *)((int)psVar6 + 1); - } while (lVar5 != 2); - } - } - else { - FUN_7f029eb8((int)psParm1); - FUN_7f024150((int)psParm1); - } - } - return; -} - - - -undefined8 locret_7F02FD48(float *param_1,float *param_2,float *param_3,float param_4) - -{ - undefined uVar1; - undefined7 in_register_00000018; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar5 = *param_3 - *param_1; - fVar4 = param_3[2] - param_1[2]; - fVar2 = *param_2; - if (fVar2 == 0.00000000) { - if (param_2[2] == 0.00000000) { - uVar1 = 0; - if (fVar4 * fVar4 + fVar5 * fVar5 <= param_4 * param_4) { - uVar1 = 1; - } - goto LAB_7f030048; - } - fVar3 = param_2[2]; - } - else { - fVar3 = param_2[2]; - } - uVar1 = 0; - fVar6 = fVar4 * fVar3 + fVar2 * fVar5; - if (0.00000000 < fVar6) { - if (((fVar4 * fVar4 + fVar5 * fVar5) - param_4 * param_4) * (fVar3 * fVar3 + fVar2 * fVar2) <= - fVar6 * fVar6) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } -LAB_7f030048: - return CONCAT17(uVar1,in_register_00000018); -} - - - -undefined loc_7F02FE64(float *param_1,float *param_2,float *param_3,float param_4) - -{ - undefined8 uVar1; - undefined uVar2; - float fVar3; - float fVar4; - float fStack12; - undefined4 uStack8; - float fStack4; - - fVar4 = *param_1; - fVar3 = *param_3 - param_4; - if ((fVar3 < fVar4) || (fVar3 < *param_2)) { - fVar3 = *param_3 + param_4; - if (fVar3 <= fVar4) { - if (fVar3 <= *param_2) { - return 0; - } - fVar3 = param_3[2]; - } - else { - fVar3 = param_3[2]; - } - if ((fVar3 - param_4 < param_1[2]) || (fVar3 - param_4 < param_2[2])) { - if (fVar3 + param_4 <= param_1[2]) { - if (fVar3 + param_4 <= param_2[2]) { - return 0; - } - fStack12 = *param_2; - } - else { - fStack12 = *param_2; - } - fStack12 = fStack12 - fVar4; - uStack8 = 0; - fStack4 = param_2[2] - param_1[2]; - uVar1 = locret_7F02FD48(param_1,&fStack12,param_3,param_4); - uVar2 = (undefined)((ulonglong)uVar1 >> 0x38); - } - else { - uVar2 = 0; - } - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f030178(int iParm1) - -{ - int iVar1; - longlong lVar2; - int iVar3; - float in_f0; - float extraout_f0; - float fVar4; - float fVar5; - float fStack20; - - iVar1 = *(int *)(iParm1 + 0x1c); - *(int *)(iParm1 + 200) = DAT_800483ac; - if (*(char *)(iParm1 + 9) != '\x01') { - if (DAT_800483ac + -0x3c <= *(int *)(iParm1 + 0xcc)) { - lVar2 = loc_7F02FE64((float *)(iParm1 + 0xbc),(float *)(*(int *)(iParm1 + 0x18) + 8), - (float *)(iParm1 + 0x2c),*(float *)(iParm1 + 0x38)); - in_f0 = extraout_f0; - if (lVar2 == 0) { - loc_7F02F868(iParm1,(float *)(iParm1 + 0x2c),1,(float *)(iParm1 + 0x40)); - if (0 < *(int *)(iParm1 + 0x3c)) { - *(int *)(iParm1 + 0x3c) = *(int *)(iParm1 + 0x3c) - DAT_800483a4; - return; - } - fStack20 = DAT_800309c8; - iVar3 = sub_7F06F5AC(iVar1); - if (iVar3 == _DAT_80069578 + 0x777c) { - fStack20 = DAT_800309d4; - } - fVar4 = locret_7F06F638(iVar1); - *(float *)(iParm1 + 0x38) = *(float *)(iParm1 + 0x38) + fStack20 * DAT_800483b4 * fVar4; - return; - } - } - } - sub_7F06F5AC(iVar1); - sub_7F06F5BC(iVar1); - fVar4 = in_f0 - 0.00000000; - if (in_f0 < 0.00000000) { - iVar3 = sub_7F06F5AC(iVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar4 = fVar4 + fVar5; - } - iVar3 = sub_7F06F5AC(iVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - if (fVar5 * 0.50000000 < fVar4) { - iVar3 = sub_7F06F5AC(iVar1); - fVar4 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - loc_7F06FEE8(iVar1,fVar4 - 0.00000000,16.00000000); - } - else { - iVar3 = sub_7F06F5AC(iVar1); - fVar4 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = fVar4 * 0.50000000 - 0.00000000; - if (fVar4 < 0.00000000) { - iVar3 = sub_7F06F5AC(iVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar4 = fVar4 + fVar5; - } - loc_7F06FEE8(iVar1,fVar4,16.00000000); - } - FUN_7f024150(iParm1); - return; -} - - - -void FUN_7f030428(int param_1,undefined4 param_2,int param_3,float *param_4,undefined4 param_5, - uint param_6) - -{ - int7 iVar1; - undefined4 uVar2; - undefined4 uStack20; - float fStack16; - float fStack12; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - iStack4 = param_3; - sub_7F023160(*(int *)(param_1 + 0x18),&uStack20,&fStack12,&fStack16); - loc_7F01F604(param_1,0); - iVar1 = (int7)(int3)((uint)param_2 >> 8); - uVar2 = loc_7F0B13B4(&iStack4,*(float *)CONCAT71(iVar1,(char)param_2), - *(float *)((int)CONCAT71(iVar1,(char)param_2) + 8),*param_4,param_4[2], - param_6,fStack12,fStack16,0.00000000,1.00000000); - if (CONCAT71(iVar1,(char)((uint)uVar2 >> 0x18)) != 0) { - iVar1 = (int7)(int3)((uint)param_5 >> 8); - if (CONCAT71(iVar1,(char)param_5) == 0) { - uStack8 = 1; - } - else { - if ((longlong)iStack4 == CONCAT71(iVar1,(char)param_5)) { - uStack8 = 1; - } - } - } - loc_7F01F604(param_1,1); - return; -} - - - -void loc_7F030488(int param_1,float *param_2,int param_3,float *param_4,float param_5,uint param_6) - -{ - undefined7 extraout_var; - undefined7 uVar1; - undefined4 uVar2; - float fVar3; - undefined4 uStack44; - float fStack40; - float fStack36; - undefined4 uStack32; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - uStack32 = 0; - sub_7F023160(*(int *)(param_1 + 0x18),&uStack44,&fStack36,&fStack40); - fStack16 = *param_4 - *param_2; - uStack12 = 0; - fStack8 = param_4[2] - param_2[2]; - if ((fStack16 != 0.00000000) || (fStack8 != 0.00000000)) { - fVar3 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar3); - fStack8 = fStack8 * (1.00000000 / fVar3); - fVar3 = fStack16 * param_5; - param_5 = fStack8 * param_5; - loc_7F01F604(param_1,0); - uVar1 = extraout_var; - iStack4 = param_3; - uVar2 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*param_2 + param_5,param_2[2] - fVar3,param_6, - fStack36,fStack40,0.00000000,1.00000000); - if ((CONCAT71(uVar1,(char)((uint)uVar2 >> 0x18)) != 0) && - (uVar2 = loc_7F0B13B4(&iStack4,*param_2 + param_5,param_2[2] - fVar3,*param_4 + param_5, - param_4[2] - fVar3,param_6,fStack36,fStack40,0.00000000,1.00000000), - CONCAT71(uVar1,(char)((uint)uVar2 >> 0x18)) != 0)) { - iStack4 = param_3; - uVar2 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*param_2 - param_5,param_2[2] + fVar3, - param_6,fStack36,fStack40,0.00000000,1.00000000); - if ((CONCAT71(uVar1,(char)((uint)uVar2 >> 0x18)) != 0) && - (uVar2 = loc_7F0B13B4(&iStack4,*param_2 - param_5,param_2[2] + fVar3,*param_4 - param_5, - param_4[2] + fVar3,param_6,fStack36,fStack40,0.00000000,1.00000000), - CONCAT71(uVar1,(char)((uint)uVar2 >> 0x18)) != 0)) { - uStack32 = 1; - } - } - loc_7F01F604(param_1,1); - } - return; -} - - - -void FUN_7f0307ac(int param_1,float *param_2,int param_3,float *param_4,undefined4 param_5, - undefined4 param_6,uint param_7) - -{ - int7 iVar1; - undefined4 uVar2; - int iStack24; - undefined4 uStack20; - float fStack16; - float fStack12; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - iStack4 = param_3; - sub_7F023160(*(int *)(param_1 + 0x18),&uStack20,&fStack12,&fStack16); - loc_7F01F604(param_1,0); - iVar1 = (int7)(int3)((uint)param_4 >> 8); - uVar2 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*(float *)CONCAT71(iVar1,(char)param_4), - *(float *)((int)CONCAT71(iVar1,(char)param_4) + 8),param_7,fStack12,fStack16, - 0.00000000,1.00000000); - if (CONCAT71(iVar1,(char)((uint)uVar2 >> 0x18)) != 0) { - iVar1 = (int7)(int3)((uint)param_5 >> 8); - iStack24 = iStack4; - uVar2 = loc_7F0B13B4(&iStack24,*param_4,param_4[2],*(float *)CONCAT71(iVar1,(char)param_5), - *(float *)((int)CONCAT71(iVar1,(char)param_5) + 8),param_7,fStack12, - fStack16,0.00000000,1.00000000); - if (CONCAT71(iVar1,(char)((uint)uVar2 >> 0x18)) != 0) { - iVar1 = (int7)(int3)((uint)param_6 >> 8); - if (CONCAT71(iVar1,(char)param_6) == 0) { - uStack8 = 1; - } - else { - if ((longlong)iStack24 == CONCAT71(iVar1,(char)param_6)) { - uStack8 = 1; - } - } - } - } - loc_7F01F604(param_1,1); - return; -} - - - -void loc_7F030728(int param_1,float *param_2,int param_3,float *param_4,float *param_5,float param_6 - ,uint param_7) - -{ - int7 iVar1; - undefined7 extraout_var; - undefined7 extraout_var_00; - undefined uVar2; - undefined4 uVar3; - int iStack24; - undefined4 uStack20; - float fStack16; - float fStack12; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - iStack4 = param_3; - sub_7F023160(*(int *)(param_1 + 0x18),&uStack20,&fStack12,&fStack16); - loc_7F01F604(param_1,0); - iVar1 = (int7)(int3)((uint)param_2 >> 8); - uVar3 = loc_7F0B13B4(&iStack4,*(float *)CONCAT71(iVar1,(char)param_2), - *(float *)((int)CONCAT71(iVar1,(char)param_2) + 8),*param_4,param_4[2], - param_7,fStack12,fStack16,0.00000000,1.00000000); - if (CONCAT71(iVar1,(char)((uint)uVar3 >> 0x18)) != 0) { - iVar1 = (int7)(int3)((uint)param_5 >> 8); - iStack24 = iStack4; - uVar3 = loc_7F0B13B4(&iStack24,*param_4,param_4[2],*(float *)CONCAT71(iVar1,(char)param_5), - *(float *)((int)CONCAT71(iVar1,(char)param_5) + 8),param_7,fStack12, - fStack16,0.00000000,1.00000000); - uVar2 = (undefined)((uint)uVar3 >> 0x18); - if (CONCAT71(iVar1,uVar2) != 0) { - loc_7F030488(param_1,param_2,param_3,param_4,param_6,param_7); - if (CONCAT71(extraout_var,uVar2) != 0) { - loc_7F030488(param_1,param_4,iStack4,param_5,param_6,param_7); - if (CONCAT71(extraout_var_00,uVar2) != 0) { - uStack8 = 1; - } - } - } - } - loc_7F01F604(param_1,1); - return; -} - - - -void locret_7F030814(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - - if ((param_2[2] - param_1[2]) * *param_3 + -param_3[2] * (*param_2 - *param_1) <= 0.00000000) { - fVar1 = *param_1; - fVar2 = param_1[1]; - fVar3 = param_1[2]; - *param_1 = *param_2; - param_1[1] = param_2[1]; - param_1[2] = param_2[2]; - *param_2 = fVar1; - param_2[1] = fVar2; - param_2[2] = fVar3; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f030e7c) overlaps instruction at (ram,0x7f030e78) -// - -void loc_7F030D5C(int param_1,float *param_2,int param_3,undefined4 *param_4,float *param_5, - float *param_6,float param_7,float param_8,uint param_9) - -{ - int3 iVar1; - undefined7 extraout_var; - undefined7 uVar2; - int7 iVar3; - int7 extraout_var_00; - undefined7 extraout_var_01; - undefined uVar4; - undefined4 uVar5; - float fVar6; - undefined4 uStack108; - float fStack104; - float fStack100; - undefined4 uStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - int iStack44; - int iStack40; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - iStack40 = 0; - iStack44 = 0; - uStack96 = 0; - sub_7F023160(*(int *)(param_1 + 0x18),&uStack108,&fStack100,&fStack104); - iVar1 = (int3)((uint)param_4 >> 8); - uVar4 = SUB41(param_4,0); - uStack12 = 0; - fStack16 = *(float *)CONCAT71((int7)iVar1,uVar4) - *param_2; - fStack8 = *(float *)((int)CONCAT71((int7)iVar1,uVar4) + 8) - param_2[2]; - if ((fStack16 == 0.00000000) && (fStack8 == 0.00000000)) { - return; - } - fVar6 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar6); - fStack8 = fStack8 * (1.00000000 / fVar6); - fStack20 = fStack16 * param_8 * DAT_80052044; - fStack24 = fStack8 * param_8 * DAT_80052048; - fStack28 = fStack16 * param_8 * DAT_8005204c; - fStack32 = fStack8 * param_8 * DAT_80052050; - loc_7F01F604(param_1,0); - FUN_7f0b2874(); - uVar2 = extraout_var; - iStack4 = param_3; - uVar5 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*param_2 + fStack24,param_2[2] - fStack20, - param_9,fStack100,fStack104,0.00000000,1.00000000); - if (CONCAT71(uVar2,(char)((uint)uVar5 >> 0x18)) == 0) { -code_r0x7f030d5c: - iStack40 = 1; - FUN_7f0b3460(&fStack56,&fStack68); - locret_7F030814(&fStack56,&fStack68,&fStack16); - iVar3 = extraout_var_00; - } - else { - iVar3 = (int7)iVar1; - uVar5 = loc_7F0B13B4(&iStack4,*param_2 + fStack24,param_2[2] - fStack20, - fStack16 * param_7 + *(float *)CONCAT71(iVar3,uVar4) + fStack32, - fStack8 * param_7 + (*(float *)((int)CONCAT71(iVar3,uVar4) + 8) - fStack28) - ,param_9,fStack100,fStack104,0.00000000,1.00000000); - if (CONCAT71(iVar3,(char)((uint)uVar5 >> 0x18)) == 0) goto code_r0x7f030d5c; - } - iStack4 = param_3; - uVar5 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*param_2 - fStack24,param_2[2] + fStack20, - param_9,fStack100,fStack104,0.00000000,1.00000000); - if (CONCAT71(iVar3,(char)((uint)uVar5 >> 0x18)) != 0) { - iVar3 = (int7)iVar1; - uVar5 = loc_7F0B13B4(&iStack4,*param_2 - fStack24,param_2[2] + fStack20, - fStack16 * param_7 + (*(float *)CONCAT71(iVar3,uVar4) - fStack32), - fStack8 * param_7 + *(float *)((int)CONCAT71(iVar3,uVar4) + 8) + fStack28, - param_9,fStack100,fStack104,0.00000000,1.00000000); - if (CONCAT71(iVar3,(char)((uint)uVar5 >> 0x18)) != 0) goto LAB_7f030ea0; - } - iStack44 = 1; - FUN_7f0b3460(&fStack80,&fStack92); - locret_7F030814(&fStack80,&fStack92,&fStack16); -LAB_7f030ea0: - if ((iStack40 == 0) || (iStack44 == 0)) { - if (iStack40 == 0) { - iVar3 = (int7)iVar1; - if (iStack44 == 0) { - iStack4 = param_3; - uVar5 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*(float *)CONCAT71(iVar3,uVar4), - *(float *)((int)CONCAT71(iVar3,uVar4) + 8),param_9,fStack100,fStack104, - 0.00000000,1.00000000); - uVar4 = (undefined)((uint)uVar5 >> 0x18); - if ((CONCAT71(iVar3,uVar4) == 0) || - (loc_7F0B1C80(&iStack4,*param_4,param_4[2],param_8,param_9,fStack100,fStack104), - -1 < CONCAT71(extraout_var_01,uVar4))) { - FUN_7f0b3460(param_5,param_6); - locret_7F030814(param_5,param_6,&fStack16); - } - else { - uStack96 = 1; - } - } - else { - *param_5 = fStack80; - param_5[1] = fStack76; - param_5[2] = fStack72; - *param_6 = fStack92; - param_6[1] = fStack88; - param_6[2] = fStack84; - } - } - else { - *param_5 = fStack56; - param_5[1] = fStack52; - param_5[2] = fStack48; - *param_6 = fStack68; - param_6[1] = fStack64; - param_6[2] = fStack60; - } - } - else { - locret_7F030814(&fStack56,&fStack80,&fStack16); - locret_7F030814(&fStack68,&fStack92,&fStack16); - *param_5 = fStack56; - param_5[1] = fStack52; - param_5[2] = fStack48; - *param_6 = fStack92; - param_6[1] = fStack88; - param_6[2] = fStack84; - } - loc_7F01F604(param_1,1); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0313dc) overlaps instruction at (ram,0x7f0313d8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0312F8(int param_1,float *param_2,int param_3,undefined4 *param_4,float *param_5, - float *param_6,float param_7,float param_8,uint param_9) - -{ - int3 iVar1; - undefined7 extraout_var; - undefined7 uVar2; - int7 iVar3; - int7 extraout_var_00; - undefined7 extraout_var_01; - undefined uVar4; - undefined4 uVar5; - float fVar6; - undefined4 uStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - undefined4 uStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - int iStack44; - int iStack40; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - iStack40 = 0; - iStack44 = 0; - uStack96 = 0; - sub_7F023160(*(int *)(param_1 + 0x18),&uStack116,&fStack108,&fStack112); - iVar1 = (int3)((uint)param_4 >> 8); - uVar4 = SUB41(param_4,0); - uStack12 = 0; - fStack16 = *(float *)CONCAT71((int7)iVar1,uVar4) - *param_2; - fStack8 = *(float *)((int)CONCAT71((int7)iVar1,uVar4) + 8) - param_2[2]; - if ((fStack16 == 0.00000000) && (fStack8 == 0.00000000)) { - return; - } - fVar6 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar6); - fStack8 = fStack8 * (1.00000000 / fVar6); - fStack20 = fStack16 * param_8 * DAT_80052054; - fStack24 = fStack8 * param_8 * DAT_80052058; - fStack28 = fStack16 * param_8 * DAT_8005205c; - fStack32 = fStack8 * param_8 * DAT_80052060; - loc_7F01F604(param_1,0); - FUN_7f0b2874(); - uVar2 = extraout_var; - iStack4 = param_3; - uVar5 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*param_2 + fStack24,param_2[2] - fStack20, - param_9,fStack108,fStack112,0.00000000,1.00000000); - if (CONCAT71(uVar2,(char)((uint)uVar5 >> 0x18)) == 0) { -code_r0x7f0312b0: - iStack40 = 1; - FUN_7f0b3460(&fStack56,&fStack68); - locret_7F030814(&fStack56,&fStack68,&fStack16); - fStack100 = _DAT_8007ba70; - iVar3 = extraout_var_00; - } - else { - iVar3 = (int7)iVar1; - uVar5 = loc_7F0B13B4(&iStack4,*param_2 + fStack24,param_2[2] - fStack20, - fStack16 * param_7 + *(float *)CONCAT71(iVar3,uVar4) + fStack32, - fStack8 * param_7 + (*(float *)((int)CONCAT71(iVar3,uVar4) + 8) - fStack28) - ,param_9,fStack108,fStack112,0.00000000,1.00000000); - if (CONCAT71(iVar3,(char)((uint)uVar5 >> 0x18)) == 0) goto code_r0x7f0312b0; - } - iStack4 = param_3; - uVar5 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*param_2 - fStack24,param_2[2] + fStack20, - param_9,fStack108,fStack112,0.00000000,1.00000000); - if (CONCAT71(iVar3,(char)((uint)uVar5 >> 0x18)) != 0) { - iVar3 = (int7)iVar1; - uVar5 = loc_7F0B13B4(&iStack4,*param_2 - fStack24,param_2[2] + fStack20, - fStack16 * param_7 + (*(float *)CONCAT71(iVar3,uVar4) - fStack32), - fStack8 * param_7 + *(float *)((int)CONCAT71(iVar3,uVar4) + 8) + fStack28, - param_9,fStack108,fStack112,0.00000000,1.00000000); - if (CONCAT71(iVar3,(char)((uint)uVar5 >> 0x18)) != 0) goto LAB_7f03140c; - } - iStack44 = 1; - FUN_7f0b3460(&fStack80,&fStack92); - locret_7F030814(&fStack80,&fStack92,&fStack16); - fStack104 = _DAT_8007ba70; -LAB_7f03140c: - if ((iStack40 == 0) || (iStack44 == 0)) { - if (iStack40 == 0) { - iVar3 = (int7)iVar1; - if (iStack44 == 0) { - iStack4 = param_3; - uVar5 = loc_7F0B13B4(&iStack4,*param_2,param_2[2],*(float *)CONCAT71(iVar3,uVar4), - *(float *)((int)CONCAT71(iVar3,uVar4) + 8),param_9,fStack108,fStack112, - 0.00000000,1.00000000); - uVar4 = (undefined)((uint)uVar5 >> 0x18); - if ((CONCAT71(iVar3,uVar4) == 0) || - (loc_7F0B1C80(&iStack4,*param_4,param_4[2],param_8,param_9,fStack108,fStack112), - -1 < CONCAT71(extraout_var_01,uVar4))) { - FUN_7f0b3460(param_5,param_6); - locret_7F030814(param_5,param_6,&fStack16); - } - else { - uStack96 = 1; - } - } - else { - *param_5 = fStack80; - param_5[1] = fStack76; - param_5[2] = fStack72; - *param_6 = fStack92; - param_6[1] = fStack88; - param_6[2] = fStack84; - } - } - else { - *param_5 = fStack56; - param_5[1] = fStack52; - param_5[2] = fStack48; - *param_6 = fStack68; - param_6[1] = fStack64; - param_6[2] = fStack60; - } - } - else { - if (fStack100 < fStack104) { - *param_5 = fStack56; - param_5[1] = fStack52; - param_5[2] = fStack48; - *param_6 = fStack68; - param_6[1] = fStack64; - param_6[2] = fStack60; - } - else { - *param_5 = fStack80; - param_5[1] = fStack76; - param_5[2] = fStack72; - *param_6 = fStack92; - param_6[1] = fStack88; - param_6[2] = fStack84; - } - } - loc_7F01F604(param_1,1); - return; -} - - - -undefined8 -loc_7F031590(int param_1,float *param_2,longlong param_3,float *param_4,float param_5,int param_6, - undefined4 param_7,int param_8,float param_9,uint param_10,int param_11) - -{ - longlong lVar1; - undefined uVar2; - undefined7 in_register_00000018; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float *pfStack56; - float *pfStack52; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - pfStack56 = param_2; - pfStack52 = param_4; - if (param_3 != 0) { - pfStack56 = param_4; - pfStack52 = param_2; - } - fStack16 = *param_2 - *(float *)(iStack4 + 8); - uStack12 = 0; - fStack8 = param_2[2] - *(float *)(iStack4 + 0x10); - fVar4 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fVar6 = param_5 * (1.00000000 / fVar4); - fStack16 = fStack16 * fVar6; - fStack8 = fStack8 * fVar6; - fVar5 = DAT_80052064; - if (fVar6 <= 1.00000000) { - fVar5 = FUN_7f05b1d0(param_5 * (1.00000000 / fVar4)); - } - if (((int)param_3 == 0) && (fVar5 != 0.00000000)) { - fVar5 = DAT_80052068 - fVar5; - } - fVar4 = FUN_7f0583c0(fVar5); - fVar6 = func_7F057FC4(fVar5); - fVar7 = -fVar4 * fStack16; - fVar6 = fStack8 * fVar6; - fVar4 = func_7F057FC4(fVar5); - fVar5 = FUN_7f0583c0(fVar5); - pfVar3 = (float *)(iStack4 + 8); - fStack28 = fVar6 + fVar7 + *param_2; - fStack24 = param_2[1]; - fStack20 = (-fVar4 * fStack16 - fStack8 * fVar5) + param_2[2]; - lVar1 = loc_7F030D5C(param_1,pfVar3,*(int *)(iStack4 + 0x14),&fStack28,pfStack52,pfStack56,param_9 - ,*(float *)(param_1 + 0x24),param_10); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if ((param_6 == 0) || - (lVar1 = FUN_7f0307ac(param_1,pfVar3,*(int *)(iStack4 + 0x14),&fStack28,param_7,0,param_10), - lVar1 != 0)) { - if (param_11 == 0) { - *(undefined *)(param_8 + 2) = 1; - *(float *)(param_8 + 4) = fStack28; - *(float *)(param_8 + 8) = fStack24; - *(float *)(param_8 + 0xc) = fStack20; - uVar2 = 1; - } - else { - *(undefined *)(param_8 + 3) = 1; - *(float *)(param_8 + 0x2c) = fStack28; - *(float *)(param_8 + 0x30) = fStack24; - *(float *)(param_8 + 0x34) = fStack20; - uVar2 = 1; - } - } - else { - uVar2 = 0; - } - } - return CONCAT17(uVar2,in_register_00000018); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong loc_7F032048(int param_1,undefined4 *param_2,undefined8 param_3,char *param_4) - -{ - char *pcVar1; - undefined8 uVar2; - int iVar3; - uint uVar6; - ulonglong uVar4; - int iVar7; - uint uVar8; - longlong lVar5; - char cVar9; - undefined4 uVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - int iStack32; - float afStack28 [2]; - float fStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - fVar15 = DAT_80052070; - fVar14 = DAT_8005206c; - iVar7 = *(int *)(param_1 + 0x18); - uVar8 = 0x801d; - if ((*(ushort *)(param_1 + 0x12) & 0x10) != 0) { - uVar8 = 0x1f; - } - iStack32 = 0; - do { - iVar3 = (int)(*param_4 >> 7); - uVar6 = SEXT14(*param_4); - if (CONCAT44(iVar3,uVar6) == 0) { - uStack16 = *param_2; -LAB_7f03194c: - uStack12 = param_2[1]; - uStack8 = param_2[2]; - uVar4 = loc_7F030D5C(param_1,(float *)(iVar7 + 8),*(int *)(iVar7 + 0x14),&uStack16, - (float *)(param_4 + 0x10),(float *)(param_4 + 0x1c), - -*(float *)(param_1 + 0x24),*(float *)(param_1 + 0x24),0x10); - if (uVar4 == 0) { - cVar9 = *param_4; - uVar4 = CONCAT44((undefined4)(cVar9 >> 7),(int)cVar9); - if (uVar4 == 0) { - *param_4 = '\x01'; - param_4[1] = '\0'; - } - else { - if (CONCAT44((undefined4)(cVar9 >> 7),(int)cVar9) == 2) { - *param_4 = '\x03'; - param_4[1] = '\0'; - } - } - } - else { - param_4[2] = '\x01'; - *(undefined4 *)(param_4 + 4) = uStack16; - *(undefined4 *)(param_4 + 8) = uStack12; - *param_4 = '\x04'; - *(undefined4 *)(param_4 + 0xc) = uStack8; - } - } - else { - if (CONCAT44(iVar3,uVar6) == 2) { - uStack16 = *param_2; - goto LAB_7f03194c; - } - if (CONCAT44(iVar3,uVar6) == 1) { - fVar16 = *(float *)(param_1 + 0x24) * DAT_80052074 * DAT_80052078; - uVar2 = loc_7F031590(param_1,(float *)(param_4 + 0x10),1,afStack28,fVar16,1,param_2, - (int)param_4,0.00000000,0x10,0); - uVar6 = uVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar2 >> 0x38); - if (CONCAT44(iVar3,uVar6) == 0) { - uVar2 = loc_7F031590(param_1,(float *)(param_4 + 0x1c),0,afStack28,fVar16,1,param_2, - (int)param_4,0.00000000,0x10,0); - uVar4 = CONCAT44(iVar3,uVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar2 >> 0x38)); - if (uVar4 == 0) { - param_4[1] = param_4[1] + '\x01'; - if ('\x05' < param_4[1]) { - *param_4 = '\x02'; - } - } - else { - *param_4 = '\x04'; - } - } - else { - *param_4 = '\x04'; - uVar4 = CONCAT44(iVar3,uVar6); - } - } - else { - if (CONCAT44(iVar3,uVar6) == 3) { - fVar16 = *(float *)(param_1 + 0x24) * DAT_8005207c * DAT_80052080; - uVar2 = loc_7F031590(param_1,(float *)(param_4 + 0x10),1,afStack28,fVar16,0,0,(int)param_4 - ,0.00000000,0x10,0); - uVar6 = uVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar2 >> 0x38); - if (CONCAT44(iVar3,uVar6) == 0) { - uVar2 = loc_7F031590(param_1,(float *)(param_4 + 0x1c),0,afStack28,fVar16,0,0, - (int)param_4,0.00000000,0x10,0); - uVar4 = CONCAT44(iVar3,uVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar2 >> 0x38)); - if (uVar4 == 0) { - param_4[1] = param_4[1] + '\x01'; - if ('\x05' < param_4[1]) { - param_4[2] = '\0'; - param_4[3] = param_4[2]; - uVar10 = *param_2; - *(undefined4 *)(param_4 + 4) = uVar10; - *(undefined4 *)(param_4 + 0x2c) = uVar10; - uVar10 = param_2[1]; - *(undefined4 *)(param_4 + 8) = uVar10; - *(undefined4 *)(param_4 + 0x30) = uVar10; - uVar10 = param_2[2]; - *param_4 = '\0'; - *(undefined4 *)(param_4 + 0xc) = uVar10; - *(undefined4 *)(param_4 + 0x34) = uVar10; - } - } - else { - *param_4 = '\x04'; - } - } - else { - *param_4 = '\x04'; - uVar4 = CONCAT44(iVar3,uVar6); - } - } - else { - if (CONCAT44(iVar3,uVar6) == 4) { - uVar4 = loc_7F0312F8(param_1,(float *)(iVar7 + 8),*(int *)(iVar7 + 0x14), - (undefined4 *)(param_4 + 4),(float *)(param_4 + 0x10), - (float *)(param_4 + 0x1c),-*(float *)(param_1 + 0x24), - *(float *)(param_1 + 0x24),uVar8); - if (uVar4 == 0) { - *param_4 = '\x05'; - param_4[1] = '\0'; - } - else { - param_4[3] = '\x01'; - *param_4 = '\0'; - *(undefined4 *)(param_4 + 0x2c) = *(undefined4 *)(param_4 + 4); - *(undefined4 *)(param_4 + 0x30) = *(undefined4 *)(param_4 + 8); - *(undefined4 *)(param_4 + 0x34) = *(undefined4 *)(param_4 + 0xc); - } - } - else { - uVar4 = CONCAT44(iVar3,uVar6); - if (CONCAT44(iVar3,uVar6) == 5) { - fVar17 = *(float *)(param_1 + 0x24) * DAT_80052084 * DAT_80052088; - fVar16 = loc_7F05AB54(*(float *)(param_4 + 4) - *(float *)(iVar7 + 8), - *(float *)(param_4 + 0xc) - *(float *)(iVar7 + 0x10)); - fVar11 = loc_7F05AB54(*(float *)(param_4 + 0x10) - *(float *)(iVar7 + 8), - *(float *)(param_4 + 0x18) - *(float *)(iVar7 + 0x10)); - fVar11 = fVar16 - fVar11; - fVar12 = loc_7F05AB54(*(float *)(param_4 + 0x1c) - *(float *)(iVar7 + 8), - *(float *)(param_4 + 0x24) - *(float *)(iVar7 + 0x10)); - fVar12 = fVar16 - fVar12; - if (fVar11 < 0.00000000) { - fVar11 = fVar11 + fVar15; - } - if (fVar14 <= fVar11) { - fVar11 = fVar11 - fVar15; - } - if (fVar11 < 0.00000000) { - fVar11 = -fVar11; - } - if (fVar12 < 0.00000000) { - fVar12 = fVar12 + fVar15; - } - if (fVar14 <= fVar12) { - fVar12 = fVar12 - fVar15; - } - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - if (fVar11 < fVar12) { - fVar11 = fVar17 * DAT_8005208c; - uVar2 = loc_7F031590(param_1,(float *)(param_4 + 0x10),1,afStack28,fVar17,0,0, - (int)param_4,fVar11,uVar8,1); - uVar6 = uVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar2 >> 0x38); - uVar4 = CONCAT44(iVar3,uVar6); - if (uVar4 != 0) { - *param_4 = '\0'; - break; - } - fVar12 = loc_7F05AB54(*(float *)(param_4 + 0x10) - *(float *)(iVar7 + 8), - *(float *)(param_4 + 0x18) - *(float *)(iVar7 + 0x10)); - fVar12 = fVar16 - fVar12; - fVar13 = loc_7F05AB54(afStack28[0] - *(float *)(iVar7 + 8), - fStack20 - *(float *)(iVar7 + 0x10)); - fVar16 = fVar16 - fVar13; - if (fVar12 < 0.00000000) { - fVar12 = fVar12 + fVar15; - } - if (fVar14 <= fVar12) { - fVar12 = fVar12 - fVar15; - } - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - if (fVar16 < 0.00000000) { - fVar16 = fVar16 + fVar15; - } - if (fVar14 <= fVar16) { - fVar16 = fVar16 - fVar15; - } - if (fVar16 < 0.00000000) { - fVar16 = -fVar16; - } - if (fVar16 < fVar12) { - uVar2 = loc_7F031590(param_1,afStack28,0,afStack28,fVar17,0,0,(int)param_4,fVar11, - uVar8,1); - uVar6 = uVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar2 >> 0x38); - uVar4 = CONCAT44(iVar3,uVar6); - if (uVar4 != 0) { - *param_4 = '\0'; - break; - } - cVar9 = param_4[1]; - } - else { - cVar9 = param_4[1]; - } - } - else { - fVar11 = fVar17 * DAT_80052090; - uVar2 = loc_7F031590(param_1,(float *)(param_4 + 0x1c),0,afStack28,fVar17,0,0, - (int)param_4,fVar11,uVar8,1); - uVar6 = uVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar2 >> 0x38); - uVar4 = CONCAT44(iVar3,uVar6); - if (uVar4 != 0) { - *param_4 = '\0'; - break; - } - fVar12 = loc_7F05AB54(*(float *)(param_4 + 0x1c) - *(float *)(iVar7 + 8), - *(float *)(param_4 + 0x24) - *(float *)(iVar7 + 0x10)); - fVar12 = fVar16 - fVar12; - fVar13 = loc_7F05AB54(afStack28[0] - *(float *)(iVar7 + 8), - fStack20 - *(float *)(iVar7 + 0x10)); - fVar16 = fVar16 - fVar13; - if (fVar12 < 0.00000000) { - fVar12 = fVar12 + fVar15; - } - if (fVar14 <= fVar12) { - fVar12 = fVar12 - fVar15; - } - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - if (fVar16 < 0.00000000) { - fVar16 = fVar16 + fVar15; - } - if (fVar14 <= fVar16) { - fVar16 = fVar16 - fVar15; - } - if (fVar16 < 0.00000000) { - fVar16 = -fVar16; - } - if (fVar16 < fVar12) { - uVar2 = loc_7F031590(param_1,afStack28,1,afStack28,fVar17,0,0,(int)param_4,fVar11, - uVar8,1); - uVar6 = uVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar2 >> 0x38); - uVar4 = CONCAT44(iVar3,uVar6); - if (uVar4 != 0) { - *param_4 = '\0'; - break; - } - cVar9 = param_4[1]; - } - else { - cVar9 = param_4[1]; - } - } - param_4[1] = cVar9 + '\x01'; - uVar4 = (ulonglong)uVar6; - if ('\x05' < param_4[1]) { - param_4[3] = '\0'; - *param_4 = '\0'; - uVar4 = (ulonglong)uVar6; - } - } - } - } - } - } - iStack32 += 1; - } while (iStack32 != 1); - if (param_4[3] == '\0') { - *(undefined4 *)(param_4 + 0x2c) = *(undefined4 *)(param_4 + 4); - *(undefined4 *)(param_4 + 0x30) = *(undefined4 *)(param_4 + 8); - *(undefined4 *)(param_4 + 0x34) = *(undefined4 *)(param_4 + 0xc); - iVar3 = *(int *)(param_4 + 0x28); - } - else { - iVar3 = *(int *)(param_4 + 0x28); - } - if (iVar3 % 10 == 0) { - pcVar1 = loc_7F0B1680(*(int *)(iVar7 + 0x14),*(float *)(iVar7 + 8),*(float *)(iVar7 + 0x10), - *(float *)(param_4 + 0x2c),*(float *)(param_4 + 0x34),0x5000); - uVar8 = (uint)uVar4 & 0xffffff00 | (uint)pcVar1 >> 0x18; - if (uVar8 != 0) { - if (*(int *)((int)CONCAT41((int)((ulonglong)(longlong)*(int *)(uVar8 + 4) >> 8), - (char)*(int *)(uVar8 + 4)) + 0xc) << 2 < 0) { - uVar8 = 0; - } - else { - fVar14 = *(float *)(uVar8 + 8) - *(float *)(iVar7 + 8); - fVar15 = *(float *)(uVar8 + 0xc) - *(float *)(iVar7 + 0xc); - fVar16 = *(float *)(uVar8 + 0x10) - *(float *)(iVar7 + 0x10); - if (fVar14 * fVar14 + fVar15 * fVar15 + fVar16 * fVar16 < DAT_80052094) { - sub_7F0281F4(param_1); - loc_7F055C34(iVar7,*(int *)(uVar8 + 4)); - loc_7F054A0C(*(int *)(uVar8 + 4),1); - if ((((*(ushort *)(param_1 + 0x12) & 0x10) == 0) && - (iVar7 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), iVar7 != _DAT_80069578 + 0x8194)) && - (iVar7 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), iVar7 != _DAT_80069578 + 0x1c)) { - FUN_7f023c48(param_1,16.00000000); - *(undefined4 *)(param_1 + 0xcc) = DAT_800483ac; - } - } - else { - uVar8 = 0; - } - } - } - if ((uVar8 == 0) || ((*(ushort *)(param_1 + 0x12) & 0x10) != 0)) { - iVar7 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)); - if ((iVar7 == _DAT_80069578 + 0x8194) || - (iVar7 = sub_7F06F5AC(*(int *)(param_1 + 0x1c)), iVar7 == _DAT_80069578 + 0x1c)) { - if (*(char *)(param_1 + 7) == '\x0e') { - FUN_7f0292b4(param_1); - } - else { - play_hit_soundeffect_and_proper_volume(param_1); - } - } - if (uVar8 == 0) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xffef; - cVar9 = *(char *)(param_1 + 7); - } - else { - cVar9 = *(char *)(param_1 + 7); - } - } - else { - cVar9 = *(char *)(param_1 + 7); - } - } - else { - cVar9 = *(char *)(param_1 + 7); - } - if (cVar9 == '\x0e') { - uVar8 = loc_7F02F868(param_1,(float *)(param_4 + 0x2c),0,(float *)(param_1 + 0x7c)); - lVar5 = (longlong)(int)uVar8; - } - else { - uVar8 = loc_7F02F868(param_1,(float *)(param_4 + 0x2c),(uint)*(byte *)(param_1 + 0x59), - (float *)(param_1 + 0xa0)); - lVar5 = (longlong)(int)uVar8; - if (*(char *)(param_1 + 0x59) == '\x02') { - if (*(float *)(param_1 + 0xa0) == 0.00000000) { - if (*(int *)(param_1 + 0x14) << 0xc < 0) { - lVar5 = loc_7F06FE84(*(int *)(param_1 + 0x1c),0x3f266666,0.00000000); - } - else { - lVar5 = loc_7F06FE84(*(int *)(param_1 + 0x1c),0x3f000000,0.00000000); - } - } - else { - lVar5 = loc_7F06FE84(*(int *)(param_1 + 0x1c),0x3e800000,0.00000000); - } - } - else { - if (*(char *)(param_1 + 0x59) == '\x01') { - if (*(float *)(param_1 + 0xa0) == 0.00000000) { - lVar5 = loc_7F06FE84(*(int *)(param_1 + 0x1c),0x3f000000,0.00000000); - } - else { - lVar5 = loc_7F06FE84(*(int *)(param_1 + 0x1c),0x3ecccccd,0.00000000); - } - } - } - } - return lVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F032538(int param_1) - -{ - int *piVar1; - bool bVar2; - longlong lVar3; - int iVar4; - uint uVar5; - float fVar6; - float *pfStack92; - int iStack52; - float afStack48 [3]; - int iStack36; - float afStack32 [3]; - int iStack20; - int iStack16; - float fStack12; - float *pfStack8; - - iStack16 = *(int *)(param_1 + 0x18); - iStack20 = 0; - *(int *)(param_1 + 0x84) = *(int *)(param_1 + 0x84) + 1; - *(int *)(param_1 + 200) = DAT_800483ac; - if (*(int *)(param_1 + 0xcc) < DAT_800483ac + -0x3c) { - loc_7F028F98(param_1,(float *)(param_1 + 0x2c),*(undefined4 *)(param_1 + 0x38), - *(char *)(param_1 + 0x59)); - } - loc_7F028280(param_1); - if ((*(char *)(param_1 + 0x5c) != '\x06') && (*(int *)(param_1 + 0x9c) + 0xb4 < DAT_800483ac)) { - loc_7F027F84(param_1,afStack32,&iStack36); - lVar3 = loc_7F027E58(param_1,afStack32,iStack36); - if (lVar3 != 0) { - iStack20 = 1; - sub_7F027E90(param_1,(undefined *)(param_1 + 0x5c),afStack32); - } - } - iVar4 = iStack16; - if (9 < DAT_8002ce90) { - FUN_7f024150(param_1); - return; - } - if (*(char *)(param_1 + 0x5c) == '\x06') { - loc_7F027F84(param_1,afStack48,&iStack52); - if ((iStack20 == 0) && - (((*(byte *)(iStack16 + 1) & 2) != 0 || - (lVar3 = loc_7F027E58(param_1,afStack48,iStack52), lVar3 == 0)))) { - FUN_7f028594(param_1); - *(int *)(param_1 + 0x9c) = DAT_800483ac; - return; - } - fVar6 = FUN_7f0282b0(param_1); - loc_7F028884(param_1,(undefined *)(param_1 + 0x5c),fVar6,afStack48,iStack52); - return; - } - piVar1 = *(int **)(param_1 + (uint)*(byte *)(param_1 + 0x58) * 4 + 0x40); - if (piVar1 == NULL) { - lVar3 = loc_7F02FE64((float *)(param_1 + 0xbc),(float *)(iStack16 + 8),(float *)(param_1 + 0x2c) - ,30.00000000); - bVar2 = false; - if (lVar3 != 0) { - FUN_7f024150(param_1); - return; - } - } - else { - lVar3 = loc_7F02FE64((float *)(param_1 + 0xbc),(float *)(iStack16 + 8), - (float *)(*piVar1 * 0x2c + _DAT_80075d58),30.00000000); - bVar2 = false; - if (lVar3 != 0) { - bVar2 = true; - } - } - pfStack92 = (float *)(iVar4 + 8); - if (bVar2) { - loc_7F02832C(param_1); - } - if (*(int *)(param_1 + 0x84) % 10 == 5) { - iVar4 = param_1 + (uint)*(byte *)(param_1 + 0x58) * 4; - if (*(int *)(param_1 + (uint)*(byte *)(param_1 + 0x58) * 4 + 0x40) == 0) { - iVar4 = *(int *)(param_1 + 0x84); - } - else { - if (*(int *)(iVar4 + 0x44) == 0) { - iVar4 = *(int *)(param_1 + 0x84); - } - else { - piVar1 = *(int **)(iVar4 + 0x48); - pfStack8 = (float *)(param_1 + 0x2c); - if (piVar1 == NULL) { - fStack12 = *(float *)(param_1 + 0x38); - } - else { - pfStack8 = (float *)(*piVar1 * 0x2c + _DAT_80075d58); - fStack12 = pfStack8[10]; - } - lVar3 = FUN_7f030428(param_1,pfStack92,*(int *)(iStack16 + 0x14),pfStack8,fStack12,0x10); - if (lVar3 != 0) { - lVar3 = loc_7F030488(param_1,pfStack92,*(int *)(iStack16 + 0x14),pfStack8, - *(float *)(param_1 + 0x24) * DAT_80052098,0x10); - if (lVar3 == 0) { - iVar4 = *(int *)(param_1 + 0x84); - goto LAB_7f0326e0; - } - loc_7F02832C(param_1); - loc_7F02832C(param_1); - } - iVar4 = *(int *)(param_1 + 0x84); - } - } - } - else { - iVar4 = *(int *)(param_1 + 0x84); - } -LAB_7f0326e0: - if (iVar4 % 10 == 0) { - if (*(int *)(param_1 + (uint)*(byte *)(param_1 + 0x58) * 4 + 0x40) != 0) { - piVar1 = *(int **)(param_1 + (uint)*(byte *)(param_1 + 0x58) * 4 + 0x44); - pfStack8 = (float *)(param_1 + 0x2c); - if (piVar1 == NULL) { - fStack12 = *(float *)(param_1 + 0x38); - } - else { - pfStack8 = (float *)(*piVar1 * 0x2c + _DAT_80075d58); - fStack12 = pfStack8[10]; - } - lVar3 = FUN_7f030428(param_1,pfStack92,*(int *)(iStack16 + 0x14),pfStack8,fStack12,0x10); - if (lVar3 != 0) { - lVar3 = loc_7F030488(param_1,pfStack92,*(int *)(iStack16 + 0x14),pfStack8, - *(float *)(param_1 + 0x24) * DAT_8005209c,0x10); - if (lVar3 == 0) { - uVar5 = (uint)*(byte *)(param_1 + 0x58); - goto LAB_7f0327d4; - } - loc_7F02832C(param_1); - } - } - uVar5 = (uint)*(byte *)(param_1 + 0x58); - } - else { - uVar5 = (uint)*(byte *)(param_1 + 0x58); - } -LAB_7f0327d4: - pfStack8 = (float *)(param_1 + 0x2c); - piVar1 = *(int **)(param_1 + uVar5 * 4 + 0x40); - if (piVar1 == NULL) { - iVar4 = *(int *)(param_1 + 0x38); - } - else { - pfStack8 = (float *)(*piVar1 * 0x2c + _DAT_80075d58); - iVar4 = (int)pfStack8[10]; - } - loc_7F032048(param_1,pfStack8,(longlong)iVar4,(char *)(param_1 + 0x5c)); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03291c) overlaps instruction at (ram,0x7f032918) -// - -void FUN_7f032848(int param_1) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - float fVar4; - char cVar5; - float *pfVar6; - - iVar1 = *(int *)(param_1 + 0x18); - pfVar6 = (float *)FUN_7f02877c(param_1); - bVar2 = false; - *(int *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) + 1; - *(int *)(param_1 + 200) = DAT_800483ac; - if (*(char *)(param_1 + 0x38) != '\x06') { - if (DAT_800483ac <= *(int *)(param_1 + 0x78) + 0xb4) { - cVar5 = *(char *)(param_1 + 0x38); - goto LAB_7f0328dc; - } - lVar3 = FUN_7f028178(param_1,pfVar6); - if (lVar3 != 0) { - bVar2 = true; - sub_7F027E90(param_1,(undefined *)(param_1 + 0x38),pfVar6); - } - } - cVar5 = *(char *)(param_1 + 0x38); -LAB_7f0328dc: - if (cVar5 == '\x06') { - if (bVar2) { - fVar4 = pfVar6[10]; - } - else { - if (((*(byte *)(iVar1 + 1) & 2) != 0) || (lVar3 = FUN_7f028178(param_1,pfVar6), lVar3 == 0)) { - *(int *)(param_1 + 0x78) = DAT_800483ac; - FUN_7f02879c(param_1); - return; - } - fVar4 = pfVar6[10]; - } - loc_7F028884(param_1,(undefined *)(param_1 + 0x38),DAT_800309c4,pfVar6,(int)fVar4); - } - else { - lVar3 = loc_7F02FE64((float *)(param_1 + 0xbc),(float *)(iVar1 + 8),pfVar6,30.00000000); - if (lVar3 != 0) { - FUN_7f0287e4(param_1); - pfVar6 = (float *)FUN_7f02877c(param_1); - } - loc_7F032048(param_1,pfVar6,(longlong)(int)pfVar6[10],(char *)(param_1 + 0x38)); - } - return; -} - - - -void FUN_7f0329bc(int param_1) - -{ - char cVar1; - ushort uVar2; - char cVar3; - uint uVar4; - - if (DAT_800483a4 < 1) { - return; - } - if (*(char *)(param_1 + 7) == '\0') { - *(uint *)(param_1 + 0x14) = *(uint *)(param_1 + 0x14) | 1; - FUN_7f023d94(param_1,0.00000000); - *(undefined *)(param_1 + 8) = 0; - uVar2 = *(ushort *)(param_1 + 0x12); - } - else { - uVar2 = *(ushort *)(param_1 + 0x12); - } - cVar3 = (char)DAT_800483a4; - if ((uVar2 & 0x40) == 0) { - cVar1 = *(char *)(param_1 + 8); - } - else { - *(int *)(param_1 + 0x110) = *(int *)(param_1 + 0x110) + DAT_800483a4; - cVar3 = (char)DAT_800483a4; - cVar1 = *(char *)(param_1 + 8); - } - *(char *)(param_1 + 8) = cVar1 - cVar3; - if ((-1 < *(char *)(param_1 + 8)) && (-1 < *(int *)(param_1 + 0x14) << 0xd)) { - return; - } - *(undefined *)(param_1 + 8) = 0; - loc_7F03A204(param_1,3); - if (false) goto switchD_7f032a80_caseD_11; - switch(*(undefined *)(param_1 + 7)) { - case 1: - loc_7F02B4D0(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 2: - sub_7F02B4E0(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 3: - FUN_7f02b7f0(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 4: - FUN_7f02bcac(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 5: - FUN_7f02ba7c(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 6: - FUN_7f02bf88(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 7: - FUN_7f02c028(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 8: - FUN_7f02ef04(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 9: - FUN_7f02fb88(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 10: - FUN_7f02f1e0(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xb: - FUN_7f02c0ac(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xc: - FUN_7f02c108(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xd: - FUN_7f030178(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xe: - FUN_7f032848(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xf: - loc_7F032538(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x10: - loc_7F02B764(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x12: - FUN_7f02c22c(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x13: - FUN_7f02c1b0(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x14: - FUN_7f02f6f8(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x16: - FUN_7f02c160(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x17: - FUN_7f02f8a4(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x18: - FUN_7f02f988(); - default: -switchD_7f032a80_caseD_11: - uVar4 = *(uint *)(param_1 + 0x14); - } - *(uint *)(param_1 + 0x14) = uVar4 & 0xfffffffb; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfdfd; - *(undefined2 *)(param_1 + 0x118) = 0xffff; - *(undefined2 *)(param_1 + 0x11a) = 0xffff; - return; -} - - - -// WARNING: Instruction at (ram,0x7f032d0c) overlaps instruction at (ram,0x7f032d08) -// - -void FUN_7f032c1c(void) - -{ - uint uVar1; - int iVar2; - uint uVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - - uVar1 = FUN_7f01f6e0(); - iVar2 = 0; - iVar7 = 0; - if (0 < DAT_800309c0) { - do { - FUN_7f0329bc(iVar7 + DAT_800309bc); - iVar2 += 1; - iVar7 += 0x1dc; - } while (iVar2 < DAT_800309c0); - } - uVar3 = 0; - DAT_8002ce90 = 0; - if (0 < (int)uVar1) { - iVar2 = DAT_8002cca4; - if ((uVar1 & 3) == 0) { - iVar2 = 0; - } - else { - do { - uVar3 += 1; - if (((*(int *)(iVar2 + 0x1c) != 0) && (0 < *(int *)(iVar2 + 0xd4))) && - (DAT_800483ac - *(int *)(iVar2 + 0xd4) < 0x78)) { - DAT_8002ce90 += 1; - } - iVar2 = iVar2 + 0x1dc; - } while ((uVar1 & 3) != uVar3); - iVar2 = uVar3 * 0x10; - if (uVar3 == uVar1) { - return; - } - } - iVar8 = (iVar2 * 8 + uVar3 * -9) * 4; - iVar4 = iVar8 + DAT_8002cca4; - iVar5 = iVar4 + 0x594; - iVar2 = iVar4 + 0x1dc; - iVar7 = iVar4 + 0x3b8; - do { - iVar8 += 0x770; - if (*(int *)(iVar4 + 0x1c) == 0) { - iVar6 = *(int *)(iVar2 + 0x1c); - } - else { - if (*(int *)(iVar4 + 0xd4) < 1) { - iVar6 = *(int *)(iVar2 + 0x1c); - } - else { - if (DAT_800483ac - *(int *)(iVar4 + 0xd4) < 0x78) { - DAT_8002ce90 += 1; - iVar6 = *(int *)(iVar2 + 0x1c); - } - else { - iVar6 = *(int *)(iVar2 + 0x1c); - } - } - } - iVar4 += 0x770; - if (iVar6 == 0) { -LAB_7f032dd0: - iVar6 = *(int *)(iVar7 + 0x1c); - } - else { - if (*(int *)(iVar2 + 0xd4) < 1) { - iVar6 = *(int *)(iVar7 + 0x1c); - } - else { - if (DAT_800483ac - *(int *)(iVar2 + 0xd4) < 0x78) { - DAT_8002ce90 += 1; - goto LAB_7f032dd0; - } - iVar6 = *(int *)(iVar7 + 0x1c); - } - } - if (iVar6 == 0) { - iVar6 = *(int *)(iVar5 + 0x1c); - } - else { - if (*(int *)(iVar7 + 0xd4) < 1) { - iVar6 = *(int *)(iVar5 + 0x1c); - } - else { - if (DAT_800483ac - *(int *)(iVar7 + 0xd4) < 0x78) { - DAT_8002ce90 += 1; - iVar6 = *(int *)(iVar5 + 0x1c); - } - else { - iVar6 = *(int *)(iVar5 + 0x1c); - } - } - } - if (((iVar6 != 0) && (0 < *(int *)(iVar5 + 0xd4))) && - (DAT_800483ac - *(int *)(iVar5 + 0xd4) < 0x78)) { - DAT_8002ce90 += 1; - } - iVar5 += 0x770; - iVar2 = iVar2 + 0x770; - iVar7 = iVar7 + 0x770; - } while (iVar8 != uVar1 * 0x1dc); - } - return; -} - - - -undefined8 FUN_7f032e68(int param_1) - -{ - if ((0 < *(int *)(param_1 + 0xd4)) && (DAT_800483ac - *(int *)(param_1 + 0xd4) < 600)) { - return 1; - } - return 0; -} - - - -undefined8 FUN_7f032ea0(int param_1) - -{ - if ((0 < *(int *)(param_1 + 0xf0)) && (DAT_800483ac - *(int *)(param_1 + 0xf0) < 600)) { - return 1; - } - return 0; -} - - - -float FUN_7f032ed8(int iParm1,float *pfParm2,undefined4 uParm3,undefined4 uParm4) - -{ - float in_f0; - float fVar1; - float fVar2; - - FUN_7f06d270(*(int *)(iParm1 + 0x1c),(uint)pfParm2,uParm3,uParm4); - fVar1 = loc_7F05AB54(*pfParm2 - *(float *)(*(int *)(iParm1 + 0x18) + 8), - pfParm2[2] - *(float *)(*(int *)(iParm1 + 0x18) + 0x10)); - fVar2 = fVar1 - in_f0; - if (fVar1 < in_f0) { - fVar2 = fVar2 + DAT_80052100; - } - return fVar2; -} - - - -void FUN_7f032f4c(undefined4 param_1) - -{ - int iVar1; - - iVar1 = FUN_7f089e6c(); - FUN_7f032ed8(param_1,iVar1 + 8); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f032f78(short *param_1,ulonglong param_2,longlong param_3,undefined4 *param_4) - -{ - short *psVar1; - int iVar2; - short sVar4; - int iVar3; - - if ((param_2 & 4) == 0) { - if ((param_2 & 8) == 0) { - iVar3 = FUN_7f089e6c(); - iVar2 = iVar3 + 8; - *param_4 = *(undefined4 *)(iVar3 + 0x14); - } - else { - sVar4 = locret_7F032FA4((int)param_1,(short)param_3); - if (sVar4 < 10000) { - iVar2 = ((int)sVar4 * 0xc - (int)sVar4) * 4 + _DAT_80075d58; - } - else { - iVar2 = (int)sVar4 * 0x44 + _DAT_80075d5c + -680000; - } - *param_4 = *(undefined4 *)(iVar2 + 0x28); - } - } - else { - psVar1 = (short *)FUN_7f033340(param_1,param_3); - if ((psVar1 == NULL) || (*(int *)(psVar1 + 0xc) == 0)) { - iVar3 = *(int *)(param_1 + 0xc); - } - else { - iVar3 = *(int *)(param_1 + 0xc); - param_1 = psVar1; - } - *param_4 = *(undefined4 *)(iVar3 + 0x14); - iVar2 = *(int *)(param_1 + 0xc) + 8; - } - return iVar2; -} - - - -float FUN_7f033070(int param_1) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar3 = FUN_7f08a61c(); - iVar1 = *(int *)(param_1 + 0x18); - iVar2 = FUN_7f089e6c(); - fVar4 = loc_7F05AB54(*(float *)(iVar1 + 8) - *(float *)(iVar2 + 8), - *(float *)(iVar1 + 0x10) - *(float *)(iVar2 + 0x10)); - fVar5 = fVar4 - fVar3; - if (fVar4 < fVar3) { - fVar5 = fVar5 + DAT_80052104; - } - return fVar5; -} - - - -void FUN_7f0330e4(int param_1) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = *(int *)(param_1 + 0x18); - iVar2 = FUN_7f089e6c(); - fVar3 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar4 = *(float *)(iVar2 + 0xc) - *(float *)(iVar1 + 0xc); - fVar5 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - sqrtf(fVar3 * fVar3 + fVar4 * fVar4 + fVar5 * fVar5); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f033148(int param_1,short param_2) - -{ - int iVar1; - short sVar2; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar1 = *(int *)(param_1 + 0x18); - sVar2 = locret_7F032FA4(param_1,param_2); - if (sVar2 < 10000) { - pfVar3 = (float *)(((int)sVar2 * 0xc - (int)sVar2) * 4 + _DAT_80075d58); - } - else { - pfVar3 = (float *)((int)sVar2 * 0x44 + _DAT_80075d5c + -680000); - } - fVar4 = *pfVar3 - *(float *)(iVar1 + 8); - fVar5 = pfVar3[1] - *(float *)(iVar1 + 0xc); - fVar6 = pfVar3[2] - *(float *)(iVar1 + 0x10); - sqrtf(fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0331fc(int param_1,short param_2) - -{ - short sVar2; - ulonglong uVar1; - int iVar3; - - sVar2 = locret_7F032FA4(param_1,param_2); - if (sVar2 < 10000) { - iVar3 = (int)sVar2 * 0x2c + _DAT_80075d58; - } - else { - iVar3 = (int)sVar2 * 0x44 + _DAT_80075d5c + -680000; - } - uVar1 = 0; - if (*(int *)(iVar3 + 0x28) != 0) { - uVar1 = sub_7F0B2FD8(*(int *)(iVar3 + 0x28)); - uVar1 = FUN_7f0b6a00((int)uVar1); - } - return uVar1; -} - - - -short locret_7F032FA4(int param_1,short param_2) - -{ - if (param_2 == 9000) { - param_2 = *(short *)(param_1 + 0x114); - } - return param_2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong locret_7F033038(short *param_1,longlong param_2) - -{ - short *psVar1; - - if (param_2 == 0xfa) { - return (longlong)param_1[0x8c]; - } - if (param_2 == 0xfb) { - return (longlong)param_1[0x8d]; - } - if (param_2 == 0xfc) { - return (longlong)param_1[0x8b]; - } - if (param_2 != 0xfd) { - if (param_2 != 0xf9) { - if ((param_2 == 0xf8) && - (psVar1 = *(short **)(*(int *)(_DAT_8007a120 + 0xa8) + 4), psVar1 != NULL)) { - param_2 = (longlong)*psVar1; - } - return param_2; - } - return (longlong)((int)*param_1 + 10000); - } - return (longlong)*param_1; -} - - - -int FUN_7f033340(short *param_1,longlong param_2) - -{ - short sVar1; - longlong lVar2; - int iVar3; - int iVar4; - short *psVar5; - int iVar6; - - lVar2 = locret_7F033038(param_1,param_2); - iVar3 = FUN_7f0232b0((short)lVar2); - if ((iVar3 == 0) && (iVar4 = 0, 0 < DAT_800309c0)) { - iVar6 = 0; - psVar5 = DAT_800309bc; - do { - sVar1 = *psVar5; - iVar4 += 1; - psVar5 = psVar5 + 0xee; - if ((longlong)(int)lVar2 == (longlong)sVar1) { - return iVar6 + (int)DAT_800309bc; - } - iVar6 += 0x1dc; - } while (iVar4 < DAT_800309c0); - } - return iVar3; -} - - - -float FUN_7f0333c4(short *param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = *(int *)(param_1 + 0xc); - iVar2 = FUN_7f033340(param_1,param_2); - fVar3 = 0.00000000; - if (((iVar2 != 0) && (*(int *)(iVar2 + 0x1c) != 0)) && (*(int *)(iVar2 + 0x18) != 0)) { - iVar2 = *(int *)(iVar2 + 0x18); - fVar3 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar4 = *(float *)(iVar2 + 0xc) - *(float *)(iVar1 + 0xc); - fVar5 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - fVar3 = sqrtf(fVar3 * fVar3 + fVar4 * fVar4 + fVar5 * fVar5); - } - return fVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f033454(int param_1,short param_2) - -{ - int iVar1; - short sVar2; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar1 = FUN_7f089e6c(); - sVar2 = locret_7F032FA4(param_1,param_2); - if (sVar2 < 10000) { - pfVar3 = (float *)(((int)sVar2 * 0xc - (int)sVar2) * 4 + _DAT_80075d58); - } - else { - pfVar3 = (float *)((int)sVar2 * 0x44 + _DAT_80075d5c + -680000); - } - fVar4 = *pfVar3 - *(float *)(iVar1 + 8); - fVar5 = pfVar3[1] - *(float *)(iVar1 + 0xc); - fVar6 = pfVar3[2] - *(float *)(iVar1 + 0x10); - sqrtf(fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6); - return; -} - - - -void sub_7F033218(int param_1,byte param_2) - -{ - *(byte *)(param_1 + 0x10e) = *(byte *)(param_1 + 0x10e) | param_2; - return; -} - - - -void sub_7F03322C(int param_1,byte param_2) - -{ - *(byte *)(param_1 + 0x10e) = *(byte *)(param_1 + 0x10e) & ~param_2; - return; -} - - - -ulonglong sub_7F033244(int param_1,byte param_2) - -{ - return (ulonglong)((*(byte *)(param_1 + 0x10e) & param_2) != 0); -} - - - -void FUN_7f033560(short *param_1,longlong param_2,byte param_3) - -{ - int iVar1; - - iVar1 = FUN_7f033340(param_1,param_2); - if (iVar1 != 0) { - sub_7F033218(iVar1,param_3); - } - return; -} - - - -void FUN_7f033590(short *param_1,longlong param_2,byte param_3) - -{ - int iVar1; - - iVar1 = FUN_7f033340(param_1,param_2); - if (iVar1 != 0) { - sub_7F03322C(iVar1,param_3); - } - return; -} - - - -ulonglong FUN_7f0335c0(short *param_1,longlong param_2,byte param_3) - -{ - int iVar2; - ulonglong uVar1; - - iVar2 = FUN_7f033340(param_1,param_2); - if (iVar2 == 0) { - uVar1 = 0; - } - else { - uVar1 = sub_7F033244(iVar2,param_3); - } - return uVar1; -} - - - -void FUN_7f0335fc(undefined8 param_1,uint param_2) - -{ - DAT_800309b8 = DAT_800309b8 | param_2; - return; -} - - - -void FUN_7f033618(undefined8 param_1,uint param_2) - -{ - DAT_800309b8 = ~param_2 & DAT_800309b8; - return; -} - - - -ulonglong FUN_7f033638(undefined8 param_1,uint param_2) - -{ - return (ulonglong)((DAT_800309b8 & param_2) != 0); -} - - - -ulonglong check_if_actor_02_flag_set(int param_1) - -{ - return (ulonglong)((*(ushort *)(param_1 + 0x12) & 2) != 0); -} - - - -ulonglong FUN_7f033664(int param_1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - loc_7F0247A8(param_1); - } - return (ulonglong)(lVar1 != 0); -} - - - -undefined8 FUN_7f0336a0(int param_1) - -{ - FUN_7f024ac0(param_1); - return 1; -} - - - -void reset_and_start_loop_counter(int param_1) - -{ - *(undefined4 *)(param_1 + 0x110) = 0; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x40; - return; -} - - - -float get_loop_counter_time_in_seconds(int param_1) - -{ - return (float)*(int *)(param_1 + 0x110) / 60.00000000; -} - - - -ulonglong FUN_7f0336f8(int param_1) - -{ - undefined8 uVar1; - int iVar3; - float *pfVar4; - ulonglong uVar2; - uint uVar5; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float fVar6; - float afStack40 [3]; - float afStack28 [3]; - float afStack16 [3]; - int iStack4; - - iVar3 = FUN_7f029a68(param_1); - if (iVar3 == 0) { - uVar5 = 0; - } - else { - iStack4 = *(int *)(param_1 + 0x1c); - fVar6 = FUN_7f06d5fc(iStack4,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar6 = fVar6 * DAT_80052108; - FUN_7f068768(afStack16,afStack28); - FUN_7f06d188(iStack4,afStack40,extraout_a2_lo_00,extraout_a3_lo_00); - pfVar4 = (float *)FUN_7f0789b4(); - uVar2 = FUN_7f058994(pfVar4,afStack40); - uVar1 = locret_7F041158(afStack16,afStack28,afStack40,fVar6); - if ((uVar2 & 0xffffffff00000000 | - (ulonglong)((uint)uVar2 & 0xffffff00 | (uint)(byte)((ulonglong)uVar1 >> 0x38))) == 0) { - uVar5 = 0; - } - else { - uVar5 = 1; - } - } - return (ulonglong)uVar5; -} - - - -ulonglong check_if_actor_invisible(int param_1) - -{ - return (ulonglong)((*(uint *)(param_1 + 0x14) & 4) != 0); -} - - - -undefined8 FUN_7f0337a0(int param_1,char param_2) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if (DAT_8002ce90 < 10) { - iVar3 = FUN_7f089e6c(); - lVar1 = loc_7F028F98(param_1,(float *)(iVar3 + 8),*(undefined4 *)(iVar3 + 0x14),param_2); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -undefined8 FUN_7f03380c(short *param_1,int param_2,char param_3) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = locret_7F02A29C((int)param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if (DAT_8002ce90 < 10) { - iVar3 = FUN_7f033340(param_1,(longlong)param_2); - if (iVar3 == 0) { - uVar2 = 0; - } - else { - if (*(int *)(iVar3 + 0x1c) == 0) { - uVar2 = 0; - } - else { - if (*(int *)(iVar3 + 0x18) == 0) { - uVar2 = 0; - } - else { - lVar1 = loc_7F028F98((int)param_1,(float *)(*(int *)(iVar3 + 0x18) + 8), - *(undefined4 *)(*(int *)(iVar3 + 0x18) + 0x14),param_3); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - } - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -undefined get_times_actor_shot(int param_1) - -{ - return *(undefined *)(param_1 + 0xb); -} - - - -undefined get_num_shots_near_actor(int param_1) - -{ - return *(undefined *)(param_1 + 10); -} - - - -ulonglong check_if_actor_FA_target_set(int param_1) - -{ - return (ulonglong)(*(short *)(param_1 + 0x118) < 0) ^ 1; -} - - - -ulonglong check_if_actor_FB_target_set(int param_1) - -{ - return (ulonglong)(*(short *)(param_1 + 0x11a) < 0) ^ 1; -} - - - -ulonglong FUN_7f0338d4(int param_1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - FUN_7f024150(param_1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f033910(int param_1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - FUN_7f024720(param_1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f03394c(int param_1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - FUN_7f0247b4(param_1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f033988(int param_1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - FUN_7f024850(param_1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f0339c4(int param_1) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - FUN_7f02417c(param_1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong FUN_7f033a00(int param_1,int param_2,int param_3,int param_4,byte param_5,int param_6) - -{ - longlong lVar1; - - lVar1 = locret_7F02A29C(param_1); - if (lVar1 != 0) { - loc_7F02413C(param_1,param_2,param_3,param_4,param_5,param_6); - } - return (ulonglong)(lVar1 != 0); -} - - - -void FUN_7f033a60(void) - -{ - FUN_7f05634c(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f033a80(int *param_1,float *param_2,float param_3) - -{ - float *pfVar1; - undefined uVar2; - undefined7 in_register_00000018; - float fVar3; - float fVar4; - - pfVar1 = (float *)(*param_1 * 0x2c + _DAT_80075d58); - fVar3 = loc_7F05AB54(*pfVar1 - *param_2,pfVar1[2] - param_2[2]); - fVar4 = param_3 - fVar3; - if (param_3 < fVar3) { - fVar4 = fVar4 + DAT_8005210c; - } - if ((fVar4 < DAT_80052110) || (uVar2 = 0, DAT_80052114 < fVar4)) { - uVar2 = 1; - } - return CONCAT17(uVar2,in_register_00000018); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F033974(float *param_1,undefined4 param_2,float param_3,char param_4) - -{ - undefined8 uVar1; - int iVar2; - int *piVar3; - uint uVar4; - undefined uVar5; - undefined7 in_register_00000018; - int iVar6; - int iVar7; - - piVar3 = loc_7F027D8C(param_1,param_2); - iVar2 = (int)piVar3 >> 0x1f; - if (piVar3 != NULL) { - if (param_4 == '\x01') { - param_3 = param_3 + DAT_80052118; - } - else { - if (param_4 == '\x02') { - param_3 = param_3 + DAT_8005211c; - } - else { - if (param_4 == '\x04') { - param_3 = param_3 + DAT_80052120; - } - } - } - if (DAT_80052124 <= param_3) { - param_3 = param_3 - DAT_80052124; - } - uVar4 = piVar3; - uVar1 = FUN_7f033a80(piVar3,param_1,param_3); - uVar4 = (uint)uVar4 & 0xffffff00 | (uint)(byte)((ulonglong)uVar1 >> 0x38); - in_register_00000018 = (undefined7)uVar1; - if (CONCAT44(iVar2,uVar4) != 0) { - uVar5 = (undefined)*piVar3; - goto LAB_7f033c74; - } - iVar7 = *(int *)piVar3[1]; - iVar6 = 0; - if (iVar7 < 0) { - uVar5 = 0xff; - goto LAB_7f033c74; - } - do { - uVar1 = FUN_7f033a80((int *)(iVar7 * 0x10 + _DAT_80075d40),param_1,param_3); - uVar4 = uVar4 & 0xffffff00 | (uint)(byte)((ulonglong)uVar1 >> 0x38); - in_register_00000018 = (undefined7)uVar1; - if (CONCAT44(iVar2,uVar4) != 0) { - uVar5 = (undefined)*(undefined4 *)(_DAT_80075d40 + iVar7 * 0x10); - goto LAB_7f033c74; - } - iVar6 += 1; - iVar7 = *(int *)(piVar3[1] + iVar6 * 4); - } while (-1 < iVar7); - } - uVar5 = 0xff; -LAB_7f033c74: - return CONCAT17(uVar5,in_register_00000018); -} - - - -ulonglong loc_7F033A98(int iParm1,ulonglong uParm2,undefined8 uParm3,undefined4 uParm4) - -{ - longlong lVar1; - uint uVar2; - int *piVar3; - undefined8 uVar4; - int iVar5; - undefined2 uVar6; - undefined uVar7; - byte bVar8; - undefined uVar9; - int iVar10; - ulonglong uVar11; - float in_f0; - int iStack28; - undefined4 *puStack24; - uint uStack8; - - uVar11 = uParm2 & 0xff; - if ((uVar11 != 0x10) && (uVar11 != 0x20)) { - FUN_7f06d270(*(int *)(iParm1 + 0x1c),(uint)uParm2,(int)uVar11,uParm4); - uVar2 = *(uint *)(iParm1 + 0x18); - lVar1 = (longlong)(int)uVar2; - iVar5 = (int)uVar2 >> 0x1f; - uVar6 = (undefined2)((ulonglong)lVar1 >> 0x10); - uVar7 = (undefined)((ulonglong)lVar1 >> 8); - uVar4 = loc_7F033974((float *)((uVar2 & 0xff | (uint)(uint3)((ulonglong)lVar1 >> 8) << 8) + 8), - *(undefined4 *) - ((int)CONCAT71(CONCAT61(CONCAT42(iVar5,uVar6),uVar7),(char)uVar2) + 0x14), - in_f0,(char)uVar11); - uVar9 = (undefined)((ulonglong)uVar4 >> 0x38); - if (CONCAT71(CONCAT61(CONCAT42(iVar5,uVar6),uVar7),uVar9) < 0) { - bVar8 = 0; - } - else { - *(undefined2 *)(iParm1 + 0x114) = CONCAT11(uVar7,uVar9); - bVar8 = 1; - } - goto LAB_7f033d98; - } - iVar5 = *(int *)(iParm1 + 0x18); - uVar2 = FUN_7f089e6c(); - uStack8 = uVar2 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar2 >> 8) << 8; - piVar3 = loc_7F027D8C((float *)(iVar5 + 8),*(undefined4 *)(iVar5 + 0x14)); - lVar1 = CONCAT71(CONCAT61(CONCAT42((int)piVar3 >> 0x1f, - (short)((ulonglong)(longlong)(int)piVar3 >> 0x10)), - (char)((ulonglong)(longlong)(int)piVar3 >> 8)),(char)piVar3); - piVar3 = loc_7F027D8C((float *)(uStack8 + 8),*(undefined4 *)(uStack8 + 0x14)); - uVar6 = (undefined2)((ulonglong)(longlong)(int)piVar3 >> 0x10); - uVar7 = (undefined)((ulonglong)(longlong)(int)piVar3 >> 8); - if ((lVar1 != 0) && - (CONCAT71(CONCAT61(CONCAT42((int)piVar3 >> 0x1f,uVar6),uVar7),(char)piVar3) != 0)) { - iVar10 = (int)CONCAT71(CONCAT61(CONCAT42((int)piVar3 >> 0x1f,uVar6),uVar7),(char)piVar3); - iVar5 = (int)lVar1; - if ((int)uVar11 != 0x10) { - iVar5 = FUN_7f090670(iVar5,iVar10); - uVar6 = (undefined2)((ulonglong)(longlong)iVar5 >> 0x10); - uVar7 = (undefined)((ulonglong)(longlong)iVar5 >> 8); - if (CONCAT71(CONCAT61(CONCAT42(iVar5 >> 0x1f,uVar6),uVar7),(char)iVar5) == 0) { - bVar8 = 0; - } - else { - bVar8 = 1; - *(undefined2 *)(iParm1 + 0x114) = - (short)*(undefined4 *) - CONCAT71(CONCAT61(CONCAT42(iVar5 >> 0x1f,uVar6),uVar7),(char)iVar5); - } - goto LAB_7f033d98; - } - iVar5 = FUN_7f08ffd0(iVar5,iVar10,&iStack28,3); - if (2 < CONCAT71(CONCAT61(CONCAT42(iVar5 >> 0x1f,(short)((ulonglong)(longlong)iVar5 >> 0x10)), - (char)((ulonglong)(longlong)iVar5 >> 8)),(char)iVar5)) { - bVar8 = 1; - *(undefined2 *)(iParm1 + 0x114) = (short)*puStack24; - goto LAB_7f033d98; - } - } - bVar8 = 0; -LAB_7f033d98: - return (ulonglong)bVar8; -} - - - -undefined8 loc_7F033B2C(int param_1,ulonglong param_2) - -{ - longlong lVar1; - uint uVar2; - undefined8 uVar3; - undefined4 extraout_v0_hi; - int iVar4; - undefined4 uVar5; - undefined2 extraout_var; - undefined2 uVar6; - undefined extraout_var_00; - undefined uVar7; - bool extraout_v0_lo; - undefined uVar8; - bool bVar9; - float fVar10; - - param_2 &= 0xff; - if ((param_2 == 0x10) || ((short)param_2 == 0x20)) { - loc_7F033A98(param_1,param_2); - uVar5 = extraout_v0_hi; - uVar6 = extraout_var; - uVar7 = extraout_var_00; - bVar9 = extraout_v0_lo; - } - else { - fVar10 = FUN_7f08a61c(); - uVar2 = FUN_7f089e6c(); - lVar1 = (longlong)(int)uVar2; - iVar4 = (int)uVar2 >> 0x1f; - uVar6 = (undefined2)((ulonglong)lVar1 >> 0x10); - uVar7 = (undefined)((ulonglong)lVar1 >> 8); - uVar3 = loc_7F033974((float *)((uVar2 & 0xff | (uint)(uint3)((ulonglong)lVar1 >> 8) << 8) + 8), - *(undefined4 *) - ((int)CONCAT71(CONCAT61(CONCAT42(iVar4,uVar6),uVar7),(char)uVar2) + 0x14), - fVar10,(char)param_2); - uVar8 = (undefined)((ulonglong)uVar3 >> 0x38); - bVar9 = -1 < CONCAT71(CONCAT61(CONCAT42(iVar4,uVar6),uVar7),uVar8); - if (bVar9) { - *(undefined2 *)(param_1 + 0x114) = CONCAT11(uVar7,uVar8); - } - uVar7 = 0; - uVar6 = 0; - uVar5 = 0; - } - return CONCAT71(CONCAT61(CONCAT42(uVar5,uVar6),uVar7),bVar9); -} - - - -undefined8 loc_7F033CB4(undefined2 *param_1,float param_2) - -{ - longlong lVar1; - int iVar2; - undefined uVar3; - int iVar4; - int iVar5; - ulonglong uVar6; - undefined2 uVar7; - undefined2 *puVar8; - int iVar9; - int iVar10; - ulonglong uVar11; - float fVar12; - float fVar13; - float fVar14; - - iVar2 = FUN_7f01f6e0(); - iVar5 = *(int *)(param_1 + 0xc); - iVar4 = iVar5 >> 0x1f; - fVar12 = *(float *)(iVar5 + 8); - fVar13 = *(float *)(iVar5 + 0xc); - fVar14 = *(float *)(iVar5 + 0x10); - iVar9 = 0; - uVar11 = (ulonglong)*(byte *)(*(int *)(iVar5 + 0x14) + 3); - if (0 < iVar2) { - iVar10 = 0; - do { - puVar8 = (undefined2 *)(iVar10 + DAT_8002cca4); - if (((puVar8 != param_1) && (*(int *)(puVar8 + 0xe) != 0)) && - (uVar6 = locret_7F02A2C0((int)puVar8), uVar6 == 0)) { - iVar5 = *(int *)(puVar8 + 0xc); - iVar4 = iVar5 >> 0x1f; - if ((((fVar12 - param_2 <= *(float *)(iVar5 + 8)) && - (*(float *)(iVar5 + 8) <= fVar12 + param_2)) && - ((fVar13 - param_2 <= *(float *)(iVar5 + 0xc) && - ((*(float *)(iVar5 + 0xc) <= fVar13 + param_2 && - (fVar14 - param_2 <= *(float *)(iVar5 + 0x10))))))) && - (*(float *)(iVar5 + 0x10) <= fVar14 + param_2)) { - uVar6 = (ulonglong)*(byte *)(*(int *)(iVar5 + 0x14) + 3); - if (uVar11 == uVar6) { - uVar7 = *puVar8; - } - else { - lVar1 = FUN_7f0b9b80(uVar11,uVar6); - if (lVar1 == 0) goto LAB_7f033fa4; - uVar7 = *puVar8; - } - uVar3 = 1; - param_1[0x8b] = uVar7; - goto LAB_7f033fb4; - } - } -LAB_7f033fa4: - iVar9 += 1; - iVar10 += 0x1dc; - } while (iVar9 < iVar2); - } - uVar3 = 0; -LAB_7f033fb4: - return CONCAT53(CONCAT14(uVar3,iVar4),(int3)((uint)iVar5 >> 8)); -} - - - -void FUN_7f033ff4(short *param_1,longlong param_2) - -{ - longlong lVar1; - - lVar1 = locret_7F033038(param_1,param_2); - param_1[0x8b] = (short)lVar1; - return; -} - - - -void FUN_7f03401c(short *param_1,longlong param_2,int param_3) - -{ - int iVar2; - longlong lVar1; - - iVar2 = FUN_7f033340(param_1,param_2); - if (iVar2 != 0) { - lVar1 = locret_7F033038(param_1,(longlong)param_3); - *(undefined2 *)(iVar2 + 0x116) = (short)lVar1; - } - return; -} - - - -void FUN_7f03405c(int param_1,short param_2) - -{ - short sVar1; - - sVar1 = locret_7F032FA4(param_1,param_2); - *(short *)(param_1 + 0x114) = sVar1; - return; -} - - - -void FUN_7f034084(short *param_1,longlong param_2,short param_3) - -{ - int iVar1; - short sVar2; - - iVar1 = FUN_7f033340(param_1,param_2); - if (iVar1 != 0) { - sVar2 = locret_7F032FA4((int)param_1,param_3); - *(short *)(iVar1 + 0x114) = sVar2; - } - return; -} - - - -undefined8 FUN_7f0340c4(int param_1) - -{ - int iVar1; - int iVar4; - longlong lVar2; - undefined8 uVar3; - float afStack36 [3]; - float afStack24 [3]; - int aiStack12 [3]; - - iVar4 = FUN_7f089e6c(); - iVar1 = *(int *)(param_1 + 0x18); - aiStack12[0] = *(int *)(iVar1 + 0x14); - FUN_7f0b2874(); - lVar2 = sub_7F0B0BE4(aiStack12,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10), - *(float *)(iVar4 + 8),*(float *)(iVar4 + 0x10)); - if (lVar2 == 0) { - FUN_7f0b3460(afStack24,afStack36); - lVar2 = FUN_7f0307ac(param_1,(float *)(iVar1 + 8),*(int *)(iVar1 + 0x14),afStack24,iVar4 + 8, - *(undefined4 *)(iVar4 + 0x14),0); - if ((lVar2 == 0) && - (lVar2 = FUN_7f0307ac(param_1,(float *)(iVar1 + 8),*(int *)(iVar1 + 0x14),afStack36,iVar4 + 8 - ,*(undefined4 *)(iVar4 + 0x14),0), lVar2 == 0)) { - return 0; - } - uVar3 = 1; - } - else { - uVar3 = 0; - } - return uVar3; -} - - - -undefined8 FUN_7f0341ac(float *param_1,int param_2) - -{ - ulonglong uVar1; - longlong lVar2; - undefined8 uVar3; - undefined7 uVar4; - float afStack20 [4]; - uint uStack4; - - uStack4 = 1; - uVar1 = sub_7F0B2FD8(param_2); - uVar1 = FUN_7f0b6a00((int)uVar1); - uVar4 = (undefined7)(uVar1 >> 8); - if ((uVar1 != 0) && - (uVar3 = FUN_7f0bbe78(param_1,0.00000000), - CONCAT71(uVar4,(char)((ulonglong)uVar3 >> 0x38)) != 0)) { - uVar1 = sub_7F0B2FD8(param_2); - lVar2 = FUN_7f0b47bc((int)uVar1,(int *)afStack20); - uVar4 = (undefined7)((ulonglong)lVar2 >> 8); - if (lVar2 == 0) { - uVar3 = FUN_7f079048(param_1,200.00000000); - uStack4 = (uint)(CONCAT71(uVar4,(char)((ulonglong)uVar3 >> 0x38)) == 0); - } - else { - uVar3 = FUN_7f0791e4(param_1,200.00000000,afStack20); - uStack4 = (uint)(CONCAT71(uVar4,(char)((ulonglong)uVar3 >> 0x38)) == 0); - } - } - return CONCAT71((int7)(int3)(uStack4 >> 8),(char)uStack4); -} - - - -void loc_7F03411C(float *param_1,int *param_2,float param_3,longlong param_4) - -{ - longlong lVar1; - float fVar2; - float fVar3; - undefined7 extraout_var; - undefined7 uVar4; - undefined7 extraout_var_00; - undefined uVar5; - undefined4 in_register_00000017; - undefined4 uVar6; - int iVar7; - float fVar8; - int iStack16; - float fStack12; - float fStack8; - float fStack4; - - uVar5 = (undefined)((uint)in_register_00000017 >> 0x18); - iStack16 = *param_2; - loc_7F0B1C80(&iStack16,*param_1,param_1[2],0x41a00000,0x1f,0,0x3f800000); - uVar4 = extraout_var; - if (CONCAT71(extraout_var,uVar5) < 0) { - if (param_4 != 0) { - return; - } - lVar1 = FUN_7f0341ac(param_1,*param_2); - uVar4 = (undefined7)((ulonglong)lVar1 >> 8); - if (lVar1 != 0) { - return; - } - } - fVar3 = DAT_8005212c; - fVar2 = DAT_80052128; - iVar7 = 0; - do { - fVar8 = func_7F057FC4(param_3); - fStack12 = fVar8 * 60.00000000 + *param_1; - fStack8 = param_1[1]; - fVar8 = FUN_7f0583c0(param_3); - fStack4 = fVar8 * 60.00000000 + param_1[2]; - iStack16 = *param_2; - uVar6 = loc_7F0B13B4(&iStack16,*param_1,param_1[2],fStack12,fStack4,0x13,0.00000000,1.00000000, - 0.00000000,1.00000000); - uVar5 = (undefined)((uint)uVar6 >> 0x18); - if ((CONCAT71(uVar4,uVar5) != 0) && - (loc_7F0B1C80(&iStack16,fStack12,fStack4,0x41a00000,0x1f,0,0x3f800000), - uVar4 = extraout_var_00, CONCAT71(extraout_var_00,uVar5) < 0)) { - if (param_4 != 0) { -LAB_7f0343d8: - *param_2 = iStack16; - *param_1 = fStack12; - param_1[2] = fStack4; - return; - } - lVar1 = FUN_7f0341ac(&fStack12,iStack16); - uVar4 = (undefined7)((ulonglong)lVar1 >> 8); - if (lVar1 != 0) goto LAB_7f0343d8; - } - param_3 = param_3 + fVar2; - iVar7 += 1; - if (fVar3 <= param_3) { - param_3 = param_3 - fVar3; - } - if (iVar7 == 8) { - return; - } - } while( true ); -} - - - -undefined8 -FUN_7f03445c(int param_1,int param_2,undefined4 param_3,int param_4,float param_5,undefined4 param_6 - ,uint param_7) - -{ - longlong lVar1; - int3 iVar2; - int iVar3; - undefined2 *puVar4; - int7 iVar5; - undefined uVar6; - undefined uVar7; - int iStackX4; - int aiStack24 [2]; - float fStack16; - undefined4 uStack12; - undefined4 uStack8; - uint uStack4; - - iVar3 = FUN_7f020170(); - iVar2 = (int3)((uint)param_3 >> 8); - iVar5 = (int7)iVar2; - uVar6 = (undefined)param_3; - if (2 < iVar3) { - if (param_2 < 0) { - iStackX4 = FUN_7f0238ac(param_1); - fStack16 = *(float *)CONCAT71((int7)iVar2,uVar6); - } - else { - fStack16 = *(float *)CONCAT71(iVar5,uVar6); - iStackX4 = param_2; - } - iVar5 = (int7)iVar2; - uStack12 = *(undefined4 *)((int)CONCAT71(iVar5,uVar6) + 4); - uStack8 = *(undefined4 *)((int)CONCAT71(iVar5,uVar6) + 8); - aiStack24[0] = param_4; - lVar1 = loc_7F03411C(&fStack16,aiStack24,param_5,(ulonglong)((param_7 & 0x10) != 0)); - if (lVar1 != 0) { - puVar4 = (undefined2 *)FUN_7f0237d0(param_1,iStackX4,(longlong)(int)param_7); - iVar3 = (int)puVar4 >> 0x1f; - if (puVar4 != NULL) { - lVar1 = FUN_7f020568(puVar4,&fStack16,param_5,aiStack24[0],param_6); - uStack4 = (uint)puVar4 & 0xffffff00 | (uint)(byte)((ulonglong)lVar1 >> 0x38); - iVar5 = (int7)lVar1; - if (CONCAT44(iVar3,uStack4) != 0) { - FUN_7f03a7f0(uStack4); - set_stateflag_0x04_for_posdata(uStack4); - uVar6 = (undefined)uStack4; - iVar5 = (int7)(int3)((uint)*(undefined4 *)(uStack4 + 4) >> 8); - uVar7 = (undefined)*(undefined4 *)(uStack4 + 4); - *(undefined *)((int)CONCAT71(iVar5,uVar7) + 6) = (char)iStackX4; - *(undefined *)((int)CONCAT71(iVar5,uVar7) + 0xf) = (char)param_1; - goto LAB_7f034548; - } - } - } - } - uVar6 = 0; -LAB_7f034548: - return CONCAT17(uVar6,iVar5); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined FUN_7f034558(int param_1,int param_2,int param_3,short param_4,undefined4 param_5, - uint param_6) - -{ - short sVar1; - undefined8 uVar2; - short sVar3; - undefined uVar4; - undefined uVar5; - int iVar6; - float fVar7; - - sVar1 = locret_7F032FA4(param_1,param_4); - sVar3 = sVar1 >> 0xf; - uVar4 = (undefined)((ulonglong)(longlong)sVar1 >> 8); - uVar5 = (undefined)sVar1; - if (CONCAT71(CONCAT61(CONCAT42((undefined4)(sVar1 >> 0xf),sVar3),uVar4),uVar5) < 10000) { - iVar6 = ((CONCAT31(CONCAT21(sVar3,uVar4),uVar5) * 4 - CONCAT31(CONCAT21(sVar3,uVar4),uVar5)) * 4 - - CONCAT31(CONCAT21(sVar3,uVar4),uVar5)) * 4 + _DAT_80075d58; - } - else { - iVar6 = (CONCAT31(CONCAT21(sVar3,uVar4),uVar5) * 0x10 + CONCAT31(CONCAT21(sVar3,uVar4),uVar5)) * - 4 + _DAT_80075d5c + -680000; - } - fVar7 = loc_7F05AB54(*(float *)(iVar6 + 0x18),*(float *)(iVar6 + 0x20)); - uVar2 = FUN_7f03445c(param_2,param_3,iVar6,*(int *)(iVar6 + 0x28),fVar7,param_5,param_6); - return (char)((ulonglong)uVar2 >> 0x38); -} - - - -uint FUN_7f034608(short *psParm1,int iParm2,int iParm3,longlong lParm4,undefined4 uParm5,uint uParm6 - ) - -{ - undefined8 uVar1; - int iVar2; - uint uVar3; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - - iVar2 = FUN_7f033340(psParm1,lParm4); - if ((*(uint *)(iVar2 + 0x14) & 8) == 0) { - FUN_7f06d270(*(int *)(iVar2 + 0x1c),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - uVar3 = *(uint *)((int)CONCAT71((int7)(int3)((uint)iVar2 >> 8),(char)iVar2) + 0x18); - uVar1 = FUN_7f03445c(iParm2,iParm3,uVar3 + 8,*(int *)(uVar3 + 0x14),in_f0,uParm5,uParm6); - uVar3 = uVar3 & 0xffffff00 | (uint)(byte)((ulonglong)uVar1 >> 0x38); - } - else { - uVar3 = 0; - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f034688(short *param_1,longlong param_2,short param_3) - -{ - int iVar2; - short sVar3; - undefined8 uVar1; - int iVar4; - - iVar2 = FUN_7f033340(param_1,param_2); - sVar3 = locret_7F032FA4((int)param_1,param_3); - if (sVar3 < 10000) { - iVar4 = ((int)sVar3 * 0xc - (int)sVar3) * 4 + _DAT_80075d58; - } - else { - iVar4 = (int)sVar3 * 0x44 + _DAT_80075d5c + -680000; - } - if (*(int *)(iVar4 + 0x28) == 0) { - uVar1 = 0; - } - else { - if (iVar2 == 0) { - uVar1 = 0; - } - else { - if (*(int *)(iVar2 + 0x18) == 0) { - uVar1 = 0; - } - else { - if (*(char *)(*(int *)(*(int *)(iVar2 + 0x18) + 0x14) + 3) == - *(char *)(*(int *)(iVar4 + 0x28) + 3)) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f03474c(int param_1,short param_2) - -{ - int iVar2; - short sVar3; - undefined8 uVar1; - int iVar4; - - iVar2 = FUN_7f089e6c(); - sVar3 = locret_7F032FA4(param_1,param_2); - if (sVar3 < 10000) { - iVar4 = ((int)sVar3 * 0xc - (int)sVar3) * 4 + _DAT_80075d58; - } - else { - iVar4 = (int)sVar3 * 0x44 + _DAT_80075d5c + -680000; - } - if (*(int *)(iVar4 + 0x28) == 0) { - uVar1 = 0; - } - else { - if (*(char *)(*(int *)(iVar2 + 0x14) + 3) == *(char *)(*(int *)(iVar4 + 0x28) + 3)) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -undefined8 FUN_7f0347fc(void) - -{ - return 0; -} - - - -undefined8 FUN_7f034808(void) - -{ - return 0; -} - - - -undefined8 FUN_7f034814(int param_1,short param_2) - -{ - short sVar5; - longlong lVar1; - undefined8 uVar2; - int iVar4; - ulonglong uVar3; - - sVar5 = locret_7F032FA4(param_1,param_2); - lVar1 = locret_7F02A29C(param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - iVar4 = FUN_7f03fd44(sVar5); - if (iVar4 == 0) { - uVar2 = 0; - } - else { - uVar3 = FUN_7f04f338(iVar4); - if (uVar3 == 0) { - uVar2 = 0; - } - else { - FUN_7f024458(param_1); - uVar2 = 1; - } - } - } - return uVar2; -} - - - -undefined8 FUN_7f03487c(undefined2 *param_1) - -{ - uint uVar2; - longlong lVar1; - int iVar3; - int iVar4; - undefined *puVar5; - longlong lVar6; - float fVar7; - - uVar2 = FUN_7000a460(); - if ((((ulonglong)(longlong)(int)(uVar2 % 0xff) < (ulonglong)*(byte *)(param_1 + 8)) && - (fVar7 = (float)FUN_7f0330e4((int)param_1), 10.00000000 <= fVar7)) && - (lVar1 = locret_7F02A29C((int)param_1), lVar1 != 0)) { - iVar3 = something_with_weaponpos_of_guarddata_hand((int)param_1,1); - iVar4 = something_with_weaponpos_of_guarddata_hand((int)param_1,0); - lVar1 = (longlong)iVar4; - lVar6 = (longlong)iVar3; - if ((lVar1 != 0) && (*(char *)(*(int *)(iVar4 + 4) + 0x80) == '\x1a')) { - FUN_7f024540((int)param_1,lVar1,0,0); - return 1; - } - if ((lVar6 != 0) && (*(char *)(*(int *)(iVar3 + 4) + 0x80) == '\x1a')) { - FUN_7f024540((int)param_1,lVar6,1,0); - return 1; - } - if ((lVar6 != 0) && (lVar1 != 0)) { - return 0; - } - uVar2 = 0; - if (lVar1 != 0) { - uVar2 = 0x10000000; - } - puVar5 = FUN_7f0528d0(param_1,0xc4,0x1a,uVar2); - if ((longlong)(int)puVar5 != 0) { - *(uint *)(*(int *)(puVar5 + 4) + 100) = *(uint *)(*(int *)(puVar5 + 4) + 100) | 0x800; - FUN_7f024540((int)param_1,(longlong)(int)puVar5,(uint)(iVar4 != 0),1); - return 1; - } - } - return 0; -} - - - -undefined8 FUN_7f0349fc(int param_1,int param_2,undefined param_3) - -{ - undefined4 *puVar2; - undefined8 uVar1; - - puVar2 = FUN_7f052568(param_2,param_3); - if (puVar2 == NULL) { - uVar1 = 0; - } - else { - if (puVar2[4] == 0) { - uVar1 = 0; - } - else { - set_obj_instance_controller_scale(puVar2[5],*(undefined4 *)(puVar2[5] + 0x14)); - loc_7F03A5C0(puVar2[4],*(int *)(param_1 + 0x18)); - *(undefined2 *)((int)puVar2 + 0x82) = 0xb4; - FUN_7f04c3d4(puVar2[4],1); - uVar1 = 1; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 1; - } - } - return uVar1; -} - - - -void FUN_7f034aa0(int param_1) - -{ - int iVar1; - ulonglong uVar2; - undefined4 uVar3; - int iVar4; - int iVar5; - - param_1 *= 0x18; - iVar4 = *(int *)(&DAT_80069bb0 + param_1); - if (iVar4 == 0) { - *(undefined4 *)(&DAT_80069bb4 + param_1) = 0; - return; - } - uVar2 = locret_70008E00(iVar4); - if (uVar2 == 0) { - *(undefined4 *)(&DAT_80069bb4 + param_1) = 0; - return; - } - if (*(float **)(&DAT_80069bc0 + param_1) == NULL) { - iVar4 = *(int *)(&DAT_80069bc4 + param_1); - if (iVar4 == 0) { - iVar4 = *(int *)(&DAT_80069bb8 + param_1); - goto LAB_7f034b24; - } - if (*(int *)(iVar4 + 0x10) == 0) { - iVar4 = *(int *)(&DAT_80069bb8 + param_1); - goto LAB_7f034b24; - } - uVar3 = FUN_7f053ee0((float *)(iVar4 + 0x58)); - *(undefined4 *)(param_1 + -0x7ff96444) = uVar3; - } - else { - uVar3 = FUN_7f053ee0(*(float **)(&DAT_80069bc0 + param_1)); - *(undefined4 *)(param_1 + -0x7ff96444) = uVar3; - } - iVar4 = *(int *)(&DAT_80069bb8 + param_1); -LAB_7f034b24: - iVar5 = *(int *)(param_1 + -0x7ff96444); - if (-1 < iVar4) { - if (DAT_800483a4 < iVar4) { - iVar1 = (iVar5 - *(int *)(&DAT_80069bb4 + param_1)) * DAT_800483a4; - iVar5 = iVar1 / iVar4 + *(int *)(&DAT_80069bb4 + param_1); - if (iVar4 == 0) { - trap(0x1c00); - } - if ((iVar4 == -1) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - } - *(int *)(&DAT_80069bb8 + param_1) = iVar4 - DAT_800483a4; - } - iVar4 = FUN_7f0c086c(); - if (iVar4 != 0) { - iVar5 = 0; - } - if (iVar5 != *(int *)(&DAT_80069bb4 + param_1)) { - loc_700091B8((longlong)*(int *)(&DAT_80069bb0 + param_1),8,iVar5); - *(int *)(&DAT_80069bb4 + param_1) = iVar5; - } - return; -} - - - -void FUN_7f034be4(void) - -{ - int iVar1; - - iVar1 = 0; - do { - FUN_7f034aa0(iVar1); - iVar1 += 1; - } while (iVar1 != 8); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** loc_7F03499C(longlong param_1,short param_2) - -{ - int *piVar1; - ulonglong uVar2; - int **ppiVar3; - int iVar4; - - ppiVar3 = NULL; - if ((-1 < param_1) && (ppiVar3 = NULL, param_1 < 8)) { - iVar4 = (int)param_1 * 0x18; - piVar1 = *(int **)(&DAT_80069bb0 + iVar4); - if (piVar1 != NULL) { - uVar2 = locret_70008E00((int)piVar1); - ppiVar3 = NULL; - if (uVar2 != 0) goto LAB_7f034c9c; - } - *(undefined4 *)(iVar4 + -0x7ff96444) = 0x7fff; - *(undefined4 *)(&DAT_80069bb4 + iVar4) = 0x7fff; - *(undefined4 *)(&DAT_80069bb8 + iVar4) = 0xffffffff; - *(undefined4 *)(&DAT_80069bc0 + iVar4) = 0; - *(undefined4 *)(&DAT_80069bc4 + iVar4) = 0; - ppiVar3 = (int **)(&DAT_80069bb0 + iVar4); - } -LAB_7f034c9c: - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,param_2,ppiVar3); - return ppiVar3; -} - - - -void loc_7F0349EC(longlong param_1) - -{ - if ((-1 < param_1) && (param_1 < 8)) { - loc_7000905C(*(int *)(&DAT_80069bb0 + (int)param_1 * 0x18)); - } - return; -} - - - -int FUN_7f034cfc(int param_1,int param_2) - -{ - char cVar1; - int iVar2; - int iVar3; - - switch(*(undefined *)(param_1 + param_2)) { - case 0: - return 2; - case 1: - return 2; - case 2: - return 2; - case 3: - return 1; - case 4: - return 1; - case 5: - return 4; - case 6: - return 3; - case 7: - return 1; - case 8: - return 1; - case 9: - return 1; - case 10: - return 9; - case 0xb: - return 2; - case 0xc: - return 1; - case 0xd: - return 1; - case 0xe: - return 2; - case 0xf: - return 2; - case 0x10: - return 2; - case 0x11: - return 2; - case 0x12: - return 2; - case 0x13: - return 2; - case 0x14: - return 6; - case 0x15: - return 6; - case 0x16: - return 6; - case 0x17: - return 6; - case 0x18: - return 4; - case 0x19: - return 4; - case 0x1a: - return 2; - case 0x1b: - return 5; - case 0x1c: - return 3; - case 0x1d: - return 1; - case 0x1e: - return 3; - case 0x1f: - return 3; - case 0x20: - return 2; - case 0x21: - return 1; - case 0x22: - return 1; - case 0x23: - return 2; - case 0x24: - return 4; - case 0x25: - return 1; - case 0x26: - return 1; - case 0x27: - return 2; - case 0x28: - return 2; - case 0x29: - return 2; - case 0x2a: - return 2; - case 0x2b: - return 2; - case 0x2c: - return 3; - case 0x2d: - return 3; - case 0x2e: - return 3; - case 0x2f: - return 2; - case 0x30: - return 3; - case 0x31: - return 3; - case 0x32: - return 2; - case 0x33: - return 1; - case 0x34: - return 3; - case 0x35: - return 3; - case 0x36: - return 2; - case 0x37: - return 2; - case 0x38: - return 2; - case 0x39: - return 2; - case 0x3a: - return 2; - case 0x3b: - return 2; - case 0x3c: - return 2; - case 0x3d: - return 2; - case 0x3e: - return 2; - case 0x3f: - return 2; - case 0x40: - return 3; - case 0x41: - return 2; - case 0x42: - return 2; - case 0x43: - return 2; - case 0x44: - return 4; - case 0x45: - return 2; - case 0x46: - return 2; - case 0x47: - return 3; - case 0x48: - return 3; - case 0x49: - return 3; - case 0x4a: - return 3; - case 0x4b: - return 4; - case 0x4c: - return 4; - case 0x4d: - return 7; - case 0x4e: - return 7; - case 0x4f: - return 5; - case 0x50: - return 5; - case 0x51: - return 4; - case 0x52: - return 6; - case 0x53: - return 6; - case 0x54: - return 5; - case 0x55: - return 4; - case 0x56: - return 3; - case 0x57: - return 3; - case 0x58: - return 4; - case 0x59: - return 3; - case 0x5a: - return 3; - case 0x5b: - return 3; - case 0x5c: - return 3; - case 0x5d: - return 3; - case 0x5e: - return 2; - case 0x5f: - return 2; - case 0x60: - return 2; - case 0x61: - return 2; - case 0x62: - return 2; - case 99: - return 2; - case 100: - return 3; - case 0x65: - return 4; - case 0x66: - return 2; - case 0x67: - return 2; - case 0x68: - return 4; - case 0x69: - return 3; - case 0x6a: - return 3; - case 0x6b: - return 3; - case 0x6c: - return 4; - case 0x6d: - return 3; - case 0x6e: - return 3; - case 0x6f: - return 3; - case 0x70: - return 3; - case 0x71: - return 3; - case 0x72: - return 4; - case 0x73: - return 4; - case 0x74: - return 4; - case 0x75: - return 4; - case 0x76: - return 3; - case 0x77: - return 3; - case 0x78: - return 3; - case 0x79: - return 3; - case 0x7a: - return 3; - case 0x7b: - return 3; - case 0x7c: - return 4; - case 0x7d: - return 4; - case 0x7e: - return 3; - case 0x7f: - return 3; - case 0x80: - return 3; - case 0x81: - return 2; - case 0x82: - return 2; - case 0x83: - return 2; - case 0x84: - return 3; - case 0x85: - return 2; - case 0x86: - return 2; - case 0x87: - return 2; - case 0x88: - return 2; - case 0x89: - return 3; - case 0x8a: - return 2; - case 0x8b: - return 3; - case 0x8c: - return 2; - case 0x8d: - return 2; - case 0x8e: - return 2; - case 0x8f: - return 3; - case 0x90: - return 3; - case 0x91: - return 2; - case 0x92: - return 2; - case 0x93: - return 2; - case 0x94: - return 2; - case 0x95: - return 2; - case 0x96: - return 3; - case 0x97: - return 3; - case 0x98: - return 3; - case 0x99: - return 4; - case 0x9a: - return 5; - case 0x9b: - return 5; - case 0x9c: - return 6; - case 0x9d: - return 5; - case 0x9e: - return 5; - case 0x9f: - return 6; - case 0xa0: - return 6; - case 0xa1: - return 6; - case 0xa2: - return 7; - case 0xa3: - return 6; - case 0xa4: - return 6; - case 0xa5: - return 7; - case 0xa6: - return 6; - case 0xa7: - return 6; - case 0xa8: - return 7; - case 0xa9: - return 2; - case 0xaa: - return 3; - case 0xab: - return 3; - case 0xac: - return 4; - case 0xad: - break; - case 0xae: - return 1; - case 0xaf: - return 1; - case 0xb0: - return 1; - case 0xb1: - return 1; - case 0xb2: - return 2; - case 0xb3: - return 5; - case 0xb4: - return 5; - case 0xb5: - return 1; - case 0xb6: - return 1; - case 0xb7: - return 3; - case 0xb8: - return 1; - case 0xb9: - return 1; - case 0xba: - return 2; - case 0xbb: - return 4; - case 0xbc: - return 4; - case 0xbd: - return 0xc; - case 0xbe: - return 0xb; - case 0xbf: - return 9; - case 0xc0: - return 8; - case 0xc1: - return 5; - case 0xc2: - return 3; - case 0xc3: - return 3; - case 0xc4: - return 4; - case 0xc5: - return 5; - case 0xc6: - return 6; - case 199: - return 6; - case 200: - return 6; - case 0xc9: - return 2; - case 0xca: - return 5; - case 0xcb: - return 2; - case 0xcc: - return 5; - case 0xcd: - return 5; - case 0xce: - return 2; - case 0xcf: - return 2; - case 0xd0: - return 4; - case 0xd1: - return 2; - case 0xd2: - return 1; - case 0xd3: - return 1; - case 0xd4: - return 3; - case 0xd5: - return 6; - case 0xd6: - return 4; - case 0xd7: - return 2; - case 0xd8: - return 1; - case 0xd9: - return 5; - case 0xda: - return 1; - case 0xdb: - return 1; - case 0xdc: - return 2; - case 0xdd: - return 1; - case 0xde: - return 1; - case 0xdf: - return 2; - case 0xe0: - return 3; - case 0xe1: - return 3; - case 0xe2: - return 4; - case 0xe3: - return 2; - case 0xe4: - return 2; - case 0xe5: - return 3; - case 0xe6: - return 5; - case 0xe7: - return 2; - case 0xe8: - return 2; - case 0xe9: - return 1; - case 0xea: - return 1; - case 0xeb: - return 2; - case 0xec: - return 1; - case 0xed: - return 1; - case 0xee: - return 0xd; - case 0xef: - return 1; - case 0xf0: - return 2; - case 0xf1: - return 2; - case 0xf2: - return 3; - case 0xf3: - return 2; - case 0xf4: - return 4; - case 0xf5: - return 2; - case 0xf6: - return 1; - case 0xf7: - return 3; - case 0xf8: - return 3; - case 0xf9: - return 1; - case 0xfa: - return 1; - case 0xfb: - return 1; - case 0xfc: - return 2; - default: - return 1; - } - iVar3 = param_2 + 1; - if (((undefined *)(param_1 + param_2))[1] == '\0') { - iVar3 -= param_2; - } - else { - cVar1 = *(char *)(param_1 + iVar3 + 1); - iVar2 = param_1 + iVar3; - while( true ) { - iVar3 += 1; - if (cVar1 == '\0') break; - cVar1 = *(char *)(iVar2 + 2); - iVar2 = iVar2 + 1; - } - iVar3 -= param_2; - } - return iVar3 + 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * FUN_7f035544(undefined *param_1,undefined4 *param_2) - -{ - undefined **ppuVar1; - undefined *puVar2; - int iVar3; - undefined **ppuVar4; - int *piVar5; - - if ((_DAT_80075d54 != NULL) && (iVar3 = 0, *_DAT_80075d54 != 0)) { - puVar2 = (undefined *)*_DAT_80075d54; - piVar5 = _DAT_80075d54; - do { - if (param_1 == puVar2) { - *param_2 = 0; - return *(undefined **)((int)_DAT_80075d54 + iVar3 + 4); - } - puVar2 = (undefined *)piVar5[2]; - iVar3 += 8; - piVar5 = piVar5 + 2; - } while (puVar2 != NULL); - } - ppuVar4 = &PTR_DAT_8003747c; - puVar2 = PTR_DAT_8003747c; - if (PTR_DAT_8003747c != NULL) { - do { - if (param_1 == puVar2) { - *param_2 = 1; - return ppuVar4[1]; - } - ppuVar1 = ppuVar4 + 2; - ppuVar4 = ppuVar4 + 2; - puVar2 = *ppuVar1; - } while (*ppuVar1 != NULL); - } - return (undefined *)0xffffffff; -} - - - -int loc_7F035378(undefined *param_1,int param_2,char param_3) - -{ - char cVar1; - int iVar2; - undefined4 auStack12 [3]; - - do { - cVar1 = param_1[param_2]; - if (cVar1 == '\x02') { - if (param_3 == (param_1 + param_2)[1]) { - return param_2; - } - } - else { - if (cVar1 == '\x04') { - FUN_7f035544(param_1,auStack12); - return 0; - } - } - iVar2 = FUN_7f034cfc((int)param_1,param_2); - param_2 += iVar2; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * FUN_7f035698(undefined *param_1) - -{ - int *piVar1; - undefined **ppuVar2; - undefined *puVar3; - - if ((int)param_1 < 0x401) { - ppuVar2 = &PTR_DAT_8003747c; - puVar3 = DAT_80037480; - if (PTR_DAT_8003747c != NULL) { - while( true ) { - if (param_1 == puVar3) { - return *ppuVar2; - } - if (ppuVar2[2] == NULL) break; - puVar3 = ppuVar2[3]; - ppuVar2 = ppuVar2 + 2; - } - } - } - else { - if ((_DAT_80075d54 != NULL) && (*_DAT_80075d54 != 0)) { - puVar3 = (undefined *)_DAT_80075d54[1]; - piVar1 = _DAT_80075d54; - while( true ) { - if (param_1 == puVar3) { - return (undefined *)*piVar1; - } - if (piVar1[2] == 0) break; - puVar3 = (undefined *)piVar1[3]; - piVar1 = piVar1 + 2; - } - } - } - return NULL; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f035734(ulonglong param_1) - -{ - byte bVar1; - int *piVar2; - int iVar3; - - iVar3 = 0; - if (*_DAT_80075d50 != 0) { - bVar1 = *(byte *)(_DAT_80075d50 + 1); - piVar2 = _DAT_80075d50; - while( true ) { - if (param_1 == (ulonglong)bVar1) { - return _DAT_80075d50 + iVar3 * 2; - } - iVar3 += 1; - if (piVar2[2] == 0) break; - bVar1 = *(byte *)(piVar2 + 3); - piVar2 = piVar2 + 2; - } - } - return NULL; -} - - -/* -Unable to decompile 'loc_7F03A204' -Cause: Exception while decompiling 7f035784: process: timeout - -*/ - - -// WARNING: Instruction at (ram,0x7f03a630) overlaps instruction at (ram,0x7f03a62c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03a540(void) - -{ - byte bVar1; - undefined4 uVar2; - bool bVar3; - int iVar4; - int iVar5; - int *piVar6; - int iVar7; - int iVar8; - uint uVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - - iVar4 = FUN_7f03a724(); - iVar8 = 0; - if (iVar4 != 0) { - bVar1 = *(byte *)(iVar4 + 1); - while( true ) { - if ((bVar1 & 6) == 6) { - *(int *)(&DAT_80071660 + iVar8 * 4) = iVar4; - iVar8 += 1; - iVar4 = *(int *)(iVar4 + 0x24); - } - else { - iVar4 = *(int *)(iVar4 + 0x24); - } - if (iVar4 == 0) break; - bVar1 = *(byte *)(iVar4 + 1); - } - } - _DAT_80071e34 = iVar8; - *(undefined4 *)(&DAT_80071660 + iVar8 * 4) = 0; - _DAT_80071e30 = &DAT_80071660 + iVar8 * 4; - iVar4 = 0; - if (iVar8 < 1) { - return; - } - bVar3 = 0 < iVar8; - do { - iVar7 = -1; - if (bVar3) { - uVar9 = iVar8 - iVar4 & 3; - if (uVar9 == 0) { - iVar10 = iVar4 << 2; - fVar12 = -4294967296.00000000; - iVar5 = iVar4; - } - else { - piVar6 = (int *)(&DAT_80071660 + iVar4 * 4); - fVar13 = -4294967296.00000000; - iVar5 = iVar4; - iVar10 = iVar7; - do { - fVar12 = *(float *)(*piVar6 + 0x18); - iVar7 = iVar5; - if (fVar12 <= fVar13) { - fVar12 = fVar13; - iVar7 = iVar10; - } - iVar5 += 1; - piVar6 = piVar6 + 1; - fVar13 = fVar12; - iVar10 = iVar7; - } while (uVar9 + iVar4 != iVar5); - iVar10 = iVar5 * 4; - if (iVar5 == iVar8) goto LAB_7f03a6c4; - } - piVar6 = (int *)(&DAT_80071660 + iVar10); - do { - fVar13 = *(float *)(*piVar6 + 0x18); - if (fVar12 < fVar13) { - iVar10 = piVar6[1]; - iVar7 = iVar5; - } - else { - iVar10 = piVar6[1]; - fVar13 = fVar12; - } - fVar11 = *(float *)(iVar10 + 0x18); - if (fVar13 < fVar11) { - iVar7 = iVar5 + 1; - iVar10 = piVar6[2]; - } - else { - iVar10 = piVar6[2]; - fVar11 = fVar13; - } - fVar12 = *(float *)(iVar10 + 0x18); - if (fVar11 < fVar12) { - iVar7 = iVar5 + 2; - iVar10 = piVar6[3]; - } - else { - iVar10 = piVar6[3]; - fVar12 = fVar11; - } - if (fVar12 < *(float *)(iVar10 + 0x18)) { - iVar7 = iVar5 + 3; - fVar12 = *(float *)(iVar10 + 0x18); - } - iVar5 += 4; - piVar6 = piVar6 + 4; - } while (iVar5 != iVar8); - } -LAB_7f03a6c4: - if (-1 < iVar7) { - uVar2 = *(undefined4 *)(&DAT_80071660 + iVar4 * 4); - *(undefined4 *)(&DAT_80071660 + iVar4 * 4) = *(undefined4 *)(&DAT_80071660 + iVar7 * 4); - *(undefined4 *)(&DAT_80071660 + iVar7 * 4) = uVar2; - } - iVar4 += 1; - if (iVar4 == iVar8) { - return; - } - bVar3 = iVar4 < iVar8; - } while( true ); -} - - - -void set_stateflag_0x04_for_posdata(int param_1) - -{ - *(byte *)(param_1 + 1) = *(byte *)(param_1 + 1) | 4; - return; -} - - - -void unset_stateflag_0x04_for_posdata(int param_1) - -{ - *(byte *)(param_1 + 1) = *(byte *)(param_1 + 1) & 0xfb; - return; -} - - - -undefined4 FUN_7f03a724(void) - -{ - return DAT_80030ae0; -} - - - -int FUN_7f03a730(void) - -{ - undefined4 *puVar1; - int iVar2; - - iVar2 = DAT_80030ae8; - if (DAT_80030ae8 == 0) { - return 0; - } - puVar1 = (undefined4 *)(DAT_80030ae8 + 0x24); - DAT_80030ae8 = *(undefined4 *)(DAT_80030ae8 + 0x24); - *puVar1 = 0; - *(undefined4 *)(iVar2 + 0x28) = 0; - *(undefined4 *)(iVar2 + 0x1c) = 0; - *(undefined4 *)(iVar2 + 0x20) = 0; - *(undefined *)(iVar2 + 1) = 0; - *(undefined4 *)(iVar2 + 0x14) = 0; - *(undefined2 *)(iVar2 + 2) = 0; - *(undefined *)(iVar2 + 0x2c) = 0xff; - return iVar2; -} - - - -void FUN_7f03a784(int param_1) - -{ - *(undefined4 *)(param_1 + 0x28) = 0; - *(undefined4 *)(param_1 + 0x14) = 0; - *(undefined4 *)(param_1 + 0x24) = DAT_80030ae8; - DAT_80030ae8 = param_1; - return; -} - - - -void FUN_7f03a7a4(int param_1) - -{ - if (DAT_80030ae0 != 0) { - *(int *)(DAT_80030ae0 + 0x28) = param_1; - *(undefined4 *)(param_1 + 0x28) = 0; - *(int *)(param_1 + 0x24) = DAT_80030ae0; - DAT_80030ae0 = param_1; - return; - } - *(undefined4 *)(param_1 + 0x24) = 0; - *(undefined4 *)(param_1 + 0x28) = 0; - DAT_80030ae0 = param_1; - DAT_80030ae4 = param_1; - return; -} - - - -void FUN_7f03a7f0(int param_1) - -{ - if (DAT_80030ae4 == 0) { - *(undefined4 *)(param_1 + 0x24) = 0; - *(undefined4 *)(param_1 + 0x28) = 0; - DAT_80030ae0 = param_1; - DAT_80030ae4 = param_1; - return; - } - *(int *)(DAT_80030ae4 + 0x24) = param_1; - *(undefined4 *)(param_1 + 0x24) = 0; - *(int *)(param_1 + 0x28) = DAT_80030ae4; - DAT_80030ae4 = param_1; - return; -} - - - -void FUN_7f03a838(int param_1) - -{ - int iVar1; - - if (param_1 == DAT_80030ae0) { - DAT_80030ae0 = *(int *)(param_1 + 0x24); - } - if (param_1 == DAT_80030ae4) { - DAT_80030ae4 = *(int *)(param_1 + 0x28); - iVar1 = *(int *)(param_1 + 0x24); - } - else { - iVar1 = *(int *)(param_1 + 0x24); - } - if (iVar1 == 0) { - iVar1 = *(int *)(param_1 + 0x28); - } - else { - *(undefined4 *)(iVar1 + 0x28) = *(undefined4 *)(param_1 + 0x28); - iVar1 = *(int *)(param_1 + 0x28); - } - if (iVar1 == 0) { - *(undefined4 *)(param_1 + 0x24) = 0; - } - else { - *(undefined4 *)(iVar1 + 0x24) = *(undefined4 *)(param_1 + 0x24); - *(undefined4 *)(param_1 + 0x24) = 0; - } - *(undefined4 *)(param_1 + 0x28) = 0; - return; -} - - - -void loc_7F03A5C0(int param_1,int param_2) - -{ - *(int *)(param_1 + 0x1c) = param_2; - if (*(int *)(param_2 + 0x20) == 0) { - *(undefined4 *)(param_1 + 0x24) = 0; - } - else { - *(int *)(*(int *)(param_2 + 0x20) + 0x28) = param_1; - *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(param_2 + 0x20); - } - *(undefined4 *)(param_1 + 0x28) = 0; - *(undefined4 *)(param_1 + 0x14) = 0; - *(int *)(param_2 + 0x20) = param_1; - return; -} - - - -void locret_7F03A624(int param_1) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 0x1c); - if (iVar1 != 0) { - if (param_1 == *(int *)(iVar1 + 0x20)) { - *(undefined4 *)(iVar1 + 0x20) = *(undefined4 *)(param_1 + 0x24); - iVar1 = *(int *)(param_1 + 0x24); - } - else { - iVar1 = *(int *)(param_1 + 0x24); - } - if (iVar1 == 0) { - iVar1 = *(int *)(param_1 + 0x28); - } - else { - *(undefined4 *)(iVar1 + 0x28) = *(undefined4 *)(param_1 + 0x28); - iVar1 = *(int *)(param_1 + 0x28); - } - if (iVar1 == 0) { - *(undefined4 *)(param_1 + 0x1c) = 0; - } - else { - *(undefined4 *)(iVar1 + 0x24) = *(undefined4 *)(param_1 + 0x24); - *(undefined4 *)(param_1 + 0x1c) = 0; - } - *(undefined4 *)(param_1 + 0x24) = 0; - *(undefined4 *)(param_1 + 0x28) = 0; - } - return; -} - - - -undefined8 loc_7F03A6E0(undefined8 param_1,char *param_2,longlong param_3) - -{ - char cVar1; - uint uVar2; - - uVar2 = (uint)param_3; - cVar1 = *param_2; - if (cVar1 == '\x03') { - param_1 = loc_7F022064(param_2,(uint *)param_1,uVar2); - } - else { - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - param_1 = FUN_7f04b554(param_2,(uint *)param_1,uVar2); - } - else { - if (cVar1 == '\a') { - param_1 = loc_7F09D800(param_2,param_1,param_3); - } - else { - if (cVar1 == '\b') { - param_1 = loc_7F09F22C(param_2,param_1,param_3); - } - else { - if (cVar1 == '\x06') { - param_1 = FUN_7f08c548(param_2,param_1,uVar2); - } - } - } - } - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong loc_7F03A950(longlong param_1,uint param_2,longlong param_3) - -{ - char *pcVar1; - uint uVar2; - bool bVar3; - int iVar5; - ulonglong uVar4; - uint *puVar6; - char **ppcVar7; - uint auStack40 [10]; - - puVar6 = (uint *)param_1; - iVar5 = FUN_7000695c(); - if (iVar5 == 0x36) { - if (param_3 == 0) { - return param_1; - } - if (param_3 == 2) { - param_3 = 0; - } - } - if ((param_3 == 0) || (param_3 == 2)) { - ppcVar7 = _DAT_80071e30 + -1; - if ((char **)0x8007165f < ppcVar7) { - pcVar1 = *ppcVar7; - do { - if (pcVar1 != NULL) { - bVar3 = false; - if ((param_3 == 0) && ((pcVar1[1] & 0x21U) == 0)) { - bVar3 = true; - } - else { - if ((param_3 == 2) && ((pcVar1[1] & 0x21U) == 1)) { - bVar3 = true; - } - } - if (bVar3) { - bVar3 = false; - loc_7F03CC0C(pcVar1,auStack40); - puVar6 = auStack40; - uVar2 = auStack40[0]; - while (-1 < (int)uVar2) { - uVar4 = FUN_7f0b6a00(uVar2); - if (uVar4 != 0) { - if (param_2 == *puVar6) { - bVar3 = true; - } - break; - } - uVar2 = puVar6[1]; - puVar6 = puVar6 + 1; - } - if (bVar3) { - param_1 = loc_7F03A6E0(param_1,pcVar1,0); - } - } - } - puVar6 = (uint *)param_1; - ppcVar7 = ppcVar7 + -1; - if (ppcVar7 < &DAT_80071660) break; - pcVar1 = *ppcVar7; - } while( true ); - } - } - else { - ppcVar7 = (char **)&DAT_80071660; - if (&DAT_80071660 < _DAT_80071e30) { - pcVar1 = _DAT_80071660; - do { - bVar3 = false; - if (pcVar1 != NULL) { - loc_7F03CC0C(pcVar1,auStack40); - puVar6 = auStack40; - uVar2 = auStack40[0]; - while (-1 < (int)uVar2) { - uVar4 = FUN_7f0b6a00(uVar2); - if (uVar4 != 0) { - if (param_2 == *puVar6) { - bVar3 = true; - } - break; - } - uVar2 = puVar6[1]; - puVar6 = puVar6 + 1; - } - if (bVar3) { - if ((pcVar1[1] & 0x20U) != 0) { - param_1 = loc_7F03A6E0(param_1,pcVar1,0); - } - param_1 = loc_7F03A6E0(param_1,pcVar1,1); - } - } - puVar6 = (uint *)param_1; - ppcVar7 = ppcVar7 + 1; - if (_DAT_80071e30 <= ppcVar7) break; - pcVar1 = *ppcVar7; - } while( true ); - } - } - puVar6 = FUN_7f0b5b64(puVar6); - return (longlong)(int)puVar6; -} - - - -undefined8 FUN_7f03ac7c(int param_1,float *param_2,float *param_3) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - int local_18; - int local_14; - int local_10; - int local_c; - int local_8; - int local_4; - - iVar1 = param_1 * 0x50; - if ((&DAT_80041470)[param_1 * 0x14] == 0) { - uVar3 = 0; - } - else { - local_18 = (int)*(float *)(&DAT_8004147c + iVar1); - local_14 = (int)*(float *)(&DAT_80041480 + iVar1); - local_10 = (int)*(float *)(&DAT_80041484 + iVar1); - local_c = (int)*(float *)(&DAT_80041488 + iVar1); - local_8 = (int)*(float *)(&DAT_8004148c + iVar1); - local_4 = (int)*(float *)(&DAT_80041490 + iVar1); - lVar2 = locret_7F0B7008(param_2,param_3,&local_18,&local_c); - if (lVar2 == 0) { - uVar3 = 0; - } - else { - uVar3 = 1; - } - } - return uVar3; -} - - - -void loc_7F03AB38(undefined8 uParm1,float *pfParm2,float *pfParm3,int iParm4) - -{ - char cVar1; - int iVar3; - longlong lVar2; - int iVar4; - char *pcVar5; - float in_f0; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - FUN_7f0b53ec(); - fStack4 = in_f0; - FUN_7f0b5428(); - iVar4 = 1; - fStack24 = *pfParm3 - *pfParm2; - fStack20 = pfParm3[1] - pfParm2[1]; - fStack4 = fStack4 * in_f0; - fStack16 = pfParm3[2] - pfParm2[2]; - fStack12 = *pfParm2 * fStack4; - fStack8 = pfParm2[1] * fStack4; - fStack4 = pfParm2[2] * fStack4; - iVar3 = FUN_7f0b69f4(); - pcVar5 = (char *)(iParm4 + 1); - if (1 < iVar3) { - cVar1 = *pcVar5; - while( true ) { - if ((cVar1 == '\0') && (lVar2 = FUN_7f03ac7c(iVar4,&fStack12,&fStack24), lVar2 == 0)) { - *pcVar5 = '\x01'; - } - iVar4 += 1; - pcVar5 = pcVar5 + 1; - iVar3 = FUN_7f0b69f4(); - if (iVar3 <= iVar4) break; - cVar1 = *pcVar5; - } - } - return; -} - - - -uint loc_7F03ADC0(float *pfParm1,float *pfParm2,float *pfParm3,float *pfParm4,int iParm5, - float *pfParm6,uint uParm7) - -{ - uint uVar1; - int iVar3; - longlong lVar2; - float *pfVar4; - float *pfVar5; - float *pfVar6; - uint *puVar7; - uint *puVar8; - float in_f0; - float fVar9; - float fVar10; - float fStack460; - float fStack456; - float fStack452; - float afStack412 [3]; - uint auStack400 [100]; - - FUN_7f0b53e0(); - iVar3 = FUN_7f0b9a48(auStack400,100); - puVar7 = auStack400; - if (iVar3 < 1) { - return uParm7; - } - puVar8 = puVar7 + iVar3; - do { - if (*(char *)(auStack400[0] + iParm5) == '\0') { - *(char *)(auStack400[0] + iParm5) = '\x01'; - lVar2 = FUN_7f03ac7c(*puVar7,pfParm4,pfParm3); - if ((lVar2 != 0) && (iVar3 = loc_7F0B7D64(pfParm1,pfParm2,*puVar7,&fStack460), iVar3 != 0)) { - fStack460 = fStack460 * in_f0; - fStack456 = fStack456 * in_f0; - uVar1 = *puVar7; - fStack452 = fStack452 * in_f0; - pfVar4 = &fStack460; - pfVar6 = pfParm6; - if (0 < (int)uParm7) { - fVar9 = *pfParm6; - fVar10 = *pfParm1; - if (((fVar9 < fVar10) || (fStack460 < fVar10)) || (fVar9 <= fStack460)) { - if (((fVar10 < fVar9) || (fVar10 < fStack460)) || (fStack460 <= fVar9)) - goto LAB_7f03b0b4; - fVar9 = pfParm6[1]; - } - else { - fVar9 = pfParm6[1]; - } - fVar10 = pfParm1[1]; - if (((fVar9 < fVar10) || (fStack456 < fVar10)) || (fVar9 <= fStack456)) { - if (((fVar10 < fVar9) || (fVar10 < fStack456)) || (fStack456 <= fVar9)) - goto LAB_7f03b0b4; - fVar9 = pfParm6[2]; - } - else { - fVar9 = pfParm6[2]; - } - fVar10 = pfParm1[2]; - if ((((fVar9 < fVar10) || (fStack452 < fVar10)) || - (pfVar4 = &fStack460, pfVar6 = pfParm6, fVar9 <= fStack452)) && - (((fVar10 < fVar9 || (fVar10 < fStack452)) || - (pfVar4 = &fStack460, pfVar6 = pfParm6, fStack452 <= fVar9)))) goto LAB_7f03b0b4; - } - do { - pfVar5 = pfVar4 + 3; - *pfVar6 = *pfVar4; - pfVar6[1] = pfVar4[1]; - pfVar6[2] = pfVar4[2]; - pfVar4 = pfVar5; - pfVar6 = pfVar6 + 3; - uParm7 = uVar1; - } while (pfVar5 != afStack412); - } - } -LAB_7f03b0b4: - puVar7 = puVar7 + 1; - if (puVar8 <= puVar7) { - return uParm7; - } - auStack400[0] = *puVar7; - } while( true ); -} - - - -ulonglong loc_7F03AF2C(byte param_1,float *param_2,float *param_3,float *param_4,float *param_5, - int param_6,float *param_7) - -{ - byte bVar1; - longlong lVar2; - int iVar3; - byte *pbVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - byte *pbVar9; - int aiStack660 [101]; - byte abStack256 [256]; - - iVar6 = 1; - iVar8 = 0; - pbVar9 = abStack256; - abStack256[0] = param_1; - do { - bVar1 = *pbVar9; - if (*(char *)(param_6 + (uint)bVar1) == '\0') { - *(char *)(param_6 + (uint)bVar1) = '\x01'; - lVar2 = FUN_7f03ac7c((uint)bVar1,param_5,param_4); - if ((lVar2 != 0) && (iVar3 = loc_7F0B7D64(param_2,param_3,(uint)bVar1,param_7), iVar3 != 0)) { - return (ulonglong)bVar1; - } - } - iVar7 = 0; - iVar3 = FUN_7f0b9aac((ulonglong)bVar1,aiStack660,100); - if (0 < iVar3) { - do { - iVar5 = 0; - if (0 < iVar6) { - pbVar4 = abStack256; - do { - if ((ulonglong)*pbVar4 == (longlong)aiStack660[iVar7]) break; - iVar5 += 1; - pbVar4 = pbVar4 + 1; - } while (iVar5 != iVar6); - } - if (iVar5 == iVar6) { - pbVar4 = abStack256 + iVar6; - iVar6 += 1; - *pbVar4 = (byte)aiStack660[iVar7]; - } - iVar7 += 1; - } while (iVar7 < iVar3); - } - iVar8 += 1; - pbVar9 = pbVar9 + 1; - if (iVar6 <= iVar8) { - return 0; - } - } while( true ); -} - - - -int loc_7F03B114(undefined8 uParm1,float *pfParm2,float *pfParm3,float *pfParm4,float *pfParm5, - int iParm6,float *pfParm7) - -{ - char cVar1; - int iVar3; - longlong lVar2; - int iVar4; - char *pcVar5; - int iVar6; - float in_f0; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - undefined2 uStack16; - short sStack14; - - fVar10 = 4294967296.00000000; - iVar6 = 0; - FUN_7f0b53e0(); - iVar4 = 1; - iVar3 = FUN_7f0b69f4(); - if (1 < iVar3) { - pcVar5 = (char *)(iParm6 + 1); - cVar1 = *pcVar5; - while( true ) { - if (cVar1 == '\0') { - *pcVar5 = '\x01'; - lVar2 = FUN_7f03ac7c(iVar4,pfParm5,pfParm4); - if ((lVar2 != 0) && (iVar3 = loc_7F0B7D64(pfParm2,pfParm3,iVar4,&fStack56), iVar3 != 0)) { - fVar7 = fStack56 * in_f0 - *pfParm2; - fVar8 = fStack52 * in_f0 - pfParm2[1]; - fVar9 = fStack48 * in_f0 - pfParm2[2]; - fVar7 = fVar7 * fVar7 + fVar8 * fVar8 + fVar9 * fVar9; - lVar2 = locret_7F0BB68C((longlong)sStack14); - if (lVar2 != 0) { - fVar7 = fVar7 - 4.00000000; - } - if (fVar7 < fVar10) { - *pfParm7 = fStack56; - pfParm7[1] = fStack52; - pfParm7[2] = fStack48; - pfParm7[3] = fStack44; - pfParm7[4] = fStack40; - pfParm7[5] = fStack36; - pfParm7[6] = fStack32; - pfParm7[7] = fStack28; - pfParm7[8] = fStack24; - *(short *)((int)pfParm7 + 0x2a) = sStack14; - pfParm7[9] = fStack20; - *(undefined2 *)(pfParm7 + 10) = uStack16; - fVar10 = fVar7; - iVar6 = iVar4; - } - } - } - iVar4 += 1; - pcVar5 = pcVar5 + 1; - iVar3 = FUN_7f0b69f4(); - if (iVar3 <= iVar4) break; - cVar1 = *pcVar5; - } - } - return iVar6; -} - - - -// WARNING: Instruction at (ram,0x7f03ba64) overlaps instruction at (ram,0x7f03ba60) -// -// WARNING: Could not reconcile some variable overlaps -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint loc_7F03B9AC(undefined8 param_1) - -{ - byte bVar1; - undefined *puVar2; - ulonglong uVar3; - undefined4 *puVar4; - bool bVar5; - uint uVar6; - int iVar8; - longlong lVar7; - uint uVar9; - undefined4 uVar10; - int *piVar11; - byte *pbVar12; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - undefined8 extraout_a2_01; - undefined8 uVar13; - undefined8 extraout_a2_02; - undefined8 extraout_a2_03; - undefined8 extraout_a2_04; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 extraout_a3_01; - undefined8 uVar14; - undefined8 extraout_a3_02; - undefined8 extraout_a3_03; - undefined8 extraout_a3_04; - float *pfVar15; - byte **ppbVar16; - float extraout_f0; - float fVar17; - float extraout_f0_00; - char cStack1320; - undefined uStack1319; - float fStack1292; - float fStack1288; - float fStack1284; - float fStack1280; - float fStack1276; - float fStack1272; - float fStack1268; - int aiStack1260 [64]; - int aiStack1004 [2]; - float fStack996; - float fStack992; - float fStack988; - float fStack984; - float fStack980; - float fStack976; - int iStack972; - float fStack968; - float fStack964; - float fStack960; - float fStack956; - float fStack952; - float fStack948; - float fStack944; - byte *pbStack936; - undefined4 uStack932; - undefined4 uStack928; - undefined4 uStack856; - undefined4 uStack852; - undefined4 uStack848; - float afStack836 [160]; - float afStack196 [14]; - float fStack140; - float fStack136; - float fStack132; - int aiStack128 [2]; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float afStack92 [6]; - int iStack68; - short sStack64; - short sStack62; - int iStack56; - undefined4 uStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack36; - int iStack28; - float fStack24; - float fStack20; - float fStack16; - int iStack12; - - iStack12 = 0; - iStack28 = 0; - iStack36 = 0; - uStack52 = 0; - iVar8 = FUN_7f089e6c(); - aiStack128[0] = *(int *)(iVar8 + 0x14); - aiStack1004[0] = 0; - FUN_7f0687a4(&fStack996,&fStack984,param_1); - iStack972 = FUN_7f05def0((int)param_1); - pbStack936 = NULL; - uStack932 = 0; - uStack928 = 0; - uStack856 = 0; - uStack852 = 0; - uStack848 = 0; - fStack944 = 4294967296.00000000; - pfVar15 = afStack836; - do { - pfVar15 = pfVar15 + 0x50; - pfVar15[0x23] = 0.00000000; - pfVar15[0x24] = 0.00000000; - pfVar15[0x25] = 0.00000000; - pfVar15[0x37] = 0.00000000; - pfVar15[0x38] = 0.00000000; - pfVar15[0x39] = 0.00000000; - pfVar15[0x4b] = 0.00000000; - pfVar15[0x4c] = 0.00000000; - pfVar15[0x4d] = 0.00000000; - pfVar15[0xf] = 0.00000000; - pfVar15[0x10] = 0.00000000; - pfVar15[0x11] = 0.00000000; - pfVar15 = pfVar15; - } while (pfVar15 != afStack196); - fStack968 = fStack996; - fStack964 = fStack992; - fStack960 = fStack988; - pfVar15 = (float *)FUN_7f078a34(); - FUN_7f058994(pfVar15,&fStack968); - fStack956 = fStack984; - fStack952 = fStack980; - fStack948 = fStack976; - pfVar15 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar15,&fStack956); - fStack140 = fStack956 * 65536.00000000 + fStack968; - fStack136 = fStack952 * 65536.00000000 + fStack964; - fStack132 = fStack948 * 65536.00000000 + fStack960; - lVar7 = sub_7F0B0BE4(aiStack128,*(float *)(iVar8 + 8),*(float *)(iVar8 + 0x10),fStack968,fStack960 - ); - uVar9 = (uint)lVar7; - uVar13 = extraout_a2; - uVar14 = extraout_a3; - if (lVar7 != 0) { - fVar17 = extraout_f0; - FUN_7f0b53ec(); - fStack1292 = fVar17; - FUN_7f0b5428(); - fStack1292 = fStack1292 * fVar17; - pfVar15 = (float *)FUN_7f08a70c(); - FUN_7f0b2874(); - lVar7 = sub_7F0B0BE4(aiStack128,fStack968,fStack960,fStack140,fStack132); - if (lVar7 == 0) { - FUN_7f026554(&fStack968,&fStack956,&fStack24); - iStack12 = 1; - } - else { - fStack24 = fStack140; - fStack20 = fStack136; - fStack16 = fStack132; - } - fStack1288 = fStack24 - *pfVar15; - fStack1284 = fStack20 - pfVar15[1]; - fStack1280 = fStack16 - pfVar15[2]; - fStack1276 = *pfVar15 * fStack1292; - fStack1272 = pfVar15[1] * fStack1292; - iStack28 = aiStack128[0]; - fStack1268 = pfVar15[2] * fStack1292; - fVar17 = fStack1292; - uVar3 = sub_7F0B2FD8(aiStack128[0]); - uVar6 = (uint)uVar3; - piVar11 = aiStack1260; - do { - piVar11 = piVar11 + 1; - *(undefined *)((int)piVar11 + 1) = 0; - *(undefined *)((int)piVar11 + 2) = 0; - *(undefined *)((int)piVar11 + 3) = 0; - *(undefined *)piVar11 = 0; - piVar11 = piVar11; - } while (piVar11 != aiStack1004); - iVar8 = loc_7F0B7D64(pfVar15,&fStack24,uVar6,&fStack104); - if (iVar8 != 0) { - uStack52 = uVar6; - } - *(undefined *)((int)aiStack1260 + uVar6) = 1; - if ((int)uStack52 < 1) { - if (*_DAT_8007fff0 == 0) { - iVar8 = FUN_7f089e6c(); - uVar3 = sub_7F0B2FD8(*(int *)(iVar8 + 0x14)); - uStack52 = loc_7F03B114(uVar3,pfVar15,&fStack24,&fStack1288,&fStack1276,aiStack1260, - &fStack104); - fVar17 = extraout_f0_00; - } - else { - iVar8 = FUN_7f089e6c(); - uVar3 = sub_7F0B2FD8(*(int *)(iVar8 + 0x14)); - uVar3 = loc_7F03AF2C((byte)uVar3,pfVar15,&fStack24,&fStack1288,&fStack1276,(int)aiStack1260, - &fStack104); - uStack52 = (uint)uVar3; - } - } - if (0 < (int)uStack52) { - FUN_7f0b53e0(); - fStack104 = fStack104 * fVar17; - fStack100 = fStack100 * fVar17; - fStack96 = fStack96 * fVar17; - } - lVar7 = loc_7F03ADC0(pfVar15,&fStack24,&fStack1288,&fStack1276,aiStack1260,&fStack104,uStack52); - uVar9 = (uint)lVar7; - if (lVar7 < 1) { - iStack56 = -1; - fStack120 = fStack140; - fStack116 = fStack136; - fStack112 = fStack132; - uStack52 = uVar6; - } - else { - iStack36 = 1; - iStack56 = (int)sStack62; - fStack48 = fStack104; - fStack120 = fStack104; - fStack44 = fStack100; - fStack116 = fStack100; - fStack40 = fStack96; - fStack112 = fStack96; - uStack52 = uVar9; - } - if ((iStack12 != 0) || (uVar13 = extraout_a2_00, uVar14 = extraout_a3_00, iStack36 != 0)) { - pfVar15 = (float *)FUN_7f0789b4(); - uVar9 = FUN_7f058994(pfVar15,&fStack120); - fStack944 = -fStack112; - uVar13 = extraout_a2_01; - uVar14 = extraout_a3_01; - fStack108 = fStack944; - } - } - if ((iStack972 == 0x17) && (300.00000000 < fStack944)) { - fStack944 = 300.00000000; - } - ppbVar16 = (byte **)(_DAT_80071e30 + -4); - if (ppbVar16 < &DAT_80071660) { -LAB_7f03b9a8: - pbVar12 = pbStack936; - pfVar15 = &fStack996; - while( true ) { - if (pbVar12 != NULL) { - bVar1 = *pbVar12; - uVar9 = (uint)bVar1; - if ((bVar1 == 3) || (bVar1 == 6)) { - uVar9 = loc_7F022DF4(&fStack996,pfVar15 + 0xe); - fVar17 = pfVar15[0x21]; - } - else { - if (((bVar1 == 1) || (bVar1 == 4)) || (bVar1 == 2)) { - uVar9 = loc_7F04EF24(&fStack996,pfVar15 + 0xe); - fVar17 = pfVar15[0x21]; - } - else { - fVar17 = pfVar15[0x21]; - } - } - if (fVar17 != 0.00000000) { - aiStack1004[0] = aiStack1004[0] + 1; - uVar3 = FUN_7f05e558(iStack972); - uVar9 = (uint)uVar3; - if ((longlong)uVar3 <= (longlong)aiStack1004[0]) { - iStack36 = 0; - iStack12 = 0; - } - } - } - if (pfVar15 + 0x14 == afStack196) break; - pbVar12 = (byte *)pfVar15[0x23]; - pfVar15 = pfVar15 + 0x14; - } - if ((iStack36 != 0) || (iStack12 != 0)) { - pfVar15 = NULL; - bVar5 = true; - if ((iStack972 == 0x17) && (300.00000000 < fStack108)) { - bVar5 = false; - } - if (iStack36 == 0) { - if (iStack12 != 0) { - pfVar15 = &fStack24; - fStack24 = fStack956 * 65536.00000000 + fStack968; - fStack20 = fStack952 * 65536.00000000 + fStack964; - fStack16 = fStack948 * 65536.00000000 + fStack960; - } - } - else { - puVar2 = PTR_PTR_DAT_8004e89c; - if (-1 < sStack62) { - puVar2 = (&PTR_PTR_DAT_8004e89c)[(uint)*(byte *)(&DAT_80049330 + (int)sStack62 * 2) & 0xf] - ; - } - if (bVar5) { - if ((0 < *(short *)(puVar2 + 10)) && (iStack972 != 0x17)) { - uVar9 = FUN_7000a460(); - if (*(short *)(puVar2 + 10) == 0) { - trap(0x1c00); - } - loc_7F0A1A48(&fStack48,afStack92, - (ushort)*(byte *)(*(int *)(puVar2 + 4) + - uVar9 % (int)*(short *)(puVar2 + 10)),uStack52._2_2_,0,-1, - 0); - } - lVar7 = locret_7F0BB68C((longlong)sStack62); - uVar9 = (uint)lVar7; - if (lVar7 != 0) { - uVar9 = loc_7F0BC48C((longlong)iStack68,(longlong)sStack64,(short)uStack52); - } - } - pfVar15 = &fStack48; - } - if (pfVar15 != NULL) { - if (bVar5) { - FUN_7f064cbc(iStack972,pfVar15,iStack56); - if (((*(byte *)(&DAT_80049330 + iStack56 * 2) & 0xf) != 5) && - ((*(byte *)(&DAT_80049330 + iStack56 * 2) & 0xf) != 6)) { - cStack1320 = (char)uStack52; - uStack1319 = 0xff; - uVar10 = get_cur_playernum(); - FUN_7f09cdf0(0,pfVar15,iStack28,1,0,(char)uVar10,&cStack1320,0); - } - } - *pfVar15 = *pfVar15 - fStack956 * 26.00000000; - pfVar15[1] = pfVar15[1] - fStack952 * 26.00000000; - pfVar15[2] = pfVar15[2] - fStack948 * 26.00000000; - uVar9 = FUN_7f068124(pfVar15); - if (bVar5) { - puVar4 = loc_7F0A3E8C(pfVar15,1,26.00000000,uStack52._2_2_); - uVar9 = uVar9 & 0xffffff00 | (uint)puVar4 >> 0x18; - } - } - } - return uVar9; - } - pbVar12 = *ppbVar16; - do { - extraout_a3_02._4_4_ = (undefined4)uVar14; - uVar10 = (undefined4)uVar13; - if (pbVar12 != NULL) { - if (*pbVar12 == 3) { -code_r0x7f03b950: - uVar9 = loc_7F02296C((int)pbVar12,&fStack996,uVar10,extraout_a3_02._4_4_); - uVar13 = extraout_a2_03; - uVar14 = extraout_a3_03; - } - else { - if (*pbVar12 == 6) { - if (*(int *)(pbVar12 + 4) == 0) { - uVar9 = (uint)*pbVar12; - } - else { - lVar7 = FUN_7f09bcfc((int)pbVar12); - iVar8 = get_cur_playernum(); - extraout_a3_02._4_4_ = (undefined4)extraout_a3_02; - uVar10 = (undefined4)extraout_a2_02; - if (iVar8 != (int)lVar7) goto code_r0x7f03b950; - uVar9 = (uint)*pbVar12; - uVar13 = extraout_a2_02; - uVar14 = extraout_a3_02; - } - } - else { - uVar9 = (uint)*pbVar12; - } - if (((uVar9 == 1) || (uVar9 == 4)) || (uVar9 == 2)) { - uVar9 = FUN_7f04edc0((int)pbVar12,&fStack996); - uVar13 = extraout_a2_04; - uVar14 = extraout_a3_04; - } - } - } - ppbVar16 = ppbVar16 + -1; - if (ppbVar16 < &DAT_80071660) goto LAB_7f03b9a8; - pbVar12 = *ppbVar16; - } while( true ); -} - - - -void loc_7F03BDDC(int param_1,undefined4 param_2,float param_3,undefined4 param_4,undefined4 param_5 - ,undefined4 *param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9, - int param_10,int param_11) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - undefined4 *puVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - - if (param_10 == 0) goto LAB_7f03bf24; - iVar5 = 0; - iVar3 = 0; - fVar9 = 0.00000000; - fVar11 = 0.00000000; - iVar4 = 0; - iVar2 = param_1; - do { - fVar10 = fVar9; - fVar12 = fVar11; - iVar6 = iVar4; - if ((*(int *)(iVar2 + 0x3c) != 0) && - (fVar10 = fVar9, fVar12 = fVar11, iVar6 = iVar4, *(int *)(iVar2 + 0x84) != 0)) { - iVar5 += 1; - fVar10 = *(float *)(iVar2 + 0x38); - fVar12 = fVar9; - iVar6 = iVar3; - if (*(float *)(iVar2 + 0x38) <= fVar9) { - fVar10 = fVar9; - fVar12 = fVar11; - iVar6 = iVar4; - } - } - iVar3 += 1; - iVar2 += 0x50; - fVar9 = fVar10; - fVar11 = fVar12; - iVar4 = iVar6; - } while (iVar3 < 10); - uVar1 = FUN_7f05e558(*(int *)(param_1 + 0x18)); - if ((longlong)iVar5 < (longlong)uVar1) { - uVar1 = FUN_7f05e558(*(int *)(param_1 + 0x18)); - if (((longlong)(iVar5 + 1) == uVar1) && (param_3 < *(float *)(param_1 + 0x34))) { - *(float *)(param_1 + 0x34) = param_3; - } - goto LAB_7f03bf24; - } - *(undefined4 *)(param_1 + iVar6 * 0x50 + 0x3c) = 0; - *(float *)(param_1 + 0x34) = fVar12; - if (fVar12 < param_3) { - *(float *)(param_1 + 0x34) = param_3; - } - iVar4 = 0xa0; - if (*(int *)(param_1 + 0x3c) == 0) { -LAB_7f03bdd8: - iVar2 = *(int *)(param_1 + 0x8c); - } - else { - if (*(int *)(param_1 + 0x84) == 0) { - if (fVar12 < *(float *)(param_1 + 0x38)) { - *(undefined4 *)(param_1 + 0x3c) = 0; - goto LAB_7f03bdd8; - } - iVar2 = *(int *)(param_1 + 0x8c); - } - else { - iVar2 = *(int *)(param_1 + 0x8c); - } - } - if (iVar2 == 0) { - iVar2 = param_1 + 0xa0; - } - else { - if (*(int *)(param_1 + 0xd4) == 0) { - if (fVar12 < *(float *)(param_1 + 0x88)) { - *(undefined4 *)(param_1 + 0x8c) = 0; - iVar2 = param_1 + 0xa0; - } - else { - iVar2 = param_1 + 0xa0; - } - } - else { - iVar2 = param_1 + 0xa0; - } - } - do { - iVar4 += 0x140; - if (*(int *)(iVar2 + 0x3c) == 0) { - iVar3 = *(int *)(iVar2 + 0x8c); - } - else { - if (*(int *)(iVar2 + 0x84) == 0) { - if (fVar12 < *(float *)(iVar2 + 0x38)) { - *(undefined4 *)(iVar2 + 0x3c) = 0; - iVar3 = *(int *)(iVar2 + 0x8c); - } - else { - iVar3 = *(int *)(iVar2 + 0x8c); - } - } - else { - iVar3 = *(int *)(iVar2 + 0x8c); - } - } - if (iVar3 == 0) { - iVar3 = *(int *)(iVar2 + 0xdc); - } - else { - if (*(int *)(iVar2 + 0xd4) == 0) { - if (fVar12 < *(float *)(iVar2 + 0x88)) { - *(undefined4 *)(iVar2 + 0x8c) = 0; - iVar3 = *(int *)(iVar2 + 0xdc); - } - else { - iVar3 = *(int *)(iVar2 + 0xdc); - } - } - else { - iVar3 = *(int *)(iVar2 + 0xdc); - } - } - if (iVar3 == 0) { - iVar3 = *(int *)(iVar2 + 300); - } - else { - if (*(int *)(iVar2 + 0x124) == 0) { - if (fVar12 < *(float *)(iVar2 + 0xd8)) { - *(undefined4 *)(iVar2 + 0xdc) = 0; - iVar3 = *(int *)(iVar2 + 300); - } - else { - iVar3 = *(int *)(iVar2 + 300); - } - } - else { - iVar3 = *(int *)(iVar2 + 300); - } - } - if (((iVar3 != 0) && (*(int *)(iVar2 + 0x174) == 0)) && (fVar12 < *(float *)(iVar2 + 0x128))) { - *(undefined4 *)(iVar2 + 300) = 0; - } - iVar2 += 0x140; - } while (iVar4 != 800); -LAB_7f03bf24: - if (((param_11 != 0) && (*(int *)(param_1 + 0x18) != 0x12)) && (*(int *)(param_1 + 0x18) != 0x14)) - { - if (*(int *)(param_1 + 0x3c) == 0) { - iVar4 = *(int *)(param_1 + 0x8c); - } - else { - if (param_3 < *(float *)(param_1 + 0x38)) { - *(undefined4 *)(param_1 + 0x3c) = 0; - iVar4 = *(int *)(param_1 + 0x8c); - } - else { - iVar4 = *(int *)(param_1 + 0x8c); - } - } - if ((iVar4 != 0) && (param_3 < *(float *)(param_1 + 0x88))) { - *(undefined4 *)(param_1 + 0x8c) = 0; - } - iVar2 = 0xa0; - iVar4 = param_1 + 0xa0; - do { - iVar2 += 0x140; - if (*(int *)(iVar4 + 0x3c) == 0) { - iVar3 = *(int *)(iVar4 + 0x8c); - } - else { - if (param_3 < *(float *)(iVar4 + 0x38)) { - *(undefined4 *)(iVar4 + 0x3c) = 0; - iVar3 = *(int *)(iVar4 + 0x8c); - } - else { - iVar3 = *(int *)(iVar4 + 0x8c); - } - } - if (iVar3 == 0) { - iVar3 = *(int *)(iVar4 + 0xdc); - } - else { - if (param_3 < *(float *)(iVar4 + 0x88)) { - *(undefined4 *)(iVar4 + 0x8c) = 0; - iVar3 = *(int *)(iVar4 + 0xdc); - } - else { - iVar3 = *(int *)(iVar4 + 0xdc); - } - } - if (iVar3 == 0) { - iVar3 = *(int *)(iVar4 + 300); - } - else { - if (param_3 < *(float *)(iVar4 + 0xd8)) { - *(undefined4 *)(iVar4 + 0xdc) = 0; - iVar3 = *(int *)(iVar4 + 300); - } - else { - iVar3 = *(int *)(iVar4 + 300); - } - } - if ((iVar3 != 0) && (param_3 < *(float *)(iVar4 + 0x128))) { - *(undefined4 *)(iVar4 + 300) = 0; - } - iVar4 += 0x140; - } while (iVar2 != 800); - *(float *)(param_1 + 0x34) = param_3; - } - iVar4 = 0; - do { - iVar4 += 0x50; - if (*(int *)(param_1 + 0x3c) == 0) { - *(float *)(param_1 + 0x38) = param_3; - *(undefined4 *)(param_1 + 0x3c) = param_2; - *(undefined4 *)(param_1 + 0x40) = param_4; - *(undefined4 *)(param_1 + 0x44) = param_5; - puVar7 = param_6; - iVar4 = param_1; - do { - puVar8 = puVar7 + 3; - *(undefined4 *)(iVar4 + 0x48) = *puVar7; - *(undefined4 *)(iVar4 + 0x4c) = puVar7[1]; - *(undefined4 *)(iVar4 + 0x50) = puVar7[2]; - puVar7 = puVar8; - iVar4 = iVar4 + 0xc; - } while (puVar8 != param_6 + 0xc); - *(undefined4 *)(param_1 + 0x78) = param_7; - *(undefined4 *)(param_1 + 0x7c) = param_8; - *(undefined4 *)(param_1 + 0x80) = param_9; - *(int *)(param_1 + 0x84) = param_10; - return; - } - param_1 += 0x50; - } while (iVar4 != 800); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03c1c8) overlaps instruction at (ram,0x7f03c1c4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03C0C0(undefined4 param_1,longlong param_2) - -{ - char *pcVar1; - longlong lVar2; - uint uVar3; - int iVar5; - int iVar6; - int iVar7; - ulonglong uVar4; - float *pfVar8; - undefined8 uVar9; - char **ppcVar10; - float fVar11; - float fVar12; - float afStack80 [3]; - undefined auStack68 [12]; - int aiStack56 [2]; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float afStack28 [4]; - int iStack12; - - iStack12 = 0; - iVar5 = FUN_7f089e6c(); - fVar11 = sub_7F089780(_DAT_8007a120); - ppcVar10 = (char **)(_DAT_80071e30 + -4); - if (ppcVar10 < &DAT_80071660) { -LAB_7f03c394: - if ((iStack12 == 0) && (param_2 == 1)) { - FUN_70008e18((longlong)_DAT_80063760,0x69,NULL); - } - return; - } - pcVar1 = *ppcVar10; - do { - if ((pcVar1 != NULL) && (*(float *)(pcVar1 + 0x18) < 500.00000000)) { - if (*pcVar1 == '\x03') { -code_r0x7f03c1cc: - fVar12 = 50.00000000; - iVar6 = *(int *)(pcVar1 + 4); - iVar7 = FUN_7f05d598(); - if (iVar7 == 0x11) { - fVar12 = 100.00000000; - } - loc_7F03F8D8(*(int *)(iVar6 + 0x1c),afStack28,&fStack32,0); - if (0.00000000 <= afStack28[0]) { - if ((fStack32 <= 0.00000000) && - (loc_7F03F8D8(*(int *)(iVar6 + 0x1c),&fStack36,&fStack40,1), 0.00000000 <= fStack36)) { - if ((fStack40 <= 0.00000000) && - ((uVar4 = loc_7F03F8D8(*(int *)(iVar6 + 0x1c),&fStack44,&fStack48,2), - fStack48 <= 0.00000000 && (-fVar12 <= fStack44)))) { - aiStack56[0] = *(int *)(iVar5 + 0x14); - uVar3 = loc_7F0B13B4(aiStack56,*(float *)(iVar5 + 8),*(float *)(iVar5 + 0x10), - *(float *)(pcVar1 + 8),*(float *)(pcVar1 + 0x10),0x13,fVar11, - fVar11,0.00000000,1.00000000); - if (((uVar4 & 0xffffffff00000000 | - (ulonglong)((uint)uVar4 & 0xffffff00 | uVar3 >> 0x18)) != 0) && - (aiStack56[0] == *(int *)(pcVar1 + 0x14))) { - uVar9 = 0xf; - iVar7 = FUN_7f079fe0(); - if (iVar7 == 1) { - uVar9 = 200; - } - else { - iVar7 = FUN_7f079fe0(); - if (iVar7 == 0) { - uVar9 = 0xc9; - } - } - FUN_7f0687a4(auStack68,afStack80,param_1); - pfVar8 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar8,afStack80); - lVar2 = loc_7F0277F0(iVar6,uVar9,afStack80,param_2,1); - if (lVar2 != 0) { - iStack12 = 1; - FUN_7f064948((int)param_2,pcVar1,-1); - } - } - } - } - } - } - else { - if ((*pcVar1 == '\x06') && (*(int *)(pcVar1 + 4) != 0)) { - lVar2 = FUN_7f09bcfc((int)pcVar1); - iVar6 = get_cur_playernum(); - if ((longlong)iVar6 != lVar2) goto code_r0x7f03c1cc; - } - } - } - ppcVar10 = ppcVar10 + -1; - if (ppcVar10 < &DAT_80071660) goto LAB_7f03c394; - pcVar1 = *ppcVar10; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f03c3f0(undefined8 param_1) - -{ - longlong lVar1; - int iVar2; - int **ppiVar3; - uint uVar4; - int iVar5; - - iVar5 = (int)param_1; - lVar1 = FUN_7f05e1a8(iVar5); - if (lVar1 != 0) { - iVar2 = FUN_7f05def0(iVar5); - lVar1 = (longlong)iVar2; - if (lVar1 == 0x1e) { - ppiVar3 = FUN_7f051f14(); - lVar1 = (longlong)(int)ppiVar3; - } - else { - if ((((((lVar1 != 0x18) && (lVar1 != 0x19)) && (lVar1 != 0x1a)) && - ((lVar1 != 3 && (lVar1 != 0x1d)))) && - (((lVar1 != 0x1c && ((lVar1 != 0x1b && (lVar1 != 0x23)))) && (lVar1 != 0x24)))) && - ((((lVar1 != 0x21 && (lVar1 != 0x2f)) && (lVar1 != 0x30)) && - (((lVar1 != 0x3d && (lVar1 != 0x58)) && (lVar1 != 0x22)))))) { - if (lVar1 == 0x20) { - ppiVar3 = FUN_7f060084(iVar5); - lVar1 = (longlong)(int)ppiVar3; - } - else { - if ((lVar1 == 1) || (lVar1 == 2)) { - lVar1 = loc_7F03C0C0(iVar5,lVar1); - } - else { - if ((lVar1 == 0xf) || (lVar1 == 0x10)) { - FUN_7f06ace4(iVar2,0); - lVar1 = 0; - do { - loc_7F03B9AC(param_1); - lVar1 = (longlong)((int)lVar1 + 1); - } while (lVar1 != 5); - } - else { - if (lVar1 == 0x28) { - lVar1 = FUN_7f057db4(); - } - else { - if (lVar1 == 0x3c) { - *(undefined4 *)(_DAT_8007a120 + 0x1270) = 0; - } - else { - FUN_7f06ace4(iVar2,0); - uVar4 = loc_7F03B9AC(param_1); - lVar1 = (longlong)(int)uVar4; - } - } - } - } - } - } - } - } - return lVar1; -} - - - -void FUN_7f03c594(void) - -{ - FUN_7f03c3f0(0); - FUN_7f03c3f0(1); - return; -} - - - -void loc_7F03C3EC(char *param_1,longlong param_2) - -{ - uint uVar1; - int iVar2; - - if (param_2 != 1) { - if (param_2 == 2) { - loc_7F03E1F8((int)param_1); - FUN_7f03a838((int)param_1); - unset_stateflag_0x04_for_posdata((int)param_1); - return; - } - if (param_2 != 4) { - return; - } - loc_7F03E1F8((int)param_1); - FUN_7f03a838((int)param_1); - unset_stateflag_0x04_for_posdata((int)param_1); - loc_7F04C124((int)param_1); - loc_7F040D8C((int)param_1); - iVar2 = FUN_7f089e6c(); - loc_7F03A5C0((int)param_1,iVar2); - return; - } - if (*param_1 == '\x04') { - iVar2 = *(int *)(param_1 + 4); - } - else { - if (*param_1 != '\x01') goto LAB_7f03c64c; - iVar2 = *(int *)(param_1 + 4); - } - if ((*(byte *)(iVar2 + 2) & 4) != 0) { - *(undefined2 *)(param_1 + 2) = 0x4b0; - uVar1 = *(uint *)(iVar2 + 100); - *(uint *)(iVar2 + 100) = uVar1 | 0x800; - *(uint *)(iVar2 + 100) = uVar1 & 0xfffffffb | 0x800; - *(byte *)(iVar2 + 2) = *(byte *)(iVar2 + 2) & 0x7f; - *(undefined4 *)(iVar2 + 0x70) = 0; - loc_7F03E1F8((int)param_1); - unset_stateflag_0x04_for_posdata((int)param_1); - return; - } -LAB_7f03c64c: - loc_7F03E1F8((int)param_1); - FUN_7f03a838((int)param_1); - unset_stateflag_0x04_for_posdata((int)param_1); - FUN_7f03a784((int)param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f03c6fc(void) - -{ - char cVar1; - char *pcVar2; - int iVar3; - longlong lVar4; - char **ppcVar5; - - _DAT_80071e38 = 0; - ppcVar5 = (char **)(_DAT_80071e30 + -4); - lVar4 = 1; - if (ppcVar5 < &DAT_80071660) { - _DAT_80071e38 = 0; - return 0; - } - pcVar2 = *ppcVar5; - do { - if (pcVar2 != NULL) { - cVar1 = *pcVar2; - if (cVar1 != '\x03') { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - lVar4 = loc_7F04F160((int)pcVar2); - } - else { - if (cVar1 == '\x02') { - iVar3 = loc_7F05598C(pcVar2); - lVar4 = (longlong)iVar3; - } - } - } - if (lVar4 == 0) { - return _DAT_80071e38; - } - } - ppcVar5 = ppcVar5 + -1; - if (ppcVar5 < &DAT_80071660) { - return _DAT_80071e38; - } - pcVar2 = *ppcVar5; - } while( true ); -} - - - -undefined8 FUN_7f03c7f0(void) - -{ - char *pcVar2; - int iVar3; - undefined8 uVar1; - longlong lVar4; - - pcVar2 = (char *)FUN_7f03c6fc(); - lVar4 = 0; - if (pcVar2 == NULL) { - uVar1 = 1; - } - else { - if (true) { - switch(*pcVar2) { - case '\x01': - case '\x04': - iVar3 = loc_7F04F1F4(pcVar2); - lVar4 = (longlong)iVar3; - break; - case '\x02': - lVar4 = FUN_7f05613c((int)pcVar2); - } - } - loc_7F03C3EC(pcVar2,lVar4); - uVar1 = 0; - } - return uVar1; -} - - - -undefined4 FUN_7f03c874(int param_1) - -{ - int iVar1; - ulonglong uVar2; - longlong lVar3; - int *piVar4; - float fVar5; - float fVar6; - float fVar7; - - uVar2 = get_num_players(); - lVar3 = 0; - if (0 < (longlong)uVar2) { - piVar4 = (int *)&DAT_80079f50; - do { - iVar1 = *(int *)(*piVar4 + 0xa8); - fVar5 = *(float *)(iVar1 + 8) - *(float *)(param_1 + 8); - fVar6 = *(float *)(iVar1 + 0xc) - *(float *)(param_1 + 0xc); - fVar7 = *(float *)(iVar1 + 0x10) - *(float *)(param_1 + 0x10); - fVar5 = sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - lVar3 = (longlong)((int)lVar3 + 1); - if (fVar5 < 400.00000000) { - return 0; - } - piVar4 = piVar4 + 1; - } while (lVar3 < (longlong)uVar2); - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03c948(void) - -{ - byte bVar1; - short sVar2; - int iVar3; - bool bVar4; - char *pcVar5; - char *pcVar6; - char *pcVar7; - char *pcVar10; - short sVar14; - int iVar11; - int iVar12; - int **ppiVar13; - longlong lVar8; - ulonglong uVar9; - longlong lVar15; - char cVar16; - - FUN_7f032c1c(); - pcVar10 = (char *)FUN_7f03a724(); - pcVar7 = pcVar10; - do { - pcVar6 = pcVar7; - pcVar5 = pcVar10; - if (pcVar5 == NULL) { - return; - } - pcVar10 = *(char **)(pcVar5 + 0x24); - lVar15 = 0; - cVar16 = *pcVar5; - if (cVar16 == '\x03') { - iVar3 = *(int *)(pcVar5 + 4); - FUN_7f06302c((char *)(iVar3 + 0x180)); - FUN_7f06302c((char *)(iVar3 + 0x1ac)); - } - else { - if (((cVar16 == '\x01') || (cVar16 == '\x04')) || (cVar16 == '\x02')) { - sVar2 = *(short *)(pcVar5 + 2); - iVar3 = *(int *)(pcVar5 + 4); - bVar4 = false; - if (sVar2 < 1) { -LAB_7f03cbe4: - cVar16 = *(char *)(iVar3 + 3); - } - else { - *(short *)(pcVar5 + 2) = sVar2 - (short)DAT_800483a4; - if (*(short *)(pcVar5 + 2) < 0x3c) { - if ((0x3b < sVar2) && (iVar11 = FUN_7f03c874((int)pcVar5), iVar11 == 0)) { - *(short *)(pcVar5 + 2) = *(short *)(pcVar5 + 2) + 0x3c; - } - sVar14 = *(short *)(pcVar5 + 2); - } - else { - sVar14 = *(short *)(pcVar5 + 2); - } - if (sVar14 < 1) { - *(undefined2 *)(pcVar5 + 2) = 0; - if ((*(byte *)(iVar3 + 2) & 0x10) == 0) { - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) & 0xffffefff; - } - else { - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 0x1000; - } - goto LAB_7f03cbe4; - } - if (sVar14 < 0x3c) { - if (0x3b < sVar2) { - if (*(float *)(iVar3 + 0x70) == 0.00000000) { - if ((*(byte *)(iVar3 + 2) & 0x80) != 0) { - bVar1 = *(byte *)(iVar3 + 2); - goto LAB_7f03cb68; - } - if ((*(uint *)(iVar3 + 8) & 0x8000) == 0) { - set_stateflag_0x04_for_posdata((int)pcVar5); - FUN_7f03e434(pcVar5); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) & 0xfffff7ff; - goto LAB_7f03cbac; - } - loc_7F03E1F8((int)pcVar5); - FUN_7f03a838((int)pcVar5); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) & 0xfffff7ff; - iVar11 = FUN_7f0570a8((int)pcVar5); - sVar2 = *(short *)(iVar3 + 6); - iVar12 = FUN_7f0beac4(); - iVar11 = FUN_7f0573a0((longlong)iVar12,iVar11 + (int)sVar2); - if (iVar11 == 0) { - cVar16 = *(char *)(iVar3 + 3); - } - else { - if (*(int *)(iVar11 + 0x10) != 0) { - set_obj_instance_controller_scale - (*(int *)(iVar3 + 0x14),*(undefined4 *)(*(int *)(iVar3 + 0x14) + 0x14) - ); - loc_7F03A5C0(*(int *)(iVar3 + 0x10),*(int *)(iVar11 + 0x10)); - bVar4 = true; - goto LAB_7f03cbac; - } - cVar16 = *(char *)(iVar3 + 3); - } - } - else { - bVar1 = *(byte *)(iVar3 + 2); -LAB_7f03cb68: - if ((bVar1 & 8) == 0) { - *(uint *)(iVar3 + 8) = *(uint *)(iVar3 + 8) & 0xfffffeff; - } - else { - *(uint *)(iVar3 + 8) = *(uint *)(iVar3 + 8) | 0x100; - } - *(undefined4 *)(iVar3 + 0x70) = 0; - *(byte *)(iVar3 + 2) = *(byte *)(iVar3 + 2) & 0x7f; - loc_7F050F20(*(int *)(iVar3 + 0x14)); -LAB_7f03cbac: - cVar16 = *(char *)(iVar3 + 3); - } - if (cVar16 == '\x15') { - *(undefined4 *)(iVar3 + 0x84) = *(undefined4 *)(iVar3 + 0x80); - } - if (!bVar4) { - ppiVar13 = FUN_70008e18((longlong)_DAT_80063760,0x52,NULL); - FUN_7f053f0c((int)ppiVar13,(float *)(pcVar5 + 8)); - } - goto LAB_7f03cbe4; - } - cVar16 = *(char *)(iVar3 + 3); - } - else { - cVar16 = *(char *)(iVar3 + 3); - } - } - if (cVar16 == '\r') { - FUN_7f06302c(*(char **)(*(int *)(pcVar5 + 4) + 0xcc)); - } - } - else { - if (cVar16 == '\a') { - lVar15 = loc_7F09D4A8(pcVar5); - } - else { - if (cVar16 == '\b') { - lVar15 = FUN_7f09f450(pcVar5); - } - else { - if (cVar16 == '\x06') { - lVar8 = FUN_7f09bcfc((int)pcVar5); - FUN_7f06302c((char *)(*(int *)(&DAT_80079f50 + (int)lVar8 * 4) + 0xa54)); - lVar8 = FUN_7f09bcfc((int)pcVar5); - FUN_7f06302c((char *)(*(int *)(&DAT_80079f50 + (int)lVar8 * 4) + 0xdfc)); - if ((*(int *)(pcVar5 + 4) != 0) && (uVar9 = get_num_players(), 1 < (longlong)uVar9)) { - iVar3 = *(int *)(pcVar5 + 4); - FUN_7f06302c((char *)(iVar3 + 0x180)); - FUN_7f06302c((char *)(iVar3 + 0x1ac)); - } - } - } - } - } - } - pcVar7 = pcVar10; - if (lVar15 != 5) { - pcVar10 = *(char **)(pcVar6 + 0x24); - if (lVar15 == 3) { - FUN_7f03a838((int)pcVar5); - FUN_7f03a7f0((int)pcVar5); - pcVar7 = pcVar10; - if (pcVar10 == NULL) { - pcVar10 = pcVar5; - pcVar7 = pcVar6; - } - } - else { - loc_7F03C3EC(pcVar5,lVar15); - pcVar7 = pcVar10; - } - } - } while( true ); -} - - - -void FUN_7f03cd30(void) - -{ - char cVar1; - longlong lVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a2_lo_04; - undefined4 uVar6; - undefined4 extraout_a2_lo_05; - undefined4 extraout_a2_lo_06; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined4 extraout_a3_lo_04; - undefined4 uVar7; - undefined4 extraout_a3_lo_05; - undefined4 extraout_a3_lo_06; - char *pcVar8; - longlong lVar9; - - iVar3 = FUN_7f03a724(); - lVar9 = (longlong)iVar3; - uVar6 = extraout_a2_lo; - uVar7 = extraout_a3_lo; - while (lVar2 = lVar9, lVar2 != 0) { - pcVar8 = (char *)lVar2; - cVar1 = *pcVar8; - uVar5 = 0; - iVar3 = *(int *)(pcVar8 + 0x24); - if (cVar1 == '\x03') { - uVar5 = FUN_7f021188(pcVar8,0,uVar6,uVar7); - uVar6 = extraout_a2_lo_00; - uVar7 = extraout_a3_lo_00; - } - else { - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - uVar5 = FUN_7f0456a8(lVar2); - uVar6 = extraout_a2_lo_01; - uVar7 = extraout_a3_lo_01; - } - else { - if (cVar1 == '\a') { - uVar5 = FUN_7f09e090((int)pcVar8); - uVar6 = extraout_a2_lo_02; - uVar7 = extraout_a3_lo_02; - } - else { - if (cVar1 == '\b') { - uVar5 = FUN_7f09fb40((int)pcVar8); - uVar6 = extraout_a2_lo_03; - uVar7 = extraout_a3_lo_03; - } - else { - if (cVar1 == '\x06') { - iVar4 = FUN_7f08b978(pcVar8); - uVar5 = SEXT48(iVar4); - uVar6 = extraout_a2_lo_04; - uVar7 = extraout_a3_lo_04; - } - } - } - } - } - lVar9 = (longlong)iVar3; - if (uVar5 != 5) { - lVar9 = (longlong)*(int *)(pcVar8 + 0x24); - if (uVar5 == 3) { - FUN_7f03a838((int)pcVar8); - FUN_7f03a7f0((int)pcVar8); - uVar6 = extraout_a2_lo_05; - uVar7 = extraout_a3_lo_05; - if (lVar9 == 0) { - lVar9 = lVar2; - uVar6 = extraout_a2_lo_05; - uVar7 = extraout_a3_lo_05; - } - } - else { - loc_7F03C3EC(pcVar8,uVar5); - uVar6 = extraout_a2_lo_06; - uVar7 = extraout_a3_lo_06; - } - } - } - iVar3 = get_cur_playernum(); - iVar3 = FUN_7f09c078(iVar3); - if (iVar3 == 0) { - FUN_7f056aec(); - FUN_7f034be4(); - FUN_7f03e7f0(); - } - return; -} - - - -void loc_7F03CC0C(char *param_1,uint *param_2) - -{ - char cVar1; - byte bVar2; - int iVar3; - uint *puVar4; - - if (*(int *)(param_1 + 0x14) == 0) { - *param_2 = 0xffffffff; - return; - } - if (*param_1 == '\x06') { - if (*(int *)(param_1 + 4) == 0) { - bVar2 = *(byte *)(*(int *)(param_1 + 0x14) + 3); - param_2[1] = 0xffffffff; - *param_2 = (uint)bVar2; - return; - } - cVar1 = param_1[0x2c]; - } - else { - cVar1 = param_1[0x2c]; - } - iVar3 = 0; - if (cVar1 != -1) { - bVar2 = param_1[0x2c]; - puVar4 = param_2; - do { - *puVar4 = (uint)bVar2; - bVar2 = param_1[0x2d]; - iVar3 += 1; - puVar4 = puVar4 + 1; - param_1 = param_1 + 1; - } while (bVar2 != 0xff); - } - param_2[iVar3] = 0xffffffff; - return; -} - - - -void loc_7F03CCA4(char *param_1,int **param_2,undefined4 *param_3,float *param_4,float *param_5) - -{ - char cVar1; - - *param_2 = NULL; - *param_3 = 0; - cVar1 = *param_1; - if (cVar1 == '\x03') { - locret_7F023158((int)param_1,(int *)param_2,param_3,param_4,param_5); - } - else { - if (cVar1 == '\x06') { - FUN_7f08a7e8((int)param_1,param_2,param_3,param_4,param_5); - } - else { - if ((cVar1 != '\x04') && ((cVar1 == '\x01' || (cVar1 == '\x02')))) { - locret_7F04F2AC((int)param_1,(int *)param_2,param_3,param_4,param_5); - } - } - } - return; -} - - - -void FUN_7f03cfb0(char *param_1,int **param_2,undefined4 *param_3) - -{ - float fStack8; - float fStack4; - - loc_7F03CCA4(param_1,param_2,param_3,&fStack4,&fStack8); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03d09c) overlaps instruction at (ram,0x7f03d098) -// - -undefined8 loc_7F03CF7C(float *param_1,float *param_2,uint param_3) - -{ - float *pfVar1; - float *pfVar2; - longlong lVar3; - uint uVar4; - uint uVar5; - float *pfVar6; - int iVar7; - float fVar8; - - lVar3 = -1; - if ((int)param_3 < 1) { - return 0; - } - uVar4 = 0; - if (0 < (int)param_3) { - if ((param_3 & 1) == 0) { - iVar7 = 0; - } - else { - if (param_3 == 0) { - trap(0x1c00); - } - if ((param_3 == 0xffffffff) && (false)) { - trap(0x1800); - } - uVar4 = 1; - fVar8 = ((param_2 + (1 % param_3) * 2)[1] - param_2[1]) * (*param_1 - *param_2) - - (param_1[2] - param_2[1]) * (param_2[(1 % param_3) * 2] - *param_2); - if ((fVar8 != 0.00000000) && (lVar3 = 0, 0.00000000 < fVar8)) { - lVar3 = 1; - } - iVar7 = 8; - if (param_3 == 1) { - return 1; - } - } - pfVar6 = (float *)((int)param_2 + iVar7); - do { - if (param_3 == 0) { - trap(0x1c00); - } - if ((param_3 == 0xffffffff) && (uVar4 + 1 == -0x80000000)) { - trap(0x1800); - } - uVar5 = uVar4 + 2; - fVar8 = ((param_2 + ((int)(uVar4 + 1) % param_3) * 2)[1] - pfVar6[1]) * (*param_1 - *pfVar6) - - (param_1[2] - pfVar6[1]) * (param_2[((int)(uVar4 + 1) % param_3) * 2] - *pfVar6); - if (fVar8 != 0.00000000) { - if ((uVar4 == 0) || (lVar3 < 0)) { - lVar3 = 0; - if (0.00000000 < fVar8) { - lVar3 = 1; - } - } - else { - if ((lVar3 != 0) && (fVar8 < 0.00000000)) { - return 0; - } - if ((lVar3 == 0) && (0.00000000 < fVar8)) { - return 0; - } - } - } - pfVar1 = pfVar6 + 3; - pfVar2 = pfVar6 + 2; - if (param_3 == 0) { - trap(0x1c00); - } - if ((param_3 == 0xffffffff) && (uVar5 == 0x80000000)) { - trap(0x1800); - } - pfVar6 = pfVar6 + 4; - fVar8 = ((param_2 + ((int)uVar5 % param_3) * 2)[1] - *pfVar1) * (*param_1 - *pfVar2) - - (param_1[2] - *pfVar1) * (param_2[((int)uVar5 % param_3) * 2] - *pfVar2); - if (fVar8 != 0.00000000) { - if ((uVar4 == 0xffffffff) || (lVar3 < 0)) { - lVar3 = 0; - if (0.00000000 < fVar8) { - lVar3 = 1; - } - } - else { - if ((lVar3 != 0) && (fVar8 < 0.00000000)) { - return 0; - } - if ((lVar3 == 0) && (0.00000000 < fVar8)) { - return 0; - } - } - } - uVar4 = uVar5; - } while (uVar5 != param_3); - } - return 1; -} - - - -void FUN_7f03d288(char *param_1,undefined4 *param_2,float *param_3,undefined4 *param_4) - -{ - if (*param_1 == '\x03') { - sub_7F023160((int)param_1,param_2,param_3,param_4); - } - else { - if (*param_1 == '\x06') { - FUN_7f08a9ac((int)param_1,param_2,param_3,param_4); - } - else { - *param_2 = 0; - } - } - return; -} - - - -ulonglong FUN_7f03d2e8(byte *param_1) - -{ - byte bVar1; - ulonglong uVar2; - longlong lVar3; - int iVar4; - - bVar1 = *param_1; - uVar2 = (ulonglong)bVar1; - if (bVar1 == 3) { - iVar4 = sub_7F023188((int)param_1); - uVar2 = SEXT48(iVar4); - } - else { - if (bVar1 == 6) { - lVar3 = FUN_7f09bcfc((int)param_1); - iVar4 = sub_7F089778(*(int *)(&DAT_80079f50 + (int)lVar3 * 4)); - uVar2 = SEXT48(iVar4); - } - } - return uVar2; -} - - - -void FUN_7f03d358(char *param_1,longlong param_2) - -{ - char cVar1; - - cVar1 = *param_1; - if (cVar1 == '\x03') { - loc_7F01F604(*(int *)(param_1 + 4),param_2); - } - else { - if (cVar1 == '\x06') { - FUN_7f08a774((int)param_1,(int)param_2); - } - else { - if (((cVar1 == '\x01') || (cVar1 == '\x02')) || (cVar1 == '\x04')) { - loc_7F04F230((int)param_1,param_2); - } - } - } - return; -} - - - -void FUN_7f03d3d4(void) - -{ - char *pcVar1; - int iVar2; - char *pcVar3; - longlong lVar4; - - iVar2 = FUN_7f07d49c(); - if ((iVar2 == 0) && (DAT_800364f4 == 0)) { - pcVar3 = (char *)FUN_7f03a724(); - while (pcVar3 != NULL) { - lVar4 = 0; - if (*(short *)(pcVar3 + 2) < 1) { - if (true) { - switch(*pcVar3) { - case '\x01': - lVar4 = FUN_7f050ae0(pcVar3); - break; - case '\x04': - lVar4 = FUN_7f052a50(); - } - } - pcVar1 = *(char **)(pcVar3 + 0x24); - } - else { - pcVar1 = *(char **)(pcVar3 + 0x24); - } - loc_7F03C3EC(pcVar3,lVar4); - pcVar3 = pcVar1; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f03d488(int iParm1,float *pfParm2,float *pfParm3,undefined4 *puParm4,float *pfParm5) - -{ - bool bVar1; - longlong lVar2; - ulonglong uVar3; - uint uVar4; - int iVar5; - uint uVar6; - float in_f0; - float fVar7; - float fVar8; - float extraout_f0; - float fVar9; - int iStack96; - uint uStack92; - float fStack88; - uint uStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - undefined4 uStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float afStack36 [2]; - float afStack28 [2]; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - FUN_7f078ac4(); - fStack68 = in_f0; - FUN_7f078aa4(); - fStack64 = fStack68 * DAT_800529f0 + in_f0; - FUN_7f078ac4(); - fStack72 = fStack68; - FUN_7f078aa4(); - fStack68 = fStack72 * DAT_800529f4 + fStack68; - FUN_7f078ab4(); - fStack76 = fStack72; - FUN_7f078a94(); - fStack72 = fStack76 * 0.25000000 + fStack72; - FUN_7f078ab4(); - fVar8 = fStack76; - FUN_7f078a94(); - fStack80 = -2.00000000; - fStack76 = fVar8 * 0.75000000 + fStack76; - FUN_7f0785e4(pfParm2,&fStack8); - fStack20 = *pfParm3; - fStack16 = pfParm2[1]; - fStack12 = pfParm2[2]; - FUN_7f0785e4(&fStack20,afStack28); - fStack20 = pfParm3[1]; - fStack16 = pfParm2[1]; - fStack12 = pfParm2[2]; - FUN_7f0785e4(&fStack20,afStack36); - fStack20 = *pfParm2; - fStack16 = (float)puParm4[1]; - fStack12 = pfParm2[2]; - FUN_7f0785e4(&fStack20,&fStack44); - fStack20 = *pfParm2; - fStack16 = (float)*puParm4; - fStack12 = pfParm2[2]; - FUN_7f0785e4(&fStack20,&fStack52); - if (fStack48 < fStack64) { - return fStack80; - } - if (fStack68 < fStack40) { - return fStack80; - } - uStack84 = 0; - FUN_7f0685e0(&fStack56,&uStack60); - afStack28[0] = loc_7F05C3C8(afStack28[0]); - afStack36[0] = loc_7F05C4A8(afStack36[0]); - lVar2 = FUN_7f07cccc(); - if (lVar2 == 0) { - uVar4 = (uint)(afStack28[0] <= fStack56); - if (afStack28[0] <= fStack56) { - if (fStack56 <= afStack36[0]) { - uStack84 = 1; - uVar4 = uStack84; - } - else { - uStack84 = 0; - uVar4 = uStack84; - } - } - } - else { - uVar4 = uStack84; - if ((afStack28[0] <= fStack76) && (uVar4 = uStack84, fStack72 <= afStack36[0])) { - fStack88 = (afStack36[0] - afStack28[0]) * 1.50000000; - uVar3 = get_num_players(); - if (uVar3 == 1) { - fStack88 = fStack88 * DAT_80030aec; - } - FUN_7f078a94(); - fVar8 = fStack56; - FUN_7f078ab4(); - bVar1 = (afStack36[0] + afStack28[0]) * 0.50000000 - fStack88 <= fVar8 + fStack56 * 0.50000000 - ; - uVar4 = (uint)bVar1; - if (bVar1) { - FUN_7f078a94(); - fVar7 = fVar8; - FUN_7f078ab4(); - bVar1 = fVar7 + fVar8 * 0.50000000 <= (afStack36[0] + afStack28[0]) * 0.50000000 + fStack88; - uVar4 = (uint)bVar1; - if (((bVar1) && (uVar4 = (uint)(fStack72 <= fStack8), fStack72 <= fStack8)) && - (uVar4 = 0, fStack8 <= fStack76)) { - uVar4 = 1; - } - } - } - } - uStack84 = uVar4; - if (uStack84 == 0) { - return fStack80; - } - uStack92 = FUN_7f089e6c(); - iStack96 = *(int *)(uStack92 + 0x14); - fVar8 = sub_7F089780(_DAT_8007a120); - FUN_7f08a774(uStack92,0); - iVar5 = (int)uStack92 >> 0x1f; - uVar6 = uStack92; - uVar4 = loc_7F0B13B4(&iStack96,*(float *)(uStack92 + 8),*(float *)(uStack92 + 0x10), - *(float *)(iParm1 + 8),*(float *)(iParm1 + 0x10),0x13,fVar8,fVar8,0.00000000, - 1.00000000); - if ((CONCAT44(iVar5,uVar6 & 0xffffff00 | uVar4 >> 0x18) != 0) && - (iStack96 == *(int *)(iParm1 + 0x14))) { - fVar8 = fStack64; - if ((fStack64 <= fStack4) && (fVar8 = fStack68, fStack4 <= fStack68)) { - fVar8 = fStack4; - } - pfParm5[1] = fVar8; - lVar2 = FUN_7f07cccc(); - fVar8 = extraout_f0; - if (lVar2 != 0) { - fVar8 = fStack72; - if ((fStack8 < fStack72) || (fVar8 = fStack76, fStack76 < fStack8)) { - *pfParm5 = fVar8; - } - else { - *pfParm5 = fStack8; - fVar8 = fStack8; - } - } - FUN_7f078a94(); - fVar7 = fVar8; - FUN_7f078ab4(); - if (afStack28[0] <= fVar7 + fVar8 * 0.50000000) { - FUN_7f078a94(); - fVar8 = fVar7; - FUN_7f078ab4(); - fVar9 = fVar7 * 0.50000000; - fVar7 = fVar8; - if (fVar8 + fVar9 <= afStack36[0]) { - fStack80 = 1.00000000; - goto LAB_7f03da6c; - } - } - FUN_7f078a94(); - fVar8 = fVar7; - FUN_7f078ab4(); - if (afStack28[0] <= fVar8 + fVar7 * 0.50000000) { - FUN_7f078a94(); - fVar7 = fVar8; - FUN_7f078ab4(); - fStack80 = 1.00000000 - ((fVar7 + fVar8 * 0.50000000) - afStack36[0]) / fStack88; - } - else { - FUN_7f078ab4(); - fVar7 = fVar8; - FUN_7f078a94(); - fStack80 = 1.00000000 - (afStack28[0] - (fVar7 * 0.50000000 + fVar8)) / fStack88; - } - } -LAB_7f03da6c: - FUN_7f08a774(uStack92,1); - return fStack80; -} - - - -// WARNING: Instruction at (ram,0x7f03db84) overlaps instruction at (ram,0x7f03db80) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03D9C0(void) - -{ - longlong lVar1; - int iVar2; - int iVar3; - char **ppcVar4; - char *pcVar5; - char *pcVar6; - float extraout_f0; - float fVar7; - float fVar8; - float extraout_f0_00; - float fStack60; - float fStack56; - float afStack48 [2]; - float afStack40 [2]; - float afStack32 [5]; - float fStack12; - float fStack8; - - pcVar5 = NULL; - fStack12 = DAT_80030af0; - fStack8 = DAT_80030af4; - lVar1 = FUN_7f07cbe4(); - fVar7 = extraout_f0; - pcVar6 = pcVar5; - if (lVar1 != 0) { - fVar8 = -1.00000000; - ppcVar4 = (char **)(_DAT_80071e30 + -4); - fVar7 = extraout_f0; - pcVar6 = pcVar5; - if ((char **)0x8007165f < ppcVar4) { - pcVar6 = *ppcVar4; - fVar7 = extraout_f0; - do { - if (pcVar6 != NULL) { - if (*pcVar6 == '\x03') { -LAB_7f03db60: - iVar2 = *(int *)(pcVar6 + 4); - iVar3 = something_with_weaponpos_of_guarddata_hand(iVar2,0); - if ((((iVar3 != 0) || - (iVar2 = something_with_weaponpos_of_guarddata_hand(iVar2,1), iVar2 != 0)) && - (lVar1 = loc_7F023280((int)pcVar6,afStack32,afStack40,afStack48), lVar1 != 0)) && - (fVar7 = (float)FUN_7f03d488(pcVar6,afStack32,afStack40,afStack48,&fStack60), - fVar8 < fVar7)) { - fStack12 = fStack60; - fStack8 = fStack56; - fVar8 = fVar7; - pcVar5 = pcVar6; - if (1.00000000 <= fVar7) break; - } - } - else { - if ((*pcVar6 == '\x06') && (*(int *)(pcVar6 + 4) != 0)) { - lVar1 = FUN_7f09bcfc((int)pcVar6); - iVar2 = get_cur_playernum(); - if ((longlong)iVar2 != lVar1) goto LAB_7f03db60; - } - } - } - ppcVar4 = ppcVar4 + -1; - pcVar6 = pcVar5; - if (ppcVar4 < &DAT_80071660) break; - pcVar6 = *ppcVar4; - } while( true ); - } - } - if (pcVar6 == NULL) { - FUN_7f07cc14(0,0); - FUN_7f07ccec(0,0); - } - else { - FUN_7f078ac4(); - fVar8 = fVar7; - FUN_7f078aa4(); - FUN_7f07cc14((int)pcVar6,(fStack8 - fVar7) / (fVar8 * 0.50000000) - 1.00000000); - lVar1 = FUN_7f07cccc(); - if (lVar1 != 0) { - fVar7 = extraout_f0_00; - FUN_7f078ab4(); - fVar8 = fVar7; - FUN_7f078a94(); - FUN_7f07ccec((int)pcVar6,(fStack12 - fVar7) / (fVar8 * 0.50000000) - 1.00000000); - } - } - return; -} - - - -ulonglong locret_7F03DA48(int param_1) - -{ - int iVar1; - ulonglong uVar2; - - iVar1 = *(int *)(param_1 + 4); - if (*(float *)(iVar1 + 0xb4) <= 0.00000000) { - uVar2 = 0x1000; - } - else { - uVar2 = 0x4000; - if (*(float *)(iVar1 + 0x84) <= *(float *)(iVar1 + 0xb4)) { - uVar2 = 0x2000; - } - } - if (*(int *)(iVar1 + 0xc) << 2 < 0) { - uVar2 = uVar2 | 0x8000; - } - return uVar2; -} - - - -undefined4 loc_7F03DB60(char *param_1,uint param_2) - -{ - char cVar1; - uint uVar2; - ulonglong uVar3; - undefined4 uVar4; - uint uVar5; - - cVar1 = *param_1; - uVar4 = 1; - if (cVar1 == '\x02') { - if (((param_2 & 0x100) != 0) && (*(int *)(*(int *)(param_1 + 4) + 8) << 5 < 0)) { - uVar4 = 0; - } - if ((param_2 & 2) != 0) { - return uVar4; - } - uVar3 = locret_7F03DA48((int)param_1); - if ((uVar3 & (longlong)(int)param_2) != 0) { - return uVar4; - } - } - else { - uVar5 = param_2 & 4; - if (cVar1 != '\x06') { - if (cVar1 == '\x03') { - uVar5 = param_2 & 8; - } - else { - if (((param_2 & 0x100) != 0) && (*(int *)(*(int *)(param_1 + 4) + 8) << 5 < 0)) { - uVar4 = 0; - } - uVar2 = *(uint *)(*(int *)(param_1 + 4) + 8); - if (((param_2 & 0x200) != 0) && (-1 < (int)(uVar2 << 0xe))) { - uVar4 = 0; - } - uVar5 = param_2 & 1; - if ((uVar2 & 0x800) != 0) { - uVar5 = param_2 & 0x10; - } - } - } - if (uVar5 != 0) { - return uVar4; - } - } - return 0; -} - - - -undefined8 locret_7F03DBC4(int *param_1,int *param_2) - -{ - int iVar1; - int *piVar2; - int iVar3; - - iVar3 = *param_1; - if (-1 < iVar3) { - iVar1 = *param_2; - piVar2 = param_2; - do { - while (-1 < iVar1) { - if (iVar3 == iVar1) { - return 1; - } - iVar1 = piVar2[1]; - piVar2 = piVar2 + 1; - } - iVar3 = param_1[1]; - param_1 = param_1 + 1; - iVar1 = *param_2; - piVar2 = param_2; - } while (-1 < iVar3); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f03decc(short param_1,int param_2) - -{ - short *psVar1; - int iVar2; - short *psVar3; - - psVar1 = (short *)(_DAT_8007165c + param_2 * 0x20); - if (*psVar1 < 0) { - *psVar1 = param_1; - return 1; - } - if (psVar1[1] < 0) { - psVar1[1] = param_1; - return 1; - } - psVar3 = psVar1 + 3; - if (psVar1[2] < 0) { - psVar1[2] = param_1; - return 1; - } - iVar2 = 6; - while( true ) { - iVar2 += 8; - if (*psVar3 < 0) { - *psVar3 = param_1; - return 1; - } - if (psVar3[1] < 0) { - psVar3[1] = param_1; - return 1; - } - if (psVar3[2] < 0) { - psVar3[2] = param_1; - return 1; - } - if (psVar3[3] < 0) break; - psVar3 = psVar3 + 4; - if (iVar2 == 0x1e) { - return 0; - } - } - psVar3[3] = param_1; - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f03dfb8(int param_1,longlong param_2) - -{ - int iVar1; - short *psVar2; - int iVar3; - int iVar4; - - iVar3 = 0; - psVar2 = _DAT_8007165c; - while (*psVar2 != -2) { - iVar3 += 1; - psVar2 = psVar2 + 0x10; - if (iVar3 == 0x100) { - return -1; - } - } - iVar4 = 0; - do { - *(undefined2 *)((int)_DAT_8007165c + iVar4 + iVar3 * 0x20) = 0xffff; - *(undefined2 *)((int)_DAT_8007165c + iVar4 + iVar3 * 0x20 + 2) = 0xffff; - *(undefined2 *)((int)_DAT_8007165c + iVar4 + iVar3 * 0x20 + 4) = 0xffff; - iVar1 = iVar4 + iVar3 * 0x20; - iVar4 += 8; - *(undefined2 *)((int)_DAT_8007165c + iVar1 + 6) = 0xffff; - } while (iVar4 != 0x20); - if (-1 < param_2) { - _DAT_8007165c[(int)param_2 * 0x10 + 0xf] = (short)iVar3; - return iVar3; - } - *(short *)(_DAT_80071658 + param_1 * 2) = (short)iVar3; - return iVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03DE80(int param_1,short param_2) - -{ - int iVar1; - longlong lVar2; - longlong lVar3; - - lVar2 = -1; - if (-1 < param_2) { - lVar3 = (longlong)*(short *)(_DAT_80071658 + (int)param_2 * 2); - if (-1 < lVar3) { - do { - lVar2 = lVar3; - lVar3 = FUN_7f03decc((short)((param_1 + 0x7ff96388) / 0x34),(int)lVar2); - if (lVar3 != 0) { - return; - } - lVar3 = (longlong)*(short *)(_DAT_8007165c + (int)lVar2 * 0x20 + 0x1e); - } while (-1 < lVar3); - } - iVar1 = FUN_7f03dfb8((int)param_2,lVar2); - if (-1 < iVar1) { - FUN_7f03decc((short)((param_1 + 0x7ff96388) / 0x34),iVar1); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F03E128(int param_1,short param_2) - -{ - short sVar1; - bool bVar2; - bool bVar3; - longlong lVar4; - int iVar5; - longlong lVar6; - longlong lVar7; - int iVar8; - longlong lVar9; - short *psVar10; - int iVar11; - - bVar3 = false; - if (-1 < (int)param_2) { - iVar8 = (int)param_2 * 2; - sVar1 = *(short *)(_DAT_80071658 + iVar8); - lVar4 = (longlong)sVar1; - if (-1 < lVar4) { - lVar6 = (longlong)(int)(short)((param_1 + 0x7ff96388) / 0x34); - lVar7 = -1; - do { - psVar10 = (short *)(_DAT_8007165c + (int)sVar1 * 0x20); - bVar2 = false; - iVar5 = (int)lVar4; - if (lVar6 == (longlong)*psVar10) { - *psVar10 = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8007165c + iVar5 * 0x20); -LAB_7f03e24c: - sVar1 = psVar10[1]; - } - else { - if (-1 < (longlong)*psVar10) { - bVar2 = true; - goto LAB_7f03e24c; - } - sVar1 = psVar10[1]; - } - if (lVar6 == (longlong)sVar1) { - psVar10[1] = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8007165c + iVar5 * 0x20); -LAB_7f03e280: - lVar9 = (longlong)psVar10[2]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[2]; - } - else { - if (-1 < (longlong)sVar1) { - bVar2 = true; - goto LAB_7f03e280; - } - lVar9 = (longlong)psVar10[2]; - } - } - if (lVar6 == lVar9) { - psVar10[2] = -1; - bVar3 = true; - } - else { - if ((!bVar2) && (-1 < lVar9)) { - bVar2 = true; - } - } - iVar11 = 6; - do { - psVar10 = (short *)(_DAT_8007165c + iVar5 * 0x20 + iVar11); - if (lVar6 == (longlong)*psVar10) { - *psVar10 = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8007165c + iVar5 * 0x20 + iVar11); -LAB_7f03e2fc: - lVar9 = (longlong)psVar10[1]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[1]; - } - else { - if (-1 < (longlong)*psVar10) { - bVar2 = true; - goto LAB_7f03e2fc; - } - lVar9 = (longlong)psVar10[1]; - } - } - if (lVar6 == lVar9) { - psVar10[1] = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8007165c + iVar5 * 0x20 + iVar11); -LAB_7f03e338: - lVar9 = (longlong)psVar10[2]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[2]; - } - else { - if (-1 < lVar9) { - bVar2 = true; - goto LAB_7f03e338; - } - lVar9 = (longlong)psVar10[2]; - } - } - if (lVar6 == lVar9) { - psVar10[2] = -1; - bVar3 = true; - psVar10 = (short *)(_DAT_8007165c + iVar5 * 0x20 + iVar11); -LAB_7f03e374: - lVar9 = (longlong)psVar10[3]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[3]; - } - else { - if (-1 < lVar9) { - bVar2 = true; - goto LAB_7f03e374; - } - lVar9 = (longlong)psVar10[3]; - } - } - iVar11 += 8; - if (lVar6 == lVar9) { - psVar10[3] = -1; - bVar3 = true; - } - else { - if ((!bVar2) && (-1 < lVar9)) { - bVar2 = true; - } - } - } while (iVar11 != 0x1e); - lVar9 = lVar4; - if (!bVar2) { - iVar11 = iVar5 * 0x20; - *(undefined2 *)(_DAT_8007165c + iVar11) = 0xfffe; - if (lVar7 < 0) { - *(undefined2 *)(_DAT_80071658 + iVar8) = *(undefined2 *)(_DAT_8007165c + iVar11 + 0x1e); - lVar9 = lVar7; - } - else { - *(undefined2 *)(_DAT_8007165c + (int)lVar7 * 0x20 + 0x1e) = - *(undefined2 *)(_DAT_8007165c + iVar11 + 0x1e); - lVar9 = lVar7; - } - } - if (bVar3) { - return; - } - sVar1 = *(short *)(_DAT_8007165c + iVar5 * 0x20 + 0x1e); - lVar4 = (longlong)sVar1; - lVar7 = lVar9; - } while (-1 < lVar4); - } - } - return; -} - - - -void FUN_7f03e434(char *param_1) - -{ - char cVar1; - - cVar1 = *param_1; - if (cVar1 == '\x03') { - sub_7F020D94(*(int *)(param_1 + 4)); - } - else { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - loc_7F056E80(*(int *)(param_1 + 4)); - } - } - return; -} - - - -void loc_7F03E1F8(int param_1) - -{ - byte bVar1; - int iVar2; - - bVar1 = *(byte *)(param_1 + 0x2c); - iVar2 = param_1 + 0x2c; - while (bVar1 != 0xff) { - loc_7F03E128(param_1,(ushort)bVar1); - bVar1 = *(byte *)(iVar2 + 1); - iVar2 += 1; - } - if ((*(byte *)(param_1 + 1) & 0x10) == 0) { - *(undefined *)(param_1 + 0x2c) = 0xff; - } - return; -} - - - -void loc_7F03E260(int param_1) - -{ - byte bVar1; - int iVar2; - - bVar1 = *(byte *)(param_1 + 0x2c); - iVar2 = param_1 + 0x2c; - while (bVar1 != 0xff) { - loc_7F03DE80(param_1,(ushort)bVar1); - bVar1 = *(byte *)(iVar2 + 1); - iVar2 += 1; - } - return; -} - - - -void loc_7F03E3E0(char *param_1,float *param_2,float *param_3,float param_4) - -{ - char cVar1; - byte bVar2; - uint *puVar3; - uint *puVar4; - int iVar5; - char *pcVar6; - int iVar7; - int iStack40; - int iStack36; - uint auStack32 [8]; - - iVar5 = 0; - iVar7 = 0; - if ((param_1[1] & 8U) == 0) { - iStack36 = *(int *)(param_1 + 0x14); - iStack40 = 0; - locret_7F0B223C(&iStack36,*(float *)(param_1 + 8),*(float *)(param_1 + 0x10),param_4,auStack32, - &iStack40,7); - } - else { - cVar1 = *param_1; - puVar4 = (uint *)(param_1 + 0x2c); - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - iVar7 = *(int *)(param_1 + 4); - iVar5 = iVar7 >> 0x1f; - } - if (((CONCAT44(iVar5,iVar7) != 0) && ((*(uint *)(iVar7 + 100) & 0x80) != 0)) && - ((**(uint **)(iVar7 + 0x6c) & 8) != 0)) { - puVar4 = *(uint **)(iVar7 + 0x6c) + 0x33; - } - iStack40 = 0; - puVar3 = auStack32; - if (*(byte *)puVar4 != 0xff) { - bVar2 = *(byte *)puVar4; - do { - *puVar3 = (uint)bVar2; - bVar2 = *(byte *)((int)puVar4 + 1); - iStack40 += 1; - puVar3 = puVar3 + 1; - puVar4 = (uint *)((int)puVar4 + 1); - } while (bVar2 != 0xff); - } - } - FUN_7f0bae84(param_2,param_3,(int *)auStack32,&iStack40,7); - iVar7 = 0; - puVar4 = auStack32; - pcVar6 = param_1; - if (0 < iStack40) { - while( true ) { - iVar7 += 1; - puVar4 = puVar4 + 1; - pcVar6[0x2c] = (char)auStack32[0]; - if (iStack40 <= iVar7) break; - auStack32[0] = *puVar4; - pcVar6 = pcVar6 + 1; - } - } - param_1[iVar7 + 0x2c] = -1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03e6fc(int *param_1) - -{ - short sVar1; - short *psVar2; - longlong lVar3; - int iVar4; - int iVar5; - short *psVar6; - short sVar7; - - iVar5 = *param_1; - psVar2 = _DAT_80069c70; - iVar4 = _DAT_8007165c; - while (-1 < iVar5) { - lVar3 = (longlong)*(short *)(_DAT_80071658 + iVar5 * 2); - _DAT_8007165c = iVar4; - if (lVar3 < 0) { - iVar5 = param_1[1]; - _DAT_8007165c = iVar4; - } - else { - do { - iVar5 = 0; - do { - sVar1 = *(short *)(iVar4 + (int)lVar3 * 0x20 + iVar5); - iVar5 += 2; - if (-1 < sVar1) { - psVar6 = _DAT_80069c70; - if (_DAT_80069c70 < psVar2) { - sVar7 = *_DAT_80069c70; - psVar6 = _DAT_80069c70; - while ((sVar1 != sVar7 && (psVar6 = psVar6 + 1, psVar6 < psVar2))) { - sVar7 = *psVar6; - } - } - if (psVar6 == psVar2) { - *psVar2 = sVar1; - psVar2 = psVar2 + 1; - iVar4 = _DAT_8007165c; - } - } - } while (iVar5 != 0x1e); - lVar3 = (longlong)*(short *)(iVar4 + (int)lVar3 * 0x20 + 0x1e); - } while (-1 < lVar3); - iVar5 = param_1[1]; - } - param_1 = param_1 + 1; - iVar4 = _DAT_8007165c; - } - _DAT_8007165c = iVar4; - *psVar2 = -1; - _DAT_80069c74 = (int)psVar2 + (2 - (int)_DAT_80069c70) >> 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f03e93c) overlaps instruction at (ram,0x7f03e938) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f03e7f0(void) - -{ - short sVar1; - longlong lVar2; - int iVar3; - int iVar4; - int iVar6; - longlong lVar5; - int iVar7; - int iVar8; - short *psVar9; - short *psVar10; - - iVar3 = 0; - if (0 < DAT_80044324) { - iVar4 = 0; - iVar7 = DAT_80044324; - do { - iVar3 += 1; - sVar1 = *(short *)(_DAT_80071658 + iVar4); - if (-1 < (longlong)sVar1) { - lVar2 = (longlong)sVar1; - lVar5 = (longlong)*(short *)(_DAT_8007165c + (int)sVar1 * 0x20 + 0x1e); - while (-1 < lVar5) { - iVar7 = 0; - do { - iVar6 = (int)lVar5; - psVar10 = (short *)(_DAT_8007165c + (int)lVar2 * 0x20 + iVar7); - iVar7 += 2; - iVar8 = 0; - psVar9 = (short *)(_DAT_8007165c + iVar6 * 0x20); - if (*psVar10 < 0) { - do { - if (-1 < *psVar9) { - *psVar10 = *psVar9; - *(undefined2 *)(_DAT_8007165c + iVar6 * 0x20 + iVar8) = 0xffff; - break; - } - iVar8 += 2; - psVar9 = psVar9 + 1; - } while (iVar8 != 0x1e); - if (iVar8 < 0x1e) { - psVar10 = (short *)(_DAT_8007165c + iVar6 * 0x20 + iVar8); - do { - if (-1 < *psVar10) break; - iVar8 += 2; - psVar10 = psVar10 + 1; - } while (iVar8 < 0x1e); - } - if (iVar8 == 0x1e) { - iVar8 = (int)lVar2 * 0x20; - *(undefined2 *)(_DAT_8007165c + iVar6 * 0x20) = 0xfffe; - *(undefined2 *)(_DAT_8007165c + iVar8 + 0x1e) = - *(undefined2 *)(_DAT_8007165c + iVar6 * 0x20 + 0x1e); - lVar5 = (longlong)*(short *)(_DAT_8007165c + iVar8 + 0x1e); - if (lVar5 < 0) break; - } - } - } while (iVar7 < 0x1e); - iVar7 = DAT_80044324; - if (-1 < lVar5) { - lVar2 = lVar5; - lVar5 = (longlong)*(short *)(_DAT_8007165c + (int)lVar5 * 0x20 + 0x1e); - iVar7 = DAT_80044324; - } - } - } - iVar4 += 2; - } while (iVar3 < iVar7); - } - return; -} - - - -void FUN_7f03e998(void) - -{ - return; -} - - - -void loc_7F03E708(int param_1) - -{ - int iVar1; - int iVar2; - - if (((*(uint *)(*(int *)(param_1 + 4) + 100) & 1) != 0) && (DAT_80030b40 != 0)) { - iVar2 = *(int *)(DAT_80030b40 + 4); - iVar1 = DAT_80030b40; - while( true ) { - if (param_1 == iVar2) { - if (*(int *)(iVar1 + 8) == 0) { - iVar1 = *(int *)(iVar1 + 0xc); - } - else { - loc_7F055A3C(*(int *)(iVar1 + 8)); - iVar1 = *(int *)(iVar1 + 0xc); - } - } - else { - iVar1 = *(int *)(iVar1 + 0xc); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return; -} - - - -undefined8 loc_7F03E798(int param_1) - -{ - ulonglong uVar1; - int iVar2; - int iVar3; - - if (((*(uint *)(param_1 + 100) & 0x2000) != 0) && (DAT_80030b44 != 0)) { - iVar3 = *(int *)(DAT_80030b44 + 4); - iVar2 = DAT_80030b44; - while( true ) { - if (param_1 == iVar3) { - iVar3 = *(int *)(iVar2 + 8); - if (iVar3 == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - if (*(int *)(iVar3 + 0x10) == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - uVar1 = FUN_7f04f338(iVar3); - if (uVar1 != 0) { - return 0; - } - iVar2 = *(int *)(iVar2 + 0xc); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 4); - } - } - return 1; -} - - - -undefined8 FUN_7f03eaac(int param_1) - -{ - int iVar1; - int iVar2; - - if (((*(uint *)(param_1 + 0xc) & 0x400) != 0) && (DAT_80030b48 != 0)) { - iVar2 = *(int *)(DAT_80030b48 + 4); - iVar1 = DAT_80030b48; - while( true ) { - if (param_1 == iVar2) { - iVar2 = *(int *)(iVar1 + 0xc); - if (iVar2 == 0) { - iVar1 = *(int *)(iVar1 + 0x10); - } - else { - if (*(int *)(iVar2 + 0x10) == 0) { - iVar1 = *(int *)(iVar1 + 0x10); - } - else { - if (*(float *)(iVar2 + 0xb4) <= 0.50000000) { - return 0; - } - iVar1 = *(int *)(iVar1 + 0x10); - } - } - } - else { - iVar1 = *(int *)(iVar1 + 0x10); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return 1; -} - - - -void FUN_7f03eb30(int param_1) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 0x10); - FUN_7f0b3520(*(undefined4 *)(iVar1 + 0x14),*(undefined4 *)(iVar1 + 8), - *(undefined4 *)(iVar1 + 0x10)); - return; -} - - - -undefined4 sub_7F03E864(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 sub_7F03E86C(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 sub_7F03E874(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -float loc_7F03E90C(int param_1,float *param_2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *param_2) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (0.00000000 <= param_2[4]) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *param_2 + 0.00000000 + fVar1 * param_2[4]; - fVar2 = param_2[8]; - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float loc_7F03E9AC(int param_1,float *param_2) - -{ - float fVar1; - float fVar2; - - if (*param_2 <= 0.00000000) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (param_2[4] <= 0.00000000) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *param_2 + 0.00000000 + fVar1 * param_2[4]; - fVar2 = param_2[8]; - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float loc_7F03EA4C(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *(float *)(param_2 + 4)) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (0.00000000 <= *(float *)(param_2 + 0x14)) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *(float *)(param_2 + 4) + 0.00000000 + fVar1 * *(float *)(param_2 + 0x14); - fVar2 = *(float *)(param_2 + 0x24); - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float loc_7F03EAEC(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - if (*(float *)(param_2 + 4) <= 0.00000000) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (*(float *)(param_2 + 0x14) <= 0.00000000) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *(float *)(param_2 + 4) + 0.00000000 + fVar1 * *(float *)(param_2 + 0x14); - fVar2 = *(float *)(param_2 + 0x24); - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float loc_7F03EB8C(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *(float *)(param_2 + 8)) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (0.00000000 <= *(float *)(param_2 + 0x18)) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *(float *)(param_2 + 8) + 0.00000000 + fVar1 * *(float *)(param_2 + 0x18); - fVar2 = *(float *)(param_2 + 0x28); - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float loc_7F03EC2C(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - if (*(float *)(param_2 + 8) <= 0.00000000) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (*(float *)(param_2 + 0x18) <= 0.00000000) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *(float *)(param_2 + 8) + 0.00000000 + fVar1 * *(float *)(param_2 + 0x18); - fVar2 = *(float *)(param_2 + 0x28); - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -// WARNING: Instruction at (ram,0x7f03f718) overlaps instruction at (ram,0x7f03f714) -// - -void locret_7F03F538(float param_1,undefined8 param_2,undefined8 param_3,float param_4, - undefined8 param_5,float param_6,undefined4 param_7,float *param_8, - float *param_9,uint *param_10) - -{ - int *piVar1; - int iVar2; - uint uVar3; - int iVar4; - double *pdVar5; - int iVar6; - int iVar7; - int iVar8; - uint uVar9; - double *pdVar10; - uint uVar11; - double *pdVar12; - double *pdVar13; - float *pfVar14; - float *pfVar15; - double *pdVar16; - int iVar17; - double dVar18; - double dVar19; - float fVar20; - float fVar21; - int aiStack176 [4]; - int aiStack160 [8]; - double adStack128 [16]; - - pdVar13 = adStack128; - iVar7 = 0; - pdVar12 = adStack128; - iVar4 = 0; - pdVar10 = adStack128; - iVar8 = 0; - pdVar16 = adStack128; - iVar17 = 0; - dVar19 = (double)*param_8 * (double)param_1 + (double)param_8[4] * (double)param_4 + - (double)param_8[8] * (double)param_6; - pdVar5 = adStack128; - iVar2 = 1; - do { - pdVar5 = pdVar5 + 2; - if ((*pdVar5 < dVar19) || ((*pdVar5 == dVar19 && (pdVar5[1] < pdVar13[1])))) { - pdVar13 = adStack128 + iVar2 * 2; - dVar19 = *pdVar13; - iVar17 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((pdVar12[1] < pdVar5[1]) || ((pdVar5[1] == pdVar12[1] && (*pdVar5 < *pdVar12)))) { - pdVar12 = adStack128 + iVar2 * 2; - iVar7 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((*pdVar10 < *pdVar5) || ((*pdVar5 == *pdVar10 && (pdVar10[1] < pdVar5[1])))) { - pdVar10 = adStack128 + iVar2 * 2; - iVar4 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((pdVar5[1] < pdVar16[1]) || ((pdVar5[1] == pdVar16[1] && (*pdVar16 < *pdVar5)))) { - pdVar16 = adStack128 + iVar2 * 2; - iVar8 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar6 = 0; - iVar2 = 0; - do { - if ((((iVar2 != iVar17) && (iVar2 != iVar4)) && (iVar2 != iVar7)) && (iVar2 != iVar8)) { - aiStack176[iVar6] = iVar2; - iVar6 += 1; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar8 = 1; - piVar1 = aiStack176; - *param_9 = (float)dVar19; - param_9[1] = (float)pdVar13[1]; - dVar19 = *pdVar16; - iVar17 = aiStack176[0]; - while (dVar18 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar16[1]) * (*pdVar13 - dVar19) <= - (dVar18 - dVar19) * (pdVar13[1] - pdVar16[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f49c; - iVar17 = *piVar1; - } - iVar8 = 2; - param_9[2] = (float)dVar18; - param_9[3] = (float)adStack128[iVar17 * 2 + 1]; - dVar19 = *pdVar16; -LAB_7f03f49c: - pfVar15 = param_9 + iVar8 * 2; - pfVar14 = pfVar15 + 2; - *pfVar15 = (float)dVar19; - iVar7 = iVar8 + 1; - piVar1 = aiStack176; - pfVar15[1] = (float)pdVar16[1]; - dVar19 = *pdVar10; - iVar17 = aiStack176[0]; - while (dVar18 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar10[1]) * (*pdVar16 - dVar19) <= - (dVar18 - dVar19) * (pdVar16[1] - pdVar10[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f54c; - iVar17 = *piVar1; - } - iVar7 = iVar8 + 2; - pfVar14 = pfVar15 + 4; - pfVar15[2] = (float)dVar18; - pfVar15[3] = (float)adStack128[iVar17 * 2 + 1]; - dVar19 = *pdVar10; -LAB_7f03f54c: - iVar8 = iVar7 + 1; - pfVar15 = pfVar14 + 2; - piVar1 = aiStack176; - *pfVar14 = (float)dVar19; - pfVar14[1] = (float)pdVar10[1]; - dVar19 = *pdVar12; - iVar17 = aiStack176[0]; - while (dVar18 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar12[1]) * (*pdVar10 - dVar19) <= - (dVar18 - dVar19) * (pdVar10[1] - pdVar12[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f5f4; - iVar17 = *piVar1; - } - iVar8 = iVar7 + 2; - pfVar15 = pfVar14 + 4; - pfVar14[2] = (float)dVar18; - pfVar14[3] = (float)adStack128[iVar17 * 2 + 1]; - dVar19 = *pdVar12; -LAB_7f03f5f4: - uVar9 = iVar8 + 1; - piVar1 = aiStack176; - *pfVar15 = (float)dVar19; - pfVar15[1] = (float)pdVar12[1]; - while (dVar19 = adStack128[aiStack176[0] * 2], - (adStack128[aiStack176[0] * 2 + 1] - pdVar13[1]) * (*pdVar12 - *pdVar13) <= - (dVar19 - *pdVar13) * (pdVar12[1] - pdVar13[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f69c; - aiStack176[0] = *piVar1; - } - uVar9 = iVar8 + 2; - pfVar15[2] = (float)dVar19; - pfVar15[3] = (float)adStack128[aiStack176[0] * 2 + 1]; -LAB_7f03f69c: - *param_10 = uVar9; - if (uVar9 != 0) { - uVar11 = uVar9 & 3; - if (uVar11 == 0) { - iVar17 = 0; - } - else { - uVar3 = 1; - fVar21 = *param_9; - pfVar15 = param_9; - pfVar14 = param_9; - if (uVar11 != 1) { - do { - uVar3 += 1; - fVar20 = fVar21 + param_8[0xc]; - fVar21 = pfVar14[2]; - pfVar15 = pfVar14 + 2; - *pfVar14 = fVar20; - pfVar14[1] = pfVar14[1] + param_8[0xe]; - pfVar14 = pfVar15; - } while (uVar11 != uVar3); - } - *pfVar15 = fVar21 + param_8[0xc]; - pfVar15[1] = pfVar15[1] + param_8[0xe]; - iVar17 = uVar3 << 3; - if (uVar3 == uVar9) { - return; - } - } - fVar21 = *(float *)((int)param_9 + iVar17); - pfVar15 = (float *)((int)param_9 + iVar17); - while (pfVar14 = pfVar15 + 8, pfVar14 != param_9 + uVar9 * 2) { - *pfVar15 = fVar21 + param_8[0xc]; - fVar21 = *pfVar14; - pfVar15[1] = pfVar15[1] + param_8[0xe]; - pfVar15[2] = pfVar15[2] + param_8[0xc]; - pfVar15[3] = pfVar15[3] + param_8[0xe]; - pfVar15[4] = pfVar15[4] + param_8[0xc]; - pfVar15[5] = pfVar15[5] + param_8[0xe]; - pfVar15[6] = pfVar15[6] + param_8[0xc]; - pfVar15[7] = pfVar15[7] + param_8[0xe]; - pfVar15 = pfVar14; - } - *pfVar15 = fVar21 + param_8[0xc]; - pfVar15[1] = pfVar15[1] + param_8[0xe]; - pfVar15[2] = pfVar15[2] + param_8[0xc]; - pfVar15[3] = pfVar15[3] + param_8[0xe]; - pfVar15[4] = pfVar15[4] + param_8[0xc]; - pfVar15[5] = pfVar15[5] + param_8[0xe]; - pfVar15[6] = pfVar15[6] + param_8[0xc]; - pfVar15[7] = pfVar15[7] + param_8[0xe]; - } - return; -} - - - -void sub_7F03F540(undefined8 param_1,undefined8 param_2,float *param_3,uint *param_4) - -{ - int iVar1; - - iVar1 = (int)param_1; - locret_7F03F538(*(float *)(iVar1 + 4),param_1,param_2,*(float *)(iVar1 + 0xc), - (longlong)*(int *)(iVar1 + 0x10),*(float *)(iVar1 + 0x14), - *(undefined4 *)(iVar1 + 0x18),(float *)param_2,param_3,param_4); - return; -} - - - -undefined8 loc_7F03F73C(float *param_1,float param_2,float *param_3) - -{ - undefined uVar1; - undefined7 in_register_00000018; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar2 = *param_1 - *param_3; - fVar3 = param_1[1] - param_3[1]; - fVar4 = param_1[2] - param_3[2]; - fVar5 = param_3[8] * fVar4 + fVar2 * param_3[6] + fVar3 * param_3[7]; - if ((param_3[0x10] + param_2 < fVar5) || (fVar5 < param_3[0xf] - param_2)) { - uVar1 = 0; - } - else { - fVar5 = param_3[5] * fVar4 + fVar2 * param_3[3] + fVar3 * param_3[4]; - if ((param_3[0xe] + param_2 < fVar5) || (fVar5 < param_3[0xd] - param_2)) { - uVar1 = 0; - } - else { - fVar2 = (param_3[3] * param_3[7] - param_3[6] * param_3[4]) * fVar4 + - fVar2 * (param_3[4] * param_3[8] - param_3[7] * param_3[5]) + - fVar3 * (param_3[5] * param_3[6] - param_3[8] * param_3[3]); - if ((param_3[0xc] + param_2 < fVar2) || (uVar1 = 1, fVar2 < param_3[0xb] - param_2)) { - uVar1 = 0; - } - } - } - return CONCAT17(uVar1,in_register_00000018); -} - - - -void loc_7F03F8D8(int param_1,float *param_2,float *param_3,longlong param_4) - -{ - ushort uVar1; - int iVar2; - bool bVar3; - float *pfVar4; - ushort *puVar5; - ushort *puVar6; - float fVar7; - float fVar8; - - puVar5 = **(ushort ***)(param_1 + 8); - bVar3 = true; - if (puVar5 != NULL) { - uVar1 = *puVar5; - while( true ) { - if ((uVar1 & 0xff) == 10) { - iVar2 = *(int *)(puVar5 + 2); - pfVar4 = (float *)FUN_7f06cc50(param_1,puVar5,0); - if (param_4 == 0) { - fVar7 = loc_7F03E9AC(iVar2,pfVar4); - fVar7 = pfVar4[0xc] + fVar7; - fVar8 = loc_7F03E90C(iVar2,pfVar4); - fVar8 = pfVar4[0xc] + fVar8; - } - else { - if (param_4 == 1) { - fVar7 = loc_7F03EAEC(iVar2,(int)pfVar4); - fVar7 = pfVar4[0xd] + fVar7; - fVar8 = loc_7F03EA4C(iVar2,(int)pfVar4); - fVar8 = pfVar4[0xd] + fVar8; - } - else { - fVar7 = loc_7F03EC2C(iVar2,(int)pfVar4); - fVar7 = pfVar4[0xe] + fVar7; - fVar8 = loc_7F03EB8C(iVar2,(int)pfVar4); - fVar8 = pfVar4[0xe] + fVar8; - } - } - if ((bVar3) || (*param_2 < fVar7)) { - *param_2 = fVar7; - } - if ((bVar3) || (fVar8 < *param_3)) { - *param_3 = fVar8; - } - puVar6 = *(ushort **)(puVar5 + 10); - bVar3 = false; - } - else { - puVar6 = *(ushort **)(puVar5 + 10); - } - if ((puVar6 == NULL) && (puVar6 = puVar5, puVar5 != NULL)) { - puVar6 = *(ushort **)(puVar5 + 6); - while ((puVar6 == NULL && - (puVar5 = *(ushort **)(puVar5 + 4), puVar6 = puVar5, puVar5 != NULL))) { - puVar6 = *(ushort **)(puVar5 + 6); - } - } - if (puVar6 == NULL) break; - uVar1 = *puVar6; - puVar5 = puVar6; - } - } - return; -} - - - -void FUN_7f03fc0c(int param_1,float *param_2,float *param_3,float *param_4,float *param_5) - -{ - loc_7F03F8D8(param_1,param_2,param_3,0); - loc_7F03F8D8(param_1,param_4,param_5,1); - return; -} - - - -void sub_7F03F948(float *param_1,float *param_2,undefined4 *param_3,float *param_4,float *param_5) - -{ - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = *param_2; - fStack8 = param_1[1]; - fStack4 = param_1[2]; - FUN_7f0785e4(&fStack12,&fStack20); - *param_4 = fStack20; - fStack12 = param_2[1]; - fStack8 = param_1[1]; - fStack4 = param_1[2]; - FUN_7f0785e4(&fStack12,&fStack20); - *param_5 = fStack20; - fStack12 = *param_1; - fStack8 = (float)param_3[1]; - fStack4 = param_1[2]; - FUN_7f0785e4(&fStack12,&fStack20); - param_4[1] = fStack16; - fStack12 = *param_1; - fStack8 = (float)*param_3; - fStack4 = param_1[2]; - FUN_7f0785e4(&fStack12,&fStack20); - param_5[1] = fStack16; - return; -} - - - -int FUN_7f03fd44(short param_1) - -{ - char cVar1; - char *pcVar2; - - pcVar2 = (char *)FUN_7f03a724(); - if (pcVar2 != NULL) { - cVar1 = *pcVar2; - while( true ) { - if (cVar1 == '\x01') { - if ((longlong)(int)param_1 == (longlong)*(short *)(*(int *)(pcVar2 + 4) + 6)) { - return *(int *)(pcVar2 + 4); - } - pcVar2 = *(char **)(pcVar2 + 0x24); - } - else { - pcVar2 = *(char **)(pcVar2 + 0x24); - } - if (pcVar2 == NULL) break; - cVar1 = *pcVar2; - } - } - return 0; -} - - - -undefined4 loc_7F03FB4C(float *param_1,ulonglong param_2) - -{ - char cVar1; - longlong lVar2; - char *pcVar3; - uint uStack12; - float *apfStack8 [2]; - - pcVar3 = (char *)FUN_7f03a724(); - if (pcVar3 != NULL) { - cVar1 = *pcVar3; - while( true ) { - if (cVar1 == '\x01') { - if (param_2 == (ulonglong)*(byte *)(*(int *)(pcVar3 + 0x14) + 3)) { - FUN_7f03cfb0(pcVar3,(int **)apfStack8,&uStack12); - lVar2 = loc_7F03CF7C(param_1,apfStack8[0],uStack12); - if (lVar2 != 0) { - return *(undefined4 *)(pcVar3 + 4); - } - pcVar3 = *(char **)(pcVar3 + 0x24); - } - else { - pcVar3 = *(char **)(pcVar3 + 0x24); - } - } - else { - pcVar3 = *(char **)(pcVar3 + 0x24); - } - if (pcVar3 == NULL) break; - cVar1 = *pcVar3; - } - } - return 0; -} - - - -void loc_7F03FBDC(uint *param_1) - -{ - ulonglong uVar1; - uint uVar2; - - if ((*param_1 & 0x80) == 0) { - uVar2 = *param_1; - } - else { - if (param_1[0x26] == 0) { - uVar2 = param_1[0x27]; - } - else { - uVar1 = locret_70008E00(param_1[0x26]); - if (uVar1 == 0) { - uVar2 = param_1[0x27]; - } - else { - loc_7000905C(param_1[0x26]); - uVar2 = param_1[0x27]; - } - } - if (uVar2 == 0) { - uVar2 = *param_1; - } - else { - uVar1 = locret_70008E00(uVar2); - if (uVar1 == 0) { - uVar2 = *param_1; - } - else { - loc_7000905C(param_1[0x27]); - uVar2 = *param_1; - } - } - } - *param_1 = uVar2 | 0x80000000; - return; -} - - - -void sub_7F03FBFC(undefined4 *param_1) - -{ - undefined4 uVar1; - - *param_1 = 0; - param_1[0x22] = 0; - param_1[1] = 0; - param_1[2] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - param_1[6] = 0; - param_1[7] = 0; - param_1[0x18] = 0x3f800000; - uVar1 = DAT_80052a78; - param_1[0x24] = 0; - param_1[0x28] = 0xffffffff; - param_1[0x29] = 0; - param_1[0x2a] = 0; - param_1[0x2b] = 0xffffffff; - param_1[0x2e] = 1; - param_1[0x2f] = 0; - param_1[0x38] = 0; - param_1[0x39] = 0; - param_1[0x3a] = 0; - param_1[0x25] = 0; - param_1[0x30] = 0x3f800000; - param_1[0x31] = 0x3f800000; - param_1[0x32] = 0x3f800000; - param_1[0x23] = uVar1; - return; -} - - - -undefined4 * FUN_7f03ff80(void) - -{ - uint uVar1; - uint *puVar2; - undefined *puVar3; - undefined4 *puVar4; - int iVar5; - int iVar6; - - iVar6 = -1; - puVar2 = (uint *)&DAT_80073e00; - iVar5 = 0; - do { - uVar1 = *puVar2; - puVar2 = puVar2 + 0x3b; - if ((uVar1 & 0x80000000) != 0) { - sub_7F03FBFC((undefined4 *)(&DAT_80073e00 + iVar5)); - return (undefined4 *)(&DAT_80073e00 + iVar5); - } - iVar5 += 0xec; - } while (puVar2 < &DAT_80075070); - puVar3 = &DAT_80073e00; - iVar5 = 0; - do { - if ((*(int *)(puVar3 + 0xe4) != 0) && - ((iVar6 < 0 || (*(int *)(puVar3 + 0xe8) < *(int *)(&DAT_80073ee8 + iVar6 * 0xec))))) { - iVar6 = iVar5; - } - iVar5 += 1; - puVar3 = puVar3 + 0xec; - } while (iVar5 != 0x14); - puVar4 = NULL; - if (-1 < iVar6) { - iVar6 *= 0xec; - loc_7F040D8C(*(int *)(*(int *)(&DAT_80073ee4 + iVar6) + 0x10)); - puVar4 = (undefined4 *)(&DAT_80073e00 + iVar6); - *(uint *)(*(int *)(&DAT_80073ee4 + iVar6) + 100) = - *(uint *)(*(int *)(&DAT_80073ee4 + iVar6) + 100) | 4; - sub_7F03FBFC(puVar4); - } - return puVar4; -} - - - -void FUN_7f0400a8(int param_1) - -{ - int iVar1; - undefined4 *puVar2; - - iVar1 = *(int *)(param_1 + 4); - if ((*(uint *)(iVar1 + 100) & 0x40) == 0) { - if ((*(uint *)(iVar1 + 100) & 0x80) == 0) { - puVar2 = FUN_7f03ff80(); - *(undefined4 **)(iVar1 + 0x6c) = puVar2; - if (puVar2 != NULL) { - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 0x80; - } - } - } - else { - puVar2 = FUN_7f03ff80(); - *(undefined4 **)(*(int *)(iVar1 + 0x6c) + 0x44) = puVar2; - } - return; -} - - - -void locret_7F03FE80(int param_1) - -{ - undefined uVar1; - int iVar2; - uint *puVar3; - - iVar2 = *(int *)(param_1 + 4); - puVar3 = NULL; - if ((*(uint *)(iVar2 + 100) & 0x40) == 0) { - if ((*(uint *)(iVar2 + 100) & 0x80) != 0) { - puVar3 = *(uint **)(iVar2 + 0x6c); - } - } - else { - puVar3 = *(uint **)(*(int *)(iVar2 + 0x6c) + 0x44); - } - if (puVar3 != NULL) { - *puVar3 = *puVar3 | 4; - if (*(int *)(param_1 + 0x14) != 0) { - uVar1 = *(undefined *)(*(int *)(param_1 + 0x14) + 3); - *(undefined *)((int)puVar3 + 0xcd) = 0xff; - *(undefined *)(puVar3 + 0x33) = uVar1; - return; - } - *(undefined *)(puVar3 + 0x33) = 0xff; - } - return; -} - - - -void sub_7F03FE88(uint *param_1) - -{ - *param_1 = *param_1 | 1; - return; -} - - - -undefined * FUN_7f040198(void) - -{ - int iVar1; - uint *puVar2; - - puVar2 = (uint *)&DAT_80075070; - iVar1 = 0; - while( true ) { - if ((*puVar2 & 1) != 0) { - *puVar2 = 0; - puVar2[0x11] = 0; - return &DAT_80075070 + iVar1; - } - if ((puVar2[0x12] & 1) != 0) { - puVar2[0x12] = 0; - puVar2[0x23] = 0; - return &DAT_800750b8 + iVar1; - } - if ((puVar2[0x24] & 1) != 0) { - puVar2[0x24] = 0; - puVar2[0x35] = 0; - return &DAT_80075100 + iVar1; - } - if ((puVar2[0x36] & 1) != 0) break; - puVar2 = puVar2 + 0x48; - iVar1 += 0x120; - if (puVar2 == (uint *)&DAT_80075bb0) { - return NULL; - } - } - puVar2[0x36] = 0; - puVar2[0x47] = 0; - return &DAT_80075148 + iVar1; -} - - - -int loc_7F03FFA0(int param_1) - -{ - if ((*(byte *)(param_1 + 2) & 0x80) != 0) { - return (int)(*(float *)(param_1 + 0x70) + 4.00000000); - } - return (int)((*(float *)(param_1 + 0x70) * 3.00000000) / *(float *)(param_1 + 0x74)); -} - - - -int loc_7F03FFDC(int param_1) - -{ - if ((*(byte *)(param_1 + 2) & 0x80) != 0) { - return ((int)*(float *)(param_1 + 0x70) >> 2) + 1; - } - return 0; -} - - - -undefined4 locret_7F040070(int *param_1) - -{ - short sVar1; - short *psVar2; - short *psVar3; - - psVar3 = *(short **)(*param_1 + 0x14); - if (psVar3 != NULL) { - if (psVar3 != NULL) { - sVar1 = *psVar3; - psVar2 = psVar3; - while( true ) { - if (sVar1 == 10) { - return *(undefined4 *)(psVar2 + 2); - } - psVar2 = *(short **)(psVar2 + 6); - if (psVar2 == NULL) break; - sVar1 = *psVar2; - } - } - psVar3 = *(short **)(psVar3 + 10); - if ((psVar3 != NULL) && (psVar3 != NULL)) { - sVar1 = *psVar3; - while( true ) { - if (sVar1 == 10) { - return *(undefined4 *)(psVar3 + 2); - } - psVar3 = *(short **)(psVar3 + 6); - if (psVar3 == NULL) break; - sVar1 = *psVar3; - } - } - } - return 0; -} - - - -undefined4 FUN_7f040378(int param_1) - -{ - undefined4 uVar1; - - uVar1 = locret_7F040070(*(int **)(*(int *)(param_1 + 0x14) + 8)); - return uVar1; -} - - - -void loc_7F04028C(int param_1,byte *param_2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - int iVar4; - float fVar5; - uint uVar6; - int iVar7; - ulonglong uVar8; - byte *pbVar9; - uint uVar10; - float fVar11; - byte bVar12; - - copy_tile_RGB_as_24bit - (*(int *)(param_1 + 0x14),(longlong)*(int *)(param_1 + 8), - (longlong)*(int *)(param_1 + 0x10),param_2); - bVar1 = param_2[2]; - bVar2 = *param_2; - bVar3 = param_2[1]; - fVar11 = (float)(0xff - ((int)((uint)bVar1 * 0x14 + (uint)bVar1 + - ((uint)bVar2 * 0x50 - (uint)bVar2) + - ((uint)bVar3 * 0x28 - (uint)bVar3) * 4) >> 8)) * 0.75000000; - if (false) { - fVar5 = ROUND(fVar11); - } - else { - fVar5 = FLOOR(fVar11); - } - bVar12 = (byte)(int)fVar5; - if (false) { - if (false) { - fVar11 = ROUND(fVar11 - 2147483648.00000000); - } - else { - fVar11 = FLOOR(fVar11 - 2147483648.00000000); - } - if (true) { - bVar12 = (byte)(int)fVar11; - goto LAB_7f0404b8; - } - } - else { - if (-1 < (int)fVar5) goto LAB_7f0404b8; - } - bVar12 = 0xff; -LAB_7f0404b8: - param_2[3] = bVar12; - uVar10 = (uint)(bVar3 <= bVar2); - uVar6 = (uint)(bVar3 > bVar2); - pbVar9 = param_2 + uVar6; - uVar8 = (ulonglong)*pbVar9; - if (uVar8 < (ulonglong)bVar1) { - pbVar9 = param_2 + 2; - uVar8 = (ulonglong)*pbVar9; - } - else { - if ((ulonglong)param_2[uVar10] < (ulonglong)bVar1) { - uVar6 = 2; - } - else { - uVar6 = uVar10; - uVar10 = 2; - } - } - if (uVar8 != 0) { - bVar1 = param_2[uVar10]; - bVar2 = param_2[uVar6]; - param_2[uVar10] = 0; - iVar7 = (int)uVar8 - (uint)bVar1; - iVar4 = (uint)bVar2 * iVar7; - param_2[uVar6] = (byte)(iVar4 / (int)uVar8); - *pbVar9 = (byte)iVar7; - if (uVar8 == 0) { - trap(0x1c00); - } - if ((uVar8 == 0xffffffffffffffff) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - bVar3 = param_2[1]; - bVar2 = *param_2; - bVar1 = param_2[2]; - } - *param_2 = bVar2 >> 1; - param_2[1] = bVar3 >> 1; - param_2[2] = bVar1 >> 1; - return; -} - - - -void FUN_7f0405b4(int param_1,byte *param_2) - -{ - if ((*(uint *)(*(int *)(param_1 + 4) + 8) & 0x400) == 0) { - loc_7F04028C(param_1,param_2); - *param_2 = *param_2 >> 1; - param_2[1] = param_2[1] >> 1; - param_2[2] = param_2[2] >> 1; - } - return; -} - - - -void sub_7F040310(byte *param_1,byte *param_2) - -{ - *param_1 = *param_1 + (char)((int)(((uint)*param_2 - (uint)*param_1) + 7) >> 3); - param_1[1] = param_1[1] + (char)((int)(((uint)param_2[1] - (uint)param_1[1]) + 7) >> 3); - param_1[2] = param_1[2] + (char)((int)(((uint)param_2[2] - (uint)param_1[2]) + 7) >> 3); - param_1[3] = param_1[3] + (char)((int)(((uint)param_2[3] - (uint)param_1[3]) + 7) >> 3); - return; -} - - - -void locret_7F04047C(int *param_1,longlong param_2,float *param_3) - -{ - if (param_2 == 1) { - *param_3 = *param_3 * 255.00000000; - param_3[1] = param_3[1] * 255.00000000; - param_3[2] = param_3[2] * 255.00000000; - *param_1 = (int)(param_3[3] * (*param_3 - (float)*param_1) + (float)*param_1); - param_1[1] = (int)(param_3[3] * (param_3[1] - (float)param_1[1]) + (float)param_1[1]); - param_1[2] = (int)(param_3[3] * (param_3[2] - (float)param_1[2]) + (float)param_1[2]); - param_1[3] = (int)(param_3[3] * (255.00000000 - (float)param_1[3]) + (float)param_1[3]); - } - return; -} - - - -void FUN_7f040784(int param_1) - -{ - float fVar1; - undefined4 auStack68 [16]; - int iStack4; - - if (*(int *)(param_1 + 0x68) != 0) { - iStack4 = FUN_7f040378(param_1); - loc_7F058030((undefined4 *)(param_1 + 0x18),auStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30((undefined4 *)(param_1 + 0x58),(int)auStack68); - sub_7F03F540((longlong)iStack4,(longlong)(int)auStack68, - (float *)(*(uint **)(param_1 + 0x68) + 1),*(uint **)(param_1 + 0x68)); - fVar1 = loc_7F03EA4C(iStack4,(int)auStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = fVar1 + *(float *)(param_1 + 0x5c); - fVar1 = loc_7F03EAEC(iStack4,(int)auStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = fVar1 + *(float *)(param_1 + 0x5c); - if (*(char *)(param_1 + 3) == '(') { - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = - *(float *)(*(int *)(param_1 + 0x68) + 0x48) - 200.00000000; - } - } - return; -} - - - -undefined * loc_7F0406E4(int param_1,ushort **param_2,undefined *param_3,uint param_4) - -{ - uint uVar1; - - if (param_3 == NULL) { - param_3 = (undefined *)FUN_7f03a730(); - } - if (param_4 == 0) { - if (*(char *)(param_1 + 3) == '(') { - param_4 = FUN_7f06c82c(param_2); - } - else { - param_4 = FUN_7f06c684(param_2); - } - } - if ((param_3 == NULL) || (param_4 == 0)) { - if (param_4 != 0) { - if (*(char *)(param_1 + 3) == '(') { - FUN_7f06c9e8(param_4); - } - else { - FUN_7f06c824(param_4); - } - } - if (param_3 != NULL) { - FUN_7f03a784((int)param_3); - param_3 = NULL; - } - } - else { - *(uint *)(param_1 + 0x14) = param_4; - *(undefined4 *)(param_1 + 0x68) = 0; - if ((*(uint *)(param_1 + 8) & 0x100) == 0) { - *(byte *)(param_1 + 2) = *(byte *)(param_1 + 2) & 0xf7; - } - else { - uVar1 = FUN_70009730(0x50,4); - *(uint *)(param_1 + 0x68) = uVar1; - *(byte *)(param_1 + 2) = *(byte *)(param_1 + 2) | 8; - } - *(undefined **)(param_1 + 0x10) = param_3; - *(undefined4 *)(param_1 + 0x6c) = 0; - *(undefined *)(param_1 + 0x78) = 0; - *(undefined *)(param_1 + 0x79) = 0; - *(undefined *)(param_1 + 0x7a) = 0; - *(undefined *)(param_1 + 0x7b) = 0; - *(undefined *)(param_1 + 0x7c) = 0; - *(undefined *)(param_1 + 0x7d) = 0; - *(undefined *)(param_1 + 0x7e) = 0; - *(undefined *)(param_1 + 0x7f) = 0; - *(undefined4 *)(param_1 + 0x70) = 0; - **(undefined2 **)(param_1 + 0x14) = 0xffff; - *(undefined4 *)(*(int *)(param_1 + 0x14) + 4) = 0; - set_obj_instance_controller_scale - (*(int *)(param_1 + 0x14),(&DAT_8003a260)[(int)*(short *)(param_1 + 4) * 3]); - *param_3 = 1; - *(int *)(param_3 + 4) = param_1; - *(undefined4 *)(param_3 + 8) = 0; - *(undefined4 *)(param_1 + 0x58) = 0; - *(undefined4 *)(param_3 + 0xc) = 0; - *(undefined4 *)(param_1 + 0x5c) = 0; - *(undefined4 *)(param_3 + 0x10) = 0; - *(undefined4 *)(param_1 + 0x60) = 0; - *(undefined4 *)(param_3 + 0x14) = 0; - } - return param_3; -} - - - -undefined * FUN_7f0409f8(int param_1,ushort **param_2) - -{ - undefined *puVar1; - - puVar1 = loc_7F0406E4(param_1,param_2,NULL,0); - return puVar1; -} - - - -undefined * sub_7F04071C(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f0409f8(param_1,(ushort **)(&PTR_DAT_8003a258)[(int)*(short *)(param_1 + 4) * 3]); - return puVar1; -} - - - -void sub_7F040754(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = *(int *)(param_1 + 0x10); - loc_7F058030(param_3,(undefined4 *)(param_1 + 0x18)); - uVar2 = *param_2; - *(undefined4 *)(iVar1 + 8) = uVar2; - *(undefined4 *)(param_1 + 0x58) = uVar2; - uVar2 = param_2[1]; - *(undefined4 *)(iVar1 + 0xc) = uVar2; - *(undefined4 *)(param_1 + 0x5c) = uVar2; - uVar2 = param_2[2]; - *(undefined4 *)(iVar1 + 0x10) = uVar2; - *(undefined4 *)(param_1 + 0x60) = uVar2; - *(undefined4 *)(iVar1 + 0x14) = param_4; - FUN_7f0405b4(*(int *)(param_1 + 0x10),(byte *)(param_1 + 0x7c)); - *(undefined *)(param_1 + 0x78) = *(undefined *)(param_1 + 0x7c); - *(undefined *)(param_1 + 0x79) = *(undefined *)(param_1 + 0x7d); - *(undefined *)(param_1 + 0x7a) = *(undefined *)(param_1 + 0x7e); - *(undefined *)(param_1 + 0x7b) = *(undefined *)(param_1 + 0x7f); - return; -} - - - -void sub_7F0407F4(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4) - -{ - int iVar1; - float fVar2; - - iVar1 = locret_7F040070(*(int **)(*(int *)(param_1 + 0x14) + 8)); - fVar2 = (float)FUN_7f0b3520(param_4,*param_2,param_2[2]); - *(float *)(param_2 + 1) = fVar2 + 4.00000000; - fVar2 = loc_7F03EA4C(iVar1,(int)param_3); - *(float *)(param_2 + 1) = (float)param_2[1] - fVar2; - sub_7F040754(param_1,param_2,param_3,param_4); - FUN_7f040784(param_1); - return; -} - - - -void loc_7F040B84(int iParm1,float *pfParm2,float *pfParm3,int iParm4,float *pfParm5) - -{ - int iVar2; - longlong lVar1; - undefined8 extraout_a0; - float in_f0; - float fStack120; - float fStack116; - undefined4 uStack112; - int *piStack108; - float fStack104; - float afStack96 [4]; - float fStack80; - float fStack76; - float fStack72; - int iStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - int iStack8; - - iStack8 = locret_7F040070(*(int **)(*(int *)(iParm1 + 0x14) + 8)); - sub_7F03E864(iStack8); - fStack12 = in_f0; - sub_7F03E86C(iStack8); - if ((*(uint *)(iParm1 + 8) & 4) == 0) { - if ((*(uint *)(iParm1 + 8) & 8) == 0) { - iStack32 = iParm4; - fStack16 = in_f0; - fStack104 = (float)FUN_7f0b3520(iParm4,*pfParm2,pfParm2[2]); - loc_7F058030(pfParm3,afStack96); - fStack28 = *pfParm5 - fStack80 * fStack12; - fStack20 = pfParm5[2] - fStack72 * fStack12; - iVar2 = loc_7F03FB4C(pfParm2,(ulonglong)*(byte *)(iParm4 + 3)); - if (iVar2 == 0) { - fStack24 = (fStack104 - fStack76 * fStack12) + 4.00000000; - } - else { - loc_7F03CCA4(*(char **)(iVar2 + 0x10),&piStack108,&uStack112,&fStack116,&fStack120); - if ((fStack116 <= fStack104) || - (fStack76 * (fStack16 - fStack12) + fStack104 + 4.00000000 <= fStack120)) { - fStack24 = (fStack104 - fStack76 * fStack12) + 4.00000000; - } - else { - fStack24 = fStack116 - fStack76 * fStack12; - *(uint *)(iParm1 + 100) = *(uint *)(iParm1 + 100) | 0x8000; - } - } - } - else { - iStack32 = iParm4; - loc_7F058030(pfParm3,afStack96); - fStack28 = *pfParm5 - fStack80 * fStack12; - fStack24 = pfParm5[1] - fStack76 * fStack12; - fStack20 = pfParm5[2] - fStack72 * fStack12; - } - } - else { - iStack32 = iParm4; - fStack16 = in_f0; - FUN_7f058ba8(DAT_80052a7c,extraout_a0,afStack96); - FUN_7f058588(pfParm3,afStack96); - fStack28 = *pfParm5 - fStack80 * fStack16; - fStack24 = pfParm5[1] - fStack76 * fStack16; - fStack20 = pfParm5[2] - fStack72 * fStack16; - } - if (((*(uint *)(iParm1 + 0xc) & 1) == 0) && - (lVar1 = sub_7F0B0BE4(&iStack32,*pfParm2,pfParm2[2],fStack28,fStack20), lVar1 != 0)) { - sub_7F040754(iParm1,&fStack28,afStack96,iStack32); - } - else { - sub_7F040754(iParm1,pfParm2,afStack96,iParm4); - if ((*(uint *)(iParm1 + 0xc) & 1) == 0) { - if ((*(uint *)(iParm1 + 8) & 0x1000) == 0) goto LAB_7f040e84; - *(float *)(iParm1 + 0x58) = fStack28; - } - else { - *(float *)(iParm1 + 0x58) = fStack28; - } - *(float *)(iParm1 + 0x5c) = fStack24; - *(float *)(iParm1 + 0x60) = fStack20; - } -LAB_7f040e84: - FUN_7f040784(iParm1); - return; -} - - - -void loc_7F040CD4(int iParm1,float *pfParm2,float *pfParm3,int iParm4,float *pfParm5) - -{ - int iVar2; - longlong lVar1; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - float in_f0; - float afStack156 [16]; - float afStack92 [8]; - float fStack60; - float fStack56; - float fStack52; - int iStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - - iVar2 = locret_7F040070(*(int **)(*(int *)(iParm1 + 0x14) + 8)); - sub_7F03E874(iVar2); - iStack28 = iParm4; - fStack12 = in_f0; - FUN_7f058a90(DAT_80052a80,extraout_a0,afStack92); - FUN_7f058b1c(DAT_80052a84,extraout_a0_00,afStack156); - FUN_7f058588(afStack156,afStack92); - FUN_7f058588(pfParm3,afStack92); - fStack24 = *pfParm5 - fStack60 * fStack12; - fStack20 = pfParm5[1] - fStack56 * fStack12; - fStack16 = pfParm5[2] - fStack52 * fStack12; - if (((*(uint *)(iParm1 + 0xc) & 1) == 0) && - (lVar1 = sub_7F0B0BE4(&iStack28,*pfParm2,pfParm2[2],fStack24,fStack16), lVar1 != 0)) { - sub_7F040754(iParm1,&fStack24,afStack92,iStack28); - } - else { - sub_7F040754(iParm1,pfParm2,afStack92,iParm4); - *(float *)(iParm1 + 0x58) = fStack24; - *(float *)(iParm1 + 0x5c) = fStack20; - *(float *)(iParm1 + 0x60) = fStack16; - } - FUN_7f040784(iParm1); - return; -} - - - -void loc_7F040D8C(int param_1) - -{ - int iVar1; - uint uVar2; - uint *puVar3; - - iVar1 = *(int *)(param_1 + 4); - uVar2 = *(uint *)(iVar1 + 100); - if ((uVar2 & 0x40) == 0) { - if ((uVar2 & 0x80) != 0) { - loc_7F03FBDC(*(uint **)(iVar1 + 0x6c)); - *(undefined4 *)(iVar1 + 0x6c) = 0; - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) & 0xffffff7f; - } - } - else { - puVar3 = *(uint **)(iVar1 + 0x6c); - if (puVar3 != NULL) { - if ((uint *)puVar3[0x11] != NULL) { - loc_7F03FBDC((uint *)puVar3[0x11]); - puVar3 = *(uint **)(iVar1 + 0x6c); - } - sub_7F03FE88(puVar3); - uVar2 = *(uint *)(iVar1 + 100); - } - *(undefined4 *)(iVar1 + 0x6c) = 0; - *(uint *)(iVar1 + 100) = uVar2 & 0xffffffbf; - } - return; -} - - - -void loc_7F041010(int param_1,int param_2,longlong param_3) - -{ - char cVar1; - int iVar2; - ulonglong uVar3; - int iVar4; - - cVar1 = *(char *)(param_1 + 3); - if (cVar1 == '\r') { - if (*(int *)(param_1 + 0xc4) == 0) { - iVar4 = *(int *)(param_1 + 200); - } - else { - uVar3 = locret_70008E00(*(int *)(param_1 + 0xc4)); - if (uVar3 == 0) { - iVar4 = *(int *)(param_1 + 200); - } - else { - loc_7000905C(*(int *)(param_1 + 0xc4)); - iVar4 = *(int *)(param_1 + 200); - } - } - if (iVar4 == 0) { - iVar4 = *(int *)(param_1 + 0x10); - } - else { - uVar3 = locret_70008E00(iVar4); - if (uVar3 == 0) { - iVar4 = *(int *)(param_1 + 0x10); - } - else { - loc_7000905C(*(int *)(param_1 + 200)); - iVar4 = *(int *)(param_1 + 0x10); - } - } - goto LAB_7f041228; - } - if (cVar1 == '\b') { - if (*(int *)(param_1 + 0x84) == 0) { - iVar4 = *(int *)(param_1 + 0x10); - goto LAB_7f041228; - } - *(undefined4 *)(*(int *)(param_1 + 0x84) + 0x84) = 0; - *(undefined4 *)(param_1 + 0x84) = 0; - } - else { - if (cVar1 == '\x01') { - if (*(int *)(param_1 + 0xf4) == 0) { - iVar4 = *(int *)(param_1 + 0xf8); - } - else { - uVar3 = locret_70008E00(*(int *)(param_1 + 0xf4)); - if (uVar3 == 0) { - iVar4 = *(int *)(param_1 + 0xf8); - } - else { - loc_7000905C(*(int *)(param_1 + 0xf4)); - iVar4 = *(int *)(param_1 + 0xf8); - } - } - if (iVar4 == 0) { - iVar4 = *(int *)(param_1 + 0x10); - } - else { - uVar3 = locret_70008E00(iVar4); - if (uVar3 == 0) { - iVar4 = *(int *)(param_1 + 0x10); - } - else { - loc_7000905C(*(int *)(param_1 + 0xf8)); - iVar4 = *(int *)(param_1 + 0x10); - } - } - goto LAB_7f041228; - } - if (cVar1 == '/') { - if (*(int *)(param_1 + 0x8c) < 0) { - iVar4 = *(int *)(param_1 + 0x10); - } - else { - FUN_7f0ba96c(*(int *)(param_1 + 0x8c),1); - iVar4 = *(int *)(param_1 + 0x10); - } - goto LAB_7f041228; - } - if (cVar1 == '(') { - if (*(int *)(param_1 + 0xb0) == 0) { - iVar4 = *(int *)(param_1 + 0x10); - } - else { - uVar3 = locret_70008E00(*(int *)(param_1 + 0xb0)); - if (uVar3 == 0) { - iVar4 = *(int *)(param_1 + 0x10); - } - else { - loc_7000905C(*(int *)(param_1 + 0xb0)); - iVar4 = *(int *)(param_1 + 0x10); - } - } - goto LAB_7f041228; - } - if (cVar1 != '\'') { - iVar4 = *(int *)(param_1 + 0x10); - goto LAB_7f041228; - } - if (*(int *)(param_1 + 0xac) == 0) { - iVar4 = *(int *)(param_1 + 0x10); - goto LAB_7f041228; - } - uVar3 = locret_70008E00(*(int *)(param_1 + 0xac)); - if (uVar3 == 0) { - iVar4 = *(int *)(param_1 + 0x10); - goto LAB_7f041228; - } - loc_7000905C(*(int *)(param_1 + 0xac)); - } - iVar4 = *(int *)(param_1 + 0x10); -LAB_7f041228: - if (iVar4 != 0) { - FUN_7f0a1870(iVar4,'\0'); - FUN_7f0a1870(*(int *)(param_1 + 0x10),'\x01'); - if (param_3 == 0) { - loc_7F040D8C(*(int *)(param_1 + 0x10)); - iVar4 = *(int *)(param_1 + 0x10); - if (*(int *)(iVar4 + 0x1c) != 0) { - loc_7F04C124(iVar4); - iVar4 = *(int *)(param_1 + 0x10); - } - loc_7F03E1F8(iVar4); - iVar4 = *(int *)(*(char **)(param_1 + 0x10) + 0x20); - if (iVar4 == 0) { - cVar1 = **(char **)(param_1 + 0x10); - } - else { - do { - iVar2 = *(int *)(iVar4 + 0x24); - FUN_7f041324(*(int *)(iVar4 + 4),1); - iVar4 = iVar2; - } while (iVar2 != 0); - cVar1 = **(char **)(param_1 + 0x10); - } - if (cVar1 == '\x02') { - cVar1 = *(char *)(param_1 + 3); - } - else { - loc_7F050F20(*(int *)(param_1 + 0x14)); - cVar1 = *(char *)(param_1 + 3); - } - if (cVar1 == '(') { - FUN_7f06c9e8(*(int *)(param_1 + 0x14)); - } - else { - FUN_7f06c824(*(int *)(param_1 + 0x14)); - } - if (param_2 == 0) { - *(undefined4 *)(param_1 + 0x10) = 0; - } - else { - FUN_7f03a838(*(int *)(param_1 + 0x10)); - unset_stateflag_0x04_for_posdata(*(int *)(param_1 + 0x10)); - FUN_7f03a784(*(int *)(param_1 + 0x10)); - *(undefined4 *)(param_1 + 0x10) = 0; - } - } - } - return; -} - - - -void FUN_7f041324(int param_1,int param_2) - -{ - loc_7F041010(param_1,param_2,0); - return; -} - - - -undefined4 loc_7F041060(int param_1) - -{ - undefined4 in_v0_lo; - - if (*(char *)(param_1 + 3) == '\x04') { - return in_v0_lo; - } - return in_v0_lo; -} - - - -undefined8 locret_7F041158(float *param_1,float *param_2,float *param_3,float param_4) - -{ - undefined uVar1; - undefined7 in_register_00000018; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - uVar1 = 0; - fVar4 = *param_3 - *param_1; - fVar6 = param_3[1] - param_1[1]; - fVar5 = param_3[2] - param_1[2]; - fVar7 = *param_2; - fVar8 = param_2[1]; - fVar3 = param_2[2]; - fVar2 = fVar5 * fVar3 + fVar7 * fVar4 + fVar8 * fVar6; - if ((0.00000000 < fVar2) && - (((fVar5 * fVar5 + fVar4 * fVar4 + fVar6 * fVar6) - param_4 * param_4) * - (fVar3 * fVar3 + fVar7 * fVar7 + fVar8 * fVar8) <= fVar2 * fVar2)) { - uVar1 = 1; - } - return CONCAT17(uVar1,in_register_00000018); -} - - - -undefined8 -loc_7F0413D4(int param_1,float *param_2,float *param_3,float *param_4,float *param_5,int *param_6, - ushort **param_7) - -{ - int iVar1; - longlong lVar2; - int iVar4; - undefined8 uVar3; - float *pfVar5; - float *pfVar6; - ushort *puStack68; - int iStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - ushort *apuStack12 [3]; - - iVar1 = *(int *)(param_1 + 0x14); - apuStack12[0] = NULL; - puStack68 = NULL; - if (*(char *)(param_1 + 3) == '\x01') { - lVar2 = locret_7F074C60(param_1 + 0xd0,*(float **)(iVar1 + 0xc),param_2,param_3); - apuStack12[0] = **(ushort ***)(iVar1 + 8); - if ((0 < lVar2) && - (iVar4 = loc_7F04DC80(iVar1,apuStack12[0],param_2,param_3,&fStack60,&iStack64,&puStack68), - iVar4 == 0)) { - lVar2 = 0; - } - } - else { - do { - iVar4 = loc_7F07547C(iVar1,param_2,param_3,apuStack12); - lVar2 = (longlong)iVar4; - if ((0 < lVar2) && - (iVar4 = loc_7F04DC80(iVar1,apuStack12[0],param_2,param_3,&fStack60,&iStack64,&puStack68), - iVar4 != 0)) break; - } while (0 < lVar2); - } - uVar3 = 0; - if (0 < lVar2) { - iVar4 = *(int *)(iVar1 + 0xc); - *param_4 = fStack60; - pfVar6 = (float *)(iVar4 + iStack64 * 0x40); - param_4[1] = fStack56; - param_4[2] = fStack52; - FUN_7f058994(pfVar6,param_4); - pfVar5 = (float *)FUN_7f078a34(); - FUN_7f058994(pfVar5,param_4); - *param_5 = fStack48; - param_5[1] = fStack44; - param_5[2] = fStack40; - FUN_7f0588f8(pfVar6,param_5); - if (0.00000000 < param_3[2] * param_5[2] + *param_5 * *param_3 + param_5[1] * param_3[1]) { - *param_5 = -*param_5; - param_5[1] = -param_5[1]; - param_5[2] = -param_5[2]; - } - pfVar5 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar5,param_5); - if (((*param_5 == 0.00000000) && (param_5[1] == 0.00000000)) && (param_5[2] == 0.00000000)) { - param_5[2] = 1.00000000; - } - else { - guNormalize(param_5,param_5 + 1,param_5 + 2); - } - uVar3 = 1; - *param_6 = iVar1; - *param_7 = puStack68; - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -loc_7F0417A8(char *param_1,float *param_2,float *param_3,float *param_4,float *param_5, - float *param_6,float *param_7) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - ulonglong uVar4; - float *pfVar5; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - int iVar6; - int iVar7; - int iVar8; - float fVar9; - float fVar10; - float fStack108; - float fStack104; - float fStack100; - float fStack92; - undefined4 uStack88; - float fStack84; - float fStack80; - undefined4 uStack76; - float fStack72; - int iStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack16; - float fStack12; - int iStack8; - int *piStack4; - - fVar10 = 1.00000000; - iStack68 = -1; - loc_7F03CCA4(param_1,&piStack4,&iStack8,&fStack12,&fStack16); - if (iStack8 < 1) { - uVar3 = 0; - } - else { - if ((param_2[1] <= fStack12) || (param_3[1] <= fStack12)) { - if (param_2[1] < fStack16) { - if (param_3[1] < fStack16) { - return 0; - } - fStack56 = *param_2; - } - else { - fStack56 = *param_2; - } - fStack52 = param_2[2]; - fStack64 = *param_3; - fStack60 = param_3[2]; - if (0 < iStack8) { - iVar7 = 0; - uVar3 = extraout_a1; - iVar6 = 0; - do { - iVar8 = iVar6 + 1; - iVar1 = iVar8 % iStack8; - pfVar5 = (float *)(piStack4 + iVar1 * 2); - if (iStack8 == 0) { - trap(0x1c00); - } - if ((iStack8 == -1) && (iVar8 == -0x80000000)) { - trap(0x1800); - } - uVar4 = loc_7F0B07AC(*param_2,param_2[2],(longlong)(int)pfVar5,uVar3,*param_3,param_3[2], - *(float *)((int)piStack4 + iVar7), - ((float *)((int)piStack4 + iVar7))[1],*pfVar5,pfVar5[1]); - uVar3 = extraout_a1_00; - fVar9 = fVar10; - iVar2 = iStack68; - if (uVar4 != 0) { - fStack40 = *(float *)((int)piStack4 + iVar7); - fStack36 = ((float *)((int)piStack4 + iVar7))[1]; - fStack48 = (float)piStack4[iVar1 * 2]; - fStack44 = (float)(piStack4 + iVar1 * 2)[1]; - fVar9 = locret_7F0B32D0(&fStack56,&fStack64,&fStack40,&fStack48); - uVar3 = extraout_a1_01; - iVar2 = iVar6; - if (fVar10 <= fVar9) { - uVar3 = extraout_a1_01; - fVar9 = fVar10; - iVar2 = iStack68; - } - } - iStack68 = iVar2; - fVar10 = fVar9; - iVar7 += 8; - iVar6 = iVar8; - } while (iVar8 < iStack8); - } - if (iStack68 < 1) { - uVar3 = 0; - } - else { - fStack80 = (float)piStack4[iStack68 * 2]; - uStack76 = 0; - fStack72 = (float)(piStack4 + iStack68 * 2)[1]; - fStack92 = (float)piStack4[((iStack68 + 1) % iStack8) * 2]; - uStack88 = 0; - fStack84 = (float)(piStack4 + ((iStack68 + 1) % iStack8) * 2)[1]; - if (iStack8 == 0) { - trap(0x1c00); - } - if ((iStack8 == -1) && (iStack68 + 1 == -0x80000000)) { - trap(0x1800); - } - locret_7F026244(&fStack80,&fStack92,param_2,param_4,&fStack108); - fVar10 = param_4[2] * (fStack100 - param_2[2]) + - (fStack108 - *param_2) * *param_4 + (fStack104 - param_2[1]) * param_4[1]; - if (*param_7 <= fVar10) { - uVar3 = 0; - } - else { - *param_7 = fVar10; - *param_5 = fStack108; - param_5[1] = fStack104; - param_5[2] = fStack100; - fVar10 = *param_4; - param_6[1] = 0.00000000; - *param_6 = -fVar10; - param_6[2] = -param_4[2]; - if ((*param_6 == 0.00000000) && (param_6[2] == 0.00000000)) { - param_6[2] = 1.00000000; - } - else { - guNormalize(param_6,param_6 + 1,param_6 + 2); - } - uVar3 = 1; - DAT_80030b50 = 0; - _DAT_80075bb0 = 0; - _DAT_80075bb4 = 0; - DAT_80030b4c = param_1; - } - } - } - else { - uVar3 = 0; - } - } - return uVar3; -} - - - -ulonglong loc_7F0419CC(int param_1,float *param_2,float *param_3,float *param_4,float param_5, - float *param_6,float *param_7,float *param_8,float *param_9,float *param_10, - int *param_11,ushort **param_12) - -{ - int iVar1; - char *pcVar2; - longlong lVar3; - undefined8 uVar4; - int iVar5; - undefined uVar7; - char *pcVar6; - int in_v1_hi; - float *in_v1_lo; - undefined4 extraout_a3_lo; - float fVar8; - float fVar9; - - iVar1 = *(int *)(param_1 + 0x14); - fVar8 = FUN_7f06d5fc(iVar1,(uint)param_2,param_3,param_4); - pcVar2 = *(char **)(param_1 + 0x10); - iVar5 = (int)pcVar2 >> 0x1f; - fVar9 = 0.00000000; - if (*(int *)(pcVar2 + 0x1c) == 0) { - fVar9 = param_4[2] * (*(float *)(param_1 + 0x60) - param_2[2]) + - (*(float *)(param_1 + 0x58) - *param_2) * *param_4 + - (*(float *)(param_1 + 0x5c) - param_2[1]) * param_4[1]; - } - if (-fVar8 <= fVar9) { - if (fVar9 <= param_5 + fVar8) { - in_v1_hi = (int)param_8 >> 0x1f; - if ((pcVar2[1] & 2U) == 0) { - pcVar6 = pcVar2; - fVar8 = FUN_7f06d5fc(iVar1,(uint)param_6,param_7,extraout_a3_lo); - uVar4 = locret_7F041158(param_2,param_4,(float *)(param_1 + 0x58),fVar8); - if (CONCAT44(iVar5,(uint)pcVar6 & 0xffffff00 | (uint)(byte)((ulonglong)uVar4 >> 0x38)) != 0) - { - *param_10 = param_5; - lVar3 = loc_7F0417A8(pcVar2,param_2,param_3,param_4,param_8,param_9,param_10); - if (lVar3 != 0) { - uVar7 = 1; - *param_11 = iVar1; - *param_12 = **(ushort ***)(iVar1 + 8); - in_v1_lo = param_8; - goto LAB_7f041ccc; - } - } - } - else { - lVar3 = loc_7F0413D4(param_1,param_6,param_7,param_8,param_9,param_11,param_12); - if (lVar3 != 0) { - fVar8 = param_4[2] * (param_8[2] - param_2[2]) + - (*param_8 - *param_2) * *param_4 + (param_8[1] - param_2[1]) * param_4[1]; - if (0.00000000 <= fVar8) { - uVar7 = 1; - if (fVar8 <= param_5) { - *param_10 = fVar8; - in_v1_lo = param_8; - } - else { - uVar7 = 0; - in_v1_lo = param_8; - } - } - else { - uVar7 = 0; - in_v1_lo = param_8; - } - goto LAB_7f041ccc; - } - } - uVar7 = 0; - in_v1_lo = param_8; - } - else { - uVar7 = 0; - } - } - else { - uVar7 = 0; - } -LAB_7f041ccc: - return CONCAT53(CONCAT14(uVar7,in_v1_hi),(int3)((uint)in_v1_lo >> 8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -loc_7F041B84(int param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,float param_5, - float *param_6,float *param_7,float *param_8,float *param_9,float *param_10) - -{ - byte bVar1; - ulonglong uVar2; - undefined8 uVar3; - undefined7 in_register_00000010; - int iVar4; - int iVar5; - int iVar6; - undefined uVar7; - ushort *puStack36; - int iStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - iVar5 = *(int *)(param_1 + 0x10); - uVar7 = 0; - uVar2 = loc_7F0419CC(param_1,(float *)param_2,(float *)param_3,(float *)param_4,param_5,param_6, - param_7,&fStack12,&fStack24,&fStack28,&iStack32,&puStack36); - iVar4 = iVar5 >> 0x1f; - if (CONCAT71(in_register_00000010,(char)(uVar2 >> 0x38)) != 0) { - if (*param_10 <= fStack28) { - bVar1 = *(byte *)(iVar5 + 1); - goto LAB_7f041e0c; - } - *param_10 = fStack28; - *param_8 = fStack12; - uVar7 = 1; - param_8[1] = fStack8; - param_8[2] = fStack4; - *param_9 = fStack24; - param_9[1] = fStack20; - param_9[2] = fStack16; - DAT_80030b4c = *(undefined4 *)(param_1 + 0x10); - DAT_80030b50 = 0xffffffff; - _DAT_80075bb0 = iStack32; - _DAT_80075bb4 = puStack36; - } - bVar1 = *(byte *)(iVar5 + 1); -LAB_7f041e0c: - if (((bVar1 & 2) != 0) && (iVar6 = *(int *)(iVar5 + 0x20), iVar6 != 0)) { - bVar1 = *(byte *)(iVar6 + 1); - do { - if ((bVar1 & 2) == 0) { -LAB_7f041e74: - iVar6 = *(int *)(iVar6 + 0x24); - } - else { - uVar3 = loc_7F041B84(*(int *)(iVar6 + 4),param_2,param_3,param_4,param_5,param_6,param_7, - param_8,param_9,param_10); - iVar4 = (int)((ulonglong)uVar3 >> 0x18); - iVar5 = (uint)(uint3)uVar3 << 8; - if (CONCAT71(in_register_00000010,(char)((ulonglong)uVar3 >> 0x38)) != 0) { - uVar7 = 1; - goto LAB_7f041e74; - } - iVar6 = *(int *)(iVar6 + 0x24); - } - if (iVar6 == 0) break; - bVar1 = *(byte *)(iVar6 + 1); - } while( true ); - } - return CONCAT53(CONCAT14(uVar7,iVar4),(int3)((uint)iVar5 >> 8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -loc_7F041DF4(int param_1,float *param_2,float *param_3,float param_4,float *param_5,float *param_6, - float *param_7,float *param_8,float *param_9) - -{ - int iVar1; - int iVar2; - int7 in_register_00000018; - undefined uVar3; - float fVar4; - float fVar5; - int *piStack48; - ushort *puStack44; - int iStack40; - int iStack36; - - iVar1 = *(int *)(param_1 + 0x18); - fVar4 = FUN_7f06d5fc(*(int *)(param_1 + 0x1c),(uint)param_2,param_3,param_1); - fVar5 = param_3[2] * (*(float *)(iVar1 + 0x10) - param_2[2]) + - (*(float *)(iVar1 + 8) - *param_2) * *param_3 + - (*(float *)(iVar1 + 0xc) - param_2[1]) * param_3[1]; - if (fVar5 < -fVar4) { - uVar3 = 0; - } - else { - if (param_4 + fVar4 < fVar5) { - uVar3 = 0; - } - else { - if ((*(byte *)(iVar1 + 1) & 2) != 0) { - piStack48 = *(int **)(param_1 + 0x20); - iStack36 = loc_7F06C03C(&piStack48,param_5,param_6,&iStack40,&puStack44); - if (0 < iStack36) { - iVar2 = FUN_7f06cc50(iStack40,puStack44,0); - in_register_00000018 = (int7)(int3)((uint)param_5 >> 8); - uVar3 = SUB41(param_5,0); - fVar4 = param_6[2] * - (*(float *)(iVar2 + 0x38) - - *(float *)((int)CONCAT71(in_register_00000018,uVar3) + 8)) + - (*(float *)(iVar2 + 0x30) - *(float *)CONCAT71(in_register_00000018,uVar3)) * - *param_6 + - (*(float *)(iVar2 + 0x34) - - *(float *)((int)CONCAT71(in_register_00000018,uVar3) + 4)) * param_6[1]; - if (*param_9 <= fVar4) { - uVar3 = 0; - } - else { - *param_9 = fVar4; - *param_7 = *param_3 * fVar4 + *param_2; - param_7[1] = param_3[1] * fVar4 + param_2[1]; - param_7[2] = param_3[2] * fVar4 + param_2[2]; - fVar4 = *param_3; - param_8[1] = 0.00000000; - *param_8 = -fVar4; - param_8[2] = -param_3[2]; - if ((*param_8 == 0.00000000) && (param_8[2] == 0.00000000)) { - param_8[2] = 1.00000000; - } - else { - guNormalize(param_8,param_8 + 1,param_8 + 2); - } - _DAT_80075bb0 = iStack40; - uVar3 = 1; - _DAT_80075bb4 = puStack44; - DAT_80030b4c = iVar1; - DAT_80030b50 = iStack36; - } - goto LAB_7f0420f4; - } - } - uVar3 = 0; - } - } -LAB_7f0420f4: - return CONCAT17(uVar3,in_register_00000018); -} - - - -// WARNING: Instruction at (ram,0x7f0423ac) overlaps instruction at (ram,0x7f0423a8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -loc_7F042218(char *param_1,undefined8 param_2,float *param_3,ulonglong param_4,float *param_5, - float *param_6,int *param_7) - -{ - char cVar1; - ulonglong uVar2; - longlong lVar3; - undefined8 uVar4; - undefined4 uVar5; - char *pcVar6; - float *pfVar7; - uint uVar8; - float *pfVar9; - int iVar10; - char *pcVar11; - short *psVar12; - float fVar13; - float fVar14; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack32; - float fStack28; - float fStack24; - int iStack20; - float afStack16 [3]; - int iStack4; - - iStack4 = 0; - iStack20 = 0; - pcVar6 = (char *)FUN_7f07d4a8(); - pfVar9 = (float *)param_2; - fStack32 = *param_3 - *pfVar9; - fStack28 = param_3[1] - pfVar9[1]; - fStack24 = param_3[2] - pfVar9[2]; - fVar13 = sqrtf(fStack24 * fStack24 + fStack32 * fStack32 + fStack28 * fStack28); - if (fVar13 == 0.00000000) { - iVar10 = 0; - iStack4 = 0; - } - else { - fVar14 = 1.00000000 / fVar13; - fStack32 = fStack32 * fVar14; - fStack28 = fStack28 * fVar14; - fStack24 = fStack24 * fVar14; - fStack48 = *pfVar9; - fStack44 = pfVar9[1]; - fStack40 = pfVar9[2]; - pfVar7 = (float *)FUN_7f0789b4(); - FUN_7f058994(pfVar7,&fStack48); - fStack60 = fStack32; - fStack56 = fStack28; - fStack52 = fStack24; - pfVar7 = (float *)FUN_7f0789b4(); - FUN_7f0588f8(pfVar7,&fStack60); - if (param_4 != 0) { - afStack16[0] = fVar13; - FUN_7f03e6fc(param_7); - iVar10 = (int)*_DAT_80069c70; - psVar12 = _DAT_80069c70; - if (true) { - do { - iVar10 *= 0x34; - pcVar11 = (char *)(iVar10 + -0x7ff96388); - if (pcVar11 == param_1) { - iVar10 = (int)psVar12[1]; - } - else { - cVar1 = *pcVar11; - uVar5 = 0; - uVar8 = 0; - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - iVar10 = *(int *)(iVar10 + -0x7ff96384); - if ((*(uint *)(iVar10 + 100) & 8) == 0) { - if (*(int *)(iVar10 + 0xc) << 6 < 0) { - iVar10 = (int)psVar12[1]; - } - else { - if (cVar1 == '\x02') { - if ((param_4 & 2) == 0) { - uVar2 = locret_7F03DA48((int)pcVar11); - uVar5 = (undefined4)(uVar2 >> 0x20); - uVar8 = (uint)uVar2; - if ((uVar2 & param_4) == 0) { - iVar10 = (int)psVar12[1]; - goto LAB_7f0424b8; - } - } - } - else { - if ((param_4 & 1) == 0) { - iVar10 = (int)psVar12[1]; - goto LAB_7f0424b8; - } - } - if (((pcVar11 != pcVar6) || ((*(byte *)(iVar10 + 2) & 0x20) == 0)) && - (uVar4 = loc_7F041B84(iVar10,param_2,(longlong)(int)param_3, - (longlong)(int)&fStack32,fVar13,&fStack48,&fStack60, - param_5,param_6,afStack16), - CONCAT44(uVar5,uVar8 & 0xffffff00 | (uint)(byte)((ulonglong)uVar4 >> 0x38)) != - 0)) { - iStack20 = 1; - } -LAB_7f0424b4: - iVar10 = (int)psVar12[1]; - } - } - else { - iVar10 = (int)psVar12[1]; - } - } - else { - if ((cVar1 == '\x03') || ((cVar1 == '\x06' && (*(int *)(iVar10 + -0x7ff96384) != 0)))) - { - iVar10 = *(int *)(iVar10 + -0x7ff96384); - if (cVar1 == '\x06') { - lVar3 = FUN_7f09bcfc((int)pcVar11); - uVar5 = (undefined4)((ulonglong)lVar3 >> 0x20); - uVar8 = (uint)lVar3; - if (*(int *)(*(int *)(&DAT_80079f50 + uVar8 * 4) + 0xac) == 0) { - iVar10 = (int)psVar12[1]; - } - else { - if ((param_4 & 4) != 0) goto LAB_7f04241c; - iVar10 = (int)psVar12[1]; - } - } - else { - if (cVar1 != '\x03') { -LAB_7f04241c: - uVar4 = loc_7F041DF4(iVar10,pfVar9,&fStack32,fVar13,&fStack48,&fStack60,param_5, - param_6,afStack16); - if (CONCAT44(uVar5,uVar8 & 0xffffff00 | (uint)(byte)((ulonglong)uVar4 >> 0x38)) - != 0) { - iStack20 = 1; - } - goto LAB_7f0424b4; - } - if ((*(ushort *)(iVar10 + 0x12) & 0x100) == 0) { - if ((param_4 & 8) != 0) goto LAB_7f04241c; - iVar10 = (int)psVar12[1]; - } - else { - iVar10 = (int)psVar12[1]; - } - } - } - else { - if (cVar1 == '\x06') { - lVar3 = FUN_7f09bcfc((int)pcVar11); - if (*(int *)(*(int *)(&DAT_80079f50 + (int)lVar3 * 4) + 0xac) != 0) { - lVar3 = loc_7F0417A8(pcVar11,pfVar9,param_3,&fStack32,param_5,param_6,afStack16) - ; - if (lVar3 != 0) { - iStack20 = 1; - } - goto LAB_7f0424b4; - } - iVar10 = (int)psVar12[1]; - } - else { - iVar10 = (int)psVar12[1]; - } - } - } - } -LAB_7f0424b8: - psVar12 = psVar12 + 1; - } while (true); - } - } - if (iStack20 != 0) { - iStack4 = 1; - _DAT_80075bb8 = fStack32; - _DAT_80075bbc = fStack28; - _DAT_80075bc0 = fStack24; - _DAT_80075bc8 = fStack60; - _DAT_80075bcc = fStack56; - _DAT_80075bd0 = fStack52; - } - iVar10 = iStack4 >> 0x1f; - } - return CONCAT44(iVar10,iStack4); -} - - - -int loc_7F0429EC(int param_1,float *param_2,float *param_3,float *param_4,int param_5,int param_6) - -{ - byte bVar1; - longlong lVar2; - int *piVar3; - byte *pbVar4; - float *pfVar5; - uint uVar6; - int iVar7; - uint *puVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - byte abStack572 [8]; - uint auStack564 [121]; - int iStack80; - int iStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack12; - int iStack8; - char *pcStack4; - - pcStack4 = *(char **)(param_1 + 0x10); - iStack8 = *(int *)(pcStack4 + 0x14); - iStack12 = 1; - DAT_80030b4c = 0; - fStack72 = *param_2; - if (((fStack72 == *(float *)(param_1 + 0x58)) && (param_2[1] == *(float *)(param_1 + 0x5c))) && - (param_2[2] == *(float *)(param_1 + 0x60))) { - DAT_80030b4c = 0; - return 1; - } - fStack68 = param_2[1]; - fStack64 = param_2[2]; - if ((*(uint *)(param_1 + 100) & 0x80) == 0) { - DAT_80030b4c = 0; - return 1; - } - pfVar5 = (float *)(param_1 + 0x58); - if ((**(uint **)(param_1 + 0x6c) & 4) == 0) { - DAT_80030b4c = 0; - return 1; - } - iStack80 = 0; - fVar10 = (float)FUN_7f0b5664(pfVar5,&fStack72,(byte *)(*(int *)(param_1 + 0x6c) + 0xcc), - (int)abStack572,auStack564,&iStack80,0x14); - if (iStack80 < 0x15) { - iVar7 = iStack80 << 2; - } - else { - iStack80 = 0x14; - iVar7 = 0x50; - } - iVar7 = FUN_7f0b9a48((uint *)((int)auStack564 + iVar7),100); - puVar8 = auStack564; - iStack80 += iVar7; - auStack564[iStack80] = 0xffffffff; - while (-1 < (int)auStack564[0]) { - iVar7 = loc_7F0B7D64(pfVar5,&fStack72,auStack564[0],&fStack60); - if (iVar7 == 0) { - auStack564[0] = puVar8[1]; - } - else { - FUN_7f0b53e0(); - fStack60 = fStack60 * fVar10; - fStack56 = fStack56 * fVar10; - fStack52 = fStack52 * fVar10; - fVar9 = *(float *)(param_1 + 0x58); - if (((fStack72 < fVar9) || (fStack72 < fStack60)) || (fStack60 < fVar9)) { - if (fStack72 <= fVar9) { - if (fStack72 <= fStack60) { - if (fStack60 <= fVar9) { - fVar11 = *(float *)(param_1 + 0x5c); - goto LAB_7f042760; - } - auStack564[0] = puVar8[1]; - } - else { - auStack564[0] = puVar8[1]; - } - } - else { - auStack564[0] = puVar8[1]; - } - } - else { - fVar11 = *(float *)(param_1 + 0x5c); -LAB_7f042760: - if (((fStack68 < fVar11) || (fStack68 < fStack56)) || (fStack56 < fVar11)) { - if (fStack68 <= fVar11) { - if (fStack68 <= fStack56) { - if (fStack56 <= fVar11) { - fVar10 = *(float *)(param_1 + 0x60); - goto LAB_7f0427d0; - } - auStack564[0] = puVar8[1]; - } - else { - auStack564[0] = puVar8[1]; - } - } - else { - auStack564[0] = puVar8[1]; - } - } - else { - fVar10 = *(float *)(param_1 + 0x60); -LAB_7f0427d0: - if (((fStack64 < fVar10) || (fStack64 < fStack52)) || (fStack52 < fVar10)) { - if (fStack64 <= fVar10) { - if (fStack64 <= fStack52) { - if (fStack52 <= fVar10) goto LAB_7f042840; - auStack564[0] = puVar8[1]; - } - else { - auStack564[0] = puVar8[1]; - } - } - else { - auStack564[0] = puVar8[1]; - } - } - else { -LAB_7f042840: - if (((fVar9 == fStack60) && (fVar11 == fStack56)) && (fVar10 == fStack52)) { - auStack564[0] = puVar8[1]; - } - else { - iStack12 = 0; - *param_3 = fStack60; - param_3[1] = fStack56; - param_3[2] = fStack52; - *param_4 = fStack48; - param_4[1] = fStack44; - param_4[2] = fStack40; - if (((*param_4 == 0.00000000) && (param_4[1] == 0.00000000)) && - (param_4[2] == 0.00000000)) { - param_4[2] = 1.00000000; - auStack564[0] = puVar8[1]; - } - else { - fVar10 = (float)guNormalize(param_4,param_4 + 1,param_4 + 2); - auStack564[0] = puVar8[1]; - } - } - } - } - } - } - puVar8 = puVar8 + 1; - } - if (iStack12 == 0) { - fVar12 = *param_2 - *(float *)(param_1 + 0x58); - fVar11 = param_2[1] - *(float *)(param_1 + 0x5c); - fVar13 = param_2[2] - *(float *)(param_1 + 0x60); - fVar9 = sqrtf(fVar13 * fVar13 + fVar12 * fVar12 + fVar11 * fVar11); - fVar10 = 0.50000000; - if (DAT_80052a88 < fVar9) { - fVar10 = DAT_80052a88 / fVar9; - } - *param_3 = *param_3 - fVar10 * fVar12; - fStack72 = *param_3; - param_3[1] = param_3[1] - fVar10 * fVar11; - param_3[2] = param_3[2] - fVar10 * fVar13; - fStack68 = param_3[1]; - fStack64 = param_3[2]; - } - lVar2 = loc_7F042218(pcStack4,(longlong)(int)pfVar5,&fStack72,0x1f,param_3,param_4, - (int *)auStack564); - if (lVar2 == 0) { - if ((iStack12 == 0) && (param_5 != 0)) { - iStack12 = 2; - if (param_6 == 0) { - FUN_7f0b5664(pfVar5,param_3,(byte *)(*(int *)(param_1 + 0x6c) + 0xcc),(int)abStack572, - auStack564,&iStack80,0x14); - } - } - else { - if ((iStack12 == 1) || (param_6 == 0)) { - if (iStack12 != 1) { - FUN_7f0b5664(pfVar5,&fStack72,(byte *)(*(int *)(param_1 + 0x6c) + 0xcc),(int)abStack572, - auStack564,&iStack80,0x14); - } - *(float *)(param_1 + 0x58) = fStack72; - *(float *)(param_1 + 0x60) = fStack64; - *(float *)(pcStack4 + 0xc) = fStack68; - *(float *)(param_1 + 0x5c) = fStack68; - } - } - } - else { - if (param_6 == 0) { - fStack72 = *(float *)(param_1 + 0x58); - fStack64 = *(float *)(param_1 + 0x60); - FUN_7f0b5664(pfVar5,&fStack72,(byte *)(*(int *)(param_1 + 0x6c) + 0xcc),(int)abStack572, - auStack564,&iStack80,0x14); - *(float *)(pcStack4 + 0xc) = fStack68; - *(float *)(param_1 + 0x5c) = fStack68; - if (param_5 == 0) { - iStack12 = 0; - } - else { - iStack12 = 2; - } - } - } - if (iStack12 == 1) { - puVar8 = *(uint **)(param_1 + 0x6c); - } - else { - if (param_6 != 0) { - return iStack12; - } - puVar8 = *(uint **)(param_1 + 0x6c); - } - iStack76 = 0; - uVar6 = *puVar8 & 8; - if (uVar6 == 0) { - iStack8 = *(int *)(pcStack4 + 0x14); - iStack76 = 0; - iVar7 = sub_7F0B0BE4(&iStack8,*(float *)(pcStack4 + 8),*(float *)(pcStack4 + 0x10), - *(float *)(param_1 + 0x58),*(float *)(param_1 + 0x60)); - if (iVar7 == 1) { - if (iStack8 != 0) { - *(int *)(pcStack4 + 0x14) = iStack8; - *(undefined4 *)(pcStack4 + 8) = *(undefined4 *)(param_1 + 0x58); - *(undefined4 *)(pcStack4 + 0x10) = *(undefined4 *)(param_1 + 0x60); - uVar6 = **(uint **)(param_1 + 0x6c) & 8; - goto LAB_7f042c38; - } - puVar8 = *(uint **)(param_1 + 0x6c); - } - else { - puVar8 = *(uint **)(param_1 + 0x6c); - } - *puVar8 = *puVar8 | 8; - pcStack4[1] = pcStack4[1] | 8; - uVar6 = **(uint **)(param_1 + 0x6c) & 8; - } -LAB_7f042c38: - if ((uVar6 != 0) && (piVar3 = FUN_7f0afdbc(pfVar5,abStack572,NULL), piVar3 != NULL)) { - *(int **)(pcStack4 + 0x14) = piVar3; - *(undefined4 *)(pcStack4 + 8) = *(undefined4 *)(param_1 + 0x58); - *(undefined4 *)(pcStack4 + 0x10) = *(undefined4 *)(param_1 + 0x60); - **(uint **)(param_1 + 0x6c) = **(uint **)(param_1 + 0x6c) & 0xfffffff7; - pcStack4[1] = pcStack4[1] & 0xf7; - } - pbVar4 = abStack572 + iStack76; - if (abStack572[0] == 0xff) { -LAB_7f042cd8: - iVar7 = *(int *)(param_1 + 0x6c); - } - else { - bVar1 = *pbVar4; - iVar7 = *(int *)(param_1 + 0x6c); - while( true ) { - pbVar4 = pbVar4 + 1; - *(byte *)(iVar7 + iStack76 + 0xcc) = bVar1; - bVar1 = *pbVar4; - iStack76 += 1; - if (bVar1 == 0xff) break; - if (iStack76 == 7) goto LAB_7f042cd8; - iVar7 = *(int *)(param_1 + 0x6c); - } - iVar7 = *(int *)(param_1 + 0x6c); - } - *(undefined *)(iVar7 + iStack76 + 0xcc) = 0xff; - return iStack12; -} - - - -undefined4 loc_7F042EA4(int iParm1,float *pfParm2,float *pfParm3,float *pfParm4) - -{ - int iVar1; - longlong lVar2; - uint uVar3; - ulonglong uVar4; - float in_f0; - float fVar5; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - undefined4 uStack96; - undefined4 uStack92; - float fStack88; - float fStack84; - float fStack80; - float afStack76 [2]; - float fStack68; - float afStack64 [2]; - float fStack56; - float fStack52; - float fStack48; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - undefined4 uStack16; - float fStack12; - int aiStack8 [2]; - - iVar1 = *(int *)(iParm1 + 0x10); - aiStack8[0] = *(int *)(iVar1 + 0x14); - loc_7F041060(iParm1); - uStack16 = 1; - DAT_80030b4c = 0; - fStack40 = *pfParm2; - if (((fStack40 != *(float *)(iVar1 + 8)) || (pfParm2[1] != *(float *)(iVar1 + 0xc))) || - (pfParm2[2] != *(float *)(iVar1 + 0x10))) { - fStack36 = pfParm2[1]; - fStack32 = pfParm2[2]; - if ((*(uint *)(iParm1 + 100) & 0x80) != 0) { - fStack12 = in_f0; - fVar5 = (float)FUN_7f0b3520(*(undefined4 *)(iVar1 + 0x14),*(undefined4 *)(iVar1 + 8), - *(undefined4 *)(iVar1 + 0x10)); - if ((**(uint **)(iParm1 + 0x6c) & 0x40) == 0) { - fStack48 = 0.00000000; - fStack52 = 1.00000000; - } - else { - fStack52 = *(float *)(iVar1 + 0xc); - if (fStack36 < fStack52) { - fStack48 = fStack52 - fVar5; - fStack52 = fStack36 - fVar5; - } - else { - fStack48 = fStack36 - fVar5; - fStack52 = fStack52 - fVar5; - } - } - uVar4 = FUN_7f0b2874(); - uVar3 = loc_7F0B13B4(aiStack8,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10),fStack40,fStack32 - ,0x1f,fStack48,fStack52,0.00000000,1.00000000); - if ((((uVar4 & 0xffffffff00000000 | (ulonglong)((uint)uVar4 & 0xffffff00 | uVar3 >> 0x18)) == - 0) || (aiStack8[0] == 0)) || - (lVar2 = loc_7F0B1C80(aiStack8,fStack40,fStack32,fStack12,0x1f,fStack48,fStack52), - -1 < lVar2)) { - FUN_7f0b3460(afStack64,afStack76); - pfParm4[1] = 0.00000000; - *pfParm4 = fStack68 - fStack56; - pfParm4[2] = afStack64[0] - afStack76[0]; - if ((*pfParm4 == 0.00000000) && (pfParm4[2] == 0.00000000)) { - pfParm4[2] = 1.00000000; - fStack28 = *(float *)(iVar1 + 8); - } - else { - guNormalize(pfParm4,pfParm4 + 1,pfParm4 + 2); - fStack28 = *(float *)(iVar1 + 8); - } - if (((fStack40 == fStack28) && (fStack36 == *(float *)(iVar1 + 0xc))) && - (fStack32 == *(float *)(iVar1 + 0x10))) { - *pfParm3 = fStack40; - pfParm3[1] = fStack36; - pfParm3[2] = fStack32; - } - else { - fStack28 = fStack40 - fStack28; - fStack24 = fStack36 - *(float *)(iVar1 + 0xc); - fStack20 = fStack32 - *(float *)(iVar1 + 0x10); - uVar4 = FUN_7f026554((float *)(iVar1 + 8),&fStack28,pfParm3); - fStack100 = fStack12; - uStack96 = *(undefined4 *)(iVar1 + 8); - uStack92 = *(undefined4 *)(iVar1 + 0x10); - fStack108 = afStack64[0]; - fStack104 = fStack56; - fStack116 = afStack76[0]; - fStack112 = fStack68; - fStack124 = fStack40 - *(float *)(iVar1 + 8); - fStack120 = fStack32 - *(float *)(iVar1 + 0x10); - fVar5 = loc_7F0B37AC(&fStack100,&fStack108,&fStack116,&fStack124); - aiStack8[0] = *(int *)(iVar1 + 0x14); - fStack84 = fStack36; - fStack88 = *(float *)(iVar1 + 8) + fStack124 * fVar5 * DAT_80052a8c; - fStack80 = *(float *)(iVar1 + 0x10) + fStack120 * fVar5 * DAT_80052a8c; - uVar3 = loc_7F0B13B4(aiStack8,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10),fStack88, - fStack80,0x1f,fStack48,fStack52,0.00000000,1.00000000); - if ((((uVar4 & 0xffffffff00000000 | (ulonglong)((uint)uVar4 & 0xffffff00 | uVar3 >> 0x18)) - != 0) && (aiStack8[0] != 0)) && - (lVar2 = loc_7F0B1C80(aiStack8,fStack88,fStack80,fStack12,0x1f,fStack48,fStack52), - lVar2 < 0)) { - *(float *)(iParm1 + 0x58) = fStack88; - *(float *)(iParm1 + 0x60) = fStack80; - *(int *)(iVar1 + 0x14) = aiStack8[0]; - *(float *)(iVar1 + 8) = fStack88; - *(float *)(iVar1 + 0x10) = fStack80; - } - } - *(float *)(iVar1 + 0xc) = fStack84; - *(float *)(iParm1 + 0x5c) = fStack84; - uStack16 = 0; - } - else { - *(float *)(iParm1 + 0x58) = fStack40; - *(float *)(iParm1 + 0x60) = fStack32; - *(int *)(iVar1 + 0x14) = aiStack8[0]; - *(float *)(iVar1 + 8) = fStack40; - *(float *)(iVar1 + 0x10) = fStack32; - *(float *)(iVar1 + 0xc) = fStack36; - *(float *)(iParm1 + 0x5c) = fStack36; - } - } - } - return uStack16; -} - - - -int loc_7F042F0C(int param_1,float *param_2,float *param_3,float *param_4,int param_5,int param_6) - -{ - int iVar1; - - if (((*(uint *)(param_1 + 100) & 0x80) == 0) || ((**(uint **)(param_1 + 0x6c) & 4) == 0)) { - iVar1 = loc_7F042EA4(); - } - else { - iVar1 = loc_7F0429EC(param_1,param_2,param_3,param_4,param_5,param_6); - } - return iVar1; -} - - - -void FUN_7f043218(float *param_1,float param_2,float *param_3,float param_4,float param_5, - float param_6) - -{ - bool bVar1; - float fVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar4 = *param_3; - iVar3 = 0; - if (DAT_800483a4 < 1) { -LAB_7f0433f0: - *param_3 = fVar4; - return; - } - fVar6 = *param_1; - do { - fVar5 = param_2 - fVar6; - if (0.00000000 < fVar5) { - if ((fVar4 <= 0.00000000) || ((fVar4 * fVar4 * 0.50000000) / param_5 < fVar5)) { - if (fVar4 < param_6) { - fVar7 = param_5; - if (0.00000000 <= fVar4) { - fVar7 = param_4; - } - fVar4 = fVar4 + fVar7; - fVar7 = param_6; - if (param_6 < fVar4) goto LAB_7f043304; - bVar1 = fVar5 <= fVar4; - } - else { - bVar1 = fVar5 <= fVar4; - } - } - else { - fVar4 = fVar4 - param_5; - fVar7 = param_5; - if (fVar4 < param_5) { -LAB_7f043304: - bVar1 = fVar5 <= fVar7; - fVar4 = fVar7; - } - else { - bVar1 = fVar5 <= fVar4; - } - } - if (bVar1) { - *param_1 = param_2; - goto LAB_7f0433f0; - } - *param_1 = fVar6 + fVar4; - } - else { - if ((0.00000000 <= fVar4) || ((fVar4 * fVar4 * 0.50000000) / param_5 < -fVar5)) { - fVar7 = -param_6; - if (fVar7 < fVar4) { - fVar2 = param_5; - if (fVar4 <= 0.00000000) { - fVar2 = param_4; - } - fVar4 = fVar4 - fVar2; - if (fVar4 < fVar7) goto LAB_7f0433bc; - bVar1 = fVar4 <= fVar5; - } - else { - bVar1 = fVar4 <= fVar5; - } - } - else { - fVar4 = fVar4 + param_5; - fVar7 = -param_5; - if (fVar7 < fVar4) { -LAB_7f0433bc: - bVar1 = fVar7 <= fVar5; - fVar4 = fVar7; - } - else { - bVar1 = fVar4 <= fVar5; - } - } - if (bVar1) { - *param_1 = param_2; - goto LAB_7f0433f0; - } - *param_1 = fVar6 + fVar4; - } - iVar3 += 1; - if (DAT_800483a4 <= iVar3) goto LAB_7f0433f0; - fVar6 = *param_1; - } while( true ); -} - - - -void FUN_7f04340c(float *param_1,float param_2,float *param_3,float param_4,float param_5, - float param_6) - -{ - float fVar1; - float fVar2; - - if (param_2 - *param_1 < DAT_80052a90) { - param_2 = param_2 + DAT_80052a94; - } - else { - if (DAT_80052a98 <= param_2 - *param_1) { - param_2 = param_2 - DAT_80052a9c; - } - } - FUN_7f043218(param_1,param_2,param_3,param_4,param_5,param_6); - fVar1 = DAT_80052aa0; - fVar2 = *param_1; - if (fVar2 < 0.00000000) { - *param_1 = fVar2 + DAT_80052aa0; - fVar2 = *param_1; - } - if (fVar1 <= fVar2) { - *param_1 = fVar2 - fVar1; - } - return; -} - - - -void loc_7F043640(int param_1,float *param_2) - -{ - uint uVar1; - uint *puVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fStack204; - float fStack200; - float fStack196; - float fStack188; - float fStack184; - float fStack180; - float fStack172; - float fStack168; - float fStack164; - float fStack140; - float fStack136; - float fStack132; - undefined4 uStack128; - undefined4 uStack124; - undefined4 uStack120; - undefined4 uStack116; - undefined4 uStack112; - float fStack108; - undefined4 uStack104; - float fStack100; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - float fStack76; - float fStack72; - float fStack68; - float afStack12 [3]; - - uVar1 = *(uint *)(param_1 + 100); - *(uint *)(param_1 + 100) = uVar1 & 0xfffeffff; - if ((uVar1 & 0x80) == 0) { - return; - } - puVar2 = *(uint **)(param_1 + 0x6c); - if (*(char *)(param_1 + 3) == '\x01') { - loc_7F03FBDC(puVar2); - *(undefined4 *)(param_1 + 0x6c) = 0; - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) & 0xffffff7f; - return; - } - uVar1 = *puVar2; - puVar2[0x22] = 0; - *puVar2 = uVar1 & 0xfffffffe; - *puVar2 = uVar1 & 0xfffffffa; - loc_7F058918((float *)(param_1 + 0x18),afStack12); - FUN_7f058c34(afStack12,&fStack76); - sub_7F05B3F4(afStack12,(float *)(puVar2 + 0x1a)); - sub_7F059D38(&fStack76,&fStack140); - loc_7F0580E4(&fStack140,(float *)(param_1 + 0x18),(int)&fStack204); - fVar3 = sqrtf(fStack196 * fStack196 + fStack204 * fStack204 + fStack200 * fStack200); - *(float *)(puVar2 + 0x30) = fVar3; - fVar3 = sqrtf(fStack180 * fStack180 + fStack188 * fStack188 + fStack184 * fStack184); - *(float *)(puVar2 + 0x31) = fVar3; - fVar3 = sqrtf(fStack164 * fStack164 + fStack172 * fStack172 + fStack168 * fStack168); - *(float *)(puVar2 + 0x32) = fVar3; - fStack140 = *(float *)(param_1 + 0x18); - fVar3 = *(float *)(param_1 + 0x20); - if ((fStack140 == 0.00000000) && (fStack132 = 1.00000000, fVar3 == 0.00000000)) { - fStack140 = 0.00000000; - } - else { - fVar4 = sqrtf(fStack140 * fStack140 + fVar3 * fVar3); - fStack140 = fStack140 * (1.00000000 / fVar4); - fStack132 = fVar3 * (1.00000000 / fVar4); - } - fStack136 = 0.00000000; - uStack128 = 0; - if (0.00000000 <= *(float *)(param_1 + 0x2c)) { - fStack108 = -fStack132; - uStack120 = 0x3f800000; - fStack100 = fStack140; - } - else { - fStack100 = -fStack140; - uStack120 = 0xbf800000; - fStack108 = fStack132; - } - uStack96 = 0; - uStack104 = 0; - uStack112 = 0; - uStack116 = 0; - uStack124 = 0; - uStack92 = 0; - uStack88 = 0; - uStack84 = 0; - uStack80 = 0x3f800000; - loc_7F058918(&fStack140,afStack12); - sub_7F05B3F4(afStack12,(float *)(puVar2 + 0x1e)); - locret_7F05BE80((float *)(puVar2 + 0x1a),(float *)(puVar2 + 0x1e)); - puVar2[0x18] = 0; - fVar3 = FUN_7f05b1d0(fStack68 * fStack132 + fStack140 * fStack76 + fStack136 * fStack72); - if (((fVar3 <= 0.00000000) || (*(float *)(param_1 + 0x1c) <= 0.00000000)) || - (*(float *)(param_1 + 0x1c) <= param_2[1])) { - fVar4 = *(float *)(param_1 + 0x1c); - if (0.00000000 < fVar3) { - if (fVar4 < 0.00000000) { - if (fVar4 < param_2[1]) { - *(float *)(puVar2 + 0x19) = DAT_80052ab0 / ((fVar3 * 4.00000000) / DAT_80052aac); - goto LAB_7f0438e0; - } - fVar6 = *(float *)(param_1 + 0x20); - } - else { - fVar6 = *(float *)(param_1 + 0x20); - } - } - else { - fVar6 = *(float *)(param_1 + 0x20); - } - fVar5 = *(float *)(*(int *)(param_1 + 0x14) + 0x14); - fVar4 = FUN_7f05b1d0((fVar6 * param_2[2] + - *param_2 * *(float *)(param_1 + 0x18) + param_2[1] * fVar4) / - (fVar5 * fVar5)); - if (fVar3 == 0.00000000) { - puVar2[0x19] = 0x3f800000; - } - else { - *(float *)(puVar2 + 0x19) = (fVar4 / DAT_800483b4) / fVar3; - } - } - else { - *(float *)(puVar2 + 0x19) = DAT_80052aa8 / ((fVar3 * 4.00000000) / DAT_80052aa4); - } -LAB_7f0438e0: - fVar3 = (float)puVar2[0x19]; - if (fVar3 < 0.00000000) { - *(float *)(puVar2 + 0x19) = -fVar3; - fVar3 = (float)puVar2[0x19]; - } - if (fVar3 < DAT_80052ab4) { - *(float *)(puVar2 + 0x19) = DAT_80052ab4; - } - else { - if (DAT_80052ab8 < fVar3) { - *(float *)(puVar2 + 0x19) = DAT_80052ab8; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F043828(int param_1) - -{ - uint *puVar1; - uint uVar3; - int iVar4; - ulonglong uVar2; - int iVar5; - int iVar6; - undefined4 uStack8; - undefined2 uStack4; - - uVar3 = *(uint *)(param_1 + 100); - if ((uVar3 & 0x80) != 0) { - puVar1 = *(uint **)(param_1 + 0x6c); - if ((((*puVar1 & 1) == 0) || (0 < (int)puVar1[0x24])) || ((uVar3 & 0x20) == 0)) { - *(uint *)(param_1 + 100) = uVar3 & 0xffffffdf; - if (puVar1[0x26] == 0) { - iVar5 = *(int *)(param_1 + 0x6c); - } - else { - uVar2 = locret_70008E00(puVar1[0x26]); - if (uVar2 == 0) { - iVar5 = *(int *)(param_1 + 0x6c); - } - else { - loc_7000905C(*(int *)(*(int *)(param_1 + 0x6c) + 0x98)); - iVar5 = *(int *)(param_1 + 0x6c); - } - } - if ((*(int *)(iVar5 + 0x9c) != 0) && - (uVar2 = locret_70008E00(*(int *)(iVar5 + 0x9c)), uVar2 != 0)) { - loc_7000905C(*(int *)(*(int *)(param_1 + 0x6c) + 0x9c)); - } - } - else { - uStack8 = DAT_80030b6c; - uStack4 = DAT_80030b70; - iVar5 = *(int *)(*(int *)(param_1 + 0x6c) + 0xa4); - uVar3 = FUN_7000a460(); - if (((*(int *)(*(int *)(param_1 + 0x6c) + 0xa0) < DAT_800483ac + -6) && - (iVar6 = *(int *)(*(int *)(param_1 + 0x6c) + iVar5 * 4 + 0x98), iVar6 != 0)) && - (uVar2 = locret_70008E00(iVar6), uVar2 != 0)) { - loc_7000905C(*(int *)(*(int *)(param_1 + 0x6c) + iVar5 * 4 + 0x98)); - } - iVar6 = iVar5 * 4; - if ((*(int *)(*(int *)(param_1 + 0x6c) + iVar6 + 0x98) == 0) && - (iVar4 = FUN_7f0c086c(), iVar4 == 0)) { - FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&uStack8 + (uVar3 % 3) * 2), - (int **)(*(int *)(param_1 + 0x6c) + iVar6 + 0x98)); - FUN_7f053f0c(*(int *)(*(int *)(param_1 + 0x6c) + iVar6 + 0x98), - (float *)(*(int *)(param_1 + 0x10) + 8)); - *(int *)(*(int *)(param_1 + 0x6c) + 0xa0) = DAT_800483ac; - *(int *)(*(int *)(param_1 + 0x6c) + 0xa4) = 1 - iVar5; - } - } - } - return; -} - - - -void loc_7F043918(float *param_1,int param_2) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - float fVar1; - float fVar2; - float fStack260; - float fStack256; - float fStack252; - float afStack248 [16]; - float afStack184 [16]; - float afStack120 [16]; - float fStack56; - float fStack52; - float fStack36; - float fStack32; - float fStack28; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar1 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1 + param_1[1] * param_1[1]); - fVar2 = *param_1 / fVar1; - fStack12 = param_1[1] / fVar1; - fVar1 = param_1[2] / fVar1; - if ((fVar2 == 0.00000000) && (fVar1 == 0.00000000)) { - fStack4 = 0.00000000; - fStack8 = 0.00000000; - fStack20 = 0.00000000; - fStack16 = 1.00000000; - } - else { - fStack36 = fVar1; - fStack32 = fStack12; - fStack28 = fVar2; - fVar1 = sqrtf(fVar2 * fVar2 + fVar1 * fVar1); - fStack8 = -fVar1; - fStack16 = fStack36 / fVar1; - fStack4 = fStack32 * (fStack28 / fVar1); - fStack20 = -(fStack28 / fVar1); - fStack12 = fStack32 * fStack16; - } - fStack52 = loc_7F05AB54(fStack16,fStack20); - FUN_7f058b1c(-fStack52,extraout_a0,afStack120); - fStack260 = fStack4; - fStack256 = fStack8; - fStack252 = fStack12; - FUN_7f0588f8(afStack120,&fStack260); - fStack56 = loc_7F05AB54(fStack260,fStack256); - FUN_7f058b1c(DAT_80052abc + fStack52,extraout_a0_00,afStack184); - FUN_7f058a90(DAT_80052ac0 - fStack56,extraout_a0_01,afStack248); - loc_7F0580E4(afStack184,afStack248,param_2); - return; -} - - - -void FUN_7f043cb8(int param_1,undefined4 *param_2,undefined4 param_3,float *param_4) - -{ - int iVar1; - undefined8 extraout_a0; - float fVar2; - float afStack64 [16]; - - loc_7F043918(param_4,(int)afStack64); - matrix_multiply_A1_by_F12(*(float *)(*(int *)(param_1 + 0x14) + 0x14),extraout_a0,afStack64); - fVar2 = (float)sub_7F040754(param_1,param_2,afStack64,param_3); - iVar1 = locret_7F040070(*(int **)(*(int *)(param_1 + 0x14) + 8)); - sub_7F03E864(iVar1); - *(float *)(param_1 + 0x58) = *(float *)(param_1 + 0x58) - fVar2 * *(float *)(param_1 + 0x28); - *(float *)(param_1 + 0x5c) = *(float *)(param_1 + 0x5c) - fVar2 * *(float *)(param_1 + 0x2c); - *(float *)(param_1 + 0x60) = *(float *)(param_1 + 0x60) - fVar2 * *(float *)(param_1 + 0x30); - FUN_7f040784(param_1); - return; -} - - - -undefined8 loc_7F043B68(int param_1,int param_2,int param_3,ushort *param_4) - -{ - int iVar1; - undefined8 uVar2; - undefined *puVar3; - float *pfVar4; - float *pfVar5; - float afStack196 [16]; - float afStack132 [16]; - float afStack68 [17]; - - if ((*(byte *)(param_2 + 1) & 2) == 0) { - uVar2 = 0; - } - else { - iVar1 = *(int *)(param_1 + 4); - puVar3 = FUN_7f040198(); - *(undefined **)(iVar1 + 0x6c) = puVar3; - if (puVar3 == NULL) { - uVar2 = 0; - } - else { - pfVar4 = (float *)FUN_7f06cc50(param_3,param_4,0); - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 0x40; - loc_7F03E1F8(param_1); - FUN_7f03a838(param_1); - unset_stateflag_0x04_for_posdata(param_1); - *(int *)(*(int *)(iVar1 + 0x14) + 0x18) = param_3; - *(ushort **)(*(int *)(iVar1 + 0x14) + 0x1c) = param_4; - loc_7F03A5C0(param_1,param_2); - loc_7F058030((undefined4 *)(iVar1 + 0x18),afStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30((undefined4 *)(iVar1 + 0x58),(int)afStack68); - pfVar5 = (float *)FUN_7f078a34(); - loc_7F05823C(pfVar5,pfVar4,(int)afStack132); - sub_7F059FB8(afStack132,afStack196); - loc_7F05823C(afStack196,afStack68,*(int *)(iVar1 + 0x6c) + 4); - uVar2 = 1; - } - } - return uVar2; -} - - - -ulonglong loc_7F043D60(int param_1,uint param_2,undefined8 param_3,undefined4 param_4) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iVar6; - float *pfVar7; - longlong lVar4; - ulonglong uVar5; - int iVar8; - short sStackX6; - float fStack32; - undefined4 uStack28; - float fStack24; - int iStack20; - int iStack16; - uint uStack8; - int iStack4; - - iVar6 = *(int *)(param_1 + 4); - uStack8 = (*(uint *)(iVar6 + 100) & 0x60000) >> 0x11; - iVar1 = *(int *)(param_1 + 0x1c); - sStackX6 = (short)param_2; - if (iVar1 == 0) { - bVar2 = (*(uint *)(iVar6 + 8) & 0xe) == 0; - if (bVar2) { - bVar2 = (*(byte *)(param_1 + 1) & 8) == 0; - } - uVar5 = FUN_7f09cdf0(0,(float *)(iVar6 + 0x58),*(int *)(param_1 + 0x14),(int)sStackX6, - (uint)bVar2,(char)uStack8,(char *)(param_1 + 0x2c), - (uint)((*(byte *)(param_1 + 1) & 8) != 0)); - } - else { - iVar3 = *(int *)(iVar1 + 0x1c); - if (*(int *)(iVar1 + 0x1c) == 0) { - iStack20 = *(int *)(iVar1 + 0x14); - iVar8 = iVar1; - } - else { - do { - iVar8 = iVar3; - iVar3 = *(int *)(iVar8 + 0x1c); - } while (*(int *)(iVar8 + 0x1c) != 0); - iStack20 = *(int *)(iVar8 + 0x14); - } - if ((*(byte *)(param_1 + 1) & 2) == 0) { - fStack32 = *(float *)(iVar8 + 8); - uStack28 = *(undefined4 *)(iVar8 + 0xc); - fStack24 = *(float *)(iVar8 + 0x10); - } - else { - iStack16 = iVar8; - iStack4 = iVar6; - iVar6 = FUN_7f06cc90(*(int *)(iVar6 + 0x14),param_2,iVar1,param_4); - fStack32 = *(float *)(iVar6 + 0x30); - uStack28 = *(undefined4 *)(iVar6 + 0x34); - fStack24 = *(float *)(iVar6 + 0x38); - pfVar7 = (float *)FUN_7f078a34(); - FUN_7f058994(pfVar7,&fStack32); - iVar6 = iStack4; - iVar8 = iStack16; - } - if (((*(byte *)(iVar8 + 1) & 8) == 0) && - (iStack16 = iVar8, iStack4 = iVar6, - lVar4 = sub_7F0B0BE4(&iStack20,*(float *)(iVar8 + 8),*(float *)(iVar8 + 0x10),fStack32, - fStack24), iVar8 = iStack16, lVar4 != 0)) { - uVar5 = FUN_7f09cdf0(0,&fStack32,iStack20,(int)sStackX6, - (uint)((*(uint *)(iStack4 + 8) & 0xe) == 0),(char)uStack8, - (char *)(iStack16 + 0x2c),0); - } - else { - uVar5 = FUN_7f09cdf0(0,&fStack32,iStack20,(int)sStackX6,0,(char)uStack8,(char *)(iVar8 + 0x2c) - ,1); - } - } - return uVar5; -} - - - -void FUN_7f044074(int param_1) - -{ - char cVar1; - short sVar2; - int iVar3; - int iVar5; - int iVar6; - ulonglong uVar4; - uint uVar7; - undefined8 extraout_a2; - longlong lVar8; - short sVar9; - float fVar10; - float fVar11; - float fVar12; - - iVar3 = *(int *)(param_1 + 4); - iVar5 = get_cur_playernum(); - iVar5 = FUN_7f09c078(iVar5); - if (iVar5 != 0) { - return; - } - if (*(char *)(iVar3 + 3) == '\a') { - if (-1 < *(int *)(iVar3 + 8) << 3) { - return; - } - loc_7F043D60(param_1,0xc,extraout_a2,iVar3); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (*(char *)(iVar3 + 3) != '\b') { - return; - } - iVar5 = *(int *)(param_1 + 4); - lVar8 = (longlong)iVar5; - cVar1 = *(char *)(iVar5 + 0x80); - sVar9 = (short)DAT_800483a4; - if (((cVar1 == '\x1a') || (cVar1 == 'W')) && (-1 < *(short *)(iVar5 + 0x82))) { - *(short *)(iVar5 + 0x82) = *(short *)(iVar5 + 0x82) - sVar9; - if (-1 < *(short *)(iVar5 + 0x82)) { - return; - } - uVar7 = 0xd; - if (*(int *)(iVar3 + 0xc) < 0) { - uVar7 = 0x11; - } - loc_7F043D60(param_1,uVar7,lVar8,iVar3); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (cVar1 == 'V') { - if (*(short *)(iVar5 + 0x82) != 0) { - return; - } - uVar7 = 0xd; - if (*(int *)(iVar3 + 0xc) < 0) { - uVar7 = 0x11; - } - loc_7F043D60(param_1,uVar7,lVar8,iVar3); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (cVar1 == '\"') { - if (*(short *)(iVar5 + 0x82) != 0) { - return; - } - loc_7F043D60(param_1,0x11,lVar8,iVar3); - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - FUN_7f08c84c(0x78); - FUN_7f05665c(2,0); - return; - } - if (((cVar1 == '\x1b') || (cVar1 == '!')) && (-1 < *(short *)(iVar5 + 0x82))) { - *(short *)(iVar5 + 0x82) = *(short *)(iVar5 + 0x82) - sVar9; - if (-1 < *(short *)(iVar5 + 0x82)) { - return; - } - uVar7 = 0xd; - if (*(int *)(iVar3 + 0xc) < 0) { - uVar7 = 0x11; - } - uVar4 = loc_7F043D60(param_1,uVar7,lVar8,iVar3); - if (uVar4 == 0) { - return; - } - *(undefined2 *)(iVar5 + 0x82) = 0xffff; - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (cVar1 == '\x1d') { - if (DAT_80030b34 == 0) { - sVar9 = *(short *)(iVar5 + 0x82); - } - else { - if ((DAT_80030b34 & 1 << ((*(uint *)(iVar3 + 100) & 0x60000) >> 0x11)) == 0) { - sVar9 = *(short *)(iVar5 + 0x82); - } - else { - *(undefined2 *)(iVar5 + 0x82) = 0; - sVar9 = *(short *)(iVar5 + 0x82); - } - } - if (1 < sVar9) { - *(short *)(iVar5 + 0x82) = sVar9 - (short)DAT_800483a4; - if (1 < *(short *)(iVar5 + 0x82)) { - return; - } - *(undefined2 *)(iVar5 + 0x82) = 1; - return; - } - if (sVar9 != 0) { - return; - } - if (*(int *)(iVar3 + 0xc) < 0) { - uVar7 = 0x11; - } - else { - iVar6 = FUN_7000695c(); - uVar7 = 0xd; - if (iVar6 == 0x22) { - uVar7 = 0x13; - } - } - uVar4 = loc_7F043D60(param_1,uVar7,(longlong)iVar5,iVar3); - if (uVar4 == 0) { - return; - } - *(undefined2 *)(iVar5 + 0x82) = 0xffff; - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - return; - } - if (cVar1 != '\x1c') { - return; - } - sVar2 = *(short *)(iVar5 + 0x82); - if (sVar2 < 2) { - if (sVar2 != 1) { - sVar9 = *(short *)(iVar5 + 0x82); - goto LAB_7f04447c; - } - iVar6 = FUN_7f089e6c(); - fVar10 = *(float *)(iVar6 + 8) - *(float *)(param_1 + 8); - fVar11 = *(float *)(iVar6 + 0xc) - *(float *)(param_1 + 0xc); - fVar12 = *(float *)(iVar6 + 0x10) - *(float *)(param_1 + 0x10); - if (DAT_80052ac4 <= fVar10 * fVar10 + fVar11 * fVar11 + fVar12 * fVar12) { - sVar9 = *(short *)(iVar5 + 0x82); - goto LAB_7f04447c; - } - *(undefined2 *)(iVar5 + 0x82) = 0; - } - else { - *(short *)(iVar5 + 0x82) = sVar2 - sVar9; - if (1 < *(short *)(iVar5 + 0x82)) { - sVar9 = *(short *)(iVar5 + 0x82); - goto LAB_7f04447c; - } - *(undefined2 *)(iVar5 + 0x82) = 1; - FUN_7f052058(iVar5); - } - sVar9 = *(short *)(iVar5 + 0x82); -LAB_7f04447c: - if (sVar9 == 0) { - uVar7 = 0xd; - if (*(int *)(iVar3 + 0xc) < 0) { - uVar7 = 0x11; - } - uVar4 = loc_7F043D60(param_1,uVar7,(longlong)iVar5,iVar3); - if (uVar4 != 0) { - *(undefined2 *)(iVar5 + 0x82) = 0xffff; - *(uint *)(iVar3 + 100) = *(uint *)(iVar3 + 100) | 4; - FUN_7f052090(iVar5); - } - } - return; -} - - - -void loc_7F04423C(int param_1) - -{ - int iVar1; - int param_1_00; - - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - iVar1 = *(int *)(param_1_00 + 0x24); - loc_7F04423C(param_1_00); - loc_7F04CA2C(param_1_00); - param_1_00 = iVar1; - } - return; -} - - - -void loc_7F0442CC(int param_1) - -{ - int param_1_00; - int iVar1; - - param_1_00 = *(int *)(param_1 + 4); - if ((*(uint *)(param_1_00 + 100) & 4) == 0) { - *(byte *)(param_1 + 1) = *(byte *)(param_1 + 1) & 0xfd; - FUN_7f044074(param_1); - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - iVar1 = *(int *)(param_1_00 + 0x24); - loc_7F0442CC(param_1_00); - param_1_00 = iVar1; - } - } - else { - loc_7F041010(param_1_00,1,(ulonglong)*(byte *)(param_1_00 + 2) & 4); - } - return; -} - - - -void loc_7F044400(int param_1) - -{ - byte bVar1; - int param_1_00; - int iVar2; - float *pfVar3; - int iVar4; - - param_1_00 = *(int *)(param_1 + 4); - iVar2 = *(int *)(param_1_00 + 0x14); - if ((*(uint *)(param_1_00 + 100) & 4) == 0) { - if (*(ushort **)(iVar2 + 0x1c) == NULL) { - bVar1 = *(byte *)(param_1 + 1); - } - else { - if ((*(uint *)(param_1_00 + 100) & 0x40) != 0) { - pfVar3 = (float *)FUN_7f06cc50(*(int *)(iVar2 + 0x18),*(ushort **)(iVar2 + 0x1c),0); - *(byte *)(param_1 + 1) = *(byte *)(param_1 + 1) | 2; - iVar4 = FUN_7f0be2c4((int)*(short *)(*(int *)(iVar2 + 8) + 0xe) << 6); - *(int *)(iVar2 + 0xc) = iVar4; - loc_7F05823C(pfVar3,(float *)(*(int *)(param_1_00 + 0x6c) + 4),iVar4); - loc_7F06EFB0((longlong)iVar2,**(int **)(iVar2 + 8)); - FUN_7f044074(param_1); - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - iVar2 = *(int *)(param_1_00 + 0x24); - loc_7F044400(param_1_00); - param_1_00 = iVar2; - } - return; - } - bVar1 = *(byte *)(param_1 + 1); - } - *(byte *)(param_1 + 1) = bVar1 & 0xfd; - FUN_7f044074(param_1); - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - iVar2 = *(int *)(param_1_00 + 0x24); - loc_7F0442CC(param_1_00); - param_1_00 = iVar2; - } - } - else { - loc_7F041010(param_1_00,1,(ulonglong)*(byte *)(param_1_00 + 2) & 4); - } - return; -} - - - -undefined8 loc_7F044684(float *param_1,int param_2,float *param_3,uint param_4) - -{ - longlong lVar1; - float *pfVar2; - uint uVar3; - int iVar4; - int iVar5; - float *pfVar6; - int iVar7; - double dVar8; - double dVar9; - double dVar10; - double dVar11; - ulonglong unaff_f22; - float fStack68; - undefined4 uStack64; - float fStack60; - double dStack48; - - if (0 < param_2) { - iVar4 = 0; - pfVar6 = param_1; - do { - iVar7 = iVar4 + 1; - fStack68 = *pfVar6; - dVar10 = (double)(param_1 + (iVar7 % param_2) * 2)[1] - (double)pfVar6[1]; - if (param_2 == 0) { - trap(0x1c00); - } - if ((param_2 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - iVar5 = iVar7 % param_2 + 1; - dVar11 = (double)fStack68 - (double)param_1[(iVar7 % param_2) * 2]; - if ((dVar10 == (double)(unaff_f22 & 0xffffffff00000000)) && - (dVar11 == (double)(unaff_f22 & 0xffffffff00000000))) { - uStack64 = 0; - fStack60 = pfVar6[1]; - lVar1 = loc_7F03CF7C(&fStack68,param_3,param_4); - if (lVar1 != 0) { - return 0; - } - } - else { - uVar3 = 0; - dVar9 = (double)pfVar6[1] * dVar11 + (double)fStack68 * dVar10; - if (param_2 == 0) { - trap(0x1c00); - } - if ((param_2 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - while ((iVar5 %= param_2, iVar4 != iVar5 && - (dStack48 = (double)(param_1 + iVar5 * 2)[1] * dVar11 + - (double)param_1[iVar5 * 2] * dVar10, dStack48 == dVar9))) { - iVar5 += 1; - if (param_2 == 0) { - trap(0x1c00); - } - if ((param_2 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - } - pfVar2 = param_3; - if (0 < (int)param_4) { - do { - dVar8 = (double)pfVar2[1] * dVar11 + (double)*pfVar2 * dVar10; - if (dStack48 == dVar9) { - dStack48 = (dVar9 - dVar8) + dVar9; - } - if (((dVar8 < dVar9) && (dStack48 < dVar9)) || ((dVar9 < dVar8 && (dVar9 < dStack48)))) - break; - uVar3 += 1; - pfVar2 = pfVar2 + 2; - } while (uVar3 != param_4); - } - if (uVar3 == param_4) { - return 1; - } - } - pfVar6 = pfVar6 + 2; - iVar4 = iVar7; - } while (iVar7 != param_2); - } - return 0; -} - - - -undefined8 FUN_7f0449a0(float *param_1,uint param_2,float *param_3,uint param_4) - -{ - longlong lVar1; - undefined8 uVar2; - float *pfVar3; - uint uVar4; - float fStack16; - undefined4 uStack12; - float fStack8; - - uVar4 = 0; - if (0 < (int)param_2) { - pfVar3 = param_1; - do { - fStack16 = *pfVar3; - uStack12 = 0; - fStack8 = pfVar3[1]; - lVar1 = loc_7F03CF7C(&fStack16,param_3,param_4); - uVar4 += 1; - if (lVar1 != 0) { - return 1; - } - pfVar3 = pfVar3 + 2; - } while (uVar4 != param_2); - } - uVar4 = 0; - pfVar3 = param_3; - if (0 < (int)param_4) { - do { - fStack16 = *pfVar3; - uStack12 = 0; - fStack8 = pfVar3[1]; - lVar1 = loc_7F03CF7C(&fStack16,param_1,param_2); - uVar4 += 1; - if (lVar1 != 0) { - return 1; - } - pfVar3 = pfVar3 + 2; - } while (uVar4 != param_4); - } - lVar1 = loc_7F044684(param_1,param_2,param_3,param_4); - if (lVar1 == 0) { - lVar1 = loc_7F044684(param_3,param_4,param_1,param_2); - if (lVar1 == 0) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -undefined8 loc_7F044870(undefined8 param_1,undefined8 param_2,float *param_3,int param_4) - -{ - float fVar1; - ulonglong uVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined4 extraout_a1_hi; - undefined4 extraout_a1_hi_00; - undefined4 extraout_a1_hi_01; - undefined4 extraout_a1_hi_02; - undefined4 uVar3; - undefined4 extraout_a1_lo; - undefined4 extraout_a1_lo_00; - undefined4 extraout_a1_lo_01; - undefined4 extraout_a1_lo_02; - undefined4 uVar4; - float *pfVar5; - float *pfVar6; - int iVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - - fVar1 = (float)param_2; - fVar11 = *(float *)param_1; - fVar12 = ((float *)param_1)[2]; - iVar7 = 0; - pfVar6 = param_3; - if (0 < param_4) { - do { - iVar7 += 1; - pfVar5 = param_3 + (iVar7 % param_4) * 2; - if (param_4 == 0) { - trap(0x1c00); - } - if ((param_4 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - fVar8 = loc_7F0B1788(*pfVar6,pfVar6[1],param_1,param_2,*pfVar5,pfVar5[1],fVar11,fVar12); - if (fVar8 < 0.00000000) { - fVar8 = -fVar8; - fVar10 = *pfVar6; - } - else { - fVar10 = *pfVar6; - } - fVar10 = (float)sub_7F0B1794(fVar10,pfVar6[1],extraout_a0, - CONCAT44(extraout_a1_hi,extraout_a1_lo),fVar11,fVar12); - fVar9 = (float)sub_7F0B1794(*pfVar5,pfVar5[1],extraout_a0_00, - CONCAT44(extraout_a1_hi_00,extraout_a1_lo_00),fVar11,fVar12); - param_1 = extraout_a0_01; - uVar3 = extraout_a1_hi_01; - uVar4 = extraout_a1_lo_01; - if ((fVar8 < fVar1) && - (((fVar10 < fVar1 || (fVar9 < fVar1)) || - (uVar2 = locret_7F0B18B0(*pfVar6,pfVar6[1],extraout_a0_01, - CONCAT44(extraout_a1_hi_01,extraout_a1_lo_01),*pfVar5,pfVar5[1], - fVar11,fVar12), param_1 = extraout_a0_02, - uVar3 = extraout_a1_hi_02, uVar4 = extraout_a1_lo_02, uVar2 != 0)))) { - return 1; - } - param_2 = CONCAT44(uVar3,uVar4); - pfVar6 = pfVar6 + 2; - } while (iVar7 != param_4); - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f044e70) overlaps instruction at (ram,0x7f044e6c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F044B14(byte *param_1) - -{ - bool bVar1; - byte bVar2; - byte bVar3; - char cVar4; - longlong lVar5; - byte *pbVar6; - short *psVar7; - int iVar8; - float fVar9; - float fStack96; - float fStack92; - uint uStack88; - float *apfStack84 [4]; - int iStack68; - float fStack64; - float afStack60 [2]; - uint auStack52 [8]; - float fStack20; - float fStack16; - uint uStack12; - float *apfStack8 [2]; - - loc_7F03CCA4((char *)param_1,(int **)apfStack8,&uStack12,&fStack16,&fStack20); - if (0 < (int)uStack12) { - loc_7F03CC0C((char *)param_1,auStack52); - FUN_7f03e6fc((int *)auStack52); - lVar5 = (longlong)*_DAT_80069c70; - iVar8 = (int)*_DAT_80069c70; - psVar7 = _DAT_80069c70; - if (-1 < lVar5) { - do { - iVar8 = (iVar8 * 0x10 + (int)lVar5 * -4 + (int)lVar5) * 4; - pbVar6 = (byte *)(iVar8 + -0x7ff96388); - if (pbVar6 == param_1) { - lVar5 = (longlong)psVar7[1]; - goto LAB_7f044ed8; - } - bVar2 = *pbVar6; - if ((bVar2 == 6) || (bVar2 == 3)) { - if ((*(int *)(iVar8 + -0x7ff96384) == 0) || - ((*(uint *)(*(int *)(iVar8 + -0x7ff96384) + 0x14) & 0x400) == 0)) { - fVar9 = (float)FUN_7f03d288((char *)pbVar6,&iStack68,afStack60,&fStack64); - FUN_7f03d2e8(pbVar6); - fStack64 = fStack64 + fVar9; - afStack60[0] = afStack60[0] + fVar9; - if (fStack64 <= fStack16) { - if (fStack20 <= afStack60[0]) { - lVar5 = loc_7F03CF7C((float *)(iVar8 + -0x7ff96380),apfStack8[0],uStack12); - bVar1 = lVar5 == 0; - if ((bVar1) && - (lVar5 = loc_7F044870((longlong)(int)(float *)(iVar8 + -0x7ff96380), - (longlong)iStack68,apfStack8[0],uStack12), lVar5 != 0)) { - bVar1 = false; - } - if (!bVar1) { - if ((*pbVar6 == 3) && (*param_1 == 2)) { - *(ushort *)(*(int *)(iVar8 + -0x7ff96384) + 0x12) = - *(ushort *)(*(int *)(iVar8 + -0x7ff96384) + 0x12) | 0x10; - } - return 0; - } - lVar5 = (longlong)psVar7[1]; - goto LAB_7f044ed8; - } -LAB_7f044ed4: - lVar5 = (longlong)psVar7[1]; - } - else { - lVar5 = (longlong)psVar7[1]; - } - } - else { - lVar5 = (longlong)psVar7[1]; - } - } - else { - if (bVar2 == 1) { -LAB_7f044e3c: - bVar3 = *param_1; - } - else { - if (bVar2 != 4) { - if (bVar2 != 2) { - lVar5 = (longlong)psVar7[1]; - goto LAB_7f044ed8; - } - goto LAB_7f044e3c; - } - bVar3 = *param_1; - } - if (bVar3 == 2) { - if (bVar2 == 2) { - lVar5 = (longlong)psVar7[1]; - goto LAB_7f044ed8; - } - cVar4 = *(char *)(*(int *)(iVar8 + -0x7ff96384) + 3); - if ((cVar4 == '+') || (cVar4 == '(')) goto LAB_7f044ed4; - } - loc_7F03CCA4((char *)pbVar6,(int **)apfStack84,&uStack88,&fStack92,&fStack96); - if ((int)uStack88 < 1) { - lVar5 = (longlong)psVar7[1]; - } - else { - if (fStack96 <= fStack16) { - if (fStack20 <= fStack92) { - lVar5 = FUN_7f0449a0(apfStack84[0],uStack88,apfStack8[0],uStack12); - if (lVar5 != 0) { - return 0; - } - lVar5 = (longlong)psVar7[1]; - } - else { - lVar5 = (longlong)psVar7[1]; - } - } - else { - lVar5 = (longlong)psVar7[1]; - } - } - } -LAB_7f044ed8: - psVar7 = psVar7 + 1; - if (lVar5 < 0) { - return 1; - } - iVar8 = (int)lVar5; - } while( true ); - } - } - return 1; -} - - - -int loc_7F0451C4(undefined8 param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - longlong lVar4; - undefined8 extraout_a0; - float *pfVar5; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fStack228; - float fStack224; - float fStack220; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - int iStack152; - int iStack148; - float afStack144 [16]; - int iStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float *pfStack28; - float *pfStack24; - float *pfStack20; - float *pfStack16; - int iStack4; - - iVar3 = (int)param_1; - iStack4 = *(int *)(iVar3 + 0x14); - iVar1 = *(int *)(iVar3 + 0x10); - iVar2 = *(int *)(*(int *)(iStack4 + 8) + 8); - pfStack16 = *(float **)(*(int *)(iVar2 + 4) + 4); - pfStack20 = *(float **)(*(int *)(iVar2 + 8) + 4); - pfStack24 = *(float **)(*(int *)(iVar2 + 0xc) + 4); - pfStack28 = *(float **)(*(int *)(iVar2 + 0x10) + 4); - iStack80 = 1; - iStack152 = *(int *)(*(int *)(iVar2 + 0x18) + 4); - FUN_7f058b1c(*(float *)(iVar3 + 0xa0),param_1,afStack144); - matrix_multiply_A1_by_F12(*(float *)(iStack4 + 0x14),extraout_a0,afStack144); - copies_first_3_floats_from_a0_to_a1_plus_0x30((undefined4 *)(iVar3 + 0x58),(int)afStack144); - FUN_7f058938(afStack144,pfStack16,&fStack40); - FUN_7f058938(afStack144,pfStack20,&fStack52); - FUN_7f058938(afStack144,pfStack24,&fStack64); - FUN_7f058938(afStack144,pfStack28,&fStack76); - iStack148 = *(int *)(iVar1 + 0x14); - lVar4 = sub_7F0B0BE4(&iStack148,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10),fStack40,fStack32); - if (lVar4 == 0) { - iStack80 = 0; - } - else { - fStack36 = (float)FUN_7f0b3520(iStack148,fStack40,fStack32); - } - iStack148 = *(int *)(iVar1 + 0x14); - lVar4 = sub_7F0B0BE4(&iStack148,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10),fStack52,fStack44); - if (lVar4 == 0) { - iStack80 = 0; - } - else { - fStack48 = (float)FUN_7f0b3520(iStack148,fStack52,fStack44); - } - iStack148 = *(int *)(iVar1 + 0x14); - lVar4 = sub_7F0B0BE4(&iStack148,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10),fStack64,fStack56); - if (lVar4 == 0) { - iStack80 = 0; - } - else { - fStack60 = (float)FUN_7f0b3520(iStack148,fStack64,fStack56); - } - iStack148 = *(int *)(iVar1 + 0x14); - lVar4 = sub_7F0B0BE4(&iStack148,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10),fStack76,fStack68); - if (lVar4 == 0) { - iStack80 = 0; - } - else { - fStack72 = (float)FUN_7f0b3520(iStack148,fStack76,fStack68); - } - pfVar5 = (float *)(iVar3 + 0x18); - if (iStack80 == 0) { - FUN_7f058b1c(*(float *)(iVar3 + 0xa0),(longlong)(int)pfVar5,pfVar5); - matrix_multiply_A1_by_F12(*(float *)(iStack4 + 0x14),extraout_a0_01,pfVar5); - fVar7 = (float)FUN_7f0b3520(*(undefined4 *)(iVar1 + 0x14),*(undefined4 *)(iVar1 + 8), - *(undefined4 *)(iVar1 + 0x10)); - fVar8 = fVar7; - sub_7F03E864(iStack152); - fVar7 = fVar7 - (pfStack16[1] + fVar8) * *(float *)(iStack4 + 0x14); - *(float *)(iVar1 + 0xc) = fVar7; - *(float *)(iVar3 + 0x5c) = fVar7; - } - else { - fStack164 = fStack52 - fStack40; - fStack160 = fStack48 - fStack36; - fStack156 = fStack44 - fStack32; - guNormalize(&fStack164,&fStack160,&fStack156); - fStack176 = fStack76 - fStack52; - fStack172 = fStack72 - fStack48; - fStack168 = fStack68 - fStack44; - guNormalize(&fStack176,&fStack172,&fStack168); - fStack188 = fStack64 - fStack76; - fStack184 = fStack60 - fStack72; - fStack180 = fStack56 - fStack68; - guNormalize(&fStack188,&fStack184,&fStack180); - fStack200 = fStack40 - fStack64; - fStack196 = fStack36 - fStack60; - fStack192 = fStack32 - fStack56; - guNormalize(&fStack200,&fStack196,&fStack192); - fStack224 = fStack156 * fStack176 - fStack168 * fStack164; - fVar8 = fStack168 * fStack188 - fStack180 * fStack176; - if (((fStack224 < fVar8) || (fStack224 < fStack180 * fStack200 - fStack192 * fStack188)) || - (fStack224 < fStack192 * fStack164 - fStack156 * fStack200)) { - fStack224 = fStack180 * fStack200 - fStack192 * fStack188; - fVar7 = fStack192 * fStack164 - fStack156 * fStack200; - if ((fVar8 < fStack224) || (fVar8 < fVar7)) { - if (fVar7 <= fStack224) { - fStack228 = fStack184 * fStack192 - fStack196 * fStack180; - fStack220 = fStack188 * fStack196 - fStack200 * fStack184; - } - else { - fStack228 = fStack196 * fStack156 - fStack160 * fStack192; - fStack220 = fStack200 * fStack160 - fStack164 * fStack196; - fStack224 = fVar7; - } - } - else { - fStack228 = fStack172 * fStack180 - fStack184 * fStack168; - fStack220 = fStack176 * fStack184 - fStack188 * fStack172; - fStack224 = fVar8; - } - } - else { - fStack228 = fStack160 * fStack168 - fStack172 * fStack156; - fStack220 = fStack164 * fStack172 - fStack176 * fStack160; - } - fVar8 = func_7F057FC4(*(float *)(iVar3 + 0xa0)); - fVar7 = FUN_7f0583c0(*(float *)(iVar3 + 0xa0)); - pfVar5 = (float *)(iVar3 + 0x18); - init_0x40_bytes_data_at_address_last_word_1_0(pfVar5); - *(float *)(iVar3 + 0x28) = fStack228; - fVar10 = *(float *)(iVar3 + 0x28); - *(float *)(iVar3 + 0x2c) = fStack224; - fVar9 = *(float *)(iVar3 + 0x2c); - *(float *)(iVar3 + 0x30) = fStack220; - fVar6 = *(float *)(iVar3 + 0x30); - *(float *)(iVar3 + 0x18) = fVar9 * fVar7 - fVar6 * 0.00000000; - *(float *)(iVar3 + 0x1c) = fVar6 * fVar8 - fVar7 * fVar10; - *(float *)(iVar3 + 0x20) = fVar10 * 0.00000000 - fVar8 * fVar9; - *(float *)(iVar3 + 0x38) = *(float *)(iVar3 + 0x1c) * fVar6 - fVar9 * *(float *)(iVar3 + 0x20); - *(float *)(iVar3 + 0x3c) = *(float *)(iVar3 + 0x20) * fVar10 - fVar6 * *(float *)(iVar3 + 0x18); - *(float *)(iVar3 + 0x40) = *(float *)(iVar3 + 0x18) * fVar9 - fVar10 * *(float *)(iVar3 + 0x1c); - matrix_multiply_A1_by_F12(*(float *)(iStack4 + 0x14),extraout_a0_00,pfVar5); - fVar8 = (float)FUN_7f058938(pfVar5,pfStack16,&fStack52); - sub_7F03E864(iStack152); - fStack48 = (fStack36 - fVar8 * *(float *)(iStack4 + 0x14)) - fStack48; - *(float *)(iVar1 + 0xc) = fStack48; - *(float *)(iVar3 + 0x5c) = fStack48; - } - return iStack80; -} - - - -int FUN_7f0455b0(float *param_1,float param_2,float param_3,float param_4) - -{ - int iVar1; - undefined uVar2; - int3 iVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar1 = FUN_7f089e6c(); - fVar4 = *param_1 - *(float *)(iVar1 + 8); - fVar5 = param_1[1] - *(float *)(iVar1 + 0xc); - fVar6 = param_1[2] - *(float *)(iVar1 + 0x10); - fVar4 = sqrtf(fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6); - if (param_3 < fVar4) { - iVar3 = 0; - uVar2 = 0xff; - } - else { - if (fVar4 < param_2) { - iVar3 = (int3)((int)(param_4 * 255.00000000) >> 0x1f); - uVar2 = (undefined)(int)(param_4 * 255.00000000); - } - else { - iVar1 = (int)((((fVar4 - param_2) * (1.00000000 - param_4)) / (param_3 - param_2) + param_4) * - 255.00000000); - iVar3 = (int3)(iVar1 >> 0x1f); - uVar2 = (undefined)iVar1; - } - } - return CONCAT13(uVar2,iVar3); -} - - -/* -Unable to decompile 'FUN_7f0456a8' -Cause: Exception while decompiling 7f0456a8: process: timeout - -*/ - - -undefined4 * loc_7F049C60(undefined4 *param_1) - -{ - char cVar1; - undefined4 *puVar3; - longlong lVar2; - int iVar4; - char *pcVar5; - - pcVar5 = (char *)FUN_7f03a724(); - if (pcVar5 == NULL) { - return param_1; - } - cVar1 = *pcVar5; - do { - if (cVar1 == '\x03') { - iVar4 = *(int *)(pcVar5 + 4); - puVar3 = loc_7F062AE4(param_1,(char *)(iVar4 + 0x180),1); - param_1 = loc_7F062AE4(puVar3,(char *)(iVar4 + 0x1ac),1); -LAB_7f04a058: - pcVar5 = *(char **)(pcVar5 + 0x24); - } - else { - if (cVar1 == '\x01') { - if (*(char *)(*(int *)(pcVar5 + 4) + 3) == '\r') { - param_1 = loc_7F062AE4(param_1,*(char **)(*(int *)(pcVar5 + 4) + 0xcc),1); - goto LAB_7f04a058; - } - pcVar5 = *(char **)(pcVar5 + 0x24); - } - else { - if (cVar1 == '\x06') { - if (*(int *)(pcVar5 + 4) != 0) { - lVar2 = FUN_7f09bcfc((int)pcVar5); - iVar4 = get_cur_playernum(); - if ((longlong)iVar4 != lVar2) { - iVar4 = *(int *)(pcVar5 + 4); - puVar3 = loc_7F062AE4(param_1,(char *)(iVar4 + 0x180),1); - param_1 = loc_7F062AE4(puVar3,(char *)(iVar4 + 0x1ac),1); - } - goto LAB_7f04a058; - } - pcVar5 = *(char **)(pcVar5 + 0x24); - } - else { - pcVar5 = *(char **)(pcVar5 + 0x24); - } - } - } - if (pcVar5 == NULL) { - return param_1; - } - cVar1 = *pcVar5; - } while( true ); -} - - - -void save_ptr_monitor_ani_code_to_obj_ani_slot(undefined4 *param_1,undefined4 param_2) - -{ - *param_1 = param_2; - *(undefined2 *)(param_1 + 1) = 0; - return; -} - - - -void FUN_7f04a09c(undefined4 *param_1,undefined4 param_2) - -{ - undefined *puVar1; - - puVar1 = &LAB_80030bb4; - if (true) { - switch(param_2) { - case 1: - puVar1 = &LAB_80030c40; - break; - case 2: - puVar1 = &DAT_80030e64; - break; - case 3: - puVar1 = &LAB_80030f84; - break; - case 4: - puVar1 = &DAT_80031058; - break; - case 5: - puVar1 = &DAT_800310b4; - break; - case 6: - puVar1 = &DAT_80031130; - break; - case 7: - puVar1 = &DAT_800311cc; - break; - case 8: - puVar1 = &DAT_8003125c; - break; - case 9: - puVar1 = &DAT_80031288; - break; - case 10: - puVar1 = &DAT_800312b4; - break; - case 0xb: - puVar1 = &DAT_80031334; - break; - case 0xc: - puVar1 = &DAT_80031350; - break; - case 0xd: - puVar1 = &DAT_800314d0; - break; - case 0xe: - puVar1 = &DAT_80031538; - break; - case 0xf: - puVar1 = &DAT_80030f08; - break; - case 0x10: - puVar1 = &DAT_800313a0; - break; - case 0x11: - puVar1 = &DAT_800315ac; - break; - case 0x12: - puVar1 = &DAT_8003160c; - break; - case 0x13: - puVar1 = &DAT_80031888; - break; - case 0x14: - puVar1 = &DAT_800318d8; - break; - case 0x15: - puVar1 = &DAT_800318f8; - break; - case 0x16: - puVar1 = &DAT_8003195c; - break; - case 0x17: - puVar1 = &DAT_80031990; - break; - case 0x18: - puVar1 = &LAB_80031a14; - break; - case 0x19: - puVar1 = &LAB_80031a30; - break; - case 0x1a: - puVar1 = &LAB_80031a4c; - break; - case 0x1b: - puVar1 = &LAB_80031a68; - break; - case 0x1c: - puVar1 = &DAT_80031a84; - break; - case 0x1d: - puVar1 = &LAB_80031aa0; - break; - case 0x1e: - puVar1 = &LAB_80031abc; - break; - case 0x1f: - puVar1 = &LAB_80031ad8; - break; - case 0x20: - puVar1 = &LAB_80031af4; - break; - case 0x21: - puVar1 = &LAB_80031b10; - break; - case 0x22: - puVar1 = &DAT_80031b2c; - break; - case 0x23: - puVar1 = &DAT_80031b64; - break; - case 0x24: - puVar1 = &DAT_80031b78; - break; - case 0x25: - puVar1 = &DAT_80031b8c; - break; - case 0x26: - puVar1 = &LAB_80031ba0; - break; - case 0x27: - puVar1 = &LAB_80031bf4; - break; - case 0x28: - puVar1 = &DAT_80031c10; - break; - case 0x29: - puVar1 = &DAT_80031c2c; - break; - case 0x2a: - puVar1 = &DAT_80031c48; - break; - case 0x2b: - puVar1 = &DAT_80031cc0; - break; - case 0x2c: - puVar1 = &LAB_80031d70; - break; - case 0x2d: - puVar1 = &LAB_80031d98; - break; - case 0x2e: - puVar1 = &DAT_80031de8; - break; - case 0x2f: - puVar1 = &DAT_80031e34; - break; - case 0x30: - puVar1 = &DAT_80031e80; - break; - case 0x31: - puVar1 = &DAT_80031eb8; - break; - case 0x32: - puVar1 = &DAT_80031ef0; - break; - case 0x33: - puVar1 = &DAT_80031f28; - } - } - save_ptr_monitor_ani_code_to_obj_ani_slot(param_1,puVar1); - return; -} - - - -void save_img_index_to_obj_ani_slot(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 8) = param_2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * loc_7F04ABF8(int param_1,ushort *param_2,int *param_3,uint *param_4,int param_5,int param_6) - -{ - undefined uVar1; - ushort uVar2; - int iVar3; - undefined4 uVar4; - int iVar5; - bool bVar6; - uint *puVar7; - uint *puVar8; - undefined4 *puVar9; - undefined4 *puVar10; - uint uVar11; - undefined4 *puVar12; - short sVar13; - uint *puVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - uint *puStackX12; - - puStackX12 = param_4; - if ((param_2 != NULL) && (puStackX12 = param_4, (*param_2 & 0xff) == 0x18)) { - puStackX12 = param_4; - puVar9 = (undefined4 *)FUN_7f0be274(4); - puVar7 = puStackX12; - puStackX12 = puStackX12 + 2; - iVar3 = *(int *)(param_2 + 2); - puVar10 = (undefined4 *)loc_7F06C888(param_1,param_2); - fVar18 = DAT_80052c98; - bVar6 = false; - uVar2 = *(ushort *)(param_3 + 1); - while( true ) { - puVar12 = (undefined4 *)(*param_3 + (uint)uVar2 * 4); - switch(*puVar12) { - case 0: - param_3[0x10] = 0; - param_3[0x15] = 0; - *(ushort *)(param_3 + 1) = uVar2 + 1; - break; - case 1: - param_3[0xf] = 0; - fVar21 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar21 = fVar21 + 4294967296.00000000; - } - param_3[0x11] = param_3[0xe]; - *(float *)(param_3 + 0x10) = 1.00000000 / fVar21; - iVar5 = puVar12[1]; - *(ushort *)(param_3 + 1) = uVar2 + 3; - *(float *)(param_3 + 0x12) = (float)param_3[0xe] + (float)iVar5 * 0.00097656; - break; - case 2: - param_3[0x14] = 0; - fVar21 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar21 = fVar21 + 4294967296.00000000; - } - param_3[0x16] = param_3[0x13]; - *(float *)(param_3 + 0x15) = 1.00000000 / fVar21; - iVar5 = puVar12[1]; - *(ushort *)(param_3 + 1) = uVar2 + 3; - *(float *)(param_3 + 0x17) = (float)param_3[0x13] + (float)iVar5 * 0.00097656; - break; - case 3: - param_3[0xf] = 0; - fVar21 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar21 = fVar21 + 4294967296.00000000; - } - param_3[0x11] = param_3[0xe]; - *(float *)(param_3 + 0x10) = 1.00000000 / fVar21; - iVar5 = puVar12[1]; - *(ushort *)(param_3 + 1) = uVar2 + 3; - *(float *)(param_3 + 0x12) = (float)iVar5 * 0.00097656; - break; - case 4: - param_3[0x14] = 0; - fVar21 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar21 = fVar21 + 4294967296.00000000; - } - param_3[0x16] = param_3[0x13]; - *(float *)(param_3 + 0x15) = 1.00000000 / fVar21; - iVar5 = puVar12[1]; - *(ushort *)(param_3 + 1) = uVar2 + 3; - *(float *)(param_3 + 0x17) = (float)iVar5 * 0.00097656; - break; - case 5: - param_3[5] = 0; - fVar21 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar21 = fVar21 + 4294967296.00000000; - } - param_3[7] = param_3[4]; - *(float *)(param_3 + 6) = 1.00000000 / fVar21; - iVar5 = puVar12[1]; - *(ushort *)(param_3 + 1) = uVar2 + 3; - *(float *)(param_3 + 8) = (float)iVar5 * 0.00097656; - break; - case 6: - param_3[10] = 0; - fVar21 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar21 = fVar21 + 4294967296.00000000; - } - param_3[0xc] = param_3[9]; - *(float *)(param_3 + 0xb) = 1.00000000 / fVar21; - iVar5 = puVar12[1]; - *(ushort *)(param_3 + 1) = uVar2 + 3; - *(float *)(param_3 + 0xd) = (float)iVar5 * 0.00097656; - break; - case 7: - save_img_index_to_obj_ani_slot((int)param_3,puVar12[1]); - *(short *)(param_3 + 1) = *(short *)(param_3 + 1) + 2; - break; - case 8: - if (*(short *)((int)param_3 + 6) < 0) { - bVar6 = true; - *(undefined2 *)((int)param_3 + 6) = (short)puVar12[1]; - } - else { - *(short *)((int)param_3 + 6) = *(short *)((int)param_3 + 6) - (short)DAT_800483a4; - if (*(short *)((int)param_3 + 6) < 0) { - *(short *)(param_3 + 1) = *(short *)(param_3 + 1) + 2; - } - else { - bVar6 = true; - } - } - break; - case 9: - save_ptr_monitor_ani_code_to_obj_ani_slot(param_3,puVar12[1]); - break; - case 10: - uVar11 = FUN_7000a460(); - if (uVar11 >> 0x10 < (uint)puVar12[2]) { - save_ptr_monitor_ani_code_to_obj_ani_slot(param_3,puVar12[1]); - } - else { - *(short *)(param_3 + 1) = *(short *)(param_3 + 1) + 3; - } - break; - case 0xb: - *(undefined2 *)(param_3 + 1) = 0; - break; - case 0xc: - bVar6 = true; - break; - case 0xd: - param_3[0x1b] = 0; - fVar21 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar21 = fVar21 + 4294967296.00000000; - } - *(undefined *)((int)param_3 + 0x61) = *(undefined *)(param_3 + 0x18); - *(float *)(param_3 + 0x1c) = 1.00000000 / fVar21; - uVar4 = puVar12[1]; - *(undefined *)(param_3 + 0x19) = *(undefined *)((int)param_3 + 99); - *(undefined *)((int)param_3 + 0x62) = (char)((uint)uVar4 >> 0x18); - uVar4 = puVar12[1]; - *(undefined *)((int)param_3 + 0x67) = *(undefined *)((int)param_3 + 0x66); - *(undefined *)((int)param_3 + 0x65) = (char)((uint)uVar4 >> 0x10); - uVar4 = puVar12[1]; - *(undefined *)((int)param_3 + 0x6a) = *(undefined *)((int)param_3 + 0x69); - *(char *)(param_3 + 0x1a) = (char)((uint)uVar4 >> 8); - uVar4 = puVar12[1]; - *(ushort *)(param_3 + 1) = uVar2 + 3; - *(undefined *)((int)param_3 + 0x6b) = (char)uVar4; - break; - case 0xe: - iVar5 = puVar12[1]; - *(ushort *)(param_3 + 1) = uVar2 + 2; - *(float *)(param_3 + 3) = ((float)iVar5 * fVar18) / 65536.00000000; - break; - case 0xf: - *(float *)(param_3 + 3) = - (float)param_3[3] + (DAT_800483a8 * (float)puVar12[1] * fVar18) / 65536.00000000; - fVar21 = (float)param_3[3]; - if (fVar18 <= fVar21) { - *(float *)(param_3 + 3) = fVar21 - fVar18; - fVar21 = (float)param_3[3]; - } - if (fVar21 < 0.00000000) { - *(float *)(param_3 + 3) = fVar21 + fVar18; - sVar13 = *(short *)(param_3 + 1); - } - else { - sVar13 = *(short *)(param_3 + 1); - } - *(short *)(param_3 + 1) = sVar13 + 2; - } - if (bVar6) break; - uVar2 = *(ushort *)(param_3 + 1); - } - if (0.00000000 < (float)param_3[6]) { - *(float *)(param_3 + 5) = (float)param_3[5] + (float)param_3[6] * DAT_800483a8; - if ((float)param_3[5] < 1.00000000) { - *(float *)(param_3 + 4) = - (float)param_3[7] + ((float)param_3[8] - (float)param_3[7]) * (float)param_3[5]; - } - else { - param_3[5] = 0x3f800000; - param_3[6] = 0; - param_3[4] = param_3[8]; - } - } - if (0.00000000 < (float)param_3[0xb]) { - *(float *)(param_3 + 10) = (float)param_3[10] + (float)param_3[0xb] * DAT_800483a8; - if ((float)param_3[10] < 1.00000000) { - *(float *)(param_3 + 9) = - (float)param_3[0xc] + ((float)param_3[0xd] - (float)param_3[0xc]) * (float)param_3[10]; - } - else { - param_3[10] = 0x3f800000; - param_3[0xb] = 0; - param_3[9] = param_3[0xd]; - } - fVar18 = (float)param_3[0x10]; - } - else { - fVar18 = (float)param_3[0x10]; - } - if (0.00000000 < fVar18) { - *(float *)(param_3 + 0xf) = (float)param_3[0xf] + fVar18 * DAT_800483a8; - if ((float)param_3[0xf] < 1.00000000) { - *(float *)(param_3 + 0xe) = - (float)param_3[0x11] + - ((float)param_3[0x12] - (float)param_3[0x11]) * (float)param_3[0xf]; - } - else { - param_3[0xf] = 0x3f800000; - param_3[0x10] = 0; - param_3[0xe] = param_3[0x12]; - } - fVar18 = (float)param_3[0x15]; - } - else { - fVar18 = (float)param_3[0x15]; - } - if (0.00000000 < fVar18) { - *(float *)(param_3 + 0x14) = (float)param_3[0x14] + fVar18 * DAT_800483a8; - if ((float)param_3[0x14] < 1.00000000) { - *(float *)(param_3 + 0x13) = - (float)param_3[0x16] + - ((float)param_3[0x17] - (float)param_3[0x16]) * (float)param_3[0x14]; - } - else { - param_3[0x14] = 0x3f800000; - param_3[0x15] = 0; - param_3[0x13] = param_3[0x17]; - } - fVar18 = (float)param_3[0x1c]; - } - else { - fVar18 = (float)param_3[0x1c]; - } - if (0.00000000 < fVar18) { - *(float *)(param_3 + 0x1b) = (float)param_3[0x1b] + fVar18 * DAT_800483a8; - fVar18 = (float)param_3[0x1b]; - if (fVar18 < 1.00000000) { - *(byte *)(param_3 + 0x18) = - *(byte *)((int)param_3 + 0x61) + - (char)(int)((float)((uint)*(byte *)((int)param_3 + 0x62) - - (uint)*(byte *)((int)param_3 + 0x61)) * fVar18); - *(char *)((int)param_3 + 99) = - *(byte *)(param_3 + 0x19) + - (char)(int)((float)((uint)*(byte *)((int)param_3 + 0x65) - - (uint)*(byte *)(param_3 + 0x19)) * fVar18); - *(char *)((int)param_3 + 0x66) = - *(byte *)((int)param_3 + 0x67) + - (char)(int)((float)((uint)*(byte *)(param_3 + 0x1a) - - (uint)*(byte *)((int)param_3 + 0x67)) * fVar18); - *(char *)((int)param_3 + 0x69) = - *(byte *)((int)param_3 + 0x6a) + - (char)(int)((float)((uint)*(byte *)((int)param_3 + 0x6b) - - (uint)*(byte *)((int)param_3 + 0x6a)) * fVar18); - } - else { - param_3[0x1b] = 0x3f800000; - param_3[0x1c] = 0; - *(undefined *)(param_3 + 0x18) = *(undefined *)((int)param_3 + 0x62); - *(undefined *)((int)param_3 + 99) = *(undefined *)((int)param_3 + 0x65); - *(undefined *)((int)param_3 + 0x66) = *(undefined *)(param_3 + 0x1a); - *(undefined *)((int)param_3 + 0x69) = *(undefined *)((int)param_3 + 0x6b); - } - } - *(undefined4 **)puVar10 = puVar9; - *(uint **)(puVar10 + 1) = puStackX12; - puVar10 = *(undefined4 **)(iVar3 + 8); - *puVar9 = *puVar10; - puVar9[1] = puVar10[1]; - puVar9[2] = puVar10[2]; - puVar9[3] = puVar10[3]; - iVar5 = *(int *)(iVar3 + 8); - puVar9[4] = *(undefined4 *)(iVar5 + 0x10); - puVar9[5] = *(undefined4 *)(iVar5 + 0x14); - puVar9[6] = *(undefined4 *)(iVar5 + 0x18); - puVar9[7] = *(undefined4 *)(iVar5 + 0x1c); - iVar5 = *(int *)(iVar3 + 8); - puVar9[8] = *(undefined4 *)(iVar5 + 0x20); - puVar9[9] = *(undefined4 *)(iVar5 + 0x24); - puVar9[10] = *(undefined4 *)(iVar5 + 0x28); - puVar9[0xb] = *(undefined4 *)(iVar5 + 0x2c); - iVar3 = *(int *)(iVar3 + 8); - puVar9[0xc] = *(undefined4 *)(iVar3 + 0x30); - puVar9[0xd] = *(undefined4 *)(iVar3 + 0x34); - puVar9[0xe] = *(undefined4 *)(iVar3 + 0x38); - puVar9[0xf] = *(undefined4 *)(iVar3 + 0x3c); - puVar14 = (uint *)param_3[2]; - if (puVar14 < (uint *)0x64) { - puVar14 = (uint *)((int)puVar14 * 0xc + _DAT_8008d190); - } - if (puVar14 != NULL) { - fVar19 = (float)param_3[4] * 0.50000000; - fVar20 = (float)param_3[9] * 0.50000000; - fVar18 = fVar19; - fVar21 = fVar20; - if ((float)param_3[3] != 0.00000000) { - fVar15 = FUN_7f0583c0((float)param_3[3]); - fVar17 = DAT_80052ce0; - fVar15 = fVar15 * DAT_80052ce0; - fVar16 = func_7F057FC4((float)param_3[3]); - fVar18 = fVar19 * fVar15; - fVar21 = fVar20 * fVar16 * fVar17; - fVar19 = fVar19 * fVar16 * fVar17; - fVar20 = fVar20 * fVar15; - } - fVar17 = (float)(uint)*(byte *)(puVar14 + 1); - if (false) { - fVar17 = fVar17 + 4294967296.00000000; - } - *(short *)(puVar9 + 2) = (short)(int)(fVar17 * ((float)param_3[0xe] + fVar18) * 32.00000000); - fVar17 = (float)(uint)*(byte *)((int)puVar14 + 5); - if (false) { - fVar17 = fVar17 + 4294967296.00000000; - } - *(undefined2 *)((int)puVar9 + 10) = - (short)(int)(fVar17 * ((float)param_3[0x13] + fVar21) * 32.00000000); - fVar17 = (float)(uint)*(byte *)(puVar14 + 1); - if (false) { - fVar17 = fVar17 + 4294967296.00000000; - } - *(short *)(puVar9 + 6) = (short)(int)(fVar17 * ((float)param_3[0xe] - fVar19) * 32.00000000); - fVar17 = (float)(uint)*(byte *)((int)puVar14 + 5); - if (false) { - fVar17 = fVar17 + 4294967296.00000000; - } - *(undefined2 *)((int)puVar9 + 0x1a) = - (short)(int)(fVar17 * ((float)param_3[0x13] + fVar20) * 32.00000000); - fVar17 = (float)(uint)*(byte *)(puVar14 + 1); - if (false) { - fVar17 = fVar17 + 4294967296.00000000; - } - *(short *)(puVar9 + 10) = (short)(int)(fVar17 * ((float)param_3[0xe] - fVar18) * 32.00000000); - fVar18 = (float)(uint)*(byte *)((int)puVar14 + 5); - if (false) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(undefined2 *)((int)puVar9 + 0x2a) = - (short)(int)(fVar18 * ((float)param_3[0x13] - fVar21) * 32.00000000); - fVar18 = (float)(uint)*(byte *)(puVar14 + 1); - if (false) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(short *)(puVar9 + 0xe) = (short)(int)(fVar18 * ((float)param_3[0xe] + fVar19) * 32.00000000) - ; - fVar18 = (float)(uint)*(byte *)((int)puVar14 + 5); - if (false) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(undefined2 *)((int)puVar9 + 0x3a) = - (short)(int)(fVar18 * ((float)param_3[0x13] - fVar20) * 32.00000000); - } - uVar1 = *(undefined *)(param_3 + 0x18); - *(undefined *)(puVar9 + 0xf) = uVar1; - *(undefined *)(puVar9 + 0xb) = uVar1; - *(undefined *)(puVar9 + 7) = uVar1; - *(undefined *)(puVar9 + 3) = uVar1; - uVar1 = *(undefined *)((int)param_3 + 99); - *(undefined *)((int)puVar9 + 0x3d) = uVar1; - *(undefined *)((int)puVar9 + 0x2d) = uVar1; - *(undefined *)((int)puVar9 + 0x1d) = uVar1; - *(undefined *)((int)puVar9 + 0xd) = uVar1; - uVar1 = *(undefined *)((int)param_3 + 0x66); - *(undefined *)((int)puVar9 + 0x3e) = uVar1; - *(undefined *)((int)puVar9 + 0x2e) = uVar1; - *(undefined *)((int)puVar9 + 0x1e) = uVar1; - *(undefined *)((int)puVar9 + 0xe) = uVar1; - uVar1 = *(undefined *)((int)param_3 + 0x69); - *(undefined *)((int)puVar9 + 0x3f) = uVar1; - *(undefined *)((int)puVar9 + 0x2f) = uVar1; - *(undefined *)((int)puVar9 + 0x1f) = uVar1; - *(undefined *)((int)puVar9 + 0xf) = uVar1; - if (*(char *)((int)param_3 + 0x69) != -1) { - param_6 = 2; - } - puStackX12[1] = 0x2000; - *puStackX12 = 0xb7000000; - puStackX12 = puStackX12 + 2; - loc_7F077B80(&puStackX12,puVar14,param_6,(longlong)param_5,2); - puVar14 = puStackX12; - *puStackX12 = 0x1020040; - puStackX12 = puStackX12 + 2; - uVar11 = osVirtualToPhysical(*(uint *)(param_1 + 0xc)); - puVar8 = puStackX12; - puVar14[1] = uVar11; - *puStackX12 = 0xbc001006; - puStackX12 = puStackX12 + 2; - uVar11 = osVirtualToPhysical((uint)puVar9); - puVar8[1] = uVar11; - puStackX12[1] = 0x4000000; - *puStackX12 = 0x4300040; - puStackX12[3] = 0x2010; - puStackX12[2] = 0xb1000032; - puStackX12[5] = 0; - puStackX12[4] = 0xb8000000; - *puVar7 = 0x6010000; - *(uint **)(puVar7 + 1) = puStackX12 + 6; - puStackX12 = puStackX12 + 6; - } - return puStackX12; -} - - - -void loc_7F04B140(int param_1,int param_2,uint param_3) - -{ - int param_1_00; - uint uVar1; - uint uVar2; - bool bVar3; - bool bVar4; - int iVar5; - uint *puVar6; - ushort *puVar7; - uint uVar8; - undefined4 *puVar9; - undefined4 uVar10; - int iVar11; - char cVar12; - uint extraout_a2_lo; - uint extraout_a2_lo_00; - uint extraout_a2_lo_01; - uint extraout_a2_lo_02; - uint extraout_a2_lo_03; - uint extraout_a2_lo_04; - uint *puVar13; - undefined4 *puVar14; - - if ((*(byte *)(param_1 + 1) & 2) != 0) { - param_1_00 = *(int *)(param_1 + 4); - uVar1 = *(uint *)(param_1_00 + 0x14); - bVar3 = (*(uint *)(param_1_00 + 8) & 0x200) != 0; - uVar8 = param_3; - if (bVar3) { - iVar5 = FUN_7f078984(); - bVar3 = iVar5 != 0; - uVar8 = extraout_a2_lo; - } - puVar6 = *(uint **)(param_2 + 0xc); - cVar12 = *(char *)(param_1_00 + 3); - if (cVar12 == '\n') { - if ((*(uint *)(param_2 + 8) & 1) != 0) { - if (*(int *)(param_1_00 + 0xc) << 0xf < 0) { - iVar5 = 0; - } - else { - iVar5 = 1; - if (*(int *)(param_1_00 + 8) << 3 < 0) { - iVar5 = 8; - } - } - puVar6 = loc_7F04ABF8(uVar1,**(ushort ***)(*(int *)(uVar1 + 8) + 8), - (int *)(*(int *)(param_1 + 4) + 0x80),puVar6,iVar5,1); - cVar12 = *(char *)(param_1_00 + 3); - uVar8 = extraout_a2_lo_00; - } - } - else { - if ((cVar12 == '\v') && ((*(uint *)(param_2 + 8) & 1) != 0)) { - iVar5 = *(int *)(param_1 + 4); - if (*(int *)(param_1_00 + 0xc) << 0xf < 0) { - iVar11 = 0; - } - else { - iVar11 = 1; - if (*(int *)(param_1_00 + 8) << 3 < 0) { - iVar11 = 8; - } - } - puVar6 = loc_7F04ABF8(uVar1,**(ushort ***)(*(int *)(uVar1 + 8) + 8),(int *)(iVar5 + 0x80), - puVar6,iVar11,1); - if (*(int *)(param_1_00 + 0xc) << 0xf < 0) { - iVar11 = 0; - } - else { - iVar11 = 1; - if ((*(uint *)(param_1_00 + 8) & 0x30000000) != 0) { - iVar11 = 8; - } - } - puVar6 = loc_7F04ABF8(uVar1,*(ushort **)(*(int *)(*(int *)(uVar1 + 8) + 8) + 4), - (int *)(iVar5 + 0xf4),puVar6,iVar11,1); - puVar6 = loc_7F04ABF8(uVar1,*(ushort **)(*(int *)(*(int *)(uVar1 + 8) + 8) + 8), - (int *)(iVar5 + 0x168),puVar6,iVar11,1); - puVar6 = loc_7F04ABF8(uVar1,*(ushort **)(*(int *)(*(int *)(uVar1 + 8) + 8) + 0xc), - (int *)(iVar5 + 0x1dc),puVar6,iVar11,1); - cVar12 = *(char *)(param_1_00 + 3); - uVar8 = extraout_a2_lo_01; - } - } - if (cVar12 == '\x01') { - iVar5 = *(int *)(param_1 + 4); - puVar6[1] = 0x3000; - *puVar6 = 0xb6000000; - puVar6 = puVar6 + 2; - if ((*(ushort *)(iVar5 + 0x98) & 8) == 0) { - *(undefined4 *)(param_2 + 0x3c) = 3; - } - else { - *(undefined4 *)(param_2 + 0x3c) = 2; - } - if (*(int *)(param_2 + 0x30) == 9) { - *(uint *)(param_2 + 0x34) = *(uint *)(param_2 + 0x34) & 0xffffff00; - } - } - else { - puVar7 = FUN_7f04b87c(param_1_00); - bVar4 = false; - if (((puVar7 != NULL) && (iVar5 = *(int *)(puVar7 + 2), bVar4 = false, iVar5 != 0)) && - (bVar4 = false, - *(int *)(iVar5 + 8) != - *(int *)(*(int *)(*(int *)(param_1_00 + 0x14) + 0x10) + (uint)*(ushort *)(iVar5 + 0x1a) * 4 - ))) { - bVar4 = true; - } - iVar5 = loc_7F03FFDC(param_1_00); - if ((iVar5 == 0) || (!bVar4)) { - *(undefined4 *)(param_2 + 0x3c) = 3; - uVar8 = extraout_a2_lo_02; - if (*(int *)(param_2 + 0x30) == 9) { - *(uint *)(param_2 + 0x34) = *(uint *)(param_2 + 0x34) & 0xffffff00; - uVar8 = extraout_a2_lo_02; - } - } - else { - iVar5 = loc_7F03FFDC(param_1_00); - *(undefined4 *)(param_2 + 0x3c) = 1; - if (*(int *)(param_2 + 0x30) == 9) { - uVar8 = iVar5 * 0x32 + 100; - if ((int)uVar8 < 0x100) { - uVar2 = *(uint *)(param_2 + 0x34); - } - else { - uVar8 = 0xff; - uVar2 = *(uint *)(param_2 + 0x34); - } - *(uint *)(param_2 + 0x34) = uVar2 & 0xffffff00; - *(uint *)(param_2 + 0x34) = uVar2 & 0xffffff00 | uVar8; - uVar8 = extraout_a2_lo_03; - } - else { - uVar8 = extraout_a2_lo_03; - if (0 < iVar5) { - *(uint *)(param_2 + 0x34) = *(uint *)(param_2 + 0x34) | 0xff00; - uVar8 = extraout_a2_lo_03; - } - } - } - } - puVar13 = puVar6; - if (bVar3) { - puVar13 = puVar6 + 2; - *puVar6 = 0x1030040; - uVar8 = FUN_7f078984(); - puVar6[1] = uVar8; - uVar8 = extraout_a2_lo_04; - } - *(uint **)(param_2 + 0xc) = puVar13; - loc_7F074778(param_2,uVar1,uVar8,puVar13); - puVar14 = *(undefined4 **)(param_2 + 0xc); - puVar9 = puVar14; - if (*(char *)(param_1_00 + 3) == '\x01') { - puVar9 = puVar14 + 2; - *puVar14 = 0xb6000000; - puVar14[1] = 0x3000; - } - if (((ulonglong)*(byte *)(param_1_00 + 2) & (longlong)(1 << (param_3 & 0x1f))) != 0) { - puVar9 = loc_7F0A1D24(puVar9,param_1,param_3); - } - puVar14 = puVar9; - if (bVar3) { - puVar14 = puVar9 + 2; - *puVar9 = 0x1030040; - uVar10 = FUN_7f078964(); - puVar9[1] = uVar10; - } - *(undefined4 **)(param_2 + 0xc) = puVar14; - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - loc_7F04B140(param_1_00,param_2,param_3); - param_1_00 = *(int *)(param_1_00 + 0x24); - } - if (param_3 != 0) { - if (bVar3) { - loc_7F08BF94(*(float **)(uVar1 + 0xc),(int)*(short *)(*(int *)(uVar1 + 8) + 0xe)); - } - else { - loc_7F08BDA4(*(undefined4 **)(uVar1 + 0xc),(int)*(short *)(*(int *)(uVar1 + 8) + 0xe)); - } - } - } - return; -} - - - -undefined8 FUN_7f04b554(char *param_1,uint *param_2,uint param_3) - -{ - int iVar1; - longlong lVar2; - uint *puVar3; - int iVar4; - uint uVar5; - int iVar6; - int iVar7; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - float fVar12; - int iStack132; - int iStack120; - int iStack116; - int iStack112; - uint uStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack92; - undefined4 uStack88; - uint uStack84; - undefined4 uStack80; - uint *puStack76; - undefined4 uStack40; - int iStack36; - uint uStack32; - int iStack20; - float afStack16 [4]; - - iVar1 = *(int *)(param_1 + 4); - puVar10 = &DAT_80032010; - puVar8 = &uStack88; - do { - puVar11 = puVar10 + 3; - puVar9 = puVar8 + 3; - *puVar8 = *puVar10; - puVar8[1] = puVar10[1]; - puVar8[2] = puVar10[2]; - puVar10 = puVar11; - puVar8 = puVar9; - } while (puVar11 != (undefined4 *)0x8003204c); - *puVar9 = uRam8003204c; - iStack132 = 0xff; - lVar2 = FUN_7f0bbf54((int)param_1,afStack16); - iStack20 = (int)lVar2; - iVar6 = (int)param_2 >> 0x1f; - puStack76 = param_2; - if (lVar2 != 0) { - if (*(char *)(iVar1 + 3) != '/') { - fVar12 = FUN_7f06d5fc(*(int *)(iVar1 + 0x14),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - FUN_7f05507c((int)param_1); - iVar7 = (int)(*(short *)(param_1 + 2) >> 0xf); - iVar4 = (int)*(short *)(param_1 + 2); - if ((CONCAT44(iVar7,iVar4) != 0) && (CONCAT44(iVar7,iVar4) < 0x3c)) { - fVar12 = fVar12 * ((60.00000000 - (float)iVar4) / 60.00000000); - } - iStack132 = (int)(fVar12 * 255.00000000); - puStack76 = param_2; - if (iStack132 < 1) goto LAB_7f04b868; - } - if ((iStack132 < 0xff) || (*(int *)(iVar1 + 0xc) << 0xf < 0)) { - puStack76 = param_2; - if (param_3 == 0) goto LAB_7f04b868; - uStack80 = 3; - } - else { - uStack80 = 2; - if (param_3 == 0) { - uStack80 = 1; - } - } - lVar2 = loc_7F054B64(param_1,&fStack104); - uVar5 = (uint)lVar2; - if ((lVar2 < 1) || (*(int *)(iVar1 + 0xc) << 5 < 0)) { - puStack76 = FUN_7f0b5b64(param_2); - } - else { - puVar3 = FUN_7f0b5ba4(param_2,fStack104,fStack100,fStack96,fStack92); - puStack76 = (uint *)(uVar5 & 0xffffff00 | (uint)puVar3 >> 0x18); - } - uStack84 = (uint)((*(uint *)(iVar1 + 0xc) & 0x10000) == 0); - if (iStack132 < 0xff) { - uStack40 = 5; - iStack36 = iStack132; - } - else { - uStack40 = 9; - if (*(char *)(iVar1 + 3) == '/') { - iStack36 = *(int *)(iVar1 + 0x88) << 8; - } - else { - if (*(char *)(iVar1 + 3) == '\x01') { - if ((*(ushort *)(iVar1 + 0x98) & 2) == 0) { - iStack36 = 0; - } - else { - iStack36 = (int)*(short *)(iVar1 + 0xbe) << 8; - } - } - else { - iStack36 = 0; - } - } - } - iVar6 = loc_7F03FFA0(iVar1); - iVar7 = iVar6 * -0x15 + 0xff; - if (iVar7 < 0) { - iVar7 = 0; - } - iStack120 = (int)((uint)*(byte *)(iVar1 + 0x78) * iVar7) >> 8; - iStack116 = (int)((uint)*(byte *)(iVar1 + 0x79) * iVar7) >> 8; - iStack112 = (int)((uint)*(byte *)(iVar1 + 0x7a) * iVar7) >> 8; - uStack108 = (uint)*(byte *)(iVar1 + 0x7b) + iVar6 * 0xf; - if (0xff < (int)uStack108) { - uStack108 = 0xff; - } - locret_7F04047C(&iStack120,(longlong)iStack20,afStack16); - uStack32 = uStack108 | iStack120 << 0x18 | iStack116 << 0x10 | iStack112 << 8; - loc_7F04B140((int)param_1,(int)&uStack88,param_3); - iVar6 = (int)puStack76 >> 0x1f; - } -LAB_7f04b868: - return CONCAT44(iVar6,puStack76); -} - - - -ushort * FUN_7f04b87c(int param_1) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - - puVar2 = **(ushort ***)(*(int *)(param_1 + 0x14) + 8); - if (puVar2 != NULL) { - uVar1 = *puVar2; - while( true ) { - uVar1 &= 0xff; - if (uVar1 == 8) { - FUN_7f06ef60(*(int *)(param_1 + 0x14),puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - if (uVar1 == 0x12) { - FUN_7f06efac(*(int *)(param_1 + 0x14),puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - if (uVar1 == 0x17) { - FUN_7f06eff8(*(int *)(param_1 + 0x14),puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - if (uVar1 == 0x18) { - return puVar2; - } - puVar3 = *(ushort **)(puVar2 + 10); - } - } - } - if ((puVar3 == NULL) && (puVar3 = puVar2, puVar2 != NULL)) { - puVar3 = *(ushort **)(puVar2 + 6); - while ((puVar3 == NULL && - (puVar2 = *(ushort **)(puVar2 + 4), puVar3 = puVar2, puVar2 != NULL))) { - puVar3 = *(ushort **)(puVar2 + 6); - } - } - if (puVar3 == NULL) break; - uVar1 = *puVar3; - puVar2 = puVar3; - } - } - return NULL; -} - - - -undefined8 FUN_7f04b994(int param_1,int param_2) - -{ - int *piVar1; - - if ((*(int *)(param_1 + 4) == -0x7ffc5f60) && (param_2 == **(int **)(param_1 + 8))) { - return 0; - } - if ((*(int *)(param_1 + 4) == -0x7ffc5f4c) && - ((((piVar1 = *(int **)(param_1 + 8), param_2 == *piVar1 || (param_2 == piVar1[1])) || - (param_2 == piVar1[2])) || (param_2 == piVar1[3])))) { - return 0; - } - return 1; -} - - - -longlong loc_7F04BCB0(int param_1,int param_2) - -{ - bool bVar1; - short sVar2; - ushort uVar3; - int iVar4; - bool bVar5; - ushort *puVar8; - longlong lVar6; - uint uVar9; - int iVar10; - longlong lVar7; - int iVar11; - short *psVar12; - uint uVar13; - undefined4 *puVar14; - undefined4 *puVar15; - int iVar16; - int iVar17; - longlong lVar18; - uint *puVar19; - longlong lVar20; - float fVar21; - float fVar22; - float fVar23; - int iStack88; - float fStack48; - uint uStack32; - - iVar16 = *(int *)(param_1 + 0x14); - lVar20 = 99999; - iVar11 = -99999; - puVar8 = FUN_7f04b87c(param_1); - lVar6 = (longlong)(int)puVar8; - if (((lVar6 != 0) && (iVar4 = *(int *)(puVar8 + 2), iVar4 != 0)) && - (lVar6 = FUN_7f04b994(*(int *)(*(int *)(param_1 + 0x14) + 8),(int)puVar8), lVar6 != 0)) { - puVar19 = (uint *)(*(int *)(iVar16 + 0x10) + (uint)*(ushort *)(iVar4 + 0x1a) * 4); - uVar9 = FUN_7000a460(); - if ((uVar9 & 1) == 0) { - uVar3 = *(ushort *)(&DAT_8003b25c + (int)*(short *)(param_1 + 4) * 0xe + param_2 * 2); - } - else { - uVar3 = *(ushort *)(&DAT_8003b256 + (int)*(short *)(param_1 + 4) * 0xe + param_2 * 2); - } - uStack32 = (uint)uVar3; - iStack88 = param_2 * 2; - iVar10 = get_debug_portal_flag(); - if ((iVar10 != 0) || (uVar3 == 0)) { - get_debug_portal_flag(); - uStack32 = FUN_7000a460(); - iVar10 = get_debug_portal_flag(); - if (iVar10 != 0) { - uStack32 &= 0xffff; - } - } - FUN_7f0a1934(*(int *)(param_1 + 0x10)); - bVar1 = *(short *)(param_1 + 4) == 0x4c; - iVar10 = loc_7F03FFDC(param_1); - uVar9 = loc_7F09C030((longlong)*(short *)(iVar4 + 0xc),0xb0b,*(int *)(iVar16 + 8),iVar10); - lVar6 = (longlong)(int)uVar9; - if (lVar6 == 0) { - if (*(uint *)(iVar4 + 8) != *puVar19) { - lVar6 = FUN_7f09cbe4(*puVar19); - *puVar19 = *(uint *)(iVar4 + 8); - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) | 4; - } - fVar21 = DAT_80052ce4; - fVar22 = *(float *)(param_1 + 0x2c) * DAT_80052ce4; - fVar23 = *(float *)(param_1 + 0x30) * DAT_80052ce4; - *(float *)(param_1 + 0x28) = *(float *)(param_1 + 0x28) * DAT_80052ce4; - *(float *)(param_1 + 0x2c) = fVar22; - *(float *)(param_1 + 0x30) = fVar23; - if (!bVar1) { - fVar22 = *(float *)(*(int *)(param_1 + 0x14) + 0x14); - iVar16 = locret_7F040070(*(int **)(*(int *)(param_1 + 0x14) + 8)); - sub_7F03E864(iVar16); - *(float *)(*(int *)(param_1 + 0x10) + 0xc) = - *(float *)(*(int *)(param_1 + 0x10) + 0xc) + fVar22 * fVar21 * DAT_80052ce8; - iVar16 = sub_7F03E864(iVar16); - lVar6 = (longlong)iVar16; - *(float *)(param_1 + 0x5c) = *(float *)(param_1 + 0x5c) + fVar22 * fVar21 * DAT_80052cec; - } - } - else { - uVar13 = *puVar19; - if (*(uint *)(iVar4 + 8) == uVar13) { - lVar18 = 0; - iVar16 = 0; - if (0 < *(short *)(iVar4 + 0xc)) { - iVar10 = *(int *)(iVar4 + 8); - while( true ) { - lVar18 = (longlong)((int)lVar18 + 1); - puVar14 = (undefined4 *)lVar6; - lVar6 = (longlong)(int)(puVar14 + 4); - puVar15 = (undefined4 *)(iVar10 + iVar16); - iVar16 += 0x10; - *puVar14 = *puVar15; - puVar14[1] = puVar15[1]; - puVar14[2] = puVar15[2]; - puVar14[3] = puVar15[3]; - if ((longlong)*(short *)(iVar4 + 0xc) <= lVar18) break; - iVar10 = *(int *)(iVar4 + 8); - } - } - } - else { - lVar18 = 0; - iVar16 = 0; - if (0 < *(short *)(iVar4 + 0xc)) { - uVar13 = *puVar19; - while( true ) { - lVar18 = (longlong)((int)lVar18 + 1); - puVar14 = (undefined4 *)lVar6; - lVar6 = (longlong)(int)(puVar14 + 4); - puVar15 = (undefined4 *)(uVar13 + iVar16); - iVar16 += 0x10; - *puVar14 = *puVar15; - puVar14[1] = puVar15[1]; - puVar14[2] = puVar15[2]; - puVar14[3] = puVar15[3]; - if ((longlong)*(short *)(iVar4 + 0xc) <= lVar18) break; - uVar13 = *puVar19; - } - uVar13 = *puVar19; - } - FUN_7f09cbe4(uVar13); - } - *puVar19 = uVar9; - sVar2 = *(short *)(param_1 + 4); - iVar16 = 0; - if (((sVar2 == 0x26) || (sVar2 == 0x27)) || (sVar2 == 0x55)) { - bVar5 = false; - } - else { - bVar5 = true; - } - sVar2 = *(short *)(iVar4 + 0xc); - if (0 < sVar2) { - uVar9 = *puVar19; - lVar6 = -99999; - lVar18 = lVar20; - do { - lVar7 = (longlong)*(short *)(uVar9 + 2); - iVar16 += 0x10; - lVar20 = lVar7; - if (lVar18 <= lVar7) { - lVar20 = lVar18; - } - if (lVar7 <= lVar6) { - lVar7 = lVar6; - } - iVar11 = (int)lVar7; - uVar9 += 0x10; - lVar6 = lVar7; - lVar18 = lVar20; - } while (iVar16 < (int)sVar2 << 4); - } - lVar18 = 0; - iVar10 = (int)lVar20; - iVar16 = iVar10 + iVar11 >> 1; - if ((iStack88 == 6) && (0x28 < iVar16 - iVar10)) { - iVar16 = iVar10 + 0x28; - } - iVar11 -= iVar10; - lVar6 = (longlong)iVar11; - if (lVar6 < 0x3d) { - fStack48 = 1.00000000; - } - else { - if (iStack88 < 6) { - fStack48 = DAT_80052cf0; - } - else { - fStack48 = (float)(iVar11 + -0x3c) / (float)iVar11; - } - } - if (0 < sVar2) { - iVar17 = 0; - iVar11 = *(int *)(iVar4 + 8); - do { - psVar12 = (short *)(iVar11 + iVar17); - FUN_7f09c328((longlong)(int)((int)psVar12[2] + (int)*psVar12 + (int)psVar12[1] + uStack32) - ); - uVar9 = 0; - if (bVar5) { - if (0.00000000 <= *(float *)(param_1 + 0x2c)) { - if ((longlong)*(short *)(*puVar19 + iVar17 + 2) < (longlong)iVar16) { - if (bVar1) { - uVar9 = 0x5a; - } - else { - uVar9 = 0x14; - } - } - else { - if (bVar1) { - uVar9 = 0x14; - } - else { - uVar9 = 0x5a; - } - } - } - else { - if ((longlong)iVar16 < (longlong)*(short *)(*puVar19 + iVar17 + 2)) { - if (bVar1) { - uVar9 = 0x5a; - } - else { - uVar9 = 0x14; - } - } - else { - if (bVar1) { - uVar9 = 0x14; - } - else { - uVar9 = 0x5a; - } - } - } - } - uVar13 = FUN_7f09c2e0(); - if (uVar13 % 100 < uVar9) { - *(undefined *)(*puVar19 + iVar17 + 0xc) = 0; - *(undefined *)(*puVar19 + iVar17 + 0xd) = 0; - *(undefined *)(*puVar19 + iVar17 + 0xe) = 0; - *(undefined *)(*puVar19 + iVar17 + 0xf) = 0xff; -LAB_7f04bfb4: - uVar9 = *puVar19; - } - else { - if (iStack88 == 2) { - *(undefined *)(*puVar19 + iVar17 + 0xf) = 0; - goto LAB_7f04bfb4; - } - uVar9 = *puVar19; - } - *(undefined2 *)(uVar9 + iVar17 + 2) = - (short)(int)((float)((int)*(short *)(uVar9 + iVar17 + 2) - iVar10) * fStack48 + - (float)iVar10); - uVar9 = FUN_7f09c2e0(); - if (false) { - trap(0x1c00); - } - *(short *)(*puVar19 + iVar17) = - *(short *)(*puVar19 + iVar17) + (short)(uVar9 % 0x50) + -0x28; - uVar9 = FUN_7f09c2e0(); - if (false) { - trap(0x1c00); - } - *(short *)(*puVar19 + iVar17 + 2) = - *(short *)(*puVar19 + iVar17 + 2) + (short)(uVar9 % 0x50) + -0x28; - uVar9 = FUN_7f09c2e0(); - if (false) { - trap(0x1c00); - } - *(short *)(*puVar19 + iVar17 + 4) = - *(short *)(*puVar19 + iVar17 + 4) + (short)(uVar9 % 0x50) + -0x28; - if ((longlong)*(short *)(*puVar19 + iVar17 + 2) < lVar20) { - *(undefined2 *)(*puVar19 + iVar17 + 2) = (short)lVar20; - sVar2 = *(short *)(iVar4 + 0xc); - } - else { - sVar2 = *(short *)(iVar4 + 0xc); - } - lVar18 = (longlong)((int)lVar18 + 1); - iVar17 += 0x10; - if ((longlong)sVar2 <= lVar18) { - return (longlong)(int)uVar9; - } - iVar11 = *(int *)(iVar4 + 8); - } while( true ); - } - } - } - return lVar6; -} - - - -void FUN_7f04c0e0(int param_1,float *param_2) - -{ - int iVar1; - float *pfVar2; - uint uVar3; - uint *puVar4; - float fVar5; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack24 = DAT_80032050; - fStack20 = (float)DAT_80032054; - fStack16 = (float)DAT_80032058; - puVar4 = NULL; - FUN_7f0400a8(*(int *)(param_1 + 0x10)); - if ((*(uint *)(param_1 + 100) & 0x40) == 0) { - if ((*(uint *)(param_1 + 100) & 0x80) != 0) { - puVar4 = *(uint **)(param_1 + 0x6c); - } - } - else { - puVar4 = *(uint **)(*(int *)(param_1 + 0x6c) + 0x44); - } - if (puVar4 != NULL) { - iVar1 = FUN_7000a460(); - fVar5 = (float)iVar1; - if (iVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 1) = fVar5 * 0.00000000 * DAT_80052cf4 * 4.00000000 - DAT_80052cf8; - iVar1 = FUN_7000a460(); - fVar5 = (float)iVar1; - if (iVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * DAT_80052cfc; - *(float *)(puVar4 + 2) = fVar5 + fVar5 + DAT_80052d00; - iVar1 = FUN_7000a460(); - fVar5 = (float)iVar1; - if (iVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 3) = fVar5 * 0.00000000 * DAT_80052d04 * 4.00000000 - DAT_80052d08; - iVar1 = FUN_7000a460(); - fVar5 = (float)iVar1; - if (iVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack24 = fVar5 * 0.00000000 * DAT_80052d0c * 0.01562500 - DAT_80052d10; - iVar1 = FUN_7000a460(); - fVar5 = (float)iVar1; - if (iVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack20 = fVar5 * 0.00000000 * DAT_80052d14 * 0.01562500 - DAT_80052d18; - iVar1 = FUN_7000a460(); - fVar5 = (float)iVar1; - if (iVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack16 = fVar5 * 0.00000000 * DAT_80052d1c * 0.01562500 - DAT_80052d20; - FUN_7f058c34(&fStack24,(float *)(puVar4 + 8)); - *puVar4 = *puVar4 | 1; - fStack12 = *param_2; - fStack8 = param_2[1]; - fStack4 = param_2[2]; - pfVar2 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar2,&fStack12); - fVar5 = DAT_80052d24; - *(float *)(puVar4 + 1) = (float)puVar4[1] + DAT_80052d24 * fStack12; - *(float *)(puVar4 + 3) = (float)puVar4[3] + fVar5 * fStack4; - uVar3 = FUN_7f089e6c(); - puVar4[0x22] = uVar3; - puVar4[0x24] = 1; - } - return; -} - - - -void FUN_7f04c3d4(int param_1,undefined4 param_2) - -{ - int iVar1; - int iVar2; - - if (*(int *)(param_1 + 0x1c) != 0) { - iVar1 = *(int *)(param_1 + 4); - FUN_7f0400a8(param_1); - if (((*(uint *)(iVar1 + 100) & 0x40) == 0) || - (iVar2 = *(int *)(*(int *)(iVar1 + 0x6c) + 0x44), iVar2 == 0)) { - if ((*(uint *)(iVar1 + 100) & 0x80) != 0) { - *(undefined4 *)(*(int *)(iVar1 + 0x6c) + 0xb8) = param_2; - } - } - else { - *(undefined4 *)(iVar2 + 0xb8) = param_2; - } - } - return; -} - - - -void loc_7F04C124(int param_1) - -{ - char *pcVar1; - int iVar2; - int iVar3; - - pcVar1 = *(char **)(param_1 + 0x1c); - if (pcVar1 != NULL) { - iVar2 = *(int *)(param_1 + 4); - iVar3 = *(int *)(iVar2 + 0x14); - locret_7F03A624(param_1); - *(undefined4 *)(iVar3 + 0x1c) = 0; - *(uint *)(iVar2 + 100) = *(uint *)(iVar2 + 100) & 0xfff7ffff; - if (((*pcVar1 == '\x03') || (*pcVar1 == '\x06')) && (iVar2 = *(int *)(pcVar1 + 4), iVar2 != 0)) - { - if (param_1 == *(int *)(iVar2 + 0x1d8)) { - *(undefined4 *)(iVar2 + 0x1d8) = 0; - } - else { - if (param_1 == *(int *)(iVar2 + 0x160)) { - FUN_7f02d420(iVar2,0,0); - *(undefined4 *)(iVar2 + 0x160) = 0; - } - else { - if (param_1 == *(int *)(iVar2 + 0x164)) { - FUN_7f02d420(iVar2,1,0); - *(undefined4 *)(iVar2 + 0x164) = 0; - } - } - } - } - } - return; -} - - - -ulonglong loc_7F04CA2C(int iParm1,uint uParm2,undefined4 uParm3,undefined4 uParm4) - -{ - int iVar1; - uint *puVar2; - longlong lVar3; - char *pcVar4; - uint uVar6; - int iVar7; - float *pfVar8; - float *pfVar9; - ulonglong uVar5; - undefined8 extraout_a0; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - char *pcVar10; - float in_f0; - float fVar11; - undefined4 uVar12; - float fVar13; - float fVar14; - uint uStack180; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float fStack132; - float fStack128; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - int aiStack88 [2]; - float afStack80 [12]; - float fStack32; - undefined4 uStack28; - float fStack24; - int iStack16; - char *pcStack4; - - pcStack4 = *(char **)(iParm1 + 0x1c); - iVar1 = *(int *)(iParm1 + 4); - if ((*(uint *)(iVar1 + 100) & 0x40) != 0) { - uVar6 = (*(uint **)(iVar1 + 0x6c))[0x11]; - if (uVar6 != 0) { - in_f0 = (float)sub_7F03FE88(*(uint **)(iVar1 + 0x6c)); - *(uint *)(iVar1 + 0x6c) = uVar6; - uVar6 = *(uint *)(iVar1 + 100) & 0xffffffbf; - *(uint *)(iVar1 + 100) = uVar6; - *(uint *)(iVar1 + 100) = uVar6 | 0x80; - uParm2 = extraout_a1_lo; - uParm3 = extraout_a2_lo; - uParm4 = extraout_a3_lo; - } - } - pcVar10 = pcStack4; - uVar6 = 0; - if ((pcStack4 != NULL) && ((*(uint *)(iVar1 + 100) & 0x80) != 0)) { - iStack16 = *(int *)(iVar1 + 0x14); - puVar2 = *(uint **)(iVar1 + 0x6c); - uVar6 = puVar2[0x2e]; - *puVar2 = *puVar2 | 1; - *(char **)(puVar2 + 0x22) = pcStack4; - if ((uVar6 == 2) && (*pcStack4 == '\x03')) { - fStack112 = DAT_8003205c; - fStack108 = (float)DAT_80032060; - fStack104 = (float)DAT_80032064; - FUN_7f06d270(*(int *)(*(int *)(pcStack4 + 4) + 0x1c),uParm2,uParm3,uParm4); - fStack116 = in_f0; - fVar11 = func_7F057FC4(in_f0); - *(float *)(puVar2 + 1) = fVar11 * DAT_80052d28; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)(puVar2 + 2) = -(fVar11 * 0.00000000) * DAT_80052d2c * 0.50000000; - fVar11 = FUN_7f0583c0(fStack116); - *(float *)(puVar2 + 3) = fVar11 * DAT_80052d30; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack112 = fVar11 * 0.00000000 * DAT_80052d34 * 0.00781250 - DAT_80052d38; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack108 = fVar11 * 0.00000000 * DAT_80052d3c * 0.00781250 - DAT_80052d40; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack104 = fVar11 * 0.00000000 * DAT_80052d44 * 0.00781250 - DAT_80052d48; - uVar12 = FUN_7f058c34(&fStack112,(float *)(puVar2 + 8)); - } - else { - if ((uVar6 == 3) && (*pcStack4 == '\x03')) { - fStack136 = DAT_80032068; - fStack132 = (float)DAT_8003206c; - fStack128 = (float)DAT_80032070; - FUN_7f06d270(*(int *)(*(int *)(pcStack4 + 4) + 0x1c),uParm2,uParm3,uParm4); - fStack140 = in_f0; - fVar11 = func_7F057FC4(in_f0); - *(float *)(puVar2 + 1) = fVar11 * DAT_80052d4c; - puVar2[2] = DAT_80052d50; - fVar11 = FUN_7f0583c0(fStack140); - *(float *)(puVar2 + 3) = fVar11 * DAT_80052d54; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack136 = fVar11 * 0.00000000 * DAT_80052d58 * 0.00781250 - DAT_80052d5c; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack132 = fVar11 * 0.00000000 * DAT_80052d60 * 0.00781250 - DAT_80052d64; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack128 = fVar11 * 0.00000000 * DAT_80052d68 * 0.00781250 - DAT_80052d6c; - uVar12 = FUN_7f058c34(&fStack136,(float *)(puVar2 + 8)); - *puVar2 = *puVar2 | 0x40; - } - else { - if (uVar6 == 4) { - fStack152 = DAT_80032074; - fStack148 = (float)DAT_80032078; - fStack144 = (float)DAT_8003207c; - iVar7 = FUN_7f089e6c(); - fVar11 = loc_7F05AB54(*(float *)(pcStack4 + 8) - *(float *)(iVar7 + 8), - *(float *)(pcStack4 + 0x10) - *(float *)(iVar7 + 0x10)); - iVar7 = FUN_7000a460(); - fVar13 = func_7F057FC4(fVar11); - fVar14 = (float)iVar7; - if (iVar7 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar14 = fVar14 * 0.00000000 * DAT_80052d70; - *(float *)(puVar2 + 1) = fVar13 * (fVar14 + fVar14 + DAT_80052d74); - iVar7 = FUN_7000a460(); - fVar13 = (float)iVar7; - if (iVar7 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fVar13 = fVar13 * 0.00000000 * DAT_80052d78; - *(float *)(puVar2 + 2) = fVar13 + fVar13; - iVar7 = FUN_7000a460(); - fVar11 = FUN_7f0583c0(fVar11); - fVar13 = (float)iVar7; - if (iVar7 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fVar13 = fVar13 * 0.00000000 * DAT_80052d7c; - *(float *)(puVar2 + 3) = fVar11 * (fVar13 + fVar13 + DAT_80052d80); - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack152 = fVar11 * 0.00000000 * DAT_80052d84 * 0.03125000 - DAT_80052d88; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack148 = fVar11 * 0.00000000 * DAT_80052d8c * 0.03125000 - DAT_80052d90; - iVar7 = FUN_7000a460(); - fVar11 = (float)iVar7; - if (iVar7 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - fStack144 = fVar11 * 0.00000000 * DAT_80052d94 * 0.03125000 - DAT_80052d98; - uVar12 = FUN_7f058c34(&fStack152,(float *)(puVar2 + 8)); - } - else { - uVar12 = FUN_7f058134((float *)(puVar2 + 1),(float *)(puVar2 + 8)); - } - } - } - if (*(int *)(pcStack4 + 0x1c) == 0) { - aiStack88[0] = *(int *)(pcVar10 + 0x14); - } - else { - pcVar4 = *(char **)(pcVar10 + 0x1c); - do { - pcVar10 = pcVar4; - pcVar4 = *(char **)(pcVar10 + 0x1c); - } while (*(char **)(pcVar10 + 0x1c) != NULL); - aiStack88[0] = *(int *)(pcVar10 + 0x14); - } - if ((*(byte *)(iParm1 + 1) & 2) == 0) { - *(undefined4 *)(iParm1 + 0x14) = *(undefined4 *)(pcVar10 + 0x14); - init_0x40_bytes_data_at_address_last_word_1_0(afStack80); - matrix_multiply_A1_by_F12(*(float *)(iStack16 + 0x14),extraout_a0,afStack80); - copies_first_3_floats_from_a0_to_a1_plus_0x30((undefined4 *)(pcVar10 + 8),(int)afStack80); - } - else { - loc_7F041060(iVar1); - pfVar8 = (float *)FUN_7f06cc90(iStack16,extraout_a1_lo_00,extraout_a2_lo_00,extraout_a3_lo_00) - ; - uStack180 = 0x1f; - pfVar9 = (float *)FUN_7f078a34(); - loc_7F05823C(pfVar9,pfVar8,(int)afStack80); - if ((*puVar2 & 0x40) != 0) { - uStack180 = 0x1d; - } - uVar5 = FUN_7f03d358(pcVar10,0); - uVar6 = loc_7F0B13B4(aiStack88,*(float *)(pcVar10 + 8),*(float *)(pcVar10 + 0x10),fStack32, - fStack24,uStack180,0.00000000,1.00000000,0.00000000,1.00000000); - if (((uVar5 & 0xffffffff00000000 | (ulonglong)((uint)uVar5 & 0xffffff00 | uVar6 >> 0x18)) == 0 - ) || (lVar3 = loc_7F0B1C80(aiStack88,fStack32,fStack24,uVar12,uStack180,0,0x3f800000), - -1 < lVar3)) { - *(undefined4 *)(iParm1 + 0x14) = *(undefined4 *)(pcVar10 + 0x14); - fStack32 = *(float *)(pcVar10 + 8); - fStack24 = *(float *)(pcVar10 + 0x10); - } - else { - *(int *)(iParm1 + 0x14) = aiStack88[0]; - } - FUN_7f03d358(pcVar10,1); - *(float *)(iParm1 + 0x18) = -pfVar8[0xe]; - } - loc_7F04C124(iParm1); - FUN_7f03a7a4(iParm1); - set_stateflag_0x04_for_posdata(iParm1); - *(float *)(iParm1 + 8) = fStack32; - *(float *)(iVar1 + 0x58) = fStack32; - *(undefined4 *)(iParm1 + 0xc) = uStack28; - *(undefined4 *)(iVar1 + 0x5c) = uStack28; - *(float *)(iParm1 + 0x10) = fStack24; - *(float *)(iVar1 + 0x60) = fStack24; - fStack32 = 0.00000000; - uStack28 = 0; - fStack24 = 0.00000000; - loc_7F058030(afStack80,(undefined4 *)(iVar1 + 0x18)); - FUN_7f0405b4(*(int *)(iVar1 + 0x10),(byte *)(iVar1 + 0x7c)); - *(undefined *)(iVar1 + 0x78) = *(undefined *)(iVar1 + 0x7c); - *(undefined *)(iVar1 + 0x79) = *(undefined *)(iVar1 + 0x7d); - *(undefined *)(iVar1 + 0x7a) = *(undefined *)(iVar1 + 0x7e); - *(undefined *)(iVar1 + 0x7b) = *(undefined *)(iVar1 + 0x7f); - loc_7F056E80(iVar1); - uVar6 = 1; - } - return (ulonglong)uVar6; -} - - - -void loc_7F04CCF0(int param_1,undefined8 param_2) - -{ - uint uVar1; - int iVar2; - uint uVar3; - uint *puVar4; - float fVar5; - float fStack12; - float fStack8; - float fStack4; - - uVar1 = *(uint *)(param_1 + 100); - uVar3 = uVar1 & 0xfff9ffff; - *(uint *)(param_1 + 100) = uVar3; - *(uint *)(param_1 + 100) = uVar3 | (int)param_2 << 0x11; - if ((((*(uint *)(param_1 + 0xc) & 0x100) == 0) && ((*(uint *)(param_1 + 8) & 1) != 0)) && - ((uVar1 & 0xc0) == 0)) { - fStack12 = DAT_80032080; - fStack8 = DAT_80032084; - puVar4 = NULL; - fStack4 = DAT_80032088; - FUN_7f0400a8(*(int *)(param_1 + 0x10)); - if ((*(uint *)(param_1 + 100) & 0x80) != 0) { - puVar4 = *(uint **)(param_1 + 0x6c); - } - if (puVar4 != NULL) { - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 1) = fVar5 * 0.00000000 * DAT_80052d9c - DAT_80052da0; - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * DAT_80052da4; - *(float *)(puVar4 + 2) = fVar5 + fVar5 + DAT_80052da4; - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 3) = fVar5 * 0.00000000 * DAT_80052da8 - DAT_80052dac; - if ((*(uint *)(param_1 + 0xc) & 0x200) == 0) { - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack12 = (fVar5 * 0.00000000 * DAT_80052db0) / 320.00000000 - DAT_80052db4; - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack8 = (fVar5 * 0.00000000 * DAT_80052db8) / 320.00000000 - DAT_80052dbc; - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack4 = (fVar5 * 0.00000000 * DAT_80052dc0) / 320.00000000 - DAT_80052dc4; - } - FUN_7f058c34(&fStack12,(float *)(puVar4 + 8)); - *puVar4 = *puVar4 | 1; - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) & 0xfffffeff; - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) & 0xffff7fff; - } - } - return; -} - - - -void loc_7F04CDE8(char *param_1,undefined8 param_2) - -{ - char cVar1; - char cVar2; - int iVar3; - int iVar4; - longlong lVar5; - char *pcVar6; - uint uStack20; - float *apfStack16 [4]; - - iVar3 = *(int *)(param_1 + 4); - cVar1 = *(char *)(*(int *)(param_1 + 0x14) + 3); - FUN_7f03cfb0(param_1,(int **)apfStack16,&uStack20); - if (((int)uStack20 < 1) || (pcVar6 = (char *)FUN_7f03a724(), pcVar6 == NULL)) { - return; - } - cVar2 = *pcVar6; - do { - if (cVar2 == '\x01') { - iVar4 = *(int *)(pcVar6 + 0x14); -LAB_7f04d184: - if (cVar1 == *(char *)(iVar4 + 3)) { - iVar4 = *(int *)(pcVar6 + 4); - if (*(float *)(iVar3 + 0x5c) < *(float *)(iVar4 + 0x5c)) { - if ((*(uint *)(iVar4 + 100) & 0x8000) == 0) { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - lVar5 = loc_7F03CF7C((float *)(iVar4 + 0x58),apfStack16[0],uStack20); - if (lVar5 != 0) { - loc_7F04CCF0(iVar4,param_2); - } - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - else { - if (cVar2 == '\x04') { - iVar4 = *(int *)(pcVar6 + 0x14); - goto LAB_7f04d184; - } - pcVar6 = *(char **)(pcVar6 + 0x24); - } - if (pcVar6 == NULL) { - return; - } - cVar2 = *pcVar6; - } while( true ); -} - - - -void loc_7F04D15C(int param_1,float *param_2,int param_3) - -{ - byte bVar1; - short sVar2; - char *pcVar3; - int iVar5; - longlong lVar4; - uint uVar6; - char *pcVar7; - undefined uVar8; - int iStack16; - short sStack10; - char *pcStack4; - - if (*(float *)(param_1 + 0x70) <= *(float *)(param_1 + 0x74)) { - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 0) { - return; - } - sVar2 = *(short *)(param_1 + 4); - } - else { - sVar2 = *(short *)(param_1 + 4); - } - pcStack4 = *(char **)(param_1 + 0x10); - sStack10 = (&DAT_8003b254)[(int)sVar2 * 7]; - if (*(int *)(pcStack4 + 0x1c) == 0) { - iStack16 = *(int *)(pcStack4 + 0x14); - pcVar7 = pcStack4; - } - else { - pcVar3 = *(char **)(pcStack4 + 0x1c); - do { - pcVar7 = pcVar3; - pcVar3 = *(char **)(pcVar7 + 0x1c); - } while (*(char **)(pcVar7 + 0x1c) != NULL); - iStack16 = *(int *)(pcVar7 + 0x14); - } - iVar5 = loc_7F03FFDC(param_1); - uVar8 = (undefined)param_3; - if (iVar5 != 0) { - uVar6 = loc_7F03FFA0(param_1); - if (((uVar6 & 3) == 0) && (loc_7F04BCB0(param_1,((int)uVar6 >> 2) + 1), iStack16 != 0)) { - if ((pcVar7[1] & 8U) == 0) { - lVar4 = sub_7F0B0BE4(&iStack16,*(float *)(pcVar7 + 8),*(float *)(pcVar7 + 0x10),*param_2, - param_2[2]); - if (lVar4 != 0) { - FUN_7f09cdf0((int)pcStack4,param_2,iStack16,0x10, - (uint)((*(uint *)(param_1 + 8) & 0xe) == 0),uVar8,pcVar7 + 0x2c,0); - goto LAB_7f04d4e0; - } - iVar5 = *(int *)(pcVar7 + 0x14); - } - else { - iVar5 = *(int *)(pcVar7 + 0x14); - } - FUN_7f09cdf0((int)pcStack4,param_2,iVar5,0x10,0,uVar8,pcVar7 + 0x2c,1); - } -LAB_7f04d4e0: - iVar5 = loc_7F03FFDC(param_1); - if ((0 < iVar5) && (bVar1 = *(byte *)(param_1 + 2), (bVar1 & 4) != 0)) { - if ((*(uint *)(param_1 + 100) & 0x1000) == 0) { - *(byte *)(param_1 + 2) = bVar1 & 0xef; - } - else { - *(byte *)(param_1 + 2) = bVar1 | 0x10; - } - *(undefined2 *)(pcStack4 + 2) = 0x4b0; - } - if ((int)uVar6 < 0xc) { - return; - } - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) | 0x1000; - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) & 0xfffffeff; - return; - } - *(byte *)(param_1 + 2) = *(byte *)(param_1 + 2) | 0x80; - *(undefined4 *)(param_1 + 0x70) = 0; - if (iStack16 == 0) { - uVar6 = *(uint *)(param_1 + 0xc); - } - else { - if ((pcVar7[1] & 8U) == 0) { - lVar4 = sub_7F0B0BE4(&iStack16,*(float *)(pcVar7 + 8),*(float *)(pcVar7 + 0x10),*param_2, - param_2[2]); - if (lVar4 != 0) { - FUN_7f09cdf0((int)pcStack4,param_2,iStack16,(int)sStack10, - (uint)((*(uint *)(param_1 + 8) & 0xe) == 0),uVar8,pcVar7 + 0x2c,0); - uVar6 = *(uint *)(param_1 + 0xc); - goto LAB_7f04d380; - } - iVar5 = *(int *)(pcVar7 + 0x14); - } - else { - iVar5 = *(int *)(pcVar7 + 0x14); - } - FUN_7f09cdf0((int)pcStack4,param_2,iVar5,(int)sStack10,0,uVar8,pcVar7 + 0x2c,1); - uVar6 = *(uint *)(param_1 + 0xc); - } -LAB_7f04d380: - if ((uVar6 & 0x2000) == 0) { - loc_7F04BCB0(param_1,1); - if (pcVar7 == pcStack4) { - loc_7F04CDE8(pcStack4,(longlong)param_3); - uVar6 = *(uint *)(param_1 + 100); - if ((uVar6 & 0x8000) != 0) { - uVar6 = FUN_7000a460(); - if (uVar6 % 3 != 0) { - return; - } - uVar6 = *(uint *)(param_1 + 100); - } - *(uint *)(param_1 + 100) = uVar6 | 0x10000; - loc_7F04CCF0(param_1,(longlong)param_3); - } - } - else { - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) | 4; - } - return; -} - - - -undefined4 -loc_7F04D978(float *param_1,float *param_2,float *param_3,uint *param_4,uint *param_5,int param_6, - float *param_7) - -{ - char cVar1; - short sVar2; - longlong lVar3; - uint *puVar4; - uint *puVar5; - short *psVar6; - int *piVar7; - undefined2 uVar8; - uint *puVar9; - int iVar10; - uint uVar11; - float fVar12; - float fVar13; - float fStack224; - undefined4 uStack220; - undefined4 uStack216; - int iStack200; - int iStack196; - int iStack192; - int iStack188; - int iStack184; - int iStack180; - uint uStack172; - uint uStack168; - uint uStack164; - uint auStack160 [5]; - float fStack140; - undefined4 uStack136; - undefined4 uStack132; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack96; - int iStack88; - int iStack84; - int iStack80; - int aiStack76 [3]; - undefined4 uStack64; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - int iStack4; - - uStack64 = 0; - fVar13 = 4294967296.00000000; - puVar9 = param_4; - do { - while( true ) { - while( true ) { - while (puVar5 = param_5, cVar1 = *(char *)puVar9, cVar1 == -0x48) { - if (param_5 == NULL) { - return uStack64; - } - param_5 = NULL; - param_4 = puVar5; - puVar9 = puVar5; - } - if (cVar1 != '\x04') break; - iStack4 = param_6 + (puVar9[1] & 0xffffff) + - ((uint)*(byte *)((int)puVar9 + 1) & 0xf) * -0x10; - puVar9 = puVar9 + 2; - } - if (cVar1 == -0x41) break; - if (cVar1 == -0x4f) { - iVar10 = 0; - do { - iStack188 = DAT_800320b0; - iStack184 = DAT_800320b4; - iStack180 = DAT_800320b8; - iStack200 = DAT_800320bc; - iStack196 = DAT_800320c0; - iStack192 = DAT_800320c4; - if (iVar10 == 0) { - uStack172 = puVar9[1] & 0xf; - uStack168 = (uint)(*(byte *)((int)puVar9 + 7) >> 4); - uStack164 = *puVar9 & 0xf; - } - else { - if (iVar10 == 1) { - uStack172 = (uint)*(byte *)((int)puVar9 + 6) & 0xf; - uStack168 = (uint)(*(ushort *)((int)puVar9 + 6) >> 0xc); - uStack164 = (uint)(*(byte *)((int)puVar9 + 3) >> 4); - } - else { - if (iVar10 == 2) { - uStack172 = (uint)*(ushort *)(puVar9 + 1) & 0xf; - uStack168 = (uint)(*(byte *)((int)puVar9 + 5) >> 4); - uStack164 = (uint)*(byte *)((int)puVar9 + 2) & 0xf; - } - else { - uStack172 = (uint)*(byte *)(puVar9 + 1) & 0xf; - uStack168 = puVar9[1] >> 0x1c; - uStack164 = (uint)(*(ushort *)((int)puVar9 + 2) >> 0xc); - } - } - } - puVar5 = &uStack172; - uVar11 = uStack172; - while( true ) { - puVar5 = puVar5 + 1; - psVar6 = (short *)(iStack4 + uVar11 * 0x10); - lVar3 = (longlong)*psVar6; - if (lVar3 < (longlong)iStack188) { - iStack188 = (int)*psVar6; - lVar3 = (longlong)*psVar6; - } - if ((longlong)iStack200 < lVar3) { - iStack200 = (int)lVar3; - sVar2 = psVar6[1]; - } - else { - sVar2 = psVar6[1]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < (longlong)iStack184) { - iStack184 = (int)sVar2; - lVar3 = (longlong)psVar6[1]; - } - if ((longlong)iStack196 < lVar3) { - iStack196 = (int)lVar3; - sVar2 = psVar6[2]; - } - else { - sVar2 = psVar6[2]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < (longlong)iStack180) { - iStack180 = (int)sVar2; - lVar3 = (longlong)psVar6[2]; - } - if ((longlong)iStack192 < lVar3) { - iStack192 = (int)lVar3; - } - if (puVar5 == auStack160) break; - uVar11 = *puVar5; - } - lVar3 = locret_7F0B7008(param_1,param_3,&iStack188,&iStack200); - if (lVar3 != 0) { - fStack224 = DAT_800320c8; - uStack220 = DAT_800320cc; - uStack216 = DAT_800320d0; - lVar3 = loc_7F092E2C((short *)(iStack4 + uStack172 * 0x10), - (short *)(iStack4 + uStack168 * 0x10), - (short *)(iStack4 + uStack164 * 0x10),&fStack224,param_1,param_2, - param_3,&fStack52); - if (lVar3 != 0) { - puVar5 = puVar9; - if ((*(char *)puVar9 != -3) && (puVar5 = puVar9, param_4 < puVar9)) { - cVar1 = *(char *)(puVar9 + -2); - puVar4 = puVar9; - while( true ) { - puVar5 = puVar4 + -2; - if ((cVar1 == -3) || (puVar5 <= param_4)) break; - cVar1 = *(char *)(puVar4 + -4); - puVar4 = puVar5; - } - } - if (puVar5 == param_4) { - uVar8 = 0xffff; - } - else { - uVar8 = *(undefined2 *)(puVar5[1] - 8 | 0x80000000); - } - fVar12 = (float)((int)fStack52 - (int)*param_1) * - (float)((int)fStack52 - (int)*param_1) + - (float)((int)fStack48 - (int)param_1[1]) * - (float)((int)fStack48 - (int)param_1[1]) + - (float)((int)fStack44 - (int)param_1[2]) * - (float)((int)fStack44 - (int)param_1[2]); - if (fVar12 < fVar13) { - *param_7 = fStack52; - param_7[1] = fStack48; - param_7[2] = fStack44; - param_7[3] = fStack40; - param_7[4] = fStack36; - param_7[5] = fStack32; - *(uint *)(param_7 + 6) = uStack172 * 0x10 + iStack4; - *(uint *)(param_7 + 7) = uStack168 * 0x10 + iStack4; - *(undefined2 *)((int)param_7 + 0x2a) = uVar8; - *(uint **)(param_7 + 9) = puVar9; - *(uint *)(param_7 + 8) = uStack164 * 0x10 + iStack4; - *(short *)(param_7 + 10) = (short)iVar10 + 1; - uStack64 = 1; - fVar13 = fVar12; - } - } - } - iVar10 += 1; - } while (iVar10 != 4); - } -LAB_7f04dd74: - puVar9 = puVar9 + 2; - } - iStack104 = DAT_8003208c; - iStack100 = DAT_80032090; - iStack96 = DAT_80032094; - iStack116 = DAT_80032098; - iStack112 = DAT_8003209c; - iStack108 = DAT_800320a0; - piVar7 = &iStack88; - iStack88 = (int)(uint)*(byte *)((int)puVar9 + 5) / 10; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar9 + 5) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack84 = (int)(uint)*(byte *)((int)puVar9 + 6) / 10; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar9 + 6) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack80 = (int)(uint)*(byte *)((int)puVar9 + 7) / 10; - if (false) { - trap(0x1c00); - } - iVar10 = iStack88; - if ((false) && (iVar10 = iStack88, (ulonglong)*(byte *)((int)puVar9 + 7) == 0xffffffff80000000)) - { - trap(0x1800); - iVar10 = iStack88; - } - while( true ) { - piVar7 = piVar7 + 1; - psVar6 = (short *)(iStack4 + iVar10 * 0x10); - lVar3 = (longlong)*psVar6; - if (lVar3 < (longlong)iStack104) { - iStack104 = (int)*psVar6; - lVar3 = (longlong)*psVar6; - } - if ((longlong)iStack116 < lVar3) { - iStack116 = (int)lVar3; - sVar2 = psVar6[1]; - } - else { - sVar2 = psVar6[1]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < (longlong)iStack100) { - iStack100 = (int)sVar2; - lVar3 = (longlong)psVar6[1]; - } - if ((longlong)iStack112 < lVar3) { - iStack112 = (int)lVar3; - sVar2 = psVar6[2]; - } - else { - sVar2 = psVar6[2]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < (longlong)iStack96) { - iStack96 = (int)sVar2; - lVar3 = (longlong)psVar6[2]; - } - if ((longlong)iStack108 < lVar3) { - iStack108 = (int)lVar3; - } - if (piVar7 == aiStack76) break; - iVar10 = *piVar7; - } - lVar3 = locret_7F0B7008(param_1,param_3,&iStack104,&iStack116); - if (lVar3 == 0) goto LAB_7f04dd74; - fStack140 = DAT_800320a4; - uStack136 = DAT_800320a8; - uStack132 = DAT_800320ac; - lVar3 = loc_7F092E2C((short *)(iStack4 + iStack88 * 0x10),(short *)(iStack4 + iStack84 * 0x10), - (short *)(iStack4 + iStack80 * 0x10),&fStack140,param_1,param_2,param_3, - &fStack52); - if (lVar3 == 0) goto LAB_7f04dd74; - puVar5 = puVar9; - if ((*(char *)puVar9 != -3) && (puVar5 = puVar9, param_4 < puVar9)) { - cVar1 = *(char *)(puVar9 + -2); - puVar4 = puVar9; - while( true ) { - puVar5 = puVar4 + -2; - if ((cVar1 == -3) || (puVar5 <= param_4)) break; - cVar1 = *(char *)(puVar4 + -4); - puVar4 = puVar5; - } - } - if (puVar5 == param_4) { - uVar8 = 0xffff; - } - else { - uVar8 = *(undefined2 *)(puVar5[1] - 8 | 0x80000000); - } - fVar12 = (float)((int)fStack52 - (int)*param_1) * (float)((int)fStack52 - (int)*param_1) + - (float)((int)fStack48 - (int)param_1[1]) * (float)((int)fStack48 - (int)param_1[1]) + - (float)((int)fStack44 - (int)param_1[2]) * (float)((int)fStack44 - (int)param_1[2]); - if (fVar13 <= fVar12) goto LAB_7f04dd74; - *param_7 = fStack52; - param_7[1] = fStack48; - param_7[2] = fStack44; - param_7[3] = fStack40; - param_7[4] = fStack36; - param_7[5] = fStack32; - *(int *)(param_7 + 6) = iStack88 * 0x10 + iStack4; - *(int *)(param_7 + 7) = iStack84 * 0x10 + iStack4; - *(undefined2 *)((int)param_7 + 0x2a) = uVar8; - *(uint **)(param_7 + 9) = puVar9; - *(int *)(param_7 + 8) = iStack80 * 0x10 + iStack4; - *(undefined2 *)(param_7 + 10) = 0; - uStack64 = 1; - fVar13 = fVar12; - puVar9 = puVar9 + 2; - } while( true ); -} - - - -int loc_7F04DC80(int param_1,ushort *param_2,float *param_3,float *param_4,float *param_5, - int *param_6,ushort **param_7) - -{ - ushort uVar1; - uint **ppuVar2; - float fVar3; - uint *puVar4; - short sVar6; - int iVar5; - ushort *puVar7; - ushort *puVar8; - float *pfVar9; - uint *puVar10; - uint *puVar11; - uint *puVar12; - uint uVar13; - float afStack148 [26]; - int iStack44; - float *pfStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar3 = DAT_80052dc8; - pfStack40 = NULL; - iStack44 = 0; - uVar13 = 0; - if (param_2 == NULL) { - return 0; - } - uVar1 = *param_2; - puVar7 = param_2; - do { - puVar11 = NULL; - puVar12 = NULL; - if (true) { - switch((uint)uVar1 & 0xff) { - case 4: - puVar10 = *(uint **)(puVar7 + 2); - if (*puVar10 != 0) { - uVar13 = puVar10[2]; - puVar11 = (uint *)(uVar13 + (*puVar10 & 0xffffff)); - if (puVar10[1] != 0) { - puVar12 = (uint *)(uVar13 + (puVar10[1] & 0xffffff)); - } - } - break; - case 8: - FUN_7f06ef60(param_1,puVar7); - break; - case 0x12: - FUN_7f06efac(param_1,puVar7); - break; - case 0x17: - FUN_7f06eff8(param_1,puVar7); - break; - case 0x18: - ppuVar2 = *(uint ***)(puVar7 + 2); - puVar4 = (uint *)loc_7F06C888(param_1,puVar7); - puVar10 = (uint *)puVar4[1]; - if (puVar10 != NULL) { - if (*ppuVar2 == puVar10) { - puVar10 = (uint *)((int)ppuVar2[7] + ((uint)*ppuVar2 & 0xffffff)); - } - if (ppuVar2[1] != NULL) { - puVar12 = (uint *)((int)ppuVar2[7] + ((uint)ppuVar2[1] & 0xffffff)); - } - uVar13 = *puVar4; - puVar11 = puVar10; - } - } - } - if (puVar11 != NULL) { - pfVar9 = NULL; - sVar6 = loc_7F06C654(puVar7,0); - if (-1 < sVar6) { - pfVar9 = (float *)(*(int *)(param_1 + 0xc) + (int)sVar6 * 0x40); - } - if ((pfVar9 != NULL) && (pfVar9 != pfStack40)) { - pfStack40 = pfVar9; - sub_7F059FB8(pfVar9,afStack148); - fStack12 = *param_3; - fStack8 = param_3[1]; - fStack4 = param_3[2]; - FUN_7f058994(afStack148,&fStack12); - fStack36 = *param_4; - fStack32 = param_4[1]; - fStack28 = param_4[2]; - FUN_7f0588f8(afStack148,&fStack36); - fStack24 = fStack36 * fVar3 + fStack12; - fStack20 = fStack32 * fVar3 + fStack8; - fStack16 = fStack28 * fVar3 + fStack4; - } - iVar5 = loc_7F04D978(&fStack12,&fStack24,&fStack36,puVar11,puVar12,uVar13,param_5); - if (iVar5 != 0) { - *param_6 = (int)sVar6; - *param_7 = puVar7; - iStack44 = 1; - } - } - puVar8 = *(ushort **)(puVar7 + 10); - if (puVar8 == NULL) { - while (puVar8 = puVar7, puVar7 != NULL) { - if (puVar7 == param_2) { - puVar8 = NULL; - break; - } - puVar8 = *(ushort **)(puVar7 + 6); - if (puVar8 != NULL) break; - puVar7 = *(ushort **)(puVar7 + 4); - } - } - if (puVar8 == NULL) { - return iStack44; - } - if (iStack44 != 0) { - return iStack44; - } - uVar1 = *puVar8; - puVar7 = puVar8; - } while( true ); -} - - - -void FUN_7f04e0b8(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = *(int *)(param_1 + 0x10); - iVar2 = FUN_7f040378(param_1); - FUN_7f0a1870(iVar1,'\0'); - FUN_7f0a1870(iVar1,'\x01'); - loc_7F0A2128((float *)(param_1 + 0x58),(float *)(param_1 + 0x18),(float *)(param_1 + 0x28), - (float *)(param_1 + 0x38),*(float *)(iVar2 + 4),*(float *)(iVar2 + 8), - *(float *)(iVar2 + 0xc),*(float *)(iVar2 + 0x10)); - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) | 4; - *(byte *)(param_1 + 2) = *(byte *)(param_1 + 2) | 0x80; - *(undefined4 *)(param_1 + 0x70) = 0; - return; -} - - - -void sub_7F04DD68(int param_1) - -{ - undefined4 *puVar1; - float afStack80 [4]; - float afStack64 [4]; - float afStack48 [4]; - float afStack32 [5]; - int iStack12; - int iStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x10); - iStack8 = *(int *)(param_1 + 0x14); - iStack12 = *(int *)(*(int *)(*(int *)(*(int *)(iStack8 + 8) + 8) + 8) + 4); - loc_7F052AF0(param_1,afStack80); - loc_7F0A2128(afStack32,afStack80,afStack64,afStack48,*(float *)(iStack12 + 4), - *(float *)(iStack12 + 8),*(float *)(iStack12 + 0xc),*(float *)(iStack12 + 0x10)); - FUN_7f0a1870(iStack4,'\x01'); - puVar1 = (undefined4 *)loc_7F06C888(iStack8,*(ushort **)(*(int *)(*(int *)(iStack8 + 8) + 8) + 4)) - ; - *puVar1 = 0; - return; -} - - - -void loc_7F04DEC8(int param_1) - -{ - int iVar1; - int iVar2; - float *pfVar3; - undefined4 *puVar4; - float afStack84 [4]; - float afStack68 [4]; - float afStack52 [4]; - float afStack36 [4]; - float *pfStack20; - int iStack16; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x10); - iVar1 = *(int *)(param_1 + 0x14); - if ((*(byte *)(iStack4 + 1) & 2) != 0) { - iVar2 = *(int *)(*(int *)(iVar1 + 8) + 8); - iStack16 = *(int *)(*(int *)(iVar2 + 8) + 4); - pfStack20 = (float *)FUN_7f06cc50(iVar1,*(ushort **)(iVar2 + 4),0); - pfVar3 = (float *)FUN_7f078a34(); - loc_7F05823C(pfVar3,pfStack20,(int)afStack84); - loc_7F0A2128(afStack36,afStack84,afStack68,afStack52,*(float *)(iStack16 + 4), - *(float *)(iStack16 + 8),*(float *)(iStack16 + 0xc),*(float *)(iStack16 + 0x10)); - } - FUN_7f0a1870(iStack4,'\x01'); - puVar4 = (undefined4 *)loc_7F06C888(iVar1,*(ushort **)(*(int *)(*(int *)(iVar1 + 8) + 8) + 0xc)); - *puVar4 = 0; - return; -} - - - -void loc_7F04DFAC(int param_1,float param_2,undefined8 param_3,undefined8 param_4,int param_5) - -{ - int param_1_00; - int iVar1; - uint uVar2; - uint uVar3; - - param_1_00 = *(int *)(param_1 + 4); - uVar3 = *(uint *)(param_1_00 + 100) & 0xfff9ffff; - uVar2 = uVar3 | param_5 << 0x11; - *(uint *)(param_1_00 + 100) = uVar3; - *(uint *)(param_1_00 + 100) = uVar2; - if (-1 < (int)(uVar2 << 0xc)) { - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - iVar1 = *(int *)(param_1_00 + 0x24); - loc_7F04DFAC(param_1_00,param_2,param_3,param_4,param_5); - param_1_00 = iVar1; - } - loc_7F04E710(*(int *)(param_1 + 4),param_2,(float *)param_3,(int)param_4,param_5); - } - return; -} - - - -undefined8 FUN_7f04e410(int param_1) - -{ - if (true) { - switch(*(undefined *)(param_1 + 3)) { - case 4: - case 7: - case 8: - case 0x11: - case 0x14: - case 0x15: - return 1; - } - } - return 0; -} - - - -undefined8 loc_7F04E0BC(int param_1) - -{ - undefined8 uVar1; - longlong lVar2; - int iVar3; - - if (*(char *)(param_1 + 3) == '\x01') { - uVar1 = 0; - } - else { - lVar2 = FUN_7f04e410(param_1); - if (lVar2 == 0) { - iVar3 = *(int *)(param_1 + 8); - } - else { - if (*(char *)(param_1 + 3) != '\x15') { - if (*(int *)(param_1 + 8) << 0xf < 0) { - return 1; - } - return 0; - } - iVar3 = *(int *)(param_1 + 8); - } - if (iVar3 << 0xe < 0) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - return uVar1; -} - - - -void loc_7F04E0FC(int param_1,float param_2,float *param_3,int param_4,int param_5) - -{ - if ((*(uint *)(param_1 + 0xc) & 0x4000) == 0) { - loc_7F04E710(param_1,param_2,param_3,param_4,param_5); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f04e684) overlaps instruction at (ram,0x7f04e680) -// - -void loc_7F04E710(int param_1,float param_2,float *param_3,int param_4,int param_5) - -{ - ushort uVar1; - undefined4 *puVar2; - int iVar3; - int iVar5; - longlong lVar4; - uint uVar6; - undefined4 *puVar7; - undefined *puVar8; - char cVar10; - int iVar9; - uint uVar11; - undefined4 *puVar12; - undefined4 *puVar13; - undefined4 *puVar14; - float fVar15; - float fVar16; - undefined4 auStack164 [30]; - undefined4 auStack44 [3]; - undefined4 *puStack32; - uint uStack28; - uint uStack24; - - uVar6 = *(uint *)(param_1 + 100) & 0xfff9ffff; - *(uint *)(param_1 + 100) = uVar6; - *(uint *)(param_1 + 100) = uVar6 | param_5 << 0x11; - if ((*(char *)(param_1 + 3) == '$') && (iVar5 = loc_7F03FFDC(param_1), iVar5 == 1)) { - return; - } - if (param_4 == 0) { - lVar4 = FUN_7f04e410(param_1); - if (lVar4 == 0) { - if (*(int *)(param_1 + 8) << 7 < 0) { - return; - } - } - else { - if (-1 < *(int *)(param_1 + 8) << 8) { - return; - } - } - } - else { - if ((int)(*(uint *)(param_1 + 8) << 0xe) < 0) { - return; - } - if (*(char *)(param_1 + 3) == '\b') { - cVar10 = *(char *)(param_1 + 0x80); - if (((((cVar10 != '\x1a') && (cVar10 != '\x1b')) && (cVar10 != '\x1d')) && - ((cVar10 != '\x1c' && (cVar10 != 'V')))) && - ((cVar10 != 'W' && ((cVar10 != '!' && (cVar10 != '\"')))))) { - return; - } - *(undefined2 *)(param_1 + 0x82) = 0; - return; - } - if (*(char *)(param_1 + 3) == '\a') { - iVar5 = *(int *)(param_1 + 0x80); - if (((((iVar5 != 5) && (iVar5 != 6)) && (iVar5 != 7)) && - (((iVar5 != 8 && (iVar5 != 9)) && ((iVar5 != 0xb && ((iVar5 != 0xf && (iVar5 != 0x10)))))) - )) && (iVar5 != 0x13)) { - return; - } - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) | 0x10000000; - return; - } - lVar4 = loc_7F04E0BC(param_1); - if (lVar4 == 0) { - return; - } - } - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 0) { - *(float *)(param_1 + 0x70) = *(float *)(param_1 + 0x70) + param_2 * 250.00000000; - } - else { - uVar6 = loc_7F03FFA0(param_1); - uVar11 = uVar6 & 3; - if (((int)uVar6 < 0) && (uVar11 != 0)) { - uVar11 -= 4; - } - fVar15 = (float)(4 - uVar11); - if (((float)(4 - uVar11) < param_2) || (fVar15 = 1.00000000, param_2 < 1.00000000)) { - fVar16 = *(float *)(param_1 + 0x70); - } - else { - fVar16 = *(float *)(param_1 + 0x70); - fVar15 = param_2; - } - *(float *)(param_1 + 0x70) = fVar16 + fVar15; - } - cVar10 = *(char *)(param_1 + 3); - if ((cVar10 == '*') || (cVar10 == '/')) { - if (*(float *)(param_1 + 0x74) <= *(float *)(param_1 + 0x70)) { - FUN_7f04e0b8(param_1); - cVar10 = *(char *)(param_1 + 3); - } - } - else { - FUN_7f04c3d4(*(int *)(param_1 + 0x10),1); - loc_7F04D15C(param_1,param_3,param_5); - cVar10 = *(char *)(param_1 + 3); - } - if (cVar10 == '\x14') { - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 1) { - uVar6 = FUN_7000a460(); - uVar6 %= 0xd; - uVar11 = uVar6; -LAB_7f04e7ec: - iVar5 = param_1 + uVar6 * 4; - if (*(short *)(iVar5 + 0x82) == 0) { - iVar5 = uVar6 + 1; - } - else { - if (*(short *)(iVar5 + 0x80) == -1) { - iVar5 = uVar6 + 1; - } - else { - uStack28 = uVar6; - uStack24 = uVar11; - puVar7 = (undefined4 *)FUN_7f051dcc(); - if (puVar7 != NULL) { - uVar1 = *(ushort *)(iVar5 + 0x80); - puVar13 = &DAT_800320d4; - puVar2 = auStack164; - do { - puVar12 = puVar2; - puVar14 = puVar13; - *puVar12 = *puVar14; - puVar12[1] = puVar14[1]; - puVar12[2] = puVar14[2]; - puVar13 = puVar14 + 3; - puVar2 = puVar12 + 3; - } while (puVar14 + 3 != (undefined4 *)0x8003214c); - puVar12[3] = uRam8003214c; - puVar12[4] = puVar14[4]; - puVar13 = auStack164; - puVar2 = puVar7; - do { - puVar14 = puVar2; - puVar12 = puVar13; - puVar13 = puVar12 + 3; - *puVar14 = *puVar12; - puVar14[1] = puVar12[1]; - puVar14[2] = puVar12[2]; - puVar2 = puVar14 + 3; - } while (puVar13 != auStack44); - puVar14[3] = *puVar13; - puVar14[4] = puVar12[4]; - *(ushort *)(puVar7 + 1) = uVar1; - puVar7[0x20] = uStack28 + 1; - if (uStack28 + 1 == 2) { - puVar7[0x20] = 1; - } - puStack32 = puVar7; - puVar8 = FUN_7f0409f8((int)puVar7,(ushort **)(&PTR_DAT_8003a258)[(uint)uVar1 * 3]); - if (puVar8 != NULL) { - set_obj_instance_controller_scale(puStack32[5],*(undefined4 *)(puStack32[5] + 0x14)); - loc_7F03A5C0(puStack32[4],*(int *)(param_1 + 0x10)); - cVar10 = *(char *)(param_1 + 3); - goto LAB_7f04e948; - } -LAB_7f04e944: - cVar10 = *(char *)(param_1 + 3); - goto LAB_7f04e948; - } - iVar5 = uStack28 + 1; - uVar11 = uStack24; - } - } - uVar6 = iVar5 % 0xd; - if (uVar6 == uVar11) goto LAB_7f04e944; - goto LAB_7f04e7ec; - } - cVar10 = *(char *)(param_1 + 3); - } - else { - cVar10 = *(char *)(param_1 + 3); - } -LAB_7f04e948: - if (cVar10 == '\r') { - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) | 0x40000000; - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 1) { - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) | 0x10000000; - } - } - else { - if (cVar10 == '\x06') { - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 1) { - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) | 0x10000000; - } - } - else { - if (cVar10 == '\n') { - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 1) { - save_ptr_monitor_ani_code_to_obj_ani_slot((undefined4 *)(param_1 + 0x80),&DAT_80031f28); - } - } - else { - if (cVar10 == '\v') { - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 1) { - save_ptr_monitor_ani_code_to_obj_ani_slot((undefined4 *)(param_1 + 0x80),&DAT_80031f28); - save_ptr_monitor_ani_code_to_obj_ani_slot((undefined4 *)(param_1 + 0xf4),&DAT_80031f28); - save_ptr_monitor_ani_code_to_obj_ani_slot((undefined4 *)(param_1 + 0x168),&DAT_80031f28) - ; - save_ptr_monitor_ani_code_to_obj_ani_slot((undefined4 *)(param_1 + 0x1dc),&DAT_80031f28) - ; - } - } - else { - if (cVar10 == '$') { - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 1) { - FUN_7f056360((undefined4 *)(param_1 + 0x58)); - } - } - else { - if (cVar10 == '\x15') { - iVar5 = loc_7F03FFDC(param_1); - if (iVar5 == 0) { - *(float *)(param_1 + 0x84) = - (*(float *)(param_1 + 0x80) * - (*(float *)(param_1 + 0x74) - *(float *)(param_1 + 0x70))) / - *(float *)(param_1 + 0x74); - } - else { - *(undefined4 *)(param_1 + 0x84) = 0; - } - } - } - } - } - } - } - iVar5 = loc_7F03FFDC(param_1); - if ((iVar5 == 1) && (iVar5 = *(int *)(*(int *)(param_1 + 0x10) + 0x20), iVar5 != 0)) { - iVar3 = *(int *)(iVar5 + 0x24); - while (iVar9 = iVar3, FUN_7f04c3d4(iVar5,1), iVar9 != 0) { - iVar3 = *(int *)(iVar9 + 0x24); - iVar5 = iVar9; - } - } - return; -} - - - -void loc_7F04E99C(int param_1,float *param_2) - -{ - int iVar1; - int iVar2; - longlong lVar3; - int iVar4; - int param_1_00; - ushort *apuStack96 [2]; - float fStack88; - undefined4 uStack84; - float fStack80; - int iStack76; - float fStack72; - undefined4 uStack68; - float fStack64; - ushort *apuStack24 [6]; - - iVar1 = *(int *)(param_1 + 4); - if (((*(uint *)(iVar1 + 100) & 0x1000) == 0) && ((*(byte *)(param_1 + 1) & 2) != 0)) { - param_1_00 = *(int *)(param_1 + 0x20); - if (*(int *)(param_1 + 0x20) == 0) { - param_1_00 = *(int *)(iVar1 + 0x14); - } - else { - do { - iVar4 = *(int *)(param_1_00 + 0x24); - loc_7F04E99C(param_1_00,param_2); - param_1_00 = iVar4; - } while (iVar4 != 0); - param_1_00 = *(int *)(iVar1 + 0x14); - } - apuStack24[0] = NULL; - if ((*(char *)(iVar1 + 3) == '\x01') && - ((((*(ushort *)(iVar1 + 0x98) & 4) != 0 || (*(short *)(iVar1 + 0x9a) == 6)) || - (*(short *)(iVar1 + 0x9a) == 7)))) { - lVar3 = locret_7F074C60(iVar1 + 0xd0,*(float **)(param_1_00 + 0xc),param_2,param_2 + 3); - apuStack24[0] = **(ushort ***)(param_1_00 + 8); - if ((0 < lVar3) && - (iVar4 = loc_7F04DC80(param_1_00,apuStack24[0],param_2,param_2 + 3,&fStack72,&iStack76, - apuStack96), iVar4 == 0)) { - lVar3 = 0; - } - } - else { - do { - iVar4 = loc_7F07547C(param_1_00,param_2,param_2 + 3,apuStack24); - lVar3 = (longlong)iVar4; - if ((0 < lVar3) && - (iVar4 = loc_7F04DC80(param_1_00,apuStack24[0],param_2,param_2 + 3,&fStack72,&iStack76, - apuStack96), iVar4 != 0)) break; - } while (0 < lVar3); - } - if (0 < lVar3) { - fStack88 = fStack72; - uStack84 = uStack68; - fStack80 = fStack64; - FUN_7f058994((float *)(*(int *)(param_1_00 + 0xc) + iStack76 * 0x40),&fStack88); - if (-fStack80 <= param_2[0xd]) { - iVar4 = 1; - if ((-1 < *(int *)(iVar1 + 8) << 0xe) && - (((*(char *)(iVar1 + 3) == '*' || (*(char *)(iVar1 + 3) == '/')) || - ((iVar2 = *(int *)(*(int *)(iVar1 + 0x14) + 8), *(int *)(iVar2 + 4) == -0x7ffc5df4 && - (apuStack96[0] == *(ushort **)(*(int *)(iVar2 + 8) + 0xc))))))) { - iVar4 = 0; - } - loc_7F03BDDC((int)param_2,param_1,-fStack80,(int)lVar3,apuStack24[0],&fStack72,iStack76, - apuStack96[0],param_1_00,iVar4,(uint)((*(uint *)(iVar1 + 0xc) & 0x100000) != 0) - ); - } - } - } - return; -} - - - -void FUN_7f04edc0(int param_1,float *param_2) - -{ - int iVar1; - int iVar2; - int iVar3; - float fVar4; - - iVar1 = *(int *)(param_1 + 4); - iVar2 = *(int *)(iVar1 + 0x14); - iVar3 = FUN_7f040378(iVar1); - if (((((*(byte *)(param_1 + 1) & 2) != 0) && ((*(uint *)(iVar1 + 100) & 0x1000) == 0)) && - ((*(uint *)(iVar1 + 0xc) & 0x8000) == 0)) && - (fVar4 = loc_7F03EC2C(iVar3,*(int *)(iVar2 + 0xc)), - -(fVar4 + *(float *)(*(int *)(iVar2 + 0xc) + 0x38)) <= param_2[0xd])) { - loc_7F04E99C(param_1,param_2); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f04f130) overlaps instruction at (ram,0x7f04f12c) -// - -void loc_7F04EF24(float *param_1,float *param_2) - -{ - short sVar1; - int iVar2; - ulonglong uVar3; - longlong lVar4; - bool bVar5; - float *pfVar6; - uint uVar7; - int iVar8; - float fVar9; - undefined *puVar10; - undefined uVar11; - float fVar12; - float fVar13; - float fStack16; - float fStack12; - float fStack8; - - fVar12 = param_2[1]; - fVar13 = *(float *)((int)fVar12 + 0x1c); - if (*(float *)((int)fVar12 + 0x1c) == 0.00000000) { - fVar13 = *param_2; - fVar9 = fVar12; - } - else { - do { - fVar9 = fVar13; - fVar13 = *(float *)((int)fVar9 + 0x1c); - } while (*(float *)((int)fVar9 + 0x1c) != 0.00000000); - fVar13 = *param_2; - } - iVar2 = *(int *)((int)fVar12 + 4); - fStack16 = (*param_1 - (fVar13 * param_1[3]) / param_1[5]) - param_1[3] * 26.00000000; - fStack12 = (param_1[1] - (*param_2 * param_1[4]) / param_1[5]) - param_1[4] * 26.00000000; - fStack8 = (param_1[2] - *param_2) - param_1[5] * 26.00000000; - pfVar6 = (float *)FUN_7f078a34(); - fVar12 = (float)FUN_7f058994(pfVar6,&fStack16); - if (param_2[0x13] != 0.00000000) { - fVar12 = (float)FUN_7f068124(&fStack16); - } - loc_7F0A3E8C(&fStack16,1,26.00000000,(ushort)*(byte *)(*(int *)((int)fVar9 + 0x14) + 3)); - uVar3 = FUN_7f04f338(iVar2); - if (uVar3 == 0) { - fVar13 = param_2[0x13]; - } - else { - lVar4 = loc_7F04E0BC(iVar2); - if (lVar4 == 0) { - fVar13 = param_2[0x13]; - } - else { - if (param_2[0x13] == 0.00000000) { - fVar13 = param_2[0x13]; - } - else { - fVar12 = (float)FUN_7f06ace4((int)param_1[6],6); - fVar13 = param_2[0x13]; - } - } - } - if (fVar13 == 0.00000000) { - fVar12 = (float)FUN_7f064c58((float *)((int)param_2[1] + 8)); - } - else { - FUN_7f064948((int)param_1[6],(char *)param_2[1],(int)*(short *)((int)param_2 + 0x3a)); - } - fVar13 = param_1[6]; - if (fVar13 != 0.00000000) { - if (param_2[0x13] == 0.00000000) { - fVar12 = param_2[1]; - iVar8 = *(int *)(*(int *)(*(int *)(iVar2 + 0x14) + 8) + 4); - uVar7 = FUN_7000a460(); - fVar12 = (float)loc_7F0A1A48(param_2 + 4,param_2 + 7,(short)(uVar7 % 3) + 0x11,1,(int)fVar12, - SUB41(param_2[0x10],0),iVar8 == -0x7ffc5df4); - fVar13 = param_1[6]; - } - else { - sVar1 = *(short *)((int)param_2 + 0x3a); - puVar10 = PTR_PTR_DAT_8004e89c; - if (-1 < CONCAT44((undefined4)(sVar1 >> 0xf),(int)sVar1)) { - puVar10 = (&PTR_PTR_DAT_8004e89c)[(uint)*(byte *)(&DAT_80049330 + (int)sVar1 * 2) & 0xf]; - } - uVar7 = FUN_7000a460(); - iVar8 = *(int *)(*(int *)(iVar2 + 0x14) + 8); - uVar11 = 0; - if (*(short *)(puVar10 + 10) == 0) { - trap(0x1c00); - } - if ((*(int *)(iVar8 + 4) == -0x7ffc5df4) && - (param_2[0x11] == *(float *)(*(int *)(iVar8 + 8) + 0xc))) { -LAB_7f04f154: - uVar11 = 1; - iVar8 = *(int *)(puVar10 + 4); - } - else { - if (*(int *)(iVar8 + 4) == -0x7ffc5f74) { - if (param_2[0x11] == *(float *)(*(int *)(iVar8 + 8) + 4)) goto LAB_7f04f154; - iVar8 = *(int *)(puVar10 + 4); - } - else { - iVar8 = *(int *)(puVar10 + 4); - } - } - fVar12 = (float)loc_7F0A1A48(param_2 + 4,param_2 + 7, - (ushort)*(byte *)(iVar8 + uVar7 % (int)*(short *)(puVar10 + 10)), - 1,(int)param_2[1],SUB41(param_2[0x10],0),uVar11); - fVar13 = param_1[6]; - } - } - FUN_7f05e4a4((int)fVar13); - if (*(char *)(iVar2 + 3) == '\r') { - fVar12 = fVar12 * DAT_80030b64; - } - else { - if (*(char *)(iVar2 + 3) == '\x06') { - iVar8 = *(int *)(*(int *)(iVar2 + 0x14) + 8); - if ((*(int *)(iVar8 + 4) == -0x7ffc5f74) && - (param_2[0x11] == *(float *)(*(int *)(iVar8 + 8) + 4))) { - fVar12 = fVar12 * 100.00000000; - loc_7F04DEC8(iVar2); - } - fVar12 = fVar12 * DAT_80030b58; - } - } - iVar8 = get_cur_playernum(); - loc_7F04E0FC(iVar2,fVar12,&fStack16,(int)param_1[6],iVar8); - if (((*(int *)(*(int *)(*(int *)(iVar2 + 0x14) + 8) + 4) == -0x7ffc5df4) && - (param_2[0x13] == 0.00000000)) && - (*(char *)(iVar2 + 0xbd) = *(char *)(iVar2 + 0xbd) + '\x01', '\x02' < *(char *)(iVar2 + 0xbd))) - { - sub_7F04DD68(iVar2); - } - loc_7F04423C((int)param_2[1]); - bVar5 = false; - lVar4 = FUN_7f04e410(iVar2); - if (lVar4 == 0) { - if (-1 < *(int *)(iVar2 + 8) << 10) { - uVar7 = *(uint *)(iVar2 + 0xc); - goto LAB_7f04f2dc; - } - } - else { - if (*(int *)(iVar2 + 8) << 9 < 0) { - uVar7 = *(uint *)(iVar2 + 0xc); - goto LAB_7f04f2dc; - } - } - bVar5 = true; - uVar7 = *(uint *)(iVar2 + 0xc); -LAB_7f04f2dc: - if ((uVar7 & 2) == 0) { - uVar7 = *(uint *)(iVar2 + 0xc); - } - else { - uVar3 = FUN_7f04f338(iVar2); - if (uVar3 == 0) { - bVar5 = true; - uVar7 = *(uint *)(iVar2 + 0xc); - } - else { - uVar7 = *(uint *)(iVar2 + 0xc); - } - } - if ((uVar7 & 0x400) != 0) { - bVar5 = false; - } - if (bVar5) { - FUN_7f04c0e0(iVar2,param_1 + 3); - } - return; -} - - - -ulonglong FUN_7f04f338(int param_1) - -{ - int iVar1; - - iVar1 = loc_7F03FFDC(param_1); - return (ulonglong)(iVar1 == 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F04F160(int param_1) - -{ - int iVar1; - ulonglong uVar2; - longlong lVar3; - byte bVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - int iStack44; - float fStack40; - int iStack12; - int iStack8; - - iStack8 = *(int *)(param_1 + 4); - if (*(char *)(iStack8 + 3) == '\x05') { - bVar4 = *(byte *)(param_1 + 1); - } - else { - if (*(int *)(iStack8 + 8) << 0xc < 0) { - bVar4 = *(byte *)(param_1 + 1); - } - else { - if ((*(uint *)(iStack8 + 100) & 0x13) == 0) { - return 1; - } - bVar4 = *(byte *)(param_1 + 1); - } - } - if ((bVar4 & 2) == 0) { - return 1; - } - uVar2 = FUN_7f04f338(iStack8); - iVar1 = _DAT_80071e38; - if (uVar2 != 0) { - if (*(int *)(iStack8 + 8) << 6 < 0) { - return 1; - } - iStack12 = FUN_7f089e6c(); - iStack44 = *(int *)(iStack12 + 0x14); - fVar7 = *(float *)(iStack8 + 0x58) - *(float *)(iStack12 + 8); - fVar9 = *(float *)(iStack8 + 0x5c) - *(float *)(iStack12 + 0xc); - fVar8 = *(float *)(iStack8 + 0x60) - *(float *)(iStack12 + 0x10); - if ((*(char *)(iStack8 + 3) == '(') && (*(int *)(iStack8 + 8) << 2 < 0)) { - fVar5 = 400.00000000; - fVar6 = DAT_80052f24; - fStack40 = DAT_80052f28; - } - else { - fVar5 = 200.00000000; - fVar6 = DAT_80052f2c; - fStack40 = DAT_80052f30; - } - if (fVar6 <= fVar7 * fVar7 + fVar8 * fVar8) { - return 1; - } - if (fVar5 <= fVar9) { - return 1; - } - if (fVar9 <= -fVar5) { - return 1; - } - fVar7 = loc_7F05AB54(fVar7,fVar8); - fVar8 = FUN_7f08a61c(); - fVar9 = fVar7 - fVar8; - if (fVar7 < fVar8) { - fVar9 = fVar9 + DAT_80052f34; - } - if (DAT_80052f38 < fVar9) { - fVar9 = DAT_80052f3c - fVar9; - } - if (fStack40 < fVar9) { - return 1; - } - iVar1 = param_1; - if (((*(uint *)(iStack8 + 0xc) & 0x800) != 0) && - (lVar3 = sub_7F0B0BE4(&iStack44,*(float *)(iStack12 + 8),*(float *)(iStack12 + 0x10), - *(float *)(param_1 + 8),*(float *)(param_1 + 0x10)), iVar1 = param_1, - lVar3 == 0)) { - return 1; - } - } - _DAT_80071e38 = iVar1; - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 loc_7F04F1F4(char *param_1) - -{ - int iVar1; - ulonglong uVar2; - undefined8 uVar3; - uint uVar4; - int iVar5; - undefined4 uStack8; - - iVar1 = *(int *)(param_1 + 4); - uStack8 = 0; - if (*(char *)(iVar1 + 3) == '\x05') { - FUN_70008e18((longlong)_DAT_80063760,0xba,NULL); - uVar2 = FUN_7f05634c(); - if (uVar2 != 0) { - FUN_7f056328(); - iVar5 = *(int *)(iVar1 + 8); - goto LAB_7f04f5d8; - } - FUN_7f0562c4(); - } - iVar5 = *(int *)(iVar1 + 8); -LAB_7f04f5d8: - if (iVar5 << 0xc < 0) { - uVar3 = FUN_7f050654(param_1,1); - uStack8 = (undefined4)uVar3; - uVar4 = *(uint *)(iVar1 + 100); - } - else { - uVar4 = *(uint *)(iVar1 + 100); - } - *(uint *)(iVar1 + 100) = uVar4 | 0x4000; - loc_7F03E708((int)param_1); - return uStack8; -} - - - -void loc_7F04F230(int param_1,longlong param_2) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 4); - if (param_2 != 0) { - *(byte *)(iVar1 + 2) = *(byte *)(iVar1 + 2) & 0xdf; - return; - } - *(byte *)(iVar1 + 2) = *(byte *)(iVar1 + 2) | 0x20; - return; -} - - - -void locret_7F04F2AC(int param_1,int *param_2,undefined4 *param_3,undefined4 *param_4, - undefined4 *param_5) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 4); - if (*(undefined4 **)(iVar1 + 0x68) == NULL) { - *param_3 = 0; - } - else { - if ((*(uint *)(iVar1 + 8) & 0x100) == 0) { - *param_3 = 0; - } - else { - if ((*(byte *)(iVar1 + 2) & 0x20) == 0) { - *param_3 = **(undefined4 **)(iVar1 + 0x68); - *param_2 = *(int *)(iVar1 + 0x68) + 4; - *param_5 = *(undefined4 *)(*(int *)(iVar1 + 0x68) + 0x48); - *param_4 = *(undefined4 *)(*(int *)(iVar1 + 0x68) + 0x44); - return; - } - *param_3 = 0; - } - } - return; -} - - - -char * FUN_7f04f6b8(char *param_1) - -{ - char *pcVar1; - - pcVar1 = (char *)FUN_7f0c2a88(0xa400); - pcVar1 = locret_7000A844(param_1,pcVar1); - return pcVar1; -} - - - -void loc_7F04F400(char *param_1,undefined4 param_2,longlong param_3) - -{ - char *pcVar1; - - if (true) { - switch(param_2) { - case 1: - case 2: - case 3: - case 0x17: - pcVar1 = (char *)FUN_7f0c2a88(0xa401); - locret_7000A844(param_1,pcVar1); - break; - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - if (param_3 == 1) { - pcVar1 = (char *)FUN_7f0c2a88(0xa402); - locret_7000A844(param_1,pcVar1); - } - else { - pcVar1 = (char *)FUN_7f0c2a88(0xa401); - locret_7000A844(param_1,pcVar1); - } - break; - case 0xf: - case 0x10: - if (param_3 == 1) { - pcVar1 = (char *)FUN_7f0c2a88(0xa403); - locret_7000A844(param_1,pcVar1); - } - else { - pcVar1 = (char *)FUN_7f0c2a88(0xa401); - locret_7000A844(param_1,pcVar1); - } - break; - case 0x16: - case 0x1d: - if (param_3 == 1) { - pcVar1 = (char *)FUN_7f0c2a88(0xa404); - locret_7000A844(param_1,pcVar1); - } - else { - pcVar1 = (char *)FUN_7f0c2a88(0xa401); - locret_7000A844(param_1,pcVar1); - } - } - } - return; -} - - - -char * loc_7F04F778(char *param_1,int param_2,int param_3) - -{ - char *pcVar1; - - pcVar1 = (char *)0x1; - if (((param_2 == 1) || (param_2 == 2)) || (param_2 == 3)) { - pcVar1 = (char *)FUN_7f0c2a88(0xa405); - pcVar1 = locret_7000A844(param_1,pcVar1); - } - else { - if (param_2 == 10) { - pcVar1 = (char *)FUN_7f0c2a88(41999); - locret_7000A844(param_1,pcVar1); - if (param_3 == 1) { - pcVar1 = (char *)FUN_7f0c2a88(42000); - pcVar1 = locret_7000A844(param_1,pcVar1); - } - else { - pcVar1 = (char *)FUN_7f0c2a88(0xa411); - pcVar1 = locret_7000A844(param_1,pcVar1); - } - } - else { - if (param_2 == 0x13) { - if (param_3 == 1) { - pcVar1 = (char *)FUN_7f0c2a88(0xa419); - locret_7000A844(param_1,pcVar1); - } - else { - pcVar1 = (char *)FUN_7f0c2a88(0xa41a); - locret_7000A844(param_1,pcVar1); - } - pcVar1 = (char *)FUN_7f0c2a88(0xa418); - pcVar1 = locret_7000A844(param_1,pcVar1); - } - else { - if (true) { - switch(param_2) { - case 4: - pcVar1 = (char *)FUN_7f0c2a88(0xa406); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 5: - pcVar1 = (char *)FUN_7f0c2a88(0xa409); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 6: - pcVar1 = (char *)FUN_7f0c2a88(0xa40b); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 7: - pcVar1 = (char *)FUN_7f0c2a88(0xa40c); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 8: - pcVar1 = (char *)FUN_7f0c2a88(0xa40d); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 9: - pcVar1 = (char *)FUN_7f0c2a88(0xa40e); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0xb: - pcVar1 = (char *)FUN_7f0c2a88(0xa40a); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0xc: - pcVar1 = (char *)FUN_7f0c2a88(0xa407); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0xd: - pcVar1 = (char *)FUN_7f0c2a88(0xa408); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0xe: - pcVar1 = (char *)FUN_7f0c2a88(0xa413); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0xf: - pcVar1 = (char *)FUN_7f0c2a88(0xa414); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0x10: - pcVar1 = (char *)FUN_7f0c2a88(0xa415); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0x11: - pcVar1 = (char *)FUN_7f0c2a88(0xa416); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0x12: - pcVar1 = (char *)FUN_7f0c2a88(0xa417); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0x14: - pcVar1 = (char *)FUN_7f0c2a88(0xa41b); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0x15: - pcVar1 = (char *)FUN_7f0c2a88(0xa41c); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0x16: - pcVar1 = (char *)FUN_7f0c2a88(0xa41d); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0x17: - pcVar1 = (char *)FUN_7f0c2a88(0xa41f); - pcVar1 = locret_7000A844(param_1,pcVar1); - break; - case 0x1d: - pcVar1 = (char *)FUN_7f0c2a88(0xa41e); - pcVar1 = locret_7000A844(param_1,pcVar1); - } - } - if (1 < param_3) { - pcVar1 = (char *)FUN_7f0c2a88(0xa412); - pcVar1 = locret_7000A844(param_1,pcVar1); - } - } - } - } - return pcVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F04F804(undefined4 param_1) - -{ - if (true) { - switch(param_1) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x11: - case 0x12: - case 0x13: - case 0x16: - case 0x1d: - FUN_70008e18((longlong)_DAT_80063760,0xea,NULL); - break; - case 7: - case 8: - case 9: - case 0x10: - case 0x14: - case 0x15: - case 0x17: - FUN_70008e18((longlong)_DAT_80063760,0xeb,NULL); - break; - case 10: - FUN_70008e18((longlong)_DAT_80063760,0xe9,NULL); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** loc_7F04F914(longlong param_1) - -{ - int **ppiVar1; - - if ((param_1 == 2) || (param_1 == 3)) { - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xe9,NULL); - } - else { - if (((((param_1 == 0x1d) || (param_1 == 0x1c)) || (param_1 == 0x1b)) || - ((param_1 == 0x21 || (param_1 == 0x2f)))) || ((param_1 == 0x30 || (param_1 == 0x22)))) { - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xeb,NULL); - } - else { - if (((param_1 == 0x1a) || (param_1 == 0x57)) || (param_1 == 0x56)) { - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xea,NULL); - } - else { - if (param_1 == 0x16) { - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xf2,NULL); - } - else { - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xe8,NULL); - } - } - } - } - return ppiVar1; -} - - - -char * FUN_7f04fd24(char *param_1,int param_2,longlong param_3) - -{ - ulonglong uVar1; - char *pcVar2; - - *param_1 = '\0'; - if (DAT_80048500 == 0) { - uVar1 = get_num_players(); - if ((longlong)uVar1 < 3) { - FUN_7f04f6b8(param_1); - loc_7F04F400(param_1,param_2,param_3); - } - loc_7F04F778(param_1,param_2,(int)param_3); - pcVar2 = locret_7000A844(param_1,&DAT_80052a04); - } - else { - loc_7F04F778(param_1,param_2,(int)param_3); - uVar1 = get_num_players(); - if ((longlong)uVar1 < 3) { - FUN_7f04f6b8(param_1); - } - pcVar2 = locret_7000A844(param_1,&DAT_80052a00); - } - return pcVar2; -} - - - -char * FUN_7f04fdfc(int param_1,longlong param_2) - -{ - char *pcVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 auStack100 [25]; - - puVar4 = &DAT_80052a08; - puVar2 = auStack100; - do { - puVar5 = puVar4 + 3; - puVar3 = puVar2 + 3; - *puVar2 = *puVar4; - puVar2[1] = puVar4[1]; - puVar2[2] = puVar4[2]; - puVar4 = puVar5; - puVar2 = puVar3; - } while (puVar5 != (undefined4 *)0x80052a68); - *puVar3 = uRam80052a68; - FUN_7f04fd24((char *)auStack100,param_1,param_2); - pcVar1 = FUN_7f08ac40((char *)auStack100); - return pcVar1; -} - - - -void FUN_7f04fe6c(int param_1,longlong param_2,int param_3,int param_4) - -{ - int iVar1; - int iVar2; - - if (0 < param_2) { - iVar1 = FUN_7f06982c(param_1); - iVar2 = FUN_7f0698c0(param_1); - if (iVar1 < iVar2) { - iVar1 = FUN_7f06982c(param_1); - FUN_7f06971c(param_1,iVar1 + (int)param_2); - } - if (param_4 != 0) { - FUN_7f04fdfc(param_1,(longlong)(int)param_2); - } - if (param_3 != 0) { - loc_7F04F804(param_1); - } - if (param_1 == 5) { - FUN_7f08cd68(0x1a); - } - else { - if (param_1 == 7) { - FUN_7f08cd68(0x1d); - FUN_7f08cd68(0x1e); - } - else { - if (param_1 == 8) { - FUN_7f08cd68(0x1c); - } - else { - if (param_1 == 9) { - FUN_7f08cd68(0x1b); - } - else { - if (param_1 == 10) { - FUN_7f08cd68(3); - } - else { - if (param_1 == 0x10) { - FUN_7f08cd68(0x21); - } - else { - if (param_1 == 0x14) { - FUN_7f08cd68(0x2f); - } - else { - if (param_1 == 0x15) { - FUN_7f08cd68(0x30); - } - else { - if (param_1 == 0x16) { - FUN_7f08cd68(0x3d); - } - else { - if (param_1 == 0x1d) { - FUN_7f08cd68(0x58); - } - else { - if (param_1 == 0x17) { - FUN_7f08cd68(0x22); - } - } - } - } - } - } - } - } - } - } - } - } - return; -} - - - -uint loc_7F04FCE8(int param_1) - -{ - ulonglong uVar1; - uint uVar2; - - uVar2 = 1; - if (true) { - switch(*(undefined4 *)(param_1 + 0x80)) { - case 1: - uVar2 = 10; - break; - case 2: - uVar2 = 10; - break; - case 3: - uVar2 = 10; - break; - case 4: - uVar2 = 5; - break; - case 0xc: - uVar2 = 5; - break; - case 0xd: - uVar2 = 3; - break; - case 0xe: - uVar2 = 4; - } - } - if ((1 < uVar2) && (uVar1 = get_num_players(), uVar1 == 1)) { - uVar2 = (uint)((float)uVar2 * DAT_80030b68); - } - return uVar2; -} - - - -uint FUN_7f0500fc(int param_1) - -{ - undefined4 uVar2; - ulonglong uVar1; - uint uVar3; - - uVar2 = FUN_7f069a18((int)*(char *)(param_1 + 0x80)); - uVar3 = 1; - if (*(int *)(param_1 + 8) << 1 < 0) { - uVar3 = 0; - } - else { - if (true) { - switch(uVar2) { - case 1: - uVar3 = 10; - break; - case 2: - uVar3 = 10; - break; - case 3: - uVar3 = 10; - break; - case 4: - uVar3 = 5; - break; - case 0xb: - uVar3 = 3; - break; - case 0xc: - uVar3 = 5; - break; - case 0xd: - uVar3 = 3; - break; - case 0xe: - uVar3 = 4; - } - } - if ((1 < uVar3) && (uVar1 = get_num_players(), uVar1 == 1)) { - uVar3 = (uint)((float)uVar3 * DAT_80030b68); - } - } - return uVar3; -} - - - -char * FUN_7f0501e4(char *param_1,int param_2) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - char *pcVar4; - - bVar1 = false; - if (DAT_80048500 == 0) { - uVar2 = get_num_players(); - if ((longlong)uVar2 < 3) { - pcVar4 = (char *)FUN_7f0c2a88(0xa400); - locret_7000A798(param_1,pcVar4); - } - } - else { - locret_7000A798(param_1,&DAT_80052a6c); - uVar2 = get_num_players(); - if (2 < (longlong)uVar2) { - bVar1 = true; - } - } - if (false) { -switchD_7f050278_caseD_17: - pcVar4 = (char *)FUN_7f0c2a88(0xa43b); - pcVar4 = locret_7000A844(param_1,pcVar4); - } - else { - switch(param_2) { - case 2: - pcVar4 = (char *)FUN_7f0c2a88(0xa420); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 3: - case 0x1a: - case 0x1b: - case 0x1c: - case 0x1d: - case 0x21: - case 0x22: - case 0x2f: - case 0x30: - case 0x3d: - case 0x56: - case 0x57: - case 0x58: - iVar3 = FUN_7f069a18(param_2); - pcVar4 = FUN_7f04fd24(param_1,iVar3,1); - return pcVar4; - case 4: - pcVar4 = (char *)FUN_7f0c2a88(0xa421); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 5: - pcVar4 = (char *)FUN_7f0c2a88(0xa422); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 6: - pcVar4 = (char *)FUN_7f0c2a88(0xa423); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 7: - pcVar4 = (char *)FUN_7f0c2a88(0xa424); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 8: - pcVar4 = (char *)FUN_7f0c2a88(0xa425); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 9: - pcVar4 = (char *)FUN_7f0c2a88(0xa426); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 10: - pcVar4 = (char *)FUN_7f0c2a88(0xa427); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0xb: - pcVar4 = (char *)FUN_7f0c2a88(0xa428); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0xc: - pcVar4 = (char *)FUN_7f0c2a88(0xa429); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0xd: - pcVar4 = (char *)FUN_7f0c2a88(0xa42a); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0xe: - pcVar4 = (char *)FUN_7f0c2a88(0xa42b); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0xf: - pcVar4 = (char *)FUN_7f0c2a88(0xa42c); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x10: - pcVar4 = (char *)FUN_7f0c2a88(0xa42d); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x11: - pcVar4 = (char *)FUN_7f0c2a88(0xa42e); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x12: - pcVar4 = (char *)FUN_7f0c2a88(0xa431); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x13: - pcVar4 = (char *)FUN_7f0c2a88(0xa432); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x14: - pcVar4 = (char *)FUN_7f0c2a88(0xa436); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x15: - pcVar4 = (char *)FUN_7f0c2a88(0xa437); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x16: - pcVar4 = (char *)FUN_7f0c2a88(0xa433); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - default: - goto switchD_7f050278_caseD_17; - case 0x18: - pcVar4 = (char *)FUN_7f0c2a88(0xa42f); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x19: - pcVar4 = (char *)FUN_7f0c2a88(0xa430); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x23: - pcVar4 = (char *)FUN_7f0c2a88(0xa434); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x24: - pcVar4 = (char *)FUN_7f0c2a88(0xa435); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x51: - pcVar4 = (char *)FUN_7f0c2a88(0xa438); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x52: - pcVar4 = (char *)FUN_7f0c2a88(0xa439); - pcVar4 = locret_7000A844(param_1,pcVar4); - break; - case 0x53: - pcVar4 = (char *)FUN_7f0c2a88(0xa43a); - pcVar4 = locret_7000A844(param_1,pcVar4); - } - } - if ((DAT_80048500 != 0) && (!bVar1)) { - pcVar4 = locret_7001389C(param_1); - if (*(char *)((int)pcVar4 + (int)param_1 + -1) == '\n') { - pcVar4 = locret_7001389C(param_1); - *(undefined *)((int)param_1 + (int)pcVar4 + -1) = 0; - } - pcVar4 = (char *)FUN_7f0c2a88(0xa400); - locret_7000A844(param_1,pcVar4); - pcVar4 = locret_7000A844(param_1,&DAT_80052a70); - } - return pcVar4; -} - - - -char * FUN_7f050628(int param_1) - -{ - char *pcVar1; - char acStack100 [100]; - - FUN_7f0501e4(acStack100,param_1); - pcVar1 = FUN_7f08ac40(acStack100); - return pcVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f050654(char *param_1,int param_2) - -{ - bool bVar1; - char cVar2; - int iVar3; - int iVar6; - int iVar7; - ulonglong uVar4; - undefined8 uVar5; - char *pcVar8; - int iVar9; - int iVar10; - uint uVar11; - - iVar3 = *(int *)(param_1 + 4); - if ((*(int *)(_DAT_8007a120 + 0xd8) != 0) || (DAT_800483a4 == 0)) { - return 0; - } - if (false) { -switchD_7f0506c0_caseD_3: - FUN_70008e18((longlong)_DAT_80063760,0xe5,NULL); - if (param_2 == 0) { - iVar9 = 4; - } - else { - pcVar8 = (char *)FUN_7f08e444(iVar3); - if (pcVar8 == NULL) { - pcVar8 = (char *)FUN_7f0c2a88(0xa43f); - } - FUN_7f08ac40(pcVar8); - iVar9 = 4; - } - } - else { - switch(*(undefined *)(iVar3 + 3)) { - default: - goto switchD_7f0506c0_caseD_3; - case 4: - FUN_70008e18((longlong)_DAT_80063760,0xe5,NULL); - if (param_2 != 0) { - pcVar8 = (char *)FUN_7f08e444(iVar3); - if (pcVar8 == NULL) { - pcVar8 = (char *)FUN_7f0c2a88(0xa43c); - } - FUN_7f08ac40(pcVar8); - } - iVar9 = 4; - break; - case 7: - uVar11 = loc_7F04FCE8(iVar3); - FUN_7f04fe6c(*(int *)(iVar3 + 0x80),(longlong)(int)uVar11,1,param_2); - iVar9 = 1; - break; - case 8: - bVar1 = false; - loc_7F04F914((longlong)*(char *)(iVar3 + 0x80)); - if (*(char *)(iVar3 + 0x80) == '\x1d') { - FUN_7f08cd68(0x1e); - } - else { - if (*(char *)(iVar3 + 0x80) == 'X') { - FUN_7f05de34(0,0x58); - } - } - if ((*(uint *)(iVar3 + 100) & 0x400) == 0) { - uVar4 = loc_7F08C85C(param_1); - bVar1 = uVar4 != 0; - if (param_2 != 0) { - pcVar8 = (char *)FUN_7f08e48c((int)*(char *)(iVar3 + 0x80)); - if (pcVar8 == NULL) { - if (bVar1) { - FUN_7f050628((int)*(char *)(iVar3 + 0x80)); - } - } - else { - bVar1 = true; - FUN_7f08ac40(pcVar8); - } - } - iVar9 = 1; - cVar2 = *(char *)(iVar3 + 0x80); - } - else { - if (*(char *)(iVar3 + 0x80) < '!') { - loc_7F08C85C(param_1); - } - if (param_2 != 0) { - pcVar8 = (char *)FUN_7f08e444(iVar3); - if (pcVar8 == NULL) { - FUN_7f050628((int)*(char *)(iVar3 + 0x80)); - } - else { - FUN_7f08ac40(pcVar8); - } - bVar1 = true; - } - iVar9 = 4; - cVar2 = *(char *)(iVar3 + 0x80); - } - iVar6 = FUN_7f069a18((int)cVar2); - if ((iVar6 != 0) && (uVar11 = FUN_7f0500fc(iVar3), 0 < (int)uVar11)) { - iVar10 = FUN_7f06982c(iVar6); - iVar7 = FUN_7f0698c0(iVar6); - if (iVar10 < iVar7) { - iVar10 = FUN_7f06982c(iVar6); - FUN_7f06971c(iVar6,iVar10 + uVar11); - if ((!bVar1) && (param_2 != 0)) { - FUN_7f04fdfc(iVar6,(longlong)(int)uVar11); - } - } - } - break; - case 0x14: - iVar9 = 1; - iVar6 = 0; - iVar10 = iVar3; - while( true ) { - iVar7 = iVar9; - iVar9 = iVar7; - if (iVar6 == 1) { - iVar9 = 1; - } - uVar11 = (uint)*(ushort *)(iVar10 + 0x82); - uVar4 = get_num_players(); - if (uVar4 == 1) { - uVar11 = (uint)((float)uVar11 * DAT_80030b68); - } - FUN_7f04fe6c(iVar9,(longlong)(int)uVar11,0,param_2); - iVar10 += 4; - if (iVar7 == 0xd) break; - iVar9 = iVar7 + 1; - iVar6 = iVar7; - } - FUN_70008e18((longlong)_DAT_80063760,0xea,NULL); - iVar9 = 1; - break; - case 0x15: - FUN_7f08aa44(*(float *)(iVar3 + 0x84)); - FUN_70008e18((longlong)_DAT_80063760,0x51,NULL); - if (param_2 != 0) { - pcVar8 = (char *)FUN_7f08e444(iVar3); - if (pcVar8 == NULL) { - uVar4 = get_num_players(); - if ((longlong)uVar4 < 3) { - pcVar8 = (char *)FUN_7f0c2a88(0xa43d); - } - else { - pcVar8 = (char *)FUN_7f0c2a88(0xa43e); - } - } - FUN_7f08ac40(pcVar8); - } - iVar9 = 1; - } - } - if ((iVar9 == 1) && ((*(uint *)(iVar3 + 100) & 0x10) == 0)) { - loc_7F041010(iVar3,0,(ulonglong)*(byte *)(iVar3 + 2) & 4); - uVar5 = 1; - } - else { - uVar5 = 0; - if (iVar9 != 0) { - FUN_7f08d01c((int)param_1); - uVar5 = 4; - } - } - return uVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f050ae0(char *pcParm1) - -{ - char cVar1; - bool bVar2; - longlong lVar3; - ulonglong uVar4; - undefined8 uVar5; - uint uVar6; - undefined4 uVar7; - int iVar8; - int iVar9; - int iVar10; - char *pcVar11; - undefined4 uVar12; - int iVar13; - int iVar14; - float in_f0; - float fVar15; - float fVar16; - float fVar17; - int aiStack76 [8]; - int iStack44; - int iStack28; - int iStack4; - - iStack4 = *(int *)(pcParm1 + 4); - lVar3 = FUN_7f04e410(iStack4); - if ((lVar3 == 0) || (*(char *)(iStack4 + 3) == '\x11')) { - iVar10 = *(int *)(iStack4 + 8); - if (iVar10 << 0xd < 0) goto LAB_7f050b4c; - } - else { - iVar10 = *(int *)(iStack4 + 8); - if (-1 < iVar10 << 0xb) { -LAB_7f050b4c: - if (((-1 < iVar10 << 0xc) && - ((((*(uint *)(iStack4 + 100) & 0x80) == 0 || - (*(int *)(*(int *)(iStack4 + 0x6c) + 0xbc) < 1)) || - (*(int *)(*(int *)(iStack4 + 0x6c) + 0x90) != 0)))) && - (lVar3 = FUN_7f03eaac(iStack4), lVar3 != 0)) { - cVar1 = *(char *)(iStack4 + 3); - if (cVar1 == '\b') { - iVar10 = *(int *)(pcParm1 + 4); - cVar1 = *(char *)(iVar10 + 0x80); - if (((((cVar1 == '\x1a') || (cVar1 == 'W')) && - ((-1 < *(short *)(iVar10 + 0x82) || ((*(uint *)(iStack4 + 100) & 4) != 0)))) || - ((((cVar1 == '\x1d' || (cVar1 == '\x1c')) || - ((cVar1 == '\x1b' || - ((((cVar1 == '!' || (cVar1 == '/')) || (cVar1 == '0')) || (cVar1 == '\"')))))) && - ((-1 < *(short *)(iVar10 + 0x82) || ((*(uint *)(iStack4 + 100) & 4) != 0)))))) || - ((cVar1 == 'V' && ((*(uint *)(iStack4 + 100) & 0x80) != 0)))) goto LAB_7f051218; - uVar4 = FUN_7f08cba4((int)cVar1); - if ((uVar4 != 0) && (iVar8 = FUN_7f069a18((int)*(char *)(iVar10 + 0x80)), iVar8 != 0)) { - iVar8 = FUN_7f069a3c((int)*(char *)(iVar10 + 0x80)); - iVar9 = FUN_7f069a9c((int)*(char *)(iVar10 + 0x80)); - if (iVar9 <= iVar8) { - iVar8 = *(int *)(iVar10 + 0x84); - if ((iVar8 != 0) || (-1 < *(char *)(iVar10 + 0x81))) { - if (iVar8 == 0) { - cVar1 = *(char *)(iVar10 + 0x81); - } - else { - cVar1 = *(char *)(iVar8 + 0x80); - } - if (*(int *)(iVar10 + 8) << 3 < 0) { - iVar8 = (int)*(char *)(iVar10 + 0x80); - iVar10 = (int)cVar1; - } - else { - iVar10 = (int)*(char *)(iVar10 + 0x80); - iVar8 = (int)cVar1; - } - uVar4 = FUN_7f08cc2c(iVar10,iVar8); - if (uVar4 == 0) goto LAB_7f050ff0; - } - goto LAB_7f051218; - } - } - } - else { - if (cVar1 == '\a') { - iVar10 = *(int *)(pcParm1 + 4); - iVar8 = FUN_7f06982c(*(int *)(iVar10 + 0x80)); - iVar9 = FUN_7f0698c0(*(int *)(iVar10 + 0x80)); - if (iVar9 <= iVar8) { - iVar8 = *(int *)(iVar10 + 0x80); - if (iVar8 == 5) { - uVar4 = FUN_7f08cba4(0x1a); - if (uVar4 == 0) goto LAB_7f050ff0; - iVar8 = *(int *)(iVar10 + 0x80); - } - if (iVar8 == 7) { - uVar4 = FUN_7f08cba4(0x1d); - if (uVar4 == 0) goto LAB_7f050ff0; - iVar8 = *(int *)(iVar10 + 0x80); - } - if (iVar8 == 8) { - uVar4 = FUN_7f08cba4(0x1c); - if (uVar4 == 0) goto LAB_7f050ff0; - iVar8 = *(int *)(iVar10 + 0x80); - } - if (iVar8 == 9) { - uVar4 = FUN_7f08cba4(0x1b); - if (uVar4 == 0) goto LAB_7f050ff0; - iVar8 = *(int *)(iVar10 + 0x80); - } - if ((iVar8 != 10) || (uVar4 = FUN_7f08cba4(3), uVar4 != 0)) goto LAB_7f051218; - } - } - else { - if (cVar1 == '\x14') { - iVar10 = *(int *)(pcParm1 + 4); - iStack28 = 1; - iVar8 = loc_7F03FFDC(iStack4); - if (iVar8 == 0) { - iVar9 = 0; - iVar8 = 0; - do { - iVar13 = iVar8 + 1; - iVar14 = iVar13; - if (CONCAT44(iVar9,iVar8) == 1) { - iVar14 = 1; - } - if (*(short *)(iVar10 + 0x82) != 0) { - iVar8 = FUN_7f06982c(iVar14); - iVar9 = FUN_7f0698c0(iVar14); - if (iVar8 < iVar9) { - iStack28 = 0; - break; - } - if ((((((iVar14 == 5) && (uVar4 = FUN_7f08cba4(0x1a), uVar4 == 0)) || - ((iVar14 == 7 && (uVar4 = FUN_7f08cba4(0x1d), uVar4 == 0)))) || - ((iVar14 == 8 && (uVar4 = FUN_7f08cba4(0x1c), uVar4 == 0)))) || - ((iVar14 == 9 && (uVar4 = FUN_7f08cba4(0x1b), uVar4 == 0)))) || - ((iVar14 == 10 && (uVar4 = FUN_7f08cba4(3), uVar4 == 0)))) { - iStack28 = 0; - break; - } - } - iVar9 = iVar13 >> 0x1f; - iVar10 += 4; - iVar8 = iVar13; - } while (iVar13 != 0xd); - if (iStack28 == 0) goto LAB_7f050ff0; - } - goto LAB_7f051218; - } - if (cVar1 == '\x15') { - iVar10 = *(int *)(pcParm1 + 4); - iStack44 = 0; - FUN_7f08aa34(); - if (*(float *)(iVar10 + 0x84) <= in_f0) { - iStack44 = 1; - } - else { - uVar4 = get_num_players(); - if (1 < (longlong)uVar4) { - iVar10 = FUN_7f014808(); - if ((iVar10 == 2) && (uVar4 = FUN_7f08d8e4(), uVar4 != 0)) { - iStack44 = 1; - } - else { - if ((iVar10 == 3) && (lVar3 = FUN_7f08d924(), lVar3 != 0)) { - iStack44 = 1; - } - } - } - } - if (iStack44 != 0) goto LAB_7f051218; - } - } - } -LAB_7f050ff0: - fVar15 = FUN_7f08a648(); - if ((DAT_80053310 <= fVar15) || (-1 < *(int *)(_DAT_8007a120 + 0x1270))) { - iVar10 = FUN_7f089e6c(); - fVar15 = *(float *)(iStack4 + 0x58) - *(float *)(iVar10 + 8); - fVar17 = *(float *)(iStack4 + 0x5c) - *(float *)(iVar10 + 0xc); - fVar16 = *(float *)(iStack4 + 0x60) - *(float *)(iVar10 + 0x10); - if (*(int *)(_DAT_8007a120 + 0x1270) < 0x3c) { - bVar2 = fVar15 * fVar15 + fVar16 * fVar16 <= DAT_80053318; - if ((bVar2) && (bVar2 = -200.00000000 <= fVar17, bVar2)) { - if (200.00000000 < fVar17) { - bVar2 = false; - } - else { - bVar2 = true; - } - } - } - else { - bVar2 = fVar15 * fVar15 + fVar16 * fVar16 <= DAT_80053314; - if (((bVar2) && (bVar2 = -500.00000000 <= fVar17, bVar2)) && - (bVar2 = false, fVar17 <= 500.00000000)) { - bVar2 = true; - } - } - if (bVar2) { - iVar8 = (int)pcParm1 >> 0x1f; - if ((*(uint *)(iStack4 + 0xc) & 0x1000) == 0) { - aiStack76[0] = *(int *)(iVar10 + 0x14); - pcVar11 = pcParm1; - uVar6 = loc_7F0B13B4(aiStack76,*(float *)(iVar10 + 8),*(float *)(iVar10 + 0x10), - *(float *)(pcParm1 + 8),*(float *)(pcParm1 + 0x10),2,30.00000000, - 30.00000000,0.00000000,1.00000000); - if ((CONCAT44(iVar8,(uint)pcVar11 & 0xffffff00 | uVar6 >> 0x18) == 0) || - (aiStack76[0] != *(int *)(pcParm1 + 0x14))) { - bVar2 = false; - } - } - } - if (bVar2) { - uVar5 = FUN_7f050654(pcParm1,1); - uVar7 = (undefined4)((ulonglong)uVar5 >> 0x20); - uVar12 = (undefined4)uVar5; - goto LAB_7f05121c; - } - } - } - } - } -LAB_7f051218: - uVar12 = 0; - uVar7 = 0; -LAB_7f05121c: - return CONCAT44(uVar7,uVar12); -} - - - -undefined8 loc_7F050DD8(int param_1,undefined4 *param_2,float *param_3,float *param_4) - -{ - int iVar1; - undefined8 uVar2; - int iVar3; - - if ((*(byte *)(param_1 + 1) & 2) == 0) { - uVar2 = 0; - } - else { - iVar1 = *(int *)(param_1 + 4); - iVar3 = FUN_7f06cc90(*(int *)(iVar1 + 0x14),(uint)param_2,param_3,param_4); - param_2[2] = *(undefined4 *)(iVar3 + 0x38); - if ((float)param_2[2] < 0.00000000) { - *param_2 = *(undefined4 *)(iVar3 + 0x30); - param_2[1] = *(undefined4 *)(iVar3 + 0x34); - *param_4 = 0.00000000; - param_4[1] = 0.00000000; - *param_3 = 0.00000000; - param_3[1] = 0.00000000; - FUN_7f03fc0c(*(int *)(iVar1 + 0x14),param_3 + 1,param_3,param_4 + 1,param_4); - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -void loc_7F050F20(int param_1) - -{ - ushort **ppuVar1; - int iVar2; - uint *puVar4; - longlong lVar3; - ushort uVar5; - ushort *puVar6; - ushort *puVar7; - - ppuVar1 = *(ushort ***)(param_1 + 8); - puVar6 = *ppuVar1; - if (puVar6 != NULL) { - uVar5 = *puVar6; - while( true ) { - uVar5 &= 0xff; - if (uVar5 == 8) { - FUN_7f06ef60(param_1,puVar6); - puVar7 = *(ushort **)(puVar6 + 10); - } - else { - if (uVar5 == 0x12) { - FUN_7f06efac(param_1,puVar6); - puVar7 = *(ushort **)(puVar6 + 10); - } - else { - if (uVar5 == 0x17) { - FUN_7f06eff8(param_1,puVar6); - puVar7 = *(ushort **)(puVar6 + 10); - } - else { - if (uVar5 == 0x18) { - iVar2 = *(int *)(puVar6 + 2); - puVar4 = (uint *)loc_7F06C888(param_1,puVar6); - if ((*(uint *)(iVar2 + 8) != *puVar4) && - (lVar3 = FUN_7f04b994((int)ppuVar1,(int)puVar6), lVar3 != 0)) { - FUN_7f09cbe4(*puVar4); - *puVar4 = *(uint *)(iVar2 + 8); - } - puVar7 = *(ushort **)(puVar6 + 10); - } - else { - puVar7 = *(ushort **)(puVar6 + 10); - } - } - } - } - if ((puVar7 == NULL) && (puVar7 = puVar6, puVar6 != NULL)) { - puVar7 = *(ushort **)(puVar6 + 6); - while ((puVar7 == NULL && - (puVar6 = *(ushort **)(puVar6 + 4), puVar7 = puVar6, puVar6 != NULL))) { - puVar7 = *(ushort **)(puVar6 + 6); - } - } - if (puVar7 == NULL) break; - uVar5 = *puVar7; - puVar6 = puVar7; - } - } - return; -} - - - -undefined * -loc_7F051014(ushort *param_1,int param_2,ushort **param_3,undefined *param_4,uint param_5) - -{ - int iVar1; - undefined *puVar2; - float fVar3; - - puVar2 = loc_7F0406E4((int)param_1,param_3,param_4,param_5); - if ((puVar2 != NULL) && (iVar1 = *(int *)(param_1 + 10), iVar1 != 0)) { - fVar3 = (float)(uint)*param_1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - set_obj_instance_controller_scale(iVar1,*(float *)(iVar1 + 0x14) * fVar3 * 0.00390625); - *(undefined4 *)(*(int *)(param_1 + 10) + 0x18) = *(undefined4 *)(param_2 + 0x1c); - *(undefined4 *)(*(int *)(param_1 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(param_2 + 0x1c) + 8) + 8) + 0x18); - loc_7F03A5C0((int)puVar2,*(int *)(param_2 + 0x18)); - *(undefined **)(param_2 + 0x1d8) = puVar2; - } - return puVar2; -} - - - -undefined * FUN_7f051524(ushort *param_1,int param_2) - -{ - ushort uVar1; - undefined *puVar2; - - uVar1 = param_1[2]; - FUN_7f057138((int)(short)uVar1); - puVar2 = loc_7F051014(param_1,param_2,(ushort **)(&PTR_DAT_8003a258)[(int)(short)uVar1 * 3],NULL,0 - ); - return puVar2; -} - - - -undefined * FUN_7f051580(ushort *param_1,int param_2) - -{ - undefined *puVar1; - - *(float *)(param_1 + 0x3a) = (float)*(int *)(param_1 + 0x3a) / 65536.00000000; - puVar1 = FUN_7f051524(param_1,param_2); - return puVar1; -} - - - -undefined * FUN_7f0515bc(undefined2 *param_1,int param_2,uint param_3) - -{ - undefined4 *puVar1; - uint uVar2; - undefined4 *puVar3; - undefined *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 auStack144 [30]; - undefined4 auStack24 [5]; - ushort **ppuStack4; - - ppuStack4 = (ushort **)(&PTR_DAT_8003a258)[param_2 * 3]; - FUN_7f057138(param_2); - puVar4 = (undefined *)FUN_7f03a730(); - uVar2 = FUN_7f06c684(ppuStack4); - puVar3 = (undefined4 *) - FUN_7f051aac((ulonglong)(puVar4 == NULL),(ulonglong)(uVar2 == 0),(int)ppuStack4); - if (puVar4 == NULL) { - puVar4 = (undefined *)FUN_7f03a730(); - } - if (uVar2 == 0) { - uVar2 = FUN_7f06c684(ppuStack4); - } - if (((puVar3 == NULL) || (puVar4 == NULL)) || (uVar2 == 0)) { - if (uVar2 != 0) { - FUN_7f06c824(uVar2); - } - if (puVar4 != NULL) { - FUN_7f03a784((int)puVar4); - puVar4 = NULL; - } - } - else { - puVar6 = &DAT_80032154; - puVar1 = auStack144; - do { - puVar5 = puVar1; - puVar7 = puVar6; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar6 = puVar7 + 3; - puVar1 = puVar5 + 3; - } while (puVar7 + 3 != (undefined4 *)0x800321cc); - puVar5[3] = uRam800321cc; - puVar5[4] = puVar7[4]; - puVar6 = auStack144; - puVar1 = puVar3; - do { - puVar7 = puVar1; - puVar5 = puVar6; - puVar6 = puVar5 + 3; - *puVar7 = *puVar5; - puVar7[1] = puVar5[1]; - puVar7[2] = puVar5[2]; - puVar1 = puVar7 + 3; - } while (puVar6 != auStack24); - puVar7[3] = *puVar6; - puVar7[4] = puVar5[4]; - *(short *)(puVar3 + 1) = (short)param_2; - puVar3[2] = param_3 | 0x4000; - *(undefined2 *)((int)puVar3 + 6) = *param_1; - puVar4 = loc_7F051014((ushort *)puVar3,(int)param_1,ppuStack4,puVar4,uVar2); - } - return puVar4; -} - - - -int loc_7F051578(int param_1,longlong param_2,int param_3) - -{ - int iVar1; - char cVar3; - ulonglong uVar2; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iStack20; - int iStack16; - int aiStack12 [2]; - int iStack4; - - aiStack12[0] = 0; - iStack16 = 0; - iStack20 = -1; - iVar5 = -1; - iVar7 = -1; - iVar4 = DAT_80030b38; - do { - iVar1 = iVar4 * 0x88; - iVar6 = *(int *)(&DAT_80071ed0 + iVar1); - if (iVar6 == 0) { - if (param_1 == 0) { - iVar6 = iVar4; - if (param_2 == 0) break; - iVar4 += 1; - } - else { - iVar4 += 1; - } - } - else { - if ((*(uint *)(iVar1 + -0x7ff8e0dc) & 0x80) == 0) { - if ((*(byte *)(iVar1 + -0x7ff8e13e) & 4) == 0) { - if (*(short *)(iVar1 + -0x7ff8e0be) < 1) { - if (*(int *)(iVar6 + 0x1c) != 0) { - cVar3 = *(char *)(iVar1 + -0x7ff8e0c0); - goto LAB_7f051820; - } -LAB_7f051868: - if (param_2 == 0) { -LAB_7f0518a4: - if (((*(byte *)(iVar6 + 1) & 2) == 0) && (iVar5 < 0)) { - iVar5 = iVar4; - } - iVar6 = iVar4; - if (-1 < iVar7) { - iVar4 += 1; - goto LAB_7f0518d0; - } - } - else { - iStack4 = iVar4; - uVar2 = locret_7F06C08C(*(int *)(iVar1 + -0x7ff8e12c),param_3); - iVar4 = iStack4; - iVar6 = iVar7; - if (uVar2 != 0) { - iVar6 = *(int *)(&DAT_80071ed0 + iVar1); - iVar4 = iStack4; - goto LAB_7f0518a4; - } - } - iVar4 += 1; - iVar7 = iVar6; - } - else { - cVar3 = *(char *)(iVar1 + -0x7ff8e0c0); -LAB_7f051820: - if (((cVar3 == '\x1d') || (cVar3 == '\x1c')) || (cVar3 == '\x1b')) { - if (((*(char **)(iVar6 + 0x1c) == NULL) || - (cVar3 = **(char **)(iVar6 + 0x1c), cVar3 == '\x01')) || - ((cVar3 == '\x02' || (cVar3 == '\x04')))) goto LAB_7f051868; - iVar4 += 1; - } - else { - iVar4 += 1; - } - } - } - else { - iVar4 += 1; - } - } - else { - iVar4 += 1; - } - } -LAB_7f0518d0: - iVar4 %= 0x1e; - iVar6 = iStack20; - } while (iVar4 != DAT_80030b38); - iStack20 = iVar6; - if (iStack20 < 0) { - iVar4 = FUN_7f057408(8,aiStack12,&iStack16,(longlong)param_1,(int)param_2,param_3); - if (iVar4 == 0) { - if (iVar5 < 0) { - if (aiStack12[0] == 0) { - if (iVar7 < 0) { - if (iStack16 == 0) { - iVar4 = 0; - } - else { - iVar4 = iStack16; - if (*(int *)(iStack16 + 0x10) != 0) { - FUN_7f041324(iStack16,1); - iVar4 = iStack16; - } - } - } - else { - iVar4 = iVar7 * 0x88; - if (*(int *)(&DAT_80071ed0 + iVar4) != 0) { - FUN_7f041324(iVar4 + -0x7ff8e140,1); - } - DAT_80030b38 = (iVar7 + 1) % 0x1e; - iVar4 = iVar4 + -0x7ff8e140; - } - } - else { - iVar4 = aiStack12[0]; - if (*(int *)(aiStack12[0] + 0x10) != 0) { - FUN_7f041324(aiStack12[0],1); - iVar4 = aiStack12[0]; - } - } - } - else { - iVar4 = iVar5 * 0x88; - if (*(int *)(&DAT_80071ed0 + iVar4) != 0) { - FUN_7f041324(iVar4 + -0x7ff8e140,1); - } - DAT_80030b38 = (iVar5 + 1) % 0x1e; - iVar4 = iVar4 + -0x7ff8e140; - } - } - } - else { - DAT_80030b38 = (iStack20 + 1) % 0x1e; - iVar4 = iStack20 * 0x88 + -0x7ff8e140; - } - return iVar4; -} - - - -int FUN_7f051a84(void) - -{ - int iVar1; - - iVar1 = loc_7F051578(0,0,0); - return iVar1; -} - - - -int FUN_7f051aac(longlong param_1,longlong param_2,int param_3) - -{ - byte bVar1; - ulonglong uVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iStack20; - int iStack16; - int aiStack12 [2]; - int iStack4; - - aiStack12[0] = 0; - iStack16 = 0; - iStack20 = -1; - iVar6 = -1; - iVar8 = -1; - iVar3 = DAT_80030b3c; - do { - iVar5 = iVar3 * 0x80; - iVar4 = *(int *)(&DAT_80072ec0 + iVar5); - if (iVar4 == 0) { - if (param_1 == 0) { - iVar4 = iVar3; - if (param_2 == 0) break; - iVar4 = iVar3 + 1; - } - else { - iVar4 = iVar3 + 1; - } - } - else { - if ((*(uint *)(iVar5 + -0x7ff8d0ec) & 0x80) == 0) { - if (*(int *)(iVar4 + 0x1c) == 0) { - if (param_2 == 0) { - bVar1 = *(byte *)(iVar4 + 1); -LAB_7f051b84: - if (((bVar1 & 2) == 0) && (iVar6 < 0)) { - iVar6 = iVar3; - } - iVar7 = iVar3; - if (-1 < iVar8) { - iVar4 = iVar3 + 1; - goto LAB_7f051bac; - } - } - else { - iStack4 = iVar3; - uVar2 = locret_7F06C08C(*(int *)(iVar5 + -0x7ff8d13c),param_3); - param_1 = (longlong)(int)param_1; - iVar3 = iStack4; - iVar7 = iVar8; - if (uVar2 != 0) { - bVar1 = *(byte *)(*(int *)(&DAT_80072ec0 + iVar5) + 1); - iVar3 = iStack4; - goto LAB_7f051b84; - } - } - iVar4 = iVar3 + 1; - iVar8 = iVar7; - } - else { - iVar4 = iVar3 + 1; - } - } - else { - iVar4 = iVar3 + 1; - } - } -LAB_7f051bac: - iVar3 = iVar4 % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - iVar4 = iStack20; - } while (iVar3 != DAT_80030b3c); - iStack20 = iVar4; - if (iStack20 < 0) { - iVar3 = FUN_7f057408(0x11,aiStack12,&iStack16,param_1,(int)param_2,param_3); - if (iVar3 == 0) { - if (iVar6 < 0) { - if (aiStack12[0] == 0) { - if (iVar8 < 0) { - if (iStack16 == 0) { - iVar3 = 0; - } - else { - iVar3 = iStack16; - if (*(int *)(iStack16 + 0x10) != 0) { - FUN_7f041324(iStack16,1); - iVar3 = iStack16; - } - } - } - else { - if (*(int *)(&DAT_80072ec0 + iVar8 * 0x80) != 0) { - FUN_7f041324(iVar8 * 0x80 + -0x7ff8d150,1); - } - DAT_80030b3c = (iVar8 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar8 + 1 == -0x80000000)) { - trap(0x1800); - } - iVar3 = iVar8 * 0x80 + -0x7ff8d150; - } - } - else { - iVar3 = aiStack12[0]; - if (*(int *)(aiStack12[0] + 0x10) != 0) { - FUN_7f041324(aiStack12[0],1); - iVar3 = aiStack12[0]; - } - } - } - else { - if (*(int *)(&DAT_80072ec0 + iVar6 * 0x80) != 0) { - FUN_7f041324(iVar6 * 0x80 + -0x7ff8d150,1); - } - DAT_80030b3c = (iVar6 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 + 1 == -0x80000000)) { - trap(0x1800); - } - iVar3 = iVar6 * 0x80 + -0x7ff8d150; - } - } - } - else { - DAT_80030b3c = (iStack20 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iStack20 + 1 == -0x80000000)) { - trap(0x1800); - } - iVar3 = iStack20 * 0x80 + -0x7ff8d150; - } - return iVar3; -} - - - -int FUN_7f051da4(void) - -{ - int iVar1; - - iVar1 = FUN_7f051aac(0,0,0); - return iVar1; -} - - - -int FUN_7f051dcc(void) - -{ - int *piVar1; - int iVar2; - undefined *puVar3; - - puVar3 = (undefined *)0x800733b0; - iVar2 = 0; - do { - piVar1 = (int *)(puVar3 + 0x10); - puVar3 = puVar3 + 0x84; - if (*piVar1 == 0) { - return iVar2 + -0x7ff8cc50; - } - iVar2 += 0x84; - } while (puVar3 < &DAT_80073e00); - puVar3 = (undefined *)0x800733b0; - iVar2 = 0; - while (((((*(uint *)(puVar3 + 100) & 0x80) != 0 || ((puVar3[2] & 4) != 0)) || - (*(int *)(*(int *)(puVar3 + 0x10) + 0x1c) != 0)) || - ((*(byte *)(*(int *)(puVar3 + 0x10) + 1) & 2) != 0))) { - puVar3 = puVar3 + 0x84; - iVar2 += 0x84; - if (&DAT_80073e00 <= puVar3) { - puVar3 = (undefined *)0x800733b0; - iVar2 = 0; - while ((((*(uint *)(puVar3 + 100) & 0x80) != 0 || ((puVar3[2] & 4) != 0)) || - (*(int *)(*(int *)(puVar3 + 0x10) + 0x1c) != 0))) { - puVar3 = puVar3 + 0x84; - iVar2 += 0x84; - if (puVar3 == &DAT_80073e00) { - return 0; - } - } - FUN_7f041324((int)puVar3,1); - return iVar2 + -0x7ff8cc50; - } - } - FUN_7f041324((int)puVar3,1); - return iVar2 + -0x7ff8cc50; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f051f14(void) - -{ - uint uVar1; - int **ppiVar2; - - uVar1 = get_cur_playernum(); - DAT_80030b34 |= 1 << (uVar1 & 0x1f); - ppiVar2 = FUN_70008e18((longlong)_DAT_80063760,0xf3,NULL); - return ppiVar2; -} - - - -int loc_7F051ADC(char param_1,char *param_2) - -{ - char *param_2_00; - int iVar1; - - if (*param_2 == '\x04') { - if (param_1 == *(char *)(*(int *)(param_2 + 4) + 0x80)) { - return *(int *)(param_2 + 4); - } - param_2_00 = *(char **)(param_2 + 0x20); - } - else { - param_2_00 = *(char **)(param_2 + 0x20); - } - while( true ) { - if (param_2_00 == NULL) { - return 0; - } - iVar1 = loc_7F051ADC(param_1,param_2_00); - if (iVar1 != 0) break; - param_2_00 = *(char **)(param_2_00 + 0x24); - } - return iVar1; -} - - - -int FUN_7f051fe8(char param_1) - -{ - char *pcVar1; - int iVar2; - - pcVar1 = (char *)FUN_7f03a724(); - while( true ) { - while( true ) { - if (pcVar1 == NULL) { - return 0; - } - iVar2 = loc_7F051ADC(param_1,pcVar1); - if (iVar2 != 0) break; - pcVar1 = *(char **)(pcVar1 + 0x24); - } - if ((*(uint *)(iVar2 + 100) & 0x80) == 0) break; - pcVar1 = *(char **)(pcVar1 + 0x24); - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f052058(int param_1) - -{ - int *piVar1; - int iVar2; - - piVar1 = (int *)&DAT_80071e40; - iVar2 = _DAT_80071e40; - while( true ) { - if (iVar2 == 0) { - *piVar1 = param_1; - return; - } - piVar1 = piVar1 + 1; - if (piVar1 == (int *)&DAT_80071eb8) break; - iVar2 = *piVar1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f052090(int param_1) - -{ - int *piVar1; - int iVar2; - - piVar1 = (int *)&DAT_80071e40; - iVar2 = _DAT_80071e40; - while( true ) { - if (param_1 == iVar2) { - *piVar1 = 0; - return; - } - piVar1 = piVar1 + 1; - if (piVar1 == (int *)&DAT_80071eb8) break; - iVar2 = *piVar1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0520c8(float *param_1) - -{ - float fVar1; - int iVar2; - int *piVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar1 = DAT_8005331c; - piVar3 = (int *)&DAT_80071e40; - iVar2 = _DAT_80071e40; - while( true ) { - if (iVar2 == 0) { - iVar2 = piVar3[1]; - } - else { - if (*(short *)(iVar2 + 0x82) == 1) { - fVar4 = *param_1 - *(float *)(iVar2 + 0x58); - fVar5 = param_1[1] - *(float *)(iVar2 + 0x5c); - fVar6 = param_1[2] - *(float *)(iVar2 + 0x60); - if (fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6 < fVar1) { - *(undefined2 *)(iVar2 + 0x82) = 0; - iVar2 = piVar3[1]; - } - else { - iVar2 = piVar3[1]; - } - } - else { - iVar2 = piVar3[1]; - } - } - piVar3 = piVar3 + 2; - if (((iVar2 != 0) && (*(short *)(iVar2 + 0x82) == 1)) && - (fVar4 = *param_1 - *(float *)(iVar2 + 0x58), fVar5 = param_1[1] - *(float *)(iVar2 + 0x5c), - fVar6 = param_1[2] - *(float *)(iVar2 + 0x60), - fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6 < fVar1)) { - *(undefined2 *)(iVar2 + 0x82) = 0; - } - if (piVar3 == (int *)&DAT_80071eb8) break; - iVar2 = *piVar3; - } - return; -} - - - -void FUN_7f0521c4(void) - -{ - int iVar1; - int iVar2; - int iVar3; - float afStack24 [6]; - - iVar1 = FUN_7f01f6e0(); - iVar3 = 0; - if (0 < iVar1) { - do { - iVar2 = iVar3 + DAT_8002cca4; - if ((*(int *)(iVar2 + 0x1c) != 0) && ((*(ushort *)(iVar2 + 0x12) & 0x200) != 0)) { - loc_7F028A4C(iVar2,afStack24); - FUN_7f0520c8(afStack24); - } - iVar3 += 0x1dc; - } while (iVar3 < iVar1 * 0x1dc); - } - return; -} - - - -void link_objects(int param_1,int param_2) - -{ - undefined uVar1; - undefined uVar2; - - uVar1 = *(undefined *)(param_2 + 0x80); - uVar2 = *(undefined *)(param_1 + 0x80); - *(int *)(param_1 + 0x84) = param_2; - *(undefined *)(param_1 + 0x81) = uVar1; - *(int *)(param_2 + 0x84) = param_1; - *(undefined *)(param_2 + 0x81) = uVar2; - return; -} - - - -undefined * FUN_7f05228c(int param_1,ushort **param_2,undefined *param_3,uint param_4) - -{ - undefined *puVar1; - - puVar1 = loc_7F0406E4(param_1,param_2,param_3,param_4); - if (puVar1 != NULL) { - *puVar1 = 4; - loc_7F0525F8((int)puVar1,0); - } - return puVar1; -} - - - -undefined * FUN_7f0522d4(int param_1,ushort **param_2) - -{ - undefined *puVar1; - - puVar1 = FUN_7f0409f8(param_1,param_2); - if (puVar1 != NULL) { - *puVar1 = 4; - loc_7F0525F8((int)puVar1,0); - } - return puVar1; -} - - - -undefined8 loc_7F051F20(int param_1,int param_2) - -{ - bool bVar1; - int iVar2; - uint uVar3; - - bVar1 = *(int *)(param_1 + 8) << 3 < 0; - iVar2 = *(int *)(param_1 + 0x10); - if (iVar2 != 0) { - if (*(int *)(param_1 + 0x14) != 0) { - if (-1 < *(int *)(param_1 + 8) << 2) { - uVar3 = (uint)bVar1; - iVar2 = param_2 + uVar3 * 4; - if (*(int *)(iVar2 + 0x160) != 0) { - return 0; - } - *(undefined4 *)(*(int *)(param_1 + 0x14) + 0x18) = *(undefined4 *)(param_2 + 0x1c); - if (bVar1) { - *(undefined4 *)(*(int *)(param_1 + 0x14) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(param_2 + 0x1c) + 8) + 8) + 0x14); - } - else { - *(undefined4 *)(*(int *)(param_1 + 0x14) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(param_2 + 0x1c) + 8) + 8) + 0xc); - } - *(undefined4 *)(iVar2 + 0x160) = *(undefined4 *)(param_1 + 0x10); - if ((*(int *)(param_1 + 8) < 0) && - (iVar2 = *(int *)(param_2 + uVar3 * -4 + 0x164), iVar2 != 0)) { - link_objects(param_1,*(int *)(iVar2 + 4)); - } - iVar2 = *(int *)(param_1 + 0x10); - } - loc_7F03A5C0(iVar2,*(int *)(param_2 + 0x18)); - } - } - return 1; -} - - - -undefined * -loc_7F051FC4(ushort *param_1,int param_2,ushort **param_3,undefined *param_4,uint param_5) - -{ - int iVar1; - undefined *puVar2; - float fVar3; - - puVar2 = FUN_7f05228c((int)param_1,param_3,param_4,param_5); - if ((puVar2 != NULL) && (iVar1 = *(int *)(param_1 + 10), iVar1 != 0)) { - fVar3 = (float)(uint)*param_1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - set_obj_instance_controller_scale(iVar1,*(float *)(iVar1 + 0x14) * fVar3 * 0.00390625); - loc_7F051F20((int)param_1,param_2); - } - return puVar2; -} - - - -undefined * FUN_7f0524d0(ushort *param_1,int param_2) - -{ - ushort uVar1; - undefined *puVar2; - - uVar1 = param_1[2]; - FUN_7f057138((int)(short)uVar1); - puVar2 = loc_7F051FC4(param_1,param_2,(ushort **)(&PTR_DAT_8003a258)[(int)(short)uVar1 * 3],NULL,0 - ); - return puVar2; -} - - - -undefined * FUN_7f05252c(ushort *param_1,int param_2) - -{ - undefined *puVar1; - - *(float *)(param_1 + 0x3a) = (float)*(int *)(param_1 + 0x3a) / 65536.00000000; - puVar1 = FUN_7f0524d0(param_1,param_2); - return puVar1; -} - - - -undefined4 * FUN_7f052568(int param_1,undefined param_2) - -{ - uint uVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 auStack152 [33]; - undefined4 auStack20 [2]; - uint local_c; - ushort **local_4; - - local_4 = (ushort **)(&PTR_DAT_8003a258)[param_1 * 3]; - FUN_7f057138(param_1); - puVar5 = (undefined *)FUN_7f03a730(); - local_c = FUN_7f06c684(local_4); - puVar6 = (undefined4 *)loc_7F051578((uint)(puVar5 == NULL),(ulonglong)(local_c == 0),(int)local_4) - ; - if (puVar5 == NULL) { - puVar5 = (undefined *)FUN_7f03a730(); - } - uVar1 = local_c; - if (local_c == 0) { - uVar1 = FUN_7f06c684(local_4); - } - if (((puVar6 == NULL) || (puVar5 == NULL)) || (uVar1 == 0)) { - puVar6 = NULL; - if (uVar1 != 0) { - FUN_7f06c824(uVar1); - } - if (puVar5 != NULL) { - FUN_7f03a784((int)puVar5); - } - } - else { - puVar4 = &DAT_800321d4; - puVar3 = auStack152; - do { - puVar7 = puVar4 + 3; - puVar2 = puVar3 + 3; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar4 = puVar7; - puVar3 = puVar2; - } while (puVar7 != (undefined4 *)0x80032258); - *puVar2 = uRam80032258; - puVar4 = puVar6; - puVar3 = auStack152; - do { - puVar2 = puVar3 + 3; - puVar7 = puVar4 + 3; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar4 = puVar7; - puVar3 = puVar2; - } while (puVar2 != auStack20); - *puVar7 = *puVar2; - *(undefined *)(puVar6 + 0x20) = param_2; - *(short *)(puVar6 + 1) = (short)param_1; - FUN_7f05228c((int)puVar6,local_4,puVar5,uVar1); - } - return puVar6; -} - - - -void locret_7F05220C(int param_1,int param_2) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + param_2 * 4 + 0x160); - if (iVar1 != 0) { - iVar1 = *(int *)(iVar1 + 4); - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 4; - } - return; -} - - - -undefined * -loc_7F0523BC(undefined2 *param_1,int param_2,undefined param_3,uint param_4,undefined4 *param_5, - ushort **param_6) - -{ - uint uVar1; - undefined *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 auStack144 [33]; - undefined4 auStack12 [3]; - - if (param_6 == NULL) { - param_6 = (ushort **)(&PTR_DAT_8003a258)[param_2 * 3]; - FUN_7f057138(param_2); - } - puVar2 = (undefined *)FUN_7f03a730(); - uVar1 = FUN_7f06c684(param_6); - if (param_5 == NULL) { - param_5 = (undefined4 *) - loc_7F051578((uint)(puVar2 == NULL),(ulonglong)(uVar1 == 0),(int)param_6); - } - if (puVar2 == NULL) { - puVar2 = (undefined *)FUN_7f03a730(); - } - if (uVar1 == 0) { - uVar1 = FUN_7f06c684(param_6); - } - if (((param_5 == NULL) || (puVar2 == NULL)) || (uVar1 == 0)) { - if (uVar1 != 0) { - FUN_7f06c824(uVar1); - } - if (puVar2 != NULL) { - FUN_7f03a784((int)puVar2); - puVar2 = NULL; - } - } - else { - puVar6 = &DAT_8003225c; - puVar5 = auStack144; - do { - puVar3 = puVar6 + 3; - puVar4 = puVar5 + 3; - *puVar5 = *puVar6; - puVar5[1] = puVar6[1]; - puVar5[2] = puVar6[2]; - puVar6 = puVar3; - puVar5 = puVar4; - } while (puVar3 != (undefined4 *)0x800322e0); - *puVar4 = uRam800322e0; - puVar6 = param_5; - puVar5 = auStack144; - do { - puVar3 = puVar5 + 3; - puVar4 = puVar6 + 3; - *puVar6 = *puVar5; - puVar6[1] = puVar5[1]; - puVar6[2] = puVar5[2]; - puVar6 = puVar4; - puVar5 = puVar3; - } while (puVar3 != auStack12); - *puVar4 = *puVar3; - *(undefined *)(param_5 + 0x20) = param_3; - *(short *)(param_5 + 1) = (short)param_2; - param_5[2] = param_4 | 0x4000; - *(undefined2 *)((int)param_5 + 6) = *param_1; - puVar2 = loc_7F051FC4((ushort *)param_5,(int)param_1,param_6,puVar2,uVar1); - } - return puVar2; -} - - - -undefined * FUN_7f0528d0(undefined2 *param_1,int param_2,undefined param_3,uint param_4) - -{ - undefined *puVar1; - - puVar1 = loc_7F0523BC(param_1,param_2,param_3,param_4,NULL,NULL); - return puVar1; -} - - - -void loc_7F052544(int param_1,int param_2,int **param_3) - -{ - int iVar1; - uint uVar2; - int iVar3; - int iVar4; - int *piVar5; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float **ppfVar6; - float **ppfVar7; - byte bVar8; - float **ppfVar9; - float **ppfVar10; - float afStack152 [18]; - float *apfStack80 [4]; - undefined4 uStack64; - int iStack4; - - iStack4 = *(int *)(param_1 + 4); - iVar4 = something_with_weaponpos_of_guarddata_hand(iStack4,param_2); - if (iVar4 != 0) { - iVar1 = *(int *)(iVar4 + 4); - if ((*(uint *)(iVar1 + 100) & 0x800) == 0) { - if (-1 < *(int *)(iVar1 + 0xc) << 0xc) { - uVar2 = *(uint *)(iVar1 + 0x14); - ppfVar9 = (float **)&DAT_800322e4; - ppfVar6 = apfStack80; - do { - ppfVar10 = ppfVar9 + 3; - ppfVar7 = ppfVar6 + 3; - *ppfVar6 = *ppfVar9; - ppfVar6[1] = ppfVar9[1]; - ppfVar6[2] = ppfVar9[2]; - ppfVar9 = ppfVar10; - ppfVar6 = ppfVar7; - } while (ppfVar10 != (float **)0x80032320); - *ppfVar7 = pfRam80032320; - iVar3 = *(int *)(iStack4 + 0x1c); - *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 2; - apfStack80[0] = (float *)FUN_7f06cc50(iVar3,*(ushort **)(uVar2 + 0x1c),0); - if (param_2 == 1) { - FUN_7f058ba8(DAT_80053320,extraout_a0,afStack152); - FUN_7f058588(apfStack80[0],afStack152); - apfStack80[0] = afStack152; - } - uStack64 = FUN_7f0be2c4((int)*(short *)(*(int *)(uVar2 + 8) + 0xe) << 6); - FUN_7f06f838(apfStack80,uVar2,extraout_a2_lo,extraout_a3_lo); - if (param_3 == NULL) { - return; - } - if ((*(uint *)(iVar1 + 100) & 0x80) != 0) { - return; - } - piVar5 = FUN_7f06b710(*param_3,uVar2); - *param_3 = piVar5; - return; - } - bVar8 = *(byte *)(iVar4 + 1); - } - else { - bVar8 = *(byte *)(iVar4 + 1); - } - *(byte *)(iVar4 + 1) = bVar8 & 0xfd; - } - return; -} - - - -void FUN_7f052a50(void) - -{ - FUN_7f050ae0(); - return; -} - - - -void loc_7F0525F8(int param_1,undefined4 param_2) - -{ - int iVar1; - ushort **ppuVar2; - undefined2 *puVar3; - undefined4 *puVar4; - ushort *puVar5; - - iVar1 = *(int *)(*(int *)(param_1 + 4) + 0x14); - if ((iVar1 != 0) && (*(int *)(*(int *)(iVar1 + 8) + 4) == -0x7ffc3ad4)) { - ppuVar2 = *(ushort ***)(*(int *)(iVar1 + 8) + 8); - puVar5 = *ppuVar2; - if (puVar5 == NULL) { - puVar5 = ppuVar2[2]; - } - else { - puVar3 = (undefined2 *)loc_7F06C888(iVar1,puVar5); - *puVar3 = (short)param_2; - puVar5 = *(ushort **)(*(int *)(*(int *)(iVar1 + 8) + 8) + 8); - } - if (puVar5 != NULL) { - puVar4 = (undefined4 *)loc_7F06C888(iVar1,puVar5); - *puVar4 = param_2; - } - } - return; -} - - - -longlong loc_7F052674(int param_1) - -{ - int iVar1; - ushort **ppuVar2; - ushort *puVar3; - longlong lVar4; - short *psVar5; - int *piVar6; - - iVar1 = *(int *)(*(int *)(param_1 + 4) + 0x14); - if (iVar1 == 0) { - lVar4 = 0; - } - else { - if (*(int *)(*(int *)(iVar1 + 8) + 4) == -0x7ffc3ad4) { - ppuVar2 = *(ushort ***)(*(int *)(iVar1 + 8) + 8); - puVar3 = *ppuVar2; - if (puVar3 == NULL) { - puVar3 = ppuVar2[2]; - if (puVar3 == NULL) { - lVar4 = 0; - } - else { - piVar6 = (int *)loc_7F06C888(iVar1,puVar3); - lVar4 = (longlong)*piVar6; - } - } - else { - psVar5 = (short *)loc_7F06C888(iVar1,puVar3); - lVar4 = (longlong)*psVar5; - } - } - else { - lVar4 = 0; - } - } - return lVar4; -} - - - -undefined8 def_7F0526AC(int param_1) - -{ - switch(*(undefined2 *)(*(int *)(param_1 + 4) + 4)) { - case 0xd4: - case 0xd5: - case 0xd6: - return 4; - case 0xd7: - case 0xd8: - return 1; - case 0xd9: - case 0xda: - return 3; - case 0xdb: - return 5; - case 0xdc: - case 0xdd: - case 0xde: - return 0; - case 0xdf: - return 2; - default: - return 0xffffffffffffffff; - } -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F052AF0(int param_1,float *param_2) - -{ - short sVar1; - float *pfVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 uVar3; - ushort uVar4; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float afStack64 [16]; - - sVar1 = *(short *)(param_1 + 0x9a); - if ((sVar1 == 5) || (sVar1 == 9)) { - pfVar2 = (float *)((int)*(short *)(param_1 + 6) * 0x44 + _DAT_80075d5c); - fStack104 = pfVar2[4] * pfVar2[8] - pfVar2[7] * pfVar2[5]; - fStack100 = pfVar2[5] * pfVar2[6] - pfVar2[8] * pfVar2[3]; - fStack96 = pfVar2[3] * pfVar2[7] - pfVar2[6] * pfVar2[4]; - fStack76 = pfVar2[3] * pfVar2[0xd] + *pfVar2; - fStack72 = pfVar2[4] * pfVar2[0xd] + pfVar2[1]; - fStack68 = pfVar2[5] * pfVar2[0xd] + pfVar2[2]; - if (*(short *)(param_1 + 0x9a) == 9) { - fStack76 = fStack76 + fStack104 * pfVar2[0xc]; - fStack72 = fStack72 + fStack100 * pfVar2[0xc]; - fStack68 = fStack68 + fStack96 * pfVar2[0xc]; - } - else { - if (*(int *)(param_1 + 8) << 2 < 0) { - fStack76 = fStack76 + fStack104 * pfVar2[0xc]; - fStack72 = fStack72 + fStack100 * pfVar2[0xc]; - fStack68 = fStack68 + fStack96 * pfVar2[0xc]; - } - else { - fStack76 = fStack76 + fStack104 * pfVar2[0xb]; - fStack72 = fStack72 + fStack100 * pfVar2[0xb]; - fStack68 = fStack68 + fStack96 * pfVar2[0xb]; - } - } - fStack88 = *(float *)(param_1 + 0x58) - fStack76; - fStack84 = *(float *)(param_1 + 0x5c) - fStack72; - fStack80 = *(float *)(param_1 + 0x60) - fStack68; - loc_7F058030((undefined4 *)(param_1 + 0x18),param_2); - FUN_7f058e84(&fStack88,afStack64); - FUN_7f058588(afStack64,param_2); - if (*(short *)(param_1 + 0x9a) == 9) { - if (*(int *)(param_1 + 8) << 2 < 0) { - FUN_7f058ba8(DAT_80053354 - (*(float *)(param_1 + 0xb4) * DAT_80053354) / 360.00000000, - extraout_a0,afStack64); - } - else { - FUN_7f058ba8((*(float *)(param_1 + 0xb4) * DAT_80053358) / 360.00000000,extraout_a0, - afStack64); - } - } - else { - if (*(int *)(param_1 + 8) << 2 < 0) { - FUN_7f058b1c(DAT_8005335c - (*(float *)(param_1 + 0xb4) * DAT_8005335c) / 360.00000000, - extraout_a0,afStack64); - } - else { - FUN_7f058b1c((*(float *)(param_1 + 0xb4) * DAT_80053360) / 360.00000000,extraout_a0, - afStack64); - } - } - FUN_7f058588(afStack64,param_2); - FUN_7f058e84(&fStack76,afStack64); - FUN_7f058588(afStack64,param_2); - uVar4 = *(ushort *)(param_1 + 0x98); - uVar3 = extraout_a0_00; - } - else { - if ((sVar1 == 6) || (sVar1 == 7)) { - loc_7F058030((undefined4 *)(param_1 + 0x18),param_2); - copies_first_3_floats_from_a0_to_a1_plus_0x30((undefined4 *)(param_1 + 0x58),(int)param_2); - uVar4 = *(ushort *)(param_1 + 0x98); - uVar3 = extraout_a0_01; - } - else { - fStack116 = *(float *)(param_1 + 0xa8) * *(float *)(param_1 + 0xb4) + - *(float *)(param_1 + 0x58); - fStack112 = *(float *)(param_1 + 0xac) * *(float *)(param_1 + 0xb4) + - *(float *)(param_1 + 0x5c); - fStack108 = *(float *)(param_1 + 0xb0) * *(float *)(param_1 + 0xb4) + - *(float *)(param_1 + 0x60); - loc_7F058030((undefined4 *)(param_1 + 0x18),param_2); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&fStack116,(int)param_2); - uVar4 = *(ushort *)(param_1 + 0x98); - uVar3 = extraout_a0_02; - } - } - if ((uVar4 & 8) != 0) { - sub_7F058A4C(-1.00000000,uVar3,(int)param_2); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0531c4) overlaps instruction at (ram,0x7f0531c0) -// - -void loc_7F052D7C(int param_1) - -{ - short sVar1; - undefined4 *puVar2; - undefined4 *puVar3; - float fVar4; - float afStack68 [13]; - float fStack16; - - puVar3 = (undefined4 *)(param_1 + 0xd0); - puVar2 = *(undefined4 **)(*(int *)(**(int **)(*(int *)(param_1 + 0x14) + 8) + 0x14) + 4); - *puVar3 = *puVar2; - *(undefined4 *)(param_1 + 0xd4) = puVar2[1]; - *(undefined4 *)(param_1 + 0xd8) = puVar2[2]; - *(undefined4 *)(param_1 + 0xdc) = puVar2[3]; - *(undefined4 *)(param_1 + 0xe0) = puVar2[4]; - *(undefined4 *)(param_1 + 0xe4) = puVar2[5]; - *(undefined4 *)(param_1 + 0xe8) = puVar2[6]; - if ((*(ushort *)(param_1 + 0x98) & 4) == 0) { - fVar4 = *(float *)(param_1 + 0xb4); - } - else { - if (*(short *)(param_1 + 0x9a) == 4) { - *(float *)(param_1 + 0xe0) = - (float)puVar2[4] + ((float)puVar2[3] - (float)puVar2[4]) * *(float *)(param_1 + 0xb4); - } - else { - *(float *)(param_1 + 0xd4) = - (float)puVar2[1] + ((float)puVar2[2] - (float)puVar2[1]) * *(float *)(param_1 + 0xb4); - } - fVar4 = *(float *)(param_1 + 0xb4); - } - if (*(float *)(param_1 + 0x88) <= fVar4) { - **(undefined4 **)(param_1 + 0x68) = 0; - return; - } - loc_7F052AF0(param_1,afStack68); - sub_7F03F540((longlong)(int)puVar3,(longlong)(int)afStack68, - (float *)(*(uint **)(param_1 + 0x68) + 1),*(uint **)(param_1 + 0x68)); - if (*(short *)(param_1 + 0x9a) == 4) { - fVar4 = loc_7F03EA4C((int)puVar3,(int)afStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = fVar4 + *(float *)(param_1 + 0x5c); - } - else { - if (*(short *)(param_1 + 0x9a) == 8) { - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = *(float *)(param_1 + 0x5c) - DAT_80053364; - } - else { - fVar4 = loc_7F03EA4C((int)puVar3,(int)afStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = fVar4 + fStack16; - if ((*(ushort *)(param_1 + 0x98) & 1) == 0) { - sVar1 = *(short *)(param_1 + 0x9a); - goto LAB_7f05319c; - } - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = - *(float *)(*(int *)(param_1 + 0x68) + 0x48) - 1000.00000000; - } - } - sVar1 = *(short *)(param_1 + 0x9a); -LAB_7f05319c: - if (((sVar1 == 6) && (DAT_80053368 * *(float *)(param_1 + 0x84) < *(float *)(param_1 + 0xb4))) || - ((sVar1 == 7 && (DAT_8005336c * *(float *)(param_1 + 0x84) < *(float *)(param_1 + 0xb4))))) { - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = - *(float *)(*(int *)(param_1 + 0x68) + 0x48) + 50.00000000; - } - else { - if (sVar1 == 8) { - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = *(float *)(param_1 + 0x5c) + 1000.00000000; - } - else { - fVar4 = loc_7F03EAEC((int)puVar3,(int)afStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = fVar4 + fStack16; - if ((*(ushort *)(param_1 + 0x98) & 1) != 0) { - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = - *(float *)(*(int *)(param_1 + 0x68) + 0x44) + 1000.00000000; - } - } - } - return; -} - - - -void loc_7F05356C(int param_1) - -{ - short sVar1; - short sVar2; - ushort *puVar3; - int iVar4; - int *piVar5; - int iVar6; - uint uVar7; - uint uVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - int iVar12; - undefined4 *puVar13; - undefined4 *puVar14; - short sVar15; - uint uVar16; - short sVar17; - undefined4 *puVar18; - undefined4 *puVar19; - uint uVar20; - uint uVar21; - int iVar22; - int iVar23; - undefined4 *puVar24; - - if ((*(ushort *)(param_1 + 0x98) & 4) != 0) { - puVar3 = *(ushort **)(*(int *)(**(int **)(*(int *)(param_1 + 0x14) + 8) + 0x14) + 0x14); - iVar4 = *(int *)(puVar3 + 2); - piVar5 = (int *)loc_7F06C888(*(int *)(param_1 + 0x14),puVar3); - if (*(short *)(param_1 + 0x9a) == 4) { - sVar15 = (short)(int)(*(float *)(param_1 + 0xe0) + 0.50000000); - } - else { - sVar15 = (short)(int)(*(float *)(param_1 + 0xd4) + 0.50000000); - } - iVar6 = FUN_7f0be274((int)*(short *)(iVar4 + 0xc)); - *piVar5 = iVar6; - iVar23 = 0; - iVar6 = (int)*(short *)(iVar4 + 0xc); - if (*(short *)(iVar4 + 0xc) < 0) { - iVar6 += 3; - } - if (0 < iVar6 >> 2) { - do { - uVar7 = 0; - do { - iVar6 = *piVar5 + iVar23 * 0x10; - uVar20 = uVar7 + 1; - puVar14 = (undefined4 *)(iVar6 + uVar7 * 0x10); - uVar8 = uVar20 & 3; - if (((int)uVar20 < 0) && (uVar8 != 0)) { - uVar8 -= 4; - } - puVar24 = (undefined4 *)(iVar6 + uVar8 * 0x10); - uVar16 = uVar7 + 2 & 3; - if (((int)(uVar7 + 2) < 0) && (uVar16 != 0)) { - uVar16 -= 4; - } - puVar18 = (undefined4 *)(iVar6 + uVar16 * 0x10); - iVar12 = *(int *)(iVar4 + 8) + iVar23 * 0x10; - uVar21 = uVar7 + 3 & 3; - if (((int)(uVar7 + 3) < 0) && (uVar21 != 0)) { - uVar21 -= 4; - } - puVar13 = (undefined4 *)(iVar12 + uVar16 * 0x10); - puVar19 = (undefined4 *)(iVar6 + uVar21 * 0x10); - puVar9 = (undefined4 *)(iVar12 + uVar7 * 0x10); - puVar11 = (undefined4 *)(iVar12 + uVar8 * 0x10); - puVar10 = (undefined4 *)(iVar12 + uVar21 * 0x10); - if (uVar7 == 0) { - *puVar14 = *puVar9; - puVar14[1] = puVar9[1]; - puVar14[2] = puVar9[2]; - puVar14[3] = puVar9[3]; - *puVar24 = *puVar11; - puVar24[1] = puVar11[1]; - puVar24[2] = puVar11[2]; - puVar24[3] = puVar11[3]; - *puVar18 = *puVar13; - puVar18[1] = puVar13[1]; - puVar18[2] = puVar13[2]; - puVar18[3] = puVar13[3]; - *puVar19 = *puVar10; - puVar19[1] = puVar10[1]; - puVar19[2] = puVar10[2]; - puVar19[3] = puVar10[3]; - } - iVar6 = (int)sVar15; - if (*(short *)(param_1 + 0x9a) == 4) { - sVar1 = *(short *)((int)puVar9 + 2); - if (sVar15 <= sVar1) { - sVar2 = *(short *)puVar9; - if (*(short *)puVar11 == sVar2) { - if (*(short *)(puVar11 + 1) != *(short *)(puVar9 + 1)) { - sVar17 = *(short *)puVar13; - goto LAB_7f0535a0; - } - if (*(short *)((int)puVar11 + 2) == sVar1) { - sVar17 = *(short *)puVar13; - goto LAB_7f0535a0; - } - iVar6 = ((int)sVar1 - (int)sVar15) * - ((int)*(short *)(puVar11 + 2) - (int)*(short *)(puVar9 + 2)); - iVar12 = (int)sVar1 - (int)*(short *)((int)puVar11 + 2); - *(short *)(puVar14 + 2) = (short)(iVar6 / iVar12) + *(short *)(puVar9 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - iVar6 = ((int)*(short *)((int)puVar9 + 2) - (int)sVar15) * - ((int)*(short *)((int)puVar11 + 10) - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)((int)puVar9 + 2) - (int)*(short *)((int)puVar11 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar14 + 10) = - (short)(iVar6 / iVar12) + *(short *)((int)puVar9 + 10); - } - else { - sVar17 = *(short *)puVar13; -LAB_7f0535a0: - iVar12 = (int)sVar1; - if (sVar17 == sVar2) { - if (*(short *)(puVar13 + 1) == *(short *)(puVar9 + 1)) { - if (*(short *)((int)puVar13 + 2) != sVar1) { - iVar22 = (iVar12 - iVar6) * - ((int)*(short *)(puVar13 + 2) - (int)*(short *)(puVar9 + 2)); - iVar12 -= (int)*(short *)((int)puVar13 + 2); - *(short *)(puVar14 + 2) = (short)(iVar22 / iVar12) + *(short *)(puVar9 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar22 == -0x80000000)) { - trap(0x1800); - } - iVar6 = ((int)*(short *)((int)puVar9 + 2) - iVar6) * - ((int)*(short *)((int)puVar13 + 10) - - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)((int)puVar9 + 2) - (int)*(short *)((int)puVar13 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar14 + 10) = - (short)(iVar6 / iVar12) + *(short *)((int)puVar9 + 10); - goto LAB_7f053764; - } - sVar17 = *(short *)puVar10; - } - else { - sVar17 = *(short *)puVar10; - } - } - else { - sVar17 = *(short *)puVar10; - } - if (((sVar17 == sVar2) && (*(short *)(puVar10 + 1) == *(short *)(puVar9 + 1))) && - (*(short *)((int)puVar10 + 2) != sVar1)) { - iVar22 = (iVar12 - iVar6) * - ((int)*(short *)(puVar10 + 2) - (int)*(short *)(puVar9 + 2)); - iVar12 -= (int)*(short *)((int)puVar10 + 2); - *(short *)(puVar14 + 2) = (short)(iVar22 / iVar12) + *(short *)(puVar9 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar22 == -0x80000000)) { - trap(0x1800); - } - iVar6 = ((int)*(short *)((int)puVar9 + 2) - iVar6) * - ((int)*(short *)((int)puVar10 + 10) - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)((int)puVar9 + 2) - (int)*(short *)((int)puVar10 + 2); - *(short *)((int)puVar14 + 10) = - (short)(iVar6 / iVar12) + *(short *)((int)puVar9 + 10); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - } - } -LAB_7f053764: - *(short *)((int)puVar14 + 2) = sVar15; - } - } - else { - sVar1 = *(short *)puVar9; - if (sVar1 <= sVar15) { - sVar2 = *(short *)((int)puVar9 + 2); - iVar12 = (int)sVar15; - if (*(short *)((int)puVar11 + 2) == sVar2) { - if (*(short *)(puVar11 + 1) == *(short *)(puVar9 + 1)) { - if (*(short *)puVar11 != sVar1) { - iVar6 = (iVar12 - (int)sVar1) * - ((int)*(short *)(puVar11 + 2) - (int)*(short *)(puVar9 + 2)); - iVar22 = (int)*(short *)puVar11 - (int)sVar1; - *(short *)(puVar14 + 2) = (short)(iVar6 / iVar22) + *(short *)(puVar9 + 2); - if (iVar22 == 0) { - trap(0x1c00); - } - if ((iVar22 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - iVar6 = (iVar12 - (int)*(short *)puVar9) * - ((int)*(short *)((int)puVar11 + 10) - (int)*(short *)((int)puVar9 + 10)) - ; - iVar12 = (int)*(short *)puVar11 - (int)*(short *)puVar9; - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar14 + 10) = - (short)(iVar6 / iVar12) + *(short *)((int)puVar9 + 10); - *(short *)puVar14 = sVar15; - goto LAB_7f053a34; - } - sVar17 = *(short *)((int)puVar13 + 2); - } - else { - sVar17 = *(short *)((int)puVar13 + 2); - } - } - else { - sVar17 = *(short *)((int)puVar13 + 2); - } - iVar22 = (int)sVar1; - if (sVar17 == sVar2) { - if (*(short *)(puVar13 + 1) == *(short *)(puVar9 + 1)) { - if (*(short *)puVar13 != sVar1) { - iVar6 = (iVar12 - iVar22) * - ((int)*(short *)(puVar13 + 2) - (int)*(short *)(puVar9 + 2)); - iVar22 = (int)*(short *)puVar13 - iVar22; - *(short *)(puVar14 + 2) = (short)(iVar6 / iVar22) + *(short *)(puVar9 + 2); - if (iVar22 == 0) { - trap(0x1c00); - } - if ((iVar22 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - iVar6 = (iVar12 - (int)*(short *)puVar9) * - ((int)*(short *)((int)puVar13 + 10) - (int)*(short *)((int)puVar9 + 10)) - ; - iVar12 = (int)*(short *)puVar13 - (int)*(short *)puVar9; - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar14 + 10) = - (short)(iVar6 / iVar12) + *(short *)((int)puVar9 + 10); - *(short *)puVar14 = sVar15; - goto LAB_7f053a34; - } - sVar17 = *(short *)((int)puVar10 + 2); - } - else { - sVar17 = *(short *)((int)puVar10 + 2); - } - } - else { - sVar17 = *(short *)((int)puVar10 + 2); - } - if (sVar17 == sVar2) { - if (*(short *)(puVar10 + 1) == *(short *)(puVar9 + 1)) { - if (*(short *)puVar10 == sVar1) { - *(short *)puVar14 = sVar15; - } - else { - iVar12 = (iVar6 - iVar22) * - ((int)*(short *)(puVar10 + 2) - (int)*(short *)(puVar9 + 2)); - iVar22 = (int)*(short *)puVar10 - iVar22; - *(short *)(puVar14 + 2) = (short)(iVar12 / iVar22) + *(short *)(puVar9 + 2); - if (iVar22 == 0) { - trap(0x1c00); - } - if ((iVar22 == -1) && (iVar12 == -0x80000000)) { - trap(0x1800); - } - iVar6 = (iVar6 - (int)*(short *)puVar9) * - ((int)*(short *)((int)puVar10 + 10) - (int)*(short *)((int)puVar9 + 10)) - ; - iVar12 = (int)*(short *)puVar10 - (int)*(short *)puVar9; - *(short *)((int)puVar14 + 10) = - (short)(iVar6 / iVar12) + *(short *)((int)puVar9 + 10); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - *(short *)puVar14 = sVar15; - } - } - else { - *(short *)puVar14 = sVar15; - } - } - else { - *(short *)puVar14 = sVar15; - } - } - } -LAB_7f053a34: - uVar7 = uVar20; - } while (uVar20 != 4); - iVar23 += 4; - iVar6 = (int)*(short *)(iVar4 + 0xc); - if (*(short *)(iVar4 + 0xc) < 0) { - iVar6 += 3; - } - } while (iVar23 < (iVar6 >> 2) << 2); - } - } - return; -} - - - -void FUN_7f053a94(int param_1) - -{ - if (-1 < *(int *)(param_1 + 0xf0)) { - FUN_7f0ba96c(*(int *)(param_1 + 0xf0),1); - } - return; -} - - - -void FUN_7f053ac0(int param_1) - -{ - if (-1 < *(int *)(param_1 + 0xf0)) { - FUN_7f0ba96c(*(int *)(param_1 + 0xf0),0); - } - return; -} - - - -undefined * -FUN_7f053aec(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4, - undefined4 *param_5,undefined4 *param_6) - -{ - undefined *puVar1; - uint uVar2; - undefined8 extraout_a0; - float fVar3; - undefined4 uVar4; - - puVar1 = sub_7F04071C(param_1); - fVar3 = (float)(&DAT_8003a260)[(int)*(short *)(param_1 + 4) * 3]; - uVar2 = FUN_70009730(0x50,4); - *(uint *)(param_1 + 0x68) = uVar2; - loc_7F058030(param_3,(float *)(param_1 + 0x18)); - matrix_multiply_A1_by_F12(fVar3,extraout_a0,(float *)(param_1 + 0x18)); - *(undefined4 *)(param_1 + 0xa8) = *param_5; - *(undefined4 *)(param_1 + 0xac) = param_5[1]; - *(undefined4 *)(param_1 + 0xb0) = param_5[2]; - if (*(int *)(param_1 + 8) < 0) { - *(undefined4 *)(param_1 + 0xb4) = *(undefined4 *)(param_1 + 0x84); - } - else { - *(undefined4 *)(param_1 + 0xb4) = 0; - } - *(undefined4 *)(param_1 + 0xb8) = 0; - *(undefined *)(param_1 + 0xbc) = 0; - *(undefined *)(param_1 + 0xbd) = 0; - *(undefined4 *)(param_1 + 200) = 0; - if ((*(ushort *)(param_1 + 0x98) & 4) == 0) { - *(undefined4 *)(param_1 + 0xcc) = 0; - } - else { - uVar2 = FUN_70009730((int)*(short *)(*(int *)(*(int *)(*(int *)(**(int **)(*(int *)(param_1 + - 0x14) + 8) + - 0x14) + 0x14) + 4) + 0xc) << 4,4) - ; - *(uint *)(param_1 + 0xcc) = uVar2; - } - *(undefined4 *)(param_1 + 0xf0) = 0xffffffff; - *(undefined4 *)(param_1 + 0xf4) = 0; - *(undefined4 *)(param_1 + 0xf8) = 0; - *puVar1 = 2; - *(int *)(puVar1 + 4) = param_1; - *(undefined4 *)(puVar1 + 8) = *param_2; - *(undefined4 *)(puVar1 + 0xc) = param_2[1]; - *(undefined4 *)(puVar1 + 0x10) = param_2[2]; - *(undefined4 *)(puVar1 + 0x14) = param_4; - *(undefined4 *)(param_1 + 0x58) = *param_6; - *(undefined4 *)(param_1 + 0x5c) = param_6[1]; - uVar4 = param_6[2]; - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) | 0x100; - *(undefined4 *)(param_1 + 0x60) = uVar4; - loc_7F052D7C(param_1); - loc_7F05356C(param_1); - FUN_7f0405b4(*(int *)(param_1 + 0x10),(byte *)(param_1 + 0x7c)); - *(undefined *)(param_1 + 0x78) = *(undefined *)(param_1 + 0x7c); - *(undefined *)(param_1 + 0x79) = *(undefined *)(param_1 + 0x7d); - *(undefined *)(param_1 + 0x7a) = *(undefined *)(param_1 + 0x7e); - *(undefined *)(param_1 + 0x7b) = *(undefined *)(param_1 + 0x7f); - return puVar1; -} - - - -int loc_7F053884(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5) - -{ - int iVar1; - float fVar2; - float fVar3; - - if (param_1 <= 200.00000000) { - iVar1 = 0x7fff; - } - else { - if (param_5 <= param_1) { - iVar1 = 0; - } - else { - if (param_2 <= param_1) { - iVar1 = (int)(((param_5 - param_1) * DAT_80053370) / (param_5 - param_2)); - } - else { - fVar2 = sqrtf(param_1 - 200.00000000); - fVar3 = sqrtf(param_2 - 200.00000000); - iVar1 = 0x7fff - (int)((fVar2 * DAT_80053374) / fVar3); - } - } - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F05393C(float *param_1,float param_2,float param_3) - -{ - ulonglong uVar1; - int iVar2; - undefined4 in_v1_hi; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 uVar3; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 uVar4; - int *piVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - - uVar1 = get_num_players(); - uVar3 = extraout_a0; - uVar4 = extraout_a1; - fVar9 = param_3; - if (0 < (longlong)uVar1) { - piVar5 = (int *)&DAT_80079f50; - fVar9 = param_3; - iVar2 = _DAT_80079f50; - while( true ) { - iVar2 = *(int *)(iVar2 + 0xa8); - fVar6 = *(float *)(iVar2 + 8) - *param_1; - fVar7 = *(float *)(iVar2 + 0xc) - param_1[1]; - fVar8 = *(float *)(iVar2 + 0x10) - param_1[2]; - fVar6 = sqrtf(fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8); - piVar5 = piVar5 + 1; - if (fVar9 <= fVar6) { - fVar6 = fVar9; - } - fVar9 = fVar6; - uVar3 = extraout_a0_00; - uVar4 = extraout_a1_00; - if (&DAT_80079f50 + (int)uVar1 * 4 <= piVar5) break; - iVar2 = *piVar5; - } - } - iVar2 = loc_7F053884(fVar9,param_2,uVar3,uVar4,param_3); - return CONCAT13((char)iVar2,(int3)((uint)in_v1_hi >> 8)); -} - - - -void sub_7F05396C(int param_1,float *param_2,float param_3,float param_4) - -{ - undefined7 in_register_00000010; - int iVar1; - - iVar1 = loc_7F05393C(param_2,param_3,param_4); - loc_700091B8((longlong)param_1,8,(int)CONCAT71(in_register_00000010,(char)((uint)iVar1 >> 0x18))); - return; -} - - - -int FUN_7f053eb4(float param_1,undefined8 param_2,undefined8 param_3) - -{ - int iVar1; - - iVar1 = loc_7F053884(param_1,DAT_80053378,param_2,param_3,6000.00000000); - return iVar1; -} - - - -void FUN_7f053ee0(float *param_1) - -{ - loc_7F05393C(param_1,5000.00000000,6000.00000000); - return; -} - - - -void FUN_7f053f0c(int param_1,float *param_2) - -{ - sub_7F05396C(param_1,param_2,5000.00000000,6000.00000000); - return; -} - - - -void FUN_7f053f38(int param_1) - -{ - bool bVar1; - bool bVar2; - ulonglong uVar3; - int iVar4; - undefined4 uStack12; - - bVar1 = *(int *)(param_1 + 0xf4) != 0; - if (bVar1) { - uVar3 = locret_70008E00(*(int *)(param_1 + 0xf4)); - bVar1 = uVar3 != 0; - } - bVar2 = *(int *)(param_1 + 0xf8) != 0; - if (bVar2) { - uVar3 = locret_70008E00(*(int *)(param_1 + 0xf8)); - bVar2 = uVar3 != 0; - } - if (bVar1) { - iVar4 = *(int *)(param_1 + 0x10); - } - else { - if (!bVar2) { - return; - } - iVar4 = *(int *)(param_1 + 0x10); - } - uStack12 = FUN_7f053ee0((float *)(iVar4 + 8)); - iVar4 = FUN_7f0c086c(); - if (iVar4 != 0) { - uStack12 = 0; - } - if (bVar1) { - loc_700091B8((longlong)*(int *)(param_1 + 0xf4),8,uStack12); - } - if (bVar2) { - loc_700091B8((longlong)*(int *)(param_1 + 0xf8),8,uStack12); - } - return; -} - - - -void FUN_7f05400c(int param_1) - -{ - ulonglong uVar1; - - if ((*(int *)(param_1 + 0xf4) != 0) && - (uVar1 = locret_70008E00(*(int *)(param_1 + 0xf4)), uVar1 != 0)) { - loc_7000905C(*(int *)(param_1 + 0xf4)); - } - if ((*(int *)(param_1 + 0xf8) != 0) && - (uVar1 = locret_70008E00(*(int *)(param_1 + 0xf8)), uVar1 != 0)) { - loc_7000905C(*(int *)(param_1 + 0xf8)); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f054074(int param_1) - -{ - int **ppiVar1; - int **ppiVar2; - undefined4 uVar3; - int **ppiStack4; - - ppiStack4 = NULL; - FUN_7f05400c(param_1); - ppiVar2 = NULL; - if (*(int *)(param_1 + 0xf4) == 0) { - ppiVar2 = (int **)(param_1 + 0xf4); - } - else { - if (*(int *)(param_1 + 0xf8) != 0) { - uVar3 = *(undefined4 *)(param_1 + 0xa4); - goto LAB_7f0540c4; - } - ppiVar2 = (int **)(param_1 + 0xf8); - } - uVar3 = *(undefined4 *)(param_1 + 0xa4); -LAB_7f0540c4: - switch(uVar3) { - case 1: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xd3,ppiVar2); - } - break; - case 2: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,7,ppiVar2); - } - break; - case 3: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xca,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xcc,ppiVar2); - } - break; - case 4: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xd6,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xd8,ppiVar2); - } - break; - case 5: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xbc,NULL); - break; - case 6: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - break; - case 7: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xc0,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xbf,ppiVar2); - } - break; - case 8: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xbc,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,7,ppiVar2); - } - break; - case 9: - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xc2,ppiVar2); - ppiStack4 = NULL; - } - break; - case 10: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xc4,NULL); - break; - case 0xb: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - break; - case 0xc: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,200,NULL); - break; - case 0xd: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,7,ppiVar2); - } - break; - case 0xe: - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xda,ppiVar2); - ppiStack4 = NULL; - } - break; - case 0xf: - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xe1,ppiVar2); - ppiStack4 = NULL; - } - break; - case 0x10: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xd6,NULL); - break; - case 0x11: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - if (ppiVar1 != NULL) { - FUN_7f053f0c((int)ppiVar1,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xca,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xcc,ppiVar2); - } - } - if (ppiStack4 != NULL) { - FUN_7f053f0c((int)ppiStack4,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - FUN_7f053f38(param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f054460(int param_1) - -{ - int **ppiVar1; - int **ppiVar2; - undefined4 uVar3; - int **ppiStack4; - - ppiStack4 = NULL; - FUN_7f05400c(param_1); - ppiVar2 = NULL; - if (*(int *)(param_1 + 0xf4) == 0) { - ppiVar2 = (int **)(param_1 + 0xf4); - } - else { - if (*(int *)(param_1 + 0xf8) != 0) { - uVar3 = *(undefined4 *)(param_1 + 0xa4); - goto LAB_7f0544b0; - } - ppiVar2 = (int **)(param_1 + 0xf8); - } - uVar3 = *(undefined4 *)(param_1 + 0xa4); -LAB_7f0544b0: - if (true) { - switch(uVar3) { - case 1: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xd3,ppiVar2); - } - break; - case 2: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,7,ppiVar2); - } - break; - case 3: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xca,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xcc,ppiVar2); - } - break; - case 4: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xd6,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xd8,ppiVar2); - } - break; - case 7: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xc0,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xbf,ppiVar2); - } - break; - case 8: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xbc,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,7,ppiVar2); - } - break; - case 9: - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xc2,ppiVar2); - ppiStack4 = NULL; - } - break; - case 0xd: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,7,ppiVar2); - } - break; - case 0xe: - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xda,ppiVar2); - ppiStack4 = NULL; - } - break; - case 0xf: - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xe1,ppiVar2); - ppiStack4 = NULL; - } - break; - case 0x10: - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xd6,NULL); - break; - case 0x11: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - if (ppiVar1 != NULL) { - FUN_7f053f0c((int)ppiVar1,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - ppiStack4 = FUN_70008e18((longlong)_DAT_80063760,0xca,NULL); - if (ppiVar2 != NULL) { - FUN_70008e18((longlong)_DAT_80063760,0xcc,ppiVar2); - } - } - } - if (ppiStack4 != NULL) { - FUN_7f053f0c((int)ppiStack4,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - FUN_7f053f38(param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0547c0(int param_1) - -{ - int **ppiVar1; - - FUN_7f05400c(param_1); - ppiVar1 = NULL; - if (true) { - switch(*(undefined4 *)(param_1 + 0xa4)) { - case 1: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - break; - case 2: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - break; - case 3: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xcb,NULL); - break; - case 4: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd7,NULL); - break; - case 7: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - break; - case 8: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xbb,NULL); - break; - case 9: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xc3,NULL); - break; - case 0xd: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - break; - case 0xe: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xdb,NULL); - break; - case 0xf: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xe2,NULL); - break; - case 0x10: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd7,NULL); - break; - case 0x11: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xcb,NULL); - } - } - if (ppiVar1 != NULL) { - FUN_7f053f0c((int)ppiVar1,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - FUN_7f053f38(param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0549b4(int param_1) - -{ - int **ppiVar1; - - FUN_7f05400c(param_1); - ppiVar1 = NULL; - switch(*(undefined4 *)(param_1 + 0xa4)) { - case 1: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - break; - case 2: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - break; - case 3: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xcb,NULL); - break; - case 4: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd7,NULL); - break; - case 5: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xbb,NULL); - break; - case 6: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - break; - case 7: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd2,NULL); - break; - case 8: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xbb,NULL); - break; - case 9: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xc3,NULL); - break; - case 10: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xc5,NULL); - break; - case 0xb: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,199,NULL); - break; - case 0xc: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xc9,NULL); - break; - case 0xd: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,7,NULL); - break; - case 0xe: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xdb,NULL); - break; - case 0xf: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xe2,NULL); - break; - case 0x10: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xd7,NULL); - break; - case 0x11: - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xcb,NULL); - } - if (ppiVar1 != NULL) { - FUN_7f053f0c((int)ppiVar1,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - FUN_7f053f38(param_1); - return; -} - - - -void loc_7F0547D0(int param_1) - -{ - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) & 0x7fffffff; - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) | 0x200; - FUN_7f054074(param_1); - FUN_7f053a94(param_1); - if (*(short *)(param_1 + 0x9a) == 8) { - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) | 0x2000000; - *(undefined4 *)(param_1 + 0x88) = 0; - if (*(undefined4 **)(param_1 + 0x68) != NULL) { - **(undefined4 **)(param_1 + 0x68) = 0; - } - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) & 0xfffffeff; - } - return; -} - - - -void FUN_7f054cd8(int param_1) - -{ - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) & 0x7fffffff; - FUN_7f054460(param_1); - return; -} - - - -void FUN_7f054d08(int param_1) - -{ - FUN_7f0547c0(param_1); - if ((*(short *)(param_1 + 0x9a) == 8) && - (FUN_7f0400a8(*(int *)(param_1 + 0x10)), (*(uint *)(param_1 + 100) & 0x80) != 0)) { - **(uint **)(param_1 + 0x6c) = **(uint **)(param_1 + 0x6c) | 1; - init_0x40_bytes_data_at_address_last_word_1_0((undefined4 *)(*(int *)(param_1 + 0x6c) + 0x20)); - } - return; -} - - - -void FUN_7f054d78(int param_1) - -{ - FUN_7f0549b4(param_1); - FUN_7f053ac0(param_1); - return; -} - - - -void loc_7F05497C(int param_1,int param_2) - -{ - char cVar1; - undefined uVar2; - - uVar2 = (undefined)param_2; - if (param_2 == 1) { - if ((*(char *)(param_1 + 0xbc) == '\0') || (*(char *)(param_1 + 0xbc) == '\x03')) { - loc_7F0547D0(param_1); - } - *(undefined *)(param_1 + 0xbc) = uVar2; - } - else { - if (param_2 == 2) { - cVar1 = *(char *)(param_1 + 0xbc); - if ((cVar1 == '\0') && (0.00000000 < *(float *)(param_1 + 0xb4))) { - FUN_7f054cd8(param_1); - cVar1 = *(char *)(param_1 + 0xbc); - } - if (((cVar1 != '\0') && (cVar1 != '\x03')) || (0.00000000 < *(float *)(param_1 + 0xb4))) { - *(undefined *)(param_1 + 0xbc) = uVar2; - } - else { - if (cVar1 == '\x03') { - *(undefined *)(param_1 + 0xbc) = 0; - } - } - } - else { - *(undefined *)(param_1 + 0xbc) = uVar2; - } - } - return; -} - - - -void loc_7F054A0C(int param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - - iVar1 = (int)param_2; - iVar2 = iVar1; - if (((*(int *)(param_1 + 0xc) << 1 < 0) && (iVar2 = iVar1, param_2 == 1)) && - (iVar2 = 2, *(char *)(param_1 + 0xbc) == '\0')) { - iVar1 = 3; - } - loc_7F05497C(param_1,iVar1); - iVar1 = *(int *)(param_1 + 200); - while ((iVar1 != 0 && (iVar1 != param_1))) { - loc_7F05497C(iVar1,iVar2); - iVar1 = *(int *)(iVar1 + 200); - } - return; -} - - - -ulonglong locret_7F054A5C(int param_1) - -{ - char cVar1; - ulonglong uVar2; - - cVar1 = *(char *)(param_1 + 0xbc); - if (((cVar1 == '\0') || (uVar2 = (ulonglong)(cVar1 == '\x03'), cVar1 == '\x03')) && - (uVar2 = 0, *(float *)(param_1 + 0xb4) <= 0.00000000)) { - uVar2 = 1; - } - return uVar2; -} - - - -longlong loc_7F054B64(char *param_1,float *param_2) - -{ - bool bVar1; - longlong lVar2; - longlong lVar3; - uint *puVar4; - float fVar5; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - uint auStack32 [8]; - - puVar4 = auStack32; - lVar3 = 0; - loc_7F03CC0C(param_1,puVar4); - do { - if ((int)auStack32[0] < 0) { - return lVar3; - } - lVar2 = FUN_7f0b47bc(auStack32[0],(int *)&fStack60); - bVar1 = lVar3 == 0; - if (lVar2 == 0) { -LAB_7f05504c: - auStack32[0] = puVar4[1]; - } - else { - lVar3 = 1; - if (bVar1) { - *param_2 = fStack60; - param_2[1] = fStack56; - param_2[2] = fStack52; - param_2[3] = fStack48; - goto LAB_7f05504c; - } - if (fStack60 < *param_2) { - *param_2 = fStack60; - } - if (fStack56 < param_2[1]) { - param_2[1] = fStack56; - fVar5 = param_2[2]; - } - else { - fVar5 = param_2[2]; - } - if (fVar5 < fStack52) { - param_2[2] = fStack52; - fVar5 = param_2[3]; - } - else { - fVar5 = param_2[3]; - } - if (fVar5 < fStack48) { - param_2[3] = fStack48; - goto LAB_7f05504c; - } - auStack32[0] = puVar4[1]; - } - puVar4 = puVar4 + 1; - } while( true ); -} - - - -int FUN_7f05507c(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f0bbf48(); - if ((iVar1 != 0) && (*(float *)(iVar1 + 8) < *(float *)(param_1 + 0x18))) { - iVar1 = FUN_7f078a74(); - } - return iVar1; -} - - - -undefined4 FUN_7f055154(float *pfParm1,float fParm2) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - float in_f0; - float fVar4; - undefined4 uStack4; - - uStack4 = 1; - iVar1 = FUN_7f0bbf48(); - if (iVar1 != 0) { - pfVar2 = (float *)FUN_7f08a70c(); - pfVar3 = (float *)FUN_7f0789b4(); - fVar4 = pfVar3[2] * (pfParm1[2] - pfVar2[2]) + - (*pfParm1 - *pfVar2) * *pfVar3 + (pfParm1[1] - pfVar2[1]) * pfVar3[1]; - if ((*(float *)(iVar1 + 8) < fVar4) && - (FUN_7f078a74(), - *(float *)(iVar1 + 4) <= - (((fVar4 - *(float *)(iVar1 + 8)) * 100.00000000) / fParm2 + *(float *)(iVar1 + 8)) * in_f0)) - { - uStack4 = 0; - } - } - return uStack4; -} - - - -// WARNING: Instruction at (ram,0x7f0552d8) overlaps instruction at (ram,0x7f0552d4) -// -// WARNING: Could not reconcile some variable overlaps - -uint loc_7F054E94(char *param_1,float *param_2,float param_3,int param_4) - -{ - longlong lVar1; - ulonglong uVar2; - undefined8 uVar3; - undefined4 uVar4; - uint uVar5; - float *pfVar6; - undefined3 in_register_00000018; - uint *puVar7; - float afStack60 [4]; - undefined4 uStack44; - uint auStack32 [8]; - - uStack44 = 0; - loc_7F03CC0C(param_1,auStack32); - puVar7 = auStack32; - do { - if ((int)auStack32[0] < 0) { -LAB_7f055390: - return CONCAT13((undefined)uStack44,in_register_00000018); - } - uVar2 = FUN_7f0b6a00(auStack32[0]); - uVar4 = (undefined4)(uVar2 >> 0x20); - uVar5 = (uint)uVar2; - if (uVar2 != 0) { - uVar3 = FUN_7f0bbe78(param_2,param_3); - in_register_00000018 = (undefined3)((ulonglong)uVar3 >> 0x20); - if (CONCAT44(uVar4,uVar5 & 0xffffff00 | (uint)(byte)((ulonglong)uVar3 >> 0x38)) == 0) - goto LAB_7f055390; - if (param_4 != 0) { - lVar1 = FUN_7f055154(param_2,param_3); - if (lVar1 == 0) goto LAB_7f055390; - } - lVar1 = loc_7F054B64(param_1,afStack60); - uVar4 = (undefined4)((ulonglong)lVar1 >> 0x20); - uVar5 = (uint)lVar1; - if (lVar1 == 0) { - uVar3 = FUN_7f079048(param_2,param_3); - uStack44 = uVar5 & 0xffffff00 | (uint)(byte)((ulonglong)uVar3 >> 0x38); - in_register_00000018 = (undefined3)((ulonglong)uVar3 >> 0x20); - } - else { - uVar3 = FUN_7f0791e4(param_2,param_3,afStack60); - uStack44 = uVar5 & 0xffffff00 | (uint)(byte)((ulonglong)uVar3 >> 0x38); - in_register_00000018 = (undefined3)((ulonglong)uVar3 >> 0x20); - } - if (CONCAT44(uVar4,uStack44) != 0) { - pfVar6 = (float *)FUN_7f08a70c(); - if (DAT_8005348c < - (*param_2 - *pfVar6) * (*param_2 - *pfVar6) + - (param_2[1] - pfVar6[1]) * (param_2[1] - pfVar6[1]) + - (param_2[2] - pfVar6[2]) * (param_2[2] - pfVar6[2])) { - uStack44._3_1_ = 0; - } - } - goto LAB_7f055390; - } - auStack32[0] = puVar7[1]; - puVar7 = puVar7 + 1; - } while( true ); -} - - - -undefined8 loc_7F054FA0(int param_1) - -{ - undefined8 uVar1; - - uVar1 = 0; - if (*(char *)(param_1 + 0xbc) == '\x01') { - FUN_7f043218((float *)(param_1 + 0xb4),*(float *)(param_1 + 0x84),(float *)(param_1 + 0xb8), - *(float *)(param_1 + 0x8c),*(float *)(param_1 + 0x90),*(float *)(param_1 + 0x94)); - uVar1 = 1; - if (*(float *)(param_1 + 0x84) <= *(float *)(param_1 + 0xb4)) { - *(float *)(param_1 + 0xb4) = *(float *)(param_1 + 0x84); - } - else { - if (*(float *)(param_1 + 0xb4) <= 0.00000000) { - *(undefined4 *)(param_1 + 0xb4) = 0; - } - uVar1 = 1; - } - } - else { - if (*(char *)(param_1 + 0xbc) == '\x02') { - FUN_7f043218((float *)(param_1 + 0xb4),0.00000000,(float *)(param_1 + 0xb8), - *(float *)(param_1 + 0x8c),*(float *)(param_1 + 0x90),*(float *)(param_1 + 0x94)) - ; - uVar1 = 1; - if (*(float *)(param_1 + 0x84) <= *(float *)(param_1 + 0xb4)) { - *(float *)(param_1 + 0xb4) = *(float *)(param_1 + 0x84); - } - else { - if (*(float *)(param_1 + 0xb4) <= 0.00000000) { - *(undefined4 *)(param_1 + 0xb4) = 0; - } - } - } - } - return uVar1; -} - - - -void loc_7F055208(int param_1) - -{ - ushort *puVar1; - bool bVar2; - longlong lVar3; - int *piVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - int iVar8; - undefined4 *puVar9; - int iVar10; - longlong lVar11; - undefined4 uVar12; - - bVar2 = false; - lVar11 = 1; - if (param_1 != 0) { - uVar12 = *(undefined4 *)(param_1 + 0xb4); - iVar10 = param_1; - while( true ) { - *(undefined4 *)(iVar10 + 0xfc) = uVar12; - lVar3 = loc_7F054FA0(iVar10); - if (lVar3 == 0) { - iVar10 = *(int *)(iVar10 + 200); - } - else { - bVar2 = true; - iVar10 = *(int *)(iVar10 + 200); - } - if ((iVar10 == param_1) || (iVar10 == 0)) break; - uVar12 = *(undefined4 *)(iVar10 + 0xb4); - } - } - if ((bVar2) && (iVar10 = param_1, param_1 != 0)) { - while( true ) { - loc_7F052D7C(iVar10); - lVar11 = loc_7F044B14(*(byte **)(iVar10 + 0x10)); - if (lVar11 == 0) break; - iVar10 = *(int *)(iVar10 + 200); - if ((iVar10 == param_1) || (iVar10 == 0)) break; - } - } - iVar10 = param_1; - if (param_1 != 0) { - do { - if (bVar2) { - if (lVar11 == 0) { - *(undefined4 *)(iVar10 + 0xb8) = 0; - *(undefined4 *)(iVar10 + 0xb4) = *(undefined4 *)(iVar10 + 0xfc); - loc_7F052D7C(iVar10); - } - else { - if (*(char *)(iVar10 + 0xbc) == '\x01') { - if (*(float *)(iVar10 + 0x84) <= *(float *)(iVar10 + 0xb4)) { - *(undefined *)(iVar10 + 0xbc) = 0; - *(undefined4 *)(iVar10 + 0xb8) = 0; - *(undefined4 *)(iVar10 + 0xec) = DAT_800483ac; - FUN_7f054d08(iVar10); - iVar6 = *(int *)(iVar10 + 0x10); - } - else { - iVar6 = *(int *)(iVar10 + 0x10); - } - } - else { - if (*(char *)(iVar10 + 0xbc) == '\x02') { - if (*(float *)(iVar10 + 0xb4) <= 0.00000000) { - *(undefined *)(iVar10 + 0xbc) = 0; - *(undefined4 *)(iVar10 + 0xb8) = 0; - *(undefined4 *)(iVar10 + 0xec) = 0; - FUN_7f054d78(iVar10); - iVar6 = *(int *)(iVar10 + 0x10); - } - else { - iVar6 = *(int *)(iVar10 + 0x10); - } - } - else { - iVar6 = *(int *)(iVar10 + 0x10); - } - } - FUN_7f0405b4(iVar6,(byte *)(iVar10 + 0x7c)); - } - loc_7F05356C(iVar10); - } - else { - if ((*(ushort *)(iVar10 + 0x98) & 4) != 0) { - puVar1 = *(ushort **)(*(int *)(**(int **)(*(int *)(iVar10 + 0x14) + 8) + 0x14) + 0x14); - iVar6 = *(int *)(puVar1 + 2); - piVar4 = (int *)loc_7F06C888(*(int *)(iVar10 + 0x14),puVar1); - iVar8 = *(int *)(iVar10 + 0xcc); - if (iVar8 == *piVar4) { - *piVar4 = iVar8; - } - else { - lVar3 = 0; - if (*(short *)(iVar6 + 0xc) < 1) { - *piVar4 = iVar8; - } - else { - iVar5 = 0; - iVar8 = *piVar4; - while( true ) { - lVar3 = (longlong)((int)lVar3 + 1); - puVar9 = (undefined4 *)(iVar8 + iVar5); - puVar7 = (undefined4 *)(*(int *)(iVar10 + 0xcc) + iVar5); - iVar5 += 0x10; - *puVar7 = *puVar9; - puVar7[1] = puVar9[1]; - puVar7[2] = puVar9[2]; - puVar7[3] = puVar9[3]; - if ((longlong)*(short *)(iVar6 + 0xc) <= lVar3) break; - iVar8 = *piVar4; - } - *piVar4 = *(int *)(iVar10 + 0xcc); - } - } - } - } - *(undefined4 *)(iVar10 + 0xfc) = DAT_800483ac; - iVar10 = *(int *)(iVar10 + 200); - } while ((iVar10 != param_1) && (iVar10 != 0)); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0555E8(int param_1,float *param_2,float *param_3,int param_4) - -{ - short sVar1; - int iVar2; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fStack44; - float fStack36; - float fStack28; - - pfVar3 = (float *)((int)*(short *)(param_1 + 6) * 0x44 + _DAT_80075d5c); - iVar2 = FUN_7f089e6c(); - fVar7 = *(float *)(_DAT_8007a120 + 0x498) * 30.00000000 * 1.00000000 * 0.75000000 + - *(float *)(iVar2 + 8); - fVar6 = *(float *)(_DAT_8007a120 + 0x4a0) * 30.00000000 * 1.00000000 * 0.75000000 + - *(float *)(iVar2 + 0x10); - if (param_4 == 0) { - fStack44 = pfVar3[0xe]; - fVar9 = pfVar3[0xd]; - fStack36 = pfVar3[3]; - fStack28 = pfVar3[5]; - } - else { - fStack44 = pfVar3[0xc]; - fVar9 = pfVar3[0xb]; - fStack36 = pfVar3[4] * pfVar3[8] - pfVar3[7] * pfVar3[5]; - fStack28 = pfVar3[3] * pfVar3[7] - pfVar3[6] * pfVar3[4]; - } - fVar4 = loc_7F05AB54((*pfVar3 + fStack36 * fVar9) - fVar7,(pfVar3[2] + fStack28 * fVar9) - fVar6); - fVar5 = FUN_7f08a61c(); - fVar8 = fVar4 - fVar5; - if (fVar4 < fVar5) { - fVar8 = fVar8 + DAT_80053490; - } - if (DAT_80053498 < fVar8) { - fVar8 = fVar8 - DAT_80053494; - sVar1 = *(short *)(param_1 + 0x9a); - } - else { - sVar1 = *(short *)(param_1 + 0x9a); - } - if (sVar1 == 5) { - fVar4 = (*(float *)(param_1 + 0xb4) * DAT_80053494) / 360.00000000; - if (*(int *)(param_1 + 8) << 2 < 0) { - fVar4 = DAT_80053494 - fVar4; - } - fVar5 = FUN_7f0583c0(fVar4); - fVar4 = func_7F057FC4(fVar4); - fVar6 = loc_7F05AB54((*pfVar3 + fStack36 * fVar9 + - (fStack44 - fVar9) * (fStack36 * fVar5 + fStack28 * fVar4)) - fVar7, - (pfVar3[2] + fStack28 * fVar9 + - (fStack44 - fVar9) * (-fStack36 * fVar4 + fStack28 * fVar5)) - fVar6); - fVar7 = FUN_7f08a61c(); - fVar9 = fVar6 - fVar7; - if (fVar6 < fVar7) { - fVar9 = fVar9 + DAT_8005349c; - } - if (DAT_800534a0 < fVar9) { - fVar9 = fVar9 - DAT_800534a4; - } - } - else { - fVar6 = loc_7F05AB54((*pfVar3 + fStack36 * fStack44) - fVar7, - (pfVar3[2] + fStack28 * fStack44) - fVar6); - fVar7 = FUN_7f08a61c(); - fVar9 = fVar6 - fVar7; - if (fVar6 < fVar7) { - fVar9 = fVar9 + DAT_800534a8; - } - if (DAT_800534ac < fVar9) { - fVar9 = fVar9 - DAT_800534b0; - } - } - if (fVar8 < fVar9) { - *param_2 = fVar8; - *param_3 = fVar9; - } - else { - *param_2 = fVar9; - *param_3 = fVar8; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f055af4(int param_1,int param_2) - -{ - int iVar1; - float fStack28; - float afStack24 [3]; - float fStack12; - float fStack8; - undefined4 uStack4; - - uStack4 = 1; - if (_DAT_80071e38 == 0) { - loc_7F0555E8(param_1,&fStack8,&fStack12,param_2); - if (-DAT_800534b4 <= fStack8) { - if (fStack8 <= DAT_800534b4) { - if (-DAT_800534b4 <= fStack12) { - if (fStack12 <= DAT_800534b4) { - _DAT_80071e38 = *(undefined4 *)(param_1 + 0x10); - return 0; - } - iVar1 = *(int *)(param_1 + 200); - } - else { - iVar1 = *(int *)(param_1 + 200); - } - } - else { - iVar1 = *(int *)(param_1 + 200); - } - } - else { - iVar1 = *(int *)(param_1 + 200); - } - if ((iVar1 != 0) && (iVar1 != param_1)) { - while ((0.00000000 <= fStack8 || (fStack12 < 0.00000000))) { - loc_7F0555E8(iVar1,afStack24,&fStack28,param_2); - if ((0.00000000 < fStack8) && (afStack24[0] < fStack8)) { - fStack8 = afStack24[0]; - } - if (fStack12 < 0.00000000) { - if (fStack12 < fStack28) { - fStack12 = fStack28; - iVar1 = *(int *)(iVar1 + 200); - } - else { - iVar1 = *(int *)(iVar1 + 200); - } - } - else { - iVar1 = *(int *)(iVar1 + 200); - } - if ((iVar1 == 0) || (iVar1 == param_1)) break; - } - } - if ((fStack12 - fStack8 < DAT_800534b8) && ((fStack8 < 0.00000000 && (0.00000000 < fStack12)))) - { - _DAT_80071e38 = *(int *)(param_1 + 0x10); - uStack4 = 0; - } - } - return uStack4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F05598C(char *param_1) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - undefined4 uVar4; - uint uVar5; - float fVar6; - float fVar7; - float fVar8; - uint auStack96 [8]; - uint auStack64 [12]; - char *pcStack16; - int iStack12; - int iStack4; - - iStack4 = 1; - iVar1 = *(int *)(param_1 + 4); - if (((-1 < *(int *)(iVar1 + 8) << 6) && (0.00000000 < *(float *)(iVar1 + 0x84))) && - ((param_1[1] & 2U) != 0)) { - iStack12 = 0; - pcStack16 = (char *)FUN_7f089e6c(); - fVar6 = *(float *)(iVar1 + 0x58) - *(float *)(pcStack16 + 8); - fVar7 = *(float *)(iVar1 + 0x60) - *(float *)(pcStack16 + 0x10); - fVar8 = *(float *)(iVar1 + 0x5c) - *(float *)(pcStack16 + 0xc); - if (((DAT_800534bc <= fVar6 * fVar6 + fVar7 * fVar7) || (200.00000000 <= fVar8)) || - (fVar8 <= -200.00000000)) { - loc_7F03CC0C(param_1,auStack64); - loc_7F03CC0C(pcStack16,auStack96); - lVar2 = locret_7F03DBC4((int *)auStack64,(int *)auStack96); - uVar4 = (undefined4)((ulonglong)lVar2 >> 0x20); - uVar5 = (uint)lVar2; - if ((lVar2 != 0) && - (uVar3 = loc_7F03F73C((float *)(pcStack16 + 8),150.00000000, - (float *)((int)*(short *)(iVar1 + 6) * 0x44 + _DAT_80075d5c)), - CONCAT44(uVar4,uVar5 & 0xffffff00 | (uint)(byte)((ulonglong)uVar3 >> 0x38)) != 0)) { - iStack12 = 1; - } - } - else { - iStack12 = 1; - } - if (((iStack12 != 0) && (iStack4 = FUN_7f055af4(iVar1,0), iStack4 != 0)) && - (*(int *)(iVar1 + 0xc) < 0)) { - iStack4 = FUN_7f055af4(iVar1,1); - } - } - return iStack4; -} - - - -void loc_7F055A3C(int param_1) - -{ - char cVar1; - int iVar2; - uint uVar3; - - iVar2 = *(int *)(param_1 + 4); - cVar1 = *(char *)(iVar2 + 0xbc); - if ((cVar1 == '\x01') || (cVar1 == '\x03')) { - loc_7F054A0C(iVar2,2); - uVar3 = *(uint *)(iVar2 + 100); - } - else { - if (cVar1 == '\x02') { - loc_7F054A0C(iVar2,1); - uVar3 = *(uint *)(iVar2 + 100); - } - else { - if (cVar1 == '\0') { - if (0.50000000 < *(float *)(iVar2 + 0xb4)) { - loc_7F054A0C(iVar2,2); - uVar3 = *(uint *)(iVar2 + 100); - goto LAB_7f055f38; - } - loc_7F054A0C(iVar2,1); - } - uVar3 = *(uint *)(iVar2 + 100); - } - } -LAB_7f055f38: - *(uint *)(iVar2 + 100) = uVar3 | 0x4000; - *(uint *)(iVar2 + 0xc) = *(uint *)(iVar2 + 0xc) & 0xfffffff7; - loc_7F03E708(param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f055f6c(int param_1,int param_2) - -{ - float *pfVar2; - undefined8 uVar1; - float fVar3; - - pfVar2 = (float *)((int)*(short *)(param_2 + 6) * 0x44 + _DAT_80075d5c); - fVar3 = (pfVar2[3] * pfVar2[7] - pfVar2[6] * pfVar2[4]) * (*(float *)(param_1 + 0x10) - pfVar2[2]) - + (*(float *)(param_1 + 8) - *pfVar2) * (pfVar2[4] * pfVar2[8] - pfVar2[7] * pfVar2[5]) + - (*(float *)(param_1 + 0xc) - pfVar2[1]) * - (pfVar2[5] * pfVar2[6] - pfVar2[8] * pfVar2[3]); - if ((*(ushort *)(param_2 + 0x98) & 8) != 0) { - fVar3 = -fVar3; - } - if (fVar3 < 0.00000000) { - uVar1 = 0; - } - else { - uVar1 = 1; - if (0.00000000 < fVar3) { - uVar1 = 1; - } - } - return uVar1; -} - - - -void loc_7F055C34(int param_1,int param_2) - -{ - longlong lVar1; - int iVar2; - uint uVar3; - uint uVar4; - - if (((*(int *)(param_2 + 8) << 4 < 0) && (*(char *)(param_2 + 0xbc) == '\0')) && - (*(float *)(param_2 + 0xb4) == 0.00000000)) { - lVar1 = FUN_7f055f6c(param_1,param_2); - uVar3 = 0; - if ((*(ushort *)(param_2 + 0x98) & 8) == 0) { - if (lVar1 == 0) { - uVar3 = 0x20000000; - } - uVar4 = *(uint *)(param_2 + 8); - } - else { - if (lVar1 == 0) { - uVar4 = *(uint *)(param_2 + 8); - } - else { - uVar3 = 0x20000000; - uVar4 = *(uint *)(param_2 + 8); - } - } - if ((int)((uVar4 ^ uVar3) << 2) < 0) { - uVar3 = *(uint *)(param_2 + 8); - iVar2 = param_2; - while( true ) { - *(uint *)(iVar2 + 8) = uVar3 ^ 0x20000000; - iVar2 = *(int *)(iVar2 + 200); - if ((iVar2 == 0) || (iVar2 == param_2)) break; - uVar3 = *(uint *)(iVar2 + 8); - } - } - } - return; -} - - - -undefined8 FUN_7f05613c(int param_1) - -{ - int iVar1; - uint uVar2; - bool bVar3; - int iVar5; - longlong lVar4; - char *pcVar6; - uint uVar7; - - iVar1 = *(int *)(param_1 + 4); - iVar5 = FUN_7f089e6c(); - if (*(uint *)(iVar1 + 0x9c) == 0) { - bVar3 = true; - } - else { - lVar4 = FUN_7f08d7d4(*(uint *)(iVar1 + 0x9c)); - if (lVar4 == 0) { - lVar4 = FUN_7f055f6c(iVar5,iVar1); - bVar3 = false; - if (lVar4 == 0) { - if ((-1 < *(int *)(iVar1 + 0xc) << 3) && (*(int *)(iVar1 + 0xc) << 4 < 0)) { - bVar3 = true; - } - } - else { - if ((*(int *)(iVar1 + 0xc) << 3 < 0) && (-1 < *(int *)(iVar1 + 0xc) << 4)) { - bVar3 = true; - } - } - } - else { - bVar3 = true; - } - } - lVar4 = loc_7F03E798(iVar1); - if (lVar4 == 0) { - bVar3 = false; - } - if (bVar3) { - loc_7F055C34(iVar5,iVar1); - loc_7F055A3C(param_1); - } - else { - if ((*(char *)(iVar1 + 0xbc) == '\0') && (*(float *)(iVar1 + 0xb4) < 0.50000000)) { - uVar7 = *(uint *)(iVar1 + 0xc); - if ((uVar7 & 4) == 0) { - iVar5 = FUN_7f08dbcc(iVar1); - if ((iVar5 == 0) || (*(int *)(iVar5 + 0x1c) == 0)) { - pcVar6 = (char *)FUN_7f0c2a88(0xa440); - FUN_7f08ac40(pcVar6); - uVar7 = *(uint *)(iVar1 + 0xc); - } - else { - pcVar6 = (char *)FUN_7f0c2a88(*(uint *)(iVar5 + 0x1c)); - FUN_7f08ac40(pcVar6); - uVar7 = *(uint *)(iVar1 + 0xc); - } - uVar2 = *(uint *)(iVar1 + 100); - } - else { - uVar2 = *(uint *)(iVar1 + 100); - } - *(uint *)(iVar1 + 0xc) = uVar7 | 8; - *(uint *)(iVar1 + 100) = uVar2 | 0x4000; - } - } - return 0; -} - - - -void FUN_7f0562c4(void) - -{ - if (DAT_80030b00 < 1) { - DAT_80030b00 = 1; - } - return; -} - - - -void FUN_7f0562e8(void) - -{ - ulonglong uVar1; - - if ((DAT_80030b04 != 0) && (uVar1 = locret_70008E00(DAT_80030b04), uVar1 != 0)) { - loc_7000905C(DAT_80030b04); - } - return; -} - - - -void FUN_7f056328(void) - -{ - DAT_80030b00 = 0; - FUN_7f0562e8(); - return; -} - - - -ulonglong FUN_7f05634c(void) - -{ - return (ulonglong)(0 < DAT_80030b00); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f056360(undefined4 *param_1) - -{ - int iVar1; - - DAT_80030b0c = 1; - DAT_80030b20 = 0; - DAT_80030b10 = *param_1; - DAT_80030b14 = param_1[1]; - DAT_80030b18 = param_1[2]; - iVar1 = FUN_7000695c(); - if (iVar1 != 0x20) { - _DAT_80071eb8 = 0x45610000; - } - else { - _DAT_80071eb8 = 0x42f00000; - } - _DAT_80071ebc = (uint)(iVar1 != 0x20); - return; -} - - - -void FUN_7f0563f4(void) - -{ - ulonglong uVar1; - - if ((DAT_80030b24 != 0) && (uVar1 = locret_70008E00(DAT_80030b24), uVar1 != 0)) { - loc_7000905C(DAT_80030b24); - } - return; -} - - - -ulonglong FUN_7f056434(void) - -{ - return (ulonglong)(0.00000000 < DAT_80030b08); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f056460(undefined8 param_1,undefined8 param_2) - -{ - ulonglong uVar1; - int iVar2; - int **ppiVar3; - undefined8 uVar4; - undefined8 extraout_a0; - undefined8 uVar5; - undefined8 extraout_a1; - - uVar1 = ZEXT48(&DAT_80030b0c); - if ((DAT_80030b0c != 0) && - (DAT_80030b08 = DAT_80030b08 + DAT_800483b4, _DAT_80071eb8 <= DAT_80030b08)) { - DAT_80030b08 = _DAT_80071eb8; - DAT_80030b0c = 0; - } - if (((0.00000000 < DAT_80030b08) && (DAT_800364f4 == 0)) && - (uVar1 = FUN_7f0bb858(DAT_80030b08 / _DAT_80071eb8,param_1,param_2), _DAT_80071ebc != 0)) { - if (DAT_80030b1c < DAT_800483ac + -0xe1) { - DAT_80030b1c = DAT_800483ac; - uVar4 = 0xffffffff80060000; - uVar5 = 0x62; - if (600.00000000 <= DAT_80030b08) { - FUN_70008e18((longlong)_DAT_80063760,0x62,NULL); - uVar4 = extraout_a0; - uVar5 = extraout_a1; - } - if (1800.00000000 <= DAT_80030b08) { - FUN_7f089ff0(0x3e000000,uVar4,uVar5,0,0xffffffffffffffff,0); - } - } - uVar1 = ZEXT48(&DAT_80030b20); - if (DAT_80030b20 < _DAT_80071eb8) { - DAT_80030b20 = DAT_80030b20 + DAT_800483b4; - if (DAT_80030b24 == 0) { - iVar2 = FUN_7f0c086c(); - uVar1 = SEXT48(iVar2); - if (uVar1 == 0) { - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,0x66,(int **)&DAT_80030b24); - uVar1 = SEXT48((int)ppiVar3); - } - } - if (DAT_80030b24 != 0) { - uVar1 = FUN_7f053f0c(DAT_80030b24,(float *)&DAT_80030b10); - } - } - else { - if ((DAT_80030b24 != 0) && (uVar1 = locret_70008E00(DAT_80030b24), uVar1 != 0)) { - uVar1 = loc_7000905C(DAT_80030b24); - } - } - } - return uVar1; -} - - - -void FUN_7f05665c(uint param_1,longlong param_2) - -{ - if (param_2 != 0) { - DAT_80030b28 = DAT_80030b28 & ~param_1; - return; - } - DAT_80030b28 = DAT_80030b28 | param_1; - return; -} - - - -ulonglong FUN_7f056698(void) - -{ - return (ulonglong)(DAT_80030b28 == 0); -} - - - -void FUN_7f0566ac(undefined4 param_1) - -{ - DAT_80030b30 = param_1; - return; -} - - - -undefined4 FUN_7f0566b8(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -void FUN_7f0566c4(undefined4 param_1) - -{ - DAT_80030b2c = param_1; - return; -} - - - -undefined4 FUN_7f0566d0(void) - -{ - return DAT_80030b2c; -} - - - -void FUN_7f0566dc(void) - -{ - if (DAT_80030b2c != 0) { - DAT_80030b30 = DAT_80030b30 - DAT_800483b4; - } - return; -} - - - -undefined4 * FUN_7f05670c(undefined4 *param_1) - -{ - undefined4 *puVar1; - short sVar3; - short sVar4; - uint *puVar2; - int iVar5; - int iVar6; - float fVar7; - float fVar8; - int iVar9; - - if (DAT_80030b28 == 0) { - fVar8 = DAT_80030b30; - if (DAT_80030b30 < 0.00000000) { - fVar8 = -DAT_80030b30; - } - fVar7 = loc_7F05C3C8(fVar8 / 3600.00000000); - iVar9 = (int)fVar7; - fVar7 = loc_7F05C3C8(fVar8 / 60.00000000); - iVar6 = (int)fVar7 + iVar9 * -0x3c; - fVar8 = loc_7F05C3C8((fVar8 * 100.00000000) / 60.00000000); - iVar5 = (int)fVar8 + iVar9 * -6000 + iVar6 * -100; - puVar1 = loc_7F0ACED4(param_1); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar2 = display_ammo_total_in_a1 - (puVar1,(iVar9 % 100) / 10,0x82,2,((int)sVar4 + (int)sVar3) - 0x12,2,1); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar2 = display_ammo_total_in_a1(puVar2,iVar9 % 10,0x8a,2,((int)sVar4 + (int)sVar3) - 0x12,2,1) - ; - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar2 = FUN_7f06a03c(puVar2,&DAT_80052a74,0x93,2,((int)sVar4 + (int)sVar3) - 0x12,2,1); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar2 = display_ammo_total_in_a1 - (puVar2,(iVar6 % 0x3c) / 10,0x9c,2,((int)sVar4 + (int)sVar3) - 0x12,2,1); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar2 = display_ammo_total_in_a1(puVar2,iVar6 % 10,0xa4,2,((int)sVar4 + (int)sVar3) - 0x12,2,1) - ; - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar2 = FUN_7f06a03c(puVar2,&DAT_80052a74,0xad,2,((int)sVar4 + (int)sVar3) - 0x12,2,1); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar2 = display_ammo_total_in_a1 - (puVar2,(iVar5 % 100) / 10,0xb6,2,((int)sVar4 + (int)sVar3) - 0x12,2,1); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - puVar2 = display_ammo_total_in_a1(puVar2,iVar5 % 10,0xbe,2,((int)sVar4 + (int)sVar3) - 0x12,2,1) - ; - param_1 = combiner_bayer_lod_perspective(puVar2); - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f056aec(void) - -{ - ulonglong uVar1; - int iVar2; - undefined8 extraout_a0; - undefined8 uVar3; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - undefined8 uVar4; - - uVar1 = FUN_7f05634c(); - uVar3 = extraout_a0; - uVar4 = extraout_a1; - if (uVar1 != 0) { - uVar3 = extraout_a0; - uVar4 = extraout_a1; - if (DAT_80030b04 == 0) { - iVar2 = FUN_7f0c086c(); - uVar3 = 0xffffffff80060000; - uVar4 = extraout_a1_00; - if (iVar2 == 0) { - FUN_70008e18((longlong)_DAT_80063760,0xa3,(int **)&DAT_80030b04); - uVar3 = extraout_a0_00; - uVar4 = extraout_a1_01; - } - } - DAT_80030b00 += DAT_800483a4; - if (0x708 < DAT_80030b00) { - FUN_7f056328(); - uVar3 = extraout_a0_01; - uVar4 = extraout_a1_02; - } - } - FUN_7f056460(uVar3,uVar4); - FUN_7f0566dc(); - FUN_7f0521c4(); - DAT_80030b34 = 0; - return; -} - - - -void FUN_7f056b8c(void) - -{ - char cVar1; - int iVar2; - int iVar3; - int iVar4; - ushort *puVar6; - longlong lVar5; - char *pcVar7; - - pcVar7 = (char *)FUN_7f03a724(); - if (pcVar7 == NULL) { - return; - } - cVar1 = *pcVar7; - do { - if (cVar1 == '\x01') { - if ((pcVar7[1] & 2U) == 0) { - iVar2 = *(int *)(pcVar7 + 4); - if ((*(byte *)(iVar2 + 2) & 0x80) == 0) { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - else { - iVar3 = *(int *)(iVar2 + 0x14); - puVar6 = FUN_7f04b87c(iVar2); - if (puVar6 == NULL) { - return; - } - iVar4 = *(int *)(puVar6 + 2); - if (iVar4 == 0) { - return; - } - lVar5 = FUN_7f04b994(*(int *)(*(int *)(iVar2 + 0x14) + 8),(int)puVar6); - if (lVar5 == 0) { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - else { - if (*(int *)(iVar4 + 8) != - *(int *)(*(int *)(iVar3 + 0x10) + (uint)*(ushort *)(iVar4 + 0x1a) * 4)) { - FUN_7f041324(iVar2,1); - return; - } - pcVar7 = *(char **)(pcVar7 + 0x24); - } - } - } - else { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - } - else { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - if (pcVar7 == NULL) { - return; - } - cVar1 = *pcVar7; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f056c78(void) - -{ - undefined2 *puVar1; - longlong lVar2; - ulonglong uVar3; - undefined *puVar4; - ulonglong uVar5; - - puVar1 = *(undefined2 **)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - locret_7F05220C((int)puVar1,0); - locret_7F05220C((int)puVar1,1); - uVar5 = 1; - do { - lVar2 = def_7F09B27C(uVar5); - if ((-1 < lVar2) && (uVar3 = FUN_7f08cba4((int)uVar5), uVar3 != 0)) { - puVar4 = loc_7F0523BC(puVar1,(int)lVar2,(char)uVar5,0x20000000,NULL,NULL); - if (puVar4 != NULL) { - FUN_7f04c3d4((int)puVar4,1); - loc_7F04CA2C(puVar4); - } - } - uVar5 = SEXT48((int)uVar5 + 1); - } while (uVar5 != 0x59); - return; -} - - - -undefined8 -loc_7F0568E0(undefined4 *param_1,longlong param_2,float param_3,undefined4 *param_4, - undefined4 *param_5) - -{ - undefined7 extraout_var; - undefined uVar1; - undefined extraout_v0_lo; - undefined7 in_register_00000018; - - *param_4 = *param_1; - param_4[1] = param_1[1]; - param_4[2] = param_1[2]; - *param_5 = (int)param_2; - if (param_2 == 0) { - uVar1 = 0; - } - else { - if (0.00000000 < param_3) { - loc_7F0B1C80(param_5,*param_4,param_4[2],param_3,0x1f,0,0x3f800000); - if (CONCAT71(extraout_var,extraout_v0_lo) < 0) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 1; - } - } - return CONCAT17(uVar1,in_register_00000018); -} - - - -undefined8 FUN_7f056df4(int param_1) - -{ - if (true) { - switch(*(undefined *)(param_1 + 3)) { - case 1: - return 0x40; - case 2: - return 2; - case 3: - return 0x20; - case 4: - return 0x21; - case 5: - return 0x20; - case 6: - return 0x3b; - case 7: - return 0x21; - case 8: - return 0x22; - case 9: - return 7; - 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 0x14: - return 0x2d; - case 0x15: - return 0x22; - case 0x16: - return 4; - 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 0x24: - return 0x20; - case 0x25: - return 10; - case 0x26: - return 4; - case 0x27: - return 0x2c; - case 0x28: - return 0x2d; - case 0x2a: - return 0x20; - case 0x2b: - return 0x20; - case 0x2c: - return 5; - case 0x2d: - return 0x38; - case 0x2e: - return 7; - case 0x2f: - return 0x25; - } - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F056B00(int param_1) - -{ - undefined8 uVar1; - int iVar2; - int iVar3; - - if (-1 < param_1) { - if (_DAT_80075d4c == 0) { - return 0; - } - iVar2 = 0; - iVar3 = _DAT_80075d4c; - if (*(char *)(_DAT_80075d4c + 3) == '0') { - return 0; - } - do { - if (iVar2 == param_1) { - return iVar3; - } - uVar1 = FUN_7f056df4(iVar3); - iVar3 = (int)uVar1 * 4 + iVar3; - iVar2 += 1; - } while (*(char *)(iVar3 + 3) != '0'); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f05701c(int param_1) - -{ - undefined8 uVar1; - int iVar2; - int iVar3; - - if (_DAT_80075d4c != 0) { - iVar3 = 0; - iVar2 = _DAT_80075d4c; - if (*(char *)(_DAT_80075d4c + 3) == '0') { - return -1; - } - do { - if (iVar2 == param_1) { - return iVar3; - } - uVar1 = FUN_7f056df4(iVar2); - iVar2 = (int)uVar1 * 4 + iVar2; - iVar3 += 1; - } while (*(char *)(iVar2 + 3) != '0'); - } - return -1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0570a8(int param_1) - -{ - undefined8 uVar1; - int iVar2; - int iVar3; - int iVar4; - - if (_DAT_80075d4c == 0) { -LAB_7f057118: - iVar4 = -1; - } - else { - iVar4 = 0; - if (*(char *)(_DAT_80075d4c + 3) == '0') { - iVar4 = -1; - } - else { - iVar2 = *(int *)(_DAT_80075d4c + 0x10); - iVar3 = _DAT_80075d4c; - while (param_1 != iVar2) { - uVar1 = FUN_7f056df4(iVar3); - iVar3 = (int)uVar1 * 4 + iVar3; - iVar4 += 1; - if (*(char *)(iVar3 + 3) == '0') goto LAB_7f057118; - iVar2 = *(int *)(iVar3 + 0x10); - } - } - } - return iVar4; -} - - - -ulonglong FUN_7f057138(int param_1) - -{ - int *piVar1; - bool bVar2; - - piVar1 = (int *)(&PTR_DAT_8003a258)[param_1 * 3]; - bVar2 = *piVar1 == 0; - if (bVar2) { - FUN_7f076b3c((longlong)(int)piVar1,(&PTR_s_Palarm1Z_8003a25c)[param_1 * 3]); - FUN_7f0762e4((ushort **)(&PTR_DAT_8003a258)[param_1 * 3]); - } - return (ulonglong)bVar2; -} - - - -void loc_7F056E80(int param_1) - -{ - char cVar1; - char *pcVar2; - int iVar3; - float *pfVar4; - float fVar5; - float fVar6; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - - pcVar2 = *(char **)(param_1 + 0x10); - loc_7F03E1F8((int)pcVar2); - if (*(int *)(param_1 + 0xc) << 0xe < 0) { - if (*(int *)(pcVar2 + 0x14) == 0) { - pcVar2[0x2c] = -1; - } - else { - cVar1 = *(char *)(*(int *)(pcVar2 + 0x14) + 3); - pcVar2[0x2d] = -1; - pcVar2[0x2c] = cVar1; - } - } - else { - iVar3 = FUN_7f040378(param_1); - if (iVar3 != 0) { - pfVar4 = (float *)(param_1 + 0x18); - fStack16 = loc_7F03E90C(iVar3,pfVar4); - fStack16 = fStack16 - 30.00000000; - fStack12 = loc_7F03EA4C(iVar3,(int)pfVar4); - fStack8 = loc_7F03EB8C(iVar3,(int)pfVar4); - fStack8 = fStack8 - 30.00000000; - fStack28 = loc_7F03E9AC(iVar3,pfVar4); - fStack28 = fStack28 + 30.00000000; - fStack24 = loc_7F03EAEC(iVar3,(int)pfVar4); - fStack20 = loc_7F03EC2C(iVar3,(int)pfVar4); - fVar6 = -fStack16; - fStack20 = fStack20 + 30.00000000; - if (fVar6 <= 0.00000000) { - fVar6 = 0.00000000; - } - fVar5 = -fStack8; - if (fVar5 <= fVar6) { - fVar5 = fVar6; - } - fVar6 = fStack28; - if (fStack28 <= fVar5) { - fVar6 = fVar5; - } - fVar5 = fStack20; - if (fStack20 <= fVar6) { - fVar5 = fVar6; - } - fStack16 = fStack16 + *(float *)(param_1 + 0x58); - fStack12 = fStack12 + *(float *)(param_1 + 0x5c); - fStack8 = fStack8 + *(float *)(param_1 + 0x60); - fStack28 = fStack28 + *(float *)(param_1 + 0x58); - fStack24 = fStack24 + *(float *)(param_1 + 0x5c); - fStack20 = fStack20 + *(float *)(param_1 + 0x60); - loc_7F03E3E0(pcVar2,&fStack16,&fStack28,fVar5); - } - } - loc_7F03E260((int)pcVar2); - return; -} - - - -int FUN_7f0573a0(undefined8 param_1,int param_2) - -{ - int iVar1; - - iVar1 = loc_7F056B00(param_2); - if ((iVar1 != 0) && (true)) { - switch(*(undefined *)(iVar1 + 3)) { - case 1: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0x11: - case 0x14: - case 0x15: - case 0x24: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2d: - case 0x2f: - break; - case 2: - case 9: - case 0xe: - case 0x12: - case 0x13: - case 0x16: - case 0x17: - case 0x18: - case 0x19: - case 0x1a: - case 0x1b: - case 0x1c: - case 0x1d: - case 0x1e: - case 0x1f: - case 0x20: - case 0x21: - case 0x22: - case 0x23: - case 0x25: - case 0x26: - case 0x2c: - case 0x2e: - iVar1 = 0; - } - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f057408(ulonglong param_1,int *param_2,int *param_3,longlong param_4,int param_5, - int param_6) - -{ - byte bVar1; - ulonglong uVar2; - undefined8 uVar3; - int iVar4; - int iVar5; - int iVar6; - - iVar5 = 0; - iVar6 = 0; - if (_DAT_80075d4c != 0) { - bVar1 = *(byte *)(_DAT_80075d4c + 3); - iVar4 = _DAT_80075d4c; - while (bVar1 != 0x30) { - if ((param_1 & 0xff) == (ulonglong)bVar1) { - if (*(int *)(iVar4 + 0x10) == 0) { - if ((param_4 == 0) && (param_5 == 0)) { - return iVar4; - } - } - else { - if (((((param_1 != 8) && ((*(uint *)(iVar4 + 100) & 0x80) == 0)) && - ((*(byte *)(iVar4 + 2) & 4) == 0)) && (*(int *)(*(int *)(iVar4 + 0x10) + 0x1c) == 0)) - && ((param_5 == 0 || - (uVar2 = locret_7F06C08C(*(int *)(iVar4 + 0x14),param_6), uVar2 != 0)))) { - if ((iVar5 == 0) && ((*(byte *)(*(int *)(iVar4 + 0x10) + 1) & 2) == 0)) { - iVar5 = iVar4; - } - if (iVar6 == 0) { - iVar6 = iVar4; - } - } - } - } - uVar3 = FUN_7f056df4(iVar4); - iVar4 = (int)uVar3 * 4 + iVar4; - bVar1 = *(byte *)(iVar4 + 3); - } - } - *param_2 = iVar5; - *param_3 = iVar6; - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f057580(short param_1) - -{ - short sVar1; - int iVar2; - - if (_DAT_80075dc0 != 0) { - sVar1 = *(short *)(_DAT_80075dc0 + 4); - iVar2 = _DAT_80075dc0; - while( true ) { - if (param_1 == sVar1) { - return iVar2; - } - iVar2 = *(int *)(iVar2 + 8); - if (iVar2 == 0) break; - sVar1 = *(short *)(iVar2 + 4); - } - } - return 0; -} - - - -int FUN_7f0575c0(short param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = FUN_7f057580(param_1); - iVar2 = 0; - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 0xc); - } - if ((iVar2 != 0) && ((*(uint *)(iVar2 + 100) & 0x10) == 0)) { - iVar2 = 0; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f057604(int param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar2 = 0; - if (_DAT_80075dc4 != 0) { - iVar3 = *(int *)(_DAT_80075dc4 + 4); - iVar1 = _DAT_80075dc4; - while (param_1 != iVar3) { - iVar1 = *(int *)(iVar1 + 0xc); - if (iVar1 == 0) goto LAB_7f057650; - iVar3 = *(int *)(iVar1 + 4); - } - iVar2 = FUN_7f0c2a88((uint)*(ushort *)(iVar1 + 10)); - } -LAB_7f057650: - if (iVar2 == 0) { - if (param_1 == 0) { - iVar2 = FUN_7f0c2a88(0xb029); - } - else { - if (param_1 == 1) { - iVar2 = FUN_7f0c2a88(0xb02a); - } - else { - iVar2 = FUN_7f0c2a88(0xb02b); - } - } - } - return iVar2; -} - - - -int FUN_7f0576a8(void) - -{ - return DAT_80032330 + 1; -} - - - -int FUN_7f0576b8(longlong param_1) - -{ - int iVar1; - - if ((param_1 < 10) && (*(int *)(&DAT_80075d70 + (int)param_1 * 4) != 0)) { - iVar1 = FUN_7f0c2a88((uint)*(ushort *)(*(int *)(&DAT_80075d70 + (int)param_1 * 4) + 10)); - } - else { - iVar1 = 0; - } - return iVar1; -} - - - -undefined FUN_7f057704(longlong param_1) - -{ - if ((param_1 < 10) && (*(int *)(&DAT_80075d70 + (int)param_1 * 4) != 0)) { - return *(undefined *)(*(int *)(&DAT_80075d70 + (int)param_1 * 4) + 0xf); - } - return 0; -} - - - -int loc_7F057498(longlong param_1) - -{ - char cVar1; - int iVar5; - longlong lVar2; - ulonglong uVar3; - int iVar6; - undefined8 uVar4; - int iVar7; - int iVar8; - - iVar8 = 1; - if (param_1 < 10) { - iVar5 = (int)param_1 * 4; - iVar7 = *(int *)(&DAT_80075d70 + iVar5); - if (iVar7 == 0) { - iVar8 = *(int *)(&DAT_80075d98 + iVar5); - } - else { - cVar1 = *(char *)(iVar7 + 3); - while (cVar1 != '\x18') { - iVar5 = 1; - if (true) { - switch(cVar1) { - case '\x19': - iVar6 = FUN_7f0575c0((short)*(undefined4 *)(iVar7 + 4)); - if (((iVar6 != 0) && (*(int *)(iVar6 + 0x10) != 0)) && - (uVar3 = FUN_7f04f338(iVar6), uVar3 != 0)) { - iVar5 = 0; - } - break; - case '\x1a': - uVar3 = FUN_7f033638(0,*(uint *)(iVar7 + 4)); - if (uVar3 == 0) { - iVar5 = 0; - } - break; - case '\x1b': - uVar3 = FUN_7f033638(0,*(uint *)(iVar7 + 4)); - if (uVar3 != 0) { - iVar5 = 2; - } - break; - case '\x1c': - iVar6 = FUN_7f0575c0((short)*(undefined4 *)(iVar7 + 4)); - if (((iVar6 == 0) || (*(int *)(iVar6 + 0x10) == 0)) || - (uVar3 = FUN_7f04f338(iVar6), uVar3 == 0)) { - iVar5 = 2; - } - else { - lVar2 = FUN_7f08d944(*(int *)(iVar6 + 0x10)); - if (lVar2 == 0) { - iVar5 = 0; - } - } - break; - case '\x1d': - iVar6 = FUN_7f0575c0((short)*(undefined4 *)(iVar7 + 4)); - if (((iVar6 != 0) && (*(int *)(iVar6 + 0x10) != 0)) && - (lVar2 = FUN_7f08d944(*(int *)(iVar6 + 0x10)), lVar2 != 0)) { - iVar5 = 0; - } - break; - case '\x1e': - iVar6 = FUN_7f0575c0((short)*(undefined4 *)(iVar7 + 4)); - if (*(int *)(iVar7 + 8) == 0) { - if (((iVar6 == 0) || (*(int *)(iVar6 + 0x10) == 0)) || - (uVar3 = FUN_7f04f338(iVar6), uVar3 == 0)) { - iVar5 = 2; - } - else { - iVar5 = 0; - } - } - break; - case ' ': - if (*(int *)(iVar7 + 8) == 0) { - iVar5 = 0; - } - break; - case '!': - if (*(int *)(iVar7 + 0xc) == 0) { - iVar5 = 0; - } - break; - case '\"': - iVar6 = FUN_7f0674d0(); - if (iVar6 == 0) { - iVar5 = 0; - } - } - } - if (iVar8 == 1) { - if (iVar5 != 1) { - iVar8 = iVar5; - } - } - else { - if ((iVar8 == 0) && (iVar5 == 2)) { - iVar8 = iVar5; - } - } - uVar4 = FUN_7f056df4(iVar7); - iVar7 = (int)uVar4 * 4 + iVar7; - cVar1 = *(char *)(iVar7 + 3); - } - } - } - iVar7 = FUN_7f091b10(); - if (iVar7 != 0) { - iVar8 = 1; - } - return iVar8; -} - - - -undefined8 FUN_7f0579b8(void) - -{ - int iVar1; - int iVar2; - longlong lVar3; - - lVar3 = 0; - iVar1 = FUN_7f0576a8(); - if (0 < iVar1) { - do { - iVar1 = FUN_7f057704(lVar3); - iVar2 = FUN_7f0c0878(); - if ((iVar1 <= iVar2) && (iVar1 = loc_7F057498(lVar3), iVar1 != 1)) { - return 0; - } - lVar3 = (longlong)((int)lVar3 + 1); - iVar1 = FUN_7f0576a8(); - } while (lVar3 < (longlong)iVar1); - } - return 1; -} - - - -void FUN_7f057a40(void) - -{ - DAT_80032334 = 1; - return; -} - - - -void FUN_7f057a50(void) - -{ - int iVar1; - int iVar2; - int iVar3; - uint uVar4; - char *pcVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - longlong lVar10; - int *piVar11; - int iVar12; - undefined4 auStack60 [15]; - - iVar12 = 0; - puVar8 = &DAT_80053640; - puVar6 = auStack60; - do { - puVar9 = puVar8 + 3; - puVar7 = puVar6 + 3; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar8 = puVar9; - puVar6 = puVar7; - } while (puVar9 != (undefined4 *)0x80053670); - *(undefined2 *)puVar7 = uRam80053670; - if (DAT_80032334 == 0) { - piVar11 = (int *)&DAT_80075d98; - lVar10 = 0; - if (-1 < DAT_80032330) { - do { - iVar1 = loc_7F057498(lVar10); - if (iVar1 != *piVar11) { - *piVar11 = iVar1; - iVar2 = FUN_7f057704(lVar10); - iVar3 = FUN_7f0c0878(); - if (iVar2 <= iVar3) { - if (DAT_80048500 == 0) { - uVar4 = FUN_7f0c2a88(0xb02c); - sprintf((int)auStack60,(byte *)s__s__c__8005367c,uVar4,iVar12 + 0x61); - } - else { - uVar4 = FUN_7f0c2a88(0xb02c); - sprintf((int)auStack60,(byte *)s__s__c_80053674,uVar4,iVar12 + 0x1a); - } - if (iVar1 == 1) { - pcVar5 = (char *)FUN_7f0c2a88(0xb02d); - locret_7000A844((char *)auStack60,pcVar5); - } - else { - if (iVar1 == 0) { - pcVar5 = (char *)FUN_7f0c2a88(0xb02e); - locret_7000A844((char *)auStack60,pcVar5); - } - else { - if (iVar1 == 2) { - pcVar5 = (char *)FUN_7f0c2a88(0xb02f); - locret_7000A844((char *)auStack60,pcVar5); - } - } - } - FUN_7f08ac40((char *)auStack60); - } - } - iVar1 = FUN_7f057704(lVar10); - iVar2 = FUN_7f0c0878(); - if (iVar1 <= iVar2) { - iVar12 += 1; - } - lVar10 = (longlong)((int)lVar10 + 1); - piVar11 = piVar11 + 1; - } while (lVar10 <= (longlong)DAT_80032330); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f057c60(ulonglong param_1) - -{ - uint uVar1; - int iVar2; - int iVar3; - - if (_DAT_80075dc8 != 0) { - iVar3 = *(int *)(_DAT_80075dc8 + 8); - iVar2 = _DAT_80075dc8; - while( true ) { - if (iVar3 == 0) { - uVar1 = *(uint *)(iVar2 + 4); - if (uVar1 < 10000) { - iVar3 = *(int *)(uVar1 * 0x2c + _DAT_80075d58 + 0x28); - } - else { - iVar3 = *(int *)(uVar1 * 0x44 + _DAT_80075d5c + -0xa6018); - } - if (iVar3 == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - if (param_1 == (ulonglong)*(byte *)(iVar3 + 3)) { - *(undefined4 *)(iVar2 + 8) = 1; - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 8); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f057d04(int param_1,ulonglong param_2) - -{ - uint uVar1; - int iVar2; - int iVar3; - - if (_DAT_80075dcc != 0) { - iVar3 = *(int *)(_DAT_80075dcc + 0xc); - iVar2 = _DAT_80075dcc; - while( true ) { - if (iVar3 == 0) { - if (param_1 == *(int *)(iVar2 + 4)) { - uVar1 = *(uint *)(iVar2 + 8); - if (uVar1 < 10000) { - iVar3 = *(int *)(uVar1 * 0x2c + _DAT_80075d58 + 0x28); - } - else { - iVar3 = *(int *)(uVar1 * 0x44 + _DAT_80075d5c + -0xa6018); - } - if (iVar3 == 0) { - iVar2 = *(int *)(iVar2 + 0x10); - } - else { - if (param_2 == (ulonglong)*(byte *)(iVar3 + 3)) { - *(undefined4 *)(iVar2 + 0xc) = 1; - iVar2 = *(int *)(iVar2 + 0x10); - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 0xc); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f057db4(void) - -{ - int iVar1; - int iVar4; - ulonglong uVar2; - longlong lVar3; - int iVar5; - float fVar6; - float fVar7; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float afStack36 [2]; - float afStack28 [2]; - float afStack20 [5]; - - if (_DAT_80075dd0 == 0) { - return; - } - iVar4 = *(int *)(_DAT_80075dd0 + 8); - iVar5 = _DAT_80075dd0; - do { - if (iVar4 == 0) { - iVar4 = FUN_7f0575c0((short)*(undefined4 *)(iVar5 + 4)); - if (iVar4 == 0) { -LAB_7f057fa0: - iVar5 = *(int *)(iVar5 + 0xc); - } - else { - iVar1 = *(int *)(iVar4 + 0x10); - if (iVar1 == 0) { - iVar5 = *(int *)(iVar5 + 0xc); - } - else { - if ((*(byte *)(iVar1 + 1) & 2) == 0) { - iVar5 = *(int *)(iVar5 + 0xc); - } - else { - if (0.00000000 <= *(float *)(iVar1 + 0x18)) { - uVar2 = FUN_7f04f338(iVar4); - if ((uVar2 == 0) || - (lVar3 = loc_7F050DD8(*(int *)(iVar4 + 0x10),afStack20,afStack28,afStack36), - lVar3 == 0)) goto LAB_7f057fa0; - fVar6 = (float)sub_7F03F948(afStack20,afStack28,afStack36,&fStack44,&fStack52); - FUN_7f078ab4(); - if (fVar6 < fStack44) { - FUN_7f078ab4(); - fVar7 = fVar6; - FUN_7f078a94(); - if (fStack44 < fVar7 + fVar6) { - FUN_7f078ab4(); - if (fVar7 < fStack52) { - FUN_7f078ab4(); - fVar6 = fVar7; - FUN_7f078a94(); - if (fStack52 < fVar6 + fVar7) { - FUN_7f078ac4(); - if (fVar6 < fStack40) { - FUN_7f078ac4(); - fVar7 = fVar6; - FUN_7f078aa4(); - if (fStack40 < fVar7 + fVar6) { - FUN_7f078ac4(); - if (fVar7 < fStack48) { - FUN_7f078ac4(); - fVar6 = fVar7; - FUN_7f078aa4(); - if (fStack48 < fVar6 + fVar7) { - *(undefined4 *)(iVar5 + 8) = 1; - goto LAB_7f057fa0; - } - iVar5 = *(int *)(iVar5 + 0xc); - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - } - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - if (iVar5 == 0) { - return; - } - iVar4 = *(int *)(iVar5 + 8); - } while( true ); -} - - - -void FUN_7f057fe0(float *param_1) - -{ - int iVar1; - float fVar2; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = DAT_80032340; - fStack8 = (float)DAT_80032344; - fStack4 = (float)DAT_80032348; - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - fStack12 = fVar2 * 0.00000000 * DAT_800536c0 * 0.03125000 - DAT_800536c4; - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - fStack8 = fVar2 * 0.00000000 * DAT_800536c8 * 0.03125000 - DAT_800536cc; - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - fStack4 = fVar2 * 0.00000000 * DAT_800536d0 * 0.03125000 - DAT_800536d4; - FUN_7f058c34(&fStack12,param_1); - return; -} - - - -void FUN_7f058134(float *param_1,float *param_2) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *param_1 = fVar2 * 0.00000000 * DAT_800536d8 * 4.00000000 - DAT_800536dc; - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - param_1[1] = fVar2 * 0.00000000 * DAT_800536e0 * 4.00000000; - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - param_1[2] = fVar2 * 0.00000000 * DAT_800536e4 * 4.00000000 - DAT_800536e8; - FUN_7f057fe0(param_2); - return; -} - - - -void FUN_7f058264(float *param_1,float *param_2,float param_3) - -{ - float fVar1; - - fVar1 = *param_2 - param_3 * DAT_800536ec; - *param_1 = *param_1 + param_3 * (*param_2 + fVar1) * 0.50000000; - *param_2 = fVar1; - return; -} - - - -void sub_7F057D88(float *param_1,float *param_2,float param_3) - -{ - FUN_7f058264(param_1 + 1,param_2 + 1,param_3); - *param_1 = *param_1 + param_3 * *param_2; - param_1[2] = param_1[2] + param_3 * param_2[2]; - return; -} - - - -void loc_7F057E3C(float *param_1,float *param_2,int param_3) - -{ - int iVar1; - - iVar1 = 0; - if (0 < param_3) { - do { - FUN_7f0585b8(param_2,param_1); - iVar1 += 1; - } while (iVar1 != param_3); - } - return; -} - - - -void sub_7F057E58(float *param_1,float *param_2,float *param_3,float *param_4,int param_5) - -{ - sub_7F057D88(param_1,param_2,(float)param_5); - loc_7F057E3C(param_3,param_4,param_5); - return; -} - - - -float FUN_7f0583c0(float param_1) - -{ - uint uVar1; - float fVar2; - float fVar3; - - param_1 = param_1 + DAT_800536f0; - uVar1 = (int)param_1 >> 0x16 & 0x1ff; - if (uVar1 < 0xff) { - if (0xe5 < uVar1) { - fVar2 = param_1 * param_1; - param_1 = (DAT_80053700 + - (DAT_800536fc + (DAT_800536f8 + DAT_800536f4 * fVar2) * fVar2) * fVar2) * fVar2 * - param_1 + param_1; - } - } - else { - if (uVar1 < 0x136) { - fVar2 = DAT_80053704 * param_1; - fVar3 = (float)(int)(longlong)ROUND(fVar2); - param_1 = (param_1 - DAT_80053708 * fVar3) - DAT_8005370c * fVar3; - fVar3 = param_1 * param_1; - param_1 = (DAT_8005371c + - (DAT_80053718 + (DAT_80053714 + DAT_80053710 * fVar3) * fVar3) * fVar3) * fVar3 * - param_1 + param_1; - if (((longlong)ROUND(fVar2) & 1U) != 0) { - param_1 = -param_1; - } - } - else { - param_1 = 0.00000000; - } - } - return param_1; -} - - - -float func_7F057FC4(float param_1) - -{ - uint uVar1; - float fVar2; - float fVar3; - - uVar1 = (int)param_1 >> 0x16 & 0x1ff; - if (uVar1 < 0xff) { - if (0xe5 < uVar1) { - fVar2 = param_1 * param_1; - param_1 = (DAT_80053700 + - (DAT_800536fc + (DAT_800536f8 + DAT_800536f4 * fVar2) * fVar2) * fVar2) * fVar2 * - param_1 + param_1; - } - } - else { - if (uVar1 < 0x136) { - fVar2 = DAT_80053704 * param_1; - fVar3 = (float)(int)(longlong)ROUND(fVar2); - param_1 = (param_1 - DAT_80053708 * fVar3) - DAT_8005370c * fVar3; - fVar3 = param_1 * param_1; - param_1 = (DAT_8005371c + - (DAT_80053718 + (DAT_80053714 + DAT_80053710 * fVar3) * fVar3) * fVar3) * fVar3 * - param_1 + param_1; - if (((longlong)ROUND(fVar2) & 1U) != 0) { - param_1 = -param_1; - } - } - else { - param_1 = 0.00000000; - } - } - return param_1; -} - - - -void init_0x40_bytes_data_at_address_last_word_1_0(undefined4 *param_1) - -{ - param_1[1] = 0; - param_1[2] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[6] = 0; - param_1[7] = 0; - param_1[8] = 0; - param_1[9] = 0; - param_1[0xb] = 0; - param_1[0xc] = 0; - param_1[0xd] = 0; - param_1[0xe] = 0; - *param_1 = 0x3f800000; - param_1[5] = 0x3f800000; - param_1[10] = 0x3f800000; - param_1[0xf] = 0x3f800000; - return; -} - - - -void loc_7F058030(undefined4 *param_1,undefined4 *param_2) - -{ - int iVar1; - - iVar1 = 0; - do { - iVar1 += 1; - *param_2 = *param_1; - param_2[1] = param_1[1]; - param_2[2] = param_1[2]; - param_2[3] = param_1[3]; - param_1 = param_1 + 4; - param_2 = param_2 + 4; - } while (iVar1 != 4); - return; -} - - - -void FUN_7f058588(float *param_1,float *param_2) - -{ - undefined4 auStack64 [16]; - - loc_7F0580E4(param_1,param_2,(int)auStack64); - loc_7F058030(auStack64,param_2); - return; -} - - - -void FUN_7f0585b8(float *param_1,float *param_2) - -{ - undefined4 auStack64 [16]; - - loc_7F05823C(param_1,param_2,(int)auStack64); - loc_7F058030(auStack64,param_2); - return; -} - - - -void loc_7F0580E4(float *param_1,float *param_2,int param_3) - -{ - int iVar1; - int iVar2; - float *pfVar3; - float *pfVar4; - - iVar2 = 0; - do { - iVar1 = 0; - pfVar4 = param_2; - pfVar3 = (float *)(param_3 + iVar2); - do { - iVar1 += 2; - *pfVar3 = pfVar4[3] * param_1[0xc] + - *param_1 * *pfVar4 + param_1[4] * pfVar4[1] + param_1[8] * pfVar4[2]; - pfVar3[4] = pfVar4[7] * param_1[0xc] + - *param_1 * pfVar4[4] + param_1[4] * pfVar4[5] + param_1[8] * pfVar4[6]; - pfVar4 = pfVar4 + 8; - pfVar3 = pfVar3 + 8; - } while (iVar1 != 4); - iVar2 += 4; - param_1 = param_1 + 1; - } while (iVar2 != 0x10); - return; -} - - - -void loc_7F05823C(float *param_1,float *param_2,int param_3) - -{ - float *pfVar1; - float *pfVar2; - float *pfVar3; - int iVar4; - int iVar5; - float *pfVar6; - float *pfVar7; - - iVar5 = 0; - do { - iVar4 = 0; - pfVar6 = (float *)(param_3 + iVar5); - pfVar7 = param_2; - do { - *pfVar6 = pfVar7[2] * param_1[8] + *param_1 * *pfVar7 + param_1[4] * pfVar7[1]; - if (iVar4 == 3) { - *pfVar6 = *pfVar6 + param_1[0xc]; - } - pfVar1 = pfVar7 + 4; - pfVar2 = pfVar7 + 5; - pfVar3 = pfVar7 + 6; - pfVar7 = pfVar7 + 8; - pfVar6[4] = *pfVar3 * param_1[8] + *param_1 * *pfVar1 + param_1[4] * *pfVar2; - if (iVar4 == 2) { - pfVar6[4] = pfVar6[4] + param_1[0xc]; - } - iVar4 += 2; - pfVar6 = pfVar6 + 8; - } while (iVar4 != 4); - iVar5 += 4; - param_1 = param_1 + 1; - } while (iVar5 != 0xc); - *(undefined4 *)(param_3 + 0xc) = 0; - *(undefined4 *)(param_3 + 0x1c) = 0; - *(undefined4 *)(param_3 + 0x2c) = 0; - *(undefined4 *)(param_3 + 0x3c) = 0x3f800000; - return; -} - - - -void loc_7F058390(float *param_1,float *param_2,float *param_3) - -{ - float *pfVar1; - float *pfVar2; - int iVar3; - float fVar4; - - iVar3 = 0; - do { - fVar4 = *param_1; - pfVar1 = param_1 + 4; - pfVar2 = param_1 + 8; - iVar3 += 1; - param_1 = param_1 + 1; - *param_3 = param_2[2] * *pfVar2 + fVar4 * *param_2 + *pfVar1 * param_2[1]; - param_3 = param_3 + 1; - } while (iVar3 != 3); - return; -} - - - -void FUN_7f0588f8(float *param_1,float *param_2) - -{ - float fStack12; - float fStack8; - float fStack4; - - loc_7F058390(param_1,param_2,&fStack12); - *param_2 = fStack12; - param_2[1] = fStack8; - param_2[2] = fStack4; - return; -} - - - -void FUN_7f058938(float *param_1,float *param_2,float *param_3) - -{ - loc_7F058390(param_1,param_2,param_3); - *param_3 = *param_3 + param_1[0xc]; - param_3[1] = param_3[1] + param_1[0xd]; - param_3[2] = param_3[2] + param_1[0xe]; - return; -} - - - -void FUN_7f058994(float *param_1,float *param_2) - -{ - FUN_7f0588f8(param_1,param_2); - *param_2 = *param_2 + param_1[0xc]; - param_2[1] = param_2[1] + param_1[0xd]; - param_2[2] = param_2[2] + param_1[0xe]; - return; -} - - - -void FUN_7f0589f0(float *param_1,float param_2,float *param_3) - -{ - float fVar1; - float fVar2; - - fVar1 = FUN_7f0583c0(param_2); - fVar2 = func_7F057FC4(param_2); - param_3[8] = fVar2; - param_3[2] = -fVar2; - *param_3 = fVar1; - param_3[10] = fVar1; - param_3[1] = 0.00000000; - param_3[3] = 0.00000000; - param_3[4] = 0.00000000; - param_3[6] = 0.00000000; - param_3[7] = 0.00000000; - param_3[9] = 0.00000000; - param_3[0xb] = 0.00000000; - param_3[5] = 1.00000000; - param_3[0xc] = *param_1; - param_3[0xd] = param_1[1]; - fVar1 = param_1[2]; - param_3[0xf] = 1.00000000; - param_3[0xe] = fVar1; - return; -} - - - -void FUN_7f058a90(float param_1,undefined8 param_2,undefined4 *param_3) - -{ - float fVar1; - float fVar2; - - fVar1 = FUN_7f0583c0(param_1); - fVar2 = func_7F057FC4(param_1); - *(float *)(param_3 + 6) = fVar2; - *(float *)(param_3 + 9) = -fVar2; - *(float *)(param_3 + 5) = fVar1; - *(float *)(param_3 + 10) = fVar1; - param_3[1] = 0; - param_3[2] = 0; - param_3[3] = 0; - param_3[4] = 0; - param_3[7] = 0; - param_3[8] = 0; - param_3[0xb] = 0; - param_3[0xc] = 0; - param_3[0xd] = 0; - param_3[0xe] = 0; - *param_3 = 0x3f800000; - param_3[0xf] = 0x3f800000; - return; -} - - - -void FUN_7f058b1c(float param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - float fVar2; - - fVar1 = FUN_7f0583c0(param_1); - fVar2 = func_7F057FC4(param_1); - param_3[8] = fVar2; - param_3[2] = -fVar2; - *param_3 = fVar1; - param_3[10] = fVar1; - param_3[1] = 0.00000000; - param_3[3] = 0.00000000; - param_3[4] = 0.00000000; - param_3[6] = 0.00000000; - param_3[7] = 0.00000000; - param_3[9] = 0.00000000; - param_3[0xb] = 0.00000000; - param_3[0xc] = 0.00000000; - param_3[0xd] = 0.00000000; - param_3[0xe] = 0.00000000; - param_3[5] = 1.00000000; - param_3[0xf] = 1.00000000; - return; -} - - - -void FUN_7f058ba8(float param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - float fVar2; - - fVar1 = FUN_7f0583c0(param_1); - fVar2 = func_7F057FC4(param_1); - param_3[1] = fVar2; - param_3[4] = -fVar2; - *param_3 = fVar1; - param_3[5] = fVar1; - param_3[2] = 0.00000000; - param_3[3] = 0.00000000; - param_3[6] = 0.00000000; - param_3[7] = 0.00000000; - param_3[8] = 0.00000000; - param_3[9] = 0.00000000; - param_3[0xb] = 0.00000000; - param_3[0xc] = 0.00000000; - param_3[0xd] = 0.00000000; - param_3[0xe] = 0.00000000; - param_3[10] = 1.00000000; - param_3[0xf] = 1.00000000; - return; -} - - - -void FUN_7f058c34(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar1 = FUN_7f0583c0(*param_1); - fVar2 = func_7F057FC4(*param_1); - fVar3 = FUN_7f0583c0(param_1[1]); - fVar4 = func_7F057FC4(param_1[1]); - fVar5 = FUN_7f0583c0(param_1[2]); - fVar6 = func_7F057FC4(param_1[2]); - param_2[3] = 0.00000000; - param_2[2] = -fVar4; - *param_2 = fVar3 * fVar5; - param_2[1] = fVar3 * fVar6; - param_2[4] = fVar2 * fVar5 * fVar4 - fVar1 * fVar6; - param_2[5] = fVar2 * fVar6 * fVar4 + fVar1 * fVar5; - param_2[7] = 0.00000000; - param_2[6] = fVar2 * fVar3; - param_2[8] = fVar1 * fVar5 * fVar4 + fVar2 * fVar6; - param_2[9] = fVar1 * fVar6 * fVar4 - fVar2 * fVar5; - param_2[0xb] = 0.00000000; - param_2[0xc] = 0.00000000; - param_2[0xd] = 0.00000000; - param_2[0xe] = 0.00000000; - param_2[0xf] = 1.00000000; - param_2[10] = fVar1 * fVar3; - return; -} - - - -void loc_7F058918(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - - fVar1 = sqrtf(param_1[6] * param_1[6] + param_1[10] * param_1[10]); - if (0.00000191 < fVar1) { - fVar2 = loc_7F05AB54(param_1[6],param_1[10]); - *param_2 = fVar2; - fVar1 = loc_7F05AB54(-param_1[2],fVar1); - param_2[1] = fVar1; - fVar1 = loc_7F05AB54(param_1[1],*param_1); - param_2[2] = fVar1; - } - else { - *param_2 = 0.00000000; - fVar1 = loc_7F05AB54(-param_1[2],fVar1); - param_2[1] = fVar1; - fVar1 = loc_7F05AB54(-param_1[4],param_1[5]); - param_2[2] = fVar1; - } - return; -} - - - -void FUN_7f058e4c(undefined4 *param_1,float *param_2,float *param_3) - -{ - FUN_7f058c34(param_2,param_3); - copies_first_3_floats_from_a0_to_a1_plus_0x30(param_1,(int)param_3); - return; -} - - - -void FUN_7f058e84(undefined4 *param_1,undefined4 *param_2) - -{ - init_0x40_bytes_data_at_address_last_word_1_0(param_2); - copies_first_3_floats_from_a0_to_a1_plus_0x30(param_1,(int)param_2); - return; -} - - - -void copies_first_3_floats_from_a0_to_a1_plus_0x30(undefined4 *param_1,int param_2) - -{ - *(undefined4 *)(param_2 + 0x30) = *param_1; - *(undefined4 *)(param_2 + 0x34) = param_1[1]; - *(undefined4 *)(param_2 + 0x38) = param_1[2]; - return; -} - - - -void sub_7F0589B4(float param_1,undefined8 param_2,float *param_3) - -{ - *param_3 = *param_3 * param_1; - param_3[1] = param_3[1] * param_1; - param_3[2] = param_3[2] * param_1; - return; -} - - - -void sub_7F0589E4(float param_1,undefined8 param_2,int param_3) - -{ - *(float *)(param_3 + 0x10) = *(float *)(param_3 + 0x10) * param_1; - *(float *)(param_3 + 0x14) = *(float *)(param_3 + 0x14) * param_1; - *(float *)(param_3 + 0x18) = *(float *)(param_3 + 0x18) * param_1; - return; -} - - - -void sub_7F058A14(float param_1,undefined8 param_2,int param_3) - -{ - *(float *)(param_3 + 0x20) = *(float *)(param_3 + 0x20) * param_1; - *(float *)(param_3 + 0x24) = *(float *)(param_3 + 0x24) * param_1; - *(float *)(param_3 + 0x28) = *(float *)(param_3 + 0x28) * param_1; - *(float *)(param_3 + 0x2c) = *(float *)(param_3 + 0x2c) * param_1; - return; -} - - - -void sub_7F058A4C(float param_1,undefined8 param_2,int param_3) - -{ - *(float *)(param_3 + 0x20) = *(float *)(param_3 + 0x20) * param_1; - *(float *)(param_3 + 0x24) = *(float *)(param_3 + 0x24) * param_1; - *(float *)(param_3 + 0x28) = *(float *)(param_3 + 0x28) * param_1; - return; -} - - - -void matrix_multiply_A1_by_F12(float param_1,undefined8 param_2,float *param_3) - -{ - *param_3 = *param_3 * param_1; - param_3[1] = param_3[1] * param_1; - param_3[2] = param_3[2] * param_1; - param_3[3] = param_3[3] * param_1; - param_3[4] = param_3[4] * param_1; - param_3[5] = param_3[5] * param_1; - param_3[6] = param_3[6] * param_1; - param_3[7] = param_3[7] * param_1; - param_3[8] = param_3[8] * param_1; - param_3[9] = param_3[9] * param_1; - param_3[10] = param_3[10] * param_1; - param_3[0xb] = param_3[0xb] * param_1; - return; -} - - - -void sub_7F058B10(float param_1,undefined8 param_2,float *param_3) - -{ - *param_3 = *param_3 * param_1; - param_3[1] = param_3[1] * param_1; - param_3[2] = param_3[2] * param_1; - param_3[4] = param_3[4] * param_1; - param_3[5] = param_3[5] * param_1; - param_3[6] = param_3[6] * param_1; - param_3[8] = param_3[8] * param_1; - param_3[9] = param_3[9] * param_1; - param_3[10] = param_3[10] * param_1; - return; -} - - - -void sub_7F058B80(float param_1,undefined8 param_2,int param_3) - -{ - *(float *)(param_3 + 8) = *(float *)(param_3 + 8) * param_1; - *(float *)(param_3 + 0x18) = *(float *)(param_3 + 0x18) * param_1; - *(float *)(param_3 + 0x28) = *(float *)(param_3 + 0x28) * param_1; - *(float *)(param_3 + 0x38) = *(float *)(param_3 + 0x38) * param_1; - return; -} - - - -void sub_7F058BB8(float param_1,undefined8 param_2,float *param_3) - -{ - *param_3 = *param_3 * param_1; - param_3[4] = param_3[4] * param_1; - param_3[8] = param_3[8] * param_1; - param_3[0xc] = param_3[0xc] * param_1; - param_3[1] = param_3[1] * param_1; - param_3[5] = param_3[5] * param_1; - param_3[9] = param_3[9] * param_1; - param_3[0xd] = param_3[0xd] * param_1; - param_3[2] = param_3[2] * param_1; - param_3[6] = param_3[6] * param_1; - param_3[10] = param_3[10] * param_1; - param_3[0xe] = param_3[0xe] * param_1; - return; -} - - - -void FUN_7f05916c(float param_1) - -{ - DAT_80032350 = param_1 * 65536.00000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f059184(void) - -{ - _DAT_80075de0 = DAT_80032350; - DAT_80032350 = 0x47800000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0591a8(void) - -{ - DAT_80032350 = _DAT_80075de0; - return; -} - - - -void FUN_7f0591bc(int param_1,uint *param_2) - -{ - int iVar1; - uint uVar2; - int iVar3; - uint uVar4; - float *pfVar5; - uint uVar6; - uint uVar7; - - iVar1 = 0; - do { - pfVar5 = (float *)(param_1 + iVar1 * 8); - uVar2 = iVar1 + 1; - iVar3 = iVar1 + 2; - uVar7 = (uint)(DAT_80032350 * *pfVar5); - uVar4 = iVar1 + 3; - iVar1 += 4; - uVar6 = (uint)(DAT_80032350 * pfVar5[1]); - *param_2 = uVar7 & 0xffff0000 | uVar6 >> 0x10; - param_2[8] = uVar7 << 0x10 | uVar6 & 0xffff; - pfVar5 = (float *)(param_1 + uVar2 * 8); - uVar6 = (uint)(DAT_80032350 * *pfVar5); - uVar2 = (uint)((float)(&DAT_80032350)[uVar2 & 1] * pfVar5[1]); - param_2[1] = uVar6 & 0xffff0000 | uVar2 >> 0x10; - param_2[9] = uVar6 << 0x10 | uVar2 & 0xffff; - pfVar5 = (float *)(param_1 + iVar3 * 8); - uVar6 = (uint)(DAT_80032350 * *pfVar5); - uVar2 = (uint)(DAT_80032350 * pfVar5[1]); - param_2[2] = uVar6 & 0xffff0000 | uVar2 >> 0x10; - param_2[10] = uVar6 << 0x10 | uVar2 & 0xffff; - pfVar5 = (float *)(param_1 + uVar4 * 8); - uVar2 = (uint)(DAT_80032350 * *pfVar5); - uVar4 = (uint)((float)(&DAT_80032350)[uVar4 & 1] * pfVar5[1]); - param_2[3] = uVar2 & 0xffff0000 | uVar4 >> 0x10; - param_2[0xb] = uVar2 << 0x10 | uVar4 & 0xffff; - param_2 = param_2 + 4; - } while (iVar1 != 8); - return; -} - - - -void FUN_7f059398(uint *param_1,int param_2) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint uVar4; - int iVar5; - uint uVar6; - float *pfVar7; - float *pfVar8; - - iVar3 = 0; - do { - uVar1 = *param_1; - uVar2 = param_1[8]; - pfVar7 = (float *)(param_2 + iVar3 * 8); - uVar4 = iVar3 + 1; - pfVar8 = (float *)(param_2 + uVar4 * 8); - iVar5 = iVar3 + 2; - uVar6 = iVar3 + 3; - iVar3 += 4; - *pfVar7 = (float)(uVar1 & 0xffff0000 | uVar2 >> 0x10) / DAT_80032350; - pfVar7[1] = (float)(uVar1 << 0x10 | uVar2 & 0xffff) / DAT_80032350; - uVar1 = param_1[9]; - uVar2 = param_1[1]; - pfVar7 = (float *)(param_2 + iVar5 * 8); - *pfVar8 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / DAT_80032350; - pfVar8[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / (float)(&DAT_80032350)[uVar4 & 1]; - uVar1 = param_1[10]; - uVar2 = param_1[2]; - pfVar8 = (float *)(param_2 + uVar6 * 8); - *pfVar7 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / DAT_80032350; - pfVar7[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / DAT_80032350; - uVar1 = param_1[0xb]; - uVar2 = param_1[3]; - *pfVar8 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / DAT_80032350; - pfVar8[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / (float)(&DAT_80032350)[uVar6 & 1]; - param_1 = param_1 + 4; - } while (iVar3 != 8); - return; -} - - - -void loc_7F059344(uint *param_1,int param_2) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint *puVar4; - - iVar3 = 0; - do { - uVar1 = *param_1; - uVar2 = param_1[8]; - puVar4 = (uint *)(param_2 + iVar3 * 8); - *puVar4 = uVar1 & 0xffff0000 | uVar2 >> 0x10; - puVar4[1] = uVar1 << 0x10 | uVar2 & 0xffff; - uVar1 = param_1[9]; - uVar2 = param_1[1]; - puVar4 = (uint *)(param_2 + (iVar3 + 1) * 8); - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - uVar1 = param_1[10]; - uVar2 = param_1[2]; - puVar4 = (uint *)(param_2 + (iVar3 + 2) * 8); - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - uVar1 = param_1[0xb]; - uVar2 = param_1[3]; - puVar4 = (uint *)(param_2 + (iVar3 + 3) * 8); - iVar3 += 4; - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - param_1 = param_1 + 4; - } while (iVar3 != 8); - return; -} - - - -void FUN_7f059944(float *param_1,float param_2,float param_3,float param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar1 = sqrtf(param_5 * param_5 + param_6 * param_6 + param_7 * param_7); - fVar1 = -1.00000000 / fVar1; - param_5 = param_5 * fVar1; - param_6 = param_6 * fVar1; - param_7 = param_7 * fVar1; - fVar5 = param_9 * param_7 - param_10 * param_6; - fVar6 = param_10 * param_5 - param_8 * param_7; - fVar7 = param_8 * param_6 - param_9 * param_5; - fVar1 = sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - fVar1 = 1.00000000 / fVar1; - fVar5 = fVar5 * fVar1; - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar2 = param_6 * fVar7 - param_7 * fVar6; - fVar3 = param_7 * fVar5 - param_5 * fVar7; - fVar4 = param_5 * fVar6 - param_6 * fVar5; - fVar1 = sqrtf(fVar2 * fVar2 + fVar3 * fVar3 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - *param_1 = fVar5; - param_1[4] = fVar6; - param_1[8] = fVar7; - param_1[1] = fVar2 * fVar1; - param_1[5] = fVar3 * fVar1; - param_1[0xc] = -(param_2 * fVar5 + param_3 * fVar6 + param_4 * fVar7); - param_1[9] = fVar4 * fVar1; - param_1[2] = param_5; - param_1[6] = param_6; - param_1[10] = param_7; - param_1[0xd] = -(param_2 * fVar2 * fVar1 + param_3 * fVar3 * fVar1 + param_4 * fVar4 * fVar1); - param_1[3] = 0.00000000; - param_1[7] = 0.00000000; - param_1[0xb] = 0.00000000; - param_1[0xf] = 1.00000000; - param_1[0xe] = -(param_2 * param_5 + param_3 * param_6 + param_4 * param_7); - return; -} - - - -void FUN_7f059bb4(float *param_1,float param_2,float param_3,float param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10) - -{ - FUN_7f059944(param_1,param_2,param_3,param_4,param_5 - param_2,param_6 - param_3,param_7 - param_4 - ,param_8,param_9,param_10); - return; -} - - - -void FUN_7f059c28(float *param_1,float param_2,float param_3,float param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar1 = sqrtf(param_5 * param_5 + param_6 * param_6 + param_7 * param_7); - fVar1 = -1.00000000 / fVar1; - param_5 = param_5 * fVar1; - param_6 = param_6 * fVar1; - param_7 = param_7 * fVar1; - fVar5 = param_9 * param_7 - param_10 * param_6; - fVar6 = param_10 * param_5 - param_8 * param_7; - fVar7 = param_8 * param_6 - param_9 * param_5; - fVar1 = sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - fVar1 = 1.00000000 / fVar1; - fVar5 = fVar5 * fVar1; - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar2 = param_6 * fVar7 - param_7 * fVar6; - fVar3 = param_7 * fVar5 - param_5 * fVar7; - fVar4 = param_5 * fVar6 - param_6 * fVar5; - fVar1 = sqrtf(fVar2 * fVar2 + fVar3 * fVar3 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - *param_1 = fVar5; - param_1[4] = fVar2 * fVar1; - param_1[8] = param_5; - param_1[1] = fVar6; - param_1[5] = fVar3 * fVar1; - param_1[9] = param_6; - param_1[0xc] = param_2; - param_1[2] = fVar7; - param_1[0xd] = param_3; - param_1[10] = param_7; - param_1[6] = fVar4 * fVar1; - param_1[3] = 0.00000000; - param_1[7] = 0.00000000; - param_1[0xb] = 0.00000000; - param_1[0xf] = 1.00000000; - param_1[0xe] = param_4; - return; -} - - - -void FUN_7f059e28(float *param_1,float param_2,float param_3,float param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10) - -{ - FUN_7f059c28(param_1,param_2,param_3,param_4,param_5 - param_2,param_6 - param_3,param_7 - param_4 - ,param_8,param_9,param_10); - return; -} - - - -uint locret_7F059A40(float param_1,float param_2) - -{ - float fVar1; - uint uVar2; - float fVar3; - uint uVar4; - - if (param_1 + param_2 <= 2.00000000) { - return 0xffff; - } - fVar3 = 131072.00000000 / (param_1 + param_2); - if (false) { - fVar1 = ROUND(fVar3); - } - else { - fVar1 = FLOOR(fVar3); - } - uVar4 = (uint)fVar1; - if (false) { - if (false) { - fVar3 = ROUND(fVar3 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(fVar3 - 2147483648.00000000); - } - if (true) { - uVar4 = (int)fVar3 | 0x80000000; - goto LAB_7f059f4c; - } - } - else { - if (-1 < (int)uVar4) goto LAB_7f059f4c; - } - uVar4 = 0xffffffff; -LAB_7f059f4c: - uVar2 = uVar4 & 0xffff; - if ((uVar4 & 0xffff) == 0) { - uVar2 = 1; - } - return uVar2; -} - - - -void loc_7F059CD4(float *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fStackX8; - float fStackX12; - - fStackX8 = param_3; - fStackX12 = param_4; - guNormalize(&fStackX8,&fStackX12,¶m_5); - fVar1 = func_7F057FC4(param_2); - fVar2 = FUN_7f0583c0(param_2); - fVar3 = sqrtf(fStackX8 * fStackX8 + param_5 * param_5); - if (fVar3 == 0.00000000) { - init_0x40_bytes_data_at_address_last_word_1_0(param_1); - } - else { - fVar4 = 1.00000000 / fVar3; - *param_1 = (-(param_5 * fVar2) - fStackX12 * fStackX8 * fVar1) * fVar4; - param_1[4] = fVar1 * fVar3; - param_1[0xc] = 0.00000000; - param_1[8] = (fStackX8 * fVar2 - fStackX12 * param_5 * fVar1) * fVar4; - param_1[1] = (param_5 * fVar1 - fStackX12 * fStackX8 * fVar2) * fVar4; - param_1[5] = fVar2 * fVar3; - param_1[0xd] = 0.00000000; - param_1[9] = (-(fStackX8 * fVar1) - fStackX12 * param_5 * fVar2) * fVar4; - param_1[2] = -fStackX8; - param_1[6] = -fStackX12; - param_1[0xe] = 0.00000000; - param_1[3] = 0.00000000; - param_1[7] = 0.00000000; - param_1[10] = -param_5; - param_1[0xb] = 0.00000000; - param_1[0xf] = 1.00000000; - } - return; -} - - - -void FUN_7f05a208(float *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - guAlign(param_1,param_2 * DAT_80053720,param_3,param_4,param_5); - return; -} - - - -void sub_7F059D38(undefined4 *param_1,undefined4 *param_2) - -{ - undefined4 uVar1; - - *param_2 = *param_1; - param_2[1] = param_1[4]; - param_2[2] = param_1[8]; - param_2[4] = param_1[1]; - param_2[5] = param_1[5]; - param_2[6] = param_1[9]; - param_2[8] = param_1[2]; - param_2[9] = param_1[6]; - uVar1 = param_1[10]; - param_2[0xc] = 0; - param_2[0xd] = 0; - param_2[0xe] = 0; - param_2[3] = 0; - param_2[7] = 0; - param_2[0xb] = 0; - param_2[0xf] = 0x3f800000; - param_2[10] = uVar1; - return; -} - - - -void FUN_7f05a384(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = *param_1; - fVar1 = 1.00000000 / (param_1[8] * param_1[8] + fVar3 * fVar3 + param_1[4] * param_1[4]); - *param_2 = fVar3 * fVar1; - param_2[1] = param_1[4] * fVar1; - param_2[2] = param_1[8] * fVar1; - param_2[4] = param_1[1] * fVar1; - param_2[5] = param_1[5] * fVar1; - param_2[6] = param_1[9] * fVar1; - param_2[8] = param_1[2] * fVar1; - param_2[9] = param_1[6] * fVar1; - param_2[10] = param_1[10] * fVar1; - param_2[0xc] = -(param_1[0xe] * param_2[8] + *param_2 * param_1[0xc] + param_2[4] * param_1[0xd]); - param_2[0xd] = -(param_1[0xe] * param_2[9] + param_2[1] * param_1[0xc] + param_2[5] * param_1[0xd] - ); - fVar2 = param_1[0xc]; - fVar3 = param_1[0xd]; - fVar1 = param_1[0xe]; - param_2[0xf] = 1.00000000; - param_2[3] = 0.00000000; - param_2[7] = 0.00000000; - param_2[0xb] = 0.00000000; - param_2[0xe] = -(fVar1 * param_2[10] + param_2[2] * fVar2 + param_2[6] * fVar3); - return; -} - - - -void sub_7F059FB8(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar3 = param_1[5]; - fVar4 = param_1[10]; - fVar5 = param_1[6]; - fVar2 = param_1[9]; - fVar1 = 1.00000000 / - ((((*param_1 * fVar3 * fVar4 + param_1[1] * fVar5 * param_1[8] + - param_1[2] * param_1[4] * fVar2) - param_1[2] * fVar3 * param_1[8]) - - param_1[1] * param_1[4] * fVar4) - *param_1 * fVar5 * fVar2); - *param_2 = (fVar3 * fVar4 - fVar2 * fVar5) * fVar1; - param_2[4] = (param_1[6] * param_1[8] - param_1[10] * param_1[4]) * fVar1; - param_2[8] = (param_1[4] * param_1[9] - param_1[8] * param_1[5]) * fVar1; - param_2[1] = (param_1[2] * param_1[9] - param_1[10] * param_1[1]) * fVar1; - param_2[5] = (*param_1 * param_1[10] - param_1[8] * param_1[2]) * fVar1; - param_2[9] = (param_1[1] * param_1[8] - param_1[9] * *param_1) * fVar1; - param_2[2] = (param_1[1] * param_1[6] - param_1[5] * param_1[2]) * fVar1; - param_2[6] = (param_1[2] * param_1[4] - param_1[6] * *param_1) * fVar1; - param_2[10] = (*param_1 * param_1[5] - param_1[4] * param_1[1]) * fVar1; - param_2[0xc] = -(param_2[8] * param_1[0xe] + param_1[0xc] * *param_2 + param_1[0xd] * param_2[4]); - param_2[0xd] = -(param_2[9] * param_1[0xe] + param_1[0xc] * param_2[1] + param_1[0xd] * param_2[5] - ); - fVar3 = param_1[0xc]; - fVar2 = param_1[0xd]; - fVar1 = param_1[0xe]; - param_2[0xf] = 1.00000000; - param_2[3] = 0.00000000; - param_2[7] = 0.00000000; - param_2[0xb] = 0.00000000; - param_2[0xe] = -(param_2[10] * fVar1 + fVar3 * param_2[2] + fVar2 * param_2[6]); - return; -} - - - -void FUN_7f05a770(undefined8 param_1,undefined8 param_2) - -{ - float *pfVar1; - int iVar2; - undefined4 extraout_a1_hi; - float *pfVar3; - undefined4 extraout_a1_lo; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - pfVar3 = (float *)param_2; - sub_7F05A310(param_1,param_2); - fVar4 = sub_7F05A774((longlong)(int)param_1,CONCAT44(extraout_a1_hi,extraout_a1_lo)); - fVar4 = 1.00000000 / fVar4; - iVar2 = 1; - fVar9 = pfVar3[1]; - fVar10 = *pfVar3 * fVar4; - fVar8 = pfVar3[2]; - fVar11 = pfVar3[3]; - pfVar1 = pfVar3; - if (true) { - do { - fVar7 = fVar9 * fVar4; - fVar9 = pfVar1[5]; - fVar6 = fVar8 * fVar4; - fVar8 = pfVar1[6]; - iVar2 += 1; - fVar5 = fVar11 * fVar4; - fVar11 = pfVar1[7]; - *pfVar1 = fVar10; - fVar10 = pfVar1[4] * fVar4; - pfVar1[1] = fVar7; - pfVar1[2] = fVar6; - pfVar3 = pfVar1 + 4; - pfVar1[3] = fVar5; - pfVar1 = pfVar3; - } while (iVar2 != 4); - } - *pfVar3 = fVar10; - pfVar3[1] = fVar9 * fVar4; - pfVar3[2] = fVar8 * fVar4; - pfVar3[3] = fVar11 * fVar4; - return; -} - - - -void sub_7F05A310(undefined8 param_1,undefined8 param_2) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a0_07; - undefined8 extraout_a0_08; - undefined8 extraout_a0_09; - undefined8 extraout_a0_10; - undefined8 extraout_a0_11; - undefined8 extraout_a0_12; - undefined8 extraout_a0_13; - undefined8 extraout_a1; - float *pfVar1; - 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; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - - pfVar1 = (float *)param_1; - fVar5 = pfVar1[2]; - fVar18 = pfVar1[1]; - fVar17 = *pfVar1; - fVar6 = pfVar1[3]; - fVar7 = pfVar1[4]; - fVar8 = pfVar1[8]; - fVar9 = pfVar1[5]; - fVar4 = pfVar1[7]; - fVar2 = pfVar1[6]; - fVar14 = pfVar1[0xd]; - fVar10 = pfVar1[9]; - fVar12 = pfVar1[0xb]; - fVar11 = pfVar1[10]; - fVar16 = pfVar1[0xf]; - fVar15 = pfVar1[0xe]; - fVar13 = pfVar1[0xc]; - fVar3 = sub_7F05A928(fVar9,fVar10,param_1,param_2,fVar14,fVar2,fVar11,fVar15,fVar4,fVar12,fVar16); - pfVar1 = (float *)param_2; - *pfVar1 = fVar3; - fVar3 = sub_7F05A928(fVar7,fVar8,extraout_a0,extraout_a1,fVar13,fVar2,fVar11,fVar15,fVar4,fVar12, - fVar16); - pfVar1[4] = -fVar3; - fVar3 = sub_7F05A928(fVar7,fVar8,extraout_a0_00,extraout_a1_00,fVar13,fVar9,fVar10,fVar14,fVar4, - fVar12,fVar16); - pfVar1[8] = fVar3; - fVar3 = sub_7F05A928(fVar7,fVar8,extraout_a0_01,extraout_a1_01,fVar13,fVar9,fVar10,fVar14,fVar2, - fVar11,fVar15); - pfVar1[0xc] = -fVar3; - fVar3 = sub_7F05A928(fVar18,fVar10,extraout_a0_02,extraout_a1_02,fVar14,fVar5,fVar11,fVar15,fVar6, - fVar12,fVar16); - pfVar1[1] = -fVar3; - fVar3 = sub_7F05A928(fVar17,fVar8,extraout_a0_03,extraout_a1_03,fVar13,fVar5,fVar11,fVar15,fVar6, - fVar12,fVar16); - pfVar1[5] = fVar3; - fVar3 = sub_7F05A928(fVar17,fVar8,extraout_a0_04,extraout_a1_04,fVar13,fVar18,fVar10,fVar14,fVar6, - fVar12,fVar16); - pfVar1[9] = -fVar3; - fVar3 = sub_7F05A928(fVar17,fVar8,extraout_a0_05,extraout_a1_05,fVar13,fVar18,fVar10,fVar14,fVar5, - fVar11,fVar15); - pfVar1[0xd] = fVar3; - fVar3 = sub_7F05A928(fVar18,fVar9,extraout_a0_06,extraout_a1_06,fVar14,fVar5,fVar2,fVar15,fVar6, - fVar4,fVar16); - pfVar1[2] = fVar3; - fVar3 = sub_7F05A928(fVar17,fVar7,extraout_a0_07,extraout_a1_07,fVar13,fVar5,fVar2,fVar15,fVar6, - fVar4,fVar16); - pfVar1[6] = -fVar3; - fVar3 = sub_7F05A928(fVar17,fVar7,extraout_a0_08,extraout_a1_08,fVar13,fVar18,fVar9,fVar14,fVar6, - fVar4,fVar16); - pfVar1[10] = fVar3; - fVar3 = sub_7F05A928(fVar17,fVar7,extraout_a0_09,extraout_a1_09,fVar13,fVar18,fVar9,fVar14,fVar5, - fVar2,fVar15); - pfVar1[0xe] = -fVar3; - fVar3 = sub_7F05A928(fVar18,fVar9,extraout_a0_10,extraout_a1_10,fVar10,fVar5,fVar2,fVar11,fVar6, - fVar4,fVar12); - pfVar1[3] = -fVar3; - fVar3 = sub_7F05A928(fVar17,fVar7,extraout_a0_11,extraout_a1_11,fVar8,fVar5,fVar2,fVar11,fVar6, - fVar4,fVar12); - pfVar1[7] = fVar3; - fVar3 = sub_7F05A928(fVar17,fVar7,extraout_a0_12,extraout_a1_12,fVar8,fVar18,fVar9,fVar10,fVar6, - fVar4,fVar12); - pfVar1[0xb] = -fVar3; - fVar2 = sub_7F05A928(fVar17,fVar7,extraout_a0_13,extraout_a1_13,fVar8,fVar18,fVar9,fVar10,fVar5, - fVar2,fVar11); - pfVar1[0xf] = fVar2; - return; -} - - - -float sub_7F05A774(undefined8 param_1,undefined8 param_2) - -{ - float *pfVar1; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - - pfVar1 = (float *)param_1; - fVar6 = *pfVar1; - fVar9 = pfVar1[1]; - fVar12 = pfVar1[2]; - fVar14 = pfVar1[3]; - fVar7 = pfVar1[6]; - fVar2 = pfVar1[5]; - fVar16 = pfVar1[4]; - fVar10 = pfVar1[10]; - fVar5 = pfVar1[7]; - fVar18 = pfVar1[9]; - fVar17 = pfVar1[8]; - fVar13 = pfVar1[0xc]; - fVar19 = pfVar1[0xb]; - fVar15 = pfVar1[0xd]; - fVar8 = pfVar1[0xe]; - fVar11 = pfVar1[0xf]; - fVar3 = sub_7F05A928(fVar16,fVar17,param_1,param_2,fVar13,fVar2,fVar18,fVar15,fVar5,fVar19,fVar11) - ; - fVar4 = sub_7F05A928(fVar16,fVar17,extraout_a0,extraout_a1,fVar13,fVar7,fVar10,fVar8,fVar5,fVar19, - fVar11); - fVar5 = sub_7F05A928(fVar2,fVar18,extraout_a0_00,extraout_a1_00,fVar15,fVar7,fVar10,fVar8,fVar5, - fVar19,fVar11); - fVar2 = sub_7F05A928(fVar16,fVar17,extraout_a0_01,extraout_a1_01,fVar13,fVar2,fVar18,fVar15,fVar7, - fVar10,fVar8); - return ((fVar6 * fVar5 - fVar9 * fVar4) + fVar12 * fVar3) - fVar2 * fVar14; -} - - - -float sub_7F05A928(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10, - float param_11) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - float fVar1; - float fVar2; - float fVar3; - - fVar1 = sub_7F05A9B8(param_2,param_5,param_3,param_4,param_10,param_11); - fVar2 = sub_7F05A9B8(param_7,param_8,extraout_a0,extraout_a1,param_10,param_11); - fVar3 = sub_7F05A9B8(param_2,param_5,extraout_a0_00,extraout_a1_00,param_7,param_8); - return fVar3 * param_9 + (param_1 * fVar2 - param_6 * fVar1); -} - - - -float sub_7F05A9B8(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6) - -{ - return param_1 * param_6 - param_2 * param_5; -} - - - -void FUN_7f05af00(float param_1) - -{ - float fVar1; - float fVar2; - - fVar1 = func_7F057FC4(param_1); - fVar2 = FUN_7f0583c0(param_1); - sqrtf(fVar1 / fVar2 + 1.00000000); - return; -} - - - -float loc_7F05AB54(float param_1,float param_2) - -{ - float fVar1; - - if (param_1 == 0.00000000) { - fVar1 = DAT_80053730; - if (0.00000000 <= param_2) { - fVar1 = 0.00000000; - } - } - else { - if (param_2 == 0.00000000) { - fVar1 = DAT_80053734; - if (param_1 <= 0.00000000) { - fVar1 = DAT_80053738; - } - } - else { - fVar1 = sqrtf(param_1 * param_1 + param_2 * param_2); - if (param_2 < param_1) { - fVar1 = FUN_7f05b1d0(param_2 / fVar1); - if (param_1 < 0.00000000) { - fVar1 = DAT_8005373c - fVar1; - } - } - else { - fVar1 = FUN_7f05b1d0(param_1 / fVar1); - fVar1 = DAT_80053740 - fVar1; - if (param_2 < 0.00000000) { - fVar1 = DAT_80053744 - fVar1; - } - if (fVar1 < 0.00000000) { - fVar1 = fVar1 + DAT_80053748; - } - } - } - } - return fVar1; -} - - - -int FUN_7f05b090(uint param_1) - -{ - uint uVar1; - int iVar2; - undefined *puVar3; - uint uVar4; - - uVar1 = 7; - if ((int)param_1 < 0x7fe0) { - uVar1 = 0x1ff; - if ((int)param_1 < 0x7800) { - iVar2 = 9; - puVar3 = &DAT_80032360; - } - else { - uVar1 = 0x1f; - iVar2 = 5; - puVar3 = &DAT_800323dc; - param_1 -= 0x7800; - } - } - else { - iVar2 = 3; - puVar3 = &DAT_8003245c; - param_1 -= 0x7fe0; - } - uVar4 = (uint)*(ushort *)(puVar3 + ((int)param_1 >> iVar2) * 2); - return (int)(uVar4 - ((int)((uVar4 - (uint)*(ushort *)(puVar3 + ((int)param_1 >> iVar2) * 2 + 1)) - * (param_1 & uVar1)) >> iVar2)); -} - - - -uint FUN_7f05b110(short param_1) - -{ - uint uVar1; - - uVar1 = SEXT24(param_1); - if ((int)uVar1 < 0) { - uVar1 = -uVar1; - } - uVar1 = FUN_7f05b090(uVar1); - if (param_1 < 0) { - uVar1 = 0xffff - uVar1; - } - return uVar1 & 0xffff; -} - - - -short FUN_7f05b164(short param_1) - -{ - int iVar1; - short sVar2; - uint uVar3; - - uVar3 = SEXT24(param_1); - if ((int)uVar3 < 0) { - uVar3 = -uVar3; - } - iVar1 = FUN_7f05b090(uVar3); - if (param_1 < 0) { - sVar2 = (short)iVar1 + -0x8000; - } - else { - sVar2 = 0x7fff - (short)iVar1; - } - return sVar2; -} - - - -float FUN_7f05b1d0(float param_1) - -{ - uint uVar1; - short sVar2; - float fVar3; - - if (1.00000000 <= param_1) { - sVar2 = 0x7fff; - } - else { - if (param_1 <= -1.00000000) { - sVar2 = -0x7fff; - } - else { - sVar2 = (short)(int)(param_1 * DAT_80053750); - } - } - uVar1 = FUN_7f05b110(sVar2); - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - return (fVar3 * DAT_80053754) / DAT_80053758; -} - - - -void sub_7F05AE00(float *param_1,float *param_2,float param_3,float *param_4) - -{ - *param_4 = (*param_2 - *param_1) * param_3 + *param_1; - param_4[1] = (param_2[1] - param_1[1]) * param_3 + param_1[1]; - param_4[2] = (param_2[2] - param_1[2]) * param_3 + param_1[2]; - return; -} - - - -void sub_7F05AEFC(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float *param_6) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar1 = param_5 * param_5; - fVar2 = fVar1 * param_5; - fVar3 = (fVar2 - fVar1) * 0.50000000; - fVar4 = fVar1 - (param_5 + fVar2) * 0.50000000; - fVar5 = (fVar2 * 1.50000000 - fVar1 * 2.50000000) + 1.00000000; - fVar1 = fVar2 * -1.50000000 + fVar1 + fVar1 + param_5 * 0.50000000; - *param_6 = *param_4 * fVar3 + fVar4 * *param_1 + fVar5 * *param_2 + fVar1 * *param_3; - param_6[1] = param_4[1] * fVar3 + fVar4 * param_1[1] + fVar5 * param_2[1] + fVar1 * param_3[1]; - param_6[2] = param_4[2] * fVar3 + fVar4 * param_1[2] + fVar5 * param_2[2] + fVar1 * param_3[2]; - return; -} - - - -void sub_7F05B024(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float param_6,float *param_7) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar1 = param_5 * param_5; - fVar2 = fVar1 * param_5; - fVar3 = (fVar2 - fVar1) * param_6; - fVar4 = ((fVar1 + fVar1) - (param_5 + fVar2)) * param_6; - fVar5 = (2.00000000 - param_6) * fVar2 + fVar1 * (param_6 - 3.00000000) + 1.00000000; - fVar1 = (param_6 - 2.00000000) * fVar2 + fVar1 * (3.00000000 - (param_6 + param_6)) + - param_5 * param_6; - *param_7 = *param_4 * fVar3 + fVar4 * *param_1 + fVar5 * *param_2 + fVar1 * *param_3; - param_7[1] = param_4[1] * fVar3 + fVar4 * param_1[1] + fVar5 * param_2[1] + fVar1 * param_3[1]; - param_7[2] = param_4[2] * fVar3 + fVar4 * param_1[2] + fVar5 * param_2[2] + fVar1 * param_3[2]; - return; -} - - - -void loc_7F05B344(ushort *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar1 = DAT_80053770; - fVar2 = (float)(uint)*param_1; - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - fVar2 = FUN_7f0583c0(fVar2 * DAT_80053770 * 0.50000000); - fVar5 = (float)(uint)*param_1; - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = func_7F057FC4(fVar5 * fVar1 * 0.50000000); - fVar3 = (float)(uint)param_1[1]; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar3 = FUN_7f0583c0(fVar3 * fVar1 * 0.50000000); - fVar6 = (float)(uint)param_1[1]; - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar6 = func_7F057FC4(fVar6 * fVar1 * 0.50000000); - fVar4 = (float)(uint)param_1[2]; - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = FUN_7f0583c0(fVar4 * fVar1 * 0.50000000); - fVar7 = (float)(uint)param_1[2]; - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar1 = func_7F057FC4(fVar7 * fVar1 * 0.50000000); - *param_2 = fVar2 * fVar3 * fVar4 + fVar5 * fVar6 * fVar1; - param_2[1] = fVar5 * fVar3 * fVar4 - fVar2 * fVar6 * fVar1; - param_2[2] = fVar2 * fVar6 * fVar4 + fVar5 * fVar3 * fVar1; - param_2[3] = fVar2 * fVar3 * fVar1 - fVar5 * fVar6 * fVar4; - return; -} - - - -void sub_7F05B3F4(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar1 = FUN_7f0583c0(*param_1 * 0.50000000); - fVar2 = func_7F057FC4(*param_1 * 0.50000000); - fVar3 = FUN_7f0583c0(param_1[1] * 0.50000000); - fVar4 = func_7F057FC4(param_1[1] * 0.50000000); - fVar5 = FUN_7f0583c0(param_1[2] * 0.50000000); - fVar6 = func_7F057FC4(param_1[2] * 0.50000000); - *param_2 = fVar1 * fVar3 * fVar5 + fVar2 * fVar4 * fVar6; - param_2[1] = fVar2 * fVar3 * fVar5 - fVar1 * fVar4 * fVar6; - param_2[2] = fVar1 * fVar4 * fVar5 + fVar2 * fVar3 * fVar6; - param_2[3] = fVar1 * fVar3 * fVar6 - fVar2 * fVar4 * fVar5; - return; -} - - - -void sub_7F05B628(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - fVar8 = *param_1; - fVar1 = param_1[1]; - fVar2 = param_1[2]; - fVar5 = param_1[3]; - fVar4 = 2.00000000 / (fVar5 * fVar5 + fVar8 * fVar8 + fVar1 * fVar1 + fVar2 * fVar2); - fVar7 = fVar2 * fVar4; - fVar6 = fVar5 * fVar4; - fVar3 = fVar8 * fVar1 * fVar4; - fVar4 = fVar1 * fVar1 * fVar4; - *param_2 = 1.00000000 - (fVar2 * fVar7 + fVar5 * fVar6); - param_2[1] = fVar1 * fVar7 + fVar8 * fVar6; - param_2[2] = fVar1 * fVar6 - fVar8 * fVar7; - param_2[4] = fVar1 * fVar7 - fVar8 * fVar6; - param_2[6] = fVar2 * fVar6 + fVar3; - param_2[5] = 1.00000000 - (fVar4 + fVar5 * fVar6); - param_2[9] = fVar2 * fVar6 - fVar3; - param_2[8] = fVar1 * fVar6 + fVar8 * fVar7; - param_2[0xc] = 0.00000000; - param_2[0xd] = 0.00000000; - param_2[0xe] = 0.00000000; - param_2[3] = 0.00000000; - param_2[7] = 0.00000000; - param_2[0xb] = 0.00000000; - param_2[0xf] = 1.00000000; - param_2[10] = 1.00000000 - (fVar4 + fVar2 * fVar7); - return; -} - - - -void loc_7F05B9A0(float *param_1,float *param_2) - -{ - int iVar1; - int iVar2; - float *pfVar3; - uint uVar4; - float *pfVar5; - int *piVar6; - int iVar7; - float fVar8; - float __x; - int aiStack32 [8]; - - __x = param_1[10] + *param_1 + param_1[5] + 1.00000000; - if (0.00000000 < __x) { - __x = sqrtf(__x); - fVar8 = 0.50000000 / __x; - *param_2 = __x * 0.50000000; - param_2[1] = (param_1[6] - param_1[9]) * fVar8; - param_2[2] = (param_1[8] - param_1[2]) * fVar8; - param_2[3] = (param_1[1] - param_1[4]) * fVar8; - } - else { - aiStack32[0] = DAT_80032470; - aiStack32[1] = DAT_80032474; - aiStack32[2] = DAT_80032478; - if (*param_1 < param_1[5]) { - iVar7 = 0x10; - } - else { - iVar7 = 0; - } - pfVar3 = (float *)((int)param_1 + iVar7); - uVar4 = (uint)(*param_1 < param_1[5]); - iVar7 = uVar4 * 4; - __x = pfVar3[uVar4]; - if (__x < param_1[10]) { - pfVar3 = param_1 + 8; - __x = param_1[10]; - iVar7 = 8; - piVar6 = aiStack32 + 2; - } - else { - piVar6 = aiStack32 + uVar4; - } - iVar1 = *piVar6; - iVar2 = aiStack32[iVar1]; - pfVar5 = param_1 + iVar1 * 4; - param_1 = param_1 + iVar2 * 4; - __x = sqrtf(((__x - pfVar5[iVar1]) - param_1[iVar2]) + 1.00000000); - fVar8 = 0.50000000 / __x; - *(float *)((int)param_2 + iVar7 + 4) = __x * 0.50000000; - *param_2 = (pfVar5[iVar2] - param_1[iVar1]) * fVar8; - param_2[iVar1 + 1] = (*(float *)((int)pfVar5 + iVar7) + pfVar3[iVar1]) * fVar8; - param_2[iVar2 + 1] = (*(float *)((int)param_1 + iVar7) + pfVar3[iVar2]) * fVar8; - } - return; -} - - - -void FUN_7f05bed4(float *param_1,float *param_2,float *param_3) - -{ - sub_7F05B628(param_2,param_3); - param_3[0xc] = *param_1; - param_3[0xd] = param_1[1]; - param_3[0xe] = param_1[2]; - return; -} - - - -void loc_7F05BC58(float *param_1,float *param_2,float param_3,float *param_4) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = *param_2; - fVar1 = *param_1; - fVar2 = param_2[3] * param_1[3] + - fVar1 * fVar3 + param_1[1] * param_2[1] + param_1[2] * param_2[2]; - if (fVar2 < DAT_80053774) { - fVar2 = 1.00000000 - param_3; - *param_4 = fVar2 * fVar1 - fVar3 * param_3; - param_4[1] = fVar2 * param_1[1] - param_2[1] * param_3; - param_4[2] = fVar2 * param_1[2] - param_2[2] * param_3; - param_4[3] = fVar2 * param_1[3] - param_2[3] * param_3; - } - else { - if (fVar2 <= DAT_80053778) { - fVar1 = FUN_7f05b1d0(fVar2); - fVar2 = func_7F057FC4(fVar1); - fVar3 = func_7F057FC4((1.00000000 - param_3) * fVar1); - fVar3 = fVar3 / fVar2; - fVar1 = func_7F057FC4(param_3 * fVar1); - fVar1 = fVar1 / fVar2; - *param_4 = *param_2 * fVar1 + fVar3 * *param_1; - param_4[1] = param_2[1] * fVar1 + fVar3 * param_1[1]; - param_4[2] = param_2[2] * fVar1 + fVar3 * param_1[2]; - param_4[3] = param_2[3] * fVar1 + fVar3 * param_1[3]; - } - else { - fVar2 = 1.00000000 - param_3; - *param_4 = fVar3 * param_3 + fVar2 * fVar1; - param_4[1] = param_2[1] * param_3 + fVar2 * param_1[1]; - param_4[2] = param_2[2] * param_3 + fVar2 * param_1[2]; - param_4[3] = param_2[3] * param_3 + fVar2 * param_1[3]; - } - } - return; -} - - - -void loc_7F05BE00(float *param_1,float param_2,float *param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar1 = *param_1; - fVar4 = 1.00000000; - fVar2 = fVar1; - if (fVar1 < 0.00000000) { - fVar4 = -1.00000000; - fVar2 = -fVar1; - } - if (fVar2 < DAT_8005377c) { - *param_3 = fVar1 * param_2 - (1.00000000 - param_2) * fVar4; - param_3[1] = param_1[1] * param_2; - param_3[2] = param_1[2] * param_2; - param_3[3] = param_1[3] * param_2; - } - else { - if (fVar2 <= DAT_80053780) { - fVar2 = FUN_7f05b1d0(fVar2); - fVar1 = func_7F057FC4(fVar2); - fVar3 = func_7F057FC4(param_2 * fVar2); - fVar3 = fVar3 / fVar1; - fVar2 = func_7F057FC4((1.00000000 - param_2) * fVar2); - *param_3 = *param_1 * fVar3 + (fVar2 / fVar1) * fVar4; - param_3[1] = param_1[1] * fVar3; - param_3[2] = param_1[2] * fVar3; - param_3[3] = param_1[3] * fVar3; - } - else { - *param_3 = fVar1 * param_2 + (1.00000000 - param_2) * fVar4; - param_3[1] = param_1[1] * param_2; - param_3[2] = param_1[2] * param_2; - param_3[3] = param_1[3] * param_2; - } - } - return; -} - - - -void locret_7F05BE80(float *param_1,float *param_2) - -{ - if (param_2[3] * param_1[3] + - *param_1 * *param_2 + param_1[1] * param_2[1] + param_1[2] * param_2[2] < 0.00000000) { - *param_2 = -*param_2; - param_2[1] = -param_2[1]; - param_2[2] = -param_2[2]; - param_2[3] = -param_2[3]; - } - return; -} - - - -void sub_7F05BE88(float *param_1,float *param_2,float *param_3) - -{ - *param_3 = ((*param_1 * *param_2 - param_1[1] * param_2[1]) - param_1[2] * param_2[2]) - - param_2[3] * param_1[3]; - param_3[1] = (*param_1 * param_2[1] + *param_2 * param_1[1] + param_1[2] * param_2[3]) - - param_2[2] * param_1[3]; - param_3[2] = (*param_1 * param_2[2] + *param_2 * param_1[2] + param_1[3] * param_2[1]) - - param_2[3] * param_1[1]; - param_3[3] = (*param_1 * param_2[3] + *param_2 * param_1[3] + param_1[1] * param_2[2]) - - param_2[1] * param_1[2]; - return; -} - - - -void FUN_7f05c4ac(float *param_1,float *param_2) - -{ - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - sub_7F05BE88(param_1,param_2,&fStack16); - *param_2 = fStack16; - param_2[1] = fStack12; - param_2[2] = fStack8; - param_2[3] = fStack4; - return; -} - - - -void FUN_7f05c4f4(float *param_1,undefined4 *param_2) - -{ - float fVar1; - float fVar2; - - fVar1 = FUN_7f05b1d0(*param_1); - fVar2 = func_7F057FC4(fVar1); - if (fVar2 == 0.00000000) { - *param_2 = 0; - param_2[1] = 0; - param_2[2] = 0; - param_2[3] = 0; - } - else { - *param_2 = 0; - fVar1 = fVar1 / fVar2; - *(float *)(param_2 + 1) = param_1[1] * fVar1; - *(float *)(param_2 + 2) = param_1[2] * fVar1; - *(float *)(param_2 + 3) = param_1[3] * fVar1; - } - return; -} - - - -void loc_7F05C128(int param_1,float *param_2) - -{ - float fVar1; - float fVar2; - - fVar1 = sqrtf(*(float *)(param_1 + 0xc) * *(float *)(param_1 + 0xc) + - *(float *)(param_1 + 4) * *(float *)(param_1 + 4) + - *(float *)(param_1 + 8) * *(float *)(param_1 + 8)); - if (fVar1 == 0.00000000) { - param_2[1] = 0.00000000; - param_2[2] = 0.00000000; - param_2[3] = 0.00000000; - *param_2 = 1.00000000; - } - else { - fVar2 = func_7F057FC4(fVar1); - fVar2 = fVar2 / fVar1; - fVar1 = FUN_7f0583c0(fVar1); - *param_2 = fVar1; - param_2[1] = *(float *)(param_1 + 4) * fVar2; - param_2[2] = *(float *)(param_1 + 8) * fVar2; - param_2[3] = *(float *)(param_1 + 0xc) * fVar2; - } - return; -} - - - -void sub_7F05C138(float *param_1,float *param_2,float *param_3,float *param_4) - -{ - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float afStack48 [4]; - float afStack32 [4]; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack16 = *param_2; - fStack12 = -param_2[1]; - fStack8 = -param_2[2]; - fStack4 = -param_2[3]; - sub_7F05BE88(&fStack16,param_1,afStack32); - sub_7F05BE88(&fStack16,param_3,afStack48); - FUN_7f05c4f4(afStack32,&fStack64); - FUN_7f05c4f4(afStack48,&fStack80); - fStack64 = -(fStack80 + fStack64) * 0.25000000; - fStack60 = -(fStack76 + fStack60) * 0.25000000; - fStack56 = -(fStack72 + fStack56) * 0.25000000; - fStack52 = -(fStack68 + fStack52) * 0.25000000; - loc_7F05C128((int)&fStack64,afStack32); - sub_7F05BE88(param_2,afStack32,param_4); - return; -} - - - -void FUN_7f05c770(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float *param_6) - -{ - float afStack32 [4]; - float afStack16 [4]; - - locret_7F05BE80(param_1,param_4); - loc_7F05BC58(param_1,param_4,param_5,afStack16); - locret_7F05BE80(param_2,param_3); - loc_7F05BC58(param_2,param_3,param_5,afStack32); - locret_7F05BE80(afStack16,afStack32); - loc_7F05BC58(afStack16,afStack32,(param_5 + param_5) * (1.00000000 - param_5),param_6); - return; -} - - - -void FUN_7f05c810(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float *param_6) - -{ - float afStack32 [4]; - float afStack16 [4]; - - sub_7F05C138(param_1,param_2,param_3,afStack16); - sub_7F05C138(param_2,param_3,param_4,afStack32); - FUN_7f05c770(param_2,afStack16,afStack32,param_3,param_5,param_6); - return; -} - - - -float loc_7F05C3C8(float param_1) - -{ - float fVar1; - - if (0.00000000 <= param_1) { - return (float)(int)param_1; - } - fVar1 = (float)(int)param_1; - if (param_1 != fVar1) { - return fVar1 - 1.00000000; - } - return fVar1; -} - - - -int locret_7F05C430(float param_1) - -{ - int iVar1; - - if (0.00000000 <= param_1) { - return (int)param_1; - } - iVar1 = (int)param_1; - if (param_1 != (float)iVar1) { - return iVar1 + -1; - } - return iVar1; -} - - - -float loc_7F05C4A8(float param_1) - -{ - float fVar1; - - if (param_1 <= 0.00000000) { - return (float)(int)param_1; - } - fVar1 = (float)(int)param_1; - if (param_1 != fVar1) { - return fVar1 + 1.00000000; - } - return fVar1; -} - - - -int locret_7F05C510(float param_1) - -{ - int iVar1; - - if (param_1 <= 0.00000000) { - return (int)param_1; - } - iVar1 = (int)param_1; - if (param_1 != (float)iVar1) { - return iVar1 + 1; - } - return iVar1; -} - - - -void FUN_7f05cab4(float *param_1) - -{ - float afStack64 [16]; - - FUN_7f058c34((float *)(DAT_80034ce0 * 0x24 + -0x7ffca6ac),afStack64); - FUN_7f058588(param_1,afStack64); - loc_7F058918(afStack64,(float *)(DAT_80034ce0 * 0x24 + -0x7ffca6ac)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05cb34(void) - -{ - if (DAT_80034cdc != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x92c) = 1; - FUN_7f058c34((float *)(DAT_80034ce0 * 0x24 + -0x7ffca6ac),(float *)(_DAT_8007a120 + 0x8ec)); - copies_first_3_floats_from_a0_to_a1_plus_0x30 - ((undefined4 *)(&DAT_80035948 + DAT_80034ce0 * 0x24),_DAT_8007a120 + 0x8ec); - DAT_80034cdc = 0; - } - return; -} - - - -undefined8 loc_7F05C8A0(int param_1,float param_2,float *param_3,int param_4) - -{ - uint uVar1; - int iVar2; - undefined uVar3; - undefined7 in_register_00000018; - int iVar4; - float fVar5; - float afStack104 [4]; - float afStack88 [4]; - float afStack72 [4]; - float afStack56 [4]; - float fStack40; - float fStack36; - float afStack24 [3]; - float fStack12; - float fStack8; - - iVar2 = 1; - if (*(float *)(param_1 + 0x44) <= param_2) { - fVar5 = *(float *)(param_1 + 0x44); - uVar1 = *(uint *)(param_1 + 0x90); - iVar4 = param_1 + 0x24; - while( true ) { - param_2 = param_2 - fVar5; - iVar2 += 1; - if (((uVar1 & 1) != 0) || (fVar5 = *(float *)(iVar4 + 0x44), param_2 < fVar5)) break; - uVar1 = *(uint *)(iVar4 + 0x90); - iVar4 = iVar4 + 0x24; - } - iVar4 = iVar2 * 8; - } - else { - iVar4 = 8; - } - param_1 += (iVar4 + iVar2) * 4; - if ((*(uint *)(param_1 + 0x48) & 1) == 0) { - fStack8 = param_2 / *(float *)(param_1 + 0x20); - fStack12 = *(float *)(param_1 + 0x1c); - sub_7F05B3F4((float *)(param_1 + -0x14),afStack56); - sub_7F05B3F4((float *)(param_1 + 0x10),afStack72); - sub_7F05B3F4((float *)(param_1 + 0x34),afStack88); - sub_7F05B3F4((float *)(param_1 + 0x58),afStack104); - locret_7F05BE80(afStack72,afStack88); - locret_7F05BE80(afStack88,afStack104); - locret_7F05BE80(afStack72,afStack56); - FUN_7f05c810(afStack56,afStack72,afStack88,afStack104,fStack8,&fStack40); - sub_7F05B024((float *)(param_1 + -0x20),(float *)(param_1 + 4),(float *)(param_1 + 0x28), - (float *)(param_1 + 0x4c),fStack8,fStack12,afStack24); - if (param_4 == 1) { - afStack24[0] = -afStack24[0]; - fStack40 = -fStack40; - fStack36 = -fStack36; - } - sub_7F05B628(&fStack40,param_3); - copies_first_3_floats_from_a0_to_a1_plus_0x30(afStack24,(int)param_3); - uVar3 = 1; - } - else { - FUN_7f058c34((float *)(param_1 + 0x10),param_3); - copies_first_3_floats_from_a0_to_a1_plus_0x30((undefined4 *)(param_1 + 4),(int)param_3); - uVar3 = 0; - } - return CONCAT17(uVar3,in_register_00000018); -} - - - -undefined * FUN_7f05cdd4(int param_1) - -{ - if (*(int *)(&DAT_8003396c + param_1 * 0x38) == 0) { - return *(undefined **)(&DAT_80033970 + param_1 * 0x38); - } - return &DAT_800324d4; -} - - - -void FUN_7f05ce10(undefined4 *param_1) - -{ - int iVar1; - undefined *puVar2; - - iVar1 = FUN_7f05def0(0); - puVar2 = FUN_7f05cdd4(iVar1); - *param_1 = *(undefined4 *)(puVar2 + 4); - param_1[1] = *(undefined4 *)(puVar2 + 8); - param_1[2] = *(undefined4 *)(puVar2 + 0xc); - return; -} - - - -void FUN_7f05ce58(undefined4 *param_1) - -{ - int iVar1; - undefined *puVar2; - - iVar1 = FUN_7f05def0(0); - puVar2 = FUN_7f05cdd4(iVar1); - *(undefined4 *)(puVar2 + 4) = *param_1; - *(undefined4 *)(puVar2 + 8) = param_1[1]; - *(undefined4 *)(puVar2 + 0xc) = param_1[2]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F05CE80(int param_1) - -{ - int iVar1; - undefined *puVar2; - uint uVar3; - uint *puVar4; - int iVar5; - uint uVar6; - float fVar7; - float fVar8; - uint auStack16 [4]; - - iVar1 = FUN_7f05def0(param_1); - puVar2 = FUN_7f05cdd4(iVar1); - iVar5 = param_1 * 0x3a8; - iVar1 = _DAT_8007a120 + iVar5; - uVar6 = *(int *)(iVar1 + 0xa08) + 2; - fVar8 = *(float *)(puVar2 + 0x40); - puVar4 = auStack16 + param_1 + 2; - uVar3 = uVar6 & 3; - if (((int)uVar6 < 0) && (uVar3 != 0)) { - uVar3 -= 4; - } - *puVar4 = uVar3; - uVar3 = *(int *)(iVar1 + 0xa08) + 1; - uVar6 = uVar3 & 3; - if (((int)uVar3 < 0) && (uVar6 != 0)) { - uVar6 -= 4; - } - auStack16[param_1] = uVar6; - *(uint *)(iVar1 + 0xa08) = uVar6; - iVar1 = FUN_7000a460(); - fVar7 = (float)iVar1; - if (iVar1 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc + 0x9a8) = - (fVar7 * 0.00000000 - 0.50000000) * DAT_80053c44 * fVar8; - iVar1 = FUN_7000a460(); - fVar7 = (float)iVar1; - if (iVar1 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc + 0x9ac) = - (fVar7 * 0.00000000 - 0.50000000) * DAT_80053c48 * fVar8; - *(undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc + 0x9b0) = 0xbf800000; - iVar1 = FUN_7000a460(); - fVar7 = (float)iVar1; - if (iVar1 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc + 0x9d8) = - (fVar7 * 0.00000000 - 0.50000000) * DAT_80053c4c * fVar8; - *(undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc + 0x9dc) = 0x3f800000; - iVar1 = FUN_7000a460(); - fVar7 = (float)iVar1; - if (iVar1 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc + 0x9e0) = - (fVar7 * 0.00000000 - 0.50000000) * DAT_80053c50 * fVar8; - iVar1 = FUN_7000a460(); - fVar8 = (float)iVar1; - if (iVar1 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc + 0x978) = - fVar8 * 0.00000000 * 0.75000000 + 1.50000000; - iVar1 = FUN_7000a460(); - fVar8 = (float)iVar1; - if (iVar1 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + iVar5 + *puVar4 * 0xc + 0x97c) = - *(float *)(_DAT_8007a120 + iVar5 + 0xa14) * (fVar8 * 0.00000000 + 2.00000000); - iVar1 = FUN_7000a460(); - fVar8 = (float)iVar1; - if (iVar1 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc + 0x980) = - (fVar8 * 0.00000000 - 0.50000000) * 2.50000000; - iVar1 = _DAT_8007a120 + iVar5; - if (*(int *)(iVar1 + 0xa18) < 0) { - iVar1 = _DAT_8007a120 + param_1 * 0x3a8 + *puVar4 * 0xc; - *(float *)(iVar1 + 0x978) = *(float *)(iVar1 + 0x978) * -1.00000000; - iVar1 = _DAT_8007a120 + iVar5; - if (*(int *)(iVar1 + 0xa18) == -2) { - *(undefined4 *)(iVar1 + 0xa18) = 1; - } - else { - *(undefined4 *)(iVar1 + 0xa18) = 0xfffffffe; - } - } - else { - if (*(int *)(iVar1 + 0xa18) == 2) { - *(undefined4 *)(iVar1 + 0xa18) = 0xffffffff; - } - else { - *(undefined4 *)(iVar1 + 0xa18) = 2; - } - } - *(float *)(_DAT_8007a120 + iVar5 + 0xa14) = -*(float *)(_DAT_8007a120 + iVar5 + 0xa14); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f05d3dc(int param_1) - -{ - bool bVar1; - int iVar2; - ulonglong uVar3; - - iVar2 = _DAT_8007a120 + param_1 * 4; - bVar1 = 0 < *(int *)(iVar2 + 0x7f8); - uVar3 = (ulonglong)bVar1; - if ((!bVar1) && (bVar1 = *(int *)(iVar2 + 0x800) == 0, uVar3 = (ulonglong)bVar1, bVar1)) { - uVar3 = (ulonglong)(*(int *)(iVar2 + 0x2a44) < 0); - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d420(int param_1) - -{ - return *(undefined4 *)(_DAT_8007a120 + param_1 * 4 + 0x800); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f05d438(int param_1) - -{ - return _DAT_8007a120 + param_1 * 0x20 + 0x810; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d450(int param_1) - -{ - return *(undefined4 *)(_DAT_8007a120 + param_1 * 4 + 0x808); -} - - - -undefined4 FUN_7f05d468(int param_1) - -{ - return (&DAT_8003249c)[param_1]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05d47c(int param_1) - -{ - param_1 *= 4; - *(undefined4 *)(_DAT_8007a120 + param_1 + 0x7f8) = 0; - *(undefined4 *)(_DAT_8007a120 + param_1 + 0x800) = 0; - *(undefined4 *)(_DAT_8007a120 + param_1 + 0x2a44) = 0xffffffff; - *(undefined4 *)(_DAT_8007a120 + param_1 + 0x2a50) = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05d4c4(int param_1,int param_2) - -{ - int iVar1; - - iVar1 = _DAT_8007a120 + param_1 * 4; - if (*(int *)(iVar1 + 0x2a50) == 0) { - if (*(int *)(iVar1 + 0x7f8) < 0) { - if (param_2 != *(int *)(iVar1 + 0x800)) { - *(int *)(iVar1 + 0x2a44) = param_2; - return; - } - *(undefined4 *)(iVar1 + 0x7f8) = 1; - } - else { - if (param_2 != *(int *)(iVar1 + 0x800)) { - *(undefined4 *)(iVar1 + 0x7f8) = 0xffffffff; - *(int *)(_DAT_8007a120 + param_1 * 4 + 0x2a44) = param_2; - return; - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d538(int param_1) - -{ - if (param_1 == 1) { - param_1 = *(int *)(_DAT_8007a120 + 0x2a38); - } - return (&DAT_80033968)[param_1 * 0xe]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d568(int param_1) - -{ - if (param_1 == 1) { - param_1 = *(int *)(_DAT_8007a120 + 0x2a38); - } - return (&DAT_80033964)[param_1 * 0xe]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d598(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x2a38); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05d5a8(int param_1) - -{ - int iVar1; - int iVar2; - byte *pbVar3; - undefined4 *puVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - - iVar6 = param_1 * 4; - iVar2 = _DAT_8007a120 + iVar6; - iVar1 = *(int *)(iVar2 + 0x7f8); - if ((iVar1 < 0) && (*(int *)(iVar2 + 0x2a50) == 0)) { - if (iVar1 < -2) { - iVar1 = *(int *)(iVar2 + 0x2a44); - } - else { - if (*(int *)(iVar2 + 0x800) != 0) { - *(int *)(iVar2 + 0x7f8) = iVar1 + -1; - return; - } - iVar1 = *(int *)(iVar2 + 0x2a44); - } - pbVar3 = (byte *)FUN_7f05d538(iVar1); - puVar4 = (undefined4 *)FUN_7f05d568(iVar1); - if ((pbVar3 != NULL) && (puVar4 != NULL)) { - iVar2 = FUN_7f05d450(param_1); - iVar5 = FUN_7f05d468(param_1); - iVar7 = param_1 * 0x20; - iVar8 = _DAT_8007a120 + iVar7; - *(undefined4 *)(iVar8 + 0x810) = *puVar4; - *(undefined4 *)(iVar8 + 0x814) = puVar4[1]; - *(undefined4 *)(iVar8 + 0x818) = puVar4[2]; - *(undefined4 *)(iVar8 + 0x81c) = puVar4[3]; - *(undefined4 *)(iVar8 + 0x820) = puVar4[4]; - *(undefined4 *)(iVar8 + 0x824) = puVar4[5]; - *(undefined4 *)(iVar8 + 0x828) = puVar4[6]; - *(undefined4 *)(iVar8 + 0x82c) = puVar4[7]; - if (iVar1 == 0x54) { - sub_7F0CBAF4((int *)(_DAT_8007a120 + param_1 * 0x10 + 0x850),iVar2 + 0xbd70,iVar5 + -0xbd70) - ; - loc_7F0764EC((longlong)(_DAT_8007a120 + iVar7 + 0x810),pbVar3,(longlong)iVar2,0xbd70, - (uint *)(_DAT_8007a120 + param_1 * 0x10 + 0x850)); - } - else { - if ((iVar1 == 0x1e) || (iVar1 == 0x17)) { - sub_7F0CBAF4((int *)(_DAT_8007a120 + param_1 * 0x10 + 0x850),iVar2 + 0xafd0, - iVar5 + -0xafd0); - loc_7F0764EC((longlong)(_DAT_8007a120 + iVar7 + 0x810),pbVar3,(longlong)iVar2,0xafd0, - (uint *)(_DAT_8007a120 + param_1 * 0x10 + 0x850)); - } - else { - iVar8 = *(int *)(&DAT_800324a4 + iVar6); - sub_7F0CBAF4((int *)(_DAT_8007a120 + param_1 * 0x10 + 0x850),iVar8 + iVar2,iVar5 - iVar8); - loc_7F0764EC((longlong)(_DAT_8007a120 + iVar7 + 0x810),pbVar3,(longlong)iVar2, - *(int *)(&DAT_800324a4 + iVar6), - (uint *)(_DAT_8007a120 + param_1 * 0x10 + 0x850)); - } - } - } - *(undefined4 *)(_DAT_8007a120 + iVar6 + 0x7f8) = 1; - *(int *)(_DAT_8007a120 + iVar6 + 0x800) = iVar1; - *(undefined4 *)(_DAT_8007a120 + iVar6 + 0x2a44) = 0xffffffff; - } - return; -} - - - -longlong loc_7F05D414(longlong param_1,int param_2) - -{ - int iVar1; - ulonglong uVar2; - int iVar3; - - if (0 < param_2) { - iVar3 = (int)param_1 + 1; - while( true ) { - while( true ) { - iVar1 = iVar3 % 0x21; - param_1 = (longlong)iVar1; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - uVar2 = FUN_7f08cc50(param_1); - if (uVar2 != 0) break; - iVar3 = iVar1 + 1; - } - param_2 += -1; - if (param_2 < 1) break; - iVar3 = iVar1 + 1; - } - } - if (param_2 < 0) { - param_1 = (longlong)((int)param_1 + -1); - while( true ) { - while( true ) { - if (param_1 < 0) { - iVar3 = -1 - (int)param_1; - param_1 = (longlong)(0x20 - iVar3 % 0x21); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - } - uVar2 = FUN_7f08cc50(param_1); - if (uVar2 != 0) break; - param_1 = (longlong)((int)param_1 + -1); - } - param_2 += 1; - if (-1 < param_2) break; - param_1 = (longlong)((int)param_1 + -1); - } - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05d954(int param_1,longlong param_2) - -{ - undefined4 uVar1; - int iVar2; - - iVar2 = _DAT_8007a120 + param_1 * 0x3a8; - if (*(int *)(iVar2 + 0x894) == 5) { - if (((param_2 < 0) && (0 < *(int *)(iVar2 + 0x8b8))) || - ((0 < param_2 && (*(int *)(iVar2 + 0x8b8) < 0)))) { - uVar1 = FUN_7f05def0(param_1); - } - else { - uVar1 = *(undefined4 *)(iVar2 + 0x8ac); - } - } - else { - if (*(int *)(iVar2 + 0x894) == 6) { - uVar1 = *(undefined4 *)(iVar2 + 0x8ac); - } - else { - uVar1 = FUN_7f05def0(param_1); - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05da00(int param_1,int param_2,undefined4 param_3) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - - iVar3 = param_1 * 0x3a8; - iVar2 = _DAT_8007a120 + iVar3; - if ((*(int *)(iVar2 + 0x894) == 5) || (*(int *)(iVar2 + 0x894) == 6)) { - *(undefined4 *)(iVar2 + 0x8b0) = *(undefined4 *)(iVar2 + 0x890); - uVar1 = get_num_players(); - if (uVar1 == 1) { - *(int *)(_DAT_8007a120 + iVar3 + 0x8b0) = *(int *)(_DAT_8007a120 + iVar3 + 0x8b0) + 0x11; - } - else { - *(int *)(_DAT_8007a120 + iVar3 + 0x8b0) = *(int *)(_DAT_8007a120 + iVar3 + 0x8b0) + 0xd; - } - } - iVar2 = FUN_7f05d954(param_1,0); - if (iVar2 != param_2) { - iVar2 = _DAT_8007a120 + iVar3; - if ((*(int *)(iVar2 + 0x894) != 5) && (*(int *)(iVar2 + 0x894) != 6)) { - *(undefined4 *)(iVar2 + 0x898) = 5; - iVar2 = _DAT_8007a120 + iVar3; - } - *(int *)(iVar2 + 0x8ac) = param_2; - *(undefined4 *)(_DAT_8007a120 + iVar3 + 0x8b4) = 1; - *(undefined4 *)(_DAT_8007a120 + iVar3 + 0x8b8) = param_3; - } - return; -} - - - -void FUN_7f05db30(int param_1) - -{ - int iVar2; - longlong lVar1; - - iVar2 = FUN_7f05d954(param_1,0); - lVar1 = loc_7F05D414((longlong)iVar2,1); - FUN_7f05da00(param_1,(int)lVar1,0); - return; -} - - - -void FUN_7f05db70(int param_1) - -{ - int iVar2; - longlong lVar1; - - iVar2 = FUN_7f05d954(param_1,0); - lVar1 = loc_7F05D414((longlong)iVar2,-1); - FUN_7f05da00(param_1,(int)lVar1,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05dbb0(void) - -{ - FUN_7f05de34(0,*(undefined4 *)(_DAT_8007a120 + 0x878)); - FUN_7f05de34(1,*(undefined4 *)(_DAT_8007a120 + 0xc20)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05dbf0(void) - -{ - int iStack8; - int iStack4; - - iStack4 = FUN_7f05d954(0,1); - iStack8 = FUN_7f05d954(1,1); - if ((iStack4 < 0x21) && (iStack8 < 0x21)) { - FUN_7f08d164(&iStack4,&iStack8,0); - } - else { - iStack4 = *(int *)(_DAT_8007a120 + 0x878); - iStack8 = *(int *)(_DAT_8007a120 + 0xc20); - } - FUN_7f05da00(0,iStack4,1); - FUN_7f05da00(1,iStack8,1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05dc88(void) - -{ - int iStack8; - int iStack4; - - iStack4 = FUN_7f05d954(0,-1); - iStack8 = FUN_7f05d954(1,-1); - if ((iStack4 < 0x21) && (iStack8 < 0x21)) { - FUN_7f08d43c(&iStack4,&iStack8,0); - } - else { - iStack4 = *(int *)(_DAT_8007a120 + 0x878); - iStack8 = *(int *)(_DAT_8007a120 + 0xc20); - } - FUN_7f05da00(0,iStack4,0xffffffff); - FUN_7f05da00(1,iStack8,0xffffffff); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05dd20(void) - -{ - ulonglong uVar1; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack12 = FUN_7f05d954(0,1); - iStack4 = iStack12; - iStack16 = FUN_7f05d954(1,1); - if ((iStack12 < 0x21) && (iStack16 < 0x21)) { - iStack8 = iStack16; - if ((iStack12 == 0x1d) && (iStack8 = iStack16, uVar1 = FUN_7f08cc50(0x1e), uVar1 != 0)) { - iStack12 = 0x1e; - iStack16 = 0; - } - else { - FUN_7f08d164(&iStack12,&iStack16,1); - if ((iStack12 < iStack4) || ((iStack12 == iStack4 && (iStack16 <= iStack8)))) { - iStack12 = iStack4; - iStack16 = iStack8; - FUN_7f08d43c(&iStack12,&iStack16,1); - } - } - } - else { - iStack12 = *(int *)(_DAT_8007a120 + 0x878); - iStack16 = *(int *)(_DAT_8007a120 + 0xc20); - } - FUN_7f05da00(0,iStack12,1); - FUN_7f05da00(1,iStack16,1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05de34(int param_1,undefined4 param_2) - -{ - param_1 *= 0x3a8; - *(undefined4 *)(_DAT_8007a120 + param_1 + 0x898) = 5; - *(undefined4 *)(_DAT_8007a120 + param_1 + 0x8ac) = param_2; - *(undefined4 *)(_DAT_8007a120 + param_1 + 0x8b4) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05de84(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f05def0(param_1); - iVar1 = FUN_7f069a18(iVar1); - if ((iVar1 != 0) && (iVar1 = _DAT_8007a120 + param_1 * 0x3a8, *(int *)(iVar1 + 0x898) == 0)) { - *(undefined4 *)(iVar1 + 0x898) = 9; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f05def0(int param_1) - -{ - return *(undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0x870); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05df20(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0x898) = 0xe; - *(undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0x8ac) = param_2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f05df64(int param_1) - -{ - int iVar1; - int iVar2; - - iVar2 = _DAT_8007a120 + param_1 * 0x3a8; - iVar1 = *(int *)(iVar2 + 0x874); - if (iVar1 < 0) { - return *(int *)(iVar2 + 0x870); - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05dfac(int param_1,int param_2) - -{ - FUN_7f05d4c4(param_1,param_2); - *(int *)(_DAT_8007a120 + param_1 * 0x3a8 + 0x874) = param_2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05e004(int param_1) - -{ - int iVar1; - - iVar1 = _DAT_8007a120 + param_1 * 0x3a8; - if (-1 < *(int *)(iVar1 + 0x874)) { - FUN_7f05d4c4(param_1,*(int *)(iVar1 + 0x870)); - *(undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0x874) = 0xffffffff; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05e074(int param_1,int param_2) - -{ - int iVar1; - int iVar3; - ulonglong uVar2; - int iVar4; - int iVar5; - - iVar5 = param_1 * 0x3a8; - iVar1 = *(int *)(_DAT_8007a120 + iVar5 + 0x870); - iVar3 = FUN_7f069a18(iVar1); - if (*(int *)(_DAT_8007a120 + iVar5 + 0x874) < 0) { - FUN_7f05d4c4(param_1,param_2); - iVar4 = *(int *)(_DAT_8007a120 + iVar5 + 0x89c); - } - else { - iVar4 = *(int *)(_DAT_8007a120 + iVar5 + 0x89c); - } - iVar3 = _DAT_8007a120 + iVar3 * 4; - if (0 < iVar4) { - *(int *)(iVar3 + 0x1130) = *(int *)(iVar3 + 0x1130) + iVar4; - } - if (iVar1 < 0x21) { - *(int *)(_DAT_8007a120 + iVar5 + 0x878) = iVar1; - } - uVar2 = get_num_players(); - if (1 < (longlong)uVar2) { - FUN_7f09bf08(param_1); - } - FUN_7f060020(param_1); - *(int *)(_DAT_8007a120 + iVar5 + 0x870) = param_2; - *(undefined4 *)(_DAT_8007a120 + iVar5 + 0x89c) = 0; - *(undefined4 *)(_DAT_8007a120 + iVar5 + 0xa4c) = 0; - *(undefined4 *)(_DAT_8007a120 + iVar5 + 0xa50) = 0; - FUN_7f08e3c8(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined FUN_7f05e1a8(int param_1) - -{ - return *(undefined *)(_DAT_8007a120 + param_1 * 0x3a8 + 0x87c); -} - - - -undefined4 FUN_7f05e1d8(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -float FUN_7f05e208(longlong param_1) - -{ - int iVar1; - undefined *puVar2; - float fVar3; - - if (param_1 == 0) { - iVar1 = FUN_7f05df64(0); - puVar2 = FUN_7f05cdd4(iVar1); - fVar3 = *(float *)(puVar2 + 4); - } - else { - iVar1 = FUN_7f05df64(1); - puVar2 = FUN_7f05cdd4(iVar1); - fVar3 = -*(float *)(puVar2 + 4); - } - return fVar3; -} - - - -undefined * FUN_7f05e258(void) - -{ - int iVar1; - undefined *puVar2; - - puVar2 = (undefined *)FUN_7f05df64(0); - if ((puVar2 != (undefined *)0x11) && - (puVar2 = (undefined *)FUN_7f05df64(0), puVar2 != (undefined *)0x28)) { - iVar1 = FUN_7f05df64(0); - puVar2 = FUN_7f05cdd4(iVar1); - } - return puVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05e2c4(float param_1) - -{ - int iVar1; - - iVar1 = FUN_7f05df64(0); - if (iVar1 == 0x11) { - *(float *)(_DAT_8007a120 + 0x1084) = - *(float *)(_DAT_8007a120 + 0x1084) * (param_1 * DAT_80053c54 + 1.00000000); - if (60.00000000 < *(float *)(_DAT_8007a120 + 0x1084)) { - *(undefined4 *)(_DAT_8007a120 + 0x1084) = 0x42700000; - } - } - else { - iVar1 = FUN_7f05df64(0); - if ((iVar1 == 0x28) && - (*(float *)(_DAT_8007a120 + 0x1088) = - *(float *)(_DAT_8007a120 + 0x1088) * (param_1 * DAT_80053c58 + 1.00000000), - 60.00000000 < *(float *)(_DAT_8007a120 + 0x1088))) { - *(undefined4 *)(_DAT_8007a120 + 0x1088) = 0x42700000; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05e3b4(float param_1) - -{ - int iVar1; - - iVar1 = FUN_7f05df64(0); - if (iVar1 == 0x11) { - *(float *)(_DAT_8007a120 + 0x1084) = - *(float *)(_DAT_8007a120 + 0x1084) / (param_1 * DAT_80053c5c + 1.00000000); - if (*(float *)(_DAT_8007a120 + 0x1084) < 7.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x1084) = 0x40e00000; - } - } - else { - iVar1 = FUN_7f05df64(0); - if ((iVar1 == 0x28) && - (*(float *)(_DAT_8007a120 + 0x1088) = - *(float *)(_DAT_8007a120 + 0x1088) / (param_1 * DAT_80053c60 + 1.00000000), - *(float *)(_DAT_8007a120 + 0x1088) < 7.00000000)) { - *(undefined4 *)(_DAT_8007a120 + 0x1088) = 0x40e00000; - } - } - return; -} - - - -undefined * FUN_7f05e4a4(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return puVar1; -} - - - -undefined * FUN_7f05e4c8(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return puVar1; -} - - - -undefined FUN_7f05e4ec(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return puVar1[0x22]; -} - - - -ulonglong FUN_7f05e510(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return (ulonglong)(byte)puVar1[0x25]; -} - - - -ulonglong FUN_7f05e534(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return (ulonglong)*(ushort *)(puVar1 + 0x26); -} - - - -ulonglong FUN_7f05e558(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return (ulonglong)(byte)puVar1[0x24]; -} - - - -undefined8 FUN_7f05e57c(int param_1) - -{ - ulonglong uVar1; - undefined8 uVar2; - int iVar3; - - uVar1 = FUN_7f05e5d4(param_1,0x40000); - if (uVar1 == 0) { - uVar2 = 0; - } - else { - iVar3 = FUN_7f069a18(param_1); - if ((iVar3 == 0) || (iVar3 = FUN_7f069a3c(param_1), 0 < iVar3)) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -ulonglong FUN_7f05e5d4(int param_1,uint param_2) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return (ulonglong)((*(uint *)(puVar1 + 0x6c) & param_2) != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F05E5A4(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6) - -{ - float fVar1; - int iVar2; - float *pfVar3; - int iVar4; - float in_f0; - float fVar5; - float fVar6; - undefined auStackX0 [8]; - float fStackX8; - float fStackX12; - float fStack8; - float fStack4; - - fVar5 = DAT_80053c6c; - fVar6 = fParm5; - if (fParm5 < 0.00000000) { - fVar6 = -fParm5; - } - if (DAT_80053c64 < fParm2) { - *(undefined4 *)(_DAT_8007a120 + 0xfc0) = 0x3f800000; - fStackX8 = fParm5; - fStackX12 = fParm6; - } - else { - if (DAT_80053c6c < fParm2) { - fStackX8 = fParm5; - fStackX12 = fParm6; - in_f0 = FUN_7f0583c0(((fParm2 - DAT_80053c6c) * DAT_80053c70) / DAT_80053c74); - *(float *)(_DAT_8007a120 + 0xfc0) = DAT_80053c78 * (1.00000000 - in_f0) + DAT_80053c7c; - } - else { - *(float *)(_DAT_8007a120 + 0xfc0) = DAT_80053c6c; - in_f0 = fVar5; - fStackX8 = fParm5; - fStackX12 = fParm6; - } - } - FUN_7f08a60c(); - fVar5 = *(float *)(_DAT_8007a120 + 0xfc0); - if (fVar5 < in_f0 * DAT_80053c84) { - FUN_7f08a60c(); - *(float *)(_DAT_8007a120 + 0xfc0) = in_f0 * DAT_80053c88; - fVar5 = *(float *)(_DAT_8007a120 + 0xfc0); - } - if (fVar5 < fVar6 * 0.50000000) { - *(float *)(_DAT_8007a120 + 0xfc0) = fVar6 * 0.50000000; - } - fVar5 = DAT_80053c8c; - iVar2 = 0; - if (0 < DAT_800483a4) { - do { - iVar2 += 1; - *(float *)(_DAT_8007a120 + 0x1080) = - *(float *)(_DAT_8007a120 + 0x1080) * fVar5 + *(float *)(_DAT_8007a120 + 0xfc0); - } while (iVar2 < DAT_800483a4); - } - fVar1 = DAT_80053c94; - fVar5 = DAT_80053c90; - iVar2 = 0; - *(float *)(_DAT_8007a120 + 0xfc0) = *(float *)(_DAT_8007a120 + 0x1080) * DAT_80053c94; - fVar6 = DAT_80053c98 * fVar6; - if (fVar6 <= fParm1) { - fVar6 = fParm1; - } - if (0 < DAT_800483a4) { - do { - iVar2 += 1; - *(float *)(_DAT_8007a120 + 0x107c) = *(float *)(_DAT_8007a120 + 0x107c) * fVar5 + fVar6; - } while (iVar2 < DAT_800483a4); - } - fVar5 = *(float *)(_DAT_8007a120 + 0x107c) * fVar1 * DAT_800483b4; - fStack8 = *(float *)(_DAT_8007a120 + 0xa0c) + fVar5; - while (1.00000000 <= fStack8) { - loc_7F05CE80(0); - fStack8 = fStack8 - 1.00000000; - *(int *)(_DAT_8007a120 + 0x1078) = *(int *)(_DAT_8007a120 + 0x1078) + 1; - } - *(float *)(_DAT_8007a120 + 0x1074) = *(float *)(_DAT_8007a120 + 0x1074) + DAT_800483b4; - if (60.00000000 < *(float *)(_DAT_8007a120 + 0x1074)) { - *(undefined4 *)(_DAT_8007a120 + 0x1074) = 0; - iVar2 = FUN_7000a460(); - fVar6 = (float)iVar2; - if (iVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + 0x1070) = - ((fVar6 * 0.00000000 - 0.50000000) * DAT_80053c9c) / 60.00000000; - fVar6 = *(float *)(_DAT_8007a120 + 0x1070); - } - else { - fVar6 = *(float *)(_DAT_8007a120 + 0x1070); - } - if (0.00000000 < fVar6 + fVar5) { - *(float *)(_DAT_8007a120 + 0x106c) = *(float *)(_DAT_8007a120 + 0x106c) + fVar6; - fStack4 = *(float *)(_DAT_8007a120 + 0x106c); - } - else { - fStack4 = *(float *)(_DAT_8007a120 + 0x106c); - } - if (0.50000000 < fStack4) { - *(undefined4 *)(_DAT_8007a120 + 0x106c) = 0x3f000000; - fStack4 = *(float *)(_DAT_8007a120 + 0x106c); - } - else { - if (fStack4 < -0.50000000) { - *(undefined4 *)(_DAT_8007a120 + 0x106c) = 0xbf000000; - fStack4 = *(float *)(_DAT_8007a120 + 0x106c); - } - else { - if (DAT_80053ca0 <= fStack4) { - iVar2 = *(int *)(_DAT_8007a120 + 0x1078); - goto LAB_7f05ea38; - } - if (fStack4 <= DAT_80053ca4) { - iVar2 = *(int *)(_DAT_8007a120 + 0x1078); - goto LAB_7f05ea38; - } - if (0.00000000 < fStack4) { - *(float *)(_DAT_8007a120 + 0x106c) = DAT_80053ca4; - fStack4 = *(float *)(_DAT_8007a120 + 0x106c); - } - else { - *(float *)(_DAT_8007a120 + 0x106c) = DAT_80053ca0; - fStack4 = *(float *)(_DAT_8007a120 + 0x106c); - } - } - } - iVar2 = *(int *)(_DAT_8007a120 + 0x1078); -LAB_7f05ea38: - fStack4 = fStack8 + (float)iVar2 + fStack4; - while (1.00000000 <= fStack4) { - loc_7F05CE80(1); - fStack4 = fStack4 - 1.00000000; - *(int *)(_DAT_8007a120 + 0x1078) = *(int *)(_DAT_8007a120 + 0x1078) + -1; - } - iVar2 = 0; - pfVar3 = &fStack8; - do { - fVar5 = *pfVar3; - pfVar3 = pfVar3 + 1; - *(float *)(_DAT_8007a120 + iVar2 + 0xa0c) = fVar5; - *(float *)(_DAT_8007a120 + iVar2 + 0xa1c) = fStackX12 * -1.75000000; - iVar4 = _DAT_8007a120 + iVar2; - iVar2 += 0x3a8; - *(float *)(iVar4 + 0xa20) = fStackX8 * -2.00000000; - } while (pfVar3 != (float *)register0x000000ec); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05eb10(float param_1) - -{ - float fVar1; - - fVar1 = FUN_7f0583c0(param_1); - *(float *)(_DAT_8007a120 + 0xa30) = (1.00000000 - fVar1) * 5.00000000; - fVar1 = FUN_7f0583c0(param_1); - *(float *)(_DAT_8007a120 + 0xdd8) = (1.00000000 - fVar1) * 5.00000000; - return; -} - - - -// WARNING: Instruction at (ram,0x7f05ebb0) overlaps instruction at (ram,0x7f05ebac) -// - -int FUN_7f05eb84(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f05def0(param_1); - if (iVar1 != 0x1e) { - iVar1 = FUN_7f05def0(param_1); - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f05ebd4(int iParm1,longlong lParm2) - -{ - int iVar1; - int iVar2; - float in_f0; - float fVar3; - - if (lParm2 == 0) { - iVar1 = _DAT_8007a120 + iParm1 * 0x3a8; - fVar3 = *(float *)(iVar1 + 0xa84); - if (0.00000000 < fVar3) { - *(float *)(iVar1 + 0xa84) = fVar3 - DAT_80053cb4 * DAT_800483b4; - iVar1 = _DAT_8007a120 + iParm1 * 0x3a8; - fVar3 = *(float *)(iVar1 + 0xa84); - } - if (fVar3 < 0.00000000) { - *(undefined4 *)(iVar1 + 0xa84) = 0; - } - } - else { - FUN_7f05eb84(iParm1); - iVar2 = iParm1 * 0x3a8; - fVar3 = *(float *)(_DAT_8007a120 + iVar2 + 0xa84); - if (fVar3 < in_f0) { - *(float *)(_DAT_8007a120 + iVar2 + 0xa84) = fVar3 + DAT_80053cb0 * DAT_800483b4; - } - iVar1 = FUN_7f05eb84(iParm1); - if (in_f0 < *(float *)(_DAT_8007a120 + iVar2 + 0xa84)) { - iVar1 = FUN_7f05eb84(iParm1); - *(float *)(_DAT_8007a120 + iVar2 + 0xa84) = in_f0; - } - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05ed28(int param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0xa8c) = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05ed5c(int param_1) - -{ - int iVar1; - undefined *puVar2; - float fVar3; - float fVar4; - - iVar1 = FUN_7f05df64(param_1); - puVar2 = FUN_7f05cdd4(iVar1); - param_1 *= 0x3a8; - iVar1 = _DAT_8007a120 + param_1; - fVar4 = *(float *)(puVar2 + 0x50); - if (*(int *)(iVar1 + 0xa8c) == 0) { - if (0 < *(int *)(iVar1 + 0x89c)) { - fVar3 = *(float *)(iVar1 + 0xa88); - if (0.00000000 < fVar3) { - *(float *)(iVar1 + 0xa88) = fVar3 - fVar4 * DAT_80053cb8 * DAT_800483b4; - iVar1 = _DAT_8007a120 + param_1; - fVar3 = *(float *)(iVar1 + 0xa88); - } - if (fVar3 < 0.00000000) { - *(undefined4 *)(iVar1 + 0xa88) = 0; - } - } - } - else { - fVar3 = *(float *)(iVar1 + 0xa88); - if (fVar3 < fVar4) { - *(float *)(iVar1 + 0xa88) = fVar3 + fVar4 * 0.25000000 * DAT_800483b4; - iVar1 = _DAT_8007a120 + param_1; - fVar3 = *(float *)(iVar1 + 0xa88); - } - if (fVar4 <= fVar3) { - *(float *)(iVar1 + 0xa88) = fVar4; - *(undefined4 *)(_DAT_8007a120 + param_1 + 0xa8c) = 0; - } - } - return; -} - - - -void loc_7F05EA84(int param_1,undefined4 param_2) - -{ - undefined4 *puVar1; - int iVar2; - ushort *puVar3; - int iVar4; - short sVar5; - - iVar2 = *(int *)(param_1 + 8); - iVar4 = *(int *)(iVar2 + 8); - if (*(ushort **)(iVar4 + 0x20) == NULL) { - puVar3 = *(ushort **)(iVar4 + 0x24); - } - else { - puVar1 = (undefined4 *)loc_7F06C888(param_1,*(ushort **)(iVar4 + 0x20)); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - iVar4 = *(int *)(iVar2 + 8); - puVar3 = *(ushort **)(iVar4 + 0x24); - } - if (puVar3 == NULL) { - puVar3 = *(ushort **)(iVar4 + 0x28); - } - else { - puVar1 = (undefined4 *)loc_7F06C888(param_1,puVar3); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - iVar4 = *(int *)(iVar2 + 8); - puVar3 = *(ushort **)(iVar4 + 0x28); - } - if (puVar3 == NULL) { - puVar3 = *(ushort **)(iVar4 + 0x2c); - } - else { - puVar1 = (undefined4 *)loc_7F06C888(param_1,puVar3); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - iVar4 = *(int *)(iVar2 + 8); - puVar3 = *(ushort **)(iVar4 + 0x2c); - } - if (puVar3 == NULL) { - puVar3 = *(ushort **)(iVar4 + 0x30); - } - else { - puVar1 = (undefined4 *)loc_7F06C888(param_1,puVar3); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - iVar4 = *(int *)(iVar2 + 8); - puVar3 = *(ushort **)(iVar4 + 0x30); - } - if (puVar3 == NULL) { - puVar3 = *(ushort **)(iVar4 + 0x34); - } - else { - puVar1 = (undefined4 *)loc_7F06C888(param_1,puVar3); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - puVar3 = *(ushort **)(*(int *)(iVar2 + 8) + 0x34); - } - if (puVar3 == NULL) { - sVar5 = *(short *)(iVar2 + 0xc); - } - else { - puVar1 = (undefined4 *)loc_7F06C888(param_1,puVar3); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - sVar5 = *(short *)(iVar2 + 0xc); - } - if ((0x23 < sVar5) && (puVar3 = *(ushort **)(*(int *)(iVar2 + 8) + 0x8c), puVar3 != NULL)) { - puVar1 = (undefined4 *)loc_7F06C888(param_1,puVar3); - *puVar1 = param_2; - } - return; -} - - - -void loc_7F05EB00(int param_1,undefined4 param_2) - -{ - int iVar1; - undefined4 *puVar2; - ushort *puVar3; - - if (0xf < *(short *)(*(int *)(param_1 + 8) + 0xc)) { - iVar1 = *(int *)(*(int *)(param_1 + 8) + 8); - puVar3 = *(ushort **)(iVar1 + 0x38); - if (puVar3 == NULL) { - puVar3 = *(ushort **)(iVar1 + 0x3c); - } - else { - puVar2 = (undefined4 *)loc_7F06C888(param_1,puVar3); - *puVar2 = param_2; - puVar3 = *(ushort **)(*(int *)(*(int *)(param_1 + 8) + 8) + 0x3c); - } - if (puVar3 != NULL) { - puVar2 = (undefined4 *)loc_7F06C888(param_1,puVar3); - *puVar2 = param_2; - } - } - return; -} - - - -void loc_7F05EC0C(int param_1,undefined4 *param_2,undefined4 param_3,float *param_4, - undefined4 *param_5,undefined4 *param_6,undefined4 param_7) - -{ - int iVar1; - undefined8 extraout_a0; - - iVar1 = *(int *)(param_1 + 0x10); - if (iVar1 != 0) { - FUN_7f03a7a4(iVar1); - set_stateflag_0x04_for_posdata(iVar1); - matrix_multiply_A1_by_F12(*(float *)(*(int *)(param_1 + 0x14) + 0x14),extraout_a0,param_4); - sub_7F040754(param_1,param_2,param_4,param_3); - loc_7F056E80(param_1); - FUN_7f040784(param_1); - FUN_7f0400a8(iVar1); - if ((*(uint *)(param_1 + 100) & 0x80) != 0) { - **(uint **)(param_1 + 0x6c) = **(uint **)(param_1 + 0x6c) | 0x41; - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 0x88) = param_7; - locret_7F03FE80(iVar1); - loc_7F058030(param_6,(undefined4 *)(*(int *)(param_1 + 0x6c) + 0x20)); - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 4) = *param_5; - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 8) = param_5[1]; - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 0xc) = param_5[2]; - *(int *)(*(int *)(param_1 + 0x6c) + 0xe4) = param_1; - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 0xe8) = DAT_800483b0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F05EE10(int iParm1,float *pfParm2,float *pfParm3,undefined4 *puParm4,undefined4 *puParm5) - -{ - uint uVar1; - int iVar3; - ulonglong uVar2; - float *pfVar4; - float in_f0; - float fVar5; - int iStack136; - uint auStack132 [21]; - byte bStack48; - undefined uStack47; - int iStack40; - float fStack36; - float fStack32; - int iStack20; - float fStack16; - float fStack12; - float fStack8; - - if (*(int *)(iParm1 + 0x10) != 0) { - iVar3 = FUN_7f089e6c(); - sub_7F089778(_DAT_8007a120); - iStack40 = 0; - fVar5 = *(float *)(iVar3 + 0xc); - fStack36 = pfParm2[1]; - fStack32 = fVar5; - if (fVar5 <= fStack36) { - fStack32 = fStack36; - fStack36 = fVar5; - } - fStack36 = fStack36 - in_f0; - fStack32 = fStack32 - in_f0; - iStack20 = *(int *)(iVar3 + 0x14); - uVar2 = FUN_7f08a774(iVar3,0); - uVar1 = loc_7F0B13B4(&iStack20,*(float *)(iVar3 + 8),*(float *)(iVar3 + 0x10),*pfParm2, - pfParm2[2],0x1f,fStack32,fStack36,0.00000000,1.00000000); - if ((uVar2 & 0xffffffff00000000 | (ulonglong)((uint)uVar2 & 0xffffff00 | uVar1 >> 0x18)) == 0) { - iStack20 = *(int *)(iVar3 + 0x14); - fStack16 = *(float *)(iVar3 + 8); - fStack12 = *(float *)(iVar3 + 0xc); - fStack8 = *(float *)(iVar3 + 0x10); - iStack40 = 1; - } - else { - fStack16 = *pfParm2; - fStack12 = pfParm2[1]; - fStack8 = pfParm2[2]; - } - FUN_7f08a774(iVar3,1); - loc_7F05EC0C(iParm1,&fStack16,iStack20,pfParm3,puParm4,puParm5,iVar3); - if ((*(uint *)(iParm1 + 100) & 0x80) != 0) { - if (iStack40 != 0) { - **(uint **)(iParm1 + 0x6c) = **(uint **)(iParm1 + 0x6c) | 0x100; - *(float *)(*(int *)(iParm1 + 0x6c) + 0xd4) = *pfParm2; - *(float *)(*(int *)(iParm1 + 0x6c) + 0xd8) = pfParm2[1]; - *(float *)(*(int *)(iParm1 + 0x6c) + 0xdc) = pfParm2[2]; - } - uVar2 = FUN_7f08a6d0(); - bStack48 = (byte)uVar2; - uStack47 = 0xff; - pfVar4 = (float *)FUN_7f08a738(); - FUN_7f0b5664(pfVar4,&fStack16,&bStack48,*(int *)(iParm1 + 0x6c) + 0xcc,auStack132,&iStack136, - 0x14); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05f344(int param_1) - -{ - uint uVar1; - int iVar2; - undefined4 uVar3; - float *pfVar4; - undefined4 *puVar5; - int **ppiVar6; - float afStack256 [12]; - undefined4 uStack208; - undefined4 uStack204; - undefined4 uStack200; - float *pfStack192; - float fStack184; - float fStack180; - float fStack176; - undefined auStack172 [12]; - float afStack160 [16]; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - float fStack80; - float fStack76; - float fStack72; - float afStack68 [17]; - - iVar2 = FUN_7f089e6c(); - pfStack192 = (float *)FUN_7f08a764(); - uVar3 = FUN_7f05def0(param_1); - FUN_7f058134(&fStack80,afStack68); - FUN_7f0687a4(auStack172,&fStack184,param_1); - pfVar4 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar4,&fStack184); - fStack80 = fStack184 * DAT_80053cbc; - fStack72 = fStack176 * DAT_80053cbc; - fStack76 = fStack180 * DAT_80053cbc + 5.00000000; - if (0 < DAT_800483a4) { - fStack80 = fStack80 + (*(float *)(iVar2 + 8) - *pfStack192) / DAT_800483b4; - fStack76 = fStack76 + (*(float *)(iVar2 + 0xc) - pfStack192[1]) / DAT_800483b4; - fStack72 = fStack72 + (*(float *)(iVar2 + 0x10) - pfStack192[2]) / DAT_800483b4; - } - iVar2 = _DAT_8007a120 + param_1 * 0x3a8; - uStack96 = *(undefined4 *)(iVar2 + 0xb08); - uStack92 = *(undefined4 *)(iVar2 + 0xb0c); - uStack88 = *(undefined4 *)(iVar2 + 0xb10); - init_0x40_bytes_data_at_address_last_word_1_0(afStack160); - loc_7F058030((undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0xad8),afStack256); - uStack208 = 0; - uStack204 = 0; - uStack200 = 0; - FUN_7f058588(afStack256,afStack160); - puVar5 = FUN_7f052568(0xc4,(char)uVar3); - if (puVar5 != NULL) { - *(short *)((int)puVar5 + 0x82) = 0xf0 - (short)*(undefined4 *)(_DAT_8007a120 + 0x105c); - if (*(short *)((int)puVar5 + 0x82) < 0) { - *(undefined2 *)((int)puVar5 + 0x82) = 0; - uVar1 = puVar5[0x19]; - } - else { - uVar1 = puVar5[0x19]; - } - puVar5[0x19] = uVar1 & 0xfff9ffff; - iVar2 = get_cur_playernum(); - puVar5[0x19] = puVar5[0x19] | iVar2 << 0x11; - loc_7F05EE10(puVar5,&uStack96,afStack160,&fStack80,afStack68); - if ((puVar5[0x19] & 0x80) != 0) { - *(uint *)puVar5[0x1b] = *(uint *)puVar5[0x1b] | 2; - *(undefined4 *)(puVar5[0x1b] + 0x8c) = DAT_80053cc0; - *(undefined4 *)(puVar5[0x1b] + 0x94) = DAT_80053cc4; - *(undefined4 *)(puVar5[0x1b] + 0xbc) = 0x3c; - ppiVar6 = FUN_70008e18((longlong)_DAT_80063760,4,NULL); - if (ppiVar6 != NULL) { - FUN_7f053f0c((int)ppiVar6,(float *)(puVar5 + 0x16)); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05f5bc(int param_1) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - float fVar4; - float afStack248 [12]; - undefined4 uStack200; - undefined4 uStack196; - undefined4 uStack192; - float fStack184; - float fStack180; - float fStack176; - undefined auStack172 [12]; - float afStack160 [4]; - float fStack144; - float fStack140; - float fStack136; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - float fStack80; - float fStack76; - float fStack72; - float afStack68 [16]; - undefined4 *puStack4; - - iVar1 = FUN_7f089e6c(); - pfVar2 = (float *)FUN_7f08a764(); - FUN_7f058134(&fStack80,afStack68); - FUN_7f0687a4(auStack172,&fStack184,param_1); - pfVar3 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar3,&fStack184); - fStack80 = fStack184 * 25.00000000; - fStack72 = fStack176 * 25.00000000; - fStack76 = fStack180 * 25.00000000 + 5.00000000; - if (0 < DAT_800483a4) { - fStack80 = fStack80 + (*(float *)(iVar1 + 8) - *pfVar2) / DAT_800483b4; - fStack76 = fStack76 + (*(float *)(iVar1 + 0xc) - pfVar2[1]) / DAT_800483b4; - fStack72 = fStack72 + (*(float *)(iVar1 + 0x10) - pfVar2[2]) / DAT_800483b4; - } - iVar1 = _DAT_8007a120 + param_1 * 0x3a8; - uStack96 = *(undefined4 *)(iVar1 + 0xb08); - uStack92 = *(undefined4 *)(iVar1 + 0xb0c); - uStack88 = *(undefined4 *)(iVar1 + 0xb10); - FUN_7f058ba8(DAT_80053cc8,extraout_a0,afStack160); - FUN_7f058a90(DAT_80053ccc,extraout_a0_00,afStack248); - FUN_7f058588(afStack248,afStack160); - loc_7F058030((undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0xad8),afStack248); - uStack200 = 0; - uStack196 = 0; - uStack192 = 0; - FUN_7f058588(afStack248,afStack160); - iVar1 = FUN_7000a460(); - fVar4 = (float)iVar1; - if (iVar1 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - guRotate(afStack68,360.00000000 / (fVar4 * 0.00000000 + DAT_80053cd0),fStack144,fStack140, - fStack136); - puStack4 = FUN_7f052568(0xba,3); - if (puStack4 != NULL) { - puStack4[0x19] = puStack4[0x19] & 0xfff9ffff; - iVar1 = get_cur_playernum(); - puStack4[0x19] = puStack4[0x19] | iVar1 << 0x11; - loc_7F05EE10(puStack4,&uStack96,afStack160,&fStack80,afStack68); - if ((puStack4[0x19] & 0x80) != 0) { - *(uint *)puStack4[0x1b] = *(uint *)puStack4[0x1b] | 2; - *(undefined4 *)(puStack4[0x1b] + 0x8c) = DAT_80053cd4; - *(undefined4 *)(puStack4[0x1b] + 0xbc) = 0x3c; - puStack4[0x19] = puStack4[0x19] | 0x20; - } - loc_7F043828((int)puStack4); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05f878(int param_1) - -{ - int iVar2; - float *pfVar3; - int iVar4; - undefined4 *puVar5; - ulonglong uVar1; - int **ppiVar6; - float afStack256 [12]; - undefined4 uStack208; - undefined4 uStack204; - undefined4 uStack200; - float *pfStack192; - int iStack188; - float fStack184; - float fStack180; - float fStack176; - undefined auStack172 [12]; - float afStack160 [16]; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float afStack68 [17]; - - puVar5 = NULL; - fStack84 = DAT_80053cd8; - iStack188 = FUN_7f089e6c(); - pfStack192 = (float *)FUN_7f08a764(); - iVar2 = FUN_7f05def0(param_1); - if (iVar2 == 0x3d) { - fStack84 = DAT_80053cdc; - } - FUN_7f058134(&fStack80,afStack68); - FUN_7f0687a4(auStack172,&fStack184,param_1); - pfVar3 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar3,&fStack184); - fStack80 = fStack184 * fStack84; - fStack72 = fStack176 * fStack84; - fStack76 = fStack180 * fStack84 + 5.00000000; - if (0 < DAT_800483a4) { - fStack80 = fStack80 + (*(float *)(iStack188 + 8) - *pfStack192) / DAT_800483b4; - fStack76 = fStack76 + (*(float *)(iStack188 + 0xc) - pfStack192[1]) / DAT_800483b4; - fStack72 = fStack72 + (*(float *)(iStack188 + 0x10) - pfStack192[2]) / DAT_800483b4; - } - iVar4 = _DAT_8007a120 + param_1 * 0x3a8; - uStack96 = *(undefined4 *)(iVar4 + 0xb08); - uStack92 = *(undefined4 *)(iVar4 + 0xb0c); - uStack88 = *(undefined4 *)(iVar4 + 0xb10); - init_0x40_bytes_data_at_address_last_word_1_0(afStack160); - loc_7F058030((undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0xad8),afStack256); - uStack208 = 0; - uStack204 = 0; - uStack200 = 0; - FUN_7f058588(afStack256,afStack160); - if (iVar2 == 0x3d) { - puVar5 = (undefined4 *)FUN_7f08ce68('='); - FUN_7f08cf14(0x3d); - if (puVar5 != NULL) { - loc_7F04C124(puVar5[4]); - } - FUN_7f05dbb0(); - } - if (puVar5 == NULL) { - iVar4 = 199; - if (true) { - switch(iVar2) { - case 0x1b: - iVar4 = 0xc9; - break; - case 0x1c: - iVar4 = 200; - break; - case 0x21: - iVar4 = 0xe2; - break; - case 0x22: - iVar4 = 0x111; - break; - case 0x2f: - iVar4 = 0xf5; - break; - case 0x30: - iVar4 = 0xf6; - break; - case 0x3d: - iVar4 = 0xf8; - } - } - puVar5 = FUN_7f052568(iVar4,(char)iVar2); - } - if (puVar5 == NULL) { - return; - } - if (false) { -switchD_7f05fae8_caseD_1e: - *(undefined2 *)((int)puVar5 + 0x82) = 0xf0; - } - else { - switch(iVar2) { - case 0x1b: - uVar1 = get_num_players(); - if (uVar1 == 1) { - *(undefined2 *)((int)puVar5 + 0x82) = 300; - } - else { - *(undefined2 *)((int)puVar5 + 0x82) = 0xb4; - } - break; - case 0x1c: - uVar1 = get_num_players(); - if (uVar1 == 1) { - *(undefined2 *)((int)puVar5 + 0x82) = 300; - } - else { - *(undefined2 *)((int)puVar5 + 0x82) = 0xb4; - } - break; - case 0x1d: - uVar1 = get_num_players(); - if (uVar1 == 1) { - *(undefined2 *)((int)puVar5 + 0x82) = 300; - } - else { - *(undefined2 *)((int)puVar5 + 0x82) = 0xb4; - } - break; - default: - goto switchD_7f05fae8_caseD_1e; - case 0x21: - uVar1 = get_num_players(); - if (uVar1 == 1) { - *(undefined2 *)((int)puVar5 + 0x82) = 300; - } - else { - *(undefined2 *)((int)puVar5 + 0x82) = 0xb4; - } - break; - case 0x22: - case 0x2f: - case 0x30: - case 0x3d: - *(undefined2 *)((int)puVar5 + 0x82) = 1; - } - } - puVar5[0x19] = puVar5[0x19] & 0xfff9ffff; - iVar2 = get_cur_playernum(); - puVar5[0x19] = puVar5[0x19] | iVar2 << 0x11; - loc_7F05EE10(puVar5,&uStack96,afStack160,&fStack80,afStack68); - if ((puVar5[0x19] & 0x80) != 0) { - *(uint *)puVar5[0x1b] = *(uint *)puVar5[0x1b] | 2; - *(undefined4 *)(puVar5[0x1b] + 0x8c) = DAT_80053df8; - *(undefined4 *)(puVar5[0x1b] + 0xbc) = 0x3c; - ppiVar6 = FUN_70008e18((longlong)_DAT_80063760,4,NULL); - if (ppiVar6 != NULL) { - FUN_7f053f0c((int)ppiVar6,(float *)(puVar5 + 0x16)); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05fc5c(int param_1) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - float local_b0; - float local_ac; - float local_a8; - undefined auStack164 [12]; - undefined4 auStack152 [12]; - undefined4 local_68; - undefined4 local_64; - undefined4 local_60; - float local_54; - float local_50; - float local_4c; - undefined4 auStack72 [16]; - int local_8; - undefined4 *local_4; - - local_8 = _DAT_8007a120 + param_1 * 0x3a8 + 0x870; - iVar1 = FUN_7f089e6c(); - pfVar2 = (float *)FUN_7f08a764(); - init_0x40_bytes_data_at_address_last_word_1_0(auStack72); - FUN_7f0687a4(auStack164,&local_b0,param_1); - pfVar3 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar3,&local_b0); - local_54 = local_b0 * DAT_80053dfc; - local_50 = local_ac * DAT_80053dfc; - local_4c = local_a8 * DAT_80053dfc; - if (0 < DAT_800483a4) { - local_54 = local_54 + (*(float *)(iVar1 + 8) - *pfVar2) / DAT_800483b4; - local_50 = local_50 + (*(float *)(iVar1 + 0xc) - pfVar2[1]) / DAT_800483b4; - local_4c = local_4c + (*(float *)(iVar1 + 0x10) - pfVar2[2]) / DAT_800483b4; - } - loc_7F058030((undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0xad8),auStack152); - local_68 = 0; - local_64 = 0; - local_60 = 0; - local_4 = FUN_7f052568(0xcb,0x57); - if (local_4 != NULL) { - *(undefined2 *)((int)local_4 + 0x82) = 0x4b0; - local_4[0x19] = local_4[0x19] & 0xfff9ffff; - iVar1 = get_cur_playernum(); - local_4[0x19] = local_4[0x19] | iVar1 << 0x11; - loc_7F05EE10(local_4,local_8 + 0x2e8,auStack152,&local_54,auStack72); - if ((local_4[0x19] & 0x80) != 0) { - *(undefined4 *)(local_4[0x1b] + 0x8c) = DAT_80053e00; - *(undefined4 *)(local_4[0x1b] + 0x94) = DAT_80053e04; - *(undefined4 *)(local_4[0x1b] + 0xbc) = 0x3c; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05fe48(int param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - undefined4 uVar5; - float *pfVar6; - undefined8 extraout_a0; - float afStack76 [12]; - undefined4 local_1c; - undefined4 local_18; - undefined4 local_14; - int local_4; - - local_4 = _DAT_8007a120 + param_1 * 0x3a8; - iVar1 = *(int *)(local_4 + 0xa90); - local_4 += 0x870; - if ((iVar1 != 0) && (iVar2 = *(int *)(iVar1 + 0x10), iVar2 != 0)) { - iVar4 = FUN_7f089e6c(); - iVar3 = *(int *)(iVar1 + 0x14); - loc_7F058030((undefined4 *)(local_4 + 0x268),afStack76); - local_1c = 0; - local_18 = 0; - local_14 = 0; - matrix_multiply_A1_by_F12(*(float *)(*(int *)(iVar1 + 0x14) + 0x14),extraout_a0,afStack76); - sub_7F040754(iVar1,(undefined4 *)(local_4 + 0x2e8),afStack76,*(undefined4 *)(iVar4 + 0x14)); - FUN_7f040784(iVar1); - uVar5 = FUN_7f0be2c4((int)*(short *)(*(int *)(iVar3 + 8) + 0xe) << 6); - *(undefined4 *)(iVar3 + 0xc) = uVar5; - loc_7F058030((undefined4 *)(iVar1 + 0x18),afStack76); - copies_first_3_floats_from_a0_to_a1_plus_0x30((undefined4 *)(iVar1 + 0x58),(int)afStack76); - pfVar6 = (float *)FUN_7f0789b4(); - loc_7F05823C(pfVar6,afStack76,*(int *)(iVar3 + 0xc)); - loc_7F06EFB0((longlong)iVar3,**(int **)(iVar3 + 8)); - *(byte *)(iVar2 + 1) = *(byte *)(iVar2 + 1) | 2; - *(float *)(iVar2 + 0x18) = -*(float *)(*(int *)(iVar3 + 0xc) + 0x38); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f05ff9c(int param_1) - -{ - undefined4 *puVar1; - int iVar2; - - iVar2 = _DAT_8007a120 + param_1 * 0x3a8; - if (((*(int *)(iVar2 + 0xa90) == 0) && (0 < *(int *)(iVar2 + 0x89c))) && - (puVar1 = FUN_7f052568(0xca,0x56), puVar1 != NULL)) { - *(undefined4 **)(iVar2 + 0xa90) = puVar1; - *(undefined4 *)(iVar2 + 0xa94) = 0; - *(undefined2 *)((int)puVar1 + 0x82) = 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f060020(int param_1) - -{ - int iVar1; - int iVar2; - - iVar2 = _DAT_8007a120 + param_1 * 0x3a8; - iVar1 = *(int *)(iVar2 + 0xa90); - if (iVar1 != 0) { - FUN_7f041324(iVar1,1); - *(undefined4 *)(iVar2 + 0xa90) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f060084(int param_1) - -{ - int iVar1; - float *pfVar2; - int **ppiVar3; - float local_d4; - undefined4 local_d0; - undefined4 local_cc; - int local_c8; - float *local_c4; - int local_c0; - float local_bc; - float local_b8; - float local_b4; - undefined4 auStack176 [3]; - undefined4 auStack164 [12]; - undefined4 local_74; - undefined4 local_70; - undefined4 local_6c; - float local_64; - float local_60; - float local_5c; - float local_54; - float local_50; - float local_4c; - undefined4 auStack72 [16]; - int local_8; - int **local_4; - - local_8 = _DAT_8007a120 + param_1 * 0x3a8 + 0x870; - local_c0 = FUN_7f089e6c(); - local_c4 = (float *)FUN_7f08a764(); - local_c8 = FUN_7f05def0(param_1); - init_0x40_bytes_data_at_address_last_word_1_0(auStack72); - if (local_c8 != 0x20) { - FUN_7f0687a4(auStack176,&local_bc,param_1); - pfVar2 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar2,&local_bc); - local_d4 = *(float *)(local_8 + 0x2e8); - local_d0 = *(undefined4 *)(local_8 + 0x2ec); - local_64 = local_bc * DAT_80053e0c; - local_cc = *(undefined4 *)(local_8 + 0x2f0); - local_60 = local_b8 * DAT_80053e0c; - local_5c = local_b4 * DAT_80053e0c; - local_54 = local_64 * DAT_800483b4; - local_50 = local_60 * DAT_800483b4; - local_4c = local_5c * DAT_800483b4; - if (0 < DAT_800483a4) { - local_54 = local_54 + (*(float *)(local_c0 + 8) - *local_c4) / DAT_800483b4; - local_50 = local_50 + (*(float *)(local_c0 + 0xc) - local_c4[1]) / DAT_800483b4; - local_4c = local_4c + (*(float *)(local_c0 + 0x10) - local_c4[2]) / DAT_800483b4; - } - goto LAB_7f060354; - } - iVar1 = FUN_7f07d4a8(); - if ((iVar1 == 0) || ((*(byte *)(iVar1 + 1) & 2) == 0)) { - FUN_7f068768(auStack176,&local_bc); - pfVar2 = (float *)FUN_7f078a34(); - FUN_7f0588f8(pfVar2,&local_bc); - } - else { - FUN_7f07d4d4(&local_bc); - } - local_54 = local_bc * DAT_80053e08; - local_50 = local_b8 * DAT_80053e08; - local_4c = local_b4 * DAT_80053e08; - if (0 < DAT_800483a4) { - local_54 = local_54 + (*(float *)(local_c0 + 8) - *local_c4) / DAT_800483b4; - local_50 = local_50 + (*(float *)(local_c0 + 0xc) - local_c4[1]) / DAT_800483b4; - local_4c = local_4c + (*(float *)(local_c0 + 0x10) - local_c4[2]) / DAT_800483b4; - } - if (iVar1 == 0) { - local_d4 = *(float *)(local_c0 + 8); -LAB_7f06024c: - local_d0 = *(undefined4 *)(local_c0 + 0xc); - local_cc = *(undefined4 *)(local_c0 + 0x10); - } - else { - if ((*(byte *)(iVar1 + 1) & 2) == 0) { - local_d4 = *(float *)(local_c0 + 8); - goto LAB_7f06024c; - } - iVar1 = *(int *)(iVar1 + 4); - local_d4 = *(float *)(*(int *)(*(int *)(iVar1 + 0x14) + 0xc) + 0x130); - local_d0 = *(undefined4 *)(*(int *)(*(int *)(iVar1 + 0x14) + 0xc) + 0x134); - local_cc = *(undefined4 *)(*(int *)(*(int *)(iVar1 + 0x14) + 0xc) + 0x138); - pfVar2 = (float *)FUN_7f078a34(); - FUN_7f058994(pfVar2,&local_d4); - } - FUN_7f09d320(); -LAB_7f060354: - loc_7F058030((undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0xad8),auStack164); - local_74 = 0; - local_70 = 0; - local_6c = 0; - ppiVar3 = *(int ***)(local_8 + 0x220); - if (ppiVar3 == NULL) { - ppiVar3 = (int **)FUN_7f052568(0xca,0x56); - } - else { - *(undefined4 *)(local_8 + 0x224) = 1; - } - if (ppiVar3 != NULL) { - *(undefined2 *)((int)ppiVar3 + 0x82) = 0xffff; - ppiVar3[0x19] = (int *)((uint)ppiVar3[0x19] & 0xfff9ffff); - local_4 = ppiVar3; - iVar1 = get_cur_playernum(); - local_4[0x19] = (int *)((uint)local_4[0x19] | iVar1 << 0x11); - ppiVar3 = (int **)loc_7F05EE10(local_4,&local_d4,auStack164,&local_54,auStack72); - if (((uint)local_4[0x19] & 0x80) != 0) { - ppiVar3 = (int **)local_4[0x1b]; - *ppiVar3 = (int *)((uint)*ppiVar3 | 0x80); - if (local_c8 != 0x20) { - *local_4[0x1b] = *local_4[0x1b] | 0x20; - *(int **)(local_4[0x1b] + 0x2c) = local_4[0x17]; - local_4[0x1b][0x2d] = local_4[0x1b][2]; - *(float *)(local_4[0x1b] + 4) = local_64; - *(float *)(local_4[0x1b] + 5) = local_60; - *(float *)(local_4[0x1b] + 6) = local_5c; - local_4[0x1b][0x2f] = 0x3c; - ppiVar3 = (int **)local_4[0x1b]; - if (ppiVar3[0x26] == NULL) { - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,1,ppiVar3 + 0x26); - } - else { - if (ppiVar3[0x27] == NULL) { - ppiVar3 = FUN_70008e18((longlong)_DAT_80063760,1,ppiVar3 + 0x27); - } - } - } - } - } - return ppiVar3; -} - - - -// WARNING: Instruction at (ram,0x7f060e94) overlaps instruction at (ram,0x7f060e90) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0604e8(int param_1) - -{ - ushort *puVar1; - float *pfVar2; - int iVar4; - ulonglong uVar3; - float *pfVar5; - short sVar8; - uint *puVar6; - int **ppiVar7; - undefined4 *puVar9; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a0_07; - undefined8 extraout_a0_08; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - uint uVar15; - char cVar16; - float fVar17; - undefined4 uVar18; - undefined4 extraout_f0; - undefined4 extraout_f0_00; - undefined4 extraout_f0_01; - undefined4 extraout_f0_02; - float fVar19; - float fVar20; - float fStack548; - float fStack544; - float fStack540; - undefined4 *puStack532; - undefined4 *puStack524; - float fStack520; - undefined4 uStack516; - undefined4 uStack512; - float fStack508; - undefined4 uStack504; - undefined4 uStack500; - float fStack496; - undefined4 uStack492; - undefined4 uStack488; - float fStack480; - float fStack476; - float fStack472; - float fStack468; - float fStack464; - float fStack460; - float fStack456; - float fStack452; - float fStack448; - float *pfStack432; - int iStack428; - int iStack424; - undefined4 *puStack416; - undefined4 *puStack412; - float afStack404 [16]; - float afStack340 [12]; - undefined4 uStack292; - undefined4 uStack288; - undefined4 uStack284; - float fStack276; - float fStack272; - float fStack268; - ushort **ppuStack264; - float afStack260 [14]; - float fStack204; - float afStack196 [16]; - float fStack132; - float fStack128; - float fStack124; - float fStack116; - float fStack112; - float fStack108; - float fStack100; - float fStack96; - float fStack92; - float fStack84; - float fStack80; - float fStack76; - float afStack68 [16]; - undefined4 *puStack4; - - fStack276 = DAT_80035c80; - fStack272 = (float)DAT_80035c84; - fStack268 = (float)DAT_80035c88; - iVar13 = _DAT_8007a120 + param_1 * 0x3a8; - puStack412 = NULL; - puStack416 = NULL; - iVar14 = iVar13 + 0x870; - iStack428 = FUN_7f05df64(param_1); - pfStack432 = (float *)FUN_7f05cdd4(iStack428); - if (param_1 == 0) { - iVar4 = FUN_7f05df64(1); - uVar3 = FUN_7f05e5d4(iVar4,0x800); - if (uVar3 == 0) { - *(float *)(iVar13 + 0xa34) = - *(float *)(iVar13 + 0xa34) - (DAT_800483b4 + DAT_800483b4) / 240.00000000; - if (*(float *)(iVar13 + 0xa34) < 0.00000000) { - *(undefined4 *)(iVar13 + 0xa34) = 0; - } - } - else { - *(float *)(iVar13 + 0xa34) = - *(float *)(iVar13 + 0xa34) + (DAT_800483b4 + DAT_800483b4) / 240.00000000; - if (2.00000000 < *(float *)(iVar13 + 0xa34)) { - *(undefined4 *)(iVar13 + 0xa34) = 0x40000000; - } - } - } - else { - iVar4 = FUN_7f05df64(0); - uVar3 = FUN_7f05e5d4(iVar4,0x800); - if (uVar3 == 0) { - *(float *)(iVar13 + 0xa34) = - *(float *)(iVar13 + 0xa34) + (DAT_800483b4 + DAT_800483b4) / 240.00000000; - if (0.00000000 < *(float *)(iVar13 + 0xa34)) { - *(undefined4 *)(iVar13 + 0xa34) = 0; - } - } - else { - *(float *)(iVar13 + 0xa34) = - *(float *)(iVar13 + 0xa34) - (DAT_800483b4 + DAT_800483b4) / 240.00000000; - if (*(float *)(iVar13 + 0xa34) < -2.00000000) { - *(undefined4 *)(iVar13 + 0xa34) = 0xc0000000; - } - } - } - fStack456 = DAT_80035c8c; - fStack452 = DAT_80035c90; - fStack448 = DAT_80035c94; - fStack468 = DAT_80035c98; - fStack464 = DAT_80035c9c; - fStack460 = DAT_80035ca0; - fStack480 = DAT_80035ca4; - fStack476 = DAT_80035ca8; - fStack472 = DAT_80035cac; - iVar4 = *(int *)(iVar13 + 0xa08); - uVar15 = iVar4 + 3U & 3; - if (((int)(iVar4 + 3U) < 0) && (uVar15 != 0)) { - uVar15 -= 4; - } - iVar10 = iVar14 + uVar15 * 0xc; - iVar11 = iVar14 + iVar4 * 0xc; - uVar15 = iVar4 + 1U & 3; - if (((int)(iVar4 + 1U) < 0) && (uVar15 != 0)) { - uVar15 -= 4; - } - iVar12 = iVar14 + uVar15 * 0xc; - uVar15 = iVar4 + 2U & 3; - if (((int)(iVar4 + 2U) < 0) && (uVar15 != 0)) { - uVar15 -= 4; - } - iVar4 = iVar14 + uVar15 * 0xc; - sub_7F05AEFC((float *)(iVar10 + 0x108),(float *)(iVar11 + 0x108),(float *)(iVar12 + 0x108), - (float *)(iVar4 + 0x108),*(float *)(iVar13 + 0xa0c),&fStack456); - sub_7F05AEFC((float *)(iVar10 + 0x138),(float *)(iVar11 + 0x138),(float *)(iVar12 + 0x138), - (float *)(iVar4 + 0x138),*(float *)(iVar13 + 0xa0c),&fStack468); - fVar19 = (float)sub_7F05AEFC((float *)(iVar10 + 0x168),(float *)(iVar11 + 0x168), - (float *)(iVar12 + 0x168),(float *)(iVar4 + 0x168), - *(float *)(iVar13 + 0xa0c),&fStack480); - fStack448 = fStack448 * *(float *)(_DAT_8007a120 + 0xfc0); - fStack456 = fStack456 * *(float *)(_DAT_8007a120 + 0xfc0) + *(float *)(iVar13 + 0xa1c); - fStack452 = fStack452 * *(float *)(_DAT_8007a120 + 0xfc0) + *(float *)(iVar13 + 0xa20); - FUN_7f05e1d8(param_1); - fVar17 = DAT_80053e10; - fStack456 = fStack456 + fVar19; - iVar4 = 0; - if (0 < DAT_800483a4) { - fVar19 = *(float *)(iVar13 + 0x954); - while( true ) { - iVar4 += 1; - *(float *)(iVar13 + 0x954) = fStack456 + fVar17 * fVar19; - *(float *)(iVar13 + 0x958) = fStack452 + fVar17 * *(float *)(iVar13 + 0x958); - *(float *)(iVar13 + 0x95c) = fStack448 + fVar17 * *(float *)(iVar13 + 0x95c); - *(float *)(iVar13 + 0x960) = fStack468 + fVar17 * *(float *)(iVar13 + 0x960); - *(float *)(iVar13 + 0x964) = fStack464 + fVar17 * *(float *)(iVar13 + 0x964); - *(float *)(iVar13 + 0x968) = fStack460 + fVar17 * *(float *)(iVar13 + 0x968); - *(float *)(iVar13 + 0x96c) = fStack480 + fVar17 * *(float *)(iVar13 + 0x96c); - *(float *)(iVar13 + 0x970) = fStack476 + fVar17 * *(float *)(iVar13 + 0x970); - *(float *)(iVar13 + 0x974) = fStack472 + fVar17 * *(float *)(iVar13 + 0x974); - if (DAT_800483a4 <= iVar4) break; - fVar19 = *(float *)(iVar13 + 0x954); - } - } - fVar17 = DAT_80053e14; - fVar20 = *(float *)(iVar13 + 0x958) * DAT_80053e14; - fVar19 = *(float *)(iVar13 + 0x95c) * DAT_80053e14; - *(float *)(iVar13 + 0x930) = *(float *)(iVar13 + 0x954) * DAT_80053e14; - *(float *)(iVar13 + 0x934) = fVar20; - *(float *)(iVar13 + 0x938) = fVar19; - *(float *)(iVar13 + 0x93c) = *(float *)(iVar13 + 0x960) * fVar17; - *(float *)(iVar13 + 0x940) = *(float *)(iVar13 + 0x964) * fVar17; - *(float *)(iVar13 + 0x944) = *(float *)(iVar13 + 0x968) * fVar17; - *(float *)(iVar13 + 0x948) = *(float *)(iVar13 + 0x96c) * fVar17; - *(float *)(iVar13 + 0x94c) = *(float *)(iVar13 + 0x970) * fVar17; - *(float *)(iVar13 + 0x950) = *(float *)(iVar13 + 0x974) * fVar17; - if ((longlong)param_1 == 0) { - fVar17 = FUN_7f05e208(0); - fStack276 = *(float *)(iVar13 + 0xa28) + fVar17 + *(float *)(iVar13 + 0x930); - } - else { - fVar17 = FUN_7f05e208((longlong)param_1); - fStack276 = (fVar17 + *(float *)(iVar13 + 0x930)) - *(float *)(iVar13 + 0xa28); - } - fStack272 = *(float *)(iVar13 + 0xa2c) + pfStack432[2] + *(float *)(iVar13 + 0x934); - fStack268 = *(float *)(iVar13 + 0xa30) + pfStack432[3] + *(float *)(iVar13 + 0x938); - if (((iStack428 == 0x19) || (iStack428 == 0x1e)) || (iStack428 == 0x17)) { - fVar17 = -100.00000000; - fStack272 = fStack272 + *(float *)(_DAT_8007a120 + 0xa0) / -100.00000000; - fStack268 = fStack268 + (*(float *)(_DAT_8007a120 + 0xa0) * 3.00000000) / -100.00000000; - if ((iStack428 == 0x19) && - (((iVar4 = FUN_7f0a5a68(), iVar4 == 1 || (iVar4 = FUN_7f0a5a68(), iVar4 == 2)) || - (iVar4 = FUN_7f0a5a80(), iVar4 == 1)))) { - fStack272 = fStack272 - 3.00000000; - } - } - else { - if (iStack428 == 0x1f) { - fVar17 = -100.00000000; - fStack272 = fStack272 + (*(float *)(_DAT_8007a120 + 0xa0) * 2.50000000) / -100.00000000; - fStack268 = fStack268 + (*(float *)(_DAT_8007a120 + 0xa0) * 7.50000000) / -100.00000000; - } - else { - fVar17 = -100.00000000; - fStack272 = fStack272 + (*(float *)(_DAT_8007a120 + 0xa0) * 5.00000000) / -100.00000000; - fStack268 = fStack268 + (*(float *)(_DAT_8007a120 + 0xa0) * 15.00000000) / -100.00000000; - } - } - if ((*(char *)(iVar13 + 0x87c) != '\0') && (uVar3 = FUN_7f05e5d4(iStack428,0x20), uVar3 != 0)) { - uVar3 = FUN_7f05e5d4(iStack428,0x40); - if (uVar3 != 0) { - iVar4 = FUN_7000a460(); - fVar19 = (float)iVar4; - if (iVar4 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - fStack276 = fStack276 + (DAT_80053e1c - fVar19 * 0.00000000 * DAT_80053e18); - } - iVar4 = FUN_7000a460(); - fVar19 = (float)iVar4; - if (iVar4 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - fStack272 = fStack272 + (DAT_80053e24 - fVar19 * 0.00000000 * DAT_80053e20); - iVar4 = FUN_7000a460(); - fVar19 = (float)iVar4; - if (iVar4 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - fStack268 = fStack268 + (DAT_80053e2c - fVar19 * 0.00000000 * DAT_80053e28); - } - FUN_7f078a94(); - fVar19 = fVar17; - FUN_7f078a94(); - fVar20 = fVar19; - FUN_7f078ab4(); - fStack276 = fStack276 + - (((*(float *)(_DAT_8007a120 + 0xffc) - fVar20) - fVar19 * 0.50000000) * pfStack432[6]) - / (fVar17 * 0.50000000); - FUN_7f078ac4(); - fVar17 = fVar20; - FUN_7f078aa4(); - if (fVar17 * 0.50000000 < *(float *)(_DAT_8007a120 + 0x1000) - fVar20) { - FUN_7f078aa4(); - fVar19 = fVar17; - FUN_7f078aa4(); - fVar20 = fVar19; - FUN_7f078ac4(); - fStack272 = fStack272 - - (((*(float *)(_DAT_8007a120 + 0x1000) - fVar20) - fVar19 * 0.50000000) * - pfStack432[5]) / (fVar17 * 0.50000000); - } - else { - FUN_7f078aa4(); - fVar19 = fVar17; - FUN_7f078aa4(); - fVar20 = fVar19; - FUN_7f078ac4(); - fStack272 = fStack272 - - (((*(float *)(_DAT_8007a120 + 0x1000) - fVar20) - fVar19 * 0.50000000) * - pfStack432[4]) / (fVar17 * 0.50000000); - } - FUN_7f05cb34(); - init_0x40_bytes_data_at_address_last_word_1_0(afStack340); - if ((iStack428 == 0x1e) || (iStack428 == 0x17)) { - fStack496 = DAT_80035cb0; - uStack492 = DAT_80035cb4; - uStack488 = DAT_80035cb8; - FUN_7f058c34(&fStack496,afStack260); - FUN_7f0585b8(afStack260,afStack340); - iVar4 = *(int *)(iVar13 + 0x92c); - } - else { - if (iStack428 == 0x1f) { - fStack508 = DAT_80035cbc; - uStack504 = DAT_80035cc0; - uStack500 = DAT_80035cc4; - FUN_7f058c34(&fStack508,afStack260); - FUN_7f0585b8(afStack260,afStack340); - iVar4 = *(int *)(iVar13 + 0x92c); - } - else { - if (iStack428 == 1) { - if (*(int *)(_DAT_8007a120 + 0x2a38) != 0x11) { - iVar4 = *(int *)(iVar13 + 0x92c); - goto LAB_7f060fb4; - } - fStack520 = DAT_80035cc8; - uStack516 = DAT_80035ccc; - uStack512 = DAT_80035cd0; - FUN_7f058c34(&fStack520,afStack260); - FUN_7f0585b8(afStack260,afStack340); - fStack276 = fStack276 + -2.50000000; - fStack272 = fStack272 + DAT_80053e30; - fStack268 = fStack268 + 2.00000000; - } - iVar4 = *(int *)(iVar13 + 0x92c); - } - } -LAB_7f060fb4: - if (iVar4 == 0) { - *(undefined4 *)(iVar13 + 0x8e8) = 0; - *(undefined4 *)(iVar13 + 0x8dc) = 0; - *(undefined4 *)(iVar13 + 0x8e0) = 0; - *(undefined4 *)(iVar13 + 0x8e4) = 0; - } - else { - fStack276 = fStack276 + *(float *)(iVar13 + 0x91c); - fStack272 = fStack272 + *(float *)(iVar13 + 0x920); - fStack268 = fStack268 + *(float *)(iVar13 + 0x924); - FUN_7f0585b8((float *)(iVar13 + 0x8ec),afStack340); - uStack292 = 0; - uStack288 = 0; - uStack284 = 0; - } - FUN_7f059e28(afStack260,0.00000000,0.00000000,0.00000000,*(float *)(iVar13 + 0x93c), - *(float *)(iVar13 + 0x940),*(float *)(iVar13 + 0x944),*(float *)(iVar13 + 0x948), - *(float *)(iVar13 + 0x94c),*(float *)(iVar13 + 0x950)); - FUN_7f0585b8(afStack260,afStack340); - FUN_7f05a208(afStack260,0.00000000,fStack276 - *(float *)(iVar13 + 0xa38), - fStack272 - *(float *)(iVar13 + 0xa3c),fStack268 - *(float *)(iVar13 + 0xa40)); - FUN_7f0585b8(afStack260,afStack340); - loc_7F058030(afStack340,afStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&fStack276,(int)afStack68); - loc_7F058030(afStack68,(float *)(iVar13 + 0xa98)); - loc_7F058030((undefined4 *)(iVar13 + 0xad8),(undefined4 *)(iVar13 + 0xb18)); - pfVar5 = (float *)FUN_7f078a34(); - uVar18 = loc_7F05823C(pfVar5,(float *)(iVar13 + 0xa98),(int)(undefined4 *)(iVar13 + 0xad8)); - *(undefined *)(iVar13 + 0x87f) = 1; - iVar4 = FUN_7f05d568(iStack428); - uVar3 = SEXT48(iVar4); - if ((uVar3 == 0) || (uVar3 = FUN_7f05e5d4(iStack428,0x800), uVar3 == 0)) { -LAB_7f06118c: - *(undefined *)(iVar13 + 0x87f) = 0; - } - else { - uVar3 = FUN_7f05e5d4(iStack428,0x2000); - if (uVar3 == 0) { - uVar3 = SEXT48(*(int *)(iVar13 + 0x894)); - if (uVar3 == 6) goto LAB_7f06118c; - if (uVar3 == 7) { - *(undefined *)(iVar13 + 0x87f) = 0; - } - else { - uVar3 = FUN_7f05d3dc(param_1); - if (uVar3 != 0) { - iVar4 = FUN_7f05d420(param_1); - uVar3 = SEXT48(iVar4); - if (uVar3 != 0) { - iVar4 = *(int *)(iVar13 + 0x89c); - goto LAB_7f061194; - } - goto LAB_7f06118c; - } - *(undefined *)(iVar13 + 0x87f) = 0; - } - } - else { - *(undefined *)(iVar13 + 0x87f) = 0; - } - } - iVar4 = *(int *)(iVar13 + 0x89c); -LAB_7f061194: - if (iVar4 < 1) { - uVar3 = FUN_7f05e5d4(iStack428,2); - if (uVar3 == 0) { - cVar16 = *(char *)(iVar13 + 0x87f); - } - else { - *(undefined *)(iVar13 + 0x87f) = 0; - cVar16 = *(char *)(iVar13 + 0x87f); - } - } - else { - cVar16 = *(char *)(iVar13 + 0x87f); - } - if (cVar16 != '\0') { - iVar4 = _DAT_8007a120 + param_1 * 0x20; - ppuStack264 = (ushort **)(iVar4 + 0x810); - iStack424 = 0; - puVar9 = (undefined4 *)FUN_7f0be2c4((int)*(short *)(iVar4 + 0x81e) << 6); - iVar4 = iStack424; - puStack4 = puVar9; - if (0 < *(short *)((int)ppuStack264 + 0xe)) { - do { - iStack424 = iVar4; - init_0x40_bytes_data_at_address_last_word_1_0(puVar9); - puVar9 = puVar9 + 0x10; - iVar4 = iStack424 + 1; - } while ((longlong)(iStack424 + 1) < (longlong)*(short *)((int)ppuStack264 + 0xe)); - } - FUN_7f0762e4(ppuStack264); - iVar4 = iVar13 + 0xb68; - sub_7F075F68(iVar4,ppuStack264,iVar13 + 0xb88); - loc_7F05EA84(iVar4,1); - loc_7F05EB00(iVar4,(int)*(char *)(iVar13 + 0x87e)); - puVar1 = ppuStack264[2]; - if (*(int *)(puVar1 + 2) == 0) { - iVar14 = *(int *)(puVar1 + 6); - } - else { - puStack412 = (undefined4 *) - (iVar14 + (uint)*(ushort *)(*(int *)(*(int *)(puVar1 + 2) + 4) + 4) * 4 + 0x318); - iVar14 = *(int *)(puVar1 + 6); - } - if (iVar14 != 0) { - puStack416 = *(undefined4 **)(iVar14 + 4); - } - *(undefined4 **)(iVar13 + 0xb74) = puStack4; - uVar3 = FUN_7f05e5d4(iStack428,0x400); - extraout_a0_04 = extraout_a0; - if ((uVar3 != 0) && (extraout_a0_04 = extraout_a0, param_1 == 1)) { - sub_7F0589B4(-1.00000000,extraout_a0,afStack68); - extraout_a0_04 = extraout_a0_00; - } - matrix_multiply_A1_by_F12(DAT_80053e34,extraout_a0_04,afStack68); - loc_7F058030(afStack68,puStack4); - if (ppuStack264[1] == (ushort *)0x8003c79c) { - iVar14 = *(int *)(ppuStack264[2] + 8); - if (iVar14 == 0) { - iVar14 = *(int *)(ppuStack264[2] + 10); - } - else { - fVar17 = 0.00000000; - puStack524 = *(undefined4 **)(iVar14 + 4); - if (iStack428 == 0x12) { - if (*(int *)(iVar13 + 0x894) == 1) { - fVar17 = ((float)(*(int *)(iVar13 + 0x890) + *(int *)(iVar13 + 0x89c) * -6 + 0x1e) * - DAT_80053e38) / 36.00000000; - } - else { - fVar17 = ((float)(6 - *(int *)(iVar13 + 0x89c)) * DAT_80053e3c) / 6.00000000; - } - } - else { - if ((*(int *)(iVar13 + 0x894) == 1) && (*(int *)(iVar13 + 0x890) < 6)) { - fVar17 = ((float)*(int *)(iVar13 + 0x890) * DAT_80053e40) / 36.00000000; - } - } - FUN_7f058ba8(fVar17,(longlong)(int)puStack524,afStack260); - copies_first_3_floats_from_a0_to_a1_plus_0x30(puStack524,(int)afStack260); - loc_7F0580E4(afStack68,afStack260,(int)(puStack4 + 0x30)); - iVar14 = *(int *)(ppuStack264[2] + 10); - } - if (iVar14 != 0) { - puVar9 = *(undefined4 **)(iVar14 + 4); - if (*(int *)(iVar13 + 0x894) == 1) { - iVar14 = *(int *)(iVar13 + 0x890); - if (iVar14 < 3) { - fVar17 = -(float)iVar14 * DAT_80053e44 + -(float)iVar14 * DAT_80053e44; - } - else { - fVar17 = -(float)(6 - iVar14) * DAT_80053e48; - fVar17 = fVar17 + fVar17; - } - puStack532 = puVar9; - FUN_7f058a90(fVar17 / 6.00000000,(longlong)(int)puVar9,afStack260); - copies_first_3_floats_from_a0_to_a1_plus_0x30(puStack532,(int)afStack260); - } - else { - FUN_7f058e84(puVar9,afStack260); - } - loc_7F0580E4(afStack68,afStack260,(int)(puStack4 + 0x40)); - } - } - if (puStack412 != NULL) { - *puStack412 = 0; - } - if (puStack416 == NULL) { - *(undefined4 *)(iVar13 + 0xb58) = *(undefined4 *)(iVar13 + 0xb08); - *(float *)(iVar13 + 0xb64) = -*(float *)(iVar13 + 0xad0); - *(undefined4 *)(iVar13 + 0xb5c) = *(undefined4 *)(iVar13 + 0xb0c); - *(undefined4 *)(iVar13 + 0xb60) = *(undefined4 *)(iVar13 + 0xb10); - puVar1 = ppuStack264[2]; - } - else { - iVar14 = FUN_7000a460(); - fVar17 = (float)iVar14; - if (iVar14 < 0) { - fVar17 = fVar17 + 4294967296.00000000; - } - fVar17 = fVar17 * 0.00000000 * 0.25000000 + 1.00000000; - fVar19 = *pfStack432; - uVar3 = FUN_7f05e5d4(iStack428,1); - if (uVar3 == 0) { - FUN_7f058e84(puStack416,&fStack132); - extraout_a0_04 = extraout_a0_03; - } - else { - iVar14 = FUN_7000a460(); - fVar20 = (float)iVar14; - if (iVar14 < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - FUN_7f058ba8(fVar20 * 0.00000000 * DAT_80053e4c,extraout_a0_01,&fStack132); - copies_first_3_floats_from_a0_to_a1_plus_0x30(puStack416,(int)&fStack132); - extraout_a0_04 = extraout_a0_02; - } - matrix_multiply_A1_by_F12(fVar17,extraout_a0_04,&fStack132); - sub_7F058A14(fVar19,extraout_a0_04,(int)&fStack132); - FUN_7f058588(afStack68,&fStack132); - loc_7F058030(&fStack132,puStack4 + 0x10); - *(float *)(iVar13 + 0xb58) = fStack84; - *(float *)(iVar13 + 0xb5c) = fStack80; - *(float *)(iVar13 + 0xb60) = fStack76; - pfVar5 = (float *)FUN_7f078a34(); - FUN_7f058994(pfVar5,(float *)(iVar13 + 0xb58)); - *(float *)(iVar13 + 0xb64) = -fStack76; - if (*(char *)(iVar13 + 0x87d) != '\0') { - if (puStack412 != NULL) { - *puStack412 = 1; - } - if (*(int *)(ppuStack264[2] + 4) != 0) { - pfVar5 = *(float **)(*(int *)(ppuStack264[2] + 4) + 4); - fStack548 = fStack84 + *pfVar5 * fStack132 + pfVar5[1] * fStack116 + pfVar5[2] * fStack100 - ; - fStack544 = fStack80 + *pfVar5 * fStack128 + pfVar5[1] * fStack112 + pfVar5[2] * fStack96; - fStack540 = fStack76 + *pfVar5 * fStack124 + pfVar5[1] * fStack108 + pfVar5[2] * fStack92; - iVar14 = FUN_7000a460(); - fVar20 = (float)iVar14; - if (iVar14 < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - FUN_7f05a208(afStack196,fVar20 * 0.00000000 * DAT_80053e50,-fStack548,-fStack544, - -fStack540); - matrix_multiply_A1_by_F12(DAT_80053e54 * fVar17,extraout_a0_05,afStack196); - loc_7F059CD4(afStack404,0.00000000,fStack276 - *(float *)(iVar13 + 0xa38), - fStack272 - *(float *)(iVar13 + 0xa3c),fStack268 - *(float *)(iVar13 + 0xa40) - ); - FUN_7f058588(afStack404,afStack196); - sub_7F058B80(fVar19,extraout_a0_06,(int)afStack196); - FUN_7f058588(afStack340,afStack196); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&fStack548,(int)afStack196); - loc_7F058030(afStack196,puStack4 + 0x20); - } - if ((ppuStack264[1] == (ushort *)0x8003c7dc) && (*(int *)(ppuStack264[2] + 8) != 0)) { - pfVar5 = *(float **)(*(int *)(ppuStack264[2] + 8) + 4); - puVar9 = puStack4 + 0x30; - fStack548 = fStack84 + *pfVar5 * fStack132 + pfVar5[1] * fStack116 + pfVar5[2] * fStack100 - ; - fStack544 = fStack80 + *pfVar5 * fStack128 + pfVar5[1] * fStack112 + pfVar5[2] * fStack96; - fVar17 = DAT_80053e58 * fVar17; - fStack540 = fStack76 + *pfVar5 * fStack124 + pfVar5[1] * fStack108 + pfVar5[2] * fStack92; - iVar14 = FUN_7000a460(); - fVar20 = (float)iVar14; - if (iVar14 < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - FUN_7f05a208(afStack196,fVar20 * 0.00000000 * DAT_80053e5c,-fStack548,-fStack544, - -fStack540); - matrix_multiply_A1_by_F12(fVar17,extraout_a0_07,afStack196); - loc_7F059CD4(afStack404,0.00000000,fStack276 - *(float *)(iVar13 + 0xa38), - fStack272 - *(float *)(iVar13 + 0xa3c),fStack268 - *(float *)(iVar13 + 0xa40) - ); - FUN_7f058588(afStack404,afStack196); - sub_7F058B80(fVar19,extraout_a0_08,(int)afStack196); - FUN_7f058588(afStack340,afStack196); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&fStack548,(int)afStack196); - loc_7F058030(afStack196,puVar9); - } - } - puVar1 = ppuStack264[2]; - } - puVar1 = *(ushort **)(puVar1 + 0xc); - if (puVar1 != NULL) { - pfVar5 = *(float **)(puVar1 + 2); - sVar8 = loc_7F06C654(puVar1,0); - fVar17 = (float)FUN_7f05ebd4(param_1,*(undefined4 *)(iVar13 + 0x880)); - if ((*(short *)(ppuStack264 + 3) < 0x1d) || (*(int *)(ppuStack264[2] + 0x38) == 0)) { - FUN_7f0589f0(pfVar5,*(float *)(iVar13 + 0xa84),afStack260); - } - else { - pfVar2 = *(float **)(*(int *)(ppuStack264[2] + 0x38) + 4); - FUN_7f05eb84(param_1); - guRotate(afStack260, - (((*(float *)(iVar13 + 0xa84) + DAT_80053e60) - fVar17) * 360.00000000) / - DAT_80053e64,*pfVar2 - pfVar2[3],pfVar2[1] - pfVar2[4],pfVar2[2] - pfVar2[5]); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pfVar5,(int)afStack260); - } - loc_7F05823C(afStack68,afStack260,(int)(puStack4 + (int)sVar8 * 0x10)); - } - if (0x1d < *(short *)(ppuStack264 + 3)) { - FUN_7f0882e0(iVar4,(int)ppuStack264,0x1d); - } - puVar1 = *(ushort **)(ppuStack264[2] + 0xe); - if (puVar1 != NULL) { - puVar9 = *(undefined4 **)(puVar1 + 2); - sVar8 = loc_7F06C654(puVar1,0); - FUN_7f05ed5c(param_1); - FUN_7f058e84(puVar9,afStack260); - fStack204 = fStack204 - *(float *)(iVar13 + 0xa88); - loc_7F0580E4(afStack68,afStack260,(int)(puStack4 + (int)sVar8 * 0x10)); - } - iVar14 = 0; - iVar10 = 0; - if (0x12 < *(short *)(ppuStack264 + 3)) { - do { - puVar1 = *(ushort **)((int)ppuStack264[2] + iVar10 + 0x48); - if ((puVar1 != NULL) && (puVar6 = (uint *)loc_7F06C888(iVar4,puVar1), puVar6 != NULL)) { - *puVar6 = (uint)(*(int *)(iVar13 + 0x8a4) < 5 - iVar14) ^ 1; - } - puVar1 = *(ushort **)((int)ppuStack264[2] + iVar10 + 0x5c); - if ((puVar1 != NULL) && (puVar6 = (uint *)loc_7F06C888(iVar4,puVar1), puVar6 != NULL)) { - *puVar6 = (uint)(*(int *)(iVar13 + 0x8a4) < 5 - iVar14) ^ 1; - } - iVar14 += 1; - iVar10 += 4; - } while (iVar14 != 5); - } - uVar3 = loc_7F06F0C0(iVar4); - uVar18 = extraout_f0; - if ((*(char *)(iVar13 + 0x87c) != '\0') && (uVar18 = extraout_f0, true)) { - uVar18 = extraout_f0; - switch(iStack428) { - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - uVar3 = FUN_7f062120(param_1); - *(int *)(iVar13 + 0x8a0) = *(int *)(iVar13 + 0x8a0) + 1; - uVar18 = extraout_f0_00; - break; - case 0x16: - case 0x17: - *(int *)(iVar13 + 0x8a0) = *(int *)(iVar13 + 0x8a0) + 1; - uVar3 = FUN_7f062120(param_1); - uVar18 = extraout_f0_01; - } - } - } - if (iStack428 == 0x19) { - uVar3 = FUN_7f05fe48(param_1); - cVar16 = *(char *)(iVar13 + 0x87c); - uVar18 = extraout_f0_02; - } - else { - cVar16 = *(char *)(iVar13 + 0x87c); - } - if (cVar16 != '\0') { - sub_7F089778(_DAT_8007a120); - uVar3 = FUN_7f068ae0(param_1,uVar18); - if (iStack428 == 0x18) { - uVar3 = FUN_7f05fc5c(param_1); - } - else { - if (iStack428 == 0x1a) { - uVar3 = FUN_7f05f344(param_1); - } - else { - if (iStack428 == 0x19) { - ppiVar7 = FUN_7f060084(param_1); - uVar3 = SEXT48((int)ppiVar7); - } - else { - if (iStack428 == 3) { - uVar3 = FUN_7f05f5bc(param_1); - } - else { - if (((((iStack428 == 0x1d) || (iStack428 == 0x1c)) || (iStack428 == 0x1b)) || - ((iStack428 == 0x21 || (iStack428 == 0x2f)))) || - ((iStack428 == 0x30 || ((iStack428 == 0x3d || (iStack428 == 0x22)))))) { - uVar3 = FUN_7f05f878(param_1); - } - else { - if (iStack428 == 0x23) { - uVar3 = FUN_7f05fc5c(param_1); - } - else { - if (iStack428 == 0x24) { - uVar3 = FUN_7f05fc5c(param_1); - } - } - } - } - } - } - } - } - return uVar3; -} - - - -void FUN_7f061e4c(void) - -{ - FUN_7f0604e8(0); - FUN_7f0604e8(1); - return; -} - - - -void loc_7F061BE8(undefined *param_1,int param_2,float *param_3,float *param_4) - -{ - bool bVar1; - float fVar2; - float fVar3; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - - *(float *)(param_1 + 4) = *param_3; - *(float *)(param_1 + 8) = param_3[1]; - *(float *)(param_1 + 0xc) = param_3[2]; - *(float *)(param_1 + 0x10) = *param_4 - *param_3; - *(float *)(param_1 + 0x14) = param_4[1] - param_3[1]; - *(float *)(param_1 + 0x18) = param_4[2] - param_3[2]; - fVar5 = sqrtf(*(float *)(param_1 + 0x18) * *(float *)(param_1 + 0x18) + - *(float *)(param_1 + 0x10) * *(float *)(param_1 + 0x10) + - *(float *)(param_1 + 0x14) * *(float *)(param_1 + 0x14)); - fVar7 = 1.00000000 / fVar5; - *(float *)(param_1 + 0x10) = *(float *)(param_1 + 0x10) * fVar7; - *(float *)(param_1 + 0x14) = *(float *)(param_1 + 0x14) * fVar7; - *(float *)(param_1 + 0x18) = *(float *)(param_1 + 0x18) * fVar7; - if (param_2 == 0x17) { - fVar7 = 300.00000000; - if (fVar5 <= 300.00000000) goto LAB_7f061f80; - } - else { - fVar7 = DAT_80053eb8; - if (fVar5 <= DAT_80053eb8) goto LAB_7f061f80; - } - fVar5 = fVar7; -LAB_7f061f80: - fVar6 = 500.00000000; - *param_1 = 0; - param_1[1] = (char)param_2; - *(float *)(param_1 + 0x1c) = fVar5; - fVar3 = DAT_80053ed0; - fVar2 = DAT_80053ecc; - fVar7 = DAT_80053ebc; - if (500.00000000 <= fVar5) { - fVar6 = fVar5; - } - if (param_2 == 0x16) { - *(float *)(param_1 + 0x20) = fVar6 * 0.25000000; - fVar5 = DAT_80053ec0 * fVar6; - *(float *)(param_1 + 0x24) = fVar5; - if (fVar7 < fVar5) { - *(float *)(param_1 + 0x24) = fVar7; - } - iVar4 = FUN_7000a460(); - fVar5 = (float)iVar4; - if (iVar4 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(param_1 + 0x28) = (DAT_80053ec8 - fVar5 * 0.00000000 * DAT_80053ec4) * fVar6; - } - else { - if (param_2 == 0x17) { - *(float *)(param_1 + 0x24) = fVar6; - *(float *)(param_1 + 0x20) = fVar6 + fVar6; - if (fVar2 < fVar6) { - *(float *)(param_1 + 0x24) = fVar2; - } - *(undefined4 *)(param_1 + 0x28) = 0; - } - else { - fVar6 = DAT_80053ed4 * fVar6; - bVar1 = DAT_80053ed0 < fVar6; - *(float *)(param_1 + 0x20) = fVar6; - *(float *)(param_1 + 0x24) = fVar6; - if (bVar1) { - *(float *)(param_1 + 0x24) = fVar3; - } - iVar4 = FUN_7000a460(); - fVar5 = (float)iVar4; - if (iVar4 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(param_1 + 0x28) = - ((fVar5 * 0.00000000 + fVar5 * 0.00000000) - 1.00000000) * *(float *)(param_1 + 0x20); - } - } - if (*(float *)(param_1 + 0x1c) <= *(float *)(param_1 + 0x28)) { - *param_1 = 0xff; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f062120(int param_1) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - float fVar4; - float local_2c; - float local_28; - float local_24; - float local_20; - float local_1c; - float local_18; - int local_14; - - iVar3 = _DAT_8007a120 + param_1 * 0x3a8; - iVar2 = FUN_7f0789b4(); - if (*(float *)(iVar3 + 0xb64) <= - -(*(float *)(iVar2 + 0x38) + - *(float *)(iVar3 + 0xc0c) * *(float *)(iVar2 + 8) + - *(float *)(iVar3 + 0xc10) * *(float *)(iVar2 + 0x18) + - *(float *)(iVar3 + 0xc14) * *(float *)(iVar2 + 0x28))) { - iVar2 = FUN_7f05def0(param_1); - loc_7F061BE8((undefined *)(iVar3 + 0xa54),iVar2,(float *)(iVar3 + 0xb58), - (float *)(iVar3 + 0xc0c)); - if ((*(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 4) != 0) && - (uVar1 = get_num_players(), 1 < (longlong)uVar1)) { - iVar2 = _DAT_8007a120 + param_1 * 0xc; - local_14 = *(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - local_20 = *(float *)(iVar3 + 0xc0c) - *(float *)(iVar2 + 0x2a18); - local_1c = *(float *)(iVar3 + 0xc10) - *(float *)(iVar2 + 0x2a1c); - local_18 = *(float *)(iVar3 + 0xc14) - *(float *)(iVar2 + 0x2a20); - guNormalize(&local_20,&local_1c,&local_18); - local_2c = *(float *)(iVar3 + 0xc0c) - *(float *)(iVar3 + 0xb58); - local_28 = *(float *)(iVar3 + 0xc10) - *(float *)(iVar3 + 0xb5c); - local_24 = *(float *)(iVar3 + 0xc14) - *(float *)(iVar3 + 0xb60); - guNormalize(&local_2c,&local_28,&local_24); - fVar4 = FUN_7f05b1d0(local_24 * local_18 + local_20 * local_2c + local_1c * local_28); - if (fVar4 <= DAT_80053ed8) { - iVar2 = FUN_7f05def0(param_1); - loc_7F061BE8((undefined *)(local_14 + param_1 * 0x2c + 0x180),iVar2, - (float *)(_DAT_8007a120 + param_1 * 0xc + 0x2a18),(float *)(iVar3 + 0xc0c)); - } - } - } - return; -} - - - -// WARNING: Could not reconcile some variable overlaps -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F062AE4(undefined4 *param_1,char *param_2,int param_3) - -{ - byte bVar1; - undefined4 *puVar2; - float *pfVar3; - uint uVar4; - char cVar5; - undefined8 extraout_a0; - undefined4 *puVar6; - undefined4 *puVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - undefined4 *puStackX0; - int iStackX8; - float fStack216; - float fStack212; - float afStack208 [3]; - float fStack196; - float fStack192; - float fStack188; - float *pfStack184; - uint *puStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack108; - float *pfStack104; - float fStack100; - float fStack96; - float fStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - float afStack72 [16]; - uint *puStack8; - - if (*param_2 < '\0') { - return param_1; - } - uStack88 = DAT_80035cd8; - uStack84 = DAT_80035cdc; - uStack76 = DAT_80035ce4; - uStack80 = DAT_80035ce0; - puStackX0 = param_1; - iStackX8 = param_3; - pfStack104 = (float *)FUN_7f08a70c(); - fStack120 = *(float *)(param_2 + 0x28); - fVar13 = *(float *)(param_2 + 0x24); - fStack156 = (float)DAT_80035ce8; - fStack148 = (float)DAT_80035cf0; - fStack152 = (float)DAT_80035cec; - fStack168 = DAT_80035cf4; - fStack164 = DAT_80035cf8; - fStack160 = DAT_80035cfc; - fStack172 = DAT_80053edc; - puStack176 = _DAT_8008d140; - pfStack184 = (float *)FUN_7f0789b4(); - if (param_2[1] == '\x16') { - fStack108 = 50.00000000; - puStack176 = _DAT_8008d144; - } - else { - if (param_2[1] == '\x17') { - fStack108 = 10.00000000; - puStack176 = _DAT_8008d144; - uVar4 = FUN_7000a460(); - uStack76 = uStack76 & 0xffffff00 | (uint)(byte)((char)(uVar4 % 0x32) + 0x96); - uVar4 = FUN_7000a460(); - if (uVar4 % 5 != 0) { - fStack100 = *(float *)(param_2 + 4); - goto LAB_7f0624d8; - } - uVar4 = FUN_7000a460(); - cVar5 = -1 - (char)(uVar4 % 100); - uStack76 = CONCAT13(cVar5,CONCAT12(cVar5,uStack76._2_2_)); - } - else { - fStack108 = 30.00000000; - } - } - fStack100 = *(float *)(param_2 + 4); -LAB_7f0624d8: - fStack96 = *(float *)(param_2 + 8); - fStack92 = *(float *)(param_2 + 0xc); - if (0.00000000 < fStack120) { - fStack100 = fStack100 + fStack120 * *(float *)(param_2 + 0x10); - fStack96 = fStack96 + fStack120 * *(float *)(param_2 + 0x14); - fStack92 = fStack92 + fStack120 * *(float *)(param_2 + 0x18); - fVar8 = fStack120; - } - else { - fVar13 = fVar13 + fStack120; - fVar8 = 0.00000000; - } - if (*(float *)(param_2 + 0x1c) < fVar8 + fVar13) { - fVar13 = *(float *)(param_2 + 0x1c) - fVar8; - fVar8 = *(float *)(param_2 + 0x18); - } - else { - fVar8 = *(float *)(param_2 + 0x18); - } - fStack144 = *(float *)(param_2 + 0x14) * (pfStack104[2] - (fStack92 + fVar13 * fVar8)) - - (pfStack104[1] - (*(float *)(param_2 + 0x14) * fVar13 + fStack96)) * fVar8; - fStack140 = *(float *)(param_2 + 0x18) * - (*pfStack104 - (fStack100 + fVar13 * *(float *)(param_2 + 0x10))) - - (pfStack104[2] - (*(float *)(param_2 + 0x18) * fVar13 + fStack92)) * - *(float *)(param_2 + 0x10); - fStack136 = *(float *)(param_2 + 0x10) * - (pfStack104[1] - (fStack96 + fVar13 * *(float *)(param_2 + 0x14))) - - (*pfStack104 - (*(float *)(param_2 + 0x10) * fVar13 + fStack100)) * - *(float *)(param_2 + 0x14); - if (((fStack144 == 0.00000000) && (fStack140 == 0.00000000)) && (fStack136 == 0.00000000)) { - fStack144 = 0.00000000; - fStack136 = 0.00000000; - fStack140 = fStack108; - } - else { - guNormalize(&fStack144,&fStack140,&fStack136); - fStack144 = fStack144 * fStack108; - fStack140 = fStack140 * fStack108; - fStack136 = fStack136 * fStack108; - } - fStack132 = *(float *)(param_2 + 0x14) * fStack136 - fStack140 * *(float *)(param_2 + 0x18); - fStack128 = *(float *)(param_2 + 0x18) * fStack144 - fStack136 * *(float *)(param_2 + 0x10); - fStack124 = *(float *)(param_2 + 0x10) * fStack140 - fStack144 * *(float *)(param_2 + 0x14); - guNormalize(&fStack132,&fStack128,&fStack124); - fStack132 = fStack132 * fStack108; - fStack128 = fStack128 * fStack108; - fStack124 = fStack124 * fStack108; - if (param_2[1] == '\x16') { - puVar7 = (undefined4 *)FUN_7f0be274(8); - } - else { - puVar7 = (undefined4 *)FUN_7f0be274(4); - } - puStack8 = (uint *)FUN_7f0be290(); - FUN_7f058e84(&fStack100,afStack72); - matrix_multiply_A1_by_F12(DAT_80053ee0,extraout_a0,afStack72); - FUN_7f0585b8(pfStack184,afStack72); - FUN_7f0591bc((int)afStack72,puStack8); - *puVar7 = uStack88; - puVar7[1] = uStack84; - puVar7[2] = uStack80; - puVar7[3] = uStack76; - puVar7[4] = uStack88; - puVar7[5] = uStack84; - puVar7[6] = uStack80; - puVar7[7] = uStack76; - puVar7[8] = uStack88; - puVar7[9] = uStack84; - puVar7[10] = uStack80; - puVar7[0xb] = uStack76; - puVar7[0xc] = uStack88; - puVar7[0xd] = uStack84; - puVar7[0xe] = uStack80; - puVar7[0xf] = uStack76; - cVar5 = param_2[1]; - if (cVar5 == '\x16') { - puVar7[0x10] = uStack88; - puVar7[0x11] = uStack84; - puVar7[0x12] = uStack80; - puVar7[0x13] = uStack76; - puVar7[0x14] = uStack88; - puVar7[0x15] = uStack84; - puVar7[0x16] = uStack80; - puVar7[0x17] = uStack76; - puVar7[0x18] = uStack88; - puVar7[0x19] = uStack84; - puVar7[0x1a] = uStack80; - puVar7[0x1b] = uStack76; - puVar7[0x1c] = uStack88; - puVar7[0x1d] = uStack84; - puVar7[0x1e] = uStack80; - puVar7[0x1f] = uStack76; - cVar5 = param_2[1]; - } - if (cVar5 == '\x17') { - fStack196 = *(float *)(param_2 + 0x10) * fVar13 + fStack100; - fStack192 = *(float *)(param_2 + 0x14) * fVar13 + fStack96; - fStack188 = *(float *)(param_2 + 0x18) * fVar13 + fStack92; - FUN_7f058994(pfStack184,&fStack196); - fStack216 = fStack108 / 10.00000000; - fStack212 = fStack216; - FUN_7f0786e0(&fStack216,-fStack188,afStack208); - if (afStack208[0] < 2.00000000) { - afStack208[0] = afStack208[0] * 0.50000000; - fStack196 = fStack196 * afStack208[0]; - fStack192 = fStack192 * afStack208[0]; - fStack188 = fStack188 * afStack208[0]; - } - pfVar3 = (float *)FUN_7f078a34(); - FUN_7f058994(pfVar3,&fStack196); - fStack196 = fStack196 - fStack100; - fStack192 = fStack192 - fStack96; - fStack156 = fStack196 * 10.00000000; - fStack188 = fStack188 - fStack92; - fStack152 = fStack192 * 10.00000000; - fStack148 = fStack188 * 10.00000000; - } - else { - fStack148 = fVar13 * 10.00000000; - fStack156 = *(float *)(param_2 + 0x10) * fStack148; - fStack152 = *(float *)(param_2 + 0x14) * fStack148; - fStack148 = *(float *)(param_2 + 0x18) * fStack148; - } - puVar2 = puStackX0; - *(short *)puVar7 = (short)(int)fStack144; - *(undefined2 *)((int)puVar7 + 2) = (short)(int)fStack140; - *(short *)(puVar7 + 1) = (short)(int)fStack136; - bVar1 = *(byte *)(puStack176 + 1); - *(undefined2 *)((int)puVar7 + 10) = 0; - *(ushort *)(puVar7 + 2) = (ushort)bVar1 << 5; - *(short *)(puVar7 + 4) = (short)(int)-fStack144; - *(undefined2 *)((int)puVar7 + 0x12) = (short)(int)-fStack140; - *(undefined2 *)(puVar7 + 6) = 0; - *(undefined2 *)((int)puVar7 + 0x1a) = 0; - *(short *)(puVar7 + 5) = (short)(int)-fStack136; - *(short *)(puVar7 + 8) = (short)(int)(fStack144 * DAT_80053ee4 + fStack156); - *(undefined2 *)((int)puVar7 + 0x22) = (short)(int)(fStack140 * DAT_80053ee8 + fStack152); - *(short *)(puVar7 + 9) = (short)(int)(fStack136 * DAT_80053eec + fStack148); - *(ushort *)(puVar7 + 10) = (ushort)*(byte *)(puStack176 + 1) << 5; - *(short *)((int)puVar7 + 0x2a) = (ushort)*(byte *)((int)puStack176 + 5) << 5; - *(short *)(puVar7 + 0xc) = (short)(int)(fStack156 - fStack144 * DAT_80053ef0); - *(undefined2 *)((int)puVar7 + 0x32) = (short)(int)(fStack152 - fStack140 * DAT_80053ef4); - fVar8 = DAT_80053ef8; - *(undefined2 *)(puVar7 + 0xe) = 0; - *(short *)(puVar7 + 0xd) = (short)(int)(fStack148 - fStack136 * fVar8); - *(short *)((int)puVar7 + 0x3a) = (ushort)*(byte *)((int)puStack176 + 5) << 5; - if (param_2[1] == '\x16') { - fVar8 = *pfStack104 - fStack100; - fVar10 = pfStack104[1] - fStack96; - fVar12 = pfStack104[2] - fStack92; - fVar9 = *pfStack104 - (*(float *)(param_2 + 0x10) * fVar13 + fStack100); - fVar11 = pfStack104[1] - (*(float *)(param_2 + 0x14) * fVar13 + fStack96); - fVar13 = pfStack104[2] - (*(float *)(param_2 + 0x18) * fVar13 + fStack92); - if (fVar9 * fVar9 + fVar11 * fVar11 + fVar13 * fVar13 < - fVar8 * fVar8 + fVar10 * fVar10 + fVar12 * fVar12) { - fStack168 = fStack156; - fStack172 = DAT_80053efc * DAT_80053f00; - fStack164 = fStack152; - fStack160 = fStack148; - } - *(short *)(puVar7 + 0x10) = (short)(int)(fStack132 * fStack172 + fStack168); - *(undefined2 *)((int)puVar7 + 0x42) = (short)(int)(fStack128 * fStack172 + fStack164); - *(short *)(puVar7 + 0x11) = (short)(int)(fStack124 * fStack172 + fStack160); - *(ushort *)(puVar7 + 0x12) = (ushort)*(byte *)(_DAT_8008d148 + 1) << 5; - *(short *)((int)puVar7 + 0x4a) = (ushort)*(byte *)((int)_DAT_8008d148 + 5) << 5; - *(short *)(puVar7 + 0x14) = (short)(int)(fStack168 - fStack132 * fStack172); - *(undefined2 *)((int)puVar7 + 0x52) = (short)(int)(fStack164 - fStack128 * fStack172); - *(undefined2 *)(puVar7 + 0x16) = 0; - *(undefined2 *)((int)puVar7 + 0x5a) = 0; - *(short *)(puVar7 + 0x15) = (short)(int)(fStack160 - fStack124 * fStack172); - *(short *)(puVar7 + 0x18) = (short)(int)(fStack144 * fStack172 + fStack168); - *(undefined2 *)((int)puVar7 + 0x62) = (short)(int)(fStack140 * fStack172 + fStack164); - *(undefined2 *)(puVar7 + 0x1a) = 0; - *(short *)(puVar7 + 0x19) = (short)(int)(fStack136 * fStack172 + fStack160); - *(short *)((int)puVar7 + 0x6a) = (ushort)*(byte *)((int)_DAT_8008d148 + 5) << 5; - *(short *)(puVar7 + 0x1c) = (short)(int)(fStack168 - fStack144 * fStack172); - *(undefined2 *)((int)puVar7 + 0x72) = (short)(int)(fStack164 - fStack140 * fStack172); - *(short *)(puVar7 + 0x1d) = (short)(int)(fStack160 - fStack136 * fStack172); - bVar1 = *(byte *)(_DAT_8008d148 + 1); - *(undefined2 *)((int)puVar7 + 0x7a) = 0; - *(ushort *)(puVar7 + 0x1e) = (ushort)bVar1 << 5; - } - puVar6 = puStackX0 + 2; - puStackX0[1] = 0x2000; - *puStackX0 = 0xb6000000; - puStackX0 = puStackX0 + 4; - *puVar6 = 0x1020040; - uVar4 = osVirtualToPhysical((uint)puStack8); - puVar2[3] = uVar4; - if (param_2[1] == '\x16') { - loc_7F077B80((uint **)register0x000000ec,_DAT_8008d148,4,(longlong)iStackX8,2); - puVar2 = puStackX0; - *puStackX0 = 0x4700080; - puStackX0 = puStackX0 + 2; - uVar4 = osVirtualToPhysical((uint)puVar7); - puVar2[1] = uVar4; - puStackX0[1] = 0x5454; - *puStackX0 = 0xb1000076; - puStackX0 = puStackX0 + 2; - loc_7F077B80((uint **)register0x000000ec,puStack176,4,(longlong)iStackX8,2); - puStackX0[1] = 0x3020; - *puStackX0 = 0xb1000013; - } - else { - loc_7F077B80((uint **)register0x000000ec,puStack176,4,(longlong)iStackX8,2); - puVar2 = puStackX0; - *puStackX0 = 0x4300040; - puStackX0 = puStackX0 + 2; - uVar4 = osVirtualToPhysical((uint)puVar7); - puVar2[1] = uVar4; - puStackX0[1] = 0x3020; - *puStackX0 = 0xb1000013; - } - puStackX0 = puStackX0 + 2; - return puStackX0; -} - - - -void FUN_7f06302c(char *param_1) - -{ - int iVar1; - float fVar2; - - if (-1 < *param_1) { - if (DAT_800483a4 < 3) { - *(float *)(param_1 + 0x28) = - *(float *)(param_1 + 0x28) + *(float *)(param_1 + 0x20) * DAT_800483a8; - } - else { - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(param_1 + 0x28) = - *(float *)(param_1 + 0x28) + - *(float *)(param_1 + 0x20) * (fVar2 * 0.00000000 * 0.50000000 + 2.00000000); - } - if (*(float *)(param_1 + 0x1c) <= *(float *)(param_1 + 0x28)) { - *param_1 = -1; - } - else { - *param_1 = *param_1 + '\x01'; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F062FC0(uint **param_1) - -{ - int iVar2; - uint *puVar3; - int iVar4; - uint uVar5; - uint *puVar6; - ulonglong uVar1; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 *puVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - undefined4 uStack68; - undefined4 uStack64; - uint *puStack56; - undefined4 uStack20; - uint uStack16; - undefined4 uStack8; - - puVar3 = *param_1; - puVar9 = &DAT_80035d00; - puVar7 = &uStack68; - do { - puVar10 = puVar9 + 3; - puVar8 = puVar7 + 3; - *puVar7 = *puVar9; - puVar7[1] = puVar9[1]; - puVar7[2] = puVar9[2]; - puVar9 = puVar10; - puVar7 = puVar8; - } while (puVar10 != (undefined4 *)0x80035d3c); - iVar13 = 0; - iVar14 = 0; - *puVar8 = uRam80035d3c; - do { - iVar12 = _DAT_8007a120 + iVar14; - iVar2 = FUN_7f05df64(iVar13); - if (*(char *)(iVar12 + 0x87f) != '\0') { - if (iVar2 != 0x17) { - puVar3 = loc_7F062AE4(puVar3,(char *)(iVar12 + 0xa54),0); - } - if (((((iVar2 == 0x13) || (iVar2 == 0x12)) || (iVar2 == 2)) || - ((iVar2 == 3 || (iVar2 == 0x14)))) || (iVar2 == 0x15)) { - *puVar3 = 0xbc000002; - puVar3[1] = 0x80000040; - puVar3[2] = 0x3860010; - puVar3[3] = 0x80032488; - puVar3[4] = 0x3880010; - puVar3[5] = 0x80032480; - puVar3[6] = 0x3840010; - uVar5 = FUN_7f078a64(); - puVar3[7] = uVar5; - puVar3[8] = 0x3820010; - iVar4 = FUN_7f078a64(); - puVar3[9] = iVar4 + 0x10; - puVar3 = puVar3 + 10; - } - *puVar3 = 0xbc00000e; - puVar6 = puVar3 + 2; - uVar5 = locret_7F059A40(0.00000000,300.00000000); - puVar3[1] = uVar5; - if (0x10 < *(short *)(*(int *)(iVar12 + 0xb70) + 0xc)) { - iVar4 = *(int *)(*(int *)(iVar12 + 0xb70) + 8); - iVar11 = iVar12 + 0xb68; - if (*(int *)(iVar4 + 0x40) != 0) { - puVar9 = (undefined4 *)loc_7F06C888(iVar11,*(ushort **)(iVar4 + 0x44)); - if (puVar9 != NULL) { - *puVar9 = 1; - } - if (iVar2 == 0x19) { - save_img_index_to_obj_ani_slot((int)&DAT_80075c50,_DAT_8008d184); - puVar6 = loc_7F04ABF8(iVar11,*(ushort **)(*(int *)(*(int *)(iVar12 + 0xb70) + 8) + 0x40) - ,(int *)&DAT_80075c50,puVar6,0,4); - } - else { - puVar6 = loc_7F04ABF8(iVar11,*(ushort **)(*(int *)(*(int *)(iVar12 + 0xb70) + 8) + 0x40) - ,(int *)&DAT_80075cc8,puVar6,0,1); - } - } - } - uStack20 = 4; - uStack16 = (uint)*(byte *)(_DAT_8007a120 + 0xfdf) | - (uint)*(byte *)(_DAT_8007a120 + 0xfdc) << 0x18 | - (uint)*(byte *)(_DAT_8007a120 + 0xfdd) << 0x10 | - (uint)*(byte *)(_DAT_8007a120 + 0xfde) << 8; - uStack64 = 0; - puStack56 = puVar6; - FUN_7f059184(); - if ((iVar2 == 0x19) && (*(int *)(iVar12 + 0xa90) != 0)) { - uVar5 = *(uint *)(*(int *)(iVar12 + 0xa90) + 0x14); - loc_7F074778((int)&uStack68,uVar5,extraout_a2_lo,extraout_a3_lo); - loc_7F08BDA4(*(undefined4 **)(uVar5 + 0xc),(int)*(short *)(*(int *)(uVar5 + 8) + 0xe)); - if (*(int *)(iVar12 + 0xa94) != 0) { - *(undefined4 *)(iVar12 + 0xa90) = 0; - } - } - uVar1 = FUN_7f05e5d4(iVar2,0x400); - if (uVar1 != 0) { - puStack56[1] = 0x3000; - *puStack56 = 0xb6000000; - if (iVar13 == 0) { - uStack8 = 3; - puStack56 = puStack56 + 2; - } - else { - uStack8 = 2; - puStack56 = puStack56 + 2; - } - } - loc_7F074778((int)&uStack68,iVar12 + 0xb68,extraout_a2_lo_00,extraout_a3_lo_00); - puVar6 = puStack56; - uVar1 = FUN_7f05e5d4(iVar2,0x400); - if (uVar1 != 0) { - puVar6[1] = 0x3000; - *puVar6 = 0xb6000000; - puVar6 = puVar6 + 2; - } - loc_7F08BDA4(*(undefined4 **)(iVar12 + 0xb74),(int)*(short *)(*(int *)(iVar12 + 0xb70) + 0xe)) - ; - FUN_7f0591a8(); - *puVar6 = 0xbc00000e; - puVar3 = puVar6 + 2; - uVar1 = FUN_70003c4c(); - puVar6[1] = (uint)uVar1; - if (iVar2 == 0x17) { - puVar3 = loc_7F062AE4(puVar3,(char *)(iVar12 + 0xa54),0); - } - } - iVar13 += 1; - iVar14 += 0x3a8; - } while (iVar13 != 2); - *param_1 = puVar3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * -FUN_7f063530(undefined4 *param_1,longlong param_2,float *param_3,int param_4,int param_5) - -{ - ushort *puVar1; - int iVar2; - ulonglong uVar3; - int iVar4; - short sVar6; - undefined4 uVar5; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 uVar7; - int iVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - int iVar13; - longlong lVar14; - ushort **ppuVar15; - undefined4 *puStackX0; - float afStack292 [17]; - undefined auStack224 [128]; - undefined auStack96 [12]; - undefined4 *puStack84; - undefined4 uStack64; - undefined4 uStack60; - undefined4 *puStack52; - undefined4 uStack16; - int iStack12; - int iStack8; - - iVar13 = (int)param_2; - puVar11 = &DAT_80035d40; - puVar9 = &uStack64; - do { - puVar12 = puVar11 + 3; - puVar10 = puVar9 + 3; - *puVar9 = *puVar11; - puVar9[1] = puVar11[1]; - puVar9[2] = puVar11[2]; - puVar11 = puVar12; - puVar9 = puVar10; - } while (puVar12 != (undefined4 *)0x80035d7c); - *puVar10 = uRam80035d7c; - if ((param_2 == 0x1e) || (param_2 == 0x17)) { - iVar13 = 0x3c; - } - FUN_7f05dfac(0,iVar13); - uVar3 = FUN_7f05d3dc(0); - if ((uVar3 != 0) && (iVar4 = FUN_7f05d420(0), iVar2 = _DAT_8007a120, iVar4 != 0)) { - ppuVar15 = (ushort **)(_DAT_8007a120 + 0x810); - iVar4 = FUN_7f05d568(iVar13); - if ((iVar4 != 0) && (uVar3 = FUN_7f05e5d4(iVar13,0x4000), uVar3 == 0)) { - puVar11 = (undefined4 *)FUN_7f0be2c4((int)*(short *)(iVar2 + 0x81e) << 6); - lVar14 = 0; - iVar4 = 0; - if (0 < *(short *)(iVar2 + 0x81e)) { - while( true ) { - init_0x40_bytes_data_at_address_last_word_1_0((undefined4 *)(iVar4 + (int)puVar11)); - iVar4 = (int)lVar14 + 1; - lVar14 = (longlong)iVar4; - if ((longlong)*(short *)(iVar2 + 0x81e) <= lVar14) break; - iVar4 *= 0x40; - } - } - lVar14 = 0; - puStack84 = puVar11; - FUN_7f0762e4(ppuVar15); - sub_7F075F68((int)auStack96,ppuVar15,auStack224); - loc_7F05EA84((int)auStack96,0); - loc_7F05EB00((int)auStack96,1); - puVar1 = *(ushort **)(*(int *)(iVar2 + 0x818) + 4); - if ((puVar1 != NULL) && - (puVar9 = (undefined4 *)loc_7F06C888((int)auStack96,puVar1), puVar9 != NULL)) { - *puVar9 = 0; - } - loc_7F058030(param_3,puVar11); - if (*(int *)(iVar2 + 0x814) == -0x7ffc3864) { - iVar4 = *(int *)(*(int *)(iVar2 + 0x818) + 0x10); - if (iVar4 == 0) { - iVar4 = *(int *)(*(int *)(iVar2 + 0x818) + 0x14); - } - else { - FUN_7f058e84(*(undefined4 **)(iVar4 + 4),afStack292); - loc_7F0580E4(param_3,afStack292,(int)(puVar11 + 0x30)); - iVar4 = *(int *)(*(int *)(iVar2 + 0x818) + 0x14); - } - if (iVar4 == 0) { - iVar4 = *(int *)(iVar2 + 0x818); - } - else { - FUN_7f058e84(*(undefined4 **)(iVar4 + 4),afStack292); - loc_7F0580E4(param_3,afStack292,(int)(puVar11 + 0x40)); - iVar4 = *(int *)(iVar2 + 0x818); - } - } - else { - iVar4 = *(int *)(iVar2 + 0x818); - } - puVar1 = *(ushort **)(iVar4 + 0x18); - if (puVar1 == NULL) { - puVar1 = *(ushort **)(iVar4 + 0x1c); - } - else { - puVar9 = *(undefined4 **)(puVar1 + 2); - sVar6 = loc_7F06C654(puVar1,0); - FUN_7f058e84(puVar9,afStack292); - loc_7F0580E4(param_3,afStack292,(int)(puVar11 + (int)sVar6 * 0x10)); - puVar1 = *(ushort **)(*(int *)(iVar2 + 0x818) + 0x1c); - } - if (puVar1 == NULL) { - sVar6 = *(short *)(iVar2 + 0x81c); - } - else { - puVar9 = *(undefined4 **)(puVar1 + 2); - sVar6 = loc_7F06C654(puVar1,0); - FUN_7f058e84(puVar9,afStack292); - loc_7F0580E4(param_3,afStack292,(int)(puVar11 + (int)sVar6 * 0x10)); - sVar6 = *(short *)(iVar2 + 0x81c); - } - iVar4 = 0; - if (0x12 < sVar6) { - iVar8 = *(int *)(iVar2 + 0x818); - while( true ) { - puVar1 = *(ushort **)(iVar8 + iVar4 + 0x48); - if (puVar1 == NULL) { - iVar8 = *(int *)(iVar2 + 0x818); - } - else { - puVar11 = (undefined4 *)loc_7F06C888((int)auStack96,puVar1); - if (puVar11 != NULL) { - *puVar11 = 1; - } - iVar8 = *(int *)(iVar2 + 0x818); - } - puVar1 = *(ushort **)(iVar8 + iVar4 + 0x5c); - if ((puVar1 != NULL) && - (puVar11 = (undefined4 *)loc_7F06C888((int)auStack96,puVar1), puVar11 != NULL)) { - *puVar11 = 1; - } - iVar4 += 4; - if (iVar4 == 0x14) break; - iVar8 = *(int *)(iVar2 + 0x818); - } - } - loc_7F06F0C0((int)auStack96); - if (((((iVar13 == 0x13) || (iVar13 == 0x12)) || (iVar13 == 2)) || - ((iVar13 == 3 || (iVar13 == 0x14)))) || (iVar13 == 0x15)) { - param_1[1] = 0x80000040; - *param_1 = 0xbc000002; - param_1[2] = 0x3860010; - param_1[3] = 0x80032488; - param_1[4] = 0x3880010; - param_1[5] = 0x80032480; - param_1[6] = 0x3840010; - uVar5 = FUN_7f078a64(); - param_1[7] = uVar5; - puStackX0 = param_1 + 10; - param_1[8] = 0x3820010; - iVar13 = FUN_7f078a64(); - param_1[9] = iVar13 + 0x10; - sVar6 = *(short *)(iVar2 + 0x81c); - uVar5 = extraout_a2_lo_00; - uVar7 = extraout_a3_lo_00; - } - else { - sVar6 = *(short *)(iVar2 + 0x81c); - uVar5 = extraout_a2_lo; - uVar7 = extraout_a3_lo; - puStackX0 = param_1; - } - if (((0x10 < sVar6) && (*(int *)(*(int *)(iVar2 + 0x818) + 0x40) != 0)) && - (puVar11 = (undefined4 *) - loc_7F06C888((int)auStack96,*(ushort **)(*(int *)(iVar2 + 0x818) + 0x44)), - uVar5 = extraout_a2_lo_01, uVar7 = extraout_a3_lo_01, puVar11 != NULL)) { - *puVar11 = 0; - uVar5 = extraout_a2_lo_01; - uVar7 = extraout_a3_lo_01; - } - puStack52 = puStackX0; - if (param_4 < 0xff) { - uStack16 = 5; - iStack8 = param_5; - iStack12 = param_4; - } - else { - uStack16 = 4; - iStack12 = param_5; - } - uStack60 = 0; - loc_7F074778((int)&uStack64,(uint)auStack96,uVar5,uVar7); - param_1 = puStack52; - FUN_7f059184(); - iVar13 = 0; - if (0 < *(short *)(iVar2 + 0x81e)) { - do { - loc_7F058030((undefined4 *)((int)puStack84 + iVar13),afStack292); - FUN_7f0591bc((int)afStack292,puStack84 + (int)lVar14 * 0x10); - lVar14 = (longlong)((int)lVar14 + 1); - iVar13 += 0x40; - } while (lVar14 < (longlong)*(short *)(iVar2 + 0x81e)); - } - FUN_7f0591a8(); - } - } - return param_1; -} - - - -undefined4 * FUN_7f063a04(undefined4 *param_1,longlong param_2,float *param_3,int param_4) - -{ - undefined4 *puVar1; - - puVar1 = FUN_7f063530(param_1,param_2,param_3,param_4,-0x100); - return puVar1; -} - - - -undefined4 * FUN_7f063a28(undefined4 *param_1,longlong param_2,float *param_3) - -{ - undefined4 *puVar1; - - puVar1 = FUN_7f063a04(param_1,param_2,param_3,0xff); - return puVar1; -} - - - -void FUN_7f063a48(undefined4 *param_1,float *param_2,float *param_3,float *param_4, - undefined4 *param_5,float *param_6,float *param_7) - -{ - float afStack64 [16]; - - FUN_7f058e84(param_1,param_7); - FUN_7f058588(param_2,param_7); - FUN_7f058588(param_3,param_7); - FUN_7f058588(param_4,param_7); - FUN_7f058e84(param_5,afStack64); - FUN_7f058588(afStack64,param_7); - FUN_7f058588(param_6,param_7); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 -FUN_7f063ac8(undefined4 param_1,float *param_2,longlong param_3,longlong param_4,int param_5, - char *param_6) - -{ - float fVar1; - ulonglong uVar2; - int iVar3; - int iVar4; - int iVar5; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a0_07; - undefined8 extraout_a0_08; - undefined8 extraout_a0_09; - undefined8 extraout_a0_10; - undefined8 extraout_a0_11; - undefined8 extraout_a0_12; - undefined8 extraout_a0_13; - undefined8 extraout_a0_14; - undefined8 extraout_a0_15; - undefined8 extraout_a0_16; - undefined8 extraout_a0_17; - undefined8 extraout_a0_18; - undefined8 extraout_a0_19; - undefined8 extraout_a0_20; - undefined8 uVar6; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 *puVar10; - longlong lVar11; - int iStack1224; - undefined4 uStack1216; - undefined4 uStack1212; - undefined4 uStack1208; - undefined4 uStack1204; - undefined4 uStack1200; - undefined4 uStack1196; - undefined4 uStack1192; - float fStack1188; - undefined4 uStack1184; - undefined4 uStack1180; - undefined4 uStack1176; - undefined4 uStack1172; - undefined4 uStack1168; - undefined4 uStack1164; - undefined4 uStack1160; - float afStack1156 [16]; - undefined4 uStack1092; - undefined4 uStack1088; - undefined4 uStack1084; - undefined4 uStack1080; - undefined4 uStack1076; - undefined4 uStack1072; - undefined4 uStack1068; - undefined4 uStack1064; - undefined4 uStack1060; - undefined4 uStack1056; - float fStack1052; - undefined4 uStack1048; - undefined4 uStack1044; - undefined4 uStack1040; - undefined4 uStack1036; - undefined4 uStack1032; - float fStack1028; - undefined4 uStack1024; - undefined4 uStack1020; - undefined4 uStack1016; - undefined4 uStack1012; - undefined4 uStack1008; - float fStack1004; - undefined4 uStack1000; - undefined4 uStack996; - undefined4 uStack992; - undefined4 uStack988; - undefined4 uStack984; - float fStack980; - undefined4 uStack976; - undefined4 uStack972; - undefined4 uStack968; - undefined4 uStack964; - undefined4 uStack960; - float fStack956; - undefined4 uStack952; - undefined4 uStack948; - undefined4 uStack944; - undefined4 uStack940; - undefined4 uStack936; - float fStack932; - undefined4 uStack928; - undefined4 uStack924; - undefined4 uStack920; - undefined4 uStack916; - undefined4 uStack912; - undefined4 uStack908; - undefined4 uStack904; - undefined4 uStack900; - undefined4 uStack896; - undefined4 uStack892; - undefined4 uStack888; - undefined4 uStack884; - undefined4 uStack880; - float afStack876 [16]; - float afStack812 [16]; - float afStack748 [16]; - float afStack684 [16]; - undefined4 auStack620 [16]; - undefined4 auStack556 [16]; - float afStack492 [16]; - float afStack428 [19]; - ushort **ppuStack352; - float afStack348 [16]; - float afStack284 [17]; - undefined auStack216 [120]; - undefined auStack96 [12]; - undefined4 *puStack84; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack52; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - puVar9 = &DAT_80035d80; - puVar7 = &uStack64; - do { - puVar10 = puVar9 + 3; - puVar8 = puVar7 + 3; - *puVar7 = *puVar9; - puVar7[1] = puVar9[1]; - puVar7[2] = puVar9[2]; - puVar9 = puVar10; - puVar7 = puVar8; - } while (puVar10 != (undefined4 *)0x80035dbc); - *puVar8 = uRam80035dbc; - FUN_7f05dfac(0,0x55); - uVar2 = FUN_7f05d3dc(0); - if ((uVar2 != 0) && (iVar3 = FUN_7f05d420(0), iVar3 != 0)) { - ppuStack352 = (ushort **)(_DAT_8007a120 + 0x810); - puVar9 = (undefined4 *)FUN_7f0be2c4((int)*(short *)(_DAT_8007a120 + 0x81e) << 6); - FUN_7f0762e4(ppuStack352); - sub_7F075F68((int)auStack96,ppuStack352,auStack216); - puStack84 = puVar9; - loc_7F058030(param_2,puVar9); - iStack1224 = 4; - iVar3 = 1; - do { - puVar7 = *(undefined4 **)(*(int *)((int)ppuStack352[2] + iStack1224) + 4); - if (iVar3 == 2) { - iVar4 = FUN_7000c150(*param_6); - FUN_7f058ba8((-(float)iVar4 * DAT_80053f04 * DAT_80053f08) / 360.00000000,extraout_a0, - afStack284); - iVar4 = FUN_7000c260(*param_6); - FUN_7f058a90((-(float)iVar4 * DAT_80053f0c * DAT_80053f10) / 360.00000000,extraout_a0_00, - afStack348); - FUN_7f058588(afStack348,afStack284); - copies_first_3_floats_from_a0_to_a1_plus_0x30(puVar7,(int)afStack284); - } - else { - FUN_7f058e84(puVar7,afStack284); - } - loc_7F0580E4(param_2,afStack284,(int)(puVar9 + iVar3 * 0x10)); - iVar3 += 1; - iStack1224 += 4; - } while (iVar3 < 0xd); - loc_7F06F0C0((int)auStack96); - if (param_3 < 0xff) { - uStack16 = 5; - uStack12 = (undefined4)param_3; - uStack8 = 0xffffff00; - } - else { - uStack16 = 1; - } - uStack60 = 1; - uStack52 = param_1; - loc_7F074778((int)&uStack64,(uint)auStack96,extraout_a2_lo,extraout_a3_lo); - param_1 = uStack52; - FUN_7f059184(); - lVar11 = 0; - iVar3 = 0; - if (0 < *(short *)((int)ppuStack352 + 0xe)) { - do { - loc_7F058030((undefined4 *)((int)puStack84 + iVar3),afStack284); - FUN_7f0591bc((int)afStack284,puStack84 + (int)lVar11 * 0x10); - lVar11 = (longlong)((int)lVar11 + 1); - iVar3 += 0x40; - } while (lVar11 < (longlong)*(short *)((int)ppuStack352 + 0xe)); - } - FUN_7f0591a8(); - if (param_4 != 0) { - iVar3 = 0; - if (*(ushort **)(ppuStack352[2] + 0x1a) != NULL) { - puVar9 = (undefined4 *)loc_7F06C888((int)auStack96,*(ushort **)(ppuStack352[2] + 0x1a)); - *puVar9 = 0; - } - iVar4 = FUN_7f0be2c4((int)*(short *)((int)ppuStack352 + 0xe) << 6); - fVar1 = DAT_80053f14; - puStack84 = (undefined4 *)iVar4; - do { - FUN_7f059bb4(afStack812,-5.00000000,2000.00000000,-168.00000000,-5.00000000,0.00000000, - -168.00000000,0.00000000,0.00000000,-1.00000000); - FUN_7f059bb4(afStack428,-5.00000000,2000.00000000,-168.00000000,-5.00000000,0.00000000, - -168.00000000,0.00000000,0.00000000,-1.00000000); - init_0x40_bytes_data_at_address_last_word_1_0(afStack748); - init_0x40_bytes_data_at_address_last_word_1_0(afStack876); - loc_7F058030(afStack876,auStack620); - if (iVar3 == 2) { - uStack888 = *(undefined4 *)(param_5 + 0x58); - uStack884 = *(undefined4 *)(param_5 + 0x5c); - uStack880 = *(undefined4 *)(param_5 + 0x60); - FUN_7f058e84(&uStack888,afStack492); - iVar5 = FUN_7000c150(*param_6); - FUN_7f058ba8((-(float)iVar5 * DAT_80053f18 * DAT_80053f1c) / 360.00000000,extraout_a0_01, - afStack284); - iVar5 = FUN_7000c260(*param_6); - FUN_7f058a90((-(float)iVar5 * DAT_80053f20 * DAT_80053f24) / 360.00000000,extraout_a0_02, - afStack348); - FUN_7f058588(afStack348,afStack284); - FUN_7f058588(afStack492,afStack284); - loc_7F0580E4(afStack812,afStack284,(int)auStack556); - loc_7F058030(auStack556,(undefined4 *)(iVar4 + 0x80)); - } - else { - if (iVar3 == 0xb) { - uStack912 = DAT_80035dc0; - uStack908 = DAT_80035dc4; - uStack904 = DAT_80035dc8; - uStack900 = *(undefined4 *)(param_5 + 0xc4); - uStack896 = *(undefined4 *)(param_5 + 200); - uStack892 = *(undefined4 *)(param_5 + 0xcc); - uVar2 = FUN_7000c370(*param_6,0x10); - uVar6 = extraout_a0_03; - if (uVar2 != 0) { - FUN_7f058b1c(DAT_80053f28,extraout_a0_03,afStack748); - uVar6 = extraout_a0_04; - } - FUN_7f058a90(DAT_80053f2c,uVar6,afStack684); - FUN_7f063a48(&uStack912,afStack748,afStack684,afStack876,&uStack900,afStack812, - afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x2c0)); - } - else { - if (iVar3 == 4) { - uStack936 = DAT_80035dcc; - fStack932 = DAT_80035dd0; - uStack928 = DAT_80035dd4; - uStack924 = *(undefined4 *)(param_5 + 0x70); - uStack920 = *(undefined4 *)(param_5 + 0x74); - uStack916 = *(undefined4 *)(param_5 + 0x78); - uVar2 = FUN_7000c370(*param_6,8); - if (uVar2 != 0) { - fStack932 = fStack932 + -10.00000000; - } - FUN_7f058a90(fVar1,extraout_a0_05,afStack684); - FUN_7f063a48(&uStack936,afStack748,afStack684,afStack876,&uStack924,afStack812, - afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x100)); - } - else { - if (iVar3 == 5) { - uStack960 = DAT_80035dd8; - fStack956 = DAT_80035ddc; - uStack952 = DAT_80035de0; - uStack948 = *(undefined4 *)(param_5 + 0x7c); - uStack944 = *(undefined4 *)(param_5 + 0x80); - uStack940 = *(undefined4 *)(param_5 + 0x84); - uVar2 = FUN_7000c370(*param_6,4); - if (uVar2 != 0) { - fStack956 = fStack956 + -10.00000000; - } - FUN_7f058a90(fVar1,extraout_a0_06,afStack684); - FUN_7f063a48(&uStack960,afStack748,afStack684,afStack876,&uStack948,afStack812, - afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x140)); - } - else { - if (iVar3 == 6) { - uStack984 = DAT_80035de4; - fStack980 = DAT_80035de8; - uStack976 = DAT_80035dec; - uStack972 = *(undefined4 *)(param_5 + 0x88); - uStack968 = *(undefined4 *)(param_5 + 0x8c); - uStack964 = *(undefined4 *)(param_5 + 0x90); - uVar2 = FUN_7000c370(*param_6,2); - if (uVar2 != 0) { - fStack980 = fStack980 + -10.00000000; - } - FUN_7f058a90(fVar1,extraout_a0_07,afStack684); - FUN_7f063a48(&uStack984,afStack748,afStack684,afStack876,&uStack972,afStack812, - afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x180)); - } - else { - if (iVar3 == 7) { - uStack1008 = DAT_80035df0; - fStack1004 = DAT_80035df4; - uStack1000 = DAT_80035df8; - uStack996 = *(undefined4 *)(param_5 + 0x94); - uStack992 = *(undefined4 *)(param_5 + 0x98); - uStack988 = *(undefined4 *)(param_5 + 0x9c); - uVar2 = FUN_7000c370(*param_6,1); - if (uVar2 != 0) { - fStack1004 = fStack1004 + -10.00000000; - } - FUN_7f058a90(fVar1,extraout_a0_08,afStack684); - FUN_7f063a48(&uStack1008,afStack748,afStack684,afStack876,&uStack996,afStack812, - afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x1c0)); - } - else { - if (iVar3 == 9) { - uStack1032 = DAT_80035dfc; - fStack1028 = DAT_80035e00; - uStack1024 = DAT_80035e04; - uStack1020 = *(undefined4 *)(param_5 + 0xac); - uStack1016 = *(undefined4 *)(param_5 + 0xb0); - uStack1012 = *(undefined4 *)(param_5 + 0xb4); - uVar2 = FUN_7000c370(*param_6,0x4000); - if (uVar2 != 0) { - fStack1028 = fStack1028 + -10.00000000; - } - FUN_7f058a90(fVar1,extraout_a0_09,afStack684); - FUN_7f063a48(&uStack1032,afStack748,afStack684,afStack876,&uStack1020, - afStack812,afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x240)); - } - else { - if (iVar3 == 8) { - uStack1056 = DAT_80035e08; - fStack1052 = DAT_80035e0c; - uStack1048 = DAT_80035e10; - uStack1044 = *(undefined4 *)(param_5 + 0xa0); - uStack1040 = *(undefined4 *)(param_5 + 0xa4); - uStack1036 = *(undefined4 *)(param_5 + 0xa8); - uVar2 = FUN_7000c370(*param_6,0x8000); - if (uVar2 != 0) { - fStack1052 = fStack1052 + -10.00000000; - } - FUN_7f058a90(fVar1,extraout_a0_10,afStack684); - FUN_7f063a48(&uStack1056,afStack748,afStack684,afStack876,&uStack1044, - afStack812,afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x200)); - } - else { - if (iVar3 == 10) { - uStack1080 = DAT_80035e14; - uStack1076 = DAT_80035e18; - uStack1072 = DAT_80035e1c; - uStack1068 = *(undefined4 *)(param_5 + 0xb8); - uStack1064 = *(undefined4 *)(param_5 + 0xbc); - uStack1060 = *(undefined4 *)(param_5 + 0xc0); - uVar2 = FUN_7000c370(*param_6,0x20); - uVar6 = extraout_a0_11; - if (uVar2 != 0) { - FUN_7f058b1c(DAT_80053f30,extraout_a0_11,afStack748); - uVar6 = extraout_a0_12; - } - FUN_7f058a90(DAT_80053f34,uVar6,afStack684); - FUN_7f063a48(&uStack1080,afStack748,afStack684,afStack876,&uStack1068, - afStack812,afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x280)); - } - else { - if (iVar3 == 3) { - uStack1168 = DAT_80035e20; - uStack1164 = DAT_80035e24; - uStack1160 = DAT_80035e28; - uStack1092 = *(undefined4 *)(param_5 + 100); - uStack1088 = *(undefined4 *)(param_5 + 0x68); - uStack1084 = *(undefined4 *)(param_5 + 0x6c); - init_0x40_bytes_data_at_address_last_word_1_0(afStack1156); - uVar2 = FUN_7000c370(*param_6,0x800); - if (uVar2 == 0) { - uVar2 = FUN_7000c370(*param_6,0x400); - if (uVar2 != 0) { - FUN_7f058a90(DAT_80053f3c,extraout_a0_14,afStack748); - } - extraout_a0_15._7_1_ = *param_6; - } - else { - FUN_7f058a90(DAT_80053f38,extraout_a0_13,afStack748); - extraout_a0_15._7_1_ = *param_6; - } - uVar2 = FUN_7000c370((char)extraout_a0_15,0x200); - if (uVar2 == 0) { - uVar2 = FUN_7000c370(*param_6,0x100); - if (uVar2 != 0) { - FUN_7f058ba8(DAT_80053f44,extraout_a0_16,afStack1156); - } - } - else { - FUN_7f058ba8(DAT_80053f40,extraout_a0_15,afStack1156); - } - FUN_7f058588(afStack1156,afStack748); - FUN_7f058a90(DAT_80053f48,extraout_a0_17,afStack684); - FUN_7f063a48(&uStack1168,afStack748,afStack684,afStack876,&uStack1092, - afStack812,afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0xc0)); - } - else { - if (iVar3 == 1) { - uStack1192 = DAT_80035e2c; - fStack1188 = DAT_80035e30; - uStack1184 = DAT_80035e34; - uStack1180 = *(undefined4 *)(param_5 + 0x4c); - uStack1176 = *(undefined4 *)(param_5 + 0x50); - uStack1172 = *(undefined4 *)(param_5 + 0x54); - uVar2 = FUN_7000c370(*param_6,0x1000); - if (uVar2 != 0) { - fStack1188 = fStack1188 + -10.00000000; - } - FUN_7f058a90(fVar1,extraout_a0_18,afStack684); - FUN_7f063a48(&uStack1192,afStack748,afStack684,afStack876,&uStack1180, - afStack812,afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x40)); - } - else { - if (iVar3 == 0xc) { - uStack1216 = DAT_80035e38; - uStack1212 = DAT_80035e3c; - uStack1208 = DAT_80035e40; - uStack1204 = *(undefined4 *)(param_5 + 0xd0); - uStack1200 = *(undefined4 *)(param_5 + 0xd4); - uStack1196 = *(undefined4 *)(param_5 + 0xd8); - uVar2 = FUN_7000c370(*param_6,0x2000); - uVar6 = extraout_a0_19; - if (uVar2 != 0) { - FUN_7f058a90(DAT_80053f4c,extraout_a0_19,afStack748); - uVar6 = extraout_a0_20; - } - FUN_7f058ba8(DAT_80053f50,uVar6,afStack684); - FUN_7f063a48(&uStack1216,afStack748,afStack684,afStack876, - &uStack1204,afStack812,afStack428); - loc_7F058030(afStack428,(undefined4 *)(iVar4 + 0x300)); - } - else { - loc_7F058030(param_2,(undefined4 *)(iVar3 * 0x40 + iVar4)); - } - } - } - } - } - } - } - } - } - } - } - } - iVar3 += 1; - } while (iVar3 < 0xd); - loc_7F06F0C0((int)auStack96); - uStack52 = param_1; - loc_7F074778((int)&uStack64,(uint)auStack96,extraout_a2_lo_00,extraout_a3_lo_00); - param_1 = uStack52; - FUN_7f059184(); - lVar11 = 0; - iVar3 = 0; - if (0 < *(short *)((int)ppuStack352 + 0xe)) { - do { - loc_7F058030((undefined4 *)((int)puStack84 + iVar3),afStack284); - FUN_7f0591bc((int)afStack284,(uint *)((int)lVar11 * 0x40 + (int)puStack84)); - lVar11 = (longlong)((int)lVar11 + 1); - iVar3 += 0x40; - } while (lVar11 < (longlong)*(short *)((int)ppuStack352 + 0xe)); - } - FUN_7f0591a8(); - } - } - return param_1; -} - - - -undefined4 -sub_7F064364(undefined4 param_1,float *param_2,longlong param_3,int param_4,char *param_5) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f063ac8(param_1,param_2,0xff,param_3,param_4,param_5); - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * FUN_7f0648cc(void) - -{ - if (_DAT_80075df8 == 0) { - return &DAT_80075df8; - } - if (_DAT_80075dfc == 0) { - return &DAT_80075dfc; - } - if (_DAT_80075e00 == 0) { - return &DAT_80075e00; - } - if (_DAT_80075e04 == 0) { - return &DAT_80075e04; - } - return NULL; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f064948(int param_1,char *param_2,int param_3) - -{ - short sVar1; - int **ppiVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 uStack68; - undefined4 uStack64; - undefined2 uStack60; - undefined4 auStack56 [10]; - int **ppiStack16; - uint uStack12; - uint uStack8; - undefined4 uStack4; - - uStack4 = FUN_7f053ee0((float *)(param_2 + 8)); - uStack8 = FUN_7000a460(); - uStack12 = FUN_7000a460(); - DAT_800483f8 = param_3; - ppiVar2 = (int **)get_debug_fast_bond_flag(); - if (ppiVar2 == NULL) { - ppiVar2 = (int **)get_debug_all_obj_complete_flag(); - } - if ((((((param_1 != 0x1d) && (param_1 != 0x1c)) && (param_1 != 0x1b)) && - (((param_1 != 0x21 && (param_1 != 0x2f)) && - ((param_1 != 0x30 && ((param_1 != 0x22 && (param_1 != 0x17)))))))) && (param_1 != 0x3c)) && - (0 < DAT_800483a4)) { - ppiVar2 = (int **)FUN_7f0648cc(); - if (ppiVar2 != NULL) { - if ((*param_2 == '\x03') || (*param_2 == '\x06')) { - if (param_1 == 2) { - ppiStack16 = ppiVar2; - FUN_70008e18((longlong)_DAT_80063760,0x4a,ppiVar2); - } - else { - if (param_1 == 1) { - uStack64 = DAT_80035e6c; - uStack60 = DAT_80035e70; - ppiStack16 = ppiVar2; - FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&uStack68 + (uStack8 % 3) * 2 + 4), - ppiVar2); - } - else { - uStack68 = DAT_80035e74; - ppiStack16 = ppiVar2; - FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&uStack68 + (uStack8 & 1) * 2), - ppiVar2); - } - } - if ((longlong)(int)*ppiStack16 != 0) { - loc_700091B8((longlong)(int)*ppiStack16,8,uStack4); - } - } - else { - if (param_1 == 0x16) { - ppiStack16 = ppiVar2; - FUN_70008e18((longlong)_DAT_80063760,0x5b,ppiVar2); - } - else { - puVar5 = &DAT_80035e44; - puVar3 = auStack56; - do { - puVar6 = puVar5 + 3; - puVar4 = puVar3 + 3; - *puVar3 = *puVar5; - puVar3[1] = puVar5[1]; - puVar3[2] = puVar5[2]; - puVar5 = puVar6; - puVar3 = puVar4; - } while (puVar6 != (undefined4 *)0x80035e68); - *puVar4 = uRam80035e68; - ppiStack16 = ppiVar2; - FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)auStack56 + (uStack8 % 0x14) * 2), - ppiVar2); - } - if ((longlong)(int)*ppiStack16 != 0) { - loc_700091B8((longlong)(int)*ppiStack16,8,uStack4); - } - } - } - ppiStack16 = (int **)FUN_7f0648cc(); - ppiVar2 = ppiStack16; - if (((ppiStack16 != NULL) && (ppiVar2 = ppiStack16, -1 < param_3)) && - (ppiVar2 = (int **)(&PTR_PTR_DAT_8004e89c)[(uint)(&DAT_80049330)[param_3 * 2] >> 0x1c], - ppiVar2 != NULL)) { - sVar1 = *(short *)(ppiVar2 + 2); - if (0 < sVar1) { - if (sVar1 == 0) { - trap(0x1c00); - } - ppiVar2 = FUN_70008e18((longlong)_DAT_80063760, - *(short *)((int)*ppiVar2 + (uStack12 % (int)sVar1) * 2),ppiStack16); - } - if (*ppiStack16 != NULL) { - ppiVar2 = (int **)FUN_7f053f0c((int)*ppiStack16,(float *)(param_2 + 8)); - } - } - } - return ppiVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f064c58(float *param_1) - -{ - int **ppiVar1; - - if ((0 < DAT_800483a4) && (ppiVar1 = (int **)FUN_7f0648cc(), ppiVar1 != NULL)) { - FUN_70008e18((longlong)_DAT_80063760,0x46,ppiVar1); - if (*ppiVar1 != NULL) { - FUN_7f053f0c((int)*ppiVar1,param_1); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f064cbc(int param_1,float *param_2,int param_3) - -{ - short sVar1; - int **ppiVar2; - int **ppiVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 auStack88 [18]; - uint uStack16; - uint uStack12; - uint uStack8; - int **ppiStack4; - - uStack8 = FUN_7000a460(); - uStack12 = FUN_7000a460(); - DAT_800483f8 = param_3; - ppiVar2 = (int **)get_debug_fast_bond_flag(); - if (0 < DAT_800483a4) { - ppiVar2 = (int **)FUN_7f0648cc(); - if (ppiVar2 != NULL) { - if (param_1 != 0x17) { - if (param_1 == 0x16) { - uStack16 = DAT_80035e78; - ppiStack4 = ppiVar2; - FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&uStack16 + (uStack8 & 1) * 2), - ppiVar2); - ppiVar2 = ppiStack4; - } - else { - puVar4 = &DAT_80035e7c; - puVar6 = auStack88; - do { - puVar5 = puVar4 + 3; - *puVar6 = *puVar4; - puVar6[1] = puVar4[1]; - puVar6[2] = puVar4[2]; - puVar4 = puVar5; - puVar6 = puVar6 + 3; - } while (puVar5 != &DAT_80035ec4); - ppiStack4 = ppiVar2; - FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)auStack88 + (uStack8 % 0x24) * 2), - ppiVar2); - ppiVar2 = ppiStack4; - } - } - if (*ppiVar2 != NULL) { - FUN_7f053f0c((int)*ppiVar2,param_2); - } - } - ppiVar3 = (int **)FUN_7f0648cc(); - ppiVar2 = ppiVar3; - if ((ppiVar3 != NULL) && (ppiVar2 = ppiVar3, -1 < param_3)) { - ppiVar2 = (int **)(&PTR_PTR_DAT_8004e89c)[(uint)(&DAT_80049330)[param_3 * 2] >> 0x1c]; - sVar1 = *(short *)(ppiVar2 + 2); - if (0 < sVar1) { - if (ppiVar2 != NULL) { - if (sVar1 == 0) { - trap(0x1c00); - } - ppiStack4 = ppiVar3; - ppiVar2 = FUN_70008e18((longlong)_DAT_80063760, - *(short *)((int)*ppiVar2 + (uStack12 % (int)sVar1) * 2),ppiVar3); - ppiVar3 = ppiStack4; - } - if (*ppiVar3 != NULL) { - ppiVar2 = (int **)FUN_7f053f0c((int)*ppiVar3,param_2); - } - } - } - } - return ppiVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f064e8c(longlong param_1) - -{ - uint uVar1; - undefined4 local_c; - undefined4 local_8; - undefined2 local_4; - - if (((0 < DAT_800483a4) && (param_1 != 0x16)) && (param_1 != 0x17)) { - local_c = DAT_80035ec4; - local_8 = DAT_80035ec8; - local_4 = DAT_80035ecc; - uVar1 = FUN_7000a460(); - FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&local_c + (uVar1 % 5) * 2),NULL); - } - return; -} - - - -undefined4 locret_7F0649D0(longlong param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f064f3c(int param_1) - -{ - int iVar2; - int iVar3; - undefined *puVar4; - ulonglong uVar1; - int iVar5; - int iVar6; - - iVar6 = _DAT_8007a120 + param_1 * 0x3a8; - iVar2 = FUN_7f05def0(param_1); - iVar5 = *(int *)(iVar6 + 0x89c); - iVar3 = FUN_7f069960(param_1); - puVar4 = FUN_7f05cdd4(iVar2); - iVar3 += iVar5; - if ((longlong)iVar3 < (longlong)*(short *)(puVar4 + 0x20)) { - *(int *)(iVar6 + 0x89c) = iVar3; - } - else { - *(int *)(iVar6 + 0x89c) = (int)*(short *)(puVar4 + 0x20); - } - uVar1 = FUN_7f05e5d4(iVar2,0x200000); - if (uVar1 == 0) { - iVar3 = _DAT_8007a120 + *(int *)(puVar4 + 0x1c) * 4; - *(int *)(iVar3 + 0x1130) = (*(int *)(iVar3 + 0x1130) - *(int *)(iVar6 + 0x89c)) + iVar5; - } - else { - *(undefined4 *)(_DAT_8007a120 + *(int *)(puVar4 + 0x1c) * 4 + 0x1130) = 0; - } - if (iVar2 == 0x19) { - FUN_7f05ff9c(param_1); - } - else { - if ((iVar2 == 0xf) || (iVar2 == 0x10)) { - iVar5 = FUN_7f069960(param_1); - if (iVar5 < 5) { - *(int *)(iVar6 + 0x8a4) = iVar5; - } - else { - *(undefined4 *)(iVar6 + 0x8a4) = 5; - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f066df0) overlaps instruction at (ram,0x7f066dec) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06508c(uint param_1,int param_2) - -{ - char cVar1; - int iVar2; - int iVar3; - int iVar5; - int iVar6; - ulonglong uVar4; - int **ppiVar7; - undefined *puVar8; - uint uVar9; - int iVar10; - int *piVar11; - int *piVar12; - longlong lVar13; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - longlong lVar14; - longlong extraout_a0_04; - longlong extraout_a0_05; - longlong extraout_a0_06; - longlong extraout_a0_07; - longlong extraout_a0_08; - longlong extraout_a0_09; - longlong extraout_a0_10; - longlong extraout_a0_11; - longlong extraout_a0_12; - longlong extraout_a0_13; - longlong extraout_a0_14; - longlong extraout_a0_15; - longlong extraout_a0_16; - longlong extraout_a0_17; - longlong extraout_a0_18; - longlong extraout_a0_19; - undefined8 extraout_a0_20; - undefined8 extraout_a0_21; - longlong extraout_a0_22; - longlong extraout_a0_23; - longlong extraout_a0_24; - undefined8 extraout_a0_25; - undefined8 extraout_a0_26; - longlong extraout_a0_27; - longlong extraout_a0_28; - longlong extraout_a0_29; - undefined8 extraout_a0_30; - undefined8 extraout_a0_31; - undefined8 uVar15; - longlong extraout_a0_32; - undefined8 extraout_a0_33; - undefined8 extraout_a0_34; - bool bVar18; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 uVar16; - undefined8 extraout_a1_01; - float *pfVar17; - char cVar19; - int *piVar20; - longlong lVar21; - float fVar22; - float fVar23; - undefined *local_168; - undefined4 local_160; - undefined2 local_15c; - float local_154; - float local_150; - float local_148; - float local_144; - float afStack320 [18]; - float afStack248 [17]; - float local_b4; - float afStack176 [18]; - float local_68; - int local_64; - float local_58; - int local_54; - float local_50; - float local_4c; - float local_44; - int local_30; - int local_2c; - undefined *local_28; - int local_20; - int local_1c; - int *local_14; - int local_c; - - piVar20 = _DAT_8007a120 + param_1 * 0xea; - iVar5 = FUN_7f05df64(param_1); - lVar21 = (longlong)iVar5; - iVar6 = FUN_7f069a18(iVar5); - iVar10 = piVar20[0x220]; - piVar20[0x220] = param_2; - piVar20[0x221] = iVar10; - if (param_2 == 0) { - piVar20[0x222] = 1; - } - *(undefined *)(piVar20 + 0x21f) = 0; - *(undefined *)((int)piVar20 + 0x87d) = 0; - if (DAT_800483a4 < 1) { - iVar10 = piVar20[0x225]; - } - else { - piVar20[0x224] = piVar20[0x224] + DAT_800483a4; - piVar20[0x223] = piVar20[0x223] + 1; - iVar10 = piVar20[0x225]; - } - piVar20[0x24b] = 0; - if (iVar10 != 0) goto LAB_7f065334; - if (lVar21 == 0x16) { - if (piVar20[0x222] == 0) { - iVar10 = piVar20[0x220]; - } - else { - piVar20[0x228] = 0; - iVar10 = piVar20[0x220]; - } - } - else { - iVar10 = piVar20[0x220]; - } - if (iVar10 == 0) { - iVar10 = piVar20[0x226]; - iVar3 = iVar10 >> 0x1f; -LAB_7f0651c0: - if (CONCAT44(iVar3,iVar10) != 0) { - piVar20[0x225] = iVar10; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - goto LAB_7f0651d4; - } - iVar10 = piVar20[0x225]; - } - else { - if ((lVar21 == 0) || - ((local_c = iVar6, uVar4 = FUN_7f05e5d4(iVar5,0x10), uVar4 == 0 && - (iVar6 = local_c, piVar20[0x227] < 1)))) { - iVar10 = piVar20[0x226]; - iVar3 = iVar10 >> 0x1f; - goto LAB_7f0651c0; - } - if ((lVar21 == 0x16) && (199 < piVar20[0x228])) { - iVar10 = piVar20[0x226]; - iVar3 = iVar10 >> 0x1f; - iVar6 = local_c; - goto LAB_7f0651c0; - } - piVar20[0x225] = 1; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - piVar20[0x222] = 0; - iVar6 = local_c; -LAB_7f0651d4: - iVar10 = piVar20[0x225]; - } - piVar20[0x226] = 0; - if (iVar10 == 0) { - if (piVar20[0x227] == 0) { - if (iVar6 == 0) { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - else { - local_c = iVar6; - iVar10 = FUN_7f0c086c(); - if (iVar10 == 0) { - if (_DAT_8007a120[0xa71] == 0) { - if (((DAT_80032498 != 0) && (local_c == 1)) && ((_DAT_8007a120 + 1)[0x44c] < 1)) { - (_DAT_8007a120 + 1)[0x44c] = 1; - } - iVar10 = FUN_7f069960(param_1); - if (0 < iVar10) { - piVar20[0x225] = 9; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - goto LAB_7f065334; - } - if (_DAT_8007a120[0x3f2] == 0) { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - else { - iVar10 = FUN_7f05df64(1 - param_1); - piVar11 = _DAT_8007a120 + param_1 * 0x3fffff16; - if (piVar11[0x30f] == 0) { - if (piVar11[0x310] == 0) { - piVar12 = piVar11 + 0x306; - if (iVar10 != 0) { - if (piVar11[0x311] != 0) { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - goto LAB_7f065338; - } - local_14 = piVar11 + 0x306; - iVar10 = FUN_7f069a18(iVar10); - if ((iVar10 == 0) || - (iVar10 = FUN_7f069960(1 - param_1), piVar12 = local_14, 0 < iVar10)) - goto LAB_7f065334; - } - local_14 = piVar12; - FUN_7f05dd20(); - iVar10 = piVar20[0x226]; - piVar20[0x223] = 0; - piVar20[0x224] = 0; - piVar20[0x226] = 0; - piVar20[0x225] = iVar10; - iVar10 = local_14[10]; - local_14[7] = 0; - local_14[8] = 0; - local_14[10] = 0; - local_14[9] = iVar10; - goto LAB_7f065334; - } - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - else { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - } - else { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - else { -LAB_7f065334: - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - } - else { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - else { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } -LAB_7f065338: - if (CONCAT44(iVar10,uVar9) == 1) { - if (false) { -switchD_7f06535c_caseD_2b: - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - goto LAB_7f065530; - } - switch(iVar5) { - case 1: - uVar9 = FUN_7000a460(); - if ((uVar9 & 1) == 0) { - piVar20[0x225] = 0x1e; - } - else { - piVar20[0x225] = 0x20; - } - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - case 2: - uVar9 = FUN_7000a460(); - if ((uVar9 & 1) == 0) { - piVar20[0x225] = 0x11; - } - else { - piVar20[0x225] = 0x14; - } - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - case 3: - piVar20[0x225] = 0x17; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x11: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - case 0x19: - case 0x1e: - case 0x20: - case 0x23: - case 0x24: - case 0x3c: - piVar20[0x225] = 2; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - case 0x12: - case 0x18: - if (5 < piVar20[0x224]) { - piVar20[0x225] = 2; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - } - piVar20[0x302] = 0; - goto LAB_7f065534; - case 0x1a: - if (piVar20[0x222] == 0) { - if (piVar20[0x224] < 0xf0) { - piVar20[0x302] = 0; - goto LAB_7f065534; - } - iVar10 = piVar20[0x224]; - } - else { - iVar10 = piVar20[0x224]; - } - _DAT_8007a120[0x417] = iVar10; - piVar20[0x225] = 0x1a; - piVar20[0x223] = 0; - piVar20[0x224] = 0; - break; - case 0x1b: - case 0x1c: - case 0x1d: - case 0x21: - case 0x22: - case 0x2f: - case 0x30: - case 0x3d: - piVar20[0x225] = 0x1c; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - case 0x1f: - uVar15 = loc_7F05C8A0((int)&DAT_80035ad0,(float)piVar20[0x224],(float *)(piVar20 + 0x23b), - param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - piVar20[0x225] = 2; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - else { - piVar20[0x24b] = 1; - } - break; - case 0x25: - case 0x26: - case 0x27: - case 0x29: - case 0x2a: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x49: - case 0x51: - case 0x52: - case 0x53: - piVar20[0x225] = 0x24; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - case 0x28: - if (piVar20[0x223] == 0) { - FUN_7f080dc0(0,0,0,0x3f800000); - piVar20[0x302] = 0; - goto LAB_7f065534; - } - if (0 < piVar20[0x224]) { - FUN_7f080df0(0x41000000,0,0,0,0,0); - piVar20[0x225] = 2; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - break; - default: - goto switchD_7f06535c_caseD_2b; - } -LAB_7f065530: - piVar20[0x302] = 0; -LAB_7f065534: - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - uVar4 = CONCAT44(iVar10,uVar9); - if (uVar4 == 2) { - ppiVar7 = (int **)FUN_7f069a18(iVar5); - iVar10 = (int)ppiVar7 >> 0x1f; - if ((ppiVar7 == NULL) || (0 < piVar20[0x227])) { - if (false) goto switchD_7f065574_caseD_3; - switch(iVar5) { - case 2: - if (piVar20[0x223] == 0) { - *(undefined *)(piVar20 + 0x21f) = 0; - } - else { - if (piVar20[0x220] == 0) { - piVar20[0x225] = 3; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - } - *(undefined *)(piVar20 + 0x21f) = 0; - } - *(undefined *)((int)piVar20 + 0x87d) = *(undefined *)(piVar20 + 0x21f); - break; - case 4: - case 5: - case 6: - case 0xf: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - case 0x18: - case 0x19: - case 0x1e: - case 0x20: - case 0x23: - case 0x24: - if (piVar20[0x223] != 0) { - piVar20[0x225] = 3; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - break; - } - uVar4 = get_num_players(); - if ((uVar4 == 1) || ((iVar10 = FUN_7f0c6d64(), iVar10 == 0 && (_DAT_8007a120[0xa71] == 0)))) - { - *(undefined *)((int)piVar20 + 0x87d) = 1; - } - iVar10 = FUN_7f0c086c(); - bVar18 = iVar10 == 0; - if (bVar18) { - bVar18 = _DAT_8007a120[0xa71] == 0; - } - *(bool *)(piVar20 + 0x21f) = bVar18; - uVar4 = FUN_7f05ed28(param_1); - cVar19 = *(char *)(piVar20 + 0x21f); - goto LAB_7f065824; - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - if ((piVar20[0x223] == 0) || (piVar20[0x220] != 0)) { -LAB_7f0656ac: - uVar4 = FUN_7f05e4ec(iVar5); - if (uVar4 == 0) { - trap(0x1c00); - } - if ((uVar4 == 0xffffffffffffffff) && (piVar20[0x223] == -0x80000000)) { - trap(0x1800); - } - if (piVar20[0x223] % (int)uVar4 != 0) { - cVar19 = *(char *)(piVar20 + 0x21f); - goto LAB_7f065824; - } - uVar4 = get_num_players(); - if ((uVar4 == 1) || - ((iVar10 = FUN_7f0c6d64(), iVar10 == 0 && (_DAT_8007a120[0xa71] == 0)))) { - *(undefined *)((int)piVar20 + 0x87d) = 1; - } - ppiVar7 = (int **)FUN_7f0c086c(); - iVar10 = (int)ppiVar7 >> 0x1f; - bVar18 = ppiVar7 == NULL; - if (bVar18) { - bVar18 = _DAT_8007a120[0xa71] == 0; - } - *(bool *)(piVar20 + 0x21f) = bVar18; - } - else { - uVar4 = FUN_7f05e5d4(iVar5,4); - iVar10 = (int)(uVar4 >> 0x20); - ppiVar7 = (int **)uVar4; - if (uVar4 != 0) { - ppiVar7 = (int **)FUN_7f07cc04(); - iVar10 = (int)ppiVar7 >> 0x1f; - if ((ppiVar7 == NULL) && (piVar20[0x302] % 3 != 0)) goto LAB_7f0656ac; - } - piVar20[0x225] = 3; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - break; - case 0x1f: - if ((piVar20[0x223] == 0) || (piVar20[0x220] != 0)) { - loc_7F05C8A0((int)&DAT_80035ba8,0.00000000,(float *)(piVar20 + 0x23b),param_1); - ppiVar7 = (int **)((uint)ppiVar7 & 0xffffff00); - *(undefined *)(piVar20 + 0x21f) = 0; - piVar20[0x24b] = 1; - *(undefined *)((int)piVar20 + 0x87d) = *(undefined *)(piVar20 + 0x21f); - if (piVar20[0x223] == 0) { - ppiVar7 = (int **)FUN_7f0c086c(); - iVar10 = (int)ppiVar7 >> 0x1f; - bVar18 = ppiVar7 == NULL; - if (bVar18) { - bVar18 = _DAT_8007a120[0xa71] == 0; - } - *(bool *)(piVar20 + 0x21f) = bVar18; - } - } - else { - piVar20[0x225] = 3; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - break; - case 0x28: - case 0x3c: - if (piVar20[0x223] == 0) { - ppiVar7 = (int **)FUN_7f0c086c(); - iVar10 = (int)ppiVar7 >> 0x1f; - bVar18 = ppiVar7 == NULL; - if (bVar18) { - bVar18 = _DAT_8007a120[0xa71] == 0; - } - *(bool *)(piVar20 + 0x21f) = bVar18; - } - else { - piVar20[0x225] = 3; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - } -switchD_7f065574_caseD_3: - uVar4 = CONCAT44(iVar10,ppiVar7); - cVar19 = *(char *)(piVar20 + 0x21f); -LAB_7f065824: - if (cVar19 == '\0') { - iVar10 = piVar20[0x225]; - } - else { - if (lVar21 == 0x28) { - iVar10 = piVar20[0x227]; - } - else { - iVar10 = get_cur_playernum(); - FUN_7000c8b8(iVar10,0.10000000); - iVar10 = FUN_7f0a5960(); - uVar4 = SEXT48(iVar10); - if (iVar10 < 4) { - iVar10 = piVar20[0x227]; - } - else { - iVar10 = get_cur_playernum(); - uVar4 = get_num_players(); - uVar4 = FUN_7000c8b8((int)uVar4 + iVar10,0.10000000); - iVar10 = piVar20[0x227]; - } - } - piVar20[0x227] = iVar10 + -1; - piVar20[0x302] = piVar20[0x302] + 1; - iVar10 = piVar20[0x225]; - } - if (iVar10 == 2) { - local_1c = 0; - uVar4 = FUN_7f05e510(iVar5); - if ((longlong)uVar4 < 1) { - if (*(char *)(piVar20 + 0x21f) != '\0') { - local_1c = 1; - } - } - else { - if ((DAT_800483ac != _DAT_8007a120[param_1 * 0x3fffff16 + 0x37e]) && - (piVar20[0x293] < DAT_800483ac)) { - uVar4 = FUN_7f05e510(iVar5); - piVar20[0x293] = (int)uVar4 + DAT_800483ac; - local_1c = 1; - } - } - uVar4 = get_num_players(); - iVar10 = (int)(uVar4 >> 0x20); - ppiVar7 = (int **)uVar4; - if (uVar4 != 1) { - ppiVar7 = (int **)FUN_7f0c6d64(); - iVar10 = (int)ppiVar7 >> 0x1f; - uVar4 = SEXT48((int)ppiVar7); - if (ppiVar7 != NULL) goto LAB_7f065aec; - if (_DAT_8007a120[0xa71] != 0) { - iVar10 = piVar20[0x225]; - goto LAB_7f065af0; - } - } - if (local_1c != 0) { - if (piVar20[0x291] == 0) { - iVar10 = piVar20[0x292]; - } - else { - uVar4 = locret_70008E00(piVar20[0x291]); - if (uVar4 == 0) { - iVar10 = piVar20[0x292]; - } - else { - loc_7000905C(piVar20[0x291]); - iVar10 = piVar20[0x292]; - } - } - if ((iVar10 != 0) && (uVar4 = locret_70008E00(iVar10), uVar4 != 0)) { - loc_7000905C(piVar20[0x292]); - } - uVar4 = FUN_7f05e534(iVar5); - iVar10 = (int)(uVar4 >> 0x20); - ppiVar7 = (int **)uVar4; - if (uVar4 != 0) { - if (piVar20[0x291] == 0) { - uVar4 = FUN_7f05e534(iVar5); - ppiVar7 = FUN_70008e18((longlong)_DAT_80063760,(short)uVar4,(int **)(piVar20 + 0x291)) - ; - iVar10 = (int)ppiVar7 >> 0x1f; - } - else { - if (piVar20[0x292] == 0) { - uVar4 = FUN_7f05e534(iVar5); - ppiVar7 = FUN_70008e18((longlong)_DAT_80063760,(short)uVar4, - (int **)(piVar20 + 0x292)); - iVar10 = (int)ppiVar7 >> 0x1f; - } - } - piVar20[0x294] = DAT_800483ac; - } - } - if (lVar21 != 0x17) goto LAB_7f065aec; - local_20 = DAT_80035ed0; - uVar9 = FUN_7000a460(); - ppiVar7 = FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&local_20 + (uVar9 & 1) * 2), - NULL); - uVar4 = SEXT48((int)ppiVar7); - iVar10 = piVar20[0x225]; - } - else { - iVar10 = piVar20[0x225]; - } - } - else { - if (piVar20[0x223] < 1) { - piVar20[0x225] = 0xd; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - uVar4 = get_num_players(); - if (uVar4 != 1) { - ppiVar7 = (int **)FUN_7f0c6d64(); - iVar10 = (int)ppiVar7 >> 0x1f; - if ((ppiVar7 != NULL) || (_DAT_8007a120[0xa71] != 0)) goto LAB_7f065aec; - } - ppiVar7 = FUN_70008e18((longlong)_DAT_80063760,0x59,NULL); - iVar10 = (int)ppiVar7 >> 0x1f; - } - else { - piVar20[0x225] = 3; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } -LAB_7f065aec: - uVar4 = CONCAT44(iVar10,ppiVar7); - iVar10 = piVar20[0x225]; - } - } - else { - iVar10 = piVar20[0x225]; - } -LAB_7f065af0: - if (iVar10 == 3) { - if (lVar21 == 0x1f) { - uVar15 = loc_7F05C8A0((int)&DAT_80035ba8,(float)piVar20[0x224],(float *)(piVar20 + 0x23b), - param_1); - if ((uVar4 & 0xffffffff00000000 | - (ulonglong)((uint)uVar4 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38))) == 0) { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - else { - piVar20[0x24b] = 1; - } - } - else { - puVar8 = FUN_7f05cdd4(iVar5); - iVar10 = piVar20[0x222]; - cVar19 = puVar8[0x47]; - cVar1 = puVar8[0x44]; - iVar6 = (int)cVar1; - iVar3 = (int)(char)puVar8[0x45]; - if ((iVar10 == 0) || (piVar20[0x224] < iVar6 + iVar3)) { - iVar2 = piVar20[0x224]; - lVar14 = (longlong)(iVar6 + iVar3); - if (((char)puVar8[0x23] < '\0') || - ((iVar10 != 0 || (iVar2 < iVar6 + iVar3 + (int)(char)puVar8[0x23])))) { - if (iVar10 == 0) { - bVar18 = (longlong)iVar2 < lVar14; - } - else { - if (piVar20[0x220] == 0) { - bVar18 = (longlong)iVar2 < lVar14; - } - else { - if ((longlong)iVar2 < (longlong)(char)puVar8[0x46]) { - bVar18 = (longlong)iVar2 < lVar14; - } - else { - lVar13 = (longlong)(iVar2 + (int)cVar19); - if (((-1 < cVar19) && (lVar13 < lVar14)) && ((longlong)(char)puVar8[0x46] <= lVar13) - ) { - piVar20[0x225] = 4; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - piVar20[0x22a] = (int)cVar19; - goto LAB_7f065e4c; - } - bVar18 = (longlong)iVar2 < lVar14; - } - } - } - if (bVar18) { - local_44 = *(float *)(puVar8 + 0x48); - fVar23 = *(float *)(puVar8 + 0x4c); - if (iVar2 == 0) { - iVar2 = piVar20[0x224]; - piVar20[0x232] = piVar20[0x23a]; - piVar20[0x22f] = piVar20[0x237]; - piVar20[0x230] = piVar20[0x238]; - piVar20[0x231] = piVar20[0x239]; - } - if ((longlong)iVar2 < (longlong)cVar1) { - *(float *)(piVar20 + 0x236) = DAT_800541a0 - (fVar23 * DAT_800541a0) / 360.00000000; - local_2c = iVar6; - local_28 = puVar8; - fVar23 = FUN_7f05e208((longlong)(int)param_1); - piVar20[0x234] = 0; - *(float *)(piVar20 + 0x233) = - ((fVar23 - (float)piVar20[0x28e]) * local_44) / 1000.00000000; - *(float *)(piVar20 + 0x235) = - ((*(float *)(local_28 + 0xc) - (float)piVar20[0x290]) * local_44) / 1000.00000000 - ; - local_4c = func_7F057FC4(((float)piVar20[0x224] * DAT_800541a4) / (float)local_2c); - uVar15 = extraout_a0; - uVar16 = extraout_a1; - } - else { - *(float *)(piVar20 + 0x236) = DAT_800541a8 - (fVar23 * DAT_800541a8) / 360.00000000; - local_30 = iVar3; - local_2c = iVar6; - local_28 = puVar8; - fVar23 = FUN_7f05e208((longlong)(int)param_1); - piVar20[0x234] = 0; - *(float *)(piVar20 + 0x233) = - ((fVar23 - (float)piVar20[0x28e]) * local_44) / 1000.00000000; - *(float *)(piVar20 + 0x235) = - ((*(float *)(local_28 + 0xc) - (float)piVar20[0x290]) * local_44) / 1000.00000000 - ; - fVar23 = FUN_7f0583c0(((float)(piVar20[0x224] - local_2c) * DAT_800541ac) / - (float)local_30); - local_4c = fVar23 * 0.50000000 + 0.50000000; - uVar15 = extraout_a0_00; - uVar16 = extraout_a1_00; - } - fVar23 = FUN_7f06d6bc((float)piVar20[0x232],(float)piVar20[0x236],uVar15,uVar16,local_4c - ); - *(float *)(piVar20 + 0x23a) = fVar23; - piVar20[0x24b] = 1; - *(float *)(piVar20 + 0x237) = - ((float)piVar20[0x233] - (float)piVar20[0x22f]) * local_4c + (float)piVar20[0x22f]; - *(float *)(piVar20 + 0x238) = - ((float)piVar20[0x234] - (float)piVar20[0x230]) * local_4c + (float)piVar20[0x230]; - *(float *)(piVar20 + 0x239) = - ((float)piVar20[0x235] - (float)piVar20[0x231]) * local_4c + (float)piVar20[0x231]; - FUN_7f058a90(fVar23,extraout_a0_01,piVar20 + 0x23b); - copies_first_3_floats_from_a0_to_a1_plus_0x30(piVar20 + 0x237,(int)(piVar20 + 0x23b)); - } - goto LAB_7f065e4c; - } - piVar20[0x225] = 0; - } - else { - piVar20[0x225] = 0; - } - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - } -LAB_7f065e4c: - iVar10 = piVar20[0x225]; - iVar6 = iVar10 >> 0x1f; - if (iVar10 == 4) { - iVar10 = piVar20[0x224]; - if (iVar10 == 0) { - piVar20[0x232] = piVar20[0x23a]; - piVar20[0x22f] = piVar20[0x237]; - piVar20[0x230] = piVar20[0x238]; - piVar20[0x231] = piVar20[0x239]; - iVar10 = piVar20[0x224]; - piVar20[0x236] = 0; - piVar20[0x233] = 0; - piVar20[0x234] = 0; - piVar20[0x235] = 0; - iVar6 = piVar20[0x22a]; - } - else { - iVar6 = piVar20[0x22a]; - } - if (iVar10 < iVar6) { - fVar23 = FUN_7f0583c0(((float)(iVar6 - iVar10) * DAT_800541b0) / (float)iVar6); - local_50 = fVar23 * 0.50000000 + 0.50000000; - fVar23 = FUN_7f06d6bc((float)piVar20[0x232],(float)piVar20[0x236],extraout_a0_02, - extraout_a1_01,local_50); - *(float *)(piVar20 + 0x23a) = fVar23; - piVar20[0x24b] = 1; - *(float *)(piVar20 + 0x237) = - ((float)piVar20[0x233] - (float)piVar20[0x22f]) * local_50 + (float)piVar20[0x22f]; - *(float *)(piVar20 + 0x238) = - ((float)piVar20[0x234] - (float)piVar20[0x230]) * local_50 + (float)piVar20[0x230]; - *(float *)(piVar20 + 0x239) = - ((float)piVar20[0x235] - (float)piVar20[0x231]) * local_50 + (float)piVar20[0x231]; - FUN_7f058a90(fVar23,extraout_a0_03,piVar20 + 0x23b); - copies_first_3_floats_from_a0_to_a1_plus_0x30(piVar20 + 0x237,(int)(piVar20 + 0x23b)); - iVar10 = piVar20[0x225]; - iVar6 = iVar10 >> 0x1f; - } - else { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar6 = 0; - iVar10 = 0; - } - } - if (CONCAT44(iVar6,iVar10) == 0xd) { - if (piVar20[0x223] == 0) { - FUN_7f05ed28(param_1); - iVar10 = piVar20[0x222]; - } - else { - iVar10 = piVar20[0x222]; - } - if (iVar10 == 0) { - if (true) { - if (0x13 < piVar20[0x224]) { - piVar20[0x225] = 0; - goto LAB_7f065fe8; - } - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - else { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - else { - piVar20[0x225] = 0; -LAB_7f065fe8: - piVar20[0x224] = 0; - piVar20[0x223] = 0; - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - else { - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - lVar14 = 0x10; - if (CONCAT44(iVar10,uVar9) == 5) { - local_54 = 0x10; - uVar4 = get_num_players(); - lVar14 = (longlong)local_54; - if (1 < (longlong)uVar4) { - lVar14 = 0xc; - } - if (piVar20[0x223] == 0) { - local_54 = (int)lVar14; - uVar4 = get_num_players(); - lVar14 = (longlong)local_54; - if (uVar4 == 1) { - piVar20[0x22c] = 0x11; - } - else { - piVar20[0x22c] = 0xd; - } - iVar10 = piVar20[0x224]; - } - else { - iVar10 = piVar20[0x224]; - } - fVar23 = DAT_800541b4; - if ((longlong)iVar10 < lVar14) { - piVar20[0x24b] = 1; - local_58 = ((float)iVar10 * fVar23) / (float)(int)lVar14; - FUN_7f058a90(local_58,lVar14,piVar20 + 0x23b); - piVar20[0x247] = 0; - fVar23 = FUN_7f0583c0(local_58); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar23) * -60.00000000; - fVar23 = func_7F057FC4(local_58); - uVar9 = piVar20[0x225]; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - lVar14 = extraout_a0_05; - } - else { - iVar10 = FUN_7f069a18(iVar5); - (_DAT_8007a120 + iVar10)[0x44c] = (_DAT_8007a120 + iVar10)[0x44c] + piVar20[0x227]; - piVar20[0x227] = 0; - uVar4 = get_num_players(); - if (1 < (longlong)uVar4) { - FUN_7f09bf08(param_1); - } - FUN_7f060020(param_1); - piVar20[0x225] = 6; - uVar4 = FUN_7f08cc50(0x11); - if (uVar4 == 0) { - _DAT_8007a120[0xa8e] = 1; - } - else { - _DAT_8007a120[0xa8e] = 0x11; - } - uVar9 = piVar20[0x225]; - lVar14 = extraout_a0_04; - } - iVar10 = (int)uVar9 >> 0x1f; - } - if ((CONCAT44(iVar10,uVar9) == 6) || (CONCAT44(iVar10,uVar9) == 7)) { - if ((piVar20[0x22d] == 0) || (piVar20[0x22c] <= piVar20[0x224])) { - if (CONCAT44(iVar10,uVar9) == 6) { - iVar10 = (_DAT_8007a120 + param_1 * 0x3fffff16)[0x30f]; - if (((iVar10 != 6) && (iVar10 != 5)) && - ((iVar6 = (_DAT_8007a120 + param_1 * 0x3fffff16)[0x310], iVar6 != 5 && - ((((iVar10 != 0xe && (iVar10 != 0xf)) && (iVar10 != 0x10)) && (iVar6 != 0xe)))))) { - if (param_1 == 0) { - iVar10 = FUN_7f05def0(1); - uVar4 = FUN_7f08ccb4(piVar20[0x22b],iVar10); - if (uVar4 == 0) { - FUN_7f05de34(1,0); - } - } - else { - iVar10 = FUN_7f05def0(0); - uVar4 = FUN_7f08ccb4(iVar10,piVar20[0x22b]); - if (uVar4 == 0) { - piVar20[0x22b] = 0; - } - } - } - FUN_7f05e074(param_1,piVar20[0x22b]); - iVar10 = FUN_7f05df64(param_1); - lVar21 = (longlong)iVar10; - piVar20[0x225] = 7; - lVar14 = extraout_a0_06; - } - else { - uVar4 = FUN_7f05d3dc(param_1); - lVar14 = extraout_a0_07; - if (uVar4 != 0) { - piVar20[0x225] = 8; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - lVar14 = extraout_a0_07; - } - } - uVar9 = piVar20[0x225]; - } - else { - uVar9 = piVar20[0x225]; - } - iVar10 = (int)uVar9 >> 0x1f; - if ((uVar9 == 6) || (uVar9 == 7)) { - piVar20[0x24b] = 1; - FUN_7f058a90(DAT_800541b8,lVar14,piVar20 + 0x23b); - piVar20[0x247] = 0; - fVar23 = FUN_7f0583c0(DAT_800541bc); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar23) * -60.00000000; - fVar23 = func_7F057FC4(DAT_800541c0); - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - lVar14 = extraout_a0_08; - } - } - iVar6 = (int)lVar21; - if (CONCAT44(iVar10,uVar9) == 8) { - local_64 = 0x17; - uVar4 = get_num_players(); - if (1 < (longlong)uVar4) { - local_64 = 0xc; - } - if (piVar20[0x223] == 0) { - uVar4 = get_num_players(); - if (1 < (longlong)uVar4) { - FUN_7f09bf38(param_1); - } - FUN_7f064f3c(param_1); - _DAT_8007a120[0x3f2] = 0; - if (DAT_800483a4 < 1) { - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_10; - } - else { - if (*_DAT_8007a120 == 1) { - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_10; - } - else { - uVar4 = FUN_7f05d3dc(param_1); - lVar14 = extraout_a0_11; - if (uVar4 == 0) { -switchD_7f066404_caseD_0: - iVar10 = piVar20[0x224]; - } - else { - if (DAT_800364f4 == 0) { - if (_DAT_8007a120[0x36] == 0) { - if (lVar21 < 0x3e) { - if (false) { -switchD_7f066404_caseD_4: - FUN_70008e18((longlong)_DAT_80063760,0xe8,NULL); - lVar14 = extraout_a0_15; - goto switchD_7f066404_caseD_0; - } - lVar14 = extraout_a0_11; - switch(iVar6) { - case 0: - case 1: - case 0x17: - case 0x1a: - case 0x1e: - case 0x1f: - case 0x20: - case 0x21: - case 0x22: - case 0x28: - case 0x2f: - case 0x30: - case 0x3c: - case 0x3d: - goto switchD_7f066404_caseD_0; - case 2: - case 3: - FUN_70008e18((longlong)_DAT_80063760,0xe9,NULL); - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_13; - break; - default: - goto switchD_7f066404_caseD_4; - case 0x16: - FUN_70008e18((longlong)_DAT_80063760,0xf2,NULL); - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_12; - break; - case 0x1b: - case 0x1c: - case 0x1d: - FUN_70008e18((longlong)_DAT_80063760,0xeb,NULL); - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_14; - } - } - else { - if (lVar21 != 0x58) goto switchD_7f066404_caseD_4; - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_11; - } - } - else { - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_11; - } - } - else { - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_11; - } - } - } - } - } - else { - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_09; - } - if (iVar10 < local_64) { - iVar10 = FUN_7f05d568(iVar6); - lVar14 = lVar21; - if (((iVar10 != 0) && (uVar4 = FUN_7f05e5d4(iVar6,0x800), lVar14 = lVar21, uVar4 != 0)) && - (uVar4 = FUN_7f05e5d4(iVar6,0x2000), fVar23 = DAT_800542bc, lVar14 = extraout_a0_16, - uVar4 == 0)) { - piVar20[0x24b] = 1; - local_68 = ((float)(local_64 - piVar20[0x224]) * fVar23) / (float)local_64; - FUN_7f058a90(local_68,extraout_a0_16,piVar20 + 0x23b); - piVar20[0x247] = 0; - fVar23 = FUN_7f0583c0(local_68); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar23) * -60.00000000; - fVar23 = func_7F057FC4(local_68); - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - lVar14 = extraout_a0_17; - goto LAB_7f066554; - } - piVar20[0x225] = 0; - } - else { - piVar20[0x225] = 0; - } - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - } -LAB_7f066554: - if (CONCAT44(iVar10,uVar9) == 9) { - puVar8 = FUN_7f05cdd4(iVar6); - if (((longlong)piVar20[0x227] < (longlong)*(short *)(puVar8 + 0x20)) || - (uVar4 = FUN_7f05e5d4(iVar6,0x200000), uVar4 != 0)) { - iVar10 = FUN_7f069960(param_1); - uVar9 = 10; - if (iVar10 < 1) { - piVar20[0x225] = 0; - lVar14 = extraout_a0_19; - goto LAB_7f0665ac; - } - piVar20[0x225] = 10; - lVar14 = extraout_a0_19; - } - else { - piVar20[0x225] = 0; - lVar14 = extraout_a0_18; -LAB_7f0665ac: - piVar20[0x224] = 0; - piVar20[0x223] = 0; - uVar9 = 0; - } - iVar10 = 0; - } - if (CONCAT44(iVar10,uVar9) == 10) { - iVar10 = 0; - uVar9 = 0xb; - if (piVar20[0x224] < 0x10) { - if (*(char *)((int)piVar20 + 0x87f) != '\0') { - pfVar17 = (float *)(piVar20 + 0x23b); - local_b4 = ((float)piVar20[0x224] * DAT_800542c0) / 16.00000000; - piVar20[0x24b] = 1; - if (param_1 == 0) { - FUN_7f058ba8(0.00000000,lVar14,pfVar17); - uVar15 = extraout_a0_20; - } - else { - FUN_7f058ba8(-0.00000000,lVar14,pfVar17); - uVar15 = extraout_a0_21; - } - FUN_7f058a90(local_b4,uVar15,afStack176); - FUN_7f058588(afStack176,pfVar17); - fVar23 = func_7F057FC4(0.00000000); - piVar20[0x247] = 0; - locret_7F0649D0(lVar21); - fVar22 = FUN_7f0583c0(local_b4); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar22) * fVar23; - fVar23 = func_7F057FC4(local_b4); - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - lVar14 = extraout_a0_22; - goto LAB_7f0666e0; - } - piVar20[0x225] = 0xb; - } - else { - piVar20[0x225] = 0xb; - } - piVar20[0x22c] = 0x11; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } -LAB_7f0666e0: - if (CONCAT44(iVar10,uVar9) == 0xb) { - if (piVar20[0x223] == 0) { - if (DAT_800483a4 < 1) { - iVar10 = piVar20[0x224]; - } - else { - if (*_DAT_8007a120 == 1) { - iVar10 = piVar20[0x224]; - } - else { - uVar4 = FUN_7f05d3dc(param_1); - lVar14 = extraout_a0_23; - if (uVar4 == 0) { -switchD_7f066780_caseD_0: - iVar10 = piVar20[0x224]; - } - else { - if (DAT_800364f4 == 0) { - if (_DAT_8007a120[0x36] == 0) { - if (lVar21 < 0x3e) { - if (true) { - lVar14 = extraout_a0_23; - switch(iVar6) { - case 0: - case 1: - case 2: - case 3: - case 0x16: - case 0x17: - case 0x1a: - case 0x1b: - case 0x1c: - case 0x1d: - case 0x1e: - case 0x1f: - case 0x20: - case 0x21: - case 0x22: - case 0x28: - case 0x2f: - case 0x30: - case 0x3c: - case 0x3d: - goto switchD_7f066780_caseD_0; - } - } - } - else { - if (lVar21 == 0x58) { - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_23; - goto LAB_7f0667a0; - } - } - FUN_70008e18((longlong)_DAT_80063760,0x32,NULL); - lVar14 = extraout_a0_24; - goto switchD_7f066780_caseD_0; - } - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_23; - } - else { - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_23; - } - } - } - } - } - else { - iVar10 = piVar20[0x224]; - } -LAB_7f0667a0: - if (iVar10 < piVar20[0x22c]) { - piVar20[0x24b] = 1; - } - else { - iVar10 = 0; - uVar9 = 0xc; - if (1 < piVar20[0x223]) { - piVar20[0x225] = 0xc; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - goto LAB_7f066890; - } - piVar20[0x24b] = 1; - } - pfVar17 = (float *)(piVar20 + 0x23b); - if (param_1 == 0) { - FUN_7f058ba8(0.00000000,lVar14,pfVar17); - uVar15 = extraout_a0_25; - } - else { - FUN_7f058ba8(-0.00000000,lVar14,pfVar17); - uVar15 = extraout_a0_26; - } - FUN_7f058a90(DAT_800543bc,uVar15,afStack248); - FUN_7f058588(afStack248,pfVar17); - fVar23 = func_7F057FC4(0.00000000); - piVar20[0x247] = 0; - locret_7F0649D0(lVar21); - fVar22 = FUN_7f0583c0(DAT_800543c0); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar22) * fVar23; - fVar23 = func_7F057FC4(DAT_800543c4); - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - lVar14 = extraout_a0_27; - } -LAB_7f066890: - if (CONCAT44(iVar10,uVar9) == 0xc) { - if (piVar20[0x223] == 0) { - FUN_7f064f3c(param_1); - _DAT_8007a120[0x3f2] = 0; - iVar10 = piVar20[0x224]; - lVar14 = extraout_a0_28; - } - else { - iVar10 = piVar20[0x224]; - } - if (iVar10 < 0x17) { - iVar10 = FUN_7f05d568(iVar6); - lVar14 = lVar21; - if (((iVar10 != 0) && (uVar4 = FUN_7f05e5d4(iVar6,0x800), lVar14 = lVar21, uVar4 != 0)) && - (uVar4 = FUN_7f05e5d4(iVar6,0x2000), lVar14 = extraout_a0_29, uVar4 == 0)) { - pfVar17 = (float *)(piVar20 + 0x23b); - local_144 = ((float)(0x17 - piVar20[0x224]) * DAT_800543c8) / 23.00000000; - piVar20[0x24b] = 1; - if (param_1 == 0) { - FUN_7f058ba8(0.00000000,extraout_a0_29,pfVar17); - uVar15 = extraout_a0_30; - } - else { - FUN_7f058ba8(-0.00000000,extraout_a0_29,pfVar17); - uVar15 = extraout_a0_31; - } - FUN_7f058a90(local_144,uVar15,afStack320); - FUN_7f058588(afStack320,pfVar17); - fVar23 = func_7F057FC4(0.00000000); - piVar20[0x247] = 0; - locret_7F0649D0(lVar21); - fVar22 = FUN_7f0583c0(local_144); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar22) * fVar23; - fVar23 = func_7F057FC4(local_144); - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - lVar14 = extraout_a0_32; - goto LAB_7f0669fc; - } - piVar20[0x225] = 0; - } - else { - piVar20[0x225] = 0; - } - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - } -LAB_7f0669fc: - fVar23 = DAT_800543cc; - if (CONCAT44(iVar10,uVar9) == 0xe) { - iVar10 = 0; - uVar9 = 0xf; - if (piVar20[0x224] < 0x10) { - if (*(char *)((int)piVar20 + 0x87f) != '\0') { - piVar20[0x24b] = 1; - local_148 = ((float)piVar20[0x224] * fVar23) / 16.00000000; - FUN_7f058a90(local_148,lVar14,piVar20 + 0x23b); - piVar20[0x247] = 0; - fVar23 = FUN_7f0583c0(local_148); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar23) * -60.00000000; - fVar23 = func_7F057FC4(local_148); - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - goto LAB_7f066ab8; - } - piVar20[0x225] = 0xf; - } - else { - piVar20[0x225] = 0xf; - } - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } -LAB_7f066ab8: - if (CONCAT44(iVar10,uVar9) == 0xf) { - if ((piVar20[0x223] == 0) || (uVar4 = FUN_7f05d3dc(param_1), uVar4 == 0)) { - FUN_7f05dfac(param_1,piVar20[0x22b]); - iVar10 = FUN_7f05df64(param_1); - lVar21 = (longlong)iVar10; - } - uVar4 = FUN_7f05d3dc(param_1); - if (uVar4 == 0) { - piVar20[0x24b] = 1; - FUN_7f058a90(DAT_800543d0,extraout_a0_33,piVar20 + 0x23b); - piVar20[0x247] = 0; - fVar23 = FUN_7f0583c0(DAT_800543d4); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar23) * -60.00000000; - fVar23 = func_7F057FC4(DAT_800543d8); - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - } - else { - iVar10 = 0; - uVar9 = 0x10; - piVar20[0x225] = 0x10; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - } - iVar6 = (int)lVar21; - if (CONCAT44(iVar10,uVar9) == 0x10) { - if (piVar20[0x223] == 0) { - if (lVar21 < 0x21) { - uVar4 = get_num_players(); - if (1 < (longlong)uVar4) { - FUN_7f09bf38(param_1); - } - FUN_7f064f3c(param_1); - _DAT_8007a120[0x3f2] = 0; - iVar10 = piVar20[0x224]; - } - else { - iVar10 = piVar20[0x224]; - } - } - else { - iVar10 = piVar20[0x224]; - } - if (iVar10 < 0x17) { - iVar10 = FUN_7f05d568(iVar6); - if (((iVar10 != 0) && (uVar4 = FUN_7f05e5d4(iVar6,0x800), uVar4 != 0)) && - (uVar4 = FUN_7f05e5d4(iVar6,0x2000), fVar23 = DAT_800543dc, uVar4 == 0)) { - piVar20[0x24b] = 1; - local_150 = ((float)(0x17 - piVar20[0x224]) * fVar23) / 23.00000000; - FUN_7f058a90(local_150,extraout_a0_34,piVar20 + 0x23b); - piVar20[0x247] = 0; - fVar23 = FUN_7f0583c0(local_150); - *(float *)(piVar20 + 0x248) = (1.00000000 - fVar23) * -60.00000000; - fVar23 = func_7F057FC4(local_150); - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - *(float *)(piVar20 + 0x249) = fVar23 * 15.00000000; - goto LAB_7f066cb4; - } - piVar20[0x225] = 0; - } - else { - piVar20[0x225] = 0; - } - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - } -LAB_7f066cb4: - if (((((CONCAT44(iVar10,uVar9) == 0x11) || (CONCAT44(iVar10,uVar9) == 0x12)) || - (CONCAT44(iVar10,uVar9) == 0x13)) || - ((CONCAT44(iVar10,uVar9) == 0x14 || (CONCAT44(iVar10,uVar9) == 0x15)))) || - (CONCAT44(iVar10,uVar9) == 0x16)) { - local_154 = (float)piVar20[0x224]; - if (((CONCAT44(iVar10,uVar9) == 0x11) || (CONCAT44(iVar10,uVar9) == 0x14)) && - (0xf < piVar20[0x224])) { - local_160 = DAT_80035ed4; - local_15c = DAT_80035ed8; - uVar9 = FUN_7000a460(); - FUN_70008e18((longlong)_DAT_80063760,*(short *)((int)&local_160 + (uVar9 % 3) * 2),NULL); - iVar10 = 0; - uVar9 = 0x15; - if (piVar20[0x225] == 0x11) { - iVar10 = 0; - uVar9 = 0x12; - piVar20[0x225] = 0x12; - } - else { - piVar20[0x225] = 0x15; - } - } - if (((CONCAT44(iVar10,uVar9) != 0x13) && (CONCAT44(iVar10,uVar9) != 0x16)) && - (0x17 < piVar20[0x224])) { - *(undefined *)(piVar20 + 0x21f) = 1; - if ((CONCAT44(iVar10,uVar9) == 0x11) || (CONCAT44(iVar10,uVar9) == 0x12)) { - piVar20[0x225] = 0x13; - iVar10 = 0; - uVar9 = 0x13; - } - else { - iVar10 = 0; - uVar9 = 0x16; - piVar20[0x225] = 0x16; - } - } - if (((CONCAT44(iVar10,uVar9) == 0x11) || (CONCAT44(iVar10,uVar9) == 0x12)) || - (CONCAT44(iVar10,uVar9) == 0x13)) { - puVar8 = &DAT_80034ce4; - } - else { - puVar8 = &DAT_80034e4c; - } - uVar15 = loc_7F05C8A0((int)puVar8,local_154,(float *)(piVar20 + 0x23b),param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - } - else { - piVar20[0x24b] = 1; - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - if ((((CONCAT44(iVar10,uVar9) == 0x1e) || (CONCAT44(iVar10,uVar9) == 0x1f)) || - (CONCAT44(iVar10,uVar9) == 0x20)) || (CONCAT44(iVar10,uVar9) == 0x21)) { - iVar5 = piVar20[0x224]; - if ((CONCAT44(iVar10,uVar9) == 0x1e) || (CONCAT44(iVar10,uVar9) == 0x1f)) { - if (_DAT_8007a120[0xa8e] == 0x11) { - local_168 = &DAT_800357b8; - } - else { - local_168 = &DAT_800354e8; - } - if ((CONCAT44(iVar10,uVar9) != 0x1f) && (0x1d < iVar5)) { - *(undefined *)(piVar20 + 0x21f) = 1; - piVar20[0x225] = 0x1f; - } - } - else { - if ((CONCAT44(iVar10,uVar9) == 0x20) || (CONCAT44(iVar10,uVar9) == 0x21)) { - if (_DAT_8007a120[0xa8e] == 0x11) { - local_168 = &DAT_80035944; - } - else { - local_168 = &DAT_80035650; - } - if ((CONCAT44(iVar10,uVar9) != 0x21) && (0x1d < iVar5)) { - *(undefined *)(piVar20 + 0x21f) = 1; - piVar20[0x225] = 0x21; - } - } - } - uVar15 = loc_7F05C8A0((int)local_168,(float)iVar5,(float *)(piVar20 + 0x23b),param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - } - else { - piVar20[0x24b] = 1; - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - if (CONCAT44(iVar10,uVar9) == 0x1a) { - iVar10 = 0; - uVar9 = 0; - if (piVar20[0x227] < 1) { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - else { - uVar15 = loc_7F05C8A0((int)&DAT_80035164,(float)piVar20[0x224],(float *)(piVar20 + 0x23b), - param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - *(undefined *)((int)piVar20 + 0x87e) = 0; - *(undefined *)(piVar20 + 0x21f) = 1; - piVar20[0x227] = piVar20[0x227] + -1; - piVar20[0x225] = 0x1b; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - else { - piVar20[0x24b] = 1; - } - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - if (CONCAT44(iVar10,uVar9) == 0x1b) { - uVar15 = loc_7F05C8A0((int)&DAT_8003523c,(float)piVar20[0x224],(float *)(piVar20 + 0x23b), - param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - *(undefined *)((int)piVar20 + 0x87e) = 1; - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - } - else { - piVar20[0x24b] = 1; - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - if (CONCAT44(iVar10,uVar9) == 0x17) { - iVar10 = 0; - uVar9 = 0; - if (piVar20[0x227] < 1) { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - else { - if (piVar20[0x222] == 0) { - uVar15 = loc_7F05C8A0((int)&DAT_80034fb4,(float)piVar20[0x224],(float *)(piVar20 + 0x23b), - param_1); - uVar9 = uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38); - if (CONCAT44(iVar10,uVar9) == 0) { - uVar15 = loc_7F05C8A0((int)&DAT_8003508c,0.00000000,(float *)(piVar20 + 0x23b),param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - piVar20[0x225] = 0x18; - } - else { - piVar20[0x24b] = 1; - } - } - else { - piVar20[0x24b] = 1; - } - } - else { - piVar20[0x225] = 0x18; - } - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - if (CONCAT44(iVar10,uVar9) == 0x18) { - iVar10 = 0; - uVar9 = 0; - if (piVar20[0x227] < 1) { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - else { - uVar15 = loc_7F05C8A0((int)&DAT_80034fb4,(float)piVar20[0x224],(float *)(piVar20 + 0x23b), - param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - *(undefined *)((int)piVar20 + 0x87e) = 0; - *(undefined *)(piVar20 + 0x21f) = 1; - piVar20[0x227] = piVar20[0x227] + -1; - piVar20[0x225] = 0x19; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - else { - piVar20[0x24b] = 1; - } - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - if (CONCAT44(iVar10,uVar9) == 0x19) { - uVar15 = loc_7F05C8A0((int)&DAT_8003508c,(float)piVar20[0x224],(float *)(piVar20 + 0x23b), - param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - *(undefined *)((int)piVar20 + 0x87e) = 1; - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - } - else { - piVar20[0x24b] = 1; - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - if (CONCAT44(iVar10,uVar9) == 0x1c) { - if (piVar20[0x227] < 1) { - uVar4 = FUN_7f05e5d4(iVar6,0x10); - iVar10 = (int)(uVar4 >> 0x20); - uVar9 = (uint)uVar4; - if (uVar4 == 0) { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - goto LAB_7f067290; - } - iVar6 = piVar20[0x224]; - } - else { - iVar6 = piVar20[0x224]; - } - uVar15 = loc_7F05C8A0((int)&DAT_80035314,(float)iVar6,(float *)(piVar20 + 0x23b),param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - *(undefined *)((int)piVar20 + 0x87e) = 0; - *(undefined *)(piVar20 + 0x21f) = 1; - piVar20[0x227] = piVar20[0x227] + -1; - piVar20[0x225] = 0x1d; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - else { - piVar20[0x24b] = 1; - } - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } -LAB_7f067290: - if (CONCAT44(iVar10,uVar9) == 0x1d) { - uVar15 = loc_7F05C8A0((int)&DAT_800353ec,(float)piVar20[0x224],(float *)(piVar20 + 0x23b), - param_1); - if (CONCAT44(iVar10,uVar9 & 0xffffff00 | (uint)(byte)((ulonglong)uVar15 >> 0x38)) == 0) { - *(undefined *)((int)piVar20 + 0x87e) = 1; - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - iVar10 = 0; - uVar9 = 0; - } - else { - piVar20[0x24b] = 1; - uVar9 = piVar20[0x225]; - iVar10 = (int)uVar9 >> 0x1f; - } - } - if (CONCAT44(iVar10,uVar9) == 0x24) { - if (lVar21 == 0x2e) { - if (piVar20[0x223] == 0) { - FUN_7f06743c(); - } - iVar10 = piVar20[0x222]; - } - else { - if (lVar21 == 0x2c) { - if (piVar20[0x223] == 0) { - FUN_7f0674e0(); - } - iVar10 = piVar20[0x222]; - } - else { - if ((((lVar21 == 0x27) || (lVar21 == 0x37)) || (lVar21 == 0x26)) || - ((lVar21 == 0x32 || (lVar21 == 0x49)))) { - if ((piVar20[0x223] == 0) && (iVar10 = FUN_7f03c6fc(), iVar10 != 0)) { - *(byte *)(*(int *)(iVar10 + 4) + 2) = *(byte *)(*(int *)(iVar10 + 4) + 2) | 0x40; - } - iVar10 = piVar20[0x222]; - } - else { - iVar10 = piVar20[0x222]; - } - } - } - if (iVar10 != 0) { - piVar20[0x225] = 0; - piVar20[0x224] = 0; - piVar20[0x223] = 0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06743c(void) - -{ - longlong lVar1; - char *pcVar2; - - lVar1 = FUN_7f08d870(); - if (lVar1 == 0) { - pcVar2 = (char *)FUN_7f0c2a88(0x98d9); - FUN_7f08ac40(pcVar2); - FUN_7f05dbb0(); - } - else { - pcVar2 = (char *)FUN_7f0c2a88(0x98d8); - FUN_7f08ac40(pcVar2); - *(undefined4 *)(_DAT_8007a120 + 0x1060) = 1; - FUN_70008e18((longlong)_DAT_80063760,0xf5,NULL); - FUN_7f05de34(0,0x3d); - FUN_7f05de34(1,0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0674d0(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x1060); -} - - - -void FUN_7f0674e0(void) - -{ - int iVar1; - - FUN_7f04fe6c(10,2,0,1); - FUN_7f04fe6c(5,2,0,1); - FUN_7f08cd68(0x11); - loc_7F04F914(0x11); - FUN_7f050628(0x11); - iVar1 = FUN_7f06982c(DAT_80032c60); - FUN_7f06971c(DAT_80032c60,iVar1 + (int)DAT_80032c64); - FUN_7f08cf14(0x2c); - FUN_7f05de34(0,0x11); - FUN_7f05de34(1,0); - return; -} - - - -undefined4 FUN_7f06757c(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f067598(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f0675b4(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f0675d0(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f0675ec(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f067608(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -int FUN_7f067618(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f0c2a88((uint)*(ushort *)(param_1 * 0x38 + -0x7ffcc68c)); - return iVar1; -} - - - -int FUN_7f06764c(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f0c2a88((uint)*(ushort *)(param_1 * 0x38 + -0x7ffcc68a)); - return iVar1; -} - - - -int FUN_7f067680(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f0c2a88((uint)*(ushort *)(param_1 * 0x38 + -0x7ffcc672)); - return iVar1; -} - - - -int FUN_7f0676b4(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f0c2a88((uint)*(ushort *)(param_1 * 0x38 + -0x7ffcc674)); - return iVar1; -} - - - -undefined4 FUN_7f0676e8(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f0676f8(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f067714(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f067730(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f06774c(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06777c(void) - -{ - int iVar2; - int iVar3; - undefined *puVar4; - undefined *puVar5; - longlong lVar1; - float fVar6; - float fVar7; - - iVar2 = FUN_7f05def0(0); - iVar3 = FUN_7f05def0(1); - puVar4 = FUN_7f05cdd4(iVar2); - puVar5 = FUN_7f05cdd4(iVar3); - if ((iVar2 != 0) && (lVar1 = FUN_7f05e1a8(0), lVar1 != 0)) { - *(float *)(_DAT_8007a120 + 0xa80) = - *(float *)(_DAT_8007a120 + 0xa80) + *(float *)(puVar4 + 0x5c); - if (*(float *)(puVar4 + 0x58) < *(float *)(_DAT_8007a120 + 0xa80)) { - *(float *)(_DAT_8007a120 + 0xa80) = *(float *)(puVar4 + 0x58); - } - } - if ((iVar3 != 0) && (lVar1 = FUN_7f05e1a8(1), lVar1 != 0)) { - *(float *)(_DAT_8007a120 + 0xe28) = - *(float *)(_DAT_8007a120 + 0xe28) + *(float *)(puVar5 + 0x5c); - if (*(float *)(puVar5 + 0x58) < *(float *)(_DAT_8007a120 + 0xe28)) { - *(float *)(_DAT_8007a120 + 0xe28) = *(float *)(puVar5 + 0x58); - } - } - fVar7 = (*(float *)(puVar4 + 0x5c) * DAT_800483b4) / (*(float *)(puVar4 + 0x60) * 60.00000000); - fVar6 = ((*(float *)(_DAT_8007a120 + 0xa80) - *(float *)(puVar4 + 0x54)) * DAT_800483b4) / - (*(float *)(puVar4 + 100) * 60.00000000); - if (fVar6 <= fVar7) { - fVar6 = fVar7; - } - *(float *)(_DAT_8007a120 + 0xa80) = *(float *)(_DAT_8007a120 + 0xa80) - fVar6; - if (*(float *)(_DAT_8007a120 + 0xa80) < *(float *)(puVar4 + 0x54)) { - *(float *)(_DAT_8007a120 + 0xa80) = *(float *)(puVar4 + 0x54); - } - fVar7 = (*(float *)(puVar5 + 0x5c) * DAT_800483b4) / (*(float *)(puVar5 + 0x60) * 60.00000000); - fVar6 = ((*(float *)(_DAT_8007a120 + 0xe28) - *(float *)(puVar5 + 0x54)) * DAT_800483b4) / - (*(float *)(puVar5 + 100) * 60.00000000); - if (fVar6 <= fVar7) { - fVar6 = fVar7; - } - *(float *)(_DAT_8007a120 + 0xe28) = *(float *)(_DAT_8007a120 + 0xe28) - fVar6; - if (*(float *)(_DAT_8007a120 + 0xe28) < *(float *)(puVar5 + 0x54)) { - *(float *)(_DAT_8007a120 + 0xe28) = *(float *)(puVar5 + 0x54); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f06798c(int param_1) - -{ - bool bVar1; - int iVar2; - - iVar2 = FUN_7f05def0(param_1); - iVar2 = FUN_7f069a18(iVar2); - bVar1 = iVar2 == 0; - if (!bVar1) { - bVar1 = 0 < *(int *)(_DAT_8007a120 + param_1 * 0x3a8 + 0x89c); - } - return (ulonglong)bVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0679f8(undefined4 param_1) - -{ - uint uVar1; - int iVar3; - int iVar4; - ulonglong uVar2; - int **ppiVar5; - byte abStack24 [4]; - uint uStack20; - int iStack16; - int iStack12; - int aiStack8 [2]; - - aiStack8[0] = DAT_80035edc; - aiStack8[1] = DAT_80035ee0; - *(undefined4 *)(_DAT_8007a120 + 0xfd0) = *(undefined4 *)(_DAT_8007a120 + 0xfcc); - *(undefined4 *)(_DAT_8007a120 + 0xfcc) = param_1; - iVar3 = *(int *)(_DAT_8007a120 + 0xfcc); - if ((iVar3 == 0) && (*(int *)(_DAT_8007a120 + 0xfd0) != 0)) { - *(undefined4 *)(_DAT_8007a120 + 0xfc8) = 1; - iVar3 = *(int *)(_DAT_8007a120 + 0xfcc); - } - if (iVar3 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0xfd4) = 0; - } - else { - iStack12 = FUN_7f05def0(0); - iStack16 = FUN_7f05def0(1); - *(int *)(_DAT_8007a120 + 0xfd4) = *(int *)(_DAT_8007a120 + 0xfd4) + DAT_800483a4; - if ((iStack12 == 0) || (iStack16 == 0)) { - iVar3 = FUN_7f05def0(*(int *)(_DAT_8007a120 + 0xfd8)); - if ((iVar3 == 0) && (iVar3 = FUN_7f05def0(1 - *(int *)(_DAT_8007a120 + 0xfd8)), iVar3 != 0)) { - *(int *)(_DAT_8007a120 + 0xfd8) = 1 - *(int *)(_DAT_8007a120 + 0xfd8); - } - iVar3 = _DAT_8007a120; - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8)] = 1; - aiStack8[*(int *)(iVar3 + 0xfd8) * 0x3fffffff + 1] = 0; - } - else { - uVar2 = FUN_7f05e5d4(iStack12,0x80); - if ((uVar2 == 0) || (uVar2 = FUN_7f05e5d4(iStack16,0x80), iVar3 = _DAT_8007a120, uVar2 == 0)) - { - uVar2 = FUN_7f05e5d4(iStack12,0x80); - if ((uVar2 == 0) && (uVar2 = FUN_7f05e5d4(iStack16,0x80), iVar3 = _DAT_8007a120, uVar2 == 0) - ) { - if (*(int *)(_DAT_8007a120 + 0xfd4) < 0x1f) { - if ((*(int *)(_DAT_8007a120 + 0xfd0) == 0) && - ((uVar2 = FUN_7f06798c(1 - *(int *)(_DAT_8007a120 + 0xfd8)), uVar2 != 0 || - (uVar2 = FUN_7f06798c(*(int *)(_DAT_8007a120 + 0xfd8)), uVar2 == 0)))) { - *(int *)(_DAT_8007a120 + 0xfd8) = 1 - *(int *)(_DAT_8007a120 + 0xfd8); - } - iVar3 = _DAT_8007a120; - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8)] = 1; - aiStack8[*(int *)(iVar3 + 0xfd8) * 0x3fffffff + 1] = 0; - } - else { - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8)] = 1; - uVar2 = FUN_7f06798c(1 - *(int *)(iVar3 + 0xfd8)); - if ((uVar2 != 0) || - (*(int *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0xfd8) * -0x3a8 + 0xc28) != 0)) { - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8) * 0x3fffffff + 1] = 1; - } - } - } - else { - iVar3 = _DAT_8007a120; - if (*(int *)(_DAT_8007a120 + 0xfd4) < 0x1f) { - uVar2 = FUN_7f05e5d4(iStack12,0x80); - uStack20 = (uint)(uVar2 == 0); - uVar2 = FUN_7f06798c((uint)(uVar2 == 0)); - uVar1 = uStack20; - if ((uVar2 == 0) && - (iVar3 = 1 - uStack20, *(int *)(_DAT_8007a120 + uStack20 * 0x3a8 + 0x880) == 0)) { - uVar2 = FUN_7f06798c(iVar3); - if ((uVar2 == 0) && (*(int *)(_DAT_8007a120 + uVar1 * -0x3a8 + 0xc28) == 0)) { - *(int *)(_DAT_8007a120 + 0xfd8) = 1 - *(int *)(_DAT_8007a120 + 0xfd8); - } - else { - *(int *)(_DAT_8007a120 + 0xfd8) = iVar3; - } - } - else { - *(uint *)(_DAT_8007a120 + 0xfd8) = uStack20; - } - iVar3 = _DAT_8007a120; - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8)] = 1; - aiStack8[*(int *)(iVar3 + 0xfd8) * 0x3fffffff + 1] = 0; - } - else { - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8)] = 1; - uVar2 = FUN_7f06798c(1 - *(int *)(iVar3 + 0xfd8)); - if ((uVar2 != 0) || - (*(int *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0xfd8) * -0x3a8 + 0xc28) != 0)) { - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8) * 0x3fffffff + 1] = 1; - } - } - } - } - else { - if (*(int *)(_DAT_8007a120 + 0xfd4) < 0x15) { - if ((*(int *)(_DAT_8007a120 + 0xfd0) == 0) && - ((uVar2 = FUN_7f06798c(1 - *(int *)(_DAT_8007a120 + 0xfd8)), uVar2 != 0 || - (uVar2 = FUN_7f06798c(*(int *)(_DAT_8007a120 + 0xfd8)), uVar2 == 0)))) { - *(int *)(_DAT_8007a120 + 0xfd8) = 1 - *(int *)(_DAT_8007a120 + 0xfd8); - } - iVar3 = _DAT_8007a120; - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8)] = 1; - aiStack8[*(int *)(iVar3 + 0xfd8) * 0x3fffffff + 1] = 0; - } - else { - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8)] = 1; - uVar2 = FUN_7f06798c(1 - *(int *)(iVar3 + 0xfd8)); - if ((uVar2 != 0) || - (*(int *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0xfd8) * -0x3a8 + 0xc28) != 0)) { - aiStack8[*(int *)(_DAT_8007a120 + 0xfd8) * 0x3fffffff + 1] = 1; - } - } - } - } - } - FUN_7f06508c(0,aiStack8[0]); - FUN_7f06508c(1,aiStack8[1]); - FUN_7f05d5a8(0); - FUN_7f05d5a8(1); - FUN_7f06777c(); - if (*(int *)(_DAT_8007a120 + 0xfe0) == 0) { - iVar3 = FUN_7f089e6c(); - loc_7F04028C(iVar3,abStack24); - sub_7F040310((byte *)(_DAT_8007a120 + 0xfdc),abStack24); - } - else { - iVar3 = FUN_7f089e6c(); - loc_7F04028C(iVar3,(byte *)(_DAT_8007a120 + 0xfdc)); - *(undefined4 *)(_DAT_8007a120 + 0xfe0) = 0; - } - iVar3 = FUN_7f05def0(0); - iVar4 = FUN_7f05def0(1); - FUN_7f08e4d4(iVar3,iVar4); - iVar3 = _DAT_8007a120; - uVar2 = SEXT48(*(int *)(_DAT_8007a120 + 0x1270)); - if (-1 < (longlong)uVar2) { - *(int *)(_DAT_8007a120 + 0x1270) = *(int *)(_DAT_8007a120 + 0x1270) + DAT_800483a4; - if (*(int *)(_DAT_8007a120 + 0x1270) < 300) { - if ((*(int *)(iVar3 + 0xa44) == 0) || - (uVar2 = locret_70008E00(*(int *)(iVar3 + 0xa44)), uVar2 == 0)) { - iVar4 = FUN_7f0c086c(); - uVar2 = SEXT48(iVar4); - if (uVar2 == 0) { - ppiVar5 = FUN_70008e18((longlong)_DAT_80063760,0xf6,(int **)(iVar3 + 0xa44)); - uVar2 = SEXT48((int)ppiVar5); - } - } - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x1270) = 0xffffffff; - if ((*(int *)(iVar3 + 0xa44) != 0) && - (uVar2 = locret_70008E00(*(int *)(iVar3 + 0xa44)), uVar2 != 0)) { - uVar2 = loc_7000905C(*(int *)(iVar3 + 0xa44)); - } - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06807c(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0xfe4) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06808c(float *pfParm1) - -{ - float in_f0; - - FUN_7f05e1d8(0); - *(float *)(_DAT_8007a120 + 0xa38) = in_f0 + *pfParm1; - *(float *)(_DAT_8007a120 + 0xa3c) = pfParm1[1]; - *(float *)(_DAT_8007a120 + 0xa40) = pfParm1[2]; - FUN_7f05e1d8(1); - *(float *)(_DAT_8007a120 + 0xde0) = in_f0 + *pfParm1; - *(float *)(_DAT_8007a120 + 0xde4) = pfParm1[1]; - *(float *)(_DAT_8007a120 + 0xde8) = pfParm1[2]; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f068124(undefined4 *param_1) - -{ - undefined4 uVar1; - - uVar1 = *param_1; - *(undefined4 *)(_DAT_8007a120 + 0xc0c) = uVar1; - *(undefined4 *)(_DAT_8007a120 + 0xfb4) = uVar1; - uVar1 = param_1[1]; - *(undefined4 *)(_DAT_8007a120 + 0xc10) = uVar1; - *(undefined4 *)(_DAT_8007a120 + 0xfb8) = uVar1; - uVar1 = param_1[2]; - *(undefined4 *)(_DAT_8007a120 + 0xc14) = uVar1; - *(undefined4 *)(_DAT_8007a120 + 0xfbc) = uVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06816c(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - float fParm6) - -{ - int iVar1; - float in_f0; - float fVar2; - float fVar3; - float fVar4; - float afStack24 [3]; - float fStack12; - float fStack8; - int iStack4; - - FUN_7f078a94(); - fStack8 = in_f0; - FUN_7f078aa4(); - if (fParm5 != *(float *)(_DAT_8007a120 + 0xff8)) { - *(float *)(_DAT_8007a120 + 0xff0) = - (*(float *)(_DAT_8007a120 + 0xff0) * (1.00000000 - *(float *)(_DAT_8007a120 + 0xff8))) / - (1.00000000 - fParm5); - *(float *)(_DAT_8007a120 + 0xff4) = - (*(float *)(_DAT_8007a120 + 0xff4) * (1.00000000 - *(float *)(_DAT_8007a120 + 0xff8))) / - (1.00000000 - fParm5); - *(float *)(_DAT_8007a120 + 0xff8) = fParm5; - } - if (fParm6 != *(float *)(_DAT_8007a120 + 0x100c)) { - *(float *)(_DAT_8007a120 + 0x1004) = - (*(float *)(_DAT_8007a120 + 0x1004) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x100c))) / - (1.00000000 - fParm6); - *(float *)(_DAT_8007a120 + 0x1008) = - (*(float *)(_DAT_8007a120 + 0x1008) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x100c))) / - (1.00000000 - fParm6); - *(float *)(_DAT_8007a120 + 0x100c) = fParm6; - } - fVar3 = 1.00000000 - fParm6; - iVar1 = 0; - if (0 < DAT_800483a4) { - do { - iVar1 += 1; - *(float *)(_DAT_8007a120 + 0xff0) = *(float *)(_DAT_8007a120 + 0xff0) * fParm5 + fParm1; - *(float *)(_DAT_8007a120 + 0xff4) = *(float *)(_DAT_8007a120 + 0xff4) * fParm5 + fParm2; - } while (iVar1 < DAT_800483a4); - } - fVar4 = fStack8 * 0.50000000; - *(float *)(_DAT_8007a120 + 0xfe8) = - *(float *)(_DAT_8007a120 + 0xff0) * (1.00000000 - fParm5) * fStack8 * 0.50000000 + fVar4; - *(float *)(_DAT_8007a120 + 0xfec) = - *(float *)(_DAT_8007a120 + 0xff4) * (1.00000000 - fParm5) * in_f0 * 0.50000000 + - in_f0 * 0.50000000; - if (*(float *)(_DAT_8007a120 + 0xfe8) < 3.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0xfe8) = 0x40400000; - } - else { - if (*(float *)(_DAT_8007a120 + 0xfe8) <= fStack8 - 4.00000000) { - fVar2 = *(float *)(_DAT_8007a120 + 0xfec); - goto LAB_7f068390; - } - *(float *)(_DAT_8007a120 + 0xfe8) = fStack8 - 4.00000000; - } - fVar2 = *(float *)(_DAT_8007a120 + 0xfec); -LAB_7f068390: - if (fVar2 < 3.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0xfec) = 0x40400000; - } - else { - if (in_f0 - 4.00000000 < fVar2) { - *(float *)(_DAT_8007a120 + 0xfec) = in_f0 - 4.00000000; - } - } - iStack4 = 0; - fStack12 = in_f0; - FUN_7f078ab4(); - *(float *)(_DAT_8007a120 + 0xfe8) = *(float *)(_DAT_8007a120 + 0xfe8) + in_f0; - FUN_7f078ac4(); - *(float *)(_DAT_8007a120 + 0xfec) = *(float *)(_DAT_8007a120 + 0xfec) + in_f0; - iVar1 = iStack4; - if (0 < DAT_800483a4) { - do { - iVar1 += 1; - *(float *)(_DAT_8007a120 + 0x1004) = *(float *)(_DAT_8007a120 + 0x1004) * fParm6 + fParm1; - *(float *)(_DAT_8007a120 + 0x1008) = *(float *)(_DAT_8007a120 + 0x1008) * fParm6 + fParm2; - } while (iVar1 < DAT_800483a4); - } - *(float *)(_DAT_8007a120 + 0xffc) = - *(float *)(_DAT_8007a120 + 0x1004) * fVar3 * fStack8 * 0.50000000 + fVar4; - *(float *)(_DAT_8007a120 + 0x1000) = - *(float *)(_DAT_8007a120 + 0x1008) * fVar3 * fStack12 * 0.50000000 + fStack12 * 0.50000000; - FUN_7f078ab4(); - *(float *)(_DAT_8007a120 + 0xffc) = *(float *)(_DAT_8007a120 + 0xffc) + fVar3; - FUN_7f078ac4(); - *(float *)(_DAT_8007a120 + 0x1000) = *(float *)(_DAT_8007a120 + 0x1000) + fVar3; - FUN_7f0784dc((float *)(_DAT_8007a120 + 0xffc),afStack24,1000.00000000); - FUN_7f06808c(afStack24); - return; -} - - - -void FUN_7f068530(undefined4 param_1,undefined4 param_2) - -{ - int iVar1; - - iVar1 = FUN_7f05def0(0); - FUN_7f05cdd4(iVar1); - FUN_7f06816c(param_1,param_2); - return; -} - - - -void FUN_7f068594(undefined4 param_1,undefined4 param_2) - -{ - int iVar1; - - iVar1 = FUN_7f05def0(0); - FUN_7f05cdd4(iVar1); - FUN_7f06816c(param_1,param_2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0685e0(undefined4 *param_1,undefined4 *param_2) - -{ - *param_1 = *(undefined4 *)(_DAT_8007a120 + 0xfe8); - *param_2 = *(undefined4 *)(_DAT_8007a120 + 0xfec); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f068604(void) - -{ - float in_f0; - float fVar1; - float fVar2; - float afStack12 [3]; - - FUN_7f078ab4(); - fVar2 = in_f0; - FUN_7f078a94(); - in_f0 = fVar2 * 0.50000000 + in_f0; - *(float *)(_DAT_8007a120 + 0xfe8) = in_f0; - *(float *)(_DAT_8007a120 + 0xffc) = in_f0; - FUN_7f078ac4(); - fVar1 = fVar2; - FUN_7f078aa4(); - fVar2 = fVar1 * 0.50000000 + fVar2; - *(float *)(_DAT_8007a120 + 0xfec) = fVar2; - *(float *)(_DAT_8007a120 + 0x1000) = fVar2; - FUN_7f0784dc((float *)(_DAT_8007a120 + 0xffc),afStack12,1000.00000000); - FUN_7f06808c(afStack12); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0686ac(float *param_1) - -{ - float fStack12; - float fStack8; - float fStack4; - - *(float *)(_DAT_8007a120 + 0x1010) = *param_1; - *(float *)(_DAT_8007a120 + 0x1014) = param_1[1]; - *(float *)(_DAT_8007a120 + 0x1018) = param_1[2]; - FUN_7f058c34(param_1,(float *)(_DAT_8007a120 + 0x101c)); - fStack12 = *(float *)(_DAT_8007a120 + 0x103c) * 1000.00000000; - fStack8 = *(float *)(_DAT_8007a120 + 0x1040) * 1000.00000000; - fStack4 = *(float *)(_DAT_8007a120 + 0x1044) * 1000.00000000; - FUN_7f0785e4(&fStack12,(float *)(_DAT_8007a120 + 0xfe8)); - *(undefined4 *)(_DAT_8007a120 + 0xffc) = *(undefined4 *)(_DAT_8007a120 + 0xfe8); - *(undefined4 *)(_DAT_8007a120 + 0x1000) = *(undefined4 *)(_DAT_8007a120 + 0xfec); - FUN_7f06808c(&fStack12); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f068768(undefined4 *param_1,float *param_2) - -{ - *param_1 = 0; - param_1[1] = 0; - param_1[2] = 0; - FUN_7f0784dc((float *)(_DAT_8007a120 + 0xfe8),param_2,1.00000000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0687a4(undefined4 *puParm1,float *pfParm2,int iParm3) - -{ - int iVar2; - undefined *puVar3; - ulonglong uVar1; - int iVar4; - float in_f0; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fStack16; - float fStack8; - float fStack4; - - iVar2 = FUN_7f05def0(iParm3); - puVar3 = FUN_7f05cdd4(iVar2); - fStack16 = *(float *)(puVar3 + 0x30); - iVar2 = FUN_7f05df64(iParm3); - uVar1 = FUN_7f05e5d4(iVar2,0x1000); - if ((uVar1 != 0) && (*(int *)(_DAT_8007a120 + iParm3 * 0x3a8 + 0xc08) == 1)) { - fStack16 = fStack16 * 0.25000000; - } - FUN_700045dc(); - in_f0 = (fStack16 * 120.00000000) / in_f0; - iVar2 = FUN_7000a460(); - iVar4 = FUN_7000a460(); - fVar5 = 0.00000000; - fVar7 = (float)iVar2; - if (iVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = (float)iVar4; - if (iVar4 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - FUN_7f078a94(); - fVar6 = fVar5; - FUN_7f078ae4(); - fStack8 = (fVar8 * 0.00000000 * (fVar7 * 0.00000000 - 0.50000000) * in_f0 * fVar5 * DAT_800543e0) - / (fVar6 * 320.00000000) + *(float *)(_DAT_8007a120 + 0xfe8); - iVar2 = FUN_7000a460(); - iVar4 = FUN_7000a460(); - fVar5 = 0.00000000; - fVar7 = (float)iVar2; - if (iVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = (float)iVar4; - if (iVar4 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - FUN_7f078aa4(); - fStack4 = (fVar5 * fVar8 * 0.00000000 * (fVar7 * 0.00000000 - 0.50000000) * in_f0) / 240.00000000 - + *(float *)(_DAT_8007a120 + 0xfec); - *puParm1 = 0; - puParm1[1] = 0; - puParm1[2] = 0; - FUN_7f0784dc(&fStack8,pfParm2,1.00000000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f0689f8(undefined4 param_1,undefined4 *param_2) - -{ - uint uVar1; - undefined4 uVar2; - - uVar1 = 0x80075e08; - if (_DAT_80075ea4 != 0) { - uVar1 = 0x80075ea8; - while ((uVar1 < 0x80076a88 && (*(int *)(uVar1 + 0x9c) != 0))) { - uVar1 += 0xa0; - } - } - if (uVar1 < 0x80076a88) { - *(undefined4 *)(uVar1 + 0x9c) = param_1; - *(undefined4 *)(uVar1 + 4) = param_2[0xc]; - *(undefined4 *)(uVar1 + 8) = param_2[0xd]; - *(undefined4 *)(uVar1 + 0xc) = param_2[0xe]; - *(undefined4 *)(uVar1 + 0x1c) = *param_2; - *(undefined4 *)(uVar1 + 0x20) = param_2[1]; - uVar2 = param_2[2]; - *(undefined4 *)(uVar1 + 0x28) = 0; - *(undefined4 *)(uVar1 + 0x24) = uVar2; - *(undefined4 *)(uVar1 + 0x2c) = param_2[4]; - *(undefined4 *)(uVar1 + 0x30) = param_2[5]; - uVar2 = param_2[6]; - *(undefined4 *)(uVar1 + 0x38) = 0; - *(undefined4 *)(uVar1 + 0x34) = uVar2; - *(undefined4 *)(uVar1 + 0x3c) = param_2[8]; - *(undefined4 *)(uVar1 + 0x40) = param_2[9]; - uVar2 = param_2[10]; - *(undefined4 *)(uVar1 + 0x48) = 0; - *(undefined4 *)(uVar1 + 0x4c) = 0; - *(undefined4 *)(uVar1 + 0x50) = 0; - *(undefined4 *)(uVar1 + 0x54) = 0; - *(undefined4 *)(uVar1 + 0x58) = 0x3f800000; - *(undefined4 *)(uVar1 + 0x44) = uVar2; - return uVar1; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f068ae0(int param_1,undefined4 param_2) - -{ - float *pfVar1; - undefined *puVar3; - ulonglong uVar2; - undefined4 *puVar4; - int iVar5; - uint uVar6; - uint uVar7; - float fVar8; - float fVar9; - float fVar10; - float fStack108; - float fStack104; - float fStack100; - float fStack92; - float fStack88; - float fStack84; - int iStack80; - int iStack72; - float afStack68 [17]; - - iStack72 = FUN_7f05def0(param_1); - puVar3 = FUN_7f05cdd4(iStack72); - iStack80 = *(int *)(puVar3 + 0x28); - if ((iStack80 != 0) && (uVar2 = get_num_players(), (longlong)uVar2 < 2)) { - iVar5 = **(int **)(_DAT_8007a120 + param_1 * 0x20 + 0x818); - if (iVar5 == 0) { - loc_7F058030((undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0xad8),afStack68); - } - else { - pfVar1 = *(float **)(iVar5 + 4); - fStack92 = *pfVar1 * DAT_800543e4; - fStack88 = pfVar1[1] * DAT_800543e4; - fStack84 = pfVar1[2] * DAT_800543e4; - FUN_7f058e84(&fStack92,afStack68); - FUN_7f058588((float *)(_DAT_8007a120 + param_1 * 0x3a8 + 0xad8),afStack68); - } - param_1 *= 0x3a8; - puVar4 = (undefined4 *)FUN_7f0689f8(iStack80,afStack68); - if (puVar4 != NULL) { - fStack108 = DAT_80035ee4; - fStack100 = (float)DAT_80035eec; - fStack104 = (float)DAT_80035ee8; - *puVar4 = param_2; - if ((((iStack72 == 4) || (iStack72 == 5)) || (iStack72 == 6)) || - ((iStack72 == 0x14 || (iStack72 == 0x15)))) { - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(float *)(puVar4 + 4) = -(fVar9 * 0.00000000 * DAT_800543e8 * 0.06250000 + DAT_800543e8); - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - puVar4[6] = 0; - *(float *)(puVar4 + 5) = fVar9 * 0.00000000 * 2.50000000 * 0.06250000 + 2.50000000; - FUN_7f0588f8((float *)(_DAT_8007a120 + param_1 + 0xad8),(float *)(puVar4 + 4)); - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack108 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_800543ec * 0.06250000 - - DAT_800543f0; - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack104 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_800543f4 * 0.06250000 - - DAT_800543f8; - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack100 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_800543fc * 0.06250000 - - DAT_80054400; - FUN_7f058c34(&fStack108,(float *)(puVar4 + 0x17)); - uVar6 = FUN_7000a460(); - uVar7 = ((int)((uVar6 >> 0x18) * 0x158679) >> 10) + 0x158679; - uVar6 = FUN_7000a460(); - fVar9 = (float)puVar4[5]; - if (uVar7 == 0) { - trap(0x1c00); - } - fVar10 = (float)(uVar6 % uVar7); - if (false) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = fVar10 / DAT_80054404; - fVar8 = fVar9 - fVar10 * DAT_80054408; - *(float *)(puVar4 + 5) = fVar8; - *(float *)(puVar4 + 2) = (float)puVar4[2] + fVar10 * (fVar9 + fVar8) * 0.50000000; - *(float *)(puVar4 + 1) = (float)puVar4[1] + fVar10 * (float)puVar4[4]; - *(float *)(puVar4 + 3) = (float)puVar4[3] + fVar10 * (float)puVar4[6]; - if (0 < DAT_800483a4) { - *(float *)(puVar4 + 4) = - (float)puVar4[4] + - (*(float *)(_DAT_8007a120 + param_1 + 0xb08) - - *(float *)(_DAT_8007a120 + param_1 + 0xb48)) / DAT_800483b4; - *(float *)(puVar4 + 5) = - (float)puVar4[5] + - (*(float *)(_DAT_8007a120 + param_1 + 0xb0c) - - *(float *)(_DAT_8007a120 + param_1 + 0xb4c)) / DAT_800483b4; - *(float *)(puVar4 + 6) = - (float)puVar4[6] + - (*(float *)(_DAT_8007a120 + param_1 + 0xb10) - - *(float *)(_DAT_8007a120 + param_1 + 0xb50)) / DAT_800483b4; - } - } - else { - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - *(float *)(puVar4 + 4) = -(fVar9 * 0.00000000 * DAT_8005440c * 0.12500000 + DAT_8005440c); - iVar5 = FUN_7000a460(); - fVar9 = DAT_80054410; - fVar10 = (float)iVar5; - if (iVar5 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = fVar10 * 0.00000000 * DAT_80054410; - puVar4[6] = 0; - *(float *)(puVar4 + 5) = fVar10 * 0.12500000 + fVar9; - FUN_7f0588f8((float *)(_DAT_8007a120 + param_1 + 0xad8),(float *)(puVar4 + 4)); - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack108 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_80054414 * 0.06250000 - - DAT_80054418; - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack104 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_8005441c * 0.06250000 - - DAT_80054420; - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fStack100 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) * DAT_80054424 * 0.06250000 - - DAT_80054428; - FUN_7f058c34(&fStack108,(float *)(puVar4 + 0x17)); - uVar6 = FUN_7000a460(); - uVar7 = ((int)((uVar6 >> 0x18) * 0x158679) >> 10) + 0x158679; - uVar6 = FUN_7000a460(); - fVar9 = (float)puVar4[5]; - if (uVar7 == 0) { - trap(0x1c00); - } - fVar10 = (float)(uVar6 % uVar7); - if (false) { - fVar10 = fVar10 + 4294967296.00000000; - } - fVar10 = fVar10 / DAT_8005442c; - fVar8 = fVar9 - fVar10 * DAT_80054430; - *(float *)(puVar4 + 5) = fVar8; - *(float *)(puVar4 + 2) = (float)puVar4[2] + fVar10 * (fVar9 + fVar8) * 0.50000000; - *(float *)(puVar4 + 1) = (float)puVar4[1] + fVar10 * (float)puVar4[4]; - *(float *)(puVar4 + 3) = (float)puVar4[3] + fVar10 * (float)puVar4[6]; - if (0 < DAT_800483a4) { - *(float *)(puVar4 + 4) = - (float)puVar4[4] + - (*(float *)(_DAT_8007a120 + param_1 + 0xb08) - - *(float *)(_DAT_8007a120 + param_1 + 0xb48)) / DAT_800483b4; - *(float *)(puVar4 + 5) = - (float)puVar4[5] + - (*(float *)(_DAT_8007a120 + param_1 + 0xb0c) - - *(float *)(_DAT_8007a120 + param_1 + 0xb4c)) / DAT_800483b4; - *(float *)(puVar4 + 6) = - (float)puVar4[6] + - (*(float *)(_DAT_8007a120 + param_1 + 0xb10) - - *(float *)(_DAT_8007a120 + param_1 + 0xb50)) / DAT_800483b4; - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0692f8(float *param_1) - -{ - float fVar1; - int iVar2; - float fVar3; - - fVar1 = DAT_800483b4; - fVar3 = param_1[5] - DAT_800483b4 * DAT_80054434; - param_1[2] = param_1[2] + DAT_800483b4 * 0.50000000 * (param_1[5] + fVar3); - if (param_1[2] < *param_1) { - if ((((_DAT_80075df0 == 0) && (0 < DAT_800483a4)) && (*(int *)(_DAT_8007a120 + 0x894) != 2)) && - (*(int *)(_DAT_8007a120 + 0xc3c) != 2)) { - FUN_70008e18((longlong)_DAT_80063760,0x7a,(int **)&DAT_80075df0); - } - param_1[0x27] = 0.00000000; - } - else { - param_1[5] = fVar3; - iVar2 = 0; - param_1[1] = param_1[1] + fVar1 * param_1[4]; - param_1[3] = param_1[3] + fVar1 * param_1[6]; - if (0 < DAT_800483a4) { - do { - FUN_7f0585b8(param_1 + 0x17,param_1 + 7); - iVar2 += 1; - } while (iVar2 < DAT_800483a4); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f069458(void) - -{ - float fVar1; - float *pfVar2; - - fVar1 = _DAT_80075ea4; - pfVar2 = (float *)0x80075e08; - while( true ) { - if (fVar1 != 0.00000000) { - FUN_7f0692f8(pfVar2); - } - if ((float *)0x80076a87 < pfVar2 + 0x28) break; - fVar1 = pfVar2[0x4f]; - pfVar2 = pfVar2 + 0x28; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F069078(int param_1,undefined4 *param_2) - -{ - bool bVar1; - float *pfVar2; - int iVar3; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - float afStack172 [16]; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack96; - undefined4 *puStack92; - undefined4 uStack60; - uint uStack56; - undefined auStack44 [12]; - undefined4 *puStack32; - undefined4 *puStack12; - ushort **ppuStack8; - undefined4 uStack4; - - uStack4 = *param_2; - ppuStack8 = *(ushort ***)(param_1 + 0x9c); - puStack12 = (undefined4 *)FUN_7f0be2c4((int)*(short *)((int)ppuStack8 + 0xe) << 6); - puVar6 = &DAT_80035ef0; - puVar4 = &uStack108; - do { - puVar7 = puVar6 + 3; - puVar5 = puVar4 + 3; - *puVar4 = *puVar6; - puVar4[1] = puVar6[1]; - puVar4[2] = puVar6[2]; - puVar6 = puVar7; - puVar4 = puVar5; - } while (puVar7 != (undefined4 *)0x80035f2c); - bVar1 = true; - *puVar5 = uRam80035f2c; - FUN_7f0762e4(ppuStack8); - sub_7F075F68((int)auStack44,ppuStack8,0); - puStack32 = puStack12; - loc_7F058030((undefined4 *)(param_1 + 0x1c),afStack172); - matrix_multiply_A1_by_F12(DAT_80054438,extraout_a0,afStack172); - copies_first_3_floats_from_a0_to_a1_plus_0x30((undefined4 *)(param_1 + 4),(int)afStack172); - pfVar2 = (float *)FUN_7f0789b4(); - loc_7F05823C(pfVar2,afStack172,(int)puStack32); - iVar3 = 0; - puVar6 = puStack32; - do { - iVar3 += 4; - if (DAT_80054440 < (float)puVar6[0xc]) { - bVar1 = false; - } - else { - if ((float)puVar6[0xc] < DAT_8005443c) { - bVar1 = false; - } - } - puVar6 = puVar6 + 1; - } while (iVar3 != 0xc); - if (bVar1) { - uStack104 = 0; - uStack60 = 4; - uStack96 = uStack4; - puStack92 = puStack12; - uStack56 = (uint)*(byte *)(_DAT_8007a120 + 0xfdf) | - (uint)*(byte *)(_DAT_8007a120 + 0xfdc) << 0x18 | - (uint)*(byte *)(_DAT_8007a120 + 0xfdd) << 0x10 | - (uint)*(byte *)(_DAT_8007a120 + 0xfde) << 8; - loc_7F074778((int)&uStack108,(uint)auStack44,extraout_a2_lo,extraout_a3_lo); - *param_2 = uStack96; - loc_7F08BDA4(puStack12,(int)*(short *)((int)ppuStack8 + 0xe)); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0690D0(undefined4 *param_1) - -{ - int iVar1; - uint uVar2; - - iVar1 = _DAT_80075ea4; - uVar2 = 0x80075e08; - while( true ) { - if (iVar1 != 0) { - loc_7F069078(uVar2,param_1); - } - if (0x80076a87 < uVar2 + 0xa0) break; - iVar1 = *(int *)(uVar2 + 0x13c); - uVar2 = uVar2 + 0xa0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0696e0(uint param_1,longlong param_2) - -{ - if (param_2 != 0) { - *(uint *)(_DAT_8007a120 + 0x1064) = *(uint *)(_DAT_8007a120 + 0x1064) & ~param_1; - return; - } - *(uint *)(_DAT_8007a120 + 0x1064) = *(uint *)(_DAT_8007a120 + 0x1064) | param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06971c(int param_1,int param_2) - -{ - int iVar2; - int iVar3; - ulonglong uVar1; - undefined *puVar4; - - iVar2 = FUN_7f05def0(0); - iVar3 = FUN_7f069a18(iVar2); - if ((iVar3 == param_1) && (uVar1 = FUN_7f05e5d4(iVar2,0x200000), uVar1 != 0)) { - *(int *)(_DAT_8007a120 + 0x89c) = *(int *)(_DAT_8007a120 + 0x89c) + param_2; - puVar4 = FUN_7f05cdd4(iVar2); - if ((longlong)*(short *)(puVar4 + 0x20) < (longlong)*(int *)(_DAT_8007a120 + 0x89c)) { - puVar4 = FUN_7f05cdd4(iVar2); - *(int *)(_DAT_8007a120 + 0x89c) = (int)*(short *)(puVar4 + 0x20); - } - *(undefined4 *)(_DAT_8007a120 + param_1 * 4 + 0x1130) = 0; - } - else { - if ((int)(&DAT_80035f30)[param_1 * 3] < param_2) { - *(int *)(_DAT_8007a120 + param_1 * 4 + 0x1130) = (&DAT_80035f30)[param_1 * 3]; - } - else { - *(int *)(_DAT_8007a120 + param_1 * 4 + 0x1130) = param_2; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06982c(int param_1) - -{ - return *(undefined4 *)(_DAT_8007a120 + param_1 * 4 + 0x1130); -} - - - -int FUN_7f069844(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = FUN_7f06982c(param_1); - iVar2 = FUN_7f05def0(0); - iVar2 = FUN_7f069a18(iVar2); - if (iVar2 == param_1) { - iVar2 = FUN_7f069930(0); - iVar1 += iVar2; - } - iVar2 = FUN_7f05def0(1); - iVar2 = FUN_7f069a18(iVar2); - if (iVar2 == param_1) { - iVar2 = FUN_7f069930(1); - iVar1 += iVar2; - } - return iVar1; -} - - - -undefined4 FUN_7f0698c0(int param_1) - -{ - return (&DAT_80035f30)[param_1 * 3]; -} - - - -void FUN_7f0698dc(void) - -{ - int iVar1; - int *piVar2; - - piVar2 = &DAT_80035f30; - iVar1 = 0; - do { - FUN_7f06971c(iVar1,*piVar2); - iVar1 += 1; - piVar2 = piVar2 + 3; - } while (iVar1 != 0x1e); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f069930(int param_1) - -{ - return *(undefined4 *)(_DAT_8007a120 + param_1 * 0x3a8 + 0x89c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f069960(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = FUN_7f05def0(param_1); - iVar2 = FUN_7f069a3c(iVar1); - if (((iVar1 == 0xf) || (iVar1 == 0x10)) && - ((iVar1 = FUN_7f05def0(1 - param_1), iVar1 == 0xf || (iVar1 == 0x10)))) { - iVar2 -= *(int *)(_DAT_8007a120 + param_1 * -0x3a8 + 0xc4c); - } - return iVar2; -} - - - -undefined4 FUN_7f069a18(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return *(undefined4 *)(puVar1 + 0x1c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f069a3c(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return *(undefined4 *)(_DAT_8007a120 + *(int *)(puVar1 + 0x1c) * 4 + 0x1130); -} - - - -void FUN_7f069a70(int param_1,int param_2) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - FUN_7f06971c(*(int *)(puVar1 + 0x1c),param_2); - return; -} - - - -undefined4 FUN_7f069a9c(int param_1) - -{ - undefined *puVar1; - - puVar1 = FUN_7f05cdd4(param_1); - return (&DAT_80035f30)[*(int *)(puVar1 + 0x1c) * 3]; -} - - - -undefined4 * -loc_7F06987C(undefined4 *param_1,uint *param_2,float param_3,float param_4,float param_5,int param_6 - ,float param_7,int param_8,int param_9,uint param_10,uint param_11,uint param_12) - -{ - uint uVar1; - undefined4 in_v1_hi; - int iVar2; - float fVar3; - undefined4 *puStackX0; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - param_1[1] = 0xc0; - *param_1 = 0xba000602; - param_1[3] = 0; - param_1[2] = 0xba001301; - param_1[5] = 0; - param_1[4] = 0xb9000002; - param_1[7] = 0; - param_1[6] = 0xba001001; - param_1[9] = 0; - param_1[8] = 0xba000c02; - param_1[0xb] = 0xc00; - param_1[10] = 0xba000903; - param_1[0xd] = 0; - param_1[0xc] = 0xba000e02; - uVar1 = (uint)*(byte *)(param_2 + 1); - fVar3 = (float)uVar1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - if (false) { - uVar1 = (uint)*(byte *)(param_2 + 1) + 1; - } - fStack8 = fVar3 * 0.50000000 - (float)((int)uVar1 >> 1); - if (param_6 != 0) { - fStack8 = -fStack8; - } - fStack8 = fStack8 + param_3; - if (0.00000000 <= param_4) { - fVar3 = (float)(uint)*(byte *)((int)param_2 + 5); - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - fStack4 = param_4 - fVar3 * 0.50000000; - } - else { - uVar1 = (uint)*(byte *)((int)param_2 + 5); - fVar3 = (float)uVar1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - if (false) { - uVar1 += 1; - } - fStack4 = (param_5 - (fVar3 * 0.50000000 - (float)((int)uVar1 >> 1))) + param_7; - } - iVar2 = 1; - fStack16 = (float)(uint)*(byte *)(param_2 + 1); - if (false) { - fStack16 = fStack16 + 4294967296.00000000; - } - fStack16 = fStack16 * 0.50000000; - fStack12 = (float)(uint)*(byte *)((int)param_2 + 5); - if (false) { - fStack12 = fStack12 + 4294967296.00000000; - } - fStack12 = fStack12 * 0.50000000; - param_1[0xf] = 0; - param_1[0xe] = 0xe7000000; - param_1[0x11] = 0; - param_1[0x10] = 0xba001402; - param_1[0x13] = 0x504240; - param_1[0x12] = 0xb900031d; - param_1[0x15] = 0xfffdf6fb; - param_1[0x14] = 0xfcffffff; - param_1[0x17] = 0; - param_1[0x16] = 0xfa000000; - puStackX0 = param_1 + 0x1a; - param_1[0x18] = - ((int)(fStack12 + fStack4) + 1U & 0x3ff) << 2 | 0xf6000000 | - ((int)(fStack8 + fStack16) + 1U & 0x3ff) << 0xe; - param_1[0x19] = - ((int)(fStack4 - fStack12) - 1U & 0x3ff) << 2 | - ((int)(fStack8 - fStack16) - 1U & 0x3ff) << 0xe; - if (param_8 != 0) { - iVar2 = 2; - } - loc_7F077B80((uint **)register0x000000ec,param_2,iVar2,0,0); - loc_7F06B108((uint **)register0x000000ec,&fStack8,&fStack16,(uint)*(byte *)(param_2 + 1), - (uint)*(byte *)((int)param_2 + 5),0,0,1,param_9,param_10,param_11,param_12, - (uint)(*(char *)((int)param_2 + 6) != '\0'),0); - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0[3] = 0x40; - puStackX0[2] = 0xba000602; - puStackX0[5] = 0x80000; - puStackX0[4] = 0xba001301; - puStackX0[7] = 0; - puStackX0[6] = 0xb9000002; - puStackX0[9] = 0x10000; - puStackX0[8] = 0xba001001; - puStackX0[0xb] = 0x2000; - puStackX0[10] = 0xba000c02; - puStackX0[0xd] = 0xc00; - puStackX0[0xc] = 0xba000903; - puStackX0[0xf] = 0; - puStackX0[0xe] = 0xba000e02; - return (undefined4 *)CONCAT13((char)puStackX0 + '@',(int3)((uint)in_v1_hi >> 8)); -} - - - -void set_rgba_redirect_generate_microcode - (undefined4 *param_1,uint *param_2,float param_3,float param_4,float param_5, - int param_6,float param_7,int param_8) - -{ - loc_7F06987C(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,0xff,0xff,0xff,0xff); - return; -} - - - -uint * FUN_7f06a03c(undefined4 *param_1,byte *param_2,uint param_3,int param_4,uint param_5, - int param_6,int param_7) - -{ - int iVar1; - uint *puVar2; - short sVar3; - short sVar4; - int iStack24; - int iStack20; - uint uStack16; - uint uStack12; - uint uStack8; - uint uStack4; - - uStack4 = 0; - uStack8 = 0; - uStack12 = 0; - uStack16 = 0; - iStack24 = 0; - iStack20 = 0; - loc_7F0AEB50(&iStack20,&iStack24,param_2,DAT_80040ee0,DAT_80040edc,0); - if (param_4 == 1) { - uStack12 = param_3 + iStack24; - uStack4 = param_3; - } - else { - if (param_4 == 0) { - uStack4 = param_3 - iStack24; - uStack12 = param_3; - } - else { - if (param_4 == 2) { - iVar1 = iStack24; - if (iStack24 < 0) { - iVar1 = iStack24 + 1; - } - uStack12 = (iVar1 >> 1) + param_3; - uStack4 = uStack12 - iStack24; - } - } - } - if (param_6 == 1) { - uStack8 = param_5; - uStack16 = param_5 + iStack20; - } - else { - if (param_6 == 0) { - uStack16 = param_5; - uStack8 = param_5 - iStack20; - } - else { - if (param_6 == 2) { - iVar1 = iStack20; - if (iStack20 < 0) { - iVar1 = iStack20 + 1; - } - uStack16 = (iVar1 >> 1) + param_5; - uStack8 = uStack16 - iStack20; - } - } - } - puVar2 = draw_blackbox_to_screen(param_1,&uStack4,&uStack8,&uStack12,&uStack16); - if (param_7 == 0) { - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - puVar2 = loc_7F0ADD78(puVar2,(int *)&uStack4,(int *)&uStack8,param_2,DAT_80040ee0, - (int)DAT_80040edc,0xff00b0,(int)sVar3,(int)sVar4,0,0); - } - else { - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - puVar2 = loc_7F0AE958(puVar2,&uStack4,&uStack8,param_2,DAT_80040ee0,(int)DAT_80040edc,0xffffffff - ,0x646464ff,(int)sVar3,(int)sVar4,0,0); - } - return puVar2; -} - - - -uint * display_ammo_total_in_a1 - (undefined4 *param_1,uint param_2,uint param_3,int param_4,uint param_5,int param_6 - ,int param_7) - -{ - uint *puVar1; - byte abStack12 [12]; - - sprintf((int)abStack12,(byte *)s__d_80053c24,param_2,param_4); - puVar1 = FUN_7f06a03c(param_1,abStack12,param_3,param_4,param_5,param_6,param_7); - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f06a2e0(undefined4 *puParm1) - -{ - uint uVar1; - int iVar3; - int iVar4; - ulonglong uVar2; - uint *puVar5; - short sVar7; - int iVar6; - short sVar8; - short sVar9; - short sVar10; - float in_f0; - float fVar11; - float extraout_f0; - uint *local_res0; - uint local_2c; - uint local_24; - uint local_1c; - uint local_18; - int local_14; - int local_10; - - local_res0 = puParm1; - if ((*(int *)(_DAT_8007a120 + 0x1064) == 0) && - (local_res0 = puParm1, *(int *)(_DAT_8007a120 + 0x29c4) == 0)) { - iVar3 = FUN_7f05def0(1); - iVar4 = FUN_7f05def0(0); - uVar2 = get_num_players(); - if ((longlong)uVar2 < 3) { - local_10 = 0x3b; - local_14 = 0x3b; - } - else { - uVar1 = get_cur_playernum(); - if ((uVar1 & 1) == 0) { - local_10 = 0x3b; - local_14 = 0x6d; - } - else { - local_10 = 0x2b; - local_14 = 0x7f; - } - } - local_res0 = puParm1; - if ((((iVar4 != 0) && (iVar6 = FUN_7f069a18(iVar4), local_res0 = puParm1, iVar6 != 0)) && - (local_res0 = puParm1, *(int *)(_DAT_8007a120 + 0x894) != 6)) && - ((local_res0 = puParm1, *(int *)(_DAT_8007a120 + 0x894) != 7 && - (uVar2 = FUN_7f05e5d4(iVar4,0x80000), local_res0 = puParm1, uVar2 == 0)))) { - local_24 = 5; - local_res0 = puParm1; - if ((&DAT_80035f34)[iVar6 * 3] != 0) { - puVar5 = (uint *)((&DAT_80035f34)[iVar6 * 3] + _DAT_8008d120); - FUN_7f078ab4(); - fVar11 = in_f0; - FUN_7f078a94(); - sVar8 = get_video2_settings_uly(); - sVar9 = get_video2_settings_height(); - local_res0 = (uint *)set_rgba_redirect_generate_microcode - (puParm1,puVar5,(fVar11 + in_f0) - (float)local_14, - -1.00000000,(float)((int)sVar9 + (int)sVar8 + -0x14),0, - (float)(&DAT_80035f38)[iVar6 * 3],1); - local_24 = (uint)*(byte *)(puVar5 + 1); - in_f0 = extraout_f0; - } - local_res0 = loc_7F0ACED4(local_res0); - uVar2 = FUN_7f05e5d4(iVar4,0x400000); - if (uVar2 == 0) { - local_1c = *(uint *)(_DAT_8007a120 + 0x89c); - local_18 = *(uint *)(_DAT_8007a120 + iVar6 * 4 + 0x1130); - } - else { - local_1c = 0; - local_18 = *(int *)(_DAT_8007a120 + 0x89c) + *(int *)(_DAT_8007a120 + iVar6 * 4 + 0x1130); - if (iVar3 == iVar4) { - local_18 += *(int *)(_DAT_8007a120 + 0xc44); - } - } - uVar2 = FUN_7f05e5d4(iVar4,0x400000); - if (uVar2 == 0) { - sVar8 = FUN_70004514(); - sVar9 = FUN_7000449c(); - sVar10 = get_video2_settings_uly(); - sVar7 = get_video2_settings_height(); - uVar1 = local_24; - if (false) { - uVar1 = local_24 + 1; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,local_1c, - ((((int)sVar9 + (int)sVar8) - local_14) - ((int)uVar1 >> 1)) - 4,0, - ((int)sVar7 + (int)sVar10) - 0x12,2,1); - } - if ((0 < (int)local_18) || (uVar2 = FUN_7f05e5d4(iVar4,0x400000), uVar2 != 0)) { - sVar8 = FUN_70004514(); - sVar9 = FUN_7000449c(); - sVar10 = get_video2_settings_uly(); - sVar7 = get_video2_settings_height(); - iVar6 = local_24 + 1; - if (false) { - iVar6 = local_24 + 2; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,local_18, - (((int)sVar9 + (int)sVar8) - local_14) + (iVar6 >> 1) + 3,1, - ((int)sVar7 + (int)sVar10) - 0x12,2,1); - } - local_res0 = combiner_bayer_lod_perspective(local_res0); - } - if ((((iVar3 != 0) && (iVar6 = FUN_7f069a18(iVar3), iVar6 != 0)) && - (*(int *)(_DAT_8007a120 + 0xc3c) != 6)) && - ((*(int *)(_DAT_8007a120 + 0xc3c) != 7 && (uVar2 = FUN_7f05e5d4(iVar3,0x80000), uVar2 == 0))) - ) { - local_2c = 5; - if ((&DAT_80035f34)[iVar6 * 3] != 0) { - puVar5 = (uint *)((&DAT_80035f34)[iVar6 * 3] + _DAT_8008d120); - FUN_7f078ab4(); - sVar8 = get_video2_settings_uly(); - sVar9 = get_video2_settings_height(); - local_res0 = (uint *)set_rgba_redirect_generate_microcode - (local_res0,puVar5,in_f0 + (float)local_10,-1.00000000, - (float)((int)sVar9 + (int)sVar8 + -0x14),1, - (float)(&DAT_80035f38)[iVar6 * 3],1); - local_2c = (uint)*(byte *)(puVar5 + 1); - } - local_res0 = loc_7F0ACED4(local_res0); - uVar2 = FUN_7f05e5d4(iVar3,0x400000); - if (uVar2 == 0) { - local_1c = *(uint *)(_DAT_8007a120 + 0xc44); - local_18 = *(uint *)(_DAT_8007a120 + iVar6 * 4 + 0x1130); - } - else { - local_1c = 0; - local_18 = *(int *)(_DAT_8007a120 + 0xc44) + *(int *)(_DAT_8007a120 + iVar6 * 4 + 0x1130); - if (iVar3 == iVar4) { - local_18 += *(int *)(_DAT_8007a120 + 0x89c); - } - } - uVar2 = FUN_7f05e5d4(iVar3,0x400000); - if (uVar2 == 0) { - sVar8 = FUN_70004514(); - sVar9 = get_video2_settings_uly(); - sVar10 = get_video2_settings_height(); - uVar1 = local_2c; - if (false) { - uVar1 = local_2c + 1; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,local_1c,(int)sVar8 + local_10 + ((int)uVar1 >> 1) + 3,1, - ((int)sVar10 + (int)sVar9) - 0x12,2,1); - } - if ((0 < (int)local_18) || (uVar2 = FUN_7f05e5d4(iVar3,0x400000), uVar2 != 0)) { - sVar8 = FUN_70004514(); - sVar9 = get_video2_settings_uly(); - sVar10 = get_video2_settings_height(); - iVar3 = local_2c + 1; - if (false) { - iVar3 = local_2c + 2; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,local_18,(((int)sVar8 + local_10) - (iVar3 >> 1)) - 4,0, - ((int)sVar10 + (int)sVar9) - 0x12,2,1); - } - local_res0 = combiner_bayer_lod_perspective(local_res0); - } - } - return local_res0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f06a920(undefined4 *param_1) - -{ - int iVar1; - uint uVar2; - int iVar4; - int iVar5; - int iVar6; - ulonglong uVar3; - short sVar8; - short sVar9; - uint *puVar7; - uint uStack28; - uint uStack20; - uint uStack16; - - iVar4 = FUN_7f05def0(1); - iVar5 = FUN_7f05def0(0); - if ((((iVar5 != 0) && (iVar6 = FUN_7f069a18(iVar5), iVar6 != 0)) && - (*(int *)(_DAT_8007a120 + 0x894) != 6)) && - ((*(int *)(_DAT_8007a120 + 0x894) != 7 && (uVar3 = FUN_7f05e5d4(iVar5,0x80000), uVar3 == 0)))) - { - iVar1 = (&DAT_80035f34)[iVar6 * 3]; - uStack28 = 5; - FUN_7f05cdd4(iVar5); - if (iVar1 != 0) { - puVar7 = (uint *)(iVar1 + _DAT_8008d120); - sVar8 = get_video2_settings_uly(); - sVar9 = get_video2_settings_height(); - param_1 = (undefined4 *) - set_rgba_redirect_generate_microcode - (param_1,puVar7,200.00000000,180.00000000, - (float)((int)sVar9 + (int)sVar8 + -0x14),0, - (float)(&DAT_80035f38)[iVar6 * 3],1); - uStack28 = (uint)*(byte *)(puVar7 + 1); - } - puVar7 = loc_7F0ACED4(param_1); - uVar3 = FUN_7f05e5d4(iVar5,0x400000); - if (uVar3 == 0) { - uStack20 = *(uint *)(_DAT_8007a120 + 0x89c); - uStack16 = *(uint *)(_DAT_8007a120 + iVar6 * 4 + 0x1130); - } - else { - uStack20 = 0; - uStack16 = *(int *)(_DAT_8007a120 + 0x89c) + *(int *)(_DAT_8007a120 + iVar6 * 4 + 0x1130); - if (iVar4 == iVar5) { - uStack16 += *(int *)(_DAT_8007a120 + 0xc44); - } - } - uVar3 = FUN_7f05e5d4(iVar5,0x400000); - if (uVar3 == 0) { - uVar2 = uStack28; - if (false) { - uVar2 = uStack28 + 1; - } - puVar7 = display_ammo_total_in_a1(puVar7,uStack20,0xc4 - ((int)uVar2 >> 1),0,0xb1,2,0); - } - if ((0 < (int)uStack16) || (uVar3 = FUN_7f05e5d4(iVar5,0x400000), uVar3 != 0)) { - iVar4 = uStack28 + 1; - if (false) { - iVar4 = uStack28 + 2; - } - puVar7 = display_ammo_total_in_a1(puVar7,uStack16,(iVar4 >> 1) + 0xcb,1,0xb1,2,0); - } - param_1 = combiner_bayer_lod_perspective(puVar7); - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06ab94(uint param_1,longlong param_2) - -{ - if (param_2 != 0) { - *(uint *)(_DAT_8007a120 + 0x1128) = *(uint *)(_DAT_8007a120 + 0x1128) & ~param_1; - return; - } - *(uint *)(_DAT_8007a120 + 0x1128) = *(uint *)(_DAT_8007a120 + 0x1128) | param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06abd0(uint **param_1) - -{ - int iVar1; - float local_14; - undefined4 local_10; - float local_c; - undefined4 local_8; - uint *local_4; - - if ((*(int *)(_DAT_8007a120 + 0x1128) == 0) && (*(int *)(_DAT_8007a120 + 0x29c4) == 0)) { - local_4 = *param_1; - loc_7F077B80(&local_4,_DAT_8008d184,4,0,0); - local_c = *(float *)(_DAT_8007a120 + 0xfe8); - local_8 = *(undefined4 *)(_DAT_8007a120 + 0xfec); - local_14 = 16.00000000; - local_10 = 0x41800000; - iVar1 = FUN_7f0a5a80(); - if (iVar1 == 1) { - local_14 = local_14 * 0.75000000; - } - loc_7F06B108(&local_4,&local_c,&local_14,0x20,0x20,0,0,1,0xff,0xff,0xff,0x6e, - (uint)(*(char *)((int)_DAT_8008d184 + 6) != '\0'),0); - *param_1 = local_4; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06ace4(int param_1,int param_2) - -{ - ulonglong uVar1; - int *piVar2; - - uVar1 = FUN_7f05e5d4(param_1,0x10000); - if (uVar1 != 0) { - piVar2 = (int *)(_DAT_8007a124 + param_2 * 4); - *piVar2 = *piVar2 + 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06ad2c(int param_1) - -{ - return *(undefined4 *)(_DAT_8007a124 + param_1 * 4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06ad44(void) - -{ - *(int *)(_DAT_8007a124 + 0x6c) = *(int *)(_DAT_8007a124 + 0x6c) + 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06ad5c(void) - -{ - return *(undefined4 *)(_DAT_8007a124 + 0x6c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06ad6c(void) - -{ - ulonglong uVar1; - int iVar2; - uint uVar3; - int iVar4; - int iVar5; - char acStack256 [256]; - - *(int *)(_DAT_8007a124 + 0x1c) = *(int *)(_DAT_8007a124 + 0x1c) + 1; - *(int *)(_DAT_8007a120 + 0x29f8) = *(int *)(_DAT_8007a120 + 0x29f8) + 1; - uVar1 = get_num_players(); - if (1 < (longlong)uVar1) { - iVar2 = FUN_7f08c840(); - uVar3 = FUN_7f0c2a88(0x98da); - sprintf((int)acStack256,(byte *)s__s___d_80053c28,uVar3,*(undefined4 *)(_DAT_8007a124 + 0x1c)); - FUN_7f08ac40(acStack256); - if (1 < *(int *)(_DAT_8007a124 + 0x1c)) { - iVar4 = iVar2 - *(int *)(_DAT_8007a120 + 0x29e4); - if (*(int *)(_DAT_8007a124 + 0x48) < iVar4) { - *(int *)(_DAT_8007a124 + 0x48) = iVar4; - iVar5 = *(int *)(_DAT_8007a124 + 0x44); - } - else { - iVar5 = *(int *)(_DAT_8007a124 + 0x44); - } - if (iVar4 < iVar5) { - *(int *)(_DAT_8007a124 + 0x44) = iVar4; - } - } - iVar4 = 1; - *(undefined4 *)(_DAT_8007a120 + 0x29f0) = *(undefined4 *)(_DAT_8007a120 + 0x29ec); - *(undefined4 *)(_DAT_8007a120 + 0x29ec) = *(undefined4 *)(_DAT_8007a120 + 0x29e8); - *(undefined4 *)(_DAT_8007a120 + 0x29e8) = *(undefined4 *)(_DAT_8007a120 + 0x29e4); - *(int *)(_DAT_8007a120 + 0x29e4) = iVar2; - if ((*(int *)(_DAT_8007a120 + 0x29e8) != -1) && - (iVar2 = *(int *)(_DAT_8007a120 + 0x29e4), iVar2 - *(int *)(_DAT_8007a120 + 0x29e8) < 0x78)) - { - iVar4 = 2; - if ((*(int *)(_DAT_8007a120 + 0x29ec) != -1) && - (iVar2 - *(int *)(_DAT_8007a120 + 0x29ec) < 0x78)) { - iVar4 = 3; - if ((*(int *)(_DAT_8007a120 + 0x29f0) != -1) && - (iVar2 - *(int *)(_DAT_8007a120 + 0x29f0) < 0x78)) { - iVar4 = 4; - } - } - } - if (*(int *)(_DAT_8007a124 + 0x58) < iVar4) { - *(int *)(_DAT_8007a124 + 0x58) = iVar4; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f06af10(void) - -{ - return *(undefined4 *)(_DAT_8007a124 + 0x1c); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06af20(void) - -{ - *(int *)(_DAT_8007a124 + 0x20) = *(int *)(_DAT_8007a124 + 0x20) + 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f06af48(void) - -{ - ulonglong uVar1; - byte *pbVar2; - uint uVar3; - char *pcVar4; - uint extraout_a2_lo; - undefined4 extraout_a3_lo; - char acStack256 [256]; - - *(int *)(_DAT_8007a120 + 0x29d8) = *(int *)(_DAT_8007a120 + 0x29d8) + 1; - uVar1 = get_num_players(); - if (1 < (longlong)uVar1) { - if (*(int *)(_DAT_8007a120 + 0x29d8) == 1) { - pbVar2 = (byte *)FUN_7f0c2a88(0x98db); - sprintf((int)acStack256,pbVar2,extraout_a2_lo,extraout_a3_lo); - } - else { - uVar3 = FUN_7f0c2a88(0x98dc); - FUN_7f0c2a88(0x98dd); - sprintf((int)acStack256,(byte *)s__s__d__s_80053c30,uVar3, - *(undefined4 *)(_DAT_8007a120 + 0x29d8)); - } - pcVar4 = FUN_7f08ac40(acStack256); - uVar1 = SEXT48((int)pcVar4); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f06b004(void) - -{ - ulonglong uVar1; - int iVar2; - uint uVar3; - int iVar4; - int iVar5; - char acStack256 [256]; - - *(int *)(_DAT_8007a120 + 0x29dc) = *(int *)(_DAT_8007a120 + 0x29dc) + 1; - uVar1 = get_num_players(); - if (1 < (longlong)uVar1) { - iVar2 = FUN_7f08c840(); - uVar3 = FUN_7f0c2a88(0x98de); - sprintf((int)acStack256,(byte *)s__s___d_80053c3c,uVar3,*(undefined4 *)(_DAT_8007a120 + 0x29dc)) - ; - FUN_7f08ac40(acStack256); - if (1 < *(int *)(_DAT_8007a124 + 0x1c)) { - iVar4 = iVar2 - *(int *)(_DAT_8007a120 + 0x29e4); - if (*(int *)(_DAT_8007a124 + 0x48) < iVar4) { - *(int *)(_DAT_8007a124 + 0x48) = iVar4; - iVar5 = *(int *)(_DAT_8007a124 + 0x44); - } - else { - iVar5 = *(int *)(_DAT_8007a124 + 0x44); - } - if (iVar4 < iVar5) { - *(int *)(_DAT_8007a124 + 0x44) = iVar4; - } - } - iVar4 = 1; - *(undefined4 *)(_DAT_8007a120 + 0x29f0) = *(undefined4 *)(_DAT_8007a120 + 0x29ec); - *(undefined4 *)(_DAT_8007a120 + 0x29ec) = *(undefined4 *)(_DAT_8007a120 + 0x29e8); - *(undefined4 *)(_DAT_8007a120 + 0x29e8) = *(undefined4 *)(_DAT_8007a120 + 0x29e4); - *(int *)(_DAT_8007a120 + 0x29e4) = iVar2; - if ((*(int *)(_DAT_8007a120 + 0x29e8) != -1) && - (iVar2 = *(int *)(_DAT_8007a120 + 0x29e4), iVar2 - *(int *)(_DAT_8007a120 + 0x29e8) < 0x78)) - { - iVar4 = 2; - if ((*(int *)(_DAT_8007a120 + 0x29ec) != -1) && - (iVar2 - *(int *)(_DAT_8007a120 + 0x29ec) < 0x78)) { - iVar4 = 3; - if ((*(int *)(_DAT_8007a120 + 0x29f0) != -1) && - (iVar2 - *(int *)(_DAT_8007a120 + 0x29f0) < 0x78)) { - iVar4 = 4; - } - } - } - if (*(int *)(_DAT_8007a124 + 0x58) < iVar4) { - *(int *)(_DAT_8007a124 + 0x58) = iVar4; - } - } - return; -} - - - -void locret_7F06AFE0(uint **param_1,float *param_2,float *param_3,int param_4,int param_5, - int param_6,int param_7,int param_8) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - int iVar4; - uint uVar5; - int iVar6; - int iVar7; - float fVar8; - float fVar9; - uint uVar10; - uint uVar11; - float fVar12; - uint uVar13; - uint uVar14; - - if ((0.00000000 < *param_3) && (0.00000000 < param_3[1])) { - puVar1 = *param_1; - *puVar1 = 0xba001301; - puVar1[1] = 0; - fVar8 = *param_3; - fVar9 = param_3[1]; - iVar4 = 0; - uVar5 = 0; - puVar2 = puVar1 + 2; - uVar14 = (uint)((*param_2 - fVar8) * 4.00000000); - uVar11 = (uint)((param_2[1] - fVar9) * 4.00000000); - uVar10 = (uint)((fVar8 + *param_2) * 4.00000000); - uVar13 = (uint)((fVar9 + param_2[1]) * 4.00000000); - if ((-1 < (int)uVar10) && (-1 < (int)uVar13)) { - if ((int)uVar14 < 0) { - if (param_6 == 0) { - iVar7 = uVar10 - uVar14; - iVar6 = -uVar14 * param_4 * 0x20; - iVar4 = iVar6 / iVar7; - if (iVar7 == 0) { - trap(0x1c00); - } - if ((iVar7 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - uVar14 = 0; - } - else { - iVar7 = uVar10 - uVar14; - iVar6 = -uVar14 * param_5 * 0x20; - uVar5 = iVar6 / iVar7; - if (iVar7 == 0) { - trap(0x1c00); - } - if ((iVar7 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - uVar14 = 0; - } - } - if ((int)uVar11 < 0) { - if (param_6 == 0) { - iVar6 = uVar13 - uVar11; - iVar7 = -uVar11 * param_5 * 0x20; - uVar5 += iVar7 / iVar6; - if (iVar6 == 0) { - trap(0x1c00); - } - if ((iVar6 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - uVar11 = 0; - } - else { - iVar6 = uVar13 - uVar11; - iVar7 = -uVar11 * param_4 * 0x20; - iVar4 += iVar7 / iVar6; - if (iVar6 == 0) { - trap(0x1c00); - } - if ((iVar6 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - uVar11 = 0; - } - } - if (param_6 == 0) { - fVar12 = (float)param_4 / (fVar8 + fVar8); - fVar8 = (float)param_5 / (fVar9 + fVar9); - } - else { - fVar12 = (float)param_4 / (fVar9 + fVar9); - fVar8 = (float)param_5 / (fVar8 + fVar8); - } - uVar3 = (uint)(fVar8 * 1024.00000000); - iVar6 = (int)(fVar12 * 1024.00000000); - if (param_7 != 0) { - iVar6 = 0x10000 - iVar6; - iVar4 = (param_4 + -1) * 0x20 - iVar4; - } - if (param_8 != 0) { - uVar3 = 0x10000 - uVar3; - uVar5 = (param_5 + -1) * 0x20 - uVar5; - } - if (param_6 == 0) { - *puVar2 = (uVar10 & 0xfff) << 0xc | 0xe4000000 | uVar13 & 0xfff; - puVar1[3] = (uVar14 & 0xfff) << 0xc | uVar11 & 0xfff; - puVar1[4] = 0xb4000000; - puVar1[5] = iVar4 << 0x10 | uVar5 & 0xffff; - puVar1[6] = 0xb3000000; - puVar1[7] = iVar6 << 0x10 | uVar3 & 0xffff; - } - else { - *puVar2 = (uVar10 & 0xfff) << 0xc | 0xe5000000 | uVar13 & 0xfff; - puVar1[3] = (uVar14 & 0xfff) << 0xc | uVar11 & 0xfff; - puVar1[4] = 0xb4000000; - puVar1[5] = iVar4 << 0x10 | uVar5 & 0xffff; - puVar1[6] = 0xb3000000; - puVar1[7] = iVar6 << 0x10 | uVar3 & 0xffff; - } - puVar2 = puVar1 + 8; - } - puVar2[1] = 0x80000; - *puVar2 = 0xba001301; - *param_1 = puVar2 + 2; - } - return; -} - - - -void loc_7F06B108(uint **param_1,float *param_2,float *param_3,int param_4,int param_5,int param_6, - int param_7,int param_8,int param_9,uint param_10,uint param_11,uint param_12, - int param_13,int param_14) - -{ - uint *puVar1; - uint *puVar2; - - if ((0.00000000 < *param_3) && (0.00000000 < param_3[1])) { - puVar1 = *param_1; - *puVar1 = 0xfb000000; - puVar1[1] = param_9 << 0x18 | (param_10 & 0xff) << 0x10 | (param_11 & 0xff) << 8 | - param_12 & 0xff; - puVar2 = puVar1 + 2; - if (param_13 == 0) { - if (param_14 == 0) { - *puVar2 = 0xfc129a25; - puVar1[3] = 0xff37ffff; - } - else { - puVar1[3] = 0xfffffe38; - *puVar2 = 0xfc129bff; - } - } - else { - *puVar2 = 0xfc26a005; - puVar1[3] = 0x1f1493ff; - } - *param_1 = puVar1 + 4; - locret_7F06AFE0(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8); - } - return; -} - - - -int * FUN_7f06b710(int *param_1,int param_2) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - int *piVar4; - int *piVar5; - int *piVar6; - - puVar2 = **(ushort ***)(param_2 + 8); - piVar4 = DAT_800360a0; - if ((puVar2 != NULL) && (piVar4 = DAT_800360a0, DAT_800360a0 != NULL)) { - uVar1 = *puVar2; - piVar4 = DAT_800360a0; - do { - if (false) { -switchD_7f06b75c_caseD_4: - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - *piVar4 = param_2; - *(ushort **)(piVar4 + 1) = puVar2; - piVar4 = (int *)piVar4[3]; - puVar3 = *(ushort **)(puVar2 + 10); - break; - default: - goto switchD_7f06b75c_caseD_4; - } - } - if ((puVar3 == NULL) && (puVar3 = puVar2, puVar2 != NULL)) { - puVar3 = *(ushort **)(puVar2 + 6); - while ((puVar3 == NULL && - (puVar2 = *(ushort **)(puVar2 + 4), puVar3 = puVar2, puVar2 != NULL))) { - puVar3 = *(ushort **)(puVar2 + 6); - } - } - if ((puVar3 == NULL) || (piVar4 == NULL)) break; - uVar1 = *puVar3; - puVar2 = puVar3; - } while( true ); - } - piVar6 = param_1; - if (piVar4 != DAT_800360a0) { - piVar6 = DAT_800360a0; - if (param_1 != NULL) { - if (param_1[3] == 0) { - *(int **)(param_1 + 3) = DAT_800360a0; - piVar5 = param_1; - } - else { - piVar6 = (int *)param_1[3]; - do { - piVar5 = piVar6; - piVar6 = (int *)piVar5[3]; - } while ((int *)piVar5[3] != NULL); - *(int **)(piVar5 + 3) = DAT_800360a0; - } - *(int **)(DAT_800360a0 + 4) = piVar5; - piVar6 = param_1; - } - DAT_800360a0 = piVar4; - if ((piVar4 != NULL) && (DAT_800360a0 = piVar4, piVar4[4] != 0)) { - *(undefined4 *)(piVar4[4] + 0xc) = 0; - piVar4[4] = 0; - DAT_800360a0 = piVar4; - } - } - return piVar6; -} - - - -void FUN_7f06b838(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = DAT_800360a0; - if ((param_1 != 0) && (iVar1 = param_1, DAT_800360a0 != 0)) { - if (*(int *)(param_1 + 0xc) == 0) { - *(int *)(param_1 + 0xc) = DAT_800360a0; - iVar2 = param_1; - } - else { - iVar1 = *(int *)(param_1 + 0xc); - do { - iVar2 = iVar1; - iVar1 = *(int *)(iVar2 + 0xc); - } while (*(int *)(iVar2 + 0xc) != 0); - *(int *)(iVar2 + 0xc) = DAT_800360a0; - } - *(int *)(DAT_800360a0 + 0x10) = iVar2; - iVar1 = param_1; - } - DAT_800360a0 = iVar1; - return; -} - - - -void loc_7F06BB14(int *param_1) - -{ - ushort *puVar1; - ushort *puVar2; - float *pfVar3; - int iVar4; - int *piVar5; - int iVar6; - int iVar7; - float *pfVar8; - int iVar9; - int *piVar10; - int *piVar11; - int *piVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - int *piStack8; - - piStack8 = NULL; - if (param_1 != NULL) { - puVar1 = (ushort *)param_1[1]; - piVar12 = param_1; - while( true ) { - if (true) { - switch((uint)*puVar1 & 0xff) { - case 1: - puVar2 = *(ushort **)(*(int *)(puVar1 + 2) + 4); - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - if (puVar2 == NULL) { - *(float *)(piVar12 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar7 = FUN_7f06cc50(*piVar12,puVar2,0); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar7 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 2: - puVar2 = *(ushort **)(*(int *)(puVar1 + 2) + 0x14); - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - if (puVar2 == NULL) { - *(float *)(piVar12 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar7 = FUN_7f06cc50(*piVar12,puVar2,0); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar7 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 3: - puVar2 = *(ushort **)(*(int *)(puVar1 + 2) + 0x14); - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - if (puVar2 == NULL) { - *(float *)(piVar12 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar7 = FUN_7f06cc50(*piVar12,puVar2,0); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar7 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 0xb: - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - break; - case 0xc: - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - break; - case 0xd: - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - iVar7 = loc_7F06C888(*piVar12,(ushort *)pfVar3[5]); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + - (*(float *)(iVar7 + 4) - *(float *)(iVar7 + 0xc)) * *(float *)(iVar6 + 0x18) + - pfVar3[1] * *(float *)(iVar6 + 0x28)); - break; - case 0xe: - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - break; - case 0xf: - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - fVar19 = -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - fVar13 = -(*(float *)(iVar6 + 0x38) + - pfVar3[3] * *(float *)(iVar6 + 8) + pfVar3[4] * *(float *)(iVar6 + 0x18) + - pfVar3[5] * *(float *)(iVar6 + 0x28)); - if (fVar19 < fVar13) { - *(float *)(piVar12 + 2) = fVar19; - } - else { - *(float *)(piVar12 + 2) = fVar13; - } - break; - case 0x10: - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - piStack8 = piVar12; - break; - case 0x15: - iVar6 = FUN_7f06cc50(*piVar12,puVar1,0); - *(float *)(piVar12 + 2) = -*(float *)(iVar6 + 0x38); - } - } - piVar12 = (int *)piVar12[3]; - if (piVar12 == NULL) break; - puVar1 = (ushort *)piVar12[1]; - } - } - if (piStack8 != NULL) { - iVar6 = *(int *)(*piStack8 + 0x18); - if (iVar6 != 0) { - fVar19 = (float)piStack8[2]; - pfVar3 = *(float **)((ushort *)piStack8[1] + 2); - iVar6 = *(int *)(*(int *)(iVar6 + 8) + 8); - iVar7 = *(int *)(iVar6 + (int)*(short *)((int)pfVar3 + 0xe) * 4); - iVar4 = *(int *)(iVar6 + (int)*(short *)(pfVar3 + 3) * 4); - iVar6 = *(int *)(iVar6 + (int)*(short *)(pfVar3 + 4) * 4); - pfVar8 = (float *)FUN_7f06cc50(*piStack8,(ushort *)piStack8[1],0); - piVar12 = NULL; - piVar10 = NULL; - piVar11 = NULL; - if (param_1 != NULL) { - iVar9 = param_1[1]; - while( true ) { - if (iVar7 == iVar9) { - piVar10 = param_1; - } - if (iVar4 == iVar9) { - piVar12 = param_1; - } - if (iVar6 == iVar9) { - piVar5 = (int *)param_1[3]; - piVar11 = param_1; - } - else { - piVar5 = (int *)param_1[3]; - } - if (piVar5 == NULL) break; - iVar9 = piVar5[1]; - param_1 = piVar5; - } - } - fVar14 = pfVar8[0xc] + *pfVar3 * *pfVar8 + pfVar3[1] * pfVar8[4] + pfVar3[2] * pfVar8[8]; - fVar15 = pfVar8[0xd] + *pfVar3 * pfVar8[1] + pfVar3[1] * pfVar8[5] + pfVar3[2] * pfVar8[9]; - fVar16 = pfVar8[0xe] + *pfVar3 * pfVar8[2] + pfVar3[1] * pfVar8[6] + pfVar3[2] * pfVar8[10]; - fVar18 = (float)piVar10[2]; - fVar17 = (float)piVar12[2]; - fVar20 = (float)piVar11[2]; - fVar13 = fVar16 * pfVar8[10] + pfVar8[8] * fVar14 + pfVar8[9] * fVar15; - fVar14 = fVar16 * pfVar8[6] + pfVar8[4] * fVar14 + pfVar8[5] * fVar15; - if (fVar13 < 0.00000000) { - if (fVar20 < fVar18) { - if (fVar20 < fVar19) { - *(float *)(piStack8 + 2) = fVar20 - 0.00003052; - } - } - else { - if (fVar18 < fVar19) { - *(float *)(piStack8 + 2) = fVar18 - 0.00003052; - } - } - } - else { - if (0.00000000 <= fVar13) { - if (fVar19 < fVar18) { - *(float *)(piVar10 + 2) = fVar19 - 0.00006104; - } - if (fVar19 < fVar20) { - if (fVar20 < fVar18) { - *(float *)(piVar11 + 2) = fVar19 - 0.00009155; - } - else { - *(float *)(piVar11 + 2) = fVar19 - 0.00003052; - } - } - } - } - if (fVar14 < 0.00000000) { - fVar19 = (float)piStack8[2]; - if (fVar17 < fVar19) { - if ((float)piVar10[2] < fVar19) { - if (fVar17 < (float)piVar10[2]) { - *(float *)(piVar10 + 2) = fVar17 - 0.00006104; - fVar19 = (float)piStack8[2]; - fVar13 = (float)piVar11[2]; - } - else { - fVar13 = (float)piVar11[2]; - } - } - else { - fVar13 = (float)piVar11[2]; - } - if ((fVar13 < fVar19) && (fVar17 < fVar13)) { - if (fVar20 < fVar18) { - *(float *)(piVar11 + 2) = fVar17 - 0.00009155; - } - else { - *(float *)(piVar11 + 2) = fVar17 - 0.00003052; - } - } - *(float *)(piStack8 + 2) = fVar17 - 0.00001526; - } - } - else { - if ((0.00000000 <= fVar14) && ((float)piStack8[2] < fVar17)) { - *(float *)(piVar12 + 2) = (float)piStack8[2] - 0.00001526; - if ((fVar17 < fVar18) && ((float)piVar10[2] < (float)piVar12[2])) { - *(float *)(piVar12 + 2) = (float)piVar10[2] - 0.00001526; - } - if ((fVar17 < fVar20) && ((float)piVar11[2] < (float)piVar12[2])) { - *(float *)(piVar12 + 2) = (float)piVar11[2] - 0.00001526; - } - } - } - } - } - return; -} - - - -int loc_7F06BC00(int param_1) - -{ - undefined *puVar1; - undefined *puVar2; - int iVar3; - int iVar4; - undefined *puVar5; - undefined *puVar6; - undefined *puVar7; - float fVar8; - float fVar9; - undefined auStack40 [20]; - undefined auStack20 [20]; - - if (param_1 != 0) { - iVar4 = param_1; - if (*(int *)(param_1 + 0xc) != 0) { - iVar3 = *(int *)(param_1 + 0xc); - do { - iVar4 = iVar3; - iVar3 = *(int *)(iVar4 + 0xc); - } while (*(int *)(iVar4 + 0xc) != 0); - } - puVar6 = auStack20; - *(undefined **)(param_1 + 0x10) = puVar6; - *(undefined **)(iVar4 + 0xc) = auStack40; - do { - puVar1 = *(undefined **)(puVar6 + 0xc); - puVar5 = NULL; - if (puVar1 != auStack40) { - fVar8 = -4294967296.00000000; - fVar9 = *(float *)(puVar1 + 8); - puVar7 = puVar1; - while( true ) { - if (fVar8 < fVar9) { - puVar2 = *(undefined **)(puVar7 + 0xc); - puVar5 = puVar7; - } - else { - puVar2 = *(undefined **)(puVar7 + 0xc); - fVar9 = fVar8; - } - if (puVar2 == auStack40) break; - fVar8 = fVar9; - fVar9 = *(float *)(puVar2 + 8); - puVar7 = puVar2; - } - } - if (puVar5 != NULL) { - *(undefined4 *)(*(int *)(puVar5 + 0xc) + 0x10) = *(undefined4 *)(puVar5 + 0x10); - *(undefined4 *)(*(int *)(puVar5 + 0x10) + 0xc) = *(undefined4 *)(puVar5 + 0xc); - *(undefined **)(puVar5 + 0x10) = puVar6; - *(undefined4 *)(puVar5 + 0xc) = *(undefined4 *)(puVar6 + 0xc); - *(undefined **)(*(int *)(puVar6 + 0xc) + 0x10) = puVar5; - *(undefined **)(puVar6 + 0xc) = puVar5; - puVar1 = puVar5; - } - puVar6 = puVar1; - } while (puVar6 != auStack40); - *(undefined4 *)(param_1 + 0x10) = 0; - *(undefined4 *)(iVar4 + 0xc) = 0; - } - return param_1; -} - - - -void loc_7F06BDE4(int param_1,uint *param_2,undefined4 param_3,int param_4) - -{ - ushort uVar1; - ushort *puVar2; - undefined4 *puVar3; - bool bVar4; - uint uVar5; - uint uVar6; - longlong lVar7; - longlong extraout_a2; - longlong extraout_a2_00; - longlong extraout_a3; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 uVar8; - longlong extraout_a3_00; - longlong extraout_a3_01; - longlong extraout_a3_02; - longlong extraout_a3_03; - ushort *puVar9; - ushort *puVar10; - int iVar11; - float fVar12; - - lVar7 = (longlong)param_4; - if (*(int *)(param_1 + 0xc) == 0) { - FUN_7000cf84((byte *)s_drawjointlist__no_gfxlist__80054450,(uint)param_2,param_3,param_4); - FUN_7f06ca5c(); - lVar7 = extraout_a3; - } - if (param_2 == NULL) { - return; - } - uVar5 = *param_2; -LAB_7f06c248: - uVar8 = (undefined4)lVar7; - lVar7 = (longlong)(int)uVar5; - puVar2 = (ushort *)param_2[1]; - uVar6 = *(uint *)(uVar5 + 8); - if (uVar6 == 0) { - FUN_7000cf84((byte *)s_drawjointlist__no_object___0x_X__8005446c,uVar5,uVar5,uVar8); - FUN_7f06ca5c(); - uVar6 = *(uint *)(*param_2 + 8); - iVar11 = *(int *)(uVar6 + 0x1c); - lVar7 = extraout_a2; - uVar8 = extraout_a3_lo; - } - else { - iVar11 = *(int *)(uVar6 + 0x1c); - } - if (iVar11 == 0) { - FUN_7000cf84((byte *)s_drawjointlist__object_not_initia_80054490,uVar6,(int)lVar7,uVar8); - FUN_7f06ca5c(); - iVar11 = *(int *)(param_1 + 0x18); - lVar7 = extraout_a2_00; - uVar8 = extraout_a3_lo_00; - } - else { - iVar11 = *(int *)(param_1 + 0x18); - } - if (iVar11 == 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xbc000c06; - uVar5 = osVirtualToPhysical(*(uint *)(*param_2 + 0xc)); - puVar3[1] = uVar5; - lVar7 = extraout_a3_01; - puVar9 = puVar2; - } - else { - fVar12 = FUN_7f06d480(*param_2,puVar2,lVar7,uVar8); - lVar7 = extraout_a3_00; - puVar9 = puVar2; - if ((float)param_2[2] < fVar12) { - lVar7 = extraout_a3_00; - puVar9 = NULL; - } - } - if (puVar9 != NULL) { - uVar1 = *puVar9; - do { - bVar4 = true; - if (false) { -switchD_7f06c32c_caseD_4: - loc_7F074678(param_1,*param_2,puVar9); - lVar7 = extraout_a3_03; - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - if (puVar9 == puVar2) { - loc_7F074678(param_1,*param_2,puVar9); - lVar7 = extraout_a3_02; - } - else { - bVar4 = false; - } - break; - default: - goto switchD_7f06c32c_caseD_4; - } - } - if ((!bVar4) || (puVar10 = *(ushort **)(puVar9 + 10), puVar10 == NULL)) { - while (puVar10 = puVar9, puVar9 != NULL) { - if (puVar9 == puVar2) { - puVar10 = NULL; - break; - } - puVar10 = *(ushort **)(puVar9 + 6); - if (puVar10 != NULL) break; - puVar9 = *(ushort **)(puVar9 + 4); - } - } - if (puVar10 == NULL) goto code_r0x7f06c3c4; - uVar1 = *puVar10; - puVar9 = puVar10; - } while( true ); - } - param_2 = (uint *)param_2[3]; - goto LAB_7f06c3c8; -code_r0x7f06c3c4: - param_2 = (uint *)param_2[3]; -LAB_7f06c3c8: - if (param_2 == NULL) { - return; - } - uVar5 = *param_2; - goto LAB_7f06c248; -} - - - -undefined4 loc_7F06BFE8(int **param_1,float *param_2,float *param_3,int *param_4,ushort **param_5) - -{ - ushort *puVar1; - bool bVar2; - longlong lVar3; - ushort *puVar4; - ushort *puVar5; - int *piVar6; - - piVar6 = *param_1; - if (piVar6 == NULL) { -LAB_7f06c5cc: - *param_1 = NULL; - return 0; - } - puVar5 = *param_5; - do { - puVar1 = (ushort *)piVar6[1]; - bVar2 = true; - puVar4 = puVar1; - if (puVar5 != NULL) { - *param_5 = NULL; - puVar4 = puVar5; - } - if (puVar4 == NULL) { - piVar6 = (int *)piVar6[4]; - } - else { - do { - if ((!bVar2) || (puVar5 = *(ushort **)(puVar4 + 10), puVar5 == NULL)) { - while (puVar5 = puVar4, puVar4 != NULL) { - if (puVar4 == puVar1) { - puVar5 = NULL; - break; - } - puVar5 = *(ushort **)(puVar4 + 6); - if (puVar5 != NULL) break; - puVar4 = *(ushort **)(puVar4 + 4); - } - if (puVar5 == NULL) { - piVar6 = (int *)piVar6[4]; - goto LAB_7f06c5c4; - } - } - bVar2 = true; - if (true) { - switch((uint)*puVar5 & 0xff) { - case 1: - case 2: - case 3: - case 0x15: - bVar2 = false; - break; - case 8: - FUN_7f06ef60(*piVar6,puVar5); - break; - case 10: - lVar3 = FUN_7f075258(*piVar6,puVar5,param_2,param_3); - if (lVar3 != 0) { - *param_4 = *piVar6; - *param_5 = puVar5; - *param_1 = piVar6; - return **(undefined4 **)(puVar5 + 2); - } - bVar2 = false; - break; - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - bVar2 = false; - break; - case 0x11: - lVar3 = loc_7F0752F0(*piVar6,puVar5,param_2,param_3); - if (lVar3 != 0) { - *param_4 = *piVar6; - *param_5 = puVar5; - *param_1 = piVar6; - return **(undefined4 **)(puVar5 + 2); - } - bVar2 = false; - break; - case 0x12: - FUN_7f06efac(*piVar6,puVar5); - break; - case 0x17: - FUN_7f06eff8(*piVar6,puVar5); - } - } - puVar4 = puVar5; - } while (puVar5 != NULL); - piVar6 = (int *)piVar6[4]; - } -LAB_7f06c5c4: - if (piVar6 == NULL) goto LAB_7f06c5cc; - puVar5 = *param_5; - } while( true ); -} - - - -undefined4 loc_7F06C03C(int **param_1,float *param_2,float *param_3,int *param_4,ushort **param_5) - -{ - int *piVar1; - int *piVar2; - undefined4 uVar3; - - piVar1 = *param_1; - piVar2 = (int *)(*param_1)[3]; - while (piVar2 != NULL) { - piVar1 = piVar2; - piVar2 = (int *)piVar2[3]; - } - *param_1 = piVar1; - *param_4 = 0; - *param_5 = NULL; - uVar3 = loc_7F06BFE8(param_1,param_2,param_3,param_4,param_5); - return uVar3; -} - - - -ulonglong locret_7F06C08C(int param_1,int param_2) - -{ - short sVar1; - bool bVar2; - ulonglong uVar3; - - sVar1 = *(short *)(param_2 + 0x14); - uVar3 = (ulonglong)(sVar1 < 1); - if ((sVar1 >= 1) && (bVar2 = *(int *)(param_1 + 0x10) != 0, uVar3 = (ulonglong)bVar2, bVar2)) { - uVar3 = (ulonglong)(*(short *)(param_1 + 2) < sVar1) ^ 1; - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f06c684(ushort **param_1) - -{ - short sVar1; - int iVar3; - ulonglong uVar2; - int iVar4; - uint uVar5; - undefined2 uStack10; - uint uStack8; - - uVar5 = 0; - uStack8 = 0; - uStack10 = 0xffff; - if (DAT_800360b8 == 0) { - iVar4 = 0; - iVar3 = 0; - if (0 < DAT_800360b4) { - do { - if ((*(int *)(_DAT_80079974 + iVar3 + 8) == 0) && - (uVar2 = locret_7F06C08C(iVar4 * 0x20 + _DAT_80079974,(int)param_1), uVar2 != 0)) { - uStack8 = *(uint *)(_DAT_80079974 + iVar3 + 0x10); - uVar5 = iVar4 * 0x20 + _DAT_80079974; - uStack10 = *(undefined2 *)(_DAT_80079974 + iVar3 + 2); - break; - } - iVar4 += 1; - iVar3 += 0x20; - } while (iVar4 < DAT_800360b4); - } - } - else { - iVar3 = 0; - iVar4 = _DAT_80079974; - if (0 < DAT_800360b4 + -0x1e) { - do { - if (*(int *)(iVar4 + 8) == 0) { - uVar5 = iVar3 * 0x20 + _DAT_80079974; - break; - } - iVar3 += 1; - iVar4 = iVar4 + 0x20; - } while (iVar3 < DAT_800360b4 + -0x1e); - } - if (uVar5 == 0) { - uVar5 = FUN_70009730(0x20,4); - sVar1 = *(short *)(param_1 + 5); - } - else { - sVar1 = *(short *)(param_1 + 5); - } - if (0 < sVar1) { - uStack8 = FUN_70009730(((int)sVar1 * 4 + 0xfU | 0xf) ^ 0xf,4); - uStack10 = *(undefined2 *)(param_1 + 5); - } - } - if (uVar5 != 0) { - sub_7F075F68(uVar5,param_1,uStack8); - *(undefined2 *)(uVar5 + 2) = uStack10; - } - return uVar5; -} - - - -void FUN_7f06c824(int param_1) - -{ - *(undefined4 *)(param_1 + 8) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f06c82c(ushort **param_1) - -{ - int *piVar1; - int iVar2; - int iVar3; - int iVar4; - undefined2 uVar5; - uint uVar6; - uint local_8; - - uVar6 = 0; - local_8 = 0; - uVar5 = 0xffff; - if (DAT_800360b8 == 0) { - iVar2 = 0; - if (0 < DAT_800360b0) { - iVar4 = 0; - iVar3 = _DAT_80079970; - do { - iVar2 += 1; - if (*(int *)(iVar3 + 8) == 0) { - if (*(short *)(param_1 + 5) < 1) { - local_8 = *(uint *)(iVar3 + 0x10); - } - else { - if ((*(int *)(iVar3 + 0x10) == 0) || (*(short *)(iVar3 + 2) < *(short *)(param_1 + 5))) - goto LAB_7f06c964; - local_8 = *(uint *)(iVar3 + 0x10); - } - uVar6 = iVar4 + _DAT_80079970; - uVar5 = *(undefined2 *)(iVar3 + 2); - break; - } -LAB_7f06c964: - iVar4 += 0xbc; - iVar3 += 0xbc; - } while (iVar2 < DAT_800360b0); - } - } - else { - iVar2 = 0; - if (0 < DAT_800360b0 + -10) { - iVar4 = 0; - iVar3 = _DAT_80079970; - do { - piVar1 = (int *)(iVar3 + 8); - iVar2 += 1; - iVar3 += 0xbc; - if (*piVar1 == 0) { - uVar6 = iVar4 + _DAT_80079970; - break; - } - iVar4 += 0xbc; - } while (iVar2 < DAT_800360b0 + -10); - } - if (uVar6 == 0) { - uVar6 = FUN_70009730(0xc0,4); - } - uVar5 = 0xffff; - if (0 < *(short *)(param_1 + 5)) { - local_8 = FUN_70009730(((int)*(short *)(param_1 + 5) * 4 + 0xfU | 0xf) ^ 0xf,4); - uVar5 = *(undefined2 *)(param_1 + 5); - } - } - if (uVar6 != 0) { - FUN_7f07659c(uVar6,param_1,local_8); - *(undefined2 *)(uVar6 + 2) = uVar5; - } - return uVar6; -} - - - -void FUN_7f06c9a4(int param_1,ushort *param_2,ushort **param_3) - -{ - FUN_7f076620(param_1,*(int *)(param_1 + 8),param_2,param_3); - loc_7F075F4C(param_1,*param_3); - return; -} - - - -void FUN_7f06c9e8(int param_1) - -{ - *(undefined4 *)(param_1 + 8) = 0; - return; -} - - - -void FUN_7f06c9f0(undefined4 param_1) - -{ - DAT_800360c4 = param_1; - return; -} - - - -void FUN_7f06c9fc(undefined4 param_1) - -{ - DAT_800360c8 = param_1; - return; -} - - - -void FUN_7f06ca50(undefined4 param_1) - -{ - DAT_800360cc = param_1; - return; -} - - - -void FUN_7f06ca5c(void) - -{ - return; -} - - - -void FUN_7f06ca64(int param_1,float *param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = FUN_7f06cc90(param_1,(uint)param_2,param_3,param_4); - fVar3 = -*(float *)(iVar1 + 0x30); - fVar4 = -*(float *)(iVar1 + 0x34); - fVar5 = -*(float *)(iVar1 + 0x38); - fVar2 = sqrtf(fVar3 * fVar3 + fVar4 * fVar4 + fVar5 * fVar5); - if (0.00000000 < fVar2) { - fVar2 = 1.00000000 / (*(float *)(param_1 + 0x14) * fVar2); - *param_2 = fVar3 * fVar2; - param_2[1] = fVar4 * fVar2; - param_2[2] = fVar5 * fVar2; - } - else { - *param_2 = 0.00000000; - param_2[1] = 0.00000000; - param_2[2] = 1.00000000 / *(float *)(param_1 + 0x14); - } - return; -} - - - -void FUN_7f06cb40(int param_1,float *param_2,undefined4 param_3,undefined4 param_4) - -{ - FUN_7f06ca64(param_1,param_2,param_3,param_4); - return; -} - - - -undefined2 loc_7F06C654(ushort *param_1,longlong param_2) - -{ - uint uVar1; - ushort uVar2; - - if (param_1 != NULL) { - uVar2 = *param_1; - while( true ) { - uVar2 &= 0xff; - if (uVar2 == 1) { - return *(undefined2 *)(*(int *)(param_1 + 2) + 2); - } - if (uVar2 == 2) { - if (param_2 == 0x200) { - uVar1 = 2; - } - else { - uVar1 = (uint)(param_2 == 0x100); - } - return *(undefined2 *)(*(int *)(param_1 + 2) + uVar1 * 2 + 0xe); - } - if (uVar2 == 3) { - if (param_2 == 0x200) { - uVar1 = 2; - } - else { - uVar1 = (uint)(param_2 == 0x100); - } - return *(undefined2 *)(*(int *)(param_1 + 2) + uVar1 * 2 + 0xe); - } - if (uVar2 == 0x15) { - return *(undefined2 *)(*(int *)(param_1 + 2) + 0xc); - } - param_1 = *(ushort **)(param_1 + 4); - if (param_1 == NULL) break; - uVar2 = *param_1; - } - } - return 0xffff; -} - - - -int FUN_7f06cc50(int param_1,ushort *param_2,longlong param_3) - -{ - short sVar2; - int iVar1; - - sVar2 = loc_7F06C654(param_2,param_3); - if (sVar2 < 0) { - iVar1 = 0; - } - else { - iVar1 = *(int *)(param_1 + 0xc) + (int)sVar2 * 0x40; - } - return iVar1; -} - - - -int FUN_7f06cc90(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort **ppuVar1; - int iVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - - if (param_1 == 0) { - FUN_7000cf84((byte *)s_getsubmatrix__no_objinst__80054630,param_2,param_3,param_4); - FUN_7f06ca5c(); - param_2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - ppuVar1 = *(ushort ***)(param_1 + 8); - if (ppuVar1 == NULL) { - FUN_7000cf84((byte *)s_getsubmatrix__objinst_has_no_obj_8005464c,param_2,param_3,param_4); - FUN_7f06ca5c(); - ppuVar1 = *(ushort ***)(param_1 + 8); - } - iVar2 = FUN_7f06cc50(param_1,*ppuVar1,0); - return iVar2; -} - - - -void FUN_7f06cd00(int param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - - iVar1 = FUN_7f06cc90(param_1,(uint)param_2,param_3,param_4); - if (iVar1 == 0) { - *param_2 = 0; - param_2[1] = 0; - param_2[2] = 0; - } - else { - *param_2 = *(undefined4 *)(iVar1 + 0x30); - param_2[1] = *(undefined4 *)(iVar1 + 0x34); - param_2[2] = *(undefined4 *)(iVar1 + 0x38); - } - return; -} - - - -float FUN_7f06cd58(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7f06cc90(param_1,param_2,param_3,param_4); - if (iVar1 == 0) { - fVar2 = 0.00000000; - } - else { - fVar2 = -*(float *)(iVar1 + 0x38); - } - return fVar2; -} - - - -int loc_7F06C888(int param_1,ushort *param_2) - -{ - ushort uVar1; - ushort *param_2_00; - int iVar2; - uint uVar3; - - uVar3 = 0; - iVar2 = *(int *)(param_1 + 0x10); - if (true) { - switch((uint)*param_2 & 0xff) { - case 1: - uVar3 = (uint)*(ushort *)(*(int *)(param_2 + 2) + 0xc); - break; - case 7: - uVar3 = (uint)*(ushort *)(*(int *)(param_2 + 2) + 0x1aa); - break; - case 8: - uVar3 = (uint)*(ushort *)(*(int *)(param_2 + 2) + 0xc); - break; - case 9: - uVar3 = (uint)*(ushort *)(*(int *)(param_2 + 2) + 0x22); - break; - case 0xb: - uVar3 = (uint)*(ushort *)(*(int *)(param_2 + 2) + 0x44); - break; - case 0xc: - uVar3 = (uint)*(ushort *)(*(int *)(param_2 + 2) + 0x20); - break; - case 0x12: - uVar3 = (uint)*(ushort *)(*(int *)(param_2 + 2) + 4); - break; - case 0x17: - uVar3 = (uint)**(ushort **)(param_2 + 2); - break; - case 0x18: - uVar3 = (uint)*(ushort *)(*(int *)(param_2 + 2) + 0x1a); - } - } - param_2_00 = *(ushort **)(param_2 + 4); - if (param_2_00 != NULL) { - uVar1 = *param_2_00; - while ((uVar1 & 0xff) != 0x17) { - param_2_00 = *(ushort **)(param_2_00 + 4); - if (param_2_00 == NULL) goto LAB_7f06ce78; - uVar1 = *param_2_00; - } - iVar2 = loc_7F06C888(param_1,param_2_00); - iVar2 = *(int *)(iVar2 + 4); - } -LAB_7f06ce78: - return (int)(uVar3 * 4 + iVar2); -} - - - -void FUN_7f06ce88(longlong param_1,ushort *param_2,undefined4 *param_3,undefined4 param_4) - -{ - undefined4 *puVar1; - int iVar2; - undefined4 extraout_a3_lo; - ushort uVar3; - - if (param_1 == 0) { - FUN_7000cf84((byte *)s_getpartoffset__no_objinst__80054674,(uint)param_2,param_3,param_4); - FUN_7f06ca5c(); - param_4 = extraout_a3_lo; - } - if (param_2 == NULL) { - FUN_7000cf84((byte *)s_getpartoffset__no_partdesc__80054690,0,param_3,param_4); - FUN_7f06ca5c(); - } - uVar3 = *param_2 & 0xff; - if (uVar3 == 1) { - iVar2 = loc_7F06C888((int)param_1,param_2); - *param_3 = *(undefined4 *)(iVar2 + 8); - param_3[1] = *(undefined4 *)(iVar2 + 0xc); - param_3[2] = *(undefined4 *)(iVar2 + 0x10); - } - else { - if (uVar3 == 2) { - puVar1 = *(undefined4 **)(param_2 + 2); - *param_3 = *puVar1; - param_3[1] = puVar1[1]; - param_3[2] = puVar1[2]; - } - else { - if (uVar3 == 3) { - puVar1 = *(undefined4 **)(param_2 + 2); - *param_3 = *puVar1; - param_3[1] = puVar1[1]; - param_3[2] = puVar1[2]; - } - else { - if (uVar3 == 0x15) { - puVar1 = *(undefined4 **)(param_2 + 2); - *param_3 = *puVar1; - param_3[1] = puVar1[1]; - param_3[2] = puVar1[2]; - } - else { - *param_3 = 0; - param_3[1] = 0; - param_3[2] = 0; - } - } - } - } - return; -} - - - -void FUN_7f06cfc0(longlong param_1,ushort *param_2,float *param_3,undefined4 param_4) - -{ - float *pfVar1; - int iVar2; - undefined4 extraout_a3_lo; - ushort uVar3; - float fVar4; - float fVar5; - - if (param_1 == 0) { - FUN_7000cf84((byte *)s_setpartoffset__no_objinst__800546ac,(uint)param_2,param_3,param_4); - FUN_7f06ca5c(); - param_4 = extraout_a3_lo; - } - if (param_2 == NULL) { - FUN_7000cf84((byte *)s_setpartoffset__no_partdesc__800546c8,0,param_3,param_4); - FUN_7f06ca5c(); - } - uVar3 = *param_2 & 0xff; - if (uVar3 == 1) { - iVar2 = loc_7F06C888((int)param_1,param_2); - fVar4 = *param_3 - *(float *)(iVar2 + 8); - fVar5 = param_3[2] - *(float *)(iVar2 + 0x10); - *(float *)(iVar2 + 8) = *param_3; - *(float *)(iVar2 + 0xc) = param_3[1]; - *(float *)(iVar2 + 0x10) = param_3[2]; - *(float *)(iVar2 + 0x24) = *(float *)(iVar2 + 0x24) + fVar4; - *(float *)(iVar2 + 0x2c) = *(float *)(iVar2 + 0x2c) + fVar5; - *(float *)(iVar2 + 0x34) = *(float *)(iVar2 + 0x34) + fVar4; - *(float *)(iVar2 + 0x3c) = *(float *)(iVar2 + 0x3c) + fVar5; - *(float *)(iVar2 + 0x40) = *(float *)(iVar2 + 0x40) + fVar4; - *(float *)(iVar2 + 0x48) = *(float *)(iVar2 + 0x48) + fVar5; - *(float *)(iVar2 + 0x4c) = *(float *)(iVar2 + 0x4c) + fVar4; - *(float *)(iVar2 + 0x54) = *(float *)(iVar2 + 0x54) + fVar5; - } - else { - if (uVar3 == 2) { - pfVar1 = *(float **)(param_2 + 2); - *pfVar1 = *param_3; - pfVar1[1] = param_3[1]; - pfVar1[2] = param_3[2]; - } - else { - if (uVar3 == 3) { - pfVar1 = *(float **)(param_2 + 2); - *pfVar1 = *param_3; - pfVar1[1] = param_3[1]; - pfVar1[2] = param_3[2]; - } - else { - if (uVar3 == 0x15) { - pfVar1 = *(float **)(param_2 + 2); - *pfVar1 = *param_3; - pfVar1[1] = param_3[1]; - pfVar1[2] = param_3[2]; - } - } - } - } - return; -} - - - -void FUN_7f06d188(int param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort **ppuVar1; - undefined4 *extraout_a1_lo; - undefined4 *puVar2; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - - puVar2 = param_2; - if (param_1 == 0) { - FUN_7000cf84((byte *)s_getsuboffset__no_objinst__800546e4,(uint)param_2,param_3,param_4); - FUN_7f06ca5c(); - puVar2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - ppuVar1 = *(ushort ***)(param_1 + 8); - if (ppuVar1 == NULL) { - FUN_7000cf84((byte *)s_getsuboffset__objinst_has_no_obj_80054700,(uint)puVar2,param_3,param_4); - FUN_7f06ca5c(); - ppuVar1 = *(ushort ***)(param_1 + 8); - param_4 = extraout_a3_lo_00; - } - FUN_7f06ce88((longlong)param_1,*ppuVar1,param_2,param_4); - return; -} - - - -void FUN_7f06d1fc(int param_1,float *param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort **ppuVar1; - float *extraout_a1_lo; - float *pfVar2; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - - pfVar2 = param_2; - if (param_1 == 0) { - FUN_7000cf84((byte *)s_setsuboffset__no_objinst__80054728,(uint)param_2,param_3,param_4); - FUN_7f06ca5c(); - pfVar2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - ppuVar1 = *(ushort ***)(param_1 + 8); - if (ppuVar1 == NULL) { - FUN_7000cf84((byte *)s_setsuboffset__objinst_has_no_obj_80054744,(uint)pfVar2,param_3,param_4); - FUN_7f06ca5c(); - ppuVar1 = *(ushort ***)(param_1 + 8); - param_4 = extraout_a3_lo_00; - } - FUN_7f06cfc0((longlong)param_1,*ppuVar1,param_2,param_4); - return; -} - - - -ushort ** FUN_7f06d270(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort uVar1; - ushort *puVar2; - ushort **ppuVar3; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - - if (param_1 == 0) { - FUN_7000cf84((byte *)s_getsubroty__no_objinst__8005476c,param_2,param_3,param_4); - FUN_7f06ca5c(); - param_2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - ppuVar3 = *(ushort ***)(param_1 + 8); - if (ppuVar3 == NULL) { - FUN_7000cf84((byte *)s_getsubroty__objinst_has_no_objec_80054784,param_2,param_3,param_4); - FUN_7f06ca5c(); - ppuVar3 = *(ushort ***)(param_1 + 8); - puVar2 = *ppuVar3; - param_2 = extraout_a1_lo_00; - param_3 = extraout_a2_lo_00; - param_4 = extraout_a3_lo_00; - } - else { - puVar2 = *ppuVar3; - } - if (puVar2 == NULL) { - FUN_7000cf84((byte *)s_getsubroty__objinst_has_no_root_p_800547a8,param_2,param_3,param_4); - ppuVar3 = (ushort **)FUN_7f06ca5c(); - puVar2 = **(ushort ***)(param_1 + 8); - uVar1 = *puVar2; - } - else { - uVar1 = *puVar2; - } - if ((uVar1 & 0xff) == 1) { - ppuVar3 = (ushort **)loc_7F06C888(param_1,puVar2); - } - return ppuVar3; -} - - - -void FUN_7f06d32c(int param_1,float param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort uVar1; - ushort *puVar2; - int iVar3; - float extraout_a1_lo; - float extraout_a1_lo_00; - float fVar4; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float fVar5; - float fVar6; - - fVar4 = param_2; - if (param_1 == 0) { - FUN_7000cf84((byte *)s_setsubroty__no_objinst__800547d0,(uint)param_2,param_3,param_4); - FUN_7f06ca5c(); - fVar4 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - if (*(ushort ***)(param_1 + 8) == NULL) { - FUN_7000cf84((byte *)s_setsubroty__objinst_has_no_objec_800547e8,(uint)fVar4,param_3,param_4); - FUN_7f06ca5c(); - puVar2 = **(ushort ***)(param_1 + 8); - fVar4 = extraout_a1_lo_00; - param_3 = extraout_a2_lo_00; - param_4 = extraout_a3_lo_00; - } - else { - puVar2 = **(ushort ***)(param_1 + 8); - } - if (puVar2 == NULL) { - FUN_7000cf84((byte *)s_setsubroty__objinst_has_no_root_p_8005480c,(uint)fVar4,param_3,param_4); - FUN_7f06ca5c(); - puVar2 = **(ushort ***)(param_1 + 8); - uVar1 = *puVar2; - } - else { - uVar1 = *puVar2; - } - if ((uVar1 & 0xff) == 1) { - iVar3 = loc_7F06C888(param_1,puVar2); - fVar4 = DAT_80054b8c; - fVar5 = param_2 - *(float *)(iVar3 + 0x14); - if (fVar5 < 0.00000000) { - fVar5 = fVar5 + DAT_80054b88; - fVar6 = *(float *)(iVar3 + 0x30); - } - else { - fVar6 = *(float *)(iVar3 + 0x30); - } - *(float *)(iVar3 + 0x30) = fVar6 + fVar5; - if (fVar4 <= *(float *)(iVar3 + 0x30)) { - *(float *)(iVar3 + 0x30) = *(float *)(iVar3 + 0x30) - fVar4; - fVar6 = *(float *)(iVar3 + 0x20); - } - else { - fVar6 = *(float *)(iVar3 + 0x20); - } - *(float *)(iVar3 + 0x20) = fVar6 + fVar5; - if (fVar4 <= *(float *)(iVar3 + 0x20)) { - *(float *)(iVar3 + 0x20) = *(float *)(iVar3 + 0x20) - fVar4; - } - *(float *)(iVar3 + 0x14) = param_2; - } - return; -} - - - -void set_obj_instance_controller_scale(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 0x14) = param_2; - return; -} - - - -void sub_7F06CE84(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 0xb8) = param_2; - return; -} - - - -float FUN_7f06d480(int param_1,ushort *param_2,undefined8 param_3,undefined4 param_4) - -{ - ushort uVar1; - - if (param_1 == 0) { - FUN_7000cf84((byte *)s_getjointsize__no_objinst__80054834,(uint)param_2,0,param_4); - FUN_7f06ca5c(); - } - if (param_2 != NULL) { - uVar1 = *param_2; - while( true ) { - if (true) { - switch((uint)uVar1 & 0xff) { - case 1: - return *(float *)(*(int *)(param_2 + 2) + 8) * *(float *)(param_1 + 0x14); - case 2: - return *(float *)(*(int *)(param_2 + 2) + 0x18) * *(float *)(param_1 + 0x14); - case 3: - return *(float *)(*(int *)(param_2 + 2) + 0x18) * *(float *)(param_1 + 0x14); - case 0xb: - return *(float *)(*(int *)(param_2 + 2) + 0x40) * *(float *)(param_1 + 0x14); - case 0xc: - return *(float *)(*(int *)(param_2 + 2) + 0x1c) * *(float *)(param_1 + 0x14); - case 0xd: - return *(float *)(*(int *)(param_2 + 2) + 0x18) * *(float *)(param_1 + 0x14); - case 0xe: - return *(float *)(*(int *)(param_2 + 2) + 0xc) * *(float *)(param_1 + 0x14); - case 0xf: - return *(float *)(*(int *)(param_2 + 2) + 0x18) * *(float *)(param_1 + 0x14); - case 0x10: - return *(float *)(*(int *)(param_2 + 2) + 0x14) * *(float *)(param_1 + 0x14); - case 0x15: - return *(float *)(*(int *)(param_2 + 2) + 0x10) * *(float *)(param_1 + 0x14); - } - } - param_2 = *(ushort **)(param_2 + 4); - if (param_2 == NULL) break; - uVar1 = *param_2; - } - } - return 0.00000000; -} - - - -float FUN_7f06d5fc(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - - if (param_1 == 0) { - FUN_7000cf84((byte *)s_getinstsize__no_objinst__80054850,param_2,param_3,param_4); - FUN_7f06ca5c(); - param_2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - iVar1 = *(int *)(param_1 + 8); - if (iVar1 == 0) { - FUN_7000cf84((byte *)s_getinstsize__no_objdesc__8005486c,param_2,param_3,param_4); - FUN_7f06ca5c(); - iVar1 = *(int *)(param_1 + 8); - } - return *(float *)(iVar1 + 0x10) * *(float *)(param_1 + 0x14); -} - - - -void sub_7F06D07C(float *param_1,float *param_2,float param_3) - -{ - *param_1 = *param_1 + (*param_2 - *param_1) * param_3; - param_1[1] = param_1[1] + (param_2[1] - param_1[1]) * param_3; - param_1[2] = param_1[2] + (param_2[2] - param_1[2]) * param_3; - return; -} - - - -float FUN_7f06d6bc(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5) - -{ - float fVar1; - - fVar1 = param_2 - param_1; - if (param_2 < param_1) { - fVar1 = fVar1 + DAT_80054be4; - } - if (fVar1 < DAT_80054bec) { - param_1 = param_1 + fVar1 * param_5; - if (DAT_80054be8 <= param_1) { - return param_1 - DAT_80054be8; - } - } - else { - param_1 = param_1 - (DAT_80054be8 - fVar1) * param_5; - if (param_1 < 0.00000000) { - param_1 = param_1 + DAT_80054be8; - } - } - return param_1; -} - - - -void FUN_7f06d750(undefined8 param_1,undefined8 param_2,float param_3) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined4 extraout_a1_hi; - undefined4 extraout_a1_hi_00; - float *pfVar1; - undefined4 extraout_a1_lo; - undefined4 extraout_a1_lo_00; - float fVar2; - - pfVar1 = (float *)param_2; - extraout_a0._4_4_ = (float *)param_1; - fVar2 = FUN_7f06d6bc(*extraout_a0._4_4_,*pfVar1,param_1,param_2,param_3); - *extraout_a0._4_4_ = fVar2; - fVar2 = FUN_7f06d6bc(extraout_a0._4_4_[1],pfVar1[1],extraout_a0, - CONCAT44(extraout_a1_hi,extraout_a1_lo),param_3); - extraout_a0._4_4_[1] = fVar2; - fVar2 = FUN_7f06d6bc(extraout_a0._4_4_[2],pfVar1[2],extraout_a0_00, - CONCAT44(extraout_a1_hi_00,extraout_a1_lo_00),param_3); - extraout_a0._4_4_[2] = fVar2; - return; -} - - - -uint loc_7F06D2D8(int param_1,int param_2,int param_3) - -{ - byte bVar1; - ushort uVar2; - ushort *puVar3; - ulonglong uVar4; - byte *pbVar5; - ulonglong uVar6; - ulonglong uVar7; - uint uVar8; - - puVar3 = (ushort *)(*(int *)(param_1 + 8) + param_2 * 6); - bVar1 = *(byte *)(puVar3 + 1); - uVar4 = (ulonglong)bVar1; - uVar8 = 0; - if (bVar1 == 0) { - uVar2 = puVar3[2]; - } - else { - uVar7 = SEXT48((int)(8 - ((uint)*puVar3 + param_3 & 7))); - uVar6 = uVar7 & 0xff; - uVar6._4_4_ = (int)uVar6; - pbVar5 = (byte *)(*(int *)(param_1 + 0x10) + ((uint)*puVar3 + param_3 >> 3)); - if ((uVar7 & 0xff) <= uVar4) { - do { - uVar4 = (longlong)(int)((int)uVar4 - (uint)uVar6) & 0xff; - uVar8 |= ((uint)*pbVar5 & (1 << ((uint)uVar6 & 0x1f)) - 1U) << ((uint)uVar4 & 0x1f) & 0xffff - ; - pbVar5 = pbVar5 + 1; - uVar6 = 8; - uVar6._4_4_ = 8; - } while (7 < uVar4); - } - if (uVar4 != 0) { - uVar8 |= (int)(uint)*pbVar5 >> (uVar6._4_4_ - (uint)uVar4 & 0x1f) & - (1 << ((uint)uVar4 & 0x1f)) - 1U & 0xffff; - } - if ((bVar1 < 0x10) && ((uVar8 & 1 << ((uint)bVar1 + 0x1f & 0x1f)) != 0)) { - uVar8 |= (1 << (0x10 - (uint)bVar1 & 0x1f)) + -1 << ((uint)bVar1 & 0x1f) & 0xffffU; - } - uVar2 = puVar3[2]; - } - return uVar8 + (uint)uVar2 & 0xffff; -} - - - -uint loc_7F06D3DC(int param_1,longlong param_2,int param_3,int param_4,int param_5,short *param_6) - -{ - ushort uVar1; - uint uVar2; - uint uVar3; - - param_5 = (uint)*(ushort *)(param_4 + 0xc) * param_5; - if (param_2 == 0) { - uVar1 = *(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 2); - } - else { - uVar1 = *(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 4); - } - uVar2 = loc_7F06D2D8(param_4,(uint)uVar1,param_5); - *param_6 = (short)uVar2; - uVar2 = loc_7F06D2D8(param_4,(uint)uVar1 + 1,param_5); - param_6[1] = (short)uVar2; - uVar2 = loc_7F06D2D8(param_4,(uint)uVar1 + 2,param_5); - param_6[2] = (short)uVar2; - uVar2 = loc_7F06D2D8(param_4,(uint)uVar1 + 3,param_5); - uVar3 = uVar2 & 0xffff; - if (((int)param_2 != 0) && (*param_6 = -*param_6, uVar2 != 0)) { - uVar3 = 0x10000 - uVar2 & 0xffff; - } - return uVar3; -} - - - -float FUN_7f06d9e4(int param_1,longlong param_2,int param_3,int param_4,int param_5,float *param_6) - -{ - uint uVar1; - float fVar2; - short sStack8; - short sStack6; - short sStack4; - - uVar1 = loc_7F06D3DC(param_1,param_2,param_3,param_4,param_5,&sStack8); - *param_6 = (float)(int)sStack8; - fVar2 = (float)uVar1; - param_6[1] = (float)(int)sStack6; - param_6[2] = (float)(int)sStack4; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - return (fVar2 * DAT_80054bf0) / 65536.00000000; -} - - - -void FUN_7f06da80(int param_1,ushort *param_2) - -{ - char *pcVar2; - longlong lVar1; - undefined8 extraout_a0; - undefined8 extraout_a1; - int iVar3; - float fVar4; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - - pcVar2 = (char *)loc_7F06C888(param_1,param_2); - if (*pcVar2 == '\0') { - fStack16 = *(float *)(pcVar2 + 0x34); - fStack12 = *(float *)(pcVar2 + 0x38); - fStack8 = *(float *)(pcVar2 + 0x3c); - *(undefined4 *)(pcVar2 + 0x14) = *(undefined4 *)(pcVar2 + 0x30); - if (*(float *)(param_1 + 0x2c) == 0.00000000) { - iVar3 = *(int *)(param_1 + 0x54); - } - else { - if (pcVar2[1] == '\0') { - iVar3 = *(int *)(param_1 + 0x54); - } - else { - sub_7F06D07C(&fStack16,(float *)(pcVar2 + 0x24),*(float *)(param_1 + 0x2c)); - fVar4 = FUN_7f06d6bc(*(float *)(pcVar2 + 0x30),*(float *)(pcVar2 + 0x20),extraout_a0, - extraout_a1,*(float *)(param_1 + 0x2c)); - *(float *)(pcVar2 + 0x14) = fVar4; - iVar3 = *(int *)(param_1 + 0x54); - } - } - if (((iVar3 != 0) || (*(float *)(param_1 + 0x84) != 0.00000000)) && (pcVar2[2] != '\0')) { - fVar4 = *(float *)(pcVar2 + 0x50); - if (*(float *)(param_1 + 0x5c) != 0.00000000) { - fVar4 = fVar4 + (*(float *)(pcVar2 + 0x44) - fVar4) * *(float *)(param_1 + 0x5c); - } - fStack12 = fStack12 + (fVar4 - fStack12) * *(float *)(param_1 + 0x84); - } - fStack28 = fStack16; - fStack24 = fStack12; - fStack20 = fStack8; - if ((*(code **)(param_1 + 0xa0) == NULL) || - (lVar1 = (**(code **)(param_1 + 0xa0))(param_1,pcVar2 + 8,&fStack28,pcVar2 + 4), lVar1 != 0)) - { - fStack16 = fStack28 - fStack16; - fStack8 = fStack20 - fStack8; - *(float *)(pcVar2 + 8) = fStack28; - *(float *)(pcVar2 + 0xc) = fStack24 + *(float *)(pcVar2 + 4); - *(float *)(pcVar2 + 0x10) = fStack20; - *(float *)(pcVar2 + 0x34) = *(float *)(pcVar2 + 0x34) + fStack16; - *(float *)(pcVar2 + 0x3c) = *(float *)(pcVar2 + 0x3c) + fStack8; - if (pcVar2[1] != '\0') { - *(float *)(pcVar2 + 0x24) = *(float *)(pcVar2 + 0x24) + fStack16; - *(float *)(pcVar2 + 0x2c) = *(float *)(pcVar2 + 0x2c) + fStack8; - } - if (pcVar2[2] != '\0') { - *(float *)(pcVar2 + 0x4c) = *(float *)(pcVar2 + 0x4c) + fStack16; - *(float *)(pcVar2 + 0x54) = *(float *)(pcVar2 + 0x54) + fStack8; - *(float *)(pcVar2 + 0x40) = *(float *)(pcVar2 + 0x40) + fStack16; - *(float *)(pcVar2 + 0x48) = *(float *)(pcVar2 + 0x48) + fStack8; - } - } - } - return; -} - - - -void FUN_7f06dca0(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort *puVar1; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - - if (param_1 == 0) { - FUN_7000cf84((byte *)s_subcalcpos__no_objanim__80054888,param_2,param_3,param_4); - FUN_7f06ca5c(); - param_2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - if (*(ushort ***)(param_1 + 8) == NULL) { - FUN_7000cf84((byte *)s_subcalcpos__no_objdesc__800548a4,param_2,param_3,param_4); - FUN_7f06ca5c(); - puVar1 = **(ushort ***)(param_1 + 8); - } - else { - puVar1 = **(ushort ***)(param_1 + 8); - } - if ((puVar1 != NULL) && ((*puVar1 & 0xff) == 1)) { - FUN_7f06da80(param_1,puVar1); - } - return; -} - - - -void loc_7F06D8A4(float **param_1,int param_2,ushort *param_3) - -{ - int iVar1; - longlong extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - longlong lVar2; - longlong extraout_a1; - longlong lVar3; - float *pfVar4; - float fVar5; - float afStack96 [16]; - float *pfStack32; - float *pfStack24; - float fStack20; - float *pfStack16; - float fStack12; - int iStack8; - int iStack4; - - iStack4 = *(int *)(param_3 + 2); - iVar1 = loc_7F06C888(param_2,param_3); - lVar3 = (longlong)param_2; - pfStack16 = (float *)(iVar1 + 8); - fStack12 = *(float *)(param_2 + 0x14); - fVar5 = *(float *)(iVar1 + 0x14); - pfStack32 = (float *)(*(int *)(param_2 + 0xc) + (int)*(short *)(iStack4 + 2) * 0x40); - lVar2 = (longlong)(int)*(ushort **)(param_3 + 4); - if (lVar2 == 0) { - pfVar4 = *param_1; - } - else { - fStack20 = fVar5; - iStack8 = iVar1; - pfVar4 = (float *)FUN_7f06cc50(param_2,*(ushort **)(param_3 + 4),0); - lVar3 = extraout_a0; - lVar2 = extraout_a1; - fVar5 = fStack20; - iVar1 = iStack8; - } - if (*(float *)(iVar1 + 0x18) != 0.00000000) { - pfStack24 = pfVar4; - fVar5 = FUN_7f06d6bc(fVar5,*(float *)(iVar1 + 0x1c),lVar3,lVar2,*(float *)(iVar1 + 0x18)); - pfVar4 = pfStack24; - } - if (pfVar4 == NULL) { - FUN_7f0589f0(pfStack16,fVar5,pfStack32); - if (fStack12 != 1.00000000) { - sub_7F058B10(fStack12,extraout_a0_01,pfStack32); - } - } - else { - pfStack24 = pfVar4; - FUN_7f0589f0(pfStack16,fVar5,afStack96); - if (fStack12 != 1.00000000) { - sub_7F058B10(fStack12,extraout_a0_00,afStack96); - } - loc_7F05823C(pfStack24,afStack96,(int)pfStack32); - } - return; -} - - - -void loc_7F06DB50(float **param_1,int param_2,ushort *param_3,float *param_4) - -{ - longlong lVar1; - longlong extraout_a0; - longlong extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 uVar2; - int iVar3; - float fVar4; - float fVar5; - float *pfStack144; - float afStack140 [4]; - float afStack124 [7]; - int iStack96; - int iStack92; - int iStack88; - int iStack84; - float afStack80 [17]; - float *pfStack12; - float *pfStack8; - uint uStack4; - - uStack4 = (uint)*param_3; - pfStack8 = *(float **)(param_3 + 2); - iStack84 = (int)*(short *)((int)pfStack8 + 0xe); - iStack88 = (int)*(short *)(pfStack8 + 4); - iStack92 = (int)*(short *)((int)pfStack8 + 0x12); - iStack96 = *(int *)(param_2 + 0xc); - if (*(ushort **)(param_3 + 4) == NULL) { - pfStack12 = *param_1; - } - else { - pfStack12 = (float *)FUN_7f06cc50(param_2,*(ushort **)(param_3 + 4),0); - } - if (pfStack12 == NULL) { - FUN_7f058e4c(pfStack8,param_4,(float *)(iStack84 * 0x40 + iStack96)); - } - else { - FUN_7f058e4c(pfStack8,param_4,afStack80); - iVar3 = iStack84 * 0x40 + iStack96; - loc_7F05823C(pfStack12,afStack80,iVar3); - if (DAT_800360d0 != NULL) { - (*DAT_800360d0)(iStack84,iVar3); - } - } - lVar1 = (longlong)(int)param_4; - if ((uStack4 & 0x100) != 0) { - sub_7F05B3F4(param_4,afStack124); - loc_7F05BE00(afStack124,0.50000000,afStack140); - if (pfStack12 == NULL) { - FUN_7f05bed4(pfStack8,afStack140,(float *)(iStack88 * 0x40 + iStack96)); - lVar1 = extraout_a0_00; - } - else { - FUN_7f05bed4(pfStack8,afStack140,afStack80); - loc_7F05823C(pfStack12,afStack80,iStack88 * 0x40 + iStack96); - lVar1 = extraout_a0; - } - } - if ((uStack4 & 0x200) != 0) { - if (pfStack12 == NULL) { - pfStack144 = (float *)(iStack92 * 0x40 + iStack96); - } - else { - pfStack144 = afStack80; - } - fVar4 = param_4[1]; - if (fVar4 < DAT_80054bf4) { - fVar4 = fVar4 * 0.50000000; - } - else { - fVar4 = DAT_80054bfc - (DAT_80054bf8 - fVar4) * 0.50000000; - } - FUN_7f058b1c(fVar4,lVar1,pfStack144); - if (DAT_80054c00 <= fVar4) { - fVar4 = DAT_80054c04 - fVar4; - } - fVar5 = 1.50000000; - uVar2 = extraout_a0_01; - if (fVar4 < DAT_80054c08) { - fVar5 = (float)FUN_7f05af00(fVar4); - uVar2 = extraout_a0_02; - } - sub_7F058A4C(fVar5,uVar2,(int)pfStack144); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pfStack8,(int)pfStack144); - if (pfStack12 != NULL) { - loc_7F05823C(pfStack12,pfStack144,iStack92 * 0x40 + iStack96); - } - } - return; -} - - - -void loc_7F06DDF8(float **param_1,int param_2,ushort *param_3,float *param_4) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 uVar1; - int iVar2; - float fVar3; - float fVar4; - float *pfStack128; - float afStack124 [7]; - int iStack96; - int iStack92; - int iStack88; - int iStack84; - float afStack80 [17]; - float *pfStack12; - float *pfStack8; - uint uStack4; - - uStack4 = (uint)*param_3; - pfStack8 = *(float **)(param_3 + 2); - iStack84 = (int)*(short *)((int)pfStack8 + 0xe); - iStack88 = (int)*(short *)(pfStack8 + 4); - iStack92 = (int)*(short *)((int)pfStack8 + 0x12); - iStack96 = *(int *)(param_2 + 0xc); - if (*(ushort **)(param_3 + 4) == NULL) { - pfStack12 = *param_1; - } - else { - pfStack12 = (float *)FUN_7f06cc50(param_2,*(ushort **)(param_3 + 4),0); - } - if (pfStack12 == NULL) { - FUN_7f05bed4(pfStack8,param_4,(float *)(iStack84 * 0x40 + iStack96)); - } - else { - FUN_7f05bed4(pfStack8,param_4,afStack80); - iVar2 = iStack84 * 0x40 + iStack96; - loc_7F05823C(pfStack12,afStack80,iVar2); - if (DAT_800360d0 != NULL) { - (*DAT_800360d0)(iStack84,iVar2); - } - } - if ((uStack4 & 0x100) != 0) { - loc_7F05BE00(param_4,0.50000000,afStack124); - if (pfStack12 == NULL) { - FUN_7f05bed4(pfStack8,afStack124,(float *)(iStack88 * 0x40 + iStack96)); - } - else { - FUN_7f05bed4(pfStack8,afStack124,afStack80); - loc_7F05823C(pfStack12,afStack80,iStack88 * 0x40 + iStack96); - } - } - if ((uStack4 & 0x200) != 0) { - if (pfStack12 == NULL) { - pfStack128 = (float *)(iStack92 * 0x40 + iStack96); - } - else { - pfStack128 = afStack80; - } - fVar3 = FUN_7f05b1d0(*param_4); - fVar3 = fVar3 + fVar3; - if (fVar3 < DAT_80054c0c) { - fVar3 = fVar3 * 0.50000000; - } - else { - fVar3 = DAT_80054c14 - (DAT_80054c10 - fVar3) * 0.50000000; - } - FUN_7f058b1c(fVar3,extraout_a0,pfStack128); - if (DAT_80054c18 <= fVar3) { - fVar3 = DAT_80054c1c - fVar3; - } - fVar4 = 1.50000000; - uVar1 = extraout_a0_00; - if (fVar3 < DAT_80054c20) { - fVar4 = (float)FUN_7f05af00(fVar3); - uVar1 = extraout_a0_01; - } - sub_7F058A4C(fVar4,uVar1,(int)pfStack128); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pfStack8,(int)pfStack128); - if (pfStack12 != NULL) { - loc_7F05823C(pfStack12,pfStack128,iStack92 * 0x40 + iStack96); - } - } - return; -} - - - -uint loc_7F06DEAC(int param_1,uint param_2,uint param_3) - -{ - uint uVar1; - byte *pbVar2; - uint uVar3; - uint uVar4; - uint uVar5; - - uVar4 = 8 - (param_3 & 7); - uVar5 = 0; - uVar1 = param_2 & 0xff; - pbVar2 = (byte *)(param_1 + (param_3 >> 3)); - uVar3 = uVar4 & 0xff; - if ((uVar4 & 0xff) <= (param_2 & 0xff)) { - do { - uVar4 = uVar1 - uVar3; - uVar1 = uVar4 & 0xff; - uVar5 |= ((uint)*pbVar2 & (1 << (uVar3 & 0x1f)) - 1U) << (uVar4 & 0x1f) & 0xffff; - pbVar2 = pbVar2 + 1; - uVar3 = 8; - } while (7 < uVar1); - } - if (uVar1 != 0) { - uVar5 |= (int)(uint)*pbVar2 >> (uVar3 - uVar1 & 0x1f) & (1 << (uVar1 & 0x1f)) - 1U & 0xffff; - } - return uVar5 << (0x10 - (param_2 & 0xff) & 0x1f) & 0xffff; -} - - - -void loc_7F06E08C(int param_1,longlong param_2,int param_3,int param_4,int param_5,float *param_6) - -{ - byte bVar1; - float fVar2; - uint uVar3; - uint uVar4; - uint uVar5; - float fVar6; - - bVar1 = *(byte *)(param_4 + 6); - if (param_2 == 0) { - uVar5 = (uint)*(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 2) * (uint)bVar1; - } - else { - uVar5 = (uint)*(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 4) * (uint)bVar1; - } - uVar3 = loc_7F06DEAC(param_5,(uint)bVar1,uVar5); - uVar5 += (uint)bVar1; - uVar4 = loc_7F06DEAC(param_5,(uint)bVar1,uVar5); - uVar5 = loc_7F06DEAC(param_5,(uint)bVar1,uVar5 + (uint)bVar1); - fVar2 = DAT_80054c24; - fVar6 = (float)(uVar3 & 0xffff); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - *param_6 = (fVar6 * DAT_80054c24) / 65536.00000000; - if ((int)param_2 == 0) { - fVar6 = (float)(uVar4 & 0xffff); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - param_6[1] = (fVar6 * fVar2) / 65536.00000000; - fVar6 = (float)(uVar5 & 0xffff); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - param_6[2] = (fVar6 * fVar2) / 65536.00000000; - } - else { - if ((short)uVar4 == 0) { - param_6[1] = 0.00000000; - } - else { - param_6[1] = ((float)(0x10000 - (uVar4 & 0xffff)) * fVar2) / 65536.00000000; - } - if ((short)uVar5 == 0) { - param_6[2] = 0.00000000; - } - else { - param_6[2] = ((float)(0x10000 - (uVar5 & 0xffff)) * fVar2) / 65536.00000000; - } - } - return; -} - - - -void loc_7F06E2A8(float **param_1,int param_2,ushort *param_3) - -{ - float fStack108; - undefined4 uStack104; - undefined4 uStack100; - float afStack96 [4]; - float afStack80 [4]; - float afStack64 [4]; - float fStack48; - undefined4 uStack44; - undefined4 uStack40; - float fStack36; - undefined4 uStack32; - undefined4 uStack28; - float fStack24; - undefined4 uStack20; - undefined4 uStack16; - int iStack12; - uint uStack8; - - iStack12 = *(int *)(*(int *)(param_2 + 8) + 4); - fStack24 = DAT_800360d4; - uStack20 = DAT_800360d8; - uStack16 = DAT_800360dc; - uStack8 = (uint)*(ushort *)(*(int *)(param_3 + 2) + 0xc); - loc_7F06E08C(uStack8,(longlong)*(char *)(param_2 + 0x24),iStack12,*(int *)(param_2 + 0x20), - *(int *)(param_2 + 0x34),&fStack24); - if (*(float *)(param_2 + 0x2c) != 0.00000000) { - fStack36 = DAT_800360e0; - uStack32 = DAT_800360e4; - uStack28 = DAT_800360e8; - loc_7F06E08C(uStack8,(longlong)*(char *)(param_2 + 0x24),iStack12,*(int *)(param_2 + 0x20), - *(int *)(param_2 + 0x38),&fStack36); - FUN_7f06d750((longlong)(int)&fStack24,(longlong)(int)&fStack36,*(float *)(param_2 + 0x2c)); - } - if (*(float *)(param_2 + 0x84) == 0.00000000) { - loc_7F06DB50(param_1,param_2,param_3,&fStack24); - } - else { - fStack48 = DAT_800360ec; - uStack44 = DAT_800360f0; - uStack40 = DAT_800360f4; - loc_7F06E08C(uStack8,(longlong)*(char *)(param_2 + 0x25),iStack12,*(int *)(param_2 + 0x54), - *(int *)(param_2 + 100),&fStack48); - if (*(float *)(param_2 + 0x5c) != 0.00000000) { - fStack108 = DAT_800360f8; - uStack104 = DAT_800360fc; - uStack100 = DAT_80036100; - loc_7F06E08C(uStack8,(longlong)*(char *)(param_2 + 0x25),iStack12,*(int *)(param_2 + 0x54), - *(int *)(param_2 + 0x68),&fStack108); - FUN_7f06d750((longlong)(int)&fStack48,(longlong)(int)&fStack108,*(float *)(param_2 + 0x5c)); - } - sub_7F05B3F4(&fStack24,afStack64); - sub_7F05B3F4(&fStack48,afStack80); - locret_7F05BE80(afStack64,afStack80); - loc_7F05BC58(afStack64,afStack80,*(float *)(param_2 + 0x84),afStack96); - loc_7F06DDF8(param_1,param_2,param_3,afStack96); - } - return; -} - - - -void loc_7F06E52C(float **param_1,int param_2,ushort *param_3,float param_4) - -{ - short sVar1; - short sVar2; - short sVar3; - int iVar4; - uint uVar5; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 uVar6; - float fVar7; - float *pfStack112; - float afStack80 [17]; - float *pfStack12; - float *pfStack8; - uint uStack4; - - uStack4 = (uint)*param_3; - pfStack8 = *(float **)(param_3 + 2); - sVar1 = *(short *)(pfStack8 + 4); - sVar2 = *(short *)((int)pfStack8 + 0xe); - sVar3 = *(short *)((int)pfStack8 + 0x12); - iVar4 = *(int *)(param_2 + 0xc); - if (*(ushort **)(param_3 + 4) == NULL) { - pfStack12 = *param_1; - } - else { - pfStack12 = (float *)FUN_7f06cc50(param_2,*(ushort **)(param_3 + 4),0); - } - if (pfStack12 == NULL) { - FUN_7f0589f0(pfStack8,param_4,(float *)((int)sVar2 * 0x40 + iVar4)); - uVar6 = extraout_a0_00; - } - else { - FUN_7f0589f0(pfStack8,param_4,afStack80); - loc_7F05823C(pfStack12,afStack80,(int)sVar2 * 0x40 + iVar4); - uVar6 = extraout_a0; - } - if (((uStack4 & 0x100) != 0) || ((uStack4 & 0x200) != 0)) { - if (param_4 < DAT_80054c28) { - param_4 = param_4 * 0.50000000; - } - else { - param_4 = DAT_80054c30 - (DAT_80054c2c - param_4) * 0.50000000; - } - } - uVar5 = uStack4 & 0x200; - if ((uStack4 & 0x100) != 0) { - if (pfStack12 == NULL) { - FUN_7f0589f0(pfStack8,param_4,(float *)((int)sVar1 * 0x40 + iVar4)); - uVar6 = extraout_a0_02; - } - else { - FUN_7f0589f0(pfStack8,param_4,afStack80); - loc_7F05823C(pfStack12,afStack80,(int)sVar1 * 0x40 + iVar4); - uVar6 = extraout_a0_01; - } - } - if (uVar5 != 0) { - if (pfStack12 == NULL) { - pfStack112 = (float *)((int)sVar3 * 0x40 + iVar4); - } - else { - pfStack112 = afStack80; - } - FUN_7f058b1c(param_4,uVar6,pfStack112); - if (DAT_80054c34 <= param_4) { - param_4 = DAT_80054c38 - param_4; - } - fVar7 = 1.50000000; - uVar6 = extraout_a0_03; - if (param_4 < DAT_80054c3c) { - fVar7 = (float)FUN_7f05af00(param_4); - uVar6 = extraout_a0_04; - } - sub_7F058A4C(fVar7,uVar6,(int)pfStack112); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pfStack8,(int)pfStack112); - if (pfStack12 != NULL) { - loc_7F05823C(pfStack12,pfStack112,(int)sVar3 * 0x40 + iVar4); - } - } - return; -} - - - -float locret_7F06E644(int param_1,longlong param_2,int param_3,int param_4,int param_5) - -{ - byte bVar1; - uint uVar2; - float fVar3; - - bVar1 = *(byte *)(param_4 + 6); - if (param_2 == 0) { - uVar2 = (uint)*(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 2) * (uint)bVar1; - } - else { - uVar2 = (uint)*(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 4) * (uint)bVar1; - } - uVar2 = loc_7F06DEAC(param_5,(uint)bVar1,uVar2); - fVar3 = 0.00000000; - if ((int)param_2 == 0) { - fVar3 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar3 = (fVar3 * DAT_80054c44) / 65536.00000000; - } - else { - if (uVar2 != 0) { - fVar3 = ((float)(0x10000 - uVar2) * DAT_80054c40) / 65536.00000000; - } - } - return fVar3; -} - - - -void loc_7F06E77C(float **param_1,int param_2,ushort *param_3) - -{ - ushort uVar1; - int iVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - ulonglong extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - undefined8 uVar3; - ulonglong uVar4; - float fVar5; - float fVar6; - float fStack24; - - uVar1 = *(ushort *)(*(int *)(param_3 + 2) + 0xc); - uVar4 = (ulonglong)uVar1; - iVar2 = *(int *)(*(int *)(param_2 + 8) + 4); - fVar5 = locret_7F06E644((uint)uVar1,(longlong)*(char *)(param_2 + 0x24),iVar2, - *(int *)(param_2 + 0x20),*(int *)(param_2 + 0x34)); - if (*(float *)(param_2 + 0x2c) != 0.00000000) { - fVar6 = locret_7F06E644((uint)uVar1,(longlong)*(char *)(param_2 + 0x24),iVar2, - *(int *)(param_2 + 0x20),*(int *)(param_2 + 0x38)); - fVar5 = FUN_7f06d6bc(fVar5,fVar6,extraout_a0,extraout_a1,*(float *)(param_2 + 0x2c)); - } - if (*(float *)(param_2 + 0x84) != 0.00000000) { - fStack24 = locret_7F06E644((uint)uVar1,(longlong)*(char *)(param_2 + 0x25),iVar2, - *(int *)(param_2 + 0x54),*(int *)(param_2 + 100)); - uVar3 = extraout_a1_00; - if (*(float *)(param_2 + 0x5c) != 0.00000000) { - fVar6 = locret_7F06E644((uint)uVar1,(longlong)*(char *)(param_2 + 0x25),iVar2, - *(int *)(param_2 + 0x54),*(int *)(param_2 + 0x68)); - fStack24 = FUN_7f06d6bc(fStack24,fVar6,extraout_a0_00,extraout_a1_01, - *(float *)(param_2 + 0x5c)); - uVar4 = extraout_a0_01; - uVar3 = extraout_a1_02; - } - fVar5 = FUN_7f06d6bc(fVar5,fStack24,uVar4,uVar3,*(float *)(param_2 + 0x84)); - } - loc_7F06E52C(param_1,param_2,param_3,fVar5); - return; -} - - - -void loc_7F06E84C(float **param_1,int param_2,int param_3) - -{ - short sVar1; - int iVar2; - float afStack72 [16]; - float *pfStack8; - undefined4 *puStack4; - - puStack4 = *(undefined4 **)(param_3 + 4); - iVar2 = *(int *)(param_2 + 0xc); - sVar1 = *(short *)(puStack4 + 3); - if (*(ushort **)(param_3 + 8) == NULL) { - pfStack8 = *param_1; - } - else { - pfStack8 = (float *)FUN_7f06cc50(param_2,*(ushort **)(param_3 + 8),0); - } - if (pfStack8 == NULL) { - FUN_7f058e84(puStack4,(undefined4 *)((int)sVar1 * 0x40 + iVar2)); - } - else { - FUN_7f058e84(puStack4,afStack72); - loc_7F05823C(pfStack8,afStack72,(int)sVar1 * 0x40 + iVar2); - } - return; -} - - - -void FUN_7f06ee48(int iParm1,ushort *puParm2) - -{ - float *pfVar1; - undefined4 *puVar2; - int iVar3; - float in_f0; - float fVar4; - - pfVar1 = *(float **)(puParm2 + 2); - puVar2 = (undefined4 *)loc_7F06C888(iParm1,puParm2); - iVar3 = FUN_7f06cc50(iParm1,puParm2,0); - if (DAT_800360c4 == 0) { - FUN_7f078a74(); - in_f0 = in_f0 * -*(float *)(iVar3 + 0x38); - if (DAT_800360c8 != 1.00000000) { - in_f0 = in_f0 * DAT_800360c8; - } - } - else { - in_f0 = 0.00000000; - } - if (in_f0 <= *pfVar1 * *(float *)(iParm1 + 0x14)) { - if (*pfVar1 != 0.00000000) goto LAB_7f06ef44; - fVar4 = pfVar1[1]; - } - else { - fVar4 = pfVar1[1]; - } - if (in_f0 <= fVar4 * *(float *)(iParm1 + 0x14)) { - *puVar2 = 1; - *(float *)(puParm2 + 10) = pfVar1[2]; - return; - } -LAB_7f06ef44: - *puVar2 = 0; - *(undefined4 *)(puParm2 + 10) = 0; - return; -} - - - -void FUN_7f06ef60(int param_1,ushort *param_2) - -{ - int iVar1; - int *piVar2; - - iVar1 = *(int *)(param_2 + 2); - piVar2 = (int *)loc_7F06C888(param_1,param_2); - if (*piVar2 == 0) { - *(undefined4 *)(param_2 + 10) = 0; - } - else { - *(undefined4 *)(param_2 + 10) = *(undefined4 *)(iVar1 + 8); - } - return; -} - - - -void FUN_7f06efac(int param_1,ushort *param_2) - -{ - undefined4 *puVar1; - int *piVar2; - - puVar1 = *(undefined4 **)(param_2 + 2); - piVar2 = (int *)loc_7F06C888(param_1,param_2); - if (*piVar2 == 0) { - *(undefined4 *)(param_2 + 10) = 0; - } - else { - *(undefined4 *)(param_2 + 10) = *puVar1; - } - return; -} - - - -void FUN_7f06eff8(int param_1,ushort *param_2) - -{ - int **ppiVar1; - int iVar2; - - ppiVar1 = (int **)loc_7F06C888(param_1,param_2); - if (*ppiVar1 != NULL) { - iVar2 = **ppiVar1; - *(int *)(param_2 + 10) = iVar2; - if (iVar2 != 0) { - *(ushort **)(iVar2 + 8) = param_2; - while (iVar2 = *(int *)(iVar2 + 0xc), iVar2 != 0) { - *(ushort **)(iVar2 + 8) = param_2; - } - } - } - return; -} - - - -void locret_7F06EB08(int param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - iVar4 = *(int *)(param_1 + 4); - if (param_2 == 0) { - iVar1 = *(int *)(iVar4 + 0x1c); - iVar4 = *(int *)(iVar4 + 0x18); - } - else { - iVar1 = *(int *)(iVar4 + 0x18); - iVar4 = *(int *)(iVar4 + 0x1c); - } - if (iVar1 == 0) { - *(int *)(param_1 + 0x14) = iVar4; - if (iVar4 != 0) { - *(undefined4 *)(iVar4 + 0x10) = 0; - } - } - else { - *(int *)(param_1 + 0x14) = iVar1; - *(undefined4 *)(iVar1 + 0x10) = 0; - iVar3 = iVar1; - if ((*(int *)(iVar1 + 0xc) != 0) && (iVar3 = iVar1, iVar4 != *(int *)(iVar1 + 0xc))) { - iVar2 = *(int *)(iVar1 + 0xc); - do { - iVar3 = iVar2; - iVar2 = *(int *)(iVar3 + 0xc); - if (iVar2 == 0) break; - } while (iVar4 != iVar2); - } - *(int *)(iVar3 + 0xc) = iVar4; - if (iVar4 != 0) { - *(int *)(iVar4 + 0x10) = iVar3; - if ((*(int *)(iVar4 + 0xc) != 0) && (iVar1 != *(int *)(iVar4 + 0xc))) { - iVar3 = *(int *)(iVar4 + 0xc); - do { - iVar4 = iVar3; - iVar3 = *(int *)(iVar4 + 0xc); - if (iVar3 == 0) break; - } while (iVar1 != iVar3); - } - *(undefined4 *)(iVar4 + 0xc) = 0; - return; - } - } - return; -} - - - -void FUN_7f06f100(int param_1,ushort *param_2) - -{ - int *piVar1; - - piVar1 = (int *)loc_7F06C888(param_1,param_2); - locret_7F06EB08((int)param_2,(longlong)*piVar1); - return; -} - - - -void FUN_7f06f12c(int param_1,ushort *param_2) - -{ - short sVar1; - float *pfVar2; - float *pfVar3; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float *pfStack12; - undefined4 *puStack8; - - pfVar2 = *(float **)(param_2 + 2); - puStack8 = (undefined4 *)loc_7F06C888(param_1,param_2); - pfVar3 = (float *)FUN_7f06cc50(param_1,param_2,0); - sVar1 = *(short *)(pfVar2 + 8); - if (sVar1 == 0) { - fStack24 = pfVar2[3]; - fStack20 = pfVar2[4]; - fStack16 = pfVar2[5]; - pfStack12 = pfVar3; - FUN_7f0588f8(pfVar3,&fStack24); - pfVar3 = pfStack12; - } - else { - if (sVar1 == 2) { - fStack24 = pfVar2[4] * pfVar3[4]; - fStack20 = pfVar2[4] * pfVar3[5]; - fStack16 = pfVar2[4] * pfVar3[6]; - } - else { - if (sVar1 == 3) { - fStack24 = pfVar2[5] * pfVar3[8]; - fStack20 = pfVar2[5] * pfVar3[9]; - fStack16 = pfVar2[5] * pfVar3[10]; - } - else { - if (sVar1 != 1) { - fStack36 = *pfVar2; - goto LAB_7f06f258; - } - fStack24 = pfVar2[3] * *pfVar3; - fStack20 = pfVar2[3] * pfVar3[1]; - fStack16 = pfVar2[3] * pfVar3[2]; - } - } - } - fStack36 = *pfVar2; -LAB_7f06f258: - fStack32 = pfVar2[1]; - fStack28 = pfVar2[2]; - FUN_7f058994(pfVar3,&fStack36); - if (fStack28 * fStack16 + fStack24 * fStack36 + fStack20 * fStack32 < 0.00000000) { - *puStack8 = 1; - } - else { - *puStack8 = 0; - } - FUN_7f06f100(param_1,param_2); - return; -} - - - -void FUN_7f06f2e8(int param_1,ushort *param_2) - -{ - float *pfVar1; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - int iVar2; - float fVar3; - float fVar4; - float fStack32; - float fStack28; - float fStack24; - uint *puStack8; - int iStack4; - - iStack4 = *(int *)(param_2 + 2); - puStack8 = (uint *)loc_7F06C888(param_1,param_2); - pfVar1 = (float *)FUN_7f06cc50(param_1,param_2,0); - FUN_7f06cb40(param_1,&fStack32,extraout_a2_lo,extraout_a3_lo); - fVar3 = FUN_7f05b1d0(pfVar1[6] * fStack24 + fStack32 * pfVar1[4] + fStack28 * pfVar1[5]); - fVar4 = func_7F057FC4(fVar3); - fVar4 = FUN_7f05b1d0((fStack32 * pfVar1[8] + fStack28 * pfVar1[9] + fStack24 * pfVar1[10]) / fVar4 - ); - if ((pfVar1[2] * fStack24 + fStack32 * *pfVar1 + fStack28 * pfVar1[1] < 0.00000000) && - (0.00000000 < fVar4)) { - fVar4 = DAT_80054c48 - fVar4; - } - iVar2 = (int)((fVar3 * 64.00000000) / DAT_80054c4c) * 0xc; - *puStack8 = (uint)*(byte *)(iStack4 + *(int *)(&DAT_80036104 + iVar2) + - ((int)((fVar4 * 65536.00000000) / DAT_80054c4c) + - *(int *)(&DAT_80036108 + iVar2) >> - (*(uint *)(&DAT_8003610c + iVar2) & 0x1f)) + 0x18); - return; -} - - - -void loc_7F06EFB0(undefined8 param_1,int param_2) - -{ - ushort uVar1; - bool bVar2; - ushort *puVar3; - int iVar4; - ushort *puVar5; - - puVar5 = *(ushort **)(param_2 + 0x14); - if (puVar5 == NULL) { - return; - } - uVar1 = *puVar5; - do { - bVar2 = true; - if (true) { - iVar4 = (int)param_1; - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - bVar2 = false; - break; - case 7: - FUN_7f06f2e8(iVar4,puVar5); - break; - case 8: - FUN_7f06ee48(param_1,puVar5); - break; - case 9: - FUN_7f06f12c(iVar4,puVar5); - break; - case 0x17: - FUN_7f06eff8(iVar4,puVar5); - } - } - if (((!bVar2) || (puVar3 = *(ushort **)(puVar5 + 10), *(ushort **)(puVar5 + 10) == NULL)) && - (puVar3 = puVar5, puVar5 != NULL)) { - while (puVar5 != *(ushort **)(param_2 + 8)) { - puVar3 = *(ushort **)(puVar5 + 6); - if ((*(ushort **)(puVar5 + 6) != NULL) || - (puVar5 = *(ushort **)(puVar5 + 4), puVar3 = puVar5, puVar5 == NULL)) goto LAB_7f06f594; - } - puVar3 = NULL; - } -LAB_7f06f594: - puVar5 = puVar3; - if (puVar5 == NULL) { - return; - } - uVar1 = *puVar5; - } while( true ); -} - - - -void loc_7F06F0C0(int param_1) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - - puVar3 = **(ushort ***)(param_1 + 8); - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - do { - if (false) { -switchD_7f06f5fc_caseD_1: - puVar2 = *(ushort **)(puVar3 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - default: - goto switchD_7f06f5fc_caseD_1; - case 7: - FUN_7f06f2e8(param_1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 8: - FUN_7f06ee48(param_1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 9: - FUN_7f06f12c(param_1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x12: - FUN_7f06efac(param_1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x17: - FUN_7f06eff8(param_1,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - } - } - if ((puVar2 == NULL) && (puVar2 = puVar3, puVar3 != NULL)) { - puVar2 = *(ushort **)(puVar3 + 6); - while ((puVar2 == NULL && (puVar3 = *(ushort **)(puVar3 + 4), puVar2 = puVar3, puVar3 != NULL) - )) { - puVar2 = *(ushort **)(puVar3 + 6); - } - } - puVar3 = puVar2; - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - } while( true ); -} - - - -void loc_7F06F234(float **param_1,int param_2) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - - puVar3 = **(ushort ***)(param_2 + 8); - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - do { - if (false) { -switchD_7f06f710_caseD_4: - puVar2 = *(ushort **)(puVar3 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - loc_7F06D8A4(param_1,param_2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 2: - loc_7F06E2A8(param_1,param_2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 3: - loc_7F06E77C(param_1,param_2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - default: - goto switchD_7f06f710_caseD_4; - case 7: - FUN_7f06f2e8(param_2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 8: - FUN_7f06ee48(param_2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 9: - FUN_7f06f12c(param_2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x12: - FUN_7f06efac(param_2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x15: - loc_7F06E84C(param_1,param_2,(int)puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - break; - case 0x17: - FUN_7f06eff8(param_2,puVar3); - puVar2 = *(ushort **)(puVar3 + 10); - } - } - if ((puVar2 == NULL) && (puVar2 = puVar3, puVar3 != NULL)) { - puVar2 = *(ushort **)(puVar3 + 6); - while ((puVar2 == NULL && (puVar3 = *(ushort **)(puVar3 + 4), puVar2 = puVar3, puVar3 != NULL) - )) { - puVar2 = *(ushort **)(puVar3 + 6); - } - } - puVar3 = puVar2; - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - } while( true ); -} - - - -void FUN_7f06f838(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - float *pfVar1; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - uint uVar2; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - - uVar2 = param_2; - if (param_2 == 0) { - FUN_7000cf84((byte *)s_instcalcmatrices__no_objinst__800548c0,0,param_3,param_4); - FUN_7f06ca5c(); - uVar2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - if (*param_1 == NULL) { - FUN_7000cf84((byte *)s_instcalcmatrices__no_basemtx__800548e0,uVar2,param_3,param_4); - FUN_7f06ca5c(); - pfVar1 = param_1[4]; - uVar2 = extraout_a1_lo_00; - param_3 = extraout_a2_lo_00; - param_4 = extraout_a3_lo_00; - } - else { - pfVar1 = param_1[4]; - } - if (pfVar1 == NULL) { - FUN_7000cf84((byte *)s_instcalcmatrices__no_mtxlist__80054900,uVar2,param_3,param_4); - FUN_7f06ca5c(); - pfVar1 = param_1[4]; - } - *(float **)(param_2 + 0xc) = pfVar1; - param_1[4] = param_1[4] + (int)*(short *)(*(int *)(param_2 + 8) + 0xe) * 0x10; - loc_7F06F234(param_1,param_2); - return; -} - - - -void FUN_7f06f8e8(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - short sVar1; - uint uVar2; - int *piVar3; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - uint extraout_a1_lo_01; - longlong lVar4; - uint extraout_a1_lo_02; - uint extraout_a1_lo_03; - uint extraout_a1_lo_04; - uint extraout_a1_lo_05; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a2_lo_04; - undefined4 extraout_a2_lo_05; - undefined4 extraout_a2_lo_06; - undefined4 extraout_a2_lo_07; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined4 extraout_a3_lo_04; - undefined4 extraout_a3_lo_05; - undefined4 extraout_a3_lo_06; - undefined4 extraout_a3_lo_07; - int iVar5; - - uVar2 = param_2; - if (param_2 == 0) { - FUN_7000cf84((byte *)s_subcalcmatrices__no_objanim__80054920,0,param_3,param_4); - FUN_7f06ca5c(); - uVar2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - if (*param_1 == NULL) { - FUN_7000cf84((byte *)s_subcalcmatrices__no_basemtx__80054940,uVar2,param_3,param_4); - FUN_7f06ca5c(); - uVar2 = extraout_a1_lo_00; - param_3 = extraout_a2_lo_00; - param_4 = extraout_a3_lo_00; - } - if (param_1[4] == NULL) { - FUN_7000cf84((byte *)s_subcalcmatrices__no_mtxlist__80054960,uVar2,param_3,param_4); - FUN_7f06ca5c(); - iVar5 = *(int *)(param_2 + 0x20); - uVar2 = extraout_a1_lo_01; - param_3 = extraout_a2_lo_01; - param_4 = extraout_a3_lo_01; - } - else { - iVar5 = *(int *)(param_2 + 0x20); - } - if (iVar5 == 0) goto LAB_7f06fb80; - if (*(int *)(param_2 + 0x18) == 0) { - lVar4 = (longlong)*(short *)(param_2 + 0x30); - } - else { - if (*(int *)(param_2 + 0x1c) == 0) { - FUN_7000cf84((byte *)s_subcalcmatrices__no_attach_for_o_80054980,uVar2,param_3,param_4); - FUN_7f06ca5c(); - lVar4 = (longlong)*(short *)(param_2 + 0x30); - param_3 = extraout_a2_lo_02; - param_4 = extraout_a3_lo_02; - } - else { - lVar4 = (longlong)*(short *)(param_2 + 0x30); - } - } - uVar2 = (uint)lVar4; - if ((lVar4 < 0) || ((longlong)(ulonglong)*(ushort *)(*(int *)(param_2 + 0x20) + 4) <= lVar4)) { - FUN_7000cf84((byte *)s_subcalcmatrices__framea_out_of_r_800549ac,uVar2,param_3,param_4); - FUN_7f06ca5c(); - sVar1 = *(short *)(param_2 + 0x32); - uVar2 = extraout_a1_lo_02; - param_3 = extraout_a2_lo_03; - param_4 = extraout_a3_lo_03; - } - else { - sVar1 = *(short *)(param_2 + 0x32); - } - if (((longlong)sVar1 < 0) || - ((longlong)(ulonglong)*(ushort *)(*(int *)(param_2 + 0x20) + 4) <= (longlong)sVar1)) { - FUN_7000cf84((byte *)s_subcalcmatrices__frameb_out_of_r_800549d4,uVar2,param_3,param_4); - FUN_7f06ca5c(); - uVar2 = extraout_a1_lo_03; - param_3 = extraout_a2_lo_04; - param_4 = extraout_a3_lo_04; - } - if ((*(float *)(param_2 + 0x84) == 0.00000000) || - ((*(float *)(param_2 + 0x84) != 0.00000000 && (*(int *)(param_2 + 0x54) != 0)))) { - iVar5 = *(int *)(param_2 + 0x54); - } - else { - FUN_7000cf84((byte *)s_subcalcmatrices__no_anim2__800549fc,uVar2,param_3,param_4); - FUN_7f06ca5c(); - iVar5 = *(int *)(param_2 + 0x54); - uVar2 = extraout_a1_lo_04; - param_3 = extraout_a2_lo_05; - param_4 = extraout_a3_lo_05; - } - if ((iVar5 != 0) && - (((iVar5 == 0 || ((longlong)*(short *)(param_2 + 0x60) < 0)) || - ((longlong)(ulonglong)*(ushort *)(iVar5 + 4) <= (longlong)*(short *)(param_2 + 0x60))))) { - FUN_7000cf84((byte *)s_subcalcmatrices__frame2a_out_of_r_80054a18,uVar2,param_3,param_4); - FUN_7f06ca5c(); - iVar5 = *(int *)(param_2 + 0x54); - uVar2 = extraout_a1_lo_05; - param_3 = extraout_a2_lo_06; - param_4 = extraout_a3_lo_06; - } - if (iVar5 == 0) { - piVar3 = *(int **)(param_2 + 0x20); -LAB_7f06fac0: - sVar1 = *(short *)(param_2 + 0x30); - } - else { - if (((iVar5 != 0) && (-1 < (longlong)*(short *)(param_2 + 0x62))) && - ((longlong)*(short *)(param_2 + 0x62) < (longlong)(ulonglong)*(ushort *)(iVar5 + 4))) { - piVar3 = *(int **)(param_2 + 0x20); - goto LAB_7f06fac0; - } - FUN_7000cf84((byte *)s_subcalcmatrices__frame2b_out_of_r_80054a40,uVar2,param_3,param_4); - FUN_7f06ca5c(); - piVar3 = *(int **)(param_2 + 0x20); - sVar1 = *(short *)(param_2 + 0x30); - } - uVar2 = loc_7F0755A0(piVar3,(int)sVar1); - *(uint *)(param_2 + 0x34) = uVar2; - if (*(float *)(param_2 + 0x2c) == 0.00000000) { - piVar3 = *(int **)(param_2 + 0x54); - } - else { - uVar2 = loc_7F0755A0(*(int **)(param_2 + 0x20),(int)*(short *)(param_2 + 0x32)); - *(uint *)(param_2 + 0x38) = uVar2; - piVar3 = *(int **)(param_2 + 0x54); - } - if (piVar3 != NULL) { - uVar2 = loc_7F0755A0(piVar3,(int)*(short *)(param_2 + 0x60)); - *(uint *)(param_2 + 100) = uVar2; - if (*(float *)(param_2 + 0x5c) != 0.00000000) { - uVar2 = loc_7F0755A0(*(int **)(param_2 + 0x54),(int)*(short *)(param_2 + 0x62)); - *(uint *)(param_2 + 0x68) = uVar2; - } - } - FUN_7f075ba0(); - param_3 = extraout_a2_lo_07; - param_4 = extraout_a3_lo_07; -LAB_7f06fb80: - FUN_7f06f838(param_1,param_2,param_3,param_4); - return; -} - - - -undefined4 sub_7F06F5AC(int param_1) - -{ - return *(undefined4 *)(param_1 + 0x20); -} - - - -undefined sub_7F06F5B4(int param_1) - -{ - return *(undefined *)(param_1 + 0x24); -} - - - -undefined4 sub_7F06F5BC(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -float locret_7F06F608(int param_1) - -{ - if (0.00000000 <= *(float *)(param_1 + 0x3c)) { - return *(float *)(param_1 + 0x3c); - } - if (*(int *)(param_1 + 0x20) == 0) { - return 0.00000000; - } - return (float)((uint)*(ushort *)(*(int *)(param_1 + 0x20) + 4) - 1); -} - - - -undefined4 sub_7F06F610(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -float locret_7F06F638(int param_1) - -{ - float fVar1; - - fVar1 = *(float *)(param_1 + 0x40); - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - return fVar1; -} - - - -undefined4 FUN_7f06fc30(int param_1) - -{ - undefined4 uVar1; - - uVar1 = sub_7F06F610(param_1); - return uVar1; -} - - - -longlong loc_7F06F770(longlong param_1,int param_2,float param_3) - -{ - ushort uVar1; - uint uVar2; - int iVar3; - undefined7 in_register_00000018; - char cVar4; - - cVar4 = (char)param_1; - if (param_1 < 0) { - if ((*(byte *)(param_2 + 7) & 1) == 0) { - cVar4 = '\0'; - } - else { - uVar1 = *(ushort *)(param_2 + 4); - iVar3 = -(int)param_1; - cVar4 = (char)uVar1 - (char)(iVar3 % (uint)uVar1); - if (uVar1 == 0) { - trap(0x1c00); - } - if (((ulonglong)(uint)uVar1 == 0xffffffffffffffff) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - } - } - else { - if (0.00000000 <= param_3) { - if ((longlong)(int)param_3 < param_1) { - iVar3 = locret_7F05C510(param_3); - cVar4 = (char)iVar3; - goto LAB_7f06fd60; - } - uVar1 = *(ushort *)(param_2 + 4); - } - else { - uVar1 = *(ushort *)(param_2 + 4); - } - uVar2 = (uint)uVar1; - if ((longlong)(ulonglong)uVar2 <= param_1) { - if ((*(byte *)(param_2 + 7) & 1) == 0) { - cVar4 = (char)uVar1 + -1; - } - else { - cVar4 = (char)((int)param_1 % uVar2); - if (uVar1 == 0) { - trap(0x1c00); - } - if (((ulonglong)uVar2 == 0xffffffffffffffff) && (param_1 == -0x80000000)) { - trap(0x1800); - } - } - } - } -LAB_7f06fd60: - return CONCAT17(cVar4,in_register_00000018); -} - - - -void loc_7F06F868(int param_1,float param_2) - -{ - ushort uVar1; - ushort *puVar2; - int iVar3; - - if (0.00000000 < param_2) { - if (*(int *)(param_1 + 0x20) == 0) { - *(undefined4 *)(param_1 + 0x54) = 0; - } - else { - puVar2 = **(ushort ***)(param_1 + 8); - uVar1 = *puVar2; - *(undefined4 *)(param_1 + 0x58) = *(undefined4 *)(param_1 + 0x28); - *(undefined4 *)(param_1 + 0x5c) = *(undefined4 *)(param_1 + 0x2c); - *(int *)(param_1 + 0x54) = *(int *)(param_1 + 0x20); - *(undefined *)(param_1 + 0x25) = *(undefined *)(param_1 + 0x24); - *(undefined2 *)(param_1 + 0x60) = *(undefined2 *)(param_1 + 0x30); - *(undefined2 *)(param_1 + 0x62) = *(undefined2 *)(param_1 + 0x32); - *(undefined4 *)(param_1 + 0x70) = *(undefined4 *)(param_1 + 0x40); - *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + 0x44); - *(undefined4 *)(param_1 + 0x78) = *(undefined4 *)(param_1 + 0x48); - *(undefined4 *)(param_1 + 0x7c) = *(undefined4 *)(param_1 + 0x4c); - *(undefined4 *)(param_1 + 0x80) = *(undefined4 *)(param_1 + 0x50); - *(undefined4 *)(param_1 + 0x6c) = *(undefined4 *)(param_1 + 0x3c); - if ((uVar1 & 0xff) == 1) { - iVar3 = loc_7F06C888(param_1,puVar2); - *(undefined *)(iVar3 + 2) = 1; - *(undefined4 *)(iVar3 + 0x4c) = *(undefined4 *)(iVar3 + 0x34); - *(undefined4 *)(iVar3 + 0x50) = *(undefined4 *)(iVar3 + 0x38); - *(undefined4 *)(iVar3 + 0x54) = *(undefined4 *)(iVar3 + 0x3c); - *(undefined4 *)(iVar3 + 0x40) = *(undefined4 *)(iVar3 + 0x24); - *(undefined4 *)(iVar3 + 0x44) = *(undefined4 *)(iVar3 + 0x28); - *(undefined4 *)(iVar3 + 0x48) = *(undefined4 *)(iVar3 + 0x2c); - } - } - } - else { - *(undefined4 *)(param_1 + 0x54) = 0; - } - return; -} - - - -void loc_7F06FC3C(int param_1,undefined4 param_2,undefined param_3,float param_4,undefined4 param_5, - undefined4 param_6) - -{ - int iVar1; - ushort *puVar2; - bool bVar3; - int iVar4; - undefined8 extraout_a0; - undefined8 extraout_a1; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fStack52; - float fStack48; - float fStack44; - float fStack36; - float fStack32; - ushort *puStack16; - - iVar1 = *(int *)(param_1 + 0x20); - if (*(int *)(param_1 + 0x54) == 0) { - *(undefined4 *)(param_1 + 0x88) = 0; - *(undefined4 *)(param_1 + 0x84) = 0; - } - else { - *(undefined4 *)(param_1 + 0x88) = param_6; - *(undefined4 *)(param_1 + 0x8c) = 0; - *(undefined4 *)(param_1 + 0x84) = 0x3f800000; - } - *(undefined4 *)(param_1 + 0x20) = param_2; - *(undefined *)(param_1 + 0x24) = param_3; - *(undefined4 *)(param_1 + 0x3c) = 0xbf800000; - *(undefined4 *)(param_1 + 0x40) = param_5; - *(undefined4 *)(param_1 + 0x4c) = 0; - FUN_7f070554(param_1,param_4); - *(undefined *)(param_1 + 0x26) = 0; - puVar2 = **(ushort ***)(param_1 + 8); - if ((*puVar2 & 0xff) == 1) { - puStack16 = *(ushort **)(puVar2 + 2); - iVar4 = loc_7F06C888(param_1,puVar2); - fStack52 = DAT_80036284; - fStack32 = *(float *)(param_1 + 0x14) * *(float *)(param_1 + 0xb8); - fStack48 = DAT_80036288; - fStack44 = DAT_8003628c; - fVar5 = FUN_7f06d9e4((uint)*puStack16,(longlong)*(char *)(param_1 + 0x24), - *(int *)(*(int *)(param_1 + 8) + 4),*(int *)(param_1 + 0x20), - (int)*(short *)(param_1 + 0x32),&fStack52); - if (fStack32 != 1.00000000) { - fStack52 = fStack52 * fStack32; - fStack48 = fStack48 * fStack32; - fStack44 = fStack44 * fStack32; - } - fStack36 = FUN_7f0583c0(*(float *)(iVar4 + 0x14)); - fVar6 = func_7F057FC4(*(float *)(iVar4 + 0x14)); - if (*(float *)(param_1 + 0x2c) == 0.00000000) { - *(float *)(iVar4 + 0x34) = *(float *)(iVar4 + 8); - *(undefined4 *)(iVar4 + 0x3c) = *(undefined4 *)(iVar4 + 0x10); - *(float *)(iVar4 + 0x38) = *(float *)(iVar4 + 0xc) - *(float *)(iVar4 + 4); - *(undefined4 *)(iVar4 + 0x30) = *(undefined4 *)(iVar4 + 0x14); - *(float *)(iVar4 + 0x24) = fStack44 * fVar6 + *(float *)(iVar4 + 8) + fStack52 * fStack36; - *(float *)(iVar4 + 0x28) = fStack48; - *(float *)(iVar4 + 0x2c) = fStack44 * fStack36 + (*(float *)(iVar4 + 0x3c) - fStack52 * fVar6) - ; - fVar6 = DAT_80054d70; - if ((*(float *)(iVar4 + 0x18) == 0.00000000) && - (fVar5 = *(float *)(iVar4 + 0x30) + fVar5, bVar3 = DAT_80054d70 <= fVar5, - *(float *)(iVar4 + 0x20) = fVar5, bVar3)) { - *(float *)(iVar4 + 0x20) = *(float *)(iVar4 + 0x20) - fVar6; - } - *(undefined *)(iVar4 + 1) = 1; - } - else { - fVar8 = fStack44 * fVar6 + fStack52 * fStack36; - fVar7 = fStack44 * fStack36 + -fStack52 * fVar6; - fVar6 = *(float *)(param_1 + 0x2c); - *(float *)(iVar4 + 0x24) = - *(float *)(iVar4 + 8) + fVar8 * (1.00000000 - *(float *)(param_1 + 0x2c)); - *(float *)(iVar4 + 0x28) = fStack48; - *(float *)(iVar4 + 0x2c) = *(float *)(iVar4 + 0x10) + fVar7 * (1.00000000 - fVar6); - *(float *)(iVar4 + 0x34) = *(float *)(iVar4 + 0x24) - fVar8; - fVar6 = *(float *)(iVar4 + 0xc) - *(float *)(iVar4 + 4); - *(float *)(iVar4 + 0x38) = - fVar6 - ((fStack48 - fVar6) * *(float *)(param_1 + 0x2c)) / - (1.00000000 - *(float *)(param_1 + 0x2c)); - *(float *)(iVar4 + 0x3c) = *(float *)(iVar4 + 0x2c) - fVar7; - fVar6 = *(float *)(iVar4 + 0x14) - fVar5; - if (fVar6 < 0.00000000) { - fVar6 = fVar6 + DAT_80054d74; - } - fVar7 = FUN_7f06d6bc(*(float *)(iVar4 + 0x14),fVar6,extraout_a0,extraout_a1, - *(float *)(param_1 + 0x2c)); - fVar6 = DAT_80054d78; - *(float *)(iVar4 + 0x30) = fVar7; - if (*(float *)(iVar4 + 0x18) == 0.00000000) { - fVar5 = *(float *)(iVar4 + 0x30) + fVar5; - *(float *)(iVar4 + 0x20) = fVar5; - if (fVar6 <= fVar5) { - *(float *)(iVar4 + 0x20) = *(float *)(iVar4 + 0x20) - fVar6; - *(undefined *)(iVar4 + 1) = 1; - } - else { - *(undefined *)(iVar4 + 1) = 1; - } - } - else { - *(undefined *)(iVar4 + 1) = 1; - } - } - if (iVar1 == 0) { - *(undefined4 *)(iVar4 + 0x38) = *(undefined4 *)(iVar4 + 0x28); - } - } - return; -} - - - -void loc_7F06FC74(int param_1,undefined4 param_2,undefined param_3,float param_4,undefined4 param_5, - float param_6,int param_7) - -{ - if (param_7 != 0) { - loc_7F06F868(param_1,param_6); - } - loc_7F06FC3C(param_1,param_2,param_3,param_4,param_5,param_6); - return; -} - - - -void FUN_7f070298(int param_1,undefined4 param_2,undefined param_3,float param_4,undefined4 param_5, - float param_6) - -{ - loc_7F06F868(param_1,param_6); - loc_7F06FC3C(param_1,param_2,param_3,param_4,param_5,param_6); - return; -} - - - -void loc_7F06FD50(undefined4 *param_1,undefined4 *param_2) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - - uVar1 = *param_2; - uVar2 = param_2[1]; - uVar3 = param_2[2]; - uVar4 = param_2[3]; - uVar5 = param_2[4]; - uVar6 = param_2[5]; - uVar7 = param_2[6]; - uVar8 = param_2[7]; - puVar11 = param_1; - puVar9 = param_2; - do { - puVar12 = puVar9; - puVar10 = puVar11; - puVar11 = puVar10 + 3; - *puVar12 = *puVar10; - puVar12[1] = puVar10[1]; - puVar12[2] = puVar10[2]; - puVar9 = puVar12 + 3; - } while (puVar11 != param_1 + 0x2d); - puVar12[3] = *puVar11; - puVar12[4] = puVar10[4]; - *param_2 = uVar1; - param_2[1] = uVar2; - param_2[2] = uVar3; - param_2[3] = uVar4; - param_2[4] = uVar5; - param_2[5] = uVar6; - param_2[6] = uVar7; - param_2[7] = uVar8; - return; -} - - - -void sub_7F06FDCC(int param_1,undefined4 param_2,undefined4 param_3) - -{ - *(undefined *)(param_1 + 0x26) = 1; - *(undefined4 *)(param_1 + 0x90) = param_2; - *(undefined4 *)(param_1 + 0x94) = param_3; - return; -} - - - -void loc_7F06FE2C(int param_1,float param_2) - -{ - if ((*(int *)(param_1 + 0x20) != 0) && - (param_2 < (float)((uint)*(ushort *)(*(int *)(param_1 + 0x20) + 4) - 1))) { - *(float *)(param_1 + 0x3c) = param_2; - return; - } - *(undefined4 *)(param_1 + 0x3c) = 0xbf800000; - return; -} - - - -void sub_7F06FE3C(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 0x98) = param_2; - return; -} - - - -void loc_7F06FE84(int param_1,undefined4 param_2,float param_3) - -{ - if (param_3 <= 0.00000000) { - *(undefined4 *)(param_1 + 0x40) = param_2; - *(undefined4 *)(param_1 + 0x4c) = 0; - return; - } - *(float *)(param_1 + 0x4c) = param_3; - *(undefined4 *)(param_1 + 0x44) = param_2; - *(undefined4 *)(param_1 + 0x50) = 0; - *(undefined4 *)(param_1 + 0x48) = *(undefined4 *)(param_1 + 0x40); - return; -} - - - -void loc_7F06FEE8(int param_1,float param_2,float param_3) - -{ - float fVar1; - float fVar2; - - fVar1 = *(float *)(param_1 + 0x28); - if (fVar1 <= param_2) { - param_2 = param_2 - fVar1; - } - else { - fVar2 = (float)(uint)*(ushort *)(*(int *)(param_1 + 0x20) + 4); - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - param_2 = (fVar2 - fVar1) + param_2; - } - loc_7F06FE84(param_1,*(float *)(param_1 + 0x40) + (param_2 + param_2) / param_3,param_3); - return; -} - - - -void loc_7F06FF50(int param_1,undefined4 param_2,float param_3) - -{ - if (param_3 <= 0.00000000) { - *(undefined4 *)(param_1 + 0xa4) = param_2; - *(undefined4 *)(param_1 + 0xb0) = 0; - return; - } - *(float *)(param_1 + 0xb0) = param_3; - *(undefined4 *)(param_1 + 0xa8) = param_2; - *(undefined4 *)(param_1 + 0xb4) = 0; - *(undefined4 *)(param_1 + 0xac) = *(undefined4 *)(param_1 + 0xa4); - return; -} - - - -void sub_7F06FF5C(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 0xa0) = param_2; - return; -} - - - -void FUN_7f070554(int param_1,float param_2) - -{ - bool bVar1; - longlong lVar2; - uint3 uVar3; - uint uVar4; - longlong lVar5; - undefined uVar6; - int iVar7; - int iVar8; - float fVar9; - - uVar4 = locret_7F05C430(param_2); - lVar5 = (longlong)(int)uVar4; - uVar6 = (undefined)((ulonglong)lVar5 >> 8); - lVar2 = CONCAT71(CONCAT61(CONCAT42((int)uVar4 >> 0x1f,(short)((ulonglong)lVar5 >> 0x10)),uVar6), - (char)uVar4); - bVar1 = 0.00000000 <= *(float *)(param_1 + 0x40); - uVar3 = (uint3)((ulonglong)lVar5 >> 8); - iVar8 = (uVar4 & 0xff | (uint)uVar3 << 8) - 1; - if (bVar1) { - iVar8 = (uVar4 & 0xff | (uint)uVar3 << 8) + 1; - } - lVar5 = loc_7F06F770(lVar2,*(int *)(param_1 + 0x20),*(float *)(param_1 + 0x3c)); - *(undefined2 *)(param_1 + 0x30) = CONCAT11(uVar6,(char)((ulonglong)lVar5 >> 0x38)); - lVar5 = loc_7F06F770((longlong)iVar8,*(int *)(param_1 + 0x20),*(float *)(param_1 + 0x3c)); - *(undefined2 *)(param_1 + 0x32) = CONCAT11(uVar6,(char)((ulonglong)lVar5 >> 0x38)); - iVar7 = (int)*(short *)(param_1 + 0x30); - if ((longlong)*(short *)(param_1 + 0x32) == - CONCAT44((undefined4)(*(short *)(param_1 + 0x30) >> 0xf),iVar7)) { - *(undefined4 *)(param_1 + 0x2c) = 0; - *(float *)(param_1 + 0x28) = (float)iVar7; - } - else { - if (bVar1) { - param_2 = param_2 - (float)(int)lVar2; - *(float *)(param_1 + 0x2c) = param_2; - *(float *)(param_1 + 0x28) = (float)iVar7 + param_2; - } - else { - fVar9 = 1.00000000 - (param_2 - (float)iVar8); - *(float *)(param_1 + 0x2c) = fVar9; - *(float *)(param_1 + 0x28) = (float)(int)*(short *)(param_1 + 0x32) + (1.00000000 - fVar9); - } - } - return; -} - - - -void FUN_7f070680(int param_1,float param_2,float param_3) - -{ - bool bVar1; - longlong lVar2; - uint3 uVar3; - uint uVar4; - longlong lVar5; - undefined uVar6; - int iVar7; - int iVar8; - float fVar9; - - FUN_7f070554(param_1,param_2); - if (*(int *)(param_1 + 0x54) != 0) { - uVar4 = locret_7F05C430(param_3); - lVar5 = (longlong)(int)uVar4; - uVar6 = (undefined)((ulonglong)lVar5 >> 8); - lVar2 = CONCAT71(CONCAT61(CONCAT42((int)uVar4 >> 0x1f,(short)((ulonglong)lVar5 >> 0x10)),uVar6), - (char)uVar4); - bVar1 = 0.00000000 <= *(float *)(param_1 + 0x70); - uVar3 = (uint3)((ulonglong)lVar5 >> 8); - iVar8 = (uVar4 & 0xff | (uint)uVar3 << 8) - 1; - if (bVar1) { - iVar8 = (uVar4 & 0xff | (uint)uVar3 << 8) + 1; - } - lVar5 = loc_7F06F770(lVar2,*(int *)(param_1 + 0x54),*(float *)(param_1 + 0x6c)); - *(undefined2 *)(param_1 + 0x60) = CONCAT11(uVar6,(char)((ulonglong)lVar5 >> 0x38)); - lVar5 = loc_7F06F770((longlong)iVar8,*(int *)(param_1 + 0x54),*(float *)(param_1 + 0x6c)); - *(undefined2 *)(param_1 + 0x62) = CONCAT11(uVar6,(char)((ulonglong)lVar5 >> 0x38)); - iVar7 = (int)*(short *)(param_1 + 0x60); - if ((longlong)*(short *)(param_1 + 0x62) == - CONCAT44((undefined4)(*(short *)(param_1 + 0x60) >> 0xf),iVar7)) { - *(undefined4 *)(param_1 + 0x5c) = 0; - *(float *)(param_1 + 0x58) = (float)iVar7; - } - else { - if (bVar1) { - param_3 = param_3 - (float)(int)lVar2; - *(float *)(param_1 + 0x5c) = param_3; - *(float *)(param_1 + 0x58) = (float)iVar7 + param_3; - } - else { - fVar9 = 1.00000000 - (param_3 - (float)iVar8); - *(float *)(param_1 + 0x5c) = fVar9; - *(float *)(param_1 + 0x58) = (float)(int)*(short *)(param_1 + 0x62) + (1.00000000 - fVar9); - } - } - } - return; -} - - - -void FUN_7f0707c4(undefined4 param_1) - -{ - DAT_80036290 = param_1; - return; -} - - - -undefined4 FUN_7f0707d0(void) - -{ - return DAT_80036290; -} - - - -void loc_7F070ABC(int param_1,float param_2,float param_3,float param_4,float param_5) - -{ - short sVar1; - short sVar2; - ushort *puVar3; - ushort *puVar4; - bool bVar5; - uint uVar6; - uint uVar7; - longlong lVar8; - uint3 uVar9; - uint uVar10; - float fVar11; - undefined2 uVar12; - short sVar13; - undefined uVar14; - undefined uVar15; - char cVar16; - longlong lVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack76; - float fStack72; - float fStack68; - uint uStack64; - float fStack48; - float fStack44; - float fStack40; - float fStack28; - int iStack24; - uint uStack20; - - puVar3 = **(ushort ***)(param_1 + 8); - if ((char)*puVar3 != '\x01') { - FUN_7f070680(param_1,param_3,param_5); - return; - } - puVar4 = *(ushort **)(puVar3 + 2); - uVar6 = loc_7F06C888(param_1,puVar3); - uVar9 = (uint3)((ulonglong)(longlong)(int)uVar6 >> 8); - uVar10 = uVar6 & 0xff | (uint)uVar9 << 8; - if (*(char *)(uVar6 & 0xff | (uint)uVar9 << 8) != '\0') { - FUN_7f070680(param_1,param_3,param_5); - return; - } - uStack20 = (uint)*puVar4; - iStack24 = *(int *)(*(int *)(param_1 + 8) + 4); - fStack28 = *(float *)(param_1 + 0x14) * *(float *)(param_1 + 0xb8); - fStack48 = DAT_80036294; - fStack44 = DAT_80036298; - fStack40 = DAT_8003629c; - fStack76 = *(float *)((uVar6 & 0xff | (uint)uVar9 << 8) + 0x34); - fStack72 = *(float *)((uVar6 & 0xff | (uint)uVar9 << 8) + 0x38); - fStack68 = *(float *)((uVar6 & 0xff | (uint)uVar9 << 8) + 0x3c); - fStack92 = *(float *)((uVar6 & 0xff | (uint)uVar9 << 8) + 0x24); - fVar22 = *(float *)((uVar6 & 0xff | (uint)uVar9 << 8) + 0x30); - fStack88 = *(float *)((uVar6 & 0xff | (uint)uVar9 << 8) + 0x28); - fStack84 = *(float *)((uVar6 & 0xff | (uint)uVar9 << 8) + 0x2c); - fStack96 = *(float *)((uVar6 & 0xff | (uint)uVar9 << 8) + 0x20); - cVar16 = *(undefined *)((uVar6 & 0xff | (uint)uVar9 << 8) + 1); - fVar23 = *(float *)(param_1 + 0x40); - if (fVar23 < 0.00000000) { - fVar23 = -fVar23; - fVar18 = *(float *)(param_1 + 0x70); - } - else { - fVar18 = *(float *)(param_1 + 0x70); - } - if (fVar18 < 0.00000000) { - fVar18 = -fVar18; - } - bVar5 = param_2 <= param_3; - if (bVar5) { - uVar6 = locret_7F05C430(param_2); - lVar17._4_4_ = (uVar6 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar6 >> 8) << 8) + 1; - uVar6 = locret_7F05C430(param_3); - lVar17 = (longlong)(int)uVar6; - uVar12 = (undefined2)((ulonglong)lVar17 >> 0x10); - uVar14 = (undefined)((ulonglong)lVar17 >> 8); - uStack64 = uVar6 & 0xff | (uint)(uint3)((ulonglong)lVar17 >> 8) << 8; - } - else { - uVar6 = locret_7F05C510(param_2); - lVar17._4_4_ = (uVar6 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar6 >> 8) << 8) - 1; - uVar6 = locret_7F05C510(param_3); - lVar17 = (longlong)(int)uVar6; - uVar12 = (undefined2)((ulonglong)lVar17 >> 0x10); - uVar14 = (undefined)((ulonglong)lVar17 >> 8); - uStack64 = uVar6 & 0xff | (uint)(uint3)((ulonglong)lVar17 >> 8) << 8; - } - fVar11 = DAT_80054d7c; - lVar17 = (longlong)lVar17._4_4_; -LAB_7f070978: - if (bVar5) { - if ((longlong)(int)uStack64 < lVar17) goto LAB_7f070e50; - lVar17._4_4_ = *(int *)(param_1 + 0x20); - } - else { - if (lVar17 < (longlong)(int)uStack64) goto LAB_7f070e50; - lVar17._4_4_ = *(int *)(param_1 + 0x20); - } - lVar8 = loc_7F06F770(lVar17,lVar17._4_4_,*(float *)(param_1 + 0x3c)); - uVar15 = (undefined)((ulonglong)lVar8 >> 0x38); - *(undefined2 *)(param_1 + 0x30) = CONCAT11(uVar14,uVar15); - if (cVar16 == '\0') { - fVar19 = FUN_7f06d9e4(uStack20,(longlong)*(char *)(param_1 + 0x24),iStack24, - *(int *)(param_1 + 0x20),CONCAT31(CONCAT21(uVar12,uVar14),uVar15), - &fStack48); - if (fStack28 != 1.00000000) { - fStack48 = fStack48 * fStack28; - fStack44 = fStack44 * fStack28; - fStack40 = fStack40 * fStack28; - } - if (!bVar5) { - fStack48 = -fStack48; - fStack40 = -fStack40; - if (0.00000000 < fVar19) { - fVar19 = fVar11 - fVar19; - } - } - fVar20 = FUN_7f0583c0(*(float *)(uVar10 + 0x14)); - fVar21 = func_7F057FC4(*(float *)(uVar10 + 0x14)); - fStack76 = fStack76 + fStack48 * fVar20 + fStack40 * fVar21; - fStack72 = fStack44; - fStack68 = fStack68 + -fStack48 * fVar21 + fStack40 * fVar20; - fVar20 = fVar22; - if ((*(float *)(uVar10 + 0x18) == 0.00000000) && (fVar20 = fVar22 + fVar19, fVar11 <= fVar20)) { - fVar20 = fVar20 - fVar11; - } - } - else { - fStack76 = fStack92; - fStack72 = fStack88; - fStack68 = fStack84; - fVar20 = fStack96; - if (*(float *)(uVar10 + 0x18) != 0.00000000) { - fVar20 = fVar22; - } - } - fVar22 = fVar20; - if (bVar5) { - lVar17._4_4_ = (int)lVar17 + 1; - } - else { - lVar17._4_4_ = (int)lVar17 + -1; - } - lVar17 = (longlong)lVar17._4_4_; - lVar8 = loc_7F06F770(lVar17,*(int *)(param_1 + 0x20),*(float *)(param_1 + 0x3c)); - uVar15 = (undefined)((ulonglong)lVar8 >> 0x38); - *(undefined2 *)(param_1 + 0x32) = CONCAT11(uVar14,uVar15); - if (*(short *)(param_1 + 0x30) != *(short *)(param_1 + 0x32)) { - cVar16 = 1; - fVar19 = FUN_7f06d9e4(uStack20,(longlong)*(char *)(param_1 + 0x24),iStack24, - *(int *)(param_1 + 0x20),CONCAT31(CONCAT21(uVar12,uVar14),uVar15), - &fStack48); - if (fStack28 != 1.00000000) { - fStack48 = fStack48 * fStack28; - fStack44 = fStack44 * fStack28; - fStack40 = fStack40 * fStack28; - } - if (!bVar5) { - fStack48 = -fStack48; - fStack40 = -fStack40; - if (0.00000000 < fVar19) { - fVar19 = fVar11 - fVar19; - } - } - fVar20 = FUN_7f0583c0(*(float *)(uVar10 + 0x30)); - fVar21 = func_7F057FC4(*(float *)(uVar10 + 0x30)); - if ((DAT_80036290 == 0) || (*(int *)(param_1 + 0x54) == 0)) { - fStack92 = fStack40 * fVar21 + fStack76 + fStack48 * fVar20; - fStack84 = fStack40 * fVar20 + (fStack68 - fStack48 * fVar21); - } - else { - fStack92 = fStack40 * fVar21 + fStack48 * fVar20; - fStack84 = fStack40 * fVar20 + -fStack48 * fVar21; - if (0.00000000 < fVar23) { - fVar21 = *(float *)(param_1 + 0x84); - fVar20 = fVar21 - *(float *)(param_1 + 0xa4) / (fVar23 * *(float *)(param_1 + 0x88)); - if (fVar20 < 0.00000000) { - fVar21 = fVar21 + 0.00000000; - } - else { - fVar21 = fVar21 + fVar20; - } - fVar20 = (((*(float *)(uVar10 + 0x40) - *(float *)(uVar10 + 0x4c)) * fVar18) / fVar23 - - fStack92) * fVar21 * 0.50000000; - fVar21 = (((*(float *)(uVar10 + 0x48) - *(float *)(uVar10 + 0x54)) * fVar18) / fVar23 - - fStack84) * fVar21 * 0.50000000; - } - else { - fVar20 = (*(float *)(uVar10 + 0x40) - *(float *)(uVar10 + 0x4c)) * - *(float *)(param_1 + 0x84); - fVar21 = (*(float *)(uVar10 + 0x48) - *(float *)(uVar10 + 0x54)) * - *(float *)(param_1 + 0x84); - } - fStack84 = fStack84 + fVar21; - fStack92 = fStack92 + fVar20; - fStack92 = fStack92 + fStack76; - fStack84 = fStack84 + fStack68; - } - fStack88 = fStack44; - fVar20 = *(float *)(uVar10 + 0x5c); - if (0.00000000 < fVar20) { - if (0.00000000 < fVar23) { - fVar21 = 1.00000000 / fVar23; - if (fVar20 < fVar21) { - *(undefined4 *)(uVar10 + 0x5c) = 0; - } - else { - *(float *)(uVar10 + 0x5c) = fVar20 - fVar21; - fVar20 = fVar21; - } - fVar19 = fVar19 + *(float *)(uVar10 + 0x58) * fVar20; - if (fVar19 < 0.00000000) { - fVar19 = fVar19 + fVar11; - } - else { - if (fVar19 < fVar11) { - fVar20 = *(float *)(uVar10 + 0x18); - goto LAB_7f070e18; - } - fVar19 = fVar19 - fVar11; - } - fVar20 = *(float *)(uVar10 + 0x18); - } - else { - fVar20 = *(float *)(uVar10 + 0x18); - } - } - else { - fVar20 = *(float *)(uVar10 + 0x18); - } -LAB_7f070e18: - if ((fVar20 == 0.00000000) && (fStack96 = fVar22 + fVar19, fVar11 <= fStack96)) { - fStack96 = fStack96 - fVar11; - } - } - goto LAB_7f070978; -LAB_7f070e50: - *(float *)(uVar10 + 0x34) = fStack76; - *(float *)(uVar10 + 0x38) = fStack72; - *(float *)(uVar10 + 0x30) = fVar22; - *(float *)(uVar10 + 0x3c) = fStack68; - *(float *)(uVar10 + 0x24) = fStack92; - *(float *)(uVar10 + 0x28) = fStack88; - *(float *)(uVar10 + 0x2c) = fStack84; - *(float *)(uVar10 + 0x20) = fStack96; - sVar1 = *(short *)(param_1 + 0x30); - sVar13 = sVar1 >> 0xf; - uVar14 = (undefined)((ulonglong)(longlong)sVar1 >> 8); - uVar15 = (undefined)sVar1; - sVar2 = *(short *)(param_1 + 0x32); - if (CONCAT44((undefined4)(sVar2 >> 0xf),(int)sVar2) == - CONCAT71(CONCAT61(CONCAT42((undefined4)(sVar1 >> 0xf),sVar13),uVar14),uVar15)) { - *(undefined4 *)(param_1 + 0x2c) = 0; - *(float *)(param_1 + 0x28) = (float)CONCAT31(CONCAT21(sVar13,uVar14),uVar15); - } - else { - if (bVar5) { - *(float *)(param_1 + 0x2c) = param_3 - (float)uStack64; - *(float *)(param_1 + 0x28) = - (float)CONCAT31(CONCAT21(sVar13,uVar14),uVar15) + (param_3 - (float)uStack64); - } - else { - *(float *)(param_1 + 0x2c) = (float)uStack64 - param_3; - *(float *)(param_1 + 0x28) = (float)(int)sVar2 + (1.00000000 - ((float)uStack64 - param_3)); - } - } - if (*(int *)(param_1 + 0x54) == 0) { - *(undefined *)(uVar10 + 2) = 0; - return; - } - lVar17._4_4_ = locret_7F05C430(param_4); - lVar17 = CONCAT71(CONCAT61(CONCAT42(lVar17._4_4_ >> 0x1f, - (short)((ulonglong)(longlong)lVar17._4_4_ >> 0x10)), - (char)((ulonglong)(longlong)lVar17._4_4_ >> 8)),(char)lVar17._4_4_); - uVar7 = locret_7F05C430(param_5); - lVar8 = (longlong)(int)uVar7; - uVar12 = (undefined2)((ulonglong)lVar8 >> 0x10); - uVar14 = (undefined)((ulonglong)lVar8 >> 8); - uVar6 = uVar7 & 0xff | (uint)(uint3)((ulonglong)lVar8 >> 8) << 8; - if ((bVar5) && - (lVar17 < CONCAT71(CONCAT61(CONCAT42((int)uVar7 >> 0x1f,uVar12),uVar14),(char)uVar7))) { - cVar16 = *(char *)(uVar10 + 2); - } - else { - if ((bVar5) || - (lVar17 <= CONCAT71(CONCAT61(CONCAT42((int)uVar7 >> 0x1f,uVar12),uVar14),(char)uVar7))) - goto LAB_7f070ffc; - cVar16 = *(char *)(uVar10 + 2); - } - if (cVar16 == '\0') { - *(undefined4 *)(uVar10 + 0x50) = *(undefined4 *)(uVar10 + 0x38); - } - else { - *(undefined4 *)(uVar10 + 0x50) = *(undefined4 *)(uVar10 + 0x44); - } - lVar17 = loc_7F06F770((longlong)(int)uVar6,*(int *)(param_1 + 0x54),*(float *)(param_1 + 0x6c)); - *(undefined2 *)(param_1 + 0x60) = CONCAT11(uVar14,(char)((ulonglong)lVar17 >> 0x38)); - lVar17 = loc_7F06F770((longlong)(int)(uVar6 + 1),*(int *)(param_1 + 0x54), - *(float *)(param_1 + 0x6c)); - uVar15 = (undefined)((ulonglong)lVar17 >> 0x38); - *(undefined2 *)(param_1 + 0x62) = CONCAT11(uVar14,uVar15); - FUN_7f06d9e4(uStack20,(longlong)*(char *)(param_1 + 0x25),iStack24,*(int *)(param_1 + 0x54), - CONCAT31(CONCAT21(uVar12,uVar14),uVar15),&fStack48); - if (fStack28 != 1.00000000) { - fStack44 = fStack44 * fStack28; - } - *(undefined *)(uVar10 + 2) = 1; - *(float *)(uVar10 + 0x44) = fStack44; -LAB_7f070ffc: - if (bVar5) { - *(float *)(param_1 + 0x5c) = param_5 - (float)uVar6; - *(float *)(param_1 + 0x58) = (float)(int)*(short *)(param_1 + 0x60) + (param_5 - (float)uVar6); - } - else { - fVar22 = 1.00000000 - (param_5 - (float)uVar6); - *(float *)(param_1 + 0x5c) = fVar22; - *(float *)(param_1 + 0x58) = (float)(int)*(short *)(param_1 + 0x62) + (1.00000000 - fVar22); - } - return; -} - - - -void loc_7F070F58(int param_1,int param_2,int param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - undefined4 uVar5; - undefined4 uVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - undefined4 uVar12; - undefined4 uVar13; - float fStack8; - - fStack8 = *(float *)(param_1 + 0x58); - fVar7 = *(float *)(param_1 + 0x28); - if (0 < param_2) { - if (0 < param_2) { - fVar2 = *(float *)(param_1 + 0xb0); - do { - if (0.00000000 < fVar2) { - *(float *)(param_1 + 0xb4) = *(float *)(param_1 + 0xb4) + 1.00000000; - if (*(float *)(param_1 + 0xb4) < fVar2) { - *(float *)(param_1 + 0xa4) = - *(float *)(param_1 + 0xac) + - ((*(float *)(param_1 + 0xa8) - *(float *)(param_1 + 0xac)) * - *(float *)(param_1 + 0xb4)) / fVar2; - } - else { - *(undefined4 *)(param_1 + 0xb0) = 0; - *(undefined4 *)(param_1 + 0xa4) = *(undefined4 *)(param_1 + 0xa8); - } - fVar2 = *(float *)(param_1 + 0x88); - } - else { - fVar2 = *(float *)(param_1 + 0x88); - } - fVar3 = *(float *)(param_1 + 0xa4); - if (0.00000000 < fVar2) { - *(float *)(param_1 + 0x8c) = *(float *)(param_1 + 0x8c) + fVar3; - fVar2 = *(float *)(param_1 + 0x8c); - if (fVar2 == 0.00000000) { - fVar3 = *(float *)(param_1 + 0xa4); - *(undefined4 *)(param_1 + 0x84) = 0x3f800000; - } - else { - fVar8 = *(float *)(param_1 + 0x88); - if (fVar2 < fVar8) { - fVar3 = *(float *)(param_1 + 0xa4); - *(float *)(param_1 + 0x84) = (fVar8 - fVar2) / fVar8; - } - else { - *(undefined4 *)(param_1 + 0x88) = 0; - *(undefined4 *)(param_1 + 0x84) = 0; - *(undefined4 *)(param_1 + 0x54) = 0; - fVar3 = *(float *)(param_1 + 0xa4); - } - } - fVar2 = *(float *)(param_1 + 0x4c); - } - else { - fVar2 = *(float *)(param_1 + 0x4c); - } - if (0.00000000 < fVar2) { - *(float *)(param_1 + 0x50) = *(float *)(param_1 + 0x50) + fVar3; - if (*(float *)(param_1 + 0x50) < fVar2) { - fVar3 = *(float *)(param_1 + 0xa4); - *(float *)(param_1 + 0x40) = - *(float *)(param_1 + 0x48) + - ((*(float *)(param_1 + 0x44) - *(float *)(param_1 + 0x48)) * - *(float *)(param_1 + 0x50)) / fVar2; - } - else { - *(undefined4 *)(param_1 + 0x4c) = 0; - fVar3 = *(float *)(param_1 + 0xa4); - *(undefined4 *)(param_1 + 0x40) = *(undefined4 *)(param_1 + 0x44); - } - fVar2 = *(float *)(param_1 + 0x40); - } - else { - fVar2 = *(float *)(param_1 + 0x40); - } - fVar8 = fVar7 + fVar3 * fVar2; - if (*(int *)(param_1 + 0x54) != 0) { - fVar7 = *(float *)(param_1 + 0x7c); - if (0.00000000 < fVar7) { - *(float *)(param_1 + 0x80) = *(float *)(param_1 + 0x80) + fVar3; - if (*(float *)(param_1 + 0x80) < fVar7) { - fVar3 = *(float *)(param_1 + 0xa4); - *(float *)(param_1 + 0x70) = - *(float *)(param_1 + 0x78) + - ((*(float *)(param_1 + 0x74) - *(float *)(param_1 + 0x78)) * - *(float *)(param_1 + 0x80)) / fVar7; - } - else { - *(undefined4 *)(param_1 + 0x7c) = 0; - fVar3 = *(float *)(param_1 + 0xa4); - *(undefined4 *)(param_1 + 0x70) = *(undefined4 *)(param_1 + 0x74); - } - fVar7 = *(float *)(param_1 + 0x70); - } - else { - fVar7 = *(float *)(param_1 + 0x70); - } - fStack8 = fStack8 + fVar3 * fVar7; - } - fVar7 = fVar8; - if (*(char *)(param_1 + 0x26) != '\0') { - fVar10 = *(float *)(param_1 + 0x3c); - fVar4 = *(float *)(param_1 + 0x90); - fVar1 = (float)((uint)*(ushort *)(*(int *)(param_1 + 0x20) + 4) - 1); - fVar7 = fVar10; - fVar3 = fVar4; - fVar11 = fVar4; - fVar9 = fVar1; - if (fVar2 < 0.00000000) { - fVar7 = fVar4; - fVar3 = fVar10; - fVar11 = fVar1; - fVar9 = fVar4; - } - if ((0.00000000 <= fVar10) && (fVar10 < fVar1)) { - fVar9 = fVar7; - fVar11 = fVar3; - } - if ((fVar2 < 0.00000000) || (fVar8 < fVar9)) { - fVar7 = fVar8; - if ((0.00000000 <= fVar2) || (fVar7 = fVar8, fVar9 < fVar8)) goto LAB_7f0714b0; - uVar5 = *(undefined4 *)(param_1 + 0x4c); - } - else { - uVar5 = *(undefined4 *)(param_1 + 0x4c); - } - uVar12 = *(undefined4 *)(param_1 + 0x44); - uVar13 = *(undefined4 *)(param_1 + 0x48); - uVar6 = *(undefined4 *)(param_1 + 0x50); - if (param_3 == 0) { - FUN_7f070680(param_1,fVar9,0.00000000); - } - else { - loc_7F070ABC(param_1,*(float *)(param_1 + 0x28),fVar9,0.00000000,0.00000000); - } - FUN_7f070298(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined *)(param_1 + 0x24),fVar11 - ,*(undefined4 *)(param_1 + 0x40),*(float *)(param_1 + 0x94)); - *(undefined *)(param_1 + 0x26) = 1; - *(float *)(param_1 + 0x3c) = fVar10; - *(undefined4 *)(param_1 + 0x44) = uVar12; - *(undefined4 *)(param_1 + 0x48) = uVar13; - *(undefined4 *)(param_1 + 0x4c) = uVar5; - *(undefined4 *)(param_1 + 0x50) = uVar6; - fVar7 = (fVar11 + fVar8) - fVar9; - fStack8 = fVar8; - if (*(code **)(param_1 + 0x98) != NULL) { - (**(code **)(param_1 + 0x98))(); - fStack8 = fVar8; - } - } -LAB_7f0714b0: - param_2 += -1; - if (param_2 < 1) break; - fVar2 = *(float *)(param_1 + 0xb0); - } while( true ); - } - if (param_3 == 0) { - if (*(int *)(param_1 + 0x54) == 0) { - FUN_7f070680(param_1,fVar7,0.00000000); - } - else { - FUN_7f070680(param_1,fVar7,fStack8); - } - } - else { - if (*(int *)(param_1 + 0x54) == 0) { - loc_7F070ABC(param_1,*(float *)(param_1 + 0x28),fVar7,0.00000000,0.00000000); - } - else { - loc_7F070ABC(param_1,*(float *)(param_1 + 0x28),fVar7,*(float *)(param_1 + 0x58),fStack8); - } - } - } - return; -} - - - -void FUN_7f071570(int param_1) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xe7000000; - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xba001402; - if (*(int *)(param_1 + 4) == 0) { - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x552048; - *puVar1 = 0xb900031d; - } - else { - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0x552078; - } - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0xff33ffff; - *puVar1 = 0xfc121824; - return; -} - - - -void locret_7F071B3C(int param_1,longlong param_2) - -{ - int iVar1; - uint uVar2; - undefined4 *puVar3; - - iVar1 = *(int *)(param_1 + 0x30); - if (iVar1 == 7) { - if (param_2 != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(param_1 + 0x38); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - uVar2 = *(uint *)(param_1 + 0x34); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x5ffedbf8; - *puVar3 = 0xfc159804; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 8) { - if (param_2 != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(param_1 + 0x38); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - uVar2 = *(uint *)(param_1 + 0x34); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x5ffefff8; - *puVar3 = 0xfc159a04; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - } - else { - if (iVar1 == 9) { - if ((*(uint *)(param_1 + 0x34) & 0xff) != 0) { - if (param_2 == 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfa000000; - puVar3[1] = *(uint *)(param_1 + 0x34) >> 8 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1fccdff8; - *puVar3 = 0xfc26c204; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4113078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4113048; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - uVar2 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = *(uint *)(param_1 + 0x34) & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1ffcfbf8; - *puVar3 = 0xfc26e804; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4113078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4113048; - *puVar3 = 0xb900031d; - return; - } - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - uVar2 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xffffffff; - *puVar3 = 0xfb000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfa000000; - puVar3[1] = *(uint *)(param_1 + 0x34) >> 8 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093fb; - *puVar3 = 0xfc26a004; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 4) { - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - uVar2 = *(uint *)(param_1 + 0x34); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 5) { - if (param_2 == 0) { - if ((*(uint *)(param_1 + 0x34) & 0xff) < 0xff) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f10ffff; - *puVar3 = 0xfc269a04; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfc26a004; - puVar3[1] = 0x1f1093ff; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(param_1 + 0x38); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | (uVar2 >> 8 & 0xff) << 8 | - uVar2 & 0xff; - uVar2 = *(uint *)(param_1 + 0x34); - if ((uVar2 & 0xff) < 0xff) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff | 0xffffff00; - if ((*(uint *)(param_1 + 0x34) & 0xff00) == 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfc26ea04; - puVar3[1] = 0x1f10ffff; - } - else { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f10cfff; - *puVar3 = 0xfc26ea04; - } - } - else { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - } - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - if (param_2 != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc192078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc192048; - *puVar3 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc1849d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc1841c8; - *puVar3 = 0xb900031d; - } - return; -} - - - -void loc_7F072620(int param_1,longlong param_2) - -{ - int iVar1; - undefined4 *puVar2; - uint uVar3; - - iVar1 = *(int *)(param_1 + 0x30); - if (iVar1 == 7) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - uVar3 = *(uint *)(param_1 + 0x34); - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x5ffedbf8; - *puVar2 = 0xfc159804; - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 8) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x34); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x5ffefff8; - *puVar2 = 0xfc159a04; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 9) { - if ((*(uint *)(param_1 + 0x34) & 0xff) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = *(uint *)(param_1 + 0x34) & 0xff; - if (param_2 == 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfa000000; - puVar2[1] = *(uint *)(param_1 + 0x34) >> 8 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1fccdff8; - *puVar2 = 0xfc26c204; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4113078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4113048; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1ffcfbf8; - *puVar2 = 0xfc26e804; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4113078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4113048; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xffffffff; - *puVar2 = 0xfb000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfa000000; - puVar2[1] = *(uint *)(param_1 + 0x34) >> 8 & 0xff; - if (param_2 == 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093fb; - *puVar2 = 0xfc26a004; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26a004; - puVar2[1] = 0x1f1093fb; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 4) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x34); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093ff; - *puVar2 = 0xfc26a004; - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 5) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - uVar3 = *(uint *)(param_1 + 0x34); - if ((uVar3 & 0xff) < 0xff) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff | 0xffffff00; - if (param_2 == 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc269a04; - puVar2[1] = 0x1f10ffff; - } - else { - if ((*(uint *)(param_1 + 0x34) & 0xff00) == 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f10ffff; - *puVar2 = 0xfc26ea04; - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26ea04; - puVar2[1] = 0x1f10cfff; - } - } - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093ff; - *puVar2 = 0xfc26a004; - } - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xffffff00; - *puVar2 = 0xf8000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26a004; - puVar2[1] = 0x1f1093ff; - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; -} - - - -void FUN_7f072c34(int param_1) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xe7000000; - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x100000; - *puVar1 = 0xba001402; - if (*(int *)(param_1 + 4) == 0) { - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0xc192048; - } - else { - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0xc192078; - } - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x1f1093ff; - *puVar1 = 0xfc26a004; - return; -} - - - -void locret_7F07277C(int param_1) - -{ - int iVar1; - undefined4 *puVar2; - - iVar1 = *(int *)(param_1 + 0x3c); - if (iVar1 == 1) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x3000; - *puVar2 = 0xb6000000; - return; - } - if (iVar1 != 2) { - if (iVar1 == 3) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x2000; - *puVar2 = 0xb7000000; - } - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1000; - *puVar2 = 0xb7000000; - return; -} - - - -void loc_7F072974(int param_1,int param_2) - -{ - int *piVar1; - char cVar4; - undefined4 *puVar2; - uint uVar3; - - piVar1 = *(int **)(param_2 + 4); - if (*(int *)(param_1 + 0x18) == 0) { - if ((*(uint *)(param_1 + 8) & 1) == 0) { - uVar3 = *(uint *)(param_1 + 8); - } - else { - if (*piVar1 == 0) { - uVar3 = *(uint *)(param_1 + 8); - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xbc001406; - uVar3 = osVirtualToPhysical(piVar1[2]); - puVar2[1] = uVar3; - if (*(int *)(param_1 + 0x3c) == 0) { - cVar4 = *(char *)((int)piVar1 + 0x12); - } - else { - locret_7F07277C(param_1); - cVar4 = *(char *)((int)piVar1 + 0x12); - } - if (cVar4 == '\x01') { - FUN_7f071570(param_1); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (cVar4 == '\x03') { - locret_7F071B3C(param_1,1); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (cVar4 == '\x04') { - loc_7F072620(param_1,1); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (cVar4 == '\x02') { - FUN_7f072c34(param_1); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - } - } - } - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = *piVar1; - if (*(char *)((int)piVar1 + 0x12) == '\x03') { - if (piVar1[1] == 0) { - uVar3 = *(uint *)(param_1 + 8); - } - else { - locret_7F071B3C(param_1,0); - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = piVar1[1]; - uVar3 = *(uint *)(param_1 + 8); - } - } - else { - uVar3 = *(uint *)(param_1 + 8); - } - } - } - if (((((uVar3 & 2) != 0) && (*piVar1 != 0)) && (*(char *)((int)piVar1 + 0x12) == '\x04')) && - (piVar1[1] != 0)) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xbc001406; - uVar3 = osVirtualToPhysical(piVar1[2]); - puVar2[1] = uVar3; - if (*(int *)(param_1 + 0x3c) != 0) { - locret_7F07277C(param_1); - } - loc_7F072620(param_1,0); - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = piVar1[1]; - } - } - return; -} - - - -void loc_7F072C00(int param_1,int param_2,ushort *param_3) - -{ - int iVar1; - uint *puVar2; - short sVar4; - uint uVar3; - undefined4 *puVar5; - - iVar1 = *(int *)(param_3 + 2); - if (*(int *)(param_1 + 0x18) == 0) { - if ((*(uint *)(param_1 + 8) & 1) == 0) { - uVar3 = *(uint *)(param_1 + 8); - } - else { - puVar2 = (uint *)loc_7F06C888(param_2,param_3); - if (puVar2[1] == 0) { - uVar3 = *(uint *)(param_1 + 8); - } - else { - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001406; - uVar3 = osVirtualToPhysical(*(uint *)(iVar1 + 0x1c)); - puVar5[1] = uVar3; - if (*(int *)(param_1 + 0x3c) == 0) { - sVar4 = *(short *)(iVar1 + 0x18); - } - else { - locret_7F07277C(param_1); - sVar4 = *(short *)(iVar1 + 0x18); - } - if (sVar4 == 1) { - FUN_7f071570(param_1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (sVar4 == 3) { - locret_7F071B3C(param_1,1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (sVar4 == 4) { - loc_7F072620(param_1,1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (sVar4 == 2) { - FUN_7f072c34(param_1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - } - } - } - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001006; - uVar3 = osVirtualToPhysical(*puVar2); - puVar5[1] = uVar3; - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0x6000000; - puVar5[1] = puVar2[1]; - if (*(short *)(iVar1 + 0x18) == 3) { - if (*(int *)(iVar1 + 4) == 0) { - uVar3 = *(uint *)(param_1 + 8); - } - else { - locret_7F071B3C(param_1,0); - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0x6000000; - puVar5[1] = *(undefined4 *)(iVar1 + 4); - uVar3 = *(uint *)(param_1 + 8); - } - } - else { - uVar3 = *(uint *)(param_1 + 8); - } - } - } - if (((((uVar3 & 2) != 0) && (puVar2 = (uint *)loc_7F06C888(param_2,param_3), puVar2[1] != 0)) && - (*(short *)(iVar1 + 0x18) == 4)) && (*(int *)(iVar1 + 4) != 0)) { - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001406; - uVar3 = osVirtualToPhysical(*(uint *)(iVar1 + 0x1c)); - puVar5[1] = uVar3; - if (*(int *)(param_1 + 0x3c) == 0) { - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - locret_7F07277C(param_1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001006; - uVar3 = osVirtualToPhysical(*puVar2); - puVar5[1] = uVar3; - loc_7F072620(param_1,0); - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0x6000000; - puVar5[1] = *(undefined4 *)(iVar1 + 4); - } - } - return; -} - - - -void FUN_7f073200(void) - -{ - return; -} - - - -void FUN_7f073210(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - short sVar1; - int *piVar2; - undefined4 uVar3; - uint uVar5; - int iVar6; - int iVar7; - longlong lVar4; - uint uVar8; - short sVar9; - undefined4 *puVar10; - short sVar11; - short sVar12; - short sVar13; - undefined4 *puVar14; - undefined4 *puVar15; - int iVar16; - - if (((*(int *)(param_1 + 0x18) == 0) && ((*(uint *)(param_1 + 8) & 2) != 0)) && - (piVar2 = *(int **)(param_2 + 4), piVar2[2] != 0)) { - puVar15 = (undefined4 *)piVar2[1]; - if (DAT_800360cc == NULL) { - FUN_7000cf84((byte *)s_dorottex__no_vtx_allocator__80054a68,param_2,param_3,param_4); - FUN_7f06ca5c(); - } - puVar14 = (undefined4 *)(*DAT_800360cc)(*piVar2 << 2); - puVar10 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar10 + 2; - *puVar10 = 0xbc001006; - uVar5 = osVirtualToPhysical((uint)puVar14); - puVar10[1] = uVar5; - puVar10 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar10 + 2; - *puVar10 = 0xbc001406; - uVar5 = osVirtualToPhysical(piVar2[3]); - puVar10[1] = uVar5; - puVar10 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar10 + 2; - puVar10[1] = 0; - *puVar10 = 0xf8000000; - puVar10 = *(undefined4 **)(param_1 + 0xc); - iVar16 = 0; - *(undefined4 **)(param_1 + 0xc) = puVar10 + 2; - *puVar10 = 0x6000000; - puVar10[1] = piVar2[2]; - if (0 < *piVar2) { - do { - iVar6 = FUN_7000a460(); - iVar7 = coss(iVar6 << 10 & 0xffff); - lVar4 = locret_70016CC8(iVar6 << 10 & 0xffff); - uVar8 = FUN_7000a460(); - uVar8 >>= 0x1f; - uVar5 = FUN_7000a460(); - iVar6 = 0x10000 - (uVar5 & 0x3fff); - *puVar14 = *puVar15; - sVar9 = (short)(iVar7 * 0x16a0 >> 0x12); - sVar13 = 0x200 - sVar9; - sVar11 = (short)((int)lVar4 * 0x16a0 >> 0x12); - sVar12 = 0x200 - sVar11; - puVar14[1] = puVar15[1]; - sVar11 += 0x200; - puVar14[2] = puVar15[2]; - iVar16 += 1; - puVar14[3] = puVar15[3]; - puVar14[4] = puVar15[4]; - puVar14[5] = puVar15[5]; - puVar14[6] = puVar15[6]; - puVar14[7] = puVar15[7]; - puVar14[8] = puVar15[8]; - puVar14[9] = puVar15[9]; - puVar14[10] = puVar15[10]; - puVar14[0xb] = puVar15[0xb]; - puVar14[0xc] = puVar15[0xc]; - puVar14[0xd] = puVar15[0xd]; - puVar14[0xe] = puVar15[0xe]; - uVar3 = puVar15[0xf]; - *(short *)(puVar14 + 2) = sVar13; - *(short *)((int)puVar14 + 10) = sVar12; - puVar14[0xf] = uVar3; - uVar5 = uVar8; - if ((false) && (uVar5 = uVar8, uVar8 != 0)) { - uVar5 = uVar8 - 4; - } - puVar10 = puVar15 + uVar5 * 4; - iVar7 = uVar8 + 1; - *(short *)puVar14 = (short)((uint)((int)*(short *)puVar10 * iVar6) >> 0x10); - sVar9 += 0x200; - *(undefined2 *)((int)puVar14 + 2) = - (short)((uint)((int)*(short *)((int)puVar10 + 2) * iVar6) >> 0x10); - sVar1 = *(short *)(puVar10 + 1); - *(short *)(puVar14 + 6) = sVar11; - *(short *)((int)puVar14 + 0x1a) = sVar13; - *(short *)(puVar14 + 1) = (short)((uint)((int)sVar1 * iVar6) >> 0x10); - if ((false) && (iVar7 != 0)) { - iVar7 = uVar8 - 3; - } - puVar10 = puVar15 + iVar7 * 4; - *(short *)(puVar14 + 4) = (short)((uint)((int)*(short *)puVar10 * iVar6) >> 0x10); - *(undefined2 *)((int)puVar14 + 0x12) = - (short)((uint)((int)*(short *)((int)puVar10 + 2) * iVar6) >> 0x10); - sVar13 = *(short *)(puVar10 + 1); - *(short *)(puVar14 + 10) = sVar9; - *(short *)((int)puVar14 + 0x2a) = sVar11; - *(short *)(puVar14 + 5) = (short)((uint)((int)sVar13 * iVar6) >> 0x10); - uVar5 = uVar8 + 2 & 3; - if ((false) && (uVar5 != 0)) { - uVar5 -= 4; - } - puVar10 = puVar15 + uVar5 * 4; - *(short *)(puVar14 + 8) = (short)((uint)((int)*(short *)puVar10 * iVar6) >> 0x10); - *(undefined2 *)((int)puVar14 + 0x22) = - (short)((uint)((int)*(short *)((int)puVar10 + 2) * iVar6) >> 0x10); - sVar11 = *(short *)(puVar10 + 1); - *(short *)(puVar14 + 0xe) = sVar12; - *(short *)((int)puVar14 + 0x3a) = sVar9; - *(short *)(puVar14 + 9) = (short)((uint)((int)sVar11 * iVar6) >> 0x10); - uVar5 = uVar8 + 3 & 3; - if ((false) && (uVar5 != 0)) { - uVar5 -= 4; - } - puVar10 = puVar15 + uVar5 * 4; - puVar15 = puVar15 + 0x10; - *(short *)(puVar14 + 0xc) = (short)((uint)((int)*(short *)puVar10 * iVar6) >> 0x10); - *(undefined2 *)((int)puVar14 + 0x32) = - (short)((uint)((int)*(short *)((int)puVar10 + 2) * iVar6) >> 0x10); - *(short *)(puVar14 + 0xd) = (short)((uint)((int)*(short *)(puVar10 + 1) * iVar6) >> 0x10); - puVar14 = puVar14 + 0x10; - } while (iVar16 < *piVar2); - } - } - return; -} - - - -void FUN_7f073628(int param_1,uint *param_2,int param_3) - -{ - loc_7F077B80((uint **)(param_1 + 0xc),param_2,param_3,(longlong)*(int *)(param_1 + 4),2); - return; -} - - - -void FUN_7f07365c(void) - -{ - return; -} - - - -void loc_7F0737C0(int param_1,int param_2,ushort *param_3) - -{ - byte bVar1; - char cVar2; - ushort **ppuVar3; - int iVar4; - int iVar5; - ushort *puVar6; - uint *puVar7; - bool bVar8; - int iVar9; - int *piVar10; - int *piVar11; - short sVar13; - short sVar14; - uint uVar12; - byte *pbVar15; - undefined2 *puVar16; - ushort *puVar18; - longlong extraout_a1; - char *pcVar19; - longlong lVar17; - longlong extraout_a1_00; - longlong extraout_a1_01; - undefined8 extraout_a2; - ulonglong uVar20; - undefined8 extraout_a2_00; - undefined8 extraout_a2_01; - undefined8 extraout_a2_02; - undefined8 uVar21; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 extraout_a3_01; - undefined8 extraout_a3_02; - undefined8 uVar22; - int iVar23; - undefined4 *puVar24; - int iVar25; - undefined4 *puVar26; - undefined4 *puVar27; - int iVar28; - char *pcVar29; - ulonglong uVar30; - int iVar31; - - ppuVar3 = *(ushort ***)(param_3 + 2); - piVar10 = (int *)loc_7F06C888(param_2,param_3); - puVar18 = *ppuVar3; - if (puVar18 == NULL) { - puVar18 = ppuVar3[1]; - } - iVar4 = *(int *)(puVar18 + 2); - piVar11 = (int *)loc_7F06C888(param_2,puVar18); - bVar8 = true; - if ((*(uint *)(param_1 + 8) & 1) != 0) { - sVar13 = loc_7F06C654(param_3,0); - iVar5 = *(int *)(param_2 + 0xc); - iVar28 = *piVar10; - puVar18 = ppuVar3[3]; - iVar31 = *piVar11; - iVar9 = iVar28 * 4; - if (*ppuVar3 == NULL) { - sVar14 = loc_7F06C654(ppuVar3[1],0x200); - iVar25 = *(int *)(param_2 + 0xc); - iVar23 = iVar31; - } - else { - sVar14 = loc_7F06C654(param_3,0x200); - iVar25 = *(int *)(param_2 + 0xc); - iVar23 = iVar28; - iVar28 = iVar31; - } - puVar6 = ppuVar3[2]; - iVar23 = (iVar23 - iVar28) + (int)puVar6; - iVar31 = iVar23 % (int)puVar6; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar23 == -0x80000000)) { - trap(0x1800); - } - if ((iVar31 < 2) || (6 < iVar31)) { - if ((iVar31 < 10) || (0xe < iVar31)) { - if ((6 < iVar31) && (iVar31 < 10)) { - bVar8 = false; - } - puVar27 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (iVar31 < 0xd) { - iVar23 = iVar31 + -8; - if (iVar23 < 0) { - iVar23 = iVar31 + -7; - } - iVar31 = (iVar23 >> 1) + iVar28 + (int)puVar6; - iVar28 = iVar31 % (int)puVar6; - bVar8 = false; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar31 == -0x80000000)) { - trap(0x1800); - } - puVar27 = *(undefined4 **)(param_1 + 0xc); - } - else { - iVar23 = -iVar31 + 0x10; - if (iVar23 < 0) { - iVar23 = -iVar31 + 0x11; - } - iVar31 = (iVar28 - (iVar23 >> 1)) + (int)puVar6; - iVar28 = iVar31 % (int)puVar6; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar31 == -0x80000000)) { - trap(0x1800); - } - puVar27 = *(undefined4 **)(param_1 + 0xc); - } - } - } - else { - if (iVar31 < 4) { - if (iVar31 < 0) { - iVar31 += 1; - } - iVar31 = (iVar31 >> 1) + iVar28 + (int)puVar6; - iVar28 = iVar31 % (int)puVar6; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar31 == -0x80000000)) { - trap(0x1800); - } - puVar27 = *(undefined4 **)(param_1 + 0xc); - } - else { - iVar23 = -iVar31 + 8; - if (iVar23 < 0) { - iVar23 = -iVar31 + 9; - } - iVar31 = (iVar28 - (iVar23 >> 1)) + (int)puVar6; - iVar28 = iVar31 % (int)puVar6; - bVar8 = false; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar31 == -0x80000000)) { - trap(0x1800); - } - puVar27 = *(undefined4 **)(param_1 + 0xc); - } - } - pcVar29 = *(char **)(puVar18 + iVar9 + 2); - *(undefined4 **)(param_1 + 0xc) = puVar27 + 2; - *puVar27 = 0xbc001406; - uVar12 = osVirtualToPhysical((uint)ppuVar3[0x6b]); - puVar27[1] = uVar12; - bVar1 = *(byte *)(puVar18 + iVar9); - uVar30 = (ulonglong)bVar1; - if (bVar1 != 0) { - cVar2 = *pcVar29; - lVar17 = extraout_a1; - uVar21 = extraout_a2; - uVar22 = extraout_a3; - do { - if (cVar2 == '\x01') { - if (DAT_800360cc == NULL) { - FUN_7000cf84((byte *)s_dotube__no_vtx_allocator__80054a88,(uint)lVar17,(int)uVar21, - (int)uVar22); - FUN_7f06ca5c(); - } - puVar27 = (undefined4 *)(*DAT_800360cc)(2); - puVar26 = puVar27 + 4; - puVar24 = (undefined4 *)(ppuVar3[4] + (uint)*(ushort *)(pcVar29 + 2) * 8); - *puVar27 = *puVar24; - puVar27[1] = puVar24[1]; - puVar27[2] = puVar24[2]; - puVar27[3] = puVar24[3]; - puVar18 = ppuVar3[4] + (uint)*(ushort *)(pcVar29 + 2) * 8; - *puVar26 = *(undefined4 *)(puVar18 + 8); - puVar27[5] = *(undefined4 *)(puVar18 + 10); - puVar27[6] = *(undefined4 *)(puVar18 + 0xc); - puVar27[7] = *(undefined4 *)(puVar18 + 0xe); - if (ppuVar3[1] == NULL) { - pbVar15 = (byte *)(*(int *)(iVar4 + 0xc) + iVar28 * 8); - bVar1 = *pbVar15; - uVar20 = (ulonglong)bVar1; - pcVar19 = *(char **)(pbVar15 + 4); - if (bVar1 == 0) { - puVar26 = *(undefined4 **)(param_1 + 0xc); - } - else { - cVar2 = *pcVar19; - while (uVar20 = SEXT48((int)uVar20 + -1), cVar2 != '\x01') { - if (cVar2 == '\x01') { - pcVar19 = pcVar19 + 4; - } - else { - if (cVar2 == '\x02') { - pcVar19 = pcVar19 + 2; - } - else { - if (cVar2 == '\x03') { - pcVar19 = pcVar19 + 4; - } - } - } - if ((longlong)uVar20 < 1) goto LAB_7f073c08; - cVar2 = *pcVar19; - } - puVar16 = (undefined2 *) - (*(int *)(iVar4 + 0x10) + (uint)*(ushort *)(pcVar19 + 2) * 0x10); - if (bVar8) { - *(undefined2 *)puVar27 = puVar16[8]; - *(undefined2 *)((int)puVar27 + 2) = puVar16[9]; - *(undefined2 *)(puVar27 + 1) = puVar16[10]; - *(undefined2 *)puVar26 = *puVar16; - *(undefined2 *)((int)puVar27 + 0x12) = puVar16[1]; - *(undefined2 *)(puVar27 + 5) = puVar16[2]; - } - else { - *(undefined2 *)puVar27 = *puVar16; - *(undefined2 *)((int)puVar27 + 2) = puVar16[1]; - *(undefined2 *)(puVar27 + 1) = puVar16[2]; - *(undefined2 *)puVar26 = puVar16[8]; - *(undefined2 *)((int)puVar27 + 0x12) = puVar16[9]; - *(undefined2 *)(puVar27 + 5) = puVar16[10]; - } -LAB_7f073c08: - puVar26 = *(undefined4 **)(param_1 + 0xc); - } - } - else { - bVar1 = *(byte *)(ppuVar3[3] + iVar28 * 4); - uVar20 = (ulonglong)bVar1; - pcVar19 = *(char **)(ppuVar3[3] + iVar28 * 4 + 2); - if (bVar1 != 0) { - cVar2 = *pcVar19; - while (uVar20 = SEXT48((int)uVar20 + -1), cVar2 != '\x01') { - if (cVar2 == '\x01') { - pcVar19 = pcVar19 + 4; - } - else { - if (cVar2 == '\x02') { - pcVar19 = pcVar19 + 2; - } - else { - if (cVar2 == '\x03') { - pcVar19 = pcVar19 + 4; - } - } - } - if ((longlong)uVar20 < 1) { - puVar26 = *(undefined4 **)(param_1 + 0xc); - goto LAB_7f073c0c; - } - cVar2 = *pcVar19; - } - puVar18 = ppuVar3[4] + (uint)*(ushort *)(pcVar19 + 2) * 8; - *(ushort *)puVar27 = *puVar18; - *(ushort *)((int)puVar27 + 2) = puVar18[1]; - *(ushort *)(puVar27 + 1) = puVar18[2]; - *(ushort *)puVar26 = puVar18[8]; - *(ushort *)((int)puVar27 + 0x12) = puVar18[9]; - *(ushort *)(puVar27 + 5) = puVar18[10]; - goto LAB_7f073c08; - } - puVar26 = *(undefined4 **)(param_1 + 0xc); - } -LAB_7f073c0c: - *(undefined4 **)(param_1 + 0xc) = puVar26 + 2; - *puVar26 = 0x1020040; - uVar12 = osVirtualToPhysical(iVar25 + (int)sVar14 * 0x40); - puVar26[1] = uVar12; - puVar26 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar26 + 2; - *puVar26 = 0x4100020; - uVar12 = osVirtualToPhysical((uint)puVar27); - puVar26[1] = uVar12; - puVar27 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar27 + 2; - *puVar27 = 0x1020040; - uVar12 = osVirtualToPhysical(iVar5 + (int)sVar13 * 0x40); - puVar27[1] = uVar12; - puVar7 = *(uint **)(param_1 + 0xc); - *(uint **)(param_1 + 0xc) = puVar7 + 2; - *puVar7 = (((uint)(byte)pcVar29[1] - 3) * 0x10 & 0xff | 2) << 0x10 | 0x4000000 | - ((uint)(byte)pcVar29[1] - 2) * 0x10 & 0xffff; - uVar12 = osVirtualToPhysical((uint)(ppuVar3[4] + (uint)*(ushort *)(pcVar29 + 2) * 8 + 0x10 - )); - lVar17 = (longlong)(int)puVar7; - pcVar29 = pcVar29 + 4; - puVar7[1] = uVar12; - uVar21 = extraout_a2_00; - uVar22 = extraout_a3_00; - } - else { - if (cVar2 == '\x02') { - if (pcVar29[1] == 0xff) { - FUN_7f073628(param_1,NULL,1); - lVar17 = extraout_a1_01; - uVar21 = extraout_a2_02; - uVar22 = extraout_a3_02; - pcVar29 = pcVar29 + 2; - } - else { - FUN_7f073628(param_1,(uint *)(ppuVar3[5] + (uint)(byte)pcVar29[1] * 6),1); - lVar17 = extraout_a1_00; - uVar21 = extraout_a2_01; - uVar22 = extraout_a3_01; - pcVar29 = pcVar29 + 2; - } - } - else { - if (cVar2 == '\x03') { - puVar27 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar27 + 2; - *puVar27 = 0xbf000000; - puVar27[1] = ((uint)(byte)pcVar29[1] * 10 & 0xff) << 0x10 | - ((uint)(byte)pcVar29[2] * 10 & 0xff) << 8 | - (uint)(byte)pcVar29[3] * 10 & 0xff; - pcVar29 = pcVar29 + 4; - } - } - } - uVar30 = SEXT48((int)uVar30 + -1); - if ((longlong)uVar30 < 1) { - return; - } - cVar2 = *pcVar29; - } while( true ); - } - } - return; -} - - - -void FUN_7f073ddc(void) - -{ - return; -} - - - -void FUN_7f073dec(void) - -{ - return; -} - - - -void loc_7F073FB4(int param_1,int param_2,ushort *param_3) - -{ - byte bVar1; - byte bVar2; - float *pfVar3; - undefined4 *puVar4; - uint *puVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - undefined4 uVar9; - short *psVar11; - short sVar16; - uint uVar12; - undefined4 *puVar13; - int iVar14; - int iVar15; - longlong lVar10; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - short sVar17; - undefined4 extraout_a3_lo; - short sVar18; - float *pfVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - float fVar28; - float fVar29; - float fVar30; - float fStack48; - float fStack44; - float fStack40; - - pfVar3 = *(float **)(param_3 + 2); - psVar11 = (short *)loc_7F06C888(param_2,param_3); - uVar9 = DAT_8003642c; - uVar8 = DAT_80036428; - uVar7 = DAT_80036424; - uVar6 = DAT_80036420; - if (((*(uint *)(param_1 + 8) & 2) != 0) && (*psVar11 != 0)) { - sVar16 = loc_7F06C654(param_3,0); - pfVar19 = (float *)(*(int *)(param_2 + 0xc) + (int)sVar16 * 0x40); - fStack48 = -(pfVar19[0xc] + *pfVar3 * *pfVar19 + pfVar3[1] * pfVar19[4] + pfVar3[2] * pfVar19[8] - ); - fStack44 = -(pfVar19[0xd] + - *pfVar3 * pfVar19[1] + pfVar3[1] * pfVar19[5] + pfVar3[2] * pfVar19[9]); - fStack40 = -(pfVar19[0xe] + - *pfVar3 * pfVar19[2] + pfVar3[1] * pfVar19[6] + pfVar3[2] * pfVar19[10]); - fVar20 = sqrtf(fStack40 * fStack40 + fStack48 * fStack48 + fStack44 * fStack44); - if (0.00000000 < fVar20) { - fVar20 = 1.00000000 / (*(float *)(param_2 + 0x14) * fVar20); - fStack48 = fStack48 * fVar20; - fStack44 = fStack44 * fVar20; - fStack40 = fStack40 * fVar20; - } - else { - fStack48 = 0.00000000; - fStack44 = 0.00000000; - fStack40 = 1.00000000 / *(float *)(param_2 + 0x14); - } - fVar20 = FUN_7f05b1d0(pfVar19[6] * fStack40 + fStack48 * pfVar19[4] + fStack44 * pfVar19[5]); - fVar21 = func_7F057FC4(fVar20); - fVar21 = FUN_7f05b1d0(-(fStack48 * pfVar19[8] + fStack44 * pfVar19[9] + fStack40 * pfVar19[10]) - / fVar21); - if (-(pfVar19[2] * fStack40 + fStack48 * *pfVar19 + fStack44 * pfVar19[1]) < 0.00000000) { - fVar21 = DAT_80054d80 - fVar21; - } - fVar22 = FUN_7f0583c0(fVar21); - fVar21 = func_7F057FC4(fVar21); - fVar23 = FUN_7f0583c0(fVar20); - fVar20 = func_7F057FC4(fVar20); - uVar12 = FUN_7000a460(); - fVar26 = (float)(uVar12 & 0x7f); - if (false) { - fVar26 = fVar26 + 4294967296.00000000; - } - fVar26 = fVar26 * 0.00390625 + 0.75000000; - fVar25 = pfVar3[3] * fVar26; - fVar27 = pfVar3[5]; - fVar30 = pfVar3[4] * fVar26 * fVar20 * 0.50000000; - fVar20 = *pfVar3 - fVar25 * 0.50000000; - fVar29 = pfVar3[1]; - fVar28 = pfVar3[2]; - if (DAT_800360cc == NULL) { - FUN_7000cf84((byte *)s_dogfnegx__no_vtx_allocator__80054aa4,extraout_a1_lo,extraout_a2_lo, - extraout_a3_lo); - FUN_7f06ca5c(); - } - puVar13 = (undefined4 *)(*DAT_800360cc)(4); - *puVar13 = uVar6; - puVar13[1] = uVar7; - puVar13[2] = uVar8; - puVar13[3] = uVar9; - puVar13[4] = uVar6; - puVar13[5] = uVar7; - puVar13[6] = uVar8; - puVar13[7] = uVar9; - puVar13[8] = uVar6; - puVar13[9] = uVar7; - puVar13[10] = uVar8; - puVar13[0xb] = uVar9; - puVar13[0xc] = uVar6; - puVar13[0xd] = uVar7; - puVar13[0xe] = uVar8; - puVar13[0xf] = uVar9; - fVar24 = -(fVar25 * fVar22 * 0.50000000); - fVar25 = -(fVar25 * fVar23 * fVar21 * 0.50000000); - *(short *)puVar13 = (short)(int)(fVar20 + fVar24 + fVar25); - *(undefined2 *)((int)puVar13 + 2) = (short)(int)(fVar29 - fVar30); - fVar21 = -(fVar27 * fVar26 * fVar21 * 0.50000000); - fVar22 = -(fVar27 * fVar26 * fVar23 * fVar22 * 0.50000000); - *(short *)(puVar13 + 1) = (short)(int)((fVar28 - fVar21) + fVar22); - *(short *)(puVar13 + 4) = (short)(int)((fVar20 + fVar24) - fVar25); - *(undefined2 *)((int)puVar13 + 0x12) = (short)(int)(fVar29 + fVar30); - *(short *)(puVar13 + 5) = (short)(int)((fVar28 - fVar21) - fVar22); - *(short *)(puVar13 + 8) = (short)(int)((fVar20 - fVar24) - fVar25); - *(undefined2 *)((int)puVar13 + 0x22) = (short)(int)(fVar29 + fVar30); - *(short *)(puVar13 + 9) = (short)(int)((fVar28 + fVar21) - fVar22); - *(short *)(puVar13 + 0xc) = (short)(int)((fVar20 - fVar24) + fVar25); - *(undefined2 *)((int)puVar13 + 0x32) = (short)(int)(fVar29 - fVar30); - *(short *)(puVar13 + 0xd) = (short)(int)(fVar28 + fVar21 + fVar22); - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - *puVar4 = 0xbc001406; - uVar12 = osVirtualToPhysical((uint)pfVar3[9]); - puVar4[1] = uVar12; - puVar5 = (uint *)pfVar3[6]; - if (puVar5 == NULL) { - FUN_7f073628(param_1,NULL,1); - puVar4 = *(undefined4 **)(param_1 + 0xc); - } - else { - iVar14 = FUN_7000a460(); - iVar15 = coss(iVar14 << 10 & 0xffff); - bVar1 = *(byte *)(puVar5 + 1); - lVar10 = locret_70016CC8(iVar14 << 10 & 0xffff); - bVar2 = *(byte *)(puVar5 + 1); - sVar16 = (ushort)bVar2 * 0x10; - sVar18 = (short)((int)(iVar15 * (uint)bVar1 * 0xb5) >> 0x12); - sVar17 = sVar16 - sVar18; - *(short *)(puVar13 + 2) = sVar17; - *(short *)((int)puVar13 + 0x1a) = sVar17; - sVar18 = sVar16 + sVar18; - *(short *)(puVar13 + 10) = sVar18; - *(short *)((int)puVar13 + 0x3a) = sVar18; - sVar18 = (short)((int)((int)lVar10 * (uint)bVar2 * 0xb5) >> 0x12); - sVar17 = sVar16 - sVar18; - sVar16 += sVar18; - *(short *)((int)puVar13 + 10) = sVar17; - *(short *)(puVar13 + 6) = sVar16; - *(short *)((int)puVar13 + 0x2a) = sVar16; - *(short *)(puVar13 + 0xe) = sVar17; - FUN_7f073628(param_1,puVar5,4); - puVar4 = *(undefined4 **)(param_1 + 0xc); - } - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - puVar4[1] = 0x2000; - *puVar4 = 0xb7000000; - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - *puVar4 = 0x1020040; - uVar12 = osVirtualToPhysical((uint)pfVar19); - puVar4[1] = uVar12; - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - *puVar4 = 0x4300040; - uVar12 = osVirtualToPhysical((uint)puVar13); - puVar4[1] = uVar12; - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - puVar4[1] = 0x3210; - *puVar4 = 0xb1000002; - } - return; -} - - - -void FUN_7f0745b8(undefined4 param_1) - -{ - DAT_80036430 = param_1; - return; -} - - - -void FUN_7f0745c4(int param_1,int param_2,ushort *param_3) - -{ - byte bVar1; - float *pfVar2; - undefined4 *puVar3; - uint *puVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - int iVar8; - short sVar11; - undefined4 *puVar9; - uint uVar10; - uint extraout_a1_lo; - undefined2 uVar12; - float fVar13; - float fVar14; - float fVar15; - uint local_14; - - uVar10 = DAT_80036444; - uVar7 = DAT_80036440; - uVar6 = DAT_8003643c; - uVar5 = DAT_80036438; - if (0 < (int)DAT_80036430) { - pfVar2 = *(float **)(param_3 + 2); - iVar8 = loc_7F06C888(param_2,(ushort *)pfVar2[5]); - fVar14 = pfVar2[2]; - fVar15 = pfVar2[3]; - fVar13 = *(float *)(iVar8 + 0xc) - *(float *)(iVar8 + 4); - if ((*(uint *)(param_1 + 8) & 2) != 0) { - if ((*(int *)(param_1 + 0x30) == 3) || (*(int *)(param_1 + 0x30) == 8)) { - local_14 = uVar10 & 0xffffff00 | - ((*(uint *)(param_1 + 0x34) & 0xff) * DAT_80036430) / 0xff & 0xff; - } - else { - local_14 = uVar10 & 0xffffff00 | DAT_80036430 & 0xff; - } - sVar11 = loc_7F06C654(param_3,0); - iVar8 = *(int *)(param_2 + 0xc); - if (*(int *)(param_1 + 4) == 0) { - uVar12 = (undefined2)(int)(-fVar13 / *(float *)(param_2 + 0x14)); - } - else { - uVar12 = (undefined2)(int)((2.00000000 - fVar13) / *(float *)(param_2 + 0x14)); - } - if (fVar13 < 50.00000000) { - fVar14 = fVar14 * 1.25000000; - fVar15 = fVar15 * 1.25000000; - } - else { - if (300.00000000 < fVar13) { - fVar15 = 0.00000000; - fVar14 = 0.00000000; - } - else { - fVar13 = (300.00000000 - fVar13) / 200.00000000; - fVar14 = fVar14 * fVar13; - fVar15 = fVar15 * fVar13; - } - } - if (DAT_800360cc == NULL) { - FUN_7000cf84((byte *)s_doshadow__no_vtx_allocator__80054ac4,extraout_a1_lo,pfVar2,param_2); - FUN_7f06ca5c(); - } - puVar9 = (undefined4 *)(*DAT_800360cc)(4); - *puVar9 = uVar5; - puVar9[1] = uVar6; - puVar9[2] = uVar7; - puVar9[3] = local_14; - puVar9[4] = uVar5; - puVar9[5] = uVar6; - puVar9[6] = uVar7; - puVar9[7] = local_14; - puVar9[8] = uVar5; - puVar9[9] = uVar6; - puVar9[10] = uVar7; - puVar9[0xb] = local_14; - puVar9[0xc] = uVar5; - puVar9[0xd] = uVar6; - puVar9[0xe] = uVar7; - puVar9[0xf] = local_14; - fVar13 = *pfVar2; - *(undefined2 *)((int)puVar9 + 2) = uVar12; - *(short *)puVar9 = (short)(int)(fVar13 - fVar14); - *(short *)(puVar9 + 1) = (short)(int)(pfVar2[1] - fVar15); - fVar13 = *pfVar2; - *(undefined2 *)((int)puVar9 + 0x12) = uVar12; - *(short *)(puVar9 + 4) = (short)(int)(fVar13 - fVar14); - *(short *)(puVar9 + 5) = (short)(int)(pfVar2[1] + fVar15); - fVar13 = *pfVar2; - *(undefined2 *)((int)puVar9 + 0x22) = uVar12; - *(short *)(puVar9 + 8) = (short)(int)(fVar13 + fVar14); - *(short *)(puVar9 + 9) = (short)(int)(pfVar2[1] + fVar15); - fVar13 = *pfVar2; - *(undefined2 *)((int)puVar9 + 0x32) = uVar12; - *(short *)(puVar9 + 0xc) = (short)(int)(fVar13 + fVar14); - *(short *)(puVar9 + 0xd) = (short)(int)(pfVar2[1] - fVar15); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xbc001406; - uVar10 = osVirtualToPhysical((uint)pfVar2[7]); - puVar3[1] = uVar10; - puVar4 = (uint *)pfVar2[4]; - if (puVar4 == NULL) { - FUN_7f073628(param_1,NULL,1); - } - else { - *(undefined2 *)(puVar9 + 2) = 0; - *(undefined2 *)((int)puVar9 + 10) = 0; - bVar1 = *(byte *)(puVar4 + 1); - *(undefined2 *)((int)puVar9 + 0x1a) = 0; - *(ushort *)(puVar9 + 6) = (ushort)bVar1 * 0x20 + -1; - *(ushort *)(puVar9 + 10) = (ushort)*(byte *)(puVar4 + 1) * 0x20 + -1; - bVar1 = *(byte *)((int)puVar4 + 5); - *(undefined2 *)(puVar9 + 0xe) = 0; - *(short *)((int)puVar9 + 0x2a) = (ushort)bVar1 * 0x20 + -1; - *(short *)((int)puVar9 + 0x3a) = (ushort)*(byte *)((int)puVar4 + 5) * 0x20 + -1; - FUN_7f073628(param_1,puVar4,4); - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb7000000; - puVar3[1] = 0x2000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0x1020040; - uVar10 = osVirtualToPhysical(iVar8 + (int)sVar11 * 0x40); - puVar3[1] = uVar10; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0x4300040; - uVar10 = osVirtualToPhysical((uint)puVar9); - puVar3[1] = uVar10; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x3210; - *puVar3 = 0xb1000002; - } - } - return; -} - - - -void FUN_7f074b04(void) - -{ - return; -} - - - -void FUN_7f074b14(void) - -{ - return; -} - - - -void loc_7F074678(int param_1,int param_2,ushort *param_3) - -{ - if (true) { - switch((uint)*param_3 & 0xff) { - case 4: - loc_7F072974(param_1,(int)param_3); - break; - case 5: - FUN_7f07365c(); - break; - case 6: - FUN_7f073ddc(); - break; - case 7: - loc_7F0737C0(param_1,param_2,param_3); - break; - case 8: - FUN_7f06ef60(param_2,param_3); - break; - case 9: - FUN_7f06f100(param_2,param_3); - break; - case 10: - FUN_7f074b04(); - break; - case 0xb: - FUN_7f073dec(); - break; - case 0xc: - loc_7F073FB4(param_1,param_2,param_3); - break; - case 0xd: - FUN_7f0745c4(param_1,param_2,param_3); - break; - case 0x11: - FUN_7f074b14(); - break; - case 0x12: - FUN_7f06efac(param_2,param_3); - break; - case 0x14: - FUN_7f073200(); - break; - case 0x16: - FUN_7f073210(param_1,(uint)param_3,param_3,param_2); - break; - case 0x17: - FUN_7f06eff8(param_2,param_3); - break; - case 0x18: - loc_7F072C00(param_1,param_2,param_3); - } - } - return; -} - - - -void loc_7F074778(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort *puVar1; - undefined4 *puVar2; - uint uVar3; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - ushort *puVar4; - - puVar2 = *(undefined4 **)(param_2 + 8); - puVar1 = (ushort *)*puVar2; - if (*(int *)(param_1 + 0xc) == 0) { - FUN_7000cf84((byte *)s_subdraw__no_gfxlist__80054ae4,param_2,param_3,param_4); - FUN_7f06ca5c(); - puVar2 = *(undefined4 **)(param_2 + 8); - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - if (puVar2[7] == 0) { - FUN_7000cf84((byte *)s_subdraw__object_not_initialised__80054afc,(uint)puVar2,param_3,param_4); - FUN_7f06ca5c(); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xbc000c06; - uVar3 = osVirtualToPhysical(*(uint *)(param_2 + 0xc)); - puVar2[1] = uVar3; - while (puVar4 = puVar1, puVar4 != NULL) { - loc_7F074678(param_1,param_2,puVar4); - puVar1 = (ushort *)*(int *)(puVar4 + 10); - if ((*(int *)(puVar4 + 10) == 0) && (puVar1 = puVar4, puVar4 != NULL)) { - puVar1 = *(ushort **)(puVar4 + 6); - while ((puVar1 == NULL && (puVar4 = *(ushort **)(puVar4 + 4), puVar1 = puVar4, puVar4 != NULL) - )) { - puVar1 = *(ushort **)(puVar4 + 6); - } - } - } - return; -} - - - -void FUN_7f074d80(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - - FUN_7f06dca0(param_2,param_2,param_3,param_4); - FUN_7f06f8e8(param_1,param_2,extraout_a2_lo,extraout_a3_lo); - loc_7F074778((int)param_1,param_2,extraout_a2_lo_00,extraout_a3_lo_00); - return; -} - - - -undefined8 locret_7F074C60(int param_1,float *param_2,float *param_3,float *param_4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float local_68; - float local_64; - float local_60; - float local_5c; - float local_24; - float local_1c; - - fVar2 = *param_2; - fVar3 = param_2[1]; - fVar10 = param_2[2]; - fVar11 = -(fVar2 * fVar2 + fVar3 * fVar3 + fVar10 * fVar10); - fVar7 = param_4[2]; - fVar8 = *param_4; - fVar9 = param_4[1]; - local_1c = fVar7 * fVar10 + fVar2 * fVar8 + fVar3 * fVar9; - fVar4 = param_3[2] - param_2[0xe]; - fVar5 = *param_3 - param_2[0xc]; - fVar6 = param_3[1] - param_2[0xd]; - fVar3 = fVar4 * fVar10 + fVar2 * fVar5 + fVar3 * fVar6; - fVar2 = -(fVar3 + fVar11 * *(float *)(param_1 + 8)); - local_24 = -(fVar3 + fVar11 * *(float *)(param_1 + 4)); - if (local_1c < 0.00000000) { - local_1c = -local_1c; - local_24 = -local_24; - fVar2 = -fVar2; - } - if ((0.00000000 <= local_24) || (0.00000000 <= fVar2)) { - if (fVar2 < local_24) { - fVar10 = param_2[4]; - fVar3 = fVar2; - } - else { - fVar10 = param_2[4]; - fVar3 = local_24; - local_24 = fVar2; - } - fVar2 = param_2[5]; - fVar11 = param_2[6]; - fVar12 = -(fVar10 * fVar10 + fVar2 * fVar2 + fVar11 * fVar11); - local_68 = fVar7 * fVar11 + fVar10 * fVar8 + fVar2 * fVar9; - fVar2 = fVar4 * fVar11 + fVar10 * fVar5 + fVar2 * fVar6; - local_5c = -(fVar2 + fVar12 * *(float *)(param_1 + 0x10)); - fVar2 = -(fVar2 + fVar12 * *(float *)(param_1 + 0xc)); - if (local_68 < 0.00000000) { - local_68 = -local_68; - fVar2 = -fVar2; - local_5c = -local_5c; - } - if ((0.00000000 <= fVar2) || (0.00000000 <= local_5c)) { - local_64 = fVar2; - if (fVar2 <= local_5c) { - local_64 = local_5c; - local_5c = fVar2; - } - if (local_5c * local_1c < fVar3 * local_68) { - if (local_64 * local_1c < fVar3 * local_68) { - return 0; - } - local_60 = local_1c; - local_5c = fVar3; - } - else { - local_60 = local_68; - if (local_24 * local_68 < local_5c * local_1c) { - return 0; - } - } - if (local_24 * local_68 < local_64 * local_1c) { - local_64 = local_24; - local_68 = local_1c; - } - fVar2 = param_2[8]; - fVar3 = param_2[9]; - fVar10 = param_2[10]; - fVar11 = -(fVar2 * fVar2 + fVar3 * fVar3 + fVar10 * fVar10); - fVar7 = fVar7 * fVar10 + fVar2 * fVar8 + fVar3 * fVar9; - fVar3 = fVar4 * fVar10 + fVar2 * fVar5 + fVar3 * fVar6; - fVar2 = -(fVar3 + fVar11 * *(float *)(param_1 + 0x18)); - fVar3 = -(fVar3 + fVar11 * *(float *)(param_1 + 0x14)); - if (fVar7 < 0.00000000) { - fVar7 = -fVar7; - fVar3 = -fVar3; - fVar2 = -fVar2; - } - if ((0.00000000 <= fVar3) || (0.00000000 <= fVar2)) { - fVar4 = fVar3; - if (fVar3 <= fVar2) { - fVar4 = fVar2; - fVar2 = fVar3; - } - if (local_5c * fVar7 < fVar2 * local_60) { - if (local_64 * fVar7 < fVar2 * local_68) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - else { - if (fVar4 * local_60 < local_5c * fVar7) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -void FUN_7f075258(int param_1,ushort *param_2,float *param_3,float *param_4) - -{ - int iVar1; - float *pfVar2; - - iVar1 = *(int *)(param_2 + 2); - pfVar2 = (float *)FUN_7f06cc50(param_1,param_2,0); - locret_7F074C60(iVar1,pfVar2,param_3,param_4); - return; -} - - - -undefined8 loc_7F0752F0(int param_1,ushort *param_2,float *param_3,float *param_4) - -{ - ushort uVar1; - int iVar2; - float *pfVar4; - int iVar5; - undefined8 uVar3; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fStack92; - float fStack88; - float fStack84; - float fStack32; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - - iVar2 = *(int *)(param_2 + 2); - pfVar4 = (float *)FUN_7f06cc50(param_1,param_2,0); - fVar8 = *(float *)(iVar2 + 4); - fVar6 = *param_4; - fStack16 = param_4[1]; - fStack12 = param_4[2]; - if ((*param_2 & 0x100) == 0) { - if ((*param_2 & 0x200) == 0) { - fStack32 = pfVar4[0xc] - *param_3; - fStack28 = pfVar4[0xd] - param_3[1]; - fStack24 = pfVar4[0xe] - param_3[2]; - } - else { - if (*(ushort **)(iVar2 + 0x14) == NULL) { - fStack32 = pfVar4[0xc] - *param_3; - fStack28 = pfVar4[0xd] - param_3[1]; - fStack24 = pfVar4[0xe] - param_3[2]; - } - else { - iVar5 = FUN_7f06cc50(param_1,*(ushort **)(iVar2 + 0x14),0); - fStack32 = (pfVar4[0xc] + *(float *)(iVar5 + 0x30)) * 0.50000000 - *param_3; - fStack28 = (pfVar4[0xd] + *(float *)(iVar5 + 0x34)) * 0.50000000 - param_3[1]; - fStack24 = (pfVar4[0xe] + *(float *)(iVar5 + 0x38)) * 0.50000000 - param_3[2]; - } - } - } - else { - fVar9 = *(float *)(iVar2 + 8); - fVar7 = *(float *)(iVar2 + 0xc); - fVar10 = *(float *)(iVar2 + 0x10); - fStack32 = (pfVar4[0xc] - *param_3) + fVar9 * *pfVar4 + fVar7 * pfVar4[4] + fVar10 * pfVar4[8]; - fStack28 = (pfVar4[0xd] - param_3[1]) + - fVar9 * pfVar4[1] + fVar7 * pfVar4[5] + fVar10 * pfVar4[9]; - fStack24 = (pfVar4[0xe] - param_3[2]) + - fVar9 * pfVar4[2] + fVar7 * pfVar4[6] + fVar10 * pfVar4[10]; - } - uVar1 = *param_2; - if ((uVar1 & 0x400) == 0) { - if ((((uVar1 & 0x800) != 0) || ((uVar1 & 0x1000) != 0)) || ((uVar1 & 0x2000) != 0)) { - if ((uVar1 & 0x800) == 0) { - if ((uVar1 & 0x1000) == 0) { - if ((uVar1 & 0x2000) != 0) { - fStack92 = pfVar4[8]; - fStack88 = pfVar4[9]; - fStack84 = pfVar4[10]; - } - } - else { - fStack92 = pfVar4[4]; - fStack88 = pfVar4[5]; - fStack84 = pfVar4[6]; - } - } - else { - fStack92 = *pfVar4; - fStack88 = pfVar4[1]; - fStack84 = pfVar4[2]; - } - fVar7 = (fStack84 * fStack12 + fVar6 * fStack92 + fStack16 * fStack88) * - *(float *)(iVar2 + 0x18); - fVar6 = fStack92 * fVar7 + fVar6; - fStack16 = fStack88 * fVar7 + fStack16; - fStack12 = fStack84 * fVar7 + fStack12; - fVar7 = (fStack84 * fStack24 + fStack32 * fStack92 + fStack28 * fStack88) * - *(float *)(iVar2 + 0x18); - fStack32 = fStack92 * fVar7 + fStack32; - fStack28 = fStack88 * fVar7 + fStack28; - fStack24 = fStack84 * fVar7 + fStack24; - } - } - else { - fVar7 = (pfVar4[2] * fStack12 + fVar6 * *pfVar4 + fStack16 * pfVar4[1]) * - *(float *)(iVar2 + 0x18); - fVar6 = *pfVar4 * fVar7 + fVar6; - fStack16 = pfVar4[1] * fVar7 + fStack16; - fStack12 = pfVar4[2] * fVar7 + fStack12; - fVar7 = (pfVar4[2] * fStack24 + fStack32 * *pfVar4 + fStack28 * pfVar4[1]) * - *(float *)(iVar2 + 0x18); - fStack32 = *pfVar4 * fVar7 + fStack32; - fStack28 = pfVar4[1] * fVar7 + fStack28; - fStack24 = pfVar4[2] * fVar7 + fStack24; - fVar7 = (pfVar4[6] * fStack12 + fVar6 * pfVar4[4] + fStack16 * pfVar4[5]) * - *(float *)(iVar2 + 0x1c); - fVar6 = pfVar4[4] * fVar7 + fVar6; - fStack16 = pfVar4[5] * fVar7 + fStack16; - fStack12 = pfVar4[6] * fVar7 + fStack12; - fVar7 = (pfVar4[6] * fStack24 + fStack32 * pfVar4[4] + fStack28 * pfVar4[5]) * - *(float *)(iVar2 + 0x1c); - fStack32 = pfVar4[4] * fVar7 + fStack32; - fStack28 = pfVar4[5] * fVar7 + fStack28; - fStack24 = pfVar4[6] * fVar7 + fStack24; - } - uVar3 = 0; - fVar7 = fStack24 * fStack12 + fVar6 * fStack32 + fStack16 * fStack28; - if (0.00000000 < fVar7) { - if (((fStack24 * fStack24 + fStack32 * fStack32 + fStack28 * fStack28) - fVar8) * - (fStack12 * fStack12 + fVar6 * fVar6 + fStack16 * fStack16) <= fVar7 * fVar7) { - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - return uVar3; -} - - - -undefined4 loc_7F07547C(int param_1,float *param_2,float *param_3,ushort **param_4) - -{ - bool bVar1; - longlong lVar2; - ushort *puVar3; - ushort *puVar4; - - puVar3 = *param_4; - bVar1 = true; - if (puVar3 == NULL) { - puVar3 = **(ushort ***)(param_1 + 8); - } - else { - *param_4 = NULL; - } - do { - if (puVar3 == NULL) { - return 0; - } - if ((!bVar1) || (puVar4 = *(ushort **)(puVar3 + 10), puVar4 == NULL)) { - puVar4 = puVar3; - if (puVar3 != NULL) { - puVar4 = *(ushort **)(puVar3 + 6); - while ((puVar4 == NULL && - (puVar3 = *(ushort **)(puVar3 + 4), puVar4 = puVar3, puVar3 != NULL))) { - puVar4 = *(ushort **)(puVar3 + 6); - } - } - if (puVar4 == NULL) { - return 0; - } - } - bVar1 = true; - puVar3 = puVar4; - if (true) { - puVar3 = puVar4; - switch((uint)*puVar4 & 0xff) { - case 8: - FUN_7f06ef60(param_1,puVar4); - puVar3 = puVar4; - break; - case 10: - lVar2 = FUN_7f075258(param_1,puVar4,param_2,param_3); - if (lVar2 != 0) { - *param_4 = puVar4; - return **(undefined4 **)(puVar4 + 2); - } - bVar1 = false; - puVar3 = puVar4; - break; - case 0x11: - lVar2 = loc_7F0752F0(param_1,puVar4,param_2,param_3); - if (lVar2 != 0) { - *param_4 = puVar4; - return **(undefined4 **)(puVar4 + 2); - } - bVar1 = false; - puVar3 = puVar4; - break; - case 0x12: - FUN_7f06efac(param_1,puVar4); - puVar3 = puVar4; - break; - case 0x17: - FUN_7f06eff8(param_1,puVar4); - puVar3 = puVar4; - } - } - } while( true ); -} - - - -undefined4 FUN_7f075a8c(int param_1,float *param_2,float *param_3,ushort **param_4) - -{ - undefined4 uVar1; - - *param_4 = NULL; - uVar1 = loc_7F07547C(param_1,param_2,param_3,param_4); - return uVar1; -} - - - -uint loc_7F0755A0(int *param_1,int param_2) - -{ - int iVar1; - uint uVar2; - uint uVar3; - uint uVar4; - uint uVar5; - int iVar6; - - iVar1 = *param_1; - uVar4 = 0; - iVar6 = (int)(uint)*(ushort *)((int)param_1 + 0xe) >> 3; - if (iVar1 < 0) { - uVar4 = iVar1 + param_2 * iVar6; - } - else { - if (DAT_80036454 != NULL) { - uVar5 = DAT_80036454[2] + 0xfU & 0xfffffff0; - uVar2 = iVar1 + param_2 * iVar6; - if ((uVar2 & 1) == 0) { - uVar3 = iVar6 + 0xf; - uVar4 = uVar5; - } - else { - uVar2 -= 1; - uVar4 = uVar5 + 1; - uVar3 = iVar6 + 0x10; - } - romCopy((longlong)(int)uVar5,uVar2,(longlong)(int)(uVar3 & 0xfffffff0)); - *DAT_80036454 = *DAT_80036454 + 1; - DAT_80036454[2] = uVar5 + (uVar3 & 0xfffffff0); - } - } - return uVar4; -} - - - -void FUN_7f075ba0(void) - -{ - if (DAT_80036454 != NULL) { - DAT_80036454[2] = DAT_80036454[1]; - *DAT_80036454 = 0; - } - return; -} - - - -void locret_7F075A88(ushort *param_1,int param_2,int param_3) - -{ - ushort uVar1; - int *piVar2; - longlong lVar3; - int iVar4; - longlong lVar5; - int iVar6; - ushort *puVar7; - int iVar8; - int iVar9; - ushort *puVar10; - - if (param_1 == NULL) { - return; - } - uVar1 = *param_1; - do { - if (*(int *)(param_1 + 2) != 0) { - *(int *)(param_1 + 2) = *(int *)(param_1 + 2) + (param_3 - param_2); - } - if (*(int *)(param_1 + 4) != 0) { - *(int *)(param_1 + 4) = *(int *)(param_1 + 4) + (param_3 - param_2); - } - if (*(int *)(param_1 + 6) != 0) { - *(int *)(param_1 + 6) = *(int *)(param_1 + 6) + (param_3 - param_2); - } - if (*(int *)(param_1 + 8) != 0) { - *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + (param_3 - param_2); - } - if (*(int *)(param_1 + 10) != 0) { - *(int *)(param_1 + 10) = *(int *)(param_1 + 10) + (param_3 - param_2); - } - if (false) { -switchD_7f075c60_caseD_a: - puVar7 = *(ushort **)(param_1 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 4); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 4) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 2: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 0x14) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 3: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 0x14) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 4: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0xc) != 0) { - *(int *)(iVar4 + 0xc) = *(int *)(iVar4 + 0xc) + (param_3 - param_2); - } - *(int *)(iVar4 + 8) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 5: - piVar2 = *(int **)(param_1 + 2); - iVar4 = 0; - if (piVar2[1] != 0) { - piVar2[1] = piVar2[1] + (param_3 - param_2); - } - iVar8 = 0; - if (piVar2[2] != 0) { - piVar2[2] = piVar2[2] + (param_3 - param_2); - } - if (piVar2[3] != 0) { - piVar2[3] = piVar2[3] + (param_3 - param_2); - } - iVar6 = *piVar2; - if (iVar6 < 1) { - piVar2[0x69] = param_3; - } - else { - do { - iVar4 += 1; - iVar9 = *(int *)(piVar2[1] + iVar8 + 4); - if (iVar9 != 0) { - *(int *)(piVar2[1] + iVar8 + 4) = iVar9 + (param_3 - param_2); - iVar6 = *piVar2; - } - iVar8 += 8; - } while (iVar4 < iVar6); - piVar2[0x69] = param_3; - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 6: - *(int *)(*(int *)(param_1 + 2) + 0x14) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 7: - piVar2 = *(int **)(param_1 + 2); - iVar4 = 0; - if (*piVar2 != 0) { - *piVar2 = *piVar2 + (param_3 - param_2); - } - if (piVar2[1] != 0) { - piVar2[1] = piVar2[1] + (param_3 - param_2); - } - iVar8 = 0; - if (piVar2[3] != 0) { - piVar2[3] = piVar2[3] + (param_3 - param_2); - } - if (piVar2[4] != 0) { - piVar2[4] = piVar2[4] + (param_3 - param_2); - } - if (piVar2[5] != 0) { - piVar2[5] = piVar2[5] + (param_3 - param_2); - } - iVar6 = piVar2[2]; - if (iVar6 < 1) { - piVar2[0x6b] = param_3; - } - else { - do { - iVar4 += 1; - iVar9 = *(int *)(piVar2[3] + iVar8 + 4); - if (iVar9 != 0) { - *(int *)(piVar2[3] + iVar8 + 4) = iVar9 + (param_3 - param_2); - iVar6 = piVar2[2]; - } - iVar8 += 8; - } while (iVar4 < iVar6); - piVar2[0x6b] = param_3; - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 8: - puVar7 = *(ushort **)(*(int *)(param_1 + 2) + 8); - puVar10 = (ushort *)((int)puVar7 + (param_3 - param_2)); - if (puVar7 != NULL) { - *(ushort **)(*(int *)(param_1 + 2) + 8) = puVar10; - puVar7 = puVar10; - } - *(ushort **)(param_1 + 10) = puVar7; - break; - case 9: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0x18) != 0) { - *(int *)(iVar4 + 0x18) = *(int *)(iVar4 + 0x18) + (param_3 - param_2); - } - if (*(int *)(iVar4 + 0x1c) != 0) { - *(int *)(iVar4 + 0x1c) = *(int *)(iVar4 + 0x1c) + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - default: - goto switchD_7f075c60_caseD_a; - case 0xb: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0x3c) != 0) { - *(int *)(iVar4 + 0x3c) = *(int *)(iVar4 + 0x3c) + (param_3 - param_2); - } - *(int *)(iVar4 + 0x48) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0xc: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0x18) != 0) { - *(int *)(iVar4 + 0x18) = *(int *)(iVar4 + 0x18) + (param_3 - param_2); - } - *(int *)(iVar4 + 0x24) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0xd: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0x10) != 0) { - *(int *)(iVar4 + 0x10) = *(int *)(iVar4 + 0x10) + (param_3 - param_2); - } - if (*(int *)(iVar4 + 0x14) != 0) { - *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x14) + (param_3 - param_2); - } - *(int *)(iVar4 + 0x1c) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x11: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 0x14) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x12: - iVar4 = **(int **)(param_1 + 2); - if (iVar4 != 0) { - **(int **)(param_1 + 2) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x14: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 4); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 4) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x16: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 4) != 0) { - *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + (param_3 - param_2); - } - *(int *)(iVar4 + 0xc) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x18: - iVar4 = *(int *)(param_1 + 2); - lVar3 = 0; - if (*(int *)(iVar4 + 8) != 0) { - *(int *)(iVar4 + 8) = *(int *)(iVar4 + 8) + (param_3 - param_2); - } - iVar8 = 0; - if (*(int *)(iVar4 + 0x10) != 0) { - *(int *)(iVar4 + 0x10) = *(int *)(iVar4 + 0x10) + (param_3 - param_2); - } - if (*(int *)(iVar4 + 0x14) != 0) { - *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x14) + (param_3 - param_2); - } - lVar5 = (longlong)*(short *)(iVar4 + 0xe); - if (lVar5 < 1) { - *(int *)(iVar4 + 0x1c) = param_3; - } - else { - do { - lVar3 = (longlong)((int)lVar3 + 1); - iVar9 = *(int *)(iVar4 + 0x10) + iVar8; - iVar6 = *(int *)(iVar9 + 8); - if (iVar6 != 0) { - *(int *)(iVar9 + 8) = iVar6 + (param_3 - param_2); - lVar5 = (longlong)*(short *)(iVar4 + 0xe); - } - iVar8 += 0x10; - } while (lVar3 < lVar5); - *(int *)(iVar4 + 0x1c) = param_3; - } - puVar7 = *(ushort **)(param_1 + 10); - } - } - if ((puVar7 == NULL) && (puVar7 = param_1, param_1 != NULL)) { - puVar7 = *(ushort **)(param_1 + 6); - while ((puVar7 == NULL && - (param_1 = *(ushort **)(param_1 + 4), puVar7 = param_1, param_1 != NULL))) { - puVar7 = *(ushort **)(param_1 + 6); - } - } - if (puVar7 == NULL) { - return; - } - uVar1 = *puVar7; - param_1 = puVar7; - } while( true ); -} - - - -void loc_7F075AE8(ushort **param_1,int param_2,int param_3) - -{ - int iVar1; - longlong lVar2; - int iVar3; - longlong lVar4; - - lVar4 = (longlong)*(short *)(param_1 + 3); - lVar2 = 0; - if (0 < lVar4) { - iVar3 = 0; - do { - lVar2 = (longlong)((int)lVar2 + 1); - iVar1 = *(int *)((int)param_1[2] + iVar3); - if (iVar1 != 0) { - *(int *)((int)param_1[2] + iVar3) = iVar1 + (param_3 - param_2); - lVar4 = (longlong)*(short *)(param_1 + 3); - } - iVar3 += 4; - } while (lVar2 < lVar4); - } - locret_7F075A88(*param_1,param_2,param_3); - return; -} - - - -uint loc_7F075CDC(ushort *param_1) - -{ - ushort uVar1; - int iVar2; - ushort **ppuVar3; - ushort *puVar4; - ushort *puVar5; - undefined2 uVar6; - uint uVar7; - - uVar7 = 0; - if (param_1 == NULL) { - return 0; - } - uVar1 = *param_1; - puVar4 = param_1; - do { - if (false) { -switchD_7f076150_caseD_2: - puVar5 = *(ushort **)(puVar4 + 10); - } - else { - uVar6 = (undefined2)uVar7; - switch((uint)uVar1 & 0xff) { - case 1: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0xc) = uVar6; - uVar7 = uVar7 + 0x18 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - break; - default: - goto switchD_7f076150_caseD_2; - case 7: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x1aa) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - break; - case 8: - iVar2 = *(int *)(puVar4 + 2); - *(undefined2 *)(iVar2 + 0xc) = uVar6; - puVar5 = *(ushort **)(iVar2 + 8); - uVar7 = uVar7 + 1 & 0xffff; - *(ushort **)(puVar4 + 10) = puVar5; - break; - case 9: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x22) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - locret_7F06EB08((int)puVar4,0); - puVar5 = *(ushort **)(puVar4 + 10); - break; - case 0xb: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x44) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - break; - case 0xc: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x20) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - break; - case 0x12: - ppuVar3 = *(ushort ***)(puVar4 + 2); - *(undefined2 *)(ppuVar3 + 1) = uVar6; - puVar5 = *ppuVar3; - uVar7 = uVar7 + 1 & 0xffff; - *(ushort **)(puVar4 + 10) = puVar5; - break; - case 0x17: - puVar5 = NULL; - **(undefined2 **)(puVar4 + 2) = uVar6; - uVar7 = uVar7 + 2 & 0xffff; - *(undefined4 *)(puVar4 + 10) = 0; - break; - case 0x18: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x1a) = uVar6; - uVar7 = uVar7 + 2 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - } - } - if ((puVar5 == NULL) && (puVar5 = puVar4, puVar4 != NULL)) { - while (puVar4 != *(ushort **)(param_1 + 4)) { - puVar5 = *(ushort **)(puVar4 + 6); - if ((puVar5 != NULL) || (puVar5 = *(ushort **)(puVar4 + 4), puVar4 = puVar5, puVar5 == NULL) - ) goto LAB_7f0762c4; - } - puVar5 = NULL; - } -LAB_7f0762c4: - if (puVar5 == NULL) { - return uVar7; - } - uVar1 = *puVar5; - puVar4 = puVar5; - } while( true ); -} - - - -void FUN_7f0762e4(ushort **param_1) - -{ - uint uVar1; - - param_1[7] = (ushort *)0x1; - uVar1 = loc_7F075CDC(*param_1); - *(short *)(param_1 + 5) = (short)uVar1; - return; -} - - - -void loc_7F075F4C(int param_1,ushort *param_2) - -{ - ushort uVar1; - int iVar2; - ushort **ppuVar3; - undefined *puVar4; - undefined4 *puVar5; - undefined2 *puVar6; - undefined4 *puVar7; - ushort *puVar8; - ushort *puVar9; - - if (param_2 == NULL) { - return; - } - uVar1 = *param_2; - puVar8 = param_2; - do { - if (false) { -switchD_7f076370_caseD_2: - puVar9 = *(ushort **)(puVar8 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - puVar4 = (undefined *)loc_7F06C888(param_1,puVar8); - *puVar4 = 0; - *(undefined4 *)(puVar4 + 4) = 0; - *(undefined4 *)(puVar4 + 8) = 0; - *(undefined4 *)(puVar4 + 0xc) = 0; - *(undefined4 *)(puVar4 + 0x10) = 0; - *(undefined4 *)(puVar4 + 0x14) = 0; - *(undefined4 *)(puVar4 + 0x18) = 0; - *(undefined4 *)(puVar4 + 0x1c) = 0; - puVar4[1] = 0; - *(undefined4 *)(puVar4 + 0x34) = 0; - *(undefined4 *)(puVar4 + 0x38) = 0; - *(undefined4 *)(puVar4 + 0x3c) = 0; - *(undefined4 *)(puVar4 + 0x30) = 0; - *(undefined4 *)(puVar4 + 0x24) = 0; - *(undefined4 *)(puVar4 + 0x28) = 0; - *(undefined4 *)(puVar4 + 0x2c) = 0; - *(undefined4 *)(puVar4 + 0x20) = 0; - puVar4[2] = 0; - *(undefined4 *)(puVar4 + 0x4c) = 0; - *(undefined4 *)(puVar4 + 0x50) = 0; - *(undefined4 *)(puVar4 + 0x54) = 0; - *(undefined4 *)(puVar4 + 0x40) = 0; - *(undefined4 *)(puVar4 + 0x44) = 0; - *(undefined4 *)(puVar4 + 0x48) = 0; - *(undefined4 *)(puVar4 + 0x5c) = 0; - puVar9 = *(ushort **)(puVar8 + 10); - break; - default: - goto switchD_7f076370_caseD_2; - case 7: - puVar5 = (undefined4 *)loc_7F06C888(param_1,puVar8); - *puVar5 = 0; - puVar9 = *(ushort **)(puVar8 + 10); - break; - case 8: - iVar2 = *(int *)(puVar8 + 2); - puVar5 = (undefined4 *)loc_7F06C888(param_1,puVar8); - *puVar5 = 0; - puVar9 = *(ushort **)(iVar2 + 8); - *(ushort **)(puVar8 + 10) = puVar9; - break; - case 9: - puVar5 = (undefined4 *)loc_7F06C888(param_1,puVar8); - *puVar5 = 0; - FUN_7f06f100(param_1,puVar8); - puVar9 = *(ushort **)(puVar8 + 10); - break; - case 0xb: - puVar6 = (undefined2 *)loc_7F06C888(param_1,puVar8); - *puVar6 = 0; - puVar9 = *(ushort **)(puVar8 + 10); - break; - case 0xc: - puVar6 = (undefined2 *)loc_7F06C888(param_1,puVar8); - *puVar6 = 0; - puVar9 = *(ushort **)(puVar8 + 10); - break; - case 0x12: - ppuVar3 = *(ushort ***)(puVar8 + 2); - puVar5 = (undefined4 *)loc_7F06C888(param_1,puVar8); - *puVar5 = 1; - puVar9 = *ppuVar3; - *(ushort **)(puVar8 + 10) = puVar9; - break; - case 0x17: - puVar5 = (undefined4 *)loc_7F06C888(param_1,puVar8); - *puVar5 = 0; - puVar5[1] = 0; - puVar9 = *(ushort **)(puVar8 + 10); - break; - case 0x18: - puVar5 = *(undefined4 **)(puVar8 + 2); - puVar7 = (undefined4 *)loc_7F06C888(param_1,puVar8); - *puVar7 = puVar5[2]; - puVar7[1] = *puVar5; - puVar9 = *(ushort **)(puVar8 + 10); - } - } - if ((puVar9 == NULL) && (puVar9 = puVar8, puVar8 != NULL)) { - while (puVar8 != *(ushort **)(param_2 + 4)) { - puVar9 = *(ushort **)(puVar8 + 6); - if ((puVar9 != NULL) || (puVar9 = *(ushort **)(puVar8 + 4), puVar8 = puVar9, puVar9 == NULL) - ) goto LAB_7f076534; - } - puVar9 = NULL; - } -LAB_7f076534: - if (puVar9 == NULL) { - return; - } - uVar1 = *puVar9; - puVar8 = puVar9; - } while( true ); -} - - - -void sub_7F075F68(int param_1,ushort **param_2,undefined4 param_3) - -{ - *(ushort ***)(param_1 + 8) = param_2; - *(undefined4 *)(param_1 + 0x10) = param_3; - *(undefined2 *)(param_1 + 2) = 0xffff; - *(undefined4 *)(param_1 + 0x18) = 0; - *(undefined4 *)(param_1 + 0x1c) = 0; - *(undefined4 *)(param_1 + 0x14) = 0x3f800000; - loc_7F075F4C(param_1,*param_2); - return; -} - - - -void FUN_7f07659c(int param_1,ushort **param_2,undefined4 param_3) - -{ - sub_7F075F68(param_1,param_2,param_3); - *(undefined4 *)(param_1 + 0x20) = 0; - *(undefined4 *)(param_1 + 0x54) = 0; - *(undefined *)(param_1 + 0x26) = 0; - *(undefined4 *)(param_1 + 0x98) = 0; - *(undefined4 *)(param_1 + 0x9c) = 0; - *(undefined4 *)(param_1 + 0xa0) = 0; - *(undefined4 *)(param_1 + 0x2c) = 0; - *(undefined4 *)(param_1 + 0x4c) = 0; - *(undefined4 *)(param_1 + 0x5c) = 0; - *(undefined4 *)(param_1 + 0x7c) = 0; - *(undefined4 *)(param_1 + 0x84) = 0; - *(undefined4 *)(param_1 + 0x88) = 0; - *(undefined4 *)(param_1 + 0xb0) = 0; - *(undefined4 *)(param_1 + 0x40) = 0x3f800000; - *(undefined4 *)(param_1 + 0x70) = 0x3f800000; - *(undefined4 *)(param_1 + 0xa4) = 0x3f800000; - *(undefined4 *)(param_1 + 0xb8) = 0x3f800000; - *(undefined4 *)(param_1 + 0x3c) = 0xbf800000; - *(undefined4 *)(param_1 + 0x6c) = 0xbf800000; - return; -} - - - -void FUN_7f076620(int param_1,int param_2,ushort *param_3,ushort **param_4) - -{ - ushort **ppuVar1; - uint uVar2; - ushort *puVar3; - - ppuVar1 = (ushort **)loc_7F06C888(param_1,param_3); - *(ushort ***)ppuVar1 = param_4; - ppuVar1[1] = (ushort *)(*(int *)(param_1 + 0x10) + (int)*(short *)(param_2 + 0x14) * 4); - puVar3 = *param_4; - *(ushort **)(param_3 + 10) = puVar3; - if (puVar3 != NULL) { - *(ushort **)(puVar3 + 4) = param_3; - while (puVar3 = *(ushort **)(puVar3 + 6), puVar3 != NULL) { - *(ushort **)(puVar3 + 4) = param_3; - } - puVar3 = *(ushort **)(param_3 + 10); - } - uVar2 = loc_7F075CDC(puVar3); - *(short *)(param_2 + 0x14) = *(short *)(param_2 + 0x14) + (short)uVar2; - return; -} - - - -void loc_7F07621C(ushort **param_1,ushort **param_2,int *param_3) - -{ - ushort uVar1; - int iVar2; - ushort *puVar3; - ushort *puVar4; - int iVar5; - - puVar3 = *param_2; - iVar5 = 0; - if (puVar3 == NULL) { - puVar3 = *param_1; - } - if (puVar3 == NULL) { - *param_3 = 0; - puVar4 = puVar3; - } - else { - uVar1 = *puVar3; - while( true ) { - if (true) { - switch((uint)uVar1 & 0xff) { - case 4: - if (puVar3 == *param_2) { - iVar2 = (*(int **)(puVar3 + 2))[1]; - if (iVar2 != *param_3) { - iVar5 = iVar2; - } - } - else { - iVar5 = **(int **)(puVar3 + 2); - } - break; - case 8: - *(undefined4 *)(puVar3 + 10) = *(undefined4 *)(*(int *)(puVar3 + 2) + 8); - break; - case 9: - locret_7F06EB08((int)puVar3,1); - break; - case 0x12: - *(undefined4 *)(puVar3 + 10) = **(undefined4 **)(puVar3 + 2); - break; - case 0x16: - if (puVar3 != *param_2) { - iVar5 = *(int *)(*(int *)(puVar3 + 2) + 8); - } - break; - case 0x18: - if (puVar3 == *param_2) { - iVar2 = (*(int **)(puVar3 + 2))[1]; - if (iVar2 != *param_3) { - iVar5 = iVar2; - } - } - else { - iVar5 = **(int **)(puVar3 + 2); - } - } - } - if (iVar5 != 0) { - *param_3 = iVar5; - puVar4 = puVar3; - goto LAB_7f07680c; - } - puVar4 = *(ushort **)(puVar3 + 10); - if ((puVar4 == NULL) && (puVar4 = puVar3, puVar3 != NULL)) { - puVar4 = *(ushort **)(puVar3 + 6); - while ((puVar4 == NULL && - (puVar3 = *(ushort **)(puVar3 + 4), puVar4 = puVar3, puVar3 != NULL))) { - puVar4 = *(ushort **)(puVar3 + 6); - } - } - if (puVar4 == NULL) break; - uVar1 = *puVar4; - puVar3 = puVar4; - } - *param_3 = 0; - } -LAB_7f07680c: - *param_2 = puVar4; - return; -} - - - -void locret_7F0762D8(undefined8 param_1,ushort *param_2,int param_3,int param_4) - -{ - int *piVar1; - ushort uVar2; - - uVar2 = *param_2 & 0xff; - if (uVar2 == 4) { - piVar1 = *(int **)(param_2 + 2); - if (param_3 == *piVar1) { - *piVar1 = param_4; - return; - } - if (param_3 == piVar1[1]) { - piVar1[1] = param_4; - return; - } - } - else { - if (uVar2 == 0x16) { - if (param_3 == *(int *)(*(int *)(param_2 + 2) + 8)) { - *(int *)(*(int *)(param_2 + 2) + 8) = param_4; - } - } - else { - if (uVar2 != 0x18) { - return; - } - piVar1 = *(int **)(param_2 + 2); - if (param_3 == *piVar1) { - *piVar1 = param_4; - return; - } - if (param_3 == piVar1[1]) { - piVar1[1] = param_4; - return; - } - } - } - return; -} - - - -void loc_7F076474(undefined8 param_1,byte *param_2,int param_3,uint *param_4) - -{ - ushort *puVar1; - ushort **ppuVar2; - uint uVar3; - int iVar4; - int iVar5; - int iVar6; - uint *puVar7; - int iVar8; - int iVar9; - ushort *puVar10; - uint uVar11; - uint auStack12 [2]; - ushort *puStack4; - - ppuVar2 = (ushort **)param_1; - puVar1 = ppuVar2[2]; - iVar4 = FUN_7f0bde04(param_2); - iVar5 = FUN_7f0bdccc(iVar4); - iVar6 = FUN_7f0bdcb0(iVar4); - puStack4 = NULL; - loc_7F07621C(ppuVar2,&puStack4,(int *)auStack12); - uVar11 = auStack12[0]; - if (auStack12[0] != 0) { - iVar8 = (int)ppuVar2[2] + (auStack12[0] & 0xffffff); - iVar9 = (iVar6 - iVar8) + (int)puVar1; - iVar5 = (int)puVar1 + (iVar5 - iVar9); - locret_7F0CE7DC(iVar8,iVar5,iVar9); - FUN_7f0ccb30((int)ppuVar2,param_4); - if (puStack4 == NULL) { - puVar10 = ppuVar2[2]; - } - else { - do { - puVar10 = puStack4; - uVar3 = auStack12[0]; - loc_7F07621C(ppuVar2,&puStack4,(int *)auStack12); - if (auStack12[0] == 0) { - iVar9 = (int)puVar1 + ((iVar6 - (int)ppuVar2[2]) - (uVar3 & 0xffffff)); - } - else { - iVar9 = auStack12[0] - uVar3; - } - locret_7F0762D8(param_1,puVar10,uVar3,uVar11); - puVar7 = loc_7F0CE760((uint *)((int)ppuVar2[2] + (iVar5 - iVar8) + (uVar3 & 0xffffff)),iVar9 - ,(uint *)((int)ppuVar2[2] + (uVar11 & 0xffffff)),param_4); - uVar11 += (int)puVar7; - } while (puStack4 != NULL); - puVar10 = ppuVar2[2]; - } - FUN_7f0bdce8(iVar4,(int)puVar1, - (int)puVar10 + ((uVar11 & 0xffffff) - (int)puVar1) + 0xf & 0xfffffff0, - (ulonglong)(param_3 == 0)); - } - return; -} - - - -void loc_7F0764EC(undefined8 param_1,byte *param_2,longlong param_3,int param_4,uint *param_5) - -{ - ushort **ppuVar1; - ushort *puVar2; - - if (param_3 == 0) { - puVar2 = (ushort *)FUN_7f0bd8b4(param_2,0,0x100,4); - } - else { - puVar2 = (ushort *)FUN_7f0bd8f0(param_2,0,(undefined *)param_3,param_4); - } - ppuVar1 = (ushort **)param_1; - ppuVar1[2] = puVar2; - ppuVar1[6] = puVar2 + (int)*(short *)(ppuVar1 + 3) * 2; - *ppuVar1 = puVar2 + (int)*(short *)(ppuVar1 + 3) * 2 + (int)*(short *)((int)ppuVar1 + 0x16) * 6; - loc_7F075AE8(ppuVar1,0x5000000,(int)puVar2); - loc_7F076474(param_1,param_2,(int)(undefined *)param_3,param_5); - return; -} - - - -void FUN_7f076b3c(undefined8 param_1,byte *param_2) - -{ - loc_7F0764EC(param_1,param_2,0,0,NULL); - return; -} - - - -void FUN_7f076b64(undefined8 param_1,byte *param_2,longlong param_3,int param_4) - -{ - loc_7F0764EC(param_1,param_2,param_3,param_4,NULL); - return; -} - - - -undefined8 locret_7F076640(longlong param_1) - -{ - if (param_1 < 2) { - return 0; - } - if (param_1 < 3) { - return 1; - } - if (param_1 < 5) { - return 2; - } - if (param_1 < 9) { - return 3; - } - if (param_1 < 0x11) { - return 4; - } - if (param_1 < 0x21) { - return 5; - } - if (param_1 < 0x41) { - return 6; - } - if (param_1 < 0x81) { - return 7; - } - return 8; -} - - - -int loc_7F076664(int param_1) - -{ - int iVar1; - float fVar2; - - iVar1 = param_1 + 0xf; - if (iVar1 < 0) { - iVar1 = param_1 + 0x1e; - } - fVar2 = 32768.00000000 / (float)((iVar1 >> 4) << 4); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + DAT_80054fc0); -} - - - -int loc_7F0766C8(int param_1) - -{ - int iVar1; - float fVar2; - - iVar1 = param_1 + 7; - if (iVar1 < 0) { - iVar1 = param_1 + 0xe; - } - fVar2 = 16384.00000000 / (float)((iVar1 >> 3) << 3); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + DAT_80054fc4); -} - - - -int loc_7F07672C(int param_1) - -{ - int iVar1; - float fVar2; - - iVar1 = param_1 + 3; - if (iVar1 < 0) { - iVar1 = param_1 + 6; - } - fVar2 = 8192.00000000 / (float)((iVar1 >> 2) << 2); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + DAT_80054fc8); -} - - - -int loc_7F076790(int param_1) - -{ - int iVar1; - float fVar2; - - iVar1 = param_1 + 3; - if (iVar1 < 0) { - iVar1 = param_1 + 6; - } - fVar2 = 4096.00000000 / (float)((iVar1 >> 2) << 2); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + DAT_80054fcc); -} - - - -int locret_7F076840(int param_1,int param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - if (param_3 < 1) { - param_3 = 1; - } - iVar2 = param_1 + 0xf; - if (0 < param_3) { - while( true ) { - if (iVar2 < 0) { - iVar2 += 0xf; - } - param_3 += -1; - iVar1 += (iVar2 >> 4) * 4 * param_2; - iVar2 = param_1 >> 1; - if (param_1 < 2) { - iVar2 = param_1; - } - param_1 = iVar2; - if (1 < param_2) { - param_2 = param_2 >> 1; - } - if (param_3 < 1) break; - iVar2 = param_1 + 0xf; - } - } - return iVar1; -} - - - -int locret_7F0768B0(int param_1,int param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - if (param_3 < 1) { - param_3 = 1; - } - iVar2 = param_1 + 7; - if (0 < param_3) { - while( true ) { - if (iVar2 < 0) { - iVar2 += 7; - } - param_3 += -1; - iVar1 += (iVar2 >> 3) * 4 * param_2; - iVar2 = param_1 >> 1; - if (param_1 < 2) { - iVar2 = param_1; - } - param_1 = iVar2; - if (1 < param_2) { - param_2 = param_2 >> 1; - } - if (param_3 < 1) break; - iVar2 = param_1 + 7; - } - } - return iVar1; -} - - - -int FUN_7f076ea8(int param_1,int param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - if (param_3 < 1) { - param_3 = 1; - } - iVar2 = param_1 + 3; - if (0 < param_3) { - while( true ) { - if (iVar2 < 0) { - iVar2 += 3; - } - param_3 += -1; - iVar1 += (iVar2 >> 2) * 4 * param_2; - iVar2 = param_1 >> 1; - if (param_1 < 2) { - iVar2 = param_1; - } - param_1 = iVar2; - if (1 < param_2) { - param_2 = param_2 >> 1; - } - if (param_3 < 1) break; - iVar2 = param_1 + 3; - } - } - return iVar1; -} - - - -int FUN_7f076f18(int param_1,int param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - if (param_3 < 1) { - param_3 = 1; - } - iVar2 = param_1 + 3; - if (0 < param_3) { - while( true ) { - if (iVar2 < 0) { - iVar2 += 3; - } - param_3 += -1; - iVar1 += (iVar2 >> 2) * 4 * param_2; - iVar2 = param_1 >> 1; - if (param_1 < 2) { - iVar2 = param_1; - } - param_1 = iVar2; - if (1 < param_2) { - param_2 = param_2 >> 1; - } - if (param_3 < 1) break; - iVar2 = param_1 + 3; - } - } - return iVar1; -} - - - -void locret_7F076D60(undefined4 *param_1,int param_2,longlong param_3,longlong param_4) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar1 = (undefined4 *)*param_1; - if (param_3 != 1) { - *puVar1 = 0xe7000000; - puVar1[1] = 0; - puVar1[3] = 0x100000; - puVar1[2] = 0xba001402; - puVar2 = puVar1 + 4; - if (param_2 != 1) { - if (param_2 == 2) { - if (param_4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc1841c8; - } - else { - if (param_4 < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc1849d8; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184dd8; - } - } - goto LAB_7f077350; - } - if (param_2 == 3) { - if (param_4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc193048; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc193078; - } - goto LAB_7f077350; - } - if (param_2 == 4) { - if (param_4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184340; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184b50; - } - goto LAB_7f077350; - } - } - if (param_4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192048; - } - else { - if (param_4 < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192078; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192d58; - } - } - goto LAB_7f077350; - } - *puVar1 = 0xe7000000; - puVar1[1] = 0; - puVar1[2] = 0xba001402; - puVar1[3] = 0; - puVar2 = puVar1 + 4; - if (param_2 != 1) { - if (param_2 == 2) { - if (param_4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x5041c8; - } - else { - if (param_4 < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x5049d8; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504dd8; - } - } - goto LAB_7f077350; - } - if (param_2 == 3) { - if (param_4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x553048; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x553078; - } - goto LAB_7f077350; - } - if (param_2 == 4) { - if (param_4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504340; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504b50; - } - goto LAB_7f077350; - } - } - if (param_4 == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552048; - } - else { - if (param_4 < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552078; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552d58; - } - } -LAB_7f077350: - *(undefined4 **)param_1 = puVar1 + 6; - return; -} - - - -void loc_7F077B80(uint **param_1,uint *param_2,int param_3,longlong param_4,uint param_5) - -{ - byte bVar1; - byte bVar2; - uint *puVar5; - uint *puVar6; - int iVar7; - uint uVar8; - undefined8 uVar3; - undefined8 uVar4; - uint uVar9; - uint uVar10; - uint *puVar11; - uint uVar12; - int iVar13; - ulonglong uVar14; - ulonglong uVar15; - ulonglong uVar16; - int iVar17; - ulonglong uVar18; - uint uStack268; - uint uStack180; - uint uStack176; - uint uStack172; - byte bStack166; - uint uStack164; - uint uStack160; - uint uStack60; - uint uStack56; - uint uStack52; - uint uStack48; - uint uStack44; - uint *puStack4; - - puStack4 = *param_1; - uVar8 = (uint)param_4; - if (param_2 == NULL) { - locret_7F076D60(&puStack4,param_3,1,param_4); - puVar5 = puStack4; - if (param_4 < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar8 & 0xff) << 0x10 | 0xbb000001; - } - puStack4 = puStack4 + 2; - *puStack4 = 0xfcffffff; - puVar5[3] = 0xfffe793c; - puStack4 = puVar5 + 4; - goto LAB_7f078170; - } - uVar12 = *param_2; - bVar1 = *(byte *)(param_2 + 1); - uVar16 = (ulonglong)bVar1; - bVar2 = *(byte *)((int)param_2 + 5); - uVar15 = (ulonglong)bVar2; - if (uVar12 < 0xbb9) { - FUN_7f0cc8f8(param_2,NULL); - uVar12 = *param_2; - } - puVar5 = FUN_7f0cc7ec((uint)*(ushort *)((uVar12 | 0x80000000) - 8),NULL); - if (*(byte *)((int)param_2 + 6) == 0) { - if (puVar5 == NULL) { - uVar18 = (ulonglong)*(byte *)((int)param_2 + 7); - uVar14 = (ulonglong)*(byte *)(param_2 + 2); - } - else { - uVar18 = SEXT48((int)((puVar5[2] << 0x1b) >> 0x1d)); - uStack44 = (puVar5[3] >> 0x1e) << 0xe; - uVar14 = (longlong)(int)puVar5[2] & 3; - } - uVar12 = (uint)bVar1; - if (uVar14 == 0) { - uStack48 = 2; - iVar7 = locret_7F076840((uint)bVar1,(uint)bVar2,1); - uStack52 = iVar7 - 1; - uStack56 = loc_7F076664((uint)bVar1); - uStack60 = (int)(uVar12 + 0xf) >> 4; - } - else { - if (uVar14 == 1) { - uStack48 = 2; - iVar7 = locret_7F0768B0((uint)bVar1,(uint)bVar2,1); - uStack52 = iVar7 - 1; - uStack56 = loc_7F0766C8((uint)bVar1); - uStack60 = (int)(uVar12 + 7) >> 3; - } - else { - if (uVar14 == 2) { - uStack48 = 2; - iVar7 = FUN_7f076ea8((uint)bVar1,(uint)bVar2,1); - uStack52 = iVar7 - 1; - uStack56 = loc_7F07672C((uint)bVar1); - uStack60 = (int)(uVar12 + 3) >> 2; - } - else { - if (uVar14 == 3) { - uStack48 = 3; - iVar7 = FUN_7f076f18((uint)bVar1,(uint)bVar2,1); - uStack52 = iVar7 - 1; - uStack56 = loc_7F076790((uint)bVar1); - uStack60 = (int)(uVar12 + 3) >> 2; - } - } - } - } - locret_7F076D60(&puStack4,param_3,1,param_4); - puVar11 = puStack4; - if (param_4 < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar8 & 0xff) << 0x10 | 0xbb000001; - } - puStack4 = puStack4 + 2; - puVar6 = puVar11 + 4; - puVar11[3] = 0; - *puStack4 = 0xba001001; - if (uVar18 == 0) { - *puVar6 = 0xfc121824; - puVar11[5] = 0xff33ffff; -LAB_7f077740: - puStack4 = puVar11 + 6; - puVar6 = puStack4; - } - else { - if (uVar18 == 2) { - if (uStack44 == 0x8000) { - puVar11[5] = 0xff33ffff; - *puVar6 = 0xfc121824; - } - else { - if (uStack44 != 0xc000) goto LAB_7f077744; - *puVar6 = 0xfc121824; - puVar11[5] = 0xff33ffff; - } - goto LAB_7f077740; - } - if (uVar18 == 3) { - puVar11[5] = 0xff33ffff; - *puVar6 = 0xfc121824; - goto LAB_7f077740; - } - if (uVar18 == 4) { - puVar11[5] = 0xfffff9fc; - *puVar6 = 0xfc127e24; - goto LAB_7f077740; - } - } -LAB_7f077744: - uVar10 = ((uint)uVar18 & 7) << 0x15; - uVar8 = (uStack48 & 3) << 0x13; - *puVar6 = uVar10 | 0xfd000000 | uVar8; - uVar10 |= 0xf5000000; - puVar6[1] = *param_2; - puVar6[2] = uVar10 | uVar8; - puVar6[3] = ((uint)*(byte *)((int)param_2 + 10) & 3) << 0x12 | 0x7000000 | - ((uint)*(byte *)((int)param_2 + 9) & 3) << 8; - puVar6[5] = 0; - puVar6[4] = 0xe6000000; - puVar6[6] = 0xf3000000; - uVar8 = 0x7ff; - if ((int)uStack52 < 0x7ff) { - uVar8 = uStack52; - } - puVar6[7] = (uVar8 & 0xfff) << 0xc | 0x7000000 | uStack56 & 0xfff; - puVar6[9] = 0; - puVar6[8] = 0xe7000000; - if (uVar18 == 2) { - uVar8 = 0x3ff - (uint)*(byte *)((int)puVar5 + 10); - if (uStack52 + 1 <= uVar8) { - uVar8 = 0; - } - puVar6[10] = 0xf5000100; - puVar6[0xb] = 0x7000000; - uVar9 = (uStack52 + 1) - uVar8; - puVar6[0xd] = 0; - puVar6[0xc] = 0xe6000000; - uVar8 = (uVar8 & 0x3ff) << 2; - puVar6[0xe] = (uVar9 & 0x3ff) << 0xe | 0xf0000000 | uVar8; - puVar6[0xf] = ((uint)*(byte *)((int)puVar5 + 10) + uVar9 & 0x3ff) << 0xe | 0x7000000 | uVar8; - puVar6[0x11] = 0; - puVar6[0x10] = 0xe7000000; - puStack4 = puVar6 + 0x14; - puVar6[0x12] = 0xba000e02; - puVar6[0x13] = uStack44; - } - else { - puStack4 = puVar6 + 0xc; - puVar6[0xb] = 0; - puVar6[10] = 0xba000e02; - } - puVar5 = puStack4; - *puStack4 = uVar10 | ((uint)uVar14 & 3) << 0x13 | (uStack60 & 0x1ff) << 9; - puStack4 = puStack4 + 2; - uVar3 = locret_7F076640(uVar15); - uVar4 = locret_7F076640(uVar16); - puVar5[1] = ((uint)uVar4 & 0xf) << 4 | ((uint)*(byte *)((int)param_2 + 10) & 3) << 0x12 | - ((uint)uVar3 & 0xf) << 0xe | ((uint)*(byte *)((int)param_2 + 9) & 3) << 8; - *puStack4 = (param_5 & 0xfff) << 0xc | 0xf2000000 | param_5 & 0xfff; - puStack4[1] = ((uVar12 - 1) * 4 + param_5 & 0xfff) << 0xc | - ((uint)bVar2 - 1) * 4 + param_5 & 0xfff; - puStack4 = puStack4 + 2; - goto LAB_7f078170; - } - uStack160 = 0; - uStack164 = (uint)*(byte *)((int)param_2 + 6); - if (puVar5 == NULL) { - bStack166 = *(byte *)(param_2 + 2); - uVar18 = (ulonglong)*(byte *)((int)param_2 + 7); -LAB_7f077a7c: - if (bStack166 == 0) { - uStack176 = 2; - iVar7 = locret_7F076840((uint)bVar1,(uint)bVar2,uStack164); - uStack180 = iVar7 - 1; - } - else { - if (bStack166 == 1) { - uStack176 = 2; - iVar7 = locret_7F0768B0((uint)bVar1,(uint)bVar2,uStack164); - uStack180 = iVar7 - 1; - } - else { - if (bStack166 == 2) { - uStack176 = 2; - iVar7 = FUN_7f076ea8((uint)bVar1,(uint)bVar2,uStack164); - uStack180 = iVar7 - 1; - } - else { - if (bStack166 == 3) { - uStack176 = 3; - iVar7 = FUN_7f076f18((uint)bVar1,(uint)bVar2,uStack164); - uStack180 = iVar7 - 1; - } - } - } - } - } - else { - bStack166 = (byte)puVar5[2] & 3; - uVar18 = SEXT48((int)((puVar5[2] << 0x1b) >> 0x1d)); - uStack172 = (puVar5[3] >> 0x1e) << 0xe; - if (-1 < (int)(puVar5[3] << 2)) goto LAB_7f077a7c; - loc_7F0CCA80(puVar5,&uStack176,(int *)&uStack180); - } - locret_7F076D60(&puStack4,param_3,2,param_4); - puVar11 = puStack4; - bVar1 = bStack166; - if (param_4 < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = (uStack164 - 1 & 7) << 0xb | 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar8 & 0xff) << 0x10 | 0xbb000000 | (uStack164 - 1 & 7) << 0xb | 1; - } - puStack4 = puStack4 + 2; - puVar6 = puVar11 + 4; - puVar11[3] = 0x10000; - *puStack4 = 0xba001001; - if (uVar18 == 0) { - *puVar6 = 0xfc26a004; - puVar11[5] = 0x1f1093ff; -LAB_7f077cdc: - puStack4 = puVar11 + 6; - puVar6 = puStack4; - } - else { - if (uVar18 == 2) { - if (uStack172 == 0x8000) { - puVar11[5] = 0xff33ffff; - *puVar6 = 0xfc121824; - } - else { - if (uStack172 != 0xc000) goto LAB_7f077ce0; - *puVar6 = 0xfc121824; - puVar11[5] = 0xff33ffff; - } - goto LAB_7f077cdc; - } - if (uVar18 == 3) { - puVar11[5] = 0x1f1093ff; - *puVar6 = 0xfc26a004; - goto LAB_7f077cdc; - } - if (uVar18 == 4) { - puVar11[5] = 0x1ffc93fc; - *puVar6 = 0xfc26a004; - goto LAB_7f077cdc; - } - } -LAB_7f077ce0: - uVar12 = ((uint)uVar18 & 7) << 0x15; - *puVar6 = uVar12 | 0xfd000000 | (uStack176 & 3) << 0x13; - uVar12 |= 0xf5000000; - puVar6[1] = *param_2; - puVar6[2] = uVar12 | (uStack176 & 3) << 0x13; - puVar6[3] = 0x7000000; - puVar6[5] = 0; - puVar6[4] = 0xe6000000; - puVar6[6] = 0xf3000000; - uVar8 = 0x7ff; - if ((int)uStack180 < 0x7ff) { - uVar8 = uStack180; - } - puVar6[7] = (uVar8 & 0xfff) << 0xc | 0x7000000; - puVar6[9] = 0; - puVar6[8] = 0xe7000000; - if (uVar18 == 2) { - uVar8 = 0x3ff - (uint)*(byte *)((int)puVar5 + 10); - if (uStack180 + 1 <= uVar8) { - uVar8 = 0; - } - puVar6[10] = 0xf5000100; - puVar6[0xb] = 0x7000000; - uVar10 = (uStack180 + 1) - uVar8; - puVar6[0xd] = 0; - puVar6[0xc] = 0xe6000000; - uVar8 = (uVar8 & 0x3ff) << 2; - puVar6[0xe] = (uVar10 & 0x3ff) << 0xe | 0xf0000000 | uVar8; - puVar6[0xf] = ((uint)*(byte *)((int)puVar5 + 10) + uVar10 & 0x3ff) << 0xe | 0x7000000 | uVar8; - puVar6[0x11] = 0; - puVar6[0x10] = 0xe7000000; - puStack4 = puVar6 + 0x14; - puVar6[0x13] = uStack172; - puVar6[0x12] = 0xba000e02; - } - else { - puStack4 = puVar6 + 0xc; - puVar6[0xb] = 0; - puVar6[10] = 0xba000e02; - } - uVar18 = 0; - if (0 < (int)uStack164) { - uVar12 |= ((uint)bStack166 & 3) << 0x13; - do { - if (0 < (longlong)uVar18) { - if ((puVar5 == NULL) || (-1 < (int)(puVar5[3] << 2))) { - if (1 < (longlong)uVar16) { - uVar16 = (longlong)((int)uVar16 >> 1); - } - if (1 < (longlong)uVar15) { - uVar15 = (longlong)((int)uVar15 >> 1); - } - } - else { - uVar16 = locret_7F0CC7F4(puVar5,uVar18); - uVar15 = locret_7F0CC8DC(puVar5,uVar18); - } - } - puVar11 = puStack4; - iVar17 = (int)uVar16; - iVar7 = (int)uVar15; - if (bVar1 == 0) { - iVar13 = iVar17 + 0xf; - if (iVar13 < 0) { - iVar13 = iVar17 + 0x1e; - } - uStack268 = iVar13 >> 4; - iVar13 = uStack268 * iVar7; - uVar8 = uVar12 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 1) { - iVar13 = iVar17 + 7; - if (iVar13 < 0) { - iVar13 = iVar17 + 0xe; - } - uStack268 = iVar13 >> 3; - iVar13 = uStack268 * iVar7; - uVar8 = uVar12 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 2) { - iVar13 = iVar17 + 3; - if (iVar13 < 0) { - iVar13 = iVar17 + 6; - } - uStack268 = iVar13 >> 2; - iVar13 = uStack268 * iVar7; - uVar8 = uVar12 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 3) { - iVar13 = iVar17 + 3; - if (iVar13 < 0) { - iVar13 = iVar17 + 6; - } - uStack268 = iVar13 >> 2; - iVar13 = uStack268 * iVar7; - uVar8 = uVar12 | (uStack268 & 0x1ff) << 9; - } - else { - iVar13 = uStack268 * iVar7; - uVar8 = uVar12 | (uStack268 & 0x1ff) << 9; - } - } - } - } - *puStack4 = uVar8 | uStack160 & 0x1ff; - puStack4 = puStack4 + 2; - uVar3 = locret_7F076640(uVar15); - uVar4 = locret_7F076640(uVar16); - uVar8 = (uint)uVar18; - uVar10 = (uVar8 & 7) << 0x18; - puVar11[1] = ((uint)uVar4 & 0xf) << 4 | uVar10 | - ((uint)*(byte *)((int)param_2 + 10) & 3) << 0x12 | ((uint)uVar3 & 0xf) << 0xe | - (uVar8 & 0xf) << 10 | ((uint)*(byte *)((int)param_2 + 9) & 3) << 8 | uVar8 & 0xf; - uVar18 = SEXT48((int)(uVar8 + 1)); - puVar11 = puStack4 + 2; - *puStack4 = (param_5 & 0xfff) << 0xc | 0xf2000000 | param_5 & 0xfff; - puStack4[1] = uVar10 | ((iVar17 + -1) * 4 + param_5 & 0xfff) << 0xc | - (iVar7 + -1) * 4 + param_5 & 0xfff; - uStack160 += iVar13; - puStack4 = puVar11; - } while (uVar18 != (longlong)(int)uStack164); - } -LAB_7f078170: - *param_1 = puStack4; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0781c8(float param_1,float param_2) - -{ - *(float *)(_DAT_8007a120 + 0x1090) = param_1; - *(float *)(_DAT_8007a120 + 0x1094) = param_2; - *(float *)(_DAT_8007a120 + 0x10ac) = param_1 * 0.50000000; - *(float *)(_DAT_8007a120 + 0x10b0) = param_2 * 0.50000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078204(undefined4 param_1,undefined4 param_2) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x1098) = param_1; - *(undefined4 *)(_DAT_8007a120 + 0x109c) = param_2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078220(undefined4 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, - undefined4 param_5) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10a0) = param_1; - *(undefined4 *)(_DAT_8007a120 + 0x10a4) = param_2; - *(undefined4 *)(_DAT_8007a120 + 0x10a8) = param_5; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07824c(void) - -{ - float fVar1; - float fVar2; - uint uVar3; - - fVar2 = DAT_80054fd0; - fVar1 = func_7F057FC4((*(float *)(_DAT_8007a120 + 0x10a4) * DAT_80054fd0) / 360.00000000); - fVar2 = FUN_7f0583c0((*(float *)(_DAT_8007a120 + 0x10a4) * fVar2) / 360.00000000); - *(float *)(_DAT_8007a120 + 0x10b8) = fVar1 / (fVar2 * *(float *)(_DAT_8007a120 + 0x10b0)); - *(float *)(_DAT_8007a120 + 0x10b4) = - (*(float *)(_DAT_8007a120 + 0x10b8) * *(float *)(_DAT_8007a120 + 0x10a8) * - *(float *)(_DAT_8007a120 + 0x10b0)) / *(float *)(_DAT_8007a120 + 0x10ac); - *(float *)(_DAT_8007a120 + 0x10bc) = 1.00000000 / *(float *)(_DAT_8007a120 + 0x10b4); - *(float *)(_DAT_8007a120 + 0x10c0) = 1.00000000 / *(float *)(_DAT_8007a120 + 0x10b8); - *(undefined4 *)(_DAT_8007a120 + 0x10f4) = *(undefined4 *)(_DAT_8007a120 + 0x10b8); - fVar2 = func_7F057FC4(DAT_80054fd4); - fVar1 = FUN_7f0583c0(DAT_80054fd8); - *(float *)(_DAT_8007a120 + 0x10f0) = fVar2 / (fVar1 * 120.00000000); - *(float *)(_DAT_8007a120 + 0x10f8) = - *(float *)(_DAT_8007a120 + 0x10f4) / *(float *)(_DAT_8007a120 + 0x10f0); - fVar2 = *(float *)(_DAT_8007a120 + 0x10f8) * 65536.00000000; - if (4294967296.00000000 < fVar2) { - *(undefined4 *)(_DAT_8007a120 + 0x10fc) = 0xffffffff; - goto LAB_7f078424; - } - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - uVar3 = (uint)fVar1; - if (false) { - if (false) { - fVar2 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar2 = FLOOR(fVar2 - 2147483648.00000000); - } - if (false) goto LAB_7f078400; - uVar3 = (int)fVar2 | 0x80000000; - } - else { - if ((int)uVar3 < 0) { -LAB_7f078400: - uVar3 = 0xffffffff; - } - } - *(uint *)(_DAT_8007a120 + 0x10fc) = uVar3; -LAB_7f078424: - fVar1 = *(float *)(_DAT_8007a120 + 0x10b0) * *(float *)(_DAT_8007a120 + 0x10b8); - fVar2 = sqrtf(fVar1 * fVar1 + 1.00000000); - *(undefined4 *)(_DAT_8007a120 + 0x1100) = 0; - *(float *)(_DAT_8007a120 + 0x1104) = 1.00000000 / fVar2; - *(float *)(_DAT_8007a120 + 0x1108) = fVar1 * (1.00000000 / fVar2); - fVar1 = -*(float *)(_DAT_8007a120 + 0x10ac) * *(float *)(_DAT_8007a120 + 0x10b4); - fVar2 = sqrtf(fVar1 * fVar1 + 1.00000000); - *(float *)(_DAT_8007a120 + 0x110c) = -(1.00000000 / fVar2); - *(undefined4 *)(_DAT_8007a120 + 0x1110) = 0; - *(float *)(_DAT_8007a120 + 0x1114) = -fVar1 * (1.00000000 / fVar2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0784dc(float *param_1,float *param_2,float param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar2 = (*(float *)(_DAT_8007a120 + 0x10b0) - (param_1[1] - *(float *)(_DAT_8007a120 + 0x109c))) * - *(float *)(_DAT_8007a120 + 0x10b8); - fVar3 = ((*param_1 - *(float *)(_DAT_8007a120 + 0x1098)) - *(float *)(_DAT_8007a120 + 0x10ac)) * - *(float *)(_DAT_8007a120 + 0x10b4); - fVar1 = sqrtf(fVar3 * fVar3 + fVar2 * fVar2 + 1.00000000); - param_3 = param_3 / fVar1; - *param_2 = fVar3 * param_3; - param_2[1] = fVar2 * param_3; - param_2[2] = param_3 * -1.00000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0785e4(float *param_1,float *param_2) - -{ - float fVar1; - - fVar1 = param_1[2]; - param_2[1] = param_1[1] * (1.00000000 / fVar1) * *(float *)(_DAT_8007a120 + 0x10c0) + - *(float *)(_DAT_8007a120 + 0x109c) + *(float *)(_DAT_8007a120 + 0x10b0); - *param_2 = (*(float *)(_DAT_8007a120 + 0x1098) + *(float *)(_DAT_8007a120 + 0x10ac)) - - *param_1 * (1.00000000 / fVar1) * *(float *)(_DAT_8007a120 + 0x10bc); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F078094(float *param_1,float *param_2) - -{ - float fVar1; - - fVar1 = DAT_80054fdc; - if (param_1[2] != 0.00000000) { - fVar1 = 1.00000000 / param_1[2]; - } - param_2[1] = param_1[1] * fVar1 * *(float *)(_DAT_8007a120 + 0x10c0) + - *(float *)(_DAT_8007a120 + 0x109c) + *(float *)(_DAT_8007a120 + 0x10b0); - *param_2 = (*(float *)(_DAT_8007a120 + 0x1098) + *(float *)(_DAT_8007a120 + 0x10ac)) - - *param_1 * fVar1 * *(float *)(_DAT_8007a120 + 0x10bc); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0786e0(float *param_1,float param_2,float *param_3) - -{ - param_3[1] = param_1[1] * (1.00000000 / param_2) * *(float *)(_DAT_8007a120 + 0x10c0); - *param_3 = *param_1 * (1.00000000 / param_2) * *(float *)(_DAT_8007a120 + 0x10bc); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078914(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10c4) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078934(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10c8) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078944(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x10c8); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078954(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10d8) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078964(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x10d8); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078974(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10e0) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078984(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x10e0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078994(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10e8) = *(undefined4 *)(_DAT_8007a120 + 0x10cc); - *(undefined4 *)(_DAT_8007a120 + 0x10cc) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0789b4(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x10cc); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0789c4(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10dc) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0789d4(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x10dc); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078a14(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10ec) = *(undefined4 *)(_DAT_8007a120 + 0x10d4); - *(undefined4 *)(_DAT_8007a120 + 0x10d4) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078a34(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x10d4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078a44(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x10ec); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078a54(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x10e4) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f078a64(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x10e4); -} - - - -undefined4 FUN_7f078a74(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f078a94(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f078aa4(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f078ab4(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f078ac4(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f078ae4(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f078bcc(void) - -{ - int iVar1; - int iVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar5 = *(float *)(_DAT_8007a120 + 0x10b0) * *(float *)(_DAT_8007a120 + 0x10b8); - fVar4 = sqrtf(fVar5 * fVar5 + 1.00000000); - fVar5 = fVar5 * (1.00000000 / fVar4); - fVar4 = -(1.00000000 / fVar4); - fVar6 = -fVar4; - _DAT_80079980 = - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x20) * fVar5 + - fVar6 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x10); - _DAT_80079984 = - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x24) * fVar5 + - fVar6 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x14); - _DAT_80079988 = - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x28) * fVar5 + - fVar6 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x18); - iVar1 = *(int *)(_DAT_8007a120 + 0x10d4); - _DAT_8007998c = - *(float *)(iVar1 + 0x38) * _DAT_80079988 + - _DAT_80079980 * *(float *)(iVar1 + 0x30) + _DAT_80079984 * *(float *)(iVar1 + 0x34); - _DAT_80079990 = - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x20) * fVar5 + - fVar4 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x10); - _DAT_80079994 = - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x24) * fVar5 + - fVar4 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x14); - _DAT_80079998 = - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x28) * fVar5 + - fVar4 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x18); - iVar1 = *(int *)(_DAT_8007a120 + 0x10d4); - _DAT_8007999c = - *(float *)(iVar1 + 0x38) * _DAT_80079998 + - _DAT_80079990 * *(float *)(iVar1 + 0x30) + _DAT_80079994 * *(float *)(iVar1 + 0x34); - fVar5 = -*(float *)(_DAT_8007a120 + 0x10ac) * *(float *)(_DAT_8007a120 + 0x10b4); - fVar4 = sqrtf(fVar5 * fVar5 + 1.00000000); - fVar5 = fVar5 * (1.00000000 / fVar4); - fVar4 = -(1.00000000 / fVar4); - fVar6 = -fVar4; - _DAT_800799a0 = - fVar4 * **(float **)(_DAT_8007a120 + 0x10d4) - - (*(float **)(_DAT_8007a120 + 0x10d4))[8] * fVar5; - _DAT_800799a4 = - fVar4 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 4) - - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x24) * fVar5; - _DAT_800799a8 = - fVar4 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 8) - - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x28) * fVar5; - iVar1 = *(int *)(_DAT_8007a120 + 0x10d4); - _DAT_800799b0 = - fVar6 * **(float **)(_DAT_8007a120 + 0x10d4) - - (*(float **)(_DAT_8007a120 + 0x10d4))[8] * fVar5; - _DAT_800799b4 = - fVar6 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 4) - - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x24) * fVar5; - _DAT_800799b8 = - fVar6 * *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 8) - - *(float *)(*(int *)(_DAT_8007a120 + 0x10d4) + 0x28) * fVar5; - iVar2 = *(int *)(_DAT_8007a120 + 0x10d4); - iVar3 = *(int *)(_DAT_8007a120 + 0x10d4); - _DAT_800799ac = - *(float *)(iVar1 + 0x38) * _DAT_800799a8 + - _DAT_800799a0 * *(float *)(iVar1 + 0x30) + _DAT_800799a4 * *(float *)(iVar1 + 0x34); - _DAT_800799bc = - *(float *)(iVar2 + 0x38) * _DAT_800799b8 + - _DAT_800799b0 * *(float *)(iVar2 + 0x30) + _DAT_800799b4 * *(float *)(iVar2 + 0x34); - _DAT_800799c0 = - *(float *)(iVar3 + 0x38) * *(float *)(iVar3 + 0x28) + - *(float *)(iVar3 + 0x20) * *(float *)(iVar3 + 0x30) + - *(float *)(iVar3 + 0x24) * *(float *)(iVar3 + 0x34); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f079048(float *param_1,float param_2) - -{ - int iVar1; - uint7 in_register_00000018; - float fVar2; - float fVar3; - float fVar4; - - fVar3 = *param_1; - fVar4 = param_1[1]; - iVar1 = *(int *)(_DAT_8007a120 + 0x10d4); - fVar2 = param_1[2]; - if (_DAT_800799c0 + param_2 < - fVar2 * *(float *)(iVar1 + 0x28) + - *(float *)(iVar1 + 0x20) * fVar3 + *(float *)(iVar1 + 0x24) * fVar4) { - return (ulonglong)in_register_00000018; - } - if (_DAT_800799ac + param_2 < - fVar2 * _DAT_800799a8 + _DAT_800799a0 * fVar3 + _DAT_800799a4 * fVar4) { - return (ulonglong)in_register_00000018; - } - if (_DAT_800799bc + param_2 < - fVar2 * _DAT_800799b8 + _DAT_800799b0 * fVar3 + _DAT_800799b4 * fVar4) { - return (ulonglong)in_register_00000018; - } - if (fVar2 * _DAT_80079988 + _DAT_80079980 * fVar3 + _DAT_80079984 * fVar4 <= - _DAT_8007998c + param_2) { - if (fVar2 * _DAT_80079998 + _DAT_80079990 * fVar3 + _DAT_80079994 * fVar4 <= - _DAT_8007999c + param_2) { - return CONCAT17(1,in_register_00000018); - } - return (ulonglong)in_register_00000018; - } - return (ulonglong)in_register_00000018; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0791e4(float *param_1,float param_2,float *param_3) - -{ - int7 iVar1; - undefined uVar2; - undefined uVar3; - undefined7 in_register_00000018; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - if (_DAT_800799c0 + param_2 < - param_1[2] * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x28) + - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x20) * *param_1 + - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x24) * param_1[1]) { - uVar2 = 0; - } - else { - fVar5 = ((*param_3 - *(float *)(_DAT_8007a120 + 0x1098)) - *(float *)(_DAT_8007a120 + 0x10ac)) * - *(float *)(_DAT_8007a120 + 0x10b4); - fVar4 = sqrtf(fVar5 * fVar5 + 1.00000000); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar5 = fVar5 * (1.00000000 / fVar4); - fVar7 = -(1.00000000 / fVar4); - fVar6 = fVar7 * *(float *)CONCAT71(iVar1,uVar2) - - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x20) * fVar5; - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar4 = fVar7 * *(float *)((int)CONCAT71(iVar1,uVar2) + 4) - - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x24) * fVar5; - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar5 = fVar7 * *(float *)((int)CONCAT71(iVar1,uVar2) + 8) - - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x28) * fVar5; - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - if (*(float *)((int)CONCAT71(iVar1,uVar2) + 0x38) * fVar5 + - fVar6 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x30) + - fVar4 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x34) + param_2 < - param_1[2] * fVar5 + fVar6 * *param_1 + fVar4 * param_1[1]) { - uVar2 = 0; - } - else { - fVar5 = -((param_3[2] - *(float *)(_DAT_8007a120 + 0x1098)) - - *(float *)(_DAT_8007a120 + 0x10ac)) * *(float *)(_DAT_8007a120 + 0x10b4); - fVar4 = sqrtf(fVar5 * fVar5 + 1.00000000); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar5 = fVar5 * (1.00000000 / fVar4); - fVar4 = --(1.00000000 / fVar4); - fVar6 = fVar4 * *(float *)CONCAT71(iVar1,uVar2) - - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x20) * fVar5; - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar7 = fVar4 * *(float *)((int)CONCAT71(iVar1,uVar2) + 4) - - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x24) * fVar5; - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar4 = fVar4 * *(float *)((int)CONCAT71(iVar1,uVar2) + 8) - - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x28) * fVar5; - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - if (*(float *)((int)CONCAT71(iVar1,uVar2) + 0x38) * fVar4 + - fVar6 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x30) + - fVar7 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x34) + param_2 < - param_1[2] * fVar4 + fVar6 * *param_1 + fVar7 * param_1[1]) { - uVar2 = 0; - } - else { - fVar5 = (*(float *)(_DAT_8007a120 + 0x10b0) - - (param_3[1] - *(float *)(_DAT_8007a120 + 0x109c))) * - *(float *)(_DAT_8007a120 + 0x10b8); - fVar4 = sqrtf(fVar5 * fVar5 + 1.00000000); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar5 = fVar5 * (1.00000000 / fVar4); - fVar4 = --(1.00000000 / fVar4); - fVar6 = *(float *)((int)CONCAT71(iVar1,uVar2) + 0x20) * fVar5 + - fVar4 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x10); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar7 = *(float *)((int)CONCAT71(iVar1,uVar2) + 0x24) * fVar5 + - fVar4 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x14); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar4 = *(float *)((int)CONCAT71(iVar1,uVar2) + 0x28) * fVar5 + - fVar4 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x18); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - if (*(float *)((int)CONCAT71(iVar1,uVar2) + 0x38) * fVar4 + - fVar6 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x30) + - fVar7 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x34) + param_2 < - param_1[2] * fVar4 + fVar6 * *param_1 + fVar7 * param_1[1]) { - uVar2 = 0; - } - else { - fVar5 = -(*(float *)(_DAT_8007a120 + 0x10b0) - - (param_3[3] - *(float *)(_DAT_8007a120 + 0x109c))) * - *(float *)(_DAT_8007a120 + 0x10b8); - fVar4 = sqrtf(fVar5 * fVar5 + 1.00000000); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar5 = fVar5 * (1.00000000 / fVar4); - fVar7 = -(1.00000000 / fVar4); - fVar4 = *(float *)((int)CONCAT71(iVar1,uVar2) + 0x20) * fVar5 + - fVar7 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x10); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar6 = *(float *)((int)CONCAT71(iVar1,uVar2) + 0x24) * fVar5 + - fVar7 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x14); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar2 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - fVar5 = *(float *)((int)CONCAT71(iVar1,uVar2) + 0x28) * fVar5 + - fVar7 * *(float *)((int)CONCAT71(iVar1,uVar2) + 0x18); - iVar1 = (int7)(int3)((uint)*(undefined4 *)(_DAT_8007a120 + 0x10d4) >> 8); - uVar3 = (undefined)*(undefined4 *)(_DAT_8007a120 + 0x10d4); - uVar2 = 1; - if (*(float *)((int)CONCAT71(iVar1,uVar3) + 0x38) * fVar5 + - fVar4 * *(float *)((int)CONCAT71(iVar1,uVar3) + 0x30) + - fVar6 * *(float *)((int)CONCAT71(iVar1,uVar3) + 0x34) + param_2 < - param_1[2] * fVar5 + fVar4 * *param_1 + fVar6 * param_1[1]) { - uVar2 = 0; - } - } - } - } - } - return CONCAT17(uVar2,in_register_00000018); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint loc_7F0793B8(void) - -{ - int iVar1; - bool bVar2; - int iVar4; - ulonglong uVar3; - uint uVar5; - ulonglong uVar6; - int iVar7; - int iVar8; - float fVar9; - float fVar10; - uint uStack20; - - iVar4 = get_cur_playernum(); - uVar3 = get_num_players(); - bVar2 = true; - iVar8 = 0; - if (0 < (int)_DAT_80079cd8) { - do { - iVar8 += 1; - bVar2 = false; - uVar6 = 0; - *(int *)(_DAT_8007a120 + 0x29e0) = *(int *)(_DAT_8007a120 + 0x29e0) + 1; - uStack20 = *(int *)(_DAT_8007a120 + 0x29e0) % _DAT_80079cd8; - if (_DAT_80079cd8 == 0) { - trap(0x1c00); - } - if ((_DAT_80079cd8 == 0xffffffff) && (*(int *)(_DAT_8007a120 + 0x29e0) == -0x80000000)) { - trap(0x1800); - } - if (0 < (longlong)uVar3) { - do { - iVar7 = (int)uVar6; - if (uVar6 == (longlong)iVar4) { - uVar6 = SEXT48(iVar7 + 1); - } - else { - iVar1 = *(int *)(*(int *)(&DAT_80079f50 + iVar7 * 4) + 0xa8); - if (iVar1 == 0) { - uVar6 = SEXT48(iVar7 + 1); - } - else { - fVar9 = *(float *)(iVar1 + 8) - **(float **)(&DAT_80079c98 + uStack20 * 4); - fVar10 = *(float *)(iVar1 + 0x10) - (*(float **)(&DAT_80079c98 + uStack20 * 4))[2]; - fVar9 = sqrtf(fVar9 * fVar9 + fVar10 * fVar10); - if (fVar9 < 1000.00000000) { - bVar2 = true; - uVar6 = SEXT48(iVar7 + 1); - } - else { - uVar6 = SEXT48(iVar7 + 1); - } - } - } - } while (uVar6 != uVar3); - } - } while ((bVar2) && (iVar8 < (int)_DAT_80079cd8)); - } - if ((bVar2) && (iVar8 < (int)_DAT_80079cd8)) { - do { - iVar8 += 1; - bVar2 = false; - uVar6 = 0; - *(int *)(_DAT_8007a120 + 0x29e0) = *(int *)(_DAT_8007a120 + 0x29e0) + 1; - uStack20 = *(int *)(_DAT_8007a120 + 0x29e0) % _DAT_80079cd8; - if (_DAT_80079cd8 == 0) { - trap(0x1c00); - } - if ((_DAT_80079cd8 == 0xffffffff) && (*(int *)(_DAT_8007a120 + 0x29e0) == -0x80000000)) { - trap(0x1800); - } - if (0 < (longlong)uVar3) { - do { - iVar7 = (int)uVar6; - if (uVar6 == (longlong)iVar4) { - uVar6 = SEXT48(iVar7 + 1); - } - else { - iVar1 = *(int *)(*(int *)(&DAT_80079f50 + iVar7 * 4) + 0xa8); - if (iVar1 == 0) { - uVar6 = SEXT48(iVar7 + 1); - } - else { - fVar9 = *(float *)(iVar1 + 8) - **(float **)(&DAT_80079c98 + uStack20 * 4); - fVar10 = *(float *)(iVar1 + 0x10) - (*(float **)(&DAT_80079c98 + uStack20 * 4))[2]; - fVar9 = sqrtf(fVar9 * fVar9 + fVar10 * fVar10); - if (fVar9 < 100.00000000) { - bVar2 = true; - uVar6 = SEXT48(iVar7 + 1); - } - else { - uVar6 = SEXT48(iVar7 + 1); - } - } - } - } while (uVar6 != uVar3); - } - } while ((bVar2) && (iVar8 < (int)_DAT_80079cd8)); - } - if (bVar2) { - uVar5 = FUN_7000a460(); - uStack20 = uVar5 % _DAT_80079cd8; - if (_DAT_80079cd8 == 0) { - trap(0x1c00); - } - } - return uStack20; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0799dc(void) - -{ - ulonglong uVar1; - int iVar2; - undefined4 uVar3; - - uVar1 = get_num_players(); - if (1 < (longlong)uVar1) { - iVar2 = get_cur_playernum(); - uVar3 = FUN_7f0100fc(iVar2); - _DAT_8007a120[0x10c] = uVar3; - iVar2 = get_cur_playernum(); - iVar2 = FUN_7f0100fc(iVar2); - FUN_7f0a5970(iVar2); - } - _DAT_8007a120[0xe] = 0; - _DAT_8007a120[0xf] = 0; - _DAT_8007a120[0x10] = 0; - _DAT_8007a120[0x11] = 0; - _DAT_8007a120[0x12] = 0; - _DAT_8007a120[0x13] = 0; - _DAT_8007a120[0x14] = 0; - _DAT_8007a120[0x15] = 0; - _DAT_8007a120[0x16] = 0; - *_DAT_8007a120 = 0; - _DAT_8007a120[1] = 0; - _DAT_8007a120[2] = 0; - _DAT_8007a120[3] = 0; - _DAT_8007a120[4] = 0; - _DAT_8007a120[5] = 0; - _DAT_8007a120[6] = 0x3f800000; - _DAT_8007a120[7] = 0; - _DAT_8007a120[8] = 0x3f800000; - _DAT_8007a120[9] = 0; - _DAT_8007a120[10] = 0; - _DAT_8007a120[0xb] = 0; - _DAT_8007a120[0xc] = 0; - _DAT_8007a120[0xd] = 0; - _DAT_8007a120[0xf1] = 0; - _DAT_8007a120[0xf2] = 0; - _DAT_8007a120[0xf3] = 0x3f800000; - _DAT_8007a120[0x21] = 0; - _DAT_8007a120[0x22] = 0; - _DAT_8007a120[0x23] = 0; - _DAT_8007a120[0x24] = 0; - _DAT_8007a120[0x25] = 0; - _DAT_8007a120[0x26] = 0; - _DAT_8007a120[0x49d] = 0; - _DAT_8007a120[0x49e] = 0; - _DAT_8007a120[0x49f] = 0; - _DAT_8007a120[0x27] = 2; - _DAT_8007a120[0xa7f] = 2; - _DAT_8007a120[0x28] = 0; - _DAT_8007a120[0x29] = 0; - _DAT_8007a120[0x2b] = 1; - _DAT_8007a120[0x34] = 0; - _DAT_8007a120[0x36] = 0; - _DAT_8007a120[0x37] = 0x3f800000; - _DAT_8007a120[0x38] = 0; - _DAT_8007a120[0x39] = 0x3f800000; - _DAT_8007a120[0x3a] = 0; - _DAT_8007a120[0x3b] = 0x3f800000; - _DAT_8007a120[0x3c] = 0; - _DAT_8007a120[0x3d] = 0xbf800000; - _DAT_8007a120[0x3e] = 0xbf800000; - _DAT_8007a120[0x70] = 0; - _DAT_8007a120[0x71] = 0; - _DAT_8007a120[0x72] = 0; - _DAT_8007a120[0x73] = 1; - _DAT_8007a120[0x74] = 0; - _DAT_8007a120[0x68] = 0; - _DAT_8007a120[0x67] = 0; - _DAT_8007a120[0x53] = 0; - _DAT_8007a120[0x54] = 0x3f800000; - _DAT_8007a120[0x55] = 0; - _DAT_8007a120[0x56] = 0xc0800000; - _DAT_8007a120[0x57] = _DAT_8007a120[0x56]; - if ((float)_DAT_8007a120[0x57] < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x57) = (float)_DAT_8007a120[0x57] + 360.00000000; - _DAT_8007a120[0x58] = 0; - } - else { - _DAT_8007a120[0x58] = 0; - } - _DAT_8007a120[0x59] = 0x3f800000; - _DAT_8007a120[0x5a] = 0; - _DAT_8007a120[0x5b] = 0; - _DAT_8007a120[0x5c] = 0; - _DAT_8007a120[0x5d] = 0; - _DAT_8007a120[0xa93] = 0; - _DAT_8007a120[0x5e] = 0x3f800000; - _DAT_8007a120[0x5f] = 0; - _DAT_8007a120[0x60] = 0; - _DAT_8007a120[0x61] = 0; - _DAT_8007a120[0x62] = 0; - _DAT_8007a120[0x41] = 0; - _DAT_8007a120[0x42] = 0; - _DAT_8007a120[0x43] = 0; - _DAT_8007a120[0x44] = 0; - _DAT_8007a120[0x45] = 1; - _DAT_8007a120[0x46] = 1; - _DAT_8007a120[0x47] = 0; - _DAT_8007a120[0x48] = 1; - _DAT_8007a120[0x49] = 0; - _DAT_8007a120[0x4a] = 1; - _DAT_8007a120[0x4b] = 0; - _DAT_8007a120[0x4c] = 0; - _DAT_8007a120[0x4d] = 0xffffffff; - _DAT_8007a120[0x4e] = 1; - _DAT_8007a120[0x4f] = 0; - _DAT_8007a120[0x50] = 0; - _DAT_8007a120[0x51] = 0xffffffff; - _DAT_8007a120[0xf4] = 0xff; - _DAT_8007a120[0xf5] = 0xff; - _DAT_8007a120[0xf6] = 0xff; - _DAT_8007a120[0xf7] = 0; - _DAT_8007a120[0xf8] = 0xbf800000; - _DAT_8007a120[0xf9] = 0xbf800000; - _DAT_8007a120[0xfa] = 0xff; - _DAT_8007a120[0xfb] = 0xff; - _DAT_8007a120[0xfc] = 0xff; - _DAT_8007a120[0xfd] = 0xff; - _DAT_8007a120[0xfe] = 0xff; - _DAT_8007a120[0xff] = 0xff; - _DAT_8007a120[0x100] = 0; - _DAT_8007a120[0x101] = 0; - _DAT_8007a120[99] = 0xbf800000; - _DAT_8007a120[100] = 0xbf800000; - _DAT_8007a120[0x65] = 0; - _DAT_8007a120[0x66] = 0; - _DAT_8007a120[0x10b] = 2; - _DAT_8007a120[0x10c] = 0; - _DAT_8007a120[0x81] = 0; - _DAT_8007a120[0x82] = 0; - _DAT_8007a120[0x83] = 0; - _DAT_8007a120[0x84] = 0; - _DAT_8007a120[0x85] = 0; - _DAT_8007a120[0x86] = 0; - _DAT_8007a120[0x88] = 0; - _DAT_8007a120[0x89] = 0; - _DAT_8007a120[0x80] = 0; - *(undefined2 *)(_DAT_8007a120 + 0xed) = 0; - *(undefined2 *)((int)_DAT_8007a120 + 0x3b6) = 0; - _DAT_8007a120[0xa70] = 0x41700000; - *(undefined2 *)(_DAT_8007a120 + 0xa81) = 0xffff; - _DAT_8007a120[0xa82] = 0; - _DAT_8007a120[0xa83] = 0; - _DAT_8007a120[0xa9b] = 0; - _DAT_8007a120[0xa9c] = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079ea8(void) - -{ - undefined4 uVar2; - ulonglong uVar1; - - *(float *)(_DAT_8007a120 + 0x29bc) = - *(float *)(_DAT_8007a124 + 100) * 185.00000000 * 1.00000000 - 10.00000000; - *(undefined4 *)(_DAT_8007a120 + 0x29f8) = 0; - uVar2 = FUN_7f08c840(); - *(undefined4 *)(_DAT_8007a120 + 0x29f4) = uVar2; - *(undefined4 *)(_DAT_8007a120 + 0x2a00) = 0; - FUN_7f08cd68(1); - uVar1 = get_num_players(); - if (1 < (longlong)uVar1) { - FUN_7f05de34(1,_DAT_80079a24); - FUN_7f05de34(0,_DAT_80079a20); - if (*(int *)(_DAT_8007a120 + 0xd4) == 0) { - FUN_7f07a2e0(); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079f78(int param_1) - -{ - *(float *)(_DAT_8007a120 + 0x1274) = (float)param_1 * 75.00000000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f079f9c(int param_1) - -{ - *(int *)(_DAT_8007a120 + 0x9c) = *(int *)(_DAT_8007a120 + 0x9c) + param_1; - if (*(int *)(_DAT_8007a120 + 0x9c) < 0) { - *(undefined4 *)(_DAT_8007a120 + 0x9c) = 0; - return; - } - if (2 < *(int *)(_DAT_8007a120 + 0x9c)) { - *(undefined4 *)(_DAT_8007a120 + 0x9c) = 2; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f079fe0(void) - -{ - if (*(int *)(_DAT_8007a120 + 0x9c) < *(int *)(_DAT_8007a120 + 0x29fc)) { - return *(int *)(_DAT_8007a120 + 0x9c); - } - return *(int *)(_DAT_8007a120 + 0x29fc); -} - - - -int FUN_7f07a00c(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = *(int *)(*(int *)(&DAT_80079f50 + param_1 * 4) + 0x9c); - iVar2 = *(int *)(*(int *)(&DAT_80079f50 + param_1 * 4) + 0x29fc); - if (iVar1 < iVar2) { - return iVar1; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07a040(undefined4 param_1) - -{ - *_DAT_8007a120 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07a050(float *param_1,float *param_2,float *param_3,int param_4,undefined4 param_5) - -{ - int iVar1; - int7 iVar2; - undefined7 extraout_var; - undefined7 extraout_var_00; - undefined uVar3; - undefined extraout_v0_lo; - undefined extraout_v0_lo_00; - undefined4 uVar4; - int iStack8; - int iStack4; - - iVar2 = (int7)(int3)((uint)_DAT_8007a120 >> 8); - uVar3 = (undefined)_DAT_8007a120; - if ((((((*param_1 != *(float *)((int)CONCAT71(iVar2,uVar3) + 4)) || - (param_1[1] != *(float *)((int)CONCAT71(iVar2,uVar3) + 8))) || - (param_1[2] != *(float *)((int)CONCAT71(iVar2,uVar3) + 0xc))) || - ((*param_2 != *(float *)((int)CONCAT71(iVar2,uVar3) + 0x10) || - (param_2[1] != *(float *)((int)CONCAT71(iVar2,uVar3) + 0x14))))) || - ((param_2[2] != *(float *)((int)CONCAT71(iVar2,uVar3) + 0x18) || - ((*param_3 != *(float *)((int)CONCAT71(iVar2,uVar3) + 0x1c) || - (param_3[1] != *(float *)((int)CONCAT71(iVar2,uVar3) + 0x20))))))) || - ((param_3[2] != *(float *)((int)CONCAT71(iVar2,uVar3) + 0x24) || - (*(int *)((int)CONCAT71(iVar2,uVar3) + 0x34) == 0)))) { - iVar2 = (int7)(int3)((uint)param_5 >> 8); - iStack4 = param_4; - sub_7F0B0BE4(&iStack4,*(float *)CONCAT71(iVar2,(char)param_5), - *(float *)((int)CONCAT71(iVar2,(char)param_5) + 8),*param_1,param_1[2]); - if (CONCAT71(extraout_var,extraout_v0_lo) == 0) { - iVar2 = (int7)(int3)((uint)_DAT_8007a120 >> 8); - uVar3 = (undefined)_DAT_8007a120; - iVar1 = *(int *)((int)CONCAT71(iVar2,uVar3) + 0x34); - if (iVar1 == 0) { - *(int *)((int)CONCAT71(iVar2,uVar3) + 0x34) = iStack4; - } - else { - iStack8 = iVar1; - sub_7F0B0BE4(&iStack8,*(float *)((int)CONCAT71(iVar2,uVar3) + 4), - *(float *)((int)CONCAT71(iVar2,uVar3) + 0xc),*param_1,param_1[2]); - if (CONCAT71(extraout_var_00,extraout_v0_lo_00) == 0) { - *(int *)(_DAT_8007a120 + 0x34) = iStack4; - } - else { - *(int *)(_DAT_8007a120 + 0x34) = iStack8; - } - } - } - else { - FUN_7f0b10c8(iStack4,*param_1,param_1[2]); - *(int *)(_DAT_8007a120 + 0x34) = iStack4; - } - *(float *)(_DAT_8007a120 + 4) = *param_1; - *(float *)(_DAT_8007a120 + 8) = param_1[1]; - *(float *)(_DAT_8007a120 + 0xc) = param_1[2]; - *(float *)(_DAT_8007a120 + 0x10) = *param_2; - *(float *)(_DAT_8007a120 + 0x14) = param_2[1]; - *(float *)(_DAT_8007a120 + 0x18) = param_2[2]; - *(float *)(_DAT_8007a120 + 0x1c) = *param_3; - *(float *)(_DAT_8007a120 + 0x20) = param_3[1]; - *(float *)(_DAT_8007a120 + 0x24) = param_3[2]; - iVar2 = (int7)(int3)((uint)_DAT_8007a120 >> 8); - *(undefined4 *)((int)CONCAT71(iVar2,(char)_DAT_8007a120) + 0x28) = - *(undefined4 *)((int)CONCAT71(iVar2,(char)_DAT_8007a120) + 4); - iVar2 = (int7)(int3)((uint)_DAT_8007a120 >> 8); - *(undefined4 *)((int)CONCAT71(iVar2,(char)_DAT_8007a120) + 0x30) = - *(undefined4 *)((int)CONCAT71(iVar2,(char)_DAT_8007a120) + 0xc); - iVar2 = (int7)(int3)((uint)_DAT_8007a120 >> 8); - uVar3 = (undefined)_DAT_8007a120; - uVar4 = FUN_7f0b3520(*(undefined4 *)((int)CONCAT71(iVar2,uVar3) + 0x34), - *(undefined4 *)((int)CONCAT71(iVar2,uVar3) + 4), - *(undefined4 *)((int)CONCAT71(iVar2,uVar3) + 0xc)); - *(undefined4 *)(_DAT_8007a120 + 0x2c) = uVar4; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07a2e0(void) - -{ - char cVar1; - ushort **ppuVar2; - undefined *puVar3; - uint3 uVar4; - ulonglong uVar5; - longlong lVar6; - int iVar7; - undefined4 extraout_v0_hi; - undefined2 uVar8; - undefined2 extraout_var; - undefined uVar9; - undefined extraout_var_00; - undefined uVar10; - int iVar11; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - uint uVar12; - undefined4 *puVar13; - undefined4 *puVar14; - undefined4 *puVar15; - undefined4 *puVar16; - uint uStack224; - int iStack216; - int iStack212; - uint uStack208; - undefined4 auStack196 [34]; - undefined4 *puStack60; - uint uStack56; - uint uStack52; - uint uStack48; - uint uStack44; - uint uStack40; - ushort **ppuStack36; - ushort **ppuStack32; - ushort **ppuStack28; - uint auStack24 [4]; - undefined2 *puStack8; - float fStack4; - - fStack4 = FUN_7f08a61c(); - iVar11 = *(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - iVar7 = iVar11 >> 0x1f; - uVar8 = (undefined2)((ulonglong)(longlong)iVar11 >> 0x10); - uVar9 = (undefined)((ulonglong)(longlong)iVar11 >> 8); - uVar10 = (undefined)iVar11; - if (CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) == 0) { - uVar12 = FUN_7f05d450(0); - uStack40 = uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8; - uVar12 = FUN_7f05d450(1); - uStack44 = uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8; - uStack48 = 0; - uVar12 = FUN_7f05d468(0); - uStack52 = uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8; - uVar12 = FUN_7f05d468(1); - uStack56 = uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8; - puVar15 = &DAT_800365ec; - puVar13 = auStack196; - do { - puVar16 = puVar15 + 3; - puVar14 = puVar13 + 3; - *puVar13 = *puVar15; - puVar13[1] = puVar15[1]; - puVar13[2] = puVar15[2]; - puVar15 = puVar16; - puVar13 = puVar14; - } while (puVar16 != (undefined4 *)0x80036670); - *puVar14 = uRam80036670; - uVar12 = FUN_7f05df64(0); - uStack208 = uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8; - iStack212 = 0x17; - iStack216 = 0x4b; - uStack224 = 0; - FUN_7f07e488(_DAT_8007a120); - uVar5 = get_num_players(); - uVar10 = (undefined)uVar5; - if (uVar5 == 1) { - FUN_7f01d710(); - iVar11 = *(int *)(_DAT_8007a120 + 0x41c); - if (CONCAT44(CONCAT31((undefined3)(iVar11 >> 0x1f),(undefined)(iVar11 >> 0x1f)),iVar11) < 9) { - // WARNING: Could not recover jumptable at 0x7f07a3e8. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&switchdataD_80055014)[iVar11])(); - return; - } - if (CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi,extraout_var),extraout_var_00),uVar10) == 0) { - if (CONCAT44(CONCAT31((undefined3)(iVar11 >> 0x1f),(undefined)(iVar11 >> 0x1f)),iVar11) < 9) - { - // WARNING: Could not recover jumptable at 0x7f07a4dc. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&switchdataD_80055038)[iVar11])(); - return; - } - } - else { - if (CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi,extraout_var),extraout_var_00),uVar10) == 1) { - iStack216 = 0x4e; - } - else { - if (CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi,extraout_var),extraout_var_00),uVar10) == 2) - { - iStack216 = 0x4e; - } - else { - if (CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi,extraout_var),extraout_var_00),uVar10) == - 3) { - iStack216 = 0x4e; - } - } - } - } - } - else { - uVar12 = get_cur_playernum(); - uVar5 = FUN_7f0102fc(uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8 - ); - iStack216 = (int)uVar5; - uVar12 = get_cur_playernum(); - uVar5 = FUN_7f01039c(uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8 - ); - iStack212 = (int)uVar5; - } - if (DAT_800364d4 == 3) { - uStack208 = _DAT_80079a20; - } - uVar5 = get_num_players(); - if (uVar5 == 1) { - FUN_7f05d47c(1); - FUN_7f05d47c(0); - sub_7F0CBAF4((int *)auStack24,uStack44,uStack56); - uVar12 = FUN_7f05d438(0); - lVar6 = (longlong)(int)uVar12; - iVar11 = (int)uVar12 >> 0x1f; - uVar8 = (undefined2)((ulonglong)lVar6 >> 0x10); - uVar9 = (undefined)((ulonglong)lVar6 >> 8); - uVar10 = (undefined)uVar12; - puVar15 = (undefined4 *)(&PTR_DAT_8003de40)[iStack212 * 5]; - ppuStack28 = (ushort **)(uVar12 & 0xff | (uint)(uint3)((ulonglong)lVar6 >> 8) << 8); - *(undefined4 *)CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10) = *puVar15; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10) + 4) = puVar15[1] - ; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10) + 8) = puVar15[2] - ; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10) + 0xc) = - puVar15[3]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10) + 0x10) = - puVar15[4]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10) + 0x14) = - puVar15[5]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10) + 0x18) = - puVar15[6]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10) + 0x1c) = - puVar15[7]; - loc_7F0764EC(CONCAT71(CONCAT61(CONCAT42(iVar11,uVar8),uVar9),uVar10), - (&PTR_s_CcamguardZ_8003de44)[iStack212 * 5],(longlong)(int)uStack40,uStack52, - auStack24); - uVar12 = FUN_7f0bdd38((&PTR_s_CcamguardZ_8003de44)[iStack212 * 5]); - ppuVar2 = (ushort **)(&PTR_DAT_8003de40)[iStack216 * 5]; - uVar12 = ((uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8) + 0x3f | - 0x3f) ^ 0x3f; - ppuStack32 = (ushort **)(uStack40 + uVar12); - uStack48 = (uVar12 + 0x5f | 0x3f) ^ 0x3f; - *ppuStack32 = *ppuVar2; - ppuStack32[1] = ppuVar2[1]; - ppuStack32[2] = ppuVar2[2]; - ppuStack32[3] = ppuVar2[3]; - ppuStack32[4] = ppuVar2[4]; - ppuStack32[5] = ppuVar2[5]; - ppuStack32[6] = ppuVar2[6]; - ppuStack32[7] = ppuVar2[7]; - loc_7F0764EC((longlong)(int)ppuStack32,(&PTR_s_CcamguardZ_8003de44)[iStack216 * 5], - (longlong)(int)(uStack40 + uStack48),uStack52 - uStack48,auStack24); - uVar12 = FUN_7f0bdd38((&PTR_s_CcamguardZ_8003de44)[iStack216 * 5]); - uStack224 = ((uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8) + - uStack48 + 0x3f | 0x3f) ^ 0x3f; - uStack48 = (uStack224 + 0xfb | 0x3f) ^ 0x3f; - uStack224 = uStack40 + uStack224; - FUN_7f0762e4(ppuStack28); - FUN_7f0762e4(ppuStack32); - uVar12 = ((int)*(short *)(ppuStack28 + 5) + (int)*(short *)(ppuStack32 + 5) & 0xffU | - (uint)(uint3)((ulonglong) - (longlong) - ((int)*(short *)(ppuStack28 + 5) + (int)*(short *)(ppuStack32 + 5)) >> - 8) << 8) + 10; - uVar4 = (uint3)((ulonglong)(longlong)(int)uVar12 >> 8); - iVar11 = uStack40 + uStack48; - uStack48 = ((uVar12 & 0xff | (uint)uVar4 << 8) * 4 + uStack48 + 0x3f | 0x3f) ^ 0x3f; - FUN_7f07659c(uStack224,ppuStack28,iVar11); - *(undefined2 *)(uStack224 + 2) = - CONCAT11((char)((ulonglong)(longlong)(int)(uVar12 & 0xff | (uint)uVar4 << 8) >> 8), - (char)(uVar12 & 0xff)); - } - else { - ppuStack28 = (ushort **)(&PTR_DAT_8003de40)[iStack212 * 5]; - if (*ppuStack28 == NULL) { - FUN_7f076b3c((longlong)(int)ppuStack28,(&PTR_s_CcamguardZ_8003de44)[iStack212 * 5]); - cVar1 = (&DAT_8003de51)[iStack212 * 0x14]; - } - else { - cVar1 = (&DAT_8003de51)[iStack212 * 0x14]; - } - if (cVar1 == '\0') { - ppuStack32 = (ushort **)(&PTR_DAT_8003de40)[iStack216 * 5]; - if (*ppuStack32 == NULL) { - FUN_7f076b3c((longlong)(int)ppuStack32,(&PTR_s_CcamguardZ_8003de44)[iStack216 * 5]); - } - else { - uStack224 = 0; - } - } - else { - iStack216 = -1; - ppuStack32 = NULL; - } - } - uVar12 = FUN_7f0235d8(iStack212,iStack216,(longlong)(int)ppuStack28,(longlong)(int)ppuStack32,0, - uStack224); - *(uint *)(_DAT_8007a120 + 0xd4) = - uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8; - set_obj_instance_controller_scale - (*(int *)(_DAT_8007a120 + 0xd4), - *(float *)(*(int *)(_DAT_8007a120 + 0xd4) + 0x14) * DAT_8005505c); - puVar3 = *(undefined **)(_DAT_8007a120 + 0xa8); - FUN_7f02026c(puVar3,*(undefined2 **)(_DAT_8007a120 + 0xd4),(float *)(puVar3 + 8),fStack4, - *(undefined4 *)(puVar3 + 0x14),0); - **(undefined **)(_DAT_8007a120 + 0xa8) = 6; - puStack8 = *(undefined2 **)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - *(uint *)(puStack8 + 10) = *(uint *)(puStack8 + 10) | 1; - FUN_7f06d1fc(*(int *)(_DAT_8007a120 + 0xd4),(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 8), - puStack8,&DAT_8007a120); - FUN_7f06d32c(*(int *)(_DAT_8007a120 + 0xd4),fStack4,extraout_a2_lo,extraout_a3_lo); - uVar4 = (uint3)((ulonglong)(longlong)(int)puStack8 >> 8); - *(undefined *)(((uint)puStack8 & 0xff | (uint)uVar4 << 8) + 6) = (char)iStack216; - *(undefined *)(((uint)puStack8 & 0xff | (uint)uVar4 << 8) + 0xf) = (char)iStack212; - lVar6 = def_7F09B27C((longlong)(int)uStack208); - iVar11 = (int)lVar6; - if (-1 < lVar6) { - uVar5 = get_num_players(); - if (uVar5 == 1) { - uVar4 = (uint3)((ulonglong)(longlong)(int)uStack48 >> 8); - puStack60 = (undefined4 *)(uStack40 + (uStack48 & 0xff | (uint)uVar4 << 8)); - uVar12 = (uStack48 & 0xff | (uint)uVar4 << 8) + 199; - uStack48 = (uVar12 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar12 >> 8) << 8 | 0x3f - ) ^ 0x3f; - uVar12 = FUN_7f05d438(1); - lVar6 = (longlong)(int)uVar12; - iVar7 = (int)uVar12 >> 0x1f; - uVar8 = (undefined2)((ulonglong)lVar6 >> 0x10); - uVar9 = (undefined)((ulonglong)lVar6 >> 8); - uVar10 = (undefined)uVar12; - puVar15 = (undefined4 *)(&PTR_DAT_8003a258)[iVar11 * 3]; - ppuStack36 = (ushort **)(uVar12 & 0xff | (uint)(uint3)((ulonglong)lVar6 >> 8) << 8); - *(undefined4 *)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) = *puVar15; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 4) = - puVar15[1]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 8) = - puVar15[2]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 0xc) = - puVar15[3]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 0x10) = - puVar15[4]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 0x14) = - puVar15[5]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 0x18) = - puVar15[6]; - *(undefined4 *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 0x1c) = - puVar15[7]; - loc_7F0764EC(CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10), - (&PTR_s_Palarm1Z_8003a25c)[iVar11 * 3],(longlong)(int)(uStack40 + uStack48), - uStack52 - uStack48,auStack24); - FUN_7f0bdd38((&PTR_s_Palarm1Z_8003a25c)[iVar11 * 3]); - FUN_7f0762e4(ppuStack36); - } - else { - puStack60 = NULL; - ppuStack36 = NULL; - } - loc_7F0523BC(puStack8,iVar11,(char)uStack208,0,puStack60,ppuStack36); - } - FUN_7f023d94((int)puStack8,0.00000000); - } - else { - if (*(int *)(*(int *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 0x1c) + 0x20 - ) == 0) { - *(uint *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 0x14) = - *(uint *)((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10) + 0x14) | 1; - FUN_7f023d94((int)CONCAT71(CONCAT61(CONCAT42(iVar7,uVar8),uVar9),uVar10),0.00000000); - FUN_7f06d1fc(*(int *)(_DAT_8007a120 + 0xd4),(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 8), - extraout_a2_lo_00,extraout_a3_lo_00); - FUN_7f06d32c(*(int *)(_DAT_8007a120 + 0xd4),fStack4,extraout_a2_lo_01,extraout_a3_lo_01); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07aac0(void) - -{ - ulonglong uVar1; - - if ((*(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 4) != 0) && (uVar1 = get_num_players(), uVar1 == 1) - ) { - loc_7F020528(*(int *)(_DAT_8007a120 + 0xa8)); - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0xd4) = 0; - DAT_80036464 = 1; - FUN_7f07e4c0(_DAT_8007a120); - } - return; -} - - - -undefined4 FUN_7f07ab48(void) - -{ - return DAT_800364d4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f07ab54(undefined4 param_1,float *param_2,char *param_3,float *param_4,int param_5, - float param_6) - -{ - longlong lVar1; - uint uVar2; - bool bVar3; - int iVar5; - ulonglong uVar4; - undefined3 in_register_00000018; - undefined4 in_register_0000001b; - int iVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - undefined4 uStack32; - float fStack28; - int iStack24; - float fStack20; - float fStack16; - int iStack8; - - bVar3 = false; - iStack8 = 0; - fVar10 = DAT_80055060; - _DAT_80079a34 = param_1; - do { - fVar11 = *(float *)(_DAT_8007a120 + 0x4b0); - iVar6 = 0; - fStack16 = DAT_80055064 + fVar11; - iVar5 = FUN_7000a460(); - fVar8 = (float)iVar5; - if (iVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar10 = fVar8 * 0.00000000 * fVar10; - do { - if (bVar3) break; - fStack20 = fVar10 + DAT_8005506c; - if (DAT_80055068 <= fStack20) { - fStack20 = fStack20 - DAT_80055068; - } - fStack36 = func_7F057FC4(fStack20); - uStack32 = 0; - fStack28 = FUN_7f0583c0(fStack20); - fStack48 = fStack36 * fStack16 + *param_2; - fStack44 = param_2[1]; - fStack40 = fStack28 * fStack16 + param_2[2]; - FUN_7f0b2874(); - iStack24 = param_5; - uVar4 = FUN_7f03d358(param_3,0); - uVar2 = loc_7F0B13B4(&iStack24,*param_4,param_4[2],fStack48,fStack40,0x13,0.00000000, - 1.00000000,0.00000000,1.00000000); - in_register_00000018 = (undefined3)uVar2; - FUN_7f03d358(param_3,1); - if ((uVar4 & 0xffffffff00000000 | (ulonglong)((uint)uVar4 & 0xffffff00 | uVar2 >> 0x18)) == 0) - { - FUN_7f0265a0(param_4,&fStack36,&fStack48); - fStack16 = sqrtf((fStack48 - *param_4) * (fStack48 - *param_4) + - (fStack40 - param_4[2]) * (fStack40 - param_4[2])); - } - fStack16 = fStack16 - fVar11; - if (((param_6 <= fStack16) && (fVar10 = 1.00000000, true)) && (!bVar3)) { - fVar8 = fStack16 - param_6; - do { - iVar5 = FUN_7000a460(); - fVar7 = (float)iVar5; - if (iVar5 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar7 = fVar7 * 0.00000000 * fVar8 * fVar10 + param_6; - _DAT_80079a28 = fStack36 * fVar7 + *param_2; - _DAT_80079a2c = param_2[1]; - iStack24 = param_5; - _DAT_80079a30 = fStack28 * fVar7 + param_2[2]; - uVar4 = FUN_7f03d358(param_3,0); - uVar2 = loc_7F0B13B4(&iStack24,*param_4,param_4[2],_DAT_80079a28,_DAT_80079a30,0x13, - 0.00000000,1.00000000,0.00000000,1.00000000); - in_register_00000018 = (undefined3)uVar2; - FUN_7f03d358(param_3,1); - if (((uVar4 & 0xffffffff00000000 | (ulonglong)((uint)uVar4 & 0xffffff00 | uVar2 >> 0x18)) - != 0) && - (lVar1 = loc_7F0B1C80(&iStack24,_DAT_80079a28,_DAT_80079a30,fVar11,0x1f,0,0x3f800000), - lVar1 < 0)) { - fVar7 = (float)FUN_7f0b3520(iStack24,_DAT_80079a28,_DAT_80079a30); - iVar5 = FUN_7000a460(); - fVar9 = (float)iVar5; - if (iVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - _DAT_80079a2c = fVar9 * 0.00000000 * (185.00000000 - fVar11) + fVar7 + fVar11; - if ((-1000.00000000 < _DAT_80079a2c - param_2[1]) && - (_DAT_80079a2c - param_2[1] < 1000.00000000)) { - bVar3 = true; - } - } - fVar10 = fVar10 - 0.25000000; - } while ((0.00000000 < fVar10) && (!bVar3)); - } - iVar6 += 1; - fVar10 = fStack20; - } while (iVar6 < 0x10); - iStack8 += 1; - if ((0x80 < iStack8) || (fVar10 = DAT_80055070, bVar3)) { - return CONCAT44(CONCAT13(bVar3,in_register_00000018),in_register_0000001b); - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f07afd8(uint param_1) - -{ - ulonglong uVar1; - int iVar2; - int iVar3; - undefined extraout_v0_lo; - uint uVar4; - undefined4 uVar5; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a0_07; - undefined8 extraout_a1; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - char *pcVar6; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - uint uVar7; - longlong lVar8; - uint uVar9; - uint uVar10; - float fVar11; - float fStack64; - undefined4 uStack60; - undefined4 uStack56; - float fStack48; - undefined4 uStack44; - undefined4 uStack40; - char *pcStack36; - float fStack16; - - DAT_800364d8 = 0; - if (param_1 == 1) { - DAT_800364d4 = param_1; - if (((DAT_80036500 == 0) || (DAT_800364d4 = param_1, iVar3 = FUN_7f0c0908(), iVar3 != 0)) || - (iVar3 = FUN_7f0c08fc(), iVar3 != 0)) { - param_1 = FUN_7f07afd8(3); - } - else { - DAT_800364e4 = 0; - FUN_7f080dc0(0,0,0,0x3f800000); - FUN_7f080e68(0x42700000,0,extraout_a0); - iVar3 = FUN_7000695c(); - param_1 = FUN_7f0bb614(iVar3,1); - *(undefined4 *)(_DAT_8007a120 + 0x34) = 0; - } - } - else { - if (param_1 == 2) { - DAT_800364d4 = param_1; - FUN_7f080dc0(0,0,0,0); - param_1 = FUN_7f080e68(0x42700000,0x3f800000,extraout_a0_00); - } - else { - if (param_1 == 9) { - _DAT_80079e74 = 0; - _DAT_80079e78 = 0xc2b40000; - _DAT_80079e7c = 0; - _DAT_80079e80 = 0x42a00000; - DAT_800364d4 = param_1; - iVar3 = FUN_7000695c(); - param_1 = FUN_7f0bb614(iVar3,0); - } - else { - if (param_1 == 3) { - DAT_800364dc = 0; - DAT_800364d4 = param_1; - FUN_7f080dc0(0,0,0,0x3f800000); - FUN_7f080e68(0x42700000,0,extraout_a0_01); - iVar3 = FUN_7000695c(); - FUN_7f0bb614(iVar3,0); - if (((DAT_800364ec == 0) || (iVar3 = FUN_7f0c0908(), iVar3 != 0)) || - (iVar3 = FUN_7f0c08fc(), iVar3 != 0)) { - param_1 = FUN_7f07afd8(4); - } - else { - DAT_800364e4 = 0; - DAT_800364e8 = 1; - FUN_7f081020(0,0x3f800000); - FUN_7f07a2e0(); - iVar3 = DAT_80036554 * 0x10; - fStack16 = *(float *)(&DAT_80036560 + iVar3); - FUN_7f070298(*(int *)(_DAT_8007a120 + 0xd4), - *(int *)(&DAT_80036558 + iVar3) + _DAT_80069578,0, - *(float *)(&DAT_8003655c + iVar3),*(undefined4 *)(&DAT_80036564 + iVar3), - 0.00000000); - if (0.00000000 < fStack16) { - loc_7F06FE2C(*(int *)(_DAT_8007a120 + 0xd4),fStack16); - } - param_1 = *(uint *)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - *(undefined *)(param_1 + 7) = 0x17; - *(undefined *)(param_1 + 8) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x34) = 0; - } - } - else { - if (param_1 == 4) { - DAT_800364d4 = param_1; - iVar3 = FUN_7000695c(); - if (iVar3 == 0x36) { - FUN_7f080dc0(0,0,0,0x3f800000); - FUN_7f080e68(0,0x3f800000,extraout_a0_02); - } - else { - if (DAT_800364dc != 0) { - FUN_7f080dc0(0,0,0,0x3f800000); - FUN_7f080e68(0x42700000,0,extraout_a0_03); - } - } - uVar1 = get_num_players(); - param_1 = (uint)uVar1; - if (1 < (longlong)uVar1) { - iVar3 = FUN_7000695c(); - param_1 = FUN_7f0bb614(iVar3,0); - } - if (*(int *)(_DAT_8007a120 + 0x1c8) == 0) { - FUN_7f05de34(1,_DAT_80079a24); - param_1 = FUN_7f05de34(0,_DAT_80079a20); - } - DAT_800364e0 = 0; - } - else { - if (param_1 == 5) { - DAT_800364e4 = 0; - DAT_800364e8 = 1; - DAT_800364d4 = param_1; - FUN_7f080dc0(0,0,0,0x3f800000); - FUN_7f080e68(0x42700000,0,extraout_a0_04); - if ((DAT_800364cc == 0) || (DAT_80036490 == NULL)) { - DAT_80036488 = 0; - uVar7 = _DAT_8007a120 + 0x54; - uVar4 = _DAT_8007a120; - uVar9 = _DAT_8007a120; - do { - uVar10 = uVar9 + 0xc; - *(undefined4 *)(uVar4 + 0x488) = *(undefined4 *)(uVar9 + 0x434); - *(undefined4 *)(uVar4 + 0x48c) = *(undefined4 *)(uVar9 + 0x438); - *(undefined4 *)(uVar4 + 0x490) = *(undefined4 *)(uVar9 + 0x43c); - uVar4 = uVar4 + 0xc; - uVar9 = uVar10; - } while (uVar10 != uVar7); - *(undefined4 *)(_DAT_8007a120 + 0x148) = *(undefined4 *)(_DAT_8007a120 + 0x414); - *(undefined4 *)(_DAT_8007a120 + 0x158) = *(undefined4 *)(_DAT_8007a120 + 0x418); - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 8) = - *(undefined4 *)(_DAT_8007a120 + 0x48c); - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 0xc) = - *(undefined4 *)(_DAT_8007a120 + 0x490); - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x10) = - *(undefined4 *)(_DAT_8007a120 + 0x494); - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x14) = - *(undefined4 *)(_DAT_8007a120 + 0x488); - FUN_7f081da0(); - FUN_7f081144(0.00000000,0.00000000,extraout_a0_05,extraout_a1,0.00000000); - FUN_7f081a88(); - FUN_7f081020(0,0x3f800000); - FUN_7f07a2e0(); - uVar5 = sub_7F06F5AC(_DAT_8007a120 + 0x598); - sub_7F06F5B4(_DAT_8007a120 + 0x598); - FUN_7f070298(*(int *)(_DAT_8007a120 + 0xd4),uVar5,extraout_v0_lo,0.00000000, - 0x3f000000,0.00000000); - iVar3 = *(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - *(undefined *)(iVar3 + 7) = 0x18; - *(undefined *)(iVar3 + 8) = 0; - *(uint *)(iVar3 + 0x14) = *(uint *)(iVar3 + 0x14) | 1; - FUN_7f06d1fc(*(int *)(_DAT_8007a120 + 0xd4), - (float *)(*(int *)(_DAT_8007a120 + 0xa8) + 8),extraout_a2_lo, - extraout_a3_lo); - fVar11 = FUN_7f08a61c(); - FUN_7f06d32c(*(int *)(_DAT_8007a120 + 0xd4),fVar11,extraout_a2_lo_00, - extraout_a3_lo_00); - } - if ((DAT_800364cc == 0) || (DAT_80036490 == NULL)) { - fVar11 = 200.00000000; - pcStack36 = *(char **)(_DAT_8007a120 + 0xa8); - fStack48 = *(float *)(_DAT_8007a120 + 0x3c4); - uStack44 = *(undefined4 *)(_DAT_8007a120 + 0x3c8); - uStack40 = *(undefined4 *)(_DAT_8007a120 + 0x3cc); - fStack64 = *(float *)(_DAT_8007a120 + 0x48c); - uStack60 = *(undefined4 *)(_DAT_8007a120 + 0x490); - uStack56 = *(undefined4 *)(_DAT_8007a120 + 0x494); - iVar3 = *(int *)(_DAT_8007a120 + 0x488); - uVar4 = _DAT_8007a120; - pcVar6 = *(char **)(_DAT_8007a120 + 0xa8); - } - else { - pcStack36 = DAT_80036490; - fStack48 = *(float *)(DAT_80036490 + 8); - fVar11 = 500.00000000; - uStack44 = *(undefined4 *)(DAT_80036490 + 0xc); - uStack40 = *(undefined4 *)(DAT_80036490 + 0x10); - fStack64 = *(float *)(DAT_80036490 + 8); - uStack60 = *(undefined4 *)(DAT_80036490 + 0xc); - uStack56 = *(undefined4 *)(DAT_80036490 + 0x10); - iVar3 = *(int *)(DAT_80036490 + 0x14); - uVar4 = DAT_800364cc; - pcVar6 = DAT_80036490; - } - iVar2 = (int)uVar4 >> 0x1f; - lVar8 = FUN_7f07ab54(pcStack36,&fStack48,pcVar6,&fStack64,iVar3,fVar11); - param_1 = uVar4 & 0xffffff00 | (uint)(byte)((ulonglong)lVar8 >> 0x38); - if (CONCAT44(iVar2,param_1) == 0) { - param_1 = run_title_stage(); - } - else { - if (DAT_80036550 == 0) { - FUN_70006e8c(0x2c); - param_1 = FUN_70009248(0x3f000000); - } - if ((DAT_800364cc != 0) && (DAT_80036490 != NULL)) { - uVar5 = get_cur_playernum(); - uVar1 = FUN_7f09cdf0((int)DAT_80036490,(float *)(DAT_80036490 + 8), - *(int *)(DAT_80036490 + 0x14),0xd,0,(char)uVar5, - DAT_80036490 + 0x2c,0); - param_1 = (uint)uVar1; - } - } - } - else { - if (param_1 == 6) { - DAT_800364d4 = param_1; - FUN_7f080dc0(0,0,0,0); - param_1 = FUN_7f080e68(0x42700000,0x3f800000,extraout_a0_06); - } - else { - if (param_1 == 7) { - DAT_800364d4 = param_1; - param_1 = FUN_7f07a2e0(); - *(undefined4 *)(_DAT_8007a120 + 0x34) = 0; - } - else { - if (param_1 == 8) { - DAT_800364d4 = param_1; - param_1 = FUN_7f07aac0(); - DAT_800364d4 = 4; - } - else { - DAT_800364d4 = param_1; - if (param_1 == 10) { - lVar8 = 0; - DAT_800364d4 = param_1; - uVar1 = get_num_players(); - if (0 < (longlong)uVar1) { - do { - FUN_7f09bcac((int)lVar8); - FUN_7f080dc0(0,0,0,0); - FUN_7f080e68(0x42700000,0x3f800000,extraout_a0_07); - lVar8 = (longlong)((int)lVar8 + 1); - uVar1 = get_num_players(); - } while (lVar8 < (longlong)uVar1); - } - param_1 = FUN_7f09bcac(0); - } - } - } - } - } - } - } - } - } - } - return param_1; -} - - - -undefined4 * FUN_7f07b7c4(void) - -{ - bool bVar1; - undefined4 *puVar2; - - puVar2 = DAT_800364d4; - DAT_800364d4 = NULL; - DAT_800364d8 = 0; - if (puVar2 == (undefined4 *)0x1) { - puVar2 = (undefined4 *)FUN_7f07afd8(2); - } - else { - if (puVar2 == (undefined4 *)0x2) { - FUN_7f08aa68(); - puVar2 = (undefined4 *)FUN_7f07afd8(3); - } - else { - if (puVar2 != (undefined4 *)0x9) { - if (puVar2 == (undefined4 *)0x3) { - FUN_7f07aac0(); - FUN_7f081020(0,0x3f800000); - puVar2 = (undefined4 *)FUN_7f07afd8(4); - } - else { - if (puVar2 != (undefined4 *)&DAT_00000004) { - if (puVar2 == (undefined4 *)0x5) { - puVar2 = (undefined4 *)FUN_7f07afd8(6); - } - else { - bVar1 = puVar2 == (undefined4 *)0x6; - puVar2 = (undefined4 *)&DAT_80030000; - if (bVar1) { - puVar2 = &DAT_80036550; - DAT_80036550 += 1; - if (DAT_80036550 < 3) { - puVar2 = (undefined4 *)FUN_7f07afd8(5); - } - } - } - } - } - } - } - } - return puVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07b8c0(int param_1,float param_2,float *param_3,float *param_4) - -{ - uint uVar1; - int iVar2; - uint uVar3; - uint uVar4; - uint uVar5; - undefined *puVar6; - int iVar7; - uint uVar8; - int iVar9; - uint uVar10; - float fVar11; - undefined auStack60 [4]; - float local_38; - float local_30 [3]; - float afStack36 [3]; - float afStack24 [3]; - float afStack12 [3]; - - uVar1 = DAT_800364ec; - iVar9 = DAT_800364ec + param_1 * 0x20; - local_38 = 0.00000000; - fVar11 = *(float *)(iVar9 + 0x18); - puVar6 = auStack60; - iVar7 = -1; - uVar8 = param_1 * 0x20 + DAT_800364ec; - if (0.00000000 < fVar11) { - local_38 = param_2 / fVar11; - } - do { - iVar2 = _DAT_8007a120; - uVar5 = iVar7 * 0x20 + uVar8; - if (iVar7 < 0) { - uVar3 = uVar5; - if (uVar5 < uVar1) { - uVar3 = uVar1; - } -LAB_7f07b974: - uVar5 = *(uint *)(uVar3 + 4); - uVar4 = uVar3; - } - else { - if (uVar8 < uVar5) { - uVar10 = *(uint *)(uVar8 + 0x24); - uVar4 = uVar8; - while ((uVar10 & 1) == 0) { - uVar3 = uVar4 + 0x20; - if (uVar5 <= uVar3) goto LAB_7f07b974; - uVar10 = *(uint *)(uVar4 + 0x44); - uVar4 = uVar3; - } - uVar5 = *(uint *)(uVar4 + 4); - } - else { - uVar5 = *(uint *)(uVar8 + 4); - uVar4 = uVar8; - } - } - iVar7 += 1; - if ((uVar5 & 2) == 0) { - *(undefined4 *)(puVar6 + 0xc) = *(undefined4 *)(uVar4 + 8); - *(undefined4 *)(puVar6 + 0x10) = *(undefined4 *)(uVar4 + 0xc); - *(undefined4 *)(puVar6 + 0x14) = *(undefined4 *)(uVar4 + 0x10); - } - else { - *(float *)(puVar6 + 0xc) = - *(float *)(_DAT_8007a120 + 0x4a0) * *(float *)(uVar4 + 8) + - *(float *)(uVar4 + 0x10) * *(float *)(_DAT_8007a120 + 0x498); - *(undefined4 *)(puVar6 + 0x10) = *(undefined4 *)(uVar4 + 0xc); - *(float *)(puVar6 + 0x14) = - *(float *)(uVar4 + 0x10) * *(float *)(iVar2 + 0x4a0) - - *(float *)(iVar2 + 0x498) * *(float *)(uVar4 + 8); - } - puVar6 = puVar6 + 0xc; - if (iVar7 == 3) { - sub_7F05B024(local_30,afStack36,afStack24,afStack12,local_38,*(float *)(iVar9 + 0x14),param_3) - ; - *param_3 = *param_3 + *(float *)(_DAT_8007a120 + 0x3c4); - param_3[1] = param_3[1] + *(float *)(_DAT_8007a120 + 0x3c8); - param_3[2] = param_3[2] + *(float *)(_DAT_8007a120 + 0x3cc); - *param_4 = *(float *)(_DAT_8007a120 + 0x3c4); - param_4[1] = *(float *)(_DAT_8007a120 + 0x3c8); - param_4[2] = *(float *)(_DAT_8007a120 + 0x3cc); - iVar7 = DAT_800364ec + param_1 * 0x20; - if ((*(uint *)(iVar7 + 4) & 4) == 0) { - if ((*(uint *)(iVar7 + 0x24) & 4) == 0) { - local_38 = 1.00000000; - } - else { - local_38 = 1.00000000 - local_38; - } - } - else { - if ((*(uint *)(iVar7 + 0x24) & 4) != 0) { - local_38 = 0.00000000; - } - } - *param_4 = *param_4 + *(float *)(_DAT_8007a120 + 0x4c0) * 40.00000000 * local_38; - param_4[1] = param_4[1] + *(float *)(_DAT_8007a120 + 0x4c4) * 40.00000000 * local_38; - param_4[2] = param_4[2] + *(float *)(_DAT_8007a120 + 0x4c8) * 40.00000000 * local_38; - return; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07bb8c(undefined4 uParm1,undefined4 uParm2,float *pfParm3,float *pfParm4, - undefined4 uParm5,float *pfParm6,float *pfParm7) - -{ - int iVar2; - ulonglong uVar1; - float *pfVar3; - undefined8 extraout_a0; - uint uVar4; - float in_f0; - float fVar5; - float fVar6; - ushort uStackX2; - ushort uStackX6; - - uStackX6 = (ushort)uParm2; - uStackX2 = (ushort)uParm1; - if ((DAT_800364d4 == 1) || (DAT_800364d4 == 2)) { - if (DAT_800364d4 == 1) { - if ((DAT_800364e4 < 120.00000000) && (120.00000000 <= DAT_800364e4 + DAT_800483b4)) { - FUN_7f08aacc(*(char **)(DAT_80036500 + 0x1c),DAT_80040ee8,DAT_80040ee4); - } - fVar5 = DAT_800364e4 + DAT_800483b4; - if (*(char **)(DAT_80036500 + 0x20) == NULL) { - if (300.00000000 < DAT_800364e4) { - DAT_800364d8 = 1; - } - } - else { - if ((DAT_800364e4 < 300.00000000) && (300.00000000 <= fVar5)) { - FUN_7f08aacc(*(char **)(DAT_80036500 + 0x20),DAT_80040ee8,DAT_80040ee4); - fVar5 = DAT_800364e4 + DAT_800483b4; - } - if (480.00000000 < DAT_800364e4) { - DAT_800364d8 = 1; - } - } - DAT_800364e4 = fVar5; - iVar2 = FUN_7f0c086c(); - if ((iVar2 == 0) && ((uStackX2 & ~uStackX6 & 0xf030) != 0)) { - DAT_800364d8 = 1; - } - } - else { - if (*(float *)(_DAT_8007a120 + 0x3e4) < 0.00000000) { - DAT_800364d8 = 1; - } - } - *pfParm3 = *(float *)(DAT_80036500 + 4); - pfParm3[1] = *(float *)(DAT_80036500 + 8); - pfParm3[2] = *(float *)(DAT_80036500 + 0xc); - fVar5 = FUN_7f0583c0(*(float *)(DAT_80036500 + 0x14)); - fVar6 = func_7F057FC4(*(float *)(DAT_80036500 + 0x10)); - *pfParm4 = fVar6 * fVar5 + *pfParm3; - fVar5 = func_7F057FC4(*(float *)(DAT_80036500 + 0x14)); - pfParm4[1] = fVar5 + pfParm3[1]; - fVar5 = FUN_7f0583c0(*(float *)(DAT_80036500 + 0x14)); - fVar6 = FUN_7f0583c0(*(float *)(DAT_80036500 + 0x10)); - pfParm4[2] = pfParm3[2] - fVar6 * fVar5; - pfVar3 = (float *)(*(int *)(DAT_80036500 + 0x18) * 0x2c + _DAT_80075d58); - *pfParm6 = pfVar3[10]; - *pfParm7 = *pfVar3; - pfParm7[1] = pfVar3[1]; - pfParm7[2] = pfVar3[2]; - } - else { - if (DAT_800364d4 == 9) { - iVar2 = get_cur_playernum(); - iVar2 = FUN_7f09c078(iVar2); - if ((iVar2 == 0) && (iVar2 = 0, 0 < DAT_800483a4)) { - do { - iVar2 += 1; - if (_DAT_80079e78 < DAT_80055074) { - if (_DAT_80079e78 < -20.00000000) { - _DAT_80079e74 = _DAT_80079e74 + DAT_80055078; - } - if (110.00000000 < _DAT_80079e78) { - _DAT_80079e74 = _DAT_80079e74 - DAT_80055078; - } - _DAT_80079e78 = _DAT_80079e78 + _DAT_80079e74; - } - else { - _DAT_80079e78 = 180.00000000; - } - if (80.00000000 < _DAT_80079e78) { - if (60.00000000 < _DAT_80079e80) { - _DAT_80079e7c = _DAT_80079e7c - DAT_80055078; - } - else { - _DAT_80079e7c = _DAT_80079e7c + DAT_8005507c; - } - _DAT_80079e80 = _DAT_80079e80 + _DAT_80079e7c; - if (_DAT_80079e80 < 1.00000000) { - _DAT_80079e80 = 1.00000000; - } - } - } while (iVar2 < DAT_800483a4); - } - fVar6 = ((_DAT_80079e78 - *(float *)(_DAT_8007a120 + 0x148)) * DAT_80055080) / 180.00000000; - fVar5 = func_7F057FC4(fVar6); - *pfParm3 = fVar5 * _DAT_80079e80 + *(float *)(_DAT_8007a120 + 0x4b4); - pfParm3[1] = *(float *)(_DAT_8007a120 + 0x4b8) + _DAT_80079e80 * DAT_80055084; - fVar5 = FUN_7f0583c0(fVar6); - pfParm3[2] = fVar5 * _DAT_80079e80 + *(float *)(_DAT_8007a120 + 0x4bc); - *pfParm4 = *(float *)(_DAT_8007a120 + 0x4b4); - pfParm4[1] = *(float *)(_DAT_8007a120 + 0x4b8); - pfParm4[2] = *(float *)(_DAT_8007a120 + 0x4bc); - *pfParm6 = *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x14); - *pfParm7 = *(float *)(_DAT_8007a120 + 0x4b4); - pfParm7[1] = *(float *)(_DAT_8007a120 + 0x4b8) + _DAT_80079e80 * DAT_80055088; - pfParm7[2] = *(float *)(_DAT_8007a120 + 0x4bc); - if (_DAT_80079e80 < 5.00000000) { - DAT_800364d8 = 1; - } - } - else { - if (DAT_800364d4 == 3) { - DAT_800364e4 = DAT_800364e4 + DAT_800483b4; - iVar2 = DAT_800364ec + DAT_800364e8 * 0x20; - fVar6 = *(float *)(iVar2 + 0x18); - fVar5 = fVar6; - if (fVar6 <= DAT_800364e4) { - uVar4 = *(uint *)(iVar2 + 100); - while ((uVar4 & 1) == 0) { - DAT_800364e4 = DAT_800364e4 - fVar6; - DAT_800364e8 += 1; - iVar2 = DAT_800364ec + DAT_800364e8 * 0x20; - fVar6 = *(float *)(iVar2 + 0x18); - fVar5 = fVar6; - if (DAT_800364e4 < fVar6) goto LAB_7f07c208; - uVar4 = *(uint *)(iVar2 + 100); - } - DAT_800364d8 = 1; - fVar5 = *(float *)(iVar2 + 0x18); - DAT_800364e4 = fVar6; - } -LAB_7f07c208: - iVar2 = DAT_800364ec + (DAT_800364e8 + 1) * 0x20; - uVar4 = *(uint *)(iVar2 + 0x44); - fVar5 = (fVar5 - DAT_800364e4) + 0.00000000; - while ((uVar4 & 1) == 0) { - uVar4 = *(uint *)(iVar2 + 100); - pfVar3 = (float *)(iVar2 + 0x18); - iVar2 += 0x20; - fVar5 = fVar5 + *pfVar3; - } - if ((fVar5 < 30.00000000) && (30.00000000 <= fVar5 + DAT_800483b4)) { - FUN_7f081020(0x41f00000,0); - } - if ((DAT_800364dc != 0) && (uVar1 = FUN_7f080e9c(), uVar1 != 0)) { - DAT_800364d8 = 1; - } - if ((((60.00000000 < fVar5) && (DAT_800364dc == 0)) && (iVar2 = FUN_7f0c086c(), iVar2 == 0)) - && ((uStackX2 & ~uStackX6 & 0xf030) != 0)) { - DAT_800364dc = 1; - FUN_7f080dc0(0,0,0,*(undefined4 *)(_DAT_8007a120 + 0x3dc)); - uVar1 = FUN_7f080e9c(); - if (uVar1 == 0) { - FUN_7f080e68(*(undefined4 *)(_DAT_8007a120 + 0x3e0),0x3f800000,extraout_a0); - } - else { - FUN_7f080e68(0x42700000,0x3f800000,extraout_a0); - } - } - FUN_7f07b8c0(DAT_800364e8,DAT_800364e4,pfParm3,pfParm4); - iVar2 = *(int *)(DAT_800364ec + DAT_800364e8 * 0x20 + 0x1c); - if (iVar2 < 0) { - *pfParm6 = *(float *)(_DAT_8007a120 + 0x488); - *pfParm7 = *(float *)(_DAT_8007a120 + 0x48c); - pfParm7[1] = *(float *)(_DAT_8007a120 + 0x490); - pfParm7[2] = *(float *)(_DAT_8007a120 + 0x494); - } - else { - pfVar3 = (float *)(iVar2 * 0x2c + _DAT_80075d58); - *pfParm6 = pfVar3[10]; - *pfParm7 = *pfVar3; - pfParm7[1] = pfVar3[1]; - pfParm7[2] = pfVar3[2]; - } - } - else { - if ((DAT_800364d4 == 5) || (DAT_800364d4 == 6)) { - if (DAT_800364d4 == 5) { - DAT_800364e4 = DAT_800364e4 + DAT_800483b4; - if (*(int *)(_DAT_8007a120 + 0xd4) == 0) { - if (180.00000000 <= DAT_800364e4) { - DAT_800364d8 = 1; - } - } - else { - sub_7F06F5BC(*(int *)(_DAT_8007a120 + 0xd4)); - fVar5 = locret_7F06F608(*(int *)(_DAT_8007a120 + 0xd4)); - if (fVar5 <= in_f0) { - DAT_800364d8 = 1; - } - } - if ((((uStackX2 & ~uStackX6 & 0xf000) != 0) && (*(int *)(_DAT_8007a120 + 0xd8) != 0)) && - ((*(int *)(_DAT_8007a120 + 0x424) != 0 && (*(int *)(_DAT_8007a120 + 0x428) != 0)))) { - DAT_800364d8 = 1; - DAT_80036550 = 2; - } - } - else { - if (DAT_800364d4 == 6) { - DAT_800364e4 = DAT_800364e4 + DAT_800483b4; - if (*(float *)(_DAT_8007a120 + 0x3e4) < 0.00000000) { - DAT_800364d8 = 1; - } - if (((((uStackX2 & ~uStackX6 & 0xf000) != 0) && (*(int *)(_DAT_8007a120 + 0xd8) != 0)) - && (*(int *)(_DAT_8007a120 + 0x424) != 0)) && - (*(int *)(_DAT_8007a120 + 0x428) != 0)) { - DAT_80036550 = 2; - } - } - } - *pfParm3 = _DAT_80079a28; - pfParm3[1] = _DAT_80079a2c; - pfParm3[2] = _DAT_80079a30; - if (_DAT_80079a34 == *(int *)(_DAT_8007a120 + 0xa8)) { - *pfParm4 = *(float *)(_DAT_8007a120 + 0x3c4); - pfParm4[1] = *(float *)(_DAT_8007a120 + 0x3c8); - pfParm4[2] = *(float *)(_DAT_8007a120 + 0x3cc); - } - else { - *pfParm4 = *(float *)(_DAT_80079a34 + 8); - pfParm4[1] = *(float *)(_DAT_80079a34 + 0xc); - pfParm4[2] = *(float *)(_DAT_80079a34 + 0x10); - } - *pfParm6 = *(float *)(_DAT_8007a120 + 0x488); - *pfParm7 = *(float *)(_DAT_8007a120 + 0x48c); - pfParm7[1] = *(float *)(_DAT_8007a120 + 0x490); - pfParm7[2] = *(float *)(_DAT_8007a120 + 0x494); - } - else { - if (DAT_800364d4 == 7) { - if (_DAT_80079a38 == NULL) { - if (_DAT_80079a3c == 0) { - if (_DAT_80079a54 < 10000) { - pfVar3 = (float *)(_DAT_80079a54 * 0x2c + _DAT_80075d58); - } - else { - pfVar3 = (float *)(_DAT_80079a54 * 0x44 + _DAT_80075d5c + -680000); - } - *pfParm6 = pfVar3[10]; - *pfParm7 = *pfVar3; - pfParm7[1] = pfVar3[1]; - pfParm7[2] = pfVar3[2]; - FUN_7f0583c0(_DAT_80079a40); - *pfParm4 = *pfVar3; - pfParm4[1] = pfVar3[1] + _DAT_80079a50; - func_7F057FC4(_DAT_80079a40); - pfParm4[2] = pfVar3[2]; - fVar5 = func_7F057FC4(_DAT_80079a40); - FUN_7f0583c0(_DAT_80079a40); - *pfParm3 = *pfVar3 + fVar5 * _DAT_80079a48; - pfParm3[1] = pfVar3[1] + _DAT_80079a50 + _DAT_80079a4c; - fVar6 = FUN_7f0583c0(_DAT_80079a40); - func_7F057FC4(_DAT_80079a40); - fVar5 = DAT_8005508c; - pfParm3[2] = pfVar3[2] + fVar6 * _DAT_80079a48; - _DAT_80079a40 = _DAT_80079a40 + _DAT_80079a44 * DAT_800483b4; - while (fVar5 <= _DAT_80079a40) { - _DAT_80079a40 = _DAT_80079a40 - fVar5; - } - while (_DAT_80079a40 < 0.00000000) { - _DAT_80079a40 = _DAT_80079a40 + fVar5; - } - } - else { - iVar2 = *(int *)(_DAT_80079a3c + 0x18); - if (iVar2 < 10000) { - pfVar3 = (float *)(iVar2 * 0x2c + _DAT_80075d58); - } - else { - pfVar3 = (float *)(iVar2 * 0x44 + _DAT_80075d5c + -680000); - } - *pfParm3 = *(float *)(_DAT_80079a3c + 4); - pfParm3[1] = *(float *)(_DAT_80079a3c + 8); - pfParm3[2] = *(float *)(_DAT_80079a3c + 0xc); - *pfParm6 = pfVar3[10]; - *pfParm7 = *pfVar3; - pfParm7[1] = pfVar3[1]; - pfParm7[2] = pfVar3[2]; - if (_DAT_80079a58 == 1) { - *pfParm4 = *(float *)(_DAT_8007a120 + 0x3c4); - pfParm4[1] = *(float *)(_DAT_8007a120 + 0x3c8); - pfParm4[2] = *(float *)(_DAT_8007a120 + 0x3cc); - } - else { - fVar5 = FUN_7f0583c0(*(float *)(_DAT_80079a3c + 0x14)); - fVar6 = func_7F057FC4(*(float *)(_DAT_80079a3c + 0x10)); - *pfParm4 = fVar6 * fVar5 + *pfParm3; - fVar5 = func_7F057FC4(*(float *)(_DAT_80079a3c + 0x14)); - pfParm4[1] = fVar5 + pfParm3[1]; - fVar5 = FUN_7f0583c0(*(float *)(_DAT_80079a3c + 0x14)); - fVar6 = FUN_7f0583c0(*(float *)(_DAT_80079a3c + 0x10)); - pfParm4[2] = pfParm3[2] - fVar6 * fVar5; - } - } - } - else { - *pfParm3 = *_DAT_80079a38; - pfParm3[1] = _DAT_80079a38[1]; - pfParm3[2] = _DAT_80079a38[2]; - *pfParm4 = *(float *)(_DAT_8007a120 + 0x3c4); - pfParm4[1] = *(float *)(_DAT_8007a120 + 0x3c8); - pfParm4[2] = *(float *)(_DAT_8007a120 + 0x3cc); - *pfParm6 = _DAT_80079a38[10]; - *pfParm7 = *_DAT_80079a38; - pfParm7[1] = _DAT_80079a38[1]; - pfParm7[2] = _DAT_80079a38[2]; - } - } - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07cb74(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x118) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07cb94(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x128) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07cba4(void) - -{ - ulonglong uVar1; - - uVar1 = get_num_players(); - if (uVar1 == 1) { - uVar1 = SEXT48(*(int *)(_DAT_8007a120 + 0x128)); - } - else { - uVar1 = (ulonglong)*(byte *)(_DAT_8007a124 + 0x6a); - } - return uVar1; -} - - - -void FUN_7f07cbe4(void) - -{ - FUN_7f07cba4(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f07cc04(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x124); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07cc14(int param_1,undefined4 param_2) - -{ - int iVar1; - - if (*(int *)(_DAT_8007a120 + 0x134) < 0) { - iVar1 = *(int *)(_DAT_8007a120 + 0x130); - } - else { - *(int *)(_DAT_8007a120 + 0x134) = *(int *)(_DAT_8007a120 + 0x134) - DAT_800483a4; - iVar1 = *(int *)(_DAT_8007a120 + 0x130); - } - if (param_1 == iVar1) { - *(undefined4 *)(_DAT_8007a120 + 300) = param_2; - } - else { - if (*(int *)(_DAT_8007a120 + 0x134) < 0) { - *(undefined4 *)(_DAT_8007a120 + 0x134) = 0x1e; - *(int *)(_DAT_8007a120 + 0x130) = param_1; - *(undefined4 *)(_DAT_8007a120 + 300) = param_2; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07cc7c(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x138) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07cc8c(void) - -{ - ulonglong uVar1; - - uVar1 = get_num_players(); - if (uVar1 == 1) { - uVar1 = SEXT48(*(int *)(_DAT_8007a120 + 0x138)); - } - else { - uVar1 = (ulonglong)*(byte *)(_DAT_8007a124 + 0x6a); - } - return uVar1; -} - - - -void FUN_7f07cccc(void) - -{ - FUN_7f07cc8c(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ccec(int param_1,undefined4 param_2) - -{ - int iVar1; - - if (*(int *)(_DAT_8007a120 + 0x144) < 0) { - iVar1 = *(int *)(_DAT_8007a120 + 0x140); - } - else { - *(int *)(_DAT_8007a120 + 0x144) = *(int *)(_DAT_8007a120 + 0x144) - DAT_800483a4; - iVar1 = *(int *)(_DAT_8007a120 + 0x140); - } - if (param_1 == iVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x13c) = param_2; - } - else { - if (*(int *)(_DAT_8007a120 + 0x144) < 0) { - *(undefined4 *)(_DAT_8007a120 + 0x144) = 0x1e; - *(int *)(_DAT_8007a120 + 0x140) = param_1; - *(undefined4 *)(_DAT_8007a120 + 0x13c) = param_2; - } - } - return; -} - - - -void change_player_pos_to_target(undefined4 *param_1,undefined4 *param_2,undefined4 param_3) - -{ - param_1[1] = *param_2; - param_1[2] = param_2[1]; - param_1[3] = param_2[2]; - *param_1 = param_3; - param_1[0x14] = param_3; - param_1[0xf] = 0; - param_1[0x10] = 0; - param_1[0x11] = 0; - param_1[0x13] = 0; - param_1[4] = 0; - param_1[5] = 0; - param_1[0xb] = param_1[1]; - param_1[7] = param_1[1]; - param_1[0xe] = 0x3f800000; - param_1[0x12] = 0x3f800000; - param_1[6] = 0x3f800000; - param_1[0xc] = param_1[2]; - param_1[8] = param_1[2]; - param_1[0xd] = param_1[3]; - param_1[9] = param_1[3]; - param_1[10] = 0x41f00000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07cdd8(void) - -{ - int iVar1; - float afStack76 [16]; - float *local_c; - float *local_8; - - if ((longlong)DAT_80036490 != 0) { - iVar1 = *(int *)(*(int *)(*(int *)(*(int *)(DAT_80036490 + 4) + 0x14) + 8) + 8); - local_8 = *(float **)(*(int *)(iVar1 + 8) + 4); - local_c = *(float **)(*(int *)(iVar1 + 4) + 4); - FUN_7f058b1c(DAT_80055090 - DAT_800364b4,(longlong)DAT_80036490,afStack76); - _DAT_800799e8 = *local_8; - _DAT_800799ec = local_8[1]; - _DAT_800799f0 = local_8[2]; - FUN_7f0588f8(afStack76,(float *)&DAT_800799e8); - _DAT_800799e8 = _DAT_800799e8 + *local_c; - _DAT_800799ec = _DAT_800799ec + local_c[1]; - _DAT_800799f0 = _DAT_800799f0 + local_c[2]; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ceac(float *param_1,float *param_2,float param_3) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - iVar1 = *(int *)(DAT_80036490 + 4); - iVar2 = FUN_7f040378(iVar1); - fVar7 = *(float *)(iVar2 + 4) - _DAT_800799e8; - fVar9 = *(float *)(iVar2 + 8) - _DAT_800799e8; - fVar8 = *(float *)(iVar2 + 0x14) - _DAT_800799f0; - fVar10 = *(float *)(iVar2 + 0x18) - _DAT_800799f0; - fVar3 = FUN_7f0583c0(param_3); - fVar3 = fVar3 * *(float *)(*(int *)(iVar1 + 0x14) + 0x14); - fVar4 = func_7F057FC4(param_3); - fVar4 = fVar4 * *(float *)(*(int *)(iVar1 + 0x14) + 0x14); - fVar5 = -fVar8 * fVar4; - fVar11 = fVar7 * fVar3; - *param_1 = *param_2 + fVar5 + fVar11; - fVar8 = fVar8 * fVar3; - fVar7 = fVar7 * fVar4; - param_1[1] = param_2[2] + fVar8 + fVar7; - fVar6 = fVar9 * fVar3; - param_1[2] = *param_2 + fVar5 + fVar6; - fVar9 = fVar9 * fVar4; - param_1[3] = param_2[2] + fVar8 + fVar9; - fVar4 = -fVar10 * fVar4; - param_1[4] = *param_2 + fVar4 + fVar6; - fVar10 = fVar10 * fVar3; - param_1[5] = param_2[2] + fVar10 + fVar9; - param_1[6] = *param_2 + fVar4 + fVar11; - param_1[7] = param_2[2] + fVar10 + fVar7; - return; -} - - - -void loc_7F07CAB8(int *param_1,float param_2,float param_3,float param_4,float param_5,uint param_6, - float *param_7,undefined4 param_8) - -{ - undefined7 in_register_00000010; - int7 iVar1; - undefined uVar2; - undefined4 uVar3; - - uVar3 = loc_7F0B13B4(param_1,param_2,param_3,param_4,param_5,param_6,0.00000000,1.00000000, - 0.00000000,1.00000000); - if ((CONCAT71(in_register_00000010,(char)((uint)uVar3 >> 0x18)) == 0) && (param_7 != NULL)) { - iVar1 = (int7)(int3)((uint)param_8 >> 8); - uVar2 = (undefined)param_8; - *param_7 = param_2; - param_7[1] = 0.00000000; - param_7[2] = param_3; - *(undefined4 *)((int)CONCAT71(iVar1,uVar2) + 4) = 0; - *(float *)CONCAT71(iVar1,uVar2) = param_4; - *(float *)((int)CONCAT71(iVar1,uVar2) + 8) = param_5; - } - return; -} - - - -uint loc_7F07CD98(float *param_1,int param_2,float param_3,float *param_4,undefined4 param_5) - -{ - undefined4 uVar1; - float *pfVar2; - float *pfVar3; - float *pfVar4; - int3 iVar5; - undefined7 extraout_var; - undefined7 extraout_var_00; - undefined7 extraout_var_01; - undefined7 extraout_var_02; - undefined7 extraout_var_03; - int7 iVar6; - undefined7 extraout_var_04; - undefined uVar7; - uint in_register_00000017; - uint uVar8; - float afStack140 [16]; - float fStack76; - undefined4 uStack72; - float fStack68; - int iStack52; - int iStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - int iStack4; - - iStack44 = 0; - iStack4 = param_2; - FUN_7f07ceac(&fStack40,param_1,param_3); - if (DAT_80036490 == NULL) { - uVar8 = in_register_00000017 & 0xffffff | (int)param_1 << 0x18; - } - else { - FUN_7f03d358(DAT_80036490,0); - uVar8 = in_register_00000017 & 0xffffff | (int)param_1 << 0x18; - } - iVar5 = (int3)((uint)param_1 >> 8); - uVar7 = (undefined)(uVar8 >> 0x18); - loc_7F07CAB8(&iStack4,*(float *)CONCAT71((int7)iVar5,uVar7), - *(float *)((int)CONCAT71((int7)iVar5,uVar7) + 8),fStack40,fStack36,0x213,param_4, - param_5); - if (CONCAT71(extraout_var,(char)(uVar8 >> 0x18)) != 0) { - loc_7F07CAB8(&iStack4,fStack40,fStack36,fStack32,fStack28,0x213,param_4,param_5); - if (CONCAT71(extraout_var_00,(char)(uVar8 >> 0x18)) != 0) { - loc_7F07CAB8(&iStack4,fStack32,fStack28,fStack24,fStack20,0x213,param_4,param_5); - if (CONCAT71(extraout_var_01,(char)(uVar8 >> 0x18)) != 0) { - loc_7F07CAB8(&iStack4,fStack24,fStack20,fStack16,fStack12,0x213,param_4,param_5); - if ((CONCAT71(extraout_var_02,(char)(uVar8 >> 0x18)) != 0) && - (loc_7F07CAB8(&iStack4,fStack16,fStack12,fStack40,fStack36,0x213,param_4,param_5), - CONCAT71(extraout_var_03,(char)(uVar8 >> 0x18)) != 0)) { - iStack44 = 1; - if ((longlong)(int)DAT_80036490 != 0) { - iStack52 = *(int *)(*(int *)(DAT_80036490 + 4) + 0x14); - uVar1 = *(undefined4 *)(*(int *)(iStack52 + 8) + 8); - iVar6 = (int7)(int3)((uint)uVar1 >> 8); - uVar7 = (undefined)uVar1; - pfVar2 = *(float **)(*(int *)((int)CONCAT71(iVar6,uVar7) + 0xc) + 4); - uVar8 = (uint)(uint3)((int)pfVar2 >> 0x1f); - pfVar3 = *(float **)(*(int *)((int)CONCAT71(iVar6,uVar7) + 0x10) + 4); - pfVar4 = *(float **)(*(int *)((int)CONCAT71(iVar6,uVar7) + 8) + 4); - uStack72 = 0; - fStack76 = (*pfVar3 + *pfVar2) - *pfVar4; - param_3 = param_3 + DAT_800364b4; - fStack68 = (pfVar3[2] + pfVar2[2]) - pfVar4[2]; - if (DAT_80055094 <= param_3) { - param_3 = param_3 - DAT_80055094; - } - if (param_3 < 0.00000000) { - param_3 = param_3 + DAT_80055094; - } - FUN_7f058b1c(DAT_80055094 - param_3,(longlong)(int)DAT_80036490,afStack140); - FUN_7f0588f8(afStack140,&fStack76); - iVar6 = (int7)iVar5; - uVar8 = uVar8 & 0xffffff | (int)param_1 << 0x18; - uVar7 = SUB41(param_1,0); - fStack76 = fStack76 * *(float *)(iStack52 + 0x14) + *(float *)CONCAT71(iVar6,uVar7); - fStack68 = fStack68 * *(float *)(iStack52 + 0x14) + - *(float *)((int)CONCAT71(iVar6,uVar7) + 8); - iStack4 = param_2; - loc_7F07CAB8(&iStack4,*(float *)CONCAT71(iVar6,uVar7), - *(float *)((int)CONCAT71(iVar6,uVar7) + 8),fStack76,fStack68,0x213,param_4, - param_5); - if (CONCAT71(extraout_var_04,(char)(uVar8 >> 0x18)) == 0) { - iStack44 = 0; - } - } - } - } - } - } - if (DAT_80036490 != NULL) { - FUN_7f03d358(DAT_80036490,1); - } - return uVar8 & 0xffffff | iStack44 << 0x18; -} - - - -void FUN_7f07d3cc(float *param_1,int param_2,float param_3) - -{ - loc_7F07CD98(param_1,param_2,param_3,NULL,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07d3f8(float *param_1,float param_2,int *param_3) - -{ - int7 iVar1; - undefined7 extraout_var; - undefined uVar2; - undefined4 uVar3; - int iStack4; - - iVar1 = (int7)(int3)((uint)_DAT_8007a120 >> 8); - uVar2 = (undefined)_DAT_8007a120; - iStack4 = *(int *)((int)CONCAT71(iVar1,uVar2) + 0x488); - uVar3 = loc_7F0B13B4(&iStack4,*(float *)((int)CONCAT71(iVar1,uVar2) + 0x48c), - *(float *)((int)CONCAT71(iVar1,uVar2) + 0x494),*param_1,param_1[2],0, - 0.00000000,1.00000000,0.00000000,1.00000000); - uVar2 = (undefined)((uint)uVar3 >> 0x18); - if ((CONCAT71(iVar1,uVar2) != 0) && - (FUN_7f07d3cc(param_1,iStack4,param_2), CONCAT71(extraout_var,uVar2) != 0)) { - *param_3 = iStack4; - } - return; -} - - - -undefined4 FUN_7f07d49c(void) - -{ - return DAT_80036488; -} - - - -undefined4 FUN_7f07d4a8(void) - -{ - if (DAT_80036488 == 1) { - return DAT_80036490; - } - return 0; -} - - - -void FUN_7f07d4d4(float *param_1) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = DAT_800364a4 + DAT_800364b4; - if (DAT_80055098 <= fVar3) { - fVar3 = fVar3 - DAT_80055098; - } - if (fVar3 < 0.00000000) { - fVar3 = fVar3 + DAT_80055098; - } - fVar1 = func_7F057FC4(fVar3); - fVar2 = FUN_7f0583c0(DAT_800364ac); - *param_1 = fVar2 * -fVar1; - fVar1 = func_7F057FC4(DAT_800364ac); - param_1[1] = fVar1; - fVar3 = FUN_7f0583c0(fVar3); - fVar1 = FUN_7f0583c0(DAT_800364ac); - param_1[2] = fVar1 * fVar3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f07d5b0(float *param_1,int *param_2) - -{ - longlong lVar1; - uint uVar2; - undefined4 uVar3; - float *pfVar4; - int iVar5; - char *pcVar6; - undefined4 auStack92 [16]; - uint local_1c; - float local_18; - float local_14; - float local_10; - uint local_c; - int local_8; - undefined4 local_4; - - local_4 = 0; - if ((DAT_80036488 == 1) && (_DAT_800799f8 != 0)) { - uVar3 = FUN_7f07d3f8(param_1,DAT_800364a4,param_2); - return uVar3; - } - local_8 = *(int *)(_DAT_8007a120 + 0x488); - if (DAT_80036508 == 0) { - local_c = 0; - } - else { - local_c = 0x1f; - } - FUN_7f08a9ac(*(int *)(_DAT_8007a120 + 0xa8),&local_18,&local_10,&local_14); - if (DAT_8003648c != NULL) { - FUN_7f03d358(DAT_8003648c,0); - } - FUN_7f03d358(*(char **)(_DAT_8007a120 + 0xa8),0); - pfVar4 = param_1; - uVar2 = loc_7F0B2338(&local_8,*param_1,param_1[2],local_18,auStack92); - local_1c = (uint)pfVar4 & 0xffffff00 | uVar2 >> 0x18; - iVar5 = sub_7F0B239C(auStack92); - if (iVar5 != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x29fc) = 0; - } - iVar5 = (int)param_1 >> 0x1f; - pfVar4 = param_1; - uVar2 = loc_7F0B13B4(&local_8,*(float *)(_DAT_8007a120 + 0x48c),*(float *)(_DAT_8007a120 + 0x494), - *param_1,param_1[2],local_c,local_10,local_14,0.00000000,1.00000000); - if (((CONCAT44(iVar5,(uint)pfVar4 & 0xffffff00 | uVar2 >> 0x18) == 0) || - (lVar1 = loc_7F0B1C80(&local_8,*param_1,param_1[2],local_18,local_c,local_10,local_14), - -1 < lVar1)) || ((*(float *)(_DAT_8007a120 + 0xa0) != -100.00000000 && (-1 < (int)local_1c)))) - { -LAB_7f07d7d8: - if (DAT_80036490 != 0) { - pcVar6 = *(char **)(_DAT_8007a120 + 0xa8); - goto LAB_7f07d824; - } - if (_DAT_8007ba74 == NULL) { - pcVar6 = *(char **)(_DAT_8007a120 + 0xa8); - goto LAB_7f07d824; - } - if (*_DAT_8007ba74 != '\x01') { - pcVar6 = *(char **)(_DAT_8007a120 + 0xa8); - goto LAB_7f07d824; - } - if (*(char *)(*(int *)(_DAT_8007ba74 + 4) + 3) == '-') { - DAT_8003648c = _DAT_8007ba74; - } - } - else { - iVar5 = sub_7F0B23A4((int)auStack92); - if ((iVar5 == 0) && - (lVar1 = FUN_7f0b3268(&local_8,*param_1,param_1[2],local_18, - *(float *)(_DAT_8007a120 + 0x490) + 175.00000000), -1 < lVar1)) - goto LAB_7f07d7d8; - *param_2 = local_8; - local_4 = 1; - } - pcVar6 = *(char **)(_DAT_8007a120 + 0xa8); -LAB_7f07d824: - FUN_7f03d358(pcVar6,1); - if (DAT_8003648c != NULL) { - FUN_7f03d358(DAT_8003648c,1); - } - return local_4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07d858(float *param_1,float *param_2,float *param_3) - -{ - int iVar1; - int iStack4; - - FUN_7f0b2874(); - iVar1 = FUN_7f07d5b0(param_1,&iStack4); - if (iVar1 == 0) { - FUN_7f0b3460(param_2,param_3); - } - else { - *(int *)(_DAT_8007a120 + 0x488) = iStack4; - *(float *)(_DAT_8007a120 + 0x48c) = *param_1; - *(float *)(_DAT_8007a120 + 0x494) = param_1[2]; - } - return (ulonglong)(iVar1 != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f07d8d8(float *param_1,float *param_2,float *param_3,float *param_4,float *param_5) - -{ - int iVar2; - undefined8 uVar1; - float fVar3; - float afStack80 [2]; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - undefined4 uStack44; - undefined4 uStack40; - float fStack36; - float fStack28; - float afStack24 [2]; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - FUN_7f08a9ac(*(int *)(_DAT_8007a120 + 0xa8),afStack80,&fStack8,&uStack12); - fStack72 = *param_1 - *(float *)(_DAT_8007a120 + 0x48c); - fStack48 = afStack80[0]; - fStack68 = param_1[2] - *(float *)(_DAT_8007a120 + 0x494); - uStack44 = *(undefined4 *)(_DAT_8007a120 + 0x48c); - uStack40 = *(undefined4 *)(_DAT_8007a120 + 0x494); - fStack56 = *param_2; - fStack52 = param_2[2]; - fStack64 = *param_3; - fStack60 = param_3[2]; - fStack36 = fStack72; - fStack28 = fStack68; - fVar3 = loc_7F0B37AC(&fStack48,&fStack56,&fStack64,&fStack72); - afStack24[0] = fStack36 * fVar3 * 0.25000000 + *(float *)(_DAT_8007a120 + 0x48c); - fStack16 = fStack28 * fVar3 * 0.25000000 + *(float *)(_DAT_8007a120 + 0x494); - iVar2 = FUN_7f07d5b0(afStack24,&iStack4); - if (iVar2 == 0) { - FUN_7f0b3460(param_4,param_5); - if ((((*param_4 != *param_2) || (param_4[1] != param_2[1])) || (param_4[2] != param_2[2])) || - (((*param_5 != *param_3 || (param_5[1] != param_3[1])) || - (uVar1 = 0xffffffffffffffff, param_5[2] != param_3[2])))) { - uVar1 = 0; - } - } - else { - uVar1 = 1; - *(int *)(_DAT_8007a120 + 0x488) = iStack4; - *(float *)(_DAT_8007a120 + 0x48c) = afStack24[0]; - *(float *)(_DAT_8007a120 + 0x494) = fStack16; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f07dae4(float *param_1,float *param_2,float *param_3) - -{ - int iVar2; - undefined8 uVar1; - float fVar3; - int local_2c; - float local_28 [2]; - float local_20; - float local_1c; - float local_14; - float local_c; - float local_4; - - local_c = *param_1 - *(float *)(_DAT_8007a120 + 0x48c); - local_4 = param_1[2] - *(float *)(_DAT_8007a120 + 0x494); - if ((*param_2 != *param_3) || (uVar1 = 0xffffffffffffffff, param_2[2] != param_3[2])) { - local_1c = *param_3 - *param_2; - local_14 = param_3[2] - param_2[2]; - fVar3 = sqrtf(local_14 * local_14 + local_1c * local_1c); - local_1c = local_1c * (1.00000000 / fVar3); - local_14 = local_14 * (1.00000000 / fVar3); - fVar3 = local_14 * local_4 + local_c * local_1c; - local_28[0] = local_1c * fVar3 + *(float *)(_DAT_8007a120 + 0x48c); - local_20 = local_14 * fVar3 + *(float *)(_DAT_8007a120 + 0x494); - iVar2 = FUN_7f07d5b0(local_28,&local_2c); - if (iVar2 == 0) { - uVar1 = 0; - } - else { - uVar1 = 1; - *(int *)(_DAT_8007a120 + 0x488) = local_2c; - *(float *)(_DAT_8007a120 + 0x48c) = local_28[0]; - *(float *)(_DAT_8007a120 + 0x494) = local_20; - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f07dc40(float *param_1,float *param_2,float *param_3) - -{ - int iVar1; - float fVar2; - float fStack56; - int aiStack52 [2]; - undefined4 uStack44; - float fStack40; - float afStack36 [2]; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - float fStack4; - - FUN_7f08a9ac(*(int *)(_DAT_8007a120 + 0xa8),&fStack56,&fStack40,&uStack44); - fStack12 = *param_1 - *(float *)(_DAT_8007a120 + 0x48c); - fStack4 = param_1[2] - *(float *)(_DAT_8007a120 + 0x494); - if ((param_2[2] - param_1[2]) * (param_2[2] - param_1[2]) + - (*param_2 - *param_1) * (*param_2 - *param_1) <= fStack56 * fStack56) { - if (*param_2 == *(float *)(_DAT_8007a120 + 0x48c)) { - if (param_2[2] == *(float *)(_DAT_8007a120 + 0x494)) { - return 0; - } - fVar2 = param_2[2]; - } - else { - fVar2 = param_2[2]; - } - fStack24 = -(fVar2 - *(float *)(_DAT_8007a120 + 0x494)); - fStack16 = *param_2 - *(float *)(_DAT_8007a120 + 0x48c); - fVar2 = sqrtf(fStack16 * fStack16 + fStack24 * fStack24); - fStack24 = fStack24 * (1.00000000 / fVar2); - fStack16 = fStack16 * (1.00000000 / fVar2); - fVar2 = fStack16 * fStack4 + fStack12 * fStack24; - fStack24 = fStack24 * fVar2; - fStack16 = fStack16 * fVar2; - afStack36[0] = fStack24 + *(float *)(_DAT_8007a120 + 0x48c); - fStack28 = fStack16 + *(float *)(_DAT_8007a120 + 0x494); - iVar1 = FUN_7f07d5b0(afStack36,aiStack52); - if (iVar1 != 0) { - *(int *)(_DAT_8007a120 + 0x488) = aiStack52[0]; - *(float *)(_DAT_8007a120 + 0x48c) = afStack36[0]; - *(float *)(_DAT_8007a120 + 0x494) = fStack28; - return 1; - } - } - else { - if ((param_3[2] - param_1[2]) * (param_3[2] - param_1[2]) + - (*param_3 - *param_1) * (*param_3 - *param_1) <= fStack56 * fStack56) { - if (*param_3 == *(float *)(_DAT_8007a120 + 0x48c)) { - if (param_3[2] == *(float *)(_DAT_8007a120 + 0x494)) { - return 0; - } - fVar2 = param_3[2]; - } - else { - fVar2 = param_3[2]; - } - fStack24 = -(fVar2 - *(float *)(_DAT_8007a120 + 0x494)); - fStack16 = *param_3 - *(float *)(_DAT_8007a120 + 0x48c); - fVar2 = sqrtf(fStack16 * fStack16 + fStack24 * fStack24); - fStack24 = fStack24 * (1.00000000 / fVar2); - fStack16 = fStack16 * (1.00000000 / fVar2); - fVar2 = fStack16 * fStack4 + fStack12 * fStack24; - fStack24 = fStack24 * fVar2; - fStack16 = fStack16 * fVar2; - afStack36[0] = fStack24 + *(float *)(_DAT_8007a120 + 0x48c); - fStack28 = fStack16 + *(float *)(_DAT_8007a120 + 0x494); - iVar1 = FUN_7f07d5b0(afStack36,aiStack52); - if (iVar1 != 0) { - *(int *)(_DAT_8007a120 + 0x488) = aiStack52[0]; - *(float *)(_DAT_8007a120 + 0x48c) = afStack36[0]; - *(float *)(_DAT_8007a120 + 0x494) = fStack28; - return 1; - } - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07df84(float *param_1,int param_2) - -{ - short sVar1; - longlong lVar2; - ulonglong uVar3; - undefined8 uVar4; - int iVar5; - uint uVar6; - int iVar7; - uint uVar8; - uint uVar9; - int iVar10; - uint uVar11; - int iVar12; - float fVar13; - float fVar14; - float fVar15; - float afStack116 [3]; - float afStack104 [4]; - float afStack88 [3]; - float afStack76 [3]; - float local_40; - int local_3c; - uint local_2c; - float *local_28; - float afStack36 [3]; - float afStack24 [3]; - float local_c [2]; - float local_4; - - *(undefined4 *)(_DAT_8007a120 + 0x408) = *(undefined4 *)(_DAT_8007a120 + 0x48c); - *(undefined4 *)(_DAT_8007a120 + 0x40c) = *(undefined4 *)(_DAT_8007a120 + 0x490); - *(undefined4 *)(_DAT_8007a120 + 0x410) = *(undefined4 *)(_DAT_8007a120 + 0x494); - local_c[0] = *param_1 + *(float *)(_DAT_8007a120 + 0x48c); - DAT_800364c0 = 0; - local_4 = param_1[2] + *(float *)(_DAT_8007a120 + 0x494); - *(undefined4 *)(_DAT_8007a120 + 0x29fc) = 2; - if (DAT_8003648c == NULL) goto LAB_7f07e214; - FUN_7f03cfb0(DAT_8003648c,(int **)&local_28,&local_2c); - if (((DAT_80036488 != 1) && - (lVar2 = loc_7F03CF7C((float *)(_DAT_8007a120 + 0x48c),local_28,local_2c), lVar2 == 0)) && - (lVar2 = loc_7F044870((longlong)(int)(_DAT_8007a120 + 0x48c), - (longlong)*(int *)(_DAT_8007a120 + 0x4b0),local_28,local_2c), lVar2 == 0) - ) { - if (DAT_80036490 != NULL) { - DAT_8003648c = NULL; - DAT_80036490 = NULL; - DAT_80036494 = 0.00000000; - } - goto LAB_7f07e214; - } - iVar12 = *(int *)(DAT_8003648c + 4); - iVar10 = *(int *)(*(int *)(*(int *)(iVar12 + 0x14) + 8) + 8); - iVar5 = *(int *)(*(int *)(iVar10 + 0x14) + 4); - iVar10 = *(int *)(*(int *)(iVar10 + 0x18) + 4); - DAT_80036490 = DAT_8003648c; - fVar13 = *(float *)(*(int *)(iVar12 + 0x14) + 0x14); - fVar14 = (*(float *)(iVar5 + 0x10) - *(float *)(iVar5 + 0xc)) * fVar13; - if (DAT_80036488 == 1) { - fVar15 = *(float *)(iVar10 + 0x10); -LAB_7f07e0fc: - DAT_800364c0 = 1; - fVar14 = fVar14 + (fVar15 - *(float *)(iVar10 + 0xc)) * fVar13; - } - else { - local_40 = fVar14; - local_3c = iVar10; - lVar2 = loc_7F03CF7C((float *)(_DAT_8007a120 + 0x48c),(float *)(iVar12 + 0x84), - *(uint *)(iVar12 + 0x80)); - fVar14 = local_40; - if (lVar2 != 0) { - fVar13 = *(float *)(*(int *)(iVar12 + 0x14) + 0x14); - fVar15 = *(float *)(local_3c + 0x10); - fVar14 = local_40; - iVar10 = local_3c; - goto LAB_7f07e0fc; - } - } - if (((DAT_80036488 == 0) && (DAT_80036494 < fVar14)) && - (DAT_80036494 = DAT_80036494 + DAT_800483b4 * 20.00000000, DAT_80036494 <= fVar14)) { - return; - } - DAT_80036494 = fVar14; - if (DAT_80036488 == 1) { - if (_DAT_800799f8 == 0) { - DAT_80036494 = fVar14 + (1.00000000 - _DAT_80079a00) * -37.00000000; - } - else { - DAT_80036494 = fVar14 + -37.00000000; - } - } -LAB_7f07e214: - uVar3 = FUN_7f07d858(local_c,afStack24,afStack36); - if (uVar3 == 0) { - lVar2 = FUN_7f07d8d8(local_c,afStack24,afStack36,afStack76,afStack88); - if ((lVar2 < 1) && (-1 < lVar2)) { - if (lVar2 == 0) { - FUN_7f07d8d8(local_c,afStack76,afStack88,afStack104,afStack116); - if ((((param_2 != 0) && (lVar2 = FUN_7f07dae4(local_c,afStack76,afStack88), lVar2 < 1)) && - (lVar2 = FUN_7f07dae4(local_c,afStack24,afStack36), lVar2 < 1)) && - (lVar2 = FUN_7f07dc40(local_c,afStack76,afStack88), lVar2 == 0)) { - FUN_7f07dc40(local_c,afStack24,afStack36); - } - } - } - else { - if ((param_2 != 0) && (lVar2 = FUN_7f07dae4(local_c,afStack24,afStack36), lVar2 < 1)) { - FUN_7f07dc40(local_c,afStack24,afStack36); - } - } - } - iVar12 = (int)_DAT_8007a120 >> 0x1f; - uVar8 = _DAT_8007a120; - uVar4 = FUN_7f0b10c8(*(int *)(_DAT_8007a120 + 0x488),*(float *)(_DAT_8007a120 + 0x48c), - *(float *)(_DAT_8007a120 + 0x494)); - if (CONCAT44(iVar12,uVar8 & 0xffffff00 | (uint)(byte)((ulonglong)uVar4 >> 0x38)) != 0) { -LAB_7f07e44c: - FUN_7f07e4c0(_DAT_8007a120); - if (*(int *)(_DAT_8007a120 + 0x488) != 0) { - FUN_7f057c60((ulonglong)*(byte *)(*(int *)(_DAT_8007a120 + 0x488) + 3)); - } - return; - } - iVar10 = 0; - iVar12 = *(int *)(_DAT_8007a120 + 0x488); - sVar1 = *(short *)(iVar12 + 6); - do { - uVar8 = 0; - uVar6 = (int)sVar1 >> 0xc & 0xf; - if (uVar6 != 0) { - iVar7 = 0; - iVar5 = iVar12; - do { - iVar7 += 8; - if ((int)(uint)*(ushort *)(iVar5 + 0xe) >> 4 != 0) { - uVar8 += 1; - } - iVar5 += 8; - } while (iVar7 < (int)(uVar6 << 3)); - } - uVar6 = FUN_7000a460(); - iVar5 = 0; - uVar11 = (int)*(short *)(iVar12 + 6) >> 0xc & 0xf; - if (uVar8 == 0) { - trap(0x1c00); - } - uVar9 = 0; - iVar7 = iVar12; - if (uVar11 != 0) { - do { - iVar5 += 1; - if ((int)(uint)*(ushort *)(iVar7 + 0xe) >> 4 != 0) { - if (uVar9 == uVar6 % uVar8) { - iVar12 = (uint)*(ushort *)(iVar7 + 0xe) * 8 + DAT_80040f88; - break; - } - uVar9 += 1; - } - iVar7 = iVar7 + 8; - } while (iVar5 < (int)uVar11); - } - iVar5 = (int)_DAT_8007a120 >> 0x1f; - uVar8 = _DAT_8007a120; - uVar4 = FUN_7f0b10c8(iVar12,*(float *)(_DAT_8007a120 + 0x48c),*(float *)(_DAT_8007a120 + 0x494)) - ; - if (CONCAT44(iVar5,uVar8 & 0xffffff00 | (uint)(byte)((ulonglong)uVar4 >> 0x38)) != 0) { - *(int *)(_DAT_8007a120 + 0x488) = iVar12; - goto LAB_7f07e44c; - } - iVar10 += 1; - if (iVar10 == 5) goto LAB_7f07e44c; - sVar1 = *(short *)(iVar12 + 6); - } while( true ); -} - - - -void FUN_7f07e488(int param_1) - -{ - loc_7F03E128(*(int *)(param_1 + 0xa8),*(short *)(param_1 + 0x2a04)); - *(undefined2 *)(param_1 + 0x2a04) = 0xffff; - return; -} - - - -void FUN_7f07e4c0(int param_1) - -{ - int iVar1; - - FUN_7f07e488(param_1); - iVar1 = *(int *)(*(int *)(param_1 + 0xa8) + 4); - if (iVar1 == 0) { - if (*(int *)(param_1 + 0x488) != 0) { - *(ushort *)(param_1 + 0x2a04) = (ushort)*(byte *)(*(int *)(param_1 + 0x488) + 3); - loc_7F03DE80(*(int *)(param_1 + 0xa8),*(short *)(param_1 + 0x2a04)); - } - } - else { - sub_7F020D94(iVar1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e520(void) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x204) = *(undefined4 *)(_DAT_8007a120 + 0x158); - *(undefined4 *)(_DAT_8007a120 + 0x210) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x218) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f07e54c(longlong param_1) - -{ - float fVar1; - - if (param_1 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x208) = *(undefined4 *)(_DAT_8007a120 + 0x204); - *(undefined4 *)(_DAT_8007a120 + 0x20c) = *(undefined4 *)(_DAT_8007a120 + 0x158); - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x208) = *(undefined4 *)(_DAT_8007a120 + 0x158); - *(undefined4 *)(_DAT_8007a120 + 0x20c) = 0xc2200000; - } - fVar1 = *(float *)(_DAT_8007a120 + 0x208) - *(float *)(_DAT_8007a120 + 0x20c); - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - if (60.00000000 <= fVar1) { - return ((fVar1 - 60.00000000) * 60.00000000 * 0.50000000) / 60.00000000 + 60.00000000; - } - if (fVar1 <= 0.00000000) { - return 0.00000000; - } - return (fVar1 * 60.00000000) / 60.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e634(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x210) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x214) = param_1; - *(undefined4 *)(_DAT_8007a120 + 0x218) = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e660(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x210) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x214) = param_1; - *(undefined4 *)(_DAT_8007a120 + 0x218) = 2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07e68c(void) - -{ - return (ulonglong)(*(int *)(_DAT_8007a120 + 0x218) != 0 && *(int *)(_DAT_8007a120 + 0x218) != 3); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07e6b4(void) - -{ - float fVar1; - float fVar2; - - fVar2 = *(float *)(_DAT_8007a120 + 0x158); - if (*(int *)(_DAT_8007a120 + 0x218) == 1) { - *(float *)(_DAT_8007a120 + 0x210) = - *(float *)(_DAT_8007a120 + 0x210) + DAT_800483b4 * DAT_800365e8; - if (*(float *)(_DAT_8007a120 + 0x210) < *(float *)(_DAT_8007a120 + 0x214)) { - fVar1 = FUN_7f0583c0((*(float *)(_DAT_8007a120 + 0x210) / *(float *)(_DAT_8007a120 + 0x214)) * - DAT_8005509c * 0.50000000); - *(float *)(_DAT_8007a120 + 0x158) = - *(float *)(_DAT_8007a120 + 0x208) + - (*(float *)(_DAT_8007a120 + 0x20c) - *(float *)(_DAT_8007a120 + 0x208)) * - (1.00000000 - fVar1) * 0.50000000; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x158) = *(undefined4 *)(_DAT_8007a120 + 0x20c); - *(undefined4 *)(_DAT_8007a120 + 0x218) = 3; - } - fVar1 = *(float *)(_DAT_8007a120 + 0x158); - } - else { - fVar1 = fVar2; - if (*(int *)(_DAT_8007a120 + 0x218) == 2) { - *(float *)(_DAT_8007a120 + 0x210) = - *(float *)(_DAT_8007a120 + 0x210) + DAT_800483b4 * DAT_800365e8; - if (*(float *)(_DAT_8007a120 + 0x210) < *(float *)(_DAT_8007a120 + 0x214)) { - fVar1 = FUN_7f0583c0((*(float *)(_DAT_8007a120 + 0x210) / *(float *)(_DAT_8007a120 + 0x214)) - * DAT_800550a0 * 0.50000000); - *(float *)(_DAT_8007a120 + 0x158) = - *(float *)(_DAT_8007a120 + 0x20c) + - (*(float *)(_DAT_8007a120 + 0x208) - *(float *)(_DAT_8007a120 + 0x20c)) * - (1.00000000 - fVar1) * 0.50000000; - fVar1 = *(float *)(_DAT_8007a120 + 0x158); - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x158) = *(undefined4 *)(_DAT_8007a120 + 0x208); - *(undefined4 *)(_DAT_8007a120 + 0x218) = 0; - fVar1 = *(float *)(_DAT_8007a120 + 0x158); - } - } - } - if (fVar1 < -180.00000000) { - *(float *)(_DAT_8007a120 + 0x158) = fVar1 + 360.00000000; - } - else { - if (180.00000000 <= fVar1) { - *(float *)(_DAT_8007a120 + 0x158) = fVar1 - 360.00000000; - } - } - if (0 < DAT_800483a4) { - *(float *)(_DAT_8007a120 + 0x160) = *(float *)(_DAT_8007a120 + 0x158) - fVar2; - fVar2 = *(float *)(_DAT_8007a120 + 0x160); - if (fVar2 < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x160) = fVar2 + 360.00000000; - fVar2 = *(float *)(_DAT_8007a120 + 0x160); - } - if (180.00000000 < fVar2) { - *(float *)(_DAT_8007a120 + 0x160) = fVar2 - 360.00000000; - fVar2 = *(float *)(_DAT_8007a120 + 0x160); - } - fVar1 = DAT_800550a4; - *(float *)(_DAT_8007a120 + 0x160) = fVar2 / (DAT_800483b4 + DAT_800483b4); - if (*(float *)(_DAT_8007a120 + 0x160) < fVar1) { - *(float *)(_DAT_8007a120 + 0x160) = fVar1; - } - else { - if (DAT_800550a8 < *(float *)(_DAT_8007a120 + 0x160)) { - *(float *)(_DAT_8007a120 + 0x160) = DAT_800550a8; - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ea24(undefined4 param_1,undefined4 param_2) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x11bc) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x11c0) = param_2; - *(undefined4 *)(_DAT_8007a120 + 0x11c8) = *(undefined4 *)(_DAT_8007a120 + 0x11c4); - *(undefined4 *)(_DAT_8007a120 + 0x11cc) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f07ea5c(void) - -{ - if (*(float *)(_DAT_8007a120 + 0x11c0) <= *(float *)(_DAT_8007a120 + 0x11bc)) { - return _DAT_8007a120; - } - return _DAT_8007a120; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f07ea90(float fParm1) - -{ - undefined4 uVar1; - float in_f0; - float fVar2; - - uVar1 = FUN_7f07ea5c(); - if (in_f0 != fParm1) { - fVar2 = *(float *)(_DAT_8007a120 + 0x11c4); - if (fParm1 < fVar2) { - uVar1 = FUN_7f07ea24(fParm1,((fVar2 - fParm1) * 15.00000000) / 30.00000000); - } - else { - uVar1 = FUN_7f07ea24(fParm1,((fParm1 - fVar2) * 15.00000000) / 30.00000000); - } - } - return uVar1; -} - - - -void FUN_7f07eb28(void) - -{ - FUN_7f07ea90(0x42700000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07eb50(void) - -{ - float fVar1; - - fVar1 = ((DAT_800550ac - *(float *)(_DAT_8007a120 + 0x11c4)) * 45.00000000) / DAT_800550b0; - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - FUN_7f07ea24(DAT_800550ac,fVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ebb8(void) - -{ - float fVar1; - - fVar1 = ((60.00000000 - *(float *)(_DAT_8007a120 + 0x11c4)) * 45.00000000) / DAT_800550b4; - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - FUN_7f07ea24(0x42700000,fVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f07ec20(void) - -{ - return (ulonglong)(*(float *)(_DAT_8007a120 + 0x11bc) < *(float *)(_DAT_8007a120 + 0x11c0)); -} - - - -// WARNING: Instruction at (ram,0x7f07ec90) overlaps instruction at (ram,0x7f07ec8c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ec50(void) - -{ - undefined8 extraout_a1; - float fVar1; - float fVar2; - float fVar3; - - fVar2 = *(float *)(_DAT_8007a120 + 0x11bc); - if (*(float *)(_DAT_8007a120 + 0x11c0) <= fVar2) { - *(float *)(_DAT_8007a120 + 0x11bc) = *(float *)(_DAT_8007a120 + 0x11c0); - *(undefined4 *)(_DAT_8007a120 + 0x11c4) = *(undefined4 *)(_DAT_8007a120 + 0x11cc); - } - else { - if ((*(int *)(_DAT_8007a120 + 0x1c8) == 5) || (*(int *)(_DAT_8007a120 + 0x1c8) == 0xc)) { - *(float *)(_DAT_8007a120 + 0x11bc) = fVar2 + DAT_800484d0; - } - else { - *(float *)(_DAT_8007a120 + 0x11bc) = fVar2 + DAT_800484d0 * DAT_800365e8; - } - fVar2 = *(float *)(_DAT_8007a120 + 0x11c0); - fVar3 = *(float *)(_DAT_8007a120 + 0x11bc); - if (fVar2 < fVar3) { - *(float *)(_DAT_8007a120 + 0x11bc) = fVar2; - fVar3 = *(float *)(_DAT_8007a120 + 0x11bc); - fVar2 = *(float *)(_DAT_8007a120 + 0x11c0); - fVar1 = *(float *)(_DAT_8007a120 + 0x11c8); - } - else { - fVar1 = *(float *)(_DAT_8007a120 + 0x11c8); - } - *(float *)(_DAT_8007a120 + 0x11c4) = - fVar1 + (fVar3 * (*(float *)(_DAT_8007a120 + 0x11cc) - fVar1)) / fVar2; - } - FUN_7f09bdb4(*(undefined4 *)(_DAT_8007a120 + 0x11c4)); - FUN_70004544(*(undefined4 *)(_DAT_8007a120 + 0x11c4),ZEXT48(&DAT_8007a120),extraout_a1); - return; -} - - - -// WARNING: Instruction at (ram,0x7f07edb8) overlaps instruction at (ram,0x7f07edb4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f07ed4c(void) - -{ - int iVar1; - - iVar1 = *(int *)(_DAT_8007a120 + 0x1c8); - if (iVar1 == 4) { - return ((45.00000000 - *(float *)(_DAT_8007a120 + 0x11c0)) + *(float *)(_DAT_8007a120 + 0x11bc)) - / 45.00000000; - } - if (iVar1 == 6) { - return (*(float *)(_DAT_8007a120 + 0x11c0) - *(float *)(_DAT_8007a120 + 0x11bc)) / 45.00000000; - } - if ((iVar1 != 5) && (iVar1 != 0xc)) { - return 0.00000000; - } - return 1.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07edd8(void) - -{ - ushort **ppuVar1; - - ppuVar1 = (ushort **)FUN_7f05d438(1); - FUN_7f0762e4(ppuVar1); - if (0x32 < *(short *)(ppuVar1 + 5)) { - FUN_7f06ca5c(); - } - FUN_7f07659c(_DAT_8007a120 + 0x230,ppuVar1,_DAT_8007a120 + 0x2ec); - set_obj_instance_controller_scale(_DAT_8007a120 + 0x230,DAT_8003e17c * DAT_800550b8); - FUN_7f070298(_DAT_8007a120 + 0x230,_DAT_80069578 + 0x42c8,0,0.00000000,DAT_800365e8 * 0.50000000, - 0.00000000); - *(undefined4 *)(_DAT_8007a120 + 0x220) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07eebc(float param_1) - -{ - if (*(int *)(_DAT_8007a120 + 0x220) == 0) { - *(float *)(_DAT_8007a120 + 0x22c) = 20.00000000 / param_1; - } - else { - *(float *)(_DAT_8007a120 + 0x22c) = (20.00000000 - *(float *)(_DAT_8007a120 + 600)) / param_1; - } - *(undefined4 *)(_DAT_8007a120 + 0x220) = 1; - *(float *)(_DAT_8007a120 + 0x228) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ef1c(float param_1) - -{ - if (*(int *)(_DAT_8007a120 + 0x220) == 3) { - *(float *)(_DAT_8007a120 + 0x22c) = 20.00000000 / param_1; - } - else { - *(float *)(_DAT_8007a120 + 0x22c) = *(float *)(_DAT_8007a120 + 600) / param_1; - } - *(undefined4 *)(_DAT_8007a120 + 0x220) = 2; - *(float *)(_DAT_8007a120 + 0x228) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07ef70(void) - -{ - int iVar1; - - iVar1 = *(int *)(_DAT_8007a120 + 0x220); - if ((iVar1 != 0) && (iVar1 != 3)) { - if (iVar1 == 1) { - *(float *)(_DAT_8007a120 + 0x224) = - *(float *)(_DAT_8007a120 + 0x224) + - DAT_800483b4 * DAT_800365e8 * *(float *)(_DAT_8007a120 + 0x22c); - if (20.00000000 < *(float *)(_DAT_8007a120 + 0x224)) { - *(undefined4 *)(_DAT_8007a120 + 0x224) = 0x41a00000; - *(undefined4 *)(_DAT_8007a120 + 0x220) = 3; - } - } - else { - if ((iVar1 == 2) && - (*(float *)(_DAT_8007a120 + 0x224) = - *(float *)(_DAT_8007a120 + 0x224) - - DAT_800483b4 * DAT_800365e8 * *(float *)(_DAT_8007a120 + 0x22c), - *(float *)(_DAT_8007a120 + 0x224) < 0.00000000)) { - *(undefined4 *)(_DAT_8007a120 + 0x224) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x220) = 0; - } - } - FUN_7f070680(_DAT_8007a120 + 0x230,*(float *)(_DAT_8007a120 + 0x224),0.00000000); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f07f0a0) overlaps instruction at (ram,0x7f07f09c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f07f084(void) - -{ - int iVar1; - - iVar1 = *(int *)(_DAT_8007a120 + 0x220); - if ((iVar1 != 1) && (iVar1 != 2)) { - if (iVar1 != 3) { - return 0.00000000; - } - return 1.00000000; - } - return *(float *)(_DAT_8007a120 + 0x224) / 20.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07f0dc(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x1cc) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07f0fc(void) - -{ - char cVar1; - int iVar2; - ulonglong uVar3; - int iVar4; - int *piVar5; - int iVar6; - char *pcVar7; - - FUN_7f0562e8(); - FUN_7f0563f4(); - iVar6 = 0; - do { - iVar4 = _DAT_8007a120 + iVar6; - iVar2 = *(int *)(iVar4 + 0xa44); - if ((iVar2 != 0) && (uVar3 = locret_70008E00(iVar2), uVar3 != 0)) { - loc_7000905C(*(int *)(iVar4 + 0xa44)); - } - iVar6 += 0x3a8; - } while (iVar6 < 0x750); - piVar5 = &DAT_80036498; - iVar6 = DAT_80036498; - while( true ) { - if ((iVar6 != 0) && (uVar3 = locret_70008E00(iVar6), uVar3 != 0)) { - loc_7000905C(*piVar5); - } - piVar5 = piVar5 + 1; - if (piVar5 == &DAT_800364a0) break; - iVar6 = *piVar5; - } - pcVar7 = (char *)FUN_7f03a724(); - if (pcVar7 == NULL) { - return; - } - cVar1 = *pcVar7; - do { - if (cVar1 == '\x02') { -LAB_7f07f240: - pcVar7 = *(char **)(pcVar7 + 0x24); - } - else { - if (cVar1 == '\x01') { - iVar6 = *(int *)(pcVar7 + 4); - if (*(char *)(iVar6 + 3) == '\'') { - if (*(int *)(iVar6 + 0xac) == 0) { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - else { - uVar3 = locret_70008E00(*(int *)(iVar6 + 0xac)); - if (uVar3 == 0) { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - else { - loc_7000905C(*(int *)(iVar6 + 0xac)); - pcVar7 = *(char **)(pcVar7 + 0x24); - } - } - } - else { - if (*(char *)(iVar6 + 3) == '(') { - if (*(int *)(iVar6 + 0xb0) == 0) { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - else { - uVar3 = locret_70008E00(*(int *)(iVar6 + 0xb0)); - if (uVar3 != 0) { - loc_7000905C(*(int *)(iVar6 + 0xb0)); - goto LAB_7f07f240; - } - pcVar7 = *(char **)(pcVar7 + 0x24); - } - } - else { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - } - } - else { - pcVar7 = *(char **)(pcVar7 + 0x24); - } - } - if (pcVar7 == NULL) { - return; - } - cVar1 = *pcVar7; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f07fd48) overlaps instruction at (ram,0x7f07fd44) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07f260(void) - -{ - bool bVar1; - int iVar3; - int iVar4; - ulonglong uVar2; - undefined4 uVar5; - float fVar6; - float fVar7; - float fVar8; - int local_8; - - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - if (iVar3 == 0) goto LAB_7f07fe1c; - iVar3 = FUN_7f05def0(0); - bVar1 = iVar3 == 0x1e; - if (!bVar1) { - iVar3 = FUN_7f05def0(0); - bVar1 = iVar3 == 0x17; - } - if (bVar1) { - local_8 = 0x23; - } - else { - local_8 = 0x11; - } - *(int *)(_DAT_8007a120 + 0x1c4) = *(int *)(_DAT_8007a120 + 0x1c4) + DAT_800483a4; - *(int *)(_DAT_8007a120 + 0x1c0) = *(int *)(_DAT_8007a120 + 0x1c0) + 1; - *(undefined4 *)(_DAT_8007a120 + 0x200) = 0; - if (*(int *)(_DAT_8007a120 + 0x1c8) == 1) { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 0; - if (*(int *)(_DAT_8007a120 + 0x1c0) == 1) { - FUN_7f05df20(1,0x54); - } - else { - if (*(int *)(_DAT_8007a120 + 0x1c0) == 2) { - if (bVar1) { - FUN_7f05df20(0,0); - } - } - else { - iVar3 = FUN_7f05df64(1); - if ((((iVar3 == 0x54) && (uVar2 = FUN_7f05d3dc(1), uVar2 != 0)) && - ((!bVar1 || - ((iVar3 = FUN_7f05df64(0), iVar3 == 0 && (uVar2 = FUN_7f05d3dc(0), uVar2 != 0)))))) && - (local_8 <= *(int *)(_DAT_8007a120 + 0x1c4))) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 2; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - } - } - } - if (*(int *)(_DAT_8007a120 + 0x1c8) == 2) { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 0; - if (*(int *)(_DAT_8007a120 + 0x1c0) == 1) { - FUN_7f06ab94(8,0); - FUN_7f0696e0(4,0); - FUN_7f08aab4(1); - FUN_7f08b120(1); - FUN_7f05665c(4,0); - iVar3 = *(int *)(_DAT_8007a120 + 0x218); - if (((iVar3 == 0) || (iVar3 == 2)) || (iVar3 == 3)) { - fVar6 = FUN_7f07e54c(1); - if (fVar6 < 30.00000000) { - fVar6 = 30.00000000; - } - FUN_7f07e634(fVar6); - fVar6 = *(float *)(_DAT_8007a120 + 0x214); - } - else { - fVar6 = *(float *)(_DAT_8007a120 + 0x214); - } - } - else { - fVar6 = *(float *)(_DAT_8007a120 + 0x214); - } - if (fVar6 - *(float *)(_DAT_8007a120 + 0x210) < 30.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 3; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - FUN_7f07edd8(); - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - } - else { - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - if (iVar3 == 3) { - if (*(int *)(_DAT_8007a120 + 0x1c0) == 1) { - iVar3 = *(int *)(_DAT_8007a120 + 0x218); - fVar6 = 40.00000000; - if ((*(int *)(_DAT_8007a120 + 0x220) != 0) && - (fVar6 = 40.00000000, *(int *)(_DAT_8007a120 + 0x220) != 3)) { - fVar6 = ((20.00000000 - *(float *)(_DAT_8007a120 + 600)) * 40.00000000) / 20.00000000; - } - if (((iVar3 == 0) || (iVar3 == 2)) || (fVar8 = fVar6, iVar3 == 3)) { - fVar7 = FUN_7f07e54c(1); - fVar8 = fVar6 - 10.00000000; - if (fVar8 <= fVar7) { - fVar8 = fVar7; - } - FUN_7f07e634(fVar8); - fVar8 = fVar8 + 10.00000000; - if (fVar8 <= fVar6) { - fVar8 = fVar6; - } - } - FUN_7f07eebc(fVar8); - iVar3 = *(int *)(_DAT_8007a120 + 0x220); - } - else { - iVar3 = *(int *)(_DAT_8007a120 + 0x220); - } - if (((iVar3 == 0) || (iVar3 == 3)) && (uVar2 = FUN_7f07e68c(), uVar2 == 0)) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 4; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 1; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - } - if (iVar3 == 4) { - if ((*(int *)(_DAT_8007a120 + 0x1c0) == 1) && (*(int *)(_DAT_8007a120 + 0x21c) != 0)) { - FUN_70008e18((longlong)_DAT_80063760,0xed,NULL); - *(undefined4 *)(_DAT_8007a120 + 0x21c) = 0; - } - FUN_7f07eb50(); - uVar2 = FUN_7f07ec20(); - if (uVar2 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 5; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x21c) = 1; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 1; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - } - if (iVar3 == 5) { - if (*(int *)(_DAT_8007a120 + 0x1c0) == 1) { - FUN_7f0c1fc0(); - } - *(undefined4 *)(_DAT_8007a120 + 0x200) = 1; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - if (iVar3 == 0xc) { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 1; - if (2 < *(int *)(_DAT_8007a120 + 0x1c0)) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 6; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - FUN_70008e18((longlong)_DAT_80063760,0xee,NULL); - goto LAB_7f07f7e8; - } - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { -LAB_7f07f7e8: - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - if (iVar3 == 6) { - if (*(int *)(_DAT_8007a120 + 0x1c0) == 1) { - FUN_7f07ebb8(); - if (bVar1) { - FUN_7f05df20(0,0); - } - else { - FUN_7f05e004(0); - } - } - uVar2 = FUN_7f07ec20(); - if (uVar2 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 7; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x21c) = 1; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 1; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - } - if (iVar3 == 7) { - if (*(int *)(_DAT_8007a120 + 0x1c0) == 1) { - fVar6 = FUN_7f07e54c(0); - fVar8 = 40.00000000; - if ((*(int *)(_DAT_8007a120 + 0x220) != 0) && (*(int *)(_DAT_8007a120 + 0x220) != 3)) { - fVar8 = (*(float *)(_DAT_8007a120 + 600) * 40.00000000) / 20.00000000; - } - fVar7 = fVar8 + 20.00000000; - if (fVar7 <= fVar6) { - fVar7 = fVar6; - } - FUN_7f07e660(fVar7); - FUN_7f07ef1c(fVar8); - } - if ((*(int *)(_DAT_8007a120 + 0x220) == 0) || (*(int *)(_DAT_8007a120 + 0x220) == 3)) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 8; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 1; - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); - } - } - if (iVar3 == 8) { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 0; - if (*(int *)(_DAT_8007a120 + 0x1c0) == 1) { - iVar3 = FUN_7f05df64(1); - iVar4 = FUN_7f05def0(1); - if ((iVar4 != iVar3) && (uVar2 = FUN_7f05d3dc(1), uVar2 != 0)) { - uVar5 = FUN_7f05def0(1); - FUN_7f05df20(1,uVar5); - } - if (bVar1) { - iVar3 = FUN_7f05df64(0); - iVar4 = FUN_7f05def0(0); - if ((iVar4 != iVar3) && (uVar2 = FUN_7f05d3dc(0), uVar2 != 0)) { - uVar5 = FUN_7f05def0(0); - FUN_7f05df20(0,uVar5); - } - } - } - else { - uVar2 = FUN_7f07e68c(); - if (uVar2 == 0) { - iVar3 = FUN_7f05df64(1); - iVar4 = FUN_7f05def0(1); - if ((iVar4 == iVar3) && (uVar2 = FUN_7f05d3dc(1), uVar2 != 0)) { - if (bVar1) { - iVar3 = FUN_7f05df64(0); - iVar4 = FUN_7f05def0(0); - if ((iVar4 != iVar3) || (uVar2 = FUN_7f05d3dc(0), uVar2 == 0)) goto LAB_7f07fb58; - } - FUN_7f05e004(1); - if (bVar1) { - FUN_7f05e004(0); - } - FUN_7f06ab94(8,1); - FUN_7f0696e0(4,1); - FUN_7f08aa98(1); - FUN_7f08b104(1); - FUN_7f05665c(4,1); - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - } - } - } -LAB_7f07fb58: - if (*(int *)(_DAT_8007a120 + 0x1c8) == 9) { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 0; - iVar3 = FUN_7f05def0(1); - iVar4 = FUN_7f05df64(1); - if ((iVar4 != iVar3) && (uVar2 = FUN_7f05d3dc(1), uVar2 != 0)) { - if (bVar1) { - iVar3 = FUN_7f05def0(0); - iVar4 = FUN_7f05df64(0); - if ((iVar4 == iVar3) || (uVar2 = FUN_7f05d3dc(0), uVar2 == 0)) goto LAB_7f07fbfc; - } - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 8; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - } -LAB_7f07fbfc: - if (*(int *)(_DAT_8007a120 + 0x1c8) == 10) { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 0; - if (*(int *)(_DAT_8007a120 + 0x1c0) == 1) { - fVar6 = FUN_7f07e54c(0); - FUN_7f07e660(fVar6); - } - iVar3 = FUN_7f05def0(1); - iVar4 = FUN_7f05df64(1); - if ((iVar4 != iVar3) && (uVar2 = FUN_7f05d3dc(1), uVar2 != 0)) { - if (bVar1) { - iVar3 = FUN_7f05def0(0); - iVar4 = FUN_7f05df64(0); - if ((iVar4 == iVar3) || (uVar2 = FUN_7f05d3dc(0), uVar2 == 0)) goto LAB_7f07fcc8; - } - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 8; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - } -LAB_7f07fcc8: - if (*(int *)(_DAT_8007a120 + 0x1c8) == 0xb) { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 0; - iVar3 = FUN_7f05def0(1); - iVar4 = FUN_7f05df64(1); - if ((iVar4 == iVar3) && (uVar2 = FUN_7f05d3dc(1), uVar2 != 0)) { - if (bVar1) { - iVar3 = FUN_7f05def0(0); - iVar4 = FUN_7f05df64(0); - if ((iVar4 != iVar3) || (uVar2 = FUN_7f05d3dc(0), uVar2 == 0)) goto LAB_7f07fd70; - } - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - } -LAB_7f07fd70: - if (*(int *)(_DAT_8007a120 + 0x1c8) == 0xd) { - *(undefined4 *)(_DAT_8007a120 + 0x200) = 0; - uVar2 = FUN_7f05d3dc(1); - if (((((uVar2 != 0) && (uVar2 = FUN_7f05d3dc(0), uVar2 != 0)) && - (iVar3 = *(int *)(_DAT_8007a120 + 0xc3c), iVar3 != 5)) && ((iVar3 != 6 && (iVar3 != 7)))) - && (iVar3 != 8)) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - } - FUN_7f07e6b4(); - FUN_7f07ef70(); - FUN_7f07ec50(); - iVar3 = *(int *)(_DAT_8007a120 + 0x1c8); -LAB_7f07fe1c: - if (iVar3 == 5) { - FUN_7f0c0830(1); - FUN_7f0a7620(); - } - else { - if (iVar3 == 0xc) { - FUN_7f0c0830(1); - } - else { - FUN_7f0c0830(0); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07fe70(void) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x1d0) = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f07fe84(longlong param_1) - -{ - ulonglong uVar1; - short *psVar2; - undefined4 *puVar3; - int iVar4; - short *psVar5; - float fVar6; - - iVar4 = *(int *)(_DAT_8007a120 + 0x1c8); - if (iVar4 == 0) { - if (param_1 == 0) { - DAT_800365e8 = DAT_800365e8 * DAT_800550c0; - if (DAT_800550bc < DAT_800365e8) { - DAT_800365e8 = DAT_800550bc; - } - uVar1 = FUN_7f05d3dc(1); - if ((((uVar1 == 0) || (uVar1 = FUN_7f05d3dc(0), uVar1 == 0)) || - (iVar4 = *(int *)(_DAT_8007a120 + 0xc3c), iVar4 == 5)) || - (((iVar4 == 6 || (iVar4 == 7)) || (iVar4 == 8)))) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 0xd; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 1; - } - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - FUN_7f07e520(); - fVar6 = (float)FUN_7f07eb28(); - FUN_7f08aa34(); - fVar6 = (float)loc_7F0A32C8((short *)(_DAT_8007a120 + 0x12b8),0x2e,1,fVar6); - loc_7F0A33E8((undefined4 *)(_DAT_8007a120 + 0x19f8),_DAT_8007a120 + -0x7fffed48,0x2e); - FUN_7f08aa24(); - loc_7F0A32C8((short *)(_DAT_8007a120 + 0x1598),0x2e,-1,fVar6); - loc_7F0A33E8((undefined4 *)(_DAT_8007a120 + 0x2128),_DAT_8007a120 + -0x7fffea68,0x2e); - FUN_7f0a7548(); - iVar4 = 0; - puVar3 = (undefined4 *)(_DAT_8007a120 + 0x2858); - psVar5 = (short *)(_DAT_8007a120 + 0x1878); - do { - psVar2 = loc_7F0A3AEC(psVar5,(short)iVar4,0,100,0x14,-299,0x136); - puVar3 = sub_7F0A3B40(puVar3,psVar5 + -0x40000000); - iVar4 += 0x7d; - psVar5 = psVar2; - } while (iVar4 != 0x271); - *puVar3 = 0xb8000000; - puVar3[1] = 0; - iVar4 = _DAT_8007a120; - puVar3 = (undefined4 *)(_DAT_8007a120 + 0x2998); - loc_7F0A3AEC((short *)(_DAT_8007a120 + 0x19b8),0,0,0x398,0x14,-0x1cc,0); - puVar3 = sub_7F0A3B40(puVar3,iVar4 + -0x7fffe648); - *puVar3 = 0xb8000000; - puVar3[1] = 0; - } - } - else { - if (iVar4 == 1) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 9; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - else { - if (iVar4 == 2) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 10; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - else { - if (iVar4 == 3) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 7; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - else { - if (iVar4 == 4) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 6; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - else { - if (iVar4 == 5) { - FUN_7f01d6c8(); - FUN_7f0c1ff0(); - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 0xc; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1d0) = 0; - } - else { - if (iVar4 != 0xc) { - if (iVar4 == 6) { - if (param_1 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 4; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - FUN_7f0a7548(); - } - } - else { - if (iVar4 == 7) { - if (param_1 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 3; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - FUN_7f0a7548(); - } - } - else { - if (iVar4 == 8) { - if (param_1 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 0xb; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - FUN_7f0a7548(); - } - } - else { - if (iVar4 == 9) { - if (param_1 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - } - else { - if (iVar4 == 10) { - if (param_1 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - } - else { - if (iVar4 == 0xb) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 8; - *(undefined4 *)(_DAT_8007a120 + 0x1c0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1c4) = 0; - } - else { - if (iVar4 == 0xd) { - *(undefined4 *)(_DAT_8007a120 + 0x1c8) = 0; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0802d4(longlong param_1) - -{ - float fVar1; - - if (param_1 == -1) { - *(float *)(_DAT_8007a120 + 0x170) = *(float *)(_DAT_8007a120 + 0x170) - DAT_800483b4; - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - if (fVar1 < -1.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x170) = 0xbf800000; - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - } - } - else { - if (param_1 == 1) { - *(float *)(_DAT_8007a120 + 0x170) = *(float *)(_DAT_8007a120 + 0x170) + DAT_800483b4; - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - if (1.00000000 < fVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x170) = 0x3f800000; - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - } - } - else { - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - if (0.00000000 < fVar1) { - *(float *)(_DAT_8007a120 + 0x170) = fVar1 - DAT_800483b4; - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - if (fVar1 < 0.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x170) = 0; - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - } - } - else { - *(float *)(_DAT_8007a120 + 0x170) = fVar1 + DAT_800483b4; - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - if (0.00000000 < fVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x170) = 0; - fVar1 = *(float *)(_DAT_8007a120 + 0x170); - } - } - } - } - *(float *)(_DAT_8007a120 + 0x16c) = fVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08042c(longlong param_1) - -{ - float fVar1; - - if (param_1 == 1) { - *(float *)(_DAT_8007a120 + 0x2a4c) = *(float *)(_DAT_8007a120 + 0x2a4c) + DAT_800483b4; - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - if (1.00000000 < fVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x2a4c) = 0x3f800000; - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - } - } - else { - if (param_1 == -1) { - *(float *)(_DAT_8007a120 + 0x2a4c) = *(float *)(_DAT_8007a120 + 0x2a4c) - DAT_800483b4; - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - if (fVar1 < -1.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x2a4c) = 0xbf800000; - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - } - } - else { - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - if (0.00000000 < fVar1) { - *(float *)(_DAT_8007a120 + 0x2a4c) = fVar1 - DAT_800483b4; - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - if (fVar1 < 0.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x2a4c) = 0; - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - } - } - else { - *(float *)(_DAT_8007a120 + 0x2a4c) = fVar1 + DAT_800483b4; - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - if (0.00000000 < fVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x2a4c) = 0; - fVar1 = *(float *)(_DAT_8007a120 + 0x2a4c); - } - } - } - } - *(float *)(_DAT_8007a120 + 0x174) = fVar1; - return; -} - - - -float FUN_7f080584(float fParm1) - -{ - float in_f0; - float fVar1; - - if (0.00000000 < fParm1) { - FUN_700045dc(); - fVar1 = (in_f0 * fParm1 * DAT_800550c4) / 60.00000000; - } - else { - if (fParm1 < 0.00000000) { - FUN_700045dc(); - fVar1 = (in_f0 * -fParm1 * DAT_800550c8) / 60.00000000; - } - else { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080620(float fParm1) - -{ - float in_f0; - float fVar1; - float fVar2; - - FUN_700045dc(); - in_f0 = in_f0 / 60.00000000; - fVar1 = (float)FUN_7f080584(fParm1); - if (0.00000000 < fParm1) { - fVar2 = *(float *)(_DAT_8007a120 + 0x160); - if (0.00000000 < fVar2) { - *(float *)(_DAT_8007a120 + 0x160) = fVar2 - DAT_800550cc * DAT_800483b4 * in_f0; - } - else { - *(float *)(_DAT_8007a120 + 0x160) = fVar2 - DAT_800550d0 * DAT_800483b4 * in_f0; - } - if (*(float *)(_DAT_8007a120 + 0x160) < fVar1) { - *(float *)(_DAT_8007a120 + 0x160) = fVar1; - } - } - else { - if (fParm1 < 0.00000000) { - fVar2 = *(float *)(_DAT_8007a120 + 0x160); - if (fVar2 < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x160) = fVar2 + DAT_800550d4 * DAT_800483b4 * in_f0; - } - else { - *(float *)(_DAT_8007a120 + 0x160) = fVar2 + DAT_800550d8 * DAT_800483b4 * in_f0; - } - if (fVar1 < *(float *)(_DAT_8007a120 + 0x160)) { - *(float *)(_DAT_8007a120 + 0x160) = fVar1; - } - } - else { - fVar2 = *(float *)(_DAT_8007a120 + 0x160); - if (fVar1 < fVar2) { - *(float *)(_DAT_8007a120 + 0x160) = fVar2 - DAT_800550dc * DAT_800483b4 * in_f0; - if (*(float *)(_DAT_8007a120 + 0x160) < fVar1) { - *(float *)(_DAT_8007a120 + 0x160) = fVar1; - } - } - else { - *(float *)(_DAT_8007a120 + 0x160) = fVar2 + DAT_800550e0 * DAT_800483b4 * in_f0; - if (fVar1 < *(float *)(_DAT_8007a120 + 0x160)) { - *(float *)(_DAT_8007a120 + 0x160) = fVar1; - } - } - } - } - return; -} - - - -float FUN_7f080838(float fParm1) - -{ - float in_f0; - float fVar1; - - if (0.00000000 < fParm1) { - FUN_700045dc(); - fVar1 = (in_f0 * fParm1 * DAT_800550e4) / 60.00000000; - } - else { - if (fParm1 < 0.00000000) { - FUN_700045dc(); - fVar1 = (in_f0 * -fParm1 * DAT_800550e8) / 60.00000000; - } - else { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0808d4(float fParm1) - -{ - float in_f0; - float fVar1; - float fVar2; - - FUN_700045dc(); - in_f0 = in_f0 / 60.00000000; - fVar1 = (float)FUN_7f080838(fParm1); - if (0.00000000 < fParm1) { - fVar2 = *(float *)(_DAT_8007a120 + 0x14c); - if (0.00000000 < fVar2) { - *(float *)(_DAT_8007a120 + 0x14c) = fVar2 - DAT_800550ec * DAT_800483b4 * in_f0; - } - else { - *(float *)(_DAT_8007a120 + 0x14c) = fVar2 - DAT_800550f0 * DAT_800483b4 * in_f0; - } - if (*(float *)(_DAT_8007a120 + 0x14c) < fVar1) { - *(float *)(_DAT_8007a120 + 0x14c) = fVar1; - } - } - else { - if (fParm1 < 0.00000000) { - fVar2 = *(float *)(_DAT_8007a120 + 0x14c); - if (fVar2 < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x14c) = fVar2 + DAT_800550f4 * DAT_800483b4 * in_f0; - } - else { - *(float *)(_DAT_8007a120 + 0x14c) = fVar2 + DAT_800550f8 * DAT_800483b4 * in_f0; - } - if (fVar1 < *(float *)(_DAT_8007a120 + 0x14c)) { - *(float *)(_DAT_8007a120 + 0x14c) = fVar1; - } - } - else { - fVar2 = *(float *)(_DAT_8007a120 + 0x14c); - if (fVar1 < fVar2) { - *(float *)(_DAT_8007a120 + 0x14c) = fVar2 - DAT_800550fc * DAT_800483b4 * in_f0; - if (*(float *)(_DAT_8007a120 + 0x14c) < fVar1) { - *(float *)(_DAT_8007a120 + 0x14c) = fVar1; - } - } - else { - *(float *)(_DAT_8007a120 + 0x14c) = fVar2 + DAT_80055100 * DAT_800483b4 * in_f0; - if (fVar1 < *(float *)(_DAT_8007a120 + 0x14c)) { - *(float *)(_DAT_8007a120 + 0x14c) = fVar1; - } - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f080b30) overlaps instruction at (ram,0x7f080b2c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f080af0(undefined4 *param_1) - -{ - short sVar1; - short sVar2; - short sVar3; - short sVar4; - int iVar5; - uint uVar6; - uint uVar7; - float fVar8; - - fVar8 = *(float *)(_DAT_8007a120 + 0x3dc); - iVar5 = *(int *)(_DAT_8007a120 + 0x3d0); - uVar6 = *(uint *)(_DAT_8007a120 + 0x3d4); - uVar7 = *(uint *)(_DAT_8007a120 + 0x3d8); - if ((DAT_80036470 != 0) || (DAT_80036474 != 0)) { - fVar8 = 1.00000000; - uVar7 = 0; - uVar6 = 0; - iVar5 = 0; - } - if (0.00000000 < fVar8) { - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[3] = 0; - param_1[2] = 0xba001402; - param_1[5] = 0xc0; - param_1[4] = 0xba000602; - param_1[6] = 0xba001301; - param_1[7] = 0; - param_1[8] = 0xb9000002; - param_1[9] = 0; - param_1[10] = 0xba001001; - param_1[0xb] = 0; - param_1[0xd] = 0x2000; - param_1[0xc] = 0xba000c02; - param_1[0xf] = 0xc00; - param_1[0xe] = 0xba000903; - param_1[0x10] = 0xba000e02; - param_1[0x11] = 0; - param_1[0x12] = 0xb900031d; - param_1[0x13] = 0x504340; - param_1[0x15] = 0xfffdf6fb; - param_1[0x14] = 0xfcffffff; - param_1[0x16] = 0xfa000000; - param_1[0x17] = - iVar5 << 0x18 | (uVar6 & 0xff) << 0x10 | (uVar7 & 0xff) << 8 | - (int)(fVar8 * 255.00000000) & 0xffU; - sVar1 = FUN_7000449c(); - sVar2 = FUN_70004514(); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - param_1[0x18] = - ((int)sVar4 + (int)sVar3 & 0x3ffU) << 2 | 0xf6000000 | - ((int)sVar2 + (int)sVar1 & 0x3ffU) << 0xe; - sVar1 = FUN_70004514(); - sVar2 = get_video2_settings_uly(); - param_1[0x19] = ((int)sVar2 & 0x3ffU) << 2 | ((int)sVar1 & 0x3ffU) << 0xe; - param_1[0x1a] = 0xe7000000; - param_1[0x1b] = 0; - param_1[0x1d] = 0x40; - param_1[0x1c] = 0xba000602; - param_1[0x1f] = 0x80000; - param_1[0x1e] = 0xba001301; - param_1[0x21] = 0x10000; - param_1[0x20] = 0xba001001; - param_1 = param_1 + 0x22; - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080dc0(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x3d0) = param_1; - *(undefined4 *)(_DAT_8007a120 + 0x3d4) = param_2; - *(undefined4 *)(_DAT_8007a120 + 0x3d8) = param_3; - *(undefined4 *)(_DAT_8007a120 + 0x3dc) = param_4; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080df0(undefined4 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, - undefined4 param_5,undefined4 param_6) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x3e0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x3e4) = param_1; - *(undefined4 *)(_DAT_8007a120 + 1000) = *(undefined4 *)(_DAT_8007a120 + 0x3d0); - *(undefined4 *)(_DAT_8007a120 + 0x3ec) = param_3; - *(undefined4 *)(_DAT_8007a120 + 0x3f0) = *(undefined4 *)(_DAT_8007a120 + 0x3d4); - *(undefined4 *)(_DAT_8007a120 + 0x3f4) = param_4; - *(undefined4 *)(_DAT_8007a120 + 0x3f8) = *(undefined4 *)(_DAT_8007a120 + 0x3d8); - *(undefined4 *)(_DAT_8007a120 + 0x3fc) = param_5; - *(undefined4 *)(_DAT_8007a120 + 0x400) = *(undefined4 *)(_DAT_8007a120 + 0x3dc); - *(undefined4 *)(_DAT_8007a120 + 0x404) = param_6; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080e68(undefined4 param_1,undefined4 param_2,undefined8 param_3) - -{ - FUN_7f080df0(param_1,param_3,*(undefined4 *)(_DAT_8007a120 + 0x3d0), - *(undefined4 *)(_DAT_8007a120 + 0x3d4),*(undefined4 *)(_DAT_8007a120 + 0x3d8),param_2 - ); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f080e9c(void) - -{ - return (ulonglong)(*(float *)(_DAT_8007a120 + 0x3e4) < 0.00000000); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f080ecc(void) - -{ - float fVar1; - - if (0.00000000 <= *(float *)(_DAT_8007a120 + 0x3e4)) { - *(float *)(_DAT_8007a120 + 0x3e0) = *(float *)(_DAT_8007a120 + 0x3e0) + DAT_800483b4; - if (*(float *)(_DAT_8007a120 + 0x3e0) < *(float *)(_DAT_8007a120 + 0x3e4)) { - fVar1 = *(float *)(_DAT_8007a120 + 0x3e0) / *(float *)(_DAT_8007a120 + 0x3e4); - *(float *)(_DAT_8007a120 + 0x3dc) = - *(float *)(_DAT_8007a120 + 0x400) + - (*(float *)(_DAT_8007a120 + 0x404) - *(float *)(_DAT_8007a120 + 0x400)) * fVar1; - *(int *)(_DAT_8007a120 + 0x3d0) = - *(int *)(_DAT_8007a120 + 1000) + - (int)((float)(*(int *)(_DAT_8007a120 + 0x3ec) - *(int *)(_DAT_8007a120 + 1000)) * fVar1); - *(int *)(_DAT_8007a120 + 0x3d4) = - *(int *)(_DAT_8007a120 + 0x3f0) + - (int)((float)(*(int *)(_DAT_8007a120 + 0x3f4) - *(int *)(_DAT_8007a120 + 0x3f0)) * fVar1) - ; - *(int *)(_DAT_8007a120 + 0x3d8) = - *(int *)(_DAT_8007a120 + 0x3f8) + - (int)((float)(*(int *)(_DAT_8007a120 + 0x3fc) - *(int *)(_DAT_8007a120 + 0x3f8)) * fVar1) - ; - return; - } - *(undefined4 *)(_DAT_8007a120 + 0x3dc) = *(undefined4 *)(_DAT_8007a120 + 0x404); - *(undefined4 *)(_DAT_8007a120 + 0x3d0) = *(undefined4 *)(_DAT_8007a120 + 0x3ec); - *(undefined4 *)(_DAT_8007a120 + 0x3d4) = *(undefined4 *)(_DAT_8007a120 + 0x3f4); - *(undefined4 *)(_DAT_8007a120 + 0x3d8) = *(undefined4 *)(_DAT_8007a120 + 0x3fc); - *(undefined4 *)(_DAT_8007a120 + 0x3e4) = 0xbf800000; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f081020(undefined4 param_1,undefined4 param_2) - -{ - int iVar1; - float fVar2; - - iVar1 = *(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - if (iVar1 != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x18c) = 0; - *(undefined4 *)(_DAT_8007a120 + 400) = param_1; - fVar2 = (float)(uint)*(byte *)(iVar1 + 0xc); - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + 0x194) = fVar2 / 255.00000000; - *(undefined4 *)(_DAT_8007a120 + 0x198) = param_2; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f081090(void) - -{ - int iVar1; - float fVar2; - - if (0.00000000 <= *(float *)(_DAT_8007a120 + 400)) { - iVar1 = *(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - *(float *)(_DAT_8007a120 + 0x18c) = *(float *)(_DAT_8007a120 + 0x18c) + DAT_800483b4; - if (*(float *)(_DAT_8007a120 + 0x18c) < *(float *)(_DAT_8007a120 + 400)) { - fVar2 = *(float *)(_DAT_8007a120 + 0x194) + - ((*(float *)(_DAT_8007a120 + 0x198) - *(float *)(_DAT_8007a120 + 0x194)) * - *(float *)(_DAT_8007a120 + 0x18c)) / *(float *)(_DAT_8007a120 + 400); - } - else { - fVar2 = *(float *)(_DAT_8007a120 + 0x198); - *(undefined4 *)(_DAT_8007a120 + 400) = 0xbf800000; - } - if (iVar1 != 0) { - *(undefined *)(iVar1 + 0xc) = (char)(int)(fVar2 * 255.00000000); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f081144(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5) - -{ - uint uVar1; - undefined4 uVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - float fStackX8; - float afStack132 [16]; - float afStack68 [4]; - undefined4 uStack52; - undefined4 uStack48; - undefined4 uStack44; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - float fStack4; - - fStack4 = 0.00000000; - if (*(int *)(_DAT_8007a120 + 0xd8) == 0) { - FUN_7f08f39c(param_1); - fStackX8 = param_5; - if (param_1 != 0.00000000) { - fStack4 = param_2 / param_1; - fStackX8 = param_5; - } - } - else { - if (*(int *)(_DAT_8007a120 + 0x420) != 0) { - uVar1 = FUN_7000a460(); - uVar2 = FUN_7000a460(); - if (DAT_8003654c == 0) { - trap(0x1c00); - } - sub_7F08EA48((&DAT_80036518)[uVar1 % DAT_8003654c] + _DAT_80069578,(byte)uVar2 & 1,0.00000000, - 1.00000000); - *(undefined4 *)(_DAT_8007a120 + 0x420) = 0; - } - FUN_7f08f598(0.50000000); - fStackX8 = 0.00000000; - } - FUN_7f08ed20(fStack4,fStackX8); - FUN_7f058a90((360.00000000 - *(float *)(_DAT_8007a120 + 0x15c)) * DAT_80055104,extraout_a0, - afStack68); - FUN_7f059e28(afStack132,0.00000000,0.00000000,0.00000000,-*(float *)(_DAT_8007a120 + 0x508), - -*(float *)(_DAT_8007a120 + 0x50c),-*(float *)(_DAT_8007a120 + 0x510), - *(float *)(_DAT_8007a120 + 0x514),*(float *)(_DAT_8007a120 + 0x518), - *(float *)(_DAT_8007a120 + 0x51c)); - FUN_7f058588(afStack132,afStack68); - FUN_7f058b1c((360.00000000 - *(float *)(_DAT_8007a120 + 0x148)) * DAT_80055108,extraout_a0_00, - afStack132); - FUN_7f058588(afStack132,afStack68); - *(undefined4 *)(_DAT_8007a120 + 0x4c0) = uStack36; - *(undefined4 *)(_DAT_8007a120 + 0x4c4) = uStack32; - *(undefined4 *)(_DAT_8007a120 + 0x4c8) = uStack28; - *(undefined4 *)(_DAT_8007a120 + 0x4cc) = uStack52; - *(undefined4 *)(_DAT_8007a120 + 0x4d0) = uStack48; - *(undefined4 *)(_DAT_8007a120 + 0x4d4) = uStack44; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f081370(undefined8 param_1,undefined4 param_2,undefined4 param_3) - -{ - int iVar1; - float fVar2; - - if (DAT_80036490 == 0) { - if (*(int *)(_DAT_8007a120 + 0x2a6c) == 0) { - fVar2 = (float)FUN_7f0b3520(param_1,param_2,param_3); - } - else { - fVar2 = (float)FUN_7f0b3520(*(undefined4 *)(_DAT_8007a120 + 0x2a70),param_2,param_3); - } - } - else { - iVar1 = *(int *)(*(int *)(DAT_80036490 + 4) + 0x10); - fVar2 = (float)FUN_7f0b3520(*(undefined4 *)(iVar1 + 0x14),*(undefined4 *)(iVar1 + 8), - *(undefined4 *)(iVar1 + 0x10)); - fVar2 = fVar2 + DAT_80036494; - } - return fVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f081408(longlong param_1,float param_2) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float local_30; - undefined4 uStack28; - float fStack24; - float local_14; - int local_10; - float local_c; - int local_4; - - if (DAT_80036488 == 1) { - fVar4 = FUN_7f081370((longlong)*(int *)(_DAT_8007a120 + 0x488), - *(undefined4 *)(_DAT_8007a120 + 0x48c), - *(undefined4 *)(_DAT_8007a120 + 0x494)); - fVar5 = DAT_8005510c; - *(float *)(_DAT_8007a120 + 0x74) = fVar4; - iVar3 = 0; - *(float *)(_DAT_8007a120 + 0x6c) = *(float *)(_DAT_8007a120 + 0x70) / fVar5; - fVar4 = DAT_80055110; - if (0 < DAT_800483a4) { - do { - iVar3 += 1; - *(float *)(_DAT_8007a120 + 0x6c) = - *(float *)(_DAT_8007a120 + 0x6c) * fVar4 + *(float *)(_DAT_8007a120 + 0x74); - } while (iVar3 < DAT_800483a4); - } - local_4 = 0; - *(float *)(_DAT_8007a120 + 0x70) = *(float *)(_DAT_8007a120 + 0x6c) * fVar5; - goto LAB_7f0819ac; - } - if (param_1 == 0) { - local_10 = *(int *)(_DAT_8007a120 + 0x488); - FUN_7f08a9ac(*(int *)(_DAT_8007a120 + 0xa8),&local_14,&fStack24,&uStack28); - local_c = FUN_7f081370((longlong)*(int *)(_DAT_8007a120 + 0x488), - *(undefined4 *)(_DAT_8007a120 + 0x48c), - *(undefined4 *)(_DAT_8007a120 + 0x494)); - fVar5 = sub_7F089780(_DAT_8007a120); - lVar2 = FUN_7f0b3268(&local_10,*(float *)(_DAT_8007a120 + 0x48c), - *(float *)(_DAT_8007a120 + 0x494),local_14,fVar5 + local_c); - fVar5 = local_c; - if ((-1 < lVar2) && (fVar5 = *(float *)(_DAT_8007a120 + 0x74), fVar5 <= local_c)) { - fVar5 = local_c; - } - *(float *)(_DAT_8007a120 + 0x74) = fVar5; -LAB_7f0815ec: - iVar3 = *(int *)(_DAT_8007a120 + 0x2a6c); - } - else { - *(float *)(_DAT_8007a120 + 0x74) = *(float *)(_DAT_8007a120 + 0x74) + param_2; - fVar5 = FUN_7f081370((longlong)*(int *)(_DAT_8007a120 + 0x488), - *(undefined4 *)(_DAT_8007a120 + 0x48c), - *(undefined4 *)(_DAT_8007a120 + 0x494)); - if (*(float *)(_DAT_8007a120 + 0x74) < fVar5) { - *(float *)(_DAT_8007a120 + 0x74) = fVar5; - goto LAB_7f0815ec; - } - iVar3 = *(int *)(_DAT_8007a120 + 0x2a6c); - } - if (iVar3 == 0) { - fVar5 = *(float *)(_DAT_8007a120 + 0x7c); - } - else { - if (*(float *)(_DAT_8007a120 + 0x70) < *(float *)(_DAT_8007a120 + 0x74)) { - *(undefined4 *)(_DAT_8007a120 + 0x2a6c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x488) = *(undefined4 *)(_DAT_8007a120 + 0x2a70); - *(undefined4 *)(_DAT_8007a120 + 0x2a70) = 0; - fVar5 = *(float *)(_DAT_8007a120 + 0x7c); - } - else { - fVar5 = *(float *)(_DAT_8007a120 + 0x7c); - } - } - fVar4 = DAT_80055114; - fVar7 = *(float *)(_DAT_8007a120 + 0x70); - if ((0.00000000 <= fVar5) || (fVar5 = *(float *)(_DAT_8007a120 + 0x74), fVar7 < fVar5)) { - iVar3 = 0; - *(float *)(_DAT_8007a120 + 0x6c) = fVar7 / DAT_80055114; - fVar5 = DAT_80055118; - if (0 < DAT_800483a4) { - do { - iVar3 += 1; - *(float *)(_DAT_8007a120 + 0x6c) = - *(float *)(_DAT_8007a120 + 0x6c) * fVar5 + *(float *)(_DAT_8007a120 + 0x74); - } while (iVar3 < DAT_800483a4); - } - fVar7 = *(float *)(_DAT_8007a120 + 0x70); - if (fVar7 < *(float *)(_DAT_8007a120 + 0x74)) { - *(float *)(_DAT_8007a120 + 0x70) = *(float *)(_DAT_8007a120 + 0x6c) * fVar4; - fVar7 = *(float *)(_DAT_8007a120 + 0x70); - fVar5 = *(float *)(_DAT_8007a120 + 0x74); - goto LAB_7f0816e8; - } - bVar1 = *(float *)(_DAT_8007a120 + 0x74) < fVar7; - } - else { -LAB_7f0816e8: - bVar1 = fVar5 < fVar7; - } - local_4 = 0; - fVar5 = *(float *)(_DAT_8007a120 + 0x7c); - if (bVar1) { - local_4 = 0; - iVar3 = FUN_7f091af8(); - if (((iVar3 == 0) || (_DAT_800799d0 != 0.00000000)) || (_DAT_800799d8 != 0.00000000)) { - local_30 = DAT_80055120; - } - else { - local_30 = DAT_8005511c; - } - fVar4 = *(float *)(_DAT_8007a120 + 0x74); - fVar6 = fVar5 - DAT_800483b4 * local_30; - fVar7 = fVar7 + DAT_800483b4 * (fVar5 + fVar6) * 0.50000000; - if (fVar7 < fVar4) { - fVar5 = *(float *)(_DAT_8007a120 + 0x70) - fVar4; - fVar6 = sqrtf(*(float *)(_DAT_8007a120 + 0x7c) * *(float *)(_DAT_8007a120 + 0x7c) + - (((fVar5 + fVar5) * DAT_80055124) / 60.00000000) * 60.00000000); - fVar6 = -fVar6; - fVar7 = fVar4; - if (*(int *)(_DAT_8007a120 + 0x2a6c) != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x2a6c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x488) = *(undefined4 *)(_DAT_8007a120 + 0x2a70); - *(undefined4 *)(_DAT_8007a120 + 0x2a70) = 0; - fVar7 = fVar4; - } - } - *(float *)(_DAT_8007a120 + 0x70) = fVar7; - *(float *)(_DAT_8007a120 + 0x7c) = fVar6; - fVar5 = *(float *)(_DAT_8007a120 + 0x7c); - } - if (fVar5 < 0.00000000) { - if (*(float *)(_DAT_8007a120 + 0x70) <= *(float *)(_DAT_8007a120 + 0x74)) { - if (fVar5 < DAT_80055128) { - *(undefined4 *)(_DAT_8007a120 + 0x8c) = 0xf; - *(undefined4 *)(_DAT_8007a120 + 0x90) = 0xc2b40000; -LAB_7f08191c: - *(undefined4 *)(_DAT_8007a120 + 0x7c) = 0; - } - else { - if (fVar5 < -5.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x8c) = 0xf; - *(float *)(_DAT_8007a120 + 0x90) = - ((-5.00000000 - *(float *)(_DAT_8007a120 + 0x7c)) * -90.00000000) / DAT_8005512c; - goto LAB_7f08191c; - } - *(undefined4 *)(_DAT_8007a120 + 0x7c) = 0; - } - iVar3 = *(int *)(_DAT_8007a120 + 0x2a6c); - } - else { - iVar3 = *(int *)(_DAT_8007a120 + 0x2a6c); - } - } - else { - iVar3 = *(int *)(_DAT_8007a120 + 0x2a6c); - } - if (iVar3 != 0) { - fVar5 = sub_7F089780(_DAT_8007a120); - fVar4 = (float)FUN_7f0b3520(*(undefined4 *)(_DAT_8007a120 + 0x488), - *(undefined4 *)(_DAT_8007a120 + 0x48c), - *(undefined4 *)(_DAT_8007a120 + 0x494)); - if (*(float *)(_DAT_8007a120 + 0x70) + fVar5 < fVar4) { - *(undefined4 *)(_DAT_8007a120 + 0x2a6c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x488) = *(undefined4 *)(_DAT_8007a120 + 0x2a70); - *(undefined4 *)(_DAT_8007a120 + 0x2a70) = 0; - } - } -LAB_7f0819ac: - fVar5 = DAT_80055130; - if (0 < DAT_800483a4) { - do { - if (*(int *)(_DAT_8007a120 + 0x8c) < 1) { - fVar4 = *(float *)(_DAT_8007a120 + 0x90); - if (fVar4 < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x90) = fVar4 - -4.50000000; - fVar4 = *(float *)(_DAT_8007a120 + 0x90); - if (0.00000000 <= fVar4) { - *(undefined4 *)(_DAT_8007a120 + 0x90) = 0; - fVar4 = *(float *)(_DAT_8007a120 + 0x90); - fVar7 = *(float *)(_DAT_8007a120 + 0x84); - } - else { - fVar7 = *(float *)(_DAT_8007a120 + 0x84); - } - } - else { - fVar7 = *(float *)(_DAT_8007a120 + 0x84); - } - *(float *)(_DAT_8007a120 + 0x84) = fVar7 * fVar5 + fVar4; - } - else { - *(float *)(_DAT_8007a120 + 0x84) = - *(float *)(_DAT_8007a120 + 0x84) * fVar5 + *(float *)(_DAT_8007a120 + 0x90); - *(int *)(_DAT_8007a120 + 0x8c) = *(int *)(_DAT_8007a120 + 0x8c) + -1; - } - local_4 += 1; - } while (local_4 < DAT_800483a4); - } - *(float *)(_DAT_8007a120 + 0x88) = *(float *)(_DAT_8007a120 + 0x84) * DAT_80055134; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f081a88(void) - -{ - undefined4 uVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - int local_c [3]; - - fVar4 = 30.00000000; - *(float *)(_DAT_8007a120 + 0x29bc) = - *(float *)(_DAT_8007a120 + 0x500) * *(float *)(_DAT_8007a124 + 100) + 7.00000000; - fVar3 = *(float *)(_DAT_8007a120 + 0x29bc) + - (*(float *)(_DAT_8007a120 + 0x88) + *(float *)(_DAT_8007a120 + 0xa0)) * - *(float *)(_DAT_8007a124 + 100); - if (fVar3 < 30.00000000) { - fVar5 = *(float *)(_DAT_8007a120 + 0x70); - } - else { - fVar5 = *(float *)(_DAT_8007a120 + 0x70); - fVar4 = fVar3; - } - *(float *)(_DAT_8007a120 + 0x490) = fVar5 + fVar4; - if ((((DAT_800364d4 == 5) || (DAT_800364d4 == 6)) || (DAT_800364d4 == 7)) && - (*(int *)(_DAT_8007a120 + 0xd4) != 0)) { - iVar2 = *(int *)(_DAT_8007a120 + 0xd8); - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x4b4) = *(undefined4 *)(_DAT_8007a120 + 0x48c); - *(undefined4 *)(_DAT_8007a120 + 0x4b8) = *(undefined4 *)(_DAT_8007a120 + 0x490); - *(undefined4 *)(_DAT_8007a120 + 0x4bc) = *(undefined4 *)(_DAT_8007a120 + 0x494); - iVar2 = *(int *)(_DAT_8007a120 + 0xd8); - } - if (((iVar2 != 0) && (0.00000000 < *(float *)(_DAT_8007a120 + 0x29c0))) && - (*(float *)(_DAT_8007a120 + 0x29c0) = *(float *)(_DAT_8007a120 + 0x29c0) - 0.25000000, - *(float *)(_DAT_8007a120 + 0x29c0) < 0.00000000)) { - *(undefined4 *)(_DAT_8007a120 + 0x29c0) = 0; - } - if (*(float *)(_DAT_8007a120 + 0x158) < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x4b8) = - *(float *)(_DAT_8007a120 + 0x4b8) + - -(1.00000000 - *(float *)(_DAT_8007a120 + 0x164)) * *(float *)(_DAT_8007a120 + 0x29c0); - local_c[0] = *(int *)(_DAT_8007a120 + 0x488); - } - else { - local_c[0] = *(int *)(_DAT_8007a120 + 0x488); - } - uVar1 = DAT_80040fe4; - DAT_80040fe4 = 0; - sub_7F0B0BE4(local_c,*(float *)(_DAT_8007a120 + 0x48c),*(float *)(_DAT_8007a120 + 0x494), - *(float *)(_DAT_8007a120 + 0x4b4),*(float *)(_DAT_8007a120 + 0x4bc)); - DAT_80040fe4 = uVar1; - *(int *)(_DAT_8007a120 + 0x4d8) = local_c[0]; - *(undefined4 *)(_DAT_8007a120 + 0x4a4) = *(undefined4 *)(_DAT_8007a120 + 0x4b4); - *(undefined4 *)(_DAT_8007a120 + 0x4ac) = *(undefined4 *)(_DAT_8007a120 + 0x4bc); - fVar4 = FUN_7f081370((longlong)*(int *)(_DAT_8007a120 + 0x4d8), - *(undefined4 *)(_DAT_8007a120 + 0x4b4),*(undefined4 *)(_DAT_8007a120 + 0x4bc) - ); - *(float *)(_DAT_8007a120 + 0x4a8) = fVar4; - iVar2 = 0; - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x14) = *(undefined4 *)(_DAT_8007a120 + 0x488); - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 8) = *(undefined4 *)(_DAT_8007a120 + 0x48c); - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 0xc) = *(undefined4 *)(_DAT_8007a120 + 0x490); - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x10) = *(undefined4 *)(_DAT_8007a120 + 0x494); - fVar4 = DAT_80055138; - if (0 < DAT_800483a4) { - do { - iVar2 += 1; - *(float *)(_DAT_8007a120 + 0x3b8) = - *(float *)(_DAT_8007a120 + 0x4b4) + fVar4 * *(float *)(_DAT_8007a120 + 0x3b8); - *(float *)(_DAT_8007a120 + 0x3bc) = - *(float *)(_DAT_8007a120 + 0x4b8) + fVar4 * *(float *)(_DAT_8007a120 + 0x3bc); - *(float *)(_DAT_8007a120 + 0x3c0) = - *(float *)(_DAT_8007a120 + 0x4bc) + fVar4 * *(float *)(_DAT_8007a120 + 0x3c0); - } while (iVar2 < DAT_800483a4); - } - fVar4 = DAT_8005513c; - *(float *)(_DAT_8007a120 + 0x3c4) = *(float *)(_DAT_8007a120 + 0x3b8) * DAT_8005513c; - *(float *)(_DAT_8007a120 + 0x3c8) = *(float *)(_DAT_8007a120 + 0x3bc) * fVar4; - *(float *)(_DAT_8007a120 + 0x3cc) = *(float *)(_DAT_8007a120 + 0x3c0) * fVar4; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f081da0(void) - -{ - float fVar1; - - fVar1 = *(float *)(_DAT_8007a120 + 0x158); - while (fVar1 < -180.00000000) { - *(float *)(_DAT_8007a120 + 0x158) = fVar1 + 360.00000000; - fVar1 = *(float *)(_DAT_8007a120 + 0x158); - } - while (180.00000000 <= fVar1) { - *(float *)(_DAT_8007a120 + 0x158) = fVar1 - 360.00000000; - fVar1 = *(float *)(_DAT_8007a120 + 0x158); - } - if (90.00000000 < fVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x158) = 0x42b40000; - } - else { - if (fVar1 < -90.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x158) = 0xc2b40000; - } - } - fVar1 = FUN_7f0583c0(*(float *)(_DAT_8007a120 + 0x148) * DAT_80055140); - *(float *)(_DAT_8007a120 + 0x150) = fVar1; - fVar1 = func_7F057FC4(*(float *)(_DAT_8007a120 + 0x148) * DAT_80055144); - *(float *)(_DAT_8007a120 + 0x154) = fVar1; - *(undefined4 *)(_DAT_8007a120 + 0x15c) = *(undefined4 *)(_DAT_8007a120 + 0x158); - fVar1 = *(float *)(_DAT_8007a120 + 0x15c); - if (fVar1 < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x15c) = fVar1 + 360.00000000; - fVar1 = *(float *)(_DAT_8007a120 + 0x15c); - } - fVar1 = FUN_7f0583c0(fVar1 * DAT_80055148); - *(float *)(_DAT_8007a120 + 0x164) = fVar1; - fVar1 = func_7F057FC4(*(float *)(_DAT_8007a120 + 0x15c) * DAT_8005514c); - *(float *)(_DAT_8007a120 + 0x168) = fVar1; - *(float *)(_DAT_8007a120 + 0x498) = -*(float *)(_DAT_8007a120 + 0x154); - *(undefined4 *)(_DAT_8007a120 + 0x49c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x4a0) = *(undefined4 *)(_DAT_8007a120 + 0x150); - return; -} - - - -// WARNING: Instruction at (ram,0x7f083de8) overlaps instruction at (ram,0x7f083de4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F083FB8(uint param_1,char param_2,uint param_3,uint param_4) - -{ - bool bVar1; - bool bVar2; - bool bVar3; - bool bVar4; - uint3 uVar5; - ulonglong uVar6; - longlong lVar7; - int iVar8; - int iVar9; - undefined4 extraout_v0_hi; - undefined4 extraout_v0_hi_00; - undefined4 extraout_v0_hi_01; - undefined4 extraout_v0_hi_02; - undefined4 extraout_v0_hi_03; - undefined4 uVar10; - undefined4 extraout_v0_hi_04; - undefined4 extraout_v0_hi_05; - undefined2 uVar11; - undefined2 uVar12; - short sVar13; - short sVar14; - undefined2 extraout_var; - undefined2 extraout_var_00; - undefined2 extraout_var_01; - undefined2 extraout_var_02; - undefined2 extraout_var_03; - undefined2 extraout_var_04; - undefined2 extraout_var_05; - undefined uVar15; - char cVar16; - char cVar17; - byte bVar18; - undefined uVar19; - undefined extraout_var_06; - undefined extraout_var_07; - undefined extraout_var_08; - undefined extraout_var_09; - undefined extraout_var_10; - undefined extraout_var_11; - undefined extraout_var_12; - int3 iVar21; - undefined4 uVar20; - ushort uVar22; - undefined2 uVar23; - ushort uVar24; - uint uVar25; - uint uVar26; - uint uVar27; - float fVar28; - float fVar29; - float fVar30; - float fVar31; - char cStackX3; - ushort uStackX10; - ushort uStackX14; - uint uStack380; - uint uStack368; - float fStack336; - undefined4 uStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack260; - int iStack256; - float fStack252; - float fStack220; - uint uStack212; - uint uStack204; - ushort uStack198; - ushort uStack196; - ushort uStack194; - uint uStack192; - uint uStack188; - uint uStack184; - uint uStack180; - uint uStack176; - uint uStack172; - ushort uStack166; - ushort uStack164; - byte bStack162; - byte bStack161; - uint uStack160; - uint uStack156; - uint uStack152; - uint uStack148; - int iStack144; - int iStack140; - int iStack128; - uint uStack124; - uint uStack120; - int iStack116; - uint uStack112; - uint uStack108; - uint uStack104; - uint uStack100; - float fStack96; - float fStack92; - uint uStack88; - uint uStack84; - uint uStack80; - uint uStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - uint uStack48; - uint uStack44; - uint uStack40; - uint uStack36; - uint uStack32; - uint uStack28; - uint uStack24; - uint uStack20; - uint uStack16; - uint uStack12; - uint uStack8; - uint uStack4; - - fVar31 = 0.00000000; - uStack4 = 0; - uStack8 = 0; - uStack12 = 0; - uStack16 = 0; - uStack20 = 0; - uStack24 = 0; - uStack28 = 0; - uStack32 = 0; - uStack36 = 0; - uStack40 = 0; - uStack44 = 0; - uStack48 = 0; - uStack76 = 0; - uStack80 = 0; - uStack84 = 0; - uStack88 = 0; - uStack100 = 0; - uStack104 = 0; - uStack108 = 0; - uStack112 = 0; - iStack116 = 0; - uStack120 = 0; - fStack52 = 0.00000000; - fStack56 = 0.00000000; - fStack60 = 0.00000000; - fStack64 = 0.00000000; - fStack68 = 0.00000000; - fStack72 = 0.00000000; - fStack92 = 0.00000000; - fStack96 = 0.00000000; - iVar9 = cur_player_get_lookahead(); - cStackX3 = (char)param_1; - uStack124 = (uint)(CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f, - (short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0); - iStack128 = 0; - if (cStackX3 < -5) { - iVar9 = (int)cStackX3 + 5; - uVar12 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar23 = (undefined2)iVar9; - } - else { - uVar12 = 0; - uVar23 = 0; - if ('\x05' < cStackX3) { - iVar9 = (int)cStackX3 + -5; - uVar12 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar23 = (undefined2)iVar9; - } - } - if (param_2 < -5) { - iVar9 = (int)param_2 + 5; - uVar11 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar15 = (undefined)((ulonglong)(longlong)iVar9 >> 8); - uVar19 = (undefined)iVar9; - } - else { - uVar11 = 0; - uVar15 = 0; - uVar19 = 0; - if ('\x05' < param_2) { - iVar9 = (int)param_2 + -5; - uVar11 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar15 = (undefined)((ulonglong)(longlong)iVar9 >> 8); - uVar19 = (undefined)iVar9; - } - } - iStack140 = (int)cStackX3; - uStack148 = CONCAT22(uVar12,uVar23); - uStack152 = CONCAT31(CONCAT21(uVar11,uVar15),uVar19); - uStack156 = CONCAT22(uVar12,uVar23); - uStack160 = CONCAT31(CONCAT21(uVar11,uVar15),uVar19); - iStack144 = (int)param_2; - uStackX14 = (ushort)param_4; - uStackX10 = (ushort)param_3; - if ((*(int *)(_DAT_8007a120 + 0xd8) == 0) && (DAT_80036464 < 1)) { - iVar9 = *(int *)(_DAT_8007a120 + 0x1c8); - uVar12 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar15 = (undefined)((ulonglong)(longlong)iVar9 >> 8); - if ((((CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,uVar12),uVar15),(char)iVar9) != 5) && - ((uStackX10 & ~uStackX14 & 0x1000) != 0)) || - ((CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,uVar12),uVar15),(char)iVar9) == 5 && - (*(int *)(_DAT_8007a120 + 0x1d0) != 0)))) && (uVar6 = get_num_players(), uVar6 == 1)) { - FUN_7f07fe84(0); - } - } - if (((*(int *)(_DAT_8007a120 + 0x1c8) == 0) && (*(int *)(_DAT_8007a120 + 0xd8) == 0)) && - ((uVar6 = get_num_players(), uVar6 == 1 || ((_DAT_8008c770 == 0 && (_DAT_8008c774 == 0)))))) { - uVar26 = param_3 & 0xffff; - iVar9 = FUN_7f0a5960(); - sVar13 = (short)(cStackX3 >> 7); - cVar16 = cStackX3 >> 7; - iVar8 = (int)(cStackX3 >> 7); - if ((CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 6) || - (((iVar9 = FUN_7f0a5960(), - CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 7 || - (iVar9 = FUN_7f0a5960(), - CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 5)) || - (iVar9 = FUN_7f0a5960(), - CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 4)))) { - uVar27 = uVar26 & ~(param_4 & 0xffff); - uVar25 = get_cur_playernum(); - uVar6 = get_num_players(); - bStack161 = (byte)uVar6; - FUN_7000c150((char)(((uint)bStack161 + - (uVar25 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8 - )) * 0x1000000 >> 0x18)); - uVar25 = get_cur_playernum(); - uVar6 = get_num_players(); - bStack162 = (byte)uVar6; - FUN_7000c260((char)(((uint)bStack162 + - (uVar25 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8 - )) * 0x1000000 >> 0x18)); - uVar25 = get_cur_playernum(); - uVar6 = get_num_players(); - uVar6 = FUN_7000c370((char)(((uint)(byte)uVar6 + - (uVar25 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8)) * - 0x1000000 >> 0x18),0xffff); - uStack164 = (ushort)uVar6; - uStack166 = *(ushort *)(_DAT_8007a120 + 0x3b6); - if ((char)bStack161 < -5) { - uVar12 = (undefined2)((ulonglong)(longlong)((int)(char)bStack161 + 5) >> 0x10); - uVar23 = (undefined2)((int)(char)bStack161 + 5); - } - else { - uVar12 = 0; - uVar23 = 0; - if (5 < CONCAT62(CONCAT42(CONCAT31((undefined3)((char)bStack161 >> 7),(char)bStack161 >> 7), - (undefined2)((char)bStack161 >> 7)),(short)(char)bStack161)) { - iVar9 = CONCAT22((undefined2)((char)bStack161 >> 7),(short)(char)bStack161) + -5; - uVar12 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar23 = (undefined2)iVar9; - } - } - sVar14 = (short)((char)bStack162 >> 7); - cVar17 = (char)bStack162 >> 7; - uStack176 = CONCAT31(CONCAT21(sVar14,cVar17),bStack162) + 5; - if ((-6 < CONCAT71(CONCAT61(CONCAT42((undefined4)((char)bStack162 >> 7),sVar14),cVar17), - bStack162)) && - (uStack176 = CONCAT31(CONCAT21(sVar14,cVar17),bStack162) - 5, - CONCAT71(CONCAT61(CONCAT42((undefined4)((char)bStack162 >> 7),sVar14),cVar17),bStack162) < - 6)) { - uStack176 = 0; - } - uStack172 = CONCAT22(uVar12,uVar23); - iVar9 = FUN_7f0a5960(); - uVar24 = (ushort)((ulonglong)(longlong)(int)uStack172 >> 0x10); - uVar12 = (undefined2)uStack172; - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 4) { -LAB_7f0822d8: - uStack156 = CONCAT22(uVar24,uVar12); - uStack152 = uStack176; - } - else { - uStack172 = uStack172 & 0xffff | (uint)uVar24 << 0x10; - iVar9 = FUN_7f0a5960(); - uVar24 = (ushort)((ulonglong)(longlong)(int)uStack172 >> 0x10); - uVar12 = (undefined2)uStack172; - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 6) - goto LAB_7f0822d8; - if (DAT_80036488 == 1) { - if (*(int *)(_DAT_8007a120 + 0x124) == 0) { - uStack148 = uStack172 & 0xffff | (uint)uVar24 << 0x10; - } - else { - uStack156 = uStack172 & 0xffff | (uint)uVar24 << 0x10; - } - } - else { - uStack156 = uStack172 & 0xffff | (uint)uVar24 << 0x10; - } - uStack160 = uStack176; - } - iVar9 = FUN_7f0a5960(); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 4) { - bVar18 = (byte)((ulonglong)uStack164 >> 8); -LAB_7f08234c: - bVar4 = (bVar18 & 0x20) != 0; - uVar24 = (ushort)bVar18 << 8 & ~uStack166; - bVar1 = (uVar24 & 0x2000) != 0; - bVar2 = (param_3 & 0x2000) != 0; - bVar3 = (uVar27 & 0x2000) != 0; - } - else { - iVar9 = FUN_7f0a5960(); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 5) { - bVar18 = (byte)((ulonglong)uStack164 >> 8); - goto LAB_7f08234c; - } - bVar18 = (byte)((ulonglong)uStack164 >> 8); - bVar4 = (param_3 & 0x2000) != 0; - uVar24 = (ushort)bVar18 << 8 & ~uStack166; - bVar1 = (uVar27 & 0x2000) != 0; - bVar2 = (uStack164 & 0x2000) != 0; - bVar3 = (uVar24 & 0x2000) != 0; - } - uStack180 = (uint)bVar2; - uStack184 = (uint)bVar3; - uStack188 = (uint)bVar4; - uStack192 = (uint)bVar1; - uStack368 = (uint)uVar24; - iVar9 = FUN_7f0c086c(); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0) { - lVar7 = FUN_7f0c316c(); - if (lVar7 == 0) { - iVar9 = (int)uStack180 >> 0x1f; - uVar12 = (undefined2)((ulonglong)(longlong)(int)uStack180 >> 0x10); - uVar19 = (undefined)((ulonglong)(longlong)(int)uStack180 >> 8); - uVar15 = (undefined)uStack180; - } - else { - iVar9 = cur_player_get_screen_setting(); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0) { - *(uint *)(_DAT_8007a120 + 0x124) = uStack188; - } - else { - if (uStack192 != 0) { - *(uint *)(_DAT_8007a120 + 0x124) = (uint)(*(int *)(_DAT_8007a120 + 0x124) == 0); - } - } - uVar25 = *(uint *)(_DAT_8007a120 + 0x124); - iVar21 = (int3)((int)uVar25 >> 0x1f); - cVar17 = (char)((int)uVar25 >> 0x1f); - uVar22 = (ushort)((ulonglong)(longlong)(int)uVar25 >> 0x10); - uVar12 = (undefined2)uVar25; - bVar1 = (uVar27 & 0x4000) != 0; - bVar4 = CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar22),uVar12) == 0; - uStack4 = (uint)bVar4; - uStack120 = (uint)bVar4; - uStack8 = uVar25 & 0xffff | (uint)uVar22 << 0x10; - bVar2 = bVar1; - if (!bVar1) { - bVar2 = (uVar24 & 0x4000) != 0; - } - uStack16 = (uint)bVar2; - uStack20 = (uint)bVar4; - uStack24 = 1; - uStack28 = (uint)bVar4; - uStack32 = (uint)bVar4; - if (((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar22),uVar12) != 0) && ('<' < param_2)) - && (fStack60 = (float)((int)param_2 + -0x3c) / 10.00000000, 1.00000000 < fStack60)) { - fStack60 = 1.00000000; - } - if (((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar22),uVar12) != 0) && (param_2 < -0x3c) - ) && (fStack64 = (float)(-0x3c - (int)param_2) / 10.00000000, 1.00000000 < fStack64)) - { - fStack64 = 1.00000000; - } - if (((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar22),uVar12) != 0) && - (CONCAT71(CONCAT61(CONCAT42(iVar8,sVar13),cVar16),cStackX3) < -0x3c)) && - (fStack68 = (float)(-0x3c - (param_1 & 0xff | (uint)CONCAT21(sVar13,cVar16) << 8)) / - 10.00000000, 1.00000000 < fStack68)) { - fStack68 = 1.00000000; - } - if (((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar22),uVar12) != 0) && - (0x3c < CONCAT71(CONCAT61(CONCAT42(iVar8,sVar13),cVar16),cStackX3))) && - (fStack72 = (float)((param_1 & 0xff | (uint)CONCAT21(sVar13,cVar16) << 8) - 0x3c) / - 10.00000000, 1.00000000 < fStack72)) { - fStack72 = 1.00000000; - } - bVar4 = (param_3 & 0x8000) != 0; - if ((bVar4) || (bVar2 = (bVar18 & 0x80) != 0, bVar2)) { - bVar2 = uStack184 != 0; - } - uStack76 = (uint)bVar2; - bVar2 = (uVar27 & 0x8000) != 0; - if ((bVar2) || (bVar3 = ((ulonglong)(longlong)(int)uStack368 >> 8 & 0x80) != 0, bVar3)) { - bVar3 = uStack180 == 0; - } - uStack80 = (uint)bVar3; - uStack84 = uVar25 & 0xffff | (uint)uVar22 << 0x10; - uStack88 = uVar25 & 0xffff | (uint)uVar22 << 0x10; - uVar25 = FUN_7f05def0(0); - uVar6 = FUN_7f05e5d4(uVar25 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8,0x8000); - if (uVar6 != 0) { - lVar7 = (longlong)(int)uStack176; - uVar12 = (undefined2)((ulonglong)lVar7 >> 0x10); - uVar15 = (undefined)((ulonglong)lVar7 >> 8); - if (*(int *)(_DAT_8007a120 + 0x124) != 0) { - uVar5 = (uint3)((ulonglong)lVar7 >> 8); - if (CONCAT71(CONCAT61(CONCAT42((int)uStack176 >> 0x1f,uVar12),uVar15),(char)uStack176) - < 0) { - fStack92 = (float)-(uStack176 & 0xff | (uint)uVar5 << 8) / 70.00000000; - if (1.00000000 < fStack92) { - fStack92 = 2.00000000; - } - else { - fStack92 = fStack92 + fStack92; - } - } - if (0 < CONCAT71(CONCAT61(CONCAT42((int)uStack176 >> 0x1f,uVar12),uVar15), - (char)uStack176)) { - fStack96 = (float)(uStack176 & 0xff | (uint)uVar5 << 8) / 70.00000000; - if (1.00000000 < fStack96) { - fStack96 = 2.00000000; - } - else { - fStack96 = fStack96 + fStack96; - } - } - } - } - uVar25 = FUN_7f05def0(0); - uVar6 = FUN_7f05e5d4(uVar25 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8,0x8000); - uStack100 = (uint)(uVar6 == 0); - if ((uVar6 == 0) && - (bVar3 = *(int *)(_DAT_8007a120 + 0x124) != 0, uStack100 = (uint)bVar3, bVar3)) { - uStack100 = (uint)((char)bStack162 < -0x1e); - } - uVar25 = FUN_7f05def0(0); - uVar6 = FUN_7f05e5d4(uVar25 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8,0x8000); - uStack104 = (uint)(uVar6 == 0); - if ((uVar6 == 0) && - (bVar3 = *(int *)(_DAT_8007a120 + 0x124) != 0, uStack104 = (uint)bVar3, bVar3)) { - uStack104 = (uint)((char)bStack162 < '\x1f') ^ 1; - } - if ((((((bVar4) && (bVar1)) || (((param_3 & 0x4000) != 0 && (bVar2)))) || - (((bVar18 & 0x80) != 0 && ((uVar24 & 0x4000) != 0)))) || - (((bVar18 & 0x40) != 0 && ((uVar24 & 0x8000) != 0)))) && - (iVar9 = FUN_7f05def0(0), - CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0x1d)) { - iStack116 = 1; - uStack76 = 0; - uStack80 = 0; - uStack16 = 0; - } - iVar9 = (int)uStack180 >> 0x1f; - uVar15 = (undefined)uStack180; - if (DAT_80036488 == 1) { - if (*(int *)(_DAT_8007a120 + 0x124) == 0) { - uVar12 = (undefined2)((ulonglong)(longlong)(int)uStack180 >> 0x10); - uVar19 = (undefined)((ulonglong)(longlong)(int)uStack180 >> 8); - } - else { - iVar9 = FUN_7f05def0(0); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f, - (short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0x20) { - iStack140 = 0; - if (uStack156 == 0) { - uStack156 = uStack148; - } - } - else { - if (uStack156 == 0) { - if (0.00000000 < fStack68) { - fStack52 = fStack68; - } - if (0.00000000 < fStack72) { - fStack56 = fStack72; - } - } - } - fStack68 = 0.00000000; - fStack72 = 0.00000000; - iVar9 = (int)uStack180 >> 0x1f; - uVar12 = (undefined2)((ulonglong)(longlong)(int)uStack180 >> 0x10); - uVar19 = (undefined)((ulonglong)(longlong)(int)uStack180 >> 8); - uVar15 = (undefined)uStack180; - } - } - else { - uVar12 = (undefined2)((ulonglong)(longlong)(int)uStack180 >> 0x10); - uVar19 = (undefined)((ulonglong)(longlong)(int)uStack180 >> 8); - } - } - } - else { - iVar9 = (int)uStack180 >> 0x1f; - uVar12 = (undefined2)((ulonglong)(longlong)(int)uStack180 >> 0x10); - uVar19 = (undefined)((ulonglong)(longlong)(int)uStack180 >> 8); - uVar15 = (undefined)uStack180; - } - bVar4 = CONCAT71(CONCAT61(CONCAT42(iVar9,uVar12),uVar19),uVar15) != 0; - uStack12 = (uint)bVar4; - if (bVar4) { - bVar4 = *(int *)(_DAT_8007a120 + 0x1c8) == 0; - if (bVar4) { - bVar4 = ((ulonglong)(longlong)(int)uVar26 >> 8 & 0x80) == 0; - uStack12 = (uint)bVar4; - if (!bVar4) goto LAB_7f0828b8; - bVar4 = (bVar18 & 0x80) == 0; - } - uStack12 = (uint)bVar4; - } -LAB_7f0828b8: - iStack128 = 1; - *(ushort *)(_DAT_8007a120 + 0x3b6) = uStack164; - } - else { - iVar9 = FUN_7f0a5960(); - if ((CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 2) || - (iVar9 = FUN_7f0a5960(), - CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 3)) { - uStack194 = 0x8000; - uStack196 = 0x2000; - uStack198 = 0x30; - } - else { - uStack194 = 0x2000; - uStack196 = 0x30; - uStack198 = 0x8000; - } - iVar9 = FUN_7f0c086c(); - if ((CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0) && - (lVar7 = FUN_7f0c316c(), lVar7 != 0)) { - uVar25 = uVar26 & ~(param_4 & 0xffff); - iVar9 = cur_player_get_screen_setting(); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0) { - *(uint *)(_DAT_8007a120 + 0x124) = - (uint)(((longlong)(int)uVar26 & (ulonglong)uStack196) != 0); - } - else { - if (((longlong)(int)uVar25 & (ulonglong)uStack196) != 0) { - *(uint *)(_DAT_8007a120 + 0x124) = (uint)(*(int *)(_DAT_8007a120 + 0x124) == 0); - } - } - uVar27 = *(uint *)(_DAT_8007a120 + 0x124); - uVar24 = (ushort)((ulonglong)(longlong)(int)uVar27 >> 0x10); - bVar4 = ((ulonglong)(longlong)(int)uVar25 >> 8 & 0x40) != 0; - uStack120 = (uint)(CONCAT62(CONCAT42(CONCAT31((undefined3)((int)uVar27 >> 0x1f), - (undefined)((int)uVar27 >> 0x1f)),uVar24), - (short)uVar27) == 0); - uStack16 = (uint)bVar4; - uStack8 = uVar27 & 0xffff | (uint)uVar24 << 0x10; - uStack4 = uStack120; - iVar9 = FUN_7f0a5960(); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 1) { - uVar15 = (undefined)((ulonglong)(longlong)(int)uVar26 >> 8); -LAB_7f0829e8: - bVar1 = (CONCAT11(uVar15,(char)uVar26) & 0x202) != 0; - uVar27 = (uint)bVar1; - if (bVar1) { - if (*(int *)(_DAT_8007a120 + 0x124) == 0) { - if (DAT_80036488 == 1) { - fStack68 = 1.00000000; - } - else { - uStack44 = 1; - } - } - else { - fStack52 = 1.00000000; - } - } - bVar2 = (CONCAT11(uVar15,(char)uVar26) & 0x101) != 0; - uStack380 = (uint)bVar2; - iVar9 = *(int *)(_DAT_8007a120 + 0x124); - iVar21 = (int3)(iVar9 >> 0x1f); - cVar17 = (char)(iVar9 >> 0x1f); - uVar12 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar23 = (undefined2)iVar9; - if (bVar2) { - if (CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) == 0) { - if (DAT_80036488 == 1) { - fStack72 = 1.00000000; - } - else { - uStack48 = 1; - } - } - else { - fStack56 = 1.00000000; - } - } - bVar2 = CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) == 0; - bVar3 = bVar2; - if (bVar2) { - bVar3 = (param_3 & 0x808) != 0; - } - uStack36 = (uint)bVar3; - bVar3 = bVar2; - if (bVar2) { - bVar3 = (param_3 & 0x404) != 0; - } - uStack40 = (uint)bVar3; - uStack32 = (uint)bVar2; - if (DAT_80036488 == 1) { - uStack24 = (uint)bVar2; - uVar27 = (uint)bVar1; - } - else { - uStack28 = (uint)bVar2; - } - } - else { - iVar9 = FUN_7f0a5960(); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 3) { - uVar15 = (undefined)((ulonglong)(longlong)(int)uVar26 >> 8); - goto LAB_7f0829e8; - } - bVar1 = (param_3 & 0x202) != 0; - uVar27 = (uint)bVar1; - if (bVar1) { - fStack52 = 1.00000000; - } - bVar2 = (param_3 & 0x101) != 0; - if (bVar2) { - fStack56 = 1.00000000; - } - iVar9 = *(int *)(_DAT_8007a120 + 0x124); - iVar21 = (int3)(iVar9 >> 0x1f); - cVar17 = (char)(iVar9 >> 0x1f); - uVar12 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar23 = (undefined2)iVar9; - bVar3 = CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) == 0; - uStack44 = (uint)(bVar3 && bVar1); - uStack380 = (uint)bVar2; - uStack48 = (uint)(bVar3 && bVar2); - uStack20 = (uint)bVar3; - if ((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) == 0) && - ((param_3 & 0x808) != 0)) { - fStack60 = 1.00000000; - } - if ((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) == 0) && - ((param_3 & 0x404) != 0)) { - fStack64 = 1.00000000; - } - uStack28 = (uint)bVar3; - } - if ((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) == 0) || (param_2 < '=')) { - if ((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) != 0) && - ((param_2 < -0x3c && - (fStack64 = (float)(-0x3c - (int)param_2) / 10.00000000, 1.00000000 < fStack64)))) { - fStack64 = 1.00000000; - } - } - else { - fStack60 = (float)((int)param_2 + -0x3c) / 10.00000000; - if (1.00000000 < fStack60) { - fStack60 = 1.00000000; - } - } - if (((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) != 0) && - (CONCAT71(CONCAT61(CONCAT42(iVar8,sVar13),cVar16),cStackX3) < -0x3c)) && - (fStack68 = (float)(-0x3c - (param_1 | (uint)CONCAT21(sVar13,cVar16) << 8)) / 10.00000000 - , 1.00000000 < fStack68)) { - fStack68 = 1.00000000; - } - if ((CONCAT62(CONCAT42(CONCAT31(iVar21,cVar17),uVar12),uVar23) == 0) || - (CONCAT71(CONCAT61(CONCAT42(iVar8,sVar13),cVar16),cStackX3) < 0x3d)) { -LAB_7f082cfc: - bVar18 = (byte)((ulonglong)uStack198 >> 8); - } - else { - fStack72 = (float)((param_1 & 0xff | (uint)CONCAT21(sVar13,cVar16) << 8) - 0x3c) / - 10.00000000; - if (1.00000000 < fStack72) { - fStack72 = 1.00000000; - goto LAB_7f082cfc; - } - bVar18 = (byte)((ulonglong)uStack198 >> 8); - } - bVar1 = ((longlong)(int)uVar26 & (ulonglong)(ushort)(uStack198 & 0xff | (ushort)bVar18 << 8) - ) != 0; - bVar2 = bVar1; - if (bVar1) { - bVar2 = ((longlong)(int)uVar25 & (ulonglong)uStack194) != 0; - } - uStack76 = (uint)bVar2; - bVar3 = ((longlong)(int)uVar25 & (ulonglong)(ushort)(uStack198 & 0xff | (ushort)bVar18 << 8) - ) != 0; - bVar2 = bVar3; - if (bVar3) { - bVar2 = ((longlong)(int)uVar26 & (ulonglong)uStack194) == 0; - } - uStack80 = (uint)bVar2; - uStack84 = CONCAT22(uVar12,uVar23); - uStack88 = CONCAT22(uVar12,uVar23); - uVar25 = FUN_7f05def0(0); - uVar6 = FUN_7f05e5d4(uVar25 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8,0x8000); - if (uVar6 != 0) { - if (*(int *)(_DAT_8007a120 + 0x124) != 0) { - if ((param_3 & 0x404) != 0) { - fStack92 = 1.00000000; - } - if ((param_3 & 0x808) != 0) { - fStack96 = 1.00000000; - } - } - } - uVar25 = FUN_7f05def0(0); - uVar6 = FUN_7f05e5d4(uVar25 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8,0x8000); - uStack100 = (uint)(uVar6 == 0); - if ((uVar6 == 0) && - (bVar2 = *(int *)(_DAT_8007a120 + 0x124) != 0, uStack100 = (uint)bVar2, bVar2)) { - uStack100 = (uint)((param_3 & 0x404) != 0); - } - uVar25 = FUN_7f05def0(0); - uVar6 = FUN_7f05e5d4(uVar25 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)uVar25 >> 8) << 8,0x8000); - uStack104 = (uint)(uVar6 == 0); - if ((uVar6 == 0) && - (bVar2 = *(int *)(_DAT_8007a120 + 0x124) != 0, uStack104 = (uint)bVar2, bVar2)) { - uStack104 = (uint)((~uVar26 & 0x808) != 0); - } - iVar9 = *(int *)(_DAT_8007a120 + 0x124); - bVar2 = CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10) - ),(char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) != - 0; - uStack108 = (uint)bVar2; - if (bVar2) { - uStack108 = uVar27; - } - uStack112 = (uint)bVar2; - if (bVar2) { - uStack112 = uStack380; - } - if ((((bVar1) && (bVar4)) || (((param_3 & 0x4000) != 0 && (bVar3)))) && - (iVar9 = FUN_7f05def0(0), - CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0x1d)) { - iStack116 = 1; - uStack76 = 0; - uStack80 = 0; - uStack16 = 0; - } - if ((DAT_80036488 == 1) && (*(int *)(_DAT_8007a120 + 0x124) != 0)) { - iVar9 = FUN_7f05def0(0); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0x20) { - iStack140 = 0; - uStack24 = 1; - } - else { - if ((fStack52 == 0.00000000) && (fStack56 == 0.00000000)) { - if (0.00000000 < fStack68) { - fStack52 = fStack68; - } - if (0.00000000 < fStack72) { - fStack56 = fStack72; - } - } - } - fStack68 = 0.00000000; - fStack72 = 0.00000000; - } - } - bVar4 = ((ushort)uVar26 & uStack194) != 0; - uStack12 = (uint)bVar4; - if (bVar4) { - bVar4 = *(int *)(_DAT_8007a120 + 0x1c8) == 0; - uStack12 = (uint)bVar4; - if (bVar4) { - uStack12 = (uint)(((longlong)(int)uVar26 & (ulonglong)uStack198) == 0); - } - } - iVar9 = FUN_7f0a5960(); - if ((CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 1) || - (iVar9 = FUN_7f0a5960(), - CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 3)) { - iStack128 = 1; - } - } - } - *(undefined4 *)(_DAT_8007a120 + 0xd0) = 0; - if (uStack16 != 0) { - if (DAT_80036488 == 1) { - uStack204 = *(uint *)(DAT_80036490 + 4); - uVar26 = FUN_7f069a3c(0x20); - *(uint *)(uStack204 + 0xd8) = - uVar26 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar26 >> 8) << 8; - FUN_7f069a70(0x20,0); - FUN_7f08cf14(0x20); - iVar9 = FUN_7f05def0(0); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 0x20) { - uVar26 = FUN_7f069930(0); - uVar24 = (ushort)((ulonglong)(longlong)(int)uStack204 >> 0x10); - *(int *)((uStack204 & 0xffff | (uint)uVar24 << 0x10) + 0xd8) = - *(int *)((uStack204 & 0xffff | (uint)uVar24 << 0x10) + 0xd8) + - (uVar26 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar26 >> 8) << 8); - FUN_7f05dd20(); - } - uVar12 = 0; - uVar15 = 0; - *(undefined4 *)(uStack204 + 0xc4) = 0; - DAT_80036488 = 0; - uVar19 = 0; - *(undefined4 *)(_DAT_8007a120 + 0x16c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x174) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x14c) = 0; - do { - iVar9 = CONCAT31(CONCAT21(uVar12,uVar15),uVar19); - iVar8 = CONCAT31(CONCAT21(uVar12,uVar15),uVar19) + 4; - uVar19 = (undefined)iVar8; - uVar12 = (undefined2)((ulonglong)(longlong)iVar8 >> 0x10); - uVar15 = (undefined)((ulonglong)(longlong)iVar8 >> 8); - *(undefined4 *)(_DAT_8007a120 + iVar9 + 0x180) = 0; - } while (CONCAT71(CONCAT61(CONCAT42(iVar8 >> 0x1f,uVar12),uVar15),uVar19) != 0xc); - *(undefined4 *)(_DAT_8007a120 + 0x9c) = 2; - } - else { - iVar9 = DAT_80036490 >> 0x1f; - uVar12 = (undefined2)((ulonglong)(longlong)DAT_80036490 >> 0x10); - uVar19 = (undefined)((ulonglong)(longlong)DAT_80036490 >> 8); - uVar15 = (undefined)DAT_80036490; - if ((((CONCAT71(CONCAT61(CONCAT42(iVar9,uVar12),uVar19),uVar15) == 0) || - (*(char *)CONCAT71(CONCAT61(CONCAT42(iVar9,uVar12),uVar19),uVar15) != '\x01')) || - (uVar26 = *(uint *)((int)CONCAT71(CONCAT61(CONCAT42(iVar9,uVar12),uVar19),uVar15) + 4), - *(char *)(uVar26 + 3) != '-')) || (DAT_800364c0 == 0)) { - *(undefined4 *)(_DAT_8007a120 + 0xd0) = 1; - } - else { - uStack212 = uVar26; - FUN_7f08cd68(0x20); - FUN_7f069a70(0x20,*(int *)((uStack212 & 0xffff | - (uint)(ushort)((ulonglong)(longlong)(int)uStack212 >> 0x10) << - 0x10) + 0xd8)); - uVar24 = (ushort)((ulonglong)(longlong)(int)uStack212 >> 0x10); - DAT_800364ac = *(float *)((uStack212 & 0xffff | (uint)uVar24 << 0x10) + 200); - *(undefined4 *)((uStack212 & 0xffff | (uint)uVar24 << 0x10) + 0xd8) = 0; - DAT_800364b0 = DAT_800364ac / DAT_80055150; - DAT_800364c4 = *(undefined4 *)((uStack212 & 0xffff | (uint)uVar24 << 0x10) + 0xcc); - DAT_800364b4 = *(float *)((uStack212 & 0xffff | (uint)uVar24 << 0x10) + 0xcc); - DAT_800364b8 = DAT_800364b4 / DAT_80055154; - DAT_800364bc = 0; - DAT_800364a4 = *(undefined4 *)((uStack212 & 0xffff | (uint)uVar24 << 0x10) + 0xdc); - DAT_800364a0 = 0.00000000; - DAT_80036488 = 1; - _DAT_800799f8 = 0; - *(undefined4 *)(_DAT_8007a120 + 0x16c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x174) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x14c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x9c) = 1; - _DAT_800799fc = 0; - _DAT_80079a00 = 0x3f800000; - _DAT_80079a04 = *(undefined4 *)(_DAT_8007a120 + 0x148); - _DAT_80079a08 = *(undefined4 *)(_DAT_8007a120 + 0x158); - _DAT_80079a10 = *(undefined4 *)(_DAT_8007a120 + 0x48c); - _DAT_80079a14 = *(undefined4 *)(_DAT_8007a120 + 0x490); - _DAT_80079a18 = *(undefined4 *)(_DAT_8007a120 + 0x494); - DAT_800364d0 = 0; - FUN_7f07cdd8(); - } - } - } - fVar30 = fStack64; - if (uStack124 == 0) { - iStack144 = -(int)param_2; - uStack152 = -uStack152; - fStack64 = fStack60; - fStack60 = fVar30; - } - uVar6 = FUN_7f08a5ac(); - if ((uVar6 != 0) && (uVar6 = get_num_players(), uVar6 == 1)) { - uStack12 = 0; - } - FUN_7f0679f8(uStack12); - iVar9 = FUN_7f08a6ac(); - uVar15 = (undefined)iVar9; - if ((CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),uVar15) != 0) && - ((FUN_7f05e1a8(0), - CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi,extraout_var),extraout_var_06),uVar15) != 0 || - (FUN_7f05e1a8(1), - CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi_00,extraout_var_00),extraout_var_07),uVar15) != 0))) - ) { - fStack220 = 0.00000000; - fVar30 = (float)FUN_7f05e1a8(0); - if (CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi_01,extraout_var_01),extraout_var_08),uVar15) != 0) - { - uVar10 = FUN_7f06774c(0); - uVar15 = (undefined)uVar10; - if (0.00000000 < fVar30) { - uVar10 = FUN_7f06774c(0); - uVar15 = (undefined)uVar10; - fStack220 = fVar30; - } - } - fVar30 = (float)FUN_7f05e1a8(1); - if ((CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi_02,extraout_var_02),extraout_var_09),uVar15) != 0 - ) && (FUN_7f06774c(1), fStack220 < fVar30)) { - FUN_7f06774c(1); - fStack220 = fVar30; - } - FUN_7f0231d4(fStack220); - } - fVar30 = (float)FUN_7f06ab94(2,(longlong)(int)uStack84); - if (0.00000000 < fStack92) { - fVar30 = (float)FUN_7f05e2c4(fStack92); - } - if (0.00000000 < fStack96) { - fVar30 = (float)FUN_7f05e3b4(fStack96); - } - if (*(int *)(_DAT_8007a120 + 0x1c8) == 0) { - fVar28 = 60.00000000; - if ((uStack88 != 0) && (FUN_7f05e258(), fVar28 = fVar30, fVar30 <= 0.00000000)) { - fVar28 = 60.00000000; - } - FUN_7f07ea90(fVar28); - FUN_7f07ec50(); - } - if (DAT_80036488 == 1) { - DAT_800364c8 = 0.00000000; - if (_DAT_800799f8 == 2) { - if (0.00000000 < fStack56) { - DAT_800364c8 = DAT_800483b4 * fStack56 * DAT_80055158 + 0.00000000; - } - else { - if (0.00000000 < fStack52) { - DAT_800364c8 = 0.00000000 - DAT_800483b4 * fStack52 * DAT_8005515c; - } - else { - if (uStack24 != 0) { - fVar30 = 1.00000000; - if ((float)uStack156 / 70.00000000 <= 1.00000000) { - fVar30 = (float)uStack156 / 70.00000000; - } - fVar28 = -1.00000000; - if (-1.00000000 <= fVar30) { - fVar28 = fVar30; - } - DAT_800364c8 = DAT_80055160 * fVar28 * DAT_800483b4 + 0.00000000; - } - } - } - fVar30 = 1.00000000; - if (*(int *)(_DAT_8007a120 + 0x124) == 0) { - if (uStack20 == 0) { - fVar28 = fVar30; - if ((uStack36 == 0) && (fVar28 = 0.00000000, uStack40 != 0)) { - fVar28 = -1.00000000; - } - } - else { - fVar28 = (float)uStack160 / 70.00000000; - } - if (1.00000000 < fVar28) { - fVar29 = 1.00000000; - } - else { - fVar29 = -1.00000000; - if (-1.00000000 <= fVar28) { - fVar29 = fVar28; - } - } - fVar29 = fVar29 * 15.00000000; - lVar7 = (longlong)(int)DAT_800364d0; - if (0 < CONCAT71(CONCAT61(CONCAT42((int)DAT_800364d0 >> 0x1f, - (short)((ulonglong)lVar7 >> 0x10)), - (char)((ulonglong)lVar7 >> 8)),(char)DAT_800364d0)) { - fVar30 = 4.00000000; - DAT_800364d0 = (DAT_800364d0 & 0xff | (uint)(uint3)((ulonglong)lVar7 >> 8) << 8) - - DAT_800483a4; - fVar29 = fVar29 * 0.50000000; - } - fVar28 = *(float *)(_DAT_8007a120 + 0x174); - if (fVar29 != fVar28) { - if (fVar28 < fVar29) { - *(float *)(_DAT_8007a120 + 0x174) = - fVar28 + (((((fVar29 - fVar28) * 0.25000000) / 15.00000000 + 0.50000000) * fVar30 * - 10.00000000) / 60.00000000) * DAT_800483b4; - if (fVar29 < *(float *)(_DAT_8007a120 + 0x174)) { - *(float *)(_DAT_8007a120 + 0x174) = fVar29; - } - } - else { - if ((fVar29 < fVar28) && - (*(float *)(_DAT_8007a120 + 0x174) = - fVar28 + (((((fVar28 - fVar29) * 0.25000000) / 15.00000000 + 0.50000000) * - fVar30 * -10.00000000) / 60.00000000) * DAT_800483b4, - *(float *)(_DAT_8007a120 + 0x174) < fVar29)) { - *(float *)(_DAT_8007a120 + 0x174) = fVar29; - } - } - } - } - } - } - else { - if (uStack44 == 0) { - if (uStack48 == 0) { - FUN_7f0802d4(0); - } - else { - FUN_7f0802d4(1); - } - } - else { - FUN_7f0802d4(-1); - } - if (uStack24 != 0) { - *(float *)(_DAT_8007a120 + 0x16c) = (float)uStack156 / 70.00000000; - } - if (uStack36 == 0) { - if (uStack40 == 0) { - FUN_7f08042c(0); - } - else { - FUN_7f08042c(-1); - } - } - else { - FUN_7f08042c(1); - *(int *)(_DAT_8007a120 + 0x17c) = *(int *)(_DAT_8007a120 + 0x17c) + DAT_800483a4; - } - if (uStack20 != 0) { - *(float *)(_DAT_8007a120 + 0x174) = (float)uStack160 / 70.00000000; - if ((int)uStack160 < 0x3d) { - *(undefined4 *)(_DAT_8007a120 + 0x17c) = 0; - } - else { - *(int *)(_DAT_8007a120 + 0x17c) = *(int *)(_DAT_8007a120 + 0x17c) + DAT_800483a4; - } - } - fVar30 = *(float *)(_DAT_8007a120 + 0x174); - if (1.00000000 < fVar30) { - *(undefined4 *)(_DAT_8007a120 + 0x174) = 0x3f800000; - fVar30 = *(float *)(_DAT_8007a120 + 0x174); - } - if (fVar30 < -1.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x174) = 0xbf800000; - } - fVar30 = *(float *)(_DAT_8007a120 + 0x16c); - if (1.00000000 < fVar30) { - *(undefined4 *)(_DAT_8007a120 + 0x16c) = 0x3f800000; - fVar30 = *(float *)(_DAT_8007a120 + 0x16c); - } - if (fVar30 < -1.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x16c) = 0xbf800000; - } - *(float *)(_DAT_8007a120 + 0x174) = *(float *)(_DAT_8007a120 + 0x174) * DAT_80055164; - *(float *)(_DAT_8007a120 + 0x174) = - *(float *)(_DAT_8007a120 + 0x174) * *(float *)(_DAT_8007a120 + 0x178); - if ((uStack20 == 0) && (uStack36 == 0)) { - *(undefined4 *)(_DAT_8007a120 + 0x17c) = 0; - } - if (uStack108 == 0) { - if (uStack112 == 0) { - FUN_7f079f78(0); - } - else { - FUN_7f079f78(1); - } - } - else { - FUN_7f079f78(-1); - } - if (uStack100 == 0) { - if (uStack104 != 0) { - FUN_7f079f9c(2); - } - } - else { - FUN_7f079f9c(-2); - } - } - if (*(int *)(_DAT_8007a120 + 0x17c) < 0xb4) { - fVar30 = *(float *)(_DAT_8007a120 + 0x178); - if (1.00000000 < fVar30) { - *(float *)(_DAT_8007a120 + 0x178) = fVar30 - DAT_8005516c * DAT_800483b4; - fVar30 = *(float *)(_DAT_8007a120 + 0x178); - } - if (fVar30 < 1.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x178) = 0x3f800000; - goto LAB_7f083a78; - } - iVar9 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - fVar30 = *(float *)(_DAT_8007a120 + 0x178); - if (fVar30 < 1.25000000) { - *(float *)(_DAT_8007a120 + 0x178) = fVar30 + DAT_80055168 * DAT_800483b4; - fVar30 = *(float *)(_DAT_8007a120 + 0x178); - } - if (1.25000000 < fVar30) { - *(undefined4 *)(_DAT_8007a120 + 0x178) = 0x3fa00000; -LAB_7f083a78: - iVar9 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - iVar9 = *(int *)(_DAT_8007a120 + 0x1c8); - } - } - if (iVar9 == 0) { - fVar28 = -4.00000000; - if (*(int *)(_DAT_8007a120 + 0x114) != 0) { - iStack256 = *(int *)(_DAT_8007a120 + 0x488); - fStack260 = 300.00000000; - fStack252 = -4.00000000; - FUN_7f08a9ac(*(int *)(_DAT_8007a120 + 0xa8),&uStack288,&fStack280,&fStack284); - fStack276 = *(float *)(_DAT_8007a120 + 0x498) * 300.00000000 + - *(float *)(_DAT_8007a120 + 0x48c); - fStack272 = *(float *)(_DAT_8007a120 + 0x490); - fStack268 = *(float *)(_DAT_8007a120 + 0x4a0) * 300.00000000 + - *(float *)(_DAT_8007a120 + 0x494); - FUN_7f0b2874(); - uVar10 = extraout_v0_hi_03; - uVar12 = extraout_var_03; - uVar15 = extraout_var_10; - uVar20 = loc_7F0B13B4(&iStack256,*(float *)(_DAT_8007a120 + 0x48c), - *(float *)(_DAT_8007a120 + 0x494),fStack276,fStack268,0x1000,fStack280, - fStack284,0.00000000,1.00000000); - if (CONCAT71(CONCAT61(CONCAT42(uVar10,uVar12),uVar15),(char)((uint)uVar20 >> 0x18)) == 0) { - FUN_7f0265a0((float *)(_DAT_8007a120 + 0x48c),(float *)(_DAT_8007a120 + 0x498),&fStack276); - fVar30 = fStack276 - *(float *)(_DAT_8007a120 + 0x48c); - fVar28 = fStack268 - *(float *)(_DAT_8007a120 + 0x494); - fStack260 = sqrtf(fVar30 * fVar30 + fVar28 * fVar28); - fVar30 = FUN_7f081370((longlong)iStack256,fStack276,fStack268); - } - else { - fVar30 = FUN_7f081370((longlong)iStack256,fStack276,fStack268); - } - fVar28 = fStack252; - fStack272 = fVar30; - if (((0.00000000 < fStack260) && - (fVar29 = fVar30 - *(float *)(_DAT_8007a120 + 0x74), fVar28 = fStack252, - fStack272 = fVar30, -300.00000000 < fVar29)) && - (fVar28 = fStack252, fStack272 = fVar30, fVar29 < 500.00000000)) { - fStack272 = fVar30; - fVar30 = loc_7F05AB54(fVar29,fStack260); - fVar28 = (fVar30 * 360.00000000) / DAT_80055170 + -4.00000000; - if (180.00000000 <= fVar28) { - fVar28 = fVar28 - 360.00000000; - } - if (0.00000000 < fVar28) { - fVar28 = fVar28 * DAT_80055174; - } - } - } - if (((*(int *)(_DAT_8007a120 + 0x110) != 0) && ((int)uStack160 < 0x28)) && - (-0x28 < (int)uStack160)) { - *(undefined4 *)(_DAT_8007a120 + 0x110) = 0; - } - if (DAT_80036488 == 0) { - if (fStack60 <= 0.00000000) { - if (0.00000000 < fStack64) { - *(undefined4 *)(_DAT_8007a120 + 0x104) = 0; - goto LAB_7f083cf8; - } - if (iStack128 != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x120) = 0; - goto LAB_7f083e40; - } - if (*(int *)(_DAT_8007a120 + 0x118) == 0) { - if (*(int *)(_DAT_8007a120 + 0x11c) == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x10c) = 0; - } - else { - if ((uStack20 != 0) && ((0x3c < (int)uStack160 || ((int)uStack160 < -0x3c)))) { - fVar30 = *(float *)(_DAT_8007a120 + 0x158); - if (fVar30 <= fVar28 + 5.00000000) { - if (fVar28 + -10.00000000 <= fVar30) { - *(undefined4 *)(_DAT_8007a120 + 0x10c) = 0; - goto LAB_7f083e48; - } - iVar9 = *(int *)(_DAT_8007a120 + 0x110); - } - else { - iVar9 = *(int *)(_DAT_8007a120 + 0x110); - } - if (iVar9 != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x10c) = 0; - goto LAB_7f083e48; - } - *(undefined4 *)(_DAT_8007a120 + 0x104) = 1; - } -LAB_7f083e40: - *(undefined4 *)(_DAT_8007a120 + 0x10c) = 0; - } - } - else { - if (uStack20 == 0) { -LAB_7f083d5c: - iVar9 = *(int *)(_DAT_8007a120 + 0x120); - } - else { - if ((0x3c < (int)uStack160) || ((int)uStack160 < -0x3c)) { - *(undefined4 *)(_DAT_8007a120 + 0x120) = 1; - goto LAB_7f083d5c; - } - iVar9 = *(int *)(_DAT_8007a120 + 0x120); - } - if (iVar9 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x10c) = 0; - } - else { - fVar30 = *(float *)(_DAT_8007a120 + 0x158); - if (fVar30 <= fVar28 + 5.00000000) { - if (fVar28 + -10.00000000 <= fVar30) { - *(undefined4 *)(_DAT_8007a120 + 0x10c) = 0; - goto LAB_7f083e48; - } - iVar9 = *(int *)(_DAT_8007a120 + 0x110); - } - else { - iVar9 = *(int *)(_DAT_8007a120 + 0x110); - } - if (iVar9 == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x104) = 1; - goto LAB_7f083e40; - } - *(undefined4 *)(_DAT_8007a120 + 0x10c) = 0; - } - } - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x104) = 0; -LAB_7f083cf8: - *(undefined4 *)(_DAT_8007a120 + 0x10c) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x120) = 0; - } -LAB_7f083e48: - iVar9 = *(int *)(_DAT_8007a120 + 0x104); - } - else { - iVar9 = *(int *)(_DAT_8007a120 + 0x104); - } - if (iVar9 == 0) { - if (uStack32 == 0) { - if (fStack60 <= 0.00000000) { - if (0.00000000 < fStack64) { - fVar30 = (float)FUN_7f080620(-fStack64); - if ((uStack20 != 0) && ((0x3c < (int)uStack160 || ((int)uStack160 < 0x3c)))) { - *(undefined4 *)(_DAT_8007a120 + 0x110) = 1; - } - } - else { - fVar30 = (float)FUN_7f080620(0); - } - } - else { - fVar30 = (float)FUN_7f080620(fStack60); - if ((uStack20 != 0) && ((0x3c < (int)uStack160 || ((int)uStack160 < 0x3c)))) { - *(undefined4 *)(_DAT_8007a120 + 0x110) = 1; - } - } - } - else { - FUN_700045dc(); - fVar28 = (float)uStack152 / 70.00000000; - if (1.00000000 < fVar28) { - fVar28 = 1.00000000; - bVar4 = true; - } - else { - if (fVar28 < -1.00000000) { - fVar28 = -1.00000000; - bVar4 = false; - } - else { - bVar4 = 0.00000000 <= fVar28; - } - } - fVar29 = fVar28; - if (!bVar4) { - fVar29 = -fVar28; - } - *(float *)(_DAT_8007a120 + 0x160) = -(fVar28 * fVar29) * (fVar30 / 60.00000000); - } - *(float *)(_DAT_8007a120 + 0x158) = - *(float *)(_DAT_8007a120 + 0x158) + - *(float *)(_DAT_8007a120 + 0x160) * DAT_800483b4 * 3.50000000; - if (((DAT_80036488 == 1) && (_DAT_800799f8 == 2)) && - (fVar30 = -20.00000000, *(float *)(_DAT_8007a120 + 0x158) < -20.00000000)) { - *(undefined4 *)(_DAT_8007a120 + 0x158) = 0xc1a00000; - } - } - else { - if (DAT_80036488 == 0) { - fVar30 = (*(float *)(_DAT_8007a120 + 0x160) * *(float *)(_DAT_8007a120 + 0x160) * 0.50000000 - ) / DAT_80055178; - if (fVar28 + fVar30 < *(float *)(_DAT_8007a120 + 0x158)) { - fStack252 = fVar28; - FUN_7f080620(0x3f800000); - } - else { - if (*(float *)(_DAT_8007a120 + 0x158) < fVar28 - fVar30) { - fStack252 = fVar28; - FUN_7f080620(0xbf800000); - } - else { - fStack252 = fVar28; - FUN_7f080620(0); - } - } - fVar30 = *(float *)(_DAT_8007a120 + 0x158); - fVar28 = *(float *)(_DAT_8007a120 + 0x160) * DAT_800483b4; - fVar28 = fVar30 + fVar28 + fVar28; - if ((fVar30 <= fStack252) || (fVar28 <= fStack252)) { - if (fVar30 < fStack252) { - if (fVar28 < fStack252) { - *(float *)(_DAT_8007a120 + 0x158) = fVar28; - goto LAB_7f084150; - } - *(float *)(_DAT_8007a120 + 0x158) = fStack252; - } - else { - *(float *)(_DAT_8007a120 + 0x158) = fStack252; - } - *(undefined4 *)(_DAT_8007a120 + 0x160) = 0; - if (*(int *)(_DAT_8007a120 + 0x10c) == 0) { - *(undefined4 *)(_DAT_8007a120 + 0x104) = 0; - } - } - else { - *(float *)(_DAT_8007a120 + 0x158) = fVar28; - } - } - } - } -LAB_7f084150: - if (uStack28 == 0) { - if (0.00000000 < fStack68) { - FUN_7f0808d4(fStack68); - } - else { - if (0.00000000 < fStack72) { - FUN_7f0808d4(-fStack72); - } - else { - FUN_7f0808d4(0); - } - } - } - else { - FUN_700045dc(); - fVar28 = (float)uStack148 / 70.00000000; - if (1.00000000 < fVar28) { - fVar29 = 1.00000000; - } - else { - fVar29 = -1.00000000; - if (-1.00000000 <= fVar28) { - fVar29 = fVar28; - } - } - fVar28 = fVar29; - if (fVar29 < 0.00000000) { - fVar28 = -fVar29; - } - *(float *)(_DAT_8007a120 + 0x14c) = fVar29 * fVar28 * (fVar30 / 60.00000000); - } - if (DAT_80036488 == 1) { - if (_DAT_800799f8 == 2) { - if (uStack28 == 0) { - if (0.00000000 < fStack68) { - fVar31 = (float)FUN_7f080838(0x3f800000); - fVar31 = fVar31 * DAT_80055180; - } - else { - if (0.00000000 < fStack72) { - fVar31 = (float)FUN_7f080838(0xbf800000); - fVar31 = fVar31 * DAT_80055184; - } - } - } - else { - fVar31 = *(float *)(_DAT_8007a120 + 0x14c) * DAT_8005517c; - } - iVar21 = (int3)(DAT_800483a4 >> 0x1f); - cVar16 = (char)(DAT_800483a4 >> 0x1f); - uVar12 = (undefined2)((ulonglong)(longlong)DAT_800483a4 >> 0x10); - uVar23 = (undefined2)DAT_800483a4; - if (0 < CONCAT62(CONCAT42(CONCAT31(iVar21,cVar16),uVar12),uVar23)) { - uVar19 = 1; - uVar11 = 0; - uVar15 = 0; - DAT_800364a0 = DAT_80055188 * DAT_800364a0; - if (1 < CONCAT62(CONCAT42(CONCAT31(iVar21,cVar16),uVar12),uVar23)) { - do { - iVar9 = CONCAT31(CONCAT21(uVar11,uVar15),uVar19) + 1; - uVar19 = (undefined)iVar9; - uVar11 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar15 = (undefined)((ulonglong)(longlong)iVar9 >> 8); - DAT_800364a0 = DAT_80055188 * (DAT_800364a0 + fVar31); - } while (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,uVar11),uVar15),uVar19) < - CONCAT62(CONCAT42(CONCAT31(iVar21,cVar16),uVar12),uVar23)); - } - DAT_800364a0 = DAT_800364a0 + fVar31; - } - *(float *)(_DAT_8007a120 + 0x14c) = DAT_800364a0 * DAT_8005518c; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x14c) = 0; - } - } - if (iStack116 != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x894) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x898) = 0; - FUN_7f051f14(); - } - uVar6 = get_num_players(); - if ((longlong)uVar6 < 2) { - bVar4 = true; - } - else { - iVar9 = FUN_7f014808(); - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,(short)((ulonglong)(longlong)iVar9 >> 0x10)), - (char)((ulonglong)(longlong)iVar9 >> 8)),(char)iVar9) == 2) { - uVar6 = FUN_7f08d8e4(); - if (uVar6 == 0) { - bVar4 = true; - } - else { - bVar4 = false; - } - } - else { - bVar4 = true; - } - } - if (bVar4) { - if (uStack76 != 0) { - FUN_7f05dc88(); - } - if (uStack80 != 0) { - FUN_7f05dbf0(); - } - } - if (uStack4 == 0) { - if (uStack8 != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x430) = 2; - } - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x430) = 0; - } - iVar9 = *(int *)(_DAT_8007a120 + 0x430); - uVar12 = (undefined2)((ulonglong)(longlong)iVar9 >> 0x10); - uVar19 = (undefined)((ulonglong)(longlong)iVar9 >> 8); - uVar15 = (undefined)iVar9; - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,uVar12),uVar19),uVar15) != 0) { - if (CONCAT71(CONCAT61(CONCAT42(iVar9 >> 0x1f,uVar12),uVar19),uVar15) != 2) { - return; - } - FUN_7f06807c(0); - FUN_7f068594(((float)iStack140 * DAT_80055198) / 80.00000000, - ((float)iStack144 * DAT_80055198) / 80.00000000); - return; - } - FUN_7f06807c(0); - if (((uStack120 == 0) || - (FUN_7f07cccc(), - CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi_04,extraout_var_04),extraout_var_11),uVar15) == 0)) - || (*(int *)(_DAT_8007a120 + 0x140) == 0)) { -LAB_7f0844d4: - fStack336 = *(float *)(_DAT_8007a120 + 0x14c) * DAT_80055190; - } - else { - uVar26 = FUN_7f05def0(0); - uVar6 = FUN_7f05e5d4(uVar26 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar26 >> 8) << 8,8 - ); - uVar15 = (undefined)uVar6; - if (uVar6 == 0) goto LAB_7f0844d4; - fStack336 = *(float *)(_DAT_8007a120 + 0x13c); - } - if (((uStack120 != 0) && - (FUN_7f07cbe4(), - CONCAT71(CONCAT61(CONCAT42(extraout_v0_hi_05,extraout_var_05),extraout_var_12),uVar15) != 0)) - && (*(int *)(_DAT_8007a120 + 0x130) != 0)) { - uVar26 = FUN_7f05def0(0); - uVar6 = FUN_7f05e5d4(uVar26 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar26 >> 8) << 8,8 - ); - if (uVar6 != 0) { - fVar31 = *(float *)(_DAT_8007a120 + 300); - goto LAB_7f084558; - } - } - fVar31 = -*(float *)(_DAT_8007a120 + 0x160) * DAT_80055194; -LAB_7f084558: - FUN_7f068530(fStack336,fVar31); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0845d8(void) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - - if (*(float *)(_DAT_8007a120 + 0xf4) < 0.00000000) { - fVar2 = *(float *)(_DAT_8007a120 + 0xf8); - goto LAB_7f08483c; - } - if (*(float *)(_DAT_8007a120 + 0xf4) == 0.00000000) { - FUN_7f0696e0(8,0); - FUN_7f06ab94(0x10,0); - FUN_7f08aab4(4); - FUN_7f08b120(4); - fVar2 = (float)FUN_7f05665c(8,0); - FUN_7f08aa24(); - *(int *)(_DAT_8007a120 + 0x29d4) = (int)(fVar2 * 8.00000000); - iVar1 = *(int *)(_DAT_8007a120 + 0x29d4); - if (7 < iVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x29d4) = 7; - iVar1 = *(int *)(_DAT_8007a120 + 0x29d4); - } - if (iVar1 < 0) { - *(undefined4 *)(_DAT_8007a120 + 0x29d4) = 0; - iVar1 = *(int *)(_DAT_8007a120 + 0xd8); - } - else { - iVar1 = *(int *)(_DAT_8007a120 + 0xd8); - } - } - else { - iVar1 = *(int *)(_DAT_8007a120 + 0xd8); - } - if (iVar1 == 0) { - fVar2 = *(float *)(_DAT_8007a120 + 0xf4); - iVar1 = *(int *)(_DAT_8007a120 + 0x29d4) * 0x2c; - if (*(float *)(&DAT_8003667c + iVar1) < fVar2) { - if (*(float *)(&DAT_8003668c + iVar1) < fVar2) goto LAB_7f0847d4; - fVar3 = *(float *)(&DAT_80036684 + iVar1); - } - else { - fVar3 = *(float *)(&DAT_80036684 + iVar1); - } - if (fVar3 <= fVar2) { - if (fVar2 <= *(float *)(&DAT_8003668c + iVar1)) { - fVar2 = fVar2 - fVar3; - fVar4 = *(float *)(&DAT_80036688 + iVar1); - fVar3 = *(float *)(&DAT_8003668c + iVar1) - fVar3; - if (fVar2 < fVar4) { - fVar4 = (*(float *)(&DAT_80036690 + iVar1) * fVar2) / fVar4; - } - else { - fVar4 = (*(float *)(&DAT_80036690 + iVar1) * (fVar3 - fVar2)) / (fVar3 - fVar4); - } - FUN_7f080dc0(*(undefined4 *)(&DAT_80036694 + iVar1),*(undefined4 *)(&DAT_80036698 + iVar1), - *(undefined4 *)(iVar1 + -0x7ffc9964),fVar4); - fVar2 = *(float *)(_DAT_8007a120 + 0xf4); - iVar1 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - iVar1 = *(int *)(_DAT_8007a120 + 0x1c8); - } - } - else { - iVar1 = *(int *)(_DAT_8007a120 + 0x1c8); - } - if (iVar1 == 0) { - *(float *)(_DAT_8007a120 + 0xf4) = fVar2 + DAT_800483b4; - } - else { - *(float *)(_DAT_8007a120 + 0xf4) = fVar2 + DAT_800484d0; - } - } - else { -LAB_7f0847d4: - *(undefined4 *)(_DAT_8007a120 + 0xf4) = 0xbf800000; - FUN_7f080dc0(0xff,0xff,0xff,0); - if (*(int *)(_DAT_8007a120 + 0xd8) != 0) { - fVar2 = *(float *)(_DAT_8007a120 + 0xf8); - goto LAB_7f08483c; - } - FUN_7f0696e0(8,1); - FUN_7f06ab94(0x10,1); - FUN_7f08aa98(4); - FUN_7f08b104(4); - FUN_7f05665c(8,1); - } - fVar2 = *(float *)(_DAT_8007a120 + 0xf8); -LAB_7f08483c: - if (0.00000000 <= fVar2) { - if (fVar2 == 0.00000000) { - FUN_7f08aa24(); - *(int *)(_DAT_8007a120 + 0x29b8) = (int)(fVar2 * 8.00000000); - iVar1 = *(int *)(_DAT_8007a120 + 0x29b8); - if (7 < iVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x29b8) = 7; - iVar1 = *(int *)(_DAT_8007a120 + 0x29b8); - } - if (iVar1 < 0) { - *(undefined4 *)(_DAT_8007a120 + 0x29b8) = 0; - iVar1 = *(int *)(_DAT_8007a120 + 0xd8); - } - else { - iVar1 = *(int *)(_DAT_8007a120 + 0xd8); - } - } - else { - iVar1 = *(int *)(_DAT_8007a120 + 0xd8); - } - if (iVar1 == 0) { - iVar1 = *(int *)(_DAT_8007a120 + 0x29b8); - fVar2 = *(float *)(_DAT_8007a120 + 0xf8); - if ((fVar2 < (float)(&DAT_800367d4)[iVar1 * 3]) || ((float)(&DAT_800367d8)[iVar1 * 3] < fVar2) - ) { - if ((fVar2 < (float)(&DAT_800367d4)[iVar1 * 3]) || - ((float)(&DAT_800367dc)[iVar1 * 3] < fVar2)) { - *(undefined4 *)(_DAT_8007a120 + 0xf8) = 0xbf800000; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0xec) = *(undefined4 *)(_DAT_8007a120 + 0xdc); - *(undefined4 *)(_DAT_8007a120 + 0xf0) = *(undefined4 *)(_DAT_8007a120 + 0xe0); - *(float *)(_DAT_8007a120 + 0xf8) = *(float *)(_DAT_8007a120 + 0xf8) + DAT_800483b4; - } - } - else { - *(undefined4 *)(_DAT_8007a120 + 0xec) = *(undefined4 *)(_DAT_8007a120 + 0xe4); - *(undefined4 *)(_DAT_8007a120 + 0xf0) = *(undefined4 *)(_DAT_8007a120 + 0xe8); - *(float *)(_DAT_8007a120 + 0xf8) = *(float *)(_DAT_8007a120 + 0xf8) + DAT_800483b4; - } - } - else { - *(undefined4 *)(_DAT_8007a120 + 0xf8) = 0xbf800000; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f084a10(void) - -{ - int iVar1; - uint uVar2; - float fVar3; - float local_c; - float local_8; - float local_4; - - _DAT_800799e0 += 1; - if (((DAT_80036484 != 0) && (DAT_800364f4 == 0)) && (_DAT_800799dc < DAT_800483ac)) { - local_c = *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 8); - local_8 = *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0xc); - local_4 = *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x10); - uVar2 = _DAT_800799e0 & 3; - if (((int)_DAT_800799e0 < 0) && (uVar2 != 0)) { - uVar2 -= 4; - } - if (uVar2 == 0) { - iVar1 = FUN_7000a460(); - fVar3 = (float)iVar1; - if (iVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_c = local_c + fVar3 * 0.00000000 * 150.00000000 + 250.00000000; - } - else { - if (uVar2 == 1) { - iVar1 = FUN_7000a460(); - fVar3 = (float)iVar1; - if (iVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_c = local_c - (fVar3 * 0.00000000 * 150.00000000 + 250.00000000); - } - else { - if (uVar2 == 2) { - iVar1 = FUN_7000a460(); - fVar3 = (float)iVar1; - if (iVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_4 = local_4 + fVar3 * 0.00000000 * 150.00000000 + 250.00000000; - } - else { - if (uVar2 == 3) { - iVar1 = FUN_7000a460(); - fVar3 = (float)iVar1; - if (iVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_4 = local_4 - (fVar3 * 0.00000000 * 150.00000000 + 250.00000000); - } - } - } - } - iVar1 = FUN_7000a460(); - fVar3 = (float)iVar1; - if (iVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_8 = local_8 + (fVar3 * 0.00000000 * 200.00000000 - 100.00000000); - FUN_7f09cdf0(0,&local_c,*(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x14),0x12,0,0, - (char *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x2c),0); - uVar2 = FUN_7000a460(); - _DAT_800799dc = uVar2 % 0xf + DAT_800483ac + 0xf; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f084cf8(char param_1,char param_2,uint param_3,uint param_4) - -{ - bool bVar1; - uint uVar2; - ulonglong uVar3; - int iVar4; - int iVar5; - int **ppiVar6; - int iVar7; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - longlong lVar8; - longlong extraout_a0_02; - undefined8 extraout_a0_03; - longlong extraout_a0_04; - longlong extraout_a0_05; - longlong extraout_a0_06; - longlong extraout_a0_07; - undefined8 extraout_a0_08; - float *pfVar9; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - longlong lVar10; - longlong extraout_a1_03; - longlong extraout_a1_04; - longlong extraout_a1_05; - undefined8 extraout_a1_06; - undefined8 extraout_a1_07; - undefined8 extraout_a1_08; - undefined8 extraout_a1_09; - undefined8 extraout_a1_10; - undefined8 uVar11; - int iVar12; - char *pcVar13; - float fVar14; - float fVar15; - float fVar16; - float __x; - byte abStack860 [4]; - uint uStack856; - float *apfStack852 [2]; - int iStack844; - undefined4 uStack840; - undefined4 uStack836; - undefined4 uStack832; - int iStack828; - int iStack824; - undefined4 uStack820; - float fStack816; - short *psStack812; - uint auStack804 [8]; - float afStack772 [12]; - float fStack724; - float fStack720; - float fStack716; - float afStack712 [16]; - int iStack648; - int iStack640; - float fStack628; - float fStack592; - float fStack588; - int iStack584; - int aiStack580 [3]; - float fStack568; - float fStack564; - float fStack560; - float fStack556; - float fStack552; - float fStack544; - float fStack540; - float fStack536; - float fStack532; - float fStack528; - float fStack520; - undefined4 auStack516 [19]; - int iStack440; - float fStack436; - float fStack432; - float fStack416; - float fStack412; - float fStack408; - float fStack372; - float fStack356; - float fStack352; - float fStack348; - float fStack344; - float fStack340; - float afStack336 [17]; - float fStack268; - float afStack260 [16]; - float fStack196; - undefined4 uStack192; - float fStack188; - int iStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack156; - float fStack152; - float fStack148; - float fStack132; - float fStack128; - float afStack124 [2]; - float fStack116; - float afStack112 [2]; - float fStack104; - float fStack100; - float fStack96; - float fStack92; - float afStack80 [2]; - float fStack72; - float afStack68 [2]; - float fStack60; - float fStack48; - float fStack44; - float fStack40; - int iStack36; - float fStack32; - float fStack24; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = DAT_80036834; - fStack4 = DAT_8003683c; - uStack8 = DAT_80036838; - iStack36 = 0; - fStack32 = 0.00000000; - fStack40 = 0.00000000; - if (('c' < param_1) || (param_1 < -99)) { - FUN_7f06ca5c(); - } - if (('c' < param_2) || (param_2 < -99)) { - FUN_7f06ca5c(); - } - iVar12 = DAT_80036464 + 1; - if ((0 < DAT_80036464) && (DAT_80036464 = iVar12, 3 < iVar12)) { - DAT_80036464 = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a54) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a50) = 0; - iVar12 = FUN_7f05def0(1); - FUN_7f05e074(1,iVar12); - iVar12 = FUN_7f05def0(0); - FUN_7f05e074(0,iVar12); - } - FUN_7f07a040(0); - FUN_7f0845d8(); - FUN_7f084a10(); - loc_7F083FB8((int)param_1,param_2,param_3 & 0xffff,param_4 & 0xffff); - iVar12 = FUN_7f0c086c(); - uVar3 = SEXT48(iVar12); - if (iVar12 != 0) { - uVar3 = FUN_7f07f0fc(); - } - if (*(int *)(_DAT_8007a120 + 0x1c8) != 0) { - uVar3 = FUN_7f07f260(); - } - if (DAT_80036488 == 0) { - iVar12 = FUN_7f079fe0(); - uVar3 = SEXT48(iVar12); - if (iVar12 == 0) { - *(float *)(_DAT_8007a120 + 0x174) = *(float *)(_DAT_8007a120 + 0x174) * 0.50000000; - *(float *)(_DAT_8007a120 + 0x16c) = *(float *)(_DAT_8007a120 + 0x16c) * 0.50000000; - } - __x = *(float *)(_DAT_8007a120 + 0x180); - if (__x == 0.00000000) { - if (*(float *)(_DAT_8007a120 + 0x188) == 0.00000000) goto LAB_7f08502c; - fVar14 = *(float *)(_DAT_8007a120 + 0x188); - } - else { - fVar14 = *(float *)(_DAT_8007a120 + 0x188); - } - fStack44 = fVar14 * *(float *)(_DAT_8007a120 + 0x150) + -__x * *(float *)(_DAT_8007a120 + 0x154) - ; - fStack48 = -__x * *(float *)(_DAT_8007a120 + 0x150) - fVar14 * *(float *)(_DAT_8007a120 + 0x154) - ; - fVar14 = sqrtf(fVar14 * fVar14 + __x * __x); - iVar12 = 0; - *(float *)(_DAT_8007a120 + 0x174) = *(float *)(_DAT_8007a120 + 0x174) + fStack44; - *(float *)(_DAT_8007a120 + 0x16c) = *(float *)(_DAT_8007a120 + 0x16c) + fStack48; - __x = DAT_8005519c; - do { - iVar4 = _DAT_8007a120 + iVar12; - iVar5 = iVar4 >> 0x1f; - fVar16 = *(float *)(iVar4 + 0x180); - if (fVar16 == 0.00000000) { - iVar7 = iVar12 + 4 >> 0x1f; - } - else { - if (0.00000000 < fVar16) { - *(float *)(iVar4 + 0x180) = fVar16 - (__x * DAT_800483b4 * fVar16) / fVar14; - iVar4 = _DAT_8007a120 + iVar12; - iVar5 = iVar4 >> 0x1f; - if (*(float *)(iVar4 + 0x180) < 0.00000000) { - *(undefined4 *)(iVar4 + 0x180) = 0; - } - } - else { - if (0.00000000 <= fVar16) { - iVar7 = iVar12 + 4 >> 0x1f; - goto LAB_7f085024; - } - *(float *)(iVar4 + 0x180) = fVar16 - (__x * DAT_800483b4 * fVar16) / fVar14; - iVar4 = _DAT_8007a120 + iVar12; - iVar5 = iVar4 >> 0x1f; - if (0.00000000 < *(float *)(iVar4 + 0x180)) { - *(undefined4 *)(iVar4 + 0x180) = 0; - } - } - iVar7 = iVar12 + 4 >> 0x1f; - } -LAB_7f085024: - uVar3 = CONCAT44(iVar5,iVar4); - iVar12 += 4; - } while (CONCAT44(iVar7,iVar12) != 0xc); - } -LAB_7f08502c: - if (DAT_80036488 == 1) { - fStack96 = *(float *)(_DAT_8007a120 + 0x14c) * DAT_800483b4 * DAT_800551a4 * 3.50000000; - fStack92 = DAT_800364a4 + fStack96; - if (DAT_800551a0 <= fStack92) { - fStack92 = fStack92 - DAT_800551a0; - } - if (fStack92 < 0.00000000) { - fStack92 = fStack92 + DAT_800551a0; - iVar12 = *(int *)(_DAT_8007a120 + 0x488); - } - else { - iVar12 = *(int *)(_DAT_8007a120 + 0x488); - } - uVar2 = loc_7F07CD98((float *)(_DAT_8007a120 + 0x48c),iVar12,fStack92,afStack68,afStack80); - if ((uVar3 & 0xffffffff00000000 | (ulonglong)((uint)uVar3 & 0xffffff00 | uVar2 >> 0x18)) == 0) { - fStack156 = -1.00000000; - fStack180 = -1.00000000; - FUN_7f0b3460(afStack112,afStack124); - fStack128 = afStack124[0] - afStack112[0]; - fStack132 = fStack116 - fStack104; - __x = sqrtf(fStack128 * fStack128 + fStack132 * fStack132); - fStack148 = fStack132 * (1.00000000 / __x); - fStack152 = -(fStack128 * (1.00000000 / __x)); - __x = (*(float *)(_DAT_8007a120 + 0x494) - fStack72) * fStack152 + - (*(float *)(_DAT_8007a120 + 0x48c) - afStack80[0]) * fStack148; - if (__x < 0.00000000) { - fStack148 = -fStack148; - fStack152 = -fStack152; - __x = -__x; - } - fVar14 = (*(float *)(_DAT_8007a120 + 0x494) - fStack104) * fStack152 + - (*(float *)(_DAT_8007a120 + 0x48c) - afStack112[0]) * fStack148; - if (fVar14 < __x) { - fStack156 = __x - fVar14; - } - fStack128 = afStack80[0] - afStack68[0]; - fStack132 = fStack72 - fStack60; - __x = sqrtf(fStack128 * fStack128 + fStack132 * fStack132); - fStack172 = fStack132 * (1.00000000 / __x); - fStack176 = -(fStack128 * (1.00000000 / __x)); - fVar14 = *(float *)(_DAT_8007a120 + 0x494); - __x = *(float *)(_DAT_8007a120 + 0x48c); - fVar16 = (fVar14 - fStack72) * fStack176 + (__x - afStack80[0]) * fStack172; - if (fVar16 < 0.00000000) { - fStack172 = -fStack172; - fStack176 = -fStack176; - fVar16 = -fVar16; - } - fVar15 = (fVar14 - fStack104) * fStack176 + (__x - afStack112[0]) * fStack172; - __x = (fVar14 - fStack116) * fStack176 + (__x - afStack124[0]) * fStack172; - if (fVar15 <= __x) { - __x = fVar15; - } - if (__x < fVar16) { - fStack180 = fVar16 - __x; - } - if ((0.00000000 <= fStack180) && ((fStack180 < fStack156 || (fStack156 < 0.00000000)))) { - fStack148 = fStack172; - fStack152 = fStack176; - fStack156 = fStack180; - } - if (0.00000000 <= fStack156) { - fStack12 = fStack156 * fStack148 * DAT_800551a8; - fStack4 = fStack156 * fStack152 * DAT_800551ac; - uVar3 = FUN_7f07df84(&fStack12,1); - fStack12 = 0.00000000; - fStack4 = 0.00000000; - uVar2 = loc_7F07CD98((float *)(_DAT_8007a120 + 0x48c),*(int *)(_DAT_8007a120 + 0x488), - fStack92,afStack68,afStack80); - if ((uVar3 & 0xffffffff00000000 | (ulonglong)((uint)uVar3 & 0xffffff00 | uVar2 >> 0x18)) == - 0) { - fStack96 = 0.00000000; - } - else { - DAT_800364a4 = fStack92; - } - } - else { - fStack96 = 0.00000000; - } - } - else { - DAT_800364a4 = fStack92; - } - fStack100 = DAT_800364b4; - DAT_800364c4 = DAT_800364c4 + DAT_800364c8; - if (DAT_800551b0 <= DAT_800364c4) { - DAT_800364c4 = DAT_800364c4 - DAT_800551b0; - } - if (DAT_800364c4 < 0.00000000) { - DAT_800364c4 = DAT_800364c4 + DAT_800551b0; - __x = *(float *)(_DAT_8007a120 + 0x14c); - } - else { - __x = *(float *)(_DAT_8007a120 + 0x14c); - } - __x = __x * 3.50000000 * DAT_800551b4 * 4.00000000 + DAT_800364c4; - if (__x < 0.00000000) { - __x = __x + DAT_800551b0; - } - if (DAT_800551b0 <= __x) { - __x = __x - DAT_800551b0; - } - if (DAT_800551b8 <= __x - DAT_800364b4) { - __x = __x - DAT_800551bc; - } - else { - if (__x - DAT_800364b4 < DAT_800551c0) { - __x = __x + DAT_800551c4; - } - } - if (0 < DAT_800483a4) { - iVar12 = 1; - DAT_800364b8 = DAT_800551c8 * DAT_800364b8; - if (1 < DAT_800483a4) { - do { - iVar12 += 1; - DAT_800364b8 = DAT_800551c8 * (DAT_800364b8 + __x); - } while (iVar12 < DAT_800483a4); - } - DAT_800364b8 = DAT_800364b8 + __x; - } - DAT_800364b4 = DAT_800364b8 * DAT_800551cc; - if (DAT_800551d0 <= DAT_800364b4) { - DAT_800364b4 = DAT_800364b4 - DAT_800551d0; - DAT_800364b8 = DAT_800364b4 / DAT_800551cc; - } - if (DAT_800364b4 < 0.00000000) { - DAT_800364b4 = DAT_800364b4 + DAT_800551d0; - DAT_800364b8 = DAT_800364b4 / DAT_800551cc; - iVar12 = *(int *)(_DAT_8007a120 + 0x488); - } - else { - iVar12 = *(int *)(_DAT_8007a120 + 0x488); - } - lVar8 = FUN_7f07d3cc((float *)(_DAT_8007a120 + 0x48c),iVar12,DAT_800364a4); - if (lVar8 == 0) { - DAT_800364b4 = fStack100; - DAT_800364c4 = fStack100; - DAT_800364b8 = fStack100 / DAT_800551dc; - } - __x = DAT_800551d8; - if (DAT_80036490 != 0) { - iStack184 = *(int *)(DAT_80036490 + 4); - uStack192 = 0; - fStack196 = _DAT_800799e8; - fStack188 = _DAT_800799f0; - FUN_7f058b1c(fStack96,extraout_a0,afStack260); - FUN_7f0588f8(afStack260,&fStack196); - FUN_7f07cdd8(); - fStack196 = _DAT_800799e8 - fStack196; - uStack192 = 0; - fStack188 = _DAT_800799f0 - fStack188; - FUN_7f058b1c(DAT_800551ec - DAT_800364a4,extraout_a0_00,afStack260); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(iStack184 + 0x14) + 0x14),extraout_a0_01,afStack260); - FUN_7f0588f8(afStack260,&fStack196); - FUN_7f07df84(&fStack196,1); - __x = DAT_800551fc; - } - if ((0 < DAT_800483a4) && (0 < DAT_800483a4)) { - iVar12 = 1; - DAT_800364bc = __x * DAT_800364bc; - if (1 < DAT_800483a4) { - do { - iVar12 += 1; - DAT_800364bc = __x * (DAT_800364bc + DAT_800364c8 / DAT_800483b4); - } while (iVar12 < DAT_800483a4); - } - DAT_800364bc = DAT_800364bc + DAT_800364c8 / DAT_800483b4; - } - *(float *)(_DAT_8007a120 + 0x148) = - ((DAT_800364a4 + DAT_800364b4 + - *(float *)(_DAT_8007a120 + 0x14c) * 3.50000000 * DAT_80055204 * 4.00000000 + - DAT_800364bc * DAT_80055200 * 4.00000000) * 360.00000000) / DAT_80055208; - __x = *(float *)(_DAT_8007a120 + 0x148); - while (__x < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x148) = __x + 360.00000000; - __x = *(float *)(_DAT_8007a120 + 0x148); - } - while (360.00000000 <= __x) { - *(float *)(_DAT_8007a120 + 0x148) = __x - 360.00000000; - __x = *(float *)(_DAT_8007a120 + 0x148); - } - } - else { - __x = *(float *)(_DAT_8007a120 + 0x148) + - *(float *)(_DAT_8007a120 + 0x14c) * DAT_800483b4 * 3.50000000; - while (__x < 0.00000000) { - __x = __x + 360.00000000; - } - if (360.00000000 <= __x) { - do { - __x = __x - 360.00000000; - } while (360.00000000 <= __x); - *(float *)(_DAT_8007a120 + 0x148) = __x; - } - else { - *(float *)(_DAT_8007a120 + 0x148) = __x; - } - } - FUN_7f081da0(); - fStack268 = 0.00000000; - iVar12 = FUN_7f079fe0(); - if (iVar12 == 0) { - fStack268 = -100.00000000; - uVar11 = extraout_a1; - } - else { - iVar12 = FUN_7f079fe0(); - if (iVar12 == 1) { - fStack268 = -60.00000000; - uVar11 = extraout_a1_00; - } - else { - FUN_7f079fe0(); - uVar11 = extraout_a1_01; - } - } - __x = *(float *)(_DAT_8007a120 + 0xa0); - lVar8 = (longlong)(int)(float *)(_DAT_8007a120 + 0xa0); - if (fStack268 != __x) { - FUN_7f043218((float *)(_DAT_8007a120 + 0xa0),fStack268,(float *)(_DAT_8007a120 + 0xa4), - 0.50000000,0.50000000,5.00000000); - __x = *(float *)(_DAT_8007a120 + 0xa0); - lVar8 = extraout_a0_02; - uVar11 = extraout_a1_02; - } - if (fStack268 == __x) { - *(undefined4 *)(_DAT_8007a120 + 0xa4) = 0; - } - if (DAT_80036488 == 1) { - if (_DAT_800799f8 == 0) { - lVar10 = (longlong)(int)afStack336; - if (DAT_80036490 != 0) { - iVar12 = *(int *)(DAT_80036490 + 4); - FUN_7f058b1c(DAT_8005520c - DAT_800364a4,lVar8,afStack336); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(iVar12 + 0x14) + 0x14),extraout_a0_03,afStack336); - fStack348 = _DAT_800799e8; - fStack344 = _DAT_800799ec; - fStack340 = _DAT_800799f0; - FUN_7f0588f8(afStack336,&fStack348); - fStack356 = -20.00000000; - fStack348 = fStack348 + *(float *)(iVar12 + 0x58); - fStack344 = fStack344 + *(float *)(iVar12 + 0x5c); - fStack340 = fStack340 + *(float *)(iVar12 + 0x60); - fStack352 = ((DAT_800364a4 + DAT_800364b4) * 360.00000000) / DAT_80055210; - if (-20.00000000 <= *(float *)(_DAT_8007a120 + 0x158)) { - fStack356 = *(float *)(_DAT_8007a120 + 0x158); - } - _DAT_800799fc = _DAT_800799fc + DAT_800483b4 / 45.00000000; - if (1.00000000 <= _DAT_800799fc) { - _DAT_800799fc = 1.00000000; - } - __x = FUN_7f0583c0(_DAT_800799fc * DAT_80055214 * 0.50000000); - _DAT_80079a00 = (__x + 1.00000000) * 0.50000000; - *(float *)(_DAT_8007a120 + 0x158) = - _DAT_80079a00 * _DAT_80079a08 + (1.00000000 - _DAT_80079a00) * fStack356; - __x = fStack352; - if (180.00000000 < fStack352 - _DAT_80079a04) { - __x = fStack352 - 360.00000000; - } - if (fStack352 - _DAT_80079a04 < -180.00000000) { - __x = __x + 360.00000000; - } - *(float *)(_DAT_8007a120 + 0x148) = - _DAT_80079a00 * _DAT_80079a04 + (1.00000000 - _DAT_80079a00) * __x; - __x = *(float *)(_DAT_8007a120 + 0x148); - if (360.00000000 <= __x) { - *(float *)(_DAT_8007a120 + 0x148) = __x - 360.00000000; - __x = *(float *)(_DAT_8007a120 + 0x148); - } - if (__x < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x148) = __x + 360.00000000; - } - uStack8 = 0; - fStack12 = (_DAT_80079a00 * _DAT_80079a10 + (1.00000000 - _DAT_80079a00) * fStack348) - - *(float *)(_DAT_8007a120 + 0x48c); - fStack4 = (_DAT_80079a00 * _DAT_80079a18 + (1.00000000 - _DAT_80079a00) * fStack340) - - *(float *)(_DAT_8007a120 + 0x494); - lVar8 = extraout_a0_04; - lVar10 = extraout_a1_03; - } - if (1.00000000 <= _DAT_800799fc) { - _DAT_800799f8 = 1; - } - } - else { - if (_DAT_800799f8 == 1) { - _DAT_800799f8 = 2; - if ((DAT_80036498 == 0) && (iVar12 = FUN_7f0c086c(), iVar12 == 0)) { - FUN_70008e18((longlong)_DAT_80063760,0x42,(int **)&DAT_80036498); - } - loc_700091B8((longlong)DAT_80036498,8,25000); - _DAT_800799f4 = 25000; - lVar8 = extraout_a0_05; - lVar10 = extraout_a1_04; - } - else { - fVar14 = *(float *)(_DAT_8007a120 + 0x174) / 15.00000000; - __x = *(float *)(_DAT_8007a120 + 0x14c) / DAT_80055218; - if (fVar14 < 0.00000000) { - fVar14 = -fVar14; - } - if (__x < 0.00000000) { - __x = -__x; - } - if (__x <= fVar14) { - __x = fVar14; - } - if (0.00000000 < __x) { - fVar14 = 1.00000000; - if (__x <= 1.00000000) { - fVar14 = __x; - } - if ((DAT_8003649c == 0) && - (fStack372 = fVar14, iVar12 = FUN_7f0c086c(), fVar14 = fStack372, iVar12 == 0)) { - FUN_70008e18((longlong)_DAT_80063760,0x3e,(int **)&DAT_8003649c); - fVar14 = fStack372; - } - __x = fVar14; - if ((longlong)DAT_8003649c != 0) { - iVar12 = 0x7fff; - if (fVar14 < DAT_8005521c) { - iVar12 = (int)((fVar14 * DAT_80055220) / DAT_8005521c); - } - else { - if (fVar14 < DAT_80055224) { - iVar12 = (int)(((fVar14 - DAT_8005521c) * DAT_80055228) / 0.75000000 + DAT_8005522c) - ; - } - } - fStack372 = fVar14; - loc_700091B8((longlong)DAT_8003649c,8,iVar12); - __x = fStack372; - } - } - else { - if ((DAT_8003649c != 0) && - (fStack372 = __x, uVar3 = locret_70008E00(DAT_8003649c), __x = fStack372, uVar3 != 0)) - { - loc_7000905C(DAT_8003649c); - __x = fStack372; - } - } - if ((DAT_80036498 == 0) && - (fStack372 = __x, iVar12 = FUN_7f0c086c(), __x = fStack372, iVar12 == 0)) { - FUN_70008e18((longlong)_DAT_80063760,0x41,(int **)&DAT_80036498); - __x = fStack372; - } - if ((longlong)DAT_80036498 != 0) { - _DAT_800799f4 = 0x7fff; - if (__x < DAT_80055230) { - _DAT_800799f4 = (int)((__x * DAT_80055234) / DAT_80055238 + DAT_8005523c); - } - loc_700091B8((longlong)DAT_80036498,8,_DAT_800799f4); - } - iVar12 = FUN_7f05def0(0); - if (iVar12 == 0x20) { - DAT_800364ac = *(float *)(_DAT_8007a120 + 0x2a08) + DAT_80055240; - } - __x = DAT_80055244; - if (DAT_800364ac <= DAT_80055244) { - __x = DAT_800364ac; - } - fVar14 = DAT_80055248; - if (DAT_80055248 <= __x) { - fVar14 = __x; - } - lVar8 = (longlong)DAT_800483a4; - if (0 < lVar8) { - iVar12 = 1; - DAT_800364b0 = DAT_8005524c * DAT_800364b0; - if (1 < lVar8) { - do { - iVar12 += 1; - DAT_800364b0 = DAT_8005524c * (DAT_800364b0 + fVar14); - } while ((longlong)iVar12 < lVar8); - } - DAT_800364b0 = DAT_800364b0 + fVar14; - } - DAT_800364ac = DAT_800364b0 * DAT_80055250; - lVar10 = extraout_a1_05; - } - } - *(float *)(_DAT_8007a120 + 0x19c) = - *(float *)(_DAT_8007a120 + 0x19c) - (DAT_800483b4 * 0.75000000) / DAT_80055254; - if (*(float *)(_DAT_8007a120 + 0x19c) < 0.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x19c) = 0; - } - FUN_7f081144(0.00000000,0.00000000,lVar8,lVar10,0.00000000); - __x = func_7F057FC4(DAT_80055258 - DAT_800364a4); - fStack12 = fStack12 + *(float *)(_DAT_8007a120 + 0x174) * __x * DAT_800483b4; - __x = FUN_7f0583c0(DAT_8005525c - DAT_800364a4); - fStack4 = fStack4 + *(float *)(_DAT_8007a120 + 0x174) * __x * DAT_800483b4; - FUN_7f07df84(&fStack12,1); - if ((_DAT_800799f8 == 2) && (0 < DAT_800483a4)) { - __x = (*(float *)(_DAT_8007a120 + 0x48c) - *(float *)(_DAT_8007a120 + 0x408)) / DAT_800483b4; - fVar14 = (*(float *)(_DAT_8007a120 + 0x494) - *(float *)(_DAT_8007a120 + 0x410)) / - DAT_800483b4; - __x = sqrtf(__x * __x + fVar14 * fVar14); - if (*(float *)(_DAT_8007a120 + 0x174) < 0.00000000) { - __x = -__x; - } - *(float *)(_DAT_8007a120 + 0x174) = __x; - } - goto LAB_7f086a60; - } - if (DAT_80036498 == 0) { - lVar8 = (longlong)DAT_8003649c; - } - else { - uVar3 = locret_70008E00(DAT_80036498); - uVar11 = extraout_a1_06; - if (uVar3 != 0) { - _DAT_800799f4 -= (int)(DAT_800483b4 * 1000.00000000); - if (0 < _DAT_800799f4) { - loc_700091B8((longlong)DAT_80036498,8,_DAT_800799f4); - lVar8 = (longlong)DAT_8003649c; - uVar11 = extraout_a1_07; - goto LAB_7f086268; - } - loc_7000905C(DAT_80036498); - uVar11 = extraout_a1_08; - } - lVar8 = (longlong)DAT_8003649c; - } -LAB_7f086268: - if ((lVar8 != 0) && - (uVar3 = locret_70008E00((int)lVar8), lVar8 = extraout_a0_06, uVar11 = extraout_a1_09, - uVar3 != 0)) { - loc_7000905C(DAT_8003649c); - lVar8 = extraout_a0_07; - uVar11 = extraout_a1_10; - } - fStack24 = *(float *)(_DAT_8007a120 + 0x16c) * DAT_80036b24 * 0.50000000 * DAT_800483b4; - fStack408 = *(float *)(_DAT_8007a120 + 0x4a0) * -*(float *)(_DAT_8007a120 + 0x1274) - - *(float *)(_DAT_8007a120 + 0x1278); - fStack412 = *(float *)(_DAT_8007a120 + 0x498) * *(float *)(_DAT_8007a120 + 0x1274) - - *(float *)(_DAT_8007a120 + 0x127c); - fStack416 = fStack408 * fStack408 + fStack412 * fStack412; - if (100.00000000 <= fStack416) { - fStack408 = fStack408 * DAT_80055260; - fStack412 = fStack412 * DAT_80055260; - } - fVar14 = *(float *)(_DAT_8007a120 + 0x174); - fStack32 = *(float *)(_DAT_8007a120 + 0x16c) * DAT_80055264; - __x = *(float *)(_DAT_8007a120 + 0x14c) * DAT_80055264; - if (fStack32 < 0.00000000) { - fStack32 = -fStack32; - } - if (fVar14 < 0.00000000) { - fVar14 = -fVar14; - } - if (__x < 0.00000000) { - __x = -__x; - } - if (fStack32 <= fVar14) { - fStack32 = fVar14; - } - if (__x <= fStack32) { - __x = fStack32; - } - fStack32 = __x; - if ((DAT_80055268 <= fStack416) && (fStack32 < DAT_80055264)) { - fStack32 = DAT_80055264; - } - if (0.75000000 <= fStack32) { - *(float *)(_DAT_8007a120 + 0x19c) = - *(float *)(_DAT_8007a120 + 0x19c) + ((fStack32 - 0.75000000) * DAT_800483b4) / 900.00000000 - ; - } - else { - *(float *)(_DAT_8007a120 + 0x19c) = - *(float *)(_DAT_8007a120 + 0x19c) - ((0.75000000 - fStack32) * DAT_800483b4) / DAT_8005526c - ; - } - if (*(float *)(_DAT_8007a120 + 0x19c) < 0.00000000) { - *(undefined4 *)(_DAT_8007a120 + 0x19c) = 0; - } - else { - if (1.00000000 < *(float *)(_DAT_8007a120 + 0x19c)) { - *(undefined4 *)(_DAT_8007a120 + 0x19c) = 0x3f800000; - } - } - FUN_7f081144(fStack32,*(float *)(_DAT_8007a120 + 0x174),lVar8,uVar11,fStack24); - fStack12 = fStack12 + - (*(float *)(_DAT_8007a120 + 0x504) * *(float *)(_DAT_8007a120 + 0x498) - - *(float *)(_DAT_8007a120 + 0x4fc) * *(float *)(_DAT_8007a120 + 0x4a0)) * DAT_800483b4 + - fStack408; - fStack4 = fStack4 + (*(float *)(_DAT_8007a120 + 0x504) * *(float *)(_DAT_8007a120 + 0x4a0) + - *(float *)(_DAT_8007a120 + 0x4fc) * *(float *)(_DAT_8007a120 + 0x498)) * - DAT_800483b4 + fStack412; - fStack432 = *(float *)(_DAT_8007a120 + 0x48c); - fStack436 = *(float *)(_DAT_8007a120 + 0x494); - iStack440 = *(int *)(_DAT_8007a120 + 0x488); - iVar12 = FUN_7f091af8(); - if (iVar12 != 0) { - fStack12 = fStack12 + - (*(float *)(_DAT_8007a120 + 0x498) * *(float *)(_DAT_8007a120 + 0x174) - - *(float *)(_DAT_8007a120 + 0x4a0) * *(float *)(_DAT_8007a120 + 0x16c)) * DAT_800483b4 - * 10.00000000; - fStack4 = fStack4 + (*(float *)(_DAT_8007a120 + 0x4a0) * *(float *)(_DAT_8007a120 + 0x174) + - *(float *)(_DAT_8007a120 + 0x498) * *(float *)(_DAT_8007a120 + 0x16c)) * - DAT_800483b4 * 10.00000000; - } - FUN_7f07df84(&fStack12,(uint)(*(float *)(_DAT_8007a120 + 0x1274) == 0.00000000)); - loc_7F0B2338(&iStack440,fStack432,fStack436,*(float *)(_DAT_8007a120 + 0x4b0) * DAT_80055270, - auStack516); - iVar12 = sub_7F0B23A4((int)auStack516); - if (iVar12 != 0) { - iStack36 = 1; - } - loc_7F0B2338((int *)(_DAT_8007a120 + 0x488),*(float *)(_DAT_8007a120 + 0x48c), - *(float *)(_DAT_8007a120 + 0x494),*(float *)(_DAT_8007a120 + 0x4b0) * DAT_80055274, - auStack516); - iVar12 = sub_7F0B23A4((int)auStack516); - if (iVar12 != 0) { - iStack36 = 1; - } - loc_7F0B2338((int *)(_DAT_8007a120 + 0x488),*(float *)(_DAT_8007a120 + 0x48c), - *(float *)(_DAT_8007a120 + 0x494),*(float *)(_DAT_8007a120 + 0x4b0),auStack516); - iVar12 = sub_7F0B23A4((int)auStack516); - if (iVar12 == 0) { - loc_7F0B2338(&iStack440,fStack432,fStack436,*(float *)(_DAT_8007a120 + 0x4b0) * DAT_80055278, - auStack516); - } - iVar12 = sub_7F0B23A4((int)auStack516); - if (iVar12 != 0) { - iStack36 = 1; - FUN_7f0b2fd0(aiStack580,&iStack584,(int)&fStack564); - if (*(float *)(_DAT_8007a120 + 0x74) <= fStack536) { - fStack588 = fStack544 - fStack556; - fStack592 = fStack564 - fStack552; - __x = sqrtf(fStack588 * fStack588 + fStack592 * fStack592); - fVar14 = (fStack436 - fStack556) * (fStack592 / __x) + - (fStack432 - fStack564) * (fStack588 / __x); - __x = ((fStack436 + fStack4) - fStack556) * (fStack592 / __x) + - ((fStack432 + fStack12) - fStack564) * (fStack588 / __x); - if (fVar14 * __x <= 0.00000000) { - fStack568 = 0.00000000; - } - else { - if (__x < 0.00000000) { - __x = -__x; - fVar14 = -fVar14; - bVar1 = fVar14 <= __x; - } - else { - bVar1 = fVar14 <= __x; - } - if (bVar1) { - fStack568 = 0.00000000; - } - else { - fVar16 = *(float *)(_DAT_8007a120 + 0x4b0); - if (fVar16 < __x) { - fStack568 = 0.00000000; - } - else { - if (fVar14 < fVar16) { - fStack568 = 0.00000000; - } - else { - fStack568 = (fVar14 - fVar16) / (fVar14 - __x); - } - } - } - } - fVar14 = sqrtf(fStack4 * fStack4 + fStack12 * fStack12); - __x = fStack568; - if (0.00000000 < fVar14) { - fVar16 = (1.00000000 - fStack568) * fVar14; - fStack40 = fVar16 * 0.25000000; - __x = fStack568; - if (fStack536 <= *(float *)(_DAT_8007a120 + 0x74) + fStack40) { - fStack40 = fStack536 - *(float *)(_DAT_8007a120 + 0x74); - __x = fStack568 + (fVar16 - fStack40 / 0.25000000) / fVar14; - } - } - fStack540 = fStack540 - fStack564; - fStack532 = fStack532 - fStack556; - fStack528 = fStack528 - fStack564; - fStack520 = fStack520 - fStack556; - if (fStack540 * fStack540 + fStack532 * fStack532 <= - fStack528 * fStack528 + fStack520 * fStack520) { - fStack528 = fStack540; - fStack520 = fStack532; - } - fVar14 = fStack40 / (fStack536 - fStack560); - fStack12 = fVar14 * fStack528 + fStack12 * __x; - fStack4 = fVar14 * fStack520 + fStack4 * __x; - *(float *)(_DAT_8007a120 + 0x48c) = fStack432; - *(float *)(_DAT_8007a120 + 0x494) = fStack436; - *(int *)(_DAT_8007a120 + 0x488) = iStack440; - FUN_7f07df84(&fStack12,(uint)(*(float *)(_DAT_8007a120 + 0x1274) == 0.00000000)); - } - } - fVar14 = *(float *)(_DAT_8007a120 + 0x48c) - fStack432; - fVar16 = *(float *)(_DAT_8007a120 + 0x494) - fStack436; - __x = fStack4 * fStack4 + fStack12 * fStack12; - if (__x != 0.00000000) { - __x = (fVar14 * fVar14 + fVar16 * fVar16) / __x; - } - __x = sqrtf(__x); - *(float *)(_DAT_8007a120 + 0x1278) = *(float *)(_DAT_8007a120 + 0x1278) + __x * fStack408; - *(float *)(_DAT_8007a120 + 0x127c) = *(float *)(_DAT_8007a120 + 0x127c) + __x * fStack412; -LAB_7f086a60: - fStack628 = *(float *)(_DAT_8007a120 + 0x160) / DAT_8005527c + - *(float *)(_DAT_8007a120 + 0xa4) / 5.00000000; - __x = (float)FUN_7f08f5d8(); - if (*(int *)(_DAT_8007a120 + 0x4e8) == 1) { - __x = __x * DAT_80055280; - } - loc_7F05E5A4(__x,fStack32); - FUN_7f05eb10(*(float *)(_DAT_8007a120 + 0x15c) * DAT_80055284); - if (DAT_80036490 == 0) { - lVar8 = (longlong)iStack36; - } - else { - if (DAT_80036488 == 1) { - if (_DAT_800799f8 == 2) { - iVar12 = *(int *)(DAT_80036490 + 4); - iStack648 = *(int *)(*(int *)(*(int *)(*(int *)(*(int *)(iVar12 + 0x14) + 8) + 8) + 0x14) + - 4); - iStack640 = iVar12; - iVar5 = FUN_7f05def0(0); - bVar1 = iVar5 == 0x20; - if (bVar1) { - lVar8 = FUN_7f05e1a8(0); - bVar1 = lVar8 != 0; - *(uint *)(iVar12 + 0xc4) = (uint)bVar1; - } - else { - *(uint *)(iVar12 + 0xc4) = (uint)bVar1; - } - *(float *)(iVar12 + 200) = DAT_800364ac; - *(float *)(iVar12 + 0xcc) = DAT_800364b4; - *(float *)(iVar12 + 0xdc) = DAT_800364a4; - FUN_7f058b1c(DAT_80055288 - DAT_800364a4,(ulonglong)bVar1,afStack712); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(iStack640 + 0x14) + 0x14),extraout_a0_08,afStack712); - fStack724 = -_DAT_800799e8; - fStack720 = -_DAT_800799ec; - fStack716 = -_DAT_800799f0; - FUN_7f0588f8(afStack712,&fStack724); - fStack724 = fStack724 + *(float *)(_DAT_8007a120 + 0x48c); - fStack716 = fStack716 + *(float *)(_DAT_8007a120 + 0x494); - *(undefined4 *)(*(int *)(iStack640 + 0x10) + 0x14) = *(undefined4 *)(_DAT_8007a120 + 0x488); - sub_7F0B0BE4((int *)(*(int *)(iStack640 + 0x10) + 0x14),*(float *)(_DAT_8007a120 + 0x48c), - *(float *)(_DAT_8007a120 + 0x494),fStack724,fStack716); - fVar14 = (float)FUN_7f0b3520(*(undefined4 *)(*(int *)(iStack640 + 0x10) + 0x14),fStack724, - fStack716); - *(float *)(iVar12 + 0xd4) = fVar14; - __x = DAT_8005528c; - iVar5 = 0; - if (0 < DAT_800483a4) { - fVar14 = *(float *)(iVar12 + 0xd0); - while( true ) { - iVar5 += 1; - *(float *)(iVar12 + 0xd0) = fVar14 * __x + *(float *)(iVar12 + 0xd4); - fVar14 = __x; - if (DAT_800483a4 <= iVar5) break; - fVar14 = *(float *)(iVar12 + 0xd0); - } - } - __x = *(float *)(iVar12 + 0xd0) * DAT_80055290; - sub_7F03E864(iStack648); - fStack720 = (__x - fVar14 * *(float *)(*(int *)(iStack640 + 0x14) + 0x14)) + 4.00000000; - loc_7F058030(afStack712,(undefined4 *)(iStack640 + 0x18)); - *(float *)(*(int *)(iStack640 + 0x10) + 8) = fStack724; - *(float *)(iStack640 + 0x58) = fStack724; - *(float *)(*(int *)(iStack640 + 0x10) + 0xc) = fStack720; - *(float *)(iStack640 + 0x5c) = fStack720; - *(float *)(*(int *)(iStack640 + 0x10) + 0x10) = fStack716; - *(float *)(iStack640 + 0x60) = fStack716; - loc_7F056E80(iStack640); - FUN_7f040784(iStack640); - FUN_7f07ceac(afStack772,(float *)(_DAT_8007a120 + 0x48c),DAT_800364a4); - loc_7F03CC0C(*(char **)(iStack640 + 0x10),auStack804); - FUN_7f03e6fc((int *)auStack804); - psStack812 = _DAT_80069c70; - iVar12 = (int)*_DAT_80069c70; - if (CONCAT44((undefined4)(*_DAT_80069c70 >> 0xf),iVar12) < 0) { - lVar8 = (longlong)iStack36; - } - else { - do { - iVar12 *= 0x34; - pcVar13 = (char *)(iVar12 + -0x7ff96388); - if (pcVar13 != *(char **)(iStack640 + 0x10)) { - if (*pcVar13 == '\x03') { - iStack828 = 1; - iStack844 = *(int *)(iVar12 + -0x7ff96384); - FUN_7f03d288(pcVar13,&iStack824,&fStack816,&uStack820); - pfVar9 = (float *)(iVar12 + -0x7ff96380); - lVar8 = loc_7F03CF7C(pfVar9,afStack772,4); - if ((((lVar8 != 0) && (iStack828 = 0, *(char *)(iStack844 + 7) == '\x04')) && - (-1 < *(int *)(iStack844 + 0x14) << 7)) && (iVar5 = FUN_7f0c086c(), iVar5 == 0)) - { - *(uint *)(iStack844 + 0x14) = *(uint *)(iStack844 + 0x14) | 0x1000000; - iVar5 = DAT_800483b0 % 3; - if (iVar5 < 2) { - ppiVar6 = FUN_70008e18((longlong)_DAT_80063760,0xb7,NULL); - FUN_7f053f0c((int)ppiVar6,pfVar9); - iVar5 = DAT_800483b0 % 3; - } - if (0 < iVar5) { - ppiVar6 = FUN_70008e18((longlong)_DAT_80063760,0xd5,NULL); - FUN_7f053f0c((int)ppiVar6,pfVar9); - } - } - if ((iStack828 != 0) && - (lVar8 = loc_7F044870((longlong)(int)pfVar9,(longlong)iStack824,afStack772,4), - lVar8 != 0)) { - iStack828 = 0; - } - if (iStack828 == 0) { - uStack840 = *(undefined4 *)(iStack640 + 0x58); - uStack836 = *(undefined4 *)(iVar12 + -0x7ff9637c); - uStack832 = *(undefined4 *)(iStack640 + 0x60); - loc_7F027BE0(*(undefined4 *)(iVar12 + -0x7ff96384),&uStack840,0x40400000,1); - } - } - else { - if (*pcVar13 == '\x01') { - FUN_7f03cfb0(pcVar13,(int **)apfStack852,&uStack856); - if ((0 < (int)uStack856) && - (lVar8 = FUN_7f0449a0(apfStack852[0],uStack856,afStack772,4), lVar8 != 0)) { - iVar5 = get_cur_playernum(); - loc_7F04DFAC((int)pcVar13,10000.00000000, - (longlong)(*(int *)(iVar12 + -0x7ff96384) + 0x58),0x20,iVar5); - DAT_800364d0 = 0x5a; - } - } - } - } - psStack812 = psStack812 + 1; - iVar12 = (int)*psStack812; - } while (true); - lVar8 = (longlong)iStack36; - } - } - else { - lVar8 = (longlong)iStack36; - } - } - else { - lVar8 = (longlong)iStack36; - } - } - FUN_7f081408(lVar8,fStack40); - FUN_7f081a88(); - FUN_7f08a8d4(); - iVar12 = get_debug_profile_flag(); - if (iVar12 != 0) { - copy_tile_RGB_as_24bit - (*(int *)(_DAT_8007a120 + 0x488),(longlong)*(int *)(_DAT_8007a120 + 0x48c), - (longlong)*(int *)(_DAT_8007a120 + 0x494),abStack860); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08705c(undefined8 param_1,undefined8 param_2,ushort param_3,ushort param_4) - -{ - undefined8 extraout_a0; - undefined8 extraout_a1; - undefined auStack64 [12]; - int iStack52; - float fStack48; - undefined4 uStack44; - float fStack40; - float fStack36; - undefined4 uStack32; - undefined4 uStack28; - float fStack24; - undefined4 uStack20; - undefined4 uStack16; - float fStack12; - undefined4 uStack8; - undefined4 uStack4; - - fStack12 = DAT_80036840; - uStack8 = DAT_80036844; - uStack4 = DAT_80036848; - fStack24 = DAT_8003684c; - uStack20 = DAT_80036850; - uStack16 = DAT_80036854; - fStack36 = DAT_80036858; - uStack32 = DAT_8003685c; - uStack28 = DAT_80036860; - fStack48 = DAT_80036864; - uStack44 = DAT_80036868; - fStack40 = DAT_8003686c; - FUN_7f0845d8(); - FUN_7f084a10(); - loc_7F083FB8(0,'\0',0,0); - FUN_7f081da0(); - FUN_7f081144(0.00000000,0.00000000,extraout_a0,extraout_a1,0.00000000); - if ((_DAT_800799d0 != 0.00000000) || (_DAT_800799d8 != 0.00000000)) { - fStack48 = fStack48 + _DAT_800799d0 * DAT_800483b4; - fStack40 = fStack40 + _DAT_800799d8 * DAT_800483b4; - } - fStack48 = fStack48 + - (*(float *)(_DAT_8007a120 + 0x504) * *(float *)(_DAT_8007a120 + 0x498) - - *(float *)(_DAT_8007a120 + 0x4fc) * *(float *)(_DAT_8007a120 + 0x4a0)) * DAT_800483b4; - fStack40 = fStack40 + - (*(float *)(_DAT_8007a120 + 0x504) * *(float *)(_DAT_8007a120 + 0x4a0) + - *(float *)(_DAT_8007a120 + 0x4fc) * *(float *)(_DAT_8007a120 + 0x498)) * DAT_800483b4; - FUN_7f07df84(&fStack48,1); - FUN_7f081408(0,0.00000000); - FUN_7f081a88(); - if (((DAT_800364d4 == 8) || (DAT_800364d4 == 4)) || (DAT_800364d4 == 10)) { - FUN_7f07a040(0); - } - else { - FUN_7f07bb8c((ulonglong)param_3,(ulonglong)param_4,&fStack12,&fStack24,&fStack36,&iStack52, - auStack64); - FUN_7f07a040(1); - FUN_7f07a050(&fStack12,&fStack24,&fStack36,iStack52,auStack64); - } - return; -} - - - -undefined8 FUN_7f0872c4(void) - -{ - if (DAT_8003646c != 0) { - return 0x1b8; - } - return 0x140; -} - - - -undefined8 FUN_7f0872e8(void) - -{ - if (DAT_8003646c != 0) { - return 0x14a; - } - return 0xf0; -} - - - -undefined8 FUN_7f08730c(void) - -{ - ulonglong uVar1; - undefined8 uVar2; - int iVar3; - - uVar1 = get_num_players(); - if ((longlong)uVar1 < 3) { - if (DAT_8003646c == 0) { - iVar3 = FUN_7f0a5a68(); - if (iVar3 == 1) { - uVar2 = 0x140; - } - else { - iVar3 = FUN_7f0a5a68(); - if (iVar3 == 2) { - uVar2 = 0x140; - } - else { - uVar2 = 0x140; - } - } - } - else { - uVar2 = 0x1b8; - } - } - else { - uVar2 = 0x9f; - } - return uVar2; -} - - - -undefined8 FUN_7f087390(void) - -{ - ulonglong uVar1; - undefined8 uVar2; - int iVar3; - - uVar1 = get_num_players(); - if ((longlong)uVar1 < 3) { - uVar2 = 0; - } - else { - iVar3 = get_cur_playernum(); - if ((iVar3 == 1) || (iVar3 = get_cur_playernum(), iVar3 == 3)) { - uVar2 = 0xa1; - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -int FUN_7f0873f0(void) - -{ - ulonglong uVar1; - int iVar2; - float fVar3; - - uVar1 = get_num_players(); - if ((longlong)uVar1 < 2) { - if (DAT_8003646c == 0) { - iVar2 = FUN_7f0a5a68(); - if (iVar2 == 1) { - fVar3 = FUN_7f07f084(); - iVar2 = ((int)(fVar3 * 40.00000000) + 0xb4) * 0x10000 >> 0x10; - } - else { - iVar2 = FUN_7f0a5a68(); - if (iVar2 == 2) { - fVar3 = FUN_7f07f084(); - iVar2 = ((int)(fVar3 * 84.00000000) + 0x88) * 0x10000 >> 0x10; - } - else { - iVar2 = 0xdc; - } - } - } - else { - iVar2 = FUN_7f0a5a68(); - if (iVar2 == 1) { - iVar2 = 0xf8; - } - else { - iVar2 = FUN_7f0a5a68(); - if (iVar2 == 2) { - iVar2 = 0xbe; - } - else { - iVar2 = 0x130; - } - } - } - } - else { - iVar2 = 0x6d; - } - return iVar2; -} - - - -int FUN_7f087504(void) - -{ - ulonglong uVar1; - int iVar2; - float fVar3; - - uVar1 = get_num_players(); - if (uVar1 == 2) { - iVar2 = get_cur_playernum(); - if (iVar2 == 0) { - iVar2 = 10; - } - else { - iVar2 = 0x79; - } - } - else { - uVar1 = get_num_players(); - if ((longlong)uVar1 < 3) { - if (DAT_8003646c == 0) { - iVar2 = FUN_7f0a5a68(); - if (iVar2 == 1) { - fVar3 = FUN_7f07f084(); - iVar2 = ((int)(fVar3 * -20.00000000) + 0x1e) * 0x10000 >> 0x10; - } - else { - iVar2 = FUN_7f0a5a68(); - if (iVar2 == 2) { - fVar3 = FUN_7f07f084(); - iVar2 = ((int)(fVar3 * -42.00000000) + 0x34) * 0x10000 >> 0x10; - } - else { - iVar2 = 10; - } - } - } - else { - iVar2 = FUN_7f0a5a68(); - if (iVar2 == 1) { - iVar2 = 0x29; - } - else { - iVar2 = FUN_7f0a5a68(); - if (iVar2 == 2) { - iVar2 = 0x46; - } - else { - iVar2 = 0xd; - } - } - } - } - else { - iVar2 = get_cur_playernum(); - if (iVar2 < 2) { - iVar2 = 10; - } - else { - iVar2 = 0x79; - } - } - } - return iVar2; -} - - - -// WARNING: Instruction at (ram,0x7f087a28) overlaps instruction at (ram,0x7f087a24) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f087668(char param_1,char param_2,ushort param_3) - -{ - undefined *puVar4; - int iVar5; - undefined8 uVar1; - undefined8 uVar2; - undefined4 uVar6; - ulonglong uVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - - FUN_7f09bdb4(0x42700000); - FUN_70004544(0x42700000,extraout_a0,extraout_a1); - if (DAT_80036470 == 0) { - if (DAT_80036474 != 0) { - if ((DAT_80036474 < 4) || - (puVar4 = (undefined *)get_video_settings2_frameb(), puVar4 != &cfb_16_a)) { - DAT_80036474 += 1; - } - else { - DAT_8003646c = 0; - DAT_80036474 = 0; - } - } - } - else { - if (((DAT_80036470 < 4) || (DAT_80036468 == 0)) || - (puVar4 = (undefined *)get_video_settings2_frameb(), puVar4 != &cfb_16_b)) { - DAT_80036470 += 1; - } - else { - DAT_8003646c = 1; - DAT_80036470 = 0; - } - } - if ((DAT_8003646c != 0) && - (puVar4 = (undefined *)get_video_settings2_frameb(), puVar4 == &cfb_16_b)) { - set_video_settings2_frameb(DAT_80036468); - } - iVar5 = FUN_7f0a5a80(); - if (iVar5 == 1) { - uVar1 = FUN_7f08730c(); - iVar5 = FUN_7f0873f0(); - FUN_7f09bdc4(((float)(int)(short)uVar1 / (float)iVar5) * 0.75000000 * DAT_80055294); - uVar1 = FUN_7f08730c(); - iVar5 = FUN_7f0873f0(); - FUN_70004590(((float)(int)(short)uVar1 / (float)iVar5) * 0.75000000 * DAT_80055298, - extraout_a0_00,extraout_a1_00); - } - else { - uVar1 = FUN_7f08730c(); - iVar5 = FUN_7f0873f0(); - FUN_7f09bdc4((float)(int)(short)uVar1 / (float)iVar5); - uVar1 = FUN_7f08730c(); - iVar5 = FUN_7f0873f0(); - FUN_70004590((float)(int)(short)uVar1 / (float)iVar5,extraout_a0_01,extraout_a1_01); - } - uVar1 = FUN_7f08730c(); - iVar5 = FUN_7f0873f0(); - FUN_7f09bd7c((short)uVar1,(short)iVar5); - uVar1 = FUN_7f087390(); - iVar5 = FUN_7f087504(); - FUN_7f09bd98((short)uVar1,(short)iVar5); - uVar1 = FUN_7f0872c4(); - uVar2 = FUN_7f0872e8(); - set_video2_text_clip_size((short)uVar1,(short)uVar2); - uVar1 = FUN_7f0872c4(); - uVar2 = FUN_7f0872e8(); - set_video2_settings_offset_18_1A((short)uVar1,(short)uVar2); - uVar1 = FUN_7f08730c(); - iVar5 = FUN_7f0873f0(); - FUN_7000443c((short)uVar1,(short)iVar5); - uVar1 = FUN_7f087390(); - iVar5 = FUN_7f087504(); - FUN_700044bc((short)uVar1,(short)iVar5); - FUN_7f080ecc(); - FUN_7f081090(); - uVar6 = cur_player_get_ammo_onscreen_setting(); - FUN_7f07cb94(uVar6); - uVar6 = cur_player_get_ammo_onscreen_setting(); - FUN_7f07cc7c(uVar6); - uVar6 = get_D_80040AE4(); - FUN_7f07cb74(uVar6); - iVar5 = FUN_7f0a5a50(); - FUN_7f0696e0(1,(longlong)iVar5); - uVar3 = get_num_players(); - if (uVar3 == 1) { - iVar5 = get_screen_ratio(); - uVar3 = (ulonglong)(iVar5 != 0); - if (iVar5 != 0) goto LAB_7f0879fc; - } - uVar3 = get_num_players(); - uVar3 = (ulonglong)((longlong)uVar3 < 2) ^ 1; - if (uVar3 != 0) { - uVar3 = (ulonglong)(*(char *)(_DAT_8007a124 + 0x6b) != '\0'); - } -LAB_7f0879fc: - FUN_7f06ab94(1,uVar3); - if (((DAT_800364d4 == 0) || ((DAT_800364d4 == 4 && (DAT_800364f0 != 0)))) || (DAT_800364d4 == 10)) - { - iVar5 = get_cur_playernum(); - if (iVar5 == 0) { - _DAT_80079a60 += DAT_800483a4; - } - FUN_7f084cf8(param_1,param_2,(int)(short)param_3 & 0xffff, - (uint)*(ushort *)(_DAT_8007a120 + 0x3b4)); - } - else { - FUN_7f08705c((longlong)param_1,(longlong)param_2,param_3,*(ushort *)(_DAT_8007a120 + 0x3b4)); - } - _DAT_80079a64 = _DAT_80079a64 + DAT_800484d0; - if (DAT_800364e0 != 0) { - iVar5 = FUN_7f0c086c(); - if ((iVar5 == 0) && ((param_3 & ~*(ushort *)(_DAT_8007a120 + 0x3b4) & 0xf030) != 0)) { - DAT_800364e0 = 2; - uVar3 = FUN_7f080e9c(); - if (uVar3 == 0) { - if (*(float *)(_DAT_8007a120 + 0x404) == 0.00000000) { - FUN_7f080e68(*(undefined4 *)(_DAT_8007a120 + 0x3e0),0x3f800000,extraout_a0_02); - } - } - else { - if (*(float *)(_DAT_8007a120 + 0x3dc) == 0.00000000) { - FUN_7f080dc0(0,0,0,0); - FUN_7f080e68(0x42700000,0x3f800000,extraout_a0_03); - } - } - } - if (((DAT_800364e0 == 2) && (uVar3 = FUN_7f080e9c(), uVar3 != 0)) && - (*(float *)(_DAT_8007a120 + 0x3dc) == 1.00000000)) { - FUN_70006968(); - } - } - if (DAT_800364d8 != 0) { - FUN_7f07b7c4(); - } - if (*(int *)(_DAT_8007a120 + 0xd8) != 0) { - iVar5 = *(int *)(_DAT_8007a120 + 0x424); - if (iVar5 == 0) { - FUN_7f05de34(1,0); - FUN_7f05de34(0,0); - iVar5 = *(int *)(_DAT_8007a120 + 0x424); - } - if (((iVar5 != 0) && (*(int *)(_DAT_8007a120 + 0x428) != 0)) && (2 < DAT_80036550)) { - run_title_stage(); - } - } - if ((DAT_800364d4 == 10) && (uVar3 = FUN_7f080e9c(), uVar3 != 0)) { - run_title_stage(); - } - *(ushort *)(_DAT_8007a120 + 0x3b4) = param_3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f087cb0(int param_1) - -{ - float fVar1; - - fVar1 = (float)FUN_7f0bd5e4(param_1,(float *)(_DAT_8007a120 + 0x38)); - FUN_7f0b53ec(); - *(float *)(_DAT_8007a120 + 0x50) = fVar1 * *(float *)(_DAT_8007a120 + 0x38); - FUN_7f0b53ec(); - *(float *)(_DAT_8007a120 + 0x54) = fVar1 * *(float *)(_DAT_8007a120 + 0x3c); - FUN_7f0b53ec(); - *(float *)(_DAT_8007a120 + 0x58) = fVar1 * *(float *)(_DAT_8007a120 + 0x40); - FUN_7f0bd1d4(param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f087d30(void) - -{ - float *pfVar1; - - *(undefined4 *)(_DAT_8007a120 + 0x44) = *(undefined4 *)(_DAT_8007a120 + 0x38); - *(undefined4 *)(_DAT_8007a120 + 0x48) = *(undefined4 *)(_DAT_8007a120 + 0x3c); - *(undefined4 *)(_DAT_8007a120 + 0x4c) = *(undefined4 *)(_DAT_8007a120 + 0x40); - pfVar1 = (float *)FUN_7f0789b4(); - FUN_7f0588f8(pfVar1,(float *)(_DAT_8007a120 + 0x44)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f087d90(float *param_1,float *param_2,float *param_3) - -{ - ulonglong uVar1; - undefined4 uVar2; - uint *puVar3; - float *pfVar4; - int iVar5; - undefined8 extraout_a0; - float *pfVar6; - float fVar7; - float afStack232 [16]; - float afStack168 [3]; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float afStack132 [16]; - int iStack68; - uint auStack64 [16]; - - uVar1 = FUN_7f08a6d0(); - FUN_7f087cb0((int)uVar1); - uVar2 = FUN_7f0be290(); - *(undefined4 *)(_DAT_8007a120 + 0x5c) = uVar2; - uVar2 = FUN_7f0be290(); - *(undefined4 *)(_DAT_8007a120 + 0x60) = uVar2; - uVar2 = FUN_7f0be290(); - *(undefined4 *)(_DAT_8007a120 + 100) = uVar2; - uVar2 = FUN_7f0be290(); - *(undefined4 *)(_DAT_8007a120 + 0x68) = uVar2; - iStack68 = FUN_7f0be2a8(2); - fStack156 = (*param_1 - *(float *)(_DAT_8007a120 + 0x38)) * DAT_8003650c; - fStack152 = (param_1[1] - *(float *)(_DAT_8007a120 + 0x3c)) * DAT_8003650c; - fStack148 = (param_1[2] - *(float *)(_DAT_8007a120 + 0x40)) * DAT_8003650c; - fStack144 = *param_2 + fStack156; - fStack140 = param_2[1] + fStack152; - fStack136 = param_2[2] + fStack148; - FUN_7f059944(afStack132,fStack156,fStack152,fStack148,*param_2,param_2[1],param_2[2],*param_3, - param_3[1],param_3[2]); - guLookAtReflect(auStack64,(longlong)iStack68,fStack156,fStack152,fStack148,fStack144,fStack140, - fStack136,*param_3,param_3[1],param_3[2]); - FUN_7f059944(*(float **)(_DAT_8007a120 + 100),*param_1,param_1[1],param_1[2],*param_2,param_2[1], - param_2[2],*param_3,param_3[1],param_3[2]); - FUN_7f059c28(*(float **)(_DAT_8007a120 + 0x68),*param_1,param_1[1],param_1[2],*param_2,param_2[1], - param_2[2],*param_3,param_3[1],param_3[2]); - puVar3 = (uint *)FUN_7f0be290(); - pfVar6 = (float *)FUN_7f0789d4(); - loc_7F0580E4(pfVar6,afStack132,(int)afStack232); - pfVar6 = afStack232; - do { - iVar5 = 0; - pfVar4 = pfVar6; - do { - iVar5 += 4; - if (32000.00000000 < *pfVar4) { - *pfVar4 = 32000.00000000; - } - else { - if (*pfVar4 < -32000.00000000) { - *pfVar4 = -32000.00000000; - } - } - pfVar4 = pfVar4 + 1; - } while (iVar5 != 0x10); - pfVar6 = pfVar6 + 4; - } while (pfVar6 != afStack168); - guMtxF2L(afStack232,puVar3); - fVar7 = (float)FUN_7f078974(puVar3); - FUN_7f0b5428(); - matrix_multiply_A1_by_F12(fVar7,extraout_a0,afStack132); - guMtxF2L(afStack132,*(uint **)(_DAT_8007a120 + 0x5c)); - loc_7F059344(*(uint **)(_DAT_8007a120 + 0x5c),*(int *)(_DAT_8007a120 + 0x60)); - FUN_7f078934(*(undefined4 *)(_DAT_8007a120 + 0x5c)); - FUN_7f078914(*(undefined4 *)(_DAT_8007a120 + 0x60)); - FUN_7f078994(*(undefined4 *)(_DAT_8007a120 + 100)); - FUN_7f078a14(*(undefined4 *)(_DAT_8007a120 + 0x68)); - FUN_7f078a54(iStack68); - FUN_7f078bcc(); - FUN_7f087d30(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0880d4(undefined4 param_1) - -{ - float fVar1; - float fVar2; - undefined4 auStack76 [3]; - float local_40; - float local_3c; - float local_38; - float local_34; - undefined4 local_30; - undefined4 local_2c; - int *local_28; - float local_24; - int local_20; - int local_1c; - float local_18; - float local_14; - float local_10; - float local_c; - int local_8; - int local_4; - - if (*_DAT_8007a120 == 1) { - local_c = (float)_DAT_8007a120[1]; - local_8 = _DAT_8007a120[2]; - local_4 = _DAT_8007a120[3]; - local_18 = (float)_DAT_8007a120[4] - (float)_DAT_8007a120[1]; - local_14 = (float)_DAT_8007a120[5] - (float)_DAT_8007a120[2]; - local_10 = (float)_DAT_8007a120[6] - (float)_DAT_8007a120[3]; - local_24 = (float)_DAT_8007a120[7]; - local_20 = _DAT_8007a120[8]; - local_1c = _DAT_8007a120[9]; - } - else { - local_28 = _DAT_8007a120 + 0x122; - local_34 = DAT_80036870; - local_30 = DAT_80036874; - local_2c = DAT_80036878; - if (_DAT_8007a120[0x36] == 0) { - FUN_7f09d338((float *)(_DAT_8007a120 + 0x12d),(float *)(_DAT_8007a120 + 0x130),&local_34); - } - else { - video_related_9(0.00000000); - } - local_c = (float)local_28[0xb]; - local_8 = local_28[0xc]; - local_4 = local_28[0xd]; - local_18 = (float)local_28[0xe]; - local_14 = (float)local_28[0xf]; - local_10 = (float)local_28[0x10]; - local_24 = (float)local_28[0x11]; - local_20 = local_28[0x12]; - local_1c = local_28[0x13]; - } - FUN_7f087d90(&local_c,&local_18,&local_24); - FUN_7f068768(auStack76,&local_40); - fVar1 = sqrtf(local_38 * local_38 + local_40 * local_40); - fVar2 = FUN_7f08a648(); - fVar1 = loc_7F05AB54(local_3c,fVar1); - fVar1 = fVar1 + fVar2; - if (DAT_8005529c <= fVar1) { - fVar1 = fVar1 - DAT_800552a0; - } - *(float *)(_DAT_8007a120 + 0xa82) = fVar1; - fVar1 = loc_7F05AB54(-local_40,-local_38); - if (DAT_800552a4 <= fVar1) { - fVar1 = fVar1 - DAT_800552a8; - } - *(float *)(_DAT_8007a120 + 0xa83) = fVar1; - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0882e0(int param_1,int param_2,int param_3) - -{ - int iVar1; - uint *puVar2; - ushort **ppuVar3; - int iVar4; - int iVar5; - ushort *puVar6; - - iVar1 = FUN_7f01d710(); - iVar4 = *(int *)(param_2 + 8); - iVar5 = param_3 * 4; - ppuVar3 = (ushort **)(iVar4 + iVar5); - if (*ppuVar3 == NULL) { - puVar6 = ppuVar3[1]; - } - else { - puVar2 = (uint *)loc_7F06C888(param_1,*ppuVar3); - *puVar2 = (uint)(*(int *)(_DAT_8007a120 + 0x41c) == 3); - iVar4 = *(int *)(param_2 + 8); - ppuVar3 = (ushort **)(iVar4 + iVar5); - puVar6 = ppuVar3[1]; - } - if (puVar6 != NULL) { - puVar2 = (uint *)loc_7F06C888(param_1,*(ushort **)(iVar4 + (param_3 + 1) * 4)); - iVar4 = *(int *)(_DAT_8007a120 + 0x41c); - if (iVar4 == 1) { - *puVar2 = (uint)(iVar4 == 1); - } - else { - if (iVar4 == 6) { - *puVar2 = (uint)(iVar4 == 6); - } - else { - if (iVar4 == 7) { - *puVar2 = (uint)(iVar4 == 7); - } - else { - if (iVar4 == 8) { - *puVar2 = (uint)(iVar1 != 1); - } - else { - *puVar2 = (uint)(iVar4 == 8); - } - } - } - } - iVar4 = *(int *)(param_2 + 8); - ppuVar3 = (ushort **)(iVar4 + iVar5); - } - if (ppuVar3[2] != NULL) { - puVar2 = (uint *)loc_7F06C888(param_1,*(ushort **)(iVar4 + (param_3 + 2) * 4)); - iVar4 = *(int *)(_DAT_8007a120 + 0x41c); - if (iVar4 == 5) { - *puVar2 = (uint)(iVar4 == 5); - } - else { - if (iVar4 == 8) { - *puVar2 = (uint)(iVar1 == 1); - } - else { - *puVar2 = (uint)(iVar4 == 8); - } - } - iVar4 = *(int *)(param_2 + 8); - ppuVar3 = (ushort **)(iVar4 + iVar5); - } - if (ppuVar3[3] != NULL) { - puVar2 = (uint *)loc_7F06C888(param_1,*(ushort **)(iVar4 + (param_3 + 3) * 4)); - *puVar2 = (uint)(*(int *)(_DAT_8007a120 + 0x41c) == 0); - iVar4 = *(int *)(param_2 + 8); - ppuVar3 = (ushort **)(iVar4 + iVar5); - } - if (ppuVar3[4] != NULL) { - puVar2 = (uint *)loc_7F06C888(param_1,*(ushort **)(iVar4 + (param_3 + 4) * 4)); - *puVar2 = (uint)(*(int *)(_DAT_8007a120 + 0x41c) == 2); - iVar4 = *(int *)(param_2 + 8); - ppuVar3 = (ushort **)(iVar4 + iVar5); - } - if (ppuVar3[5] != NULL) { - puVar2 = (uint *)loc_7F06C888(param_1,*(ushort **)(iVar4 + (param_3 + 5) * 4)); - *puVar2 = (uint)(*(int *)(_DAT_8007a120 + 0x41c) == 4); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f088be8) overlaps instruction at (ram,0x7f088be4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f088540(uint *param_1) - -{ - int *piVar1; - int iVar2; - uint *puVar3; - uint *puVar4; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - float *pfVar5; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float **ppfVar6; - float **ppfVar7; - float **ppfVar8; - float **ppfVar9; - float fVar10; - float fVar11; - uint *local_res0; - float afStack428 [16]; - undefined4 *local_16c; - int local_168; - float local_160; - float local_15c; - float local_144; - float local_140; - float local_13c; - float afStack312 [4]; - float afStack296 [4]; - float afStack280 [4]; - float afStack264 [3]; - float afStack252 [3]; - float afStack240 [18]; - ushort local_a6; - uint *local_a4; - undefined4 *local_a0; - int local_98; - float *local_94; - float local_90; - float local_8c; - float local_88; - float local_84; - float afStack128 [16]; - float *local_40; - undefined4 local_3c; - undefined4 local_38; - uint *local_34; - float *local_30; - undefined4 local_10; - uint local_c; - - local_res0 = param_1; - if (*(int *)(_DAT_8007a120 + 0x1c8) != 0) { - ppfVar8 = (float **)&DAT_8003687c; - ppfVar6 = &local_40; - local_res0 = param_1; - if (*(int *)(_DAT_8007a120 + 0x200) != 0) { - do { - ppfVar9 = ppfVar8 + 3; - ppfVar7 = ppfVar6 + 3; - *ppfVar6 = *ppfVar8; - ppfVar6[1] = ppfVar8[1]; - ppfVar6[2] = ppfVar8[2]; - ppfVar8 = ppfVar9; - ppfVar6 = ppfVar7; - } while (ppfVar9 != (float **)0x800368b8); - *ppfVar7 = pfRam800368b8; - local_8c = DAT_800368bc; - local_88 = (float)DAT_800368c0; - local_84 = (float)DAT_800368c4; - local_98 = FUN_7f05d438(1); - local_a0 = (undefined4 *) - loc_7F06C888(_DAT_8007a120 + 0x230,*(ushort **)(*(int *)(local_98 + 8) + 0xc)); - local_a4 = (uint *)FUN_7f0be290(); - guPerspective(local_a4,&local_a6,*(float *)(_DAT_8007a120 + 0x11c4),1.45454550,10.00000000, - 300.00000000,1.00000000); - *param_1 = 0x1030040; - *(uint **)(param_1 + 1) = local_a4 + -0x20000000; - param_1[2] = 0xbc00000e; - param_1[3] = (uint)local_a6; - local_34 = param_1 + 4; - *local_a0 = *(undefined4 *)(_DAT_8007a120 + 0x1cc); - local_8c = *(float *)(_DAT_8007a120 + 0x498) * - (*(float *)(_DAT_8007a120 + 0x54c) + -12.00000000) + - *(float *)(_DAT_8007a120 + 0x48c) + - *(float *)(_DAT_8007a120 + 0x544) * -*(float *)(_DAT_8007a120 + 0x4a0); - local_88 = *(float *)(_DAT_8007a120 + 0x548) + *(float *)(_DAT_8007a120 + 0x490); - local_84 = *(float *)(_DAT_8007a120 + 0x4a0) * - (*(float *)(_DAT_8007a120 + 0x54c) + -12.00000000) + - *(float *)(_DAT_8007a120 + 0x494) + - *(float *)(_DAT_8007a120 + 0x544) * *(float *)(_DAT_8007a120 + 0x498); - FUN_7f0589f0(&local_8c,(360.00000000 - *(float *)(_DAT_8007a120 + 0x148)) * DAT_800552ac, - afStack128); - pfVar5 = (float *)FUN_7f0789b4(); - FUN_7f0585b8(pfVar5,afStack128); - local_94 = (float *)FUN_7f0be2c4((int)*(short *)(local_98 + 0xe) << 6); - FUN_7f0882e0(_DAT_8007a120 + 0x230,local_98,4); - local_40 = afStack128; - local_30 = local_94; - FUN_7f06f8e8(&local_40,_DAT_8007a120 + 0x230,extraout_a2_lo,extraout_a3_lo); - local_90 = 1.00000000; - local_168 = (int)_DAT_80079a64; - pfVar5 = *(float **)(**(int **)(local_98 + 8) + 4); - fVar11 = *(float *)(_DAT_8007a120 + 600) / 20.00000000; - if (1.00000000 < fVar11) { - fVar10 = *pfVar5; - } - else { - fVar10 = *pfVar5; - local_90 = fVar11; - } - local_144 = ((*(float *)(_DAT_8007a120 + 0x1d4) - fVar10 * *(float *)(_DAT_8007a120 + 0x244)) - - local_94[0xc]) * local_90 + local_94[0xc]; - local_140 = ((*(float *)(_DAT_8007a120 + 0x1d8) + - pfVar5[2] * *(float *)(_DAT_8007a120 + 0x244)) - local_94[0xd]) * local_90 + - local_94[0xd]; - local_13c = ((*(float *)(_DAT_8007a120 + 0x1dc) - - pfVar5[1] * *(float *)(_DAT_8007a120 + 0x244)) - local_94[0xe]) * local_90 + - local_94[0xe]; - FUN_7f059e28(afStack240,0.00000000,0.00000000,0.00000000,*(float *)(_DAT_8007a120 + 0x1e0), - *(float *)(_DAT_8007a120 + 0x1e4),*(float *)(_DAT_8007a120 + 0x1e8), - *(float *)(_DAT_8007a120 + 0x1ec),*(float *)(_DAT_8007a120 + 0x1f0), - *(float *)(_DAT_8007a120 + 500)); - loc_7F058918(local_94,afStack252); - loc_7F058918(afStack240,afStack264); - sub_7F05B3F4(afStack252,afStack280); - sub_7F05B3F4(afStack264,afStack296); - locret_7F05BE80(afStack280,afStack296); - loc_7F05BC58(afStack280,afStack296,local_90,afStack312); - sub_7F05B628(afStack312,local_94); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&local_144,(int)local_94); - matrix_multiply_A1_by_F12(*(float *)(_DAT_8007a120 + 0x244),extraout_a0,local_94); - iVar2 = local_168 / 0x3c; - if (false) { - trap(0x1c00); - } - if ((false) && (local_168 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - local_15c = (-((float)(iVar2 % 0x3c) + (float)(local_168 % 0x3c) / 60.00000000) * DAT_800552b0 - ) / 60.00000000; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 / 0x3c == -0x80000000)) { - trap(0x1800); - } - local_160 = (-(float)((iVar2 / 0x3c) % 0x3c) * DAT_800552b0) / 60.00000000 + - local_15c / 60.00000000; - fVar11 = (-(float)((iVar2 / 0xe10) % 0xc) * DAT_800552b0) / 12.00000000 + - local_160 / 12.00000000 + local_15c / 720.00000000; - while (local_15c < 0.00000000) { - local_15c = local_15c + DAT_800552b0; - } - while (local_160 < 0.00000000) { - local_160 = local_160 + DAT_800552b0; - } - if (fVar11 < 0.00000000) { - do { - fVar11 = fVar11 + DAT_800552b0; - } while (fVar11 < 0.00000000); - piVar1 = *(int **)(local_98 + 8); - } - else { - piVar1 = *(int **)(local_98 + 8); - } - pfVar5 = local_94 + 0x10; - FUN_7f0589f0(*(float **)(*piVar1 + 4),fVar11,pfVar5); - FUN_7f058588(local_94,pfVar5); - pfVar5 = local_94 + 0x20; - FUN_7f0589f0(*(float **)(*(int *)(*(int *)(local_98 + 8) + 4) + 4),local_160,pfVar5); - FUN_7f058588(local_94,pfVar5); - pfVar5 = local_94 + 0x30; - FUN_7f0589f0(*(float **)(*(int *)(*(int *)(local_98 + 8) + 8) + 4),local_15c,pfVar5); - FUN_7f058588(local_94,pfVar5); - local_38 = 3; - local_3c = 0; - local_10 = 4; - if ((*(int *)(_DAT_8007a120 + 0x1c8) == 5) || (*(int *)(_DAT_8007a120 + 0x1c8) == 0xc)) { - local_c = 0xcd; - } - else { - local_c = (uint)*(byte *)(_DAT_8007a120 + 0xfdf) | - (uint)*(byte *)(_DAT_8007a120 + 0xfdc) << 0x18 | - (uint)*(byte *)(_DAT_8007a120 + 0xfdd) << 0x10 | - (uint)*(byte *)(_DAT_8007a120 + 0xfde) << 8; - } - loc_7F074778((int)&local_40,_DAT_8007a120 + 0x230,extraout_a2_lo_00,extraout_a3_lo_00); - puVar3 = local_34; - local_16c = *(undefined4 **)(*(int *)(*(int *)(local_98 + 8) + 8) + 4); - puVar4 = (uint *)FUN_7f0be290(); - FUN_7f058e84(local_16c,afStack428); - FUN_7f058588(local_94,afStack428); - FUN_7f059184(); - FUN_7f0591bc((int)afStack428,puVar4); - FUN_7f0591a8(); - local_res0 = FUN_7f0ad5d0(puVar3,puVar4, - (uint)(*(int *)(_DAT_8007a120 + 0x1c8) == 5 || - *(int *)(_DAT_8007a120 + 0x1c8) == 0xc)); - FUN_7f059184(); - loc_7F08BDA4(*(undefined4 **)(_DAT_8007a120 + 0x23c),(int)*(short *)(local_98 + 0xe)); - FUN_7f0591a8(); - } - } - return local_res0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f088cec(undefined4 *param_1) - -{ - uint uVar1; - float afStack72 [16]; - uint *puStack8; - uint *puStack4; - - loc_7F0A32C8((short *)(_DAT_8007a120 + 0x12b8),0x2e,1,*(float *)(_DAT_8007a120 + 0xf0)); - loc_7F0A33E8((undefined4 *)(_DAT_8007a120 + 0x19f8),_DAT_8007a120 + -0x7fffed48,0x2e); - loc_7F0A32C8((short *)(_DAT_8007a120 + 0x1598),0x2e,-1,*(float *)(_DAT_8007a120 + 0xec)); - loc_7F0A33E8((undefined4 *)(_DAT_8007a120 + 0x2128),_DAT_8007a120 + -0x7fffea68,0x2e); - puStack4 = (uint *)FUN_7f0be290(); - puStack8 = (uint *)FUN_7f0be290(); - guOrtho(puStack8,DAT_8003650c * -800.00000000,DAT_8003650c * 800.00000000, - DAT_8003650c * -600.00000000,DAT_8003650c * 600.00000000,-100.00000000,1000.00000000, - 1.00000000); - *param_1 = 0x1030040; - uVar1 = osVirtualToPhysical((uint)puStack8); - param_1[1] = uVar1; - FUN_7f059bb4(afStack72,0.00000000,500.00000000,0.00000000,0.00000000,0.00000000,0.00000000, - 0.00000000,0.00000000,-1.00000000); - FUN_7f0591bc((int)afStack72,puStack4); - param_1[2] = 0x1020040; - uVar1 = osVirtualToPhysical((uint)puStack4); - param_1[3] = uVar1; - param_1[4] = 0xe7000000; - param_1[5] = 0; - param_1[6] = 0xba001402; - param_1[7] = 0; - param_1[8] = 0xb900031d; - param_1[9] = 0x5041c8; - param_1[10] = 0xb9000002; - param_1[0xb] = 0; - param_1[0xc] = 0xfcffffff; - param_1[0xd] = 0xfffe793c; - param_1[0xe] = 0xfa000000; - param_1[0xf] = 0xe6e6e600; - param_1[0x10] = 0xb6000000; - param_1[0x11] = 0x3000; - param_1[0x12] = 0x6000000; - param_1[0x13] = _DAT_8007a120 + -0x7fffe608; - param_1[0x14] = 0x6000000; - param_1[0x15] = _DAT_8007a120 + -0x7fffded8; - param_1[0x16] = 0x1030040; - uVar1 = FUN_7f078964(); - uVar1 = osVirtualToPhysical(uVar1); - param_1[0x17] = uVar1; - return param_1 + 0x18; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f088fbc(void) - -{ - undefined4 *puVar1; - ulonglong uVar2; - uint uVar3; - int iVar4; - int iVar5; - uint *puVar6; - float fVar7; - float fVar8; - undefined4 uStack12; - float fStack8; - undefined4 uStack4; - - puVar6 = _DAT_80075d48; - uStack12 = DAT_800368cc; - fStack8 = (float)DAT_800368d0; - uStack4 = DAT_800368d4; - FUN_7f0799dc(); - FUN_7f079ea8(); - *(undefined4 *)(_DAT_8007a120 + 0xd8) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x428) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x424) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x420) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x29b8) = 7; - *(undefined4 *)(_DAT_8007a120 + 0x29d4) = 7; - *(undefined4 *)(_DAT_8007a120 + 0x1064) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1128) = 2; - FUN_7f08aa98(0xffffffff); - FUN_7f08b104(0xffffffff); - uVar2 = get_num_players(); - if ((longlong)uVar2 < 2) { - uVar3 = 0; - } - else { - if (_DAT_80079cd8 < 1) { - uVar3 = 0; - } - else { - uVar3 = loc_7F0793B8(); - } - } - puVar1 = *(undefined4 **)(&DAT_80079c98 + uVar3 * 4); - uStack12 = *puVar1; - uStack4 = puVar1[2]; - iVar5 = puVar1[10]; - fVar7 = FUN_7f081370((longlong)iVar5,uStack12,uStack4); - fStack8 = *(float *)(_DAT_8007a120 + 0x29bc) + fVar7; - *(float *)(_DAT_8007a120 + 0x70) = fVar7; - iVar4 = FUN_7000a460(); - fVar8 = (float)iVar4; - if (iVar4 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar8 = fVar8 * 0.00000000 * DAT_800552b4; - *(float *)(_DAT_8007a120 + 0x148) = (fVar8 * 360.00000000) / DAT_800552b4; - *(float *)(_DAT_8007a120 + 0x74) = fVar7; - *(float *)(_DAT_8007a120 + 0x6c) = fVar7 / DAT_800552b8; - change_player_pos_to_target((undefined4 *)(_DAT_8007a120 + 0x488),&uStack12,iVar5); - fVar7 = func_7F057FC4(fVar8); - *(float *)(_DAT_8007a120 + 0x498) = -fVar7; - *(undefined4 *)(_DAT_8007a120 + 0x49c) = 0; - fVar8 = FUN_7f0583c0(fVar8); - fVar7 = DAT_800552bc; - *(float *)(_DAT_8007a120 + 0x4a0) = fVar8; - *(undefined4 *)(_DAT_8007a120 + 0x408) = uStack12; - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 8) = uStack12; - *(float *)(_DAT_8007a120 + 0x40c) = fStack8; - *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0xc) = fStack8; - *(undefined4 *)(_DAT_8007a120 + 0x410) = uStack4; - *(undefined4 *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x10) = uStack4; - *(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x14) = iVar5; - *(float *)(_DAT_8007a120 + 0x3b8) = *(float *)(_DAT_8007a120 + 0x4b4) / fVar7; - *(float *)(_DAT_8007a120 + 0x3bc) = *(float *)(_DAT_8007a120 + 0x4b8) / fVar7; - *(float *)(_DAT_8007a120 + 0x3c0) = *(float *)(_DAT_8007a120 + 0x4bc) / fVar7; - FUN_7f08c880(); - iVar5 = 8; - *(undefined4 *)(_DAT_8007a120 + 0x1130) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x1134) = 0; - do { - *(undefined4 *)(_DAT_8007a120 + iVar5 + 0x1130) = 0; - *(undefined4 *)(_DAT_8007a120 + iVar5 + 0x1134) = 0; - *(undefined4 *)(_DAT_8007a120 + iVar5 + 0x1138) = 0; - iVar4 = _DAT_8007a120 + iVar5; - iVar5 += 0x10; - *(undefined4 *)(iVar4 + 0x113c) = 0; - } while (iVar5 != 0x78); - if (puVar6 != NULL) { - uVar3 = *puVar6; - while (uVar3 != 9) { - if (uVar3 < 7) { - // WARNING: Could not recover jumptable at 0x7f0892b4. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_800552c0)[uVar3])(); - return; - } - puVar6 = puVar6 + 1; - uVar3 = *puVar6; - } - } - *(undefined4 *)(_DAT_8007a120 + 0x78) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x7c) = DAT_800552dc; - *(undefined4 *)(_DAT_8007a120 + 0x80) = 0; - FUN_7f081020(0x42f00000,0x3f800000); - return; -} - - - -undefined4 * loc_7F0891D8(undefined4 *param_1) - -{ - ushort uVar1; - short *psVar2; - short sVar3; - int iVar4; - int iVar6; - uint *puVar7; - short sVar10; - ulonglong uVar5; - byte *pbVar8; - short sVar11; - short sVar12; - undefined4 *puVar9; - longlong lVar13; - longlong lVar14; - ushort *puVar15; - int iVar16; - int iVar17; - longlong lVar18; - longlong lVar19; - int iStack40; - int iStack32; - int aiStack28 [3]; - int iStack16; - int aiStack12 [2]; - int iStack4; - - iVar6 = FUN_7000695c(); - if (((iVar6 == 0x36) && (DAT_8003647c == 1)) && (lVar18 = 0xdc, DAT_80036480 != NULL)) { - lVar19 = 0xdc; - sVar11 = 0; - DAT_80036478 += 1; - sVar3 = 0; - iStack4 = DAT_80036478; - puVar7 = loc_7F0ACED4(param_1); - sVar10 = get_video2_settings_height(); - iVar6 = iStack4 - (int)sVar10; - if (iVar6 < 0) { - iVar6 += 0xf; - } - iVar6 >>= 4; - iVar4 = iStack4; - if (iStack4 < 0) { - iVar4 = iStack4 + 0xf; - } - iStack40 = (iVar4 >> 4) + 1; - if (iVar6 < 0) { - iVar6 = 0; - } - iVar4 = 0; - lVar13 = lVar18; - lVar14 = lVar19; - psVar2 = DAT_80036480; - sVar10 = sVar11; - if (0 < iVar6) { - do { - if ((*psVar2 == 0) && (psVar2[1] == 0)) { - DAT_8003647c = 2; - lVar13 = lVar18; - lVar14 = lVar19; - iVar6 = iVar4; - iStack40 = iVar4; - sVar10 = sVar11; - break; - } - lVar13 = lVar18; - sVar10 = sVar11; - if (*psVar2 != 0x5011) { - lVar13 = (longlong)psVar2[2]; - if (lVar13 < 0) { - sVar10 = psVar2[3]; - lVar13 = lVar18; - } - else { - sVar10 = psVar2[3]; - } - if (sVar10 < 0) { - sVar10 = sVar11; - } - } - iVar4 += 1; - lVar14 = lVar19; - if (psVar2[1] != 0x5011) { - lVar14 = (longlong)psVar2[4]; - if (lVar14 < 0) { - sVar11 = psVar2[5]; - lVar14 = lVar19; - } - else { - sVar11 = psVar2[5]; - } - if (-1 < sVar11) { - sVar3 = sVar11; - } - } - lVar18 = lVar13; - lVar19 = lVar14; - psVar2 = psVar2 + 6; - sVar11 = sVar10; - } while (iVar4 != iVar6); - } - if (iVar6 < iStack40) { - iVar4 = iVar6 * 0xc; - puVar15 = (ushort *)(DAT_80036480 + iVar6 * 6); - uVar5 = (ulonglong)*puVar15; - lVar18 = lVar13; - lVar19 = lVar14; - if (*puVar15 != 0) goto LAB_7f08956c; - uVar1 = DAT_80036480[iVar6 * 6 + 1]; - while (lVar18 = lVar13, lVar19 = lVar14, uVar1 != 0) { -LAB_7f08956c: - do { - lVar13 = lVar18; - if (uVar5 != 0x5011) { - pbVar8 = (byte *)FUN_7f0c2a88((uint)uVar5); - iVar16 = (int)DAT_80036480 + iVar4; - lVar13 = (longlong)*(short *)(iVar16 + 4); - if (lVar13 < 0) { - sVar11 = *(short *)(iVar16 + 6); - lVar13 = lVar18; - } - else { - sVar11 = *(short *)(iVar16 + 6); - } - iVar16 = (int)lVar13; - if (-1 < sVar11) { - sVar10 = sVar11; - } - sVar11 = get_video2_settings_height(); - sVar12 = get_video2_settings_uly(); - iStack16 = (((int)sVar12 + iVar6 * 0x10) - iStack4) + (int)sVar11; - aiStack28[0] = 0; - iStack32 = 0; - loc_7F0AEB50(aiStack28,&iStack32,pbVar8,DAT_80040ee8,DAT_80040ee4,0); - if (sVar10 == 1) { - lVar18 = (longlong)(iVar16 - iStack32); - } - else { - if (sVar10 == 2) { - iVar17 = iVar16 - (iStack32 >> 1); - iVar16 = iVar17 + iStack32; - lVar18 = (longlong)iVar17; - } - else { - iVar16 += iStack32; - lVar18 = lVar13; - } - } - aiStack12[0] = (int)lVar18; - puVar9 = microcode_constructor_related_to_menus - (puVar7,lVar18,(longlong)(iStack16 + -1),(longlong)(iVar16 + 1), - iStack16 + aiStack28[0] + 1,0); - sVar11 = get_video2_settings_txtClipW(); - sVar12 = get_video2_settings_txtClipH(); - puVar7 = loc_7F0ADD78(puVar9,aiStack12,&iStack16,pbVar8,DAT_80040ee8,(int)DAT_80040ee4, - 0xffffffff,(int)sVar11,(int)sVar12,0,0); - puVar15 = (ushort *)((int)DAT_80036480 + iVar4); - } - lVar14 = lVar19; - if (puVar15[1] != 0x5011) { - pbVar8 = (byte *)FUN_7f0c2a88((uint)puVar15[1]); - iVar16 = (int)DAT_80036480 + iVar4; - lVar14 = (longlong)*(short *)(iVar16 + 8); - if (lVar14 < 0) { - sVar11 = *(short *)(iVar16 + 10); - lVar14 = lVar19; - } - else { - sVar11 = *(short *)(iVar16 + 10); - } - iVar16 = (int)lVar14; - if (-1 < sVar11) { - sVar3 = sVar11; - } - sVar11 = get_video2_settings_height(); - sVar12 = get_video2_settings_uly(); - iStack16 = (((int)sVar12 + iVar6 * 0x10) - iStack4) + (int)sVar11; - aiStack28[0] = 0; - iStack32 = 0; - loc_7F0AEB50(aiStack28,&iStack32,pbVar8,DAT_80040ee8,DAT_80040ee4,0); - if (sVar3 == 1) { - lVar18 = (longlong)(iVar16 - iStack32); - } - else { - if (sVar3 == 2) { - iVar17 = iVar16 - (iStack32 >> 1); - iVar16 = iVar17 + iStack32; - lVar18 = (longlong)iVar17; - } - else { - iVar16 += iStack32; - lVar18 = lVar14; - } - } - aiStack12[0] = (int)lVar18; - puVar9 = microcode_constructor_related_to_menus - (puVar7,lVar18,(longlong)(iStack16 + -1),(longlong)(iVar16 + 1), - iStack16 + aiStack28[0] + 1,0); - sVar11 = get_video2_settings_txtClipW(); - sVar12 = get_video2_settings_txtClipH(); - puVar7 = loc_7F0ADD78(puVar9,aiStack12,&iStack16,pbVar8,DAT_80040ee8,(int)DAT_80040ee4, - 0xffffffff,(int)sVar11,(int)sVar12,0,0); - } - iVar6 += 1; - iVar4 += 0xc; - if (iStack40 <= iVar6) goto LAB_7f08989c; - puVar15 = (ushort *)((int)DAT_80036480 + iVar4); - uVar5 = (ulonglong)*puVar15; - lVar18 = lVar13; - lVar19 = lVar14; - } while (*puVar15 != 0); - uVar1 = puVar15[1]; - } - } -LAB_7f08989c: - param_1 = combiner_bayer_lod_perspective(puVar7); - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0898dc(uint *param_1) - -{ - int *piVar1; - undefined4 *puVar3; - short sVar8; - short sVar9; - short sVar10; - short sVar11; - short sVar12; - short sVar13; - ulonglong uVar2; - int iVar4; - int iVar5; - undefined *puVar6; - undefined4 uVar7; - longlong lVar14; - undefined8 extraout_a0; - int iVar15; - float fVar16; - float fVar17; - uint *local_res0; - - if (*_DAT_8007a120 == 1) { - local_res0 = param_1; - FUN_7f08ac6c(); - local_res0 = FUN_7f08ad84(local_res0); - FUN_7f08b1d4(); - local_res0 = (uint *)FUN_7f08b2c4(local_res0); - local_res0 = FUN_7f05670c(local_res0); - local_res0 = FUN_7f080af0(local_res0); - puVar3 = loc_7F0891D8(local_res0); - } - else { - local_res0 = param_1; - FUN_7f061e4c(); - loc_7F0690D0((undefined4 *)register0x000000ec); - fVar16 = (float)loc_7F062FC0((uint **)register0x000000ec); - local_res0 = FUN_7f088540(local_res0); - if (_DAT_8007a120[0xa71] != 0) { - sVar8 = FUN_70004514(); - sVar9 = get_video2_settings_uly(); - sVar10 = FUN_70004514(); - sVar11 = FUN_7000449c(); - sVar12 = get_video2_settings_uly(); - sVar13 = get_video2_settings_height(); - local_res0 = loc_7F0ACED4(local_res0); - local_res0 = microcode_constructor_related_to_menus - (local_res0,(longlong)(int)sVar8,(longlong)(int)sVar9, - (longlong)((int)sVar11 + (int)sVar10),(int)sVar13 + (int)sVar12,0xa0); - } - uVar2 = FUN_7f08a5dc(); - if ((uVar2 == 0) || (_DAT_8007a120[0x72] != 0)) { - uVar2 = FUN_7f0c6d2c(); - if (uVar2 != 0) { - local_res0 = FUN_7f088cec(local_res0); - iVar4 = _DAT_8007a120[0xa80]; - if (0 < iVar4) { - _DAT_8007a120[0xa80] = iVar4 - DAT_800483a4; - iVar4 = _DAT_8007a120[0xa80]; - } - if (iVar4 < 0) { - _DAT_8007a120[0xa80] = 0; - } - } - } - else { - local_res0 = FUN_7f088cec(local_res0); - } - uVar2 = get_num_players(); - if (uVar2 == 1) { - fVar16 = (float)FUN_7f057a50(); - } - if (_DAT_8007a120[0x36] != 0) { - if (_DAT_8007a120[0x10a] == 0) { - if (_DAT_8007a120[0x36] == 1) { - _DAT_8007a120[0x36] = 2; - FUN_7f01c434(0); - uVar2 = get_num_players(); - if (uVar2 == 1) { - FUN_7f0c2208(-1); - FUN_7f0c18cc(0); - uVar2 = FUN_7f0c1880(); - FUN_7000704c(uVar2 & 0xffff); - DAT_8002438c = 0; - FUN_700073d4(0); - DAT_80024390 = 0; - fVar16 = (float)FUN_70006e8c(0x1b); - } - else { - fVar16 = (float)FUN_7f0c18cc(6); - } - } - else { - if (_DAT_8007a120[0x109] == 0) { - lVar14 = 2; - if (0 < DAT_800483a4) { - lVar14 = 1; - } - uVar2 = FUN_7f01c434(lVar14); - if (uVar2 != 0) { - _DAT_8007a120[0x109] = 1; - } - local_res0 = loc_7F01C9D4(local_res0); - } - else { - fVar16 = (float)FUN_7f080dc0(0x96,0,0,0x3f34b4b5); - } - } - } - sub_7F06F5BC((int)(_DAT_8007a120 + 0x166)); - fVar17 = locret_7F06F608((int)(_DAT_8007a120 + 0x166)); - if ((fVar17 <= fVar16) && (_DAT_8007a120[0x109] != 0)) { - if (_DAT_8007a120[0x10a] == 0) { - _DAT_8007a120[0x10a] = 1; - FUN_7f080df0(0x42700000,extraout_a0,0,0,0,0x3f800000); - FUN_7f081020(0x42f00000,0); - } - uVar2 = FUN_7f080e9c(); - if (uVar2 != 0) { - uVar2 = get_num_players(); - if (uVar2 == 1) { - FUN_7f07afd8(5); - } - else { - iVar4 = FUN_7f014808(); - iVar5 = get_cur_playernum(); - uVar2 = get_num_players(); - iVar15 = 0; - lVar14 = 0; - if (0 < (longlong)uVar2) { - puVar6 = &DAT_80079f60 + iVar5 * 4; - do { - piVar1 = (int *)(puVar6 + 0x24); - lVar14 = (longlong)((int)lVar14 + 1); - puVar6 = puVar6 + 0x70; - iVar15 += *piVar1; - } while (lVar14 < (longlong)uVar2); - } - if ((iVar4 != 1) || (iVar15 < 2)) { - uVar7 = get_cur_playernum(); - uVar2 = FUN_7000c370((char)uVar7,0xb000); - if (uVar2 != 0) { - FUN_7f088fbc(); - } - } - } - } - } - } - FUN_7f08ac6c(); - local_res0 = FUN_7f08ad84(local_res0); - FUN_7f08b1d4(); - local_res0 = (uint *)FUN_7f08b2c4(local_res0); - FUN_7f06abd0((uint **)register0x000000ec); - local_res0 = (uint *)FUN_7f06a2e0(local_res0); - local_res0 = FUN_7f05670c(local_res0); - local_res0 = loc_7F0C6588(local_res0); - puVar3 = FUN_7f080af0(local_res0); - } - return puVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f089d94(undefined8 param_1) - -{ - if (_DAT_80079e10 != 0) { - param_1 = FUN_7f0b3bd4(param_1); - } - if (_DAT_80079e14 != 0) { - param_1 = FUN_7f0b3bd4(param_1); - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f089dec(float param_1) - -{ - float *pfVar1; - int iVar2; - - iVar2 = _DAT_8007a120; - pfVar1 = (float *)(_DAT_8007a120 + 0x494); - *(float *)(_DAT_8007a120 + 0x48c) = *(float *)(_DAT_8007a120 + 0x48c) * (DAT_80036510 / param_1); - *(float *)(iVar2 + 0x494) = *pfVar1 * (DAT_80036510 / param_1); - DAT_80036510 = param_1; - DAT_80036514 = 1.00000000 / param_1; - return; -} - - - -void FUN_7f089e40(undefined4 param_1) - -{ - DAT_8003650c = param_1; - return; -} - - - -undefined4 sub_7F089778(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -float sub_7F089780(int param_1) - -{ - return *(float *)(param_1 + 0x29bc) + *(float *)(param_1 + 0x88) + *(float *)(param_1 + 0xa0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f089e6c(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0xa8); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f089e7c(void) - -{ - int iVar1; - undefined4 uVar2; - int iVar3; - int iVar4; - int iVar5; - - if ((*(char *)(_DAT_8007a120 + 0x12b6) == '\0') && (*(int *)(_DAT_8007a120 + 0xd8) == 0)) { - if (*(int *)(_DAT_8007a120 + 0x1c8) != 0) { - FUN_7f07fe84(1); - } - DAT_8002a968 = 1; - *(undefined4 *)(_DAT_8007a120 + 0xd8) = 1; - iVar3 = _DAT_8007a120 + 0x54; - iVar1 = _DAT_8007a120; - iVar4 = _DAT_8007a120; - do { - iVar5 = iVar4 + 0xc; - *(undefined4 *)(iVar1 + 0x434) = *(undefined4 *)(iVar4 + 0x488); - *(undefined4 *)(iVar1 + 0x438) = *(undefined4 *)(iVar4 + 0x48c); - *(undefined4 *)(iVar1 + 0x43c) = *(undefined4 *)(iVar4 + 0x490); - iVar1 = iVar1 + 0xc; - iVar4 = iVar5; - } while (iVar5 != iVar3); - *(undefined4 *)(_DAT_8007a120 + 0x414) = *(undefined4 *)(_DAT_8007a120 + 0x148); - *(undefined4 *)(_DAT_8007a120 + 0x418) = *(undefined4 *)(_DAT_8007a120 + 0x158); - if (DAT_80036490 != 0) { - DAT_800364cc = 1; - } - FUN_7f05de34(1,0); - FUN_7f05de34(0,0); - iVar1 = FUN_7f08c840(); - if (iVar1 - *(int *)(_DAT_8007a120 + 0x29f4) < *(int *)(_DAT_8007a124 + 0x50)) { - iVar1 = FUN_7f08c840(); - *(int *)(_DAT_8007a124 + 0x50) = iVar1 - *(int *)(_DAT_8007a120 + 0x29f4); - } - uVar2 = FUN_7f08c840(); - *(undefined4 *)(_DAT_8007a120 + 0x29f4) = uVar2; - } - return; -} - - - -int FUN_7f089fbc(void) - -{ - int iVar1; - - iVar1 = FUN_7000c260('\0'); - return (iVar1 * 8 + 0x280) / 0xa0; -} - - - -// WARNING: Instruction at (ram,0x7f08a0a0) overlaps instruction at (ram,0x7f08a09c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f089ff0(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float fParm5, - int iParm6,int iParm7) - -{ - bool bVar1; - ulonglong uVar2; - int iVar4; - longlong lVar3; - int iVar5; - int **ppiVar6; - float in_f0; - float fVar7; - float fStack4; - - fStack4 = *(float *)(_DAT_8007a124 + 0x5c) * fParm1; - if (*(int *)(_DAT_8007a120 + 0x1c8) != 0) { - FUN_7f08aa34(); - fVar7 = (float)loc_7F0A32C8((short *)(_DAT_8007a120 + 0x12b8),0x2e,1,in_f0); - FUN_7f08aa24(); - loc_7F0A32C8((short *)(_DAT_8007a120 + 0x1598),0x2e,-1,fVar7); - } - uVar2 = get_num_players(); - if (1 < (longlong)uVar2) { - if (_DAT_8008c770 != 0) { - return uVar2; - } - if (_DAT_8008c774 != 0) { - return uVar2; - } - } - if (DAT_80036488 == 1) { - fStack4 = fStack4 * 0.25000000; - } - if ((*(int *)(_DAT_8007a120 + 0xd8) == 0) && (*(char *)(_DAT_8007a120 + 0x12b6) == '\0')) { - iVar4 = get_cur_playernum(); - FUN_7000c8b8(iVar4,0.25000000); - iVar4 = FUN_7f0a5960(); - if (3 < iVar4) { - iVar4 = get_cur_playernum(); - uVar2 = get_num_players(); - FUN_7000c8b8((int)uVar2 + iVar4,0.25000000); - } - } - uVar2 = get_num_players(); - if ((1 < (longlong)uVar2) && (iVar4 = FUN_7f014808(), iVar4 == 4)) { - fStack4 = *(float *)(_DAT_8007a120 + 0xdc) * *(float *)(_DAT_8007a120 + 0x2a3c) + - *(float *)(_DAT_8007a120 + 0xe0) * *(float *)(_DAT_8007a120 + 0x2a40); - } - lVar3 = (longlong)_DAT_8007a120; - if (*(char *)(_DAT_8007a120 + 0x12b6) != '\0') { - return lVar3; - } - if (*(int *)(_DAT_8007a120 + 0xd8) != 0) { - return lVar3; - } - if (DAT_800364f4 != 0) { - return lVar3; - } - if (0.00000000 <= *(float *)(_DAT_8007a120 + 0xf4)) { - uVar2 = get_num_players(); - if ((longlong)uVar2 < 2) { - return ZEXT48(&DAT_80080000); - } - lVar3 = (longlong)_DAT_8007a120; - if (*(float *)(_DAT_8007a120 + 0xf4) != 0.00000000) { - return lVar3; - } - iVar4 = *(int *)(_DAT_8007a120 + 0x1c8); - } - else { - iVar4 = *(int *)(_DAT_8007a120 + 0x1c8); - } - if (iVar4 == 5) { - return lVar3; - } - if (iVar4 == 0xc) { - return lVar3; - } - *(undefined4 *)((int)lVar3 + 0xe4) = *(undefined4 *)((int)lVar3 + 0xdc); - *(undefined4 *)(_DAT_8007a120 + 0xe8) = *(undefined4 *)(_DAT_8007a120 + 0xe0); - uVar2 = get_num_players(); - if (1 < (longlong)uVar2) { - iVar4 = get_cur_playernum(); - fVar7 = loc_7F05AB54(fParm2,fParm5); - iVar5 = iParm6 * 0x70; - fVar7 = *(float *)(*(int *)(&DAT_80079f50 + iVar4 * 4) + 0x148) - - (360.00000000 - (fVar7 * 180.00000000) / DAT_800552e0); - if (fVar7 < 0.00000000) { - fVar7 = -fVar7; - } - if (90.00000000 <= fVar7) { - if (fVar7 <= 270.00000000) goto LAB_7f08a30c; - iVar4 = *(int *)(&DAT_80079f9c + iVar5); - } - else { - iVar4 = *(int *)(&DAT_80079f9c + iVar5); - } - *(int *)(&DAT_80079f9c + iVar5) = iVar4 + 1; - } -LAB_7f08a30c: - if (iParm7 == 0) { -LAB_7f08a358: - if (iParm7 != 0) { - fStack4 = fStack4 - *(float *)(_DAT_8007a120 + 0xe0) / *(float *)(_DAT_8007a120 + 0x2a40); - *(undefined4 *)(_DAT_8007a120 + 0xe0) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a40) = 0x3f800000; - } - *(float *)(_DAT_8007a120 + 0xdc) = - *(float *)(_DAT_8007a120 + 0xdc) - fStack4 / *(float *)(_DAT_8007a120 + 0x2a3c); - if (0.00000000 < *(float *)(_DAT_8007a120 + 0xdc)) { - fVar7 = *(float *)(_DAT_8007a120 + 0xf4); - goto LAB_7f08a4d0; - } - uVar2 = get_num_players(); - if (1 < (longlong)uVar2) { - iVar4 = get_cur_playernum(); - bVar1 = false; - iVar5 = FUN_7f014808(); - if ((iVar5 == 3) && (lVar3 = FUN_7f08d924(), lVar3 != 0)) { - bVar1 = true; - } - FUN_7f056c78(); - if (iVar4 != iParm6) { - FUN_7f06af48(); - } - FUN_7f09bcac(iParm6); - if (iVar4 == iParm6) { - FUN_7f06b004(); - } - else { - FUN_7f06ad6c(); - if (bVar1) { - FUN_7f06af20(); - } - } - FUN_7f09bcac(iVar4); - iVar4 = iParm6 * 0x70 + iVar4 * 4; - *(int *)(&DAT_80079f84 + iVar4) = *(int *)(&DAT_80079f84 + iVar4) + 1; - } - FUN_7f089e7c(); - } - else { - if (*(float *)(_DAT_8007a120 + 0xe0) * *(float *)(_DAT_8007a120 + 0x2a40) < fStack4) - goto LAB_7f08a358; - *(float *)(_DAT_8007a120 + 0xe0) = - *(float *)(_DAT_8007a120 + 0xe0) - fStack4 / *(float *)(_DAT_8007a120 + 0x2a40); - } - fVar7 = *(float *)(_DAT_8007a120 + 0xf4); -LAB_7f08a4d0: - if (fVar7 < 0.00000000) { - *(float *)(_DAT_8007a120 + 0x180) = *(float *)(_DAT_8007a120 + 0x180) + fParm2 + fParm2; - *(float *)(_DAT_8007a120 + 0x188) = *(float *)(_DAT_8007a120 + 0x188) + fParm5 + fParm5; - *(undefined4 *)(_DAT_8007a120 + 0xf4) = 0; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0xf4) = 0; - } - *(undefined4 *)(_DAT_8007a120 + 0xf8) = 0; - iVar4 = FUN_7f0c086c(); - lVar3 = (longlong)iVar4; - if (lVar3 == 0) { - ppiVar6 = FUN_70008e18((longlong)_DAT_80063760,0x44,NULL); - lVar3 = (longlong)(int)ppiVar6; - } - return lVar3; -} - - - -void FUN_7f08a554(undefined4 param_1,float param_2,undefined8 param_3,undefined8 param_4, - undefined4 param_5,undefined4 param_6) - -{ - float fVar1; - - fVar1 = func_7F057FC4(param_2); - FUN_7f0583c0(param_2); - FUN_7f089ff0(param_1,fVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08a5ac(void) - -{ - return (ulonglong)(0.00000000 <= *(float *)(_DAT_8007a120 + 0xf4)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08a5dc(void) - -{ - return (ulonglong)(0.00000000 < *(float *)(_DAT_8007a120 + 0xf8)); -} - - - -undefined4 FUN_7f08a60c(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f08a61c(void) - -{ - return ((360.00000000 - *(float *)(_DAT_8007a120 + 0x148)) * DAT_800552e4) / 360.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f08a648(void) - -{ - return (*(float *)(_DAT_8007a120 + 0x158) * DAT_800552e8) / 360.00000000; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08a670(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0xd0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a680(undefined param_1) - -{ - *(undefined *)(_DAT_8007a120 + 0x12b6) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08a690(void) - -{ - return (ulonglong)*(byte *)(_DAT_8007a120 + 0x12b6); -} - - - -void FUN_7f08a6a0(undefined4 param_1) - -{ - DAT_80036504 = param_1; - return; -} - - - -undefined4 FUN_7f08a6ac(void) - -{ - return DAT_80036504; -} - - - -void FUN_7f08a6b8(undefined4 param_1) - -{ - DAT_80036508 = param_1; - return; -} - - - -undefined4 FUN_7f08a6c4(void) - -{ - return DAT_80036508; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08a6d0(void) - -{ - int iVar1; - - if (*_DAT_8007a120 == 1) { - if (_DAT_8007a120[0xd] != 0) { - return (ulonglong)*(byte *)(_DAT_8007a120[0xd] + 3); - } - iVar1 = _DAT_8007a120[0x136]; - } - else { - iVar1 = _DAT_8007a120[0x136]; - } - return (ulonglong)*(byte *)(iVar1 + 3); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08a70c(void) - -{ - if (*_DAT_8007a120 == 1) { - return _DAT_8007a120 + 1; - } - return _DAT_8007a120 + 0x12d; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08a738(void) - -{ - if (*_DAT_8007a120 == 1) { - return _DAT_8007a120 + 10; - } - return _DAT_8007a120 + 0x129; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08a764(void) - -{ - return _DAT_8007a120 + 0x408; -} - - - -void FUN_7f08a774(int param_1,int param_2) - -{ - longlong lVar1; - - lVar1 = FUN_7f09bcfc(param_1); - if (*(int *)(param_1 + 4) != 0) { - loc_7F01F604(*(int *)(param_1 + 4),(longlong)param_2); - } - if (DAT_80036490 != 0) { - loc_7F04F230(DAT_80036490,(longlong)param_2); - } - *(int *)(*(int *)(&DAT_80079f50 + (int)lVar1 * 4) + 0xac) = param_2; - return; -} - - - -// WARNING: Instruction at (ram,0x7f08a850) overlaps instruction at (ram,0x7f08a84c) -// - -void FUN_7f08a7e8(int param_1,int **param_2,undefined4 *param_3,float *param_4,float *param_5) - -{ - longlong lVar1; - int iVar3; - ulonglong uVar2; - int **ppiVar4; - float fVar5; - - lVar1 = FUN_7f09bcfc(param_1); - iVar3 = (int)lVar1; - if ((*(int *)(*(int *)(&DAT_80079f50 + iVar3 * 4) + 0xac) == 0) || - (((uVar2 = get_num_players(), uVar2 != 1 && - (*(int *)(*(int *)(&DAT_80079f50 + iVar3 * 4) + 0xd8) != 0)) || - (ppiVar4 = (int **)(&DAT_80079f50 + iVar3 * 4), **ppiVar4 == 1)))) { - *param_3 = 0; - } - else { - *param_3 = 4; - *param_2 = *ppiVar4 + 0x2c; - *(int *)param_5 = (*ppiVar4)[0x1c]; - fVar5 = sub_7F089780((int)*ppiVar4); - *param_4 = fVar5 + *param_5 + 10.00000000; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08a8d4(void) - -{ - if (DAT_80036488 == 1) { - FUN_7f07ceac((float *)(_DAT_8007a120 + 0xb0),(float *)(_DAT_8007a120 + 0x48c),DAT_800364a4); - } - else { - *(float *)(_DAT_8007a120 + 0xb0) = - *(float *)(_DAT_8007a120 + 0x48c) + *(float *)(_DAT_8007a120 + 0x4b0); - *(undefined4 *)(_DAT_8007a120 + 0xb4) = *(undefined4 *)(_DAT_8007a120 + 0x494); - *(undefined4 *)(_DAT_8007a120 + 0xb8) = *(undefined4 *)(_DAT_8007a120 + 0x48c); - *(float *)(_DAT_8007a120 + 0xbc) = - *(float *)(_DAT_8007a120 + 0x494) + *(float *)(_DAT_8007a120 + 0x4b0); - *(float *)(_DAT_8007a120 + 0xc0) = - *(float *)(_DAT_8007a120 + 0x48c) - *(float *)(_DAT_8007a120 + 0x4b0); - *(undefined4 *)(_DAT_8007a120 + 0xc4) = *(undefined4 *)(_DAT_8007a120 + 0x494); - *(undefined4 *)(_DAT_8007a120 + 200) = *(undefined4 *)(_DAT_8007a120 + 0x48c); - *(float *)(_DAT_8007a120 + 0xcc) = - *(float *)(_DAT_8007a120 + 0x494) - *(float *)(_DAT_8007a120 + 0x4b0); - } - return; -} - - - -void FUN_7f08a9ac(int param_1,undefined4 *param_2,float *param_3,undefined4 *param_4) - -{ - longlong lVar1; - float fVar2; - - lVar1 = FUN_7f09bcfc(param_1); - *param_2 = *(undefined4 *)(*(int *)(&DAT_80079f50 + (int)lVar1 * 4) + 0x4b0); - fVar2 = sub_7F089780(*(int *)(&DAT_80079f50 + (int)lVar1 * 4)); - *param_3 = (fVar2 + 10.00000000) - 30.00000000; - *param_4 = 0x41f00000; - return; -} - - - -undefined4 FUN_7f08aa24(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f08aa34(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08aa44(float param_1) - -{ - *(float *)(_DAT_8007a124 + 0x40) = *(float *)(_DAT_8007a124 + 0x40) + param_1; - *(float *)(_DAT_8007a120 + 0xe0) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08aa68(void) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x11d8) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x11dc) = 0xffffffff; - DAT_800368d8 = 0; - DAT_800368dc = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08aa98(uint param_1) - -{ - *(uint *)(_DAT_8007a120 + 0x11d8) = *(uint *)(_DAT_8007a120 + 0x11d8) & ~param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08aab4(uint param_1) - -{ - *(uint *)(_DAT_8007a120 + 0x11d8) = *(uint *)(_DAT_8007a120 + 0x11d8) | param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -char * FUN_7f08aacc(char *param_1,undefined4 param_2,undefined4 param_3) - -{ - int iVar1; - ulonglong uVar2; - char *pcVar3; - int iVar4; - char *pcVar5; - - uVar2 = get_num_players(); - if (uVar2 == 1) { - pcVar3 = DAT_800368dc; - if ((int)DAT_800368dc < 5) { - pcVar5 = DAT_800368dc + DAT_800368d8; - iVar1 = ((int)pcVar5 % 5) * 0x65; - pcVar3 = locret_7000A7F4((char *)(iVar1 + -0x7ff86598),param_1,100); - iVar4 = ((int)pcVar5 % 5) * 4; - *(undefined *)(iVar1 + -0x7ff86534) = 0; - *(undefined4 *)(iVar4 + -0x7ff86380) = param_2; - *(undefined4 *)(iVar4 + -0x7ff86398) = param_3; - DAT_800368dc = DAT_800368dc + 1; - } - } - else { - iVar4 = get_cur_playernum(); - pcVar3 = locret_7000A7F4((char *)(iVar4 * 0x65 + -0x7ff86598),param_1,100); - *(undefined *)(iVar4 * 0x65 + -0x7ff86534) = 0; - *(undefined4 *)(iVar4 * 4 + -0x7ff86380) = param_2; - iVar1 = _DAT_8007a120; - *(undefined4 *)(iVar4 * 4 + -0x7ff86398) = param_3; - *(undefined4 *)(iVar1 + 0x11dc) = 0x78; - } - return pcVar3; -} - - - -char * FUN_7f08ac40(char *param_1) - -{ - char *pcVar1; - - pcVar1 = FUN_7f08aacc(param_1,DAT_80040ee0,DAT_80040edc); - return pcVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ac6c(void) - -{ - ulonglong uVar1; - - if ((*(int *)(_DAT_8007a120 + 0x11d8) == 0) && (*(int *)(_DAT_8007a120 + 0x29c4) == 0)) { - if (-1 < *(int *)(_DAT_8007a120 + 0x11dc)) { - *(int *)(_DAT_8007a120 + 0x11dc) = *(int *)(_DAT_8007a120 + 0x11dc) - DAT_800483a4; - uVar1 = get_num_players(); - if (uVar1 == 1) { - if (*(int *)(_DAT_8007a120 + 0x11dc) < 0) { - DAT_800368d8 = (DAT_800368d8 + 1) % 5; - DAT_800368dc += -1; - } - else { - if ((1 < DAT_800368dc) && (0x1e < *(int *)(_DAT_8007a120 + 0x11dc))) { - *(undefined4 *)(_DAT_8007a120 + 0x11dc) = 0x1e; - } - } - } - } - uVar1 = get_num_players(); - if (((uVar1 == 1) && (*(int *)(_DAT_8007a120 + 0x11dc) < 0)) && (0 < DAT_800368dc)) { - if (DAT_800368dc < 2) { - *(undefined4 *)(_DAT_8007a120 + 0x11dc) = 0x78; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x11dc) = 0x1e; - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f08ad84(undefined4 *param_1) - -{ - ulonglong uVar1; - undefined4 *puVar2; - short sVar6; - uint uVar3; - int iVar4; - short sVar7; - uint *puVar5; - undefined4 *local_res0; - int local_1c; - int local_18; - uint local_14; - uint local_10; - uint local_c; - uint local_8; - int local_4; - - local_res0 = param_1; - if (((*(int *)(_DAT_8007a120 + 0x11d8) == 0) && - (local_res0 = param_1, -1 < *(int *)(_DAT_8007a120 + 0x11dc))) && - (local_res0 = param_1, *(int *)(_DAT_8007a120 + 0x29c4) == 0)) { - local_4 = 0; - uVar1 = get_num_players(); - if (uVar1 == 1) { - iVar4 = local_4; - if (*(char *)(DAT_800368d8 * 0x65 + -0x7ff86598) != '\0') { - iVar4 = 1; - } - } - else { - iVar4 = local_4; - if (-1 < *(int *)(_DAT_8007a120 + 0x11dc)) { - DAT_800368d8 = get_cur_playernum(); - iVar4 = 1; - } - } - local_res0 = param_1; - if (iVar4 != 0) { - puVar2 = loc_7F0ACED4(param_1); - local_1c = 0; - local_18 = 0; - loc_7F0AEB50(&local_18,&local_1c,(byte *)(DAT_800368d8 * 0x65 + -0x7ff86598), - *(int *)(DAT_800368d8 * 4 + -0x7ff86380), - *(int **)(DAT_800368d8 * 4 + -0x7ff86398),0); - uVar1 = get_num_players(); - if ((longlong)uVar1 < 3) { - sVar6 = FUN_70004514(); - local_8 = (int)sVar6 + 0x1e; - } - else { - uVar3 = get_cur_playernum(); - if ((uVar3 & 1) == 0) { - sVar6 = FUN_70004514(); - local_8 = (int)sVar6 + 0x1e; - } - else { - sVar6 = FUN_70004514(); - local_8 = (int)sVar6 + 10; - } - } - local_10 = local_8 + local_1c; - uVar1 = get_num_players(); - if ((longlong)uVar1 < 3) { - iVar4 = FUN_7f05def0(1); - iVar4 = FUN_7f069a18(iVar4); - if ((iVar4 == 0) && (uVar1 = FUN_7f056698(), uVar1 == 0)) { - sVar6 = get_video2_settings_uly(); - sVar7 = get_video2_settings_height(); - local_14 = ((int)sVar7 + (int)sVar6) - 0xc; - } - else { - sVar6 = get_video2_settings_uly(); - sVar7 = get_video2_settings_height(); - local_14 = ((int)sVar7 + (int)sVar6) - 0x28; - } - iVar4 = get_cur_playernum(); - if (iVar4 == 1) { - local_14 -= 8; - } - } - else { - sVar6 = get_video2_settings_uly(); - if ((DAT_80048500 == 0) || (iVar4 = get_cur_playernum(), 1 < iVar4)) { - iVar4 = 0; - } - else { - iVar4 = 8; - } - local_14 = iVar4 + (int)sVar6 + 0x10; - } - local_c = local_14 - local_18; - puVar5 = draw_blackbox_to_screen(puVar2,&local_8,&local_c,&local_10,&local_14); - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar5 = loc_7F0AE958(puVar5,&local_8,&local_c,(byte *)(DAT_800368d8 * 0x65 + -0x7ff86598), - *(int *)(DAT_800368d8 * 4 + -0x7ff86380), - *(int *)(DAT_800368d8 * 4 + -0x7ff86398),0xffffffff,0x646464ff, - (int)sVar6,(int)sVar7,0,0); - local_res0 = combiner_bayer_lod_perspective(puVar5); - } - } - return local_res0; -} - - - -void FUN_7f08b0dc(void) - -{ - DAT_800368e0 = 0; - DAT_800368e4 = 0; - DAT_800368e8 = 0xffffffff; - DAT_800368ec = 0; - return; -} - - - -void FUN_7f08b104(uint param_1) - -{ - DAT_800368ec = DAT_800368ec & ~param_1; - return; -} - - - -void FUN_7f08b120(uint param_1) - -{ - DAT_800368ec = DAT_800368ec | param_1; - return; -} - - - -void FUN_7f08b138(char *param_1) - -{ - uint uVar1; - - if (DAT_800368e4 < 2) { - uVar1 = DAT_800368e0 + DAT_800368e4 & 1; - if ((DAT_800368e0 + DAT_800368e4 < 0) && (uVar1 != 0)) { - uVar1 -= 2; - } - locret_7000A7F4((char *)(uVar1 * 0x97 + -0x7ff86320),param_1,0x96); - DAT_800368e4 += 1; - *(undefined *)(uVar1 * 0x97 + -0x7ff8628a) = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08b1d4(void) - -{ - uint uVar1; - - if ((DAT_800368ec == 0) && (*(int *)(_DAT_8007a120 + 0x29c4) == 0)) { - if (-1 < DAT_800368e8) { - DAT_800368e8 -= DAT_800483a4; - if (DAT_800368e8 < 0) { - uVar1 = DAT_800368e0 + 1; - DAT_800368e0 = uVar1 & 1; - if (((int)uVar1 < 0) && (DAT_800368e0 != 0)) { - DAT_800368e0 -= 2; - } - DAT_800368e4 += -1; - } - else { - if ((1 < DAT_800368e4) && (0x3c < DAT_800368e8)) { - DAT_800368e8 = 0x3c; - } - } - } - if ((DAT_800368e8 < 0) && (0 < DAT_800368e4)) { - if (1 < DAT_800368e4) { - DAT_800368e8 = 0x3c; - return; - } - DAT_800368e8 = 0xf0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f08b2c4(undefined4 *puParm1) - -{ - undefined6 *puVar1; - undefined4 *puVar2; - short sVar6; - uint *puVar3; - short sVar7; - int iVar4; - uint uVar5; - undefined8 extraout_a1; - undefined8 extraout_a2; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float fVar8; - uint in_f5; - uint in_f9; - uint in_f17; - undefined4 local_9c; - undefined4 local_98; - undefined4 local_94; - undefined4 local_90; - uint local_8c; - undefined4 local_88; - undefined6 uStack130; - int local_74; - int local_6c; - int local_68; - byte abStack100 [16]; - byte abStack84 [16]; - byte abStack68 [16]; - byte abStack52 [16]; - byte abStack36 [16]; - int local_14; - int local_10; - uint local_c; - uint local_8; - uint local_4; - - if ((((DAT_800368ec == 0) && (-1 < DAT_800368e8)) && - (*(char *)(DAT_800368e0 * 0x97 + -0x7ff86320) != '\0')) && - (*(int *)(_DAT_8007a120 + 0x29c4) == 0)) { - puVar2 = loc_7F0ACED4(puParm1); - local_14 = 0; - local_10 = 0; - loc_7F0AEB50(&local_10,&local_14,(byte *)(DAT_800368e0 * 0x97 + -0x7ff86320),DAT_80040ee8, - DAT_80040ee4,0); - if (DAT_8003646c == 0) { - sVar6 = FUN_70004514(); - local_4 = (int)sVar6 + 0x1e; - sVar6 = get_video2_settings_uly(); - local_8 = (int)sVar6 + 0xd; - } - else { - sVar6 = FUN_70004514(); - local_4 = (int)sVar6 + 0x46; - sVar6 = get_video2_settings_uly(); - if (false) { - trap(0x1c00); - } - if ((false) && ((int)sVar6 + 0x20 == -0x80000000)) { - trap(0x1800); - } - local_8 = (((int)sVar6 + 0x20) / 0xb) * 0xb - 2; - } - local_c = local_8 + local_10; - sVar6 = get_video2_settings_txtClipW(); - puVar3 = microcode_constructor_related_to_menus - (puVar2,0,(longlong)(int)(local_8 - 2),(longlong)sVar6,local_c,100); - if (DAT_80048500 == 0) { - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = loc_7F0ADD78(puVar3,(int *)&local_4,(int *)&local_8, - (byte *)(DAT_800368e0 * 0x97 + -0x7ff86320),DAT_80040ee8, - (int)DAT_80040ee4,0xffffffff,(int)sVar6,(int)sVar7,0,0); - } - else { - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = loc_7F0AE958(puVar3,&local_4,&local_8,(byte *)(DAT_800368e0 * 0x97 + -0x7ff86320), - DAT_80040ee8,(int)DAT_80040ee4,0xffffffff,0x646464ff,(int)sVar6, - (int)sVar7,0,0); - } - puParm1 = combiner_bayer_lod_perspective(puVar3); - } - else { - iVar4 = FUN_7f091a68(); - if (iVar4 != 0) { - fVar8 = loc_7F05AB54(-*(float *)(_DAT_8007a120 + 0x498),*(float *)(_DAT_8007a120 + 0x4a0)); - uStack130._2_4_ = (int)((fVar8 * 180.00000000) / DAT_800552ec); - local_9c = DAT_800368f0; - local_98 = DAT_800368f4; - local_94 = DAT_800368f8; - local_90 = DAT_800368fc; - local_8c = DAT_80036900; - local_88 = DAT_80036904; - uVar5 = (uint)&uStack130 & 3; - puVar1 = (undefined6 *)((int)&uStack130 - uVar5); - *(uint *)puVar1 = - *(uint *)puVar1 & 0xffffffffU >> (uVar5 + 1) * 8 | - (DAT_80036900 & 0xff000000 | DAT_80036908 >> 8) << (3 - uVar5) * 8; - uVar5 = FUN_7f0b6990((uint)*(byte *)(*(int *)(_DAT_8007a120 + 0x488) + 3),extraout_a1, - extraout_a2,extraout_a3_lo); - sprintf((int)abStack36,(byte *)s__8s_80054ff0,uVar5,extraout_a3_lo_00); - sprintf((int)abStack52,(byte *)s_x__4_0f_80054ff4,in_f5, - SUB84((double)*(float *)(_DAT_8007a120 + 0x48c),0)); - sprintf((int)abStack68,(byte *)s_y__4_0f_80054ffc,in_f9, - SUB84((double)*(float *)(_DAT_8007a120 + 0x490),0)); - sprintf((int)abStack84,(byte *)s_z__4_0f_80055004,in_f17, - SUB84((double)*(float *)(_DAT_8007a120 + 0x494),0)); - sprintf((int)abStack100,(byte *)s__s__3d_8005500c, - (uint)((int)&local_9c + ((uStack130._2_4_ + 0x16) / 0x2d) * 3),uStack130._2_4_); - sVar6 = FUN_70004514(); - local_68 = (int)sVar6 + 0x11; - sVar6 = get_video2_settings_uly(); - local_6c = (int)sVar6 + 0x11; - local_74 = (int)sVar6 + 0x1b; - puVar2 = loc_7F0ACED4(puParm1); - sVar6 = get_video2_settings_txtClipW(); - puVar2 = microcode_constructor_related_to_menus - (puVar2,0,(longlong)local_6c,(longlong)sVar6,local_74 + 1,100); - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = loc_7F0ADD78(puVar2,&local_68,&local_6c,abStack36,DAT_80040ee0,DAT_80040edc, - 0xffffffff,(int)sVar6,(int)sVar7,0,0); - sVar6 = FUN_70004514(); - local_68 = (int)sVar6 + 0x57; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = loc_7F0ADD78(puVar3,&local_68,&local_6c,abStack52,DAT_80040ee0,DAT_80040edc, - 0xffffffff,(int)sVar6,(int)sVar7,0,0); - sVar6 = FUN_70004514(); - local_68 = (int)sVar6 + 0x8d; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = loc_7F0ADD78(puVar3,&local_68,&local_6c,abStack68,DAT_80040ee0,DAT_80040edc, - 0xffffffff,(int)sVar6,(int)sVar7,0,0); - sVar6 = FUN_70004514(); - local_68 = (int)sVar6 + 0xc3; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = loc_7F0ADD78(puVar3,&local_68,&local_6c,abStack84,DAT_80040ee0,DAT_80040edc, - 0xffffffff,(int)sVar6,(int)sVar7,0,0); - sVar6 = FUN_70004514(); - local_68 = (int)sVar6 + 0xf9; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = loc_7F0ADD78(puVar3,&local_68,&local_6c,abStack100,DAT_80040ee0,DAT_80040edc, - 0xffffffff,(int)sVar6,(int)sVar7,0,0); - puParm1 = combiner_bayer_lod_perspective(puVar3); - } - } - return puParm1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08b978(char *param_1) - -{ - float *pfVar1; - bool bVar2; - longlong lVar3; - int iVar5; - float *pfVar6; - ulonglong uVar4; - int iVar7; - int iVar8; - int iVar9; - int *piVar10; - uint uVar11; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - undefined4 extraout_a2_lo; - int extraout_a2_lo_00; - int extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a2_lo_04; - undefined4 extraout_a3_lo; - uint extraout_a3_lo_00; - uint extraout_a3_lo_01; - uint extraout_a3_lo_02; - uint extraout_a3_lo_03; - uint extraout_a3_lo_04; - uint extraout_a3_lo_05; - uint extraout_a3_lo_06; - uint extraout_a3_lo_07; - uint extraout_a3_lo_08; - undefined4 extraout_a3_lo_09; - undefined4 extraout_a3_lo_10; - undefined4 extraout_a3_lo_11; - int iVar12; - int **ppiVar13; - int *piVar14; - float fVar15; - float fVar16; - float fVar17; - float afStack136 [2]; - undefined4 uStack128; - int *piStack124; - undefined4 uStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - int iStack92; - undefined4 uStack88; - undefined auStack84 [16]; - float fStack68; - float fStack64; - float fStack60; - float fStack36; - float fStack32; - float fStack28; - undefined4 uStack16; - int iStack8; - int iStack4; - - lVar3 = FUN_7f09bcfc((int)param_1); - iStack4 = (int)lVar3; - iStack8 = *(int *)(param_1 + 4); - if (iStack8 != 0) { - iVar5 = get_cur_playernum(); - iVar5 = FUN_7f09c078(iVar5); - if (iVar5 == 0) { - *(ushort *)(iStack8 + 0x12) = *(ushort *)(iStack8 + 0x12) & 0xf7ff; - } - } - if ((iStack8 != 0) && (ppiVar13 = (int **)(&DAT_80079f50 + iStack4 * 4), (*ppiVar13)[0x35] != 0)) - { - iVar5 = get_debug_prroomloads_flag(); - if (iVar5 == 0) { - piVar14 = *ppiVar13; -LAB_7f08ba20: - piVar14[0x2b] = 0; - uVar4 = FUN_7f021188(param_1,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - uStack16 = (undefined4)uVar4; - (*ppiVar13)[0x2b] = 1; - (*ppiVar13)[0x123] = *(int *)((*ppiVar13)[0x2a] + 8); - (*ppiVar13)[0x124] = *(int *)((*ppiVar13)[0x2a] + 0xc); - (*ppiVar13)[0x125] = *(int *)((*ppiVar13)[0x2a] + 0x10); - (*ppiVar13)[0x122] = *(int *)((*ppiVar13)[0x2a] + 0x14); - FUN_7f07e4c0((int)*ppiVar13); - if ((param_1[1] & 2U) == 0) { - return uStack16; - } - pfVar1 = *(float **)((*ppiVar13)[0x35] + 0xc); - pfVar6 = (float *)FUN_7f078a34(); - loc_7F05823C(pfVar6,pfVar1,(int)auStack84); - *(float *)(*ppiVar13 + 0x12d) = fStack68 * 7.00000000 + fStack36; - *(float *)(*ppiVar13 + 0x12e) = fStack64 * 7.00000000 + fStack32; - *(float *)(*ppiVar13 + 0x12f) = fStack60 * 7.00000000 + fStack28; - return uStack16; - } - if (**ppiVar13 == 1) { - piVar14 = *ppiVar13; - goto LAB_7f08ba20; - } - } - if ((((iStack8 == 0) || - (piVar14 = (int *)(&DAT_80079f50 + iStack4 * 4), *(int *)(*piVar14 + 0xd4) == 0)) || - (uVar4 = get_num_players(), (longlong)uVar4 < 2)) || - (iVar5 = get_cur_playernum(), iVar5 == iStack4)) { - param_1[1] = param_1[1] & 0xfd; - return 0; - } - iStack92 = 0; - piStack124 = NULL; - fStack104 = -1.00000000; - fStack100 = -1.00000000; - iVar7 = something_with_weaponpos_of_guarddata_hand(iStack8,1); - iVar8 = something_with_weaponpos_of_guarddata_hand(iStack8,0); - iVar5 = 0; - iVar12 = 0; - if (iVar7 != 0) { - iVar5 = *(int *)(iVar7 + 4); - } - if (iVar8 != 0) { - iVar12 = *(int *)(iVar8 + 4); - } - iVar9 = get_cur_playernum(); - iVar9 = FUN_7f09c078(iVar9); - if (iVar9 == 0) { - DAT_8003690c += 1; - } - if (DAT_8003690c < 2) { - iVar12 = *piVar14; - iVar5 = extraout_a2_lo_00; - uVar11 = extraout_a3_lo_00; - goto LAB_7f08c300; - } - iVar9 = *piVar14; - fStack108 = *(float *)(iVar9 + 0x2a08); - uStack112 = *(undefined4 *)(iVar9 + 0x2a0c); - if (*(int *)(iVar9 + 0xd8) == 0) { - if ((iVar7 == 0) || (iVar8 == 0)) { - if ((iVar7 == 0) && (iVar8 == 0)) { - iVar5 = 2; - } - else { - if ((iVar5 == 0) || (uVar4 = FUN_7f05e5d4((int)*(char *)(iVar5 + 0x80),0x200), uVar4 != 0)) - { - if ((iVar12 == 0) || - (uVar4 = FUN_7f05e5d4((int)*(char *)(iVar12 + 0x80),0x200), uVar4 != 0)) { - if ((iVar5 == 0) || - (uVar4 = FUN_7f05e5d4((int)*(char *)(iVar5 + 0x80),0x100), uVar4 == 0)) { - if (iVar12 == 0) { - iVar5 = 1; - } - else { - uVar4 = FUN_7f05e5d4((int)*(char *)(iVar12 + 0x80),0x100); - if (uVar4 == 0) { - iVar5 = 1; - } - else { - iVar5 = 0; - } - } - } - else { - iVar5 = 0; - } - } - else { - iVar5 = 2; - } - } - else { - iVar5 = 2; - } - } - } - else { - iVar5 = 3; - } - iVar12 = FUN_7f07a00c(iStack4); - uVar11 = extraout_a3_lo_02; - if ((iVar12 == 1) || (iVar12 = FUN_7f07a00c(iStack4), uVar11 = extraout_a3_lo_03, iVar12 == 0)) - { - fVar17 = 1.00000000; - iVar9 = *piVar14; - iVar12 = 5; - } - else { - iVar9 = *piVar14; - fVar17 = *(float *)(iVar9 + 0x16c); - if ((0.00000000 <= fVar17) || (*(int *)(iVar5 * 0x78 + -0x7ffc96a0) == 0)) { - if (0.00000000 < fVar17) { - if (*(int *)(iVar5 * 0x78 + -0x7ffc96b4) != 0) { - iVar12 = 3; - uVar11 = extraout_a3_lo_03; - if (-90.00000000 < *(float *)(iVar9 + 0x1280)) { - *(float *)(iVar9 + 0x1280) = *(float *)(iVar9 + 0x1280) - 15.00000000; - iVar9 = *piVar14; - iVar12 = 3; - uVar11 = extraout_a3_lo_03; - } - goto LAB_7f08c084; - } - fVar17 = *(float *)(iVar9 + 0x14c); - } - else { - fVar17 = *(float *)(iVar9 + 0x14c); - } - if (fVar17 < 0.00000000) { - fVar17 = -fVar17; - fVar15 = *(float *)(iVar9 + 0x174); - } - else { - fVar15 = *(float *)(iVar9 + 0x174); - } - if (fVar15 < DAT_800552f0) { - if (fVar15 < -fVar17) { - iVar12 = *(int *)(iVar9 + 0x4e8); - fVar17 = fVar15; - } - else { - iVar12 = *(int *)(iVar9 + 0x4e8); - fVar17 = -fVar17; - } - if ((iVar12 == 0) || (iVar12 = 2, DAT_800552f4 < fVar15)) { - fVar17 = fVar17 + fVar17; - iVar12 = 1; - if (-1.00000000 <= fVar17) { - fVar15 = *(float *)(iVar9 + 0x1280); - goto LAB_7f08c030; - } - fVar17 = -1.00000000; - iVar12 = 1; - } -LAB_7f08c02c: - fVar15 = *(float *)(iVar9 + 0x1280); - } - else { - if ((fVar15 <= DAT_800552f8) && (fVar17 <= DAT_800552f8)) { - fVar17 = 1.00000000; - iVar12 = 0; - goto LAB_7f08c02c; - } - if (fVar17 < fVar15) { - iVar12 = *(int *)(iVar9 + 0x4e8); - fVar17 = fVar15; - } - else { - iVar12 = *(int *)(iVar9 + 0x4e8); - } - if ((iVar12 != 0) && (iVar12 = 2, DAT_800552fc <= fVar15)) goto LAB_7f08c02c; - fVar16 = fVar17 + fVar17; - iVar12 = 1; - fVar17 = 1.00000000; - if (1.00000000 < fVar16) { - fVar15 = *(float *)(iVar9 + 0x1280); - } - else { - fVar15 = *(float *)(iVar9 + 0x1280); - fVar17 = fVar16; - } - } -LAB_7f08c030: - if (0.00000000 < fVar15) { - *(float *)(iVar9 + 0x1280) = fVar15 - 15.00000000; - iVar9 = *piVar14; - fVar15 = *(float *)(iVar9 + 0x1280); - } - uVar11 = extraout_a3_lo_03; - if (fVar15 < 0.00000000) { - *(float *)(iVar9 + 0x1280) = fVar15 + 15.00000000; - iVar9 = *piVar14; - uVar11 = extraout_a3_lo_03; - } - } - else { - fVar17 = -fVar17; - iVar12 = 4; - uVar11 = extraout_a3_lo_03; - if (*(float *)(iVar9 + 0x1280) < 90.00000000) { - *(float *)(iVar9 + 0x1280) = *(float *)(iVar9 + 0x1280) + 15.00000000; - iVar9 = *piVar14; - iVar12 = 4; - uVar11 = extraout_a3_lo_03; - } - } - } -LAB_7f08c084: - iVar5 = iVar5 * 0x78 + iVar12 * 0x14; - piStack124 = *(int **)(iVar5 + -0x7ffc96f0); - if (*(int *)(iVar5 + -0x7ffc96ec) != 0) { - iStack92 = *(int *)(iVar5 + -0x7ffc96ec) + _DAT_80069578; - } - fStack104 = *(float *)(iVar5 + -0x7ffc96e0); - fVar15 = *(float *)(iVar5 + -0x7ffc96e4); - fVar17 = fVar17 * *(float *)(iVar5 + -0x7ffc96e8); - iVar5 = *(int *)(iVar9 + 0x1284); - } - else { - bVar2 = false; - if (0 < (int)DAT_8003654c) { - piVar10 = &DAT_80036518; - iVar5 = DAT_80036518; - while( true ) { - piVar10 = piVar10 + 1; - if (*(int *)(iVar9 + 0x1284) == iVar5 + _DAT_80069578) { - bVar2 = true; - } - if (&DAT_80036518 + DAT_8003654c <= piVar10) break; - iVar5 = *piVar10; - } - } - if (bVar2) { - iVar5 = *(int *)(iVar9 + 0x1284); - uVar11 = DAT_8003654c; - iStack92 = iVar5; - } - else { - uVar11 = FUN_7000a460(); - iVar9 = *piVar14; - iStack92 = (&DAT_80036518)[uVar11 % DAT_8003654c] + _DAT_80069578; - if (DAT_8003654c == 0) { - trap(0x1c00); - } - iVar5 = *(int *)(iVar9 + 0x1284); - uVar11 = extraout_a3_lo_01; - } - fVar17 = 0.50000000; - fStack108 = 0.00000000; - uStack112 = 0; - fVar15 = fStack100; - } - if ((piStack124 != NULL) && (iStack92 == 0)) { - iStack92 = *piStack124; - } - bVar2 = iStack92 != iVar5; - if ((0.00000000 <= fVar15) && - ((*(char *)(*(int *)(iVar9 + 0xd4) + 0x26) == '\0' || - (fVar15 != *(float *)(*(int *)(iVar9 + 0xd4) + 0x90))))) { - bVar2 = true; - } - if ((fVar15 < 0.00000000) && (*(char *)(*(int *)(iVar9 + 0xd4) + 0x26) != '\0')) { - bVar2 = true; - } - if (bVar2) { - if (*(int *)(*(int *)(iVar9 + 0xd4) + 0x54) == 0) { - fVar16 = fVar15; - if (fVar15 < 0.00000000) { - fVar16 = 0.00000000; - } - fStack100 = fVar15; - fStack96 = fVar17; - FUN_7f070298(*(int *)(iVar9 + 0xd4),iStack92,0,fVar16,fVar17,16.00000000); - *(int *)(*piVar14 + 0x1284) = iStack92; - *(float *)(*piVar14 + 0x1288) = fStack96; - uVar11 = extraout_a3_lo_04; - if (0.00000000 <= fStack100) { - sub_7F06FDCC(*(int *)(*piVar14 + 0xd4),fStack100,0x41800000); - uVar11 = extraout_a3_lo_05; - } - if (0.00000000 <= fStack104) { - loc_7F06FE2C(*(int *)(*piVar14 + 0xd4),fStack104); - iVar5 = *piVar14; - uVar11 = extraout_a3_lo_06; - } - else { - iVar5 = *piVar14; - } - } - else { - iVar5 = *piVar14; - } - iVar5 = *(int *)(iVar5 + 0x1284); - } - else { - if (fVar17 != *(float *)(iVar9 + 0x1288)) { - fStack96 = fVar17; - loc_7F06FE84(*(int *)(iVar9 + 0xd4),fVar17,1.00000000); - *(float *)(*piVar14 + 0x1288) = fStack96; - iVar5 = *(int *)(*piVar14 + 0x1284); - uVar11 = extraout_a3_lo_07; - } - } - if (iStack92 == iVar5) { - if (piStack124 == NULL) { - *(undefined4 *)(iStack8 + 0x154) = 0; - *(undefined4 *)(iStack8 + 0x150) = 0; - *(ushort *)(iStack8 + 0x12) = *(ushort *)(iStack8 + 0x12) | 0x400; - *(float *)(iStack8 + 0x158) = fStack108; - } - else { - *(ushort *)(iStack8 + 0x12) = *(ushort *)(iStack8 + 0x12) & 0xfbff; - locret_7F02D0F0(iStack8,(int)piStack124,0,1,fStack108); - iVar5 = extraout_a2_lo_01; - uVar11 = extraout_a3_lo_08; - } - } - *(undefined *)(iStack8 + 0xe) = 10; - *(undefined4 *)(iStack8 + 0x15c) = uStack112; - iVar12 = *piVar14; -LAB_7f08c300: - iVar7 = 0; - *(undefined4 *)(param_1 + 8) = *(undefined4 *)(iVar12 + 0x48c); - *(undefined4 *)(param_1 + 0xc) = *(undefined4 *)(*piVar14 + 0x490); - *(undefined4 *)(param_1 + 0x10) = *(undefined4 *)(*piVar14 + 0x494); - *(undefined4 *)(param_1 + 0x14) = *(undefined4 *)(*piVar14 + 0x488); - FUN_7f06d188(*(int *)(iStack8 + 0x1c),afStack136,iVar5,uVar11); - afStack136[0] = *(float *)(param_1 + 8); - uStack128 = *(undefined4 *)(param_1 + 0x10); - FUN_7f06d1fc(*(int *)(iStack8 + 0x1c),afStack136,extraout_a2_lo_02,extraout_a3_lo_09); - FUN_7f06d32c(*(int *)(iStack8 + 0x1c), - ((*(float *)(*piVar14 + 0x1280) + (360.00000000 - *(float *)(*piVar14 + 0x148))) * - DAT_80055300) / 360.00000000,extraout_a2_lo_03,extraout_a3_lo_10); - *(undefined *)(iStack8 + 7) = 0x19; - *(uint *)(iStack8 + 0x14) = *(uint *)(iStack8 + 0x14) | 1; - *(int **)(iStack8 + 0x2c) = piStack124; - FUN_7f02d420(iStack8,0,(int)*(char *)(*piVar14 + 0x87d)); - FUN_7f02d420(iStack8,1,(int)*(char *)(*piVar14 + 0xc25)); - uVar4 = FUN_7f021188(param_1,extraout_a1_lo_00,extraout_a2_lo_04,extraout_a3_lo_11); - uStack88 = (undefined4)uVar4; - iVar12 = 0; - iVar5 = 0; - do { - lVar3 = FUN_7f02d938(iStack8,iVar7,(float *)(*piVar14 + iVar5 + 0x2a18)); - if (lVar3 == 0) { - iVar8 = *piVar14; - if (*(int *)(iVar8 + iVar12 + 0x2a30) < DAT_800483b0 + -1) { - iVar9 = iVar7 * 0x3a8; - *(undefined4 *)(iVar8 + iVar5 + 0x2a18) = *(undefined4 *)(iVar8 + iVar9 + 0xb58); - *(undefined4 *)(*piVar14 + iVar5 + 0x2a1c) = *(undefined4 *)(*piVar14 + iVar9 + 0xb5c); - *(undefined4 *)(*piVar14 + iVar5 + 0x2a20) = *(undefined4 *)(*piVar14 + iVar9 + 0xb60); - } - } - else { - *(int *)(*piVar14 + iVar12 + 0x2a30) = DAT_800483b0; - } - iVar7 += 1; - iVar12 += 4; - iVar5 += 0xc; - } while (iVar7 != 2); - *(ushort *)(iStack8 + 0x12) = *(ushort *)(iStack8 + 0x12) | 0x800; - *(undefined4 *)(param_1 + 8) = *(undefined4 *)(*piVar14 + 0x48c); - *(undefined4 *)(param_1 + 0xc) = *(undefined4 *)(*piVar14 + 0x490); - *(undefined4 *)(param_1 + 0x10) = *(undefined4 *)(*piVar14 + 0x494); - *(undefined4 *)(param_1 + 0x14) = *(undefined4 *)(*piVar14 + 0x488); - return uStack88; -} - - - -undefined8 FUN_7f08c540(undefined8 param_1) - -{ - return param_1; -} - - - -undefined8 FUN_7f08c548(char *param_1,undefined8 param_2,uint param_3) - -{ - if (*(int *)(param_1 + 4) != 0) { - param_2 = loc_7F022064(param_1,(uint *)param_2,param_3); - } - return param_2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f08c57c(undefined4 *param_1) - -{ - *param_1 = 0x1020040; - param_1[1] = *(undefined4 *)(_DAT_8007a120 + 0x5c); - return param_1 + 2; -} - - - -void FUN_7f08c5a0(uint *param_1) - -{ - undefined4 auStack64 [16]; - - loc_7F058030(param_1,auStack64); - FUN_7f0591bc((int)auStack64,param_1); - return; -} - - - -void loc_7F08BDA4(undefined4 *param_1,int param_2) - -{ - int iVar1; - undefined4 *puVar2; - undefined4 auStack64 [16]; - - iVar1 = 0; - if (0 < param_2) { - puVar2 = param_1; - do { - loc_7F058030(puVar2,auStack64); - FUN_7f0591bc((int)auStack64,param_1 + iVar1 * 0x10); - iVar1 += 1; - puVar2 = puVar2 + 0x10; - } while (iVar1 != param_2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c64c(uint *param_1) - -{ - undefined4 auStack64 [12]; - float fStack16; - float fStack12; - float fStack8; - - loc_7F058030(param_1,auStack64); - fStack16 = fStack16 - *(float *)(_DAT_8007a120 + 0x44); - fStack12 = fStack12 - *(float *)(_DAT_8007a120 + 0x48); - fStack8 = fStack8 - *(float *)(_DAT_8007a120 + 0x4c); - FUN_7f0591bc((int)auStack64,param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F08BEC8(undefined4 *param_1,int param_2) - -{ - int iVar1; - undefined4 *puVar2; - undefined4 auStack64 [12]; - float fStack16; - float fStack12; - float fStack8; - - iVar1 = 0; - if (0 < param_2) { - puVar2 = param_1; - do { - loc_7F058030(puVar2,auStack64); - fStack16 = fStack16 - *(float *)(_DAT_8007a120 + 0x44); - fStack12 = fStack12 - *(float *)(_DAT_8007a120 + 0x48); - fStack8 = fStack8 - *(float *)(_DAT_8007a120 + 0x4c); - FUN_7f0591bc((int)auStack64,param_1 + iVar1 * 0x10); - iVar1 += 1; - puVar2 = puVar2 + 0x10; - } while (iVar1 != param_2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F08BF94(float *param_1,int param_2) - -{ - float *pfVar1; - float *pfVar2; - int iVar3; - undefined auStack64 [48]; - float fStack16; - float fStack12; - float fStack8; - - iVar3 = 0; - if (0 < param_2) { - pfVar2 = param_1; - do { - pfVar1 = (float *)FUN_7f078a34(); - loc_7F05823C(pfVar1,pfVar2,(int)auStack64); - fStack16 = fStack16 - *(float *)(_DAT_8007a120 + 0x38); - fStack12 = fStack12 - *(float *)(_DAT_8007a120 + 0x3c); - fStack8 = fStack8 - *(float *)(_DAT_8007a120 + 0x40); - FUN_7f0591bc((int)auStack64,(uint *)(param_1 + iVar3 * 0x10)); - iVar3 += 1; - pfVar2 = pfVar2 + 0x10; - } while (iVar3 != param_2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08c840(void) - -{ - return _DAT_80079a60; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c84c(int param_1) - -{ - DAT_80036484 = 1; - _DAT_800799dc = param_1 + DAT_800483ac; - _DAT_800799e0 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08c880(void) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - iVar2 = 0; - if (*(int *)(_DAT_8007a120 + 0x11e8) < 1) { - *(undefined4 *)(_DAT_8007a120 + 0x11e0) = 0; - } - else { - iVar3 = *(int *)(_DAT_8007a120 + 0x11e4); - while( true ) { - iVar1 += 1; - *(undefined4 *)(iVar3 + iVar2) = 0xffffffff; - iVar2 += 0x14; - if (*(int *)(_DAT_8007a120 + 0x11e8) <= iVar1) break; - iVar3 = *(int *)(_DAT_8007a120 + 0x11e4); - } - *(undefined4 *)(_DAT_8007a120 + 0x11e0) = 0; - } - *(undefined4 *)(_DAT_8007a120 + 0x11f4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x11f0) = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void locret_7F08C18C(int *param_1) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iVar4; - int *piVar5; - int iVar6; - int *piVar7; - int iVar8; - - iVar1 = *param_1; - iVar3 = -1; - iVar4 = -1; - if (iVar1 == 1) { - iVar3 = param_1[1]; - } - else { - if (iVar1 == 3) { - iVar3 = param_1[1]; - iVar4 = param_1[2]; - } - else { - if (iVar1 == 2) { - iVar3 = 2000; - } - } - } - piVar5 = (int *)param_1[3]; - if (piVar5 != *(int **)(_DAT_8007a120 + 0x11e0)) { - do { - iVar1 = *piVar5; - iVar6 = -1; - iVar8 = -1; - if (iVar1 == 1) { - iVar6 = piVar5[1]; -LAB_7f08c994: - bVar2 = iVar6 < iVar3; - } - else { - if (iVar1 == 3) { - iVar6 = piVar5[1]; - iVar8 = piVar5[2]; - goto LAB_7f08c994; - } - if (iVar1 == 2) { - iVar6 = 1000; - goto LAB_7f08c994; - } - bVar2 = -1 < iVar3; - } - if (bVar2) { - piVar7 = (int *)piVar5[3]; - } - else { - if (iVar3 != iVar6) { - return; - } - if (iVar4 <= iVar8) { - return; - } - piVar7 = (int *)piVar5[3]; - } - if (param_1 == piVar7) { - *(int **)(_DAT_8007a120 + 0x11e0) = piVar5; - piVar7 = *(int **)(_DAT_8007a120 + 0x11e0); -LAB_7f08ca0c: - piVar5 = (int *)param_1[3]; - } - else { - *(int **)(param_1 + 3) = piVar7; - piVar5[4] = param_1[4]; - *(int **)(param_1 + 4) = piVar5; - *(int **)(piVar5 + 3) = param_1; - *(int **)(param_1[3] + 0x10) = param_1; - *(int **)(piVar5[4] + 0xc) = piVar5; - piVar7 = *(int **)(_DAT_8007a120 + 0x11e0); - if (param_1 == piVar7) { - *(int **)(_DAT_8007a120 + 0x11e0) = piVar5; - piVar7 = *(int **)(_DAT_8007a120 + 0x11e0); - goto LAB_7f08ca0c; - } - piVar5 = (int *)param_1[3]; - } - } while (piVar5 != piVar7); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ca24(int *param_1) - -{ - int iVar1; - - iVar1 = *(int *)(_DAT_8007a120 + 0x11e0); - if (iVar1 == 0) { - *(int **)(param_1 + 3) = param_1; - *(int **)(param_1 + 4) = param_1; - } - else { - param_1[3] = iVar1; - param_1[4] = *(int *)(*(int *)(_DAT_8007a120 + 0x11e0) + 0x10); - *(int **)(iVar1 + 0x10) = param_1; - *(int **)(param_1[4] + 0xc) = param_1; - } - *(int **)(_DAT_8007a120 + 0x11e0) = param_1; - locret_7F08C18C(param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ca8c(undefined4 *param_1) - -{ - undefined4 *puVar1; - int iVar2; - - puVar1 = (undefined4 *)param_1[3]; - iVar2 = param_1[4]; - if (param_1 == *(undefined4 **)(_DAT_8007a120 + 0x11e0)) { - if (param_1 == puVar1) { - *(undefined4 *)(_DAT_8007a120 + 0x11e0) = 0; - } - else { - *(undefined4 **)(_DAT_8007a120 + 0x11e0) = puVar1; - } - puVar1[4] = iVar2; - } - else { - puVar1[4] = iVar2; - } - *(undefined4 **)(iVar2 + 0xc) = puVar1; - *param_1 = 0xffffffff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08cad4(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int *piVar4; - - iVar2 = 0; - if (0 < *(int *)(_DAT_8007a120 + 0x11e8)) { - iVar3 = 0; - piVar4 = *(int **)(_DAT_8007a120 + 0x11e4); - do { - iVar1 = *piVar4; - iVar2 += 1; - piVar4 = piVar4 + 5; - if (iVar1 == -1) { - return (int)*(int **)(_DAT_8007a120 + 0x11e4) + iVar3; - } - iVar3 += 0x14; - } while (iVar2 < *(int *)(_DAT_8007a120 + 0x11e8)); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08cb2c(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x11ec) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08cb3c(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x11ec); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08cb4c(int param_1) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 1) { - if (param_1 == piVar2[1]) { - return piVar2; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return NULL; -} - - - -ulonglong FUN_7f08cba4(int param_1) - -{ - int *piVar1; - - piVar1 = FUN_7f08cb4c(param_1); - return (ulonglong)(piVar1 != NULL); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08cbc8(int param_1,int param_2) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 3) { - if (param_1 == piVar2[1]) { - if (param_2 == piVar2[2]) { - return piVar2; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return NULL; -} - - - -ulonglong FUN_7f08cc2c(int param_1,int param_2) - -{ - int *piVar1; - - piVar1 = FUN_7f08cbc8(param_1,param_2); - return (ulonglong)(piVar1 != NULL); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08cc50(longlong param_1) - -{ - ulonglong uVar1; - - if ((((*(int *)(_DAT_8007a120 + 0x11ec) == 0) || (param_1 == 0)) || (0x20 < param_1)) || - ((DAT_80048500 != 0 && (param_1 == 2)))) { - uVar1 = FUN_7f08cba4((int)param_1); - } - else { - uVar1 = 1; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08ccb4(int param_1,int param_2) - -{ - ulonglong uVar1; - - if (param_2 == 0) { - uVar1 = 1; - } - else { - if ((((*(int *)(_DAT_8007a120 + 0x11ec) != 0) && (param_1 < 0x21)) && (param_1 == param_2)) && - (((uVar1 = get_num_players(), uVar1 == 1 && - (uVar1 = FUN_7f05e5d4(param_1,0x100000), uVar1 != 0)) && - ((DAT_80048500 == 0 || (param_1 != 2)))))) { - return 1; - } - uVar1 = FUN_7f08cc2c(param_1,param_2); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08cd68(int param_1) - -{ - ulonglong uVar1; - undefined8 uVar2; - int *piVar3; - - uVar1 = FUN_7f08cba4(param_1); - if (uVar1 == 0) { - piVar3 = (int *)FUN_7f08cad4(); - if (piVar3 != NULL) { - *piVar3 = 1; - piVar3[1] = param_1; - FUN_7f08ca24(piVar3); - } - if (((*(int *)(_DAT_8007a120 + 0x11ec) == 0) || (0x20 < param_1)) || - ((DAT_80048500 != 0 && (param_1 == 2)))) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -undefined8 FUN_7f08ce04(int param_1,int param_2) - -{ - ulonglong uVar1; - undefined8 uVar2; - int *piVar3; - - uVar1 = FUN_7f08cc2c(param_1,param_2); - if (uVar1 == 0) { - piVar3 = (int *)FUN_7f08cad4(); - if (piVar3 != NULL) { - *piVar3 = 3; - piVar3[1] = param_1; - piVar3[2] = param_2; - FUN_7f08ca24(piVar3); - } - uVar2 = 1; - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08ce68(char param_1) - -{ - int *piVar1; - int iVar2; - int *piVar3; - - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - if (piVar1 != NULL) { - piVar3 = (int *)piVar1[3]; - do { - if ((((*piVar3 == 2) && (*(char *)piVar3[1] == '\x04')) && - (iVar2 = *(int *)((char *)piVar3[1] + 4), *(char *)(iVar2 + 3) == '\b')) && - (param_1 == *(char *)(iVar2 + 0x80))) { - FUN_7f08ca8c(piVar3); - return iVar2; - } - if (piVar3 == piVar1) { - return 0; - } - piVar3 = (int *)piVar3[3]; - } while (piVar1 != NULL); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08cf14(longlong param_1) - -{ - int *piVar1; - int iVar2; - int *piVar3; - int *piVar4; - - piVar3 = *(int **)(_DAT_8007a120 + 0x11e0); - if (piVar3 != NULL) { - piVar4 = (int *)piVar3[3]; - do { - piVar1 = (int *)piVar4[3]; - if (*piVar4 == 2) { - if (((*(char *)piVar4[1] == '\x04') && - (iVar2 = *(int *)((char *)piVar4[1] + 4), *(char *)(iVar2 + 3) == '\b')) && - (param_1 == (longlong)*(char *)(iVar2 + 0x80))) { - FUN_7f08ca8c(piVar4); - piVar3 = *(int **)(_DAT_8007a120 + 0x11e0); - } - } - else { - if ((*piVar4 == 1) && (param_1 == (longlong)piVar4[1])) { - FUN_7f08ca8c(piVar4); - piVar3 = *(int **)(_DAT_8007a120 + 0x11e0); - } - } - } while ((piVar4 != piVar3) && (piVar4 = piVar1, piVar3 != NULL)); - } - return; -} - - - -undefined8 FUN_7f08d01c(int param_1) - -{ - int *piVar1; - - piVar1 = (int *)FUN_7f08cad4(); - if (piVar1 != NULL) { - *piVar1 = 2; - piVar1[1] = param_1; - FUN_7f08ca24(piVar1); - } - return 1; -} - - - -ulonglong loc_7F08C85C(char *param_1) - -{ - char cVar1; - char cVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - - uVar5 = 0; - if ((*param_1 == '\x04') && (iVar3 = *(int *)(param_1 + 4), *(char *)(iVar3 + 3) == '\b')) { - cVar1 = *(char *)(iVar3 + 0x80); - uVar5 = FUN_7f08cd68((int)cVar1); - iVar4 = *(int *)(iVar3 + 0x84); - if (iVar4 == 0) { - cVar2 = *(char *)(iVar3 + 0x81); - if (-1 < cVar2) { - if (*(int *)(iVar3 + 8) << 3 < 0) { - uVar5 = FUN_7f08ce04((int)cVar2,(int)cVar1); - } - else { - uVar5 = FUN_7f08ce04((int)cVar1,(int)cVar2); - } - } - } - else { - if (*(int *)(iVar3 + 8) << 3 < 0) { - uVar5 = FUN_7f08cc2c((int)*(char *)(iVar4 + 0x80),(int)cVar1); - } - else { - uVar5 = FUN_7f08cc2c((int)cVar1,(int)*(char *)(iVar4 + 0x80)); - } - uVar5 = (ulonglong)(uVar5 == 0); - *(char *)(*(int *)(iVar3 + 0x84) + 0x81) = cVar1; - *(undefined4 *)(*(int *)(iVar3 + 0x84) + 0x84) = 0; - *(undefined4 *)(iVar3 + 0x84) = 0; - } - } - return uVar5; -} - - - -// WARNING: Instruction at (ram,0x7f08d24c) overlaps instruction at (ram,0x7f08d248) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08d164(int *param_1,int *param_2,longlong param_3) - -{ - longlong lVar1; - ulonglong uVar2; - int iVar3; - int *piVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - - piVar4 = *(int **)(_DAT_8007a120 + 0x11e0); - iVar6 = *param_1; - iVar7 = *param_2; - if (piVar4 != NULL) { - iVar5 = *piVar4; - do { - if (iVar5 == 1) { - iVar5 = piVar4[1]; - if ((iVar5 < 0x21) && (iVar6 < iVar5)) { - if (param_3 != 0) { - lVar1 = FUN_7f05e57c(iVar5); - if (lVar1 == 0) goto LAB_7f08d260; - iVar5 = piVar4[1]; - } - iVar6 = iVar5; - iVar7 = 0; - break; - } - } - else { - if (((iVar5 == 3) && - ((iVar5 = piVar4[1], iVar6 < iVar5 || ((iVar6 == iVar5 && (iVar7 < piVar4[2])))))) && - ((param_3 == 0 || - ((lVar1 = FUN_7f05e57c(iVar5), lVar1 != 0 || - (lVar1 = FUN_7f05e57c(piVar4[2]), lVar1 != 0)))))) { - iVar6 = piVar4[1]; - iVar7 = piVar4[2]; - break; - } - } -LAB_7f08d260: - piVar4 = (int *)piVar4[3]; - if (piVar4 == *(int **)(_DAT_8007a120 + 0x11e0)) { - if (param_3 != 0) { - iVar5 = *(int *)(_DAT_8007a120 + 0x11ec); - goto LAB_7f08d294; - } - iVar6 = -1; - iVar7 = -1; - } - if (piVar4 == NULL) break; - iVar5 = *piVar4; - } while( true ); - } - iVar5 = *(int *)(_DAT_8007a120 + 0x11ec); -LAB_7f08d294: - iVar3 = iVar6; - iVar8 = iVar7; - if (iVar5 == 0) goto LAB_7f08d414; - iVar5 = *param_1; - uVar2 = get_num_players(); - if (((uVar2 == 1) && (uVar2 = FUN_7f05e5d4(*param_1,0x100000), uVar2 != 0)) && - (iVar3 = *param_1, *param_2 < iVar3)) { - if (param_3 != 0) { - lVar1 = FUN_7f05e57c(iVar3); - if (lVar1 == 0) goto LAB_7f08d340; - iVar3 = *param_1; - } - if (((iVar6 != iVar3) || (iVar3 < iVar7)) && - ((iVar8 = iVar3, DAT_80048500 == 0 || (iVar8 = iVar3, iVar3 != 2)))) goto LAB_7f08d414; - } -LAB_7f08d340: - if ((iVar6 != *param_1) || (iVar3 = iVar6, iVar8 = iVar7, iVar7 == *param_2)) { - do { - iVar3 = iVar5 + 1; - iVar5 = iVar3 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - if (iVar5 == 0) { - iVar5 = 1; - if (false) { - trap(0x1c00); - } - if ((false) && (false)) { - trap(0x1800); - } - } - if (((param_3 == 0) || (lVar1 = FUN_7f05e57c(iVar5), lVar1 != 0)) && - ((DAT_80048500 == 0 || (iVar5 != 2)))) { - iVar3 = iVar5; - iVar8 = 0; - break; - } - iVar3 = iVar6; - iVar8 = iVar7; - } while (iVar5 != iVar6); - } -LAB_7f08d414: - *param_1 = iVar3; - *param_2 = iVar8; - return; -} - - - -// WARNING: Instruction at (ram,0x7f08d544) overlaps instruction at (ram,0x7f08d540) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08d43c(int *param_1,int *param_2,longlong param_3) - -{ - int *piVar1; - longlong lVar2; - ulonglong uVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - - iVar6 = *param_1; - iVar8 = *param_2; - if (*(int *)(_DAT_8007a120 + 0x11e0) != 0) { - piVar1 = *(int **)(*(int *)(_DAT_8007a120 + 0x11e0) + 0x10); - do { - if (*piVar1 == 1) { - iVar5 = piVar1[1]; - if ((iVar5 < 0x21) && ((iVar5 < iVar6 || ((iVar6 == iVar5 && (0 < iVar8)))))) { - if (param_3 != 0) { - lVar2 = FUN_7f05e57c(iVar5); - if (lVar2 == 0) goto LAB_7f08d558; - iVar5 = piVar1[1]; - } - iVar6 = iVar5; - iVar8 = 0; - break; - } - } - else { - if (((*piVar1 == 3) && - ((iVar5 = piVar1[1], iVar5 < iVar6 || ((iVar6 == iVar5 && (piVar1[2] < iVar8)))))) && - ((param_3 == 0 || - ((lVar2 = FUN_7f05e57c(iVar5), lVar2 != 0 || - (lVar2 = FUN_7f05e57c(piVar1[2]), lVar2 != 0)))))) goto code_r0x7f08d548; - } -LAB_7f08d558: - if (piVar1 == *(int **)(_DAT_8007a120 + 0x11e0)) { - if (param_3 != 0) { - iVar5 = *(int *)(_DAT_8007a120 + 0x11ec); - goto LAB_7f08d588; - } - iVar6 = 1000; - iVar8 = 1000; - } - piVar1 = (int *)piVar1[4]; - } while( true ); - } -LAB_7f08d584: - iVar5 = *(int *)(_DAT_8007a120 + 0x11ec); -LAB_7f08d588: - if (iVar5 != 0) { - iVar5 = *param_1; - if (*param_2 == 0) { - iVar4 = iVar5 + 0x20; - iVar5 = iVar4 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - if (iVar5 == 0) { - iVar5 = 0x20; - if (false) { - trap(0x1c00); - } - if ((false) && (false)) { - trap(0x1800); - } - } - } - while (iVar5 != iVar6) { - if (((param_3 == 0) || (lVar2 = FUN_7f05e57c(iVar5), lVar2 != 0)) && - ((DAT_80048500 == 0 || (iVar5 != 2)))) { - uVar3 = get_num_players(); - if (((uVar3 != 1) || (uVar3 = FUN_7f05e5d4(iVar5,0x100000), uVar3 == 0)) || - ((iVar4 = iVar5, iVar7 = iVar5, iVar5 == *param_1 && - (iVar4 = iVar5, iVar7 = iVar5, *param_2 <= iVar5)))) { - iVar4 = iVar5; - iVar7 = 0; - } - goto LAB_7f08d7a8; - } - iVar4 = iVar5 + 0x20; - iVar5 = iVar4 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - if (iVar5 == 0) { - iVar5 = 0x20; - if (false) { - trap(0x1c00); - } - if ((false) && (false)) { - trap(0x1800); - } - } - } - uVar3 = get_num_players(); - iVar4 = iVar6; - iVar7 = iVar8; - if ((uVar3 != 1) || - (((uVar3 = FUN_7f05e5d4(iVar5,0x100000), uVar3 != 0 && - ((param_3 == 0 || (lVar2 = FUN_7f05e57c(iVar5), lVar2 != 0)))) && - (((iVar5 == *param_1 && (iVar4 = iVar6, iVar7 = iVar8, *param_2 <= iVar5)) || - (((iVar4 = iVar6, iVar7 = iVar8, iVar5 <= iVar8 || - (iVar4 = iVar5, iVar7 = iVar5, DAT_80048500 == 0)) || - (iVar4 = iVar5, iVar7 = iVar5, iVar5 != 2)))))))) { -LAB_7f08d7a8: - iVar6 = iVar4; - iVar8 = iVar7; - } - } - *param_1 = iVar6; - *param_2 = iVar8; - return; -code_r0x7f08d548: - iVar6 = piVar1[1]; - iVar8 = piVar1[2]; - goto LAB_7f08d584; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08d7d4(uint param_1) - -{ - int *piVar1; - uint uVar2; - int *piVar3; - int iVar4; - - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - uVar2 = 0; - if (piVar1 != NULL) { - iVar4 = *piVar1; - piVar3 = piVar1; - while( true ) { - if (iVar4 == 2) { - if (*(char *)piVar3[1] == '\x01') { - iVar4 = *(int *)((char *)piVar3[1] + 4); - if (*(char *)(iVar4 + 3) == '\x04') { - uVar2 |= *(uint *)(iVar4 + 0x80); - if (param_1 == (param_1 & uVar2)) { - return 1; - } - piVar3 = (int *)piVar3[3]; - } - else { - piVar3 = (int *)piVar3[3]; - } - } - else { - piVar3 = (int *)piVar3[3]; - } - } - else { - piVar3 = (int *)piVar3[3]; - } - if (piVar3 == piVar1) { - return 0; - } - if (piVar3 == NULL) break; - iVar4 = *piVar3; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08d870(void) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 2) { - if (*(char *)piVar2[1] == '\x04') { - if (*(short *)(*(int *)((char *)piVar2[1] + 4) + 4) == 0xf8) { - return 1; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f08d8e4(void) - -{ - ulonglong uVar1; - - uVar1 = 0; - if (*(int *)(_DAT_8007a120 + 0xd8) == 0) { - uVar1 = FUN_7f08cba4(0x58); - } - return uVar1; -} - - - -void FUN_7f08d924(void) - -{ - FUN_7f08cba4(0x13); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f08d944(int param_1) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 2) { - if (param_1 == piVar2[1]) { - return 1; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08d99c(void) - -{ - int *piVar1; - int iVar2; - char *pcVar3; - int iVar4; - int *piVar5; - - iVar4 = 0; - if ((*(int *)(_DAT_8007a120 + 0x11ec) != 0) && (iVar4 = 0x20, DAT_80048500 != 0)) { - iVar4 = 0x1f; - } - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - if (piVar1 == NULL) { - return iVar4; - } - iVar2 = *piVar1; - piVar5 = piVar1; - do { - if (iVar2 == 2) { - pcVar3 = (char *)piVar5[1]; - if (*pcVar3 == '\x04') { - if ((*(uint *)(*(int *)(pcVar3 + 4) + 100) & 0x400) == 0) { - piVar5 = (int *)piVar5[3]; - } - else { -LAB_7f08da68: - iVar4 += 1; - piVar5 = (int *)piVar5[3]; - } - } - else { - if (*pcVar3 == '\x01') { - if ((*(uint *)(*(int *)(pcVar3 + 4) + 0xc) & 0x40000) == 0) goto LAB_7f08da68; - piVar5 = (int *)piVar5[3]; - } - else { - piVar5 = (int *)piVar5[3]; - } - } - } - else { - if (iVar2 == 1) { - if ((*(int *)(_DAT_8007a120 + 0x11ec) == 0) || (0x20 < piVar5[1])) goto LAB_7f08da68; - piVar5 = (int *)piVar5[3]; - } - else { - piVar5 = (int *)piVar5[3]; - } - } - if (piVar5 == piVar1) { - return iVar4; - } - if (piVar5 == NULL) { - return iVar4; - } - iVar2 = *piVar5; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08da84(int param_1) - -{ - int *piVar1; - char *pcVar2; - int *piVar3; - int iVar4; - - if (*(int *)(_DAT_8007a120 + 0x11ec) == 0) { - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - } - else { - iVar4 = 0x20; - if (DAT_80048500 != 0) { - iVar4 = 0x1f; - } - if (param_1 < iVar4) { - return NULL; - } - iVar4 = 0x20; - if (DAT_80048500 != 0) { - iVar4 = 0x1f; - } - param_1 -= iVar4; - piVar1 = *(int **)(_DAT_8007a120 + 0x11e0); - } - if (piVar1 == NULL) { - return NULL; - } - iVar4 = *piVar1; - piVar3 = piVar1; - do { - if (iVar4 == 2) { - pcVar2 = (char *)piVar3[1]; - if (*pcVar2 == '\x04') { - if ((*(uint *)(*(int *)(pcVar2 + 4) + 100) & 0x400) == 0) { - piVar3 = (int *)piVar3[3]; - } - else { - if (param_1 == 0) { - return piVar3; - } -LAB_7f08dbac: - param_1 += -1; - piVar3 = (int *)piVar3[3]; - } - } - else { - if (*pcVar2 == '\x01') { - if ((*(uint *)(*(int *)(pcVar2 + 4) + 0xc) & 0x40000) == 0) { - if (param_1 == 0) { - return piVar3; - } - goto LAB_7f08dbac; - } - piVar3 = (int *)piVar3[3]; - } - else { - piVar3 = (int *)piVar3[3]; - } - } - } - else { - if (iVar4 == 1) { - if ((*(int *)(_DAT_8007a120 + 0x11ec) == 0) || (0x20 < piVar3[1])) { - if (param_1 == 0) { - return piVar3; - } - goto LAB_7f08dbac; - } - piVar3 = (int *)piVar3[3]; - } - else { - piVar3 = (int *)piVar3[3]; - } - } - if (piVar3 == piVar1) { - return NULL; - } - if (piVar3 == NULL) { - return NULL; - } - iVar4 = *piVar3; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08dbcc(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = *(int *)(_DAT_8007a120 + 0x11f4); - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 0x24); - while( true ) { - if (param_1 == iVar2) { - return iVar1; - } - iVar1 = *(int *)(iVar1 + 0x20); - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 0x24); - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08dc0c(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = *(int *)(_DAT_8007a120 + 0x11f4); - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 4); - while( true ) { - if (iVar2 == 0) { - if (param_1 == *(int *)(iVar1 + 8)) { - return iVar1; - } - iVar1 = *(int *)(iVar1 + 0x20); - } - else { - iVar1 = *(int *)(iVar1 + 0x20); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08dc58(int param_1) - -{ - int *piVar1; - int iVar2; - - piVar1 = FUN_7f08da84(param_1); - if (piVar1 == NULL) { - if (*(int *)(_DAT_8007a120 + 0x11ec) == 0) { - param_1 = 0; - } - else { - iVar2 = 0x20; - if (DAT_80048500 != 0) { - iVar2 = 0x1f; - } - if (param_1 < iVar2) { - if ((DAT_80048500 == 0) || (param_1 + 1 < 2)) { - param_1 += 1; - } - else { - param_1 += 2; - } - } - else { - param_1 = 0; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08dbcc(*(int *)(piVar1[1] + 4)); - if (iVar2 == 0) { - param_1 = 0; - } - else { - param_1 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - param_1 = piVar1[1]; - } - else { - param_1 = 0; - } - } - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08dd28(int param_1) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = FUN_7f08da84(param_1); - iVar3 = 0; - if (piVar1 == NULL) { - if (*(int *)(_DAT_8007a120 + 0x11ec) != 0) { - iVar2 = 0x20; - if (DAT_80048500 != 0) { - iVar2 = 0x1f; - } - if (param_1 < iVar2) { - if ((DAT_80048500 != 0) && (1 < param_1 + 1)) { - iVar3 = FUN_7f067680(param_1 + 2); - return iVar3; - } - iVar3 = FUN_7f067680(param_1 + 1); - return iVar3; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08dbcc(*(int *)(piVar1[1] + 4)); - iVar3 = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x14) != 0) { - iVar3 = FUN_7f0c2a88(*(uint *)(iVar2 + 0x14)); - return iVar3; - } - iVar3 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iVar3 = piVar1[1]; - iVar2 = FUN_7f08dc0c(iVar3); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x14) != 0)) { - iVar3 = FUN_7f0c2a88(*(uint *)(iVar2 + 0x14)); - return iVar3; - } - } - } - } - iVar3 = FUN_7f067680(iVar3); - return iVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08de5c(int param_1) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = FUN_7f08da84(param_1); - iVar3 = 0; - if (piVar1 == NULL) { - if (*(int *)(_DAT_8007a120 + 0x11ec) != 0) { - iVar2 = 0x20; - if (DAT_80048500 != 0) { - iVar2 = 0x1f; - } - if (param_1 < iVar2) { - if ((DAT_80048500 != 0) && (1 < param_1 + 1)) { - iVar3 = FUN_7f0676b4(param_1 + 2); - return iVar3; - } - iVar3 = FUN_7f0676b4(param_1 + 1); - return iVar3; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08dbcc(*(int *)(piVar1[1] + 4)); - iVar3 = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x18) != 0) { - iVar3 = FUN_7f0c2a88(*(uint *)(iVar2 + 0x18)); - return iVar3; - } - iVar3 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iVar3 = piVar1[1]; - iVar2 = FUN_7f08dc0c(iVar3); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x18) != 0)) { - iVar3 = FUN_7f0c2a88(*(uint *)(iVar2 + 0x18)); - return iVar3; - } - } - } - } - iVar3 = FUN_7f0676b4(iVar3); - return iVar3; -} - - - -undefined4 FUN_7f08df90(int param_1) - -{ - undefined4 uVar1; - - FUN_7f08dc58(param_1); - uVar1 = FUN_7f0676e8(); - return uVar1; -} - - - -undefined4 FUN_7f08dfb8(int param_1) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f08dc58(param_1); - uVar2 = FUN_7f0676f8(iVar1); - return uVar2; -} - - - -undefined4 FUN_7f08dfe0(int param_1) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f08dc58(param_1); - uVar2 = FUN_7f067714(iVar1); - return uVar2; -} - - - -undefined4 FUN_7f08e008(int param_1) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f08dc58(param_1); - uVar2 = FUN_7f067730(iVar1); - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08e030(int param_1) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = FUN_7f08da84(param_1); - iVar3 = 0; - if (piVar1 == NULL) { - if (*(int *)(_DAT_8007a120 + 0x11ec) != 0) { - iVar2 = 0x20; - if (DAT_80048500 != 0) { - iVar2 = 0x1f; - } - if (param_1 < iVar2) { - if ((DAT_80048500 != 0) && (1 < param_1 + 1)) { - iVar3 = FUN_7f067618(param_1 + 2); - return iVar3; - } - iVar3 = FUN_7f067618(param_1 + 1); - return iVar3; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08dbcc(*(int *)(piVar1[1] + 4)); - iVar3 = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0xc) != 0) { - iVar3 = FUN_7f0c2a88(*(uint *)(iVar2 + 0xc)); - return iVar3; - } - iVar3 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iVar3 = piVar1[1]; - iVar2 = FUN_7f08dc0c(iVar3); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0xc) != 0)) { - iVar3 = FUN_7f0c2a88(*(uint *)(iVar2 + 0xc)); - return iVar3; - } - } - } - } - iVar3 = FUN_7f067618(iVar3); - return iVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08e164(int param_1) - -{ - int *piVar1; - int iVar2; - int iVar3; - - piVar1 = FUN_7f08da84(param_1); - iVar3 = 0; - if (piVar1 == NULL) { - if (*(int *)(_DAT_8007a120 + 0x11ec) != 0) { - iVar2 = 0x20; - if (DAT_80048500 != 0) { - iVar2 = 0x1f; - } - if (param_1 < iVar2) { - if ((DAT_80048500 != 0) && (1 < param_1 + 1)) { - iVar3 = FUN_7f06764c(param_1 + 2); - return iVar3; - } - iVar3 = FUN_7f06764c(param_1 + 1); - return iVar3; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = FUN_7f08dbcc(*(int *)(piVar1[1] + 4)); - iVar3 = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x10) != 0) { - iVar3 = FUN_7f0c2a88(*(uint *)(iVar2 + 0x10)); - return iVar3; - } - iVar3 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - iVar3 = piVar1[1]; - iVar2 = FUN_7f08dc0c(iVar3); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x10) != 0)) { - iVar3 = FUN_7f0c2a88(*(uint *)(iVar2 + 0x10)); - return iVar3; - } - } - } - } - iVar3 = FUN_7f06764c(iVar3); - return iVar3; -} - - - -undefined4 FUN_7f08e298(int param_1) - -{ - undefined4 uVar1; - - FUN_7f08dc58(param_1); - uVar1 = FUN_7f067608(); - return uVar1; -} - - - -undefined4 FUN_7f08e2c0(int param_1) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f08dc58(param_1); - uVar2 = FUN_7f06757c(iVar1); - return uVar2; -} - - - -undefined4 FUN_7f08e2e8(int param_1) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f08dc58(param_1); - uVar2 = FUN_7f067598(iVar1); - return uVar2; -} - - - -undefined4 FUN_7f08e310(int param_1) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f08dc58(param_1); - uVar2 = FUN_7f0675b4(iVar1); - return uVar2; -} - - - -undefined4 FUN_7f08e338(int param_1) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f08dc58(param_1); - uVar2 = FUN_7f0675d0(iVar1); - return uVar2; -} - - - -undefined4 FUN_7f08e360(int param_1) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f08dc58(param_1); - uVar2 = FUN_7f0675ec(iVar1); - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e388(int param_1) - -{ - *(undefined4 *)(param_1 + 0x20) = *(undefined4 *)(_DAT_8007a120 + 0x11f4); - *(int *)(_DAT_8007a120 + 0x11f4) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f08e3a8(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x11f0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e3b8(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x11f0) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e3c8(void) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = FUN_7f05def0(0); - iVar3 = 0; - *(undefined4 *)(_DAT_8007a120 + 0x11f0) = 0; - iVar2 = FUN_7f08d99c(); - if (0 < iVar2) { - do { - iVar2 = FUN_7f08dc58(iVar3); - if (iVar2 == iVar1) { - *(int *)(_DAT_8007a120 + 0x11f0) = iVar3; - return; - } - iVar3 += 1; - iVar2 = FUN_7f08d99c(); - } while (iVar3 < iVar2); - } - return; -} - - - -int FUN_7f08e444(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f08dbcc(param_1); - if ((iVar1 == 0) || (*(int *)(iVar1 + 0x1c) == 0)) { - iVar1 = 0; - } - else { - iVar1 = FUN_7f0c2a88(*(uint *)(iVar1 + 0x1c)); - } - return iVar1; -} - - - -int FUN_7f08e48c(int param_1) - -{ - int iVar1; - - iVar1 = FUN_7f08dc0c(param_1); - if ((iVar1 == 0) || (*(int *)(iVar1 + 0x1c) == 0)) { - iVar1 = 0; - } - else { - iVar1 = FUN_7f0c2a88(*(uint *)(iVar1 + 0x1c)); - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e4d4(int param_1,int param_2) - -{ - int iVar1; - ulonglong uVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - - uVar2 = FUN_7f05e5d4(param_1,0x20000); - if (uVar2 != 0) { - uVar2 = FUN_7f05e5d4(param_2,0x20000); - iVar7 = 0x7fffffff; - iVar4 = 0; - if (uVar2 == 0) { - param_2 = 0; - } - iVar5 = 0; - iVar3 = _DAT_8007a120; - do { - iVar6 = *(int *)(iVar3 + 0x1200); - if (iVar6 < 0) { - iVar6 = 10; - iVar4 = iVar5; - break; - } - if ((param_1 == *(int *)(iVar3 + 0x11f8)) && (param_2 == *(int *)(iVar3 + 0x11fc))) { - *(int *)(iVar3 + 0x1200) = iVar6 + DAT_800483a4; - iVar6 = iVar5; - break; - } - iVar1 = iVar5; - if (iVar7 <= iVar6) { - iVar6 = iVar7; - iVar1 = iVar4; - } - iVar4 = iVar1; - iVar7 = iVar6; - iVar5 += 1; - iVar3 += 0xc; - iVar6 = iVar5; - } while (iVar5 < 10); - if (iVar6 == 10) { - iVar4 *= 0xc; - *(int *)(_DAT_8007a120 + iVar4 + 0x1200) = DAT_800483a4; - *(int *)(_DAT_8007a120 + iVar4 + 0x11f8) = param_1; - *(int *)(_DAT_8007a120 + iVar4 + 0x11fc) = param_2; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e5f0(undefined4 *param_1,undefined4 *param_2) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - *param_1 = 0; - iVar2 = -1; - *param_2 = 0; - iVar4 = 0; - do { - iVar3 = _DAT_8007a120 + iVar4; - iVar1 = *(int *)(iVar3 + 0x1200); - if (iVar1 < 0) { -LAB_7f08e64c: - iVar1 = *(int *)(iVar3 + 0x120c); - } - else { - if (iVar2 < iVar1) { - *param_1 = *(undefined4 *)(iVar3 + 0x11f8); - *param_2 = *(undefined4 *)(_DAT_8007a120 + iVar4 + 0x11fc); - iVar3 = _DAT_8007a120 + iVar4; - iVar2 = iVar1; - goto LAB_7f08e64c; - } - iVar1 = *(int *)(iVar3 + 0x120c); - } - if ((-1 < iVar1) && (iVar2 < iVar1)) { - *param_1 = *(undefined4 *)(iVar3 + 0x1204); - *param_2 = *(undefined4 *)(_DAT_8007a120 + iVar4 + 0x1208); - iVar2 = iVar1; - } - iVar4 += 0x18; - if (iVar4 == 0x78) { - return; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e6a8(void) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + 0x564) = - (fVar2 * 0.00000000 - 0.50000000) * DAT_80055310; - *(undefined4 *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + 0x56c) = 0x3f800000; - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + 0x57c) = - (fVar2 * 0.00000000 - 0.50000000) * DAT_80055314; - *(undefined4 *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + 0x580) = 0x3f800000; - if (*(int *)(_DAT_8007a120 + 0x594) == 0) { - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + 0x568) = - fVar2 * 0.00000000 * DAT_80055320; - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + 0x584) = - fVar2 * 0.00000000 * DAT_80055324; - } - else { - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + 0x568) = - fVar2 * 0.00000000 * DAT_80055318; - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + 0x584) = - fVar2 * 0.00000000 * DAT_8005531c; - } - *(int *)(_DAT_8007a120 + 0x594) = 1 - *(int *)(_DAT_8007a120 + 0x594); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08e928(float *param_1) - -{ - float fVar1; - float fVar2; - int iVar3; - - fVar1 = DAT_80055328; - if (*(int *)(_DAT_8007a120 + 0x4dc) != 0) { - *(undefined4 *)(_DAT_8007a120 + 0x520) = 0; - *(float *)(_DAT_8007a120 + 0x524) = param_1[1] / fVar1; - *(undefined4 *)(_DAT_8007a120 + 0x528) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x4dc) = 0; - } - fVar2 = DAT_80055330; - fVar1 = DAT_8005532c; - iVar3 = 0; - if (0 < DAT_800483a4) { - do { - iVar3 += 1; - *(float *)(_DAT_8007a120 + 0x520) = *param_1 + fVar2 * *(float *)(_DAT_8007a120 + 0x520); - *(float *)(_DAT_8007a120 + 0x524) = param_1[1] + fVar2 * *(float *)(_DAT_8007a120 + 0x524); - *(float *)(_DAT_8007a120 + 0x528) = param_1[2] + fVar2 * *(float *)(_DAT_8007a120 + 0x528); - } while (iVar3 < DAT_800483a4); - } - *(float *)(_DAT_8007a120 + 0x4fc) = *(float *)(_DAT_8007a120 + 0x520) * fVar1; - *(float *)(_DAT_8007a120 + 0x500) = *(float *)(_DAT_8007a120 + 0x524) * fVar1; - *(float *)(_DAT_8007a120 + 0x504) = *(float *)(_DAT_8007a120 + 0x528) * fVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ea24(float *param_1,float *param_2) - -{ - int iVar1; - - if (*(int *)(_DAT_8007a120 + 0x4e0) != 0) { - *(float *)(_DAT_8007a120 + 0x52c) = *param_1 / (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x530) = - param_1[1] / (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x534) = - param_1[2] / (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x538) = *param_2 / (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x53c) = - param_2[1] / (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x540) = - param_2[2] / (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(undefined4 *)(_DAT_8007a120 + 0x4e0) = 0; - } - iVar1 = 0; - if (0 < DAT_800483a4) { - do { - iVar1 += 1; - *(float *)(_DAT_8007a120 + 0x52c) = - *param_1 + *(float *)(_DAT_8007a120 + 0x4ec) * *(float *)(_DAT_8007a120 + 0x52c); - *(float *)(_DAT_8007a120 + 0x530) = - param_1[1] + *(float *)(_DAT_8007a120 + 0x4ec) * *(float *)(_DAT_8007a120 + 0x530); - *(float *)(_DAT_8007a120 + 0x534) = - param_1[2] + *(float *)(_DAT_8007a120 + 0x4ec) * *(float *)(_DAT_8007a120 + 0x534); - *(float *)(_DAT_8007a120 + 0x538) = - *param_2 + *(float *)(_DAT_8007a120 + 0x4ec) * *(float *)(_DAT_8007a120 + 0x538); - *(float *)(_DAT_8007a120 + 0x53c) = - param_2[1] + *(float *)(_DAT_8007a120 + 0x4ec) * *(float *)(_DAT_8007a120 + 0x53c); - *(float *)(_DAT_8007a120 + 0x540) = - param_2[2] + *(float *)(_DAT_8007a120 + 0x4ec) * *(float *)(_DAT_8007a120 + 0x540); - } while (iVar1 < DAT_800483a4); - } - *(float *)(_DAT_8007a120 + 0x508) = - *(float *)(_DAT_8007a120 + 0x52c) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x50c) = - *(float *)(_DAT_8007a120 + 0x530) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x510) = - *(float *)(_DAT_8007a120 + 0x534) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x514) = - *(float *)(_DAT_8007a120 + 0x538) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x518) = - *(float *)(_DAT_8007a120 + 0x53c) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - *(float *)(_DAT_8007a120 + 0x51c) = - *(float *)(_DAT_8007a120 + 0x540) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ec44(float param_1) - -{ - float fVar1; - - if (param_1 != *(float *)(_DAT_8007a120 + 0x4ec)) { - fVar1 = 1.00000000 - param_1; - *(float *)(_DAT_8007a120 + 0x52c) = - (*(float *)(_DAT_8007a120 + 0x52c) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec))) / - fVar1; - *(float *)(_DAT_8007a120 + 0x530) = - (*(float *)(_DAT_8007a120 + 0x530) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec))) / - fVar1; - *(float *)(_DAT_8007a120 + 0x534) = - (*(float *)(_DAT_8007a120 + 0x534) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec))) / - fVar1; - *(float *)(_DAT_8007a120 + 0x538) = - (*(float *)(_DAT_8007a120 + 0x538) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec))) / - fVar1; - *(float *)(_DAT_8007a120 + 0x53c) = - (*(float *)(_DAT_8007a120 + 0x53c) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec))) / - fVar1; - *(float *)(_DAT_8007a120 + 0x540) = - (*(float *)(_DAT_8007a120 + 0x540) * (1.00000000 - *(float *)(_DAT_8007a120 + 0x4ec))) / - fVar1; - *(float *)(_DAT_8007a120 + 0x4ec) = param_1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ed20(float param_1,float param_2) - -{ - undefined4 uVar1; - int iVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - float **ppfVar3; - float **ppfVar4; - float **ppfVar5; - float **ppfVar6; - float fVar7; - float fStack180; - undefined4 uStack176; - float fStack172; - float afStack168 [16]; - float *apfStack104 [4]; - int iStack88; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = DAT_80036b30; - fStack8 = (float)DAT_80036b34; - fStack4 = (float)DAT_80036b38; - fStack24 = DAT_80036b3c; - fStack20 = DAT_80036b40; - fStack16 = DAT_80036b44; - fStack36 = DAT_80036b48; - fStack32 = DAT_80036b4c; - fStack28 = DAT_80036b50; - fStack40 = locret_7F06F638(_DAT_8007a120 + 0x598); - ppfVar3 = (float **)&DAT_80036b54; - ppfVar5 = apfStack104; - if (*(int *)(_DAT_8007a120 + 0x4e8) == 0) { - if (DAT_80055334 < fStack40) { - *(undefined4 *)(_DAT_8007a120 + 0x4f4) = 0x3f800000; - } - else { - if (DAT_80055338 < fStack40) { - *(float *)(_DAT_8007a120 + 0x4f4) = - ((fStack40 - DAT_80055338) * DAT_8005533c) / DAT_80055340 + DAT_80055344; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x4f4) = DAT_80055348; - } - } - *(undefined4 *)(_DAT_8007a120 + 0x4f8) = *(undefined4 *)(_DAT_8007a120 + 0x4f4); - ppfVar3 = (float **)&DAT_80036b54; - } - else { - if (*(int *)(_DAT_8007a120 + 0x4e8) == 1) { - *(undefined4 *)(_DAT_8007a120 + 0x4f4) = DAT_8005534c; - *(undefined4 *)(_DAT_8007a120 + 0x4f8) = 0x3f000000; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x4f4) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x4f8) = *(undefined4 *)(_DAT_8007a120 + 0x4f4); - } - } - do { - ppfVar4 = ppfVar3 + 3; - ppfVar6 = ppfVar5 + 3; - *ppfVar5 = *ppfVar3; - ppfVar5[1] = ppfVar3[1]; - ppfVar5[2] = ppfVar3[2]; - ppfVar3 = ppfVar4; - ppfVar5 = ppfVar6; - } while (ppfVar4 != (float **)0x80036b90); - *ppfVar6 = pfRam80036b90; - fStack180 = DAT_80036b94; - uStack176 = DAT_80036b98; - fStack172 = DAT_80036b9c; - uVar1 = FUN_7f0707d0(); - *(undefined4 *)(_DAT_8007a120 + 0x4e4) = 0; - FUN_7f0707c4(0); - loc_7F070F58(_DAT_8007a120 + 0x598,DAT_800483a4,1); - FUN_7f0707c4(uVar1); - FUN_7f06dca0(_DAT_8007a120 + 0x598,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - init_0x40_bytes_data_at_address_last_word_1_0(afStack168); - apfStack104[0] = afStack168; - iStack88 = _DAT_8007a120 + 0x6d0; - FUN_7f06f8e8(apfStack104,_DAT_8007a120 + 0x598,extraout_a2_lo_00,extraout_a3_lo_00); - *(undefined4 *)(_DAT_8007a120 + 0x544) = *(undefined4 *)(_DAT_8007a120 + 0x554); - *(undefined4 *)(_DAT_8007a120 + 0x548) = *(undefined4 *)(_DAT_8007a120 + 0x558); - *(undefined4 *)(_DAT_8007a120 + 0x54c) = *(undefined4 *)(_DAT_8007a120 + 0x55c); - FUN_7f06d188(_DAT_8007a120 + 0x598,&fStack180,extraout_a2_lo_01,extraout_a3_lo_01); - fStack180 = fStack180 - *(float *)(_DAT_8007a120 + 0x700); - fStack172 = fStack172 - *(float *)(_DAT_8007a120 + 0x708); - FUN_7f06d1fc(_DAT_8007a120 + 0x598,&fStack180,extraout_a2_lo_02,extraout_a3_lo_02); - if (0.00000000 < fStack40) { - *(float *)(_DAT_8007a120 + 0x700) = *(float *)(_DAT_8007a120 + 0x700) + param_2; - *(float *)(_DAT_8007a120 + 0x708) = *(float *)(_DAT_8007a120 + 0x708) * param_1; - if (0 < DAT_800483a4) { - *(float *)(_DAT_8007a120 + 0x700) = *(float *)(_DAT_8007a120 + 0x700) / DAT_800483b4; - *(float *)(_DAT_8007a120 + 0x708) = *(float *)(_DAT_8007a120 + 0x708) / DAT_800483b4; - } - fStack12 = *(float *)(_DAT_8007a120 + 0x700) * *(float *)(_DAT_8007a120 + 0x4f4); - fStack8 = (*(float *)(_DAT_8007a120 + 0x704) - *(float *)(_DAT_8007a120 + 0x550)) * - *(float *)(_DAT_8007a120 + 0x4f4) + *(float *)(_DAT_8007a120 + 0x550); - fStack4 = *(float *)(_DAT_8007a120 + 0x708) * *(float *)(_DAT_8007a120 + 0x4f4); - if (*(int *)(_DAT_8007a120 + 0x4e8) < 0) { - fStack24 = *(float *)(_DAT_8007a120 + 0x6f0); - fStack20 = *(float *)(_DAT_8007a120 + 0x6f4); - fStack16 = *(float *)(_DAT_8007a120 + 0x6f8); - fStack36 = *(float *)(_DAT_8007a120 + 0x6e0); - fStack32 = *(float *)(_DAT_8007a120 + 0x6e4); - fStack28 = *(float *)(_DAT_8007a120 + 0x6e8); - FUN_7f08ec44(DAT_80055358); - } - else { - fStack24 = *(float *)(_DAT_8007a120 + 0x6f0) * *(float *)(_DAT_8007a120 + 0x4f8); - fStack20 = *(float *)(_DAT_8007a120 + 0x6f4) * *(float *)(_DAT_8007a120 + 0x4f4); - fStack16 = (*(float *)(_DAT_8007a120 + 0x6f8) - 1.00000000) * - *(float *)(_DAT_8007a120 + 0x4f4) + 1.00000000; - fStack36 = *(float *)(_DAT_8007a120 + 0x6e0) * *(float *)(_DAT_8007a120 + 0x4f4); - fStack32 = (*(float *)(_DAT_8007a120 + 0x6e4) - 1.00000000) * - *(float *)(_DAT_8007a120 + 0x4f4) + 1.00000000; - fStack28 = *(float *)(_DAT_8007a120 + 0x6e8) * *(float *)(_DAT_8007a120 + 0x4f4); - *(int *)(_DAT_8007a120 + 0x4f0) = *(int *)(_DAT_8007a120 + 0x4f0) + DAT_800483a4; - if (*(int *)(_DAT_8007a120 + 0x4f0) < 0x3d) { - FUN_7f08ec44(DAT_80055354); - } - else { - FUN_7f08ec44(DAT_80055350); - } - } - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x544) = *(undefined4 *)(_DAT_8007a120 + 0x554); - *(undefined4 *)(_DAT_8007a120 + 0x548) = *(undefined4 *)(_DAT_8007a120 + 0x558); - *(undefined4 *)(_DAT_8007a120 + 0x54c) = *(undefined4 *)(_DAT_8007a120 + 0x55c); - fStack12 = 0.00000000; - fStack8 = *(float *)(_DAT_8007a120 + 0x550); - fStack4 = 0.00000000; - *(undefined4 *)(_DAT_8007a120 + 0x4f0) = 0; - fVar7 = (float)FUN_7f08ec44(DAT_8005535c); - FUN_7f08a60c(); - *(float *)(_DAT_8007a120 + 0x560) = - *(float *)(_DAT_8007a120 + 0x560) + (DAT_80055360 + DAT_80055364 * fVar7) * DAT_800483b4; - fVar7 = *(float *)(_DAT_8007a120 + 0x560); - if (1.00000000 <= fVar7) { - FUN_7f08e6a8(); - *(float *)(_DAT_8007a120 + 0x560) = *(float *)(_DAT_8007a120 + 0x560) - 1.00000000; - fVar7 = *(float *)(_DAT_8007a120 + 0x560); - iVar2 = *(int *)(_DAT_8007a120 + 0x594); - } - else { - iVar2 = *(int *)(_DAT_8007a120 + 0x594); - } - fVar7 = (float)sub_7F05AE00((float *)(_DAT_8007a120 + iVar2 * 0xc + 0x564), - (float *)(_DAT_8007a120 + iVar2 * -0xc + 0x570),fVar7,&fStack24); - FUN_7f08a60c(); - fStack24 = fStack24 * (fVar7 * 5.00000000 + 1.00000000); - FUN_7f08a60c(); - fStack20 = fStack20 * (fVar7 * 5.00000000 + 1.00000000); - fVar7 = (float)sub_7F05AE00((float *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * 0xc + - 0x57c), - (float *)(_DAT_8007a120 + *(int *)(_DAT_8007a120 + 0x594) * -0xc + - 0x588),*(float *)(_DAT_8007a120 + 0x560),&fStack36); - FUN_7f08a60c(); - fStack36 = fStack36 * (fVar7 * 5.00000000 + 1.00000000); - FUN_7f08a60c(); - fStack28 = fStack28 * (fVar7 * 5.00000000 + 1.00000000); - } - FUN_7f08e928(&fStack12); - FUN_7f08ea24(&fStack24,&fStack36); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08f39c(float param_1) - -{ - int iVar1; - int iVar2; - int *piVar3; - float fVar4; - - param_1 = param_1 * DAT_80036b24; - piVar3 = &DAT_80036b00; - iVar2 = 0; - do { - fVar4 = (float)piVar3[3]; - if (param_1 <= fVar4 * (float)piVar3[5]) { - iVar1 = *(int *)(_DAT_8007a120 + 0x4e8); - if (iVar2 != iVar1) { - fVar4 = 0.00000000; - if (-1 < iVar1) { - fVar4 = ((float)piVar3[2] - (float)piVar3[1]) * - ((*(float *)(_DAT_8007a120 + 0x5c0) - (float)(&DAT_80036b04)[iVar1 * 6]) / - ((float)(&DAT_80036b08)[iVar1 * 6] - (float)(&DAT_80036b04)[iVar1 * 6])) + - (float)piVar3[1]; - } - FUN_7f070298(_DAT_8007a120 + 0x598,*piVar3 + _DAT_80069578, - *(undefined *)(_DAT_8007a120 + 0x5bc),fVar4,0x3f000000,12.00000000); - sub_7F06FDCC(_DAT_8007a120 + 0x598,piVar3[1],0); - loc_7F06FE2C(_DAT_8007a120 + 0x598,(float)piVar3[2]); - sub_7F06FE3C(_DAT_8007a120 + 0x598,&LAB_7f08e690); - *(int *)(_DAT_8007a120 + 0x4e8) = iVar2; - fVar4 = (float)piVar3[3]; - } - loc_7F06FE84(_DAT_8007a120 + 0x598,(param_1 / fVar4) * 0.50000000,0.00000000); - return; - } - iVar2 += 1; - piVar3 = piVar3 + 6; - } while (iVar2 != 2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void sub_7F08EA48(undefined4 param_1,undefined param_2,float param_3,float param_4) - -{ - FUN_7f070298(_DAT_8007a120 + 0x598,param_1,param_2,param_3,param_4 * 0.50000000,12.00000000); - *(undefined4 *)(_DAT_8007a120 + 0x4e8) = 0xffffffff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08f598(float param_1) - -{ - loc_7F06FE84(_DAT_8007a120 + 0x598,param_1 * 0.50000000,0.00000000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f08f5d8(void) - -{ - float in_f0; - float fVar1; - float fVar2; - - if (*(int *)(_DAT_8007a120 + 0x4e8) < 0) { - fVar2 = 0.00000000; - } - else { - FUN_7f08a60c(); - fVar2 = in_f0 * DAT_80055368 + DAT_8005536c; - fVar1 = locret_7F06F638(_DAT_8007a120 + 0x598); - if ((0.00000000 < fVar1) && - (fVar1 = fVar1 / ((float)(&DAT_80036b08)[*(int *)(_DAT_8007a120 + 0x4e8) * 6] - - (float)(&DAT_80036b04)[*(int *)(_DAT_8007a120 + 0x4e8) * 6]), fVar2 <= fVar1 - )) { - fVar2 = fVar1; - } - } - return fVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f08f6b0(float *param_1) - -{ - float *pfVar1; - int *piVar2; - int *piVar3; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - - piVar2 = NULL; - if ((_DAT_80075d40 != NULL) && (fVar5 = -1.00000000, -1 < *_DAT_80075d40)) { - iVar4 = *_DAT_80075d40; - piVar3 = _DAT_80075d40; - do { - pfVar1 = (float *)(iVar4 * 0x2c + _DAT_80075d58); - fVar6 = param_1[2] - pfVar1[2]; - fVar7 = *param_1 - *pfVar1; - fVar6 = fVar6 * fVar6 + fVar7 * fVar7; - if ((fVar5 < 0.00000000) || (fVar6 < fVar5)) { - iVar4 = piVar3[4]; - fVar5 = fVar6; - piVar2 = piVar3; - } - else { - iVar4 = piVar3[4]; - } - piVar3 = piVar3 + 4; - } while (-1 < iVar4); - } - return piVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08f840(int *param_1,int param_2) - -{ - int iVar1; - - iVar1 = *param_1; - while( true ) { - if (iVar1 < 0) { - return 0; - } - iVar1 = iVar1 * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar1 + 8)) break; - iVar1 = param_1[1]; - param_1 = param_1 + 1; - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08f894(int *param_1,undefined4 param_2) - -{ - int iVar1; - int iVar2; - - iVar1 = _DAT_80075d44; - iVar2 = *param_1; - while (-1 < iVar2) { - iVar2 = iVar2 * 0xc + iVar1; - if (*(int *)(iVar2 + 8) < 0) { - *(undefined4 *)(iVar2 + 8) = param_2; - iVar2 = param_1[1]; - } - else { - iVar2 = param_1[1]; - } - param_1 = param_1 + 1; - } - return; -} - - - -undefined8 loc_7F08EE54(int **param_1,int *param_2) - -{ - int *piVar1; - int *piVar2; - undefined8 uVar3; - - piVar1 = *param_1; - uVar3 = 0; - if (piVar1 != NULL) { - piVar2 = param_1[2]; - while( true ) { - if (param_2 == piVar2) { - uVar3 = 1; - FUN_7f08f894(piVar1,(int)param_2 + 1); - piVar1 = param_1[3]; - } - else { - piVar1 = param_1[3]; - } - if (piVar1 == NULL) break; - piVar2 = param_1[5]; - param_1 = param_1 + 3; - } - } - return uVar3; -} - - - -// WARNING: Instruction at (ram,0x7f08f9b0) overlaps instruction at (ram,0x7f08f9ac) -// - -longlong loc_7F08EF00(int param_1,int param_2,int **param_3,longlong param_4) - -{ - int **ppiVar1; - longlong lVar2; - int *piVar3; - - lVar2 = 1; - if (*param_3 != NULL) { - piVar3 = param_3[3]; - ppiVar1 = param_3; - while( true ) { - ppiVar1[2] = (int *)0xffffffff; - if (piVar3 == NULL) break; - piVar3 = ppiVar1[6]; - ppiVar1 = ppiVar1 + 3; - } - } - *(undefined4 *)(param_1 + 8) = 0; - piVar3 = NULL; - if ((param_4 != 0) || (*(int *)(param_2 + 8) < 0)) { - do { - lVar2 = loc_7F08EE54(param_3,piVar3); - piVar3 = (int *)((int)piVar3 + 1); - if ((param_4 == 0) && (-1 < *(int *)(param_2 + 8))) { - return lVar2; - } - } while (lVar2 != 0); - } - return lVar2; -} - - - -undefined4 FUN_7f08f9fc(int param_1,int **param_2,int **param_3) - -{ - longlong lVar1; - int iVar2; - int *piVar3; - - lVar1 = loc_7F08EF00(param_1,(int)param_2,param_3,0); - if (lVar1 != 0) { - iVar2 = (int)param_2[2] + -1; - if (iVar2 < 0) { - piVar3 = param_2[2]; - } - else { - do { - param_2[2] = param_2[2] + 0x9c4; - param_2 = (int **)FUN_7f08f840(*param_2,iVar2); - iVar2 += -1; - } while (-1 < iVar2); - piVar3 = param_2[2]; - } - param_2[2] = piVar3 + 0x9c4; - } - return (int)lVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F08F05C(int **param_1,int **param_2,int **param_3,longlong param_4) - -{ - int iVar1; - int **ppiVar2; - int *piVar3; - int **ppiVar4; - int iVar5; - - ppiVar4 = param_3; - if (1 < param_4) { - if (_DAT_80075d44 == NULL) { - *param_3 = NULL; - ppiVar4 = param_3; - goto LAB_7f08fb3c; - } - iVar1 = FUN_7f08f9fc((int)param_1,param_2,_DAT_80075d44); - ppiVar4 = param_3; - if (iVar1 != 0) { - iVar5 = (int)param_4 + 9999; - *(int ***)param_3 = param_1; - iVar1 = 0x2711; - ppiVar4 = param_3 + 1; - if (10000 < (int)param_2[2]) { - if (iVar5 < 0x2712) { - *ppiVar4 = NULL; - goto LAB_7f08fb3c; - } - piVar3 = *param_1; - while( true ) { - ppiVar2 = (int **)FUN_7f08f840(piVar3,iVar1); - *(int ***)ppiVar4 = ppiVar2; - iVar1 += 1; - ppiVar4 = ppiVar4 + 1; - if (((int)param_2[2] < iVar1) || (iVar5 <= iVar1)) break; - piVar3 = *ppiVar2; - } - } - } - } - *ppiVar4 = NULL; -LAB_7f08fb3c: - return (int)ppiVar4 + (4 - (int)param_3) >> 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08fb70(int *param_1,int param_2,int param_3) - -{ - int iVar1; - - iVar1 = *param_1; - do { - if (iVar1 < 0) { - return 0; - } - iVar1 = iVar1 * 0x10 + _DAT_80075d40; - if (param_3 == *(int *)(iVar1 + 8)) { - if (param_2 == *(int *)(iVar1 + 0xc)) { - return iVar1; - } - iVar1 = param_1[1]; - } - else { - iVar1 = param_1[1]; - } - param_1 = param_1 + 1; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08fbc8(int *param_1,undefined4 param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = _DAT_80075d40; - iVar2 = *param_1; - while (-1 < iVar2) { - iVar2 = iVar2 * 0x10 + iVar1; - if (param_3 == *(int *)(iVar2 + 8)) { - if (*(int *)(iVar2 + 0xc) < 0) { - *(undefined4 *)(iVar2 + 0xc) = param_2; - iVar2 = param_1[1]; - } - else { - iVar2 = param_1[1]; - } - } - else { - iVar2 = param_1[1]; - } - param_1 = param_1 + 1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F08F1B4(int *param_1,int param_2,int param_3) - -{ - int *piVar1; - int iVar2; - int iVar3; - undefined8 uVar4; - - iVar2 = _DAT_80075d40; - iVar3 = *param_1; - uVar4 = 0; - while (-1 < iVar3) { - iVar3 = iVar3 * 0x10 + iVar2; - if (param_2 == *(int *)(iVar3 + 0xc)) { - piVar1 = *(int **)(iVar3 + 4); - if (piVar1 == NULL) { - iVar3 = param_1[1]; - } - else { - uVar4 = 1; - FUN_7f08fbc8(piVar1,param_2 + 1,param_3); - iVar3 = param_1[1]; - } - } - else { - iVar3 = param_1[1]; - } - param_1 = param_1 + 1; - } - return uVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08fcb8(int param_1,int param_2,longlong param_3) - -{ - int iVar1; - int iVar2; - longlong lVar3; - int *piVar4; - int iVar5; - int iVar6; - - iVar2 = _DAT_80075d44; - iVar1 = _DAT_80075d40; - iVar6 = 0; - piVar4 = *(int **)(_DAT_80075d44 + *(int *)(param_1 + 8) * 0xc + 4); - iVar5 = *piVar4; - while (-1 < iVar5) { - *(undefined4 *)(iVar5 * 0x10 + iVar1 + 0xc) = 0xffffffff; - iVar5 = piVar4[1]; - piVar4 = piVar4 + 1; - } - *(undefined4 *)(param_1 + 0xc) = 0; - if ((param_3 != 0) || (*(int *)(param_2 + 0xc) < 0)) { - iVar5 = *(int *)(param_1 + 8); - while( true ) { - lVar3 = loc_7F08F1B4(*(int **)(iVar2 + iVar5 * 0xc + 4),iVar6,iVar5); - iVar6 += 1; - if (((param_3 == 0) && (-1 < *(int *)(param_2 + 0xc))) || (lVar3 == 0)) break; - iVar5 = *(int *)(param_1 + 8); - } - } - return; -} - - - -void FUN_7f08fdac(int param_1,int param_2) - -{ - int iVar1; - - FUN_7f08fcb8(param_1,param_2,0); - iVar1 = *(int *)(param_2 + 0xc) + -1; - if (iVar1 < 0) { - iVar1 = *(int *)(param_2 + 0xc); - } - else { - do { - *(int *)(param_2 + 0xc) = *(int *)(param_2 + 0xc) + 10000; - param_2 = FUN_7f08fb70(*(int **)(param_2 + 4),iVar1,*(int *)(param_1 + 8)); - iVar1 += -1; - } while (-1 < iVar1); - iVar1 = *(int *)(param_2 + 0xc); - } - *(int *)(param_2 + 0xc) = iVar1 + 10000; - return; -} - - - -int loc_7F08F400(int param_1,int param_2,int *param_3,longlong param_4) - -{ - int iVar1; - int *piVar2; - int iVar3; - int *piVar4; - int iVar5; - - piVar4 = param_3; - if (1 < param_4) { - FUN_7f08fdac(param_1,param_2); - iVar5 = (int)param_4 + 9999; - *param_3 = param_1; - iVar3 = 0x2711; - piVar4 = param_3 + 1; - if (10000 < *(int *)(param_2 + 0xc)) { - if (iVar5 < 0x2712) { - *piVar4 = 0; - goto LAB_7f08fee0; - } - piVar2 = *(int **)(param_1 + 4); - while( true ) { - iVar1 = FUN_7f08fb70(piVar2,iVar3,*(int *)(param_1 + 8)); - *piVar4 = iVar1; - iVar3 += 1; - piVar4 = piVar4 + 1; - if ((*(int *)(param_2 + 0xc) < iVar3) || (iVar5 <= iVar3)) break; - piVar2 = *(int **)(iVar1 + 4); - } - } - } - *piVar4 = 0; -LAB_7f08fee0: - return (int)piVar4 + (4 - (int)param_3) >> 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f08ff18(int param_1,int param_2,int *param_3,int *param_4) - -{ - int iVar1; - int *piVar2; - int iVar3; - int *piVar4; - - piVar4 = *(int **)(param_1 + 4); - iVar3 = *piVar4; - do { - if (iVar3 < 0) { - *param_4 = 0; - *param_3 = 0; - return; - } - iVar1 = iVar3 * 0x10 + _DAT_80075d40; - piVar2 = *(int **)(iVar1 + 4); - iVar3 = *piVar2; - while (-1 < iVar3) { - iVar3 = iVar3 * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 8) * 0xc + _DAT_80075d44) { - *param_3 = iVar1; - *param_4 = iVar3; - return; - } - iVar3 = piVar2[1]; - piVar2 = piVar2 + 1; - } - iVar3 = piVar4[1]; - piVar4 = piVar4 + 1; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f08ffd0(int param_1,int param_2,int *param_3,longlong param_4) - -{ - int iVar1; - int **ppiVar2; - int iVar3; - int *piVar4; - int **ppiVar5; - int *piVar6; - int **ppiVar7; - int iStack44; - int aiStack40 [10]; - - piVar6 = param_3; - if (_DAT_80075d44 != NULL) { - ppiVar5 = _DAT_80075d44 + *(int *)(param_1 + 8) * 3; - ppiVar7 = _DAT_80075d44 + *(int *)(param_2 + 8) * 3; - iVar1 = FUN_7f08f9fc((int)ppiVar5,ppiVar7,_DAT_80075d44); - if (iVar1 == 0) { - *param_3 = 0; - piVar6 = param_3; - goto LAB_7f090118; - } - iVar1 = (int)ppiVar5[2] + 1; - piVar6 = param_3; - if ((iVar1 <= (int)ppiVar7[2]) && (piVar6 = param_3, 1 < param_4)) { - piVar4 = *ppiVar5; - piVar6 = param_3; - while( true ) { - ppiVar2 = (int **)FUN_7f08f840(piVar4,iVar1); - FUN_7f08ff18((int)ppiVar5,(int)ppiVar2,aiStack40,&iStack44); - iVar3 = loc_7F08F400(param_1,aiStack40[0],piVar6,param_4); - iVar1 += 1; - param_4 = (longlong)(((int)param_4 - iVar3) + 1); - piVar6 = piVar6 + iVar3 + -1; - param_1 = iStack44; - if (((int)ppiVar7[2] < iVar1) || (param_1 = iStack44, param_4 < 2)) break; - piVar4 = *ppiVar2; - param_1 = iStack44; - ppiVar5 = ppiVar2; - } - } - iVar1 = loc_7F08F400(param_1,param_2,piVar6,param_4); - piVar6 = piVar6 + iVar1 + -1; - } - *piVar6 = 0; -LAB_7f090118: - return (int)piVar6 + (4 - (int)param_3) >> 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09015c(void) - -{ - int *piVar1; - int iVar2; - - if (-1 < *_DAT_80075d40) { - iVar2 = _DAT_80075d40[4]; - piVar1 = _DAT_80075d40; - while( true ) { - piVar1[3] = -1; - if (iVar2 < 0) break; - iVar2 = piVar1[8]; - piVar1 = piVar1 + 4; - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f090340) overlaps instruction at (ram,0x7f09033c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F08F8F8(int *param_1,int param_2) - -{ - int *piVar1; - uint uVar2; - int iVar3; - uint uVar4; - uint uVar5; - uint uVar6; - - uVar5 = 0; - if (-1 < *param_1) { - iVar3 = param_1[1]; - piVar1 = param_1; - while( true ) { - uVar5 += 1; - if (iVar3 < 0) break; - iVar3 = piVar1[2]; - piVar1 = piVar1 + 1; - } - } - uVar2 = FUN_7000a460(); - uVar2 %= uVar5; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((int)uVar2 < (int)uVar5) { - uVar6 = uVar5 - uVar2 & 3; - if (uVar6 == 0) { - iVar3 = uVar2 << 2; - uVar4 = uVar2; - } - else { - piVar1 = param_1 + uVar2; - uVar4 = uVar2; - do { - uVar4 += 1; - iVar3 = *piVar1 * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - piVar1 = piVar1 + 1; - } while (uVar6 + uVar2 != uVar4); - iVar3 = uVar4 * 4; - if (uVar4 == uVar5) goto LAB_7f0902ec; - } - piVar1 = (int *)((int)param_1 + iVar3); - do { - uVar4 += 4; - iVar3 = *piVar1 * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piVar1[1] * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piVar1[2] * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = piVar1[3] * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - piVar1 = piVar1 + 4; - } while (uVar4 != uVar5); - } -LAB_7f0902ec: - uVar5 = 0; - if (0 < (int)uVar2) { - piVar1 = param_1; - if ((uVar2 & 3) == 0) { - iVar3 = 0; - } - else { - do { - uVar5 += 1; - iVar3 = *piVar1 * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - piVar1 = piVar1 + 1; - } while ((uVar2 & 3) != uVar5); - iVar3 = uVar5 * 4; - if (uVar5 == uVar2) { - return 0; - } - } - param_1 = (int *)((int)param_1 + iVar3); - do { - uVar5 += 4; - iVar3 = *param_1 * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = param_1[1] * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = param_1[2] * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - iVar3 = param_1[3] * 0x10 + _DAT_80075d40; - if (param_2 == *(int *)(iVar3 + 0xc)) { - return iVar3; - } - param_1 = param_1 + 4; - } while (uVar5 != uVar2); - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f0905bc) overlaps instruction at (ram,0x7f0905b8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F08FB84(int *param_1,int param_2) - -{ - int *piVar1; - uint uVar2; - int iVar3; - uint uVar4; - uint uVar5; - uint uVar6; - - uVar5 = 0; - if (-1 < *param_1) { - iVar3 = param_1[1]; - piVar1 = param_1; - while( true ) { - uVar5 += 1; - if (iVar3 < 0) break; - iVar3 = piVar1[2]; - piVar1 = piVar1 + 1; - } - } - uVar2 = FUN_7000a460(); - uVar2 %= uVar5; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((int)uVar2 < (int)uVar5) { - uVar6 = uVar5 - uVar2 & 3; - if (uVar6 == 0) { - iVar3 = uVar2 << 2; - uVar4 = uVar2; - } - else { - piVar1 = param_1 + uVar2; - uVar4 = uVar2; - do { - uVar4 += 1; - iVar3 = *piVar1 * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - piVar1 = piVar1 + 1; - } while (uVar6 + uVar2 != uVar4); - iVar3 = uVar4 * 4; - if (uVar4 == uVar5) goto LAB_7f090560; - } - piVar1 = (int *)((int)param_1 + iVar3); - do { - uVar4 += 4; - iVar3 = *piVar1 * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piVar1[1] * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piVar1[2] * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = piVar1[3] * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - piVar1 = piVar1 + 4; - } while (uVar4 != uVar5); - } -LAB_7f090560: - uVar5 = 0; - if (0 < (int)uVar2) { - piVar1 = param_1; - if ((uVar2 & 3) == 0) { - iVar3 = 0; - } - else { - do { - uVar5 += 1; - iVar3 = *piVar1 * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - piVar1 = piVar1 + 1; - } while ((uVar2 & 3) != uVar5); - iVar3 = uVar5 * 4; - if (uVar5 == uVar2) { - return 0; - } - } - param_1 = (int *)((int)param_1 + iVar3); - do { - uVar5 += 4; - iVar3 = *param_1 * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = param_1[1] * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = param_1[2] * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - iVar3 = param_1[3] * 0xc + _DAT_80075d44; - if (param_2 == *(int *)(iVar3 + 8)) { - return iVar3; - } - param_1 = param_1 + 4; - } while (uVar5 != uVar2); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f090670(int param_1,int param_2) - -{ - int iVar1; - int **ppiVar2; - int iStack52; - int local_30 [2]; - int iStack40; - int local_24; - int local_1c; - int local_18 [6]; - - if (_DAT_80075d44 != NULL) { - ppiVar2 = _DAT_80075d44 + *(int *)(param_1 + 8) * 3; - if (ppiVar2 == _DAT_80075d44 + *(int *)(param_2 + 8) * 3) { - FUN_7f09015c(); - FUN_7f08fcb8(param_2,param_1,1); - iVar1 = loc_7F08F8F8(*(int **)(param_1 + 4),-1); - if (iVar1 != 0) { - return iVar1; - } - iVar1 = loc_7F08F8F8(*(int **)(param_1 + 4),*(int *)(param_1 + 0xc) + 1); - if (iVar1 != 0) { - return iVar1; - } - return 0; - } - loc_7F08EF00((int)(_DAT_80075d44 + *(int *)(param_2 + 8) * 3),(int)ppiVar2,_DAT_80075d44,0); - if ((int)ppiVar2[2] < 0) { - return 0; - } - iVar1 = loc_7F08FB84(*ppiVar2,-1); - if (iVar1 != 0) { - FUN_7f08ff18((int)ppiVar2,iVar1,local_18,&local_1c); - if (local_18[0] == param_1) { - return local_1c; - } - iVar1 = loc_7F08F400(param_1,local_18[0],&iStack40,3); - if (2 < iVar1) { - return local_24; - } - return 0; - } - iVar1 = FUN_7f08f840(*ppiVar2,(int)ppiVar2[2] + -1); - if (iVar1 != 0) { - FUN_7f08ff18((int)ppiVar2,iVar1,local_30,&iStack52); - FUN_7f08fcb8(local_30[0],param_1,1); - iVar1 = FUN_7f08fb70(*(int **)(param_1 + 4),*(int *)(param_1 + 0xc) + 1,*(int *)(param_1 + 8)) - ; - if (iVar1 != 0) { - return iVar1; - } - return 0; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0907fc(void) - -{ - int *piVar1; - uint uVar2; - int iVar3; - int local_dc; - int local_d8; - int *local_10; - uint local_8; - int *local_4; - - if (_DAT_80075d40 != NULL) { - local_8 = 0; - if (*_DAT_80075d40 < 0) { - local_8 = 0; - } - else { - iVar3 = _DAT_80075d40[4]; - piVar1 = _DAT_80075d40; - while( true ) { - local_8 += 1; - if (iVar3 < 0) break; - iVar3 = piVar1[8]; - piVar1 = piVar1 + 4; - } - } - local_4 = _DAT_80075d40; - uVar2 = FUN_7000a460(); - if (local_8 == 0) { - trap(0x1c00); - } - local_10 = local_4 + (uVar2 % local_8) * 4; - uVar2 = FUN_7000a460(); - if (local_8 == 0) { - trap(0x1c00); - } - iVar3 = FUN_7f08ffd0((int)local_10,(int)(local_4 + (uVar2 % local_8) * 4),&local_dc,0x32); - if ((iVar3 != 0) && (piVar1 = &local_dc, local_dc != 0)) { - while (local_d8 != 0) { - local_d8 = piVar1[2]; - piVar1 = piVar1 + 1; - } - } - } - return; -} - - - -void FUN_7f0908e0(void) - -{ - return; -} - - - -void FUN_7f0908f4(undefined4 param_1,undefined4 param_2,int *param_3) - -{ - int *piVar1; - int iVar2; - - DAT_80036bb0 = 0; - if (*param_3 < 0) { - iVar2 = 0; - } - else { - iVar2 = param_3[1]; - piVar1 = param_3; - while( true ) { - DAT_80036bb0 += 1; - if (iVar2 < 0) break; - iVar2 = piVar1[2]; - piVar1 = piVar1 + 1; - } - iVar2 = DAT_80036bb0 * 4; - } - DAT_80036ba4 = *(undefined4 *)((int)param_3 + iVar2 + -4); - DAT_80036ba8 = param_1; - DAT_80036bac = param_2; - DAT_80036bb4 = param_3; - return; -} - - - -undefined4 FUN_7f090954(undefined4 param_1) - -{ - byte bVar1; - byte bVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - - bVar1 = *(byte *)(DAT_80036bb8 + -0x7ffc9444); - bVar2 = *(byte *)(DAT_80036bb8 + -0x7ffc9440); - iVar5 = 0; - if (0 < DAT_80036ba4) { - iVar6 = 0; - iVar7 = 0; - do { - FUN_7f0908e0(); - if (iVar5 == DAT_80036ba0) { - set_debug_text_color(0xc0,0,0,0xc0); - } - else { - set_debug_text_color(0xc0,0xc0,0xc0,0xc0); - } - iVar4 = *(int *)(DAT_80036bac + iVar6) * (uint)bVar1; - iVar3 = iVar4 + -0x14; - if (iVar3 < 0) { - iVar3 = iVar4 + -0x11; - } - iVar4 = ((int *)(DAT_80036bac + iVar6))[1] * (uint)bVar2 + -8; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - set_final_debug_text_positions(iVar3 >> 2,iVar4 / 7); - write_string_stdout(*(byte **)(DAT_80036ba8 + iVar7)); - iVar5 += 1; - iVar6 += 8; - iVar7 += 4; - } while (iVar5 < DAT_80036ba4); - } - return param_1; -} - - - -byte * FUN_7f090aec(void) - -{ - byte bVar1; - byte bVar2; - byte *pbVar3; - int iVar4; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - - bVar1 = DAT_80036bb8[-0x7ffc9444]; - bVar2 = DAT_80036bb8[-0x7ffc9440]; - iVar6 = 0; - pbVar3 = DAT_80036bb8; - if (0 < DAT_80036ba4) { - iVar7 = 0; - iVar8 = 0; - do { - FUN_7f0908e0(); - if (iVar6 == DAT_80036ba0) { - set_debug_text_color(0xc0,0,0,0xc0); - } - else { - set_debug_text_color(0xc0,0xc0,0xc0,0xc0); - } - iVar5 = *(int *)(DAT_80036bac + iVar7) * (uint)bVar1; - iVar4 = iVar5 + -0x14; - if (iVar4 < 0) { - iVar4 = iVar5 + -0x11; - } - iVar5 = ((int *)(DAT_80036bac + iVar7))[1] * (uint)bVar2 + -8; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - set_final_debug_text_positions(iVar4 >> 2,iVar5 / 7); - write_string_stdout(*(byte **)(DAT_80036ba8 + iVar8)); - pbVar3 = FUN_7000cf84((byte *)s_menu_c__ERROR__Tried_to_call_fon_80055370,extraout_a1_lo, - extraout_a2_lo,extraout_a3_lo); - iVar6 += 1; - iVar7 += 8; - iVar8 += 4; - } while (iVar6 < DAT_80036ba4); - } - return pbVar3; -} - - - -undefined4 FUN_7f090c90(void) - -{ - return DAT_80036ba0; -} - - - -void FUN_7f090ca8(void) - -{ - int *piVar1; - int iVar2; - - if (DAT_80036ba0 + -1 < 0) { - DAT_80036ba0 = *DAT_80036bb4 + -1; - return; - } - iVar2 = 0; - piVar1 = DAT_80036bb4; - if (0 < DAT_80036bb0) { - do { - iVar2 += 1; - if (DAT_80036ba0 == *piVar1) { - DAT_80036ba0 = piVar1[1] + -1; - return; - } - piVar1 = piVar1 + 1; - } while (iVar2 < DAT_80036bb0); - } - DAT_80036ba0 = DAT_80036ba0 + -1; - return; -} - - - -void FUN_7f090d28(void) - -{ - int iVar1; - int *piVar2; - - DAT_80036ba0 += 1; - if (DAT_80036ba0 == *DAT_80036bb4) { - DAT_80036ba0 = 0; - return; - } - iVar1 = 0; - piVar2 = DAT_80036bb4; - if (0 < DAT_80036bb0) { - do { - iVar1 += 1; - if (DAT_80036ba0 == *piVar2) { - DAT_80036ba0 = piVar2[-1]; - return; - } - piVar2 = piVar2 + 1; - } while (iVar1 < DAT_80036bb0); - } - return; -} - - - -void FUN_7f090da0(void) - -{ - int *piVar1; - int iVar2; - - iVar2 = DAT_80036ba0 + *DAT_80036bb4; - if (DAT_80036ba0 < *DAT_80036bb4) { - DAT_80036ba0 = iVar2; - if (DAT_80036bb4[1] <= iVar2) { - DAT_80036ba0 = DAT_80036bb4[1] + -1; - return; - } - } - else { - iVar2 = 0; - piVar1 = DAT_80036bb4; - if (0 < DAT_80036bb0) { - do { - iVar2 += 1; - if (DAT_80036ba0 < *piVar1) { - DAT_80036ba0 = (DAT_80036ba0 + *piVar1) - piVar1[-1]; - iVar2 = piVar1[1]; - if (iVar2 < 0) { - if (DAT_80036ba0 - *piVar1 < *DAT_80036bb4) { - DAT_80036ba0 = DAT_80036ba0 - *piVar1; - return; - } - DAT_80036ba0 = *DAT_80036bb4 + -1; - return; - } - if (DAT_80036ba0 < iVar2) { - return; - } - DAT_80036ba0 = iVar2 + -1; - return; - } - piVar1 = piVar1 + 1; - } while (iVar2 < DAT_80036bb0); - } - } - return; -} - - - -void FUN_7f090e7c(void) - -{ - int *piVar1; - int iVar2; - int iVar3; - - if (DAT_80036ba0 < *DAT_80036bb4) { - if (DAT_80036bb0 + -1 < 1) { - iVar2 = 0; - } - else { - iVar2 = 1; - while (iVar2 < DAT_80036bb0 + -1) { - iVar2 += 1; - } - iVar2 <<= 2; - } - DAT_80036ba0 += ((int *)((int)DAT_80036bb4 + iVar2))[-1]; - iVar2 = *(int *)((int)DAT_80036bb4 + iVar2); - if (iVar2 <= DAT_80036ba0) { - DAT_80036ba0 = iVar2 + -1; - return; - } - } - else { - iVar2 = 0; - if (*DAT_80036bb4 <= DAT_80036ba0) { - iVar3 = DAT_80036bb4[1]; - piVar1 = DAT_80036bb4; - while( true ) { - iVar2 += 1; - if (DAT_80036ba0 < iVar3) break; - iVar3 = piVar1[2]; - piVar1 = piVar1 + 1; - } - } - piVar1 = DAT_80036bb4 + iVar2; - DAT_80036ba0 -= piVar1[-1]; - if (-1 < iVar2 + -2) { - DAT_80036ba0 += piVar1[-2]; - } - if (piVar1[-1] <= DAT_80036ba0) { - DAT_80036ba0 = piVar1[-1] + -1; - } - } - return; -} - - - -void FUN_7f090f70(void) - -{ - FUN_7f0908f4(&PTR_s_move_view_80036e60,&DAT_80036bf8,(int *)&LAB_80036bd4); - return; -} - - - -void FUN_7f090fa4(void) - -{ - FUN_7f0921d4(); - DAT_80036f94 = FUN_7f090c90(); - DAT_80036f98 = DAT_80036f94; - DAT_80036fa0 = DAT_80036f94; - return; -} - - - -void FUN_7f090fe8(void) - -{ - FUN_7f07aac0(); - DAT_80036f94 = FUN_7f090c90(); - DAT_80036f98 = DAT_80036f94; - DAT_80036fa0 = DAT_80036f94; - return; -} - - - -void FUN_7f09102c(void) - -{ - FUN_7f07aac0(); - DAT_80036f94 = FUN_7f090c90(); - DAT_80036f98 = DAT_80036f94; - DAT_80036fa0 = DAT_80036f94; - return; -} - - - -void FUN_7f091070(void) - -{ - return; -} - - - -void FUN_7f091078(void) - -{ - return; -} - - - -// WARNING: Switch with 1 destination removed at 0x7f091988 : 5 cases all go to same destination - -uint FUN_7f091080(undefined8 param_1,undefined8 param_2,uint param_3,uint param_4) - -{ - bool bVar1; - undefined4 uVar3; - ulonglong uVar2; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - int iStack8; - int iStack4; - - if ((DAT_8003702c != 0) && - (iVar4 = DAT_8003702c + 1, bVar1 = DAT_8003702c == 3, DAT_8003702c = iVar4, bVar1)) { - DAT_8003702c = iVar4; - FUN_70004bb4(); - DAT_8003702c = 0; - set_coloroutputmode_16bit(); - osViBlack('\0'); - } - if ((DAT_80037030 != 0) && - (iVar4 = DAT_80037030 + 1, bVar1 = DAT_80037030 == 3, DAT_80037030 = iVar4, bVar1)) { - DAT_80037030 = iVar4; - FUN_700048d4(); - DAT_80037030 = 0; - set_coloroutputmode_16bit(); - osViBlack('\0'); - } - if (DAT_80037028 == 0) { - bVar1 = (param_3 & 8) != 0; - if (bVar1) { - bVar1 = (param_3 & 4) != 0; - } - DAT_80037028 = (uint)bVar1; - if (bVar1 != false) { - FUN_7f0c1444(); - } - } - else { - if (DAT_80036f9c != -2) { - DAT_80036fa0 = DAT_80036f9c; - DAT_80036f9c = -2; - } - if ((param_4 & 0x200) != 0) { - FUN_7f090e7c(); - DAT_80036f9c = -2; - } - if ((param_4 & 0x100) != 0) { - FUN_7f090da0(); - DAT_80036f9c = -2; - } - if ((param_4 & 0x800) != 0) { - FUN_7f090ca8(); - DAT_80036f9c = -2; - } - if ((param_4 & 0x400) != 0) { - FUN_7f090d28(); - DAT_80036f9c = -2; - } - if (((param_4 & 0x9000) != 0) && (uVar3 = FUN_7f090c90(), true)) { - switch(uVar3) { - case 0: - FUN_7f090fa4(); - break; - case 1: - FUN_7f090fe8(); - break; - case 2: - FUN_7f09102c(); - break; - case 3: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 4: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 5: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 6: - FUN_70006950(0x5a); - break; - case 7: - FUN_7f089e7c(); - break; - case 8: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 9: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 10: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0xb: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0xc: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0xd: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0xe: - uVar2 = FUN_7f08a690(); - FUN_7f08a680(uVar2 == 0); - break; - case 0xf: - iVar4 = FUN_7f08a6ac(); - FUN_7f08a6a0((uint)(iVar4 == 0)); - break; - case 0x10: - iVar4 = FUN_7f08a6c4(); - FUN_7f08a6b8((uint)(iVar4 == 0)); - break; - case 0x11: - iStack4 = 0; - uVar2 = get_num_players(); - if (0 < (longlong)uVar2) { - do { - FUN_7f09bcac(iStack4); - iVar4 = FUN_7f08cb3c(); - FUN_7f08cb2c((uint)(iVar4 == 0)); - iStack4 += 1; - uVar2 = get_num_players(); - } while ((longlong)iStack4 < (longlong)uVar2); - } - break; - case 0x12: - iVar4 = get_cur_playernum(); - iStack8 = 0; - uVar2 = get_num_players(); - if (0 < (longlong)uVar2) { - do { - FUN_7f09bcac(iStack8); - FUN_7f0698dc(); - iStack8 += 1; - uVar2 = get_num_players(); - } while ((longlong)iStack8 < (longlong)uVar2); - } - FUN_7f09bcac(iVar4); - break; - case 0x13: - DAT_80036fa4 ^= 1; - if (DAT_80036fa4 == 0) { - loc_7000AF2C(); - } - break; - case 0x14: - DAT_80036fa8 ^= 1; - break; - case 0x15: - DAT_80036fac ^= 1; - break; - case 0x16: - DAT_80036fb4 ^= 1; - break; - case 0x17: - DAT_80036fb8 ^= 1; - break; - case 0x18: - DAT_80036fbc ^= 1; - break; - case 0x19: - DAT_80036fc0 ^= 1; - break; - case 0x1a: - case 0x1b: - case 0x1c: - DAT_80037004 ^= 1; - break; - case 0x1d: - DAT_80036fc4 ^= 1; - break; - case 0x1e: - FUN_70005ff4(); - break; - case 0x1f: - FUN_70006004(); - break; - case 0x20: - DAT_8003702c = 1; - osViBlack('\x01'); - set_coloroutputmode_32bit(); - break; - case 0x21: - DAT_80037030 = 1; - osViBlack('\x01'); - set_coloroutputmode_32bit(); - break; - case 0x22: - DAT_80036ff4 ^= 1; - break; - case 0x24: - FUN_7f0c142c(0); - break; - case 0x25: - FUN_7f0c142c(1); - break; - case 0x26: - FUN_7f0c142c(2); - break; - case 0x27: - FUN_7f0c142c(3); - break; - case 0x28: - FUN_7f0c1518(); - break; - case 0x29: - FUN_7f0c09d0(); - break; - case 0x2a: - FUN_7f0c0a70(); - break; - case 0x2b: - uVar2 = FUN_7f07cba4(); - FUN_7f07cb94((uint)(uVar2 == 0)); - break; - case 0x2c: - uVar2 = FUN_7f07cc8c(); - FUN_7f07cc7c((uint)(uVar2 == 0)); - break; - case 0x2d: - DAT_80036fdc ^= 1; - break; - case 0x2e: - DAT_80036fe0 ^= 1; - break; - case 0x2f: - DAT_80036fe4 ^= 1; - break; - case 0x30: - DAT_80036ffc ^= 1; - break; - case 0x31: - DAT_80037000 ^= 1; - break; - case 0x37: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0x38: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0x39: - iVar4 = FUN_7f01f718(); - FUN_7f01f70c((uint)(iVar4 == 0)); - break; - case 0x3a: - FUN_7f07afd8(3); - break; - case 0x3b: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0x3c: - if (DAT_80036f94 == 0) { - FUN_7f0920f8(); - } - break; - case 0x3d: - if (DAT_80036f94 == 0) { - FUN_7f09214c(); - } - else { - iVar4 = FUN_7f089e6c(); - if (iVar4 != 0) { - fVar5 = *(float *)(iVar4 + 8) - DAT_80037034; - fVar6 = *(float *)(iVar4 + 0xc) - DAT_80037038; - fVar7 = *(float *)(iVar4 + 0x10) - DAT_8003703c; - sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - DAT_80037034 = *(float *)(iVar4 + 8); - DAT_80037038 = *(float *)(iVar4 + 0xc); - DAT_8003703c = *(float *)(iVar4 + 0x10); - } - } - break; - case 0x3e: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0x3f: - DAT_80036fd8 ^= 1; - break; - case 0x40: - DAT_80036fe8 ^= 1; - break; - case 0x41: - FUN_7f03e998(); - break; - case 0x42: - DAT_80036ff0 ^= 1; - if (DAT_80036ff0 == 0) { - FUN_7f091078(); - } - else { - FUN_7f091070(); - } - break; - case 0x43: - FUN_7f001258(); - break; - case 0x44: - FUN_7f00140c(); - break; - case 0x45: - DAT_80036fc8 ^= 1; - break; - case 0x46: - DAT_80036fcc ^= 1; - break; - case 0x47: - DAT_80036fd0 ^= 1; - break; - case 0x48: - DAT_80036fd4 ^= 1; - break; - case 0x49: - DAT_80036fa0 = FUN_7f090c90(); - break; - case 0x4a: - DAT_80036fec ^= 1; - break; - case 0x4b: - DAT_80036ff8 ^= 1; - break; - case 0x4c: - DAT_80036fa0 = FUN_7f090c90(); - } - } - if ((param_4 & 3) != 0) { - FUN_7f090c90(); - } - if ((param_4 & 0x1000) != 0) { - if (DAT_80037028 == 1) { - loc_7000AF2C(); - } - DAT_80037028 = 0; - } - } - return DAT_80037028; -} - - - -undefined4 get_debug_prroomloads_flag(void) - -{ - return DAT_80036f94; -} - - - -undefined4 get_debug_joy2skyedit_flag(void) - -{ - return DAT_80036f98; -} - - - -undefined4 get_debug_joy2hitsedit_flag(void) - -{ - return DAT_80036f9c; -} - - - -undefined4 get_debug_explosioninfo_flag(void) - -{ - return DAT_80036fa4; -} - - - -undefined4 get_debug_VisCVG_flag(void) - -{ - return DAT_80036fa8; -} - - - -undefined4 get_debug_007_unlock_flag(void) - -{ - return DAT_80036fac; -} - - - -undefined4 get_debug_enable_all_levels_flag(void) - -{ - return DAT_80036fb4; -} - - - -undefined4 get_debug_chrnum_flag(void) - -{ - return DAT_80036fb8; -} - - - -undefined4 get_debug_gunwatchpos_flag(void) - -{ - return DAT_80036fbc; -} - - - -undefined4 get_debug_profile_flag(void) - -{ - return DAT_80036fc0; -} - - - -undefined4 FUN_7f091a68(void) - -{ - return DAT_80036ff8; -} - - - -void FUN_7f091a74(undefined4 param_1) - -{ - DAT_80036ff8 = param_1; - return; -} - - - -undefined4 get_debug_fast_bond_flag(void) - -{ - return DAT_80036fcc; -} - - - -undefined4 get_debug_all_obj_complete_flag(void) - -{ - return DAT_80036fd0; -} - - - -undefined4 get_debug_portal_flag(void) - -{ - return DAT_80036fd4; -} - - - -undefined4 get_debug_taskgrab_val(void) - -{ - return DAT_80036fc4; -} - - - -undefined4 FUN_7f091abc(void) - -{ - return DAT_80036fd8; -} - - - -void FUN_7f091ac8(undefined4 param_1) - -{ - DAT_80036fd8 = param_1; - return; -} - - - -undefined4 FUN_7f091ad4(void) - -{ - return DAT_80036fdc; -} - - - -undefined4 FUN_7f091ae0(void) - -{ - return DAT_80036fe0; -} - - - -undefined4 FUN_7f091aec(void) - -{ - return DAT_80036fe4; -} - - - -undefined4 FUN_7f091af8(void) - -{ - return DAT_80036ffc; -} - - - -void FUN_7f091b04(undefined4 param_1) - -{ - DAT_80036ffc = param_1; - return; -} - - - -undefined4 FUN_7f091b10(void) - -{ - return DAT_80037000; -} - - - -undefined4 FUN_7f091b1c(void) - -{ - return DAT_80037004; -} - - - -undefined4 FUN_7f091b28(void) - -{ - return DAT_80036fe8; -} - - - -undefined4 FUN_7f091b34(void) - -{ - return DAT_80036fec; -} - - - -undefined4 __osGetActiveQueue(void) - -{ - return DAT_80036ff4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F091574(char param_1,char param_2,ushort param_3) - -{ - int iVar1; - float fVar2; - char cStackX3; - - fVar2 = 1.00000000; - iVar1 = (int)param_2; - if (param_1 < -3) { - cStackX3 = param_1 + '\x03'; - } - else { - cStackX3 = param_1 + -3; - if (param_1 < '\x04') { - cStackX3 = '\0'; - } - } - if (iVar1 < -3) { - iVar1 = (iVar1 + 3) * 0x1000000 >> 0x18; - } - else { - if (iVar1 < 4) { - iVar1 = 0; - } - else { - iVar1 = (iVar1 + -3) * 0x1000000 >> 0x18; - } - } - if ((param_3 & 0x30) == 0) { - if ((param_3 & 0x2000) != 0) { - fVar2 = 0.19999999; - } - if ((param_3 & ~DAT_80037084 & 0x8000) != 0) { - DAT_80037080 = DAT_80037080 + DAT_80037080; - } - if ((param_3 & ~DAT_80037084 & 0x4000) != 0) { - DAT_80037080 = DAT_80037080 * 0.50000000; - } - DAT_80037044 = DAT_80037044 + (float)iVar1 * DAT_80037070 * fVar2 * DAT_80037080; - DAT_8003704c = DAT_8003704c + -(float)iVar1 * DAT_8003706c * fVar2 * DAT_80037080; - if ((param_3 & 0x202) != 0) { - DAT_80037044 = DAT_80037044 - DAT_8003706c * 20.00000000 * fVar2 * DAT_80037080; - DAT_8003704c = DAT_8003704c - DAT_80037070 * 20.00000000 * fVar2 * DAT_80037080; - } - if ((param_3 & 0x101) != 0) { - DAT_80037044 = DAT_80037044 + DAT_8003706c * 20.00000000 * fVar2 * DAT_80037080; - DAT_8003704c = DAT_8003704c + DAT_80037070 * 20.00000000 * fVar2 * DAT_80037080; - } - DAT_80037068 = DAT_80037068 + (float)(int)cStackX3 * fVar2 * 0.12500000; - if ((param_3 & 0x800) != 0) { - DAT_80037074 = DAT_80037074 - (fVar2 + fVar2); - } - if ((param_3 & 0x400) != 0) { - DAT_80037074 = DAT_80037074 + fVar2 + fVar2; - } - if ((param_3 & 8) != 0) { - DAT_80037048 = DAT_80037048 + fVar2 * 20.00000000 * DAT_80037080; - } - if ((param_3 & 4) != 0) { - DAT_80037048 = DAT_80037048 - fVar2 * 20.00000000 * DAT_80037080; - } - } - while (DAT_80037068 < 0.00000000) { - DAT_80037068 = DAT_80037068 + 360.00000000; - } - while (360.00000000 <= DAT_80037068) { - DAT_80037068 = DAT_80037068 - 360.00000000; - } - while (DAT_80037074 < 0.00000000) { - DAT_80037074 = DAT_80037074 + 360.00000000; - } - while (360.00000000 <= DAT_80037074) { - DAT_80037074 = DAT_80037074 - 360.00000000; - } - DAT_8003706c = FUN_7f0583c0(DAT_80037068 * DAT_80055880); - DAT_80037070 = func_7F057FC4(DAT_80037068 * DAT_80055884); - DAT_80037078 = FUN_7f0583c0(DAT_80037074 * DAT_80055888); - DAT_80037054 = func_7F057FC4(DAT_80037074 * DAT_8005588c); - DAT_80037050 = DAT_80037078 * DAT_80037070; - DAT_80037060 = DAT_80037078; - DAT_80037058 = -DAT_80037078 * DAT_8003706c; - DAT_8003705c = -DAT_80037054 * DAT_80037070; - DAT_80037064 = DAT_80037054 * DAT_8003706c; - DAT_8003707c = DAT_80037054; - DAT_80037084 = param_3; - FUN_7f09bdb4(0x42700000); - _DAT_80079e90 += 1; - if (_DAT_80079e90 == 1) { - FUN_7f05d47c(0); - FUN_7f05d47c(1); - } - else { - if (_DAT_80079e90 == 4) { - FUN_7f07a2e0(); - } - } - return; -} - - - -undefined4 FUN_7f092060(undefined4 param_1) - -{ - FUN_7f087d90((float *)&DAT_80037044,(float *)&DAT_80037050,(float *)&DAT_8003705c); - return param_1; -} - - - -void FUN_7f09209c(float param_1) - -{ - DAT_80037088 = DAT_80037088 / param_1; - DAT_80037044 = DAT_80037044 * DAT_80037088; - DAT_80037048 = DAT_80037048 * DAT_80037088; - DAT_8003704c = DAT_8003704c * DAT_80037088; - DAT_80037088 = param_1; - DAT_8003708c = 1.00000000 / param_1; - return; -} - - - -void FUN_7f0920f8(void) - -{ - float fVar1; - - FUN_7f08a70c(); - fVar1 = FUN_7f08a61c(); - fVar1 = DAT_80055890 - fVar1; - FUN_7f0583c0(fVar1); - func_7F057FC4(fVar1); - FUN_7f0583c0(fVar1); - func_7F057FC4(fVar1); - return; -} - - - -void FUN_7f09214c(void) - -{ - sqrtf((DAT_80037044 - DAT_80037090) * (DAT_80037044 - DAT_80037090) + - (DAT_80037048 - DAT_80037094) * (DAT_80037048 - DAT_80037094) + - (DAT_8003704c - DAT_80037098) * (DAT_8003704c - DAT_80037098)); - DAT_80037090 = DAT_80037044; - DAT_80037094 = DAT_80037048; - DAT_80037098 = DAT_8003704c; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0921d4(void) - -{ - int *piVar1; - - piVar1 = FUN_7f08a70c(); - DAT_80037044 = *piVar1; - DAT_80037048 = piVar1[1]; - DAT_8003704c = piVar1[2]; - _DAT_80079e90 = 0; - return; -} - - - -int locret_7F091774(uint param_1) - -{ - int iVar1; - - param_1 &= 0xffff; - iVar1 = 0; - while (param_1 != 0) { - if ((param_1 & 1) != 0) { - iVar1 += 1; - } - param_1 >>= 1; - } - return iVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F091920(void) - -{ - int iVar1; - int iVar2; - uint uVar3; - short *psVar4; - ulonglong uVar5; - ulonglong uVar6; - byte bVar7; - byte *pbVar8; - uint uVar9; - - pbVar8 = &DAT_8003f83c; - iVar1 = FUN_7f0beac4(); - if (iVar1 == 0x5a) { - uVar9 = 1; - } - else { - uVar6 = get_num_players(); - uVar9 = 4; - if (uVar6 == 1) { - uVar9 = 2; - } - } - bVar7 = DAT_8003f83d; - if (DAT_8003f83c == '\0') { - return; - } - do { - uVar6 = (ulonglong)bVar7; - if (bVar7 == 0) { - bVar7 = pbVar8[0x10]; - } - else { - if ((ulonglong)*(byte *)(_DAT_8007a120 + 0x12b5) < uVar6) { - bVar7 = pbVar8[0x10]; - } - else { - if ((*(uint *)(pbVar8 + 0xc) & uVar9) == 0) { - bVar7 = pbVar8[0x10]; - } - else { - uVar5 = 0; - iVar1 = ((uint)*(byte *)(_DAT_8007a120 + 0x12b4) - (uint)bVar7) + 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - if (bVar7 != 0) { - psVar4 = *(short **)(pbVar8 + 4); - do { - iVar2 = iVar1 % 0x14; - iVar1 = iVar2 + 1; - if (*(short *)(_DAT_8007a120 + iVar2 * 2 + 0x128c) != *psVar4) break; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - uVar5 = SEXT48((int)uVar5 + 1); - psVar4 = psVar4 + 1; - } while ((longlong)uVar5 < (longlong)uVar6); - } - if (uVar5 == uVar6) { - *(undefined *)(_DAT_8007a120 + 0x12b5) = 0; - uVar3 = FUN_7f09333c((uint)*pbVar8); - if ((uVar3 == 0) || ((*(uint *)(pbVar8 + 0xc) & 0x10) != 0)) { - FUN_7f092644((ulonglong)*pbVar8); - bVar7 = pbVar8[0x10]; - } - else { - FUN_7f092fb8((uint)*pbVar8); - bVar7 = pbVar8[0x10]; - } - } - else { - bVar7 = pbVar8[0x10]; - } - } - } - } - if (bVar7 == 0) { - return; - } - if (false) { - return; - } - bVar7 = pbVar8[0x11]; - pbVar8 = pbVar8 + 0x10; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09241c(void) - -{ - ushort uVar1; - undefined4 uVar4; - ulonglong uVar2; - ulonglong uVar3; - int iVar5; - - uVar4 = get_cur_playernum(); - uVar2 = FUN_7000c370((char)uVar4,0xffff); - uVar4 = get_cur_playernum(); - uVar3 = FUN_7000c410((char)uVar4,0xffff); - uVar1 = (ushort)(uVar2 & 0x30); - uVar3 &= ~(uVar2 & 0x30); - if ((uVar3 & 0xffff) != 0) { - iVar5 = locret_7F091774((uint)uVar3 & 0xffff); - if (iVar5 == 1) { - iVar5 = locret_7F091774((uint)(ushort)((ushort)uVar2 & ~uVar1)); - if (iVar5 == 1) { - *(ushort *)(_DAT_8007a120 + (uint)*(byte *)(_DAT_8007a120 + 0x12b4) * 2 + 0x128c) = - (ushort)uVar3 | uVar1; - *(undefined *)(_DAT_8007a120 + 0x12b4) = - (char)((int)((uint)*(byte *)(_DAT_8007a120 + 0x12b4) + 1) % 0x14); - if (*(byte *)(_DAT_8007a120 + 0x12b5) < 0x14) { - *(char *)(_DAT_8007a120 + 0x12b5) = *(byte *)(_DAT_8007a120 + 0x12b5) + 1; - } - goto LAB_7f092524; - } - } - *(undefined *)(_DAT_8007a120 + 0x12b5) = 0; - } -LAB_7f092524: - loc_7F091920(); - return; -} - - - -undefined8 locret_7F091A70(longlong param_1) - -{ - if (param_1 == 0x1c) { - return 1; - } - return 0; -} - - - -undefined8 FUN_7f092558(int param_1) - -{ - if ((*(uint *)(&DAT_8003f838 + param_1 * 0x10) & 4) == 4) { - return 1; - } - return 0; -} - - - -void loc_7F091B50(undefined8 param_1) - -{ - uint uVar1; - int iVar3; - ulonglong uVar2; - ulonglong uVar4; - - uVar1 = *(uint *)(&DAT_8003f838 + (int)param_1 * 0x10); - iVar3 = get_cur_playernum(); - uVar2 = get_num_players(); - if (uVar2 == 1) { - FUN_7f092644(param_1); - } - else { - if ((uVar1 & 4) != 0) { - if ((uVar1 & 0x20) == 0) { - uVar4 = 0; - if (0 < (longlong)uVar2) { - do { - FUN_7f09bcac((int)uVar4); - FUN_7f092644(param_1); - uVar4 = SEXT48((int)uVar4 + 1); - } while (uVar4 != uVar2); - } - FUN_7f09bcac(iVar3); - } - else { - FUN_7f092644(param_1); - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f092644(int iParm1) - -{ - uint uVar1; - bool bVar2; - uint uVar10; - ulonglong uVar3; - uint uVar11; - undefined8 uVar4; - undefined8 uVar5; - undefined8 uVar6; - undefined8 uVar7; - undefined8 uVar8; - char *pcVar12; - longlong lVar9; - int **ppiVar13; - int iVar14; - ulonglong uVar15; - longlong lVar16; - longlong lVar17; - float in_f0; - uint local_10; - - uVar1 = *(uint *)(&DAT_8003f838 + iParm1 * 0x10); - uVar10 = get_cur_playernum(); - uVar3 = get_num_players(); - uVar11 = (uint)uVar3; - if ((uVar1 & 0x10) == 0) { - if ((uVar1 & 0x20) == 0) { - (&DAT_80079ea0)[iParm1] = (&DAT_80079ea0)[iParm1] | (byte)(1 << (uVar10 & 0x1f)); - } - else { - (&DAT_80079ea0)[iParm1] = (char)(1 << (uVar11 & 0x1f)) + -1; - } - } - if (true) { - switch(iParm1) { - case 1: - uVar3 = FUN_7f0102c0(); - break; - case 2: - uVar3 = FUN_7f08a690(); - if (uVar3 == 0) { - pcVar12 = (char *)FUN_7f0c2a88(0xb00f); - FUN_7f08ac40(pcVar12); - uVar3 = FUN_7f08a680(1); - } - break; - case 3: - iVar14 = FUN_7f08cb3c(); - uVar3 = SEXT48(iVar14); - if (uVar3 == 0) { - pcVar12 = (char *)FUN_7f0c2a88(0xb010); - FUN_7f08ac40(pcVar12); - uVar3 = FUN_7f08cb2c(1); - } - break; - case 4: - pcVar12 = (char *)FUN_7f0c2a88(0xb011); - FUN_7f08ac40(pcVar12); - uVar3 = FUN_7f0698dc(); - break; - case 6: - bVar2 = false; - if (1 < (longlong)uVar3) { - local_10 = 0; - if (0 < (longlong)uVar3) { - do { - if (local_10 != uVar10) { - FUN_7f09bcac(local_10); - uVar3 = FUN_7f08a690(); - if (uVar3 != 0) { - bVar2 = true; - FUN_7f08a680(0); - } - } - uVar3 = FUN_7f09bcac(uVar10); - local_10 += 1; - } while (local_10 != uVar11); - } - if (bVar2) { - ppiVar13 = FUN_70008e18((longlong)_DAT_80063760,0x9f,NULL); - uVar3 = SEXT48((int)ppiVar13); - } - } - break; - case 7: - uVar3 = FUN_7f091ac8(1); - break; - case 8: - uVar3 = SEXT48(_DAT_8007a120); - if ((*(float *)(_DAT_8007a120 + 0x2a3c) == 1.00000000) || - (*(float *)(_DAT_8007a120 + 0xdc) < 1.00000000)) { - pcVar12 = (char *)FUN_7f0c2a88(0xb012); - pcVar12 = FUN_7f08ac40(pcVar12); - uVar3 = SEXT48((int)pcVar12); - *(undefined4 *)(_DAT_8007a120 + 0xdc) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x2a3c) = 0x40000000; - } - break; - case 9: - uVar3 = SEXT48(_DAT_8007a120); - if ((*(float *)(_DAT_8007a120 + 0x2a40) == 1.00000000) || - (*(float *)(_DAT_8007a120 + 0xe0) < 1.00000000)) { - pcVar12 = (char *)FUN_7f0c2a88(0xb013); - FUN_7f08ac40(pcVar12); - uVar3 = ZEXT48(&DAT_8007a120); - *(undefined4 *)(_DAT_8007a120 + 0xe0) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x2a40) = 0x40000000; - } - break; - case 10: - iVar14 = FUN_7f08a6ac(); - uVar3 = SEXT48(iVar14); - if (uVar3 != 0) { - pcVar12 = (char *)FUN_7f0c2a88(0xb014); - FUN_7f08ac40(pcVar12); - uVar3 = FUN_7f08a6a0(0); - } - break; - case 0xb: - pcVar12 = (char *)FUN_7f0c2a88(0xb016); - pcVar12 = FUN_7f08ac40(pcVar12); - uVar3 = SEXT48((int)pcVar12); - break; - case 0xc: - pcVar12 = (char *)FUN_7f0c2a88(0xb017); - FUN_7f08ac40(pcVar12); - uVar3 = FUN_7f093374(1); - break; - case 0xd: - if (uVar3 == 1) { - uVar4 = FUN_7f08cd68(0x12); - uVar5 = FUN_7f08cd68(0x16); - uVar6 = FUN_7f08cd68(0x13); - uVar7 = FUN_7f08cd68(0x14); - uVar8 = FUN_7f08cd68(0x15); - iVar14 = FUN_7f0698c0(0xc); - FUN_7f06971c(0xc,iVar14); - iVar14 = FUN_7f0698c0(0xd); - FUN_7f06971c(0xd,iVar14); - iVar14 = FUN_7f0698c0(1); - uVar3 = FUN_7f06971c(1,iVar14); - if (0 < (int)uVar4 + (int)uVar5 + (int)uVar6 + (int)uVar7 + (int)uVar8) { - pcVar12 = (char *)FUN_7f0c2a88(0xb018); - pcVar12 = FUN_7f08ac40(pcVar12); - uVar3 = SEXT48((int)pcVar12); - } - } - break; - case 0xe: - if ((uVar3 == 1) && (*(float *)(_DAT_8007a124 + 100) == 1.00000000)) { - pcVar12 = (char *)FUN_7f0c2a88(0xb019); - pcVar12 = FUN_7f08ac40(pcVar12); - uVar3 = SEXT48((int)pcVar12); - *(undefined4 *)(_DAT_8007a124 + 100) = 0x3f000000; - iVar14 = *(int *)(_DAT_8007a120 + 0xd4); - if (iVar14 != 0) { - uVar3 = set_obj_instance_controller_scale(iVar14,*(float *)(iVar14 + 0x14) * 0.50000000); - } - } - break; - case 0xf: - pcVar12 = (char *)FUN_7f0c2a88(0xb01a); - pcVar12 = FUN_7f08ac40(pcVar12); - uVar3 = SEXT48((int)pcVar12); - break; - case 0x10: - uVar3 = SEXT48(_DAT_8007a120); - if ((*(float *)(_DAT_8007a120 + 0x2a3c) == 1.00000000) || - (*(float *)(_DAT_8007a120 + 0xdc) < 1.00000000)) { - pcVar12 = (char *)FUN_7f0c2a88(0xb01b); - FUN_7f08ac40(pcVar12); - uVar3 = ZEXT48(&DAT_8007a120); - *(undefined4 *)(_DAT_8007a120 + 0xdc) = 0x3f800000; - *(undefined4 *)(_DAT_8007a120 + 0x2a3c) = 0x41200000; - } - break; - case 0x11: - if (uVar3 == 1) { - FUN_7f08cd68(0x12); - iVar14 = FUN_7f0698c0(0xc); - uVar3 = FUN_7f06971c(0xc,iVar14); - } - break; - case 0x12: - if (uVar3 == 1) { - uVar3 = FUN_7f08cd68(0x16); - } - break; - case 0x13: - if (uVar3 == 1) { - FUN_7f08cd68(0x13); - iVar14 = FUN_7f0698c0(0xd); - uVar3 = FUN_7f06971c(0xd,iVar14); - } - break; - case 0x14: - if (uVar3 == 1) { - FUN_7f08cd68(0x14); - iVar14 = FUN_7f0698c0(1); - uVar3 = FUN_7f06971c(1,iVar14); - } - break; - case 0x15: - if (uVar3 == 1) { - FUN_7f08cd68(0x15); - iVar14 = FUN_7f0698c0(1); - uVar3 = FUN_7f06971c(1,iVar14); - } - break; - case 0x16: - uVar3 = FUN_7f081020(0x43960000,DAT_80057408); - break; - case 0x18: - iVar14 = FUN_7f091af8(); - uVar3 = SEXT48(iVar14); - if (uVar3 == 0) { - pcVar12 = (char *)FUN_7f0c2a88(0xb01d); - FUN_7f08ac40(pcVar12); - uVar3 = FUN_7f091b04(1); - } - break; - case 0x19: - iVar14 = FUN_7f091a68(); - uVar3 = SEXT48(iVar14); - if (uVar3 == 0) { - uVar3 = FUN_7f091a74(1); - } - break; - case 0x1a: - iVar14 = FUN_7f020794(); - uVar3 = SEXT48(iVar14); - if (in_f0 < 4.00000000) { - pcVar12 = (char *)FUN_7f0c2a88(0xb034); - FUN_7f08ac40(pcVar12); - uVar3 = FUN_7f0206f0(0x40800000); - } - break; - case 0x1b: - iVar14 = FUN_7f020794(); - uVar3 = SEXT48(iVar14); - if (0.25000000 < in_f0) { - pcVar12 = (char *)FUN_7f0c2a88(0xb032); - FUN_7f08ac40(pcVar12); - uVar3 = FUN_7f0206f0(0x3e800000); - } - break; - case 0x1d: - if (uVar3 == 1) { - FUN_7f08cd68(0x19); - FUN_7f08ce04(0x19,0x19); - iVar14 = FUN_7f0698c0(6); - uVar3 = FUN_7f06971c(6,iVar14); - } - break; - case 0x1e: - if (uVar3 == 1) { - FUN_7f08cd68(0x18); - FUN_7f08ce04(0x18,0x18); - iVar14 = FUN_7f0698c0(0xb); - uVar3 = FUN_7f06971c(0xb,iVar14); - } - break; - case 0x1f: - if (uVar3 == 1) { - FUN_7f08cd68(0xe); - FUN_7f08ce04(0xe,0xe); - iVar14 = FUN_7f0698c0(1); - uVar3 = FUN_7f06971c(1,iVar14); - } - break; - case 0x20: - if (uVar3 == 1) { - FUN_7f08cd68(3); - FUN_7f08ce04(3,3); - iVar14 = FUN_7f0698c0(10); - uVar3 = FUN_7f06971c(10,iVar14); - } - break; - case 0x21: - if (uVar3 == 1) { - if (DAT_80048500 == 0) { - FUN_7f08cd68(2); - uVar3 = FUN_7f08ce04(2,2); - } - else { - FUN_7f08cd68(0x19); - FUN_7f08cd68(0x11); - FUN_7f08ce04(0x11,0x19); - iVar14 = FUN_7f0698c0(6); - FUN_7f06971c(6,iVar14); - iVar14 = FUN_7f0698c0(3); - uVar3 = FUN_7f06971c(3,iVar14); - } - } - break; - case 0x22: - if (uVar3 == 1) { - FUN_7f08cd68(0x16); - uVar3 = FUN_7f08ce04(0x16,0x16); - } - break; - case 0x23: - case 0x24: - case 0x25: - case 0x26: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x2f: - case 0x30: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - uVar15 = SEXT48(DAT_8002a928); - if ((-1 < (longlong)uVar15) && ((longlong)uVar15 < 4)) { - loc_7F01E868(uVar15,(longlong)(iParm1 + -0x23)); - ppiVar13 = FUN_70008e18((longlong)_DAT_80063760,0x9f,NULL); - uVar3 = SEXT48((int)ppiVar13); - } - break; - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x3c: - case 0x3d: - case 0x3e: - case 0x3f: - case 0x40: - case 0x41: - case 0x42: - case 0x43: - case 0x44: - case 0x45: - case 0x46: - case 0x47: - case 0x48: - case 0x49: - case 0x4a: - uVar3 = ZEXT48(&DAT_8002a928); - lVar17 = (longlong)(iParm1 + -0x37); - if ((-1 < DAT_8002a928) && (iVar14 = 0, DAT_8002a928 < 4)) { - lVar16 = 0; - if (0 < lVar17) { - do { - lVar9 = loc_7F01E4E0((longlong)DAT_8002a928,lVar16,0); - lVar17 = (longlong)(int)lVar17; - if (lVar9 == 3) { - iVar14 += 1; - } - lVar16 = (longlong)((int)lVar16 + 1); - } while (lVar16 != lVar17); - } - uVar3 = ZEXT48(&DAT_8002a928); - if (lVar17 == (longlong)(iVar14 + 1)) { - loc_7F01E740((longlong)DAT_8002a928,(longlong)((int)lVar17 + -1),0,99999999); - ppiVar13 = FUN_70008e18((longlong)_DAT_80063760,0x9f,NULL); - uVar3 = SEXT48((int)ppiVar13); - } - } - } - } - return uVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f092fb8(int param_1) - -{ - uint uVar1; - uint uVar3; - ulonglong uVar2; - char *pcVar4; - int iVar5; - - uVar1 = *(uint *)(&DAT_8003f838 + param_1 * 0x10); - uVar3 = get_cur_playernum(); - uVar2 = get_num_players(); - if ((uVar1 & 0x10) == 0) { - if ((uVar1 & 0x20) == 0) { - (&DAT_80079ea0)[param_1] = (&DAT_80079ea0)[param_1] & ~(byte)(1 << (uVar3 & 0x1f)); - } - else { - (&DAT_80079ea0)[param_1] = 0; - } - } - if (true) { - switch(param_1) { - case 2: - uVar2 = FUN_7f08a690(); - if (uVar2 != 0) { - pcVar4 = (char *)FUN_7f0c2a88(0xb01e); - FUN_7f08ac40(pcVar4); - uVar2 = FUN_7f08a680(0); - } - break; - case 3: - iVar5 = FUN_7f08cb3c(); - uVar2 = SEXT48(iVar5); - if (uVar2 != 0) { - pcVar4 = (char *)FUN_7f0c2a88(0xb01f); - FUN_7f08ac40(pcVar4); - uVar2 = FUN_7f08cb2c(0); - } - break; - case 7: - uVar2 = FUN_7f091ac8(0); - break; - case 10: - iVar5 = FUN_7f08a6ac(); - uVar2 = SEXT48(iVar5); - if (uVar2 == 0) { - pcVar4 = (char *)FUN_7f0c2a88(0xb020); - FUN_7f08ac40(pcVar4); - uVar2 = FUN_7f08a6a0(1); - } - break; - case 0xb: - pcVar4 = (char *)FUN_7f0c2a88(0xb022); - pcVar4 = FUN_7f08ac40(pcVar4); - uVar2 = SEXT48((int)pcVar4); - break; - case 0xc: - pcVar4 = (char *)FUN_7f0c2a88(0xb023); - FUN_7f08ac40(pcVar4); - uVar2 = FUN_7f093374(0); - break; - case 0xe: - if ((uVar2 == 1) && (*(float *)(_DAT_8007a124 + 100) != 1.00000000)) { - pcVar4 = (char *)FUN_7f0c2a88(0xb024); - pcVar4 = FUN_7f08ac40(pcVar4); - uVar2 = SEXT48((int)pcVar4); - *(undefined4 *)(_DAT_8007a124 + 100) = 0x3f800000; - iVar5 = *(int *)(_DAT_8007a120 + 0xd4); - if (iVar5 != 0) { - uVar2 = set_obj_instance_controller_scale - (iVar5,*(float *)(iVar5 + 0x14) + *(float *)(iVar5 + 0x14)); - } - } - break; - case 0xf: - pcVar4 = (char *)FUN_7f0c2a88(0xb025); - pcVar4 = FUN_7f08ac40(pcVar4); - uVar2 = SEXT48((int)pcVar4); - break; - case 0x16: - uVar2 = FUN_7f081020(0x43960000,0x3f800000); - break; - case 0x18: - iVar5 = FUN_7f091af8(); - uVar2 = SEXT48(iVar5); - if (uVar2 != 0) { - pcVar4 = (char *)FUN_7f0c2a88(0xb027); - FUN_7f08ac40(pcVar4); - uVar2 = FUN_7f091b04(0); - } - break; - case 0x19: - iVar5 = FUN_7f091a68(); - uVar2 = SEXT48(iVar5); - if (uVar2 != 0) { - uVar2 = FUN_7f091a74(0); - } - } - } - return uVar2; -} - - - -void FUN_7f093240(void) - -{ - ulonglong uVar1; - int iVar2; - uint uVar3; - int iVar4; - undefined1 *puVar5; - ulonglong uVar6; - - uVar1 = get_num_players(); - iVar2 = get_cur_playernum(); - uVar6 = 0; - if (0 < (longlong)uVar1) { - do { - FUN_7f09bcac((int)uVar6); - puVar5 = &DAT_8003f84c; - iVar4 = 1; - do { - if (((*(uint *)(puVar5 + -4) & 0x40) != 0) && (uVar3 = FUN_7f09333c(iVar4), uVar3 != 0)) { - FUN_7f092fb8(iVar4); - } - iVar4 += 1; - puVar5 = puVar5 + 0x10; - } while (iVar4 != 0x4b); - uVar6 = SEXT48((int)uVar6 + 1); - } while (uVar6 != uVar1); - } - FUN_7f09bcac(iVar2); - return; -} - - - -int FUN_7f0932f4(int param_1) - -{ - int iVar1; - - if (*(ushort *)(&DAT_8003f834 + param_1 * 0x10) == 0) { - iVar1 = FUN_7f0c2a88(0xb028); - } - else { - iVar1 = FUN_7f0c2a88((uint)*(ushort *)(&DAT_8003f834 + param_1 * 0x10)); - } - return iVar1; -} - - - -uint FUN_7f09333c(int param_1) - -{ - uint uVar1; - - uVar1 = get_cur_playernum(); - return (int)(uint)(byte)(&DAT_80079ea0)[param_1] >> (uVar1 & 0x1f) & 1; -} - - - -void FUN_7f093374(longlong param_1) - -{ - int iVar2; - longlong lVar1; - int iVar3; - int iVar4; - float fVar5; - - iVar3 = DAT_8002cca4; - iVar2 = FUN_7f01f6e0(); - fVar5 = DAT_80057534; - if (param_1 == 0) { - fVar5 = 1.25000000; - } - iVar4 = 0; - if (0 < iVar2) { - do { - if ((*(int *)(iVar3 + 0x1c) != 0) && - (lVar1 = FUN_7f0209ec((longlong)*(char *)(iVar3 + 0xf),(longlong)*(char *)(iVar3 + 6)), - lVar1 != 0)) { - set_obj_instance_controller_scale - (*(int *)(iVar3 + 0x1c),*(float *)(*(int *)(iVar3 + 0x1c) + 0x14) * fVar5); - } - iVar4 += 1; - iVar3 += 0x1dc; - } while (iVar4 != iVar2); - } - return; -} - - - -undefined8 -loc_7F092E2C(short *param_1,short *param_2,short *param_3,float *param_4,float *param_5, - float *param_6,float *param_7,float *param_8) - -{ - undefined8 uVar1; - double dVar2; - double dVar3; - double dVar4; - double dVar5; - double dVar6; - double dVar7; - double dVar8; - uint uVar9; - double dVar10; - double dVar11; - double dVar12; - double dVar13; - double dVar14; - double dVar15; - double dVar16; - double dVar17; - double dVar18; - double dVar19; - double dVar20; - double dVar21; - double dVar22; - double dVar23; - - dVar3 = (double)*param_7; - dVar6 = (double)param_7[1]; - dVar2 = (double)param_7[2]; - dVar10 = (double)((int)*param_2 - (int)*param_1); - dVar7 = (double)((int)param_2[1] - (int)param_1[1]); - dVar8 = (double)((int)param_2[2] - (int)param_1[2]); - dVar18 = dVar7 * (double)((int)param_3[2] - (int)param_2[2]); - dVar19 = dVar8 * (double)((int)param_3[1] - (int)param_2[1]); - dVar20 = dVar8 * (double)((int)*param_3 - (int)*param_2); - dVar21 = dVar10 * (double)((int)param_3[2] - (int)param_2[2]); - dVar14 = dVar18 - dVar19; - dVar22 = dVar10 * (double)((int)param_3[1] - (int)param_2[1]); - dVar23 = dVar7 * (double)((int)*param_3 - (int)*param_2); - dVar15 = dVar20 - dVar21; - dVar16 = dVar22 - dVar23; - if (dVar2 * dVar16 + dVar14 * dVar3 + dVar15 * dVar6 == - (double)((ulonglong)(dVar14 * dVar3) & 0xffffffff00000000)) { - uVar1 = 0; - } - else { - dVar23 = dVar23 - dVar22; - uVar1 = 0; - dVar17 = (double)((ulonglong)dVar16 & 0xffffffff00000000); - dVar22 = ((((((double)param_4[2] + (double)(int)param_1[2]) * dVar16 + - dVar14 * ((double)(int)*param_1 + (double)*param_4) + - dVar15 * ((double)(int)param_1[1] + (double)param_4[1])) - dVar14 * (double)*param_6 - ) - dVar15 * (double)param_6[1]) - (double)param_6[2] * dVar16) / - (dVar2 * dVar16 + dVar14 * dVar3 + dVar15 * dVar6); - dVar4 = dVar3 * dVar22 + (double)*param_6; - dVar11 = dVar6 * dVar22 + (double)param_6[1]; - dVar22 = dVar2 * dVar22 + (double)param_6[2]; - dVar12 = dVar4 - ((double)*param_4 + (double)(int)*param_1); - dVar13 = dVar11 - ((double)param_4[1] + (double)(int)param_1[1]); - dVar5 = dVar22 - ((double)param_4[2] + (double)(int)param_1[2]); - if (dVar23 == (double)((ulonglong)(double)(int)param_1[2] & 0xffffffff00000000)) { - dVar19 = dVar19 - dVar18; - if (dVar19 == (double)((ulonglong)dVar13 & 0xffffffff00000000)) { - dVar19 = (dVar5 * dVar10 - dVar8 * dVar12) / (dVar21 - dVar20); - } - else { - dVar19 = (dVar13 * dVar8 - dVar7 * dVar5) / dVar19; - } - } - else { - dVar19 = (dVar12 * dVar7 - dVar10 * dVar13) / dVar23; - } - if (dVar17 == dVar10) { - uVar9 = (uint)((ulonglong)(double)((int)param_3[1] - (int)param_1[1]) >> 0x20); - if (dVar17 == dVar7) { - uVar9 = (uint)((ulonglong)dVar5 >> 0x20); - dVar8 = (dVar5 - dVar19 * (double)((int)param_3[2] - (int)param_1[2])) / dVar8; - } - else { - dVar8 = (dVar13 - dVar19 * (double)((int)param_3[1] - (int)param_1[1])) / dVar7; - } - } - else { - uVar9 = (uint)((ulonglong)dVar12 >> 0x20); - dVar8 = (dVar12 - dVar19 * (double)((int)*param_3 - (int)*param_1)) / dVar10; - } - if (((dVar17 <= dVar8) && (dVar17 <= dVar19)) && - (dVar8 + dVar19 <= (double)((ulonglong)uVar9 << 0x20))) { - if (dVar17 <= (dVar22 - (double)param_5[2]) * dVar2 + - dVar3 * (dVar4 - (double)*param_5) + dVar6 * (dVar11 - (double)param_5[1])) { - uVar1 = 1; - *param_8 = (float)dVar4; - param_8[1] = (float)dVar11; - param_8[2] = (float)dVar22; - param_8[3] = (float)dVar14; - param_8[4] = (float)dVar15; - *(undefined2 *)((int)param_8 + 0x2a) = 0; - param_8[5] = (float)dVar16; - } - else { - uVar1 = 0; - } - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0939f0(void) - -{ - float fVar1; - ushort uVar2; - uint uVar3; - uint uVar4; - float fVar5; - - fVar5 = (float)DAT_800483a4; - _DAT_80079ef0 = _DAT_80079ef0 + fVar5 * 0.25000000; - if (256.00000000 <= _DAT_80079ef0) { - _DAT_80079ef0 = _DAT_80079ef0 - 256.00000000; - } - if (_DAT_80079ef0 < 0.00000000) { - _DAT_80079ef0 = _DAT_80079ef0 + 256.00000000; - } - _DAT_80079ef4 = _DAT_80079ef4 + fVar5 * DAT_80057540; - if (256.00000000 <= _DAT_80079ef4) { - _DAT_80079ef4 = _DAT_80079ef4 - 256.00000000; - } - if (_DAT_80079ef4 < 0.00000000) { - _DAT_80079ef4 = _DAT_80079ef4 + 256.00000000; - } - _DAT_80079ef8 = _DAT_80079ef8 + fVar5 * DAT_80057548; - if (DAT_80057544 <= _DAT_80079ef8) { - _DAT_80079ef8 = _DAT_80079ef8 - DAT_80057544; - } - if (_DAT_80079ef8 < 0.00000000) { - _DAT_80079ef8 = _DAT_80079ef8 + DAT_80057544; - } - if (false) { - fVar5 = ROUND(_DAT_80079ef0); - } - else { - fVar5 = FLOOR(_DAT_80079ef0); - } - uVar3 = (uint)fVar5; - if (false) { - if (false) { - fVar5 = ROUND(_DAT_80079ef0 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(_DAT_80079ef0 - 2147483648.00000000); - } - if (false) goto LAB_7f093ba0; - uVar3 = (int)fVar5 | 0x80000000; - } - else { - if ((int)uVar3 < 0) { -LAB_7f093ba0: - uVar3 = 0xffffffff; - } - } - if (false) { - fVar5 = ROUND(_DAT_80079ef4); - } - else { - fVar5 = FLOOR(_DAT_80079ef4); - } - DAT_8003fd00 = ((uVar3 ^ DAT_8003fd00 >> 0xc) << 0x14) >> 8 ^ DAT_8003fd00; - if (false) { - if (false) { - fVar5 = ROUND(_DAT_80079ef4 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(_DAT_80079ef4 - 2147483648.00000000); - } - if (false) goto LAB_7f093c38; - uVar2 = (ushort)(int)fVar5; - } - else { - uVar2 = (ushort)(int)fVar5; - if ((int)fVar5 < 0) { -LAB_7f093c38: - uVar2 = 0xffff; - } - } - DAT_8003fd00 = DAT_8003fd00 & 0xffff0000 | (uint)(uVar2 & 0xfff | DAT_8003fd00._2_2_ & 0xf000); - DAT_8003fd08 = (((int)_DAT_80079ef0 + 0x5aU & 0xff ^ DAT_8003fd08 >> 0xc) << 0x14) >> 8 ^ - DAT_8003fd08; - DAT_8003fd08 = DAT_8003fd08 & 0xffff0000 | - (uint)((short)(int)_DAT_80079ef4 + 0x96U & 0xff | DAT_8003fd08._2_2_ & 0xf000); - fVar5 = func_7F057FC4(_DAT_80079ef8); - fVar5 = fVar5 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar3 = (uint)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f093d5c; - uVar3 = (int)fVar5 | 0x80000000; - } - else { - if ((int)uVar3 < 0) { -LAB_7f093d5c: - uVar3 = 0xffffffff; - } - } - if (false) { - fVar5 = ROUND(_DAT_80079ef0); - } - else { - fVar5 = FLOOR(_DAT_80079ef0); - } - uVar4 = (uint)fVar5; - DAT_8003fd10 = uVar3 | DAT_8003fd10 & 0xffffff00; - if (false) { - if (false) { - fVar5 = ROUND(_DAT_80079ef0 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(_DAT_80079ef0 - 2147483648.00000000); - } - if (false) goto LAB_7f093df4; - uVar4 = (int)fVar5 | 0x80000000; - } - else { - if ((int)uVar4 < 0) { -LAB_7f093df4: - uVar4 = 0xffffffff; - } - } - if (false) { - fVar5 = ROUND(_DAT_80079ef4); - } - else { - fVar5 = FLOOR(_DAT_80079ef4); - } - DAT_8003fd68 = ((uVar4 ^ DAT_8003fd68 >> 0xc) << 0x14) >> 8 ^ DAT_8003fd68; - if (false) { - if (false) { - fVar5 = ROUND(_DAT_80079ef4 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(_DAT_80079ef4 - 2147483648.00000000); - } - if (false) goto LAB_7f093e8c; - uVar2 = (ushort)(int)fVar5; - } - else { - uVar2 = (ushort)(int)fVar5; - if ((int)fVar5 < 0) { -LAB_7f093e8c: - uVar2 = 0xffff; - } - } - DAT_8003fd68 = DAT_8003fd68 & 0xffff0000 | (uint)(uVar2 & 0xfff | DAT_8003fd68._2_2_ & 0xf000); - DAT_8003fd70 = (((int)_DAT_80079ef0 + 0x5aU & 0xff ^ DAT_8003fd70 >> 0xc) << 0x14) >> 8 ^ - DAT_8003fd70; - DAT_8003fd70 = DAT_8003fd70 & 0xffff0000 | - (uint)((short)(int)_DAT_80079ef4 + 0x96U & 0xff | DAT_8003fd70._2_2_ & 0xf000); - fVar5 = func_7F057FC4(_DAT_80079ef8); - fVar5 = fVar5 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar3 = (uint)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar5 | 0x80000000; - goto LAB_7f093fb8; - } - } - else { - if (-1 < (int)uVar3) goto LAB_7f093fb8; - } - uVar3 = 0xffffffff; -LAB_7f093fb8: - DAT_8003fd78 = uVar3 | DAT_8003fd10 & 0xffffff00; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f093fdc(undefined4 *param_1,longlong param_2) - -{ - float fVar1; - float fVar2; - uint uVar3; - - if (param_2 != 0) { - *param_1 = 0x6000000; - param_1[1] = 0x8003fcf0; - return param_1 + 2; - } - param_1[1] = 82000; - *param_1 = 0xf5100800; - param_1[3] = 0x1014050; - param_1[2] = 0xf5100800; - param_1[4] = 0xf2000000; - param_1[5] = 0; - param_1[7] = 0x1000000; - param_1[6] = 0xf205a096; - fVar2 = func_7F057FC4(_DAT_80079ef8); - fVar2 = fVar2 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - uVar3 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar3) goto LAB_7f094148; - } - else { - if (false) { - fVar2 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar2 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar2 | 0x80000000; - goto LAB_7f094148; - } - } - uVar3 = 0xffffffff; -LAB_7f094148: - param_1[8] = uVar3 & 0xff | 0xfa000000; - param_1[9] = 0xffffffff; - param_1[0xb] = 0; - param_1[10] = 0xba001102; - param_1[0xd] = 0x2000; - param_1[0xc] = 0xba000c02; - param_1[0xf] = 0x1f1093ff; - param_1[0xe] = 0xfc272c04; - param_1[0x11] = 0xc192078; - param_1[0x10] = 0xb900031d; - param_1[0x12] = 0xba001001; - param_1[0x13] = 0; - param_1[0x15] = 0x100000; - param_1[0x14] = 0xba001402; - param_1[0x16] = 0xb7000000; - param_1[0x17] = 0x2000; - return param_1 + 0x18; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0941fc(undefined4 *param_1,longlong param_2) - -{ - float fVar1; - float fVar2; - uint uVar3; - - if (param_2 != 0) { - *param_1 = 0x6000000; - param_1[1] = 0x8003fd58; - return param_1 + 2; - } - param_1[1] = 82000; - *param_1 = 0xf5480400; - param_1[3] = 0x1014050; - param_1[2] = 0xf5480400; - param_1[4] = 0xf2000000; - param_1[5] = 0; - param_1[7] = 0x1000000; - param_1[6] = 0xf205a096; - fVar2 = func_7F057FC4(_DAT_80079ef8); - fVar2 = fVar2 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - uVar3 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar3) goto LAB_7f094368; - } - else { - if (false) { - fVar2 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar2 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar2 | 0x80000000; - goto LAB_7f094368; - } - } - uVar3 = 0xffffffff; -LAB_7f094368: - param_1[8] = uVar3 & 0xff | 0xfa000000; - param_1[9] = 0xffffffff; - param_1[0xb] = 0; - param_1[10] = 0xba001102; - param_1[0xd] = 0x2000; - param_1[0xc] = 0xba000c02; - param_1[0xf] = 0x1f1093ff; - param_1[0xe] = 0xfc272c04; - param_1[0x11] = 0xc192078; - param_1[0x10] = 0xb900031d; - param_1[0x12] = 0xba001001; - param_1[0x13] = 0; - param_1[0x15] = 0x100000; - param_1[0x14] = 0xba001402; - param_1[0x16] = 0xb7000000; - param_1[0x17] = 0x2000; - return param_1 + 0x18; -} - - - -void FUN_7f094420(float fParm1,float fParm2,undefined8 uParm3,undefined8 uParm4,float *pfParm5) - -{ - undefined4 *puVar1; - float in_f0; - float fStack12; - float fStack8; - float *pfStack4; - - pfStack4 = (float *)FUN_7f078a34(); - FUN_7f078ab4(); - fStack12 = in_f0 + fParm1; - FUN_7f078ac4(); - puVar1 = FUN_7f0bb2dc(); - fStack8 = (float)puVar1[0xe] + fParm2 + in_f0; - FUN_7f0784dc(&fStack12,pfParm5,100.00000000); - FUN_7f0588f8(pfStack4,pfParm5); - return; -} - - - -undefined8 FUN_7f09449c(float *param_1,float *param_2,float *param_3) - -{ - float *pfVar2; - undefined8 uVar1; - undefined4 *puVar3; - float fVar4; - float fVar5; - float fVar6; - - pfVar2 = (float *)FUN_7f08a70c(); - fVar4 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1 + DAT_80057550); - fVar6 = 1.00000000; - uVar1 = 0; - fVar4 = (param_1[1] + param_1[1]) / fVar4; - if (fVar4 <= 1.00000000) { - fVar6 = fVar4; - } - *param_3 = 1.00000000 - fVar6; - fVar6 = DAT_80057554; - if (param_1[1] != 0.00000000) { - fVar6 = param_1[1]; - } - if (0.00000000 < fVar6) { - puVar3 = FUN_7f0bb2dc(); - fVar5 = ((float)puVar3[3] - pfVar2[1]) / fVar6; - fVar4 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1); - if (DAT_80057558 < fVar4 * fVar5) { - fVar5 = fVar5 * (DAT_80057558 / (fVar4 * fVar5)); - fVar4 = *param_1; - } - else { - fVar4 = *param_1; - } - uVar1 = 1; - *param_2 = fVar4 * fVar5 + *pfVar2; - param_2[1] = pfVar2[1] + fVar5 * fVar6; - param_2[2] = param_1[2] * fVar5 + pfVar2[2]; - } - return uVar1; -} - - - -undefined8 FUN_7f094618(float *param_1,float *param_2,float *param_3) - -{ - float *pfVar2; - undefined8 uVar1; - undefined4 *puVar3; - float fVar4; - float fVar5; - float fVar6; - - pfVar2 = (float *)FUN_7f08a70c(); - fVar4 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1 + DAT_8005755c); - fVar6 = 1.00000000; - uVar1 = 0; - fVar4 = (param_1[1] * -2.00000000) / fVar4; - if (fVar4 <= 1.00000000) { - fVar6 = fVar4; - } - *param_3 = 1.00000000 - fVar6; - fVar6 = DAT_80057560; - if (param_1[1] != 0.00000000) { - fVar6 = param_1[1]; - } - if (fVar6 < 0.00000000) { - puVar3 = FUN_7f0bb2dc(); - fVar5 = ((float)puVar3[9] - pfVar2[1]) / fVar6; - fVar4 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1); - if (DAT_80057564 < fVar4 * fVar5) { - fVar5 = fVar5 * (DAT_80057564 / (fVar4 * fVar5)); - fVar4 = *param_1; - } - else { - fVar4 = *param_1; - } - uVar1 = 1; - *param_2 = fVar4 * fVar5 + *pfVar2; - param_2[1] = pfVar2[1] + fVar5 * fVar6; - param_2[2] = param_1[2] * fVar5 + pfVar2[2]; - } - return uVar1; -} - - - -void sub_7F093BFC(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar1 = param_1[1]; - fVar2 = param_2[1]; - fVar4 = *param_1; - fVar3 = *param_2; - param_3[1] = 0.00000000; - fVar1 = fVar1 / (fVar1 - fVar2); - *param_3 = (fVar3 - fVar4) * fVar1 + fVar4; - param_3[2] = (param_2[2] - param_1[2]) * fVar1 + param_1[2]; - return; -} - - - -float locret_7F093C80(float param_1,float param_2,undefined8 param_3,undefined8 param_4, - float param_5) - -{ - if (param_1 < param_2) { - return param_2; - } - if (param_1 <= param_5) { - return param_1; - } - return param_5; -} - - - -float sub_7F093C88(float param_1) - -{ - return (float)(int)(param_1 + 0.50000000); -} - - - -void FUN_7f094850(int param_1,float param_2) - -{ - float fVar1; - undefined4 *puVar2; - undefined uVar3; - float fVar4; - float fVar5; - float fVar6; - - puVar2 = FUN_7f0bb2dc(); - fVar4 = (float)(uint)*(byte *)(puVar2 + 2); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - puVar2 = FUN_7f0bb2dc(); - fVar6 = (float)(uint)*(byte *)((int)puVar2 + 9); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - puVar2 = FUN_7f0bb2dc(); - fVar5 = (float)(uint)*(byte *)((int)puVar2 + 10); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - puVar2 = FUN_7f0bb2dc(); - param_2 = 1.00000000 - param_2; - fVar4 = (float)puVar2[5] * (1.00000000 - fVar4 / 255.00000000) * param_2 + fVar4; - if (false) { - fVar1 = ROUND(fVar4); - } - else { - fVar1 = FLOOR(fVar4); - } - uVar3 = (undefined)(int)fVar1; - if (true) { - if ((int)fVar1 < 0) goto LAB_7f094980; - } - else { - if (false) { - fVar4 = ROUND(fVar4 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar4 - 2147483648.00000000); - } - if (false) { -LAB_7f094980: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar4; - } - } - *(undefined *)(param_1 + 0x14) = uVar3; - puVar2 = FUN_7f0bb2dc(); - fVar6 = (float)puVar2[6] * (1.00000000 - fVar6 / 255.00000000) * param_2 + fVar6; - if (false) { - fVar4 = ROUND(fVar6); - } - else { - fVar4 = FLOOR(fVar6); - } - uVar3 = (undefined)(int)fVar4; - if (true) { - if ((int)fVar4 < 0) goto LAB_7f094a48; - } - else { - if (false) { - fVar4 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) { -LAB_7f094a48: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar4; - } - } - *(undefined *)(param_1 + 0x15) = uVar3; - puVar2 = FUN_7f0bb2dc(); - fVar5 = (float)puVar2[7] * (1.00000000 - fVar5 / 255.00000000) * param_2 + fVar5; - if (false) { - fVar4 = ROUND(fVar5); - } - else { - fVar4 = FLOOR(fVar5); - } - if (true) { - uVar3 = (undefined)(int)fVar4; - if (-1 < (int)fVar4) goto LAB_7f094b28; - } - else { - if (false) { - fVar4 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar5 - 2147483648.00000000); - } - if (true) { - uVar3 = (undefined)(int)fVar4; - goto LAB_7f094b28; - } - } - uVar3 = 0xff; -LAB_7f094b28: - *(undefined *)(param_1 + 0x16) = uVar3; - *(undefined *)(param_1 + 0x17) = 0xff; - return; -} - - - -void FUN_7f094b44(int param_1,float param_2) - -{ - float fVar1; - undefined4 *puVar2; - undefined uVar3; - float fVar4; - float fVar5; - float fVar6; - - puVar2 = FUN_7f0bb2dc(); - fVar4 = (float)(uint)*(byte *)(puVar2 + 2); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - puVar2 = FUN_7f0bb2dc(); - fVar6 = (float)(uint)*(byte *)((int)puVar2 + 9); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - puVar2 = FUN_7f0bb2dc(); - fVar5 = (float)(uint)*(byte *)((int)puVar2 + 10); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - puVar2 = FUN_7f0bb2dc(); - param_2 = 1.00000000 - param_2; - fVar4 = (float)puVar2[0xb] * (1.00000000 - fVar4 / 255.00000000) * param_2 + fVar4; - if (false) { - fVar1 = ROUND(fVar4); - } - else { - fVar1 = FLOOR(fVar4); - } - uVar3 = (undefined)(int)fVar1; - if (true) { - if ((int)fVar1 < 0) goto LAB_7f094c74; - } - else { - if (false) { - fVar4 = ROUND(fVar4 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar4 - 2147483648.00000000); - } - if (false) { -LAB_7f094c74: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar4; - } - } - *(undefined *)(param_1 + 0x14) = uVar3; - puVar2 = FUN_7f0bb2dc(); - fVar6 = (float)puVar2[0xc] * (1.00000000 - fVar6 / 255.00000000) * param_2 + fVar6; - if (false) { - fVar4 = ROUND(fVar6); - } - else { - fVar4 = FLOOR(fVar6); - } - uVar3 = (undefined)(int)fVar4; - if (true) { - if ((int)fVar4 < 0) goto LAB_7f094d3c; - } - else { - if (false) { - fVar4 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) { -LAB_7f094d3c: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar4; - } - } - *(undefined *)(param_1 + 0x15) = uVar3; - puVar2 = FUN_7f0bb2dc(); - fVar5 = (float)puVar2[0xd] * (1.00000000 - fVar5 / 255.00000000) * param_2 + fVar5; - if (false) { - fVar4 = ROUND(fVar5); - } - else { - fVar4 = FLOOR(fVar5); - } - if (true) { - uVar3 = (undefined)(int)fVar4; - if (-1 < (int)fVar4) goto LAB_7f094e1c; - } - else { - if (false) { - fVar4 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar4 = FLOOR(fVar5 - 2147483648.00000000); - } - if (true) { - uVar3 = (undefined)(int)fVar4; - goto LAB_7f094e1c; - } - } - uVar3 = 0xff; -LAB_7f094e1c: - *(undefined *)(param_1 + 0x16) = uVar3; - *(undefined *)(param_1 + 0x17) = 0xff; - return; -} - - - -uint FUN_7f094e38(float param_1) - -{ - float fVar1; - float fVar2; - - fVar1 = DAT_80057568; - if (param_1 <= DAT_80057568) { - fVar1 = param_1; - } - fVar2 = DAT_8005756c; - if (DAT_8005756c <= fVar1) { - fVar2 = fVar1; - } - if (fVar2 < 0.00000000) { - fVar2 = fVar2 * -65536.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - if (false) { - if (false) { - fVar1 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar1 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - return -((int)fVar1 | 0x80000000U); - } - } - else { - if (-1 < (int)fVar1) { - return (uint)-(int)fVar1; - } - } - return 1; - } - fVar2 = fVar2 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - if (false) { - if (false) { - fVar1 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar1 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - return (int)fVar1 | 0x80000000; - } - } - else { - if (-1 < (int)fVar1) { - return (int)fVar1; - } - } - return 0xffffffff; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f094fcc(undefined4 param_1) - -{ - _DAT_80079f00 = param_1; - return; -} - - - -void FUN_7f094fd8(void) - -{ - DAT_8003fdc4 = DAT_8003fdc4 + (float)DAT_800483a4; - if (4096.00000000 < DAT_8003fdc4) { - DAT_8003fdc4 = DAT_8003fdc4 - 4096.00000000; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f09659c) overlaps instruction at (ram,0x7f096598) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F097360(undefined4 *puParm1) - -{ - uint3 uVar1; - undefined8 uVar2; - longlong lVar3; - uint uVar4; - uint uVar5; - undefined4 *puVar6; - undefined4 *puVar7; - ushort uVar8; - ushort uVar9; - ushort uVar10; - ushort uVar11; - uint *puVar12; - undefined2 uVar13; - undefined2 extraout_var; - undefined uVar14; - undefined extraout_var_00; - undefined uVar15; - undefined4 *puVar16; - int iVar17; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - int iVar18; - float *pfVar19; - ulonglong uVar20; - longlong lVar21; - uint uVar22; - float in_f0; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - float fVar28; - float fVar29; - float fVar30; - float fVar31; - undefined4 *puStackX0; - float *pfStack1624; - uint uStack1576; - float afStack1572 [10]; - float fStack1532; - float fStack1528; - undefined auStack1516 [40]; - float fStack1476; - float fStack1472; - undefined auStack1460 [40]; - float fStack1420; - float fStack1416; - undefined auStack1404 [40]; - float fStack1364; - float fStack1360; - undefined auStack1348 [56]; - float afStack1292 [16]; - float afStack1228 [17]; - undefined4 *puStack1160; - uint uStack1088; - float afStack1084 [10]; - float fStack1044; - float fStack1040; - undefined auStack1028 [44]; - float fStack984; - undefined auStack972 [44]; - float fStack928; - undefined auStack916 [44]; - float fStack872; - undefined auStack860 [56]; - float afStack804 [16]; - float afStack740 [25]; - int iStack640; - float fStack628; - float fStack624; - float fStack620; - float fStack616; - float fStack612; - float fStack604; - float fStack600; - float fStack596; - float fStack592; - float fStack588; - float fStack580; - float fStack576; - float fStack572; - float fStack568; - float fStack564; - float fStack556; - float fStack552; - float fStack548; - float fStack544; - float fStack540; - float fStack532; - float fStack528; - float fStack524; - float fStack520; - float fStack516; - float fStack508; - float fStack504; - float fStack500; - float fStack496; - float fStack492; - float fStack484; - float fStack480; - float fStack476; - float fStack472; - float fStack468; - float fStack460; - float fStack456; - float fStack452; - float fStack448; - float fStack444; - float fStack436; - float fStack432; - float fStack428; - float fStack424; - float fStack420; - float fStack412; - float fStack408; - float fStack404; - float fStack400; - float fStack396; - uint uStack388; - uint uStack384; - uint uStack380; - uint uStack376; - float fStack360; - float fStack356; - float fStack352; - float fStack348; - float fStack344; - float fStack340; - float fStack336; - float fStack332; - float fStack328; - float fStack324; - float fStack320; - float fStack316; - float fStack312; - float fStack308; - float fStack304; - float fStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack264; - float fStack260; - float fStack256; - float fStack252; - float fStack248; - float fStack244; - float fStack240; - float fStack236; - float fStack232; - float fStack228; - float fStack224; - float fStack220; - float fStack216; - float fStack212; - float fStack208; - float fStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float afStack96 [3]; - float afStack84 [3]; - float afStack72 [3]; - float afStack60 [3]; - float fStack48; - float fStack44; - float fStack36; - float fStack32; - float fStack24; - float fStack20; - float fStack12; - float fStack8; - - puStackX0 = puParm1; - FUN_7f0b53ec(); - iStack640 = 0; - in_f0 = in_f0 / 30.00000000; - puVar16 = FUN_7f0bb2dc(); - uVar22 = (uint)puVar16 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)puVar16 >> 8) << 8; - puVar16 = FUN_7f0bb2dc(); - if (*(char *)(((uint)puVar16 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)puVar16 >> 8) << 8) - + 0xb) == '\0') { - uVar20 = get_num_players(); - if (uVar20 == 1) { - puVar16 = puStackX0 + 2; - puStackX0[1] = 0x300000; - *puStackX0 = 0xba001402; - puStackX0 = puVar16; - puVar16 = FUN_700046d0(puVar16,(uint)*(byte *)(uVar22 + 8),(uint)*(byte *)(uVar22 + 9), - (uint)*(byte *)(uVar22 + 10)); - uVar1 = (uint3)((ulonglong)(longlong)(int)puVar16 >> 8); - puStackX0 = (undefined4 *)(((uint)puVar16 & 0xff | (uint)uVar1 << 8) + 8); - puVar12 = (uint *)((uint)puVar16 & 0xff | (uint)uVar1 << 8); - uVar8 = FUN_7000449c(); - uVar9 = FUN_70004514(); - uVar10 = get_video2_settings_uly(); - uVar11 = get_video2_settings_height(); - *puVar12 = (((uint)(ushort)(uVar11 & 0xff | - (ushort)(byte)((ulonglong)(longlong)(short)uVar11 >> 8) << 8) + - (int)(short)(uVar10 & 0xff | - (ushort)(byte)((ulonglong)(longlong)(short)uVar10 >> 8) << 8)) - 1 & - 0x3ff) << 2 | 0xf6000000 | - (((int)(short)(uVar9 & 0xff | - (ushort)(byte)((ulonglong)(longlong)(short)uVar9 >> 8) << 8) + - (int)(short)(uVar8 & 0xff | - (ushort)(byte)((ulonglong)(longlong)(short)uVar8 >> 8) << 8)) - 1U & - 0x3ff) << 0xe; - uVar8 = FUN_70004514(); - uVar9 = get_video2_settings_uly(); - puVar12[1] = ((uint)(ushort)(uVar9 & 0xff | - (ushort)(byte)((ulonglong)(longlong)(short)uVar9 >> 8) << 8) & - 0x3ff) << 2 | - ((int)(short)(uVar8 & 0xff | - (ushort)(byte)((ulonglong)(longlong)(short)uVar8 >> 8) << 8) & - 0x3ffU) << 0xe; - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - return; - } - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0[3] = 0x300000; - puStackX0[2] = 0xba001402; - puStackX0[5] = 0; - puStackX0[4] = 0xb900031d; - uVar1 = (uint3)((ulonglong)(longlong)(int)_DAT_8007a120 >> 8); - puStackX0[6] = (((int)*(short *)((_DAT_8007a120 & 0xff | (uint)uVar1 << 8) + 0x7f4) + - (int)*(short *)((_DAT_8007a120 & 0xff | (uint)uVar1 << 8) + 0x7f0)) - 1U & 0x3ff - ) << 0xe | 0xf6000000 | - (((int)*(short *)((_DAT_8007a120 & 0xff | (uint)uVar1 << 8) + 0x7f6) + - (int)*(short *)((_DAT_8007a120 & 0xff | (uint)uVar1 << 8) + 0x7f2)) - 1U & 0x3ff - ) << 2; - uVar1 = (uint3)((ulonglong)(longlong)(int)_DAT_8007a120 >> 8); - puStackX0[7] = ((int)*(short *)((_DAT_8007a120 & 0xff | (uint)uVar1 << 8) + 0x7f4) & 0x3ffU) << - 0xe | ((int)*(short *)((_DAT_8007a120 & 0xff | (uint)uVar1 << 8) + 0x7f6) & - 0x3ffU) << 2; - puStackX0[9] = 0; - puStackX0[8] = 0xe7000000; - return; - } - puVar16 = FUN_700046d0(puStackX0,(uint)*(byte *)(uVar22 + 8),(uint)*(byte *)(uVar22 + 9), - (uint)*(byte *)(uVar22 + 10)); - puStackX0 = (undefined4 *) - ((uint)puVar16 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)puVar16 >> 8) << 8); - fVar23 = (float)FUN_7f094420(0,0); - FUN_7f078a94(); - fVar26 = DAT_80057570; - fVar23 = (float)FUN_7f094420(fVar23 - DAT_80057570,0); - FUN_7f078aa4(); - fVar29 = (float)FUN_7f094420(0,fVar23 - fVar26); - FUN_7f078a94(); - fVar23 = fVar29; - FUN_7f078aa4(); - fVar23 = (float)FUN_7f094420(fVar29 - fVar26,fVar23 - fVar26); - uVar2 = FUN_7f09449c(&fStack12,&fStack108,&fStack292); - uStack376 = (uint)uVar2; - uVar2 = FUN_7f09449c(&fStack24,&fStack120,&fStack296); - uStack380 = (uint)uVar2; - uVar2 = FUN_7f09449c(&fStack36,&fStack132,&fStack300); - uStack384 = (uint)uVar2; - uVar2 = FUN_7f09449c(&fStack48,&fStack144,&fStack304); - uStack388 = (uint)uVar2; - FUN_7f094618(&fStack12,&fStack204,&fStack324); - FUN_7f094618(&fStack24,&fStack216,&fStack328); - FUN_7f094618(&fStack36,&fStack228,&fStack332); - FUN_7f094618(&fStack48,&fStack240,&fStack336); - if (uStack376 == uStack384) { - fStack356 = 0.00000000; - } - else { - FUN_7f078ac4(); - fVar29 = fVar23; - FUN_7f078aa4(); - fStack356 = (fStack8 / (fStack8 - fStack32)) * fVar29 + fVar23; - FUN_7f094420(0); - fVar23 = (float)sub_7F093BFC(&fStack12,&fStack36,afStack84); - FUN_7f09449c(afStack84,&fStack180,&fStack316); - FUN_7f094618(afStack84,&fStack276,&fStack348); - } - if (uStack380 == uStack388) { - fStack360 = 0.00000000; - } - else { - FUN_7f078ac4(); - fVar29 = fVar23; - FUN_7f078aa4(); - fStack360 = (fStack20 / (fStack20 - fStack44)) * fVar29 + fVar23; - FUN_7f078a94(); - FUN_7f094420(fVar29 - fVar26,fStack360); - fVar23 = (float)sub_7F093BFC(&fStack24,&fStack48,afStack96); - FUN_7f09449c(afStack96,&fStack192,&fStack320); - FUN_7f094618(afStack96,&fStack288,&fStack352); - } - if (uStack376 != uStack380) { - FUN_7f078ab4(); - fVar29 = fVar23; - FUN_7f078a94(); - FUN_7f094420((fStack8 / (fStack8 - fStack20)) * fVar29 + fVar23,0); - fVar23 = (float)sub_7F093BFC(&fStack12,&fStack24,afStack60); - FUN_7f09449c(afStack60,&fStack156,&fStack308); - FUN_7f094618(afStack60,&fStack252,&fStack340); - } - if (uStack384 != uStack388) { - FUN_7f078ab4(); - fVar29 = fVar23; - FUN_7f078a94(); - fVar28 = (fStack32 / (fStack32 - fStack44)) * fVar29; - FUN_7f078aa4(); - FUN_7f094420(fVar28 + fVar23,fVar29 - fVar26); - sub_7F093BFC(&fStack36,&fStack48,afStack72); - FUN_7f09449c(afStack72,&fStack168,&fStack312); - FUN_7f094618(afStack72,&fStack264,&fStack344); - } - uVar22 = uStack376 << 3 | uStack380 << 2 | uStack384 << 1 | uStack388; - if (false) { - return; - } - switch(uVar22) { - case 0: - fStack628 = fStack204 * in_f0; - fStack624 = fStack200 * in_f0; - fStack620 = fStack196 * in_f0; - fStack604 = fStack216 * in_f0; - fStack600 = fStack212 * in_f0; - fStack596 = fStack208 * in_f0; - fStack580 = fStack228 * in_f0; - fStack576 = fStack224 * in_f0; - fStack572 = fStack220 * in_f0; - fStack556 = fStack240 * in_f0; - uVar20 = 4; - fStack552 = fStack236 * in_f0; - fStack588 = fStack208 + DAT_8003fdc4; - fStack548 = fStack232 * in_f0; - fStack612 = fStack196 + DAT_8003fdc4; - fStack564 = fStack220 + DAT_8003fdc4; - fStack540 = fStack232 + DAT_8003fdc4; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack228; - fStack544 = fStack240; - FUN_7f094b44((int)&fStack628,fStack324); - FUN_7f094b44((int)&fStack604,fStack328); - FUN_7f094b44((int)&fStack580,fStack332); - FUN_7f094b44((int)&fStack556,fStack336); - break; - case 1: - fStack628 = fStack228 * in_f0; - fStack624 = fStack224 * in_f0; - fStack620 = fStack220 * in_f0; - fStack604 = fStack204 * in_f0; - fStack600 = fStack200 * in_f0; - fStack596 = fStack196 * in_f0; - fStack580 = fStack216 * in_f0; - fStack576 = fStack212 * in_f0; - fStack572 = fStack208 * in_f0; - fStack556 = fStack288 * in_f0; - uVar20 = 5; - fStack552 = fStack284 * in_f0; - fStack548 = fStack280 * in_f0; - fStack532 = fStack264 * in_f0; - fStack528 = fStack260 * in_f0; - fStack612 = fStack220 + DAT_8003fdc4; - fStack616 = fStack228; - fStack524 = fStack256 * in_f0; - fStack564 = fStack208 + DAT_8003fdc4; - fStack588 = fStack196 + DAT_8003fdc4; - fStack540 = fStack280 + DAT_8003fdc4; - fStack592 = fStack204; - fStack516 = fStack256 + DAT_8003fdc4; - fStack568 = fStack216; - fStack544 = fStack288; - fStack520 = fStack264; - FUN_7f094b44((int)&fStack628,fStack332); - FUN_7f094b44((int)&fStack604,fStack324); - FUN_7f094b44((int)&fStack580,fStack328); - FUN_7f094b44((int)&fStack556,fStack352); - FUN_7f094b44((int)&fStack532,fStack344); - break; - case 2: - fStack628 = fStack204 * in_f0; - fStack620 = fStack196 * in_f0; - fStack604 = fStack216 * in_f0; - fStack624 = fStack200 * in_f0; - fStack600 = fStack212 * in_f0; - fStack596 = fStack208 * in_f0; - fStack576 = fStack236 * in_f0; - fStack556 = fStack264 * in_f0; - uVar20 = 5; - fStack580 = fStack240 * in_f0; - fStack548 = fStack256 * in_f0; - fStack528 = fStack272 * in_f0; - fStack564 = fStack232 + DAT_8003fdc4; - fStack572 = fStack232 * in_f0; - fStack516 = fStack268 + DAT_8003fdc4; - fStack552 = fStack260 * in_f0; - fStack588 = fStack208 + DAT_8003fdc4; - fStack524 = fStack268 * in_f0; - fStack532 = fStack276 * in_f0; - fStack612 = fStack196 + DAT_8003fdc4; - fStack540 = fStack256 + DAT_8003fdc4; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack240; - fStack544 = fStack264; - fStack520 = fStack276; - FUN_7f094b44((int)&fStack628,fStack324); - FUN_7f094b44((int)&fStack604,fStack328); - FUN_7f094b44((int)&fStack580,fStack336); - FUN_7f094b44((int)&fStack556,fStack344); - FUN_7f094b44((int)&fStack532,fStack348); - break; - case 3: - fStack628 = fStack204 * in_f0; - fStack624 = fStack200 * in_f0; - fStack620 = fStack196 * in_f0; - fStack604 = fStack216 * in_f0; - fStack600 = fStack212 * in_f0; - fStack596 = fStack208 * in_f0; - fStack580 = fStack276 * in_f0; - fStack576 = fStack272 * in_f0; - fStack572 = fStack268 * in_f0; - fStack556 = fStack288 * in_f0; - uVar20 = 4; - fStack552 = fStack284 * in_f0; - fStack588 = fStack208 + DAT_8003fdc4; - fStack548 = fStack280 * in_f0; - fStack612 = fStack196 + DAT_8003fdc4; - fStack564 = fStack268 + DAT_8003fdc4; - fStack540 = fStack280 + DAT_8003fdc4; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack276; - fStack544 = fStack288; - FUN_7f094b44((int)&fStack628,fStack324); - FUN_7f094b44((int)&fStack604,fStack328); - FUN_7f094b44((int)&fStack580,fStack348); - FUN_7f094b44((int)&fStack556,fStack352); - break; - case 4: - fStack628 = fStack240 * in_f0; - fStack624 = fStack236 * in_f0; - fStack620 = fStack232 * in_f0; - fStack604 = fStack228 * in_f0; - fStack600 = fStack224 * in_f0; - fStack596 = fStack220 * in_f0; - fStack580 = fStack204 * in_f0; - fStack576 = fStack200 * in_f0; - fStack572 = fStack196 * in_f0; - fStack556 = fStack252 * in_f0; - uVar20 = 5; - fStack552 = fStack248 * in_f0; - fStack548 = fStack244 * in_f0; - fStack532 = fStack288 * in_f0; - fStack528 = fStack284 * in_f0; - fStack612 = fStack232 + DAT_8003fdc4; - fStack616 = fStack240; - fStack524 = fStack280 * in_f0; - fStack564 = fStack196 + DAT_8003fdc4; - fStack588 = fStack220 + DAT_8003fdc4; - fStack540 = fStack244 + DAT_8003fdc4; - fStack592 = fStack228; - fStack516 = fStack280 + DAT_8003fdc4; - fStack568 = fStack204; - fStack544 = fStack252; - fStack520 = fStack288; - FUN_7f094b44((int)&fStack628,fStack336); - FUN_7f094b44((int)&fStack604,fStack332); - FUN_7f094b44((int)&fStack580,fStack324); - FUN_7f094b44((int)&fStack556,fStack340); - FUN_7f094b44((int)&fStack532,fStack352); - break; - case 5: - fStack628 = fStack228 * in_f0; - fStack624 = fStack224 * in_f0; - fStack620 = fStack220 * in_f0; - fStack604 = fStack204 * in_f0; - fStack600 = fStack200 * in_f0; - fStack596 = fStack196 * in_f0; - fStack580 = fStack264 * in_f0; - fStack576 = fStack260 * in_f0; - fStack572 = fStack256 * in_f0; - fStack556 = fStack252 * in_f0; - uVar20 = 4; - fStack552 = fStack248 * in_f0; - fStack588 = fStack196 + DAT_8003fdc4; - fStack548 = fStack244 * in_f0; - fStack612 = fStack220 + DAT_8003fdc4; - fStack564 = fStack256 + DAT_8003fdc4; - fStack540 = fStack244 + DAT_8003fdc4; - fStack616 = fStack228; - fStack592 = fStack204; - fStack568 = fStack264; - fStack544 = fStack252; - FUN_7f094b44((int)&fStack628,fStack332); - FUN_7f094b44((int)&fStack604,fStack324); - FUN_7f094b44((int)&fStack580,fStack344); - FUN_7f094b44((int)&fStack556,fStack340); - break; - default: - return; - case 7: - fStack628 = fStack204 * in_f0; - fStack624 = fStack200 * in_f0; - fStack620 = fStack196 * in_f0; - fStack604 = fStack252 * in_f0; - fStack600 = fStack248 * in_f0; - fStack596 = fStack244 * in_f0; - fStack580 = fStack276 * in_f0; - uVar20 = 3; - fStack576 = fStack272 * in_f0; - fStack588 = fStack244 + DAT_8003fdc4; - fStack572 = fStack268 * in_f0; - fStack612 = fStack196 + DAT_8003fdc4; - fStack564 = fStack268 + DAT_8003fdc4; - fStack616 = fStack204; - fStack592 = fStack252; - fStack568 = fStack276; - FUN_7f094b44((int)&fStack628,fStack324); - FUN_7f094b44((int)&fStack604,fStack340); - FUN_7f094b44((int)&fStack580,fStack348); - break; - case 8: - fStack628 = fStack216 * in_f0; - fStack624 = fStack212 * in_f0; - fStack620 = fStack208 * in_f0; - fStack604 = fStack240 * in_f0; - fStack600 = fStack236 * in_f0; - fStack596 = fStack232 * in_f0; - fStack580 = fStack228 * in_f0; - fStack576 = fStack224 * in_f0; - fStack572 = fStack220 * in_f0; - fStack556 = fStack276 * in_f0; - uVar20 = 5; - fStack552 = fStack272 * in_f0; - fStack548 = fStack268 * in_f0; - fStack532 = fStack252 * in_f0; - fStack528 = fStack248 * in_f0; - fStack612 = fStack208 + DAT_8003fdc4; - fStack616 = fStack216; - fStack524 = fStack244 * in_f0; - fStack564 = fStack220 + DAT_8003fdc4; - fStack588 = fStack232 + DAT_8003fdc4; - fStack540 = fStack268 + DAT_8003fdc4; - fStack592 = fStack240; - fStack516 = fStack244 + DAT_8003fdc4; - fStack568 = fStack228; - fStack544 = fStack276; - fStack520 = fStack252; - FUN_7f094b44((int)&fStack628,fStack328); - FUN_7f094b44((int)&fStack604,fStack336); - FUN_7f094b44((int)&fStack580,fStack332); - FUN_7f094b44((int)&fStack556,fStack348); - FUN_7f094b44((int)&fStack532,fStack340); - break; - case 10: - fStack628 = fStack216 * in_f0; - fStack624 = fStack212 * in_f0; - fStack620 = fStack208 * in_f0; - fStack604 = fStack240 * in_f0; - fStack600 = fStack236 * in_f0; - fStack596 = fStack232 * in_f0; - fStack580 = fStack252 * in_f0; - fStack576 = fStack248 * in_f0; - fStack572 = fStack244 * in_f0; - fStack556 = fStack264 * in_f0; - uVar20 = 4; - fStack552 = fStack260 * in_f0; - fStack588 = fStack232 + DAT_8003fdc4; - fStack548 = fStack256 * in_f0; - fStack612 = fStack208 + DAT_8003fdc4; - fStack564 = fStack244 + DAT_8003fdc4; - fStack540 = fStack256 + DAT_8003fdc4; - fStack616 = fStack216; - fStack592 = fStack240; - fStack568 = fStack252; - fStack544 = fStack264; - FUN_7f094b44((int)&fStack628,fStack328); - FUN_7f094b44((int)&fStack604,fStack336); - FUN_7f094b44((int)&fStack580,fStack340); - FUN_7f094b44((int)&fStack556,fStack344); - break; - case 0xb: - fStack628 = fStack216 * in_f0; - fStack624 = fStack212 * in_f0; - fStack620 = fStack208 * in_f0; - fStack604 = fStack288 * in_f0; - fStack600 = fStack284 * in_f0; - fStack596 = fStack280 * in_f0; - fStack580 = fStack252 * in_f0; - uVar20 = 3; - fStack576 = fStack248 * in_f0; - fStack588 = fStack280 + DAT_8003fdc4; - fStack572 = fStack244 * in_f0; - fStack612 = fStack208 + DAT_8003fdc4; - fStack564 = fStack244 + DAT_8003fdc4; - fStack616 = fStack216; - fStack592 = fStack288; - fStack568 = fStack252; - FUN_7f094b44((int)&fStack628,fStack328); - FUN_7f094b44((int)&fStack604,fStack352); - FUN_7f094b44((int)&fStack580,fStack340); - break; - case 0xc: - fStack628 = fStack240 * in_f0; - fStack624 = fStack236 * in_f0; - fStack620 = fStack232 * in_f0; - fStack604 = fStack228 * in_f0; - fStack600 = fStack224 * in_f0; - fStack596 = fStack220 * in_f0; - fStack580 = fStack288 * in_f0; - fStack576 = fStack284 * in_f0; - fStack572 = fStack280 * in_f0; - fStack556 = fStack276 * in_f0; - fStack552 = fStack272 * in_f0; - fStack588 = fStack220 + DAT_8003fdc4; - fStack548 = fStack268 * in_f0; - fStack612 = fStack232 + DAT_8003fdc4; - uVar20 = 4; - fStack564 = fStack280 + DAT_8003fdc4; - iStack640 = 1; - fStack540 = fStack268 + DAT_8003fdc4; - fStack616 = fStack240; - fStack592 = fStack228; - fStack568 = fStack288; - fStack544 = fStack276; - FUN_7f094b44((int)&fStack628,fStack336); - FUN_7f094b44((int)&fStack604,fStack332); - FUN_7f094b44((int)&fStack580,fStack352); - FUN_7f094b44((int)&fStack556,fStack348); - break; - case 0xd: - fStack628 = fStack228 * in_f0; - fStack624 = fStack224 * in_f0; - fStack620 = fStack220 * in_f0; - fStack604 = fStack276 * in_f0; - fStack600 = fStack272 * in_f0; - fStack596 = fStack268 * in_f0; - fStack580 = fStack264 * in_f0; - uVar20 = 3; - fStack576 = fStack260 * in_f0; - fStack588 = fStack268 + DAT_8003fdc4; - fStack572 = fStack256 * in_f0; - fStack612 = fStack220 + DAT_8003fdc4; - fStack564 = fStack256 + DAT_8003fdc4; - fStack616 = fStack228; - fStack592 = fStack276; - fStack568 = fStack264; - FUN_7f094b44((int)&fStack628,fStack332); - FUN_7f094b44((int)&fStack604,fStack348); - FUN_7f094b44((int)&fStack580,fStack344); - break; - case 0xe: - fStack628 = fStack240 * in_f0; - fStack624 = fStack236 * in_f0; - fStack620 = fStack232 * in_f0; - fStack604 = fStack264 * in_f0; - fStack600 = fStack260 * in_f0; - fStack596 = fStack256 * in_f0; - fStack580 = fStack288 * in_f0; - uVar20 = 3; - fStack576 = fStack284 * in_f0; - fStack588 = fStack256 + DAT_8003fdc4; - fStack572 = fStack280 * in_f0; - fStack612 = fStack232 + DAT_8003fdc4; - fStack564 = fStack280 + DAT_8003fdc4; - fStack616 = fStack240; - fStack592 = fStack264; - fStack568 = fStack288; - FUN_7f094b44((int)&fStack628,fStack336); - FUN_7f094b44((int)&fStack604,fStack344); - FUN_7f094b44((int)&fStack580,fStack352); - break; - case 0xf: - uVar20 = 0; - } - if (uVar20 != 0) { - uVar4 = FUN_7f0789d4(); - uVar5 = FUN_7f0789b4(); - loc_7F0580E4((float *)(uVar4 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar4 >> 8) << 8), - (float *)(uVar5 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar5 >> 8) << 8), - (int)afStack740); - fVar23 = 1.00000000 / in_f0; - guScale((undefined4 *)0x80079f08,fVar23,fVar23,fVar23); - loc_7F0580E4(afStack740,(float *)0x80079f08,(int)afStack804); - uStack1088 = 0; - if (uVar20 != 0) { - pfStack1624 = &fStack628; - pfVar19 = afStack1084; - do { - fVar28 = (float)loc_7F09779C(pfStack1624,afStack804,0x82,DAT_800575b4,DAT_800575b4,pfVar19); - FUN_7f078ab4(); - fVar23 = fVar28; - FUN_7f078ab4(); - fVar29 = fVar23; - FUN_7f078a94(); - fVar28 = locret_7F093C80(pfVar19[10],fVar28 * 4.00000000,extraout_a0,extraout_a1, - (fVar29 + fVar23) * 4.00000000 - 1.00000000); - pfVar19[10] = fVar28; - FUN_7f078ac4(); - fVar23 = fVar28; - FUN_7f078ac4(); - fVar29 = fVar23; - FUN_7f078aa4(); - fVar23 = locret_7F093C80(pfVar19[0xb],fVar28 * 4.00000000,extraout_a0_00,extraout_a1_00, - (fVar29 + fVar23) * 4.00000000 - 1.00000000); - pfVar19[0xb] = fVar23; - FUN_7f078ac4(); - if (fVar23 * 4.00000000 + 4.00000000 < pfVar19[0xb]) { - FUN_7f078ac4(); - fVar29 = fVar23; - FUN_7f078aa4(); - if (pfVar19[0xb] < (fVar29 + fVar23) * 4.00000000 - 4.00000000) { - pfVar19[0xb] = pfVar19[0xb] - 4.00000000; - } - } - pfVar19 = pfVar19 + 0xe; - pfStack1624 = pfStack1624 + 6; - uVar4 = (uStack1088 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uStack1088 >> 8) << 8) - + 1; - lVar21 = (longlong)(int)uVar4; - uStack1088 = uVar4 & 0xff | (uint)(uint3)((ulonglong)lVar21 >> 8) << 8; - } while (CONCAT71(CONCAT61(CONCAT42((int)uVar4 >> 0x1f,(short)((ulonglong)lVar21 >> 0x10)), - (char)((ulonglong)lVar21 >> 8)),(char)uVar4) != uVar20); - } - puVar16 = FUN_7f0bb2dc(); - if (*(char *)(((uint)puVar16 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)puVar16 >> 8) << 8 - ) + 0x20) == '\0') { - fVar31 = 0.00000000; - iVar17 = 0; - fVar29 = 0.00000000; - fVar23 = DAT_800575b8; - fVar28 = DAT_800575bc; - if (uVar20 != 0) { - if ((uVar20 & 0xffffffffffffff01) == 0) { - iVar18 = 0; - fVar23 = DAT_800575b8; - fVar28 = DAT_800575bc; - } - else { - iVar17 = 1; - fVar23 = fStack1044; - if (DAT_800575b8 <= fStack1044) { - fVar23 = DAT_800575b8; - } - if (fStack1044 <= 0.00000000) { - fStack1044 = fVar29; - } - fVar29 = fStack1044; - fVar28 = fStack1040; - if (DAT_800575bc <= fStack1040) { - fVar28 = DAT_800575bc; - } - fVar24 = fStack1040; - if (fStack1040 <= 0.00000000) { - fVar24 = fVar31; - } - fVar31 = fVar24; - iVar18 = 8; - if (uVar20 == 1) goto LAB_7f09667c; - } - pfVar19 = afStack1084 + (iVar18 - iVar17) * 2; - lVar21 = (longlong)(int)pfVar19; - uVar13 = (undefined2)((ulonglong)lVar21 >> 0x10); - uVar14 = (undefined)((ulonglong)lVar21 >> 8); - uVar4 = (uint)pfVar19 & 0xff; - fVar24 = *(float *)((uVar4 | (uint)(uint3)((ulonglong)lVar21 >> 8) << 8) + 0x28); - while( true ) { - fVar27 = fVar24; - if (fVar23 <= fVar24) { - fVar27 = fVar23; - } - if (fVar29 < fVar24) { - fVar25 = *(float *)((uVar4 | (uint)CONCAT21(uVar13,uVar14) << 8) + 0x2c); - } - else { - fVar25 = *(float *)((uVar4 | (uint)CONCAT21(uVar13,uVar14) << 8) + 0x2c); - fVar24 = fVar29; - } - fVar30 = fVar25; - if (fVar28 <= fVar25) { - fVar30 = fVar28; - } - if (fVar31 < fVar25) { - fVar29 = *(float *)((uVar4 | (uint)CONCAT21(uVar13,uVar14) << 8) + 0x60); - } - else { - fVar29 = *(float *)((uVar4 | (uint)CONCAT21(uVar13,uVar14) << 8) + 0x60); - fVar25 = fVar31; - } - fVar23 = fVar29; - if (fVar27 <= fVar29) { - fVar23 = fVar27; - } - if (fVar24 < fVar29) { - fVar31 = *(float *)((uVar4 | (uint)CONCAT21(uVar13,uVar14) << 8) + 100); - } - else { - fVar31 = *(float *)((uVar4 | (uint)CONCAT21(uVar13,uVar14) << 8) + 100); - fVar29 = fVar24; - } - uVar5 = (uVar4 | (uint)CONCAT21(uVar13,uVar14) << 8) + 0x70; - uVar13 = (undefined2)((ulonglong)(longlong)(int)uVar5 >> 0x10); - uVar14 = (undefined)((ulonglong)(longlong)(int)uVar5 >> 8); - uVar4 = uVar5 & 0xff; - fVar28 = fVar31; - if (fVar30 <= fVar31) { - fVar28 = fVar30; - } - if (fVar31 <= fVar25) { - fVar31 = fVar25; - } - if (CONCAT71(CONCAT61(CONCAT42((int)uVar5 >> 0x1f,uVar13),uVar14),(char)uVar4) == - (longlong)(int)(afStack1084 + (int)uVar20 * 0xe)) break; - fVar24 = *(float *)((int)CONCAT71(CONCAT61(CONCAT42((int)uVar5 >> 0x1f,uVar13),uVar14), - (char)uVar4) + 0x28); - } - } -LAB_7f09667c: - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0[3] = 0x300000; - puStackX0[2] = 0xba001402; - puStackX0[4] = 0xb900031d; - puStackX0[5] = 0; - puStackX0[6] = 0xba001301; - puStackX0[7] = 0; - puStackX0[8] = ((int)(fVar29 * 0.25000000) & 0x3ffU) << 0xe | 0xf6000000 | - ((int)(fVar31 * 0.25000000) & 0x3ffU) << 2; - puStackX0[9] = ((int)(fVar23 * 0.25000000) & 0x3ffU) << 0xe | - ((int)(fVar28 * 0.25000000) & 0x3ffU) << 2; - puStackX0[0xb] = 0; - puStackX0[10] = 0xe7000000; - puStackX0[0xd] = 0x80000; - puStackX0[0xc] = 0xba001301; - puStackX0 = puStackX0 + 0xe; - } - else { - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0 = puStackX0 + 2; - puVar16 = FUN_7f0bb2dc(); - loc_7F077B80((uint **)register0x000000ec, - (uint *)((int)*(short *)(((uint)puVar16 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)puVar16 >> 8) << - 8) + 0x28) * 0xc + _DAT_8008d194),1,0,2); - puVar16 = FUN_7f093fdc(puStackX0,0); - lVar21 = (longlong)(int)puVar16; - uVar13 = (undefined2)((ulonglong)lVar21 >> 0x10); - uVar14 = (undefined)((ulonglong)lVar21 >> 8); - uVar1 = (uint3)((ulonglong)lVar21 >> 8); - puStackX0 = (undefined4 *)(((uint)puVar16 & 0xff | (uint)uVar1 << 8) + 8); - *(undefined4 *)(((uint)puVar16 & 0xff | (uint)uVar1 << 8) + 4) = 0xf0a4000; - *(undefined4 *)((uint)puVar16 & 0xff | (uint)uVar1 << 8) = 0xb900031d; - if (uVar20 == 4) { - puVar16 = loc_7F098A18(puStackX0,(int)afStack1084,(int)auStack1028,(int)auStack916, - 130.00000000,1); - puStackX0 = (undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),(char)((uint)puVar16 >> 0x18)); - if (iStack640 != 0) { - fStack984 = fStack984 + 1.00000000; - fStack1040 = fStack1040 + 1.00000000; - fStack928 = fStack928 + 1.00000000; - fStack872 = fStack872 + 1.00000000; - } - puVar16 = loc_7F098A18(puStackX0,(int)auStack916,(int)auStack972,(int)afStack1084, - 130.00000000,1); - puStackX0 = (undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),(char)((uint)puVar16 >> 0x18)); - } - else { - if (uVar20 == 5) { - puVar16 = loc_7F098A18(puStackX0,(int)afStack1084,(int)auStack1028,(int)auStack972, - 130.00000000,1); - uVar15 = (undefined)((uint)puVar16 >> 0x18); - puStackX0 = (undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15); - puVar16 = loc_7F098A18((undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15), - (int)afStack1084,(int)auStack972,(int)auStack916,130.00000000,1); - uVar15 = (undefined)((uint)puVar16 >> 0x18); - puStackX0 = (undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15); - puVar16 = loc_7F098A18((undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15), - (int)afStack1084,(int)auStack916,(int)auStack860,130.00000000,1); - puStackX0 = (undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),(char)((uint)puVar16 >> 0x18)); - } - else { - if (uVar20 == 3) { - puVar16 = loc_7F098A18(puStackX0,(int)afStack1084,(int)auStack1028,(int)auStack972, - 130.00000000,1); - puStackX0 = (undefined4 *) - CONCAT31(CONCAT21(uVar13,uVar14),(char)((uint)puVar16 >> 0x18)); - } - } - } - } - } - if (false) { - return; - } - switch(uVar22) { - case 0: - return; - case 1: - fStack508 = fStack144 * in_f0; - fStack504 = fStack140 * in_f0; - fStack500 = fStack136 * in_f0; - fStack484 = fStack168 * in_f0; - fStack480 = fStack164 * in_f0; - fStack476 = fStack160 * in_f0; - fStack460 = fStack192 * in_f0; - fStack456 = fStack188 * in_f0; - lVar21 = 3; - fStack452 = fStack184 * in_f0; - fStack496 = fStack144 * fVar26; - fStack472 = fStack168 * fVar26; - fStack492 = fStack136 * fVar26 + DAT_8003fdc4; - fStack448 = fStack192 * fVar26; - fStack468 = fStack160 * fVar26 + DAT_8003fdc4; - fStack444 = fStack184 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack304); - FUN_7f094850((int)&fStack484,fStack312); - FUN_7f094850((int)&fStack460,fStack320); - break; - case 2: - fStack508 = fStack132 * in_f0; - fStack504 = fStack128 * in_f0; - fStack500 = fStack124 * in_f0; - fStack484 = fStack180 * in_f0; - fStack480 = fStack176 * in_f0; - fStack476 = fStack172 * in_f0; - fStack460 = fStack168 * in_f0; - fStack456 = fStack164 * in_f0; - lVar21 = 3; - fStack452 = fStack160 * in_f0; - fStack496 = fStack132 * fVar26; - fStack472 = fStack180 * fVar26; - fStack492 = fStack124 * fVar26 + DAT_8003fdc4; - fStack448 = fStack168 * fVar26; - fStack468 = fStack172 * fVar26 + DAT_8003fdc4; - fStack444 = fStack160 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack300); - FUN_7f094850((int)&fStack484,fStack316); - FUN_7f094850((int)&fStack460,fStack312); - break; - case 3: - fStack508 = fStack144 * in_f0; - fStack504 = fStack140 * in_f0; - fStack500 = fStack136 * in_f0; - fStack484 = fStack132 * in_f0; - fStack480 = fStack128 * in_f0; - fStack476 = fStack124 * in_f0; - fStack460 = fStack192 * in_f0; - fStack456 = fStack188 * in_f0; - fStack452 = fStack184 * in_f0; - lVar21 = 4; - fStack436 = fStack180 * in_f0; - fStack432 = fStack176 * in_f0; - fStack428 = fStack172 * in_f0; - fStack496 = fStack144 * fVar26; - fStack472 = fStack132 * fVar26; - fStack492 = fStack136 * fVar26 + DAT_8003fdc4; - fStack448 = fStack192 * fVar26; - fStack468 = fStack124 * fVar26 + DAT_8003fdc4; - fStack424 = fStack180 * fVar26; - fStack444 = fStack184 * fVar26 + DAT_8003fdc4; - fStack420 = fStack172 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack304); - FUN_7f094850((int)&fStack484,fStack300); - FUN_7f094850((int)&fStack460,fStack320); - FUN_7f094850((int)&fStack436,fStack316); - break; - case 4: - fStack508 = fStack120 * in_f0; - fStack504 = fStack116 * in_f0; - fStack500 = fStack112 * in_f0; - fStack484 = fStack192 * in_f0; - fStack480 = fStack188 * in_f0; - fStack476 = fStack184 * in_f0; - fStack460 = fStack156 * in_f0; - fStack456 = fStack152 * in_f0; - lVar21 = 3; - fStack452 = fStack148 * in_f0; - fStack496 = fStack120 * fVar26; - fStack472 = fStack192 * fVar26; - fStack492 = fStack112 * fVar26 + DAT_8003fdc4; - fStack448 = fStack156 * fVar26; - fStack468 = fStack184 * fVar26 + DAT_8003fdc4; - fStack444 = fStack148 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack296); - FUN_7f094850((int)&fStack484,fStack320); - FUN_7f094850((int)&fStack460,fStack308); - break; - case 5: - fStack508 = fStack120 * in_f0; - fStack504 = fStack116 * in_f0; - fStack500 = fStack112 * in_f0; - fStack484 = fStack144 * in_f0; - fStack480 = fStack140 * in_f0; - fStack476 = fStack136 * in_f0; - fStack460 = fStack156 * in_f0; - fStack456 = fStack152 * in_f0; - fStack452 = fStack148 * in_f0; - lVar21 = 4; - fStack436 = fStack168 * in_f0; - fStack432 = fStack164 * in_f0; - fStack428 = fStack160 * in_f0; - fStack496 = fStack120 * fVar26; - fStack472 = fStack144 * fVar26; - fStack492 = fStack112 * fVar26 + DAT_8003fdc4; - fStack448 = fStack156 * fVar26; - fStack468 = fStack136 * fVar26 + DAT_8003fdc4; - fStack424 = fStack168 * fVar26; - fStack444 = fStack148 * fVar26 + DAT_8003fdc4; - fStack420 = fStack160 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack296); - FUN_7f094850((int)&fStack484,fStack304); - FUN_7f094850((int)&fStack460,fStack308); - FUN_7f094850((int)&fStack436,fStack312); - break; - default: - goto LAB_7f097f00; - case 7: - fStack508 = fStack120 * in_f0; - fStack504 = fStack116 * in_f0; - fStack500 = fStack112 * in_f0; - fStack484 = fStack144 * in_f0; - fStack480 = fStack140 * in_f0; - fStack476 = fStack136 * in_f0; - fStack460 = fStack132 * in_f0; - fStack456 = fStack128 * in_f0; - fStack452 = fStack124 * in_f0; - fStack436 = fStack180 * in_f0; - lVar21 = 5; - fStack432 = fStack176 * in_f0; - fStack428 = fStack172 * in_f0; - fStack412 = fStack156 * in_f0; - fStack408 = fStack152 * in_f0; - fStack404 = fStack148 * in_f0; - fStack496 = fStack120 * fVar26; - fStack472 = fStack144 * fVar26; - fStack492 = fStack112 * fVar26 + DAT_8003fdc4; - fStack448 = fStack132 * fVar26; - fStack468 = fStack136 * fVar26 + DAT_8003fdc4; - fStack424 = fStack180 * fVar26; - fStack444 = fStack124 * fVar26 + DAT_8003fdc4; - fStack400 = fStack156 * fVar26; - fStack420 = fStack172 * fVar26 + DAT_8003fdc4; - fStack396 = fStack148 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack296); - FUN_7f094850((int)&fStack484,fStack304); - FUN_7f094850((int)&fStack460,fStack300); - FUN_7f094850((int)&fStack436,fStack316); - FUN_7f094850((int)&fStack412,fStack308); - break; - case 8: - fStack508 = fStack108 * in_f0; - fStack504 = fStack104 * in_f0; - fStack500 = fStack100 * in_f0; - fStack484 = fStack156 * in_f0; - fStack480 = fStack152 * in_f0; - fStack476 = fStack148 * in_f0; - fStack460 = fStack180 * in_f0; - fStack456 = fStack176 * in_f0; - lVar21 = 3; - fStack452 = fStack172 * in_f0; - fStack496 = fStack108 * fVar26; - fStack472 = fStack156 * fVar26; - fStack492 = fStack100 * fVar26 + DAT_8003fdc4; - fStack448 = fStack180 * fVar26; - fStack468 = fStack148 * fVar26 + DAT_8003fdc4; - fStack444 = fStack172 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack292); - FUN_7f094850((int)&fStack484,fStack308); - FUN_7f094850((int)&fStack460,fStack316); - break; - case 10: - fStack508 = fStack132 * in_f0; - fStack504 = fStack128 * in_f0; - fStack500 = fStack124 * in_f0; - fStack484 = fStack108 * in_f0; - fStack480 = fStack104 * in_f0; - fStack476 = fStack100 * in_f0; - fStack460 = fStack168 * in_f0; - fStack456 = fStack164 * in_f0; - fStack452 = fStack160 * in_f0; - lVar21 = 4; - fStack436 = fStack156 * in_f0; - fStack432 = fStack152 * in_f0; - fStack428 = fStack148 * in_f0; - fStack496 = fStack132 * fVar26; - fStack472 = fStack108 * fVar26; - fStack492 = fStack124 * fVar26 + DAT_8003fdc4; - fStack448 = fStack168 * fVar26; - fStack468 = fStack100 * fVar26 + DAT_8003fdc4; - fStack424 = fStack156 * fVar26; - fStack444 = fStack160 * fVar26 + DAT_8003fdc4; - fStack420 = fStack148 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack300); - FUN_7f094850((int)&fStack484,fStack292); - FUN_7f094850((int)&fStack460,fStack312); - FUN_7f094850((int)&fStack436,fStack308); - break; - case 0xb: - fStack508 = fStack144 * in_f0; - fStack504 = fStack140 * in_f0; - fStack500 = fStack136 * in_f0; - fStack484 = fStack132 * in_f0; - fStack480 = fStack128 * in_f0; - fStack476 = fStack124 * in_f0; - lVar21 = 5; - fStack460 = fStack108 * in_f0; - fStack456 = fStack104 * in_f0; - fStack452 = fStack100 * in_f0; - fStack436 = fStack156 * in_f0; - fStack432 = fStack152 * in_f0; - fStack428 = fStack148 * in_f0; - fStack412 = fStack192 * in_f0; - fStack408 = fStack188 * in_f0; - fStack404 = fStack184 * in_f0; - fStack496 = fStack144 * fVar26; - fStack472 = fStack132 * fVar26; - fStack492 = fStack136 * fVar26 + DAT_8003fdc4; - fStack448 = fStack108 * fVar26; - fStack468 = fStack124 * fVar26 + DAT_8003fdc4; - fStack424 = fStack156 * fVar26; - fStack444 = fStack100 * fVar26 + DAT_8003fdc4; - fStack400 = fStack192 * fVar26; - fStack420 = fStack148 * fVar26 + DAT_8003fdc4; - fStack396 = fStack184 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack304); - FUN_7f094850((int)&fStack484,fStack300); - FUN_7f094850((int)&fStack460,fStack292); - FUN_7f094850((int)&fStack436,fStack308); - FUN_7f094850((int)&fStack412,fStack320); - break; - case 0xc: - fStack508 = fStack108 * in_f0; - fStack504 = fStack104 * in_f0; - fStack500 = fStack100 * in_f0; - fStack484 = fStack120 * in_f0; - fStack480 = fStack116 * in_f0; - fStack476 = fStack112 * in_f0; - fStack460 = fStack180 * in_f0; - fStack456 = fStack176 * in_f0; - fStack452 = fStack172 * in_f0; - fStack436 = fStack192 * in_f0; - lVar21 = 4; - fStack432 = fStack188 * in_f0; - fStack428 = fStack184 * in_f0; - fStack496 = fStack108 * fVar26; - fStack472 = fStack120 * fVar26; - fStack492 = fStack100 * fVar26 + DAT_8003fdc4; - fStack448 = fStack180 * fVar26; - fStack468 = fStack112 * fVar26 + DAT_8003fdc4; - fStack424 = fStack192 * fVar26; - fStack444 = fStack172 * fVar26 + DAT_8003fdc4; - fStack420 = fStack184 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack292); - FUN_7f094850((int)&fStack484,fStack296); - FUN_7f094850((int)&fStack460,fStack316); - FUN_7f094850((int)&fStack436,fStack320); - break; - case 0xd: - fStack508 = fStack108 * in_f0; - fStack504 = fStack104 * in_f0; - fStack500 = fStack100 * in_f0; - fStack484 = fStack120 * in_f0; - fStack480 = fStack116 * in_f0; - fStack476 = fStack112 * in_f0; - fStack460 = fStack144 * in_f0; - fStack456 = fStack140 * in_f0; - fStack452 = fStack136 * in_f0; - fStack436 = fStack168 * in_f0; - lVar21 = 5; - fStack432 = fStack164 * in_f0; - fStack428 = fStack160 * in_f0; - fStack412 = fStack180 * in_f0; - fStack408 = fStack176 * in_f0; - fStack404 = fStack172 * in_f0; - fStack496 = fStack108 * fVar26; - fStack472 = fStack120 * fVar26; - fStack492 = fStack100 * fVar26 + DAT_8003fdc4; - fStack448 = fStack144 * fVar26; - fStack468 = fStack112 * fVar26 + DAT_8003fdc4; - fStack444 = fStack136 * fVar26 + DAT_8003fdc4; - fStack424 = fStack168 * fVar26; - fStack400 = fStack180 * fVar26; - fStack420 = fStack160 * fVar26 + DAT_8003fdc4; - fStack396 = fStack172 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack292); - FUN_7f094850((int)&fStack484,fStack296); - FUN_7f094850((int)&fStack460,fStack304); - FUN_7f094850((int)&fStack436,fStack312); - FUN_7f094850((int)&fStack412,fStack316); - break; - case 0xe: - fStack508 = fStack132 * in_f0; - fStack504 = fStack128 * in_f0; - fStack500 = fStack124 * in_f0; - fStack484 = fStack108 * in_f0; - fStack480 = fStack104 * in_f0; - fStack476 = fStack100 * in_f0; - fStack460 = fStack120 * in_f0; - fStack456 = fStack116 * in_f0; - fStack452 = fStack112 * in_f0; - fStack436 = fStack192 * in_f0; - lVar21 = 5; - fStack432 = fStack188 * in_f0; - fStack428 = fStack184 * in_f0; - fStack412 = fStack168 * in_f0; - fStack408 = fStack164 * in_f0; - fStack404 = fStack160 * in_f0; - fStack496 = fStack132 * fVar26; - fStack472 = fStack108 * fVar26; - fStack492 = fStack124 * fVar26 + DAT_8003fdc4; - fStack448 = fStack120 * fVar26; - fStack468 = fStack100 * fVar26 + DAT_8003fdc4; - fStack424 = fStack192 * fVar26; - fStack444 = fStack112 * fVar26 + DAT_8003fdc4; - fStack400 = fStack168 * fVar26; - fStack420 = fStack184 * fVar26 + DAT_8003fdc4; - fStack396 = fStack160 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack300); - FUN_7f094850((int)&fStack484,fStack292); - FUN_7f094850((int)&fStack460,fStack296); - FUN_7f094850((int)&fStack436,fStack320); - FUN_7f094850((int)&fStack412,fStack312); - break; - case 0xf: - fStack508 = fStack108 * in_f0; - fStack504 = fStack104 * in_f0; - fStack500 = fStack100 * in_f0; - fStack484 = fStack120 * in_f0; - fStack480 = fStack116 * in_f0; - fStack476 = fStack112 * in_f0; - fStack460 = fStack132 * in_f0; - fStack456 = fStack128 * in_f0; - fStack452 = fStack124 * in_f0; - fStack436 = fStack144 * in_f0; - lVar21 = 4; - fStack432 = fStack140 * in_f0; - fStack428 = fStack136 * in_f0; - fStack496 = fStack108 * fVar26; - fStack472 = fStack120 * fVar26; - fStack492 = fStack100 * fVar26 + DAT_8003fdc4; - fStack448 = fStack132 * fVar26; - fStack468 = fStack112 * fVar26 + DAT_8003fdc4; - fStack424 = fStack144 * fVar26; - fStack444 = fStack124 * fVar26 + DAT_8003fdc4; - fStack420 = fStack136 * fVar26 + DAT_8003fdc4; - FUN_7f094850((int)&fStack508,fStack292); - FUN_7f094850((int)&fStack484,fStack296); - FUN_7f094850((int)&fStack460,fStack300); - FUN_7f094850((int)&fStack436,fStack304); - } - pfStack1624 = (float *)(1.00000000 / in_f0); - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0 = puStackX0 + 2; - puVar16 = FUN_7f0bb2dc(); - loc_7F077B80((uint **)register0x000000ec, - (uint *)((int)*(short *)(((uint)puVar16 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)puVar16 >> 8) << 8) - + 0x10) * 0xc + _DAT_8008d194),1,0,2); - *puStackX0 = 0xfb000000; - puStack1160 = puStackX0; - puStackX0 = puStackX0 + 2; - puVar16 = FUN_7f0bb2dc(); - puVar6 = FUN_7f0bb2dc(); - puVar7 = FUN_7f0bb2dc(); - puStack1160[1] = - (uint)*(byte *)(((uint)puVar7 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)puVar7 >> 8) << 8) + 10) << 8 | - (uint)*(byte *)(((uint)puVar6 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)puVar6 >> 8) << 8) + 8) << 0x18 | - (uint)*(byte *)(((uint)puVar16 & 0xff | - (uint)(uint3)((ulonglong)(longlong)(int)puVar16 >> 8) << 8) + 9) << 0x10 | - 0xff; - puStackX0[1] = 0x55fef97c; - *puStackX0 = 0xfc40fe81; - puStackX0 = puStackX0 + 2; - uVar4 = FUN_7f0789d4(); - uVar5 = FUN_7f0789b4(); - loc_7F0580E4((float *)(uVar4 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar4 >> 8) << 8), - (float *)(uVar5 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uVar5 >> 8) << 8), - (int)afStack1228); - guScale((undefined4 *)0x80079f08,pfStack1624,pfStack1624,pfStack1624); - fVar26 = (float)loc_7F0580E4(afStack1228,(float *)0x80079f08,(int)afStack1292); - uStack1576 = 0; - uVar13 = extraout_var; - uVar14 = extraout_var_00; - if (lVar21 != 0) { - pfStack1624 = &fStack508; - pfVar19 = afStack1572; - do { - fVar29 = (float)loc_7F09779C(pfStack1624,afStack1292,0x82,DAT_80057600,DAT_80057600,pfVar19); - FUN_7f078ab4(); - fVar26 = fVar29; - FUN_7f078ab4(); - fVar23 = fVar26; - FUN_7f078a94(); - fVar29 = locret_7F093C80(pfVar19[10],fVar29 * 4.00000000,extraout_a0_01,extraout_a1_01, - (fVar23 + fVar26) * 4.00000000 - 1.00000000); - pfVar19[10] = fVar29; - FUN_7f078ac4(); - fVar26 = fVar29; - FUN_7f078ac4(); - fVar23 = fVar26; - FUN_7f078aa4(); - fVar26 = locret_7F093C80(pfVar19[0xb],fVar29 * 4.00000000,extraout_a0_02,extraout_a1_02, - (fVar23 + fVar26) * 4.00000000 - 1.00000000); - pfVar19[0xb] = fVar26; - uVar4 = (uStack1576 & 0xff | (uint)(uint3)((ulonglong)(longlong)(int)uStack1576 >> 8) << 8) + - 1; - lVar3 = (longlong)(int)uVar4; - uVar13 = (undefined2)((ulonglong)lVar3 >> 0x10); - uVar14 = (undefined)((ulonglong)lVar3 >> 8); - uStack1576 = uVar4 & 0xff | (uint)(uint3)((ulonglong)lVar3 >> 8) << 8; - pfStack1624 = pfStack1624 + 6; - pfVar19 = pfVar19 + 0xe; - } while (CONCAT71(CONCAT61(CONCAT42((int)uVar4 >> 0x1f,uVar13),uVar14),(char)uVar4) != lVar21); - } - if (lVar21 == 4) { - if (uVar22 == 0xc) { - if (fStack360 < fStack356) { - if (fStack1472 + 4.00000000 <= fStack1360) { - FUN_7f078ab4(); - fStack1532 = fVar26 * 4.00000000; - FUN_7f078ac4(); - fStack1528 = fVar26 * 4.00000000; - FUN_7f078ab4(); - fVar23 = fVar26; - FUN_7f078a94(); - fStack1476 = (fVar23 + fVar26) * 4.00000000 - 1.00000000; - FUN_7f078ac4(); - fStack1472 = fVar23 * 4.00000000; - FUN_7f078ab4(); - fStack1420 = fVar23 * 4.00000000; - FUN_7f078ab4(); - fVar26 = fVar23; - FUN_7f078a94(); - fStack1364 = (fVar26 + fVar23) * 4.00000000 - 1.00000000; - loc_7F09A2CC(puStackX0,(int)afStack1572,(int)auStack1516,(int)auStack1460,(int)auStack1404 - ,130.00000000); - } - else { - loc_7F098A18(puStackX0,(int)afStack1572,(int)auStack1516,(int)auStack1460,130.00000000,1); - } - } - else { - if (fStack1528 + 4.00000000 <= fStack1416) { - FUN_7f078ab4(); - fStack1532 = fVar26 * 4.00000000; - FUN_7f078ac4(); - fStack1528 = fVar26 * 4.00000000; - FUN_7f078ab4(); - fVar23 = fVar26; - FUN_7f078a94(); - fStack1476 = (fVar23 + fVar26) * 4.00000000 - 1.00000000; - FUN_7f078ac4(); - fStack1472 = fVar23 * 4.00000000; - FUN_7f078ab4(); - fStack1420 = fVar23 * 4.00000000; - FUN_7f078ab4(); - fVar26 = fVar23; - FUN_7f078a94(); - fStack1364 = (fVar26 + fVar23) * 4.00000000 - 1.00000000; - loc_7F09A2CC(puStackX0,(int)auStack1516,(int)afStack1572,(int)auStack1404,(int)auStack1460 - ,130.00000000); - } - else { - loc_7F098A18(puStackX0,(int)auStack1516,(int)afStack1572,(int)auStack1404,130.00000000,1); - } - } - } - else { - puVar16 = loc_7F098A18(puStackX0,(int)afStack1572,(int)auStack1516,(int)auStack1404, - 130.00000000,1); - uVar15 = (undefined)((uint)puVar16 >> 0x18); - puStackX0 = (undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15); - loc_7F098A18((undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15),(int)auStack1404, - (int)auStack1460,(int)afStack1572,130.00000000,1); - } - } - else { - if (lVar21 == 5) { - puVar16 = loc_7F098A18(puStackX0,(int)afStack1572,(int)auStack1516,(int)auStack1460, - 130.00000000,1); - uVar15 = (undefined)((uint)puVar16 >> 0x18); - puStackX0 = (undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15); - puVar16 = loc_7F098A18((undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15),(int)afStack1572 - ,(int)auStack1460,(int)auStack1404,130.00000000,1); - uVar15 = (undefined)((uint)puVar16 >> 0x18); - puStackX0 = (undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15); - loc_7F098A18((undefined4 *)CONCAT31(CONCAT21(uVar13,uVar14),uVar15),(int)afStack1572, - (int)auStack1404,(int)auStack1348,130.00000000,1); - } - else { - if (lVar21 == 3) { - loc_7F098A18(puStackX0,(int)afStack1572,(int)auStack1516,(int)auStack1460,130.00000000,1); - } - } - } -LAB_7f097f00: - return; -} - - - -void loc_7F09779C(float *param_1,float *param_2,uint param_3,float param_4,float param_5, - float *param_6) - -{ - undefined4 *puVar1; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - - fVar8 = (float)(param_3 & 0xffff); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar8 = fVar8 / 65536.00000000; - fVar9 = param_2[0xc] + *param_1 * *param_2 + param_1[1] * param_2[4] + param_1[2] * param_2[8]; - fVar10 = param_2[0xd] + *param_1 * param_2[1] + param_1[1] * param_2[5] + param_1[2] * param_2[9]; - fVar11 = param_2[0xe] + *param_1 * param_2[2] + param_1[1] * param_2[6] + param_1[2] * param_2[10] - ; - fVar12 = param_2[0xf] + - *param_1 * param_2[3] + param_1[1] * param_2[7] + param_1[2] * param_2[0xb]; - fVar16 = param_1[3]; - fVar14 = param_1[4]; - fVar19 = DAT_80057604; - if (fVar12 != 0.00000000) { - fVar19 = 1.00000000 / (fVar12 * fVar8); - } - fVar4 = DAT_80057608; - if (0.00000000 <= fVar19) { - fVar4 = fVar19; - } - fVar7 = fVar9 * fVar4; - fVar17 = fVar10 * fVar4; - fVar15 = fVar11 * fVar4; - fVar18 = fVar12 * fVar4; - FUN_7f078a94(); - fVar5 = fVar4; - FUN_7f078a94(); - fVar6 = fVar5; - FUN_7f078ab4(); - fVar13 = fVar6 * 4.00000000; - FUN_7f078aa4(); - fVar2 = fVar6; - FUN_7f078aa4(); - fVar3 = fVar2; - FUN_7f078ac4(); - fVar15 = fVar15 * fVar8 * DAT_8005760c + DAT_8005760c; - fVar4 = locret_7F093C80(fVar13 + fVar5 * 2.00000000 + fVar7 * fVar8 * fVar4 * 2.00000000, - DAT_80057610,extraout_a0,extraout_a1,4090.00000000); - fVar5 = locret_7F093C80(fVar3 * 4.00000000 + fVar2 * 2.00000000 + - -(fVar17 * fVar8) * fVar6 * 2.00000000,DAT_80057614,extraout_a0_00, - extraout_a1_00,4090.00000000); - fVar6 = locret_7F093C80(fVar15,0.00000000,extraout_a0_01,extraout_a1_01,32767.00000000); - locret_7F093C80(fVar18 * fVar8 * 0.00000000,0.00000000,extraout_a0_02,extraout_a1_02, - 32767.00000000); - *param_6 = fVar9; - param_6[1] = fVar10; - param_6[2] = fVar11; - param_6[3] = fVar12; - param_6[8] = fVar16 * (param_4 / 65536.00000000); - param_6[9] = fVar14 * (param_5 / 65536.00000000); - param_6[10] = fVar4; - puVar1 = FUN_7f0bb2dc(); - param_6[0xb] = fVar5 - (float)puVar1[0xe] * 4.00000000; - param_6[0xd] = fVar19; - param_6[0xc] = fVar6; - fVar8 = (float)(uint)*(byte *)(param_1 + 5); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - param_6[4] = fVar8; - fVar8 = (float)(uint)*(byte *)((int)param_1 + 0x15); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - param_6[5] = fVar8; - fVar8 = (float)(uint)*(byte *)((int)param_1 + 0x16); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - param_6[6] = fVar8; - fVar8 = (float)(uint)*(byte *)((int)param_1 + 0x17); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - param_6[7] = fVar8; - return; -} - - - -ulonglong locret_7F097810(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - fVar1 = *(float *)(param_1 + 0x28) - *(float *)(param_2 + 0x28); - fVar2 = *(float *)(param_1 + 0x2c) - *(float *)(param_2 + 0x2c); - fVar1 = sqrtf(fVar1 * fVar1 + fVar2 * fVar2); - return (ulonglong)(fVar1 < 1.00000000); -} - - - -undefined4 * -loc_7F098A18(undefined4 *param_1,int param_2,int param_3,int param_4,float param_5,int param_6) - -{ - ulonglong uVar1; - uint uVar2; - float *pfVar3; - float *pfVar4; - uint uVar5; - uint uVar6; - uint uVar7; - uint uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - uint uVar16; - uint uVar17; - uint uVar18; - uint uVar19; - char cVar20; - int in_v1_hi; - float *pfVar21; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - float *pfVar22; - float *pfVar23; - float *pfVar24; - float *pfVar25; - int iVar26; - float *pfVar27; - float fVar28; - float fVar29; - float fVar30; - float afStack728 [4]; - float fStack712; - float fStack708; - float fStack704; - float afStack696 [4]; - float fStack680; - float fStack676; - float fStack672; - float fStack648; - float fStack644; - float fStack640; - float fStack632; - float fStack628; - float fStack624; - float fStack620; - float fStack616; - float fStack612; - float fStack608; - float fStack600; - float fStack596; - float fStack592; - float fStack588; - float fStack584; - float fStack580; - float fStack576; - float afStack568 [8]; - float afStack536 [8]; - float fStack504; - float fStack500; - float fStack496; - float fStack492; - float fStack488; - float fStack484; - float fStack480; - float fStack472; - float fStack468; - float fStack464; - float fStack460; - float fStack456; - float fStack452; - float fStack448; - float fStack440; - float fStack436; - float fStack432; - float fStack428; - float fStack424; - float fStack420; - float fStack416; - undefined4 uStack412; - float fStack408; - float fStack404; - float fStack400; - float fStack396; - float fStack392; - float fStack388; - float fStack384; - undefined4 uStack380; - float fStack376; - float fStack372; - float fStack368; - float fStack364; - float fStack360; - float fStack356; - float fStack352; - undefined4 uStack348; - float fStack344; - float fStack340; - float fStack336; - float fStack332; - float fStack328; - float fStack324; - float fStack320; - float fStack316; - float fStack312; - float fStack308; - float fStack304; - float fStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - undefined4 uStack264; - float fStack260; - undefined4 uStack256; - float fStack252; - undefined4 uStack248; - float fStack244; - undefined4 uStack240; - undefined4 uStack236; - undefined4 uStack232; - float fStack228; - undefined4 uStack224; - float fStack220; - undefined4 uStack216; - float fStack212; - undefined4 uStack208; - undefined4 uStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - undefined4 uStack176; - undefined4 uStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - undefined4 uStack144; - undefined4 uStack140; - float fStack128; - float fStack120; - float fStack104; - undefined4 uStack100; - float fStack96; - undefined4 uStack92; - float fStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack28; - float fStack20; - int iStack12; - int iStack8; - int iStack4; - - cVar20 = (char)param_1; - uVar1 = locret_7F097810(param_2,param_3); - if ((uVar1 == 0) && (uVar1 = locret_7F097810(param_3,param_4), uVar1 == 0)) { - uVar1 = locret_7F097810(param_4,param_2); - in_v1_hi = param_2 >> 0x1f; - if (uVar1 == 0) { - fStack272 = param_5 / 65536.00000000; - fVar30 = *(float *)(param_2 + 0x2c); - fStack68 = ((*(float *)(param_4 + 0x28) - *(float *)(param_2 + 0x28)) * - (*(float *)(param_3 + 0x2c) - fVar30) - - (*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * - (*(float *)(param_4 + 0x2c) - fVar30)) / 65536.00000000; - if (fStack68 != 0.00000000) { - fStack72 = 1.00000000 / fStack68; - iVar26 = param_3; - if (*(float *)(param_3 + 0x2c) < fVar30) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - iVar26 = param_2; - param_2 = param_3; - } - fVar30 = *(float *)(iVar26 + 0x2c); - iStack8 = iVar26; - if (*(float *)(param_4 + 0x2c) < fVar30) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - fVar30 = *(float *)(param_4 + 0x2c); - iStack8 = param_4; - param_4 = iVar26; - } - iStack4 = param_2; - if (fVar30 < *(float *)(param_2 + 0x2c)) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - iStack4 = iStack8; - iStack8 = param_2; - } - uStack100 = 0; - fStack104 = *(float *)(iStack8 + 0x28) * 0.25000000; - uStack92 = 0; - fStack96 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack84 = 0; - uStack76 = 0; - fStack88 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack80 = 0; - fStack64 = *(float *)(param_4 + 0x28); - fStack60 = *(float *)(param_4 + 0x2c); - fStack56 = *(float *)(iStack8 + 0x28); - fStack52 = *(float *)(iStack8 + 0x2c); - fStack48 = *(float *)(iStack4 + 0x28); - fStack44 = *(float *)(iStack4 + 0x2c); - fStack20 = fStack56 - fStack48; - fStack252 = fStack52 - fStack44; - uStack140 = 0; - fStack244 = fStack60 - fStack44; - uStack144 = 0; - fStack28 = fStack64 - fStack48; - uStack172 = 0; - uStack176 = 0; - fStack36 = fStack64 - fStack56; - uStack232 = 0; - fStack168 = fStack36 * 0.25000000; - fStack40 = fStack60 - fStack52; - uStack224 = 0; - fStack164 = fStack40 * 0.25000000; - fStack160 = fStack20 * 0.25000000; - uStack216 = 0; - uStack204 = 0; - uStack208 = 0; - fStack156 = fStack252 * 0.25000000; - uStack264 = 0; - fStack152 = fStack28 * 0.25000000; - uStack256 = 0; - uStack248 = 0; - uStack236 = 0; - fStack148 = fStack244 * 0.25000000; - fStack200 = fStack36 * 4.00000000; - uStack240 = 0; - fStack196 = fStack40 * 4.00000000; - fStack192 = fStack20 * 4.00000000; - fStack188 = fStack252 * 4.00000000; - fStack184 = fStack28 * 4.00000000; - fStack180 = fStack244 * 4.00000000; - fStack228 = 4.00000000 / fStack40; - fStack220 = 4.00000000 / fStack252; - fStack212 = 4.00000000 / fStack244; - fStack260 = fStack36 / fStack40; - fStack244 = fStack28 / fStack244; - fStack252 = fStack20 / fStack252; - iStack12 = param_4; - fStack260 = locret_7F093C80(fStack260,DAT_80057618,extraout_a0,extraout_a1,1877.00000000); - fStack252 = locret_7F093C80(fStack252,DAT_8005761c,extraout_a0_00,extraout_a1_00, - 1877.00000000); - fStack244 = locret_7F093C80(fStack244,DAT_80057620,extraout_a0_01,extraout_a1_01, - 1877.00000000); - fStack268 = *(float *)(iStack4 + 0x2c) * 0.25000000; - fStack268 = fStack268 - (float)(int)fStack268; - fVar30 = sub_7F093C88(fStack252 * 8192.00000000); - fStack128 = fStack96 - fVar30 * 0.00012207 * fStack268; - fVar30 = sub_7F093C88(fStack244 * 8192.00000000); - uVar5 = 0xc8000000; - uVar2 = 0; - fStack120 = fStack88 - fVar30 * 0.00012207 * fStack268; - *param_1 = 0xb4000000; - if (param_6 != 0) { - uVar5 = 0xce000000; - } - if (fStack68 < 0.00000000) { - uVar2 = 0x800000; - } - param_1[1] = uVar2 | uVar5 | (int)*(float *)(iStack12 + 0x2c); - param_1[2] = 0xb2000000; - param_1[3] = (int)*(float *)(iStack8 + 0x2c) << 0x10 | (int)*(float *)(iStack4 + 0x2c); - param_1[4] = 0xb4000000; - uVar2 = FUN_7f094e38(*(float *)(iStack8 + 0x28) * 0.25000000); - param_1[5] = uVar2; - param_1[6] = 0xb2000000; - uVar2 = FUN_7f094e38(fStack260); - param_1[7] = uVar2; - param_1[8] = 0xb4000000; - uVar2 = FUN_7f094e38(fStack120); - param_1[9] = uVar2; - param_1[10] = 0xb2000000; - uVar2 = FUN_7f094e38(fStack244); - param_1[0xb] = uVar2; - param_1[0xc] = 0xb4000000; - uVar2 = FUN_7f094e38(fStack128); - param_1[0xd] = uVar2; - param_1[0xe] = 0xb2000000; - uVar2 = FUN_7f094e38(fStack252); - in_v1_hi = (int)(param_1 + 0xe) >> 0x1f; - param_1[0xf] = uVar2; - if (param_6 == 0) { - cVar20 = (char)(param_1 + 0x10); - } - else { - fStack284 = *(float *)(iStack4 + 0xc) * fStack272; - fStack280 = *(float *)(iStack8 + 0xc) * fStack272; - fStack276 = *(float *)(iStack12 + 0xc) * fStack272; - fVar30 = fStack280; - if (fStack284 <= fStack280) { - fVar30 = fStack284; - } - fStack288 = fStack276; - if (fVar30 <= fStack276) { - fStack288 = fVar30; - } - fStack288 = fStack288 * 0.50000000; - fStack300 = *(float *)(iStack4 + 0x34) * fStack288; - fStack296 = *(float *)(iStack8 + 0x34) * fStack288; - fStack292 = *(float *)(iStack12 + 0x34) * fStack288; - fStack360 = fStack300 * *(float *)(iStack4 + 0x20); - fStack356 = fStack300 * *(float *)(iStack4 + 0x24); - fStack352 = fStack300 * DAT_80057624; - fStack392 = fStack296 * *(float *)(iStack8 + 0x20); - fStack388 = fStack296 * *(float *)(iStack8 + 0x24); - fStack384 = fStack296 * DAT_80057624; - fStack424 = fStack292 * *(float *)(iStack12 + 0x20); - fStack420 = fStack292 * *(float *)(iStack12 + 0x24); - fStack416 = fStack292 * DAT_80057624; - fStack344 = fStack360; - if (fStack360 < 0.00000000) { - fStack344 = -fStack360; - } - fStack340 = fStack356; - if (fStack356 < 0.00000000) { - fStack340 = -fStack356; - } - fVar30 = fStack392; - if (fStack392 < 0.00000000) { - fVar30 = -fStack392; - } - if ((fStack344 < fVar30) && (fStack344 = fStack392, fStack392 < 0.00000000)) { - fStack344 = -fStack392; - } - fVar30 = fStack388; - if (fStack388 < 0.00000000) { - fVar30 = -fStack388; - } - if ((fStack340 < fVar30) && (fStack340 = fStack388, fStack388 < 0.00000000)) { - fStack340 = -fStack388; - } - fVar30 = fStack424; - if (fStack424 < 0.00000000) { - fVar30 = -fStack424; - } - if ((fStack344 < fVar30) && (fStack344 = fStack424, fStack424 < 0.00000000)) { - fStack344 = -fStack424; - } - fVar30 = fStack420; - if (fStack420 < 0.00000000) { - fVar30 = -fStack420; - } - if (fStack340 < fVar30) { - fStack340 = fStack420; - if (fStack420 < 0.00000000) { - fStack340 = -fStack420; - } - fStack376 = *(float *)(iStack4 + 0x10); - } - else { - fStack376 = *(float *)(iStack4 + 0x10); - } - pfVar23 = &fStack408; - fStack376 = fStack376 + 0.50000000; - pfVar3 = &fStack376; - pfVar22 = &fStack440; - fStack372 = *(float *)(iStack4 + 0x14) + 0.50000000; - fStack368 = *(float *)(iStack4 + 0x18) + 0.50000000; - fStack364 = *(float *)(iStack4 + 0x1c) + 0.50000000; - fStack408 = *(float *)(iStack8 + 0x10) + 0.50000000; - fStack404 = *(float *)(iStack8 + 0x14) + 0.50000000; - fStack400 = *(float *)(iStack8 + 0x18) + 0.50000000; - fStack396 = *(float *)(iStack8 + 0x1c) + 0.50000000; - fStack440 = *(float *)(iStack12 + 0x10) + 0.50000000; - fStack436 = *(float *)(iStack12 + 0x14) + 0.50000000; - fStack432 = *(float *)(iStack12 + 0x18) + 0.50000000; - fStack428 = *(float *)(iStack12 + 0x1c) + 0.50000000; - uStack348 = *(undefined4 *)(iStack4 + 0x30); - uStack380 = *(undefined4 *)(iStack8 + 0x30); - uStack412 = *(undefined4 *)(iStack12 + 0x30); - pfVar4 = &fStack504; - pfVar21 = &fStack472; - do { - fVar30 = *pfVar3; - fVar29 = *pfVar23; - fVar28 = *pfVar22; - pfVar22 = pfVar22 + 1; - pfVar23 = pfVar23 + 1; - pfVar3 = pfVar3 + 1; - *pfVar21 = fVar29 - fVar30; - *pfVar4 = fVar28 - fVar30; - pfVar4 = pfVar4 + 1; - pfVar21 = pfVar21 + 1; - } while (pfVar22 < &fStack408); - pfVar4 = &fStack376; - pfVar21 = &fStack504; - pfVar3 = afStack568; - pfVar22 = afStack536; - pfVar23 = &fStack472; - pfVar27 = &fStack600; - pfVar24 = &fStack632; - do { - fVar30 = *pfVar21; - fVar28 = *pfVar23; - pfVar25 = pfVar24 + 1; - fVar29 = (fVar30 * fStack188 - fStack180 * fVar28) / 65536.00000000; - *pfVar3 = fVar29; - *pfVar22 = (fVar28 * fStack184 - fStack192 * fVar30) / 65536.00000000; - fVar30 = *pfVar22; - *pfVar21 = fVar29 * fStack72; - fVar28 = *pfVar21; - fVar29 = *pfVar4; - *pfVar23 = fVar30 * fStack72; - fVar30 = fStack244 * fVar28 + fVar30 * fStack72; - *pfVar27 = fVar30; - *pfVar24 = fVar29 - fVar30 * fStack268; - pfVar4 = pfVar4 + 1; - pfVar21 = pfVar21 + 1; - pfVar3 = pfVar3 + 1; - pfVar22 = pfVar22 + 1; - pfVar23 = pfVar23 + 1; - pfVar27 = pfVar27 + 1; - pfVar24 = pfVar25; - } while (pfVar25 < &fStack600); - fStack336 = fStack360; - fStack332 = fStack356; - fStack328 = fStack352; - fStack324 = fStack392; - fStack320 = fStack388; - fStack316 = fStack384; - fStack312 = fStack424; - fStack308 = fStack420; - fStack304 = fStack416; - uVar2 = FUN_7f094e38(fStack632); - uVar5 = FUN_7f094e38(fStack628); - uVar6 = FUN_7f094e38(fStack624); - uVar7 = FUN_7f094e38(fStack620); - uVar8 = FUN_7f094e38(fStack504); - uVar9 = FUN_7f094e38(fStack500); - uVar10 = FUN_7f094e38(fStack496); - uVar11 = FUN_7f094e38(fStack492); - uVar12 = FUN_7f094e38(fStack472); - uVar13 = FUN_7f094e38(fStack468); - uVar14 = FUN_7f094e38(fStack464); - uVar15 = FUN_7f094e38(fStack460); - uVar16 = FUN_7f094e38(fStack600); - uVar17 = FUN_7f094e38(fStack596); - uVar18 = FUN_7f094e38(fStack592); - uVar19 = FUN_7f094e38(fStack588); - param_1[0x10] = 0xb4000000; - param_1[0x11] = uVar2 & 0xffff0000 | uVar5 >> 0x10; - param_1[0x12] = 0xb2000000; - param_1[0x13] = uVar6 & 0xffff0000 | uVar7 >> 0x10; - param_1[0x14] = 0xb4000000; - param_1[0x15] = uVar8 & 0xffff0000 | uVar9 >> 0x10; - param_1[0x16] = 0xb2000000; - param_1[0x17] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - param_1[0x18] = 0xb4000000; - param_1[0x19] = uVar2 << 0x10 | uVar5 & 0xffff; - param_1[0x1a] = 0xb2000000; - param_1[0x1b] = uVar6 << 0x10 | uVar7 & 0xffff; - param_1[0x1c] = 0xb4000000; - param_1[0x1d] = uVar8 << 0x10 | uVar9 & 0xffff; - param_1[0x1e] = 0xb2000000; - param_1[0x1f] = uVar10 << 0x10 | uVar11 & 0xffff; - param_1[0x20] = 0xb4000000; - param_1[0x21] = uVar16 & 0xffff0000 | uVar17 >> 0x10; - param_1[0x23] = uVar18 & 0xffff0000 | uVar19 >> 0x10; - param_1[0x22] = 0xb2000000; - param_1[0x24] = 0xb4000000; - param_1[0x25] = uVar12 & 0xffff0000 | uVar13 >> 0x10; - param_1[0x26] = 0xb2000000; - param_1[0x27] = uVar14 & 0xffff0000 | uVar15 >> 0x10; - param_1[0x29] = uVar16 << 0x10 | uVar17 & 0xffff; - param_1[0x28] = 0xb4000000; - param_1[0x2a] = 0xb2000000; - param_1[0x2b] = uVar18 << 0x10 | uVar19 & 0xffff; - param_1[0x2c] = 0xb4000000; - param_1[0x2d] = uVar12 << 0x10 | uVar13 & 0xffff; - param_1[0x2e] = 0xb2000000; - param_1[0x2f] = uVar14 << 0x10 | uVar15 & 0xffff; - fStack648 = fStack344 * 0.03125000; - fStack644 = fStack340 * 0.03125000; - pfVar22 = afStack696; - fStack640 = fStack288 * 0.03125000; - pfVar3 = &fStack472; - pfVar21 = &fStack504; - pfVar4 = afStack728; - do { - fVar30 = *pfVar21; - if (fVar30 < 0.00000000) { - fVar30 = -fVar30; - } - fVar28 = *pfVar3; - *pfVar22 = fVar30 * 0.03125000; - if (fVar28 < 0.00000000) { - fVar28 = -fVar28; - } - pfVar23 = pfVar4 + 1; - pfVar3 = pfVar3 + 1; - pfVar21 = pfVar21 + 1; - pfVar22 = pfVar22 + 1; - *pfVar4 = fVar28 * 0.03125000; - pfVar4 = pfVar23; - } while (pfVar23 != afStack696); - fVar30 = 1.00000000; - fStack712 = fStack712 + fStack648 + fStack680 * 2.00000000; - fStack708 = fStack708 + fStack644 + fStack676 * 2.00000000; - fStack704 = fStack704 + fStack640 + fStack672 * 2.00000000; - if (fStack708 <= fStack712) { - fStack708 = fStack712; - } - if (fStack704 <= fStack708) { - fStack704 = fStack708; - } - if (1.00000000 < fStack704 * 0.00097656) { - fVar30 = 1.00000000 / (fStack704 * 0.00097656); - } - uVar2 = FUN_7f094e38(fVar30 * fStack616); - uVar5 = FUN_7f094e38(fVar30 * fStack612); - uVar6 = FUN_7f094e38(fVar30 * fStack608); - uVar7 = FUN_7f094e38(fVar30 * fStack488); - uVar8 = FUN_7f094e38(fVar30 * fStack484); - uVar9 = FUN_7f094e38(fVar30 * fStack480); - uVar10 = FUN_7f094e38(fVar30 * fStack456); - uVar11 = FUN_7f094e38(fVar30 * fStack452); - uVar12 = FUN_7f094e38(fVar30 * fStack448); - uVar13 = FUN_7f094e38(fVar30 * fStack584); - uVar14 = FUN_7f094e38(fVar30 * fStack580); - uVar15 = FUN_7f094e38(fVar30 * fStack576); - param_1[0x30] = 0xb4000000; - param_1[0x31] = uVar2 & 0xffff0000 | uVar5 >> 0x10; - param_1[0x33] = uVar6 & 0xffff0000; - param_1[0x32] = 0xb2000000; - param_1[0x34] = 0xb4000000; - param_1[0x35] = uVar7 & 0xffff0000 | uVar8 >> 0x10; - param_1[0x36] = 0xb2000000; - param_1[0x37] = uVar9 & 0xffff0000; - param_1[0x38] = 0xb4000000; - param_1[0x39] = uVar2 << 0x10 | uVar5 & 0xffff; - param_1[0x3b] = uVar6 << 0x10; - param_1[0x3a] = 0xb2000000; - param_1[0x3c] = 0xb4000000; - param_1[0x3d] = uVar7 << 0x10 | uVar8 & 0xffff; - param_1[0x3f] = uVar9 << 0x10; - param_1[0x3e] = 0xb2000000; - param_1[0x40] = 0xb4000000; - param_1[0x41] = uVar13 & 0xffff0000 | uVar14 >> 0x10; - param_1[0x42] = 0xb2000000; - param_1[0x43] = uVar15 & 0xffff0000; - param_1[0x44] = 0xb4000000; - param_1[0x45] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - param_1[0x47] = uVar12 & 0xffff0000; - param_1[0x46] = 0xb2000000; - param_1[0x48] = 0xb4000000; - param_1[0x49] = uVar13 << 0x10 | uVar14 & 0xffff; - param_1[0x4b] = uVar15 << 0x10; - param_1[0x4a] = 0xb2000000; - in_v1_hi = (int)(param_1 + 0x4c) >> 0x1f; - param_1[0x4c] = 0xb4000000; - param_1[0x4d] = uVar10 << 0x10 | uVar11 & 0xffff; - param_1[0x4f] = uVar12 << 0x10; - param_1[0x4e] = 0xb3000000; - cVar20 += '@'; - } - } - } - } - return (undefined4 *)CONCAT13(cVar20,(int3)((uint)in_v1_hi >> 8)); -} - - - -undefined4 * -loc_7F09A2CC(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5,float param_6) - -{ - float fVar1; - ulonglong uVar2; - int iVar3; - uint uVar4; - float *pfVar5; - float *pfVar6; - uint uVar7; - uint uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - uint uVar16; - uint uVar17; - uint uVar18; - char cVar19; - int in_v1_hi; - float *pfVar20; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - longlong lVar21; - longlong lVar22; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - float *pfVar23; - float *pfVar24; - float *pfVar25; - float *pfVar26; - int iVar27; - float *pfVar28; - float fVar29; - float fVar30; - float fVar31; - uint uVar32; - float fVar33; - float fVar34; - uint uVar35; - float fVar36; - float fVar37; - float fVar38; - float fVar39; - uint uVar40; - float fVar41; - float fVar42; - float fVar43; - float fStack788; - float fStack732; - float fStack728; - float fStack724; - float afStack716 [4]; - float fStack700; - float fStack696; - float fStack692; - float fStack668; - float fStack664; - float fStack660; - float fStack636; - float fStack632; - float fStack628; - float fStack624; - float afStack620 [4]; - float fStack604; - float fStack600; - float fStack596; - float fStack592; - float afStack572 [8]; - float afStack540 [8]; - float fStack508; - float fStack504; - float fStack500; - float fStack496; - float fStack476; - float fStack472; - float fStack468; - float fStack464; - float fStack444; - float fStack440; - float fStack436; - undefined4 uStack432; - float afStack428 [4]; - float fStack412; - float fStack408; - float fStack404; - undefined4 uStack400; - float fStack380; - float fStack376; - float fStack372; - undefined4 uStack368; - float fStack364; - float fStack360; - float fStack356; - float fStack352; - float fStack348; - float fStack344; - float fStack340; - float fStack336; - float fStack332; - float fStack328; - float fStack324; - float fStack320; - float fStack316; - float fStack312; - float fStack308; - float fStack304; - float fStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - undefined4 uStack268; - float fStack264; - undefined4 uStack260; - float fStack256; - undefined4 uStack252; - float fStack248; - undefined4 uStack244; - undefined4 uStack240; - undefined4 uStack236; - float fStack232; - undefined4 uStack228; - float fStack224; - undefined4 uStack220; - float fStack216; - undefined4 uStack212; - undefined4 uStack208; - float fStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - undefined4 uStack180; - undefined4 uStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - undefined4 uStack148; - undefined4 uStack144; - float fStack132; - float fStack124; - float fStack108; - undefined4 uStack104; - float fStack100; - undefined4 uStack96; - float fStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack32; - int iStack12; - int iStack8; - int iStack4; - - cVar19 = (char)param_1; - uVar2 = locret_7F097810(param_2,param_3); - if (((((uVar2 != 0) || (uVar2 = locret_7F097810(param_3,param_4), uVar2 != 0)) || - (uVar2 = locret_7F097810(param_4,param_2), uVar2 != 0)) || - ((uVar2 = locret_7F097810(param_5,param_2), uVar2 != 0 || - (uVar2 = locret_7F097810(param_5,param_3), uVar2 != 0)))) || - (uVar2 = locret_7F097810(param_5,param_4), uVar2 != 0)) goto LAB_7f09ae6c; - fStack272 = param_6 / 65536.00000000; - lVar22 = (longlong)param_2; - fVar29 = *(float *)(param_2 + 0x2c); - fStack72 = ((*(float *)(param_4 + 0x28) - *(float *)(param_2 + 0x28)) * - (*(float *)(param_3 + 0x2c) - fVar29) - - (*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * - (*(float *)(param_4 + 0x2c) - fVar29)) / 65536.00000000; - fStack76 = 1.00000000 / fStack72; - lVar21 = (longlong)param_3; - if (*(float *)(param_3 + 0x2c) < fVar29) { - fStack72 = fStack72 * -1.00000000; - fStack76 = fStack76 * -1.00000000; - lVar21 = (longlong)param_2; - lVar22 = (longlong)param_3; - } - iVar27 = (int)lVar22; - iVar3 = (int)lVar21; - fVar29 = *(float *)(iVar3 + 0x2c); - iStack12 = param_4; - if (*(float *)(param_4 + 0x2c) < fVar29) { - fStack76 = fStack76 * -1.00000000; - fVar29 = *(float *)(param_4 + 0x2c); - lVar21 = (longlong)param_4; - iStack12 = iVar3; - } - iStack4 = (int)lVar21; - if (fVar29 < *(float *)(iVar27 + 0x2c)) { - fStack76 = fStack76 * -1.00000000; - fStack108 = *(float *)(iVar27 + 0x28); - } - else { - fStack108 = *(float *)(iStack4 + 0x28); - lVar22 = lVar21; - iStack4 = iVar27; - } - fStack108 = fStack108 * 0.25000000; - uStack104 = 0; - uStack96 = 0; - fStack100 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack88 = 0; - uStack80 = 0; - fStack92 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack84 = 0; - fStack68 = *(float *)(iStack12 + 0x28); - fStack64 = *(float *)(iStack12 + 0x2c); - iStack8 = (int)lVar22; - fStack60 = *(float *)(iStack8 + 0x28); - fStack56 = *(float *)(iStack8 + 0x2c); - fStack52 = *(float *)(iStack4 + 0x28); - fStack48 = *(float *)(iStack4 + 0x2c); - fVar29 = fStack56 - fStack48; - fStack256 = fStack60 - fStack52; - fStack248 = fStack64 - fStack48; - fStack32 = fStack68 - fStack52; - uStack144 = 0; - uStack148 = 0; - fStack40 = fStack68 - fStack60; - fStack44 = fStack64 - fStack56; - fStack172 = fStack40 * 0.25000000; - fStack168 = fStack44 * 0.25000000; - uStack176 = 0; - uStack180 = 0; - uStack236 = 0; - uStack228 = 0; - fStack164 = fStack256 * 0.25000000; - uStack220 = 0; - uStack208 = 0; - fStack160 = fVar29 * 0.25000000; - uStack212 = 0; - uStack268 = 0; - uStack260 = 0; - fStack156 = fStack32 * 0.25000000; - uStack252 = 0; - fStack152 = fStack248 * 0.25000000; - uStack240 = 0; - fStack204 = fStack40 * 4.00000000; - uStack244 = 0; - fStack200 = fStack44 * 4.00000000; - fStack196 = fStack256 * 4.00000000; - fStack192 = fVar29 * 4.00000000; - fStack188 = fStack32 * 4.00000000; - fStack184 = fStack248 * 4.00000000; - fStack232 = 4.00000000 / fStack44; - fStack224 = 4.00000000 / fVar29; - fStack216 = 4.00000000 / fStack248; - fStack264 = fStack40 / fStack44; - fStack256 = fStack256 / fVar29; - fStack248 = fStack32 / fStack248; - fStack264 = locret_7F093C80(fStack264,DAT_80057628,(longlong)param_4,lVar22,1877.00000000); - fStack256 = locret_7F093C80(fStack256,DAT_8005762c,extraout_a0,extraout_a1,1877.00000000); - fVar29 = locret_7F093C80(fStack248,DAT_80057630,extraout_a0_00,extraout_a1_00,1877.00000000); - fStack132 = fStack100; - fStack124 = fStack92; - if (*(float *)(param_2 + 0x28) < *(float *)(param_3 + 0x28)) { - if (*(float *)(param_4 + 0x2c) - *(float *)(param_5 + 0x2c) < 1.00000000) { - fStack788 = DAT_80057634; - fStack248 = fVar29; - } - else { - fStack248 = fVar29; - FUN_7f078a94(); - fStack788 = -(fVar29 - 0.25000000) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_5 + 0x2c)) * 0.25000000); - } - *param_1 = 0xb4000000; - param_1[1] = (int)*(float *)(param_4 + 0x2c) | 0xce800000; - param_1[2] = 0xb2000000; - param_1[3] = (int)*(float *)(param_5 + 0x2c) << 0x10 | (int)*(float *)(param_2 + 0x2c); - param_1[4] = 0xb4000000; - FUN_7f078ab4(); - fVar30 = fVar29; - FUN_7f078a94(); - uVar4 = FUN_7f094e38((fVar30 + fVar29) - 0.25000000); - param_1[5] = uVar4; - param_1[6] = 0xb2000000; - uVar4 = FUN_7f094e38(fStack788); - param_1[7] = uVar4; - param_1[8] = 0xb4000000; - FUN_7f078ab4(); - uVar4 = FUN_7f094e38(fVar30); - param_1[9] = uVar4; - param_1[10] = 0xb2000000; - uVar4 = FUN_7f094e38(0.00000000); - param_1[0xb] = uVar4; - param_1[0xc] = 0xb4000000; - FUN_7f078ab4(); - fVar29 = fVar30; - FUN_7f078a94(); - uVar4 = FUN_7f094e38((fVar29 + fVar30) - 0.25000000); - param_1[0xd] = uVar4; - param_1[0xe] = 0xb2000000; - uVar4 = FUN_7f094e38(0.00000000); - param_1[0xf] = uVar4; - } - else { - fVar30 = DAT_80057638; - fStack248 = fVar29; - if (1.00000000 <= *(float *)(param_4 + 0x2c) - *(float *)(param_5 + 0x2c)) { - fStack248 = fVar29; - FUN_7f078a94(); - fVar30 = (fVar29 - 0.25000000) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_5 + 0x2c)) * 0.25000000); - } - *param_1 = 0xb4000000; - param_1[1] = (int)*(float *)(param_4 + 0x2c) | 0xce000000; - param_1[2] = 0xb2000000; - param_1[3] = (int)*(float *)(param_5 + 0x2c) << 0x10 | (int)*(float *)(param_2 + 0x2c); - param_1[4] = 0xb4000000; - FUN_7f078ab4(); - uVar4 = FUN_7f094e38(fVar29); - param_1[5] = uVar4; - param_1[6] = 0xb2000000; - uVar4 = FUN_7f094e38(fVar30); - param_1[7] = uVar4; - param_1[8] = 0xb4000000; - FUN_7f078ab4(); - fVar30 = fVar29; - FUN_7f078a94(); - uVar4 = FUN_7f094e38((fVar30 + fVar29) - 0.25000000); - param_1[9] = uVar4; - param_1[10] = 0xb2000000; - uVar4 = FUN_7f094e38(0.00000000); - param_1[0xb] = uVar4; - param_1[0xc] = 0xb4000000; - FUN_7f078ab4(); - uVar4 = FUN_7f094e38(fVar30); - param_1[0xd] = uVar4; - param_1[0xe] = 0xb2000000; - uVar4 = FUN_7f094e38(0.00000000); - param_1[0xf] = uVar4; - } - fStack288 = *(float *)(iStack4 + 0xc) * fStack272; - fStack284 = *(float *)(iStack8 + 0xc) * fStack272; - fStack280 = *(float *)(iStack12 + 0xc) * fStack272; - fStack276 = *(float *)(param_5 + 0xc) * fStack272; - fVar29 = fStack284; - if (fStack288 <= fStack284) { - fVar29 = fStack288; - } - fVar30 = fStack280; - if (fVar29 <= fStack280) { - fVar30 = fVar29; - } - fStack292 = fStack276; - if (fVar30 <= fStack276) { - fStack292 = fVar30; - } - fStack292 = fStack292 * 0.50000000; - fStack308 = *(float *)(iStack4 + 0x34) * fStack292; - fStack304 = *(float *)(iStack8 + 0x34) * fStack292; - fStack300 = *(float *)(iStack12 + 0x34) * fStack292; - fStack296 = *(float *)(param_5 + 0x34) * fStack292; - fStack380 = fStack308 * *(float *)(iStack4 + 0x20); - fStack376 = fStack308 * *(float *)(iStack4 + 0x24); - fStack372 = fStack308 * DAT_8005763c; - fStack412 = fStack304 * *(float *)(iStack8 + 0x20); - fStack408 = fStack304 * *(float *)(iStack8 + 0x24); - fStack404 = fStack304 * DAT_8005763c; - fStack444 = fStack300 * *(float *)(iStack12 + 0x20); - fStack440 = fStack300 * *(float *)(iStack12 + 0x24); - fStack436 = fStack300 * DAT_8005763c; - fStack320 = fStack296 * *(float *)(param_5 + 0x20); - fStack316 = fStack296 * *(float *)(param_5 + 0x24); - fStack312 = fStack296 * DAT_8005763c; - fStack364 = fStack380; - if (fStack380 < 0.00000000) { - fStack364 = -fStack380; - } - fStack360 = fStack376; - if (fStack376 < 0.00000000) { - fStack360 = -fStack376; - } - fVar29 = fStack412; - if (fStack412 < 0.00000000) { - fVar29 = -fStack412; - } - if ((fStack364 < fVar29) && (fStack364 = fStack412, fStack412 < 0.00000000)) { - fStack364 = -fStack412; - } - fVar29 = fStack408; - if (fStack408 < 0.00000000) { - fVar29 = -fStack408; - } - if ((fStack360 < fVar29) && (fStack360 = fStack408, fStack408 < 0.00000000)) { - fStack360 = -fStack408; - } - fVar29 = fStack444; - if (fStack444 < 0.00000000) { - fVar29 = -fStack444; - } - if ((fStack364 < fVar29) && (fStack364 = fStack444, fStack444 < 0.00000000)) { - fStack364 = -fStack444; - } - fVar29 = fStack440; - if (fStack440 < 0.00000000) { - fVar29 = -fStack440; - } - if ((fStack360 < fVar29) && (fStack360 = fStack440, fStack440 < 0.00000000)) { - fStack360 = -fStack440; - } - fVar29 = fStack320; - if (fStack320 < 0.00000000) { - fVar29 = -fStack320; - } - if ((fStack364 < fVar29) && (fStack364 = fStack320, fStack320 < 0.00000000)) { - fStack364 = -fStack320; - } - fVar29 = fStack316; - if (fStack316 < 0.00000000) { - fVar29 = -fStack316; - } - if ((fStack360 < fVar29) && (fStack360 = fStack316, fStack316 < 0.00000000)) { - fStack360 = -fStack316; - } - uStack368 = *(undefined4 *)(iStack4 + 0x30); - pfVar24 = &fStack412; - uStack400 = *(undefined4 *)(iStack8 + 0x30); - pfVar5 = &fStack380; - uStack432 = *(undefined4 *)(iStack12 + 0x30); - pfVar23 = &fStack444; - pfVar6 = &fStack476; - pfVar20 = &fStack508; - do { - fVar29 = *pfVar5; - fVar30 = *pfVar24; - fVar38 = *pfVar23; - pfVar23 = pfVar23 + 1; - pfVar24 = pfVar24 + 1; - pfVar5 = pfVar5 + 1; - *pfVar6 = fVar30 - fVar29; - *pfVar20 = fVar38 - fVar29; - pfVar6 = pfVar6 + 1; - pfVar20 = pfVar20 + 1; - } while (pfVar23 < afStack428); - pfVar6 = &fStack380; - pfVar20 = &fStack476; - pfVar5 = afStack572; - pfVar23 = afStack540; - pfVar24 = &fStack508; - pfVar25 = &fStack636; - pfVar28 = &fStack604; - do { - fVar29 = *pfVar24; - fVar30 = *pfVar20; - pfVar26 = pfVar25 + 1; - fVar38 = (fVar29 * fStack192 - fStack184 * fVar30) / 65536.00000000; - *pfVar5 = fVar38; - *pfVar23 = (fVar30 * fStack188 - fStack196 * fVar29) / 65536.00000000; - fVar29 = *pfVar23; - fVar30 = *pfVar6; - *pfVar24 = fVar38 * fStack76; - *pfVar25 = fVar30; - *pfVar20 = fVar29 * fStack76; - *pfVar28 = fVar29 * fStack76; - pfVar6 = pfVar6 + 1; - pfVar20 = pfVar20 + 1; - pfVar5 = pfVar5 + 1; - pfVar23 = pfVar23 + 1; - pfVar24 = pfVar24 + 1; - pfVar25 = pfVar26; - pfVar28 = pfVar28 + 1; - } while (pfVar26 < afStack620); - fVar41 = *(float *)(param_2 + 0x10); - fVar29 = *(float *)(param_5 + 0x2c) / *(float *)(param_4 + 0x2c); - fVar39 = *(float *)(param_4 + 0x14); - fVar30 = *(float *)(param_2 + 0x14); - fVar36 = *(float *)(param_5 + 0x14); - fVar37 = *(float *)(param_4 + 0x18); - fVar42 = *(float *)(param_2 + 0x18); - fVar38 = *(float *)(param_5 + 0x18); - fVar31 = *(float *)(param_4 + 0x1c); - fVar43 = *(float *)(param_2 + 0x1c); - fVar33 = *(float *)(param_5 + 0x1c); - fVar34 = fVar41 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar34); - } - else { - fVar1 = FLOOR(fVar34); - } - uVar4 = (uint)fVar1; - if (true) { - if ((int)uVar4 < 0) goto LAB_7f09a360; - } - else { - if (false) { - fVar34 = ROUND(fVar34 - 2147483648.00000000); - } - else { - fVar34 = FLOOR(fVar34 - 2147483648.00000000); - } - if (false) { -LAB_7f09a360: - uVar4 = 0xffffffff; - } - else { - uVar4 = (int)fVar34 | 0x80000000; - } - } - fVar34 = fVar30 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar34); - } - else { - fVar1 = FLOOR(fVar34); - } - uVar35 = (uint)fVar1; - if (true) { - if ((int)uVar35 < 0) goto LAB_7f09a3f0; - } - else { - if (false) { - fVar34 = ROUND(fVar34 - 2147483648.00000000); - } - else { - fVar34 = FLOOR(fVar34 - 2147483648.00000000); - } - if (false) { -LAB_7f09a3f0: - uVar35 = 0xffffffff; - } - else { - uVar35 = (int)fVar34 | 0x80000000; - } - } - fVar34 = fVar42 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar34); - } - else { - fVar1 = FLOOR(fVar34); - } - uVar40 = (uint)fVar1; - if (true) { - if ((int)uVar40 < 0) goto LAB_7f09a480; - } - else { - if (false) { - fVar34 = ROUND(fVar34 - 2147483648.00000000); - } - else { - fVar34 = FLOOR(fVar34 - 2147483648.00000000); - } - if (false) { -LAB_7f09a480: - uVar40 = 0xffffffff; - } - else { - uVar40 = (int)fVar34 | 0x80000000; - } - } - fVar34 = fVar43 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar34); - } - else { - fVar1 = FLOOR(fVar34); - } - uVar32 = (uint)fVar1; - if (true) { - if ((int)uVar32 < 0) goto LAB_7f09a510; - } - else { - if (false) { - fVar34 = ROUND(fVar34 - 2147483648.00000000); - } - else { - fVar34 = FLOOR(fVar34 - 2147483648.00000000); - } - if (false) { -LAB_7f09a510: - uVar32 = 0xffffffff; - } - else { - uVar32 = (int)fVar34 | 0x80000000; - } - } - fStack356 = fStack380; - fStack352 = fStack376; - fStack348 = fStack372; - fStack344 = fStack412; - fStack340 = fStack408; - fStack336 = fStack404; - fStack332 = fStack444; - fStack328 = fStack440; - fStack324 = fStack436; - uVar7 = FUN_7f094e38(((*(float *)(param_5 + 0x10) + (fVar41 - *(float *)(param_4 + 0x10)) * fVar29 - ) - fVar41) / - ((*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * 0.25000000)); - uVar8 = FUN_7f094e38(((fVar36 + (fVar30 - fVar39) * fVar29) - *(float *)(param_2 + 0x14)) / - ((*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * 0.25000000)); - uVar9 = FUN_7f094e38(((fVar38 + (fVar42 - fVar37) * fVar29) - *(float *)(param_2 + 0x18)) / - ((*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * 0.25000000)); - uVar10 = FUN_7f094e38(((fVar33 + (fVar43 - fVar31) * fVar29) - *(float *)(param_2 + 0x1c)) / - ((*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * 0.25000000)); - uVar11 = FUN_7f094e38((*(float *)(param_4 + 0x10) - *(float *)(param_2 + 0x10)) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_2 + 0x2c)) * 0.25000000)); - uVar12 = FUN_7f094e38((*(float *)(param_4 + 0x14) - *(float *)(param_2 + 0x14)) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_2 + 0x2c)) * 0.25000000)); - uVar13 = FUN_7f094e38((*(float *)(param_4 + 0x18) - *(float *)(param_2 + 0x18)) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_2 + 0x2c)) * 0.25000000)); - uVar14 = FUN_7f094e38((*(float *)(param_4 + 0x1c) - *(float *)(param_2 + 0x1c)) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_2 + 0x2c)) * 0.25000000)); - param_1[0x11] = uVar4 & 0xffff0000 | uVar35 >> 0x10; - param_1[0x10] = 0xb4000000; - param_1[0x12] = 0xb2000000; - param_1[0x13] = uVar40 & 0xffff0000 | uVar32 >> 0x10; - param_1[0x14] = 0xb4000000; - param_1[0x15] = uVar7 & 0xffff0000 | uVar8 >> 0x10; - param_1[0x16] = 0xb2000000; - param_1[0x17] = uVar9 & 0xffff0000 | uVar10 >> 0x10; - param_1[0x19] = uVar4 << 0x10 | uVar35 & 0xffff; - param_1[0x18] = 0xb4000000; - param_1[0x1a] = 0xb2000000; - param_1[0x1b] = uVar40 << 0x10 | uVar32 & 0xffff; - param_1[0x1c] = 0xb4000000; - param_1[0x1d] = uVar7 << 0x10 | uVar8 & 0xffff; - param_1[0x1e] = 0xb2000000; - param_1[0x1f] = uVar9 << 0x10 | uVar10 & 0xffff; - param_1[0x21] = uVar11 & 0xffff0000 | uVar12 >> 0x10; - param_1[0x20] = 0xb4000000; - param_1[0x22] = 0xb2000000; - param_1[0x23] = uVar13 & 0xffff0000 | uVar14 >> 0x10; - param_1[0x24] = 0xb4000000; - param_1[0x25] = uVar11 & 0xffff0000 | uVar12 >> 0x10; - param_1[0x26] = 0xb2000000; - param_1[0x27] = uVar13 & 0xffff0000 | uVar14 >> 0x10; - param_1[0x29] = uVar11 << 0x10 | uVar12 & 0xffff; - param_1[0x28] = 0xb4000000; - param_1[0x2a] = 0xb2000000; - param_1[0x2b] = uVar13 << 0x10 | uVar14 & 0xffff; - param_1[0x2c] = 0xb4000000; - param_1[0x2d] = uVar11 << 0x10 | uVar12 & 0xffff; - param_1[0x2f] = uVar13 << 0x10 | uVar14 & 0xffff; - param_1[0x2e] = 0xb2000000; - fStack668 = fStack364 * 0.03125000; - fStack664 = fStack360 * 0.03125000; - pfVar5 = &fStack508; - fStack660 = fStack292 * 0.03125000; - pfVar23 = &fStack700; - pfVar20 = &fStack476; - pfVar6 = &fStack732; - do { - fVar29 = *pfVar5; - if (fVar29 < 0.00000000) { - fVar29 = -fVar29; - } - fVar30 = *pfVar20; - *pfVar23 = fVar29 * 0.03125000; - if (fVar30 < 0.00000000) { - fVar30 = -fVar30; - } - pfVar24 = pfVar6 + 1; - pfVar20 = pfVar20 + 1; - pfVar5 = pfVar5 + 1; - pfVar23 = pfVar23 + 1; - *pfVar6 = fVar30 * 0.03125000; - pfVar6 = pfVar24; - } while (pfVar24 != afStack716); - fStack732 = fStack732 + fStack668 + fStack700 * 2.00000000; - fStack728 = fStack728 + fStack664 + fStack696 * 2.00000000; - fStack724 = fStack724 + fStack660 + fStack692 * 2.00000000; - if (fStack728 <= fStack732) { - fStack728 = fStack732; - } - if (fStack724 <= fStack728) { - fStack724 = fStack728; - } - if (1.00000000 < fStack724 * 0.00097656) { - fVar29 = 1.00000000 / (fStack724 * 0.00097656); - } - else { - fVar29 = 1.00000000; - } - uVar4 = FUN_7f094e38(fVar29 * fStack636); - uVar35 = FUN_7f094e38(fVar29 * fStack632); - uVar40 = FUN_7f094e38(fVar29 * fStack628); - uVar32 = FUN_7f094e38(fVar29 * fStack624); - uVar7 = FUN_7f094e38(fVar29 * fStack508); - uVar8 = FUN_7f094e38(fVar29 * fStack504); - uVar9 = FUN_7f094e38(fVar29 * fStack500); - uVar10 = FUN_7f094e38(fVar29 * fStack496); - uVar11 = FUN_7f094e38(fVar29 * fStack476); - uVar12 = FUN_7f094e38(fVar29 * fStack472); - uVar13 = FUN_7f094e38(fVar29 * fStack468); - uVar14 = FUN_7f094e38(fVar29 * fStack464); - uVar15 = FUN_7f094e38(fVar29 * fStack604); - uVar16 = FUN_7f094e38(fVar29 * fStack600); - uVar17 = FUN_7f094e38(fVar29 * fStack596); - uVar18 = FUN_7f094e38(fVar29 * fStack592); - param_1[0x30] = 0xb4000000; - param_1[0x31] = uVar4 & 0xffff0000 | uVar35 >> 0x10; - param_1[0x32] = 0xb2000000; - param_1[0x33] = uVar40 & 0xffff0000 | uVar32 >> 0x10; - param_1[0x34] = 0xb4000000; - param_1[0x35] = uVar7 & 0xffff0000 | uVar8 >> 0x10; - param_1[0x36] = 0xb2000000; - param_1[0x37] = uVar9 & 0xffff0000 | uVar10 >> 0x10; - param_1[0x38] = 0xb4000000; - param_1[0x39] = uVar4 << 0x10 | uVar35 & 0xffff; - param_1[0x3a] = 0xb2000000; - param_1[0x3b] = uVar40 << 0x10 | uVar32 & 0xffff; - param_1[0x3c] = 0xb4000000; - param_1[0x3d] = uVar7 << 0x10 | uVar8 & 0xffff; - param_1[0x3e] = 0xb2000000; - param_1[0x3f] = uVar9 << 0x10 | uVar10 & 0xffff; - param_1[0x40] = 0xb4000000; - param_1[0x41] = uVar15 & 0xffff0000 | uVar16 >> 0x10; - param_1[0x43] = uVar17 & 0xffff0000 | uVar18 >> 0x10; - param_1[0x42] = 0xb2000000; - param_1[0x44] = 0xb4000000; - param_1[0x45] = uVar11 & 0xffff0000 | uVar12 >> 0x10; - param_1[0x46] = 0xb2000000; - param_1[0x47] = uVar13 & 0xffff0000 | uVar14 >> 0x10; - param_1[0x48] = 0xb4000000; - param_1[0x49] = uVar15 << 0x10 | uVar16 & 0xffff; - param_1[0x4a] = 0xb2000000; - param_1[0x4b] = uVar17 << 0x10 | uVar18 & 0xffff; - in_v1_hi = (int)(param_1 + 0x4c) >> 0x1f; - param_1[0x4c] = 0xb4000000; - param_1[0x4d] = uVar11 << 0x10 | uVar12 & 0xffff; - param_1[0x4e] = 0xb3000000; - param_1[0x4f] = uVar13 << 0x10 | uVar14 & 0xffff; - cVar19 += '@'; -LAB_7f09ae6c: - return (undefined4 *)CONCAT13(cVar19,(int3)((uint)in_v1_hi >> 8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09ae80(void) - -{ - _DAT_80079fbc = 0x3f800000; - _DAT_80079fc4 = 0x3f800000; - _DAT_8007a02c = 0x3f800000; - _DAT_8007a034 = 0x3f800000; - _DAT_8007a09c = 0x3f800000; - _DAT_8007a0a4 = 0x3f800000; - _DAT_8007a10c = 0x3f800000; - _DAT_8007a114 = 0x3f800000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09aecc(void) - -{ - _DAT_80079f50 = 0; - _DAT_80079f54 = 0; - _DAT_80079f58 = 0; - _DAT_80079f5c = 0; - _DAT_8007a120 = 0; - _DAT_8007a124 = 0; - _DAT_8007a128 = 0; - _DAT_8007a12c = 0; - _DAT_8007a130 = 0; - _DAT_8007a134 = 1; - _DAT_8007a138 = 2; - _DAT_8007a13c = 3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09af2c(int param_1) - -{ - undefined2 uVar1; - undefined2 uVar2; - int iVar3; - - _DAT_80079f50 = 0; - _DAT_80079f54 = 0; - _DAT_80079f58 = 0; - _DAT_80079f5c = 0; - _DAT_8007a12c = FUN_7000a460(); - _DAT_8007a12c &= 0xff; - if (param_1 < 1) { - FUN_7f09b05c(0); - FUN_7f09bcac(0); - uVar1 = FUN_7000449c(); - uVar2 = get_video2_settings_height(); - FUN_7f09bd7c(uVar1,uVar2); - uVar1 = FUN_70004514(); - uVar2 = get_video2_settings_uly(); - FUN_7f09bd98(uVar1,uVar2); - } - else { - iVar3 = 0; - if (0 < param_1) { - do { - FUN_7f09b05c(iVar3); - iVar3 += 1; - } while (iVar3 != param_1); - } - FUN_7f09bcac(0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong get_num_players(void) - -{ - ulonglong uVar1; - - uVar1 = (ulonglong)(_DAT_80079f50 != 0); - if (_DAT_80079f54 != 0) { - uVar1 = SEXT48((int)((uint)(_DAT_80079f50 != 0) + 1)); - } - if (_DAT_80079f58 != 0) { - uVar1 = SEXT48((int)uVar1 + 1); - } - if (_DAT_80079f5c != 0) { - uVar1 = SEXT48((int)uVar1 + 1); - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09b05c(int param_1) - -{ - undefined4 uVar1; - int iVar2; - int *piVar3; - int iVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 auStack940 [234]; - undefined4 uStack4; - - puVar6 = &DAT_8003fdd0; - puVar5 = auStack940; - do { - puVar7 = puVar6 + 3; - *puVar5 = *puVar6; - puVar5[1] = puVar6[1]; - puVar5[2] = puVar6[2]; - puVar6 = puVar7; - puVar5 = puVar5 + 3; - } while (puVar7 != (undefined4 *)0x80040178); - puVar6 = (undefined4 *)FUN_70009730(0x2a80,4); - piVar3 = (int *)(&DAT_80079f50 + param_1 * 4); - *(undefined4 **)piVar3 = puVar6; - *puVar6 = 0; - *(undefined4 *)(*piVar3 + 4) = 0; - *(undefined4 *)(*piVar3 + 8) = 0; - *(undefined4 *)(*piVar3 + 0xc) = 0; - *(undefined4 *)(*piVar3 + 0x10) = 0; - *(undefined4 *)(*piVar3 + 0x14) = 0; - *(undefined4 *)(*piVar3 + 0x18) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x1c) = 0; - *(undefined4 *)(*piVar3 + 0x20) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x24) = 0; - *(undefined4 *)(*piVar3 + 0x28) = 0; - *(undefined4 *)(*piVar3 + 0x2c) = 0; - *(undefined4 *)(*piVar3 + 0x30) = 0; - *(undefined4 *)(*piVar3 + 0x34) = 0; - *(undefined4 *)(*piVar3 + 0x38) = 0; - *(undefined4 *)(*piVar3 + 0x3c) = 0; - *(undefined4 *)(*piVar3 + 0x40) = 0; - *(undefined4 *)(*piVar3 + 0x44) = 0; - *(undefined4 *)(*piVar3 + 0x48) = 0; - *(undefined4 *)(*piVar3 + 0x4c) = 0; - *(undefined4 *)(*piVar3 + 0x50) = 0; - *(undefined4 *)(*piVar3 + 0x54) = 0; - *(undefined4 *)(*piVar3 + 0x58) = 0; - *(undefined4 *)(*piVar3 + 0x6c) = 0; - *(undefined4 *)(*piVar3 + 0x70) = 0; - *(undefined4 *)(*piVar3 + 0x74) = 0; - *(undefined4 *)(*piVar3 + 0x78) = 0; - *(undefined4 *)(*piVar3 + 0x7c) = 0; - *(undefined4 *)(*piVar3 + 0x80) = 0; - *(undefined4 *)(*piVar3 + 0x84) = 0; - *(undefined4 *)(*piVar3 + 0x88) = 0; - *(undefined4 *)(*piVar3 + 0x8c) = 0; - *(undefined4 *)(*piVar3 + 0x90) = 0; - *(undefined4 *)(*piVar3 + 0x94) = 0; - *(undefined4 *)(*piVar3 + 0x98) = 0; - *(undefined4 *)(*piVar3 + 0x1274) = 0; - *(undefined4 *)(*piVar3 + 0x1278) = 0; - *(undefined4 *)(*piVar3 + 0x127c) = 0; - *(undefined4 *)(*piVar3 + 0x9c) = 2; - *(undefined4 *)(*piVar3 + 0x29fc) = 2; - *(undefined4 *)(*piVar3 + 0xa0) = 0; - *(undefined4 *)(*piVar3 + 0xa4) = 0; - *(undefined4 *)(*piVar3 + 0xa8) = 0; - *(undefined4 *)(*piVar3 + 0xac) = 1; - *(undefined4 *)(*piVar3 + 0xd0) = 0; - *(undefined4 *)(*piVar3 + 0xd4) = 0; - *(undefined4 *)(*piVar3 + 0xd8) = 0; - *(undefined4 *)(*piVar3 + 0xdc) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xe0) = 0; - *(undefined4 *)(*piVar3 + 0xe4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xe8) = 0; - *(undefined4 *)(*piVar3 + 0xec) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xf0) = 0; - *(undefined4 *)(*piVar3 + 0xf4) = 0xbf800000; - *(undefined4 *)(*piVar3 + 0xf8) = 0xbf800000; - *(undefined4 *)(*piVar3 + 0x104) = 0; - *(undefined4 *)(*piVar3 + 0x108) = 0; - *(undefined4 *)(*piVar3 + 0x10c) = 0; - *(undefined4 *)(*piVar3 + 0x110) = 0; - *(undefined4 *)(*piVar3 + 0x114) = 1; - *(undefined4 *)(*piVar3 + 0x118) = 1; - *(undefined4 *)(*piVar3 + 0x11c) = 0; - *(undefined4 *)(*piVar3 + 0x120) = 1; - *(undefined4 *)(*piVar3 + 0x124) = 0; - *(undefined4 *)(*piVar3 + 0x128) = 1; - *(undefined4 *)(*piVar3 + 300) = 0; - *(undefined4 *)(*piVar3 + 0x130) = 0; - *(undefined4 *)(*piVar3 + 0x134) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x138) = 1; - *(undefined4 *)(*piVar3 + 0x13c) = 0; - *(undefined4 *)(*piVar3 + 0x140) = 0; - *(undefined4 *)(*piVar3 + 0x144) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x148) = 0; - *(undefined4 *)(*piVar3 + 0x14c) = 0; - *(undefined4 *)(*piVar3 + 0x150) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x154) = 0; - *(undefined4 *)(*piVar3 + 0x158) = 0xc0800000; - *(undefined4 *)(*piVar3 + 0x15c) = DAT_80057640; - *(undefined4 *)(*piVar3 + 0x160) = 0; - *(undefined4 *)(*piVar3 + 0x164) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x168) = 0; - *(undefined4 *)(*piVar3 + 0x16c) = 0; - *(undefined4 *)(*piVar3 + 0x170) = 0; - *(undefined4 *)(*piVar3 + 0x174) = 0; - *(undefined4 *)(*piVar3 + 0x2a4c) = 0; - *(undefined4 *)(*piVar3 + 0x178) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x180) = 0; - *(undefined4 *)(*piVar3 + 0x184) = 0; - *(undefined4 *)(*piVar3 + 0x188) = 0; - *(undefined4 *)(*piVar3 + 0x18c) = 0xbf800000; - *(undefined4 *)(*piVar3 + 400) = 0xbf800000; - *(undefined4 *)(*piVar3 + 0x194) = 0; - *(undefined4 *)(*piVar3 + 0x198) = 0; - *(undefined4 *)(*piVar3 + 0x19c) = 0; - *(undefined4 *)(*piVar3 + 0x1a0) = 0; - *(undefined4 *)(*piVar3 + 0x1c0) = 0; - *(undefined4 *)(*piVar3 + 0x1c4) = 0; - *(undefined4 *)(*piVar3 + 0x1c8) = 0; - *(undefined4 *)(*piVar3 + 0x1cc) = 1; - *(undefined4 *)(*piVar3 + 0x1d0) = 0; - *(undefined4 *)(*piVar3 + 0x1d4) = 0; - *(undefined4 *)(*piVar3 + 0x1d8) = 0; - *(undefined4 *)(*piVar3 + 0x1dc) = 0xc1c80000; - *(undefined4 *)(*piVar3 + 0x1e0) = 0; - *(undefined4 *)(*piVar3 + 0x1e4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x1e8) = 0; - *(undefined4 *)(*piVar3 + 0x1ec) = 0; - *(undefined4 *)(*piVar3 + 0x1f0) = 0; - *(undefined4 *)(*piVar3 + 500) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x200) = 0; - *(undefined4 *)(*piVar3 + 0x204) = 0; - *(undefined4 *)(*piVar3 + 0x208) = 0; - *(undefined4 *)(*piVar3 + 0x20c) = 0; - *(undefined4 *)(*piVar3 + 0x210) = 0; - *(undefined4 *)(*piVar3 + 0x214) = 0; - *(undefined4 *)(*piVar3 + 0x218) = 0; - *(undefined4 *)(*piVar3 + 0x21c) = 1; - *(undefined4 *)(*piVar3 + 0x220) = 0; - *(undefined4 *)(*piVar3 + 0x224) = 0; - *(undefined2 *)(*piVar3 + 0x3b4) = 0; - *(undefined2 *)(*piVar3 + 0x3b6) = 0; - *(undefined4 *)(*piVar3 + 0x3b8) = 0; - *(undefined4 *)(*piVar3 + 0x3bc) = 0; - *(undefined4 *)(*piVar3 + 0x3c0) = DAT_80057644; - *(undefined4 *)(*piVar3 + 0x3c4) = 0; - *(undefined4 *)(*piVar3 + 0x3c8) = 0; - *(undefined4 *)(*piVar3 + 0x3cc) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x3d0) = 0xff; - *(undefined4 *)(*piVar3 + 0x3d4) = 0xff; - *(undefined4 *)(*piVar3 + 0x3d8) = 0xff; - *(undefined4 *)(*piVar3 + 0x3dc) = 0; - *(undefined4 *)(*piVar3 + 0x3e0) = 0xbf800000; - *(undefined4 *)(*piVar3 + 0x3e4) = 0xbf800000; - *(undefined4 *)(*piVar3 + 1000) = 0xff; - *(undefined4 *)(*piVar3 + 0x3ec) = 0xff; - *(undefined4 *)(*piVar3 + 0x3f0) = 0xff; - *(undefined4 *)(*piVar3 + 0x3f4) = 0xff; - *(undefined4 *)(*piVar3 + 0x3f8) = 0xff; - *(undefined4 *)(*piVar3 + 0x3fc) = 0xff; - iVar2 = 0; - *(undefined4 *)(*piVar3 + 0x400) = 0; - *(undefined4 *)(*piVar3 + 0x404) = 0; - *(undefined4 *)(*piVar3 + 0x41c) = 0; - *(undefined4 *)(*piVar3 + 0x420) = 1; - *(undefined4 *)(*piVar3 + 0x424) = 0; - *(undefined4 *)(*piVar3 + 0x428) = 0; - *(undefined4 *)(*piVar3 + 0x42c) = 2; - *(undefined4 *)(*piVar3 + 0x430) = 0; - *(undefined4 *)(*piVar3 + 0x4dc) = 1; - *(undefined4 *)(*piVar3 + 0x4e0) = 1; - *(undefined4 *)(*piVar3 + 0x4e4) = 1; - *(undefined4 *)(*piVar3 + 0x4e8) = 0; - *(undefined4 *)(*piVar3 + 0x4ec) = DAT_80057648; - *(undefined4 *)(*piVar3 + 0x4f0) = 0; - *(undefined4 *)(*piVar3 + 0x4f4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x4f8) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x4fc) = 0; - *(undefined4 *)(*piVar3 + 0x500) = 0; - *(undefined4 *)(*piVar3 + 0x504) = 0; - uVar1 = DAT_8005764c; - *(undefined4 *)(*piVar3 + 0x508) = 0; - *(undefined4 *)(*piVar3 + 0x50c) = 0; - *(undefined4 *)(*piVar3 + 0x510) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x514) = 0; - *(undefined4 *)(*piVar3 + 0x518) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x51c) = 0; - *(undefined4 *)(*piVar3 + 0x520) = 0; - *(undefined4 *)(*piVar3 + 0x524) = 0; - *(undefined4 *)(*piVar3 + 0x528) = 0; - *(undefined4 *)(*piVar3 + 0x52c) = 0; - *(undefined4 *)(*piVar3 + 0x530) = 0; - *(undefined4 *)(*piVar3 + 0x534) = uVar1; - *(undefined4 *)(*piVar3 + 0x538) = 0; - *(undefined4 *)(*piVar3 + 0x53c) = uVar1; - *(undefined4 *)(*piVar3 + 0x540) = 0; - *(undefined4 *)(*piVar3 + 0x544) = 0; - *(undefined4 *)(*piVar3 + 0x548) = 0; - *(undefined4 *)(*piVar3 + 0x54c) = 0; - *(undefined4 *)(*piVar3 + 0x550) = 0; - *(undefined4 *)(*piVar3 + 0x554) = 0; - *(undefined4 *)(*piVar3 + 0x558) = 0; - *(undefined4 *)(*piVar3 + 0x55c) = 0; - *(undefined4 *)(*piVar3 + 0x560) = 0; - *(undefined4 *)(*piVar3 + 0x564) = 0; - *(undefined4 *)(*piVar3 + 0x568) = 0; - *(undefined4 *)(*piVar3 + 0x56c) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x570) = 0; - *(undefined4 *)(*piVar3 + 0x574) = 0; - *(undefined4 *)(*piVar3 + 0x578) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x57c) = 0; - *(undefined4 *)(*piVar3 + 0x580) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x584) = 0; - *(undefined4 *)(*piVar3 + 0x588) = 0; - *(undefined4 *)(*piVar3 + 0x58c) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x590) = 0; - *(undefined4 *)(*piVar3 + 0x594) = 0; - do { - *(undefined2 *)(*piVar3 + iVar2 + 2000) = 0x280; - *(undefined2 *)(*piVar3 + iVar2 + 0x7d2) = 0x1e0; - *(undefined2 *)(*piVar3 + iVar2 + 0x7d4) = 0x1ff; - *(undefined2 *)(*piVar3 + iVar2 + 0x7d6) = 0; - *(undefined2 *)(*piVar3 + iVar2 + 0x7d8) = 0x280; - *(undefined2 *)(*piVar3 + iVar2 + 0x7da) = 0x1e0; - *(undefined2 *)(*piVar3 + iVar2 + 0x7dc) = 0x1ff; - iVar4 = *piVar3 + iVar2; - iVar2 += 0x10; - *(undefined2 *)(iVar4 + 0x7de) = 0; - } while (iVar2 != 0x20); - *(undefined2 *)(*piVar3 + 0x7f0) = 100; - *(undefined2 *)(*piVar3 + 0x7f2) = 100; - *(undefined2 *)(*piVar3 + 0x7f4) = 0; - *(undefined2 *)(*piVar3 + 0x7f6) = 0; - *(undefined4 *)(*piVar3 + 0x7f8) = 0; - *(undefined4 *)(*piVar3 + 0x7fc) = 0; - *(undefined4 *)(*piVar3 + 0x800) = 0; - *(undefined4 *)(*piVar3 + 0x804) = 0; - *(undefined4 *)(*piVar3 + 0x2a44) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x2a48) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x2a50) = 0; - *(undefined4 *)(*piVar3 + 0x2a54) = 0; - *(undefined4 *)(*piVar3 + 0x808) = 0; - *(undefined4 *)(*piVar3 + 0x80c) = 0; - iVar2 = *piVar3; - puVar6 = auStack940; - do { - puVar5 = puVar6 + 3; - *(undefined4 *)(iVar2 + 0x870) = *puVar6; - *(undefined4 *)(iVar2 + 0x874) = puVar6[1]; - *(undefined4 *)(iVar2 + 0x878) = puVar6[2]; - iVar2 = iVar2 + 0xc; - puVar6 = puVar5; - } while (puVar5 != &uStack4); - puVar6 = auStack940; - iVar2 = *piVar3; - do { - puVar5 = puVar6 + 3; - *(undefined4 *)(iVar2 + 0xc18) = *puVar6; - *(undefined4 *)(iVar2 + 0xc1c) = puVar6[1]; - *(undefined4 *)(iVar2 + 0xc20) = puVar6[2]; - puVar6 = puVar5; - iVar2 = iVar2 + 0xc; - } while (puVar5 != &uStack4); - *(undefined4 *)(*piVar3 + 0xfc0) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xfc4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0xfc8) = 0; - *(undefined4 *)(*piVar3 + 0xfcc) = 0; - uVar1 = DAT_80057650; - *(undefined4 *)(*piVar3 + 0xfd0) = 0; - *(undefined4 *)(*piVar3 + 0xfd4) = 0; - *(undefined4 *)(*piVar3 + 0xfd8) = 0; - *(undefined *)(*piVar3 + 0xfdc) = 0xff; - *(undefined *)(*piVar3 + 0xfdd) = 0xff; - *(undefined *)(*piVar3 + 0xfde) = 0xff; - *(undefined *)(*piVar3 + 0xfdf) = 0; - *(undefined4 *)(*piVar3 + 0xfe0) = 1; - *(undefined4 *)(*piVar3 + 0xfe4) = 0; - *(undefined4 *)(*piVar3 + 0xfe8) = 0; - *(undefined4 *)(*piVar3 + 0xfec) = 0; - *(undefined4 *)(*piVar3 + 0xff0) = 0; - *(undefined4 *)(*piVar3 + 0xff4) = 0; - *(undefined4 *)(*piVar3 + 0xff8) = uVar1; - *(undefined4 *)(*piVar3 + 0xffc) = 0; - *(undefined4 *)(*piVar3 + 0x1000) = 0; - *(undefined4 *)(*piVar3 + 0x1004) = 0; - *(undefined4 *)(*piVar3 + 0x1008) = 0; - *(undefined4 *)(*piVar3 + 0x100c) = uVar1; - *(undefined4 *)(*piVar3 + 0x1010) = 0; - *(undefined4 *)(*piVar3 + 0x1014) = DAT_80057654; - *(undefined4 *)(*piVar3 + 0x1018) = 0; - *(undefined4 *)(*piVar3 + 0x105c) = 0; - *(undefined4 *)(*piVar3 + 0x1060) = 0; - *(undefined4 *)(*piVar3 + 0x1064) = 0; - *(undefined4 *)(*piVar3 + 0x106c) = 0; - *(undefined4 *)(*piVar3 + 0x1070) = 0; - *(undefined4 *)(*piVar3 + 0x1074) = 0; - *(undefined4 *)(*piVar3 + 0x1078) = 0; - *(undefined4 *)(*piVar3 + 0x107c) = 0; - *(undefined4 *)(*piVar3 + 0x1080) = 0; - *(undefined4 *)(*piVar3 + 0x1084) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x1088) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x108c) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x1090) = 0x43a00000; - *(undefined4 *)(*piVar3 + 0x1094) = 0x43700000; - *(undefined4 *)(*piVar3 + 0x1098) = 0; - *(undefined4 *)(*piVar3 + 0x109c) = 0; - *(undefined4 *)(*piVar3 + 0x10a0) = 0x41200000; - *(undefined4 *)(*piVar3 + 0x10a4) = 0x42380000; - *(undefined4 *)(*piVar3 + 0x10a8) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10ac) = 0x43200000; - *(undefined4 *)(*piVar3 + 0x10b0) = 0x42f00000; - *(undefined4 *)(*piVar3 + 0x10b4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10b8) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10bc) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10c0) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10c4) = 0; - *(undefined4 *)(*piVar3 + 0x10c8) = 0; - *(undefined4 *)(*piVar3 + 0x10cc) = 0; - *(undefined4 *)(*piVar3 + 0x10d0) = 0; - *(undefined4 *)(*piVar3 + 0x10d4) = 0; - *(undefined4 *)(*piVar3 + 0x10d8) = 0; - *(undefined4 *)(*piVar3 + 0x10dc) = 0; - *(undefined4 *)(*piVar3 + 0x10e0) = 0; - *(undefined4 *)(*piVar3 + 0x10e4) = 0; - *(undefined4 *)(*piVar3 + 0x10e8) = 0; - *(undefined4 *)(*piVar3 + 0x10ec) = 0; - *(undefined4 *)(*piVar3 + 0x10f0) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10f4) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10f8) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x10fc) = 0x10000; - *(undefined4 *)(*piVar3 + 0x1118) = 0; - *(undefined4 *)(*piVar3 + 0x111c) = 0; - *(undefined4 *)(*piVar3 + 0x1120) = 0x43a00000; - *(undefined4 *)(*piVar3 + 0x1124) = 0x43700000; - *(undefined4 *)(*piVar3 + 0x1128) = 0; - *(undefined4 *)(*piVar3 + 0x11b0) = 0; - *(undefined4 *)(*piVar3 + 0x11b4) = 0; - *(undefined4 *)(*piVar3 + 0x11b8) = 0; - *(undefined4 *)(*piVar3 + 0x11bc) = 0; - *(undefined4 *)(*piVar3 + 0x11c0) = 0; - *(undefined4 *)(*piVar3 + 0x11c4) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x11c8) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x11cc) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x11d0) = 0x42700000; - *(undefined4 *)(*piVar3 + 0x11d4) = DAT_80057658; - *(undefined4 *)(*piVar3 + 0x11d8) = 0; - *(undefined4 *)(*piVar3 + 0x11dc) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x11e0) = 0; - *(undefined4 *)(*piVar3 + 0x11e4) = 0; - *(undefined4 *)(*piVar3 + 0x11e8) = 0; - *(undefined4 *)(*piVar3 + 0x11ec) = 0; - *(undefined4 *)(*piVar3 + 0x11f0) = 0; - *(undefined4 *)(*piVar3 + 0x11f4) = 0; - *(undefined4 *)(*piVar3 + 0x1280) = 0; - *(undefined4 *)(*piVar3 + 0x1284) = 0; - *(undefined4 *)(*piVar3 + 0x1288) = 0; - *(undefined *)(*piVar3 + 0x12b6) = 0; - *(undefined4 *)(*piVar3 + 0x29b8) = 7; - *(undefined4 *)(*piVar3 + 0x29bc) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x29c0) = 0; - *(undefined4 *)(*piVar3 + 0x29c4) = 0; - *(undefined4 *)(*piVar3 + 0x29d4) = 7; - *(undefined4 *)(*piVar3 + 0x29d8) = 0; - *(int *)(*piVar3 + 0x29e0) = _DAT_8007a12c; - _DAT_8007a12c += 1; - *(undefined4 *)(*piVar3 + 0x29e4) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x29e8) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x29ec) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x29f0) = 0xffffffff; - *(undefined4 *)(*piVar3 + 0x2a00) = 0; - *(undefined4 *)(*piVar3 + 0x2a30) = 0; - *(undefined4 *)(*piVar3 + 0x2a34) = 0; - *(undefined4 *)(*piVar3 + 0x2a38) = 1; - *(undefined4 *)(*piVar3 + 0x2a3c) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x2a40) = 0x3f800000; - *(undefined4 *)(*piVar3 + 0x2a58) = 0; - *(undefined4 *)(*piVar3 + 0x2a5c) = 0; - *(undefined4 *)(*piVar3 + 0x2a60) = 0; - *(undefined4 *)(*piVar3 + 0x2a64) = 0; - *(undefined4 *)(*piVar3 + 0x2a68) = 1; - *(undefined4 *)(*piVar3 + 0x2a6c) = 0; - *(undefined4 *)(*piVar3 + 0x2a70) = 0; - DAT_80036504 = 1; - DAT_80036508 = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09bcac(int param_1) - -{ - _DAT_8007a120 = *(undefined4 *)(&DAT_80079f50 + param_1 * 4); - _DAT_8007a124 = &DAT_80079f60 + param_1 * 0x70; - _DAT_8007a128 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 get_cur_playernum(void) - -{ - return _DAT_8007a128; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f09bcfc(int param_1) - -{ - int iVar1; - ulonglong uVar2; - int *piVar3; - longlong lVar4; - - lVar4 = 0; - uVar2 = get_num_players(); - if ((longlong)uVar2 < 1) { -LAB_7f09bd60: - lVar4 = -1; - } - else { - piVar3 = (int *)&DAT_80079f50; - iVar1 = _DAT_80079f50; - while (piVar3 = piVar3 + 1, param_1 != *(int *)(iVar1 + 0xa8)) { - lVar4 = (longlong)((int)lVar4 + 1); - uVar2 = get_num_players(); - if ((longlong)uVar2 <= lVar4) goto LAB_7f09bd60; - iVar1 = *piVar3; - } - } - return lVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09bd7c(undefined2 param_1,undefined2 param_2) - -{ - *(undefined2 *)(_DAT_8007a120 + 0x7f0) = param_1; - *(undefined2 *)(_DAT_8007a120 + 0x7f2) = param_2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09bd98(undefined2 param_1,undefined2 param_2) - -{ - *(undefined2 *)(_DAT_8007a120 + 0x7f4) = param_1; - *(undefined2 *)(_DAT_8007a120 + 0x7f6) = param_2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09bdb4(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x11d0) = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09bdc4(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x11d4) = param_1; - return; -} - - - -undefined8 def_7F09B27C(ulonglong param_1) - -{ - undefined8 uVar1; - - uVar1 = 0xffffffffffffffff; - if ((longlong)param_1 < 0x20) { - if (param_1 < 0x20) { - // WARNING: Could not recover jumptable at 0x7f09be1c. Too many branches - // WARNING: Treating indirect jump as call - uVar1 = (*(code *)(&PTR_LAB_8005765c)[(int)param_1])(); - return uVar1; - } - } - else { - if (param_1 != 0x58) { - return 0xffffffffffffffff; - } - uVar1 = 0x14d; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09bf08(int param_1) - -{ - locret_7F05220C(*(int *)(*(int *)(_DAT_8007a120 + 0xa8) + 4),param_1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f09bf38(uint param_1) - -{ - undefined2 *puVar1; - longlong lVar2; - int iVar3; - undefined *puVar4; - uint uVar5; - - puVar1 = *(undefined2 **)(*(int *)(_DAT_8007a120 + 0xa8) + 4); - lVar2 = (longlong)(int)puVar1; - if (*(int *)(puVar1 + param_1 * 2 + 0xb0) == 0) { - iVar3 = FUN_7f05def0(param_1); - lVar2 = def_7F09B27C((longlong)iVar3); - if (-1 < lVar2) { - if ((param_1 & 0x3fffffff) == 0) { - uVar5 = 0; - } - else { - uVar5 = 0x10000000; - } - puVar4 = loc_7F0523BC(puVar1,(int)lVar2,(char)iVar3,uVar5,NULL,NULL); - lVar2 = (longlong)(int)puVar4; - } - } - return lVar2; -} - - - -void loc_7F09B4A4(void) - -{ - undefined4 uVar1; - uint uVar2; - undefined4 *puVar3; - uint uVar4; - int iVar5; - int *piVar6; - undefined4 *puVar7; - undefined4 *puVar8; - - piVar6 = (int *)&DAT_8007a130; - iVar5 = 0; - do { - *piVar6 = iVar5; - iVar5 += 1; - piVar6 = piVar6 + 1; - } while (iVar5 < 4); - puVar8 = (undefined4 *)&DAT_8007a130; - iVar5 = 0; - puVar7 = puVar8; - do { - uVar2 = FUN_7000a460(); - uVar4 = 4 - iVar5; - puVar3 = puVar8 + uVar2 % uVar4; - uVar1 = *puVar7; - iVar5 += 1; - if (uVar4 == 0) { - trap(0x1c00); - } - *puVar7 = *puVar3; - puVar8 = puVar8 + 1; - puVar7 = puVar7 + 1; - *puVar3 = uVar1; - } while (iVar5 != 3); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f09c078(int param_1) - -{ - int iVar1; - int iVar2; - int *piVar3; - - iVar2 = 0; - piVar3 = (int *)&DAT_8007a130; - iVar1 = _DAT_8007a130; - while( true ) { - piVar3 = piVar3 + 1; - if (param_1 == iVar1) { - return iVar2; - } - if (*(int *)(&DAT_80079f50 + iVar1 * 4) != 0) { - iVar2 += 1; - } - if (piVar3 == (int *)&DAT_8007a140) break; - iVar1 = *piVar3; - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f09c0c8(int param_1) - -{ - if (*(int *)(&DAT_80079f50 + _DAT_8007a130 * 4) != 0) { - if (param_1 == 0) { - return _DAT_8007a130; - } - param_1 += -1; - } - if (*(int *)(&DAT_80079f50 + _DAT_8007a134 * 4) != 0) { - if (param_1 == 0) { - return _DAT_8007a134; - } - param_1 += -1; - } - if (*(int *)(&DAT_80079f50 + _DAT_8007a138 * 4) != 0) { - if (param_1 == 0) { - return _DAT_8007a138; - } - param_1 += -1; - } - if ((*(int *)(&DAT_80079f50 + _DAT_8007a13c * 4) != 0) && (param_1 == 0)) { - return _DAT_8007a13c; - } - return 0; -} - - - -void loc_7F09B70C(byte *param_1,byte *param_2,uint *param_3) - -{ - int iVar1; - uint uVar2; - byte *pbVar3; - uint uVar4; - uint uVar5; - uint uVar6; - int iStack16; - uint uStack12; - - uVar4 = 0; - iStack16 = -0x707f60b9; - uStack12 = 0x3108b3c1; - uVar5 = 0; - uVar6 = 0; - if (param_1 < param_2) { - pbVar3 = param_1; - do { - iVar1 = (uint)*pbVar3 << (uVar4 & 0xf); - uVar2 = iVar1 + uStack12; - iStack16 = (uint)(uVar2 < uStack12) + (iVar1 >> 0x1f) + iStack16; - uStack12 = uVar2; - uVar2 = lotsa_shifting_randomizer_related((ulonglong *)&iStack16); - pbVar3 = pbVar3 + 1; - uVar4 += 7; - uVar5 ^= uVar2; - } while (pbVar3 != param_2); - } - param_2 = param_2 + -1; - if (param_1 <= param_2) { - do { - iVar1 = (uint)*param_2 << (uVar4 & 0xf); - uVar2 = iVar1 + uStack12; - iStack16 = (uint)(uVar2 < uStack12) + (iVar1 >> 0x1f) + iStack16; - uStack12 = uVar2; - uVar2 = lotsa_shifting_randomizer_related((ulonglong *)&iStack16); - param_2 = param_2 + -1; - uVar4 += 3; - uVar6 ^= uVar2; - } while (param_2 != param_1 + -1); - } - *param_3 = uVar5; - param_3[1] = uVar6; - return; -} - - - -undefined4 FUN_7f09c2e0(void) - -{ - DAT_80040190 = ((DAT_80040190 << 0x3f) >> 0x1f | (DAT_80040190 << 0x1f) >> 0x20) ^ - (DAT_80040190 << 0x2c) >> 0x20; - DAT_80040190 = DAT_80040190 >> 0x14 & 0xfff ^ DAT_80040190; - return (int)DAT_80040190; -} - - - -void FUN_7f09c328(longlong param_1) - -{ - DAT_80040190 = param_1 + 1; - return; -} - - - -void FUN_7f09c340(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09c348(void) - -{ - int iVar1; - - iVar1 = 0; - if (0 < _DAT_8007a144) { - do { - iVar1 += 0x14; - } while (iVar1 < _DAT_8007a144 * 0x14); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09c384(void) - -{ - int iVar1; - - iVar1 = 0; - if (0 < _DAT_8007a14c) { - do { - iVar1 += 0x14; - } while (iVar1 < _DAT_8007a14c * 0x14); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09c3c0(void) - -{ - ulonglong uVar1; - int iVar2; - int iVar3; - - uVar1 = get_num_players(); - if ((longlong)uVar1 < 2) { - iVar2 = FUN_7f0beac4(); - if ((iVar2 == 0x1e) || (iVar2 == 0x1d)) { - _DAT_8007a140 = 500; - _DAT_8007a144 = 0x14; - _DAT_8007a148 = 500; - _DAT_8007a14c = 0x14; - } - else { - _DAT_8007a140 = 500; - _DAT_8007a144 = 0x14; - _DAT_8007a148 = 0x5dc; - _DAT_8007a14c = 0x28; - } - } - else { - _DAT_8007a140 = 3000; - _DAT_8007a144 = 0x50; - _DAT_8007a148 = 500; - _DAT_8007a14c = 0x14; - } - _DAT_8007a158 = (uint *)FUN_70009730(_DAT_8007a144 * 0x14,4); - _DAT_8007a150 = FUN_70009730(_DAT_8007a140 << 4,4); - _DAT_8007a15c = (uint *)FUN_70009730(_DAT_8007a14c * 0x14,4); - _DAT_8007a154 = FUN_70009730(_DAT_8007a148 << 4,4); - _DAT_8007a160 = (undefined2)_DAT_8007a140; - *_DAT_8007a158 = _DAT_8007a150; - *(short *)(_DAT_8007a158 + 3) = (short)_DAT_8007a140; - *(undefined2 *)((int)_DAT_8007a158 + 0xe) = 0; - iVar2 = 0x14; - *(undefined2 *)(_DAT_8007a158 + 4) = 0xffff; - iVar3 = 1; - *(undefined2 *)((int)_DAT_8007a158 + 0x12) = 0xffff; - if (1 < _DAT_8007a144) { - do { - iVar3 += 1; - *(undefined2 *)((int)_DAT_8007a158 + iVar2 + 0xe) = 0xffff; - iVar2 += 0x14; - } while (iVar3 < _DAT_8007a144); - } - iVar3 = 1; - _DAT_8007a162 = (undefined2)_DAT_8007a148; - iVar2 = 0x14; - *_DAT_8007a15c = _DAT_8007a154; - *(short *)(_DAT_8007a15c + 3) = (short)_DAT_8007a148; - *(undefined2 *)((int)_DAT_8007a15c + 0xe) = 0; - *(undefined2 *)(_DAT_8007a15c + 4) = 0xffff; - *(undefined2 *)((int)_DAT_8007a15c + 0x12) = 0xffff; - if (1 < _DAT_8007a14c) { - do { - iVar3 += 1; - *(undefined2 *)((int)_DAT_8007a15c + iVar2 + 0xe) = 0xffff; - iVar2 += 0x14; - } while (iVar3 < _DAT_8007a14c); - } - return; -} - - - -void loc_7F09BB9C(int param_1,int param_2) - -{ - char cVar1; - ushort uVar2; - int *piVar3; - ushort *puVar4; - ushort *puVar5; - char *pcVar6; - - pcVar6 = (char *)FUN_7f03a724(); - if (pcVar6 == NULL) { - return; - } - cVar1 = *pcVar6; - do { - if (cVar1 == '\x01') { - puVar4 = **(ushort ***)(*(int *)(*(int *)(pcVar6 + 4) + 0x14) + 8); - if (puVar4 == NULL) { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - uVar2 = *puVar4; - while ((uVar2 & 0xff) != 0x18) { - puVar5 = *(ushort **)(puVar4 + 10); - if ((puVar5 == NULL) && (puVar5 = puVar4, puVar4 != NULL)) { - puVar5 = *(ushort **)(puVar4 + 6); - while ((puVar5 == NULL && - (puVar4 = *(ushort **)(puVar4 + 4), puVar5 = puVar4, puVar4 != NULL))) { - puVar5 = *(ushort **)(puVar4 + 6); - } - } - if (puVar5 == NULL) goto LAB_7f09c730; - uVar2 = *puVar5; - puVar4 = puVar5; - } - piVar3 = (int *)loc_7F06C888(*(int *)(*(int *)(pcVar6 + 4) + 0x14),puVar4); - if (param_1 == *piVar3) { - *piVar3 = param_2; -LAB_7f09c730: - pcVar6 = *(char **)(pcVar6 + 0x24); - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - } - } - else { - pcVar6 = *(char **)(pcVar6 + 0x24); - } - if (pcVar6 == NULL) { - return; - } - cVar1 = *pcVar6; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09c75c(void) - -{ - short sVar1; - int iVar2; - bool bVar3; - int *piVar4; - int iVar5; - int iVar6; - int iVar7; - int *piVar8; - int iVar9; - int iVar10; - - bVar3 = false; - if ((longlong)_DAT_8007a162 < (longlong)(_DAT_8007a148 >> 2)) { - iVar10 = 0; - iVar5 = _DAT_8007a14c + -1; - iVar7 = _DAT_8007a14c; - iVar9 = _DAT_8007a15c; - if (0 < iVar5) { - do { - iVar2 = iVar10 * 0x14; - iVar6 = (iVar10 + 1) * 0x10000 >> 0x10; - if ((0 < *(short *)(iVar9 + iVar2 + 0xe)) && ((iVar10 + 1) * 0x10000 >> 0x10 < iVar7)) { - do { - iVar5 = iVar6 * 0x14; - piVar8 = (int *)(iVar9 + iVar2); - piVar4 = (int *)(iVar9 + iVar5); - if ((0 < *(short *)((int)piVar4 + 0xe)) && - ((piVar8[1] == piVar4[1] && (piVar8[2] == piVar4[2])))) { - bVar3 = true; - loc_7F09BB9C(*piVar4,*piVar8); - *(short *)(_DAT_8007a15c + iVar2 + 0xe) = - *(short *)(_DAT_8007a15c + iVar2 + 0xe) + *(short *)(_DAT_8007a15c + iVar5 + 0xe) - ; - *(undefined2 *)(_DAT_8007a15c + iVar5 + 0xe) = 0; - _DAT_8007a162 += *(short *)(_DAT_8007a15c + iVar5 + 0xc); - iVar7 = _DAT_8007a14c; - iVar9 = _DAT_8007a15c; - } - iVar6 = (int)(short)((short)iVar6 + 1); - } while (iVar6 < iVar7); - iVar5 = iVar7 + -1; - } - iVar10 = (int)(short)((short)iVar10 + 1); - } while (iVar10 < iVar5); - } - } - if (bVar3) { - bVar3 = false; - iVar7 = 0; - do { - iVar9 = _DAT_8007a15c + iVar7 * 0x14; - sVar1 = *(short *)(iVar9 + 0x10); - if (sVar1 < 0) { - bVar3 = true; - } - else { - if (*(short *)(iVar9 + 0xe) == 0) { - iVar5 = (int)sVar1 * 0x14; - if (*(short *)(_DAT_8007a15c + iVar5 + 0xe) == 0) { - *(short *)(iVar9 + 0xc) = - *(short *)(iVar9 + 0xc) + *(short *)(_DAT_8007a15c + iVar5 + 0xc); - *(undefined2 *)(_DAT_8007a15c + iVar5 + 0xe) = 0xffff; - sVar1 = *(short *)(_DAT_8007a15c + iVar5 + 0x10); - *(short *)(_DAT_8007a15c + iVar7 * 0x14 + 0x10) = sVar1; - if (-1 < sVar1) { - *(undefined2 *)(_DAT_8007a15c + (int)sVar1 * 0x14 + 0x12) = (short)iVar7; - } - goto LAB_7f09c990; - } - } - iVar7 = (int)sVar1; - } -LAB_7f09c990: - } while (!bVar3); - } - if ((longlong)_DAT_8007a162 < (longlong)(_DAT_8007a148 >> 2)) { - FUN_7f056b8c(); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F09C030(longlong param_1,longlong param_2,int param_3,int param_4) - -{ - short sVar1; - int *piVar2; - bool bVar3; - longlong lVar4; - int *piVar5; - int iVar6; - int *piVar7; - longlong lVar8; - longlong lVar9; - short *psVar10; - short sVar11; - int iVar12; - - if (param_2 == 0xb0b) { - psVar10 = (short *)&DAT_8007a162; - sVar1 = _DAT_8007a14e; - piVar2 = _DAT_8007a15c; - } - else { - if (param_2 != 0xcccc) { - return 0; - } - psVar10 = (short *)&DAT_8007a160; - sVar1 = _DAT_8007a146; - piVar2 = _DAT_8007a158; - } - lVar9 = (longlong)sVar1; - iVar12 = 0; - lVar4 = 0; - lVar8 = 0; - do { - piVar7 = piVar2 + (int)lVar8 * 5; - if (*(short *)((int)piVar7 + 0xe) == 0) { - if ((longlong)*(short *)(piVar7 + 3) < param_1) { - sVar1 = *(short *)(piVar7 + 4); - goto LAB_7f09ca9c; - } - iVar12 = 1; - } - else { - sVar1 = *(short *)(piVar7 + 4); -LAB_7f09ca9c: - lVar8 = (longlong)sVar1; - lVar4 = (longlong)((int)lVar4 + 1); - if ((lVar8 == -1) || (lVar9 < lVar4)) { - iVar12 = -1; - } - } - } while (iVar12 == 0); - if (lVar9 < lVar4) { - FUN_7f09c348(); - FUN_7f09c384(); - iVar6 = 0; - } - else { - iVar6 = 0; - if (iVar12 == 1) { - bVar3 = false; - piVar7 = piVar2 + (int)lVar8 * 5; - sVar1 = *(short *)(piVar7 + 3); - piVar7[1] = param_3; - *(short *)((int)piVar7 + 0xe) = *(short *)((int)piVar7 + 0xe) + 1; - piVar7[2] = param_4; - sVar11 = (short)param_1; - if (((longlong)sVar1 != param_1) && (lVar4 = 0, piVar5 = piVar2, 0 < lVar9)) { - do { - if (*(short *)((int)piVar5 + 0xe) == -1) { - *(short *)(piVar7 + 3) = sVar11; - *piVar5 = *piVar7 + (int)param_1 * 0x10; - *(short *)(piVar5 + 3) = sVar1 - sVar11; - *(undefined2 *)((int)piVar5 + 0xe) = 0; - *(undefined2 *)((int)piVar5 + 0x12) = (short)lVar8; - bVar3 = true; - *(undefined2 *)(piVar5 + 4) = *(undefined2 *)(piVar7 + 4); - if (-1 < *(short *)(piVar7 + 4)) { - *(undefined2 *)((int)piVar2 + (int)*(short *)(piVar7 + 4) * 0x14 + 0x12) = - (short)lVar4; - } - *(short *)(piVar7 + 4) = (short)lVar4; - break; - } - lVar4 = (longlong)((int)lVar4 + 1); - piVar5 = piVar5 + 5; - } while (lVar4 != lVar9); - } - if (bVar3) { - *psVar10 = *psVar10 - sVar11; - } - else { - *psVar10 = *psVar10 - sVar1; - } - iVar6 = *piVar7; - } - } - return iVar6; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09cbe4(uint param_1) - -{ - short sVar1; - bool bVar2; - int iVar3; - longlong lVar4; - uint *puVar5; - longlong lVar6; - int iVar7; - short *psVar8; - short sVar9; - - if (((param_1 < _DAT_8007a150) || - (psVar8 = (short *)&DAT_8007a160, iVar7 = _DAT_8007a158, - (_DAT_8007a140 + -1) * 0x10 + _DAT_8007a150 < param_1)) && - ((param_1 < _DAT_8007a154 || - (psVar8 = (short *)&DAT_8007a162, iVar7 = _DAT_8007a15c, - (_DAT_8007a148 + -1) * 0x10 + _DAT_8007a154 < param_1)))) { - FUN_7f09c348(); - FUN_7f09c384(); - } - else { - lVar6 = 0; - bVar2 = false; - do { - puVar5 = (uint *)(iVar7 + (int)lVar6 * 0x14); - if (param_1 == *puVar5) { - bVar2 = true; - *(short *)((int)puVar5 + 0xe) = *(short *)((int)puVar5 + 0xe) + -1; - if (*(short *)((int)puVar5 + 0xe) == 0) { - *psVar8 = *psVar8 + *(short *)(puVar5 + 3); - if (*(short *)(puVar5 + 4) < 0) { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - else { - iVar3 = iVar7 + (int)*(short *)(puVar5 + 4) * 0x14; - if (*(short *)(iVar3 + 0xe) == 0) { - *(short *)(puVar5 + 3) = *(short *)(puVar5 + 3) + *(short *)(iVar3 + 0xc); - *(undefined2 *)(puVar5 + 4) = *(undefined2 *)(iVar3 + 0x10); - *(undefined2 *)(iVar3 + 0xe) = 0xffff; - if (*(short *)(puVar5 + 4) < 0) { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - else { - *(undefined2 *)(iVar7 + (int)*(short *)(puVar5 + 4) * 0x14 + 0x12) = (short)lVar6; - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - } - else { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - } - if (-1 < lVar4) { - iVar3 = iVar7 + (int)lVar4 * 0x14; - sVar9 = (short)lVar4; - if (*(short *)(iVar3 + 0xe) == 0) { - lVar6 = (longlong)(int)sVar9; - *(short *)(iVar3 + 0xc) = *(short *)(iVar3 + 0xc) + *(short *)(puVar5 + 3); - *(undefined2 *)(iVar3 + 0x10) = *(undefined2 *)(puVar5 + 4); - *(undefined2 *)((int)puVar5 + 0xe) = 0xffff; - sVar1 = *(short *)(iVar7 + (int)sVar9 * 0x14 + 0x10); - if (-1 < sVar1) { - *(short *)(iVar7 + (int)sVar1 * 0x14 + 0x12) = sVar9; - } - } - } - } - } - else { - lVar6 = (longlong)*(short *)(puVar5 + 4); - if (lVar6 == -1) { - bVar2 = true; - } - } - } while (!bVar2); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f09cdf0(int param_1,float *param_2,int param_3,undefined4 param_4,int param_5, - undefined param_6,char *param_7,int param_8) - -{ - char *pcVar1; - short sVar2; - int iVar4; - undefined *puVar5; - int **ppiVar6; - ulonglong uVar3; - int *piVar7; - undefined *puVar8; - int iVar9; - longlong lVar10; - undefined4 *puVar11; - float fVar12; - float fVar13; - float fVar14; - short sStackX14; - - sStackX14 = (short)param_4; - iVar9 = (int)sStackX14 * 0x40; - puVar11 = NULL; - iVar4 = 0; - piVar7 = _DAT_8007a1b4; - do { - if (*piVar7 == 0) { - puVar11 = (undefined4 *)(iVar4 + (int)_DAT_8007a1b4); - break; - } - iVar4 += 0x3e0; - piVar7 = piVar7 + 0xf8; - } while (iVar4 < 0x1740); - if (puVar11 == NULL) goto LAB_7f09d300; - puVar5 = (undefined *)FUN_7f03a730(); - if ((sStackX14 != 0x10) && (sStackX14 != 1)) { - DAT_800401a0 = 6; - } - if ((&DAT_800402ed)[iVar9] != 0) { - ppiVar6 = FUN_70008e18((longlong)_DAT_80063760,(ushort)(byte)(&DAT_800402ed)[iVar9],NULL); - FUN_7f053f0c((int)ppiVar6,param_2); - } - if (puVar5 == NULL) goto LAB_7f09d300; - *puVar5 = 7; - puVar5[1] = puVar5[1] | 2; - *(undefined4 **)(puVar5 + 4) = puVar11; - iVar4 = 0; - *(int *)(puVar5 + 0x14) = param_3; - *(float *)(puVar5 + 8) = *param_2; - *(float *)(puVar5 + 0xc) = param_2[1]; - *(float *)(puVar5 + 0x10) = param_2[2]; - if (*param_7 != -1) { - puVar5[0x2c] = *param_7; - puVar8 = puVar5; - while( true ) { - pcVar1 = param_7 + 1; - iVar4 += 1; - param_7 = param_7 + 1; - if ((*pcVar1 == -1) || (iVar4 == 7)) break; - puVar8[0x2d] = *pcVar1; - puVar8 = puVar8 + 1; - } - } - puVar5[iVar4 + 0x2c] = 0xff; - lVar10 = 0; - if (param_8 != 0) { - puVar5[1] = puVar5[1] | 8; - } - FUN_7f03a7f0((int)puVar5); - set_stateflag_0x04_for_posdata((int)puVar5); - *(undefined2 *)(puVar11 + 0xf2) = 0; - *(undefined2 *)((int)puVar11 + 0x3ca) = 0xffff; - *(undefined *)((int)puVar11 + 0x3cd) = (char)param_5; - *(undefined **)puVar11 = puVar5; - puVar11[1] = param_1; - *(char *)(puVar11 + 0xf3) = (char)param_4; - *(undefined *)((int)puVar11 + 0x3ce) = param_6; - if (param_5 == 0) { - puVar11[0xf4] = DAT_800576e0; - } - else { - if (param_1 == 0) { - fVar12 = *param_2; - } - else { - if (*(int *)(param_1 + 0x14) != 0) { - puVar11[0xf4] = *(undefined4 *)(param_1 + 8); - fVar12 = (float)FUN_7f0b3520(*(undefined4 *)(param_1 + 0x14),*(undefined4 *)(param_1 + 8), - *(undefined4 *)(param_1 + 0x10)); - *(float *)(puVar11 + 0xf5) = fVar12 + 4.00000000; - puVar11[0xf6] = *(undefined4 *)(param_1 + 0x10); - uVar3 = sub_7F0B2FD8(*(int *)(param_1 + 0x14)); - *(short *)(puVar11 + 0xf7) = (short)uVar3; - goto LAB_7f09d074; - } - fVar12 = *param_2; - } - *(float *)(puVar11 + 0xf4) = fVar12; - fVar12 = (float)FUN_7f0b3520(param_3,*param_2,param_2[2]); - *(float *)(puVar11 + 0xf5) = fVar12 + 4.00000000; - *(float *)(puVar11 + 0xf6) = param_2[2]; - uVar3 = sub_7F0B2FD8(param_3); - *(short *)(puVar11 + 0xf7) = (short)uVar3; - } -LAB_7f09d074: - iVar4 = FUN_7000a460(); - fVar12 = (float)iVar4; - if (iVar4 < 0) { - fVar12 = fVar12 + 4294967296.00000000; - } - fVar14 = (fVar12 * 0.00000000 * 0.50000000 + 1.00000000) * *(float *)(&DAT_800402c4 + iVar9); - iVar4 = FUN_7000a460(); - fVar12 = (float)iVar4; - if (iVar4 < 0) { - fVar12 = fVar12 + 4294967296.00000000; - } - fVar13 = fVar12 * 0.00000000 * DAT_800576e4; - fVar12 = FUN_7f0583c0(fVar13); - *(float *)(puVar11 + 5) = fVar12 * fVar14; - fVar12 = func_7F057FC4(fVar13); - *(undefined2 *)(puVar11 + 7) = 1; - *(float *)(puVar11 + 6) = fVar12 * fVar14; - *(float *)(puVar11 + 2) = *param_2; - *(float *)(puVar11 + 3) = param_2[1]; - *(float *)(puVar11 + 4) = param_2[2]; - if (0 < *(short *)(&DAT_800402d8 + iVar9)) { - fVar12 = *(float *)(&DAT_800402dc + iVar9); - while( true ) { - loc_7F09FD20(param_2,*(float *)(&DAT_800402e0 + iVar9),*(float *)(&DAT_800402e4 + iVar9), - *(float *)(&DAT_800402e8 + iVar9),fVar12); - lVar10 = (longlong)((int)lVar10 + 1); - if ((longlong)*(short *)(&DAT_800402d8 + iVar9) <= lVar10) break; - fVar12 = *(float *)(&DAT_800402dc + iVar9); - } - } - uVar3 = get_num_players(); - iVar4 = 0; - if (1 < (longlong)uVar3) { - do { - piVar7 = (int *)(_DAT_8007a1b0 + iVar4); - iVar9 = iVar4 + _DAT_8007a1b0; - if (*piVar7 == 0) { - iVar9 = piVar7[0x66]; - } - else { - if (*(short *)(iVar9 + 6) == 7) { - iVar9 = piVar7[0x66]; - } - else { - if (*(short *)(iVar9 + 6) == 8) { - iVar9 = piVar7[0x66]; - } - else { - if (*(short *)(iVar9 + 6) == 9) { - iVar9 = piVar7[0x66]; - } - else { - *(undefined2 *)(iVar9 + 4) = - *(undefined2 *)(&DAT_800401ac + (int)*(short *)(iVar9 + 6) * 0x18); - piVar7 = (int *)(_DAT_8007a1b0 + iVar4); - iVar9 = piVar7[0x66]; - } - } - } - } - if (iVar9 == 0) { - iVar9 = piVar7[0xcc]; - } - else { - sVar2 = *(short *)(iVar4 + _DAT_8007a1b0 + 0x19e); - if (sVar2 == 7) { - iVar9 = piVar7[0xcc]; - } - else { - if (sVar2 == 8) { - iVar9 = piVar7[0xcc]; - } - else { - if (sVar2 == 9) { - iVar9 = piVar7[0xcc]; - } - else { - *(undefined2 *)(iVar4 + _DAT_8007a1b0 + 0x19c) = - *(undefined2 *)(&DAT_800401ac + (int)sVar2 * 0x18); - piVar7 = (int *)(_DAT_8007a1b0 + iVar4); - iVar9 = piVar7[0xcc]; - } - } - } - } - if (iVar9 == 0) { - iVar9 = piVar7[0x132]; - } - else { - sVar2 = *(short *)(iVar4 + _DAT_8007a1b0 + 0x336); - if (sVar2 == 7) { - iVar9 = piVar7[0x132]; - } - else { - if (sVar2 == 8) { - iVar9 = piVar7[0x132]; - } - else { - if (sVar2 == 9) { - iVar9 = piVar7[0x132]; - } - else { - *(undefined2 *)(iVar4 + _DAT_8007a1b0 + 0x334) = - *(undefined2 *)(&DAT_800401ac + (int)sVar2 * 0x18); - iVar9 = *(int *)(_DAT_8007a1b0 + iVar4 + 0x4c8); - } - } - } - } - if ((((iVar9 != 0) && (sVar2 = *(short *)(iVar4 + _DAT_8007a1b0 + 0x4ce), sVar2 != 7)) && - (sVar2 != 8)) && (sVar2 != 9)) { - *(undefined2 *)(iVar4 + _DAT_8007a1b0 + 0x4cc) = - *(undefined2 *)(&DAT_800401ac + (int)sVar2 * 0x18); - } - iVar4 += 0x660; - } while (iVar4 != 0x1fe0); - } -LAB_7f09d300: - return (ulonglong)(puVar11 != NULL); -} - - - -void FUN_7f09d320(void) - -{ - DAT_800401a0 = 6; - DAT_800401a4 = 6; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09d338(float *param_1,float *param_2,float *param_3) - -{ - int iVar1; - float fVar2; - int *piVar3; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - - fVar2 = DAT_800576e8; - if (DAT_800401a0 == 0) { - video_related_9(0.00000000); - } - else { - fVar5 = FUN_7f0583c0(DAT_800576e8); - fVar6 = func_7F057FC4(fVar2); - fVar11 = *param_2; - fVar12 = param_2[2]; - fVar7 = func_7F057FC4(fVar2); - fVar8 = FUN_7f0583c0(fVar2); - fVar2 = DAT_800576ec; - fVar15 = param_2[2]; - fVar13 = *param_2; - iVar4 = 0; - fVar16 = 0.00000000; - piVar3 = _DAT_8007a1b4; - do { - iVar1 = *piVar3; - if (iVar1 != 0) { - fVar9 = *(float *)(iVar1 + 8) - *param_1; - fVar10 = *(float *)(iVar1 + 0xc) - param_1[1]; - fVar14 = *(float *)(iVar1 + 0x10) - param_1[2]; - fVar10 = sqrtf(fVar9 * fVar9 + fVar10 * fVar10 + fVar14 * fVar14); - fVar9 = fVar2; - if (fVar10 != 0.00000000) { - fVar9 = fVar10; - } - piVar3 = (int *)((int)_DAT_8007a1b4 + iVar4); - fVar16 = fVar16 + (*(float *)(&DAT_800402c4 + (int)*(char *)(piVar3 + 0xf3) * 0x40) / fVar9) - * 15.00000000; - } - iVar4 += 0x3e0; - piVar3 = piVar3 + 0xf8; - } while (iVar4 != 0x1740); - if (0 < DAT_800401a4) { - DAT_800401a4 += -1; - fVar16 = fVar16 + 1.00000000; - } - DAT_800401a0 -= 1; - if ((DAT_800401a0 & 2) == 0) { - param_3[1] = -fVar16; - } - else { - param_3[1] = fVar16; - fVar16 = -fVar16; - } - *param_3 = fVar16 * (fVar5 * fVar11 - fVar12 * fVar6); - param_3[2] = fVar16 * (fVar15 * fVar8 + fVar7 * fVar13); - video_related_9((float)DAT_800401a0 * fVar16); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F09CEA8(char *param_1,float param_2,float param_3) - -{ - char cVar1; - short sVar2; - int iVar3; - uint uVar4; - longlong lVar5; - int iVar7; - ulonglong uVar6; - int iVar8; - int iVar9; - char *pcVar10; - short *psVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - uint auStack32 [8]; - - iVar3 = *(int *)(param_1 + 4); - iVar9 = (int)*(char *)(iVar3 + 0x3cc) * 0x40; - if (*(short *)(iVar3 + 0x3c8) < *(short *)(iVar3 + 0x3ca)) { - return; - } - loc_7F03CC0C(param_1,auStack32); - FUN_7f03e6fc((int *)auStack32); - lVar5 = (longlong)*_DAT_80069c70; - if (-1 < lVar5) { - iVar8 = (int)*_DAT_80069c70; - psVar11 = _DAT_80069c70; - do { - iVar8 = (iVar8 * 0x10 + (int)lVar5 * -4 + (int)lVar5) * 4; - pcVar10 = (char *)(iVar8 + -0x7ff96388); - if (pcVar10 == *(char **)(iVar3 + 4)) { - lVar5 = (longlong)psVar11[1]; - } - else { - if (*(short *)(iVar8 + -0x7ff96386) == 0) { - cVar1 = *pcVar10; - if (cVar1 == '\x01') { - iVar8 = *(int *)(iVar8 + -0x7ff96384); - } - else { - if ((cVar1 != '\x04') && (cVar1 != '\x02')) { - if ((cVar1 == '\x03') || (cVar1 == '\x06')) { - fVar15 = *(float *)(iVar8 + -0x7ff96380) - *(float *)(param_1 + 8); - fVar14 = *(float *)(iVar8 + -0x7ff9637c) - *(float *)(param_1 + 0xc); - fVar13 = *(float *)(iVar8 + -0x7ff96378) - *(float *)(param_1 + 0x10); - if (fVar15 <= param_2) { - if (-param_2 <= fVar15) { - if (fVar14 <= param_3) { - if (-param_3 <= fVar14) { - if (fVar13 <= param_2) { - if (-param_2 <= fVar13) { - fVar12 = fVar15 / param_2; - fVar14 = fVar14 / param_3; - fVar16 = fVar13 / param_2; - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - if (fVar14 < 0.00000000) { - fVar14 = -fVar14; - } - fVar14 = 1.00000000 - fVar14; - if (fVar16 < 0.00000000) { - fVar16 = -fVar16; - } - fVar16 = 1.00000000 - fVar16; - if (1.00000000 - fVar12 <= fVar14) { - fVar14 = 1.00000000 - fVar12; - } - if (fVar14 <= fVar16) { - fVar16 = fVar14; - } - fVar14 = fVar16 * fVar16 * *(float *)(&DAT_800402f0 + iVar9); - if (cVar1 == '\x03') { - loc_7F027BE0(*(undefined4 *)(iVar8 + -0x7ff96384),param_1 + 8,fVar14,1 - ); - lVar5 = (longlong)psVar11[1]; - } - else { - if ((fVar15 != 0.00000000) || (fVar13 != 0.00000000)) { - fVar13 = sqrtf(fVar15 * fVar15 + fVar13 * fVar13); - fVar15 = fVar15 * (1.00000000 / fVar13); - } - iVar8 = get_cur_playernum(); - lVar5 = FUN_7f09bcfc((int)pcVar10); - FUN_7f09bcac((int)lVar5); - uVar6 = get_num_players(); - if (uVar6 == 1) { - fVar14 = fVar14 * DAT_800401a8; - } - iVar7 = FUN_7f07d49c(); - if (iVar7 == 1) { - fVar14 = fVar14 + fVar14; - } - FUN_7f089ff0(fVar14,fVar15); - FUN_7f09bcac(iVar8); - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - } - else { - lVar5 = (longlong)psVar11[1]; - } - goto LAB_7f09da2c; - } - iVar8 = *(int *)(iVar8 + -0x7ff96384); - } - fVar13 = *(float *)(iVar8 + 0x58) - *(float *)(param_1 + 8); - fVar14 = *(float *)(iVar8 + 0x5c) - *(float *)(param_1 + 0xc); - fVar15 = *(float *)(iVar8 + 0x60) - *(float *)(param_1 + 0x10); - if (((((fVar13 <= param_2) && (-param_2 <= fVar13)) && (fVar14 <= param_3)) && - ((-param_3 <= fVar14 && (fVar15 <= param_2)))) && (-param_2 <= fVar15)) { - fVar13 = fVar13 / param_2; - fVar16 = *(float *)(&DAT_800402f0 + iVar9); - fVar14 = fVar14 / param_3; - fVar15 = fVar15 / param_2; - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - } - if (fVar14 < 0.00000000) { - fVar14 = -fVar14; - } - fVar14 = 1.00000000 - fVar14; - if (fVar15 < 0.00000000) { - fVar15 = -fVar15; - } - fVar15 = 1.00000000 - fVar15; - if (1.00000000 - fVar13 <= fVar14) { - fVar14 = 1.00000000 - fVar13; - } - if (fVar15 < fVar14) { - uVar4 = *(uint *)(iVar8 + 100); - } - else { - uVar4 = *(uint *)(iVar8 + 100); - fVar15 = fVar14; - } - if (((uVar4 & 0x1000) == 0) && ((*(uint *)(iVar8 + 0xc) & 0x200400) == 0)) { - iVar7 = FUN_7000a460(); - fVar14 = (float)iVar7; - if (iVar7 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - loc_7F04DFAC((int)pcVar10, - (fVar14 * 0.00000000 * 0.50000000 + 1.00000000) * fVar15 * fVar16, - (longlong)(iVar8 + 0x58),0x1d,(int)*(char *)(iVar3 + 0x3ce)); - } - } - lVar5 = (longlong)psVar11[1]; - } - else { - lVar5 = (longlong)psVar11[1]; - } - } -LAB_7f09da2c: - psVar11 = psVar11 + 1; - if (lVar5 < 0) goto code_r0x7f09da38; - iVar8 = (int)lVar5; - } while( true ); - } - sVar2 = *(short *)(&DAT_800402d0 + iVar9); -LAB_7f09da3c: - *(short *)(iVar3 + 0x3ca) = *(short *)(iVar3 + 0x3c8) + (sVar2 >> 2); - return; -code_r0x7f09da38: - sVar2 = *(short *)(&DAT_800402d0 + iVar9); - goto LAB_7f09da3c; -} - - - -undefined8 loc_7F09D4A8(char *param_1) - -{ - byte bVar1; - short sVar2; - short sVar3; - undefined4 *puVar4; - char *pcVar5; - undefined8 uVar6; - int iVar7; - longlong lVar8; - undefined4 uVar9; - longlong lVar10; - int iVar11; - undefined4 *puVar12; - int iVar13; - float fVar14; - int iVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - int iStack44; - float fStack40; - - puVar4 = *(undefined4 **)(param_1 + 4); - iVar11 = (int)*(char *)(puVar4 + 0xf3) * 0x40; - if (DAT_800483a4 == 0) { - uVar6 = 0; - } - else { - if (DAT_800483a4 < 0xf) { - fStack40 = (float)DAT_800483a4; - } - else { - fStack40 = 15.00000000; - } - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - if (7 < lVar8) { - sVar2 = *(short *)(&DAT_800402d0 + iVar11); - iVar13 = (int)sVar2; - if (lVar8 < (longlong)sVar2) { - fVar14 = (float)(int)*(short *)(puVar4 + 0xf2); - fVar18 = *(float *)(&DAT_800402b4 + iVar11) + *(float *)(&DAT_800402bc + iVar11) * fVar14; - fVar19 = *(float *)(&DAT_800402b8 + iVar11) + *(float *)(&DAT_800402c0 + iVar11) * fVar14; - if (*(char *)(puVar4 + 0xf3) == '\x0e') { - if (lVar8 < 0x20) { - *(float *)(param_1 + 0xc) = *(float *)(param_1 + 0xc) + fStack40 * 10.00000000; - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - sVar2 = *(short *)(&DAT_800402d0 + iVar11); - fVar14 = (float)(int)*(short *)(puVar4 + 0xf2); - } - iVar13 = (int)sVar2; - if (0x20 < lVar8) { - fVar19 = 20.00000000; - fVar18 = fVar14 * 3.00000000 + 40.00000000; - if (300.00000000 < fVar18) { - fVar18 = 300.00000000; - } - } - } - iVar15 = 0; - iStack44 = (int)(((float)(int)*(short *)(&DAT_800402d2 + iVar11) * fVar14) / (float)iVar13) - + 1; - if (0 < iStack44) { - do { - iVar13 = 0; - puVar12 = puVar4; - do { - iVar13 += 0x18; - if (*(short *)(puVar12 + 7) == 0) { - *(undefined2 *)(puVar12 + 7) = 1; - iVar13 = FUN_7000a460(); - fVar14 = (float)iVar13; - if (iVar13 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(float *)(puVar12 + 2) = - (fVar14 * 0.00000000 - 0.50000000) * fVar18 + *(float *)(param_1 + 8); - iVar13 = FUN_7000a460(); - fVar14 = (float)iVar13; - if (iVar13 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(float *)(puVar12 + 3) = - (fVar14 * 0.00000000 - 0.50000000) * fVar19 + *(float *)(param_1 + 0xc); - iVar13 = FUN_7000a460(); - fVar14 = (float)iVar13; - if (iVar13 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - *(float *)(puVar12 + 4) = - (fVar14 * 0.00000000 - 0.50000000) * fVar18 + *(float *)(param_1 + 0x10); - iVar13 = FUN_7000a460(); - fVar14 = (float)iVar13; - if (iVar13 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar17 = (fVar14 * 0.00000000 * 0.50000000 + 1.00000000) * - *(float *)(&DAT_800402c4 + iVar11); - iVar13 = FUN_7000a460(); - fVar14 = (float)iVar13; - if (iVar13 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar16 = fVar14 * 0.00000000 * DAT_800576f0; - fVar14 = FUN_7f0583c0(fVar16); - *(float *)(puVar12 + 5) = fVar14 * fVar17; - fVar14 = func_7F057FC4(fVar16); - *(float *)(puVar12 + 6) = fVar14 * fVar17; - break; - } - puVar12 = puVar12 + 6; - } while (iVar13 != 0x3c0); - iVar15 += 1; - } while (iVar15 != iStack44); - } - fVar14 = fVar18 * 0.50000000 + *(float *)(&DAT_800402c4 + iVar11) * 1.50000000; - fStack56 = *(float *)(param_1 + 8) - fVar14; - fStack64 = fVar19 * 0.50000000 + *(float *)(&DAT_800402c4 + iVar11) * 1.50000000; - fStack52 = *(float *)(param_1 + 0xc) - fStack64; - fStack48 = *(float *)(param_1 + 0x10) - fVar14; - fStack68 = *(float *)(param_1 + 8) + fVar14; - fStack64 = *(float *)(param_1 + 0xc) + fStack64; - fStack60 = *(float *)(param_1 + 0x10) + fVar14; - loc_7F03E3E0(param_1,&fStack56,&fStack68,fVar14); - fVar14 = *(float *)(&DAT_800402c8 + iVar11) + - ((*(float *)(&DAT_800402cc + iVar11) - *(float *)(&DAT_800402c8 + iVar11)) * - (float)(int)*(short *)(puVar4 + 0xf2)) / - (float)(int)*(short *)(&DAT_800402d0 + iVar11); - loc_7F09CEA8(param_1,fVar14,fVar14); - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - } - } - iVar15 = (int)fStack40; - iVar13 = 0; - if (0 < iVar15) { - uVar9 = (undefined4)lVar8; - do { - *(short *)(puVar4 + 0xf2) = (short)uVar9 + 1; - iVar7 = 0; - puVar12 = puVar4; - do { - iVar7 += 0x18; - if (0 < *(short *)(puVar12 + 7)) { - *(short *)(puVar12 + 7) = *(short *)(puVar12 + 7) + 1; - } - puVar12 = puVar12 + 6; - } while (iVar7 != 0x3c0); - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - if (lVar8 == 0xf) { - if (*(char *)(puVar4 + 0xf3) != '\x0e') { - sVar2 = *(short *)(&DAT_800402d0 + iVar11); - goto LAB_7f09df04; - } - pcVar5 = (char *)puVar4[1]; -LAB_7f09df20: - if (pcVar5 == NULL) { - bVar1 = param_1[1]; -LAB_7f09dfa4: - FUN_7f09f2a4((undefined4 *)(param_1 + 8),*(undefined4 *)(param_1 + 0x14), - (ushort)(byte)(&DAT_800402ec)[iVar11],param_1 + 0x2c, - (uint)((bVar1 & 8) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - sVar3 = *(short *)(&DAT_800402d0 + iVar11); - } - else { - iVar7 = *(int *)(pcVar5 + 0x14); - if (iVar7 == 0) { - bVar1 = param_1[1]; - goto LAB_7f09dfa4; - } - if (*pcVar5 == '\x01') { - FUN_7f09f2a4((undefined4 *)(*(int *)(pcVar5 + 4) + 0x58),iVar7, - (ushort)(byte)(&DAT_800402ec)[iVar11],pcVar5 + 0x2c, - (uint)((param_1[1] & 8U) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - } - else { - FUN_7f09f2a4((undefined4 *)(pcVar5 + 8),iVar7,(ushort)(byte)(&DAT_800402ec)[iVar11], - pcVar5 + 0x2c,(uint)((param_1[1] & 8U) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - } - sVar3 = *(short *)(&DAT_800402d0 + iVar11); - } - lVar8 = (longlong)sVar2; - lVar10 = (longlong)((int)sVar3 >> 1); - } - else { - sVar2 = *(short *)(&DAT_800402d0 + iVar11); -LAB_7f09df04: - if ((longlong)sVar2 == (longlong)((int)*(short *)(puVar4 + 0xf2) + 0x14)) { - if (*(char *)(puVar4 + 0xf3) != '\x0e') { - pcVar5 = (char *)puVar4[1]; - goto LAB_7f09df20; - } - lVar10 = (longlong)((int)sVar2 >> 1); - } - else { - lVar10 = (longlong)((int)sVar2 >> 1); - } - } - if ((lVar10 == lVar8) && (*(char *)((int)puVar4 + 0x3cd) != '\0')) { - loc_7F0A0A90((float *)(puVar4 + 0xf4),*(float *)(&DAT_800402c4 + iVar11) * 4.00000000, - *(short *)(puVar4 + 0xf7)); - lVar8 = (longlong)*(short *)(puVar4 + 0xf2); - } - iVar13 += 1; - if (iVar13 == iVar15) break; - uVar9 = (undefined4)lVar8; - } while( true ); - } - uVar6 = 0; - if ((longlong) - ((int)*(short *)(&DAT_800402d0 + iVar11) + - (int)(*(float *)(&DAT_800402d4 + iVar11) * 16.00000000)) <= lVar8) { - *puVar4 = 0; - uVar6 = 1; - } - } - return uVar6; -} - - - -undefined8 FUN_7f09e090(int param_1) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7f0789b4(); - *(float *)(param_1 + 0x18) = - -(*(float *)(iVar1 + 0x38) + - *(float *)(iVar1 + 8) * *(float *)(param_1 + 8) + - *(float *)(iVar1 + 0x18) * *(float *)(param_1 + 0xc) + - *(float *)(iVar1 + 0x28) * *(float *)(param_1 + 0x10)); - fVar2 = *(float *)(param_1 + 0x18); - if (fVar2 < 100.00000000) { - *(float *)(param_1 + 0x18) = fVar2 * 0.50000000; - } - else { - *(float *)(param_1 + 0x18) = fVar2 - 100.00000000; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F09D800(char *param_1,undefined8 param_2,longlong param_3) - -{ - byte bVar1; - short sVar2; - longlong lVar3; - ulonglong unaff_10000283; - float *pfVar4; - uint *puVar5; - uint uVar6; - undefined4 *puVar7; - undefined4 *puVar8; - int3 iVar9; - int5 iVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - - bVar1 = param_1[0x2c]; - iVar12 = *(int *)(param_1 + 4); - pfVar4 = (float *)FUN_7f0bd5c4((uint)bVar1); - if (param_3 != 0) { - lVar3 = loc_7F054B64(param_1,&fStack32); - uVar6 = (uint)lVar3; - if (lVar3 < 1) { - puVar5 = FUN_7f0b5b64(param_2._4_4_); - } - else { - puVar5 = FUN_7f0b5ba4(param_2._4_4_,fStack32,fStack28,fStack24,fStack20); - puVar5 = (uint *)(uVar6 & 0xffffff00 | (uint)puVar5 >> 0x18); - } - *puVar5 = 0xb6000000; - puVar5[1] = 0x13000; - puVar5[2] = 0x1030040; - uVar6 = FUN_7f078984(); - uVar6 = osVirtualToPhysical(uVar6); - puVar5[3] = uVar6; - puVar7 = FUN_7f0bd574(puVar5 + 4,(uint)bVar1); - *puVar7 = 0xbc000806; - puVar8 = puVar7 + 2; - uVar6 = osVirtualToPhysical(_DAT_8008d124); - puVar7[1] = uVar6; - puVar7 = &DAT_8004082c; - iVar14 = 0xe; - do { - *puVar8 = 0x6000000; - iVar13 = 0; - puVar8[1] = *puVar7; - puVar8 = puVar8 + 2; - iVar11 = iVar12; - do { - sVar2 = *(short *)(iVar11 + 0x1c); - if ((CONCAT44((undefined4)(sVar2 >> 0xf),(int)sVar2) != 0) && - (iVar14 == (int)((float)((int)sVar2 + -1) / - *(float *)(&DAT_800402d4 + (int)*(char *)(iVar12 + 0x3cc) * 0x40)))) { - puVar8 = FUN_7f09e3d0((float *)(iVar11 + 8),puVar8,pfVar4); - } - iVar13 += 0x18; - iVar11 += 0x18; - } while (iVar13 < 0x3c0); - iVar14 += -1; - puVar7 = puVar7 + -1; - } while (-1 < iVar14); - *puVar8 = 0x1030040; - param_2._4_4_ = puVar8 + 2; - uVar6 = FUN_7f078964(); - uVar6 = osVirtualToPhysical(uVar6); - puVar8[1] = uVar6; - iVar14 = 0; - iVar9 = (int3)((int)(*(float *)(&DAT_800402d4 + (int)*(char *)(iVar12 + 0x3cc) * 0x40) * - 15.00000000) >> 0x1f); - iVar10 = (int5)(int)(*(float *)(&DAT_800402d4 + (int)*(char *)(iVar12 + 0x3cc) * 0x40) * - 15.00000000); - do { - iVar14 += 0x60; - if (CONCAT35(iVar9,iVar10) < (longlong)*(short *)(iVar12 + 0x1c)) { - *(undefined2 *)(iVar12 + 0x1c) = 0; - sVar2 = *(short *)(iVar12 + 0x34); - } - else { - sVar2 = *(short *)(iVar12 + 0x34); - } - if (CONCAT35(iVar9,iVar10) < (longlong)sVar2) { - *(undefined2 *)(iVar12 + 0x34) = 0; - sVar2 = *(short *)(iVar12 + 0x4c); - } - else { - sVar2 = *(short *)(iVar12 + 0x4c); - } - if (CONCAT35(iVar9,iVar10) < (longlong)sVar2) { - *(undefined2 *)(iVar12 + 0x4c) = 0; - sVar2 = *(short *)(iVar12 + 100); - } - else { - sVar2 = *(short *)(iVar12 + 100); - } - if (CONCAT35(iVar9,iVar10) < (longlong)sVar2) { - *(undefined2 *)(iVar12 + 100) = 0; - } - iVar12 += 0x60; - } while (iVar14 != 0x3c0); - unaff_10000283 = SEXT48((int)param_2._4_4_); - } - return unaff_10000283 & 0xffffffff00000000 | ZEXT48(param_2._4_4_); -} - - - -undefined4 * FUN_7f09e3d0(float *param_1,undefined4 *param_2,float *param_3) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - float *pfVar5; - float *pfVar6; - undefined4 *puVar7; - uint uVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - - uVar4 = DAT_8004093c; - uVar3 = DAT_80040938; - uVar2 = DAT_80040934; - uVar1 = DAT_80040930; - pfVar5 = (float *)FUN_7f078a34(); - pfVar6 = (float *)FUN_7f08a70c(); - fVar24 = *param_1 - *pfVar6; - fVar25 = param_1[1] - pfVar6[1]; - fVar26 = param_1[2] - pfVar6[2]; - fVar9 = sqrtf(fVar24 * fVar24 + fVar25 * fVar25 + fVar26 * fVar26); - fVar13 = 100.00000000; - if (fVar9 * 0.50000000 <= 100.00000000) { - fVar13 = fVar9 * 0.50000000; - } - if (fVar9 == 0.00000000) { - fVar9 = 0.00000000; - fVar13 = param_1[3]; - } - else { - fVar9 = (fVar9 - fVar13) / fVar9; - fVar13 = param_1[3]; - } - fVar13 = fVar13 * fVar9; - fVar23 = param_1[4] * fVar9; - fVar14 = *pfVar6 + fVar24 * fVar9; - fVar10 = pfVar6[1] + fVar25 * fVar9; - fVar9 = pfVar6[2] + fVar26 * fVar9; - puVar7 = (undefined4 *)FUN_7f0be274(4); - *puVar7 = uVar1; - puVar7[1] = uVar2; - puVar7[2] = uVar3; - puVar7[3] = uVar4; - puVar7[4] = uVar1; - puVar7[5] = uVar2; - puVar7[6] = uVar3; - puVar7[7] = uVar4; - puVar7[8] = uVar1; - puVar7[9] = uVar2; - puVar7[10] = uVar3; - puVar7[0xb] = uVar4; - puVar7[0xc] = uVar1; - puVar7[0xd] = uVar2; - puVar7[0xe] = uVar3; - puVar7[0xf] = uVar4; - puVar7[0x10] = uVar1; - puVar7[0x11] = uVar2; - puVar7[0x12] = uVar3; - puVar7[0x13] = uVar4; - fVar15 = *pfVar5 * fVar13; - fVar24 = pfVar5[1] * fVar13; - fVar16 = pfVar5[2] * fVar13; - fVar19 = *pfVar5; - fVar11 = pfVar5[1]; - fVar20 = pfVar5[2]; - fVar17 = pfVar5[4] * fVar13; - fVar25 = pfVar5[5] * fVar13; - fVar18 = pfVar5[6] * fVar13; - fVar21 = pfVar5[4]; - fVar12 = pfVar5[5]; - fVar22 = pfVar5[6]; - FUN_7f0b53ec(); - *(short *)puVar7 = (short)(int)(((fVar14 - fVar15) - fVar21 * fVar23) * fVar13 - *param_3); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar7 + 2) = - (short)(int)(((fVar10 - fVar24) - fVar12 * fVar23) * fVar13 - param_3[1]); - FUN_7f0b53ec(); - fVar26 = param_3[2]; - *(undefined2 *)(puVar7 + 2) = 0x6e0; - *(undefined2 *)((int)puVar7 + 10) = 0; - *(short *)(puVar7 + 1) = (short)(int)(((fVar9 - fVar16) - fVar22 * fVar23) * fVar13 - fVar26); - FUN_7f0b53ec(); - *(short *)(puVar7 + 4) = (short)(int)(((fVar14 + fVar19 * fVar23) - fVar17) * fVar13 - *param_3); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar7 + 0x12) = - (short)(int)(((fVar10 + fVar11 * fVar23) - fVar25) * fVar13 - param_3[1]); - FUN_7f0b53ec(); - fVar26 = param_3[2]; - *(undefined2 *)(puVar7 + 6) = 0; - *(undefined2 *)((int)puVar7 + 0x1a) = 0; - *(short *)(puVar7 + 5) = (short)(int)(((fVar9 + fVar20 * fVar23) - fVar18) * fVar13 - fVar26); - FUN_7f0b53ec(); - *(short *)(puVar7 + 8) = (short)(int)((fVar14 + fVar15 + fVar21 * fVar23) * fVar13 - *param_3); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar7 + 0x22) = - (short)(int)((fVar10 + fVar24 + fVar12 * fVar23) * fVar13 - param_3[1]); - FUN_7f0b53ec(); - fVar24 = param_3[2]; - *(undefined2 *)(puVar7 + 10) = 0; - *(undefined2 *)((int)puVar7 + 0x2a) = 0x6e0; - *(short *)(puVar7 + 9) = (short)(int)((fVar9 + fVar16 + fVar22 * fVar23) * fVar13 - fVar24); - FUN_7f0b53ec(); - *(short *)(puVar7 + 0xc) = (short)(int)(((fVar14 - fVar19 * fVar23) + fVar17) * fVar13 - *param_3) - ; - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar7 + 0x32) = - (short)(int)(((fVar10 - fVar11 * fVar23) + fVar25) * fVar13 - param_3[1]); - FUN_7f0b53ec(); - fVar24 = param_3[2]; - *(undefined2 *)(puVar7 + 0xe) = 0x6e0; - *(undefined2 *)((int)puVar7 + 0x3a) = 0x6e0; - *(short *)(puVar7 + 0xd) = (short)(int)(((fVar9 - fVar20 * fVar23) + fVar18) * fVar13 - fVar24); - *param_2 = 0x4300040; - uVar8 = osVirtualToPhysical((uint)puVar7); - param_2[1] = uVar8; - param_2[3] = 0x2010; - param_2[2] = 0xb1000032; - return param_2 + 4; -} - - - -undefined4 * loc_7F09E6D8(int param_1,float *param_2,undefined4 *param_3,float *param_4) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - float *pfVar5; - float *pfVar6; - undefined4 *puVar7; - uint uVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - float fVar28; - float fVar29; - undefined uStack97; - - uVar4 = DAT_8004094c; - uVar3 = DAT_80040948; - uVar2 = DAT_80040944; - uVar1 = DAT_80040940; - pfVar5 = (float *)FUN_7f078a34(); - pfVar6 = (float *)FUN_7f08a70c(); - if (*(short *)(&DAT_800401ae + (int)*(short *)(param_1 + 6) * 0x18) < *(short *)(param_2 + 9)) { - fVar23 = param_2[8]; - if (false) { - fVar9 = ROUND(fVar23); - } - else { - fVar9 = FLOOR(fVar23); - } - uStack97 = (undefined)(int)fVar9; - if (false) { - if (false) { - fVar23 = ROUND(fVar23 - 2147483648.00000000); - } - else { - fVar23 = FLOOR(fVar23 - 2147483648.00000000); - } - if (true) { - uStack97 = (undefined)(int)fVar23; - goto LAB_7f09eb20; - } - } - else { - if (-1 < (int)fVar9) goto LAB_7f09eb20; - } - uStack97 = 0xff; - } - else { - fVar23 = (param_2[8] / - (float)(int)*(short *)(&DAT_800401ae + (int)*(short *)(param_1 + 6) * 0x18)) * - (float)(int)*(short *)(param_2 + 9); - if (false) { - fVar9 = ROUND(fVar23); - } - else { - fVar9 = FLOOR(fVar23); - } - uStack97 = (undefined)(int)fVar9; - if (false) { - if (false) { - fVar23 = ROUND(fVar23 - 2147483648.00000000); - } - else { - fVar23 = FLOOR(fVar23 - 2147483648.00000000); - } - if (true) { - uStack97 = (undefined)(int)fVar23; - goto LAB_7f09eb20; - } - } - else { - if (-1 < (int)fVar9) goto LAB_7f09eb20; - } - uStack97 = 0xff; - } -LAB_7f09eb20: - puVar7 = (undefined4 *)FUN_7f0be274(4); - *puVar7 = uVar1; - puVar7[1] = uVar2; - puVar7[2] = uVar3; - puVar7[3] = uVar4; - puVar7[4] = uVar1; - puVar7[5] = uVar2; - puVar7[6] = uVar3; - puVar7[7] = uVar4; - puVar7[8] = uVar1; - puVar7[9] = uVar2; - puVar7[10] = uVar3; - puVar7[0xb] = uVar4; - puVar7[0xc] = uVar1; - puVar7[0xd] = uVar2; - puVar7[0xe] = uVar3; - puVar7[0xf] = uVar4; - fVar23 = FUN_7f0583c0(param_2[4]); - fVar20 = param_2[3]; - fVar9 = func_7F057FC4(param_2[4]); - fVar13 = param_2[3]; - fVar10 = func_7F057FC4(param_2[6]); - fVar21 = *param_2; - fVar24 = param_2[1]; - fVar11 = func_7F057FC4(param_2[7]); - fVar21 = (fVar10 * 7.00000000 + fVar21) - *pfVar6; - fVar24 = fVar24 - pfVar6[1]; - fVar11 = (fVar11 * 7.00000000 + param_2[2]) - pfVar6[2]; - fVar10 = sqrtf(fVar21 * fVar21 + fVar24 * fVar24 + fVar11 * fVar11); - if (fVar10 <= DAT_800576f4) { - fVar12 = 100.00000000; - if (fVar10 * 0.50000000 <= 100.00000000) { - fVar12 = fVar10 * 0.50000000; - } - if (fVar10 == 0.00000000) { - fVar12 = 0.00000000; - } - else { - fVar12 = (fVar10 - fVar12) / fVar10; - } - fVar28 = fVar23 * fVar20 * fVar12; - fVar29 = fVar9 * fVar13 * fVar12; - fVar22 = *pfVar6 + fVar21 * fVar12; - fVar25 = pfVar6[1] + fVar24 * fVar12; - fVar26 = pfVar6[2] + fVar11 * fVar12; - fVar14 = *pfVar5; - fVar11 = pfVar5[1]; - fVar15 = pfVar5[2]; - fVar13 = *pfVar5; - fVar16 = pfVar5[1]; - fVar20 = pfVar5[2]; - fVar17 = pfVar5[4]; - fVar21 = pfVar5[5]; - fVar18 = pfVar5[6]; - fVar24 = pfVar5[4]; - fVar19 = pfVar5[5]; - fVar12 = pfVar5[6]; - FUN_7f0b53ec(); - fVar9 = (((fVar22 - fVar14 * fVar28) - fVar24 * fVar29) * fVar10 - *param_4) * 10.00000000; - FUN_7f0b53ec(); - fVar27 = (((fVar25 - fVar11 * fVar28) - fVar19 * fVar29) * fVar10 - param_4[1]) * 10.00000000; - FUN_7f0b53ec(); - fVar23 = DAT_800576fc; - fVar10 = (((fVar26 - fVar15 * fVar28) - fVar12 * fVar29) * fVar10 - param_4[2]) * 10.00000000; - if ((((fVar9 <= DAT_800576f8) && (DAT_800576fc <= fVar9)) && (fVar27 <= DAT_800576f8)) && - (((DAT_800576fc <= fVar27 && (fVar10 <= DAT_800576f8)) && (DAT_800576fc <= fVar10)))) { - *(undefined2 *)(puVar7 + 2) = 0x6e0; - *(undefined2 *)((int)puVar7 + 10) = 0; - *(short *)puVar7 = (short)(int)fVar9; - *(undefined2 *)((int)puVar7 + 2) = (short)(int)fVar27; - *(short *)(puVar7 + 1) = (short)(int)fVar10; - *(undefined *)(puVar7 + 3) = (&DAT_800401b8)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0xd) = (&DAT_800401b9)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0xe) = (&DAT_800401ba)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0xf) = uStack97; - FUN_7f0b53ec(); - *(short *)(puVar7 + 4) = - (short)(int)((((fVar22 + fVar13 * fVar29) - fVar17 * fVar28) * fVar23 - *param_4) * - 10.00000000); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar7 + 0x12) = - (short)(int)((((fVar25 + fVar16 * fVar29) - fVar21 * fVar28) * fVar23 - param_4[1]) * - 10.00000000); - FUN_7f0b53ec(); - fVar9 = param_4[2]; - *(undefined2 *)(puVar7 + 6) = 0; - *(undefined2 *)((int)puVar7 + 0x1a) = 0; - *(short *)(puVar7 + 5) = - (short)(int)((((fVar26 + fVar20 * fVar29) - fVar18 * fVar28) * fVar23 - fVar9) * - 10.00000000); - *(undefined *)(puVar7 + 7) = (&DAT_800401b8)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x1d) = (&DAT_800401b9)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x1e) = (&DAT_800401ba)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x1f) = uStack97; - FUN_7f0b53ec(); - *(short *)(puVar7 + 8) = - (short)(int)(((fVar22 + fVar14 * fVar28 + fVar24 * fVar29) * fVar23 - *param_4) * - 10.00000000); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar7 + 0x22) = - (short)(int)(((fVar25 + fVar11 * fVar28 + fVar19 * fVar29) * fVar23 - param_4[1]) * - 10.00000000); - FUN_7f0b53ec(); - fVar9 = param_4[2]; - *(undefined2 *)(puVar7 + 10) = 0; - *(undefined2 *)((int)puVar7 + 0x2a) = 0x6e0; - *(short *)(puVar7 + 9) = - (short)(int)(((fVar26 + fVar15 * fVar28 + fVar12 * fVar29) * fVar23 - fVar9) * - 10.00000000); - *(undefined *)(puVar7 + 0xb) = (&DAT_800401b8)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x2d) = (&DAT_800401b9)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x2e) = (&DAT_800401ba)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x2f) = uStack97; - FUN_7f0b53ec(); - *(short *)(puVar7 + 0xc) = - (short)(int)((((fVar22 - fVar13 * fVar29) + fVar17 * fVar28) * fVar23 - *param_4) * - 10.00000000); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar7 + 0x32) = - (short)(int)((((fVar25 - fVar16 * fVar29) + fVar21 * fVar28) * fVar23 - param_4[1]) * - 10.00000000); - FUN_7f0b53ec(); - fVar9 = param_4[2]; - *(undefined2 *)(puVar7 + 0xe) = 0x6e0; - *(undefined2 *)((int)puVar7 + 0x3a) = 0x6e0; - *(short *)(puVar7 + 0xd) = - (short)(int)((((fVar26 - fVar20 * fVar29) + fVar18 * fVar28) * fVar23 - fVar9) * - 10.00000000); - *(undefined *)(puVar7 + 0xf) = (&DAT_800401b8)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x3d) = (&DAT_800401b9)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x3e) = (&DAT_800401ba)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)puVar7 + 0x3f) = uStack97; - *param_3 = 0x4300040; - uVar8 = osVirtualToPhysical((uint)puVar7); - param_3[1] = uVar8; - param_3[3] = 0x2010; - param_3[2] = 0xb1000032; - param_3 = param_3 + 4; - } - } - return param_3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f09f2a4(undefined4 *param_1,undefined4 param_2,undefined2 param_3,char *param_4, - int param_5) - -{ - char *pcVar1; - short sVar2; - ulonglong uVar3; - undefined *puVar4; - undefined *puVar5; - int iVar6; - int iVar7; - undefined4 *puVar8; - - uVar3 = get_num_players(); - puVar8 = NULL; - iVar7 = 0; - do { - iVar6 = iVar7 + _DAT_8007a1b0; - if (*(int *)(_DAT_8007a1b0 + iVar7) == 0) { - puVar8 = (undefined4 *)(iVar7 + _DAT_8007a1b0); - break; - } - iVar7 += 0x198; - if ((((1 < (longlong)uVar3) && (sVar2 = *(short *)(iVar6 + 6), sVar2 != 7)) && (sVar2 != 8)) && - (sVar2 != 9)) { - *(undefined2 *)(iVar6 + 4) = *(undefined2 *)(&DAT_800401ac + (int)sVar2 * 0x18); - } - } while (iVar7 < 0x1fe0); - if ((puVar8 != NULL) && (puVar4 = (undefined *)FUN_7f03a730(), puVar4 != NULL)) { - *puVar4 = 8; - puVar4[1] = puVar4[1] | 2; - *(undefined4 **)(puVar4 + 4) = puVar8; - iVar7 = 0; - *(undefined4 *)(puVar4 + 0x14) = param_2; - *(undefined4 *)(puVar4 + 8) = *param_1; - *(undefined4 *)(puVar4 + 0xc) = param_1[1]; - *(undefined4 *)(puVar4 + 0x10) = param_1[2]; - if (*param_4 != -1) { - puVar4[0x2c] = *param_4; - puVar5 = puVar4; - while( true ) { - pcVar1 = param_4 + 1; - iVar7 += 1; - param_4 = param_4 + 1; - if ((*pcVar1 == -1) || (iVar7 == 7)) break; - puVar5[0x2d] = *pcVar1; - puVar5 = puVar5 + 1; - } - } - puVar4[iVar7 + 0x2c] = 0xff; - if (param_5 != 0) { - puVar4[1] = puVar4[1] | 8; - } - FUN_7f03a7f0((int)puVar4); - set_stateflag_0x04_for_posdata((int)puVar4); - *(undefined2 *)(puVar8 + 1) = 0; - *(undefined **)puVar8 = puVar4; - *(undefined2 *)((int)puVar8 + 6) = param_3; - } - return; -} - - - -undefined8 FUN_7f09f450(char *param_1) - -{ - short sVar1; - short sVar2; - undefined4 *puVar3; - bool bVar4; - float fVar5; - undefined8 uVar6; - int iVar7; - uint uVar8; - float *pfVar9; - float *pfVar10; - undefined4 *puVar11; - undefined4 *puVar12; - int iVar13; - int iVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - - fVar5 = DAT_8005770c; - fVar18 = DAT_80057708; - fVar17 = DAT_80057704; - fVar16 = DAT_80057700; - puVar3 = *(undefined4 **)(param_1 + 4); - if (DAT_800483a4 == 0) { - uVar6 = 0; - } - else { - if (DAT_800483a4 < 0xf) { - fVar15 = (float)DAT_800483a4; - } - else { - fVar15 = 15.00000000; - } - iVar14 = 0; - if (0 < (int)fVar15) { - sVar1 = *(short *)(puVar3 + 1); - do { - iVar13 = 0; - *(short *)(puVar3 + 1) = sVar1 + 1; - puVar12 = puVar3; - do { - if ((float)puVar12[5] != 0.00000000) { - *(float *)(puVar12 + 3) = (float)puVar12[3] + fVar17; - *(float *)(puVar12 + 5) = (float)puVar12[5] + fVar16; - fVar19 = *(float *)(&DAT_800401bc + (int)*(short *)((int)puVar3 + 6) * 0x18); - *(short *)(puVar12 + 0xb) = *(short *)(puVar12 + 0xb) + 1; - *(float *)(puVar12 + 6) = (float)puVar12[6] + (float)puVar12[7]; - *(float *)(puVar12 + 10) = (float)puVar12[10] - fVar19; - iVar7 = FUN_7000a460(); - fVar19 = (float)iVar7; - if (iVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 8) = (float)puVar12[8] + fVar5 + fVar19 * 0.00000000 * fVar18; - iVar7 = FUN_7000a460(); - fVar19 = (float)iVar7; - if (iVar7 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 9) = (float)puVar12[9] + fVar5 + fVar19 * 0.00000000 * fVar18; - if ((float)puVar12[10] < 4.00000000) { - puVar12[5] = 0; - } - } - iVar13 += 0x28; - puVar12 = puVar12 + 10; - } while (iVar13 < 400); - sVar1 = *(short *)(puVar3 + 1); - iVar13 = (int)*(short *)((int)puVar3 + 6) * 0x18; - if ((longlong)sVar1 < (longlong)*(short *)(&DAT_800401ac + iVar13)) { - sVar2 = *(short *)(&DAT_800401b0 + iVar13); - iVar13 = 0; - if (sVar2 == 0) { - trap(0x1c00); - } - if ((sVar2 == -1) && ((longlong)sVar1 == -0x80000000)) { - trap(0x1800); - } - puVar12 = puVar3; - if ((int)sVar1 % (int)sVar2 == 1) { - do { - iVar13 += 0x28; - if ((float)puVar12[5] == 0.00000000) { - iVar13 = FUN_7000a460(); - fVar19 = (float)iVar13; - if (iVar13 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 5) = - (fVar19 * 0.00000000 * 0.50000000 + 1.00000000) * - (float)(int)*(short *)(&DAT_800401b2 + (int)*(short *)((int)puVar3 + 6) * 0x18) - ; - uVar8 = FUN_7000a460(); - fVar19 = (float)(uVar8 % 0x46); - if (false) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(undefined2 *)(puVar12 + 0xb) = 0; - *(float *)(puVar12 + 10) = fVar19 + 110.00000000; - iVar13 = FUN_7000a460(); - fVar19 = (float)iVar13; - if (iVar13 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 6) = fVar19 * 0.00000000 * DAT_80057710; - iVar13 = FUN_7000a460(); - fVar19 = (float)iVar13; - if (iVar13 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 7) = - *(float *)(&DAT_800401b4 + (int)*(short *)((int)puVar3 + 6) * 0x18) * - (0.50000000 - fVar19 * 0.00000000); - puVar12[2] = *(undefined4 *)(param_1 + 8); - puVar12[3] = *(undefined4 *)(param_1 + 0xc); - puVar12[4] = *(undefined4 *)(param_1 + 0x10); - iVar13 = FUN_7000a460(); - fVar19 = (float)iVar13; - if (iVar13 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 8) = fVar19 * 0.00000000 * 0.50000000; - iVar13 = FUN_7000a460(); - fVar19 = (float)iVar13; - if (iVar13 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - *(float *)(puVar12 + 9) = fVar19 * 0.00000000 * 0.50000000; - iVar13 = (int)*(short *)((int)puVar3 + 6) * 0x18; - if ((longlong) - ((int)*(short *)(&DAT_800401ac + iVar13) - - (int)*(short *)(&DAT_800401c0 + iVar13)) < (longlong)*(short *)(puVar3 + 1)) { - *(float *)(puVar12 + 10) = - (float)puVar12[10] * - ((float)((int)*(short *)(&DAT_800401ac + iVar13) - - (int)*(short *)(puVar3 + 1)) / - (float)(int)*(short *)(&DAT_800401c0 + iVar13)); - } - break; - } - puVar12 = puVar12 + 10; - } while (iVar13 != 400); - } - } - iVar14 += 1; - if (iVar14 == (int)fVar15) break; - sVar1 = *(short *)(puVar3 + 1); - } while( true ); - } - fStack40 = *(float *)(param_1 + 8) - 1.00000000; - iVar14 = 0; - fStack36 = *(float *)(param_1 + 0xc) - 1.00000000; - fStack32 = *(float *)(param_1 + 0x10) - 1.00000000; - fStack52 = *(float *)(param_1 + 8) + 1.00000000; - fStack48 = *(float *)(param_1 + 0xc) + 1.00000000; - fStack44 = *(float *)(param_1 + 0x10) + 1.00000000; - puVar12 = puVar3; - do { - iVar14 += 0x28; - iVar13 = 0; - pfVar9 = &fStack52 + 3; - puVar11 = puVar12; - if ((float)puVar12[5] != 0.00000000) { - do { - pfVar10 = (float *)(puVar11 + 2); - puVar11 = puVar11 + 1; - fVar16 = *pfVar10 - (float)puVar12[5]; - pfVar10 = (float *)((int)&fStack52 + iVar13); - if (fVar16 < *pfVar9) { - *pfVar9 = fVar16; - } - else { - if (*pfVar10 < fVar16) { - *pfVar10 = fVar16; - } - } - pfVar9 = pfVar9 + 1; - iVar13 += 4; - } while (pfVar9 != &fStack52 + 6); - } - puVar12 = puVar12 + 10; - } while (iVar14 < 400); - fVar16 = *(float *)(param_1 + 8) - fStack40; - if (0.00000000 < fVar16) { - fVar17 = *(float *)(param_1 + 0x10); - } - else { - fVar17 = *(float *)(param_1 + 0x10); - fVar16 = 0.00000000; - } - fVar18 = fVar17 - fStack32; - if (fVar18 <= fVar16) { - fVar18 = fVar16; - } - fVar16 = fStack52 - *(float *)(param_1 + 8); - fVar17 = fStack44 - fVar17; - if (fVar16 <= fVar18) { - fVar16 = fVar18; - } - if (fVar17 <= fVar16) { - fVar17 = fVar16; - } - loc_7F03E3E0(param_1,&fStack52 + 3,&fStack52,fVar17); - iVar14 = 0; - bVar4 = false; - if (*(short *)(&DAT_800401b0 + (int)*(short *)((int)puVar3 + 6) * 0x18) < *(short *)(puVar3 + 1) - ) { - bVar4 = true; - puVar12 = puVar3; - do { - iVar14 += 0x28; - if (0.00000000 < (float)puVar12[5]) { - bVar4 = false; - break; - } - puVar12 = puVar12 + 10; - } while (iVar14 != 400); - } - uVar6 = 0; - if (bVar4) { - *puVar3 = 0; - uVar6 = 1; - } - } - return uVar6; -} - - - -undefined8 FUN_7f09fb40(int param_1) - -{ - int iVar1; - float fVar2; - - iVar1 = FUN_7f0789b4(); - *(float *)(param_1 + 0x18) = - -(*(float *)(iVar1 + 0x38) + - *(float *)(iVar1 + 8) * *(float *)(param_1 + 8) + - *(float *)(iVar1 + 0x18) * *(float *)(param_1 + 0xc) + - *(float *)(iVar1 + 0x28) * *(float *)(param_1 + 0x10)); - fVar2 = *(float *)(param_1 + 0x18); - if (fVar2 < 100.00000000) { - *(float *)(param_1 + 0x18) = fVar2 * 0.50000000; - } - else { - *(float *)(param_1 + 0x18) = fVar2 - 100.00000000; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F09F22C(char *param_1,undefined8 param_2,longlong param_3) - -{ - byte bVar1; - int iVar2; - longlong lVar3; - ulonglong unaff_10000246; - float *pfVar4; - uint *puVar5; - uint uVar6; - undefined4 *puVar7; - int iVar8; - int iVar9; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - - bVar1 = param_1[0x2c]; - iVar2 = *(int *)(param_1 + 4); - pfVar4 = (float *)FUN_7f0bd5c4((uint)bVar1); - if (param_3 != 0) { - lVar3 = loc_7F054B64(param_1,&fStack24); - uVar6 = (uint)lVar3; - if (lVar3 < 1) { - puVar5 = FUN_7f0b5b64(param_2._4_4_); - } - else { - puVar5 = FUN_7f0b5ba4(param_2._4_4_,fStack24,fStack20,fStack16,fStack12); - puVar5 = (uint *)(uVar6 & 0xffffff00 | (uint)puVar5 >> 0x18); - } - *puVar5 = 0xb6000000; - puVar5[1] = 0x13000; - puVar5[2] = 0x1030040; - uVar6 = FUN_7f078984(); - uVar6 = osVirtualToPhysical(uVar6); - puVar5[3] = uVar6; - puVar7 = FUN_7f0bd574(puVar5 + 4,(uint)bVar1); - *puVar7 = 0x1000040; - uVar6 = osVirtualToPhysical(0x8007a170); - puVar7[1] = uVar6; - puVar7[2] = 0xbc000806; - uVar6 = osVirtualToPhysical(_DAT_8008d124); - puVar7[3] = uVar6; - puVar7[4] = 0x6000000; - puVar7[5] = 0x2000000; - puVar7[7] = 0x80; - puVar7[6] = 0xba000602; - puVar7 = puVar7 + 8; - iVar9 = 0; - iVar8 = iVar2; - do { - if (0.00000000 < *(float *)(iVar8 + 0x14)) { - puVar7 = loc_7F09E6D8(iVar2,(float *)(iVar8 + 8),puVar7,pfVar4); - } - else { - *(undefined4 *)(iVar8 + 0x14) = 0; - } - iVar9 += 0x28; - iVar8 += 0x28; - } while (iVar9 != 400); - puVar7[1] = 0x40; - *puVar7 = 0xba000602; - puVar7[2] = 0x1030040; - param_2._4_4_ = puVar7 + 4; - uVar6 = FUN_7f078964(); - uVar6 = osVirtualToPhysical(uVar6); - puVar7[3] = uVar6; - unaff_10000246 = SEXT48((int)param_2._4_4_); - } - return unaff_10000246 & 0xffffffff00000000 | ZEXT48(param_2._4_4_); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F09FD20(float *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - short sVar1; - int iVar2; - uint uVar3; - undefined4 uVar4; - char cVar5; - byte bVar6; - short sVar7; - float fVar8; - float fVar9; - float fVar10; - - iVar2 = FUN_7000a460(); - fVar8 = (float)iVar2; - if (iVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar10 = (fVar8 * 0.00000000 + fVar8 * 0.00000000) - 1.00000000; - iVar2 = FUN_7000a460(); - fVar8 = (float)iVar2; - if (iVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar8 = fVar8 * 0.00000000 * DAT_80057714 - DAT_80057718; - iVar2 = FUN_7000a460(); - *(undefined4 *)(_DAT_8007a1bc + DAT_80040830 * 0x78) = 1; - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 4) = *param_1 + param_2 * fVar10; - fVar9 = (float)iVar2; - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 8) = param_1[1] + param_2 * fVar8; - if (iVar2 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fVar9 = (fVar9 * 0.00000000 + fVar9 * 0.00000000) - 1.00000000; - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0xc) = param_1[2] + param_2 * fVar9; - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x1c) = fVar10 * param_3; - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x20) = fVar8 * param_4; - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x24) = fVar9 * param_3; - iVar2 = FUN_7000a460(); - fVar8 = (float)iVar2; - if (iVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x38) = - (short)(int)((fVar8 * 0.00000000 * 0.75000000 + 0.75000000) * param_5); - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x3a) = 0; - iVar2 = FUN_7000a460(); - fVar8 = (float)iVar2; - if (iVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x3c) = - (short)(int)((fVar8 * 0.00000000 * 0.75000000 + 0.75000000) * param_5); - iVar2 = FUN_7000a460(); - fVar8 = (float)iVar2; - if (iVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x48) = - (short)(int)((fVar8 * 0.00000000 * 0.75000000 + 0.75000000) * param_5); - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x4a) = 0; - iVar2 = FUN_7000a460(); - fVar8 = -param_5; - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x4c) = - (short)(int)((fVar10 * 0.00000000 * 0.75000000 + 0.75000000) * fVar8); - iVar2 = FUN_7000a460(); - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x58) = - (short)(int)((fVar10 * 0.00000000 * 0.75000000 + 0.75000000) * fVar8); - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x5a) = 0; - iVar2 = FUN_7000a460(); - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x5c) = - (short)(int)((fVar10 * 0.00000000 * 0.75000000 + 0.75000000) * fVar8); - iVar2 = FUN_7000a460(); - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x68) = - (short)(int)((fVar10 * 0.00000000 * 0.75000000 + 0.75000000) * fVar8); - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x6a) = 0; - iVar2 = FUN_7000a460(); - fVar8 = (float)iVar2; - if (iVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x6c) = - (short)(int)((fVar8 * 0.00000000 * 0.75000000 + 0.75000000) * param_5); - uVar3 = FUN_7000a460(); - sVar7 = (short)((uVar3 & 3) << 8); - uVar3 = FUN_7000a460(); - sVar1 = (short)((uVar3 & 3) << 8); - *(short *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x40) = sVar7 + 0xe0; - *(short *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x42) = sVar1 + 0xe0; - *(short *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x50) = sVar7 + 0xe0; - *(short *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x52) = sVar1; - *(short *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x60) = sVar7; - *(short *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x62) = sVar1; - *(short *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x70) = sVar7; - *(short *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x72) = sVar1 + 0xe0; - uVar3 = FUN_7000a460(); - if ((uVar3 & 1) == 0) { - uVar4 = FUN_7000a460(); - bVar6 = (byte)uVar4 & 0x3f; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x46) = bVar6; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x45) = bVar6; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x44) = bVar6; - uVar4 = FUN_7000a460(); - bVar6 = (byte)uVar4 & 0x3f; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x56) = bVar6; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x55) = bVar6; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x54) = bVar6; - uVar4 = FUN_7000a460(); - bVar6 = (byte)uVar4 & 0x3f; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x66) = bVar6; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x65) = bVar6; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 100) = bVar6; - uVar4 = FUN_7000a460(); - bVar6 = (byte)uVar4 & 0x3f; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x76) = bVar6; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x75) = bVar6; - *(byte *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x74) = bVar6; - } - else { - uVar4 = FUN_7000a460(); - cVar5 = -1 - ((byte)uVar4 & 0x3f); - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x46) = cVar5; - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x45) = cVar5; - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x44) = cVar5; - uVar4 = FUN_7000a460(); - cVar5 = -1 - ((byte)uVar4 & 0x3f); - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x56) = cVar5; - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x55) = cVar5; - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x54) = cVar5; - uVar4 = FUN_7000a460(); - cVar5 = -1 - ((byte)uVar4 & 0x3f); - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x66) = cVar5; - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x65) = cVar5; - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 100) = cVar5; - uVar4 = FUN_7000a460(); - cVar5 = -1 - ((byte)uVar4 & 0x3f); - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x76) = cVar5; - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x75) = cVar5; - *(char *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x74) = cVar5; - } - *(undefined *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x47) = 0xdc; - *(undefined *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x57) = 0xdc; - *(undefined *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x67) = 0xdc; - *(undefined *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x77) = 0xdc; - iVar2 = FUN_7000a460(); - fVar8 = DAT_8005771c; - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x10) = fVar10 * 0.00000000 * DAT_8005771c; - iVar2 = FUN_7000a460(); - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x14) = fVar10 * 0.00000000 * fVar8; - iVar2 = FUN_7000a460(); - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x18) = fVar10 * 0.00000000 * fVar8; - iVar2 = FUN_7000a460(); - fVar8 = DAT_80057720; - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x28) = fVar10 * 0.00000000 * DAT_80057720; - iVar2 = FUN_7000a460(); - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x2c) = fVar10 * 0.00000000 * fVar8; - iVar2 = FUN_7000a460(); - fVar10 = (float)iVar2; - if (iVar2 < 0) { - fVar10 = fVar10 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1bc + DAT_80040830 * 0x78 + 0x30) = fVar10 * 0.00000000 * fVar8; - DAT_80040830 += 1; - if (_DAT_8007a1b8 <= DAT_80040830) { - DAT_80040830 = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a08e0(void) - -{ - float fVar1; - float fVar2; - float fVar3; - int iVar4; - int *piVar5; - uint uVar6; - int iVar7; - int iVar8; - float fVar9; - float fVar10; - uint uVar11; - float fVar12; - - fVar3 = DAT_8005772c; - fVar2 = DAT_80057728; - fVar1 = DAT_80057724; - if (DAT_800483a4 < 0xf) { - fVar12 = (float)DAT_800483a4; - } - else { - fVar12 = 15.00000000; - } - iVar8 = 0; - iVar7 = 0; - if (0 < _DAT_8007a1b8) { - do { - iVar4 = *(int *)(_DAT_8007a1bc + iVar7); - if (0 < iVar4) { - uVar11 = (uint)fVar12; - uVar6 = 0; - *(int *)(_DAT_8007a1bc + iVar7) = iVar4 + uVar11; - iVar4 = _DAT_8007a1bc + iVar7; - *(float *)(iVar4 + 0x10) = *(float *)(iVar4 + 0x10) + *(float *)(iVar4 + 0x28) * fVar12; - iVar4 = _DAT_8007a1bc + iVar7; - *(float *)(iVar4 + 0x14) = *(float *)(iVar4 + 0x14) + *(float *)(iVar4 + 0x2c) * fVar12; - iVar4 = _DAT_8007a1bc + iVar7; - *(float *)(iVar4 + 0x18) = *(float *)(iVar4 + 0x18) + *(float *)(iVar4 + 0x30) * fVar12; - iVar4 = _DAT_8007a1bc + iVar7; - *(float *)(iVar4 + 4) = *(float *)(iVar4 + 4) + *(float *)(iVar4 + 0x1c) * fVar12; - iVar4 = _DAT_8007a1bc + iVar7; - *(float *)(iVar4 + 0xc) = *(float *)(iVar4 + 0xc) + *(float *)(iVar4 + 0x24) * fVar12; - if (0 < (int)uVar11) { - if ((uVar11 & 1) != 0) { - uVar6 = 1; - iVar4 = _DAT_8007a1bc + iVar7; - *(float *)(iVar4 + 8) = *(float *)(iVar4 + 8) + *(float *)(iVar4 + 0x20); - fVar9 = *(float *)(_DAT_8007a1bc + iVar7 + 0x20); - if (-3.75000000 < fVar9) { - *(float *)(_DAT_8007a1bc + iVar7 + 0x20) = fVar9 - fVar3; - } - if (uVar11 == 1) goto LAB_7f0a0b14; - } - do { - uVar6 += 2; - iVar4 = _DAT_8007a1bc + iVar7; - *(float *)(iVar4 + 8) = *(float *)(iVar4 + 8) + *(float *)(iVar4 + 0x20); - iVar4 = _DAT_8007a1bc + iVar7; - fVar9 = *(float *)(iVar4 + 0x20); - if (-3.75000000 < fVar9) { - *(float *)(iVar4 + 0x20) = fVar9 - fVar3; - iVar4 = _DAT_8007a1bc + iVar7; - fVar9 = *(float *)(iVar4 + 0x20); - fVar10 = *(float *)(iVar4 + 8); - } - else { - fVar10 = *(float *)(iVar4 + 8); - } - *(float *)(iVar4 + 8) = fVar10 + fVar9; - fVar9 = *(float *)(_DAT_8007a1bc + iVar7 + 0x20); - if (-3.75000000 < fVar9) { - *(float *)(_DAT_8007a1bc + iVar7 + 0x20) = fVar9 - fVar3; - } - } while (uVar6 != uVar11); - } -LAB_7f0a0b14: - piVar5 = (int *)(_DAT_8007a1bc + iVar7); - if (*piVar5 < 0x65) { - fVar9 = (float)piVar5[2]; - } - else { - uVar6 = FUN_7000a460(); - if (((uVar6 & 0x1f) == 0) || (piVar5 = (int *)(_DAT_8007a1bc + iVar7), *piVar5 == 300)) { - *(undefined4 *)(_DAT_8007a1bc + iVar7) = 0; - piVar5 = (int *)(_DAT_8007a1bc + iVar7); - fVar9 = (float)piVar5[2]; - } - else { - fVar9 = (float)piVar5[2]; - } - } - if (fVar2 <= fVar9) { - if (fVar1 < fVar9) { - *piVar5 = 0; - } - } - else { - *piVar5 = 0; - } - } - iVar8 += 1; - iVar7 += 0x78; - } while (iVar8 < _DAT_8007a1b8); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0A0240(undefined4 *param_1) - -{ - float fVar1; - float fVar2; - uint uVar3; - int *piVar4; - float *pfVar5; - uint *puVar6; - int iVar7; - int iVar8; - float afStack64 [12]; - float fStack16; - float fStack12; - float fStack8; - - param_1[1] = 0x3000; - *param_1 = 0xb6000000; - param_1[2] = 0xbc000806; - uVar3 = osVirtualToPhysical(_DAT_8008d124); - param_1[3] = uVar3; - param_1[4] = 0x6000000; - param_1[5] = 0x2000a50; - param_1[6] = 0xb900031d; - param_1[7] = 0x5049d8; - fVar2 = DAT_80057734; - fVar1 = DAT_80057730; - param_1 = param_1 + 8; - iVar8 = 0; - iVar7 = 0; - if (0 < _DAT_8007a1b8) { - do { - piVar4 = (int *)(_DAT_8007a1bc + iVar7); - if (0 < *piVar4) { - FUN_7f058e4c(piVar4 + 1,(float *)(piVar4 + 4),afStack64); - pfVar5 = (float *)FUN_7f0789b4(); - FUN_7f0585b8(pfVar5,afStack64); - if ((((fStack16 < fVar2) && (fVar1 < fStack16)) && (fStack12 < fVar2)) && - (((fVar1 < fStack12 && (fStack8 < fVar2)) && (fVar1 < fStack8)))) { - puVar6 = (uint *)FUN_7f0be290(); - FUN_7f0591bc((int)afStack64,puVar6); - *param_1 = 0x1020040; - uVar3 = osVirtualToPhysical((uint)puVar6); - param_1[1] = uVar3; - param_1[2] = 0x4300040; - uVar3 = osVirtualToPhysical(_DAT_8007a1bc + iVar7 + 0x38); - param_1[3] = uVar3; - param_1[5] = 0x2010; - param_1[4] = 0xb1000032; - param_1 = param_1 + 6; - } - } - iVar8 += 1; - iVar7 += 0x78; - } while (iVar8 < _DAT_8007a1b8); - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0A0A90(float *param_1,float param_2,short param_3) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - int iVar6; - uint uVar7; - float *pfVar8; - ulonglong uVar5; - char cVar9; - undefined uVar10; - float fVar11; - float fVar12; - float fVar13; - - uVar4 = DAT_8004095c; - uVar3 = DAT_80040958; - uVar2 = DAT_80040954; - uVar1 = DAT_80040950; - iVar6 = FUN_7000a460(); - fVar12 = (float)iVar6; - if (iVar6 < 0) { - fVar12 = fVar12 + 4294967296.00000000; - } - fVar11 = fVar12 * 0.00000000 * DAT_80057738; - uVar7 = FUN_7000a460(); - cVar9 = -1 - (char)(uVar7 % 0x50); - pfVar8 = (float *)FUN_7f0bd5c4((int)param_3); - uVar5 = get_num_players(); - fVar12 = 200.00000000; - if ((longlong)uVar5 < 2) { - if (200.00000000 < param_2) { - param_2 = 200.00000000; - } - iVar6 = FUN_7000a460(); - fVar13 = (float)iVar6; - if (iVar6 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fVar13 = DAT_80057740 + DAT_8005773c * fVar13 * 0.00000000; - FUN_7f0b53ec(); - *param_1 = *param_1 * fVar12 - *pfVar8; - FUN_7f0b53ec(); - param_1[1] = param_1[1] * fVar12 - pfVar8[1]; - FUN_7f0b53ec(); - param_1[2] = param_1[2] * fVar12 - pfVar8[2]; - FUN_7f0b53ec(); - fVar12 = param_2 * fVar13 * fVar12; - fVar13 = FUN_7f0583c0(fVar11); - fVar13 = fVar13 * fVar12; - fVar11 = func_7F057FC4(fVar11); - fVar11 = fVar11 * fVar12; - *(short *)(_DAT_8007a1c0 + DAT_80040834 * 0x58) = param_3; - *(float *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 4) = *param_1; - *(float *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 8) = param_1[1]; - *(float *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0xc) = param_1[2]; - *(float *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x10) = fVar12; - iVar6 = _DAT_8007a1c0 + DAT_80040834 * 0x58; - *(undefined4 *)(iVar6 + 0x18) = uVar1; - *(undefined4 *)(iVar6 + 0x1c) = uVar2; - *(undefined4 *)(iVar6 + 0x20) = uVar3; - *(undefined4 *)(iVar6 + 0x24) = uVar4; - iVar6 = _DAT_8007a1c0 + DAT_80040834 * 0x58; - *(undefined4 *)(iVar6 + 0x28) = uVar1; - *(undefined4 *)(iVar6 + 0x2c) = uVar2; - *(undefined4 *)(iVar6 + 0x30) = uVar3; - *(undefined4 *)(iVar6 + 0x34) = uVar4; - iVar6 = _DAT_8007a1c0 + DAT_80040834 * 0x58; - *(undefined4 *)(iVar6 + 0x38) = uVar1; - *(undefined4 *)(iVar6 + 0x3c) = uVar2; - *(undefined4 *)(iVar6 + 0x40) = uVar3; - *(undefined4 *)(iVar6 + 0x44) = uVar4; - iVar6 = _DAT_8007a1c0 + DAT_80040834 * 0x58; - *(undefined4 *)(iVar6 + 0x48) = uVar1; - *(undefined4 *)(iVar6 + 0x4c) = uVar2; - *(undefined4 *)(iVar6 + 0x50) = uVar3; - *(undefined4 *)(iVar6 + 0x54) = uVar4; - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x18) = (short)(int)(*param_1 + fVar13); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x1a) = - (short)(int)(param_1[1] + 0.50000000); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x1c) = (short)(int)(param_1[2] + fVar11); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x20) = 0; - *(short *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x22) = - (ushort)*(byte *)(_DAT_8008d128 + 4) << 5; - uVar7 = FUN_7000a460(); - uVar10 = (undefined)(uVar7 % 0x32); - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x26) = uVar10; - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x25) = uVar10; - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x24) = uVar10; - *(char *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x27) = cVar9; - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x28) = (short)(int)(*param_1 + fVar11); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x2a) = - (short)(int)(param_1[1] + 0.50000000); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x2c) = (short)(int)(param_1[2] - fVar13); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x30) = 0; - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x32) = 0; - uVar7 = FUN_7000a460(); - uVar10 = (undefined)(uVar7 % 0x32); - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x36) = uVar10; - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x35) = uVar10; - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x34) = uVar10; - *(char *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x37) = cVar9; - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x38) = (short)(int)(*param_1 - fVar13); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x3a) = - (short)(int)(param_1[1] + 0.50000000); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x3c) = (short)(int)(param_1[2] - fVar11); - *(short *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x40) = - (ushort)*(byte *)(_DAT_8008d128 + 5) << 5; - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x42) = 0; - uVar7 = FUN_7000a460(); - uVar10 = (undefined)(uVar7 % 0x32); - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x46) = uVar10; - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x45) = uVar10; - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x44) = uVar10; - *(char *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x47) = cVar9; - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x48) = (short)(int)(*param_1 - fVar11); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x4a) = - (short)(int)(param_1[1] + 0.50000000); - *(undefined2 *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x4c) = (short)(int)(param_1[2] + fVar13); - *(short *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x50) = - (ushort)*(byte *)(_DAT_8008d128 + 4) << 5; - *(short *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x52) = - (ushort)*(byte *)(_DAT_8008d128 + 5) << 5; - uVar7 = FUN_7000a460(); - uVar10 = (undefined)(uVar7 % 0x32); - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x56) = uVar10; - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x55) = uVar10; - *(undefined *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x54) = uVar10; - *(char *)(_DAT_8007a1c0 + DAT_80040834 * 0x58 + 0x57) = cVar9; - DAT_80040834 += 1; - if (0x13 < DAT_80040834) { - DAT_80040834 = 0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0A0C48(undefined4 *param_1) - -{ - short sVar1; - ulonglong uVar2; - undefined4 *puVar3; - uint uVar4; - int iVar5; - short sVar6; - undefined4 *puStackX0; - - sVar6 = -1; - puStackX0 = param_1; - uVar2 = get_num_players(); - if ((longlong)uVar2 < 2) { - puStackX0[1] = 0x2000; - *puStackX0 = 0xb7000000; - puStackX0[2] = 0xb6000000; - puStackX0[3] = 0x11000; - puStackX0[5] = 0x80; - puStackX0[4] = 0xba000602; - puStackX0 = puStackX0 + 6; - loc_7F077B80((uint **)register0x000000ec,_DAT_8008d128,4,1,2); - iVar5 = 0; - do { - if ((-1 < *(short *)(_DAT_8007a1c0 + iVar5)) && - (uVar2 = FUN_7f0b6a00((int)*(short *)(_DAT_8007a1c0 + iVar5)), uVar2 != 0)) { - sVar1 = *(short *)(_DAT_8007a1c0 + iVar5); - puVar3 = puStackX0; - if (sVar6 != sVar1) { - puVar3 = FUN_7f0bd574(puStackX0,(int)sVar1); - sVar6 = sVar1; - } - puStackX0 = puVar3 + 2; - *puVar3 = 0x4300040; - uVar4 = osVirtualToPhysical(_DAT_8007a1c0 + iVar5 + 0x18); - puVar3[1] = uVar4; - puStackX0[1] = 0x2010; - *puStackX0 = 0xb1000032; - puStackX0 = puStackX0 + 2; - } - iVar5 += 0x58; - } while (iVar5 != 0x6e0); - puStackX0[1] = 0x40; - *puStackX0 = 0xba000602; - puStackX0 = puStackX0 + 2; - } - return puStackX0; -} - - - -int loc_7F0A0CB0(float param_1) - -{ - if (param_1 < 0.00000000) { - return (int)(param_1 - 0.50000000); - } - return (int)(param_1 + 0.50000000); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a1870(int param_1,char param_2) - -{ - undefined2 *puVar1; - int iVar2; - longlong lVar3; - int iVar4; - - lVar3 = (longlong)(int)param_2; - iVar2 = 0; - do { - puVar1 = (undefined2 *)(_DAT_8007a1c4 + iVar2); - if (param_1 == *(int *)(puVar1 + 0x24)) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0x4d)) { - *puVar1 = 0xffff; - puVar1 = (undefined2 *)(_DAT_8007a1c4 + iVar2); - iVar4 = *(int *)(puVar1 + 0x4c); - } - else { - iVar4 = *(int *)(puVar1 + 0x4c); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x4c); - } - if (param_1 == iVar4) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0x9d)) { - puVar1[0x28] = 0xffff; - puVar1 = (undefined2 *)(_DAT_8007a1c4 + iVar2); - iVar4 = *(int *)(puVar1 + 0x74); - } - else { - iVar4 = *(int *)(puVar1 + 0x74); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x74); - } - if (param_1 == iVar4) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0xed)) { - puVar1[0x50] = 0xffff; - puVar1 = (undefined2 *)(_DAT_8007a1c4 + iVar2); - iVar4 = *(int *)(puVar1 + 0x9c); - } - else { - iVar4 = *(int *)(puVar1 + 0x9c); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x9c); - } - iVar2 += 0x140; - if ((param_1 == iVar4) && (lVar3 == (longlong)*(char *)((int)puVar1 + 0x13d))) { - puVar1[0x78] = 0xffff; - } - } while (iVar2 != 8000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a1934(int param_1) - -{ - undefined2 *puVar1; - int iVar2; - int iVar3; - - iVar2 = 0; - do { - puVar1 = (undefined2 *)(_DAT_8007a1c4 + iVar2); - if (param_1 == *(int *)(puVar1 + 0x24)) { - if ((&DAT_80040845)[(int)(short)puVar1[1] * 0xc] == '\x02') { - *puVar1 = 0xffff; - puVar1 = (undefined2 *)(_DAT_8007a1c4 + iVar2); - iVar3 = *(int *)(puVar1 + 0x4c); - } - else { - iVar3 = *(int *)(puVar1 + 0x4c); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x4c); - } - if (param_1 == iVar3) { - if ((&DAT_80040845)[(int)(short)puVar1[0x29] * 0xc] == '\x02') { - puVar1[0x28] = 0xffff; - puVar1 = (undefined2 *)(_DAT_8007a1c4 + iVar2); - iVar3 = *(int *)(puVar1 + 0x74); - } - else { - iVar3 = *(int *)(puVar1 + 0x74); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x74); - } - if (param_1 == iVar3) { - if ((&DAT_80040845)[(int)(short)puVar1[0x51] * 0xc] == '\x02') { - puVar1[0x50] = 0xffff; - puVar1 = (undefined2 *)(_DAT_8007a1c4 + iVar2); - iVar3 = *(int *)(puVar1 + 0x9c); - } - else { - iVar3 = *(int *)(puVar1 + 0x9c); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x9c); - } - iVar2 += 0x140; - if ((param_1 == iVar3) && ((&DAT_80040845)[(int)(short)puVar1[0x79] * 0xc] == '\x02')) { - puVar1[0x78] = 0xffff; - } - } while (iVar2 != 8000); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a1a3c(int param_1) - -{ - float fVar1; - int iVar2; - int iVar3; - int iVar4; - float fVar5; - undefined uVar6; - - iVar2 = 0; - do { - iVar3 = param_1 * 0x50; - fVar5 = ((float)iVar2 / 10.00000000) * 255.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar6 = (undefined)(int)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a1ae0; - uVar6 = (undefined)(int)fVar5; - } - else { - if ((int)fVar1 < 0) { -LAB_7f0a1ae0: - uVar6 = 0xff; - } - } - iVar4 = iVar2 + 1; - *(undefined *)(_DAT_8007a1c4 + iVar3 + 0x47) = uVar6; - param_1 += 1; - *(undefined *)(_DAT_8007a1c4 + iVar3 + 0x37) = uVar6; - *(undefined *)(_DAT_8007a1c4 + iVar3 + 0x27) = uVar6; - iVar2 += 2; - *(undefined *)(_DAT_8007a1c4 + iVar3 + 0x17) = uVar6; - iVar3 += 0x50; - if (99 < param_1) { - param_1 = 0; - iVar3 = 0; - } - fVar5 = ((float)iVar4 / 10.00000000) * 255.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar6 = (undefined)(int)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a1bc4; - uVar6 = (undefined)(int)fVar5; - } - else { - if ((int)fVar1 < 0) { -LAB_7f0a1bc4: - uVar6 = 0xff; - } - } - param_1 += 1; - *(undefined *)(_DAT_8007a1c4 + iVar3 + 0x47) = uVar6; - *(undefined *)(_DAT_8007a1c4 + iVar3 + 0x37) = uVar6; - *(undefined *)(_DAT_8007a1c4 + iVar3 + 0x27) = uVar6; - *(undefined *)(_DAT_8007a1c4 + iVar3 + 0x17) = uVar6; - if (99 < param_1) { - param_1 = 0; - } - if (iVar2 == 10) { - return; - } - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0A1A48(float *param_1,float *param_2,short param_3,short param_4,int param_5,char param_6 - ,undefined param_7) - -{ - char cVar1; - uint uVar2; - float *pfVar3; - ulonglong uVar4; - ulonglong uVar5; - int iVar6; - byte bVar7; - undefined uVar8; - int iVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - short sStackX10; - byte bStack143; - byte bStack142; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack104; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack44; - float fStack28; - float fStack24; - float fStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack16 = DAT_80040960; - uStack12 = DAT_80040964; - uStack8 = DAT_80040968; - uStack4 = DAT_8004096c; - uVar2 = FUN_7f09333c(0xf); - sStackX10 = param_3; - if (uVar2 != 0) { - sStackX10 = 0x10; - } - fStack80 = *param_1; - fStack76 = param_1[1]; - fStack72 = param_1[2]; - iVar10 = (int)sStackX10 * 0xc; - fStack84 = *(float *)(iVar10 + -0x7ffbf7c4); - fStack88 = *(float *)(iVar10 + -0x7ffbf7c0); - fVar15 = *param_2; - if ((fVar15 == 0.00000000) && (fVar11 = 1.00000000, param_2[2] == 0.00000000)) { - fStack56 = 0.00000000; - fStack60 = 0.00000000; - fStack52 = 0.00000000; - fStack64 = 1.00000000; - fStack44 = 1.00000000; - } - else { - fStack24 = sqrtf(param_2[2] * param_2[2] + fVar15 * fVar15 + param_2[1] * param_2[1]); - fStack20 = *param_2 / fStack24; - fStack28 = param_2[2] / fStack24; - fStack24 = param_2[1] / fStack24; - fVar11 = sqrtf(fStack20 * fStack20 + fStack28 * fStack28); - fStack60 = -fVar11; - fStack44 = fStack28 / fVar11; - fStack56 = fStack24 * (fStack20 / fVar11); - fStack52 = -(fStack20 / fVar11); - fStack64 = fStack24 * fStack44; - } - if (param_5 == 0) { - pfVar3 = (float *)FUN_7f0bd5c4((int)param_4); - FUN_7f0b53ec(); - fStack80 = fStack80 * fVar11 - *pfVar3; - FUN_7f0b53ec(); - fStack76 = fStack76 * fVar11 - pfVar3[1]; - FUN_7f0b53ec(); - fStack72 = fStack72 * fVar11 - pfVar3[2]; - FUN_7f0b53ec(); - fStack84 = fStack84 * fVar11; - FUN_7f0b53ec(); - fStack88 = fStack88 * fVar11; - } - else { - iVar6 = *(int *)(param_5 + 4); - fStack120 = fStack44; - pfVar3 = (float *)(*(int *)(*(int *)(iVar6 + 0x14) + 0xc) + (int)param_6 * 0x40); - fStack116 = 0.00000000; - fStack112 = fStack52; - fStack132 = fStack56; - fStack128 = fStack60; - fStack124 = fStack64; - FUN_7f0588f8(pfVar3,&fStack120); - FUN_7f0588f8(pfVar3,&fStack132); - fStack104 = sqrtf(fStack112 * fStack112 + fStack120 * fStack120 + fStack116 * fStack116); - fVar15 = sqrtf(fStack124 * fStack124 + fStack132 * fStack132 + fStack128 * fStack128); - fStack84 = fStack84 / fStack104; - fStack88 = fStack88 / fVar15; - if ((byte)(&DAT_80040846)[iVar10] < 2) { - if ((&DAT_80040845)[iVar10] == '\x02') { - *(byte *)(iVar6 + 2) = *(byte *)(iVar6 + 2) | 2; - goto LAB_7f0a1f54; - } - bVar7 = *(byte *)(iVar6 + 2); - } - else { - bVar7 = *(byte *)(iVar6 + 2); - } - *(byte *)(iVar6 + 2) = bVar7 | 1; - } -LAB_7f0a1f54: - *(int *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x48) = param_5; - *(char *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x4c) = param_6; - *(undefined *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x4d) = param_7; - *(short *)(_DAT_8007a1c4 + DAT_80040838 * 0x50) = param_4; - *(short *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 2) = sStackX10; - iVar6 = _DAT_8007a1c4 + DAT_80040838 * 0x50; - *(undefined4 *)(iVar6 + 8) = uStack16; - *(undefined4 *)(iVar6 + 0xc) = uStack12; - *(undefined4 *)(iVar6 + 0x10) = uStack8; - *(undefined4 *)(iVar6 + 0x14) = uStack4; - iVar6 = _DAT_8007a1c4 + DAT_80040838 * 0x50; - *(undefined4 *)(iVar6 + 0x18) = uStack16; - *(undefined4 *)(iVar6 + 0x1c) = uStack12; - *(undefined4 *)(iVar6 + 0x20) = uStack8; - *(undefined4 *)(iVar6 + 0x24) = uStack4; - iVar6 = _DAT_8007a1c4 + DAT_80040838 * 0x50; - *(undefined4 *)(iVar6 + 0x28) = uStack16; - *(undefined4 *)(iVar6 + 0x2c) = uStack12; - *(undefined4 *)(iVar6 + 0x30) = uStack8; - *(undefined4 *)(iVar6 + 0x34) = uStack4; - iVar6 = _DAT_8007a1c4 + DAT_80040838 * 0x50; - *(undefined4 *)(iVar6 + 0x38) = uStack16; - *(undefined4 *)(iVar6 + 0x3c) = uStack12; - *(undefined4 *)(iVar6 + 0x40) = uStack8; - *(undefined4 *)(iVar6 + 0x44) = uStack4; - fVar15 = fStack84 * fStack44; - fVar13 = fStack88 * fStack56; - iVar6 = loc_7F0A0CB0((fStack80 - fVar15) - fVar13); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 8) = (short)iVar6; - fVar11 = fStack88 * fStack60; - iVar6 = loc_7F0A0CB0((fStack76 - 0.00000000) - fVar11); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 10) = (short)iVar6; - fVar12 = fStack84 * fStack52; - fVar14 = fStack88 * fStack64; - iVar6 = loc_7F0A0CB0((fStack72 - fVar12) - fVar14); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0xc) = (short)iVar6; - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x10) = 0; - *(short *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x12) = - (ushort)*(byte *)(_DAT_8008d12c + iVar10 + 5) << 5; - iVar6 = loc_7F0A0CB0((fStack80 - fVar15) + fVar13); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x18) = (short)iVar6; - iVar6 = loc_7F0A0CB0((fStack76 - 0.00000000) + fVar11); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x1a) = (short)iVar6; - iVar6 = loc_7F0A0CB0((fStack72 - fVar12) + fVar14); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x1c) = (short)iVar6; - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x20) = 0; - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x22) = 0; - iVar6 = loc_7F0A0CB0(fStack80 + fVar15 + fVar13); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x28) = (short)iVar6; - iVar6 = loc_7F0A0CB0(fStack76 + 0.00000000 + fVar11); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x2a) = (short)iVar6; - iVar6 = loc_7F0A0CB0(fStack72 + fVar12 + fVar14); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x2c) = (short)iVar6; - *(short *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x30) = - (ushort)*(byte *)(_DAT_8008d12c + iVar10 + 4) << 5; - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x32) = 0; - iVar6 = loc_7F0A0CB0((fStack80 + fVar15) - fVar13); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x38) = (short)iVar6; - iVar6 = loc_7F0A0CB0((fStack76 + 0.00000000) - fVar11); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x3a) = (short)iVar6; - iVar6 = loc_7F0A0CB0((fStack72 + fVar12) - fVar14); - iVar9 = 0; - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x3c) = (short)iVar6; - *(short *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x40) = - (ushort)*(byte *)(_DAT_8008d12c + iVar10 + 4) << 5; - *(short *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + 0x42) = - (ushort)*(byte *)(_DAT_8008d12c + iVar10 + 5) << 5; - uVar4 = (ulonglong)bStack143; - uVar5 = (ulonglong)bStack142; - do { - cVar1 = *(char *)(iVar10 + -0x7ffbf7bc); - if (cVar1 == '\0') { - uVar2 = FUN_7000a460(); - uVar4 = SEXT48((int)(uVar2 % 0x28)); - uVar8 = (undefined)(uVar2 % 0x28); - uVar5 = uVar4; - if (false) { - trap(0x1c00); - uVar5 = uVar4; - } - } - else { - if (cVar1 == '\x01') { - uVar2 = FUN_7000a460(); - iVar6 = 0xff - uVar2 % 0x28; - if (false) { - trap(0x1c00); - } - uVar4 = (longlong)iVar6 & 0xff; - uVar8 = (undefined)iVar6; - uVar5 = (longlong)iVar6 & 0xff; - } - else { - if (cVar1 == '\x02') { - uVar2 = FUN_7000a460(); - uVar8 = 0; - if ((uVar2 & 1) != 0) { - uVar8 = 0xff; - } - uVar2 = FUN_7000a460(); - bVar7 = 0; - if ((uVar2 & 1) != 0) { - bVar7 = 0xff; - } - uVar2 = FUN_7000a460(); - if ((uVar2 & 1) == 0) { - uVar4 = 0; - uVar5 = (ulonglong)bVar7; - } - else { - uVar4 = 0xff; - uVar5 = (ulonglong)bVar7; - } - } - else { - uVar8 = 0; - } - } - } - *(undefined *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + iVar9 + 0x14) = uVar8; - *(undefined *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + iVar9 + 0x15) = (char)uVar5; - *(undefined *)(_DAT_8007a1c4 + DAT_80040838 * 0x50 + iVar9 + 0x16) = (char)uVar4; - iVar6 = _DAT_8007a1c4 + DAT_80040838 * 0x50 + iVar9; - iVar9 += 0x10; - *(undefined *)(iVar6 + 0x17) = 0xff; - } while (iVar9 != 0x40); - DAT_80040838 += 1; - if (99 < DAT_80040838) { - DAT_80040838 = 0; - } - FUN_7f0a1a3c(DAT_80040838); - *(undefined2 *)(_DAT_8007a1c4 + DAT_80040838 * 0x50) = 0xffff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0A1D24(undefined4 *param_1,int param_2,uint param_3) - -{ - char cVar1; - short sVar2; - short sVar3; - int iVar4; - bool bVar5; - bool bVar6; - undefined4 *puVar7; - ulonglong uVar8; - uint uVar9; - short *psVar10; - int iVar11; - int iVar12; - int iVar13; - longlong lVar14; - undefined4 *puStackX0; - uint uStackX8; - int iStack24; - int iStack20; - - lVar14 = -1; - bVar6 = false; - iStack20 = 0; - iStack24 = -1; - if (param_2 != 0) { - iStack20 = *(int *)(param_2 + 4); - } - param_1[1] = 0x3000; - *param_1 = 0xb6000000; - puStackX0 = param_1 + 4; - iVar13 = 0; - param_1[3] = 0x80; - param_1[2] = 0xba000602; - uStackX8 = param_3; - do { - psVar10 = (short *)(_DAT_8007a1c4 + iVar13); - if ((param_2 == *(int *)(psVar10 + 0x24)) && (-1 < *psVar10)) { - if (param_2 == 0) { - uVar8 = FUN_7f0b6a00((int)*psVar10); - if (uVar8 == 0) goto LAB_7f0a2890; - psVar10 = (short *)(_DAT_8007a1c4 + iVar13); - } - puVar7 = puStackX0; - sVar2 = psVar10[1]; - if (uStackX8 == 0) { - iVar12 = (int)sVar2 * 0xc; - iVar11 = iVar12 + -0x7ffbf7c4; - bVar5 = 1 < (byte)(&DAT_80040846)[iVar12]; - if (!bVar5) { - bVar5 = (&DAT_80040845)[iVar12] != '\x02'; - } - } - else { - iVar12 = (int)sVar2 * 0xc; - iVar11 = iVar12 + -0x7ffbf7c4; - bVar5 = (byte)(&DAT_80040846)[iVar12] < 2; - if (bVar5) { - bVar5 = (&DAT_80040845)[iVar12] == '\x02'; - } - } - if (bVar5) { - bVar6 = true; - if (param_2 == 0) { - sVar3 = *psVar10; - if (lVar14 != (longlong)sVar3) { - lVar14 = (longlong)(int)sVar3; - puStackX0 = FUN_7f0bd574(puStackX0,(int)sVar3); - } - } - else { - cVar1 = *(char *)(psVar10 + 0x26); - if (lVar14 != (longlong)cVar1) { - iVar4 = *(int *)(*(int *)(iStack20 + 0x14) + 0xc); - lVar14 = (longlong)(int)(short)cVar1; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar9 = osVirtualToPhysical((int)cVar1 * 0x40 + iVar4); - puVar7[1] = uVar9; - } - } - if ((longlong)iStack24 != (longlong)sVar2) { - loc_7F077B80((uint **)register0x000000ec,(uint *)(iVar12 + _DAT_8008d12c), - (uint)*(byte *)(iVar11 + 9),(ulonglong)*(byte *)(iVar11 + 10),2); - iStack24 = (int)sVar2; - } - puVar7 = puStackX0; - *puStackX0 = 0x4300040; - puStackX0 = puStackX0 + 2; - uVar9 = osVirtualToPhysical(_DAT_8007a1c4 + iVar13 + 8); - puVar7[1] = uVar9; - puStackX0[1] = 0x2010; - *puStackX0 = 0xb1000032; - puStackX0 = puStackX0 + 2; - } - } -LAB_7f0a2890: - iVar13 += 0x50; - if (iVar13 == 8000) { - if ((param_2 != 0) && (!bVar6)) { - *(byte *)(iStack20 + 2) = *(byte *)(iStack20 + 2) & ~(byte)(1 << (uStackX8 & 0x1f)); - } - puStackX0[1] = 0x40; - *puStackX0 = 0xba000602; - return puStackX0 + 2; - } - } while( true ); -} - - - -undefined4 * FUN_7f0a291c(undefined4 *param_1) - -{ - undefined4 *puVar1; - - puVar1 = loc_7F0A1D24(param_1,0,0); - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0A2128(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float param_6,float param_7,float param_8) - -{ - int iVar1; - int **ppiVar2; - int iVar3; - int iVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - int iVar13; - float fVar14; - int iVar15; - float fVar16; - float fVar17; - int iVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fStack32; - float fStack28; - float fStack24; - - fVar10 = *param_2; - fVar12 = param_2[1]; - fVar14 = param_2[2]; - fVar5 = sqrtf(fVar14 * fVar14 + fVar10 * fVar10 + fVar12 * fVar12); - fVar23 = 1.00000000 / fVar5; - fVar19 = *param_3; - fVar17 = param_3[1]; - fVar11 = param_3[2]; - fVar6 = sqrtf(fVar11 * fVar11 + fVar19 * fVar19 + fVar17 * fVar17); - fVar24 = 1.00000000 / fVar6; - fVar7 = loc_7F05AB54(*param_4,param_4[2]); - fVar25 = param_6 * fVar5 - param_5 * fVar5; - fVar26 = param_8 * fVar6 - param_7 * fVar6; - iVar1 = _DAT_8007a1d0; - if (_DAT_8007a1d0 < 0) { - iVar1 = _DAT_8007a1d0 + 1; - } - fVar8 = sqrtf((fVar25 * fVar26) / (float)(iVar1 >> 1)); - iVar13 = (int)fVar8; - fVar20 = *param_1; - fVar16 = param_5 * fVar5 + (float)(iVar13 >> 1); - fVar9 = param_7 * fVar6 + (float)(iVar13 >> 1); - fVar21 = param_1[1]; - fVar22 = param_1[2]; - ppiVar2 = FUN_70008e18((longlong)_DAT_80063760,0x47,NULL); - FUN_7f053f0c((int)ppiVar2,param_1); - fVar6 = DAT_80057754; - fVar5 = DAT_80057750; - iVar1 = 0; - iVar15 = (int)(fVar25 / (float)iVar13); - iVar18 = (int)(fVar26 / (float)iVar13); - if (0 < iVar18) { - do { - iVar4 = 0; - if (0 < iVar15) { - fVar25 = (float)iVar1 * (float)iVar13; - do { - fVar26 = (float)iVar4 * (float)iVar13; - fStack32 = fVar19 * fVar24 * fVar25 + - fVar19 * fVar24 * fVar9 + fVar20 + fVar16 * fVar10 * fVar23 + - fVar26 * fVar10 * fVar23; - fStack28 = fVar17 * fVar24 * fVar25 + - fVar17 * fVar24 * fVar9 + fVar21 + fVar16 * fVar12 * fVar23 + - fVar26 * fVar12 * fVar23; - fStack24 = fVar11 * fVar24 * fVar25 + - fVar11 * fVar24 * fVar9 + fVar22 + fVar16 * fVar14 * fVar23 + - fVar26 * fVar14 * fVar23; - iVar3 = FUN_7000a460(); - fVar26 = (float)iVar3; - if (iVar3 < 0) { - fVar26 = fVar26 + 4294967296.00000000; - } - loc_7F0A28B4(&fStack32,fVar7,(fVar26 * 0.00000000 * fVar6 + fVar5) * fVar8); - iVar4 += 1; - } while (iVar4 != iVar15); - } - iVar1 += 1; - } while (iVar1 < iVar18); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0A28B4(undefined4 *param_1,undefined4 param_2,float param_3) - -{ - undefined uVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar2 = FUN_7000a460(); - fVar3 = (float)iVar2; - if (iVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * DAT_80057758 - DAT_8005775c; - iVar2 = FUN_7000a460(); - *(undefined4 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68) = 1; - *(undefined4 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 4) = *param_1; - *(undefined4 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 8) = param_1[1]; - *(undefined4 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0xc) = param_1[2]; - fVar4 = (float)iVar2; - *(float *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x1c) = - ((fVar3 * 0.00000000 + fVar3 * 0.00000000) - 1.00000000) * 1.50000000; - *(float *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x20) = fVar5 * 3.00000000; - if (iVar2 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x24) = - ((fVar4 * 0.00000000 + fVar4 * 0.00000000) - 1.00000000) * 1.50000000; - iVar2 = FUN_7000a460(); - fVar3 = (float)iVar2; - if (iVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x38) = - (short)(int)((fVar3 * 0.00000000 * 0.50000000 + 1.00000000) * param_3); - iVar2 = FUN_7000a460(); - fVar3 = (float)iVar2; - if (iVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x3a) = - (short)(int)((fVar3 * 0.00000000 * 0.50000000 + 1.00000000) * param_3); - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x3c) = 0; - iVar2 = FUN_7000a460(); - fVar3 = (float)iVar2; - if (iVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x48) = - (short)(int)((fVar3 * 0.00000000 * 0.50000000 + 1.00000000) * param_3); - iVar2 = FUN_7000a460(); - param_3 = -param_3; - fVar3 = (float)iVar2; - if (iVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x4a) = - (short)(int)((fVar3 * 0.00000000 * 0.50000000 + 1.00000000) * param_3); - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x4c) = 0; - iVar2 = FUN_7000a460(); - fVar3 = (float)iVar2; - if (iVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x58) = - (short)(int)((fVar3 * 0.00000000 * 0.50000000 + 1.00000000) * param_3); - iVar2 = FUN_7000a460(); - fVar3 = (float)iVar2; - if (iVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x5a) = - (short)(int)((fVar3 * 0.00000000 * 0.50000000 + 1.00000000) * param_3); - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x5c) = 0; - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x40) = 0; - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x42) = 0; - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x50) = 0; - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x52) = 0; - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x60) = 0; - *(undefined2 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x62) = 0; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x44) = 5; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x45) = 5; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x46) = 0x7e; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x54) = 5; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x55) = 0xfb; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x56) = 0x7e; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 100) = 0xfb; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x65) = 0xfb; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x66) = 0x7e; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x67) = 0xff; - iVar2 = _DAT_8007a1d4 + DAT_80040970 * 0x68; - uVar1 = *(undefined *)(iVar2 + 0x67); - *(undefined *)(iVar2 + 0x57) = uVar1; - *(undefined *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x47) = uVar1; - *(undefined4 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x10) = param_2; - *(undefined4 *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x14) = 0; - iVar2 = FUN_7000a460(); - fVar3 = (float)iVar2; - if (iVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x18) = fVar3 * 0.00000000 * DAT_80057760; - iVar2 = FUN_7000a460(); - fVar3 = DAT_80057764; - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x28) = fVar5 * 0.00000000 * DAT_80057764; - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x2c) = fVar5 * 0.00000000 * fVar3; - iVar2 = FUN_7000a460(); - fVar5 = (float)iVar2; - if (iVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(_DAT_8007a1d4 + DAT_80040970 * 0x68 + 0x30) = fVar5 * 0.00000000 * fVar3; - DAT_80040970 += 1; - if (_DAT_8007a1d0 <= DAT_80040970) { - DAT_80040970 = 0; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a3608) overlaps instruction at (ram,0x7f0a3604) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a3474(void) - -{ - float fVar1; - float fVar2; - float fVar3; - int iVar4; - int iVar5; - int iVar6; - int *piVar7; - uint uVar8; - uint uVar9; - float fVar10; - float fVar11; - uint uVar12; - - fVar3 = DAT_80057770; - fVar2 = DAT_8005776c; - fVar1 = DAT_80057768; - iVar5 = 0; - if (DAT_800483a4 < 0xf) { - fVar10 = (float)DAT_800483a4; - } - else { - fVar10 = 15.00000000; - } - iVar4 = 0; - if (0 < _DAT_8007a1d0) { - do { - iVar6 = *(int *)(_DAT_8007a1d4 + iVar5); - if (0 < iVar6) { - uVar12 = (uint)fVar10; - *(int *)(_DAT_8007a1d4 + iVar5) = iVar6 + uVar12; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 0x10) = *(float *)(iVar6 + 0x10) + *(float *)(iVar6 + 0x28) * fVar10; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 0x14) = *(float *)(iVar6 + 0x14) + *(float *)(iVar6 + 0x2c) * fVar10; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 0x18) = *(float *)(iVar6 + 0x18) + *(float *)(iVar6 + 0x30) * fVar10; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 4) = *(float *)(iVar6 + 4) + *(float *)(iVar6 + 0x1c) * fVar10; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 0xc) = *(float *)(iVar6 + 0xc) + *(float *)(iVar6 + 0x24) * fVar10; - if (0 < (int)uVar12) { - uVar9 = uVar12 & 3; - if (uVar9 == 0) { - uVar9 = 4; - } - else { - uVar8 = 1; - if (uVar9 != 1) { - do { - iVar6 = _DAT_8007a1d4 + iVar5; - uVar8 += 1; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - } while (uVar9 != uVar8); - } - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - uVar9 = uVar8 + 4; - if (uVar8 == uVar12) goto LAB_7f0a3778; - } - while (uVar9 != uVar12) { - iVar6 = _DAT_8007a1d4 + iVar5; - uVar9 += 4; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - } - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - iVar6 = _DAT_8007a1d4 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) = - *(float *)(_DAT_8007a1d4 + iVar5 + 0x20) - fVar3; - } -LAB_7f0a3778: - piVar7 = (int *)(_DAT_8007a1d4 + iVar5); - if (*piVar7 < 0x96) { - fVar11 = (float)piVar7[2]; - } - else { - *piVar7 = 0; - piVar7 = (int *)(_DAT_8007a1d4 + iVar5); - fVar11 = (float)piVar7[2]; - } - if (fVar2 <= fVar11) { - if (fVar1 < fVar11) { - *piVar7 = 0; - } - } - else { - *piVar7 = 0; - } - } - iVar4 += 1; - iVar5 += 0x68; - } while (iVar4 < _DAT_8007a1d0); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0a37e4(undefined4 *param_1) - -{ - undefined4 *puVar1; - uint uVar2; - uint *puVar3; - undefined4 uVar4; - int iVar5; - int iVar6; - int iVar7; - undefined4 *puVar8; - undefined4 *puStackX0; - float afStack64 [12]; - float fStack16; - float fStack12; - float fStack8; - - puStackX0 = param_1; - loc_7F077B80((uint **)register0x000000ec,(uint *)(_DAT_8008d18c + 0xc),2,1,2); - puVar1 = puStackX0; - *puStackX0 = 0xbb001001; - puStackX0[1] = 0xd800d80; - puStackX0[3] = 0x100000; - puStackX0[2] = 0xba001402; - puStackX0[5] = 0x10000; - puStackX0[4] = 0xba001001; - puStackX0[7] = 0x3000; - puStackX0[6] = 0xb6000000; - puStackX0[9] = 0x2000; - puStackX0[8] = 0xba000c02; - puVar8 = puStackX0 + 0xc; - puStackX0[0xb] = 0x60000; - puStackX0[10] = 0xb7000000; - puStackX0 = puStackX0 + 0xe; - *puVar8 = 0x1030040; - uVar2 = FUN_7f078984(); - uVar2 = osVirtualToPhysical(uVar2); - puVar1[0xd] = uVar2; - iVar6 = 0; - iVar7 = 0; - if (0 < _DAT_8007a1d0) { - iVar5 = _DAT_8007a1d0; - do { - if (0 < *(int *)(_DAT_8007a1d4 + iVar6)) { - puVar3 = (uint *)FUN_7f0be290(); - FUN_7f058e4c((undefined4 *)(_DAT_8007a1d4 + iVar6 + 4), - (float *)(_DAT_8007a1d4 + iVar6 + 0x10),afStack64); - fStack16 = fStack16 - *(float *)(_DAT_8007a120 + 0x38); - fStack12 = fStack12 - *(float *)(_DAT_8007a120 + 0x3c); - fStack8 = fStack8 - *(float *)(_DAT_8007a120 + 0x40); - FUN_7f0591bc((int)afStack64,puVar3); - puVar1 = puStackX0; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar2 = osVirtualToPhysical((uint)puVar3); - puVar8 = puStackX0; - puVar1[1] = uVar2; - *puStackX0 = 0x4200030; - puStackX0 = puStackX0 + 2; - uVar2 = osVirtualToPhysical(_DAT_8007a1d4 + iVar6 + 0x38); - puVar8[1] = uVar2; - puStackX0[1] = 0xa14; - *puStackX0 = 0xbf000000; - iVar5 = _DAT_8007a1d0; - puStackX0 = puStackX0 + 2; - } - iVar7 += 1; - iVar6 += 0x68; - } while (iVar7 < iVar5); - } - puVar1 = puStackX0; - puVar8 = puStackX0 + 2; - puStackX0[1] = 0x60000; - *puStackX0 = 0xb6000000; - puStackX0 = puStackX0 + 4; - *puVar8 = 0x1030040; - uVar4 = FUN_7f078964(); - puVar8 = puStackX0; - puVar1[3] = uVar4; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar4 = FUN_7f078944(); - puVar8[1] = uVar4; - return puStackX0; -} - - - -void loc_7F0A32C8(short *param_1,undefined8 param_2,longlong param_3,float param_4) - -{ - int iVar1; - int iVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - int iStack24; - - param_4 = param_4 * 8.00000000; - iVar2 = 0; - iStack24 = 0; - do { - iVar3 = 0; - fVar6 = ((float)(int)(DAT_80057780 - (double)iStack24) * DAT_80057788 * 2.00000000) / - 360.00000000; - do { - fVar4 = func_7F057FC4(fVar6); - fVar5 = FUN_7f0583c0(fVar6); - *param_1 = (short)(int)(((fVar4 * 4.00000000 * 130.00000000 * (float)(6 - iVar3)) / 5.00000000 - ) * (float)(int)param_3) + 1; - param_1[1] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0xff; - *(undefined *)((int)param_1 + 0xd) = 0xff; - *(undefined *)(param_1 + 7) = 0xff; - param_1[2] = -(short)(int)((fVar5 * 4.00000000 * 130.00000000 * (float)(6 - iVar3)) / - 5.00000000); - if (param_3 < 1) { - if (param_3 < 0) { - fVar4 = FUN_7f0583c0(fVar6); - *(undefined *)((int)param_1 + 0xd) = (char)(int)(127.00000000 - fVar4 * 127.00000000); - fVar4 = FUN_7f0583c0(fVar6); - *(char *)(param_1 + 7) = (char)(int)(32.00000000 - fVar4 * 32.00000000); - } - } - else { - fVar4 = FUN_7f0583c0(fVar6); - *(char *)(param_1 + 6) = (char)(int)(96.00000000 - fVar4 * 96.00000000); - fVar4 = FUN_7f0583c0(fVar6); - *(undefined *)(param_1 + 7) = 0xff; - *(undefined *)((int)param_1 + 0xd) = (char)(int)(127.00000000 - fVar4 * 127.00000000); - } - iVar3 += 1; - if (iVar2 < 10) { - iVar1 = (int)param_4 * 2 + -1; - if (iVar1 < iVar2) { - if ((iVar2 < (int)(param_4 + param_4)) && (iVar1 < iVar2)) { - *(char *)((int)param_1 + 0xf) = - (char)(int)((param_4 - (float)(int)param_4) * 207.00000000) + '0'; - } - else { - *(undefined *)((int)param_1 + 0xf) = 0x30; - } - } - else { - *(undefined *)((int)param_1 + 0xf) = 0xff; - } - } - else { - if (9 < iVar2) { - fVar4 = (param_4 - 5.00000000) * 4.00000000; - if ((float)iVar2 <= fVar4 + 9.00000000) { - *(undefined *)((int)param_1 + 0xf) = 0xff; - } - else { - if ((int)(fVar4 + 0.50000000) + 9 < iVar2) { - *(undefined *)((int)param_1 + 0xf) = 0x30; - } - else { - if ((int)(param_4 - 5.00000000) * 2 + 8 < iVar2) { - *(char *)((int)param_1 + 0xf) = - (char)(int)((param_4 - (float)(int)param_4) * 207.00000000) + '0'; - } - else { - *(undefined *)((int)param_1 + 0xf) = 0x30; - } - } - } - } - } - param_1 = param_1 + 8; - } while (iVar3 != 2); - iVar2 += 1; - iStack24 += 5; - } while (iVar2 != 0x17); - return; -} - - - -undefined4 * loc_7F0A33E8(undefined4 *param_1,int param_2,longlong param_3) - -{ - int iVar1; - uint uVar2; - undefined4 *puVar3; - undefined4 *puVar4; - uint uVar5; - - uVar2 = 0; - iVar1 = (int)param_3; - if (param_3 < 0) { - iVar1 += 1; - } - iVar1 = (iVar1 >> 1) + -2; - puVar3 = param_1; - if (-1 < iVar1) { - do { - *puVar3 = 0x4300040; - puVar3[1] = param_2; - puVar4 = puVar3 + 2; - if ((int)uVar2 < 9) { - param_1 = puVar4; - if (((int)uVar2 < 9) && (param_1 = puVar4, (uVar2 & 1) == 0)) { - param_1 = puVar3 + 4; - *puVar4 = 0xb1000032; - puVar3[3] = 0x2110; - } - } - else { - uVar5 = uVar2 + 3 & 3; - if (((int)(uVar2 + 3) < 0) && (uVar5 != 0)) { - uVar5 -= 4; - } - param_1 = puVar4; - if (uVar5 != 0) { - *puVar4 = 0xb1000032; - puVar3[3] = 0x2110; - param_1 = puVar3 + 4; - } - } - uVar2 = (int)((uVar2 + 1) * 0x1000000) >> 0x18; - param_2 += 0x20; - puVar3 = param_1; - } while ((int)uVar2 <= iVar1); - } - *param_1 = 0xb8000000; - param_1[1] = 0; - return param_1 + 2; -} - - - -void loc_7F0A3934(short *param_1,int param_2,float param_3,longlong param_4) - -{ - short sVar1; - short sVar2; - short *psVar3; - int iVar4; - float fVar5; - float fVar6; - undefined uVar7; - float fVar8; - - if (param_4 != 0) { - *param_1 = 1; - param_1[1] = 0; - param_1[2] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0; - *(undefined *)((int)param_1 + 0xd) = 0x2c; - *(undefined *)(param_1 + 7) = 0; - *(undefined *)((int)param_1 + 0xf) = 0xb0; - param_1 = param_1 + 8; - } - iVar4 = 7; - if (6 < param_2 + -7) { - do { - fVar8 = ((float)iVar4 * DAT_8005778c) / (float)param_2; - fVar5 = func_7F057FC4(fVar8); - fVar6 = FUN_7f0583c0(fVar8); - sVar1 = (short)(int)(fVar5 * 520.00000000 * param_3); - *param_1 = sVar1 + 1; - param_1[1] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - sVar2 = (short)(int)(fVar6 * 520.00000000 * param_3); - param_1[2] = -sVar2; - fVar5 = FUN_7f0583c0(fVar8); - fVar5 = 0.00000000 - fVar5 * 0.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a4160; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a4160: - uVar7 = 0xff; - } - } - *(undefined *)(param_1 + 6) = uVar7; - fVar5 = FUN_7f0583c0(fVar8); - fVar5 = 44.00000000 - fVar5 * 20.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a41f8; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a41f8: - uVar7 = 0xff; - } - } - *(undefined *)((int)param_1 + 0xd) = uVar7; - fVar5 = FUN_7f0583c0(fVar8); - fVar5 = 0.00000000 - fVar5 * 0.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a4290; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a4290: - uVar7 = 0xff; - } - } - *(undefined *)(param_1 + 7) = uVar7; - *(undefined *)((int)param_1 + 0xf) = 0xb0; - psVar3 = param_1 + 8; - if ((iVar4 != 0) && (iVar4 < param_2)) { - *psVar3 = 1 - sVar1; - param_1[9] = 0; - param_1[10] = -sVar2; - param_1[0xb] = 0; - param_1[0xc] = 0; - param_1[0xd] = 0; - *(undefined *)(param_1 + 0xe) = 0xff; - *(undefined *)((int)param_1 + 0x1d) = 0xff; - *(undefined *)(param_1 + 0xf) = 0xff; - fVar5 = FUN_7f0583c0(fVar8); - fVar5 = 0.00000000 - fVar5 * 0.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a436c; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a436c: - uVar7 = 0xff; - } - } - *(undefined *)(param_1 + 0xe) = uVar7; - fVar5 = FUN_7f0583c0(fVar8); - fVar5 = 44.00000000 - fVar5 * 20.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a4404; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a4404: - uVar7 = 0xff; - } - } - *(undefined *)((int)param_1 + 0x1d) = uVar7; - fVar5 = FUN_7f0583c0(fVar8); - fVar5 = 0.00000000 - fVar5 * 0.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a449c; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a449c: - uVar7 = 0xff; - } - } - *(undefined *)(param_1 + 0xf) = uVar7; - *(undefined *)((int)param_1 + 0x1f) = 0xb0; - psVar3 = param_1 + 0x10; - } - iVar4 += 2; - param_1 = psVar3; - } while (iVar4 <= param_2 + -7); - } - return; -} - - - -undefined4 * loc_7F0A3AA4(undefined4 *param_1,int param_2,undefined8 param_3,longlong param_4) - -{ - undefined4 *puVar1; - int iVar2; - - if (param_4 == 0) { - iVar2 = 0; - do { - iVar2 = (iVar2 + 1) * 0x1000000 >> 0x18; - param_1[1] = param_2; - *param_1 = 0x4300040; - param_1[3] = 0x2110; - param_1[2] = 0xb1000032; - param_1 = param_1 + 4; - param_2 += 0x20; - } while (iVar2 < 8); - } - else { - param_1[1] = param_2 + 0xf0; - *param_1 = 0x4300040; - param_1[2] = 0x4040010; - param_1[3] = param_2; - iVar2 = 7; - param_1[5] = 0x42; - param_1[4] = 0xb1000003; - puVar1 = param_1 + 6; - do { - param_1 = puVar1; - param_1[1] = iVar2 * 0x20 + param_2 + 0x10; - *param_1 = 0x4300040; - iVar2 = (iVar2 + -1) * 0x1000000 >> 0x18; - param_1[3] = param_2; - param_1[2] = 0x4040010; - param_1[5] = 0x3140; - param_1[4] = 0xb1000042; - puVar1 = param_1 + 6; - } while (-1 < iVar2); - param_1[7] = 0x10; - param_1[6] = 0xb1000004; - param_1 = param_1 + 8; - } - *param_1 = 0xb8000000; - param_1[1] = 0; - return param_1 + 2; -} - - - -short * loc_7F0A3AEC(short *param_1,short param_2,short param_3,short param_4,short param_5, - short param_6,short param_7) - -{ - int iVar1; - int iVar2; - short sVar3; - - param_2 += param_6; - iVar1 = 0; - do { - iVar2 = 0; - sVar3 = param_3 + param_7; - do { - iVar2 += 1; - param_1[2] = sVar3; - sVar3 += param_5; - *param_1 = param_2; - param_1[1] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0x20; - *(undefined *)((int)param_1 + 0xd) = 0x70; - *(undefined *)(param_1 + 7) = 0x20; - *(undefined *)((int)param_1 + 0xf) = 0xf0; - param_1 = param_1 + 8; - } while (iVar2 != 2); - iVar1 += 1; - param_2 += param_4; - } while (iVar1 != 2); - return param_1; -} - - - -undefined4 * sub_7F0A3B40(undefined4 *param_1,undefined4 param_2) - -{ - *param_1 = 0x4300040; - param_1[1] = param_2; - param_1[3] = 0x2110; - param_1[2] = 0xb1000032; - return param_1 + 4; -} - - - -void FUN_7f0a4778(void) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)&DAT_8007a1e0; - do { - puVar1 = puVar1 + 0xb; - puVar1[3] = 0; - *(undefined2 *)(puVar1 + 1) = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 < &DAT_8007a550); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a47a8(undefined4 *param_1,undefined4 *param_2,int param_3,float param_4, - undefined2 param_5) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - - iVar1 = FUN_7000a460(); - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - fVar2 = fVar2 * 0.00000000 * DAT_80057790; - *param_1 = 0; - *(undefined2 *)((int)param_1 + 6) = param_5; - if (param_3 == 4) { - *(undefined2 *)(param_1 + 1) = 1; - param_1[2] = 0x3f800000; - param_1[3] = _DAT_8008d13c; - } - else { - if (param_3 == 1) { - *(undefined2 *)(param_1 + 1) = 0xb; - param_1[2] = 0x3f000000; - param_1[3] = _DAT_8008d130; - } - else { - if (param_3 == 3) { - *(undefined2 *)(param_1 + 1) = 9; - param_1[2] = 0x3f000000; - param_1[3] = _DAT_8008d134; - } - else { - if (param_3 == 6) { - *(undefined2 *)(param_1 + 1) = 100; - param_1[2] = 0; - param_1[3] = _DAT_8008d13c; - } - else { - *(undefined2 *)(param_1 + 1) = 0xb; - param_1[2] = 0x3f000000; - param_1[3] = _DAT_8008d130; - } - } - } - } - param_3 *= 4; - *(undefined *)(param_1 + 10) = (&DAT_80040990)[param_3]; - *(undefined *)((int)param_1 + 0x29) = (&DAT_80040991)[param_3]; - *(undefined *)((int)param_1 + 0x2a) = (&DAT_80040992)[param_3]; - *(undefined *)((int)param_1 + 0x2b) = (&DAT_80040993)[param_3]; - param_1[4] = *param_2; - param_1[5] = param_2[1]; - param_1[6] = param_2[2]; - iVar1 = FUN_7000a460(); - fVar3 = (float)iVar1; - if (iVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar4 = param_4 * (fVar3 * 0.00000000 * 0.25000000 + 1.00000000) * DAT_80057794; - *(float *)(param_1 + 9) = fVar4; - fVar3 = FUN_7f0583c0(fVar2); - *(float *)(param_1 + 7) = fVar3 * fVar4; - fVar2 = func_7F057FC4(fVar2); - *(float *)(param_1 + 8) = fVar2 * fVar4; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0A3E8C(undefined4 *param_1,int param_2,float param_3,undefined2 param_4) - -{ - undefined uVar1; - undefined4 in_v1_hi; - short sVar2; - undefined4 *puVar3; - - sVar2 = _DAT_8007a1e4; - puVar3 = (undefined4 *)&DAT_8007a1e0; - do { - uVar1 = SUB41(puVar3,0); - if (sVar2 == 0) { - FUN_7f0a47a8(puVar3,param_1,param_2,param_3,param_4); -LAB_7f0a4a2c: - return (undefined4 *)CONCAT13(uVar1,(int3)((uint)in_v1_hi >> 8)); - } - if ((undefined4 *)0x8007a54f < puVar3 + 0xb) { - uVar1 = 0; - goto LAB_7f0a4a2c; - } - sVar2 = *(short *)(puVar3 + 0xc); - puVar3 = puVar3 + 0xb; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a4a40(void) - -{ - int *piVar1; - short sVar2; - int iVar3; - - sVar2 = _DAT_8007a1e4; - piVar1 = (int *)&DAT_8007a1e0; - while( true ) { - if (0 < sVar2) { - iVar3 = *piVar1 + DAT_800483a4; - *piVar1 = iVar3; - if ((-1 < (longlong)iVar3) && ((longlong)*(short *)(piVar1 + 1) <= (longlong)iVar3)) { - *(undefined2 *)(piVar1 + 1) = 0; - } - } - if ((int *)0x8007a54f < piVar1 + 0xb) break; - sVar2 = *(short *)(piVar1 + 0xc); - piVar1 = piVar1 + 0xb; - } - return; -} - - - -void loc_7F0A4514(int *piParm1,uint **ppuParm2,int iParm3) - -{ - byte bVar1; - short sVar2; - undefined8 uVar3; - undefined4 in_v0_hi; - uint in_v0_lo; - undefined4 *puVar4; - float *pfVar5; - uint uVar6; - int7 iVar7; - undefined uVar8; - uint *puVar9; - uint *puVar10; - int iVar11; - float extraout_f0; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - float fVar28; - uint *puStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - if (((0 < *(short *)(piParm1 + 1)) && (-1 < *piParm1)) && - (uVar3 = FUN_7f079048((float *)(piParm1 + 4),(float)piParm1[9]), - CONCAT44(in_v0_hi,in_v0_lo & 0xffffff00 | (uint)(byte)((ulonglong)uVar3 >> 0x38)) != 0)) { - uStack16 = DAT_800409b0; - uStack12 = DAT_800409b4; - iStack4 = DAT_800409bc; - uStack8 = DAT_800409b8; - uStack20 = FUN_7f078a34(); - puStack24 = *ppuParm2; - puVar4 = (undefined4 *)FUN_7f0be274(4); - sVar2 = *(short *)((int)piParm1 + 6); - fVar12 = extraout_f0; - pfVar5 = (float *)FUN_7f0bd5c4((int)sVar2); - iVar7 = (int7)(int3)((uint)uStack20 >> 8); - uVar8 = (undefined)uStack20; - iStack4 = piParm1[10]; - iVar11 = *piParm1; - fVar28 = (float)piParm1[2]; - fVar27 = (float)piParm1[4]; - fVar13 = (float)piParm1[5]; - fVar14 = (float)piParm1[6]; - fVar21 = *(float *)CONCAT71(iVar7,uVar8) * (float)piParm1[7]; - fVar15 = *(float *)((int)CONCAT71(iVar7,uVar8) + 4) * (float)piParm1[7]; - fVar22 = *(float *)((int)CONCAT71(iVar7,uVar8) + 8) * (float)piParm1[7]; - fVar16 = *(float *)CONCAT71(iVar7,uVar8) * (float)piParm1[8]; - fVar23 = *(float *)((int)CONCAT71(iVar7,uVar8) + 4) * (float)piParm1[8]; - fVar17 = *(float *)((int)CONCAT71(iVar7,uVar8) + 8) * (float)piParm1[8]; - fVar24 = *(float *)((int)CONCAT71(iVar7,uVar8) + 0x10) * (float)piParm1[7]; - fVar18 = *(float *)((int)CONCAT71(iVar7,uVar8) + 0x14) * (float)piParm1[7]; - fVar25 = *(float *)((int)CONCAT71(iVar7,uVar8) + 0x18) * (float)piParm1[7]; - fVar19 = *(float *)((int)CONCAT71(iVar7,uVar8) + 0x10) * (float)piParm1[8]; - fVar26 = *(float *)((int)CONCAT71(iVar7,uVar8) + 0x14) * (float)piParm1[8]; - fVar20 = *(float *)((int)CONCAT71(iVar7,uVar8) + 0x18) * (float)piParm1[8]; - *puVar4 = uStack16; - puVar4[1] = uStack12; - puVar4[2] = uStack8; - puVar4[3] = iStack4; - puVar4[4] = uStack16; - puVar4[5] = uStack12; - puVar4[6] = uStack8; - puVar4[7] = iStack4; - puVar4[8] = uStack16; - puVar4[9] = uStack12; - puVar4[10] = uStack8; - puVar4[0xb] = iStack4; - puVar4[0xc] = uStack16; - puVar4[0xd] = uStack12; - puVar4[0xe] = uStack8; - puVar4[0xf] = iStack4; - FUN_7f0b53ec(); - *(short *)puVar4 = (short)(int)(((fVar27 - fVar21) - fVar19) * fVar12 - *pfVar5); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar4 + 2) = - (short)(int)(((fVar13 - fVar15) - fVar26) * fVar12 - pfVar5[1]); - FUN_7f0b53ec(); - *(short *)(puVar4 + 1) = (short)(int)(((fVar14 - fVar22) - fVar20) * fVar12 - pfVar5[2]); - iVar11 = (int)((float)iVar11 * fVar28) * 0xc; - bVar1 = *(byte *)(piParm1[3] + iVar11 + 4); - *(undefined2 *)((int)puVar4 + 10) = 0; - *(ushort *)(puVar4 + 2) = (ushort)bVar1 << 5; - FUN_7f0b53ec(); - *(short *)(puVar4 + 4) = (short)(int)(((fVar27 + fVar16) - fVar24) * fVar12 - *pfVar5); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar4 + 0x12) = - (short)(int)(((fVar13 + fVar23) - fVar18) * fVar12 - pfVar5[1]); - FUN_7f0b53ec(); - fVar28 = pfVar5[2]; - *(undefined2 *)(puVar4 + 6) = 0; - *(undefined2 *)((int)puVar4 + 0x1a) = 0; - *(short *)(puVar4 + 5) = (short)(int)(((fVar14 + fVar17) - fVar25) * fVar12 - fVar28); - FUN_7f0b53ec(); - *(short *)(puVar4 + 8) = (short)(int)((fVar27 + fVar21 + fVar19) * fVar12 - *pfVar5); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar4 + 0x22) = - (short)(int)((fVar13 + fVar15 + fVar26) * fVar12 - pfVar5[1]); - FUN_7f0b53ec(); - fVar15 = pfVar5[2]; - *(undefined2 *)(puVar4 + 10) = 0; - *(short *)(puVar4 + 9) = (short)(int)((fVar14 + fVar22 + fVar20) * fVar12 - fVar15); - *(short *)((int)puVar4 + 0x2a) = (ushort)*(byte *)(piParm1[3] + iVar11 + 5) << 5; - FUN_7f0b53ec(); - *(short *)(puVar4 + 0xc) = (short)(int)(((fVar27 - fVar16) + fVar24) * fVar12 - *pfVar5); - FUN_7f0b53ec(); - *(undefined2 *)((int)puVar4 + 0x32) = - (short)(int)(((fVar13 - fVar23) + fVar18) * fVar12 - pfVar5[1]); - FUN_7f0b53ec(); - puVar9 = puStack24; - *(short *)(puVar4 + 0xd) = (short)(int)(((fVar14 - fVar17) + fVar25) * fVar12 - pfVar5[2]); - *(ushort *)(puVar4 + 0xe) = (ushort)*(byte *)(piParm1[3] + iVar11 + 4) << 5; - *(short *)((int)puVar4 + 0x3a) = (ushort)*(byte *)(piParm1[3] + iVar11 + 5) << 5; - puVar10 = puStack24 + 2; - puStack24[1] = 0x2000; - *puStack24 = 0xb7000000; - puStack24 = puStack24 + 4; - *puVar10 = 0x1030040; - uVar6 = FUN_7f078984(); - uVar6 = osVirtualToPhysical(uVar6); - puVar9[3] = uVar6; - puStack24 = FUN_7f0bd574(puStack24,(int)sVar2); - loc_7F077B80(&puStack24,(uint *)(piParm1[3] + iVar11),4,(longlong)iParm3,2); - puVar9 = puStack24; - *puStack24 = 0x4300040; - puStack24 = puStack24 + 2; - uVar6 = osVirtualToPhysical((uint)puVar4); - puVar10 = puStack24; - puVar9[1] = uVar6; - puVar9 = puStack24 + 2; - puStack24[1] = 0x2010; - *puStack24 = 0xb1000032; - puStack24 = puStack24 + 4; - *puVar9 = 0x1030040; - uVar6 = FUN_7f078964(); - uVar6 = osVirtualToPhysical(uVar6); - puVar10[3] = uVar6; - *ppuParm2 = puStack24; - } - return; -} - - - -void FUN_7f0a50c8(undefined8 param_1,undefined8 param_2) - -{ - undefined *puVar1; - - puVar1 = &DAT_8007a1e0; - do { - loc_7F0A4514(puVar1,param_1,param_2); - puVar1 = puVar1 + 0x2c; - } while (puVar1 < &DAT_8007a550); - return; -} - - - -float FUN_7f0a5134(int param_1) - -{ - float *pfVar1; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = *(float *)(param_1 + 0x10); - uStack8 = *(undefined4 *)(param_1 + 0x14); - fStack4 = *(float *)(param_1 + 0x18); - pfVar1 = (float *)FUN_7f0789b4(); - FUN_7f058994(pfVar1,&fStack12); - return -fStack4; -} - - - -void FUN_7f0a5178(void) - -{ - undefined *puVar1; - - puVar1 = &DAT_8007a550; - do { - puVar1 = puVar1 + 0x3c; - *(undefined2 *)(puVar1 + 4) = 0; - puVar1 = puVar1; - } while (puVar1 < (undefined *)0x8007b108); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * -loc_7F0A468C(undefined4 *param_1,undefined4 *param_2,int param_3,float param_4,undefined4 param_5, - undefined2 param_6) - -{ - undefined uVar1; - int3 in_register_00000018; - short sVar2; - undefined4 *puVar3; - - sVar2 = _DAT_8007a554; - puVar3 = (undefined4 *)&DAT_8007a550; - do { - uVar1 = SUB41(puVar3,0); - if (sVar2 == 0) { - FUN_7f0a47a8(puVar3,param_1,param_3,param_4,param_6); - in_register_00000018 = (int3)((int)param_2 >> 0x1f); - puVar3[0xb] = *param_2; - puVar3[0xc] = param_2[1]; - puVar3[0xd] = param_2[2]; - puVar3[0xe] = param_5; -LAB_7f0a522c: - return (undefined4 *)CONCAT13(uVar1,in_register_00000018); - } - if ((undefined4 *)0x8007b107 < puVar3 + 0xf) { - uVar1 = 0; - goto LAB_7f0a522c; - } - sVar2 = *(short *)(puVar3 + 0x10); - puVar3 = puVar3 + 0xf; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0A4740(void) - -{ - short sVar1; - int *piVar2; - int iVar3; - - sVar1 = _DAT_8007a554; - piVar2 = (int *)&DAT_8007a550; - while( true ) { - if (0 < sVar1) { - iVar3 = *piVar2 + DAT_800483a4; - *piVar2 = iVar3; - if (-1 < (longlong)iVar3) { - if ((longlong)iVar3 < (longlong)*(short *)(piVar2 + 1)) { - sub_7F057D88((float *)(piVar2 + 4),(float *)(piVar2 + 0xb),DAT_800483b4); - if ((float)piVar2[5] < (float)piVar2[0xe]) { - *(undefined2 *)(piVar2 + 1) = 0; - } - } - else { - *(undefined2 *)(piVar2 + 1) = 0; - } - } - } - if ((int *)0x8007b107 < piVar2 + 0xf) break; - sVar1 = *(short *)(piVar2 + 0x10); - piVar2 = piVar2 + 0xf; - } - return; -} - - - -void FUN_7f0a5308(undefined8 param_1,undefined8 param_2) - -{ - undefined *puVar1; - - puVar1 = &DAT_8007a550; - do { - loc_7F0A4514(puVar1,param_1,param_2); - puVar1 = puVar1 + 0x3c; - } while (puVar1 < (undefined *)0x8007b108); - return; -} - - - -void FUN_7f0a5374(void) - -{ - FUN_7f0a4778(); - FUN_7f0a5178(); - return; -} - - - -void FUN_7f0a539c(void) - -{ - FUN_7f0a4a40(); - loc_7F0A4740(); - return; -} - - - -void FUN_7f0a53c4(undefined8 param_1,undefined8 param_2) - -{ - FUN_7f0a50c8(param_1,param_2); - FUN_7f0a5308((longlong)(int)param_1,(longlong)(int)param_2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a5408(void) - -{ - DAT_800409c4 = 0; - DAT_800409c8 = 0; - DAT_800409cc = 0; - DAT_800409d0 = 4; - DAT_800409d4 = 0; - DAT_800409d8 = 0; - DAT_800409dc = 0; - DAT_800409e0 = 0; - DAT_800409e4 = 0; - DAT_800409e8 = 0; - DAT_800409ec = 0; - DAT_800409f0 = 0; - DAT_800409f4 = 0; - DAT_800409f8 = 0; - DAT_800409fc = 0; - DAT_80040a00 = 0xffffffff; - DAT_80040a04 = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a64) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a5c) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a58) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a60) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a68) = 1; - DAT_80040a08 = 8; - DAT_80040b0c = 0; - DAT_80040b10 = 0; - DAT_80040b14 = 0; - DAT_80040b18 = 0; - DAT_80040b1c = 0; - DAT_80040b20 = 0x42340000; - DAT_80040b24 = 0xff00a0; - DAT_80040b28 = 10; - DAT_80040b2c = 0xff; - DAT_80040b30 = 10; - DAT_80040b34 = 0xe0; - DAT_80040b38 = 0; - DAT_80040b3c = 0xffa0; - DAT_80040b40 = 0xf800; - DAT_80040b44 = 0; - DAT_80040b48 = 0; - DAT_80040b4c = 0x40200000; - DAT_80040b50 = 0; - DAT_80040b54 = 0; - DAT_80040b58 = 0; - DAT_80040b5c = 0; - DAT_80040b60 = 0; - DAT_80040b64 = 0; - DAT_80040b68 = 0; - DAT_80040b6c = 0; - DAT_80040b70 = 0; - DAT_80040b74 = 1; - DAT_80040b78 = 0x32; - DAT_80040b7c = 0x32; - DAT_80040b80 = 0x32; - DAT_80040b84 = 0x32; - FUN_7f01d6a4(); - DAT_8002a964 = 0; - return; -} - - - -void FUN_7f0a5638(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000c150('\0'); - if (10 < lVar1) { - DAT_80040b80 += 1; - } - lVar1 = FUN_7000c150('\0'); - if (lVar1 < -10) { - DAT_80040b80 += -1; - } - lVar1 = FUN_7000c260('\0'); - if (10 < lVar1) { - DAT_80040b84 += -1; - } - lVar1 = FUN_7000c260('\0'); - if (lVar1 < -10) { - DAT_80040b84 += 1; - } - return; -} - - - -uint * FUN_7f0a56e0(undefined4 *param_1) - -{ - longlong lVar1; - undefined4 *puVar2; - uint *puVar3; - int iStack52; - int iStack48; - int iStack44; - int *piStack40; - byte abStack36 [36]; - - lVar1 = FUN_7000c150('\0'); - if (10 < lVar1) { - DAT_80040b78 += 1; - } - lVar1 = FUN_7000c150('\0'); - if (lVar1 < -10) { - DAT_80040b78 -= 1; - } - lVar1 = FUN_7000c260('\0'); - if (10 < lVar1) { - DAT_80040b7c -= 1; - } - lVar1 = FUN_7000c260('\0'); - if (lVar1 < -10) { - DAT_80040b7c += 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] = (DAT_80040b78 + 1 & 0x3ff) << 0xe | 0xf6000000 | (DAT_80040b7c + 1 & 0x3ff) << 2; - param_1[7] = (DAT_80040b78 & 0x3ff) << 0xe | (DAT_80040b7c & 0x3ff) << 2; - piStack40 = DAT_80040edc; - iStack44 = DAT_80040ee0; - sprintf((int)abStack36,(byte *)s__d___d_800577a0,DAT_80040b78,DAT_80040b7c); - puVar2 = loc_7F0ACED4(param_1 + 8); - loc_7F0AEB50(&iStack52,&iStack48,abStack36,iStack44,piStack40,0); - puVar3 = loc_7F0ADD78(puVar2,&DAT_80040b78,&DAT_80040b7c,abStack36,iStack44,(int)piStack40, - 0xff0000ff,iStack48,iStack52,0,0); - DAT_80040b7c = (DAT_80040b7c - *(int *)(iStack44 + 0x890)) + 1; - return puVar3; -} - - - -undefined8 FUN_7f0a5914(void) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = FUN_7000ba08(); - if (lVar1 < 2) { - uVar2 = 0; - } - else { - iVar3 = FUN_7f0a5960(); - if (iVar3 < 4) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0a5960(void) - -{ - return *(undefined4 *)(_DAT_8007a120 + 0x2a58); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0a5970(int param_1) - -{ - int iVar1; - - *(int *)(_DAT_8007a120 + 0x2a58) = param_1; - iVar1 = 10; - *(int *)(_DAT_8007a120 + 0x2a5c) = param_1; - *(float *)(_DAT_8007a120 + 0x2a60) = (float)param_1; - if (DAT_80048500 != 0) { - iVar1 = 0xe; - } - *(int *)(_DAT_8007a120 + 0x2a64) = -(iVar1 * param_1); - *(undefined4 *)(_DAT_8007a120 + 0x2a68) = 1; - return; -} - - - -undefined4 cur_player_get_lookahead(void) - -{ - return DAT_80040ab4; -} - - - -void cur_player_set_lookahead(undefined4 param_1) - -{ - DAT_80040ab4 = param_1; - return; -} - - - -undefined4 cur_player_get_ammo_onscreen_setting(void) - -{ - return DAT_80040ac0; -} - - - -void cur_player_set_ammo_onscreen_setting(undefined4 param_1) - -{ - DAT_80040ac0 = param_1; - return; -} - - - -undefined4 get_D_80040AE4(void) - -{ - return DAT_80040ae4; -} - - - -void FUN_7f0a5a14(undefined4 param_1) - -{ - DAT_80040ae4 = param_1; - return; -} - - - -undefined4 cur_player_get_screen_setting(void) - -{ - return DAT_80040acc; -} - - - -void cur_player_set_screen_setting(undefined4 param_1) - -{ - DAT_80040acc = param_1; - return; -} - - - -undefined4 get_screen_ratio(void) - -{ - return DAT_80040ad8; -} - - - -void set_screen_ratio(undefined4 param_1) - -{ - DAT_80040ad8 = param_1; - return; -} - - - -undefined4 FUN_7f0a5a50(void) - -{ - return DAT_80040af0; -} - - - -void FUN_7f0a5a5c(undefined4 param_1) - -{ - DAT_80040af0 = param_1; - return; -} - - - -undefined4 FUN_7f0a5a68(void) - -{ - return DAT_80040afc; -} - - - -void FUN_7f0a5a74(undefined4 param_1) - -{ - DAT_80040afc = param_1; - return; -} - - - -undefined4 FUN_7f0a5a80(void) - -{ - return DAT_80040b08; -} - - - -void FUN_7f0a5a8c(undefined4 param_1) - -{ - DAT_80040b08 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f0a5a98(void) - -{ - int **ppiVar1; - - ppiVar1 = (int **)&DAT_800409d8; - if (DAT_800409d8 == 1) { - DAT_800409d8 = 0; - } - else { - DAT_800409d8 = 1; - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0x9f,NULL); - } - return ppiVar1; -} - - - -void FUN_7f0a5ae4(void) - -{ - DAT_800409d8 = 0; - return; -} - - - -ulonglong FUN_7f0a5af0(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000c150('\0'); - return (ulonglong)(lVar1 < -0x2d); -} - - - -ulonglong FUN_7f0a5b14(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000c150('\0'); - return (ulonglong)(lVar1 < 0x2e) ^ 1; -} - - - -undefined4 FUN_7f0a5b38(void) - -{ - return DAT_80040b0c; -} - - - -void FUN_7f0a5b44(void) - -{ - DAT_80040b0c = 0; - return; -} - - - -ulonglong FUN_7f0a5b50(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = FUN_7f0a5af0(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = FUN_7f0a5b38(); - bVar1 = iVar3 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a5b8c(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = FUN_7f0a5b14(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = FUN_7f0a5b38(); - bVar1 = iVar3 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a5bc8(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000c260('\0'); - return (ulonglong)(lVar1 < 0x2e) ^ 1; -} - - - -ulonglong FUN_7f0a5bec(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000c260('\0'); - return (ulonglong)(lVar1 < -0x2d); -} - - - -undefined4 FUN_7f0a5c10(void) - -{ - return DAT_80040b10; -} - - - -void FUN_7f0a5c1c(void) - -{ - DAT_80040b10 = 0; - return; -} - - - -ulonglong FUN_7f0a5c28(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = FUN_7f0a5bc8(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = FUN_7f0a5c10(); - bVar1 = iVar3 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a5c64(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = FUN_7f0a5bec(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = FUN_7f0a5c10(); - bVar1 = iVar3 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a5ca0(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000c260('\0'); - return (ulonglong)(lVar1 < 0x10) ^ 1; -} - - - -ulonglong FUN_7f0a5cc4(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000c260('\0'); - return (ulonglong)(lVar1 < -0xf); -} - - - -undefined4 FUN_7f0a5ce8(void) - -{ - return DAT_80040b14; -} - - - -ulonglong FUN_7f0a5d00(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = FUN_7f0a5ca0(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = FUN_7f0a5ce8(); - bVar1 = iVar3 == 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong FUN_7f0a5d3c(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = FUN_7f0a5cc4(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = FUN_7f0a5ce8(); - bVar1 = iVar3 == 0; - } - return (ulonglong)bVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f0a5d78(void) - -{ - int **ppiVar1; - - DAT_80040b34 = 0x80; - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0xec,NULL); - return ppiVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f0a5db0(void) - -{ - int **ppiVar1; - - FUN_7f0a5b44(); - FUN_70008e18((longlong)_DAT_80063760,0x9f,NULL); - ppiVar1 = (int **)FUN_7000a460(); - if ((int **)(DAT_80040b40 << 0x10) < ppiVar1) { - ppiVar1 = FUN_7f0a5d78(); - } - return ppiVar1; -} - - - -void FUN_7f0a5e0c(void) - -{ - bool bVar1; - bool bVar2; - int iVar4; - ulonglong uVar3; - - if (DAT_800409d8 == 0) { - bVar1 = false; - bVar2 = false; - iVar4 = FUN_7f091b34(); - if (iVar4 == 0) { - uVar3 = FUN_7000c410('\0',0x22); - bVar1 = uVar3 != 0; - uVar3 = FUN_7000c410('\0',0x11); - if (uVar3 != 0) { - bVar2 = true; - } - } - uVar3 = FUN_7000c410('\0',0x200); - if ((uVar3 != 0) || (uVar3 = FUN_7f0a5b50(), uVar3 != 0)) { - bVar1 = true; - } - uVar3 = FUN_7000c410('\0',0x100); - if ((uVar3 != 0) || (uVar3 = FUN_7f0a5b8c(), uVar3 != 0)) { - bVar2 = true; - } - if (bVar1) { - DAT_800409c4 = 4; - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_80058498,0x41700000); - } - if (bVar2) { - DAT_800409c4 = 1; - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_8005849c,0x41700000); - } - } - else { - if ((DAT_800409d4 != 0) && (uVar3 = FUN_7000c410('\0',0xa000), uVar3 != 0)) { - DAT_800409d4 = 0; - FUN_7f0c18cc(0); - run_title_stage(); - DAT_8002a964 = 1; - FUN_7f01d6c8(); - } - } - return; -} - - - -void FUN_7f0a5f78(void) - -{ - bool bVar1; - bool bVar2; - int iVar4; - ulonglong uVar3; - - if (DAT_800409d8 == 0) { - bVar1 = false; - bVar2 = false; - iVar4 = FUN_7f091b34(); - if (iVar4 == 0) { - uVar3 = FUN_7000c410('\0',0x22); - bVar1 = uVar3 != 0; - uVar3 = FUN_7000c410('\0',0x11); - if (uVar3 != 0) { - bVar2 = true; - } - } - uVar3 = FUN_7000c410('\0',0x200); - if ((uVar3 != 0) || (uVar3 = FUN_7f0a5b50(), uVar3 != 0)) { - bVar1 = true; - } - uVar3 = FUN_7000c410('\0',0x100); - if ((uVar3 != 0) || (uVar3 = FUN_7f0a5b8c(), uVar3 != 0)) { - bVar2 = true; - } - if (bVar1) { - DAT_800409c4 = 0; - FUN_7f0ac04c(); - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_800584a0,0x41700000); - } - if (bVar2) { - DAT_800409c4 = 2; - FUN_7f0a5b44(); - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_800584a4,0x41700000); - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a6114) overlaps instruction at (ram,0x7f0a6110) -// - -void FUN_7f0a60a4(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x222); - if (((uVar1 == 0) && (uVar1 = FUN_7f0a5b50(), uVar1 == 0)) || (DAT_800409d8 != 0)) { - uVar1 = FUN_7000c410('\0',0x111); - if (((uVar1 != 0) || (uVar1 = FUN_7f0a5b8c(), uVar1 != 0)) && (DAT_800409d8 == 0)) { - DAT_800409c4 = 2; - FUN_7f0ac034(); - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_800584a8,0x41700000); - } - } - else { - DAT_800409c4 = 1; - FUN_7f0a5b44(); - } - return; -} - - - -void FUN_7f0a6164(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x222); - if ((((uVar1 == 0) && (uVar1 = FUN_7f0a5b50(), uVar1 == 0)) || - (uVar1 = FUN_7000c370('\0',0x2000), uVar1 != 0)) || (DAT_800409d8 != 0)) { - uVar1 = FUN_7000c410('\0',0x111); - if (((uVar1 != 0) || (uVar1 = FUN_7f0a5b8c(), uVar1 != 0)) && - ((uVar1 = FUN_7000c370('\0',0x2000), uVar1 == 0 && (DAT_800409d8 == 0)))) { - DAT_800409c4 = 3; - FUN_7f0ac040(); - FUN_7f0a5b44(); - } - } - else { - DAT_800409c4 = 1; - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_800584ac,0x41700000); - } - return; -} - - - -void FUN_7f0a6244(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x222); - if ((((uVar1 == 0) && (uVar1 = FUN_7f0a5b50(), uVar1 == 0)) || - (uVar1 = FUN_7000c370('\0',0x2000), uVar1 != 0)) || (DAT_800409d8 != 0)) { - uVar1 = FUN_7000c410('\0',0x111); - if (((uVar1 != 0) || (uVar1 = FUN_7f0a5b8c(), uVar1 != 0)) && - ((uVar1 = FUN_7000c370('\0',0x2000), uVar1 == 0 && (DAT_800409d8 == 0)))) { - DAT_800409c4 = 4; - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_800584b0,0x41700000); - } - } - else { - DAT_800409c4 = 2; - FUN_7f0ac034(); - FUN_7f0a5b44(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a63b4) overlaps instruction at (ram,0x7f0a63b0) -// - -void FUN_7f0a6324(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x222); - if (((uVar1 == 0) && (uVar1 = FUN_7f0a5b50(), uVar1 == 0)) || (DAT_800409d8 != 0)) { - uVar1 = FUN_7000c410('\0',0x111); - if (((uVar1 != 0) || (uVar1 = FUN_7f0a5b8c(), uVar1 != 0)) && (DAT_800409d8 == 0)) { - DAT_800409c4 = 0; - FUN_7f0ac04c(); - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_800584b8,0x41700000); - } - } - else { - DAT_800409c4 = 3; - FUN_7f0ac040(); - FUN_7f0a5db0(); - FUN_7f07ea24(DAT_800584b4,0x41700000); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a6470) overlaps instruction at (ram,0x7f0a646c) -// - -void FUN_7f0a6400(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if (((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) || (DAT_800409d8 != 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if (((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) && (DAT_800409d8 == 0)) { - DAT_800409c8 = 1; - FUN_7f0a5c1c(); - } - } - else { - DAT_800409c8 = 1; - FUN_7f0a5c1c(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a650c) overlaps instruction at (ram,0x7f0a6508) -// - -void FUN_7f0a64a0(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if (((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) || (DAT_800409d8 != 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if (((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) && (DAT_800409d8 == 0)) { - DAT_800409c8 = 0; - FUN_7f0a5c1c(); - } - } - else { - DAT_800409c8 = 0; - FUN_7f0a5c1c(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a65a8) overlaps instruction at (ram,0x7f0a65a4) -// - -void FUN_7f0a6538(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) { - DAT_800409cc += 1; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - } - else { - DAT_800409cc += -1; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - if (DAT_800409cc < 10) { - if (DAT_800409cc < 0) { - DAT_800409cc = 9; - } - } - else { - DAT_800409cc = 0; - } - return; -} - - - -void FUN_7f0a6604(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) { - DAT_800409cc = 1; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - } - else { - DAT_800409cc = 9; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - return; -} - - - -void FUN_7f0a6694(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) { - DAT_800409cc = 2; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - } - else { - DAT_800409cc = 0; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a6760) overlaps instruction at (ram,0x7f0a675c) -// - -void FUN_7f0a6720(void) - -{ - float fVar1; - int iVar4; - int iVar5; - ulonglong uVar2; - longlong lVar3; - - iVar4 = FUN_7f08d99c(); - iVar5 = FUN_7f091b34(); - if (iVar5 == 0) { - uVar2 = FUN_7000c410('\0',0x808); - if ((uVar2 == 0) && (lVar3 = FUN_7000c260('\0'), lVar3 < 0x47)) { - uVar2 = FUN_7000c410('\0',0x404); - if ((((uVar2 != 0) || (lVar3 = FUN_7000c260('\0'), lVar3 < -0x46)) && - ((int)DAT_800409ec < iVar4 + -1)) && (DAT_800409d8 == 0)) { - DAT_800409ec = DAT_800409ec + 1.00000000; - } - } - else { - if ((0 < (int)DAT_800409ec) && (DAT_800409d8 == 0)) { - DAT_800409ec = DAT_800409ec - 1.00000000; - } - } - uVar2 = FUN_7000c370('\0',0x808); - if (uVar2 == 0) { - uVar2 = FUN_7000c370('\0',0x404); - if (((uVar2 != 0) && ((int)DAT_800409ec < iVar4 + -1)) && (DAT_800409d8 == 0)) { - DAT_800409ec = DAT_800409ec + DAT_800584c0; - } - } - else { - if ((0 < (int)DAT_800409ec) && (DAT_800409d8 == 0)) { - DAT_800409ec = DAT_800409ec - DAT_800584bc; - } - } - } - lVar3 = FUN_7000c260('\0'); - if ((((lVar3 < 0x1f) || (lVar3 = FUN_7000c260('\0'), 0x45 < lVar3)) || (DAT_800409e8 < 1)) || - (DAT_800409d8 != 0)) { - lVar3 = FUN_7000c260('\0'); - if (((lVar3 < -0x1e) && (lVar3 = FUN_7000c260('\0'), -0x46 < lVar3)) && - (((int)DAT_800409ec < iVar4 + -1 && (DAT_800409d8 == 0)))) { - iVar5 = FUN_7000c260('\0'); - DAT_800409ec = DAT_800409ec - (float)iVar5 / 300.00000000; - } - } - else { - iVar5 = FUN_7000c260('\0'); - DAT_800409ec = DAT_800409ec - (float)iVar5 / 300.00000000; - } - uVar2 = FUN_7f0a5d00(); - if (((uVar2 == 0) || (DAT_800409e8 < 1)) || (DAT_800409d8 != 0)) { - uVar2 = FUN_7f0a5d3c(); - if (((uVar2 != 0) && (DAT_800409e8 < iVar4 + -1)) && (DAT_800409d8 == 0)) { - DAT_800409ec = DAT_800409ec + 1.00000000; - } - } - else { - DAT_800409ec = DAT_800409ec - 1.00000000; - } - uVar2 = FUN_7f0a5ca0(); - if ((uVar2 == 0) && (uVar2 = FUN_7f0a5cc4(), uVar2 == 0)) { - DAT_80040b14 = 0; - } - else { - DAT_80040b14 = 1; - } - fVar1 = (float)iVar4 - 0.50000000; - if (DAT_800409ec <= (float)iVar4 - 0.50000000) { - fVar1 = DAT_800409ec; - } - DAT_800409ec = fVar1; - if (DAT_800409ec < -0.50000000) { - DAT_800409ec = -0.50000000; - } - DAT_800409e8 = (int)DAT_800409ec; - if (DAT_80048500 == 0) { - iVar4 = 0xc; - iVar5 = 0xc; - } - else { - iVar4 = 0xe; - iVar5 = 0xe; - } - DAT_800409e4 = iVar5 * 2 + -DAT_800409e8 * iVar4; - if (DAT_800409e4 < DAT_800409e0) { - DAT_800409e0 = (DAT_800409e0 - (DAT_800409e0 - DAT_800409e4) / 3) + -1; - DAT_800409f0 = 0; - } - else { - if (DAT_800409e0 < DAT_800409e4) { - DAT_800409e0 = DAT_800409e0 + (DAT_800409e4 - DAT_800409e0) / 3 + 1; - DAT_800409f0 = 0; - } - else { - DAT_800409f0 = 1; - } - } - if ((DAT_800409ec <= (float)DAT_800409e8 + DAT_800584c4) || - (uVar2 = FUN_7000c370('\0',0xffff), uVar2 != 0)) { - if ((DAT_800409ec <= (float)DAT_800409e8 + DAT_800584cc) && - (uVar2 = FUN_7000c370('\0',0xffff), uVar2 == 0)) { - DAT_800409ec = DAT_800409ec + DAT_800584d0; - } - } - else { - DAT_800409ec = DAT_800409ec - DAT_800584c8; - } - return; -} - - - -void FUN_7f0a6cbc(float *param_1,int *param_2,int param_3,int *param_4,int *param_5, - undefined4 *param_6,int param_7,int param_8,int param_9) - -{ - int iVar3; - ulonglong uVar1; - longlong lVar2; - int iVar4; - float fVar5; - - iVar3 = FUN_7f091b34(); - if (iVar3 != 0) goto LAB_7f0a6e38; - uVar1 = FUN_7000c410('\0',0x808); - if (uVar1 == 0) { - lVar2 = FUN_7000c260('\0'); - if (0x46 < lVar2) { - fVar5 = *param_1; - goto LAB_7f0a6d0c; - } - uVar1 = FUN_7000c410('\0',0x404); - if (uVar1 == 0) { - lVar2 = FUN_7000c260('\0'); - if (lVar2 < -0x46) { - fVar5 = *param_1; - goto LAB_7f0a6d68; - } - } - else { - fVar5 = *param_1; -LAB_7f0a6d68: - if (((int)fVar5 < param_3 + -1) && (param_8 != 0)) { - *param_1 = fVar5 + 1.00000000; - } - } - } - else { - fVar5 = *param_1; -LAB_7f0a6d0c: - if ((0 < (int)fVar5) && (param_8 != 0)) { - *param_1 = fVar5 - 1.00000000; - } - } - uVar1 = FUN_7000c370('\0',0x808); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\0',0x404); - if (((uVar1 != 0) && ((int)*param_1 < param_3 + -1)) && (param_8 != 0)) { - *param_1 = *param_1 + DAT_800584d8; - } - } - else { - if ((0 < (int)*param_1) && (param_8 != 0)) { - *param_1 = *param_1 - DAT_800584d4; - } - } -LAB_7f0a6e38: - lVar2 = FUN_7000c260('\0'); - if (((lVar2 < 0x1f) || (lVar2 = FUN_7000c260('\0'), 0x45 < lVar2)) || - ((*param_2 < 1 || (param_8 == 0)))) { - lVar2 = FUN_7000c260('\0'); - if ((((lVar2 < -0x1e) && (lVar2 = FUN_7000c260('\0'), -0x46 < lVar2)) && - ((int)*param_1 < param_3 + -1)) && (param_8 != 0)) { - iVar3 = FUN_7000c260('\0'); - *param_1 = *param_1 - (float)iVar3 / 300.00000000; - } - } - else { - iVar3 = FUN_7000c260('\0'); - *param_1 = *param_1 - (float)iVar3 / 300.00000000; - } - uVar1 = FUN_7f0a5d00(); - if (((uVar1 == 0) || (*param_2 < 1)) || (param_8 == 0)) { - uVar1 = FUN_7f0a5d3c(); - if (((uVar1 != 0) && (*param_2 < param_3 + -1)) && (param_8 != 0)) { - *param_1 = *param_1 + 1.00000000; - } - } - else { - *param_1 = *param_1 - 1.00000000; - } - uVar1 = FUN_7f0a5ca0(); - if ((uVar1 == 0) && (uVar1 = FUN_7f0a5cc4(), uVar1 == 0)) { - DAT_80040b14 = 0; - } - else { - DAT_80040b14 = 1; - } - fVar5 = *param_1; - if ((float)param_3 - 0.50000000 < fVar5) { - *param_1 = (float)param_3 - 0.50000000; - fVar5 = *param_1; - } - if (fVar5 < -0.50000000) { - *param_1 = -0.50000000; - fVar5 = *param_1; - } - *param_2 = (int)fVar5; - iVar4 = -(int)fVar5 * param_9 + param_7 * param_9; - *param_5 = iVar4; - iVar3 = *param_4; - if (iVar4 < iVar3) { - *param_4 = (iVar3 - (iVar3 - iVar4) / 3) + -1; - *param_6 = 0; - } - else { - if (iVar3 < iVar4) { - *param_4 = iVar3 + (iVar4 - iVar3) / 3 + 1; - *param_6 = 0; - } - else { - *param_6 = 1; - } - } - if ((*param_1 <= (float)*param_2 + DAT_800584dc) || - (uVar1 = FUN_7000c370('\0',0xffff), uVar1 != 0)) { - if ((*param_1 <= (float)*param_2 + DAT_800584e4) && - (uVar1 = FUN_7000c370('\0',0xffff), uVar1 == 0)) { - *param_1 = *param_1 + DAT_800584e8; - } - } - else { - *param_1 = *param_1 - DAT_800584e0; - } - return; -} - - - -void FUN_7f0a71b8(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c28(), uVar1 != 0)) { - DAT_800409d0 = 4; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) { - DAT_800409d0 = 1; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - return; -} - - - -void FUN_7f0a7240(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) { - DAT_800409d0 = 2; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - } - else { - DAT_800409d0 = 0; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - return; -} - - - -void FUN_7f0a72cc(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) { - DAT_800409d0 = 3; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - } - else { - DAT_800409d0 = 1; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - return; -} - - - -void FUN_7f0a735c(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) { - DAT_800409d0 = 4; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - } - else { - DAT_800409d0 = 2; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a7454) overlaps instruction at (ram,0x7f0a7450) -// - -void FUN_7f0a73ec(void) - -{ - ulonglong uVar1; - - uVar1 = FUN_7000c410('\0',0x808); - if ((uVar1 == 0) && (uVar1 = FUN_7f0a5c28(), uVar1 == 0)) { - uVar1 = FUN_7000c410('\0',0x404); - if ((uVar1 != 0) || (uVar1 = FUN_7f0a5c64(), uVar1 != 0)) { - DAT_800409d0 = 0; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - } - else { - DAT_800409d0 = 3; - FUN_7f0a5c1c(); - FUN_7f0a5ae4(); - } - return; -} - - - -void FUN_7f0a7478(short *param_1) - -{ - short sVar1; - int iVar2; - int iVar3; - int iVar4; - short *psVar5; - float fVar6; - - fVar6 = sqrtf(DAT_800584ec - (float)(DAT_80040b70 * DAT_80040b70)); - iVar4 = 0; - iVar3 = -1; - while( true ) { - do { - sVar1 = (short)iVar3; - param_1[1] = 0; - iVar3 += 2; - psVar5 = param_1 + 8; - *param_1 = (short)(int)fVar6 * sVar1; - iVar2 = DAT_80040b70; - param_1[3] = 0; - param_1[4] = 0; - param_1[2] = (short)iVar4 + (short)iVar2; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0; - *(undefined *)((int)param_1 + 0xd) = 0xa0; - *(undefined *)(param_1 + 7) = 0; - *(undefined *)((int)param_1 + 0xf) = (char)DAT_80040b38; - param_1 = psVar5; - } while (iVar3 != 3); - iVar4 += 4; - if (iVar4 == 8) break; - iVar3 = -1; - param_1 = psVar5; - } - return; -} - - - -void FUN_7f0a7548(void) - -{ - longlong lVar1; - - lVar1 = FUN_7000ba08(); - if (lVar1 < 2) { - DAT_80040a08 = 4; - } - else { - DAT_80040a08 = 8; - } - FUN_7f0a5ae4(); - DAT_800409c4 = 0; - DAT_800409d0 = 4; - DAT_800409f8 = DAT_800584f0; - DAT_800409fc = DAT_800584f4; - FUN_7f08e3c8(); - return; -} - - - -float FUN_7f0a75cc(float param_1) - -{ - if (DAT_800584f8 < param_1) { - return param_1 - DAT_800584fc; - } - if (param_1 < DAT_80058500) { - param_1 = param_1 + DAT_80058504; - } - return param_1; -} - - - -void FUN_7f0a7620(void) - -{ - bool bVar1; - ulonglong uVar2; - longlong lVar3; - uint uVar4; - uint uVar5; - - uVar2 = FUN_7000c410('\0',0x1000); - if (uVar2 != 0) { - FUN_7f07fe70(); - } - if (DAT_80040b0c == 0) { - lVar3 = FUN_7000c150('\0'); - if ((lVar3 < -10) || (lVar3 = FUN_7000c150('\0'), 10 < lVar3)) { - lVar3 = FUN_7000c150('\0'); - if ((lVar3 < 0xb) && (lVar3 = FUN_7000c1d8('\0'), 10 < lVar3)) { - DAT_80040b0c = 1; - } - else { - lVar3 = FUN_7000c150('\0'); - if ((-0xb < lVar3) && (lVar3 = FUN_7000c1d8('\0'), lVar3 < -10)) { - DAT_80040b0c = 1; - } - } - } - else { - DAT_80040b0c = 1; - } - } - if (DAT_80040b10 == 0) { - lVar3 = FUN_7000c260('\0'); - if ((lVar3 < -10) || (lVar3 = FUN_7000c260('\0'), 10 < lVar3)) { - lVar3 = FUN_7000c260('\0'); - if ((lVar3 < 0xb) && (lVar3 = FUN_7000c2e8('\0'), 10 < lVar3)) { - DAT_80040b10 = 1; - } - else { - lVar3 = FUN_7000c260('\0'); - if ((-0xb < lVar3) && (lVar3 = FUN_7000c2e8('\0'), lVar3 < -10)) { - DAT_80040b10 = 1; - } - } - } - else { - DAT_80040b10 = 1; - } - } - bVar1 = DAT_80040b28 < 0; - DAT_80040b28 += -1; - if (bVar1) { - DAT_80040b24 -= 0x100000; - } - if (DAT_80040b24 < 0x5f00a1) { - DAT_80040b24 = 0xff00a0; - DAT_80040b28 = 0xf; - } - if (DAT_80040b30 < 0) { - DAT_80040b2c -= 0x10; - } - DAT_80040b30 += -1; - if (DAT_80040b2c < 0x60) { - DAT_80040b2c = 0xff; - DAT_80040b30 = 0xf; - } - DAT_80040b44 = DAT_80040b44 + (DAT_80040b4c * DAT_800484d0 * DAT_80058508) / 360.00000000; - DAT_80040b44 = FUN_7f0a75cc(DAT_80040b44); - uVar5 = DAT_80040b3c << 0x10; - uVar4 = FUN_7000a460(); - if (uVar5 < uVar4) { - FUN_7f0a5d78(); - } - if (DAT_80040b34 < 0xe0) { - uVar4 = FUN_7000a460(); - DAT_80040b34 += uVar4 >> 0x1e; - } - if (0xe0 < DAT_80040b34) { - DAT_80040b34 = 0xe0; - } - DAT_80040b38 = DAT_80040b34 * -4 + 0x380; - DAT_80040b70 += -4; - if (0x156 < DAT_80040b70) { - DAT_80040b70 = -0x156; - } - if (DAT_80040b70 < -0x156) { - DAT_80040b70 = 0x156; - } - DAT_80040b74 = DAT_80040b74 + 1 & 1; - switch(DAT_800409c4) { - case 0: - FUN_7f0a5e0c(); - break; - case 1: - FUN_7f0a5f78(); - break; - case 2: - if (DAT_800409c8 == 0) { - FUN_7f0a6400(); - } - else { - if (DAT_800409c8 == 1) { - FUN_7f0a64a0(); - } - } - FUN_7f0a6164(); - break; - case 3: - switch(DAT_800409cc) { - case 0: - FUN_7f0a6604(); - break; - case 1: - FUN_7f0a6694(); - break; - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - FUN_7f0a6538(); - } - FUN_7f0a6244(); - break; - case 4: - FUN_7f0a6324(); - } - return; -} - - - -undefined4 * sub_7F0A6EE8(undefined4 *param_1) - -{ - short sVar1; - short sVar2; - - param_1[1] = 0x2000; - *param_1 = 0xb7000000; - param_1[2] = 0xba001402; - param_1[3] = 0; - param_1[5] = 0x800000; - param_1[4] = 0xba001701; - param_1[6] = 0xed000000; - sVar1 = get_video2_settings_txtClipW(); - sVar2 = get_video2_settings_txtClipH(); - param_1[7] = (int)((float)(int)sVar2 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar1 * 4.00000000) & 0xfffU) << 0xc; - param_1[8] = 0xba001001; - param_1[9] = 0; - param_1[0xb] = 0; - param_1[10] = 0xba000e02; - param_1[0xd] = 0; - param_1[0xc] = 0xba001102; - param_1[0xf] = 0x80000; - param_1[0xe] = 0xba001301; - param_1[0x11] = 0x2000; - param_1[0x10] = 0xba000c02; - param_1[0x13] = 0xc00; - param_1[0x12] = 0xba000903; - param_1[0x15] = 0xfffe793c; - param_1[0x14] = 0xfcffffff; - param_1[0x16] = 0xba000801; - param_1[0x17] = 0; - param_1[0x18] = 0xb9000002; - param_1[0x19] = 0; - param_1[0x1b] = 0xf0a4000; - param_1[0x1a] = 0xb900031d; - param_1[0x1c] = 0xba000602; - param_1[0x1d] = 0; - return param_1 + 0x1e; -} - - - -void locret_7F0A7144(int param_1,int param_2) - -{ - int iVar1; - uint uVar2; - int iVar3; - - iVar1 = 0; - iVar3 = param_2; - do { - iVar1 += 1; - *(undefined *)(iVar3 + 0xc) = 0x20; - *(undefined *)(iVar3 + 0xd) = 0x70; - *(undefined *)(iVar3 + 0xe) = 0x20; - iVar3 = iVar3 + 0x10; - } while (iVar1 < 0x14); - iVar3 = param_1 * 4 + 3; - if (param_1 * 4 <= iVar3) { - uVar2 = param_2 + param_1 * 0x40; - *(undefined *)(uVar2 + 0xc) = 0x50; - while( true ) { - *(undefined *)(uVar2 + 0xd) = 0xf0; - *(undefined *)(uVar2 + 0xe) = 0x50; - if (DAT_800409d8 != 0) { - *(undefined *)(uVar2 + 0xc) = 0x30; - *(undefined *)(uVar2 + 0xd) = 0xa0; - *(undefined *)(uVar2 + 0xe) = 0x30; - } - if ((uint)(iVar3 * 0x10 + param_2) < uVar2 + 0x10) break; - *(undefined *)(uVar2 + 0x1c) = 0x50; - uVar2 = uVar2 + 0x10; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0a7ce4(undefined4 *param_1,undefined4 param_2,int param_3) - -{ - undefined4 *puVar2; - ulonglong uVar1; - short *psVar3; - short *psVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - float fVar9; - float fVar10; - - psVar3 = (short *)FUN_7f0be274(0x1e); - psVar4 = (short *)FUN_7f0be274(0x1e); - puVar8 = (undefined4 *)FUN_7f0be2c4(0xf8); - puVar2 = (undefined4 *)FUN_7f0be2c4(0xf8); - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[2] = 0xba001402; - param_1[3] = 0; - param_1[4] = 0xb900031d; - param_1[5] = 0x5041c8; - param_1[6] = 0xfcffffff; - param_1[7] = 0xfffe793c; - param_1[8] = 0xfa000000; - param_1[9] = 0xe6e6e600; - param_1[10] = 0x1020040; - param_1[0xb] = param_2; - uVar1 = FUN_7f07ec20(); - fVar10 = 1.00000000; - fVar9 = 1.00000000; - if (uVar1 != 0) { - fVar9 = (*(float *)(_DAT_8007a120 + 0x11bc) * - (*(float *)(_DAT_8007a120 + 0x11cc) - *(float *)(_DAT_8007a120 + 0x11c8))) / - *(float *)(_DAT_8007a120 + 0x11c0); - if (fVar9 < 0.00000000) { - fVar9 = -fVar9; - } - if (fVar9 <= 1.00000000) { - fVar10 = fVar9; - } - fVar9 = fVar10 * fVar10; - } - if (param_3 == 1) { - DAT_80040b34 = 0xe0; - if ((*(int *)(_DAT_8007a120 + 0x1c8) == 4) || - (fVar9 = DAT_80058548, *(int *)(_DAT_8007a120 + 0x1c8) == 6)) { - fVar9 = FUN_7f07ed4c(); - } - } - guScale((uint *)0x8007b110,0x3e800000,0x3e800000,0x3e800000); - param_1[0xc] = 0x1000040; - param_1[0xd] = 0x8007b110; - puVar6 = param_1 + 0xe; - if (param_3 == 0) { - param_1[0xf] = 0x3000; - *puVar6 = 0xb6000000; - param_1[0x10] = 0x6000000; - param_1[0x11] = _DAT_8007a120 + -0x7fffe608; - param_1[0x12] = 0x6000000; - param_1[0x13] = _DAT_8007a120 + -0x7fffded8; - puVar6 = param_1 + 0x14; - } - guScale((uint *)0x8007b150,0x3f800000,0x3f800000,fVar9); - *puVar6 = 0x1000040; - puVar6[1] = 0x8007b150; - puVar7 = puVar6 + 2; - if (param_3 == 1) { - puVar6[3] = 0x3000; - *puVar7 = 0xb6000000; - puVar6[4] = 0x6000000; - puVar6[5] = _DAT_8007a120 + -0x7fffe608; - puVar6[6] = 0x6000000; - puVar6[7] = _DAT_8007a120 + -0x7fffded8; - puVar7 = puVar6 + 8; - } - loc_7F0A3934(psVar4,0x1e,0.92000002,0); - loc_7F0A3AA4(puVar2,(int)(psVar4 + -0x40000000),0x1e,0); - *puVar7 = 0xe7000000; - puVar7[1] = 0; - puVar7[2] = 0xb900031d; - puVar7[3] = 0x504240; - puVar7[4] = 0xfcffffff; - puVar7[5] = 0xfffdf6fb; - puVar7[7] = 0xff0000; - puVar7[6] = 0xfa000000; - puVar7[8] = 0x6000000; - *(undefined4 **)(puVar7 + 9) = puVar2 + -0x20000000; - puVar7[10] = 0xe7000000; - puVar7[0xb] = 0; - if (DAT_80040b34 < 0xe0) { - loc_7F0A3934(psVar3,0x1e,0.89999998,0); - loc_7F0A3AA4(puVar8,(int)(psVar3 + -0x40000000),0x1e,0); - puVar7[0xc] = 0xb900031d; - puVar7[0xd] = 0x50004b; - } - else { - loc_7F0A3934(psVar3,0x1e,0.89999998,1); - loc_7F0A3AA4(puVar8,(int)(psVar3 + -0x40000000),0x1e,1); - puVar7[0xc] = 0xb900031d; - puVar7[0xd] = 0x5041c8; - } - puVar7[0xe] = 0xfcffffff; - puVar7[0xf] = 0xfffe793c; - puVar7[0x10] = 0x6000000; - *(undefined4 **)(puVar7 + 0x11) = puVar8 + -0x20000000; - puVar7[0x12] = 0xb900031d; - puVar7[0x13] = 0x504240; - puVar7[0x14] = 0xfcffffff; - puVar7[0x15] = 0xfffe793c; - puVar7[0x16] = 0x6000000; - puVar8 = puVar7 + 0x18; - puVar7[0x17] = _DAT_8007a120 + -0x7fffd7a8; - iVar5 = 2; - *(undefined *)((int)psVar3 + 0xf) = (char)DAT_80040b34; - *(undefined *)((int)psVar4 + 0xf) = (char)DAT_80040b34; - *(undefined *)((int)psVar3 + 0x1f) = (char)DAT_80040b34; - *(undefined *)((int)psVar4 + 0x1f) = (char)DAT_80040b34; - psVar3 = psVar3 + 0x10; - psVar4 = psVar4 + 0x10; - do { - iVar5 += 4; - *(undefined *)((int)psVar3 + 0xf) = (char)DAT_80040b34; - *(undefined *)((int)psVar4 + 0xf) = (char)DAT_80040b34; - *(undefined *)((int)psVar3 + 0x1f) = (char)DAT_80040b34; - *(undefined *)((int)psVar4 + 0x1f) = (char)DAT_80040b34; - *(undefined *)((int)psVar3 + 0x2f) = (char)DAT_80040b34; - *(undefined *)((int)psVar4 + 0x2f) = (char)DAT_80040b34; - *(undefined *)((int)psVar3 + 0x3f) = (char)DAT_80040b34; - *(undefined *)((int)psVar4 + 0x3f) = (char)DAT_80040b34; - psVar3 = psVar3 + 0x20; - psVar4 = psVar4 + 0x20; - } while (iVar5 != 0x1e); - if (DAT_80040b34 < 0xe0) { - FUN_7f0a7478((short *)(_DAT_8007a120 + 0x19b8)); - *puVar8 = 0xb900031d; - puVar7[0x19] = 0x5041c8; - puVar7[0x1a] = 0x6000000; - puVar7[0x1b] = _DAT_8007a120 + -0x7fffd668; - puVar8 = puVar7 + 0x1c; - } - return puVar8; -} - - - -undefined4 * FUN_7f0a8340(undefined4 *param_1,undefined4 param_2) - -{ - undefined4 *puVar1; - - puVar1 = FUN_7f0a7ce4(param_1,param_2,1); - return puVar1; -} - - - -// WARNING: Instruction at (ram,0x7f0a8448) overlaps instruction at (ram,0x7f0a8444) -// - -uint * FUN_7f0a8360(undefined4 *param_1) - -{ - int *piVar1; - int iVar2; - byte *pbVar5; - byte *pbVar6; - byte *pbVar7; - int iVar8; - longlong lVar3; - ulonglong uVar4; - uint *puVar9; - short sVar10; - short sVar11; - int iStack32; - int iStack28; - uint uStack24; - uint uStack20; - uint uStack16; - uint uStack12; - uint uStack8; - int iStack4; - - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - pbVar5 = (byte *)FUN_7f0c2a88(0xac24); - pbVar6 = (byte *)FUN_7f0c2a88(0xac25); - pbVar7 = (byte *)FUN_7f0c2a88(0xac26); - iStack4 = 0x51; - if (DAT_80048500 == 0) { - iVar8 = 0; - } - else { - iVar8 = 0xf; - } - uStack8 = iVar8 + 0xbd; - if (DAT_80048500 == 0) { - iVar8 = 0; - } - else { - iVar8 = 10; - } - uStack12 = iVar8 + 0x88; - if (DAT_80048500 == 0) { - iVar8 = 0; - } - else { - iVar8 = 3; - } - uStack24 = iVar8 + 0x4c; - uStack20 = uStack24; - uStack16 = uStack24; - if (DAT_800409d8 != 0) { - if (DAT_800409d4 == 0) { - uStack20 = uStack24; - uStack16 = uStack24; - lVar3 = FUN_7000c150('\0'); - if ((0x2d < lVar3) || (uVar4 = FUN_7000c370('\0',0x111), uVar4 != 0)) { - DAT_800409d4 = 1; - } - } - else { - uStack20 = uStack24; - uStack16 = uStack24; - if ((DAT_800409d4 != 0) && - ((uStack20 = uStack24, uStack16 = uStack24, lVar3 = FUN_7000c150('\0'), lVar3 < -0x2d || - (uVar4 = FUN_7000c370('\0',0x222), uVar4 != 0)))) { - DAT_800409d4 = 0; - } - } - } - if (DAT_800409d8 == 0) { - loc_7F0AEB50(&iStack32,&iStack28,pbVar5,iVar2,piVar1,0); - puVar9 = loc_7F0ADD78(param_1,&iStack4,(int *)&uStack16,pbVar5,iVar2,(int)piVar1,0x800080, - iStack28,iStack32,0,0); - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar9 = loc_7F0ADD78(puVar9,(int *)&uStack8,(int *)&uStack20,pbVar6,iVar2,(int)piVar1,0x800080, - (int)sVar10,(int)sVar11,0,0); - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar9 = loc_7F0ADD78(puVar9,(int *)&uStack12,(int *)&uStack24,pbVar7,iVar2,(int)piVar1,0x800080 - ,(int)sVar10,(int)sVar11,0,0); - } - else { - loc_7F0AEB50(&iStack32,&iStack28,pbVar5,iVar2,piVar1,0); - puVar9 = loc_7F0ADD78(param_1,&iStack4,(int *)&uStack16,pbVar5,iVar2,(int)piVar1,0xa0ffa0f0, - iStack28,iStack32,0,0); - if (DAT_800409d4 == 0) { - if (true) { - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar9 = loc_7F0ADD78(puVar9,(int *)&uStack8,(int *)&uStack20,pbVar6,iVar2,(int)piVar1, - 0xff00b0,(int)sVar10,(int)sVar11,0,0); - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar9 = loc_7F0AE958(puVar9,&uStack12,&uStack24,pbVar7,iVar2,(int)piVar1,0xffffffff, - 0x7000a0,(int)sVar10,(int)sVar11,0,0); - } - } - else { - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar9 = loc_7F0AE958(puVar9,&uStack8,&uStack20,pbVar6,iVar2,(int)piVar1,0xffffffff,0x7000a0, - (int)sVar10,(int)sVar11,0,0); - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar9 = loc_7F0ADD78(puVar9,(int *)&uStack12,(int *)&uStack24,pbVar7,iVar2,(int)piVar1, - 0xff00b0,(int)sVar10,(int)sVar11,0,0); - } - } - return puVar9; -} - - - -uint * FUN_7f0a87b0(undefined4 *param_1) - -{ - int *piVar1; - int iVar2; - longlong lVar3; - undefined4 *puVar4; - uint *puVar5; - int iVar6; - uint uStack36; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - byte *pbStack8; - byte *pbStack4; - - pbStack4 = (byte *)FUN_7f0c2a88(0xac27); - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - lVar3 = FUN_7f0579b8(); - if (lVar3 == 0) { - uStack36 = DAT_80040b24; - pbStack8 = (byte *)FUN_7f0c2a88(0xac29); - } - else { - uStack36 = 0xff00b0; - pbStack8 = (byte *)FUN_7f0c2a88(0xac28); - } - puVar4 = loc_7F0ACED4(param_1); - loc_7F0AEB50(&iStack20,&iStack24,pbStack4,iVar2,piVar1,0); - iStack12 = 0x51; - iStack16 = 0x41; - puVar5 = loc_7F0ADD78(puVar4,&iStack12,&iStack16,pbStack4,iVar2,(int)piVar1,0xff00b0,iStack24, - iStack20,0,0); - if (DAT_80048500 == 0) { - iVar6 = 0; - } - else { - iVar6 = 0x22; - } - iStack12 = iStack12 + iStack24 + iVar6 + 4; - iStack16 -= iStack20; - loc_7F0AEB50(&iStack20,&iStack24,pbStack8,iVar2,piVar1,0); - puVar5 = loc_7F0ADD78(puVar5,&iStack12,&iStack16,pbStack8,iVar2,(int)piVar1,uStack36,iStack24, - iStack20,0,0); - puVar5 = FUN_7f0a8360(puVar5); - return puVar5; -} - - - -undefined8 FUN_7f0a8954(undefined8 param_1) - -{ - return param_1; -} - - - -uint * FUN_7f0a895c(undefined4 *param_1) - -{ - int *piVar1; - int iVar2; - undefined4 *puVar3; - uint *puVar4; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - byte *pbStack4; - - pbStack4 = (byte *)FUN_7f0c2a88(0xac2b); - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - if (DAT_80048500 == 0) { - iStack8 = 0; - } - else { - iStack8 = -5; - } - iStack8 += 0x65; - iStack12 = 0x31; - iStack16 = 0; - iStack20 = 0; - puVar3 = loc_7F0ACED4(param_1); - loc_7F0AEB50(&iStack16,&iStack20,pbStack4,iVar2,piVar1,0); - puVar4 = loc_7F0ADD78(puVar3,&iStack8,&iStack12,pbStack4,iVar2,(int)piVar1,0xff00b0,iStack20, - iStack16,0,0); - return puVar4; -} - - - -uint * FUN_7f0a8a40(undefined4 *param_1) - -{ - int *piVar1; - int iVar2; - int iVar4; - int iVar5; - byte *pbVar6; - byte *pbVar7; - ulonglong uVar3; - uint uVar8; - undefined4 *puVar9; - uint *puVar10; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - float extraout_f0; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - int iStack152; - int iStack148; - int iStack144; - int iStack140; - float afStack136 [16]; - float afStack72 [16]; - undefined2 uStack6; - uint *puStack4; - - puStack4 = (uint *)FUN_7f0be290(); - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - iStack148 = 0; - iStack152 = 0; - fVar11 = extraout_f0; - iVar4 = FUN_7f08e3a8(); - iVar5 = FUN_7f08dc58(iVar4); - FUN_7f08e2c0(iVar4); - fVar12 = fVar11; - FUN_7f08e2e8(iVar4); - fVar13 = fVar12; - FUN_7f08e310(iVar4); - fVar14 = fVar13; - FUN_7f08e298(iVar4); - fVar15 = fVar14; - FUN_7f08e338(iVar4); - fVar16 = fVar15; - FUN_7f08e360(iVar4); - pbVar6 = (byte *)FUN_7f08e030(iVar4); - pbVar7 = (byte *)FUN_7f08e164(iVar4); - iVar4 = FUN_7f091b34(); - if (iVar4 != 0) { - iVar4 = FUN_7f05def0(0); - uVar3 = FUN_7000c370('\0',2); - if (uVar3 != 0) { - *(float *)(&DAT_8003397c + iVar4 * 0xe) = (float)(&DAT_8003397c)[iVar4 * 0xe] - 2.00000000; - } - uVar3 = FUN_7000c370('\0',1); - if (uVar3 != 0) { - *(float *)(&DAT_8003397c + iVar4 * 0xe) = (float)(&DAT_8003397c)[iVar4 * 0xe] + 2.00000000; - } - uVar3 = FUN_7000c370('\0',4); - if (uVar3 != 0) { - *(float *)(&DAT_80033978 + iVar4 * 0xe) = (float)(&DAT_80033978)[iVar4 * 0xe] + 2.00000000; - } - uVar3 = FUN_7000c370('\0',8); - if (uVar3 != 0) { - *(float *)(&DAT_80033978 + iVar4 * 0xe) = (float)(&DAT_80033978)[iVar4 * 0xe] - 2.00000000; - } - uVar3 = FUN_7000c370('\0',0x20); - if (uVar3 != 0) { - *(float *)(&DAT_80033980 + iVar4 * 0xe) = (float)(&DAT_80033980)[iVar4 * 0xe] * DAT_8005854c; - } - uVar3 = FUN_7000c370('\0',0x10); - if (uVar3 != 0) { - *(float *)(&DAT_80033980 + iVar4 * 0xe) = (float)(&DAT_80033980)[iVar4 * 0xe] * DAT_80058550; - } - } - guPerspective(puStack4,&uStack6,fVar14,1.33333337,10.00000000,DAT_80058554,1.00000000); - *param_1 = 0x1030040; - uVar8 = osVirtualToPhysical((uint)puStack4); - param_1[1] = uVar8; - FUN_7f058b1c((fVar16 * DAT_80058558) / 360.00000000,extraout_a0,afStack72); - FUN_7f058ba8(DAT_8005855c - (fVar15 * DAT_8005855c) / 360.00000000,extraout_a0_00,afStack136); - FUN_7f058588(afStack136,afStack72); - FUN_7f059bb4(afStack136,fVar13,fVar11,fVar12,0.00000000,fVar11,fVar12,0.00000000,1.00000000, - 0.00000000); - FUN_7f058588(afStack136,afStack72); - puVar9 = sub_7F0A6EE8(param_1 + 2); - if (DAT_80040b34 < 0xe0) { - puVar9 = FUN_7f063530(puVar9,(longlong)iVar5,afStack72,DAT_80040b34 + 1,0x64dc6428); - } - else { - puVar9 = FUN_7f063530(puVar9,(longlong)iVar5,afStack72,0xff,0x64dc6428); - } - puVar9 = FUN_7f06a920(puVar9); - puVar9 = loc_7F0ACED4(puVar9); - iStack140 = 0x60; - iStack144 = 0xa0; - loc_7F0AEB50(&iStack148,&iStack152,pbVar6,iVar2,piVar1,0); - puVar10 = loc_7F0ADD78(puVar9,&iStack140,&iStack144,pbVar6,iVar2,(int)piVar1,0xff00b0,iStack152, - iStack148,0,0); - iStack144 = 0xaa; - loc_7F0AEB50(&iStack148,&iStack152,pbVar7,iVar2,piVar1,0); - puVar10 = loc_7F0ADD78(puVar10,&iStack140,&iStack144,pbVar7,iVar2,(int)piVar1,0xff00b0,iStack152, - iStack148,0,0); - return puVar10; -} - - - -uint * FUN_7f0a8ea4(undefined4 *param_1,undefined4 param_2) - -{ - uint *puVar3; - ulonglong uVar1; - undefined8 uVar2; - - puVar3 = FUN_7f0a7ce4(param_1,param_2,0); - uVar1 = FUN_7f07ec20(); - if (uVar1 == 1) { - FUN_7f07ec20(); - } - else { - puVar3 = FUN_7f0a895c(puVar3); - puVar3 = FUN_7f0a87b0(puVar3); - uVar2 = FUN_7f0a8954((longlong)(int)puVar3); - puVar3 = FUN_7f0a8a40((undefined4 *)uVar2); - } - return puVar3; -} - - - -// WARNING: Instruction at (ram,0x7f0a8f5c) overlaps instruction at (ram,0x7f0a8f58) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f0a8f10(void) - -{ - ulonglong uVar1; - int **ppiVar2; - int iVar3; - int **ppiVar4; - - uVar1 = FUN_7000c410('\0',0xa000); - if (uVar1 == 0) { - uVar1 = FUN_7000c410('\0',0x1000); - if (uVar1 == 0) { - return (int **)uVar1; - } - ppiVar4 = (int **)FUN_7f05def0(0); - ppiVar2 = (int **)FUN_7f08dc58(DAT_800409e8); - if (ppiVar2 == ppiVar4) { - return ppiVar2; - } - } - iVar3 = FUN_7f08dc58(DAT_800409e8); - FUN_7f05e074(0,iVar3); - FUN_7f05e074(1,0); - FUN_7f08e3b8(DAT_800409e8); - DAT_800409f4 = 10; - ppiVar4 = FUN_70008e18((longlong)_DAT_80063760,0x9f,NULL); - return ppiVar4; -} - - - -uint * FUN_7f0a8fbc(undefined4 *param_1,undefined4 param_2) - -{ - int *piVar1; - ulonglong uVar2; - int iVar3; - uint uVar4; - undefined4 *puVar5; - char *pcVar6; - int iVar7; - uint *puVar8; - byte *pbVar9; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - int iVar10; - float extraout_f0; - float fVar11; - uint *puStackX0; - int iStack2268; - int iStack2264; - int iStack2260; - byte abStack2252 [32]; - uint uStack2220; - byte abStack2212 [2000]; - int iStack212; - int *piStack208; - int iStack204; - int aiStack200 [3]; - uint uStack188; - uint auStack184 [3]; - float fStack172; - float fStack168; - int iStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float fStack140; - float afStack136 [16]; - float afStack72 [16]; - undefined2 uStack6; - uint *puStack4; - - puStackX0 = FUN_7f0a7ce4(param_1,param_2,0); - uVar2 = FUN_7f07ec20(); - if (uVar2 != 1) { - puStack4 = (uint *)FUN_7f0be290(); - fStack172 = extraout_f0; - FUN_7f08df90(DAT_800409e8); - fStack148 = fStack172; - FUN_7f08dfb8(DAT_800409e8); - fStack152 = fStack172; - FUN_7f08dfe0(DAT_800409e8); - fStack156 = fStack172; - FUN_7f08e008(DAT_800409e8); - fStack160 = fStack172; - iStack164 = FUN_7f08dc58(DAT_800409e8); - FUN_7f08e338(DAT_800409e8); - fStack168 = fStack172; - FUN_7f08e360(DAT_800409e8); - iVar3 = FUN_7f091b34(); - if (iVar3 != 0) { - iVar3 = FUN_7f05def0(0); - uVar2 = FUN_7000c370('\0',2); - if (uVar2 != 0) { - *(float *)(&DAT_80033990 + iVar3 * 0xe) = (float)(&DAT_80033990)[iVar3 * 0xe] - 2.00000000; - } - uVar2 = FUN_7000c370('\0',1); - if (uVar2 != 0) { - *(float *)(&DAT_80033990 + iVar3 * 0xe) = (float)(&DAT_80033990)[iVar3 * 0xe] + 2.00000000; - } - uVar2 = FUN_7000c370('\0',4); - if (uVar2 != 0) { - *(float *)(&DAT_80033994 + iVar3 * 0xe) = (float)(&DAT_80033994)[iVar3 * 0xe] + 2.00000000; - } - uVar2 = FUN_7000c370('\0',8); - if (uVar2 != 0) { - *(float *)(&DAT_80033994 + iVar3 * 0xe) = (float)(&DAT_80033994)[iVar3 * 0xe] - 2.00000000; - } - uVar2 = FUN_7000c370('\0',0x20); - if (uVar2 != 0) { - *(float *)(&DAT_80033998 + iVar3 * 0xe) = (float)(&DAT_80033998)[iVar3 * 0xe] * DAT_80058560 - ; - } - uVar2 = FUN_7000c370('\0',0x10); - if (uVar2 != 0) { - *(float *)(&DAT_80033998 + iVar3 * 0xe) = (float)(&DAT_80033998)[iVar3 * 0xe] * DAT_80058564 - ; - } - } - guPerspective(puStack4,&uStack6,fStack148,1.33333337,10.00000000,DAT_80058568,1.00000000); - *puStackX0 = 0x1030040; - uVar4 = osVirtualToPhysical((uint)puStack4); - puStackX0[1] = uVar4; - FUN_7f058b1c((fStack172 * DAT_8005856c) / 360.00000000,extraout_a0,afStack72); - FUN_7f058ba8(DAT_80058570 - (fStack168 * DAT_80058570) / 360.00000000,extraout_a0_00,afStack136) - ; - FUN_7f058588(afStack136,afStack72); - fStack140 = FUN_7f0583c0(DAT_80040b44); - fStack140 = fStack140 * fStack160; - fVar11 = func_7F057FC4(DAT_80040b44); - FUN_7f059bb4(afStack136,fStack140,fStack156,fVar11 * fStack160 + fStack152,0.00000000,fStack156, - fStack152,0.00000000,1.00000000,0.00000000); - FUN_7f058588(afStack136,afStack72); - puVar5 = sub_7F0A6EE8(puStackX0 + 2); - puVar5 = FUN_7f063530(puVar5,(longlong)iStack164,afStack72,0x40,-0x5f005fc4); - aiStack200[0] = 0; - iStack204 = 0; - piStack208 = DAT_80040edc; - iStack212 = DAT_80040ee0; - if (DAT_80048500 == 0) { - uStack2220 = 0x8c; - } - else { - uStack2220 = 0x82; - } - abStack2212[0] = 0; - iVar10 = 0; - iVar3 = FUN_7f08d99c(); - if (0 < iVar3) { - do { - pcVar6 = (char *)FUN_7f08dd28(iVar10); - locret_7000A844((char *)abStack2212,pcVar6); - iVar10 += 1; - iVar3 = FUN_7f08d99c(); - } while (iVar10 < iVar3); - } - if (0 < DAT_800409f4) { - DAT_800409f4 = DAT_800409f4 + -1; - } - FUN_7f0a6720(); - auStack184[0] = 0x4e; - uStack188 = uStack2220; - if (DAT_80048500 == 0) { - iVar3 = 0xc; - } - else { - iVar3 = 0xe; - } - iVar3 = iVar3 * 2 + uStack2220 + 1; - puVar5 = loc_7F0ACED4(puVar5); - if (DAT_80048500 == 0) { - iVar10 = 0xc; - } - else { - iVar10 = 0xe; - } - loc_7F0AEB50(aiStack200,&iStack204,abStack2212,iStack212,piStack208,iVar10); - if (DAT_80048500 == 0) { - iVar10 = 0xc; - } - else { - iVar10 = 0xe; - } - puVar5 = microcode_constructor_related_to_menus - (puVar5,0x4e,(longlong)(int)uStack2220,(longlong)(iStack204 + 0x4e), - iVar10 * 5 + uStack2220,0); - if (DAT_80048500 == 0) { - iVar10 = 0xc; - } - else { - iVar10 = 0xe; - } - if (DAT_80048500 == 0) { - iVar7 = 0xc; - } - else { - iVar7 = 0xe; - } - puVar8 = loc_7F0ADD78(puVar5,(int *)auStack184,(int *)&uStack188,abStack2212,iStack212, - (int)piStack208,0xaa00b0,iStack204 + 1,iVar10 * 5,DAT_800409e0,iVar7); - if (DAT_80048500 == 0) { - iVar10 = 0xc; - } - else { - iVar10 = 0xe; - } - puVar5 = microcode_constructor_related_to_menus - (puVar8,0x4b,(longlong)iVar3,(longlong)(iStack204 + 0x52), - (iVar10 + iVar3) - 2,0x800050); - piVar1 = DAT_80040edc; - iStack2260 = DAT_80040ee0; - pbVar9 = (byte *)FUN_7f08dd28(DAT_800409e8); - sprintf((int)abStack2252,(byte *)s__d___d__d__f_800577a8,DAT_800409e0,DAT_800409e4); - puStackX0 = loc_7F0ACED4(puVar5); - loc_7F0AEB50(&iStack2268,&iStack2264,abStack2252,iStack2260,piVar1,0); - if (DAT_800409f0 != 0) { - iVar3 = 0xc; - if (DAT_80048500 != 0) { - iVar3 = 0xe; - } - loc_7F0AEB50(&iStack2268,&iStack2264,pbVar9,iStack2260,piVar1,iVar3); - auStack184[0] = 0x4e; - if (DAT_80048500 == 0) { - iVar3 = 0xc; - } - else { - iVar3 = 0xe; - } - uStack188 = iVar3 * 2 + uStack2220; - if (DAT_800409f4 == 0) { - if (DAT_80048500 == 0) { - iVar3 = 0xc; - } - else { - iVar3 = 0xe; - } - puStackX0 = loc_7F0ADD78(puStackX0,(int *)auStack184,(int *)&uStack188,pbVar9,iStack2260, - (int)piVar1,0xa0ffa0f0,iStack2264,100,0,iVar3); - } - else { - if (DAT_80048500 == 0) { - iVar3 = 0xc; - } - else { - iVar3 = 0xe; - } - puStackX0 = loc_7F0AE958(puStackX0,auStack184,&uStack188,pbVar9,iStack2260,(int)piVar1, - 0xffffffff,0x7000a0,iStack2264 + 1,100,0,iVar3); - } - FUN_7f0a8f10(); - } - } - return puStackX0; -} - - - -uint * FUN_7f0a96d0(undefined4 *param_1,undefined4 param_2) - -{ - int *piVar1; - int iVar2; - byte *pbVar4; - uint *puVar5; - ulonglong uVar3; - undefined4 *puVar6; - int iVar7; - int iStack36; - int iStack32; - uint uStack28; - int iStack24; - uint uStack12; - uint auStack8 [2]; - - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - iStack32 = 0; - iStack36 = 0; - pbVar4 = (byte *)FUN_7f08de5c(DAT_800409e8); - puVar5 = FUN_7f0a7ce4(param_1,param_2,0); - uVar3 = FUN_7f07ec20(); - if (uVar3 != 1) { - if (0 < DAT_800409f4) { - DAT_800409f4 = DAT_800409f4 + -1; - } - FUN_7f0a6720(); - puVar6 = loc_7F0ACED4(puVar5); - loc_7F0AEB50(&iStack32,&iStack36,pbVar4,iVar2,piVar1,0); - iVar7 = -iStack36 + 0xaa; - if (iVar7 < 0) { - iVar7 = -iStack36 + 0xab; - } - auStack8[0] = (iVar7 >> 1) + 0x4b; - uStack12 = 0x1e; - puVar5 = microcode_constructor_related_to_menus - (puVar6,(longlong)(int)auStack8[0],0x1e,(longlong)iStack24,uStack28,0x800050) - ; - if (DAT_800409f0 == 0) { - puVar5 = loc_7F0ADD78(puVar5,(int *)auStack8,(int *)&uStack12,pbVar4,iVar2,(int)piVar1, - 0xaa00b0,iStack36,100,0,0); - } - else { - FUN_7f0a8f10(); - if (DAT_800409f4 == 0) { - puVar5 = loc_7F0ADD78(puVar5,(int *)auStack8,(int *)&uStack12,pbVar4,iVar2,(int)piVar1, - 0xa0ffa0f0,iStack36,100,0,0); - } - else { - puVar5 = loc_7F0AE958(puVar5,auStack8,&uStack12,pbVar4,iVar2,(int)piVar1,0xffffffff,0x7000a0 - ,iStack36 + 1,100,0,0); - } - } - } - return puVar5; -} - - - -void FUN_7f0a9900(undefined2 *param_1,float param_2,int param_3) - -{ - short sVar1; - short sVar2; - char cVar3; - int iVar4; - undefined2 *puVar5; - short *psVar6; - int iVar7; - - sVar1 = param_1[0x10]; - sVar2 = param_1[0x20]; - iVar4 = 0; - iVar7 = (int)((float)param_3 * (DAT_80058574 - param_2)); - puVar5 = param_1; - do { - iVar4 += 1; - *(undefined *)(puVar5 + 6) = 0x20; - *(undefined *)((int)puVar5 + 0xd) = 0x40; - *(undefined *)(puVar5 + 7) = 0x20; - *(undefined *)((int)puVar5 + 0xf) = 0xe0; - puVar5 = puVar5 + 8; - } while (iVar4 < 4); - iVar4 = 4; - psVar6 = param_1 + 0x20; - do { - if (iVar4 < 10) { - cVar3 = (char)(int)(param_2 * 48.00000000) + '@'; - *(char *)(psVar6 + 6) = cVar3; - *(char *)((int)psVar6 + 0xd) = (char)(int)(param_2 * 96.00000000) + -0x80; - *(char *)(psVar6 + 7) = cVar3; - if (5 < iVar4) { - *psVar6 = (short)(int)(((float)(int)(short)param_1[0x20] + - ((float)((int)sVar1 - (int)sVar2) + (float)iVar7) * param_2) - - (float)iVar7); - if (*psVar6 < (short)param_1[0x20]) { - *psVar6 = param_1[0x20]; - } - } - } - else { - *psVar6 = (short)(int)((float)(int)(short)param_1[0x20] + - (float)(((int)sVar1 - (int)sVar2) + iVar7) * param_2 + (float)iVar7); - if ((short)param_1[0x10] < *psVar6) { - *psVar6 = param_1[0x10]; - } - } - iVar4 += 1; - psVar6 = psVar6 + 8; - } while (iVar4 != 0xc); - param_1[8] = param_1[0x50]; - *param_1 = param_1[0x50]; - return; -} - - - -void FUN_7f0a9a90(ushort *param_1) - -{ - int iVar2; - ulonglong uVar1; - uint uVar3; - - iVar2 = FUN_7000c150('\0'); - uVar3 = (uint)*param_1; - uVar1 = FUN_7000c370('\0',0x111); - if (uVar1 == 0) { - uVar1 = FUN_7000c370('\0',0x222); - if (uVar1 != 0) { - uVar3 -= 0x400; - } - } - else { - uVar3 += 0x400; - } - if (iVar2 < 0x47) { - if (iVar2 < -0x46) { - iVar2 = -0x46; - } - } - else { - iVar2 = 0x46; - } - if (iVar2 < 8) { - if (iVar2 < -7) { - uVar3 += (iVar2 * 0x800 + 0x3800) / 0x46; - } - } - else { - uVar3 += (iVar2 * 0x800 + -0x3800) / 0x46; - } - if ((int)uVar3 < 0x8000) { - if ((int)uVar3 < 0) { - *param_1 = 0; - } - else { - *param_1 = (ushort)uVar3; - } - } - else { - *param_1 = 0x7fff; - } - return; -} - - - -undefined4 * FUN_7f0a9bac(undefined4 *param_1) - -{ - short *psVar1; - undefined4 *puVar2; - short *psVar3; - ulonglong uVar4; - float fVar5; - ushort uStack2; - - psVar1 = (short *)FUN_7f0be274(0xc); - uStack2 = FUN_700091d8(); - if (DAT_800409d8 == 0) { - uVar4 = (ulonglong)uStack2; - } - else { - if (DAT_800409cc == 1) { - FUN_7f0a9a90(&uStack2); - uVar4 = (ulonglong)uStack2; - } - else { - uVar4 = (ulonglong)uStack2; - } - } - fVar5 = (float)(int)uVar4; - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 / DAT_80058578; - loc_70009204(uVar4); - *param_1 = 0xb900031d; - param_1[1] = 0x504240; - puVar2 = sub_7F0A3B40(param_1 + 2,psVar1 + -0x40000000); - psVar3 = loc_7F0A3AEC(psVar1,0,0,600,0x14,-299,-0xcd); - puVar2 = sub_7F0A3B40(puVar2,psVar3 + -0x40000000); - psVar3 = loc_7F0A3AEC(psVar3,0,0,600,0x14,-299,-0xcd); - puVar2 = sub_7F0A3B40(puVar2,psVar3 + -0x40000000); - loc_7F0A3AEC(psVar3,0,0,600,0x14,-299,-0xcd); - FUN_7f0a9900(psVar1,fVar5,0x1e); - return puVar2; -} - - - -void FUN_7f0a9d40(void) - -{ - FUN_700091d8(); - return; -} - - - -void FUN_7f0a9d60(ulonglong param_1) - -{ - loc_70009204(param_1 & 0xffff); - return; -} - - - -undefined4 * FUN_7f0a9d88(undefined4 *param_1) - -{ - short *psVar2; - ulonglong uVar1; - undefined4 *puVar3; - short *psVar4; - uint uVar5; - float fVar6; - ushort uStack2; - - psVar2 = (short *)FUN_7f0be274(0xc); - uVar1 = FUN_7f0a9f18(); - uStack2 = (ushort)uVar1; - if (DAT_800409d8 == 0) { - uVar5 = (uint)uVar1 & 0xffff; - } - else { - if (DAT_800409cc == 0) { - FUN_7f0a9a90(&uStack2); - uVar5 = (uint)uStack2; - } - else { - uVar5 = (uint)uVar1 & 0xffff; - } - } - fVar6 = (float)uVar5; - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar6 = fVar6 / DAT_8005857c; - FUN_7f0a9f24((ushort)uVar5); - *param_1 = 0xb900031d; - param_1[1] = 0x504240; - puVar3 = sub_7F0A3B40(param_1 + 2,psVar2 + -0x40000000); - psVar4 = loc_7F0A3AEC(psVar2,0,0,600,0x14,-299,-0x113); - puVar3 = sub_7F0A3B40(puVar3,psVar4 + -0x40000000); - psVar4 = loc_7F0A3AEC(psVar4,0,0,600,0x14,-299,-0x113); - puVar3 = sub_7F0A3B40(puVar3,psVar4 + -0x40000000); - loc_7F0A3AEC(psVar4,0,0,600,0x14,-299,-0x113); - FUN_7f0a9900(psVar2,fVar6,0x1e); - return puVar3; -} - - - -ulonglong FUN_7f0a9f18(void) - -{ - return (ulonglong)DAT_80040b88; -} - - - -void FUN_7f0a9f24(ushort param_1) - -{ - DAT_80040b88 = param_1; - FUN_700073d4((longlong)(short)param_1 & 0xffff); - return; -} - - - -uint * FUN_7f0a9f58(undefined4 *param_1,uint param_2,uint param_3,byte *param_4,uint param_5, - int param_6,uint param_7,int param_8,int param_9,uint param_10,int param_11) - -{ - int *piVar1; - int iVar2; - int iVar3; - uint *puVar4; - uint uStackX8; - byte *pbStackX12; - int iStack20; - int aiStack16 [3]; - uint uStack4; - - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - uStackX8 = param_3; - pbStackX12 = param_4; - loc_7F0AEB50(&iStack20,aiStack16,param_4,DAT_80040ee0,DAT_80040edc,10); - if (param_8 == 0) { - if (param_11 != 0) { - param_2 -= aiStack16[0]; - } - } - else { - iVar3 = aiStack16[0]; - if (aiStack16[0] < 0) { - iVar3 = aiStack16[0] + 1; - } - param_2 -= iVar3 >> 1; - } - if (DAT_80040b34 < 0xe0) { - *param_1 = 0xb900031d; - param_1[1] = 0x50004b; - } - else { - *param_1 = 0xb900031d; - param_1[1] = 0x5041c8; - } - param_1 = param_1 + 2; - uStack4 = param_2; - if (param_9 != 0) { - uStack4 = param_2; - param_1 = microcode_constructor_related_to_menus - (param_1,(longlong)(int)(param_2 - 1), - (longlong)(int)(uStackX8 + param_6 + 1), - (longlong)(int)(param_2 + aiStack16[0] + 1),uStackX8 + iStack20 + 1, - param_10); - } - *param_1 = 0xb900031d; - param_1[1] = 0x5041c8; - puVar4 = param_1 + 2; - if (param_6 == 0) { - puVar4 = loc_7F0ADD78(puVar4,(int *)&uStack4,(int *)&uStackX8,pbStackX12,iVar2,(int)piVar1, - param_5,aiStack16[0],iStack20,0,10); - } - if (param_6 != 0) { - puVar4 = loc_7F0AE958(puVar4,&uStack4,&uStackX8,pbStackX12,iVar2,(int)piVar1,param_5,param_7, - aiStack16[0] + 1,iStack20,0,10); - } - return puVar4; -} - - - -float locret_7F0A9608(float param_1,float param_2,undefined8 param_3,undefined8 param_4, - float param_5) - -{ - if (param_1 < param_2) { - return param_1 + (param_2 - param_1) / param_5; - } - if (param_2 < param_1) { - param_1 = param_1 - (param_1 - param_2) / param_5; - } - return param_1; -} - - - -void FUN_7f0aa244(char param_1,int *param_2,float *param_3,float *param_4) - -{ - longlong lVar1; - int iVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 uVar3; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - float fVar4; - - lVar1 = FUN_7000c150(param_1); - uVar3 = extraout_a0; - if ((lVar1 < 10) && (lVar1 = FUN_7000c150(param_1), uVar3 = extraout_a0_00, -10 < lVar1)) { -LAB_7f0aa2b0: - iVar2 = *param_2; - } - else { - if (DAT_800409d8 != 0) { - iVar2 = 0; - if (DAT_800409c8 == 1) { - *param_2 = 0; - goto LAB_7f0aa2d0; - } - goto LAB_7f0aa2b0; - } - iVar2 = *param_2; - } - if (iVar2 < 100) { - *param_2 = iVar2 + 1; - iVar2 = iVar2 + 1; - } -LAB_7f0aa2d0: - if (iVar2 < 100) { - if ((DAT_800409d8 != 0) && (DAT_800409c8 == 1)) { - iVar2 = FUN_7000c150(param_1); - fVar4 = locret_7F0A9608(*param_3,(-(float)iVar2 * DAT_80058588 * DAT_8005858c) / 360.00000000, - extraout_a0_01,extraout_a1,4.00000000); - *param_3 = fVar4; - } - } - else { - fVar4 = locret_7F0A9608(*param_3,-*param_4 / 10.00000000,uVar3,(longlong)(int)param_2,4.00000000 - ); - *param_3 = fVar4; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0aa390(undefined4 *param_1) - -{ - int *piVar1; - int iVar2; - char *pcVar3; - int iVar4; - byte *pbVar5; - int iVar6; - ushort *puVar7; - uint *puStackX0; - int iStack2036; - int aiStack2032 [3]; - int iStack2020; - int iStack2016; - byte abStack2012 [2012]; - - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - aiStack2032[0] = 0; - iStack2036 = 0; - abStack2012[0] = 0; - iVar6 = 0; - if (0 < DAT_80040a08) { - puVar7 = &DAT_80040a0c; - do { - pcVar3 = (char *)FUN_7f0c2a88((uint)*puVar7); - locret_7000A844((char *)abStack2012,pcVar3); - iVar6 += 1; - puVar7 = puVar7 + 10; - } while (iVar6 < DAT_80040a08); - } - if ((DAT_800409d8 != 0) && (DAT_800409c8 == 0)) { - iVar6 = 10; - if (DAT_80048500 != 0) { - iVar6 = 0xe; - } - FUN_7f0a6cbc((float *)(_DAT_8007a120 + 0x2a60),(int *)(_DAT_8007a120 + 0x2a58),DAT_80040a08, - (int *)(_DAT_8007a120 + 0x2a64),(int *)(_DAT_8007a120 + 0x2a5c), - (undefined4 *)(_DAT_8007a120 + 0x2a68),0,1,iVar6); - } - iStack2016 = 0xaa; - iStack2020 = 0x1a; - if (DAT_80048500 == 0) { - iVar6 = 10; - } - else { - iVar6 = 0xe; - } - loc_7F0AEB50(aiStack2032,&iStack2036,abStack2012,iVar2,piVar1,iVar6); - if (DAT_80048500 == 0) { - iVar6 = 10; - } - else { - iVar6 = 0xe; - } - if (DAT_80048500 == 0) { - iVar4 = 10; - } - else { - iVar4 = 0xe; - } - puStackX0 = loc_7F0ADD78(param_1,&iStack2016,&iStack2020,abStack2012,iVar2,(int)piVar1,0xaa00b0, - iStack2036,iVar6,*(int *)(_DAT_8007a120 + 0x2a64),iVar4); - if (*(int *)(_DAT_8007a120 + 0x2a68) != 0) { - pbVar5 = (byte *)FUN_7f0c2a88((uint)(ushort)(&DAT_80040a0c) - [*(int *)(_DAT_8007a120 + 0x2a58) * 10]); - if (DAT_80048500 == 0) { - iVar6 = 10; - } - else { - iVar6 = 0xe; - } - loc_7F0AEB50(aiStack2032,&iStack2036,pbVar5,iVar2,piVar1,iVar6); - iStack2016 = 0xaa; - iStack2020 = 0x1a; - pbVar5 = (byte *)FUN_7f0c2a88((uint)(ushort)(&DAT_80040a0c) - [*(int *)(_DAT_8007a120 + 0x2a58) * 10]); - if (DAT_80048500 == 0) { - iVar6 = 10; - } - else { - iVar6 = 0xe; - } - puStackX0 = loc_7F0ADD78(puStackX0,&iStack2016,&iStack2020,pbVar5,iVar2,(int)piVar1,0xa0ffa0f0, - iStack2036,100,0,iVar6); - } - return puStackX0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0aa678(undefined4 *param_1) - -{ - bool bVar1; - undefined4 *puVar3; - ulonglong uVar2; - uint *puVar4; - byte *pbVar5; - byte *local_58; - byte *local_54; - byte *local_8; - byte *local_4; - - if (DAT_80040ab4 == 1) { - local_4 = (byte *)FUN_7f0c2a88(0xac2d); - local_8 = (byte *)FUN_7f0c2a88(0xac2c); - } - else { - local_4 = (byte *)FUN_7f0c2a88(0xac2c); - local_8 = (byte *)FUN_7f0c2a88(0xac2d); - } - bVar1 = false; - puVar3 = loc_7F0ACED4(param_1); - uVar2 = FUN_7000c370('\0',0x20); - if (uVar2 == 0) { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a14 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14)); - puVar4 = FUN_7f0a9f58(puVar3,0x32,0x52,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a14 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14)); - puVar4 = FUN_7f0a9f58(puVar3,0x32,0x52,pbVar5,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - if (*(short *)(&DAT_80040a14 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14) == -0x53ff) { - bVar1 = true; - } - } - if (((DAT_800409c8 == 1) && (DAT_800409d8 != 0)) && (uVar2 = FUN_7000c370('\0',0xf00), uVar2 != 0) - ) { - uVar2 = FUN_7000c370('\0',0x800); - if (uVar2 == 0) { - uVar2 = FUN_7000c370('\0',0x400); - if (uVar2 == 0) { - uVar2 = FUN_7000c370('\0',0x200); - if (uVar2 == 0) { - uVar2 = FUN_7000c370('\0',0x100); - if (uVar2 != 0) { - local_58 = (byte *)FUN_7f0c2a88(0xac2e); - } - } - else { - local_58 = (byte *)FUN_7f0c2a88(0xac2f); - } - } - else { - local_58 = local_8; - if (*(short *)(&DAT_80040a1a + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14) == -0x53fb) { - local_58 = (byte *)FUN_7f0c2a88(0xac31); - } - } - } - else { - local_58 = local_4; - if (*(short *)(&DAT_80040a1a + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14) == -0x53fb) { - local_58 = (byte *)FUN_7f0c2a88(0xac30); - } - } - puVar4 = FUN_7f0a9f58(puVar4,0x32,0x6b,local_58,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a1a + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14)); - puVar4 = FUN_7f0a9f58(puVar4,0x32,0x6b,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (*(int *)(_DAT_8007a120 + 0x2a58) * 0x14 + -0x7ffbf5e4)); - puVar4 = FUN_7f0a9f58(puVar4,0x32,0x84,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - uVar2 = FUN_7000c370('\0',0x2000); - if (uVar2 == 0) { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a12 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14)); - puVar4 = FUN_7f0a9f58(puVar4,0x32,0x9d,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a12 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14)); - puVar4 = FUN_7f0a9f58(puVar4,0x32,0x9d,pbVar5,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - if (*(short *)(&DAT_80040a12 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14) == -0x53ff) { - bVar1 = true; - } - } - uVar2 = FUN_7000c370('\0',0x10); - if (uVar2 == 0) { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a16 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14)); - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x52,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a16 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14)); - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x52,pbVar5,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - if (*(short *)(&DAT_80040a16 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14) == -0x53ff) { - bVar1 = true; - } - } - if (((DAT_800409c8 == 1) && (DAT_800409d8 != 0)) && (uVar2 = FUN_7000c370('\0',0xf), uVar2 != 0)) - { - uVar2 = FUN_7000c370('\0',0xf); - if ((uVar2 & (longlong)((int)uVar2 + -1)) == 0) { - uVar2 = FUN_7000c370('\0',8); - if (uVar2 == 0) { - uVar2 = FUN_7000c370('\0',4); - if (uVar2 == 0) { - uVar2 = FUN_7000c370('\0',2); - if (uVar2 == 0) { - uVar2 = FUN_7000c370('\0',1); - if (uVar2 != 0) { - local_54 = (byte *)FUN_7f0c2a88(0xac2e); - } - } - else { - local_54 = (byte *)FUN_7f0c2a88(0xac2f); - } - } - else { - local_54 = local_8; - if (*(short *)(&DAT_80040a18 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14) == -0x53fb) { - local_54 = (byte *)FUN_7f0c2a88(0xac31); - } - } - } - else { - local_54 = local_4; - if (*(short *)(&DAT_80040a18 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14) == -0x53fb) { - local_54 = (byte *)FUN_7f0c2a88(0xac30); - } - } - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x6b,local_54,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a18 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14) - ); - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x6b,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (&DAT_80040a18 + *(int *)(_DAT_8007a120 + 0x2a58) * 0x14)); - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x6b,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - uVar2 = FUN_7000c370('\0',0x4000); - if (uVar2 == 0) { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (*(int *)(_DAT_8007a120 + 0x2a58) * 0x14 + -0x7ffbf5f0)); - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x84,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (*(int *)(_DAT_8007a120 + 0x2a58) * 0x14 + -0x7ffbf5f0)); - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x84,pbVar5,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - uVar2 = FUN_7000c370('\0',0x8000); - if (uVar2 == 0) { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (*(int *)(_DAT_8007a120 + 0x2a58) * 0x14 + -0x7ffbf5f2)); - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x9d,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (*(int *)(_DAT_8007a120 + 0x2a58) * 0x14 + -0x7ffbf5f2)); - puVar4 = FUN_7f0a9f58(puVar4,0x10e,0x9d,pbVar5,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - if (bVar1) { - pbVar5 = (byte *)FUN_7f0c2a88(0xac08); - puVar4 = FUN_7f0a9f58(puVar4,0xfa,0xc3,pbVar5,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - else { - pbVar5 = (byte *)FUN_7f0c2a88((uint)*(ushort *) - (*(int *)(_DAT_8007a120 + 0x2a58) * 0x14 + -0x7ffbf5e2)); - puVar4 = FUN_7f0a9f58(puVar4,0xfa,0xc3,pbVar5,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - return puVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0ab388(undefined4 *param_1) - -{ - undefined4 *puVar2; - ulonglong uVar1; - uint *puVar3; - byte *pbVar4; - - puVar2 = loc_7F0ACED4(param_1); - uVar1 = FUN_7000c370('\0',0x8000); - if (uVar1 == 0) { - pbVar4 = (byte *)FUN_7f0c2a88(0xac03); - puVar3 = FUN_7f0a9f58(puVar2,0x5a,0xa7,pbVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - pbVar4 = (byte *)FUN_7f0c2a88(0xac03); - puVar3 = FUN_7f0a9f58(puVar2,0x5a,0xa7,pbVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - } - uVar1 = FUN_7000c370('\0',0x4000); - if (uVar1 == 0) { - pbVar4 = (byte *)FUN_7f0c2a88(0xac02); - puVar3 = FUN_7f0a9f58(puVar3,0x5a,0x95,pbVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - pbVar4 = (byte *)FUN_7f0c2a88(0xac02); - puVar3 = FUN_7f0a9f58(puVar3,0x5a,0x95,pbVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - } - if ((*(int *)(_DAT_8007a120 + 0x2a58) == 4) || (*(int *)(_DAT_8007a120 + 0x2a58) == 5)) { - pbVar4 = (byte *)FUN_7f0c2a88(0xac00); - } - else { - pbVar4 = (byte *)FUN_7f0c2a88(0xac01); - } - uVar1 = FUN_7000c370('\0',0x2000); - if (uVar1 == 0) { - puVar3 = FUN_7f0a9f58(puVar3,0x5a,0xb9,pbVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - } - else { - puVar3 = FUN_7f0a9f58(puVar3,0x5a,0xb9,pbVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - } - if ((*(int *)(_DAT_8007a120 + 0x2a58) == 4) || (*(int *)(_DAT_8007a120 + 0x2a58) == 6)) { - pbVar4 = (byte *)FUN_7f0c2a88(0xac05); - } - else { - pbVar4 = (byte *)FUN_7f0c2a88(0xac06); - } - puVar3 = FUN_7f0a9f58(puVar3,0x5a,0xcb,pbVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,0); - uVar1 = FUN_7000c370('\x01',0x8000); - if (uVar1 == 0) { - pbVar4 = (byte *)FUN_7f0c2a88(0xac03); - puVar3 = FUN_7f0a9f58(puVar3,0xe6,0xa7,pbVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - pbVar4 = (byte *)FUN_7f0c2a88(0xac03); - puVar3 = FUN_7f0a9f58(puVar3,0xe6,0xa7,pbVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - uVar1 = FUN_7000c370('\x01',0x4000); - if (uVar1 == 0) { - pbVar4 = (byte *)FUN_7f0c2a88(0xac02); - puVar3 = FUN_7f0a9f58(puVar3,0xe6,0x95,pbVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - pbVar4 = (byte *)FUN_7f0c2a88(0xac02); - puVar3 = FUN_7f0a9f58(puVar3,0xe6,0x95,pbVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - if ((*(int *)(_DAT_8007a120 + 0x2a58) == 4) || (*(int *)(_DAT_8007a120 + 0x2a58) == 5)) { - pbVar4 = (byte *)FUN_7f0c2a88(0xac01); - } - else { - pbVar4 = (byte *)FUN_7f0c2a88(0xac00); - } - uVar1 = FUN_7000c370('\x01',0x2000); - if (uVar1 == 0) { - puVar3 = FUN_7f0a9f58(puVar3,0xe6,0xb9,pbVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - } - else { - puVar3 = FUN_7f0a9f58(puVar3,0xe6,0xb9,pbVar4,0xffffffff,1,0x7000a0,0,0,0x3000b0,1); - } - if ((*(int *)(_DAT_8007a120 + 0x2a58) == 4) || (*(int *)(_DAT_8007a120 + 0x2a58) == 6)) { - pbVar4 = (byte *)FUN_7f0c2a88(0xac06); - } - else { - pbVar4 = (byte *)FUN_7f0c2a88(0xac05); - } - puVar3 = FUN_7f0a9f58(puVar3,0xe6,0xcb,pbVar4,0xaa00b0,0,0xffffffff,0,0,0x3000b0,1); - return puVar3; -} - - - -uint * FUN_7f0ab980(undefined4 *param_1) - -{ - int iVar2; - longlong lVar1; - uint uVar3; - undefined4 *puVar4; - uint *puVar5; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a0_07; - undefined8 extraout_a0_08; - undefined8 uVar6; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 auStack1268 [55]; - undefined4 auStack1048 [55]; - undefined4 auStack828 [55]; - char cStack606; - char acStack605 [5]; - undefined4 *puStack600; - float afStack596 [16]; - float afStack532 [16]; - undefined2 uStack466; - undefined4 uStack464; - undefined4 uStack460; - undefined4 uStack456; - float afStack452 [16]; - float afStack388 [16]; - float afStack324 [16]; - float afStack260 [16]; - float afStack196 [16]; - float afStack132 [16]; - float afStack68 [16]; - uint *puStack4; - - puStack4 = (uint *)FUN_7f0be290(); - uStack464 = DAT_80040b8c; - uStack460 = DAT_80040b90; - uStack456 = DAT_80040b94; - acStack605[0] = '\0'; - cStack606 = '\x01'; - puVar4 = &DAT_80040b98; - puVar7 = auStack828; - do { - puVar9 = puVar4 + 3; - puVar8 = puVar7 + 3; - *puVar7 = *puVar4; - puVar7[1] = puVar4[1]; - puVar7[2] = puVar4[2]; - puVar4 = puVar9; - puVar7 = puVar8; - } while (puVar9 != (undefined4 *)0x80040c70); - *puVar8 = uRam80040c70; - puVar4 = &DAT_80040c74; - puVar7 = auStack1048; - do { - puVar8 = puVar4 + 3; - puVar9 = puVar7 + 3; - *puVar7 = *puVar4; - puVar7[1] = puVar4[1]; - puVar7[2] = puVar4[2]; - puVar4 = puVar8; - puVar7 = puVar9; - } while (puVar8 != (undefined4 *)0x80040d4c); - *puVar9 = uRam80040d4c; - puVar4 = &DAT_80040d50; - puVar7 = auStack1268; - do { - puVar8 = puVar4 + 3; - puVar9 = puVar7 + 3; - *puVar7 = *puVar4; - puVar7[1] = puVar4[1]; - puVar7[2] = puVar4[2]; - puVar4 = puVar8; - puVar7 = puVar9; - } while (puVar8 != (undefined4 *)0x80040e28); - *puVar9 = uRam80040e28; - FUN_7f0aa244('\0',&DAT_80040b5c,(float *)&DAT_80040b58,(float *)&DAT_80040b54); - init_0x40_bytes_data_at_address_last_word_1_0(afStack68); - DAT_80040b54 = DAT_80040b54 + DAT_80040b58 * DAT_800484d0 * 0.50000000; - DAT_80040b54 = FUN_7f0a75cc(DAT_80040b54); - FUN_7f058ba8(DAT_80040b54,extraout_a0,afStack132); - if ((DAT_800409d8 == 0) || (DAT_800409c8 != 1)) { - DAT_80040b50 = locret_7F0A9608(DAT_80040b50,0.00000000,extraout_a0_00,extraout_a1,4.00000000); - uVar6 = extraout_a0_03; - } - else { - iVar2 = FUN_7000c260('\0'); - DAT_80040b50 = locret_7F0A9608(DAT_80040b50,((float)iVar2 * DAT_80058590) / 360.00000000, - extraout_a0_01,extraout_a1_00,4.00000000); - uVar6 = extraout_a0_02; - } - FUN_7f058a90(-DAT_80040b50 - DAT_80058594,uVar6,afStack196); - loc_7F0580E4(afStack68,afStack132,(int)afStack260); - loc_7F0580E4(afStack260,afStack196,(int)afStack324); - FUN_7f058e84(&uStack464,afStack260); - loc_7F0580E4(afStack260,afStack324,(int)afStack388); - lVar1 = FUN_7f0a5914(); - if (lVar1 == 0) { - puStack600 = auStack828; - FUN_7f059bb4(afStack532,-5.00000000,2000.00000000,-168.00000000,-5.00000000,0.00000000, - -168.00000000,0.00000000,0.00000000,-1.00000000); - } - else { - puStack600 = auStack1048; - FUN_7f059bb4(afStack532,DAT_80058598,2500.00000000,32.00000000,DAT_80058598,0.00000000, - 32.00000000,0.00000000,0.00000000,-1.00000000); - } - loc_7F0580E4(afStack532,afStack388,(int)afStack452); - guPerspective(puStack4,&uStack466,50.50000000,1.33333337,1000.00000000,DAT_8005859c,1.00000000); - *param_1 = 0x1030040; - uVar3 = osVirtualToPhysical((uint)puStack4); - param_1[1] = uVar3; - puVar4 = sub_7F0A6EE8(param_1 + 2); - if (DAT_80040b34 < 0xe0) { - puVar4 = (undefined4 *) - FUN_7f063ac8(puVar4,afStack452,(longlong)(DAT_80040b34 + -6),1,(int)puStack600, - acStack605); - } - else { - puVar4 = (undefined4 *)sub_7F064364(puVar4,afStack452,1,(int)puStack600,acStack605); - } - lVar1 = FUN_7f0a5914(); - if (lVar1 != 0) { - FUN_7f0aa244('\x01',&DAT_80040b6c,(float *)&DAT_80040b68,(float *)&DAT_80040b64); - init_0x40_bytes_data_at_address_last_word_1_0(afStack68); - DAT_80040b64 = DAT_80040b64 + DAT_80040b68 * DAT_800484d0 * 0.50000000; - DAT_80040b64 = FUN_7f0a75cc(DAT_80040b64); - FUN_7f058ba8(DAT_80040b64,extraout_a0_04,afStack132); - if ((DAT_800409d8 == 0) || (DAT_800409c8 != 1)) { - DAT_80040b60 = locret_7F0A9608(DAT_80040b60,0.00000000,extraout_a0_05,extraout_a1_01, - 4.00000000); - uVar6 = extraout_a0_08; - } - else { - iVar2 = FUN_7000c260('\x01'); - DAT_80040b60 = locret_7F0A9608(DAT_80040b60,((float)iVar2 * DAT_800585a0) / 360.00000000, - extraout_a0_06,extraout_a1_02,4.00000000); - uVar6 = extraout_a0_07; - } - FUN_7f058a90(-DAT_80040b60 - DAT_800585a4,uVar6,afStack196); - loc_7F0580E4(afStack68,afStack132,(int)afStack260); - loc_7F0580E4(afStack260,afStack196,(int)afStack324); - FUN_7f058e84(&uStack464,afStack260); - loc_7F0580E4(afStack260,afStack324,(int)afStack388); - FUN_7f059bb4(afStack596,DAT_800585a8,2500.00000000,32.00000000,DAT_800585a8,0.00000000, - 32.00000000,0.00000000,0.00000000,-1.00000000); - loc_7F0580E4(afStack596,afStack388,(int)afStack452); - guPerspective(puStack4,&uStack466,50.50000000,1.33333337,1000.00000000,DAT_800585ac,1.00000000); - *puVar4 = 0x1030040; - uVar3 = osVirtualToPhysical((uint)puStack4); - puVar4[1] = uVar3; - puVar4 = sub_7F0A6EE8(puVar4 + 2); - if (DAT_80040b34 < 0xe0) { - puVar4 = (undefined4 *) - FUN_7f063ac8(puVar4,afStack452,(longlong)(DAT_80040b34 + -6),1,(int)auStack1268, - &cStack606); - } - else { - puVar4 = (undefined4 *)sub_7F064364(puVar4,afStack452,1,(int)auStack1268,&cStack606); - } - } - lVar1 = FUN_7f0a5914(); - if (lVar1 == 0) { - puVar5 = FUN_7f0aa678(puVar4); - } - else { - puVar5 = FUN_7f0ab388(puVar4); - } - return puVar5; -} - - - -void FUN_7f0ac034(void) - -{ - DAT_800409c8 = 0; - return; -} - - - -void FUN_7f0ac040(void) - -{ - DAT_800409cc = 0; - return; -} - - - -void FUN_7f0ac04c(void) - -{ - DAT_800409d4 = 0; - return; -} - - - -uint * FUN_7f0ac060(undefined4 *param_1,undefined4 param_2) - -{ - int *piVar1; - int iVar2; - uint *puVar5; - ulonglong uVar3; - longlong lVar4; - uint uVar6; - byte *pbVar7; - int iStack24; - int iStack20; - uint uStack16; - uint auStack12 [3]; - - puVar5 = FUN_7f0a7ce4(param_1,param_2,0); - uVar3 = FUN_7f07ec20(); - if (uVar3 != 1) { - puVar5 = FUN_7f0ab980(puVar5); - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - puVar5 = loc_7F0ACED4(puVar5); - pbVar7 = (byte *)FUN_7f0c2a88(0xac32); - auStack12[0] = 0x40; - uStack16 = 0x1a; - uVar6 = 0xff00b0; - if ((DAT_800409c8 == 0) && (uVar6 = 0xa0ffa0f0, DAT_800409d8 != 0)) { - uVar6 = 0xffffffff; - } - loc_7F0AEB50(&iStack24,&iStack20,pbVar7,iVar2,piVar1,0); - if ((DAT_800409d8 == 0) || (DAT_800409c8 != 0)) { - puVar5 = loc_7F0ADD78(puVar5,(int *)auStack12,(int *)&uStack16,pbVar7,iVar2,(int)piVar1,uVar6, - iStack20,iStack24,0,0); - } - else { - puVar5 = loc_7F0AE958(puVar5,auStack12,&uStack16,pbVar7,iVar2,(int)piVar1,uVar6,0x7000a0, - iStack20 + 1,iStack24,0,0); - } - uVar6 = 0xff00b0; - puVar5 = FUN_7f0aa390(puVar5); - pbVar7 = (byte *)FUN_7f0c2a88(0xac33); - lVar4 = FUN_7f0a5914(); - if (lVar4 != 0) { - pbVar7 = (byte *)FUN_7f0c2a88(0xac34); - } - auStack12[0] = 0x40; - uStack16 = 0x2b; - if ((DAT_800409c8 == 1) && (uVar6 = 0xa0ffa0f0, DAT_800409d8 != 0)) { - uVar6 = 0xffffffff; - } - loc_7F0AEB50(&iStack24,&iStack20,pbVar7,iVar2,piVar1,0); - if ((DAT_800409d8 == 0) || (DAT_800409c8 != 1)) { - puVar5 = loc_7F0ADD78(puVar5,(int *)auStack12,(int *)&uStack16,pbVar7,iVar2,(int)piVar1,uVar6, - iStack20,iStack24,0,0); - } - else { - puVar5 = loc_7F0AE958(puVar5,auStack12,&uStack16,pbVar7,iVar2,(int)piVar1,uVar6,0x7000a0, - iStack20 + 1,iStack24,0,0); - } - } - return puVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f0ac34c(undefined4 *param_1,undefined4 param_2) - -{ - int **ppiVar1; - - *param_1 = param_2; - FUN_7f0a5b44(); - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0x2b,NULL); - return ppiVar1; -} - - - -// WARNING: Instruction at (ram,0x7f0ac434) overlaps instruction at (ram,0x7f0ac430) -// - -ulonglong FUN_7f0ac380(int param_1) - -{ - ulonglong uVar1; - int **ppiVar2; - - uVar1 = FUN_7000c410('\0',0x222); - if (((uVar1 == 0) && (uVar1 = FUN_7f0a5b50(), uVar1 == 0)) || (DAT_800409d8 == 0)) { - uVar1 = FUN_7000c410('\0',0x111); - if (((uVar1 != 0) || (uVar1 = FUN_7f0a5b8c(), uVar1 != 0)) && (DAT_800409d8 != 0)) { - uVar1 = SEXT48((int)(&DAT_80040aac + param_1 * 6)); - if ((&DAT_80040ab4)[param_1 * 3] == 0) { - ppiVar2 = FUN_7f0ac34c(&DAT_80040ab4 + param_1 * 3,1); - uVar1 = SEXT48((int)ppiVar2); - } - else { - if (((&DAT_80040ab4)[param_1 * 3] == 1) && (*(short *)(&DAT_80040ab2 + param_1 * 0xc) != 0)) - { - ppiVar2 = FUN_7f0ac34c(&DAT_80040ab4 + param_1 * 3,2); - uVar1 = SEXT48((int)ppiVar2); - } - } - } - } - else { - uVar1 = SEXT48((int)(&DAT_80040aac + param_1 * 6)); - if ((&DAT_80040ab4)[param_1 * 3] == 1) { - ppiVar2 = FUN_7f0ac34c(&DAT_80040ab4 + param_1 * 3,0); - uVar1 = SEXT48((int)ppiVar2); - } - else { - if ((&DAT_80040ab4)[param_1 * 3] == 2) { - ppiVar2 = FUN_7f0ac34c(&DAT_80040ab4 + param_1 * 3,1); - uVar1 = SEXT48((int)ppiVar2); - } - } - } - return uVar1; -} - - - -uint * FUN_7f0ac4b0(undefined4 *param_1,uint param_2,int param_3,longlong param_4) - -{ - int iVar1; - byte *pbVar2; - uint *puVar3; - uint uVar4; - undefined2 *puVar5; - uint uVar6; - uint uVar7; - uint *local_res0; - uint local_14; - uint local_c; - - uVar7 = 0x800080; - uVar6 = 0x800080; - local_c = 0x800080; - if (DAT_80048500 == 0) { - uVar4 = 0xb4; - local_14 = 0xe1; - } - else { - uVar4 = 0xaa; - local_14 = 0xdc; - } - if (param_4 == 0) { - puVar5 = &DAT_80040aac + param_3 * 6; - iVar1 = (&DAT_80040ab4)[param_3 * 3]; - if (iVar1 == 0) { - uVar6 = 0xff00b0; - } - else { - if (iVar1 == 1) { - uVar7 = 0xff00b0; - } - else { - if (iVar1 == 2) { - local_c = 0xff00b0; - } - } - } - } - else { - if (param_4 == 1) { - puVar5 = &DAT_80040aac + param_3 * 6; - iVar1 = (&DAT_80040ab4)[param_3 * 3]; - if (iVar1 == 0) { - uVar6 = 0xff00b0; - } - else { - if (iVar1 == 1) { - uVar7 = 0xff00b0; - } - else { - if (iVar1 == 2) { - local_c = 0xff00b0; - } - } - } - } - else { - if (param_4 == 2) { - FUN_7f0ac380(param_3); - puVar5 = &DAT_80040aac + param_3 * 6; - iVar1 = (&DAT_80040ab4)[param_3 * 3]; - uVar6 = 0x800080; - uVar7 = 0x800080; - if (iVar1 == 0) { - uVar6 = 0xa0ffa0f0; - } - else { - if (iVar1 == 1) { - uVar7 = 0xa0ffa0f0; - } - else { - if (iVar1 == 2) { - local_c = 0xa0ffa0f0; - } - } - } - } - else { - puVar5 = &DAT_80040aac + param_3 * 6; - uVar6 = uVar7; - } - } - } - if (puVar5[3] == 0) { - uVar4 = 200; - if (DAT_80048500 == 0) { - local_14 = 0xfa; - } - else { - uVar4 = 0xbe; - local_14 = 0xfa; - } - } - pbVar2 = (byte *)FUN_7f0c2a88((uint)(ushort)puVar5[1]); - puVar3 = FUN_7f0a9f58(param_1,uVar4,param_2,pbVar2,uVar6,0,0xffffffff,1,0,0x3000b0,0); - pbVar2 = (byte *)FUN_7f0c2a88((uint)(ushort)puVar5[2]); - local_res0 = FUN_7f0a9f58(puVar3,local_14,param_2,pbVar2,uVar7,0,0xffffffff,1,0,0x3000b0,0); - if (puVar5[3] != 0) { - pbVar2 = (byte *)FUN_7f0c2a88((uint)(ushort)puVar5[3]); - local_res0 = FUN_7f0a9f58(local_res0,0x10e,param_2,pbVar2,local_c,0,0xffffffff,1,0,0x3000b0,0); - } - return local_res0; -} - - - -uint * loc_7F0ABDB8(undefined4 *param_1) - -{ - uint *puVar1; - byte *pbVar2; - uint uVar3; - int iVar4; - ushort *puVar5; - - puVar1 = loc_7F0ACED4(param_1); - puVar5 = &DAT_80040aac; - iVar4 = 0; - uVar3 = 0x50; - do { - if (iVar4 + 2 == DAT_800409cc) { - if (DAT_800409d8 == 0) { - pbVar2 = (byte *)FUN_7f0c2a88((uint)*puVar5); - puVar1 = FUN_7f0a9f58(puVar1,0x40,uVar3,pbVar2,0xa0ffa0f0,0,0xffffffff,0,0,0x3000b0,0); - puVar1 = FUN_7f0ac4b0(puVar1,uVar3,iVar4,1); - } - else { - pbVar2 = (byte *)FUN_7f0c2a88((uint)*puVar5); - puVar1 = FUN_7f0a9f58(puVar1,0x40,uVar3,pbVar2,0xffffffff,1,0x7000a0,0,0,0x3000b0,0); - puVar1 = FUN_7f0ac4b0(puVar1,uVar3,iVar4,2); - } - } - else { - pbVar2 = (byte *)FUN_7f0c2a88((uint)*puVar5); - puVar1 = FUN_7f0a9f58(puVar1,0x40,uVar3,pbVar2,0xff00b0,0,0xffffffff,0,0,0x3000b0,0); - puVar1 = FUN_7f0ac4b0(puVar1,uVar3,iVar4,0); - } - iVar4 += 1; - puVar5 = puVar5 + 6; - uVar3 += 0xf; - } while (iVar4 != 8); - return puVar1; -} - - - -uint * FUN_7f0ac9a4(undefined4 *param_1,undefined4 param_2) - -{ - int *piVar1; - int iVar2; - uint uVar3; - uint *puVar5; - ulonglong uVar4; - undefined4 *puVar6; - int iStack24; - int iStack20; - uint uStack16; - uint uStack12; - byte *pbStack8; - uint uStack4; - - puVar5 = FUN_7f0a7ce4(param_1,param_2,0); - uVar4 = FUN_7f07ec20(); - if (uVar4 == 1) { - return puVar5; - } - puVar6 = FUN_7f0a9d88(puVar5); - puVar6 = FUN_7f0a9bac(puVar6); - iVar2 = DAT_80040ee0; - piVar1 = DAT_80040edc; - puVar5 = loc_7F0ACED4(puVar6); - pbStack8 = (byte *)FUN_7f0c2a88(0xac35); - uStack12 = 0x40; - uStack16 = 0x25; - uStack4 = 0xff00b0; - if ((DAT_800409cc == 0) && (uStack4 = 0xa0ffa0f0, DAT_800409d8 != 0)) { - uStack4 = 0xffffffff; - } - loc_7F0AEB50(&iStack24,&iStack20,pbStack8,iVar2,piVar1,0); - uVar3 = uStack4; - if (DAT_800409d8 != 0) { - if (DAT_800409cc == 0) { - uStack4 = 0xff00b0; - puVar5 = loc_7F0AE958(puVar5,&uStack12,&uStack16,pbStack8,iVar2,(int)piVar1,uVar3,0x7000a0, - iStack20 + 1,iStack24,0,0); - goto LAB_7f0acb44; - } - } - uStack4 = 0xff00b0; - puVar5 = loc_7F0ADD78(puVar5,(int *)&uStack12,(int *)&uStack16,pbStack8,iVar2,(int)piVar1,uVar3, - iStack20,iStack24,0,0); -LAB_7f0acb44: - pbStack8 = (byte *)FUN_7f0c2a88(0xac36); - uStack12 = 0x40; - uStack16 = 0x3b; - if ((DAT_800409cc == 1) && (uStack4 = 0xa0ffa0f0, DAT_800409d8 != 0)) { - uStack4 = 0xffffffff; - } - loc_7F0AEB50(&iStack24,&iStack20,pbStack8,iVar2,piVar1,0); - if ((DAT_800409d8 == 0) || (DAT_800409cc != 1)) { - puVar5 = loc_7F0ADD78(puVar5,(int *)&uStack12,(int *)&uStack16,pbStack8,iVar2,(int)piVar1, - uStack4,iStack20,iStack24,0,0); - } - else { - puVar5 = loc_7F0AE958(puVar5,&uStack12,&uStack16,pbStack8,iVar2,(int)piVar1,uStack4,0x7000a0, - iStack20 + 1,iStack24,0,0); - } - puVar5 = loc_7F0ABDB8(puVar5); - return puVar5; -} - - - -int locret_7F0AC118(char *param_1) - -{ - char cVar1; - int iVar2; - - cVar1 = *param_1; - iVar2 = 0; - while (cVar1 != '\0') { - if (cVar1 == '\n') { - iVar2 += 1; - cVar1 = param_1[1]; - } - else { - cVar1 = param_1[1]; - } - param_1 = param_1 + 1; - } - return iVar2; -} - - - -char * locret_7F0AC160(char *param_1) - -{ - char cVar1; - char *pcVar2; - char *pcVar3; - - cVar1 = *param_1; - pcVar2 = param_1; - while (cVar1 != '\0') { - if (cVar1 == '\n') { - pcVar3 = param_1 + 1; - if (param_1[1] == '\0') { - cVar1 = param_1[2]; - } - else { - cVar1 = param_1[2]; - pcVar2 = pcVar3; - } - } - else { - cVar1 = param_1[1]; - pcVar3 = param_1; - } - param_1 = pcVar3 + 1; - } - return pcVar2; -} - - - -uint * loc_7F0AC9F4(undefined4 *param_1,undefined4 param_2) - -{ - ulonglong uVar1; - byte *pbVar2; - undefined4 *puVar3; - int iVar4; - int iVar5; - char *pcVar6; - char *pcVar7; - uint *puVar8; - short sVar9; - short sVar10; - int iVar11; - undefined4 uVar12; - uint extraout_a2_lo; - uint extraout_a2_lo_00; - uint extraout_a2_lo_01; - uint extraout_a2_lo_02; - uint extraout_a2_lo_03; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined4 extraout_a3_lo_04; - undefined4 *puVar13; - undefined4 *puVar14; - undefined4 *puVar15; - int iVar16; - longlong lVar17; - uint *puStackX0; - int iStack3444; - uint uStack3428; - undefined uStack3424; - int iStack3224; - int aiStack3220 [4]; - char *pcStack3204; - char *pcStack3200; - char *pcStack3196; - byte abStack3192 [32]; - undefined4 auStack3160 [750]; - int iStack160; - int *piStack156; - int iStack152; - int iStack148; - uint uStack144; - uint uStack140; - uint uStack136; - uint uStack132; - undefined4 auStack128 [15]; - undefined4 uStack68; - undefined4 uStack64; - undefined4 auStack60 [15]; - - puStackX0 = FUN_7f0a7ce4(param_1,param_2,0); - uVar1 = FUN_7f07ec20(); - if (uVar1 != 1) { - puVar3 = &DAT_80040e2c; - puVar14 = auStack60; - do { - puVar15 = puVar3 + 3; - *puVar14 = *puVar3; - puVar14[1] = puVar3[1]; - puVar14[2] = puVar3[2]; - puVar3 = puVar15; - puVar14 = puVar14 + 3; - } while (puVar15 != &DAT_80040e68); - uStack68 = DAT_80040e68; - uStack64 = DAT_80040e6c; - puVar3 = &DAT_80040e70; - puVar14 = auStack128; - do { - puVar15 = puVar3 + 3; - *puVar14 = *puVar3; - puVar14[1] = puVar3[1]; - puVar14[2] = puVar3[2]; - puVar3 = puVar15; - puVar14 = puVar14 + 3; - } while (puVar15 != (undefined4 *)0x80040eac); - iStack148 = 0; - iStack152 = 0; - piStack156 = DAT_80040edc; - iStack160 = DAT_80040ee0; - puVar3 = &DAT_80057800; - puVar14 = auStack3160; - do { - puVar15 = puVar3 + 3; - *puVar14 = *puVar3; - puVar14[1] = puVar3[1]; - puVar14[2] = puVar3[2]; - puVar3 = puVar15; - puVar14 = puVar14 + 3; - } while (puVar15 != &DAT_800583b8); - pcStack3196 = (char *)FUN_7f0c2a88(0xac28); - pcStack3200 = (char *)FUN_7f0c2a88(0xac29); - pcStack3204 = (char *)FUN_7f0c2a88(0xac37); - pbVar2 = (byte *)FUN_7f057604(0); - puVar3 = loc_7F0ACED4(puStackX0); - loc_7F0AEB50(&iStack148,&iStack152,pbVar2,iStack160,piStack156,0); - iVar11 = -iStack152 + 0xaa; - if (iVar11 < 0) { - iVar11 = -iStack152 + 0xab; - } - uStack132 = (iVar11 >> 1) + 0x4b; - uStack140 = uStack132 + iStack152; - uStack144 = iStack148 + 0x1e; - uStack136 = 0x1e; - puVar3 = draw_blackbox_to_screen(puVar3,&uStack132,&uStack136,&uStack140,&uStack144); - puStackX0 = loc_7F0ADD78(puVar3,(int *)&uStack132,(int *)&uStack136,pbVar2,iStack160, - (int)piStack156,0xa0ffa0f0,iStack152,iStack148,0,0); - uStack132 = 0x41; - switch(DAT_800409d0) { - case 0: - pbVar2 = (byte *)FUN_7f0c2a88(0xac38); - sprintf((int)abStack3192,pbVar2,extraout_a2_lo,extraout_a3_lo); - pbVar2 = (byte *)FUN_7f057604(1); - loc_7F0AEEE0(0xd2,pbVar2,(byte *)auStack3160,iStack160,piStack156); - FUN_7f0a71b8(); - break; - case 1: - pbVar2 = (byte *)FUN_7f0c2a88(0xac39); - sprintf((int)abStack3192,pbVar2,extraout_a2_lo_00,extraout_a3_lo_00); - pbVar2 = (byte *)FUN_7f057604(2); - loc_7F0AEEE0(0xd2,pbVar2,(byte *)auStack3160,iStack160,piStack156); - FUN_7f0a7240(); - break; - case 2: - pbVar2 = (byte *)FUN_7f0c2a88(0xac3a); - sprintf((int)abStack3192,pbVar2,extraout_a2_lo_01,extraout_a3_lo_01); - pbVar2 = (byte *)FUN_7f057604(3); - loc_7F0AEEE0(0xd2,pbVar2,(byte *)auStack3160,iStack160,piStack156); - FUN_7f0a72cc(); - break; - case 3: - pbVar2 = (byte *)FUN_7f0c2a88(0xac3b); - sprintf((int)abStack3192,pbVar2,extraout_a2_lo_02,extraout_a3_lo_02); - pbVar2 = (byte *)FUN_7f057604(4); - loc_7F0AEEE0(0xd2,pbVar2,(byte *)auStack3160,iStack160,piStack156); - FUN_7f0a735c(); - break; - case 4: - puVar3 = &DAT_800583b8; - puVar14 = &uStack3424; - do { - puVar13 = puVar14; - puVar15 = puVar3; - *puVar13 = *puVar15; - puVar13[1] = puVar15[1]; - puVar13[2] = puVar15[2]; - puVar3 = puVar15 + 3; - puVar14 = puVar13 + 3; - } while (puVar15 + 3 != (undefined4 *)0x80058478); - iVar11 = 1; - puVar13[3] = uRam80058478; - iVar16 = 0; - uVar12 = 5; - puVar13[4] = puVar15[4]; - iStack3444 = 0; - if (DAT_80048500 != 0) { - uVar12 = 1; - } - FUN_7f0ad750(uVar12); - pbVar2 = (byte *)FUN_7f0c2a88(0xac3c); - sprintf((int)abStack3192,pbVar2,extraout_a2_lo_03,extraout_a3_lo_03); - lVar17 = 0; - iVar4 = FUN_7f0576a8(); - if (0 < iVar4) { - do { - iVar4 = FUN_7f057704(lVar17); - iVar5 = FUN_7f0c0878(); - if (iVar4 <= iVar5) { - iVar4 = 0; - pcVar6 = (char *)FUN_7f0576b8(lVar17); - uStack3424 = 0; - if (0 < iVar11) { - do { - locret_7000A844((char *)&uStack3424,&DAT_80058480); - iVar4 += 1; - } while (iVar4 != iVar11); - } - iVar4 = 0; - if (0 < iVar16) { - do { - locret_7000A844((char *)&uStack3424,&DAT_80058484); - iVar4 += 1; - } while (iVar4 != iVar16); - } - iVar4 = 0; - pcVar7 = locret_7001389C((char *)&uStack3424); - pcVar7 = pcVar7 + (int)&uStack3424; - sprintf((int)pcVar7,&DAT_80058488,iStack3444 + 0x61,extraout_a3_lo_04); - locret_7000A844((char *)&uStack3424,pcVar6); - aiStack3220[0] = 5; - if (DAT_80048500 != 0) { - aiStack3220[0] = 1; - } - aiStack3220[0] += uStack136; - iStack3224 = 0x3c; - sVar9 = get_video2_settings_txtClipW(); - sVar10 = get_video2_settings_txtClipH(); - puVar8 = loc_7F0ADD78(puStackX0,&iStack3224,aiStack3220,(byte *)&uStack3424,iStack160, - (int)piStack156,0xff00b0,(int)sVar9,(int)sVar10,0,10); - iVar5 = locret_7F0AC118(pcVar7); - iVar11 += iVar5; - pbVar2 = (byte *)locret_7F0AC160(pcVar7); - loc_7F0AEB50(&iStack148,&iStack152,pbVar2,iStack160,piStack156,10); - sVar9 = get_video2_settings_txtClipW(); - iVar5 = (int)sVar9; - if (sVar9 < 0) { - iVar5 += 1; - } - if (iStack152 + 0x3c < iVar5 >> 1) { - iVar11 += -1; - } - uStack3424 = 0; - if (0 < iVar11) { - do { - locret_7000A844((char *)&uStack3424,&DAT_80058490); - iVar4 += 1; - } while (iVar4 != iVar11); - } - iVar4 = 0; - if (0 < iVar16) { - do { - locret_7000A844((char *)&uStack3424,&DAT_80058494); - iVar4 += 1; - } while (iVar4 != iVar16); - } - iVar4 = loc_7F057498(lVar17); - if (iVar4 == 0) { - locret_7000A844((char *)&uStack3424,pcStack3200); - uStack3428 = DAT_80040b2c << 0x10 | 0x400040ff; - } - else { - if (iVar4 == 1) { - uStack3428 = 0xa0ffa0f0; - locret_7000A844((char *)&uStack3424,pcStack3196); - } - else { - if (iVar4 == 2) { - locret_7000A844((char *)&uStack3424,pcStack3204); - if (DAT_80048500 == 0) { - uStack3428 = 0xff00b0; - } - else { - uStack3428 = 0xa0ffa0f0; - } - } - } - } - loc_7F0AEB50(&iStack148,&iStack152,(byte *)&uStack3424,iStack160,piStack156,10); - aiStack3220[0] = 5; - if (DAT_80048500 != 0) { - aiStack3220[0] = 1; - } - aiStack3220[0] += uStack136; - if (DAT_80048500 == 0) { - iStack3224 = 0xaf; - } - else { - iStack3224 = 0xf5 - iStack152; - } - sVar9 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puVar8,&iStack3224,aiStack3220,(byte *)&uStack3424,iStack160, - (int)piStack156,uStack3428,0xd2,(int)sVar9,0,10); - iVar16 += 1; - iStack3444 += 1; - } - lVar17 = (longlong)((int)lVar17 + 1); - iVar4 = FUN_7f0576a8(); - } while (lVar17 < (longlong)iVar4); - } - FUN_7f0ad750(0xffffffff); - FUN_7f0a73ec(); - } - loc_7F0AEB50(&iStack148,&iStack152,abStack3192,iStack160,piStack156,10); - puVar8 = loc_7F0ADD78(puStackX0,(int *)&uStack132,(int *)&uStack136,abStack3192,iStack160, - (int)piStack156,0xa0ffa0f0,0xd2,0x82,0,10); - uStack136 += 5; - uStack132 = 0x3c; - loc_7F0AEB50(&iStack148,&iStack152,(byte *)auStack3160,iStack160,piStack156,10); - sVar9 = get_video2_settings_txtClipW(); - sVar10 = get_video2_settings_txtClipH(); - puStackX0 = loc_7F0ADD78(puVar8,(int *)&uStack132,(int *)&uStack136,(byte *)auStack3160, - iStack160,(int)piStack156,0xff00b0,(int)sVar9,(int)sVar10,0,10); - } - return puStackX0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0ad5d0(uint *param_1,undefined4 param_2,int param_3) - -{ - ulonglong uVar1; - - locret_7F0A7144(DAT_800409c4,_DAT_8007a120 + 0x1878); - if (param_3 == 1) { - FUN_7f07f0dc(0); - FUN_7f0be4ac(0); - if ((DAT_800409c4 != 1) && (uVar1 = FUN_7000c410('\0',0xa000), uVar1 != 0)) { - FUN_7f0a5a98(); - } - switch(DAT_800409c4) { - case 0: - param_1 = FUN_7f0a8ea4(param_1,param_2); - break; - case 1: - param_1 = FUN_7f0a8fbc(param_1,param_2); - break; - case 2: - param_1 = FUN_7f0ac060(param_1,param_2); - break; - case 3: - param_1 = FUN_7f0ac9a4(param_1,param_2); - break; - case 4: - param_1 = loc_7F0AC9F4(param_1,param_2); - } - } - else { - if (param_3 == 0) { - FUN_7f0be4ac(1); - FUN_7f07f0dc(1); - param_1 = FUN_7f0a8340(param_1,param_2); - } - } - return param_1; -} - - - -void FUN_7f0ad720(void) - -{ - return; -} - - - -void FUN_7f0ad728(int param_1) - -{ - DAT_80040eb4 = -param_1; - return; -} - - - -void FUN_7f0ad738(undefined4 param_1) - -{ - DAT_80040eb8 = param_1; - return; -} - - - -void FUN_7f0ad744(undefined4 param_1) - -{ - DAT_80040ebc = param_1; - return; -} - - - -void FUN_7f0ad750(undefined4 param_1) - -{ - DAT_80040ec0 = param_1; - return; -} - - - -void FUN_7f0ad75c(void) - -{ - int iVar1; - int iVar2; - - DAT_80040eb4 = 0; - DAT_80040eb8 = 0; - DAT_80040ebc = 0; - DAT_80040ec0 = 0xffffffff; - DAT_80040ec4 = 0; - DAT_80040ec8 = 0; - DAT_80040ecc = 0; - DAT_80040ed0 = 0; - DAT_80040ed4 = 0; - DAT_80040edc = FUN_70009730(0x24b0,4); - DAT_80040ee0 = DAT_80040edc + 0x2a4; - romCopy((longlong)(int)DAT_80040edc,0x2e7110,0x24b0); - iVar2 = 0; - do { - iVar1 = DAT_80040ee0 + iVar2; - iVar2 += 0x18; - *(int *)(iVar1 + 0x14) = *(int *)(iVar1 + 0x14) + DAT_80040edc; - } while (iVar2 < 0x8d0); - DAT_80040ee4 = FUN_70009730(0x3540,4); - DAT_80040ee8 = DAT_80040ee4 + 0x2a4; - romCopy((longlong)(int)DAT_80040ee4,0x2e95c0,0x3540); - iVar2 = 0x30; - *(int *)(DAT_80040ee8 + 0x14) = *(int *)(DAT_80040ee8 + 0x14) + DAT_80040ee4; - *(int *)(DAT_80040ee8 + 0x2c) = *(int *)(DAT_80040ee8 + 0x2c) + DAT_80040ee4; - do { - *(int *)(DAT_80040ee8 + iVar2 + 0x14) = *(int *)(DAT_80040ee8 + iVar2 + 0x14) + DAT_80040ee4; - *(int *)(DAT_80040ee8 + iVar2 + 0x2c) = *(int *)(DAT_80040ee8 + iVar2 + 0x2c) + DAT_80040ee4; - *(int *)(DAT_80040ee8 + iVar2 + 0x44) = *(int *)(DAT_80040ee8 + iVar2 + 0x44) + DAT_80040ee4; - iVar1 = DAT_80040ee8 + iVar2; - iVar2 += 0x60; - *(int *)(iVar1 + 0x5c) = *(int *)(iVar1 + 0x5c) + DAT_80040ee4; - } while (iVar2 != 0x8d0); - return; -} - - - -undefined4 * loc_7F0ACED4(undefined4 *param_1) - -{ - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[2] = 0xba001402; - param_1[3] = 0; - param_1[5] = 0xc0; - param_1[4] = 0xba000602; - param_1[6] = 0xb900031d; - param_1[7] = 0x5041c8; - param_1[8] = 0xfcff97ff; - param_1[9] = 0xff2dfeff; - param_1[10] = 0xba001301; - param_1[0xb] = 0; - param_1[0xc] = 0xb9000002; - param_1[0xd] = 0; - param_1[0xe] = 0xba001001; - param_1[0xf] = 0; - param_1[0x11] = 0xc00; - param_1[0x10] = 0xba000903; - param_1[0x12] = 0xba000e02; - param_1[0x13] = 0; - if (DAT_80040ec4 != 0) { - param_1[0x15] = 0x3000; - param_1[0x14] = 0xba000c02; - return param_1 + 0x16; - } - param_1[0x15] = 0x2000; - param_1[0x14] = 0xba000c02; - return param_1 + 0x16; -} - - - -undefined4 * combiner_bayer_lod_perspective(undefined4 *param_1) - -{ - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[3] = 0x40; - param_1[2] = 0xba000602; - param_1[5] = 0x80000; - param_1[4] = 0xba001301; - param_1[7] = 0x10000; - param_1[6] = 0xba001001; - return param_1 + 8; -} - - - -undefined4 * -draw_blackbox_to_screen(undefined4 *param_1,uint *param_2,uint *param_3,uint *param_4,uint *param_5) - -{ - *param_1 = 0xb900031d; - param_1[1] = 0x504240; - param_1[2] = 0xfcffffff; - param_1[3] = 0xfffdf6fb; - param_1[4] = 0xfa000000; - param_1[5] = 0; - param_1[6] = (*param_5 & 0x3ff) << 2 | 0xf6000000 | (*param_4 & 0x3ff) << 0xe; - param_1[7] = (*param_3 & 0x3ff) << 2 | (*param_2 & 0x3ff) << 0xe; - param_1[9] = 0x504240; - param_1[8] = 0xb900031d; - param_1[10] = 0xfcff97ff; - param_1[0xb] = 0xff2dfeff; - return param_1 + 0xc; -} - - - -undefined4 * -microcode_constructor_related_to_menus - (undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,uint param_5 - ,uint param_6) - -{ - *param_1 = 0xb900031d; - param_1[1] = 0x504240; - param_1[2] = 0xfcffffff; - param_1[3] = 0xfffdf6fb; - param_1[4] = 0xfa000000; - param_1[5] = param_6 & 0xff000000 | (param_6 >> 0x10 & 0xff) << 0x10 | (param_6 >> 8 & 0xff) << 8 - | param_6 & 0xff; - param_1[7] = ((uint)param_2 & 0x3ff) << 0xe | ((uint)param_3 & 0x3ff) << 2; - param_1[6] = ((uint)param_4 & 0x3ff) << 0xe | 0xf6000000 | (param_5 & 0x3ff) << 2; - param_1[9] = 0xff2dfeff; - param_1[8] = 0xfcff97ff; - return param_1 + 10; -} - - - -uint * loc_7F0ADA94(uint *param_1,int *param_2,int *param_3,uint *param_4,int param_5,int param_6, - int param_7,int param_8,int param_9,int param_10,int param_11) - -{ - uint uVar1; - short sVar4; - uint uVar2; - int iVar3; - uint uVar5; - int iVar6; - uint *puVar7; - - param_11 = *param_3 + param_11; - iVar6 = (*param_2 - - (*(int *)(param_6 + *(int *)(param_5 + 0x10) * 0x34 + param_4[4] * 4) + DAT_80040eb4)) + 1 - ; - *param_2 = iVar6; - if ((DAT_80040eb8 != 0) || - (((puVar7 = param_1, 0 < iVar6 && - (sVar4 = get_video2_settings_txtClipW(), puVar7 = param_1, - (longlong)*param_2 <= (longlong)sVar4)) && - (sVar4 = get_video2_settings_txtClipH(), puVar7 = param_1, - (longlong)(int)(param_11 + param_4[1]) <= (longlong)sVar4)))) { - puVar7 = param_1; - if (*param_2 <= param_7 + param_9) { - param_10 = param_8 + param_10; - puVar7 = param_1; - if ((((int)(param_4[1] + param_11) <= param_10) && (puVar7 = param_1, param_7 <= *param_2)) && - (puVar7 = param_1, param_8 <= (int)(param_4[1] + param_11 + param_4[2]))) { - if ((int)*param_4 < 0x80) { - *param_1 = 0xba000e02; - param_1[1] = 0; - param_1[2] = 0xfd900000; - param_1[3] = param_4[5]; - param_1[5] = 0x7000000; - param_1[4] = 0xf5900000; - param_1[6] = 0xe6000000; - param_1[7] = 0; - param_1[8] = 0xf3000000; - uVar1 = param_4[3] + 7 & 0xf8; - uVar2 = ((int)(uVar1 * param_4[2] + 1) >> 1) - 1; - uVar5 = 0x7ff; - if ((int)uVar2 < 0x7ff) { - uVar5 = uVar2; - } - if (false) { - uVar1 += 7; - } - iVar3 = (int)uVar1 >> 3; - iVar6 = iVar3; - if (iVar3 == 0) { - iVar6 = 1; - } - if (iVar3 == 0) { - iVar3 = 1; - } - if (iVar3 == 0) { - trap(0x1c00); - } - if ((iVar3 == -1) && (iVar6 + 0x7ff == -0x80000000)) { - trap(0x1800); - } - param_1[9] = (iVar6 + 0x7ff) / iVar3 & 0xfffU | 0x7000000 | (uVar5 & 0xfff) << 0xc; - param_1[10] = 0xe7000000; - param_1[0xb] = 0; - param_1[0xc] = ((int)((param_4[3] + 7 & 0xf8) + 7) >> 3) << 9 | 0xf5880000; - param_1[0xd] = 0; - param_1[0xe] = 0xf2000000; - puVar7 = param_1 + 0x10; - param_1[0xf] = ((param_4[3] + 7 & 0xf8) - 1 & 0x3ff) << 0xe | (param_4[2] - 1) * 4 & 0xfff - ; - } - else { - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[3] = 0xc000; - param_1[2] = 0xba000e02; - puVar7 = param_1 + 4; - if (DAT_80040ed8 != 0) { - DAT_80040ed8 = 0; - *puVar7 = 0xfd100000; - uVar1 = osVirtualToPhysical((uint)&DAT_80040eec); - param_1[5] = uVar1; - param_1[6] = 0xe8000000; - param_1[7] = 0; - param_1[8] = 0xf5000100; - param_1[9] = 0x7000000; - param_1[10] = 0xe6000000; - param_1[0xb] = 0; - param_1[0xc] = 0xf0000000; - param_1[0xd] = 0x703c000; - param_1[0xe] = 0xe7000000; - param_1[0xf] = 0; - param_1[0x10] = 0xfd100000; - uVar1 = osVirtualToPhysical((uint)&DAT_80040f0c); - param_1[0x11] = uVar1; - param_1[0x12] = 0xe8000000; - param_1[0x13] = 0; - param_1[0x15] = 0x7000000; - param_1[0x14] = 0xf5000110; - param_1[0x16] = 0xe6000000; - param_1[0x17] = 0; - param_1[0x18] = 0xf0000000; - param_1[0x19] = 0x703c000; - param_1[0x1a] = 0xe7000000; - param_1[0x1b] = 0; - puVar7 = param_1 + 0x1c; - } - *puVar7 = 0xfd500000; - uVar1 = osVirtualToPhysical(param_4[5]); - puVar7[1] = uVar1; - puVar7[2] = 0xf5500000; - puVar7[3] = 0x7000000; - puVar7[4] = 0xe6000000; - puVar7[5] = 0; - puVar7[6] = 0xf3000000; - uVar1 = param_4[2] * 4 - 1; - if (0x7fe < (int)uVar1) { - uVar1 = 0x7ff; - } - puVar7[7] = (uVar1 & 0xfff) << 0xc | 0x7000800; - puVar7[8] = 0xe7000000; - puVar7[9] = 0; - puVar7[10] = 0xf5400200; - puVar7[0xb] = (*param_4 & 1) << 0x14 | 0x80200; - puVar7[0xc] = 0xf2000000; - puVar7[0xd] = (param_4[2] - 1) * 4 & 0xfff | 0x3c000; - puVar7 = puVar7 + 0xe; - } - iVar6 = *param_2 + param_4[3]; - if (iVar6 <= param_7 + param_9) { - iVar3 = param_4[1] + param_11; - if (iVar3 < param_8) { - if (param_8 <= (int)(iVar3 + param_4[2])) { - *puVar7 = (iVar6 * 4 + DAT_80040ec8 & 0xfffU) << 0xc | 0xe4000000 | - (iVar3 + param_4[2]) * 4 + DAT_80040ecc & 0xfff; - puVar7[1] = (*param_2 * 4 + DAT_80040ec8 & 0xfffU) << 0xc | - param_8 * 4 + DAT_80040ecc & 0xfffU; - puVar7[2] = 0xb4000000; - puVar7[3] = DAT_80040ed0 << 0x10 | - ((param_8 - param_11) - param_4[1]) * 0x20 + DAT_80040ed4 & 0xffff; - puVar7[4] = 0xb3000000; - puVar7[5] = 0x4000400; - puVar7 = puVar7 + 6; - } - } - else { - if (param_10 < (int)(iVar3 + param_4[2])) { - if (iVar3 <= param_10) { - *puVar7 = (iVar6 * 4 + DAT_80040ec8 & 0xfffU) << 0xc | 0xe4000000 | - param_10 + DAT_80040ecc & 0xfffU; - puVar7[1] = (*param_2 * 4 + DAT_80040ec8 & 0xfffU) << 0xc | - (param_11 + param_4[1]) * 4 + DAT_80040ecc & 0xfff; - puVar7[2] = 0xb4000000; - puVar7[3] = DAT_80040ed0 << 0x10 | DAT_80040ed4 & 0xffff; - puVar7[4] = 0xb3000000; - puVar7[5] = 0x4000400; - puVar7 = puVar7 + 6; - } - } - else { - if (DAT_80040eb8 == 0) { - *puVar7 = (iVar6 * 4 + DAT_80040ec8 & 0xfffU) << 0xc | 0xe4000000 | - (iVar3 + param_4[2]) * 4 + DAT_80040ecc & 0xfff; - puVar7[1] = (*param_2 * 4 + DAT_80040ec8 & 0xfffU) << 0xc | - (param_11 + param_4[1]) * 4 + DAT_80040ecc & 0xfff; - puVar7[2] = 0xb4000000; - puVar7[3] = DAT_80040ed0 << 0x10 | DAT_80040ed4 & 0xffff; - puVar7[4] = 0xb3000000; - puVar7[5] = 0x4000400; - puVar7 = puVar7 + 6; - } - else { - *puVar7 = iVar6 * 4 + DAT_80040ec8 & 0xfffU | 0xe5000000 | - ((param_11 - param_4[1]) * 4 + DAT_80040ecc & 0xfff) << 0xc; - puVar7[1] = *param_2 * 4 + DAT_80040ec8 & 0xfffU | - (((param_11 - param_4[1]) - param_4[2]) * 4 + DAT_80040ecc & 0xfff) << - 0xc; - puVar7[2] = 0xb4000000; - puVar7[3] = DAT_80040ed4 << 0x10 | (param_4[2] - 1) * 0x20 + DAT_80040ed0 & 0xffff; - puVar7[4] = 0xb3000000; - puVar7[5] = 0x400fc00; - puVar7 = puVar7 + 6; - } - } - } - } - } - } - } - *param_2 = *param_2 + param_4[3]; - return puVar7; -} - - - -uint * loc_7F0ADD78(undefined4 *param_1,int *param_2,int *param_3,byte *param_4,int param_5, - int param_6,uint param_7,int param_8,int param_9,int param_10,int param_11) - -{ - byte bVar1; - int iVar2; - uint *puVar3; - uint uVar4; - uint uVar5; - ulonglong uVar6; - int iVar7; - uint uStack60; - undefined4 uStack56; - undefined4 uStack52; - undefined4 uStack48; - undefined4 uStack44; - int iStack40; - int iStack8; - - DAT_80040ed8 = 1; - iStack8 = *param_3; - iVar2 = *param_2; - uVar6 = 0x48; - if (param_11 == 0) { - param_11 = *(int *)(param_5 + 0x88c) + *(int *)(param_5 + 0x890); - } - if ((DAT_80048500 != 0) && (param_11 < 0xe)) { - param_11 = 0xe; - } - *param_1 = 0xfa000000; - param_1[1] = param_7 & 0xff000000 | (param_7 >> 0x10 & 0xff) << 0x10 | (param_7 >> 8 & 0xff) << 8 - | param_7 & 0xff; - bVar1 = *param_4; - puVar3 = param_1 + 2; - if (bVar1 != 0) { - do { - if (bVar1 == 0x20) { - uVar6 = 0x48; - param_4 = param_4 + 1; - *param_2 = *param_2 + 5; - } - else { - if (bVar1 == 10) { - uVar6 = 0x48; - param_4 = param_4 + 1; - if (DAT_80040ec0 < 0) { - iVar7 = *param_3; -LAB_7f0ae7c4: - *param_3 = iVar7 + param_11; - } - else { - if (iVar2 != *param_2) { - iVar7 = *param_3; - goto LAB_7f0ae7c4; - } - *param_3 = *param_3 + DAT_80040ec0; - } - *param_2 = iVar2; - } - else { - if (bVar1 < 0x80) { - puVar3 = loc_7F0ADA94(puVar3,param_2,param_3, - (uint *)((uint)bVar1 * 0x18 + param_5 + -0x318), - (int)uVar6 * 0x18 + param_5 + -0x318,param_6,iVar2,iStack8,param_8 - ,param_9,param_10); - uVar6 = (ulonglong)*param_4; - param_4 = param_4 + 1; - } - else { - uVar5 = ((uint)bVar1 & 0x7f) << 7; - uStack56 = DAT_80040f30; - uVar4 = (uint)((ulonglong)param_4[1] & 0x7f) | uVar5; - uStack52 = DAT_80040f34; - uStack48 = DAT_80040f38; - uStack44 = DAT_80040f3c; - iStack40 = DAT_80040f40; - if (((longlong)(int)uVar5 & 0x2000U) != 0) { - uStack48 = 0xf; - uStack52 = 0x10; - } - if (((ulonglong)param_4[1] & 0x7f | (longlong)(int)uVar5 & 0x1fffU) < 0x3c8) { - uStack60 = uVar4 + 0x80; - } - else { - uVar4 = 2; - uStack60 = 0x82; - } - iStack40 = loc_7F0C1CF8(uVar4); - puVar3 = loc_7F0ADA94(puVar3,param_2,param_3,&uStack60,(int)&uStack60,param_6,iVar2, - iStack8,param_8,param_9,param_10); - param_4 = param_4 + 2; - } - } - } - bVar1 = *param_4; - } while (bVar1 != 0); - } - return puVar3; -} - - - -uint * loc_7F0AE418(uint *param_1,uint *param_2,int *param_3,uint *param_4,int param_5,int param_6, - int param_7,uint param_8,uint param_9,uint param_10,int param_11,int param_12, - int param_13) - -{ - uint uVar1; - short sVar5; - uint uVar2; - int iVar3; - uint *puVar4; - int iVar6; - uint uVar7; - - param_13 = *param_3 + param_13; - *param_2 = (*param_2 - - (*(int *)(param_6 + *(int *)(param_5 + 0x10) * 0x34 + param_4[4] * 4) + DAT_80040eb4)) - + 1; - if ((0 < (int)*param_2) && - (sVar5 = get_video2_settings_txtClipW(), (longlong)(int)*param_2 <= (longlong)sVar5)) { - sVar5 = get_video2_settings_txtClipH(); - iVar6 = param_13 + param_4[1]; - if (((longlong)iVar6 <= (longlong)sVar5) && - (((((int)*param_2 <= param_7 + param_11 && - ((longlong)iVar6 <= (longlong)(int)(param_8 + param_12))) && (param_7 <= (int)*param_2)) - && ((int)param_8 <= (int)(iVar6 + param_4[2]))))) { - if ((int)*param_4 < 0x80) { - *param_1 = 0xba000e02; - param_1[1] = 0; - param_1[2] = 0xfd900000; - param_1[3] = param_4[5]; - param_1[4] = 0xf5900000; - param_1[5] = 0x7000000; - param_1[6] = 0xe6000000; - param_1[7] = 0; - param_1[8] = 0xf3000000; - uVar1 = param_4[3] + 7 & 0xf8; - uVar2 = ((int)(uVar1 * param_4[2] + 1) >> 1) - 1; - uVar7 = 0x7ff; - if ((int)uVar2 < 0x7ff) { - uVar7 = uVar2; - } - if (false) { - uVar1 += 7; - } - iVar3 = (int)uVar1 >> 3; - iVar6 = iVar3; - if (iVar3 == 0) { - iVar6 = 1; - } - if (iVar3 == 0) { - iVar3 = 1; - } - param_1[9] = (iVar6 + 0x7ff) / iVar3 & 0xfffU | 0x7000000 | (uVar7 & 0xfff) << 0xc; - param_1[10] = 0xe7000000; - param_1[0xb] = 0; - if (iVar3 == 0) { - trap(0x1c00); - } - if ((iVar3 == -1) && (iVar6 + 0x7ff == -0x80000000)) { - trap(0x1800); - } - param_1[0xc] = ((int)((param_4[3] + 7 & 0xf8) + 7) >> 3) << 9 | 0xf5880000; - param_1[0xd] = 0; - param_1[0xe] = 0xf2000000; - puVar4 = param_1 + 0x10; - param_1[0xf] = ((param_4[3] + 7 & 0xf8) - 1 & 0x3ff) << 0xe | (param_4[2] - 1) * 4 & 0xfff; - } - else { - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[3] = 0xc000; - param_1[2] = 0xba000e02; - puVar4 = param_1 + 4; - if (DAT_80040ed8 != 0) { - DAT_80040ed8 = 0; - *puVar4 = 0xfd100000; - uVar1 = osVirtualToPhysical((uint)&DAT_80040eec); - param_1[5] = uVar1; - param_1[6] = 0xe8000000; - param_1[7] = 0; - param_1[9] = 0x7000000; - param_1[8] = 0xf5000100; - param_1[10] = 0xe6000000; - param_1[0xb] = 0; - param_1[0xc] = 0xf0000000; - param_1[0xd] = 0x703c000; - param_1[0xf] = 0; - param_1[0xe] = 0xe7000000; - param_1[0x10] = 0xfd100000; - uVar1 = osVirtualToPhysical((uint)&DAT_80040f0c); - param_1[0x11] = uVar1; - param_1[0x12] = 0xe8000000; - param_1[0x13] = 0; - param_1[0x14] = 0xf5000110; - param_1[0x15] = 0x7000000; - param_1[0x16] = 0xe6000000; - param_1[0x17] = 0; - param_1[0x18] = 0xf0000000; - param_1[0x19] = 0x703c000; - param_1[0x1b] = 0; - param_1[0x1a] = 0xe7000000; - puVar4 = param_1 + 0x1c; - } - *puVar4 = 0xfd500000; - uVar1 = osVirtualToPhysical(param_4[5]); - puVar4[1] = uVar1; - puVar4[2] = 0xf5500000; - puVar4[3] = 0x7000000; - puVar4[4] = 0xe6000000; - puVar4[5] = 0; - puVar4[6] = 0xf3000000; - uVar1 = param_4[2] * 4 - 1; - if (0x7fe < (int)uVar1) { - uVar1 = 0x7ff; - } - puVar4[7] = (uVar1 & 0xfff) << 0xc | 0x7000800; - puVar4[9] = 0; - puVar4[8] = 0xe7000000; - puVar4[10] = 0xf5400200; - puVar4[0xb] = (*param_4 & 1) << 0x14 | 0x80200; - puVar4[0xc] = 0xf2000000; - puVar4[0xd] = (param_4[2] - 1) * 4 & 0xfff | 0x3c000; - puVar4 = puVar4 + 0xe; - } - *puVar4 = 0xfa000000; - puVar4[1] = param_10 & 0xff000000 | (param_10 >> 0x10 & 0xff) << 0x10 | - (param_10 >> 8 & 0xff) << 8 | param_10 & 0xff; - puVar4 = puVar4 + 2; - iVar3 = -1; - uVar1 = *param_2; - iVar6 = -1; - while( true ) { - do { - if ((iVar3 != 0) || (iVar6 != 0)) { - puVar4 = locret_7F0AE6E4(puVar4,uVar1 + iVar3,param_13 + iVar6,(int)param_4,param_7, - param_8,param_11,param_12); - uVar1 = *param_2; - } - iVar6 += 1; - } while (iVar6 != 2); - iVar3 += 1; - if (iVar3 == 2) break; - iVar6 = -1; - } - *puVar4 = 0xfa000000; - puVar4[1] = param_9 & 0xff000000 | (param_9 >> 0x10 & 0xff) << 0x10 | - (param_9 >> 8 & 0xff) << 8 | param_9 & 0xff; - param_1 = locret_7F0AE6E4(puVar4 + 2,uVar1,param_13,(int)param_4,param_7,param_8,param_11, - param_12); - } - } - *param_2 = *param_2 + param_4[3]; - return param_1; -} - - - -uint * locret_7F0AE6E4(uint *param_1,uint param_2,int param_3,int param_4,int param_5,uint param_6, - int param_7,int param_8) - -{ - uint uVar1; - int iVar2; - int iVar3; - - uVar1 = *(int *)(param_4 + 0xc) + param_2; - if ((int)uVar1 <= param_5 + param_7) { - iVar2 = *(int *)(param_4 + 4) + param_3; - if (iVar2 < (int)param_6) { - iVar2 += *(int *)(param_4 + 8); - if ((int)param_6 <= iVar2) { - *param_1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | iVar2 * 4 & 0xfffU; - param_1[1] = (param_2 & 0x3ff) << 0xe | (param_6 & 0x3ff) << 2; - param_1[2] = 0xb4000000; - param_1[3] = ((param_6 - *(int *)(param_4 + 4)) - param_3 & 0x7ff) << 5; - param_1[4] = 0xb3000000; - param_1[5] = 0x4000400; - param_1 = param_1 + 6; - } - } - else { - param_8 = param_6 + param_8; - iVar3 = iVar2 + *(int *)(param_4 + 8); - if (iVar3 <= param_8) { - if (DAT_80040eb8 != 0) { - *param_1 = (param_3 - *(int *)(param_4 + 4) & 0x3ffU) << 0xe | 0xe5000000 | - uVar1 * 4 & 0xfff; - param_1[1] = ((param_3 - *(int *)(param_4 + 4)) - *(int *)(param_4 + 8) & 0x3ffU) << 0xe | - (param_2 & 0x3ff) << 2; - param_1[2] = 0xb4000000; - param_1[3] = (*(int *)(param_4 + 8) - 1U & 0x7ff) << 5; - param_1[4] = 0xb3000000; - param_1[5] = 0x400fc00; - return param_1 + 6; - } - *param_1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | iVar3 * 4 & 0xfffU; - param_1[1] = (param_2 & 0x3ff) << 0xe | (param_3 + *(int *)(param_4 + 4)) * 4 & 0xfffU; - param_1[2] = 0xb4000000; - param_1[3] = 0; - param_1[4] = 0xb3000000; - param_1[5] = 0x4000400; - return param_1 + 6; - } - if (iVar2 <= param_8) { - *param_1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | param_8 * 4 & 0xfffU; - param_1[1] = (param_2 & 0x3ff) << 0xe | (param_3 + *(int *)(param_4 + 4)) * 4 & 0xfffU; - param_1[2] = 0xb4000000; - param_1[3] = 0; - param_1[4] = 0xb3000000; - param_1[5] = 0x4000400; - return param_1 + 6; - } - } - } - return param_1; -} - - - -uint * loc_7F0AE958(uint *param_1,uint *param_2,uint *param_3,byte *param_4,int param_5,int param_6, - uint param_7,uint param_8,int param_9,int param_10,int param_11,int param_12) - -{ - byte bVar1; - uint uVar2; - uint uVar3; - uint uVar4; - ulonglong uVar5; - uint uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - int iStack16; - uint uStack8; - - DAT_80040ed8 = 1; - uStack8 = *param_3; - uVar2 = *param_2; - uVar5 = 0x48; - if (param_12 == 0) { - param_12 = *(int *)(param_5 + 0x88c) + *(int *)(param_5 + 0x890); - } - if ((DAT_80048500 != 0) && (param_12 < 0xe)) { - param_12 = 0xe; - } - bVar1 = *param_4; - while (bVar1 != 0) { - if (bVar1 == 0x20) { - uVar5 = 0x48; - param_4 = param_4 + 1; - *param_2 = *param_2 + 5; - } - else { - if (bVar1 == 10) { - *param_2 = uVar2; - uVar5 = 0x48; - param_4 = param_4 + 1; - *param_3 = *param_3 + param_12; - } - else { - if (bVar1 < 0x80) { - param_1 = loc_7F0AE418(param_1,param_2,(int *)param_3, - (uint *)((uint)bVar1 * 0x18 + param_5 + -0x318), - (int)uVar5 * 0x18 + param_5 + -0x318,param_6,uVar2,uStack8,param_7, - param_8,param_9,param_10,param_11); - uVar5 = (ulonglong)*param_4; - param_4 = param_4 + 1; - } - else { - uVar4 = ((uint)bVar1 & 0x7f) << 7; - uVar3 = (uint)((ulonglong)param_4[1] & 0x7f) | uVar4; - uStack28 = DAT_80040f4c; - uStack24 = DAT_80040f50; - if (((longlong)(int)uVar4 & 0x2000U) != 0) { - uStack24 = 0xf; - uStack28 = 0x10; - } - if (((ulonglong)param_4[1] & 0x7f | (longlong)(int)uVar4 & 0x1fffU) < 0x3c8) { - uStack36 = uVar3 + 0x80; - } - else { - uVar3 = 2; - uStack36 = 0x82; - } - uStack32 = DAT_80040f48; - uStack20 = DAT_80040f54; - iStack16 = DAT_80040f58; - iStack16 = loc_7F0C1CF8(uVar3); - param_1 = loc_7F0AE418(param_1,param_2,(int *)param_3,&uStack36,(int)&uStack36,param_6, - uVar2,uStack8,param_7,param_8,param_9,param_10,param_11); - param_4 = param_4 + 2; - } - } - } - bVar1 = *param_4; - } - return param_1; -} - - - -void loc_7F0AEB50(int *param_1,int *param_2,byte *param_3,int param_4,int *param_5,int param_6) - -{ - byte bVar1; - ulonglong uVar2; - byte *pbVar3; - int iVar4; - int iVar5; - - *param_1 = 0; - uVar2 = 0x48; - iVar4 = 0; - *param_2 = 0; - if (param_6 == 0) { - param_6 = *(int *)(param_4 + 0x890) + *(int *)(param_4 + 0x88c); - } - if (DAT_80048500 != 0) { - if (0xd < param_6) { - bVar1 = *param_3; - goto joined_r0x7f0af5a4; - } - param_6 = 0xe; - } - bVar1 = *param_3; -joined_r0x7f0af5a4: - while (bVar1 != 0) { - if (bVar1 == 0x20) { - uVar2 = 0x48; - if (param_3[1] != 10) { - *param_2 = *param_2 + 5; - } - pbVar3 = param_3 + 1; - } - else { - if (bVar1 == 10) { - iVar5 = *param_2; - if (iVar4 < iVar5) { - *param_2 = 0; - } - else { - *param_2 = 0; - iVar5 = iVar4; - } - pbVar3 = param_3 + 1; - *param_1 = *param_1 + param_6; - iVar4 = iVar5; - } - else { - if (bVar1 < 0x80) { - pbVar3 = param_3 + 1; - iVar5 = param_4 + (uint)bVar1 * 0x18; - *param_2 = (*param_2 + *(int *)(iVar5 + -0x30c)) - - (param_5[*(int *)(iVar5 + -0x308) + - *(int *)(param_4 + (int)uVar2 * 0x18 + -0x308) * 0xd] + DAT_80040eb4 + - -1); - uVar2 = (ulonglong)*param_3; - } - else { - if (bVar1 < 0xc0) { - pbVar3 = param_3 + 2; - *param_2 = (*param_2 - (*param_5 + DAT_80040eb4 + -1)) + 0xb; - } - else { - pbVar3 = param_3 + 2; - *param_2 = (*param_2 - (*param_5 + DAT_80040eb4 + -1)) + 0xf; - } - } - } - } - bVar1 = *pbVar3; - param_3 = pbVar3; - } - if (*param_2 < iVar4) { - *param_2 = iVar4; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0af99c) overlaps instruction at (ram,0x7f0af998) -// - -void loc_7F0AEEE0(int param_1,byte *param_2,byte *param_3,int param_4,int *param_5) - -{ - byte bVar1; - bool bVar2; - byte *pbVar3; - byte *pbVar4; - int iVar5; - uint uVar6; - byte *pbVar7; - uint uVar8; - byte abStack68 [44]; - int iStack24; - int iStack20; - int aiStack16 [3]; - int iStack4; - - iStack4 = 0; - iStack20 = 0; - iStack24 = 1; - do { - aiStack16[0] = 0; - bVar1 = *param_2; - uVar8 = 0; - if (0x20 < bVar1) { - pbVar3 = abStack68; - uVar6 = uVar8; - while( true ) { - uVar8 = uVar6 + 1; - pbVar7 = pbVar3 + 1; - pbVar4 = param_2 + 1; - if (0x7f < *pbVar3) { - uVar8 = uVar6 + 2; - pbVar3[1] = param_2[1]; - pbVar7 = pbVar3 + 2; - pbVar4 = param_2 + 2; - } - param_2 = pbVar4; - pbVar3 = pbVar7; - abStack68[0] = bVar1; - if (*param_2 < 0x21) break; - *pbVar3 = *param_2; - uVar6 = uVar8; - } - } - abStack68[uVar8] = 0; - loc_7F0AEB50(&iStack20,aiStack16,abStack68,param_4,param_5,0); - iStack4 += aiStack16[0]; - bVar2 = param_1 < iStack4; - bVar1 = *param_2; - if (bVar1 == 10) { - iVar5 = 0; - if (bVar2) { - *param_3 = 10; - param_3 = param_3 + 1; - if (0 < DAT_80040ebc) { - *param_3 = 0x20; - while( true ) { - iVar5 += 1; - param_3 = param_3 + 1; - if (DAT_80040ebc <= iVar5) break; - *param_3 = 0x20; - } - } - } - uVar6 = 0; - iStack4 = 0; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = param_3; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - param_3 = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = param_3; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0af904; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = param_3; - do { - pbVar4 = pbVar3 + 4; - param_3 = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = param_3; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0af904: - *param_3 = 10; - param_3 = param_3 + 1; - } - else { - if (bVar1 == 0x20) { - iVar5 = 0; - if (bVar2) { - *param_3 = 10; - param_3 = param_3 + 1; - if (0 < DAT_80040ebc) { - *param_3 = 0x20; - while( true ) { - iVar5 += 1; - param_3 = param_3 + 1; - if (DAT_80040ebc <= iVar5) break; - *param_3 = 0x20; - } - } - iStack4 = DAT_80040ebc * 5 + aiStack16[0]; - } - uVar6 = 0; - iStack4 += 5; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = param_3; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - param_3 = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = param_3; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0af9d4; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = param_3; - do { - pbVar4 = pbVar3 + 4; - param_3 = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = param_3; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0af9d4: - *param_3 = 0x20; - param_3 = param_3 + 1; - } - else { - iVar5 = 0; - if (bVar1 == 0) { - iStack24 = 0; - if (bVar2) { - *param_3 = 10; - param_3 = param_3 + 1; - if (0 < DAT_80040ebc) { - *param_3 = 0x20; - while( true ) { - iVar5 += 1; - param_3 = param_3 + 1; - if (DAT_80040ebc <= iVar5) break; - *param_3 = 0x20; - } - } - } - uVar6 = 0; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = param_3; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - param_3 = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = param_3; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0afa8c; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = param_3; - do { - pbVar4 = pbVar3 + 4; - param_3 = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = param_3; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0afa8c: - *param_3 = 0; - } - } - } - param_2 = param_2 + 1; - if (iStack24 != 1) { - return; - } - } while( true ); -} - - - -int FUN_7f0afaec(ushort *param_1) - -{ - int iVar1; - - iVar1 = DAT_80040fdc * 9 + -0x7ffbf06c; - DAT_80040fdc = DAT_80040fdc + 1 & 7; - sprintf(iVar1,(byte *)s__c_d_c_c_800585e0,((int)(uint)*param_1 >> 0xf) + 0x70, - (uint)*param_1 & 0x7fff); - return iVar1; -} - - - -int FUN_7f0afb90(ushort *param_1) - -{ - int iVar1; - - iVar1 = FUN_7f0afaec(param_1); - return iVar1; -} - - - -void FUN_7f0afbbc(void) - -{ - loc_70004E88(&DAT_80040f70,(byte *)s_stan_c_debug_800585ec); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0afbe8(void) - -{ - byte bVar1; - undefined4 *puVar2; - int iVar3; - int *piVar4; - ulonglong uVar5; - ulonglong uVar6; - ulonglong uVar7; - uint uVar8; - short sVar9; - int *piVar10; - int iVar11; - int *piVar12; - short *psVar13; - short sVar14; - - _DAT_8007ba4c = 0; - _DAT_8007b198 = 0; - _DAT_8007b19c = 0; - uVar6 = 0xff; - _DAT_8007b1a0 = 0; - puVar2 = (undefined4 *)&DAT_8007b1a4; - do { - puVar2 = puVar2 + 4; - *puVar2 = 0; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)0x8007b3c4); - piVar4 = *(int **)(_DAT_8007b190 + 4); - if (*piVar4 != 0) { - bVar1 = *(byte *)((int)piVar4 + 3); - uVar5 = 0xff; - while( true ) { - uVar7 = (ulonglong)bVar1; - iVar3 = 0; - if (uVar5 == uVar7) { - sVar9 = *(short *)((int)piVar4 + 6); - uVar7 = uVar5; - } - else { - if ((longlong)_DAT_8007ba4c <= (longlong)uVar7) { - _DAT_8007ba4c = (uint)bVar1 + 1; - } - iVar11 = (uint)bVar1 * 0xc; - *(int **)(&DAT_8007b198 + (uint)bVar1 * 4) = piVar4; - *(undefined2 *)(&DAT_8007b3cc + iVar11) = 0x7fff; - *(undefined2 *)(&DAT_8007b3d2 + iVar11) = 0x8000; - *(undefined2 *)(&DAT_8007b3ca + iVar11) = *(undefined2 *)(&DAT_8007b3cc + iVar11); - *(undefined2 *)(&DAT_8007b3c8 + iVar11) = *(undefined2 *)(&DAT_8007b3cc + iVar11); - *(undefined2 *)(&DAT_8007b3d0 + iVar11) = *(undefined2 *)(&DAT_8007b3d2 + iVar11); - *(undefined2 *)(&DAT_8007b3ce + iVar11) = *(undefined2 *)(&DAT_8007b3d2 + iVar11); - sVar9 = *(short *)((int)piVar4 + 6); - uVar6 = uVar7; - } - uVar8 = (int)sVar9 >> 0xc & 0xf; - if (uVar8 != 0) { - piVar10 = piVar4; - do { - iVar11 = 0; - psVar13 = (short *)(&DAT_8007b3c8 + (int)uVar6 * 0xc); - piVar12 = piVar10; - do { - sVar9 = *(short *)(piVar12 + 2); - iVar11 += 2; - if (sVar9 < *psVar13) { - *psVar13 = sVar9; - sVar9 = *(short *)(piVar12 + 2); - sVar14 = psVar13[3]; - } - else { - sVar14 = psVar13[3]; - } - piVar12 = (int *)((int)piVar12 + 2); - if (sVar14 < sVar9) { - psVar13[3] = sVar9; - } - psVar13 = psVar13 + 1; - } while (iVar11 != 6); - iVar3 += 1; - piVar10 = piVar10 + 2; - uVar8 = (int)*(short *)((int)piVar4 + 6) >> 0xc & 0xf; - } while (iVar3 < (int)uVar8); - } - piVar4 = (int *)((uint)(byte)s___08_HPX_80040f7c[uVar8] + (int)piVar4); - if (*piVar4 == 0) break; - bVar1 = *(byte *)((int)piVar4 + 3); - uVar5 = uVar7; - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0b0078) overlaps instruction at (ram,0x7f0b0074) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f0afdbc(float *param_1,byte *param_2,float *param_3) - -{ - byte bVar1; - int *piVar2; - byte *pbVar4; - ulonglong uVar3; - longlong lVar5; - int iVar6; - int *piVar7; - ulonglong uVar8; - float fVar9; - float fVar10; - int **ppiStack88; - float afStack76 [2]; - float fStack68; - int iStack64; - int *piStack44; - int *apiStack40 [3]; - short sStack28; - short sStack26; - short sStack24; - float fStack16; - float fStack12; - float fStack8; - - piStack44 = NULL; - fStack16 = *param_1 * DAT_80040f74; - fStack12 = param_1[1] * DAT_80040f74; - fStack8 = param_1[2] * DAT_80040f74; - if (DAT_8005860c < fStack12) { - fStack12 = DAT_8005860c; - } - uVar8 = 0; - fVar9 = DAT_80058614; - if (DAT_80058614 <= fStack12) { - fVar9 = fStack12; - } - lVar5 = (longlong)_DAT_8007ba4c; - sStack24 = (short)(int)fStack8; - sStack26 = (short)(int)fVar9; - sStack28 = (short)(int)fStack16; - fVar10 = DAT_80058610; - if (0 < lVar5) { - ppiStack88 = (int **)&DAT_8007b198; - fVar10 = DAT_80058610; - fStack12 = fVar9; - do { - piVar7 = *ppiStack88; - iVar6 = (int)uVar8 * 0xc; - if (((((piVar7 != NULL) && (*(short *)(&DAT_8007b3c8 + iVar6) <= sStack28)) && - (sStack28 <= *(short *)(&DAT_8007b3ce + iVar6))) && - ((*(short *)(&DAT_8007b3cc + iVar6) <= sStack24 && - (sStack24 <= *(short *)(&DAT_8007b3d2 + iVar6))))) && - (*(short *)(&DAT_8007b3ca + iVar6) <= sStack26)) { - if (param_2 == NULL) { - iVar6 = *piVar7; -LAB_7f0affcc: - if (iVar6 != 0) { - bVar1 = *(byte *)((int)piVar7 + 3); - while (uVar8 == (ulonglong)bVar1) { - lVar5 = 0; - do { - fVar9 = fStack16; - loc_7F0AFFC0((int)piVar7,lVar5,fStack16,fStack8); - lVar5 = (longlong)((int)lVar5 + 1); - if (fVar9 < -2.00000000) { - iVar6 = (int)*(short *)((int)piVar7 + 6); - goto LAB_7f0b00b8; - } - if (fVar9 < 2.00000000) { - iStack64 = 1; - } - } while (lVar5 != 3); - uVar3 = sub_7F0AF760((int)piVar7); - if (uVar3 == 0) { - if (iStack64 == 0) { -code_r0x7f0b007c: - fVar9 = (float)FUN_7f0b3520(piVar7,*param_1,param_1[2]); - if (param_1[1] < fVar9) { - iVar6 = (int)*(short *)((int)piVar7 + 6); - } - else { - piVar2 = piVar7; - if (fVar10 < fVar9) goto LAB_7f0b00b4; - iVar6 = (int)*(short *)((int)piVar7 + 6); - } - } - else { - sub_7F0AF924((int)piVar7,afStack76); - apiStack40[0] = piVar7; - lVar5 = sub_7F0B0BE4((int *)apiStack40,afStack76[0],fStack68,*param_1,param_1[2]); - fVar9 = fVar10; - piVar2 = piStack44; - if ((lVar5 != 0) && (fVar9 = fVar10, piVar2 = piStack44, apiStack40[0] == piVar7)) - goto code_r0x7f0b007c; -LAB_7f0b00b4: - piStack44 = piVar2; - iVar6 = (int)*(short *)((int)piVar7 + 6); - fVar10 = fVar9; - } - } - else { - iVar6 = (int)*(short *)((int)piVar7 + 6); - } -LAB_7f0b00b8: - piVar7 = (int *)((uint)(byte)s___08_HPX_80040f7c[iVar6 >> 0xc & 0xf] + (int)piVar7); - if (*piVar7 == 0) break; - bVar1 = *(byte *)((int)piVar7 + 3); - } - } - lVar5 = (longlong)_DAT_8007ba4c; - } - else { - iVar6 = 0; - if (*param_2 != 0xff) { - bVar1 = *param_2; - pbVar4 = param_2; - do { - if (uVar8 == (ulonglong)bVar1) { - iVar6 = *piVar7; - goto LAB_7f0affcc; - } - bVar1 = pbVar4[1]; - iVar6 += 1; - pbVar4 = pbVar4 + 1; - } while ((bVar1 != 0xff) && (iVar6 != 4)); - } - } - } - uVar8 = SEXT48((int)uVar8 + 1); - ppiStack88 = ppiStack88 + 1; - } while ((longlong)uVar8 < lVar5); - } - if ((piStack44 != NULL) && (param_3 != NULL)) { - *param_3 = fVar10; - } - return piStack44; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b0168(int param_1) - -{ - byte *pbVar1; - - DAT_80040fe0 = 1; - DAT_80040f88 = *(int *)(param_1 + 4) + -0x80; - _DAT_8007b190 = param_1; - pbVar1 = loc_7000A740(1,(byte *)s__stanlinelog_800585fc); - if (pbVar1 != NULL) { - DAT_80040fe4 = 1; - } - FUN_7f0afbe8(); - FUN_7f0b3500(1.00000000); - return; -} - - - -void FUN_7f0b01e0(void) - -{ - return; -} - - - -int loc_7F0AF728(ushort *param_1,uint param_2,ushort **param_3) - -{ - ushort *puVar1; - bool bVar2; - ulonglong uVar3; - ushort *puVar4; - ushort *puVar5; - uint uVar6; - int iVar7; - int iVar8; - ushort **ppuVar9; - int iVar10; - - iVar10 = 0; - *param_3 = param_1; - iVar8 = 1; - ppuVar9 = param_3 + 1; - puVar1 = *param_3; - while( true ) { - iVar8 += -1; - ppuVar9 = ppuVar9 + -1; - iVar7 = 0; - if ((param_2 & 0xff) != (int)(uint)*puVar1 >> 0xf) { - *puVar1 = *puVar1 ^ 0x8000; - uVar3 = sub_7F0AF760((int)puVar1); - if (uVar3 == 0) { - iVar10 += 1; - } - uVar6 = (int)(short)puVar1[3] >> 0xc & 0xf; - puVar5 = puVar1; - if (uVar6 != 0) { - do { - iVar7 += 1; - if ((int)(uint)puVar5[7] >> 4 == 0) { - bVar2 = iVar7 < (int)uVar6; - } - else { - puVar4 = (ushort *)((uint)puVar5[7] * 8 + DAT_80040f88); - if ((param_2 & 0xff) == (int)(uint)*puVar4 >> 0xf) { - bVar2 = iVar7 < (int)uVar6; - } - else { - *ppuVar9 = puVar4; - iVar8 += 1; - ppuVar9 = ppuVar9 + 1; - uVar6 = (int)(short)puVar1[3] >> 0xc & 0xf; - bVar2 = iVar7 < (int)uVar6; - } - } - puVar5 = puVar5 + 4; - } while (bVar2); - } - } - if (iVar8 == 0) break; - puVar1 = ppuVar9[-1]; - } - return iVar10; -} - - - -ulonglong sub_7F0AF760(int param_1) - -{ - short sVar1; - int iVar2; - int iVar3; - - sVar1 = *(short *)(param_1 + 6); - iVar3 = param_1 + ((int)sVar1 >> 8 & 0xfU) * 8; - iVar2 = param_1 + ((int)sVar1 >> 4 & 0xfU) * 8; - param_1 += ((int)sVar1 & 0xfU) * 8; - return (ulonglong) - (((int)*(short *)(iVar2 + 0xc) - (int)*(short *)(iVar3 + 0xc)) * - ((int)*(short *)(param_1 + 8) - (int)*(short *)(iVar3 + 8)) - - ((int)*(short *)(param_1 + 0xc) - (int)*(short *)(iVar3 + 0xc)) * - ((int)*(short *)(iVar2 + 8) - (int)*(short *)(iVar3 + 8)) == 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * FUN_7f0b03b8(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6) - -{ - ulonglong uVar1; - int iVar3; - longlong lVar2; - int *piVar4; - float fVar5; - int *apiStack8 [2]; - - piVar4 = *(int **)(_DAT_8007b190 + 4); - if (*piVar4 != 0) { - do { - apiStack8[0] = piVar4; - uVar1 = sub_7F0AF760((int)piVar4); - if (uVar1 == 0) { - lVar2 = FUN_7f0b0f1c(piVar4,param_1,param_5); - if (lVar2 == 0) { - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - else { - lVar2 = sub_7F0B20D0((int *)apiStack8,param_1,param_5,param_6); - if (lVar2 == 0) { - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - else { - if (piVar4 == apiStack8[0]) { - fVar5 = (float)FUN_7f0b3520(piVar4,param_1,param_5); - if (fVar5 < param_2) { - return piVar4; - } - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - else { - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - } - } - } - else { - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - piVar4 = (int *)((uint)(byte)s___08_HPX_80040f7c[iVar3 >> 0xc & 0xf] + (int)piVar4); - } while (*piVar4 != 0); - } - return NULL; -} - - - -void sub_7F0AF924(int param_1,float *param_2) - -{ - short sVar1; - int iVar2; - int iVar3; - - sVar1 = *(short *)(param_1 + 6); - iVar3 = param_1 + ((int)sVar1 >> 4 & 0xfU) * 8; - iVar2 = param_1 + ((int)sVar1 >> 8 & 0xfU) * 8; - param_1 += ((int)sVar1 & 0xfU) * 8; - *param_2 = (((float)(int)*(short *)(param_1 + 8) + - (float)(int)*(short *)(iVar2 + 8) + (float)(int)*(short *)(iVar3 + 8)) / 3.00000000) * - DAT_80040f78; - param_2[1] = (((float)(int)*(short *)(param_1 + 10) + - (float)(int)*(short *)(iVar2 + 10) + (float)(int)*(short *)(iVar3 + 10)) / - 3.00000000) * DAT_80040f78; - param_2[2] = (((float)(int)*(short *)(param_1 + 0xc) + - (float)(int)*(short *)(iVar2 + 0xc) + (float)(int)*(short *)(iVar3 + 0xc)) / - 3.00000000) * DAT_80040f78; - return; -} - - - -void sub_7F0AFA1C(int param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - float fVar2; - int iVar3; - float fStack12; - float fStack8; - float fStack4; - - iVar3 = param_1 + ((int)*(short *)(param_1 + 6) >> ((int)param_2 * -4 + 8U & 0x1f) & 0xfU) * 8; - *param_3 = (float)(int)*(short *)(iVar3 + 8) * DAT_80040f78; - param_3[1] = (float)(int)*(short *)(iVar3 + 10) * DAT_80040f78; - param_3[2] = (float)(int)*(short *)(iVar3 + 0xc) * DAT_80040f78; - sub_7F0AF924(param_1,&fStack12); - fVar2 = DAT_8005861c; - fVar1 = DAT_80058618; - *param_3 = fStack12 * DAT_80058618 + DAT_8005861c * *param_3; - param_3[1] = fStack8 * fVar1 + fVar2 * param_3[1]; - param_3[2] = fStack4 * fVar1 + fVar2 * param_3[2]; - return; -} - - - -float sub_7F0AFB1C(float *param_1,float *param_2) - -{ - return (param_2[2] - param_1[2]) * (param_2[2] - param_1[2]) + - (*param_2 - *param_1) * (*param_2 - *param_1) + - (param_2[1] - param_1[1]) * (param_2[1] - param_1[1]); -} - - - -// WARNING: Could not reconcile some variable overlaps -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * loc_7F0AFCE0(float *param_1,undefined4 *param_2,float *param_3,float param_4) - -{ - ushort uVar1; - longlong lVar2; - ulonglong uVar3; - undefined4 in_v1_hi; - longlong lVar4; - int *piVar5; - float fVar6; - float fVar7; - float fStack48; - undefined4 uStack44; - float fStack40; - float fStack36; - undefined4 uStack32; - float fStack28; - undefined4 uStack16; - int *apiStack12 [3]; - - uStack16 = NULL; - uStack16._3_1_ = 0; - fStack36 = *param_1; - uStack32 = *param_2; - fStack28 = *param_3; - fVar7 = 4294967296.00000000; - piVar5 = *(int **)(_DAT_8007b190 + 4); - if (*piVar5 != 0) { - uVar1 = *(ushort *)piVar5; - while( true ) { - if ((int)(uint)uVar1 >> 0xf == 1) { - uVar1 = *(ushort *)((int)piVar5 + 6); - } - else { - uVar3 = sub_7F0AF760((int)piVar5); - lVar4 = 0; - if (uVar3 == 0) { - do { - if (lVar4 == 3) { - sub_7F0AF924((int)piVar5,&fStack48); - } - else { - sub_7F0AFA1C((int)piVar5,lVar4,&fStack48); - } - apiStack12[0] = piVar5; - lVar2 = sub_7F0B20D0((int *)apiStack12,fStack48,fStack40,param_4); - if ((lVar2 < 0) && (fVar6 = sub_7F0AFB1C(&fStack48,&fStack36), fVar6 < fVar7)) { - *param_1 = fStack48; - *param_2 = uStack44; - *param_3 = fStack40; - fVar7 = fVar6; - uStack16 = piVar5; - } - lVar4 = (longlong)((int)lVar4 + 1); - } while (lVar4 != 4); - } - uVar1 = *(ushort *)((int)piVar5 + 6); - } - piVar5 = (int *)((uint)(byte)s___08_HPX_80040f7c[(int)(short)uVar1 >> 0xc & 0xf] + (int)piVar5 - ); - if (*piVar5 == 0) break; - uVar1 = *(ushort *)piVar5; - } - } - return (int *)CONCAT13((undefined)uStack16,(int3)((uint)in_v1_hi >> 8)); -} - - - -float loc_7F0AFE64(int param_1,int param_2,float param_3,float param_4) - -{ - int iVar1; - unkfloat1 Var2; - uint uVar3; - float fVar4; - float fVar5; - - uVar3 = (int)*(short *)(param_1 + 6) >> 0xc & 0xf; - iVar1 = param_1 + ((param_2 + 1) % uVar3) * 8; - param_1 += param_2 * 8; - fVar4 = (float)((int)*(short *)(iVar1 + 8) - (int)*(short *)(param_1 + 8)); - if (uVar3 == 0) { - trap(0x1c00); - } - if ((uVar3 == 0xffffffff) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar5 = (float)((int)*(short *)(iVar1 + 0xc) - (int)*(short *)(param_1 + 0xc)); - fVar4 = sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - Var2 = (unkfloat1)iVar1; - if (fVar4 == 0.00000000) { - param_3 = param_3 - (float)(int)*(short *)(iVar1 + 8); - param_4 = param_4 - (float)(int)*(short *)(iVar1 + 0xc); - sqrtf(param_3 * param_3 + param_4 * param_4); - } - return (float)Var2; -} - - - -float loc_7F0AFFC0(int param_1,longlong param_2,float param_3,float param_4) - -{ - short sVar1; - unkfloat1 Var2; - int iVar3; - int iVar4; - float fVar5; - float fVar6; - - if (param_2 == 2) { - iVar3 = 0; - } - else { - iVar3 = (int)param_2 + 1; - } - sVar1 = *(short *)(param_1 + 6); - Var2 = (unkfloat1)sVar1; - iVar4 = param_1 + ((int)sVar1 >> ((int)param_2 * -4 + 8U & 0x1f) & 0xfU) * 8; - param_1 += ((int)sVar1 >> (iVar3 * -4 + 8U & 0x1f) & 0xfU) * 8; - fVar5 = (float)((int)*(short *)(param_1 + 8) - (int)*(short *)(iVar4 + 8)); - fVar6 = (float)((int)*(short *)(param_1 + 0xc) - (int)*(short *)(iVar4 + 0xc)); - fVar5 = sqrtf(fVar5 * fVar5 + fVar6 * fVar6); - if (fVar5 == 0.00000000) { - param_3 = param_3 - (float)(int)*(short *)(param_1 + 8); - param_4 = param_4 - (float)(int)*(short *)(param_1 + 0xc); - sqrtf(param_3 * param_3 + param_4 * param_4); - } - return (float)Var2; -} - - - -unkfloat1 FUN_7f0b0bc8(int param_1,longlong param_2,float param_3,float param_4) - -{ - float fVar1; - - fVar1 = loc_7F0AFFC0(param_1,param_2,param_3 * DAT_80040f74,param_4 * DAT_80040f74); - return (unkfloat1)fVar1; -} - - - -void sub_7F0B0064(int param_1,int param_2,float param_3,float param_4) - -{ - param_1 += param_2 * 8; - param_4 = param_4 - (float)(int)*(short *)(param_1 + 0xc); - param_3 = param_3 - (float)(int)*(short *)(param_1 + 8); - sqrtf(param_3 * param_3 + param_4 * param_4); - return; -} - - - -float sub_7F0B00C4(int param_1,int param_2,float param_3,float param_4) - -{ - unkfloat1 Var1; - float fVar2; - float fVar3; - - param_1 += param_2 * 8; - Var1 = (unkfloat1)param_1; - fVar2 = param_3 * DAT_80040f74 - (float)(int)*(short *)(param_1 + 8); - fVar3 = param_4 * DAT_80040f74 - (float)(int)*(short *)(param_1 + 0xc); - sqrtf(fVar2 * fVar2 + fVar3 * fVar3); - return (float)Var1; -} - - - -ulonglong locret_7F0B02D0(int param_1,int param_2,float param_3,float param_4) - -{ - bool bVar1; - int iVar2; - undefined7 in_register_00000018; - uint uVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - uVar3 = (int)*(short *)(param_1 + 6) >> 0xc & 0xf; - iVar2 = param_1 + param_2 * 8; - param_1 += ((param_2 + 1) % uVar3) * 8; - fVar4 = (float)(int)*(short *)(iVar2 + 8); - fVar5 = (float)(int)*(short *)(iVar2 + 0xc); - if (uVar3 == 0) { - trap(0x1c00); - } - if ((uVar3 == 0xffffffff) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar7 = (float)(int)*(short *)(param_1 + 8) - fVar4; - fVar8 = (float)(int)*(short *)(param_1 + 0xc) - fVar5; - fVar6 = fVar7 * fVar7 + fVar8 * fVar8; - fVar4 = (param_3 - fVar4) * fVar7 + (param_4 - fVar5) * fVar8; - if ((((fVar4 <= fVar6) || (bVar1 = fVar4 < 0.00000000, !bVar1)) && - (bVar1 = 0.00000000 < fVar4, bVar1)) && (bVar1 = false, fVar4 < fVar6)) { - bVar1 = true; - } - return CONCAT17(bVar1,in_register_00000018); -} - - - -undefined8 FUN_7f0b0e88(int iParm1,float fParm2,float fParm3) - -{ - longlong lVar1; - float in_f0; - - lVar1 = 0; - do { - loc_7F0AFFC0(iParm1,lVar1,fParm2,fParm3); - lVar1 = (longlong)((int)lVar1 + 1); - if (in_f0 < 0.00000000) { - return 0; - } - } while (lVar1 != 3); - return 1; -} - - - -undefined8 FUN_7f0b0f1c(int iParm1,float fParm2,float fParm3) - -{ - longlong lVar1; - float in_f0; - - lVar1 = 0; - do { - FUN_7f0b0bc8(iParm1,lVar1,fParm2,fParm3); - lVar1 = (longlong)((int)lVar1 + 1); - if (in_f0 < 0.00000000) { - return 0; - } - } while (lVar1 != 3); - return 1; -} - - - -float locret_7F0B0510(int param_1,longlong param_2,float param_3,float param_4) - -{ - short sVar1; - unkfloat1 Var2; - int iVar3; - int iVar4; - float fVar5; - float fVar6; - - if (param_2 == 2) { - iVar3 = 0; - } - else { - iVar3 = (int)param_2 + 1; - } - sVar1 = *(short *)(param_1 + 6); - Var2 = (unkfloat1)sVar1; - iVar4 = param_1 + ((int)sVar1 >> ((int)param_2 * -4 + 8U & 0x1f) & 0xfU) * 8; - param_1 += ((int)sVar1 >> (iVar3 * -4 + 8U & 0x1f) & 0xfU) * 8; - fVar5 = (float)((int)*(short *)(param_1 + 8) - (int)*(short *)(iVar4 + 8)); - fVar6 = (float)((int)*(short *)(param_1 + 0xc) - (int)*(short *)(iVar4 + 0xc)); - sqrtf(fVar5 * fVar5 + fVar6 * fVar6); - return (float)Var2; -} - - - -undefined8 FUN_7f0b10c8(int param_1,float param_2,float param_3) - -{ - undefined uVar1; - undefined7 in_register_00000018; - longlong lVar2; - float fVar3; - - param_2 = param_2 * DAT_80040f74; - param_3 = param_3 * DAT_80040f74; - lVar2 = 0; - fVar3 = DAT_80040f74; - do { - locret_7F0B0510(param_1,lVar2,param_2,param_3); - lVar2 = (longlong)((int)lVar2 + 1); - if (fVar3 < -2.00000000) { - uVar1 = 0; - goto LAB_7f0b114c; - } - } while (lVar2 != 3); - uVar1 = 1; -LAB_7f0b114c: - return CONCAT17(uVar1,in_register_00000018); -} - - - -undefined8 -locret_7F0B0680(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6) - -{ - if (param_2 * param_5 < param_1 * param_6) { - return 1; - } - if (param_1 * param_6 < param_2 * param_5) { - return 0xffffffffffffffff; - } - if ((0.00000000 <= param_1 * param_5) && (0.00000000 <= param_2 * param_6)) { - if (param_1 * param_1 + param_2 * param_2 < param_5 * param_5 + param_6 * param_6) { - return 1; - } - return 0; - } - return 0xffffffffffffffff; -} - - - -ulonglong loc_7F0B07AC(float param_1,float param_2,undefined8 param_3,undefined8 param_4, - float param_5,float param_6,float param_7,float param_8,float param_9, - float param_10) - -{ - bool bVar1; - undefined8 uVar2; - undefined8 uVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - - uVar2 = locret_7F0B0680(param_5 - param_1,param_6 - param_2,param_3,param_4,-(param_1 - param_7), - -(param_2 - param_8)); - uVar3 = locret_7F0B0680(param_5 - param_1,param_6 - param_2,extraout_a0,extraout_a1, - param_9 - param_1,param_10 - param_2); - bVar1 = (int)uVar3 * (int)uVar2 < 1; - if (bVar1) { - uVar2 = locret_7F0B0680(param_9 - param_7,param_10 - param_8,extraout_a0_00,extraout_a1_00, - param_1 - param_7,param_2 - param_8); - uVar3 = locret_7F0B0680(param_9 - param_7,param_10 - param_8,extraout_a0_01,extraout_a1_01, - param_5 - param_7,param_6 - param_8); - bVar1 = (int)uVar3 * (int)uVar2 < 1; - } - return (ulonglong)bVar1; -} - - - -uint locret_7F0B090C(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5 - ,float param_6,float param_7,float param_8,float param_9,float param_10, - int param_11) - -{ - undefined8 uVar1; - undefined8 uVar2; - undefined8 uVar3; - undefined8 uVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - uint uStack36; - - uVar1 = locret_7F0B0680(param_5 - param_1,param_6 - param_2,param_3,param_4,-(param_1 - param_7), - -(param_2 - param_8)); - uVar2 = locret_7F0B0680(param_5 - param_1,param_6 - param_2,extraout_a0,extraout_a1, - param_9 - param_1,param_10 - param_2); - uVar3 = locret_7F0B0680(param_9 - param_7,param_10 - param_8,extraout_a0_00,extraout_a1_00, - param_1 - param_7,param_2 - param_8); - uVar4 = locret_7F0B0680(param_9 - param_7,param_10 - param_8,extraout_a0_01,extraout_a1_01, - param_5 - param_7,param_6 - param_8); - uStack36 = (uint)((int)uVar2 * (int)uVar1 < param_11); - if (param_11 <= (int)uVar4 * (int)uVar3) { - uStack36 = 0; - } - return uStack36; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -FUN_7f0b14c4(int *param_1,float param_2,float param_3,float param_4,float param_5,undefined *param_6 - ,undefined4 param_7) - -{ - short sVar1; - bool bVar2; - uint uVar3; - undefined uVar4; - int in_v1_hi; - uint in_v1_lo; - int iVar5; - longlong lVar6; - longlong lVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - ulonglong uVar13; - longlong lVar14; - int iStack44; - int iStack32; - - param_2 = param_2 * DAT_80040f74; - param_3 = param_3 * DAT_80040f74; - param_4 = param_4 * DAT_80040f74; - param_5 = param_5 * DAT_80040f74; - iVar9 = *param_1; - iVar10 = 0; - iStack44 = 0; - lVar14 = (longlong)iStack32; - iVar8 = iVar9; - iVar12 = iVar9; - do { - iVar11 = iVar8; - iVar8 = iVar9; - iVar9 = 0; - if (param_6 == NULL) { - sVar1 = *(short *)(iVar8 + 6); - } - else { - (*(code *)param_6)(iVar8,iVar11,param_7); - sVar1 = *(short *)(iVar8 + 6); - } - uVar13 = (longlong)((int)sVar1 >> 0xc) & 0xf; - lVar6 = 0; - iVar5 = iVar8; - if (uVar13 != 0) { - do { - lVar7._4_4_ = (int)lVar6 + 1; - lVar7 = (longlong)lVar7._4_4_; - in_v1_lo = lVar7._4_4_ % (int)uVar13; - in_v1_hi = (int)in_v1_lo >> 0x1f; - lVar7._4_4_ = iVar8 + in_v1_lo * 8; - sVar1 = *(short *)(lVar7._4_4_ + 0xc); - lVar7._4_4_ = (int)*(short *)(lVar7._4_4_ + 8); - if (uVar13 == 0) { - trap(0x1c00); - } - if ((uVar13 == 0xffffffffffffffff) && (lVar7 == -0x80000000)) { - trap(0x1800); - } - if ((float)((int)sVar1 - (int)*(short *)(iVar5 + 0xc)) * (param_4 - param_2) + - -(param_5 - param_3) * (float)(lVar7._4_4_ - (int)*(short *)(iVar5 + 8)) <= 0.00000000) - { - uVar3 = locret_7F0B090C(param_2,param_3,uVar13,(longlong)sVar1,param_4,param_5, - (float)(int)*(short *)(iVar5 + 8), - (float)(int)*(short *)(iVar5 + 0xc),(float)lVar7._4_4_, - (float)(int)sVar1, - (uint)((int)(uint)*(ushort *)(iVar5 + 0xe) >> 4 != 0)); - if (uVar3 != 0) { - in_v1_hi = 0; - in_v1_lo = (uint)*(ushort *)(iVar5 + 0xe); - iVar9 += 1; - lVar7._4_4_ = in_v1_lo * 8 + DAT_80040f88; - if (((iVar11 != lVar7._4_4_) && (iVar12 != lVar7._4_4_)) && - (lVar14 = lVar6, iVar10 = lVar7._4_4_, (int)in_v1_lo >> 4 == 0)) { - lVar14 = lVar6; - iVar10 = 0; - } - goto LAB_7f0b16bc; - } - sVar1 = *(short *)(iVar8 + 6); - } - else { -LAB_7f0b16bc: - sVar1 = *(short *)(iVar8 + 6); - } - iVar5 += 8; - uVar13 = (longlong)((int)sVar1 >> 0xc) & 0xf; - lVar6 = lVar7; - } while (lVar7 < (longlong)uVar13); - } - if (iVar8 == iVar10) { - iVar9 = 0; - } - if (iVar9 == 0) { - uVar4 = 1; - goto LAB_7f0b174c; - } - bVar2 = 500 < iStack44; - iStack44 += 1; - if (((bVar2) || (iVar10 == 0)) || (iVar9 == 0)) { - _DAT_8007ba58 = (undefined4)lVar14; - uVar4 = 0; - _DAT_8007ba54 = iVar8; -LAB_7f0b174c: - return CONCAT53(CONCAT14(uVar4,in_v1_hi),(int3)(in_v1_lo >> 8)); - } - *param_1 = iVar10; - iVar9 = iVar10; - iVar12 = iVar11; - } while( true ); -} - - - -void sub_7F0B0BE4(int *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - FUN_7f0b14c4(param_1,param_2,param_3,param_4,param_5,NULL,0); - return; -} - - - -void sub_7F0B0C24(int *param_1,float param_2,float param_3,float param_4,float param_5, - undefined4 param_6,undefined4 *param_7,undefined4 param_8) - -{ - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack12 = 0; - uStack4 = 0xffffffff; - uStack16 = param_6; - uStack8 = param_8; - FUN_7f0b14c4(param_1,param_2,param_3,param_4,param_5,locret_7F0B0CE4,&uStack16); - *param_7 = uStack12; - return; -} - - - -void locret_7F0B0CE4(int param_1,undefined8 param_2,uint **param_3) - -{ - byte bVar1; - - bVar1 = *(byte *)(param_1 + 3); - if (((longlong)(int)param_3[3] != (ulonglong)bVar1) && ((int)param_3[1] < (int)param_3[2])) { - *(uint **)*param_3 = (uint *)(uint)bVar1; - param_3[3] = (uint *)(uint)bVar1; - *param_3 = *param_3 + 1; - param_3[1] = (uint *)((int)param_3[1] + 1); - } - return; -} - - - -void FUN_7f0b189c(int param_1,undefined8 param_2,uint **param_3) - -{ - locret_7F0B0CE4(param_1,param_2,param_3); - return; -} - - - -int loc_7F0B0E10(int param_1,float param_2,float param_3,int *param_4,float param_5,float param_6, - uint *param_7,int param_8) - -{ - byte bVar1; - longlong lVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - iStack4 = param_1; - if (*param_4 != 0) { - bVar1 = *(byte *)(param_1 + 3); - uVar5 = (ulonglong)*(byte *)(*param_4 + 3); - iVar4 = (int)param_7 >> 0x1f; - uStack8._3_1_ = 1; - if ((ulonglong)bVar1 == uVar5) { - *param_7 = (uint)bVar1; - goto LAB_7f0b19c0; - } - iStack4 = param_1; - lVar2 = FUN_7f0b9b80((ulonglong)bVar1,uVar5); - if (lVar2 != 0) { - uStack8._3_1_ = 2; - *param_7 = (uint)*(byte *)(param_1 + 3); - param_7[1] = (uint)*(byte *)(*param_4 + 3); - goto LAB_7f0b19c0; - } - } - lVar2 = sub_7F0B0C24(&iStack4,param_2,param_3,param_5,param_6,param_7,&uStack8,param_8); - iVar4 = param_8 >> 0x1f; - if (lVar2 == 0) { - uStack8._3_1_ = 0; - } - else { - if (param_8 < uStack8) { - uStack8._3_1_ = (undefined)param_8; - iVar3 = *param_4; - } - else { - iVar3 = *param_4; - } - if (iVar3 == 0) { - *param_4 = iStack4; - iVar3 = iStack4; - } - if (iStack4 != iVar3) { - uStack8._3_1_ = 0; - } - } -LAB_7f0b19c0: - return CONCAT13((undefined)uStack8,(int3)((uint)iVar4 >> 8)); -} - - - -// WARNING: Could not reconcile some variable overlaps -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 -loc_7F0B13B4(int *param_1,float param_2,float param_3,float param_4,float param_5,uint param_6, - float param_7,float param_8,float param_9,float param_10) - -{ - short *psVar1; - ulonglong uVar2; - bool bVar3; - bool bVar4; - longlong lVar5; - int in_v1_hi; - float *pfVar6; - int iVar7; - int iVar8; - longlong lVar9; - char *pcVar10; - uint uVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fStack192; - float afStack188 [3]; - int iStack176; - int *piStack172; - short *psStack168; - float fStack160; - float fStack156; - uint uStack148; - int aiStack144 [21]; - int aiStack60 [2]; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - int iStack12; - undefined4 uStack8; - - fVar12 = 1.00000000; - aiStack60[0] = 0; - uStack148 = (uint)(param_8 <= param_7); - iStack12 = *param_1; - bVar3 = false; - fStack24 = param_5; - fStack28 = param_4; - fStack20 = param_2; - fStack16 = param_3; - lVar5 = sub_7F0B0C24(&iStack12,param_2,param_3,param_4,param_5,aiStack144,aiStack60,0x14); - uStack8 = (undefined4)lVar5; - if (0x14 < aiStack60[0]) { - aiStack60[0] = 0x14; - } - if (lVar5 == 0) { - in_v1_hi = _DAT_8007ba58 >> 0x1f; - uVar11 = (int)*(short *)(_DAT_8007ba54 + 6) >> 0xc & 0xf; - iVar7 = _DAT_8007ba54 + _DAT_8007ba58 * 8; - if (uVar11 == 0) { - trap(0x1c00); - } - if ((uVar11 == 0xffffffff) && (_DAT_8007ba58 + 1 == -0x80000000)) { - trap(0x1800); - } - DAT_800413ec = 1; - iVar8 = _DAT_8007ba54 + ((_DAT_8007ba58 + 1) % uVar11) * 8; - _DAT_8007ba60 = (float)(int)*(short *)(iVar7 + 8) * DAT_80040f78; - _DAT_8007ba64 = (float)(int)*(short *)(iVar7 + 0xc) * DAT_80040f78; - _DAT_8007ba68 = (float)(int)*(short *)(iVar8 + 8) * DAT_80040f78; - _DAT_8007ba6c = (float)(int)*(short *)(iVar8 + 0xc) * DAT_80040f78; - fVar12 = locret_7F0B32D0(&fStack20,&fStack28,(float *)&DAT_8007ba60,(float *)&DAT_8007ba68); - } - _DAT_8007ba74 = NULL; - if (param_6 != 0) { - aiStack144[aiStack60[0]] = -1; - FUN_7f03e6fc(aiStack144); - in_v1_hi = (int)_DAT_80069c70 >> 0x1f; - iVar7 = (int)*_DAT_80069c70; - if (true) { - psStack168 = _DAT_80069c70; - do { - pcVar10 = (char *)(iVar7 * 0x34 + -0x7ff96388); - iVar7 = loc_7F03DB60(pcVar10,param_6); - if (((iVar7 != 0) && - (loc_7F03CCA4(pcVar10,&piStack172,&iStack176,afStack188,&fStack192), 0 < iStack176)) && - (0 < iStack176)) { - iVar7 = 0; - lVar5 = 0; - do { - iVar8 = (int)lVar5 + 1; - lVar9 = (longlong)iVar8; - iVar8 %= iStack176; - pfVar6 = (float *)(piStack172 + iVar8 * 2); - if (iStack176 == 0) { - trap(0x1c00); - } - if ((iStack176 == -1) && (lVar9 == -0x80000000)) { - trap(0x1800); - } - uVar2 = loc_7F0B07AC(param_2,param_3,(longlong)(int)pfVar6,lVar5,param_4,param_5, - *(float *)((int)piStack172 + iVar7), - ((float *)((int)piStack172 + iVar7))[1],*pfVar6,pfVar6[1]); - if (uVar2 != 0) { - fStack44 = *(float *)((int)piStack172 + iVar7); - fStack40 = ((float *)((int)piStack172 + iVar7))[1]; - fStack52 = (float)piStack172[iVar8 * 2]; - fStack48 = (float)(piStack172 + iVar8 * 2)[1]; - fVar13 = locret_7F0B32D0(&fStack20,&fStack28,&fStack44,&fStack52); - if (fVar13 < fVar12) { - bVar4 = true; - if (uStack148 != 0) { - if (!bVar3) { - bVar3 = true; - if (param_10 <= param_9) { - fStack156 = param_9 - param_7; - fStack160 = param_10 - param_8; - } - else { - if (fVar12 < 1.00000000) { - param_4 = param_2 + (param_4 - param_2) * fVar12; - param_5 = param_3 + (param_5 - param_3) * fVar12; - } - fVar14 = (float)FUN_7f0b3520(*param_1,param_2,param_3); - param_7 = param_7 + fVar14; - param_8 = param_8 + fVar14; - fVar15 = (float)FUN_7f0b3520(iStack12,param_4,param_5); - fStack160 = (fVar15 - fVar14) / fVar12; - fStack156 = fStack160; - } - } - if (fStack160 * fVar13 + param_8 < afStack188[0]) { - if (fStack156 * fVar13 + param_7 <= fStack192) { - bVar4 = false; - } - } - else { - bVar4 = false; - } - } - if (bVar4) { - uStack8 = 0; - DAT_800413ec = 1; - _DAT_8007ba60 = fStack44; - _DAT_8007ba64 = fStack40; - _DAT_8007ba68 = fStack52; - _DAT_8007ba6c = fStack48; - _DAT_8007ba54 = 0; - _DAT_8007ba58 = 0; - iStack12 = 0; - fVar12 = fVar13; - _DAT_8007ba74 = pcVar10; - } - } - } - iVar7 += 8; - lVar5 = lVar9; - } while (lVar9 < (longlong)iStack176); - } - psVar1 = psStack168 + 1; - iVar7 = (int)*psVar1; - psStack168 = psStack168 + 1; - in_v1_hi = (int)psStack168 >> 0x1f; - } while (-1 < CONCAT44((undefined4)(*psVar1 >> 0xf),iVar7)); - } - } - if (iStack12 == 0) { - iStack12 = *param_1; - sub_7F0B0BE4(&iStack12,param_2,param_3,param_2 + (param_4 - param_2) * fVar12, - param_3 + (param_5 - param_3) * fVar12); - } - *param_1 = iStack12; - _DAT_8007ba70 = fVar12; - return CONCAT13((undefined)uStack8,(int3)((uint)in_v1_hi >> 8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -char * loc_7F0B1680(int param_1,float param_2,float param_3,float param_4,float param_5,uint param_6 - ) - -{ - ulonglong uVar1; - int iVar2; - float *pfVar3; - longlong lVar4; - longlong lVar5; - char *pcVar6; - char *pcVar7; - char *pcVar8; - undefined uVar9; - float fVar10; - float fVar11; - int iStack156; - int *piStack152; - short *psStack148; - int aiStack144 [21]; - int iStack60; - int aiStack56 [2]; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - - fVar11 = 1.00000000; - pcVar8 = NULL; - iStack60 = 0; - aiStack56[0] = param_1; - sub_7F0B0C24(aiStack56,param_2,param_3,param_4,param_5,aiStack144,&iStack60,0x14); - iVar2 = iStack60 >> 0x1f; - if (0x14 < iStack60) { - iVar2 = 0; - iStack60 = 0x14; - } - fStack20 = param_5; - uVar9 = 0; - if (param_6 != 0) { - aiStack144[iStack60] = -1; - fStack24 = param_4; - fStack16 = param_2; - fStack12 = param_3; - FUN_7f03e6fc(aiStack144); - iVar2 = (int)_DAT_80069c70 >> 0x1f; - lVar5._4_4_ = (int)*_DAT_80069c70; - uVar9 = 0; - if (-1 < CONCAT44((undefined4)(*_DAT_80069c70 >> 0xf),lVar5._4_4_)) { - psStack148 = _DAT_80069c70; - do { - pcVar6 = (char *)(lVar5._4_4_ * 0x34 + -0x7ff96388); - iVar2 = loc_7F03DB60(pcVar6,param_6); - if (((iVar2 != 0) && (FUN_7f03cfb0(pcVar6,&piStack152,&iStack156), 0 < iStack156)) && - (0 < iStack156)) { - iVar2 = 0; - lVar4 = 0; - pcVar7 = pcVar8; - do { - lVar5._4_4_ = (int)lVar4 + 1; - lVar5 = (longlong)lVar5._4_4_; - lVar5._4_4_ %= iStack156; - pfVar3 = (float *)(piStack152 + lVar5._4_4_ * 2); - if (iStack156 == 0) { - trap(0x1c00); - } - if ((iStack156 == -1) && (lVar5 == -0x80000000)) { - trap(0x1800); - } - uVar1 = loc_7F0B07AC(param_2,param_3,(longlong)(int)pfVar3,lVar4,param_4,param_5, - *(float *)((int)piStack152 + iVar2), - ((float *)((int)piStack152 + iVar2))[1],*pfVar3,pfVar3[1]); - if (uVar1 == 0) { - lVar5._4_4_ = iStack156 >> 0x1f; - fVar10 = fVar11; - pcVar8 = pcVar7; - } - else { - fStack40 = *(float *)((int)piStack152 + iVar2); - fStack36 = ((float *)((int)piStack152 + iVar2))[1]; - fStack48 = (float)piStack152[lVar5._4_4_ * 2]; - fStack44 = (float)(piStack152 + lVar5._4_4_ * 2)[1]; - fVar10 = locret_7F0B32D0(&fStack16,&fStack24,&fStack40,&fStack48); - lVar5._4_4_ = iStack156 >> 0x1f; - pcVar8 = pcVar6; - if (fVar11 <= fVar10) { - fVar10 = fVar11; - pcVar8 = pcVar7; - } - } - fVar11 = fVar10; - iVar2 += 8; - lVar4 = lVar5; - pcVar7 = pcVar8; - } while (lVar5 < CONCAT44(lVar5._4_4_,iStack156)); - } - lVar5._4_4_ = (int)psStack148[1]; - psStack148 = psStack148 + 1; - iVar2 = (int)psStack148 >> 0x1f; - uVar9 = (char)pcVar8; - } while (true); - } - } - return (char *)CONCAT13(uVar9,(int3)((uint)iVar2 >> 8)); -} - - - -float loc_7F0B1788(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6,float param_7,float param_8) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar2 = param_5 - param_1; - fVar3 = param_6 - param_2; - fVar1 = sqrtf(fVar2 * fVar2 + fVar3 * fVar3); - if (fVar1 == 0.00000000) { - fVar1 = sqrtf((param_7 - param_5) * (param_7 - param_5) + - (param_8 - param_6) * (param_8 - param_6)); - } - else { - fVar1 = (fVar3 * (param_7 - param_1) + -fVar2 * (param_8 - param_2)) / fVar1; - } - return fVar1; -} - - - -void sub_7F0B1794(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6) - -{ - sqrtf((param_5 - param_1) * (param_5 - param_1) + (param_6 - param_2) * (param_6 - param_2)); - return; -} - - - -ulonglong locret_7F0B18B0(float param_1,float param_2,undefined8 param_3,undefined8 param_4, - float param_5,float param_6,float param_7,float param_8) - -{ - ulonglong uVar1; - float fVar2; - float fVar3; - - param_5 = param_5 - param_1; - param_6 = param_6 - param_2; - fVar3 = param_5 * param_5 + param_6 * param_6; - fVar2 = (param_7 - param_1) * param_5 + (param_8 - param_2) * param_6; - if ((((fVar2 <= fVar3) || (uVar1 = (ulonglong)(fVar2 < 0.00000000), fVar2 >= 0.00000000)) && - (uVar1 = (ulonglong)(0.00000000 < fVar2), 0.00000000 < fVar2)) && (uVar1 = 0, fVar2 < fVar3)) - { - uVar1 = 1; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint loc_7F0B1C80(int *piParm1,float fParm2,float fParm3,float fParm4,uint uParm5,float fParm6, - float fParm7) - -{ - short sVar1; - ulonglong uVar2; - undefined8 uVar3; - undefined4 in_v0_hi; - uint in_v0_lo; - uint uVar4; - int iVar5; - float *pfVar6; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - longlong lVar7; - int iVar8; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - char *pcVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fStack144; - float afStack140 [3]; - int iStack128; - int *piStack124; - int aiStack120 [21]; - int iStack36; - short *psStack32; - uint uStack24; - - uStack24 = (uint)(fParm7 <= fParm6); - iStack36 = 0; - uVar3 = locret_7F0B223C(piParm1,fParm2,fParm3,fParm4,aiStack120,&iStack36,0x14); - uVar4 = in_v0_lo & 0xffffff00 | (uint)(byte)((ulonglong)uVar3 >> 0x38); - if (CONCAT44(in_v0_hi,uVar4) < 0) { - if (0x14 < iStack36) { - iStack36 = 0x14; - } - _DAT_8007ba74 = NULL; - if (uParm5 == 0) { - uVar4 = 0xfffffffe; - } - else { - if (fParm7 <= fParm6) { - fVar13 = (float)FUN_7f0b3520(*piParm1,fParm2,fParm3); - fParm6 = fParm6 + fVar13; - fParm7 = fParm7 + fVar13; - } - aiStack120[iStack36] = -1; - FUN_7f03e6fc(aiStack120); - sVar1 = *_DAT_80069c70; - if (true) { - psStack32 = _DAT_80069c70; - do { - pcVar9 = (char *)((int)sVar1 * 0x34 + -0x7ff96388); - iVar5 = loc_7F03DB60(pcVar9,uParm5); - if (((iVar5 != 0) && - (loc_7F03CCA4(pcVar9,&piStack124,&iStack128,afStack140,&fStack144), 0 < iStack128)) && - ((uStack24 == 0 || ((fStack144 <= fParm6 && (fParm7 <= afStack140[0])))))) { - fVar13 = -1.00000000; - lVar7 = 0; - do { - iVar8 = (int)lVar7; - iVar5 = (iVar8 + 1) % iStack128; - pfVar6 = (float *)(piStack124 + iVar5 * 2); - if (iStack128 == 0) { - trap(0x1c00); - } - if ((iStack128 == -1) && (iVar8 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar10 = loc_7F0B1788((float)piStack124[iVar8 * 2],(float)(piStack124 + iVar8 * 2)[1], - (longlong)(int)pfVar6,lVar7,*pfVar6,pfVar6[1],fParm2,fParm3); - if (fVar10 < 0.00000000) { - fVar10 = -fVar10; - } - if (fVar13 < fVar10) { - fVar11 = (float)sub_7F0B1794((float)piStack124[iVar8 * 2], - (float)(piStack124 + iVar8 * 2)[1],extraout_a0, - extraout_a1,fParm2,fParm3); - fVar12 = (float)sub_7F0B1794((float)piStack124[iVar5 * 2], - (float)(piStack124 + iVar5 * 2)[1],extraout_a0_00, - extraout_a1_00,fParm2,fParm3); - if ((fVar10 < fParm4) && - (((fVar11 < fParm4 || (fVar12 < fParm4)) || - (uVar2 = locret_7F0B18B0((float)piStack124[iVar8 * 2], - (float)(piStack124 + iVar8 * 2)[1],extraout_a0_01, - extraout_a1_01,(float)piStack124[iVar5 * 2], - (float)(piStack124 + iVar5 * 2)[1],fParm2,fParm3), - uVar2 != 0)))) { - DAT_800413ec = 1; - _DAT_8007ba60 = piStack124[iVar8 * 2]; - _DAT_8007ba64 = (piStack124 + iVar8 * 2)[1]; - _DAT_8007ba68 = piStack124[iVar5 * 2]; - _DAT_8007ba6c = (piStack124 + iVar5 * 2)[1]; - _DAT_8007ba54 = 0; - _DAT_8007ba58 = 0; - fVar13 = fVar10; - _DAT_8007ba74 = pcVar9; - } - } - lVar7 = (longlong)iVar5; - } while ((longlong)iVar5 != 0); - if (-1.00000000 < fVar13) { - return 2; - } - } - sVar1 = psStack32[1]; - psStack32 = psStack32 + 1; - } while (true); - } - uVar4 = 0xfffffffe; - } - } - return uVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b2874(void) - -{ - DAT_800413ec = 0; - _DAT_8007ba54 = 0; - _DAT_8007ba58 = 0; - return; -} - - - -void FUN_7f0b28a8(int param_1,int param_2,float *param_3,float *param_4) - -{ - float fVar1; - int iVar2; - uint uVar3; - - fVar1 = DAT_80040f78; - iVar2 = param_1 + param_2 * 8; - *param_3 = (float)(int)*(short *)(iVar2 + 8) * DAT_80040f78; - param_3[1] = (float)(int)*(short *)(iVar2 + 10) * fVar1; - param_3[2] = (float)(int)*(short *)(iVar2 + 0xc) * fVar1; - uVar3 = (int)*(short *)(param_1 + 6) >> 0xc & 0xf; - param_1 += ((param_2 + 1) % uVar3) * 8; - if (uVar3 == 0) { - trap(0x1c00); - } - if ((uVar3 == 0xffffffff) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - *param_4 = (float)(int)*(short *)(param_1 + 8) * fVar1; - param_4[1] = (float)(int)*(short *)(param_1 + 10) * fVar1; - param_4[2] = (float)(int)*(short *)(param_1 + 0xc) * fVar1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f0b2b40) overlaps instruction at (ram,0x7f0b2b3c) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 -FUN_7f0b298c(int *param_1,float param_2,float param_3,float param_4,undefined *param_5, - undefined *param_6,undefined *param_7,undefined4 param_8) - -{ - int iVar1; - longlong lVar2; - ulonglong uVar3; - uint uVar5; - ulonglong uVar4; - int iVar6; - int *piVar7; - undefined uVar8; - int in_v1_hi; - int in_v1_lo; - int *piVar9; - uint uVar10; - int iVar11; - float fVar12; - float fVar13; - float extraout_f0; - float fVar14; - float extraout_f0_00; - float extraout_f0_01; - int iStack172; - int aiStack160 [40]; - - param_2 = param_2 * DAT_80040f74; - param_3 = param_3 * DAT_80040f74; - iStack172 = 0; - aiStack160[0] = *param_1; - piVar9 = aiStack160; - param_4 = param_4 * DAT_80040f74; - uVar10 = 1; - fVar14 = DAT_80040f74; - do { - iVar1 = *piVar9; - piVar9 = piVar9 + 1; - iStack172 += 1; - if (param_5 != NULL) { - fVar14 = (float)(*(code *)param_5)(iVar1,param_8); - } - uVar5 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - fVar12 = fVar14; - iVar6 = 0; - if (uVar5 != 0) { - do { - iVar11 = iVar6 + 1; - if (uVar5 == 0) { - trap(0x1c00); - } - if (((ulonglong)uVar5 == 0xffffffffffffffff) && (iVar11 == -0x80000000)) { - trap(0x1800); - } - loc_7F0AFE64(iVar1,iVar6,param_2,param_3); - fVar13 = (float)sub_7F0B0064(iVar1,iVar6,param_2,param_3); - uVar4 = sub_7F0B0064(iVar1,iVar11 % uVar5,param_2,param_3); - if (fVar12 < param_4) { - fVar14 = extraout_f0; - if ((param_4 <= fVar13) && (fVar14 = extraout_f0, param_4 <= extraout_f0)) { - fVar14 = extraout_f0; - uVar3 = locret_7F0B02D0(iVar1,iVar6,param_2,param_3); - in_v1_hi = (int)(uVar3 >> 0x18); - in_v1_lo = (uint)(uint3)uVar3 << 8; - if ((uVar4 & 0xffffffff00000000 | - (ulonglong)((uint)uVar4 & 0xffffff00 | (uint)(byte)(uVar3 >> 0x38))) == 0) { - iVar6 = (int)*(short *)(iVar1 + 6); - goto LAB_7f0b2be8; - } - } - if ((param_6 == NULL) || - (lVar2 = (*(code *)param_6)(iVar1,iVar6,fVar12,fVar13,extraout_f0,param_8), - fVar14 = extraout_f0_00, lVar2 == 0)) { - uVar5 = (uint)*(ushort *)(iVar1 + iVar6 * 8 + 0xe); - if ((int)uVar5 >> 4 != 0) { - in_v1_lo = uVar5 * 8 + DAT_80040f88; - in_v1_hi = in_v1_lo >> 0x1f; - if ((int)(uVar10 - 1) < 0) { -LAB_7f0b2b98: - aiStack160[uVar10] = in_v1_lo; - uVar10 += 1; - iVar6 = (int)*(short *)(iVar1 + 6); - } - else { - piVar7 = aiStack160 + (uVar10 - 1); - iVar6 = *piVar7; - while( true ) { - piVar7 = piVar7 + -1; - if (in_v1_lo == iVar6) break; - if (piVar7 < aiStack160) goto LAB_7f0b2b98; - iVar6 = *piVar7; - } - iVar6 = (int)*(short *)(iVar1 + 6); - } - goto LAB_7f0b2be8; - } - } - _DAT_8007ba54 = iVar1; - _DAT_8007ba58 = iVar6; - if ((param_7 == NULL) || - (_DAT_8007ba54 = iVar1, _DAT_8007ba58 = iVar6, - lVar2 = (*(code *)param_7)(aiStack160,uVar10,param_8), lVar2 != 1)) { - uVar8 = 2; - goto LAB_7f0b2c38; - } - iVar6 = (int)*(short *)(iVar1 + 6); - fVar14 = extraout_f0_01; - } - else { - iVar6 = (int)*(short *)(iVar1 + 6); - fVar14 = extraout_f0; - } -LAB_7f0b2be8: - uVar5 = iVar6 >> 0xc & 0xf; - fVar12 = fVar14; - iVar6 = iVar11; - } while (iVar11 < (int)uVar5); - } - if (0x28 < uVar10) { - uVar8 = 5; - goto LAB_7f0b2c38; - } - if ((int)uVar10 <= iStack172) { - if (param_7 != NULL) { - (*(code *)param_7)(aiStack160,uVar10,param_8); - } - uVar8 = 0xfe; -LAB_7f0b2c38: - return CONCAT53(CONCAT14(uVar8,in_v1_hi),(int3)((uint)in_v1_lo >> 8)); - } - } while( true ); -} - - - -void sub_7F0B20D0(int *param_1,float param_2,float param_3,float param_4) - -{ - FUN_7f0b298c(param_1,param_2,param_3,param_4,NULL,NULL,NULL,0); - return; -} - - - -undefined8 -locret_7F0B223C(int *param_1,float param_2,float param_3,float param_4,undefined4 param_5, - undefined4 *param_6,undefined4 param_7) - -{ - undefined8 uVar1; - undefined7 in_register_00000010; - undefined uVar2; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - uStack12 = 0; - iStack4 = 0; - uStack16 = param_5; - uStack8 = param_7; - uVar1 = FUN_7f0b298c(param_1,param_2,param_3,param_4,&LAB_7f0b2cc0,NULL,&LAB_7f0b2d44,&uStack16); - uVar2 = (undefined)((ulonglong)uVar1 >> 0x38); - *param_6 = uStack12; - if (1 < iStack4) { - uVar2 = 2; - } - return CONCAT17(uVar2,in_register_00000010); -} - - - -uint loc_7F0B2338(int *param_1,float param_2,float param_3,float param_4,undefined4 *param_5) - -{ - undefined8 uVar1; - undefined4 *puVar2; - int iVar3; - - iVar3 = 0; - puVar2 = param_5; - do { - iVar3 += 4; - *puVar2 = 0; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - puVar2 = puVar2 + 4; - } while (iVar3 != 0x10); - uVar1 = FUN_7f0b298c(param_1,param_2,param_3,param_4,&LAB_7f0b2df4,&LAB_7f0b2e24,NULL,param_5); - return (uint)((ulonglong)uVar1 >> 0x20); -} - - - -undefined4 sub_7F0B239C(undefined4 *param_1) - -{ - return *param_1; -} - - - -undefined4 sub_7F0B23A4(int param_1) - -{ - return *(undefined4 *)(param_1 + 4); -} - - - -void sub_7F0B23AC(int param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - - fVar1 = DAT_80040f78; - param_1 += ((int)*(short *)(param_1 + 6) >> ((int)param_2 * -4 + 8U & 0x1f) & 0xfU) * 8; - *param_3 = (float)(int)*(short *)(param_1 + 8) * DAT_80040f78; - param_3[1] = (float)(int)*(short *)(param_1 + 10) * fVar1; - param_3[2] = (float)(int)*(short *)(param_1 + 0xc) * fVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b2fd0(int *param_1,int *param_2,int param_3) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - uint uVar5; - int iVar6; - uint uVar7; - - iVar1 = _DAT_8007ba7c; - uVar7 = (int)*(short *)(_DAT_8007ba7c + 6) >> 0xc & 0xf; - iVar2 = 0; - iVar4 = _DAT_8007ba7c; - if (uVar7 == 0) { - return; - } - while ((iVar6 = (uint)*(ushort *)(iVar4 + 0xe) * 8 + DAT_80040f88, - (int)(uint)*(ushort *)(iVar4 + 0xe) >> 4 == 0 || - (((&DAT_80040f60)[(int)*(short *)(iVar6 + 4) >> 0xc] & 0x40) == 0))) { - iVar2 += 1; - iVar4 = iVar4 + 8; - if ((int)uVar7 <= iVar2) { - return; - } - } - *param_1 = _DAT_8007ba7c; - *param_2 = iVar6; - uVar7 = 0; - while( true ) { - iVar4 = 0; - uVar5 = uVar7; - do { - iVar3 = ((int)uVar7 >> 2) + iVar4; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - sub_7F0B23AC(iVar6,(longlong)(iVar3 % 3),(float *)(param_3 + (uVar5 & 3) * 0xc)); - iVar4 += 1; - uVar5 += 1; - } while (iVar4 != 3); - sub_7F0B23AC(iVar1,(longlong)((iVar2 + 2) % 3),(float *)(param_3 + (uVar7 + 3 & 3) * 0xc)); - uVar7 += 1; - if (uVar7 == 0xc) break; - if ((((*(float *)(param_3 + 4) <= *(float *)(param_3 + 0x1c)) && - (*(float *)(param_3 + 0x10) <= *(float *)(param_3 + 0x1c))) && - (*(float *)(param_3 + 4) <= *(float *)(param_3 + 0x28))) && - (*(float *)(param_3 + 0x10) <= *(float *)(param_3 + 0x28))) { - return; - } - } - return; -} - - - -void FUN_7f0b3268(int *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - float fStack4; - - fStack4 = param_5 * DAT_80040f74; - FUN_7f0b298c(param_1,param_2,param_3,param_4,NULL,&LAB_7f0b31bc,NULL,&fStack4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F0B2880(int param_1,undefined *param_2) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - uint uVar4; - int *piVar5; - uint uVar6; - int iVar7; - int iVar8; - uint uVar9; - int iVar10; - int iVar11; - int iVar12; - int *piStack28; - uint uStack8; - - lVar3 = (*(code *)param_2)(); - if (lVar3 == 0) { - uStack8 = 1; - _DAT_8007ba80 = param_1; - do { - iVar12 = 0; - uVar9 = uStack8; - if (0 < (int)uStack8) { - piStack28 = (int *)&DAT_8007ba80; - uVar9 = uStack8; - do { - iVar10 = 0; - iVar1 = *piStack28; - uVar6 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - iVar11 = iVar1; - if (uVar6 != 0) { - do { - iVar8 = (uint)*(ushort *)(iVar11 + 0xe) * 8 + DAT_80040f88; - if ((int)(uint)*(ushort *)(iVar11 + 0xe) >> 4 != 0) { - uVar4 = 0; - if (0 < (int)uVar9) { - piVar5 = (int *)&DAT_8007ba80; - do { - uVar4 += 1; - if (iVar8 == *piVar5) goto LAB_7f0b33ec; - piVar5 = piVar5 + 1; - } while (uVar4 != uVar9); - } - lVar3 = (*(code *)param_2)(iVar8); - iVar7 = uVar9 * 4; - if (lVar3 != 0) { - return iVar8; - } - uVar9 += 1; - *(int *)(&DAT_8007ba80 + iVar7) = iVar8; - if (0x15e < uVar9) { - return 0; - } - uVar6 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - } -LAB_7f0b33ec: - iVar10 += 1; - iVar11 += 8; - } while (iVar10 < (int)uVar6); - } - iVar12 += 1; - piStack28 = piStack28 + 1; - } while (iVar12 < (int)uStack8); - } - bVar2 = uVar9 != uStack8; - uStack8 = uVar9; - } while (bVar2); - param_1 = 0; - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0b3460(float *param_1,float *param_2) - -{ - float fVar1; - undefined8 uVar2; - - fVar1 = _DAT_8007ba60; - if (_DAT_8007ba54 == 0) { - if (DAT_800413ec == 0) { - uVar2 = 0; - } - else { - param_1[1] = 0.00000000; - *param_1 = fVar1; - uVar2 = 1; - param_1[2] = _DAT_8007ba64; - fVar1 = _DAT_8007ba68; - param_2[1] = 0.00000000; - *param_2 = fVar1; - param_2[2] = _DAT_8007ba6c; - } - } - else { - FUN_7f0b28a8(_DAT_8007ba54,_DAT_8007ba58,param_1,param_2); - uVar2 = 1; - } - return uVar2; -} - - - -void FUN_7f0b3500(float param_1) - -{ - DAT_80040f74 = param_1; - DAT_80040f78 = 1.00000000 / param_1; - return; -} - - - -ulonglong FUN_7f0b3520(int iParm1,float fParm2,float fParm3) - -{ - short sVar1; - longlong lVar2; - longlong lVar3; - int iVar7; - longlong lVar4; - longlong lVar5; - longlong lVar6; - uint uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - int iVar15; - undefined4 uVar16; - undefined8 in_f0; - ulonglong uVar17; - double dVar18; - double dVar19; - double dVar20; - double dVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - - uVar16 = (undefined4)((ulonglong)in_f0 >> 0x20); - fParm2 = fParm2 * DAT_80040f74; - fParm3 = fParm3 * DAT_80040f74; - sVar1 = *(short *)(iParm1 + 6); - iVar15 = iParm1 + ((int)sVar1 >> 8 & 0xfU) * 8; - uVar8 = iParm1 + ((int)sVar1 >> 4 & 0xfU) * 8; - iParm1 += ((int)sVar1 & 0xfU) * 8; - fVar24 = (float)((int)*(short *)(uVar8 + 8) - (int)*(short *)(iVar15 + 8)); - fVar27 = (float)((int)*(short *)(uVar8 + 10) - (int)*(short *)(iVar15 + 10)); - fVar23 = (float)((int)*(short *)(uVar8 + 0xc) - (int)*(short *)(iVar15 + 0xc)); - fVar25 = (float)((int)*(short *)(iParm1 + 8) - (int)*(short *)(iVar15 + 8)); - fVar22 = (float)((int)*(short *)(iParm1 + 10) - (int)*(short *)(iVar15 + 10)); - fVar26 = (float)((int)*(short *)(iParm1 + 0xc) - (int)*(short *)(iVar15 + 0xc)); - lVar2 = __f_to_ll(fVar27 * fVar26 - fVar22 * fVar23); - uVar9 = uVar8; - lVar3 = __f_to_ll(fVar23 * fVar25 - fVar26 * fVar24); - iVar7 = (int)lVar3; - uVar10 = uVar9; - lVar3 = __f_to_ll(fVar24 * fVar22 - fVar25 * fVar27); - uVar11 = uVar10; - lVar4 = __ll_mul(iVar7,uVar9,(int)*(short *)(iVar15 + 10) >> 0x1f,(int)*(short *)(iVar15 + 10)); - uVar12 = uVar11; - lVar5 = __ll_mul((int)lVar2,uVar8,(int)*(short *)(iVar15 + 8) >> 0x1f,(int)*(short *)(iVar15 + 8)) - ; - uVar13 = uVar12; - lVar6 = __ll_mul((int)lVar3,uVar10,(int)*(short *)(iVar15 + 0xc) >> 0x1f, - (int)*(short *)(iVar15 + 0xc)); - uVar14 = uVar13 + uVar12 + uVar11; - if ((iVar7 == 0) && (uVar9 == 0)) { - uVar17 = CONCAT44(uVar16,(float)(int)*(short *)(iVar15 + 10) * DAT_80040f78); - } - else { - dVar18 = __ll_to_d((int)lVar3,uVar10); - dVar19 = __ll_to_d((int)lVar2,uVar8); - dVar20 = __ll_to_d((uint)(uVar14 < uVar11) + - (uint)(uVar13 + uVar12 < uVar12) + (int)lVar6 + (int)lVar5 + (int)lVar4, - uVar14); - dVar21 = __ll_to_d(iVar7,uVar9); - uVar17 = (ulonglong)dVar21 & 0xffffffff00000000 | - (ulonglong) - (uint)((float)(((dVar20 - (double)fParm2 * dVar19) - (double)fParm3 * dVar18) / dVar21) - * DAT_80040f78); - } - return uVar17; -} - - - -void copy_tile_RGB_as_24bit(int param_1,undefined8 param_2,undefined8 param_3,byte *param_4) - -{ - short sVar1; - uint uVar2; - uint uVar3; - - sVar1 = *(short *)(param_1 + 4); - uVar2 = (int)sVar1 >> 8 & 0xf; - uVar3 = (int)sVar1 >> 4 & 0xf; - *param_4 = (byte)(uVar2 << 4) | (byte)uVar2; - param_4[1] = (byte)(uVar3 << 4) | (byte)uVar3; - param_4[2] = (byte)((int)((longlong)sVar1 & 0xfU) << 4) | (byte)((longlong)sVar1 & 0xfU); - return; -} - - - -void FUN_7f0b3824(int param_1,float *param_2) - -{ - float fVar1; - - fVar1 = (float)(int)*(short *)(param_1 + ((int)*(short *)(param_1 + 6) >> 8 & 0xfU) * 8 + 10); - *param_2 = fVar1 * DAT_80040f78; - param_2[1] = fVar1 * DAT_80040f78; - return; -} - - - -float FUN_7f0b38c4(int param_1) - -{ - float afStack8 [2]; - - FUN_7f0b3824(param_1,afStack8); - return afStack8[0]; -} - - - -void FUN_7f0b38e8(void) - -{ - return; -} - - - -undefined8 FUN_7f0b38f8(undefined8 param_1) - -{ - return param_1; -} - - - -void loc_7F0B2E48(byte *param_1,ushort *param_2,byte *param_3) - -{ - byte bVar1; - uint uVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - byte *apbStack8 [2]; - - iVar3 = (uint)*param_1 - 0x70; - if ((-1 < iVar3) && (iVar3 < 2)) { - uVar2 = loc_7000AC44(param_1 + 1,apbStack8,10); - if ((apbStack8[0] != param_1 + 1) && (uVar2 < 0x8000)) { - iVar4 = (uint)*apbStack8[0] - 0x61; - if ((-1 < iVar4) && (iVar4 < 0x1a)) { - bVar1 = apbStack8[0][1]; - uVar5 = (ulonglong)bVar1; - if ((bVar1 != 0) && (bVar1 != 0x30)) { - uVar5 = SEXT48((int)((uint)bVar1 - 0x30)); - } - if (((-1 < (longlong)uVar5) && ((longlong)uVar5 < 8)) && - ((bVar1 == 0 || (apbStack8[0][2] == 0)))) { - *param_2 = (short)iVar3 * -0x8000 | (ushort)uVar2; - *param_3 = (char)iVar4 * '\b' | (byte)uVar5; - return; - } - } - } - } - *param_2 = 0xffff; - *param_3 = 0xff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int * loc_7F0B2EF0(byte *param_1) - -{ - short sVar1; - ushort uVar2; - int *piVar3; - byte bStack7; - ushort auStack6 [3]; - - if (*param_1 != 0) { - loc_7F0B2E48(param_1,auStack6,&bStack7); - piVar3 = *(int **)(_DAT_8007b190 + 4); - if (*piVar3 != 0) { - uVar2 = *(ushort *)piVar3; - while( true ) { - if (auStack6[0] == uVar2) { - if (bStack7 == *(byte *)((int)piVar3 + 2)) { - return piVar3; - } - sVar1 = *(short *)((int)piVar3 + 6); - } - else { - sVar1 = *(short *)((int)piVar3 + 6); - } - piVar3 = (int *)((uint)(byte)s___08_HPX_80040f7c[(int)sVar1 >> 0xc & 0xf] + (int)piVar3); - if (*piVar3 == 0) break; - uVar2 = *(ushort *)piVar3; - } - } - } - return NULL; -} - - - -void FUN_7f0b3ab0(int **param_1) - -{ - int *piVar1; - - piVar1 = loc_7F0B2EF0((byte *)*param_1); - *param_1 = piVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b3adc(int param_1,int param_2,int param_3) - -{ - int iVar1; - int *piVar2; - int *piVar3; - int iVar4; - - param_3 -= param_2; - DAT_80040f88 = *(int *)(param_1 + 4) + param_3 + -0x80; - DAT_80040f8c = *(int *)(param_1 + 4) + param_3; - piVar3 = (int *)(param_1 + 4); - if (*(int *)(param_1 + 4) != 0) { - iVar1 = *piVar3; - do { - iVar4 = iVar1 + param_3; - iVar1 = piVar3[1]; - *piVar3 = iVar4; - piVar3 = piVar3 + 1; - } while (iVar1 != 0); - } - iVar1 = piVar3[1]; - piVar3 = piVar3 + 1; - while (piVar2 = piVar3, iVar1 != 0) { - iVar1 = *(int *)((uint)(byte)s___08_HPX_80040f7c[(int)*(short *)((int)piVar2 + 6) >> 0xc & 0xf] - + (int)piVar2); - piVar3 = (int *)((uint)(byte)s___08_HPX_80040f7c[(int)*(short *)((int)piVar2 + 6) >> 0xc & 0xf] - + (int)piVar2); - DAT_80040f90 = piVar2; - } - _DAT_8007b190 = param_1; - return; -} - - - -ulonglong sub_7F0B2FD8(int param_1) - -{ - return (ulonglong)*(byte *)(param_1 + 3); -} - - - -undefined4 FUN_7f0b3b90(int param_1) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0b5b4c((uint)*(byte *)(param_1 + 3)); - return uVar1; -} - - - -void FUN_7f0b3bb4(int param_1) - -{ - FUN_7f0b38c4(param_1); - return; -} - - - -undefined8 FUN_7f0b3bd4(undefined8 param_1) - -{ - return param_1; -} - - - -undefined8 FUN_7f0b3be4(undefined8 param_1) - -{ - return param_1; -} - - - -undefined8 FUN_7f0b3bec(undefined8 param_1) - -{ - return param_1; -} - - - -// WARNING: Instruction at (ram,0x7f0b3c20) overlaps instruction at (ram,0x7f0b3c1c) -// - -undefined4 FUN_7f0b3bf4(int param_1) - -{ - int iVar1; - undefined4 uStack4; - - uStack4 = 0; - iVar1 = FUN_7f0be32c(param_1); - if (((iVar1 < 0x1000) || (iVar1 = FUN_7f0be354(), iVar1 < 0x1000)) && (DAT_80041400 == 0)) { - DAT_800413f0 = 0.00000000; - DAT_800413f4 = 0.00000000; - DAT_800413f8 = DAT_800413fc; - DAT_80041400 = 1; - } - if ((DAT_80041400 == 0) && (DAT_800413f0 = DAT_800413f0 + DAT_800413f4, 1.00000000 < DAT_800413f0) - ) { - DAT_800413f0 = DAT_800413f0 - 1.00000000; - uStack4 = 1; - } - DAT_800413fc = DAT_800413fc + 1; - return uStack4; -} - - - -undefined8 FUN_7f0b3cdc(undefined8 param_1) - -{ - return param_1; -} - - - -void sub_7F0B3138(undefined8 param_1,int *param_2,float param_3,float param_4,float param_5, - float param_6,uint param_7,float param_8,float param_9) - -{ - loc_7F0B13B4(param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,0.00000000,1.00000000 - ); - return; -} - - - -void sub_7F0B31A4(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, - undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8) - -{ - loc_7F0B1C80(param_2,param_3,param_4,param_5,param_6,param_7,param_8); - return; -} - - - -float locret_7F0B32D0(float *param_1,float *param_2,float *param_3,float *param_4) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = *param_4 - *param_3; - fVar1 = param_3[1] - param_4[1]; - fVar2 = (*param_2 - *param_1) * fVar1 + (param_2[1] - param_1[1]) * fVar3; - if (fVar2 == 0.00000000) { - fVar2 = 1.00000000; - } - else { - fVar2 = ((*param_3 - *param_1) * fVar1 + (param_3[1] - param_1[1]) * fVar3) / fVar2; - if ((fVar2 < 0.00000000) || (1.00000000 < fVar2)) { - fVar2 = 1.00000000; - } - } - return fVar2; -} - - - -float loc_7F0B33C8(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float __x; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - fVar5 = param_1[2]; - fVar4 = param_3[1]; - fVar3 = param_1[1]; - fVar2 = *param_3; - fVar6 = *param_2; - fVar7 = param_2[1]; - fVar8 = fVar6 * (fVar4 - fVar5) - (fVar2 - fVar3) * fVar7; - __x = (*param_1 - fVar8) * (*param_1 + fVar8); - fVar1 = DAT_80058620; - if (0.00000000 <= __x) { - fVar1 = sqrtf(__x); - fVar1 = (fVar6 * (fVar2 - fVar3) + (fVar4 - fVar5) * fVar7) - fVar1; - if ((fVar1 < 0.00000000) && - (fVar2 = fVar1 * fVar1, fVar1 = DAT_80058624, fVar2 + fVar8 * fVar8 <= *param_1 * *param_1)) - { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -float loc_7F0B37AC(float *param_1,float *param_2,float *param_3,float *param_4) - -{ - float *pfVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float *pfStackX8; - float fStack40; - float fStack36; - float fStack16; - float fStack12; - float fStack4; - - fStack4 = sqrtf(*param_4 * *param_4 + param_4[1] * param_4[1]); - if (fStack4 == 0.00000000) { - return 1.00000000; - } - fVar10 = 1.00000000 / fStack4; - fStack16 = *param_4 * fVar10; - fStack12 = param_4[1] * fVar10; - fVar2 = *param_3 - *param_2; - fStack40 = param_3[1] - param_2[1]; - fVar3 = sqrtf(fVar2 * fVar2 + fStack40 * fStack40); - pfStackX8 = param_3; - if (fVar3 == 0.00000000) { -LAB_7f0b424c: - fVar2 = loc_7F0B33C8(param_1,&fStack16,pfStackX8); - } - else { - fStack40 = fStack40 * (1.00000000 / fVar3); - fStack36 = -fVar2 * (1.00000000 / fVar3); - fVar2 = *param_1; - fVar3 = param_1[1]; - fVar8 = fVar2 * fStack40; - fVar5 = param_1[2]; - fVar11 = fVar2 * fStack36; - if ((fVar3 - *param_2) * fVar8 + fVar11 * (fVar5 - param_2[1]) < 0.00000000) { - fVar8 = -fVar8; - fVar11 = -fVar11; - } - fVar6 = param_4[1]; - fVar4 = *param_4; - fVar7 = fVar6 * (*param_2 + fVar8) - (param_2[1] + fVar11) * fVar4; - fVar9 = fVar3 * fVar6 - fVar5 * fVar4; - fVar12 = fVar6 * (*param_3 + fVar8) - (param_3[1] + fVar11) * fVar4; - fVar8 = fVar7; - fVar11 = fVar12; - pfVar1 = param_2; - if (fVar12 < fVar7) { - fStack40 = -fStack40; - fStack36 = -fStack36; - fVar8 = fVar12; - fVar11 = fVar7; - pfVar1 = param_3; - param_3 = param_2; - } - if (fVar12 == fVar7) { - fVar3 = loc_7F0B33C8(param_1,&fStack16,pfVar1); - fVar2 = loc_7F0B33C8(param_1,&fStack16,param_3); - if (fVar3 <= fVar2) goto LAB_7f0b430c; - } - else { - pfStackX8 = param_3; - if (fVar11 < fVar9) goto LAB_7f0b424c; - if (fVar9 < fVar8) { - fVar2 = loc_7F0B33C8(param_1,&fStack16,pfVar1); - } - else { - fVar8 = (fVar3 - *pfVar1) * fStack40 + fStack36 * (fVar5 - pfVar1[1]); - fVar3 = ((fVar3 + fVar4) - *pfVar1) * fStack40 + fStack36 * ((fVar5 + fVar6) - pfVar1[1]); - if (fVar8 == fVar3) { - return 1.00000000; - } - fVar2 = ((fVar8 - fVar2) * fStack4) / (fVar8 - fVar3); - } - } - } - fVar3 = fVar2; -LAB_7f0b430c: - fVar2 = 1.00000000; - if (fVar3 <= fStack4) { - if (fVar3 < 0.00000000) { - fVar2 = 0.00000000; - } - else { - fVar2 = fVar3 * fVar10; - } - } - return fVar2; -} - - - -void FUN_7f0b4370(void) - -{ - loc_70004E88(&DAT_80041420,(byte *)s_bg_c_debug_80058c7c); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b439c(void) - -{ - byte bVar1; - byte bVar2; - undefined4 *puVar3; - byte *pbVar4; - ulonglong uVar5; - int iVar6; - - puVar3 = (undefined4 *)&DAT_80044854; - do { - pbVar4 = (byte *)((int)puVar3 + 1); - if ((longlong)DAT_80041430 == (ulonglong)*(byte *)puVar3) { - bVar1 = *pbVar4; - bVar2 = *(byte *)((int)puVar3 + 2); - while( true ) { - uVar5 = (ulonglong)bVar1; - if ((ulonglong)bVar2 < uVar5) { - bVar1 = pbVar4[2]; - } - else { - do { - iVar6 = _DAT_8007fff0 + (int)uVar5 * 8; - uVar5 = (longlong)((int)uVar5 + 1) & 0xff; - *(byte *)(iVar6 + 6) = *(byte *)(iVar6 + 6) | 2; - } while (uVar5 <= (ulonglong)pbVar4[1]); - bVar1 = pbVar4[2]; - } - if (bVar1 == 0xff) break; - bVar2 = pbVar4[3]; - pbVar4 = pbVar4 + 2; - } - } - else { - bVar1 = *(byte *)((int)puVar3 + 3); - while (bVar1 != 0xff) { - bVar1 = pbVar4[4]; - pbVar4 = pbVar4 + 2; - } - } - puVar3 = (undefined4 *)(pbVar4 + 3); - } while (puVar3 < &DAT_80044868); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0B39AC(byte param_1,byte *param_2) - -{ - byte bVar2; - longlong lVar1; - byte *pbVar3; - byte *pbVar4; - - bVar2 = *param_2; - pbVar4 = param_2; - do { - do { - pbVar3 = pbVar4; - if (param_1 == bVar2) { - bVar2 = *param_2; - do { - pbVar4 = param_2; - lVar1 = loc_7F0B5464((uint)bVar2,(float *)(_DAT_8007a120 + 0x1118)); - if (lVar1 != 0) { - FUN_7f0b456c((uint)*pbVar4,0,(float *)(_DAT_8007a120 + 0x1118),1); - } - bVar2 = pbVar4[1]; - param_2 = pbVar4 + 1; - } while (bVar2 != 0); - pbVar4 = pbVar4 + 2; - bVar2 = *pbVar4; - do { - lVar1 = loc_7F0B5464((uint)bVar2,(float *)(_DAT_8007a120 + 0x1118)); - if (lVar1 != 0) { - FUN_7f0b456c((uint)*pbVar4,0,(float *)(_DAT_8007a120 + 0x1118),1); - } - bVar2 = pbVar4[1]; - pbVar4 = pbVar4 + 1; - } while (bVar2 != 0); - return; - } - bVar2 = pbVar3[1]; - pbVar4 = pbVar3 + 1; - } while (bVar2 != 0); - bVar2 = pbVar3[2]; - param_2 = pbVar3 + 1; - while (bVar2 != 0) { - bVar2 = param_2[2]; - param_2 = param_2 + 1; - } - param_2 = param_2 + 2; - bVar2 = *param_2; - pbVar4 = param_2; - } while (bVar2 != 0); - return; -} - - - -uint FUN_7f0b456c(int param_1,int param_2,float *param_3,uint param_4) - -{ - uint uVar1; - int iVar2; - int *piVar3; - float fVar4; - - (&DAT_80041444)[param_1 * 0x50] = 1; - if ((&DAT_80041478)[param_1 * 0x50] == '\0') { - iVar2 = 0; - if (0 < DAT_8004486c) { - piVar3 = (int *)&DAT_80080010; - do { - iVar2 += 1; - if (param_1 == *piVar3) { - if (piVar3[1] < param_2) { - piVar3[1] = param_2; - } - locret_7F0B5D50(param_3,(float *)(piVar3 + 2)); - uVar1 = piVar3[6]; - *(float *)(piVar3 + 2) = *param_3; - *(float *)(piVar3 + 3) = param_3[1]; - *(float *)(piVar3 + 4) = param_3[2]; - fVar4 = param_3[3]; - piVar3[6] = uVar1 | param_4; - *(float *)(piVar3 + 5) = fVar4; - return uVar1; - } - piVar3 = piVar3 + 7; - } while (iVar2 < DAT_8004486c); - } - iVar2 = DAT_8004486c * 0x1c; - *(int *)(&DAT_80080010 + iVar2) = param_1; - *(int *)(&DAT_80080014 + iVar2) = param_2; - DAT_8004486c += 1; - *(float *)(&DAT_80080018 + iVar2) = *param_3; - *(float *)(&DAT_8008001c + iVar2) = param_3[1]; - *(float *)(&DAT_80080020 + iVar2) = param_3[2]; - fVar4 = param_3[3]; - *(uint *)(&DAT_80080028 + iVar2) = param_4; - *(float *)(&DAT_80080024 + iVar2) = fVar4; - } - return 0; -} - - - -void FUN_7f0b4774(void) - -{ - undefined4 *puVar1; - - DAT_8004486c = 0; - DAT_80041447 = 0; - DAT_80041497 = 0; - puVar1 = (undefined4 *)&DAT_800414e4; - do { - puVar1 = puVar1 + 0x50; - *(undefined *)((int)puVar1 + 3) = 0; - *(undefined *)((int)puVar1 + 0x53) = 0; - *(undefined *)((int)puVar1 + 0xa3) = 0; - *(undefined *)((int)puVar1 + 0xf3) = 0; - puVar1 = puVar1; - } while (puVar1 != &DAT_80044324); - return; -} - - - -undefined8 FUN_7f0b47bc(int param_1,int *param_2) - -{ - int iVar1; - int *piVar2; - - iVar1 = 0; - if (0 < DAT_8004486c) { - piVar2 = (int *)&DAT_80080010; - do { - iVar1 += 1; - if (param_1 == *piVar2) { - *param_2 = piVar2[2]; - param_2[1] = piVar2[3]; - param_2[2] = piVar2[4]; - param_2[3] = piVar2[5]; - return 1; - } - piVar2 = piVar2 + 7; - } while (iVar1 < DAT_8004486c); - } - *param_2 = 0; - param_2[1] = 0; - param_2[2] = 0; - param_2[3] = 0; - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f0b483c(longlong param_1) - -{ - longlong lVar1; - uint *puVar2; - uint *puVar3; - uint uVar4; - int iVar5; - undefined4 *puVar6; - int iVar7; - int3 iVar8; - int5 iVar9; - undefined *puVar10; - longlong lVar11; - longlong lVar12; - longlong lVar13; - longlong lVar14; - - puVar6 = (undefined4 *)param_1; - iVar5 = DAT_8004486c >> 0x1f; - lVar14 = 99999999; - lVar13 = 0; - if (0 < DAT_8004486c) { - puVar10 = &DAT_80080010; - iVar7 = _DAT_80080014; - while( true ) { - iVar9 = (int5)iVar7; - iVar8 = (int3)(iVar7 >> 0x1f); - if (lVar13 < CONCAT35(iVar8,iVar9)) { - lVar13 = CONCAT35(iVar8,iVar9); - } - if (CONCAT35(iVar8,iVar9) < lVar14) { - lVar14 = CONCAT35(iVar8,iVar9); - } - if (&DAT_80080010 + DAT_8004486c * 0x1c <= puVar10 + 0x1c) break; - iVar7 = *(int *)(puVar10 + 0x20); - puVar10 = puVar10 + 0x1c; - } - } - if (lVar14 <= lVar13) { - iVar7 = DAT_8004486c; - lVar12 = lVar14; - do { - lVar11 = 0; - if (0 < CONCAT44(iVar5,iVar7)) { - puVar2 = (uint *)&DAT_80080010; - do { - if (lVar12 == (longlong)(int)puVar2[1]) { - puVar6 = (undefined4 *)param_1; - *puVar6 = 0x1030040; - uVar4 = FUN_7f078964(); - uVar4 = osVirtualToPhysical(uVar4); - puVar6[1] = uVar4; - puVar6 = FUN_7f0bbe48(puVar6 + 2); - iVar5 = get_debug_007_unlock_flag(); - if ((iVar5 != 0) && (iVar5 = FUN_7f0be4a0(), iVar5 != 0)) { - lVar1 = loc_7F03A950((longlong)(int)puVar6,*puVar2,0); - puVar6 = (undefined4 *)lVar1; - } - *puVar6 = 0x1030040; - uVar4 = FUN_7f078984(); - uVar4 = osVirtualToPhysical(uVar4); - puVar6[1] = uVar4; - puVar3 = FUN_7f0b5ba4(puVar6 + 2,(float)puVar2[2],(float)puVar2[3],(float)puVar2[4], - (float)puVar2[5]); - puVar6 = FUN_7f0bbc20((undefined4 *)(uVar4 & 0xffffff00 | (uint)puVar3 >> 0x18),0); - iVar5 = get_debug_VisCVG_flag(); - if ((iVar5 != 0) && (iVar5 = FUN_7f0be4a0(), iVar5 != 0)) { - puVar6 = FUN_7f0b732c(puVar6,*puVar2); - } - *puVar6 = 0x1030040; - uVar4 = FUN_7f078964(); - uVar4 = osVirtualToPhysical(uVar4); - puVar6[1] = uVar4; - puVar6 = FUN_7f0bbe48(puVar6 + 2); - param_1 = (longlong)(int)puVar6; - iVar5 = get_debug_007_unlock_flag(); - if ((iVar5 != 0) && (iVar5 = FUN_7f0be4a0(), iVar5 != 0)) { - param_1 = loc_7F03A950(param_1,*puVar2,2); - } - iVar5 = DAT_8004486c >> 0x1f; - iVar7 = DAT_8004486c; - } - lVar11 = (longlong)((int)lVar11 + 1); - puVar2 = puVar2 + 7; - } while (lVar11 < CONCAT44(iVar5,iVar7)); - } - puVar6 = (undefined4 *)param_1; - lVar12 = (longlong)((int)lVar12 + 1); - } while ((longlong)((int)lVar13 + 1) != lVar12); - } - puVar2 = FUN_7f0bbe48(puVar6); - puVar3 = FUN_7f0b5b64(puVar2); - puVar2 = puVar3 + 2; - *puVar3 = 0x1030040; - uVar4 = FUN_7f078984(); - uVar4 = osVirtualToPhysical(uVar4); - puVar3[1] = uVar4; - iVar5 = FUN_7f0be4a0(); - if (iVar5 != 0) { - puVar6 = loc_7F0A0C48(puVar2); - puVar2 = FUN_7f0a291c(puVar6); - } - lVar12 = (longlong)(int)puVar2; - iVar5 = DAT_8004486c >> 0x1f; - if (lVar14 <= lVar13) { - iVar7 = DAT_8004486c; - do { - lVar11 = 0; - if (0 < CONCAT44(iVar5,iVar7)) { - puVar2 = (uint *)&DAT_80080010; - do { - if (lVar13 == (longlong)(int)puVar2[1]) { - puVar6 = (undefined4 *)lVar12; - *puVar6 = 0x1030040; - uVar4 = FUN_7f078984(); - uVar4 = osVirtualToPhysical(uVar4); - puVar6[1] = uVar4; - puVar3 = FUN_7f0b5ba4(puVar6 + 2,(float)puVar2[2],(float)puVar2[3],(float)puVar2[4], - (float)puVar2[5]); - puVar6 = FUN_7f0bbc20((undefined4 *)(uVar4 & 0xffffff00 | (uint)puVar3 >> 0x18),1); - iVar5 = get_debug_VisCVG_flag(); - if ((iVar5 != 0) && (iVar5 = FUN_7f0be4a0(), iVar5 != 0)) { - puVar6 = FUN_7f0b7448(puVar6,*puVar2); - } - *puVar6 = 0x1030040; - uVar4 = FUN_7f078964(); - uVar4 = osVirtualToPhysical(uVar4); - puVar6[1] = uVar4; - puVar6 = FUN_7f0bbe48(puVar6 + 2); - lVar12 = (longlong)(int)puVar6; - iVar5 = get_debug_007_unlock_flag(); - if ((iVar5 != 0) && (iVar5 = FUN_7f0be4a0(), iVar5 != 0)) { - lVar12 = loc_7F03A950(lVar12,*puVar2,1); - } - iVar5 = DAT_8004486c >> 0x1f; - iVar7 = DAT_8004486c; - } - lVar11 = (longlong)((int)lVar11 + 1); - puVar2 = puVar2 + 7; - } while (lVar11 < CONCAT44(iVar5,iVar7)); - } - lVar13 = (longlong)((int)lVar13 + -1); - } while (lVar13 != (longlong)((int)lVar14 + -1)); - } - return lVar12; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b4be4(int param_1) - -{ - int iVar1; - int iVar2; - - if (*(int *)(_DAT_8007fffc + param_1 * 0x18 + 4) == 0) { - iVar1 = _DAT_8007fffc + param_1 * 0x18; - iVar2 = *(int *)(iVar1 + 0x1c); - while( true ) { - param_1 += 1; - if (iVar2 != 0) break; - iVar2 = *(int *)(iVar1 + 0x34); - iVar1 = iVar1 + 0x18; - } - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b4c34(int param_1) - -{ - int iVar1; - int iVar2; - - if (*(int *)(_DAT_8007fffc + param_1 * 0x18 + 8) == 0) { - iVar1 = _DAT_8007fffc + param_1 * 0x18; - iVar2 = *(int *)(iVar1 + 0x20); - while( true ) { - param_1 += 1; - if (iVar2 != 0) break; - iVar2 = *(int *)(iVar1 + 0x38); - iVar1 = iVar1 + 0x18; - } - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b4c84(int param_1) - -{ - int iVar1; - int iVar2; - - if (*(int *)(_DAT_8007fffc + param_1 * 0x18) == 0) { - iVar1 = _DAT_8007fffc + param_1 * 0x18; - iVar2 = *(int *)(iVar1 + 0x18); - while( true ) { - param_1 += 1; - if (iVar2 != 0) break; - iVar2 = *(int *)(iVar1 + 0x30); - iVar1 = iVar1 + 0x18; - } - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b4cd4(int param_1) - -{ - char cVar1; - byte bVar2; - int *piVar4; - int iVar5; - ulonglong uVar3; - char *pcVar6; - undefined1 *puVar7; - int *piVar8; - undefined4 *puVar9; - int iVar10; - int iVar11; - int iVar12; - int aiStack72 [18]; - - DAT_80041430 = 0; - puVar9 = (undefined4 *)&DAT_80041444; - do { - puVar9 = puVar9 + 0x14; - puVar9[0xb] = 0; - puVar9 = puVar9; - } while (puVar9 < &DAT_80044324); - piVar4 = &DAT_800444bc; - iVar11 = 0; - do { - iVar10 = iVar11; - if (param_1 != *piVar4) { - iVar10 = DAT_80041430; - } - DAT_80041430 = iVar10; - iVar11 += 1; - piVar4 = piVar4 + 6; - } while (iVar11 < 0x26); - FUN_7f0bc080(); - _DAT_8007c000 = aiStack72; - FUN_7f0bd92c((&PTR_s_bg_bg_sev_all_p_seg_800444c0)[DAT_80041430 * 6],(int)_DAT_8007c000,0,0x40); - _DAT_8007fff4 = _DAT_8007c000; - _DAT_8007fffc = (int *)(_DAT_8007c000[1] + (int)_DAT_8007c000 + -0xf000000); - iVar11 = ((*(uint *)(_DAT_8007c000[1] + (int)_DAT_8007c000 + -0xeffffe8) & 0xffffff) - 1 | 0xf) + - 1; - _DAT_8007c000 = (int *)FUN_70009730(iVar11,4); - FUN_7f0bd92c((&PTR_s_bg_bg_sev_all_p_seg_800444c0)[DAT_80041430 * 6],(int)_DAT_8007c000,0,iVar11); - _DAT_8007c004 = FUN_7f0bd8b4((&PTR_s_Tbg_sev_all_p_stanZ_800444c4)[DAT_80041430 * 6],2,0,4); - FUN_7f0b3adc(_DAT_8007c004,0,_DAT_8007c004); - FUN_7f0b0168(_DAT_8007c004); - FUN_7f0b53c0((float)(&DAT_800444c8)[DAT_80041430 * 6]); - FUN_7f0b3500((float)(&DAT_800444c8)[DAT_80041430 * 6]); - FUN_7f09209c((float)(&DAT_800444c8)[DAT_80041430 * 6]); - sub_7F022E1C(); - DAT_8004142c = (float)(&DAT_800444cc)[DAT_80041430 * 6]; - FUN_7f089e40(DAT_8004142c); - FUN_7f05916c(DAT_8004142c); - _DAT_8007c008 = *_DAT_8007c000; - _DAT_8007fff8 = 1; - if (_DAT_8007c008 == 0) { - _DAT_8007fff8 = 2; - iVar11 = _DAT_8007c000[1] + (int)_DAT_8007c000; - _DAT_8007fffc = (int *)(iVar11 + -0xf000000); - DAT_80044324 = 0; - if (*(int *)(iVar11 + -0xeffffe4) != 0) { - DAT_80044324 = 0; - iVar11 = iVar11 + -0xeffffe8; - do { - DAT_80044324 += 1; - piVar4 = (int *)(iVar11 + 0x1c); - iVar11 = iVar11 + 0x18; - } while (*piVar4 != 0); - } - piVar4 = (int *)((int)_DAT_8007c000 + _DAT_8007c000[2] + -0xf000000); - if (_DAT_8007c000[3] == 0) { - _DAT_80080000 = NULL; - } - else { - _DAT_80080000 = (char *)((int)_DAT_8007c000 + _DAT_8007c000[3] + -0xf000000); - if (_DAT_8007c000[4] == 0) { - _DAT_80080004 = 0; - } - else { - _DAT_80080004 = (int)_DAT_8007c000 + _DAT_8007c000[4] + -0xf000000; - } - } - iVar10 = 0; - iVar11 = *piVar4; - _DAT_8007fff0 = piVar4; - _DAT_8007fff4 = _DAT_8007c000; - while (iVar11 != 0) { - iVar10 += 8; - *piVar4 = (int)_DAT_8007c000 + iVar11 + -0xf000000; - piVar4 = (int *)((int)_DAT_8007fff0 + iVar10); - iVar11 = *piVar4; - } - if (_DAT_80080000 != NULL) { - cVar1 = *_DAT_80080000; - iVar11 = 0; - pcVar6 = _DAT_80080000; - while (cVar1 != '\0') { - if (cVar1 == 'd') { - iVar10 = FUN_7f0b6a38((int)_DAT_8007c000 + *(int *)(pcVar6 + 4) + -0xf000000); - *(int *)(_DAT_80080000 + iVar11 + 4) = iVar10; - pcVar6 = _DAT_80080000 + iVar11; - cVar1 = pcVar6[8]; - } - else { - cVar1 = pcVar6[8]; - } - iVar11 += 8; - pcVar6 = pcVar6 + 8; - } - } - iVar11 = 1; - if (1 < DAT_80044324) { - iVar10 = 0x18; - puVar7 = &DAT_80041494; - piVar4 = _DAT_8007fffc; - do { - piVar8 = piVar4 + 6; - puVar7[2] = 0; - puVar7[0x35] = 0; - if (piVar4[7] == 0) { - *(undefined4 *)(puVar7 + 0x14) = 0; - } - else { - iVar12 = FUN_7f0b4be4(iVar11 + 1); - iVar5 = FUN_7f0b4c34(iVar11); - if (iVar5 < iVar12) { - piVar8 = (int *)((int)_DAT_8007fffc + iVar10); - *(int *)(puVar7 + 0x14) = _DAT_8007fffc[iVar5 * 6 + 2] - piVar8[1]; - } - else { - piVar8 = (int *)((int)_DAT_8007fffc + iVar10); - *(int *)(puVar7 + 0x14) = _DAT_8007fffc[iVar12 * 6 + 1] - piVar8[1]; - } - } - iVar11 += 1; - if (piVar8[2] == 0) { - *(undefined4 *)(puVar7 + 0x18) = 0; - } - else { - iVar12 = FUN_7f0b4be4(iVar11); - iVar5 = FUN_7f0b4c34(iVar11); - if (iVar5 < iVar12) { - piVar8 = (int *)((int)_DAT_8007fffc + iVar10); - *(int *)(puVar7 + 0x18) = _DAT_8007fffc[iVar5 * 6 + 2] - piVar8[2]; - } - else { - piVar8 = (int *)((int)_DAT_8007fffc + iVar10); - *(int *)(puVar7 + 0x18) = _DAT_8007fffc[iVar12 * 6 + 1] - piVar8[2]; - } - } - if (*piVar8 == 0) { - *(undefined4 *)(puVar7 + 0x10) = 0; - iVar12 = DAT_80044324; - } - else { - iVar5 = FUN_7f0b4c84(iVar11); - iVar12 = DAT_80044324; - piVar8 = (int *)((int)_DAT_8007fffc + iVar10); - *(int *)(puVar7 + 0x10) = _DAT_8007fffc[iVar5 * 6] - *piVar8; - } - iVar10 += 0x18; - *(undefined4 *)(puVar7 + 0x28) = 0xffffffff; - puVar7 = puVar7 + 0x50; - piVar4 = piVar8; - } while (iVar11 < iVar12); - } - iVar11 = 1; - FUN_7f0bd0e0(); - if (1 < DAT_80044324) { - do { - FUN_7f0b9ee8(iVar11); - iVar11 += 1; - } while (iVar11 < DAT_80044324); - } - puVar7 = &DAT_800443f4; - iVar11 = *_DAT_8007fff0; - iVar12 = 0; - iVar10 = 0; - piVar4 = _DAT_8007fff0; - if (iVar11 != 0) { - do { - uVar3 = FUN_7f0ba4ec(iVar12); - piVar4 = _DAT_8007fff0; - iVar10 += 8; - piVar8 = (int *)((int)_DAT_8007fff0 + iVar10); - *puVar7 = (char)uVar3; - iVar12 += 1; - puVar7 = puVar7 + 1; - } while (*piVar8 != 0); - iVar11 = *piVar4; - } - iVar12 = 0; - iVar10 = 0; - while (iVar11 != 0) { - FUN_7f0ba744(iVar12); - iVar10 += 8; - iVar12 += 1; - iVar11 = *(int *)((int)_DAT_8007fff0 + iVar10); - piVar4 = _DAT_8007fff0; - } - uVar3 = 0; - if (DAT_80044324 < 1) { - iVar11 = *piVar4; - } - else { - do { - FUN_7f0ba188(uVar3); - uVar3 = SEXT48((int)uVar3 + 1); - } while ((longlong)uVar3 < (longlong)DAT_80044324); - iVar11 = *_DAT_8007fff0; - piVar4 = _DAT_8007fff0; - } - iVar10 = 0; - if (iVar11 != 0) { - bVar2 = *(byte *)((int)piVar4 + 6); - while( true ) { - iVar10 += 8; - *(byte *)((int)piVar4 + 6) = bVar2 & 0xfe; - piVar4 = (int *)((int)_DAT_8007fff0 + iVar10); - if (*piVar4 == 0) break; - bVar2 = *(byte *)((int)piVar4 + 6); - } - } - FUN_7f0b439c(); - } - FUN_7f0bb60c(); - DAT_80044328 = 200; - return; -} - - - -void FUN_7f0b5390(void) - -{ - FUN_7f0b722c(); - FUN_7f05916c(1.00000000); - return; -} - - - -void FUN_7f0b53c0(float param_1) - -{ - DAT_80041424 = param_1; - DAT_80041428 = 1.00000000 / param_1; - return; -} - - - -undefined4 FUN_7f0b53e0(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f0b53ec(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f0b5428(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0B4A14(void) - -{ - int iVar3; - undefined4 uVar4; - ulonglong uVar1; - float *pfVar5; - float *pfVar6; - longlong lVar2; - int *piVar7; - int *piVar8; - int iVar9; - int iVar10; - char *pcVar11; - int iVar12; - int iVar13; - - iVar12 = -1; - _DAT_8007c0a8 = 0; - iVar3 = get_cur_playernum(); - iVar3 = FUN_7f09c078(iVar3); - if (iVar3 == 0) { - FUN_7f0b7298(); - } - uVar4 = FUN_7f07ab48(); - DAT_80044328 = 3; - if (true) { - switch(uVar4) { - default: - DAT_80044328 = 200; - } - } - uVar1 = FUN_7f08a6d0(); - DAT_80044868 = (undefined4)uVar1; - pfVar5 = (float *)FUN_7f08a70c(); - pfVar6 = (float *)FUN_7f08a738(); - iVar13 = 0; - iVar3 = *_DAT_8007fff0; - piVar7 = _DAT_8007fff0; - do { - pcVar11 = &DAT_800443f4; - iVar10 = 0; - piVar8 = piVar7; - if (iVar3 != 0) { - iVar3 = 0; - piVar8 = piVar7; - do { - if (*pcVar11 == '\0') { - if (iVar10 == iVar12) { - iVar9 = piVar7[2]; - } - else { - if (((uVar1 == (ulonglong)*(byte *)(piVar7 + 1)) || - (uVar1 == (ulonglong)*(byte *)((int)piVar7 + 5))) && - (lVar2 = loc_7F0BA258(iVar10,pfVar5,pfVar6), lVar2 != 0)) { - uVar1 = (ulonglong)*(byte *)((int)_DAT_8007fff0 + iVar3 + 5) ^ - uVar1 ^ (ulonglong)*(byte *)((int)_DAT_8007fff0 + iVar3 + 4); - iVar12 = iVar10; - piVar8 = _DAT_8007fff0; - break; - } - piVar7 = (int *)((int)_DAT_8007fff0 + iVar3); - iVar9 = piVar7[2]; - piVar8 = _DAT_8007fff0; - } - } - else { - iVar9 = piVar7[2]; - } - iVar10 += 1; - pcVar11 = pcVar11 + 1; - iVar3 += 8; - piVar7 = piVar7 + 2; - } while (iVar9 != 0); - } - piVar7 = piVar8; - iVar13 += 1; - if ((piVar7[iVar10 * 2] == 0) || (iVar13 == 0xb)) { - DAT_80044868 = (undefined4)uVar1; - FUN_7f0b961c(); - return; - } - iVar3 = *piVar7; - } while( true ); -} - - - -void locret_7F0B4AAC(char *param_1,char param_2) - -{ - char cVar1; - int iVar2; - char *pcVar3; - - iVar2 = 0; - if (*param_1 != -1) { - cVar1 = *param_1; - pcVar3 = param_1; - do { - iVar2 += 1; - if (param_2 == cVar1) { - return; - } - pcVar3 = pcVar3 + 1; - } while ((iVar2 < 0x10) && (cVar1 = *pcVar3, cVar1 != -1)); - } - if (iVar2 < 0xf) { - param_1[iVar2] = param_2; - (param_1 + iVar2)[1] = -1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b5664(float *param_1,float *param_2,byte *param_3,int param_4,uint *param_5,int *param_6 - ,int param_7) - -{ - undefined8 uVar1; - char cVar2; - byte *pbVar3; - int *piVar4; - byte *pbVar5; - byte *pbVar6; - int *piVar7; - byte bVar8; - char *pcVar9; - int iVar10; - undefined auStackX0 [12]; - int iStackX12; - char acStack260 [200]; - int iStack60; - int iStack52; - byte abStack48 [8]; - byte abStack40 [8]; - byte bStack32; - byte bStack31; - byte abStack16 [8]; - byte abStack8 [8]; - - iStackX12 = param_4; - if (*_DAT_8007fff0 != 0) { - pcVar9 = acStack260; - iVar10 = 0; - iStack52 = 0; - iStackX12 = param_4; - do { - uVar1 = loc_7F0BA258(iStack52,param_1,param_2); - *pcVar9 = (char)uVar1; - iVar10 += 8; - iStack52 += 1; - pcVar9 = pcVar9 + 1; - } while (*(int *)((int)_DAT_8007fff0 + iVar10) != 0); - } - piVar7 = _DAT_8007fff0; - pbVar5 = abStack16; - pbVar6 = param_3; - do { - bVar8 = *pbVar6; - pbVar3 = pbVar5 + 1; - pbVar6 = pbVar6 + 1; - *pbVar5 = bVar8; - pbVar5 = pbVar3; - } while (pbVar3 < abStack8); - pbVar5 = abStack48; - do { - bVar8 = *param_3; - pbVar6 = pbVar5 + 1; - param_3 = param_3 + 1; - *pbVar5 = bVar8; - pbVar5 = pbVar6; - } while (pbVar6 < abStack40); - if (abStack16[0] != 0xff) { - pbVar5 = abStack16; - while ((abStack16[1] != 0xff && (pbVar5 + 1 != (byte *)register0x000000ec))) { - abStack16[1] = pbVar5[2]; - pbVar5 = pbVar5 + 1; - } - } - do { - iStack60 = 0; - bStack32 = 0xff; - iStack52 = 0; - iVar10 = 0; - piVar4 = piVar7; - if (*piVar7 == 0) { - bStack32 = 0xff; - } - else { - do { - pcVar9 = acStack260 + iStack52; - if (abStack16[0] != 0xff) { - pbVar5 = abStack16; - cVar2 = *pcVar9; - while( true ) { - if ((cVar2 == '\x01') && (*(byte *)(piVar4 + 1) == *pbVar5)) { - locret_7F0B4AAC((char *)&bStack32,*(char *)((int)piVar4 + 5)); - locret_7F0B4AAC((char *)abStack48,*(char *)((int)_DAT_8007fff0 + iVar10 + 5)); - piVar7 = _DAT_8007fff0; - *pcVar9 = '\0'; - cVar2 = '\0'; - piVar4 = (int *)((int)piVar7 + iVar10); - } - if (cVar2 == '\x02') { - if (*(byte *)((int)piVar4 + 5) == *pbVar5) { - locret_7F0B4AAC((char *)&bStack32,*(char *)(piVar4 + 1)); - locret_7F0B4AAC((char *)abStack48,*(char *)((int)_DAT_8007fff0 + iVar10 + 4)); - piVar7 = _DAT_8007fff0; - *pcVar9 = '\0'; - piVar4 = (int *)((int)piVar7 + iVar10); - bVar8 = pbVar5[1]; - } - else { - bVar8 = pbVar5[1]; - } - } - else { - bVar8 = pbVar5[1]; - } - pbVar5 = pbVar5 + 1; - if ((bVar8 == 0xff) || (pbVar5 == (byte *)register0x000000ec)) break; - cVar2 = *pcVar9; - } - } - iVar10 += 8; - piVar4 = piVar4 + 2; - iStack52 += 1; - } while (*piVar4 != 0); - } - pbVar6 = &bStack32; - pbVar5 = abStack16; - if (bStack32 == 0xff) break; - do { - bVar8 = *pbVar6; - pbVar6 = pbVar6 + 1; - *pbVar5 = bVar8; - pbVar5 = pbVar5 + 1; - } while (pbVar6 < abStack16); - bVar8 = bStack31; - pbVar5 = &bStack32; - if (bStack32 != 0xff) { - while( true ) { - if ((bVar8 == 0xff) || (pbVar5 + 1 == abStack16)) break; - bVar8 = pbVar5[2]; - pbVar5 = pbVar5 + 1; - } - } - iStack60 = 0; - } while (bStack32 != 0xff); - if (abStack16[0] != 0xff) { - pbVar5 = abStack16 + iStack60; - pbVar6 = (byte *)(iStackX12 + iStack60); - *pbVar6 = *pbVar5; - while( true ) { - pbVar5 = pbVar5 + 1; - pbVar6 = pbVar6 + 1; - iStack60 += 1; - if ((6 < iStack60) || (*pbVar5 == 0xff)) break; - *pbVar6 = *pbVar5; - } - } - *(undefined *)(iStackX12 + iStack60) = 0xff; - iStack60 = 0; - if (0 < param_7) { - pbVar5 = abStack48; - if (abStack48[0] == 0xff) { - iStack60 = 0; - } - else { - *param_5 = (uint)abStack48[0]; - while( true ) { - pbVar5 = pbVar5 + 1; - param_5 = param_5 + 1; - iStack60 += 1; - if ((param_7 <= iStack60) || (*pbVar5 == 0xff)) break; - *param_5 = (uint)*pbVar5; - } - } - } - *param_6 = iStack60; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0B4F68(undefined4 *param_1) - -{ - undefined4 uVar1; - int iVar2; - uint *puVar3; - undefined4 *puVar4; - - *param_1 = 0xbc000002; - param_1[1] = 0x80000040; - param_1[2] = 0x3860010; - param_1[3] = 0x80044878; - param_1[4] = 0x3880010; - param_1[5] = 0x80044870; - param_1[6] = 0x3840010; - uVar1 = FUN_7f078a64(); - param_1[7] = uVar1; - param_1[8] = 0x3820010; - iVar2 = FUN_7f078a64(); - param_1[9] = iVar2 + 0x10; - param_1[10] = 0xbc003c06; - param_1[0xb] = _DAT_8007c000; - if (_DAT_8007fff8 == 1) { - param_1[0xc] = 0x6000000; - puVar4 = param_1 + 0xe; - param_1[0xd] = _DAT_8007c008; - } - else { - puVar4 = FUN_7f0bbc20(param_1 + 0xc,0); - puVar3 = FUN_7f0b9928((longlong)(int)puVar4); - puVar3 = FUN_7f0b5b64(puVar3); - puVar4 = FUN_7f0bbe48(puVar3); - } - *puVar4 = 0x1030040; - puVar4[1] = _DAT_80060860; - puVar4 = FUN_7f08c57c(puVar4 + 2); - return puVar4; -} - - - -undefined4 FUN_7f0b5b4c(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0b5b64(uint *param_1) - -{ - uint *puVar1; - - puVar1 = FUN_7f0b5c08(param_1,(longlong)*(short *)(_DAT_8007a120 + 0x7f4), - (longlong)*(short *)(_DAT_8007a120 + 0x7f6), - (int)*(short *)(_DAT_8007a120 + 0x7f4) + - (int)*(short *)(_DAT_8007a120 + 0x7f0), - (int)*(short *)(_DAT_8007a120 + 0x7f6) + - (int)*(short *)(_DAT_8007a120 + 0x7f2)); - return puVar1; -} - - - -uint * FUN_7f0b5ba4(uint *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - int iVar1; - int iVar2; - uint *puVar3; - undefined4 in_v1_hi; - - iVar1 = locret_7F05C510(param_4); - iVar2 = locret_7F05C510(param_5); - puVar3 = FUN_7f0b5c08(param_1,(longlong)(int)param_2,(longlong)(int)param_3,iVar1,iVar2); - return (uint *)CONCAT13((char)puVar3,(int3)((uint)in_v1_hi >> 8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0b5c08(uint *param_1,longlong param_2,longlong param_3,int param_4,int param_5) - -{ - short sVar1; - short sVar2; - int iVar3; - int iVar4; - int iVar5; - int local_resc; - - iVar3 = (int)param_2; - sVar1 = *(short *)(_DAT_8007a120 + 0x7f4); - if (param_2 < (longlong)sVar1) { - iVar3 = (int)sVar1; - sVar2 = *(short *)(_DAT_8007a120 + 0x7f6); - } - else { - sVar2 = *(short *)(_DAT_8007a120 + 0x7f6); - } - iVar4 = (int)param_3; - if (param_3 < (longlong)sVar2) { - iVar4 = (int)sVar2; - } - iVar5 = (int)sVar1 + (int)*(short *)(_DAT_8007a120 + 0x7f0); - local_resc = param_4; - if (iVar5 < param_4) { - local_resc = iVar5; - } - iVar5 = (int)sVar2 + (int)*(short *)(_DAT_8007a120 + 0x7f2); - if (param_5 <= iVar5) { - iVar5 = param_5; - } - *param_1 = ((int)((float)iVar3 * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)iVar4 * 4.00000000) & 0xfffU; - param_1[1] = ((int)((float)local_resc * 4.00000000) & 0xfffU) << 0xc | - (int)((float)iVar5 * 4.00000000) & 0xfffU; - return param_1 + 2; -} - - - -void FUN_7f0b5d18(void) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)&DAT_80081688; - do { - puVar1 = puVar1 + 0x14; - puVar1[5] = 0xffffffff; - puVar1[10] = 0xffffffff; - puVar1[0xf] = 0xffffffff; - *puVar1 = 0xffffffff; - puVar1 = puVar1; - } while (puVar1 != (undefined4 *)0x80082628); - return; -} - - - -undefined8 loc_7F0B5464(int param_1,float *param_2) - -{ - ulonglong uVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - uint uVar9; - float fVar10; - undefined4 uStack60; - float fStack56; - float fStack28; - undefined4 uStack24; - undefined4 uStack20; - float fStack16; - float fStack12; - float fStack8; - uint uStack4; - - iVar3 = 0; - iVar8 = 0; - iVar4 = 0; - iVar5 = 0; - iVar6 = 0; - iVar7 = 0; - FUN_700046ac(&uStack60); - fStack56 = fStack56 / DAT_8004142c; - param_1 *= 0x50; - uStack4 = 0; - uVar9 = 0; - do { - if (uVar9 == 0) { - fStack28 = *(float *)(&DAT_80041488 + param_1); - } - else { - fStack28 = *(float *)(&DAT_8004147c + param_1); - } - if ((uStack4 & 2) == 0) { - uStack24 = *(undefined4 *)(&DAT_8004148c + param_1); - } - else { - uStack24 = *(undefined4 *)(&DAT_80041480 + param_1); - } - if ((uStack4 & 4) == 0) { - uStack20 = *(undefined4 *)(&DAT_80041490 + param_1); - } - else { - uStack20 = *(undefined4 *)(&DAT_80041484 + param_1); - } - uVar1 = FUN_7f0b6038(&fStack28,&fStack16); - if (uVar1 == 0) { - if (fStack56 <= -fStack8) { - iVar3 += 1; - fVar10 = *param_2; - } - else { - fVar10 = *param_2; - } - if (fVar10 <= fStack16) { - iVar4 += 1; - fVar10 = param_2[2]; - } - else { - fVar10 = param_2[2]; - } - if (fStack16 <= fVar10) { - iVar5 += 1; - fVar10 = param_2[1]; - } - else { - fVar10 = param_2[1]; - } - if (fVar10 <= fStack12) { - iVar6 += 1; - fVar10 = param_2[3]; - } - else { - fVar10 = param_2[3]; - } - if (fStack12 <= fVar10) { - iVar7 += 1; - } - iVar8 += 1; - } - else { - if (fStack56 <= -fStack8) { - iVar3 += 1; - fVar10 = *param_2; - } - else { - fVar10 = *param_2; - } - if (fStack16 <= fVar10) { - iVar4 += 1; -LAB_7f0b5f9c: - fVar10 = param_2[1]; - } - else { - if (param_2[2] <= fStack16) { - iVar5 += 1; - goto LAB_7f0b5f9c; - } - fVar10 = param_2[1]; - } - if (fStack12 <= fVar10) { - iVar6 += 1; - } - else { - if (param_2[3] <= fStack12) { - iVar7 += 1; - } - } - } - uStack4 += 1; - if (uStack4 == 8) { - if ((((iVar8 == 8) || (iVar3 == 8)) || (iVar4 == 8)) || - (((iVar5 == 8 || (iVar6 == 8)) || (uVar2 = 1, iVar7 == 8)))) { - uVar2 = 0; - } - return uVar2; - } - uVar9 = uStack4 & 1; - } while( true ); -} - - - -ulonglong FUN_7f0b6038(float *param_1,float *param_2) - -{ - float *pfVar1; - - pfVar1 = (float *)FUN_7f0789b4(); - *param_2 = *param_1 * DAT_80041428; - param_2[1] = param_1[1] * DAT_80041428; - param_2[2] = param_1[2] * DAT_80041428; - FUN_7f058994(pfVar1,param_2); - loc_7F078094(param_2,param_2); - return (ulonglong)(param_2[2] <= 0.00000000); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong loc_7F0B5828(int param_1,float param_2,float *param_3) - -{ - bool bVar1; - undefined uVar3; - float *pfVar2; - int in_v1_hi; - float *in_v1_lo; - float *pfVar4; - ulonglong uVar5; - int iVar6; - ulonglong uVar7; - int iVar8; - float *pfVar9; - longlong lVar10; - byte *pbVar11; - float fVar12; - float fVar13; - float fVar14; - float fStack48; - float fStack44; - float fStack40; - undefined4 uStack24; - float fStack20; - float *pfStack4; - - pfStack4 = (float *)FUN_7f0789b4(); - bVar1 = true; - FUN_700046ac(&uStack24); - fVar14 = DAT_80058cbc; - fStack20 = fStack20 / DAT_8004142c; - iVar8 = param_1 * 8; - lVar10 = 0; - pbVar11 = *(byte **)(_DAT_8007fff0 + iVar8); - uVar5 = (ulonglong)*pbVar11; - if (*pbVar11 != 0) { - iVar6 = 0; - pfVar9 = param_3; - while( true ) { - *pfVar9 = *(float *)(pbVar11 + 4); - pfVar9[1] = *(float *)(*(int *)(_DAT_8007fff0 + iVar8) + iVar6 + 8); - pfVar9[2] = *(float *)(*(int *)(_DAT_8007fff0 + iVar8) + iVar6 + 0xc); - if (param_2 != 0.00000000) { - FUN_7f0ba27c(param_1,&fStack48); - *pfVar9 = *pfVar9 + fStack48 * param_2; - pfVar9[1] = pfVar9[1] + fStack44 * param_2; - pfVar9[2] = pfVar9[2] + fStack40 * param_2; - } - *pfVar9 = *pfVar9 * DAT_80041428; - pfVar9[1] = pfVar9[1] * DAT_80041428; - pfVar9[2] = pfVar9[2] * DAT_80041428; - FUN_7f058994(pfStack4,pfVar9); - if (-fStack20 * fVar14 < pfVar9[2]) { - bVar1 = false; - } - lVar10 = (longlong)((int)lVar10 + 1); - iVar6 += 0xc; - pfVar9 = pfVar9 + 3; - uVar5 = (ulonglong)**(byte **)(_DAT_8007fff0 + iVar8); - if ((longlong)uVar5 <= lVar10) break; - pbVar11 = *(byte **)(_DAT_8007fff0 + iVar8) + iVar6; - } - } - uVar3 = (undefined)uVar5; - if (bVar1) { - uVar3 = 0; - } - else { - lVar10 = 0; - uVar7 = uVar5; - pfVar9 = param_3; - if (uVar5 != 0) { - do { - iVar6 = (int)lVar10 + 1; - lVar10 = (longlong)iVar6; - in_v1_lo = (float *)(iVar6 % (int)uVar5); - fVar14 = pfVar9[2]; - in_v1_hi = (int)in_v1_lo >> 0x1f; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((uVar5 == 0xffffffffffffffff) && (lVar10 == -0x80000000)) { - trap(0x1800); - } - if (0.00000000 < fVar14) { - pfVar2 = param_3 + (int)in_v1_lo * 3; - fVar13 = pfVar2[2]; - if (0.00000000 < fVar13) goto code_r0x7f0b6338; -LAB_7f0b6364: - iVar6 = (int)uVar7; - fVar12 = -fVar14 / (fVar13 - fVar14); - uVar7 = SEXT48(iVar6 + 1); - pfVar4 = param_3 + iVar6 * 3; - in_v1_lo = pfVar4 + 3; - in_v1_hi = (int)in_v1_lo >> 0x1f; - *pfVar4 = (*pfVar2 - *pfVar9) * fVar12 + *pfVar9; - fVar13 = pfVar2[1]; - fVar14 = pfVar9[1]; - pfVar4[2] = 0.00000000; - pfVar4[1] = (fVar13 - fVar14) * fVar12 + fVar14; - uVar5 = (ulonglong)**(byte **)(_DAT_8007fff0 + iVar8); - bVar1 = lVar10 < (longlong)uVar5; - } - else { -code_r0x7f0b6338: - if (fVar14 <= 0.00000000) { - pfVar2 = param_3 + (int)in_v1_lo * 3; - fVar13 = pfVar2[2]; - if (0.00000000 < fVar13) goto LAB_7f0b6364; - bVar1 = lVar10 < (longlong)uVar5; - } - else { - bVar1 = lVar10 < (longlong)uVar5; - } - } - uVar3 = (undefined)uVar7; - pfVar9 = pfVar9 + 3; - } while (bVar1); - } - } - return CONCAT53(CONCAT14(uVar3,in_v1_hi),(int3)((uint)in_v1_lo >> 8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0b6414(int iParm1,float *pfParm2) - -{ - ulonglong uVar1; - int iVar2; - float fVar3; - undefined4 in_v0_hi; - int iVar4; - uint in_v0_lo; - uint uVar5; - uint uVar6; - int iVar7; - float *pfVar8; - longlong lVar9; - longlong lVar10; - longlong lVar11; - int *piVar12; - float fVar13; - float fVar14; - float fStack264; - float fStack260; - float fStack256; - float fStack252; - float fStack248; - float fStack244; - float afStack240 [60]; - - iVar2 = iParm1 * 0x14; - piVar12 = (int *)(&DAT_80081688 + iVar2); - if (*piVar12 < 0) { - fVar13 = FUN_7f0ba540(iParm1); - uVar1 = loc_7F0B5828(iParm1,fVar13,afStack240); - uVar5 = in_v0_lo & 0xffffff00 | (uint)(byte)(uVar1 >> 0x38); - lVar11 = CONCAT44(in_v0_hi,uVar5); - if (0.00000000 < fVar13) { - uVar6 = uVar5; - uVar1 = loc_7F0B5828(iParm1,-fVar13,afStack240 + uVar5 * 3); - lVar11 = (longlong)(int)(uVar5 + (uVar6 & 0xffffff00 | (uint)(byte)(uVar1 >> 0x38))); - } - lVar10 = 0; - lVar9 = 0; - if (0 < lVar11) { - pfVar8 = afStack240; - do { - if (pfVar8[2] <= 0.00000000) { - loc_7F078094(pfVar8,&fStack248); - fVar13 = fStack244; - fVar14 = fStack248; - fVar3 = fStack248; - if (lVar10 == 0) { -LAB_7f0b65a4: - fStack264 = fVar3; - fStack252 = fStack244; - } - else { - fVar13 = fStack248; - if (fStack264 <= fStack248) { - fVar13 = fStack264; - } - fStack264 = fVar13; - fVar14 = fStack248; - if (fStack248 <= fStack256) { - fVar14 = fStack256; - } - fVar13 = fStack244; - if (fStack260 <= fStack244) { - fVar13 = fStack260; - } - fVar3 = fStack264; - if (fStack252 < fStack244) goto LAB_7f0b65a4; - } - lVar10 = (longlong)((int)lVar10 + 1); - fStack260 = fVar13; - fStack256 = fVar14; - } - lVar9 = (longlong)((int)lVar9 + 1); - pfVar8 = pfVar8 + 3; - } while (lVar9 != lVar11); - } - if (lVar10 == 0) { - fStack252 = 0.00000000; - fStack260 = 0.00000000; - fStack256 = 0.00000000; - fStack264 = 0.00000000; - } - else { - if ((fStack256 <= fStack264) || (fStack252 <= fStack260)) { - fStack264 = *(float *)(_DAT_8007a120 + 0x1118); - fStack260 = *(float *)(_DAT_8007a120 + 0x111c); - fStack256 = *(float *)(_DAT_8007a120 + 0x1120); - fStack252 = *(float *)(_DAT_8007a120 + 0x1124); - } - } - iVar4 = (int)((ulonglong)lVar10 >> 0x20); - iVar7 = (int)lVar10; - *pfParm2 = fStack264; - pfParm2[1] = fStack260; - pfParm2[2] = fStack256; - pfParm2[3] = fStack252; - *(float *)(iVar2 + -0x7ff7e974) = *pfParm2; - *(float *)(iVar2 + -0x7ff7e970) = pfParm2[1]; - *(float *)(iVar2 + -0x7ff7e96c) = pfParm2[2]; - fVar13 = pfParm2[3]; - *piVar12 = iVar7; - *(float *)(iVar2 + -0x7ff7e968) = fVar13; - } - else { - *pfParm2 = *(float *)(iVar2 + -0x7ff7e974); - pfParm2[1] = *(float *)(iVar2 + -0x7ff7e970); - pfParm2[2] = *(float *)(iVar2 + -0x7ff7e96c); - pfParm2[3] = *(float *)(iVar2 + -0x7ff7e968); - iVar7 = *piVar12; - iVar4 = iVar7 >> 0x1f; - } - return CONCAT44(iVar4,iVar7); -} - - - -uint * sub_7F0B5B14(uint *param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5) - -{ - param_1[1] = ((uint)param_2 & 0x3ff) << 0xe | ((uint)param_3 & 0x3ff) << 2; - *param_1 = (param_4 + 1U & 0x3ff) << 0xe | 0xf6000000 | (param_5 + 1U & 0x3ff) << 2; - return param_1 + 2; -} - - - -uint * FUN_7f0b6710(uint *param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5) - -{ - uint *puVar1; - int iVar2; - int iVar3; - - iVar2 = (int)param_2; - iVar3 = (int)param_3; - puVar1 = sub_7F0B5B14(param_1,param_2,param_3,param_4,iVar3); - puVar1 = sub_7F0B5B14(puVar1,(longlong)param_4,(longlong)iVar3,param_4,param_5); - puVar1 = sub_7F0B5B14(puVar1,(longlong)iVar2,(longlong)param_5,param_4,param_5); - puVar1 = sub_7F0B5B14(puVar1,(longlong)iVar2,(longlong)iVar3,iVar2,param_5); - return puVar1; -} - - - -undefined8 locret_7F0B5CB8(float *param_1,float *param_2) - -{ - if (*param_2 < *param_1) { - *param_1 = *param_1; - } - else { - *param_1 = *param_2; - } - if (param_2[1] < param_1[1]) { - param_1[1] = param_1[1]; - } - else { - param_1[1] = param_2[1]; - } - if (param_1[2] < param_2[2]) { - param_1[2] = param_1[2]; - } - else { - param_1[2] = param_2[2]; - } - if (param_1[3] < param_2[3]) { - param_1[3] = param_1[3]; - } - else { - param_1[3] = param_2[3]; - } - if (*param_1 < param_1[2]) { - if (param_1[1] < param_1[3]) { - return 1; - } - param_1[1] = param_1[3]; - return 0; - } - *param_1 = param_1[2]; - return 0; -} - - - -void locret_7F0B5D50(float *param_1,float *param_2) - -{ - if (*param_1 < *param_2) { - *param_1 = *param_1; - } - else { - *param_1 = *param_2; - } - if (param_1[1] < param_2[1]) { - param_1[1] = param_1[1]; - } - else { - param_1[1] = param_2[1]; - } - if (param_2[2] < param_1[2]) { - param_1[2] = param_1[2]; - } - else { - param_1[2] = param_2[2]; - } - if (param_1[3] <= param_2[3]) { - param_1[3] = param_2[3]; - return; - } - param_1[3] = param_1[3]; - return; -} - - - -void copy_4_floats_a1_to_a0(undefined4 *param_1,undefined4 *param_2) - -{ - *param_1 = *param_2; - param_1[1] = param_2[1]; - param_1[2] = param_2[2]; - param_1[3] = param_2[3]; - return; -} - - - -int FUN_7f0b6990(uint param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) - -{ - int iVar1; - - DAT_80044894 = (DAT_80044894 + 1) % 10; - iVar1 = DAT_80044894 * 9 + -0x7ff83ef0; - sprintf(iVar1,(byte *)s_ROOM_d_80058c90,param_1,param_4); - return iVar1; -} - - - -undefined4 FUN_7f0b69f4(void) - -{ - return DAT_80044324; -} - - - -ulonglong FUN_7f0b6a00(int param_1) - -{ - return (ulonglong)(byte)(&DAT_80041444)[param_1 * 0x50]; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b6a38(int param_1) - -{ - int iVar1; - int *piVar2; - int iVar3; - - iVar1 = 0; - if (*_DAT_8007fff0 != 0) { - iVar3 = *_DAT_8007fff0; - piVar2 = _DAT_8007fff0; - do { - if (param_1 == iVar3) { - return iVar1; - } - iVar3 = piVar2[2]; - iVar1 += 1; - piVar2 = piVar2 + 2; - } while (iVar3 != 0); - } - return 0; -} - - - -void FUN_7f0b6a88(void) - -{ - char *pcVar1; - int iVar2; - int iVar3; - char *pcVar4; - undefined1 *puVar5; - char acStack152 [152]; - - iVar3 = get_debug_taskgrab_val(); - iVar2 = DAT_80044324; - if (iVar3 != 0) { - puVar5 = &DAT_80041494; - iVar3 = 1; - if (1 < DAT_80044324) { - pcVar4 = acStack152; - do { - pcVar4 = pcVar4 + 1; - pcVar1 = puVar5 + 2; - puVar5 = puVar5 + 0x50; - if (*pcVar1 == '\0') { - *pcVar4 = '.'; - } - else { - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - *pcVar4 = (char)(iVar3 % 10) + '0'; - } - iVar3 += 1; - } while (iVar3 < iVar2); - } - acStack152[iVar3] = '\0'; - } - return; -} - - - -undefined4 FUN_7f0b6b3c(int param_1,undefined4 param_2) - -{ - undefined4 uVar1; - undefined auStack8448 [8448]; - - uVar1 = FUN_7f0cf4d0(param_1,param_2,auStack8448); - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0b6b5c(int param_1,int param_2,int param_3) - -{ - int iVar1; - undefined4 uVar2; - int iVar3; - uint uVar4; - - iVar1 = param_1 * 0x50; - uVar4 = *(int *)(&DAT_80041454 + iVar1) + 0xfU & 0xfffffff0; - if (param_3 < (int)(uVar4 + 0x20)) { - uVar2 = 0xffffffff; - } - else { - iVar3 = (param_3 - uVar4) + param_2; - FUN_7f0bd92c((&PTR_s_bg_bg_sev_all_p_seg_800444c0)[DAT_80041430 * 6],iVar3, - *(int *)(_DAT_8007fffc + param_1 * 0x18) + -0xf000000,uVar4); - uVar2 = FUN_7f0b6b3c(iVar3,param_2); - *(undefined4 *)(&DAT_80041460 + iVar1) = uVar2; - *(int *)(&DAT_80041448 + iVar1) = param_2; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0b6c4c(int param_1,uint *param_2,int param_3) - -{ - int iVar1; - uint *puVar2; - int iVar3; - uint *puVar4; - uint uVar5; - - iVar1 = param_1 * 0x50; - uVar5 = *(int *)(&DAT_80041458 + iVar1) + 0xfU & 0xfffffff0; - if (param_3 < (int)(uVar5 + 0x20)) { - puVar4 = (uint *)0xffffffff; - } - else { - iVar3 = (param_3 - uVar5) + (int)param_2; - FUN_7f0bd92c((&PTR_s_bg_bg_sev_all_p_seg_800444c0)[DAT_80041430 * 6],iVar3, - *(int *)(_DAT_8007fffc + param_1 * 0x18 + 4) + -0xf000000,uVar5); - puVar4 = (uint *)FUN_7f0b6b3c(iVar3,param_2); - puVar2 = (uint *)((param_3 - (int)puVar4) + (int)param_2); - locret_7F0CE7DC((int)param_2,(int)puVar2,(int)puVar4); - FUN_7f0bd074((short)param_1); - puVar2 = loc_7F0CE760(puVar2,(int)puVar4,param_2,NULL); - if ((int)puVar4 < (int)puVar2) { - puVar4 = puVar2; - } - *(uint **)(&DAT_8004144c + iVar1) = param_2; - *(uint **)(iVar1 + -0x7ffbeb9c) = puVar4; - } - return puVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0b6d8c(int param_1,uint *param_2,int param_3) - -{ - int iVar1; - uint *puVar2; - int iVar3; - uint *puVar4; - uint uVar5; - - iVar1 = param_1 * 0x50; - uVar5 = *(int *)(&DAT_8004145c + iVar1) + 0xfU & 0xfffffff0; - if (param_3 < (int)(uVar5 + 0x20)) { - puVar4 = (uint *)0xffffffff; - } - else { - iVar3 = (param_3 - uVar5) + (int)param_2; - FUN_7f0bd92c((&PTR_s_bg_bg_sev_all_p_seg_800444c0)[DAT_80041430 * 6],iVar3, - *(int *)(_DAT_8007fffc + param_1 * 0x18 + 8) + -0xf000000,uVar5); - puVar4 = (uint *)FUN_7f0b6b3c(iVar3,param_2); - puVar2 = (uint *)((param_3 - (int)puVar4) + (int)param_2); - locret_7F0CE7DC((int)param_2,(int)puVar2,(int)puVar4); - puVar2 = loc_7F0CE760(puVar2,(int)puVar4,param_2,NULL); - if ((int)puVar4 < (int)puVar2) { - puVar4 = puVar2; - } - *(uint **)(&DAT_80041450 + iVar1) = param_2; - *(uint **)(iVar1 + -0x7ffbeb98) = puVar4; - } - return puVar4; -} - - - -ulonglong FUN_7f0b6ec4(int param_1) - -{ - char cVar1; - - cVar1 = (&DAT_80041446)[param_1 * 0x50]; - (&DAT_80041479)[param_1 * 0x50] = 1; - if (cVar1 == '\0') { - FUN_7f0b6f18(param_1); - } - return (ulonglong)(cVar1 == '\0'); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b6f18(int param_1) - -{ - int *piVar1; - int iVar2; - int iVar3; - int iVar4; - uint *puVar5; - int iVar6; - ulonglong uVar7; - uint local_4; - - if ((param_1 < DAT_80044324) && (iVar2 = param_1 * 0x50, (&DAT_80041446)[iVar2] == '\0')) { - local_4 = *(uint *)(&DAT_8004146c + iVar2); - if ((int)local_4 < 1) { - local_4 = FUN_7000a380(); - } - else { - iVar6 = get_debug_all_obj_complete_flag(); - if (iVar6 != 0) { - local_4 += 0x400; - } - } - iVar3 = loc_70009F84(local_4); - iVar6 = 0; - if (iVar3 != 0) { - if (*(int *)(&DAT_80041454 + iVar2) == 0) { - *(undefined4 *)(&DAT_80041448 + iVar2) = 0; - *(undefined4 *)(&DAT_80041460 + iVar2) = 0; - } - else { - iVar4 = FUN_7f0b6b5c(param_1,iVar3,local_4); - iVar6 = 0; - if (-1 < iVar4) { - FUN_7f0bc528((longlong)param_1); - iVar6 = iVar4; - } - } - if ((*(int *)(&DAT_80041458 + iVar2) != 0) && - (puVar5 = FUN_7f0b6c4c(param_1,(uint *)(iVar3 + iVar6),local_4 - iVar6), -1 < (int)puVar5)) - { - iVar6 += (int)puVar5; - } - if (*(int *)(&DAT_8004145c + iVar2) == 0) { - *(undefined4 *)(&DAT_80041450 + iVar2) = 0; - } - else { - puVar5 = FUN_7f0b6d8c(param_1,(uint *)(iVar3 + iVar6),local_4 - iVar6); - if (0 < (int)puVar5) { - iVar6 += (int)puVar5; - } - } - uVar7 = (longlong)(iVar6 + 0x20) & 0xfffffffffffffff0; - *(int *)(&DAT_8004146c + iVar2) = (int)uVar7; - (&DAT_80041446)[iVar2] = 1; - if ((longlong)(int)local_4 != uVar7) { - FUN_7000a3ec(iVar3,(longlong)(int)local_4,uVar7); - } - if (_DAT_80082630 == 0) { - locret_7F0BA710(*(int **)(&DAT_8004144c + iVar2), - (int *)(*(int *)(iVar2 + -0x7ffbeb9c) + - (int)*(int **)(&DAT_8004144c + iVar2)),6); - piVar1 = *(int **)(&DAT_80041450 + iVar2); - if (piVar1 != NULL) { - locret_7F0BA710(piVar1,(int *)(*(int *)(iVar2 + -0x7ffbeb98) + (int)piVar1),7); - } - } - else { - locret_7F0BA710(*(int **)(&DAT_8004144c + iVar2), - (int *)(*(int *)(iVar2 + -0x7ffbeb9c) + - (int)*(int **)(&DAT_8004144c + iVar2)),1); - piVar1 = *(int **)(&DAT_80041450 + iVar2); - if (piVar1 != NULL) { - locret_7F0BA710(piVar1,(int *)(*(int *)(iVar2 + -0x7ffbeb98) + (int)piVar1),5); - } - } - FUN_7f0b7544(param_1); - FUN_7f0b6a88(); - } - } - return; -} - - - -void FUN_7f0b7174(int param_1) - -{ - uint uVar1; - int iVar2; - - iVar2 = param_1 * 0x50; - if ((&DAT_80041470)[param_1 * 0x14] == 0) { - uVar1 = *(uint *)(&DAT_8004146c + iVar2); - } - else { - FUN_7000a030((&DAT_80041470)[param_1 * 0x14], - (int)*(short *)(&DAT_80041474 + iVar2) * 0x1c + 0xfU & 0xfffffff0); - (&DAT_80041470)[param_1 * 0x14] = 0; - uVar1 = *(uint *)(&DAT_8004146c + iVar2); - } - if (0 < (int)uVar1) { - if (*(uint *)(&DAT_80041448 + iVar2) == 0) { - FUN_7000a030(*(uint *)(&DAT_8004144c + iVar2),uVar1); - *(undefined4 *)(&DAT_80041448 + iVar2) = 0; - } - else { - FUN_7000a030(*(uint *)(&DAT_80041448 + iVar2),uVar1); - *(undefined4 *)(&DAT_80041448 + iVar2) = 0; - } - *(undefined4 *)(&DAT_8004144c + iVar2) = 0; - *(undefined4 *)(&DAT_80041450 + iVar2) = 0; - } - (&DAT_80041446)[iVar2] = 0; - FUN_7f0b6a88(); - return; -} - - - -void FUN_7f0b722c(void) - -{ - int iVar1; - undefined1 *puVar2; - int iVar3; - - iVar3 = 1; - if (1 < DAT_80044324) { - puVar2 = &DAT_80041494; - iVar1 = DAT_80044324; - do { - if (puVar2[2] != '\0') { - FUN_7f0b7174(iVar3); - iVar1 = DAT_80044324; - } - iVar3 += 1; - puVar2 = puVar2 + 0x50; - } while (iVar3 < iVar1); - } - return; -} - - - -void FUN_7f0b7298(void) - -{ - char cVar1; - int iVar2; - undefined1 *puVar3; - int iVar4; - - iVar4 = 1; - if (1 < DAT_80044324) { - puVar3 = &DAT_80041494; - iVar2 = DAT_80044324; - do { - if (puVar3[0x35] == '\0') { - cVar1 = puVar3[2]; - if (cVar1 == '\x04') { - FUN_7f0b7174(iVar4); - iVar2 = DAT_80044324; - } - else { - if (cVar1 != '\0') { - puVar3[2] = cVar1 + '\x01'; - } - } - } - iVar4 += 1; - puVar3 = puVar3 + 0x50; - } while (iVar4 < iVar2); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0b737c) overlaps instruction at (ram,0x7f0b7378) -// - -undefined4 * FUN_7f0b732c(undefined4 *param_1,int param_2) - -{ - int iVar1; - char cVar3; - undefined4 *puVar2; - - if ((param_2 < DAT_80044324) && ((DAT_8004488c != 0 || (DAT_80044888 == param_2 % 10)))) { - iVar1 = param_2 * 0x50; - cVar3 = (&DAT_80041446)[iVar1]; - if ((cVar3 == '\0') && (0 < DAT_80044328)) { - DAT_80044328 = DAT_80044328 + -1; - FUN_7f0b6f18(param_2); - cVar3 = (&DAT_80041446)[iVar1]; - } - if (cVar3 != '\0') { - puVar2 = FUN_7f0bd574(param_1,param_2); - *puVar2 = 0xbc003806; - puVar2[1] = *(int *)(&DAT_80041448 + iVar1) + -0x80000000; - puVar2[2] = 0x6000000; - param_1 = puVar2 + 4; - puVar2[3] = *(int *)(&DAT_8004144c + iVar1) + -0x80000000; - (&DAT_80041446)[iVar1] = 1; - } - } - return param_1; -} - - - -undefined4 * FUN_7f0b7448(undefined4 *param_1,int param_2) - -{ - char cVar1; - int iVar2; - undefined4 *puVar3; - - if ((param_2 < DAT_80044324) && (iVar2 = param_2 * 0x50, *(int *)(&DAT_80041450 + iVar2) != 0)) { - if (DAT_8004488c == 0) { - if (DAT_80044888 != param_2 % 10) { - return param_1; - } - cVar1 = (&DAT_80041446)[iVar2]; - } - else { - cVar1 = (&DAT_80041446)[iVar2]; - } - if (cVar1 == '\0') { - FUN_7f0b6f18(param_2); - } - else { - puVar3 = FUN_7f0bd574(param_1,param_2); - *puVar3 = 0xbc003806; - puVar3[1] = *(int *)(&DAT_80041448 + iVar2) + -0x80000000; - puVar3[2] = 0x6000000; - param_1 = puVar3 + 4; - puVar3[3] = *(int *)(&DAT_80041450 + iVar2) + -0x80000000; - (&DAT_80041446)[iVar2] = 1; - } - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b7544(int param_1) - -{ - byte bVar1; - short sVar2; - int iVar3; - int iVar4; - char cVar6; - undefined4 *puVar5; - short *psVar7; - short *psVar8; - int iVar9; - int iVar10; - char *pcVar11; - char *pcVar12; - int iVar13; - short sVar14; - - iVar13 = param_1 * 0x50; - if ((&DAT_80041470)[param_1 * 0x14] == 0) { - iVar3 = *(int *)(&DAT_80041448 + iVar13); - pcVar12 = *(char **)(&DAT_8004144c + iVar13); - iVar9 = 0; - if (*pcVar12 != -0x48) { - cVar6 = *pcVar12; - pcVar11 = pcVar12; - do { - if (cVar6 == '\x04') { - iVar9 += 1; - cVar6 = pcVar11[8]; - } - else { - cVar6 = pcVar11[8]; - } - pcVar11 = pcVar11 + 8; - } while (cVar6 != -0x48); - } - iVar4 = loc_70009F84(iVar9 * 0x1c + 0xfU & 0xfffffff0); - if (iVar4 != 0) { - (&DAT_80041470)[param_1 * 0x14] = iVar4; - *(short *)(&DAT_80041474 + iVar13) = (short)iVar9; - iVar13 = 0; - sVar14 = 0; - if (*pcVar12 != -0x48) { - cVar6 = *pcVar12; - do { - if (cVar6 == '\x04') { - psVar7 = (short *)(iVar4 + iVar13 * 0x1c); - *psVar7 = sVar14; - iVar10 = param_1 * 0x18; - iVar9 = 0; - puVar5 = (undefined4 *)(iVar4 + iVar13 * 0x1c); - do { - iVar9 += 1; - puVar5[1] = 0x7fff; - puVar5[4] = 0xffff8000; - puVar5 = puVar5 + 1; - } while (iVar9 < 3); - bVar1 = pcVar12[1]; - iVar9 = 0; - psVar8 = (short *)((*(uint *)(pcVar12 + 4) & 0xffffff) + iVar3); - if ((uint)(bVar1 >> 4) != 0xffffffff) { - do { - iVar9 += 1; - if ((longlong)*psVar8 < (longlong)*(int *)(psVar7 + 2)) { - *(int *)(psVar7 + 2) = (int)*psVar8; - sVar2 = psVar8[1]; - } - else { - sVar2 = psVar8[1]; - } - if ((longlong)sVar2 < (longlong)*(int *)(psVar7 + 4)) { - *(int *)(psVar7 + 4) = (int)sVar2; - sVar2 = psVar8[2]; - } - else { - sVar2 = psVar8[2]; - } - if ((longlong)sVar2 < (longlong)*(int *)(psVar7 + 6)) { - *(int *)(psVar7 + 6) = (int)sVar2; - sVar2 = *psVar8; - } - else { - sVar2 = *psVar8; - } - if ((longlong)*(int *)(psVar7 + 8) < (longlong)sVar2) { - *(int *)(psVar7 + 8) = (int)sVar2; - sVar2 = psVar8[1]; - } - else { - sVar2 = psVar8[1]; - } - if ((longlong)*(int *)(psVar7 + 10) < (longlong)sVar2) { - *(int *)(psVar7 + 10) = (int)sVar2; - sVar2 = psVar8[2]; - } - else { - sVar2 = psVar8[2]; - } - if ((longlong)*(int *)(psVar7 + 0xc) < (longlong)sVar2) { - *(int *)(psVar7 + 0xc) = (int)sVar2; - } - psVar8 = psVar8 + 8; - } while (iVar9 != (uint)(bVar1 >> 4) + 1); - } - if (*(int *)(psVar7 + 2) == *(int *)(psVar7 + 8)) { - *(int *)(psVar7 + 8) = *(int *)(psVar7 + 8) + 1; - iVar9 = *(int *)(psVar7 + 10); - } - else { - iVar9 = *(int *)(psVar7 + 10); - } - if (*(int *)(psVar7 + 4) == iVar9) { - *(int *)(psVar7 + 10) = iVar9 + 1; - iVar9 = *(int *)(psVar7 + 6); - } - else { - iVar9 = *(int *)(psVar7 + 6); - } - if (iVar9 == *(int *)(psVar7 + 0xc)) { - *(int *)(psVar7 + 0xc) = *(int *)(psVar7 + 0xc) + 1; - iVar9 = *(int *)(psVar7 + 6); - } - iVar13 += 1; - *(int *)(psVar7 + 2) = - *(int *)(psVar7 + 2) + (int)*(float *)(_DAT_8007fffc + iVar10 + 0xc); - *(int *)(psVar7 + 4) = - *(int *)(psVar7 + 4) + (int)*(float *)(_DAT_8007fffc + iVar10 + 0x10); - *(int *)(psVar7 + 6) = iVar9 + (int)*(float *)(_DAT_8007fffc + iVar10 + 0x14); - *(int *)(psVar7 + 8) = - *(int *)(psVar7 + 8) + (int)*(float *)(_DAT_8007fffc + iVar10 + 0xc); - *(int *)(psVar7 + 10) = - *(int *)(psVar7 + 10) + (int)*(float *)(_DAT_8007fffc + iVar10 + 0x10); - *(int *)(psVar7 + 0xc) = - *(int *)(psVar7 + 0xc) + (int)*(float *)(_DAT_8007fffc + iVar10 + 0x14); - } - cVar6 = pcVar12[8]; - sVar14 += 1; - pcVar12 = pcVar12 + 8; - } while (cVar6 != -0x48); - } - } - } - return; -} - - - -undefined8 locret_7F0B7008(float *param_1,float *param_2,int *param_3,int *param_4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float local_74; - float local_48; - float local_44; - - fVar6 = *param_2; - fVar5 = (float)*param_4 - *param_1; - fVar4 = (float)*param_3 - *param_1; - if (fVar6 < 0.00000000) { - fVar6 = -fVar6; - fVar4 = -fVar4; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar4) || (0.00000000 <= fVar5)) { - if (fVar5 < fVar4) { - fVar2 = param_1[1]; - fVar7 = fVar5; - } - else { - fVar2 = param_1[1]; - fVar7 = fVar4; - fVar4 = fVar5; - } - fVar3 = param_2[1]; - fVar5 = (float)param_4[1] - fVar2; - fVar2 = (float)param_3[1] - fVar2; - if (fVar3 < 0.00000000) { - fVar3 = -fVar3; - fVar2 = -fVar2; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar2) || (0.00000000 <= fVar5)) { - local_44 = fVar5; - if (fVar2 <= fVar5) { - local_44 = fVar2; - fVar2 = fVar5; - } - if (local_44 * fVar6 < fVar7 * fVar3) { - local_48 = fVar6; - local_44 = fVar7; - if (fVar2 * fVar6 < fVar7 * fVar3) { - return 0; - } - } - else { - local_48 = fVar3; - if (fVar4 * fVar3 < local_44 * fVar6) { - return 0; - } - } - local_74 = fVar4 * fVar3; - if (fVar2 * fVar6 <= local_74) { - fVar4 = fVar2; - fVar6 = fVar3; - } - fVar2 = param_2[2]; - fVar7 = (float)param_3[2] - param_1[2]; - fVar5 = (float)param_4[2] - param_1[2]; - if (fVar2 < 0.00000000) { - fVar2 = -fVar2; - fVar7 = -fVar7; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar7) || (0.00000000 <= fVar5)) { - fVar3 = fVar7; - if (fVar7 <= fVar5) { - fVar3 = fVar5; - fVar5 = fVar7; - } - if (local_44 * fVar2 < fVar5 * local_48) { - if (fVar4 * fVar2 < fVar5 * fVar6) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - else { - if (fVar3 * local_48 < local_44 * fVar2) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 -loc_7F0B7A44(float *param_1,float *param_2,float *param_3,short *param_4,int param_5,float *param_6) - -{ - char cVar1; - short sVar2; - int iVar3; - longlong lVar4; - int iVar5; - uint *puVar6; - uint *puVar7; - int iVar8; - short *psVar9; - int *piVar10; - ulonglong uVar11; - int iVar12; - uint *puVar13; - uint *puVar14; - uint uVar15; - int iStack192; - int iStack188; - int iStack184; - int iStack180; - int iStack176; - int iStack172; - int iStack164; - int iStack160; - int iStack156; - int aiStack152 [8]; - int iStack120; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack92; - int iStack88; - int iStack84; - int aiStack80 [2]; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - undefined4 uStack20; - - iVar3 = param_5 * 0x50; - puVar13 = (uint *)((int)*param_4 * 8 + *(int *)(&DAT_8004144c + iVar3)); - aiStack80[0] = 0x7fffffff; - uStack20 = 0; - cVar1 = *(char *)(puVar13 + 2); - uVar15 = (uint)*(byte *)((int)puVar13 + 1) & 0xf; - iVar12 = (puVar13[1] & 0xffffff) + *(int *)(&DAT_80041448 + iVar3); -joined_r0x7f0b7c60: - do { - if ((cVar1 == '\x04') || (cVar1 == -0x48)) { - return uStack20; - } - puVar14 = puVar13 + 2; - if (cVar1 == -0x41) { - piVar10 = &iStack92; - iStack92 = (int)(uint)*(byte *)((int)puVar13 + 0xd) / 10 - uVar15; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar13 + 0xd) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack88 = (int)(uint)*(byte *)((int)puVar13 + 0xe) / 10 - uVar15; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar13 + 0xe) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack84 = (int)(uint)*(byte *)((int)puVar13 + 0xf) / 10 - uVar15; - if (false) { - trap(0x1c00); - } - iVar5 = iStack92; - iStack120 = DAT_800448a4; - iStack116 = DAT_800448a8; - iStack112 = DAT_800448ac; - iStack108 = DAT_80044898; - iStack104 = DAT_8004489c; - iStack100 = DAT_800448a0; - if ((false) && - (iVar5 = iStack92, iStack120 = DAT_800448a4, iStack116 = DAT_800448a8, - iStack112 = DAT_800448ac, iStack108 = DAT_80044898, iStack104 = DAT_8004489c, - iStack100 = DAT_800448a0, (ulonglong)*(byte *)((int)puVar13 + 0xf) == 0xffffffff80000000)) - { - trap(0x1800); - iVar5 = iStack92; - iStack120 = DAT_800448a4; - iStack116 = DAT_800448a8; - iStack112 = DAT_800448ac; - iStack108 = DAT_80044898; - iStack104 = DAT_8004489c; - iStack100 = DAT_800448a0; - } - while( true ) { - piVar10 = piVar10 + 1; - psVar9 = (short *)(iVar12 + iVar5 * 0x10); - lVar4 = (longlong)*psVar9; - if (lVar4 < (longlong)iStack108) { - iStack108 = (int)*psVar9; - lVar4 = (longlong)*psVar9; - } - if ((longlong)iStack120 < lVar4) { - iStack120 = (int)lVar4; - sVar2 = psVar9[1]; - } - else { - sVar2 = psVar9[1]; - } - lVar4 = (longlong)sVar2; - if (lVar4 < (longlong)iStack104) { - iStack104 = (int)sVar2; - lVar4 = (longlong)psVar9[1]; - } - if ((longlong)iStack116 < lVar4) { - iStack116 = (int)lVar4; - sVar2 = psVar9[2]; - } - else { - sVar2 = psVar9[2]; - } - lVar4 = (longlong)sVar2; - if (lVar4 < (longlong)iStack100) { - iStack100 = (int)sVar2; - lVar4 = (longlong)psVar9[2]; - } - if ((longlong)iStack112 < lVar4) { - iStack112 = (int)lVar4; - } - if (piVar10 == aiStack80) break; - iVar5 = *piVar10; - } - iVar5 = _DAT_8007fffc + param_5 * 0x18; - iStack108 += (int)*(float *)(iVar5 + 0xc); - iStack104 += (int)*(float *)(iVar5 + 0x10); - iStack100 += (int)*(float *)(iVar5 + 0x14); - iStack120 += (int)*(float *)(iVar5 + 0xc); - iStack116 += (int)*(float *)(iVar5 + 0x10); - iStack112 += (int)*(float *)(iVar5 + 0x14); - lVar4 = locret_7F0B7008(param_1,param_3,&iStack108,&iStack120); - if ((lVar4 != 0) && - (lVar4 = loc_7F092E2C((short *)(iVar12 + iStack92 * 0x10), - (short *)(iVar12 + iStack88 * 0x10), - (short *)(iVar12 + iStack84 * 0x10), - (float *)(param_5 * 0x18 + _DAT_8007fffc + 0xc),param_1,param_2, - param_3,&fStack72), lVar4 != 0)) { - uStack20 = 1; - iVar5 = ((int)fStack72 - (int)*param_1) * ((int)fStack72 - (int)*param_1) + - ((int)fStack68 - (int)param_1[1]) * ((int)fStack68 - (int)param_1[1]) + - ((int)fStack64 - (int)param_1[2]) * ((int)fStack64 - (int)param_1[2]); - puVar7 = puVar14; - if (*(char *)puVar14 == -3) { -LAB_7f0b803c: - puVar6 = *(uint **)(&DAT_8004144c + iVar3); - } - else { - if (*(uint **)(&DAT_8004144c + iVar3) < puVar14) { - cVar1 = *(char *)puVar13; - puVar6 = puVar14; - while( true ) { - puVar7 = puVar6 + -2; - if (cVar1 == -3) break; - if (puVar7 <= *(uint **)(&DAT_8004144c + iVar3)) goto LAB_7f0b803c; - cVar1 = *(char *)(puVar6 + -4); - puVar6 = puVar7; - } - puVar6 = *(uint **)(&DAT_8004144c + iVar3); - } - else { - puVar6 = *(uint **)(&DAT_8004144c + iVar3); - puVar7 = puVar14; - } - } - if (puVar7 == puVar6) { - uVar11 = 0xffffffffffffffff; - } - else { - uVar11 = (ulonglong)*(ushort *)(puVar7[1] - 8 | 0x80000000); - } - lVar4 = locret_7F0BB68C(uVar11); - if (lVar4 != 0) { - iVar5 += -4; - } - if (iVar5 < aiStack80[0]) { - if (uVar11 == 0x4fd) { - cVar1 = *(char *)(puVar13 + 4); - puVar13 = puVar14; - goto joined_r0x7f0b7c60; - } - *param_6 = fStack72; - param_6[1] = fStack68; - param_6[2] = fStack64; - param_6[3] = fStack60; - param_6[4] = fStack56; - param_6[5] = fStack52; - *(int *)(param_6 + 6) = iStack92 * 0x10 + iVar12; - *(int *)(param_6 + 7) = iStack88 * 0x10 + iVar12; - *(undefined2 *)((int)param_6 + 0x2a) = (short)uVar11; - *(uint **)(param_6 + 9) = puVar14; - *(int *)(param_6 + 8) = iStack84 * 0x10 + iVar12; - *(undefined2 *)(param_6 + 10) = 0; - aiStack80[0] = iVar5; - } - } - } - else { - if (cVar1 == -0x4f) { - iVar5 = 0; - do { - iStack180 = DAT_800448b0; - iStack176 = DAT_800448b4; - iStack172 = DAT_800448b8; - iStack192 = DAT_800448bc; - iStack188 = DAT_800448c0; - iStack184 = DAT_800448c4; - if (iVar5 == 0) { - iStack164 = (puVar13[3] & 0xf) - uVar15; - iStack160 = (uint)(*(byte *)((int)puVar13 + 0xf) >> 4) - uVar15; - iStack156 = (*puVar14 & 0xf) - uVar15; - } - else { - if (iVar5 == 1) { - iStack164 = ((uint)*(byte *)((int)puVar13 + 0xe) & 0xf) - uVar15; - iStack160 = (uint)(*(ushort *)((int)puVar13 + 0xe) >> 0xc) - uVar15; - iStack156 = (uint)(*(byte *)((int)puVar13 + 0xb) >> 4) - uVar15; - } - else { - if (iVar5 == 2) { - iStack164 = ((uint)*(ushort *)(puVar13 + 3) & 0xf) - uVar15; - iStack160 = (uint)(*(byte *)((int)puVar13 + 0xd) >> 4) - uVar15; - iStack156 = ((uint)*(byte *)((int)puVar13 + 10) & 0xf) - uVar15; - } - else { - iStack164 = ((uint)*(byte *)(puVar13 + 3) & 0xf) - uVar15; - iStack160 = (puVar13[3] >> 0x1c) - uVar15; - iStack156 = (uint)(*(ushort *)((int)puVar13 + 10) >> 0xc) - uVar15; - } - } - } - piVar10 = &iStack164; - iVar8 = iStack164; - while( true ) { - piVar10 = piVar10 + 1; - psVar9 = (short *)(iVar12 + iVar8 * 0x10); - lVar4 = (longlong)*psVar9; - if (lVar4 < (longlong)iStack180) { - iStack180 = (int)*psVar9; - lVar4 = (longlong)*psVar9; - } - if ((longlong)iStack192 < lVar4) { - iStack192 = (int)lVar4; - sVar2 = psVar9[1]; - } - else { - sVar2 = psVar9[1]; - } - lVar4 = (longlong)sVar2; - if (lVar4 < (longlong)iStack176) { - iStack176 = (int)sVar2; - lVar4 = (longlong)psVar9[1]; - } - if ((longlong)iStack188 < lVar4) { - iStack188 = (int)lVar4; - sVar2 = psVar9[2]; - } - else { - sVar2 = psVar9[2]; - } - lVar4 = (longlong)sVar2; - if (lVar4 < (longlong)iStack172) { - iStack172 = (int)sVar2; - lVar4 = (longlong)psVar9[2]; - } - if ((longlong)iStack184 < lVar4) { - iStack184 = (int)lVar4; - } - if (piVar10 == aiStack152) break; - iVar8 = *piVar10; - } - iVar8 = _DAT_8007fffc + param_5 * 0x18; - iStack180 += (int)*(float *)(iVar8 + 0xc); - iStack176 += (int)*(float *)(iVar8 + 0x10); - iStack172 += (int)*(float *)(iVar8 + 0x14); - iStack192 += (int)*(float *)(iVar8 + 0xc); - iStack188 += (int)*(float *)(iVar8 + 0x10); - iStack184 += (int)*(float *)(iVar8 + 0x14); - lVar4 = locret_7F0B7008(param_1,param_3,&iStack180,&iStack192); - if ((lVar4 != 0) && - (lVar4 = loc_7F092E2C((short *)(iVar12 + iStack164 * 0x10), - (short *)(iVar12 + iStack160 * 0x10), - (short *)(iVar12 + iStack156 * 0x10), - (float *)(param_5 * 0x18 + _DAT_8007fffc + 0xc),param_1,param_2, - param_3,&fStack72), lVar4 != 0)) { - uStack20 = 1; - iVar8 = ((int)fStack72 - (int)*param_1) * ((int)fStack72 - (int)*param_1) + - ((int)fStack68 - (int)param_1[1]) * ((int)fStack68 - (int)param_1[1]) + - ((int)fStack64 - (int)param_1[2]) * ((int)fStack64 - (int)param_1[2]); - puVar7 = puVar14; - if (*(char *)puVar14 == -3) { -LAB_7f0b8500: - puVar6 = *(uint **)(&DAT_8004144c + iVar3); - } - else { - if (*(uint **)(&DAT_8004144c + iVar3) < puVar14) { - cVar1 = *(char *)puVar13; - puVar6 = puVar14; - while( true ) { - puVar7 = puVar6 + -2; - if (cVar1 == -3) break; - if (puVar7 <= *(uint **)(&DAT_8004144c + iVar3)) goto LAB_7f0b8500; - cVar1 = *(char *)(puVar6 + -4); - puVar6 = puVar7; - } - puVar6 = *(uint **)(&DAT_8004144c + iVar3); - } - else { - puVar6 = *(uint **)(&DAT_8004144c + iVar3); - puVar7 = puVar14; - } - } - if (puVar7 == puVar6) { - uVar11 = 0xffffffffffffffff; - } - else { - uVar11 = (ulonglong)*(ushort *)(puVar7[1] - 8 | 0x80000000); - } - lVar4 = locret_7F0BB68C(uVar11); - if (lVar4 != 0) { - iVar8 += -4; - } - if ((iVar8 < aiStack80[0]) && (uVar11 != 0x4fd)) { - *param_6 = fStack72; - param_6[1] = fStack68; - param_6[2] = fStack64; - param_6[3] = fStack60; - param_6[4] = fStack56; - param_6[5] = fStack52; - *(int *)(param_6 + 6) = iStack164 * 0x10 + iVar12; - *(int *)(param_6 + 7) = iStack160 * 0x10 + iVar12; - *(undefined2 *)((int)param_6 + 0x2a) = (short)uVar11; - *(uint **)(param_6 + 9) = puVar14; - *(int *)(param_6 + 8) = iStack156 * 0x10 + iVar12; - *(short *)(param_6 + 10) = (short)iVar5 + 1; - aiStack80[0] = iVar8; - } - } - iVar5 += 1; - } while (iVar5 != 4); - } - } - cVar1 = *(char *)(puVar13 + 4); - puVar13 = puVar14; - } while( true ); -} - - - -int loc_7F0B7D64(float *param_1,float *param_2,int param_3,float *param_4) - -{ - char cVar1; - int iVar2; - longlong lVar3; - int iVar4; - short *psVar5; - longlong lVar6; - int *piVar7; - int *piVar8; - int iStack108; - int iStack100; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - undefined2 uStack52; - short sStack50; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - short sStack6; - - iStack108 = 0; - iStack100 = 0x7fffffff; - fStack20 = *param_1 * DAT_80041424; - iVar2 = param_3 * 0x50; - psVar5 = (short *)(&DAT_80041470)[param_3 * 0x14]; - fStack16 = param_1[1] * DAT_80041424; - fStack12 = param_1[2] * DAT_80041424; - fStack32 = *param_2 * DAT_80041424; - fStack28 = param_2[1] * DAT_80041424; - fStack44 = fStack32 - fStack20; - fStack24 = param_2[2] * DAT_80041424; - fStack40 = fStack28 - fStack16; - fStack36 = fStack24 - fStack12; - if (psVar5 == NULL) { - iStack108 = 0; - } - else { - sStack6 = *(short *)(&DAT_80041474 + iVar2); - lVar6 = 0; - piVar7 = (int *)(psVar5 + 2); - if (0 < sStack6) { - piVar8 = (int *)(psVar5 + 8); - do { - lVar3 = locret_7F0B7008(&fStack20,&fStack44,piVar7,piVar8); - if ((lVar3 != 0) && - (iVar4 = loc_7F0B7A44(&fStack20,&fStack32,&fStack44,psVar5,param_3,&fStack92), iVar4 != 0 - )) { - iStack108 = 1; - iVar4 = (int)(fStack92 - fStack20) * (int)(fStack92 - fStack20) + - (int)(fStack88 - fStack16) * (int)(fStack88 - fStack16) + - (int)(fStack84 - fStack12) * (int)(fStack84 - fStack12); - lVar3 = locret_7F0BB68C((longlong)sStack50); - if (lVar3 != 0) { - iVar4 += -4; - } - if (iVar4 < iStack100) { - *param_4 = fStack92; - param_4[1] = fStack88; - param_4[2] = fStack84; - param_4[3] = fStack80; - param_4[4] = fStack76; - param_4[5] = fStack72; - param_4[6] = fStack68; - param_4[7] = fStack64; - param_4[8] = fStack60; - *(short *)((int)param_4 + 0x2a) = sStack50; - param_4[9] = fStack56; - *(undefined2 *)(param_4 + 10) = uStack52; - iStack100 = iVar4; - } - } - lVar6 = (longlong)((int)lVar6 + 1); - psVar5 = psVar5 + 0xe; - piVar7 = piVar7 + 7; - piVar8 = piVar8 + 7; - } while (lVar6 != (longlong)sStack6); - } - if (iStack108 != 0) { - piVar7 = (int *)param_4[9]; - if (*(char *)piVar7 == -0xb) { - piVar8 = *(int **)(&DAT_8004144c + iVar2); - } - else { - if (*(int **)(&DAT_8004144c + iVar2) < piVar7) { - cVar1 = *(char *)(piVar7 + -2); - piVar8 = piVar7; - while( true ) { - piVar7 = piVar8 + -2; - if (cVar1 == -0xb) break; - if (piVar7 <= *(int **)(&DAT_8004144c + iVar2)) { - piVar8 = *(int **)(&DAT_8004144c + iVar2); - goto LAB_7f0b88dc; - } - cVar1 = *(char *)(piVar8 + -4); - piVar8 = piVar7; - } - piVar8 = *(int **)(&DAT_8004144c + iVar2); - } - else { - piVar8 = *(int **)(&DAT_8004144c + iVar2); - } - } -LAB_7f0b88dc: - if (piVar7 == piVar8) { - *(undefined2 *)(param_4 + 0xb) = 0xffff; - *(undefined2 *)((int)param_4 + 0x2e) = 0xffff; - } - else { - *(ushort *)(param_4 + 0xb) = (ushort)(*(byte *)((int)piVar7 + 1) >> 5); - *(ushort *)((int)param_4 + 0x2e) = (ushort)((uint)(*piVar7 << 0xb) >> 0x1e); - } - } - } - return iStack108; -} - - - -void FUN_7f0b8944(void) - -{ - DAT_800448d0 = 0; - DAT_800448d4 = 0; - return; -} - - - -ulonglong FUN_7f0b8958(int param_1) - -{ - byte bVar1; - - bVar1 = (&DAT_80041447)[param_1 * 0x50]; - if (bVar1 != 0xff) { - bVar1 += 1; - (&DAT_80041447)[param_1 * 0x50] = bVar1; - } - return (ulonglong)bVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b8994(undefined4 param_1,uint param_2,int param_3,int param_4,undefined4 *param_5) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - - iVar3 = DAT_800448d0 * 0x20; - if ((param_4 < 2) || - (iVar2 = _DAT_8007fff0 + param_3 * 8, - uVar1 = FUN_7f0b8958((uint)(*(byte *)(iVar2 + 4) ^ *(byte *)(iVar2 + 5)) ^ param_2), - iVar2 = DAT_800448d0, (longlong)uVar1 < 9)) { - *(undefined4 *)(iVar3 + -0x7ff83e90) = param_1; - *(uint *)(iVar3 + -0x7ff83e8c) = param_2; - *(int *)(iVar3 + -0x7ff83e84) = param_4; - *(int *)(iVar3 + -0x7ff83e88) = param_3; - *(undefined4 *)(iVar3 + -0x7ff83e80) = *param_5; - *(undefined4 *)(iVar3 + -0x7ff83e7c) = param_5[1]; - *(undefined4 *)(iVar3 + -0x7ff83e78) = param_5[2]; - *(undefined4 *)(iVar3 + -0x7ff83e74) = param_5[3]; - DAT_800448d0 += 1; - if (DAT_800448d0 == 500) { - DAT_800448d0 = 0; - } - iVar2 = DAT_800448d0 + -1; - if (DAT_800448d4 != DAT_800448d0) { - return; - } - } - DAT_800448d0 = iVar2; - return; -} - - - -undefined8 FUN_7f0b8a94(int *param_1) - -{ - undefined8 uVar1; - undefined8 uVar2; - int iVar3; - - iVar3 = DAT_800448d4 * 0x20; - if (DAT_800448d0 == DAT_800448d4) { - uVar1 = 0; - } - else { - uVar2 = FUN_7f0b8b34((longlong)*param_1,*(int *)(iVar3 + -0x7ff83e8c), - *(int *)(iVar3 + -0x7ff83e88),*(int *)(iVar3 + -0x7ff83e84), - (float *)(iVar3 + -0x7ff83e80)); - DAT_800448d4 += 1; - if (DAT_800448d4 == 500) { - DAT_800448d4 = 0; - } - uVar1 = 1; - *param_1 = (int)uVar2; - } - return uVar1; -} - - - -// WARNING: Instruction at (ram,0x7f0b8ec8) overlaps instruction at (ram,0x7f0b8ec4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0b8b34(undefined8 param_1,int param_2,int param_3,int param_4,float *param_5) - -{ - byte bVar1; - float *pfVar3; - longlong lVar2; - uint uVar4; - int *piVar5; - ulonglong uVar6; - int iVar7; - int iVar8; - int iVar9; - float fVar10; - float fVar11; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - DAT_800448c8 += 1; - if (100 < param_4) { - return param_1; - } - if (DAT_800448cc < param_4) { - return param_1; - } - if (0xf < param_4) { - return param_1; - } - if ((*(byte *)((int)_DAT_8007fff0 + param_3 * 8 + 6) & 1) != 0) { - return param_1; - } - pfVar3 = (float *)FUN_7f08a70c(); - FUN_7f0ba27c(param_3,&fStack44); - fVar11 = (pfVar3[2] * fStack36 + fStack44 * *pfVar3 + fStack40 * pfVar3[1]) * DAT_80041424; - fVar10 = FUN_7f0ba540(param_3); - piVar5 = _DAT_8007fff0 + param_3 * 2; - uVar6 = (ulonglong)*(byte *)(piVar5 + 1); - if ((longlong)param_2 == uVar6) { - uVar6 = (ulonglong)*(byte *)((int)piVar5 + 5); - if (fStack28 <= fVar11 - fVar10) { - return param_1; - } - } - else { - if (fVar11 + fVar10 <= fStack32) { - return param_1; - } - } - if (fStack32 - fVar10 < fVar11) { - if (fVar11 < fStack28 + fVar10) { - fStack16 = *(float *)(_DAT_8007a120 + 0x1118); - fStack12 = *(float *)(_DAT_8007a120 + 0x111c); - fStack8 = *(float *)(_DAT_8007a120 + 0x1120); - fStack4 = *(float *)(_DAT_8007a120 + 0x1124); - goto LAB_7f0b8e14; - } - bVar1 = *(byte *)((int)piVar5 + 6); - } - else { - bVar1 = *(byte *)((int)piVar5 + 6); - } - if ((bVar1 & 2) == 0) { - lVar2 = FUN_7f0b6414(param_3,&fStack16); - if (lVar2 == 0) { - return param_1; - } - locret_7F0B5CB8(&fStack16,param_5); - locret_7F0B5CB8(&fStack16,(float *)(_DAT_8007a120 + 0x1118)); - } - else { - lVar2 = FUN_7f0b6414(param_3,&fStack16); - if (lVar2 == 0) { - return param_1; - } - uVar6 = (ulonglong) - (*(byte *)((int)(_DAT_8007fff0 + param_3 * 2) + 5) ^ - *(byte *)(_DAT_8007fff0 + param_3 * 2 + 1)) ^ (longlong)param_2; - lVar2 = loc_7F0B5464((int)uVar6,&fStack16); - if (lVar2 == 0) { - return param_1; - } - fStack16 = *(float *)(_DAT_8007a120 + 0x1118); - fStack12 = *(float *)(_DAT_8007a120 + 0x111c); - fStack8 = *(float *)(_DAT_8007a120 + 0x1120); - fStack4 = *(float *)(_DAT_8007a120 + 0x1124); - } - if (fStack8 <= fStack16) { - return param_1; - } - if (fStack4 <= fStack12) { - return param_1; - } -LAB_7f0b8e14: - (&DAT_8004432c)[param_3] = (char)param_4; - if ((fStack16 < fStack8) && (fStack12 < fStack4)) { - uVar4 = FUN_7f0b456c((uint)uVar6,param_4,&fStack16, - (uint)*(byte *)((int)_DAT_8007fff0 + param_3 * 8 + 6) & 2); - if (uVar4 == 0) { - iVar9 = 0; - iVar7 = 0; - iVar8 = *_DAT_8007fff0; - piVar5 = _DAT_8007fff0; - while (iVar8 != 0) { - if (iVar9 == param_3) { - iVar8 = piVar5[2]; - } - else { - if ((uVar6 == (ulonglong)*(byte *)(piVar5 + 1)) || - (uVar6 == (ulonglong)*(byte *)((int)piVar5 + 5))) { - FUN_7f0b8994((int)param_1,(uint)uVar6,iVar9,param_4 + 1,&fStack16); - piVar5 = (int *)((int)_DAT_8007fff0 + iVar7); - } - iVar8 = piVar5[2]; - } - iVar9 += 1; - iVar7 += 8; - piVar5 = piVar5 + 2; - } - } - } - return param_1; -} - - - -undefined8 FUN_7f0b8f24(undefined8 param_1) - -{ - *(int *)(&DAT_800448d8 + DAT_80044928 * 4) = (int)param_1; - DAT_80044928 = (DAT_80044928 + 1) % 0x14; - return param_1; -} - - - -undefined4 FUN_7f0b8f60(void) - -{ - DAT_80044928 = (DAT_80044928 + 0x13) % 0x14; - return *(undefined4 *)(&DAT_800448d8 + DAT_80044928 * 4); -} - - - -undefined4 FUN_7f0b8f94(int param_1) - -{ - return *(undefined4 *)(&DAT_800448d8 + (((DAT_80044928 - param_1) + 0x13) % 0x14) * 4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -byte * loc_7F0B89F4(byte *param_1,uint param_2) - -{ - byte bVar1; - bool bVar2; - bool bVar3; - uint uVar6; - uint uVar7; - longlong lVar4; - int iVar8; - ulonglong uVar5; - undefined1 *puVar9; - int iVar10; - float afStack40 [4]; - float afStack24 [6]; - - bVar2 = true; - _DAT_80081680 = 0; - if (param_1 == NULL) { -LAB_7f0b95a4: - return param_1; - } -LAB_7f0b9030: - do { - bVar1 = *param_1; - while (0x27 < bVar1) { - if (false) { - return param_1; - } - switch((uint)bVar1) { - case 0x50: - param_1 = loc_7F0B89F4(param_1 + (uint)param_1[1] * 8,param_2); - param_1 = param_1 + (uint)param_1[1] * 8; - goto LAB_7f0b9030; - case 0x51: - bVar3 = param_2 != 0; - param_2 = 0; - param_1 = param_1 + (uint)param_1[1] * 8; - if (bVar3) { - _DAT_80081680 = 1; - } - goto LAB_7f0b9030; - case 0x52: - _DAT_80081680 = 0; - return param_1 + (uint)param_1[1] * 8; - default: - return param_1; - case 0x5a: - uVar6 = FUN_7f0b8f60(); - param_1 = loc_7F0B89F4(param_1 + (uint)param_1[1] * 8,uVar6 & param_2); - if (_DAT_80081680 != 0) { - param_2 = 0; - goto LAB_7f0b9030; - } - bVar1 = *param_1; - break; - case 0x5b: - param_2 ^= 1; - param_1 = param_1 + (uint)param_1[1] * 8; - goto LAB_7f0b9030; - case 0x5c: - return param_1 + (uint)param_1[1] * 8; - } - } - if (false) { - return param_1; - } - switch(bVar1) { - case 0: - return param_1; - case 1: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - FUN_7f0b8f24((longlong)*(int *)(param_1 + 4)); - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 2: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - FUN_7f0b8f60(); - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 3: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - uVar6 = FUN_7f0b8f60(); - uVar7 = FUN_7f0b8f60(); - FUN_7f0b8f24((longlong)(int)(uVar7 & uVar6)); - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 4: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - uVar6 = FUN_7f0b8f60(); - uVar7 = FUN_7f0b8f60(); - FUN_7f0b8f24((longlong)(int)(uVar7 | uVar6)); - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 5: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - iVar8 = FUN_7f0b8f60(); - FUN_7f0b8f24((ulonglong)(iVar8 == 0)); - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 6: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - uVar6 = FUN_7f0b8f60(); - uVar7 = FUN_7f0b8f60(); - FUN_7f0b8f24((longlong)(int)(uVar7 ^ uVar6)); - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - default: - goto LAB_7f0b95a4; - case 0x14: - if (param_2 != 0) { - uVar5 = (ulonglong)(DAT_80044868 < *(int *)(param_1 + 0xc)) ^ 1; - if (uVar5 != 0) { - uVar5 = (ulonglong)(*(int *)(param_1 + 0x14) < DAT_80044868) ^ 1; - } - FUN_7f0b8f24(uVar5); - } - param_1 = param_1 + (uint)param_1[1] * 8; - break; - case 0x1e: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - _DAT_80081670 = *(undefined4 *)(_DAT_8007a120 + 0x1118); - _DAT_80081674 = *(undefined4 *)(_DAT_8007a120 + 0x111c); - _DAT_80081678 = *(undefined4 *)(_DAT_8007a120 + 0x1120); - _DAT_8008167c = *(undefined4 *)(_DAT_8007a120 + 0x1124); - DAT_8004492c = 0; - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 0x1f: - if (param_2 != 0) { - lVar4 = FUN_7f0b6414(*(undefined4 *)(param_1 + 0xc),&DAT_80081670); - if (lVar4 == 0) { - DAT_8004492c = 1; - } - else { - lVar4 = locret_7F0B5CB8((float *)&DAT_80081670,(float *)(_DAT_8007a120 + 0x1118)); - if (lVar4 == 0) { - DAT_8004492c = 1; - } - else { - DAT_8004492c = 0; - } - } - } - param_1 = param_1 + (uint)param_1[1] * 8; - break; - case 0x20: - if (param_2 == 0) { - uVar6 = (uint)param_1[1]; - } - else { - if (DAT_8004492c == 0) { - lVar4 = loc_7F0B5464(*(int *)(param_1 + 0xc),(float *)&DAT_80081670); - if (lVar4 != 0) { - FUN_7f0b456c(*(int *)(param_1 + 0xc),0,(float *)&DAT_80081670,0); - (&DAT_8007c010)[_DAT_8007c0a8] = (char)*(undefined4 *)(param_1 + 0xc); - _DAT_8007c0a8 += 1; - } - uVar6 = (uint)param_1[1]; - } - else { - uVar6 = (uint)param_1[1]; - } - } - param_1 = param_1 + uVar6 * 8; - break; - case 0x21: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - DAT_8004492c = 1; - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 0x22: - if (param_2 == 0) { -LAB_7f0b92b4: - uVar6 = (uint)param_1[1]; - } - else { - lVar4 = FUN_7f0b6414(*(undefined4 *)(param_1 + 0xc),afStack24); - if (lVar4 == 0) { - uVar6 = (uint)param_1[1]; - } - else { - lVar4 = locret_7F0B5CB8(afStack24,(float *)(_DAT_8007a120 + 0x1118)); - if (lVar4 != 0) { - if (DAT_8004492c == 0) { - locret_7F0B5D50((float *)&DAT_80081670,afStack24); - } - else { - copy_4_floats_a1_to_a0((undefined4 *)&DAT_80081670,afStack24); - DAT_8004492c = 0; - } - goto LAB_7f0b92b4; - } - uVar6 = (uint)param_1[1]; - } - } - param_1 = param_1 + uVar6 * 8; - break; - case 0x23: - if (param_2 == 0) { - uVar6 = (uint)param_1[1]; - } - else { - if (DAT_8004492c == 0) { - lVar4 = FUN_7f0b6414(*(undefined4 *)(param_1 + 0xc),afStack40); - if (((lVar4 == 0) || - (lVar4 = locret_7F0B5CB8(afStack40,(float *)(_DAT_8007a120 + 0x1118)), lVar4 == 0)) || - (lVar4 = locret_7F0B5CB8((float *)&DAT_80081670,afStack40), lVar4 == 0)) { - DAT_8004492c = 1; - uVar6 = (uint)param_1[1]; - } - else { - uVar6 = (uint)param_1[1]; - } - } - else { - uVar6 = (uint)param_1[1]; - } - } - param_1 = param_1 + uVar6 * 8; - break; - case 0x24: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - (&DAT_80041478)[*(int *)(param_1 + 0xc) * 0x50] = 1; - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 0x25: - if (param_2 == 0) { - bVar1 = param_1[1]; - } - else { - iVar8 = *(int *)(param_1 + 0xc); - if (iVar8 <= *(int *)(param_1 + 0x14)) { - (&DAT_80041478)[iVar8 * 0x50] = 1; - puVar9 = &DAT_80041444 + iVar8 * 0x50; - while( true ) { - iVar8 += 1; - if (*(int *)(param_1 + 0x14) < iVar8) break; - puVar9[0x84] = 1; - puVar9 = puVar9 + 0x50; - } - } - bVar1 = param_1[1]; - } - param_1 = param_1 + (uint)bVar1 * 8; - break; - case 0x26: - if (param_2 == 0) { - uVar6 = (uint)param_1[1]; - } - else { - if (bVar2) { - uVar5 = FUN_7f0b6ec4(*(int *)(param_1 + 0xc)); - bVar2 = uVar5 == 0; - uVar6 = (uint)param_1[1]; - } - else { - uVar6 = (uint)param_1[1]; - } - } - param_1 = param_1 + uVar6 * 8; - break; - case 0x27: - if (param_2 == 0) { - uVar6 = (uint)param_1[1]; - } - else { - iVar8 = *(int *)(param_1 + 0xc); - iVar10 = *(int *)(param_1 + 0x14); - if (iVar10 < iVar8) { - uVar6 = (uint)param_1[1]; - } - else { - do { - if (bVar2) { - uVar5 = FUN_7f0b6ec4(iVar8); - bVar2 = uVar5 == 0; - iVar10 = *(int *)(param_1 + 0x14); - } - iVar8 += 1; - } while (iVar8 <= iVar10); - uVar6 = (uint)param_1[1]; - } - } - param_1 = param_1 + uVar6 * 8; - } - } while( true ); -} - - - -byte * FUN_7f0b95d4(byte *param_1) - -{ - DAT_8004492c = 0; - if (param_1 != NULL) { - FUN_7f0b8f94(0); - param_1 = loc_7F0B89F4(param_1,1); - } - return param_1; -} - - - -// WARNING: Instruction at (ram,0x7f0b97fc) overlaps instruction at (ram,0x7f0b97f8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b961c(void) - -{ - byte bVar1; - undefined4 *puVar3; - undefined *puVar4; - longlong lVar2; - int *piVar5; - int iVar6; - int iVar7; - int iVar8; - int aiStack28 [3]; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - FUN_7f0b9c3c(); - uStack16 = *(undefined4 *)(_DAT_8007a120 + 0x1118); - uStack12 = *(undefined4 *)(_DAT_8007a120 + 0x111c); - uStack8 = *(undefined4 *)(_DAT_8007a120 + 0x1120); - uStack4 = *(undefined4 *)(_DAT_8007a120 + 0x1124); - FUN_7f0b4774(); - puVar3 = (undefined4 *)&DAT_80041444; - do { - puVar3 = puVar3 + 0x14; - *(undefined *)puVar3 = 0; - *(undefined *)((int)puVar3 + 1) = 0; - *(undefined *)(puVar3 + 0xd) = 0; - puVar3 = puVar3; - } while (puVar3 < &DAT_80044324); - puVar4 = &DAT_8004432c; - do { - puVar4 = puVar4 + 4; - puVar4[1] = 0; - puVar4[2] = 0; - puVar4[3] = 0; - *puVar4 = 0; - puVar4 = puVar4; - } while (puVar4 != &DAT_800443f4); - DAT_80044888 = (DAT_80044888 + 1) % 10; - _DAT_80080008 = 0; - DAT_800448c8 = 0; - FUN_7f0b8944(); - FUN_7f0b5d18(); - FUN_7f0b95d4(_DAT_80080000); - if ((DAT_80041430 == 0x15) || (*_DAT_8007fff0 == 0)) { - if (DAT_80041430 == 0x15) { - FUN_7f0b456c(9,0,(float *)(_DAT_8007a120 + 0x1118),1); - } - iVar7 = 1; - if (1 < DAT_80044324) { - do { - lVar2 = loc_7F0B5464(iVar7,(float *)(_DAT_8007a120 + 0x1118)); - if (lVar2 != 0) { - FUN_7f0b456c(iVar7,0,(float *)(_DAT_8007a120 + 0x1118),1); - } - iVar7 += 1; - } while (iVar7 < DAT_80044324); - } - iVar7 = *_DAT_8007fff0; - } - else { - if (DAT_80041430 == 0x15) { - FUN_7f0b456c(9,0,(float *)(_DAT_8007a120 + 0x1118),1); - } - FUN_7f0b456c(DAT_80044868,0,(float *)(_DAT_8007a120 + 0x1118),1); - iVar8 = 0; - iVar6 = 0; - iVar7 = *_DAT_8007fff0; - piVar5 = _DAT_8007fff0; - while (iVar7 != 0) { - if (((longlong)(int)DAT_80044868 == (ulonglong)*(byte *)(piVar5 + 1)) || - ((longlong)(int)DAT_80044868 == (ulonglong)*(byte *)((int)piVar5 + 5))) { - FUN_7f0b8994(0,DAT_80044868,iVar8,1,&uStack16); - piVar5 = (int *)((int)_DAT_8007fff0 + iVar6); - } - iVar7 = piVar5[2]; - iVar8 += 1; - iVar6 += 8; - piVar5 = piVar5 + 2; - } - aiStack28[0] = 0; - lVar2 = FUN_7f0b8a94(aiStack28); - while (lVar2 != 0) { - lVar2 = FUN_7f0b8a94(aiStack28); - } - iVar7 = *_DAT_8007fff0; - } - if (iVar7 == 0) { - return; - } - bVar1 = *(byte *)(_DAT_8007fff0 + 1); - piVar5 = _DAT_8007fff0; - do { - if (((&DAT_80041444)[(uint)bVar1 * 0x50] == '\0') || - (iVar7 = (uint)*(byte *)((int)piVar5 + 5) * 0x50, (&DAT_80041444)[iVar7] != '\0')) { - if ((&DAT_80041444)[(uint)*(byte *)((int)piVar5 + 5) * 0x50] == '\0') { - iVar7 = piVar5[2]; - } - else { - if ((&DAT_80041444)[(uint)bVar1 * 0x50] == '\0') { - (&DAT_80041445)[(uint)bVar1 * 0x50] = 1; - goto LAB_7f0b9904; - } - iVar7 = piVar5[2]; - } - } - else { - (&DAT_80041445)[iVar7] = 1; -LAB_7f0b9904: - iVar7 = piVar5[2]; - } - if (iVar7 == 0) { - return; - } - bVar1 = *(byte *)(piVar5 + 3); - piVar5 = piVar5 + 2; - } while( true ); -} - - - -uint * FUN_7f0b9928(longlong param_1) - -{ - int *piVar2; - longlong lVar1; - uint *puVar3; - int iVar4; - - if (DAT_80041430 == 0xd) { - piVar2 = (int *)&DAT_80080010; - iVar4 = 0; - if (0 < DAT_8004486c) { - do { - iVar4 += 1; - if (*piVar2 == 0x23) { - piVar2[1] = 0; - break; - } - piVar2 = piVar2 + 7; - } while (iVar4 < DAT_8004486c); - } - } - lVar1 = FUN_7f0b483c(param_1); - puVar3 = FUN_7f0b5b64((uint *)lVar1); - return puVar3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b9a48(uint *param_1,int param_2) - -{ - byte bVar1; - int iVar2; - byte *pbVar3; - - iVar2 = 0; - if ((0 < _DAT_8007c0a8) && (0 < param_2)) { - pbVar3 = &DAT_8007c010; - bVar1 = DAT_8007c010; - while( true ) { - iVar2 += 1; - *param_1 = (uint)bVar1; - pbVar3 = pbVar3 + 1; - if ((_DAT_8007c0a8 <= iVar2) || (param_2 <= iVar2)) break; - bVar1 = *pbVar3; - param_1 = param_1 + 1; - } - } - return iVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0b9aac(ulonglong param_1,int *param_2,int param_3) - -{ - byte bVar1; - ulonglong uVar2; - int iVar3; - int iVar4; - int iVar5; - int *piVar6; - ulonglong uVar7; - int iVar8; - int *piVar9; - - if (*_DAT_8007fff0 == 0) { - return 0; - } - iVar5 = 0; - bVar1 = *(byte *)(_DAT_8007fff0 + 1); - iVar3 = 0; - piVar6 = _DAT_8007fff0; - do { - uVar2 = (ulonglong)bVar1; - uVar7 = (ulonglong)*(byte *)((int)piVar6 + 5); - if ((ulonglong)bVar1 == param_1) { - uVar2 = (ulonglong)*(byte *)((int)piVar6 + 5); - uVar7 = param_1; - } - if (uVar7 == param_1) { - iVar8 = 0; - piVar9 = param_2; - if (0 < iVar3) { - do { - iVar8 += 1; - if (uVar2 == (longlong)*piVar9) { - iVar8 = piVar6[2]; - iVar4 = iVar3; - goto LAB_7f0b9b58; - } - piVar9 = piVar9 + 1; - } while (iVar8 != iVar3); - } - iVar4 = iVar3 + 1; - param_2[iVar3] = (int)uVar2; - if (param_3 <= iVar4) { - return iVar4; - } - piVar6 = (int *)((int)_DAT_8007fff0 + iVar5); - iVar8 = piVar6[2]; - } - else { - iVar8 = piVar6[2]; - iVar4 = iVar3; - } -LAB_7f0b9b58: - iVar5 += 8; - if (iVar8 == 0) { - return iVar4; - } - bVar1 = *(byte *)(piVar6 + 3); - iVar3 = iVar4; - piVar6 = piVar6 + 2; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0b9b80(ulonglong param_1,ulonglong param_2) - -{ - byte bVar1; - int *piVar2; - int iVar3; - - if (*_DAT_8007fff0 != 0) { - bVar1 = *(byte *)(_DAT_8007fff0 + 1); - piVar2 = _DAT_8007fff0; - while( true ) { - if (((ulonglong)bVar1 == param_1) && ((ulonglong)*(byte *)((int)piVar2 + 5) == param_2)) { - return 1; - } - if ((ulonglong)*(byte *)((int)piVar2 + 5) == param_1) { - if ((ulonglong)bVar1 == param_2) { - return 1; - } - iVar3 = piVar2[2]; - } - else { - iVar3 = piVar2[2]; - } - if (iVar3 == 0) break; - bVar1 = *(byte *)(piVar2 + 3); - piVar2 = piVar2 + 2; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b9c3c(void) - -{ - short sVar1; - short sVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar4 = (float)DAT_80041434; - fVar7 = (float)DAT_80041438; - sVar1 = get_video2_settings_txtClipW(); - fVar6 = (float)DAT_8004143c + (float)(int)sVar1; - sVar1 = get_video2_settings_txtClipH(); - fVar5 = (float)DAT_80041440 + (float)(int)sVar1; - sVar1 = FUN_70004514(); - *(float *)(_DAT_8007a120 + 0x1118) = (float)(int)sVar1; - fVar3 = *(float *)(_DAT_8007a120 + 0x1118); - if (fVar3 < fVar4) { - *(float *)(_DAT_8007a120 + 0x1118) = fVar4; - fVar3 = *(float *)(_DAT_8007a120 + 0x1118); - } - if (fVar6 < fVar3) { - *(float *)(_DAT_8007a120 + 0x1118) = fVar6; - } - sVar1 = get_video2_settings_uly(); - *(float *)(_DAT_8007a120 + 0x111c) = (float)(int)sVar1; - fVar3 = *(float *)(_DAT_8007a120 + 0x111c); - if (fVar3 < fVar7) { - *(float *)(_DAT_8007a120 + 0x111c) = fVar7; - fVar3 = *(float *)(_DAT_8007a120 + 0x111c); - } - if (fVar5 < fVar3) { - *(float *)(_DAT_8007a120 + 0x111c) = fVar5; - } - sVar1 = FUN_70004514(); - sVar2 = FUN_7000449c(); - *(float *)(_DAT_8007a120 + 0x1120) = (float)((int)sVar2 + (int)sVar1); - fVar3 = *(float *)(_DAT_8007a120 + 0x1120); - if (fVar3 < fVar4) { - *(float *)(_DAT_8007a120 + 0x1120) = fVar4; - fVar3 = *(float *)(_DAT_8007a120 + 0x1120); - } - if (fVar6 < fVar3) { - *(float *)(_DAT_8007a120 + 0x1120) = fVar6; - } - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - *(float *)(_DAT_8007a120 + 0x1124) = (float)((int)sVar2 + (int)sVar1); - fVar3 = *(float *)(_DAT_8007a120 + 0x1124); - if (fVar3 < fVar7) { - *(float *)(_DAT_8007a120 + 0x1124) = fVar7; - fVar3 = *(float *)(_DAT_8007a120 + 0x1124); - } - if (fVar5 < fVar3) { - *(float *)(_DAT_8007a120 + 0x1124) = fVar5; - } - return; -} - - - -void FUN_7f0b9e64(int param_1,float *param_2) - -{ - int iVar1; - undefined1 *puVar2; - float fVar3; - - param_1 *= 0x50; - iVar1 = 1; - fVar3 = (*(float *)(&DAT_80041488 + param_1) + *(float *)(&DAT_8004147c + param_1)) * 0.50000000; - if (true) { - *param_2 = fVar3; - puVar2 = &DAT_80041444 + param_1; - while( true ) { - iVar1 += 1; - param_2 = param_2 + 1; - fVar3 = (*(float *)(puVar2 + 0x48) + *(float *)(puVar2 + 0x3c)) * 0.50000000; - if (iVar1 == 3) break; - *param_2 = fVar3; - puVar2 = puVar2 + 4; - } - } - *param_2 = fVar3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0b9ee8(int param_1) - -{ - char cVar1; - short sVar2; - short *psVar3; - int iVar4; - short *psVar5; - undefined1 *puVar6; - short *psVar7; - short *psVar8; - int *piVar9; - short sVar10; - int iVar11; - int iVar12; - short local_18; - undefined2 local_16; - undefined2 local_14; - short local_12; - undefined2 local_10; - undefined2 local_e; - - piVar9 = (int *)(_DAT_8007fffc + param_1 * 0x18); - if (*piVar9 == 0) { - if ((param_1 < _DAT_8007ba4c) && (iVar4 = 0, *(int *)(&DAT_8007b198 + param_1 * 4) != 0)) { - psVar7 = (short *)(&DAT_8007b3c8 + param_1 * 0xc); - puVar6 = &DAT_80041444 + param_1 * 0x50; - do { - sVar2 = psVar7[3]; - iVar12 = (int)sVar2 + (int)*psVar7; - iVar11 = _DAT_8007fffc + param_1 * 0x18 + iVar4; - iVar4 += 4; - *(float *)(puVar6 + 0x38) = (float)(int)*psVar7; - psVar7 = psVar7 + 1; - *(float *)(puVar6 + 0x44) = (float)(int)sVar2; - if (iVar12 < 0) { - iVar12 += 1; - } - *(float *)(iVar11 + 0xc) = (float)(iVar12 >> 1); - puVar6 = puVar6 + 4; - } while (iVar4 != 0xc); - } - } - else { - iVar4 = param_1 * 0x50; - cVar1 = (&DAT_80041446)[iVar4]; - if (cVar1 == '\0') { - FUN_7f0b6f18(param_1); - piVar9 = (int *)(_DAT_8007fffc + param_1 * 0x18); - psVar7 = *(short **)(&DAT_80041448 + iVar4); - } - else { - psVar7 = *(short **)(&DAT_80041448 + iVar4); - } - psVar8 = (short *)(*(int *)(&DAT_80041460 + iVar4) + (int)psVar7); - local_18 = 0x7fff; - local_16 = 0x7fff; - local_14 = 0x7fff; - local_12 = -0x7fff; - local_10 = 0x8001; - local_e = 0x8001; - if (psVar7 < psVar8) { - do { - psVar3 = &local_18; - psVar5 = psVar7; - do { - sVar2 = *psVar5; - if (sVar2 < *psVar3) { - *psVar3 = sVar2; - sVar2 = *psVar5; - sVar10 = psVar3[3]; - } - else { - sVar10 = psVar3[3]; - } - if (sVar10 < sVar2) { - psVar3[3] = sVar2; - } - psVar3 = psVar3 + 1; - psVar5 = psVar5 + 1; - } while (psVar3 != &local_12); - psVar7 = psVar7 + 8; - } while (psVar7 < psVar8); - } - *(float *)(&DAT_8004147c + iVar4) = (float)piVar9[3] + 32767.00000000; - *(float *)(&DAT_80041480 + iVar4) = (float)piVar9[4] + 32767.00000000; - *(float *)(&DAT_80041484 + iVar4) = (float)piVar9[5] + 32767.00000000; - *(float *)(&DAT_80041488 + iVar4) = (float)piVar9[3] + -32767.00000000; - *(float *)(&DAT_8004148c + iVar4) = (float)piVar9[4] + -32767.00000000; - *(float *)(&DAT_80041490 + iVar4) = (float)piVar9[5] + -32767.00000000; - if (cVar1 == '\0') { - FUN_7f0b7174(param_1); - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0ba188(ulonglong param_1) - -{ - byte bVar1; - int iVar2; - byte **ppbVar3; - longlong lVar4; - int iVar5; - undefined1 *puVar6; - byte *pbVar7; - float fVar8; - float fVar9; - - iVar2 = 0; - if (*_DAT_8007fff0 == NULL) { - return 0; - } - bVar1 = *(byte *)(_DAT_8007fff0 + 1); - ppbVar3 = _DAT_8007fff0; - do { - if (param_1 == (ulonglong)bVar1) { - pbVar7 = *ppbVar3; -LAB_7f0ba1c4: - lVar4 = 0; - if (*pbVar7 != 0) { - do { - iVar5 = 0; - puVar6 = &DAT_80041444 + (int)param_1 * 0x50; - do { - fVar8 = *(float *)(pbVar7 + iVar5 + (int)lVar4 * 0xc + 4); - iVar5 += 4; - if (fVar8 < *(float *)(puVar6 + 0x38)) { - *(float *)(puVar6 + 0x38) = fVar8; - iVar2 += 1; - fVar9 = *(float *)(puVar6 + 0x44); - } - else { - fVar9 = *(float *)(puVar6 + 0x44); - } - if (fVar9 < fVar8) { - *(float *)(puVar6 + 0x44) = fVar8; - iVar2 += 1; - } - puVar6 = puVar6 + 4; - pbVar7 = *ppbVar3; - } while (iVar5 != 0xc); - lVar4 = (longlong)((int)lVar4 + 1); - } while (lVar4 < (longlong)(ulonglong)*pbVar7); - } - pbVar7 = ppbVar3[2]; - } - else { - if (param_1 == (ulonglong)*(byte *)((int)ppbVar3 + 5)) { - pbVar7 = *ppbVar3; - goto LAB_7f0ba1c4; - } - pbVar7 = ppbVar3[2]; - } - if (pbVar7 == NULL) { - return iVar2; - } - bVar1 = *(byte *)(ppbVar3 + 3); - ppbVar3 = ppbVar3 + 2; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba27c(int param_1,float *param_2) - -{ - byte bVar1; - float *pfVar2; - int iVar3; - byte *pbVar4; - int iVar5; - int *piVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - undefined auStackX0 [16]; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - iVar3 = 0; - piVar6 = (int *)(_DAT_8007fff0 + param_1 * 8); - iVar5 = *piVar6; - pfVar2 = &fStack8; - while (pfVar2 < register0x000000ec) { - iVar5 += iVar3; - iVar3 += 4; - pfVar2[-1] = *(float *)(iVar5 + 4) - *(float *)(iVar5 + 0x10); - iVar5 = *piVar6; - pfVar2 = pfVar2 + 1; - } - pfVar2[-1] = *(float *)(iVar5 + iVar3 + 4) - *(float *)(iVar5 + iVar3 + 0x10); - iVar3 = 0; - iVar5 = *piVar6; - pfVar2 = &fStack20; - while (pfVar2 < &fStack12) { - iVar5 += iVar3; - iVar3 += 4; - pfVar2[-1] = *(float *)(iVar5 + 0x1c) - *(float *)(iVar5 + 0x10); - iVar5 = *piVar6; - pfVar2 = pfVar2 + 1; - } - pfVar2[-1] = *(float *)(iVar5 + iVar3 + 0x1c) - *(float *)(iVar5 + iVar3 + 0x10); - *param_2 = fStack8 * fStack16 - fStack20 * fStack4; - param_2[1] = fStack4 * fStack24 - fStack16 * fStack12; - param_2[2] = fStack12 * fStack20 - fStack24 * fStack8; - fVar7 = sqrtf(param_2[2] * param_2[2] + *param_2 * *param_2 + param_2[1] * param_2[1]); - iVar5 = 0; - if (fVar7 == 0.00000000) { - fVar9 = *param_2; - } - else { - fVar7 = 1.00000000 / fVar7; - fVar9 = *param_2; - } - *param_2 = fVar9 * fVar7; - param_2[1] = param_2[1] * fVar7; - param_2[2] = param_2[2] * fVar7; - pbVar4 = *(byte **)(_DAT_8007fff0 + param_1 * 8); - bVar1 = *pbVar4; - fVar7 = DAT_80058d94; - fVar9 = DAT_80058d98; - if (bVar1 != 0) { - fVar8 = DAT_80058d94; - fVar10 = DAT_80058d98; - do { - iVar5 += 0xc; - fVar9 = param_2[2] * *(float *)(pbVar4 + 0xc) + - *(float *)(pbVar4 + 4) * *param_2 + *(float *)(pbVar4 + 8) * param_2[1]; - fVar7 = fVar9; - if (fVar8 <= fVar9) { - fVar7 = fVar8; - } - if (fVar9 <= fVar10) { - fVar9 = fVar10; - } - pbVar4 = pbVar4 + 0xc; - fVar8 = fVar7; - fVar10 = fVar9; - } while (iVar5 < (int)((uint)bVar1 * 0xc)); - } - param_2[3] = fVar7; - param_2[4] = fVar9; - return; -} - - - -ulonglong FUN_7f0ba4ec(int param_1) - -{ - float afStack20 [2]; - float fStack12; - - FUN_7f0ba27c(param_1,afStack20); - return (ulonglong)(DAT_80058d9c <= fStack12 * fStack12 + afStack20[0] * afStack20[0]); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -float FUN_7f0ba540(int param_1) - -{ - byte bVar1; - uint uVar2; - uint uVar3; - float fVar4; - - bVar1 = *(byte *)(_DAT_8007fff0 + param_1 * 8 + 7); - uVar3 = (int)(uint)bVar1 >> 4; - fVar4 = (float)((uint)bVar1 & 0xf) * 0.25000000; - if (uVar3 != 0) { - uVar2 = -(uVar3 & 3) + uVar3; - if (-(uVar3 & 3) != 0) { - do { - uVar3 -= 1; - fVar4 = fVar4 + fVar4; - } while (uVar2 != uVar3); - if (uVar3 == 0) { - return fVar4; - } - } - do { - uVar3 -= 4; - fVar4 = fVar4 + fVar4 + fVar4 + fVar4; - fVar4 = fVar4 + fVar4; - fVar4 = fVar4 + fVar4; - } while (uVar3 != 0); - } - return fVar4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba5dc(int param_1) - -{ - char cVar1; - byte bVar2; - int iVar3; - - iVar3 = _DAT_8007fff0 + param_1 * 8; - cVar1 = *(char *)(iVar3 + 7); - bVar2 = cVar1 + 1; - if (cVar1 == -1) { - bVar2 = 0xff; - } - else { - if ((int)(uint)bVar2 >> 4 != 0) { - bVar2 |= 8; - } - } - *(byte *)(iVar3 + 7) = bVar2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba62c(int param_1) - -{ - uint uVar1; - byte bVar2; - int iVar3; - - iVar3 = _DAT_8007fff0 + param_1 * 8; - bVar2 = *(byte *)(iVar3 + 7); - if ((int)(uint)bVar2 >> 4 == 0) { - if (bVar2 != 0) { - bVar2 -= 1; - } - } - else { - uVar1 = (uint)bVar2 - 1; - bVar2 = (byte)uVar1; - if ((uVar1 & 0xf) < 8) { - bVar2 -= 8; - } - } - *(byte *)(iVar3 + 7) = bVar2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0ba694(int param_1) - -{ - return (ulonglong)*(byte *)(_DAT_8007fff0 + param_1 * 8 + 6) & 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0ba6b4(int param_1) - -{ - return (ulonglong)*(byte *)(_DAT_8007fff0 + param_1 * 8 + 6) & 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba6d4(int param_1) - -{ - int iVar1; - - iVar1 = _DAT_8007fff0 + param_1 * 8; - *(byte *)(iVar1 + 6) = *(byte *)(iVar1 + 6) | 2; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba6f4(int param_1) - -{ - int iVar1; - - iVar1 = _DAT_8007fff0 + param_1 * 8; - *(byte *)(iVar1 + 6) = *(byte *)(iVar1 + 6) & 0xfd; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba714(int param_1) - -{ - undefined uVar1; - int iVar2; - - iVar2 = _DAT_8007fff0 + param_1 * 8; - uVar1 = *(undefined *)(iVar2 + 4); - *(undefined *)(iVar2 + 4) = *(undefined *)(iVar2 + 5); - *(undefined *)(_DAT_8007fff0 + param_1 * 8 + 5) = uVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba744(int param_1) - -{ - byte bVar1; - bool bVar2; - int iVar3; - float fVar4; - float local_2c; - float local_28; - float local_24; - float local_20; - float local_1c; - float local_18; - float local_14; - float local_10; - float local_c; - float local_8; - float local_4; - - iVar3 = _DAT_8007fff0 + param_1 * 8; - bVar1 = *(byte *)(iVar3 + 5); - FUN_7f0b9e64((uint)*(byte *)(iVar3 + 4),&local_c); - FUN_7f0b9e64((uint)bVar1,&local_18); - FUN_7f0ba27c(param_1,&local_2c); - bVar2 = local_1c < local_4 * local_24 + local_2c * local_c + local_28 * local_8; - if (bVar2) { - FUN_7f0ba714(param_1); - fVar4 = -local_1c; - local_1c = -local_20; - local_28 = -local_28; - local_24 = -local_24; - local_2c = -local_2c; - local_20 = fVar4; - } - if ((local_10 * local_24 + local_2c * local_18 + local_28 * local_14 <= local_20) && (bVar2)) { - FUN_7f0ba714(param_1); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0ba878(ulonglong param_1,ulonglong param_2,float *param_3,float *param_4) - -{ - byte bVar1; - int *piVar3; - longlong lVar2; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - - iVar7 = -1; - iVar4 = 0; - if (*_DAT_8007fff0 != 0) { - iVar5 = 0; - bVar1 = *(byte *)(_DAT_8007fff0 + 1); - iVar6 = iVar7; - piVar3 = _DAT_8007fff0; - while( true ) { - if ((((param_1 == (ulonglong)bVar1) && (param_2 == (ulonglong)*(byte *)((int)piVar3 + 5))) || - ((iVar7 = iVar6, param_2 == (ulonglong)bVar1 && - (iVar7 = iVar6, param_1 == (ulonglong)*(byte *)((int)piVar3 + 5))))) && - (lVar2 = loc_7F0BA258(iVar4,param_3,param_4), iVar7 = iVar4, lVar2 == 0)) { - iVar7 = iVar6; - } - iVar5 += 8; - iVar4 += 1; - piVar3 = (int *)((int)_DAT_8007fff0 + iVar5); - if (*piVar3 == 0) break; - bVar1 = *(byte *)(piVar3 + 1); - iVar6 = iVar7; - } - } - return iVar7; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ba96c(int param_1,longlong param_2) - -{ - int iVar1; - - iVar1 = _DAT_8007fff0 + param_1 * 8; - *(byte *)(iVar1 + 6) = (*(byte *)(iVar1 + 6) | 1) ^ param_2 != 0; - return; -} - - - -undefined8 FUN_7f0ba994(undefined8 param_1) - -{ - return param_1; -} - - - -void FUN_7f0ba9a4(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0ba9b4(float *param_1,float *param_2) - -{ - longlong lVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - float fVar6; - float fVar7; - - iVar5 = -1; - iVar2 = 0; - if (*_DAT_8007fff0 != 0) { - iVar3 = 0; - fVar7 = DAT_80058da0; - iVar4 = iVar5; - do { - lVar1 = loc_7F0BA258(iVar2,param_1,param_2); - fVar6 = fVar7; - iVar5 = iVar4; - if (lVar1 != 0) { - fVar6 = DAT_80044930; - if (DAT_80044930 < 0.00000000) { - fVar6 = -DAT_80044930; - } - iVar5 = iVar2; - if (fVar7 <= fVar6) { - fVar6 = fVar7; - iVar5 = iVar4; - } - } - fVar7 = fVar6; - iVar3 += 8; - iVar2 += 1; - iVar4 = iVar5; - } while (*(int *)((int)_DAT_8007fff0 + iVar3) != 0); - } - return iVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F0BA258(int param_1,float *param_2,float *param_3) - -{ - int iVar1; - bool bVar2; - bool bVar3; - byte *pbVar4; - undefined8 uVar5; - int iVar6; - ulonglong uVar7; - byte **ppbVar8; - int iVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - - FUN_7f0ba27c(param_1,&fStack64); - bVar3 = false; - bVar2 = false; - fVar12 = (fStack56 * param_2[2] + *param_2 * fStack64 + param_2[1] * fStack60) * DAT_80041424; - fVar10 = (fStack56 * param_3[2] + *param_3 * fStack64 + param_3[1] * fStack60) * DAT_80041424; - if (((fVar12 < fStack52) && (fVar10 < fStack52)) || ((fStack52 < fVar12 && (fStack52 < fVar10)))) - { - uVar5 = 0; - } - else { - ppbVar8 = (byte **)(_DAT_8007fff0 + param_1 * 8); - DAT_80044930 = (fVar12 + fVar10) * 0.50000000 - fStack52; - iVar6 = 0; - pbVar4 = *ppbVar8; - uVar7 = (ulonglong)*pbVar4; - if (*pbVar4 != 0) { - iVar9 = 1; - while( true ) { - iVar1 = (iVar9 % (int)uVar7) * 0xc; - if (uVar7 == 0) { - trap(0x1c00); - } - if ((uVar7 == 0xffffffffffffffff) && ((longlong)iVar9 == -0x80000000)) { - trap(0x1800); - } - fVar10 = *(float *)(*ppbVar8 + iVar1 + 8) - *(float *)(*ppbVar8 + iVar6 + 8); - fVar13 = *(float *)(*ppbVar8 + iVar1 + 0xc) - *(float *)(*ppbVar8 + iVar6 + 0xc); - fVar11 = fVar10 * (param_3[2] - param_2[2]) - (param_3[1] - param_2[1]) * fVar13; - fVar13 = fVar13 * (*param_3 - *param_2) - - (param_3[2] - param_2[2]) * - (*(float *)(pbVar4 + iVar1 + 4) - *(float *)(pbVar4 + iVar6 + 4)); - fVar10 = (*(float *)(pbVar4 + iVar1 + 4) - *(float *)(pbVar4 + iVar6 + 4)) * - (param_3[1] - param_2[1]) - (*param_3 - *param_2) * fVar10; - if (fVar10 * fVar10 + fVar11 * fVar11 + fVar13 * fVar13 == 0.00000000) { - return 0; - } - pbVar4 = *ppbVar8 + iVar6; - if ((param_2[2] * fVar10 + fVar11 * *param_2 + fVar13 * param_2[1]) * DAT_80041424 < - *(float *)(pbVar4 + 0xc) * fVar10 + - fVar11 * *(float *)(pbVar4 + 4) + fVar13 * *(float *)(pbVar4 + 8)) { - if (bVar2) { - return 0; - } - bVar3 = true; - } - else { - bVar2 = true; - if (bVar3) { - return 0; - } - } - pbVar4 = *ppbVar8; - iVar6 += 0xc; - uVar7 = (ulonglong)*pbVar4; - if ((longlong)uVar7 <= (longlong)iVar9) break; - iVar9 += 1; - } - } - uVar5 = 2; - if (fVar12 < fStack52) { - uVar5 = 1; - } - } - return uVar5; -} - - - -undefined8 loc_7F0BA2C0(int param_1,float *param_2,float *param_3,int param_4) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - float fVar4; - - iVar1 = 0; - while( true ) { - fVar4 = *param_2; - pfVar2 = (float *)(param_4 + iVar1); - pfVar3 = (float *)(param_1 + iVar1); - iVar1 += 4; - param_2 = param_2 + 1; - if ((fVar4 < *param_3) || (*pfVar2 < *pfVar3)) break; - param_3 = param_3 + 1; - if (iVar1 == 0xc) { - return 1; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bae84(float *param_1,float *param_2,int *param_3,int *param_4,int param_5) - -{ - byte bVar1; - byte **ppbVar3; - float *pfVar4; - ulonglong uVar2; - int *piVar5; - float *pfVar6; - int iVar7; - longlong lVar8; - byte **ppbVar9; - byte *pbVar10; - int iVar11; - int iVar12; - ulonglong uVar13; - float fVar14; - float fVar15; - int *piStack92; - float fStack84; - undefined4 uStack80; - undefined4 uStack76; - float fStack72; - undefined4 uStack68; - undefined4 uStack64; - int iStack60; - int iStack44; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - - iVar11 = *param_4; - fStack24 = *param_1 * DAT_80041424; - iStack44 = 0; - fStack20 = param_1[1] * DAT_80041424; - fStack16 = param_1[2] * DAT_80041424; - fStack36 = *param_2 * DAT_80041424; - fStack32 = param_2[1] * DAT_80041424; - fStack28 = param_2[2] * DAT_80041424; - do { - iStack60 = iVar11; - if (iStack44 < iVar11) { - piStack92 = param_3 + iStack44; - ppbVar3 = _DAT_8007fff0; - iStack60 = iVar11; - do { - iVar12 = 0; - uVar13 = SEXT48(*piStack92); - if (*ppbVar3 != NULL) { - bVar1 = *(byte *)((int)ppbVar3 + 6); - ppbVar9 = ppbVar3; - do { - if ((bVar1 & 1) == 0) { - if ((uVar13 == (ulonglong)*(byte *)(ppbVar9 + 1)) || - (uVar13 == (ulonglong)*(byte *)((int)ppbVar9 + 5))) { - fStack72 = DAT_80044934; - uStack68 = DAT_80044938; - uStack64 = DAT_8004493c; - lVar8 = 0; - fStack84 = DAT_80044940; - uStack80 = DAT_80044944; - uStack76 = DAT_80044948; - pbVar10 = *ppbVar9; - if (*pbVar10 != 0) { - do { - iVar7 = 0; - pfVar6 = &fStack72; - pfVar4 = &fStack84; - do { - fVar14 = *(float *)(pbVar10 + iVar7 + (int)lVar8 * 0xc + 4); - iVar7 += 4; - if (fVar14 < *pfVar6) { - *pfVar6 = fVar14; - fVar15 = *pfVar4; - } - else { - fVar15 = *pfVar4; - } - pfVar6 = pfVar6 + 1; - if (fVar15 < fVar14) { - *pfVar4 = fVar14; - } - pfVar4 = pfVar4 + 1; - pbVar10 = *ppbVar9; - } while (pfVar4 != &fStack72); - lVar8 = (longlong)((int)lVar8 + 1); - } while (lVar8 < (longlong)(ulonglong)*pbVar10); - } - lVar8 = loc_7F0BA2C0((int)&fStack72,&fStack84,&fStack24,(int)&fStack36); - if (lVar8 != 0) { - iVar7 = 0; - uVar2 = (ulonglong)*(byte *)((int)_DAT_8007fff0 + iVar12 + 4); - if (uVar13 == uVar2) { - uVar2 = (ulonglong)*(byte *)((int)_DAT_8007fff0 + iVar12 + 5); - } - piVar5 = param_3; - if (0 < iVar11) { - do { - if (uVar2 == (longlong)*piVar5) break; - iVar7 += 1; - piVar5 = piVar5 + 1; - } while (iVar7 != iVar11); - } - if (iVar7 == iVar11) { - if (iVar11 < param_5) { - param_3[iVar11] = (int)uVar2; - iVar11 += 1; - } - if (param_5 <= iVar11) { - *param_4 = iVar11; - return; - } - } - } - ppbVar9 = (byte **)((int)_DAT_8007fff0 + iVar12); - pbVar10 = ppbVar9[2]; - ppbVar3 = _DAT_8007fff0; - } - else { - pbVar10 = ppbVar9[2]; - } - } - else { - pbVar10 = ppbVar9[2]; - } - iVar12 += 8; - if (pbVar10 == NULL) break; - bVar1 = *(byte *)((int)ppbVar9 + 0xe); - ppbVar9 = ppbVar9 + 2; - } while( true ); - } - iStack44 += 1; - piStack92 = piStack92 + 1; - } while (iStack44 < iStack60); - } - if (iVar11 == iStack60) { - *param_4 = iVar11; - return; - } - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f0bb218) overlaps instruction at (ram,0x7f0bb214) -// - -void locret_7F0BA710(int *param_1,int *param_2,int param_3) - -{ - char cVar1; - int *piVar2; - int iVar3; - int iVar4; - - if ((param_2 != NULL) && (param_1 < param_2)) goto code_r0x7f0bb21c; - if (param_2 == NULL) { - cVar1 = *(char *)param_1; - while (cVar1 != -0x48) { -code_r0x7f0bb21c: - do { - piVar2 = (int *)(&PTR_DAT_80044db8)[param_3]; - iVar3 = *piVar2; - if (iVar3 != 0) { - iVar4 = *param_1; - while( true ) { - if (iVar4 == iVar3) { - if (param_1[1] == piVar2[1]) { - DAT_80044de0 += 1; - *param_1 = piVar2[2]; - param_1[1] = piVar2[3]; - iVar3 = piVar2[4]; - } - else { - iVar3 = piVar2[4]; - } - } - else { - iVar3 = piVar2[4]; - } - piVar2 = piVar2 + 4; - if (iVar3 == 0) break; - iVar4 = *param_1; - } - } - param_1 = param_1 + 2; - } while ((param_2 != NULL) && (param_1 < param_2)); - if (param_2 != NULL) { - return; - } - cVar1 = *(char *)param_1; - } - } - return; -} - - - -undefined4 * FUN_7f0bb2dc(void) - -{ - return &DAT_80044dfc; -} - - - -float FUN_7f0bb2f4(void) - -{ - return DAT_80044df4 * DAT_80044df4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0BA9BC(undefined8 param_1,undefined8 param_2) - -{ - int iVar1; - float fVar2; - float fVar3; - float fStack8; - float fStack4; - - iVar1 = (int)param_1; - FUN_70004650(*(undefined4 *)(iVar1 + 4),*(undefined4 *)(iVar1 + 8),param_1,param_2); - fVar2 = (float)FUN_700046ac(&fStack8); - FUN_7f0b5428(); - fStack8 = fStack8 / fVar2; - _DAT_80082654 = (float)*(int *)(iVar1 + 0x20) / 1000.00000000; - _DAT_80082634 = iVar1 + 0xc; - _DAT_80082650 = (float)*(int *)(iVar1 + 0x24) / 1000.00000000; - fVar3 = fStack4 / fVar2 - fStack8; - _DAT_80082638 = *(float *)(iVar1 + 4) / fVar2; - _DAT_8008263c = *(float *)(iVar1 + 8) / fVar2; - fVar2 = 128.00000000 / (_DAT_80082650 - _DAT_80082654); - if (*(float *)(iVar1 + 0xc) == 0.00000000) { - _DAT_80082634 = 0; - } - DAT_80044df4 = fStack8 + fVar3 * _DAT_80082650; - DAT_80044df8 = fStack8 + fVar3 * _DAT_80082654; - DAT_80044dfc = *(undefined4 *)(iVar1 + 0x20); - DAT_80044e00 = *(undefined4 *)(iVar1 + 0x24); - DAT_80044e04 = *(undefined *)(iVar1 + 0x28); - DAT_80044e05 = *(undefined *)(iVar1 + 0x29); - DAT_80044e06 = *(undefined *)(iVar1 + 0x2a); - DAT_80044e07 = *(undefined *)(iVar1 + 0x2b); - DAT_80044e08 = *(undefined4 *)(iVar1 + 0x2c); - DAT_80044e0c = *(undefined2 *)(iVar1 + 0x30); - DAT_80044e10 = *(undefined4 *)(iVar1 + 0x34); - DAT_80044e14 = *(undefined4 *)(iVar1 + 0x38); - DAT_80044e18 = *(undefined4 *)(iVar1 + 0x3c); - DAT_80044e1c = *(undefined *)(iVar1 + 0x40); - DAT_80044e20 = *(undefined4 *)(iVar1 + 0x44); - DAT_80044e24 = *(undefined2 *)(iVar1 + 0x48); - DAT_80044e28 = *(undefined4 *)(iVar1 + 0x4c); - DAT_80044e2c = *(undefined4 *)(iVar1 + 0x50); - DAT_80044e30 = *(undefined4 *)(iVar1 + 0x54); - DAT_80044e34 = *(undefined4 *)(iVar1 + 0x58); - _DAT_80082630 = 1; - _DAT_80082648 = - ((-fVar2 * _DAT_8008263c * (_DAT_80082638 + 1.00000000)) / (_DAT_8008263c - _DAT_80082638)) / - 255.00000000; - _DAT_8008264c = - (((_DAT_8008263c + 1.00000000) * fVar2) / (_DAT_8008263c - _DAT_80082638) + - ((0.50000000 - _DAT_80082654) * 256.00000000) / (_DAT_80082650 - _DAT_80082654)) / - 255.00000000; - return; -} - - - -void FUN_7f0bb580(int param_1) - -{ - DAT_80044e04 = *(undefined *)(param_1 + 4); - DAT_80044e05 = *(undefined *)(param_1 + 5); - DAT_80044e06 = *(undefined *)(param_1 + 6); - DAT_80044e07 = *(undefined *)(param_1 + 7); - DAT_80044e08 = *(undefined4 *)(param_1 + 8); - DAT_80044e0c = *(undefined2 *)(param_1 + 0xc); - DAT_80044e10 = *(undefined4 *)(param_1 + 0x10); - DAT_80044e14 = *(undefined4 *)(param_1 + 0x14); - DAT_80044e18 = *(undefined4 *)(param_1 + 0x18); - DAT_80044e1c = *(undefined *)(param_1 + 0x1c); - DAT_80044e20 = *(undefined4 *)(param_1 + 0x20); - DAT_80044e24 = *(undefined2 *)(param_1 + 0x24); - DAT_80044e28 = *(undefined4 *)(param_1 + 0x28); - DAT_80044e2c = *(undefined4 *)(param_1 + 0x2c); - DAT_80044e30 = *(undefined4 *)(param_1 + 0x30); - DAT_80044e34 = *(undefined4 *)(param_1 + 0x34); - return; -} - - - -void FUN_7f0bb60c(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bb614(int param_1,int param_2) - -{ - ulonglong uVar1; - longlong lVar2; - longlong lVar3; - int iVar4; - undefined4 *puVar5; - undefined4 *puVar6; - longlong extraout_a0; - longlong lVar7; - undefined8 extraout_a1; - - uVar1 = get_num_players(); - if (uVar1 == 1) { - uVar1 = 0; - } - DAT_80044df4 = DAT_80058db0; - DAT_80044df8 = 0; - lVar7 = extraout_a0; - if (param_2 != 0) { - puVar5 = &DAT_80044e40; - lVar7 = (longlong)(param_1 + 900); - if (DAT_80044e40 != 0) { - lVar2 = (longlong)DAT_80044e40; - do { - if (lVar7 == lVar2) { - _DAT_80082660 = puVar5 + 0x17; - _DAT_80082658 = puVar5; - _DAT_8008265c = puVar5; - loc_7F0BA9BC((longlong)(int)puVar5,extraout_a1); - return; - } - lVar2 = (longlong)(int)puVar5[0x17]; - puVar5 = puVar5 + 0x17; - } while (lVar2 != 0); - } - } - puVar5 = &DAT_80044e40; - lVar2 = (longlong)DAT_80044e40; - if (lVar2 != 0) { - lVar7 = (longlong)(param_1 + (int)uVar1 * 100); - lVar3 = (longlong)DAT_80044e40; - puVar6 = puVar5; - do { - if (lVar7 == lVar3) { - _DAT_80082660 = puVar6 + 0x17; - _DAT_80082658 = puVar6; - _DAT_8008265c = puVar6; - loc_7F0BA9BC((longlong)(int)puVar6,lVar2); - return; - } - lVar3 = (longlong)(int)puVar6[0x17]; - puVar6 = puVar6 + 0x17; - } while (lVar3 != 0); - } - if ((1 < (longlong)uVar1) && (lVar2 != 0)) { - lVar7 = (longlong)((int)uVar1 * 100); - lVar3 = (longlong)DAT_80044e40; - do { - if (lVar7 == lVar3) { - _DAT_80082660 = puVar5 + 0x17; - _DAT_80082658 = puVar5; - _DAT_8008265c = puVar5; - loc_7F0BA9BC((longlong)(int)puVar5,lVar2); - return; - } - lVar3 = (longlong)(int)puVar5[0x17]; - puVar5 = puVar5 + 0x17; - } while (lVar3 != 0); - } - FUN_70004650(0x41700000,DAT_80058db4,lVar7,lVar2); - _DAT_80082630 = 0; - puVar5 = NULL; - puVar6 = &DAT_80045f80; - iVar4 = DAT_80045f80; - while (iVar4 != 0) { - if (param_1 == iVar4) { - iVar4 = puVar6[0xe]; - puVar5 = puVar6; - } - else { - iVar4 = puVar6[0xe]; - } - puVar6 = puVar6 + 0xe; - } - if (puVar5 == NULL) { - puVar5 = &DAT_80045f80; - } - FUN_7f0bb580((int)puVar5); - _DAT_80082658 = NULL; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bb858(float param_1,undefined8 param_2,undefined8 param_3) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - float fVar7; - float fVar8; - - puVar1 = _DAT_8008265c; - puVar4 = _DAT_8008265c + 0x15; - puVar6 = _DAT_8008265c; - puVar2 = (undefined4 *)&DAT_80082668; - do { - puVar3 = puVar2; - puVar5 = puVar6; - puVar6 = puVar5 + 3; - *puVar3 = *puVar5; - puVar3[1] = puVar5[1]; - puVar3[2] = puVar5[2]; - puVar2 = puVar3 + 3; - } while (puVar6 != puVar4); - puVar3[3] = *puVar6; - puVar3[4] = puVar5[4]; - _DAT_8008266c = (float)puVar1[1] + param_1 * (*(float *)(_DAT_80082660 + 4) - (float)puVar1[1]); - _DAT_80082670 = (float)puVar1[2] + param_1 * (*(float *)(_DAT_80082660 + 8) - (float)puVar1[2]); - _DAT_80082688 = - (int)((float)puVar1[8] + param_1 * ((float)*(int *)(_DAT_80082660 + 0x20) - (float)puVar1[8]) - ); - _DAT_8008268c = - (int)((float)puVar1[9] + param_1 * ((float)*(int *)(_DAT_80082660 + 0x24) - (float)puVar1[9]) - ); - fVar8 = (float)(uint)*(byte *)(puVar1 + 10); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar7 = (float)(uint)*(byte *)(_DAT_80082660 + 0x28); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = fVar8 + param_1 * (fVar7 - fVar8); - if (false) { - fVar7 = ROUND(fVar8); - } - else { - fVar7 = FLOOR(fVar8); - } - DAT_80082690 = (byte)(int)fVar7; - if (false) { - if (false) { - fVar8 = ROUND(fVar8 - 2147483648.00000000); - } - else { - fVar8 = FLOOR(fVar8 - 2147483648.00000000); - } - if (false) goto LAB_7f0bba10; - DAT_80082690 = (byte)(int)fVar8; - } - else { - if ((int)fVar7 < 0) { -LAB_7f0bba10: - DAT_80082690 = 0xff; - } - } - fVar8 = (float)(uint)*(byte *)((int)puVar1 + 0x29); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - DAT_80082690 &= 0xf8; - fVar7 = (float)(uint)*(byte *)(_DAT_80082660 + 0x29); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = fVar8 + param_1 * (fVar7 - fVar8); - if (false) { - fVar7 = ROUND(fVar8); - } - else { - fVar7 = FLOOR(fVar8); - } - DAT_80082691 = (byte)(int)fVar7; - if (false) { - if (false) { - fVar8 = ROUND(fVar8 - 2147483648.00000000); - } - else { - fVar8 = FLOOR(fVar8 - 2147483648.00000000); - } - if (false) goto LAB_7f0bbaf4; - DAT_80082691 = (byte)(int)fVar8; - } - else { - if ((int)fVar7 < 0) { -LAB_7f0bbaf4: - DAT_80082691 = 0xff; - } - } - DAT_80082691 &= 0xf8; - fVar8 = (float)(uint)*(byte *)((int)puVar1 + 0x2a); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar7 = (float)(uint)*(byte *)(_DAT_80082660 + 0x2a); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = fVar8 + param_1 * (fVar7 - fVar8); - if (false) { - fVar7 = ROUND(fVar8); - } - else { - fVar7 = FLOOR(fVar8); - } - DAT_80082692 = (byte)(int)fVar7; - if (false) { - if (false) { - fVar8 = ROUND(fVar8 - 2147483648.00000000); - } - else { - fVar8 = FLOOR(fVar8 - 2147483648.00000000); - } - if (true) { - DAT_80082692 = (byte)(int)fVar8; - goto LAB_7f0bbbf0; - } - } - else { - if (-1 < (int)fVar7) goto LAB_7f0bbbf0; - } - DAT_80082692 = 0xff; -LAB_7f0bbbf0: - DAT_80082692 &= 0xf8; - loc_7F0BA9BC(ZEXT48(&DAT_80082668),param_3); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0bbc20(undefined4 *param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - - if (_DAT_80082630 != 0) { - if (param_2 == 0) { - *param_1 = 0xf8000000; - param_1[1] = (uint)DAT_80044e04 << 0x18 | (uint)DAT_80044e05 << 0x10 | (uint)DAT_80044e06 << 8 - | 0xff; - param_1[2] = 0xbc000008; - iVar1 = DAT_80044e00 - DAT_80044dfc; - iVar2 = DAT_80044dfc * -0x100 + 0x1f400; - param_1[3] = 0x1f400 / iVar1 << 0x10 | iVar2 / iVar1 & 0xffffU; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (false)) { - trap(0x1800); - } - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - else { - *param_1 = 0xf8000000; - param_1[1] = (uint)DAT_80044e04 << 0x18 | (uint)DAT_80044e05 << 0x10 | (uint)DAT_80044e06 << 8 - | 0xff; - param_1[2] = 0xbc000008; - iVar1 = DAT_80044e00 - DAT_80044dfc; - iVar2 = DAT_80044dfc * -0x100 + 0x1f400; - param_1[3] = 0x1f400 / iVar1 << 0x10 | iVar2 / iVar1 & 0xffffU; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (false)) { - trap(0x1800); - } - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - param_1[5] = 0x10000; - param_1[4] = 0xb7000000; - param_1[7] = 0x20; - param_1[6] = 0xba000402; - return param_1 + 8; - } - return param_1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * FUN_7f0bbe48(undefined4 *param_1) - -{ - if (_DAT_80082630 == 0) { - return param_1; - } - *param_1 = 0xb6000000; - param_1[1] = 0x10000; - return param_1 + 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0bbe78(float *param_1,float param_2) - -{ - undefined uVar3; - int *piVar1; - float *pfVar2; - int7 in_register_00000018; - undefined uVar4; - - if (_DAT_80082630 == 0) { - uVar3 = 1; - } - else { - piVar1 = FUN_7f08a70c(); - pfVar2 = (float *)FUN_7f0789b4(); - in_register_00000018 = (int7)(int3)((uint)piVar1 >> 8); - uVar4 = SUB41(piVar1,0); - uVar3 = 1; - if (DAT_80044df4 + param_2 < - pfVar2[2] * (param_1[2] - *(float *)((int)CONCAT71(in_register_00000018,uVar4) + 8)) + - (*param_1 - *(float *)CONCAT71(in_register_00000018,uVar4)) * *pfVar2 + - (param_1[1] - *(float *)((int)CONCAT71(in_register_00000018,uVar4) + 4)) * pfVar2[1]) { - uVar3 = 0; - } - } - return CONCAT17(uVar3,in_register_00000018); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0bbf48(void) - -{ - return _DAT_80082634; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0bbf54(int param_1,float *param_2) - -{ - float fVar1; - - if (_DAT_80082630 == 0) { - return 2; - } - if (0.00000000 <= *(float *)(param_1 + 0x18)) { - fVar1 = (float)(uint)DAT_80044e04; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - *param_2 = fVar1 / 255.00000000; - fVar1 = (float)(uint)DAT_80044e05; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - param_2[1] = fVar1 / 255.00000000; - fVar1 = (float)(uint)DAT_80044e06; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - param_2[2] = fVar1 / 255.00000000; - param_2[3] = _DAT_80082648 / *(float *)(param_1 + 0x18) + _DAT_8008264c; - if (0.00000000 <= param_2[3]) { - if (param_2[3] <= 1.00000000) { - return 1; - } - return 0; - } - return 2; - } - return 2; -} - - - -void FUN_7f0bc080(void) - -{ - undefined2 *puVar1; - - puVar1 = (undefined2 *)&DAT_800826d0; - do { - puVar1 = puVar1 + 6; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 < &DAT_80082b80); - puVar1 = (undefined2 *)&DAT_80082b88; - do { - puVar1 = puVar1 + 8; - puVar1[2] = 0; - puVar1[4] = 0; - puVar1[6] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != (undefined2 *)0x80083388); - DAT_80046060 = 0; - return; -} - - - -int FUN_7f0bc0d4(void) - -{ - short *psVar1; - int iVar2; - - psVar1 = (short *)&DAT_800826d0; - iVar2 = 0; - while( true ) { - if (*psVar1 == 0) { - return iVar2; - } - if (psVar1[6] == 0) { - return iVar2 + 1; - } - if (psVar1[0xc] == 0) { - return iVar2 + 2; - } - if (psVar1[0x12] == 0) break; - iVar2 += 4; - psVar1 = psVar1 + 0x18; - if (iVar2 == 100) { - return 100; - } - } - return iVar2 + 3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bc14c(undefined4 param_1) - -{ - int iVar1; - - iVar1 = FUN_7f0bc0d4(); - _DAT_80082b80 = (short)iVar1; - iVar1 = (int)_DAT_80082b80; - if (_DAT_80082b80 != 100) { - *(undefined2 *)(&DAT_800826d0 + iVar1 * 0xc) = _DAT_80082b82; - *(undefined4 *)(&DAT_800826d4 + iVar1 * 0xc) = param_1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bc1b0(undefined4 param_1) - -{ - if (_DAT_80082b80 != 100) { - *(undefined4 *)(&DAT_800826d8 + (int)_DAT_80082b80 * 0xc) = param_1; - } - return; -} - - - -undefined8 locret_7F0BB68C(longlong param_1) - -{ - if ((((((param_1 != 0xc9) && (param_1 != 0xcb)) && (param_1 != 0xcd)) && - ((param_1 != 0xfc && (param_1 != 0xfe)))) && - ((param_1 != 0xff && ((param_1 != 0x100 && (param_1 != 0x1ac)))))) && - ((param_1 != 0x3d6 && (param_1 != 0x567)))) { - return 0; - } - return 1; -} - - - -uint locret_7F0BB6EC(char *param_1,int param_2) - -{ - uint uVar1; - char *pcVar2; - char cVar3; - - if (*param_1 != '\x04') { - cVar3 = param_1[-8]; - pcVar2 = param_1; - while (param_1 = pcVar2 + -8, cVar3 != '\x04') { - cVar3 = pcVar2[-0x10]; - pcVar2 = param_1; - } - } - uVar1 = *(uint *)(param_1 + 4); - if ((uVar1 & 0xff000000) == 0xe000000) { - uVar1 = *(int *)(&DAT_80041448 + param_2 * 0x50) + (uVar1 & 0xffffff); - } - return uVar1; -} - - - -void FUN_7f0bc2a4(undefined8 param_1,ulonglong param_2) - -{ - if (param_2 < 5) { - // WARNING: Could not recover jumptable at 0x7f0bc2bc. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_80058dc0)[(int)param_2])(); - return; - } - return; -} - - - -void sub_7F0BB874(undefined8 param_1,ulonglong param_2,int param_3,undefined2 *param_4, - undefined2 *param_5,undefined2 *param_6) - -{ - uint uVar1; - int iStack12; - int iStack8; - int iStack4; - - FUN_7f0bc2a4(param_1,param_2); - uVar1 = locret_7F0BB6EC((char *)param_1,param_3); - *param_4 = *(undefined2 *)(uVar1 + iStack4 * 0x10); - param_4[1] = *(undefined2 *)(uVar1 + iStack4 * 0x10 + 2); - param_4[2] = *(undefined2 *)(uVar1 + iStack4 * 0x10 + 4); - *param_5 = *(undefined2 *)(uVar1 + iStack8 * 0x10); - param_5[1] = *(undefined2 *)(uVar1 + iStack8 * 0x10 + 2); - param_5[2] = *(undefined2 *)(uVar1 + iStack8 * 0x10 + 4); - *param_6 = *(undefined2 *)(uVar1 + iStack12 * 0x10); - param_6[1] = *(undefined2 *)(uVar1 + iStack12 * 0x10 + 2); - param_6[2] = *(undefined2 *)(uVar1 + iStack12 * 0x10 + 4); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bc528(ulonglong param_1) - -{ - ushort uVar1; - int iVar2; - int iVar3; - ushort *puVar4; - - iVar2 = *(int *)(&DAT_80041448 + (int)param_1 * 0x50); - puVar4 = (ushort *)&DAT_80082b88; - uVar1 = _DAT_80082b88; - while( true ) { - if (param_1 == (ulonglong)uVar1) { - iVar3 = iVar2 + (uint)puVar4[1] * 0x10; - *(byte *)(iVar3 + 0xc) = *(byte *)(iVar3 + 0xc) >> 2; - iVar3 = iVar2 + (uint)puVar4[1] * 0x10; - *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) >> 2; - iVar3 = iVar2 + (uint)puVar4[1] * 0x10; - *(byte *)(iVar3 + 0xe) = *(byte *)(iVar3 + 0xe) >> 2; - iVar3 = iVar2 + (uint)puVar4[1] * 0x10; - *(byte *)(iVar3 + 0xf) = *(byte *)(iVar3 + 0xf) >> 2; - } - puVar4 = puVar4 + 2; - if (puVar4 == (ushort *)0x80083388) break; - uVar1 = *puVar4; - } - return; -} - - - -void FUN_7f0bc5d0(int param_1,ulonglong param_2) - -{ - int iVar1; - longlong lVar2; - int iVar3; - - lVar2 = FUN_7f0bc68c(param_1,param_2); - if (lVar2 == 0) { - iVar1 = *(int *)(&DAT_80041448 + (int)param_2 * 0x50); - iVar3 = DAT_80046060 * 4; - *(short *)(&DAT_80082b88 + iVar3) = (short)param_2; - *(short *)(&DAT_80082b8a + iVar3) = (short)((uint)(param_1 - iVar1) >> 4); - *(byte *)(param_1 + 0xc) = *(byte *)(param_1 + 0xc) >> 2; - *(byte *)(param_1 + 0xd) = *(byte *)(param_1 + 0xd) >> 2; - *(byte *)(param_1 + 0xe) = *(byte *)(param_1 + 0xe) >> 2; - *(byte *)(param_1 + 0xf) = *(byte *)(param_1 + 0xf) >> 2; - DAT_80046060 += 1; - if (0x1ff < DAT_80046060) { - DAT_80046060 = 0; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0bc68c(int param_1,ulonglong param_2) - -{ - ushort uVar1; - ushort *puVar2; - ulonglong uVar3; - - uVar3 = SEXT48((int)((uint)(param_1 - *(int *)(&DAT_80041448 + (int)param_2 * 0x50)) >> 4)); - puVar2 = (ushort *)&DAT_80082b88; - uVar1 = _DAT_80082b88; - while( true ) { - if (param_2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[1]) { - return 1; - } - uVar1 = puVar2[2]; - } - else { - uVar1 = puVar2[2]; - } - if (param_2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[3]) { - return 1; - } - uVar1 = puVar2[4]; - } - else { - uVar1 = puVar2[4]; - } - if (param_2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[5]) { - return 1; - } - uVar1 = puVar2[6]; - } - else { - uVar1 = puVar2[6]; - } - if ((param_2 == (ulonglong)uVar1) && (uVar3 == (ulonglong)puVar2[7])) break; - puVar2 = puVar2 + 8; - if (puVar2 == (ushort *)0x80083388) { - return 0; - } - uVar1 = *puVar2; - } - return 1; -} - - - -void FUN_7f0bc758(undefined8 param_1,ulonglong param_2,int param_3) - -{ - uint uVar1; - int iStack16; - int iStack12; - int iStack8; - - FUN_7f0bc2a4(param_1,param_2); - uVar1 = locret_7F0BB6EC((char *)param_1,param_3); - FUN_7f0bc5d0(iStack8 * 0x10 + uVar1,(longlong)param_3); - FUN_7f0bc5d0(iStack12 * 0x10 + uVar1,(longlong)param_3); - FUN_7f0bc5d0(iStack16 * 0x10 + uVar1,(longlong)param_3); - return; -} - - - -int FUN_7f0bc7e0(undefined8 param_1,ulonglong param_2,int param_3) - -{ - uint uVar4; - undefined8 uVar1; - undefined8 uVar2; - undefined8 uVar3; - int iStack16; - int iStack12; - int iStack8; - - FUN_7f0bc2a4(param_1,param_2); - uVar4 = locret_7F0BB6EC((char *)param_1,param_3); - uVar1 = FUN_7f0bc68c(iStack12 * 0x10 + uVar4,(longlong)param_3); - uVar2 = FUN_7f0bc68c(iStack8 * 0x10 + uVar4,(longlong)param_3); - uVar3 = FUN_7f0bc68c(iStack16 * 0x10 + uVar4,(longlong)param_3); - return (int)uVar3 + (int)uVar2 + (int)uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 loc_7F0BBDD8(short *psParm1,ulonglong uParm2) - -{ - ushort uVar1; - short *psVar2; - int iVar3; - int iVar4; - int iVar5; - ushort *puVar6; - float in_f0; - - puVar6 = (ushort *)&DAT_80082b88; - uVar1 = _DAT_80082b88; - do { - if (uParm2 == (ulonglong)uVar1) { - psVar2 = (short *)((uint)puVar6[1] * 0x10 + *(int *)(&DAT_80041448 + (int)uParm2 * 0x50)); - iVar3 = (int)*psVar2 - (int)*psParm1; - iVar4 = (int)psVar2[1] - (int)psParm1[1]; - iVar5 = (int)psVar2[2] - (int)psParm1[2]; - if (iVar3 < 0) { - iVar3 = -iVar3; - } - if (iVar4 < 0) { - iVar4 = -iVar4; - } - if (iVar5 < 0) { - iVar5 = -iVar5; - } - FUN_7f0b53ec(); - if (iVar3 + iVar4 + iVar5 < (int)(in_f0 * 100.00000000)) { - return 1; - } - } - puVar6 = puVar6 + 2; - if (puVar6 == (ushort *)0x80083388) { - return 0; - } - uVar1 = *puVar6; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0BC48C(ulonglong param_1,ulonglong param_2,short param_3) - -{ - short sVar1; - bool bVar2; - int iVar5; - char cVar6; - longlong lVar3; - ulonglong uVar4; - ulonglong uVar7; - int iVar8; - short *psVar9; - int iVar11; - ulonglong uVar10; - char *pcVar12; - int iVar13; - int iVar14; - int iVar15; - int iVar16; - float fVar17; - float fVar18; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - short sStack74; - short sStack68; - undefined2 auStack48 [4]; - undefined2 auStack40 [4]; - undefined2 auStack32 [4]; - short sStack24; - short sStack22; - short sStack20; - short sStack16; - short sStack14; - short sStack12; - short sStack8; - short sStack6; - short sStack4; - - psVar9 = (short *)&DAT_800826d0; - sVar1 = _DAT_800826d0; - while (((param_3 != sVar1 || (param_1 < (ulonglong)(longlong)*(int *)(psVar9 + 2))) || - ((ulonglong)(longlong)*(int *)(psVar9 + 4) <= param_1))) { - psVar9 = psVar9 + 6; - if (psVar9 == (short *)&DAT_80082b80) { - return; - } - sVar1 = *psVar9; - } - iVar5 = FUN_7f0bc7e0(param_1,param_2,(int)sVar1); - if (iVar5 == 0) { - FUN_7f0bc758(param_1,param_2,(int)*psVar9); - sub_7F0BB874(param_1,param_2,(int)*psVar9,&sStack8,&sStack16,&sStack24); - iVar5 = ((int)sStack8 - (int)sStack16) * 0x10000 >> 0x10; - iVar13 = ((int)sStack8 - (int)sStack24) * 0x10000 >> 0x10; - iVar8 = ((int)sStack6 - (int)sStack14) * 0x10000 >> 0x10; - sStack68 = sStack14 - sStack22; - iVar16 = ((int)sStack16 - (int)sStack24) * 0x10000 >> 0x10; - iVar11 = ((int)sStack4 - (int)sStack12) * 0x10000 >> 0x10; - iVar15 = ((int)sStack4 - (int)sStack20) * 0x10000 >> 0x10; - iVar14 = ((int)sStack6 - (int)sStack22) * 0x10000 >> 0x10; - sStack74 = sStack12 - sStack20; - fVar17 = sqrtf((float)(iVar5 * iVar5 + iVar8 * iVar8 + iVar11 * iVar11)); - fVar18 = fVar17; - FUN_7f0b53e0(); - fStack80 = 10.00000000 / (fVar18 * fVar17); - fVar17 = sqrtf((float)(iVar13 * iVar13 + iVar14 * iVar14 + iVar15 * iVar15)); - fVar18 = fVar17; - FUN_7f0b53e0(); - fStack84 = 10.00000000 / (fVar18 * fVar17); - fVar17 = sqrtf((float)(iVar16 * iVar16 + (int)sStack68 * (int)sStack68 + - (int)sStack74 * (int)sStack74)); - fVar18 = fVar17; - FUN_7f0b53e0(); - fStack88 = 10.00000000 / (fVar18 * fVar17); - fVar18 = (float)FUN_7f0bd5e4((int)*psVar9,&fStack100); - fVar17 = 0.00000000; - if (true) { - do { - FUN_7f0b53e0(); - fStack112 = fStack100 + ((float)(int)sStack16 + (float)iVar5 * fVar17) * fVar18; - FUN_7f0b53e0(); - fStack108 = fStack96 + ((float)(int)sStack14 + (float)iVar8 * fVar17) * fVar18; - FUN_7f0b53e0(); - fStack104 = fStack92 + ((float)(int)sStack12 + (float)iVar11 * fVar17) * fVar18; - fVar18 = (float)loc_7F0A28B4(&fStack112,0,10.00000000); - fVar17 = fVar17 + fStack80; - } while (fVar17 < 1.00000000); - } - fVar17 = 0.00000000; - if (true) { - do { - FUN_7f0b53e0(); - fStack112 = fStack100 + ((float)(int)sStack24 + (float)iVar13 * fVar17) * fVar18; - FUN_7f0b53e0(); - fStack108 = fStack96 + ((float)(int)sStack22 + (float)iVar14 * fVar17) * fVar18; - FUN_7f0b53e0(); - fStack104 = fStack92 + ((float)(int)sStack20 + (float)iVar15 * fVar17) * fVar18; - fVar18 = (float)loc_7F0A28B4(&fStack112,0,10.00000000); - fVar17 = fVar17 + fStack84; - } while (fVar17 < 1.00000000); - } - fVar17 = 0.00000000; - if (true) { - iVar5 = (int)sStack68; - iVar8 = (int)sStack74; - do { - FUN_7f0b53e0(); - fStack112 = fStack100 + ((float)(int)sStack24 + (float)iVar16 * fVar17) * fVar18; - FUN_7f0b53e0(); - fStack108 = fStack96 + ((float)(int)sStack22 + (float)iVar5 * fVar17) * fVar18; - FUN_7f0b53e0(); - fStack104 = fStack92 + ((float)(int)sStack20 + (float)iVar8 * fVar17) * fVar18; - fVar18 = (float)loc_7F0A28B4(&fStack112,0,10.00000000); - fVar17 = fVar17 + fStack88; - } while (fVar17 < 1.00000000); - pcVar12 = *(char **)(psVar9 + 2); - } - else { - pcVar12 = *(char **)(psVar9 + 2); - } - uVar10 = SEXT48((int)pcVar12); - uVar7 = SEXT48(*(int *)(psVar9 + 4)); - if (uVar10 < uVar7) { - cVar6 = *pcVar12; - while( true ) { - bVar2 = false; - if (cVar6 == -0x41) { - sub_7F0BB874(uVar10,0,(int)*psVar9,auStack32,auStack40,auStack48); - lVar3 = loc_7F0BBDD8(auStack32,*psVar9); - if (lVar3 == 0) { - lVar3 = loc_7F0BBDD8(auStack40,*psVar9); - if (lVar3 == 0) { - lVar3 = loc_7F0BBDD8(auStack48,*psVar9); - if (lVar3 != 0) { - bVar2 = true; - } - } - else { - bVar2 = true; - } - } - else { - bVar2 = true; - } - if (bVar2) { - FUN_7f0bc758(uVar10,0,(int)*psVar9); - } - uVar7 = SEXT48(*(int *)(psVar9 + 4)); - } - else { - uVar4 = 0; - if (cVar6 == -0x4f) { - do { - uVar4 = SEXT48((int)uVar4 + 1); - bVar2 = false; - sub_7F0BB874(uVar10,uVar4,(int)*psVar9,auStack32,auStack40,auStack48); - lVar3 = loc_7F0BBDD8(auStack32,*psVar9); - if (lVar3 == 0) { - lVar3 = loc_7F0BBDD8(auStack40,*psVar9); - if (lVar3 == 0) { - lVar3 = loc_7F0BBDD8(auStack48,*psVar9); - if (lVar3 != 0) { - bVar2 = true; - } - } - else { - bVar2 = true; - } - } - else { - bVar2 = true; - } - if (bVar2) { - FUN_7f0bc758(uVar10,uVar4,(int)*psVar9); - } - } while (uVar4 != 4); - uVar7 = SEXT48(*(int *)(psVar9 + 4)); - } - } - pcVar12 = (char *)((int)uVar10 + 8); - uVar10 = SEXT48((int)pcVar12); - if (uVar7 <= uVar10) break; - cVar6 = *pcVar12; - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bd074(short param_1) - -{ - short *psVar1; - short sVar2; - - psVar1 = (short *)&DAT_800826d0; - sVar2 = _DAT_800826d0; - while( true ) { - if (param_1 == sVar2) { - *psVar1 = 0; - sVar2 = psVar1[6]; - } - else { - sVar2 = psVar1[6]; - } - if (param_1 == sVar2) { - psVar1[6] = 0; - sVar2 = psVar1[0xc]; - } - else { - sVar2 = psVar1[0xc]; - } - if (param_1 == sVar2) { - psVar1[0xc] = 0; - sVar2 = psVar1[0x12]; - } - else { - sVar2 = psVar1[0x12]; - } - if (param_1 == sVar2) { - psVar1[0x12] = 0; - } - psVar1 = psVar1 + 0x18; - if (psVar1 == (short *)&DAT_80082b80) break; - sVar2 = *psVar1; - } - _DAT_80082b82 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bd0e0(void) - -{ - ulonglong uVar1; - undefined4 *puVar2; - int iVar3; - int iVar4; - undefined4 *puVar5; - undefined *puVar6; - longlong lVar7; - int *piVar8; - undefined1 *puVar9; - - lVar7 = 0; - uVar1 = get_num_players(); - if (0 < (longlong)uVar1) { - piVar8 = (int *)&DAT_80079f50; - iVar3 = _DAT_80079f50; - while( true ) { - lVar7 = (longlong)((int)lVar7 + 1); - piVar8 = piVar8 + 1; - *(undefined4 *)(iVar3 + 0x108c) = 0xffffffff; - uVar1 = get_num_players(); - if ((longlong)uVar1 <= lVar7) break; - iVar3 = *piVar8; - } - } - puVar5 = (undefined4 *)&DAT_800834c0; - puVar6 = &DAT_80083390; - puVar2 = (undefined4 *)&DAT_80083970; - do { - puVar2 = puVar2 + 1; - *puVar5 = 0xffffffff; - *puVar6 = 2; - *puVar2 = 0xffffffff; - puVar5 = puVar5 + 1; - puVar6 = puVar6 + 1; - puVar2 = puVar2; - } while (puVar2 < (undefined4 *)0x80083e20); - iVar3 = FUN_7f0b69f4(); - if (0 < iVar3) { - iVar3 = 1; - puVar9 = &DAT_80041444; - while( true ) { - *(undefined2 *)(puVar9 + 0x36) = 0xffff; - iVar4 = FUN_7f0b69f4(); - if (iVar4 <= iVar3) break; - iVar3 += 1; - puVar9 = puVar9 + 0x50; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bd1d4(undefined4 param_1) - -{ - *(undefined4 *)(_DAT_8007a120 + 0x108c) = param_1; - return; -} - - - -void FUN_7f0bd1e4(int param_1,int param_2) - -{ - (&DAT_8004147a)[param_2 * 0x28] = (short)param_1; - *(int *)(&DAT_800834c0 + param_1 * 4) = param_2; - return; -} - - - -void FUN_7f0bd210(int param_1,int param_2) - -{ - (&DAT_8004147a)[param_2 * 0x28] = 0xffff; - *(undefined4 *)(&DAT_800834c0 + param_1 * 4) = 0xffffffff; - return; -} - - - -void FUN_7f0bd240(int param_1) - -{ - if (*(int *)(&DAT_800834c0 + param_1 * 4) != -1) { - FUN_7f0bd210(param_1,*(int *)(&DAT_800834c0 + param_1 * 4)); - } - (&DAT_80083390)[param_1] = 2; - *(undefined4 *)(&DAT_80083970 + param_1 * 4) = 0xffffffff; - return; -} - - - -int FUN_7f0bd2a0(void) - -{ - byte bVar1; - byte *pbVar2; - int iVar3; - - pbVar2 = &DAT_80083390; - iVar3 = 0; - while( true ) { - if (*pbVar2 < 2) { - bVar1 = pbVar2[1]; - } - else { - if (*(int *)(&DAT_80083970 + iVar3 * 4) == -1) { - return iVar3; - } - bVar1 = pbVar2[1]; - } - if (bVar1 < 2) { - bVar1 = pbVar2[2]; - } - else { - if (*(int *)(&DAT_80083974 + iVar3 * 4) == -1) { - return iVar3 + 1; - } - bVar1 = pbVar2[2]; - } - if (bVar1 < 2) { - bVar1 = pbVar2[3]; - } - else { - if (*(int *)(&DAT_80083978 + iVar3 * 4) == -1) { - return iVar3 + 2; - } - bVar1 = pbVar2[3]; - } - if ((1 < bVar1) && (*(int *)(&DAT_8008397c + iVar3 * 4) == -1)) break; - iVar3 += 4; - pbVar2 = pbVar2 + 4; - if (iVar3 == 300) { - return 0; - } - } - return iVar3 + 3; -} - - - -void loc_7F0BC838(void) - -{ - int iVar1; - int *piVar2; - byte bVar3; - - piVar2 = (int *)&DAT_80083970; - iVar1 = 0; - do { - if ((-1 < *piVar2) && - (bVar3 = (&DAT_80083390)[iVar1] + 1, (&DAT_80083390)[iVar1] = bVar3, 1 < bVar3)) { - FUN_7f0bd240(iVar1); - } - iVar1 += 1; - piVar2 = piVar2 + 1; - } while (iVar1 != 300); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f0bd40c(int param_1) - -{ - short sVar1; - int iVar2; - int iVar3; - longlong lVar4; - float afStack68 [5]; - float fStack48; - float fStack28; - float fStack20; - float fStack16; - float fStack12; - - sVar1 = (&DAT_8004147a)[param_1 * 0x28]; - lVar4 = (longlong)sVar1; - if ((lVar4 == -1) || - (*(int *)(_DAT_8007a120 + 0x108c) != *(int *)(&DAT_80083970 + (int)sVar1 * 4))) { - if (lVar4 != -1) { - FUN_7f0bd210((int)sVar1,param_1); - } - iVar2 = FUN_7f0bd2a0(); - lVar4 = (longlong)iVar2; - FUN_7f0bd1e4(iVar2,param_1); - (&DAT_80083390)[iVar2] = 0; - *(undefined4 *)(&DAT_80083970 + iVar2 * 4) = *(undefined4 *)(_DAT_8007a120 + 0x108c); - init_0x40_bytes_data_at_address_last_word_1_0(afStack68); - afStack68[0] = DAT_80041428; - fStack48 = DAT_80041428; - fStack28 = DAT_80041428; - iVar3 = _DAT_8007fffc + param_1 * 0x18; - fStack20 = *(float *)(iVar3 + 0xc) * DAT_80041428 - *(float *)(_DAT_8007a120 + 0x38); - fStack16 = *(float *)(iVar3 + 0x10) * DAT_80041428 - *(float *)(_DAT_8007a120 + 0x3c); - fStack12 = *(float *)(iVar3 + 0x14) * DAT_80041428 - *(float *)(_DAT_8007a120 + 0x40); - FUN_7f0591bc((int)afStack68,(uint *)(iVar2 * 0x40 + -0x7ff7c1e0)); - } - else { - (&DAT_80083390)[(int)sVar1] = 0; - } - return lVar4; -} - - - -undefined4 * FUN_7f0bd574(undefined4 *param_1,int param_2) - -{ - longlong lVar1; - - lVar1 = FUN_7f0bd40c(param_2); - *param_1 = 0x1020040; - param_1[1] = (int)lVar1 * 0x40 + -0x7ff7c1e0; - return param_1 + 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0bd5c4(int param_1) - -{ - return param_1 * 0x18 + _DAT_8007fffc + 0xc; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0bd5e4(int param_1,float *param_2) - -{ - param_1 *= 0x18; - *param_2 = *(float *)(_DAT_8007fffc + param_1 + 0xc) * DAT_80041428; - param_2[1] = *(float *)(_DAT_8007fffc + param_1 + 0x10) * DAT_80041428; - param_2[2] = *(float *)(_DAT_8007fffc + param_1 + 0x14) * DAT_80041428; - return; -} - - - -void loc_7F0BCB28(ulonglong param_1,longlong param_2,int param_3,int *param_4) - -{ - int iVar1; - undefined auStack8452 [8448]; - int iStack4; - - iVar1 = (int)param_1; - if (param_2 == 0) { - romCopy(param_1,*(undefined4 *)(param_3 + 8),(longlong)*param_4); - } - else { - iStack4 = (iVar1 + (int)param_2) - (*param_4 + 7U & 0xfffffff8); - if ((uint)(iStack4 - iVar1) < 8) { - param_4[1] = 0; - } - else { - romCopy((longlong)iStack4,*(undefined4 *)(param_3 + 8),(longlong)*param_4); - iVar1 = FUN_7f0cf4d0(iStack4,iVar1,auStack8452); - param_4[1] = iVar1; - } - } - return; -} - - - -void loc_7F0BCC18(undefined *param_1,int param_2,int param_3,int param_4) - -{ - undefined4 uVar1; - undefined auStack8452 [8448]; - char *pcStack4; - - if (param_2 == 0) { - FUN_7f0d0c7c(*(char **)(param_3 + 4),param_1); - } - else { - FUN_7f0d0d78(*(char **)(param_3 + 4),(undefined4 *)(param_4 + 8)); - pcStack4 = param_1 + (param_2 - (*(int *)(param_4 + 8) + 7U & 0xfffffff8)); - if (pcStack4 + -(int)param_1 < (char *)0x8) { - *(undefined4 *)(param_4 + 4) = 0; - } - else { - FUN_7f0d0c7c(*(char **)(param_3 + 4),pcStack4); - if ((*pcStack4 == DAT_8005b6ac) && (pcStack4[1] == DAT_8005b6b1)) { - uVar1 = FUN_7f0cf4d0((int)pcStack4,param_1,auStack8452); - } - else { - _bcopy(pcStack4,param_1,*(size_t *)(param_4 + 8)); - uVar1 = *(undefined4 *)(param_4 + 8); - } - *(undefined4 *)(param_4 + 4) = uVar1; - } - } - return; -} - - - -void FUN_7f0bd7d8(void) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int *piVar4; - int iVar5; - int iVar6; - - loc_70004E88(&DAT_80046080,(byte *)s_ob_c_debug_8005b6b4); - iVar6 = -0x7ffb9f70; - iVar5 = DAT_80048304 + -1; - if (1 < iVar5) { - piVar3 = (int *)&DAT_80088934; - do { - piVar1 = (int *)(iVar6 + 0x14); - piVar2 = (int *)(iVar6 + 8); - piVar4 = piVar3 + 5; - iVar6 += 0xc; - *piVar3 = *piVar1 - *piVar2; - piVar3[1] = 0; - piVar3[2] = 0; - piVar3[3] = 0; - piVar3 = piVar4; - } while (piVar4 < (int *)(iVar5 * 0x14 + -0x7ff776e0)); - } - return; -} - - - -void FUN_7f0bd86c(int param_1,longlong param_2,int param_3,byte param_4) - -{ - loc_7F0BCFCC(param_1,param_2,param_3,param_4); - return; -} - - - -undefined * FUN_7f0bd894(int param_1,longlong param_2,undefined *param_3,int param_4) - -{ - undefined *puVar1; - - puVar1 = FUN_7f0bdb90(param_1,param_2,param_3,param_4); - return puVar1; -} - - - -void FUN_7f0bd8b4(byte *param_1,int param_2,int param_3,byte param_4) - -{ - int iVar1; - - iVar1 = FUN_7f0bde04(param_1); - loc_7F0BCFCC(iVar1,(longlong)param_2,param_3,param_4); - return; -} - - - -undefined * FUN_7f0bd8f0(byte *param_1,int param_2,undefined *param_3,int param_4) - -{ - int iVar1; - undefined *puVar2; - - iVar1 = FUN_7f0bde04(param_1); - puVar2 = FUN_7f0bdb90(iVar1,(longlong)param_2,param_3,param_4); - return puVar2; -} - - - -void FUN_7f0bd92c(byte *param_1,int param_2,int param_3,int param_4) - -{ - int iVar1; - int iVar2; - - iVar2 = FUN_7f0bde04(param_1); - iVar1 = *(int *)(iVar2 * 0x14 + -0x7ff776e0); - if (iVar1 != 0) { - if (iVar1 + 0xfU < (uint)(param_3 + param_4)) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - romCopy((longlong)param_2,(&DAT_8004608c)[iVar2 * 3] + param_3,(longlong)param_4); - } - return; -} - - - -ulonglong loc_7F0BCFCC(int param_1,longlong param_2,int param_3,byte param_4) - -{ - int iVar1; - int iVar2; - undefined *puVar3; - uint uVar4; - ulonglong uVar5; - int *piVar6; - - uVar4 = SEXT14((char)param_4); - if (((param_2 == 0) || (param_2 == 1)) || (param_2 == 2)) { - iVar1 = param_1 * 0x14; - iVar2 = *(int *)(iVar1 + -0x7ff776dc); - if (iVar2 == 0) { - iVar2 = FUN_70009920(uVar4 & 0xff); - *(int *)(iVar1 + -0x7ff776dc) = iVar2; - } - puVar3 = (undefined *)FUN_70009730(iVar2,uVar4 & 0xff); - iVar2 = *(int *)(iVar1 + -0x7ff776dc); - *(int *)(iVar1 + -0x7ff776d4) = iVar2; - if ((&DAT_8004608c)[param_1 * 3] == 0) { - loc_7F0BCC18(puVar3,iVar2,(int)(&DAT_80046084 + param_1 * 3),(int)(int *)(iVar1 + -0x7ff776e0) - ); - } - else { - loc_7F0BCB28((longlong)(int)puVar3,(longlong)iVar2,(int)(&DAT_80046084 + param_1 * 3), - (int *)(iVar1 + -0x7ff776e0)); - } - uVar5 = SEXT48((int)puVar3); - if ((int)param_2 != 0) { - FUN_70009814((int)puVar3,*(int *)(iVar1 + -0x7ff776dc),(uint)param_4); - } - } - else { - iVar1 = param_1 * 0x14; - piVar6 = (int *)(iVar1 + -0x7ff776e0); - iVar2 = *(int *)(iVar1 + -0x7ff776dc); - if (iVar2 == 0) { - iVar2 = *piVar6; - if (iVar2 == 0) { - iVar2 = *(int *)(iVar1 + -0x7ff776d8); - *(int *)(iVar1 + -0x7ff776dc) = iVar2; - } - else { - *(int *)(iVar1 + -0x7ff776dc) = iVar2; - } - } - puVar3 = (undefined *)FUN_70009730(iVar2,uVar4 & 0xff); - uVar5 = SEXT48((int)puVar3); - *(undefined4 *)(iVar1 + -0x7ff776d4) = *(undefined4 *)(iVar1 + -0x7ff776dc); - if ((&DAT_8004608c)[param_1 * 3] == 0) { - loc_7F0BCC18(puVar3,0,(int)(&DAT_80046084 + param_1 * 3),(int)piVar6); - } - else { - loc_7F0BCB28(uVar5,0,(int)(&DAT_80046084 + param_1 * 3),piVar6); - } - if (param_3 == 0) { - *(byte *)(iVar1 + -0x7ff776d0) = param_4; - } - } - return uVar5; -} - - - -undefined * FUN_7f0bdb90(int param_1,longlong param_2,undefined *param_3,int param_4) - -{ - int iVar1; - int *piVar2; - - iVar1 = param_1 * 0x14; - piVar2 = (int *)(iVar1 + -0x7ff776e0); - if (*(int *)(iVar1 + -0x7ff776dc) == 0) { - if (*piVar2 == 0) { - *(undefined4 *)(iVar1 + -0x7ff776dc) = *(undefined4 *)(iVar1 + -0x7ff776d8); - } - else { - *(int *)(iVar1 + -0x7ff776dc) = *piVar2; - } - } - if (((param_2 == 0) || (param_2 == 1)) || (param_2 == 2)) { - if ((&DAT_8004608c)[param_1 * 3] == 0) { - *(int *)(iVar1 + -0x7ff776d4) = param_4; - loc_7F0BCC18(param_3,param_4,(int)(&DAT_80046084 + param_1 * 3),(int)piVar2); - } - else { - *(int *)(iVar1 + -0x7ff776d4) = param_4; - loc_7F0BCB28((longlong)(int)param_3,(longlong)param_4,(int)(&DAT_80046084 + param_1 * 3), - piVar2); - } - } - else { - if ((&DAT_8004608c)[param_1 * 3] == 0) { - loc_7F0BCC18(param_3,0,(int)(&DAT_80046084 + param_1 * 3),(int)piVar2); - } - else { - loc_7F0BCB28((longlong)(int)param_3,0,(int)(&DAT_80046084 + param_1 * 3),piVar2); - } - } - return param_3; -} - - - -undefined4 FUN_7f0bdcb0(int param_1) - -{ - return *(undefined4 *)(param_1 * 0x14 + -0x7ff776dc); -} - - - -undefined4 FUN_7f0bdccc(int param_1) - -{ - return *(undefined4 *)(param_1 * 0x14 + -0x7ff776d4); -} - - - -void FUN_7f0bdce8(int param_1,int param_2,int param_3,longlong param_4) - -{ - *(int *)(param_1 * 0x14 + -0x7ff776dc) = param_3; - *(int *)(param_1 * 0x14 + -0x7ff776d4) = param_3; - if (param_4 != 0) { - FUN_70009814(param_2,param_3,4); - } - return; -} - - - -undefined4 FUN_7f0bdd38(byte *param_1) - -{ - int iVar1; - - iVar1 = FUN_7f0bde04(param_1); - return *(undefined4 *)(iVar1 * 0x14 + -0x7ff776dc); -} - - - -void FUN_7f0bdd6c(byte param_1) - -{ - byte bVar1; - int iVar2; - undefined *puVar3; - - if (1 < DAT_80048304) { - iVar2 = DAT_80048304 * 0x14; - bVar1 = DAT_80088944; - puVar3 = &DAT_80088934; - while( true ) { - if (bVar1 <= param_1) { - puVar3[0x10] = 0; - } - if (param_1 == 4) { - *(undefined4 *)(puVar3 + 4) = 0; - } - if ((undefined *)(iVar2 + -0x7ff776e0) <= puVar3 + 0x14) break; - bVar1 = puVar3[0x24]; - puVar3 = puVar3 + 0x14; - } - } - return; -} - - - -void FUN_7f0bdde4(void) - -{ - FUN_7f0bdd6c(5); - return; -} - - - -int FUN_7f0bde04(byte *param_1) - -{ - longlong lVar1; - int iVar2; - byte *pbVar3; - int iVar4; - int aiStack12 [3]; - - iVar4 = 1; - if (1 < DAT_80048304) { - pbVar3 = PTR_s_bg_bg_sev_all_p_seg_80046094; - iVar2 = -0x7ffb9f70; - while( true ) { - if ((pbVar3 != NULL) && (lVar1 = loc_7000A888(param_1,pbVar3), lVar1 == 0)) { - return iVar4; - } - iVar4 += 1; - if (DAT_80048304 <= iVar4) break; - pbVar3 = *(byte **)(iVar2 + 0x10); - iVar2 = iVar2 + 0xc; - } - } - iVar4 = DAT_80048304; - if (DAT_80048304 < 0x2e0) { - DAT_80048304 += 1; - iVar2 = FUN_7f0d0d78((char *)param_1,aiStack12); - if (iVar2 == 0) { - iVar4 = 0; - } - else { - iVar2 = iVar4 * 0x14; - (&DAT_80046084)[iVar4 * 3] = iVar4; - *(byte **)(&DAT_80046088 + iVar4 * 3) = param_1; - *(undefined *)(iVar2 + -0x7ff776cf) = 0; - (&DAT_8004608c)[iVar4 * 3] = 0; - *(undefined4 *)(iVar2 + -0x7ff776e0) = 0; - *(undefined4 *)(iVar2 + -0x7ff776dc) = 0; - *(undefined4 *)(iVar2 + -0x7ff776d4) = 0; - *(undefined *)(iVar2 + -0x7ff776d0) = 0; - *(uint *)(iVar2 + -0x7ff776d8) = (aiStack12[0] + 0xfU | 0xf) ^ 0xf; - } - } - else { - iVar4 = 0; - } - return iVar4; -} - - - -void FUN_7f0bdf34(void) - -{ - return; -} - - - -void FUN_7f0bdf3c(void) - -{ - int iVar1; - - iVar1 = 1; - if (1 < DAT_80048304) { - do { - FUN_7f0bdf34(); - iVar1 += 1; - } while (iVar1 < DAT_80048304); - } - return; -} - - - -void FUN_7f0be010(void) - -{ - loc_70004E88(&DAT_80048310,(byte *)s_dyn_c_debug_8005b6c0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0be03c(void) - -{ - byte *pbVar2; - ulonglong uVar1; - uint uVar3; - - pbVar2 = loc_7000A740(1,(byte *)s__mgfx_8005b6cc); - if (pbVar2 != NULL) { - uVar1 = get_num_players(); - pbVar2 = loc_7000A740(1,(byte *)s__mgfx_8005b6d4); - uVar3 = loc_7000AC44(pbVar2,NULL,0); - *(uint *)(&DAT_80048310 + (int)uVar1 * 4) = uVar3 << 10; - } - pbVar2 = loc_7000A740(1,(byte *)s__mvtx_8005b6dc); - if (pbVar2 != NULL) { - uVar1 = get_num_players(); - pbVar2 = loc_7000A740(1,(byte *)s__mvtx_8005b6e4); - uVar3 = loc_7000AC44(pbVar2,NULL,0); - *(uint *)(&DAT_80048320 + (int)uVar1 * 4) = uVar3 << 10; - } - uVar1 = get_num_players(); - _DAT_8008c2a0 = FUN_70009730(*(int *)(&DAT_80048310 + (int)uVar1 * 4) << 1,4); - uVar1 = get_num_players(); - _DAT_8008c2a4 = *(int *)(&DAT_80048310 + (int)uVar1 * 4) + _DAT_8008c2a0; - uVar1 = get_num_players(); - _DAT_8008c2a8 = *(int *)(&DAT_80048310 + (int)uVar1 * 4) + _DAT_8008c2a4; - uVar1 = get_num_players(); - _DAT_8008c2b0 = FUN_70009730(*(int *)(&DAT_80048320 + (int)uVar1 * 4) << 1,4); - uVar1 = get_num_players(); - _DAT_8008c2b4 = *(int *)(&DAT_80048320 + (int)uVar1 * 4) + _DAT_8008c2b0; - uVar1 = get_num_players(); - _DAT_8008c2b8 = *(int *)(&DAT_80048320 + (int)uVar1 * 4) + _DAT_8008c2b4; - _DAT_8008c2bc = _DAT_8008c2b0; - DAT_8008c2c0 = 0; - _DAT_8008c2c4 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0be224(void) - -{ - _DAT_8008c2c4 = 1; - return *(undefined4 *)(&DAT_8008c2a0 + (uint)DAT_8008c2c0 * 4); -} - - - -int FUN_7f0be24c(int param_1) - -{ - return *(int *)(&DAT_8008c2a4 + (uint)DAT_8008c2c0 * 4) - param_1 >> 3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0be274(int param_1) - -{ - _DAT_8008c2bc = _DAT_8008c2bc + param_1 * 0x10; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0be290(void) - -{ - _DAT_8008c2bc = _DAT_8008c2bc + 0x40; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0be2a8(int param_1) - -{ - _DAT_8008c2bc = _DAT_8008c2bc + param_1 * 0x10; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0be2c4(int param_1) - -{ - _DAT_8008c2bc = _DAT_8008c2bc + ((param_1 + 0xfU | 0xf) ^ 0xf); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0be2e8(void) - -{ - _DAT_8008c2bc = *(undefined4 *)(&DAT_8008c2b0 + (uint)(DAT_8008c2c0 ^ 1) * 4); - DAT_8008c2c0 = DAT_8008c2c0 ^ 1; - _DAT_8008c2c4 = 0; - return; -} - - - -void FUN_7f0be324(void) - -{ - return; -} - - - -int FUN_7f0be32c(int param_1) - -{ - return *(int *)(&DAT_8008c2a4 + (uint)DAT_8008c2c0 * 4) - param_1 >> 3; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0be354(void) - -{ - return *(int *)(&DAT_8008c2b4 + (uint)DAT_8008c2c0 * 4) - _DAT_8008c2bc; -} - - - -char * FUN_7f0be37c(char *param_1) - -{ - char *pcVar1; - - pcVar1 = locret_7001389C(param_1); - return pcVar1; -} - - - -char * FUN_7f0be3c0(void) - -{ - char *pcVar1; - - FUN_7f0be37c(s___________________________80048350); - pcVar1 = FUN_7f0be37c(s___________________________80048350); - return pcVar1; -} - - - -undefined4 FUN_7f0be4a0(void) - -{ - return DAT_800483f4; -} - - - -void FUN_7f0be4ac(undefined4 param_1) - -{ - DAT_800483f4 = param_1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0be4b8(void) - -{ - loc_70004E88(&DAT_80048390,(byte *)s_lv_c_debug_8005b6f0); - DAT_80048390 = 1; - _DAT_8008c2d0 = FUN_70009730(0xc0,6); - romCopy((longlong)(int)_DAT_8008c2d0,0x1185a0,0xc0); - return; -} - - - -void FUN_7f0be534(void) - -{ - uint uVar1; - - uVar1 = FUN_7000a460(); - DAT_8004839c = uVar1 % 0x3d + 2; - FUN_70006e8c(DAT_8004839c); - return; -} - - - -void FUN_7f0be574(int param_1) - -{ - DAT_8004839c = param_1; - FUN_70006e8c(param_1); - return; -} - - - -void FUN_7f0be59c(void) - -{ - DAT_8004839c = (DAT_8004839c + 1) % 0x3f; - if (DAT_8004839c == 0) { - DAT_8004839c = 1; - } - FUN_70006e8c(DAT_8004839c); - return; -} - - - -void FUN_7f0be5e8(void) - -{ - DAT_8004839c = (DAT_8004839c + 0x3e) % 0x3f; - if (DAT_8004839c == 0) { - DAT_8004839c = 0x3e; - } - FUN_70006e8c(DAT_8004839c); - return; -} - - - -void FUN_7f0be634(void) - -{ - short sVar1; - - sVar1 = FUN_7f0d3400((short)DAT_80048394); - FUN_7f0be574((int)sVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0be660(int param_1) - -{ - longlong lVar1; - int iVar3; - ulonglong uVar2; - int iVar5; - longlong lVar4; - char *pcVar6; - undefined *puVar7; - undefined *puVar8; - undefined *puVar9; - undefined4 uVar10; - - DAT_800483f4 = 1; - DAT_800483a0 = 0; - DAT_800483a4 = 1; - DAT_800483a8 = 0x3f800000; - DAT_800483b0 = 0; - DAT_800483ac = 0; - DAT_800483b4 = 0x3f800000; - DAT_800483bc = 0; - DAT_800483c0 = 0; - DAT_800483c4 = 0; - DAT_800483c8 = 0; - DAT_800483d8 = 0; - DAT_800483e4 = 0; - DAT_800483e8 = 0; - DAT_800483d4 = 0; - DAT_80048394 = param_1; - FUN_70009248(0x3f800000); - FUN_7000704c(0x7fff); - FUN_700073d4(0x7fff); - FUN_7000775c(0x7fff); - FUN_7f0c2014(); - FUN_7f005554(1); - FUN_7f007340(); - FUN_7f0a5374(); - loc_7F0CC488(); - FUN_7f0ad75c(); - if (param_1 == 0x5a) { - FUN_7f000d20(); - } - else { - _DAT_800697d0 = 0; - if (((DAT_80048394 != 0x5a) && (DAT_800483c8 == 0)) && (0 < DAT_800483a4)) { - pcVar6 = &DAT_800696e1; - lVar4 = 1; - if (DAT_8002a940 != 0) { - do { - iVar5 = (int)lVar4; - if (*pcVar6 == '\0') { - lVar4 = (longlong)(iVar5 + 1); - } - else { - lVar1 = locret_7F091A70(lVar4); - if (lVar1 == 0) { - lVar4 = (longlong)(iVar5 + 1); - } - else { - loc_7F091B50(lVar4); - lVar4 = (longlong)(iVar5 + 1); - } - } - pcVar6 = pcVar6 + 1; - } while (lVar4 != 0x4b); - } - } - FUN_7f0b4cd4(DAT_80048394); - FUN_7f094fcc(DAT_80048394); - FUN_7f0a5408(); - uVar10 = FUN_7f0c1eac(param_1); - puVar9 = &DAT_80079f60; - puVar7 = puVar9; - do { - uVar2 = get_num_players(); - iVar5 = 0; - if (uVar2 == 1) { - puVar9[0x6a] = 0; - puVar9[0x6b] = 0; - *(undefined4 *)(puVar9 + 0x5c) = 0x3f800000; - *(undefined4 *)(puVar9 + 100) = 0x3f800000; - } - else { - puVar8 = &DAT_80079f60; - do { - iVar3 = FUN_7f014808(); - if (iVar3 == 4) { - *(undefined4 *)(puVar8 + 0x5c) = 0x43480000; - } - else { - FUN_7f0103ec(iVar5); - *(undefined4 *)(puVar8 + 0x5c) = uVar10; - } - FUN_7f010410(iVar5); - iVar5 += 1; - *(undefined4 *)(puVar8 + 100) = uVar10; - puVar8 = puVar8 + 0x70; - } while (iVar5 != 4); - uVar10 = FUN_7f010460(); - FUN_7f0c0890(uVar10); - uVar10 = FUN_7f010484(); - FUN_7f0c089c(uVar10); - uVar10 = FUN_7f010218(); - } - *(undefined4 *)(puVar9 + 0x34) = 0; - *(undefined4 *)(puVar9 + 0x3c) = 0; - *(undefined4 *)(puVar9 + 0x44) = 0x7fffffff; - *(undefined4 *)(puVar9 + 0x48) = 0; - *(undefined4 *)(puVar9 + 0x54) = 0; - *(undefined4 *)(puVar9 + 0x58) = 0; - *(undefined4 *)(puVar9 + 0x4c) = 0; - *(undefined4 *)(puVar9 + 0x50) = 0x7fffffff; - puVar9[0x68] = 0; - *(undefined4 *)(puVar9 + 0x60) = 0; - *(undefined4 *)(puVar9 + 0x38) = 0; - *(undefined4 *)(puVar9 + 0x40) = 0; - puVar8 = puVar7 + 0x70; - puVar9 = puVar9 + 0x70; - *(undefined4 *)(puVar7 + 0x30) = 0; - *(undefined4 *)(puVar7 + 0x2c) = 0; - *(undefined4 *)(puVar7 + 0x28) = 0; - *(undefined4 *)(puVar7 + 0x24) = 0; - puVar7 = puVar8; - } while (puVar8 != &DAT_8007a120); - } - loc_7F004F3C(); - FUN_7f0c2cb8(); - FUN_7f09c3c0(); - FUN_7f005470(); - FUN_7f005540(); - FUN_7f0014e0(); - FUN_7f001750(); - FUN_7f0014b0(); - FUN_7f000e40(); - FUN_7f000f50(); - loc_7F004E78((longlong)param_1); - FUN_7f006db0(); - FUN_7f0071a0(); - FUN_7f0072b0(); - FUN_7f0072d0(); - if (DAT_80048394 == 0x5a) { - FUN_7f007318(); - } - else { - FUN_7f0068b0(); - FUN_7f005060(); - lVar4 = 0; - uVar2 = get_num_players(); - if (0 < (longlong)uVar2) { - do { - FUN_7f09bcac((int)lVar4); - FUN_7f0061f0(); - FUN_7f0050f0(); - FUN_7f0799dc(); - FUN_7f0057e4(); - FUN_7f079ea8(); - FUN_7f00638c(); - FUN_7f007318(); - lVar4 = (longlong)((int)lVar4 + 1); - uVar2 = get_num_players(); - } while (lVar4 < (longlong)uVar2); - } - FUN_7f09bcac(0); - } - FUN_7f005554(0); - FUN_7f0d3060(); - setVideoWidthHeightToMode(1); - DAT_80048398 = 0x3f800000; - FUN_7f0c0830(0); - return; -} - - - -undefined4 FUN_7f0beac4(void) - -{ - return DAT_80048394; -} - - - -undefined4 FUN_7f0bead0(longlong param_1) - -{ - undefined8 uVar1; - ulonglong uVar2; - ulonglong uVar3; - - if (param_1 != 0) { - uVar1 = FUN_7f0ba994(param_1); - DAT_80048404 = DAT_80048408; - DAT_80048408 = DAT_8004840c; - DAT_8004840c = DAT_80048410; - DAT_80048410 = DAT_80048414; - uVar2 = FUN_7000c370('\0',0x8000); - uVar3 = FUN_7000c370('\x01',0x8000); - uVar3 |= uVar2 & 0xffff; - if ((longlong)DAT_80048410 != uVar3) { - DAT_800483f4 ^= 1; - } - if (DAT_80048404 != DAT_80048408) { - DAT_800483f4 ^= 1; - } - DAT_80048414 = (int)uVar3; - FUN_7f0ba9a4(); - return (int)uVar1; - } - uVar2 = FUN_7000c410('\0',0x200); - uVar3 = FUN_7000c410('\x01',0x200); - if (((uVar3 | uVar2 & 0xffff) != 0) && (DAT_80048400 += -1, DAT_80048400 < 0)) { - DAT_80048400 = 0; - } - uVar2 = FUN_7000c410('\0',0x100); - uVar3 = FUN_7000c410('\x01',0x100); - if ((uVar3 | uVar2 & 0xffff) != 0) { - DAT_80048400 += 1; - } - uVar2 = FUN_7000c370('\0',0x10); - uVar3 = FUN_7000c370('\x01',0x10); - if ((uVar3 | uVar2 & 0xffff) != 0) { - uVar2 = FUN_7000c370('\0',0x20); - uVar3 = FUN_7000c370('\x01',0x20); - if ((uVar3 | uVar2 & 0xffff) != 0) { - uVar2 = FUN_7000c410('\0',0x400); - if (uVar2 == 0) { - return 0; - } - FUN_7f0ba714(DAT_80048400); - return 0; - } - } - uVar2 = FUN_7000c370('\0',0x10); - uVar3 = FUN_7000c370('\x01',0x10); - if ((uVar3 | uVar2 & 0xffff) == 0) { - uVar2 = FUN_7000c370('\0',0x20); - uVar3 = FUN_7000c370('\x01',0x20); - if ((uVar3 | uVar2 & 0xffff) == 0) { - uVar2 = FUN_7000c410('\0',0x400); - uVar3 = FUN_7000c410('\x01',0x400); - if ((uVar3 | uVar2 & 0xffff) != 0) { - FUN_7f0ba62c(DAT_80048400); - } - uVar2 = FUN_7000c410('\0',0x800); - uVar3 = FUN_7000c410('\x01',0x800); - if ((uVar3 | uVar2 & 0xffff) != 0) { - FUN_7f0ba5dc(DAT_80048400); - } - } - else { - uVar2 = FUN_7000c410('\0',0x400); - uVar3 = FUN_7000c410('\x01',0x400); - if (((uVar3 | uVar2 & 0xffff) != 0) && (uVar2 = FUN_7f0ba6b4(DAT_80048400), uVar2 != 0)) { - FUN_7f0ba6f4(DAT_80048400); - } - uVar2 = FUN_7000c410('\0',0x800); - uVar3 = FUN_7000c410('\x01',0x800); - if (((uVar3 | uVar2 & 0xffff) != 0) && (uVar2 = FUN_7f0ba6b4(DAT_80048400), uVar2 == 0)) { - FUN_7f0ba6d4(DAT_80048400); - return 0; - } - } - } - else { - uVar2 = FUN_7000c410('\0',0x400); - uVar3 = FUN_7000c410('\x01',0x400); - if (((uVar3 | uVar2 & 0xffff) != 0) && (uVar2 = FUN_7f0ba694(DAT_80048400), uVar2 == 0)) { - FUN_7f0ba96c(DAT_80048400,0); - } - uVar2 = FUN_7000c410('\0',0x800); - uVar3 = FUN_7000c410('\x01',0x800); - if (((uVar3 | uVar2 & 0xffff) != 0) && (uVar2 = FUN_7f0ba694(DAT_80048400), uVar2 != 0)) { - FUN_7f0ba96c(DAT_80048400,1); - return 0; - } - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * loc_7F0BE844(undefined4 *param_1) - -{ - uint uVar4; - undefined4 *puVar5; - short sVar9; - short sVar10; - ulonglong uVar1; - int iVar6; - undefined8 uVar2; - longlong lVar3; - byte *pbVar7; - int *piVar8; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - uint *puVar11; - int iVar12; - uint *puStackX0; - - *param_1 = 0xbc000006; - param_1[1] = 0; - puStackX0 = param_1 + 4; - param_1[2] = 0xbc000406; - uVar4 = osVirtualToPhysical(_DAT_8008c2d0); - param_1[3] = uVar4; - puStackX0[1] = 0x1000040; - *puStackX0 = 0x6000000; - puVar5 = puStackX0 + 4; - puStackX0[3] = 0x1000020; - puStackX0[2] = 0x6000000; - if (DAT_80048394 == 0x5a) { - puStackX0 = puVar5; - puStackX0 = FUN_70003eb4(puVar5); - puVar5 = FUN_70003c58(puStackX0); - puStackX0 = puVar5 + 2; - *puVar5 = 0xed000000; - sVar9 = get_video2_settings_txtClipW(); - sVar10 = get_video2_settings_txtClipH(); - puVar5[1] = (int)((float)(int)sVar10 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar9 * 4.00000000) & 0xfffU) << 0xc; - puStackX0 = FUN_7f01b0b0(puStackX0); - } - else { - puStackX0 = puVar5; - uVar1 = get_num_players(); - *puStackX0 = 0xbc000404; - puStackX0[1] = 2; - puStackX0[3] = 2; - puStackX0[2] = 0xbc000c04; - puStackX0[4] = 0xbc001404; - puStackX0[5] = 0xfffe; - puVar11 = puStackX0 + 8; - iVar12 = 0; - puStackX0[7] = 0xfffe; - puStackX0[6] = 0xbc001c04; - puStackX0 = puVar11; - if (0 < (longlong)uVar1) { - do { - iVar6 = FUN_7f09c0c8(iVar12); - FUN_7f09bcac(iVar6); - FUN_7000443c(*(undefined2 *)(_DAT_8007a120 + 0x7f0),*(undefined2 *)(_DAT_8007a120 + 0x7f2)); - FUN_700044bc(*(undefined2 *)(_DAT_8007a120 + 0x7f4),*(undefined2 *)(_DAT_8007a120 + 0x7f6)); - FUN_70004544(*(undefined4 *)(_DAT_8007a120 + 0x11d0),extraout_a0,extraout_a1); - FUN_70004590(*(undefined4 *)(_DAT_8007a120 + 0x11d4),extraout_a0_00,extraout_a1_00); - puStackX0 = FUN_70003eb4(puStackX0); - puStackX0 = FUN_70003c58(puStackX0); - iVar6 = get_debug_prroomloads_flag(); - if (iVar6 == 0) { - puStackX0 = (uint *)FUN_7f092060(puStackX0); - } - iVar6 = get_debug_prroomloads_flag(); - if (iVar6 == 1) { - uVar2 = FUN_7f0b38f8((longlong)(int)puStackX0); - puStackX0 = (uint *)uVar2; - } - iVar6 = get_debug_prroomloads_flag(); - if (iVar6 == 2) { - puStackX0 = (uint *)FUN_7f0880d4(puStackX0); - } - puStackX0 = setupscreensfornumplayers(puStackX0); - puStackX0 = (uint *)loc_7F097360(puStackX0); - loc_7F0B4A14(); - FUN_7f03cd30(); - FUN_7f03a540(); - loc_7F03D9C0(); - FUN_7f03c594(); - iVar6 = FUN_7f08a670(); - if ((iVar6 != 0) && (lVar3 = FUN_7f03c7f0(), lVar3 != 0)) { - FUN_7f05de84(0); - FUN_7f05de84(1); - } - FUN_7f03d3d4(); - puStackX0 = loc_7F0B4F68(puStackX0); - iVar6 = FUN_7f091b1c(); - if (iVar6 != 0) { - puStackX0 = (uint *)FUN_7f0bead0((longlong)(int)puStackX0); - } - iVar6 = get_debug_gunwatchpos_flag(); - if (iVar6 != 0) { - uVar2 = FUN_7f0b3bec((longlong)(int)puStackX0); - puStackX0 = (uint *)uVar2; - } - iVar6 = get_debug_enable_all_levels_flag(); - if (iVar6 != 0) { - uVar2 = FUN_7f0b3be4((longlong)(int)puStackX0); - puStackX0 = (uint *)(int)uVar2; - uVar2 = FUN_7f089d94(uVar2); - puStackX0 = (uint *)uVar2; - } - iVar6 = get_debug_chrnum_flag(); - if (iVar6 != 0) { - uVar2 = FUN_7f0b3be4((longlong)(int)puStackX0); - puStackX0 = (uint *)(int)uVar2; - uVar2 = FUN_7f0b3cdc(uVar2); - puStackX0 = (uint *)uVar2; - } - pbVar7 = loc_7000A740(1,(byte *)s__stanshow__8005b6fc); - if (pbVar7 != NULL) { - pbVar7 = loc_7000A740(1,(byte *)s__stanshow__8005b708); - piVar8 = loc_7F0B2EF0(pbVar7); - if (piVar8 != NULL) { - uVar2 = FUN_7f0b3be4((longlong)(int)puStackX0); - puStackX0 = (uint *)(int)uVar2; - uVar2 = FUN_7f0b3bd4(uVar2); - puStackX0 = (uint *)uVar2; - } - } - pbVar7 = loc_7000A740(2,(byte *)s__stanshow__8005b714); - if (pbVar7 != NULL) { - pbVar7 = loc_7000A740(2,(byte *)s__stanshow__8005b720); - piVar8 = loc_7F0B2EF0(pbVar7); - if (piVar8 != NULL) { - uVar2 = FUN_7f0b3be4((longlong)(int)puStackX0); - puStackX0 = (uint *)(int)uVar2; - uVar2 = FUN_7f0b3bd4(uVar2); - puStackX0 = (uint *)uVar2; - } - } - pbVar7 = loc_7000A740(3,(byte *)s__stanshow__8005b72c); - if (pbVar7 != NULL) { - pbVar7 = loc_7000A740(3,(byte *)s__stanshow__8005b738); - piVar8 = loc_7F0B2EF0(pbVar7); - if (piVar8 != NULL) { - uVar2 = FUN_7f0b3be4((longlong)(int)puStackX0); - puStackX0 = (uint *)(int)uVar2; - uVar2 = FUN_7f0b3bd4(uVar2); - puStackX0 = (uint *)uVar2; - } - } - iVar6 = get_debug_joy2hitsedit_flag(); - FUN_7f02310c((uint)(iVar6 == 8)); - puStackX0 = loc_7F049C60(puStackX0); - FUN_7f0a53c4((longlong)(int)register0x000000ec,1); - puStackX0 = FUN_7f0a37e4(puStackX0); - puStackX0 = loc_7F0A0240(puStackX0); - uVar4 = FUN_7f09333c(0xb); - if ((uVar4 != 0) && - ((iVar6 = FUN_7f05def0(0), iVar6 != 0x17 || (*(int *)(_DAT_8007a120 + 0xfcc) == 0)))) { - FUN_7f0698dc(); - } - iVar6 = get_debug_prroomloads_flag(); - if (iVar6 == 2) { - puStackX0 = FUN_7f0898dc(puStackX0); - } - else { - uVar2 = FUN_7f08c540((longlong)(int)puStackX0); - puStackX0 = (uint *)uVar2; - } - puStackX0 = FUN_7f0c4cd4(puStackX0); - iVar12 += 1; - } while (iVar12 < (int)uVar1); - } - } - puVar11 = puStackX0; - *puStackX0 = 0xed000000; - puStackX0 = puStackX0 + 2; - sVar9 = get_video2_settings_txtClipW(); - sVar10 = get_video2_settings_txtClipH(); - puVar11[1] = (int)((float)(int)sVar10 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar9 * 4.00000000) & 0xfffU) << 0xc; - return puStackX0; -} - - - -int FUN_7f0bf4b4(void) - -{ - int iVar1; - float in_f0; - float fVar2; - - if (DAT_800483b8 == 0) { - FUN_7f08aa24(); - fVar2 = in_f0; - iVar1 = FUN_7f08aa34(); - DAT_800401a8 = 1.00000000; - fVar2 = fVar2 + in_f0; - if (fVar2 <= 0.12500000) { - DAT_800401a8 = 0.50000000; - } - else { - if (fVar2 <= DAT_8005b76c) { - DAT_800401a8 = ((fVar2 - 0.12500000) * 0.50000000) / DAT_8005b770 + 0.50000000; - } - } - DAT_80030b54 = 0x40000000; - DAT_8002ce84 = DAT_800401a8 * 0.50000000; - DAT_80030b58 = 0x40000000; - DAT_80030b64 = 0x40000000; - DAT_8002ce80 = DAT_8005b774; - DAT_8002ce88 = 0x40000000; - DAT_800401a8 = DAT_800401a8 * 0.25000000; - DAT_80030aec = 0x3fc00000; - DAT_80030b68 = 0x40000000; - DAT_8002ce8c = DAT_8005b778; - DAT_80030b5c = DAT_8002ce84; - DAT_80030b60 = DAT_8002ce84; - } - else { - if (DAT_800483b8 == 1) { - DAT_80030b54 = 0x3f800000; - DAT_80030b58 = 0x3f800000; - DAT_80030b5c = 0.75000000; - DAT_80030b60 = 0.75000000; - DAT_80030b64 = 0x3f800000; - DAT_8002ce80 = 0x3f400000; - DAT_8002ce84 = 0.75000000; - DAT_8002ce88 = 0x3f800000; - DAT_800401a8 = 0.75000000; - if (DAT_80048500 == 0) { - DAT_80030aec = 0x3f400000; - } - else { - DAT_80030aec = DAT_8005b77c; - } - DAT_80030b68 = 0x3fc00000; - DAT_8002ce8c = 0x3f000000; - iVar1 = DAT_800483b8; - } - else { - if (DAT_800483b8 == 2) { - DAT_80030b54 = 0x3f800000; - DAT_80030b58 = 0x3f800000; - DAT_80030b5c = 1.00000000; - DAT_80030b60 = 1.00000000; - DAT_80030b64 = 0x3f800000; - DAT_8002ce80 = 0x3f800000; - DAT_8002ce84 = 1.00000000; - DAT_8002ce88 = 0x3f800000; - DAT_800401a8 = 1.00000000; - if (DAT_80048500 == 0) { - DAT_80030aec = DAT_8005b780; - } - else { - DAT_80030aec = 0x3f400000; - } - DAT_80030b68 = 0x3f800000; - DAT_8002ce8c = 0x3f800000; - iVar1 = DAT_800483b8; - } - else { - iVar1 = DAT_800483b8; - if (DAT_800483b8 == 3) { - DAT_80030b54 = 0x3f800000; - DAT_80030b58 = 0x3f800000; - DAT_80030b5c = 1.00000000; - DAT_80030b60 = 1.00000000; - DAT_80030b64 = 0x3f800000; - DAT_8002ce80 = 0x3f800000; - DAT_8002ce84 = 1.00000000; - DAT_8002ce88 = 0x3f800000; - DAT_800401a8 = 1.00000000; - DAT_80030aec = 0x3f800000; - DAT_80030b68 = 0x3f800000; - DAT_8002ce8c = 0x3f800000; - iVar1 = DAT_800483b8; - } - } - } - } - return iVar1; -} - - - -// WARNING: Instruction at (ram,0x7f0bfcac) overlaps instruction at (ram,0x7f0bfca8) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0bf7ac(void) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - longlong lVar4; - ulonglong uVar5; - int iVar6; - int iVar7; - int **ppiVar8; - char *pcVar9; - int *piVar10; - longlong lVar11; - undefined *puVar12; - undefined8 extraout_a0; - undefined8 extraout_a1; - char cVar13; - char cVar14; - ulonglong uVar15; - int iVar16; - int iVar17; - int iVar18; - int iVar19; - int iStack364; - int iStack360; - int iStack28; - - mp_tlb_related(); - if (DAT_800483a0 == 0) { - iVar6 = FUN_7f0c6d64(); - if (iVar6 == 0) { - DAT_800483a4 = DAT_800484c8; - DAT_800483b0 += 1; - } - else { - DAT_800483a4 = 0; - } - } - else { - DAT_800483a4 = 0; - } - DAT_800483a8 = (float)DAT_800483a4; - DAT_800483ac += DAT_800483a4; - DAT_800483b4 = DAT_800483a8; - if (((DAT_80048394 != 0x5a) && (DAT_800483b4 = DAT_800483a8, DAT_800483c8 == 0)) && - (DAT_800483b4 = DAT_800483a8, 0 < DAT_800483a4)) { - pcVar9 = &DAT_800696e1; - lVar11 = 1; - DAT_800483b4 = DAT_800483a8; - if (DAT_8002a940 != 0) { - do { - if (*pcVar9 != '\0') { - lVar4 = locret_7F091A70(lVar11); - if (lVar4 == 0) { - loc_7F091B50((longlong)(int)lVar11); - } - } - lVar11 = (longlong)((int)lVar11 + 1); - pcVar9 = pcVar9 + 1; - } while (lVar11 != 0x4b); - } - } - uVar5 = get_num_players(); - if ((1 < (longlong)uVar5) && (DAT_80048394 != 0x5a)) { - iVar6 = FUN_7f0c18c0(); - if (iVar6 == 6) { - uVar5 = get_num_players(); - lVar11 = 0; - iVar6 = 0; - iVar18 = 0; - if (0 < (longlong)uVar5) { - piVar10 = (int *)&DAT_80079f50; - do { - iVar7 = *piVar10; - piVar10 = piVar10 + 1; - if ((*(int *)(iVar7 + 0xd8) != 0) && (iVar6 += 1, *(int *)(iVar7 + 0x424) != 0)) { - iVar18 += 1; - } - uVar5 = get_num_players(); - lVar11 = (longlong)((int)lVar11 + 1); - } while (lVar11 < (longlong)uVar5); - } - if ((0 < iVar6) && (iVar6 == iVar18)) { - FUN_7f0c18cc(1); - } - } - iVar6 = DAT_800483c8; - if (0 < DAT_800483cc) { - iVar18 = DAT_800483a4 + DAT_800483c8; - if ((DAT_800483c8 < DAT_800483cc + -0xe10) && (DAT_800483cc + -0xe10 <= iVar18)) { - iStack28 = 0; - uVar5 = get_num_players(); - if (0 < (longlong)uVar5) { - do { - FUN_7f09bcac(iStack28); - pcVar9 = (char *)FUN_7f0c2a88(0xb044); - FUN_7f08ac40(pcVar9); - iStack28 += 1; - uVar5 = get_num_players(); - } while ((longlong)iStack28 < (longlong)uVar5); - } - } - if (((DAT_800483cc + -600 <= iVar18) && (DAT_800483d4 == 0)) && - (iVar7 = FUN_7f0c086c(), iVar7 == 0)) { - FUN_70008e18((longlong)_DAT_80063760,0xa1,(int **)&DAT_800483d4); - } - iVar7 = FUN_7f0c086c(); - if (((iVar7 != 0) && (DAT_800483d4 != 0)) && - (uVar5 = locret_70008E00(DAT_800483d4), uVar5 != 0)) { - loc_7000905C(DAT_800483d4); - } - if ((iVar6 < DAT_800483cc) && (DAT_800483cc <= iVar18)) { - loc_7F0C2E50(0); - } - } - if ((0 < DAT_800483d0) && (DAT_800483a4 != 0)) { - uVar5 = get_num_players(); - iVar6 = 0; - iVar18 = 0; - lVar11 = 0; - if (0 < (longlong)uVar5) { - piVar10 = (int *)&DAT_80079f50; - do { - iVar7 = *piVar10; - if ((*(int *)(iVar7 + 0xd8) != 0) && - (((*(int *)(iVar7 + 0x424) == 0 || (*(int *)(iVar7 + 0x428) == 0)) || - (0.00000000 <= *(float *)(iVar7 + 0x3e4))))) { - iVar6 += 1; - } - iVar7 = FUN_7f0c4588((uint)lVar11); - uVar5 = SEXT48((int)uVar5); - if (DAT_800483d0 <= iVar7) { - iVar18 += 1; - } - lVar11 = (longlong)(int)((uint)lVar11 + 1); - piVar10 = piVar10 + 1; - } while (lVar11 < (longlong)uVar5); - } - if (0 < iVar18) { - if (iVar6 == 0) { - loc_7F0C2E50(0); - } - else { - FUN_7f0c31d0(); - } - } - } - iVar6 = FUN_7f014808(); - if ((iVar6 == 1) && (DAT_800483a4 != 0)) { - uVar5 = get_num_players(); - iVar6 = 0; - iVar18 = 0; - lVar11 = 0; - if (0 < (longlong)uVar5) { - do { - iVar7 = 0; - cVar14 = '\0'; - cVar13 = '\0'; - uVar15 = 0; - iVar16 = 0; - iVar17 = (int)lVar11; - if (0 < (longlong)uVar5) { - if ((uVar5 & 3) != 0) { - piVar10 = (int *)&DAT_80079f50; - puVar12 = &DAT_80079f60 + iVar17 * 4; - cVar13 = cVar14; - do { - iVar19 = *piVar10; - iVar16 = (int)uVar15 + 1; - uVar15 = SEXT48(iVar16); - piVar10 = piVar10 + 1; - if (*(int *)(iVar19 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar19 = *(int *)(puVar12 + 0x24); - } - else { - iVar19 = *(int *)(puVar12 + 0x24); - } - puVar12 = puVar12 + 0x70; - iVar7 += iVar19; - } while ((uVar5 & 3) != uVar15); - cVar14 = cVar13; - if (uVar15 == uVar5) goto LAB_7f0bfd5c; - } - piVar10 = (int *)(&DAT_80079f50 + iVar16 * 4); - puVar12 = &DAT_80079f60 + iVar16 * 0x70 + iVar17 * 4; - cVar13 = cVar14; - do { - if (*(int *)(*piVar10 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar16 = piVar10[1]; - } - else { - iVar16 = piVar10[1]; - } - piVar1 = (int *)(puVar12 + 0x24); - if (*(int *)(iVar16 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar16 = piVar10[2]; - } - else { - iVar16 = piVar10[2]; - } - piVar2 = (int *)(puVar12 + 0x94); - if (*(int *)(iVar16 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar16 = piVar10[3]; - } - else { - iVar16 = piVar10[3]; - } - piVar3 = (int *)(puVar12 + 0x104); - piVar10 = piVar10 + 4; - if (*(int *)(iVar16 + 0xd8) == 0) { - cVar13 += '\x01'; - iVar16 = *(int *)(puVar12 + 0x174); - } - else { - iVar16 = *(int *)(puVar12 + 0x174); - } - puVar12 = puVar12 + 0x1c0; - iVar7 = iVar7 + *piVar1 + *piVar2 + *piVar3 + iVar16; - } while (piVar10 != (int *)(&DAT_80079f50 + (int)uVar5 * 4)); - } -LAB_7f0bfd5c: - if (iVar7 < 2) { -LAB_7f0bfdd4: - lVar11 = (longlong)(iVar17 + 1); - } - else { - if ((&DAT_80079fc8)[iVar17 * 0x70] == '\0') { - (&DAT_80079fc8)[iVar17 * 0x70] = cVar13 + '\x01'; - } - iVar7 = *(int *)(&DAT_80079f50 + iVar17 * 4); - iVar6 += 1; - if (*(int *)(iVar7 + 0x424) == 0) { - lVar11 = (longlong)(iVar17 + 1); - } - else { - if (*(int *)(iVar7 + 0x428) == 0) { - lVar11 = (longlong)(iVar17 + 1); - } - else { - if (*(float *)(iVar7 + 0x3e4) < 0.00000000) { - iVar18 += 1; - goto LAB_7f0bfdd4; - } - lVar11 = (longlong)(iVar17 + 1); - } - } - } - } while (lVar11 < (longlong)uVar5); - } - iVar7 = (int)uVar5 + -1; - if (iVar18 < iVar7) { - if (iVar7 <= iVar6) { - FUN_7f0c31d0(); - } - } - else { - loc_7F0C2E50(0); - } - } - } - DAT_800483c8 += DAT_800483a4; - DAT_800483d8 = (float)DAT_800483c8 / 60.00000000; - DAT_800483dc += DAT_800483a4; - DAT_800483e0 = (float)DAT_800483dc / 60.00000000; - uVar5 = FUN_7000c410('\0',0xffff); - if (uVar5 == 0) { - DAT_800483c4 += DAT_800483a4; - if (0x707 < DAT_800483c4) { - DAT_800483bc = 1; - } - } - else { - DAT_800483bc = 0; - DAT_800483c4 = 0; - } - if (DAT_800483bc == 0) { - DAT_800483e4 += DAT_800483a4; - DAT_800483e8 = (float)DAT_800483e4 / 60.00000000; - DAT_800483ec += DAT_800483a4; - DAT_800483f0 = (float)DAT_800483ec / 60.00000000; - } - else { - DAT_800483c0 += DAT_800483a4; - } - FUN_70004534(1); - if (DAT_80048394 == 0x5a) { - FUN_7f09241c(); - FUN_7f01a7d0(extraout_a0,extraout_a1); - FUN_7f0c25f0(); - } - else { - FUN_7f09c75c(); - FUN_7f0bf4b4(); - loc_7F0BC838(); - FUN_7f0939f0(); - FUN_7f094fd8(); - FUN_7f0a539c(); - FUN_7f069458(); - FUN_7f0a3474(); - FUN_7f0a08e0(); - FUN_7f03c948(); - FUN_7f0c2078(); - FUN_7f0c25f0(); - iVar6 = get_debug_all_obj_complete_flag(); - if (((iVar6 != 0) && (DAT_800483fc == 0)) && - (DAT_800483fc = FUN_70009730(0x3000,4), DAT_800483fc != 0)) { - iVar6 = 0; - do { - *(undefined *)(DAT_800483fc + iVar6) = 0xff; - *(byte *)(DAT_800483fc + iVar6 + 1) = *(byte *)(DAT_800483fc + iVar6 + 1) & 0x1f | 0x20; - *(byte *)(DAT_800483fc + iVar6 + 1) = *(byte *)(DAT_800483fc + iVar6 + 1) & 0xe3 | 4; - *(undefined *)(DAT_800483fc + iVar6 + 4) = 0xff; - *(byte *)(DAT_800483fc + iVar6 + 5) = *(byte *)(DAT_800483fc + iVar6 + 5) & 0x1f | 0x20; - *(byte *)(DAT_800483fc + iVar6 + 5) = *(byte *)(DAT_800483fc + iVar6 + 5) & 0xe3 | 4; - *(undefined *)(DAT_800483fc + iVar6 + 8) = 0xff; - *(byte *)(DAT_800483fc + iVar6 + 9) = *(byte *)(DAT_800483fc + iVar6 + 9) & 0x1f | 0x20; - *(byte *)(DAT_800483fc + iVar6 + 9) = *(byte *)(DAT_800483fc + iVar6 + 9) & 0xe3 | 4; - *(undefined *)(DAT_800483fc + iVar6 + 0xc) = 0xff; - *(byte *)(DAT_800483fc + iVar6 + 0xd) = *(byte *)(DAT_800483fc + iVar6 + 0xd) & 0x1f | 0x20; - iVar18 = DAT_800483fc + iVar6; - iVar6 += 0x10; - *(byte *)(iVar18 + 0xd) = *(byte *)(iVar18 + 0xd) & 0xe3 | 4; - } while (iVar6 != 12000); - } - iVar6 = FUN_7f091b1c(); - if (iVar6 != 0) { - FUN_7f0bead0(0); - } - iVar6 = get_debug_joy2hitsedit_flag(); - if (iVar6 == 4) { - uVar5 = FUN_7000c410('\0',2); - if (uVar5 != 0) { - FUN_7f0b01e0(); - FUN_7f0b38e8(); - } - uVar5 = FUN_7000c410('\0',1); - if (uVar5 != 0) { - FUN_7f0b01e0(); - FUN_7f0b38e8(); - } - } - else { - if (iVar6 == 8) { - uVar5 = FUN_7000c410('\0',2); - if (uVar5 != 0) { - FUN_7f023118(); - } - uVar5 = FUN_7000c410('\0',1); - if (uVar5 != 0) { - FUN_7f023178(); - } - uVar5 = FUN_7000c410('\0',0x20); - if (uVar5 != 0) { - FUN_7f0231b0(); - } - uVar5 = FUN_7000c370('\0',0x10); - FUN_7f0231c8((uint)(uVar5 != 0)); - } - } - } - iVar6 = get_debug_joy2hitsedit_flag(); - uVar5 = SEXT48(iVar6); - if (uVar5 == 0xc) { - uVar5 = FUN_7000c410('\0',0x202); - if (uVar5 != 0) { - FUN_7f0be5e8(); - } - uVar5 = FUN_7000c410('\0',0x101); - if (uVar5 != 0) { - FUN_7f0be59c(); - } - uVar5 = FUN_7000c410('\0',0x400); - if (uVar5 != 0) { - FUN_70006fe0(); - } - uVar5 = FUN_7000c410('\0',0x4000); - if (uVar5 != 0) { - uVar5 = FUN_700070b0(); - } - } - else { - if (uVar5 == 0xd) { - uVar5 = FUN_7000c410('\0',0x622); - if (uVar5 != 0) { - DAT_80048418 += -1; - FUN_70008e18((longlong)_DAT_80063760,DAT_80048418,NULL); - } - uVar5 = FUN_7000c410('\0',0x911); - if (uVar5 != 0) { - DAT_80048418 += 1; - FUN_70008e18((longlong)_DAT_80063760,DAT_80048418,NULL); - } - uVar5 = FUN_7000c410('\0',4); - if (uVar5 != 0) { - FUN_70009134(); - } - uVar5 = FUN_7000c410('\0',8); - if (uVar5 != 0) { - ppiVar8 = FUN_70008e18((longlong)_DAT_80063760,DAT_80048418,NULL); - uVar5 = SEXT48((int)ppiVar8); - } - } - else { - if (uVar5 == 0x38) { - iStack360 = get_video_mp_related_8002329C(); - iStack364 = get_video_mp_related_800232A0(); - uVar5 = FUN_7000c370('\0',4); - if (uVar5 != 0) { - iStack364 += 1; - } - uVar5 = FUN_7000c370('\0',8); - if (uVar5 != 0) { - iStack364 += -1; - } - uVar5 = FUN_7000c370('\0',1); - if (uVar5 != 0) { - iStack360 += 1; - } - uVar5 = FUN_7000c370('\0',2); - if (uVar5 != 0) { - iStack360 += -1; - } - set_video_mp_related_8002329C(iStack360); - uVar5 = set_video_mp_related_800232A0(iStack364); - } - } - } - return uVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c0438(void) - -{ - undefined4 uVar3; - int iVar4; - char cVar5; - char cVar6; - char cVar7; - ulonglong uVar1; - longlong lVar2; - float fVar8; - float fVar9; - - uVar3 = get_cur_playernum(); - cVar7 = (char)uVar3; - FUN_7f09241c(); - iVar4 = get_debug_joy2skyedit_flag(); - if (iVar4 == 0) { - iVar4 = get_debug_joy2hitsedit_flag(); - if ((iVar4 == 0) || - ((iVar4 = get_debug_joy2hitsedit_flag(), iVar4 == 0x3b && (DAT_80036af4 < 0)))) { - cVar5 = FUN_7000c150(cVar7); - cVar6 = FUN_7000c260(cVar7); - uVar1 = FUN_7000c370(cVar7,0xffff); - loc_7F091574(cVar5,cVar6,(ushort)uVar1); - } - else { - cVar5 = FUN_7000c150(cVar7); - cVar7 = FUN_7000c260(cVar7); - loc_7F091574(cVar5,cVar7,0); - } - } - else { - if (iVar4 == 1) { - iVar4 = get_debug_joy2hitsedit_flag(); - if (iVar4 == 1) { - FUN_7000c150(cVar7); - FUN_7000c260(cVar7); - FUN_7000c370(cVar7,0xffff); - FUN_7f0b38e8(); - } - else { - FUN_7000c150(cVar7); - FUN_7000c260(cVar7); - FUN_7f0b38e8(); - } - } - else { - if (iVar4 == 2) { - iVar4 = get_debug_joy2hitsedit_flag(); - if (iVar4 == 2) { - cVar5 = FUN_7000c150(cVar7); - cVar6 = FUN_7000c260(cVar7); - uVar1 = FUN_7000c370(cVar7,0xffff); - FUN_7f087668(cVar5,cVar6,(ushort)uVar1); - } - else { - cVar5 = FUN_7000c150(cVar7); - cVar7 = FUN_7000c260(cVar7); - FUN_7f087668(cVar5,cVar7,0); - } - FUN_7f0c3b30(); - } - } - } - fVar8 = *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 8) - *(float *)(_DAT_8007a120 + 0x408); - fVar9 = *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x10) - *(float *)(_DAT_8007a120 + 0x410); - fVar8 = sqrtf(fVar8 * fVar8 + fVar9 * fVar9); - *(float *)(_DAT_8007a124 + 0x38) = *(float *)(_DAT_8007a124 + 0x38) + fVar8; - iVar4 = FUN_7f014808(); - if (iVar4 == 2) { - uVar1 = FUN_7f08d8e4(); - if (uVar1 == 0) { - *(undefined *)(_DAT_8007a124 + 0x69) = 0; - } - else { - iVar4 = FUN_7f05def0(0); - if ((iVar4 != 0x58) && (FUN_7f05de34(0,0x58), *(int *)(_DAT_8007a120 + 0x894) == 2)) { - *(undefined4 *)(_DAT_8007a120 + 0x894) = 5; - } - *(int *)(_DAT_8007a124 + 0x60) = *(int *)(_DAT_8007a124 + 0x60) + DAT_800483a4; - *(undefined *)(_DAT_8007a124 + 0x69) = 1; - } - } - else { - iVar4 = FUN_7f014808(); - if (iVar4 == 3) { - lVar2 = FUN_7f08d924(); - if (lVar2 == 0) { - *(undefined *)(_DAT_8007a124 + 0x69) = 0; - } - else { - *(undefined *)(_DAT_8007a124 + 0x69) = 1; - } - } - } - return; -} - - - -void FUN_7f0c0758(void) - -{ - ulonglong uVar1; - undefined8 uVar2; - - if ((DAT_800483d4 != 0) && (uVar1 = locret_70008E00(DAT_800483d4), uVar1 != 0)) { - loc_7000905C(DAT_800483d4); - } - if (DAT_80048394 != 0x5a) { - uVar2 = FUN_7f0c2290(DAT_80048394); - FUN_7f0c2a74((int)uVar2); - FUN_7f007790(); - } - FUN_7f093240(); - FUN_7f0073d0(); - FUN_7f007480(); - loc_7F007908(); - FUN_7f007940(); - FUN_7f007990(); - FUN_7f0074f0(); - FUN_7f007520(); - FUN_7f0075b0(); - FUN_7f007720(); - FUN_7f0079a0(); - FUN_7f0c1f18(); - FUN_7f0b5390(); - return; -} - - - -void FUN_7f0c0830(int param_1) - -{ - if ((param_1 != 0) && (DAT_800483a0 == 0)) { - reset_cont_rumble_detect(); - } - DAT_800483a0 = param_1; - return; -} - - - -undefined4 FUN_7f0c086c(void) - -{ - return DAT_800483a0; -} - - - -undefined4 FUN_7f0c0878(void) - -{ - return DAT_800483b8; -} - - - -void FUN_7f0c0884(undefined4 param_1) - -{ - DAT_800483b8 = param_1; - return; -} - - - -void FUN_7f0c0890(undefined4 param_1) - -{ - DAT_800483cc = param_1; - return; -} - - - -void FUN_7f0c089c(undefined4 param_1) - -{ - DAT_800483d0 = param_1; - return; -} - - - -undefined4 FUN_7f0c08a8(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 FUN_7f0c08b4(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -void FUN_7f0c08e0(void) - -{ - DAT_80048498 = 0; - DAT_8004849c = 0; - DAT_800484a0 = 0; - return; -} - - - -undefined4 FUN_7f0c08fc(void) - -{ - return DAT_800484a4; -} - - - -undefined4 FUN_7f0c0908(void) - -{ - return DAT_800484b0; -} - - - -undefined4 FUN_7f0c0914(void) - -{ - return DAT_800484ac; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void finalize_ramrom_on_hw(void) - -{ - undefined *puVar1; - undefined auStack25 [25]; - - puVar1 = (undefined *)(((uint)auStack25 | 0xf) ^ 0xf); - *puVar1 = 0; - puVar1[1] = 0; - romWrite((uint)puVar1,_DAT_8008c664,0x10); - _DAT_8008c664 += 4; - DAT_80048498 = romCopyAligned(-0x7ff73d20,0xf00000,0xf0); - *(int *)(DAT_80048498 + 0x7c) = DAT_800483ac - DAT_800483a4; - *(int *)(DAT_80048498 + 0x80) = _DAT_8008c664 + -0xf00000; - romWrite(DAT_80048498,0xf00000,0xf0); - return; -} - - - -void FUN_7f0c09d0(void) - -{ - int iVar1; - undefined4 in_a3_lo; - undefined4 extraout_a3_lo; - uint uVar2; - undefined4 uStack264; - char acStack260 [260]; - - uVar2 = 1; - while( true ) { - sprintf((int)acStack260,(byte *)s_replay_demo__d_8005b790,uVar2,in_a3_lo); - iVar1 = FUN_7f0d0d78(acStack260,&uStack264); - if (iVar1 == 0) break; - uVar2 += 1; - in_a3_lo = extraout_a3_lo; - } - sprintf((int)acStack260,(byte *)s_replay_demo__d_8005b7a0,uVar2,extraout_a3_lo); - FUN_7f0d0d3c(acStack260,0xf00000,*(undefined4 *)(DAT_80048498 + 0x80)); - return; -} - - - -void FUN_7f0c0a70(void) - -{ - int iVar1; - undefined4 uStack4; - - iVar1 = FUN_7f0d0d78(s_replay_demo_load_8005b7b0,&uStack4); - if (iVar1 != 0) { - FUN_7f0d0cfc(s_replay_demo_load_8005b7b0,0xf00000,uStack4); - DAT_80048498 = romCopyAligned(-0x7ff73d20,0xf00000,0xe8); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c0acc(int param_1,int param_2,int param_3) - -{ - int iVar1; - char *pcVar2; - ushort *puVar3; - int iVar4; - int iVar5; - char cVar6; - int iVar7; - - iVar1 = *(int *)(DAT_80048498 + 0x18); - iVar7 = 0; - cVar6 = '\0'; - DAT_8004849c = &DAT_8008c4e0; - DAT_800484a0 = -0x7ff73b1c; - if (param_2 != param_3) { - iVar5 = (param_2 + 1) % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - while( true ) { - iVar4 = 0; - if (0 < iVar1) { - puVar3 = (ushort *)(param_1 + iVar5 * 0x18); - do { - pcVar2 = (char *)(iVar7 * iVar1 * 4 + DAT_800484a0 + iVar4 * 4); - *pcVar2 = *(char *)(puVar3 + 1); - iVar4 += 1; - pcVar2[1] = *(char *)((int)puVar3 + 3); - pcVar2[2] = (char)*puVar3; - pcVar2[3] = (char)((uint)*puVar3 >> 8); - cVar6 += *pcVar2 + pcVar2[1] + pcVar2[2] + pcVar2[3]; - puVar3 = puVar3 + 3; - } while (iVar4 != iVar1); - } - iVar7 += 1; - if (iVar5 == param_3) break; - iVar4 = iVar5 + 1; - iVar5 = iVar4 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - } - } - DAT_8004849c[1] = (char)iVar7; - *DAT_8004849c = (char)DAT_800484c8; - DAT_8004849c[2] = (char)DAT_800244a4; - iVar7 = iVar1 * 4 * iVar7; - DAT_8004849c[3] = cVar6 + *DAT_8004849c + DAT_8004849c[1] + DAT_8004849c[2]; - romWrite((uint)DAT_8004849c,_DAT_8008c664,((longlong)(iVar7 + 0x13) | 0xfU) ^ 0xf); - _DAT_8008c664 = _DAT_8008c664 + ((iVar7 + 5U | 1) ^ 1); - return; -} - - - -int FUN_7f0c0cf0(int param_1,int param_2) - -{ - byte bVar1; - char cVar2; - int iVar3; - char *pcVar4; - undefined2 *puVar5; - ulonglong uVar6; - char cVar7; - int iVar8; - - bVar1 = DAT_8004849c[1]; - cVar7 = '\0'; - uVar6 = 0; - iVar3 = *(int *)(DAT_80048498 + 0x18); - if (bVar1 != 0) { - iVar8 = param_2 + 1; - while( true ) { - param_2 = iVar8 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar8 == -0x80000000)) { - trap(0x1800); - } - puVar5 = (undefined2 *)(param_1 + param_2 * 0x18); - iVar8 = 0; - do { - if (iVar8 < iVar3) { - pcVar4 = (char *)((int)uVar6 * iVar3 * 4 + DAT_800484a0 + iVar8 * 4); - *(char *)(puVar5 + 1) = *pcVar4; - *(char *)((int)puVar5 + 3) = pcVar4[1]; - *puVar5 = CONCAT11(pcVar4[3],pcVar4[2]); - cVar7 += *pcVar4 + pcVar4[1] + pcVar4[2] + pcVar4[3]; - } - else { - *(undefined *)(puVar5 + 1) = 0; - *(undefined *)((int)puVar5 + 3) = 0; - *puVar5 = 0; - } - iVar8 += 1; - puVar5 = puVar5 + 3; - } while (iVar8 != 4); - uVar6 = SEXT48((int)uVar6 + 1); - if (uVar6 == (ulonglong)bVar1) break; - iVar8 = param_2 + 1; - } - } - bVar1 = DAT_8004849c[2]; - if (((longlong)DAT_800244a4 & 0xffU) == (ulonglong)bVar1) { - cVar2 = *DAT_8004849c; - } - else { - FUN_7f0c1538(); - bVar1 = DAT_8004849c[2]; - cVar2 = *DAT_8004849c; - } - if ((byte)(cVar7 + cVar2 + DAT_8004849c[1] + bVar1) != DAT_8004849c[3]) { - FUN_7f0c1538(); - } - FUN_7000c96c(0); - uVar6 = FUN_7000c410('\0',0xffff); - if (uVar6 != 0) { - FUN_7f0c1538(); - DAT_8002a974 = 1; - } - FUN_7000c96c(1); - return param_2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f0c0ed8(void) - -{ - byte bVar1; - uint uVar2; - int iVar3; - - DAT_8004849c = (byte *)romCopyAligned(-0x7ff73b28,_DAT_8008c664,4); - bVar1 = DAT_8004849c[1]; - if (bVar1 != 0) { - DAT_800484a0 = romCopyAligned(-0x7ff73b02,_DAT_8008c664 + 4, - *(int *)(DAT_80048498 + 0x18) * 4 * (uint)bVar1); - bVar1 = DAT_8004849c[1]; - } - if ((bVar1 == 0) && (*DAT_8004849c == 0)) { - FUN_7f0c1538(); - } - else { - _DAT_8008c664 += (*(int *)(DAT_80048498 + 0x18) * 4 * (uint)bVar1 + 5 | 1) ^ 1; - } - FUN_7f0c1710((uint)*DAT_8004849c); - iVar3 = *(int *)(DAT_80048498 + 0x7c) + -0x3c; - uVar2 = DAT_800483ac; - if ((iVar3 <= (int)DAT_800483ac) && - (uVar2 = DAT_800483ac, (int)(DAT_800483ac - DAT_800483a4) < iVar3)) { - uVar2 = FUN_7f0c1538(); - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1018(undefined4 *param_1) - -{ - undefined4 uVar2; - ulonglong uVar1; - - uVar2 = DAT_800244a0; - param_1[1] = DAT_800244a4; - *param_1 = uVar2; - uVar2 = DAT_80040190._0_4_; - param_1[3] = DAT_80040190._4_4_; - param_1[2] = uVar2; - param_1[0x21] = DAT_8002a930; - param_1[0x23] = DAT_8002b560; - param_1[0x24] = DAT_8002b580; - param_1[0x25] = DAT_8002b574; - param_1[0x26] = DAT_8002b578; - uVar2 = __osGetActiveQueue(); - param_1[0x27] = uVar2; - param_1[0x28] = DAT_8002b564; - param_1[0x29] = DAT_8002b568; - param_1[0x2a] = DAT_8002b56c; - param_1[0x2b] = DAT_8002b570; - param_1[0x2c] = _DAT_800697e8; - param_1[0x2d] = _DAT_800697ec; - param_1[0x2e] = _DAT_800697f0; - param_1[0x2f] = _DAT_800697f4; - param_1[0x30] = _DAT_800697f8; - param_1[0x31] = _DAT_800697fc; - param_1[0x32] = _DAT_80069800; - param_1[0x33] = _DAT_80069804; - param_1[0x34] = DAT_8002b57c; - uVar1 = FUN_7f014d38(0); - param_1[0x35] = (int)uVar1; - uVar1 = FUN_7f014d38(1); - param_1[0x36] = (int)uVar1; - uVar1 = FUN_7f014d38(2); - param_1[0x37] = (int)uVar1; - uVar1 = FUN_7f014d38(3); - param_1[0x38] = (int)uVar1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1164(undefined4 *param_1) - -{ - DAT_800244a0 = *param_1; - DAT_800244a4 = param_1[1]; - DAT_80040190._0_4_ = param_1[2]; - DAT_80040190._4_4_ = param_1[3]; - DAT_8002a930 = param_1[0x21]; - DAT_8002b560 = param_1[0x23]; - DAT_8002b580 = param_1[0x24]; - DAT_8002b574 = param_1[0x25]; - DAT_8002b578 = param_1[0x26]; - FUN_7f0c7310(param_1[0x27]); - DAT_8002b564 = param_1[0x28]; - DAT_8002b568 = param_1[0x29]; - DAT_8002b56c = param_1[0x2a]; - DAT_8002b570 = param_1[0x2b]; - _DAT_800697e8 = param_1[0x2c]; - _DAT_800697ec = param_1[0x2d]; - _DAT_800697f0 = param_1[0x2e]; - _DAT_800697f4 = param_1[0x2f]; - _DAT_800697f8 = param_1[0x30]; - _DAT_800697fc = param_1[0x31]; - _DAT_80069800 = param_1[0x32]; - _DAT_80069804 = param_1[0x33]; - DAT_8002b57c = param_1[0x34]; - FUN_7f014d54(0,(char)param_1[0x35]); - FUN_7f014d54(1,(char)param_1[0x36]); - FUN_7f014d54(2,(char)param_1[0x37]); - FUN_7f014d54(3,(char)param_1[0x38]); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c12b0(undefined4 param_1,undefined4 param_2) - -{ - undefined4 uVar1; - - if (DAT_800484b8 == 0) { - if (DAT_800484ac != 0) { - _DAT_8008c668 = 0; - loc_7F01D5E0((longlong)(int)DAT_80048498[5]); - FUN_7f01d790((undefined *)DAT_80048498[4]); - FUN_7f01d7e8(DAT_80048498 + 7); - FUN_7f0c1018((undefined4 *)0x8008c3f0); - FUN_7f0c1164(DAT_80048498); - DAT_800484a4 = 1; - DAT_800484a8 = 1; - FUN_7000bc0c(FUN_7f0c0cf0,DAT_80048498[6]); - FUN_7000c96c(1); - DAT_800484ac = 0; - } - } - else { - DAT_80048498 = (undefined4 *)0x8008c2e0; - _DAT_8008c668 = 0; - _DAT_8008c2f0 = param_1; - _DAT_8008c2f4 = param_2; - uVar1 = FUN_7000ba08(); - DAT_80048498[6] = uVar1; - DAT_80048498[0x22] = _DAT_8008c660; - FUN_7f01d7c0(DAT_80048498 + 7); - FUN_7f0c1018(DAT_80048498); - DAT_800484b0 = 1; - DAT_800484b4 = 1; - FUN_7000bc20(FUN_7f0c0acc); - _DAT_8008c664 = 0xf00000; - romWrite((uint)DAT_80048498,0xf00000,0xf0); - _DAT_8008c664 += 0xe8; - DAT_800484b8 = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c142c(undefined4 param_1) - -{ - DAT_800484b8 = 1; - _DAT_8008c660 = param_1; - return; -} - - - -void FUN_7f0c1444(void) - -{ - if (DAT_800484b4 != 0) { - finalize_ramrom_on_hw(); - FUN_7000bc20(0); - DAT_800484b4 = 0; - DAT_800484b0 = 0; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c148c(uint param_1) - -{ - _DAT_8008c664 = param_1; - DAT_80048498 = romCopyAligned(-0x7ff73d20,param_1,0xe8); - _DAT_8008c664 += 0xe8; - DAT_800484ac = 1; - FUN_7f01d790(*(undefined **)(DAT_80048498 + 0x10)); - loc_7F01D5E0((longlong)*(int *)(DAT_80048498 + 0x14)); - FUN_7f01a788(0xb,1); - return; -} - - - -void FUN_7f0c1518(void) - -{ - FUN_7f0c148c(0xf00000); - return; -} - - - -uint FUN_7f0c1538(void) - -{ - uint uVar1; - - uVar1 = FUN_7f07ab48(); - if (uVar1 != 10) { - uVar1 = FUN_7f07afd8(10); - } - return uVar1; -} - - - -void FUN_7f0c156c(void) - -{ - if (DAT_800484b4 == 0) { - if (DAT_800484a8 != 0) { - FUN_7f0c1164((undefined4 *)0x8008c3f0); - FUN_7000bc0c(0,0xffffffff); - FUN_7000c96c(0); - DAT_800484a8 = 0; - DAT_800484a4 = 0; - } - } - else { - FUN_7f0c1444(); - } - return; -} - - - -void FUN_7f0c15e0(void) - -{ - longlong lVar1; - undefined4 *puVar2; - uint uVar3; - uint uVar4; - int iVar5; - - lVar1 = loc_7F01E9D0(); - uVar4 = 0; - if ((DAT_80048420 != 0) && ((longlong)DAT_80048424 <= lVar1)) { - iVar5 = DAT_80048428; - puVar2 = &DAT_80048420; - while( true ) { - uVar4 += 1; - if ((iVar5 == 0) || (lVar1 < (longlong)(int)puVar2[3])) break; - iVar5 = puVar2[4]; - puVar2 = puVar2 + 2; - } - } - uVar3 = FUN_7000a460(); - if (uVar4 == 0) { - trap(0x1c00); - } - FUN_7f0c148c((&DAT_80048420)[(uVar3 % uVar4) * 2]); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0c16b4) overlaps instruction at (ram,0x7f0c16b0) -// - -undefined4 FUN_7f0c1690(void) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = FUN_7f0c08fc(); - if ((iVar1 == 0) && (iVar1 = FUN_7f0c0908(), iVar1 == 0)) { - uVar2 = 0; - } - else { - uVar2 = *(undefined4 *)(DAT_80048498 + 0x88); - } - return uVar2; -} - - - -void FUN_7f0c16e0(void) - -{ - DAT_800484e4 = osGetCount(); - DAT_800484e8 = DAT_800484e4; - return; -} - - - -void FUN_7f0c1710(int param_1) - -{ - uint uVar1; - uint uVar2; - - DAT_800484e4 = DAT_800484e8; - DAT_800484e8 = osGetCount(); - uVar2 = DAT_800484c4 + param_1; - uVar1 = uVar2; - if ((int)uVar2 < 0) { - uVar1 = uVar2 + 1; - } - DAT_800484e0 = ((int)uVar1 >> 1) - DAT_800484d8; - DAT_800484c0 = DAT_800484c4; - DAT_800484c4 = uVar2; - DAT_800484c8 = param_1; - DAT_800484cc = (float)param_1; - DAT_800484d0 = (float)param_1; - DAT_800484d4 = DAT_800484d8; - DAT_800484d8 = (int)uVar1 >> 1; - DAT_800484dc = uVar2 & 1; - return; -} - - - -void loc_7F0C0BB4(void) - -{ - uint uVar1; - int iVar2; - - do { - iVar2 = osGetCount(); - uVar1 = ((iVar2 - DAT_800484e8) + 0x5eb61U) / 0xbd6c3; - if (false) { - trap(0x1c00); - } - } while (uVar1 < DAT_800484ec); - DAT_800484ec = 1; - FUN_7f0c1710(uVar1); - return; -} - - - -void FUN_7f0c1880(void) - -{ - FUN_7f0a9f18(); - return; -} - - - -void FUN_7f0c18a0(void) - -{ - FUN_7f0a9d40(); - return; -} - - - -undefined4 FUN_7f0c18c0(void) - -{ - return DAT_800484f0; -} - - - -void FUN_7f0c18cc(ulonglong param_1) - -{ - int iVar1; - - iVar1 = (int)param_1; - switch(DAT_800484f0) { - case 0: - if (param_1 < 7) { - DAT_800484f0 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c191c. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005b7ec)[iVar1])(); - return; - } - case 1: - if (param_1 < 7) { - DAT_800484f0 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c19f0. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005b808)[iVar1])(); - return; - } - case 2: - if (param_1 < 7) { - DAT_800484f0 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c1ae0. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005b828)[iVar1])(); - return; - } - case 3: - if (param_1 < 7) { - DAT_800484f0 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c1b78. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005b844)[iVar1])(); - return; - } - case 4: - if (param_1 < 7) { - DAT_800484f0 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c1cb0. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005b860)[iVar1])(); - return; - } - case 5: - if (param_1 < 7) { - DAT_800484f0 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c1d7c. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005b87c)[iVar1])(); - return; - } - case 6: - if (param_1 < 7) { - DAT_800484f0 = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c1e24. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005b898)[iVar1])(); - return; - } - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1eac(undefined4 param_1) - -{ - short sVar1; - - FUN_70006fe0(); - FUN_70007368(); - FUN_700076f0(); - DAT_800484f0 = 0; - _DAT_8008c670 = param_1; - sVar1 = FUN_7f0d3528((short)param_1); - if (sVar1 < 0) { - FUN_7f0c18cc(1); - } - else { - FUN_7f0c18cc(4); - } - return; -} - - - -void FUN_7f0c1f18(void) - -{ - FUN_7f0c18cc(0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1f38(void) - -{ - short sVar1; - - sVar1 = FUN_7f0d3528((short)_DAT_8008c670); - if (sVar1 < 0) { - FUN_7f0c18cc(2); - } - else { - FUN_7f0c18cc(5); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1f7c(void) - -{ - short sVar1; - - sVar1 = FUN_7f0d3528((short)_DAT_8008c670); - if (sVar1 < 0) { - FUN_7f0c18cc(1); - } - else { - FUN_7f0c18cc(4); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1fc0(void) - -{ - _DAT_8008c674 = DAT_800484f0; - FUN_7f0c18cc(3); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c1ff0(void) - -{ - FUN_7f0c18cc((longlong)_DAT_8008c674); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c2014(void) - -{ - _DAT_8008c678 = 0; - _DAT_8008c67c = 0; - _DAT_8008c680 = 0; - _DAT_8008c684 = 0; - _DAT_8008c688 = 0; - _DAT_8008c68c = 0; - _DAT_8008c690 = 0; - _DAT_8008c694 = 0; - _DAT_8008c698 = 0; - _DAT_8008c69c = 0; - _DAT_8008c6a0 = 0; - _DAT_8008c6a4 = 0; - return; -} - - - -void FUN_7f0c2078(void) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iVar4; - int *piVar5; - int *piVar6; - int *piVar7; - int iVar8; - - iVar4 = DAT_800483a4; - bVar2 = false; - piVar6 = (int *)&DAT_8008c688; - piVar7 = (int *)&DAT_8008c678; - iVar8 = 0; - do { - iVar1 = *piVar7; - if (iVar1 == 0) { - if (0 < *piVar6) { - iVar3 = *piVar6; - goto LAB_7f0c20c4; - } - } - else { - iVar3 = *piVar6; -LAB_7f0c20c4: - piVar5 = (int *)(&DAT_8008c698 + iVar8); - if (iVar3 < iVar4) { - *piVar6 = 0; - } - else { - *piVar6 = iVar3 - iVar4; - } - iVar3 = *piVar5; - if (iVar3 != 0) { - if (iVar3 < iVar4) { - *piVar5 = 0; - } - else { - *piVar5 = iVar3 - iVar4; - } - if (*piVar5 == 0) { - *piVar7 = 0; - } - else { - if ((iVar1 != 0) || (*piVar6 != 0)) { - bVar2 = true; - } - } - } - } - piVar6 = piVar6 + 1; - iVar8 += 4; - piVar7 = piVar7 + 1; - if (piVar6 == (int *)&DAT_8008c698) { - if (iVar4 != 0) { - iVar4 = FUN_7f0c18c0(); - if ((iVar4 == 2) || (iVar4 = FUN_7f0c18c0(), iVar4 == 5)) { - if (!bVar2) { - FUN_7f0c1f7c(); - } - } - else { - if (bVar2) { - FUN_7f0c1f38(); - } - } - } - return; - } - } while( true ); -} - - - -void FUN_7f0c21ac(int param_1,int param_2,int param_3) - -{ - param_1 *= 4; - if (*(int *)(&DAT_8008c678 + param_1) == 0) { - *(int *)(&DAT_8008c678 + param_1) = 1; - *(int *)(&DAT_8008c688 + param_1) = param_2 * 0x3c; - *(int *)(&DAT_8008c698 + param_1) = param_3 * 0x3c; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c2208(longlong param_1) - -{ - if (-1 < param_1) { - *(undefined4 *)(&DAT_8008c678 + (int)param_1 * 4) = 0; - return; - } - _DAT_8008c678 = 0; - _DAT_8008c67c = 0; - _DAT_8008c680 = 0; - _DAT_8008c684 = 0; - _DAT_8008c688 = 0; - _DAT_8008c68c = 0; - _DAT_8008c690 = 0; - _DAT_8008c694 = 0; - _DAT_8008c698 = 0; - _DAT_8008c69c = 0; - _DAT_8008c6a0 = 0; - _DAT_8008c6a4 = 0; - return; -} - - - -undefined8 FUN_7f0c2290(undefined4 param_1) - -{ - if (true) { - switch(param_1) { - case 9: - return 0x1e; - case 0x14: - return 0x22; - case 0x16: - return 0x23; - case 0x17: - return 8; - case 0x18: - return 2; - case 0x19: - return 0x24; - case 0x1a: - return 0xd; - case 0x1b: - return 0x1d; - case 0x1c: - return 5; - case 0x1d: - return 0x19; - case 0x1e: - return 0xc; - case 0x1f: - return 0x1a; - case 0x20: - return 10; - case 0x21: - return 0xb; - case 0x22: - return 3; - case 0x23: - return 0x1c; - case 0x24: - return 0x1f; - case 0x25: - return 0x12; - case 0x26: - return 0xe; - case 0x27: - return 7; - case 0x29: - return 9; - case 0x2b: - return 0x20; - case 0x2d: - return 0x11; - case 0x2e: - return 4; - case 0x30: - return 1; - case 0x32: - return 0x17; - case 0x36: - return 0x14; - } - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c239c(void) - -{ - int iVar1; - undefined4 *puVar2; - int iVar3; - - if (DAT_80048500 != 0) { - _DAT_8008c764 = FUN_70009730(0x2e80,6); - _DAT_8008c768 = FUN_70009730(0x100,6); - iVar3 = 0; - do { - *(byte *)(_DAT_8008c768 + iVar3) = *(byte *)(_DAT_8008c768 + iVar3) & 0x3f; - *(ushort *)(_DAT_8008c768 + iVar3) = *(ushort *)(_DAT_8008c768 + iVar3) | 0x3fff; - *(byte *)(_DAT_8008c768 + iVar3 + 2) = *(byte *)(_DAT_8008c768 + iVar3 + 2) & 0x3f; - *(ushort *)(_DAT_8008c768 + iVar3 + 2) = *(ushort *)(_DAT_8008c768 + iVar3 + 2) | 0x3fff; - *(byte *)(_DAT_8008c768 + iVar3 + 4) = *(byte *)(_DAT_8008c768 + iVar3 + 4) & 0x3f; - *(ushort *)(_DAT_8008c768 + iVar3 + 4) = *(ushort *)(_DAT_8008c768 + iVar3 + 4) | 0x3fff; - *(byte *)(_DAT_8008c768 + iVar3 + 6) = *(byte *)(_DAT_8008c768 + iVar3 + 6) & 0x3f; - iVar1 = _DAT_8008c768 + iVar3; - iVar3 += 8; - *(ushort *)(iVar1 + 6) = *(ushort *)(iVar1 + 6) | 0x3fff; - } while (iVar3 != 0xf8); - } - iVar3 = DAT_80048500; - _DAT_8008c6b0 = 0; - puVar2 = (undefined4 *)&DAT_8008c6b4; - do { - puVar2 = puVar2 + 4; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - *puVar2 = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)&DAT_8008c764); - _DAT_8008c748 = FUN_7f0bd8b4((&PTR_s_LgunE_80048634)[iVar3],1,0x100,6); - _DAT_8008c74c = FUN_7f0bd8b4((&PTR_s_LtitleE_8004863c)[DAT_80048500],1,0x100,6); - _DAT_8008c750 = FUN_7f0bd8b4((&PTR_s_LmpmenuE_80048644)[DAT_80048500],1,0x100,6); - _DAT_8008c754 = FUN_7f0bd8b4((&PTR_s_LpropobjE_8004864c)[DAT_80048500],1,0x100,6); - _DAT_8008c758 = FUN_7f0bd8b4((&PTR_s_LmpweaponsE_80048654)[DAT_80048500],1,0x100,6); - _DAT_8008c75c = FUN_7f0bd8b4((&PTR_s_LoptionsE_8004865c)[DAT_80048500],1,0x100,6); - _DAT_8008c760 = FUN_7f0bd8b4((&PTR_s_LmiscE_80048664)[DAT_80048500],1,0x100,6); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c25f0(void) - -{ - ushort uVar1; - ushort *puVar2; - int iVar3; - - iVar3 = 0; - if (DAT_80048500 != 0) { - do { - puVar2 = (ushort *)(_DAT_8008c768 + iVar3); - if (*puVar2 >> 0xe == 0) { - uVar1 = puVar2[1]; - } - else { - *(byte *)puVar2 = ((byte)(*puVar2 >> 0xe) - 1) * '@' | *(byte *)puVar2 & 0x3f; - puVar2 = (ushort *)(_DAT_8008c768 + 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 *)(_DAT_8008c768 + 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 *)(_DAT_8008c768 + 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; -} - - - -// WARNING: Instruction at (ram,0x7f0c276c) overlaps instruction at (ram,0x7f0c2768) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F0C1CF8(uint param_1) - -{ - bool bVar1; - ushort uVar2; - ushort *puVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - - iVar7 = -1; - bVar1 = (param_1 & 0x2000) != 0; - iVar6 = 0; - iVar4 = 0; - iVar9 = -1; - puVar3 = _DAT_8008c768; - do { - iVar10 = (int)param_1 >> 1; - if ((!bVar1) && ((longlong)iVar10 == ((ulonglong)*puVar3 & 0x3fff))) break; - if ((bVar1) && - (((iVar4 + 1 < 0x7c && ((longlong)iVar10 == ((ulonglong)*puVar3 & 0x3fff))) && - ((longlong)iVar10 == ((ulonglong)puVar3[1] & 0x3fff))))) break; - uVar2 = *puVar3 >> 0xe; - iVar5 = iVar4 + 1; - if (uVar2 == 0) { - iVar7 = iVar4; - } - iVar6 += 2; - iVar8 = iVar9; - if (((uVar2 == 0) && (iVar8 = iVar9, puVar3[1] >> 0xe == 0)) && (iVar8 = iVar4, 0x7b < iVar5)) { - iVar8 = iVar9; - } - puVar3 = puVar3 + 1; - iVar4 = iVar5; - iVar9 = iVar8; - } while (iVar5 != 0x7c); - if (iVar4 < 0x7c) { - if (bVar1) { - *(byte *)puVar3 = *(byte *)puVar3 & 0x3f | 0x80; - *(byte *)((int)_DAT_8008c768 + iVar6 + 2) = - *(byte *)((int)_DAT_8008c768 + iVar6 + 2) & 0x3f | 0x80; - iVar4 = iVar4 * 0x60 + _DAT_8008c764; - } - else { - *(byte *)puVar3 = *(byte *)puVar3 & 0x3f | 0x80; - iVar4 = iVar4 * 0x60 + _DAT_8008c764; - } - } - else { - if ((bVar1) || (iVar7 < 0)) { - iVar4 = _DAT_8008c764; - if ((bVar1) && (iVar4 = _DAT_8008c764, -1 < iVar9)) { - *(byte *)(_DAT_8008c768 + iVar9) = *(byte *)(_DAT_8008c768 + iVar9) & 0x3f | 0x80; - *(byte *)(_DAT_8008c768 + iVar9 + 1) = *(byte *)(_DAT_8008c768 + iVar9 + 1) & 0x3f | 0x80; - uVar2 = (ushort)iVar10 & 0x3fff; - _DAT_8008c768[iVar9] = uVar2 | _DAT_8008c768[iVar9] & 0xc000; - (_DAT_8008c768 + iVar9)[1] = uVar2 | (_DAT_8008c768 + iVar9)[1] & 0xc000; - romCopy((longlong)(iVar9 * 0x60 + _DAT_8008c764), - ((int)(param_1 & 0x1fff) >> 1) * 0x80 + 0x123d60,0x80); - iVar4 = iVar9 * 0x60 + _DAT_8008c764; - } - } - else { - *(byte *)(_DAT_8008c768 + iVar7) = *(byte *)(_DAT_8008c768 + iVar7) & 0x3f | 0x80; - _DAT_8008c768[iVar7] = (ushort)iVar10 & 0x3fff | _DAT_8008c768[iVar7] & 0xc000; - romCopy((longlong)(iVar7 * 0x60 + _DAT_8008c764),iVar10 * 0x60 + 0x118660,0x60); - iVar4 = iVar7 * 0x60 + _DAT_8008c764; - } - } - return iVar4; -} - - - -void FUN_7f0c29b8(int param_1) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0bd8b4(*(byte **)(param_1 * 8 + DAT_80048500 * 4 + -0x7ffb7afc),1,0x100,4); - *(undefined4 *)(&DAT_8008c6b0 + param_1 * 4) = uVar1; - return; -} - - - -void FUN_7f0c2a14(int param_1,undefined *param_2,int param_3) - -{ - undefined *puVar1; - - puVar1 = FUN_7f0bd8f0(*(byte **)(param_1 * 8 + DAT_80048500 * 4 + -0x7ffb7afc),1,param_2,param_3); - *(undefined **)(&DAT_8008c6b0 + param_1 * 4) = puVar1; - return; -} - - - -void FUN_7f0c2a74(int param_1) - -{ - *(undefined4 *)(&DAT_8008c6b0 + param_1 * 4) = 0; - return; -} - - - -int FUN_7f0c2a88(uint param_1) - -{ - int iVar1; - - iVar1 = *(int *)(*(int *)(&DAT_8008c6b0 + ((int)param_1 >> 10) * 4) + (param_1 & 0x3ff) * 4); - if (iVar1 != 0) { - return iVar1 + *(int *)(&DAT_8008c6b0 + ((int)param_1 >> 10) * 4); - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c2ad0(void) - -{ - switch(*(undefined4 *)(_DAT_8007a120 + 0x29c8)) { - case 0: - case 1: - case 2: - case 4: - return 1; - case 3: - break; - case 5: - case 6: - case 7: - return 0; - default: - return 0; - } - if (_DAT_8008c774 == 0) { - return 1; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c2b3c(void) - -{ - switch(*(undefined4 *)(_DAT_8007a120 + 0x29c8)) { - case 0: - case 6: - case 7: - return 0; - case 1: - break; - case 2: - case 3: - case 4: - case 5: - return 1; - default: - return 0; - } - if (_DAT_8008c774 == 0) { - return 0; - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c2ba8(char param_1) - -{ - int iVar3; - ulonglong uVar1; - undefined8 uVar2; - - iVar3 = FUN_7000c518(param_1,-2,1); - uVar1 = FUN_7000c410(param_1,0x101); - if ((uVar1 != 0) || ((uVar2 = 0, 0 < iVar3 && (*(int *)(_DAT_8007a120 + 0x29d0) != 0)))) { - uVar2 = 1; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c2c18(char param_1) - -{ - int iVar3; - ulonglong uVar1; - undefined8 uVar2; - - iVar3 = FUN_7000c518(param_1,-2,1); - uVar1 = FUN_7000c410(param_1,0x202); - if ((uVar1 != 0) || ((uVar2 = 0, iVar3 < -1 && (*(int *)(_DAT_8007a120 + 0x29d0) != 0)))) { - uVar2 = 1; - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f0c2c8c(void) - -{ - int **ppiVar1; - - ppiVar1 = FUN_70008e18((longlong)_DAT_80063760,0x9f,NULL); - return ppiVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c2cb8(void) - -{ - _DAT_8008c770 = 0; - _DAT_8008c774 = 0; - _DAT_8008c788 = 0; - return; -} - - - -undefined4 loc_7F0C2104(int param_1,int param_2,int param_3,int param_4,int param_5) - -{ - uint uVar1; - undefined4 uVar2; - - if ((param_2 < param_3) || ((param_3 == param_2 && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)))) { - uVar2 = 1; - } - else { - uVar2 = 0; - param_3 = param_2; - } - if (2 < param_1) { - if ((param_3 < param_4) || ((param_4 == param_3 && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)))) - { - uVar2 = 2; - param_3 = param_4; - } - if (3 < param_1) { - if (param_3 < param_5) { - uVar2 = 3; - } - else { - if ((param_5 == param_3) && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)) { - uVar2 = 3; - } - } - } - } - return uVar2; -} - - - -undefined4 loc_7F0C21F4(int param_1,int param_2,int param_3,int param_4,int param_5) - -{ - uint uVar1; - undefined4 uVar2; - - if ((param_3 < param_2) || ((param_3 == param_2 && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)))) { - uVar2 = 1; - } - else { - uVar2 = 0; - param_3 = param_2; - } - if (2 < param_1) { - if ((param_4 < param_3) || ((param_4 == param_3 && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)))) - { - uVar2 = 2; - param_3 = param_4; - } - if (3 < param_1) { - if (param_5 < param_3) { - uVar2 = 3; - } - else { - if ((param_5 == param_3) && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)) { - uVar2 = 3; - } - } - } - } - return uVar2; -} - - - -undefined4 loc_7F0C233C(int param_1,float param_2,float param_3,float param_4,float param_5) - -{ - uint uVar1; - int iVar2; - undefined uVar3; - int iVar4; - - if ((param_2 < param_3) || ((param_3 == param_2 && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)))) { - uVar3 = 1; - param_2 = param_3; - } - else { - uVar3 = 0; - } - iVar4 = (int)param_2; - iVar2 = iVar4 >> 0x1f; - if (param_1 < 3) goto LAB_7f0c2fec; - if (param_4 <= (float)iVar4) { - if (param_4 == (float)iVar4) { - uVar1 = FUN_7000a460(); - if ((uVar1 & 1) != 0) goto LAB_7f0c2f84; - goto LAB_7f0c2f94; - } - } - else { -LAB_7f0c2f84: - uVar3 = 2; - iVar4 = (int)param_4; -LAB_7f0c2f94: - iVar2 = iVar4 >> 0x1f; - } - if (3 < param_1) { - if (param_5 <= (float)iVar4) { - if ((param_5 == (float)iVar4) && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)) { - uVar3 = 3; - } - } - else { - uVar3 = 3; - } - } -LAB_7f0c2fec: - return CONCAT13(uVar3,(int3)((uint)iVar2 >> 8)); -} - - - -undefined4 loc_7F0C2484(int param_1,float param_2,float param_3,float param_4,float param_5) - -{ - uint uVar1; - int iVar2; - undefined uVar3; - int iVar4; - - if ((param_3 < param_2) || ((param_3 == param_2 && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)))) { - uVar3 = 1; - param_2 = param_3; - } - else { - uVar3 = 0; - } - iVar4 = (int)param_2; - iVar2 = iVar4 >> 0x1f; - if (param_1 < 3) goto LAB_7f0c3134; - if ((float)iVar4 <= param_4) { - if (param_4 == (float)iVar4) { - uVar1 = FUN_7000a460(); - if ((uVar1 & 1) != 0) goto LAB_7f0c30cc; - goto LAB_7f0c30dc; - } - } - else { -LAB_7f0c30cc: - uVar3 = 2; - iVar4 = (int)param_4; -LAB_7f0c30dc: - iVar2 = iVar4 >> 0x1f; - } - if (3 < param_1) { - if ((float)iVar4 <= param_5) { - if ((param_5 == (float)iVar4) && (uVar1 = FUN_7000a460(), (uVar1 & 1) != 0)) { - uVar3 = 3; - } - } - else { - uVar3 = 3; - } - } -LAB_7f0c3134: - return CONCAT13(uVar3,(int3)((uint)iVar2 >> 8)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c3144(void) - -{ - FUN_7f0c0830(1); - _DAT_8008c788 = 1; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0c316c(void) - -{ - ulonglong uVar1; - undefined8 uVar2; - - uVar1 = get_num_players(); - if (uVar1 == 1) { - uVar2 = 1; - } - else { - if (_DAT_8008c770 == 0) { - uVar2 = 1; - if (*(int *)(_DAT_8007a120 + 0x29c4) != 0) { - uVar2 = 0; - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0c31d0(void) - -{ - _DAT_8008c770 = 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f0c38b4) overlaps instruction at (ram,0x7f0c38b0) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0C2E50(longlong param_1) - -{ - int *piVar1; - int iVar2; - ulonglong uVar3; - int iVar4; - uint uVar5; - uint uVar6; - undefined *puVar7; - ulonglong uVar8; - int *piVar9; - undefined *puVar10; - undefined *puVar11; - ulonglong uVar12; - int iVar13; - float fVar14; - float fVar15; - int aiStack252 [4]; - int iStack236; - float afStack232 [2]; - int aiStack224 [2]; - float afStack216 [2]; - uint uStack208; - int aiStack204 [6]; - int iStack180; - float fStack176; - float fStack172; - int iStack168; - int iStack164; - float fStack160; - float fStack156; - uint uStack152; - int iStack148; - int iStack144; - int iStack140; - int iStack136; - int iStack124; - float fStack120; - float fStack116; - int iStack112; - int iStack108; - float fStack104; - float fStack100; - int iStack92; - int iStack88; - int iStack84; - int iStack80; - int iStack68; - float fStack64; - float fStack60; - int iStack56; - int iStack52; - float fStack48; - float fStack44; - int iStack36; - int iStack32; - int iStack24; - undefined4 uStack20; - undefined4 auStack16 [4]; - - uVar3 = get_num_players(); - iVar4 = FUN_7f08c840(); - FUN_70009134(); - FUN_7f0c18cc(0); - uVar5 = FUN_7f0c1880(); - FUN_7000704c((ulonglong)uVar5 & 0xffff); - DAT_8002438c = 0; - FUN_70006e8c(0x2c); - FUN_7f0c3144(); - if (param_1 == 0) { - _DAT_8008c774 = 1; - } - else { - _DAT_8008c774 = 300; - } - _DAT_8008c780 = 1; - _DAT_8008c784 = 0x14; - _DAT_8008c778 = 0; - _DAT_8008c77c = 0; - iStack24 = get_cur_playernum(); - uVar12 = 0; - if (0 < (longlong)uVar3) { - fVar14 = (float)(iVar4 + 1) / DAT_8005bcc0; - puVar11 = &DAT_80079f60; - piVar9 = aiStack252; - do { - uVar8 = 0; - iVar13 = (int)uVar12; - FUN_7f09bcac(iVar13); - *(undefined4 *)(_DAT_8007a120 + 0x29c4) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x29c8) = 3; - *(undefined4 *)(_DAT_8007a120 + 0x2a10) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a14) = 0; - FUN_7f08e5f0(&uStack20,auStack16); - FUN_7f01d824(uStack20,auStack16[0]); - iVar4 = FUN_7f06ad2c(0); - *piVar9 = iVar4; - iVar4 = FUN_7f06ad2c(1); - piVar9[1] = iVar4; - piVar9[2] = 0; - piVar9[3] = 0; - piVar9[4] = 0; - iVar4 = FUN_7f0102d0(); - if (0 < iVar4) { - puVar10 = &DAT_80079f60 + iVar13 * 4; - puVar7 = &DAT_80079f60 + iVar13 * 0x70; - iVar4 = piVar9[3]; - while( true ) { - piVar1 = (int *)(puVar10 + 0x24); - puVar10 = puVar10 + 0x70; - piVar9[3] = iVar4 + *piVar1; - if (uVar12 == uVar8) { - piVar9[4] = piVar9[4] + *(int *)(puVar7 + 0x24); - } - else { - piVar9[2] = piVar9[2] + *(int *)(puVar7 + 0x24); - } - uVar8 = SEXT48((int)uVar8 + 1); - puVar7 = puVar7 + 4; - iVar4 = FUN_7f0102d0(); - if ((longlong)iVar4 <= (longlong)uVar8) break; - iVar4 = piVar9[3]; - } - } - iVar4 = *(int *)(puVar11 + 0x34); - piVar9[7] = *(int *)(puVar11 + 0x3c); - piVar9[8] = iVar4; - iVar4 = *(int *)(puVar11 + 0x4c); - iVar2 = *(int *)(puVar11 + 0x50); - uVar12 = SEXT48(iVar13 + 1); - fVar15 = *(float *)(puVar11 + 0x38); - *(float *)(piVar9 + 5) = ((float)piVar9[2] * 100.00000000) / ((float)*piVar9 + 1.00000000); - *(float *)(piVar9 + 6) = ((float)piVar9[2] * 100.00000000) / ((float)piVar9[3] + 1.00000000); - iVar13 = *(int *)(puVar11 + 0x40); - fVar15 = fVar15 / DAT_8005bcc4; - piVar9[0xb] = 0; - piVar9[0xc] = iVar4; - piVar9[0xd] = iVar2; - piVar9[10] = iVar13; - *(float *)(piVar9 + 9) = fVar15 / fVar14; - puVar11 = puVar11 + 0x70; - piVar9 = piVar9 + 0xe; - } while (uVar12 != uVar3); - } - FUN_7f09bcac(iStack24); - iVar13 = (int)uVar3; - iVar4 = loc_7F0C2104(iVar13,iStack236,iStack180,iStack124,iStack68); - if (0 < aiStack252[iVar4 * 0xe + 4]) { - (&uStack208)[iVar4 * 0xe] = (&uStack208)[iVar4 * 0xe] | 1; - } - uVar5 = loc_7F0C21F4(iVar13,aiStack252[0],aiStack204[2],iStack140,iStack84); - if (aiStack252[uVar5 * 0xe] < 100) { - (&uStack208)[uVar5 * 0xe] = (&uStack208)[uVar5 * 0xe] | 2; - } - uVar6 = loc_7F0C2484(iVar13,afStack216[1],fStack156,fStack100,fStack44); - uVar5 = uVar5 & 0xffffff00 | uVar6 >> 0x18; - if (afStack216[uVar5 * 0xe + 1] <= 2.00000000) { - (&uStack208)[uVar5 * 0xe] = (&uStack208)[uVar5 * 0xe] | 4; - } - uVar6 = loc_7F0C233C(iVar13,afStack216[1],fStack156,fStack100,fStack44); - uVar5 = uVar5 & 0xffffff00 | uVar6 >> 0x18; - if (6.00000000 < afStack216[uVar5 * 0xe + 1]) { - (&uStack208)[uVar5 * 0xe] = (&uStack208)[uVar5 * 0xe] | 8; - } - uVar5 = loc_7F0C2104(iVar13,aiStack252[1],aiStack204[3],iStack136,iStack80); - if (0 < aiStack252[uVar5 * 0xe + 1]) { - (&uStack208)[uVar5 * 0xe] = (&uStack208)[uVar5 * 0xe] | 0x10; - } - uVar6 = loc_7F0C233C(iVar13,afStack232[0],fStack176,fStack120,fStack64); - uVar5 = uVar5 & 0xffffff00 | uVar6 >> 0x18; - if (0.00000000 < afStack232[uVar5 * 0xe]) { - (&uStack208)[uVar5 * 0xe] = (&uStack208)[uVar5 * 0xe] | 0x20; - } - uVar6 = loc_7F0C233C(iVar13,afStack232[1],fStack172,fStack116,fStack60); - uVar5 = uVar5 & 0xffffff00 | uVar6 >> 0x18; - if (0.00000000 < afStack232[uVar5 * 0xe + 1]) { - (&uStack208)[uVar5 * 0xe] = (&uStack208)[uVar5 * 0xe] | 0x40; - } - uVar6 = loc_7F0C2484(iVar13,afStack232[1],fStack172,fStack116,fStack60); - uVar5 = uVar5 & 0xffffff00 | uVar6 >> 0x18; - (&uStack208)[uVar5 * 0xe] = (&uStack208)[uVar5 * 0xe] | 0x80; - uVar6 = loc_7F0C21F4(iVar13,aiStack224[1],iStack164,iStack108,iStack52); - (&uStack208)[uVar6 * 0xe] = (&uStack208)[uVar6 * 0xe] | 0x100; - uVar5 = loc_7F0C233C(iVar13,afStack216[0],fStack160,fStack104,fStack48); - uVar5 = uVar6 & 0xffffff00 | uVar5 >> 0x18; - if (10.00000000 < afStack216[uVar5 * 0xe]) { - (&uStack208)[uVar5 * 0xe] = (&uStack208)[uVar5 * 0xe] | 0x200; - } - iVar4 = loc_7F0C21F4(iVar13,aiStack224[0],iStack168,iStack112,iStack56); - (&uStack208)[iVar4 * 0xe] = (&uStack208)[iVar4 * 0xe] | 0x400; - iVar4 = loc_7F0C2104(iVar13,aiStack224[0],iStack168,iStack112,iStack56); - if ((0 < aiStack224[iVar4 * 0xe]) && (((&uStack208)[iVar4 * 0xe] & 0x400) == 0)) { - (&uStack208)[iVar4 * 0xe] = (&uStack208)[iVar4 * 0xe] | 0x800; - } - iVar4 = loc_7F0C2104(iVar13,aiStack204[0],iStack148,iStack92,iStack36); - if (0 < aiStack204[iVar4 * 0xe]) { - (&uStack208)[iVar4 * 0xe] = (&uStack208)[iVar4 * 0xe] | 0x2000; - } - iVar4 = loc_7F0C21F4(iVar13,aiStack204[1],iStack144,iStack88,iStack32); - if (0 < aiStack204[iVar4 * 0xe + 1]) { - (&uStack208)[iVar4 * 0xe] = (&uStack208)[iVar4 * 0xe] | 0x1000; - } - uVar12 = 0; - if (0 < (longlong)uVar3) { - if ((uVar3 & 1) == 0) { - iVar4 = 0; - } - else { - uVar12 = 1; - if (_DAT_80079fb8 == 4) { - uStack208 |= 0x10000; - } - else { - if (_DAT_80079fb8 == 3) { - uStack208 |= 0x8000; - } - else { - if (_DAT_80079fb8 == 2) { - uStack208 |= 0x4000; - } - } - } - iVar4 = 8; - if (uVar3 == 1) goto LAB_7f0c39bc; - } - puVar11 = &DAT_80079f60 + (iVar4 - (int)uVar12) * 0x10; - do { - iVar4 = *(int *)(puVar11 + 0x58); - iVar13 = (int)uVar12; - if (iVar4 == 4) { - (&uStack208)[iVar13 * 0xe] = (&uStack208)[iVar13 * 0xe] | 0x10000; -LAB_7f0c3940: - iVar4 = *(int *)(puVar11 + 200); - } - else { - if (iVar4 == 3) { - (&uStack208)[iVar13 * 0xe] = (&uStack208)[iVar13 * 0xe] | 0x8000; - goto LAB_7f0c3940; - } - if (iVar4 == 2) { - (&uStack208)[iVar13 * 0xe] = (&uStack208)[iVar13 * 0xe] | 0x4000; - goto LAB_7f0c3940; - } - iVar4 = *(int *)(puVar11 + 200); - } - if (iVar4 == 4) { - (&uStack152)[iVar13 * 0xe] = (&uStack152)[iVar13 * 0xe] | 0x10000; - } - else { - if (iVar4 == 3) { - (&uStack152)[iVar13 * 0xe] = (&uStack152)[iVar13 * 0xe] | 0x8000; - } - else { - if (iVar4 == 2) { - (&uStack152)[iVar13 * 0xe] = (&uStack152)[iVar13 * 0xe] | 0x4000; - } - } - } - uVar12 = SEXT48(iVar13 + 2); - puVar11 = puVar11 + 0xe0; - } while (uVar12 != uVar3); - } -LAB_7f0c39bc: - uVar12 = 0; - if (0 < (longlong)uVar3) { - piVar9 = aiStack252; - do { - uVar8 = 0; - uVar6 = 0x10; - uVar5 = piVar9[0xb]; - while( true ) { - iVar4 = (int)uVar12; - if ((uVar5 & 1 << uVar6) != 0) { - piVar9[0xb] = uVar5 & ~(1 << uVar6); - uVar8 = 1; - iVar13 = FUN_7f0c2a88((uint)*(ushort *)(&DAT_80048670 + uVar6 * 2)); - *(int *)(*(int *)(&DAT_80079f50 + iVar4 * 4) + 0x2a10) = iVar13; - uVar5 = piVar9[0xb]; - } - if (uVar5 == 0) { - uVar8 = 1; - } - uVar6 = FUN_7000a460(); - uVar6 %= 0x11; - if (false) { - trap(0x1c00); - } - if (uVar8 != 0) break; - uVar5 = piVar9[0xb]; - } - if (uVar8 < 2) { - do { - uVar6 = FUN_7000a460(); - uVar6 %= 0x11; - uVar5 = piVar9[0xb]; - if (false) { - trap(0x1c00); - } - uVar12 = uVar8; - if ((uVar5 & 1 << uVar6) != 0) { - piVar9[0xb] = uVar5 & ~(1 << uVar6); - uVar12 = 2; - iVar13 = FUN_7f0c2a88((uint)*(ushort *)(&DAT_80048670 + uVar6 * 2)); - *(int *)(*(int *)(&DAT_80079f50 + iVar4 * 4) + 0x2a14) = iVar13; - uVar5 = piVar9[0xb]; - } - uVar8 = uVar12; - if (uVar5 == 0) { - uVar8 = 2; - } - } while (uVar5 != 0 && uVar12 < 2); - } - uVar12 = SEXT48(iVar4 + 1); - piVar9 = piVar9 + 0xe; - } while (uVar12 != uVar3); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0c41d0) overlaps instruction at (ram,0x7f0c41cc) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int ** FUN_7f0c3b30(void) - -{ - int iVar4; - ulonglong uVar1; - uint uVar5; - int **ppiVar6; - int **ppiVar7; - longlong lVar2; - ulonglong uVar3; - int *piVar8; - int **ppiVar9; - uint uVar10; - uint uVar11; - char cStack1; - - iVar4 = get_cur_playernum(); - uVar1 = get_num_players(); - cStack1 = (char)iVar4; - uVar5 = (uint)uVar1; - ppiVar6 = (int **)FUN_7000c518(cStack1,-2,1); - ppiVar7 = (int **)FUN_7f09c078(iVar4); - ppiVar9 = _DAT_8008c774; - if (((ppiVar7 == NULL) && (ppiVar7 = ppiVar9, 1 < (int)_DAT_8008c774)) && - (_DAT_8008c774 = (int **)((int)_DAT_8008c774 - DAT_800484c8), ppiVar7 = ppiVar9, - (int)_DAT_8008c774 < 1)) { - _DAT_8008c774 = (int **)0x1; - ppiVar7 = ppiVar9; - } - if (uVar5 == 1) { - return ppiVar7; - } - if ((*(int *)(_DAT_8007a120 + 0xd8) != 0) && (_DAT_8008c774 == NULL)) { - *(undefined4 *)(_DAT_8007a120 + 0x29c4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a00) = 0; - return NULL; - } - if (1 < (int)_DAT_8008c774) { - return _DAT_8008c774; - } - iVar4 = FUN_7f09c078(iVar4); - if (iVar4 == 0) { - _DAT_8008c77c += DAT_800484c8; - _DAT_8008c784 += DAT_800484c8; - if (0x13 < _DAT_8008c77c) { - _DAT_8008c77c += -0x14; - _DAT_8008c778 = (uint)(_DAT_8008c778 == 0); - } - if (0x77 < _DAT_8008c784) { - _DAT_8008c784 += -0x78; - _DAT_8008c780 = (uint)(_DAT_8008c780 == 0); - } - } - if (*(int *)(_DAT_8007a124 + 0x54) < *(int *)(_DAT_8007a120 + 0x29f8)) { - *(int *)(_DAT_8007a124 + 0x54) = *(int *)(_DAT_8007a120 + 0x29f8); - } - iVar4 = FUN_7f08c840(); - if (*(int *)(_DAT_8007a124 + 0x4c) < iVar4 - *(int *)(_DAT_8007a120 + 0x29f4)) { - iVar4 = FUN_7f08c840(); - *(int *)(_DAT_8007a124 + 0x4c) = iVar4 - *(int *)(_DAT_8007a120 + 0x29f4); - iVar4 = *(int *)(_DAT_8007a120 + 0x29c4); - } - else { - iVar4 = *(int *)(_DAT_8007a120 + 0x29c4); - } - if (iVar4 == 0) { - uVar1 = FUN_7000c410(cStack1,0x1000); - if (uVar1 == 0) { - return (int **)uVar1; - } - ppiVar9 = FUN_7f0c2c8c(); - *(undefined4 *)(_DAT_8007a120 + 0x29c4) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x29c8) = 3; - *(undefined4 *)(_DAT_8007a120 + 0x29d0) = 1; - *(undefined4 *)(_DAT_8007a120 + 0xec) = *(undefined4 *)(_DAT_8007a120 + 0xdc); - *(undefined4 *)(_DAT_8007a120 + 0xf0) = *(undefined4 *)(_DAT_8007a120 + 0xe0); - return ppiVar9; - } - lVar2 = FUN_7f0c2ba8(cStack1); - if ((lVar2 != 0) && (lVar2 = FUN_7f0c2ad0(), lVar2 != 0)) { - FUN_7f0c2c8c(); - *(int *)(_DAT_8007a120 + 0x29c8) = *(int *)(_DAT_8007a120 + 0x29c8) + 1; - goto LAB_7f0c41bc; - } - lVar2 = FUN_7f0c2c18(cStack1); - if ((lVar2 != 0) && (lVar2 = FUN_7f0c2b3c(), lVar2 != 0)) { - FUN_7f0c2c8c(); - *(int *)(_DAT_8007a120 + 0x29c8) = *(int *)(_DAT_8007a120 + 0x29c8) + -1; - goto LAB_7f0c41bc; - } - lVar2 = FUN_7f0c2ba8(cStack1); - if ((lVar2 != 0) && (*(int *)(_DAT_8007a120 + 0x29c8) == 6)) { - FUN_7f0c2c8c(); - *(undefined4 *)(_DAT_8007a120 + 0x29cc) = 1; - goto LAB_7f0c41bc; - } - lVar2 = FUN_7f0c2c18(cStack1); - if ((lVar2 != 0) && (*(int *)(_DAT_8007a120 + 0x29c8) == 6)) { - FUN_7f0c2c8c(); - *(undefined4 *)(_DAT_8007a120 + 0x29cc) = 0; - goto LAB_7f0c41bc; - } - uVar3 = FUN_7000c410(cStack1,0x8000); - if ((uVar3 != 0) && (*(int *)(_DAT_8007a120 + 0x29c8) == 4)) { - FUN_7f0c2c8c(); - if (_DAT_8008c788 == 0) { - _DAT_8008c788 = 1; - _DAT_8008c78c = get_cur_playernum(); - FUN_7f0c0830(1); - } - else { - iVar4 = get_cur_playernum(); - if (iVar4 == _DAT_8008c78c) { - _DAT_8008c788 = 0; - FUN_7f0c0830(0); - } - } - goto LAB_7f0c41bc; - } - if (*(int *)(_DAT_8007a120 + 0x29c8) == 7) { - uVar1 = FUN_7000c410(cStack1,0x4000); - if (uVar1 != 0) { - FUN_7f0c2c8c(); - *(undefined4 *)(_DAT_8007a120 + 0x29c4) = 1; - *(undefined4 *)(_DAT_8007a120 + 0x29c8) = 3; - } - goto LAB_7f0c41bc; - } - uVar3 = FUN_7000c410(cStack1,0x9000); - if (((uVar3 == 0) || - (((iVar4 = *(int *)(_DAT_8007a120 + 0x29c8), iVar4 == 5 || (iVar4 == 6)) && - ((iVar4 != 6 || (*(int *)(_DAT_8007a120 + 0x29cc) == 1)))))) && - (uVar3 = FUN_7000c410(cStack1,0x4000), uVar3 == 0)) { - uVar1 = FUN_7000c410(cStack1,0x9000); - if ((uVar1 == 0) || (*(int *)(_DAT_8007a120 + 0x29c8) != 5)) { - uVar1 = FUN_7000c410(cStack1,0x9000); - if ((uVar1 != 0) && - ((*(int *)(_DAT_8007a120 + 0x29c8) == 6 && (*(int *)(_DAT_8007a120 + 0x29cc) == 1)))) { - FUN_7f0c2c8c(); - *(undefined4 *)(_DAT_8007a120 + 0x29c4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a00) = 0; - loc_7F0C2E50(0); - } - } - else { - FUN_7f0c2c8c(); - *(undefined4 *)(_DAT_8007a120 + 0x29c8) = 6; - *(undefined4 *)(_DAT_8007a120 + 0x29cc) = 0; - } - goto LAB_7f0c41bc; - } - FUN_7f0c2c8c(); - if (_DAT_8008c774 == NULL) { - *(undefined4 *)(_DAT_8007a120 + 0x29c4) = 0; - *(undefined4 *)(_DAT_8007a120 + 0x2a00) = 0x3c; - iVar4 = get_cur_playernum(); - if (iVar4 == _DAT_8008c78c) { - _DAT_8008c788 = 0; - FUN_7f0c0830(0); - } - goto LAB_7f0c41bc; - } - uVar10 = 0; - uVar11 = 0; - *(undefined4 *)(_DAT_8007a120 + 0x29c8) = 7; - if (0 < (int)uVar5) { - if ((uVar1 & 3) != 0) { - piVar8 = (int *)&DAT_80079f50; - do { - uVar11 += 1; - if (*(int *)(*piVar8 + 0x29c8) == 7) { - uVar10 += 1; - } - piVar8 = piVar8 + 1; - } while ((uVar5 & 3) != uVar11); - if (uVar11 == uVar5) goto LAB_7f0c40a8; - } - piVar8 = (int *)(&DAT_80079f50 + uVar11 * 4); - iVar4 = *piVar8; - while( true ) { - if (*(int *)(iVar4 + 0x29c8) == 7) { - uVar10 += 1; - iVar4 = piVar8[1]; - } - else { - iVar4 = piVar8[1]; - } - if (*(int *)(iVar4 + 0x29c8) == 7) { - uVar10 += 1; - iVar4 = piVar8[2]; - } - else { - iVar4 = piVar8[2]; - } - if (*(int *)(iVar4 + 0x29c8) == 7) { - uVar10 += 1; - iVar4 = piVar8[3]; - } - else { - iVar4 = piVar8[3]; - } - piVar8 = piVar8 + 4; - if (*(int *)(iVar4 + 0x29c8) == 7) { - uVar10 += 1; - } - if (piVar8 == (int *)(&DAT_80079f50 + uVar5 * 4)) break; - iVar4 = *piVar8; - } - } -LAB_7f0c40a8: - if (uVar10 == uVar5) { - FUN_70006950(0x5a); - } -LAB_7f0c41bc: - if ((ppiVar6 == NULL) || (ppiVar6 == (int **)0xffffffff)) { - *(undefined4 *)(_DAT_8007a120 + 0x29d0) = 1; - } - else { - *(undefined4 *)(_DAT_8007a120 + 0x29d0) = 0; - } - return ppiVar6; -} - - - -uint * def_7F0C362C(uint *param_1,int param_2,uint param_3,uint param_4,undefined4 param_5) - -{ - short sVar1; - short sVar2; - byte abStack24 [8]; - int iStack16; - int iStack12; - uint uStack8; - uint uStack4; - - sprintf((int)abStack24,(byte *)s__d_8005bc60,param_4,param_4); - loc_7F0AEB50(&iStack16,&iStack12,abStack24,DAT_80040ee0,DAT_80040edc,0); - uStack4 = param_2 - (iStack12 >> 1); - switch(param_5) { - case 0: - uStack8 = param_3; - sVar1 = get_video2_settings_txtClipW(); - sVar2 = get_video2_settings_txtClipH(); - param_1 = loc_7F0ADD78(param_1,(int *)&uStack4,(int *)&uStack8,abStack24,DAT_80040ee0, - (int)DAT_80040edc,0xff00b0,(int)sVar1,(int)sVar2,0,0); - break; - case 1: - uStack8 = param_3; - sVar1 = get_video2_settings_txtClipW(); - sVar2 = get_video2_settings_txtClipH(); - param_1 = loc_7F0AE958(param_1,&uStack4,&uStack8,abStack24,DAT_80040ee0,(int)DAT_80040edc, - 0xa0ffa0f0,0x7000a0,(int)sVar1,(int)sVar2,0,0); - break; - case 2: - uStack8 = param_3; - sVar1 = get_video2_settings_txtClipW(); - sVar2 = get_video2_settings_txtClipH(); - param_1 = loc_7F0ADD78(param_1,(int *)&uStack4,(int *)&uStack8,abStack24,DAT_80040ee0, - (int)DAT_80040edc,0xff4040b0,(int)sVar1,(int)sVar2,0,0); - break; - case 3: - uStack8 = param_3; - sVar1 = get_video2_settings_txtClipW(); - sVar2 = get_video2_settings_txtClipH(); - param_1 = loc_7F0AE958(param_1,&uStack4,&uStack8,abStack24,DAT_80040ee0,(int)DAT_80040edc, - 0xffa0a0f0,0x700000a0,(int)sVar1,(int)sVar2,0,0); - break; - case 4: - uStack8 = param_3; - sVar1 = get_video2_settings_txtClipW(); - sVar2 = get_video2_settings_txtClipH(); - param_1 = loc_7F0ADD78(param_1,(int *)&uStack4,(int *)&uStack8,abStack24,DAT_80040ee0, - (int)DAT_80040edc,0x4040ffb0,(int)sVar1,(int)sVar2,0,0); - break; - case 5: - uStack8 = param_3; - sVar1 = get_video2_settings_txtClipW(); - sVar2 = get_video2_settings_txtClipH(); - param_1 = loc_7F0AE958(param_1,&uStack4,&uStack8,abStack24,DAT_80040ee0,(int)DAT_80040edc, - 0xa0a0fff0,0x70a0,(int)sVar1,(int)sVar2,0,0); - } - return param_1; -} - - - -// WARNING: Instruction at (ram,0x7f0c4870) overlaps instruction at (ram,0x7f0c486c) -// - -int FUN_7f0c4588(uint param_1) - -{ - char *pcVar1; - char cVar2; - int iVar3; - int iVar4; - int iVar5; - ulonglong uVar6; - undefined4 uVar7; - undefined *puVar8; - undefined *puVar9; - int iVar10; - uint uVar11; - int iVar12; - uint uVar13; - undefined *puVar14; - int iVar15; - - iVar15 = param_1 * 0x70; - cVar2 = (&DAT_80079fc9)[iVar15]; - uVar6 = get_num_players(); - uVar7 = (uint)uVar6; - uVar7 = FUN_7f014808(); - iVar10 = 0; - switch(uVar7) { - case 0: - case 3: - case 4: - uVar13 = 0; - if (0 < (int)uVar7) { - if ((uVar6 & 3) != 0) { - do { - if (uVar13 == param_1) { - iVar12 = -*(int *)(&DAT_80079f84 + uVar13 * 0x70 + param_1 * 4); - } - else { - iVar12 = *(int *)(&DAT_80079f84 + param_1 * 0x70 + uVar13 * 4); - } - iVar10 += iVar12; - uVar13 += 1; - } while ((uVar7 & 3) != uVar13); - if (uVar13 == uVar7) goto LAB_7f0c47a8; - } - do { - if (uVar13 == param_1) { - iVar12 = -*(int *)(&DAT_80079f84 + uVar13 * 0x70 + param_1 * 4); - } - else { - iVar12 = *(int *)(&DAT_80079f84 + param_1 * 0x70 + uVar13 * 4); - } - if (uVar13 == param_1 - 1) { - iVar3 = -*(int *)(&DAT_80079ff4 + uVar13 * 0x70 + param_1 * 4); - } - else { - iVar3 = *(int *)(&DAT_80079f88 + param_1 * 0x70 + uVar13 * 4); - } - if (uVar13 == param_1 - 2) { - iVar4 = -*(int *)(&DAT_8007a064 + uVar13 * 0x70 + param_1 * 4); - } - else { - iVar4 = *(int *)(&DAT_80079f8c + param_1 * 0x70 + uVar13 * 4); - } - if (uVar13 == param_1 - 3) { - iVar5 = -*(int *)(&DAT_8007a0d4 + uVar13 * 0x70 + param_1 * 4); - } - else { - iVar5 = *(int *)(&DAT_80079f90 + param_1 * 0x70 + uVar13 * 4); - } - iVar10 = iVar10 + iVar12 + iVar3 + iVar4 + iVar5; - uVar13 += 4; - } while (uVar13 != uVar7); - } -LAB_7f0c47a8: - iVar10 += *(int *)(iVar15 + -0x7ff86080) * (uVar7 - 2); - break; - case 1: - iVar10 = 4 - (uint)(byte)(&DAT_80079fc8)[iVar15]; - break; - case 2: - iVar10 = *(int *)(&DAT_80079fc0 + iVar15); - break; - case 5: - case 6: - case 7: - uVar13 = 0; - if (0 < (int)uVar7) { - puVar14 = &DAT_80079f60; - do { - if ((cVar2 == puVar14[0x69]) && (uVar11 = 0, 0 < (int)uVar7)) { - if ((uVar6 & 3) == 0) { - iVar15 = 0; - } - else { - puVar9 = &DAT_80079f60; - puVar8 = &DAT_80079f60 + uVar13 * 0x70; - do { - pcVar1 = puVar9 + 0x69; - uVar11 += 1; - puVar9 = puVar9 + 0x70; - if (cVar2 == *pcVar1) { - iVar15 = -*(int *)(puVar8 + 0x24); - } - else { - iVar15 = *(int *)(puVar8 + 0x24); - } - iVar10 += iVar15; - puVar8 = puVar8 + 4; - } while ((uVar7 & 3) != uVar11); - iVar15 = uVar11 * 8; - if (uVar11 == uVar7) goto LAB_7f0c4928; - } - iVar12 = uVar11 * 4; - puVar9 = &DAT_80079f60 + uVar13 * 0x70 + iVar12; - puVar8 = &DAT_80079f60 + (iVar15 - uVar11) * 0x10; - do { - iVar12 += 0x10; - if (cVar2 == puVar8[0x69]) { - iVar15 = -*(int *)(puVar9 + 0x24); - } - else { - iVar15 = *(int *)(puVar9 + 0x24); - } - if (cVar2 == puVar8[0xd9]) { - iVar3 = -*(int *)(puVar9 + 0x28); - } - else { - iVar3 = *(int *)(puVar9 + 0x28); - } - if (cVar2 == puVar8[0x149]) { - iVar4 = -*(int *)(puVar9 + 0x2c); - } - else { - iVar4 = *(int *)(puVar9 + 0x2c); - } - pcVar1 = puVar8 + 0x1b9; - puVar8 = puVar8 + 0x1c0; - if (cVar2 == *pcVar1) { - iVar5 = -*(int *)(puVar9 + 0x30); - } - else { - iVar5 = *(int *)(puVar9 + 0x30); - } - iVar10 = iVar10 + iVar15 + iVar3 + iVar4 + iVar5; - puVar9 = puVar9 + 0x10; - } while (iVar12 != uVar7 << 2); - } -LAB_7f0c4928: - uVar13 += 1; - puVar14 = puVar14 + 0x70; - } while (uVar13 != uVar7); - } - } - return iVar10; -} - - - -// WARNING: Instruction at (ram,0x7f0c4a10) overlaps instruction at (ram,0x7f0c4a0c) -// - -byte * FUN_7f0c4944(int param_1,uint param_2) - -{ - int iVar1; - undefined4 uVar2; - undefined4 uVar3; - ulonglong uVar4; - int iVar5; - byte *pbVar6; - int *piVar7; - uint uVar8; - uint *puVar9; - int iVar10; - uint extraout_a2_lo; - uint extraout_a2_lo_00; - uint extraout_a2_lo_01; - uint extraout_a2_lo_02; - uint extraout_a2_lo_03; - uint extraout_a2_lo_04; - int iVar11; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined4 extraout_a3_lo_04; - ulonglong uVar12; - int *piVar13; - longlong lVar14; - int iVar15; - uint uStack40; - uint uStack36; - int aiStack24 [4]; - int iStack8; - byte *pbStack4; - - pbStack4 = (byte *)FUN_7f014808(); - uVar4 = get_num_players(); - lVar14 = 0; - if (0 < (longlong)uVar4) { - puVar9 = &uStack40; - piVar7 = aiStack24; - do { - iStack8 = (int)uVar4; - uVar8 = (uint)lVar14; - iVar5 = FUN_7f0c4588(uVar8); - uVar4 = SEXT48(iStack8); - *puVar9 = uVar8; - lVar14 = (longlong)(int)(uVar8 + 1); - puVar9 = puVar9 + 1; - *piVar7 = iVar5; - piVar7 = piVar7 + 1; - } while (lVar14 < (longlong)uVar4); - } - uVar12 = 0; - if (0 < (longlong)uVar4) { - iVar5 = (int)uVar4 + -1; - do { - uVar8 = uStack40; - iVar15 = 0; - uVar12 = SEXT48((int)uVar12 + 1); - if (0 < iVar5) { - if (((int)uVar4 - 1U & 1) != 0) { - iVar15 = 1; - iVar11 = aiStack24[0]; - if (aiStack24[0] < aiStack24[1]) { - uStack40 = uStack36; - uStack36 = uVar8; - iVar11 = aiStack24[1]; - aiStack24[1] = aiStack24[0]; - } - aiStack24[0] = iVar11; - if (iVar5 == 1) goto LAB_7f0c4aa4; - } - iVar11 = iVar15 * 4; - piVar7 = aiStack24 + iVar15; - do { - iVar15 = *piVar7; - iVar1 = piVar7[1]; - if (iVar15 < iVar1) { - uVar2 = *(undefined4 *)((int)&uStack40 + iVar11 + 4); - uVar3 = *(undefined4 *)((int)&uStack40 + iVar11); - *piVar7 = iVar1; - piVar7[1] = iVar15; - *(undefined4 *)((int)&uStack40 + iVar11) = uVar2; - *(undefined4 *)((int)&uStack40 + iVar11 + 4) = uVar3; - iVar10 = piVar7[2]; - } - else { - iVar10 = piVar7[2]; - iVar15 = iVar1; - } - if (iVar15 < iVar10) { - uVar2 = *(undefined4 *)((int)&uStack40 + iVar11 + 8); - uVar3 = *(undefined4 *)((int)&uStack40 + iVar11 + 4); - piVar7[2] = iVar15; - piVar7[1] = iVar10; - *(undefined4 *)((int)&uStack40 + iVar11 + 4) = uVar2; - *(undefined4 *)((int)&uStack40 + iVar11 + 8) = uVar3; - } - piVar7 = piVar7 + 2; - iVar11 += 8; - } while (piVar7 != aiStack24 + iVar5); - } -LAB_7f0c4aa4: - } while (uVar12 != uVar4); - } - uVar12 = 0; - iVar5 = 0; - puVar9 = &uStack40; - if (0 < (longlong)uVar4) { - do { - if (param_2 == *puVar9) break; - uVar12 = SEXT48((int)uVar12 + 1); - puVar9 = puVar9 + 1; - } while (uVar12 != uVar4); - } - if (-1 < (longlong)uVar12) { - piVar7 = aiStack24; - piVar13 = piVar7 + (int)uVar12; - do { - if (*piVar7 == *piVar13) break; - iVar5 += 1; - piVar7 = piVar7 + 1; - } while ((int)uVar12 + 1 != iVar5); - } - if (iVar5 == 0) { - pbVar6 = (byte *)FUN_7f0c2a88(0xa011); - pbStack4 = sprintf(param_1,pbVar6,extraout_a2_lo,extraout_a3_lo); - } - else { - if (iVar5 == 1) { - pbVar6 = (byte *)FUN_7f0c2a88(0xa012); - pbStack4 = sprintf(param_1,pbVar6,extraout_a2_lo_00,extraout_a3_lo_00); - } - else { - if (iVar5 == 2) { - if ((pbStack4 == (byte *)0x5) || (pbStack4 == (byte *)0x7)) { - pbVar6 = (byte *)FUN_7f0c2a88(0xa012); - pbStack4 = sprintf(param_1,pbVar6,extraout_a2_lo_02,extraout_a3_lo_02); - } - else { - pbVar6 = (byte *)FUN_7f0c2a88(0xa013); - pbStack4 = sprintf(param_1,pbVar6,extraout_a2_lo_01,extraout_a3_lo_01); - } - } - else { - if (iVar5 == 3) { - if (pbStack4 == (byte *)0x6) { - pbVar6 = (byte *)FUN_7f0c2a88(0xa012); - pbStack4 = sprintf(param_1,pbVar6,extraout_a2_lo_04,extraout_a3_lo_04); - } - else { - pbVar6 = (byte *)FUN_7f0c2a88(0xa014); - pbStack4 = sprintf(param_1,pbVar6,extraout_a2_lo_03,extraout_a3_lo_03); - } - } - } - } - } - return pbStack4; -} - - - -undefined8 FUN_7f0c4c0c(int param_1) - -{ - undefined4 uVar2; - undefined8 uVar1; - - uVar2 = FUN_7f014808(); - switch(uVar2) { - case 0: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - uVar1 = 1; - break; - case 1: - if (param_1 == 0) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - break; - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - return uVar1; -} - - - -undefined8 FUN_7f0c4c7c(void) - -{ - undefined4 uVar2; - undefined8 uVar1; - - uVar2 = FUN_7f014808(); - switch(uVar2) { - case 0: - case 3: - case 4: - case 5: - case 6: - case 7: - uVar1 = 1; - break; - case 1: - case 2: - uVar1 = 0; - break; - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - return uVar1; -} - - - -// WARNING: Heritage AFTER dead removal. Example location: r0x80079ff8 : 0x7f0c6274 -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Restarted to delay deadcode elimination for space: ram - -uint * FUN_7f0c4cd4(uint *param_1) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int *piVar4; - bool bVar5; - ulonglong uVar6; - longlong lVar7; - uint uVar8; - int iVar9; - uint *puVar10; - undefined4 *puVar11; - byte *pbVar12; - short sVar13; - short sVar14; - undefined *puVar15; - int iVar16; - ulonglong uVar17; - uint *puStack148; - int iStack136; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack96; - int iStack92; - int iStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - uint uStack72; - uint uStack68; - uint uStack64; - uint uStack60; - uint uStack56; - char *pcStack52; - int iStack48; - byte abStack44 [16]; - int iStack28; - int aiStack24 [2]; - uint uStack16; - uint uStack12; - uint uStack8; - uint uStack4; - - uStack4 = get_cur_playernum(); - uVar6 = get_num_players(); - bVar5 = false; - if (uVar6 == 1) { - return param_1; - } - if (*(int *)(_DAT_8007a120 + 0x29c4) == 0) { - if (*(int *)(_DAT_8007a120 + 0xd8) == 0) { - return param_1; - } - if (*(int *)(_DAT_8007a120 + 0x428) == 0) { - return param_1; - } - if (*(int *)(_DAT_8007a120 + 0x424) == 0) { - return param_1; - } - if (_DAT_8008c770 != 0) { - return param_1; - } - iVar16 = 0; - if (_DAT_8008c774 != 0) { - return param_1; - } - uVar17 = 0; - if (0 < (longlong)uVar6) { - if ((uVar6 & 3) != 0) { - puVar15 = &DAT_80079f60 + uStack4 * 4; - do { - piVar1 = (int *)(puVar15 + 0x24); - uVar17 = SEXT48((int)uVar17 + 1); - puVar15 = puVar15 + 0x70; - iVar16 += *piVar1; - } while ((uVar6 & 3) != uVar17); - if (uVar17 == uVar6) goto LAB_7f0c6bbc; - } - puVar15 = &DAT_80079f60 + (int)uVar17 * 0x70 + uStack4 * 4; - do { - piVar1 = (int *)(puVar15 + 0x24); - piVar2 = (int *)(puVar15 + 0x94); - piVar3 = (int *)(puVar15 + 0x104); - piVar4 = (int *)(puVar15 + 0x174); - uVar17 = SEXT48((int)uVar17 + 4); - puVar15 = puVar15 + 0x1c0; - iVar16 = iVar16 + *piVar1 + *piVar2 + *piVar3 + *piVar4; - } while (uVar17 != uVar6); - } -LAB_7f0c6bbc: - iVar9 = FUN_7f014808(); - if ((iVar9 == 1) && (1 < iVar16)) { - return param_1; - } - puVar10 = FUN_7f0b5b64(param_1); - puVar11 = loc_7F0ACED4(puVar10); - pbVar12 = (byte *)FUN_7f0c2a88(0xa022); - loc_7F0AEB50(&iStack116,&iStack112,pbVar12,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - sVar14 = FUN_7000449c(); - iStack104 = (((int)sVar14 >> 1) + (int)sVar13) - (iStack112 >> 1); - sVar13 = get_video2_settings_uly(); - sVar14 = get_video2_settings_height(); - iStack108 = (((int)sVar14 >> 1) + (int)sVar13) - (iStack116 >> 1); - puVar11 = microcode_constructor_related_to_menus - (puVar11,(longlong)(iStack104 + -1),(longlong)(iStack108 + -1), - (longlong)(iStack104 + iStack112 + 1),iStack108 + iStack116 + 1,0); - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar11,&iStack104,&iStack108,pbVar12,DAT_80040ee0,(int)DAT_80040edc, - 0xff00b0,(int)sVar13,(int)sVar14,0,0); - puVar10 = combiner_bayer_lod_perspective(puVar10); - return puVar10; - } - uStack8 = (uint)uVar6; - puVar10 = loc_7F0ACED4(param_1); - if (uStack8 == 2) { - iStack48 = 0x50; - } - else { - iStack48 = 0; - } - switch(*(undefined4 *)(_DAT_8007a120 + 0x29c8)) { - case 0: - case 1: - case 2: - case 3: - if (_DAT_8008c774 == 0) { - pcStack52 = (char *)FUN_7f0c2a88(0xa015); - } - else { - if (_DAT_8008c780 == 0) { - pcStack52 = (char *)FUN_7f0c2a88(0xa017); - } - else { - pcStack52 = (char *)FUN_7f0c2a88(0xa016); - } - } - break; - case 4: - if (_DAT_8008c788 == 0) { - pcStack52 = (char *)FUN_7f0c2a88(0xa019); - } - else { - pcStack52 = (char *)FUN_7f0c2a88(0xa018); - iVar16 = get_cur_playernum(); - if (iVar16 == _DAT_8008c78c) { - bVar5 = true; - } - } - break; - case 5: - case 6: - pcStack52 = (char *)FUN_7f0c2a88(0xa01a); - sVar13 = FUN_70004514(); - uStack12 = (int)sVar13 + iStack48 + 0x41; - break; - case 7: - pcStack52 = s__8005bc64; - } - loc_7F0AEB50(&iStack28,aiStack24,(byte *)pcStack52,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x16; - if (bVar5) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0AE958(puVar10,&uStack12,&uStack16,(byte *)pcStack52,DAT_80040ee0, - (int)DAT_80040edc,0xa0ffa0f0,0x7000a0,(int)sVar13,(int)sVar14,0,0); - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52,DAT_80040ee0, - (int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - } - lVar7 = FUN_7f0c2b3c(); - if (lVar7 != 0) { - sVar13 = FUN_70004514(); - if (_DAT_8008c774 == 0) { - iStack136 = 0; - } - else { - iStack136 = 10; - } - iStack136 = ((int)sVar13 + iStack48) - iStack136; - uStack12 = iStack136 + 0x28; - if (_DAT_8008c774 != 0) { - uStack12 = iStack136 + 0x20; - } - sVar13 = get_video2_settings_uly(); - uStack16 = (int)sVar13 + 0x16; - if (_DAT_8008c778 == 0) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)s___8005bc68, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0AE958(puVar10,&uStack12,&uStack16,(byte *)s___8005bc68,DAT_80040ee0, - (int)DAT_80040edc,0xa0ffa0f0,0x7000a0,(int)sVar13,(int)sVar14,0,0); - } - } - lVar7 = FUN_7f0c2ad0(); - if (lVar7 != 0) { - sVar13 = FUN_70004514(); - if (_DAT_8008c774 == 0) { - iStack136 = 0; - } - else { - iStack136 = 10; - } - iVar16 = iStack136 + (int)sVar13 + iStack48; - uStack12 = iVar16 + 0x70; - if (_DAT_8008c774 != 0) { - uStack12 = iVar16 + 0x78; - } - sVar13 = get_video2_settings_uly(); - uStack16 = (int)sVar13 + 0x16; - if (_DAT_8008c778 == 0) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)s___8005bc6c, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0AE958(puVar10,&uStack12,&uStack16,(byte *)s___8005bc6c,DAT_80040ee0, - (int)DAT_80040edc,0xa0ffa0f0,0x7000a0,(int)sVar13,(int)sVar14,0,0); - } - } - iVar16 = *(int *)(_DAT_8007a120 + 0x29c8); - if ((iVar16 == 3) || (iVar16 == 4)) { - uVar8 = 0; - if (0 < (int)uStack8) { - puStack148 = &uStack68; - do { - uStack72 = uVar8; - uVar8 = FUN_7f0c4588(uVar8); - *puStack148 = uVar8; - uVar8 = uStack72 + 1; - puStack148 = puStack148 + 1; - } while (uVar8 != uStack8); - } - lVar7 = FUN_7f0c4c0c((uint)(_DAT_8008c774 == 0 && _DAT_8008c770 == 0)); - if (lVar7 != 0) { - FUN_7f0c4944((int)abStack44,uStack4); - loc_7F0AEB50(&iStack28,aiStack24,abStack44,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x25; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,abStack44,DAT_80040ee0, - (int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - } - lVar7 = FUN_7f0c4c7c(); - if (lVar7 != 0) { - iStack88 = FUN_7f014808(); - pcStack52 = (char *)FUN_7f0c2a88(0xa01b); - loc_7F0AEB50(&iStack28,aiStack24,(byte *)pcStack52,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x35; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - if ((((iStack88 == 5) || (iStack88 == 6)) || (iStack88 == 7)) || - ((iStack88 == 2 || (iStack88 == 3)))) { - if ((&DAT_80079fc9)[uStack4 * 0x70] == '\0') { - uStack76 = 3; - uStack80 = 2; - uStack84 = 4; - } - else { - uStack76 = 5; - uStack80 = 4; - uStack84 = 2; - } - } - else { - uStack76 = 1; - uStack80 = 0; - uStack84 = 0; - } - if (uStack8 == 2) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 0) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_80079fc9 == (&DAT_80079fc9)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x50,(int)sVar14 + 0x46,uStack68, - iStack136); - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 1) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_8007a039 == (&DAT_80079fc9)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x50,(int)sVar14 + 0x56,uStack64, - iStack136); - } - else { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 0) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_80079fc9 == (&DAT_80079fc9)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x40,(int)sVar14 + 0x46,uStack68, - iStack136); - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 1) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_8007a039 == (&DAT_80079fc9)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x60,(int)sVar14 + 0x46,uStack64, - iStack136); - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 2) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_8007a0a9 == (&DAT_80079fc9)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x40,(int)sVar14 + 0x56,uStack60, - iStack136); - if (uStack8 == 4) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 3) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (DAT_8007a119 == (&DAT_80079fc9)[uStack4 * 0x70]) { - iStack136 = uStack80; - } - } - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x60,(int)sVar14 + 0x56,uStack56, - iStack136); - } - } - } - } - else { - if (iVar16 == 2) { - lVar7 = FUN_7f0c4c0c((uint)(_DAT_8008c774 == 0 && _DAT_8008c770 == 0)); - if (lVar7 != 0) { - FUN_7f0c4944((int)abStack44,uStack4); - loc_7F0AEB50(&iStack28,aiStack24,abStack44,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x25; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,abStack44,DAT_80040ee0, - (int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - } - uVar8 = FUN_7f0c2a88(0xa01c); - FUN_7f0c2a88(0xa01d); - sprintf((int)abStack44,(byte *)s__s_d__s_8005bc70,uVar8,uStack4 + 1); - loc_7F0AEB50(&iStack28,aiStack24,abStack44,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x35; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,abStack44,DAT_80040ee0, - (int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - if (uStack8 == 2) { - if (uStack4 != 0) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x50,(int)sVar14 + 0x46, - *(uint *)(&DAT_80079f84 + uStack4 * 0x70),0); - } - if (uStack4 != 1) { - iVar16 = uStack4 * 0x70; - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x50,(int)sVar14 + 0x56, - *(uint *)(&DAT_80079f88 + iVar16),0); - } - } - else { - if (uStack4 != 0) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x40,(int)sVar14 + 0x46, - *(uint *)(&DAT_80079f84 + uStack4 * 0x70),0); - } - if (uStack4 != 1) { - iVar16 = uStack4 * 0x70; - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x60,(int)sVar14 + 0x46, - *(uint *)(&DAT_80079f88 + iVar16),0); - } - if (uStack4 != 2) { - iVar16 = uStack4 * 0x70; - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x40,(int)sVar14 + 0x56, - *(uint *)(&DAT_80079f8c + iVar16),0); - } - if ((uStack8 == 4) && (uStack4 != 3)) { - iVar16 = uStack4 * 0x70; - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x60,(int)sVar14 + 0x56, - *(uint *)(&DAT_80079f90 + iVar16),0); - } - } - } - else { - if (iVar16 == 1) { - lVar7 = FUN_7f0c4c0c((uint)(_DAT_8008c774 == 0 && _DAT_8008c770 == 0)); - if (lVar7 != 0) { - FUN_7f0c4944((int)abStack44,uStack4); - loc_7F0AEB50(&iStack28,aiStack24,abStack44,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x25; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,abStack44,DAT_80040ee0, - (int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - } - uVar8 = FUN_7f0c2a88(0xa01c); - FUN_7f0c2a88(0xa01e); - sprintf((int)abStack44,(byte *)s__s_d__s_8005bc78,uVar8,uStack4 + 1); - loc_7F0AEB50(&iStack28,aiStack24,abStack44,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x35; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,abStack44,DAT_80040ee0, - (int)DAT_80040edc,0xff4040b0,(int)sVar13,(int)sVar14,0,0); - if (uStack8 == 2) { - if (uStack4 == 0) { - if (0 < _DAT_80079f84) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x50,(int)sVar14 + 0x46, - *(uint *)(&DAT_80079f84 + uStack4 * 4),3); - } - } - else { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x50,(int)sVar14 + 0x46, - *(uint *)(&DAT_80079f84 + uStack4 * 4),0); - } - if (uStack4 == 1) { - if (0 < (int)_DAT_80079ff8) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x50,(int)sVar14 + 0x56, - _DAT_80079ff8,3); - } - } - else { - iVar16 = uStack4 * 4; - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x50,(int)sVar14 + 0x56, - *(uint *)(&DAT_80079ff4 + iVar16),0); - } - } - else { - if (uStack4 == 0) { - if (0 < _DAT_80079f84) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x40,(int)sVar14 + 0x46, - *(uint *)(&DAT_80079f84 + uStack4 * 4),3); - } - } - else { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x40,(int)sVar14 + 0x46, - *(uint *)(&DAT_80079f84 + uStack4 * 4),0); - } - iVar16 = uStack4 * 4; - if (uStack4 == 1) { - if (0 < (int)_DAT_80079ff8) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x60,(int)sVar14 + 0x46, - _DAT_80079ff8,3); - } - } - else { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x60,(int)sVar14 + 0x46, - *(uint *)(&DAT_80079ff4 + iVar16),0); - } - iVar16 = uStack4 * 4; - if (uStack4 == 2) { - if (0 < (int)_DAT_8007a06c) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x40,(int)sVar14 + 0x56, - _DAT_8007a06c,3); - } - } - else { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x40,(int)sVar14 + 0x56, - *(uint *)(&DAT_8007a064 + iVar16),0); - } - if (uStack8 == 4) { - iVar16 = uStack4 * 4; - if (uStack4 == 3) { - if (0 < (int)_DAT_8007a0e0) { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x60,(int)sVar14 + 0x56, - _DAT_8007a0e0,3); - } - } - else { - sVar13 = FUN_70004514(); - sVar14 = get_video2_settings_uly(); - puVar10 = def_7F0C362C(puVar10,(int)sVar13 + iStack48 + 0x60,(int)sVar14 + 0x56, - *(uint *)(&DAT_8007a0d4 + iVar16),0); - } - } - } - } - else { - if (iVar16 != 0) { - iVar16 = *(int *)(_DAT_8007a120 + 0x29c8); - goto LAB_7f0c67f8; - } - iStack100 = iStack48; - if (2 < (int)uStack8) { - iStack100 = iStack48 + 7; - if ((uStack4 & 1) != 0) { - iStack100 = iStack48 + -7; - } - } - pcStack52 = (char *)FUN_7f0c2a88(0xa01f); - loc_7F0AEB50(&iStack92,&iStack96,(byte *)pcStack52,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack92 >> 1)) + 0x25; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - pcStack52 = (char *)FUN_7f009b70(uStack4,0); - loc_7F0AEB50(&iStack92,&iStack96,(byte *)pcStack52,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - if (DAT_80048500 == 0) { - iVar16 = 0; - } - else { - iVar16 = 4; - } - uStack16 = ((iVar16 + (int)sVar13) - (iStack92 >> 1)) + 0x35; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - pbVar12 = *(byte **)(_DAT_8007a120 + 0x2a10); - if (pbVar12 != NULL) { - pcStack52 = (char *)pbVar12; - loc_7F0AEB50(&iStack92,&iStack96,pbVar12,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack92 >> 1)) + 0x4b; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0 - ); - } - pbVar12 = *(byte **)(_DAT_8007a120 + 0x2a14); - if (pbVar12 != NULL) { - pcStack52 = (char *)pbVar12; - loc_7F0AEB50(&iStack92,&iStack96,pbVar12,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack92 >> 1)) + 0x58; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0 - ); - } - } - } - } - iVar16 = *(int *)(_DAT_8007a120 + 0x29c8); -LAB_7f0c67f8: - if (iVar16 == 6) { - pcStack52 = (char *)FUN_7f0c2a88(0xa020); - loc_7F0AEB50(&iStack28,aiStack24,(byte *)pcStack52,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x36; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x36; - if (*(int *)(_DAT_8007a120 + 0x29cc) == 0) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0AE958(puVar10,&uStack12,&uStack16,(byte *)pcStack52,DAT_80040ee0, - (int)DAT_80040edc,0xa0ffa0f0,0x7000a0,(int)sVar13,(int)sVar14,0,0); - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - } - pcStack52 = (char *)FUN_7f0c2a88(0xa021); - loc_7F0AEB50(&iStack28,aiStack24,(byte *)pcStack52,DAT_80040ee0,DAT_80040edc,0); - sVar13 = FUN_70004514(); - uStack12 = (((int)sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x68; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x36; - if (*(int *)(_DAT_8007a120 + 0x29cc) == 1) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0AE958(puVar10,&uStack12,&uStack16,(byte *)pcStack52,DAT_80040ee0, - (int)DAT_80040edc,0xa0ffa0f0,0x7000a0,(int)sVar13,(int)sVar14,0,0); - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar10 = loc_7F0ADD78(puVar10,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - DAT_80040ee0,(int)DAT_80040edc,0xff00b0,(int)sVar13,(int)sVar14,0,0); - } - } - puVar10 = combiner_bayer_lod_perspective(puVar10); - return puVar10; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong FUN_7f0c6d2c(void) - -{ - if (_DAT_8008c774 != 0) { - return 0; - } - return (longlong)*(int *)(_DAT_8007a120 + 0x29c4) | - (ulonglong)(0 < *(int *)(_DAT_8007a120 + 0x2a00)); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0c6d64(void) - -{ - return _DAT_8008c788; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0C6588(undefined4 *param_1) - -{ - int iVar2; - uint uVar3; - ulonglong uVar1; - uint uVar4; - uint uVar5; - short sVar9; - short sVar10; - short sVar11; - int iVar6; - undefined4 *puVar7; - int iVar8; - int iVar12; - uint uVar13; - int iVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - undefined4 *puStackX0; - - puStackX0 = param_1; - iVar2 = FUN_7f014808(); - uVar3 = get_cur_playernum(); - uVar1 = get_num_players(); - uVar4 = (uint)uVar1; - if ((((uVar1 != 1) && (*(int *)(_DAT_8007a120 + 0x29c4) == 0)) && - (*(int *)(_DAT_8007a120 + 0xd8) == 0)) && (uVar5 = FUN_7f09333c(0x17), uVar5 == 0)) { - sVar9 = FUN_70004514(); - sVar10 = FUN_7000449c(); - iVar14 = (int)sVar10 + (int)sVar9 + -0x29; - sVar11 = get_video2_settings_uly(); - iVar6 = (int)sVar11; - if ((2 < (int)uVar4) && ((uVar3 & 1) == 0)) { - iVar14 = (int)sVar10 + (int)sVar9 + -0x1a; - } - loc_7F077B80((uint **)register0x000000ec,_DAT_8008d19c,2,0,2); - puVar7 = loc_7F0ACED4(puStackX0); - *puVar7 = 0xfcffb3ff; - puVar7[1] = 0xff65feff; - puVar7[3] = 0xa0; - puVar7[2] = 0xfa000000; - puVar7[5] = (iVar14 - 0x10U & 0x3ff) << 0xe | (iVar6 + 10) * 4 & 0xfffU; - puVar7[4] = (iVar14 + 0x10U & 0x3ff) << 0xe | 0xe4000000 | (iVar6 + 0x2a) * 4 & 0xfffU; - puVar7[6] = 0xb4000000; - puVar7[7] = 0x100010; - puStackX0 = puVar7 + 10; - puVar7[8] = 0xb3000000; - puVar7[9] = 0x4000400; - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar14 + -2),(longlong)(iVar6 + 0x18), - (longlong)(iVar14 + 2),iVar6 + 0x1c,0x40); - if (((iVar2 == 5) || (iVar2 == 6)) || ((iVar2 == 7 || ((iVar2 == 2 || (iVar2 == 3)))))) { - if ((&DAT_80079fc9)[uVar3 * 0x70] == '\0') { - uVar5 = 0xff7777ff; - } - else { - uVar5 = 0x8888ffff; - } - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar14 + -1),(longlong)(iVar6 + 0x19), - (longlong)(iVar14 + 1),iVar6 + 0x1b,uVar5); - } - else { - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar14 + -1),(longlong)(iVar6 + 0x19), - (longlong)(iVar14 + 1),iVar6 + 0x1b,0xffffffa0); - } - uVar5 = 0; - if (0 < (int)uVar4) { - do { - if ((uVar5 != uVar3) && (*(int *)(*(int *)(&DAT_80079f50 + uVar5 * 4) + 0xd8) == 0)) { - iVar8 = *(int *)(*(int *)(&DAT_80079f50 + uVar5 * 4) + 0xa8); - fVar18 = *(float *)(iVar8 + 8) - *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 8); - fVar19 = *(float *)(iVar8 + 0x10) - *(float *)(*(int *)(_DAT_8007a120 + 0xa8) + 0x10); - fVar20 = 16.00000000; - fVar15 = loc_7F05AB54(fVar18,fVar19); - fVar17 = *(float *)(_DAT_8007a120 + 0x148); - fVar16 = (fVar15 * 180.00000000) / DAT_8005bd60; - fVar15 = sqrtf(fVar18 * fVar18 + fVar19 * fVar19); - fVar15 = fVar15 * 0.00400000; - if (((iVar2 == 5) || (((iVar2 == 6 || (iVar2 == 7)) || (iVar2 == 2)))) || (iVar2 == 3)) { - if (fVar15 < 16.00000000) { - if ((&DAT_80079fc9)[uVar5 * 0x70] == '\0') { - uVar13 = 0xff0000a0; - fVar20 = fVar15; - } - else { - uVar13 = 0x2828ffff; - fVar20 = fVar15; - } - } - else { - if ((&DAT_80079fc9)[uVar5 * 0x70] == '\0') { - uVar13 = 0xff000060; - fVar20 = 16.00000000; - } - else { - uVar13 = 0x2828ffb0; - fVar20 = 16.00000000; - } - } - } - else { - uVar13 = 0xffff0060; - if (fVar15 < 16.00000000) { - uVar13 = 0xffff00a0; - fVar20 = fVar15; - } - } - fVar16 = (fVar16 + fVar17 + 180.00000000) * DAT_8005bd64; - fVar15 = func_7F057FC4(fVar16); - iVar12 = (int)(fVar15 * fVar20) + iVar14; - fVar15 = FUN_7f0583c0(fVar16); - iVar8 = (int)(fVar15 * fVar20) + iVar6 + 0x1a; - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar12 + -2),(longlong)(iVar8 + -2), - (longlong)(iVar12 + 2),iVar8 + 2,0x40); - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar12 + -1),(longlong)(iVar8 + -1), - (longlong)(iVar12 + 1),iVar8 + 1,uVar13); - } - uVar5 += 1; - } while (uVar5 != uVar4); - } - puStackX0 = combiner_bayer_lod_perspective(puStackX0); - } - return puStackX0; -} - - - -void FUN_7f0c72b0(void) - -{ - DAT_80049190 = (DAT_80049190 + 1) % 0xe; - return; -} - - - -int FUN_7f0c72d8(void) - -{ - return DAT_80049190 * 8 + -0x7ffb6ee0; -} - - - -undefined4 FUN_7f0c72f4(void) - -{ - return *(undefined4 *)(DAT_80049190 * 8 + -0x7ffb6edc); -} - - - -void FUN_7f0c7310(undefined4 param_1) - -{ - DAT_80049190 = param_1; - return; -} - - - -undefined4 __osGetActiveQueue(void) - -{ - return DAT_80049190; -} - - - -void FUN_7f0c7330(void) - -{ - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint loc_7F0C6B98(undefined4 param_1,byte *param_2,int param_3,int param_4,int param_5) - -{ - short sVar1; - ushort uVar2; - bool bVar3; - byte *pbVar4; - short *psVar5; - uint uVar6; - undefined *puVar7; - ushort *puVar8; - ushort *puVar9; - uint uVar10; - int iVar11; - ushort *puVar12; - undefined *puVar13; - int iVar14; - byte *pbVar15; - byte *pbVar16; - ushort auStack11064 [256]; - undefined auStack10552 [8448]; - undefined auStack2104 [2056]; - uint uStack48; - uint uStack36; - uint uStack32; - uint uStack20; - int iStack12; - uint uStack4; - - puVar13 = NULL; - bVar3 = false; - FUN_7f0ccbf0(param_1); - if ((param_3 == 0) || (iStack12 = param_4, param_4 == 0)) { - iStack12 = 1; - } - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(param_4 << 5) | *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0x1f; - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) = - (byte)(param_3 << 5) & 0x20 | *(byte *)(*(int *)(param_5 + 0xc) + 0xc) & 0xdf; - if ((param_3 != 0) && (bVar3 = true, 0 < _DAT_8008d100)) { - psVar5 = (short *)&DAT_8008c7a0; - sVar1 = _DAT_8008c7a0; - while( true ) { - psVar5 = psVar5 + 8; - if ((longlong)(int)(**(uint **)(param_5 + 0xc) >> 0x14) == (longlong)sVar1) { - bVar3 = false; - } - if (&DAT_8008c7a0 + _DAT_8008d100 * 0x10 <= psVar5) break; - sVar1 = *psVar5; - } - } - uStack20 = FUN_7f0ccc0c(8); - uStack48 = FUN_7f0ccc0c(8); - uStack48 += 1; - if (0 < (int)uStack48) { - puVar12 = auStack11064 + uStack48; - puVar8 = auStack11064; - do { - uVar6 = FUN_7f0ccc0c(0x10); - puVar9 = puVar8 + 1; - *puVar8 = (ushort)uVar6; - puVar8 = puVar9; - } while (puVar9 < puVar12); - } - iVar14 = 0; - if (0 < iStack12) { - do { - uStack32 = FUN_7f0ccc0c(8); - uStack36 = FUN_7f0ccc0c(8); - if (iVar14 == 0) { - *(undefined *)(*(int *)(param_5 + 0xc) + 8) = (char)uStack32; - *(undefined *)(*(int *)(param_5 + 0xc) + 9) = (char)uStack36; - *(char *)(*(int *)(param_5 + 0xc) + 10) = (char)uStack48 + -1; - iVar11 = uStack20 * 4; - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(*(int *)(&DAT_80049278 + iVar11) << 2) & 0x1c | - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0xe3; - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)*(undefined4 *)(&DAT_800492ac + iVar11) & 3 | - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0xfc; - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) = - (byte)((*(int *)(&DAT_800492e0 + iVar11) >> 0xe) << 6) | - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) & 0x3f; - } - else { - if (bVar3) { - iVar11 = _DAT_8008d100 * 0x10 + iVar14; - (&DAT_8008c7a1)[iVar11] = (char)uStack32; - (&DAT_8008c7a8)[iVar11] = (char)uStack36; - } - } - if (0x1000 < (int)(uStack32 * uStack36)) { - return 0; - } - FUN_7f0cf4d0(_DAT_8008d110,auStack2104,auStack10552); - puVar7 = loc_7F0C6C58(auStack2104,uStack32,uStack36,(longlong)(int)uStack20, - param_2 + (int)puVar13); - iVar11 = FUN_7f0cf574(); - FUN_7f0ccbf0(iVar11); - if ((param_3 == 1) && (0 < param_4)) { - locret_7F0CB7D8((int)(param_2 + (int)puVar13),uStack32,uStack36,uStack20); - } - iVar14 += 1; - puVar13 = puVar7 + (int)puVar13; - } while (iVar14 != iStack12); - } - uStack4 = 0; - if (bVar3) { - *(ushort *)(&DAT_8008c7a0 + _DAT_8008d100 * 0x10) = - (ushort)((uint)**(undefined4 **)(param_5 + 0xc) >> 0x14); - _DAT_8008d100 += 1; - if (0x95 < _DAT_8008d100) { - _DAT_8008d100 = 0; - } - } - if (param_3 == 0) { - if (param_4 < 2) { - if (param_4 == 1) { - uStack4 = 0; - locret_7F0CB7D8((int)param_2,uStack32,uStack36,uStack20); - } - } - else { - iVar14 = 1; - uVar6 = uStack32; - pbVar16 = param_2; - uVar10 = uStack36; - if (param_4 >= 2) { - uVar6 = uStack32; - pbVar15 = param_2; - pbVar4 = param_2 + (int)puVar13; - uVar10 = uStack36; - do { - pbVar16 = pbVar4; - iVar11 = loc_7F0C7780(pbVar15,(int)pbVar16,uVar6,uVar10,uStack20,auStack11064,uStack48); - if (0x800 < (int)(puVar13 + iVar11)) { - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(iVar14 << 5) | *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0x1f; - pbVar16 = pbVar15; - break; - } - locret_7F0CB7D8((int)pbVar15,uVar6,uVar10,uStack20); - iVar14 += 1; - uVar6 = (int)(uVar6 + 1) >> 1; - uVar10 = (int)(uVar10 + 1) >> 1; - puVar13 = puVar13 + iVar11; - pbVar15 = pbVar16; - pbVar4 = pbVar16 + iVar11; - } while (iVar14 != param_4); - } - locret_7F0CB7D8((int)pbVar16,uVar6,uVar10,uStack20); - } - } - if (0 < (int)uStack48) { - param_2 = param_2 + (int)puVar13; - if ((uStack48 & 3) != 0) { - puVar8 = auStack11064 + uStack4; - pbVar16 = param_2; - do { - puVar7 = puVar13; - uStack4 += 1; - puVar13 = puVar7 + 2; - *pbVar16 = (byte)((uint)*puVar8 >> 8); - uVar2 = *puVar8; - param_2 = pbVar16 + 2; - puVar8 = puVar8 + 1; - pbVar16[1] = (byte)uVar2; - pbVar16 = param_2; - } while ((uStack48 & 3) != uStack4); - if (uStack4 == uStack48) { - puVar7 = puVar7 + 9; - goto LAB_7f0c7874; - } - } - puVar8 = auStack11064 + uStack4; - do { - puVar12 = puVar8 + 4; - puVar13 = puVar13 + 8; - *param_2 = (byte)((uint)*puVar8 >> 8); - param_2[1] = (byte)*puVar8; - param_2[2] = (byte)((uint)puVar8[1] >> 8); - param_2[3] = (byte)puVar8[1]; - param_2[4] = (byte)((uint)puVar8[2] >> 8); - param_2[5] = (byte)puVar8[2]; - param_2[6] = (byte)((uint)puVar8[3] >> 8); - param_2[7] = (byte)puVar8[3]; - puVar8 = puVar12; - param_2 = param_2 + 8; - } while (puVar12 != auStack11064 + uStack48); - } - puVar7 = puVar13 + 7; -LAB_7f0c7874: - return (uint)puVar7 & 0xfffffff8; -} - - - -undefined * -loc_7F0C6C58(undefined *param_1,int param_2,int param_3,longlong param_4,undefined *param_5) - -{ - undefined uVar1; - undefined *puVar2; - undefined *puVar3; - int iVar4; - int iVar5; - int iStack16; - - if ((param_4 == 9) || (param_4 == 0xb)) { - iStack16 = 1; - } - else { - if ((param_4 == 10) || (param_4 == 0xc)) { - iStack16 = 2; - } - } - iVar4 = 0; - puVar3 = param_5; - if (0 < param_3) { - do { - iVar5 = 0; - puVar2 = puVar3; - if (0 < param_2) { - do { - uVar1 = *param_1; - iVar5 += iStack16; - puVar3 = puVar2 + 1; - param_1 = param_1 + 1; - *puVar2 = uVar1; - puVar2 = puVar3; - } while (iVar5 < param_2); - } - iVar4 += 1; - puVar3 = (undefined *)((uint)(puVar3 + 7) & 0xfffffff8); - } while (iVar4 != param_3); - } - return puVar3 + -(int)param_5; -} - - - -int loc_7F0C7780(byte *param_1,int param_2,int param_3,int param_4,int param_5,ushort *param_6, - uint param_7) - -{ - ushort uVar1; - ushort uVar2; - ushort uVar3; - ushort uVar4; - bool bVar5; - int iVar6; - uint uVar7; - uint uVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - byte *pbVar14; - byte *pbVar15; - int iVar16; - int iStack52; - uint uStack16; - uint uStack12; - int iStack8; - - iVar16 = param_4 + 1 >> 1; - if (param_5 == 9) { -LAB_7f0c79d0: - uStack16 = (param_3 + 1 >> 1) + 7U & 0xff8; - uStack12 = param_3 + 7U & 0xff8; - } - else { - if (param_5 != 10) { - if (param_5 == 0xb) goto LAB_7f0c79d0; - if (param_5 != 0xc) goto LAB_7f0c7a10; - } - uStack16 = (param_3 + 1 >> 1) + 0xfU & 0xff0; - uStack12 = param_3 + 0xfU & 0xff0; - } -LAB_7f0c7a10: - if (param_5 == 9) { - iStack8 = 0; - iStack52 = param_2; - if (0 < param_4) { - do { - uVar8 = uStack12; - if (param_4 <= iStack8 + 1) { - uVar8 = 0; - } - if (0 < (int)uStack12) { - pbVar15 = param_1 + uVar8; - iVar6 = 1; - iVar12 = 0; - pbVar14 = param_1; - while( true ) { - iVar13 = iVar12; - if (iVar6 < param_3) { - iVar13 = iVar6; - } - uVar1 = param_6[(uint)*pbVar14]; - uVar2 = param_6[(uint)param_1[iVar13]]; - uVar3 = param_6[(uint)*pbVar15]; - uVar4 = param_6[(uint)param_1[uVar8 + iVar13]]; - uVar7 = loc_7F0C7BBC(param_6,param_7, - (int)(((int)(short)uVar1 >> 0xb & 0x1fU) + - ((int)(short)uVar2 >> 0xb & 0x1fU) + - ((int)(short)uVar3 >> 0xb & 0x1fU) + - ((int)(short)uVar4 >> 0xb & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 >> 6 & 0x1fU) + - ((int)(short)uVar2 >> 6 & 0x1fU) + - ((int)(short)uVar3 >> 6 & 0x1fU) + - ((int)(short)uVar4 >> 6 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 >> 1 & 0x1fU) + - ((int)(short)uVar2 >> 1 & 0x1fU) + - ((int)(short)uVar3 >> 1 & 0x1fU) + - ((int)(short)uVar4 >> 1 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 & 1U) + ((int)(short)uVar2 & 1U) + - ((int)(short)uVar3 & 1U) + ((int)(short)uVar4 & 1U) + 2) >> 2 - & 1); - *(undefined *)(iStack52 + (iVar12 >> 1)) = (char)uVar7; - pbVar14 = pbVar14 + 2; - pbVar15 = pbVar15 + 2; - if ((int)uStack12 <= iVar12 + 2) break; - iVar6 = iVar12 + 3; - iVar12 = iVar12 + 2; - } - } - iStack8 += 2; - iStack52 += uStack16; - param_1 = param_1 + uStack12 * 2; - } while (iStack8 < param_4); - } - iVar12 = iVar16 * uStack16; - } - else { - iVar6 = (int)uStack16 >> 1; - if (param_5 == 10) { - iStack8 = 0; - iStack52 = param_2; - if (0 < param_4) { - do { - iVar13 = 0; - iVar12 = (int)uStack12 >> 1; - if (param_4 <= iStack8 + 1) { - iVar12 = 0; - } - if (0 < (int)uStack12) { - iVar11 = 0; - while( true ) { - bVar5 = param_3 <= iVar13 + 1; - uVar1 = param_6[(int)(uint)param_1[iVar11] >> 4]; - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - uVar2 = param_6[(int)(uint)param_1[iVar11] >> iVar9 & 0xf]; - uVar3 = param_6[(int)(uint)param_1[iVar11 + iVar12] >> 4]; - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - uVar4 = param_6[(int)(uint)(param_1 + iVar12)[iVar11] >> iVar9 & 0xf]; - uVar8 = loc_7F0C7BBC(param_6,param_7, - (int)(((int)(short)uVar1 >> 0xb & 0x1fU) + - ((int)(short)uVar2 >> 0xb & 0x1fU) + - ((int)(short)uVar3 >> 0xb & 0x1fU) + - ((int)(short)uVar4 >> 0xb & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 >> 6 & 0x1fU) + - ((int)(short)uVar2 >> 6 & 0x1fU) + - ((int)(short)uVar3 >> 6 & 0x1fU) + - ((int)(short)uVar4 >> 6 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 >> 1 & 0x1fU) + - ((int)(short)uVar2 >> 1 & 0x1fU) + - ((int)(short)uVar3 >> 1 & 0x1fU) + - ((int)(short)uVar4 >> 1 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 & 1U) + ((int)(short)uVar2 & 1U) + - ((int)(short)uVar3 & 1U) + ((int)(short)uVar4 & 1U) + 2) >> - 2 & 1); - iVar11 = iVar13 + 2 >> 1; - pbVar14 = (byte *)(iStack52 + (iVar13 >> 2)); - *pbVar14 = (byte)(uVar8 << 4); - bVar5 = param_3 <= iVar13 + 3; - uVar1 = param_6[(int)(uint)param_1[iVar11] >> 4]; - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - uVar2 = param_6[(int)(uint)param_1[iVar11] >> iVar9 & 0xf]; - uVar3 = param_6[(int)(uint)param_1[iVar11 + iVar12] >> 4]; - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - uVar4 = param_6[(int)(uint)(param_1 + iVar12)[iVar11] >> iVar9 & 0xf]; - uVar8 = loc_7F0C7BBC(param_6,param_7, - (int)(((int)(short)uVar1 >> 0xb & 0x1fU) + - ((int)(short)uVar2 >> 0xb & 0x1fU) + - ((int)(short)uVar3 >> 0xb & 0x1fU) + - ((int)(short)uVar4 >> 0xb & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 >> 6 & 0x1fU) + - ((int)(short)uVar2 >> 6 & 0x1fU) + - ((int)(short)uVar3 >> 6 & 0x1fU) + - ((int)(short)uVar4 >> 6 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 >> 1 & 0x1fU) + - ((int)(short)uVar2 >> 1 & 0x1fU) + - ((int)(short)uVar3 >> 1 & 0x1fU) + - ((int)(short)uVar4 >> 1 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 & 1U) + ((int)(short)uVar2 & 1U) + - ((int)(short)uVar3 & 1U) + ((int)(short)uVar4 & 1U) + 2) >> - 2 & 1); - iVar13 += 4; - *pbVar14 = *pbVar14 | (byte)uVar8; - if ((int)uStack12 <= iVar13) break; - iVar11 = iVar13 >> 1; - } - } - iStack8 += 2; - iStack52 += iVar6; - param_1 = param_1 + uStack12; - } while (iStack8 < param_4); - } - iVar12 = iVar6 * iVar16; - } - else { - if (param_5 == 0xb) { - iStack8 = 0; - iStack52 = param_2; - if (0 < param_4) { - do { - uVar8 = uStack12; - if (param_4 <= iStack8 + 1) { - uVar8 = 0; - } - if (0 < (int)uStack12) { - pbVar15 = param_1 + uVar8; - iVar6 = 1; - iVar12 = 0; - pbVar14 = param_1; - while( true ) { - iVar13 = iVar12; - if (iVar6 < param_3) { - iVar13 = iVar6; - } - uVar7 = loc_7F0C7DEC(param_6,param_7, - (int)(((int)(short)param_6[(uint)*pbVar14] >> 8 & 0xffU) + - ((int)(short)param_6[(uint)param_1[iVar13]] >> 8 & 0xffU) - + ((int)(short)param_6[(uint)*pbVar15] >> 8 & 0xffU) + - ((int)(short)param_6[(uint)param_1[uVar8 + iVar13]] >> 8 & - 0xffU)) >> 2 & 0xff, - (int)(((int)(short)param_6[(uint)*pbVar14] & 0xffU) + - ((int)(short)param_6[(uint)param_1[iVar13]] & 0xffU) + - ((int)(short)param_6[(uint)*pbVar15] & 0xffU) + - ((int)(short)param_6[(uint)param_1[uVar8 + iVar13]] & - 0xffU) + 1) >> 2 & 0xff); - *(undefined *)(iStack52 + (iVar12 >> 1)) = (char)uVar7; - pbVar14 = pbVar14 + 2; - pbVar15 = pbVar15 + 2; - if ((int)uStack12 <= iVar12 + 2) break; - iVar6 = iVar12 + 3; - iVar12 = iVar12 + 2; - } - } - iStack8 += 2; - iStack52 += uStack16; - param_1 = param_1 + uStack12 * 2; - } while (iStack8 < param_4); - } - iVar12 = iVar16 * uStack16; - } - else { - iVar12 = 0; - if (param_5 == 0xc) { - iStack8 = 0; - iStack52 = param_2; - if (0 < param_4) { - do { - iVar13 = 0; - iVar12 = (int)uStack12 >> 1; - if (param_4 <= iStack8 + 1) { - iVar12 = 0; - } - iVar11 = 0; - if (0 < (int)uStack12) { - while( true ) { - bVar5 = iVar13 + 1 < param_3; - if ((int)(uint)param_1[iVar11] >> bVar5 == 0) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - if ((int)(uint)param_1[iVar11 + iVar12] >> bVar5 == 0) { - iVar10 = 4; - } - else { - iVar10 = 0; - } - uVar8 = loc_7F0C7DEC(param_6,param_7, - (int)(((int)(short)param_6[(int)(uint)param_1[iVar11] >> 4] - >> 8 & 0xffU) + - ((int)(short)param_6[iVar9] >> 8 & 0xffU) + - ((int)(short)param_6[(int)(uint)param_1[iVar11 + iVar12 - ] >> 4] >> 8 & - 0xffU) + ((int)(short)param_6[iVar10] >> 8 & 0xffU)) >> - 2 & 0xff,(int)(((int)(short)param_6[(int)(uint)param_1[iVar11 - ] >> 4] & 0xffU) + - ((int)(short)param_6[iVar9] & 0xffU) + - ((int)(short)param_6[(int)(uint)param_1[iVar11 + - iVar12] >> 4] & 0xffU) + - ((int)(short)param_6[iVar10] & 0xffU) + 1) >> 2 & - 0xff); - iVar11 = iVar13 + 2 >> 1; - pbVar14 = (byte *)(iStack52 + (iVar13 >> 2)); - *pbVar14 = (byte)(uVar8 << 4); - bVar5 = iVar13 + 3 < param_3; - if ((int)(uint)param_1[iVar11] >> bVar5 == 0) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - if ((int)(uint)param_1[iVar11 + iVar12] >> bVar5 == 0) { - iVar10 = 4; - } - else { - iVar10 = 0; - } - uVar8 = loc_7F0C7DEC(param_6,param_7, - (int)(((int)(short)param_6[(int)(uint)param_1[iVar11] >> 4] - >> 8 & 0xffU) + - ((int)(short)param_6[iVar9] >> 8 & 0xffU) + - ((int)(short)param_6[(int)(uint)param_1[iVar11 + iVar12 - ] >> 4] >> 8 & - 0xffU) + ((int)(short)param_6[iVar10] >> 8 & 0xffU)) >> - 2 & 0xff,(int)(((int)(short)param_6[(int)(uint)param_1[iVar11 - ] >> 4] & 0xffU) + - ((int)(short)param_6[iVar9] & 0xffU) + - ((int)(short)param_6[(int)(uint)param_1[iVar11 + - iVar12] >> 4] & 0xffU) + - ((int)(short)param_6[iVar10] & 0xffU) + 1) >> 2 & - 0xff); - iVar13 += 4; - *pbVar14 = *pbVar14 | (byte)uVar8; - if ((int)uStack12 <= iVar13) break; - iVar11 = iVar13 >> 1; - } - } - iStack8 += 2; - iStack52 += iVar6; - param_1 = param_1 + uStack12; - } while (iStack8 < param_4); - } - iVar12 = iVar6 * iVar16; - } - } - } - } - return iVar12; -} - - - -// WARNING: Instruction at (ram,0x7f0c8790) overlaps instruction at (ram,0x7f0c878c) -// - -uint loc_7F0C7BBC(ushort *param_1,uint param_2,int param_3,int param_4,int param_5,uint param_6) - -{ - ushort uVar1; - ushort *puVar2; - uint uVar3; - int iVar4; - uint uVar5; - int iVar6; - int iVar7; - int iVar8; - uint uVar9; - ulonglong uVar10; - int iVar11; - int iVar12; - int iVar13; - - uVar3 = 0; - if (0 < (int)param_2) { - if ((param_2 & 3) != 0) { - puVar2 = param_1; - do { - if (((longlong)(int)(param_3 << 0xb | param_4 << 6 | param_5 << 1 | param_6) & 0xffffU) == - (ulonglong)*puVar2) { - return uVar3; - } - uVar3 += 1; - puVar2 = puVar2 + 1; - } while ((param_2 & 3) != uVar3); - if (uVar3 == param_2) goto LAB_7f0c85b8; - } - puVar2 = param_1 + uVar3; - uVar10 = (longlong)(int)(param_3 << 0xb | param_4 << 6 | param_5 << 1 | param_6) & 0xffff; - do { - if (uVar10 == (ulonglong)*puVar2) { - return uVar3; - } - if (uVar10 == (ulonglong)puVar2[1]) { - return uVar3 + 1; - } - if (uVar10 == (ulonglong)puVar2[2]) { - return uVar3 + 2; - } - if (uVar10 == (ulonglong)puVar2[3]) { - return uVar3 + 3; - } - uVar3 += 4; - puVar2 = puVar2 + 4; - } while (uVar3 != param_2); - } -LAB_7f0c85b8: - uVar10 = SEXT48((int)param_6); - iVar6 = param_2 - 1; - iVar11 = iVar6; - if (1 < iVar6) { - iVar8 = param_3 * param_3 + param_4 * param_4 + param_5 * param_5 + param_6 * 0x3c1; - iVar11 = iVar6; - iVar7 = 0; - iVar12 = iVar6; - while( true ) { - iVar4 = iVar12 >> 1; - uVar1 = param_1[iVar4]; - iVar12 = (int)(uint)uVar1 >> 0xb; - uVar3 = (int)(uint)uVar1 >> 6 & 0x1f; - uVar9 = (int)(uint)uVar1 >> 1 & 0x1f; - iVar12 = iVar12 * iVar12 + uVar3 * uVar3 + uVar9 * uVar9 + ((uint)uVar1 & 1) * 0x3c1; - if ((iVar8 <= iVar12) && (iVar11 = iVar4, iVar8 < iVar12)) { - iVar11 = iVar4; - iVar4 = iVar7; - } - if (iVar11 - iVar4 < 2) break; - iVar12 = iVar11 + iVar4; - iVar7 = iVar4; - } - } - uVar3 = iVar11 - 4; - if ((int)uVar3 < 0) { - uVar3 = 0; - } - iVar7 = iVar11 + 4; - if ((int)param_2 <= iVar11 + 4) { - iVar7 = iVar6; - } - iVar11 = 999999; - uVar9 = 0; - if ((int)uVar3 <= iVar7) { - if (((iVar7 - uVar3) + 1 & 1) == 0) { - iVar6 = uVar3 << 1; - } - else { - uVar1 = param_1[uVar3]; - uVar5 = uVar3 + 1; - iVar6 = 0x3c1; - if (uVar10 == ((ulonglong)uVar1 & 1)) { - iVar6 = 0; - } - iVar12 = ((int)(uint)uVar1 >> 0xb) - param_3; - iVar8 = ((int)(uint)uVar1 >> 6 & 0x1fU) - param_4; - iVar4 = ((int)(uint)uVar1 >> 1 & 0x1fU) - param_5; - iVar6 = iVar6 + iVar12 * iVar12 + iVar8 * iVar8 + iVar4 * iVar4; - if (iVar6 < 999999) { - uVar9 = uVar3; - iVar11 = iVar6; - } - iVar6 = uVar5 * 2; - uVar3 = uVar5; - if (iVar7 + 1U == uVar5) { - return uVar9; - } - } - param_1 = (ushort *)((int)param_1 + iVar6); - do { - uVar1 = *param_1; - iVar6 = 0x3c1; - if (uVar10 == ((ulonglong)uVar1 & 1)) { - iVar6 = 0; - } - iVar8 = ((int)(uint)uVar1 >> 0xb) - param_3; - iVar4 = ((int)(uint)uVar1 >> 6 & 0x1fU) - param_4; - iVar13 = ((int)(uint)uVar1 >> 1 & 0x1fU) - param_5; - iVar12 = 0x3c1; - iVar6 = iVar6 + iVar8 * iVar8 + iVar4 * iVar4 + iVar13 * iVar13; - if (iVar6 < iVar11) { - uVar1 = param_1[1]; - uVar9 = uVar3; - } - else { - uVar1 = param_1[1]; - iVar6 = iVar11; - } - if (uVar10 == ((ulonglong)uVar1 & 1)) { - iVar12 = 0; - } - iVar11 = ((int)(uint)uVar1 >> 0xb) - param_3; - iVar8 = ((int)(uint)uVar1 >> 6 & 0x1fU) - param_4; - iVar4 = ((int)(uint)uVar1 >> 1 & 0x1fU) - param_5; - iVar12 = iVar12 + iVar11 * iVar11 + iVar8 * iVar8 + iVar4 * iVar4; - iVar11 = iVar6; - if (iVar12 < iVar6) { - uVar9 = uVar3 + 1; - iVar11 = iVar12; - } - uVar3 += 2; - param_1 = param_1 + 2; - } while (iVar7 + 1U != uVar3); - } - return uVar9; -} - - - -// WARNING: Instruction at (ram,0x7f0c8914) overlaps instruction at (ram,0x7f0c8910) -// - -uint loc_7F0C7DEC(ushort *param_1,uint param_2,int param_3,uint param_4) - -{ - ushort *puVar1; - uint uVar2; - int iVar3; - int iVar4; - uint uVar5; - uint uVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - ulonglong uVar11; - - uVar2 = 0; - if (0 < (int)param_2) { - if ((param_2 & 3) != 0) { - puVar1 = param_1; - do { - if (((longlong)(int)(param_3 << 8 | param_4) & 0xffffU) == (ulonglong)*puVar1) { - return uVar2; - } - uVar2 += 1; - puVar1 = puVar1 + 1; - } while ((param_2 & 3) != uVar2); - if (uVar2 == param_2) goto LAB_7f0c8988; - } - uVar11 = (longlong)(int)(param_3 << 8 | param_4) & 0xffff; - puVar1 = param_1 + uVar2; - do { - if (uVar11 == (ulonglong)*puVar1) { - return uVar2; - } - if (uVar11 == (ulonglong)puVar1[1]) { - return uVar2 + 1; - } - if (uVar11 == (ulonglong)puVar1[2]) { - return uVar2 + 2; - } - if (uVar11 == (ulonglong)puVar1[3]) { - return uVar2 + 3; - } - uVar2 += 4; - puVar1 = puVar1 + 4; - } while (uVar2 != param_2); - } -LAB_7f0c8988: - iVar7 = param_2 - 1; - iVar3 = iVar7; - if (1 < iVar7) { - iVar8 = param_3 * param_3 + param_4 * param_4; - iVar3 = iVar7; - iVar4 = 0; - iVar10 = iVar7; - while( true ) { - iVar9 = iVar10 >> 1; - iVar10 = (int)(uint)param_1[iVar9] >> 8; - uVar2 = (uint)param_1[iVar9] & 0xff; - iVar10 = iVar10 * iVar10 + uVar2 * uVar2; - if ((iVar8 <= iVar10) && (iVar3 = iVar9, iVar8 < iVar10)) { - iVar3 = iVar9; - iVar9 = iVar4; - } - if (iVar3 - iVar9 < 2) break; - iVar10 = iVar3 + iVar9; - iVar4 = iVar9; - } - } - uVar2 = iVar3 - 4; - if ((int)uVar2 < 0) { - uVar2 = 0; - } - uVar6 = 0; - iVar4 = iVar3 + 4; - if ((int)param_2 <= iVar3 + 4) { - iVar4 = iVar7; - } - iVar3 = 999999; - if ((int)uVar2 <= iVar4) { - param_1 = param_1 + uVar2; - uVar5 = uVar6; - do { - iVar7 = ((int)(uint)*param_1 >> 8) - param_3; - iVar10 = ((uint)*param_1 & 0xff) - param_4; - iVar7 = iVar7 * iVar7 + iVar10 * iVar10; - uVar6 = uVar2; - if (iVar3 <= iVar7) { - uVar6 = uVar5; - iVar7 = iVar3; - } - iVar3 = iVar7; - uVar2 += 1; - param_1 = param_1 + 1; - uVar5 = uVar6; - } while (iVar4 + 1U != uVar2); - } - return uVar6; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int loc_7F0C8724(undefined4 param_1,uint *param_2,int param_3,int param_4,int param_5) - -{ - short sVar1; - bool bVar2; - uint *puVar3; - short *psVar4; - uint uVar5; - int iVar6; - int iVar7; - ushort *puVar8; - int iVar9; - uint *puVar10; - undefined uVar11; - undefined uVar12; - uint uStack12328; - int iStack12320; - uint uStack12308; - uint uStack12304; - int iStack12300; - int iStack12296; - uint auStack12288 [1024]; - ushort auStack8192 [4096]; - - iStack12320 = 0; - bVar2 = false; - FUN_7f0ccbf0(param_1); - if ((param_3 == 0) || (iStack12300 = param_4, param_4 == 0)) { - iStack12300 = 1; - } - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(param_4 << 5) | *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0x1f; - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) = - (byte)(param_3 << 5) & 0x20 | *(byte *)(*(int *)(param_5 + 0xc) + 0xc) & 0xdf; - if (param_3 != 0) { - bVar2 = true; - if (0 < _DAT_8008d100) { - psVar4 = (short *)&DAT_8008c7a0; - sVar1 = _DAT_8008c7a0; - bVar2 = true; - while( true ) { - psVar4 = psVar4 + 8; - if ((longlong)(int)(**(uint **)(param_5 + 0xc) >> 0x14) == (longlong)sVar1) { - bVar2 = false; - } - if (&DAT_8008c7a0 + _DAT_8008d100 * 0x10 <= psVar4) break; - sVar1 = *psVar4; - } - } - } - iStack12296 = 0; - if (0 < iStack12300) { - do { - uStack12328 = FUN_7f0ccc0c(4); - uStack12304 = FUN_7f0ccc0c(8); - uStack12308 = FUN_7f0ccc0c(8); - uVar5 = FUN_7f0ccc0c(4); - uVar11 = (undefined)uStack12304; - uVar12 = (undefined)uStack12308; - if (iStack12296 == 0) { - *(undefined *)(*(int *)(param_5 + 0xc) + 8) = uVar11; - *(undefined *)(*(int *)(param_5 + 0xc) + 9) = uVar12; - iVar6 = uStack12328 * 4; - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(*(int *)(&DAT_80049278 + iVar6) << 2) & 0x1c | - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0xe3; - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)*(undefined4 *)(&DAT_800492ac + iVar6) & 3 | - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0xfc; - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) = - (byte)((*(int *)(&DAT_800492e0 + iVar6) >> 0xe) << 6) | - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) & 0x3f; - } - else { - if (bVar2) { - iVar6 = _DAT_8008d100 * 0x10 + iStack12296; - (&DAT_8008c7a1)[iVar6] = uVar11; - (&DAT_8008c7a8)[iVar6] = uVar12; - } - } - iVar6 = uStack12304 * uStack12308; - if (0x2000 < iVar6) { - return 0; - } - switch(uVar5) { - case 0: - case 1: - iVar6 = loc_7F0C9D7C((int)param_2 + iStack12320,uStack12304,uStack12308,uStack12328); - break; - case 2: - iVar7 = uStack12328 * 4; - loc_7F0C969C((int)auStack8192,*(int *)(&DAT_800491a8 + iVar7) * uStack12304 * uStack12308, - (longlong)*(int *)(&DAT_80049210 + iVar7)); - if (*(int *)(&DAT_800491dc + iVar7) != 0) { - loc_7F0C9A84((undefined *)((int)auStack8192 + iVar6 * 3),iVar6); - } - iVar6 = loc_7F0CA87C((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),uStack12328); - break; - case 3: - iVar7 = uStack12328 * 4; - iVar9 = 0; - if (0 < *(int *)(&DAT_800491a8 + iVar7)) { - puVar8 = auStack8192; - do { - loc_7F0C969C((int)puVar8,iVar6,(longlong)*(int *)(&DAT_80049210 + iVar7)); - iVar9 += 1; - puVar8 = (ushort *)((int)puVar8 + uStack12304 * uStack12308); - } while (iVar9 < *(int *)(&DAT_800491a8 + iVar7)); - } - if (*(int *)(&DAT_800491dc + iVar7) != 0) { - loc_7F0C9A84((undefined *)((int)auStack8192 + iVar6 * 3),iVar6); - } - iVar6 = loc_7F0CA87C((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),uStack12328); - break; - case 4: - loc_7F0C98FC((int)auStack8192, - *(int *)(&DAT_800491a8 + uStack12328 * 4) * uStack12304 * uStack12308); - if (*(int *)(&DAT_800491dc + uStack12328 * 4) != 0) { - loc_7F0C9A84((undefined *)((int)auStack8192 + iVar6 * 3),iVar6); - } - iVar6 = loc_7F0CA87C((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),uStack12328); - break; - case 5: - uVar5 = loc_7F0C9A00(auStack12288,(longlong)*(int *)(uStack12328 * 4 + -0x7ffb6dbc)); - iVar6 = loc_7F0CAC2C(uStack12304,uStack12308,(int *)((int)param_2 + iStack12320), - (int)auStack12288,uVar5,uStack12328); - break; - case 6: - uVar5 = loc_7F0C9A00(auStack12288,(longlong)*(int *)(uStack12328 * 4 + -0x7ffb6dbc)); - loc_7F0C969C((int)auStack8192,iVar6,(longlong)(int)uVar5); - iVar6 = loc_7F0CB66C(auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),(int)auStack12288,uVar5, - uStack12328); - break; - case 7: - uVar5 = loc_7F0C9A00(auStack12288,(longlong)*(int *)(uStack12328 * 4 + -0x7ffb6dbc)); - loc_7F0C98FC((int)auStack8192,iVar6); - iVar6 = loc_7F0CB66C(auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),(int)auStack12288,uVar5, - uStack12328); - break; - case 8: - iVar7 = uStack12328 * 4; - uVar5 = FUN_7f0ccc0c(3); - loc_7F0C969C((int)auStack8192,*(int *)(&DAT_800491a8 + iVar7) * uStack12304 * uStack12308, - (longlong)*(int *)(&DAT_80049210 + iVar7)); - loc_7F0CBAE0((int)auStack8192,uStack12304,*(int *)(&DAT_800491a8 + iVar7) * uStack12308, - uVar5,*(int *)(&DAT_80049210 + iVar7)); - if (*(int *)(&DAT_800491dc + iVar7) != 0) { - loc_7F0C9A84((undefined *)((int)auStack8192 + iVar6 * 3),iVar6); - } - iVar6 = loc_7F0CA87C((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),uStack12328); - break; - case 9: - iVar7 = uStack12328 * 4; - uVar5 = FUN_7f0ccc0c(3); - loc_7F0C98FC((int)auStack8192,*(int *)(&DAT_800491a8 + iVar7) * uStack12304 * uStack12308); - loc_7F0CBAE0((int)auStack8192,uStack12304,*(int *)(&DAT_800491a8 + iVar7) * uStack12308, - uVar5,*(int *)(&DAT_80049210 + iVar7)); - if (*(int *)(&DAT_800491dc + iVar7) != 0) { - loc_7F0C9A84((undefined *)((int)auStack8192 + iVar6 * 3),iVar6); - } - iVar6 = loc_7F0CA87C((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),uStack12328); - break; - default: - (&DAT_8008c7a1)[_DAT_8008d100 * 0x10] = uVar11; - (&DAT_8008c7a8)[_DAT_8008d100 * 0x10] = uVar12; - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if ((param_3 == 1) && (0 < param_4)) { - locret_7F0CB7D8((int)param_2 + iStack12320,uStack12304,uStack12308,uStack12328); - } - iStack12320 += iVar6 + 7U & 0xfffffff8; - if (_DAT_8008d118 == 0) { - _DAT_8008d110 += 1; - } - else { - _DAT_8008d118 = 0; - } - iStack12296 += 1; - } while (iStack12296 != iStack12300); - } - if (bVar2) { - *(ushort *)(&DAT_8008c7a0 + _DAT_8008d100 * 0x10) = - (ushort)((uint)**(undefined4 **)(param_5 + 0xc) >> 0x14); - _DAT_8008d100 += 1; - if (0x95 < _DAT_8008d100) { - _DAT_8008d100 = 0; - } - } - if (param_3 == 0) { - if (param_4 < 2) { - if (param_4 == 1) { - locret_7F0CB7D8((int)param_2,uStack12304,uStack12308,uStack12328); - } - } - else { - iStack12296 = 1; - puVar10 = param_2; - puVar3 = (uint *)((int)param_2 + iStack12320); - if (1 < param_4) { - do { - param_2 = puVar3; - iVar6 = loc_7F0C91A8(puVar10,(int)param_2,uStack12304,uStack12308,uStack12328); - locret_7F0CB7D8((int)puVar10,uStack12304,uStack12308,uStack12328); - uStack12304 = (int)(uStack12304 + 1) >> 1; - uStack12308 = (int)(uStack12308 + 1) >> 1; - iStack12296 += 1; - iStack12320 += iVar6; - puVar10 = param_2; - puVar3 = (uint *)((int)param_2 + iVar6); - } while (iStack12296 != param_4); - } - locret_7F0CB7D8((int)param_2,uStack12304,uStack12308,uStack12328); - } - } - return iStack12320; -} - - - -int loc_7F0C91A8(uint *param_1,int param_2,int param_3,int param_4,uint param_5) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - byte bVar4; - ushort uVar5; - ushort uVar6; - ushort uVar7; - ushort uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - int iVar13; - int iVar14; - int iVar15; - uint *puVar16; - byte *pbVar17; - int iVar18; - uint *puVar19; - uint *puVar20; - uint uVar21; - int iVar22; - int iVar23; - int iVar24; - uint uStack16; - uint uStack12; - - iVar15 = param_4 + 1 >> 1; - switch(param_5) { - case 0: - case 2: - uStack16 = (param_3 + 1 >> 1) + 3U & 0xffc; - uStack12 = param_3 + 3U & 0xffc; - break; - case 1: - case 3: - case 4: - uStack16 = (param_3 + 1 >> 1) + 3U & 0xffc; - uStack12 = param_3 + 3U & 0xffc; - break; - case 5: - case 7: - uStack16 = (param_3 + 1 >> 1) + 7U & 0xff8; - uStack12 = param_3 + 7U & 0xff8; - break; - case 6: - case 8: - uStack16 = (param_3 + 1 >> 1) + 0xfU & 0xff0; - uStack12 = param_3 + 0xfU & 0xff0; - } - if (param_5 < 9) { - iVar13 = (int)uStack12 >> 1; - iVar23 = (int)uStack16 >> 1; - switch(param_5) { - default: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar19 = param_1 + uVar21; - puVar16 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - uVar9 = param_1[iVar24]; - uVar10 = *puVar16; - uVar11 = *puVar19; - uVar12 = (param_1 + uVar21)[iVar24]; - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 2; - puVar19 = puVar19 + 2; - *(uint *)(param_2 + iVar24 * 4) = - ((uVar10 >> 0x18) + (uVar9 >> 0x18) + (uVar11 >> 0x18) + (uVar12 >> 0x18) >> 2) - << 0x18 | ((uVar10 >> 0x10 & 0xff) + (uVar9 >> 0x10 & 0xff) + - (uVar11 >> 0x10 & 0xff) + (uVar12 >> 0x10 & 0xff) >> 2 & 0xff) << 0x10 - | ((uVar10 >> 8 & 0xff) + (uVar9 >> 8 & 0xff) + (uVar11 >> 8 & 0xff) + - (uVar12 >> 8 & 0xff) >> 2 & 0xff) << 8 | - (uVar10 & 0xff) + (uVar9 & 0xff) + (uVar11 & 0xff) + (uVar12 & 0xff) + 1 >> 2 & - 0xff; - } while (iVar13 < (int)uStack12); - } - param_2 += uStack16 * 4; - param_1 = param_1 + uStack12 * 2; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16 * 4; - break; - case 1: - case 3: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar20 = (uint *)((int)param_1 + uVar21 * 2); - puVar19 = puVar20; - puVar16 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - uVar5 = *(ushort *)((int)param_1 + iVar24 * 2); - uVar6 = *(ushort *)puVar16; - uVar7 = *(ushort *)puVar19; - uVar8 = *(ushort *)((int)puVar20 + iVar24 * 2); - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 1; - puVar19 = puVar19 + 1; - *(ushort *)(param_2 + iVar24 * 2) = - (ushort)((((int)(uint)uVar6 >> 0xb) + ((int)(uint)uVar5 >> 0xb) + - ((int)(uint)uVar7 >> 0xb) + ((int)(uint)uVar8 >> 0xb) >> 2) << 0xb) | - (ushort)(((int)(((int)(uint)uVar6 >> 6 & 0x1fU) + ((int)(uint)uVar5 >> 6 & 0x1fU) - + ((int)(uint)uVar7 >> 6 & 0x1fU) + - ((int)(uint)uVar8 >> 6 & 0x1fU)) >> 2 & 0x1fU) << 6) | - (ushort)(((int)(((int)(uint)uVar6 >> 1 & 0x1fU) + ((int)(uint)uVar5 >> 1 & 0x1fU) - + ((int)(uint)uVar7 >> 1 & 0x1fU) + - ((int)(uint)uVar8 >> 1 & 0x1fU)) >> 2 & 0x1fU) << 1) | - (ushort)((int)(((uint)uVar6 & 1) + ((uint)uVar5 & 1) + ((uint)uVar7 & 1) + - ((uint)uVar8 & 1) + 2) >> 2) & 1; - } while (iVar13 < (int)uStack12); - } - param_2 += uStack16 * 2; - param_1 = param_1 + uStack12; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16 * 2; - break; - case 4: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar20 = (uint *)((int)param_1 + uVar21 * 2); - puVar19 = puVar20; - puVar16 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - uVar5 = *(ushort *)((int)param_1 + iVar24 * 2); - uVar6 = *(ushort *)puVar16; - uVar7 = *(ushort *)puVar19; - uVar8 = *(ushort *)((int)puVar20 + iVar24 * 2); - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 1; - puVar19 = puVar19 + 1; - *(ushort *)(param_2 + iVar24 * 2) = - (ushort)((((int)(uint)uVar6 >> 8) + ((int)(uint)uVar5 >> 8) + - ((int)(uint)uVar7 >> 8) + ((int)(uint)uVar8 >> 8) >> 2) << 8) | - (ushort)((int)(((uint)uVar6 & 0xff) + ((uint)uVar5 & 0xff) + ((uint)uVar7 & 0xff) - + ((uint)uVar8 & 0xff) + 1) >> 2) & 0xff; - } while (iVar13 < (int)uStack12); - } - param_2 += uStack16 * 2; - param_1 = param_1 + uStack12; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16 * 2; - break; - case 5: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - pbVar17 = (byte *)(uVar21 + (int)param_1); - puVar19 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - bVar1 = *(byte *)puVar19; - bVar2 = *pbVar17; - bVar3 = *(byte *)(uVar21 + iVar24 + (int)param_1); - iVar14 = iVar13 >> 1; - iVar13 += 2; - puVar19 = (uint *)((int)puVar19 + 2); - pbVar17 = pbVar17 + 2; - *(byte *)(param_2 + iVar14) = - ((char)((int)(uint)bVar1 >> 4) + - (char)((int)(uint)*(byte *)((int)param_1 + iVar24) >> 4) + - (char)((int)(uint)bVar2 >> 4) + (char)((int)(uint)bVar3 >> 4)) * '\x04' & 0xf0U - | (byte)((int)(((uint)bVar1 & 0xf) + - ((uint)*(byte *)((int)param_1 + iVar24) & 0xf) + - ((uint)bVar2 & 0xf) + ((uint)bVar3 & 0xf) + 1) >> 2) & 0xf; - } while (iVar13 < (int)uStack12); - } - param_1 = (uint *)((int)param_1 + uStack12 * 2); - param_2 += uStack16; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16; - break; - case 6: - iVar24 = 0; - if (0 < param_4) { - do { - iVar14 = 0; - if (0 < (int)uStack12) { - do { - iVar18 = iVar14 >> 1; - bVar1 = *(byte *)(iVar18 + (int)param_1); - iVar22 = iVar13; - if (param_4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar2 = *(byte *)(iVar22 + iVar18 + (int)param_1); - bVar3 = ((byte *)(iVar18 + (int)param_1))[1]; - iVar22 = iVar13; - if (param_4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar4 = *(byte *)((int)param_1 + iVar22 + iVar18 + 1); - iVar22 = iVar14 >> 2; - iVar14 += 4; - *(byte *)(param_2 + iVar22) = - ((char)((int)(uint)bVar1 >> 5) + ((byte)((int)(uint)bVar1 >> 1) & 7) + - (char)((int)(uint)bVar2 >> 5) + ((byte)((int)(uint)bVar2 >> 1) & 7)) * '\b' & - 0xe0 | (byte)((int)(((int)(uint)bVar3 >> 5) + ((int)(uint)bVar3 >> 1 & 7U) + - ((int)(uint)bVar4 >> 5) + ((int)(uint)bVar4 >> 1 & 7U)) >> 1) - & 0xe | - (((byte)((int)(uint)bVar1 >> 4) & 1) + (bVar1 & 1) + - ((byte)((int)(uint)bVar2 >> 4) & 1) + (bVar2 & 1) + '\x01') * '\x04' & 0x10 | - (byte)((int)(((int)(uint)bVar3 >> 4 & 1U) + ((uint)bVar3 & 1) + - ((int)(uint)bVar4 >> 4 & 1U) + ((uint)bVar4 & 1) + 1) >> 2) & 1; - } while (iVar14 < (int)uStack12); - } - iVar24 += 2; - param_2 += iVar23; - param_1 = (uint *)((int)param_1 + uStack12); - } while (iVar24 < param_4); - } - iVar23 *= iVar15; - break; - case 7: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - pbVar17 = (byte *)(uVar21 + (int)param_1); - puVar19 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - bVar1 = *(byte *)puVar19; - bVar2 = *pbVar17; - iVar14 = iVar13 >> 1; - iVar13 += 2; - puVar19 = (uint *)((int)puVar19 + 2); - pbVar17 = pbVar17 + 2; - *(undefined *)(param_2 + iVar14) = - (char)((int)((uint)bVar1 + (uint)*(byte *)((int)param_1 + iVar24) + (uint)bVar2 + - (uint)*(byte *)(uVar21 + iVar24 + (int)param_1) + 1) >> 2); - } while (iVar13 < (int)uStack12); - } - param_1 = (uint *)((int)param_1 + uStack12 * 2); - param_2 += uStack16; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16; - break; - case 8: - iVar24 = 0; - if (0 < param_4) { - do { - iVar14 = 0; - if (0 < (int)uStack12) { - do { - iVar18 = iVar14 >> 1; - bVar1 = *(byte *)(iVar18 + (int)param_1); - iVar22 = iVar13; - if (param_4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar2 = *(byte *)(iVar22 + iVar18 + (int)param_1); - bVar3 = ((byte *)(iVar18 + (int)param_1))[1]; - iVar22 = iVar13; - if (param_4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar4 = *(byte *)((int)param_1 + iVar22 + iVar18 + 1); - iVar22 = iVar14 >> 2; - iVar14 += 4; - *(byte *)(param_2 + iVar22) = - ((char)((int)(uint)bVar1 >> 4) + (bVar1 & 0xf) + (char)((int)(uint)bVar2 >> 4) + - (bVar2 & 0xf)) * '\x04' & 0xf0 | - (byte)((int)(((int)(uint)bVar3 >> 4) + ((uint)bVar3 & 0xf) + - ((int)(uint)bVar4 >> 4) + ((uint)bVar4 & 0xf)) >> 2) & 0xf; - } while (iVar14 < (int)uStack12); - } - iVar24 += 2; - param_2 += iVar23; - param_1 = (uint *)((int)param_1 + uStack12); - } while (iVar24 < param_4); - } - iVar23 *= iVar15; - } - } - else { - iVar23 = 0; - } - return iVar23; -} - - - -void loc_7F0C969C(int param_1,int param_2,ulonglong param_3) - -{ - bool bVar1; - bool bVar2; - uint uVar3; - ushort *puVar4; - ushort *puVar5; - ushort *puVar6; - ushort uVar7; - ulonglong uVar8; - ushort uVar10; - ulonglong uVar9; - ushort uVar11; - ulonglong uVar12; - int iVar14; - ushort uVar15; - ulonglong uVar13; - ushort uVar16; - int iVar17; - ushort *puVar18; - ulonglong uVar19; - ulonglong uVar20; - ushort uVar21; - int iStack12312; - int iStack12308; - ushort uStack12288; - short sStack12286; - ushort auStack4096 [2048]; - - bVar2 = false; - uVar19 = 0; - if (0 < (longlong)param_3) { - puVar18 = auStack4096; - do { - uVar3 = FUN_7f0ccc0c(8); - uVar19 = SEXT48((int)uVar19 + 1); - *puVar18 = (ushort)uVar3; - puVar18 = puVar18 + 1; - } while (uVar19 != param_3); - } - puVar18 = &uStack12288; - do { - puVar4 = puVar18 + 2; - *puVar18 = 0xffff; - puVar18[1] = 0xffff; - puVar18 = puVar4; - } while (puVar4 < auStack4096); - uVar11 = 9999; - uVar7 = 9999; - uVar19 = 0; - if (0 < (longlong)param_3) { - if ((param_3 & 1) != 0) { - if ((auStack4096[0] < 9999) || (auStack4096[0] < 9999)) { - iStack12312 = 0; - uVar7 = auStack4096[0]; - } - uVar19 = 1; - if (param_3 == 1) goto LAB_7f0ca058; - } - puVar18 = auStack4096 + (int)uVar19; - uVar8 = SEXT48(iStack12312); - uVar12 = SEXT48(iStack12308); - do { - uVar16 = *puVar18; - if (uVar16 < uVar11) { - uVar20 = uVar8; - uVar9 = uVar19; - uVar21 = uVar7; - if (uVar11 <= uVar7) { - uVar20 = uVar19; - uVar9 = uVar12; - uVar21 = uVar16; - uVar16 = uVar11; - } -LAB_7f0c9ff8: - uVar7 = uVar21; - uVar21 = puVar18[1]; - uVar8 = uVar20; - uVar12 = uVar9; - uVar11 = uVar16; - } - else { - bVar1 = uVar16 < uVar7; - uVar20 = uVar19; - uVar9 = uVar12; - uVar21 = uVar16; - uVar16 = uVar11; - if (bVar1) goto LAB_7f0c9ff8; - uVar21 = puVar18[1]; - } - iVar17 = (int)uVar19; - if (uVar21 < uVar11) { - if (uVar7 < uVar11) { - uVar12 = SEXT48(iVar17 + 1); - uVar11 = uVar21; - } - else { - uVar8 = SEXT48(iVar17 + 1); - uVar7 = uVar21; - } - } - else { - if (uVar21 < uVar7) { - uVar8 = SEXT48(iVar17 + 1); - uVar7 = uVar21; - } - } - iStack12308 = (int)uVar12; - iStack12312 = (int)uVar8; - uVar19 = SEXT48(iVar17 + 2); - puVar18 = puVar18 + 2; - } while (uVar19 != param_3); - } -LAB_7f0ca058: - uVar19 = SEXT48(iStack12312); - uVar8 = SEXT48(iStack12308); - do { - uVar12 = 0; - iVar14 = (int)uVar8; - puVar18 = auStack4096 + iVar14; - puVar6 = auStack4096 + iStack12312; - iVar17 = (int)uVar19; - uVar16 = (ushort)((uint)*puVar6 + (uint)*puVar18); - puVar5 = &uStack12288 + iVar17 * 2; - puVar4 = &uStack12288 + iVar14 * 2; - uVar11 = 9999; - uVar7 = 9999; - if ((uint)*puVar6 + (uint)*puVar18 == 0) { - uVar16 = 1; - } - uVar21 = *puVar4; - *puVar18 = 9999; - *puVar6 = 9999; - uVar10 = (ushort)uVar19; - uVar15 = (ushort)uVar8; - if ((short)uVar21 < 0) { - if (-1 < (short)(&uStack12288)[iVar14 * 2 + 1]) { - uVar21 = *puVar5; - goto LAB_7f0ca10c; - } - *puVar4 = uVar15 + 10000; - uVar21 = *puVar5; - *puVar18 = uVar16; - if (((short)uVar21 < 0) && ((short)(&uStack12288)[iVar17 * 2 + 1] < 0)) { - (&uStack12288)[iVar14 * 2 + 1] = uVar10 + 10000; - uVar20 = uVar8; - } - else { - (&uStack12288)[iVar14 * 2 + 1] = uVar10; - uVar20 = uVar8; - } - } - else { - uVar21 = *puVar5; -LAB_7f0ca10c: - if (((short)uVar21 < 0) && ((short)(&uStack12288)[iVar17 * 2 + 1] < 0)) { - *puVar5 = uVar10 + 10000; - uVar21 = *puVar4; - *puVar6 = uVar16; - if (((short)uVar21 < 0) && ((short)(&uStack12288)[iVar14 * 2 + 1] < 0)) { - (&uStack12288)[iVar17 * 2 + 1] = uVar15 + 10000; - uVar20 = uVar19; - } - else { - (&uStack12288)[iVar17 * 2 + 1] = uVar15; - uVar20 = uVar19; - } - } - else { - uVar20 = 0; - if (((short)uStack12288 < 0) && ((sStack12286 < 0 && (0x270e < auStack4096[0])))) { - iVar17 = 0; - puVar18 = &uStack12288; - } - else { - uVar20 = 1; - while( true ) { - while( true ) { - while( true ) { - iVar17 = (int)uVar20; - puVar18 = &uStack12288 + iVar17 * 2; - if ((short)*puVar18 < 0) break; - uVar20 = SEXT48(iVar17 + 1); - } - if ((short)(&uStack12288)[iVar17 * 2 + 1] < 0) break; - uVar20 = SEXT48(iVar17 + 1); - } - if (0x270e < auStack4096[iVar17]) break; - uVar20 = SEXT48(iVar17 + 1); - } - iVar17 <<= 1; - } - *(ushort *)((int)auStack4096 + iVar17) = uVar16; - *puVar18 = uVar15; - puVar18[1] = uVar10; - } - } - if (0 < (longlong)param_3) { - if ((param_3 & 1) == 0) { - iVar17 = 0; - } - else { - uVar12 = 1; - if (auStack4096[0] < 9999) { - uVar19 = 0; - uVar7 = auStack4096[0]; - } - else { - if (auStack4096[0] < 9999) { - uVar19 = 0; - uVar7 = auStack4096[0]; - } - } - iVar17 = 2; - if (param_3 == 1) goto LAB_7f0ca2dc; - } - puVar18 = (ushort *)((int)auStack4096 + iVar17); - do { - uVar16 = *puVar18; - if (uVar16 < uVar11) { - uVar9 = uVar19; - uVar13 = uVar12; - uVar21 = uVar7; - if (uVar11 <= uVar7) { - uVar9 = uVar12; - uVar13 = uVar8; - uVar21 = uVar16; - uVar16 = uVar11; - } -LAB_7f0ca284: - uVar10 = puVar18[1]; - uVar19 = uVar9; - uVar8 = uVar13; - uVar11 = uVar16; - uVar7 = uVar21; - } - else { - bVar1 = uVar16 < uVar7; - uVar9 = uVar12; - uVar13 = uVar8; - uVar21 = uVar16; - uVar16 = uVar11; - if (bVar1) goto LAB_7f0ca284; - uVar10 = puVar18[1]; - } - iVar17 = (int)uVar12; - if (uVar10 < uVar11) { - if (uVar7 < uVar11) { - uVar8 = SEXT48(iVar17 + 1); - uVar11 = uVar10; - } - else { - uVar19 = SEXT48(iVar17 + 1); - uVar7 = uVar10; - } - } - else { - if (uVar10 < uVar7) { - uVar19 = SEXT48(iVar17 + 1); - uVar7 = uVar10; - } - } - uVar12 = SEXT48(iVar17 + 2); - puVar18 = puVar18 + 2; - } while (uVar12 != param_3); - } -LAB_7f0ca2dc: - iVar17 = 0; - if (uVar11 == 9999) { - bVar2 = true; - } - else { - if (uVar7 == 9999) { - bVar2 = true; - } - } - if (bVar2) { - uVar19 = uVar20; - uVar7 = (ushort)uVar20; - if (0 < param_2) { - do { - while ((longlong)uVar19 < 10000) { - uVar3 = FUN_7f0ccc0c(1); - iVar14 = (int)uVar19; - uVar19 = (longlong)(short)(&uStack12288)[iVar14 * 2 + uVar3]; - uVar7 = (&uStack12288)[iVar14 * 2 + uVar3]; - } - if ((longlong)param_3 < 0x101) { - *(char *)(param_1 + iVar17) = (char)uVar7 + -0x10; - } - else { - *(short *)(param_1 + iVar17 * 2) = uVar7 + 0xd8f0; - } - iVar17 += 1; - uVar19 = uVar20; - uVar7 = (ushort)uVar20; - } while (iVar17 != param_2); - } - return; - } - iStack12312 = (int)uVar19; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f0ca4d8) overlaps instruction at (ram,0x7f0ca4d4) -// - -void loc_7F0C98FC(int param_1,int param_2) - -{ - undefined uVar1; - undefined2 uVar2; - uint uVar3; - uint uVar4; - uint uVar5; - uint uVar6; - undefined *puVar7; - undefined *puVar8; - undefined2 *puVar9; - undefined2 *puVar10; - undefined2 *puVar11; - int iVar12; - int iVar13; - int iVar14; - int iVar15; - undefined *puVar16; - undefined2 *puVar17; - int iVar18; - int iVar19; - - uVar3 = FUN_7f0ccc0c(3); - uVar4 = FUN_7f0ccc0c(3); - uVar5 = FUN_7f0ccc0c(4); - iVar19 = 0; - iVar12 = uVar3 + uVar4 + uVar5 + 1; - while (0 < iVar12) { - iVar12 = (iVar12 - uVar5) + -1; - iVar19 += 1; - } - iVar12 = 0; - if (0 < param_2) { - do { - uVar6 = FUN_7f0ccc0c(1); - if (uVar6 == 0) { - if ((int)uVar5 < 9) { - uVar6 = FUN_7f0ccc0c(uVar5); - *(undefined *)(param_1 + iVar12) = (char)uVar6; - iVar12 += 1; - } - else { - uVar6 = FUN_7f0ccc0c(uVar5); - *(undefined2 *)(param_1 + iVar12 * 2) = (short)uVar6; - iVar12 += 1; - } - } - else { - uVar6 = FUN_7f0ccc0c(uVar3); - iVar18 = (iVar12 - uVar6) + -1; - uVar6 = FUN_7f0ccc0c(uVar4); - iVar14 = uVar6 + iVar19; - if ((int)uVar5 < 9) { - iVar15 = iVar18 + iVar14; - puVar16 = (undefined *)(param_1 + iVar12); - if (iVar18 < iVar15) { - uVar6 = iVar15 - iVar18 & 3; - iVar13 = iVar18; - if (uVar6 != 0) { - puVar7 = (undefined *)(param_1 + iVar18); - iVar13 = iVar18; - puVar8 = puVar16; - do { - uVar1 = *puVar7; - iVar13 += 1; - iVar12 += 1; - puVar16 = puVar8 + 1; - puVar7 = puVar7 + 1; - *puVar8 = uVar1; - puVar8 = puVar16; - } while (uVar6 + iVar18 != iVar13); - if (iVar13 == iVar15) goto LAB_7f0ca514; - } - puVar8 = (undefined *)(param_1 + iVar13); - puVar7 = puVar16; - do { - iVar13 += 4; - iVar12 += 4; - *puVar7 = *puVar8; - puVar16 = puVar7 + 4; - puVar7[1] = puVar8[1]; - puVar7[2] = puVar8[2]; - puVar7[3] = puVar8[3]; - puVar8 = puVar8 + 4; - puVar7 = puVar16; - } while (iVar13 != iVar18 + iVar14); - } -LAB_7f0ca514: - uVar6 = FUN_7f0ccc0c(uVar5); - *puVar16 = (char)uVar6; - iVar12 += 1; - } - else { - iVar15 = iVar18 + iVar14; - puVar17 = (undefined2 *)(param_1 + iVar12 * 2); - if (iVar18 < iVar15) { - uVar6 = iVar15 - iVar18 & 3; - iVar13 = iVar18; - if (uVar6 != 0) { - puVar9 = (undefined2 *)(param_1 + iVar18 * 2); - iVar13 = iVar18; - puVar10 = puVar17; - do { - uVar2 = *puVar9; - iVar13 += 1; - iVar12 += 1; - puVar17 = puVar10 + 1; - puVar9 = puVar9 + 1; - *puVar10 = uVar2; - puVar10 = puVar17; - } while (uVar6 + iVar18 != iVar13); - if (iVar13 == iVar15) goto LAB_7f0ca5bc; - } - puVar10 = (undefined2 *)(param_1 + iVar13 * 2); - puVar9 = puVar17; - do { - puVar11 = puVar10 + 4; - iVar12 += 4; - *puVar9 = *puVar10; - puVar17 = puVar9 + 4; - puVar9[1] = puVar10[1]; - puVar9[2] = puVar10[2]; - puVar9[3] = puVar10[3]; - puVar10 = puVar11; - puVar9 = puVar17; - } while (puVar11 != (undefined2 *)((iVar18 + iVar14) * 2 + param_1)); - } -LAB_7f0ca5bc: - uVar6 = FUN_7f0ccc0c(uVar5); - *puVar17 = (short)uVar6; - iVar12 += 1; - } - } - } while (iVar12 < param_2); - } - return; -} - - - -uint loc_7F0C9A00(uint *param_1,longlong param_2) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - uint uVar4; - uint uVar5; - - uVar1 = FUN_7f0ccc0c(0xb); - uVar4 = (uint)param_2; - if (param_2 < 0x11) { - uVar5 = 0; - if (0 < (int)uVar1) { - do { - uVar2 = FUN_7f0ccc0c(uVar4); - uVar5 += 1; - *(short *)param_1 = (short)uVar2; - param_1 = (uint *)((int)param_1 + 2); - } while (uVar5 != uVar1); - } - } - else { - if (param_2 < 0x19) { - uVar5 = 0; - if (0 < (int)uVar1) { - do { - uVar2 = FUN_7f0ccc0c(uVar4); - uVar5 += 1; - *param_1 = uVar2; - param_1 = param_1 + 1; - } while (uVar5 != uVar1); - } - } - else { - uVar5 = 0; - if (0 < (int)uVar1) { - do { - uVar2 = FUN_7f0ccc0c(0x18); - uVar3 = FUN_7f0ccc0c(uVar4 - 0x18); - uVar5 += 1; - *param_1 = uVar3 | uVar2 << 8; - param_1 = param_1 + 1; - } while (uVar5 != uVar1); - } - } - } - return uVar1; -} - - - -int locret_7F0C9A40(int param_1) - -{ - int iVar1; - - param_1 += -1; - iVar1 = 0; - while (0 < param_1) { - param_1 >>= 1; - iVar1 += 1; - } - return iVar1; -} - - - -void loc_7F0C9A84(undefined *param_1,int param_2) - -{ - uint uVar1; - int iVar2; - - iVar2 = 0; - if (0 < param_2) { - do { - uVar1 = FUN_7f0ccc0c(1); - iVar2 += 1; - *param_1 = (char)uVar1; - param_1 = param_1 + 1; - } while (iVar2 != param_2); - } - return; -} - - - -undefined8 loc_7F0C9D7C(void) - -{ - undefined8 uVar1; - ulonglong in_a3; - - if (in_a3 < 9) { - // WARNING: Could not recover jumptable at 0x7f0ca7e4. Too many branches - // WARNING: Treating indirect jump as call - uVar1 = (*(code *)(&PTR_LAB_8005bde0)[(int)in_a3])(); - return uVar1; - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f0cb3bc) overlaps instruction at (ram,0x7f0cb3b8) -// - -int loc_7F0CA87C(int param_1,uint param_2,int param_3,uint *param_4,undefined4 param_5) - -{ - undefined *puVar1; - byte bVar2; - undefined uVar3; - char cVar4; - undefined *puVar5; - char *pcVar6; - byte *pbVar7; - char *pcVar8; - uint uVar9; - int iVar10; - int iVar11; - int iVar12; - uint *puVar13; - ushort *puVar14; - undefined2 *puVar15; - undefined *puVar16; - byte *pbVar17; - byte *pbVar18; - byte *pbVar19; - int iVar20; - - iVar12 = 0; - switch(param_5) { - case 0: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - iVar10 = param_2 * param_3; - pbVar17 = (byte *)(param_1 + iVar12); - pbVar19 = (byte *)(param_1 + iVar12 + iVar10 * 2); - pbVar7 = (byte *)(iVar10 * 3 + iVar12 + param_1); - pbVar18 = (byte *)(param_1 + iVar12 + iVar10); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - bVar2 = *pbVar17; - uVar9 += 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - *puVar13 = (uint)*pbVar7 | (uint)bVar2 << 0x18 | (uint)*pbVar18 << 0x10 | - (uint)*pbVar19 << 8; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - pbVar19 = pbVar19 + 1; - puVar13 = puVar13 + 1; - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 4; - if (uVar9 == param_2) goto LAB_7f0cac60; - } - puVar13 = (uint *)((int)param_4 + iVar10); - do { - uVar9 += 4; - iVar12 += 4; - *puVar13 = (uint)*pbVar7 | (uint)*pbVar17 << 0x18 | (uint)*pbVar18 << 0x10 | - (uint)*pbVar19 << 8; - puVar13[1] = (uint)pbVar7[1] | (uint)pbVar17[1] << 0x18 | (uint)pbVar18[1] << 0x10 | - (uint)pbVar19[1] << 8; - puVar13[2] = (uint)pbVar7[2] | (uint)pbVar17[2] << 0x18 | (uint)pbVar18[2] << 0x10 | - (uint)pbVar19[2] << 8; - puVar13[3] = (uint)pbVar7[3] | (uint)pbVar17[3] << 0x18 | (uint)pbVar18[3] << 0x10 | - (uint)pbVar19[3] << 8; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - pbVar18 = pbVar18 + 4; - pbVar19 = pbVar19 + 4; - puVar13 = puVar13 + 4; - } while (uVar9 != param_2); - } -LAB_7f0cac60: - iVar11 += 1; - param_4 = param_4 + (param_2 + 3 & 0xffc); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 4; - break; - case 1: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - iVar10 = param_2 * param_3; - pbVar17 = (byte *)(param_1 + iVar12); - pbVar19 = (byte *)(param_1 + iVar12 + iVar10 * 2); - pbVar7 = (byte *)(iVar10 * 3 + iVar12 + param_1); - pbVar18 = (byte *)(param_1 + iVar12 + iVar10); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - bVar2 = *pbVar17; - uVar9 += 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - *(ushort *)puVar13 = - (ushort)*pbVar7 | (ushort)bVar2 << 0xb | (ushort)*pbVar18 << 6 | - (ushort)*pbVar19 << 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - pbVar19 = pbVar19 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == param_2) goto LAB_7f0cafa0; - } - puVar14 = (ushort *)((int)param_4 + iVar10); - do { - uVar9 += 4; - iVar12 += 4; - *puVar14 = (ushort)*pbVar7 | (ushort)*pbVar17 << 0xb | (ushort)*pbVar18 << 6 | - (ushort)*pbVar19 << 1; - puVar14[1] = (ushort)pbVar7[1] | (ushort)pbVar17[1] << 0xb | (ushort)pbVar18[1] << 6 | - (ushort)pbVar19[1] << 1; - puVar14[2] = (ushort)pbVar7[2] | (ushort)pbVar17[2] << 0xb | (ushort)pbVar18[2] << 6 | - (ushort)pbVar19[2] << 1; - puVar14[3] = (ushort)pbVar7[3] | (ushort)pbVar17[3] << 0xb | (ushort)pbVar18[3] << 6 | - (ushort)pbVar19[3] << 1; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - pbVar18 = pbVar18 + 4; - pbVar19 = pbVar19 + 4; - puVar14 = puVar14 + 4; - } while (uVar9 != param_2); - } -LAB_7f0cafa0: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 2: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - pbVar17 = (byte *)(param_1 + iVar12); - pbVar18 = (byte *)(param_2 * param_3 * 2 + iVar12 + param_1); - pbVar7 = (byte *)(param_1 + iVar12 + param_2 * param_3); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *puVar13 = (uint)*pbVar18 << 8 | (uint)*pbVar17 << 0x18 | (uint)*pbVar7 << 0x10 | 0xff - ; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - puVar13 = puVar13 + 1; - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 4; - if (uVar9 == param_2) goto LAB_7f0cadec; - } - puVar13 = (uint *)((int)param_4 + iVar10); - do { - uVar9 += 4; - *puVar13 = (uint)*pbVar18 << 8 | (uint)*pbVar17 << 0x18 | (uint)*pbVar7 << 0x10 | 0xff; - iVar12 += 4; - puVar13[1] = (uint)pbVar18[1] << 8 | (uint)pbVar17[1] << 0x18 | (uint)pbVar7[1] << 0x10 - | 0xff; - puVar13[2] = (uint)pbVar18[2] << 8 | (uint)pbVar17[2] << 0x18 | (uint)pbVar7[2] << 0x10 - | 0xff; - puVar13[3] = (uint)pbVar18[3] << 8 | (uint)pbVar17[3] << 0x18 | (uint)pbVar7[3] << 0x10 - | 0xff; - pbVar18 = pbVar18 + 4; - puVar13 = puVar13 + 4; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - } while (uVar9 != param_2); - } -LAB_7f0cadec: - iVar11 += 1; - param_4 = param_4 + (param_2 + 3 & 0xffc); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 4; - break; - case 3: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - pbVar17 = (byte *)(param_1 + iVar12); - pbVar18 = (byte *)(param_2 * param_3 * 2 + iVar12 + param_1); - pbVar7 = (byte *)(param_1 + iVar12 + param_2 * param_3); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *(ushort *)puVar13 = - (ushort)*pbVar18 << 1 | (ushort)*pbVar17 << 0xb | (ushort)*pbVar7 << 6 | 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == param_2) goto LAB_7f0cb240; - } - puVar14 = (ushort *)((int)param_4 + iVar10); - do { - uVar9 += 4; - *puVar14 = (ushort)*pbVar18 << 1 | (ushort)*pbVar17 << 0xb | (ushort)*pbVar7 << 6 | 1; - iVar12 += 4; - puVar14[1] = (ushort)pbVar18[1] << 1 | (ushort)pbVar17[1] << 0xb | - (ushort)pbVar7[1] << 6 | 1; - puVar14[2] = (ushort)pbVar18[2] << 1 | (ushort)pbVar17[2] << 0xb | - (ushort)pbVar7[2] << 6 | 1; - puVar14[3] = (ushort)pbVar18[3] << 1 | (ushort)pbVar17[3] << 0xb | - (ushort)pbVar7[3] << 6 | 1; - pbVar18 = pbVar18 + 4; - puVar14 = puVar14 + 4; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - } while (uVar9 != param_2); - } -LAB_7f0cb240: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 4: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - puVar5 = (undefined *)(param_1 + iVar12); - puVar16 = (undefined *)(iVar12 + param_2 * param_3 + param_1); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *(ushort *)puVar13 = CONCAT11(*puVar5,*puVar16); - iVar12 += 1; - puVar5 = puVar5 + 1; - puVar16 = puVar16 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == param_2) goto LAB_7f0cb0b4; - } - puVar15 = (undefined2 *)((int)param_4 + iVar10); - do { - uVar9 += 4; - *puVar15 = CONCAT11(*puVar5,*puVar16); - iVar12 += 4; - puVar15[1] = CONCAT11(puVar5[1],puVar16[1]); - puVar15[2] = CONCAT11(puVar5[2],puVar16[2]); - puVar1 = puVar16 + 3; - puVar16 = puVar16 + 4; - puVar15[3] = CONCAT11(puVar5[3],*puVar1); - puVar15 = puVar15 + 4; - puVar5 = puVar5 + 4; - } while (uVar9 != param_2); - } -LAB_7f0cb0b4: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 5: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - pcVar6 = (char *)(param_1 + iVar12); - pbVar17 = (byte *)(iVar12 + param_2 * param_3 + param_1); - puVar13 = param_4; - if ((param_2 & 3) != 0) { - do { - uVar9 += 1; - *(byte *)puVar13 = *pbVar17 | *pcVar6 << 4; - iVar12 += 1; - pcVar6 = pcVar6 + 1; - pbVar17 = pbVar17 + 1; - puVar13 = (uint *)((int)puVar13 + 1); - } while ((param_2 & 3) != uVar9); - puVar13 = (uint *)((int)param_4 + uVar9); - if (uVar9 == param_2) goto LAB_7f0cb348; - } - do { - uVar9 += 4; - *(byte *)puVar13 = *pbVar17 | *pcVar6 << 4; - iVar12 += 4; - *(byte *)((int)puVar13 + 1) = pbVar17[1] | pcVar6[1] << 4; - *(byte *)((int)puVar13 + 2) = pbVar17[2] | pcVar6[2] << 4; - pbVar7 = pbVar17 + 3; - pbVar17 = pbVar17 + 4; - *(byte *)((int)puVar13 + 3) = *pbVar7 | pcVar6[3] << 4; - pcVar6 = pcVar6 + 4; - puVar13 = puVar13 + 1; - } while (uVar9 != param_2); - } -LAB_7f0cb348: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 7 & 0xff8)); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 7 & 0xff8) * param_3; - break; - case 6: - iVar11 = 0; - if (0 < param_3) { - do { - iVar10 = 0; - if (0 < (int)param_2) { - pcVar8 = (char *)(param_2 * param_3 * 3 + iVar12 + param_1); - pcVar6 = (char *)(param_1 + iVar12); - do { - pbVar17 = (byte *)(pcVar8 + 1); - iVar12 += 2; - cVar4 = *pcVar8; - pcVar8 = pcVar8 + 2; - iVar20 = iVar10 >> 1; - iVar10 += 2; - *(byte *)((int)param_4 + iVar20) = *pbVar17 | *pcVar6 << 5 | cVar4 << 4 | pcVar6[1] << 1 - ; - pcVar6 = pcVar6 + 2; - } while (iVar10 < (int)param_2); - } - iVar11 += 1; - if ((param_2 & 1) != 0) { - iVar12 += -1; - } - param_4 = (uint *)((int)param_4 + (param_2 + 0xf & 0xff0)); - } while (iVar11 != param_3); - } - param_3 = ((int)(param_2 + 0xf & 0xff0) >> 1) * param_3; - break; - case 7: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - puVar5 = (undefined *)(param_1 + iVar12); - puVar13 = param_4; - if ((param_2 & 3) != 0) { - do { - uVar3 = *puVar5; - uVar9 += 1; - iVar12 += 1; - puVar5 = puVar5 + 1; - *(undefined *)puVar13 = uVar3; - puVar13 = (uint *)((int)puVar13 + 1); - } while ((param_2 & 3) != uVar9); - puVar13 = (uint *)((int)param_4 + uVar9); - if (uVar9 == param_2) goto LAB_7f0cb3f4; - } - do { - uVar9 += 4; - iVar12 += 4; - *(undefined *)puVar13 = *puVar5; - *(undefined *)((int)puVar13 + 1) = puVar5[1]; - *(undefined *)((int)puVar13 + 2) = puVar5[2]; - *(undefined *)((int)puVar13 + 3) = puVar5[3]; - puVar5 = puVar5 + 4; - puVar13 = puVar13 + 1; - } while (uVar9 != param_2); - } -LAB_7f0cb3f4: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 7 & 0xff8)); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 7 & 0xff8) * param_3; - break; - case 8: - iVar11 = 0; - if (0 < param_3) { - do { - iVar10 = 0; - if (0 < (int)param_2) { - pcVar6 = (char *)(param_1 + iVar12); - do { - iVar12 += 2; - iVar20 = iVar10 >> 1; - iVar10 += 2; - *(byte *)((int)param_4 + iVar20) = pcVar6[1] | *pcVar6 << 4; - pcVar6 = pcVar6 + 2; - } while (iVar10 < (int)param_2); - } - iVar11 += 1; - if ((param_2 & 1) != 0) { - iVar12 += -1; - } - param_4 = (uint *)((int)param_4 + ((int)(param_2 + 0xf & 0xff0) >> 1)); - } while (iVar11 != param_3); - } - param_3 = ((int)(param_2 + 0xf & 0xff0) >> 1) * param_3; - break; - default: - param_3 = 0; - } - return param_3; -} - - - -int loc_7F0CAC2C(int param_1,int param_2,int *param_3,int param_4,int param_5,undefined4 param_6) - -{ - uint uVar1; - uint uVar2; - int iVar3; - int *piVar4; - byte *pbVar5; - int iVar6; - - uVar1 = locret_7F0C9A40(param_5); - iVar6 = 0; - switch(param_6) { - case 0: - iVar6 = 0; - if (0 < param_2) { - do { - iVar3 = 0; - piVar4 = param_3; - if (0 < param_1) { - do { - uVar2 = FUN_7f0ccc0c(uVar1); - iVar3 += 1; - *piVar4 = *(int *)(param_4 + uVar2 * 4); - piVar4 = piVar4 + 1; - } while (iVar3 != param_1); - } - iVar6 += 1; - param_3 = param_3 + (param_1 + 3U & 0xffc); - } while (iVar6 != param_2); - } - iVar6 = (param_1 + 3U & 0xffc) * param_2 * 4; - break; - case 1: - case 4: - iVar6 = 0; - if (0 < param_2) { - do { - iVar3 = 0; - piVar4 = param_3; - if (0 < param_1) { - do { - uVar2 = FUN_7f0ccc0c(uVar1); - iVar3 += 1; - *(undefined2 *)piVar4 = *(undefined2 *)(param_4 + uVar2 * 2); - piVar4 = (int *)((int)piVar4 + 2); - } while (iVar3 != param_1); - } - iVar6 += 1; - param_3 = (int *)((int)param_3 + (param_1 + 3U & 0xffc) * 2); - } while (iVar6 != param_2); - } - iVar6 = (param_1 + 3U & 0xffc) * param_2 * 2; - break; - case 2: - iVar6 = 0; - if (0 < param_2) { - do { - iVar3 = 0; - piVar4 = param_3; - if (0 < param_1) { - do { - uVar2 = FUN_7f0ccc0c(uVar1); - iVar3 += 1; - *piVar4 = *(int *)(param_4 + uVar2 * 4) << 8; - piVar4 = piVar4 + 1; - } while (iVar3 != param_1); - } - iVar6 += 1; - param_3 = param_3 + (param_1 + 3U & 0xffc); - } while (iVar6 != param_2); - } - iVar6 = (param_1 + 3U & 0xffc) * param_2 * 4; - break; - case 3: - iVar6 = 0; - if (0 < param_2) { - do { - iVar3 = 0; - piVar4 = param_3; - if (0 < param_1) { - do { - uVar2 = FUN_7f0ccc0c(uVar1); - iVar3 += 1; - *(ushort *)piVar4 = *(short *)(param_4 + uVar2 * 2) << 1 | 1; - piVar4 = (int *)((int)piVar4 + 2); - } while (iVar3 != param_1); - } - iVar6 += 1; - param_3 = (int *)((int)param_3 + (param_1 + 3U & 0xffc) * 2); - } while (iVar6 != param_2); - } - iVar6 = (param_1 + 3U & 0xffc) * param_2 * 2; - break; - case 5: - case 7: - iVar6 = 0; - if (0 < param_2) { - do { - iVar3 = 0; - piVar4 = param_3; - if (0 < param_1) { - do { - uVar2 = FUN_7f0ccc0c(uVar1); - iVar3 += 1; - *(char *)piVar4 = (char)*(undefined2 *)(param_4 + uVar2 * 2); - piVar4 = (int *)((int)piVar4 + 1); - } while (iVar3 != param_1); - } - iVar6 += 1; - param_3 = (int *)((int)param_3 + (param_1 + 7U & 0xff8)); - } while (iVar6 != param_2); - } - iVar6 = (param_1 + 7U & 0xff8) * param_2; - break; - case 6: - case 8: - iVar6 = 0; - if (0 < param_2) { - do { - iVar3 = 0; - if (0 < param_1) { - do { - uVar2 = FUN_7f0ccc0c(uVar1); - pbVar5 = (byte *)((int)param_3 + (iVar3 >> 1)); - *pbVar5 = (char)*(undefined2 *)(param_4 + uVar2 * 2) << 4; - if (iVar3 + 1 < param_1) { - uVar2 = FUN_7f0ccc0c(uVar1); - *pbVar5 = *pbVar5 | *(byte *)(param_4 + uVar2 * 2 + 1); - } - iVar3 += 2; - } while (iVar3 < param_1); - } - iVar6 += 1; - param_3 = (int *)((int)param_3 + ((int)(param_1 + 0xfU & 0xff0) >> 1)); - } while (iVar6 != param_2); - } - iVar6 = ((int)(param_1 + 0xfU & 0xff0) >> 1) * param_2; - } - return iVar6; -} - - - -// WARNING: Instruction at (ram,0x7f0cc128) overlaps instruction at (ram,0x7f0cc124) -// - -int loc_7F0CB66C(ushort *param_1,uint param_2,int param_3,uint *param_4,int param_5,int param_6, - undefined4 param_7) - -{ - uint uVar1; - int iVar2; - ushort *puVar3; - int iVar4; - uint *puVar5; - undefined4 *puVar6; - undefined2 *puVar7; - ushort *puVar8; - ushort *puStack24; - ushort *puStack20; - - puVar3 = param_1; - if (param_6 < 0x101) { - puVar3 = puStack24; - puStack20 = param_1; - } - iVar4 = 0; - switch(param_7) { - case 0: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - puVar5 = param_4; - if ((param_2 & 3) == 0) { - iVar2 = 0; - } - else { - do { - if (param_6 < 0x101) { - *puVar5 = *(uint *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4); - } - else { - *puVar5 = *(uint *)(param_5 + (uint)puVar3[uVar1] * 4); - } - uVar1 += 1; - puVar5 = puVar5 + 1; - } while ((param_2 & 3) != uVar1); - iVar2 = uVar1 * 4; - if (uVar1 == param_2) goto LAB_7f0cbb40; - } - puVar6 = (undefined4 *)((int)param_4 + iVar2); - do { - if (param_6 < 0x101) { - *puVar6 = *(undefined4 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4); - puVar6[1] = *(undefined4 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 4) - ; - puVar6[2] = *(undefined4 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 4) - ; - puVar6[3] = *(undefined4 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 4) - ; - } - else { - *puVar6 = *(undefined4 *)(param_5 + (uint)puVar3[uVar1] * 4); - puVar6[1] = *(undefined4 *)(param_5 + (uint)puVar3[uVar1 + 1] * 4); - puVar6[2] = *(undefined4 *)(param_5 + (uint)puVar3[uVar1 + 2] * 4); - puVar6[3] = *(undefined4 *)(param_5 + (uint)puVar3[uVar1 + 3] * 4); - } - uVar1 += 4; - puVar6 = puVar6 + 4; - } while (uVar1 != param_2); - } -LAB_7f0cbb40: - iVar4 += 1; - param_4 = param_4 + (param_2 + 3 & 0xffc); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 3 & 0xffc) * param_3 * 4; - break; - case 1: - case 4: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - if ((param_2 & 3) == 0) { - iVar2 = 0; - } - else { - iVar2 = 0; - puVar5 = param_4; - do { - if (param_6 < 0x101) { - *(undefined2 *)puVar5 = - *(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - } - else { - *(undefined2 *)puVar5 = - *(undefined2 *)(param_5 + (uint)*(ushort *)((int)puVar3 + iVar2) * 2); - } - uVar1 += 1; - iVar2 += 2; - puVar5 = (uint *)((int)puVar5 + 2); - } while ((param_2 & 3) != uVar1); - iVar2 = uVar1 * 2; - if (uVar1 == param_2) goto LAB_7f0cbf1c; - } - puVar7 = (undefined2 *)((int)param_4 + iVar2); - do { - if (param_6 < 0x101) { - *puVar7 = *(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - puVar7[1] = *(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2) - ; - puVar7[2] = *(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 2) - ; - puVar7[3] = *(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 2) - ; - } - else { - *puVar7 = *(undefined2 *)(param_5 + (uint)*(ushort *)((int)puVar3 + iVar2) * 2); - puVar7[1] = *(undefined2 *)(param_5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 2) * 2); - puVar7[2] = *(undefined2 *)(param_5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 4) * 2); - puVar7[3] = *(undefined2 *)(param_5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 6) * 2); - } - uVar1 += 4; - iVar2 += 8; - puVar7 = puVar7 + 4; - } while (uVar1 != param_2); - } -LAB_7f0cbf1c: - iVar4 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 2: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - puVar5 = param_4; - if ((param_2 & 3) == 0) { - iVar2 = 0; - } - else { - do { - if (param_6 < 0x101) { - *puVar5 = *(int *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4) << 8 | - 0xff; - } - else { - *puVar5 = *(int *)(param_5 + (uint)puVar3[uVar1] * 4) << 8 | 0xff; - } - uVar1 += 1; - puVar5 = puVar5 + 1; - } while ((param_2 & 3) != uVar1); - iVar2 = uVar1 * 4; - if (uVar1 == param_2) goto LAB_7f0cbd5c; - } - puVar5 = (uint *)((int)param_4 + iVar2); - do { - if (param_6 < 0x101) { - *puVar5 = *(int *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4) << 8 | 0xff; - puVar5[1] = *(int *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 4) << 8 | - 0xff; - puVar5[2] = *(int *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 4) << 8 | - 0xff; - puVar5[3] = *(int *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 4) << 8 | - 0xff; - } - else { - *puVar5 = *(int *)(param_5 + (uint)puVar3[uVar1] * 4) << 8 | 0xff; - puVar5[1] = *(int *)(param_5 + (uint)puVar3[uVar1 + 1] * 4) << 8 | 0xff; - puVar5[2] = *(int *)(param_5 + (uint)puVar3[uVar1 + 2] * 4) << 8 | 0xff; - puVar5[3] = *(int *)(param_5 + (uint)puVar3[uVar1 + 3] * 4) << 8 | 0xff; - } - uVar1 += 4; - puVar5 = puVar5 + 4; - } while (uVar1 != param_2); - } -LAB_7f0cbd5c: - iVar4 += 1; - param_4 = param_4 + (param_2 + 3 & 0xffc); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 3 & 0xffc) * param_3 * 4; - break; - case 3: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - if ((param_2 & 1) == 0) { - iVar2 = 0; - } - else { - uVar1 = 1; - if (param_6 < 0x101) { - *(ushort *)param_4 = *(short *)(param_5 + (uint)*(byte *)puStack20 * 2) << 1 | 1; - } - else { - *(ushort *)param_4 = *(short *)(param_5 + (uint)*puVar3 * 2) << 1 | 1; - } - iVar2 = 2; - if (param_2 == 1) goto LAB_7f0cc074; - } - puVar8 = (ushort *)((int)param_4 + iVar2); - do { - if (param_6 < 0x101) { - *puVar8 = *(short *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2) << 1 | 1; - puVar8[1] = *(short *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2) << 1 - | 1; - } - else { - *puVar8 = *(short *)(param_5 + (uint)*(ushort *)((int)puVar3 + iVar2) * 2) << 1 | 1; - puVar8[1] = *(short *)(param_5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 2) * 2) << 1 - | 1; - } - uVar1 += 2; - iVar2 += 4; - puVar8 = puVar8 + 2; - } while (uVar1 != param_2); - } -LAB_7f0cc074: - iVar4 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 5: - case 7: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - puVar5 = param_4; - if ((param_2 & 3) != 0) { - do { - if (param_6 < 0x101) { - *(char *)puVar5 = - (char)*(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - } - else { - *(char *)puVar5 = (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1] * 2); - } - uVar1 += 1; - puVar5 = (uint *)((int)puVar5 + 1); - } while ((param_2 & 3) != uVar1); - puVar5 = (uint *)((int)param_4 + uVar1); - if (uVar1 == param_2) goto LAB_7f0cc238; - } - do { - if (param_6 < 0x101) { - *(char *)puVar5 = - (char)*(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - *(undefined *)((int)puVar5 + 1) = - (char)*(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2); - *(undefined *)((int)puVar5 + 2) = - (char)*(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 2); - *(undefined *)((int)puVar5 + 3) = - (char)*(undefined2 *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 2); - } - else { - *(char *)puVar5 = (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1] * 2); - *(undefined *)((int)puVar5 + 1) = - (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1 + 1] * 2); - *(undefined *)((int)puVar5 + 2) = - (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1 + 2] * 2); - *(undefined *)((int)puVar5 + 3) = - (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1 + 3] * 2); - } - uVar1 += 4; - puVar5 = puVar5 + 1; - } while (uVar1 != param_2); - } -LAB_7f0cc238: - iVar4 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 7 & 0xff8)); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 7 & 0xff8) * param_3; - break; - case 6: - case 8: - iVar4 = 0; - if (0 < param_3) { - do { - iVar2 = 0; - if (0 < (int)param_2) { - do { - if (param_6 < 0x101) { - *(byte *)((int)param_4 + (iVar2 >> 1)) = - (byte)*(undefined2 *)(param_5 + (uint)((byte *)(iVar2 + (int)puStack20))[1] * 2) - | (char)*(undefined2 *)(param_5 + (uint)*(byte *)(iVar2 + (int)puStack20) * 2) << - 4; - } - else { - *(byte *)((int)param_4 + (iVar2 >> 1)) = - (byte)*(undefined2 *)(param_5 + (uint)(puVar3 + iVar2)[1] * 2) | - (char)*(undefined2 *)(param_5 + (uint)puVar3[iVar2] * 2) << 4; - } - iVar2 += 2; - } while (iVar2 < (int)param_2); - } - iVar4 += 1; - param_4 = (uint *)((int)param_4 + ((int)(param_2 + 0xf & 0xff0) >> 1)); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = ((int)(param_2 + 0xf & 0xff0) >> 1) * param_3; - } - return iVar4; -} - - - -// WARNING: Instruction at (ram,0x7f0cc3f8) overlaps instruction at (ram,0x7f0cc3f4) -// - -void locret_7F0CB7D8(int param_1,int param_2,int param_3,int param_4) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 *puVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - uint uStack12; - - switch(param_4) { - case 0: - case 2: - uStack12 = param_2 + 3U & 0xffc; - break; - case 1: - case 3: - case 4: - uStack12 = (int)(param_2 + 3U & 0xffc) >> 1; - break; - case 5: - case 7: - case 9: - case 0xb: - uStack12 = (int)(param_2 + 7U & 0xff8) >> 2; - break; - case 6: - case 8: - case 10: - case 0xc: - uStack12 = (int)(param_2 + 0xfU & 0xff0) >> 3; - } - puVar3 = (undefined4 *)(param_1 + uStack12 * 4); - if ((param_4 == 0) || (param_4 == 2)) { - iVar4 = 1; - if (1 < param_3) { - do { - iVar5 = 0; - puVar6 = puVar3; - if (0 < (int)uStack12) { - do { - uVar1 = puVar6[2]; - puVar6[2] = *puVar6; - uVar2 = puVar6[1]; - iVar5 += 4; - *puVar6 = uVar1; - puVar6[1] = puVar6[3]; - puVar6[3] = uVar2; - puVar6 = puVar6 + 4; - } while (iVar5 < (int)uStack12); - } - iVar4 += 2; - puVar3 = puVar3 + uStack12 * 2; - } while (iVar4 < param_3); - } - } - else { - iVar4 = 1; - if (1 < param_3) { - do { - iVar5 = 0; - puVar6 = puVar3; - if (0 < (int)uStack12) { - do { - uVar1 = puVar6[1]; - iVar5 += 2; - puVar6[1] = *puVar6; - *puVar6 = uVar1; - puVar6 = puVar6 + 2; - } while (iVar5 < (int)uStack12); - } - iVar4 += 2; - puVar3 = puVar3 + uStack12 * 2; - } while (iVar4 < param_3); - } - } - return; -} - - - -void loc_7F0CBAE0(int param_1,int param_2,int param_3,undefined4 param_4,int param_5) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - byte *pbVar5; - uint uVar6; - uint uVar7; - uint uVar8; - int iVar9; - - iVar2 = 0; - if (0 < param_3) { - do { - iVar3 = 0; - if (0 < param_2) { - iVar1 = iVar2 * param_2; - pbVar5 = (byte *)(iVar1 + param_1); - do { - iVar4 = (uint)*pbVar5 + param_5 * 2; - if (iVar3 < 1) { - uVar6 = 0; - } - else { - uVar6 = (uint)pbVar5[-1]; - } - uVar7 = 0; - if (0 < iVar2) { - uVar7 = (uint)*(byte *)((iVar2 + -1) * param_2 + iVar3 + param_1); - } - uVar8 = 0; - if ((0 < iVar3) && (0 < iVar2)) { - uVar8 = (uint)*(byte *)((iVar2 + -1) * param_2 + iVar3 + param_1 + -1); - } - switch(param_4) { - case 0: - *(undefined *)(param_1 + iVar1 + iVar3) = (char)((int)(iVar4 + uVar6) % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 + uVar6 == -0x80000000)) { - trap(0x1800); - } - break; - case 1: - *(undefined *)(param_1 + iVar1 + iVar3) = (char)((int)(iVar4 + uVar7) % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 + uVar7 == -0x80000000)) { - trap(0x1800); - } - break; - case 2: - *(undefined *)(param_1 + iVar1 + iVar3) = (char)((int)(iVar4 + uVar8) % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 + uVar8 == -0x80000000)) { - trap(0x1800); - } - break; - case 3: - iVar4 = ((uVar6 + uVar7) - uVar8) + iVar4; - *(undefined *)(param_1 + iVar1 + iVar3) = (char)(iVar4 % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 4: - iVar9 = uVar7 - uVar8; - if (iVar9 < 0) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + uVar6 + iVar4; - *(undefined *)(param_1 + iVar1 + iVar3) = (char)(iVar4 % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 5: - iVar9 = uVar6 - uVar8; - if (iVar9 < 0) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + uVar7 + iVar4; - *(undefined *)(param_1 + iVar1 + iVar3) = (char)(iVar4 % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 6: - iVar9 = uVar6 + uVar7; - if (false) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + iVar4; - *(undefined *)(param_1 + iVar1 + iVar3) = (char)(iVar4 % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - } - iVar3 += 1; - pbVar5 = pbVar5 + 1; - } while (iVar3 != param_2); - } - iVar2 += 1; - } while (iVar2 != param_3); - } - return; -} - - - -void sub_7F0CBAF4(int *param_1,int param_2,int param_3) - -{ - *param_1 = param_2; - param_1[1] = param_2 + param_3; - param_1[2] = param_2; - param_1[3] = param_2 + param_3; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint * FUN_7f0cc7ec(uint param_1,undefined *param_2) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - - if (param_2 == NULL) { - param_2 = &DAT_8008c790; - puVar1 = _DAT_8008c794; - } - else { - puVar1 = *(uint **)(param_2 + 4); - } - puVar2 = *(uint **)(param_2 + 0xc); - if (puVar2 < puVar1) { - uVar3 = *puVar2; - while( true ) { - if (param_1 == uVar3 >> 0x14) { - return puVar2; - } - puVar2 = puVar2 + 4; - if (puVar1 <= puVar2) break; - uVar3 = *puVar2; - } - } - return NULL; -} - - - -int sub_7F0CBB64(int param_1) - -{ - return *(int *)(param_1 + 0xc) - *(int *)(param_1 + 8); -} - - - -void FUN_7f0cc854(char *param_1,uint *param_2) - -{ - char cVar1; - - if (*param_1 != -0x48) { - cVar1 = *param_1; - do { - if (cVar1 == -3) { - if (param_1[4] == -0x55) { - if (param_1[5] == -0x33) { - FUN_7f0cc8f8((uint *)(param_1 + 4),param_2); - cVar1 = param_1[8]; - } - else { - cVar1 = param_1[8]; - } - } - else { - cVar1 = param_1[8]; - } - } - else { - cVar1 = param_1[8]; - } - param_1 = param_1 + 8; - } while (cVar1 != -0x48); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0cc8f8(uint *param_1,uint *param_2) - -{ - byte bVar1; - uint uVar2; - uint *puVar3; - int iVar4; - uint uVar5; - int iVar6; - int iVar7; - byte abStack4000 [4000]; - - if (param_2 == NULL) { - param_2 = (uint *)&DAT_8008c790; - } - _DAT_8008d104 = *param_1 & 0xffff; - puVar3 = FUN_7f0cc7ec(_DAT_8008d104,(undefined *)param_2); - if (puVar3 == NULL) { - osWritebackDCacheAll(); - loc_70010BB4((longlong)(int)abStack4000,0x2000); - uVar5 = (&DAT_80049330)[_DAT_8008d104 * 2]; - romCopy((longlong)(int)abStack4000,(uVar5 & 0xfffff8) + 0x8f9050, - (longlong) - (int)((((&DAT_80049338)[_DAT_8008d104 * 2] & 0xffffff) - (uVar5 & 0xffffff)) + 0x1f & - 0xfffffff0)); - bVar1 = abStack4000[uVar5 & 7]; - iVar6 = (int)((uint)bVar1 & 0x80) >> 7; - iVar7 = (int)((uint)bVar1 & 0x40) >> 6; - if (((iVar7 == 0) && (iVar4 = sub_7F0CBB64((int)param_2), iVar4 < 0x10cc)) || - ((iVar7 != 0 && (iVar4 = sub_7F0CBB64((int)param_2), iVar4 < 0xa28)))) { - uVar5 = osVirtualToPhysical(*param_2); - *param_1 = uVar5; - return; - } - *(undefined2 *)param_2[2] = (short)_DAT_8008d104; - uVar2 = param_2[3]; - puVar3 = (uint *)(uVar2 - 0x10); - param_2[2] = param_2[2] + 8; - *(uint **)(param_2 + 3) = puVar3; - *(ushort *)puVar3 = (ushort)(_DAT_8008d104 << 4) | *(ushort *)puVar3 & 0xf; - *(uint *)(uVar2 - 0xc) = param_2[2]; - if (iVar7 == 0) { - uVar5 = loc_7F0C8724(abStack4000 + (uVar5 & 7) + 1,(uint *)param_2[2],iVar6,(uint)bVar1 & 0x3f - ,(int)param_2); - } - else { - uVar5 = loc_7F0C6B98(abStack4000 + (uVar5 & 7) + 1,(byte *)param_2[2],iVar6,(uint)bVar1 & 0x3f - ,(int)param_2); - } - param_2[2] = param_2[2] + uVar5; - sub_7F0CBB64((int)param_2); - } - uVar5 = osVirtualToPhysical(puVar3[1]); - *param_1 = uVar5; - return; -} - - - -void FUN_7f0ccb30(int param_1,uint *param_2) - -{ - int *piVar1; - longlong lVar2; - int iVar3; - int *piVar4; - longlong lVar5; - - lVar2 = (longlong)*(short *)(param_1 + 0x16); - piVar1 = *(int **)(param_1 + 0x18); - lVar5 = 0; - if (0 < lVar2) { - iVar3 = 0; - piVar4 = piVar1; - do { - if (*piVar4 < 0xbb9) { - FUN_7f0cc8f8((uint *)(iVar3 + (int)piVar1),param_2); - lVar2 = (longlong)*(short *)(param_1 + 0x16); - } - lVar5 = (longlong)((int)lVar5 + 1); - iVar3 += 0xc; - piVar4 = piVar4 + 3; - } while (lVar5 < lVar2); - } - return; -} - - - -void FUN_7f0ccbc8(uint param_1,uint *param_2) - -{ - uint uStack4; - - uStack4 = param_1; - FUN_7f0cc8f8(&uStack4,param_2); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0ccbf0(undefined4 param_1) - -{ - _DAT_8008d110 = param_1; - _DAT_8008d114 = 0; - _DAT_8008d118 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -uint FUN_7f0ccc0c(uint param_1) - -{ - byte bVar1; - - if ((int)_DAT_8008d118 < (int)param_1) { - do { - _DAT_8008d118 += 8; - bVar1 = *_DAT_8008d110; - _DAT_8008d110 = _DAT_8008d110 + 1; - _DAT_8008d114 = (uint)bVar1 | _DAT_8008d114 << 8; - } while ((int)_DAT_8008d118 < (int)param_1); - } - _DAT_8008d118 -= param_1; - return _DAT_8008d114 >> (_DAT_8008d118 & 0x1f) & (1 << (param_1 & 0x1f)) - 1U; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void loc_7F0CC488(void) - -{ - uint uVar1; - ulonglong uVar2; - int iVar3; - - uVar1 = FUN_70009730(0x2400,4); - uVar2 = (longlong)(int)(uVar1 + 0xfff) & 0xfffffffffffff000; - _DAT_8008d124 = (char *)uVar2; - romCopy(uVar2,0x29de80,0x1400); - _DAT_8008d120 = _DAT_8008d124 + -0x2000000; - _DAT_8008d128 = (uint *)(_DAT_8008d124 + 0xac8); - _DAT_8008d12c = _DAT_8008d124 + 0xad4; - _DAT_8008d130 = _DAT_8008d124 + 0xbc4; - _DAT_8008d134 = _DAT_8008d124 + 0xc0c; - _DAT_8008d138 = _DAT_8008d124 + 0xc48; - _DAT_8008d13c = _DAT_8008d124 + 0xc54; - _DAT_8008d140 = _DAT_8008d124 + 0xc60; - _DAT_8008d144 = _DAT_8008d124 + 0xc6c; - _DAT_8008d148 = _DAT_8008d124 + 0xc78; - _DAT_8008d14c = _DAT_8008d124 + 0xc84; - _DAT_8008d150 = _DAT_8008d124 + 0xc90; - _DAT_8008d154 = _DAT_8008d124 + 0xc9c; - _DAT_8008d158 = _DAT_8008d124 + 0xca8; - _DAT_8008d15c = _DAT_8008d124 + 0xcb4; - _DAT_8008d160 = _DAT_8008d124 + 0xcc0; - _DAT_8008d164 = _DAT_8008d124 + 0xccc; - _DAT_8008d168 = _DAT_8008d124 + 0xcd8; - _DAT_8008d16c = _DAT_8008d124 + 0xce4; - _DAT_8008d170 = _DAT_8008d124 + 0xcf0; - _DAT_8008d174 = _DAT_8008d124 + 0xcfc; - _DAT_8008d178 = _DAT_8008d124 + 0xd08; - _DAT_8008d17c = _DAT_8008d124 + 0xd14; - _DAT_8008d180 = _DAT_8008d124 + 0xd20; - _DAT_8008d184 = _DAT_8008d124 + 0xd2c; - _DAT_8008d188 = _DAT_8008d124 + 0xd38; - _DAT_8008d18c = _DAT_8008d124 + 0xd44; - _DAT_8008d190 = _DAT_8008d124 + 0xd5c; - _DAT_8008d194 = _DAT_8008d124 + 0xfb4; - _DAT_8008d198 = _DAT_8008d124 + 0xfd8; - _DAT_8008d19c = _DAT_8008d124 + 0x1020; - _DAT_8008d1a0 = _DAT_8008d124 + 0x102c; - _DAT_8008d1a4 = _DAT_8008d124 + 0x132c; - FUN_7f0cc854(_DAT_8008d124,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000078,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000120,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x20001c8,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000270,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000318,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x20003c0,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000468,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000510,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x20005b8,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000660,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000708,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x20007b0,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000858,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000900,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x20009a8,NULL); - FUN_7f0cc854(_DAT_8008d120 + 0x2000a50,NULL); - FUN_7f0cc8f8(_DAT_8008d128,NULL); - iVar3 = 0; - do { - FUN_7f0cc8f8((uint *)(_DAT_8008d130 + iVar3),NULL); - iVar3 += 0xc; - } while (iVar3 < 0x48); - iVar3 = 0; - do { - FUN_7f0cc8f8((uint *)(_DAT_8008d134 + iVar3),NULL); - iVar3 += 0xc; - } while (iVar3 != 0x3c); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0cd1a8(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar1 = (undefined4 *)&DAT_8008d1b8; - puVar2 = (undefined4 *)&DAT_8008d318; - do { - puVar2 = puVar2 + 0x14; - puVar1[0xb] = 0; - puVar2[5] = 0; - puVar1[0x16] = 0; - puVar2[10] = 0; - puVar1[0x21] = 0; - puVar2[0xf] = 0; - *puVar1 = 0; - *puVar2 = 0; - puVar1 = puVar1 + 0x2c; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)0x8008d3b8); - _DAT_8008d1b0 = 0xffffffff; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0cd228(int param_1) - -{ - if (param_1 != _DAT_8008d1b0) { - _DAT_8008d1b0 = param_1; - return 1; - } - return 0; -} - - - -undefined8 -FUN_7f0cd254(int param_1,int param_2,int param_3,int param_4,int param_5,int param_6,int param_7, - int param_8,int param_9,int param_10,int param_11) - -{ - undefined8 uVar1; - - param_1 *= 0x2c; - uVar1 = 0; - if ((((((*(int *)(&DAT_8008d1b8 + param_1) == 0) || (param_2 != *(int *)(param_1 + -0x7ff72e44))) - || (param_3 != *(int *)(param_1 + -0x7ff72e40))) || - ((param_4 != *(int *)(param_1 + -0x7ff72e3c) || (param_5 != *(int *)(param_1 + -0x7ff72e38))) - )) || ((param_6 != *(int *)(param_1 + -0x7ff72e34) || - ((param_7 != *(int *)(param_1 + -0x7ff72e30) || - (param_8 != *(int *)(param_1 + -0x7ff72e2c))))))) || - ((param_9 != *(int *)(param_1 + -0x7ff72e28) || - ((param_10 != *(int *)(param_1 + -0x7ff72e24) || (param_11 != *(int *)(param_1 + -0x7ff72e20)) - ))))) { - uVar1 = 1; - *(int *)(&DAT_8008d1b8 + param_1) = 1; - *(int *)(param_1 + -0x7ff72e44) = param_2; - *(int *)(param_1 + -0x7ff72e40) = param_3; - *(int *)(param_1 + -0x7ff72e3c) = param_4; - *(int *)(param_1 + -0x7ff72e38) = param_5; - *(int *)(param_1 + -0x7ff72e34) = param_6; - *(int *)(param_1 + -0x7ff72e30) = param_7; - *(int *)(param_1 + -0x7ff72e2c) = param_8; - *(int *)(param_1 + -0x7ff72e28) = param_9; - *(int *)(param_1 + -0x7ff72e24) = param_10; - *(int *)(param_1 + -0x7ff72e20) = param_11; - } - return uVar1; -} - - - -undefined8 FUN_7f0cd370(int param_1,int param_2,int param_3,int param_4,int param_5) - -{ - undefined8 uVar1; - - param_1 *= 0x14; - uVar1 = 0; - if ((((*(int *)(&DAT_8008d318 + param_1) == 0) || (param_2 != *(int *)(param_1 + -0x7ff72ce4))) || - (param_3 != *(int *)(param_1 + -0x7ff72ce0))) || - ((param_4 != *(int *)(param_1 + -0x7ff72cdc) || (param_5 != *(int *)(param_1 + -0x7ff72cd8))))) - { - uVar1 = 1; - *(int *)(&DAT_8008d318 + param_1) = 1; - *(int *)(param_1 + -0x7ff72ce4) = param_2; - *(int *)(param_1 + -0x7ff72ce0) = param_3; - *(int *)(param_1 + -0x7ff72cdc) = param_4; - *(int *)(param_1 + -0x7ff72cd8) = param_5; - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong locret_7F0CC7F4(uint *param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar3; - ulonglong uVar2; - short *psVar4; - - uVar1 = (ulonglong)*(byte *)(param_1 + 2); - if (param_2 == 0) { - return uVar1; - } - if (-1 < (int)(param_1[3] << 2)) { - uVar2 = 0; - if (0 < (longlong)param_2) { - if ((param_2 & 3) != 0) { - do { - uVar1 = SEXT48((int)uVar1 + 1 >> 1); - uVar2 = SEXT48((int)uVar2 + 1); - } while ((param_2 & 3) != uVar2); - if (uVar2 == param_2) { - return uVar1; - } - } - do { - uVar1 = SEXT48(((((int)uVar1 + 1 >> 1) + 1 >> 1) + 1 >> 1) + 1 >> 1); - uVar2 = SEXT48((int)uVar2 + 4); - } while (uVar2 != param_2); - } - return uVar1; - } - iVar3 = 0; - if (0 < _DAT_8008d100) { - psVar4 = (short *)&DAT_8008c7a0; - do { - if ((longlong)(int)(*param_1 >> 0x14) == (longlong)*psVar4) { - return (ulonglong)(byte)(&DAT_8008c7a1)[iVar3 * 0x10 + (int)param_2]; - } - iVar3 += 1; - psVar4 = psVar4 + 8; - } while (iVar3 < _DAT_8008d100); - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong locret_7F0CC8DC(uint *param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar3; - ulonglong uVar2; - short *psVar4; - - uVar1 = (ulonglong)*(byte *)((int)param_1 + 9); - if (param_2 == 0) { - return uVar1; - } - if (-1 < (int)(param_1[3] << 2)) { - uVar2 = 0; - if (0 < (longlong)param_2) { - if ((param_2 & 3) != 0) { - do { - uVar1 = SEXT48((int)uVar1 + 1 >> 1); - uVar2 = SEXT48((int)uVar2 + 1); - } while ((param_2 & 3) != uVar2); - if (uVar2 == param_2) { - return uVar1; - } - } - do { - uVar1 = SEXT48(((((int)uVar1 + 1 >> 1) + 1 >> 1) + 1 >> 1) + 1 >> 1); - uVar2 = SEXT48((int)uVar2 + 4); - } while (uVar2 != param_2); - } - return uVar1; - } - iVar3 = 0; - if (0 < _DAT_8008d100) { - psVar4 = (short *)&DAT_8008c7a0; - do { - if ((longlong)(int)(*param_1 >> 0x14) == (longlong)*psVar4) { - return (ulonglong)(byte)(&DAT_8008c7a8)[iVar3 * 0x10 + (int)param_2]; - } - iVar3 += 1; - psVar4 = psVar4 + 8; - } while (iVar3 < _DAT_8008d100); - } - return 1; -} - - - -int FUN_7f0cd5c4(uint *param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar2; - int iVar3; - uint uVar4; - - uVar4 = param_1[2] & 3; - uVar1 = locret_7F0CC7F4(param_1,param_2); - iVar2 = (int)uVar1; - if (uVar4 == 3) { - iVar3 = iVar2 + 3; - if (iVar3 < 0) { - iVar3 = iVar2 + 6; - } - iVar3 >>= 2; - } - else { - iVar3 = iVar2 + 3; - if (uVar4 == 2) { - if (iVar3 < 0) { - iVar3 = iVar2 + 6; - } - iVar3 >>= 2; - } - else { - iVar3 = iVar2 + 0xf; - if (uVar4 == 1) { - iVar3 = iVar2 + 7; - if (iVar3 < 0) { - iVar3 = iVar2 + 0xe; - } - iVar3 >>= 3; - } - else { - if (iVar3 < 0) { - iVar3 = iVar2 + 0x1e; - } - iVar3 >>= 4; - } - } - } - return iVar3; -} - - - -int FUN_7f0cd674(uint *param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar2; - - uVar1 = locret_7F0CC8DC(param_1,param_2); - iVar2 = FUN_7f0cd5c4(param_1,(longlong)(int)param_2); - return iVar2 * (int)uVar1; -} - - - -void loc_7F0CCA80(uint *param_1,undefined4 *param_2,int *param_3) - -{ - int iVar1; - uint uVar2; - ulonglong uVar3; - ulonglong uVar4; - - uVar2 = param_1[2] & 3; - uVar3 = SEXT48((int)(uint)(*(byte *)((int)param_1 + 0xb) >> 5)); - if (uVar3 == 0) { - uVar3 = 1; - } - *param_3 = 0; - if (uVar2 == 3) { - *param_2 = 3; - } - else { - if (uVar2 == 2) { - *param_2 = 2; - } - else { - if (uVar2 == 1) { - *param_2 = 2; - } - else { - *param_2 = 2; - } - } - } - uVar4 = 0; - if (uVar3 != 0) { - do { - iVar1 = FUN_7f0cd674(param_1,uVar4); - uVar4 = SEXT48((int)uVar4 + 1); - *param_3 = *param_3 + iVar1 * 4; - } while (uVar4 != uVar3); - } - return; -} - - - -int locret_7F0CCAC4(int param_1) - -{ - int iVar1; - - param_1 += -1; - iVar1 = 0; - if (0 < param_1) { - do { - param_1 >>= 1; - iVar1 += 1; - if (param_1 < 1) { - return iVar1; - } - } while (iVar1 != 8); - } - return iVar1; -} - - - -undefined8 locret_7F0CCAF4(longlong param_1) - -{ - if (param_1 == 1) { - return 2; - } - if (param_1 == 2) { - return 1; - } - return 0; -} - - - -int locret_7F0CCB30(float param_1) - -{ - int iVar1; - - iVar1 = (int)param_1; - if (param_1 <= (float)iVar1) { - return iVar1; - } - return iVar1 + 1; -} - - - -int FUN_7f0cd818(uint *param_1) - -{ - int iVar1; - uint uVar2; - - iVar1 = FUN_7f0cd5c4(param_1,0); - uVar2 = param_1[2] & 3; - if (uVar2 == 3) { - iVar1 = locret_7F0CCB30((2.00000000 / (float)(iVar1 << 2)) * 2048.00000000); - } - else { - if (uVar2 == 2) { - iVar1 = locret_7F0CCB30((4.00000000 / (float)(iVar1 << 2)) * 2048.00000000); - } - else { - if (uVar2 == 1) { - iVar1 = locret_7F0CCB30((8.00000000 / (float)(iVar1 << 3)) * 2048.00000000); - } - else { - iVar1 = locret_7F0CCB30((16.00000000 / (float)(iVar1 << 4)) * 2048.00000000); - } - } - } - return iVar1; -} - - - -uint * loc_7F0CCFA0(uint *param_1,uint *param_2,int param_3,uint param_4,uint param_5,uint param_6) - -{ - int iVar4; - int iVar5; - uint uVar6; - longlong lVar1; - undefined8 uVar2; - undefined8 uVar3; - uint uVar7; - uint uVar8; - uint *puVar9; - uint *puVar10; - int iVar11; - - iVar11 = (*param_2 >> 0x14) * 8; - iVar4 = locret_7F0CCAC4((uint)*(byte *)(param_2 + 2)); - iVar5 = locret_7F0CCAC4((uint)*(byte *)((int)param_2 + 9)); - uVar6 = FUN_7f0cd5c4(param_2,0); - param_1[1] = 0xffffffff; - *param_1 = (param_6 & 0xff) << 8 | 0xfa000000; - puVar9 = param_1 + 2; - lVar1 = FUN_7f0cd228((param_2[3] >> 0x1e) << 0xe); - if (lVar1 != 0) { - *puVar9 = 0xba000e02; - puVar9 = param_1 + 4; - param_1[3] = (param_2[3] >> 0x1e) << 0xe; - } - lVar1 = FUN_7f0cd254(0,(param_2[2] << 0x1b) >> 0x1d,param_2[2] & 3,uVar6, - (*(uint *)(&DAT_80049334 + iVar11) >> 0x1c) + - uVar6 * ((uint)(byte)(&DAT_80049334)[iVar11] & 0xf),0,0, - iVar4 - (uint)((byte)(&DAT_80049335)[iVar11] >> 4), - iVar5 - ((uint)*(ushort *)(&DAT_80049334 + iVar11) & 0xf),param_4,param_5); - puVar10 = puVar9; - if (lVar1 != 0) { - *puVar9 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (param_2[2] & 3) << 0x13 | - (uVar6 & 0x1ff) << 9 | - (*(uint *)(&DAT_80049334 + iVar11) >> 0x1c) + - uVar6 * ((uint)(byte)(&DAT_80049334)[iVar11] & 0xf) & 0x1ff; - puVar10 = puVar9 + 2; - uVar2 = locret_7F0CCAF4(0); - uVar3 = locret_7F0CCAF4(0); - puVar9[1] = ((uint)uVar3 & 3) << 8 | ((uint)uVar2 & 3) << 0x12 | - (iVar5 - (uint)*(ushort *)(&DAT_80049334 + iVar11) & 0xf) << 0xe | - (param_5 & 0xf) << 10 | - (iVar4 - (uint)((byte)(&DAT_80049335)[iVar11] >> 4) & 0xf) << 4 | param_4 & 0xf; - } - iVar4 = 0; - if ((param_3 == 2) && (-1 < (int)(param_2[3] << 2))) { - iVar4 = 2; - } - if (param_3 == 2) { - if ((int)(param_2[3] << 2) < 0) { - uVar6 = 0; - } - else { - uVar6 = 2; - } - } - else { - uVar6 = 0; - } - if (param_3 == 2) { - if ((int)(param_2[3] << 2) < 0) { - iVar5 = 0; - } - else { - iVar5 = 2; - } - } - else { - iVar5 = 0; - } - uVar7 = iVar5 + ((uint)*(byte *)(param_2 + 2) - 1) * 4; - if (param_3 == 2) { - if ((int)(param_2[3] << 2) < 0) { - iVar5 = 0; - } - else { - iVar5 = 2; - } - } - else { - iVar5 = 0; - } - uVar8 = iVar5 + ((uint)*(byte *)((int)param_2 + 9) - 1) * 4; - lVar1 = FUN_7f0cd370(0,iVar4,uVar6,uVar7,uVar8); - if (lVar1 != 0) { - *puVar10 = iVar4 << 0xc | 0xf2000000U | uVar6; - puVar10[1] = (uVar7 & 0xfff) << 0xc | uVar8 & 0xfff; - puVar10 = puVar10 + 2; - } - return puVar10; -} - - - -uint * loc_7F0CD06C(uint *param_1,uint *param_2,int param_3,longlong param_4) - -{ - uint uVar1; - byte bVar2; - uint *puVar3; - uint uVar4; - - uVar4 = 0; - bVar2 = *(byte *)(param_3 + 0xb) >> 5; - if (bVar2 != 0) { - uVar4 = (uint)bVar2 - 1; - } - if (param_4 == 0) { - uVar1 = *param_2; - *param_2 = uVar1 & 0xffffc7ff; - *param_2 = uVar1 & 0xffffc7ff | uVar4 << 0xb; - puVar3 = param_1; - } - else { - if (param_2 == NULL) { - param_1[1] = 0xffffffff; - *param_1 = (uVar4 & 7) << 0xb | 0xbb000001; - puVar3 = param_1 + 2; - } - else { - uVar4 = *param_2 & 0xffffc7ff | uVar4 << 0xb; - puVar3 = param_1; - if (uVar4 != *param_2) { - *param_1 = uVar4; - puVar3 = param_1 + 2; - param_1[1] = param_2[1]; - } - } - } - return puVar3; -} - - - -uint * loc_7F0CD418(uint *param_1,uint *param_2,uint param_3) - -{ - longlong lVar1; - uint uVar2; - uint uVar3; - uint *puVar4; - uint *puVar5; - uint uStack8; - uint uStack4; - - loc_7F0CCA80(param_2,&uStack4,(int *)&uStack8); - if (param_2[3] >> 0x1e == 0) { - *param_1 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | (uStack4 & 3) << 0x13; - puVar4 = param_1 + 2; - param_1[1] = param_2[1]; - lVar1 = FUN_7f0cd254(7,(param_2[2] << 0x1b) >> 0x1d,uStack4,0,param_3,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (uStack4 & 3) << 0x13 | - param_3 & 0x1ff; - param_1[3] = 0x7000000; - puVar4 = param_1 + 4; - } - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = 0xf3000000; - uStack8 -= 1; - if (0x7fe < (int)uStack8) { - uStack8 = 0x7ff; - } - puVar4[3] = (uStack8 & 0xfff) << 0xc | 0x7000000; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - else { - puVar5 = param_1 + 2; - *param_1 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | (uStack4 & 3) << 0x13; - param_1[1] = param_2[1]; - lVar1 = FUN_7f0cd254(7,(param_2[2] << 0x1b) >> 0x1d,uStack4,0,param_3,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar5 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (uStack4 & 3) << 0x13 | - param_3 & 0x1ff; - param_1[3] = 0x7000000; - puVar5 = param_1 + 4; - } - *puVar5 = 0xe6000000; - puVar5[1] = 0; - puVar5[2] = 0xf3000000; - uVar2 = uStack8 - 1; - if (0x7fe < (int)uVar2) { - uVar2 = 0x7ff; - } - puVar5[3] = (uVar2 & 0xfff) << 0xc | 0x7000000; - puVar5[4] = 0xe7000000; - puVar5[5] = 0; - uVar2 = 0x3ff - (uint)*(byte *)((int)param_2 + 10); - puVar4 = puVar5 + 6; - if (uStack8 <= uVar2) { - uVar2 = 0; - } - lVar1 = FUN_7f0cd254(7,0,0,1,0x100,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = 0xf5000300; - puVar5[7] = 0x7000000; - puVar4 = puVar5 + 8; - } - uVar3 = (uVar2 & 0x3ff) << 2; - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = (uStack8 - uVar2 & 0x3ff) << 0xe | 0xf0000000 | uVar3; - puVar4[3] = ((uint)*(byte *)((int)param_2 + 10) + (uStack8 - uVar2) & 0x3ff) << 0xe | 0x7000000 - | uVar3; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - return puVar4 + 6; -} - - - -uint * loc_7F0CD778(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6, - uint param_7) - -{ - ulonglong uVar1; - uint uVar5; - uint uVar6; - uint uVar7; - int iVar8; - longlong lVar2; - undefined8 uVar3; - undefined8 uVar4; - uint uVar9; - int iVar10; - int iVar11; - ulonglong uVar12; - uint *puVar13; - uint uVar14; - uint uStack12; - uint uStack4; - - uStack4 = param_7; - uVar9 = (uint)(*(byte *)((int)param_2 + 0xb) >> 5) + param_6; - if ((int)param_6 < (int)uVar9) { - uVar12._4_4_ = 0; - uStack12 = param_6; - do { - uVar12 = SEXT48((int)uVar12._4_4_); - uVar1 = locret_7F0CC7F4(param_2,uVar12); - uVar5 = locret_7F0CCAC4((int)uVar1); - uVar1 = locret_7F0CC8DC(param_2,uVar12); - uVar6 = locret_7F0CCAC4((int)uVar1); - uVar7 = FUN_7f0cd5c4(param_2,uVar12); - iVar8 = FUN_7f0cd674(param_2,uVar12); - uVar14 = (param_2[3] << 2) >> 0x1f; - lVar2 = FUN_7f0cd228((param_2[3] >> 0x1e) << 0xe); - puVar13 = param_1; - if (lVar2 != 0) { - *param_1 = 0xba000e02; - puVar13 = param_1 + 2; - param_1[1] = (param_2[3] >> 0x1e) << 0xe; - } - lVar2 = FUN_7f0cd254(uStack12,(param_2[2] << 0x1b) >> 0x1d,param_2[2] & 3,uVar7,uStack4, - param_3,param_4,uVar5,uVar6,uVar12._4_4_,uVar12._4_4_); - param_1 = puVar13; - if (lVar2 != 0) { - param_1 = puVar13 + 2; - *puVar13 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (param_2[2] & 3) << 0x13 | - (uVar7 & 0x1ff) << 9 | uStack4 & 0x1ff; - uVar3 = locret_7F0CCAF4((longlong)param_4); - uVar4 = locret_7F0CCAF4((longlong)param_3); - puVar13[1] = ((uint)uVar4 & 3) << 8 | (uStack12 & 7) << 0x18 | ((uint)uVar3 & 3) << 0x12 | - (uVar6 & 0xf) << 0xe | (uVar12._4_4_ & 0xf) << 10 | (uVar5 & 0xf) << 4 | - uVar12._4_4_ & 0xf; - } - if (param_5 == 2) { - if (uVar14 == 0) { - iVar10 = 2; - } - else { - iVar10 = 0; - } - } - else { - iVar10 = 0; - } - if (param_5 == 2) { - if (uVar14 == 0) { - uVar5 = 2; - } - else { - uVar5 = 0; - } - } - else { - uVar5 = 0; - } - uVar1 = locret_7F0CC7F4(param_2,uVar12); - if (param_5 == 2) { - if (uVar14 == 0) { - iVar11 = 2; - } - else { - iVar11 = 0; - } - } - else { - iVar11 = 0; - } - uVar6 = iVar11 + ((int)uVar1 + -1) * 4; - uVar1 = locret_7F0CC8DC(param_2,uVar12); - if (param_5 == 2) { - if (uVar14 == 0) { - iVar11 = 2; - } - else { - iVar11 = 0; - } - } - else { - iVar11 = 0; - } - uVar7 = iVar11 + ((int)uVar1 + -1) * 4; - lVar2 = FUN_7f0cd370(uStack12,iVar10,uVar5,uVar6,uVar7); - uVar12._4_4_ += 1; - if (lVar2 != 0) { - *param_1 = iVar10 << 0xc | 0xf2000000U | uVar5; - param_1[1] = (uStack12 & 7) << 0x18 | (uVar6 & 0xfff) << 0xc | uVar7 & 0xfff; - param_1 = param_1 + 2; - } - uStack12 += 1; - uStack4 += iVar8; - } while (uStack12 != uVar9); - } - return param_1; -} - - - -uint * FUN_7f0ce48c(uint *param_1,uint *param_2) - -{ - uint uVar2; - longlong lVar1; - uint uVar3; - uint *puVar4; - uint *puVar5; - uint uStack8; - uint uStack4; - - uVar2 = FUN_7f0cd818(param_2); - loc_7F0CCA80(param_2,&uStack4,(int *)&uStack8); - if (param_2[3] >> 0x1e == 0) { - *param_1 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | (uStack4 & 3) << 0x13; - puVar4 = param_1 + 2; - param_1[1] = param_2[1]; - lVar1 = FUN_7f0cd254(7,(param_2[2] << 0x1b) >> 0x1d,uStack4,0,0,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (uStack4 & 3) << 0x13; - param_1[3] = 0x7000000; - puVar4 = param_1 + 4; - } - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = 0xf3000000; - uStack8 -= 1; - if (0x7fe < (int)uStack8) { - uStack8 = 0x7ff; - } - puVar4[3] = (uStack8 & 0xfff) << 0xc | 0x7000000 | uVar2 & 0xfff; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - else { - puVar5 = param_1 + 2; - *param_1 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | (uStack4 & 3) << 0x13; - param_1[1] = param_2[1]; - lVar1 = FUN_7f0cd254(7,(param_2[2] << 0x1b) >> 0x1d,uStack4,0,0,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar5 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (uStack4 & 3) << 0x13; - param_1[3] = 0x7000000; - puVar5 = param_1 + 4; - } - *puVar5 = 0xe6000000; - puVar5[1] = 0; - puVar5[2] = 0xf3000000; - uVar3 = uStack8 - 1; - if (0x7fe < (int)uVar3) { - uVar3 = 0x7ff; - } - puVar5[3] = (uVar3 & 0xfff) << 0xc | 0x7000000 | uVar2 & 0xfff; - puVar5[4] = 0xe7000000; - puVar5[5] = 0; - uVar2 = 0x3ff - (uint)*(byte *)((int)param_2 + 10); - puVar4 = puVar5 + 6; - if (uStack8 <= uVar2) { - uVar2 = 0; - } - lVar1 = FUN_7f0cd254(7,0,0,1,0x100,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = 0xf5000300; - puVar5[7] = 0x7000000; - puVar4 = puVar5 + 8; - } - uVar3 = (uVar2 & 0x3ff) << 2; - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = (uStack8 - uVar2 & 0x3ff) << 0xe | 0xf0000000 | uVar3; - puVar4[3] = ((uint)*(byte *)((int)param_2 + 10) + (uStack8 - uVar2) & 0x3ff) << 0xe | 0x7000000 - | uVar3; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - return puVar4 + 6; -} - - - -uint * loc_7F0CDE00(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6) - -{ - uint uVar4; - uint uVar5; - uint uVar6; - longlong lVar1; - undefined8 uVar2; - undefined8 uVar3; - int iVar7; - int iVar8; - uint uVar9; - uint *puVar10; - uint *puVar11; - - uVar4 = locret_7F0CCAC4((uint)*(byte *)(param_2 + 2)); - uVar5 = locret_7F0CCAC4((uint)*(byte *)((int)param_2 + 9)); - uVar6 = FUN_7f0cd5c4(param_2,0); - uVar9 = (param_2[3] << 2) >> 0x1f; - lVar1 = FUN_7f0cd228((param_2[3] >> 0x1e) << 0xe); - puVar10 = param_1; - if (lVar1 != 0) { - *param_1 = 0xba000e02; - puVar10 = param_1 + 2; - param_1[1] = (param_2[3] >> 0x1e) << 0xe; - } - lVar1 = FUN_7f0cd254(param_6,(param_2[2] << 0x1b) >> 0x1d,param_2[2] & 3,uVar6,0,param_3,param_4, - uVar4,uVar5,0,0); - puVar11 = puVar10; - if (lVar1 != 0) { - puVar11 = puVar10 + 2; - *puVar10 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (param_2[2] & 3) << 0x13 | - (uVar6 & 0x1ff) << 9; - uVar2 = locret_7F0CCAF4((longlong)param_4); - uVar3 = locret_7F0CCAF4((longlong)param_3); - puVar10[1] = ((uint)uVar3 & 3) << 8 | (param_6 & 7) << 0x18 | ((uint)uVar2 & 3) << 0x12 | - (uVar5 & 0xf) << 0xe | (uVar4 & 0xf) << 4; - } - iVar7 = 0; - if ((param_5 == 2) && (uVar9 == 0)) { - iVar7 = 2; - } - if (param_5 == 2) { - if (uVar9 == 0) { - uVar4 = 2; - } - else { - uVar4 = 0; - } - } - else { - uVar4 = 0; - } - if (param_5 == 2) { - if (uVar9 == 0) { - iVar8 = 2; - } - else { - iVar8 = 0; - } - } - else { - iVar8 = 0; - } - uVar5 = iVar8 + ((uint)*(byte *)(param_2 + 2) - 1) * 4; - if (param_5 == 2) { - if (uVar9 == 0) { - iVar8 = 2; - } - else { - iVar8 = 0; - } - } - else { - iVar8 = 0; - } - uVar6 = iVar8 + ((uint)*(byte *)((int)param_2 + 9) - 1) * 4; - lVar1 = FUN_7f0cd370(param_6,iVar7,uVar4,uVar5,uVar6); - if (lVar1 != 0) { - *puVar11 = iVar7 << 0xc | 0xf2000000U | uVar4; - puVar11[1] = (param_6 & 7) << 0x18 | (uVar5 & 0xfff) << 0xc | uVar6 & 0xfff; - puVar11 = puVar11 + 2; - } - return puVar11; -} - - - -uint * FUN_7f0ceaf8(uint *param_1,uint *param_2,int param_3,int param_4,int param_5) - -{ - uint *puVar1; - - puVar1 = loc_7F0CD418(param_1,param_2,0); - puVar1 = loc_7F0CD778(puVar1,param_2,param_3,param_4,param_5,0,0); - if (*(byte *)((int)param_2 + 0xb) >> 5 == 1) { - puVar1 = loc_7F0CD778(puVar1,param_2,param_3,param_4,param_5,1,0); - } - return puVar1; -} - - - -uint * loc_7F0CDF94(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint *param_6, - uint param_7,uint param_8,uint param_9) - -{ - uint uVar1; - uint *puVar2; - - uVar1 = FUN_7f0cd674(param_6,0); - puVar2 = FUN_7f0ce48c(param_1,param_6); - *puVar2 = 0xe8000000; - puVar2[1] = 0; - puVar2 = loc_7F0CD418(puVar2 + 2,param_2,uVar1); - puVar2 = loc_7F0CCFA0(puVar2,param_6,param_5,param_7,param_8,param_9); - puVar2 = loc_7F0CD778(puVar2,param_2,param_3,param_4,param_5,1,uVar1); - if (*(byte *)((int)param_2 + 0xb) >> 5 == 1) { - puVar2 = loc_7F0CD778(puVar2,param_2,param_3,param_4,param_5,2,uVar1); - } - return puVar2; -} - - - -uint * FUN_7f0cec88(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6, - uint param_7,uint param_8) - -{ - uint *puVar1; - - puVar1 = loc_7F0CD418(param_1,param_2,0); - puVar1 = loc_7F0CCFA0(puVar1,param_2,param_5,param_6,param_7,param_8); - puVar1 = loc_7F0CD778(puVar1,param_2,param_3,param_4,param_5,1,0); - if (*(byte *)((int)param_2 + 0xb) >> 5 == 1) { - puVar1 = loc_7F0CD778(puVar1,param_2,param_3,param_4,param_5,2,0); - } - return puVar1; -} - - - -uint * FUN_7f0ced44(uint *param_1,uint *param_2,int param_3,int param_4,int param_5) - -{ - uint *puVar1; - - puVar1 = FUN_7f0ce48c(param_1,param_2); - puVar1 = loc_7F0CDE00(puVar1,param_2,param_3,param_4,param_5,0); - return puVar1; -} - - - -uint * FUN_7f0ced8c(uint *param_1,uint *param_2,int param_3,int param_4,int param_5) - -{ - uint *puVar1; - - puVar1 = FUN_7f0ce48c(param_1,param_2); - puVar1 = loc_7F0CDE00(puVar1,param_2,param_3,param_4,param_5,0); - puVar1 = loc_7F0CDE00(puVar1,param_2,param_3,param_4,param_5,1); - return puVar1; -} - - - -uint * loc_7F0CE760(uint *param_1,int param_2,uint *param_3,uint *param_4) - -{ - byte bVar1; - bool bVar2; - bool bVar3; - bool bVar4; - uint uVar5; - uint *puVar6; - uint *puVar7; - uint *puVar8; - int *piVar9; - int iVar10; - longlong lVar11; - ulonglong uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - uint uVar16; - uint uVar17; - uint uVar18; - int iStack60; - uint *puStack12; - - param_2 >>= 3; - puStack12 = NULL; - bVar3 = false; - bVar2 = false; - iStack60 = 1; - bVar4 = false; - FUN_7f0cd1a8(); - puVar6 = param_3; - if (param_4 == NULL) { - param_4 = (uint *)&DAT_8008c790; - puVar6 = param_3; - } - do { - if (param_2 < 1) { - if (bVar4) { - FUN_7f0bc1b0(puVar6); - } - return (uint *)((int)puVar6 - (int)param_3); - } - bVar1 = *(byte *)param_1; - if (bVar1 < 0xc1) { - if (false) { -switchD_7f0ceeb0_caseD_b2: - uVar5 = *param_1; - goto LAB_7f0cf404; - } - switch(bVar1) { - case 0xb1: - case 0xbf: - iStack60 = 1; - bVar2 = false; - *puVar6 = *param_1; - puVar6[1] = param_1[1]; - puVar7 = puVar6 + 2; - break; - default: - goto switchD_7f0ceeb0_caseD_b2; - case 0xba: - if (bVar3) { - bVar1 = *(byte *)((int)param_1 + 2); - puVar7 = puVar6; - if (((bVar1 != 0x11) && (puVar7 = puVar6, bVar1 != 0x14)) && - (puVar7 = puVar6, bVar1 != 0x10)) { - *puVar6 = *param_1; - puVar6[1] = param_1[1]; - puVar7 = puVar6 + 2; - } - } - else { - *puVar6 = *param_1; - puVar6[1] = param_1[1]; - puVar7 = puVar6 + 2; - } - break; - case 0xbb: - iStack60 = 0; - *puVar6 = *param_1; - puVar6[1] = param_1[1]; - puVar7 = puVar6 + 2; - puStack12 = puVar6; - break; - case 0xc0: - puVar7 = puVar6; - if (!bVar2) { - *puVar6 = 0xe7000000; - puVar7 = puVar6 + 2; - puVar6[1] = 0; - bVar2 = true; - } - if (bVar4) { - bVar4 = false; - FUN_7f0bc1b0(puVar7); - uVar5 = param_1[1]; - } - else { - uVar5 = param_1[1]; - } - uVar12 = (longlong)(int)uVar5 & 0xfff; - uVar5 = (uint)uVar12; - if ((uVar12 == (longlong)DAT_800483f8) && (DAT_800483fc != 0)) { - if (*(char *)(DAT_800483fc + uVar5 * 4) == -1) { - bVar3 = false; - } - else { - bVar3 = true; - } - } - else { - bVar3 = false; - } - FUN_7f0ccbc8(uVar5,param_4); - puVar6 = FUN_7f0cc7ec(uVar5,(undefined *)param_4); - if (puVar6 != NULL) { - lVar11 = (longlong)iStack60; - iStack60 = 0; - puVar7 = loc_7F0CD06C(puVar7,puStack12,(int)puVar6,lVar11); - uVar16 = *param_1; - switch(uVar16 & 7) { - case 0: - uVar14 = param_1[1]; - uVar17 = uVar16 >> 0x16 & 3; - uVar18 = uVar16 >> 0x14 & 3; - uVar13 = uVar16 >> 0x12 & 3; - uVar15 = uVar16 >> 0xe & 0xf; - uVar16 = uVar16 >> 10 & 0xf; - if (DAT_800483fc != 0) { - iVar10 = uVar5 * 4; - if (*(char *)(DAT_800483fc + iVar10) == -1) { - *(char *)(DAT_800483fc + iVar10) = (char)(uVar14 >> 0x18); - *(byte *)(DAT_800483fc + iVar10 + 1) = - ('\x0f' - (char)uVar15) * ' ' | *(byte *)(DAT_800483fc + iVar10 + 1) & 0x1f; - *(byte *)(DAT_800483fc + iVar10 + 1) = - ('\x0f' - (char)uVar16) * '\x04' & 0x1cU | - *(byte *)(DAT_800483fc + iVar10 + 1) & 0xe3; - } - } - if (bVar3) { - piVar9 = (int *)(DAT_800483fc + uVar5 * 4); - puVar7 = FUN_7f0cec88(puVar7,puVar6,uVar17,uVar18,uVar13, - 0xf - (uint)(*(byte *)((int)piVar9 + 1) >> 5), - 0xf - ((uint)(*piVar9 << 0xb) >> 0x1d),(uint)*(byte *)piVar9); - *puVar7 = 0xba001402; - puVar7[1] = 0x100000; - puVar7[3] = 0x10000; - puVar7[2] = 0xba001001; - puVar7[5] = 0x40000; - puVar7[4] = 0xba001102; - puVar7 = puVar7 + 6; - } - else { - puVar7 = FUN_7f0cec88(puVar7,puVar6,uVar17,uVar18,uVar13,uVar15,uVar16,uVar14 >> 0x18) - ; - } - break; - case 1: - uVar5 = param_1[1] >> 0xc & 0xfff; - FUN_7f0ccbc8(uVar5,param_4); - puVar8 = FUN_7f0cc7ec(uVar5,(undefined *)param_4); - if (puVar8 != NULL) { - uVar5 = *param_1; - puVar7 = loc_7F0CDF94(puVar7,puVar6,uVar5 >> 0x16 & 3,uVar5 >> 0x14 & 3, - uVar5 >> 0x12 & 3,puVar8,uVar5 >> 0xe & 0xf,uVar5 >> 10 & 0xf, - param_1[1] >> 0x18); - } - break; - case 2: - uVar14 = uVar16 >> 0x16 & 3; - uVar13 = uVar16 >> 0x14 & 3; - uVar16 = uVar16 >> 0x12 & 3; - if (bVar3) { - piVar9 = (int *)(DAT_800483fc + uVar5 * 4); - puVar7 = FUN_7f0cec88(puVar7,puVar6,uVar14,uVar13,uVar16, - 0xf - (uint)(*(byte *)((int)piVar9 + 1) >> 5), - 0xf - ((uint)(*piVar9 << 0xb) >> 0x1d),(uint)*(byte *)piVar9); - *puVar7 = 0xba001402; - puVar7[1] = 0x100000; - puVar7[3] = 0x10000; - puVar7[2] = 0xba001001; - puVar7[5] = 0x40000; - puVar7[4] = 0xba001102; - puVar7 = puVar7 + 6; - } - else { - puVar7 = FUN_7f0ceaf8(puVar7,puVar6,uVar14,uVar13,uVar16); - } - break; - case 3: - puVar7 = FUN_7f0ced8c(puVar7,puVar6,uVar16 >> 0x16 & 3,uVar16 >> 0x14 & 3, - uVar16 >> 0x12 & 3); - break; - case 4: - puVar7 = FUN_7f0ced44(puVar7,puVar6,uVar16 >> 0x16 & 3,uVar16 >> 0x14 & 3, - uVar16 >> 0x12 & 3); - } - if (uVar12 == 0x5e4) { - puVar7 = FUN_7f093fdc(puVar7,1); - FUN_7f0cd1a8(); - } - if (uVar12 == 0x5e7) { - puVar7 = FUN_7f0941fc(puVar7,1); - FUN_7f0cd1a8(); - } - lVar11 = locret_7F0BB68C(uVar12); - if (lVar11 != 0) { - bVar4 = true; - FUN_7f0bc14c(puVar7); - } - } - } - } - else { - if (bVar1 == 0xe7) { - bVar2 = true; - *puVar6 = *param_1; - puVar6[1] = param_1[1]; - puVar7 = puVar6 + 2; - goto LAB_7f0cf418; - } - uVar5 = *param_1; -LAB_7f0cf404: - *puVar6 = uVar5; - puVar6[1] = param_1[1]; - puVar7 = puVar6 + 2; - } -LAB_7f0cf418: - param_1 = param_1 + 2; - param_2 += -1; - puVar6 = puVar7; - } while( true ); -} - - - -void locret_7F0CE7DC(int param_1,int param_2,int param_3) - -{ - undefined4 uVar1; - undefined4 uVar2; - int iVar3; - undefined4 *puVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - - iVar5 = (param_3 >> 3) + -1; - iVar6 = iVar5 * 8; - puVar7 = (undefined4 *)(iVar6 + param_1); - puVar4 = (undefined4 *)(iVar6 + param_2); - iVar6 = param_3 >> 3; - while (iVar3 = iVar5, iVar6 != 0) { - uVar1 = *puVar7; - uVar2 = puVar7[1]; - puVar7 = puVar7 + -2; - *puVar4 = uVar1; - puVar4[1] = uVar2; - iVar5 = iVar3 + -1; - puVar4 = puVar4 + -2; - iVar6 = iVar3; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 FUN_7f0cf4d0(int param_1,undefined4 param_2,undefined4 param_3) - -{ - _DAT_8008d3c0 = param_1 + 2; - _DAT_8008d3cc = 0; - _DAT_8008d3c8 = 0; - _DAT_8008d3c4 = param_2; - _DAT_8008d3d0 = param_3; - FUN_7f0d09b4(); - return _DAT_8008d3cc; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int FUN_7f0cf574(void) - -{ - return _DAT_8008d3c0 + _DAT_8008d3c8; -} - - - -// WARNING: Instruction at (ram,0x7f0cfb10) overlaps instruction at (ram,0x7f0cfb0c) -// -// WARNING: Could not reconcile some variable overlaps -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong loc_7F0CEEC0(int *param_1,uint param_2,uint param_3,int param_4,int param_5,uint *param_6, - uint *param_7) - -{ - uint *puVar1; - uint uVar2; - uint *puVar3; - int iVar4; - int iVar5; - uint uVar6; - uint uVar7; - int *piVar8; - uint *puVar9; - int iVar10; - uint uVar11; - uint *puVar12; - int iVar13; - uint uVar14; - undefined4 *puVar15; - uint uVar16; - uint uVar17; - int *piVar18; - int *piVar19; - uint *puVar20; - uint uVar21; - uint uVar22; - uint uVar23; - uint uVar24; - uint *puStack1436; - uint auStack1404 [2]; - int aiStack1396 [16]; - uint auStack1332 [288]; - uint auStack180 [16]; - undefined4 uStack116; - uint uStack112; - uint uStack72; - int aiStack68 [15]; - int aiStack8 [2]; - - locret_70017CD4(&uStack72,0x44); - uVar16 = 1; - uVar21 = param_2; - piVar18 = param_1; - if (-(param_2 & 3) == 0) goto LAB_7f0cf628; - uVar21 = param_2; - piVar18 = param_1; - do { - iVar5 = *piVar18; - uVar21 -= 1; - piVar18 = piVar18 + 1; - puVar3 = &uStack72 + iVar5; - *puVar3 = *puVar3 + 1; - } while (-(param_2 & 3) + param_2 != uVar21); - while (uVar21 != 0) { -LAB_7f0cf628: - uVar21 -= 4; - puVar3 = &uStack72 + *piVar18; - *puVar3 = *puVar3 + 1; - puVar3 = &uStack72 + piVar18[1]; - *puVar3 = *puVar3 + 1; - puVar3 = &uStack72 + piVar18[2]; - *puVar3 = *puVar3 + 1; - puVar3 = &uStack72 + piVar18[3]; - *puVar3 = *puVar3 + 1; - piVar18 = piVar18 + 4; - } - puVar3 = (uint *)aiStack68; - if (param_2 == uStack72) { - *param_6 = 0; - *param_7 = 0; - return 0; - } - do { - if (*puVar3 != 0) break; - uVar16 += 1; - puVar3 = puVar3 + 1; - } while (uVar16 != 0x11); - uVar21 = *param_7; - if (*param_7 < uVar16) { - uVar21 = uVar16; - } - uVar22 = 0x10; - piVar18 = aiStack8; - do { - if (*piVar18 != 0) break; - uVar22 -= 1; - piVar18 = piVar18 + -1; - } while (uVar22 != 0); - if (uVar22 < uVar21) { - uVar21 = uVar22; - } - *param_7 = uVar21; - iVar5 = 1 << (uVar16 & 0x1f); - if (uVar16 < uVar22) { - do { - uVar23 = *puVar3; - puVar3 = puVar3 + 1; - iVar5 = (iVar5 - uVar23) * 2; - } while (puVar3 < &uStack72 + uVar22); - } - uVar23 = uVar22 - 1; - iVar10 = 0; - iVar5 -= *piVar18; - *piVar18 = *piVar18 + iVar5; - piVar19 = aiStack68; - piVar8 = aiStack1396; - puVar3 = (uint *)(piVar18 + -1); - if (uVar23 != 0) { - if (-(uVar23 & 3) != 0) { - do { - puVar3 = puVar3 + -1; - piVar18 = piVar8 + 1; - iVar10 += *piVar19; - *piVar8 = iVar10; - piVar19 = piVar19 + 1; - piVar8 = piVar18; - } while (&uStack72 + -(uVar23 & 3) + uVar23 != puVar3); - piVar8 = piVar18; - if (puVar3 == &uStack72) goto LAB_7f0cf80c; - } - do { - iVar13 = *piVar19; - puVar3 = puVar3 + -4; - *piVar8 = iVar10 + iVar13; - iVar10 = iVar10 + iVar13 + piVar19[1]; - piVar8[1] = iVar10; - iVar10 += piVar19[2]; - piVar8[2] = iVar10; - iVar10 += piVar19[3]; - piVar8[3] = iVar10; - piVar19 = piVar19 + 4; - piVar8 = piVar8 + 4; - } while (puVar3 != &uStack72); - } -LAB_7f0cf80c: - uVar23 = 0; - puVar3 = auStack1332; - iVar10 = *param_1; - while( true ) { - param_1 = param_1 + 1; - if (iVar10 != 0) { - uVar24 = auStack1404[iVar10]; - puVar3[uVar24] = uVar23; - auStack1404[iVar10] = uVar24 + 1; - } - uVar23 += 1; - if (param_2 <= uVar23) break; - iVar10 = *param_1; - } - uVar24 = 0; - iVar10 = -1; - uVar23 = -uVar21; - uVar7 = 0; - uVar6 = 0; - if ((int)uVar16 <= (int)uVar22) { - puStack1436 = &uStack72 + uVar16; - do { - iVar13 = iVar10 * 4; - if (*puStack1436 != 0) { - puVar12 = auStack1404 + iVar10; - uVar14 = 1 << (uVar16 + 0x1f & 0x1f); - puVar20 = puVar3; - uVar11 = *puStack1436; - do { - uVar17 = uVar11 - 1; - if ((int)(uVar23 + uVar21) < (int)uVar16) { - uVar2 = uVar23 + uVar21; - puVar3 = (uint *)((int)auStack180 + iVar13); - do { - uVar23 = uVar2; - iVar10 += 1; - iVar13 += 4; - puVar12 = puVar12 + 1; - uVar7 = uVar22 - uVar23; - if (uVar21 < uVar22 - uVar23) { - uVar7 = uVar21; - } - uVar2 = uVar16 - uVar23; - uVar6 = 1 << (uVar2 & 0x1f); - if (uVar11 < uVar6) { - iVar4 = (uVar6 - uVar17) + -1; - puVar9 = &uStack72 + uVar16; - while (uVar2 += 1, uVar2 < uVar7) { - puVar1 = puVar9 + 1; - puVar9 = puVar9 + 1; - if ((uint)(iVar4 * 2) <= *puVar1) break; - iVar4 = iVar4 * 2 - *puVar1; - } - } - uVar6 = 1 << (uVar2 & 0x1f); - iVar4 = _DAT_8008d3dc * 8; - _DAT_8008d3dc = _DAT_8008d3dc + uVar6 + 1; - iVar4 += _DAT_8008d3d0; - uVar7 = iVar4 + 8; - *param_6 = uVar7; - *(undefined4 *)(iVar4 + 4) = 0; - param_6 = (uint *)(iVar4 + 4); - puVar3[1] = uVar7; - if (iVar10 != 0) { - *puVar12 = uVar24; - uStack116._1_3_ = CONCAT12((char)uVar21,uStack116._2_2_); - uStack116 = CONCAT13((char)uVar2 + '\x10',uStack116._1_3_); - puVar15 = (undefined4 *)(*puVar3 + (uVar24 >> (uVar23 - uVar21 & 0x1f)) * 8); - *puVar15 = uStack116; - puVar15[1] = uVar7; - uStack112 = uVar7; - } - uVar2 = uVar23 + uVar21; - puVar3 = puVar3 + 1; - } while ((int)(uVar23 + uVar21) < (int)uVar16); - } - uStack116._1_3_ = CONCAT12((char)(uVar16 - uVar23),uStack116._2_2_); - if (puVar20 < auStack1332 + param_2) { - uVar11 = *puVar20; - if (uVar11 < param_3) { - if (uVar11 < 0x100) { - uStack116 = CONCAT13(0x10,uStack116._1_3_); - } - else { - uStack116 = CONCAT13(0xf,uStack116._1_3_); - } - puVar3 = puVar20 + 1; - uStack112 = uStack112 & 0xffff | *puVar20 << 0x10; - } - else { - puVar3 = puVar20 + 1; - uStack116 = CONCAT13(*(undefined *)((uVar11 - param_3) + param_5),uStack116._1_3_); - uStack112 = uStack112 & 0xffff | - (uint)*(ushort *)(param_4 + *puVar20 * 2 + param_3 * -2) << 0x10; - } - } - else { - uStack116 = CONCAT13(99,uStack116._1_3_); - puVar3 = puVar20; - } - uVar11 = uVar24 >> (uVar23 & 0x1f); - if (uVar11 < uVar6) { - do { - puVar15 = (undefined4 *)(uVar7 + uVar11 * 8); - *puVar15 = uStack116; - uVar11 += 1 << (uVar16 - uVar23 & 0x1f); - puVar15[1] = uStack112; - } while (uVar11 < uVar6); - } - uVar2 = uVar24 & uVar14; - uVar11 = uVar14; - while (uVar2 != 0) { - uVar24 ^= uVar11; - uVar2 = uVar24 & uVar11 >> 1; - uVar11 = uVar11 >> 1; - } - uVar24 ^= uVar11; - if ((uVar24 & (1 << (uVar23 & 0x1f)) - 1U) != *puVar12) { - do { - uVar23 -= uVar21; - puVar20 = puVar12 + -1; - iVar10 += -1; - iVar13 += -4; - puVar12 = puVar12 + -1; - } while ((uVar24 & (1 << (uVar23 & 0x1f)) - 1U) != *puVar20); - } - puVar20 = puVar3; - uVar11 = uVar17; - } while (uVar17 != 0); - } - uVar16 += 1; - puStack1436 = puStack1436 + 1; - } while ((int)uVar16 <= (int)uVar22); - } - return (ulonglong)(iVar5 != 0 && uVar22 != 1); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0cfbd0(int param_1,int param_2,ulonglong param_3,uint param_4) - -{ - byte bVar1; - undefined uVar2; - uint uVar3; - bool bVar4; - undefined *puVar5; - int iVar6; - byte *pbVar7; - uint uVar8; - ulonglong uVar9; - ulonglong uVar10; - byte *pbVar11; - undefined *puVar12; - ulonglong uVar13; - int iVar14; - uint uVar15; - ulonglong uVar16; - uint uVar17; - uint uVar18; - int iVar19; - - iVar6 = (int)param_3; - uVar13 = SEXT48(_DAT_8008d3d8); - uVar9 = (ulonglong)*(ushort *)(&DAT_8004e9e0 + iVar6 * 2); - uVar10 = (ulonglong)*(ushort *)(&DAT_8004e9e0 + param_4 * 2); - iVar19 = _DAT_8008d3cc; - uVar17 = _DAT_8008d3d4; - do { - bVar4 = uVar13 < param_3; - while( true ) { - if (bVar4) { - do { - pbVar7 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar8 = (uint)uVar13; - uVar13 = SEXT48((int)(uVar8 + 8)); - uVar17 |= (uint)*pbVar7 << (uVar8 & 0x1f); - } while (uVar13 < param_3); - } - uVar8 = (uint)uVar13; - pbVar7 = (byte *)((uVar17 & (uint)uVar9) * 8 + param_1); - uVar16 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) { - bVar1 = pbVar7[1]; - } - else { - bVar1 = pbVar7[1]; - while( true ) { - iVar14 = (int)uVar16 + -0x10; - uVar8 = (int)uVar13 - (uint)bVar1; - uVar17 >>= (uint)bVar1 & 0x1f; - while (uVar13 = SEXT48((int)uVar8), uVar13 < (ulonglong)(longlong)iVar14) { - pbVar11 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar15 = uVar8 & 0x1f; - uVar8 += 8; - uVar17 |= (uint)*pbVar11 << uVar15; - } - pbVar7 = (byte *)(((uint)*(ushort *)(&DAT_8004e9e0 + iVar14 * 2) & uVar17) * 8 + - *(int *)(pbVar7 + 4)); - uVar16 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) break; - bVar1 = pbVar7[1]; - } - bVar1 = pbVar7[1]; - } - uVar17 >>= (uint)bVar1 & 0x1f; - iVar14 = uVar8 - (uint)bVar1; - uVar13 = SEXT48(iVar14); - if (uVar16 == 0x10) break; - if (uVar16 == 0xf) { - _DAT_8008d3cc = iVar19; - _DAT_8008d3d4 = uVar17; - _DAT_8008d3d8 = iVar14; - return 0; - } - uVar8 = (uint)uVar16; - while (uVar13 < uVar16) { - pbVar11 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar15 = (uint)uVar13; - iVar14 = uVar15 + 8; - uVar13 = SEXT48(iVar14); - uVar17 |= (uint)*pbVar11 << (uVar15 & 0x1f); - } - uVar15 = iVar14 - uVar8; - uVar18 = uVar17 >> (uVar8 & 0x1f); - uVar8 = ((uint)*(ushort *)(&DAT_8004e9e0 + uVar8 * 2) & uVar17) + - (uint)*(ushort *)(pbVar7 + 4); - while (uVar15 < param_4) { - pbVar7 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar17 = uVar15 & 0x1f; - uVar15 += 8; - uVar18 |= (uint)*pbVar7 << uVar17; - } - pbVar7 = (byte *)((uVar18 & (uint)uVar10) * 8 + param_2); - uVar13 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) { - bVar1 = pbVar7[1]; - } - else { - bVar1 = pbVar7[1]; - while( true ) { - uVar17 = (int)uVar13 - 0x10; - uVar15 -= (uint)bVar1; - uVar18 >>= (uint)bVar1 & 0x1f; - while (uVar15 < uVar17) { - pbVar11 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar3 = uVar15 & 0x1f; - uVar15 += 8; - uVar18 |= (uint)*pbVar11 << uVar3; - } - pbVar7 = (byte *)(((uint)*(ushort *)(&DAT_8004e9e0 + uVar17 * 2) & uVar18) * 8 + - *(int *)(pbVar7 + 4)); - uVar13 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) break; - bVar1 = pbVar7[1]; - } - bVar1 = pbVar7[1]; - } - uVar15 -= (uint)bVar1; - uVar18 >>= (uint)bVar1 & 0x1f; - while ((ulonglong)(longlong)(int)uVar15 < uVar13) { - pbVar11 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar17 = uVar15 & 0x1f; - uVar15 += 8; - uVar18 |= (uint)*pbVar11 << uVar17; - } - uVar17 = (uint)uVar13; - uVar13 = SEXT48((int)(uVar15 - uVar17)); - iVar14 = (iVar19 - (uint)*(ushort *)(pbVar7 + 4)) - - ((uint)*(ushort *)(&DAT_8004e9e0 + uVar17 * 2) & uVar18); - uVar17 = uVar18 >> (uVar17 & 0x1f); - do { - if ((uint)(iVar19 - iVar14) < uVar8) { - do { - puVar5 = (undefined *)(_DAT_8008d3c4 + iVar19); - if (((undefined *)(_DAT_8008d3c0 + _DAT_8008d3c8) <= puVar5) && - (puVar5 + -(int)(undefined *)(_DAT_8008d3c0 + _DAT_8008d3c8) < (undefined *)0x8000)) - { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - puVar12 = (undefined *)(iVar14 + _DAT_8008d3c4); - uVar8 -= 1; - iVar14 += 1; - iVar19 += 1; - *puVar5 = *puVar12; - } while (uVar8 != 0); - } - else { - uVar15 = (iVar19 + uVar8 + _DAT_8008d3c4) - 1; - if (((uint)(_DAT_8008d3c0 + _DAT_8008d3c8) <= uVar15) && - (uVar15 - (_DAT_8008d3c0 + _DAT_8008d3c8) < 0x8000)) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - locret_70013874((char *)(_DAT_8008d3c4 + iVar19),_DAT_8008d3c4 + iVar14); - uVar9 = SEXT48((int)uVar9); - uVar10 = SEXT48((int)uVar10); - param_3 = SEXT48(iVar6); - iVar14 += uVar8; - iVar19 = iVar19 + uVar8; - } - uVar8 = 0; - } while (false); - bVar4 = uVar13 < param_3; - } - puVar5 = (undefined *)(_DAT_8008d3c4 + iVar19); - if (puVar5 < (undefined *)(_DAT_8008d3c0 + _DAT_8008d3c8)) { - uVar2 = (undefined)*(undefined2 *)(pbVar7 + 4); - } - else { - if (puVar5 + -(int)(undefined *)(_DAT_8008d3c0 + _DAT_8008d3c8) < (undefined *)0x8000) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - uVar2 = (undefined)*(undefined2 *)(pbVar7 + 4); - } - iVar19 += 1; - *puVar5 = uVar2; - } while( true ); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0d006c(void) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - uint uVar4; - undefined *puVar5; - byte *pbVar6; - - uVar4 = _DAT_8008d3d8 - (_DAT_8008d3d8 & 7); - _DAT_8008d3d4 >>= _DAT_8008d3d8 & 7; - while (uVar4 < 0x10) { - pbVar6 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar3 = uVar4 & 0x1f; - uVar4 += 8; - _DAT_8008d3d4 |= (uint)*pbVar6 << uVar3; - } - uVar4 -= 0x10; - uVar2 = _DAT_8008d3d4 & 0xffff; - uVar3 = 0; - while (uVar4 < 0x10) { - pbVar6 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar1 = uVar4 & 0x1f; - uVar4 += 8; - uVar3 |= (uint)*pbVar6 << uVar1; - } - _DAT_8008d3d8 = uVar4 - 0x10; - _DAT_8008d3d4 = uVar3 >> 0x10; - while( true ) { - if (uVar2 == 0) { - return 0; - } - uVar2 -= 1; - while (_DAT_8008d3d8 < 8) { - pbVar6 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar4 = _DAT_8008d3d8 & 0x1f; - _DAT_8008d3d8 += 8; - _DAT_8008d3d4 |= (uint)*pbVar6 << uVar4; - } - puVar5 = (undefined *)(_DAT_8008d3c4 + _DAT_8008d3cc); - if (((undefined *)(_DAT_8008d3c0 + _DAT_8008d3c8) <= puVar5) && - (puVar5 + -(int)(undefined *)(_DAT_8008d3c0 + _DAT_8008d3c8) < (undefined *)0x8000)) break; - *puVar5 = (char)_DAT_8008d3d4; - _DAT_8008d3cc += 1; - _DAT_8008d3d8 -= 8; - _DAT_8008d3d4 = _DAT_8008d3d4 >> 8; - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -undefined8 FUN_7f0d0208(void) - -{ - uint *puVar1; - uint *puVar2; - undefined4 *puVar3; - uint uStack1172; - undefined4 uStack1168; - undefined4 auStack1164 [28]; - undefined4 auStack1052 [114]; - uint auStack596 [112]; - uint auStack148 [24]; - uint auStack52 [8]; - uint uStack20; - uint uStack16; - uint uStack12; - uint auStack8 [2]; - - puVar1 = &uStack1172; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 8; - puVar1[2] = 8; - puVar1[3] = 8; - *puVar1 = 8; - puVar1 = puVar2; - } while (puVar2 != auStack596); - if (puVar2 < auStack148) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 9; - puVar1 = puVar2; - } while (puVar2 < auStack148); - } - if (puVar2 < auStack52) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 7; - puVar1 = puVar2; - } while (puVar2 < auStack52); - } - if (puVar2 < &uStack20) { - do { - puVar1 = puVar2 + 1; - *puVar2 = 8; - puVar2 = puVar1; - } while (puVar1 < &uStack20); - } - uStack16 = 7; - loc_7F0CEEC0((int *)&uStack1172,0x120,0x101,(int)&DAT_8004e924,(int)&DAT_8004e964,auStack8, - &uStack16); - uStack1168 = 5; - uStack1172 = 5; - puVar3 = auStack1164; - do { - puVar3 = puVar3 + 4; - puVar3[1] = 5; - puVar3[2] = 5; - puVar3[3] = 5; - *puVar3 = 5; - puVar3 = puVar3; - } while (puVar3 != auStack1052); - uStack20 = 5; - loc_7F0CEEC0((int *)&uStack1172,0x1e,0,(int)&DAT_8004e984,(int)&DAT_8004e9c0,&uStack12,&uStack20); - FUN_7f0cfbd0(auStack8[0],uStack12,(longlong)(int)uStack16,uStack20); - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0d0370(void) - -{ - byte bVar1; - ushort uVar2; - ushort uVar3; - bool bVar4; - uint *puVar5; - uint uVar6; - int iVar7; - byte *pbVar8; - ulonglong uVar9; - uint uVar10; - byte *pbVar11; - uint uVar12; - uint local_528 [316]; - uint local_38; - uint local_34; - uint local_30; - uint local_2c; - uint local_24; - uint local_20; - uint local_1c; - uint local_18 [6]; - - local_34 = _DAT_8008d3d8; - uVar6 = _DAT_8008d3d8; - uVar10 = _DAT_8008d3d4; - if (_DAT_8008d3d8 < 5) { - do { - pbVar8 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - local_34 = uVar6 + 8; - uVar10 |= (uint)*pbVar8 << (uVar6 & 0x1f); - uVar6 = local_34; - } while (local_34 < 5); - } - local_34 -= 5; - local_2c = (uVar10 & 0x1f) + 0x101; - uVar10 >>= 5; - while (local_34 < 5) { - pbVar8 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar10 |= (uint)*pbVar8 << uVar6; - } - local_34 -= 5; - local_30 = (uVar10 & 0x1f) + 1; - uVar10 >>= 5; - while (local_34 < 4) { - pbVar8 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar10 |= (uint)*pbVar8 << uVar6; - } - local_38 = uVar10 >> 4; - local_34 -= 4; - uVar6 = 0; - if ((uVar10 & 0xf) != 0xfffffffc) { - pbVar8 = &DAT_8004e910; - do { - uVar6 += 1; - while (local_34 < 3) { - pbVar11 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar12 = local_34 & 0x1f; - local_34 += 8; - local_38 |= (uint)*pbVar11 << uVar12; - } - bVar1 = *pbVar8; - uVar12 = local_38 & 7; - pbVar8 = pbVar8 + 1; - local_38 >>= 3; - local_528[(uint)bVar1] = uVar12; - local_34 -= 3; - } while (uVar6 != (uVar10 & 0xf) + 4); - } - if (uVar6 < 0x13) { - pbVar8 = &DAT_8004e910 + uVar6; - do { - bVar1 = *pbVar8; - pbVar8 = pbVar8 + 1; - local_528[(uint)bVar1] = 0; - } while (pbVar8 < (byte *)0x8004e923); - } - local_20 = 7; - loc_7F0CEEC0((int *)local_528,0x13,0x13,0,0,local_18,&local_20); - uVar6 = local_2c + local_30; - uVar2 = *(ushort *)(&DAT_8004e9e0 + local_20 * 2); - uVar9 = 0; - uVar10 = 0; - _DAT_8008d3d8 = local_34; - _DAT_8008d3d4 = local_38; - if (uVar6 != 0) { - do { - while (_DAT_8008d3d8 < local_20) { - pbVar8 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar12 = _DAT_8008d3d8 & 0x1f; - _DAT_8008d3d8 = _DAT_8008d3d8 + 8; - _DAT_8008d3d4 = _DAT_8008d3d4 | (uint)*pbVar8 << uVar12; - } - local_1c = (_DAT_8008d3d4 & (uint)uVar2) * 8 + local_18[0]; - _DAT_8008d3d4 >>= (uint)*(byte *)(local_1c + 1) & 0x1f; - _DAT_8008d3d8 -= (uint)*(byte *)(local_1c + 1); - uVar3 = *(ushort *)(local_1c + 4); - if (uVar3 < 0x10) { - local_528[uVar10] = (uint)uVar3; - uVar10 += 1; - uVar9 = (ulonglong)uVar3; -LAB_7f0d07c8: - bVar4 = uVar10 < uVar6; - } - else { - if (uVar3 != 0x10) { - uVar9 = 0; - if (uVar3 == 0x11) { - while (_DAT_8008d3d8 < 3) { - pbVar8 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar12 = _DAT_8008d3d8 & 0x1f; - _DAT_8008d3d8 += 8; - _DAT_8008d3d4 |= (uint)*pbVar8 << uVar12; - } - uVar12 = _DAT_8008d3d4 & 7; - _DAT_8008d3d4 >>= 3; - _DAT_8008d3d8 -= 3; - iVar7 = uVar12 + 2; - if (uVar12 != 0xfffffffd) { - puVar5 = local_528 + uVar10; - do { - *puVar5 = 0; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar10 < uVar6; - goto LAB_7f0d07cc; - } - } - else { - while (_DAT_8008d3d8 < 7) { - pbVar8 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar12 = _DAT_8008d3d8 & 0x1f; - _DAT_8008d3d8 += 8; - _DAT_8008d3d4 |= (uint)*pbVar8 << uVar12; - } - uVar12 = _DAT_8008d3d4 & 0x7f; - _DAT_8008d3d4 >>= 7; - _DAT_8008d3d8 -= 7; - iVar7 = uVar12 + 10; - if (uVar12 != 0xfffffff5) { - puVar5 = local_528 + uVar10; - do { - *puVar5 = 0; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - } - } - goto LAB_7f0d07c8; - } - while (_DAT_8008d3d8 < 2) { - pbVar8 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar12 = _DAT_8008d3d8 & 0x1f; - _DAT_8008d3d8 += 8; - _DAT_8008d3d4 |= (uint)*pbVar8 << uVar12; - } - uVar12 = _DAT_8008d3d4 & 3; - _DAT_8008d3d4 >>= 2; - _DAT_8008d3d8 -= 2; - iVar7 = uVar12 + 2; - if (uVar12 == 0xfffffffd) goto LAB_7f0d07c8; - puVar5 = local_528 + uVar10; - do { - *puVar5 = (uint)uVar9; - uVar10 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar10 < uVar6; - } -LAB_7f0d07cc: - } while (bVar4); - } - local_20 = DAT_8004ea04; - loc_7F0CEEC0((int *)local_528,local_2c,0x101,(int)&DAT_8004e924,(int)&DAT_8004e964,local_18, - &local_20); - local_24 = DAT_8004ea08; - loc_7F0CEEC0((int *)(local_528 + local_2c),local_30,0,(int)&DAT_8004e984,(int)&DAT_8004e9c0, - &local_1c,&local_24); - FUN_7f0cfbd0(local_18[0],local_1c,(longlong)(int)local_20,local_24); - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined8 FUN_7f0d0894(uint *param_1) - -{ - uint uVar2; - undefined8 uVar1; - uint uVar3; - byte *pbVar4; - - if (_DAT_8008d3d8 == 0) { - do { - pbVar4 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar3 = _DAT_8008d3d8 & 0x1f; - _DAT_8008d3d8 += 8; - _DAT_8008d3d4 |= (uint)*pbVar4 << uVar3; - } while (_DAT_8008d3d8 == 0); - } - _DAT_8008d3d8 -= 1; - uVar3 = _DAT_8008d3d4 >> 1; - *param_1 = _DAT_8008d3d4 & 1; - while (_DAT_8008d3d8 < 2) { - pbVar4 = (byte *)(_DAT_8008d3c0 + _DAT_8008d3c8); - _DAT_8008d3c8 += 1; - uVar2 = _DAT_8008d3d8 & 0x1f; - _DAT_8008d3d8 += 8; - uVar3 |= (uint)*pbVar4 << uVar2; - } - uVar2 = uVar3 & 3; - _DAT_8008d3d4 = uVar3 >> 2; - _DAT_8008d3d8 -= 2; - if (uVar2 == 2) { - uVar1 = FUN_7f0d0370(); - } - else { - if (uVar2 == 0) { - uVar1 = FUN_7f0d006c(); - } - else { - if (uVar2 == 1) { - uVar1 = FUN_7f0d0208(); - } - else { - uVar1 = 2; - } - } - } - return uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong FUN_7f0d09b4(void) - -{ - longlong lVar1; - uint uVar2; - uint uStack4; - - _DAT_8008d3cc = 0; - _DAT_8008d3d8 = 0; - _DAT_8008d3d4 = 0; - uVar2 = 0; - do { - _DAT_8008d3dc = 0; - lVar1 = FUN_7f0d0894(&uStack4); - if (lVar1 != 0) { - return lVar1; - } - if (uVar2 < _DAT_8008d3dc) { - uVar2 = _DAT_8008d3dc; - } - } while (uStack4 == 0); - while (7 < _DAT_8008d3d8) { - _DAT_8008d3d8 -= 8; - _DAT_8008d3c8 += -1; - } - return 0; -} - - - -void FUN_7f0d0a90(void) - -{ - loc_70004E88(&DAT_8004ea10,(byte *)s_rsp_c_debug_8005bff0); - return; -} - - - -void FUN_7f0d0abc(void) - -{ - DAT_8004ea18 = FUN_70009730(0xa000,6); - DAT_8004ea14 = DAT_8004ea18 + 0xa000; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d0af8(int param_1,int param_2,undefined8 param_3,undefined4 param_4) - -{ - undefined4 uVar1; - undefined *puVar2; - - puVar2 = PTR_DAT_8004eae0; - *(undefined4 *)(PTR_DAT_8004eae0 + 0x18) = 0x80020dd0; - *(undefined4 *)(puVar2 + 0x1c) = 0xd0; - *(undefined4 *)(puVar2 + 0x20) = 0x80020ea0; - *(undefined4 *)(puVar2 + 0x28) = 0x8005c860; - *(undefined4 *)(puVar2 + 0x38) = DAT_8004ea18; - uVar1 = DAT_8004ea14; - *(int *)(puVar2 + 0x40) = param_1; - *(int *)(puVar2 + 0x44) = (param_2 - param_1 >> 3) << 3; - *(undefined4 *)(puVar2 + 0x48) = 0x8008d7e0; - *(undefined4 *)(puVar2 + 0x4c) = 0xba0; - *(undefined4 *)(puVar2 + 0x3c) = uVar1; - *(undefined4 *)puVar2 = 0; - *(undefined4 *)(puVar2 + 8) = 99; - *(undefined4 *)(puVar2 + 0x50) = 0x8005d9e0; - *(undefined4 *)(puVar2 + 0x54) = param_4; - *(undefined4 *)(puVar2 + 0xc) = *(undefined4 *)(PTR_DAT_8004eae0 + 0x58); - osWritebackDCacheAll(); - osSendMesg(_DAT_8005da78,(int)puVar2,1); - PTR_DAT_8004eae0 = (undefined *)((uint)PTR_DAT_8004eae0 ^ 0xa0); - return; -} - - - -void FUN_7f0d0c10(void) - -{ - if (DAT_8004eaf8 != 1) { - DAT_8004eaf8 = 1; - FUN_7f0d0c4c(); - } - return; -} - - - -void FUN_7f0d0c4c(void) - -{ - if (DAT_8004eaf8 != 0) { - FUN_7f0d171c(); - } - return; -} - - - -void FUN_7f0d0c7c(char *param_1,undefined *param_2) - -{ - int iStack16; - undefined4 uStack12; - undefined4 auStack8 [2]; - - if (DAT_8004eaf8 != 0) { - FUN_7f0d1884(param_1,0x400000); - FUN_7f0d24dc(auStack8,&uStack12,&iStack16,param_2); - } - return; -} - - - -void FUN_7f0d0cc0(char *param_1,undefined *param_2,uint param_3) - -{ - undefined4 uStack4; - - if (DAT_8004eaf8 != 0) { - post_indy__res_cmd_send_capture_data(param_1,param_3,param_2); - FUN_7f0d2544(&uStack4); - } - return; -} - - - -void FUN_7f0d0cfc(char *param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - if (DAT_8004eaf8 != 0) { - FUN_7f0d19f8(param_1,param_2,param_3); - FUN_7f0d258c(&uStack4,&uStack8,&uStack12); - } - return; -} - - - -void FUN_7f0d0d3c(char *param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uStack4; - - if (DAT_8004eaf8 != 0) { - FUN_7f0d1ab0(param_1,param_3,param_2); - FUN_7f0d25e8(&uStack4); - } - return; -} - - - -undefined4 FUN_7f0d0d78(char *param_1,undefined4 *param_2) - -{ - undefined4 local_4; - - if (DAT_8004eaf8 == 0) { - local_4 = 0; - } - else { - FUN_7f0d17ec(param_1); - FUN_7f0d248c(&local_4,param_2); - } - return local_4; -} - - - -undefined4 FUN_7f0d0dc0(char *param_1) - -{ - undefined4 local_4; - - if (DAT_8004eaf8 == 0) { - local_4 = 0; - } - else { - FUN_7f0d1b54(param_1); - FUN_7f0d2630(&local_4); - } - return local_4; -} - - - -void FUN_7f0d0e04(void) - -{ - if (DAT_8004eaf8 != 0) { - rmon_debug_returns_neg_1(); - } - return; -} - - - -undefined4 FUN_7f0d0e34(void) - -{ - undefined4 uVar1; - - uVar1 = FUN_7f0d0dc0(s_sleep_5___etc_killall_ghost_gloa_8005c000); - return uVar1; -} - - - -void FUN_7f0d0e60(void) - -{ - int iVar1; - - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - FUN_7000cf00(); - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - return; -} - - - -void FUN_7f0d0eb0(void) - -{ - int iVar1; - - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - FUN_7000cef8(); - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0d0fac) overlaps instruction at (ram,0x7f0d0fa8) -// - -undefined8 loc_7F0D0348(undefined *param_1,uint param_2) - -{ - undefined uVar1; - undefined *puVar2; - uint uVar3; - uint uVar4; - undefined *puVar5; - undefined auStack1280 [4]; - undefined auStack1276 [1276]; - - puVar5 = auStack1280; - if (((uint)param_1 & 7) != 0) { - if (0x500 < param_2) { - return 0; - } - if (false) { - puVar5 = auStack1276; - } - puVar2 = puVar5; - while (puVar2 < puVar5 + param_2) { - uVar1 = *param_1; - param_1 = param_1 + 1; - *puVar2 = uVar1; - puVar2 = puVar2 + 1; - } - if (((DAT_8004eaf4 & 0x20) != 0) && (param_2 != 0)) { - if ((param_2 & 3) == 0) { - uVar4 = 4; - } - else { - uVar3 = 1; - while ((param_2 & 3) != uVar3) { - uVar3 += 1; - } - uVar4 = uVar3 + 4; - if (uVar3 == param_2) goto LAB_7f0d0fb8; - } - while (uVar4 != param_2) { - uVar4 += 4; - } - } -LAB_7f0d0fb8: - FUN_7f0d0eb0(); - return 1; - } - if (((DAT_8004eaf4 & 0x20) != 0) && (param_2 != 0)) { - if ((param_2 & 3) == 0) { - uVar4 = 4; - } - else { - uVar3 = 1; - while ((param_2 & 3) != uVar3) { - uVar3 += 1; - } - uVar4 = uVar3 + 4; - if (uVar3 == param_2) goto LAB_7f0d1018; - } - while (uVar4 != param_2) { - uVar4 += 4; - } - } -LAB_7f0d1018: - FUN_7f0d0eb0(); - return 1; -} - - - -undefined8 FUN_7f0d1038(undefined *param_1,uint param_2,undefined *param_3,uint param_4) - -{ - loc_7F0D0348(param_1,param_2); - loc_7F0D0348(param_3,param_4); - return 1; -} - - - -void sub_7F0D038C(undefined4 param_1,undefined4 param_2) - -{ - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack20 = 0x9abf1623; - uStack16 = 1; - uStack12 = 0x14; - uStack8 = param_1; - uStack4 = param_2; - loc_7F0D0348((undefined *)&uStack20,0x14); - return; -} - - - -void sub_7F0D03D4(undefined4 param_1,undefined4 param_2) - -{ - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack20 = 0x9abf1623; - uStack16 = 2; - uStack12 = 0x14; - uStack8 = param_1; - uStack4 = param_2; - loc_7F0D0348((undefined *)&uStack20,0x14); - return; -} - - - -void sub_7F0D041C(undefined4 param_1,undefined4 param_2) - -{ - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack20 = 0x9abf1623; - uStack16 = 0; - uStack12 = 0x14; - uStack8 = param_1; - uStack4 = param_2; - loc_7F0D0348((undefined *)&uStack20,0x14); - return; -} - - - -void sub_7F0D0460(undefined4 param_1,undefined4 param_2,char *param_3) - -{ - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - undefined4 uStack264; - undefined4 uStack260; - char acStack256 [255]; - undefined uStack1; - - uStack276 = 0x9abf1623; - uStack272 = 3; - uStack268 = 0x114; - uStack264 = param_1; - uStack260 = param_2; - locret_7000A7F4(acStack256,param_3,0x100); - uStack1 = 0; - loc_7F0D0348((undefined *)&uStack276,0x114); - return; -} - - - -void sub_7F0D04C4(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 4; - uStack16 = 0x18; - uStack12 = param_1; - uStack8 = param_2; - uStack4 = param_3; - loc_7F0D0348((undefined *)&uStack24,0x18); - return; -} - - - -void sub_7F0D0514(undefined4 param_1,undefined4 param_2,char *param_3) - -{ - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - undefined4 uStack264; - undefined4 uStack260; - char acStack256 [255]; - undefined uStack1; - - uStack276 = 0x9abf1623; - uStack272 = 5; - uStack268 = 0x114; - uStack264 = param_1; - uStack260 = param_2; - locret_7000A7F4(acStack256,param_3,0x100); - uStack1 = 0; - loc_7F0D0348((undefined *)&uStack276,0x114); - return; -} - - - -void sub_7F0D0578(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack28 = 0x9abf1623; - uStack24 = 6; - uStack20 = 0x1c; - uStack16 = param_1; - uStack12 = param_2; - uStack8 = param_3; - uStack4 = param_4; - loc_7F0D0348((undefined *)&uStack28,0x1c); - return; -} - - - -void sub_7F0D05D0(undefined4 param_1,undefined4 param_2,char *param_3,undefined4 param_4) - -{ - undefined4 uStack280; - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - undefined4 uStack264; - char acStack260 [255]; - undefined uStack5; - undefined4 uStack4; - - uStack280 = 0x9abf1623; - uStack276 = 7; - uStack272 = 0x118; - uStack268 = param_1; - uStack264 = param_2; - locret_7000A7F4(acStack260,param_3,0x100); - uStack5 = 0; - uStack4 = param_4; - loc_7F0D0348((undefined *)&uStack280,0x118); - return; -} - - - -void sub_7F0D0644(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, - uint param_5,undefined *param_6) - -{ - undefined4 uStack32; - undefined4 uStack28; - int iStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - uint uStack4; - - iStack24 = (param_5 + 3 & 0xfffffffc) + 0x20; - uStack32 = 0x9abf1623; - uStack28 = 8; - uStack4 = param_5; - uStack20 = param_1; - uStack16 = param_2; - uStack12 = param_3; - uStack8 = param_4; - FUN_7f0d1038((undefined *)&uStack32,0x20,param_6,param_5); - return; -} - - - -void sub_7F0D06C0(undefined4 param_1,undefined4 param_2,char *param_3,uint param_4, - undefined *param_5) - -{ - undefined4 uStack276; - undefined4 uStack272; - int iStack268; - undefined4 uStack264; - undefined4 uStack260; - char acStack256 [255]; - undefined uStack1; - - iStack268 = (param_4 + 3 & 0xfffffffc) + 0x114; - uStack276 = 0x9abf1623; - uStack272 = 9; - uStack264 = param_1; - uStack260 = param_2; - locret_7000A7F4(acStack256,param_3,0x100); - uStack1 = 0; - FUN_7f0d1038((undefined *)&uStack276,0x114,param_5,param_4); - return; -} - - - -void FUN_7f0d1420(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 10; - uStack16 = 0x18; - uStack12 = param_1; - uStack8 = param_2; - uStack4 = param_3; - loc_7F0D0348((undefined *)&uStack24,0x18); - return; -} - - - -void FUN_7f0d1470(undefined4 param_1,undefined4 param_2,char *param_3,undefined4 param_4, - undefined4 param_5) - -{ - undefined4 uStack284; - undefined4 uStack280; - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - char acStack264 [255]; - undefined uStack9; - undefined4 uStack8; - undefined4 uStack4; - - uStack284 = 0x9abf1623; - uStack280 = 0xf; - uStack276 = 0x11c; - uStack272 = param_1; - uStack268 = param_2; - locret_7000A7F4(acStack264,param_3,0x100); - uStack9 = 0; - uStack4 = param_5; - uStack8 = param_4; - loc_7F0D0348((undefined *)&uStack284,0x11c); - return; -} - - - -void sub_7F0D080C(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, - undefined4 param_5) - -{ - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack32 = 0x9abf1623; - uStack28 = 0x10; - uStack24 = 0x20; - uStack4 = param_5; - uStack20 = param_1; - uStack16 = param_2; - uStack12 = param_3; - uStack8 = param_4; - loc_7F0D0348((undefined *)&uStack32,0x20); - return; -} - - - -void FUN_7f0d154c(undefined4 param_1,undefined4 param_2,char *param_3,undefined4 param_4, - undefined4 param_5) - -{ - undefined4 uStack284; - undefined4 uStack280; - undefined4 uStack276; - undefined4 uStack272; - undefined4 uStack268; - char acStack264 [255]; - undefined uStack9; - undefined4 uStack8; - undefined4 uStack4; - - uStack284 = 0x9abf1623; - uStack280 = 0xd; - uStack276 = 0x11c; - uStack272 = param_1; - uStack268 = param_2; - locret_7000A7F4(acStack264,param_3,0x100); - uStack9 = 0; - uStack4 = param_5; - uStack8 = param_4; - loc_7F0D0348((undefined *)&uStack284,0x11c); - return; -} - - - -void sub_7F0D08E8(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 0xe; - uStack16 = 0x18; - uStack12 = param_1; - uStack8 = param_2; - uStack4 = param_3; - loc_7F0D0348((undefined *)&uStack24,0x18); - return; -} - - - -void sub_7F0D0938(undefined4 param_1,undefined4 param_2,char *param_3) - -{ - undefined4 uStack1044; - undefined4 uStack1040; - undefined4 uStack1036; - undefined4 uStack1032; - undefined4 uStack1028; - char acStack1024 [1023]; - undefined uStack1; - - uStack1044 = 0x9abf1623; - uStack1040 = 0xb; - uStack1036 = 0x414; - uStack1032 = param_1; - uStack1028 = param_2; - locret_7000A7F4(acStack1024,param_3,0x400); - uStack1 = 0; - loc_7F0D0348((undefined *)&uStack1044,0x414); - return; -} - - - -void sub_7F0D099C(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 0xc; - uStack16 = 0x18; - uStack12 = param_1; - uStack8 = param_2; - uStack4 = param_3; - loc_7F0D0348((undefined *)&uStack24,0x18); - return; -} - - - -void FUN_7f0d16cc(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack24 = 0x9abf1623; - uStack20 = 10; - uStack16 = 0x18; - uStack12 = param_1; - uStack8 = param_2; - uStack4 = param_3; - loc_7F0D0348((undefined *)&uStack24,0x18); - return; -} - - - -undefined8 FUN_7f0d171c(void) - -{ - sub_7F0D038C(0x14,0x14); - sub_7F0D041C(0x14,0x14); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d175c(char *param_1) - -{ - sub_7F0D038C(0x114,0x114); - sub_7F0D0460(0x14,0x14,param_1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d17a4(undefined4 param_1) - -{ - sub_7F0D038C(0x18,0x18); - sub_7F0D04C4(0x14,0x14,param_1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d17ec(char *param_1) - -{ - sub_7F0D038C(0x114,0x114); - sub_7F0D0514(0x14,0x14,param_1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d1834(undefined4 param_1,undefined4 param_2) - -{ - sub_7F0D038C(0x1c,0x1c); - sub_7F0D0578(0x14,0x14,param_1,param_2); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d1884(char *param_1,undefined4 param_2) - -{ - sub_7F0D038C(0x118,0x118); - sub_7F0D05D0(0x14,0x14,param_1,param_2); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 sub_7F0D0BF4(undefined4 param_1,undefined4 param_2,uint param_3,undefined *param_4) - -{ - sub_7F0D038C((param_3 + 3 & 0xfffffffc) + 0x20,0x20); - sub_7F0D0644(0x14,0x14,param_1,param_2,param_3,param_4); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 post_indy__res_cmd_send_capture_data(char *param_1,uint param_2,undefined *param_3) - -{ - sub_7F0D038C((param_2 + 3 & 0xfffffffc) + 0x114,0x114); - sub_7F0D06C0(0x14,0x14,param_1,param_2,param_3); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d19b0(undefined4 param_1) - -{ - sub_7F0D038C(0x18,0x18); - FUN_7f0d1420(0x14,0x14,param_1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d19f8(char *param_1,undefined4 param_2,undefined4 param_3) - -{ - sub_7F0D038C(0x11c,0x11c); - FUN_7f0d1470(0x14,0x14,param_1,param_3,param_2); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d1a54(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - sub_7F0D038C(0x20,0x20); - sub_7F0D080C(0x14,0x14,param_1,param_2,param_3); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d1ab0(char *param_1,undefined4 param_2,undefined4 param_3) - -{ - sub_7F0D038C(0x11c,0x11c); - FUN_7f0d154c(0x14,0x14,param_1,param_3,param_2); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d1b0c(undefined4 param_1) - -{ - sub_7F0D038C(0x18,0x18); - sub_7F0D08E8(0x14,0x14,param_1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d1b54(char *param_1) - -{ - sub_7F0D038C(0x414,0x414); - sub_7F0D0938(0x14,0x14,param_1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d1b9c(undefined4 param_1) - -{ - sub_7F0D038C(0x18,0x18); - sub_7F0D099C(0x14,0x14,param_1); - sub_7F0D03D4(0,0); - return 1; -} - - - -undefined8 FUN_7f0d1be4(undefined4 param_1) - -{ - sub_7F0D038C(0x18,0x18); - FUN_7f0d16cc(0x14,0x14,param_1); - sub_7F0D03D4(0,0); - return 1; -} - - - -// WARNING: Instruction at (ram,0x7f0d1cfc) overlaps instruction at (ram,0x7f0d1cf8) -// - -undefined8 loc_7F0D1098(undefined *param_1,uint param_2) - -{ - undefined uVar1; - uint uVar2; - uint uVar3; - undefined *puVar4; - undefined *puVar5; - undefined auStack1024 [4]; - undefined auStack1020 [1020]; - - puVar4 = auStack1024; - if (((uint)param_1 & 7) == 0) { - FUN_7f0d0e60(); - if ((DAT_8004eaf4 & 0x10) == 0) { - return 1; - } - if (param_2 != 0) { - if ((param_2 & 3) == 0) { - uVar3 = 4; - } - else { - uVar2 = 1; - while ((param_2 & 3) != uVar2) { - uVar2 += 1; - } - uVar3 = uVar2 + 4; - if (uVar2 == param_2) { - return 1; - } - } - while (uVar3 != param_2) { - uVar3 += 4; - } - } - return 1; - } - if (0x400 < param_2) { - return 0; - } - if (false) { - puVar4 = auStack1020; - } - FUN_7f0d0e60(); - puVar5 = puVar4 + param_2; - while (puVar4 < puVar5) { - uVar1 = *puVar4; - puVar4 = puVar4 + 1; - *param_1 = uVar1; - param_1 = param_1 + 1; - } - if (((DAT_8004eaf4 & 0x10) != 0) && (param_2 != 0)) { - if ((param_2 & 3) == 0) { - uVar3 = 4; - } - else { - uVar2 = 1; - while ((param_2 & 3) != uVar2) { - uVar2 += 1; - } - uVar3 = uVar2 + 4; - if (uVar2 == param_2) { - return 1; - } - } - while (uVar3 != param_2) { - uVar3 += 4; - } - } - return 1; -} - - - -undefined8 sub_7F0D10A8(void) - -{ - FUN_7f0d0e60(); - FUN_7f0d0e60(); - return 1; -} - - - -undefined8 FUN_7f0d1de0(int param_1,int param_2) - -{ - undefined8 uVar1; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - loc_7F0D1098((undefined *)&iStack20,0x14); - if (iStack20 == -0x6540e9dd) { - if (iStack16 == 1) { - if (iStack12 == 0x14) { - if ((param_1 == 0) || (iStack8 == param_1)) { - uVar1 = 1; - if (iStack4 != param_2) { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d1e8c(int param_1,int param_2) - -{ - undefined8 uVar1; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - loc_7F0D1098((undefined *)&iStack20,0x14); - if (iStack20 == -0x6540e9dd) { - if (iStack16 == 2) { - if (iStack12 == 0x14) { - if (iStack8 == param_1) { - uVar1 = 1; - if (iStack4 != param_2) { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d1f28(int param_1,int param_2,undefined4 *param_3) - -{ - undefined8 uVar1; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - loc_7F0D1098((undefined *)&iStack24,0x18); - if (iStack24 == -0x6540e9dd) { - if (iStack20 == 4) { - if (iStack16 == 0x18) { - if (iStack12 == param_1) { - if (iStack8 == param_2) { - uVar1 = 1; - *param_3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d1fd4(int param_1,int param_2,undefined4 *param_3,undefined4 *param_4) - -{ - undefined8 uVar1; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - undefined4 uStack8; - undefined4 uStack4; - - loc_7F0D1098((undefined *)&iStack28,0x1c); - if (iStack28 == -0x6540e9dd) { - if (iStack24 == 6) { - if (iStack20 == 0x1c) { - if (iStack16 == param_1) { - if (iStack12 == param_2) { - uVar1 = 1; - *param_3 = uStack8; - *param_4 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 -FUN_7f0d2090(int param_1,int param_2,undefined4 *param_3,undefined4 *param_4,int *param_5, - undefined *param_6) - -{ - undefined8 uVar1; - int iStack32; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - loc_7F0D1098((undefined *)&iStack32,0x20); - if (iStack32 == -0x6540e9dd) { - if (iStack28 == 8) { - if (iStack24 == (iStack4 + 3U & 0xfffffffc) + 0x20) { - if (iStack20 == param_1) { - if (iStack16 == param_2) { - *param_3 = uStack12; - *param_4 = uStack8; - *param_5 = iStack4; - loc_7F0D1098(param_6,iStack4 + 3U & 0xfffffffc); - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d2178(int param_1,int param_2,undefined4 *param_3) - -{ - undefined8 uVar1; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - loc_7F0D1098((undefined *)&iStack24,0x18); - if (iStack24 == -0x6540e9dd) { - if (iStack20 == 10) { - if (iStack16 == 0x18) { - if (iStack12 == param_1) { - if (iStack8 == param_2) { - uVar1 = 1; - *param_3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 -FUN_7f0d2224(int param_1,int param_2,undefined4 *param_3,undefined4 *param_4,undefined4 *param_5) - -{ - undefined8 uVar1; - int iStack32; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - loc_7F0D1098((undefined *)&iStack32,0x20); - if (iStack32 == -0x6540e9dd) { - if (iStack28 == 0x10) { - if (iStack24 == 0x20) { - if (iStack20 == param_1) { - if (iStack16 == param_2) { - uVar1 = 1; - *param_3 = uStack12; - *param_4 = uStack8; - *param_5 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d22ec(int param_1,int param_2,undefined4 *param_3) - -{ - undefined8 uVar1; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - loc_7F0D1098((undefined *)&iStack24,0x18); - if (iStack24 == -0x6540e9dd) { - if (iStack20 == 0xe) { - if (iStack16 == 0x18) { - if (iStack12 == param_1) { - if (iStack8 == param_2) { - uVar1 = 1; - *param_3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d2398(int param_1,int param_2,undefined4 *param_3) - -{ - undefined8 uVar1; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - loc_7F0D1098((undefined *)&iStack24,0x18); - if (iStack24 == -0x6540e9dd) { - if (iStack20 == 0xc) { - if (iStack16 == 0x18) { - if (iStack12 == param_1) { - if (iStack8 == param_2) { - uVar1 = 1; - *param_3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 FUN_7f0d2444(undefined4 *param_1) - -{ - FUN_7f0d1de0(0x18,0x18); - FUN_7f0d1f28(0x14,0x14,param_1); - FUN_7f0d1e8c(0,0); - return 1; -} - - - -undefined8 FUN_7f0d248c(undefined4 *param_1,undefined4 *param_2) - -{ - FUN_7f0d1de0(0x1c,0x1c); - FUN_7f0d1fd4(0x14,0x14,param_1,param_2); - FUN_7f0d1e8c(0,0); - return 1; -} - - - -undefined8 FUN_7f0d24dc(undefined4 *param_1,undefined4 *param_2,int *param_3,undefined *param_4) - -{ - FUN_7f0d1de0(0,0x20); - FUN_7f0d2090(0x14,0x14,param_1,param_2,param_3,param_4); - FUN_7f0d1e8c(0,0); - return 1; -} - - - -undefined8 FUN_7f0d2544(undefined4 *param_1) - -{ - FUN_7f0d1de0(0x18,0x18); - FUN_7f0d2178(0x14,0x14,param_1); - FUN_7f0d1e8c(0,0); - return 1; -} - - - -undefined8 FUN_7f0d258c(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3) - -{ - FUN_7f0d1de0(0x20,0x20); - FUN_7f0d2224(0x14,0x14,param_1,param_2,param_3); - FUN_7f0d1e8c(0,0); - return 1; -} - - - -undefined8 FUN_7f0d25e8(undefined4 *param_1) - -{ - FUN_7f0d1de0(0x18,0x18); - FUN_7f0d22ec(0x14,0x14,param_1); - FUN_7f0d1e8c(0,0); - return 1; -} - - - -undefined8 FUN_7f0d2630(undefined4 *param_1) - -{ - FUN_7f0d1de0(0x18,0x18); - FUN_7f0d2398(0x14,0x14,param_1); - FUN_7f0d1e8c(0,0); - return 1; -} - - - -undefined8 FUN_7f0d2678(int param_1,int param_2) - -{ - undefined8 uVar1; - int aiStack20 [3]; - int iStack8; - int iStack4; - - loc_7F0D1098((undefined *)aiStack20,0x14); - if (aiStack20[0] == -0x6540e9dd) { - if ((param_1 == 0) || (iStack8 == param_1)) { - if (param_2 == 0) { - uVar1 = 1; - } - else { - if (iStack4 == param_2) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -void FUN_7f0d2700(void) - -{ - loc_70004E88(&DAT_8004eb10,(byte *)s_game_c_debug_8005c030); - return; -} - - - -void FUN_7f0d272c(void) - -{ - FUN_7f0bdde4(); - FUN_700099ac(5); - FUN_7f0bdd6c(5); - return; -} - - - -void FUN_7f0d275c(void) - -{ - FUN_700099d4(5); - FUN_7f0bdd6c(5); - return; -} - - - -undefined4 * FUN_7f0d27a0(undefined4 *param_1) - -{ - DAT_8004eb24 = 0; - DAT_8004eb20 = 0; - *param_1 = 0xba000c02; - param_1[1] = 0; - param_1[3] = 0xc0; - param_1[2] = 0xba000602; - param_1[5] = 1; - param_1[4] = 0xb6000000; - param_1[6] = 0xe7000000; - param_1[7] = 0; - param_1[8] = 0xba001301; - param_1[9] = 0; - param_1[0xb] = 0x300000; - param_1[10] = 0xba001402; - param_1[0xd] = 0xf0a4000; - param_1[0xc] = 0xb900031d; - param_1[0xf] = 0x800000; - param_1[0xe] = 0xba001701; - return param_1 + 0x10; -} - - - -void FUN_7f0d2874(uint *param_1,float param_2,uint param_3,uint param_4,int param_5) - -{ - loc_7F0D1DB4(param_1,param_2,param_3,param_4,param_5,2,1); - return; -} - - - -uint * loc_7F0D1DB4(uint *param_1,float param_2,uint param_3,uint param_4,int param_5,int param_6, - int param_7) - -{ - int iVar1; - float fVar2; - int3 in_register_00000018; - undefined uVar4; - uint *puVar3; - uint uVar5; - int iVar6; - uint uVar7; - uint uVar8; - float fVar9; - float fVar10; - int iVar11; - int iVar12; - - fVar2 = DAT_8004eb24; - uVar4 = SUB41(param_1,0); - if (0.00000000 < param_2) { - fVar10 = DAT_8004eb24 / 10.00000000; - *param_1 = 0xf7000000; - fVar9 = fVar2 + param_2; - puVar3 = param_1 + 2; - uVar4 = SUB41(puVar3,0); - uVar7 = (param_3 & 0xf8) << 8 | (param_4 & 0xf8) << 3 | param_5 >> 2 & 0x3eU | 1; - param_1[1] = uVar7 << 0x10 | uVar7; - iVar11 = (int)fVar10; - iVar12 = (int)(fVar9 / 10.00000000); - in_register_00000018 = (int3)(iVar12 >> 0x1f); - if (((longlong)iVar11 <= CONCAT35(in_register_00000018,(int5)iVar12)) && ((longlong)iVar11 < 3)) - { - iVar6 = iVar11 * 0xdb; - uVar7 = (int)((fVar2 * 219.00000000) / 10.00000000) + iVar11 * -0xdb + 0x32; - iVar1 = iVar11 * -0xdb; - while( true ) { - uVar8 = (int)((fVar9 * 219.00000000) / 10.00000000) + iVar1 + 0x32; - uVar5 = uVar7; - if ((int)uVar7 < 0x32) { - uVar5 = 0x32; - } - iVar6 += 0xdb; - if (0x10d < (int)uVar8) { - uVar8 = 0x10d; - } - if ((int)uVar5 <= (int)uVar8) { - *puVar3 = (uVar8 & 0x3ff) << 0xe | 0xf6000000 | - (param_6 + param_7 + iVar11 * 7 + 0x11U & 0x3ff) << 2; - puVar3[1] = (uVar5 & 0x3ff) << 0xe | (param_7 + iVar11 * 7 + 0x12U & 0x3ff) << 2; - puVar3 = puVar3 + 2; - } - uVar4 = SUB41(puVar3,0); - iVar11 += 1; - uVar7 -= 0xdb; - if ((CONCAT35(in_register_00000018,(int5)iVar12) < (longlong)iVar11) || (2 < iVar11)) break; - iVar1 = -iVar6; - } - } - DAT_8004eb24 = DAT_8004eb24 + param_2; - } - return (uint *)CONCAT13(uVar4,in_register_00000018); -} - - - -void FUN_7f0d2aac(float param_1) - -{ - if (0.00000000 < param_1) { - DAT_8004eb24 = DAT_8004eb24 + param_1; - } - return; -} - - - -uint * FUN_7f0d2b78(undefined4 *param_1,undefined8 param_2,undefined8 param_3,int param_4) - -{ - uint uVar1; - uint uVar2; - uint *puVar3; - int iVar4; - int iVar5; - uint uVar6; - uint uVar7; - uint *puVar8; - uint uVar9; - uint uVar10; - float fVar11; - float fVar12; - - fVar11 = DAT_8004eb24 / 10.00000000; - *param_1 = 0xf7000000; - uVar1 = ((uint)param_2 & 0xf8) << 8 | ((uint)param_3 & 0xf8) << 3 | param_4 >> 2 & 0x3eU | 1; - param_1[1] = uVar1 << 0x10 | uVar1; - puVar8 = param_1 + 2; - if (-1 < (int)fVar11) { - uVar2 = 0x15; - uVar1 = 0x12; - do { - uVar6 = (uVar1 & 0x3ff) << 2; - uVar9 = (uVar2 & 0x3ff) << 2; - puVar8[1] = uVar6 | 0xc8000; - *puVar8 = uVar9 | 0xf60c8000; - puVar8[3] = uVar6 | 0x11c000; - puVar8[2] = uVar9 | 0xf611c000; - puVar8[4] = uVar9 | 0xf6174000; - puVar8[5] = uVar6 | 0x174000; - puVar3 = puVar8 + 6; - iVar5 = 3; - uVar10 = 0xf61cc000; - uVar7 = uVar6 | 0x1cc000; - fVar12 = 876.00000000; - iVar4 = iVar5; - puVar8 = puVar3; - if (true) { - do { - *puVar8 = uVar10 | uVar9; - puVar8[1] = uVar7; - uVar10 = ((int)(fVar12 / 10.00000000) + 0x32U & 0x3ff) << 0xe; - puVar8[2] = uVar10 | 0xf6000000 | uVar9; - puVar8[3] = uVar10 | uVar6; - uVar10 = ((int)(((float)(iVar4 + 2) * 219.00000000) / 10.00000000) + 0x32U & 0x3ff) << 0xe - ; - iVar5 = iVar4 + 4; - puVar8[4] = uVar10 | 0xf6000000 | uVar9; - puVar8[5] = uVar10 | uVar6; - puVar3 = puVar8 + 8; - uVar10 = ((int)(((float)(iVar4 + 3) * 219.00000000) / 10.00000000) + 0x32U & 0x3ff) << 0xe - ; - puVar8[6] = uVar10 | 0xf6000000 | uVar9; - puVar8[7] = uVar10 | uVar6; - uVar7 = ((int)(((float)iVar5 * 219.00000000) / 10.00000000) + 0x32U & 0x3ff) << 0xe; - uVar10 = uVar7 | 0xf6000000; - uVar7 |= uVar6; - fVar12 = (float)(iVar4 + 5) * 219.00000000; - iVar4 = iVar5; - puVar8 = puVar3; - } while (iVar5 != 7); - } - *puVar3 = uVar10 | uVar9; - puVar3[1] = uVar7; - uVar10 = ((int)(fVar12 / 10.00000000) + 0x32U & 0x3ff) << 0xe; - puVar3[2] = uVar10 | 0xf6000000 | uVar9; - puVar3[3] = uVar10 | uVar6; - uVar10 = ((int)(((float)(iVar5 + 2) * 219.00000000) / 10.00000000) + 0x32U & 0x3ff) << 0xe; - puVar3[4] = uVar10 | 0xf6000000 | uVar9; - puVar3[5] = uVar10 | uVar6; - puVar8 = puVar3 + 8; - uVar10 = ((int)(((float)(iVar5 + 3) * 219.00000000) / 10.00000000) + 0x32U & 0x3ff) << 0xe; - puVar3[7] = uVar10 | uVar6; - puVar3[6] = uVar10 | 0xf6000000 | uVar9; - uVar1 += 7; - uVar2 += 7; - } while (((int)uVar1 <= (int)fVar11 * 7 + 0x12) && (uVar1 != 0x27)); - } - return puVar8; -} - - - -void FUN_7f0d3000(void) - -{ - DAT_8004eb20 = (float)((int)(DAT_8004eb24 / 10.00000000) * 10 + 10); - DAT_8004eb24 = DAT_8004eb20; - return; -} - - - -void FUN_7f0d3060(void) - -{ - DAT_8004eb30 = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d306c(void) - -{ - ulonglong uVar1; - uint uVar2; - - if (DAT_80036468 == 0) { - _DAT_8008e380 = 0x140; - uVar1 = get_num_players(); - if (uVar1 == 1) { - _DAT_8008e384 = 0xf0; - } - else { - _DAT_8008e384 = 0x78; - } - } - else { - _DAT_8008e380 = 0x1b8; - _DAT_8008e384 = 0x14a; - } - uVar2 = FUN_70009730(_DAT_8008e380 * _DAT_8008e384 * 2 + 0x40,4); - DAT_8004eb30 = uVar2 + 0x3f & 0xffffffc0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d3128(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - DAT_8004eb30 = param_1; - _DAT_8008e380 = param_2; - _DAT_8008e384 = param_3; - return; -} - - - -undefined4 * FUN_7f0d3144(undefined4 *param_1) - -{ - int iVar1; - int iVar3; - ulonglong uVar2; - - if (DAT_8004eb30 == 0) { - FUN_7f0d306c(); - } - iVar3 = get_cur_playernum(); - if (iVar3 < 2) { - uVar2 = get_num_players(); - if (uVar2 == 2) { - iVar3 = get_cur_playernum(); - if (iVar3 == 1) goto LAB_7f0d31a4; - } - iVar3 = 0; - } - else { -LAB_7f0d31a4: - iVar3 = 0x12c00; - } - iVar1 = DAT_8004eb30; - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[2] = 0xfe000000; - param_1[3] = iVar1 - iVar3 & 0xffffffc0; - return param_1 + 4; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0D26B4(undefined4 *param_1) - -{ - short sVar3; - short sVar4; - ulonglong uVar1; - int iVar2; - uint uVar5; - uint uStack4; - - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[2] = 0xb900031d; - param_1[3] = 0; - param_1[4] = _DAT_8008e380 - 1U & 0xfff | 0xff100000; - param_1[5] = DAT_8004eb30 + -0x80000000; - param_1[7] = 0x300000; - param_1[6] = 0xba001402; - param_1[8] = 0xf7000000; - param_1[9] = 0xfffcfffc; - param_1[10] = 0xed000000; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - param_1[0xb] = (int)((float)(int)sVar4 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar3 * 4.00000000) & 0xfffU) << 0xc; - uVar1 = get_num_players(); - if ((longlong)uVar1 < 3) { - uStack4 = 0; - sVar3 = get_video2_settings_txtClipW(); - uVar5 = (int)sVar3 - 1; - } - else { - iVar2 = get_cur_playernum(); - if ((iVar2 == 0) || (iVar2 = get_cur_playernum(), iVar2 == 2)) { - uStack4 = 0; - sVar3 = get_video2_settings_txtClipW(); - iVar2 = (int)sVar3; - if (sVar3 < 0) { - iVar2 += 1; - } - uVar5 = (iVar2 >> 1) - 1; - } - else { - sVar3 = get_video2_settings_txtClipW(); - iVar2 = (int)sVar3; - if (sVar3 < 0) { - iVar2 += 1; - } - uStack4 = iVar2 >> 1; - sVar3 = get_video2_settings_txtClipW(); - uVar5 = (int)sVar3 - 1; - } - } - param_1[0xc] = (uVar5 & 0x3ff) << 0xe | 0xf6000000 | (_DAT_8008e384 - 1U & 0x3ff) << 2; - param_1[0xd] = (uStack4 & 0x3ff) << 0xe; - param_1[0xe] = 0xe7000000; - param_1[0xf] = 0; - return param_1 + 0x10; -} - - - -short FUN_7f0d3400(short param_1) - -{ - undefined2 *puVar1; - uint uVar2; - short sVar4; - uint uVar3; - - if (DAT_8004eb40 != 0) { - puVar1 = &DAT_8004eb40; - sVar4 = DAT_8004eb40; - do { - if (param_1 == sVar4) { - if (puVar1[1] != -1) { - return puVar1[1]; - } - uVar3 = 0; - puVar1 = &DAT_8004ec00; - sVar4 = DAT_8004ec02; - if (DAT_8004ec00 != 0) { - while( true ) { - uVar3 += 1; - if (sVar4 == 0) break; - sVar4 = puVar1[2]; - puVar1 = puVar1 + 1; - } - } - uVar2 = FUN_7000a460(); - if (uVar3 != 0) { - return (&DAT_8004ec00)[uVar2 % uVar3]; - } - trap(0x1c00); - return (&DAT_8004ec00)[uVar2 % uVar3]; - } - sVar4 = puVar1[4]; - puVar1 = puVar1 + 4; - } while (sVar4 != 0); - } - uVar3 = 0; - puVar1 = &DAT_8004ec00; - sVar4 = DAT_8004ec02; - if (DAT_8004ec00 != 0) { - while( true ) { - uVar3 += 1; - if (sVar4 == 0) break; - sVar4 = puVar1[2]; - puVar1 = puVar1 + 1; - } - } - uVar2 = FUN_7000a460(); - if (uVar3 == 0) { - trap(0x1c00); - } - return (short)(&DAT_8004ec00)[uVar2 % uVar3]; -} - - - -undefined2 FUN_7f0d3528(short param_1) - -{ - short *psVar1; - short sVar2; - undefined2 *puVar3; - - puVar3 = &DAT_8004eb40; - sVar2 = DAT_8004eb40; - if (DAT_8004eb40 != 0) { - do { - if (param_1 == sVar2) { - return puVar3[2]; - } - psVar1 = puVar3 + 4; - puVar3 = puVar3 + 4; - sVar2 = *psVar1; - } while (*psVar1 != 0); - } - return 0xffff; -} - - - -undefined2 FUN_7f0d3570(short param_1) - -{ - short *psVar1; - short sVar2; - undefined2 *puVar3; - - puVar3 = &DAT_8004eb40; - sVar2 = DAT_8004eb40; - if (DAT_8004eb40 != 0) { - do { - if (param_1 == sVar2) { - return puVar3[3]; - } - psVar1 = puVar3 + 4; - puVar3 = puVar3 + 4; - sVar2 = *psVar1; - } while (*psVar1 != 0); - } - return 0xffff; -} - - - -void loc_7F0D2A68(int param_1,int param_2,undefined8 param_3,byte *param_4) - -{ - byte bVar1; - byte *pbVar2; - uint uVar3; - uint uVar4; - byte bVar5; - int iVar6; - uint uVar7; - byte bVar8; - byte bVar9; - - uVar3 = (uint)param_3; - bVar5 = *(byte *)((uVar3 << 2 & 0x3e0) + (param_2 >> 3) + param_1 + 0x1800); - uVar4 = (uint)bVar5; - pbVar2 = (byte *)(((uVar3 & 0xc0) << 5 | (uVar3 & 7) << 8 | uVar3 << 2 & 0xe0 | param_2 >> 3) + - param_1); - if (((bVar5 & 0x80) == 0) || (DAT_8004ed34 == '\0')) { - uVar3 = (int)(uint)bVar5 >> 3; - } - else { - uVar3 = uVar4; - uVar4 = (int)(uint)bVar5 >> 3; - } - uVar4 &= 7; - uVar3 &= 7; - iVar6 = 0; - if ((bVar5 & 0x40) == 0) { - uVar4 += 8; - uVar3 += 8; - } - bVar5 = (byte)uVar4; - do { - bVar1 = *pbVar2; - iVar6 += 1; - pbVar2 = pbVar2 + 0x100; - uVar7 = uVar3; - if ((bVar1 & 0x80) != 0) { - uVar7 = uVar4; - } - bVar9 = (byte)uVar3; - bVar8 = bVar9; - if ((bVar1 & 0x40) != 0) { - bVar8 = bVar5; - } - *param_4 = bVar8 | (byte)(uVar7 << 4); - uVar7 = uVar3; - if ((bVar1 & 0x20) != 0) { - uVar7 = uVar4; - } - bVar8 = bVar9; - if ((bVar1 & 0x10) != 0) { - bVar8 = bVar5; - } - param_4[1] = bVar8 | (byte)(uVar7 << 4); - uVar7 = uVar3; - if ((bVar1 & 8) != 0) { - uVar7 = uVar4; - } - bVar8 = bVar9; - if ((bVar1 & 4) != 0) { - bVar8 = bVar5; - } - param_4[2] = bVar8 | (byte)(uVar7 << 4); - uVar7 = uVar3; - if ((bVar1 & 2) != 0) { - uVar7 = uVar4; - } - if ((bVar1 & 1) != 0) { - bVar9 = bVar5; - } - param_4[3] = bVar9 | (byte)(uVar7 << 4); - param_4 = param_4 + 0x20; - } while (iVar6 != 8); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d3764(int param_1,int param_2) - -{ - int iVar1; - int iVar2; - byte *pbVar3; - longlong lVar4; - longlong lVar5; - int local_8; - - DAT_8004ed38 += 1; - if ((int)(uint)DAT_8004ed38 % 0x19 == 0) { - DAT_8004ed38 = 0; - iVar1 = 0; - do { - *(undefined *)(_DAT_8008e39c + iVar1) = 1; - *(undefined *)(_DAT_8008e39c + iVar1 + 1) = 1; - *(undefined *)(_DAT_8008e39c + iVar1 + 2) = 1; - iVar2 = _DAT_8008e39c + iVar1; - iVar1 += 4; - *(undefined *)(iVar2 + 3) = 1; - } while (iVar1 != 0x300); - DAT_8004ed34 = '\x01' - DAT_8004ed34; - } - local_8 = 0; - do { - iVar1 = 0; - lVar5 = (longlong)(local_8 + 0x40); - do { - lVar4 = (longlong)local_8; - pbVar3 = (byte *)(((local_8 >> 6) * 4 + (iVar1 >> 6)) * 0x800 + param_2); - if (lVar4 < lVar5) { - do { - if (iVar1 < iVar1 + 0x40) { - iVar2 = iVar1; - do { - if (*(char *)((((int)lVar4 >> 3) << 5 | iVar2 >> 3) + _DAT_8008e39c) != '\0') { - loc_7F0D2A68(param_1,iVar2,lVar4,pbVar3); - } - iVar2 += 8; - pbVar3 = pbVar3 + 4; - } while (iVar2 < iVar1 + 0x40); - } - lVar4 = (longlong)((int)lVar4 + 8); - pbVar3 = pbVar3 + 0xe0; - } while (lVar4 < lVar5); - } - iVar1 += 0x40; - } while (iVar1 < 0x100); - local_8 = local_8 + 0x40; - } while (lVar5 < 0xc0); - iVar1 = 0; - do { - *(undefined *)(_DAT_8008e39c + iVar1) = 0; - *(undefined *)(_DAT_8008e39c + iVar1 + 1) = 0; - *(undefined *)(_DAT_8008e39c + iVar1 + 2) = 0; - iVar2 = _DAT_8008e39c + iVar1; - iVar1 += 4; - *(undefined *)(iVar2 + 3) = 0; - } while (iVar1 != 0x300); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0d3b0c) overlaps instruction at (ram,0x7f0d3b08) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d3964(void) - -{ - ulonglong uVar1; - int iVar2; - int iVar3; - undefined1 *puVar4; - byte bStack13; - int iStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - iStack8 = 0; - iStack12 = 0; - bStack13 = 0; - FUN_7000bd70(); - uVar1 = FUN_7000c370('\0',0xffff); - iVar2 = FUN_7000c518('\0',-3,3); - iVar3 = FUN_7000c58c('\0',-3,3); - DAT_8004ec64 = 0xff; - puVar4 = &DAT_8004ec65; - do { - puVar4 = puVar4 + 4; - puVar4[1] = 0xff; - puVar4[2] = 0xff; - puVar4[3] = 0xff; - *puVar4 = 0xff; - puVar4 = puVar4; - } while (puVar4 != (undefined1 *)0x8004ec6d); - if (((uVar1 & 0x202) != 0) || (iVar2 < -1)) { - iStack12 = 1; - } - if (((uVar1 & 0x101) != 0) || (1 < iVar2)) { - bStack13 = 1; - } - if (((uVar1 & 0x808) != 0) || (1 < iVar3)) { - iStack4 = 1; - } - if (((uVar1 & 0x404) != 0) || (iVar3 < -1)) { - iStack8 = 1; - } - if ((DAT_8008e3bd == '\x02') && ((uVar1 & 0xc000) != 0)) { - iStack4 = 1; - } - if (((DAT_8008e3bd == '\x04') || (DAT_8008e3bd == '\a')) && ((uVar1 & 0xc000) != 0)) { - iStack8 = 1; - } - if (((((DAT_8008e3bd == '\0') || (DAT_8008e3bd == '\x01')) || - ((DAT_8008e3bd == '\x06' || ((DAT_8008e3bd == '\t' || (DAT_8008e3bd == '\x04')))))) || - (DAT_8008e3bd == '\a')) && ((uVar1 & 0xc000) != 0)) { - DAT_8004ec68 &= 0xfe; - } - if (((DAT_8008e3bd == '\x02') || (DAT_8008e3bd == '\b')) && ((uVar1 & 0xc000) != 0)) { - DAT_8004ec67 &= 0xef; - } - if ((DAT_8008e3bd == '\x05') && ((uVar1 & 0xc000) != 0)) { - DAT_8004ec67 &= 0xfb; - } - if (DAT_8008e3bd == '\x03') { - if ((uVar1 & 0xc000) != 0) { - DAT_8004ec68 &= 0xef; - } - if ((uVar1 & 0x8000) != 0) { - DAT_8004ec64 &= 0xfd; - } - if ((uVar1 & 0x4000) != 0) { - DAT_8004ec6b &= 0xfe; - } - } - if (DAT_8008e3bd == '\x06') { - if ((uVar1 & 0x8000) != 0) { - iStack4 = 1; - } - if ((uVar1 & 0x4000) != 0) { - DAT_8004ec6b &= 0xfe; - } - } - if (DAT_8008e3bd == '\x01') { - if ((uVar1 & 0xc000) != 0) { - DAT_8004ec64 &= 0xfd; - } - if ((uVar1 & 0x200) != 0) { - DAT_8004ec67 &= 0xf7; - } - if ((uVar1 & 0x400) != 0) { - DAT_8004ec67 &= 0xef; - } - if ((uVar1 & 0x100) != 0) { - DAT_8004ec68 &= 0xef; - } - } - if ((uVar1 & 0x20) != 0) { - iVar2 = 0; - do { - *(undefined *)(_DAT_8008e398 + iVar2) = 0; - *(undefined *)(_DAT_8008e398 + iVar2 + 1) = 0; - *(undefined *)(_DAT_8008e398 + iVar2 + 2) = 0; - iVar3 = _DAT_8008e398 + iVar2; - iVar2 += 4; - *(undefined *)(iVar3 + 3) = 0; - } while (iVar2 != 0x4000); - } - DAT_8004ec70 = ((uVar1 & 0x2000) != 0) << 4 | (byte)(iStack4 << 3) | (byte)(iStack8 << 2) | - (byte)(iStack12 << 1) | bStack13; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d3ca4(byte param_1) - -{ - int iVar1; - uint uVar2; - bool bVar3; - uint uVar4; - int iVar5; - ushort uVar6; - undefined *puVar7; - int iVar8; - uint uVar9; - undefined *puVar10; - - _DAT_8008e3a4 = FUN_70009730(0x100,4); - uVar4 = 0; - do { - bVar3 = false; - uVar2 = 0; - uVar9 = uVar4; - while( true ) { - uVar2 += 1; - if ((uVar9 & 1) != 0) { - bVar3 = (bool)(bVar3 ^ 1); - } - if (uVar2 == 8) break; - uVar9 = (int)uVar4 >> (uVar2 & 0x1f); - } - if (bVar3) { - *(undefined *)(_DAT_8008e3a4 + uVar4) = 0; - } - else { - *(undefined *)(_DAT_8008e3a4 + uVar4) = 4; - } - uVar4 += 1; - } while ((int)uVar4 < 0x100); - _DAT_8008e3a0 = FUN_70009730(0x6000,4); - _DAT_8008e39c = FUN_70009730(0x300,4); - iVar5 = 0; - do { - puVar7 = (undefined *)(_DAT_8008e39c + iVar5); - iVar5 += 1; - *puVar7 = 1; - } while (iVar5 < 0x300); - _DAT_8008e398 = FUN_70009730(0x10000,4); - _DAT_8008e390 = FUN_7f0bd8b4((byte *)s_em_data_spec_rom_seg_rz_8005c154,1,0x100,4); - iVar5 = 0; - do { - puVar10 = (undefined *)(_DAT_8008e390 + iVar5); - puVar7 = (undefined *)(_DAT_8008e398 + iVar5); - iVar5 += 1; - *puVar7 = *puVar10; - } while (iVar5 < 0x4000); - uVar4 = (int)(char)param_1 & 0xff; - DAT_8008e3bd = param_1; - if (4 < uVar4) { - DAT_8008e3bd = 0; - uVar4 = 0; - } - _DAT_8008e394 = (undefined *)FUN_7f0bd8b4((&PTR_s_em_data_sabre_seg_rz_8004ed5c)[uVar4],1,0x100,4) - ; - iVar5 = 0; - do { - *(undefined *)(_DAT_8008e398 + iVar5 + 0x4000) = _DAT_8008e394[iVar5 + 0x1b]; - *(undefined *)(_DAT_8008e398 + iVar5 + 0x4001) = _DAT_8008e394[iVar5 + 0x1c]; - *(undefined *)(_DAT_8008e398 + iVar5 + 0x4002) = _DAT_8008e394[iVar5 + 0x1d]; - iVar1 = iVar5 + 0x1e; - iVar8 = _DAT_8008e398 + iVar5; - iVar5 += 4; - *(undefined *)(iVar8 + 0x4003) = _DAT_8008e394[iVar1]; - } while (iVar5 != 0xc000); - DAT_8008e3ba = (byte)((int)(uint)(byte)_DAT_8008e394[0x13] >> 2) & 1; - uVar6 = (ushort)(byte)_DAT_8008e394[0x18] * 0x100 + (ushort)(byte)_DAT_8008e394[0x17]; - DAT_8008e3bc = _DAT_8008e394[0x19]; - if (DAT_8008e3bc != '\0') { - DAT_8008e3bc += '\x01'; - } - DAT_8008e3a8 = _DAT_8008e394[0x16]; - DAT_8008e3a9 = _DAT_8008e394[0x15]; - DAT_8008e3aa = _DAT_8008e394[0xe]; - DAT_8008e3ab = _DAT_8008e394[0xd]; - DAT_8008e3ac = _DAT_8008e394[0xc]; - DAT_8008e3ad = _DAT_8008e394[0xb]; - DAT_8008e3ae = _DAT_8008e394[10]; - DAT_8008e3af = _DAT_8008e394[9]; - DAT_8008e3b0 = _DAT_8008e394[8]; - DAT_8008e3b1 = _DAT_8008e394[7]; - DAT_8008e3b2 = _DAT_8008e394[6]; - DAT_8008e3b3 = _DAT_8008e394[5]; - DAT_8008e3b4 = _DAT_8008e394[4]; - DAT_8008e3b5 = _DAT_8008e394[3]; - DAT_8008e3b6 = _DAT_8008e394[2]; - DAT_8008e3b7 = _DAT_8008e394[1]; - DAT_8008e3b8 = *_DAT_8008e394; - DAT_8008e3b9 = _DAT_8008e394[0x14]; - DAT_8008e3bb = DAT_8008e3ba; - _DAT_8008e3be = (ushort)(byte)_DAT_8008e394[0x12] * 0x100 + (ushort)(byte)_DAT_8008e394[0x11]; - _DAT_8008e3c0 = (ushort)(byte)_DAT_8008e394[0x10] * 0x100 + (ushort)(byte)_DAT_8008e394[0xf]; - _DAT_8008e3c2 = uVar6 + 2; - _DAT_8008e3c4 = - CONCAT11(*(undefined *)(_DAT_8008e398 + (uint)uVar6 + 1), - *(undefined *)((uint)uVar6 + _DAT_8008e398)); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d4054(void) - -{ - FUN_7f0d3964(); - FUN_7f0d450c(); - FUN_7f0d3764(_DAT_8008e398 + 0x4000,_DAT_8008e3a0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * loc_7F0D3554(undefined4 *param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - int iStack100; - - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[3] = 0x8004ed3c; - param_1[2] = 0xfd100000; - param_1[4] = 0xf5000300; - param_1[5] = 0x7000000; - param_1[6] = 0xe6000000; - param_1[7] = 0; - param_1[8] = 0xf0000000; - param_1[9] = 0x703c000; - param_1[10] = 0xba001301; - param_1[0xb] = 0; - param_1[0xd] = 0xf0a4000; - param_1[0xc] = 0xb900031d; - param_1[0xe] = 0xfcffffff; - param_1[0xf] = 0xfffcf87c; - param_1[0x10] = 0xba000c02; - param_1[0x11] = 0; - param_1[0x13] = 0xffffffff; - param_1[0x12] = 0xbb000001; - param_1 = param_1 + 0x14; - iStack100 = 0; - iVar1 = 0; - do { - iVar3 = iVar1 + 1; - iVar5 = iStack100 << 0xb; - iVar4 = 0; - do { - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[2] = 0xfd100000; - param_1[3] = iVar5 + _DAT_8008e3a0; - param_1[5] = 0x7000000; - param_1[4] = 0xf5100000; - param_1[7] = 0; - param_1[6] = 0xe6000000; - param_1[9] = 0x73ff200; - param_1[8] = 0xf3000000; - param_1[0xb] = 0; - param_1[10] = 0xe7000000; - param_1[0xc] = 0xba000e02; - param_1[0xd] = 0x8000; - param_1[0xf] = 0x18060; - iVar2 = iVar4 + 1; - param_1[0xe] = 0xf5400800; - param_1[0x10] = 0xf2000000; - param_1[0x11] = 0x7e07e0; - param_1[0x12] = - (iVar2 * 0x40 + 0x20U & 0x3ff) << 0xe | 0xe4000000 | (iVar3 * 0x40 + 0x18) * 4 & 0xfffU; - param_1[0x13] = (iVar4 * 0x40 + 0x20U & 0x3ff) << 0xe | (iVar1 * 0x40 + 0x18) * 4 & 0xfffU; - param_1[0x14] = 0xb4000000; - param_1[0x15] = 0; - iVar5 += 0x800; - param_1[0x16] = 0xb3000000; - param_1[0x17] = 0x4000400; - param_1 = param_1 + 0x18; - iVar4 = iVar2; - } while (iVar2 != 4); - iStack100 += 4; - iVar1 = iVar3; - } while (iVar3 != 3); - return param_1; -} - - - -ulonglong loc_7F0D37C8(undefined8 param_1,uint param_2,char param_3) - -{ - int iVar1; - ulonglong uVar2; - uint uVar3; - - param_2 &= 0xff; - if (param_3 == -2) { - uVar2 = 0xff; - iVar1 = 0; - do { - if ((param_2 & 1) == 0) { - uVar2 &= (ulonglong)(byte)(&DAT_8004ec64)[iVar1]; - } - if ((param_2 >> 1 & 1) == 0) { - uVar2 &= (ulonglong)(byte)(&DAT_8004ec65)[iVar1]; - } - uVar3 = param_2 >> 3; - if ((param_2 >> 2 & 1) == 0) { - uVar2 &= (ulonglong)(byte)(&DAT_8004ec66)[iVar1]; - } - param_2 >>= 4; - if ((uVar3 & 1) == 0) { - uVar2 &= (ulonglong)(byte)(&DAT_8004ec67)[iVar1]; - } - iVar1 += 4; - } while (iVar1 != 8); - return uVar2; - } - if (param_3 == '\x1f') { - return (ulonglong)DAT_8004ec70; - } - return 0xff; -} - - - -undefined8 loc_7F0D3820(undefined8 param_1,undefined8 param_2,char param_3,byte param_4) - -{ - if (param_3 == -2) { - if ((param_4 & 7) != DAT_8004ed84) { - DAT_8004ed84 = param_4 & 7; - } - return 0; - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f0d46b8) overlaps instruction at (ram,0x7f0d46b4) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void FUN_7f0d450c(void) - -{ - ushort uVar1; - undefined uVar2; - uint uVar3; - char cStack43; - ushort uStack30; - ushort uStack24; - undefined uStack20; - char cStack19; - - cStack19 = DAT_8008e3ba; - uStack20 = DAT_8008e3bb; - uStack30 = _DAT_8008e3c2; - uStack24 = _DAT_8008e3c4; - if ((true) || (cStack43 == '\0')) { - do { - cStack43 = '\x01'; - uVar3 = (uint)uStack24; - uStack24 += 1; - if (true) { - // WARNING: Could not recover jumptable at 0x7f0d4714. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&PTR_LAB_8005c16c)[(uint)*(byte *)(uVar3 + _DAT_8008e398)])(); - return; - } - } while ((true) || (false)); - } - uVar1 = uStack24; - if ((false) && ((uVar1 = uStack24, cStack43 != '\0' && (uVar1 = uStack24, DAT_8008e3ba != '\0')))) - { - uVar1 = uStack24 + 1; - if (*(char *)((uint)uStack24 + _DAT_8008e398) != 'v') { - uVar1 = uStack24; - } - uStack24 = uVar1; - uStack20 = 0; - cStack19 = '\0'; - uVar2 = (undefined)uStack24; - if (((DAT_8008e3bc == '\0') || (DAT_8008e3bc == '\x01')) || (DAT_8008e3bc == '\x02')) { - uStack30 = _DAT_8008e3c2 - 2; - if (uStack30 < 0x5b00) { - if (uStack30 < 0x5800) { - if (0x3fff < uStack30) { - *(undefined *)(_DAT_8008e398 + (uint)uStack30) = uVar2; - *(undefined *) - (_DAT_8008e39c + ((int)((uint)uStack30 & 0x1800) >> 3 | (uint)uStack30 & 0xff)) = 1; - } - } - else { - *(undefined *)(_DAT_8008e398 + (uint)uStack30) = uVar2; - *(undefined *)(_DAT_8008e39c + (uint)uStack30 + -0x5800) = 1; - } - } - else { - *(undefined *)(_DAT_8008e398 + (uint)uStack30) = uVar2; - } - if ((uint)uStack30 + 1 < 0x5b00) { - if ((uint)uStack30 + 1 < 0x5800) { - if (0x3fff < (uint)uStack30 + 1) { - *(undefined *)(_DAT_8008e398 + (uint)uStack30 + 1) = (char)((uint)uStack24 >> 8); - *(undefined *) - (_DAT_8008e39c + ((int)((uint)uStack30 + 1 & 0x1800) >> 3 | (uint)uStack30 + 1 & 0xff)) - = 1; - } - } - else { - *(undefined *)(_DAT_8008e398 + (uint)uStack30 + 1) = (char)((uint)uStack24 >> 8); - *(undefined *)(_DAT_8008e39c + (uint)uStack30 + -0x57ff) = 1; - } - } - else { - *(undefined *)(_DAT_8008e398 + (uint)uStack30 + 1) = (char)((uint)uStack24 >> 8); - } - uStack24 = 0x38; - uVar1 = uStack24; - } - else { - uVar1 = uStack24; - if (DAT_8008e3bc == '\x03') { - uVar3 = (uint)DAT_8008e3b8 << 8 | 0xff; - uStack30 = _DAT_8008e3c2 - 2; - uVar1 = CONCAT11(*(undefined *)(_DAT_8008e398 + uVar3 + 1), - *(undefined *)(uVar3 + _DAT_8008e398)); - if (uStack30 < 0x5b00) { - if (uStack30 < 0x5800) { - if (0x3fff < uStack30) { - *(undefined *)(_DAT_8008e398 + (uint)uStack30) = uVar2; - *(undefined *) - (_DAT_8008e39c + ((int)((uint)uStack30 & 0x1800) >> 3 | (uint)uStack30 & 0xff)) = 1; - } - } - else { - *(undefined *)(_DAT_8008e398 + (uint)uStack30) = uVar2; - *(undefined *)(_DAT_8008e39c + (uint)uStack30 + -0x5800) = 1; - } - } - else { - *(undefined *)(_DAT_8008e398 + (uint)uStack30) = uVar2; - } - if ((uint)uStack30 + 1 < 0x5b00) { - if ((uint)uStack30 + 1 < 0x5800) { - if (0x3fff < (uint)uStack30 + 1) { - *(undefined *)(_DAT_8008e398 + (uint)uStack30 + 1) = (char)((uint)uStack24 >> 8); - *(undefined *) - (_DAT_8008e39c + - ((int)((uint)uStack30 + 1 & 0x1800) >> 3 | (uint)uStack30 + 1 & 0xff)) = 1; - } - } - else { - *(undefined *)(_DAT_8008e398 + (uint)uStack30 + 1) = (char)((uint)uStack24 >> 8); - *(undefined *)(_DAT_8008e39c + (uint)uStack30 + -0x57ff) = 1; - } - } - else { - *(undefined *)(_DAT_8008e398 + (uint)uStack30 + 1) = (char)((uint)uStack24 >> 8); - } - } - } - } - uStack24 = uVar1; - DAT_8008e3ba = cStack19; - DAT_8008e3bb = uStack20; - _DAT_8008e3c2 = uStack30; - _DAT_8008e3c4 = uStack24; - return; -} - - - -// WARNING: This function may have set the stack pointer - -void FUN_80000400(void) - -{ - undefined4 *puVar1; - int iVar2; - - puVar1 = (undefined4 *)&DAT_8005d320; - iVar2 = 0x310b0; - do { - iVar2 += -8; - *puVar1 = 0; - puVar1[1] = 0; - puVar1 = puVar1 + 2; - } while (iVar2 != 0); - FUN_80000450(); - return; -} - - - -void FUN_80000450(void) - -{ - setCopReg(0,Index,1,0); - setCopReg(0,EntryLo0,0x1f,0); - setCopReg(0,EntryLo1,1,0); - setCopReg(0,EntryHi,0x70000000,0); - setCopReg(0,PageMask,0x7fe000,0); - TLB_write_indexed_entry(Index,EntryHi,EntryLo0,EntryLo1,PageMask); - init((EVP_PKEY_CTX *)0x70000000); - return; -} - - diff --git a/notes/ghidra/baserom.j.z64.gzf b/notes/ghidra/baserom.j.z64.gzf deleted file mode 100644 index 36c6fdc..0000000 Binary files a/notes/ghidra/baserom.j.z64.gzf and /dev/null differ diff --git a/notes/ghidra/ge007.u.old.elf.c b/notes/ghidra/ge007.u.old.elf.c deleted file mode 100644 index 0329070..0000000 --- a/notes/ghidra/ge007.u.old.elf.c +++ /dev/null @@ -1,143918 +0,0 @@ -#include "ge007.u.old.elf.h" - - - -u32 * get_cdata_vaddr(void) - -{ - return (u32 *)rspbootTextStart; -} - - - -u32 * get_cdata_rom_start(void) - -{ - return (u32 *)&ROM_cdata_start; -} - - - -u32 * get_cdata_rom_end(void) - -{ - return (u32 *)&ROM_rarezip_start; -} - - - -u32 * get_RareZipASMRomstart(void) - -{ - return (u32 *)&ROM_rarezip_start; -} - - - -u32 get_RareZipASMRomend(void) - -{ - return 0x34b30; -} - - - -void jump_decompressfile(int source,int target,int buffer) - -{ - decompress_entry(source,target,buffer); - return; -} - - - -int init(EVP_PKEY_CTX *ctx) - -{ - code cVar1; - u32 *cdata_vaddr_start; - u32 *cdata_rom_start; - u32 *cdata_rom_end; - u32 *rzASMRomStart; - u32 *rzASMRomEnd; - code *pcVar2; - uint uVar3; - u32 *src; - u32 uVar4; - void *sp; - u32 payload_size; - u32 *dest; - u32 *next; - int index; - - cdata_vaddr_start = get_cdata_vaddr(); - cdata_rom_start = get_cdata_rom_start(); - cdata_rom_end = get_cdata_rom_end(); - cdata_rom_end = (u32 *)((int)cdata_rom_end - (int)cdata_rom_start); - rzASMRomStart = get_RareZipASMRomstart(); - rzASMRomEnd = (u32 *)get_RareZipASMRomend(); - payload_size = ((int)cdata_rom_end + (int)((int)rzASMRomEnd - (int)rzASMRomStart)) - 1; - if (-1 < (int)payload_size) { - pcVar2 = (code *)((int)cdata_vaddr_start + payload_size); - do { - cVar1 = *pcVar2; - index = payload_size - (int)cdata_rom_end; - payload_size -= 1; - pcVar2 = pcVar2 + -1; - huft_build[index] = cVar1; - } while (-1 < (int)payload_size); - } - jump_decompressfile((int)(huft_build + -(int)cdata_rom_end),(int)cdata_vaddr_start, - (int)&rarezip_buffer); - if (false) { - osPiRawStartDma(0,0x101000,(void *)0x70100400,0xfff32590); - uVar3 = osPiGetStatus(); - while ((uVar3 & 1) != 0) { - uVar3 = osPiGetStatus(); - } - } - osInitialize(); - set_hardwire_TLB_to_2(); - src = (u32 *)resolve_TLBaddress_for_InvalidHit; - dest = (u32 *)&UT_VEC; - do { - next = dest + 4; - *dest = *src; - dest[1] = src[1]; - dest[2] = src[2]; - dest[3] = src[3]; - src = src + 4; - dest = next; - } while (next != (u32 *)&XUT_VEC); - osWritebackDCacheAll(); - osInvalICache(&UT_VEC,0x4000); - index = 2; - do { - osUnmapTLB(index); - index += 1; - } while (index != 0x20); - uVar4 = __osGetFpcCsr(); - __osSetFpcCsr(uVar4 | 0xe80); - sp = set_stack_entry(&sp_main,0x8000); - osCreateThread(&mainThread,3,main_entry,NULL,sp,10); - osStartThread(&mainThread); - return (int)sp; -} - - - -void * set_stack_entry(void *stack,s32 size) - -{ - return (void *)((int)stack + size + -8); -} - - - -void set_hw_address_and_unknown(void) - -{ - unknown_init_val = 1; - cart_hw_address = 0x10000000; - return; -} - - - -void thread1_idle(void) - -{ - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -void start_idle_thread(void) - -{ - void *sp; - - sp = set_stack_entry(&sp_idle,0x40); - osCreateThread(&idleThread,1,thread1_idle,NULL,sp,0); - osStartThread(&idleThread); - return; -} - - - -void start_rmon_thread(void) - -{ - void *sp; - - sp = set_stack_entry(&sp_rmon,0x300); - osCreateThread(&rmonThread,0,rmon_entry,NULL,sp,0xfa); - osStartThread(&rmonThread); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void init_scheduler(void) - -{ - osCreateMesgQueue(&gfxFrameMsgQ,gfxFrameMsgBuf,0x20); - if (_osTVType == 2) { - osCreateScheduler(&sc,&shedThread,'\x1e','\x01'); - } - else { - osCreateScheduler(&sc,&shedThread,'\x02','\x01'); - } - osScAddClient(&sc,gfxClient,&gfxFrameMsgQ); - sched_cmdQ = osScGetCmdQ(&sc); - return; -} - - - -void main_entry(void) - -{ - longlong in_v0; - - start_idle_thread(); - removed_7000ad30(); - start_pi_manager(); - start_rmon_thread(); - check_boot_switches(); - if (in_v0 != 0) { - osStopThread(NULL); - } - osSetThreadPri(NULL,10); - init_scheduler(); - setup_gamevalues_and_launchmainloop(); - return; -} - - - -void setuplastentryofdebughandler(void) - -{ - debug_handler_entry *pdVar1; - debug_handler_entry *table; - debug_handler_entry *new; - debug_handler_entry *old; - debug_handler_entry local_38; - void *pvStack48; - void *apvStack40 [10]; - - table = debug_handler_table; - pdVar1 = &local_38; - do { - new = pdVar1; - old = table; - new->stackpointer = old->stackpointer; - new->name = old->name; - new[1].stackpointer = old[1].stackpointer; - table = (debug_handler_entry *)&old[1].name; - pdVar1 = (debug_handler_entry *)&new[1].name; - } while ((debug_handler_entry *)&old[1].name != &debug_handler_table_end); - ((debug_handler_entry *)&new[1].name)->stackpointer = debug_handler_table_end.stackpointer; - new[2].stackpointer = old[2].stackpointer; - table = &local_38; - while (pvStack48 != NULL) { - pvStack48 = table[2].stackpointer; - table = table + 1; - } - return; -} - - - -void activate_stderr(BOOL flag) - -{ - stderr_active = flag; - return; -} - - - -void enable_stderr(BOOL flag) - -{ - stderr_enabled = flag; - return; -} - - - -void permit_stderr(BOOL flag) - -{ - stderr_permitted = flag; - return; -} - - - -void setUserCompareValue(u32 value) - -{ - userCompareValue = value; - return; -} - - - -// WARNING: Instruction at (ram,0x700009c0) overlaps instruction at (ram,0x700009bc) -// - -void CheckDisplayErrorBuffer(void *frameBufPtr) - -{ - if (((stderr_permitted != FALSE) && (stderr_active != FALSE)) || (stderr_enabled != FALSE)) { - write_stderr_to_buffer(frameBufPtr); - currentcount = osGetCount(); - } - return; -} - - - -void CheckDisplayErrorBufferEvery16Frames(u32 framecount) - -{ - u32 uVar1; - - if ((((framecount & 0xf) == 0) && - (((stderr_permitted != FALSE && (stderr_active != FALSE)) || (stderr_enabled != FALSE)))) && - (uVar1 = osGetCount(), userCompareValue < uVar1 - currentcount)) { - write_stderr_to_buffer(cfb_16_a); - write_stderr_to_buffer(cfb_16_b); - } - return; -} - - - -void setcurrentcount(void) - -{ - currentcount = osGetCount(); - return; -} - - - -void osCreateScheduler(OSSched *s,void *stack,u8 mode,u8 numFields) - -{ - void *sp; - OSMesgQueue *mq; - uint uVar1; - - s->curRSPTask = NULL; - s->curRDPTask = NULL; - s->clientList = NULL; - s->frameCount = 0; - s->audioListHead = NULL; - s->gfxListHead = NULL; - s->audioListTail = NULL; - s->gfxListTail = NULL; - (s->retraceMsg).type = 1; - (s->prenmiMsg).type = 5; - mq = &s->interruptQ; - s->thread = stack; - osCreateMesgQueue((OSMesgQueue *)mq,s->intBuf,8); - osCreateMesgQueue((OSMesgQueue *)&s->cmdQ,s->cmdMsgBuf,8); - osCreateViManager(0xfe); - uVar1 = (uint)mode; - viMode._0_4_ = osViModeTable + uVar1; - viMode.comRegs.ctrl = osViModeTable[uVar1].comRegs.hStart; - viMode.comRegs.width = osViModeTable[uVar1].fldRegs[0].vStart; - viMode.comRegs.burst = osViModeTable[uVar1].fldRegs[1].vStart; - osSetEventMesg(4,(OSMesgQueue *)mq,&UNK_0000029b); - osSetEventMesg(9,(OSMesgQueue *)mq,&UNK_0000029c); - osSetEventMesg(0xe,(OSMesgQueue *)mq,&UNK_0000029d); - osViSetEvent((OSMesgQueue *)mq,&UNK_0000029a,(int)(char)numFields); - setcurrentcount(); - sp = set_stack_entry(&sp_shed,0x200); - osCreateThread((OSThread *)s->thread,2,__scMain,s,sp,0x1e); - osStartThread((OSThread *)s->thread); - return; -} - - - -void osScAddClient(OSSched *s,OSScClient *c,OSMesgQueue *msgQ) - -{ - OSIntMask mask; - SCClient_s *in_a3_lo; - - mask = osSetIntMask(1); - *(OSMesgQueue **)&c->msgQ = msgQ; - c[1].next = in_a3_lo; - *(OSScClient **)&c->next = s->clientList; - s->clientList = c; - osSetIntMask(mask); - return; -} - - - -void osScRemoveClient(OSSched *s,OSScClient *c) - -{ - OSScClient *pOVar1; - OSScClient *pOVar2; - OSScClient *pOVar3; - OSIntMask OVar4; - - pOVar1 = s->clientList; - OVar4 = osSetIntMask(1); - pOVar3 = NULL; - do { - pOVar2 = pOVar1; - if (pOVar2 == NULL) { -LAB_70000ce0: - osSetIntMask(OVar4); - return; - } - if (pOVar2 == c) { - if (pOVar3 == NULL) { - s->clientList = (OSScClient *)c->next; - } - else { - pOVar3->next = c->next; - } - goto LAB_70000ce0; - } - pOVar1 = (OSScClient *)pOVar2->next; - pOVar3 = pOVar2; - } while( true ); -} - - - -OSMesgQueue * osScGetCmdQ(OSSched *s) - -{ - return (OSMesgQueue *)&s->cmdQ; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __scMain(OSSched *sc) - -{ - bool bVar1; - OSMesgQueue *mq; - OSScClient *pOVar2; - OSMesg msg; - - msg = NULL; - bVar1 = false; - do { - osRecvMesg((OSMesgQueue *)&sc->interruptQ,&msg,1); - if ((undefined *)msg == &UNK_0000029a) { - __scHandleRetrace(sc); - } - else { - if ((undefined *)msg == &UNK_0000029b) { - __scHandleRSP(sc); - } - else { - if ((undefined *)msg == &UNK_0000029c) { - __scHandleRDP(sc); - } - else { - if ((undefined *)msg == &UNK_0000029d) { - reset_cont_rumble_detect(); - pOVar2 = sc->clientList; - if (pOVar2 == NULL) { - bVar1 = true; - } - else { - mq = pOVar2->msgQ; - while( true ) { - osSendMesg((OSMesgQueue *)mq,&sc->prenmiMsg,0); - pOVar2 = (OSScClient *)pOVar2->next; - if (pOVar2 == NULL) break; - mq = ((SCClient_s *)pOVar2)->msgQ; - } - bVar1 = true; - } - } - } - } - } - } while (!bVar1); - if (_osTVType == 2) { - osViSetMode(osViModeTable + 0x1e); - } - else { - osViSetMode(osViModeTable + 2); - } - osViSetXScale(1.00000000); - osViSetYScale(1.00000000); - osViRepeatLine('\0'); - osViBlack(1); - do { - do { - osRecvMesg((OSMesgQueue *)&sc->interruptQ,&msg,1); - } while ((undefined *)msg != &UNK_0000029a); - controllerSchedulerRelated(); - } while( true ); -} - - - -void __scHandleRetrace(OSSched *sc) - -{ - int iVar1; - s32 sVar2; - OSScTask *pOVar3; - SCClient_s *pSVar4; - ulonglong state; - OSScClient *client; - OSScTask *dp; - OSScTask *sp [3]; - OSScTask *rspTask; - - rspTask = NULL; - sp[0] = NULL; - dp = NULL; - video_related_1(); - sc->frameCount = sc->frameCount + 1; - video_related_7(); - controllerSchedulerRelated(); - music_related_15(); - iVar1 = osRecvMesg((OSMesgQueue *)&sc->cmdQ,&rspTask,0); - while (iVar1 != -1) { - __scAppendList(sc,rspTask); - iVar1 = osRecvMesg((OSMesgQueue *)&sc->cmdQ,&rspTask,0); - } - if (sc->doAudio == 0) { - pOVar3 = sc->curRSPTask; - } - else { - if (sc->curRSPTask != NULL) { - __scYield(sc); - client = sc->clientList; - goto LAB_70000fb0; - } - pOVar3 = sc->curRSPTask; - } - state = (longlong)(int)((uint)(pOVar3 == NULL) << 1) | (ulonglong)(sc->curRDPTask == NULL); - sVar2 = __scSchedule(sc,sp,&dp,(s32)state); - if ((longlong)sVar2 != state) { - __scExec(sc,sp[0],dp); - } - client = sc->clientList; -LAB_70000fb0: - if (client != NULL) { - pSVar4 = client[1].next; - while( true ) { - if ((pSVar4 == NULL) || ((sc->frameCount & 1) == 0)) { - osSendMesg((OSMesgQueue *)client->msgQ,sc,0); - client = (OSScClient *)client->next; - } - else { - client = (OSScClient *)client->next; - } - if (client == NULL) break; - pSVar4 = ((SCClient_s *)client)[1].next; - } - } - CheckDisplayErrorBufferEvery16Frames(sc->frameCount); - return; -} - - - -void __scHandleRSP(OSSched *sc) - -{ - OSYieldResult OVar1; - uint uVar2; - uint state; - OSScTask *t; - OSScTask *dp; - OSScTask *sp; - OSScTask *j; - - sp = NULL; - dp = NULL; - t = sc->curRSPTask; - sc->curRSPTask = NULL; - video_related_3(0x10001); - if ((t->state & 0x10) == 0) { - uVar2 = t->state; -LAB_700010ac: - t->state = uVar2 & 0xfffffffd; - __scTaskComplete(sc,t); - } - else { - OVar1 = osSpTaskYielded((OSTask *)t->list); - if (OVar1 == 0) { - uVar2 = t->state; - goto LAB_700010ac; - } - t->state = t->state | 0x20; - if ((t->flags & 7) == 3) { - t->next = (OSScTask_s *)sc->gfxListHead; - sc->gfxListHead = t; - if (sc->gfxListTail != NULL) { - t = sc->curRSPTask; - goto LAB_700010c4; - } - sc->gfxListTail = t; - } - } - t = sc->curRSPTask; -LAB_700010c4: - state = (uint)(t == NULL) << 1 | (uint)(sc->curRDPTask == NULL); - uVar2 = __scSchedule(sc,&sp,&dp,state); - if (uVar2 != state) { - __scExec(sc,sp,dp); - } - return; -} - - - -void * get_counters(void) - -{ - return &target_for_counters_maybe; -} - - - -void __scHandleRDP(OSSched *sc) - -{ - OSScTask *t; - uint uVar1; - uint availRCP; - OSScTask *pOStack12; - OSScTask *apOStack8 [2]; - - apOStack8[0] = NULL; - pOStack12 = NULL; - if (sc->curRDPTask != NULL) { - video_related_3(0x10002); - osDpGetCounters((u32 *)&target_for_counters_maybe); - t = sc->curRDPTask; - sc->curRDPTask = NULL; - t->state = t->state & 0xfffffffe; - __scTaskComplete(sc,t); - availRCP = (uint)(sc->curRSPTask == NULL) << 1 | (uint)(sc->curRDPTask == NULL); - uVar1 = __scSchedule(sc,apOStack8,&pOStack12,availRCP); - if (uVar1 != availRCP) { - __scExec(sc,apOStack8[0],pOStack12); - } - } - return; -} - - - -OSScTask * ___scTaskReady(OSScTask *__return_storage_ptr__,OSScTask *t) - -{ - int iVar1; - int iVar2; - - if (__return_storage_ptr__ == NULL) { - __return_storage_ptr__ = NULL; - } - else { - iVar1 = osViGetCurrentFramebuffer(); - iVar2 = osViGetNextFramebuffer(); - if (iVar2 != iVar1) { - __return_storage_ptr__ = NULL; - } - } - return __return_storage_ptr__; -} - - - -s32 __scTaskComplete(OSSched *sc,OSScTask *t) - -{ - undefined4 *puVar1; - s32 sVar2; - OSIntMask OVar3; - int iVar4; - undefined4 *puVar5; - uint uVar6; - undefined4 *puVar7; - undefined4 *puVar8; - - sVar2 = 0; - if ((t->state & 3) == 0) { - osSendMesg((OSMesgQueue *)t->msgQ,t->msg,1); - if (((*(int *)t->list == 1) && ((t->flags & 0x40) != 0)) && ((t->flags & 0x20) != 0)) { - if (firsttime != 0) { - osViBlack(0); - firsttime = 0; - } - iVar4 = (int)dword_800230B0[0] * 4; - if (*(int *)(&DAT_800230c4 + iVar4) != 0) { - OVar3 = osSetIntMask(0x80401); - iVar4 = (int)dword_800230B0[0] * 0x50; - puVar8 = (undefined4 *)(&DAT_8005db40 + iVar4); - puVar1 = *(undefined4 **)(&DAT_8005dbe0 + (int)dword_800230B0[0] * 4); - do { - puVar5 = puVar1; - puVar7 = puVar8; - puVar8 = puVar7 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar1 = puVar5 + 3; - } while (puVar8 != (undefined4 *)(iVar4 + -0x7ffa2478)); - puVar5[3] = *puVar8; - puVar5[4] = puVar7[4]; - osSetIntMask(OVar3); - iVar4 = (int)dword_800230B0[0] << 2; - } - osViSetXScale(*(f32 *)((int)dword_800230B0 + iVar4 + 4)); - osViSetYScale((f32)dword_800230B0[(int)dword_800230B0[0] + 3]); - uVar6 = (int)dword_800230B0[0] + 1; - dword_800230B0[0] = (float)(uVar6 & 1); - if (((int)uVar6 < 0) && (dword_800230B0[0] != 0.00000000)) { - dword_800230B0[0] = (float)((int)dword_800230B0[0] + -2); - } - CheckDisplayErrorBuffer(t->framebuffer); - osViSwapBuffer(t->framebuffer); - } - sVar2 = 1; - } - return sVar2; -} - - - -void __scAppendList(OSSched *sc,OSScTask *t) - -{ - if (*(int *)t->list == 2) { - if (sc->audioListTail == NULL) { - sc->audioListHead = t; - } - else { - *(OSScTask **)&sc->audioListTail->next = t; - } - sc->audioListTail = t; - sc->doAudio = 1; - } - else { - if (sc->gfxListTail == NULL) { - sc->gfxListHead = t; - } - else { - *(OSScTask **)&sc->gfxListTail->next = t; - } - sc->gfxListTail = t; - } - t->next = NULL; - t->state = t->flags & 3; - return; -} - - - -void __scExec(OSSched *sc,OSScTask *sp,OSScTask *dp) - -{ - uint uVar1; - SCHEDTASKS type; - u64 uVar2; - u64 extraout_a1; - u64 size; - u64 uVar3; - - uVar3 = SEXT48((int)dp); - uVar2 = SEXT48((int)sp); - size = uVar2; - if (uVar2 != 0) { - type = *(SCHEDTASKS *)sp->list; - if (type == M_AUDTASK) { - osWritebackDCacheAll(); - type = *(SCHEDTASKS *)sp->list; - } - if ((type != M_AUDTASK) && ((sp->state & 0x10) == 0)) { - osDpSetStatus(0x3c0); - type = *(SCHEDTASKS *)sp->list; - } - if (type == M_AUDTASK) { - video_related_3((uint)&DAT_00030001); - uVar1 = sp->state; - } - else { - video_related_3(0x40001); - video_related_3(0x20002); - uVar1 = sp->state; - } - sp->state = uVar1 & 0xffffffcf; - osSpTaskLoad((OSTask *)sp->list); - osSpTaskStartGo((OSTask *)sp->list); - sc->curRSPTask = sp; - size = extraout_a1; - if (uVar2 == uVar3) { - sc->curRDPTask = dp; - } - } - if ((uVar3 != 0) && (uVar3 != uVar2)) { - osDpSetNextBuffer(*(void **)(dp->list + 0x28),size); - dp_busy = 1; - dpCount = 0; - sc->curRDPTask = dp; - } - return; -} - - - -void __scYield(OSSched *sc) - -{ - OSScTask *pOVar1; - - pOVar1 = sc->curRSPTask; - if (*(int *)pOVar1->list == 1) { - pOVar1->state = pOVar1->state | 0x10; - osSpTaskYield(); - } - return; -} - - - -s32 __scSchedule(OSSched *sc,OSScTask **sp,OSScTask **dp,s32 availRCP) - -{ - OSScTask_s *pOVar1; - bool bVar2; - OSScTask *pOVar3; - uint avail; - OSScTask *gfx; - - do { - gfx = sc->gfxListHead; - if ((sc->doAudio == 0) || ((availRCP & 2U) == 0)) { - pOVar3 = ___scTaskReady(gfx,(OSScTask *)sp); - avail = availRCP; - if ((pOVar3 != NULL) && (true)) { - switch(gfx->flags & 7) { - case 2: - case 6: - case 7: - if ((gfx->state & 2) == 0) { - if (((gfx->state & 1) != 0) && ((availRCP & 1U) != 0)) { - *dp = gfx; - avail = availRCP & 0xfffffffe; - pOVar1 = sc->gfxListHead->next; - *(OSScTask_s **)&sc->gfxListHead = pOVar1; - if (pOVar1 == NULL) { - sc->gfxListTail = NULL; - } - } - } - else { - if ((availRCP & 2U) != 0) { - *sp = gfx; - avail = availRCP & 0xfffffffd; - } - } - break; - case 3: - if ((gfx->state & 0x20) == 0) { - if (availRCP == 3) { - *dp = gfx; - *sp = gfx; - avail = 0; - pOVar1 = sc->gfxListHead->next; - *(OSScTask_s **)&sc->gfxListHead = pOVar1; - if (pOVar1 == NULL) { - sc->gfxListTail = NULL; - } - } - } - else { - if ((availRCP & 2U) != 0) { - *sp = gfx; - avail = availRCP & 0xfffffffd; - if ((gfx->state & 1) == 0) { - pOVar3 = sc->gfxListHead; - } - else { - *dp = gfx; - avail = availRCP & 0xfffffffc; - pOVar3 = sc->gfxListHead; - } - pOVar1 = pOVar3->next; - *(OSScTask_s **)&sc->gfxListHead = pOVar1; - if (pOVar1 == NULL) { - sc->gfxListTail = NULL; - } - } - } - } - } - } - else { - if (gfx == NULL) { - *sp = sc->audioListHead; - } - else { - avail = availRCP & 0xfffffffd; - if ((gfx->flags & 0x10) != 0) { - *sp = gfx; - goto switchD_70001674_caseD_1; - } - *sp = sc->audioListHead; - } - sc->doAudio = 0; - avail = availRCP & 0xfffffffd; - pOVar1 = sc->audioListHead->next; - *(OSScTask_s **)&sc->audioListHead = pOVar1; - if (pOVar1 == NULL) { - sc->audioListTail = NULL; - } - } -switchD_70001674_caseD_1: - bVar2 = avail == availRCP; - availRCP = avail; - if (bVar2) { - return (s32)avail; - } - } while( true ); -} - - - -void osMapTLBRdb(void) - -{ - setCopReg(0,Index,0,0); - setCopReg(0,PageMask,0,0); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),0xffffffffc0000000,0); - setCopReg(0,EntryLo0,0x2000017,0); - setCopReg(0,EntryLo1,1,0); - TLB_write_indexed_entry(Index,CONCAT44(uRegister00002050,EntryHi),EntryLo0,EntryLo1,PageMask); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),(longlong)EntryHi,0); - return; -} - - - -void establish_TLB_buffer_management_table(void) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)TLB_managment_table; - do { - puVar1 = puVar1 + 4; - *puVar1 = 1; - puVar1[1] = 0; - puVar1 = puVar1; - } while (puVar1 < TLB_manager_mapping_table); - TLB_manager_mapping_table[1] = 0; - TLB_manager_mapping_table[0] = 1; - TLB_manager_mapping_table[3] = 0; - TLB_manager_mapping_table[2] = 1; - puVar1 = (undefined4 *)(TLB_manager_mapping_table + 4); - do { - puVar1 = puVar1 + 2; - *(undefined *)((int)puVar1 + 3) = 0; - *(undefined *)((int)puVar1 + 2) = 1; - *(undefined *)((int)puVar1 + 5) = 0; - *(undefined *)(puVar1 + 1) = 1; - *(undefined *)((int)puVar1 + 7) = 0; - *(undefined *)((int)puVar1 + 6) = 1; - *(undefined *)((int)puVar1 + 1) = 0; - *(undefined *)puVar1 = 1; - puVar1 = puVar1; - } while (puVar1 != &TLB_manager_mapping_table_end); - TLB_manager_mapping_table_end = 0x7fc65bf0; - ptr_TLBallocatedblock = (undefined *)0x802f6000; - return; -} - - - -u32 mp_tlb_related(void) - -{ - u32 uVar1; - - uVar1 = maybe_cur_TLB_entries; - maybe_cur_TLB_entries = 0; - return uVar1; -} - - - -s32 return_TLB_index_for_entry(int param_1) - -{ - u32 uVar1; - s32 index; - - index = 0; - do { - uVar1 = __osGetTLBHi(index); - if (uVar1 == param_1) { - return index; - } - index += 1; - } while (index != 0x20); - return -0x80000000; -} - - - -void find_remove_TLB_entry(int entry) - -{ - s32 index; - - index = return_TLB_index_for_entry(entry); - if (-1 < index) { - osUnmapTLB(index); - } - return; -} - - - -void remove_TLB_entry_from_table(int param_1) - -{ - s32 index; - - param_1 *= 2; - if (TLB_manager_mapping_table[param_1] == '\0') { - index = return_TLB_index_for_entry - ((uint)(byte)TLB_manager_mapping_table[param_1 + 1] << 0xd | 0x7f000000); - if (-1 < index) { - osUnmapTLB(index); - } - *(undefined4 *) - (TLB_managment_table + (uint)(byte)TLB_manager_mapping_table[param_1 + 1] * 0x10) = 1; - TLB_manager_mapping_table[param_1] = '\x01'; - } - return; -} - - - -void translate_load_rom_from_TLBaddress(void *address) - -{ - uint randval; - u32 uVar1; - char *src; - uint uVar2; - int iVar3; - - maybe_cur_TLB_entries += 1; - find_remove_TLB_entry((uint)address & 0x7fffe000); - randval = return_tlb_random_value(); - randval %= 0x5a; - tlb_segment_num = randval; - remove_TLB_entry_from_table(randval); - src = ptr_TLBallocatedblock + randval * 0x2000; - romCopy(src,(char *)(((uint)address & 0xffe000) + 0x34b30),0x2000); - osInvalICache((void *)0x40000000,0x40000000); - osInvalICache(&UT_VEC,0x10000000); - uVar2 = ((uint)address & 0xffe000) >> 0xd; - iVar3 = uVar2 * 0x10; - *(uint *)(TLB_managment_table + iVar3 + 4) = randval; - uVar1 = osVirtualToPhysical(src); - TLB_manager_mapping_table[randval * 2] = 0; - TLB_manager_mapping_table[randval * 2 + 1] = (char)uVar2; - *(u32 *)(TLB_managment_table + iVar3) = (uVar1 >> 0xc) << 6 | 0x1f; - return; -} - - - -undefined * getptr_TLBallocatedblock(void) - -{ - return ptr_TLBallocatedblock; -} - - - -u32 return_tlb_random_value(void) - -{ - tlb_random_seed = - ((tlb_random_seed << 0x3f) >> 0x1f | (tlb_random_seed << 0x1f) >> 0x20) ^ - (tlb_random_seed << 0x2c) >> 0x20; - tlb_random_seed = tlb_random_seed >> 0x14 & 0xfff ^ tlb_random_seed; - return (u32)tlb_random_seed; -} - - - -void resolve_TLBaddress_for_InvalidHit(void) - -{ - setCopReg(0,PageMask,0,0); - setCopReg(0,EntryLo0,(longlong)*(int *)(Context + TLB_manager_mapping_table_end),0); - setCopReg(0,EntryLo1,(longlong)(*(int *)(Context + TLB_manager_mapping_table_end) + 0x40),0); - TLB_write_random_entry(Random,EntryHi,EntryLo0,EntryLo1,PageMask); - return; -} - - - -void set_hardwire_TLB_to_2(void) - -{ - setCopReg(0,Wired,2,0); - setCopReg(0,Context,0,0); - return; -} - - - -void amCreateAudioMgr(ALSynConfig *c,OSPri priority,amConfig *amc) - -{ - AudioInfo **ppAVar1; - Acmd **ppAVar2; - undefined4 *puVar3; - AMDMABuffer *pAVar4; - s32 sVar7; - longlong lVar5; - ulonglong uVar6; - void *sp; - longlong lVar8; - undefined4 *puVar9; - AMAudioMgr *pAVar10; - AMDMABuffer *a; - AMDMABuffer *b; - int iVar11; - float fVar12; - uint uVar13; - float fVar14; - s32 asStack208 [52]; - - *(code **)&c->dmaproc = __amDmaNew; - sVar7 = osAiSetFrequency(0x5622); - lVar5 = (longlong)sVar7; - c->outputRate = sVar7; - fVar12 = (float)(sVar7 << 1) / 60.00000000; - if (false) { - fVar14 = ROUND(fVar12); - } - else { - fVar14 = FLOOR(fVar12); - } - uVar13 = (uint)fVar14; - if (true) { - if (-1 < (int)uVar13) goto LAB_70001cac; - } - else { - if (false) { - fVar14 = ROUND(fVar12 - 2147483648.00000000); - } - else { - fVar14 = FLOOR(fVar12 - 2147483648.00000000); - } - if (true) { - uVar13 = (int)fVar14 | 0x80000000; - goto LAB_70001cac; - } - } - uVar13 = 0xffffffff; -LAB_70001cac: - fVar14 = (float)uVar13; - if ((int)uVar13 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - frameSize = uVar13 + 1; - if (fVar12 <= fVar14) { - frameSize = uVar13; - } - if ((frameSize & 0xf) != 0) { - frameSize = (frameSize & 0xfffffff0) + 0x10; - } - minFrameSize = frameSize - 0x10; - maxFrameSize = frameSize + 0x35; - if (c->fxType == '\x06') { - lVar5 = (longlong)(int)asStack208; - lVar8 = lVar5; - puVar3 = &dword_80023100; - do { - puVar9 = puVar3; - lVar8._4_4_ = (undefined4 *)lVar8; - lVar8 = (longlong)(int)(lVar8._4_4_ + 3); - *lVar8._4_4_ = *puVar9; - lVar8._4_4_[1] = puVar9[1]; - lVar8._4_4_[2] = puVar9[2]; - puVar3 = puVar9 + 3; - } while (puVar9 + 3 != (undefined4 *)0x800231c0); - lVar8._4_4_[3] = uRam800231c0; - lVar8._4_4_[4] = puVar9[4]; - c->params = asStack208; - alInit((ALGlobals *)&_am.g.drvr.pFreeList.prev,c); - } - else { - alInit((ALGlobals *)&_am.g.drvr.pFreeList.prev,c); - } - pAVar10 = &_am; - do { - _alHeapDBAlloc(NULL,0,c->heap,1,0x60); - iVar11 = maxFrameSize; - pAVar10->audioInfo[0] = (AudioInfo *)lVar5; - _alHeapDBAlloc(NULL,0,c->heap,1,iVar11 << 2); - ppAVar1 = pAVar10->audioInfo; - pAVar10 = (AMAudioMgr *)(pAVar10->ACMDList + 1); - (*ppAVar1)->data = (short *)lVar5; - } while (pAVar10 < (AMAudioMgr *)0x8005e524); - osCreateMesgQueue((OSMesgQueue *)&_am.audioReplyMsgQ.validCount,_am.audioReplyMsgBuf + 2,8); - osCreateMesgQueue((OSMesgQueue *)&_am.audioFrameMsgQ.validCount,_am.audioFrameMsgBuf + 2,8); - osCreateMesgQueue(&audDMAMessageQ,audDMAMessageBuf,0x40); - uVar6 = ZEXT48(dmaBuffs); - dmaBuffs[0].node.prev = NULL; - dmaBuffs[0].node.next = NULL; - a = dmaBuffs; - iVar11 = 0; - pAVar4 = dmaBuffs; - do { - b = pAVar4; - a = a + 1; - alLink((ALLink *)a,(ALLink *)b); - _alHeapDBAlloc(NULL,0,c->heap,1,0x200); - iVar11 += 1; - b->ptr = (char *)uVar6; - pAVar4 = b + 1; - } while (iVar11 < 0x3f); - _alHeapDBAlloc(NULL,0,c->heap,1,0x200); - b[1].ptr = (char *)uVar6; - pAVar10 = &_am; - do { - _alHeapDBAlloc(NULL,0,c->heap,1,24000); - ppAVar2 = pAVar10->ACMDList; - pAVar10->ACMDList[0] = (Acmd *)uVar6; - pAVar10 = (AMAudioMgr *)(ppAVar2 + 1); - } while ((AMAudioMgr *)(ppAVar2 + 1) != (AMAudioMgr *)_am.audioInfo); - sp = set_stack_entry(&sp_audi,0x1000); - osCreateThread((OSThread *)&_am.thread.priority,4,_amMain,NULL,sp,0x14); - return; -} - - - -void startaudithread(void) - -{ - osStartThread((OSThread *)&_am.thread.priority); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void _amMain(void) - -{ - short sVar1; - OSTime OVar2; - ulonglong uVar3; - undefined4 in_v1_hi; - uint in_v1_lo; - uint uVar4; - int iVar5; - uint uStack48; - uint uStack44; - AudioMsg *msg; - OSMesg *local_c; - bool done; - - iVar5 = 0; - done = false; - local_c = NULL; - msg = NULL; - osScAddClient(&sc,&audi_client,(OSMesgQueue *)&_am.audioFrameMsgQ.validCount); - do { - osRecvMesg((OSMesgQueue *)&_am.audioFrameMsgQ.validCount,&local_c,1); - sVar1 = *(short *)local_c; - if (sVar1 == 1) { - OVar2 = osGetTime(); - OSTime_8005e4d8._0_4_ = (int)OVar2; - OSTime_8005e4d8._4_4_ = in_v1_lo; - video_related_3(0x30000); - __amHandleFrameMsg(_am.audioInfo[audFrameCt % 3],(AudioInfo *)msg); - iVar5 += 1; - video_related_3(0x60000); - OVar2 = osGetTime(); - OSTime_8005e4e0._0_4_ = (int)OVar2; - OSTime_8005e4c0._0_4_ = - (OSTime_8005e4e0._0_4_ - OSTime_8005e4d8._0_4_) - - (uint)(CONCAT44(in_v1_hi,in_v1_lo) < - (ulonglong)(longlong)(int)OSTime_8005e4d8._4_4_); - OSTime_8005e4c0._4_4_ = in_v1_lo - OSTime_8005e4d8._4_4_; - OSTime_8005e4e0._4_4_ = in_v1_lo; - if (iVar5 % 0xf0 == 0) { - uVar3 = __ull_div(DAT_8005e4d0,DAT_8005e4d4,0,0xf0); - DAT_8005e4c8 = (undefined4)uVar3; - uStack48 = (OSTime_8005e4e0._0_4_ - OSTime_8005e4d8._0_4_) - - (uint)(OSTime_8005e4e0._4_4_ < OSTime_8005e4d8._4_4_); - uStack44 = OSTime_8005e4e0._4_4_ - OSTime_8005e4d8._4_4_; - DAT_8005e4bc = 0; - DAT_8005e4b8 = 0; - DAT_8005e4d4 = 0; - DAT_8005e4d0 = 0; - DAT_8005e4cc = in_v1_lo; - } - else { - uVar4 = DAT_8005e4d4 + in_v1_lo; - DAT_8005e4d0 = (((uint)(uVar4 < in_v1_lo) + DAT_8005e4d0 + OSTime_8005e4e0._0_4_) - - OSTime_8005e4d8._0_4_) - (uint)(uVar4 < OSTime_8005e4d8._4_4_); - DAT_8005e4d4 = uVar4 - OSTime_8005e4d8._4_4_; - uStack48 = OSTime_8005e4c0._0_4_; - uStack44 = OSTime_8005e4c0._4_4_; - } - if ((DAT_8005e4b8 <= uStack48) && - ((DAT_8005e4b8 < uStack48 || (DAT_8005e4bc < uStack44)))) { - DAT_8005e4b8 = uStack48; - DAT_8005e4bc = uStack44; - } - osRecvMesg((OSMesgQueue *)&_am.audioReplyMsgQ.validCount,&msg,1); - __amHandleDoneMsg((AudioInfo *)msg); - } - else { - if (sVar1 == 5) { - done = true; - } - else { - if (sVar1 == 10) { - done = true; - } - } - } - } while (!done); - alClose((ALGlobals *)&_am.g.drvr.pFreeList.prev); - return; -} - - - -u32 __amHandleFrameMsg(AudioInfo *info,AudioInfo *lastInfo) - -{ - short sVar1; - s16 *outBuf; - uint samplesleft; - Acmd *pAVar2; - OSMesgQueue *sched_cmdQ; - u32 uVar3; - - __clearAudioDMA(); - outBuf = (s16 *)osVirtualToPhysical(info->data); - if (lastInfo != NULL) { - osAiSetNextBuffer(lastInfo->data,(int)lastInfo->frameSamples << 2); - } - samplesleft = osAiGetLength(); - info->frameSamples = ((short)frameSize - (short)(samplesleft >> 2)) + 0x35U & 0xfff0; - sVar1 = info->frameSamples; - if ((longlong)sVar1 < (longlong)(int)(short)minFrameSize) { - info->frameSamples = (short)minFrameSize; - sVar1 = info->frameSamples; - } - pAVar2 = alAudioFrame(_am.ACMDList[curAcmdList],(s32 *)&cmdLen,outBuf,(int)sVar1); - (info->task).next = NULL; - (info->task).msgQ = (OSMesgQueue *)&_am.audioReplyMsgQ.validCount; - *(AudioInfo **)&(info->task).msg = info; - (info->task).flags = 2; - *(Acmd **)((info->task).list + 0x30) = _am.ACMDList[curAcmdList]; - *(int *)((info->task).list + 0x34) = - ((int)((int)pAVar2 - (int)_am.ACMDList[curAcmdList]) >> 3) << 3; - *(undefined4 *)(info->task).list = 2; - *(undefined4 *)((info->task).list + 8) = 0x80020d90; - *(undefined4 *)((info->task).list + 0xc) = 0xd0; - *(undefined4 *)((info->task).list + 4) = 0; - *(undefined4 *)((info->task).list + 0x10) = 0x80022280; - *(undefined4 *)((info->task).list + 0x18) = 0x8005d020; - *(undefined4 *)((info->task).list + 0x1c) = 0x800; - *(undefined4 *)((info->task).list + 0x38) = 0; - *(undefined4 *)((info->task).list + 0x3c) = 0; - sched_cmdQ = osScGetCmdQ(&sc); - uVar3 = osSendMesg(sched_cmdQ,&info->task,0); - curAcmdList = curAcmdList ^ 1; - return uVar3; -} - - - -void __amHandleDoneMsg(AudioInfo *info) - -{ - int samplesLeft; - - samplesLeft = osAiGetLength(); - if ((samplesLeft >> 2 == 0) && (firstTime == 0)) { - firstTime = 0; - } - return; -} - - - -s32 __amDMA(s32 addr,s32 len,void *state) - -{ - AMDMABuffer *a; - AMDMABuffer *pAVar1; - ALLink_s *pAVar2; - u32 devAddr; - char *virtualAddress; - OSIoMesg *mb; - AMDMABuffer *b; - AMDMABuffer *pAVar3; - char *foundBuffer; - - a = dmaState.firstFree; - b = NULL; - if (dmaState.firstUsed != NULL) { - pAVar2 = (ALLink_s *)(dmaState.firstUsed)->startAddr; - pAVar1 = dmaState.firstUsed; - while( true ) { - pAVar3 = pAVar1; - if ((uint)addr < pAVar2) break; - if (addr + len <= (int)(pAVar2 + 0x40)) { - pAVar3->lastFrame = audFrameCt; - devAddr = osVirtualToPhysical(pAVar3->ptr + (addr - (int)pAVar2)); - return devAddr; - } - pAVar1 = (AMDMABuffer *)(pAVar3->node).next; - b = pAVar3; - if (pAVar1 == NULL) break; - pAVar2 = (ALLink_s *)pAVar1->startAddr; - } - } - if (dmaState.firstFree == NULL) { - if (b == NULL) { - virtualAddress = (dmaState.firstUsed)->ptr; - } - else { - virtualAddress = b->ptr; - } - devAddr = osVirtualToPhysical(virtualAddress); - } - else { - dmaState.firstFree = (AMDMABuffer *)((dmaState.firstFree)->node).next; - alUnlink((ALLink *)a); - pAVar1 = dmaState.firstUsed; - if (b == NULL) { - if (dmaState.firstUsed == NULL) { - dmaState.firstUsed = a; - (a->node).next = NULL; - (a->node).prev = NULL; - } - else { - dmaState.firstUsed = a; - *(AMDMABuffer **)&(a->node).next = pAVar1; - (a->node).prev = NULL; - *(AMDMABuffer **)&(pAVar1->node).prev = a; - } - } - else { - alLink((ALLink *)a,(ALLink *)b); - } - devAddr = addr - (addr & 1U); - a->startAddr = devAddr; - foundBuffer = a->ptr; - a->lastFrame = audFrameCt; - mb = audDMAIOMesgBuf + addr; - addr = addr + 1; - osPiStartDma(mb,1,0,devAddr,foundBuffer,0x200,&audDMAMessageQ); - devAddr = osVirtualToPhysical(foundBuffer); - } - return (s32)(devAddr + (addr & 1U)); -} - - - -ALDMAproc __amDmaNew(AMDMAState **state) - -{ - if (dmaState.initialized == '\0') { - dmaState.firstUsed = NULL; - dmaState.firstFree = dmaBuffs; - dmaState.initialized = '\x01'; - } - *state = &dmaState; - return __amDMA; -} - - - -void __clearAudioDMA(void) - -{ - u32 i; - OSIoMesg *iomsg; - AMDMABuffer *dmaPtr; - AMDMABuffer *nextPtr; - - iomsg = NULL; - i = 0; - nextPtr = dmaState.firstUsed; - if (addr != 0) { - do { - osRecvMesg(&audDMAMessageQ,&iomsg,0); - i += 1; - nextPtr = dmaState.firstUsed; - } while (i < addr); - } - while (dmaPtr = nextPtr, dmaPtr != NULL) { - nextPtr = (AMDMABuffer *)(dmaPtr->node).next; - if ((int)&((ALLink_s *)dmaPtr->lastFrame)->next + 1U < audFrameCt) { - if (dmaPtr == dmaState.firstUsed) { - dmaState.firstUsed = nextPtr; - } - alUnlink((ALLink *)dmaPtr); - if (dmaState.firstFree == NULL) { - dmaState.firstFree = dmaPtr; - (dmaPtr->node).next = NULL; - (dmaPtr->node).prev = NULL; - } - else { - alLink((ALLink *)dmaPtr,(ALLink *)dmaState.firstFree); - } - } - } - audFrameCt = audFrameCt + 1; - addr = 0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void displaylist_related(void) - -{ - u32 *puVar1; - u32 *puVar2; - - displaylist_0[0]._0_4_ = 0xb8000000; - displaylist_0[0]._4_4_ = 0; - displaylist_1[0]._0_4_ = 0xb8000000; - displaylist_1[0]._4_4_ = 0; - _displaylist_bank = 0; - puVar2 = buffer_800607b0; - puVar1 = buffer_800607b0 + 8; - do { - puVar1 = puVar1 + 1; - *puVar2 = 0; - *puVar1 = 1; - puVar2 = puVar2 + 1; - puVar1 = puVar1; - } while (puVar1 != (u32 *)&DAT_800607dc); - video_related_2(); - return; -} - - - -void video_related_1(void) - -{ - u32 uVar1; - u32 *puVar2; - u32 *puVar3; - u32 uVar4; - - count_800604a8 = osGetCount(); - puVar2 = buffer_800607b0 + 8; - puVar3 = buffer_800607b0 + 4; - do { - uVar1 = *puVar2; - puVar2 = puVar2 + 1; - uVar4 = uVar1 + 0x1f & 0x1f; - if (((int)(uVar1 + 0x1f) < 0) && (uVar4 != 0)) { - uVar4 -= 0x20; - } - *puVar3 = uVar4; - puVar3 = puVar3 + 1; - } while (puVar2 != (u32 *)&DAT_800607dc); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_related_2(void) - -{ - u32 uVar1; - u32 *puVar2; - u32 *puVar3; - - puVar3 = buffer_800607b0 + 4; - _count_800604a4 = count_800604a8; - puVar2 = buffer_800607b0; - do { - uVar1 = *puVar3; - puVar3 = puVar3 + 1; - *puVar2 = uVar1; - puVar2 = puVar2 + 1; - } while (puVar3 != buffer_800607b0 + 7); - return; -} - - - -void video_related_3(uint param_1) - -{ - OSIntMask OVar1; - u32 uVar2; - int iVar3; - u32 uVar4; - uint uVar5; - int iVar6; - - OVar1 = osSetIntMask(1); - uVar5 = param_1 & 0xffff; - iVar3 = uVar5 * 4; - param_1 = (int)param_1 >> 0x10; - uVar4 = buffer_800607b0[uVar5 + 8]; - if (param_1 == 3) { - param_1 = *(uint *)(&DAT_8005f3f0 + iVar3) | 0x8000; - } - else { - if (param_1 == 6) { - param_1 = *(uint *)(&DAT_8005f3f0 + iVar3) & 0x7fff; - } - } - iVar6 = uVar5 * 0x100 + uVar4 * 8; - *(uint *)(&DAT_800604b0 + iVar6) = param_1; - uVar2 = osGetCount(); - *(u32 *)(iVar6 + -0x7ff9fb4c) = uVar2; - uVar4 += 1; - *(uint *)(&DAT_8005f3f0 + iVar3) = param_1; - if (0x1f < (int)uVar4) { - uVar4 = 0; - } - buffer_800607b0[uVar5 + 8] = uVar4; - osSetIntMask(OVar1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 * display_speed_graph(void) - -{ - undefined4 *in_a0_lo; - int iVar1; - float fVar2; - undefined4 in_f5; - float fVar3; - undefined4 in_f11; - undefined4 in_f19; - u8 auStack24 [20]; - int *local_4; - - dword_80023224 += speedgraphframes; - if (dword_80023228 < speedgraphframes) { - dword_80023228 = speedgraphframes; - } - if (0x14 < dword_80023224) { - while (0x14 < dword_80023224) { - dword_80023224 -= 0x14; - } - local_4 = (int *)get_counters(); - set_debug_text_color(0xff,0xff,0xff,0xff); - set_color_speedgraph(0,0,0,0xff); - set_final_debug_text_positions(8,5); - fVar3 = (float)(local_4[1] - local_4[3]); - if (local_4[1] - local_4[3] < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar2 = (float)*local_4; - if (*local_4 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - sprintf((char *)auStack24,"utz %2.0f%%\n",in_f11, - SUB84((double)((fVar3 * 100.00000000) / fVar2),0)); - write_string_stdout(auStack24); - set_final_debug_text_positions(8,6); - iVar1 = *local_4; - fVar3 = (float)(iVar1 - local_4[1]); - if (iVar1 - local_4[1] < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar2 = (float)iVar1; - if (iVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - sprintf((char *)auStack24,"rsp %2.0f%%\n",in_f5, - SUB84((double)((fVar3 * 100.00000000) / fVar2),0)); - write_string_stdout(auStack24); - set_final_debug_text_positions(8,7); - fVar3 = (float)local_4[3]; - if (local_4[3] < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar2 = (float)*local_4; - if (*local_4 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - sprintf((char *)auStack24,"tex %2.0f%%",in_f19, - SUB84((double)((fVar3 * 100.00000000) / fVar2),0)); - write_string_stdout(auStack24); - set_final_debug_text_positions(0x1c,5); - if (speedgraphframes == 0) { - iVar1 = 0; - } - else { - iVar1 = 0x3c / speedgraphframes; - if (speedgraphframes == 0) { - trap(0x1c00); - } - if ((speedgraphframes == -1) && (false)) { - trap(0x1800); - } - } - sprintf((char *)auStack24,"%2d hz",iVar1); - write_string_stdout(auStack24); - set_final_debug_text_positions(0x1c,6); - sprintf((char *)auStack24,"%2d frames",speedgraphframes); - write_string_stdout(auStack24); - if (dword_80023228 == speedgraphframes) { - sprintf((char *)auStack24," ",dword_80023228); - } - else { - sprintf((char *)auStack24," [%2d]",dword_80023228); - } - write_string_stdout(auStack24); - dword_80023228 = 0; - } - *in_a0_lo = 0x6000000; - *(Gfx **)(in_a0_lo + 1) = displaylist_0 + (_displaylist_bank ^ 1) * 0x10a; - return in_a0_lo + 2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_DL_related_4(void) - -{ - uint uVar1; - int iVar2; - uint *puVar3; - uint *puVar4; - uint uVar5; - u32 uVar6; - uint uVar7; - int iVar8; - int iVar9; - uint uVar10; - uint *puVar11; - u32 uVar12; - u32 *puVar13; - float fVar14; - u32 *puStack96; - int iStack80; - uint auStack48 [3]; - uint auStack36 [7]; - int iStack8; - - counterforframes += speedgraphframes; - if (200 < counterforframes) { - counterforframes -= 200; - dword_80023234 ^= 1; - } - uVar7 = dword_8002322C & 1; - dword_8002322C += 1; - if (dword_80023234 != uVar7) { - puVar3 = proc_7F0D1AC0((undefined4 *)(displaylist_0 + _displaylist_bank * 0x10a)); - puVar4 = auStack48 + 3; - do { - puVar11 = puVar4 + 1; - *puVar4 = 0; - puVar4 = puVar11; - } while (puVar11 < auStack48 + 6); - puVar4 = auStack48; - do { - puVar11 = puVar4 + 1; - *puVar4 = _count_800604a4; - puVar4 = puVar11; - } while (puVar11 < auStack48 + 3); - puVar13 = buffer_800607b0 + 8; - puStack96 = buffer_800607b0; - iStack8 = 0; - iStack80 = 0; - do { - uVar6 = *puVar13; - uVar12 = *puStack96; - puVar4 = (uint *)((int)auStack48 + iStack80 + 0xc); - if (uVar12 != uVar6) { - iVar8 = iStack8 * 0x100; - puVar11 = (uint *)((int)auStack48 + iStack80); - do { - uVar7 = *(uint *)(&DAT_800604b0 + uVar12 * 8 + iVar8); - if ((uVar7 & 0x8000) == 0) { - uVar10 = *puVar11; - } - else { - uVar7 = 3; - uVar10 = *puVar11; - } - uVar1 = *(uint *)(&DAT_800604b0 + uVar12 * 8 + iVar8 + 1); - uVar5 = _count_800604a4; - if (_count_800604a4 <= uVar10) { - uVar5 = uVar10; - } - if ((_count_800604a4 <= uVar1) && (uVar5 <= uVar1)) { - uVar10 = *puVar4; - iVar9 = uVar10 * 0x10; - fVar14 = (float)(uVar1 - uVar5); - if ((int)(uVar1 - uVar5) < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar14 = fVar14 / 775875.00000000; - if (uVar10 == 1) { - proc_7F0D1DCC(fVar14); - } - else { - iVar2 = *(int *)(&DAT_800231d8 + iVar9); - puVar3 = proc_7F0D1BD0(puVar3,fVar14,(uint)fVar14,iVar2 >> 0x18 & 0xff, - iVar2 >> 0x10 & 0xff,iVar2 >> 8 & 0xff, - *(int *)(&DAT_800231dc + iVar9)); - } - *puVar3 = 0xe7000000; - puVar3[1] = 0; - puVar3 = puVar3 + 2; - uVar6 = *puVar13; - } - uVar10 = uVar12 + 1; - *puVar4 = uVar7; - *puVar11 = uVar1; - uVar12 = uVar10 & 0x1f; - if (((int)uVar10 < 0) && (uVar12 != 0)) { - uVar12 -= 0x20; - } - } while (uVar12 != uVar6); - } - if (iStack8 < 2) { - proc_7F0D2320(); - } - iStack8 += 1; - iStack80 += 4; - puStack96 = puStack96 + 1; - puVar13 = puVar13 + 1; - } while (iStack8 != 3); - puVar4 = proc_7F0D1E98(puVar3,0,0,0); - *puVar4 = 0xe7000000; - puVar4[1] = 0; - puVar4[2] = 0xb8000000; - puVar4[3] = 0; - _displaylist_bank ^= 1; - } - return; -} - - - -void init_video_settings(void) - -{ - video1_settings[0].frameb = cfb_16_a; - video_mp_related_8002329C = 0; - video_mp_related_800232A0 = 0; - ptr_video_settings1 = video1_settings; - ptr_video_settings2 = (video_settings *)((int)video1_settings + 0x2c); - DAT_80060878 = 0; - DAT_80060879 = 1; - video1_settings[1].frameb = cfb_16_b; - return; -} - - - -void init_both_video_buffers(void) - -{ - int iVar1; - int iVar2; - - remove_viewport_buffer(); - iVar1 = 0; - do { - cfb_16_a[iVar1] = '\0'; - cfb_16_b[iVar1] = '\0'; - cfb_16_a[iVar1 + 1] = '\0'; - cfb_16_b[iVar1 + 1] = '\0'; - cfb_16_a[iVar1 + 2] = '\0'; - cfb_16_b[iVar1 + 2] = '\0'; - cfb_16_a[iVar1 + 3] = '\0'; - iVar2 = iVar1 + 4; - cfb_16_b[iVar1 + 3] = '\0'; - iVar1 = iVar2; - } while (iVar2 != 0x25800); - return; -} - - - -void video_store_A0_plus_2_to_off_D_800232BC(int param_1) - -{ - off_800232BC = param_1 + 2; - return; -} - - - -void video_related_7(void) - -{ - int iVar1; - - if ((dword_800232B8 != 0) && (dword_800232B8 += -1, dword_800232B8 == 0)) { - dword_800232B4 = 0; - } - iVar1 = dword_800232B0 * dword_800232B4; - (viMode._0_4_)->fldRegs[0].vStart = - (((int)viMode.comRegs.width >> 0x10) + iVar1) * 0x10000 | - viMode.comRegs.width + iVar1 & 0xffff; - (viMode._0_4_)->fldRegs[1].vStart = - (((int)viMode.comRegs.burst >> 0x10) + iVar1) * 0x10000 | - viMode.comRegs.burst + iVar1 & 0xffff; - osViSetMode(viMode._0_4_); - osViBlack(off_800232BC & 0xff); - if ((off_800232BC != 0) && ((int)off_800232BC < 3)) { - off_800232BC = off_800232BC - 1; - } - osViSetSpecialFeatures(0x42); - dword_800232B0 = -dword_800232B0; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void video_related_8(void) - -{ - bool bVar1; - short sVar2; - u32 uVar3; - s32 sVar4; - video_settings *__src; - COLORMODE CVar5; - u32 *puVar6; - u8 uVar7; - u32 *puVar8; - int iVar9; - uint uVar10; - OSViMode *pOVar11; - OSViMode *pOVar12; - int iVar13; - int iVar14; - u32 *puVar15; - float fVar16; - - uVar7 = ptr_video_settings2->mode; - if (uVar7 == ptr_video_settings1->mode) { - sVar2 = ptr_video_settings2->txtClipW; - } - else { - if (uVar7 == '\0') { - osViSetYScale(1.00000000); - osViBlack(1); - } - else { - if (uVar7 == '\x01') { - if (coloroutputmode == 32BIT) { - if (_osTVType == 2) { - pOVar12 = osViModeTable + 0x22; - puVar6 = &DAT_80060828; - do { - puVar8 = puVar6; - pOVar11 = pOVar12; - pOVar12 = (OSViMode *)&(pOVar11->comRegs).burst; - *puVar8 = *(u32 *)pOVar11; - puVar8[1] = (pOVar11->comRegs).ctrl; - puVar8[2] = (pOVar11->comRegs).width; - puVar6 = puVar8 + 3; - } while (pOVar12 != (OSViMode *)&osViModeTable[0x22].fldRegs[1].vBurst); - uVar3 = (pOVar11->comRegs).vSync; - puVar8[3] = osViModeTable[34].fldRegs[1].vBurst; - puVar8[4] = uVar3; - } - else { - pOVar12 = osViModeTable + 6; - puVar6 = &DAT_80060828; - do { - puVar8 = puVar6; - pOVar11 = pOVar12; - pOVar12 = (OSViMode *)&(pOVar11->comRegs).burst; - *puVar8 = *(u32 *)pOVar11; - puVar8[1] = (pOVar11->comRegs).ctrl; - puVar8[2] = (pOVar11->comRegs).width; - puVar6 = puVar8 + 3; - } while (pOVar12 != (OSViMode *)&osViModeTable[6].fldRegs[1].vBurst); - uVar3 = (pOVar11->comRegs).vSync; - puVar8[3] = osViModeTable[6].fldRegs[1].vBurst; - puVar8[4] = uVar3; - } - } - else { - if (_osTVType == 2) { - pOVar12 = osViModeTable + 0x1e; - puVar6 = &DAT_80060828; - do { - puVar8 = puVar6; - pOVar11 = pOVar12; - pOVar12 = (OSViMode *)&(pOVar11->comRegs).burst; - *puVar8 = *(u32 *)pOVar11; - puVar8[1] = (pOVar11->comRegs).ctrl; - puVar8[2] = (pOVar11->comRegs).width; - puVar6 = puVar8 + 3; - } while (pOVar12 != (OSViMode *)&osViModeTable[0x1e].fldRegs[1].vBurst); - uVar3 = (pOVar11->comRegs).vSync; - puVar8[3] = osViModeTable[30].fldRegs[1].vBurst; - puVar8[4] = uVar3; - } - else { - pOVar12 = osViModeTable + 2; - puVar6 = &DAT_80060828; - do { - puVar8 = puVar6; - pOVar11 = pOVar12; - pOVar12 = (OSViMode *)&(pOVar11->comRegs).burst; - *puVar8 = *(u32 *)pOVar11; - puVar8[1] = (pOVar11->comRegs).ctrl; - puVar8[2] = (pOVar11->comRegs).width; - puVar6 = puVar8 + 3; - } while (pOVar12 != (OSViMode *)&osViModeTable[2].fldRegs[1].vBurst); - uVar3 = (pOVar11->comRegs).vSync; - puVar8[3] = osViModeTable[2].fldRegs[1].vBurst; - puVar8[4] = uVar3; - } - } - viMode._0_4_ = &DAT_80060828; - viMode.comRegs.ctrl = DAT_80060844; - viMode.comRegs.width = DAT_80060858; - viMode.comRegs.burst = DAT_8006086c; - video_store_A0_plus_2_to_off_D_800232BC(0); - } - else { - if (uVar7 == '\x02') { - if (_osTVType == 2) { - viMode._0_4_ = (undefined4 *)0x800275f0; - } - else { - viMode._0_4_ = (undefined4 *)0x80026d30; - } - viMode.comRegs.ctrl = viMode._0_4_[7]; - viMode.comRegs.width = viMode._0_4_[0xc]; - viMode.comRegs.burst = viMode._0_4_[0x11]; - osViBlack(0); - } - } - } - osViSetSpecialFeatures(0x42); - uVar7 = ptr_video_settings2->mode; - sVar2 = ptr_video_settings2->txtClipW; - } - __src = ptr_video_settings2; - fVar16 = (float)(int)ptr_video_settings2->txtClipH / (float)(int)ptr_video_settings2->somethingH - ; - if (uVar7 == '\0') { - fVar16 = 1.00000000; - } - iVar9 = dword_800232C0 * 4; - dword_800230B0[dword_800232C0 + 1] = - (float)(int)sVar2 / (float)(int)ptr_video_settings2->somethingW; - dword_800230B0[dword_800232C0 + 3] = fVar16; - CVar5 = coloroutputmode; - if (__src->mode == '\x01') { - bVar1 = coloroutputmode == 32BIT; - *(undefined4 *)(&DAT_8005dbe0 + iVar9) = 0x80060828; - if (bVar1) { - if (_osTVType == 2) { - puVar8 = (u32 *)(&DAT_8005db40 + dword_800232C0 * 0x50); - pOVar12 = osViModeTable + 0x22; - puVar6 = puVar8; - do { - puVar15 = puVar6; - pOVar11 = pOVar12; - pOVar12 = (OSViMode *)&(pOVar11->comRegs).burst; - *puVar15 = *(u32 *)pOVar11; - puVar15[1] = (pOVar11->comRegs).ctrl; - puVar15[2] = (pOVar11->comRegs).width; - puVar6 = puVar15 + 3; - } while (pOVar12 != (OSViMode *)&osViModeTable[0x22].fldRegs[1].vBurst); - puVar15[3] = osViModeTable[34].fldRegs[1].vBurst; - puVar15[4] = (pOVar11->comRegs).vSync; - } - else { - puVar8 = (u32 *)(&DAT_8005db40 + dword_800232C0 * 0x50); - pOVar12 = osViModeTable + 6; - puVar6 = puVar8; - do { - puVar15 = puVar6; - pOVar11 = pOVar12; - pOVar12 = (OSViMode *)&(pOVar11->comRegs).burst; - *puVar15 = *(u32 *)pOVar11; - puVar15[1] = (pOVar11->comRegs).ctrl; - puVar15[2] = (pOVar11->comRegs).width; - puVar6 = puVar15 + 3; - } while (pOVar12 != (OSViMode *)&osViModeTable[6].fldRegs[1].vBurst); - puVar15[3] = osViModeTable[6].fldRegs[1].vBurst; - puVar15[4] = (pOVar11->comRegs).vSync; - } - } - else { - if (_osTVType == 2) { - puVar8 = (u32 *)(&DAT_8005db40 + dword_800232C0 * 0x50); - pOVar12 = osViModeTable + 0x1e; - puVar6 = puVar8; - do { - puVar15 = puVar6; - pOVar11 = pOVar12; - pOVar12 = (OSViMode *)&(pOVar11->comRegs).burst; - *puVar15 = *(u32 *)pOVar11; - puVar15[1] = (pOVar11->comRegs).ctrl; - puVar15[2] = (pOVar11->comRegs).width; - puVar6 = puVar15 + 3; - } while (pOVar12 != (OSViMode *)&osViModeTable[0x1e].fldRegs[1].vBurst); - puVar15[3] = osViModeTable[30].fldRegs[1].vBurst; - puVar15[4] = (pOVar11->comRegs).vSync; - } - else { - puVar8 = (u32 *)(&DAT_8005db40 + dword_800232C0 * 0x50); - pOVar12 = osViModeTable + 2; - puVar6 = puVar8; - do { - puVar15 = puVar6; - pOVar11 = pOVar12; - pOVar12 = (OSViMode *)&(pOVar11->comRegs).burst; - *puVar15 = *(u32 *)pOVar11; - puVar15[1] = (pOVar11->comRegs).ctrl; - puVar15[2] = (pOVar11->comRegs).width; - puVar6 = puVar15 + 3; - } while (pOVar12 != (OSViMode *)&osViModeTable[2].fldRegs[1].vBurst); - puVar15[3] = osViModeTable[2].fldRegs[1].vBurst; - puVar15[4] = (pOVar11->comRegs).vSync; - } - } - puVar8[2] = (int)__src->somethingW; - puVar8[8] = ((int)__src->somethingW << 10) / 0x280; - iVar13 = (int)__src->somethingH << 0xb; - puVar8[0xb] = iVar13 / 0x1e0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - iVar13 = (int)__src->somethingH << 0xb; - puVar8[0x10] = iVar13 / 0x1e0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - puVar8[10] = (int)__src->somethingW << 1; - puVar8[0xf] = (int)__src->somethingW << 1; - iVar13 = ((int)puVar8[7] >> 0x10 & 0xffffU) + video_mp_related_8002329C; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - iVar14 = (puVar8[7] & 0xffff) + video_mp_related_8002329C; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar14 == -0x80000000)) { - trap(0x1800); - } - viMode.comRegs.ctrl = iVar13 % 0xffff << 0x10 | iVar14 % 0xffff; - puVar8[7] = viMode.comRegs.ctrl; - sVar4 = video_mp_related_800232A0; - iVar13 = ((int)puVar8[0xc] >> 0x10 & 0xffffU) + video_mp_related_800232A0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - iVar14 = (puVar8[0xc] & 0xffff) + video_mp_related_800232A0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar14 == -0x80000000)) { - trap(0x1800); - } - viMode.comRegs.width = iVar13 % 0xffff << 0x10 | iVar14 % 0xffff; - puVar8[0xc] = viMode.comRegs.width; - iVar13 = ((int)puVar8[0x11] >> 0x10 & 0xffffU) + sVar4; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar13 == -0x80000000)) { - trap(0x1800); - } - iVar14 = (puVar8[0x11] & 0xffff) + sVar4; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar14 == -0x80000000)) { - trap(0x1800); - } - viMode.comRegs.burst = iVar13 % 0xffff << 0x10 | iVar14 % 0xffff; - puVar8[0x11] = viMode.comRegs.burst; - *(undefined4 *)(&DAT_800230c4 + iVar9) = 1; - } - else { - *(undefined4 *)(&DAT_800230c4 + iVar9) = 0; - } - uVar10 = dword_800232C0 + 1; - dword_800232C0 = uVar10 & 1; - if (((int)uVar10 < 0) && (dword_800232C0 != 0)) { - dword_800232C0 -= 2; - } - if (CVar5 == 32BIT) { - *(undefined4 *)(fast3d_related_array + 0x58) = 0x803b5000; - } - else { - *(u8 **)(fast3d_related_array + 0x58) = __src->frameb; - } - __src = ptr_video_settings2; - DAT_80060878 = DAT_80060878 + 1 & 1; - if ((false) && (DAT_80060878 != 0)) { - DAT_80060878 -= 2; - } - DAT_80060879 = DAT_80060879 + 1 & 1; - if ((false) && (DAT_80060879 != 0)) { - DAT_80060879 -= 2; - } - ptr_video_settings1 = video1_settings + DAT_80060878; - ptr_video_settings2 = video1_settings + DAT_80060879; - _bcopy(__src,ptr_video_settings2,0x2c); - ptr_video_settings2->frameb = - cfb_16_a + - (((uint)DAT_80060879 * 0x14 - (uint)DAT_80060879) * 4 - (uint)DAT_80060879) * 0x800; - return; -} - - - -void video_related_9(float param_1) - -{ - float fVar1; - - fVar1 = 14.00000000; - if (param_1 <= 14.00000000) { - fVar1 = param_1; - } - if (fVar1 < 0.00000000) { - dword_800232B4 = 0; - } - else { - dword_800232B4 = (int)fVar1; - } - dword_800232B8 = 10; - return; -} - - - -void receive_vi_c_msgs(int msgcount) - -{ - do { - osRecvMesg(&vi_c_debug_MQ,NULL,1); - msgcount += -1; - } while (0 < msgcount); - return; -} - - - -void setVideoWidthHeightToMode(char videomode) - -{ - u16 uVar1; - - ptr_video_settings2->mode = videomode; - uVar1 = widths_80028480[videomode]; - ptr_video_settings2->somethingW = uVar1; - ptr_video_settings2->txtClipW = uVar1; - uVar1 = heights_80028488[videomode]; - ptr_video_settings2->somethingH = uVar1; - ptr_video_settings2->txtClipH = uVar1; - return; -} - - - -void set_coloroutputmode_16bit(void) - -{ - coloroutputmode = 16BIT; - return; -} - - - -void set_coloroutputmode_32bit(void) - -{ - coloroutputmode = 32BIT; - return; -} - - - -u8 * get_video_settings2_frameb(void) - -{ - return ptr_video_settings2->frameb; -} - - - -u8 * get_video_settings1_frameb(void) - -{ - return ptr_video_settings1->frameb; -} - - - -void set_video_settings2_frameb(u8 *framebuffer) - -{ - ptr_video_settings2->frameb = framebuffer; - return; -} - - - -ulonglong get_80060824(void) - -{ - return (ulonglong)DAT_80060824; -} - - - -// WARNING: Restarted to delay deadcode elimination for space: stack - -uint * proc_70003C58(uint *param_1) - -{ - short sVar1; - uint *puVar2; - undefined4 local_c; - undefined4 local_8; - undefined4 local_4; - undefined4 local_20; - float local_1c; - float fovy; - float aspect; - undefined in_stack_00000000 [32]; - undefined4 local_18; - undefined8 in_stack_ffffffec; - - if (pPlayer != NULL) { - (&pPlayer->field_7D0)[DAT_80060879].field_7D0 = (u16)((int)ptr_video_settings2->width << 1); - (&pPlayer->field_7D0)[DAT_80060879].field_7D8 = - (short)((int)ptr_video_settings2->width << 1) + - (short)((int)ptr_video_settings2->ulx << 2); - (&pPlayer->field_7D0)[DAT_80060879].field_7D2 = (u16)((int)ptr_video_settings2->height << 1) - ; - (&pPlayer->field_7D0)[DAT_80060879].field_7DA = - (short)((int)ptr_video_settings2->height << 1) + - (short)((int)ptr_video_settings2->uly << 2); - } - *param_1 = 0x3800010; - *(int **)(param_1 + 1) = &pPlayer[-0x30303].field_750 + (uint)DAT_80060879 * 4; - puVar2 = param_1; - proc_7F0BD6E0(); - local_20 = ptr_video_settings2->aspect; - local_1c = ptr_video_settings2->aspect_height; - local_18 = 0x3f800000; - DAT_80060820 = puVar2; - guPerspectiveF((float [4] [4]) - CONCAT3232(CONCAT284(CONCAT244(CONCAT204(CONCAT128(CONCAT84(*(undefined8 *) - &ptr_video_settings2 - ->aspect,0x3f800000 - ),in_stack_ffffffec), - local_c),local_8),local_4), - in_stack_00000000),(u16 *)&DAT_800607e0,fovy,aspect, - (float)&DAT_80060824,(float)ptr_video_settings2->far,ptr_video_settings2->scale); - guMtxF2L((float [4] [4]) - CONCAT3232(CONCAT284(CONCAT244(CONCAT204(CONCAT128(CONCAT84(CONCAT44(local_20,local_1c) - ,local_18), - in_stack_ffffffec),local_c),local_8) - ,local_4),in_stack_00000000),(Mtx *)&DAT_800607e0); - param_1[2] = 0x1030040; - *(uint **)(param_1 + 3) = DAT_80060820 + -0x20000000; - param_1[4] = 0xbc00000e; - param_1[5] = (uint)DAT_80060824; - set_BONDdata_field_10D8(DAT_80060820); - set_BONDdata_field_10DC(&DAT_800607e0); - if (coloroutputmode == 32BIT) { - sVar1 = ptr_video_settings2->somethingW; - param_1[7] = 0x3b5000; - param_1[6] = (int)sVar1 - 1U & 0xfff | 0xff180000; - } - else { - param_1[6] = (int)ptr_video_settings2->somethingW - 1U & 0xfff | 0xff100000; - *(u8 **)(param_1 + 7) = ptr_video_settings2->frameb + -0x80000000; - } - return param_1 + 8; -} - - - -undefined4 * proc_70003EB4(undefined4 *param_1) - -{ - undefined4 *puVar1; - - if (ptr_video_settings2->anonymous_12 != 0) { - puVar1 = proc_7F0D2464(param_1); - param_1 = proc_7F0D2518(puVar1); - } - return param_1; -} - - - -undefined4 * insert_generic_fillrect(undefined4 *param_1) - -{ - param_1[1] = 0x300000; - *param_1 = 0xba001402; - param_1[2] = ((int)ptr_video_settings2->somethingW - 1U & 0x3ff) << 0xe | 0xf6000000 | - ((int)ptr_video_settings2->somethingH - 1U & 0x3ff) << 2; - param_1[3] = 0; - param_1[4] = 0xe7000000; - param_1[5] = 0; - return param_1 + 6; -} - - - -uint * setupscreensfornumplayers(undefined4 *param_1) - -{ - short txtClipW; - short txtClipH; - short uly; - int curplayernum; - int iVar1; - short sVar4; - short sVar5; - s32 sVar2; - short sVar6; - u32 uVar3; - short sVar7; - uint *puVar8; - uint *puVar9; - - param_1[1] = 0x300000; - *param_1 = 0xba001402; - param_1[2] = 0xed000000; - txtClipW = get_video2_settings_txtClipW(); - txtClipH = get_video2_settings_txtClipH(); - puVar8 = param_1 + 6; - param_1[3] = (int)((float)(int)txtClipH * 4.00000000) & 0xfffU | - ((int)((float)(int)txtClipW * 4.00000000) & 0xfffU) << 0xc; - param_1[5] = 0x10001; - param_1[4] = 0xf7000000; - uly = get_video2_settings_uly(); - if (0 < uly) { - curplayernum = get_cur_playernum(); - iVar1 = proc_7F09B4D8(curplayernum); - if (iVar1 == 0) { - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_uly(); - *puVar8 = ((int)sVar5 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe - ; - param_1[7] = 0; - param_1[8] = 0xe7000000; - param_1[9] = 0; - puVar8 = param_1 + 10; - } - } - sVar2 = get_num_players(); - if (sVar2 == 1) { - sVar4 = get_video2_settings_height(); - sVar5 = get_video2_settings_uly(); - sVar6 = get_video2_settings_txtClipH(); - if ((longlong)sVar6 <= (longlong)((int)sVar5 + (int)sVar4)) { - return puVar8; - } - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - *puVar8 = ((int)sVar5 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe; - sVar4 = get_video2_settings_uly(); - sVar5 = get_video2_settings_height(); - puVar8[1] = ((int)sVar5 + (int)sVar4 & 0x3ffU) << 2; - puVar8[3] = 0; - puVar8[2] = 0xe7000000; - puVar9 = puVar8; - } - else { - uVar3 = get_cur_playernum(); - iVar1 = proc_7F09B4D8(uVar3); - if (iVar1 != 0) { - return puVar8; - } - sVar4 = get_video2_settings_height(); - sVar5 = get_video2_settings_height(); - sVar6 = get_video2_settings_uly(); - sVar7 = get_video2_settings_txtClipH(); - if ((longlong)((int)sVar6 + (int)sVar5 + (int)sVar4) < (longlong)sVar7) { - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - *puVar8 = ((int)sVar5 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe - ; - sVar4 = get_video2_settings_height(); - sVar5 = get_video2_settings_uly(); - sVar6 = get_video2_settings_height(); - puVar8[1] = ((int)sVar6 + (int)sVar5 + (int)sVar4 & 0x3ffU) << 2; - puVar8[2] = 0xe7000000; - puVar8[3] = 0; - puVar8 = puVar8 + 4; - } - sVar4 = get_video2_settings_txtClipW(); - puVar8[1] = 0x1dc; - *puVar8 = ((int)sVar4 - 1U & 0x3ff) << 0xe | 0xf60001e0; - puVar8[2] = 0xe7000000; - puVar8[3] = 0; - puVar9 = puVar8 + 4; - sVar2 = get_num_players(); - if (2 < sVar2) { - sVar4 = get_video2_settings_txtClipH(); - *puVar9 = ((int)sVar4 - 1U & 0x3ff) << 2 | 0xf6280000; - puVar8[5] = 0x27c000; - puVar8[6] = 0xe7000000; - puVar8[7] = 0; - puVar9 = puVar8 + 8; - } - sVar2 = get_num_players(); - if (sVar2 != 3) { - return puVar9; - } - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - *puVar9 = ((int)sVar5 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar4 - 1U & 0x3ff) << 0xe; - puVar9[1] = 0x2841e4; - puVar9[2] = 0xe7000000; - puVar9[3] = 0; - } - return puVar9 + 4; -} - - - -void set_video_mp_related_800232A0(s32 param_1) - -{ - video_mp_related_800232A0 = param_1; - return; -} - - - -s32 get_video_mp_related_800232A0(void) - -{ - return video_mp_related_800232A0; -} - - - -void set_video_mp_related_8002329C(undefined4 param_1) - -{ - video_mp_related_8002329C = param_1; - return; -} - - - -undefined4 get_video_mp_related_8002329C(void) - -{ - return video_mp_related_8002329C; -} - - - -void set_video2_settings_offset_18_1A(short param_1,short param_2) - -{ - ptr_video_settings2->somethingW = param_1; - ptr_video_settings2->somethingH = param_2; - return; -} - - - -short get_video2_settings_offset_18(void) - -{ - return ptr_video_settings2->somethingW; -} - - - -short get_video2_settings_offset_1A(void) - -{ - return ptr_video_settings2->somethingH; -} - - - -void set_video2_text_clip_size(short txtClipW,short txtClipH) - -{ - ptr_video_settings2->txtClipW = txtClipW; - ptr_video_settings2->txtClipH = txtClipH; - return; -} - - - -s16 get_video2_settings_txtClipW(void) - -{ - return ptr_video_settings2->txtClipW; -} - - - -short get_video2_settings_txtClipH(void) - -{ - return ptr_video_settings2->txtClipH; -} - - - -void set_video2_width_height(short width,short height) - -{ - ptr_video_settings2->width = width; - ptr_video_settings2->height = height; - set_BONDdata_screensize - ((float)(int)ptr_video_settings2->width,(float)(int)ptr_video_settings2->height); - proc_7F077C5C(); - return; -} - - - -short get_video2_settings_width(void) - -{ - return ptr_video_settings2->width; -} - - - -short get_video2_settings_height(void) - -{ - return ptr_video_settings2->height; -} - - - -void set_video2_ulx_uly(short ulx,short uly) - -{ - ptr_video_settings2->ulx = ulx; - ptr_video_settings2->uly = uly; - set_ulx_uly((f32)(float)(int)ptr_video_settings2->ulx,(f32)(float)(int)ptr_video_settings2->uly) - ; - return; -} - - - -short get_video2_settings_ulx(void) - -{ - return ptr_video_settings2->ulx; -} - - - -short get_video2_settings_uly(void) - -{ - return ptr_video_settings2->uly; -} - - - -void set_video2_settings_offset_24(int param_1) - -{ - ptr_video_settings2->anonymous_12 = param_1; - return; -} - - - -void setvideo_far(f32 param_1) - -{ - f32 in_a0_lo; - - ptr_video_settings2->far = param_1; - sub_GAME_7F077C30(ptr_video_settings2->aspect,ptr_video_settings2->far,in_a0_lo); - proc_7F077C5C(); - return; -} - - - -void video_related_21(f32 param_1) - -{ - f32 in_a0_lo; - - *(f32 *)&ptr_video_settings2->scale = param_1; - sub_GAME_7F077C30(ptr_video_settings2->aspect,ptr_video_settings2->far,in_a0_lo); - proc_7F077C5C(); - return; -} - - - -undefined4 video_related_23(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -void video_related_24(float param_1,float param_2,float param_3) - -{ - *(float *)&ptr_video_settings2->far = param_2; - ptr_video_settings2->scale = param_1 / param_2; - sub_GAME_7F077C30(ptr_video_settings2->aspect,ptr_video_settings2->far,(f32)param_3); - proc_7F077C5C(); - return; -} - - - -void set_page_height(f32 aspect,f32 height) - -{ - f32 in_a0_lo; - - ptr_video_settings2->aspect = aspect; - *(f32 *)&ptr_video_settings2->aspect_height = height; - sub_GAME_7F077C30(ptr_video_settings2->aspect,ptr_video_settings2->far,in_a0_lo); - proc_7F077C5C(); - return; -} - - - -void video_related_27(undefined4 *param_1) - -{ - *(f32 *)param_1 = ptr_video_settings2->aspect; - *(float *)(param_1 + 1) = ptr_video_settings2->aspect_height; - return; -} - - - -undefined4 * set_setfillcolor(undefined4 *DL,uint red,uint green,int blue) - -{ - uint uVar1; - - if (coloroutputmode != 32BIT) { - uVar1 = (red & 0xf8) << 8 | (green & 0xf8) << 3 | blue >> 2 & 0x3eU | 1; - *DL = 0xf7000000; - DL[1] = uVar1 << 0x10 | uVar1; - return DL + 2; - } - DL[1] = red << 0x18 | green << 0x10 | blue << 8 | 0xff; - *DL = 0xf7000000; - return DL + 2; -} - - - -void indy_grab_jpg_16bit(void) - -{ - int iVar1; - short iWidth; - short iHeight; - undefined4 iFileSize; - char indyFileName [256]; - - while( true ) { - sprintf(indyFileName,"grab.%d.jpeg",jpg_16bit_grabnum); - iVar1 = check_file_found_on_indy(indyFileName,&iFileSize); - if (iVar1 == 0) break; - jpg_16bit_grabnum += 1; - } - sprintf(indyFileName,"grab.%d.temp.uix",jpg_16bit_grabnum); - iWidth = get_video2_settings_txtClipW(); - iHeight = get_video2_settings_txtClipH(); - indy_send_capture_data(indyFileName,ptr_video_settings2->frameb,(int)iHeight * (int)iWidth * 2); - sprintf(indyFileName,"uix2pix grab.%d.temp.uix",jpg_16bit_grabnum); - send_command_string(indyFileName); - sprintf(indyFileName,"fromalias grab.%d.temp.pix grab.%d.temp.rgb",jpg_16bit_grabnum, - jpg_16bit_grabnum); - send_command_string(indyFileName); - sprintf(indyFileName,"imgcopy -fjfif grab.%d.temp.rgb grab.%d.jpeg",jpg_16bit_grabnum, - jpg_16bit_grabnum); - send_command_string(indyFileName); - sprintf(indyFileName,"rm grab.%d.temp.uix grab.%d.temp.pix grab.%d.temp.rgb",jpg_16bit_grabnum, - jpg_16bit_grabnum,jpg_16bit_grabnum); - send_command_string(indyFileName); - sprintf(indyFileName,"imgview grab.%d.jpeg",jpg_16bit_grabnum); - send_command_string(indyFileName); - return; -} - - - -void indy_grab_jpg_32bit(void) - -{ - int iVar1; - short iWidth; - short iHeight; - undefined2 uVar2; - undefined4 iFileSize; - char iFileName [256]; - - while( true ) { - sprintf(iFileName,"grab.%d.jpeg",jpg_32bit_grabnum); - iVar1 = check_file_found_on_indy(iFileName,&iFileSize); - if (iVar1 == 0) break; - jpg_32bit_grabnum += 1; - } - sprintf(iFileName,"grab.%d.temp.Uix",jpg_32bit_grabnum); - iWidth = get_video2_settings_txtClipW(); - iHeight = get_video2_settings_txtClipH(); - indy_send_capture_data(iFileName,cfb_16_a,(int)iHeight * (int)iWidth * 4); - uVar2 = get_video2_settings_txtClipW(); - sprintf(iFileName,"Uix2pix -xs%d grab.%d.temp.Uix",uVar2,jpg_32bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"fromalias grab.%d.temp.pix grab.%d.temp.rgb",jpg_32bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"imgcopy -fjfif grab.%d.temp.rgb grab.%d.jpeg",jpg_32bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"rm grab.%d.temp.Uix grab.%d.temp.pix grab.%d.temp.rgb",jpg_32bit_grabnum, - jpg_32bit_grabnum,jpg_32bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"imgview grab.%d.jpeg",jpg_32bit_grabnum); - send_command_string(iFileName); - return; -} - - - -void indy_grab_rgb_16bit(void) - -{ - int iVar1; - short iWidth; - short iHeight; - undefined4 iFileSize; - char iFileName [256]; - - while( true ) { - sprintf(iFileName,"grab.%d.rgb",rgb_16bit_grabnum); - iVar1 = check_file_found_on_indy(iFileName,&iFileSize); - if (iVar1 == 0) break; - rgb_16bit_grabnum += 1; - } - sprintf(iFileName,"grab.%d.temp.uix",rgb_16bit_grabnum); - iWidth = get_video2_settings_txtClipW(); - iHeight = get_video2_settings_txtClipH(); - indy_send_capture_data(iFileName,ptr_video_settings2->frameb,(int)iHeight * (int)iWidth * 2); - sprintf(iFileName,"uix2pix grab.%d.temp.uix",rgb_16bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"fromalias grab.%d.temp.pix grab.%d.rgb",rgb_16bit_grabnum,rgb_16bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"rm grab.%d.temp.uix grab.%d.temp.pix",rgb_16bit_grabnum,rgb_16bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"imgview grab.%d.rgb",rgb_16bit_grabnum); - send_command_string(iFileName); - return; -} - - - -void indy_grab_rgb_32bit(void) - -{ - int iVar1; - short iWidth; - short iHeight; - undefined2 uVar2; - undefined4 iFileSize; - char iFileName [256]; - - while( true ) { - sprintf(iFileName,"grab.%d.rgb",rgb_32bit_grabnum); - iVar1 = check_file_found_on_indy(iFileName,&iFileSize); - if (iVar1 == 0) break; - rgb_32bit_grabnum += 1; - } - sprintf(iFileName,"grab.%d.temp.Uix",rgb_32bit_grabnum); - iWidth = get_video2_settings_txtClipW(); - iHeight = get_video2_settings_txtClipH(); - indy_send_capture_data(iFileName,cfb_16_a,(int)iHeight * (int)iWidth * 4); - uVar2 = get_video2_settings_txtClipW(); - sprintf(iFileName,"Uix2pix -xs%d grab.%d.temp.Uix",uVar2,rgb_32bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"fromalias grab.%d.temp.pix grab.%d.rgb",rgb_32bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"rm grab.%d.temp.Uix grab.%d.temp.pix",rgb_32bit_grabnum); - send_command_string(iFileName); - sprintf(iFileName,"imgview grab.%d.rgb",rgb_32bit_grabnum); - send_command_string(iFileName); - return; -} - - - -int * return_match_in_debug_notice_list(char *name,char *data) - -{ - longlong lVar1; - byte *pbVar2; - int *piVar3; - - if (debug_notice_list == 0) { -LAB_70004d68: - piVar3 = NULL; - } - else { - pbVar2 = *(byte **)(debug_notice_list + 8); - piVar3 = (int *)debug_notice_list; - while (lVar1 = something_with_strings_0(pbVar2,name), lVar1 != 0) { - piVar3 = (int *)*piVar3; - if (piVar3 == NULL) goto LAB_70004d68; - pbVar2 = (byte *)piVar3[2]; - } - } - return piVar3; -} - - - -void get_entry_of_size_in_debug_notice_list(int size) - -{ - debug_notice_list_data = debug_notice_list_data + size; - if (&thread_video_manager_debugthread < debug_notice_list_data) { - debug_notice_list_data = debug_notice_list_data + -size; - mempAllocBytesInBank(size,'\x06'); - } - return; -} - - - -void add_new_entry_to_debug_notice_list(dword name,dword data) - -{ - dword *in_v0_lo; - - get_entry_of_size_in_debug_notice_list(0x10); - *in_v0_lo = debug_notice_list; - in_v0_lo[1] = data; - in_v0_lo[2] = name; - debug_notice_list = (dword)in_v0_lo; - return; -} - - - -void add_debug_notice_deb_c_debug(void) - -{ - get_ptr_debug_notice_list_entry(&deb_c_ptr_debug_notice_list_entry,"deb_c_debug"); - init_tlb(); - return; -} - - - -void get_ptr_debug_notice_list_entry(void *data,char *name) - -{ - int *piVar1; - - piVar1 = return_match_in_debug_notice_list(name,name); - if (piVar1 == NULL) { - add_new_entry_to_debug_notice_list(name,data); - } - return; -} - - - -void scan_debug_notice_list_till_NULL(void) - -{ - undefined4 *puVar1; - - if (debug_notice_list != 0) { - puVar1 = *(undefined4 **)debug_notice_list; - while (puVar1 != NULL) { - puVar1 = (undefined4 *)*puVar1; - } - } - return; -} - - - -void proc_70004EBC(void) - -{ - return; -} - - - -void debug_removed(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - return; -} - - - -void init_tlb(void) - -{ - set_video_buffer_pointers(); - osCreateMesgQueue(&interrupt_entry_c_buffer,&OSMesg_80063658,1); - osCreateThread((OSThread *)&thread_video_manager_debugthread,5,translate_7F_address,NULL,&sp_tlb - ,0x28); - osStartThread((OSThread *)&thread_video_manager_debugthread); - return; -} - - - -// this clever function abuses watching for a faulted thread to load the right code to tlb the jump -// to it -// - -void translate_7F_address(void *param_1) - -{ - OSIntMask save_mask; - OSMesg pvStack4; - - pvStack4 = NULL; - osSetEventMesg(0xc,&interrupt_entry_c_buffer,&caseD_0); - DAT_80063660 = 0; - while( true ) { - do { - osRecvMesg(&interrupt_entry_c_buffer,&pvStack4,1); - save_mask = osSetIntMask(1); - missingthread = __osGetCurrFaultedThread(); - } while (missingthread == NULL); - if ((((missingthread->context).badvaddr & 0x7c) != 8) || - (((missingthread->context).rcp & 0xffc00000) != 0x7f000000)) break; - translate_load_rom_from_TLBaddress((void *)(missingthread->context).rcp); - missingthread->state = 10; - missingthread->flags = 0; - __osEnqueueThread(&__osRunQueue,missingthread); - osSetIntMask(save_mask); - osYieldThread(); - } - osSetIntMask(save_mask); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -int debug_related_8(uint *op_cur,uint *op_start,int fn_sp,undefined4 *fn_reg) - -{ - bool bVar1; - bool bVar2; - int iVar3; - undefined4 *puVar4; - short sVar5; - uint uVar6; - - bVar2 = false; - bVar1 = false; - iVar3 = 0; - puVar4 = fn_reg; - do { - iVar3 += 4; - *puVar4 = 0; - puVar4[1] = 0; - puVar4[2] = 0; - puVar4[3] = 0; - puVar4 = puVar4 + 4; - } while (iVar3 != 0x20); - if (op_cur < op_start) { -LAB_700051b8: - if (bVar2) { - if (!bVar1) { - fn_sp = 0; - } - } - else { - fn_sp = 0; - } - return fn_sp; - } - uVar6 = *op_cur; - do { - op_cur = op_cur + -1; - sVar5 = (short)uVar6; - if ((uVar6 & 0xffff0000) == 0x27bd0000) { - bVar2 = true; - if ((0 < (int)sVar5) || (fn_sp += ((int)sVar5 >> 2) * -4, bVar1)) goto LAB_700051b8; - } - else { - if ((uVar6 & 0xffe00000) == 0xafa00000) { - uVar6 = uVar6 >> 0x10 & 0x1f; - fn_reg[uVar6] = ((int)sVar5 >> 2) * 4 + fn_sp; - if (uVar6 == 0x1f) { - bVar1 = true; - } - if ((bVar2) && (bVar1)) goto LAB_700051b8; - } - else { - if (uVar6 == 0x3e00008) goto LAB_700051b8; - } - } - if (op_cur < op_start) goto LAB_700051b8; - uVar6 = *op_cur; - } while( true ); -} - - - -BOOL was_opcode_a_jal_r_within_70000450_70020D90(u32 *function) - -{ - if (((((uint)function & 3) == 0) && ((u32 *)0x7000044f < function)) && - (function < (u32 *)0x70020d91)) { - if ((function[-2] & 0xfc00003c) == 9) { - return TRUE; - } - if ((function[-2] & 0xfc000000) == 0xc000000) { - return TRUE; - } - } - return FALSE; -} - - - -int return_strlen(char *str) - -{ - char cVar1; - int iVar2; - char *pcVar3; - - iVar2 = 0; - pcVar3 = str + 1; - if (*str != '\0') { - iVar2 = 1; - while ((iVar2 < 0x100 && (cVar1 = *pcVar3, pcVar3 = pcVar3 + 1, cVar1 != '\0'))) { - iVar2 += 1; - } - } - return iVar2; -} - - - -uint indy_file_get_address_subsequent_data(int hardware_address) - -{ - int iVar1; - int iVar2; - uint uVar3; - - romCopy(ARRAY_80063670,(char *)hardware_address,0x60); - current_indy_read_buf_resourceID = ARRAY_80063670._0_4_; - PTR_80063668 = ARRAY_80063670 + 4; - iVar1 = return_strlen(ARRAY_80063670 + 4); - PTR_8006366c = PTR_80063668 + iVar1 + 1; - iVar1 = return_strlen(PTR_80063668); - iVar2 = return_strlen(PTR_8006366c); - uVar3 = iVar2 + hardware_address + iVar1 + 6; - if ((uVar3 & 3) != 0) { - uVar3 = (uVar3 | 3) + 1; - } - return uVar3; -} - - - -undefined8 scan_load_resourceID_from_indy_read_buf(uint resourceID) - -{ - uint uVar1; - uint hardware_address; - uint hardware_address_00; - - hardware_address_00 = 0xe00004; - hardware_address = 0xe00004; - do { - uVar1 = indy_file_get_address_subsequent_data(hardware_address); - if (resourceID < current_indy_read_buf_resourceID) { - indy_file_get_address_subsequent_data(hardware_address_00); - return 1; - } - hardware_address_00 = hardware_address; - hardware_address = uVar1; - } while (current_indy_read_buf_resourceID != 0); - return 0; -} - - - -ulonglong is_valid_indy_read_buf_resourceID(void) - -{ - indy_file_get_address_subsequent_data(0xe00000); - return (ulonglong)(current_indy_read_buf_resourceID == -0x7d9b8a42); -} - - - -void debug_indy_stub(void) - -{ - return; -} - - - -void debug_indy_stub_0(void) - -{ - return; -} - - - -void debug_indy_stub_1(void) - -{ - return; -} - - - -undefined4 return_indy_read_buf_resourceID(void) - -{ - return current_indy_read_buf_resourceID; -} - - - -uint debug_sp_related_11(void *addressspace,u32 entrynum) - -{ - undefined *puVar1; - undefined *local_28 [4]; - undefined *local_18; - undefined *local_14 [4]; - undefined *local_4; - - local_14[0] = ptr_sp_rmon_0; - local_14[1] = ptr_sp_idle_0; - local_14[2] = ptr_sp_shed_0; - local_14[3] = ptr_sp_main_0; - local_4 = ptr_sp_audi_0; - local_28[0] = ptr_sp_idle_1; - local_28[1] = ptr_sp_shed_1; - local_28[2] = ptr_sp_main_1; - local_28[3] = ptr_sp_audi_1; - local_18 = ptr_sp_debug_0; - if (((int)entrynum < 1) || (5 < entrynum)) { - puVar1 = NULL; - } - else { - puVar1 = local_28[entrynum]; - if (addressspace < &UT_VEC) { - puVar1 = (undefined *) - ((uint)addressspace & 0xf0000000 | (uint)(puVar1 + -(int)local_14[entrynum])); - } - } - return (uint)puVar1; -} - - - -uint debug_sp_related_12(void *addressspace,u32 entrynum) - -{ - undefined *puVar1; - undefined *local_14 [4]; - undefined *local_4; - - local_14[0] = ptr_sp_rmon_1; - local_14[1] = ptr_sp_idle_2; - local_14[2] = ptr_sp_shed_2; - local_14[3] = ptr_sp_main_2; - local_4 = ptr_sp_audi_2; - if (((int)entrynum < 1) || (5 < entrynum)) { - puVar1 = NULL; - } - else { - puVar1 = local_14[entrynum]; - if (addressspace < &UT_VEC) { - puVar1 = (undefined *)((uint)addressspace & 0xf0000000); - } - } - return (uint)puVar1; -} - - - -BOOL _is_normal_single_precision_float(f32 fnum) - -{ - bool bVar1; - BOOL ret; - uint uVar2; - - bVar1 = ((uint)fnum & 0x7fffff) == 0; - ret = (BOOL)bVar1; - if (!bVar1) { - uVar2 = (uint)fnum >> 0x17 & 0xff; - ret = (BOOL)(uVar2 != 0); - if (uVar2 != 0) { - ret = (BOOL)(uVar2 != 0xff); - } - } - return ret; -} - - - -void is_normal_single_precision_float(undefined8 target,uint float) - -{ - _is_normal_single_precision_float((f32)float); - return; -} - - - -void set_normality_of_single_precision_floats - (u64 target,f32 param_2,f32 param_3,f32 param_4,f32 param_5) - -{ - int iVar1; - uint in_a3_lo; - uint in_stack_00000010; - - iVar1 = (int)target; - is_normal_single_precision_float(target,(uint)param_4); - is_normal_single_precision_float((longlong)(iVar1 + 2),(uint)param_5); - is_normal_single_precision_float((longlong)(iVar1 + 4),in_a3_lo); - is_normal_single_precision_float((longlong)(iVar1 + 6),in_stack_00000010); - return; -} - - - -void proc_70005628(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x70005668) overlaps instruction at (ram,0x70005664) -// - -void write_char_to_pos_stderr(int xpos,int ypos,byte letter) - -{ - if ((letter == 9) || (letter == 10)) { - letter = 0; - } - if (((letter != 0) && (letter < 0x20)) || (0x7e < letter)) { - letter = 0x3f; - } - if (((-1 < xpos) && (xpos < 0x48)) && ((-1 < ypos && (ypos < 0x20)))) { - stderr_buffer[ypos * 0x47 + xpos] = letter; - } - return; -} - - - -u32 __osRdbSend(u8 *buf,u32 size,u32 type) - -{ - u32 uVar1; - longlong lVar2; - longlong extraout_a1; - ulonglong letter; - ulonglong extraout_a2; - - lVar2 = (longlong)(int)size; - letter = (longlong)(int)buf & 0xff; - uVar1 = (u32)letter; - letter._7_1_ = (byte)letter; - if (letter != 0) { - if (letter == 9) { - do { - uVar1 = __osRdbSend((u8 *)"GOLDENEYE ",(u32)lVar2,(u32)letter); - lVar2 = extraout_a1; - letter = extraout_a2; - } while ((stderr_buffer._2272_4_ & 7) != 0); - } - else { - if (letter == 10) { - stderr_buffer._2276_4_ += 1; - stderr_buffer._2272_4_ = 0; - } - if (0x1e < stderr_buffer._2276_4_) { - scroll_stderr_oneline((longlong)(stderr_buffer._2276_4_ + -0x1e)); - letter = SEXT48((int)uVar1); - stderr_buffer._2276_4_ = 0x1e; - } - uVar1 = (u32)letter; - if (letter != 10) { - write_char_to_pos_stderr(stderr_buffer._2272_4_,stderr_buffer._2276_4_,(byte)letter) - ; - stderr_buffer._2272_4_ += 1; - if (0x46 < (int)stderr_buffer._2272_4_) { - stderr_buffer._2272_4_ = 0; - stderr_buffer._2276_4_ += 1; - } - } - } - } - return uVar1; -} - - - -void scroll_stderr_oneline(longlong ypos) - -{ - int iVar1; - undefined1 *puVar2; - int iVar3; - undefined *puVar4; - undefined1 *puVar5; - - iVar3 = (int)ypos; - if (0 < ypos) { - do { - iVar3 += -1; - puVar5 = stderr_buffer; - puVar2 = puVar5; - do { - iVar1 = 3; - *puVar5 = puVar5[0x47]; - puVar5[1] = puVar5[0x48]; - puVar5[2] = puVar5[0x49]; - puVar4 = puVar2 + 3; - do { - iVar1 += 4; - puVar4[1] = puVar4[0x48]; - puVar4[2] = puVar4[0x49]; - puVar4[3] = puVar4[0x4a]; - *puVar4 = puVar4[0x47]; - puVar4 = puVar4 + 4; - } while (iVar1 != 0x47); - puVar5 = puVar5 + 0x47; - puVar2 = puVar2 + 0x47; - } while (puVar5 != stderr_buffer + 0x899); - } while (0 < iVar3); - } - return; -} - - - -void print_to_vidbuff1(int xpos,int ypos,byte char) - -{ - short sVar1; - undefined2 *puVar2; - ulonglong uVar3; - int iVar4; - uint uVar5; - - sVar1 = get_video2_settings_txtClipW(); - uVar3 = (ulonglong)char; - if (char == 0) { - uVar3 = 0x20; - } - if ((char == 0 || 0x1f < char) && (uVar3 < 0x7f)) { - uVar5 = *(uint *)(stderr_buffer + (int)uVar3 * 4 + 0x868); - iVar4 = 0; - puVar2 = (undefined2 *)(ptr_videobuffer1 + ypos * sVar1 * 2 + xpos * 2); - do { - if ((uVar5 & 0x80000000) == 0) { - *puVar2 = 1; - } - else { - *puVar2 = 0xffff; - } - if ((uVar5 & 0x40000000) == 0) { - puVar2[1] = 1; - } - else { - puVar2[1] = 0xffff; - } - if ((uVar5 & 0x20000000) == 0) { - puVar2[2] = 1; - } - else { - puVar2[2] = 0xffff; - } - if ((uVar5 & 0x10000000) == 0) { - puVar2[3] = 1; - } - else { - puVar2[3] = 0xffff; - } - iVar4 += 1; - uVar5 <<= 4; - puVar2 = puVar2 + sVar1; - } while (iVar4 != 7); - } - return; -} - - - -void set_ptr_video_buffers(uint *buffer1,uint *buffer2) - -{ - ptr_videobuffer1 = (undefined *)((uint)buffer1 | 0xa0000000); - ptr_videobuffer2 = (undefined *)((uint)buffer2 | 0xa0000000); - return; -} - - - -void set_video_buffer_pointers(void) - -{ - set_ptr_video_buffers((uint *)cfb_16_a,(uint *)cfb_16_b); - return; -} - - - -void write_stderr_to_buffer(void *buffer) - -{ - short sVar1; - int iVar2; - int xpos; - byte *pbVar3; - int iVar4; - int iVar5; - - set_video_buffer_pointers(); - ptr_videobuffer1 = (undefined *)((uint)buffer | 0xa0000000); - sVar1 = get_video2_settings_txtClipW(); - iVar2 = (int)sVar1 + -0xd; - if (iVar2 < 0) { - iVar2 = (int)sVar1 + -10; - } - sVar1 = get_video2_settings_txtClipH(); - iVar5 = ((int)sVar1 + -10) / 7 + -1; - iVar4 = 0; - if (0 < iVar5) { - iVar2 = (iVar2 >> 2) + -5; - do { - if (0 < iVar2) { - pbVar3 = stderr_buffer + iVar4 * 0x47; - xpos = 0x14; - do { - print_to_vidbuff1(xpos,iVar4 * 7 + 7,*pbVar3); - xpos += 4; - pbVar3 = pbVar3 + 1; - if (iVar2 * 4 + 0x14 <= xpos) break; - } while (xpos != 0x130); - } - iVar4 += 1; - } while ((iVar4 < iVar5) && (iVar4 != 0x1f)); - } - return; -} - - - -s32 return_last_RA_saved_to_stack(undefined4 param_1) - -{ - uint uVar1; - uint *unaff_retaddr; - s32 asStackX0 [4]; - - while( true ) { - uVar1 = *unaff_retaddr >> 0x10; - if (uVar1 == 0x27bd) { - return -1; - } - if (uVar1 == 0xafbf) break; - unaff_retaddr = unaff_retaddr + -1; - } - return *(s32 *)((int)asStackX0 + (int)(short)*unaff_retaddr); -} - - - -void romCreateMesgQueue(void) - -{ - osCreateMesgQueue(&memoryMesgQueue,&memoryMesg,1); - return; -} - - - -void doRomCopy(void *target,void *source,u32 size) - -{ - osInvalDCache(target,size); - osPiStartDma(&memoryMesgMB,0,0,(u32)source,target,size,&memoryMesgQueue); - return; -} - - - -void romReceiveMesg(void) - -{ - osRecvMesg(&memoryMesgQueue,NULL,1); - return; -} - - - -void romCopy(char *src,char *dest,int len) - -{ - doRomCopy(src,dest,len); - romReceiveMesg(); - return; -} - - - -s32 romCopyAligned(void *target,void *source,s32 length) - -{ - void *target_aligned; - void *source_aligned; - - source_aligned = (void *)(((uint)source | 1) ^ 1); - target_aligned = (void *)(((int)target + 0xfU | 0xf) ^ 0xf); - romCopy((char *)target_aligned,(char *)source_aligned, - ((int)(void *)((int)source - (int)source_aligned) + length + 0xf | 0xfU) ^ 0xf); - return (s32)((int)target_aligned + (int)(void *)((int)source - (int)source_aligned)); -} - - - -void doRomWrite(void *source,void *target,u32 size) - -{ - osWritebackDCache(source,size); - osPiStartDma(&memoryMesgMB,0,1,(u32)target,source,size,&memoryMesgQueue); - return; -} - - - -void romWrite(void *source,void *target,u32 size) - -{ - doRomWrite(source,target,size); - romReceiveMesg(); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void init_mainthread_data(void) - -{ - longlong lVar1; - ulonglong interval; - byte *__nptr; - long lVar2; - u32 uVar3; - int iVar4; - undefined8 in_v1; - OSTime value; - char *__delim; - int i; - OSMesgQueue bossmq; - OSTimer bosstimer; - OSMesg bossmsg; - - add_debug_notice_deb_c_debug(); - romCreateMesgQueue(); - establish_TLB_buffer_management_table(); - image_entries_load(); - something_with_memp_c_debug(); - something_with_mema_c_debug(); - something_with_bg_c_debug(); - something_with_vi_c_debug(); - init_video_settings(); - init_indy_if_not_ready(); - debug_and_update_stage_flag = rmon_debug_is_final_build(); - ob_c_debug_setup(); - something_with_rsp_c_debug(); - something_with_dyn_c_debug(); - something_with_joy_c_debug(); - osCreateMesgQueue(&bossmq,&bossmsg,1); - i = 0; - do { - lVar1 = __ll_mul(0,100000,osClockRate._0_4_,osClockRate._4_4_); - interval = __ull_div((int)lVar1,(int)in_v1,0,1000000); - osSetTimer(&bosstimer,value,interval,(OSMesgQueue *)in_v1,NULL); - osRecvMesg(&bossmq,&bossmsg,1); - if (i == 1) { - test_controller_presence(); - } - else { - if (1 < i) { - redirect_to_ramrom_replay_and_record_handlers_if_set(); - } - } - i += 1; - } while (i != 4); - __nptr = check_token(1,(byte *)"-level_"); - if (__nptr == NULL) { - debug_and_update_stage_flag = TRUE; - } - something_stan_c_debug_related(); - something_game_c_debug_related(); - if (debug_and_update_stage_flag != FALSE) { - strtok(" -ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400",__delim); - } - __nptr = check_token(1,(byte *)"-m"); - if (__nptr != NULL) { - __nptr = check_token(1,(byte *)"-m"); - lVar2 = strtol((char *)__nptr,NULL,0); - current_m_malloc_value = lVar2 << 10; - } - uVar3 = osVirtualToPhysical(&room_model_buffer); - iVar4 = getptr_TLBallocatedblock(); - mempCheckMemflagTokens(uVar3 | 0x80000000,iVar4 - (uVar3 | 0x80000000)); - mempResetBank('\x06'); - init_LnameX(); - something_with_lvl_c_debug(); - something_with_boss_c_debug(); - null_init_main_7f0acb70(); - removed_7000ada8(); - default_player_perspective_and_height(); - store_osgetcount(); - removed_7f09b7a0(); - displaylist_related(); - set_gu_scale(); - removed_7f000bc0(); - proc_7F000980(); - alloc_load_expand_ani_table(); - init_weapon_animation_groups_maybe(); - reset_counter_rand_body_head(); - removed_7f0009d0(); - setup_ptr_playergait(); - initGameData(); - proc_7F01D6E0(); - clear_ramrom_block_buffer_heading_ptrs(); - return; -} - - - -void enable_show_mem_use_flag(void) - -{ - show_mem_use_flag = TRUE; - return; -} - - - -void mem_bars_flag_toggle(void) - -{ - show_mem_bars_flag = show_mem_bars_flag ^ 1; - return; -} - - - -void setup_gamevalues_and_launchmainloop(void) - -{ - init_mainthread_data(); - allocate_init_rsp_buffers(); - setupaudio(); - do { - mainloop(); - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7000641c) overlaps instruction at (ram,0x70006418) -// - -void mainloop(void) - -{ - byte *__nptr; - u32 uVar1; - DIFFICULTY DVar2; - int iVar3; - memoryallocation *pmVar4; - long lVar5; - void *ptr_allocmem; - int iVar6; - Gfx *pGVar7; - s32 sVar8; - s32 sVar9; - u32 uVar10; - PLAYER_ID playernum; - uint *puVar11; - short sVar13; - short sVar14; - BOOL BVar12; - LEVELID LVar15; - int playercount; - uint *puVar16; - uint uVar17; - undefined4 uStack392; - char acStack388 [328]; - Gfx *pGStack60; - uint *puStack56; - uint uStack52; - s_mainloop_unk local_2c; - OSMesg *msg; - - reset_mem_bank_5(); - __nptr = check_token(1,(byte *)"-level_"); - if (__nptr != NULL) { - __nptr = check_token(1,(byte *)"-level_"); - current_stage_num = (uint)__nptr[1] + (uint)*__nptr * 10 + 0xfffffdf0; - } - if (current_stage_num != LEVELID_TITLE) { - proc_7F01DF90(); - set_selected_folder_num(0); - set_selected_difficulty(DIFFICULTY_AGENT); - set_solo_and_ptr_briefing(current_stage_num); - __nptr = check_token(1,(byte *)"-hard"); - if (__nptr != NULL) { - __nptr = check_token(1,(byte *)"-hard"); - set_selected_difficulty((uint)*__nptr - 0x30); - __nptr = check_token(1,(byte *)"-hard"); - set_difficulty((uint)*__nptr - 0x30); - } - } - uVar1 = osGetCount(); - increment_random_num((longlong)(int)uVar1); - do { - msg = NULL; - local_2c.dword_80024304 = dword_80024304.dword_80024304; - local_2c.dword_80024308 = dword_80024304.dword_80024308; - uVar17 = 0; - local_2c.dword_80024310 = dword_80024304.dword_80024310; - local_2c.dword_8002430C = dword_80024304.dword_8002430C; - playercount = 0; - local_2c.dword_80024314 = dword_80024304.dword_80024314; - local_2c.dword_80024318 = dword_80024304.dword_80024318; - local_2c.dword_80024320 = dword_80024304.dword_80024320; - local_2c.dword_8002431C = dword_80024304.dword_8002431C; - uStack52 = 0; - DVar2 = get_current_difficulty(); - test_if_replaying_or_recording_demos_this_stage_load(current_stage_num,DVar2); - if (debug_and_update_stage_flag != 0) { - iVar6 = -1; - if ((current_stage_num != LEVELID_TITLE) && - (iVar3 = get_selected_num_players(), 1 < iVar3)) { - iVar6 = 0; - if (memallocstringtable.number != 0) { - pmVar4 = &memallocstringtable; - iVar3 = memallocstringtable.number; - do { - if (current_stage_num + 400 == iVar3) break; - iVar3 = pmVar4[1].number; - iVar6 += 1; - pmVar4 = pmVar4 + 1; - } while (iVar3 != 0); - } - if ((&memallocstringtable)[iVar6].number == 0) { - iVar6 = -1; - } - } - if ((iVar6 < 0) && (iVar6 = 0, memallocstringtable.number != 0)) { - pmVar4 = &memallocstringtable; - LVar15 = memallocstringtable.number; - do { - if (current_stage_num == LVar15) break; - LVar15 = pmVar4[1].number; - iVar6 += 1; - pmVar4 = pmVar4 + 1; - } while (LVar15 != ~LEVELID_NONE); - } - strtok((char *)(&memallocstringtable)[iVar6].string,(char *)&memallocstringtable); - } - mempResetBank('\x04'); - something_mem_bank_a0(4); - __nptr = check_token(1,(byte *)"-ma"); - if (__nptr != NULL) { - __nptr = check_token(1,(byte *)"-ma"); - lVar5 = strtol((char *)__nptr,NULL,0); - current_ma_malloc_value = lVar5 << 10; - } - ptr_allocmem = (void *)mempAllocBytesInBank(current_ma_malloc_value,'\x04'); - mempInitMallocTable(ptr_allocmem,current_ma_malloc_value); - reset_play_data_ptrs(); - if (current_stage_num != LEVELID_TITLE) { - playercount = 1; - iVar6 = get_selected_num_players(); - if (1 < iVar6) { - playercount = get_selected_num_players(); - } - } - init_player_data_ptrs_construct_viewports(playercount); - set_vtx_gfx_mem_alloc(); - test_controller_presence(); - stage_load(current_stage_num); - init_both_video_buffers(); - debug_text_related_2(); - proc_7F0C0B4C(); - video_related_2(); - iVar6 = osRecvMesg(&gfxFrameMsgQ,&msg,0); - while (iVar6 == 0) { - iVar6 = osRecvMesg(&gfxFrameMsgQ,&msg,0); - } - if (loadedstage < 0) { - do { - osRecvMesg(&gfxFrameMsgQ,&msg,1); - sVar13 = *(short *)msg; - if (sVar13 == 1) { - uVar1 = osGetCount(); - if (((0x5eb60 < uVar1 - copy_of_osgetcount_value_1) && (loadedstage < 0)) && - (uVar17 < 2)) { - iVar6 = get_is_ramrom_flag(); - if (iVar6 == 0) { - proc_7F0C0B4C(); - } - else { - iterate_ramrom_entries_handle_camera_out(); - } - video_DL_related_4(); - video_related_2(); - video_related_3(0x20000); - redirect_to_ramrom_replay_and_record_handlers_if_set(); - permit_stderr(FALSE); - pGVar7 = get_ptr_displaylist(); - pGStack60 = pGVar7; - if (debug_feature_flag != 0) { - sVar8 = get_cur_controller_horz_stick_pos('\0'); - sVar9 = get_cur_controller_vert_stick_pos('\0'); - uVar1 = get_controller_buttons_held - ('\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); - uVar10 = 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); - debug_menu_processor - ((int)(char)sVar8,(int)(char)sVar9,(controller_buttons)uVar1, - (controller_buttons)uVar10); - debug_feature_flag = uVar10; - } - manage_mp_game(); - proc_7F09B41C(); - if (current_stage_num != LEVELID_TITLE) { - iVar6 = 0; - sVar8 = get_num_players(); - if (0 < sVar8) { - do { - playernum = proc_7F09B528(iVar6); - set_cur_player(playernum); - set_video2_width_height(pPlayer->viewx,pPlayer->viewy); - set_video2_ulx_uly(pPlayer->viewleft,pPlayer->viewtop); - proc_7F0BF800(); - iVar6 += 1; - sVar8 = get_num_players(); - } while (iVar6 < sVar8); - } - } - puVar11 = proc_7F0BE30C(pGVar7); - iVar6 = get_linemode_flag(); - puVar16 = puVar11; - if (iVar6 != 0) { - *puVar11 = 0xe7000000; - puVar11[1] = 0; - puVar11[2] = 0xba001402; - puVar11[3] = 0; - puVar11[4] = 0xf9000000; - puVar11[5] = 0xffffffff; - puVar11[6] = 0xee000000; - puVar11[7] = 0xffffffff; - puVar11[9] = 4; - puVar11[8] = 0xb9000201; - puVar11[10] = 0xb900031d; - puVar11[0xb] = 0xfa54040; - puVar16 = puVar11 + 0xe; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - puVar11[0xc] = ((int)sVar14 - 1U & 0x3ff) << 2 | 0xf6000000 | - ((int)sVar13 - 1U & 0x3ff) << 0xe; - puVar11[0xd] = 0; - } - puStack56 = read_screen_display_block_and_write_chars(puVar16); - BVar12 = get_memusage_display_flag(); - if (BVar12 != FALSE) { - puStack56 = (uint *)display_speed_graph(); - } - if (debug_feature_flag != 0) { - display_debug_menu_text_onscreen(); - puStack56 = (uint *)print_debug_mcm_to_stdout(puStack56); - } - *puStack56 = 0xe9000000; - puStack56[1] = 0; - puStack56[2] = 0xb8000000; - puStack56[3] = 0; - puStack56 = puStack56 + 4; - if (show_mem_use_flag != FALSE) { - nulled_list_all8_mem_alloc_banks_sizes(); - memaGenerateListsBeforeAfterMerge(); - removed_debug_routine((int)puStack56); - nullsub_41(); - show_mem_use_flag = FALSE; - } - if (show_mem_bars_flag != FALSE) { - draw_membars(); - } - allocate_something_in_mgfx((int)puStack56); - allocate_something_in_mvtx(); - video_related_8(); - iVar6 = get_debug_taskgrab_val(); - if (((iVar6 != 0) && - (uVar1 = get_controller_buttons_pressed('\0',B_BUTTON|A_BUTTON), - uVar1 != 0)) && - (uVar1 = get_controller_buttons_held('\0',B_BUTTON|A_BUTTON), - uVar1 == 0xc000)) { - while( true ) { - sprintf(acStack388,"u64.taskgrab.%d.core",u64_taskgrab_num); - iVar6 = check_file_found_on_indy(acStack388,&uStack392); - if (iVar6 == 0) break; - u64_taskgrab_num += 1; - } - indy_send_capture_data(acStack388,&UT_VEC,0x400000); - } - load_rsp_microcode((int)pGStack60,(int)puStack56,0,&local_2c); - uVar17 += 1; - mem_related_calls_sort_merge_entries(); - uStack52 ^= 1; - video_related_3(0x10000); - } - } - else { - if (sVar13 == 2) { - uVar17 -= 1; - } - else { - if (sVar13 == 5) { - uVar17 = 4; - } - } - } - } while ((loadedstage < 0) || (uVar17 != 0)); - } - unload_stage_text_data(); - stop_demo_playback(); - mempNullNextEntryInBank('\x04'); - something_mem_bank_a0(4); - current_stage_num = loadedstage; - loadedstage = LEVELID_NONE; - if (false) { - proc_7F0D1A7C(); - return; - } - } while( true ); -} - - - -void run_title_stage(void) - -{ - set_loaded_stage(LEVELID_TITLE); - return; -} - - - -void set_loaded_stage(LEVELID stage) - -{ - loadedstage = stage; - return; -} - - - -LEVELID get_stage_num(void) - -{ - return current_stage_num; -} - - - -void return_to_title_from_level_end(void) - -{ - LEVELID stage; - longlong objectives; - - stage = get_stage_num(); - if ((stage != LEVELID_CUBA) && - (objectives._4_4_ = check_objectives_complete(), objectives = (longlong)(int)objectives._4_4_ - , objectives != 0)) { - end_of_mission_briefing(); - } - run_title_stage(); - return; -} - - - -undefined4 get_debug_parse_flag(void) - -{ - return debug_feature_flag; -} - - - -void something_with_boss_c_debug(void) - -{ - get_ptr_debug_notice_list_entry(&boss_c_ptr_debug_notice_list_entry,"boss_c_debug"); - return; -} - - - -void audio_related(void *datatable,int numsamples) - -{ - longlong lVar1; - void *pvVar2; - int iVar3; - - lVar1 = 0; - if (*(short *)datatable != 0) { - iVar3 = *(int *)((int)datatable + 4); - pvVar2 = datatable; - while( true ) { - lVar1 = (longlong)((int)lVar1 + 1); - *(int *)((int)pvVar2 + 4) = iVar3 + numsamples; - if ((longlong)(ulonglong)*(ushort *)datatable <= lVar1) break; - iVar3 = *(int *)((int)pvVar2 + 0xc); - pvVar2 = (void *)((int)pvVar2 + 8); - } - } - return; -} - - - -void setupaudio(void) - -{ - ushort uVar1; - u8 *base; - ALBankFile *src; - ALCSPlayer *pAVar2; - u8 *puVar3; - ushort *puVar4; - ALBankFile *pAVar5; - s16 *psVar6; - s16 *psVar7; - int iVar8; - ALSeqpConfig seqc_3; - ALSeqpConfig seqc_2; - ALSeqpConfig seqc_1; - ALSynConfig local_44; - ALBankFile *local_1c; - ALBankFile *local_14; - uint local_10; - undefined4 local_c; - undefined4 local_8; - ALHeap *local_4; - - if (bootswitch_sound == '\0') { - base = (u8 *)mempAllocBytesInBank((u32)&DAT_0002e000,'\x06'); - puVar3 = base; - do { - puVar3 = puVar3 + 1; - *puVar3 = '\0'; - puVar3 = puVar3; - } while (puVar3 < base + 0x2e000); - alHeapInit(&ALHeap_80063710,base,(s32)&DAT_0002e000); - local_14 = (ALBankFile *)0x5bc0; - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,0x5bc0); - romCopy((char *)local_14, - (char *)(font_first_font_table_controller_large. - font_second_font_table_controller_large. - font_second_font_table_controller_large + 0x3258),0x5bc0); - alBnkfNew(local_14,&sfx_tbl); - ptr_sfx_buf = (undefined *)local_14->bankArray[0]; - src = (ALBankFile *)0x43a0; - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,0x43a0); - local_1c = src; - romCopy((char *)src,"B1",0x43a0); - alBnkfNew(local_1c,&instruments_tbl); - DAT_80063724 = local_1c->bankArray[0]; - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,0x10); - ptr_musicdatatable = src; - romCopy((char *)src,(char *)&number_music_samples,0x10); - iVar8 = (uint)(ushort)ptr_musicdatatable->revision * 8; - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,iVar8 + 4); - ptr_musicdatatable = src; - romCopy((char *)src,(char *)&number_music_samples,(iVar8 + 0x13U | 0xf) ^ 0xf); - audio_related(ptr_musicdatatable,(int)&number_music_samples); - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,0x18c8); - PTR_80063838 = (u8 *)src; - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,6000); - DAT_80063840 = src + 0xfa; - puVar4 = &DAT_80063738; - pAVar5 = ptr_musicdatatable; - psVar6 = &DAT_800637b8; - PTR_8006383c = (u8 *)src; - do { - uVar1 = pAVar5[1].revision; - pAVar2 = (ALCSPlayer *)(uint)uVar1; - psVar7 = psVar6 + 1; - *puVar4 = uVar1; - *psVar6 = pAVar5[1].bankCount; - if ((uVar1 & 1) != 0) { - *puVar4 = uVar1 + 1; - } - puVar4 = puVar4 + 1; - pAVar5 = pAVar5 + 1; - psVar6 = psVar7; - } while (psVar7 != (s16 *)&DAT_80063836); - local_44.maxVVoices = 0; - local_44.maxPVoices = 0x18; - local_44.maxUpdates = 0x80; - local_44.dmaproc = NULL; - local_44.fxType = '\x06'; - local_44.outputRate = 0; - local_44.heap = &ALHeap_80063710; - amCreateAudioMgr(&local_44,(OSPri)&DAT_80063836,(amConfig *)&DAT_80063836); - seqc_1.maxVoices = 0x10; - seqc_1.maxEvents = 0x40; - seqc_1.maxChannels = '\x10'; - seqc_1.heap = &ALHeap_80063710; - seqc_1.initOsc = NULL; - seqc_1.updateOsc = NULL; - seqc_1.stopOsc = NULL; - seqc_2.maxVoices = 0x10; - seqc_2.maxEvents = 0x40; - seqc_2.maxChannels = '\x10'; - seqc_2.heap = &ALHeap_80063710; - seqc_2.initOsc = NULL; - seqc_2.updateOsc = NULL; - seqc_2.stopOsc = NULL; - seqc_3.maxVoices = 0x10; - seqc_3.maxEvents = 0x40; - seqc_3.maxChannels = '\x10'; - seqc_3.heap = &ALHeap_80063710; - seqc_3.initOsc = NULL; - seqc_3.updateOsc = NULL; - seqc_3.stopOsc = NULL; - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,0x7c); - seqp_1 = pAVar2; - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,0x7c); - seqp_2 = pAVar2; - _alHeapDBAlloc(NULL,0,&ALHeap_80063710,1,0x7c); - ptr_3rd_music_ctrl_block = pAVar2; - alCSPNew(seqp_1,&seqc_1); - alCSPSetBank(seqp_1,DAT_80063724); - alCSPNew(seqp_2,&seqc_2); - alCSPSetBank(seqp_2,DAT_80063724); - alCSPNew(ptr_3rd_music_ctrl_block,&seqc_3); - alCSPSetBank(ptr_3rd_music_ctrl_block,DAT_80063724); - local_c = 0x40; - local_10 = 0x40; - local_8 = 8; - local_4 = &ALHeap_80063710; - music_related_16(&local_10); - startaudithread(); - } - return; -} - - - -void musicTrack1Play(MUSIC_TRACKS track) - -{ - char *dest; - int iVar2; - ulonglong uVar1; - u8 *source; - uint len; - u8 buffer [8460]; - u8 *target; - - if (bootswitch_sound == '\0') { - if (music1_track_num != M_NONE) { - musicTrack1Stop(); - } - music1_track_num = track; - iVar2 = alCSPGetState(seqp_1); - while (iVar2 != 0) { - iVar2 = alCSPGetState(seqp_1); - } - dest = *(char **)(ptr_musicdatatable + music1_track_num * 8 + 4); - if (dest < (char *)0x10000) { - musicTrack1Play(M_SHORT_SOLO_DEATH); - } - else { - len = ((uint)(ushort)(&DAT_800637b8)[music1_track_num] + 0xf | 0xf) ^ 0xf; - source = PTR_80063838 + - (((((uint)(ushort)(&DAT_80063738)[music1_track_num] + 0xf | 0xf) ^ 0xf) + 0x40) - - len); - target = PTR_80063838; - romCopy((char *)source,dest,len); - decompressdata(source,target,buffer); - alCSeqNew(&ALCSeq_80063860,PTR_80063838); - alCSPSetSeq(seqp_1,&ALCSeq_80063860); - uVar1 = get_music1vol(); - musicTrack1Vol((s16)uVar1); - alCSPPlay(seqp_1); - } - } - return; -} - - - -void musicTrack1Stop(void) - -{ - int iVar1; - - if (bootswitch_sound == '\0') { - music1_playing = 0; - if ((music1_track_num != 0) && (iVar1 = alCSPGetState(seqp_1), iVar1 == 1)) { - alSeqpStop((ALSeqPlayer *)seqp_1); - } - music1_track_num = 0; - } - return; -} - - - -ulonglong get_music1vol(void) - -{ - return (ulonglong)music1vol; -} - - - -void musicTrack1Vol(s16 param_1) - -{ - music1vol = (u16)((longlong)param_1 & 0xffffU); - alCSPSetVol(seqp_1,(s16)((uint)((int)((longlong)param_1 & 0xffffU) * - (int)(short)musicarray_vol[music1_track_num]) >> 0xf)); - return; -} - - - -void music_related_0(void) - -{ - ulonglong uVar1; - u16 *puVar2; - u16 uVar3; - - uVar1 = get_music1vol(); - musicarray_vol[music1_track_num] = (u16)uVar1; - puVar2 = musicarray_vol; - uVar3 = musicarray_vol[1]; - if (-1 < (short)musicarray_vol[0]) { - while (-1 < (short)uVar3) { - uVar3 = puVar2[2]; - puVar2 = puVar2 + 1; - } - } - return; -} - - - -void music_related_1(f32 rate) - -{ - ulonglong uVar1; - - if (-1 < music1_playing) { - uVar1 = get_music1vol(); - musicTrack1_length = (undefined2)uVar1; - music1_length = 0; - music1_rate = (s32)((float)rate * 60.00000000); - music1_playing = -1; - } - return; -} - - - -void music_related_3(float rate,s32 param_2,short length) - -{ - if (music1_playing < 1) { - alCSPPlay(seqp_1); - music1_length = length; - if (length == -1) { - music1_length = musicTrack1_length; - } - musicTrack1_length = 0; - music1_rate = (s32)(rate * 60.00000000); - music1_playing = 1; - } - return; -} - - - -void music_related_2nd_block(int param_1) - -{ - char *dest; - int iVar2; - ulonglong uVar1; - u8 *source; - uint len; - u8 auStack8468 [8460]; - u8 *local_8; - - if (bootswitch_sound == '\0') { - if (music2_track_num != 0) { - musicTrack2Stop(); - } - music2_track_num = param_1; - iVar2 = alCSPGetState(seqp_2); - while (iVar2 != 0) { - iVar2 = alCSPGetState(seqp_2); - } - dest = *(char **)(ptr_musicdatatable + music2_track_num * 8 + 4); - if (dest < (char *)0x10000) { - music_related_2nd_block(1); - } - else { - len = ((uint)(ushort)(&DAT_800637b8)[music2_track_num] + 0xf | 0xf) ^ 0xf; - source = PTR_8006383c + - (((((uint)(ushort)(&DAT_80063738)[music2_track_num] + 0xf | 0xf) ^ 0xf) + 0x40) - - len); - local_8 = PTR_8006383c; - romCopy((char *)source,dest,len); - decompressdata(source,local_8,auStack8468); - alCSeqNew(&ALCSeq_80063958,PTR_8006383c); - alCSPSetSeq(seqp_2,&ALCSeq_80063958); - uVar1 = get_music2vol(); - musicTrack2Vol((s16)uVar1); - alCSPPlay(seqp_2); - } - } - return; -} - - - -void musicTrack2Stop(void) - -{ - int iVar1; - - if (bootswitch_sound == '\0') { - music2_playing = FALSE; - if ((music2_track_num != 0) && (iVar1 = alCSPGetState(seqp_2), iVar1 == 1)) { - alSeqpStop((ALSeqPlayer *)seqp_2); - } - music2_track_num = 0; - } - return; -} - - - -ulonglong get_music2vol(void) - -{ - return (ulonglong)music2vol; -} - - - -void musicTrack2Vol(s16 param_1) - -{ - music2vol = (u16)((longlong)param_1 & 0xffffU); - alCSPSetVol(seqp_2,(s16)((uint)((int)((longlong)param_1 & 0xffffU) * - (int)(short)musicarray_vol[music2_track_num]) >> 0xf)); - return; -} - - - -void music_related_5(void) - -{ - ulonglong uVar1; - u16 *puVar2; - u16 uVar3; - - uVar1 = get_music2vol(); - musicarray_vol[music2_track_num] = (u16)uVar1; - puVar2 = musicarray_vol; - uVar3 = musicarray_vol[1]; - if (-1 < (short)musicarray_vol[0]) { - while (-1 < (short)uVar3) { - uVar3 = puVar2[2]; - puVar2 = puVar2 + 1; - } - } - return; -} - - - -void music_related_6(float param_1) - -{ - ulonglong uVar1; - - if (-1 < (int)music2_playing) { - uVar1 = get_music2vol(); - DAT_80063846 = (undefined2)uVar1; - DAT_8006384c = 0; - DAT_80063854 = (int)(param_1 * 60.00000000); - music2_playing = ~FALSE; - } - return; -} - - - -void music_related_8(float param_1,undefined8 param_2,short param_3) - -{ - if ((int)music2_playing < 1) { - alCSPPlay(seqp_2); - DAT_8006384c = param_3; - if (param_3 == -1) { - DAT_8006384c = DAT_80063846; - } - DAT_80063846 = 0; - DAT_80063854 = (int)(param_1 * 60.00000000); - music2_playing = TRUE; - } - return; -} - - - -void music_related_3rd_block(int param_1) - -{ - char *dest; - int iVar2; - ulonglong uVar1; - u8 *source; - uint len; - u8 auStack8468 [8460]; - u8 *local_8; - - if (bootswitch_sound == '\0') { - if (music3_track_num != 0) { - musicTrack3Stop(); - } - music3_track_num = param_1; - iVar2 = alCSPGetState(ptr_3rd_music_ctrl_block); - while (iVar2 != 0) { - iVar2 = alCSPGetState(ptr_3rd_music_ctrl_block); - } - dest = *(char **)(ptr_musicdatatable + music3_track_num * 8 + 4); - if (dest < (char *)0x10000) { - music_related_3rd_block(1); - } - else { - len = ((uint)(ushort)(&DAT_800637b8)[music3_track_num] + 0xf | 0xf) ^ 0xf; - source = DAT_80063840 + - (((((uint)(ushort)(&DAT_80063738)[music3_track_num] + 0xf | 0xf) ^ 0xf) + 0x40) - - len); - local_8 = DAT_80063840; - romCopy((char *)source,dest,len); - decompressdata(source,local_8,auStack8468); - alCSeqNew(&ALCSeq_80063a50,DAT_80063840); - alCSPSetSeq(ptr_3rd_music_ctrl_block,&ALCSeq_80063a50); - uVar1 = get_music3vol(); - musicTrack3Vol(uVar1 & 0xffff); - alCSPPlay(ptr_3rd_music_ctrl_block); - } - } - return; -} - - - -void musicTrack3Stop(void) - -{ - int iVar1; - - if (bootswitch_sound == '\0') { - music3_playing = FALSE; - if ((music3_track_num != 0) && (iVar1 = alCSPGetState(ptr_3rd_music_ctrl_block), iVar1 == 1) - ) { - alSeqpStop((ALSeqPlayer *)ptr_3rd_music_ctrl_block); - } - music3_track_num = 0; - } - return; -} - - - -ulonglong get_music3vol(void) - -{ - return (ulonglong)music3vol; -} - - - -void musicTrack3Vol(ulonglong param_1) - -{ - music3vol = (u16)(param_1 & 0xffff); - alCSPSetVol(ptr_3rd_music_ctrl_block, - (s16)((uint)((int)(param_1 & 0xffff) * (int)(short)musicarray_vol[music3_track_num]) - >> 0xf)); - return; -} - - - -void music_related_10(void) - -{ - ulonglong uVar1; - u16 *puVar2; - u16 uVar3; - - uVar1 = get_music3vol(); - musicarray_vol[music3_track_num] = (u16)uVar1; - puVar2 = musicarray_vol; - uVar3 = musicarray_vol[1]; - if (-1 < (short)musicarray_vol[0]) { - while (-1 < (short)uVar3) { - uVar3 = puVar2[2]; - puVar2 = puVar2 + 1; - } - } - return; -} - - - -void music_related_11(float param_1) - -{ - ulonglong uVar1; - - if (-1 < (int)music3_playing) { - uVar1 = get_music3vol(); - music3_len = (undefined2)uVar1; - DAT_8006384e = 0; - DAT_80063858 = (int)(param_1 * 60.00000000); - music3_playing = ~FALSE; - } - return; -} - - - -void music_related_13(float param_1,undefined8 param_2,short param_3) - -{ - if ((int)music3_playing < 1) { - alCSPPlay(ptr_3rd_music_ctrl_block); - DAT_8006384e = param_3; - if (param_3 == -1) { - DAT_8006384e = music3_len; - } - music3_len = 0; - DAT_80063858 = (int)(param_1 * 60.00000000); - music3_playing = TRUE; - } - return; -} - - - -void music_related_15(void) - -{ - short sVar1; - ulonglong uVar2; - - if (music1_playing != 0) { - uVar2 = get_music1vol(); - sVar1 = (short)uVar2 + - (short)(int)((float)((uint)music1_length - (int)uVar2) / (float)music1_rate); - musicTrack1Vol(sVar1); - music1_rate += -1; - if (music1_rate < 1) { - if (sVar1 == 0) { - alSeqpStop((ALSeqPlayer *)seqp_1); - } - music1_rate = 0; - music1_playing = 0; - } - } - if (music2_playing != FALSE) { - uVar2 = get_music2vol(); - sVar1 = (short)uVar2 + - (short)(int)((float)((uint)DAT_8006384c - (int)uVar2) / (float)DAT_80063854); - musicTrack2Vol(sVar1); - DAT_80063854 += -1; - if (DAT_80063854 < 1) { - if (sVar1 == 0) { - alSeqpStop((ALSeqPlayer *)seqp_2); - } - DAT_80063854 = 0; - music2_playing = FALSE; - } - } - if (music3_playing != FALSE) { - uVar2 = get_music3vol(); - uVar2 = (longlong) - ((int)uVar2 + (int)((float)((uint)DAT_8006384e - (int)uVar2) / (float)DAT_80063858)) - & 0xffff; - musicTrack3Vol(uVar2); - DAT_80063858 += -1; - if (DAT_80063858 < 1) { - if ((short)uVar2 == 0) { - alSeqpStop((ALSeqPlayer *)ptr_3rd_music_ctrl_block); - } - DAT_80063858 = 0; - music3_playing = FALSE; - } - } - return; -} - - - -void music_related_16(uint *param_1) - -{ - ALEventListItem *in_v0_lo; - ALMicroTime AVar1; - ALEventListItem *a; - ALHeap *hp; - uint uVar2; - ALEvent AStack24; - - off_800243F0->maxSounds = param_1[2]; - off_800243F0->target = 0; - off_800243F0->frameTime = 33000; - _alHeapDBAlloc(NULL,0,(ALHeap *)param_1[3],1,*param_1 << 6); - *(ALEventListItem **)&off_800243F0->sndState = in_v0_lo; - _alHeapDBAlloc(NULL,0,(ALHeap *)param_1[3],1,param_1[1] * 0x1c); - alEvtqNew(&off_800243F0->evtq,in_v0_lo,param_1[1]); - uVar2 = 1; - dword_800243EC = off_800243F0->sndState; - if (*param_1 < 2) { - hp = (ALHeap *)param_1[3]; - } - else { - do { - in_v0_lo = (ALEventListItem *)off_800243F0->sndState; - a = (ALEventListItem *)(uVar2 * 0x40 + (int)in_v0_lo); - alLink((ALLink *)a,(ALLink *)((int)&a[-3].evt.msg + 6)); - uVar2 += 1; - } while (uVar2 < *param_1); - hp = (ALHeap *)param_1[3]; - } - _alHeapDBAlloc(NULL,0,hp,2,7); - DAT_80063ba4 = in_v0_lo; - _alHeapDBAlloc(NULL,0,(ALHeap *)param_1[3],2,7); - DAT_80063ba8 = in_v0_lo; - *(undefined2 *)&(DAT_80063ba4->node).next = 0x7fff; - *(undefined2 *)&(DAT_80063ba8->node).next = *(undefined2 *)&(DAT_80063ba4->node).next; - *(undefined2 *)((int)&(DAT_80063ba4->node).next + 2) = 0x7fff; - *(undefined2 *)((int)&(DAT_80063ba8->node).next + 2) = - *(undefined2 *)((int)&(DAT_80063ba4->node).next + 2); - *(undefined2 *)&(DAT_80063ba4->node).prev = 0x7fff; - *(undefined2 *)&(DAT_80063ba8->node).prev = *(undefined2 *)&(DAT_80063ba4->node).prev; - *(undefined2 *)((int)&(DAT_80063ba4->node).prev + 2) = 0x7fff; - *(undefined2 *)((int)&(DAT_80063ba8->node).prev + 2) = - *(undefined2 *)((int)&(DAT_80063ba4->node).prev + 2); - *(undefined2 *)&DAT_80063ba4->delta = 0x7fff; - *(undefined2 *)&DAT_80063ba8->delta = *(undefined2 *)&DAT_80063ba4->delta; - *(undefined2 *)((int)&DAT_80063ba4->delta + 2) = 0x7fff; - *(undefined2 *)((int)&DAT_80063ba8->delta + 2) = *(undefined2 *)((int)&DAT_80063ba4->delta + 2); - (DAT_80063ba4->evt).type = 0x7fff; - (DAT_80063ba8->evt).type = (DAT_80063ba4->evt).type; - *(ALGlobals **)&off_800243F0->drvr = slg; - (off_800243F0->node).next = NULL; - (off_800243F0->node).handler = _sndpVoiceHandler; - *(ALSndPlayer **)&(off_800243F0->node).clientData = off_800243F0; - alSynAddPlayer(off_800243F0->drvr,(ALPlayer *)off_800243F0); - AStack24.type = 0x20; - alEvtqPostEvent(&off_800243F0->evtq,&AStack24,off_800243F0->frameTime); - AVar1 = alEvtqNextEvent(&off_800243F0->evtq,&off_800243F0->nextEvent); - off_800243F0->nextDelta = AVar1; - return; -} - - - -ALMicroTime _sndpVoiceHandler(ALSndPlayer *node) - -{ - ALMicroTime AVar1; - ALEvent AStack20; - - do { - if ((node->nextEvent).type == 0x20) { - AStack20.type = 0x20; - alEvtqPostEvent(&node->evtq,&AStack20,node->frameTime); - } - else { - _handleEvent(node,(u32 *)&node->nextEvent); - } - AVar1 = alEvtqNextEvent(&node->evtq,&node->nextEvent); - node->nextDelta = AVar1; - } while (AVar1 == 0); - node->curTime = node->curTime + AVar1; - return AVar1; -} - - - -void _handleEvent(ALSndPlayer *sndp,u32 *event) - -{ - byte bVar1; - char cVar2; - int **ppiVar3; - int *piVar4; - bool bVar5; - _union_144 *p_Var6; - ushort uVar7; - int iVar8; - s16 volume; - u8 pan; - uint uVar9; - ALVoice *voice; - int *piVar10; - f32 in_f12; - f32 pitch; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f12_01; - f32 extraout_f12_02; - f32 extraout_f12_03; - f32 extraout_f12_04; - f32 extraout_f12_05; - f32 extraout_f12_06; - f32 extraout_f12_07; - f32 extraout_f12_08; - f32 extraout_f12_09; - f32 extraout_f12_10; - f32 extraout_f12_11; - f32 extraout_f12_12; - int *piVar11; - int t; - s16 sStack116; - int iStack112; - int iStack100; - short sStack96; - short sStack94; - int **ppiStack92; - int **ppiStack88; - s32 sStack84; - uint uStack80; - int iStack64; - s16 sStack52; - int **ppiStack48; - undefined4 uStack44; - s16 sStack36; - int **ppiStack32; - ALVoiceConfig AStack8; - - uStack80 = 1; - sStack84 = 0; - ppiStack92 = NULL; - do { - if (ppiStack92 == NULL) { - ppiStack88 = *(int ***)((int)&((ALEvent *)event)->msg + 2); - } - else { - ppiStack48 = ppiStack88; - sStack52 = ((ALEvent *)event)->type; - p_Var6 = &((ALEvent *)event)->msg; - event = (u32 *)&sStack52; - uStack44 = *(undefined4 *)((int)p_Var6 + 6); - } - ppiVar3 = (int **)ppiStack88[2]; - if (ppiVar3 == NULL) { - music_related_22(&sStack94,&sStack96); - return; - } - ppiStack92 = (int **)*ppiStack88; - piVar4 = ppiVar3[1]; - uVar7 = ((ALEvent *)event)->type; - if (uVar7 < 0x101) { - if (uVar7 < 0x41) { - if (uVar7 < 0x11) { - if (false) { -switchD_70007fb4_caseD_3: - uVar7 &= 0x2d1; - } - else { - switch(uVar7) { - case 1: - if ((*(char *)((int)ppiStack88 + 0x3f) != '\x05') && - (*(char *)((int)ppiStack88 + 0x3f) != '\x04')) { - return; - } - AStack8.fxBus = 0; - AStack8.unityPitch = '\0'; - AStack8.priority = (ushort)*(byte *)((int)ppiStack88 + 0x36); - bVar5 = (longlong)sndp->maxSounds <= (longlong)dword_800243F4; - if ((!bVar5) || - (bVar1 = *(byte *)((int)ppiStack88 + 0x3e), (bVar1 & 0x10) != 0)) { - sStack84 = alSynAllocVoice(sndp->drvr,(ALVoice *)(ppiStack88 + 3), - &AStack8); - bVar1 = *(byte *)((int)ppiStack88 + 0x3e); - } - voice = (ALVoice *)(ppiStack88 + 3); - if (sStack84 == 0) { - if (((bVar1 & 0x12) == 0) && ((int)ppiStack88[0xe] < 1)) { - if (bVar5) { - bVar1 = *(byte *)(dword_800243E8 + 0x3e); - t = dword_800243E8; - while( true ) { - if ((((bVar1 & 0x12) == 0) && ((bVar1 & 4) != 0)) && - (*(char *)(t + 0x3f) != '\x03')) { - sStack116 = 0x80; - *(undefined *)(t + 0x3f) = 3; - bVar5 = false; - iStack112 = t; - iStack100 = t; - alEvtqPostEvent(&sndp->evtq,(ALEvent *)&sStack116, - 1000); - alSynSetVol(sndp->drvr,(ALVoice *)(iStack100 + 0xc), - 0,1000); - t = iStack100; - } - t = *(int *)(t + 4); - if ((!bVar5) || (t == 0)) break; - bVar1 = *(byte *)(t + 0x3e); - } - if (bVar5) { - music_related_19(ppiStack88); - } - else { - ppiStack88[0xe] = (int *)((int)&rgba + 2); - alEvtqPostEvent(&sndp->evtq,(ALEvent *)event,0x3e9); - } - } - else { - music_related_19(ppiStack88); - } - } - else { - *(undefined *)((int)ppiStack88 + 0x3f) = 4; - ppiStack88[0xe] = (int *)((int)ppiStack88[0xe] + -1); - alEvtqPostEvent(&sndp->evtq,(ALEvent *)event,0x8235); - } - return; - } - *(byte *)((int)ppiStack88 + 0x3e) = bVar1 | 4; - alSynStartVoice(sndp->drvr,voice,(ALWaveTable *)ppiVar3[2]); - *(undefined *)((int)ppiStack88 + 0x3f) = 1; - dword_800243F4 += 1; - t = **ppiVar3; - piVar10 = ppiStack88[0xb]; - piVar11 = ppiStack88[10]; - iStack64 = ((int)*(short *)(DAT_80063ba4 + - ((uint)*(byte *)((int)piVar4 + 2) & 0x3f) * 2 - ) * - ((int)((uint)*(byte *)(*ppiVar3 + 3) * - (int)*(short *)(ppiStack88 + 0xd) * - (uint)*(byte *)((int)ppiVar3 + 0xd)) / 0x3f01)) / - 0x7fff + -1; - if (iStack64 < 0) { - iStack64 = 0; - } - alSynSetVol(sndp->drvr,voice,0,0); - alSynSetVol(sndp->drvr,voice,(s16)iStack64, - (int)(((float)t / (float)piVar10) / (float)piVar11)); - pan = '\x7f'; - iVar8 = (uint)*(byte *)(ppiStack88 + 0xf) + (uint)*(byte *)(ppiVar3 + 3) - + -0x40; - t = 0; - if (0 < iVar8) { - t = iVar8; - } - if (t < 0x7f) { - if (iVar8 < 1) { - pan = '\0'; - } - else { - pan = (u8)iVar8; - } - } - alSynSetPan(sndp->drvr,voice,pan); - alSynSetPitch(sndp->drvr,voice,pitch); - uVar9 = ((uint)*(byte *)((int)ppiStack88 + 0x3d) + - ((uint)*(byte *)((int)piVar4 + 3) & 0xf)) * 8; - pan = (u8)uVar9; - if (false) { - uVar9 = 0; - } - if (uVar9 < 0x80) { - if (false) { - pan = '\0'; - } - } - else { - pan = '\x7f'; - } - alSynSetFXMix(sndp->drvr,voice,pan); - sStack36 = 0x40; - ppiStack32 = ppiStack88; - alEvtqPostEvent(&sndp->evtq,(ALEvent *)&sStack36, - (int)(((float)**ppiVar3 / (float)ppiStack88[0xb]) / - (float)ppiStack88[10])); - uVar7 = ((ALEvent *)event)->type & 0x2d1; - in_f12 = extraout_f12; - break; - case 2: - goto LAB_7000838c; - default: - goto switchD_70007fb4_caseD_3; - case 4: - uVar9 = *(uint *)((int)&((ALEvent *)event)->msg + 6); - *(char *)(ppiStack88 + 0xf) = (char)uVar9; - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - iVar8 = (uVar9 & 0xff) + (uint)*(byte *)(ppiVar3 + 3) + -0x40; - pan = '\x7f'; - t = 0; - if (0 < iVar8) { - t = iVar8; - } - if (t < 0x7f) { - if (iVar8 < 1) { - pan = '\0'; - } - else { - pan = (u8)iVar8; - } - } - alSynSetPan(sndp->drvr,(ALVoice *)(ppiStack88 + 3),pan); - in_f12 = extraout_f12_03; - } - uVar7 = ((ALEvent *)event)->type & 0x2d1; - break; - case 8: - *(short *)(ppiStack88 + 0xd) = - (short)*(undefined4 *)((int)&((ALEvent *)event)->msg + 6); - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - t = ((int)*(short *)(DAT_80063ba4 + - ((uint)*(byte *)((int)piVar4 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(ppiStack88 + 0xd) * - (uint)*(byte *)((int)ppiVar3 + 0xd)) / 0x3f01)) / 0x7fff + - -1; - volume = (s16)t; - if (t < 0) { - volume = 0; - } - alSynSetVol(sndp->drvr,(ALVoice *)(ppiStack88 + 3),volume,1000); - in_f12 = extraout_f12_07; - } - uVar7 = ((ALEvent *)event)->type & 0x2d1; - break; - case 0x10: - ppiStack88[0xb] = *(int **)((int)&((ALEvent *)event)->msg + 6); - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - alSynSetPitch(sndp->drvr,(ALVoice *)(ppiStack88 + 3),in_f12); - if ((*(byte *)((int)ppiStack88 + 0x3e) & 0x20) != 0) { - music_related_20((int)ppiStack88); - in_f12 = extraout_f12_05; - goto LAB_70008538; - } - uVar7 = ((ALEvent *)event)->type; - in_f12 = extraout_f12_04; - } - else { -LAB_70008538: - uVar7 = ((ALEvent *)event)->type; - } - uVar7 &= 0x2d1; - } - } - } - else { - if (uVar7 == 0x40) { - if ((*(byte *)((int)ppiStack88 + 0x3e) & 2) == 0) { - t = ((int)*(short *)(DAT_80063ba4 + - ((uint)*(byte *)((int)piVar4 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(ppiStack88 + 0xd) * - (uint)*(byte *)((int)ppiVar3 + 0xd)) / 0x3f01)) / 0x7fff + -1; - volume = (s16)t; - if (t < 0) { - volume = 0; - } - t = (int)(((float)(*ppiVar3)[1] / (float)ppiStack88[10]) / - (float)ppiStack88[0xb]); - alSynSetVol(sndp->drvr,(ALVoice *)(ppiStack88 + 3),volume,t); - sStack36 = 2; - ppiStack32 = ppiStack88; - alEvtqPostEvent(&sndp->evtq,(ALEvent *)&sStack36,t); - if ((*(byte *)((int)ppiStack88 + 0x3e) & 0x20) == 0) { - uVar7 = ((ALEvent *)event)->type; - in_f12 = extraout_f12_09; - } - else { - music_related_20((int)ppiStack88); - uVar7 = ((ALEvent *)event)->type; - in_f12 = extraout_f12_10; - } - } - else { - uVar7 = ((ALEvent *)event)->type; - } - uVar7 &= 0x2d1; - } - else { - uVar7 &= 0x2d1; - } - } - } - else { - if (uVar7 == 0x80) { - music_related_19(ppiStack88); - uVar7 = ((ALEvent *)event)->type & 0x2d1; - in_f12 = extraout_f12_11; - } - else { - if (uVar7 == 0x100) { - uVar9 = *(uint *)((int)&((ALEvent *)event)->msg + 6); - *(undefined *)((int)ppiStack88 + 0x3d) = (char)uVar9; - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - uVar9 = ((uVar9 & 0xff) + ((uint)*(byte *)((int)piVar4 + 3) & 0xf)) * 8; - pan = (u8)uVar9; - if (false) { - uVar9 = 0; - } - if (uVar9 < 0x80) { - if (false) { - pan = '\0'; - } - } - else { - pan = '\x7f'; - } - alSynSetFXMix(sndp->drvr,(ALVoice *)(ppiStack88 + 3),pan); - in_f12 = extraout_f12_06; - } - uVar7 = ((ALEvent *)event)->type & 0x2d1; - } - else { - uVar7 &= 0x2d1; - } - } - } - } - else { - if (uVar7 == 0x200) { - if ((*(byte *)((int)ppiStack88 + 0x3e) & 0x10) != 0) { - play_sfx_a1(*(void **)((int)&((ALEvent *)event)->msg + 10), - *(short *)((int)&((ALEvent *)event)->msg + 8), - (ALSndPlayer *)ppiStack88[0xc]); - uVar7 = ((ALEvent *)event)->type; - in_f12 = extraout_f12_12; - } - uVar7 &= 0x2d1; - } - else { - if (uVar7 == 0x400) { -LAB_7000838c: - if (uVar7 == 0x1000) { - if ((*(byte *)((int)ppiStack88 + 0x3e) & 2) != 0) { - cVar2 = *(char *)((int)ppiStack88 + 0x3f); - goto LAB_700083a8; - } - } - else { - cVar2 = *(char *)((int)ppiStack88 + 0x3f); -LAB_700083a8: - if (cVar2 == '\x01') { - _removeEvents(&sndp->evtq,(u32 *)ppiStack88); - t = (int)(((float)(*ppiVar3)[2] / (float)ppiStack88[10]) / - (float)ppiStack88[0xb]); - alSynSetVol(sndp->drvr,(ALVoice *)(ppiStack88 + 3),0,t); - if (t == 0) { - music_related_19(ppiStack88); - in_f12 = extraout_f12_01; - } - else { - sStack36 = 0x80; - ppiStack32 = ppiStack88; - alEvtqPostEvent(&sndp->evtq,(ALEvent *)&sStack36,t); - *(undefined *)((int)ppiStack88 + 0x3f) = 2; - in_f12 = extraout_f12_00; - } - uVar7 = ((ALEvent *)event)->type; - } - else { - if ((cVar2 == '\x04') || (cVar2 == '\x05')) { - music_related_19(ppiStack88); - uVar7 = ((ALEvent *)event)->type; - in_f12 = extraout_f12_02; - } - } - if (uVar7 == 2) { - ((ALEvent *)event)->type = 0x1000; - uVar7 = 0; - } - } - uVar7 &= 0x2d1; - } - else { - if (uVar7 == 0x800) { - if (*(char *)((int)ppiStack88 + 0x3f) == '\x01') { - t = ((int)*(short *)(DAT_80063ba4 + - ((uint)*(byte *)((int)piVar4 + 2) & 0x3f) * 2) * - ((int)((uint)*(byte *)((int)*ppiVar3 + 0xd) * - (int)*(short *)(ppiStack88 + 0xd) * - (uint)*(byte *)((int)ppiVar3 + 0xd)) / 0x3f01)) / 0x7fff + -1; - volume = (s16)t; - if (t < 0) { - volume = 0; - } - alSynSetVol(sndp->drvr,(ALVoice *)(ppiStack88 + 3),volume, - (int)(((float)(*ppiVar3)[2] / (float)ppiStack88[10]) / - (float)ppiStack88[0xb])); - uVar7 = ((ALEvent *)event)->type; - in_f12 = extraout_f12_08; - } - uVar7 &= 0x2d1; - } - else { - if (uVar7 == 0x1000) goto LAB_7000838c; - uVar7 &= 0x2d1; - } - } - } - } - if ((ppiStack92 != NULL) && (uVar7 == 0)) { - uStack80 = (uint)*(byte *)((int)ppiStack92 + 0x3e) & 1; - } - if (uStack80 != 0) { - return; - } - if (ppiStack92 == NULL) { - return; - } - ppiStack88 = ppiStack92; - if (uVar7 != 0) { - return; - } - } while( true ); -} - - - -void music_related_19(int **param_1) - -{ - if ((*(byte *)((int)param_1 + 0x3e) & 4) != 0) { - alSynStopVoice(off_800243F0->drvr,(ALVoice *)(param_1 + 3)); - alSynFreeVoice(off_800243F0->drvr,(ALVoice *)(param_1 + 3)); - } - music_related_24(param_1); - _removeEvents(&off_800243F0->evtq,(u32 *)param_1); - return; -} - - - -void music_related_20(int param_1) - -{ - f32 fVar1; - s16 sStack16; - int iStack12; - float fStack8; - - fVar1 = alCents2Ratio((int)*(char *)(*(int *)(*(int *)(param_1 + 8) + 4) + 5)); - sStack16 = 0x10; - fStack8 = (float)fVar1 * *(float *)(param_1 + 0x2c); - iStack12 = param_1; - alEvtqPostEvent(&off_800243F0->evtq,(ALEvent *)&sStack16,0x8235); - return; -} - - - -void _removeEvents(ALEventQueue *evtq,u32 *state) - -{ - ALLink_s *pAVar1; - ALLink *a; - OSIntMask mask; - ushort in_a2_lo; - - mask = osSetIntMask(1); - pAVar1 = (ALLink_s *)(evtq->allocList).next; - while (a = (ALLink *)pAVar1, a != NULL) { - pAVar1 = a->next; - if (((ALLink_s *)state == a[2].next) && ((*(ushort *)&a[1].prev & in_a2_lo) != 0)) { - if (pAVar1 != NULL) { - pAVar1[1].next = - (ALLink_s *)((int)&(a[1].next)->next + (int)&(pAVar1[1].next)->next); - } - alUnlink(a); - alLink(a,(ALLink *)evtq); - } - } - osSetIntMask(mask); - return; -} - - - -uint music_related_22(short *param_1,short *param_2) - -{ - int *piVar1; - short sVar2; - int iVar3; - short sVar4; - short sVar5; - uint uVar6; - - sVar4 = 0; - piVar1 = dword_800243E4; - sVar5 = 0; - if (dword_800243E4 != NULL) { - do { - piVar1 = (int *)*piVar1; - sVar4 = sVar5 + 1; - sVar5 = sVar4; - } while (piVar1 != NULL); - } - sVar2 = 0; - piVar1 = dword_800243EC; - sVar5 = 0; - if (dword_800243EC != NULL) { - do { - piVar1 = (int *)*piVar1; - sVar2 = sVar5 + 1; - sVar5 = sVar2; - } while (piVar1 != NULL); - } - uVar6 = 0; - iVar3 = dword_800243E8; - if (dword_800243E8 != 0) { - do { - iVar3 = *(int *)(iVar3 + 4); - uVar6 = uVar6 + 1 & 0xffff; - } while (iVar3 != 0); - } - *param_1 = sVar2; - *param_2 = sVar4; - return uVar6; -} - - - -ALLink * music_related_23(void *buffer,ALLink_s *param_2) - -{ - byte bVar1; - ALLink_s *pAVar2; - ALLink *a; - OSIntMask OVar3; - char cVar4; - ALLink_s *pAVar5; - - a = dword_800243EC; - pAVar5 = param_2->prev; - if (dword_800243EC != NULL) { - OVar3 = osSetIntMask(1); - dword_800243EC = (ALLink *)a->next; - alUnlink(a); - if (dword_800243E4 == NULL) { - a->prev = NULL; - a->next = NULL; - dword_800243E8 = a; - } - else { - *(ALLink **)&a->next = dword_800243E4; - a->prev = NULL; - *(ALLink **)&dword_800243E4->prev = a; - } - dword_800243E4 = a; - osSetIntMask(OVar3); - pAVar2 = param_2->next->prev; - *(undefined *)((int)&a[7].prev + 3) = 5; - cVar4 = (pAVar2 == (ALLink_s *)0xffffffff) + '@'; - *(char *)((int)&a[6].prev + 2) = cVar4; - a[7].next = (ALLink_s *)0x2; - a[1].next = param_2; - a[5].prev = (ALLink_s *)0x3f800000; - bVar1 = *(byte *)((int)&pAVar5->next + 3); - a[6].next = NULL; - *(byte *)((int)&a[7].prev + 2) = bVar1 & 0xf0; - if ((bVar1 & 0x20) == 0) { - pAVar5 = (ALLink_s *) - alCents2Ratio(((uint)*(byte *)&pAVar5->prev * 0x18 + - (uint)*(byte *)&pAVar5->prev) * 4 + - (int)*(char *)((int)&pAVar5->prev + 1) + -6000); - a[5].next = pAVar5; - } - else { - pAVar5 = (ALLink_s *) - alCents2Ratio(((uint)*(byte *)&pAVar5->prev * 0x18 + - (uint)*(byte *)&pAVar5->prev) * 4 + -6000); - a[5].next = pAVar5; - } - if (cVar4 != '@') { - *(byte *)((int)&a[7].prev + 2) = *(byte *)((int)&a[7].prev + 2) | 2; - } - *(undefined *)((int)&a[7].prev + 1) = 0; - *(undefined *)&a[7].prev = 0x40; - *(undefined2 *)&a[6].prev = 0x7fff; - } - return a; -} - - - -void music_related_24(int **param_1) - -{ - int **ppiVar1; - - if (param_1 == dword_800243E4) { - dword_800243E4 = (int **)*param_1; - } - if (param_1 == dword_800243E8) { - dword_800243E8 = (int **)param_1[1]; - } - alUnlink((ALLink *)param_1); - if (dword_800243EC == NULL) { - param_1[1] = NULL; - *param_1 = NULL; - } - else { - *(int ***)param_1 = dword_800243EC; - param_1[1] = NULL; - *(int ***)((int *)dword_800243EC + 1) = param_1; - } - if ((*(byte *)((int)param_1 + 0x3e) & 4) == 0) { - ppiVar1 = (int **)param_1[0xc]; - } - else { - dword_800243F4 += -1; - ppiVar1 = (int **)param_1[0xc]; - } - dword_800243EC = param_1; - *(undefined *)((int)param_1 + 0x3f) = 0; - if (ppiVar1 != NULL) { - if (param_1 == (int **)*ppiVar1) { - *ppiVar1 = NULL; - param_1[0xc] = NULL; - } - else { - param_1[0xc] = NULL; - } - } - return; -} - - - -void music_related_25(int param_1,undefined param_2) - -{ - if (param_1 != 0) { - *(undefined *)(param_1 + 0x36) = param_2; - } - return; -} - - - -ulonglong sfxGetArg0Unk3F(ALLink_s *param_1) - -{ - if (param_1 != NULL) { - return (ulonglong)*(byte *)((int)¶m_1[7].prev + 3); - } - return 0; -} - - - -void play_sfx_a1(void *buffer,short entry,ALSndPlayer *data) - -{ - byte bVar1; - ALLink_s *pAVar2; - ALPlayer_s *pAVar3; - int iVar4; - int iVar5; - int iVar6; - ALPlayer_s *pAVar7; - int iVar8; - s16 sStack64; - ALPlayer_s *pAStack60; - int iStack56; - void *pvStack52; - s16 sStack48; - ALPlayer_s *pAStack44; - int iStack28; - int iStack24; - short sStack18; - - iVar4 = (int)entry; - pAVar7 = NULL; - sStack18 = 0; - iVar6 = 0; - if ((bootswitch_sound == '\0') && (iVar4 != 0)) { - iVar8 = *(int *)((int)buffer + 0xc); - iVar5 = iStack28; - while( true ) { - pAVar2 = *(ALLink_s **)(iVar8 + iVar4 * 4 + 0xc); - pAVar3 = (ALPlayer_s *)music_related_23(buffer,pAVar2); - if (pAVar3 != NULL) { - *(ALPlayer_s **)&off_800243F0->target = pAVar3; - sStack48 = 1; - bVar1 = *(byte *)((int)&pAVar2->prev->next + 1); - iVar5 = ((uint)bVar1 * 0x208 + (uint)bVar1) * 0x40 + (uint)bVar1 * -0xb; - pAVar7 = pAVar3; - pAStack44 = pAVar3; - if ((*(byte *)((int)&pAVar3[2].samplesLeft + 6) & 0x10) == 0) { - alEvtqPostEvent(&off_800243F0->evtq,(ALEvent *)&sStack48,iVar5 + 1); - } - else { - *(byte *)((int)&pAVar3[2].samplesLeft + 6) = - *(byte *)((int)&pAVar3[2].samplesLeft + 6) & 0xef; - alEvtqPostEvent(&off_800243F0->evtq,(ALEvent *)&sStack48,iVar6 + 1); - iStack24 = iVar5 + 1; - sStack18 = (short)iVar4; - } - } - iVar6 += iVar5; - iVar4 = (int)(((uint)*(byte *)&pAVar2->prev->next + - ((uint)*(byte *)((int)&pAVar2->prev->next + 2) & 0xc0) * 4) * 0x10000) >> - 0x10; - iVar8 = iStack28; - if ((iVar4 == 0) || (iVar8 = iVar5, pAVar3 == NULL)) break; - iVar8 = *(int *)((int)buffer + 0xc); - } - iStack28 = iVar8; - if (pAVar7 != NULL) { - bVar1 = *(byte *)((int)&pAVar7[2].samplesLeft + 6); - *(byte *)((int)&pAVar7[2].samplesLeft + 6) = bVar1 | 1; - *(ALSndPlayer **)&pAVar7[2].handler = data; - if (sStack18 != 0) { - *(byte *)((int)&pAVar7[2].samplesLeft + 6) = bVar1 | 0x11; - sStack64 = 0x200; - iStack56 = (int)sStack18; - pAStack60 = pAVar7; - pvStack52 = buffer; - alEvtqPostEvent(&off_800243F0->evtq,(ALEvent *)&sStack64,iStack24); - } - } - if (data != NULL) { - (data->node).next = pAVar7; - } - } - return; -} - - - -void sfxDeactivate(int param_1) - -{ - s16 sStack16; - int iStack12; - - sStack16 = 0x400; - if (param_1 != 0) { - *(byte *)(param_1 + 0x3e) = *(byte *)(param_1 + 0x3e) & 0xef; - iStack12 = param_1; - alEvtqPostEvent(&off_800243F0->evtq,(ALEvent *)&sStack16,0); - } - return; -} - - - -void music_related_29(byte param_1) - -{ - undefined4 *puVar1; - s16 sStack20; - undefined4 *puStack16; - OSIntMask OStack4; - - OStack4 = osSetIntMask(1); - puVar1 = dword_800243E4; - while (puVar1 != NULL) { - sStack20 = 0x400; - puStack16 = puVar1; - if (param_1 == (*(byte *)((int)puVar1 + 0x3e) & param_1)) { - *(byte *)((int)puVar1 + 0x3e) = *(byte *)((int)puVar1 + 0x3e) & 0xef; - alEvtqPostEvent(&off_800243F0->evtq,(ALEvent *)&sStack20,0); - } - puVar1 = (undefined4 *)*puVar1; - } - osSetIntMask(OStack4); - return; -} - - - -void music_related_30(void) - -{ - music_related_29(1); - return; -} - - - -void music_related_32(void) - -{ - music_related_29(0x11); - return; -} - - - -void music_related_34(void) - -{ - music_related_29(3); - return; -} - - - -void music_related_36(longlong param_1,s16 param_2,undefined4 param_3) - -{ - s16 sStack16; - undefined4 uStack12; - undefined4 uStack8; - - uStack12 = (undefined4)param_1; - if (param_1 != 0) { - sStack16 = param_2; - uStack8 = param_3; - alEvtqPostEvent(&off_800243F0->evtq,(ALEvent *)&sStack16,0); - } - return; -} - - - -u32 sfx_c_700091C8(void) - -{ - ulonglong uVar1; - - uVar1 = music_related_40(0); - return (u32)uVar1; -} - - - -void music_related_38(ulonglong param_1) - -{ - ulonglong uVar1; - - uVar1 = 0; - do { - music_related_42(uVar1,param_1 & 0xffff); - uVar1 = (longlong)((int)uVar1 + 1) & 0xff; - } while (uVar1 < 7); - return; -} - - - -void music_related_39(f32 param_1) - -{ - u32 uVar1; - - flt_800243FC = param_1; - uVar1 = sfx_c_700091C8(); - music_related_38((longlong)(int)uVar1 & 0xffff); - return; -} - - - -ulonglong music_related_40(uint param_1) - -{ - return (ulonglong)*(ushort *)(DAT_80063ba8 + (param_1 & 0xff) * 2); -} - - - -void music_related_42(ulonglong param_1,ulonglong param_2) - -{ - int iVar1; - undefined4 *puVar2; - float fVar3; - s16 sStack24; - undefined4 *puStack20; - - puVar2 = dword_800243E4; - iVar1 = (int)(param_1 & 0xff) * 2; - *(undefined2 *)(DAT_80063ba8 + iVar1) = (short)(param_2 & 0xffff); - fVar3 = (float)(int)(param_2 & 0xffff); - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - *(undefined2 *)(DAT_80063ba4 + iVar1) = (short)(int)(fVar3 * (float)flt_800243FC); - if (puVar2 != NULL) { - iVar1 = puVar2[2]; - while( true ) { - if (iVar1 == 0) { - puVar2 = (undefined4 *)*puVar2; - } - else { - if ((param_1 & 0xff) == ((ulonglong)*(byte *)(*(int *)(iVar1 + 4) + 2) & 0x3f)) { - sStack24 = 0x800; - puStack20 = puVar2; - alEvtqPostEvent(&off_800243F0->evtq,(ALEvent *)&sStack24,0); - puVar2 = (undefined4 *)*puVar2; - } - else { - puVar2 = (undefined4 *)*puVar2; - } - } - if (puVar2 == NULL) break; - iVar1 = puVar2[2]; - } - } - return; -} - - - -void something_with_memp_c_debug(void) - -{ - get_ptr_debug_notice_list_entry(&memp_c_debug_debug_notice_list_entry,"memp_c_debug"); - return; -} - - - -void mempCheckMemflagTokens(int bstart,int bsize) - -{ - byte *__nptr; - int iVar1; - int local_20; - long mfval; - undefined4 local_18; - long mlval; - undefined4 local_10; - long meval; - undefined4 local_8; - undefined4 local_4; - - memory_bank_ptrs[0].bankend = bstart + bsize; - local_20 = sdefaultmvals.dword_80024414; - mfval = sdefaultmvals.mf; - mlval = sdefaultmvals.ml; - local_18 = sdefaultmvals.dword_8002441C; - local_10 = sdefaultmvals.dword_80024424; - meval = sdefaultmvals.me; - local_4 = sdefaultmvals.dword_80024430; - local_8 = sdefaultmvals.dword_8002442C; - memory_bank_ptrs[0].bankstart = bstart; - __nptr = check_token(1,(byte *)"-mf"); - if (__nptr != NULL) { - __nptr = check_token(1,(byte *)"-mf"); - mfval = strtol((char *)__nptr,NULL,0); - } - __nptr = check_token(1,(byte *)"-ml"); - if (__nptr != NULL) { - __nptr = check_token(1,(byte *)"-ml"); - mlval = strtol((char *)__nptr,NULL,0); - } - __nptr = check_token(1,(byte *)"-me"); - if (__nptr != NULL) { - __nptr = check_token(1,(byte *)"-me"); - meval = strtol((char *)__nptr,NULL,0); - } - if (meval == 0) { - mfval = 0; - iVar1 = 0x128; - if (j_text_trigger != 0) { - iVar1 = 0x134; - } - meval = iVar1 * 0x400; - mlval = bsize + iVar1 * -0x400; - } - mempSetBankStarts(&local_20); - return; -} - - - -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; - } - 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; - return; -} - - - -uint mempAllocBytesInBank(u32 bytes,u8 bank) - -{ - uint next; - uint end; - int domemalloc; - int bankmask; - - bankmask = ((int)(char)bank & 0xffU) << 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_list_all8_mem_alloc_banks_sizes(); - 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_list_all8_mem_alloc_banks_sizes(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -u32 memAddEntryOfSizeToBank(u8 *ptrdata,int size,uint bank) - -{ - uint entry; - u32 retval; - - bank &= 0xff; - if ((needmemallocation != 0) && (ptrdata == (u8 *)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( true ); - } - if (ptrdata == (u8 *)memory_bank_ptrs[bank].data2) { - size -= entry - (int)memory_bank_ptrs[bank].data2; - if (size < 1) { - memory_bank_ptrs[bank].nextentry = entry + size; - retval = 1; - } - else { - if ((uint)memory_bank_ptrs[bank].bankend < entry) { - nulled_list_all8_mem_alloc_banks_sizes(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if ((uint)memory_bank_ptrs[bank].bankend < entry + size) { - nulled_list_all8_mem_alloc_banks_sizes(); - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - memory_bank_ptrs[bank].nextentry = entry + size; - retval = 1; - } - } - else { - retval = 2; - } - return retval; -} - - - -void nulled_list_all8_mem_alloc_banks_sizes(void) - -{ - u32 bank; - - bank = 1; - do { - bank = bank + 1 & 0xff; - } while (bank < 7); - return; -} - - - -s32 memGetBankSizeLeft(u8 bank) - -{ - int iVar1; - ulonglong uVar2; - - uVar2 = (longlong)(char)bank & 0xff; - if (needmemallocation != 0) { - uVar2 = 6; - } - iVar1 = (int)uVar2; - if ((uVar2 == 4) && (memory_bank_ptrs[4].bankstart == memory_bank_ptrs[4].bankend)) { - iVar1 = 6; - } - return memory_bank_ptrs[iVar1].bankend - memory_bank_ptrs[iVar1].nextentry; -} - - - -uint memAllocPackedBytesInBank(uint param_1) - -{ - uint uVar1; - - uVar1 = mempAllocBytesInBank(param_1 >> 3,(byte)param_1 & 7); - return uVar1; -} - - - -void mempResetBank(u8 bank) - -{ - s32 sVar1; - uint uVar2; - - uVar2 = (int)(char)bank & 0xff; - sVar1 = memory_bank_ptrs[uVar2].bankstart; - memory_bank_ptrs[uVar2].data2 = NULL; - memory_bank_ptrs[uVar2].nextentry = sVar1; - return; -} - - - -void mempNullNextEntryInBank(u8 bank) - -{ - nulled_list_all8_mem_alloc_banks_sizes(); - if (memory_bank_ptrs[bank].nextentry != 0) { - memory_bank_ptrs[bank].nextentry = 0; - } - return; -} - - - -void memaSwap(u8 *a,u8 *b) - -{ - void *tempstart; - void *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; -} - - - -void memaMerge(int param_1,undefined4 *param_2) - -{ - *(int *)(param_1 + 4) = *(int *)(param_1 + 4) + param_2[1]; - *param_2 = 0; - param_2[1] = 0; - return; -} - - - -s32 memaSortMergeEntries(s_mem_alloc_table *param_1) - -{ - s32 sVar1; - s_mem_alloc_entry *a; - s_mem_alloc_entry *psVar2; - s_mem_alloc_entry *b; - s_mem_alloc_entry *psVar3; - void *b_bStart; - s32 sVar4; - void *a_bStart; - void *b_bNext; - - a = param_1->entries + 2; - sVar4 = 0; - b_bStart = NULL; - if (a <= param_1->entries + 0x1fd) { - sVar1 = param_1->entries[2].size; - b = param_1->entries + 1; - while( true ) { - psVar3 = b; - psVar2 = a; - if (sVar1 != 0) { - a_bStart = (void *)a->addr; - if (a_bStart < b_bStart) { - memaSwap((u8 *)a,(u8 *)b); - a_bStart = (void *)a->addr; - b_bNext = (void *)b->size; - } - else { - b_bNext = (void *)b->size; - } - b_bNext = (void *)((int)b_bNext + (int)b_bStart); - b_bStart = a_bStart; - psVar3 = a; - if (a_bStart == b_bNext) { - sVar4 = 1; - memaMerge((int)b,(undefined4 *)a); - b_bStart = (void *)b->addr; - psVar3 = b; - psVar2 = b; - } - } - a = psVar2 + 1; - if (param_1->entries + 0x1fd < a) break; - sVar1 = psVar2[1].size; - b = psVar3; - } - } - return sVar4; -} - - - -void memaSortMergeAllEntries(void) - -{ - int iVar1; - - iVar1 = memaSortMergeEntries(&ptr_table_allocated_mem_blocks); - while (iVar1 != 0) { - iVar1 = memaSortMergeEntries(&ptr_table_allocated_mem_blocks); - } - return; -} - - - -s_mem_alloc_entry * memaFindOpening(s_mem_alloc_table *param_1) - -{ - uint entrySize; - s_mem_alloc_entry *pAStart; - s_mem_alloc_entry *a; - int iVar1; - uint invalidSize; - s_mem_alloc_entry *pStart; - s_mem_alloc_entry *pEnd; - int count; - - pStart = param_1->entries + 2; - pEnd = param_1->entries + 0x1fd; - count = 0; - pAStart = pStart; - while( true ) { - while (a = pAStart, pEnd < a) { - count += 1; - pAStart = pStart; - if (0x1fb < count) { - if (pEnd < pStart) { - return pStart; - } - invalidSize = 0xffffffff; - entrySize = param_1->entries[2].size; - while( true ) { - a = pStart; - if (invalidSize <= entrySize) { - entrySize = invalidSize; - a = pAStart; - } - if (pEnd < pStart + 1) break; - invalidSize = entrySize; - entrySize = pStart[1].size; - pStart = pStart + 1; - pAStart = a; - } - return a; - } - } - iVar1 = a->size; - if (iVar1 == 0) break; - entrySize = a[1].addr; - if (entrySize < (uint)a->addr) { - memaSwap((u8 *)a,(u8 *)(a + 1)); - iVar1 = a->size; - entrySize = a[1].addr; - invalidSize = a->addr + iVar1; - } - else { - invalidSize = a->addr + iVar1; - } - pAStart = a + 1; - if (entrySize == invalidSize) { - count = a[1].size; - a[1].addr = 0; - a[1].size = 0; - a->size = iVar1 + count; - return a + 1; - } - } - return a; -} - - - -void memaAllocRoomBuffer(u32 addr,u32 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; - psVar5 = ptr_table_allocated_mem_blocks.entries + iVar2 + 2; - if (size_modelroom_buf == 0) { - trap(0x1c00); - } - if ((size_modelroom_buf == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - if (iVar1 == 0) { - sVar6 = psVar5->addr; - psVar3 = psVar5; - } - else { - sVar6 = ptr_table_allocated_mem_blocks.entries[iVar2 + 3].size; - psVar4 = psVar5; - while (psVar3 = psVar4 + 1, sVar6 != 0) { - sVar6 = psVar4[2].size; - psVar4 = psVar3; - } - sVar6 = psVar3->addr; - } - if (sVar6 == -1) { - psVar3 = psVar5; - if (iVar1 != 0) { - sVar6 = ptr_table_allocated_mem_blocks.entries[iVar2 + 1].size; - while (psVar3 = psVar5 + -1, sVar6 != 0) { - sVar6 = psVar5[-2].size; - psVar5 = psVar3; - } - } - if (psVar3->addr == 0) { - psVar3 = memaFindOpening(&ptr_table_allocated_mem_blocks); - } - } - psVar3->addr = addr; - psVar3->size = size; - return; -} - - - -void something_with_mema_c_debug(void) - -{ - get_ptr_debug_notice_list_entry(&mema_c_debug_debug_notice_list_entry,"mema_c_debug"); - return; -} - - - -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; - entry = ptr_table_allocated_mem_blocks.entries + 2; - do { - entry = entry + 1; - entry->addr = 0; - entry->size = 0; - entry = entry; - } while (entry < (s_mem_alloc_entry *) - ((int)&ptr_table_allocated_mem_blocks.entries[0x1fd].addr + 1)); - 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; - return; -} - - - -void mem_related_calls_sort_merge_entries(void) - -{ - memaSortMergeEntries(&ptr_table_allocated_mem_blocks); - return; -} - - - -int mem_related_something_find_first(uint size) - -{ - uint uVar1; - s_mem_alloc_entry *psVar2; - uint uVar3; - s32 sVar4; - int iVar5; - int iVar6; - s_mem_alloc_entry *psVar7; - - psVar7 = ptr_table_allocated_mem_blocks.entries + 2; - uVar3 = 0xffffffff; - psVar2 = NULL; - iVar6 = 0; - do { - iVar6 += 1; - uVar1 = psVar7->size - size; - if (size <= (uint)psVar7->size) { - if ((psVar7->addr == -1) || - ((uVar1 < uVar3 && - ((psVar2 = psVar7, uVar1 < 0x40 || (uVar3 = uVar1, uVar1 < size >> 2)))))) break; - } - psVar7 = psVar7 + 1; - } while (iVar6 != 0x10); - if (psVar2 == NULL) { - iVar6 = 0; - psVar2 = psVar7; - if ((uint)psVar7->size < size) { - uVar3 = psVar7[1].size; - while (psVar2 = psVar7 + 1, uVar3 < size) { - uVar3 = psVar7[2].size; - psVar7 = psVar2; - } - } - if (psVar2->addr == -1) { - psVar2 = ptr_table_allocated_mem_blocks.entries + 2; - do { - memaSortMergeEntries(&ptr_table_allocated_mem_blocks); - iVar6 += 1; - } while (iVar6 != 8); - uVar3 = ptr_table_allocated_mem_blocks.entries[3].size; - sVar4 = ptr_table_allocated_mem_blocks.entries[2].addr; - psVar7 = psVar2; - if ((uint)ptr_table_allocated_mem_blocks.entries[2].size < size) { - while (psVar2 = psVar7 + 1, uVar3 < size) { - uVar3 = psVar7[2].size; - psVar7 = psVar2; - } - sVar4 = psVar2->addr; - } - if (sVar4 == -1) { - return 0; - } - } - iVar6 = psVar2->addr; - } - else { - iVar6 = psVar2->addr; - } - iVar5 = psVar2->size - size; - psVar2->addr = iVar6 + size; - psVar2->size = iVar5; - if (iVar5 == 0) { - psVar2->addr = 0; - } - return iVar6; -} - - - -int mem_related_something_find_first_0(int addr,uint size) - -{ - s32 sVar1; - int iVar2; - s_mem_alloc_entry *psVar3; - - psVar3 = ptr_table_allocated_mem_blocks.entries + 2; - sVar1 = ptr_table_allocated_mem_blocks.entries[2].addr; - if (ptr_table_allocated_mem_blocks.entries[2].addr != -1) { - do { - if (addr == sVar1) { - if (size <= (uint)psVar3->size) { - iVar2 = psVar3->size - size; - psVar3->addr = sVar1 + size; - psVar3->size = iVar2; - if (iVar2 == 0) { - psVar3->addr = 0; - } - return addr; - } - sVar1 = psVar3[1].addr; - } - else { - sVar1 = psVar3[1].addr; - } - psVar3 = psVar3 + 1; - } while (sVar1 != -1); - } - return 0; -} - - - -void mem_related_model_room_buffers_0(u32 addr,u32 size) - -{ - memaAllocRoomBuffer(addr,size); - return; -} - - - -void mem_related_allocated_table_related(void) - -{ - int iVar1; - - iVar1 = -0x7ff9c3b8; - while (iVar1 != -0x7ff9b3f8) { - iVar1 += 0x20; - } - return; -} - - - -float mem_related_something_first_related(void) - -{ - uint uVar1; - int iVar2; - uint uVar3; - int iVar4; - float fVar5; - float fVar6; - - iVar2 = 0; - uVar3 = 0; - iVar4 = -0x7ff9c3c8; - uVar1 = ptr_table_allocated_mem_blocks.entries[2].size; - if (ptr_table_allocated_mem_blocks.entries[2].addr != -1) { - while( true ) { - iVar2 += uVar1; - if (uVar3 < uVar1) { - uVar3 = uVar1; - } - if (*(int *)(iVar4 + 8) == -1) break; - uVar1 = *(uint *)(iVar4 + 0xc); - iVar4 = iVar4 + 8; - } - } - if (iVar2 != 0) { - fVar5 = (float)(iVar2 - uVar3); - if ((int)(iVar2 - uVar3) < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar6 = (float)iVar2; - if (iVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - return fVar5 / fVar6; - } - return 0.00000000; -} - - - -void generate_list_alloc_mem(void) - -{ - s_mem_alloc_entry *psVar1; - uint uVar2; - int iVar3; - uint uVar4; - s32 sVar5; - s_mem_alloc_entry *local_s0_lo_68; - s_mem_alloc_entry *local_s0_lo_140; - s_mem_alloc_entry *local_s0_lo_204; - char *__s; - int iVar6; - uint uVar7; - s32 taddr; - undefined auStack4116 [4116]; - - uVar4 = 0x80000000; - iVar6 = 0; - local_s0_lo_68 = ptr_table_allocated_mem_blocks.entries + 2; - if (ptr_table_allocated_mem_blocks.entries[2].addr != -1) { - do { - psVar1 = local_s0_lo_68 + 1; - local_s0_lo_68 = local_s0_lo_68 + 1; - } while (psVar1->addr != -1); - } - __s = auStack4116; - sVar5 = ptr_table_allocated_mem_blocks.entries[2].addr; - while( true ) { - local_s0_lo_140 = ptr_table_allocated_mem_blocks.entries + 2; - iVar3 = 0; - uVar7 = 0; - uVar2 = ptr_table_allocated_mem_blocks.entries[2].size; - if (sVar5 != -1) break; -LAB_7000a1c4: - uVar4 = uVar7; - if (iVar3 == 0) { - if (200 < iVar6) { - sprintf(__s,"[%d]",iVar6); - } - return; - } - local_s0_lo_204 = ptr_table_allocated_mem_blocks.entries + 2; - uVar2 = ptr_table_allocated_mem_blocks.entries[2].size; - if (sVar5 != -1) { - while( true ) { - if (uVar4 == uVar2) { - if (iVar6 < 200) { - iVar3 = sprintf(__s,"%d ",uVar2 + 0x200 >> 10); - __s = __s + iVar3; - } - else { - if (iVar6 == 200) { - iVar3 = sprintf(__s,"..."); - __s = __s + iVar3; - } - } - iVar6 += 1; - iVar3 = local_s0_lo_204[1].addr; - } - else { - iVar3 = local_s0_lo_204[1].addr; - } - sVar5 = ptr_table_allocated_mem_blocks.entries[2].addr; - if (iVar3 == -1) break; - uVar2 = local_s0_lo_204[1].size; - local_s0_lo_204 = local_s0_lo_204 + 1; - } - } - } - do { - if (uVar2 < uVar4) { - if (uVar7 < uVar2) { - iVar3 += 1; - uVar7 = uVar2; - goto LAB_7000a1b4; - } - taddr = local_s0_lo_140[1].addr; - } - else { -LAB_7000a1b4: - taddr = local_s0_lo_140[1].addr; - } - if (taddr == -1) goto LAB_7000a1c4; - uVar2 = local_s0_lo_140[1].size; - local_s0_lo_140 = local_s0_lo_140 + 1; - } while( true ); -} - - - -void memaGenerateListsBeforeAfterMerge(void) - -{ - int count; - - generate_list_alloc_mem(); - count = 0; - do { - memaSortMergeEntries(&ptr_table_allocated_mem_blocks); - count += 1; - } while (count != 0x1fc); - generate_list_alloc_mem(); - return; -} - - - -void mem_related_something_first_related_0(undefined *param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = -0x7ff9c3c8; - iVar2 = ptr_table_allocated_mem_blocks.entries[2].addr; - iVar3 = ptr_table_allocated_mem_blocks.entries[2].size; - if (ptr_table_allocated_mem_blocks.entries[2].addr != -1) { - while( true ) { - (*(code *)param_1)(iVar2 + iVar3,iVar1); - if (*(int *)(iVar1 + 8) == -1) break; - iVar2 = *(int *)(iVar1 + 8); - iVar3 = *(int *)(iVar1 + 0xc); - iVar1 = iVar1 + 8; - } - } - return; -} - - - -uint mem_related_0(void) - -{ - uint uVar1; - int iVar2; - uint uVar3; - int iVar4; - - memaSortMergeAllEntries(); - uVar3 = 0; - iVar2 = -0x7ff9c3c8; - uVar1 = ptr_table_allocated_mem_blocks.entries[2].size; - if (ptr_table_allocated_mem_blocks.entries[2].addr != -1) { - while( true ) { - if (uVar3 < uVar1) { - iVar4 = *(int *)(iVar2 + 8); - uVar3 = uVar1; - } - else { - iVar4 = *(int *)(iVar2 + 8); - } - if (iVar4 == -1) break; - uVar1 = *(uint *)(iVar2 + 0xc); - iVar2 = iVar2 + 8; - } - } - if (uVar3 == 0) { - uVar3 = 0; - } - return uVar3; -} - - - -u32 mem_related_1(int addr,u32 length,u32 maxsize) - -{ - int iVar1; - u32 uVar2; - - if (length < maxsize) { - iVar1 = mem_related_something_find_first_0(addr + length,maxsize - length); - if (iVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - else { - if (maxsize < length) { - mem_related_model_room_buffers_0(addr + maxsize,length - maxsize); - } - uVar2 = 1; - } - return uVar2; -} - - - -u32 get_random_value(void) - -{ - ulonglong uVar1; - - uVar1 = ((randseed << 0x3f) >> 0x1f | (randseed << 0x1f) >> 0x20) ^ (randseed << 0x2c) >> 0x20; - randseed = uVar1 >> 0x14 & 0xfff ^ uVar1; - return (u32)randseed; -} - - - -void increment_random_num(longlong param_1) - -{ - randseed = param_1 + 1; - return; -} - - - -u32 lotsa_shifting_random_related(ulonglong *param_1) - -{ - ulonglong uVar1; - - uVar1 = *param_1; - uVar1 = ((uVar1 << 0x3f) >> 0x1f | (uVar1 << 0x1f) >> 0x20) ^ (uVar1 << 0x2c) >> 0x20; - uVar1 = uVar1 >> 0x14 & 0xfff ^ uVar1; - *param_1 = uVar1; - return (u32)uVar1; -} - - - -byte * check_string_something(byte *param_1) - -{ - byte bVar1; - byte *pbVar2; - - strstr_ptrcurrent_string = ""; - strstr_numstings = 1; - bVar1 = *param_1; - while (bVar1 != 0) { - if (bVar1 == 0x20) { - bVar1 = param_1[1]; - pbVar2 = param_1; - while( true ) { - *pbVar2 = 0; - param_1 = pbVar2 + 1; - if (bVar1 != 0x20) break; - bVar1 = pbVar2[2]; - pbVar2 = param_1; - } - } - (&strstr_ptrcurrent_string)[strstr_numstings] = param_1; - strstr_numstings += 1; - bVar1 = *param_1; - if (0x20 < bVar1) { - bVar1 = param_1[1]; - pbVar2 = param_1; - while (param_1 = pbVar2 + 1, 0x20 < bVar1) { - bVar1 = pbVar2[2]; - pbVar2 = param_1; - } - } - } - return param_1; -} - - - -char * strtok(char *__s,char *__delim) - -{ - byte *pbVar1; - - textpointer_load_parse_something((char *)OSMesg_boot_token_from_indy_80064c30,__s); - pbVar1 = check_string_something((byte *)OSMesg_boot_token_from_indy_80064c30); - return (char *)pbVar1; -} - - - -void check_boot_switches(void) - -{ - BOOL BVar1; - byte *pbVar2; - OSMesg *data; - u32 devAddr; - - devAddr = 0xffb000; - BVar1 = rmon_debug_is_final_build(); - if (BVar1 == FALSE) { - data = OSMesg_boot_token_from_indy_80064c30; - do { - osPiReadIo(devAddr,(u32 *)data); - data = data + 1; - devAddr += 4; - } while (data != piCmdBuf); - } - else { - OSMesg_boot_token_from_indy_80064c30[0] = NULL; - } - check_string_something((byte *)OSMesg_boot_token_from_indy_80064c30); - check_token(1,(byte *)"-d"); - pbVar2 = check_token(1,(byte *)"-s"); - if (pbVar2 != NULL) { - bootswitch_sound = 1; - } - pbVar2 = check_token(1,(byte *)"-j"); - if (pbVar2 != NULL) { - j_text_trigger = 1; - } - return; -} - - - -byte * check_token(int param_1,byte *param_2) - -{ - size_t sVar2; - longlong lVar1; - byte **ppbVar3; - int iVar4; - - sVar2 = strlen((char *)param_2); - iVar4 = 1; - if (1 < (int)strstr_numstings) { - ppbVar3 = (byte **)&dword_80024478; - do { - lVar1 = string_related(param_2,*ppbVar3,(longlong)(int)sVar2); - if ((lVar1 == 0) && (param_1 += -1, param_1 == 0)) { - return *ppbVar3 + sVar2; - } - iVar4 += 1; - ppbVar3 = ppbVar3 + 1; - } while (iVar4 < (int)strstr_numstings); - } - return NULL; -} - - - -char * textpointer_load_parse_something(char *param_1,char *param_2) - -{ - char cVar1; - char *pcVar2; - - cVar1 = *param_2; - param_2 = param_2 + 1; - *param_1 = cVar1; - pcVar2 = param_1 + 1; - while (cVar1 != '\0') { - cVar1 = *param_2; - param_2 = param_2 + 1; - *pcVar2 = cVar1; - pcVar2 = pcVar2 + 1; - } - return param_1; -} - - - -char * something_with_strings(char *param_1,char *param_2,int size) - -{ - char cVar1; - char *pcVar2; - - cVar1 = *param_2; - param_2 = param_2 + 1; - *param_1 = cVar1; - pcVar2 = param_1 + 1; - while ((cVar1 != '\0' && (size += -1, size != 0))) { - cVar1 = *param_2; - param_2 = param_2 + 1; - *pcVar2 = cVar1; - pcVar2 = pcVar2 + 1; - } - while (size != 0) { - size += -1; - *pcVar2 = '\0'; - pcVar2 = pcVar2 + 1; - } - return param_1; -} - - - -void string_append_from_obseg_textbank(char *buffer,char *textfiletext) - -{ - char cVar1; - char *pcVar2; - - if (*buffer == '\0') { - cVar1 = *textfiletext; - } - else { - cVar1 = buffer[1]; - pcVar2 = buffer; - while (buffer = pcVar2 + 1, cVar1 != '\0') { - cVar1 = pcVar2[2]; - pcVar2 = buffer; - } - cVar1 = *textfiletext; - } - textfiletext = textfiletext + 1; - *buffer = cVar1; - while (cVar1 != '\0') { - buffer = buffer + 1; - cVar1 = *textfiletext; - textfiletext = textfiletext + 1; - *buffer = cVar1; - } - return; -} - - - -undefined8 something_with_strings_0(byte *param_1,char *param_2) - -{ - byte bVar1; - undefined8 uVar2; - - bVar1 = *param_1; - if (bVar1 == *param_2) { - if (bVar1 == 0) { - return 0; - } - uVar2 = something_with_strings_0(param_1 + 1,param_2 + 1); - return uVar2; - } - if (bVar1 < (byte)*param_2) { - return 0xffffffffffffffff; - } - return 1; -} - - - -void dummy7000A890(void) - -{ - return; -} - - - -undefined8 string_related(byte *param_1,byte *param_2,longlong param_3) - -{ - byte bVar1; - undefined8 uVar2; - - if (param_3 == 0) { - return 0; - } - bVar1 = *param_1; - if (bVar1 != *param_2) { - if (bVar1 < *param_2) { - return 0xffffffffffffffff; - } - return 1; - } - if (bVar1 == 0) { - return 0; - } - uVar2 = string_related(param_1 + 1,param_2 + 1,(longlong)((int)param_3 + -1)); - return uVar2; -} - - - -u8 strtol_related(u8 param_1) - -{ - if ((0x60 < param_1) && (param_1 < 0x7b)) { - return param_1 + -0x20; - } - return param_1; -} - - - -u8 strtol_related_0(u8 param_1) - -{ - return (u8)(0x2f < param_1 && param_1 < 0x3a); -} - - - -u8 strtol_related_1(u8 param_1) - -{ - bool bVar1; - - if (((param_1 < 0x61) || (bVar1 = param_1 < 0x7b, !bVar1)) && (bVar1 = 0x40 < param_1, bVar1)) { - bVar1 = param_1 < 0x5b; - } - return (u8)bVar1; -} - - - -ulonglong strtol_related_2(char param_1) - -{ - ulonglong uVar1; - - uVar1 = (ulonglong)(param_1 == ' '); - if ((((param_1 != ' ') && (uVar1 = (ulonglong)(param_1 == '\t'), param_1 != '\t')) && - (uVar1 = (ulonglong)(param_1 == '\n'), param_1 != '\n')) && - (uVar1 = (ulonglong)(param_1 == '\f'), param_1 != '\f')) { - uVar1 = (ulonglong)(param_1 == '\v'); - } - return uVar1; -} - - - -long strtol(char *__nptr,char **__endptr,int __base) - -{ - bool bVar1; - bool bVar2; - ulonglong uVar3; - u8 uVar4; - u8 uVar5; - char cVar6; - byte bVar8; - uint uVar7; - uint uVar9; - u8 *puVar10; - u8 *puVar11; - - if (((__base < 0) || (__base == 1)) || (0x24 < __base)) { - __base = 10; - cVar6 = *__nptr; - } - else { - cVar6 = *__nptr; - } - uVar3 = strtol_related_2(cVar6); - if (uVar3 == 0) { - uVar4 = *__nptr; - puVar10 = (u8 *)__nptr; - } - else { - puVar10 = (u8 *)(__nptr + 1); - while (uVar3 = strtol_related_2(*puVar10), uVar3 != 0) { - puVar10 = puVar10 + 1; - } - uVar4 = *puVar10; - } - if (uVar4 != '\0') { - if (uVar4 == '-') { - bVar1 = true; - puVar10 = puVar10 + 1; - } - else { - if (uVar4 == '+') { - bVar1 = false; - puVar10 = puVar10 + 1; - } - else { - bVar1 = false; - } - } - if (((__base == 0x10) && (*puVar10 == '0')) && - (uVar4 = strtol_related(puVar10[1]), uVar4 == 'X')) { - puVar10 = puVar10 + 2; - } - uVar4 = *puVar10; - if ((__base == 0) && (__base = 10, uVar4 == '0')) { - uVar4 = strtol_related(puVar10[1]); - __base = 8; - if (uVar4 == 'X') { - puVar10 = puVar10 + 2; - __base = 0x10; - } - uVar4 = *puVar10; - } - bVar2 = false; - uVar9 = 0; - puVar11 = puVar10; - while (uVar4 != '\0') { - uVar5 = strtol_related_0(uVar4); - if (uVar5 == '\0') { - uVar5 = strtol_related_1(uVar4); - if (uVar5 == '\0') break; - uVar4 = strtol_related(uVar4); - bVar8 = uVar4 - 0x37; - } - else { - bVar8 = uVar4 - 0x30; - } - uVar7 = (uint)bVar8; - if (__base <= (int)uVar7) break; - if (__base == 0) { - trap(0x1c00); - } - if (0xffffffffU / (uint)__base < uVar9) { -LAB_7000abb8: - bVar2 = true; - } - else { - if (uVar9 == 0xffffffffU / (uint)__base) { - if (__base == 0) { - trap(0x1c00); - } - if (0xffffffffU % __base < uVar7) goto LAB_7000abb8; - } - uVar9 = uVar9 * __base + uVar7; - } - uVar4 = puVar11[1]; - puVar11 = puVar11 + 1; - } - if (puVar11 != puVar10) { - if (__endptr != NULL) { - *(u8 **)__endptr = puVar11; - } - if (!bVar2) { - if (bVar1) { - return -uVar9; - } - return uVar9; - } - return -1; - } - } - if (__endptr != NULL) { - *__endptr = __nptr; - } - return 0; -} - - - -int proutSprintf(void *s,char *buf,size_t n) - -{ - void *pvVar1; - - pvVar1 = memcpy(s,buf,n); - return (int)((int)pvVar1 + n); -} - - - -int sprintf(char *__s,char *__format,...) - -{ - byte *ans; - uint in_a2_lo; - undefined4 in_a3_lo; - uint uStackX8; - undefined4 uStackX12; - - uStackX8 = in_a2_lo; - uStackX12 = in_a3_lo; - ans = _Printf(proutSprintf,(longlong)(int)__s,(byte *)__format,&uStackX8); - if (-1 < (int)ans) { - __s[(int)ans] = '\0'; - } - return (int)(ans + -1); -} - - - -void start_pi_manager(void) - -{ - osCreatePiManager(0x96,&piCmdQ,piCmdBuf,8); - return; -} - - - -void removed_7000ad30(void) - -{ - return; -} - - - -void something_with_vi_c_debug(void) - -{ - get_ptr_debug_notice_list_entry(&ptr_vi_c_debug_debug_notice_list,"vi_c_debug"); - osCreateMesgQueue(&vi_c_debug_MQ,vi_c_debug_MSG,8); - return; -} - - - -undefined8 removed_7000AD80(undefined4 param_1,undefined4 param_2) - -{ - return 0; -} - - - -undefined8 removed_7000AD90(undefined4 param_1,undefined4 param_2) - -{ - return 0; -} - - - -void removed_7000ada0(void) - -{ - return; -} - - - -void removed_7000ada8(void) - -{ - return; -} - - - -void debug_text_related_2(void) - -{ - blank_debug_buffer_chars(); - return; -} - - - -void display_text_to_coord(int x,int y,char char) - -{ - int *piVar1; - int i; - int iVar2; - undefined *puVar3; - undefined uVar4; - - puVar3 = stdout_primary_color_table; - i = 0; - iVar2 = 0; - do { - uVar4 = (undefined)i; - piVar1 = (int *)(puVar3 + 4); - puVar3 = puVar3 + 8; - if ((debug_text_color == *piVar1) && - (speedgraph_color == *(int *)(stdout_environment_color_table + iVar2 + 4))) - goto LAB_7000aea8; - i += 1; - iVar2 += 8; - } while (i < 0x20); - iVar2 = (int)string_formatting[0] * 8; - *(undefined4 *)(stdout_primary_color_table + iVar2) = stdout_primary_color; - puVar3 = string_formatting[0] + 1; - *(int *)(stdout_primary_color_table + iVar2 + 4) = debug_text_color; - *(undefined4 *)(stdout_environment_color_table + iVar2) = debug_text_bg_color; - *(int *)(stdout_environment_color_table + iVar2 + 4) = speedgraph_color; - string_formatting[0] = (undefined *)((uint)puVar3 & 0x1f); - if (((int)puVar3 < 0) && (string_formatting[0] != NULL)) { - string_formatting[0] = string_formatting[0] + -0x20; - } - uVar4 = SUB41(string_formatting[0],0); -LAB_7000aea8: - iVar2 = x * 0x46 + y * 2; - stdout_debug_menu_screen_buffer[iVar2] = char; - stdout_debug_menu_screen_buffer[iVar2 + 1] = uVar4; - return; -} - - - -void debugMenuSetTextPOStoOffset(void) - -{ - debug_menu_x_text_pos = debug_menu_x_pos_offset; - debug_menu_y_text_pos = debug_menu_y_pos_offset; - return; -} - - - -void blank_debug_buffer_chars(void) - -{ - int x; - int y; - - y = 0; - do { - x = 0; - do { - display_text_to_coord(x,y,'\0'); - x += 1; - } while (x != 0x50); - y += 1; - } while (y != 0x23); - debugMenuSetTextPOStoOffset(); - removed_7000ada0(); - string_formatting[0] = NULL; - return; -} - - - -void removed_7000af84(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - return; -} - - - -int something_debug_info_related(int param_1) - -{ - bool bVar1; - int x; - int y; - - y = 0x21; - param_1 += 0x21; - do { - if ((param_1 < 0) || (x = 0, 0x22 < param_1)) { - x = 0; - do { - display_text_to_coord(x,y,'\0'); - x += 1; - } while (x != 0x50); - } - else { - do { - removed_7000af84(x,param_1,x,y); - x += 1; - } while (x != 0x50); - } - param_1 += -1; - bVar1 = y != 0; - y += -1; - } while (bVar1); - return 0; -} - - - -void set_final_debug_text_positions(s32 xadjust,s32 yadjust) - -{ - debug_menu_x_text_pos = xadjust + debug_menu_x_pos_offset; - debug_menu_y_text_pos = yadjust + debug_menu_y_pos_offset; - return; -} - - - -void set_debug_text_color(s32 red,s32 blue,s32 green,s32 alpha) - -{ - debug_text_color = red << 0x18 | blue << 0x10 | green << 8 | 0xffU - alpha; - return; -} - - - -void set_color_speedgraph(int red,int green,int blue,int alpha) - -{ - speedgraph_color = red << 0x18 | green << 0x10 | blue << 8 | 0xffU - alpha; - return; -} - - - -// WARNING: Instruction at (ram,0x7000b120) overlaps instruction at (ram,0x7000b11c) -// - -void write_char_to_screen(byte character) - -{ - short txtClipW; - short txtClipH; - int start_pos; - - txtClipW = get_video2_settings_txtClipW(); - start_pos = (int)txtClipW + -0xd; - if (start_pos < 0) { - start_pos = (int)txtClipW + -10; - } - txtClipH = get_video2_settings_txtClipH(); - if ((character == 0) || ((0x1f < character && (character < 0x7f)))) { - display_text_to_coord(debug_menu_x_text_pos,debug_menu_y_text_pos,character); - } - debug_menu_x_text_pos += 1; - if (((character == 0xd) || (character == 10)) || (start_pos >> 2 <= debug_menu_x_text_pos)) { - debug_menu_y_text_pos += 1; - debug_menu_x_text_pos = debug_menu_x_pos_offset; - if (((int)txtClipH + -10) / 7 <= debug_menu_y_text_pos) { - debug_menu_y_text_pos = debug_menu_y_pos_offset; - } - } - return; -} - - - -void debug_printcharatpos(int x,int y,byte letter) - -{ - set_final_debug_text_positions(x,y); - write_char_to_screen(letter); - return; -} - - - -void write_string_stdout(u8 *string) - -{ - byte character; - - character = *string; - while (character != 0) { - string = string + 1; - write_char_to_screen(character); - character = *string; - } - return; -} - - - -void debug_text_related(int x,int y,byte *character) - -{ - byte character_00; - - set_final_debug_text_positions(x,y); - character_00 = *character; - while (character_00 != 0) { - character = character + 1; - write_char_to_screen(character_00); - character_00 = *character; - } - return; -} - - - -uint * read_screen_display_block_and_write_chars(uint *param_1) - -{ - byte bVar1; - byte bVar2; - int iVar3; - u32 uVar4; - char *pcVar5; - undefined1 *puVar6; - ulonglong uVar7; - uint uVar8; - int iVar9; - uint *ptr_DLtarget; - int iVar10; - byte *pbVar11; - int iStack72; - - uVar7 = 0xffffffffffffffff; - iVar9 = 0; - ptr_DLtarget = param_1; - do { - puVar6 = stdout_debug_menu_screen_buffer; - pcVar5 = stdout_debug_menu_screen_buffer + iVar9; - do { - puVar6 = puVar6 + 0x46; - if (*pcVar5 != '\0') { - if ((ulonglong)(byte)pcVar5[1] == uVar7) { - ptr_DLtarget = ptr_DLtarget + 6; - } - else { - ptr_DLtarget = ptr_DLtarget + 10; - uVar7 = (ulonglong)(byte)pcVar5[1]; - } - } - pcVar5 = pcVar5 + 0x46; - } while (puVar6 != stdout_primary_color_table); - iVar9 += 2; - } while (iVar9 < 0x46); - iVar9 = num_microcode_cmds_that_fit((int)param_1); - ptr_DLtarget = (uint *)((int)ptr_DLtarget - (int)param_1); - iVar9 += -0x800; - if (0 < (int)ptr_DLtarget) { - uVar7 = 0xffffffffffffffff; - if (iVar9 < 1) { - dword_800268B8 = 0; - } - else { - if (iVar9 < (int)ptr_DLtarget) { - dword_800268B8 = (iVar9 * 0xff) / (int)ptr_DLtarget; - if (ptr_DLtarget == NULL) { - trap(0x1c00); - } - if ((ptr_DLtarget == (uint *)0xffffffff) && (iVar9 * 0xff == -0x80000000)) { - trap(0x1800); - } - } - else { - dword_800268B8 = 0x100; - } - } - *param_1 = 0x6000000; - param_1[1] = 0x80024fb0; - param_1 = param_1 + 2; - iStack72 = 0; - iVar9 = 0; - do { - iVar10 = 0; - pbVar11 = stdout_debug_menu_screen_buffer + iStack72; - do { - bVar1 = *pbVar11; - bVar2 = pbVar11[1]; - if (bVar1 != 0) { - iVar3 = (uint)bVar2 * 8; - ptr_DLtarget = param_1; - if ((ulonglong)bVar2 != uVar7) { - ptr_DLtarget = param_1 + 4; - *param_1 = *(uint *)(stdout_primary_color_table + iVar3); - param_1[1] = *(uint *)(stdout_primary_color_table + iVar3 + 4); - param_1[2] = *(uint *)(stdout_environment_color_table + iVar3); - param_1[3] = *(uint *)(stdout_environment_color_table + iVar3 + 4); - uVar7 = (ulonglong)bVar2; - } - uVar4 = get_random_value(); - param_1 = ptr_DLtarget; - if (((uVar4 & 0xff) < dword_800268B8) && - (iVar3 = num_microcode_cmds_that_fit((int)ptr_DLtarget), 0x3ff < iVar3)) { - uVar8 = (uint)bVar1 - 0x20; - *ptr_DLtarget = - (iVar10 * 0x10 + 0x10U & 0xfff) << 0xc | 0xe4000000 | - iVar9 * 0x1c + 0x1cU & 0xfff; - ptr_DLtarget[1] = (iVar10 * 0x10 & 0xfffU) << 0xc | iVar9 * 0x1c & 0xfffU; - ptr_DLtarget[2] = 0xb4000000; - ptr_DLtarget[3] = - (uVar8 & 0x1f) << 0x17 | ((int)uVar8 >> 5) * 0xe0 & 0xffffU; - ptr_DLtarget[4] = 0xb3000000; - ptr_DLtarget[5] = 0x4000400; - param_1 = ptr_DLtarget + 6; - } - } - iVar10 += 1; - pbVar11 = pbVar11 + 0x46; - } while (iVar10 != 0x50); - iVar9 += 1; - iStack72 += 2; - } while (iVar9 != 0x23); - } - return param_1; -} - - - -void something_with_joy_c_debug(void) - -{ - OSContPad *pOVar1; - OSContPad *pOVar2; - OSContPad *pOVar3; - - get_ptr_debug_notice_list_entry(&joy_c_ptr_debug_notice_list_entry,"joy_c_debug"); - osCreateMesgQueue(&cont1MesgMQ,&cont1Mesg,1); - osCreateMesgQueue(&cont2MesgMQ,&cont2Mesg,1); - osCreateMesgQueue(&cont3MesgMQ,&cont3Mesg,1); - osCreateMesgQueue(&cont4MesgMQ,&cont4Mesg,1); - osCreateMesgQueue(&contDEMOMesgMQ,&contDEMOMesg,10); - osSetEventMesg(5,&contDEMOMesgMQ,NULL); - enableControllers = TRUE; - disable_all_rumble = 0; - pOVar2 = &OSContPad_80064f30; - ptr_to_tlb_ramrom_record = 0; - pOVar3 = pOVar2; - do { - *(undefined4 *)(pOVar2 + 0x50) = 0; - *(undefined4 *)&pOVar2[0x50].errno = 0; - *(undefined4 *)&pOVar2[0x51].stick_x = 0; - *(undefined4 *)(pOVar2 + 0x52) = 0; - *(undefined4 *)(pOVar2 + 0x54) = 0xffffffff; - pOVar1 = pOVar3 + 0x54; - pOVar2 = (OSContPad *)&pOVar2[0x54].errno; - pOVar3[3].errno = '\0'; - pOVar3[3].stick_y = '\0'; - pOVar3[3].stick_x = '\0'; - pOVar3[3].button = 0; - pOVar3[2].errno = '\0'; - pOVar3[2].stick_y = '\0'; - pOVar3[2].stick_x = '\0'; - pOVar3[2].button = 0; - pOVar3[1].errno = '\0'; - pOVar3[1].stick_y = '\0'; - pOVar3[1].stick_x = '\0'; - pOVar3[1].button = 0; - pOVar3->button = 0; - pOVar3->stick_x = '\0'; - pOVar3->stick_y = '\0'; - pOVar3->errno = '\0'; - pOVar3 = (OSContPad *)&pOVar1->errno; - } while ((OSContPad *)&pOVar1->errno != (OSContPad *)&contDEMOMesg); - return; -} - - - -void test_controller_presence(void) - -{ - OSMesg pvStack4; - - if (enableControllers != FALSE) { - osSendMesg(&cont1MesgMQ,&pvStack4,0); - osRecvMesg(&cont2MesgMQ,&pvStack4,1); - controller_check_for_rumble_maybe(); - osSendMesg(&cont3MesgMQ,&pvStack4,0); - osRecvMesg(&cont4MesgMQ,&pvStack4,1); - } - return; -} - - - -s32 osPfsChecker(OSPfs *param_1) - -{ - return 3; -} - - - -// WARNING: Instruction at (ram,0x7000b7d4) overlaps instruction at (ram,0x7000b7d0) -// - -void controller_7000B734(uint param_1) - -{ - s32 sVar1; - int iVar2; - int *piVar3; - - piVar3 = &controller_1_rumble_inserted + param_1; - if (((-1 < *piVar3) && (((&player1_controllerstatus)[param_1 * 2] & 4) != 0)) && - (((&DAT_800653ea)[param_1 * 4] & 1) != 0)) { - sVar1 = osPfsInit(&contDEMOMesgMQ,(OSPfs *)(&player1_controller_packet + param_1 * 0x68), - param_1); - if ((sVar1 == 10) || (sVar1 == 0xb)) { - iVar2 = controller_7000CD38(&contDEMOMesgMQ, - (undefined4 *) - (OSPfs *)(&player1_controller_packet + param_1 * 0x68), - param_1); - if (iVar2 == 0) { - *piVar3 = 1; - } - else { - *piVar3 = -1; - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7000b980) overlaps instruction at (ram,0x7000b97c) -// - -void controller_check_for_rumble_maybe(void) - -{ - ulonglong uVar1; - byte bVar4; - int iVar2; - uint uVar3; - - if (dword_8002692C == 0) { - bVar4 = 0xf; - osContStartQuery(&contDEMOMesgMQ); - osRecvMesg(&contDEMOMesgMQ,NULL,1); - osContGetQuery((OSContStatus *)&player1_controllerstatus); - if ((DAT_800653eb & 8) != 0) { - bVar4 = 0xe; - } - if ((DAT_800653ef & 8) != 0) { - bVar4 -= 2; - } - if ((DAT_800653f3 & 8) != 0) { - bVar4 -= 4; - } - num_controller_plugged_in_flags = bVar4; - if ((DAT_800653f7 & 8) != 0) { - num_controller_plugged_in_flags = bVar4 - 8; - } - } - else { - dword_8002692C = 0; - osContInit(&contDEMOMesgMQ,&num_controller_plugged_in_flags, - (OSContStatus *)&player1_controllerstatus); - dword_8002691C = 1; - } - iVar2 = 1; - while ((int)(char)iVar2 < 4) { - iVar2 = (int)(char)iVar2 + 1; - } - uVar3 = 0; - do { - iVar2 = 1 << (uVar3 & 0x1f); - uVar1 = SEXT48(iVar2); - bVar4 = (byte)iVar2; - if ((((num_controller_plugged_in_flags & uVar1) == 0) || - (((&player1_controllerstatus)[uVar3 * 2] & 3) == 0)) || - ((&DAT_800653eb)[uVar3 * 4] != '\0')) { - if ((num_controller_plugged_in_flags_0 & uVar1) != 0) { - num_controller_plugged_in_flags_0 = num_controller_plugged_in_flags_0 ^ bVar4; - (&controller_1_rumble_inserted)[uVar3] = 0; - } - } - else { - if (((num_controller_plugged_in_flags_0 == 0 & uVar1) != 0) || - ((int)(&controller_1_rumble_inserted)[uVar3] < 1)) { - controller_7000B734(uVar3); - } - num_controller_plugged_in_flags_0 |= bVar4; - } - uVar3 = (int)((uVar3 + 1) * 0x1000000) >> 0x18; - } while ((int)uVar3 < 4); - return; -} - - - -u64 get_attached_controller_count(void) - -{ - if (-1 < *(int *)(ptr_current_point_in_controller_input_index + 0x1f8)) { - return (longlong)(int)(char)*(int *)(ptr_current_point_in_controller_input_index + 0x1f8); - } - if ((num_controller_plugged_in_flags & 1) == 0) { - return 0; - } - if ((num_controller_plugged_in_flags & 2) == 0) { - return 1; - } - if ((num_controller_plugged_in_flags & 4) == 0) { - return 2; - } - if ((num_controller_plugged_in_flags & 8) == 0) { - return 3; - } - return 4; -} - - - -ulonglong get_num_controllers_plugged_in(void) - -{ - return (ulonglong)num_controller_plugged_in_flags; -} - - - -void controller_rumble_related(void) - -{ - int iVar1; - int *rumble_duration; - int *rumble_state; - int iVar2; - int iVar3; - int *rumble_pulse; - - rumble_pulse = &controller_1_rumble_pulse; - rumble_state = &controller_1_rumble_state; - rumble_duration = &controller_1_rumble_duration; - iVar2 = 0; - iVar3 = 0; - do { - if (*rumble_state != *rumble_pulse) { - if (*rumble_pulse == 1) { - iVar1 = controller_7000CAAC((int)(&player1_controller_packet + iVar2 * 0x68)); - if (iVar1 == 0) { - *rumble_state = 1; - } - else { - *(undefined4 *)((int)&controller_1_rumble_inserted + iVar3) = 0; - } - } - else { - iVar1 = send_rumble_off_to_PIF((int)(&player1_controller_packet + iVar2 * 0x68)); - if (iVar1 == 0) { - *rumble_state = 0; - } - else { - *(undefined4 *)((int)&controller_1_rumble_inserted + iVar3) = 0; - } - } - } - iVar2 += 1; - iVar3 += 4; - rumble_state = rumble_state + 1; - if (*rumble_duration < 1) { - *rumble_duration = 0; - } - else { - iVar1 = *rumble_duration + -1; - *rumble_duration = iVar1; - if (iVar1 < 1) { - *rumble_duration = 0; - *rumble_pulse = 0; - } - } - rumble_pulse = rumble_pulse + 1; - rumble_duration = rumble_duration + 1; - } while (iVar2 != 4); - return; -} - - - -void set_disable_all_rumble_and_something(undefined4 param_1,undefined4 param_2) - -{ - disable_all_rumble = param_1; - dword_CODE_bss_80065324 = param_2; - return; -} - - - -void set_ptr_tlb_ramrom_record(undefined4 param_1) - -{ - ptr_to_tlb_ramrom_record = param_1; - return; -} - - - -void probably_ramrom_related(int param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - iVar1 = 0; - *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0); - *(undefined4 *)(param_1 + 0x1e0) = *(undefined4 *)(param_1 + 0x1e8); - iVar4 = 0; - while( true ) { - iVar4 = param_1 + iVar4; - *(undefined2 *)(iVar4 + 0x1f0) = 0; - iVar3 = *(int *)(param_1 + 0x1e4) + 1; - if (*(int *)(param_1 + 0x1e4) != *(int *)(param_1 + 0x1e0)) { - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - while( true ) { - iVar2 = iVar3 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 + 0x13 == -0x80000000)) { - trap(0x1800); - } - *(ushort *)(iVar4 + 0x1f0) = - *(ushort *)(iVar4 + 0x1f0) | - *(ushort *)(param_1 + iVar2 * 0x18 + iVar1 * 6) & - ~*(ushort *)(param_1 + ((iVar2 + 0x13) % 0x14) * 0x18 + iVar1 * 6); - iVar3 = iVar2 + 1; - if (iVar2 == *(int *)(param_1 + 0x1e0)) break; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - } - } - iVar1 = (int)(char)((char)iVar1 + '\x01'); - if (3 < iVar1) break; - iVar4 = iVar1 << 1; - } - return; -} - - - -void redirect_to_ramrom_replay_and_record_handlers_if_set(void) - -{ - if (disable_all_rumble != NULL) { - DAT_80065314 = (*disable_all_rumble)(&DAT_8006512c,DAT_8006530c); - probably_ramrom_related((int)&DAT_8006512c); - } - probably_ramrom_related((int)&OSContPad_80064f30); - if (ptr_to_tlb_ramrom_record != NULL) { - (*ptr_to_tlb_ramrom_record)(&OSContPad_80064f30,DAT_80065114,DAT_80065110); - } - return; -} - - - -longlong controllerSchedulerRelated(void) - -{ - s32 sVar2; - longlong lVar1; - int iVar3; - int *piVar4; - int iVar5; - int *piVar6; - int *piVar7; - int *piVar8; - OSMesg pvStack4; - - sVar2 = osRecvMesg(&cont1MesgMQ,&pvStack4,0); - if (sVar2 == 0) { - if (dword_800268C8 != 0) { - osRecvMesg(&contDEMOMesgMQ,&pvStack4,1); - dword_800268C8 = 0; - } - sVar2 = osSendMesg(&cont2MesgMQ,&pvStack4,0); - lVar1 = (longlong)sVar2; - dword_800268CC += 1; - } - else { - sVar2 = osRecvMesg(&cont3MesgMQ,&pvStack4,0); - lVar1 = (longlong)sVar2; - if (lVar1 == 0) { - osContStartReadData(&contDEMOMesgMQ); - dword_800268C8 = 1; - sVar2 = osSendMesg(&cont4MesgMQ,&pvStack4,0); - lVar1 = (longlong)sVar2; - dword_800268CC += -1; - } - else { - if ((dword_800268CC == 0) && (dword_8002691C != 0)) { - sVar2 = osRecvMesg(&contDEMOMesgMQ,&pvStack4,0); - lVar1 = (longlong)sVar2; - if (lVar1 == 0) { - dword_800268C8 = 0; - iVar5 = (DAT_80065118 + 1) % 0x14; - iVar3 = DAT_80065118; - if (iVar5 != DAT_80065114) { - iVar3 = iVar5; - } - osContGetReadData(&OSContPad_80064f30 + iVar3 * 4); - DAT_8006511c = (iVar3 + 0x13) % 0x14; - dword_80026920 += 1; - DAT_80065118 = iVar3; - if (dword_80026920 % 0x78 == 0) { - controller_check_for_rumble_maybe(); - } - iVar5 = 0; - do { - if ((((&OSContPad_80064f30)[iVar5 + DAT_80065118 * 4].errno == '\0') && - ((&OSContPad_80064f30)[iVar5 + DAT_8006511c * 4].errno != '\0')) || - (((&OSContPad_80064f30)[iVar5 + DAT_80065118 * 4].errno != '\0' && - ((&OSContPad_80064f30)[iVar5 + DAT_8006511c * 4].errno == '\0')))) { - controller_check_for_rumble_maybe(); - break; - } - iVar5 = (iVar5 + 1) * 0x1000000 >> 0x18; - } while (iVar5 < 4); - controller_rumble_related(); - sVar2 = osContStartReadData(&contDEMOMesgMQ); - lVar1 = (longlong)sVar2; - dword_800268C8 = 1; - dword_80026970 += 1; - if (0x3b < dword_80026970) { - piVar4 = &pl1_controller_failure_pressed; - piVar7 = &pl1_controller_failure_held; - piVar6 = &pl1_controller_failure_ud; - piVar8 = &pl1_controller_failure_lr; - do { - if (*piVar8 == 0) { - if (*piVar6 != 0) { - *piVar8 = 0; - goto LAB_7000c074; - } - if (*piVar7 != 0) { - *piVar8 = 0; - goto LAB_7000c074; - } - if (*piVar4 != 0) { - *piVar8 = 0; - goto LAB_7000c074; - } - iVar5 = piVar8[1]; - } - else { - *piVar8 = 0; -LAB_7000c074: - *piVar6 = 0; - *piVar7 = 0; - *piVar4 = 0; - iVar5 = piVar8[1]; - } - lVar1 = (longlong)iVar5; - if (lVar1 == 0) { - if (piVar6[1] != 0) { - piVar8[1] = 0; - goto LAB_7000c0b4; - } - if (piVar7[1] != 0) { - piVar8[1] = 0; - goto LAB_7000c0b4; - } - if (piVar4[1] != 0) { - piVar8[1] = 0; - goto LAB_7000c0b4; - } - } - else { - piVar8[1] = 0; -LAB_7000c0b4: - piVar6[1] = 0; - piVar7[1] = 0; - piVar4[1] = 0; - } - piVar4 = piVar4 + 2; - piVar8 = piVar8 + 2; - piVar6 = piVar6 + 2; - piVar7 = piVar7 + 2; - } while (piVar4 != &dword_80026970); - dword_80026970 = 0; - } - } - } - } - } - return lVar1; -} - - - -s32 get_cur_controller_horz_stick_pos(char param_1) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(ptr_current_point_in_controller_input_index + 0x1f8) < 0) && - (((int)(uint)num_controller_plugged_in_flags >> (uVar1 & 0x1f) & 1U) == 0)) { - (&pl1_controller_failure_lr)[uVar1] = (&pl1_controller_failure_lr)[uVar1] + 1; - return 0; - } - return (s32)(int)(char)ptr_current_point_in_controller_input_index - [uVar1 * 6 + - *(int *)(ptr_current_point_in_controller_input_index + 0x1e0) * 0x18 + 2 - ]; -} - - - -undefined controller_7000C174(char param_1) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(ptr_current_point_in_controller_input_index + 0x1f8) < 0) && - (((int)(uint)num_controller_plugged_in_flags >> (uVar1 & 0x1f) & 1U) == 0)) { - (&pl1_controller_failure_lr)[uVar1] = (&pl1_controller_failure_lr)[uVar1] + 1; - return 0; - } - return ptr_current_point_in_controller_input_index - [uVar1 * 6 + *(int *)(ptr_current_point_in_controller_input_index + 0x1e4) * 0x18 + 2]; -} - - - -s32 get_cur_controller_vert_stick_pos(char param_1) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(ptr_current_point_in_controller_input_index + 0x1f8) < 0) && - (((int)(uint)num_controller_plugged_in_flags >> (uVar1 & 0x1f) & 1U) == 0)) { - (&pl1_controller_failure_ud)[uVar1] = (&pl1_controller_failure_ud)[uVar1] + 1; - return 0; - } - return (s32)(int)(char)ptr_current_point_in_controller_input_index - [uVar1 * 6 + - *(int *)(ptr_current_point_in_controller_input_index + 0x1e0) * 0x18 + 3 - ]; -} - - - -undefined controller_7000C284(char param_1) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(ptr_current_point_in_controller_input_index + 0x1f8) < 0) && - (((int)(uint)num_controller_plugged_in_flags >> (uVar1 & 0x1f) & 1U) == 0)) { - (&pl1_controller_failure_ud)[uVar1] = (&pl1_controller_failure_ud)[uVar1] + 1; - return 0; - } - return ptr_current_point_in_controller_input_index - [uVar1 * 6 + *(int *)(ptr_current_point_in_controller_input_index + 0x1e4) * 0x18 + 3]; -} - - - -u32 get_controller_buttons_held(char param_1,controller_buttons param_2) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(ptr_current_point_in_controller_input_index + 0x1f8) < 0) && - (((int)(uint)num_controller_plugged_in_flags >> (uVar1 & 0x1f) & 1U) == 0)) { - (&pl1_controller_failure_held)[uVar1] = (&pl1_controller_failure_held)[uVar1] + 1; - return 0; - } - return (u32)((uint)*(ushort *) - (ptr_current_point_in_controller_input_index + - uVar1 * 6 + - *(int *)(ptr_current_point_in_controller_input_index + 0x1e0) * 0x18) & - (int)(short)param_2 & 0xffffU); -} - - - -u32 get_controller_buttons_pressed(char param_1,controller_buttons param_2) - -{ - uint uVar1; - - uVar1 = SEXT14(param_1); - if ((*(int *)(ptr_current_point_in_controller_input_index + 0x1f8) < 0) && - (((int)(uint)num_controller_plugged_in_flags >> (uVar1 & 0x1f) & 1U) == 0)) { - (&pl1_controller_failure_pressed)[uVar1] = (&pl1_controller_failure_pressed)[uVar1] + 1; - return 0; - } - return (u32)((uint)*(ushort *)(ptr_current_point_in_controller_input_index + uVar1 * 2 + 0x1f0) - & (int)(short)param_2 & 0xffffU); -} - - - -void proc_7000C430(char *param_1,uint param_2) - -{ - uint uVar1; - uint uVar2; - - uVar2 = 0xf; - do { - uVar1 = uVar2 & 0x1f; - uVar2 -= 1; - *param_1 = (((int)(param_2 & 0xffff) >> uVar1 & 1U) != 0) * '\x11' + ' '; - param_1 = param_1 + 1; - } while (-1 < (int)uVar2); - return; -} - - - -void proc_7000C470(void) - -{ - u64 uVar1; - longlong lVar2; - - lVar2 = 0; - uVar1 = get_attached_controller_count(); - if (0 < (longlong)uVar1) { - do { - lVar2 = (longlong)((int)lVar2 + 1); - uVar1 = get_attached_controller_count(); - } while (lVar2 < (longlong)uVar1); - } - return; -} - - - -int get_controller_3dstick_L_R(char param_1,int param_2,int param_3) - -{ - s32 sVar1; - int iVar2; - - sVar1 = get_cur_controller_horz_stick_pos(param_1); - iVar2 = sVar1 + 0x3c; - if (0x78 < iVar2) { - iVar2 = 0x78; - } - if (iVar2 < 0) { - iVar2 = 0; - } - return (iVar2 * (param_3 - param_2)) / 0x78 + param_2; -} - - - -int get_controller_3dstick_U_D(char param_1,int param_2,int param_3) - -{ - s32 sVar1; - int iVar2; - - sVar1 = get_cur_controller_vert_stick_pos(param_1); - iVar2 = sVar1 + 0x3c; - if (0x78 < iVar2) { - iVar2 = 0x78; - } - if (iVar2 < 0) { - iVar2 = 0; - } - return (iVar2 * (param_3 - param_2)) / 0x78 + param_2; -} - - - -float controller_7000C59C(char param_1,float param_2,float param_3) - -{ - s32 sVar1; - int iVar2; - float in_a1_lo; - float in_a2_lo; - - sVar1 = get_cur_controller_horz_stick_pos(param_1); - iVar2 = sVar1 + 0x3c; - if (0x78 < iVar2) { - iVar2 = 0x78; - } - if (iVar2 < 0) { - iVar2 = 0; - } - return ((float)iVar2 / 120.00000000) * (in_a2_lo - in_a1_lo) + in_a1_lo; -} - - - -float controller_7000C60C(char param_1,float param_2,float param_3) - -{ - s32 sVar1; - int iVar2; - float in_a1_lo; - float in_a2_lo; - - sVar1 = get_cur_controller_vert_stick_pos(param_1); - iVar2 = sVar1 + 0x3c; - if (0x78 < iVar2) { - iVar2 = 0x78; - } - if (iVar2 < 0) { - iVar2 = 0; - } - return ((float)iVar2 / 120.00000000) * (in_a2_lo - in_a1_lo) + in_a1_lo; -} - - - -void controller_7000C67C(void) - -{ - OSMesg pvStack4; - - osSendMesg(&cont1MesgMQ,&pvStack4,0); - osRecvMesg(&cont2MesgMQ,&pvStack4,1); - return; -} - - - -void controller_7000C6BC(void) - -{ - OSMesg pvStack4; - - osSendMesg(&cont3MesgMQ,&pvStack4,0); - osRecvMesg(&cont4MesgMQ,&pvStack4,1); - return; -} - - - -s32 save_7000C6FC(void) - -{ - s32 sVar1; - - controller_7000C67C(); - sVar1 = osEepromProbe(&contDEMOMesgMQ); - controller_7000C6BC(); - return sVar1; -} - - - -int save_7000C734(byte param_1,undefined *param_2) - -{ - s32 sVar1; - - controller_7000C67C(); - sVar1 = osEepromRead(&contDEMOMesgMQ,param_1,param_2); - controller_7000C6BC(); - return (int)sVar1; -} - - - -int save_7000C778(byte param_1,undefined *param_2) - -{ - s32 sVar1; - - controller_7000C67C(); - sVar1 = osEepromWrite(&contDEMOMesgMQ,param_1,param_2); - controller_7000C6BC(); - return (int)sVar1; -} - - - -s32 save_7000C7BC(byte param_1,save_file *param_2,int param_3) - -{ - s32 sVar1; - - controller_7000C67C(); - sVar1 = osEepromLongRead(&contDEMOMesgMQ,param_1,(u8 *)param_2,param_3); - controller_7000C6BC(); - return sVar1; -} - - - -s32 save_7000C808(byte address,u8 *buffer,int length) - -{ - s32 sVar1; - - controller_7000C67C(); - sVar1 = osEepromLongWrite(&contDEMOMesgMQ,address,buffer,length); - controller_7000C6BC(); - return sVar1; -} - - - -void controller_7000C854(int param_1,s32 param_2) - -{ - if ((disable_all_rumble == 0) && (0 < (int)(&controller_1_rumble_inserted)[param_1])) { - if ((int)(&controller_1_rumble_duration)[param_1] < (int)((float)param_2 * 60.00000000)) { - (&controller_1_rumble_duration)[param_1] = (int)((float)param_2 * 60.00000000); - } - if ((&controller_1_rumble_state)[param_1] == 0) { - (&controller_1_rumble_pulse)[param_1] = 1; - } - } - return; -} - - - -void reset_cont_rumble_detect(void) - -{ - controller_1_rumble_state = 1; - controller_2_rumble_state = 1; - controller_3_rumble_state = 1; - controller_4_rumble_state = 1; - controller_1_rumble_pulse = 0; - controller_2_rumble_pulse = 0; - controller_3_rumble_pulse = 0; - controller_4_rumble_pulse = 0; - return; -} - - - -void controller_7000C930(int param_1) - -{ - ptr_current_point_in_controller_input_index = - (undefined *)((int)&OSContPad_80064f30 + param_1 * 0x1fc); - return; -} - - - -int controller_7000C954(void) - -{ - return (int)(ptr_current_point_in_controller_input_index + 0x7ff9b0d0) / 0x1fc; -} - - - -int send_rumble_off_to_PIF(int param_1) - -{ - int iVar1; - int iVar2; - OSPifRam *pOVar3; - u32 *puVar4; - u32 *puVar5; - OSPifRam *pOVar6; - OSPifRam *pOVar7; - undefined4 uStack52; - char cStack14; - int iStack8; - - __osSiGetAccess(); - __osContLastCmd = '\x03'; - __osSiRawStartDma(1,&rumble_off_player1_packet_buffer + *(int *)(param_1 + 8) * 0x40); - osRecvMesg(*(OSMesgQueue **)(param_1 + 4),NULL,1); - __osSiRawStartDma(0,&__osPfsPifRam); - osRecvMesg(*(OSMesgQueue **)(param_1 + 4),NULL,1); - pOVar3 = &__osPfsPifRam; - iVar1 = *(int *)(param_1 + 8); - if ((iVar1 != 0) && (iVar2 = 0, pOVar3 = &__osPfsPifRam, 0 < iVar1)) { - do { - iVar2 += 1; - pOVar3 = (OSPifRam *)((int)pOVar3->ramarray + 1); - } while (iVar2 < iVar1); - } - pOVar6 = pOVar3; - puVar4 = &uStack52; - do { - pOVar7 = (OSPifRam *)(pOVar6->ramarray + 3); - puVar5 = puVar4 + 3; - *puVar4 = pOVar6->ramarray[0]; - puVar4[1] = pOVar6->ramarray[1]; - puVar4[2] = pOVar6->ramarray[2]; - pOVar6 = pOVar7; - puVar4 = puVar5; - } while (pOVar7 != (OSPifRam *)(pOVar3->ramarray + 9)); - *puVar5 = pOVar7->ramarray[0]; - iStack8 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((iStack8 == 0) && (cStack14 != '\0')) { - iStack8 = 4; - } - __osSiRelAccess(); - return iStack8; -} - - - -int controller_7000CAAC(int param_1) - -{ - int iVar1; - int iVar2; - OSPifRam *pOVar3; - u32 *puVar4; - u32 *puVar5; - OSPifRam *pOVar6; - OSPifRam *pOVar7; - undefined4 uStack52; - char cStack14; - int iStack8; - - __osSiGetAccess(); - __osContLastCmd = '\x03'; - __osSiRawStartDma(1,&rumble_on_player_packet_buffers + *(int *)(param_1 + 8) * 0x40); - osRecvMesg(*(OSMesgQueue **)(param_1 + 4),NULL,1); - __osSiRawStartDma(0,&__osPfsPifRam); - osRecvMesg(*(OSMesgQueue **)(param_1 + 4),NULL,1); - pOVar3 = &__osPfsPifRam; - iVar1 = *(int *)(param_1 + 8); - if ((iVar1 != 0) && (iVar2 = 0, pOVar3 = &__osPfsPifRam, 0 < iVar1)) { - do { - iVar2 += 1; - pOVar3 = (OSPifRam *)((int)pOVar3->ramarray + 1); - } while (iVar2 < iVar1); - } - pOVar6 = pOVar3; - puVar4 = &uStack52; - do { - pOVar7 = (OSPifRam *)(pOVar6->ramarray + 3); - puVar5 = puVar4 + 3; - *puVar4 = pOVar6->ramarray[0]; - puVar4[1] = pOVar6->ramarray[1]; - puVar4[2] = pOVar6->ramarray[2]; - pOVar6 = pOVar7; - puVar4 = puVar5; - } while (pOVar7 != (OSPifRam *)(pOVar3->ramarray + 9)); - *puVar5 = pOVar7->ramarray[0]; - iStack8 = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((iStack8 == 0) && (cStack14 != -0x15)) { - iStack8 = 4; - } - __osSiRelAccess(); - return iStack8; -} - - - -// WARNING: Instruction at (ram,0x7000ccb8) overlaps instruction at (ram,0x7000ccb4) -// -// WARNING: Type propagation algorithm not settling - -void controller_7000CBDC(uint channel,uint param_2,undefined *param_3,undefined4 *param_4) - -{ - undefined uVar1; - undefined4 *puVar2; - u8 uVar3; - undefined *puVar4; - undefined *puVar5; - int iVar6; - uint uVar7; - uint uVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - u16 uStackX6; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - ushort uStack40; - undefined auStack38 [32]; - undefined uStack6; - undefined4 *puStack4; - - iVar6 = 0; - puVar2 = param_4; - do { - iVar6 += 1; - *puVar2 = 0; - puVar2 = puVar2 + 1; - } while (iVar6 < 0xf); - param_4[0xf] = 1; - uStack44 = 0xff; - uStack43 = 0x23; - uStack42 = 1; - uStack41 = 3; - uStackX6 = (u16)param_2; - puStack4 = param_4; - uVar3 = __osContAddressCrc(uStackX6); - uStack40 = (short)(char)uVar3 | uStackX6 << 5; - uStack6 = 0xff; - puVar4 = (undefined *)&uStack44; - do { - uVar1 = *param_3; - puVar5 = puVar4 + 1; - param_3 = param_3 + 1; - puVar4[6] = uVar1; - puVar4 = puVar5; - } while (puVar5 < auStack38 + 0x1a); - puVar2 = puStack4; - if ((channel != 0) && (uVar8 = 0, 0 < (int)channel)) { - if ((channel & 3) == 0) goto LAB_7000ccb8; - do { - uVar7 = uVar8; - uVar7 = uVar7 + 1; - *(undefined *)puStack4 = 0; - puStack4 = (undefined4 *)((int)puStack4 + 1); - uVar8 = uVar7; - } while ((channel & 3) != uVar7); - uVar8 = uVar7 + 5; - puVar2 = puStack4; - if (uVar7 != channel) { - while( true ) { - *(undefined *)((int)puStack4 + 1) = 0; - *(undefined *)((int)puStack4 + 2) = 0; - *(undefined *)((int)puStack4 + 3) = 0; - puVar2 = puStack4 + 1; - *(undefined *)puStack4 = 0; - puStack4 = puVar2; - if (uVar8 == channel) break; -LAB_7000ccb8: - uVar8 += 4; - } - } - } - puVar9 = puVar2; - puVar11 = &uStack44; - do { - puVar12 = puVar11 + 3; - puVar10 = puVar9 + 3; - *puVar9 = *puVar11; - puVar9[1] = puVar11[1]; - puVar9[2] = puVar11[2]; - puVar9 = puVar10; - puVar11 = puVar12; - } while (puVar12 != (undefined4 *)(auStack38 + 0x1e)); - *puVar10 = *puVar12; - *(undefined *)(puVar2 + 10) = 0xfe; - return; -} - - - -int controller_7000CD38(OSMesgQueue *mq,undefined4 *param_2,uint channel) - -{ - u8 *puVar1; - s32 sVar2; - undefined *puVar3; - undefined1 *puVar4; - u8 buffer [31]; - char cStack9; - u8 auStack8 [8]; - - *(OSMesgQueue **)(param_2 + 1) = mq; - param_2[2] = channel; - *param_2 = 0; - *(undefined *)((int)param_2 + 0x65) = 0x80; - puVar1 = buffer; - do { - puVar1 = puVar1 + 1; - *puVar1 = -0x80; - puVar1 = puVar1; - } while (puVar1 < auStack8); - sVar2 = __osContRamWrite(mq,channel,0x400,buffer,0); - if (sVar2 == 2) { - sVar2 = __osContRamWrite(mq,channel,0x400,buffer,0); - } - if ((sVar2 == 0) && (sVar2 = __osContRamRead(mq,channel,0x400,buffer), sVar2 == 0)) { - if (cStack9 == -0x80) { - puVar4 = &rumble_off_buffer; - puVar3 = &rumble_on_buffer; - do { - puVar3 = puVar3 + 4; - puVar4[1] = 1; - puVar3[1] = 0; - puVar4[2] = 1; - puVar3[2] = 0; - puVar4[3] = 1; - puVar3[3] = 0; - *puVar4 = 1; - *puVar3 = 0; - puVar4 = puVar4 + 4; - puVar3 = puVar3; - } while (puVar3 != &rumble_off_buffer); - controller_7000CBDC(channel,0x600,&rumble_off_buffer, - (undefined4 *)(&rumble_on_player_packet_buffers + channel * 0x40)); - controller_7000CBDC(channel,0x600,&rumble_on_buffer, - (undefined4 *)(&rumble_off_player1_packet_buffer + channel * 0x40)); - sVar2 = 0; - } - else { - sVar2 = 0xb; - } - } - return (int)sVar2; -} - - - -void rmon_entry(void) - -{ - return; -} - - - -BOOL rmon_debug_is_final_build(void) - -{ - return TRUE; -} - - - -s32 rmon_debug_returns_neg_1(void) - -{ - return -1; -} - - - -void removed_7000ceb8(void) - -{ - return; -} - - - -void rmon_debug_stub_0(void) - -{ - return; -} - - - -void removed_7000cec8(void) - -{ - return; -} - - - -void removed_7000ced0(void) - -{ - return; -} - - - -void removed_7000ced8(void) - -{ - return; -} - - - -void removed_7000cee0(void) - -{ - return; -} - - - -void * proutSyncPrintf(void *str,char *buf,size_t n) - -{ - longlong lVar1; - longlong extraout_a1; - longlong lVar2; - longlong lVar3; - longlong extraout_a2; - longlong sent; - longlong lVar4; - byte buffer; - - lVar2 = (longlong)(int)n; - lVar1 = (longlong)(int)buf; - sent = 0; - if (lVar2 != 0) { - buffer = *buf; - lVar3 = lVar2; - lVar4 = lVar1; - while( true ) { - sent = (longlong)((int)sent + 1); - lVar4._4_4_ = (byte *)((int)lVar4 + 1); - lVar4 = (longlong)(int)lVar4._4_4_; - __osRdbSend((u8 *)(uint)buffer,(u32)lVar1,(u32)lVar3); - if (sent == lVar2) break; - buffer = *lVar4._4_4_; - lVar1 = extraout_a1; - lVar3 = extraout_a2; - } - } - return (void *)((int)&rgba + 1); -} - - - -void osSyncPrintf(char *fmt,...) - -{ - va_list in_a1_lo; - va_list ap; - - ap = in_a1_lo; - _Printf(proutSyncPrintf,0,(byte *)fmt,(uint *)&ap); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 osPiRawStartDma(s32 direction,u32 devAddr,void *dramAddr,u32 size) - -{ - do { - } while ((_PI_STATUS_REG & 3) != 0); - _PI_DRAM_ADDR_REG = osVirtualToPhysical(dramAddr); - _PI_CART_ADDR_REG = (_osRomBase | devAddr) & 0x1fffffff; - if (direction == 0) { - _PI_WR_LEN_REG = size - 1; - } - else { - if (direction != 1) { - return -1; - } - _PI_RD_LEN_REG = size - 1; - } - return 0; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -u32 osPiGetStatus(void) - -{ - return _PI_STATUS_REG; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Unknown calling convention yet parameter storage is locked - -void osInitialize(void) - -{ - uint tmpSR; - int iVar3; - longlong lVar1; - ulonglong uVar2; - undefined4 in_v1_lo; - u32 clock; - u32 pifdata; - - clock = 0; - __osFinalRom = 1; - tmpSR = __osGetSR(); - __osSetSR(tmpSR | 0x20000000); - __osSetFpcCsr(0x1000800); - iVar3 = __osSiRawReadIo(0x1fc007fc,&pifdata); - while (iVar3 != 0) { - // WARNING: Read-only address (ram,0x70010190) is written - // WARNING: Read-only address (ram,0x70010194) is written - iVar3 = __osSiRawReadIo(0x1fc007fc,&pifdata); - } - // WARNING: Read-only address (ram,0x70010190) is written - // WARNING: Read-only address (ram,0x70010194) is written - iVar3 = __osSpRawWriteIo(0x1fc007fc,pifdata | 8); - while (iVar3 != 0) { - // WARNING: Read-only address (ram,0x70010190) is written - // WARNING: Read-only address (ram,0x70010194) is written - iVar3 = __osSpRawWriteIo(0x1fc007fc,pifdata | 8); - } - // WARNING: Read-only address (ram,0x70010190) is written - // WARNING: Read-only address (ram,0x70010194) is written - _DAT_80000008 = 0x3400008; - _DAT_8000000c = 0; - _XUT_VEC = 0x3c1a7001; - _DAT_80000084 = 0x275a01a0; - _DAT_80000088 = 0x3400008; - _DAT_8000008c = 0; - _ECC_VEC = 0x3c1a7001; - _DAT_80000104 = 0x275a01a0; - _DAT_80000108 = 0x3400008; - _DAT_8000010c = 0; - _E_VEC = 0x3c1a7001; - _DAT_80000184 = 0x275a01a0; - _DAT_80000188 = 0x3400008; - _DAT_8000018c = 0; - _UT_VEC = ___osExceptionPreamble; - _DAT_80000004 = uRam70010194; - osWritebackDCache(&UT_VEC,400); - osInvalICache(&UT_VEC,400); - osMapTLBRdb(); - osPiRawReadIo(4,&clock); - clock &= 0xfffffff0; - if (clock != 0) { - osClockRate._0_4_ = 0; - osClockRate._4_4_ = clock; - } - lVar1 = __ll_mul(osClockRate._0_4_,osClockRate._4_4_,0,3); - uVar2 = __ull_div((int)lVar1,in_v1_lo,0,4); - osClockRate._0_4_ = (undefined4)uVar2; - osClockRate._4_4_ = in_v1_lo; - if (_osResetType == 0) { - bzero((void *)0x8000031c,0x40); - } - do { - } while ((_PI_STATUS_REG & 3) != 0); - if ((_data & 0xffff) == 0) { - osDiskExist = 1; - __osSetHWIntrRoutine(1,(s32 *)__osLeoInterrupt); - } - else { - osDiskExist = 0; - } - return; -} - - - -void osWritebackDCacheAll(void) - -{ - bool bVar1; - ulonglong uVar2; - - uVar2 = 0xffffffff80000000; - do { - cacheOp(1,uVar2); - bVar1 = uVar2 < 0xffffffff80001ff0; - uVar2 = SEXT48((int)uVar2 + 0x10); - } while (bVar1); - return; -} - - - -void osInvalICache(void *addr,int nbytes) - -{ - bool bVar1; - ulonglong uVar2; - void *pvVar3; - - if (0 < nbytes) { - if (0x3fff < (uint)nbytes) { - uVar2 = 0xffffffff80000000; - do { - cacheOp(0,uVar2); - bVar1 = uVar2 < 0xffffffff80003fe0; - uVar2 = SEXT48((int)uVar2 + 0x20); - } while (bVar1); - return; - } - if (addr < (void *)((int)addr + nbytes)) { - pvVar3 = (void *)((int)addr - ((uint)addr & 0x1f)); - do { - uVar2 = SEXT48((int)pvVar3); - cacheOp(0x10,uVar2); - pvVar3 = (void *)((int)pvVar3 + 0x20); - } while (uVar2 < (ulonglong)(longlong)((int)(void *)((int)addr + nbytes) + -0x20)); - } - } - return; -} - - - -void osUnmapTLB(int index) - -{ - setCopReg(0,Index,(longlong)index,0); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),0xffffffff80000000,0); - setCopReg(0,EntryLo0,0,0); - setCopReg(0,EntryLo1,0,0); - TLB_write_indexed_entry(Index,CONCAT44(uRegister00002050,EntryHi),EntryLo0,EntryLo1,PageMask); - setCopReg(0,CONCAT44(uRegister00002050,EntryHi),(longlong)EntryHi,0); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -u32 __osGetFpcCsr(void) - -{ - u32 in_fcsr; - - return in_fcsr; -} - - - -u32 __osSetFpcCsr(u32 param_1) - -{ - u32 in_fcsr; - - return in_fcsr; -} - - - -void osCreateThread(OSThread *t,OSId id,void *entry,void *arg,void *sp,OSPri p) - -{ - ulonglong saveMask; - - t->id = id; - t->priority = p; - t->next = NULL; - t->queue = NULL; - *(void **)&(t->context).cause = entry; - *(int *)((int)&(t->context).a0 + 4) = (int)arg >> 0x1f; - *(void **)&(t->context).a1 = arg; - *(int *)&(t->context).s8 = (int)sp + -0x10; - *(int *)((int)&(t->context).sp + 4) = ((int)sp >> 0x1f) - (uint)(sp < &caseD_0); - *(undefined4 *)((int)&(t->context).ra + 4) = 0; - *(undefined4 *)&(t->context).lo = 0x70010a80; - (t->context).pc = 0xff03; - (t->context).fpcsr = 0x3f; - *(undefined4 *)&(t->context).fp0 = 0x1000800; - t->fp = 0; - t->state = 1; - t->flags = 0; - saveMask._4_4_ = __osDisableInt(); - *(OSThread **)&t->tlnext = __osActiveQueue; - __osActiveQueue = t; - __osRestoreInt(saveMask._4_4_); - return; -} - - - -void osStartThread(OSThread *t) - -{ - ulonglong saveMask; - u32 tmpsaveMask; - - saveMask._4_4_ = __osDisableInt(); - if (t->state == 1) { - if (((OSThread *)t->queue == NULL) || ((OSThread *)t->queue == (OSThread *)&__osRunQueue)) { - t->state = 2; - __osEnqueueThread(&__osRunQueue,t); - } - else { - t->state = 8; - __osEnqueueThread((OSThread **)t->queue,t); - tmpsaveMask = (u32)__osPopThread((OSThread *)t->queue); - __osEnqueueThread(&__osRunQueue,(OSThread *)tmpsaveMask); - } - } - else { - if (t->state == 8) { - t->state = 2; - __osEnqueueThread(&__osRunQueue,t); - } - } - if (__osRunningThread == NULL) { - __osDispatchThread(); - } - else { - if (__osRunningThread->priority < __osRunQueue->priority) { - __osRunningThread->state = 2; - __osEnqueueAndYield(&__osRunQueue); - } - } - __osRestoreInt(saveMask._4_4_); - return; -} - - - -void osCreateMesgQueue(OSMesgQueue *mq,OSMesg *msg,s32 msgCount) - -{ - mq->mtqueue = (OSThread *)0x80027720; - *(__OSThreadTail **)&mq->fullqueue = &__osThreadTail; - mq->validCount = 0; - mq->first = 0; - mq->msgCount = msgCount; - mq->msg = msg; - return; -} - - - -void osStopThread(OSThread *t) - -{ - u32 saveMask; - u16 state; - - saveMask = __osDisableInt(); - if (t == NULL) { - state = 4; - } - else { - state = t->state; - } - if (state != 2) { - if (state == 4) { - __osRunningThread->state = 1; - __osEnqueueAndYield(NULL); - goto LAB_7000d7e0; - } - if (state != 8) goto LAB_7000d7e0; - } - t->state = 1; - __osDequeueThread((OSThread **)t->queue,t); -LAB_7000d7e0: - __osRestoreInt(saveMask); - return; -} - - - -void osSetThreadPri(OSThread *t,OSPri p) - -{ - u32 saveMask; - OSThread *pOStackX0; - - saveMask = __osDisableInt(); - pOStackX0 = t; - if (t == NULL) { - pOStackX0 = __osRunningThread; - } - if (pOStackX0->priority != p) { - pOStackX0->priority = p; - if ((pOStackX0 != __osRunningThread) && (pOStackX0->state != 1)) { - __osDequeueThread((OSThread **)pOStackX0->queue,pOStackX0); - __osEnqueueThread((OSThread **)pOStackX0->queue,pOStackX0); - } - if (__osRunningThread->priority < __osRunQueue->priority) { - __osRunningThread->state = 2; - __osEnqueueAndYield(&__osRunQueue); - } - } - __osRestoreInt(saveMask); - return; -} - - - -u32 osGetCount(void) - -{ - return Count; -} - - - -void osCreateViManager(OSPri pri) - -{ - int myPri; - u32 savedMask; - int oldPri; - - if (__osViDevMgr.active == 0) { - __osTimerServicesInit(); - osCreateMesgQueue(&viEventQueue,viEventBuf,5); - viRetraceMsg.hdr.type = 0xd; - viRetraceMsg.hdr.pri = '\0'; - viRetraceMsg.hdr.retQueue = NULL; - viCounterMsg.hdr.type = 0xe; - viCounterMsg.hdr.pri = '\0'; - viCounterMsg.hdr.retQueue = NULL; - osSetEventMesg(7,&viEventQueue,&viRetraceMsg); - osSetEventMesg(3,&viEventQueue,&viCounterMsg); - oldPri = -1; - myPri = osGetThreadPri(NULL); - if (myPri < pri) { - osSetThreadPri(NULL,pri); - oldPri = myPri; - } - savedMask = __osDisableInt(); - __osViDevMgr.active = 1; - __osViDevMgr.thread = &viThread; - __osViDevMgr.cmdQueue = &viEventQueue; - __osViDevMgr.evtQueue = &viEventQueue; - __osViDevMgr.acsQueue = NULL; - __osViDevMgr.dma = NULL; - __osViDevMgr.edma = NULL; - osCreateThread(&viThread,0,viMgrMain,&__osViDevMgr,&viEventQueue,pri); - __osViInit(); - osStartThread(&viThread); - __osRestoreInt(savedMask); - if (oldPri != -1) { - osSetThreadPri(NULL,oldPri); - } - } - return; -} - - - -void viMgrMain(int param_1) - -{ - __OSViContext *vc; - __OSViContext *p_Var1; - uint uVar2; - short *psStack12; - OSDevMgr *dm; - undefined *a; - u32 Count; - - psStack12 = NULL; - vc = __osViGetCurrentContext(); - retrace = vc->retraceCount; - dm = (OSDevMgr *)param_1; - if (retrace == 0) { - retrace = 1; - } - do { - while( true ) { - osRecvMesg(dm->evtQueue,&psStack12,1); - if (*psStack12 == 0xd) break; - if (*psStack12 == 0xe) { - __osTimerInterrupt(); - } - } - __osViSwapContext(); - retrace -= 1; - if (retrace == 0) { - p_Var1 = __osViGetCurrentContext(); - if (p_Var1->msgq != NULL) { - osSendMesg(p_Var1->msgq,p_Var1->msg,0); - } - retrace = p_Var1->retraceCount; - } - __osViIntrCount += 1; - if (false) { - __osCurrentTime._4_4_ = osGetCount(); - __osCurrentTime._0_4_ = 0; - } - Count = __osBaseCounter; - __osBaseCounter = osGetCount(); - uVar2 = (__osBaseCounter - Count) + __osCurrentTime._4_4_; - __osCurrentTime._0_4_ = (uint)(uVar2 < __osCurrentTime._4_4_) + __osCurrentTime._0_4_; - __osCurrentTime._4_4_ = uVar2; - } while( true ); -} - - - -void osCreateViManager_sub - (undefined param_1,undefined param_2,undefined param_3,undefined param_4, - undefined param_5,undefined param_6,undefined4 param_7,undefined4 param_8) - -{ - return; -} - - - -void osSetEventMesg(OSEvent param_1,OSMesgQueue *param_2,OSMesg param_3) - -{ - u32 saveMask; - - saveMask = __osDisableInt(); - __OSEventStateTab[param_1].messageQueue = param_2; - __OSEventStateTab[param_1].message = param_3; - __osRestoreInt(saveMask); - return; -} - - - -void osViSetEvent(OSMesgQueue *mq,OSMesg m,u32 retraceCount) - -{ - u32 savemask; - - savemask = __osDisableInt(); - __osViNext->msgq = mq; - __osViNext->msg = m; - __osViNext->retraceCount = (u16)retraceCount; - __osRestoreInt(savemask); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -OSIntMask osSetIntMask(OSIntMask param_1) - -{ - uint uVar1; - - if (_MI_INTR_MASK_REG != 0) { - _MI_INTR_MASK_REG |= ((uint)__OSGlobalIntMask >> 0x10 ^ 0xffffffff) & 0x3f; - } - uVar1 = _MI_INTR_MASK_REG << 0x10; - setCopReg(0,CONCAT44(uRegister00002060,Status), - (longlong)(int)Status & 0xffffffffffff00ffU | - (longlong)(int)param_1 & 0xff01U & (longlong)(int)__OSGlobalIntMask & 0xff00U,0); - _MI_INTR_MASK_REG = - (uint)*(ushort *) - ((int)__osRcpImTable + ((param_1 & 0x3f0000 & (uint)__OSGlobalIntMask) >> 0xf)); - return (OSIntMask)(Status & 0xff01 | ((uint)__OSGlobalIntMask ^ 0xffffffff) & 0xff00 | uVar1); -} - - - -s32 osRecvMesg(OSMesgQueue *mq,OSMesg *msg,s32 flags) - -{ - int iVar1; - u32 saveMask; - OSThread *t; - int iVar2; - - saveMask = __osDisableInt(); - iVar1 = mq->validCount; - while( true ) { - if (iVar1 != 0) { - if (msg != NULL) { - *msg = mq->msg[mq->first]; - } - iVar1 = mq->msgCount; - iVar2 = mq->first + 1; - mq->first = iVar2 % iVar1; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - mq->validCount = mq->validCount + -1; - if (mq->fullqueue->next != NULL) { - t = __osPopThread((OSThread *)&mq->fullqueue); - osStartThread(t); - } - __osRestoreInt(saveMask); - return 0; - } - if (flags == 0) break; - __osRunningThread->state = 8; - __osEnqueueAndYield((OSThread **)mq); - iVar1 = mq->validCount; - } - __osRestoreInt(saveMask); - return -1; -} - - - -s32 osSendMesg(OSMesgQueue *mq,OSMesg msg,s32 flags) - -{ - int iVar1; - u32 saveMask; - OSThread *t; - int iVar2; - - saveMask = __osDisableInt(); - if (mq->msgCount <= mq->validCount) { - do { - if (flags != 1) { - __osRestoreInt(saveMask); - return -1; - } - __osRunningThread->state = 8; - __osEnqueueAndYield(&mq->fullqueue); - } while (mq->msgCount <= mq->validCount); - } - iVar1 = mq->msgCount; - iVar2 = mq->first + mq->validCount; - mq->msg[iVar2 % iVar1] = msg; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - mq->validCount = mq->validCount + 1; - if (mq->mtqueue->next != NULL) { - t = __osPopThread((OSThread *)mq); - osStartThread(t); - } - __osRestoreInt(saveMask); - return 0; -} - - - -undefined8 FUN_7000df3c(void) - -{ - int iVar1; - OSThread *t; - int in_t6_lo; - u32 unaff_s0_lo; - int iVar2; - OSThread *param_11; - undefined4 param_12; - int param_13; - - if (*(int *)(in_t6_lo + 0x10) <= *(int *)(in_t6_lo + 8)) { - do { - if (param_13 != 1) { - __osRestoreInt(unaff_s0_lo); - return 0xffffffffffffffff; - } - __osRunningThread->state = 8; - __osEnqueueAndYield((OSThread **)¶m_11->priority); - } while (*(int *)¶m_11->state <= (int)param_11->queue); - } - iVar1 = *(int *)¶m_11->state; - iVar2 = (int)¶m_11->tlnext->next + (int)param_11->queue; - *(undefined4 *)(param_11->id + (iVar2 % iVar1) * 4) = param_12; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - param_11->queue = (OSThread_s **)((int)param_11->queue + 1); - if (param_11->next->next != NULL) { - t = __osPopThread(param_11); - osStartThread(t); - } - __osRestoreInt(unaff_s0_lo); - return 0; -} - - - -void osViSetMode(OSViMode *modep) - -{ - u32 saveMask; - - saveMask = __osDisableInt(); - __osViNext->modep = modep; - __osViNext->state = 1; - __osViNext->control = (__osViNext->modep->comRegs).ctrl; - __osRestoreInt(saveMask); - return; -} - - - -void osViSetXScale(f32 value) - -{ - float fVar1; - u32 saveMask; - uint uVar2; - float nomValue; - - saveMask = __osDisableInt(); - (__osViNext->x).factor = value; - __osViNext->state = __osViNext->state | 2; - nomValue = (float)((__osViNext->modep->comRegs).xScale & 0xfff); - if (false) { - nomValue = nomValue + 4294967296.00000000; - } - nomValue = (float)(__osViNext->x).factor * nomValue; - if (false) { - fVar1 = ROUND(nomValue); - } - else { - fVar1 = FLOOR(nomValue); - } - uVar2 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar2) goto LAB_7000e1d0; - } - else { - if (false) { - fVar1 = ROUND(nomValue - 2147483648.00000000); - } - else { - fVar1 = FLOOR(nomValue - 2147483648.00000000); - } - if (true) { - uVar2 = (int)fVar1 | 0x80000000; - goto LAB_7000e1d0; - } - } - uVar2 = 0xffffffff; -LAB_7000e1d0: - *(uint *)&(__osViNext->x).field_0x8 = uVar2 & 0xfff; - __osRestoreInt(saveMask); - return; -} - - - -void osViSetYScale(f32 value) - -{ - u32 saveMask; - - saveMask = __osDisableInt(); - *(f32 *)((int)&(__osViNext->y).factor + 2) = value; - __osViNext->state = __osViNext->state | 4; - __osRestoreInt(saveMask); - return; -} - - - -void osViRepeatLine(char param_1) - -{ - u32 saveMask; - - saveMask = __osDisableInt(); - if (param_1 == '\0') { - __osViNext->state = __osViNext->state & 0xffbf; - } - else { - __osViNext->state = __osViNext->state | 0x40; - } - __osRestoreInt(saveMask); - return; -} - - - -void osViBlack(u32 active) - -{ - u32 saveMask; - char cStackX3; - - saveMask = __osDisableInt(); - cStackX3 = (char)active; - if (cStackX3 == '\0') { - __osViNext->state = __osViNext->state & 0xffdf; - } - else { - __osViNext->state = __osViNext->state | 0x20; - } - __osRestoreInt(saveMask); - return; -} - - - -OSYieldResult osSpTaskYielded(OSTask *tp) - -{ - u32 status; - OSYieldResult result; - - status = __osSpGetStatus(); - result = (OSYieldResult)((status & 0x100) != 0); - if ((status & 0x80) != 0) { - *(uint *)(*tp + 4) = *(uint *)(*tp + 4) | result; - *(uint *)(*tp + 4) = *(uint *)(*tp + 4) & 0xfffffffd; - } - return result; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osDpGetCounters(u32 *array) - -{ - *array = _DPC_CLOCK_REG; - array[1] = _DPC_BUFBUSY_REG; - array[2] = _DPC_PIPEBUSY_REG; - array[3] = _DPC_TMEM_REG; - return; -} - - - -void * osViGetCurrentFramebuffer(void) - -{ - u32 saveMask; - void *framep; - - saveMask = __osDisableInt(); - framep = __osViCurr->framep; - __osRestoreInt(saveMask); - return framep; -} - - - -void * osViGetNextFramebuffer(void) - -{ - u32 saveMask; - void *framep; - - saveMask = __osDisableInt(); - framep = __osViNext->framep; - __osRestoreInt(saveMask); - return framep; -} - - - -void osViSwapBuffer(void *frameBufPtr) - -{ - u32 saveMask; - - saveMask = __osDisableInt(); - __osViNext->framep = frameBufPtr; - __osViNext->state = __osViNext->state | 0x10; - __osRestoreInt(saveMask); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void osDpSetStatus(u32 data) - -{ - _DPC_STATUS_REG = data; - return; -} - - - -OSTask * _VirtualToPhysicalTask(OSTask *intp) - -{ - _bcopy(intp,&tp,0x40); - if (tp.ucode != NULL) { - tp.ucode = (u64 *)osVirtualToPhysical(tp.ucode); - } - if (tp.ucode_data != NULL) { - tp.ucode_data = (u64 *)osVirtualToPhysical(tp.ucode_data); - } - if (tp.dram_stack != NULL) { - tp.dram_stack = (u64 *)osVirtualToPhysical(tp.dram_stack); - } - if (tp.output_buff != NULL) { - tp.output_buff = (u64 *)osVirtualToPhysical(tp.output_buff); - } - if (tp.output_buff_size != NULL) { - tp.output_buff_size = (u64 *)osVirtualToPhysical(tp.output_buff_size); - } - if (tp.data_ptr != NULL) { - tp.data_ptr = (u64 *)osVirtualToPhysical(tp.data_ptr); - } - if (tp.yield_data_ptr != NULL) { - tp.yield_data_ptr = (u64 *)osVirtualToPhysical(tp.yield_data_ptr); - } - return (OSTask *)&tp; -} - - - -void osSpTaskLoad(OSTask *intp) - -{ - OSTask *tp; - int iVar1; - - tp = _VirtualToPhysicalTask(intp); - if ((*(uint *)(*tp + 4) & 1) != 0) { - *(undefined4 *)(*tp + 0x18) = *(undefined4 *)(*tp + 0x38); - *(undefined4 *)(*tp + 0x1c) = *(undefined4 *)(*tp + 0x3c); - *(uint *)(*intp + 4) = *(uint *)(*intp + 4) & 0xfffffffe; - } - osWritebackDCache(tp,0x40); - __osSpSetStatus(0x2b00); - iVar1 = __osSpSetPc(0x4001000); - while (iVar1 == -1) { - iVar1 = __osSpSetPc(0x4001000); - } - iVar1 = __osSpRawStartDma(1,0x4000fc0,tp,0x40); - while (iVar1 == -1) { - iVar1 = __osSpRawStartDma(1,0x4000fc0,tp,0x40); - } - iVar1 = __osSpDeviceBusy(); - while (iVar1 != 0) { - iVar1 = __osSpDeviceBusy(); - } - iVar1 = __osSpRawStartDma(1,0x4001000,*(void **)(*tp + 8),*(u32 *)(*tp + 0xc)); - while (iVar1 == -1) { - iVar1 = __osSpRawStartDma(1,0x4001000,*(void **)(*tp + 8),*(u32 *)(*tp + 0xc)); - } - return; -} - - - -void osSpTaskStartGo(OSTask *tp) - -{ - int iVar1; - - iVar1 = __osSpDeviceBusy(); - while (iVar1 != 0) { - iVar1 = __osSpDeviceBusy(); - } - __osSpSetStatus(0x125); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 osDpSetNextBuffer(void *bufPtr,u64 size) - -{ - ulonglong uVar1; - s32 sVar2; - u32 uVar3; - int in_a3_lo; - - uVar1 = __osDpDeviceBusy(); - if (uVar1 == 0) { - _DPC_STATUS_REG = 1; - do { - } while (true); - _DPC_START_REG = osVirtualToPhysical(bufPtr); - uVar3 = osVirtualToPhysical(bufPtr); - _DAT_a4100004 = uVar3 + in_a3_lo; - sVar2 = 0; - } - else { - sVar2 = -1; - } - return sVar2; -} - - - -void osSpTaskYield(void) - -{ - __osSpSetStatus(0x400); - return; -} - - - -u32 __osGetTLBHi(s32 index) - -{ - setCopReg(0,Index,(longlong)index,0); - EntryHi = TLB_read_indexed_entryHi(Index); - EntryLo0 = TLB_read_indexed_entryLo0(Index); - EntryLo1 = TLB_read_indexed_entryLo1(Index); - PageMask = TLB_read_indexed_entryLo1(Index); - return EntryHi._4_4_; -} - - - -u32 osVirtualToPhysical(void *virtualAddress) - -{ - uint uVar1; - - if ((virtualAddress < &UT_VEC) || ((void *)0x9fffffff < virtualAddress)) { - if ((virtualAddress < (void *)0xa0000000) || ((void *)0xbfffffff < virtualAddress)) { - uVar1 = __osProbeTLB(virtualAddress); - } - else { - uVar1 = (uint)virtualAddress & 0x1fffffff; - } - } - else { - uVar1 = (uint)virtualAddress & 0x1fffffff; - } - return (u32)uVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 osAiSetFrequency(u32 frequency) - -{ - int iVar1; - uint bitRate; - uint dacRate; - float fVar2; - float f; - - fVar2 = (float)frequency; - if ((int)frequency < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - f = (float)osViClock / fVar2 + 0.50000000; - if (false) { - fVar2 = ROUND(f); - } - else { - fVar2 = FLOOR(f); - } - dacRate = (uint)fVar2; - if (true) { - if (-1 < (int)dacRate) goto LAB_7000e9f4; - } - else { - if (false) { - fVar2 = ROUND(f - 2147483648.00000000); - } - else { - fVar2 = FLOOR(f - 2147483648.00000000); - } - if (true) { - dacRate = (int)fVar2 | 0x80000000; - goto LAB_7000e9f4; - } - } - dacRate = 0xffffffff; -LAB_7000e9f4: - if (dacRate < 0x84) { - iVar1 = -1; - } - else { - bitRate = dacRate / 0x42 & 0xff; - if (0x10 < bitRate) { - bitRate = 0x10; - } - _AI_DACRATE_REG = dacRate - 1; - _AI_BITRATE_REG = bitRate - 1; - _AI_CONTROL_REG = 1; - iVar1 = osViClock / (int)dacRate; - if (dacRate == 0) { - trap(0x1c00); - } - if ((dacRate == 0xffffffff) && (osViClock == -0x80000000)) { - trap(0x1800); - } - } - return (s32)iVar1; -} - - - -void alUnlink(ALLink *a) - -{ - ALLink_s *ln; - - if (a->next == NULL) { - ln = a->prev; - } - else { - a->next->prev = a->prev; - ln = a->prev; - } - if (ln != NULL) { - ln->next = a->next; - } - return; -} - - - -void alLink(ALLink *a,ALLink *b) - -{ - ALLink_s *to; - - to = b->next; - *(ALLink **)&a->prev = b; - a->next = to; - if (b->next != NULL) { - *(ALLink **)&b->next->prev = a; - } - *(ALLink **)&b->next = a; - return; -} - - - -void alClose(ALGlobals *glob) - -{ - if (slg != NULL) { - alSynDelete((ALSynth *)glob); - slg = NULL; - } - return; -} - - - -void alInit(ALGlobals *g,ALSynConfig *c) - -{ - if (slg == NULL) { - slg = g; - alSynNew((ALSynth *)g,c); - } - return; -} - - - -void _alHeapDBAlloc(u8 *file,s32 line,ALHeap *hp,s32 num,s32 size) - -{ - uint bytes; - - bytes = num * size + 0xfU & 0xfffffff0; - if (hp->cur + bytes <= hp->base + hp->len) { - hp->cur = hp->cur + bytes; - } - return; -} - - - -OSTime osGetTime(void) - -{ - int iVar1; - uint uVar2; - u32 savedMask; - u32 CurrentCount; - int elapseCount; - - savedMask = __osDisableInt(); - CurrentCount = osGetCount(); - uVar2 = __osCurrentTime._4_4_; - iVar1 = __osCurrentTime._0_4_; - elapseCount = CurrentCount - __osBaseCounter; - __osRestoreInt(savedMask); - return (longlong)(int)((uint)(elapseCount + uVar2 < uVar2) + iVar1); -} - - - -longlong __ull_rshift(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - return (longlong)(CONCAT44(param_1,param_2) >> CONCAT44(param_3,param_4)) >> 0x20; -} - - - -longlong __ull_rem(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - if (CONCAT44(param_3,param_4) == 0) { - trap(0x1c00); - } - return (longlong)(CONCAT44(param_1,param_2) % CONCAT44(param_3,param_4)) >> 0x20; -} - - - -ulonglong __ull_div(undefined4 left_u,undefined4 left_l,undefined4 right_u,undefined4 right_l) - -{ - if (CONCAT44(right_u,right_l) == 0) { - trap(0x1c00); - } - return (longlong)(CONCAT44(left_u,left_l) / CONCAT44(right_u,right_l)) >> 0x20; -} - - - -longlong __ll_lshift(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - return (CONCAT44(param_1,param_2) << CONCAT44(param_3,param_4)) >> 0x20; -} - - - -longlong __ll_rem(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - if (CONCAT44(param_3,param_4) == 0) { - trap(0x1c00); - } - return (longlong)(CONCAT44(param_1,param_2) % CONCAT44(param_3,param_4)) >> 0x20; -} - - - -longlong __ll_div(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - longlong lVar1; - - lVar1 = CONCAT44(param_3,param_4); - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (CONCAT44(param_1,param_2) == -0x8000000000000000)) { - trap(0x1800); - } - return CONCAT44(param_1,param_2) / lVar1 >> 0x20; -} - - - -longlong __ll_mul(undefined4 left_u,undefined4 left_l,undefined4 right_u,undefined4 right_l) - -{ - return CONCAT44(left_u,left_l) * CONCAT44(right_u,right_l) >> 0x20; -} - - - -void __ull_divremi(ulonglong *param_1,ulonglong *param_2,undefined4 param_3,undefined4 param_4, - short param_5) - -{ - if ((longlong)param_5 == 0) { - trap(0x1c00); - } - *param_1 = CONCAT44(param_3,param_4) / (ulonglong)(longlong)param_5; - if ((longlong)param_5 == 0) { - trap(0x1c00); - } - *param_2 = CONCAT44(param_3,param_4) % (longlong)param_5; - return; -} - - - -undefined4 __ll_mod(undefined4 param_1,undefined4 param_2,int param_3,undefined4 param_4) - -{ - longlong lVar1; - longlong lVar2; - undefined4 uStack8; - - lVar1 = CONCAT44(param_3,param_4); - lVar2 = CONCAT44(param_1,param_2) % lVar1; - if (lVar1 == 0) { - trap(0x1c00); - } - if ((lVar1 == -1) && (CONCAT44(param_1,param_2) == -0x8000000000000000)) { - trap(0x1800); - } - uStack8 = (undefined4)((ulonglong)lVar2 >> 0x20); - if (((lVar2 < 0) && (0 < lVar1)) || ((0 < lVar2 && (param_3 < 0)))) { - uStack8 = (undefined4)((ulonglong)(lVar2 + CONCAT44(param_3,param_4)) >> 0x20); - } - return uStack8; -} - - - -longlong __ll_lshift(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) - -{ - return (CONCAT44(param_1,param_2) >> CONCAT44(param_3,param_4)) >> 0x20; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 osAiSetNextBuffer(void *bufPtr,u32 size) - -{ - ulonglong uVar1; - s32 sVar2; - void *bPtr; - - bPtr = bufPtr; - if (hdwrBugFlag != false) { - bPtr = (void *)((int)bufPtr + -0x2000); - } - hdwrBugFlag = ((int)bufPtr + size & 0x3fff) == 0x2000; - uVar1 = __osAiDeviceBusy(); - if (uVar1 == 0) { - _AI_DRAM_ADDR_REG = osVirtualToPhysical(bPtr); - sVar2 = 0; - _AI_LEN_REG = size; - } - else { - sVar2 = -1; - } - return sVar2; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 osAiGetLength(void) - -{ - return _AI_LEN_REG; -} - - - -void dummy7000EFBC(void) - -{ - return; -} - - - -int _timeToSamples(ALSynth *synth,int micros) - -{ - uint in_register_00001030; - - return (int)((int)((double)((float)micros * (float)synth->outputRate) / dbl_80029420 + - (double)((ulonglong)in_register_00001030 << 0x20)) & 0xfffffff0); -} - - - -void _freePVoice(ALSynth *drvr,PVoice *pvoice) - -{ - alUnlink((ALLink *)pvoice); - alLink((ALLink *)pvoice,&drvr->pLameList); - return; -} - - - -void _collectPVoices(ALSynth *drvr) - -{ - ALLink *dl; - - dl = (ALLink *)(drvr->pLameList).next; - while (dl != NULL) { - alUnlink(dl); - alLink(dl,&drvr->pFreeList); - dl = (ALLink *)(drvr->pLameList).next; - } - return; -} - - - -void __freeParam(ALParam *param) - -{ - ALGlobals *pAVar1; - - pAVar1 = slg; - *(ALParam_s **)param = (slg->drvr).paramList; - *(ALParam **)&(pAVar1->drvr).paramList = param; - return; -} - - - -ALParam ___allocParam(void) - -{ - ALParam_s **ppAVar1; - ALParam_s *update; - ALParam_s *drvr; - - ppAVar1 = (ALParam_s **)(slg->drvr).paramList; - update._3_1_ = (ALParam)0x0; - if (ppAVar1 != NULL) { - (slg->drvr).paramList = *ppAVar1; - *ppAVar1 = NULL; - update._3_1_ = SUB41(ppAVar1,0); - } - return update._3_1_; -} - - - -void dummy7000F100(void) - -{ - return; -} - - - -Acmd * alAudioFrame(Acmd *cmdList,s32 *cmdLen,s16 *outBuf,s32 outLen) - -{ - ALPlayer_s *pAVar1; - ALFilter_s *output; - ALSynth *pAVar2; - ALGlobals *drvr; - double dVar3; - ALPlayer *pAVar4; - ALMicroTime AVar5; - s32 sVar6; - int iVar7; - int nOut; - Acmd *cmdlEnd; - s32 sVar8; - ulonglong unaff_f22; - undefined2 auStack14 [5]; - ALPlayer *pAStack4; - - drvr = slg; - auStack14[0] = 0; - cmdlEnd = cmdList; - if ((slg->drvr).head == NULL) { - *cmdLen = 0; - } - else { - pAStack4 = NULL; - pAVar4 = (slg->drvr).head; - iVar7 = 0x7fffffff; - if (pAVar4 != NULL) { - sVar6 = (slg->drvr).curSamples; - sVar8 = pAVar4->samplesLeft; - while( true ) { - if (sVar8 - sVar6 < iVar7) { - sVar6 = (slg->drvr).curSamples; - iVar7 = pAVar4->samplesLeft - sVar6; - pAVar1 = pAVar4->next; - pAStack4 = pAVar4; - } - else { - pAVar1 = pAVar4->next; - } - if (pAVar1 == NULL) break; - sVar8 = pAVar1->samplesLeft; - pAVar4 = (ALPlayer *)pAVar1; - } - } - pAVar2 = &slg->drvr; - iVar7 = pAStack4->samplesLeft; - (slg->drvr).paramSamples = iVar7; - dVar3 = dbl_80029428; - if (iVar7 - pAVar2->curSamples < outLen) { - do { - iVar7 = 0x7fffffff; - (drvr->drvr).paramSamples = (drvr->drvr).paramSamples & 0xfffffff0; - AVar5 = (*pAStack4->handler)(pAStack4); - pAStack4->samplesLeft = - pAStack4->samplesLeft + - (int)((double)((float)AVar5 * (float)(drvr->drvr).outputRate) / dVar3 + - (double)(unaff_f22 & 0xffffffff00000000)); - pAStack4 = NULL; - pAVar4 = (drvr->drvr).head; - if (pAVar4 != NULL) { - sVar6 = (drvr->drvr).curSamples; - sVar8 = pAVar4->samplesLeft; - while( true ) { - if (sVar8 - sVar6 < iVar7) { - sVar6 = (drvr->drvr).curSamples; - iVar7 = pAVar4->samplesLeft - sVar6; - pAVar1 = pAVar4->next; - pAStack4 = pAVar4; - } - else { - pAVar1 = pAVar4->next; - } - if (pAVar1 == NULL) break; - sVar8 = pAVar1->samplesLeft; - pAVar4 = (ALPlayer *)pAVar1; - } - } - iVar7 = pAStack4->samplesLeft; - (drvr->drvr).paramSamples = iVar7; - } while (iVar7 - (drvr->drvr).curSamples < outLen); - } - (drvr->drvr).paramSamples = (drvr->drvr).paramSamples & 0xfffffff0; - if (0 < outLen) { - do { - iVar7 = (drvr->drvr).maxOutSamples; - nOut = outLen; - if (iVar7 < outLen) { - nOut = iVar7; - } - *(undefined4 *)cmdlEnd = 0x7000000; - *(undefined4 *)((int)cmdlEnd + 4) = 0; - output = (drvr->drvr).outputFilter; - (**(code **)(output + 8))(output,6,outBuf); - cmdlEnd = (Acmd *)(**(code **)(output + 4)) - (output,auStack14,nOut,(drvr->drvr).curSamples, - cmdlEnd + 1); - outLen -= nOut; - outBuf = outBuf + nOut * 2; - (drvr->drvr).curSamples = (drvr->drvr).curSamples + nOut; - } while (0 < outLen); - } - *cmdLen = (int)((int)cmdlEnd - (int)cmdList) >> 3; - _collectPVoices((ALSynth *)drvr); - } - return cmdlEnd; -} - - - -void alSynNew(ALSynth *drvr,ALSynConfig *c) - -{ - ALHeap *hp; - ALAuxBus_s *save; - ALSave *sources; - ALFxRef pvVar1; - int iVar2; - s32 sVar3; - ALParam_s **ppAVar4; - ALLink *a; - ALParam_s *pAVar5; - longlong lVar6; - ALEnvMixer *e; - ALResampler *r; - ALLoadFilter *f; - int iVar7; - - hp = c->heap; - drvr->head = NULL; - sVar3 = c->maxPVoices; - drvr->curSamples = 0; - drvr->paramSamples = 0; - drvr->numPVoices = sVar3; - sVar3 = c->outputRate; - drvr->maxOutSamples = 0xa0; - drvr->outputRate = sVar3; - drvr->dma = c->dmaproc; - _alHeapDBAlloc(NULL,0,hp,1,0x1c); - sources = (ALSave *)save; - alSaveNew((ALSave *)save); - *(ALAuxBus_s **)&drvr->outputFilter = save; - _alHeapDBAlloc(NULL,0,hp,1,0x4c); - *(ALSave **)&drvr->auxBus = sources; - drvr->maxAuxBusses = 1; - _alHeapDBAlloc(NULL,0,hp,c->maxPVoices,4); - alAuxBusNew((ALAuxBus *)drvr->auxBus,sources,c->maxPVoices); - _alHeapDBAlloc(NULL,0,hp,1,0x20); - *(ALSave **)&drvr->mainBus = sources; - _alHeapDBAlloc(NULL,0,hp,c->maxPVoices,4); - alMainBusNew((ALMainBus *)drvr->mainBus,sources,c->maxPVoices); - if (c->fxType == '\0') { - pvVar1 = (ALFxRef)alMainBusParam(drvr->mainBus,2,drvr->auxBus); - (drvr->pFreeList).next = NULL; - } - else { - pvVar1 = _alSynAllocFX(drvr,0,c,hp); - (drvr->pFreeList).next = NULL; - } - lVar6 = (longlong)(int)pvVar1; - (drvr->pFreeList).prev = NULL; - (drvr->pLameList).next = NULL; - (drvr->pLameList).prev = NULL; - (drvr->pAllocList).next = NULL; - (drvr->pAllocList).prev = NULL; - _alHeapDBAlloc(NULL,0,hp,c->maxPVoices,0xdc); - iVar7 = 0; - if (0 < c->maxPVoices) { - iVar2 = (int)lVar6; - e = (ALEnvMixer *)(iVar2 + 0x8c); - r = (ALResampler *)(iVar2 + 0x58); - f = (ALLoadFilter *)(iVar2 + 0x10); - do { - a = (ALLink *)lVar6; - alLink(a,&drvr->pFreeList); - a[1].next = NULL; - alLoadNew(f,drvr->dma,hp); - alLoadParam(f,1,NULL); - alResampleNew(r,hp); - alResampleParam(r,1,f); - alEnvmixerNew(e,hp); - alEnvmixerParam(e,1,r); - alAuxBusParam(drvr->auxBus,2,e); - a[1].prev = (ALLink_s *)&a[0x11].prev; - iVar7 += 1; - lVar6 = (longlong)(int)&a[0x1b].prev; - e = (ALEnvMixer *)&e[3].first; - r = (ALResampler *)&r[6].state; - f = (ALLoadFilter *)&f[3].memin; - } while (iVar7 < c->maxPVoices); - } - iVar7 = 0; - sVar3 = alSaveParam(save,1,drvr->mainBus); - lVar6 = (longlong)sVar3; - _alHeapDBAlloc(NULL,0,hp,c->maxUpdates,0x1c); - drvr->paramList = NULL; - if (c->maxUpdates < 1) { - drvr->heap = hp; - } - else { - pAVar5 = drvr->paramList; - while( true ) { - iVar7 += 1; - ppAVar4 = (ALParam_s **)lVar6; - *ppAVar4 = pAVar5; - *(ALParam_s ***)&drvr->paramList = ppAVar4; - lVar6 = (longlong)(int)(ppAVar4 + 7); - if (c->maxUpdates <= iVar7) break; - pAVar5 = drvr->paramList; - } - drvr->heap = hp; - } - return; -} - - - -s32 osPiStartDma(OSIoMesg *mb,s32 priority,s32 direction,u32 devAddr,void *dramAddr,u32 size, - OSMesgQueue *mq) - -{ - OSMesgQueue *mq_00; - s32 ret; - - if (__osPiDevMgr.active == 0) { - ret = -1; - } - else { - if (direction == 0) { - (mb->hdr).type = 0xb; - } - else { - (mb->hdr).type = 0xc; - } - (mb->hdr).pri = (u8)priority; - (mb->hdr).retQueue = mq; - mb->dramAddr = dramAddr; - mb->devAddr = devAddr; - mb->size = size; - mb->piHandle = NULL; - if (priority == 1) { - mq_00 = (OSMesgQueue *)osPiGetCmdQueue(); - ret = osJamMesg(mq_00,mb,0); - } - else { - mq_00 = (OSMesgQueue *)osPiGetCmdQueue(); - ret = osSendMesg(mq_00,mb,0); - } - } - return ret; -} - - - -void osViSetSpecialFeatures(u32 func) - -{ - u32 saveMask; - - saveMask = __osDisableInt(); - if ((func & 1) != 0) { - __osViNext->control = __osViNext->control | 8; - } - if ((func & 2) != 0) { - __osViNext->control = __osViNext->control & 0xfffffff7; - } - if ((func & 4) != 0) { - __osViNext->control = __osViNext->control | 4; - } - if ((func & 8) != 0) { - __osViNext->control = __osViNext->control & 0xfffffffb; - } - if ((func & 0x10) != 0) { - __osViNext->control = __osViNext->control | 0x10; - } - if ((func & 0x20) != 0) { - __osViNext->control = __osViNext->control & 0xffffffef; - } - if ((func & 0x40) != 0) { - __osViNext->control = __osViNext->control | 0x10000; - __osViNext->control = __osViNext->control & 0xfffffcff; - } - if ((func & 0x80) != 0) { - __osViNext->control = __osViNext->control & 0xfffeffff; - __osViNext->control = __osViNext->control | (__osViNext->modep->comRegs).ctrl & 0x300; - } - __osViNext->state = __osViNext->state | 8; - __osRestoreInt(saveMask); - return; -} - - - -void _bcopy(void *__src,void *__dest,size_t __n) - -{ - undefined uVar1; - undefined2 uVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - undefined4 uVar9; - undefined4 uVar10; - undefined2 *puVar11; - uint uVar12; - undefined *puVar13; - uint uVar14; - undefined *puVar15; - undefined4 *puVar16; - undefined4 *puVar17; - - if ((__n != 0) && (__src != __dest)) { - if (((int)__dest < (int)__src) || ((int)((int)__src + __n) <= (int)__dest)) { - if ((0xf < (int)__n) && (uVar14 = (uint)__src & 3, uVar14 == ((uint)__dest & 3))) { - puVar16 = (undefined4 *)__dest; - if (uVar14 != 0) { - if (uVar14 == 1) { - uVar1 = *(undefined *)__src; - uVar2 = *(undefined2 *)((int)__src + 1); - __src = (void *)((int)__src + 3); - puVar16 = (undefined4 *)((int)__dest + 3); - __n -= 3; - *(undefined *)__dest = uVar1; - *(undefined2 *)((int)__dest + 1) = uVar2; - } - else { - if (uVar14 == 2) { - uVar2 = *(undefined2 *)__src; - __src = (void *)((int)__src + 2); - __n -= 2; - *(undefined2 *)__dest = uVar2; - puVar16 = (undefined4 *)((int)__dest + 2); - } - else { - uVar1 = *(undefined *)__src; - __src = (void *)((int)__src + 1); - puVar16 = (undefined4 *)((int)__dest + 1); - __n -= 1; - *(undefined *)__dest = uVar1; - } - } - } - while (0x1f < (int)__n) { - uVar10 = *(undefined4 *)__src; - uVar7 = ((undefined4 *)__src)[1]; - uVar8 = ((undefined4 *)__src)[2]; - uVar9 = ((undefined4 *)__src)[3]; - uVar3 = ((undefined4 *)__src)[4]; - uVar4 = ((undefined4 *)__src)[5]; - uVar5 = ((undefined4 *)__src)[6]; - uVar6 = ((undefined4 *)__src)[7]; - __src = (undefined4 *)__src + 8; - __n -= 0x20; - *puVar16 = uVar10; - puVar16[1] = uVar7; - puVar16[2] = uVar8; - puVar16[3] = uVar9; - puVar16[4] = uVar3; - puVar16[5] = uVar4; - puVar16[6] = uVar5; - puVar16[7] = uVar6; - puVar16 = puVar16 + 8; - } - while (__dest = puVar16, 0xf < (int)__n) { - uVar10 = *(undefined4 *)__src; - uVar7 = ((undefined4 *)__src)[1]; - uVar8 = ((undefined4 *)__src)[2]; - uVar9 = ((undefined4 *)__src)[3]; - __src = (undefined4 *)__src + 4; - __n -= 0x10; - *puVar16 = uVar10; - puVar16[1] = uVar7; - puVar16[2] = uVar8; - puVar16[3] = uVar9; - puVar16 = puVar16 + 4; - } - while (3 < (int)__n) { - uVar10 = *(undefined4 *)__src; - __src = (undefined4 *)__src + 1; - __n -= 4; - *(undefined4 *)__dest = uVar10; - __dest = (undefined4 *)__dest + 1; - } - } - if (__n != 0) { - puVar16 = (undefined4 *)((int)__src + __n); - do { - uVar1 = *(undefined *)__src; - __src = (void *)((int)__src + 1); - *(undefined *)__dest = uVar1; - __dest = (undefined4 *)((int)__dest + 1); - } while ((undefined4 *)__src != puVar16); - } - } - else { - uVar14 = (int)__src + __n; - puVar16 = (undefined4 *)((int)__dest + __n); - if ((0xf < (int)__n) && (uVar12 = uVar14 & 3, uVar12 == ((uint)puVar16 & 3))) { - puVar17 = puVar16; - if (uVar12 != 0) { - if (uVar12 == 3) { - puVar13 = (undefined *)(uVar14 - 1); - uVar2 = *(undefined2 *)(uVar14 - 3); - uVar14 -= 3; - puVar17 = (undefined4 *)((int)puVar16 + -3); - __n -= 3; - *(undefined *)((int)puVar16 + -1) = *puVar13; - *(undefined2 *)puVar17 = uVar2; - } - else { - if (uVar12 == 2) { - puVar11 = (undefined2 *)(uVar14 - 2); - uVar14 -= 2; - __n -= 2; - *(undefined2 *)(undefined4 *)((int)puVar16 + -2) = *puVar11; - puVar17 = (undefined4 *)((int)puVar16 + -2); - } - else { - puVar13 = (undefined *)(uVar14 - 1); - uVar14 -= 1; - puVar17 = (undefined4 *)((int)puVar16 + -1); - __n -= 1; - *(undefined *)puVar17 = *puVar13; - } - } - } - while (0x1f < (int)__n) { - puVar16 = (undefined4 *)(uVar14 - 4); - uVar10 = *(undefined4 *)(uVar14 - 8); - uVar7 = *(undefined4 *)(uVar14 - 0xc); - uVar8 = *(undefined4 *)(uVar14 - 0x10); - uVar9 = *(undefined4 *)(uVar14 - 0x14); - uVar3 = *(undefined4 *)(uVar14 - 0x18); - uVar4 = *(undefined4 *)(uVar14 - 0x1c); - uVar5 = *(undefined4 *)(uVar14 - 0x20); - uVar14 -= 0x20; - __n -= 0x20; - puVar17[-1] = *puVar16; - puVar17[-2] = uVar10; - puVar17[-3] = uVar7; - puVar17[-4] = uVar8; - puVar17[-5] = uVar9; - puVar17[-6] = uVar3; - puVar17[-7] = uVar4; - puVar17[-8] = uVar5; - puVar17 = puVar17 + -8; - } - while (puVar16 = puVar17, 0xf < (int)__n) { - puVar16 = (undefined4 *)(uVar14 - 4); - uVar10 = *(undefined4 *)(uVar14 - 8); - uVar7 = *(undefined4 *)(uVar14 - 0xc); - uVar8 = *(undefined4 *)(uVar14 - 0x10); - uVar14 -= 0x10; - __n -= 0x10; - puVar17[-1] = *puVar16; - puVar17[-2] = uVar10; - puVar17[-3] = uVar7; - puVar17[-4] = uVar8; - puVar17 = puVar17 + -4; - } - while (3 < (int)__n) { - puVar17 = (undefined4 *)(uVar14 - 4); - uVar14 -= 4; - __n -= 4; - puVar16[-1] = *puVar17; - puVar16 = puVar16 + -1; - } - } - if (__n != 0) { - puVar15 = (undefined *)(uVar14 - 1); - puVar13 = puVar15 + -__n; - do { - puVar16 = (undefined4 *)((int)puVar16 + -1); - uVar1 = *puVar15; - puVar15 = puVar15 + -1; - *(undefined *)puVar16 = uVar1; - } while (puVar15 != puVar13); - return; - } - } - } - return; -} - - -/* -Unable to decompile 'guPerspectiveF' -Cause: -Low-level Error: Symbol $$undef00000013 extends beyond the end of the address space -*/ - - -void guPerspective(Mtx *m,u16 *perspNorm,float fovy,float aspect,float near,float far,float scale) - -{ - undefined4 unaff_retaddr; - undefined4 in_stack_00000014; - undefined4 in_stack_00000018; - undefined8 in_stack_ffffffb4; - undefined in_stack_ffffffc0 [40]; - - guPerspectiveF((float [4] [4]) - CONCAT2440(CONCAT204(CONCAT128(CONCAT84(CONCAT44(scale,in_stack_00000014), - in_stack_00000018),in_stack_ffffffb4), - unaff_retaddr),in_stack_ffffffc0),(u16 *)&stack0xffffffc0, - near,far,(float)perspNorm,near,far); - guMtxF2L((float [4] [4]) - CONCAT2440(CONCAT204(CONCAT128(CONCAT84(CONCAT44(scale,in_stack_00000014), - in_stack_00000018),in_stack_ffffffb4), - unaff_retaddr),in_stack_ffffffc0),(Mtx *)&stack0xffffffc0); - return; -} - - - -void guMtxF2L(float mf [4] [4],Mtx *m) - -{ - uint *puVar1; - uint *puVar2; - uint *puVar3; - int iVar4; - uint *in_a1_lo; - int iVar5; - Mtx *pabVar6; - float fVar7; - float fVar8; - - iVar5 = 0; - puVar3 = in_a1_lo + 8; - do { - iVar4 = 1; - fVar8 = *(float *)*m; - fVar7 = *(float *)(*m + 4) * 65536.00000000; - puVar1 = in_a1_lo; - puVar2 = puVar3; - pabVar6 = m; - if (true) { - do { - iVar4 += 1; - in_a1_lo = puVar1 + 1; - puVar3 = puVar2 + 1; - *puVar1 = (int)(fVar8 * 65536.00000000) & 0xffff0000U | (int)fVar7 >> 0x10 & 0xffffU - ; - *puVar2 = (int)(fVar8 * 65536.00000000) << 0x10 | (int)fVar7 & 0xffffU; - fVar8 = *(float *)*(Mtx *)(*pabVar6 + 8); - fVar7 = *(float *)(*pabVar6 + 0xc) * 65536.00000000; - puVar1 = in_a1_lo; - puVar2 = puVar3; - pabVar6 = (Mtx *)(*pabVar6 + 8); - } while (iVar4 != 2); - } - *in_a1_lo = (int)(fVar8 * 65536.00000000) & 0xffff0000U | (int)fVar7 >> 0x10 & 0xffffU; - *puVar3 = (int)(fVar8 * 65536.00000000) << 0x10 | (int)fVar7 & 0xffffU; - iVar5 += 1; - m = (Mtx *)(*m + 0x10); - in_a1_lo = in_a1_lo + 1; - puVar3 = puVar3 + 1; - } while (iVar5 != 4); - return; -} - - - -void guMtxIdentF(float mf [4] [4]) - -{ - int iVar1; - undefined4 *in_a0_lo; - - iVar1 = 0; - do { - if (iVar1 == 0) { - *in_a0_lo = 0x3f800000; - } - else { - *in_a0_lo = 0; - } - if (iVar1 == 1) { - in_a0_lo[1] = 0x3f800000; - } - else { - in_a0_lo[1] = 0; - } - if (iVar1 == 2) { - in_a0_lo[2] = 0x3f800000; - } - else { - in_a0_lo[2] = 0; - } - if (iVar1 == 3) { - in_a0_lo[3] = 0x3f800000; - } - else { - in_a0_lo[3] = 0; - } - iVar1 += 1; - in_a0_lo = in_a0_lo + 4; - } while (iVar1 != 4); - return; -} - - - -void guMtxIdent(Mtx *m) - -{ - undefined4 unaff_retaddr; - undefined4 in_stack_ffffffb8; - undefined in_stack_ffffffc0 [56]; - - guMtxIdentF((float [4] [4]) - CONCAT856(CONCAT44(in_stack_ffffffb8,unaff_retaddr),in_stack_ffffffc0)); - guMtxF2L((float [4] [4])CONCAT856(CONCAT44(in_stack_ffffffb8,unaff_retaddr),in_stack_ffffffc0), - (Mtx *)&stack0xffffffc0); - return; -} - - - -void guMtxL2F(float mf_4__4_,Mtx *m) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - uint uVar4; - uint *puVar5; - int iVar6; - uint *in_a1_lo; - int iVar7; - Mtx *pabVar8; - - puVar5 = in_a1_lo + 8; - iVar7 = 0; - do { - iVar6 = 0; - pabVar8 = m; - do { - uVar1 = *puVar5; - uVar2 = *in_a1_lo; - iVar6 += 1; - uVar3 = *puVar5; - uVar4 = *in_a1_lo; - in_a1_lo = in_a1_lo + 1; - puVar5 = puVar5 + 1; - *(float *)*pabVar8 = (float)(uVar1 >> 0x10 | uVar2 & 0xffff0000) / 65536.00000000; - *(float *)(*pabVar8 + 4) = (float)(uVar3 & 0xffff | uVar4 << 0x10) / 65536.00000000; - pabVar8 = (Mtx *)(*pabVar8 + 8); - } while (iVar6 != 2); - iVar7 += 1; - m = (Mtx *)(*m + 0x10); - } while (iVar7 != 4); - return; -} - - - -OSThread * __osGetCurrFaultedThread(void) - -{ - return __osFaultedThread_0; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void __osExceptionPreamble(void) - -{ - __osException(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Unknown calling convention yet parameter storage is locked - -void __osException(void) - -{ - u64 in_at; - undefined8 in_v0; - undefined8 in_v1; - undefined8 in_a0; - undefined8 in_a1; - undefined8 in_a2; - undefined8 in_a3; - u64 in_t0; - u64 in_t1; - u64 in_t2; - uint uVar1; - undefined8 in_t3; - undefined8 in_t4; - undefined8 in_t5; - undefined8 in_t6; - undefined8 in_t7; - undefined8 unaff_s0; - undefined8 unaff_s1; - undefined8 unaff_s2; - undefined8 unaff_s3; - undefined8 unaff_s4; - undefined8 unaff_s5; - undefined8 unaff_s6; - undefined8 unaff_s7; - undefined8 in_t8; - undefined8 in_t9; - OSThread *new; - uint uVar2; - undefined8 unaff_s8; - undefined8 unaff_retaddr; - undefined8 in_f0; - undefined8 in_f2; - undefined8 in_f4; - undefined8 in_f6; - undefined8 in_f8; - undefined8 in_f10; - undefined8 in_f12; - undefined8 in_f14; - undefined8 in_f16; - undefined8 in_f18; - undefined8 unaff_f20; - undefined8 unaff_f22; - undefined8 unaff_f24; - undefined8 unaff_f26; - undefined8 unaff_f28; - undefined8 unaff_f30; - undefined4 in_fcsr; - undefined8 in_hi; - undefined8 in_lo; - undefined auStackX0 [16]; - - new = __osRunningThread; - __osThreadSave.context.pc = Status; - setCopReg(0,CONCAT44(uRegister00002060,Status),(longlong)(int)Status & 0xfffffffffffffffc,0); - __osThreadSave.fp = 0; - __osThreadSave.context._4_8_ = in_at; - __osThreadSave.context._60_8_ = in_t0; - __osThreadSave.context._68_8_ = in_t1; - __osThreadSave.context._76_8_ = in_t2; - *(u64 *)((int)&(__osRunningThread->context).at + 4) = in_at; - *(ulonglong *)&(new->context).pc = - CONCAT44(__osThreadSave.context.pc,__osThreadSave.context.cause); - *(u64 *)((int)&(new->context).t0 + 4) = __osThreadSave.context._60_8_; - *(u64 *)((int)&(new->context).t1 + 4) = __osThreadSave.context._68_8_; - *(u64 *)((int)&(new->context).t2 + 4) = __osThreadSave.context._76_8_; - uVar2 = (new->context).pc; - *(undefined8 *)((int)&(new->context).lo + 4) = in_lo; - *(undefined8 *)((int)&(new->context).v0 + 4) = in_v0; - *(undefined8 *)((int)&(new->context).v1 + 4) = in_v1; - *(undefined8 *)((int)&(new->context).a0 + 4) = in_a0; - *(undefined8 *)((int)&(new->context).a1 + 4) = in_a1; - *(undefined8 *)((int)&(new->context).a2 + 4) = in_a2; - *(undefined8 *)((int)&(new->context).a3 + 4) = in_a3; - *(undefined8 *)((int)&(new->context).t3 + 4) = in_t3; - *(undefined8 *)((int)&(new->context).t4 + 4) = in_t4; - *(undefined8 *)((int)&(new->context).t5 + 4) = in_t5; - *(undefined8 *)((int)&(new->context).t6 + 4) = in_t6; - *(undefined8 *)((int)&(new->context).t7 + 4) = in_t7; - *(undefined8 *)((int)&(new->context).s0 + 4) = unaff_s0; - *(undefined8 *)((int)&(new->context).s1 + 4) = unaff_s1; - *(undefined8 *)((int)&(new->context).s2 + 4) = unaff_s2; - *(undefined8 *)((int)&(new->context).s3 + 4) = unaff_s3; - *(undefined8 *)((int)&(new->context).s4 + 4) = unaff_s4; - *(undefined8 *)((int)&(new->context).s5 + 4) = unaff_s5; - *(undefined8 *)((int)&(new->context).s6 + 4) = unaff_s6; - *(undefined8 *)((int)&(new->context).s7 + 4) = unaff_s7; - *(undefined8 *)((int)&(new->context).t8 + 4) = in_t8; - *(undefined8 *)((int)&(new->context).t9 + 4) = in_t9; - *(undefined8 *)((int)&(new->context).gp + 4) = 0x140; - *(ulonglong *)((int)&(new->context).sp + 4) = ZEXT48(register0x000000ec); - *(undefined8 *)((int)&(new->context).s8 + 4) = unaff_s8; - *(undefined8 *)((int)&(new->context).ra + 4) = unaff_retaddr; - *(undefined8 *)((int)&(new->context).hi + 4) = in_hi; - if ((uVar2 & 0xff00) != 0) { - uVar2 = uVar2 & 0xffff00ff | - uVar2 & 0xff00 | ((uint)__OSGlobalIntMask ^ 0xffffffff) & 0xff00; - (new->context).pc = uVar2; - } - uVar1 = _MI_INTR_MASK_REG; - if (_MI_INTR_MASK_REG != 0) { - uVar1 = _MI_INTR_MASK_REG | - ((uint)__OSGlobalIntMask >> 0x10 ^ 0xffffffff) & 0x3f & (new->context).fpcsr; - } - (new->context).fpcsr = uVar1; - (new->context).cause = EPC; - if (new->fp != 0) { - *(undefined4 *)&(new->context).fp0 = in_fcsr; - *(undefined8 *)((int)&(new->context).fp0 + 4) = in_f0; - *(undefined8 *)((int)&(new->context).fp2 + 4) = in_f2; - *(undefined8 *)((int)&(new->context).fp4 + 4) = in_f4; - *(undefined8 *)((int)&(new->context).fp6 + 4) = in_f6; - *(undefined8 *)((int)&(new->context).fp8 + 4) = in_f8; - *(undefined8 *)((int)&(new->context).fp10 + 4) = in_f10; - *(undefined8 *)((int)&(new->context).fp12 + 4) = in_f12; - *(undefined8 *)((int)&(new->context).fp14 + 4) = in_f14; - *(undefined8 *)((int)&(new->context).fp16 + 4) = in_f16; - *(undefined8 *)((int)&(new->context).fp18 + 4) = in_f18; - *(undefined8 *)((int)&(new->context).fp20 + 4) = unaff_f20; - *(undefined8 *)((int)&(new->context).fp22 + 4) = unaff_f22; - *(undefined8 *)((int)&(new->context).fp24 + 4) = unaff_f24; - *(undefined8 *)((int)&(new->context).fp26 + 4) = unaff_f26; - *(undefined8 *)((int)&(new->context).fp28 + 4) = unaff_f28; - *(undefined8 *)((int)&(new->context).fp30 + 4) = unaff_f30; - } - (new->context).badvaddr = Cause; - new->state = 2; - uVar1 = Cause & 0x7c; - if (uVar1 == 0x24) { - new->flags = 1; - send_mesg(); - if (__osRunQueue->priority <= new->priority) { - FUN_7001067c(); - return; - } - __osEnqueueThread(&__osRunQueue,new); - __osDispatchThread(); - return; - } - if (uVar1 == 0x2c) { - handle_CpU(); - return; - } - if (uVar1 == 0) { - uVar2 = uVar2 & Cause & 0xff00; - uVar1 = uVar2 >> 0xc; - if (uVar1 == 0) { - uVar1 = (uVar2 >> 8) + 0x10; - } - // WARNING: Could not recover jumptable at 0x700103c0. Too many branches - // WARNING: Treating indirect jump as call - (**(code **)((int)&__osIntTable + (uint)*(byte *)((int)&__osIntOffTable + uVar1)))(); - return; - } - __osFaultedThread_0 = new; - new->state = 1; - new->flags = 2; - (new->context).rcp = BadVAddr; - send_mesg(); - __osDispatchThread(); - return; -} - - - -void FUN_7001067c(void) - -{ - OSThread *in_k0_lo; - - *(OSThread **)&in_k0_lo->next = __osRunQueue; - __osRunQueue = in_k0_lo; - __osDispatchThread(); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void send_mesg(void) - -{ - OSThread_s *pOVar1; - int iVar2; - OSThread *list; - int in_a0_lo; - int iVar3; - code *UNRECOVERED_JUMPTABLE; - - list = *(OSThread **)((int)&__OSEventStateTab[0].messageQueue + in_a0_lo); - if (list != NULL) { - pOVar1 = (OSThread_s *)list->queue; - iVar2 = *(int *)&list->state; - if ((int)pOVar1 < iVar2) { - iVar3 = (int)&pOVar1->next + (int)&list->tlnext->next; - if (iVar2 == 0) { - trap(0x1c00); - } - if ((iVar2 == -1) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - *(undefined4 *)(list->id + (iVar3 % iVar2) * 4) = - *(undefined4 *)((int)&__OSEventStateTab[0].message + in_a0_lo); - *(OSThread_s **)&list->queue = (OSThread_s *)((int)&pOVar1->next + 1); - if (list->next->next != NULL) { - list = __osPopThread(list); - __osEnqueueThread(&__osRunQueue,list); - } - } - } - // WARNING: Could not recover jumptable at 0x70010770. Too many branches - // WARNING: Treating indirect jump as call - (*UNRECOVERED_JUMPTABLE)(); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void handle_CpU(void) - -{ - uint uVar1; - uint in_t0_lo; - OSThread *in_k0_lo; - - if ((in_t0_lo & 0x30000000) == 0x10000000) { - uVar1 = (in_k0_lo->context).pc; - in_k0_lo->fp = 1; - (in_k0_lo->context).pc = uVar1 | 0x20000000; - FUN_7001067c(); - return; - } - __osFaultedThread_0 = in_k0_lo; - in_k0_lo->state = 1; - in_k0_lo->flags = 2; - (in_k0_lo->context).rcp = BadVAddr; - send_mesg(); - __osDispatchThread(); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __osEnqueueAndYield(OSThread **queue) - -{ - int iVar1; - OSThread *new; - uint uVar2; - undefined8 unaff_s0; - undefined8 unaff_s1; - undefined8 unaff_s2; - undefined8 unaff_s3; - undefined8 unaff_s4; - undefined8 unaff_s5; - undefined8 unaff_s6; - undefined8 unaff_s7; - uint uVar3; - undefined8 unaff_s8; - undefined8 unaff_retaddr; - undefined8 unaff_f20; - undefined8 unaff_f22; - undefined8 unaff_f24; - undefined8 unaff_f26; - undefined8 unaff_f28; - undefined8 unaff_f30; - undefined4 in_fcsr; - undefined auStackX0 [16]; - - new = __osRunningThread; - iVar1 = __osRunningThread->fp; - (__osRunningThread->context).pc = Status | 2; - *(undefined8 *)((int)&(new->context).s0 + 4) = unaff_s0; - *(undefined8 *)((int)&(new->context).s1 + 4) = unaff_s1; - *(undefined8 *)((int)&(new->context).s2 + 4) = unaff_s2; - *(undefined8 *)((int)&(new->context).s3 + 4) = unaff_s3; - *(undefined8 *)((int)&(new->context).s4 + 4) = unaff_s4; - *(undefined8 *)((int)&(new->context).s5 + 4) = unaff_s5; - *(undefined8 *)((int)&(new->context).s6 + 4) = unaff_s6; - *(undefined8 *)((int)&(new->context).s7 + 4) = unaff_s7; - *(undefined8 *)((int)&(new->context).gp + 4) = 0x140; - *(ulonglong *)((int)&(new->context).sp + 4) = ZEXT48(register0x000000ec); - *(undefined8 *)((int)&(new->context).s8 + 4) = unaff_s8; - *(undefined8 *)((int)&(new->context).ra + 4) = unaff_retaddr; - (new->context).cause = (u32)unaff_retaddr; - if (iVar1 != 0) { - *(undefined8 *)((int)&(new->context).fp20 + 4) = unaff_f20; - *(undefined8 *)((int)&(new->context).fp22 + 4) = unaff_f22; - *(undefined8 *)((int)&(new->context).fp24 + 4) = unaff_f24; - *(undefined8 *)((int)&(new->context).fp26 + 4) = unaff_f26; - *(undefined8 *)((int)&(new->context).fp28 + 4) = unaff_f28; - *(undefined8 *)((int)&(new->context).fp30 + 4) = unaff_f30; - *(undefined4 *)&(new->context).fp0 = in_fcsr; - } - uVar3 = (new->context).pc; - uVar2 = uVar3 & 0xff00; - if (uVar2 != 0) { - (new->context).pc = - uVar3 & 0xffff00ff | uVar2 | ((uint)__OSGlobalIntMask ^ 0xffffffff) & 0xff00; - } - uVar3 = _MI_INTR_MASK_REG; - if (_MI_INTR_MASK_REG != 0) { - uVar3 = _MI_INTR_MASK_REG | - ((uint)__OSGlobalIntMask >> 0x10 ^ 0xffffffff) & 0x3f & (new->context).fpcsr; - } - (new->context).fpcsr = uVar3; - if (queue != NULL) { - __osEnqueueThread(queue,new); - } - __osDispatchThread(); - return; -} - - - -void __osEnqueueThread(OSThread **queue,OSThread *new) - -{ - int iVar1; - OSThread_s *pOVar2; - OSThread *succ; - OSThread *pred; - - iVar1 = (*queue)->priority; - pOVar2 = (OSThread_s *)*queue; - pred = (OSThread *)queue; - while (succ = (OSThread *)pOVar2, new->priority <= iVar1) { - pOVar2 = succ->next; - iVar1 = pOVar2->priority; - pred = succ; - } - new->next = pred->next; - *(OSThread **)&pred->next = new; - *(OSThread ***)&new->queue = queue; - return; -} - - - -OSThread * __osPopThread(OSThread *list) - -{ - OSThread *pOVar1; - - pOVar1 = (OSThread *)list->next; - list->next = pOVar1->next; - return pOVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 __osDispatchThread(void) - -{ - OSThread *pOVar1; - ulonglong uVar2; - - pOVar1 = __osPopThread((OSThread *)&__osRunQueue); - __osRunningThread = pOVar1; - pOVar1->state = 4; - uVar2 = SEXT48((int)(pOVar1->context).pc); - setCopReg(0,Status,uVar2 & 0xffffffffffff00ff | - uVar2 & 0xff00 & (longlong)(int)__OSGlobalIntMask & 0xff00U,0); - setCopReg(0,EPC,(longlong)(int)(pOVar1->context).cause,0); - _MI_INTR_MASK_REG = - (uint)__osRcpImTable[(pOVar1->context).fpcsr & (uint)__OSGlobalIntMask >> 0x10]; - return *(undefined8 *)((int)&(pOVar1->context).v0 + 4); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 __osDispatchThreadSave(void) - -{ - int in_k0_lo; - - setCopReg(0,Status,(longlong)*(int *)(in_k0_lo + 0x118) & 0xffffffffffff00ffU | - (longlong)*(int *)(in_k0_lo + 0x118) & 0xff00U & - (longlong)(int)__OSGlobalIntMask & 0xff00U,0); - setCopReg(0,EPC,(longlong)*(int *)(in_k0_lo + 0x11c),0); - _MI_INTR_MASK_REG = - (uint)__osRcpImTable[*(uint *)(in_k0_lo + 0x128) & (uint)__OSGlobalIntMask >> 0x10]; - return *(undefined8 *)(in_k0_lo + 0x28); -} - - - -void __osCleanupThread(void) - -{ - int *piVar1; - longlong lVar2; - longlong lVar3; - longlong extraout_a0; - longlong extraout_a1; - - osDestroyThread(NULL); - piVar1 = (int *)*(int *)extraout_a0; - lVar3 = extraout_a0; - while( true ) { - lVar2 = (longlong)(int)piVar1; - if (lVar2 == 0) { - return; - } - if (lVar2 == extraout_a1) break; - piVar1 = (int *)*piVar1; - lVar3 = lVar2; - } - *(undefined4 *)lVar3 = *(undefined4 *)extraout_a1; - return; -} - - - -void __osDequeueThread(OSThread **queue,OSThread *t) - -{ - OSThread *pOVar1; - OSThread *pOVar2; - - pOVar2 = *queue; - while( true ) { - pOVar1 = pOVar2; - if (pOVar1 == NULL) { - return; - } - if (pOVar1 == t) break; - pOVar2 = (OSThread *)pOVar1->next; - queue = (OSThread **)pOVar1; - } - ((OSThread *)queue)->next = t->next; - return; -} - - - -void osYieldThread(void) - -{ - u32 mask; - - mask = __osDisableInt(); - __osRunningThread->state = 2; - __osEnqueueAndYield(&__osRunQueue); - __osRestoreInt(mask); - return; -} - - - -void osInvalDCache(void *addr,int nbytes) - -{ - bool bVar1; - ulonglong uVar2; - ulonglong uVar3; - - uVar2 = SEXT48((int)addr); - if (0 < nbytes) { - if (0x1fff < (uint)nbytes) { - uVar2 = 0xffffffff80000000; - do { - cacheOp(1,uVar2); - bVar1 = uVar2 < 0xffffffff80001ff0; - uVar2 = SEXT48((int)uVar2 + 0x10); - } while (bVar1); - return; - } - if (uVar2 < (ulonglong)(longlong)((int)addr + nbytes)) { - uVar3._4_4_ = (int)addr + nbytes + -0x10; - uVar3 = SEXT48(uVar3._4_4_); - if ((uVar2 & 0xf) != 0) { - addr = (void *)((int)addr - (int)(uVar2 & 0xf)); - cacheOp(0x15,(longlong)(int)addr); - if (uVar3 <= (ulonglong)(longlong)(int)addr) { - return; - } - uVar2 = SEXT48((int)addr + 0x10); - } - if ((uVar3 & 0xf) != 0) { - uVar3 = SEXT48(uVar3._4_4_ - (int)(uVar3 & 0xf)); - cacheOp(0x15,uVar3 + 0x10); - if (uVar3 < uVar2) { - return; - } - } - do { - cacheOp(0x11,uVar2); - bVar1 = uVar2 < uVar3; - uVar2 = SEXT48((int)uVar2 + 0x10); - } while (bVar1); - } - } - return; -} - - - -void osWritebackDCache(void *addr,s32 nbytes) - -{ - bool bVar1; - ulonglong uVar2; - void *pvVar3; - - if (0 < nbytes) { - if (0x1fff < (uint)nbytes) { - uVar2 = 0xffffffff80000000; - do { - cacheOp(1,uVar2); - bVar1 = uVar2 < 0xffffffff80001ff0; - uVar2 = SEXT48((int)uVar2 + 0x10); - } while (bVar1); - return; - } - if (addr < (void *)((int)addr + nbytes)) { - pvVar3 = (void *)((int)addr - ((uint)addr & 0xf)); - do { - uVar2 = SEXT48((int)pvVar3); - cacheOp(0x19,uVar2); - pvVar3 = (void *)((int)pvVar3 + 0x10); - } while (uVar2 < (ulonglong)(longlong)((int)(void *)((int)addr + nbytes) + -0x10)); - } - } - return; -} - - - -int osSetTimer(OSTimer *t,OSTime value,OSTime interval,OSMesgQueue *mq,OSMesg msg) - -{ - OSTime tim; - undefined4 in_stack_00000014; - OSMesgQueue *in_stack_00000018; - OSMesg in_stack_0000001c; - - t->next = NULL; - t->prev = NULL; - *(undefined4 *)((int)&t->interval + 4) = in_stack_00000014; - *(OSMesg *)&t->interval = msg; - if (((int)interval == 0) && (mq == NULL)) { - *(OSMesg *)&t->value = msg; - *(undefined4 *)((int)&t->value + 4) = in_stack_00000014; - } - else { - *(int *)&t->value = (int)interval; - *(OSMesgQueue **)((int)&t->value + 4) = mq; - } - t->mq = in_stack_00000018; - t->msg = in_stack_0000001c; - tim = __osInsertTimer(t); - if (__osTimerList->next == (OSTimer_s *)t) { - __osSetTimerIntr((longlong)(int)tim); - } - return 0; -} - - - -void alHeapInit(ALHeap *hp,u8 *base,s32 len) - -{ - int iVar1; - - iVar1 = 0x10 - ((uint)base & 0xf); - if (iVar1 == 0x10) { - hp->base = base; - } - else { - hp->base = base + iVar1; - } - hp->len = len; - hp->count = 0; - hp->cur = hp->base; - return; -} - - - -void removed_70010D70(void) - -{ - return; -} - - - -void removed_70010D78(void) - -{ - return; -} - - - -void _bnkfPatchInst(ALInstrument *inst,s32 offset,s32 table) - -{ - int iVar1; - longlong lVar2; - ALInstrument *pAVar3; - int in_a3_lo; - ALSound *pAVar5; - longlong lVar4; - ALWaveTable *pAVar6; - - if (inst->flags == '\0') { - inst->flags = '\x01'; - lVar2 = 0; - if (0 < inst->soundCount) { - pAVar5 = inst->soundArray[0]; - pAVar3 = inst; - do { - pAVar5 = (ALSound *)((int)&pAVar5->envelope + offset); - pAVar3->soundArray[0] = pAVar5; - if (pAVar5->flags == '\0') { - pAVar5->flags = '\x01'; - pAVar5->envelope = (ALEnvelope *)((int)&pAVar5->envelope->attackTime + offset); - pAVar6 = (ALWaveTable *)((int)&pAVar5->wavetable->base + offset); - pAVar5->keyMap = (ALKeyMap *)(&pAVar5->keyMap->velocityMin + offset); - pAVar5->wavetable = pAVar6; - if (pAVar6->flags == '\0') { - pAVar6->flags = '\x01'; - pAVar6->base = pAVar6->base + in_a3_lo; - if (pAVar6->type == '\0') { - iVar1 = *(int *)((int)&pAVar6->waveInfo + 2); - *(int *)((int)&pAVar6->waveInfo + 6) = - *(int *)((int)&pAVar6->waveInfo + 6) + offset; - if (iVar1 != 0) { - *(int *)((int)&pAVar6->waveInfo + 2) = iVar1 + offset; - } - } - else { - if (pAVar6->type != '\x01') { - lVar4 = (longlong)inst->soundCount; - goto LAB_70010e50; - } - iVar1 = *(int *)((int)&pAVar6->waveInfo + 2); - if (iVar1 != 0) { - *(int *)((int)&pAVar6->waveInfo + 2) = iVar1 + offset; - } - } - lVar4 = (longlong)inst->soundCount; - } - else { - lVar4 = (longlong)inst->soundCount; - } - } - else { - lVar4 = (longlong)inst->soundCount; - } -LAB_70010e50: - lVar2 = (longlong)((int)lVar2 + 1); - if (lVar4 <= lVar2) { - return; - } - pAVar5 = *(ALSound **)(pAVar3 + 1); - pAVar3 = (ALInstrument *)&pAVar3->tremType; - } while( true ); - } - } - return; -} - - - -void removed_70010E6C(void) - -{ - return; -} - - - -void alBnkfNew(ALBankFile *file,char *table) - -{ - ALInstrument *inst; - s32 in_a2_lo; - s32 extraout_a2_lo; - s32 extraout_a2_lo_00; - int iVar1; - longlong lVar2; - int iVar3; - longlong lVar4; - ALBankFile *pAVar5; - longlong lVar6; - ALBank *pAVar7; - longlong lVar8; - int iVar9; - - if ((file->revision != 0x4231) || (lVar6 = 0, file->bankCount < 1)) { - return; - } - pAVar7 = file->bankArray[0]; - pAVar5 = file; - do { - pAVar7 = (ALBank *)((int)&file->revision + (int)&pAVar7->instCount); - lVar8 = (longlong)(int)pAVar7; - pAVar5->bankArray[0] = pAVar7; - if (lVar8 == 0) { -LAB_70010f40: - lVar8 = (longlong)file->bankCount; - } - else { - if (pAVar7->flags == '\0') { - pAVar7->flags = '\x01'; - lVar2 = 0; - inst = (ALInstrument *)((int)&file->revision + (int)&pAVar7->percussion->volume); - if (pAVar7->percussion != NULL) { - pAVar7->percussion = inst; - _bnkfPatchInst(inst,(s32)file,in_a2_lo); - in_a2_lo = extraout_a2_lo; - } - if (0 < *(short *)lVar8) { - iVar9 = *(int *)((short *)lVar8 + 6); - lVar4 = lVar8; - while( true ) { - iVar1 = (int)lVar8; - iVar3 = (int)lVar2; - inst = (ALInstrument *)((int)&file->revision + iVar9); - *(ALInstrument **)(iVar1 + 0xc) = inst; - if (inst != NULL) { - _bnkfPatchInst(inst,(s32)file,in_a2_lo); - in_a2_lo = extraout_a2_lo_00; - } - lVar2 = (longlong)(iVar3 + 1); - lVar8 = (longlong)(iVar1 + 4); - if (*(short *)lVar4 <= lVar2) break; - iVar9 = *(int *)(iVar1 + 0x10); - } - goto LAB_70010f40; - } - lVar8 = (longlong)file->bankCount; - } - else { - lVar8 = (longlong)file->bankCount; - } - } - lVar6 = (longlong)((int)lVar6 + 1); - if (lVar8 <= lVar6) { - return; - } - pAVar7 = *(ALBank **)(pAVar5 + 1); - pAVar5 = (ALBankFile *)pAVar5->bankArray; - } while( true ); -} - - - -void alSeqFileNew(ALSeqFile *file,u8 *base) - -{ - longlong lVar1; - ALSeqFile *pAVar2; - u8 *puVar3; - - lVar1 = 0; - if (0 < file->seqCount) { - puVar3 = file->seqArray[0].offset; - pAVar2 = file; - while( true ) { - lVar1 = (longlong)((int)lVar1 + 1); - pAVar2->seqArray[0].offset = base + (int)puVar3; - if (file->seqCount <= lVar1) break; - puVar3 = *(u8 **)(pAVar2 + 1); - pAVar2 = (ALSeqFile *)&pAVar2->seqArray[0].len; - } - } - return; -} - - - -void __CSPPostNextSeqEvent(ALCSPlayer *seqp) - -{ - char cVar1; - int deltaTicks; - ALEvent evt; - - if (seqp->state == 1) { - if ((seqp->target != NULL) && - (cVar1 = __alCSeqNextDelta(seqp->target,&deltaTicks), cVar1 != '\0')) { - evt.type = 0; - alEvtqPostEvent((ALEventQueue *)&(seqp->evtq).freeList.prev,&evt,seqp->uspt * deltaTicks - ); - } - } - return; -} - - - -void __setUsptFromTempo(ALCSPlayer *seqp,f32 tempo) - -{ - if (seqp->target == NULL) { - seqp->uspt = 0x1e8; - return; - } - seqp->uspt = (int)((float)tempo * (float)seqp->target->qnpt); - return; -} - - - -void proc_70011064(void) - -{ - return; -} - - - -void __CSPRepostEvent(ALEventQueue *evtq,ALEventListItem *item) - -{ - int iVar1; - ALLink_s *pAVar2; - ALLink_s *pAVar3; - ALLink_s *pAVar4; - ulonglong mask; - ALLink_s *pAVar5; - ALLink_s *b; - ALLink *b_00; - ALLink *a; - ALCSPlayer *unaff_s7_lo; - - b_00 = NULL; - if ((*(char *)&item->delta == -1) && (*(char *)((int)&item->delta + 1) == 'Q')) { - iVar1 = unaff_s7_lo->uspt; - __setUsptFromTempo(unaff_s7_lo, - (f32)(float)((uint)*(byte *)((int)&item->delta + 3) << 0x10 | - (uint)*(byte *)&(item->evt).type << 8 | - (uint)*(byte *)((int)&(item->evt).type + 1))); - pAVar2 = (ALLink_s *)(unaff_s7_lo->evtq).allocList.prev; - pAVar5 = NULL; - while (a = (ALLink *)pAVar2, a != NULL) { - pAVar2 = a->next; - b = (ALLink_s *)((int)&(a[1].next)->next + (int)&pAVar5->next); - pAVar5 = b; - if (*(short *)&a[1].prev == 0x15) { - alUnlink(a); - if (b_00 == NULL) { - a->next = NULL; - a->prev = NULL; - b_00 = a; - } - else { - alLink(a,b_00); - } - if (pAVar2 != NULL) { - pAVar5 = (ALLink_s *)((int)b - (int)a[1].next); - pAVar2[1].next = - (ALLink_s *)((int)&(a[1].next)->next + (int)&(pAVar2[1].next)->next); - } - a[1].next = b; - } - } - if (b_00 != NULL) { - a = (ALLink *)&(unaff_s7_lo->evtq).allocList.prev; - do { - pAVar2 = b_00->next; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (b_00[1].next == (ALLink_s *)0x80000000)) { - trap(0x1800); - } - b_00[1].next = (ALLink_s *)(unaff_s7_lo->uspt * ((int)b_00[1].next / iVar1)); - mask._4_4_ = osSetIntMask(1); - if (unaff_s7_lo != (ALCSPlayer *)0xffffffb0) { - pAVar5 = a->next; - b = (ALLink_s *)a; - while (pAVar5 != NULL) { - pAVar3 = b_00[1].next; - pAVar4 = pAVar5[1].next; - if ((int)pAVar3 < (int)pAVar4) { - pAVar5[1].next = (ALLink_s *)((int)pAVar4 - (int)pAVar3); - alLink(b_00,(ALLink *)b); - goto LAB_7001121c; - } - b_00[1].next = (ALLink_s *)((int)pAVar3 - (int)pAVar4); - b = ((ALLink *)b)->next; - if (b == NULL) goto LAB_7001121c; - pAVar5 = b->next; - } - alLink(b_00,(ALLink *)b); - } -LAB_7001121c: - osSetIntMask(mask._4_4_); - b_00 = (ALLink *)pAVar2; - } while (pAVar2 != NULL); - } - } - return; -} - - - -void __CSPHandleMIDIMsg(ALCSPlayer *seqp,ALEvent *event) - -{ - byte bVar1; - byte fxmix; - char cVar2; - int iVar3; - int iVar4; - ALMicroTime delta; - int t; - int **ppiVar6; - longlong lVar5; - undefined2 uVar8; - undefined4 *puVar7; - s16 volume; - uint uVar9; - ALVoice *voice; - byte bVar10; - int in_t0_lo; - ulonglong uVar11; - int unaff_s2_lo; - ALEventQueue *evtq; - uint uVar12; - f32 pitch; - float fVar13; - float fVar14; - undefined uVar16; - float fVar15; - f32 pitch_00; - f32 extraout_f12; - f32 extraout_f12_00; - undefined4 auStack92 [2]; - float afStack84 [4]; - ALVoiceConfig config [4]; - s16 sStack44; - ALVoice *pAStack40; - uint uStack36; - byte bStack32; - - bVar1 = *(byte *)(in_t0_lo + 9); - fxmix = *(byte *)(in_t0_lo + 10); - uVar9 = (uint)*(byte *)(in_t0_lo + 8) & 0xf0; - uVar11 = (ulonglong)*(byte *)(in_t0_lo + 8) & 0xf; - if (0x60 < uVar9 - 0x80) { - return; - } - uVar12 = (uint)uVar11; - bVar10 = (byte)uVar11; - switch(uVar9) { - case 0x80: - goto LAB_70011624; - case 0x90: - if (fxmix != 0) { - if (*(int *)(unaff_s2_lo + 0x2c) != 1) { - return; - } - ppiVar6 = (int **)__lookupSoundQuick(unaff_s2_lo,bVar1,fxmix,uVar12); - if (ppiVar6 == NULL) { - return; - } - t = uVar12 * 0x10; - config[0].fxBus = 0; - config[0].unityPitch = '\0'; - config[0].priority = ZEXT12(*(byte *)(*(int *)(unaff_s2_lo + 0x60) + t + 8)); - puVar7 = ___mapVoice(unaff_s2_lo,bVar1,fxmix,bVar10); - if (puVar7 == NULL) { - return; - } - voice = (ALVoice *)(puVar7 + 1); - alSynAllocVoice(*(ALSynth **)(unaff_s2_lo + 0x14),voice,config); - *(int ***)(puVar7 + 8) = ppiVar6; - *(undefined *)(puVar7 + 0xd) = 0; - if (*(byte *)(*(int *)(unaff_s2_lo + 0x60) + t + 0xb) < 0x40) { - *(undefined *)((int)puVar7 + 0x35) = 0; - } - else { - *(undefined *)((int)puVar7 + 0x35) = 2; - } - pitch = alCents2Ratio((int)((((uint)bVar1 - (uint)*(byte *)(ppiVar6[1] + 1)) * 100 + - (int)*(char *)((int)ppiVar6[1] + 5)) * 0x10000) >> 0x10); - *(f32 *)(puVar7 + 10) = pitch; - *(undefined *)(puVar7 + 0xc) = *(undefined *)(*ppiVar6 + 3); - iVar3 = *(int *)(unaff_s2_lo + 0x1c); - iVar4 = **ppiVar6; - *(undefined *)((int)puVar7 + 0x37) = 0; - puVar7[9] = iVar3 + iVar4; - iVar3 = *(int *)(*(int *)(unaff_s2_lo + 0x60) + t); - afStack84[0] = 127.00000000; - if (((*(byte *)(iVar3 + 4) != 0) && (*(code **)(unaff_s2_lo + 0x70) != NULL)) && - (lVar5 = (**(code **)(unaff_s2_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar3 + 4), - (ulonglong)*(byte *)(iVar3 + 5),(uint)*(byte *)(iVar3 + 6), - (uint)*(byte *)(iVar3 + 7)), lVar5 != 0)) { - sStack44 = 0x16; - uStack36 = auStack92[0]; - pAStack40 = (ALVoice *)puVar7; - alEvtqPostEvent((ALEventQueue *)(unaff_s2_lo + 0x48),(ALEvent *)&sStack44, - (ALMicroTime)lVar5); - *(byte *)((int)puVar7 + 0x37) = *(byte *)((int)puVar7 + 0x37) | 1; - } - if (false) { - fVar13 = ROUND(afStack84[0]); - } - else { - fVar13 = FLOOR(afStack84[0]); - } - uVar16 = (undefined)(int)fVar13; - if (false) { - if (false) { - fVar13 = ROUND(afStack84[0] - 2147483648.00000000); - } - else { - fVar13 = FLOOR(afStack84[0] - 2147483648.00000000); - } - if (true) { - uVar16 = (undefined)(int)fVar13; - goto LAB_70011490; - } - } - else { - if (-1 < (int)fVar13) goto LAB_70011490; - } - uVar16 = 0xff; -LAB_70011490: - *(undefined *)((int)puVar7 + 0x36) = uVar16; - afStack84[0] = 1.00000000; - evtq = (ALEventQueue *)(unaff_s2_lo + 0x48); - if (((*(byte *)(iVar3 + 8) != 0) && (*(code **)(unaff_s2_lo + 0x70) != NULL)) && - (lVar5 = (**(code **)(unaff_s2_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar3 + 8), - (ulonglong)*(byte *)(iVar3 + 9),(uint)*(byte *)(iVar3 + 10), - (uint)*(byte *)(iVar3 + 0xb)), lVar5 != 0)) { - sStack44 = 0x17; - uStack36 = auStack92[0]; - pAStack40 = (ALVoice *)puVar7; - bStack32 = bVar10; - alEvtqPostEvent(evtq,(ALEvent *)&sStack44,(ALMicroTime)lVar5); - *(byte *)((int)puVar7 + 0x37) = *(byte *)((int)puVar7 + 0x37) | 2; - } - fVar15 = (float)puVar7[10]; - *(float *)(puVar7 + 0xb) = afStack84[0]; - fVar13 = (float)puVar7[0xb]; - t = *(int *)(unaff_s2_lo + 0x60) + t; - fVar14 = *(float *)(t + 0xc); - fxmix = *(byte *)(t + 10); - uVar9 = __vsPan((int)puVar7,unaff_s2_lo); - uVar8 = __vsVol((int)puVar7,unaff_s2_lo); - delta = **ppiVar6; - alSynStartVoiceParams - (*(ALSynth **)(unaff_s2_lo + 0x14),voice,(ALWaveTable *)ppiVar6[2],pitch_00, - SUB42(fVar14 * fVar15 * fVar13,0),(ALPan)uVar8,(u8)uVar9,(uint)fxmix); - sStack44 = 6; - bStack32 = *(undefined *)((int)*ppiVar6 + 0xd); - uStack36 = (*ppiVar6)[1]; - pAStack40 = voice; - alEvtqPostEvent(evtq,(ALEvent *)&sStack44,delta); - if (*(int *)(in_t0_lo + 0xc) == 0) { - return; - } - sStack44 = 0x15; - uStack36 = (uint)bVar10 << 0x18 | 0x80000000 | - (uint)CONCAT12(bVar1,(short)uStack36) & 0xffff00ff; - alEvtqPostEvent(evtq,(ALEvent *)&sStack44, - *(int *)(unaff_s2_lo + 0x24) * *(int *)(in_t0_lo + 0xc)); - return; - } -LAB_70011624: - puVar7 = ___lookupVoice(unaff_s2_lo,bVar1,bVar10); - if (puVar7 != NULL) { - if (*(char *)((int)puVar7 + 0x35) == '\x02') { - *(undefined *)((int)puVar7 + 0x35) = 4; - } - else { - *(undefined *)((int)puVar7 + 0x35) = 3; - __seqpReleaseVoice(unaff_s2_lo,puVar7 + 1,*(int **)(*(int *)puVar7[8] + 8)); - } - } - break; - case 0xa0: - puVar7 = ___lookupVoice(unaff_s2_lo,bVar1,bVar10); - if (puVar7 != NULL) { - *(byte *)((int)puVar7 + 0x33) = fxmix; - volume = __vsVol((int)puVar7,unaff_s2_lo); - t = __vsDelta((int)puVar7,*(int *)(unaff_s2_lo + 0x1c)); - alSynSetVol(*(ALSynth **)(unaff_s2_lo + 0x14),(ALVoice *)(puVar7 + 1),volume,t); - } - break; - case 0xb0: - if (bVar1 == 7) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar12 * 0x10 + 9) = fxmix; - puVar7 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar7 != NULL) { - bVar1 = *(byte *)((int)puVar7 + 0x31); - while( true ) { - if (uVar11 == (ulonglong)bVar1) { - if (*(char *)(puVar7 + 0xd) == '\x03') { - puVar7 = (undefined4 *)*puVar7; - } - else { - volume = __vsVol((int)puVar7,unaff_s2_lo); - t = __vsDelta((int)puVar7,*(int *)(unaff_s2_lo + 0x1c)); - alSynSetVol(*(ALSynth **)(unaff_s2_lo + 0x14),(ALVoice *)(puVar7 + 1), - volume,t); - puVar7 = (undefined4 *)*puVar7; - } - } - else { - puVar7 = (undefined4 *)*puVar7; - } - if (puVar7 == NULL) break; - bVar1 = *(byte *)((int)puVar7 + 0x31); - } - } - } - else { - if (bVar1 == 10) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar12 * 0x10 + 7) = fxmix; - puVar7 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar7 != NULL) { - bVar1 = *(byte *)((int)puVar7 + 0x31); - while( true ) { - if (uVar11 == (ulonglong)bVar1) { - uVar9 = __vsPan((int)puVar7,unaff_s2_lo); - alSynSetPan(*(ALSynth **)(unaff_s2_lo + 0x14),(ALVoice *)(puVar7 + 1), - (u8)uVar9); - puVar7 = (undefined4 *)*puVar7; - } - else { - puVar7 = (undefined4 *)*puVar7; - } - if (puVar7 == NULL) break; - bVar1 = *(byte *)((int)puVar7 + 0x31); - } - } - } - else { - if (bVar1 == 0x10) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar12 * 0x10 + 8) = fxmix; - } - else { - if (bVar1 == 0x40) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar12 * 0x10 + 0xb) = fxmix; - puVar7 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar7 != NULL) { - bVar1 = *(byte *)((int)puVar7 + 0x31); - do { - if (uVar11 == (ulonglong)bVar1) { - cVar2 = *(char *)((int)puVar7 + 0x35); - if (cVar2 == '\x03') { - puVar7 = (undefined4 *)*puVar7; - } - else { - if (fxmix < 0x40) { - if (cVar2 == '\x02') { - *(undefined *)((int)puVar7 + 0x35) = 0; - } - else { - if (cVar2 != '\x04') { - puVar7 = (undefined4 *)*puVar7; - goto LAB_70011928; - } - *(undefined *)((int)puVar7 + 0x35) = 3; - __seqpReleaseVoice(unaff_s2_lo,puVar7 + 1, - *(int **)(*(int *)puVar7[8] + 8)) - ; - } - } - else { - if (cVar2 != '\0') { - puVar7 = (undefined4 *)*puVar7; - goto LAB_70011928; - } - *(undefined *)((int)puVar7 + 0x35) = 2; - } - puVar7 = (undefined4 *)*puVar7; - } - } - else { - puVar7 = (undefined4 *)*puVar7; - } -LAB_70011928: - if (puVar7 == NULL) { - return; - } - bVar1 = *(byte *)((int)puVar7 + 0x31); - } while( true ); - } - } - else { - if (bVar1 == 0x5b) { - *(byte *)(*(int *)(unaff_s2_lo + 0x60) + uVar12 * 0x10 + 10) = fxmix; - puVar7 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar7 != NULL) { - bVar1 = *(byte *)((int)puVar7 + 0x31); - while( true ) { - if (uVar11 == (ulonglong)bVar1) { - alSynSetFXMix(*(ALSynth **)(unaff_s2_lo + 0x14), - (ALVoice *)(puVar7 + 1),fxmix); - puVar7 = (undefined4 *)*puVar7; - } - else { - puVar7 = (undefined4 *)*puVar7; - } - if (puVar7 == NULL) break; - bVar1 = *(byte *)((int)puVar7 + 0x31); - } - } - } - } - } - } - } - break; - case 0xc0: - if ((longlong)(ulonglong)bVar1 < (longlong)**(short **)(unaff_s2_lo + 0x20)) { - __setInstChanState(unaff_s2_lo, - *(undefined **) - (*(short **)(unaff_s2_lo + 0x20) + (uint)bVar1 * 2 + 6),uVar12); - } - break; - case 0xd0: - puVar7 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar7 != NULL) { - fxmix = *(byte *)((int)puVar7 + 0x31); - while( true ) { - if (uVar11 == (ulonglong)fxmix) { - *(byte *)((int)puVar7 + 0x33) = bVar1; - volume = __vsVol((int)puVar7,unaff_s2_lo); - t = __vsDelta((int)puVar7,*(int *)(unaff_s2_lo + 0x1c)); - alSynSetVol(*(ALSynth **)(unaff_s2_lo + 0x14),(ALVoice *)(puVar7 + 1),volume,t); - puVar7 = (undefined4 *)*puVar7; - } - else { - puVar7 = (undefined4 *)*puVar7; - } - if (puVar7 == NULL) break; - fxmix = *(byte *)((int)puVar7 + 0x31); - } - } - break; - case 0xe0: - t = (int)*(short *)(*(int *)(unaff_s2_lo + 0x60) + uVar12 * 0x10 + 4) * - ((uint)fxmix * 0x80 + (uint)bVar1 + -0x2000); - if (t < 0) { - t += 0x1fff; - } - pitch = alCents2Ratio(t >> 0xd); - *(f32 *)(*(int *)(unaff_s2_lo + 0x60) + uVar12 * 0x10 + 0xc) = pitch; - puVar7 = *(undefined4 **)(unaff_s2_lo + 100); - if (puVar7 != NULL) { - bVar1 = *(byte *)((int)puVar7 + 0x31); - pitch = extraout_f12; - while( true ) { - if (uVar11 == (ulonglong)bVar1) { - alSynSetPitch(*(ALSynth **)(unaff_s2_lo + 0x14),(ALVoice *)(puVar7 + 1),pitch); - puVar7 = (undefined4 *)*puVar7; - pitch = extraout_f12_00; - } - else { - puVar7 = (undefined4 *)*puVar7; - } - if (puVar7 == NULL) break; - bVar1 = *(byte *)((int)puVar7 + 0x31); - } - } - } - return; -} - - - -void proc_70011A64(void) - -{ - return; -} - - - -void __CSPHandleNextSeqEvent(ALCSPlayer *seqp) - -{ - void *oscState; - ALVoiceState *pAVar1; - ALBank *pAVar2; - float fVar3; - ALCSPlayer *seqp_00; - s16 volume; - int t; - int t_00; - longlong lVar4; - ALMicroTime delta; - ALCSPlayer *seqp_01; - longlong extraout_a0; - undefined8 in_a1; - ALEvent *event; - undefined8 extraout_a1; - undefined8 in_a2; - undefined8 extraout_a2; - ALEventListItem *item; - ALVoice *v; - longlong lVar5; - ALEventQueue *evtq; - undefined uVar6; - f32 pitch; - undefined2 uStack72; - float fStack40; - s16 sStack20; - int iStack16; - void *pvStack12; - undefined uStack8; - - lVar4 = (longlong)(int)seqp; - item = (ALEventListItem *)&(seqp->nextEvent).msg; - evtq = (ALEventQueue *)&(seqp->evtq).freeList.prev; - lVar5 = lVar4; - do { - seqp_00 = (ALCSPlayer *)lVar5; - if (true) { - switch(*(undefined2 *)&(seqp_00->nextEvent).msg) { - case 0: - if ((seqp_00->target != NULL) && - (__alCSeqGetTrackEvent(seqp_00->target,(u32)&uStack72,(ALEvent *)in_a2), true)) { - switch(uStack72) { - case 1: - __CSPHandleMIDIMsg(seqp_01,event); - lVar5 = (longlong)(int)seqp_00; - __CSPPostNextSeqEvent(seqp_00); - break; - case 3: - __CSPRepostEvent((ALEventQueue *)seqp_01,&uStack72); - lVar5 = (longlong)(int)seqp_00; - __CSPPostNextSeqEvent(seqp_00); - break; - case 4: - seqp_00->state = 2; - uStack72 = 0x10; - alEvtqPostEvent(evtq,(ALEvent *)&uStack72,0x7fffffff); - break; - case 0x12: - case 0x13: - case 0x14: - __CSPPostNextSeqEvent(seqp_00); - } - } - break; - case 2: - case 0x15: - __CSPHandleMIDIMsg((ALCSPlayer *)lVar4,(ALEvent *)in_a1); - lVar5 = (longlong)(int)seqp_00; - break; - case 5: - v = *(ALVoice **)((int)&(seqp_00->nextEvent).msg + 4); - alSynStopVoice(seqp_00->drvr,v); - alSynFreeVoice(seqp_00->drvr,v); - if (*(char *)((int)v->clientPrivate + 0x37) != '\0') { - __seqpStopOsc((int)seqp_00,(int *)v->clientPrivate); - } - __unmapVoice((int)seqp_00,(int)v); - break; - case 6: - v = *(ALVoice **)((int)&(seqp_00->nextEvent).msg + 4); - oscState = v->clientPrivate; - if (*(char *)((int)oscState + 0x34) == '\0') { - *(undefined *)((int)oscState + 0x34) = 1; - t_00 = *(int *)((int)&(seqp_00->nextEvent).msg + 8); - } - else { - t_00 = *(int *)((int)&(seqp_00->nextEvent).msg + 8); - } - *(int *)((int)oscState + 0x24) = seqp_00->curTime + t_00; - *(undefined *)((int)oscState + 0x30) = *(undefined *)&(seqp_00->evtq).freeList.next; - volume = __vsVol((int)oscState,(int)seqp_00); - alSynSetVol(seqp_00->drvr,v,volume,t_00); - break; - case 7: - __CSPRepostEvent((ALEventQueue *)(ALCSPlayer *)lVar4,item); - lVar5 = (longlong)(int)seqp_00; - break; - case 9: - sStack20 = 9; - alEvtqPostEvent(evtq,(ALEvent *)&sStack20,(ALMicroTime)seqp_00->chanState); - break; - case 10: - pAVar1 = seqp_00->vAllocTail; - seqp_00->vol = *(s16 *)((int)&(seqp_00->nextEvent).msg + 4); - while (pAVar1 != NULL) { - volume = __vsVol((int)pAVar1,(int)seqp_00); - t_00 = __vsDelta((int)pAVar1,seqp_00->curTime); - alSynSetVol(seqp_00->drvr,&pAVar1->voice,volume,t_00); - pAVar1 = (ALVoiceState *)pAVar1->next; - } - break; - case 0xc: - *(undefined *) - &(&(seqp_00->vAllocHead->voice).node) - [(uint)*(byte *)((int)&(seqp_00->nextEvent).msg + 4) * 2].prev = - *(undefined *)((int)&(seqp_00->nextEvent).msg + 5); - break; - case 0xd: - seqp_00->target = *(ALCSeq **)((int)&(seqp_00->nextEvent).msg + 4); - __setUsptFromTempo(seqp_00,(f32)flt_800296C4); - if (seqp_00->bank != NULL) { - __initFromBank((int)seqp_00,(int)seqp_00->bank); - } - break; - case 0xe: - pAVar2 = *(ALBank **)((int)&(seqp_00->nextEvent).msg + 4); - seqp_00->bank = pAVar2; - __initFromBank((int)seqp_00,(int)pAVar2); - break; - case 0xf: - if (seqp_00->state != 1) { - seqp_00->state = 1; - __CSPPostNextSeqEvent(seqp_00); - } - break; - case 0x10: - if (seqp_00->state == 2) { - pAVar1 = seqp_00->vAllocTail; - while (pAVar1 != NULL) { - v = &pAVar1->voice; - alSynStopVoice(seqp_00->drvr,v); - alSynFreeVoice(seqp_00->drvr,v); - if (pAVar1->flags != '\0') { - __seqpStopOsc((int)seqp_00,(int *)pAVar1); - } - __unmapVoice((int)seqp_00,(int)v); - pAVar1 = seqp_00->vAllocTail; - } - seqp_00->state = 0; - } - break; - case 0x11: - if (seqp_00->state == 1) { - alEvtqFlushType(evtq,0); - alEvtqFlushType(evtq,0x15); - alEvtqFlushType(evtq,2); - pAVar1 = seqp_00->vAllocTail; - while (pAVar1 != NULL) { - lVar4 = __voiceNeedsNoteKill((int)seqp_00,(int *)&pAVar1->voice,50000); - if (lVar4 != 0) { - __seqpReleaseVoice((int)seqp_00,(int *)&pAVar1->voice,(int *)0xc350); - } - pAVar1 = (ALVoiceState *)pAVar1->next; - } - seqp_00->state = 2; - sStack20 = 0x10; - alEvtqPostEvent(evtq,(ALEvent *)&sStack20,0x7fffffff); - } - break; - case 0x16: - oscState = *(void **)((int)&(seqp_00->nextEvent).msg + 8); - t_00 = *(int *)((int)&(seqp_00->nextEvent).msg + 4); - delta = (*seqp_00->stopOsc)(oscState); - if (false) { - fVar3 = ROUND(fStack40); - } - else { - fVar3 = FLOOR(fStack40); - } - uVar6 = (undefined)(int)fVar3; - if (false) { - if (false) { - fVar3 = ROUND(fStack40 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(fStack40 - 2147483648.00000000); - } - if (false) goto LAB_70011cf8; - uVar6 = (undefined)(int)fVar3; - } - else { - if ((int)fVar3 < 0) { -LAB_70011cf8: - uVar6 = 0xff; - } - } - *(undefined *)(t_00 + 0x36) = uVar6; - volume = __vsVol(t_00,(int)seqp_00); - t = __vsDelta(t_00,seqp_00->curTime); - alSynSetVol(seqp_00->drvr,(ALVoice *)(t_00 + 4),volume,t); - sStack20 = 0x16; - iStack16 = t_00; - pvStack12 = oscState; - alEvtqPostEvent(evtq,(ALEvent *)&sStack20,delta); - break; - case 0x17: - oscState = *(void **)((int)&(seqp_00->nextEvent).msg + 8); - t_00 = *(int *)((int)&(seqp_00->nextEvent).msg + 4); - uVar6 = *(undefined *)&(seqp_00->evtq).freeList.next; - delta = (*seqp_00->stopOsc)(oscState); - *(float *)(t_00 + 0x2c) = fStack40; - alSynSetPitch(seqp_00->drvr,(ALVoice *)(t_00 + 4),pitch); - sStack20 = 0x17; - iStack16 = t_00; - pvStack12 = oscState; - uStack8 = uVar6; - alEvtqPostEvent(evtq,(ALEvent *)&sStack20,delta); - } - } - delta = alEvtqNextEvent(evtq,(ALEvent *)item); - t_00 = (int)lVar5; - *(ALMicroTime *)(t_00 + 0x28) = delta; - lVar4 = extraout_a0; - in_a1 = extraout_a1; - in_a2 = extraout_a2; - if (delta != 0) { - *(int *)(t_00 + 0x1c) = *(int *)(t_00 + 0x1c) + delta; - return; - } - } while( true ); -} - - - -void alCSPNew(ALCSPlayer *seqp,ALSeqpConfig *c) - -{ - ALHeap *hp; - ALPlayer_s *pAVar1; - ALGlobals *pAVar2; - ALVoiceState *in_v0_lo; - ALVoiceState *pAVar3; - int iVar4; - ALLink_s *pAVar5; - - hp = c->heap; - seqp->bank = NULL; - seqp->target = NULL; - pAVar2 = slg; - seqp->chanMask = 0xff; - seqp->uspt = 0x1e8; - seqp->nextDelta = 0; - seqp->state = 0; - seqp->vol = 0x7fff; - seqp->chanState = (ALChanState *)0x3e80; - seqp->curTime = 0; - *(ALGlobals **)&seqp->drvr = pAVar2; - seqp->updateOsc = c->initOsc; - seqp->stopOsc = c->updateOsc; - pAVar1 = (ALPlayer_s *)c->stopOsc; - *(undefined2 *)&(seqp->nextEvent).msg = 9; - seqp[1].node.next = pAVar1; - seqp->maxChannels = c->maxChannels; - _alHeapDBAlloc(NULL,0,hp,(uint)c->maxChannels,0x10); - seqp->vAllocHead = in_v0_lo; - __initChanState((int)seqp); - _alHeapDBAlloc(NULL,0,hp,c->maxVoices,0x38); - seqp->initOsc = NULL; - iVar4 = 0; - if (0 < c->maxVoices) { - pAVar5 = (ALLink_s *)seqp->initOsc; - pAVar3 = in_v0_lo; - while( true ) { - iVar4 += 1; - ((ALLink *)&pAVar3->next)->next = pAVar5; - *(ALVoiceState **)&seqp->initOsc = pAVar3; - pAVar3 = pAVar3 + 1; - if (c->maxVoices <= iVar4) break; - pAVar5 = (ALLink_s *)seqp->initOsc; - } - } - seqp->vAllocTail = NULL; - seqp->vFreeList = NULL; - _alHeapDBAlloc(NULL,0,hp,c->maxEvents,0x1c); - alEvtqNew((ALEventQueue *)&(seqp->evtq).freeList.prev,(ALEventListItem *)in_v0_lo,c->maxEvents); - (seqp->node).next = NULL; - (seqp->node).handler = __CSPHandleNextSeqEvent; - *(ALCSPlayer **)&(seqp->node).clientData = seqp; - alSynAddPlayer((ALSynth *)slg,(ALPlayer *)seqp); - return; -} - - - -void alCSPSetBank(ALCSPlayer *seqp,ALBank *b) - -{ - ALEvent evt; - - evt.type = 0xe; - evt.msg._2_4_ = b; - alEvtqPostEvent((ALEventQueue *)&(seqp->evtq).freeList.prev,&evt,0); - return; -} - - - -s32 alCSPGetState(ALCSPlayer *seqp) - -{ - return seqp->state; -} - - - -void alCSeqGetLoc(ALCSeq *seq,ALCSeqMarker *marker) - -{ - int i; - ALCSeqMarker *m; - ALCSeq *pAVar1; - - marker->validTracks = seq->validTracks; - i = 0; - marker->lastTicks = seq->lastTicks; - marker->lastDeltaTicks = seq->lastDeltaTicks; - pAVar1 = seq; - m = marker; - do { - i += 2; - marker->curLoc[0] = seq->curLoc[0]; - marker->curBUPtr[0] = seq->curBUPtr[0]; - m->curBULen[0] = pAVar1->curBULen[0]; - m->lastStatus[0] = pAVar1->lastStatus[0]; - marker->evtDeltaTicks[0] = seq->evtDeltaTicks[0]; - marker->curLoc[1] = seq->curLoc[1]; - marker->curBUPtr[1] = seq->curBUPtr[1]; - m->curBULen[1] = pAVar1->curBULen[1]; - m->lastStatus[1] = pAVar1->lastStatus[1]; - marker->evtDeltaTicks[1] = seq->evtDeltaTicks[1]; - seq = (ALCSeq *)&seq->qnpt; - pAVar1 = (ALCSeq *)((int)&pAVar1->base + 2); - marker = (ALCSeqMarker *)&marker->lastDeltaTicks; - m = (ALCSeqMarker *)((int)&m->validTracks + 2); - } while (i != 0x10); - return; -} - - - -void alCSeqSetLoc(ALCSeq *seq,ALCSeqMarker *m) - -{ - int i; - ALCSeq *pAVar1; - ALCSeqMarker *pAVar2; - - seq->validTracks = m->validTracks; - i = 0; - seq->lastTicks = m->lastTicks; - seq->lastDeltaTicks = m->lastDeltaTicks; - pAVar2 = m; - pAVar1 = seq; - do { - i += 2; - seq->curLoc[0] = m->curLoc[0]; - seq->curBUPtr[0] = m->curBUPtr[0]; - pAVar1->curBULen[0] = pAVar2->curBULen[0]; - pAVar1->lastStatus[0] = pAVar2->lastStatus[0]; - seq->evtDeltaTicks[0] = m->evtDeltaTicks[0]; - seq->curLoc[1] = m->curLoc[1]; - seq->curBUPtr[1] = m->curBUPtr[1]; - pAVar1->curBULen[1] = pAVar2->curBULen[1]; - pAVar1->lastStatus[1] = pAVar2->lastStatus[1]; - seq->evtDeltaTicks[1] = m->evtDeltaTicks[1]; - m = (ALCSeqMarker *)&m->lastDeltaTicks; - pAVar2 = (ALCSeqMarker *)((int)&pAVar2->validTracks + 2); - seq = (ALCSeq *)&seq->qnpt; - pAVar1 = (ALCSeq *)((int)&pAVar1->base + 2); - } while (i != 0x10); - return; -} - - - -u8 __getTrackByte(ALCSeq *seq,u32 track) - -{ - byte bVar1; - byte bVar2; - undefined uVar3; - ALCMidiHdr *pAVar4; - int iVar5; - u8 uVar6; - ALCMidiHdr **ppAVar7; - ALCMidiHdr *pAVar8; - ALCMidiHdr *pAVar9; - - iVar5 = (int)&seq->base + track; - ppAVar7 = &seq->base + track; - if (*(char *)(iVar5 + 0x98) == '\0') { - pAVar4 = ppAVar7[6]; - uVar6 = *(u8 *)pAVar4->trackOffset; - pAVar8 = (ALCMidiHdr *)((int)pAVar4->trackOffset + 1); - ppAVar7[6] = pAVar8; - if (uVar6 == -2) { - bVar1 = *(byte *)pAVar8->trackOffset; - pAVar9 = (ALCMidiHdr *)((int)pAVar4->trackOffset + 2); - ppAVar7[6] = pAVar9; - pAVar8 = (ALCMidiHdr *)((int)pAVar4->trackOffset + 3); - if (bVar1 != 0xfe) { - bVar2 = *(byte *)pAVar9->trackOffset; - ppAVar7[6] = pAVar8; - uVar3 = *(undefined *)pAVar8->trackOffset; - ppAVar7[6] = (ALCMidiHdr *)(pAVar4->trackOffset + 1); - ppAVar7[0x16] = - (ALCMidiHdr *) - ((int)(ALCMidiHdr *)(pAVar4->trackOffset + 1) + - (-4 - ((uint)bVar1 * 0x100 + (uint)bVar2))); - *(undefined *)(iVar5 + 0x98) = uVar3; - uVar6 = *(u8 *)ppAVar7[0x16]->trackOffset; - ppAVar7[0x16] = (ALCMidiHdr *)((int)ppAVar7[0x16]->trackOffset + 1); - *(char *)(iVar5 + 0x98) = *(char *)(iVar5 + 0x98) + -1; - } - } - return uVar6; - } - pAVar4 = (&seq->base + track)[0x16]; - uVar6 = *(u8 *)pAVar4->trackOffset; - (&seq->base + track)[0x16] = (ALCMidiHdr *)((int)pAVar4->trackOffset + 1); - *(char *)(iVar5 + 0x98) = *(char *)(iVar5 + 0x98) + -1; - return uVar6; -} - - - -u32 __readVarLen(ALCSeq *seq,u32 track) - -{ - u8 uVar1; - u8 c; - ulonglong uVar2; - int iVar3; - u32 value; - undefined8 _seq; - undefined8 in_t3; - - uVar1 = __getTrackByte((ALCSeq *)_seq,(u32)in_t3); - value = SEXT14((char)uVar1); - if (((longlong)(char)uVar1 & 0x80U) != 0) { - uVar2 = (longlong)(char)uVar1 & 0x7f; - do { - iVar3 = (int)uVar2; - c = __getTrackByte((ALCSeq *)_seq,(u32)in_t3); - value = iVar3 * 0x80 + ((int)(char)c & 0x7fU); - uVar2 = SEXT48((int)value); - } while (((longlong)(char)c & 0x80U) != 0); - } - return value; -} - - - -void proc_7001249C(void) - -{ - return; -} - - - -u32 __alCSeqGetTrackEvent(ALCSeq *seq,u32 track,ALEvent *event) - -{ - u32 uVar1; - u8 uVar3; - u8 uVar4; - byte *pbVar2; - ALCSeq *extraout_a0_lo; - ALCSeq *extraout_a0_lo_00; - ALCSeq *extraout_a0_lo_01; - ALCSeq *extraout_a0_lo_02; - ALCSeq *extraout_a0_lo_03; - ALCSeq *seq_00; - ALCSeq *extraout_a0_lo_04; - ALCSeq *seq_01; - u32 extraout_a1_lo; - u32 extraout_a1_lo_00; - u32 extraout_a1_lo_01; - u32 extraout_a1_lo_02; - u32 track_00; - u32 extraout_a1_lo_03; - u32 track_01; - u32 extraout_a1_lo_04; - ALCMidiHdr *pAVar5; - ALCMidiHdr *pAVar6; - ALCMidiHdr **ppAVar7; - u32 uVar8; - uint uVar9; - byte bVar10; - u32 uStack12; - - track_00 = seq->lastDeltaTicks; - uVar9 = 0; - uVar8 = seq->validTracks; - pAVar5 = (ALCMidiHdr *)0xffffffff; - while( true ) { - pAVar6 = pAVar5; - uVar1 = uStack12; - if ((uVar8 >> (uVar9 & 0x1f) & 1) != 0) { - ppAVar7 = &seq->base + uVar9; - if (seq->deltaFlag == 0) { - pAVar6 = ppAVar7[0x2e]; - } - else { - ppAVar7[0x2e] = (ALCMidiHdr *)((int)ppAVar7[0x2e] - track_00); - pAVar6 = ppAVar7[0x2e]; - } - uVar1 = uVar9; - if (pAVar5 <= pAVar6) { - pAVar6 = pAVar5; - uVar1 = uStack12; - } - } - uStack12 = uVar1; - uVar9 += 1; - if (uVar9 == 0x10) break; - uVar8 = seq->validTracks; - pAVar5 = pAVar6; - } - uVar3 = __getTrackByte(seq,uStack12); - if ((longlong)(char)uVar3 == 0xff) { - uVar4 = __getTrackByte(seq,uStack12); - pbVar2 = (byte *)(int)(char)uVar4; - if (uVar4 == 'Q') { - *(undefined2 *)track = 3; - *(u8 *)(track + 8) = uVar3; - *(undefined *)(track + 9) = 0x51; - uVar3 = __getTrackByte(seq,uStack12); - *(u8 *)(track + 0xb) = uVar3; - uVar3 = __getTrackByte(seq,uStack12); - *(u8 *)(track + 0xc) = uVar3; - uVar3 = __getTrackByte(seq,uStack12); - pbVar2 = (byte *)(int)(char)uVar3; - *(u8 *)(track + 0xd) = uVar3; - seq->lastStatus[uStack12] = '\0'; - seq_01 = extraout_a0_lo_01; - track_00 = extraout_a1_lo_01; - } - else { - track_00 = extraout_a1_lo_00; - if (uVar4 == '/') { - uVar9 = seq->validTracks ^ 1 << (uStack12 & 0x1f); - seq->validTracks = uVar9; - seq_01 = extraout_a0_lo_00; - if (uVar9 == 0) { - *(undefined2 *)track = 4; - } - else { - *(undefined2 *)track = 0x12; - } - } - else { - if (uVar4 == '.') { - __getTrackByte(seq,uStack12); - uVar3 = __getTrackByte(seq,uStack12); - pbVar2 = (byte *)(int)(char)uVar3; - seq->lastStatus[uStack12] = '\0'; - *(undefined2 *)track = 0x13; - seq_01 = extraout_a0_lo_02; - track_00 = extraout_a1_lo_02; - } - else { - seq_01 = seq; - if (uVar4 == '-') { - ppAVar7 = &seq->base + uStack12; - pAVar5 = ppAVar7[6]; - bVar10 = *(byte *)((int)pAVar5->trackOffset + 1); - seq_01 = (ALCSeq *)(uint)bVar10; - pbVar2 = (byte *)((int)pAVar5->trackOffset + 1); - track_00 = (u32)*(byte *)pAVar5->trackOffset; - if (bVar10 == 0) { - *pbVar2 = *(byte *)pAVar5->trackOffset; - ppAVar7[6] = (ALCMidiHdr *)((int)pAVar5->trackOffset + 6); - } - else { - if (bVar10 != 0xff) { - *pbVar2 = bVar10 - 1; - } - pbVar2 = (byte *)((int)pAVar5->trackOffset + 6); - ppAVar7[6] = (ALCMidiHdr *) - (pbVar2 + -((uint)*(byte *)((int)pAVar5->trackOffset + 2) * - 0x1000000 + - (uint)*(byte *)((int)pAVar5->trackOffset + 3) * - 0x10000 + (uint)*(byte *)(pAVar5->trackOffset + - 1) * 0x100 + - (uint)*(byte *)((int)pAVar5->trackOffset + 5))); - } - seq->lastStatus[uStack12] = '\0'; - *(undefined2 *)track = 0x14; - } - } - } - } - } - else { - *(undefined2 *)track = 1; - if (((longlong)(char)uVar3 & 0x80U) == 0) { - uVar4 = seq->lastStatus[uStack12]; - *(u8 *)(track + 9) = uVar3; - *(u8 *)(track + 8) = uVar4; - track_00 = extraout_a1_lo; - seq_01 = extraout_a0_lo; - } - else { - *(u8 *)(track + 8) = uVar3; - uVar4 = __getTrackByte(seq,uStack12); - *(u8 *)(track + 9) = uVar4; - seq->lastStatus[uStack12] = uVar3; - track_00 = extraout_a1_lo_03; - seq_01 = extraout_a0_lo_03; - } - pbVar2 = (byte *)(uint)*(byte *)(track + 8); - bVar10 = *(byte *)(track + 8) & 0xf0; - if ((bVar10 == 0xc0) || (seq_01 = seq, bVar10 == 0xd0)) { - *(undefined *)(track + 10) = 0; - } - else { - uVar3 = __getTrackByte(seq,uStack12); - pbVar2 = (byte *)(int)(char)uVar3; - *(u8 *)(track + 10) = uVar3; - seq_01 = seq_00; - track_00 = track_01; - if ((*(byte *)(track + 8) & 0xf0) == 0x90) { - pbVar2 = (byte *)__readVarLen(seq_00,track_01); - *(byte **)(track + 0xc) = pbVar2; - seq_01 = extraout_a0_lo_04; - track_00 = extraout_a1_lo_04; - } - } - } - *(ALCMidiHdr **)(track + 4) = pAVar6; - *(ALCMidiHdr **)&seq->lastDeltaTicks = pAVar6; - seq->lastTicks = (int)pAVar6->trackOffset + seq->lastTicks; - if (*(short *)track != 0x12) { - ppAVar7 = &seq->base + uStack12; - pbVar2 = (byte *)__readVarLen(seq_01,track_00); - ppAVar7[0x2e] = (ALCMidiHdr *)(pbVar2 + (int)ppAVar7[0x2e]); - } - seq->deltaFlag = 1; - return (u32)pbVar2; -} - - - -void alCSeqNew(ALCSeq *seq,u8 *ptr) - -{ - int iVar1; - int iVar2; - u32 uVar3; - longlong lVar4; - longlong extraout_a0; - longlong lVar5; - longlong extraout_a1; - int iVar7; - longlong lVar6; - uint uVar8; - longlong lVar9; - int iVar10; - uint in_register_00001020; - float fVar11; - - lVar5 = (longlong)(int)ptr; - lVar4 = (longlong)(int)seq; - *(u8 **)&seq->base = ptr; - seq->validTracks = 0; - seq->lastDeltaTicks = 0; - seq->lastTicks = 0; - seq->deltaFlag = 1; - iVar10 = 0; - uVar8 = 0; - lVar6 = lVar4; - lVar9 = lVar4; - do { - iVar7 = (int)lVar6; - iVar2 = (int)lVar9; - *(undefined *)(iVar2 + 0xa8) = 0; - *(undefined4 *)(iVar7 + 0x58) = 0; - *(undefined *)(iVar2 + 0x98) = 0; - iVar1 = *(int *)((int)seq->base->trackOffset + iVar10); - if (iVar1 == 0) { - *(undefined4 *)(iVar7 + 0x18) = 0; - } - else { - seq->validTracks = seq->validTracks | 1 << (uVar8 & 0x1f); - *(u8 **)(iVar7 + 0x18) = ptr + iVar1; - uVar3 = __readVarLen((ALCSeq *)lVar4,(u32)lVar5); - *(u32 *)(iVar7 + 0xb8) = uVar3; - lVar4 = extraout_a0; - lVar5 = extraout_a1; - } - uVar8 += 1; - lVar9 = (longlong)(iVar2 + 1); - iVar10 += 4; - lVar6 = (longlong)(iVar7 + 4); - } while (uVar8 != 0x10); - uVar3 = seq->base->division; - fVar11 = (float)uVar3; - if ((int)uVar3 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - *(float *)&seq->qnpt = - (float)((double)((ulonglong)in_register_00001020 << 0x20) / (double)fVar11); - return; -} - - - -void alCSeqNewMarker(ALCSeq *seq,ALCSeqMarker *m,u32 ticks) - -{ - ALCSeqMarker *pAVar1; - undefined *puVar2; - undefined *puVar3; - undefined *puVar4; - ALCSeqMarker *pAVar5; - undefined8 extraout_a2; - undefined8 uVar6; - undefined8 extraout_a2_00; - undefined auStack264 [4]; - u32 uStack260; - uint uStack252; - u32 uStack248; - u8 *puStack240; - u32 uStack236; - u8 *apuStack232 [14]; - u8 *apuStack176 [16]; - undefined auStack112 [32]; - u32 auStack80 [16]; - short asStack16 [8]; - - alCSeqNew((ALCSeq *)auStack264,(u8 *)seq->base); - uVar6 = extraout_a2; - do { - m->validTracks = uStack260; - m->lastTicks = uStack252; - m->lastDeltaTicks = uStack248; - puVar2 = auStack264; - puVar3 = auStack264; - pAVar1 = m; - pAVar5 = m; - do { - puVar4 = puVar3 + 4; - pAVar1->curLoc[0] = *(u8 **)(puVar2 + 0x18); - pAVar1->curBUPtr[0] = *(u8 **)(puVar2 + 0x58); - pAVar5->curBULen[0] = puVar3[0x98]; - pAVar5->lastStatus[0] = puVar3[0xa8]; - pAVar1->evtDeltaTicks[0] = *(u32 *)(puVar2 + 0xb8); - ((ALCSeqMarker *)(pAVar1->curLoc + 1))->validTracks = *(u32 *)(puVar2 + 0x1c); - pAVar1->curBUPtr[1] = *(u8 **)(puVar2 + 0x5c); - pAVar5->curBULen[1] = puVar3[0x99]; - pAVar5->lastStatus[1] = puVar3[0xa9]; - pAVar1->evtDeltaTicks[1] = *(u32 *)(puVar2 + 0xbc); - pAVar1->curLoc[2] = *(u8 **)(puVar2 + 0x20); - pAVar1->curBUPtr[2] = *(u8 **)(puVar2 + 0x60); - pAVar5->curBULen[2] = puVar3[0x9a]; - pAVar5->lastStatus[2] = puVar3[0xaa]; - pAVar1->evtDeltaTicks[2] = *(u32 *)(puVar2 + 0xc0); - pAVar1->curLoc[3] = *(u8 **)(puVar2 + 0x24); - pAVar1->curBUPtr[3] = *(u8 **)(puVar2 + 100); - pAVar5->curBULen[3] = puVar3[0x9b]; - pAVar5->lastStatus[3] = puVar3[0xab]; - pAVar1->evtDeltaTicks[3] = *(u32 *)(puVar2 + 0xc4); - puVar2 = puVar2 + 0x10; - puVar3 = puVar4; - pAVar1 = (ALCSeqMarker *)(pAVar1->curLoc + 1); - pAVar5 = (ALCSeqMarker *)&pAVar5->lastTicks; - } while (puVar4 != auStack264 + 0x10); - __alCSeqGetTrackEvent((ALCSeq *)auStack264,(u32)asStack16,(ALEvent *)uVar6); - } while ((asStack16[0] != 4) && (uVar6 = extraout_a2_00, uStack252 < ticks)); - return; -} - - - -s32 alCSeqGetTicks(ALCSeq *seq) - -{ - return (s32)seq->lastTicks; -} - - - -u32 alCSeqSecToTicks(ALCSeq *seq,f32 sec,u32 tempo) - -{ - u32 uVar1; - double dVar2; - int in_a2_hi; - int in_a2_lo; - double dVar3; - double dVar4; - uint in_register_00001090; - - uVar1 = seq->base->division; - dVar4 = (double)uVar1; - if ((int)uVar1 < 0) { - dVar4 = dVar4 + (double)((ulonglong)in_register_00001090 << 0x20); - } - dVar3 = (double)in_a2_lo; - if (in_a2_hi < 0) { - dVar3 = dVar3 + (double)((ulonglong)in_register_00001090 << 0x20); - } - dVar3 = ((double)(float)tempo * dbl_800296D0 * dVar4) / dVar3; - if (false) { - dVar2 = ROUND(dVar3); - } - else { - dVar2 = FLOOR(dVar3); - } - if (false) { - dVar3 = dVar3 - (double)((ulonglong)dVar4 & 0xffffffff00000000); - if (false) { - dVar3 = ROUND(dVar3); - } - else { - dVar3 = FLOOR(dVar3); - } - if (true) { - return (u32)((int)dVar3 | 0x80000000); - } - } - else { - if (-1 < (int)dVar2) { - return (u32)(int)dVar2; - } - } - return 0xffffffff; -} - - - -f32 alCSeqTicksToSec(ALCSeq *seq,s32 ticks,u32 tempo) - -{ - u32 uVar1; - float fVar2; - float fVar3; - - fVar2 = (float)tempo; - if ((int)tempo < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - uVar1 = seq->base->division; - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - return (f32)(float)((double)((float)ticks * fVar2) / ((double)fVar3 * dbl_800296D8)); -} - - - -char __alCSeqNextDelta(ALCSeq *seq,s32 *pDeltaTicks) - -{ - u32 lastticks; - ALCMidiHdr *pAVar1; - ALCMidiHdr *firstTime; - uint uVar2; - ALCMidiHdr **ppAVar3; - uint uVar4; - uint uVar5; - - firstTime = (ALCMidiHdr *)0xffffffff; - lastticks = seq->lastDeltaTicks; - if (seq->validTracks == 0) { - return '\0'; - } - uVar2 = 0; - uVar5 = seq->validTracks; - do { - uVar4 = uVar2 + 1; - if ((uVar5 >> (uVar2 & 0x1f) & 1) == 0) { - uVar4 = uVar5 >> (uVar4 & 0x1f); - pAVar1 = firstTime; - } - else { - ppAVar3 = &seq->base + uVar2; - if (seq->deltaFlag == 0) { - pAVar1 = ppAVar3[0x2e]; - } - else { - ppAVar3[0x2e] = (ALCMidiHdr *)((int)ppAVar3[0x2e] - lastticks); - uVar5 = seq->validTracks; - pAVar1 = ppAVar3[0x2e]; - } - if (pAVar1 < firstTime) { - uVar4 = uVar5 >> (uVar4 & 0x1f); - } - else { - uVar4 = uVar5 >> (uVar4 & 0x1f); - pAVar1 = firstTime; - } - } - firstTime = pAVar1; - if ((uVar4 & 1) == 0) { -LAB_70012c48: - uVar4 = uVar5 >> (uVar2 + 2 & 0x1f); - } - else { - ppAVar3 = &seq->base + uVar2; - if (seq->deltaFlag == 0) { - firstTime = ppAVar3[0x2f]; - } - else { - ppAVar3[0x2f] = (ALCMidiHdr *)((int)ppAVar3[0x2f] - lastticks); - uVar5 = seq->validTracks; - firstTime = ppAVar3[0x2f]; - } - if (firstTime < pAVar1) goto LAB_70012c48; - uVar4 = uVar5 >> (uVar2 + 2 & 0x1f); - firstTime = pAVar1; - } - pAVar1 = firstTime; - if ((uVar4 & 1) == 0) { -LAB_70012c90: - uVar5 >>= uVar2 + 3 & 0x1f; - } - else { - ppAVar3 = &seq->base + uVar2; - if (seq->deltaFlag == 0) { - pAVar1 = ppAVar3[0x30]; - } - else { - ppAVar3[0x30] = (ALCMidiHdr *)((int)ppAVar3[0x30] - lastticks); - uVar5 = seq->validTracks; - pAVar1 = ppAVar3[0x30]; - } - if (pAVar1 < firstTime) goto LAB_70012c90; - uVar5 >>= uVar2 + 3 & 0x1f; - pAVar1 = firstTime; - } - firstTime = pAVar1; - if ((uVar5 & 1) != 0) { - ppAVar3 = &seq->base + uVar2; - if (seq->deltaFlag == 0) { - firstTime = ppAVar3[0x31]; - } - else { - ppAVar3[0x31] = (ALCMidiHdr *)((int)ppAVar3[0x31] - lastticks); - firstTime = ppAVar3[0x31]; - } - if (pAVar1 <= firstTime) { - firstTime = pAVar1; - } - } - uVar2 += 4; - if (uVar2 == 0x10) { - seq->deltaFlag = 0; - *(ALCMidiHdr **)pDeltaTicks = firstTime; - return '\x01'; - } - uVar5 = seq->validTracks; - } while( true ); -} - - - -void alCSPSetSeq(ALCSPlayer *seqp,ALCSeq *seq) - -{ - s16 sStack16; - ALCSeq *pAStack12; - - sStack16 = 0xd; - pAStack12 = seq; - alEvtqPostEvent((ALEventQueue *)&(seqp->evtq).freeList.prev,(ALEvent *)&sStack16,0); - return; -} - - - -void alCSPPlay(ALCSPlayer *seqp) - -{ - ALEvent AStack16; - - AStack16.type = 0xf; - alEvtqPostEvent((ALEventQueue *)&(seqp->evtq).freeList.prev,&AStack16,0); - return; -} - - - -void alSeqpStop(ALSeqPlayer *seqp) - -{ - ALEvent AStack16; - - AStack16.type = 0x11; - alEvtqPostEvent((ALEventQueue *)&(seqp->evtq).freeList.prev,&AStack16,0); - return; -} - - - -void alCSPSetVol(ALCSPlayer *seqp,s16 vol) - -{ - s16 sStack16; - s16 sStack12; - - sStack16 = 10; - sStack12 = vol; - alEvtqPostEvent((ALEventQueue *)&(seqp->evtq).freeList.prev,(ALEvent *)&sStack16,0); - return; -} - - - -void alEvtqFlushType(ALEventQueue *evtq,s16 type) - -{ - ALLink_s *pAVar1; - ALLink *a; - OSIntMask OVar2; - - OVar2 = osSetIntMask(1); - pAVar1 = (ALLink_s *)(evtq->allocList).next; - while (a = (ALLink *)pAVar1, a != NULL) { - pAVar1 = a->next; - if ((longlong)(int)type == (longlong)*(short *)&a[1].prev) { - if (pAVar1 != NULL) { - pAVar1[1].next = - (ALLink_s *)((int)&(a[1].next)->next + (int)&(pAVar1[1].next)->next); - } - alUnlink(a); - alLink(a,(ALLink *)evtq); - } - } - osSetIntMask(OVar2); - return; -} - - - -void alEvtqFlush(ALEventQueue *evtq) - -{ - OSIntMask mask; - ALLink *thisNode; - ALLink_s *nextNode; - - mask = osSetIntMask(1); - thisNode = (ALLink *)(evtq->allocList).next; - while (thisNode != NULL) { - nextNode = thisNode->next; - alUnlink(thisNode); - alLink(thisNode,(ALLink *)evtq); - thisNode = (ALLink *)nextNode; - } - osSetIntMask(mask); - return; -} - - - -void alEvtqPostEvent(ALEventQueue *evtq,ALEvent *evt,ALMicroTime delta) - -{ - ALLink_s *pAVar1; - OSIntMask mask; - ALLink *b; - int postAtEnd; - ALLink *item; - - postAtEnd = 0; - mask = osSetIntMask(1); - item = (ALLink *)(evtq->freeList).next; - if (item == NULL) { - osSetIntMask(mask); - } - else { - alUnlink(item); - alCopy(evt,&item[1].prev,0x10); - if (delta == 0x7fffffff) { - postAtEnd = -1; - } - b = &evtq->allocList; - if (evtq != (ALEventQueue *)0xfffffff8) { - do { - pAVar1 = b->next; - if (pAVar1 == NULL) { - if (postAtEnd == 0) { - *(ALMicroTime *)&item[1].next = delta; - } - else { - item[1].next = NULL; - } - alLink(item,b); - break; - } - if (delta < (int)pAVar1[1].next) { - *(ALMicroTime *)&item[1].next = delta; - pAVar1[1].next = (ALLink_s *)((int)pAVar1[1].next - delta); - alLink(item,b); - break; - } - delta -= (int)pAVar1[1].next; - b = (ALLink *)pAVar1; - } while (pAVar1 != NULL); - } - osSetIntMask(mask); - } - return; -} - - - -ALMicroTime alEvtqNextEvent(ALEventQueue *evtq,ALEvent *evt) - -{ - ALLink *a; - OSIntMask OVar1; - ALLink_s *pAVar2; - - OVar1 = osSetIntMask(1); - a = (ALLink *)(evtq->allocList).next; - pAVar2 = NULL; - if (a == NULL) { - evt->type = -1; - } - else { - alUnlink(a); - alCopy(&a[1].prev,evt,0x10); - alLink(a,(ALLink *)evtq); - pAVar2 = a[1].next; - } - osSetIntMask(OVar1); - return (ALMicroTime)pAVar2; -} - - - -void alEvtqNew(ALEventQueue *evtq,ALEventListItem *items,s32 itemCount) - -{ - int iVar1; - - evtq->eventCount = 0; - (evtq->allocList).next = NULL; - (evtq->allocList).prev = NULL; - (evtq->freeList).next = NULL; - (evtq->freeList).prev = NULL; - iVar1 = 0; - if (0 < itemCount) { - do { - alLink((ALLink *)items,(ALLink *)evtq); - iVar1 += 1; - items = items + 1; - } while (iVar1 != itemCount); - } - return; -} - - - -void alSynAddPlayer(ALSynth *drvr,ALPlayer *client) - -{ - OSIntMask OVar1; - - OVar1 = osSetIntMask(1); - client->samplesLeft = drvr->curSamples; - *(ALPlayer **)&client->next = drvr->head; - drvr->head = client; - osSetIntMask(OVar1); - return; -} - - - -s32 _allocatePVoice(int param_1,int **param_2,short param_3) - -{ - ALLink *a; - PVoice *pPVar1; - s32 stolen; - longlong lVar2; - PVoice *pv; - - a = *(ALLink **)(param_1 + 0x14); - lVar2 = (longlong)(int)param_3; - stolen = 0; - if (a == NULL) { - a = *(ALLink **)(param_1 + 4); - if (a == NULL) { - pv = *(PVoice **)(param_1 + 0xc); - if ((PVoice **)pv != NULL) { - pPVar1 = ((PVoice **)pv)[2]; - while( true ) { - if (lVar2 < *(short *)(pPVar1 + 0x16)) { - pv = *(PVoice **)pv; - } - else { - if (((PVoice **)pv)[0x36] == NULL) { - *(PVoice **)param_2 = pv; - stolen = 1; - lVar2 = (longlong)*(short *)(((PVoice **)pv)[2] + 0x16); - pv = *(PVoice **)pv; - } - else { - pv = *(PVoice **)pv; - } - } - if (pv == NULL) break; - pPVar1 = *(PVoice **)(pv + 8); - } - } - } - else { - *(ALLink **)param_2 = a; - alUnlink(a); - alLink(a,(ALLink *)(param_1 + 0xc)); - stolen = 0; - } - } - else { - *(ALLink **)param_2 = a; - alUnlink(a); - alLink(a,(ALLink *)(param_1 + 0xc)); - stolen = 0; - } - return stolen; -} - - - -s32 alSynAllocVoice(ALSynth *drvr,ALVoice *voice,ALVoiceConfig *vc) - -{ - byte bVar1; - s16 sVar2; - int iVar3; - s32 sVar4; - int iVar5; - int iVar6; - ALParam AVar7; - int *piStack4; - - piStack4 = NULL; - voice->priority = vc->priority; - bVar1 = vc->unityPitch; - voice->table = NULL; - voice->unityPitch = (ushort)bVar1; - sVar2 = vc->fxBus; - voice->state = 0; - voice->pvoice = NULL; - voice->fxBus = sVar2; - iVar6 = _allocatePVoice((int)drvr,&piStack4,vc->priority); - if (piStack4 != NULL) { - iVar3 = piStack4[3]; - if (iVar6 == 0) { - piStack4[0x36] = 0; - } - else { - piStack4[0x36] = 0x200; - *(undefined4 *)(piStack4[2] + 8) = 0; - AVar7 = ___allocParam(); - sVar4 = drvr->paramSamples; - *(undefined2 *)((int)(char)AVar7 + 8) = 0xb; - *(undefined4 *)((int)(char)AVar7 + 0xc) = 0; - *(s32 *)((int)(char)AVar7 + 4) = sVar4; - *(int *)((int)(char)AVar7 + 0x10) = piStack4[0x36] + -0x40; - (**(code **)(iVar3 + 8))(iVar3,3,AVar7); - AVar7 = ___allocParam(); - if (AVar7 != (ALParam)0x0) { - iVar6 = drvr->paramSamples; - iVar5 = piStack4[0x36]; - *(undefined2 *)((int)(char)AVar7 + 8) = 0xf; - *(undefined4 *)(int)(char)AVar7 = 0; - *(int *)((int)(char)AVar7 + 4) = iVar6 + iVar5; - (**(code **)(iVar3 + 8))(iVar3,3,AVar7); - } - } - *(ALVoice **)(piStack4 + 2) = voice; - *(int **)&voice->pvoice = piStack4; - } - return (s32)(uint)(piStack4 != NULL); -} - - - -void alSynSetVol(ALSynth *synth,ALVoice *v,s16 volume,ALMicroTime t) - -{ - int iVar1; - ALParam AVar3; - int iVar2; - - if ((v->pvoice != NULL) && (AVar3 = ___allocParam(), AVar3 != (ALParam)0x0)) { - iVar2 = synth->paramSamples; - iVar1 = *(int *)(v->pvoice + 0xd8); - *(undefined2 *)((int)(char)AVar3 + 8) = 0xb; - *(int *)((int)(char)AVar3 + 4) = iVar2 + iVar1; - *(int *)((int)(char)AVar3 + 0xc) = (int)volume; - iVar2 = _timeToSamples(synth,t); - ((undefined4 *)(int)(char)AVar3)[4] = iVar2; - *(undefined4 *)(int)(char)AVar3 = 0; - (**(code **)(*(int *)(v->pvoice + 0xc) + 8))(*(int *)(v->pvoice + 0xc),3); - } - return; -} - - - -void alSynStartVoice(ALSynth *synth,ALVoice *voice,ALWaveTable *table) - -{ - int iVar1; - int iVar2; - ALParam AVar3; - - if ((voice->pvoice != NULL) && (AVar3 = ___allocParam(), AVar3 != (ALParam)0x0)) { - iVar1 = synth->paramSamples; - iVar2 = *(int *)(voice->pvoice + 0xd8); - *(undefined2 *)((int)(char)AVar3 + 8) = 0xe; - *(int *)((int)(char)AVar3 + 4) = iVar1 + iVar2; - *(undefined4 *)(int)(char)AVar3 = 0; - *(ALWaveTable **)((int)(char)AVar3 + 0xc) = table; - *(s16 *)((int)(char)AVar3 + 10) = voice->unityPitch; - (**(code **)(*(int *)(voice->pvoice + 0xc) + 8))(*(int *)(voice->pvoice + 0xc),3,AVar3); - } - return; -} - - - -void alSynSetPan(ALSynth *synth,ALVoice *v,u8 pan) - -{ - int iVar1; - int iVar2; - ALParam AVar3; - - if ((v->pvoice != NULL) && (AVar3 = ___allocParam(), AVar3 != (ALParam)0x0)) { - iVar1 = synth->paramSamples; - iVar2 = *(int *)(v->pvoice + 0xd8); - *(undefined2 *)((int)(char)AVar3 + 8) = 0xc; - *(int *)((int)(char)AVar3 + 4) = iVar1 + iVar2; - *(undefined4 *)(int)(char)AVar3 = 0; - *(uint *)((int)(char)AVar3 + 0xc) = (uint)pan; - (**(code **)(*(int *)(v->pvoice + 0xc) + 8))(*(int *)(v->pvoice + 0xc),3,AVar3); - } - return; -} - - - -void alSynSetPitch(ALSynth *synth,ALVoice *v,f32 pitch) - -{ - int iVar1; - int iVar2; - ALParam AVar3; - undefined4 in_a2_lo; - - if ((v->pvoice != NULL) && (AVar3 = ___allocParam(), AVar3 != (ALParam)0x0)) { - iVar1 = synth->paramSamples; - iVar2 = *(int *)(v->pvoice + 0xd8); - *(undefined2 *)((int)(char)AVar3 + 8) = 7; - *(int *)((int)(char)AVar3 + 4) = iVar1 + iVar2; - *(undefined4 *)(int)(char)AVar3 = 0; - *(undefined4 *)((int)(char)AVar3 + 0xc) = in_a2_lo; - (**(code **)(*(int *)(v->pvoice + 0xc) + 8))(*(int *)(v->pvoice + 0xc),3,AVar3); - } - return; -} - - - -void alSynSetFXMix(ALSynth *synth,ALVoice *v,u8 fxmix) - -{ - int iVar1; - int iVar2; - ALParam AVar3; - - if ((v->pvoice != NULL) && (AVar3 = ___allocParam(), AVar3 != (ALParam)0x0)) { - iVar1 = synth->paramSamples; - iVar2 = *(int *)(v->pvoice + 0xd8); - *(undefined2 *)((int)(char)AVar3 + 8) = 0x10; - *(int *)((int)(char)AVar3 + 4) = iVar1 + iVar2; - if ((longlong)(ulonglong)fxmix < 0) { - *(int *)((int)(char)AVar3 + 0xc) = -(uint)fxmix; - } - else { - *(uint *)((int)(char)AVar3 + 0xc) = (uint)fxmix; - } - *(undefined4 *)(int)(char)AVar3 = 0; - (**(code **)(*(int *)(v->pvoice + 0xc) + 8))(*(int *)(v->pvoice + 0xc),3); - } - return; -} - - - -void alSynStopVoice(ALSynth *synth,ALVoice *v) - -{ - int iVar1; - int iVar2; - ALParam AVar3; - - if ((v->pvoice != NULL) && (AVar3 = ___allocParam(), AVar3 != (ALParam)0x0)) { - iVar1 = synth->paramSamples; - iVar2 = *(int *)(v->pvoice + 0xd8); - *(undefined2 *)((int)(char)AVar3 + 8) = 0xf; - *(undefined4 *)(int)(char)AVar3 = 0; - *(int *)((int)(char)AVar3 + 4) = iVar1 + iVar2; - (**(code **)(*(int *)(v->pvoice + 0xc) + 8))(*(int *)(v->pvoice + 0xc),3,AVar3); - } - return; -} - - - -void alSynFreeVoice(ALSynth *drvr,ALVoice *voice) - -{ - PVoice *pvoice; - int iVar1; - int iVar2; - ALParam AVar3; - - pvoice = (PVoice *)voice->pvoice; - if (pvoice != NULL) { - if (*(int *)((pvoice->envmixer).state + 9) == 0) { - _freePVoice(drvr,pvoice); - } - else { - AVar3 = ___allocParam(); - if (AVar3 == (ALParam)0x0) { - return; - } - iVar1 = drvr->paramSamples; - iVar2 = *(int *)(voice->pvoice + 0xd8); - *(undefined2 *)((int)(char)AVar3 + 8) = 0; - *(int *)((int)(char)AVar3 + 4) = iVar1 + iVar2; - *(PVoice_s **)((int)(char)AVar3 + 0xc) = voice->pvoice; - (**(code **)(*(int *)(voice->pvoice + 0xc) + 8))(*(int *)(voice->pvoice + 0xc),3,AVar3); - } - voice->pvoice = NULL; - } - return; -} - - - -// WARNING: Instruction at (ram,0x700137e8) overlaps instruction at (ram,0x700137e4) -// - -f32 alCents2Ratio(s32 cents) - -{ - float fVar1; - uint uVar2; - float fVar3; - - fVar3 = 1.00000000; - fVar1 = flt_800296E0; - if (cents < 0) { - cents = -cents; - fVar1 = flt_800296E4; - } - while (cents != 0) { - uVar2 = cents & 1; - cents >>= 1; - if (uVar2 != 0) { - fVar3 = fVar3 * fVar1; - } - fVar1 = fVar1 * fVar1; - } - return (f32)fVar3; -} - - - -s32 osPiReadIo(u32 devAddr,u32 *data) - -{ - s32 ret; - - __osPiGetAccess(); - ret = osPiRawReadIo(devAddr,data); - __osPiRelAccess(); - return ret; -} - - - -void * memcpy(void *__dest,void *__src,size_t __n) - -{ - undefined uVar1; - undefined *puVar2; - - puVar2 = (undefined *)__dest; - if (__n != 0) { - do { - uVar1 = *(undefined *)__src; - __n -= 1; - __src = (undefined *)__src + 1; - *puVar2 = uVar1; - puVar2 = puVar2 + 1; - } while (__n != 0); - } - return __dest; -} - - - -size_t strlen(char *__s) - -{ - char cVar1; - char *pcVar2; - - pcVar2 = __s; - if (*__s != '\0') { - cVar1 = __s[1]; - pcVar2 = __s; - while (pcVar2 = pcVar2 + 1, cVar1 != '\0') { - cVar1 = pcVar2[2]; - pcVar2 = pcVar2; - } - } - return (size_t)(pcVar2 + -(int)__s); -} - - - -char * strchr(char *__s,int __c) - -{ - ulonglong uVar1; - - uVar1 = (ulonglong)(byte)*__s; - if (((longlong)__c & 0xffU) != uVar1) { - do { - if (uVar1 == 0) { - return NULL; - } - uVar1 = (ulonglong)(byte)__s[1]; - __s = __s + 1; - } while (((longlong)__c & 0xffU) != uVar1); - } - return __s; -} - - - -void _Putfld(undefined8 param_1,ulonglong param_2,uint **param_3,int param_4) - -{ - undefined4 uVar1; - size_t sVar2; - int iVar3; - char *__s; - size_t sVar4; - uint *puVar5; - char code; - int iVar6; - uint uVar7; - size_t **ppsVar8; - int *piVar9; - char **ppcVar10; - _Pft *unaff_s0_lo; - undefined4 *puVar11; - - param_2 &= 0xff; - unaff_s0_lo->n0 = 0; - unaff_s0_lo->nz0 = 0; - unaff_s0_lo->n1 = 0; - unaff_s0_lo->nz1 = 0; - unaff_s0_lo->n2 = 0; - unaff_s0_lo->nz2 = 0; - code = (char)param_2; - if (param_2 < 0x26) { - if (param_2 == 0x25) { - *(undefined *)(param_4 + unaff_s0_lo->n0) = 0x25; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - return; - } - iVar6 = unaff_s0_lo->n0; - goto LAB_70013f3c; - } - if (true) { - switch((int)param_2) { - case 0x45: - case 0x47: - case 0x65: - case 0x66: - case 0x67: - if (unaff_s0_lo->qual == 'L') { - puVar5 = *param_3; - if (((uint)puVar5 & 1) == 0) { - if (((uint)puVar5 & 2) == 0) { - puVar5 = (uint *)(((int)puVar5 + 7U & 0xfffffff8) + 8); - *param_3 = puVar5; - } - else { - *param_3 = (uint *)((int)puVar5 + 10); - puVar5 = (uint *)((int)puVar5 - 0x1e); - } - } - else { - *param_3 = (uint *)((int)puVar5 + 7); - puVar5 = (uint *)((int)puVar5 - 0xf); - } - unaff_s0_lo->v = *(undefined8 *)(puVar5 + -2); - } - else { - puVar5 = *param_3; - if (((uint)puVar5 & 1) == 0) { - if (((uint)puVar5 & 2) == 0) { - puVar5 = (uint *)(((int)puVar5 + 7U & 0xfffffff8) + 8); - *param_3 = puVar5; - } - else { - *param_3 = (uint *)((int)puVar5 + 10); - puVar5 = (uint *)((int)puVar5 - 0x1e); - } - } - else { - *param_3 = (uint *)((int)puVar5 + 7); - puVar5 = (uint *)((int)puVar5 - 0xf); - } - unaff_s0_lo->v = *(undefined8 *)(puVar5 + -2); - } - if ((*(ushort *)&unaff_s0_lo->v & 0x8000) == 0) { - if ((unaff_s0_lo->flags & 2) == 0) { - if ((unaff_s0_lo->flags & 1) == 0) { - iVar6 = unaff_s0_lo->n0; - goto LAB_70013da4; - } - *(undefined *)(param_4 + unaff_s0_lo->n0) = 0x20; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - } - else { - *(undefined *)(param_4 + unaff_s0_lo->n0) = 0x2b; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - } - } - else { - *(undefined *)(param_4 + unaff_s0_lo->n0) = 0x2d; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - } - iVar6 = unaff_s0_lo->n0; -LAB_70013da4: - unaff_s0_lo->s = (char *)(iVar6 + param_4); - _Ldtob(unaff_s0_lo,code); - return; - case 0x58: - case 0x6f: - case 0x75: - case 0x78: - if (unaff_s0_lo->qual == 'l') { - piVar9 = (int *)((int)*param_3 + 3U & 0xfffffffc); - *(int **)param_3 = piVar9 + 1; - iVar6 = *piVar9; - *(int *)&unaff_s0_lo->v = iVar6 >> 0x1f; - *(int *)((int)&unaff_s0_lo->v + 4) = iVar6; - } - else { - if (unaff_s0_lo->qual == 'L') { - puVar11 = (undefined4 *)((int)*param_3 + 7U & 0xfffffff8); - *param_3 = puVar11 + 2; - uVar1 = *puVar11; - *(undefined4 *)((int)&unaff_s0_lo->v + 4) = puVar11[1]; - *(undefined4 *)&unaff_s0_lo->v = uVar1; - } - else { - piVar9 = (int *)((int)*param_3 + 3U & 0xfffffffc); - *(int **)param_3 = piVar9 + 1; - iVar6 = *piVar9; - *(int *)&unaff_s0_lo->v = iVar6 >> 0x1f; - *(int *)((int)&unaff_s0_lo->v + 4) = iVar6; - } - } - if (unaff_s0_lo->qual == 'h') { - uVar7 = *(uint *)((int)&unaff_s0_lo->v + 4); - *(undefined4 *)&unaff_s0_lo->v = 0; - *(uint *)((int)&unaff_s0_lo->v + 4) = uVar7 & 0xffff; - } - else { - if (unaff_s0_lo->qual != '\0') { - uVar7 = unaff_s0_lo->flags; - goto LAB_70013be8; - } - uVar1 = *(undefined4 *)((int)&unaff_s0_lo->v + 4); - *(undefined4 *)&unaff_s0_lo->v = 0; - *(undefined4 *)((int)&unaff_s0_lo->v + 4) = uVar1; - } - uVar7 = unaff_s0_lo->flags; -LAB_70013be8: - if ((uVar7 & 8) == 0) { - iVar6 = unaff_s0_lo->n0; - } - else { - *(undefined *)(param_4 + unaff_s0_lo->n0) = 0x30; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - if ((param_2 == 0x78) || (param_2 == 0x58)) { - *(char *)(param_4 + unaff_s0_lo->n0) = code; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - iVar6 = unaff_s0_lo->n0; - } - else { - iVar6 = unaff_s0_lo->n0; - } - } - unaff_s0_lo->s = (char *)(iVar6 + param_4); - _Litob(unaff_s0_lo,code); - return; - case 99: - puVar11 = (undefined4 *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar11 + 1; - *(undefined *)(param_4 + unaff_s0_lo->n0) = (char)*puVar11; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - return; - case 100: - case 0x69: - if (unaff_s0_lo->qual == 'l') { - piVar9 = (int *)((int)*param_3 + 3U & 0xfffffffc); - *(int **)param_3 = piVar9 + 1; - iVar6 = *piVar9; - *(int *)&unaff_s0_lo->v = iVar6 >> 0x1f; - *(int *)((int)&unaff_s0_lo->v + 4) = iVar6; - } - else { - if (unaff_s0_lo->qual == 'L') { - puVar11 = (undefined4 *)((int)*param_3 + 7U & 0xfffffff8); - *param_3 = puVar11 + 2; - uVar1 = puVar11[1]; - *(undefined4 *)&unaff_s0_lo->v = *puVar11; - *(undefined4 *)((int)&unaff_s0_lo->v + 4) = uVar1; - } - else { - piVar9 = (int *)((int)*param_3 + 3U & 0xfffffffc); - *(int **)param_3 = piVar9 + 1; - iVar6 = *piVar9; - *(int *)&unaff_s0_lo->v = iVar6 >> 0x1f; - *(int *)((int)&unaff_s0_lo->v + 4) = iVar6; - } - } - if (unaff_s0_lo->qual == 'h') { - iVar6 = (int)(short)*(undefined4 *)((int)&unaff_s0_lo->v + 4); - *(int *)&unaff_s0_lo->v = iVar6 >> 0x1f; - *(int *)((int)&unaff_s0_lo->v + 4) = iVar6; - iVar6 = *(int *)&unaff_s0_lo->v; - } - else { - iVar6 = *(int *)&unaff_s0_lo->v; - } - if (iVar6 < 1) { - if (-1 < iVar6) { - uVar7 = unaff_s0_lo->flags; - goto LAB_70013a9c; - } - *(undefined *)(param_4 + unaff_s0_lo->n0) = 0x2d; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - } - else { - uVar7 = unaff_s0_lo->flags; -LAB_70013a9c: - if ((uVar7 & 2) == 0) { - if ((uVar7 & 1) == 0) { - iVar6 = unaff_s0_lo->n0; - goto LAB_70013af0; - } - *(undefined *)(param_4 + unaff_s0_lo->n0) = 0x20; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - } - else { - *(undefined *)(param_4 + unaff_s0_lo->n0) = 0x2b; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - } - } - iVar6 = unaff_s0_lo->n0; -LAB_70013af0: - unaff_s0_lo->s = (char *)(iVar6 + param_4); - _Litob(unaff_s0_lo,code); - return; - case 0x6e: - code = unaff_s0_lo->qual; - if (code == 'h') { - puVar11 = (undefined4 *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar11 + 1; - *(undefined2 *)*puVar11 = (short)unaff_s0_lo->nchar; - return; - } - if (code != 'l') { - if (code != 'L') { - ppsVar8 = (size_t **)((int)*param_3 + 3U & 0xfffffffc); - *(size_t ***)param_3 = ppsVar8 + 1; - **ppsVar8 = unaff_s0_lo->nchar; - return; - } - puVar11 = (undefined4 *)((int)*param_3 + 3U & 0xfffffffc); - *param_3 = puVar11 + 1; - puVar11 = (undefined4 *)*puVar11; - sVar2 = unaff_s0_lo->nchar; - *puVar11 = 0; - puVar11[1] = sVar2; - return; - } - ppsVar8 = (size_t **)((int)*param_3 + 3U & 0xfffffffc); - *(size_t ***)param_3 = ppsVar8 + 1; - **ppsVar8 = unaff_s0_lo->nchar; - return; - case 0x70: - piVar9 = (int *)((int)*param_3 + 3U & 0xfffffffc); - *(int **)param_3 = piVar9 + 1; - iVar6 = *piVar9; - iVar3 = unaff_s0_lo->n0; - *(int *)((int)&unaff_s0_lo->v + 4) = iVar6; - *(int *)&unaff_s0_lo->v = iVar6 >> 0x1f; - unaff_s0_lo->s = (char *)(iVar3 + param_4); - _Litob(unaff_s0_lo,'x'); - return; - case 0x73: - ppcVar10 = (char **)((int)*param_3 + 3U & 0xfffffffc); - *(char ***)param_3 = ppcVar10 + 1; - __s = *ppcVar10; - unaff_s0_lo->s = __s; - sVar4 = strlen(__s); - iVar6 = unaff_s0_lo->prec; - unaff_s0_lo->n1 = sVar4; - if (iVar6 < 0) { - return; - } - if ((int)sVar4 <= iVar6) { - return; - } - unaff_s0_lo->n1 = iVar6; - return; - } - } - iVar6 = unaff_s0_lo->n0; -LAB_70013f3c: - *(char *)(param_4 + iVar6) = code; - unaff_s0_lo->n0 = unaff_s0_lo->n0 + 1; - return; -} - - - -// WARNING: Type propagation algorithm not settling - -byte * _Printf(undefined *param_1,longlong param_2,byte *param_3,uint *param_4) - -{ - bool bVar1; - byte *pbVar2; - byte *pbVar3; - char *pcVar4; - undefined8 extraout_a0; - byte bVar5; - uint __c; - uint uVar6; - byte *pbVar7; - int *piVar8; - uint *puStackX12; - undefined auStack100 [52]; - int iStack48; - int iStack44; - uint uStack40; - int iStack36; - uint uStack32; - int iStack28; - uint uStack24; - int iStack20; - uint uStack16; - byte *pbStack12; - uint uStack8; - byte bStack4; - - pbStack12 = NULL; - puStackX12 = param_4; - while( true ) { - bVar5 = *param_3; - pbVar3 = param_3; - while ((pbVar2 = pbVar3 + 1, pbVar7 = pbVar2, bVar5 != 0 && (pbVar7 = pbVar3, bVar5 != 0x25) - )) { - bVar5 = *pbVar2; - pbVar3 = pbVar2; - } - pbVar3 = pbVar7 + -(int)param_3; - if (0 < (int)pbVar3) { - param_2 = (*(code *)param_1)(param_2,param_3,pbVar3); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + (int)pbVar3; - } - pbVar7 = pbVar7 + 1; - if (bVar5 == 0) break; - uStack8 = 0; - pcVar4 = strchr(" +-#0",(uint)*pbVar7); - while (pcVar4 != NULL) { - pbVar7 = pbVar7 + 1; - uStack8 |= (&byteshiftleft_lookup)[(int)(pcVar4 + 0x7ffd690c)]; - pcVar4 = strchr(" +-#0",(uint)*pbVar7); - } - if (*pbVar7 == 0x2a) { - piVar8 = (int *)((int)puStackX12 + 3U & 0xfffffffc); - puStackX12 = (uint *)(piVar8 + 1); - uStack16 = *piVar8; - pbVar7 = pbVar7 + 1; - if ((int)uStack16 < 0) { - uStack16 = -uStack16; - uStack8 |= 4; - } - bVar5 = *pbVar7; - } - else { - uStack16 = 0; - bVar5 = *pbVar7; - while ((0x2f < bVar5 && (bVar5 < 0x3a))) { - if ((int)uStack16 < 999) { - uStack16 = (uint)bVar5 + uStack16 * 10 + -0x30; - bVar5 = pbVar7[1]; - } - else { - bVar5 = pbVar7[1]; - } - pbVar7 = pbVar7 + 1; - } - } - if (bVar5 == 0x2e) { - if (pbVar7[1] == 0x2a) { - piVar8 = (int *)((int)puStackX12 + 3U & 0xfffffffc); - puStackX12 = (uint *)(piVar8 + 1); - iStack20 = *piVar8; - pbVar7 = pbVar7 + 2; - __c = (uint)*pbVar7; - } - else { - iStack20 = 0; - bVar5 = pbVar7[1]; - pbVar7 = pbVar7 + 1; - while ((__c = (uint)bVar5, 0x2f < bVar5 && (bVar5 < 0x3a))) { - if (iStack20 < 999) { - iStack20 = (uint)bVar5 + iStack20 * 10 + -0x30; - bVar5 = pbVar7[1]; - } - else { - bVar5 = pbVar7[1]; - } - pbVar7 = pbVar7 + 1; - } - } - } - else { - iStack20 = -1; - __c = (uint)*pbVar7; - } - pcVar4 = strchr("hlL",__c); - if (pcVar4 == NULL) { - bStack4 = 0; - } - else { - bStack4 = *pbVar7; - pbVar7 = pbVar7 + 1; - } - if ((bStack4 == 0x6c) && (*pbVar7 == 0x6c)) { - bStack4 = 0x4c; - pbVar7 = pbVar7 + 1; - } - _Putfld(extraout_a0,(ulonglong)*pbVar7,&puStackX12,(int)auStack100); - uStack16 = (((((uStack16 - iStack44) - uStack40) - iStack36) - uStack32) - iStack28) - - uStack24; - bVar1 = 0 < (int)uStack16; - if (((uStack8 & 4) == 0) && (__c = uStack16, bVar1)) { - while (bVar1) { - uVar6 = __c; - if (0x20 < __c) { - uVar6 = 0x20; - } - if (0 < (int)uVar6) { - param_2 = (*(code *)param_1)(param_2," ",uVar6); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar6; - } - bVar1 = 0 < (int)(__c - uVar6); - __c = __c - uVar6; - } - } - if (0 < iStack44) { - param_2 = (*(code *)param_1)(param_2,auStack100,iStack44); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack44; - } - bVar1 = 0 < (int)uStack40; - __c = uStack40; - if (bVar1) { - while (bVar1) { - uVar6 = __c; - if (0x20 < __c) { - uVar6 = 0x20; - } - if (0 < (int)uVar6) { - param_2 = (*(code *)param_1)(param_2,"00000000000000000000000000000000",uVar6); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar6; - } - bVar1 = 0 < (int)(__c - uVar6); - __c = __c - uVar6; - } - } - if (0 < iStack36) { - param_2 = (*(code *)param_1)(param_2,iStack48,iStack36); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack36; - } - bVar1 = 0 < (int)uStack32; - __c = uStack32; - if (bVar1) { - while (bVar1) { - uVar6 = __c; - if (0x20 < __c) { - uVar6 = 0x20; - } - if (0 < (int)uVar6) { - param_2 = (*(code *)param_1)(param_2,"00000000000000000000000000000000",uVar6); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar6; - } - bVar1 = 0 < (int)(__c - uVar6); - __c = __c - uVar6; - } - } - if (0 < iStack28) { - param_2 = (*(code *)param_1)(param_2,iStack48 + iStack36,iStack28); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + iStack28; - } - bVar1 = 0 < (int)uStack24; - __c = uStack24; - if (bVar1) { - while (bVar1) { - uVar6 = __c; - if (0x20 < __c) { - uVar6 = 0x20; - } - if (0 < (int)uVar6) { - param_2 = (*(code *)param_1)(param_2,"00000000000000000000000000000000",uVar6); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar6; - } - bVar1 = 0 < (int)(__c - uVar6); - __c = __c - uVar6; - } - } - bVar1 = 0 < (int)uStack16; - if (((uStack8 & 4) != 0) && (__c = uStack16, bVar1)) { - while (bVar1) { - uVar6 = __c; - if (0x20 < __c) { - uVar6 = 0x20; - } - if (0 < (int)uVar6) { - param_2 = (*(code *)param_1)(param_2," ",uVar6); - if (param_2 == 0) { - return pbStack12; - } - pbStack12 = pbStack12 + uVar6; - } - bVar1 = 0 < (int)(__c - uVar6); - __c = __c - uVar6; - } - } - param_3 = pbVar7 + 1; - } - return pbStack12; -} - - - -void osCreatePiManager(OSPri pri,OSMesgQueue *cmdQ,OSMesg *cmdBuf,s32 cmdMsgCnt) - -{ - OSPri myPri; - u32 savedMask; - int oldPri; - - if (__osPiDevMgr.active == 0) { - osCreateMesgQueue(cmdQ,cmdBuf,cmdMsgCnt); - osCreateMesgQueue(&piEventQueue,&piEventBuf,1); - if (__osPiAccessQueueEnabled == 0) { - __osPiCreateAccessQueue(); - } - osSetEventMesg(8,&piEventQueue,(OSMesg)0x22222222); - oldPri = -1; - myPri = osGetThreadPri(NULL); - if (myPri < pri) { - osSetThreadPri(NULL,pri); - oldPri = myPri; - } - savedMask = __osDisableInt(); - __osPiDevMgr.active = 1; - __osPiDevMgr.thread = &piThread; - __osPiDevMgr.evtQueue = &piEventQueue; - __osPiDevMgr.acsQueue = &__osPiAccessQueue; - __osPiDevMgr.dma = osPiRawStartDma; - __osPiDevMgr.edma = osEPiRawStartDma; - __osPiDevMgr.cmdQueue = cmdQ; - osCreateThread(&piThread,0,__osDevMgrMain,&__osPiDevMgr,&piEventQueue,pri); - osStartThread(&piThread); - __osRestoreInt(savedMask); - if (oldPri != -1) { - osSetThreadPri(NULL,oldPri); - } - } - return; -} - - - -s32 osPfsInit(OSMesgQueue *queue,OSPfs *pfs,int channel) - -{ - s32 ret; - - __osSiGetAccess(); - ret = __osPfsGetStatus(queue,channel); - __osSiRelAccess(); - if (ret == 0) { - pfs->queue = queue; - pfs->channel = channel; - pfs->status = 0; - ret = __osGetId(pfs); - if (ret == 0) { - ret = osPfsChecker(pfs); - pfs->status = pfs->status | 1; - } - } - return ret; -} - - - -s32 __osPfsGetStatus(OSMesgQueue *queue,int channel) - -{ - s32 sVar1; - s32 ret; - OSContStatus data; - u8 bitpattern; - OSMesg dummy; - - __osPfsRequestData('\0'); - __osSiRawStartDma(1,&__osPfsPifRam); - osRecvMesg(queue,&dummy,1); - sVar1 = __osSiRawStartDma(0,&__osPfsPifRam); - osRecvMesg(queue,&dummy,1); - __osPfsGetInitData(&bitpattern,&data); - if ((((&data)[channel].status & 1) == 0) || (((&data)[channel].status & 2) == 0)) { - if (((&data)[channel].errno == '\0') && (((&data)[channel].status & 1) != 0)) { - if (((&data)[channel].status & 4) != 0) { - sVar1 = 4; - } - } - else { - sVar1 = 1; - } - } - else { - sVar1 = 2; - } - return sVar1; -} - - - -s32 osContInit(OSMesgQueue *mq,u8 *bitpattern,OSContStatus *data) - -{ - OSTime OVar1; - int iVar4; - longlong lVar2; - ulonglong uVar3; - s32 ret; - undefined4 in_v1_hi; - uint in_v1_lo; - uint left_l; - OSTime value; - OSMesgQueue timerMesgQueue; - OSTimer mytimer; - OSMesg dummy; - - if (__osContinitialized == 0) { - __osContinitialized = 1; - OVar1 = osGetTime(); - iVar4 = (int)OVar1; - left_l = in_v1_lo; - lVar2 = __ll_mul(0,500000,osClockRate._0_4_,osClockRate._4_4_); - uVar3 = __ull_div((int)lVar2,left_l,0,1000000); - if (((ulonglong)(longlong)iVar4 <= uVar3) && - (((ulonglong)(longlong)iVar4 < uVar3 || - ((ulonglong)(longlong)(int)in_v1_lo < CONCAT44(in_v1_hi,left_l))))) { - osCreateMesgQueue(&timerMesgQueue,&dummy,1); - lVar2 = __ll_mul(0,500000,osClockRate._0_4_,osClockRate._4_4_); - uVar3 = __ull_div((int)lVar2,left_l,0,1000000); - osSetTimer(&mytimer,value, - (longlong)(int)(((int)uVar3 - iVar4) - (uint)(left_l < in_v1_lo)), - (OSMesgQueue *)(left_l - in_v1_lo),NULL); - osRecvMesg(&timerMesgQueue,&dummy,1); - } - __osMaxControllers = '\x04'; - __osPackRequestData('\0'); - __osSiRawStartDma(1,&__osContPifRam); - osRecvMesg(mq,&dummy,1); - ret = __osSiRawStartDma(0,&__osContPifRam); - osRecvMesg(mq,&dummy,1); - __osContGetInitData(bitpattern,data); - __osContLastCmd = '\0'; - __osSiCreateAccessQueue(); - osCreateMesgQueue(&__osEepromTimerQ,&__osEepromTimerMsg,1); - } - else { - ret = 0; - } - return ret; -} - - - -void __osContGetInitData(u8 *pattern,OSContStatus *data) - -{ - u32 uVar1; - byte local_11; - uint local_10; - undefined local_8; - undefined uStack7; - u8 uStack6; - OSPifRam *local_4; - - local_11 = 0; - local_4 = &__osContPifRam; - local_10 = 0; - if (__osMaxControllers != '\0') { - do { - uVar1 = local_4->ramarray[1]; - data->errno = (u8)((int)(local_4->ramarray[0] >> 8 & 0xc0) >> 4); - if (data->errno == '\0') { - uStack7 = (undefined)(uVar1 >> 0x10); - local_8 = (undefined)(uVar1 >> 0x18); - data->type = CONCAT11(uStack7,local_8); - uStack6 = (u8)(uVar1 >> 8); - data->status = uStack6; - local_11 |= (byte)(1 << (local_10 & 0x1f)); - } - local_10 += 1; - local_4 = (OSPifRam *)(local_4->ramarray + 2); - data = data + 1; - } while ((longlong)(int)local_10 < (longlong)(ulonglong)__osMaxControllers); - } - *pattern = local_11; - return; -} - - - -void __osPackRequestData(u8 cmd) - -{ - int iStack16; - uint uStack12; - OSPifRam *pOStack4; - - iStack16 = 0; - do { - __osContPifRam.ramarray[iStack16] = 0; - iStack16 += 1; - } while (iStack16 < 0x10); - __osContPifRam.pifstatus = 1; - pOStack4 = &__osContPifRam; - uStack12 = CONCAT31(0xff0100,cmd) | 0x300; - iStack16 = 0; - if (__osMaxControllers != '\0') { - do { - pOStack4->ramarray[0] = uStack12; - pOStack4->ramarray[1] = 0xffffffff; - iStack16 += 1; - pOStack4 = (OSPifRam *)(pOStack4->ramarray + 2); - } while ((longlong)iStack16 < (longlong)(ulonglong)__osMaxControllers); - } - *(undefined *)pOStack4->ramarray = 0xfe; - return; -} - - - -s32 osContStartQuery(OSMesgQueue *mq) - -{ - s32 ret; - - __osSiGetAccess(); - if (__osContLastCmd != '\0') { - __osPackRequestData('\0'); - __osSiRawStartDma(1,&__osContPifRam); - osRecvMesg(mq,NULL,1); - } - ret = __osSiRawStartDma(0,&__osContPifRam); - __osContLastCmd = '\0'; - __osSiRelAccess(); - return ret; -} - - - -void osContGetQuery(OSContStatus *data) - -{ - u8 pattern; - - __osContGetInitData(&pattern,data); - return; -} - - - -s32 osContStartReadData(OSMesgQueue *mq) - -{ - s32 ret; - int i; - - __osSiGetAccess(); - if (__osContLastCmd != '\x01') { - __osPackReadData(); - __osSiRawStartDma(1,&__osContPifRam); - osRecvMesg(mq,NULL,1); - } - i = 0; - do { - __osContPifRam.ramarray[i] = 0xff; - i += 1; - } while (i < 0x10); - __osContPifRam.pifstatus = 0; - ret = __osSiRawStartDma(0,&__osContPifRam); - __osContLastCmd = '\x01'; - __osSiRelAccess(); - return ret; -} - - - -void osContGetReadData(OSContPad *data) - -{ - u32 uVar1; - int local_10; - u16 local_8; - s8 sStack6; - s8 sStack5; - OSPifRam *local_4; - - local_4 = &__osContPifRam; - local_10 = 0; - if (__osMaxControllers != '\0') { - do { - uVar1 = local_4->ramarray[1]; - data->errno = (u8)((int)(local_4->ramarray[0] >> 8 & 0xc0) >> 4); - if (data->errno == '\0') { - local_8 = (u16)(uVar1 >> 0x10); - data->button = local_8; - sStack6 = (s8)(uVar1 >> 8); - data->stick_x = sStack6; - sStack5 = (s8)uVar1; - data->stick_y = sStack5; - } - local_10 += 1; - local_4 = (OSPifRam *)(local_4->ramarray + 2); - data = data + 1; - } while ((longlong)local_10 < (longlong)(ulonglong)__osMaxControllers); - } - return; -} - - - -void __osPackReadData(void) - -{ - int i; - OSPifRam *pOStack4; - - pOStack4 = &__osContPifRam; - i = 0; - do { - __osContPifRam.ramarray[i] = 0; - i += 1; - } while (i < 0x10); - __osContPifRam.pifstatus = 1; - i = 0; - if (__osMaxControllers != '\0') { - do { - pOStack4->ramarray[0] = 0xff010401; - pOStack4->ramarray[1] = 0xffffffff; - i += 1; - pOStack4 = (OSPifRam *)(pOStack4->ramarray + 2); - } while ((longlong)i < (longlong)(ulonglong)__osMaxControllers); - } - *(undefined *)pOStack4->ramarray = 0xfe; - return; -} - - - -s32 osEepromProbe(OSMesgQueue *mq) - -{ - s32 _ret; - OSContStatus sdata; - s32 ret; - - __osSiGetAccess(); - _ret = __osEepStatus(mq,&sdata); - if ((_ret == 0) && ((sdata.type & 0x8000) != 0)) { - ret = 1; - } - else { - ret = 0; - } - __osSiRelAccess(); - return ret; -} - - - -s32 osEepromRead(OSMesgQueue *mq,u8 address,u8 *buffer) - -{ - s32 ret; - s32 sVar1; - OSPifRam *pOVar2; - u8 *puStackX8; - undefined4 uStack24; - undefined4 uStack20; - OSContStatus sdata; - OSPifRam *pOStack12; - int iStack8; - - pOStack12 = &__osEepPifRam; - if (address < 0x41) { - __osSiGetAccess(); - ret = __osEepStatus(mq,&sdata); - if ((ret == 0) && (sdata.type == 0x8000)) { - while ((sdata.status & 0x80) != 0) { - __osEepStatus(mq,&sdata); - } - __osPackEepReadData(address); - __osSiRawStartDma(1,&__osEepPifRam); - osRecvMesg(mq,NULL,1); - iStack8 = 0; - do { - __osEepPifRam.ramarray[iStack8] = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - __osEepPifRam.pifstatus = 0; - __osSiRawStartDma(0,&__osEepPifRam); - __osContLastCmd = '\x04'; - osRecvMesg(mq,NULL,1); - iStack8 = 0; - pOVar2 = pOStack12; - do { - pOStack12 = pOVar2; - iStack8 += 1; - pOVar2 = (OSPifRam *)((int)pOStack12->ramarray + 1); - } while (iStack8 < 4); - uStack24 = *(undefined4 *)((int)pOStack12->ramarray + 5); - uStack20 = *(undefined4 *)((int)pOStack12->ramarray + 9); - sVar1 = (int)(pOVar2->ramarray[0] >> 0x10 & 0xc0) >> 4; - if (sVar1 == 0) { - iStack8 = 0; - puStackX8 = buffer; - do { - *puStackX8 = *(u8 *)((int)&uStack24 + iStack8); - iStack8 += 1; - puStackX8 = puStackX8 + 1; - } while (iStack8 < 8); - } - __osSiRelAccess(); - } - else { - sVar1 = 8; - } - } - else { - sVar1 = -1; - } - return sVar1; -} - - - -void __osPackEepReadData(u8 address) - -{ - OSPifRam *pOVar1; - int iStack20; - uint uStack16; - undefined4 uStack12; - undefined4 uStack8; - OSPifRam *pOStack4; - - pOStack4 = &__osEepPifRam; - iStack20 = 0; - do { - __osEepPifRam.ramarray[iStack20] = 0xff; - iStack20 += 1; - } while (iStack20 < 0x10); - __osEepPifRam.pifstatus = 1; - uStack16 = CONCAT31(0x20800,address) | 0x400; - iStack20 = 0; - do { - *(undefined *)((int)&uStack12 + iStack20) = 0; - iStack20 += 1; - } while (iStack20 < 8); - iStack20 = 0; - pOVar1 = pOStack4; - do { - pOStack4 = pOVar1; - *(undefined *)pOStack4->ramarray = 0; - iStack20 += 1; - pOVar1 = (OSPifRam *)((int)pOStack4->ramarray + 1); - } while (iStack20 < 4); - pOVar1->ramarray[0] = uStack16; - *(undefined4 *)((int)pOStack4->ramarray + 5) = uStack12; - *(undefined4 *)((int)pOStack4->ramarray + 9) = uStack8; - *(undefined *)((int)pOStack4->ramarray + 0xd) = 0xfe; - return; -} - - - -s32 osEepromWrite(OSMesgQueue *mq,u8 address,u8 *buffer) - -{ - s32 ret; - s32 sVar1; - OSContStatus sdata; - OSPifRam *pOStack12; - int iStack8; - - pOStack12 = &__osEepPifRam; - if (address < 0x41) { - __osSiGetAccess(); - ret = __osEepStatus(mq,&sdata); - if ((ret == 0) && (sdata.type == 0x8000)) { - while ((sdata.status & 0x80) != 0) { - __osEepStatus(mq,&sdata); - } - __osPackEepWriteData(address,buffer); - __osSiRawStartDma(1,&__osEepPifRam); - osRecvMesg(mq,NULL,1); - iStack8 = 0; - do { - __osEepPifRam.ramarray[iStack8] = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - __osEepPifRam.pifstatus = 0; - __osSiRawStartDma(0,&__osEepPifRam); - __osContLastCmd = '\x05'; - osRecvMesg(mq,NULL,1); - iStack8 = 0; - do { - iStack8 += 1; - pOStack12 = (OSPifRam *)((int)pOStack12->ramarray + 1); - } while (iStack8 < 4); - sVar1 = (int)(pOStack12->ramarray[0] >> 0x10 & 0xc0) >> 4; - __osSiRelAccess(); - } - else { - sVar1 = 8; - } - } - else { - sVar1 = -1; - } - return sVar1; -} - - - -void __osPackEepWriteData(u8 address,u8 *buffer) - -{ - u8 uVar1; - OSPifRam *pOVar2; - int iStack20; - uint uStack16; - undefined4 uStack12; - undefined4 uStack8; - OSPifRam *pOStack4; - - pOStack4 = &__osEepPifRam; - iStack20 = 0; - do { - __osEepPifRam.ramarray[iStack20] = 0xff; - iStack20 += 1; - } while (iStack20 < 0x10); - __osEepPifRam.pifstatus = 1; - uStack16 = CONCAT31(0xa0100,address) | 0x500; - iStack20 = 0; - do { - uVar1 = *buffer; - buffer = buffer + 1; - *(u8 *)((int)&uStack12 + iStack20) = uVar1; - iStack20 += 1; - } while (iStack20 < 8); - iStack20 = 0; - pOVar2 = pOStack4; - do { - pOStack4 = pOVar2; - *(undefined *)pOStack4->ramarray = 0; - iStack20 += 1; - pOVar2 = (OSPifRam *)((int)pOStack4->ramarray + 1); - } while (iStack20 < 4); - pOVar2->ramarray[0] = uStack16; - *(undefined4 *)((int)pOStack4->ramarray + 5) = uStack12; - *(undefined4 *)((int)pOStack4->ramarray + 9) = uStack8; - *(undefined *)((int)pOStack4->ramarray + 0xd) = 0xfe; - return; -} - - - -s32 __osEepStatus(OSMesgQueue *mq,OSContStatus *data) - -{ - undefined4 uVar1; - uint uVar2; - OSPifRam *pOVar3; - undefined uStack16; - undefined uStack15; - u8 uStack14; - OSPifRam *pOStack12; - int iStack8; - - iStack8 = 0; - do { - __osEepPifRam.ramarray[iStack8] = 0; - iStack8 += 1; - } while (iStack8 < 0x10); - __osEepPifRam.pifstatus = 1; - pOStack12 = &__osEepPifRam; - iStack8 = 0; - pOVar3 = pOStack12; - do { - pOStack12 = pOVar3; - *(undefined *)pOStack12->ramarray = 0; - iStack8 += 1; - pOVar3 = (OSPifRam *)((int)pOStack12->ramarray + 1); - } while (iStack8 < 4); - pOVar3->ramarray[0] = 0xff010300; - *(undefined4 *)((int)pOStack12->ramarray + 5) = 0xffffffff; - *(undefined *)((int)pOStack12->ramarray + 9) = 0xfe; - __osSiRawStartDma(1,&__osEepPifRam); - osRecvMesg(mq,NULL,1); - __osContLastCmd = '\x05'; - uVar2 = __osSiRawStartDma(0,&__osEepPifRam); - osRecvMesg(mq,NULL,1); - if (uVar2 == 0) { - pOStack12 = &__osEepPifRam; - iStack8 = 0; - pOVar3 = pOStack12; - do { - pOStack12 = pOVar3; - *(undefined *)pOStack12->ramarray = 0; - iStack8 += 1; - pOVar3 = (OSPifRam *)((int)pOStack12->ramarray + 1); - } while (iStack8 < 4); - uVar1 = *(undefined4 *)((int)pOStack12->ramarray + 5); - data->errno = (u8)((int)(pOVar3->ramarray[0] >> 8 & 0xc0) >> 4); - uStack15 = (undefined)((uint)uVar1 >> 0x10); - uStack16 = (undefined)((uint)uVar1 >> 0x18); - data->type = CONCAT11(uStack15,uStack16); - uStack14 = (u8)((uint)uVar1 >> 8); - data->status = uStack14; - if (data->errno == 0) { - uVar2 = 0; - } - else { - uVar2 = (uint)data->errno; - } - } - return (s32)uVar2; -} - - - -s32 osEepromLongRead(OSMesgQueue *mq,u8 address,u8 *buffer,int length) - -{ - longlong lVar1; - ulonglong uVar2; - OSMesgQueue *in_v1_lo; - OSTime value; - u8 *puStackX8; - int iStackX12; - s32 ret; - - ret = 0; - if (address < 0x41) { - puStackX8 = buffer; - iStackX12 = length; - if (0 < length) { - do { - ret = osEepromRead(mq,address,puStackX8); - if (ret != 0) { - return ret; - } - iStackX12 += -8; - address += '\x01'; - puStackX8 = puStackX8 + 8; - lVar1 = __ll_mul(0,12000,osClockRate._0_4_,osClockRate._4_4_); - uVar2 = __ull_div((int)lVar1,in_v1_lo,0,1000000); - osSetTimer(&__osEepromTimer,value,(longlong)(int)uVar2,in_v1_lo,NULL); - osRecvMesg(&__osEepromTimerQ,NULL,1); - } while (0 < iStackX12); - } - } - else { - ret = -1; - } - return ret; -} - - - -s32 osEepromLongWrite(OSMesgQueue *mq,u8 address,u8 *buffer,int length) - -{ - longlong lVar1; - ulonglong uVar2; - OSMesgQueue *in_v1_lo; - OSTime value; - u8 *_buffer; - int _length; - s32 ret; - - ret = 0; - if (address < 0x41) { - _buffer = buffer; - _length = length; - if (0 < length) { - do { - ret = osEepromWrite(mq,address,_buffer); - if (ret != 0) { - return ret; - } - _length += -8; - address += '\x01'; - _buffer = _buffer + 8; - lVar1 = __ll_mul(0,12000,osClockRate._0_4_,osClockRate._4_4_); - uVar2 = __ull_div((int)lVar1,in_v1_lo,0,1000000); - osSetTimer(&__osEepromTimer,value,(longlong)(int)uVar2,in_v1_lo,NULL); - osRecvMesg(&__osEepromTimerQ,NULL,1); - } while (0 < _length); - } - } - else { - ret = -1; - } - return ret; -} - - - -s32 osPfsIsPlug(OSMesgQueue *queue,u8 *pattern) - -{ - int crc_error_cnt; - byte bits; - uint channel; - OSContStatus data [4]; - u8 bitpattern; - OSMesg pvStack8; - s32 ret; - - ret = 0; - bits = 0; - crc_error_cnt = 3; - __osSiGetAccess(); - do { - __osPfsRequestData('\0'); - ret = __osSiRawStartDma(1,&__osPfsPifRam); - osRecvMesg(queue,&pvStack8,1); - ret = __osSiRawStartDma(0,&__osPfsPifRam); - osRecvMesg(queue,&pvStack8,1); - __osPfsGetInitData(&bitpattern,data); - channel = 0; - if (__osMaxControllers != '\0') { - do { - if ((data[channel].status & 4) == 0) { - crc_error_cnt += -1; - break; - } - channel += 1; - } while ((longlong)(int)channel < (longlong)(ulonglong)__osMaxControllers); - } - if ((ulonglong)__osMaxControllers == (longlong)(int)channel) { - crc_error_cnt = 0; - } - if (crc_error_cnt < 1) { - channel = 0; - if (__osMaxControllers != '\0') { - do { - if ((data[channel].errno == '\0') && ((data[channel].status & 1) != 0)) { - bits |= (byte)(1 << (channel & 0x1f)); - } - channel += 1; - } while ((longlong)(int)channel < (longlong)(ulonglong)__osMaxControllers); - } - __osSiRelAccess(); - *pattern = bits; - return ret; - } - } while( true ); -} - - - -void __osPfsRequestData(u8 cmd) - -{ - int iStack16; - uint uStack12; - OSPifRam *pOStack4; - - iStack16 = 0; - __osContLastCmd = cmd; - do { - __osPfsPifRam.ramarray[iStack16] = 0; - iStack16 += 1; - } while (iStack16 < 0x10); - __osPfsPifRam.pifstatus = 1; - pOStack4 = &__osPfsPifRam; - uStack12 = CONCAT31(0xff0100,cmd) | 0x300; - iStack16 = 0; - if (__osMaxControllers != '\0') { - do { - pOStack4->ramarray[0] = uStack12; - pOStack4->ramarray[1] = 0xffffffff; - iStack16 += 1; - pOStack4 = (OSPifRam *)(pOStack4->ramarray + 2); - } while ((longlong)iStack16 < (longlong)(ulonglong)__osMaxControllers); - } - *(undefined *)pOStack4->ramarray = 0xfe; - return; -} - - - -void __osPfsGetInitData(u8 *pattern,OSContStatus *data) - -{ - u32 uVar1; - byte local_11; - uint local_10; - undefined local_8; - undefined uStack7; - u8 uStack6; - OSPifRam *local_4; - - local_11 = 0; - local_4 = &__osPfsPifRam; - local_10 = 0; - if (__osMaxControllers != '\0') { - do { - uVar1 = local_4->ramarray[1]; - data->errno = (u8)((int)(local_4->ramarray[0] >> 8 & 0xc0) >> 4); - if (data->errno == '\0') { - uStack7 = (undefined)(uVar1 >> 0x10); - local_8 = (undefined)(uVar1 >> 0x18); - data->type = CONCAT11(uStack7,local_8); - uStack6 = (u8)(uVar1 >> 8); - data->status = uStack6; - local_11 |= (byte)(1 << (local_10 & 0x1f)); - } - local_10 += 1; - local_4 = (OSPifRam *)(local_4->ramarray + 2); - data = data + 1; - } while ((longlong)(int)local_10 < (longlong)(ulonglong)__osMaxControllers); - } - *pattern = local_11; - return; -} - - - -void __osSiCreateAccessQueue(void) - -{ - __osSiAccessQueueEnabled = 1; - osCreateMesgQueue(&__osSiAccessQueue,&siAccessBuf,1); - osSendMesg(&__osSiAccessQueue,NULL,0); - return; -} - - - -void __osSiGetAccess(void) - -{ - OSMesg dummyMesg; - - if (__osSiAccessQueueEnabled == 0) { - __osSiCreateAccessQueue(); - } - osRecvMesg(&__osSiAccessQueue,&dummyMesg,1); - return; -} - - - -void __osSiRelAccess(void) - -{ - osSendMesg(&__osSiAccessQueue,NULL,0); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 __osSiRawStartDma(s32 direction,void *dramAddr) - -{ - int iVar1; - s32 ret; - - iVar1 = __osSiDeviceBusy(); - if (iVar1 == 0) { - if (direction == 1) { - osWritebackDCache(dramAddr,0x40); - } - _SI_DRAM_ADDR_REG = osVirtualToPhysical(dramAddr); - if (direction == 0) { - _SI_PIF_ADDR_RD64B_REG = 0x1fc007c0; - osInvalDCache(dramAddr,0x40); - } - else { - _SI_PIF_ADDR_WR64B_REG = 0x1fc007c0; - } - ret = 0; - } - else { - ret = -1; - } - return ret; -} - - - -u8 __osContAddressCrc(u16 addr) - -{ - ulonglong uVar1; - ulonglong uVar2; - int i; - byte temp2; - byte temp; - - uVar2 = SEXT28((short)addr); - temp = 0; - i = 0; - do { - if ((temp & 0x10) == 0) { - temp2 = 0; - } - else { - temp2 = 0x15; - } - uVar1 = uVar2 & 0x400; - uVar2 = SEXT48((int)(((uint)uVar2 & 0xffff) << 1)); - i += 1; - temp = (temp << 1 | uVar1 != 0) ^ temp2; - } while (i < 0x10); - return (u8)(temp & 0x1f); -} - - - -u8 __osContDataCrc(u8 *data) - -{ - uint uStack12; - int iStack8; - byte bStack2; - byte bStack1; - - bStack1 = 0; - iStack8 = 0; - do { - uStack12 = 7; - do { - if ((bStack1 & 0x80) == 0) { - bStack2 = 0; - } - else { - bStack2 = 0x85; - } - bStack1 <<= 1; - if (iStack8 != 0x20) { - bStack1 |= ((ulonglong)*data & (longlong)(1 << (uStack12 & 0x1f))) != 0; - } - uStack12 -= 1; - bStack1 ^= bStack2; - } while (-1 < (int)uStack12); - data = data + 1; - iStack8 += 1; - } while (iStack8 < 0x21); - return (u8)bStack1; -} - - - -s32 __osContRamWrite(OSMesgQueue *mq,int channel,u16 address,u8 *buffer,int force) - -{ - bool bVar1; - u32 *puVar2; - u8 uVar3; - u32 *puVar4; - u32 *puVar5; - OSPifRam *pOVar6; - OSPifRam *pOVar7; - int retry; - undefined4 uStack52; - byte bStack14; - OSPifRam *pOStack12; - int iStack8; - s32 ret; - - ret = 0; - pOStack12 = &__osPfsPifRam; - retry = 2; - if (((force == 1) || (6 < address)) || (address == 0)) { - __osSiGetAccess(); - __osContLastCmd = '\x03'; - __osPackRamWriteData(channel,address,buffer); - ret = __osSiRawStartDma(1,&__osPfsPifRam); - osRecvMesg(mq,NULL,1); - do { - iStack8 = 0; - do { - __osPfsPifRam.ramarray[iStack8] = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - __osPfsPifRam.pifstatus = 0; - ret = __osSiRawStartDma(0,&__osPfsPifRam); - osRecvMesg(mq,NULL,1); - pOStack12 = &__osPfsPifRam; - if ((channel != 0) && (iStack8 = 0, 0 < channel)) { - do { - iStack8 += 1; - pOStack12 = (OSPifRam *)((int)pOStack12->ramarray + 1); - } while (iStack8 < channel); - } - puVar2 = pOStack12->ramarray; - pOVar6 = pOStack12; - puVar4 = &uStack52; - do { - pOVar7 = (OSPifRam *)(pOVar6->ramarray + 3); - puVar5 = puVar4 + 3; - *puVar4 = pOVar6->ramarray[0]; - puVar4[1] = pOVar6->ramarray[1]; - puVar4[2] = pOVar6->ramarray[2]; - pOVar6 = pOVar7; - puVar4 = puVar5; - } while (pOVar7 != (OSPifRam *)(puVar2 + 9)); - *puVar5 = pOVar7->ramarray[0]; - ret = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if ((ret == 0) && - (uVar3 = __osContDataCrc(buffer), (longlong)(char)uVar3 != (ulonglong)bStack14)) { - ret = __osPfsGetStatus(mq,channel); - if (ret != 0) { - __osSiRelAccess(); - return ret; - } - ret = 4; - } - } while ((ret == 4) && (bVar1 = -1 < retry, retry += -1, bVar1)); - __osSiRelAccess(); - } - else { - ret = 0; - } - return ret; -} - - - -void __osPackRamWriteData(int channel,u16 address,u8 *buffer) - -{ - u32 *puVar1; - u8 uVar2; - OSPifRam *pOVar3; - u32 *puVar4; - u32 *puVar5; - u8 *puStackX8; - int iStack48; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - ushort uStack40; - u8 auStack38 [30]; - undefined4 uStack8; - OSPifRam *pOStack4; - - pOStack4 = &__osPfsPifRam; - iStack48 = 0; - do { - __osPfsPifRam.ramarray[iStack48] = 0; - iStack48 += 1; - } while (iStack48 < 0x10); - __osPfsPifRam.pifstatus = 1; - uStack44 = 0xff; - uStack43 = 0x23; - uStack42 = 1; - uStack41 = 3; - uVar2 = __osContAddressCrc(address); - uStack8._2_1_ = 0xff; - uStack40 = (short)(char)uVar2 | address << 5; - iStack48 = 0; - puStackX8 = buffer; - do { - auStack38[iStack48] = *puStackX8; - iStack48 += 1; - puStackX8 = puStackX8 + 1; - } while (iStack48 < 0x20); - if ((channel != 0) && (iStack48 = 0, 0 < channel)) { - do { - *(undefined *)pOStack4->ramarray = 0; - iStack48 += 1; - pOStack4 = (OSPifRam *)((int)pOStack4->ramarray + 1); - } while (iStack48 < channel); - } - puVar4 = (u32 *)&uStack44; - pOVar3 = pOStack4; - do { - puVar5 = puVar4 + 3; - puVar1 = pOVar3->ramarray; - pOVar3->ramarray[0] = *puVar4; - pOVar3->ramarray[1] = puVar4[1]; - pOVar3->ramarray[2] = puVar4[2]; - puVar4 = puVar5; - pOVar3 = (OSPifRam *)(puVar1 + 3); - } while (puVar5 != &uStack8); - ((OSPifRam *)(puVar1 + 3))->ramarray[0] = *puVar5; - *(undefined *)(pOStack4->ramarray + 10) = 0xfe; - return; -} - - - -s32 __osContRamRead(OSMesgQueue *mq,int channel,u16 address,u8 *buffer) - -{ - bool bVar1; - u32 *puVar2; - u8 uVar3; - u32 *puVar4; - u32 *puVar5; - OSPifRam *pOVar6; - OSPifRam *pOVar7; - u8 *puStackX12; - int retry; - undefined4 uStack52; - u8 auStack46 [32]; - u8 uStack14; - OSPifRam *pOStack12; - int iStack8; - s32 ret; - - ret = 0; - pOStack12 = &__osPfsPifRam; - retry = 2; - __osSiGetAccess(); - __osContLastCmd = '\x02'; - __osPackRamReadData(channel,address); - ret = __osSiRawStartDma(1,&__osPfsPifRam); - osRecvMesg(mq,NULL,1); - puStackX12 = buffer; - do { - iStack8 = 0; - do { - __osPfsPifRam.ramarray[iStack8] = 0xff; - iStack8 += 1; - } while (iStack8 < 0x10); - __osPfsPifRam.pifstatus = 0; - ret = __osSiRawStartDma(0,&__osPfsPifRam); - osRecvMesg(mq,NULL,1); - pOStack12 = &__osPfsPifRam; - if ((channel != 0) && (iStack8 = 0, 0 < channel)) { - do { - iStack8 += 1; - pOStack12 = (OSPifRam *)((int)pOStack12->ramarray + 1); - } while (iStack8 < channel); - } - puVar2 = pOStack12->ramarray; - pOVar6 = pOStack12; - puVar4 = &uStack52; - do { - pOVar7 = (OSPifRam *)(pOVar6->ramarray + 3); - puVar5 = puVar4 + 3; - *puVar4 = pOVar6->ramarray[0]; - puVar4[1] = pOVar6->ramarray[1]; - puVar4[2] = pOVar6->ramarray[2]; - pOVar6 = pOVar7; - puVar4 = puVar5; - } while (pOVar7 != (OSPifRam *)(puVar2 + 9)); - *puVar5 = pOVar7->ramarray[0]; - ret = (int)((uint)uStack52._2_1_ & 0xc0) >> 4; - if (ret == 0) { - uVar3 = __osContDataCrc(auStack46); - if (uVar3 == uStack14) { - iStack8 = 0; - do { - *puStackX12 = auStack46[iStack8]; - iStack8 += 1; - puStackX12 = puStackX12 + 1; - } while (iStack8 < 0x20); - } - else { - ret = __osPfsGetStatus(mq,channel); - if (ret != 0) { - __osSiRelAccess(); - return ret; - } - ret = 4; - } - } - } while ((ret == 4) && (bVar1 = -1 < retry, retry += -1, bVar1)); - __osSiRelAccess(); - return ret; -} - - - -void __osPackRamReadData(int channel,u16 address) - -{ - u32 *puVar1; - u8 uVar2; - OSPifRam *pOVar3; - u32 *puVar4; - u32 *puVar5; - int iStack48; - undefined uStack44; - undefined uStack43; - undefined uStack42; - undefined uStack41; - ushort uStack40; - undefined auStack38 [30]; - undefined4 uStack8; - OSPifRam *pOStack4; - - pOStack4 = &__osPfsPifRam; - iStack48 = 0; - do { - __osPfsPifRam.ramarray[iStack48] = 0; - iStack48 += 1; - } while (iStack48 < 0x10); - __osPfsPifRam.pifstatus = 1; - uStack44 = 0xff; - uStack43 = 3; - uStack42 = 0x21; - uStack41 = 2; - uVar2 = __osContAddressCrc(address); - uStack8._2_1_ = 0xff; - uStack40 = (short)(char)uVar2 | address << 5; - iStack48 = 0; - do { - auStack38[iStack48] = 0xff; - iStack48 += 1; - } while (iStack48 < 0x20); - if ((channel != 0) && (iStack48 = 0, 0 < channel)) { - do { - *(undefined *)pOStack4->ramarray = 0; - iStack48 += 1; - pOStack4 = (OSPifRam *)((int)pOStack4->ramarray + 1); - } while (iStack48 < channel); - } - puVar4 = (u32 *)&uStack44; - pOVar3 = pOStack4; - do { - puVar5 = puVar4 + 3; - puVar1 = pOVar3->ramarray; - pOVar3->ramarray[0] = *puVar4; - pOVar3->ramarray[1] = puVar4[1]; - pOVar3->ramarray[2] = puVar4[2]; - puVar4 = puVar5; - pOVar3 = (OSPifRam *)(puVar1 + 3); - } while (puVar5 != &uStack8); - ((OSPifRam *)(puVar1 + 3))->ramarray[0] = *puVar5; - *(undefined *)(pOStack4->ramarray + 10) = 0xfe; - return; -} - - - -// WARNING: Restarted to delay deadcode elimination for space: stack - -void guAlignF(float mf [4] [4],float a,float x,float y,float z) - -{ - float in_a2_lo; - float in_a3_lo; - undefined4 unaff_s0_lo; - undefined4 unaff_retaddr; - float fVar1; - float fVar2; - float fVar3; - float fVar4; - undefined4 uStackX0; - float fStackX8; - float fStackX12; - undefined8 in_stack_ffffffe0; - undefined4 in_stack_fffffff0; - - flt_CODE_bss_80067DD0 = flt_800297F0; - fStackX8 = in_a2_lo; - fStackX12 = in_a3_lo; - guNormalize(&fStackX8,&fStackX12,(float *)mf); - z = z * flt_CODE_bss_80067DD0; - fVar1 = sinf(z); - fVar2 = cosf(z); - fVar3 = sqrtf(fStackX8 * fStackX8 + mf[0][0] * mf[0][0]); - guMtxIdentF((float [4] [4]) - CONCAT3232(CONCAT284(CONCAT244(CONCAT204(CONCAT164(CONCAT124(CONCAT84( - in_stack_ffffffe0,unaff_s0_lo),unaff_retaddr), - in_stack_fffffff0),fVar3),fVar2),fVar1), - CONCAT2012(CONCAT164(CONCAT124(CONCAT84(CONCAT44(uStackX0,z),fStackX8), - fStackX12),mf[0][0]),mf[0]._4_12_))); - if (fVar3 != 0.00000000) { - fVar4 = 1.00000000 / fVar3; - *(float *)y = (-mf[0][0] * fVar2 - fVar1 * fStackX12 * fStackX8) * fVar4; - *(float *)((int)y + 0x10) = (mf[0][0] * fVar1 - fVar2 * fStackX12 * fStackX8) * fVar4; - *(undefined4 *)((int)y + 0x30) = 0; - *(float *)((int)y + 0x20) = -fStackX8; - *(float *)((int)y + 4) = fVar1 * fVar3; - *(float *)((int)y + 0x14) = fVar2 * fVar3; - *(undefined4 *)((int)y + 0x34) = 0; - *(float *)((int)y + 0x24) = -fStackX12; - *(float *)((int)y + 8) = (fVar2 * fStackX8 - fVar1 * fStackX12 * mf[0][0]) * fVar4; - *(float *)((int)y + 0x18) = (-fVar1 * fStackX8 - fVar2 * fStackX12 * mf[0][0]) * fVar4; - *(undefined4 *)((int)y + 0x38) = 0; - *(undefined4 *)((int)y + 0xc) = 0; - *(undefined4 *)((int)y + 0x1c) = 0; - *(float *)((int)y + 0x28) = -mf[0][0]; - *(undefined4 *)((int)y + 0x2c) = 0; - *(undefined4 *)((int)y + 0x3c) = 0x3f800000; - } - return; -} - - - -void guAlign(Mtx *m,float a,float x,float y,float z) - -{ - undefined4 local_44; - undefined4 local_50; - undefined8 in_stack_ffffffb4; - undefined in_stack_ffffffc0 [48]; - - guAlignF((float [4] [4]) - CONCAT1648(CONCAT124(CONCAT48(local_50,in_stack_ffffffb4),local_44),in_stack_ffffffc0), - y,z,(float)&stack0xffffffc0,y); - guMtxF2L((float [4] [4]) - CONCAT1648(CONCAT124(CONCAT48(local_50,in_stack_ffffffb4),local_44),in_stack_ffffffc0), - (Mtx *)&stack0xffffffc0); - return; -} - - - -// WARNING: Restarted to delay deadcode elimination for space: stack - -void guOrthoF(float mf [4] [4],float l,float r,float b,float t,float n,float f,float scale) - -{ - float *pfVar1; - int iVar2; - undefined4 unaff_retaddr; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - undefined4 in_stack_fffffff8; - - guMtxIdentF((float [4] [4]) - CONCAT856(CONCAT44(in_stack_fffffff8,unaff_retaddr), - CONCAT3224(CONCAT284(CONCAT244(CONCAT204(CONCAT164(CONCAT124(CONCAT84( - CONCAT44(b,t),n),f),mf[0][0]),mf[0][1]),mf[0][2]), - mf[0][3]),mf._16_24_))); - *(float *)b = 2.00000000 / (n - t); - *(float *)((int)b + 0x28) = -2.00000000 / (mf[0][2] - mf[0][1]); - *(float *)((int)b + 0x14) = 2.00000000 / (mf[0][0] - f); - *(float *)((int)b + 0x30) = -(n + t) / (n - t); - *(float *)((int)b + 0x34) = -(mf[0][0] + f) / (mf[0][0] - f); - *(undefined4 *)((int)b + 0x3c) = 0x3f800000; - *(float *)((int)b + 0x38) = -(mf[0][2] + mf[0][1]) / (mf[0][2] - mf[0][1]); - iVar2 = 1; - fVar9 = *(float *)((int)b + 4); - fVar6 = *(float *)b * mf[0][3]; - fVar7 = *(float *)((int)b + 8); - fVar8 = *(float *)((int)b + 0xc); - pfVar1 = (float *)b; - if (true) { - do { - fVar5 = fVar9 * mf[0][3]; - fVar9 = pfVar1[5]; - fVar4 = fVar7 * mf[0][3]; - fVar7 = pfVar1[6]; - iVar2 += 1; - fVar3 = fVar8 * mf[0][3]; - fVar8 = pfVar1[7]; - *pfVar1 = fVar6; - fVar6 = pfVar1[4] * mf[0][3]; - pfVar1[1] = fVar5; - pfVar1[2] = fVar4; - b = (float)(pfVar1 + 4); - pfVar1[3] = fVar3; - pfVar1 = (float *)b; - } while (iVar2 != 4); - } - *(float *)b = fVar6; - ((float *)b)[1] = fVar9 * mf[0][3]; - ((float *)b)[2] = fVar7 * mf[0][3]; - ((float *)b)[3] = fVar8 * mf[0][3]; - return; -} - - - -void guOrtho(Mtx *m,float l,float r,float b,float t,float n,float f,float scale) - -{ - undefined4 unaff_retaddr; - undefined4 in_stack_00000018; - undefined4 in_stack_0000001c; - undefined4 in_stack_ffffffb8; - undefined in_stack_ffffffc0 [40]; - float in_stack_ffffffe8; - - guOrthoF((float [4] [4]) - CONCAT2440(CONCAT204(CONCAT164(CONCAT124(CONCAT84(CONCAT44(f,scale),in_stack_00000018), - in_stack_0000001c),in_stack_ffffffb8), - unaff_retaddr),in_stack_ffffffc0),b,t,(float)&stack0xffffffc0,b,t, - n,in_stack_ffffffe8); - guMtxF2L((float [4] [4]) - CONCAT2440(CONCAT204(CONCAT164(CONCAT124(CONCAT84(CONCAT44(f,scale),in_stack_00000018), - in_stack_0000001c),in_stack_ffffffb8), - unaff_retaddr),in_stack_ffffffc0),(Mtx *)&stack0xffffffc0); - return; -} - - - -short coss(ushort x) - -{ - short sVar1; - - sVar1 = sins(x + 0x4000); - return sVar1; -} - - - -short sins(ushort x) - -{ - word wVar1; - uint uVar2; - - uVar2 = ((int)(short)x & 0xffffU) >> 4; - if ((uVar2 & 0x400) == 0) { - wVar1 = sin_table[uVar2 & 0x3ff]; - } - else { - wVar1 = sin_table[(uVar2 & 0x3ff) * 0x7fffffff + 0x3ff]; - } - if ((uVar2 & 0x800) != 0) { - return (short)((uint)((int)(short)wVar1 * -0x10000) >> 0x10); - } - return (short)wVar1; -} - - - -// WARNING: Restarted to delay deadcode elimination for space: stack - -void guTranslateF(float mf_4__4_,float x,float y,float z) - -{ - undefined4 in_a2_lo; - undefined4 in_a3_lo; - undefined4 unaff_retaddr; - undefined in_stack_00000010 [40]; - undefined4 in_stack_fffffff8; - - guMtxIdentF((float [4] [4]) - CONCAT856(CONCAT44(in_stack_fffffff8,unaff_retaddr), - CONCAT1640(CONCAT124(CONCAT84(CONCAT44(y,z),in_a2_lo),in_a3_lo), - in_stack_00000010))); - *(float *)((int)y + 0x30) = z; - *(undefined4 *)((int)y + 0x34) = in_a2_lo; - *(undefined4 *)((int)y + 0x38) = in_a3_lo; - return; -} - - - -void guTranslate(Mtx *m,float x,float y,float z) - -{ - undefined4 unaff_retaddr; - undefined4 in_stack_ffffffa8; - undefined in_stack_ffffffb0 [56]; - float fStack16; - - guMtxIdentF((float [4] [4]) - CONCAT856(CONCAT44(in_stack_ffffffa8,unaff_retaddr),in_stack_ffffffb0)); - fStack16 = z; - guMtxF2L((float [4] [4])CONCAT856(CONCAT44(in_stack_ffffffa8,unaff_retaddr),in_stack_ffffffb0), - (Mtx *)&stack0xffffffc0); - return; -} - - - -// WARNING: Instruction at (ram,0x70016dac) overlaps instruction at (ram,0x70016da8) -// - -int _bcmp(void *__s1,void *__s2,size_t __n) - -{ - char cVar1; - char cVar2; - uint uVar3; - int *piVar4; - int *piVar5; - uint in_v1_lo; - uint uVar6; - uint *puVar7; - uint uVar8; - - if (0xf < (int)__n) { - if ((((uint)__s1 ^ (uint)__s2) & 3) == 0) { - uVar8 = -(int)__s1 & 3; - if (uVar8 != 0) { - uVar6 = (uint)__s1 & 3; - piVar4 = (int *)((int)__s1 - uVar6); - uVar3 = (uint)__s2 & 3; - piVar5 = (int *)((int)__s2 - uVar3); - __s1 = (void *)((int)__s1 + uVar8); - __s2 = (void *)((int)__s2 + uVar8); - if ((*piVar4 << uVar6 * 8 | in_v1_lo & 0xffffffffU >> (4 - uVar6) * 8) != - (*piVar5 << uVar3 * 8 | in_v1_lo & 0xffffffffU >> (4 - uVar3) * 8)) { - return 1; - } - } - uVar6 = __n - uVar8 & 0xfffffffc; - __n = (__n - uVar8) - uVar6; - if (uVar6 != 0) { - puVar7 = (uint *)(uVar6 + (int)__s1); - uVar8 = *(uint *)__s1; - while( true ) { - uVar6 = *(uint *)__s2; - __s1 = (uint *)__s1 + 1; - __s2 = (uint *)__s2 + 1; - if (uVar8 != uVar6) { - return 1; - } - if ((uint *)__s1 == puVar7) break; - uVar8 = *(uint *)__s1; - } - } - } - else { - uVar8 = -(int)__s2 & 3; - if (uVar8 != 0) { - puVar7 = (uint *)(uVar8 + (int)__s1); - cVar1 = *(char *)__s1; - while( true ) { - cVar2 = *(char *)__s2; - __s1 = (void *)((int)__s1 + 1); - __s2 = (void *)((int)__s2 + 1); - if (cVar1 != cVar2) { - return 1; - } - if ((uint *)__s1 == puVar7) break; - cVar1 = *(char *)__s1; - } - } - uVar6 = __n - uVar8 & 0xfffffffc; - __n = (__n - uVar8) - uVar6; - if (uVar6 != 0) { - puVar7 = (uint *)(uVar6 + (int)__s1); - uVar8 = *(uint *)__s1; - while( true ) { - uVar6 = *(uint *)__s2; - __s1 = (uint *)__s1 + 1; - __s2 = (uint *)__s2 + 1; - if (uVar8 != uVar6) { - return 1; - } - if ((uint *)__s1 == puVar7) break; - uVar6 = (uint)__s1 & 3; - uVar8 = *(uint *)((int)__s1 - uVar6) << uVar6 * 8 | - uVar8 & 0xffffffffU >> (4 - uVar6) * 8; - } - } - } - } - puVar7 = (uint *)(__n + (int)__s1); - if (0 < (int)__n) { - cVar1 = *(char *)__s1; - while( true ) { - cVar2 = *(char *)__s2; - __s1 = (void *)((int)__s1 + 1); - __s2 = (void *)((int)__s2 + 1); - if (cVar1 != cVar2) { - return 1; - } - if ((uint *)__s1 == puVar7) break; - cVar1 = *(char *)__s1; - } - return 0; - } - return 0; -} - - - -// WARNING: Restarted to delay deadcode elimination for space: stack - -void guScaleF(float mf_4__4_,float x,float y,float z) - -{ - undefined4 in_a2_lo; - undefined4 in_a3_lo; - undefined4 unaff_retaddr; - undefined in_stack_00000010 [40]; - undefined4 in_stack_fffffff8; - - guMtxIdentF((float [4] [4]) - CONCAT856(CONCAT44(in_stack_fffffff8,unaff_retaddr), - CONCAT1640(CONCAT124(CONCAT84(CONCAT44(y,z),in_a2_lo),in_a3_lo), - in_stack_00000010))); - *(float *)y = z; - *(undefined4 *)((int)y + 0x14) = in_a2_lo; - *(undefined4 *)((int)y + 0x3c) = 0x3f800000; - *(undefined4 *)((int)y + 0x28) = in_a3_lo; - return; -} - - - -void guScale(Mtx *m,float x,float y,float z) - -{ - float in_a2_lo; - undefined4 local_44; - undefined4 in_stack_ffffffb8; - undefined in_stack_ffffffc0 [56]; - - guScaleF(z,in_a2_lo,(float)&stack0xffffffc0,z); - guMtxF2L((float [4] [4])CONCAT856(CONCAT44(in_stack_ffffffb8,local_44),in_stack_ffffffc0), - (Mtx *)&stack0xffffffc0); - return; -} - - - -// WARNING: Restarted to delay deadcode elimination for space: stack - -void guLookAtReflectF(float mf [4] [4],LookAt *l,float xEye,float yEye,float zEye,float xAt, - float yAt,float zAt,float xUp,float yUp,float zUp) - -{ - undefined4 unaff_retaddr; - float fVar1; - double dVar2; - uint uVar3; - undefined8 in_f8; - double dVar4; - double dVar5; - float fVar6; - uint in_register_00001080; - float fVar7; - float fVar8; - undefined8 unaff_f20; - undefined8 unaff_f22; - undefined8 unaff_f24; - undefined8 unaff_f26; - float fVar9; - undefined8 unaff_f28; - float fVar10; - undefined8 unaff_f30; - float fVar11; - undefined4 in_stack_fffffff8; - - uVar3 = (uint)((ulonglong)in_f8 >> 0x20); - guMtxIdentF((float [4] [4]) - CONCAT568(CONCAT524(CONCAT484(CONCAT408(CONCAT328(CONCAT248(CONCAT168(CONCAT88( - unaff_f20,unaff_f22),unaff_f24),unaff_f26), - unaff_f28),unaff_f30),in_stack_fffffff8), - unaff_retaddr),CONCAT44(l,zEye))); - mf[0][1] = mf[0][1] - xAt; - mf[0][2] = mf[0][2] - yAt; - mf[0][3] = mf[0][3] - mf[0][0]; - fVar1 = sqrtf(mf[0][1] * mf[0][1] + mf[0][2] * mf[0][2] + mf[0][3] * mf[0][3]); - dVar2 = (double)((ulonglong)uVar3 << 0x20) / (double)fVar1; - fVar1 = (float)dVar2; - mf[0][1] = mf[0][1] * fVar1; - mf[0][2] = mf[0][2] * fVar1; - mf[0][3] = mf[0][3] * fVar1; - uVar3 = (uint)((ulonglong)dVar2 >> 0x20); - fVar9 = mf[1][1] * mf[0][3] - mf[1][2] * mf[0][2]; - fVar10 = mf[1][2] * mf[0][1] - mf[1][0] * mf[0][3]; - fVar11 = mf[1][0] * mf[0][2] - mf[1][1] * mf[0][1]; - fVar1 = sqrtf(fVar9 * fVar9 + fVar10 * fVar10 + fVar11 * fVar11); - fVar6 = (float)((double)((ulonglong)uVar3 << 0x20) / (double)fVar1); - fVar9 = fVar9 * fVar6; - fVar10 = fVar10 * fVar6; - fVar11 = fVar11 * fVar6; - uVar3 = (uint)((ulonglong)(double)fVar1 >> 0x20); - fVar6 = mf[0][2] * fVar11 - mf[0][3] * fVar10; - fVar7 = mf[0][3] * fVar9 - mf[0][1] * fVar11; - fVar8 = mf[0][1] * fVar10 - mf[0][2] * fVar9; - fVar1 = sqrtf(fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8); - dVar2 = dbl_80029800; - fVar1 = (float)((double)((ulonglong)uVar3 << 0x20) / (double)fVar1); - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar8 = fVar8 * fVar1; - dVar4 = (double)fVar9 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dbl_80029800 <= dVar4) { - dVar4 = dbl_80029800; - } - dVar5 = (double)fVar10 * (double)((ulonglong)in_register_00001080 << 0x20); - *(undefined *)((int)zEye + 8) = (char)(int)dVar4; - if (dVar2 <= dVar5) { - dVar5 = dVar2; - } - dVar4 = (double)fVar11 * (double)((ulonglong)in_register_00001080 << 0x20); - *(undefined *)((int)zEye + 9) = (char)(int)dVar5; - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - *(undefined *)((int)zEye + 10) = (char)(int)dVar4; - dVar4 = (double)fVar6 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - *(undefined *)((int)zEye + 0x18) = (char)(int)dVar4; - dVar4 = (double)fVar7 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - *(undefined *)((int)zEye + 0x19) = (char)(int)dVar4; - dVar4 = (double)fVar8 * (double)((ulonglong)in_register_00001080 << 0x20); - if (dVar2 <= dVar4) { - dVar4 = dVar2; - } - *(undefined *)zEye = 0; - *(undefined *)((int)zEye + 1) = 0; - *(undefined *)((int)zEye + 2) = 0; - *(undefined *)((int)zEye + 3) = 0; - *(undefined *)((int)zEye + 4) = 0; - *(undefined *)((int)zEye + 5) = 0; - *(undefined *)((int)zEye + 6) = 0; - *(undefined *)((int)zEye + 7) = 0; - *(undefined *)((int)zEye + 0x10) = 0; - *(undefined *)((int)zEye + 0x11) = 0x80; - *(undefined *)((int)zEye + 0x12) = 0; - *(undefined *)((int)zEye + 0x13) = 0; - *(undefined *)((int)zEye + 0x14) = 0; - *(undefined *)((int)zEye + 0x15) = 0x80; - *(undefined *)((int)zEye + 0x16) = 0; - *(undefined *)((int)zEye + 0x17) = 0; - *(undefined *)((int)zEye + 0x1a) = (char)(int)dVar4; - *(float *)l->l = fVar9; - *(float *)(l->l + 0x10) = fVar10; - *(float *)l[1].l = fVar11; - *(float *)(l->l + 8) = mf[0][1]; - *(float *)(l->l + 0x18) = mf[0][2]; - *(float *)(l[1].l + 8) = mf[0][3]; - *(float *)(l->l + 4) = fVar6; - *(float *)(l->l + 0x14) = fVar7; - *(float *)(l[1].l + 4) = fVar8; - *(float *)(l[1].l + 0x10) = -(xAt * fVar9 + yAt * fVar10 + mf[0][0] * fVar11); - *(float *)(l[1].l + 0x14) = -(xAt * fVar6 + yAt * fVar7 + mf[0][0] * fVar8); - *(undefined4 *)(l->l + 0xc) = 0; - *(undefined4 *)(l->l + 0x1c) = 0; - *(undefined4 *)(l[1].l + 0xc) = 0; - *(undefined4 *)(l[1].l + 0x1c) = 0x3f800000; - *(float *)(l[1].l + 0x18) = -(xAt * mf[0][1] + yAt * mf[0][2] + mf[0][0] * mf[0][3]); - return; -} - - - -void guLookAtReflect(Mtx *m,LookAt *l,float xEye,float yEye,float zEye,float xAt,float yAt,float zAt - ,float xUp,float yUp,float zUp) - -{ - undefined4 unaff_retaddr; - undefined4 in_stack_00000024; - undefined4 in_stack_00000028; - undefined8 in_stack_ffffffb4; - undefined in_stack_ffffffc0 [24]; - float in_stack_ffffffd8; - float in_stack_ffffffdc; - float in_stack_ffffffe0; - float in_stack_ffffffe4; - - guLookAtReflectF((float [4] [4]) - CONCAT4024(CONCAT364(CONCAT288(CONCAT244(CONCAT204(CONCAT164(CONCAT124(CONCAT84 - (CONCAT44(yAt,zAt),xUp),yUp),zUp), - in_stack_00000024),in_stack_00000028), - in_stack_ffffffb4),unaff_retaddr), - in_stack_ffffffc0),(LookAt *)&stack0xffffffc0,zEye,xAt,(float)l,zEye - ,xAt,in_stack_ffffffd8,in_stack_ffffffdc,in_stack_ffffffe0,in_stack_ffffffe4); - guMtxF2L((float [4] [4]) - CONCAT4024(CONCAT364(CONCAT288(CONCAT244(CONCAT204(CONCAT164(CONCAT124(CONCAT84( - CONCAT44(yAt,zAt),xUp),yUp),zUp),in_stack_00000024 - ),in_stack_00000028),in_stack_ffffffb4), - unaff_retaddr),in_stack_ffffffc0),(Mtx *)&stack0xffffffc0); - return; -} - - - -void guLookAtF(float mf [4] [4],float xEye,float yEye,float zEye,float xAt,float yAt,float zAt, - float xUp,float yUp,float zUp) - -{ - undefined4 unaff_s0_lo; - undefined4 unaff_retaddr; - float fVar1; - float fVar2; - double dVar3; - uint uVar4; - undefined8 in_f8; - float fVar5; - float fVar6; - undefined8 unaff_f20; - undefined8 unaff_f22; - undefined8 unaff_f24; - undefined8 unaff_f26; - float fVar7; - undefined8 unaff_f28; - float fVar8; - undefined8 unaff_f30; - float fVar9; - undefined8 in_stack_ffffffc0; - - uVar4 = (uint)((ulonglong)in_f8 >> 0x20); - guMtxIdentF((float [4] [4]) - CONCAT604(CONCAT564(CONCAT488(CONCAT408(CONCAT328(CONCAT248(CONCAT168(CONCAT88( - in_stack_ffffffc0,unaff_f20),unaff_f22),unaff_f24) - ,unaff_f26),unaff_f28),unaff_f30),unaff_s0_lo), - unaff_retaddr)); - mf[0][0] = mf[0][0] - xAt; - mf[0][1] = mf[0][1] - yAt; - mf[0][2] = mf[0][2] - zAt; - fVar1 = sqrtf(mf[0][0] * mf[0][0] + mf[0][1] * mf[0][1] + mf[0][2] * mf[0][2]); - dVar3 = (double)((ulonglong)uVar4 << 0x20) / (double)fVar1; - fVar1 = (float)dVar3; - mf[0][0] = mf[0][0] * fVar1; - mf[0][1] = mf[0][1] * fVar1; - mf[0][2] = mf[0][2] * fVar1; - uVar4 = (uint)((ulonglong)dVar3 >> 0x20); - fVar7 = mf[1][0] * mf[0][2] - mf[1][1] * mf[0][1]; - fVar8 = mf[1][1] * mf[0][0] - mf[0][3] * mf[0][2]; - fVar9 = mf[0][3] * mf[0][1] - mf[1][0] * mf[0][0]; - fVar1 = sqrtf(fVar7 * fVar7 + fVar8 * fVar8 + fVar9 * fVar9); - fVar2 = (float)((double)((ulonglong)uVar4 << 0x20) / (double)fVar1); - fVar7 = fVar7 * fVar2; - fVar8 = fVar8 * fVar2; - fVar9 = fVar9 * fVar2; - uVar4 = (uint)((ulonglong)(double)fVar1 >> 0x20); - fVar2 = mf[0][1] * fVar9 - mf[0][2] * fVar8; - fVar5 = mf[0][2] * fVar7 - mf[0][0] * fVar9; - fVar6 = mf[0][0] * fVar8 - mf[0][1] * fVar7; - fVar1 = sqrtf(fVar2 * fVar2 + fVar5 * fVar5 + fVar6 * fVar6); - fVar1 = (float)((double)((ulonglong)uVar4 << 0x20) / (double)fVar1); - *(float *)zEye = fVar7; - *(float *)((int)zEye + 0x10) = fVar8; - *(float *)((int)zEye + 0x20) = fVar9; - *(float *)((int)zEye + 4) = fVar2 * fVar1; - *(float *)((int)zEye + 0x14) = fVar5 * fVar1; - *(float *)((int)zEye + 0x30) = -(xAt * fVar7 + yAt * fVar8 + zAt * fVar9); - *(float *)((int)zEye + 0x24) = fVar6 * fVar1; - *(float *)((int)zEye + 8) = mf[0][0]; - *(float *)((int)zEye + 0x18) = mf[0][1]; - *(float *)((int)zEye + 0x28) = mf[0][2]; - *(undefined4 *)((int)zEye + 0xc) = 0; - *(undefined4 *)((int)zEye + 0x1c) = 0; - *(undefined4 *)((int)zEye + 0x2c) = 0; - *(float *)((int)zEye + 0x34) = - -(xAt * fVar2 * fVar1 + yAt * fVar5 * fVar1 + zAt * fVar6 * fVar1); - *(undefined4 *)((int)zEye + 0x3c) = 0x3f800000; - *(float *)((int)zEye + 0x38) = -(xAt * mf[0][0] + yAt * mf[0][1] + zAt * mf[0][2]); - return; -} - - - -void guLookAt(Mtx *m,float xEye,float yEye,float zEye,float xAt,float yAt,float zAt,float xUp, - float yUp,float zUp) - -{ - undefined4 unaff_retaddr; - undefined4 in_stack_00000020; - undefined4 in_stack_00000024; - undefined4 in_stack_ffffffb8; - undefined in_stack_ffffffc0 [32]; - float in_stack_ffffffe0; - float in_stack_ffffffe4; - float in_stack_ffffffe8; - - guLookAtF((float [4] [4]) - CONCAT3232(CONCAT284(CONCAT244(CONCAT204(CONCAT164(CONCAT124(CONCAT84(CONCAT44(zAt,xUp - ),yUp),zUp),in_stack_00000020),in_stack_00000024), - in_stack_ffffffb8),unaff_retaddr),in_stack_ffffffc0), - zEye,xAt,(float)&stack0xffffffc0,zEye,xAt,yAt,in_stack_ffffffe0,in_stack_ffffffe4, - in_stack_ffffffe8); - guMtxF2L((float [4] [4]) - CONCAT3232(CONCAT284(CONCAT244(CONCAT204(CONCAT164(CONCAT124(CONCAT84(CONCAT44(zAt,xUp) - ,yUp),zUp), - in_stack_00000020),in_stack_00000024 - ),in_stack_ffffffb8),unaff_retaddr), - in_stack_ffffffc0),(Mtx *)&stack0xffffffc0); - return; -} - - - -// WARNING: Restarted to delay deadcode elimination for space: stack - -void guRotateF(float mf [4] [4],float a,float x,float y,float z) - -{ - float in_a2_lo; - float in_a3_lo; - undefined4 unaff_s0_lo; - undefined4 unaff_retaddr; - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - undefined4 uStackX0; - float fStackX8; - float fStackX12; - undefined8 in_stack_ffffffd8; - undefined4 in_stack_ffffffe8; - - flt_CODE_bss_80067DE0 = flt_80029810; - fStackX8 = in_a2_lo; - fStackX12 = in_a3_lo; - guNormalize(&fStackX8,&fStackX12,(float *)mf); - z = z * flt_CODE_bss_80067DE0; - fVar1 = sinf(z); - fVar2 = cosf(z); - fVar3 = 1.00000000 - fVar2; - fVar4 = fStackX8 * fStackX12 * fVar3; - fVar5 = fStackX12 * mf[0][0] * fVar3; - fVar3 = mf[0][0] * fStackX8 * fVar3; - guMtxIdentF((float [4] [4]) - CONCAT4024(CONCAT364(CONCAT324(CONCAT284(CONCAT244(CONCAT204(CONCAT164(CONCAT124( - CONCAT84(in_stack_ffffffd8,unaff_s0_lo), - unaff_retaddr),in_stack_ffffffe8),fVar3),fVar5), - fVar4),fVar2),fVar1), - CONCAT204(CONCAT164(CONCAT124(CONCAT84(CONCAT44(uStackX0,z),fStackX8), - fStackX12),mf[0][0]),mf[0][1]))); - *(float *)y = (1.00000000 - fStackX8 * fStackX8) * fVar2 + fStackX8 * fStackX8; - *(float *)((int)y + 0x24) = fVar5 - fStackX8 * fVar1; - *(float *)((int)y + 0x18) = fStackX8 * fVar1 + fVar5; - *(float *)((int)y + 0x14) = (1.00000000 - fStackX12 * fStackX12) * fVar2 + fStackX12 * fStackX12 - ; - *(float *)((int)y + 0x20) = fStackX12 * fVar1 + fVar3; - *(float *)((int)y + 8) = fVar3 - fStackX12 * fVar1; - *(float *)((int)y + 0x28) = (1.00000000 - mf[0][0] * mf[0][0]) * fVar2 + mf[0][0] * mf[0][0]; - *(float *)((int)y + 0x10) = fVar4 - mf[0][0] * fVar1; - *(float *)((int)y + 4) = mf[0][0] * fVar1 + fVar4; - return; -} - - - -void guRotate(Mtx *m,float a,float x,float y,float z) - -{ - undefined4 local_44; - undefined4 local_50; - undefined8 in_stack_ffffffb4; - undefined in_stack_ffffffc0 [48]; - - guRotateF((float [4] [4]) - CONCAT1648(CONCAT124(CONCAT48(local_50,in_stack_ffffffb4),local_44),in_stack_ffffffc0) - ,y,z,(float)&stack0xffffffc0,y); - guMtxF2L((float [4] [4]) - CONCAT1648(CONCAT124(CONCAT48(local_50,in_stack_ffffffb4),local_44),in_stack_ffffffc0), - (Mtx *)&stack0xffffffc0); - return; -} - - - -longlong __d_to_ll(double param_1) - -{ - return (longlong)param_1 >> 0x20; -} - - - -longlong __f_to_ll(float param_1) - -{ - return (longlong)param_1 >> 0x20; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong __d_to_ull(double param_1) - -{ - double dVar1; - ulonglong uVar2; - - if (false) { - dVar1 = ROUND(param_1); - } - else { - dVar1 = FLOOR(param_1); - } - uVar2 = (ulonglong)dVar1; - if (true) { - if (-1 < (longlong)uVar2) goto LAB_700179d4; - } - else { - param_1 = param_1 - (double)(uVar2 & 0xffffffff00000000); - if (false) { - param_1 = ROUND(param_1); - } - else { - param_1 = FLOOR(param_1); - } - if (true) { - uVar2 = (longlong)param_1 | _dword_80029820; - goto LAB_700179d4; - } - } - uVar2 = 0xffffffffffffffff; -LAB_700179d4: - return (longlong)uVar2 >> 0x20; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong __f_to_ull(float param_1) - -{ - float fVar1; - ulonglong uVar2; - - if (false) { - fVar1 = ROUND(param_1); - } - else { - fVar1 = FLOOR(param_1); - } - uVar2 = (ulonglong)fVar1; - if (true) { - if (-1 < (longlong)uVar2) goto LAB_70017a70; - } - else { - if (false) { - fVar1 = ROUND(param_1 - 9223372036854775808.00000000); - } - else { - fVar1 = FLOOR(param_1 - 9223372036854775808.00000000); - } - if (true) { - uVar2 = (longlong)fVar1 | _dword_80029828; - goto LAB_70017a70; - } - } - uVar2 = 0xffffffffffffffff; -LAB_70017a70: - return (longlong)uVar2 >> 0x20; -} - - - -double __ll_to_d(undefined4 param_1,undefined4 param_2) - -{ - return (double)CONCAT44(param_1,param_2); -} - - - -float __ll_to_f(undefined4 param_1,undefined4 param_2) - -{ - return (float)CONCAT44(param_1,param_2); -} - - - -double __ull_to_d(int param_1,undefined4 param_2) - -{ - double dVar1; - uint in_register_00001030; - - dVar1 = (double)CONCAT44(param_1,param_2); - if (param_1 < 0) { - dVar1 = dVar1 + (double)((ulonglong)in_register_00001030 << 0x20); - } - return dVar1; -} - - - -float __ull_to_f(int param_1,undefined4 param_2) - -{ - float fVar1; - - fVar1 = (float)CONCAT44(param_1,param_2); - if (param_1 < 0) { - fVar1 = fVar1 + 4294967296.00000000; - } - return fVar1; -} - - - -void __osSetSR(u32 param_1) - -{ - setCopReg(0,Status,(longlong)(int)param_1,0); - return; -} - - - -u32 __osGetSR(void) - -{ - return Status; -} - - - -s32 __osSiRawReadIo(u32 devAddr,u32 *data) - -{ - int iVar1; - s32 ret; - - iVar1 = __osSiDeviceBusy(); - if (iVar1 == 0) { - ret = 0; - *data = *(u32 *)(devAddr | 0xa0000000); - } - else { - ret = -1; - } - return ret; -} - - - -s32 __osSpRawWriteIo(u32 param_1,u32 param_2) - -{ - int iVar1; - s32 ret; - - iVar1 = __osSiDeviceBusy(); - if (iVar1 == 0) { - ret = 0; - *(u32 *)(param_1 | 0xa0000000) = param_2; - } - else { - ret = -1; - } - return ret; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 osPiRawReadIo(u32 devAddr,u32 *data) - -{ - do { - } while ((_PI_STATUS_REG & 3) != 0); - *data = *(u32 *)(_osRomBase | devAddr | 0xa0000000); - return 0; -} - - - -void bzero(void *__s,size_t __n) - -{ - undefined4 *puVar1; - uint uVar2; - uint uVar3; - undefined4 *puVar4; - - if (0xb < (int)__n) { - uVar2 = -(int)__s & 3; - if (uVar2 != 0) { - uVar3 = (uint)__s & 3; - *(uint *)((int)__s - uVar3) = - *(uint *)((int)__s - uVar3) & -1 << (4 - uVar3) * 8 | 0U >> uVar3 * 8; - __s = (void *)((int)__s + uVar2); - } - uVar3 = __n - uVar2 & 0xffffffe0; - uVar2 = (__n - uVar2) - uVar3; - if (uVar3 != 0) { - puVar4 = (undefined4 *)(uVar3 + (int)__s); - puVar1 = (undefined4 *)__s; - do { - __s = puVar1 + 8; - *puVar1 = 0; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - puVar1[4] = 0; - puVar1[5] = 0; - puVar1[6] = 0; - puVar1[7] = 0; - puVar1 = (undefined4 *)__s; - } while ((undefined4 *)__s != puVar4); - } - uVar3 = uVar2 & 0xfffffffc; - __n = uVar2 - uVar3; - if (uVar3 != 0) { - puVar4 = (undefined4 *)(uVar3 + (int)__s); - puVar1 = (undefined4 *)__s; - do { - __s = puVar1 + 1; - *puVar1 = 0; - puVar1 = (undefined4 *)__s; - } while ((undefined4 *)__s != puVar4); - } - } - if (0 < (int)__n) { - puVar1 = (undefined4 *)__s; - do { - puVar4 = (undefined4 *)((int)puVar1 + 1); - *(undefined *)puVar1 = 0; - puVar1 = puVar4; - } while (puVar4 != (undefined4 *)(__n + (int)__s)); - } - return; -} - - - -void __osSetHWIntrRoutine(OSHWIntr interrupt,s32 *handler) - -{ - u32 mask; - - mask = __osDisableInt(); - *(s32 **)(interrupt * 4 + -0x7ffd8900) = handler; - __osRestoreInt(mask); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 __osLeoInterrupt(void) - -{ - ushort uVar1; - uint *puVar2; - OSPiHandle *pOVar3; - uint uVar4; - s32 sVar5; - u32 *puVar6; - u32 *puVar7; - __OSTranxInfo *p_Var8; - - uVar4 = _data; - pOVar3 = __osDiskHandle; - if (osDiskExist == 0) { - sVar5 = 0; - } - else { - p_Var8 = &__osDiskHandle->transferInfo; - puVar6 = &p_Var8->cmdType + (uint)(__osDiskHandle->transferInfo).blockNum * 9; - puVar7 = puVar6 + 6; - if ((_PI_STATUS_REG & 1) == 0) { - do { - } while ((_PI_STATUS_REG & 2) != 0); - if ((_data & 0x2000000) == 0) { - if ((_data & 0x8000000) == 0) { - if (p_Var8->cmdType == 1) { - if ((_data & 0x40000000) == 0) { - uVar1 = (__osDiskHandle->transferInfo).transferMode; - if ((__osDiskHandle->transferInfo).sectorNum + 1 == - ((uint)uVar1 * 0x14 + (uint)uVar1) * 4 + (uint)uVar1) { - _PI_STATUS_REG = 2; - __OSGlobalIntMask = - (undefined *)((uint)__OSGlobalIntMask | 0x100401); - *puVar7 = 0; - __osLeoResume(); - sVar5 = 1; - } - else { - *puVar7 = 6; - __osLeoAbnormalResume(); - sVar5 = 1; - } - } - else { - puVar6[7] = puVar6[7] + puVar6[9]; - (pOVar3->transferInfo).sectorNum = (pOVar3->transferInfo).sectorNum + 1; - osEPiRawStartDma(__osDiskHandle,1,0x5000400,(void *)puVar6[7],puVar6[9]) - ; - sVar5 = 1; - } - } - else { - if (p_Var8->cmdType == 0) { - if ((__osDiskHandle->transferInfo).transferMode == 3) { - if ((int)(puVar6[10] + 0x11) < - (__osDiskHandle->transferInfo).sectorNum) { - *puVar7 = 0; - __osLeoAbnormalResume(); - return 1; - } - if ((_data & 0x40000000) == 0) { - *puVar7 = 0x11; - __osLeoAbnormalResume(); - return 1; - } - } - else { - puVar6[7] = puVar6[7] + puVar6[9]; - } - if ((((_ASIC_BM_CTL & 0x200000) != 0) && - ((_ASIC_BM_CTL & 0x400000) != 0)) || - ((_ASIC_BM_CTL & 0x2000000) != 0)) { - if (puVar6[10] < 4) { - puVar6[puVar6[10] + 0xb] = (pOVar3->transferInfo).sectorNum + 1; - } - else { - if (((pOVar3->transferInfo).transferMode != 3) || - (0x52 < (pOVar3->transferInfo).sectorNum)) { - *puVar7 = 0x11; - __osLeoAbnormalResume(); - return 1; - } - } - puVar6[10] = puVar6[10] + 1; - } - if ((uVar4 & 0x10000000) == 0) { - if ((((pOVar3->transferInfo).sectorNum == -1) && - ((pOVar3->transferInfo).transferMode == 2)) && - ((pOVar3->transferInfo).blockNum == 1)) { - if (((pOVar3->transferInfo).block[0].C1ErrNum == 0) && - (puVar2 = (uint *)(pOVar3->transferInfo).block[0].C2Addr, - (puVar2[3] | *puVar2 | puVar2[1] | puVar2[2]) != 0)) { - *puVar7 = 6; - __osLeoAbnormalResume(); - return 1; - } - *puVar7 = 0; - __osLeoResume(); - } - (pOVar3->transferInfo).sectorNum = - (pOVar3->transferInfo).sectorNum + 1; - if ((uVar4 & 0x40000000) == 0) { - if ((pOVar3->transferInfo).sectorNum < 0x55) { - *puVar7 = 6; - __osLeoAbnormalResume(); - sVar5 = 1; - } - else { - sVar5 = 1; - } - } - else { - if ((pOVar3->transferInfo).sectorNum < 0x55) { - osEPiRawStartDma(__osDiskHandle,0,0x5000400, - (void *)puVar6[7],puVar6[9]); - sVar5 = 1; - *puVar7 = 0; - } - else { - *puVar7 = 6; - __osLeoAbnormalResume(); - sVar5 = 1; - } - } - } - else { - if ((pOVar3->transferInfo).sectorNum != 0x57) { - *puVar7 = 6; - __osLeoAbnormalResume(); - } - if (((pOVar3->transferInfo).transferMode == 2) && - ((pOVar3->transferInfo).blockNum == 0)) { - (pOVar3->transferInfo).blockNum = 1; - (pOVar3->transferInfo).sectorNum = -1; - (pOVar3->transferInfo).block[1].dramAddr = - (void *)((int)(pOVar3->transferInfo).block[1].dramAddr - - (pOVar3->transferInfo).block[1].sectorSize); - } - else { - _PI_STATUS_REG = 2; - __OSGlobalIntMask = - (undefined *)((uint)__OSGlobalIntMask | 0x100401); - } - osEPiRawStartDma(__osDiskHandle,0,0x5000000,(void *)puVar6[8], - puVar6[9] << 2); - sVar5 = 1; - *puVar7 = 0; - } - } - else { - *puVar7 = 0x4b; - __osLeoAbnormalResume(); - sVar5 = 1; - } - } - } - else { - *puVar7 = 3; - __osLeoResume(); - _PI_STATUS_REG = 2; - __OSGlobalIntMask = (undefined *)((uint)__OSGlobalIntMask | 0x100401); - sVar5 = 1; - } - } - else { - do { - } while ((_PI_STATUS_REG & 2) != 0); - sVar5 = 0; - _ASIC_BM_CTL = (__osDiskHandle->transferInfo).bmCtlShadow | 0x1000000; - *puVar7 = 0; - } - } - else { - _PI_STATUS_REG = 3; - if (true) { - do { - } while (true); - } - if ((_data & 0x2000000) != 0) { - if (true) { - do { - } while (true); - } - _ASIC_BM_CTL = (__osDiskHandle->transferInfo).bmCtlShadow | 0x1000000; - } - *puVar7 = 0x4b; - __osLeoAbnormalResume(); - sVar5 = 1; - } - } - return sVar5; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __osLeoAbnormalResume(void) - -{ - do { - } while ((_PI_STATUS_REG & 2) != 0); - do { - } while ((_PI_STATUS_REG & 2) != 0); - _ASIC_BM_CTL = *(undefined4 *)(__osDiskHandle + 0x24); - __osLeoResume(); - __OSGlobalIntMask = (undefined *)((uint)__OSGlobalIntMask | 0x100401); - _PI_STATUS_REG = 2; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void __osLeoResume(void) - -{ - int iVar1; - OSThread *new; - int iVar2; - OSMesgQueue *mq; - - mq = es[0].messageQueue; - if ((es[0].messageQueue != NULL) && - ((es[0].messageQueue)->validCount < (es[0].messageQueue)->msgCount)) { - iVar1 = (es[0].messageQueue)->msgCount; - iVar2 = (es[0].messageQueue)->first + (es[0].messageQueue)->validCount; - (es[0].messageQueue)->msg[iVar2 % iVar1] = es[0].message; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - mq->validCount = mq->validCount + 1; - if (mq->mtqueue->next != NULL) { - new = __osPopThread((OSThread *)mq); - __osEnqueueThread(&__osRunQueue,new); - } - } - return; -} - - - -u32 __osDisableInt(void) - -{ - setCopReg(0,CONCAT44(uRegister00002060,Status),(longlong)(int)Status & 0xfffffffffffffffe,0); - return (u32)(Status & 1); -} - - - -void __osRestoreInt(u32 mask) - -{ - setCopReg(0,CONCAT44(uRegister00002060,Status),(longlong)(int)(Status | mask),0); - return; -} - - - -void __osTimerServicesInit(void) - -{ - undefined4 uVar1; - OSTimer *pOVar2; - - __osCurrentTime._4_4_ = 0; - __osCurrentTime._0_4_ = 0; - __osBaseCounter = 0; - __osViIntrCount = 0; - *(OSTimer **)&__osTimerList->prev = __osTimerList; - __osTimerList->next = __osTimerList->prev; - pOVar2 = __osTimerList; - *(undefined4 *)&__osTimerList->value = 0; - *(undefined4 *)((int)&pOVar2->value + 4) = 0; - pOVar2 = __osTimerList; - uVar1 = *(undefined4 *)((int)&__osTimerList->value + 4); - *(undefined4 *)&__osTimerList->interval = *(undefined4 *)&__osTimerList->value; - *(undefined4 *)((int)&pOVar2->interval + 4) = uVar1; - __osTimerList->mq = NULL; - __osTimerList->msg = NULL; - return; -} - - - -void __osTimerInterrupt(void) - -{ - OSTimer *t; - uint uVar1; - int iVar2; - u32 uVar3; - uint uVar4; - - if ((OSTimer *)__osTimerList->next != __osTimerList) { - while (t = (OSTimer *)__osTimerList->next, t != __osTimerList) { - uVar3 = osGetCount(); - uVar4 = uVar3 - __osTimerCounter; - __osTimerCounter = uVar3; - if ((true) && ((*(int *)&t->value != 0 || (uVar4 < *(uint *)((int)&t->value + 4))))) { - uVar1 = *(uint *)((int)&t->value + 4); - iVar2 = *(int *)&t->value; - *(int *)((int)&t->value + 4) = uVar1 - uVar4; - *(uint *)&t->value = iVar2 - (uint)(uVar1 < uVar4); - __osSetTimerIntr((longlong)*(int *)&t->value); - return; - } - t->prev->next = t->next; - t->next->prev = t->prev; - t->next = NULL; - t->prev = NULL; - if (t->mq != NULL) { - osSendMesg(t->mq,t->msg,0); - } - iVar2 = *(int *)((int)&t->interval + 4); - if ((*(int *)&t->interval != 0) || (iVar2 != 0)) { - *(int *)&t->value = *(int *)&t->interval; - *(int *)((int)&t->value + 4) = iVar2; - __osInsertTimer(t); - } - } - __osSetCompare(0); - __osTimerCounter = 0; - } - return; -} - - - -void __osSetTimerIntr(OSTime tim) - -{ - u32 mask; - int in_a1_lo; - - mask = __osDisableInt(); - __osTimerCounter = osGetCount(); - __osSetCompare(__osTimerCounter + in_a1_lo); - __osRestoreInt(mask); - return; -} - - - -OSTime __osInsertTimer(OSTimer *t) - -{ - uint uVar1; - int iVar2; - u32 mask; - uint uStack16; - uint uStack12; - OSTimer *pOStack4; - - mask = __osDisableInt(); - pOStack4 = (OSTimer *)__osTimerList->next; - uStack12 = *(uint *)((int)&t->value + 4); - uStack16 = *(uint *)&t->value; - if (pOStack4 != __osTimerList) { - if ((*(uint *)&pOStack4->value <= uStack16) && - ((*(uint *)&pOStack4->value < uStack16 || - (*(uint *)((int)&pOStack4->value + 4) < uStack12)))) { - while( true ) { - uVar1 = *(uint *)((int)&pOStack4->value + 4); - uStack16 = (uStack16 - *(int *)&pOStack4->value) - (uint)(uStack12 < uVar1); - uStack12 -= uVar1; - pOStack4 = (OSTimer *)pOStack4->next; - if (pOStack4 == __osTimerList) break; - if ((uStack16 <= *(uint *)&((OSTimer_s *)pOStack4)->value) && - ((uStack16 < *(uint *)&((OSTimer_s *)pOStack4)->value || - (uStack12 <= *(uint *)((int)&((OSTimer_s *)pOStack4)->value + 4))))) break; - } - } - } - *(uint *)&t->value = uStack16; - *(uint *)((int)&t->value + 4) = uStack12; - if (pOStack4 != __osTimerList) { - uVar1 = *(uint *)((int)&((OSTimer_s *)pOStack4)->value + 4); - iVar2 = *(int *)&((OSTimer_s *)pOStack4)->value; - *(int *)((int)&((OSTimer_s *)pOStack4)->value + 4) = uVar1 - uStack12; - *(uint *)&((OSTimer_s *)pOStack4)->value = (iVar2 - uStack16) - (uint)(uVar1 < uStack12); - } - *(OSTimer **)&t->next = pOStack4; - t->prev = ((OSTimer_s *)pOStack4)->prev; - *(OSTimer **)&((OSTimer_s *)pOStack4)->prev->next = t; - *(OSTimer **)&((OSTimer_s *)pOStack4)->prev = t; - __osRestoreInt(mask); - return (longlong)(int)uStack16; -} - - - -OSPri osGetThreadPri(OSThread *t) - -{ - if (t == NULL) { - t = __osRunningThread; - } - return t->priority; -} - - - -// WARNING: Heritage AFTER dead removal. Example location: r0x80028018 : 0x70018b14 -// WARNING: Globals starting with '_' overlap smaller symbols at the same address -// WARNING: Restarted to delay deadcode elimination for space: ram - -void __osViInit(void) - -{ - bzero(vi,0x60); - __osViCurr = vi; - __osViNext = vi + 1; - vi[1].retraceCount = 1; - vi[0].retraceCount = 1; - if (osTvType == 0) { - vi[1].modep = (OSViMode *)osViModePalLan1; - osViClock = 0x2f5b2d2; - } - else { - vi[1].modep = (OSViMode *)osViModeNtscLan1; - osViClock = 0x2e6d354; - } - vi[1].state = 0x20; - vi[1].control = ((vi[1].modep)->comRegs).ctrl; - do { - } while (10 < _VI_CURRENT_REG); - _VI_CONTROL_REG = 0; - __osViSwapContext(); - return; -} - - - -__OSViContext * __osViGetCurrentContext(void) - -{ - return __osViCurr; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __osViSwapContext(void) - -{ - float fVar1; - __OSViContext *p_Var2; - uint uVar3; - __OSViContext *p_Var4; - __OSViContext *p_Var5; - float fVar6; - u32 uVar7; - u32 hStart; - u32 uStack12; - __OSViContext *vc; - OSViMode *vm; - - vc = __osViNext; - vm = __osViNext->modep; - uVar3 = _VI_CURRENT_REG & 1; - uStack12 = osVirtualToPhysical(__osViNext->framep); - uStack12 = vm->fldRegs[uVar3].origin + uStack12; - if ((vc->state & 2) == 0) { - *(u32 *)&(vc->x).field_0x8 = (vm->comRegs).xScale; - } - else { - *(uint *)&(vc->x).field_0x8 = - *(uint *)&(vc->x).field_0x8 | (vm->comRegs).xScale & 0xfffff000; - } - if ((vc->state & 4) == 0) { - vc->pad = vm->fldRegs[uVar3].yScale; - goto LAB_70018d30; - } - fVar6 = (float)(vm->fldRegs[uVar3].yScale & 0xfff); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar6 = *(float *)((int)&(vc->y).factor + 2) * fVar6; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar7 = (u32)fVar1; - if (true) { - if ((int)uVar7 < 0) goto LAB_70018cc4; - } - else { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) { -LAB_70018cc4: - uVar7 = 0xffffffff; - } - else { - uVar7 = (int)fVar6 | 0x80000000; - } - } - vc->pad = uVar7; - vc->pad = vc->pad | vm->fldRegs[uVar3].yScale & 0xfffff000; -LAB_70018d30: - hStart = (vm->comRegs).hStart; - if ((vc->state & 0x20) != 0) { - hStart = 0; - } - if ((vc->state & 0x40) != 0) { - vc->pad = 0; - uStack12 = osVirtualToPhysical(vc->framep); - } - if ((vc->state & 0x80) != 0) { - vc->pad = ((uint)*(ushort *)&(vc->y).field_0x6 & 0x3ff) << 0x10; - uStack12 = osVirtualToPhysical(vc->framep); - } - p_Var2 = __osViCurr; - _VI_ORIGIN_REG = uStack12; - _VI_WIDTH_REG = (vm->comRegs).width; - _VI_BURST_REG = (vm->comRegs).burst; - _VI_V_SYNC_REG = (vm->comRegs).vSync; - _VI_H_SYNC_REG = (vm->comRegs).hSync; - _VI_LEAP_REG = (vm->comRegs).leap; - _VI_H_START_REG = hStart; - _VI_V_START_REG = vm->fldRegs[uVar3].vStart; - _VI_V_BURST_REG = vm->fldRegs[uVar3].vBurst; - _VI_V_INTR_REG = vm->fldRegs[uVar3].vIntr; - _VI_X_SCALE_REG = *(undefined4 *)&(vc->x).field_0x8; - _VI_Y_SCALE_REG = vc->pad; - _VI_CONTROL_REG = vc->control; - __osViNext = __osViCurr; - __osViCurr = vc; - p_Var4 = vc; - do { - p_Var5 = (__OSViContext *)&p_Var4->control; - *(undefined4 *)p_Var2 = *(undefined4 *)p_Var4; - p_Var2->framep = p_Var4->framep; - p_Var2->modep = p_Var4->modep; - p_Var4 = p_Var5; - p_Var2 = (__OSViContext *)&p_Var2->control; - } while (p_Var5 != vc + 1); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -u32 __osSpGetStatus(void) - -{ - return _SP_STATUS_REG; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void __osSpSetStatus(u32 data) - -{ - _SP_STATUS_REG = data; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 __osSpSetPc(u32 data) - -{ - s32 sVar1; - - if ((_SP_STATUS_REG & 1) == 0) { - sVar1 = -1; - } - else { - sVar1 = 0; - _SP_PC_REG = data; - } - return sVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 __osSpRawStartDma(s32 direction,u32 devAddr,void *dramAddr,u32 size) - -{ - int iVar1; - s32 ret; - - iVar1 = __osSpDeviceBusy(); - if (iVar1 == 0) { - _SP_MEM_ADDR_REG = devAddr; - _SP_DRAM_ADDR_REG = osVirtualToPhysical(dramAddr); - if (direction == 0) { - _SP_WR_LEN_REG = size - 1; - } - else { - _SP_RD_LEN_REG = size - 1; - } - ret = 0; - } - else { - ret = -1; - } - return ret; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int __osSpDeviceBusy(void) - -{ - return (int)(uint)((_SP_STATUS_REG & 0x1c) != 0); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong __osDpDeviceBusy(void) - -{ - return (ulonglong)((_DPC_STATUS_REG & 0x100) != 0); -} - - - -u32 __osProbeTLB(void *vaddr) - -{ - u32 ret; - uint uVar1; - - setCopReg(0,EntryHi,(longlong)EntryHi._4_4_ & 0xffU | (longlong)(int)vaddr & 0xffffffffffffe000U - ,0); - Index = TLB_probe_for_matching_entry(EntryHi); - if ((Index & 0x80000000) == 0) { - EntryHi = TLB_read_indexed_entryHi(Index); - EntryLo0 = TLB_read_indexed_entryLo0(Index); - EntryLo1 = TLB_read_indexed_entryLo1(Index); - PageMask = TLB_read_indexed_entryLo1(Index); - uVar1 = PageMask._4_4_ + 0x2000U >> 1; - if ((uVar1 & (uint)vaddr) == 0) { - } - else { - EntryLo0._4_4_ = EntryLo1._4_4_; - } - if ((EntryLo0._4_4_ & 2) != 0) { - ret = (EntryLo0._4_4_ & 0x3fffffc0) * 0x40 + ((uint)vaddr & uVar1 - 1); - goto LAB_700190cc; - } - } - ret = 0xffffffff; -LAB_700190cc: - setCopReg(0,EntryHi,(longlong)EntryHi._4_4_,0); - return ret; -} - - - -void alSynDelete(ALSynth *drvr) - -{ - drvr->head = NULL; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong __osAiDeviceBusy(void) - -{ - return (ulonglong)((_AI_STATUS_REG & 0x80000000) != 0); -} - - - -void alSaveNew(ALSave *f) - -{ - alFilterNew((ALFilter *)f,_alSavePull,alSaveParam,3); - f[1].first = 0; - *(undefined4 *)(f + 2) = 1; - return; -} - - - -void alMainBusNew(ALMainBus *m,void *sources,int maxSources) - -{ - alFilterNew((ALFilter *)m,_alMainBusPull,alMainBusParam,7); - *(undefined4 *)(m + 0x14) = 0; - *(int *)(m + 0x18) = maxSources; - *(void **)(m + 0x1c) = sources; - return; -} - - - -void alAuxBusNew(ALAuxBus *m,void *sources,int maxSources) - -{ - alFilterNew((ALFilter *)m,_alAuxBusPull,alAuxBusParam,6); - *(undefined4 *)(m + 0x14) = 0; - *(int *)(m + 0x18) = maxSources; - *(void **)(m + 0x1c) = sources; - return; -} - - - -void alResampleNew(ALResampler *r,ALHeap *hp) - -{ - s32 in_v0_lo; - - alFilterNew((ALFilter *)r,alResamplePull,alResampleParam,1); - _alHeapDBAlloc(NULL,0,hp,1,0x20); - r->first = in_v0_lo; - *(undefined4 *)(r + 1) = 1; - r[1].upitch = 0; - r->ctrlTail = NULL; - r[1].state = NULL; - r[1].ratio = 0.00000000; - r->motion = 0; - r->ctrlList = (ALParam *)0x3f800000; - return; -} - - - -void alLoadNew(ALLoadFilter *f,ALDMANew dmaNew,ALHeap *hp) - -{ - ALWaveTable_s *in_v0_lo; - ALDMAproc pAVar1; - - alFilterNew((ALFilter *)f,alAdpcmPull,alLoadParam,0); - _alHeapDBAlloc(NULL,0,hp,1,0x20); - *(ALWaveTable_s **)&(f->loop).count = in_v0_lo; - _alHeapDBAlloc(NULL,0,hp,1,0x20); - f->table = in_v0_lo; - pAVar1 = (*dmaNew)(&f->memin); - *(ALDMAproc *)&f->first = pAVar1; - f[1].state = NULL; - f[1].lstate = (ADPCM_STATE *)((int)&rgba + 1); - f[1].loop.start = 0; - return; -} - - - -void alEnvmixerNew(ALEnvMixer *e,ALHeap *hp) - -{ - undefined4 in_v0_lo; - - alFilterNew((ALFilter *)e,_alEnvmixerPull,alEnvmixerParam,4); - _alHeapDBAlloc(NULL,0,hp,1,0x50); - *(undefined4 *)&e->lratl = in_v0_lo; - e->motion = 1; - *(undefined4 *)&e[1].cvolL = 0; - e->rratl = 1; - *(undefined2 *)&e->first = 1; - *(undefined2 *)((int)&e->ctrlList + 2) = 1; - e->rratm = 1; - e->rtgt = 1; - *(undefined2 *)&e->delta = 0; - *(undefined2 *)((int)&e->delta + 2) = 0; - *(undefined2 *)((int)&e->segEnd + 2) = 1; - *(undefined2 *)&e->segEnd = 0; - e->ctrlTail = NULL; - e->sources = NULL; - e->ltgt = 0; - *(undefined4 *)(e + 1) = 0; - e[1].state = NULL; - *(undefined4 *)&e[1].pan = 0; - return; -} - - - -void init_lpfilter(undefined8 param_1,short *param_2) - -{ - int iVar1; - int iVar2; - short *psVar3; - short sVar4; - double dVar5; - double dVar6; - uint in_register_00001060; - - sVar4 = (short)(((int)*param_1._4_4_ << 0xe) >> 0xf); - param_1._4_4_[1] = 0x4000 - sVar4; - *(undefined4 *)(param_1._4_4_ + 0x16) = 1; - iVar1 = 0; - do { - psVar3 = param_1._4_4_; - iVar2 = iVar1; - iVar1 = iVar2 + 1; - psVar3[4] = 0; - param_1._4_4_ = psVar3 + 1; - } while (iVar1 < 8); - iVar2 += 2; - psVar3[5] = sVar4; - dVar6 = (double)(int)sVar4 / (double)((ulonglong)in_register_00001060 << 0x20); - dVar5 = dVar6; - psVar3 = psVar3 + 2; - while (iVar2 < 0x10) { - dVar5 = dVar5 * dVar6; - iVar2 += 1; - psVar3[4] = (short)(int)(dVar5 * (double)((ulonglong)in_register_00001060 << 0x20)); - psVar3 = psVar3 + 1; - } - return; -} - - - -void alFxNew(ALFx *r,ALSynConfig *c,ALHeap *hp) - -{ - byte bVar1; - double dVar2; - ALSynConfig *pAVar3; - short *extraout_a1_lo; - uint uVar4; - int iVar5; - uint *puVar6; - uint uVar7; - undefined4 *puVar8; - ulonglong uVar9; - uint uVar10; - double dVar11; - double dVar12; - - alFilterNew((ALFilter *)r,NULL,alFxParam,5); - *(code **)&r->base = _alFxPull; - r[1].length = 0x7001ffa8; - puVar8 = NULL_PARAMS; - switch(c->fxType) { - case '\x01': - puVar8 = SMALLROOM_PARAMS; - break; - case '\x02': - puVar8 = BIGROOM_PARAMS; - break; - case '\x03': - puVar8 = CHORUS_PARAMS; - break; - case '\x04': - puVar8 = FLANGE_PARAMS; - break; - case '\x05': - puVar8 = ECHO_PARAMS; - break; - case '\x06': - puVar8 = c->params; - } - uVar10 = *puVar8; - uVar4 = 2; - *(char *)&r[1].input = (char)uVar10; - *(undefined4 *)(r + 1) = puVar8[1]; - pAVar3 = c; - _alHeapDBAlloc(NULL,0,hp,uVar10 & 0xff,0x28); - *(ALSynConfig **)&r[1].base = pAVar3; - _alHeapDBAlloc(NULL,0,hp,*(s32 *)(r + 1),2); - *(ALSynConfig **)&r->section_count = pAVar3; - *(ALSynConfig **)&r->paramHdl = pAVar3; - uVar10 = 0; - if (*(int *)(r + 1) != 0) { - iVar5 = *(int *)&r->section_count; - while( true ) { - *(undefined2 *)(iVar5 + uVar10 * 2) = 0; - uVar10 = uVar10 + 1 & 0xffff; - if (*(uint *)(r + 1) <= uVar10) break; - iVar5 = *(int *)&r->section_count; - } - } - dVar2 = CONVERT; - uVar9 = 0; - if (*(char *)&r[1].input != '\0') { - do { - uVar7 = uVar4 + 1 & 0xffff; - puVar6 = (uint *)(r[1].base + (int)uVar9 * 0x14); - *puVar6 = puVar8[uVar4]; - uVar10 = uVar7 + 1 & 0xffff; - puVar6[1] = puVar8[uVar7]; - uVar4 = uVar10 + 1 & 0xffff; - *(undefined2 *)((int)puVar6 + 10) = (short)puVar8[uVar10]; - uVar10 = uVar4 + 1 & 0xffff; - *(short *)(puVar6 + 2) = (short)puVar8[uVar4]; - uVar4 = uVar10 + 1 & 0xffff; - *(short *)(puVar6 + 3) = (short)puVar8[uVar10]; - uVar10 = puVar8[uVar4]; - uVar7 = uVar4 + 2; - if (uVar10 == 0) { - puVar6[9] = 0; - } - else { - uVar7 = uVar4 + 1 & 0xffff; - dVar11 = (double)((float)uVar10 / 1000.00000000) + - (double)((float)uVar10 / 1000.00000000); - dVar12 = (double)(puVar6[1] - *puVar6); - *(float *)(puVar6 + 4) = (float)(dVar11 / (double)c->outputRate); - if ((int)(puVar6[1] - *puVar6) < 0) { - dVar12 = dVar12 + (double)((ulonglong)dVar11 & 0xffffffff00000000); - } - uVar4 = puVar8[uVar7]; - uVar7 += 1; - puVar6[5] = 0x3f800000; - puVar6[6] = 0; - *(float *)(puVar6 + 7) = (float)(((double)uVar4 / dVar2) * dVar12); - _alHeapDBAlloc(NULL,0,hp,1,0x34); - puVar6[9] = uVar10; - _alHeapDBAlloc(NULL,0,hp,1,0x20); - *(uint *)(puVar6[9] + 0x14) = uVar10; - *(undefined4 *)(puVar6[9] + 0x20) = 0; - *(undefined4 *)(puVar6[9] + 0x24) = 1; - } - if (puVar8[uVar7 & 0xffff] == 0) { - puVar6[8] = 0; - bVar1 = *(byte *)&r[1].input; - } - else { - _alHeapDBAlloc(NULL,0,hp,1,0x30); - puVar6[8] = uVar10; - _alHeapDBAlloc(NULL,0,hp,1,8); - *(uint *)(puVar6[8] + 0x28) = uVar10; - *(undefined2 *)puVar6[8] = (short)puVar8[uVar7 & 0xffff]; - init_lpfilter((longlong)(int)puVar6[8],extraout_a1_lo); - bVar1 = *(byte *)&r[1].input; - } - uVar4 = (uVar7 & 0xffff) + 1 & 0xffff; - uVar9 = (longlong)((int)uVar9 + 1) & 0xffff; - } while (uVar9 < bVar1); - } - return; -} - - - -ALFxRef _alSynAllocFX(ALSynth *s,s16 bus,ALSynConfig *c,ALHeap *hp) - -{ - int iVar1; - - iVar1 = (int)bus * 0x4c; - alFxNew((ALFx *)(s->auxBus + iVar1 + 0x20),c,hp); - alFxParam(s->auxBus + iVar1 + 0x20,1,s->auxBus + iVar1); - alMainBusParam(s->mainBus,2,s->auxBus + iVar1 + 0x20); - return (ALFxRef)(s->auxBus + iVar1 + 0x20); -} - - - -s32 alMainBusParam(void *filter,s32 paramID,void *param) - -{ - if (paramID == 2) { - *(void **)(*(int *)((int)filter + 0x1c) + *(int *)((int)filter + 0x14) * 4) = param; - *(int *)((int)filter + 0x14) = *(int *)((int)filter + 0x14) + 1; - } - return 0; -} - - - -longlong _alMainBusPull(void *filter,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p) - -{ - uint uVar1; - undefined4 *puVar2; - int iVar3; - int *piVar4; - longlong lVar5; - - piVar4 = *(int **)((int)filter + 0x1c); - uVar1 = outCount << 1; - *(undefined4 *)p = 0x2000440; - *(uint *)((int)p + 4) = uVar1; - *(undefined4 *)(p + 1) = 0x2000580; - *(uint *)((int)p + 0xc) = uVar1; - iVar3 = 0; - lVar5 = (longlong)(int)(p + 2); - if (0 < *(int *)((int)filter + 0x14)) { - do { - puVar2 = (undefined4 *) - (**(code **)(*piVar4 + 4))(*piVar4,outp,outCount,sampleOffset,(int)lVar5); - *puVar2 = 0x8000000; - puVar2[1] = uVar1 & 0xffff; - puVar2[3] = 0x6c00440; - puVar2[2] = 0xc007fff; - puVar2[5] = 0x8000580; - puVar2[4] = 0xc007fff; - iVar3 += 1; - piVar4 = piVar4 + 1; - lVar5 = (longlong)(int)(puVar2 + 6); - } while (iVar3 < *(int *)((int)filter + 0x14)); - } - return lVar5; -} - - - -s32 alLoadParam(void *filter,s32 paramID,void *param) - -{ - byte bVar1; - undefined4 uVar2; - int iVar3; - undefined4 *in_v0_lo; - - if (paramID == 4) { - in_v0_lo = *(undefined4 **)((int)filter + 0x28); - *(undefined4 *)((int)filter + 0x3c) = 0; - *(undefined4 *)((int)filter + 0x40) = 1; - *(undefined4 *)((int)filter + 0x38) = 0; - if (in_v0_lo != NULL) { - *(undefined4 *)((int)filter + 0x44) = *in_v0_lo; - if (*(char *)(in_v0_lo + 2) == '\0') { - if (in_v0_lo[3] != 0) { - *(undefined4 *)((int)filter + 0x24) = *(undefined4 *)(in_v0_lo[3] + 8); - } - } - else { - if ((*(char *)(in_v0_lo + 2) == '\x01') && (in_v0_lo[3] != 0)) { - *(undefined4 *)((int)filter + 0x24) = *(undefined4 *)(in_v0_lo[3] + 8); - } - } - } - } - else { - if (paramID == 5) { - *(void **)((int)filter + 0x28) = param; - uVar2 = *(undefined4 *)param; - *(undefined4 *)((int)filter + 0x38) = 0; - *(undefined4 *)((int)filter + 0x44) = uVar2; - bVar1 = *(byte *)((int)param + 8); - in_v0_lo = (undefined4 *)(uint)bVar1; - if (bVar1 == 0) { - *(undefined4 *)((int)filter + 4) = 0x7001a15c; - iVar3 = *(int *)(*(int *)((int)filter + 0x28) + 4); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - *(int *)(*(int *)((int)filter + 0x28) + 4) = (iVar3 / 9) * 9; - in_v0_lo = *(undefined4 **)((int)filter + 0x28); - *(int *)((int)filter + 0x2c) = *(int *)in_v0_lo[4] * 0x10 * ((int *)in_v0_lo[4])[1]; - if ((undefined4 *)in_v0_lo[3] == NULL) { - *(undefined4 *)((int)filter + 0x24) = 0; - *(undefined4 *)((int)filter + 0x20) = 0; - *(undefined4 *)((int)filter + 0x1c) = 0; - } - else { - *(undefined4 *)((int)filter + 0x1c) = *(undefined4 *)in_v0_lo[3]; - *(undefined4 *)((int)filter + 0x20) = *(undefined4 *)(in_v0_lo[3] + 4); - *(undefined4 *)((int)filter + 0x24) = *(undefined4 *)(in_v0_lo[3] + 8); - alCopy((void *)(in_v0_lo[3] + 0xc),*(void **)((int)filter + 0x18),0x20); - } - } - else { - if (bVar1 == 1) { - in_v0_lo = *(undefined4 **)((int)filter + 0x28); - *(undefined4 *)((int)filter + 4) = 0x70019c84; - if ((undefined4 *)in_v0_lo[3] == NULL) { - *(undefined4 *)((int)filter + 0x24) = 0; - *(undefined4 *)((int)filter + 0x20) = 0; - *(undefined4 *)((int)filter + 0x1c) = 0; - } - else { - *(undefined4 *)((int)filter + 0x1c) = *(undefined4 *)in_v0_lo[3]; - *(undefined4 *)((int)filter + 0x20) = *(undefined4 *)(in_v0_lo[3] + 4); - *(undefined4 *)((int)filter + 0x24) = *(undefined4 *)(in_v0_lo[3] + 8); - } - } - } - } - } - return (s32)in_v0_lo; -} - - - -// WARNING: Instruction at (ram,0x70019e78) overlaps instruction at (ram,0x70019e74) -// - -longlong _alRaw16Pull(void *filter,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p) - -{ - short sVar1; - int *piVar2; - bool bVar3; - uint uVar5; - ulonglong uVar4; - int iVar6; - short sVar9; - int iVar7; - uint uVar8; - uint uVar10; - longlong lVar11; - ulonglong uVar12; - int iVar13; - uint *puVar14; - uint *puVar15; - uint uVar16; - uint uVar17; - - lVar11 = (longlong)(int)p; - if (outCount != 0) { - if (*(uint *)((int)filter + 0x20) < (uint)(*(int *)((int)filter + 0x38) + outCount)) { - uVar16 = *(uint *)((int)filter + 0x20) - *(int *)((int)filter + 0x38); - if (*(int *)((int)filter + 0x24) != 0) { - uVar17 = uVar16 * 2; - if ((int)uVar16 < 1) { - sVar9 = 0; - } - else { - uVar5 = (**(code **)((int)filter + 0x30)) - (*(undefined4 *)((int)filter + 0x44),uVar17, - *(undefined4 *)((int)filter + 0x34)); - uVar8 = uVar5 & 7; - sVar1 = *outp; - sVar9 = (short)uVar8; - *(uint *)((int)p + 4) = ((uVar17 + uVar8) - (uVar17 + uVar8 & 7)) + 8 & 0xffff; - *(uint *)p = (int)sVar1 & 0xffffU | 0x8000000; - *(int *)((int)p + 0xc) = uVar5 - uVar8; - *(undefined4 *)(p + 1) = 0x4000000; - lVar11 = (longlong)(int)(p + 2); - } - *outp = *outp + sVar9; - iVar6 = **(int **)((int)filter + 0x28); - *(int *)((int)filter + 0x38) = *(int *)((int)filter + 0x1c); - *(int *)((int)filter + 0x44) = iVar6 + *(int *)((int)filter + 0x1c) * 2; - uVar12 = SEXT28(*outp); - if ((int)uVar16 < outCount) { - iVar6 = *(int *)((int)filter + 0x24); - while( true ) { - iVar13 = (int)uVar12 + uVar17; - outCount -= uVar16; - if ((iVar6 != -1) && (iVar6 != 0)) { - *(int *)((int)filter + 0x24) = iVar6 + -1; - } - uVar16 = *(int *)((int)filter + 0x20) - *(int *)((int)filter + 0x1c); - if ((uint)outCount < uVar16) { - uVar16 = outCount; - } - puVar14 = (uint *)lVar11; - uVar17 = uVar16 * 2; - uVar4 = (**(code **)((int)filter + 0x30)) - (*(undefined4 *)((int)filter + 0x44),uVar17, - *(undefined4 *)((int)filter + 0x34)); - uVar12 = SEXT48(iVar13); - iVar6 = (int)(uVar4 & 7); - if ((uVar12 & 7) == 0) { - iVar7 = 0; - } - else { - iVar7 = 8 - (int)(uVar12 & 7); - } - puVar14[1] = ((uVar17 + iVar6) - (uVar17 + iVar6 & 7)) + 8 & 0xffff; - *puVar14 = iVar13 + iVar7 & 0xffffU | 0x8000000; - puVar14[2] = 0x4000000; - puVar14[3] = (int)uVar4 - iVar6; - puVar15 = puVar14 + 4; - if (((uVar4 & 7) != 0) || (iVar7 != 0)) { - *puVar15 = iVar13 + iVar6 + iVar7 & 0xffffffU | 0xa000000; - puVar14[5] = iVar13 * 0x10000 | uVar17 & 0xffff; - puVar15 = puVar14 + 6; - } - lVar11 = (longlong)(int)puVar15; - if (outCount <= (int)uVar16) break; - iVar6 = *(int *)((int)filter + 0x24); - } - } - *(int *)((int)filter + 0x38) = *(int *)((int)filter + 0x38) + outCount; - *(int *)((int)filter + 0x44) = *(int *)((int)filter + 0x44) + outCount * 2; - return lVar11; - } - piVar2 = *(int **)((int)filter + 0x28); - } - else { - piVar2 = *(int **)((int)filter + 0x28); - } - uVar16 = outCount * 2; - iVar6 = *(int *)((int)filter + 0x44) + uVar16; - uVar17 = (iVar6 - *piVar2) - piVar2[1]; - if ((int)uVar17 < 0) { - uVar17 = 0; - bVar3 = (int)uVar16 < 0; - } - else { - bVar3 = (int)uVar16 < (int)uVar17; - } - uVar5 = uVar16; - if (!bVar3) { - uVar5 = uVar17; - } - if (bVar3 || (int)uVar16 <= (int)uVar17) { - *(int *)((int)filter + 0x44) = iVar6; - } - else { - sVar9 = 0; - if (0 < outCount) { - uVar17 = (**(code **)((int)filter + 0x30)) - (*(int *)((int)filter + 0x44),uVar16 - uVar5, - *(undefined4 *)((int)filter + 0x34)); - uVar8 = uVar17 & 7; - sVar1 = *outp; - sVar9 = (short)uVar8; - uVar10 = (uVar16 - uVar5) + uVar8; - *(uint *)((int)p + 4) = (uVar10 - (uVar10 & 7)) + 8 & 0xffff; - *(uint *)p = (int)sVar1 & 0xffffU | 0x8000000; - *(int *)((int)p + 0xc) = uVar17 - uVar8; - *(undefined4 *)(p + 1) = 0x4000000; - lVar11 = (longlong)(int)(p + 2); - } - *outp = *outp + sVar9; - *(int *)((int)filter + 0x38) = *(int *)((int)filter + 0x38) + outCount; - *(int *)((int)filter + 0x44) = *(int *)((int)filter + 0x44) + uVar16; - } - iVar6 = uVar16 - uVar5; - if (uVar5 != 0) { - if (iVar6 < 0) { - iVar6 = 0; - } - puVar14 = (uint *)lVar11; - *puVar14 = *outp + iVar6 & 0xffffffU | 0x2000000; - puVar14[1] = uVar5; - lVar11 = (longlong)(int)(puVar14 + 2); - } - } - return lVar11; -} - - - -uint * proc_7001A030(void) - -{ - uint uVar1; - uint uVar2; - uint *unaff_s0_lo; - longlong unaff_s1; - uint uVar3; - int unaff_s2_lo; - short unaff_s3_lo; - ulonglong unaff_s4; - short unaff_s5_lo; - uint unaff_s6_lo; - - if (unaff_s1 < 1) { - uVar2 = 0; - } - else { - uVar1 = (**(code **)(unaff_s2_lo + 0x30)) - (*(undefined4 *)(unaff_s2_lo + 0x44),unaff_s1, - *(undefined4 *)(unaff_s2_lo + 0x34)); - uVar2 = uVar1 & 7; - uVar3 = (int)unaff_s1 + uVar2; - *unaff_s0_lo = (int)unaff_s3_lo & 0xffffU | 0x8000000; - unaff_s0_lo[1] = (uVar3 - (uVar3 & 7)) + 8 & 0xffff; - unaff_s0_lo[2] = 0x4000000; - unaff_s0_lo[3] = uVar1 - uVar2; - unaff_s0_lo = unaff_s0_lo + 4; - } - if ((unaff_s4 & 2) != 0) { - *unaff_s0_lo = 0xf000000; - unaff_s0_lo[1] = *(uint *)(unaff_s2_lo + 0x18) & 0x1fffffff; - unaff_s0_lo = unaff_s0_lo + 2; - } - *unaff_s0_lo = (int)unaff_s3_lo + uVar2 & 0xffff | 0x8000000; - unaff_s0_lo[1] = (int)unaff_s5_lo << 0x10 | (unaff_s6_lo & 0x7fff) << 1; - unaff_s0_lo[2] = ((uint)unaff_s4 & 0xff) << 0x10 | 0x1000000; - unaff_s0_lo[3] = *(uint *)(unaff_s2_lo + 0x14) & 0x1fffffff; - *(undefined4 *)(unaff_s2_lo + 0x40) = 0; - return unaff_s0_lo + 4; -} - - - -uint * alAdpcmPull(int param_1,short *param_2,uint param_3,undefined8 param_4,uint *param_5) - -{ - short sVar1; - bool bVar2; - bool bVar3; - uint uVar4; - int iVar5; - uint uVar6; - int iVar8; - longlong lVar7; - int iVar9; - int iVar10; - int iVar11; - - bVar3 = false; - if (param_3 != 0) { - *param_5 = *(uint *)(param_1 + 0x2c) & 0xffffff | 0xb000000; - iVar8 = 0; - param_5[1] = *(int *)(*(int *)(param_1 + 0x28) + 0x10) + 8U & 0x1fffffff; - bVar2 = *(uint *)(param_1 + 0x20) < *(int *)(param_1 + 0x38) + param_3; - if (bVar2) { - bVar2 = *(int *)(param_1 + 0x24) != 0; - } - uVar6 = param_3; - if (bVar2) { - uVar6 = *(uint *)(param_1 + 0x20) - *(int *)(param_1 + 0x38); - } - if (*(int *)(param_1 + 0x3c) != 0) { - iVar8 = 0x10 - *(int *)(param_1 + 0x3c); - } - iVar5 = uVar6 - iVar8; - if (iVar5 < 0) { - iVar5 = 0; - } - if (bVar2) { - iVar8 = iVar5 + 0xf >> 4; - param_5 = proc_7001A030(); - if (*(int *)(param_1 + 0x3c) == 0) { - *param_2 = *param_2 + 0x20; - } - else { - *param_2 = *param_2 + (short)(*(int *)(param_1 + 0x3c) << 1); - } - uVar4 = *(uint *)(param_1 + 0x1c); - *(uint *)(param_1 + 0x3c) = uVar4 & 0xf; - *(int *)(param_1 + 0x44) = **(int **)(param_1 + 0x28) + (uVar4 >> 4) * 9 + 9; - *(uint *)(param_1 + 0x38) = uVar4; - lVar7 = (longlong)*param_2; - if ((int)uVar6 < (int)param_3) { - uVar4 = uVar6 << 1; - do { - iVar11 = iVar8 + 1; - iVar8 = *(int *)(param_1 + 0x24); - iVar5 = (int)lVar7; - param_3 -= uVar6; - iVar9 = iVar5 + uVar4; - if ((iVar8 != -1) && (iVar8 != 0)) { - *(int *)(param_1 + 0x24) = iVar8 + -1; - } - uVar6 = *(int *)(param_1 + 0x20) - *(int *)(param_1 + 0x1c); - if (param_3 < uVar6) { - uVar6 = param_3; - } - iVar8 = uVar6 + *(int *)(param_1 + 0x3c) + -0x10; - if (iVar8 < 0) { - iVar8 = 0; - } - iVar8 = iVar8 + 0xf >> 4; - param_5 = proc_7001A030(); - lVar7 = (longlong)iVar9; - uVar4 = uVar6 << 1; - *param_5 = *(int *)(param_1 + 0x3c) * 2 + (iVar11 * 0x20 + iVar5 & 0xffffffe0U) - & 0xffffff | 0xa000000; - param_5[1] = iVar9 * 0x10000 | uVar4 & 0xffff; - param_5 = param_5 + 2; - } while ((int)uVar6 < (int)param_3); - } - *(uint *)(param_1 + 0x3c) = *(int *)(param_1 + 0x3c) + param_3 & 0xf; - *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + param_3; - *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + iVar8 * 9; - } - else { - iVar10 = iVar5 + 0xf >> 4; - iVar5 = iVar10 * 9; - iVar11 = *(int *)(param_1 + 0x44) + iVar5; - iVar9 = (iVar11 - **(int **)(param_1 + 0x28)) - (*(int **)(param_1 + 0x28))[1]; - if (iVar9 < 0) { - iVar9 = 0; - } - uVar6 = iVar9 / 9 << 4; - uVar4 = iVar10 * 0x10 + iVar8; - if ((int)uVar4 < (int)uVar6) { - uVar6 = uVar4; - } - if ((int)(uVar6 - (uVar6 & 0xf)) < (int)param_3) { - param_5 = proc_7001A030(); - bVar3 = true; - if (*(int *)(param_1 + 0x3c) == 0) { - *param_2 = *param_2 + 0x20; - } - else { - *param_2 = *param_2 + (short)(*(int *)(param_1 + 0x3c) << 1); - } - *(uint *)(param_1 + 0x3c) = *(int *)(param_1 + 0x3c) + param_3 & 0xf; - *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + param_3; - *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + iVar5; - } - else { - *(undefined4 *)(param_1 + 0x3c) = 0; - *(int *)(param_1 + 0x44) = iVar11; - param_5 = param_5 + 2; - } - if (uVar6 != 0) { - *(undefined4 *)(param_1 + 0x3c) = 0; - if (bVar3) { - iVar8 = (uVar4 - uVar6) * 2; - } - else { - iVar8 = 0; - } - sVar1 = *param_2; - param_5[1] = uVar6 << 1; - *param_5 = sVar1 + iVar8 & 0xffffffU | 0x2000000; - param_5 = param_5 + 2; - } - } - } - return param_5; -} - - - -s32 alResampleParam(void *filter,s32 paramID,void *param) - -{ - int iVar1; - - if (false) { -switchD_7001a628_caseD_2: - if (*(int *)filter != 0) { - (**(code **)(*(int *)filter + 8))(); - } - } - else { - switch(paramID) { - case 1: - *(void **)filter = param; - break; - default: - goto switchD_7001a628_caseD_2; - case 4: - iVar1 = *(int *)filter; - *(undefined4 *)((int)filter + 0x24) = 1; - *(undefined4 *)((int)filter + 0x30) = 0; - *(undefined4 *)((int)filter + 0x1c) = 0; - *(undefined4 *)((int)filter + 0x20) = 0; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,4,0); - } - break; - case 7: - *(void **)((int)filter + 0x18) = param; - break; - case 8: - *(undefined4 *)((int)filter + 0x1c) = 1; - break; - case 9: - iVar1 = *(int *)filter; - *(undefined4 *)((int)filter + 0x30) = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,9,0); - } - } - } - return 0; -} - - - -uint * alResamplePull(int *param_1,short *param_2,longlong param_3,undefined8 param_4,uint *param_5) - -{ - int iVar1; - uint *puVar2; - u32 uVar3; - uint uVar4; - float fVar5; - int iVar6; - short sStack10; - uint *puStack8; - - iVar1 = *param_1; - sStack10 = 0x140; - puStack8 = param_5; - if (param_3 != 0) { - uVar4 = (uint)param_3; - if (param_1[7] == 0) { - fVar5 = (float)param_1[6]; - if (dbl_80029878 < (double)fVar5) { - param_1[6] = DOUBLE_80029880._0_4_; - fVar5 = (float)param_1[6]; - } - *(float *)(param_1 + 6) = (float)(int)(fVar5 * 32768.00000000); - *(float *)(param_1 + 6) = (float)param_1[6] / 32768.00000000; - fVar5 = (float)param_1[8] + (float)param_1[6] * (float)uVar4; - iVar6 = (int)fVar5; - *(float *)(param_1 + 8) = fVar5 - (float)iVar6; - puVar2 = (uint *)(**(code **)(iVar1 + 4))(iVar1,&sStack10,iVar6,param_4,param_5); - fVar5 = (float)param_1[6]; - *puVar2 = (int)sStack10 & 0xffffU | 0x8000000; - puVar2[1] = (int)*param_2 << 0x10 | (uVar4 & 0x7fff) << 1; - puVar2[2] = (param_1[9] & 0xffU) << 0x10 | 0x5000000 | - (int)(fVar5 * 32768.00000000) & 0xffffU; - puStack8 = puVar2 + 4; - uVar3 = osVirtualToPhysical((void *)param_1[5]); - puVar2[3] = uVar3; - param_1[9] = 0; - } - else { - puVar2 = (uint *)(**(code **)(iVar1 + 4))(iVar1,&sStack10,param_3,param_4,param_5); - *puVar2 = (int)sStack10 & 0xffffffU | 0xa000000; - puStack8 = puVar2 + 2; - puVar2[1] = (int)*param_2 << 0x10 | (uVar4 & 0x7fff) << 1; - } - } - return puStack8; -} - - - -float _ldexpf(float __x,int __exponent) - -{ - undefined4 in_a2_hi; - uint in_a2_lo; - undefined4 in_register_00001060; - - if (CONCAT44(in_a2_hi,in_a2_lo) != 0) { - __x = SUB84((double)CONCAT44(in_register_00001060,__x) * (double)(1 << (in_a2_lo & 0x1f)),0) - ; - } - return __x; -} - - - -float _frexpf(float __x,int *__exponent) - -{ - int *in_a2_lo; - double dVar1; - ulonglong in_f2; - double dVar2; - float fVar3; - undefined4 in_register_00001060; - uint in_register_00001070; - uint in_register_00001080; - - dVar2 = (double)(in_f2 & 0xffffffff00000000); - *in_a2_lo = 0; - if ((double)CONCAT44(in_register_00001060,__x) == dVar2) { - return __x; - } - if (dVar2 < (double)CONCAT44(in_register_00001060,__x)) { - dVar1 = (double)CONCAT44(in_register_00001060,__x); - } - else { - dVar1 = -(double)CONCAT44(in_register_00001060,__x); - } - if ((double)((ulonglong)in_register_00001070 << 0x20) <= dVar1) { - do { - dVar1 = dVar1 * (double)((ulonglong)in_register_00001080 << 0x20); - *in_a2_lo = *in_a2_lo + 1; - } while ((double)((ulonglong)in_register_00001070 << 0x20) <= dVar1); - } - if (dVar1 < (double)((ulonglong)in_register_00001080 << 0x20)) { - dVar1 = dVar1 + dVar1; - while (*in_a2_lo = *in_a2_lo + -1, dVar1 < (double)((ulonglong)in_register_00001080 << 0x20) - ) { - dVar1 = dVar1 + dVar1; - } - } - fVar3 = SUB84(dVar1,0); - if ((double)CONCAT44(in_register_00001060,__x) <= dVar2) { - fVar3 = SUB84(-dVar1,0); - } - return fVar3; -} - - - -s32 alEnvmixerParam(void *filter,s32 paramID,void *param) - -{ - int iVar1; - - if (paramID == 1) { - *(void **)filter = param; - } - else { - if (paramID == 3) { - if (*(void ***)((int)filter + 0x40) == NULL) { - *(void **)((int)filter + 0x3c) = param; - } - else { - **(void ***)((int)filter + 0x40) = param; - } - *(void **)((int)filter + 0x40) = param; - } - else { - if (paramID == 4) { - iVar1 = *(int *)filter; - *(undefined4 *)((int)filter + 0x38) = 1; - *(undefined4 *)((int)filter + 0x48) = 0; - *(undefined2 *)((int)filter + 0x1a) = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,4); - } - } - else { - if (paramID == 9) { - iVar1 = *(int *)filter; - *(undefined4 *)((int)filter + 0x48) = 1; - if (iVar1 != 0) { - (**(code **)(iVar1 + 8))(iVar1,9); - } - } - else { - if (*(int *)filter != 0) { - (**(code **)(*(int *)filter + 8))(); - } - } - } - } - } - return 0; -} - - - -int proc_7001AAF4(float param_1,float param_2,longlong param_3,undefined2 *param_4) - -{ - float fVar1; - uint in_register_00001020; - short sVar2; - double dVar3; - - if (param_3 != 0) { - dVar3 = (double)((param_1 - param_2) / (float)(int)param_3) * - (double)((ulonglong)in_register_00001020 << 0x20); - fVar1 = (float)dVar3; - if (fVar1 < 0.00000000) { - fVar1 = fVar1 - 1.00000000; - sVar2 = (short)(int)fVar1; - } - else { - sVar2 = (short)(int)dVar3; - } - *param_4 = (short)(int)((fVar1 - (float)(int)sVar2) * flt_80029964); - return (int)sVar2; - } - if (param_1 < param_2) { - *param_4 = 0; - return -0x8000; - } - *param_4 = 0xffff; - return 0x7fff; -} - - - -Acmd * _pullSubFrame(void *filter,s16 *inp,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p) - -{ - uint *puVar1; - int iVar2; - u32 uVar3; - int *unaff_s0_lo; - longlong unaff_s2; - short *unaff_s3_lo; - Acmd *unaff_s4_lo; - uint uVar4; - short *unaff_s5_lo; - undefined8 unaff_s6; - - iVar2 = *unaff_s0_lo; - if (unaff_s2 != 0) { - if (iVar2 == 0) { - osSyncPrintf("\n--- ASSERTION FAULT - %s - %s, line %d\n\n","source","env.c",0x175); - } - puVar1 = (uint *)(**(code **)(iVar2 + 4))(iVar2,unaff_s5_lo,unaff_s2,unaff_s6); - uVar4 = (int)unaff_s2 << 1; - *puVar1 = (int)*unaff_s5_lo & 0xffffU | 0x8000000; - puVar1[1] = ((int)*unaff_s3_lo + 0x440) * 0x10000 | uVar4 & 0xffff; - puVar1[2] = (int)*unaff_s3_lo + 0x580U & 0xffff | 0x8080000; - puVar1[3] = (int)*unaff_s3_lo + 0x800U & 0xffff | ((int)*unaff_s3_lo + 0x6c0) * 0x10000; - if (unaff_s0_lo[0xe] == 0) { - puVar1[4] = 0x3080000; - unaff_s4_lo = (Acmd *)(puVar1 + 6); - uVar3 = osVirtualToPhysical((void *)unaff_s0_lo[5]); - puVar1[5] = uVar3; - } - else { - unaff_s0_lo[0xe] = 0; - *(short *)(unaff_s0_lo + 10) = - (short)((int)eqpower[*(short *)(unaff_s0_lo + 6)] * - (int)*(short *)((int)unaff_s0_lo + 0x1a) >> 0xf); - iVar2 = proc_7001AAF4((float)(int)*(short *)(unaff_s0_lo + 10), - (float)(int)*(short *)(unaff_s0_lo + 7),(longlong)unaff_s0_lo[0xd] - ,(undefined2 *)(unaff_s0_lo + 9)); - *(undefined2 *)((int)unaff_s0_lo + 0x26) = (short)iVar2; - *(undefined2 *)((int)unaff_s0_lo + 0x2e) = - (short)((int)eqpower[(int)*(short *)(unaff_s0_lo + 6) * 0x7fffffff + 0x7f] * - (int)*(short *)((int)unaff_s0_lo + 0x1a) >> 0xf); - iVar2 = proc_7001AAF4((float)(int)*(short *)((int)unaff_s0_lo + 0x2e), - (float)(int)*(short *)((int)unaff_s0_lo + 0x1e), - (longlong)unaff_s0_lo[0xd],(undefined2 *)((int)unaff_s0_lo + 0x2a) - ); - *(short *)(unaff_s0_lo + 0xb) = (short)iVar2; - puVar1[4] = (int)*(short *)(unaff_s0_lo + 7) & 0xffffU | 0x9060000; - puVar1[5] = 0; - puVar1[6] = (int)*(short *)((int)unaff_s0_lo + 0x1e) & 0xffffU | 0x9040000; - puVar1[7] = 0; - puVar1[8] = (int)*(short *)(unaff_s0_lo + 10) & 0xffffU | 0x9020000; - puVar1[9] = CONCAT22(*(undefined2 *)((int)unaff_s0_lo + 0x26), - *(undefined2 *)(unaff_s0_lo + 9)); - puVar1[10] = (int)*(short *)((int)unaff_s0_lo + 0x2e) & 0xffffU | 0x9000000; - puVar1[0xb] = CONCAT22(*(undefined2 *)(unaff_s0_lo + 0xb), - *(undefined2 *)((int)unaff_s0_lo + 0x2a)); - puVar1[0xc] = (int)*(short *)(unaff_s0_lo + 8) & 0xffffU | 0x9080000; - puVar1[0xd] = (int)*(short *)((int)unaff_s0_lo + 0x22) & 0xffff; - puVar1[0xe] = 0x3090000; - unaff_s4_lo = (Acmd *)(puVar1 + 0x10); - uVar3 = osVirtualToPhysical((void *)unaff_s0_lo[5]); - puVar1[0xf] = uVar3; - } - *unaff_s5_lo = *unaff_s5_lo + (short)uVar4; - } - return unaff_s4_lo; -} - - - -void proc_7001AE54(void) - -{ - return; -} - - - -Acmd * _alEnvmixerPull(void *f,s16 *outp,s32 out,s32 sampleOffset,Acmd *p) - -{ - int iVar1; - code *pcVar2; - int *param; - ALGlobals *drvr; - undefined **extraout_a0_lo; - undefined **filter; - char *extraout_a0_lo_00; - char *filter_00; - longlong lVar3; - undefined **extraout_a1_lo; - undefined **extraout_a1_lo_00; - undefined **inp; - int iVar4; - longlong extraout_a1; - longlong lVar5; - s16 *extraout_a2_lo; - s16 *extraout_a2_lo_00; - longlong extraout_a2; - longlong lVar6; - s32 extraout_a3_lo; - s32 extraout_a3_lo_00; - longlong extraout_a3; - short sVar7; - int samples; - float fVar8; - ulonglong unaff_f20; - ulonglong unaff_f22; - s32 sStackX8; - s32 in_stack_ffffff38; - Acmd *in_stack_ffffff3c; - s32 sStack20; - Acmd *pAStack4; - - lVar6 = (longlong)sampleOffset; - lVar5 = (longlong)out; - lVar3 = (longlong)(int)outp; - pAStack4 = p; - sStackX8 = out; - if (*(int *)((int)f + 0x3c) == 0) { - iVar4 = *(int *)((int)f + 0x48); - filter_00 = (char *)f; - } - else { - iVar4 = *(int *)((int)f + 0x3c); - sStack20 = sampleOffset; - while( true ) { - sampleOffset = (s32)lVar6; - out = (s32)(s16 *)lVar5; - outp = (s16 *)lVar3; - iVar1 = *(int *)(iVar4 + 4); - filter_00 = "\n--- ASSERTION FAULT - %s - %s, line %d\n\n"; - samples = iVar1 - sStack20; - if (sStackX8 < samples) break; - inp = ptr_crouched_doubles_firing_animation_groups + 2; - if (samples < 0) { - osSyncPrintf("\n--- ASSERTION FAULT - %s - %s, line %d\n\n","samples >= 0","env.c", - 0x68); - inp = extraout_a1_lo; - out = (s32)extraout_a2_lo; - sampleOffset = extraout_a3_lo; - } - filter = ptr_crouched_doubles_firing_animation_groups + 2; - if (0xa0 < samples) { - osSyncPrintf("\n--- ASSERTION FAULT - %s - %s, line %d\n\n", - "samples <= AL_MAX_RSP_SAMPLES","env.c",0x69); - filter = extraout_a0_lo; - inp = extraout_a1_lo_00; - out = (s32)extraout_a2_lo_00; - sampleOffset = extraout_a3_lo_00; - } - drvr = slg; - iVar4 = *(int *)((int)f + 0x3c); - if (false) { -switchD_7001af6c_caseD_1: - pAStack4 = _pullSubFrame(filter,(s16 *)inp,(s16 *)out,sampleOffset,in_stack_ffffff38 - ,in_stack_ffffff3c); - *(int *)((int)f + 0x30) = *(int *)((int)f + 0x30) + samples; - (**(code **)((int)f + 8)) - (f,*(undefined2 *)(*(int *)((int)f + 0x3c) + 8), - *(undefined4 *)(*(int *)((int)f + 0x3c) + 0xc)); - } - else { - switch(*(undefined2 *)(iVar4 + 8)) { - case 0: - *(undefined4 *)(*(int *)(iVar4 + 0xc) + 0xd8) = 0; - _freePVoice((ALSynth *)drvr,*(PVoice **)(iVar4 + 0xc)); - break; - default: - goto switchD_7001af6c_caseD_1; - case 0xb: - case 0xc: - case 0x10: - pAStack4 = _pullSubFrame(filter,(s16 *)inp,(s16 *)out,sampleOffset, - in_stack_ffffff38,in_stack_ffffff3c); - iVar4 = *(int *)((int)f + 0x30) + samples; - *(int *)((int)f + 0x30) = iVar4; - if (iVar4 < *(int *)((int)f + 0x34)) { - fVar8 = (float)(uint)*(ushort *)((int)f + 0x24); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)((int)f + 0x1c) = - (short)(int)((double)(int)*(short *)((int)f + 0x1c) + - (double)((float)((double)((float)((int)*(short *)((int)f + - 0x26) << 0x10) + fVar8) / - (double)(unaff_f20 & 0xffffffff00000000)) * - (float)iVar4) * - (double)(unaff_f22 & 0xffffffff00000000)); - fVar8 = (float)(uint)*(ushort *)((int)f + 0x2a); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)((int)f + 0x1e) = - (short)(int)((double)(int)*(short *)((int)f + 0x1e) + - (double)((float)((double)((float)((int)*(short *)((int)f + - 0x2c) << 0x10) + fVar8) / - (double)(unaff_f20 & 0xffffffff00000000)) * - (float)iVar4) * - (double)(unaff_f22 & 0xffffffff00000000)); - } - else { - *(undefined2 *)((int)f + 0x28) = - (short)((int)eqpower[(int)*(short *)((int)f + 0x18)] * - (int)*(short *)((int)f + 0x1a) >> 0xf); - sVar7 = eqpower[(int)*(short *)((int)f + 0x18) * 0x7fffffff + 0x7f]; - *(int *)((int)f + 0x30) = *(int *)((int)f + 0x34); - *(undefined2 *)((int)f + 0x1c) = *(undefined2 *)((int)f + 0x28); - *(undefined2 *)((int)f + 0x2e) = - (short)((int)sVar7 * (int)*(short *)((int)f + 0x1a) >> 0xf); - *(undefined2 *)((int)f + 0x1e) = *(undefined2 *)((int)f + 0x2e); - } - if (*(short *)((int)f + 0x1c) == 0) { - *(undefined2 *)((int)f + 0x1c) = 1; - sVar7 = *(short *)((int)f + 0x1e); - } - else { - sVar7 = *(short *)((int)f + 0x1e); - } - if (sVar7 == 0) { - *(undefined2 *)((int)f + 0x1e) = 1; - iVar4 = *(int *)((int)f + 0x3c); - } - else { - iVar4 = *(int *)((int)f + 0x3c); - } - sVar7 = *(short *)(iVar4 + 8); - if (sVar7 == 0xc) { - *(undefined2 *)((int)f + 0x18) = (short)*(undefined4 *)(iVar4 + 0xc); - sVar7 = *(short *)(iVar4 + 8); - } - if (sVar7 == 0xb) { - *(undefined4 *)((int)f + 0x30) = 0; - *(undefined2 *)((int)f + 0x1a) = - (short)(*(int *)(iVar4 + 0xc) * *(int *)(iVar4 + 0xc) >> 0xf); - *(undefined4 *)((int)f + 0x34) = *(undefined4 *)(iVar4 + 0x10); - sVar7 = *(short *)(iVar4 + 8); - } - if (sVar7 == 0x10) { - *(s16 *)((int)f + 0x20) = eqpower[*(int *)(iVar4 + 0xc)]; - *(s16 *)((int)f + 0x22) = eqpower[*(int *)(iVar4 + 0xc) * 0x7fffffff + 0x7f] - ; - } - *(undefined4 *)((int)f + 0x38) = 1; - break; - case 0xd: - if (*(short *)(iVar4 + 10) == 0) { - pcVar2 = *(code **)((int)f + 8); - } - else { - (**(code **)((int)f + 8))(f,8,0); - pcVar2 = *(code **)((int)f + 8); - } - (*pcVar2)(f,5,*(undefined4 *)(iVar4 + 0x18)); - (**(code **)((int)f + 8))(f,9,0); - *(undefined4 *)((int)f + 0x38) = 1; - *(undefined4 *)((int)f + 0x30) = 0; - *(undefined4 *)((int)f + 0x34) = *(undefined4 *)(iVar4 + 0x14); - *(undefined2 *)((int)f + 0x1a) = - (short)((int)*(short *)(iVar4 + 0x10) * (int)*(short *)(iVar4 + 0x10) >> - 0xf); - *(ushort *)((int)f + 0x18) = (ushort)*(byte *)(iVar4 + 0x12); - *(s16 *)((int)f + 0x20) = eqpower[*(byte *)(iVar4 + 0x13)]; - *(s16 *)((int)f + 0x22) = - eqpower[(uint)*(byte *)(iVar4 + 0x13) * 0x7fffffff + 0x7f]; - if (*(int *)(iVar4 + 0x14) == 0) { - *(undefined2 *)((int)f + 0x1c) = - (short)((int)eqpower[(int)*(short *)((int)f + 0x18)] * - (int)*(short *)((int)f + 0x1a) >> 0xf); - *(undefined2 *)((int)f + 0x1e) = - (short)((int)eqpower[(int)*(short *)((int)f + 0x18) * 0x7fffffff + 0x7f - ] * (int)*(short *)((int)f + 0x1a) >> 0xf); - } - else { - *(undefined2 *)((int)f + 0x1c) = 1; - *(undefined2 *)((int)f + 0x1e) = 1; - } - if (*(int *)f != 0) { - (**(code **)(*(int *)f + 8))(*(int *)f,7,*(undefined4 *)(iVar4 + 0xc)); - } - break; - case 0xe: - if (*(short *)(iVar4 + 10) == 0) { - pcVar2 = *(code **)((int)f + 8); - } - else { - (**(code **)((int)f + 8))(f,8,0); - pcVar2 = *(code **)((int)f + 8); - } - (*pcVar2)(f,5,*(undefined4 *)(iVar4 + 0xc)); - (**(code **)((int)f + 8))(f,9,0); - break; - case 0xf: - pAStack4 = _pullSubFrame(filter,(s16 *)inp,(s16 *)out,sampleOffset, - in_stack_ffffff38,in_stack_ffffff3c); - (**(code **)((int)f + 8))(f,4,0); - } - } - sStackX8 -= samples; - param = *(int **)((int)f + 0x3c); - iVar4 = *param; - *(int *)((int)f + 0x3c) = iVar4; - if (iVar4 == 0) { - *(undefined4 *)((int)f + 0x40) = 0; - } - __freeParam((ALParam *)param); - sampleOffset = (s32)extraout_a3; - out = (s32)(s16 *)extraout_a2; - outp = (s16 *)extraout_a1; - filter_00 = extraout_a0_lo_00; - if (*(int *)((int)f + 0x3c) == 0) break; - iVar4 = *(int *)((int)f + 0x3c); - lVar3 = extraout_a1; - lVar5 = extraout_a2; - lVar6 = extraout_a3; - sStack20 = iVar1; - } - iVar4 = *(int *)((int)f + 0x48); - } - if (iVar4 == 1) { - pAStack4 = _pullSubFrame(filter_00,outp,(s16 *)out,sampleOffset,in_stack_ffffff38, - in_stack_ffffff3c); - *(int *)((int)f + 0x30) = *(int *)((int)f + 0x30) + sStackX8; - } - if (*(int *)((int)f + 0x34) < *(int *)((int)f + 0x30)) { - *(int *)((int)f + 0x30) = *(int *)((int)f + 0x34); - } - return pAStack4; -} - - - -s32 alAuxBusParam(void *filter,s32 paramID,void *param) - -{ - if (paramID == 2) { - *(void **)(*(int *)((int)filter + 0x1c) + *(int *)((int)filter + 0x14) * 4) = param; - *(int *)((int)filter + 0x14) = *(int *)((int)filter + 0x14) + 1; - } - return 0; -} - - - -Acmd * _alAuxBusPull(void *f,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p) - -{ - int iVar1; - int *piVar2; - - piVar2 = *(int **)((int)f + 0x1c); - *(undefined4 *)p = 0x20006c0; - *(int *)((int)p + 4) = outCount << 1; - *(undefined4 *)(p + 1) = 0x2000800; - *(int *)((int)p + 0xc) = outCount << 1; - iVar1 = 0; - p = p + 2; - if (0 < *(int *)((int)f + 0x14)) { - do { - p = (Acmd *)(**(code **)(*piVar2 + 4))(*piVar2,outp,outCount,sampleOffset,p); - iVar1 += 1; - piVar2 = piVar2 + 1; - } while (iVar1 < *(int *)((int)f + 0x14)); - } - return p; -} - - - -s32 alSaveParam(void *filter,s32 paramID,void *param) - -{ - if (paramID == 1) { - *(void **)filter = param; - return 0; - } - if (paramID == 6) { - *(void **)((int)filter + 0x14) = param; - return 0; - } - return 0; -} - - - -longlong _alSavePull(void *filter,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *) - (**(code **)(*(int *)filter + 4))(*(int *)filter,outp,outCount,sampleOffset,p); - puVar1[1] = (outCount & 0x7fffU) << 1; - *puVar1 = 0x8000000; - puVar1[2] = 0xd000000; - puVar1[3] = 0x4400580; - puVar1[5] = (outCount & 0x3fffU) << 2; - puVar1[4] = 0x8000000; - puVar1[6] = 0x6000000; - puVar1[7] = *(undefined4 *)((int)filter + 0x14); - return (longlong)(int)(puVar1 + 8); -} - - - -s32 osJamMesg(OSMesgQueue *mq,OSMesg msg,s32 flags) - -{ - int iVar1; - u32 saveMask; - OSThread *t; - int iVar2; - - saveMask = __osDisableInt(); - if (mq->msgCount <= mq->validCount) { - do { - if (flags != 1) { - __osRestoreInt(saveMask); - return -1; - } - __osRunningThread->state = 8; - __osEnqueueAndYield(&mq->fullqueue); - } while (mq->msgCount <= mq->validCount); - } - iVar1 = mq->msgCount; - iVar2 = mq->first + iVar1 + -1; - mq->first = iVar2 % iVar1; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - mq->msg[mq->first] = msg; - mq->validCount = mq->validCount + 1; - if (mq->mtqueue->next != NULL) { - t = __osPopThread((OSThread *)mq); - osStartThread(t); - } - __osRestoreInt(saveMask); - return 0; -} - - - -OSMesgQueue * osPiGetCmdQueue(void) - -{ - if (__osPiDevMgr.active == 0) { - return (OSMesgQueue *)0; - } - return __osPiDevMgr.cmdQueue; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -ulonglong proc_7001B830(void) - -{ - ulonglong in_f0; - double dVar1; - double dVar2; - ulonglong in_f4; - float in_f12; - double dVar3; - double dVar4; - double dVar5; - uint in_register_00001090; - - if (0x135 < ((int)in_f12 >> 0x16 & 0x1ffU)) { - if (false) { - return in_f0 & 0xffffffff00000000 | (ulonglong)dbl_80029D40._0_4_; - } - return in_f0 & 0xffffffff00000000 | (ulonglong)dbl_800299F0; - } - if (in_f12 <= 0.00000000) { - in_f12 = -in_f12; - } - dVar3 = (double)in_f12 * dbl_800299D8 + (double)((ulonglong)in_register_00001090 << 0x20); - if ((double)(in_f4 & 0xffffffff00000000) <= dVar3) { - dVar3 = dVar3 + (double)((ulonglong)in_register_00001090 << 0x20); - } - else { - dVar3 = dVar3 - (double)((ulonglong)in_register_00001090 << 0x20); - } - dVar1 = (double)(int)dVar3 - (double)((ulonglong)in_register_00001090 << 0x20); - dVar2 = ((double)in_f12 - dVar1 * dbl_800299E0) - dVar1 * dbl_800299E8; - dVar4 = dVar2 * dVar2; - dVar5 = dbl_800299B8 + ((dbl_800299D0 * dVar4 + dbl_800299C8) * dVar4 + dbl_800299C0) * dVar4; - if (((int)dVar3 & 1U) != 0) { - return (ulonglong)dVar1 & 0xffffffff00000000 | - (ulonglong)(uint)-(float)(dVar2 * dVar4 * dVar5 + dVar2); - } - return (ulonglong)dVar1 & 0xffffffff00000000 | - (ulonglong)(uint)(float)(dVar2 * dVar4 * dVar5 + dVar2); -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -ulonglong proc_7001B9A0(void) - -{ - uint uVar1; - ulonglong in_f0; - double dVar2; - double dVar3; - ulonglong in_f6; - ulonglong in_f8; - float in_f12; - double dVar4; - double dVar5; - double dVar6; - ulonglong in_f16; - - uVar1 = (int)in_f12 >> 0x16 & 0x1ff; - if (uVar1 < 0xff) { - dVar2 = (double)in_f12; - if (0xe5 < uVar1) { - dVar4 = dVar2 * dVar2; - return in_f0 & 0xffffffff00000000 | - (ulonglong) - (uint)(float)(dVar2 * dVar4 * - (dbl_80029A08 + - ((dbl_80029A20 * dVar4 + dbl_80029A18) * dVar4 + dbl_80029A10) * - dVar4) + dVar2); - } - return in_f0 & 0xffffffff00000000 | (ulonglong)(uint)in_f12; - } - if (0x135 < uVar1) { - if (true) { - return in_f0 & 0xffffffff00000000 | (ulonglong)dbl_80029A40._0_4_; - } - return in_f0 & 0xffffffff00000000 | (ulonglong)dbl_80029D40._0_4_; - } - dVar2 = (double)in_f12 * dbl_80029A28; - if ((double)(in_f8 & 0xffffffff00000000) <= dVar2) { - dVar2 = dVar2 + (double)(in_f16 & 0xffffffff00000000); - } - else { - dVar2 = dVar2 - (double)(in_f6 & 0xffffffff00000000); - } - dVar4 = (double)(int)dVar2; - dVar3 = ((double)in_f12 - dVar4 * dbl_80029A30) - dVar4 * dbl_80029A38; - dVar5 = dVar3 * dVar3; - dVar6 = dbl_80029A08 + ((dbl_80029A20 * dVar5 + dbl_80029A18) * dVar5 + dbl_80029A10) * dVar5; - if (((int)dVar2 & 1U) == 0) { - return (ulonglong)dVar4 & 0xffffffff00000000 | - (ulonglong)(uint)(float)(dVar3 * dVar5 * dVar6 + dVar3); - } - return (ulonglong)dVar4 & 0xffffffff00000000 | - (ulonglong)(uint)-(float)(dVar3 * dVar5 * dVar6 + dVar3); -} - - - -void osDestroyThread(OSThread *t) - -{ - OSThread *pOVar1; - OSThread *pOVar2; - OSThread *pOVar3; - u32 mask; - OSThread *pOStackX0; - - mask = __osDisableInt(); - if (t == NULL) { - pOStackX0 = __osRunningThread; - } - else { - pOStackX0 = t; - if (t->state != 1) { - __osDequeueThread((OSThread **)t->queue,t); - } - } - if (__osActiveQueue == pOStackX0) { - __osActiveQueue = (OSThread *)__osActiveQueue->tlnext; - } - else { - pOVar3 = (OSThread *)__osActiveQueue->tlnext; - pOVar2 = __osActiveQueue; - while (pOVar1 = pOVar3, pOVar1 != NULL) { - if (pOVar1 == pOStackX0) { - pOVar2->tlnext = pOStackX0->tlnext; - break; - } - pOVar3 = (OSThread *)pOVar1->tlnext; - pOVar2 = pOVar1; - } - } - if (pOStackX0 == __osRunningThread) { - __osDispatchThread(); - } - __osRestoreInt(mask); - return; -} - - - -void __setInstChanState(int param_1,undefined *param_2,int param_3) - -{ - param_3 *= 0x10; - *(undefined **)(*(int *)(param_1 + 0x60) + param_3) = param_2; - *(undefined *)(*(int *)(param_1 + 0x60) + param_3 + 7) = param_2[1]; - *(undefined *)(*(int *)(param_1 + 0x60) + param_3 + 9) = *param_2; - *(undefined *)(*(int *)(param_1 + 0x60) + param_3 + 8) = param_2[2]; - *(undefined2 *)(*(int *)(param_1 + 0x60) + param_3 + 4) = *(undefined2 *)(param_2 + 0xc); - return; -} - - - -void __resetPerfChanState(int param_1,int param_2) - -{ - param_2 *= 0x10; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 6) = 0; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 10) = 0; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 7) = 0x40; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 9) = 0x7f; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 8) = 5; - *(undefined *)(*(int *)(param_1 + 0x60) + param_2 + 0xb) = 0; - *(undefined2 *)(*(int *)(param_1 + 0x60) + param_2 + 4) = 200; - *(undefined4 *)(*(int *)(param_1 + 0x60) + param_2 + 0xc) = 0x3f800000; - return; -} - - - -void __initFromBank(int param_1,int param_2) - -{ - undefined *puVar1; - longlong lVar2; - int iVar3; - - puVar1 = *(undefined **)(param_2 + 0xc); - iVar3 = param_2; - while (puVar1 == NULL) { - puVar1 = *(undefined **)(iVar3 + 0x10); - iVar3 = iVar3 + 4; - } - lVar2 = 0; - iVar3 = 0; - if (*(char *)(param_1 + 0x34) != '\0') { - do { - iVar3 = (int)lVar2; - __resetPerfChanState(param_1,iVar3); - __setInstChanState(param_1,puVar1,iVar3); - iVar3 += 1; - lVar2 = (longlong)iVar3; - } while (lVar2 < (longlong)(ulonglong)*(byte *)(param_1 + 0x34)); - } - if (*(int *)(param_2 + 8) != 0) { - __resetPerfChanState(param_1,iVar3); - __setInstChanState(param_1,*(undefined **)(param_2 + 8),9); - } - return; -} - - - -void proc_7001BDE8(void) - -{ - return; -} - - - -int __vsDelta(int param_1,int param_2) - -{ - param_2 = *(int *)(param_1 + 0x24) - param_2; - if (-1 < param_2) { - return param_2; - } - return 1000; -} - - - -undefined2 __vsVol(int param_1,int param_2) - -{ - return (short)((uint)(((int)((uint)*(byte *)(param_1 + 0x36) * (uint)*(byte *)(param_1 + 0x33) * - (uint)*(byte *)(param_1 + 0x30)) >> 6) * - ((int)((uint)*(byte *)(*(int *)(param_2 + 0x60) + - (uint)*(byte *)(param_1 + 0x31) * 0x10 + 9) * - (uint)*(byte *)(*(int *)(param_1 + 0x20) + 0xd) * - (int)*(short *)(param_2 + 0x32)) >> 0xe)) >> 0xf); -} - - - -void __seqpReleaseVoice(int param_1,int *param_2,int *param_3) - -{ - int iVar1; - ALLink_s *pAVar2; - ALLink *a; - s16 sStack16; - int *piStack12; - - iVar1 = param_2[4]; - if (*(char *)(iVar1 + 0x34) == '\0') { - pAVar2 = (ALLink_s *)*(ALLink **)(param_1 + 0x50); - while (a = (ALLink *)pAVar2, a != NULL) { - pAVar2 = a->next; - if ((*(short *)&a[1].prev == 6) && ((ALLink_s *)param_2 == a[2].next)) { - if (pAVar2 != NULL) { - pAVar2[1].next = - (ALLink_s *)((int)&(a[1].next)->next + (int)&(pAVar2[1].next)->next); - } - alUnlink(a); - alLink(a,(ALLink *)(param_1 + 0x48)); - } - } - } - *(undefined *)(iVar1 + 0x33) = 0; - *(undefined *)(iVar1 + 0x34) = 3; - *(undefined *)(iVar1 + 0x30) = 0; - *(int *)(iVar1 + 0x24) = *(int *)(param_1 + 0x1c) + (int)param_3; - alSynSetPriority(*(ALSynth **)(param_1 + 0x14),(ALVoice *)param_2,0); - alSynSetVol(*(ALSynth **)(param_1 + 0x14),(ALVoice *)param_2,0,(ALMicroTime)param_3); - sStack16 = 5; - piStack12 = param_2; - alEvtqPostEvent((ALEventQueue *)(param_1 + 0x48),(ALEvent *)&sStack16,(ALMicroTime)param_3); - return; -} - - - -undefined8 __voiceNeedsNoteKill(int param_1,int *param_2,int param_3) - -{ - ALLink_s *pAVar1; - ALLink *a; - int iVar2; - undefined8 uVar3; - - iVar2 = 0; - pAVar1 = (ALLink_s *)*(ALLink **)(param_1 + 0x50); - do { - a = (ALLink *)pAVar1; - if (a == NULL) { - return 1; - } - pAVar1 = a->next; - iVar2 = (int)&(a[1].next)->next + iVar2; - } while ((*(short *)&a[1].prev != 5) || ((ALLink_s *)param_2 != a[2].next)); - if (param_3 < iVar2) { - if (pAVar1 != NULL) { - pAVar1[1].next = (ALLink_s *)((int)&(a[1].next)->next + (int)&(pAVar1[1].next)->next); - } - alUnlink(a); - alLink(a,(ALLink *)(param_1 + 0x48)); - uVar3 = 1; - } - else { - uVar3 = 0; - } - return uVar3; -} - - - -void __unmapVoice(int param_1,int param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 uVar4; - - puVar3 = *(undefined4 **)(param_1 + 100); - puVar2 = NULL; - while( true ) { - puVar1 = puVar3; - if (puVar1 == NULL) { - return; - } - if (puVar1 == (undefined4 *)(param_2 + -4)) break; - puVar3 = (undefined4 *)*puVar1; - puVar2 = puVar1; - } - if (puVar2 == NULL) { - *(undefined4 *)(param_1 + 100) = *puVar1; - } - else { - *puVar2 = *puVar1; - } - if (puVar1 == *(undefined4 **)(param_1 + 0x68)) { - *(undefined4 **)(param_1 + 0x68) = puVar2; - uVar4 = *(undefined4 *)(param_1 + 0x6c); - } - else { - uVar4 = *(undefined4 *)(param_1 + 0x6c); - } - *puVar1 = uVar4; - *(undefined4 **)(param_1 + 0x6c) = puVar1; - return; -} - - - -void __postNextSeqEvent(int param_1) - -{ - ALSeq *seq; - ulonglong uVar1; - s32 sVar2; - int iStack20; - ALEvent AStack16; - - seq = *(ALSeq **)(param_1 + 0x18); - if (((*(int *)(param_1 + 0x2c) == 1) && (seq != NULL)) && - (uVar1 = __alSeqNextDelta((int *)seq,&iStack20), uVar1 != 0)) { - if ((*(int *)(param_1 + 0x84) != 0) && - (sVar2 = alSeqGetTicks(seq), *(int *)(*(int *)(param_1 + 0x80) + 8) <= sVar2 + iStack20)) - { - alSeqSetLoc(seq,*(ALSeqMarker **)(param_1 + 0x7c)); - if (*(int *)(param_1 + 0x84) != -1) { - *(int *)(param_1 + 0x84) = *(int *)(param_1 + 0x84) + -1; - } - } - AStack16.type = 0; - alEvtqPostEvent((ALEventQueue *)(param_1 + 0x48),&AStack16, - *(int *)(param_1 + 0x24) * iStack20); - } - return; -} - - - -void proc_7001C1BC(int param_1,int param_2) - -{ - if ((*(char *)(param_1 + 8) == -1) && (*(char *)(param_1 + 9) == 'Q')) { - if (*(int *)(param_2 + 0x18) != 0) { - *(int *)(param_2 + 0x24) = - (int)((float)((uint)*(byte *)(param_1 + 0xb) << 0x10 | - (uint)*(byte *)(param_1 + 0xc) << 8 | (uint)*(byte *)(param_1 + 0xd)) - * *(float *)(*(int *)(param_2 + 0x18) + 0x14)); - return; - } - *(undefined4 *)(param_2 + 0x24) = 0x1e8; - } - return; -} - - - -uint __vsPan(int param_1,int param_2) - -{ - uint uVar1; - uint uVar2; - - uVar1 = ((uint)*(byte *)(*(int *)(param_2 + 0x60) + (uint)*(byte *)(param_1 + 0x31) * 0x10 + 7) - + (uint)*(byte *)(*(int *)(param_1 + 0x20) + 0xc)) - 0x40; - uVar2 = uVar1; - if ((int)uVar1 < 1) { - uVar2 = 0; - } - if (0x7e < (int)uVar1) { - uVar2 = 0x7f; - } - return uVar2 & 0xff; -} - - - -undefined4 * ___lookupVoice(int param_1,char param_2,char param_3) - -{ - char cVar1; - undefined4 *puVar2; - - puVar2 = *(undefined4 **)(param_1 + 100); - if (puVar2 != NULL) { - cVar1 = *(char *)((int)puVar2 + 0x32); - while( true ) { - if (param_2 == cVar1) { - if (param_3 == *(char *)((int)puVar2 + 0x31)) { - if (*(char *)((int)puVar2 + 0x35) == '\x03') { - puVar2 = (undefined4 *)*puVar2; - } - else { - if (*(char *)((int)puVar2 + 0x35) != '\x04') { - return puVar2; - } - puVar2 = (undefined4 *)*puVar2; - } - } - else { - puVar2 = (undefined4 *)*puVar2; - } - } - else { - puVar2 = (undefined4 *)*puVar2; - } - if (puVar2 == NULL) break; - cVar1 = *(char *)((int)puVar2 + 0x32); - } - } - return NULL; -} - - - -undefined4 * ___mapVoice(int param_1,undefined param_2,undefined param_3,undefined param_4) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(param_1 + 0x6c); - if (puVar1 != NULL) { - *(undefined4 *)(param_1 + 0x6c) = *puVar1; - *puVar1 = 0; - if (*(int *)(param_1 + 100) == 0) { - *(undefined4 **)(param_1 + 100) = puVar1; - } - else { - *(undefined4 **)*(undefined4 **)(param_1 + 0x68) = puVar1; - } - *(undefined4 **)(param_1 + 0x68) = puVar1; - *(undefined *)((int)puVar1 + 0x31) = param_4; - *(undefined *)((int)puVar1 + 0x32) = param_2; - *(undefined *)((int)puVar1 + 0x33) = param_3; - *(undefined4 **)(puVar1 + 5) = puVar1; - } - return puVar1; -} - - - -int __lookupSoundQuick(int param_1,byte param_2,byte param_3,uint param_4) - -{ - short sVar1; - int iVar2; - int iVar3; - byte *pbVar4; - longlong lVar5; - int iVar6; - longlong lVar7; - - iVar2 = *(int *)(*(int *)(param_1 + 0x60) + (param_4 & 0xff) * 0x10); - sVar1 = *(short *)(iVar2 + 0xe); - lVar7 = (longlong)sVar1; - lVar5 = 1; - iVar6 = (int)sVar1 + 1; - if (lVar7 < 1) { - return 0; - } - do { - if (iVar6 < 0) { - iVar6 += 1; - } - iVar6 >>= 1; - iVar3 = *(int *)(iVar2 + iVar6 * 4 + 0xc); - pbVar4 = *(byte **)(iVar3 + 4); - if ((((pbVar4[2] <= param_2) && (param_2 <= pbVar4[3])) && (*pbVar4 <= param_3)) && - (param_3 <= pbVar4[1])) { - return iVar3; - } - if (param_2 < pbVar4[2]) { -LAB_7001c438: - lVar7 = (longlong)(iVar6 + -1); - } - else { - if (param_3 < *pbVar4) { - if (param_2 <= pbVar4[3]) goto LAB_7001c438; - lVar5 = (longlong)(iVar6 + 1); - } - else { - lVar5 = (longlong)(iVar6 + 1); - } - } - if (lVar7 < lVar5) { - return 0; - } - iVar6 = (int)lVar5 + (int)lVar7; - } while( true ); -} - - - -void __handleMIDIMsg(ALSeqPlayer *seqp,ALEvent *event) - -{ - byte bVar1; - byte bVar2; - byte fxmix; - int iVar3; - int iVar4; - int iVar5; - int **ppiVar7; - longlong lVar6; - undefined2 uVar9; - undefined4 *puVar8; - s16 volume; - uint uVar10; - ALMicroTime t; - ALVoice *voice; - char cVar11; - ulonglong uVar12; - int unaff_s1_lo; - uint uVar13; - f32 pitch; - float fVar14; - float fVar15; - undefined uVar17; - float fVar16; - f32 pitch_00; - f32 extraout_f12; - f32 extraout_f12_00; - undefined4 auStack92 [2]; - float afStack84 [4]; - ALVoiceConfig aAStack68 [4]; - s16 sStack44; - ALVoice *pAStack40; - int iStack36; - char cStack32; - - bVar1 = *(byte *)&(seqp->node).handler; - bVar2 = *(byte *)((int)&(seqp->node).handler + 1); - fxmix = *(byte *)((int)&(seqp->node).handler + 2); - uVar10 = (uint)bVar1 & 0xf0; - uVar12 = (ulonglong)bVar1 & 0xf; - if (0x60 < uVar10 - 0x80) { - return; - } - uVar13 = (uint)uVar12; - cVar11 = (char)uVar12; - switch(uVar10) { - case 0x80: - goto LAB_7001c7f8; - case 0x90: - if (fxmix != 0) { - if (*(int *)(unaff_s1_lo + 0x2c) != 1) { - return; - } - ppiVar7 = (int **)__lookupSoundQuick(unaff_s1_lo,bVar2,fxmix,uVar13); - if (ppiVar7 == NULL) { - return; - } - iVar5 = uVar13 * 0x10; - aAStack68[0].fxBus = 0; - aAStack68[0].unityPitch = '\0'; - aAStack68[0].priority = (ushort)*(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar5 + 8); - puVar8 = ___mapVoice(unaff_s1_lo,bVar2,fxmix,cVar11); - if (puVar8 == NULL) { - return; - } - voice = (ALVoice *)(puVar8 + 1); - alSynAllocVoice(*(ALSynth **)(unaff_s1_lo + 0x14),voice,aAStack68); - *(int ***)(puVar8 + 8) = ppiVar7; - *(undefined *)(puVar8 + 0xd) = 0; - if (*(byte *)(*(int *)(unaff_s1_lo + 0x60) + iVar5 + 0xb) < 0x40) { - *(undefined *)((int)puVar8 + 0x35) = 0; - } - else { - *(undefined *)((int)puVar8 + 0x35) = 2; - } - pitch = alCents2Ratio((int)((((uint)bVar2 - (uint)*(byte *)(ppiVar7[1] + 1)) * 100 + - (int)*(char *)((int)ppiVar7[1] + 5)) * 0x10000) >> 0x10); - *(f32 *)(puVar8 + 10) = pitch; - *(undefined *)(puVar8 + 0xc) = *(undefined *)(*ppiVar7 + 3); - iVar3 = *(int *)(unaff_s1_lo + 0x1c); - iVar4 = **ppiVar7; - *(undefined *)((int)puVar8 + 0x37) = 0; - puVar8[9] = iVar3 + iVar4; - iVar3 = *(int *)(*(int *)(unaff_s1_lo + 0x60) + iVar5); - afStack84[0] = 127.00000000; - if (((*(byte *)(iVar3 + 4) != 0) && (*(code **)(unaff_s1_lo + 0x70) != NULL)) && - (lVar6 = (**(code **)(unaff_s1_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar3 + 4), - (ulonglong)*(byte *)(iVar3 + 5),(uint)*(byte *)(iVar3 + 6), - (uint)*(byte *)(iVar3 + 7)), lVar6 != 0)) { - sStack44 = 0x16; - iStack36 = auStack92[0]; - pAStack40 = (ALVoice *)puVar8; - alEvtqPostEvent((ALEventQueue *)(unaff_s1_lo + 0x48),(ALEvent *)&sStack44, - (ALMicroTime)lVar6); - *(byte *)((int)puVar8 + 0x37) = *(byte *)((int)puVar8 + 0x37) | 1; - } - if (false) { - fVar14 = ROUND(afStack84[0]); - } - else { - fVar14 = FLOOR(afStack84[0]); - } - uVar17 = (undefined)(int)fVar14; - if (false) { - if (false) { - fVar14 = ROUND(afStack84[0] - 2147483648.00000000); - } - else { - fVar14 = FLOOR(afStack84[0] - 2147483648.00000000); - } - if (true) { - uVar17 = (undefined)(int)fVar14; - goto LAB_7001c6ac; - } - } - else { - if (-1 < (int)fVar14) goto LAB_7001c6ac; - } - uVar17 = 0xff; -LAB_7001c6ac: - *(undefined *)((int)puVar8 + 0x36) = uVar17; - afStack84[0] = 1.00000000; - if (((*(byte *)(iVar3 + 8) != 0) && (*(code **)(unaff_s1_lo + 0x70) != NULL)) && - (lVar6 = (**(code **)(unaff_s1_lo + 0x70)) - (auStack92,afStack84,(ulonglong)*(byte *)(iVar3 + 8), - (ulonglong)*(byte *)(iVar3 + 9),(uint)*(byte *)(iVar3 + 10), - (uint)*(byte *)(iVar3 + 0xb)), lVar6 != 0)) { - sStack44 = 0x17; - iStack36 = auStack92[0]; - pAStack40 = (ALVoice *)puVar8; - cStack32 = cVar11; - alEvtqPostEvent((ALEventQueue *)(unaff_s1_lo + 0x48),(ALEvent *)&sStack44, - (ALMicroTime)lVar6); - *(byte *)((int)puVar8 + 0x37) = *(byte *)((int)puVar8 + 0x37) | 2; - } - fVar16 = (float)puVar8[10]; - *(float *)(puVar8 + 0xb) = afStack84[0]; - fVar14 = (float)puVar8[0xb]; - iVar5 = *(int *)(unaff_s1_lo + 0x60) + iVar5; - fVar15 = *(float *)(iVar5 + 0xc); - bVar1 = *(byte *)(iVar5 + 10); - uVar10 = __vsPan((int)puVar8,unaff_s1_lo); - uVar9 = __vsVol((int)puVar8,unaff_s1_lo); - alSynStartVoiceParams - (*(ALSynth **)(unaff_s1_lo + 0x14),voice,(ALWaveTable *)ppiVar7[2],pitch_00, - SUB42(fVar15 * fVar16 * fVar14,0),(ALPan)uVar9,(u8)uVar10,(uint)bVar1); - sStack44 = 6; - cStack32 = *(undefined *)((int)*ppiVar7 + 0xd); - iStack36 = (*ppiVar7)[1]; - pAStack40 = voice; - alEvtqPostEvent((ALEventQueue *)(unaff_s1_lo + 0x48),(ALEvent *)&sStack44,**ppiVar7); - return; - } -LAB_7001c7f8: - puVar8 = ___lookupVoice(unaff_s1_lo,bVar2,cVar11); - if (puVar8 != NULL) { - if (*(char *)((int)puVar8 + 0x35) == '\x02') { - *(undefined *)((int)puVar8 + 0x35) = 4; - } - else { - *(undefined *)((int)puVar8 + 0x35) = 3; - __seqpReleaseVoice(unaff_s1_lo,puVar8 + 1,*(int **)(*(int *)puVar8[8] + 8)); - } - } - break; - case 0xa0: - puVar8 = ___lookupVoice(unaff_s1_lo,bVar2,cVar11); - if (puVar8 != NULL) { - *(byte *)((int)puVar8 + 0x33) = fxmix; - volume = __vsVol((int)puVar8,unaff_s1_lo); - t = puVar8[9] - *(int *)(unaff_s1_lo + 0x1c); - if (t < 0) { - t = 1000; - } - alSynSetVol(*(ALSynth **)(unaff_s1_lo + 0x14),(ALVoice *)(puVar8 + 1),volume,t); - } - break; - case 0xb0: - if (bVar2 < 0x41) { - if (bVar2 < 0x1c) { - if (true) { - switch(bVar2) { - case 7: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar13 * 0x10 + 9) = fxmix; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar12 == (ulonglong)bVar1) { - if (*(char *)(puVar8 + 0xd) == '\x03') { - puVar8 = (undefined4 *)*puVar8; - } - else { - volume = __vsVol((int)puVar8,unaff_s1_lo); - t = puVar8[9] - *(int *)(unaff_s1_lo + 0x1c); - if (t < 0) { - t = 1000; - } - alSynSetVol(*(ALSynth **)(unaff_s1_lo + 0x14), - (ALVoice *)(puVar8 + 1),volume,t); - puVar8 = (undefined4 *)*puVar8; - } - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - break; - case 10: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar13 * 0x10 + 7) = fxmix; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar12 == (ulonglong)bVar1) { - uVar10 = __vsPan((int)puVar8,unaff_s1_lo); - alSynSetPan(*(ALSynth **)(unaff_s1_lo + 0x14), - (ALVoice *)(puVar8 + 1),(u8)uVar10); - puVar8 = (undefined4 *)*puVar8; - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - break; - case 0x10: - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar13 * 0x10 + 8) = fxmix; - } - } - } - else { - if (bVar2 == 0x40) { - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar13 * 0x10 + 0xb) = fxmix; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - do { - if (uVar12 == (ulonglong)bVar1) { - cVar11 = *(char *)((int)puVar8 + 0x35); - if (cVar11 == '\x03') { - puVar8 = (undefined4 *)*puVar8; - } - else { - if (fxmix < 0x40) { - if (cVar11 == '\x02') { - *(undefined *)((int)puVar8 + 0x35) = 0; - } - else { - if (cVar11 != '\x04') { - puVar8 = (undefined4 *)*puVar8; - goto LAB_7001cb38; - } - *(undefined *)((int)puVar8 + 0x35) = 3; - __seqpReleaseVoice(unaff_s1_lo,puVar8 + 1, - *(int **)(*(int *)puVar8[8] + 8)); - } - } - else { - if (cVar11 != '\0') { - puVar8 = (undefined4 *)*puVar8; - goto LAB_7001cb38; - } - *(undefined *)((int)puVar8 + 0x35) = 2; - } - puVar8 = (undefined4 *)*puVar8; - } - } - else { - puVar8 = (undefined4 *)*puVar8; - } -LAB_7001cb38: - if (puVar8 == NULL) { - return; - } - bVar1 = *(byte *)((int)puVar8 + 0x31); - } while( true ); - } - } - } - } - else { - if (bVar2 == 0x5b) { - *(byte *)(*(int *)(unaff_s1_lo + 0x60) + uVar13 * 0x10 + 10) = fxmix; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar12 == (ulonglong)bVar1) { - alSynSetFXMix(*(ALSynth **)(unaff_s1_lo + 0x14),(ALVoice *)(puVar8 + 1), - fxmix); - puVar8 = (undefined4 *)*puVar8; - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - } - } - break; - case 0xc0: - if ((longlong)(ulonglong)bVar2 < (longlong)**(short **)(unaff_s1_lo + 0x20)) { - __setInstChanState(unaff_s1_lo, - *(undefined **) - (*(short **)(unaff_s1_lo + 0x20) + (uint)bVar2 * 2 + 6),uVar13); - } - break; - case 0xd0: - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - while( true ) { - if (uVar12 == (ulonglong)bVar1) { - *(byte *)((int)puVar8 + 0x33) = bVar2; - volume = __vsVol((int)puVar8,unaff_s1_lo); - t = puVar8[9] - *(int *)(unaff_s1_lo + 0x1c); - if (t < 0) { - t = 1000; - } - alSynSetVol(*(ALSynth **)(unaff_s1_lo + 0x14),(ALVoice *)(puVar8 + 1),volume,t); - puVar8 = (undefined4 *)*puVar8; - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - break; - case 0xe0: - iVar5 = (int)*(short *)(*(int *)(unaff_s1_lo + 0x60) + uVar13 * 0x10 + 4) * - ((uint)fxmix * 0x80 + (uint)bVar2 + -0x2000); - if (iVar5 < 0) { - iVar5 += 0x1fff; - } - pitch = alCents2Ratio(iVar5 >> 0xd); - *(f32 *)(*(int *)(unaff_s1_lo + 0x60) + uVar13 * 0x10 + 0xc) = pitch; - puVar8 = *(undefined4 **)(unaff_s1_lo + 100); - if (puVar8 != NULL) { - bVar1 = *(byte *)((int)puVar8 + 0x31); - pitch = extraout_f12; - while( true ) { - if (uVar12 == (ulonglong)bVar1) { - alSynSetPitch(*(ALSynth **)(unaff_s1_lo + 0x14),(ALVoice *)(puVar8 + 1),pitch); - puVar8 = (undefined4 *)*puVar8; - pitch = extraout_f12_00; - } - else { - puVar8 = (undefined4 *)*puVar8; - } - if (puVar8 == NULL) break; - bVar1 = *(byte *)((int)puVar8 + 0x31); - } - } - } - return; -} - - - -void proc_7001CC74(void) - -{ - return; -} - - - -ALMicroTime __seqpVoiceHandler(void *node) - -{ - void *pvVar1; - undefined4 uVar2; - int t; - int *piVar3; - undefined4 *puVar4; - float fVar5; - s16 volume; - longlong lVar6; - ALMicroTime delta; - ALMicroTime t_00; - undefined8 in_a1; - ALEvent *event; - undefined8 extraout_a1; - ALSeqPlayer *seqp; - undefined uVar7; - ALVoice *v; - ALEventQueue *evtq; - f32 pitch; - ALEvent aAStack72 [2]; - ALBank *apAStack40 [5]; - s16 sStack20; - int iStack16; - undefined4 uStack12; - undefined uStack8; - - seqp = (ALSeqPlayer *)((int)node + 0x38); - evtq = (ALEventQueue *)((int)node + 0x48); - do { - if (true) { - switch(*(undefined2 *)((int)node + 0x38)) { - case 0: - if (*(ALSeq **)((int)node + 0x18) != NULL) { - alSeqNextEvent(*(ALSeq **)((int)node + 0x18),aAStack72); - if (aAStack72[0].type == 1) { - __handleMIDIMsg((ALSeqPlayer *)aAStack72,event); - __postNextSeqEvent((int)node); - } - else { - if (aAStack72[0].type == 3) { - proc_7001C1BC((int)aAStack72,(int)node); - __postNextSeqEvent((int)node); - } - else { - if (aAStack72[0].type == 4) { - *(undefined4 *)((int)node + 0x2c) = 2; - aAStack72[0].type = 0x10; - alEvtqPostEvent(evtq,aAStack72,0x7fffffff); - } - } - } - } - break; - case 2: - __handleMIDIMsg(seqp,(ALEvent *)in_a1); - break; - case 5: - v = *(ALVoice **)((int)node + 0x3c); - alSynStopVoice(*(ALSynth **)((int)node + 0x14),v); - alSynFreeVoice(*(ALSynth **)((int)node + 0x14),v); - if (*(char *)((int)v->clientPrivate + 0x37) != '\0') { - __seqpStopOsc((int)node,(int *)v->clientPrivate); - } - __unmapVoice((int)node,(int)v); - break; - case 6: - v = *(ALVoice **)((int)node + 0x3c); - pvVar1 = v->clientPrivate; - if (*(char *)((int)pvVar1 + 0x34) == '\0') { - *(undefined *)((int)pvVar1 + 0x34) = 1; - uVar7 = *(undefined *)((int)node + 0x44); - } - else { - uVar7 = *(undefined *)((int)node + 0x44); - } - t = *(int *)((int)node + 0x40); - *(undefined *)((int)pvVar1 + 0x30) = uVar7; - *(int *)((int)pvVar1 + 0x24) = *(int *)((int)node + 0x1c) + t; - volume = __vsVol((int)pvVar1,(int)node); - alSynSetVol(*(ALSynth **)((int)node + 0x14),v,volume,t); - break; - case 7: - proc_7001C1BC((int)seqp,(int)node); - break; - case 9: - sStack20 = 9; - alEvtqPostEvent(evtq,(ALEvent *)&sStack20,*(ALMicroTime *)((int)node + 0x5c)); - break; - case 10: - puVar4 = *(undefined4 **)((int)node + 100); - *(undefined2 *)((int)node + 0x32) = *(undefined2 *)((int)node + 0x3c); - while (puVar4 != NULL) { - volume = __vsVol((int)puVar4,(int)node); - delta = puVar4[9] - *(int *)((int)node + 0x1c); - if (delta < 0) { - delta = 1000; - } - alSynSetVol(*(ALSynth **)((int)node + 0x14),(ALVoice *)(puVar4 + 1),volume,delta - ); - puVar4 = (undefined4 *)*puVar4; - } - break; - case 0xb: - *(undefined4 *)((int)node + 0x7c) = *(undefined4 *)((int)node + 0x3c); - *(undefined4 *)((int)node + 0x80) = *(undefined4 *)((int)node + 0x40); - *(undefined4 *)((int)node + 0x84) = *(undefined4 *)((int)node + 0x44); - break; - case 0xc: - *(undefined *) - (*(int *)((int)node + 0x60) + (uint)*(byte *)((int)node + 0x3c) * 0x10 + 8) = - *(undefined *)((int)node + 0x3d); - break; - case 0xd: - t = *(int *)((int)node + 0x3c); - *(int *)((int)node + 0x18) = t; - if (t == 0) { - *(undefined4 *)((int)node + 0x24) = 0x1e8; - } - else { - *(int *)((int)node + 0x24) = (int)(flt_80029C88 * *(float *)(t + 0x14)); - } - if (*(int *)((int)node + 0x20) != 0) { - __initFromBank((int)node,*(int *)((int)node + 0x20)); - } - break; - case 0xe: - *(int *)((int)node + 0x20) = *(int *)((int)node + 0x3c); - __initFromBank((int)node,*(int *)((int)node + 0x3c)); - break; - case 0xf: - if (*(int *)((int)node + 0x2c) != 1) { - *(undefined4 *)((int)node + 0x2c) = 1; - __postNextSeqEvent((int)node); - } - break; - case 0x10: - if (*(int *)((int)node + 0x2c) == 2) { - piVar3 = *(int **)((int)node + 100); - while (piVar3 != NULL) { - v = (ALVoice *)(piVar3 + 1); - alSynStopVoice(*(ALSynth **)((int)node + 0x14),v); - alSynFreeVoice(*(ALSynth **)((int)node + 0x14),v); - if (*(char *)((int)piVar3 + 0x37) != '\0') { - __seqpStopOsc((int)node,piVar3); - } - __unmapVoice((int)node,(int)v); - piVar3 = *(int **)((int)node + 100); - } - *(undefined4 *)((int)node + 0x1c) = 0; - *(undefined4 *)((int)node + 0x2c) = 0; - } - break; - case 0x11: - if (*(int *)((int)node + 0x2c) == 1) { - alEvtqFlushType(evtq,0); - alEvtqFlushType(evtq,2); - puVar4 = *(undefined4 **)((int)node + 100); - while (puVar4 != NULL) { - lVar6 = __voiceNeedsNoteKill((int)node,puVar4 + 1,50000); - if (lVar6 != 0) { - __seqpReleaseVoice((int)node,puVar4 + 1,(int *)0xc350); - } - puVar4 = (undefined4 *)*puVar4; - } - *(undefined4 *)((int)node + 0x2c) = 2; - sStack20 = 0x10; - alEvtqPostEvent(evtq,(ALEvent *)&sStack20,0x7fffffff); - } - break; - case 0x16: - uVar2 = *(undefined4 *)((int)node + 0x40); - t = *(int *)((int)node + 0x3c); - delta = (**(code **)((int)node + 0x74))(uVar2,apAStack40); - if (false) { - fVar5 = ROUND((float)apAStack40[0]); - } - else { - fVar5 = FLOOR((float)apAStack40[0]); - } - uVar7 = (undefined)(int)fVar5; - if (false) { - if (false) { - fVar5 = ROUND((float)apAStack40[0] - 2147483648.00000000); - } - else { - fVar5 = FLOOR((float)apAStack40[0] - 2147483648.00000000); - } - if (false) goto LAB_7001cee8; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar5 < 0) { -LAB_7001cee8: - uVar7 = 0xff; - } - } - *(undefined *)(t + 0x36) = uVar7; - volume = __vsVol(t,(int)node); - t_00 = *(int *)(t + 0x24) - *(int *)((int)node + 0x1c); - if (t_00 < 0) { - t_00 = 1000; - } - alSynSetVol(*(ALSynth **)((int)node + 0x14),(ALVoice *)(t + 4),volume,t_00); - sStack20 = 0x16; - iStack16 = t; - uStack12 = uVar2; - alEvtqPostEvent(evtq,(ALEvent *)&sStack20,delta); - break; - case 0x17: - uVar2 = *(undefined4 *)((int)node + 0x40); - t = *(int *)((int)node + 0x3c); - uVar7 = *(undefined *)((int)node + 0x44); - delta = (**(code **)((int)node + 0x74))(uVar2,apAStack40); - *(ALBank **)(t + 0x2c) = apAStack40[0]; - alSynSetPitch(*(ALSynth **)((int)node + 0x14),(ALVoice *)(t + 4),pitch); - sStack20 = 0x17; - iStack16 = t; - uStack12 = uVar2; - uStack8 = uVar7; - alEvtqPostEvent(evtq,(ALEvent *)&sStack20,delta); - } - } - delta = alEvtqNextEvent(evtq,(ALEvent *)seqp); - *(ALMicroTime *)((int)node + 0x28) = delta; - in_a1 = extraout_a1; - if (delta != 0) { - *(int *)((int)node + 0x1c) = *(int *)((int)node + 0x1c) + delta; - return delta; - } - } while( true ); -} - - - -void __seqpStopOsc(int param_1,int *param_2) - -{ - short sVar1; - ALLink_s *pAVar2; - ALLink_s *pAVar3; - ALLink *a; - - pAVar2 = (ALLink_s *)*(ALLink **)(param_1 + 0x50); -joined_r0x7001d2d4: - do { - a = (ALLink *)pAVar2; - if (a == NULL) { - return; - } - sVar1 = *(short *)&a[1].prev; - pAVar2 = a->next; - if (sVar1 == 0x16) { - pAVar3 = a[2].next; - } - else { - if (sVar1 != 0x17) goto joined_r0x7001d2d4; - pAVar3 = a[2].next; - } - if ((ALLink_s *)param_2 == pAVar3) { - (**(code **)(param_1 + 0x78))(a[2].prev); - alUnlink(a); - if (pAVar2 != NULL) { - pAVar2[1].next = - (ALLink_s *)((int)&(a[1].next)->next + (int)&(pAVar2[1].next)->next); - } - alLink(a,(ALLink *)(param_1 + 0x48)); - if (sVar1 == 0x16) { - *(byte *)((int)param_2 + 0x37) = *(byte *)((int)param_2 + 0x37) & 0xfe; - } - else { - *(byte *)((int)param_2 + 0x37) = *(byte *)((int)param_2 + 0x37) & 0xfd; - } - if (*(char *)((int)param_2 + 0x37) == '\0') { - return; - } - } - } while( true ); -} - - - -void __initChanState(int param_1) - -{ - int iVar1; - longlong lVar2; - int iVar3; - - lVar2 = 0; - iVar3 = 0; - if (*(char *)(param_1 + 0x34) != '\0') { - iVar1 = *(int *)(param_1 + 0x60); - while( true ) { - *(undefined4 *)(iVar1 + iVar3) = 0; - __resetPerfChanState(param_1,(int)lVar2); - lVar2 = (longlong)((int)lVar2 + 1); - iVar3 += 0x10; - if ((longlong)(ulonglong)*(byte *)(param_1 + 0x34) <= lVar2) break; - iVar1 = *(int *)(param_1 + 0x60); - } - } - return; -} - - - -void alSeqpNew(ALSeqPlayer *seqp,ALSeqpConfig *c) - -{ - u8 uVar1; - ALHeap *hp; - ALSeqMarker *pAVar2; - ALGlobals *pAVar3; - ALVoiceState *in_v0_lo; - ALVoiceState *pAVar4; - int iVar5; - ALLink_s *pAVar6; - - hp = c->heap; - seqp->bank = NULL; - seqp->target = NULL; - pAVar3 = slg; - seqp->chanMask = 0xff; - seqp->uspt = 0x1e8; - seqp->nextDelta = 0; - seqp->state = 0; - seqp->vol = 0x7fff; - *(ALGlobals **)&seqp->drvr = pAVar3; - uVar1 = c->debugFlags; - seqp->chanState = (ALChanState *)0x3e80; - seqp->curTime = 0; - seqp->debugFlags = uVar1; - seqp->updateOsc = c->initOsc; - seqp->stopOsc = c->updateOsc; - pAVar2 = (ALSeqMarker *)c->stopOsc; - seqp->loopEnd = NULL; - seqp->loopCount = 0; - seqp[1].node.next = NULL; - *(undefined2 *)&(seqp->nextEvent).msg = 9; - seqp->loopStart = pAVar2; - seqp->maxChannels = c->maxChannels; - _alHeapDBAlloc(NULL,0,hp,(uint)c->maxChannels,0x10); - seqp->vAllocHead = in_v0_lo; - __initChanState((int)seqp); - _alHeapDBAlloc(NULL,0,hp,c->maxVoices,0x38); - seqp->initOsc = NULL; - iVar5 = 0; - if (0 < c->maxVoices) { - pAVar6 = (ALLink_s *)seqp->initOsc; - pAVar4 = in_v0_lo; - while( true ) { - iVar5 += 1; - ((ALLink *)&pAVar4->next)->next = pAVar6; - *(ALVoiceState **)&seqp->initOsc = pAVar4; - pAVar4 = pAVar4 + 1; - if (c->maxVoices <= iVar5) break; - pAVar6 = (ALLink_s *)seqp->initOsc; - } - } - seqp->vAllocTail = NULL; - seqp->vFreeList = NULL; - _alHeapDBAlloc(NULL,0,hp,c->maxEvents,0x1c); - alEvtqNew((ALEventQueue *)&(seqp->evtq).freeList.prev,(ALEventListItem *)in_v0_lo,c->maxEvents); - (seqp->node).next = NULL; - (seqp->node).handler = __seqpVoiceHandler; - *(ALSeqPlayer **)&(seqp->node).clientData = seqp; - alSynAddPlayer((ALSynth *)slg,(ALPlayer *)seqp); - return; -} - - - -void alSynStartVoiceParams - (ALSynth *s,ALVoice *v,ALWaveTable *w,f32 pitch,s16 vol,ALPan pan,u8 fxmix, - ALMicroTime t) - -{ - int iVar1; - ALParam AVar3; - int iVar2; - undefined in_stack_00000012; - undefined2 uStack00000012; - int in_stack_0000001c; - - if ((v->pvoice != NULL) && (AVar3 = ___allocParam(), AVar3 != (ALParam)0x0)) { - if (false) { - t._3_1_ = -(char)t; - } - iVar2 = s->paramSamples; - iVar1 = *(int *)(v->pvoice + 0xd8); - *(undefined4 *)(int)(char)AVar3 = 0; - *(undefined2 *)((int)(char)AVar3 + 8) = 0xd; - *(int *)((int)(char)AVar3 + 4) = iVar2 + iVar1; - *(s16 *)((int)(char)AVar3 + 10) = v->unityPitch; - *(u8 *)((int)(char)AVar3 + 0x12) = fxmix; - *(char *)((int)(char)AVar3 + 0x13) = (char)t; - *(undefined2 *)((int)(char)AVar3 + 0x10) = uStack00000012; - *(int *)((int)(char)AVar3 + 0xc) = (int)vol; - iVar2 = _timeToSamples(s,in_stack_0000001c); - *(int *)((int)(char)AVar3 + 0x14) = iVar2; - *(ALWaveTable **)((int)(char)AVar3 + 0x18) = w; - (**(code **)(*(int *)(v->pvoice + 0xc) + 8))(*(int *)(v->pvoice + 0xc),3); - } - return; -} - - - -void alCopy(void *src,void *dest,s32 len) - -{ - undefined uVar1; - undefined *puVar2; - uint uVar3; - - uVar3 = 0; - if (0 < len) { - if ((len & 3U) != 0) { - do { - uVar1 = *(undefined *)src; - uVar3 += 1; - puVar2 = (undefined *)dest + 1; - src = (undefined *)src + 1; - *(undefined *)dest = uVar1; - dest = puVar2; - } while ((len & 3U) != uVar3); - if (uVar3 == len) { - return; - } - } - do { - uVar3 += 4; - *(undefined *)dest = *(undefined *)src; - ((undefined *)dest)[1] = ((undefined *)src)[1]; - ((undefined *)dest)[2] = ((undefined *)src)[2]; - ((undefined *)dest)[3] = ((undefined *)src)[3]; - src = (undefined *)src + 4; - dest = (undefined *)dest + 4; - } while (uVar3 != len); - } - return; -} - - - -void __osPiCreateAccessQueue(void) - -{ - __osPiAccessQueueEnabled = 1; - osCreateMesgQueue(&__osPiAccessQueue,&piAccessBuf,1); - osSendMesg(&__osPiAccessQueue,NULL,0); - return; -} - - - -void __osPiGetAccess(void) - -{ - OSMesg pvStack4; - - if (__osPiAccessQueueEnabled == 0) { - __osPiCreateAccessQueue(); - } - osRecvMesg(&__osPiAccessQueue,&pvStack4,1); - return; -} - - - -void __osPiRelAccess(void) - -{ - osSendMesg(&__osPiAccessQueue,NULL,0); - return; -} - - - -void _Litob(_Pft *px,char code) - -{ - int iVar1; - ulonglong uVar2; - longlong __numer; - longlong extraout_a1; - longlong extraout_a1_00; - int iVar3; - char *pcVar4; - int iStack80; - undefined4 uStack64; - undefined4 uStack60; - int iStack52; - uint uStack48; - int iStack44; - int iStack32; - char acStack25 [25]; - - __numer = 0x58; - if (code == 'X') { - pcVar4 = "0123456789ABCDEF"; - } - else { - pcVar4 = "0123456789abcdef"; - } - iVar3 = 0x18; - if (code == 'o') { - iStack32 = 8; - } - else { - iStack32 = 0x10; - if ((code != 'x') && (code != 'X')) { - iStack32 = 10; - } - } - uStack48 = *(uint *)&px->v; - iStack44 = *(int *)((int)&px->v + 4); - if ((((code == 'd') || (code == 'i')) && ((int)uStack48 < 1)) && ((int)uStack48 < 0)) { - uStack48 = ~uStack48 + (uint)(iStack44 == 0); - iStack44 = -iStack44; - } - if (((uStack48 != 0) || (iStack44 != 0)) || (px->prec != 0)) { - iVar3 = 0x17; - __ull_rem(uStack48,iStack44,0,iStack32); - acStack25[24] = pcVar4[(int)__numer]; - } - uVar2 = __ull_div(uStack48,iStack44,iStack32 >> 0x1f,iStack32); - *(undefined4 *)((int)&px->v + 4) = (int)__numer; - *(int *)&px->v = (int)uVar2; - if (((-1 < (longlong)uVar2) && ((0 < (longlong)uVar2 || (__numer != 0)))) && (iVar3 != 0)) { - iStack80 = *(int *)&px->v; - __numer = extraout_a1; - while( true ) { - lldiv((lldiv_t *)&uStack64,__numer,(longlong)iStack80); - iVar3 += -1; - *(undefined4 *)&px->v = uStack64; - *(undefined4 *)((int)&px->v + 4) = uStack60; - (acStack25 + 1)[iVar3] = pcVar4[iStack52]; - iStack80 = *(int *)&px->v; - if (iStack80 < 0) break; - if (((iStack80 < 1) && (*(int *)((int)&px->v + 4) == 0)) || - (__numer = extraout_a1_00, iVar3 < 1)) break; - } - } - px->n1 = 0x18U - iVar3; - memcpy(px->s,acStack25 + 1 + iVar3,0x18U - iVar3); - iVar3 = px->n1; - iVar1 = px->prec; - if (iVar3 < iVar1) { - px->nz0 = iVar1 - iVar3; - } - if (((iVar1 < 0) && ((px->flags & 0x14) == 0x10)) && - (iVar3 = ((px->width - px->n0) - px->nz0) - iVar3, 0 < iVar3)) { - px->nz0 = px->nz0 + iVar3; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7001dac8) overlaps instruction at (ram,0x7001dac4) -// - -void _Genld(_Pft *px,char code,char *p,short nsig,short xexp) - -{ - bool bVar1; - size_t sVar2; - int iVar3; - int unaff_s0_lo; - char *unaff_s1_lo; - char *pcVar4; - char *pcVar5; - short unaff_s2_lo; - int iVar6; - size_t __n; - short unaff_s3_lo; - size_t __n_00; - char unaff_s4_lo; - - iVar6 = (int)unaff_s2_lo; - __n_00 = SEXT24(unaff_s3_lo); - if ((int)__n_00 < 1) { - unaff_s1_lo = "0"; - __n_00 = 1; - } - if ((unaff_s4_lo != 'f') && - ((((unaff_s4_lo != 'g' && (unaff_s4_lo != 'G')) || (iVar6 < -4)) || - (*(int *)(unaff_s0_lo + 0x24) <= iVar6)))) { - if ((unaff_s4_lo == 'g') || (unaff_s4_lo == 'G')) { - __n = *(size_t *)(unaff_s0_lo + 0x24); - if ((int)__n_00 < (int)__n) { - *(size_t *)(unaff_s0_lo + 0x24) = __n_00; - __n = __n_00; - } - *(int *)(unaff_s0_lo + 0x24) = __n - 1; - if ((int)(__n - 1) < 0) { - *(undefined4 *)(unaff_s0_lo + 0x24) = 0; - } - bVar1 = unaff_s4_lo == 'g'; - unaff_s4_lo = 'E'; - if (bVar1) { - unaff_s4_lo = 'e'; - } - iVar3 = *(int *)(unaff_s0_lo + 8); - } - else { - iVar3 = *(int *)(unaff_s0_lo + 8); - } - *(char *)(iVar3 + *(int *)(unaff_s0_lo + 0x14)) = *unaff_s1_lo; - iVar3 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - if ((0 < iVar3) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar3 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar3 < 1) { - iVar3 = *(int *)(unaff_s0_lo + 8); - } - else { - __n_00 = (int)((__n_00 - 1) * 0x10000) >> 0x10; - if (iVar3 < (int)__n_00) { - __n_00 = SEXT24((short)iVar3); - } - memcpy((void *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)), - unaff_s1_lo + 1,__n_00); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + __n_00; - *(int *)(unaff_s0_lo + 0x18) = *(int *)(unaff_s0_lo + 0x24) - __n_00; - iVar3 = *(int *)(unaff_s0_lo + 8); - } - pcVar4 = (char *)(iVar3 + *(int *)(unaff_s0_lo + 0x14)); - *pcVar4 = unaff_s4_lo; - if (iVar6 < 0) { - iVar6 = iVar6 * -0x10000 >> 0x10; - pcVar4[1] = '-'; - } - else { - pcVar4[1] = '+'; - } - pcVar5 = pcVar4 + 2; - if (99 < iVar6) { - if (999 < iVar6) { - iVar3 = iVar6 / 1000; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - iVar6 = (int)(short)(iVar6 % 1000); - *pcVar5 = (char)iVar3 + '0'; - pcVar5 = pcVar4 + 3; - } - iVar3 = iVar6 / 100; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - iVar6 = (int)(short)(iVar6 % 100); - *pcVar5 = (char)iVar3 + '0'; - pcVar5 = pcVar5 + 1; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - *pcVar5 = (char)(iVar6 / 10) + '0'; - pcVar5[1] = (char)(iVar6 % 10) + '0'; - *(char **)(unaff_s0_lo + 0x1c) = - pcVar5 + ((2 - *(int *)(unaff_s0_lo + 8)) - *(int *)(unaff_s0_lo + 0x14)); - goto LAB_7001df7c; - } - __n = (iVar6 + 1) * 0x10000 >> 0x10; - if (unaff_s4_lo != 'f') { - sVar2 = *(size_t *)(unaff_s0_lo + 0x24); - if ((*(uint *)(unaff_s0_lo + 0x30) & 8) == 0) { - if ((int)__n_00 < (int)sVar2) { - *(size_t *)(unaff_s0_lo + 0x24) = __n_00; - sVar2 = __n_00; - goto LAB_7001db18; - } - iVar6 = sVar2 - __n; - } - else { -LAB_7001db18: - iVar6 = sVar2 - __n; - } - *(int *)(unaff_s0_lo + 0x24) = iVar6; - if (iVar6 < 0) { - *(undefined4 *)(unaff_s0_lo + 0x24) = 0; - } - } - if ((int)__n < 1) { - iVar3 = -__n; - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x30; - iVar6 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - if ((0 < iVar6) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar6 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar6 < iVar3) { - __n = iVar6 * -0x10000 >> 0x10; - iVar3 = -__n; - } - iVar6 += __n; - *(int *)(unaff_s0_lo + 0x18) = iVar3; - *(int *)(unaff_s0_lo + 0x24) = iVar6; - if (iVar6 < (int)__n_00) { - __n_00 = iVar6 * 0x10000 >> 0x10; - } - *(size_t *)(unaff_s0_lo + 0x1c) = __n_00; - memcpy((void *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)),unaff_s1_lo,__n_00 - ); - *(int *)(unaff_s0_lo + 0x20) = *(int *)(unaff_s0_lo + 0x24) - __n_00; - } - else { - if ((int)__n_00 < (int)__n) { - memcpy((void *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)),unaff_s1_lo, - __n_00); - iVar6 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + __n_00; - *(int *)(unaff_s0_lo + 0x18) = __n - __n_00; - if ((0 < iVar6) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar6 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x1c) = *(int *)(unaff_s0_lo + 0x1c) + 1; - } - *(int *)(unaff_s0_lo + 0x20) = iVar6; - } - else { - memcpy((void *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)),unaff_s1_lo, - __n); - iVar6 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + __n; - __n_00 = (int)((__n_00 - __n) * 0x10000) >> 0x10; - if ((0 < iVar6) || ((*(uint *)(unaff_s0_lo + 0x30) & 8) != 0)) { - *(undefined *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)) = 0x2e; - iVar6 = *(int *)(unaff_s0_lo + 0x24); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + 1; - } - if (iVar6 < (int)__n_00) { - __n_00 = SEXT24((short)iVar6); - } - memcpy((void *)(*(int *)(unaff_s0_lo + 8) + *(int *)(unaff_s0_lo + 0x14)), - unaff_s1_lo + __n,__n_00); - *(int *)(unaff_s0_lo + 0x14) = *(int *)(unaff_s0_lo + 0x14) + __n_00; - *(int *)(unaff_s0_lo + 0x18) = *(int *)(unaff_s0_lo + 0x24) - __n_00; - } - } -LAB_7001df7c: - if (((*(uint *)(unaff_s0_lo + 0x30) & 0x14) == 0x10) && - (iVar6 = *(int *)(unaff_s0_lo + 0xc) + *(int *)(unaff_s0_lo + 0x14) + - *(int *)(unaff_s0_lo + 0x18) + *(int *)(unaff_s0_lo + 0x1c) + - *(int *)(unaff_s0_lo + 0x20), iVar6 < *(int *)(unaff_s0_lo + 0x28))) { - *(int *)(unaff_s0_lo + 0x10) = *(int *)(unaff_s0_lo + 0x28) - iVar6; - } - return; -} - - - -void dummy7001DFD8(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7001e380) overlaps instruction at (ram,0x7001e37c) -// - -void _Ldtob(_Pft *px,char code) - -{ - byte *pbVar1; - ulonglong uVar2; - ushort uVar3; - ushort uVar4; - int __denom; - ulonglong uVar5; - ulonglong extraout_a0; - char *p; - int iVar6; - _Pft *px_00; - undefined8 in_a2; - undefined8 extraout_a2; - short in_a3_lo; - short extraout_a3_lo; - ulonglong uVar7; - int iVar8; - ushort uVar9; - char *pcVar10; - char *pcVar11; - short sVar12; - ulonglong in_f0; - double dVar13; - uint in_register_00001010; - double dVar14; - short in_stack_ffffff42; - int iStack92; - undefined4 uStack88; - ushort uStack54; - undefined uStack32; - char cStack31; - char acStack30 [6]; - char acStack24 [24]; - - p = (char *)in_a2; - dVar14 = (double)px->v; - if (px->prec < 0) { - px->prec = 6; - } - else { - if ((px->prec == 0) && ((code == 'g' || (code == 'G')))) { - px->prec = 1; - } - } - uVar3 = *(ushort *)&px->v; - uVar5 = (ulonglong)uVar3; - px_00 = (_Pft *)(uint)uVar3; - sVar12 = (short)((int)((uint)uVar3 & 0x7ff0) >> 4); - if (sVar12 == 0x7ff) { - uStack54 = 0; - if (((((*(ushort *)&px->v & 0xf) == 0) && (*(short *)((int)&px->v + 2) == 0)) && - (*(short *)((int)&px->v + 4) == 0)) && (*(short *)((int)&px->v + 6) == 0)) { - sVar12 = 1; - } - else { - sVar12 = 2; - } - } - else { - if (sVar12 == 0) { - sVar12 = 0; - if (true) { - uStack54 = 0; - } - else { - sVar12 = 2; - } - } - else { - uStack54 = sVar12 + -0x3fe; - *(ushort *)&px->v = uVar3 & 0x800f | 0x3ff0; - sVar12 = -1; - } - } - if (sVar12 < 1) { - if (sVar12 == 0) { - uStack54 = 0; - } - else { - __denom = 0; - pcVar10 = &cStack31; - if (dVar14 < (double)((ulonglong)in_register_00001010 << 0x20)) { - dVar14 = -dVar14; - } - iVar6 = 6; - iVar8 = ((int)(short)uStack54 * 0x7597) / 100000 + -4; - uStack54 = (ushort)iVar8; - if (iVar8 * 0x10000 >> 0x10 < 0) { - uVar5 = SEXT48(3 - (iVar8 * 0x10000 >> 0x10)); - uVar2 = uVar5 & 0xfffffffffffffffc; - uStack54 = -(short)uVar2; - if (0 < (longlong)uVar2) { - uVar5 = ZEXT48(&digits); - do { - uVar7 = uVar2 & 1; - uVar2 = SEXT48((int)uVar2 >> 1); - if (uVar7 != 0) { - dVar14 = dVar14 * (&digits)[__denom]; - } - __denom += 1; - } while (0 < (longlong)uVar2); - } - } - else { - __denom = 0; - uVar3 = uStack54 & 0xfffc; - if (0 < (short)uStack54) { - dVar13 = (double)(in_f0 & 0xffffffff00000000); - if (0 < (short)uVar3) { - uVar5 = ZEXT48(&digits); - uVar4 = uVar3; - do { - uVar9 = uVar4 & 1; - uVar4 = (short)uVar4 >> 1; - if (uVar9 != 0) { - dVar13 = dVar13 * (&digits)[__denom]; - } - __denom += 1; - } while (0 < (short)uVar4); - } - dVar14 = dVar14 / dVar13; - uStack54 = uVar3; - } - } - px_00 = (_Pft *)uVar5; - if (code == 'f') { - iVar6 = (int)(short)uStack54 + 10; - } - iVar6 += px->prec; - if (0x13 < iVar6) { - iVar6 = 0x13; - } - uStack32 = 0x30; - if (0 < iVar6) { - if ((double)((ulonglong)in_register_00001010 << 0x20) < dVar14) { - do { - __denom = (int)dVar14; - iVar6 += -8; - pcVar10 = pcVar10 + 8; - if (0 < iVar6) { - dVar14 = (dVar14 - (double)__denom) * dbl_80029CE8; - } - iVar8 = 8; - if ((0 < __denom) && (iVar8 = 7, uVar5 = (longlong)(int)&iStack92, true)) { - do { - ldiv((long)&iStack92,__denom); - pcVar10 = pcVar10 + -1; - *pcVar10 = (char)uStack88 + '0'; - uVar5 = extraout_a0; - in_a2 = extraout_a2; - in_a3_lo = extraout_a3_lo; - if (iStack92 < 1) break; - iVar8 += -1; - uVar5 = extraout_a0; - __denom = iStack92; - } while (-1 < iVar8); - } - p = (char *)in_a2; - px_00 = (_Pft *)uVar5; - __denom = iVar8 + -2; - if (-1 < iVar8 + -1) { - while( true ) { - pcVar10 = pcVar10 + -1; - *pcVar10 = '0'; - if (__denom < 0) break; - __denom += -1; - } - } - pcVar10 = pcVar10 + 8; - } while ((0 < iVar6) && - ((double)((ulonglong)in_register_00001010 << 0x20) < dVar14)); - } - } - uStack54 += 7; - pcVar10 = pcVar10 + (-1 - (int)&uStack32); - pcVar11 = &cStack31; - while (cStack31 == '0') { - pcVar11 = pcVar11 + 1; - pcVar10 = pcVar10 + -1; - uStack54 += -1; - cStack31 = *pcVar11; - } - if (code == 'f') { - __denom = (int)(short)uStack54 + 1; - } - else { - if ((code == 'e') || (__denom = 0, code == 'E')) { - __denom = 1; - } - } - code = (char)__denom; - __denom = (__denom + px->prec) * 0x10000 >> 0x10; - if ((int)pcVar10 < __denom) { - __denom = (int)(short)pcVar10; - } - if (0 < __denom) { - if ((__denom < (int)pcVar10) && (0x34 < (byte)pcVar11[__denom])) { - uVar5 = 0x39; - } - else { - uVar5 = 0x30; - } - code = (char)uVar5; - px_00 = (_Pft *)uVar5; - iVar6 = __denom + -1; - if (uVar5 == (ulonglong)(byte)pcVar11[__denom + -1]) { - pcVar10 = pcVar11 + iVar6; - do { - pbVar1 = (byte *)(pcVar10 + -1); - iVar6 += -1; - pcVar10 = pcVar10 + -1; - } while (uVar5 == (ulonglong)*pbVar1); - } - if (uVar5 == 0x39) { - pcVar11[iVar6] = pcVar11[iVar6] + '\x01'; - } - if (iVar6 < 0) { - uStack54 += 1; - } - } - } - _Genld(px_00,code,p,in_a3_lo,in_stack_ffffff42); - } - else { - if (sVar12 == 2) { - p = "NaN"; - } - else { - p = "Inf"; - } - px->n1 = 3; - memcpy(px->s,p,3); - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 osEPiRawStartDma(OSPiHandle *pihandle,s32 direction,u32 devAddr,void *dramAddr,u32 size) - -{ - do { - } while ((_PI_STATUS_REG & 3) != 0); - _PI_DRAM_ADDR_REG = osVirtualToPhysical(dramAddr); - _PI_CART_ADDR_REG = (pihandle->baseAddress | devAddr) & 0x1fffffff; - if (direction == 0) { - _PI_WR_LEN_REG = size - 1; - } - else { - if (direction != 1) { - return -1; - } - _PI_RD_LEN_REG = size - 1; - } - return 0; -} - - - -void __osDevMgrMain(void *arg) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iStack16; - OSMesg pvStack12; - OSMesg pvStack8; - undefined2 *puStack4; - - puStack4 = NULL; - do { - while( true ) { - osRecvMesg(*(OSMesgQueue **)((int)arg + 8),&puStack4,1); - iVar1 = *(int *)(puStack4 + 10); - if (((iVar1 == 0) || (*(char *)(iVar1 + 4) != '\x02')) || - ((*(int *)(iVar1 + 0x14) != 0 && (*(int *)(iVar1 + 0x14) != 1)))) break; - iVar1 = *(int *)(puStack4 + 10); - iVar3 = iVar1 + 0x14 + (uint)*(ushort *)(iVar1 + 0x1a) * 0x24; - *(undefined4 *)(iVar1 + 0x1c) = 0xffffffff; - if (*(short *)(iVar1 + 0x18) != 3) { - *(int *)(iVar3 + 0x1c) = *(int *)(iVar3 + 0x1c) - *(int *)(iVar3 + 0x24); - } - if ((*(short *)(iVar1 + 0x18) == 2) && (*(int *)(*(int *)(puStack4 + 10) + 0x14) == 0)) - { - bVar2 = true; - } - else { - bVar2 = false; - } - osRecvMesg(*(OSMesgQueue **)((int)arg + 0x10),&pvStack12,1); - __osResetGlobalIntMask(0x100401); - osEPiRawWriteIo(*(OSPiHandle **)(puStack4 + 10),0x5000510, - *(uint *)(iVar1 + 0x24) | 0x80000000); - while( true ) { - osRecvMesg(*(OSMesgQueue **)((int)arg + 0xc),&pvStack8,1); - osSendMesg(*(OSMesgQueue **)(puStack4 + 2),puStack4,0); - if ((!bVar2) || (*(int *)(*(int *)(puStack4 + 10) + 0x2c) != 0)) break; - bVar2 = false; - } - osSendMesg(*(OSMesgQueue **)((int)arg + 0x10),NULL,0); - if (*(short *)(*(int *)(puStack4 + 10) + 0x1a) == 1) { - osYieldThread(); - } - } - if (false) { -switchD_7001e80c_caseD_d: - iStack16 = -1; - } - else { - switch(*puStack4) { - case 10: - osSendMesg(*(OSMesgQueue **)(puStack4 + 2),puStack4,0); - iStack16 = -1; - break; - case 0xb: - osRecvMesg(*(OSMesgQueue **)((int)arg + 0x10),&pvStack12,1); - iStack16 = (**(code **)((int)arg + 0x14)) - (0,*(undefined4 *)(puStack4 + 6),*(undefined4 *)(puStack4 + 4), - *(undefined4 *)(puStack4 + 8)); - break; - case 0xc: - osRecvMesg(*(OSMesgQueue **)((int)arg + 0x10),&pvStack12,1); - iStack16 = (**(code **)((int)arg + 0x14)) - (1,*(undefined4 *)(puStack4 + 6),*(undefined4 *)(puStack4 + 4), - *(undefined4 *)(puStack4 + 8)); - break; - default: - goto switchD_7001e80c_caseD_d; - case 0xf: - osRecvMesg(*(OSMesgQueue **)((int)arg + 0x10),&pvStack12,1); - iStack16 = (**(code **)((int)arg + 0x18)) - (*(undefined4 *)(puStack4 + 10),0,*(undefined4 *)(puStack4 + 6) - ,*(undefined4 *)(puStack4 + 4),*(undefined4 *)(puStack4 + 8)); - break; - case 0x10: - osRecvMesg(*(OSMesgQueue **)((int)arg + 0x10),&pvStack12,1); - iStack16 = (**(code **)((int)arg + 0x18)) - (*(undefined4 *)(puStack4 + 10),1,*(undefined4 *)(puStack4 + 6) - ,*(undefined4 *)(puStack4 + 4),*(undefined4 *)(puStack4 + 8)); - } - } - if (iStack16 == 0) { - osRecvMesg(*(OSMesgQueue **)((int)arg + 0xc),&pvStack8,1); - osSendMesg(*(OSMesgQueue **)(puStack4 + 2),puStack4,0); - osSendMesg(*(OSMesgQueue **)((int)arg + 0x10),NULL,0); - } - } while( true ); -} - - - -void proc_7001E9B0(undefined param_1,undefined param_2,undefined param_3,undefined param_4, - undefined param_5,undefined param_6,undefined param_7,undefined4 param_8) - -{ - return; -} - - - -// WARNING: Could not reconcile some variable overlaps - -u16 __osSumcalc(u8 *ptr,int length) - -{ - byte bVar1; - byte *pbStack12; - undefined4 uStack8; - int iStack4; - - uStack8 = 0; - uStack8._2_2_ = 0; - iStack4 = 0; - pbStack12 = ptr; - if (0 < length) { - do { - bVar1 = *pbStack12; - pbStack12 = pbStack12 + 1; - iStack4 += 1; - uStack8 = uStack8 + bVar1 & 0xffff; - } while (iStack4 < length); - } - return uStack8._2_2_; -} - - - -s32 __osIdCheckSum(u16 *ptr,u16 *csum,u16 *icsum) - -{ - ushort uVar1; - uint uStack8; - - *icsum = 0; - *csum = *icsum; - uStack8 = 0; - do { - uVar1 = *(ushort *)((int)ptr + uStack8); - *csum = *csum + uVar1; - *icsum = *icsum + ~uVar1; - uStack8 += 2; - } while (uStack8 < 0x1c); - return 0; -} - - - -int __osRepairPackId(int param_1,int param_2,undefined4 *param_3) - -{ - undefined4 uVar1; - u32 uVar2; - u16 auStack88 [4]; - int iStack80; - int iStack76; - bool bStack69; - byte abStack68 [32]; - byte abStack36 [32]; - s32 sStack4; - - sStack4 = 0; - bStack69 = false; - if (*(char *)(param_1 + 0x65) != '\0') { - *(undefined *)(param_1 + 0x65) = 0; - sStack4 = __osPfsSelectBank((OSPfs *)param_1); - if (sStack4 != 0) { - return sStack4; - } - } - *param_3 = 0xffffffff; - uVar2 = osGetCount(); - param_3[1] = uVar2; - uVar1 = *(undefined4 *)(param_2 + 0xc); - param_3[2] = *(undefined4 *)(param_2 + 8); - param_3[3] = uVar1; - uVar1 = *(undefined4 *)(param_2 + 0x14); - param_3[4] = *(undefined4 *)(param_2 + 0x10); - param_3[5] = uVar1; - iStack80 = 0; - do { - *(undefined *)(param_1 + 0x65) = (char)iStack80; - sStack4 = __osPfsSelectBank((OSPfs *)param_1); - if (sStack4 != 0) { - return sStack4; - } - sStack4 = __osContRamRead(*(OSMesgQueue **)(param_1 + 4),*(int *)(param_1 + 8),0,abStack36); - if (sStack4 != 0) { - return sStack4; - } - abStack36[0] = (byte)iStack80 | 0x80; - iStack76 = 1; - do { - abStack36[iStack76] = ~abStack36[iStack76]; - iStack76 += 1; - } while (iStack76 < 0x20); - sStack4 = __osContRamWrite(*(OSMesgQueue **)(param_1 + 4),*(int *)(param_1 + 8),0,abStack36, - 0); - if (sStack4 != 0) { - return sStack4; - } - sStack4 = __osContRamRead(*(OSMesgQueue **)(param_1 + 4),*(int *)(param_1 + 8),0,abStack68); - if (sStack4 != 0) { - return sStack4; - } - iStack76 = 0; - do { - if (abStack36[iStack76] != abStack68[iStack76]) break; - iStack76 += 1; - } while (iStack76 < 0x20); - if (iStack76 != 0x20) break; - if (0 < iStack80) { - *(undefined *)(param_1 + 0x65) = 0; - sStack4 = __osPfsSelectBank((OSPfs *)param_1); - if (sStack4 != 0) { - return sStack4; - } - sStack4 = __osContRamRead(*(OSMesgQueue **)(param_1 + 4),*(int *)(param_1 + 8),0, - abStack36); - if (sStack4 != 0) { - return sStack4; - } - if (abStack36[0] != 0x80) break; - } - iStack80 += 1; - } while (iStack80 < 0x3e); - *(undefined *)(param_1 + 0x65) = 0; - sStack4 = __osPfsSelectBank((OSPfs *)param_1); - if (sStack4 == 0) { - bStack69 = 0 < iStack80; - *(ushort *)(param_3 + 6) = *(ushort *)(param_2 + 0x18) & 0xfffe | (ushort)bStack69; - *(undefined *)((int)param_3 + 0x1a) = (char)iStack80; - *(undefined *)((int)param_3 + 0x1b) = *(undefined *)(param_2 + 0x1b); - __osIdCheckSum((u16 *)param_3,(u16 *)(param_3 + 7),(u16 *)((int)param_3 + 0x1e)); - auStack88[0] = 1; - auStack88[1] = 3; - auStack88[2] = 4; - auStack88[3] = 6; - iStack76 = 0; - do { - sStack4 = __osContRamWrite(*(OSMesgQueue **)(param_1 + 4),*(int *)(param_1 + 8), - auStack88[iStack76],(u8 *)param_3,1); - if (sStack4 != 0) { - return sStack4; - } - iStack76 += 1; - } while (iStack76 < 4); - sStack4 = __osContRamRead(*(OSMesgQueue **)(param_1 + 4),*(int *)(param_1 + 8),1,abStack36); - if (sStack4 == 0) { - iStack76 = 0; - do { - if (*(byte *)((int)param_3 + iStack76) != abStack36[iStack76]) { - return 10; - } - iStack76 += 1; - } while (iStack76 < 0x20); - sStack4 = 0; - } - } - return (int)sStack4; -} - - - -int __osCheckPackId(int param_1,byte *param_2) - -{ - int iVar1; - int iStack24; - int iStack20; - u16 uStack16; - u16 uStack14; - s32 sStack12; - u16 auStack8 [4]; - - sStack12 = 0; - if (*(char *)(param_1 + 0x65) != '\0') { - *(undefined *)(param_1 + 0x65) = 0; - sStack12 = __osPfsSelectBank((OSPfs *)param_1); - if (sStack12 != 0) { - return sStack12; - } - } - auStack8[0] = 1; - auStack8[1] = 3; - auStack8[2] = 4; - auStack8[3] = 6; - iStack20 = 1; - do { - sStack12 = __osContRamRead(*(OSMesgQueue **)(param_1 + 4),*(int *)(param_1 + 8), - auStack8[iStack20],param_2); - if (sStack12 != 0) { - return sStack12; - } - __osIdCheckSum((u16 *)param_2,&uStack14,&uStack16); - } while (((*(u16 *)(param_2 + 0x1c) != uStack14) || (*(u16 *)(param_2 + 0x1e) != uStack16)) && - (iStack20 += 1, iStack20 < 4)); - if (iStack20 == 4) { - iVar1 = 10; - } - else { - iStack24 = 0; - do { - if ((iStack24 != iStack20) && - (sStack12 = __osContRamWrite(*(OSMesgQueue **)(param_1 + 4),*(int *)(param_1 + 8), - auStack8[iStack24],param_2,1), sStack12 != 0)) { - return sStack12; - } - iStack24 += 1; - } while (iStack24 < 4); - iVar1 = 0; - } - return iVar1; -} - - - -s32 __osGetId(OSPfs *pfs) - -{ - s32 sVar1; - int iVar2; - undefined4 *puStack80; - undefined4 auStack72 [6]; - ushort uStack48; - undefined4 auStack40 [7]; - u16 uStack12; - u16 uStack10; - u16 uStack8; - u16 uStack6; - int iStack4; - - if (pfs->activebank != '\0') { - pfs->activebank = '\0'; - sVar1 = __osPfsSelectBank(pfs); - if (sVar1 != 0) { - return sVar1; - } - } - sVar1 = __osContRamRead(pfs->queue,pfs->channel,1,(u8 *)auStack40); - if (sVar1 != 0) { - return sVar1; - } - __osIdCheckSum((u16 *)auStack40,&uStack6,&uStack8); - puStack80 = auStack40; - if ((uStack12 != uStack6) || (uStack10 != uStack8)) { - iVar2 = __osCheckPackId((int)pfs,(byte *)puStack80); - if (iVar2 == 10) { - iVar2 = __osRepairPackId((int)pfs,(int)puStack80,auStack72); - if (iVar2 != 0) { - return iVar2; - } - puStack80 = auStack72; - } - else { - if (iVar2 != 0) { - return iVar2; - } - } - } - if ((*(ushort *)(puStack80 + 6) & 1) == 0) { - iVar2 = __osRepairPackId((int)pfs,(int)puStack80,auStack72); - if (iVar2 != 0) { - return iVar2; - } - puStack80 = auStack72; - if ((uStack48 & 1) == 0) { - return 0xb; - } - } - iStack4 = 0; - do { - pfs->id[iStack4] = *(u8 *)((int)puStack80 + iStack4); - iStack4 += 1; - } while (iStack4 < 0x20); - pfs->version = (uint)*(byte *)((int)puStack80 + 0x1b); - pfs->banks = *(byte *)((int)puStack80 + 0x1a); - pfs->inode_start_page = (uint)pfs->banks * 2 + 3; - pfs->dir_size = 0x10; - pfs->inode_table = 8; - pfs->minode_table = (uint)pfs->banks * 8 + 8; - pfs->dir_table = pfs->minode_table + (uint)pfs->banks * 8; - sVar1 = __osContRamRead(pfs->queue,pfs->channel,7,pfs->label); - if (sVar1 == 0) { - sVar1 = 0; - } - return sVar1; -} - - - -s32 __osCheckId(OSPfs *pfs) - -{ - s32 sVar1; - u8 auStack36 [32]; - int iStack4; - - if (pfs->activebank != '\0') { - pfs->activebank = '\0'; - sVar1 = __osPfsSelectBank(pfs); - if (sVar1 != 0) { - return sVar1; - } - } - sVar1 = __osContRamRead(pfs->queue,pfs->channel,1,auStack36); - if ((sVar1 == 0) || - ((sVar1 == 2 && (sVar1 = __osContRamRead(pfs->queue,pfs->channel,1,auStack36), sVar1 == 0)))) - { - iStack4 = 0; - do { - if (auStack36[iStack4] != pfs->id[iStack4]) { - return 2; - } - iStack4 += 1; - } while (iStack4 < 0x20); - sVar1 = 0; - } - return sVar1; -} - - - -s32 __osPfsRWInode(OSPfs *pfs,__OSInode *inode,u8 flag,u8 bank) - -{ - short sVar1; - s32 sVar2; - u16 uVar3; - __OSInodeUnit *buffer; - int iStack16; - s32 sStack12; - int iStack8; - - if (pfs->activebank != '\0') { - pfs->activebank = '\0'; - sVar2 = __osPfsSelectBank(pfs); - if (sVar2 != 0) { - return sVar2; - } - } - if (bank == '\0') { - iStack16 = pfs->inode_start_page; - } - else { - iStack16 = 1; - } - if (flag == '\x01') { - uVar3 = __osSumcalc((u8 *)(inode->inode_page + iStack16),iStack16 * -2 + 0x100); - *(undefined *)((int)inode->inode_page + 1) = (char)uVar3; - } - iStack8 = 0; - do { - buffer = inode->inode_page + iStack8 * 0x10; - sVar1 = (short)iStack8; - if (flag == '\x01') { - __osContRamWrite(pfs->queue,pfs->channel, - (short)pfs->inode_table + (ushort)bank * 8 + sVar1,(u8 *)buffer,0); - sStack12 = __osContRamWrite(pfs->queue,pfs->channel, - (short)pfs->minode_table + (ushort)bank * 8 + sVar1, - (u8 *)buffer,0); - } - else { - sStack12 = __osContRamRead(pfs->queue,pfs->channel, - (short)pfs->inode_table + (ushort)bank * 8 + sVar1, - (u8 *)buffer); - } - if (sStack12 != 0) { - return sStack12; - } - iStack8 += 1; - } while (iStack8 < 8); - if (flag == '\0') { - uVar3 = __osSumcalc((u8 *)(inode->inode_page + iStack16),iStack16 * -2 + 0x100); - if (*(char *)((int)inode->inode_page + 1) == (char)uVar3) { - iStack8 = 0; - do { - __osContRamWrite(pfs->queue,pfs->channel, - (short)pfs->minode_table + (ushort)bank * 8 + (short)iStack8, - (u8 *)(inode->inode_page + iStack8 * 0x10),0); - iStack8 += 1; - } while (iStack8 < 8); - } - else { - iStack8 = 0; - do { - __osContRamRead(pfs->queue,pfs->channel, - (short)pfs->minode_table + (ushort)bank * 8 + (short)iStack8, - (u8 *)(inode->inode_page + iStack8 * 0x10)); - iStack8 += 1; - } while (iStack8 < 8); - if (*(char *)((int)inode->inode_page + 1) != (char)uVar3) { - return 3; - } - iStack8 = 0; - do { - __osContRamWrite(pfs->queue,pfs->channel, - (short)pfs->inode_table + (ushort)bank * 8 + (short)iStack8, - (u8 *)(inode->inode_page + iStack8 * 0x10),0); - iStack8 += 1; - } while (iStack8 < 8); - } - } - return 0; -} - - - -s32 __osPfsSelectBank(OSPfs *pfs) - -{ - s32 sVar1; - int iStack36; - u8 auStack32 [32]; - - iStack36 = 0; - do { - auStack32[iStack36] = pfs->activebank; - iStack36 += 1; - } while (iStack36 < 0x20); - sVar1 = __osContRamWrite(pfs->queue,pfs->channel,0x400,auStack32,0); - return sVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -int __osSiDeviceBusy(void) - -{ - return (int)(uint)((_SI_STATUS_REG & 3) != 0); -} - - - -void guNormalize(float *x,float *y,float *z) - -{ - float m; - - m = sqrtf(*z * *z + *x * *x + *y * *y); - m = 1.00000000 / m; - *x = *x * m; - *y = *y * m; - *z = *z * m; - return; -} - - - -float sqrtf(float __x) - -{ - return SQRT(__x); -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -OSPiHandle * osLeoDiskInit(void) - -{ - u32 mask; - - LeoDiskHandle.type = '\x02'; - LeoDiskHandle.baseAddress = 0xa5000000; - LeoDiskHandle.latency = '\x03'; - LeoDiskHandle.pulse = '\x06'; - LeoDiskHandle.pageSize = '\x06'; - LeoDiskHandle.relDuration = '\x02'; - _PI_BSD_DOM2_LAT_REG = 3; - _PI_BSD_DOM2_PWD_REG = 6; - _PI_BSD_DOM2_PGS_REG = 6; - _PI_BSD_DOM2_RLS_REG = 2; - bzero(&LeoDiskHandle.transferInfo,0x60); - mask = __osDisableInt(); - LeoDiskHandle.next = (OSPiHandle_s *)__osPiTable; - __osPiTable = &LeoDiskHandle; - __osDiskHandle = &LeoDiskHandle; - __osRestoreInt(mask); - return &LeoDiskHandle; -} - - - -void __osSetCompare(u32 param_1) - -{ - setCopReg(0,Compare,(longlong)(int)param_1,0); - return; -} - - - -void alFilterNew(ALFilter *f,ALCmdHandler h,ALSetParam s,int type) - -{ - *(undefined4 *)f = 0; - *(ALCmdHandler *)(f + 4) = h; - *(ALSetParam *)(f + 8) = s; - *(undefined2 *)(f + 0xc) = 0; - *(undefined2 *)(f + 0xe) = 0; - *(int *)(f + 0x10) = type; - return; -} - - - -ulonglong _doModFunc(void) - -{ - int in_a0_lo; - int in_a1_lo; - double dVar1; - float fVar2; - ulonglong in_f4; - uint in_register_00001040; - - *(float *)(in_a0_lo + 0x14) = - *(float *)(in_a0_lo + 0x14) + *(float *)(in_a0_lo + 0x10) * (float)in_a1_lo; - dVar1 = (double)*(float *)(in_a0_lo + 0x14); - if ((double)(in_f4 & 0xffffffff00000000) < dVar1) { - *(float *)(in_a0_lo + 0x14) = - (float)(dVar1 - (double)((ulonglong)in_register_00001040 << 0x20)); - } - else { - *(float *)(in_a0_lo + 0x14) = *(float *)(in_a0_lo + 0x14); - } - fVar2 = *(float *)(in_a0_lo + 0x14); - if (fVar2 < 0.00000000) { - fVar2 = -fVar2; - } - return (ulonglong)dVar1 & 0xffffffff00000000 | - (ulonglong) - (uint)(*(float *)(in_a0_lo + 0x1c) * - (float)((double)fVar2 - (double)((ulonglong)in_register_00001040 << 0x20))); -} - - - -uint * __filterBuffer(int param_1,uint param_2,uint param_3,uint *param_4) - -{ - u32 uVar1; - - param_4[1] = (param_2 & 0xffff) << 0x10 | (param_3 & 0x7fff) << 1; - *param_4 = param_2 & 0xffff | 0x8000000; - param_4[2] = 0xb000020; - uVar1 = osVirtualToPhysical((void *)(param_1 + 8)); - param_4[3] = uVar1; - param_4[4] = (*(uint *)(param_1 + 0x2c) & 0xff) << 0x10 | 0xe000000 | - (int)*(short *)(param_1 + 2) & 0xffffU; - uVar1 = osVirtualToPhysical(*(void **)(param_1 + 0x28)); - param_4[5] = uVar1; - *(undefined4 *)(param_1 + 0x2c) = 0; - return param_4 + 6; -} - - - -undefined4 * __saveBuffer(int param_1,uint param_2,int param_3,int param_4,undefined4 *param_5) - -{ - u32 uVar1; - uint uVar2; - void *pvVar3; - uint uVar4; - int iVar5; - undefined4 *puVar6; - - iVar5 = *(int *)(param_1 + 0x1c) * 2; - pvVar3 = (void *)(*(uint *)(param_1 + 0x14) + iVar5); - if (param_2 < *(uint *)(param_1 + 0x14)) { - param_2 += iVar5; - } - uVar2 = param_4 * 2; - if (pvVar3 < (void *)(uVar2 + param_2)) { - *param_5 = 0x8000000; - uVar4 = ((int)((int)pvVar3 - param_2) >> 1) * 2; - param_5[1] = param_3 << 0x10 | uVar4 & 0xffff; - param_5[2] = 0x6000000; - uVar1 = osVirtualToPhysical((void *)param_2); - param_5[3] = uVar1; - param_5[4] = 0x8000000; - param_5[5] = (uVar4 + param_3) * 0x10000 | - ((int)((int)(void *)(uVar2 + param_2) - (int)pvVar3) >> 1 & 0x7fffU) << 1; - param_5[6] = 0x6000000; - uVar1 = osVirtualToPhysical(*(void **)(param_1 + 0x14)); - param_5[7] = uVar1; - param_5[9] = uVar2 & 0xffff; - param_5[8] = 0x8000000; - puVar6 = param_5 + 10; - } - else { - *param_5 = 0x8000000; - param_5[1] = param_3 << 0x10 | uVar2 & 0xffff; - param_5[2] = 0x6000000; - puVar6 = param_5 + 4; - uVar1 = osVirtualToPhysical((void *)param_2); - param_5[3] = uVar1; - } - return puVar6; -} - - - -uint * __loadBuffer(int param_1,uint param_2,uint param_3,int param_4,uint *param_5) - -{ - u32 uVar1; - uint uVar2; - void *pvVar3; - int iVar4; - uint uVar5; - uint *puVar6; - - iVar4 = *(int *)(param_1 + 0x1c) * 2; - pvVar3 = (void *)(*(uint *)(param_1 + 0x14) + iVar4); - if (param_2 < *(uint *)(param_1 + 0x14)) { - param_2 += iVar4; - } - uVar2 = param_4 * 2; - if (pvVar3 < (void *)(uVar2 + param_2)) { - uVar5 = ((int)((int)pvVar3 - param_2) >> 1) * 2; - *param_5 = param_3 & 0xffff | 0x8000000; - param_5[1] = uVar5 & 0xffff; - param_5[2] = 0x4000000; - uVar1 = osVirtualToPhysical((void *)param_2); - param_5[3] = uVar1; - param_5[4] = uVar5 + param_3 & 0xffff | 0x8000000; - param_5[5] = ((int)((int)(void *)(uVar2 + param_2) - (int)pvVar3) >> 1 & 0x7fffU) << 1; - param_5[6] = 0x4000000; - puVar6 = param_5 + 8; - uVar1 = osVirtualToPhysical(*(void **)(param_1 + 0x14)); - param_5[7] = uVar1; - } - else { - param_5[1] = uVar2 & 0xffff; - *param_5 = param_3 & 0xffff | 0x8000000; - param_5[2] = 0x4000000; - puVar6 = param_5 + 4; - uVar1 = osVirtualToPhysical((void *)param_2); - param_5[3] = uVar1; - } - *puVar6 = 0x8000000; - puVar6[1] = uVar2 & 0xffff; - return puVar6 + 2; -} - - - -uint * __loadOutputBuffer(int param_1,int *param_2,uint param_3,undefined8 param_4,uint *param_5) - -{ - uint *puVar1; - u32 uVar2; - uint *puVar3; - uint uVar4; - int iVar5; - float fVar6; - uint in_register_00001020; - float fVar7; - int iVar8; - - if (param_2[9] == 0) { - puVar3 = __loadBuffer(param_1,*(int *)(param_1 + 0x18) + param_2[1] * -2,param_3, - param_4._4_4_,param_5); - } - else { - iVar5 = param_2[1]; - iVar8 = *param_2; - fVar6 = (float)_doModFunc(); - fVar6 = (float)((double)((ulonglong)in_register_00001020 << 0x20) - - (double)((float)(int)((fVar6 / (float)(iVar5 - iVar8)) * 32768.00000000) / - 32768.00000000)); - fVar7 = *(float *)(param_2[9] + 0x20) + fVar6 * (float)param_4._4_4_; - iVar8 = (int)fVar7; - *(float *)(param_2[9] + 0x20) = fVar7 - (float)iVar8; - uVar4 = *(int *)(param_1 + 0x18) + (param_2[1] - param_2[6]) * -2; - iVar5 = (int)(uVar4 & 7) >> 1; - puVar1 = __loadBuffer(param_1,uVar4 + iVar5 * -2,0x280,iVar8 + iVar5,param_5); - *puVar1 = iVar5 * 2 + 0x280U | 0x8000000; - puVar1[1] = param_3 << 0x10 | (param_4._4_4_ & 0x7fff) << 1; - puVar3 = puVar1 + 4; - puVar1[2] = (*(uint *)(param_2[9] + 0x24) & 0xff) << 0x10 | 0x5000000 | - (int)(fVar6 * 32768.00000000) & 0xffffU; - uVar2 = osVirtualToPhysical(*(void **)(param_2[9] + 0x14)); - puVar1[3] = uVar2; - *(undefined4 *)(param_2[9] + 0x24) = 0; - param_2[6] = (param_2[6] + iVar8) - param_4._4_4_; - } - return puVar3; -} - - - -s32 alFxParamHdl(void *filter,s32 paramID,void *param) - -{ - int iVar1; - undefined2 *puVar2; - uint uVar3; - undefined2 uVar4; - int *piVar5; - int iVar6; - ulonglong in_f4; - double dVar7; - - uVar3 = paramID - 2; - iVar1 = *(int *)param; - if ((uVar3 & 7) < 8) { - uVar4 = (undefined2)iVar1; - iVar6 = (int)uVar3 >> 3; - switch(uVar3 & 7) { - case 0: - if ((int)uVar3 < 0) { - iVar6 = paramID + 5 >> 3; - } - *(int *)(*(int *)((int)filter + 0x20) + iVar6 * 0x28) = iVar1; - return 0; - case 1: - if ((int)uVar3 < 0) { - iVar6 = paramID + 5 >> 3; - } - *(int *)(*(int *)((int)filter + 0x20) + iVar6 * 0x28 + 4) = iVar1; - return 0; - case 2: - if ((int)uVar3 < 0) { - iVar6 = paramID + 5 >> 3; - } - *(undefined2 *)(*(int *)((int)filter + 0x20) + iVar6 * 0x28 + 10) = uVar4; - return 0; - case 3: - if ((int)uVar3 < 0) { - iVar6 = paramID + 5 >> 3; - } - *(undefined2 *)(*(int *)((int)filter + 0x20) + iVar6 * 0x28 + 8) = uVar4; - return 0; - case 4: - if ((int)uVar3 < 0) { - iVar6 = paramID + 5 >> 3; - } - *(undefined2 *)(*(int *)((int)filter + 0x20) + iVar6 * 0x28 + 0xc) = uVar4; - return 0; - case 5: - if ((int)uVar3 < 0) { - iVar6 = paramID + 5 >> 3; - } - *(float *)(*(int *)((int)filter + 0x20) + iVar6 * 0x28 + 0x10) = - (float)iVar1 / dbl_80029D30._0_4_; - return 0; - case 6: - if ((int)uVar3 < 0) { - iVar6 = paramID + 5 >> 3; - } - piVar5 = (int *)(*(int *)((int)filter + 0x20) + iVar6 * 0x28); - dVar7 = (double)(piVar5[1] - *piVar5); - if (piVar5[1] - *piVar5 < 0) { - dVar7 = dVar7 + (double)(in_f4 & 0xffffffff00000000); - } - *(float *)(piVar5 + 7) = (float)(dVar7 * ((double)iVar1 / dbl_80029D38)); - return 0; - case 7: - if ((int)uVar3 < 0) { - iVar6 = paramID + 5 >> 3; - } - puVar2 = *(undefined2 **)(*(int *)((int)filter + 0x20) + iVar6 * 0x28 + 0x20); - if (puVar2 != NULL) { - *puVar2 = uVar4; - } - } - } - return 0; -} - - - -s32 alFxParam(void *filter,s32 paramID,void *param) - -{ - if (paramID == 1) { - *(void **)filter = param; - } - return 0; -} - - - -longlong _alFxPull(void *filter,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p) - -{ - undefined4 *puVar1; - uint *puVar2; - int iVar3; - uint uVar4; - uint uVar5; - int *piVar6; - short sVar7; - uint uVar8; - longlong lVar9; - uint uVar10; - uint uVar11; - uint uVar12; - - puVar1 = (undefined4 *) - (**(code **)(*(int *)filter + 4)) - (*(int *)filter,outp,(longlong)outCount,sampleOffset,p); - uVar5 = outCount * 2; - *puVar1 = 0x8000000; - puVar1[1] = uVar5 & 0xffff; - puVar1[2] = 0xc00da83; - puVar1[3] = 0x6c006c0; - puVar1[4] = 0xc005a82; - puVar1[5] = 0x80006c0; - uVar4 = 0; - uVar10 = 0x140; - puVar1 = __saveBuffer((int)filter,*(uint *)((int)filter + 0x18),0x6c0,outCount,puVar1 + 6); - uVar11 = 0; - *puVar1 = 0x2000800; - puVar1[1] = uVar5; - puVar2 = puVar1 + 2; - lVar9 = 0; - if (*(char *)((int)filter + 0x24) == '\0') { - iVar3 = *(int *)((int)filter + 0x1c); - } - else { - iVar3 = *(int *)((int)filter + 0x18); - do { - piVar6 = (int *)(*(int *)((int)filter + 0x20) + (int)lVar9 * 0x28); - uVar8 = iVar3 + *piVar6 * -2; - uVar12 = iVar3 + piVar6[1] * -2; - if (uVar8 == uVar11) { - sVar7 = (short)uVar4; - uVar4 = SEXT24((short)uVar10); - uVar10 = SEXT24(sVar7); - } - else { - puVar2 = __loadBuffer((int)filter,uVar8,uVar4,outCount,puVar2); - } - puVar2 = __loadOutputBuffer((int)filter,piVar6,uVar10,(longlong)outCount,puVar2); - if (*(short *)(piVar6 + 2) == 0) { -LAB_700203b0: - sVar7 = *(short *)((int)piVar6 + 10); - } - else { - *puVar2 = (int)*(short *)(piVar6 + 2) & 0xffffU | 0xc000000; - puVar2[1] = uVar4 << 0x10 | uVar10; - puVar2 = puVar2 + 2; - if (piVar6[9] == 0) { - if (piVar6[8] == 0) { - puVar2 = __saveBuffer((int)filter,uVar12,uVar10,outCount,puVar2); - } - goto LAB_700203b0; - } - sVar7 = *(short *)((int)piVar6 + 10); - } - if (sVar7 != 0) { - *puVar2 = (int)sVar7 & 0xffffU | 0xc000000; - puVar2[1] = uVar10 << 0x10 | uVar4; - puVar2 = __saveBuffer((int)filter,uVar8,uVar4,outCount,puVar2 + 2); - } - if (piVar6[8] == 0) { - iVar3 = piVar6[9]; - } - else { - puVar2 = __filterBuffer(piVar6[8],uVar10,outCount,puVar2); - iVar3 = piVar6[9]; - } - if (iVar3 == 0) { - puVar2 = __saveBuffer((int)filter,uVar12,uVar10,outCount,puVar2); - } - lVar9 = (longlong)(((int)lVar9 + 1) * 0x10000 >> 0x10); - if (*(short *)(piVar6 + 3) != 0) { - *puVar2 = (int)*(short *)(piVar6 + 3) & 0xffffU | 0xc000000; - puVar2[1] = uVar10 << 0x10 | 0x800; - puVar2 = puVar2 + 2; - } - iVar3 = *(int *)((int)filter + 0x18); - uVar11 = iVar3 + piVar6[1] * 2; - } while (lVar9 < (longlong)(ulonglong)*(byte *)((int)filter + 0x24)); - iVar3 = *(int *)((int)filter + 0x1c); - } - uVar11 = *(int *)((int)filter + 0x18) + uVar5; - *(uint *)((int)filter + 0x18) = uVar11; - if ((uint)(*(int *)((int)filter + 0x14) + iVar3 * 2) < uVar11) { - *(int *)((int)filter + 0x18) = uVar11 + iVar3 * -2; - } - *puVar2 = 0xa000800; - puVar2[1] = uVar5 & 0xffff | 0x6c00000; - return (longlong)(int)(puVar2 + 2); -} - - - -uint * alFxParam(int *param_1,undefined8 param_2,undefined8 param_3,undefined param_4, - undefined4 param_5,undefined param_6,undefined param_7,undefined param_8, - undefined4 param_9,undefined param_10,undefined4 param_11,undefined4 param_12) - -{ - undefined4 *puVar1; - uint *puVar2; - int iVar3; - uint uVar4; - uint uVar5; - int *piVar6; - short sVar7; - int unaff_s3_lo; - uint uVar8; - uint uVar9; - longlong lVar10; - uint uVar11; - uint uVar12; - uint uStack00000048; - uint uStack00000050; - uint uStack00000080; - - uStack00000080 = 0; - puVar1 = (undefined4 *)(**(code **)(*param_1 + 4))(); - uVar9 = (uint)param_3; - uVar5 = uVar9 << 1; - uStack00000048 = uVar5 & 0xffff; - *puVar1 = 0x8000000; - puVar1[1] = uStack00000048; - puVar1[2] = 0xc00da83; - puVar1[3] = 0x6c006c0; - puVar1[4] = 0xc005a82; - puVar1[5] = 0x80006c0; - uVar4 = 0; - uVar11 = 0x140; - uStack00000050 = uVar5; - puVar1 = __saveBuffer(unaff_s3_lo,*(uint *)(unaff_s3_lo + 0x18),0x6c0,uVar9,puVar1 + 6); - *puVar1 = 0x2000800; - puVar1[1] = uVar5; - puVar2 = puVar1 + 2; - lVar10 = 0; - if (*(char *)(unaff_s3_lo + 0x24) == '\0') { - iVar3 = *(int *)(unaff_s3_lo + 0x1c); - } - else { - iVar3 = *(int *)(unaff_s3_lo + 0x18); - uVar5 = uStack00000080; - do { - piVar6 = (int *)(*(int *)(unaff_s3_lo + 0x20) + (int)lVar10 * 0x28); - uVar8 = iVar3 + *piVar6 * -2; - uVar12 = iVar3 + piVar6[1] * -2; - if (uVar8 == uVar5) { - sVar7 = (short)uVar4; - uVar4 = SEXT24((short)uVar11); - uVar11 = SEXT24(sVar7); - } - else { - puVar2 = __loadBuffer(unaff_s3_lo,uVar8,uVar4,uVar9,puVar2); - } - puVar2 = __loadOutputBuffer(unaff_s3_lo,piVar6,uVar11,param_3,puVar2); - if (*(short *)(piVar6 + 2) == 0) { -LAB_700203b0: - sVar7 = *(short *)((int)piVar6 + 10); - } - else { - *puVar2 = (int)*(short *)(piVar6 + 2) & 0xffffU | 0xc000000; - puVar2[1] = uVar4 << 0x10 | uVar11; - puVar2 = puVar2 + 2; - if (piVar6[9] == 0) { - if (piVar6[8] == 0) { - puVar2 = __saveBuffer(unaff_s3_lo,uVar12,uVar11,uVar9,puVar2); - } - goto LAB_700203b0; - } - sVar7 = *(short *)((int)piVar6 + 10); - } - if (sVar7 != 0) { - *puVar2 = (int)sVar7 & 0xffffU | 0xc000000; - puVar2[1] = uVar11 << 0x10 | uVar4; - puVar2 = __saveBuffer(unaff_s3_lo,uVar8,uVar4,uVar9,puVar2 + 2); - } - if (piVar6[8] == 0) { - iVar3 = piVar6[9]; - } - else { - puVar2 = __filterBuffer(piVar6[8],uVar11,uVar9,puVar2); - iVar3 = piVar6[9]; - } - if (iVar3 == 0) { - puVar2 = __saveBuffer(unaff_s3_lo,uVar12,uVar11,uVar9,puVar2); - } - lVar10 = (longlong)(((int)lVar10 + 1) * 0x10000 >> 0x10); - if (*(short *)(piVar6 + 3) != 0) { - *puVar2 = (int)*(short *)(piVar6 + 3) & 0xffffU | 0xc000000; - puVar2[1] = uVar11 << 0x10 | 0x800; - puVar2 = puVar2 + 2; - } - iVar3 = *(int *)(unaff_s3_lo + 0x18); - uVar5 = iVar3 + piVar6[1] * 2; - } while (lVar10 < (longlong)(ulonglong)*(byte *)(unaff_s3_lo + 0x24)); - iVar3 = *(int *)(unaff_s3_lo + 0x1c); - } - uStack00000050 = *(int *)(unaff_s3_lo + 0x18) + uStack00000050; - *(uint *)(unaff_s3_lo + 0x18) = uStack00000050; - if ((uint)(*(int *)(unaff_s3_lo + 0x14) + iVar3 * 2) < uStack00000050) { - *(int *)(unaff_s3_lo + 0x18) = uStack00000050 + iVar3 * -2; - } - *puVar2 = 0xa000800; - puVar2[1] = uStack00000048 | 0x6c00000; - return puVar2 + 2; -} - - - -uint * alFxPull(int param_1,undefined param_2,undefined param_3,undefined param_4,undefined4 param_5 - ,undefined param_6,undefined param_7,undefined param_8,undefined4 param_9, - undefined4 param_10,undefined4 param_11,undefined4 param_12,undefined4 param_13, - undefined4 param_14,undefined4 param_15,undefined4 param_16,undefined4 param_17, - undefined4 param_18,undefined4 param_19,undefined4 param_20,undefined4 param_21) - -{ - undefined4 *puVar1; - uint *puVar2; - int iVar3; - uint uVar4; - int *piVar5; - short sVar6; - int unaff_s3_lo; - uint uVar7; - undefined8 unaff_s6; - uint uVar8; - longlong lVar9; - uint uVar10; - uint uVar11; - uint uVar12; - uint in_stack_00000080; - - puVar1 = (undefined4 *)(**(code **)(param_1 + 4))(param_1,param_2,param_3,param_4); - uVar8 = (uint)unaff_s6; - uVar4 = uVar8 * 2; - *puVar1 = 0x8000000; - puVar1[1] = uVar4 & 0xffff; - puVar1[2] = 0xc00da83; - puVar1[3] = 0x6c006c0; - puVar1[4] = 0xc005a82; - puVar1[5] = 0x80006c0; - uVar11 = 0; - uVar10 = 0x140; - puVar1 = __saveBuffer(unaff_s3_lo,*(uint *)(unaff_s3_lo + 0x18),0x6c0,uVar8,puVar1 + 6); - *puVar1 = 0x2000800; - puVar1[1] = uVar4; - puVar2 = puVar1 + 2; - lVar9 = 0; - if (*(char *)(unaff_s3_lo + 0x24) == '\0') { - iVar3 = *(int *)(unaff_s3_lo + 0x1c); - } - else { - iVar3 = *(int *)(unaff_s3_lo + 0x18); - do { - piVar5 = (int *)(*(int *)(unaff_s3_lo + 0x20) + (int)lVar9 * 0x28); - uVar7 = iVar3 + *piVar5 * -2; - uVar12 = iVar3 + piVar5[1] * -2; - if (uVar7 == in_stack_00000080) { - sVar6 = (short)uVar11; - uVar11 = SEXT24((short)uVar10); - uVar10 = SEXT24(sVar6); - } - else { - puVar2 = __loadBuffer(unaff_s3_lo,uVar7,uVar11,uVar8,puVar2); - } - puVar2 = __loadOutputBuffer(unaff_s3_lo,piVar5,uVar10,unaff_s6,puVar2); - if (*(short *)(piVar5 + 2) == 0) { -LAB_700203b0: - sVar6 = *(short *)((int)piVar5 + 10); - } - else { - *puVar2 = (int)*(short *)(piVar5 + 2) & 0xffffU | 0xc000000; - puVar2[1] = uVar11 << 0x10 | uVar10; - puVar2 = puVar2 + 2; - if (piVar5[9] == 0) { - if (piVar5[8] == 0) { - puVar2 = __saveBuffer(unaff_s3_lo,uVar12,uVar10,uVar8,puVar2); - } - goto LAB_700203b0; - } - sVar6 = *(short *)((int)piVar5 + 10); - } - if (sVar6 != 0) { - *puVar2 = (int)sVar6 & 0xffffU | 0xc000000; - puVar2[1] = uVar10 << 0x10 | uVar11; - puVar2 = __saveBuffer(unaff_s3_lo,uVar7,uVar11,uVar8,puVar2 + 2); - } - if (piVar5[8] == 0) { - iVar3 = piVar5[9]; - } - else { - puVar2 = __filterBuffer(piVar5[8],uVar10,uVar8,puVar2); - iVar3 = piVar5[9]; - } - if (iVar3 == 0) { - puVar2 = __saveBuffer(unaff_s3_lo,uVar12,uVar10,uVar8,puVar2); - } - lVar9 = (longlong)(((int)lVar9 + 1) * 0x10000 >> 0x10); - if (*(short *)(piVar5 + 3) != 0) { - *puVar2 = (int)*(short *)(piVar5 + 3) & 0xffffU | 0xc000000; - puVar2[1] = uVar10 << 0x10 | 0x800; - puVar2 = puVar2 + 2; - } - iVar3 = *(int *)(unaff_s3_lo + 0x18); - in_stack_00000080 = iVar3 + piVar5[1] * 2; - } while (lVar9 < (longlong)(ulonglong)*(byte *)(unaff_s3_lo + 0x24)); - iVar3 = *(int *)(unaff_s3_lo + 0x1c); - } - uVar11 = *(int *)(unaff_s3_lo + 0x18) + uVar4; - *(uint *)(unaff_s3_lo + 0x18) = uVar11; - if ((uint)(*(int *)(unaff_s3_lo + 0x14) + iVar3 * 2) < uVar11) { - *(int *)(unaff_s3_lo + 0x18) = uVar11 + iVar3 * -2; - } - *puVar2 = 0xa000800; - puVar2[1] = uVar4 & 0xffff | 0x6c00000; - return puVar2 + 2; -} - - - -void alSeqGetLoc(ALSeq *seq,ALSeqMarker *m) - -{ - m->curPtr = seq->curPtr; - m->lastStatus = seq->lastStatus; - m->lastTicks = seq->lastTicks; - return; -} - - - -void alSeqSetLoc(ALSeq *seq,ALSeqMarker *m) - -{ - seq->curPtr = m->curPtr; - seq->lastStatus = m->lastStatus; - seq->lastTicks = m->lastTicks; - return; -} - - - -s32 alSeqGetTicks(ALSeq *seq) - -{ - return seq->lastTicks; -} - - - -void dummy70020560(void) - -{ - return; -} - - - -s32 readVarLen(ALSeq *seq) - -{ - byte bVar1; - ulonglong uVar2; - uint uVar3; - - bVar1 = *seq->curPtr; - uVar3 = (uint)bVar1; - seq->curPtr = seq->curPtr + 1; - if ((bVar1 & 0x80) != 0) { - uVar2 = (ulonglong)bVar1 & 0x7f; - do { - bVar1 = *seq->curPtr; - seq->curPtr = seq->curPtr + 1; - uVar3 = (int)uVar2 * 0x80 + ((uint)bVar1 & 0x7f); - uVar2 = SEXT48((int)uVar3); - } while ((bVar1 & 0x80) != 0); - } - return (s32)uVar3; -} - - - -void alSeqNextEvent(ALSeq *seq,ALEvent *event) - -{ - byte bVar1; - undefined uVar2; - undefined2 uVar3; - byte *pbVar4; - s32 deltaTicks; - int extraout_a2_lo; - undefined2 *extraout_a3_lo; - - deltaTicks = readVarLen(seq); - pbVar4 = *(byte **)(extraout_a2_lo + 8); - *(int *)(extraout_a2_lo + 0xc) = *(int *)(extraout_a2_lo + 0xc) + deltaTicks; - bVar1 = *pbVar4; - *(byte **)(extraout_a2_lo + 8) = pbVar4 + 1; - if (bVar1 == 0xff) { - bVar1 = pbVar4[1]; - *(byte **)(extraout_a2_lo + 8) = pbVar4 + 2; - if (bVar1 == 0x51) { - *extraout_a3_lo = 3; - *(s32 *)(extraout_a3_lo + 2) = deltaTicks; - *(undefined *)(extraout_a3_lo + 4) = 0xff; - *(undefined *)((int)extraout_a3_lo + 9) = 0x51; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 0xb) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 6) = uVar2; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 0xd) = uVar2; - } - else { - if (bVar1 == 0x2f) { - *extraout_a3_lo = 4; - *(s32 *)(extraout_a3_lo + 2) = deltaTicks; - *(undefined *)(extraout_a3_lo + 4) = 0xff; - *(undefined *)((int)extraout_a3_lo + 9) = 0x2f; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - } - } - *(undefined2 *)(extraout_a2_lo + 0x1a) = 0; - } - else { - *extraout_a3_lo = 1; - *(s32 *)(extraout_a3_lo + 2) = deltaTicks; - if ((bVar1 & 0x80) == 0) { - uVar3 = *(undefined2 *)(extraout_a2_lo + 0x1a); - *(byte *)((int)extraout_a3_lo + 9) = bVar1; - *(char *)(extraout_a3_lo + 4) = (char)uVar3; - } - else { - *(byte *)(extraout_a3_lo + 4) = bVar1; - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)((int)extraout_a3_lo + 9) = uVar2; - *(ushort *)(extraout_a2_lo + 0x1a) = (ushort)bVar1; - } - if ((*(byte *)(extraout_a3_lo + 4) & 0xf0) == 0xc0) { - *(undefined *)(extraout_a3_lo + 5) = 0; - } - else { - if ((*(byte *)(extraout_a3_lo + 4) & 0xf0) == 0xd0) { - *(undefined *)(extraout_a3_lo + 5) = 0; - } - else { - uVar2 = **(undefined **)(extraout_a2_lo + 8); - *(undefined **)(extraout_a2_lo + 8) = *(undefined **)(extraout_a2_lo + 8) + 1; - *(undefined *)(extraout_a3_lo + 5) = uVar2; - } - } - } - return; -} - - - -void alSeqNewMarker(ALSeq *seq,ALSeqMarker *m,u32 ticks) - -{ - s16 sVar1; - u8 *puVar2; - s32 sVar3; - uint uVar4; - u8 *puVar5; - s16 sVar6; - ALEvent AStack16; - - if (ticks == 0) { - puVar2 = seq->trackStart; - m->lastStatus = 0; - m->lastTicks = 0; - m->curTicks = 0; - m->curPtr = puVar2; - } - else { - puVar2 = seq->curPtr; - sVar1 = seq->lastStatus; - sVar3 = seq->lastTicks; - seq->lastStatus = 0; - seq->lastTicks = 0; - seq->curPtr = seq->trackStart; - puVar5 = seq->curPtr; - uVar4 = 0; - while( true ) { - sVar6 = seq->lastStatus; - alSeqNextEvent(seq,&AStack16); - if (AStack16.type == 4) break; - if (ticks <= (uint)seq->lastTicks) goto LAB_70020800; - puVar5 = seq->curPtr; - uVar4 = seq->lastTicks; - } - puVar5 = seq->curPtr; - sVar6 = seq->lastStatus; - uVar4 = seq->lastTicks; -LAB_70020800: - m->curPtr = puVar5; - m->lastStatus = sVar6; - m->lastTicks = uVar4; - m->curTicks = seq->lastTicks; - seq->curPtr = puVar2; - seq->lastStatus = sVar1; - seq->lastTicks = sVar3; - } - return; -} - - - -u32 alSeqSecToTicks(ALSeq *seq,f32 sec,u32 tempo) - -{ - double dVar1; - int in_a2_hi; - int in_a2_lo; - double dVar2; - uint in_register_00001050; - - dVar2 = (double)in_a2_lo; - if (in_a2_hi < 0) { - dVar2 = dVar2 + (double)((ulonglong)in_register_00001050 << 0x20); - } - dVar2 = ((double)(float)tempo * dbl_80029D50 * (double)(int)seq->division) / dVar2; - if (false) { - dVar1 = ROUND(dVar2); - } - else { - dVar1 = FLOOR(dVar2); - } - if (false) { - dVar2 = dVar2 - (double)((ulonglong)(double)(int)seq->division & 0xffffffff00000000); - if (false) { - dVar2 = ROUND(dVar2); - } - else { - dVar2 = FLOOR(dVar2); - } - if (true) { - return (u32)((int)dVar2 | 0x80000000); - } - } - else { - if (-1 < (int)dVar1) { - return (u32)(int)dVar1; - } - } - return 0xffffffff; -} - - - -f32 alSeqTicksToSec(ALSeq *seq,s32 ticks,u32 tempo) - -{ - float fVar1; - - fVar1 = (float)tempo; - if ((int)tempo < 0) { - fVar1 = fVar1 + 4294967296.00000000; - } - return (f32)(float)((double)((float)ticks * fVar1) / ((double)(int)seq->division * dbl_80029D58) - ); -} - - - -ulonglong __alSeqNextDelta(int *param_1,undefined4 *param_2) - -{ - bool bVar1; - s32 sVar2; - int extraout_a2_lo; - undefined4 extraout_a3_lo; - - bVar1 = (uint)param_1[2] < (uint)(*param_1 + param_1[4]); - if (bVar1) { - sVar2 = readVarLen((ALSeq *)param_1); - *param_2 = sVar2; - *(undefined4 *)(extraout_a2_lo + 8) = extraout_a3_lo; - } - return (ulonglong)bVar1; -} - - - -s32 read32(ALSeq *seq) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - byte bVar4; - byte *pbVar5; - - pbVar5 = seq->curPtr; - bVar1 = *pbVar5; - seq->curPtr = pbVar5 + 1; - bVar2 = pbVar5[1]; - seq->curPtr = pbVar5 + 2; - bVar3 = pbVar5[2]; - seq->curPtr = pbVar5 + 3; - bVar4 = pbVar5[3]; - seq->curPtr = pbVar5 + 4; - return (s32)((uint)bVar1 << 0x18 | (uint)bVar2 << 0x10 | (uint)bVar3 << 8 | (uint)bVar4); -} - - - -s16 read16(ALSeq *seq) - -{ - u8 uVar1; - u8 uVar2; - u8 *puVar3; - - puVar3 = seq->curPtr; - uVar1 = *puVar3; - seq->curPtr = puVar3 + 1; - uVar2 = puVar3[1]; - seq->curPtr = puVar3 + 2; - return CONCAT11(uVar1,uVar2); -} - - - -void alSeqNew(ALSeq *seq,u8 *ptr,s32 len) - -{ - s32 sVar1; - s16 sVar2; - ALSeq *seq_00; - ALSeq *seq_01; - ALSeq *seq_02; - ALSeq *seq_03; - ALSeq *seq_04; - ALSeq *seq_05; - int extraout_a3_lo; - uint in_register_00001020; - - seq->base = ptr; - seq->len = len; - seq->lastStatus = 0; - seq->lastTicks = 0; - seq->curPtr = ptr; - sVar1 = read32(seq); - if (sVar1 == 0x4d546864) { - read32(seq_00); - sVar2 = read16(seq_01); - if ((sVar2 == 0) && (sVar2 = read16(seq_02), sVar2 == 1)) { - sVar2 = read16(seq_03); - seq_04->division = sVar2; - if (((longlong)seq_04->division & 0x8000U) == 0) { - *(float *)&seq_04->qnpt = - (float)((double)((ulonglong)in_register_00001020 << 0x20) / - (double)(int)seq_04->division); - sVar1 = read32(seq_04); - if (sVar1 == 0x4d54726b) { - read32(seq_05); - *(undefined4 *)(extraout_a3_lo + 4) = *(undefined4 *)(extraout_a3_lo + 8); - } - } - } - } - return; -} - - - -void alSynSetPriority(ALSynth *s,ALVoice *voice,s16 priority) - -{ - voice->priority = priority; - return; -} - - - -lldiv_t * lldiv(lldiv_t *__return_storage_ptr__,longlong __numer,longlong __denom) - -{ - longlong lVar1; - undefined4 in_v1_hi; - int in_v1_lo; - int iVar2; - int in_a3_lo; - int in_stack_00000010; - uint in_stack_00000014; - int iStack16; - int iStack12; - int iStack8; - uint uStack4; - - lVar1 = __ll_div((int)__denom,in_a3_lo,in_stack_00000010,in_stack_00000014); - iStack16 = (int)lVar1; - iVar2 = in_v1_lo; - lVar1 = __ll_mul(in_stack_00000010,in_stack_00000014,iStack16,in_v1_lo); - iStack8 = ((int)__denom - (int)lVar1) - - (uint)((ulonglong)(longlong)in_a3_lo < CONCAT44(in_v1_hi,iVar2)); - uStack4 = in_a3_lo - iVar2; - iStack12 = in_v1_lo; - if ((((iStack16 < 1) && (iStack12 = in_v1_lo, iStack16 < 0)) && (-1 < iStack8)) && - ((0 < iStack8 || (uStack4 != 0)))) { - iStack16 += (uint)(in_v1_lo + 1 == 0); - iStack8 = (iStack8 - in_stack_00000010) - (uint)(uStack4 < in_stack_00000014); - uStack4 -= in_stack_00000014; - iStack12 = in_v1_lo + 1; - } - *(int *)&__return_storage_ptr__->quot = iStack16; - *(int *)((int)&__return_storage_ptr__->quot + 4) = iStack12; - *(int *)&__return_storage_ptr__->rem = iStack8; - *(uint *)((int)&__return_storage_ptr__->rem + 4) = uStack4; - return __return_storage_ptr__; -} - - - -ldiv_t ldiv(long __numer,long __denom) - -{ - undefined4 in_a2_hi; - int in_a2_lo; - int local_8; - int local_4; - - local_8 = __denom / in_a2_lo; - if (CONCAT44(in_a2_hi,in_a2_lo) == 0) { - trap(0x1c00); - } - if ((CONCAT44(in_a2_hi,in_a2_lo) == -1) && (__denom == -0x80000000)) { - trap(0x1800); - } - local_4 = __denom - in_a2_lo * local_8; - if (local_8 < 0) { - if (0 < local_4) { - local_8 += 1; - local_4 -= in_a2_lo; - } - } - *(int *)__numer = local_8; - *(int *)(__numer + 4) = local_4; - return (ldiv_t)(longlong)__numer; -} - - - -void __osResetGlobalIntMask(OSHWIntr interrupt) - -{ - u32 mask; - - mask = __osDisableInt(); - __OSGlobalIntMask = (undefined *)((uint)__OSGlobalIntMask & ~(interrupt & 0xfffffbfe)); - __osRestoreInt(mask); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -s32 osEPiRawWriteIo(OSPiHandle *pihandle,u32 devAddr,u32 data) - -{ - do { - } while ((_PI_STATUS_REG & 3) != 0); - *(u32 *)(pihandle->baseAddress | devAddr | 0xa0000000) = data; - return 0; -} - - - -// WARNING: Instruction at (ram,0x70200594) overlaps instruction at (ram,0x70200590) -// -// WARNING: Type propagation algorithm not settling -// WARNING: Could not reconcile some variable overlaps - -int huft_build(char b,char n,char s,char d,undefined e,undefined t,undefined m) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - uint *puVar4; - int iVar5; - uint uVar6; - uint uVar7; - uint uVar8; - uint uVar9; - uint *puVar10; - uint *puVar11; - uint uVar12; - uint uVar13; - int iVar14; - int iVar15; - longlong lVar16; - uint uVar17; - uint uVar18; - uint uVar19; - uint uVar20; - uint uVar21; - int *piVar24; - longlong lVar22; - longlong lVar23; - int in_stack_00000010; - uint *in_stack_00000014; - uint *in_stack_00000018; - uint *puStack1440; - int iStack1412; - uint auStack1404 [18]; - uint auStack1332 [288]; - uint auStack180 [16]; - undefined4 uStack116; - uint uStack112; - uint uStack80; - uint auStack72 [16]; - uint auStack8 [2]; - - iVar14 = (int)n; - lVar23 = (longlong)b; - piVar24 = (int *)(int)b; - uVar9 = SEXT14(s); - auStack72[0] = 0; - puVar4 = auStack72 + 1; - do { - puVar2 = puVar4 + 4; - puVar4[1] = 0; - puVar4[2] = 0; - puVar4[3] = 0; - *puVar4 = 0; - puVar4 = puVar2; - } while (puVar2 != auStack8 + 1); - uVar8 = SEXT14(n); - if (-((int)n & 3U) == 0) goto LAB_702000a4; - lVar16 = (longlong)n; - lVar22 = lVar23; - do { - piVar24 = (int *)lVar22; - lVar16 = (longlong)((int)lVar16 + -1); - lVar22 = (longlong)(int)(piVar24 + 1); - auStack72[*piVar24] = auStack72[*piVar24] + 1; - } while ((longlong)(int)(-((int)n & 3U) + uVar8) != lVar16); - while( true ) { - iVar14 = (int)lVar16; - piVar24 = (int *)lVar22; - if (lVar16 == 0) break; -LAB_702000a4: - lVar16 = (longlong)(iVar14 + -4); - lVar22 = (longlong)(int)(piVar24 + 4); - puVar4 = auStack72 + *piVar24; - *puVar4 = *puVar4 + 1; - puVar4 = auStack72 + piVar24[1]; - *puVar4 = *puVar4 + 1; - puVar4 = auStack72 + piVar24[2]; - *puVar4 = *puVar4 + 1; - puVar4 = auStack72 + piVar24[3]; - *puVar4 = *puVar4 + 1; - } - uVar19 = 1; - puVar4 = auStack72 + 1; - if ((longlong)n == (longlong)(int)auStack72[0]) { - *in_stack_00000014 = 0; - *in_stack_00000018 = 0; - return 0; - } - do { - if (*puVar4 != 0) break; - uVar19 += 1; - puVar4 = puVar4 + 1; - } while (uVar19 != 0x11); - uVar18 = *in_stack_00000018; - if (*in_stack_00000018 < uVar19) { - uVar18 = uVar19; - } - uStack80 = 0x10; - puVar2 = auStack8; - do { - if (*puVar2 != 0) break; - uStack80 -= 1; - puVar2 = puVar2 + -1; - } while (uStack80 != 0); - if (uStack80 < uVar18) { - uVar18 = uStack80; - } - *in_stack_00000018 = uVar18; - iStack1412 = 1 << (uVar19 & 0x1f); - if (uVar19 < uStack80) { - do { - uVar12 = *puVar4; - puVar4 = puVar4 + 1; - iStack1412 = (iStack1412 - uVar12) * 2; - } while (puVar4 < auStack72 + uStack80); - } - uVar17 = uStack80 - 1; - uVar12 = 0; - iStack1412 -= *puVar2; - *puVar2 = *puVar2 + iStack1412; - auStack1404[1] = 0; - puVar4 = auStack72 + 1; - puVar11 = auStack1404 + 2; - puVar2 = puVar2 + -1; - if (uVar17 != 0) { - if (-(uVar17 & 3) != 0) { - do { - puVar2 = puVar2 + -1; - puVar10 = puVar11 + 1; - uVar12 += *puVar4; - *puVar11 = uVar12; - puVar4 = puVar4 + 1; - puVar11 = puVar10; - } while (auStack72 + -(uVar17 & 3) + uVar17 != puVar2); - if (puVar2 == auStack72) goto LAB_70200290; - } - do { - uVar17 = *puVar4; - puVar2 = puVar2 + -4; - *puVar11 = uVar12 + uVar17; - uVar12 = uVar12 + uVar17 + puVar4[1]; - puVar11[1] = uVar12; - uVar12 += puVar4[2]; - puVar11[2] = uVar12; - uVar12 += puVar4[3]; - puVar11[3] = uVar12; - puVar4 = puVar4 + 4; - puVar11 = puVar11 + 4; - } while (puVar2 != auStack72); - } -LAB_70200290: - uVar12 = 0; - puVar4 = auStack1332; - iVar14 = *(int *)(int)b; - while( true ) { - piVar24 = (int *)((int)lVar23 + 4); - lVar23 = (longlong)(int)piVar24; - if (iVar14 != 0) { - uVar17 = auStack1404[iVar14]; - puVar4[uVar17] = uVar12; - auStack1404[iVar14] = uVar17 + 1; - } - uVar12 += 1; - if (uVar8 <= uVar12) break; - iVar14 = *piVar24; - } - uVar17 = 0; - auStack1404[0] = 0; - iVar14 = -1; - uVar12 = -uVar18; - auStack180[0] = 0; - uVar7 = 0; - uVar6 = 0; - if ((int)uVar19 <= (int)uStack80) { - puStack1440 = auStack72 + uVar19; - do { - iVar15 = iVar14 * 4; - if (*puStack1440 != 0) { - puVar11 = auStack1404 + iVar14; - uVar21 = 1 << (uVar19 + 0x1f & 0x1f); - puVar2 = puVar4; - uVar13 = *puStack1440; - do { - uVar20 = uVar13 - 1; - if ((int)(uVar12 + uVar18) < (int)uVar19) { - uVar3 = uVar12 + uVar18; - puVar4 = (uint *)((int)auStack180 + iVar15); - do { - uVar12 = uVar3; - iVar14 += 1; - iVar15 += 4; - puVar11 = puVar11 + 1; - uVar7 = uStack80 - uVar12; - if (uVar18 < uStack80 - uVar12) { - uVar7 = uVar18; - } - uVar3 = uVar19 - uVar12; - uVar6 = 1 << (uVar3 & 0x1f); - if (uVar13 < uVar6) { - iVar5 = (uVar6 - uVar20) + -1; - puVar10 = auStack72 + uVar19; - while (uVar3 += 1, uVar3 < uVar7) { - puVar1 = puVar10 + 1; - puVar10 = puVar10 + 1; - if ((uint)(iVar5 * 2) <= *puVar1) break; - iVar5 = iVar5 * 2 - *puVar1; - } - } - uVar6 = 1 << (uVar3 & 0x1f); - iVar5 = hufts * 8; - hufts = hufts + uVar6 + 1; - iVar5 += rarezip_ptrbuffer; - uVar7 = iVar5 + 8; - *in_stack_00000014 = uVar7; - *(undefined4 *)(iVar5 + 4) = 0; - in_stack_00000014 = (uint *)(iVar5 + 4); - puVar4[1] = uVar7; - if (iVar14 != 0) { - *puVar11 = uVar17; - uStack116._1_3_ = CONCAT12((char)uVar18,uStack116._2_2_); - uStack116 = CONCAT13((char)uVar3 + '\x10',uStack116._1_3_); - uStack112 = uVar7; - puVar10 = (uint *)(*puVar4 + - (uVar17 >> (uVar12 - uVar18 & 0x1f)) * 8); - *puVar10 = uStack116; - puVar10[1] = uVar7; - } - uVar3 = uVar12 + uVar18; - puVar4 = puVar4 + 1; - } while ((int)(uVar12 + uVar18) < (int)uVar19); - } - uStack116._1_3_ = CONCAT12((char)(uVar19 - uVar12),uStack116._2_2_); - uStack116 = uStack116 & 0xff000000 | (uint)uStack116._1_3_; - if (puVar2 < auStack1332 + uVar8) { - uVar13 = *puVar2; - if (uVar13 < uVar9) { - if (uVar13 < 0x100) { - uStack116 = CONCAT13(0x10,uStack116._1_3_); - } - else { - uStack116 = CONCAT13(0xf,uStack116._1_3_); - } - puVar4 = puVar2 + 1; - uStack112 = uStack112 & 0xffff | *puVar2 << 0x10; - } - else { - puVar4 = puVar2 + 1; - uStack116 = CONCAT13(*(undefined *) - ((uVar13 - uVar9) + in_stack_00000010), - uStack116._1_3_); - uStack112 = uStack112 & 0xffff | - (uint)*(ushort *)((int)d + *puVar2 * 2 + uVar9 * -2) << 0x10 - ; - } - } - else { - uStack116 = CONCAT13(99,uStack116._1_3_); - puVar4 = puVar2; - } - uVar13 = uVar17 >> (uVar12 & 0x1f); - if (uVar13 < uVar6) { - do { - puVar2 = (uint *)(uVar7 + uVar13 * 8); - *puVar2 = uStack116; - uVar13 += 1 << (uVar19 - uVar12 & 0x1f); - puVar2[1] = uStack112; - } while (uVar13 < uVar6); - } - uVar3 = uVar17 & uVar21; - uVar13 = uVar21; - while (uVar3 != 0) { - uVar17 ^= uVar13; - uVar3 = uVar17 & uVar13 >> 1; - uVar13 = uVar13 >> 1; - } - uVar17 ^= uVar13; - if ((uVar17 & (1 << (uVar12 & 0x1f)) - 1U) != *puVar11) { - do { - uVar12 -= uVar18; - puVar2 = puVar11 + -1; - iVar14 += -1; - iVar15 += -4; - puVar11 = puVar11 + -1; - } while ((uVar17 & (1 << (uVar12 & 0x1f)) - 1U) != *puVar2); - } - puVar2 = puVar4; - uVar13 = uVar20; - } while (uVar20 != 0); - } - uVar19 += 1; - puStack1440 = puStack1440 + 1; - } while ((int)uVar19 <= (int)uStack80); - } - return (int)(uint)(iStack1412 != 0 && uStack80 != 1); -} - - - -int inflate_codes(char tl,char td,char bl,char bd) - -{ - byte bVar1; - int iVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - uint uVar6; - byte *pbVar7; - ulonglong uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - undefined *puVar12; - byte *pbVar13; - undefined *puVar14; - ushort ml; - ushort md; - - uVar8 = SEXT48((int)bk); - ml = mask_bits[bl]; - md = mask_bits[bd]; - while( true ) { - while( true ) { - while (uVar11 = (uint)uVar8, uVar8 < (ulonglong)(longlong)bl) { - pbVar7 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar8 = SEXT48((int)(uVar11 + 8)); - bb |= (uint)*pbVar7 << (uVar11 & 0x1f); - } - pbVar7 = (byte *)((bb & ml) * 8 + (int)tl); - uVar5 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) { - bVar1 = pbVar7[1]; - } - else { - bVar1 = pbVar7[1]; - while( true ) { - iVar2 = (int)uVar5 + -0x10; - uVar11 = (int)uVar8 - (uint)bVar1; - bb >>= (uint)bVar1 & 0x1f; - while (uVar8 = SEXT48((int)uVar11), uVar8 < (ulonglong)(longlong)iVar2) { - pbVar13 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar10 = uVar11 & 0x1f; - uVar11 += 8; - bb |= (uint)*pbVar13 << uVar10; - } - pbVar7 = (byte *)((mask_bits[iVar2] & bb) * 8 + *(int *)(pbVar7 + 4)); - uVar5 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) break; - bVar1 = pbVar7[1]; - } - bVar1 = pbVar7[1]; - } - bb >>= (uint)bVar1 & 0x1f; - bk = uVar11 - (uint)bVar1; - uVar8 = SEXT48((int)bk); - if (uVar5 != 0x10) break; - puVar12 = (undefined *)(rarezip_ptr_target + wp); - wp += 1; - *puVar12 = (char)*(undefined2 *)(pbVar7 + 4); - } - if (uVar5 == 0xf) break; - uVar11 = (uint)uVar5; - while (uVar8 < uVar5) { - pbVar13 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar10 = (uint)uVar8; - bk = uVar10 + 8; - uVar8 = SEXT48((int)bk); - bb |= (uint)*pbVar13 << (uVar10 & 0x1f); - } - uVar9 = bk - uVar11; - uVar10 = bb >> (uVar11 & 0x1f); - uVar11 = (mask_bits[uVar11] & bb) + (uint)*(ushort *)(pbVar7 + 4); - while (uVar8 = SEXT48((int)uVar9), uVar8 < (ulonglong)(longlong)bd) { - pbVar7 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar6 = uVar9 & 0x1f; - uVar9 += 8; - uVar10 |= (uint)*pbVar7 << uVar6; - } - pbVar7 = (byte *)((uVar10 & md) * 8 + (int)td); - uVar5 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) { - bVar1 = pbVar7[1]; - } - else { - bVar1 = pbVar7[1]; - while( true ) { - iVar2 = (int)uVar5 + -0x10; - uVar9 = (int)uVar8 - (uint)bVar1; - uVar10 >>= (uint)bVar1 & 0x1f; - while (uVar8 = SEXT48((int)uVar9), uVar8 < (ulonglong)(longlong)iVar2) { - pbVar13 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar6 = uVar9 & 0x1f; - uVar9 += 8; - uVar10 |= (uint)*pbVar13 << uVar6; - } - pbVar7 = (byte *)((mask_bits[iVar2] & uVar10) * 8 + *(int *)(pbVar7 + 4)); - uVar5 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) break; - bVar1 = pbVar7[1]; - } - bVar1 = pbVar7[1]; - } - uVar9 -= (uint)bVar1; - uVar10 >>= (uint)bVar1 & 0x1f; - while ((ulonglong)(longlong)(int)uVar9 < uVar5) { - pbVar13 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar6 = uVar9 & 0x1f; - uVar9 += 8; - uVar10 |= (uint)*pbVar13 << uVar6; - } - uVar6 = (uint)uVar5; - uVar8 = SEXT48((int)(uVar9 - uVar6)); - iVar2 = (wp - (uint)*(ushort *)(pbVar7 + 4)) - (mask_bits[uVar6] & uVar10); - bb = uVar10 >> (uVar6 & 0x1f); - while( true ) { - if (-(uVar11 & 3) == 0) goto LAB_70200990; - uVar10 = -(uVar11 & 3) + uVar11; - do { - uVar11 -= 1; - puVar12 = (undefined *)(iVar2 + rarezip_ptr_target); - puVar14 = (undefined *)(rarezip_ptr_target + wp); - wp += 1; - iVar2 += 1; - *puVar14 = *puVar12; - } while (uVar10 != uVar11); - while (uVar11 != 0) { -LAB_70200990: - uVar11 -= 4; - *(undefined *)(rarezip_ptr_target + wp) = *(undefined *)(iVar2 + rarezip_ptr_target) - ; - *(undefined *)(rarezip_ptr_target + wp + 1) = - *(undefined *)(iVar2 + 1 + rarezip_ptr_target); - iVar3 = iVar2 + 3; - *(undefined *)(rarezip_ptr_target + wp + 2) = - *(undefined *)(iVar2 + 2 + rarezip_ptr_target); - iVar4 = wp + 3; - wp += 4; - iVar2 += 4; - *(undefined *)(rarezip_ptr_target + iVar4) = - *(undefined *)(iVar3 + rarezip_ptr_target); - } - if (true) break; - uVar11 = 0; - } - } - return 0; -} - - - -int inflate_stored(void) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - byte *pbVar4; - - uVar3 = bk - (bk & 7); - bb >>= bk & 7; - while (uVar3 < 0x10) { - pbVar4 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar2 = uVar3 & 0x1f; - uVar3 += 8; - bb |= (uint)*pbVar4 << uVar2; - } - uVar3 -= 0x10; - uVar2 = bb & 0xffff; - bb = 0; - while (uVar3 < 0x10) { - pbVar4 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar1 = uVar3 & 0x1f; - uVar3 += 8; - bb |= (uint)*pbVar4 << uVar1; - } - bb >>= 0x10; - bk = uVar3 - 0x10; - while (uVar2 != 0) { - uVar2 -= 1; - uVar3 = bb; - while (bk < 8) { - pbVar4 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar1 = bk & 0x1f; - bk += 8; - uVar3 |= (uint)*pbVar4 << uVar1; - } - bb = uVar3 >> 8; - *(undefined *)(rarezip_ptr_target + wp) = (char)uVar3; - wp += 1; - bk -= 8; - } - return 0; -} - - - -// WARNING: Could not reconcile some variable overlaps - -int inflate_fixed(void) - -{ - uint *puVar1; - uint *puVar2; - uint l [288]; - int bd; - int bl; - huft *td; - huft *tl; - - puVar1 = l; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 8; - puVar1[2] = 8; - puVar1[3] = 8; - *puVar1 = 8; - puVar1 = puVar2; - } while (puVar2 != l + 0x90); - if (puVar2 < l + 0x100) { - do { - puVar2 = puVar1 + 1; - *puVar1 = 9; - puVar1 = puVar2; - } while (puVar2 < l + 0x100); - } - if (puVar2 < l + 0x118) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 7; - puVar1 = puVar2; - } while (puVar2 < l + 0x118); - } - if (puVar2 < &bd) { - do { - puVar1 = puVar2 + 1; - *puVar2 = 8; - puVar2 = puVar1; - } while (puVar1 < &bd); - } - huft_build(0x6c,0x20,1,0xa8,0xe8,0xf8,0xf0); - l[1] = 5; - l[0] = 5; - puVar1 = l + 2; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 5; - puVar1[2] = 5; - puVar1[3] = 5; - *puVar1 = 5; - puVar1 = puVar2; - } while (puVar2 != l + 0x1e); - bd = 5; - huft_build(0x6c,0x1e,0,8,0x44,0xf4,0xec); - inflate_codes(tl._3_1_,td._3_1_,7,(char)bd); - return 0; -} - - - -// WARNING: Could not reconcile some variable overlaps - -int inflate_dynamic(void) - -{ - byte bVar1; - ushort uVar2; - bool bVar3; - undefined4 uVar4; - undefined4 uVar5; - uint *puVar6; - uint uVar7; - char b_00; - int iVar8; - byte *pbVar9; - ulonglong uVar10; - ulg b_; - ulg b; - uint uVar11; - uint nd; - uint nl; - uint uVar12; - uint uVar13; - byte *pbVar14; - uint uVar15; - uint ll [316]; - undefined4 local_30; - uint local_2c; - int bd; - int bl; - huft *td; - huft *tl; - uint k; - - b = bk; - b_ = bk; - uVar12 = bb; - if (bk < 5) { - do { - pbVar9 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - b = b_ + 8; - uVar12 |= (uint)*pbVar9 << (b_ & 0x1f); - b_ = b; - } while (b < 5); - } - uVar11 = b - 5; - nl = (uVar12 & 0x1f) + 0x101; - uVar12 >>= 5; - while (uVar11 < 5) { - pbVar9 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar13 = uVar11 & 0x1f; - uVar11 += 8; - uVar12 |= (uint)*pbVar9 << uVar13; - } - uVar11 -= 5; - nd = (uVar12 & 0x1f) + 1; - uVar12 >>= 5; - while (uVar11 < 4) { - pbVar9 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar13 = uVar11 & 0x1f; - uVar11 += 8; - uVar12 |= (uint)*pbVar9 << uVar13; - } - uVar13 = uVar12 >> 4; - uVar11 -= 4; - uVar7 = 0; - if ((uVar12 & 0xf) != 0xfffffffc) { - pbVar9 = border; - do { - uVar7 += 1; - while (uVar11 < 3) { - pbVar14 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar15 = uVar11 & 0x1f; - uVar11 += 8; - uVar13 |= (uint)*pbVar14 << uVar15; - } - bVar1 = *pbVar9; - uVar15 = uVar13 & 7; - pbVar9 = pbVar9 + 1; - uVar13 >>= 3; - ll[bVar1] = uVar15; - uVar11 -= 3; - } while (uVar7 != (uVar12 & 0xf) + 4); - } - if (uVar7 < 0x13) { - pbVar9 = border + uVar7; - do { - bVar1 = *pbVar9; - pbVar9 = pbVar9 + 1; - ll[bVar1] = 0; - } while (pbVar9 < border + 0x13); - } - bl = 7; - b_00 = (char)ll; - huft_build(b_00,0x13,0x13,0,0,0xe8,0xe0); - uVar4 = lbits; - uVar7 = nl + nd; - uVar10 = 0; - uVar12 = 0; - if (uVar7 != 0) { - do { - while (uVar11 < (uint)bl) { - pbVar9 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar15 = uVar11 & 0x1f; - uVar11 += 8; - uVar13 |= (uint)*pbVar9 << uVar15; - } - td = (huft *)((uVar13 & mask_bits[7]) * 8 + (int)tl); - uVar13 >>= (uint)td->b & 0x1f; - uVar11 -= (uint)td->b; - uVar2 = *(ushort *)((int)&td->v + 2); - if (uVar2 < 0x10) { - ll[uVar12] = (uint)uVar2; - uVar12 += 1; - uVar10 = (ulonglong)uVar2; -LAB_7020115c: - bVar3 = uVar12 < uVar7; - } - else { - if (uVar2 != 0x10) { - uVar10 = 0; - if (uVar2 == 0x11) { - while (uVar11 < 3) { - pbVar9 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar15 = uVar11 & 0x1f; - uVar11 += 8; - uVar13 |= (uint)*pbVar9 << uVar15; - } - uVar15 = uVar13 & 7; - uVar13 >>= 3; - uVar11 -= 3; - iVar8 = uVar15 + 2; - if (uVar15 != 0xfffffffd) { - puVar6 = ll + uVar12; - do { - *puVar6 = 0; - uVar12 += 1; - puVar6 = puVar6 + 1; - bVar3 = iVar8 != 0; - iVar8 += -1; - } while (bVar3); - bVar3 = uVar12 < uVar7; - goto LAB_70201160; - } - } - else { - while (uVar11 < 7) { - pbVar9 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar15 = uVar11 & 0x1f; - uVar11 += 8; - uVar13 |= (uint)*pbVar9 << uVar15; - } - uVar15 = uVar13 & 0x7f; - uVar13 >>= 7; - uVar11 -= 7; - iVar8 = uVar15 + 10; - if (uVar15 != 0xfffffff5) { - puVar6 = ll + uVar12; - do { - *puVar6 = 0; - uVar12 += 1; - puVar6 = puVar6 + 1; - bVar3 = iVar8 != 0; - iVar8 += -1; - } while (bVar3); - } - } - goto LAB_7020115c; - } - while (uVar11 < 2) { - pbVar9 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar15 = uVar11 & 0x1f; - uVar11 += 8; - uVar13 |= (uint)*pbVar9 << uVar15; - } - uVar15 = uVar13 & 3; - uVar13 >>= 2; - uVar11 -= 2; - iVar8 = uVar15 + 2; - if (uVar15 == 0xfffffffd) goto LAB_7020115c; - puVar6 = ll + uVar12; - do { - *puVar6 = (uint)uVar10; - uVar12 += 1; - puVar6 = puVar6 + 1; - bVar3 = iVar8 != 0; - iVar8 += -1; - } while (bVar3); - bVar3 = uVar12 < uVar7; - } -LAB_70201160: - } while (bVar3); - } - bb = uVar13; - bk = uVar11; - huft_build(b_00,(char)nl,1,0xa8,0xe8,0xe8,0xe0); - uVar5 = dbits; - huft_build(b_00 + (char)(nl << 2),(undefined)local_30,0,8,0x44,0xe4,0xdc); - inflate_codes(tl._3_1_,td._3_1_,(char)uVar4,(char)uVar5); - return 0; -} - - - -int inflate_block(char e) - -{ - uint uVar1; - uint t; - int iVar2; - uint uVar3; - uint uVar4; - byte *pbVar5; - - if (bk == 0) { - do { - pbVar5 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar3 = bk & 0x1f; - bk += 8; - bb |= (uint)*pbVar5 << uVar3; - } while (bk == 0); - } - uVar3 = bk - 1; - uVar4 = bb >> 1; - *(uint *)(int)e = bb & 1; - while (uVar3 < 2) { - pbVar5 = (byte *)(rarezip_ptr_source + inptr); - inptr += 1; - uVar1 = uVar3 & 0x1f; - uVar3 += 8; - uVar4 |= (uint)*pbVar5 << uVar1; - } - t = uVar4 & 3; - bb = uVar4 >> 2; - bk = uVar3 - 2; - if (t == 2) { - iVar2 = inflate_dynamic(); - } - else { - if (t == 0) { - iVar2 = inflate_stored(); - } - else { - if (t == 1) { - iVar2 = inflate_fixed(); - } - else { - iVar2 = 2; - } - } - } - return iVar2; -} - - - -int inflate(void) - -{ - int r; - uint h; - int e; - - wp = 0; - bk = 0; - bb = 0; - h = 0; - do { - hufts = 0; - r = inflate_block(0xfc); - if (r != 0) { - return r; - } - if (h < hufts) { - h = hufts; - } - } while (e == 0); - while (7 < bk) { - bk -= 8; - inptr += -1; - } - return 0; -} - - - -void decompress_entry(int source,int target,int buffer) - -{ - rarezip_ptr_source = source + 2; - wp = 0; - inptr = 0; - rarezip_ptr_target = target; - rarezip_ptrbuffer = buffer; - inflate(); - return; -} - - - -void initGameData(void) - -{ - current_menu = ~MENU_LEGAL_SCREEN; - menu_update = MENU_LEGAL_SCREEN; - maybe_prev_menu = ~MENU_LEGAL_SCREEN; - menu_timer = 0; - selected_folder_num = 0; - selected_stage = LEVELID_NONE; - briefingpage = 0xffffffff; - selected_difficulty = DIFFICULTY_MULTI; - folder_selection_screen_option_icon = 0; - mission_failed_or_aborted = FALSE; - is_first_time_on_legal_screen = TRUE; - is_first_time_on_main_menu = TRUE; - prev_keypresses = 0; - maybe_is_in_menu = TRUE; - screen_size = SCREEN_SIZE_320x240; - slider_007_mode_reaction = 0.00000000; - slider_007_mode_health = 1.00000000; - slider_007_mode_accuracy = 1.00000000; - slider_007_mode_damage = 1.00000000; - do_not_play_intro_movie = 0; - randomly_selected_intro_animation = 0; - intro_animation_count = 0; - objinstance = NULL; - ptrobjinstance = NULL; - full_actor_intro = FALSE; - return; -} - - - -void init_weapon_animation_groups_maybe(void) - -{ - set_8003608C(get_ptr_allocated_block_for_weapon_vertices); - somethingwith_weapon_animation_groups(); - return; -} - - - -void reset_counter_rand_body_head(void) - -{ - num_bodies = 0; - if (-1 < list_of_bodies[0]) { - num_bodies = 1; - while (-1 < (int)list_of_bodies[num_bodies]) { - num_bodies += 1; - } - } - num_male_heads = 0; - if (-1 < random_male_heads[0]) { - num_male_heads = 1; - while (-1 < (int)random_male_heads[num_male_heads]) { - num_male_heads += 1; - } - } - num_female_heads = 0; - if (-1 < random_female_heads[0]) { - num_female_heads = 1; - while (-1 < (int)random_female_heads[num_female_heads]) { - num_female_heads += 1; - } - } - return; -} - - - -uint proc_7F0001F0(int param_1,int param_2,int param_3) - -{ - uint uVar1; - uint uVar2; - short asStack8 [4]; - - uVar2 = 0; - if (param_2 < param_3) { - do { - uVar1 = proc_7F06D2E4(0,0,(int)&model_guard_character,param_1,param_2,asStack8); - param_2 += 1; - uVar2 = uVar2 + uVar1 & 0xffff; - } while (param_2 < param_3); - } - return uVar2; -} - - - -int proc_7F000290(int param_1,int param_2,int param_3) - -{ - int iVar1; - short asStack12 [2]; - short sStack8; - - iVar1 = 0; - if (param_2 < param_3) { - do { - proc_7F06D2E4(0,0,(int)&model_guard_character,param_1,param_2,asStack12); - param_2 += 1; - iVar1 += sStack8; - } while (param_2 < param_3); - } - return iVar1; -} - - - -int proc_7F00032C(int *param_1) - -{ - float fVar1; - float fVar2; - int iVar3; - uint uVar4; - int iVar5; - float fVar6; - float fVar7; - - fVar2 = flt_8004ED74; - fVar1 = flt_8004ED70; - iVar3 = *param_1; - iVar5 = 0; - while (iVar3 != 0) { - *param_1 = iVar3 + ptr_animation_table; - iVar3 = proc_7F05C3D8((float)param_1[1]); - uVar4 = proc_7F0001F0(*param_1,0,iVar3); - fVar6 = (float)param_1[1]; - uVar4 &= 0xffff; - if (0.00000000 < fVar6) { - if (uVar4 < 0x8000) { - fVar7 = (float)uVar4; - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(param_1 + 2) = (fVar7 * fVar2) / fVar6; - } - else { - fVar7 = (float)uVar4; - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(param_1 + 2) = (fVar7 * fVar2 - fVar1) / fVar6; - } - } - else { - param_1[2] = 0; - } - iVar3 = param_1[0x12]; - param_1 = param_1 + 0x12; - iVar5 += 1; - } - return iVar5; -} - - - -void proc_7F00046C(int **param_1) - -{ - int iVar1; - int iVar2; - - iVar2 = 0; - do { - if ((int)(*param_1)[1] < 0) { - iVar1 = proc_7F00032C((int *)**param_1); - (*param_1)[1] = iVar1; - } - iVar2 += 4; - param_1 = param_1 + 1; - } while (iVar2 != 0x80); - return; -} - - - -int proc_7F0004D0(int *param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - if (*param_1 != 0) { - iVar2 = *param_1; - do { - iVar1 += 1; - iVar3 = iVar2 + ptr_animation_table; - iVar2 = param_1[7]; - *param_1 = iVar3; - param_1 = param_1 + 7; - } while (iVar2 != 0); - } - return iVar1; -} - - - -void somethingwith_weapon_animation_groups(void) - -{ - float fVar1; - int iVar2; - struck_animation_table *psVar3; - animation_something *paVar4; - float fVar5; - - if (dword_8002C914.anonymous_0 != -1) { - psVar3 = dword_8002C914.field_1C; - paVar4 = &dword_8002C914; - while( true ) { - if (psVar3 == NULL) { - psVar3 = paVar4->field_24; - } - else { - iVar2 = proc_7F0004D0((int *)psVar3); - paVar4->field_20 = iVar2; - psVar3 = paVar4->field_24; - } - if (psVar3 == NULL) { - iVar2 = paVar4[1].anonymous_0; - } - else { - iVar2 = proc_7F0004D0((int *)psVar3); - paVar4->field_28 = iVar2; - iVar2 = paVar4[1].anonymous_0; - } - if (iVar2 == -1) break; - psVar3 = paVar4[1].field_1C; - paVar4 = paVar4 + 1; - } - } - proc_7F0004D0((int *)&stru_8002DEBC); - proc_7F00046C((int **)ptr_rifle_firing_animation_groups); - proc_7F00046C((int **)ptr_pistol_firing_animation_groups); - proc_7F00046C((int **)ptr_doubles_firing_animation_groups); - proc_7F00046C((int **)ptr_crouched_rifle_firing_animation_groups); - proc_7F00046C((int **)ptr_crouched_pistol_firing_animation_groups); - proc_7F00046C((int **)ptr_crouched_doubles_firing_animation_groups); - proc_7F00032C((int *)&stru_80030078); - proc_7F00032C((int *)&stru_80030660); - iVar2 = proc_7F000290(ptr_animation_table + 0x4018,0, - (uint)*(ushort *)(ptr_animation_table + 0x401c) - 1); - fVar1 = flt_8004ED78; - dword_80030984 = (float)(uint)*(ushort *)(ptr_animation_table + 0x401c); - if (false) { - dword_80030984 = dword_80030984 + 4294967296.00000000; - } - dword_80030984 = ((float)iVar2 * flt_8004ED78) / dword_80030984; - iVar2 = proc_7F000290(ptr_animation_table + 0x40d4,0, - (uint)*(ushort *)(ptr_animation_table + 0x40d8) - 1); - dword_80030988 = (float)(uint)*(ushort *)(ptr_animation_table + 0x40d8); - if (false) { - dword_80030988 = dword_80030988 + 4294967296.00000000; - } - dword_80030988 = ((float)iVar2 * fVar1) / dword_80030988; - iVar2 = proc_7F000290(ptr_animation_table + 0x4070,0, - (uint)*(ushort *)(ptr_animation_table + 0x4074) - 1); - dword_8003098C = (float)(uint)*(ushort *)(ptr_animation_table + 0x4074); - if (false) { - dword_8003098C = dword_8003098C + 4294967296.00000000; - } - dword_8003098C = ((float)iVar2 * fVar1) / dword_8003098C; - iVar2 = proc_7F000290(ptr_animation_table + 0x8204,0, - (uint)*(ushort *)(ptr_animation_table + 0x8208) - 1); - dword_80030990 = (float)(uint)*(ushort *)(ptr_animation_table + 0x8208); - if (false) { - dword_80030990 = dword_80030990 + 4294967296.00000000; - } - dword_80030990 = ((float)iVar2 * fVar1) / dword_80030990; - iVar2 = proc_7F000290(ptr_animation_table + 0x777c,0, - (uint)*(ushort *)(ptr_animation_table + 0x7780) - 1); - dword_80030994 = (float)(uint)*(ushort *)(ptr_animation_table + 0x7780); - if (false) { - dword_80030994 = dword_80030994 + 4294967296.00000000; - } - dword_80030994 = ((float)iVar2 * fVar1) / dword_80030994; - iVar2 = proc_7F000290(ptr_animation_table + 0x77d4,0, - (uint)*(ushort *)(ptr_animation_table + 0x77d8) - 1); - dword_80030998 = (float)(uint)*(ushort *)(ptr_animation_table + 0x77d8); - if (false) { - dword_80030998 = dword_80030998 + 4294967296.00000000; - } - dword_80030998 = ((float)iVar2 * fVar1) / dword_80030998; - iVar2 = proc_7F000290(ptr_animation_table + 0x84c4,0, - (uint)*(ushort *)(ptr_animation_table + 0x84c8) - 1); - dword_8003099C = (float)(uint)*(ushort *)(ptr_animation_table + 0x84c8); - if (false) { - dword_8003099C = dword_8003099C + 4294967296.00000000; - } - dword_8003099C = ((float)iVar2 * fVar1) / dword_8003099C; - iVar2 = proc_7F000290(ptr_animation_table + 0x8520,0, - (uint)*(ushort *)(ptr_animation_table + 0x8524) - 1); - dword_800309A0 = (float)(uint)*(ushort *)(ptr_animation_table + 0x8524); - if (false) { - dword_800309A0 = dword_800309A0 + 4294967296.00000000; - } - dword_800309A0 = ((float)iVar2 * fVar1) / dword_800309A0; - iVar2 = proc_7F000290(ptr_animation_table + 0x77d4,0, - (uint)*(ushort *)(ptr_animation_table + 0x77d8) - 1); - fVar5 = (float)(uint)*(ushort *)(ptr_animation_table + 0x77d8); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - dword_800309A4 = ((float)iVar2 * fVar1) / fVar5; - return; -} - - - -void proc_7F000980(void) - -{ - proc_7F0009A0(); - return; -} - - - -void proc_7F0009A0(void) - -{ - undefined *puVar1; - - puVar1 = &DAT_80075dc8; - do { - puVar1 = puVar1 + 0xa0; - *(undefined4 *)(puVar1 + 0x9c) = 0; - puVar1 = puVar1; - } while (puVar1 < &DAT_80076a48); - return; -} - - - -void removed_7f0009d0(void) - -{ - return; -} - - - -void proc_7F0009E0(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - dword_80036414 = param_1; - dword_80036418 = param_2; - dword_8003641C = param_3; - return; -} - - - -void expand_ani_table_entries(int **param_1) - -{ - int **ppiVar1; - int *piVar2; - - piVar2 = *param_1; - if (piVar2 != NULL) { - piVar2 = *param_1; - ppiVar1 = param_1; - do { - if (piVar2 == (int *)((int)&rgba + 1)) { - piVar2 = ppiVar1[1]; - } - else { - piVar2 = (int *)((int)piVar2 + ptr_animation_table); - *ppiVar1 = piVar2; - piVar2[2] = piVar2[2] + ptr_animation_table; - (*ppiVar1)[4] = (*ppiVar1)[4] + ptr_animation_table; - piVar2 = ppiVar1[1]; - } - ppiVar1 = ppiVar1 + 1; - } while (piVar2 != NULL); - piVar2 = *param_1; - } - if (piVar2 != NULL) { - piVar2 = *param_1; - do { - if (piVar2 == (int *)((int)&rgba + 1)) { - piVar2 = param_1[1]; - } - else { - *(undefined **)piVar2 = &_animation_tableSegmentRomStart + *piVar2; - piVar2 = param_1[1]; - } - param_1 = param_1 + 1; - } while (piVar2 != NULL); - } - return; -} - - - -void alloc_load_expand_ani_table(void) - -{ - osCreateMesgQueue(&animMQ,animMesg,8); - proc_7F0009E0(&dword_80029D60,&animMQ,&DAT_80069458); - ptr_animation_table = (char *)mempAllocBytesInBank(0xe7e0,'\x06'); - romCopy(ptr_animation_table,animation_data,0xe7e0); - expand_ani_table_entries((int **)animation_table_ptrs1); - expand_ani_table_entries((int **)animation_table_ptrs2); - return; -} - - - -void setup_ptr_playergait(void) - -{ - ptr_player_gait_object.offset_obj_table = &playergait; - return; -} - - - -void set_gu_scale(void) - -{ - float in_f12; - float in_f14; - - guScale((Mtx *)&DAT_8007a100,in_f12,in_f14,default_gu_scale); - return; -} - - - -void removed_7f000bc0(void) - -{ - return; -} - - - -void image_entries_load(void) - -{ - image_entry *piVar1; - image_entry *piVar2; - uint uVar3; - uint uVar4; - uint uVar5; - uint uVar6; - - piVar1 = image_entries; - uVar3 = 0; - piVar2 = image_entries; - if ((image_entries[0]._0_4_ & 0xffffff) != 0xffff) { - uVar5 = image_entries[0]._0_4_ & 0xffffff; - uVar4 = image_entries[0]._0_4_; - do { - uVar6 = (uVar3 & 0xffffff ^ uVar4) & 0xffffff ^ uVar4; - uVar4 = *(uint *)(piVar1 + 1); - uVar3 += uVar5; - *(uint *)piVar1 = uVar6; - uVar5 = uVar4 & 0xffffff; - piVar1 = piVar1 + 1; - piVar2 = piVar1; - } while (uVar5 != 0xffff); - } - *(uint *)piVar2 = (uVar3 & 0xffffff ^ *(uint *)piVar2) & 0xffffff ^ *(uint *)piVar2; - return; -} - - - -void alloc_intro_matrices(void) - -{ - DAT_8002a7d0 = 0; - matrix_buffer_rarelogo_0 = mempAllocBytesInBank(0x80,'\x04'); - matrix_buffer_gunbarrel_0 = (Mtx *)mempAllocBytesInBank(0x40,'\x04'); - matrix_buffer_rarelogo_1 = mempAllocBytesInBank(0x80,'\x04'); - matrix_buffer_rarelogo_2 = mempAllocBytesInBank(0x80,'\x04'); - matrix_buffer_gunbarrel_1 = mempAllocBytesInBank(0x80,'\x04'); - matrix_buffer_intro_backdrop = mempAllocBytesInBank(0x80,'\x04'); - matrix_buffer_intro_bond = mempAllocBytesInBank(0x80,'\x04'); - return; -} - - - -void init_menus_or_reset(void) - -{ - uint uVar1; - - current_menu = ~MENU_LEGAL_SCREEN; - maybe_prev_menu = ~MENU_LEGAL_SCREEN; - screen_size = SCREEN_SIZE_320x240; - spectrum_related_flag = TRUE; - is_emulating_spectrum = FALSE; - folder_selection_screen_option_icon = 0; - folder_selected_for_deletion = -1; - folder_selected_for_deletion_choice = 1; - tab_1_highlight = FALSE; - tab_2_highlight = FALSE; - tab_3_highlight = FALSE; - maybe_is_in_menu = TRUE; - if (prev_keypresses != 0) { - menu_update = MENU_FILE_SELECT; - } - if ((int)menu_update < 0) { - menu_update = MENU_FILE_SELECT; - } - ptr_logo_and_walletbond_DL = (Gfx *)mempAllocBytesInBank(0x78000,'\x04'); - uVar1 = mempAllocBytesInBank(0x4b040,'\x04'); - ptr_menu_videobuffer = (undefined *)(uVar1 + 0x3f & 0xffffffc0); - ptr_folder_object_instance = NULL; - set0_never_used = 0; - set0_never_used_0 = 0; - dword_8002A968 = 0; - alloc_intro_matrices(); - return; -} - - - -void initguards(void) - -{ - animation_rate = 1.00000000; - dword_8002C904 = 0; - dword_8002C908 = 0; - dword_8002C90C = 0; - dword_8002C910 = 0; - dword_8002CC58 = 0; - show_patrols_flag = 0; - player1_guardID = 5000; - ptr_guard_data = NULL; - num_guards = 0; - init_obj_register_difficulty_vals(); - return; -} - - - -void alloc_init_GUARDdata_entries(int guard_count) - -{ - int index; - int guardnum; - - num_guards = guard_count + 10; - ptr_guard_data = - (GUARDdata *)mempAllocBytesInBank((num_guards * 0x1dc + 0xfU | 0xf) ^ 0xf,'\x04'); - guardnum = 0; - if (0 < num_guards) { - index = 0; - do { - guardnum += 1; - *(undefined4 *)((int)&ptr_guard_data->MODELdata_pointer + index) = 0; - index += 0x1dc; - } while (guardnum < num_guards); - } - return; -} - - - -void set_new_rand_head_bodies(void) - -{ - c_itementry *pcVar1; - c_itementry *pcVar2; - u32 uVar3; - - if (c_item_entries[0].header != NULL) { - pcVar2 = c_item_entries; - (c_item_entries[0].header)->offset_obj_table = 0; - while( true ) { - pcVar1 = pcVar2 + 1; - pcVar2 = pcVar2 + 1; - if (pcVar1->header == NULL) break; - pcVar1->header->offset_obj_table = 0; - } - } - uVar3 = get_random_value(); - current_random_male_head = uVar3 % num_male_heads; - if (num_male_heads == 0) { - trap(0x1c00); - } - uVar3 = get_random_value(); - current_random_female_head = uVar3 % num_female_heads; - if (num_female_heads == 0) { - trap(0x1c00); - } - uVar3 = get_random_value(); - if (num_bodies == 0) { - trap(0x1c00); - } - current_random_body = uVar3 % num_bodies; - return; -} - - - -void init_obj_register_difficulty_vals(void) - -{ - ai_accuracy_modifier = 1.00000000; - ai_damage_modifier = 1.00000000; - ai_health_modifier = 1.00000000; - ai_reaction_speed = 1.00000000; - setting_007_5 = 0.00000000; - objectiveregisters1 = 0; - return; -} - - - -void alloc_false_GUARDdata_to_exec_global_action(void) - -{ - undefined4 *puVar1; - undefined *puVar2; - undefined *puVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 auStack484 [117]; - undefined4 auStack16 [2]; - int local_8; - - objectiveregisters2 = 0; - objectiveregisters3 = 0; - if (ptr_setup_actions != NULL) { - if (*(int *)ptr_setup_actions != 0) { - iVar4 = *(int *)(ptr_setup_actions + 4); - puVar3 = ptr_setup_actions; - while( true ) { - if (iVar4 < 0x1000) { - iVar4 = *(int *)(puVar3 + 8); - } - else { - objectiveregisters3 += 1; - iVar4 = *(int *)(puVar3 + 8); - } - if (iVar4 == 0) break; - iVar4 = *(int *)(puVar3 + 0xc); - puVar3 = puVar3 + 8; - } - } - if (0 < objectiveregisters3) { - local_8 = 0; - objectiveregisters2 = - mempAllocBytesInBank((objectiveregisters3 * 0x1dc + 0xfU | 0xf) ^ 0xf,'\x04'); - iVar4 = 0; - if (*(int *)ptr_setup_actions != 0) { - iVar5 = *(int *)(ptr_setup_actions + 4); - puVar3 = ptr_setup_actions; - while( true ) { - puVar7 = global_action_block_temp_buffer; - puVar1 = auStack484; - puVar2 = puVar3; - if (0xfff < iVar5) { - do { - puVar6 = puVar1; - puVar8 = puVar7; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar7 = puVar8 + 3; - puVar1 = puVar6 + 3; - } while (puVar8 + 3 != global_action_block_temp_buffer + 0x75); - iVar5 = local_8 * 0x1dc; - puVar6[3] = global_action_block_temp_buffer[117]; - puVar6[4] = puVar8[4]; - puVar7 = auStack484; - puVar1 = (undefined4 *)(objectiveregisters2 + iVar5); - do { - puVar8 = puVar1; - puVar6 = puVar7; - puVar7 = puVar6 + 3; - *puVar8 = *puVar6; - puVar8[1] = puVar6[1]; - puVar8[2] = puVar6[2]; - puVar1 = puVar8 + 3; - } while (puVar7 != auStack16); - local_8 += 1; - puVar8[3] = *puVar7; - puVar8[4] = puVar6[4]; - *(undefined2 *)(objectiveregisters2 + iVar5) = 0xfe; - *(undefined4 *)(objectiveregisters2 + iVar5 + 0x104) = - *(undefined4 *)(ptr_setup_actions + iVar4); - *(undefined2 *)(objectiveregisters2 + iVar5 + 0x108) = 0; - *(undefined2 *)(objectiveregisters2 + iVar5 + 0x10a) = 0xffff; - *(undefined *)(objectiveregisters2 + iVar5 + 7) = 0x1a; - puVar2 = ptr_setup_actions + iVar4; - } - iVar4 += 8; - puVar3 = puVar2 + 8; - if (*(int *)(puVar2 + 8) == 0) break; - iVar5 = *(int *)(puVar2 + 0xc); - } - } - } - } - return; -} - - - -void debug_object_load_all_models(void) - -{ - char cVar1; - int iVar2; - char *modelid; - int iVar3; - - modelid = *(char **)ptr_setup_actions; - iVar3 = 0; - if (modelid == NULL) { - return; - } - do { - cVar1 = *modelid; - while (cVar1 == '\x04') { - modelid = *(char **)(ptr_setup_actions + iVar3 + 8); - iVar3 += 8; - if (modelid == NULL) { - return; - } - cVar1 = *modelid; - } - if (cVar1 == '\x1b') { - load_model((uint)*(ushort *)(modelid + 1)); - } - else { - if (cVar1 == -0x43) { - load_body_head_if_not_loaded((uint)(byte)modelid[1]); - if (-1 < modelid[2]) { - load_body_head_if_not_loaded((int)modelid[2]); - } - } - else { - if (cVar1 == -0x42) { - load_body_head_if_not_loaded((uint)(byte)modelid[1]); - if (-1 < modelid[2]) { - load_body_head_if_not_loaded((int)modelid[2]); - } - } - else { - if (cVar1 == -0x41) { - load_model((uint)*(ushort *)(modelid + 1)); - set_weapon_model_generated_thrown_object((uint)(byte)modelid[3]); - } - else { - if (cVar1 == -0x40) { - load_model((uint)*(ushort *)(modelid + 1)); - } - } - } - } - } - iVar2 = get_length_of_action_block((int)modelid,0); - modelid = modelid + iVar2; - } while( true ); -} - - - -void debug_weapon_load_table(void) - -{ - PROJECTILES *pPVar1; - PROJECTILES modelid; - PROJECTILES *pPVar2; - PROJECTILES PStack32; - PROJECTILES aPStack28 [4]; - PROJECTILES PStack12; - PROJECTILES PStack8; - PROJECTILES PStack4; - - PStack32 = weapon_models_for_weapon_load[0]; - aPStack28[0] = weapon_models_for_weapon_load[1]; - pPVar2 = &PStack32; - aPStack28[2] = weapon_models_for_weapon_load[3]; - aPStack28[1] = weapon_models_for_weapon_load[2]; - aPStack28[3] = weapon_models_for_weapon_load[4]; - PStack12 = weapon_models_for_weapon_load[5]; - PStack4 = weapon_models_for_weapon_load[7]; - PStack8 = weapon_models_for_weapon_load[6]; - modelid = weapon_models_for_weapon_load[0]; - if (-1 < (int)weapon_models_for_weapon_load[0]) { - do { - load_model(modelid); - pPVar1 = pPVar2 + 1; - pPVar2 = pPVar2 + 1; - modelid = *pPVar1; - } while (-1 < (int)*pPVar1); - } - return; -} - - - -void init_sound_effects_registers(void) - -{ - sfx_register_struct *psVar1; - - psVar1 = &sfx_related; - do { - psVar1 = psVar1 + 4; - psVar1[1].field_0x0 = 0; - psVar1[2].field_0x0 = 0; - psVar1[3].field_0x0 = 0; - psVar1->field_0x0 = 0; - psVar1 = psVar1; - } while (psVar1 != (sfx_register_struct *)&ptr_list_object_lookup_indices); - return; -} - - - -void init_load_objpos_table(void) - -{ - undefined *puVar1; - undefined *puVar2; - undefined *puVar3; - undefined *puVar4; - undefined *puVar5; - - difficulty = 1.00000000; - ptr_obj_pos_list_first_entry = NULL; - ptr_obj_pos_list_current_entry = NULL; - DAT_80071df4 = 0; - DAT_80071620 = 0; - DAT_80071df0 = &DAT_80071620; - ptr_obj_pos_list_final_entry = (object_standard *)pos_data_entry; - DAT_80069c5c = &DAT_80069c6c; - DAT_80069c90 = &DAT_80069ca0; - puVar1 = &DAT_80069cd4; - puVar5 = &DAT_80069d70; - puVar4 = &DAT_80069d3c; - puVar3 = &DAT_80069d08; - puVar2 = &DAT_80069da4; - DAT_80069cc4 = &DAT_80069cd4; - do { - *(undefined **)(puVar1 + 0xc0) = puVar2; - puVar2 = puVar2 + 0xd0; - *(undefined **)(puVar1 + 0x58) = puVar4; - *(undefined **)(puVar1 + 0x8c) = puVar5; - *(undefined **)(puVar1 + 0x24) = puVar3; - puVar3 = puVar3 + 0xd0; - puVar5 = puVar5 + 0xd0; - puVar4 = puVar4 + 0xd0; - puVar1 = puVar1 + 0xd0; - } while (puVar2 != &DAT_800716b4); - alloc_lookup_buffers(); - return; -} - - - -void alloc_lookup_buffers(void) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - ptr_list_object_lookup_indices = (undefined2 *)mempAllocBytesInBank(0x400,'\x04'); - ptr_room_lookup_buffer_maybe = - mempAllocBytesInBank((max_num_rooms * 4 + 0xf | 0xf) ^ 0xf,'\x04'); - DAT_8007161c = mempAllocBytesInBank(0x2000,'\x04'); - *ptr_list_object_lookup_indices = 0xffff; - iVar3 = 0; - if (0 < (int)max_num_rooms) { - iVar1 = 0; - do { - iVar3 += 1; - *(undefined2 *)(ptr_room_lookup_buffer_maybe + iVar1) = 0xffff; - iVar1 += 2; - } while (iVar3 < (int)max_num_rooms); - } - iVar3 = 0; - iVar1 = 0; - do { - *(undefined2 *)(DAT_8007161c + iVar1) = 0xfffe; - iVar2 = 8; - *(undefined2 *)(DAT_8007161c + iVar3 * 0x20 + 2) = 0xffff; - *(undefined2 *)(DAT_8007161c + iVar3 * 0x20 + 4) = 0xffff; - *(undefined2 *)(DAT_8007161c + iVar3 * 0x20 + 6) = 0xffff; - do { - *(undefined2 *)(DAT_8007161c + iVar3 * 0x20 + iVar2) = 0xffff; - *(undefined2 *)(DAT_8007161c + iVar3 * 0x20 + iVar2 + 2) = 0xffff; - *(undefined2 *)(DAT_8007161c + iVar3 * 0x20 + iVar2 + 4) = 0xffff; - iVar4 = DAT_8007161c + iVar3 * 0x20 + iVar2; - iVar2 += 8; - *(undefined2 *)(iVar4 + 6) = 0xffff; - } while (iVar2 != 0x20); - iVar3 += 1; - iVar1 += 0x20; - } while (iVar3 != 0x100); - return; -} - - - -void reinit_between_menus(void) - -{ - undefined *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - - write_monitor_ani_control_blocks(); - initialize_temp_mine_table(); - alarm_timer = 0; - ptr_alarm_sfx = NULL; - toxic_gas_sound_timer = 0; - activate_gas_sound_timer = 0; - D_80030AD0 = 0; - flt_80030AD4 = 0; - flt_80030AD8 = 0; - D_80030ADC = 0; - D_80030AE0 = 0; - ptr_gas_sound = NULL; - clock_drawn_flag = 1; - clock_enable = 0; - clock_time = 0.00000000; - D_80030AF4 = 0; - puVar1 = &ProjectileData_start_address; - do { - puVar1 = puVar1 + 0x88; - *(undefined4 *)(puVar1 + 0x10) = 0; - puVar1 = puVar1; - } while (puVar1 < (undefined *)0x80072e70); - dword_80030AF8 = 0; - puVar1 = (undefined *)0x80072e70; - do { - puVar1 = puVar1 + 0x80; - *(undefined4 *)(puVar1 + 0x10) = 0; - puVar1 = puVar1; - } while (puVar1 < &DAT_80073370); - dword_80030AFC = 0; - puVar2 = (undefined4 *)&DAT_80073370; - do { - puVar3 = puVar2 + 0x21; - puVar2[4] = 0; - puVar2 = puVar3; - } while (puVar3 < &DAT_80073dc0); - puVar2 = &DAT_80073dc0; - do { - puVar3 = puVar2 + 0x3b; - *puVar2 = 0x80000000; - puVar2[0x26] = 0; - puVar2[0x27] = 0; - puVar2 = puVar3; - } while (puVar3 < &DAT_80075030); - puVar2 = &DAT_80075030; - do { - puVar3 = puVar2 + 0x48; - puVar2[0x12] = 1; - puVar2[0x24] = 1; - puVar2[0x36] = 1; - *puVar2 = 1; - puVar2 = puVar3; - } while (puVar3 != &objinst); - dword_80030B00 = 0; - dword_80030B04 = 0; - dword_80030B08 = 0; - dword_80030B0C = 0; - bodypartshot = 0xffffffff; - flt_80030B14 = 1.00000000; - flt_80030B18 = 1.00000000; - flt_80030B1C = 1.00000000; - flt_80030B20 = 1.00000000; - flt_80030B24 = 1.00000000; - solo_ammo_multiplier = 1.00000000; - return; -} - - - -void proc_7F001910(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = dword_80030B00; - dword_80030B00 = param_1; - return; -} - - - -void proc_7F001928(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = dword_80030B04; - dword_80030B04 = param_1; - return; -} - - - -void proc_7F001940(int param_1) - -{ - *(undefined4 *)(param_1 + 0x10) = dword_80030B08; - dword_80030B08 = param_1; - return; -} - - - -void write_monitor_ani_control_blocks(void) - -{ - object_animation_controller *poVar1; - void **ppvVar2; - void **ppvVar3; - void **ppvVar4; - void **ppvVar5; - object_animation_controller *poVar6; - void *apvStack348 [27]; - void *apvStack240 [2]; - void *apvStack232 [27]; - void *apvStack124 [2]; - void *apvStack116 [27]; - void *apvStack8 [2]; - - poVar1 = &ptr_monitorimageobjectanimationcontroller; - ppvVar5 = apvStack116; - do { - ppvVar2 = ppvVar5; - poVar6 = poVar1; - *ppvVar2 = poVar6->ptranimation; - ppvVar2[1] = *(void **)&poVar6->offsettocurcmd; - ppvVar2[2] = (void *)poVar6->imagenum; - poVar1 = (object_animation_controller *)&poVar6->rotation; - ppvVar5 = ppvVar2 + 3; - } while ((object_animation_controller *)&poVar6->rotation != - (object_animation_controller *) - &ptr_monitorimageobjectanimationcontroller.startcolorshift); - *(f32 *)(ppvVar2 + 3) = ptr_monitorimageobjectanimationcontroller.startcolorshift; - ppvVar2[4] = (void *)poVar6->curzoomx; - ppvVar5 = apvStack116; - ppvVar2 = (void **)&DAT_80075b98; - do { - ppvVar3 = ppvVar2; - ppvVar4 = ppvVar5; - ppvVar5 = ppvVar4 + 3; - *ppvVar3 = *ppvVar4; - ppvVar3[1] = ppvVar4[1]; - ppvVar3[2] = ppvVar4[2]; - ppvVar2 = ppvVar3 + 3; - } while (ppvVar5 != apvStack8); - ppvVar3[3] = *ppvVar5; - ppvVar3[4] = ppvVar4[4]; - poVar1 = &unknown_object_animation_controller; - ppvVar5 = apvStack232; - do { - ppvVar2 = ppvVar5; - poVar6 = poVar1; - *ppvVar2 = poVar6->ptranimation; - ppvVar2[1] = *(void **)&poVar6->offsettocurcmd; - ppvVar2[2] = (void *)poVar6->imagenum; - poVar1 = (object_animation_controller *)&poVar6->rotation; - ppvVar5 = ppvVar2 + 3; - } while ((object_animation_controller *)&poVar6->rotation != - (object_animation_controller *)&unknown_object_animation_controller.startcolorshift); - *(f32 *)(ppvVar2 + 3) = unknown_object_animation_controller.startcolorshift; - ppvVar2[4] = (void *)poVar6->curzoomx; - ppvVar5 = apvStack232; - ppvVar2 = (void **)&DAT_80075c10; - do { - ppvVar4 = ppvVar2; - ppvVar3 = ppvVar5; - ppvVar5 = ppvVar3 + 3; - *ppvVar4 = *ppvVar3; - ppvVar4[1] = ppvVar3[1]; - ppvVar4[2] = ppvVar3[2]; - ppvVar2 = ppvVar4 + 3; - } while (ppvVar5 != apvStack124); - ppvVar4[3] = *ppvVar5; - ppvVar4[4] = ppvVar3[4]; - poVar1 = &taser_object_animation_controller; - ppvVar5 = apvStack348; - do { - ppvVar2 = ppvVar5; - poVar6 = poVar1; - *ppvVar2 = poVar6->ptranimation; - ppvVar2[1] = *(void **)&poVar6->offsettocurcmd; - ppvVar2[2] = (void *)poVar6->imagenum; - poVar1 = (object_animation_controller *)&poVar6->rotation; - ppvVar5 = ppvVar2 + 3; - } while ((object_animation_controller *)&poVar6->rotation != - (object_animation_controller *)&taser_object_animation_controller.startcolorshift); - *(f32 *)(ppvVar2 + 3) = taser_object_animation_controller.startcolorshift; - ppvVar2[4] = (void *)poVar6->curzoomx; - ppvVar5 = apvStack348; - ppvVar2 = (void **)&DAT_80075c88; - do { - ppvVar4 = ppvVar2; - ppvVar3 = ppvVar5; - ppvVar5 = ppvVar3 + 3; - *ppvVar4 = *ppvVar3; - ppvVar4[1] = ppvVar3[1]; - ppvVar4[2] = ppvVar3[2]; - ppvVar2 = ppvVar4 + 3; - } while (ppvVar5 != apvStack240); - ppvVar4[3] = *ppvVar5; - ppvVar4[4] = ppvVar3[4]; - return; -} - - - -void initialize_temp_mine_table(void) - -{ - float *pfVar1; - - temp_mine_table[0] = 0; - temp_mine_table[1] = 0; - pfVar1 = (float *)(temp_mine_table + 2); - do { - pfVar1 = pfVar1 + 4; - pfVar1[1] = 0.00000000; - pfVar1[2] = 0.00000000; - pfVar1[3] = 0.00000000; - *pfVar1 = 0.00000000; - pfVar1 = pfVar1; - } while (pfVar1 != &gas_damage_flag); - return; -} - - - -int load_proptype(PROPTYPE param_1) - -{ - PROPTYPE PVar1; - u32 uVar2; - object_standard *object; - int iVar3; - - iVar3 = 0; - if (ptr_setup_objects != NULL) { - PVar1 = ptr_setup_objects->type; - object = ptr_setup_objects; - while (PVar1 != 0x30) { - if (param_1 == PVar1) { - iVar3 += 1; - } - uVar2 = get_size_of_setup_object_type((u8 *)object); - object = (object_standard *)(&object->extrascale + uVar2 * 2); - PVar1 = object->type; - } - } - return iVar3; -} - - - -void proc_7F001BD4(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - - fVar2 = param_1[0xb]; - fVar5 = param_1[0xc]; - fVar10 = param_1[0xd]; - fVar9 = param_1[0xe]; - fVar3 = param_1[0xf]; - fVar6 = param_1[0x10]; - fVar7 = param_1[4] * param_1[8] - param_1[7] * param_1[5]; - fVar4 = param_1[5] * param_1[6] - param_1[8] * param_1[3]; - fVar8 = param_1[3] * param_1[7] - param_1[6] * param_1[4]; - fVar1 = sqrtf(fVar8 * fVar8 + fVar7 * fVar7 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - fVar3 = fVar3 + fVar6; - fVar2 = fVar2 + fVar5; - fVar10 = fVar10 + fVar9; - *param_2 = (param_1[6] * fVar3 + fVar2 * fVar7 * fVar1 + fVar10 * param_1[3]) * 0.50000000 + - *param_1; - param_2[1] = (param_1[7] * fVar3 + fVar2 * fVar4 * fVar1 + fVar10 * param_1[4]) * 0.50000000 + - param_1[1]; - param_2[2] = (param_1[8] * fVar3 + fVar2 * fVar8 * fVar1 + fVar10 * param_1[5]) * 0.50000000 + - param_1[2]; - return; -} - - - -void prepare_load_objects(undefined8 param_1,ushort *param_2) - -{ - ushort uVar1; - uint uVar2; - bool bVar3; - s32 sVar5; - int instancecontroller; - GUARDdata *pGVar6; - float *pfVar7; - longlong lVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined *puVar8; - float *pfVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - f32 extraout_f12_02; - f32 extraout_f12_03; - f32 extraout_f12_04; - f32 extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float extraout_f12_09; - f32 extraout_f12_10; - f32 extraout_f12_11; - f32 extraout_f12_12; - f32 scale; - f32 extraout_f12_13; - f32 scale_00; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fStack160; - object_standard *poStack152; - float fStack120; - float fStack116; - float fStack112; - float afStack108 [16]; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - undefined4 auStack24 [4]; - int iStack8; - - pfVar9 = NULL; - iStack8 = (int)(short)param_2[2]; - load_model(iStack8); - *(float *)(param_2 + 0x3a) = (float)*(int *)(param_2 + 0x3a) / 65536.00000000; - sVar5 = get_num_players(); - lVar4 = (longlong)sVar5; - fVar10 = extraout_f12; - fVar12 = extraout_f14; - if (lVar4 < 2) { -LAB_7f001e90: - uVar2 = *(uint *)(param_2 + 4); - } - else { - instancecontroller = get_scenario(); - lVar4 = (longlong)instancecontroller; - if ((lVar4 == 2) && (param_2[2] == 0x14d)) { - bVar3 = false; - fVar10 = extraout_f12_00; - fVar12 = extraout_f14_00; - } - else { - instancecontroller = get_scenario(); - lVar4 = (longlong)instancecontroller; - bVar3 = true; - fVar10 = extraout_f12_01; - fVar12 = extraout_f14_01; - if ((lVar4 == 3) && (param_2[2] == 0xd0)) { - bVar3 = false; - } - } - if (bVar3) { - *(byte *)(param_2 + 1) = *(byte *)(param_2 + 1) | 4; - goto LAB_7f001e90; - } - uVar2 = *(uint *)(param_2 + 4); - } - if ((uVar2 & 0x8000) != 0) { - if (*(char *)((int)param_2 + 3) == '\b') { - proc_7F051DD8((int)param_2,(ushort **)PitemZ_entries[iStack8].header); - instancecontroller = *(int *)(param_2 + 10); - scale_00 = extraout_f12_02; - } - else { - init_object_no_default_pos_controller - ((object_standard *)param_2,(object_header *)PitemZ_entries[iStack8].header); - instancecontroller = *(int *)(param_2 + 10); - scale_00 = extraout_f12_03; - } - set_obj_instance_controller_scale(instancecontroller,scale_00); - return; - } - if ((uVar2 & 0x4000) != 0) { - pGVar6 = check_if_guardnum_loaded_get_ptr_GUARDdata(param_2[3]); - if (pGVar6 == NULL) { - return; - } - if (pGVar6->POSdata_pointer == 0) { - return; - } - if (pGVar6->MODELdata_pointer == 0) { - return; - } - if (*(char *)((int)param_2 + 3) == '\b') { - puVar8 = proc_7F051DD8((int)param_2,(ushort **)PitemZ_entries[iStack8].header); - scale_00 = extraout_f12_04; - } - else { - puVar8 = init_object_no_default_pos_controller - ((object_standard *)param_2, - (object_header *)PitemZ_entries[iStack8].header); - scale_00 = extraout_f12_05; - } - set_obj_instance_controller_scale(*(int *)(param_2 + 10),scale_00); - proc_7F03A5A4((int)puVar8,pGVar6->POSdata_pointer); - return; - } - uVar1 = param_2[3]; - if ((short)uVar1 < 10000) { - pfVar7 = (float *)(ptr_0xxxpresets + (int)(short)uVar1 * 0x2c); - proc_7F059908(afStack108,fVar10,fVar12,0.00000000,0.00000000,0.00000000,-pfVar7[6], - -pfVar7[7],-pfVar7[8],pfVar7[3]); - fStack40 = *pfVar7; - fStack36 = pfVar7[1]; - fStack32 = pfVar7[2]; - if ((*(uint *)(param_2 + 4) & 2) == 0) { - fStack120 = *pfVar7; - fStack116 = pfVar7[1]; - fStack112 = pfVar7[2]; - } - else { - fStack120 = *pfVar7; - fStack116 = pfVar7[1]; - fStack112 = pfVar7[2]; - } - fStack44 = pfVar7[10]; - fVar10 = extraout_f12_06; - } - else { - puVar8 = ptr_2xxxpresets + (int)(short)uVar1 * 0x44; - pfVar9 = (float *)(puVar8 + -680000); - proc_7F059908(afStack108,fVar10,fVar12,0.00000000,0.00000000,0.00000000, - -*(float *)(puVar8 + -0xa6028),-*(float *)(puVar8 + -0xa6024), - -*(float *)(puVar8 + -0xa6020),*(float *)(puVar8 + -0xa6034)); - if ((*(uint *)(param_2 + 6) & 1) == 0) { - proc_7F001BD4(pfVar9,&fStack40); - fStack120 = *(float *)(puVar8 + -0xa6034) * - (*(float *)(puVar8 + -0xa600c) - *(float *)(puVar8 + -0xa6008)) * 0.50000000 - + fStack40; - fStack116 = *(float *)(puVar8 + -0xa6030) * - (*(float *)(puVar8 + -0xa600c) - *(float *)(puVar8 + -0xa6008)) * 0.50000000 - + fStack36; - fStack112 = *(float *)(puVar8 + -0xa602c) * - (*(float *)(puVar8 + -0xa600c) - *(float *)(puVar8 + -0xa6008)) * 0.50000000 - + fStack32; - fStack44 = *(float *)(puVar8 + -0xa6018); - proc_7F0B0BE4((int *)&fStack44,extraout_f12_07,extraout_f14_02,*pfVar9, - *(float *)(puVar8 + -0xa6038)); - fVar10 = extraout_f12_08; - if (lVar4 == 0) { - fStack40 = *pfVar9; - fStack36 = *(float *)(puVar8 + -0xa603c); - fStack32 = *(float *)(puVar8 + -0xa6038); - fStack44 = *(float *)(puVar8 + -0xa6018); - } - } - else { - fStack40 = *pfVar9; - fStack36 = *(float *)(puVar8 + -0xa603c); - fStack32 = *(float *)(puVar8 + -0xa6038); - fStack44 = *(float *)(puVar8 + -0xa6018); - proc_7F001BD4(pfVar9,&fStack120); - fStack120 = fStack120 + - (*(float *)(puVar8 + -0xa600c) - *(float *)(puVar8 + -0xa6008)) * 0.50000000 - * *(float *)(puVar8 + -0xa6034); - fStack116 = fStack116 + - (*(float *)(puVar8 + -0xa600c) - *(float *)(puVar8 + -0xa6008)) * 0.50000000 - * *(float *)(puVar8 + -0xa6030); - fStack112 = fStack112 + - (*(float *)(puVar8 + -0xa600c) - *(float *)(puVar8 + -0xa6008)) * 0.50000000 - * *(float *)(puVar8 + -0xa602c); - fVar10 = extraout_f12_09; - } - } - lVar4 = proc_7F056850(&fStack40,(longlong)(int)fStack44,fVar10,NULL,auStack24); - if (lVar4 == 0) { - return; - } - if (*(char *)((int)param_2 + 3) == '\b') { - poStack152 = (object_standard *) - proc_7F051DD8((int)param_2,(ushort **)PitemZ_entries[iStack8].header); - scale_00 = extraout_f12_10; - } - else { - poStack152 = (object_standard *)proc_7F04071C((int)param_2); - scale_00 = extraout_f12_11; - } - if (pfVar9 == NULL) { - instancecontroller = *(int *)(param_2 + 10); - goto LAB_7f002698; - } - instancecontroller = proc_7F040078((int)param_2); - scale_00 = extraout_f12_12; - if (instancecontroller != 0) { - fStack160 = 1.00000000; - uVar2 = *(uint *)(param_2 + 4); - if ((uVar2 & 0x30) != 0) { - fVar12 = *(float *)(instancecontroller + 4); - fVar10 = *(float *)(instancecontroller + 8); - if (fVar12 < fVar10) { - if ((uVar2 & 2) == 0) { - fStack160 = (pfVar9[0xc] - pfVar9[0xb]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - else { - fStack160 = (pfVar9[0xc] - pfVar9[0xb]) / - ((fVar10 - fVar12) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - } - } - fVar10 = 1.00000000; - fVar12 = 1.00000000; - if ((uVar2 & 0x50) != 0) { - fVar13 = *(float *)(instancecontroller + 0xc); - fVar11 = *(float *)(instancecontroller + 0x10); - fVar10 = 1.00000000; - fVar12 = 1.00000000; - if (fVar13 < fVar11) { - if ((uVar2 & 2) == 0) { - fVar10 = (pfVar9[0xe] - pfVar9[0xd]) / - ((fVar11 - fVar13) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - else { - fVar12 = (pfVar9[0x10] - pfVar9[0xf]) / - ((fVar11 - fVar13) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - } - } - if ((uVar2 & 0x90) != 0) { - fVar13 = *(float *)(instancecontroller + 0x14); - fVar11 = *(float *)(instancecontroller + 0x18); - if (fVar13 < fVar11) { - if ((uVar2 & 2) == 0) { - fVar12 = (pfVar9[0x10] - pfVar9[0xf]) / - ((fVar11 - fVar13) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - else { - fVar10 = (pfVar9[0xe] - pfVar9[0xd]) / - ((fVar11 - fVar13) * *(float *)(*(int *)(param_2 + 10) + 0x14)); - } - } - } - fVar11 = fVar10; - if (fStack160 <= fVar10) { - fVar11 = fStack160; - } - fVar13 = fVar12; - if (fVar11 <= fVar12) { - fVar13 = fVar11; - } - fVar11 = fVar10; - if (fVar10 <= fStack160) { - fVar11 = fStack160; - } - fVar14 = fVar12; - if (fVar12 <= fVar11) { - fVar14 = fVar11; - } - fVar11 = fVar13; - fVar16 = fVar13; - if ((uVar2 & 0x10) == 0) { - fVar13 = fStack160; - if ((uVar2 & 0x20) == 0) { - fVar13 = fVar14; - if ((uVar2 & 2) == 0) { - if (*(float *)(instancecontroller + 4) != *(float *)(instancecontroller + 8)) { - fVar13 = fStack160; - } - } - else { - if (*(float *)(instancecontroller + 4) != *(float *)(instancecontroller + 8)) { - fVar13 = fStack160; - } - } - } - fVar15 = fVar10; - fVar17 = fVar12; - if ((uVar2 & 0x40) == 0) { - if ((uVar2 & 2) == 0) { - fVar15 = fVar14; - if (*(float *)(instancecontroller + 0xc) != - *(float *)(instancecontroller + 0x10)) { - fVar15 = fVar10; - } - } - else { - fVar17 = fVar14; - if (*(float *)(instancecontroller + 0xc) != - *(float *)(instancecontroller + 0x10)) { - fVar17 = fVar12; - } - } - } - fVar11 = fVar15; - fVar16 = fVar17; - if ((uVar2 & 0x80) != 0) goto LAB_7f0025fc; - if ((uVar2 & 2) == 0) { - fVar16 = fVar14; - if (*(float *)(instancecontroller + 0x14) == *(float *)(instancecontroller + 0x18)) - goto LAB_7f0025fc; - fVar13 = fVar13 / fVar14; - } - else { - fVar11 = fVar14; - if (*(float *)(instancecontroller + 0x14) == *(float *)(instancecontroller + 0x18)) - goto LAB_7f0025fc; - fVar13 = fVar13 / fVar14; - } - } - else { -LAB_7f0025fc: - fVar13 = fVar13 / fVar14; - fVar15 = fVar11; - fVar17 = fVar16; - } - fVar15 = fVar15 / fVar14; - fVar17 = fVar17 / fVar14; - if (((fVar13 <= flt_8004EEB4) || (fVar15 <= flt_8004EEB4)) || (fVar17 <= flt_8004EEB4)) { - fVar13 = 1.00000000; - fVar15 = 1.00000000; - fVar17 = fVar13; - } - proc_7F0589B4(fVar13,extraout_a0,afStack108); - proc_7F0589E4(fVar15,extraout_a0_00,(int)afStack108); - proc_7F058A4C(fVar17,extraout_a0_01,(int)afStack108); - set_obj_instance_controller_scale(*(int *)(param_2 + 10),scale); - scale_00 = extraout_f12_13; - } - instancecontroller = *(int *)(param_2 + 10); -LAB_7f002698: - set_obj_instance_controller_scale(instancecontroller,scale_00); - matrix_multiply_A1_by_F12(*(float *)(*(int *)(param_2 + 10) + 0x14),extraout_a0_02,afStack108); - if ((*(uint *)(param_2 + 4) & 2) == 0) { - proc_7F04088C(); - } - else { - proc_7F040BA0(); - } - proc_7F056CA0((int)param_2); - set_current_objposdata_plus_0x28(poStack152); - set_stateflag_0x04_for_posdata((int)poStack152); - return; -} - - - -// WARNING: Switch with 1 destination removed at 0x7f002854 : 8 cases all go to same destination - -void expand_08_obj_set_guard_MP_weapons(int param_1,ushort *param_2) - -{ - char cVar1; - byte bVar2; - float fVar3; - GUARDdata *pGVar4; - uint uVar5; - s32 sVar6; - int iVar7; - int iVar8; - undefined4 *puVar9; - float fVar10; - ushort uVar11; - - if ((*(uint *)(param_2 + 4) & 0x4000) != 0) { - pGVar4 = check_if_guardnum_loaded_get_ptr_GUARDdata(param_2[3]); - if (pGVar4 == NULL) { - return; - } - if (pGVar4->POSdata_pointer == 0) { - return; - } - if (pGVar4->MODELdata_pointer == 0) { - return; - } - uVar5 = cheatCheckIfOn(UNUSED_1C); - if ((uVar5 != 0) && (true)) { - switch(*(undefined *)(param_2 + 0x40)) { - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - case 0x1d: - case 0x1e: - case 0x1f: - *(undefined *)(param_2 + 0x40) = 0x19; - param_2[2] = 0xd3; - *param_2 = 0x100; - } - } - set_weapon_model_generated_thrown_object((int)*(char *)(param_2 + 0x40)); - proc_7F052030(param_2,(int)pGVar4); - return; - } - sVar6 = get_num_players(); - iVar7 = 1; - if (1 < sVar6) { - lastmpweaponnum = -1; - bVar2 = *(byte *)(param_2 + 0x40); - if (bVar2 < 0x59) { - if (bVar2 != 0x58) { - cVar1 = *(char *)(param_2 + 0x40); - goto LAB_7f002970; - } - iVar8 = get_scenario(); - iVar7 = 1; - if (iVar8 != 2) { - iVar7 = 0; - } - } - else { - if ((uint)bVar2 - 0xf0 < 8) { - iVar7 = get_ptr_mp_weapon_set_data(); - lastmpweaponnum = (uint)*(byte *)(param_2 + 0x40) - 0xf0; - puVar9 = (undefined4 *)(iVar7 + lastmpweaponnum * 0x18); - *(char *)(param_2 + 0x40) = (char)*puVar9; - param_2[2] = (ushort)puVar9[1]; - fVar10 = (float)puVar9[2] * 256.00000000; - if (false) { - fVar3 = ROUND(fVar10); - } - else { - fVar3 = FLOOR(fVar10); - } - uVar11 = (ushort)(int)fVar3; - if (false) { - if (false) { - fVar10 = ROUND(fVar10 - 2147483648.00000000); - } - else { - fVar10 = FLOOR(fVar10 - 2147483648.00000000); - } - if (false) goto LAB_7f002924; - uVar11 = (ushort)(int)fVar10; - } - else { - if ((int)fVar3 < 0) { -LAB_7f002924: - uVar11 = 0xffff; - } - } - *param_2 = uVar11; - iVar7 = puVar9[5]; - } - } - } - cVar1 = *(char *)(param_2 + 0x40); -LAB_7f002970: - if ((cVar1 != '\0') && (iVar7 != 0)) { - set_weapon_model_generated_thrown_object((int)cVar1); - prepare_load_objects((longlong)param_1,param_2); - } - return; -} - - - -void expand_type_0D_MP_weapon_expansion_routine(undefined8 param_1,ushort *param_2) - -{ - GUARDdata *pGVar1; - - if ((*(uint *)(param_2 + 4) & 0x4000) == 0) { - prepare_load_objects(param_1,param_2); - } - else { - pGVar1 = check_if_guardnum_loaded_get_ptr_GUARDdata(param_2[3]); - if (((pGVar1 != NULL) && (pGVar1->POSdata_pointer != 0)) && (pGVar1->MODELdata_pointer != 0) - ) { - proc_7F051084(param_2,(int)pGVar1); - } - } - return; -} - - - -void expand_type_04_object(undefined8 param_1,ushort *param_2) - -{ - prepare_load_objects(param_1,param_2); - return; -} - - - -void expand_type_06_object(undefined8 param_1,ushort *param_2) - -{ - int iVar1; - float *pfVar2; - undefined8 extraout_a0; - float fVar3; - undefined4 uVar4; - float fVar5; - float extraout_f12; - float extraout_f14; - float fStack20; - float fStack16; - float fStack12; - float *pfStack8; - - prepare_load_objects(param_1,param_2); - iVar1 = *(int *)(param_2 + 0x40); - if (-1 < iVar1) { - pfVar2 = *(float **)(**(int **)(*(int *)(*(int *)(param_2 + 10) + 8) + 8) + 4); - if (iVar1 < 10000) { - pfStack8 = (float *)(ptr_0xxxpresets + iVar1 * 0x2c); - } - else { - pfStack8 = (float *)(ptr_2xxxpresets + iVar1 * 0x44 + -680000); - } - fStack20 = *pfVar2; - fStack16 = pfVar2[1]; - fStack12 = pfVar2[2]; - proc_7F0583D8((float *)(param_2 + 0xc),&fStack20); - fStack20 = fStack20 + *(float *)(*(int *)(param_2 + 8) + 8); - fStack16 = fStack16 + *(float *)(*(int *)(param_2 + 8) + 0xc); - fStack12 = fStack12 + *(float *)(*(int *)(param_2 + 8) + 0x10); - proc_7F059908((float *)(param_2 + 0x42),extraout_f12,extraout_f14,0.00000000,0.00000000, - 0.00000000,fStack20 - *pfStack8,fStack16 - pfStack8[1],fStack12 - pfStack8[2], - 0.00000000); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(param_2 + 10) + 0x14),extraout_a0,(float *)(param_2 + 0x42)); - fVar3 = flt_8004EF50; - if (*(int *)(param_2 + 0x72) == 0) { - fVar5 = (float)*(int *)(param_2 + 0x66) * flt_8004EF50; - *(undefined4 *)(param_2 + 0x72) = 1; - *(float *)(param_2 + 0x66) = fVar5 / 65536.00000000; - *(float *)(param_2 + 0x68) = ((float)*(int *)(param_2 + 0x68) * fVar3) / 65536.00000000; - *(float *)(param_2 + 0x74) = (float)*(int *)(param_2 + 0x74); - *(float *)(param_2 + 0x6e) = ((float)*(int *)(param_2 + 0x6e) * fVar3) / 65536.00000000; - uVar4 = *(undefined4 *)(param_2 + 0x66); - } - else { - uVar4 = *(undefined4 *)(param_2 + 0x66); - } - *(undefined4 *)(param_2 + 0x6a) = 0; - *(undefined4 *)(param_2 + 0x6c) = 0; - *(undefined4 *)(param_2 + 100) = uVar4; - fVar3 = convert_angle_using_inverse - ((f32)(fStack20 - *pfStack8),(f32)(fStack12 - pfStack8[2])); - *(float *)(param_2 + 0x62) = fVar3; - *(undefined4 *)(param_2 + 0x70) = 0; - } - return; -} - - - -void expand_type_0D_object_autoturret(undefined8 param_1,ushort *param_2) - -{ - int iVar1; - undefined *puVar2; - float *pfVar3; - float vector2; - float fVar4; - float fVar5; - float vector1; - float vector2_00; - - prepare_load_objects(param_1,param_2); - vector2 = flt_8004EF54; - fVar4 = (float)*(int *)(param_2 + 0x52) * flt_8004EF54; - *(undefined4 *)(param_2 + 0x56) = 0; - *(undefined4 *)(param_2 + 0x5c) = 0xffffffff; - *(undefined4 *)(param_2 + 0x5e) = 0xffffffff; - *(undefined4 *)(param_2 + 0x60) = 0xffffffff; - *(undefined4 *)(param_2 + 0x62) = 0; - *(undefined4 *)(param_2 + 100) = 0; - *(undefined4 *)(param_2 + 0x48) = 0; - *(undefined4 *)(param_2 + 0x4a) = 0; - *(undefined4 *)(param_2 + 0x42) = 0; - *(undefined4 *)(param_2 + 0x4e) = 0; - *(undefined4 *)(param_2 + 0x50) = 0; - *(undefined4 *)(param_2 + 0x4c) = 0; - *(undefined4 *)(param_2 + 0x58) = 0; - *(undefined4 *)(param_2 + 0x5a) = 0; - *(float *)(param_2 + 0x52) = fVar4 / 65536.00000000; - *(float *)(param_2 + 0x54) = ((float)*(int *)(param_2 + 0x54) * 100.00000000) / 65536.00000000; - *(float *)(param_2 + 0x44) = ((float)*(int *)(param_2 + 0x44) * vector2) / 65536.00000000; - *(float *)(param_2 + 0x46) = ((float)*(int *)(param_2 + 0x46) * vector2) / 65536.00000000; - puVar2 = (undefined *)mempAllocBytesInBank(0x30,'\x04'); - *(undefined **)(param_2 + 0x66) = puVar2; - *puVar2 = 0xff; - iVar1 = *(int *)(param_2 + 0x40); - *(undefined4 *)(param_2 + 0x68) = 0; - *(undefined4 *)(param_2 + 0x6a) = 0; - if (-1 < iVar1) { - if (iVar1 < 10000) { - pfVar3 = (float *)(ptr_0xxxpresets + iVar1 * 0x2c); - } - else { - pfVar3 = (float *)(ptr_2xxxpresets + iVar1 * 0x44 + -680000); - } - iVar1 = *(int *)(param_2 + 8); - fVar4 = pfVar3[1]; - fVar5 = *(float *)(iVar1 + 0xc); - vector1 = *pfVar3 - *(float *)(iVar1 + 8); - vector2_00 = pfVar3[2] - *(float *)(iVar1 + 0x10); - vector2 = convert_angle_using_inverse((f32)vector1,(f32)vector2_00); - *(float *)(param_2 + 0x42) = vector2; - vector2 = sqrtf(vector1 * vector1 + vector2_00 * vector2_00); - vector2 = convert_angle_using_inverse((f32)(fVar4 - fVar5),(f32)vector2); - *(float *)(param_2 + 0x4c) = vector2; - } - return; -} - - - -void expand_type_0C_object(undefined8 param_1,ushort *param_2) - -{ - prepare_load_objects(param_1,param_2); - return; -} - - - -void expand_type_0A_object(int param_1,ushort *param_2,int param_3) - -{ - ushort uVar1; - undefined4 *puVar2; - undefined4 *puVar3; - int iVar4; - s32 sVar5; - undefined *puVar6; - int iVar7; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined4 *puVar8; - undefined4 *puVar9; - f32 scale; - - puVar2 = &DAT_80075b98; - puVar3 = (undefined4 *)(param_2 + 0x40); - do { - puVar8 = puVar3; - puVar9 = puVar2; - *puVar8 = *puVar9; - puVar8[1] = puVar9[1]; - puVar8[2] = puVar9[2]; - puVar2 = puVar9 + 3; - puVar3 = puVar8 + 3; - } while (puVar9 + 3 != (undefined4 *)0x80075c04); - puVar8[3] = uRam80075c04; - puVar8[4] = puVar9[4]; - set_ptr_monitor_img_to_obj_ani_slot - ((undefined4 *)(param_2 + 0x40),*(undefined4 *)(param_2 + 0x7e)); - if (((short)param_2[3] < 0) && ((*(uint *)(param_2 + 4) & 0x8000) == 0)) { - uVar1 = param_2[2]; - iVar4 = proc_7F056A88(*(int *)(param_2 + 0x7a) + param_3); - load_model((int)(short)uVar1); - *(float *)(param_2 + 0x3a) = (float)*(int *)(param_2 + 0x3a) / 65536.00000000; - sVar5 = get_num_players(); - if (1 < sVar5) { - *(byte *)(param_2 + 1) = *(byte *)(param_2 + 1) | 4; - } - puVar6 = proc_7F04071C((int)param_2); - iVar7 = proc_7F03FE98(); - *(int *)(param_2 + 0x36) = iVar7; - if (puVar6 == NULL) { - iVar4 = *(int *)(param_2 + 4); - } - else { - if (iVar7 == 0) { - iVar4 = *(int *)(param_2 + 4); - } - else { - *(uint *)(param_2 + 0x32) = *(uint *)(param_2 + 0x32) | 0x40; - set_obj_instance_controller_scale(*(int *)(param_2 + 10),scale); - *(undefined4 *)(*(int *)(param_2 + 10) + 0x18) = *(undefined4 *)(iVar4 + 0x14); - iVar7 = *(int *)(param_2 + 0x7c); - if (iVar7 == 0) { - *(undefined4 *)(*(int *)(param_2 + 10) + 0x1c) = - **(undefined4 **)(*(int *)(*(int *)(iVar4 + 0x14) + 8) + 8); - } - else { - if (iVar7 == 1) { - *(undefined4 *)(*(int *)(param_2 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(iVar4 + 0x14) + 8) + 8) + 4) - ; - } - else { - if (iVar7 == 2) { - *(undefined4 *)(*(int *)(param_2 + 10) + 0x1c) = - *(undefined4 *) - (*(int *)(*(int *)(*(int *)(iVar4 + 0x14) + 8) + 8) + 8); - } - else { - *(undefined4 *)(*(int *)(param_2 + 10) + 0x1c) = - *(undefined4 *) - (*(int *)(*(int *)(*(int *)(iVar4 + 0x14) + 8) + 8) + 0xc); - } - } - } - proc_7F03A5A4((int)puVar6,*(int *)(iVar4 + 0x10)); - proc_7F058570(flt_8004EF58,extraout_a0,(undefined4 *)(*(int *)(param_2 + 0x36) + 4)) - ; - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(param_2 + 10) + 0x14) / - *(float *)(*(int *)(iVar4 + 0x14) + 0x14),extraout_a0_00, - (float *)(*(int *)(param_2 + 0x36) + 4)); - iVar4 = *(int *)(param_2 + 4); - } - } - } - else { - prepare_load_objects((longlong)param_1,param_2); - iVar4 = *(int *)(param_2 + 4); - } - if ((iVar4 << 1 < 0) && (iVar4 = *(int *)(param_2 + 8), iVar4 != 0)) { - *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 1; - } - return; -} - - - -void expand_type_0B_object(int param_1,ushort *param_2) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - - puVar1 = &DAT_80075b98; - puVar2 = (undefined4 *)(param_2 + 0x40); - do { - puVar3 = puVar2; - puVar4 = puVar1; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar1 = puVar4 + 3; - puVar2 = puVar3 + 3; - } while (puVar4 + 3 != (undefined4 *)0x80075c04); - puVar3[3] = uRam80075c04; - puVar3[4] = puVar4[4]; - set_ptr_monitor_img_to_obj_ani_slot - ((undefined4 *)(param_2 + 0x40),(uint)*(byte *)(param_2 + 0x128)); - puVar1 = &DAT_80075b98; - puVar2 = (undefined4 *)(param_2 + 0x7a); - do { - puVar4 = puVar2; - puVar3 = puVar1; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar1 = puVar3 + 3; - puVar2 = puVar4 + 3; - } while (puVar3 + 3 != (undefined4 *)0x80075c04); - puVar4[3] = uRam80075c04; - puVar4[4] = puVar3[4]; - set_ptr_monitor_img_to_obj_ani_slot - ((undefined4 *)(param_2 + 0x7a),(uint)*(byte *)((int)param_2 + 0x251)); - puVar1 = &DAT_80075b98; - puVar2 = (undefined4 *)(param_2 + 0xb4); - do { - puVar3 = puVar2; - puVar4 = puVar1; - *puVar3 = *puVar4; - puVar3[1] = puVar4[1]; - puVar3[2] = puVar4[2]; - puVar1 = puVar4 + 3; - puVar2 = puVar3 + 3; - } while (puVar4 + 3 != (undefined4 *)0x80075c04); - puVar3[3] = uRam80075c04; - puVar3[4] = puVar4[4]; - set_ptr_monitor_img_to_obj_ani_slot - ((undefined4 *)(param_2 + 0xb4),(uint)*(byte *)(param_2 + 0x129)); - puVar1 = &DAT_80075b98; - puVar2 = (undefined4 *)(param_2 + 0xee); - do { - puVar4 = puVar2; - puVar3 = puVar1; - *puVar4 = *puVar3; - puVar4[1] = puVar3[1]; - puVar4[2] = puVar3[2]; - puVar1 = puVar3 + 3; - puVar2 = puVar4 + 3; - } while (puVar3 + 3 != (undefined4 *)0x80075c04); - puVar4[3] = uRam80075c04; - puVar4[4] = puVar3[4]; - set_ptr_monitor_img_to_obj_ani_slot - ((undefined4 *)(param_2 + 0xee),(uint)*(byte *)((int)param_2 + 0x253)); - prepare_load_objects((longlong)param_1,param_2); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F00324C(void) - -{ - byte bVar1; - longlong in_v0; - float *in_a0_lo; - uint *in_a1_lo; - uint *in_a2_lo; - float *in_a3_lo; - float extraout_f12; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float fVar2; - float *in_stack_00000010; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - proc_7F001BD4(in_a0_lo,&fStack32); - fStack36 = in_a0_lo[10]; - proc_7F0B0BE4((int *)&fStack36,extraout_f12,extraout_f14,*in_a0_lo,in_a0_lo[2]); - if (in_v0 == 0) { - fStack36 = in_a0_lo[10]; - fStack32 = *in_a0_lo; - fStack28 = in_a0_lo[1]; - fStack24 = in_a0_lo[2]; - fVar2 = in_a0_lo[4]; - } - else { - fVar2 = in_a0_lo[4]; - } - fStack16 = fVar2 * in_a0_lo[8] - in_a0_lo[7] * in_a0_lo[5]; - fStack12 = in_a0_lo[5] * in_a0_lo[6] - in_a0_lo[8] * in_a0_lo[3]; - fStack8 = in_a0_lo[3] * in_a0_lo[7] - in_a0_lo[6] * in_a0_lo[4]; - fVar2 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16 + fStack12 * fStack12); - fVar2 = 1.00000000 / fVar2; - fStack4 = fStack36; - fStack16 = fStack16 * fVar2; - fStack12 = fStack12 * fVar2; - fStack8 = fStack8 * fVar2; - *in_a3_lo = fStack16 * 50.00000000 + fStack32; - in_a3_lo[1] = fStack28; - in_a3_lo[2] = fStack8 * 50.00000000 + fStack24; - proc_7F0B0BE4((int *)&fStack4,50.00000000,extraout_f14_00,fStack32,fStack24); - *in_a1_lo = (uint)*(byte *)((int)fStack4 + 3); - fStack4 = fStack36; - *in_stack_00000010 = fStack32 - fStack16 * 50.00000000; - in_stack_00000010[1] = fStack28; - in_stack_00000010[2] = fStack24 - fStack8 * 50.00000000; - proc_7F0B0BE4((int *)&fStack4,50.00000000,extraout_f14_01,fStack32,fStack24); - bVar1 = *(byte *)((int)fStack4 + 3); - *in_a2_lo = (uint)bVar1; - if ((ulonglong)bVar1 == (longlong)(int)*in_a1_lo) { - *in_a2_lo = 0xffffffff; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0034f0) overlaps instruction at (ram,0x7f0034ec) -// -// WARNING: Could not reconcile some variable overlaps -// WARNING: Unknown calling convention yet parameter storage is locked - -void expand_type_01_object(void) - -{ - char cVar1; - u32 uVar3; - longlong lVar2; - short sVar5; - object_standard *poVar4; - int instancecontroller; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - int *in_a1_lo; - int in_a2_lo; - float *pfVar6; - f32 fVar7; - float fVar8; - float fVar9; - float scale; - float fVar10; - float extraout_f12; - float extraout_f12_00; - float fVar11; - float extraout_f12_01; - float extraout_f14; - float extraout_f14_00; - float fVar12; - float fStack348; - float fStack344; - float fStack340; - float afStack336 [16]; - float fStack272; - undefined4 uStack268; - float fStack264; - float afStack260 [16]; - int *piStack196; - float fStack192; - undefined4 uStack188; - float fStack184; - PitemZ_header *pPStack180; - float afStack172 [16]; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float afStack68 [3]; - float afStack56 [3]; - undefined4 uStack44; - undefined4 uStack40; - int iStack36; - float fStack32; - undefined4 uStack28; - float fStack24; - int *piStack16; - int iStack8; - - iStack36 = -1; - uStack40 = -1; - uStack44 = -1; - iStack8 = (int)*(short *)(in_a1_lo + 1); - uVar3 = load_model(iStack8); - lVar2 = (longlong)(int)uVar3; - pfVar6 = (float *)(ptr_2xxxpresets + (int)*(short *)((int)in_a1_lo + 6) * 0x44); - if ((in_a1_lo[2] << 3 < 0) || (in_a1_lo[2] << 1 < 0)) { - lVar2 = proc_7F00324C(); - if ((in_a1_lo[2] << 3 < 0) && ((-1 < (longlong)uStack40 && (-1 < (longlong)uStack44)))) { - iStack36 = proc_7F0B9CC8((longlong)uStack40,(longlong)uStack44,afStack56,afStack68); - lVar2 = (longlong)iStack36; - } - } - scale = scale_1_0_item_related; - if (scale_1_0_item_related == 1.00000000) { - fVar9 = pfVar6[10]; - } - else { - if (iStack36 < 0) { - pfVar6[0xb] = pfVar6[0xb] * scale_1_0_item_related; - pfVar6[0xc] = pfVar6[0xc] * scale_1_0_item_related; - } - else { - proc_7F0B96CC(iStack36,&fStack88); - fVar7 = proc_7F0B4830(); - fStack76 = fStack76 * (float)fVar7; - fVar9 = *pfVar6; - scale = fStack80 * pfVar6[2] + fVar9 * fStack88 + pfVar6[1] * fStack84; - if (scale_1_0_item_related < 1.00000000) { - scale = (scale - fStack76) * (1.00000000 - scale_1_0_item_related); - fStack104 = fVar9 - fStack88 * scale; - fStack100 = pfVar6[1] - fStack84 * scale; - fStack96 = pfVar6[2] - fStack80 * scale; - } - else { - scale = (scale - fStack76) * (scale_1_0_item_related - 1.00000000); - fStack104 = fStack88 * scale + fVar9; - fStack100 = fStack84 * scale + pfVar6[1]; - fStack96 = fStack80 * scale + pfVar6[2]; - } - fStack108 = pfVar6[10]; - proc_7F0B0BE4((int *)&fStack108,scale_1_0_item_related,fVar9,*pfVar6,pfVar6[2]); - scale = extraout_f12; - if (lVar2 != 0) { - pfVar6[10] = fStack108; - *pfVar6 = fStack104; - pfVar6[1] = fStack100; - pfVar6[2] = fStack96; - pfVar6[0xb] = pfVar6[0xb] * scale_1_0_item_related; - pfVar6[0xc] = pfVar6[0xc] * scale_1_0_item_related; - } - } - fVar9 = pfVar6[10]; - } - lVar2 = proc_7F056850(pfVar6,(longlong)(int)fVar9,scale,NULL,&fStack32); - if (lVar2 == 0) { - in_a1_lo[4] = 0; - return; - } - proc_7F059908(afStack172,extraout_f12_00,extraout_f14,0.00000000,0.00000000,0.00000000, - -pfVar6[6],-pfVar6[7],-pfVar6[8],pfVar6[3]); - pPStack180 = PitemZ_entries[iStack8].header; - piStack196 = piStack16; - fVar12 = pfVar6[0xb]; - fVar9 = pfVar6[0xc]; - fVar10 = pfVar6[0xd]; - fVar8 = pfVar6[0xe]; - scale = pfVar6[0xf]; - fStack340 = pfVar6[0x10]; - proc_7F058570(flt_8004EF5C,extraout_a0,afStack260); - proc_7F058688(flt_8004EF60,extraout_a0_00,afStack336); - proc_7F058068(afStack336,afStack260); - proc_7F058068(afStack172,afStack260); - proc_7F001BD4(pfVar6,&fStack192); - instancecontroller = *(int *)(*(int *)(pPStack180->microcode_entry_num + 0x14) + 4); - lVar2 = (longlong)instancecontroller; - fVar11 = (fVar8 - fVar10) / - (*(float *)(instancecontroller + 8) - *(float *)(instancecontroller + 4)); - fStack340 = fStack340 - scale; - scale = fStack340 / - (*(float *)(instancecontroller + 0x10) - *(float *)(instancecontroller + 0xc)); - fVar9 = (fVar9 - fVar12) / - (*(float *)(instancecontroller + 0x18) - *(float *)(instancecontroller + 0x14)); - if (((fVar11 <= flt_8004EF64) || (scale <= flt_8004EF64)) || (fVar9 <= flt_8004EF64)) { - fVar11 = 1.00000000; - scale = fVar11; - fVar9 = fVar11; - } - proc_7F0589B4(fVar11,extraout_a0_01,afStack260); - proc_7F0589E4(scale,extraout_a0_02,(int)afStack260); - proc_7F058A4C(fVar9,extraout_a0_03,(int)afStack260); - fStack272 = fStack192; - uStack268 = uStack188; - fStack264 = fStack184; - if ((in_a1_lo[3] & 1U) == 0) { - proc_7F0B0BE4((int *)&piStack196,extraout_f12_01,extraout_f14_00,fStack32,fStack24); - if (lVar2 != 0) { - piStack16 = piStack196; - goto LAB_7f003978; - } - fStack192 = fStack32; - fStack184 = fStack24; - if ((in_a1_lo[2] & 0x1000U) == 0) { - sVar5 = *(short *)((int)in_a1_lo + 0x9a); - } - else { - sVar5 = *(short *)((int)in_a1_lo + 0x9a); - } - } - else { - fStack192 = fStack32; - uStack188 = uStack28; - fStack184 = fStack24; -LAB_7f003978: - sVar5 = *(short *)((int)in_a1_lo + 0x9a); - } - if ((sVar5 == 4) || (sVar5 == 8)) { - fStack348 = pfVar6[6] * fStack340; - fStack344 = pfVar6[7] * fStack340; - fStack340 = pfVar6[8] * fStack340; - } - else { - fVar10 = fVar10 - fVar8; - fStack348 = pfVar6[3] * fVar10; - fStack344 = pfVar6[4] * fVar10; - fStack340 = pfVar6[5] * fVar10; - } - *(float *)(in_a1_lo + 0x21) = (float)in_a1_lo[0x21] / 65536.00000000; - *(float *)(in_a1_lo + 0x22) = (float)in_a1_lo[0x22] / 65536.00000000; - *(float *)(in_a1_lo + 0x23) = (float)in_a1_lo[0x23] / 65536.00000000; - *(float *)(in_a1_lo + 0x24) = (float)in_a1_lo[0x24] / 65536.00000000; - *(float *)(in_a1_lo + 0x25) = (float)in_a1_lo[0x25] / 65536.00000000; - poVar4 = (object_standard *) - initialize_door(in_a1_lo,(int *)&fStack192,(int)afStack260,piStack16,(int)&fStack348, - (int *)&fStack272); - if (in_a1_lo[2] << 3 < 0) { - in_a1_lo[0x3c] = iStack36; - if (iStack36 < 0) { - instancecontroller = poVar4->runtime_ptr_obj_instance_controller; - } - else { - if ((float)in_a1_lo[0x2d] == 0.00000000) { - proc_7F0535C4((int)in_a1_lo); - instancecontroller = poVar4->runtime_ptr_obj_instance_controller; - } - else { - instancecontroller = poVar4->runtime_ptr_obj_instance_controller; - } - } - } - else { - instancecontroller = poVar4->runtime_ptr_obj_instance_controller; - } - *(undefined *)&poVar4->runtime_MATRIX5 = *(undefined *)(instancecontroller + 3); - proc_7F03DD9C((int)poVar4,(ushort)*(byte *)(instancecontroller + 3)); - *(undefined *)((int)&poVar4->runtime_MATRIX5 + 1) = 0xff; - *(undefined *)((int)&poVar4->runtime_MATRIX5 + 2) = 0xff; - if ((-1 < in_a1_lo[2] << 3) && (-1 < in_a1_lo[2] << 1)) { - instancecontroller = in_a1_lo[5]; - goto LAB_7f003b5c; - } - if ((longlong)uStack40 == (ulonglong)*(byte *)(poVar4->runtime_ptr_obj_instance_controller + 3)) - { - if (-1 < uStack44) { - *(undefined *)((int)&poVar4->runtime_MATRIX5 + 1) = (char)uStack44; - proc_7F03DD9C((int)poVar4,uStack44._2_2_); - } -LAB_7f003b48: - cVar1 = *(char *)((int)&poVar4->runtime_MATRIX5 + 1); - } - else { - if ((longlong)uStack40 < 0) goto LAB_7f003b48; - *(undefined *)((int)&poVar4->runtime_MATRIX5 + 1) = (char)uStack40; - proc_7F03DD9C((int)poVar4,uStack40._2_2_); - cVar1 = *(char *)((int)&poVar4->runtime_MATRIX5 + 1); - } - if (cVar1 == -1) { - instancecontroller = in_a1_lo[5]; - } - else { - instancecontroller = in_a1_lo[5]; - } -LAB_7f003b5c: - if (instancecontroller != 0) { - set_obj_instance_controller_scale(instancecontroller,(f32)scale); - } - set_current_objposdata_plus_0x28(poVar4); - set_stateflag_0x04_for_posdata((int)poVar4); - if (in_a1_lo[0x20] != 0) { - instancecontroller = proc_7F056A88(in_a1_lo[0x20] + in_a2_lo); - in_a1_lo[0x32] = instancecontroller; - } - return; -} - - - -void proplvreset2(longlong levelid) - -{ - char cVar1; - ushort *partdesc; - bool bVar2; - PitemZ_header **ppPVar3; - byte *token; - p_itementry *index; - s32 sVar5; - int *objdata1; - undefined8 uVar4; - int *objdata2; - undefined *lvltextptr; - int guard_count; - int iVar6; - int iVar7; - int objinst; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - int iVar15; - int iVar16; - int iVar17; - int iVar18; - int iVar19; - int iVar20; - int iVar21; - int iVar22; - int iVar23; - DIFFICULTY DVar24; - GUARDdata *pGVar25; - uint *puVar26; - u32 uVar27; - u32 uVar28; - short sVar29; - int **ppiVar30; - undefined4 *dst; - undefined4 *nextdst; - float *pfVar31; - PLAYER_ID playernum; - object_standard *poVar32; - object_standard *object; - uint uVar33; - LEVELID level; - undefined4 *src; - undefined4 *nextsrc; - f32 fVar34; - float fVar35; - float fVar36; - f32 scale; - float fStack408; - float fStack372; - float fStack368; - float fStack364; - float fStack360; - float fStack356; - float fStack352; - float fStack304; - float fStack292; - undefined lvltxtstring; - undefined uStack267; - uint uStack8; - - token = check_token(1,(byte *)"-nochr"); - bVar2 = token == NULL; - if (bVar2) { - token = check_token(1,(byte *)"-noprop"); - bVar2 = token == NULL; - } - uStack8 = (uint)bVar2; - token = check_token(1,(byte *)"-noobj"); - bVar2 = token == NULL; - if (bVar2) { - token = check_token(1,(byte *)"-noprop"); - bVar2 = token == NULL; - } - index = PitemZ_entries; - scale_1_0_item_related = 1.00000000; - do { - ppPVar3 = &index->header; - index = index + 1; - (*ppPVar3)->microcode_entry_num = 0; - } while (index < PitemZ_entries + 0x154); - level = (LEVELID)levelid; - if (levelid < 0x3b) { - lvltextptr = *(undefined **)(&setup_text_pointers + level * 4); - src = only_read_by_stageload; - dst = (undefined4 *)&lvltxtstring; - if (lvltextptr != NULL) { - do { - nextsrc = src + 3; - nextdst = dst + 3; - *dst = *src; - dst[1] = src[1]; - dst[2] = src[2]; - src = nextsrc; - dst = nextdst; - } while (nextsrc != (undefined4 *)0x8004eeac); - guard_count = 0; - objinst = 0; - *nextdst = uRam8004eeac; - lvltxtstring = *lvltextptr; - uStack267 = 0; - sVar5 = get_num_players(); - if (1 < sVar5) { - string_append_from_obseg_textbank(&lvltxtstring,"mp_"); - } - string_append_from_obseg_textbank - (&lvltxtstring,(char *)(*(int *)(&setup_text_pointers + level * 4) + 1)); - objdata1 = (int *)_load_resource_named_to_membank(&lvltxtstring,1,0x100,4); - DAT_80075d28 = objdata1; - uVar4 = get_textbank_number_for_stagenum(level); - load_mission_text_bank((u32)uVar4); - objdata2 = (int *)((int)objdata1 + *objdata1); - ptr_setup_path_link = (undefined *)((int)objdata1 + objdata1[1]); - ptr_setup_intro = (undefined *)((int)objdata1 + objdata1[2]); - ptr_setup_objects = (object_standard *)((int)objdata1 + objdata1[3]); - ptr_setup_path_sets = (undefined *)((int)objdata1 + objdata1[4]); - ptr_setup_actions = (undefined *)((int)objdata1 + objdata1[5]); - ptr_0xxxpresets = (undefined *)((int)objdata1 + objdata1[6]); - ptr_2xxxpresets = (undefined *)((int)objdata1 + objdata1[7]); - DAT_80075d20 = (int *)((int)objdata1 + objdata1[8]); - if (objdata1[8] == 0) { - DAT_80075d20 = NULL; - } - DAT_80075d24 = (int *)((int)objdata1 + objdata1[9]); - if (objdata1[9] == 0) { - DAT_80075d24 = NULL; - } - ptr_setup_path_tbl = (undefined *)objdata2; - if ((objdata2 != NULL) && (iVar6 = 0, -1 < *objdata2)) { - iVar7 = objdata2[1]; - while( true ) { - iVar6 += 0x10; - objdata2[1] = iVar7 + (int)objdata1; - objdata2 = (int *)(ptr_setup_path_tbl + iVar6); - if (*objdata2 < 0) break; - iVar7 = objdata2[1]; - } - } - if ((ptr_setup_path_link != NULL) && (iVar6 = 0, *(int *)ptr_setup_path_link != 0)) { - iVar7 = *(int *)ptr_setup_path_link; - objdata2 = (int *)ptr_setup_path_link; - do { - *objdata2 = iVar7 + (int)objdata1; - lvltextptr = ptr_setup_path_link + iVar6; - iVar6 += 0xc; - *(int *)(lvltextptr + 4) = *(int *)(lvltextptr + 4) + (int)objdata1; - objdata2 = (int *)(ptr_setup_path_link + iVar6); - iVar7 = *objdata2; - } while (iVar7 != 0); - } - if ((ptr_setup_actions != NULL) && (iVar6 = 0, *(int *)ptr_setup_actions != 0)) { - iVar7 = *(int *)ptr_setup_actions; - objdata2 = (int *)ptr_setup_actions; - do { - *objdata2 = iVar7 + (int)objdata1; - iVar6 += 8; - objdata2 = (int *)(ptr_setup_actions + iVar6); - iVar7 = *objdata2; - } while (iVar7 != 0); - } - if ((ptr_setup_path_sets != NULL) && (iVar6 = 0, *(int *)ptr_setup_path_sets != 0)) { - iVar7 = *(int *)ptr_setup_path_sets; - objdata2 = (int *)ptr_setup_path_sets; - do { - *objdata2 = iVar7 + (int)objdata1; - sVar29 = 0; - ppiVar30 = (int **)(ptr_setup_path_sets + iVar6); - objdata2 = *ppiVar30; - if (*objdata2 < 0) { - *(undefined2 *)((int)ppiVar30 + 6) = 0; - } - else { - iVar7 = objdata2[1]; - while( true ) { - sVar29 += 1; - if (iVar7 < 0) break; - iVar7 = objdata2[2]; - objdata2 = objdata2 + 1; - } - *(short *)((int)ppiVar30 + 6) = sVar29; - } - iVar6 += 8; - objdata2 = (int *)(ptr_setup_path_sets + iVar6); - iVar7 = *objdata2; - } while (iVar7 != 0); - } - if (ptr_0xxxpresets != NULL) { - fVar34 = proc_7F0B4830(); - fVar35 = *(float *)(ptr_0xxxpresets + 0x24); - if (fVar35 != 0.00000000) { - fVar36 = *(float *)ptr_0xxxpresets; - fStack292 = (float)fVar34; - pfVar31 = (float *)ptr_0xxxpresets; - while( true ) { - *(byte **)(pfVar31 + 9) = (byte *)((int)objdata1 + (int)fVar35); - *pfVar31 = fVar36 * fStack292; - pfVar31[1] = pfVar31[1] * fStack292; - pfVar31[2] = pfVar31[2] * fStack292; - init_pathtable_something - (pfVar31,(byte *)((int)objdata1 + (int)fVar35), - (int **)(pfVar31 + 10)); - fVar35 = pfVar31[0x14]; - pfVar31 = pfVar31 + 0xb; - if (fVar35 == 0.00000000) break; - fVar36 = *pfVar31; - } - } - } - if (ptr_2xxxpresets != NULL) { - fVar34 = proc_7F0B4830(); - fVar35 = *(float *)(ptr_2xxxpresets + 0x24); - if (fVar35 != 0.00000000) { - fVar36 = *(float *)ptr_2xxxpresets; - fStack304 = (float)fVar34; - pfVar31 = (float *)ptr_2xxxpresets; - while( true ) { - *(byte **)(pfVar31 + 9) = (byte *)((int)objdata1 + (int)fVar35); - *pfVar31 = fVar36 * fStack304; - pfVar31[1] = pfVar31[1] * fStack304; - pfVar31[2] = pfVar31[2] * fStack304; - pfVar31[0xb] = pfVar31[0xb] * fStack304; - pfVar31[0xc] = pfVar31[0xc] * fStack304; - pfVar31[0xd] = pfVar31[0xd] * fStack304; - pfVar31[0xe] = pfVar31[0xe] * fStack304; - pfVar31[0xf] = pfVar31[0xf] * fStack304; - pfVar31[0x10] = pfVar31[0x10] * fStack304; - init_pathtable_something - (pfVar31,(byte *)((int)objdata1 + (int)fVar35), - (int **)(pfVar31 + 10)); - fVar35 = pfVar31[0x1a]; - pfVar31 = pfVar31 + 0x11; - if (fVar35 == 0.00000000) break; - fVar36 = *pfVar31; - } - } - } - if ((DAT_80075d20 != NULL) && (iVar6 = 0, *DAT_80075d20 != 0)) { - iVar7 = *DAT_80075d20; - objdata2 = DAT_80075d20; - do { - *objdata2 = iVar7 + (int)objdata1; - iVar6 += 4; - objdata2 = (int *)((int)DAT_80075d20 + iVar6); - iVar7 = *objdata2; - } while (iVar7 != 0); - } - if (DAT_80075d24 != NULL) { - iVar6 = *DAT_80075d24; - iVar7 = 0; - objdata2 = DAT_80075d24; - while (iVar6 != 0) { - *objdata2 = iVar6 + (int)objdata1; - iVar7 += 4; - objdata2 = (int *)((int)DAT_80075d24 + iVar7); - iVar6 = *objdata2; - } - } - if (uStack8 == 0) { - alloc_init_GUARDdata_entries(0); - } - else { - guard_count = load_proptype(9); - alloc_init_GUARDdata_entries(guard_count); - guard_count = load_proptype(9); - iVar6 = load_proptype(8); - iVar7 = load_proptype(4); - objinst = load_proptype(0x11); - objinst = iVar6 + iVar7 + objinst; - } - if (bVar2) { - iVar6 = load_proptype(1); - iVar7 = load_proptype(6); - iVar8 = load_proptype(0xd); - iVar9 = load_proptype(0xc); - iVar10 = load_proptype(10); - iVar11 = load_proptype(0xb); - iVar12 = load_proptype(0x15); - iVar13 = load_proptype(3); - iVar14 = load_proptype(0x2a); - iVar15 = load_proptype(0x2f); - iVar16 = load_proptype(0x2b); - iVar17 = load_proptype(0x29); - iVar18 = load_proptype(0x24); - iVar19 = load_proptype(5); - iVar20 = load_proptype(7); - iVar21 = load_proptype(0x14); - iVar22 = load_proptype(0x27); - iVar23 = load_proptype(0x2d); - objinst = objinst + iVar6 + iVar7 + iVar8 + iVar9 + iVar10 + iVar11 + iVar12 + - iVar13 + iVar14 + iVar15 + iVar16 + iVar17 + iVar18 + iVar19 + iVar20 + - iVar21 + iVar22 + iVar23; - iVar6 = load_proptype(0x28); - guard_count += iVar6; - } - proc_7F005540(objinst); - proc_7F005624(guard_count); - playernum = PLAYER1; - sVar5 = get_num_players(); - if (0 < sVar5) { - do { - set_cur_player(playernum); - guard_count = load_proptype(0xe); - alloc_additional_item_slots(guard_count); - playernum += PLAYER2; - sVar5 = get_num_players(); - } while ((int)playernum < sVar5); - } - if (ptr_setup_objects != NULL) { - DVar24 = get_current_difficulty(); - uVar33 = 1 << (DVar24 + 4U & 0x1f); - sVar5 = get_num_players(); - if (1 < sVar5) { - sVar5 = get_num_players(); - uVar33 |= 1 << (sVar5 + 0x14U & 0x1f); - } - guard_count = 0; - cVar1 = ptr_setup_objects->type; - object = ptr_setup_objects; - if (cVar1 == '0') { - cVar1 = ptr_setup_objects->type; - } - else { - do { - if (true) { - switch(cVar1) { - case '\x01': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - expand_type_01_object(); - } - break; - case '\x02': - scale_1_0_item_related = - (float)*(int *)&object->obj / 65536.00000000; - break; - case '\x03': - case '\x05': - case '\a': - case '$': - case ')': - case '*': - case '+': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - prepare_load_objects(levelid,(ushort *)object); - } - break; - case '\x04': - if ((uStack8 != 0) && ((object->flags2 & uVar33) == 0)) { - expand_type_04_object(levelid,(ushort *)object); - } - break; - case '\x06': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - expand_type_06_object(levelid,(ushort *)object); - } - break; - case '\b': - if ((uStack8 != 0) && ((object->flags2 & uVar33) == 0)) { - expand_08_obj_set_guard_MP_weapons(level,(ushort *)object); - } - break; - case '\t': - if (uStack8 != 0) { - expand_09_characters(); - } - break; - case '\n': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - expand_type_0A_object(level,(ushort *)object,guard_count); - } - break; - case '\v': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - expand_type_0B_object(level,(ushort *)object); - } - break; - case '\f': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - expand_type_0C_object(levelid,(ushort *)object); - } - break; - case '\r': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - expand_type_0D_object_autoturret(levelid,(ushort *)object); - } - break; - case '\x11': - if ((uStack8 != 0) && ((object->flags2 & uVar33) == 0)) { - expand_type_0D_MP_weapon_expansion_routine - (levelid,(ushort *)object); - } - break; - case '\x12': - cVar1 = *(char *)((int)&object->flags + 3); - pGVar25 = check_if_guardnum_loaded_get_ptr_GUARDdata - ((short)*(undefined4 *)&object->obj); - if (((pGVar25 != NULL) && (pGVar25->POSdata_pointer != 0)) && - (pGVar25->MODELdata_pointer != 0)) { - pGVar25->beligerancy = cVar1; - } - break; - case '\x14': - objinst = 1; - sVar5 = get_num_players(); - if (1 < sVar5) { - iVar6 = get_ptr_mp_weapon_set_data(); - iVar6 += lastmpweaponnum * 0x18; - objinst = *(int *)(iVar6 + 0x10); - *(short *)(&object->field_7E + *(int *)(iVar6 + 0xc) * 4) = - (short)objinst; - } - if (((0 < objinst) && (bVar2)) && - (objinst = 0, poVar32 = object, (object->flags2 & uVar33) == 0)) - { - do { - if ((*(short *)&poVar32[1].hidden2 != 0) && - (poVar32[1].extrascale != 0xffff)) { - load_model((uint)(ushort)poVar32[1].extrascale); - } - objinst += 4; - poVar32 = (object_standard *)&poVar32->obj; - } while (objinst != 0x34); - prepare_load_objects(levelid,(ushort *)object); - } - break; - case '\x15': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - *(float *)(object + 1) = - (float)*(int *)(object + 1) / 65536.00000000; - *(undefined4 *)&object[1].obj = *(undefined4 *)(object + 1); - prepare_load_objects(levelid,(ushort *)object); - } - break; - case '\x16': - uVar28 = proc_7F056EA0(levelid,object->pad + guard_count); - object->flags2 = uVar28; - if (uVar28 != 0) { - *(uint *)(uVar28 + 100) = *(uint *)(uVar28 + 100) | 0x10; - } - set_parent_cur_tag_entry((int)object); - break; - case '\x17': - add_ptr_to_objective((int)object); - break; - case '\x1e': - set_parent_cur_obj_photograph((int)object); - break; - case ' ': - set_parent_cur_obj_enter_room((int)object); - break; - case '!': - set_parent_cur_obj_deposited_in_room((int)object); - break; - case '#': - setup_briefing_text_entry_parent((int)object); - break; - case '%': - objinst = proc_7F056EA0(levelid,*(int *)&object->obj + guard_count); - object->runtime_MATRIX3 = objinst; - if (objinst != 0) { - *(uint *)(objinst + 100) = *(uint *)(objinst + 100) | 0x400; - } - proc_7F08D8A0((int)object); - break; - case '\'': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - prepare_load_objects(levelid,(ushort *)object); - objinst = object->runtime_ptr_obj_instance_controller; - if ((objinst != 0) && - (partdesc = *(ushort **) - (*(int *)(*(int *)(objinst + 8) + 8) + 0x14), - partdesc != NULL)) { - puVar26 = (uint *)extract_id_from_object_structure_microcode - (objinst,partdesc); - *puVar26 = (uint)((object->flags & 0x10000000) == 0); - } - object[1].flags = 0; - object[1].flags2 = 0; - object[1].runtime_ptr_obj_posdata = 0; - object[1].runtime_ptr_obj_instance_controller = 0; - object[1].runtime_MATRIX1 = 0; - object[1].runtime_MATRIX2 = 0; - lvltextptr = *(undefined **)(object + 1); - object[1].runtime_MATRIX0 = -0x40800000; - lvltextptr = proc_7F035398(lvltextptr); - *(undefined **)(object + 1) = lvltextptr; - object[1].obj = 0; - object[1].pad = -1; - object[1].runtime_MATRIX3 = 0; - object[1].runtime_MATRIX4 = 0; - object[1].runtime_MATRIX5 = 0; - } - break; - case '(': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - prepare_load_objects(levelid,(ushort *)object); - object[1].runtime_MATRIX0 = 0; - object[1].runtime_MATRIX1 = 0; - object[1].flags = 0; - object[1].flags2 = 0; - object[1].runtime_ptr_obj_posdata = 0; - object[1].runtime_MATRIX3 = 0; - lvltextptr = *(undefined **)(object + 1); - object[1].runtime_MATRIX2 = -0x40800000; - object[1].runtime_ptr_obj_instance_controller = -0x40800000; - lvltextptr = proc_7F035398(lvltextptr); - *(undefined **)(object + 1) = lvltextptr; - object[1].obj = 0; - object[1].pad = -1; - object[1].runtime_MATRIX4 = 0; - object[1].runtime_MATRIX5 = 0; - object[1].runtime_MATRIX6 = 0; - } - break; - case '-': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - fStack408 = 0.00000000; - set_weapon_model_generated_thrown_object(0x20); - prepare_load_objects(levelid,(ushort *)object); - object[1].runtime_MATRIXC = 0; - object[1].runtime_MATRIXD = 0; - fVar35 = convert_angle_using_inverse - ((f32)object->runtime_MATRIX8, - (f32)object->runtime_MATRIXA); - objinst = object->runtime_ptr_obj_posdata; - object[1].runtime_y_pos = flt_8004F024 - fVar35; - if (objinst != 0) { - fStack408 = (float)proc_7F0B2970(); - } - *(float *)&object[1].runtime_MATRIXF = fStack408; - *(float *)&object[1].runtime_MATRIXE = fStack408 / flt_8004F028; - } - break; - case '.': - *(float *)&object->obj = (float)*(int *)&object->obj / 100.00000000; - *(float *)&object->flags = (float)object->flags / 100.00000000; - *(float *)&object->flags2 = (float)object->flags2 / 100.00000000; - *(float *)&object->runtime_ptr_obj_posdata = - (float)object->runtime_ptr_obj_posdata / 65536.00000000; - *(float *)&object->runtime_ptr_obj_instance_controller = - (float)object->runtime_ptr_obj_instance_controller / - 65536.00000000; - break; - case '/': - if ((bVar2) && ((object->flags2 & uVar33) == 0)) { - if ((int)(object->flags << 3) < 0) { - if (9999 < object->pad) { - lvltextptr = ptr_2xxxpresets + (int)object->pad * 0x44; - proc_7F001BD4((float *)(lvltextptr + -680000),&fStack360 - ); - fStack372 = *(float *)(lvltextptr + -0xa6034) * - 10.00000000 + fStack360; - fStack368 = *(float *)(lvltextptr + -0xa6030) * - 10.00000000 + fStack356; - fStack364 = *(float *)(lvltextptr + -0xa602c) * - 10.00000000 + fStack352; - fStack360 = fStack360 - - *(float *)(lvltextptr + -0xa6034) * - 10.00000000; - fStack356 = fStack356 - - *(float *)(lvltextptr + -0xa6030) * - 10.00000000; - fStack352 = fStack352 - - *(float *)(lvltextptr + -0xa602c) * - 10.00000000; - uVar28 = proc_7F0B9E04(&fStack360,&fStack372); - object[1].flags2 = uVar28; - *(float *)&object[1].runtime_ptr_obj_posdata = - (float)object[1].runtime_ptr_obj_posdata / - 65536.00000000; - } - } - prepare_load_objects(levelid,(ushort *)object); - } - } - } - uVar28 = get_size_of_setup_object_type((u8 *)object); - object = (object_standard *)(&object->extrascale + uVar28 * 2); - cVar1 = object->type; - guard_count += 1; - } while (cVar1 != '0'); - cVar1 = ptr_setup_objects->type; - } - guard_count = 0; - object = ptr_setup_objects; - while (cVar1 != '0') { - if (true) { - switch(cVar1) { - case '\x03': - case '\x04': - case '\a': - case '\b': - case '\n': - case '\x14': - case '\x15': - case '$': - case ')': - case '*': - case '+': - case '/': - if (((object->runtime_ptr_obj_posdata != 0) && - ((object->flags & 0x8000) != 0)) && - ((objinst = proc_7F056EA0(levelid,guard_count + object->pad), - objinst != 0 && (*(int *)(objinst + 0x10) != 0)))) { - object->runtime_bitflags = object->runtime_bitflags | 0x80000; - set_obj_instance_controller_scale - (object->runtime_ptr_obj_instance_controller,scale); - proc_7F03A5A4(object->runtime_ptr_obj_posdata, - *(int *)(objinst + 0x10)); - } - break; - case '\x0e': - objdata1 = (int *)proc_7F056A88(*(int *)&object->obj + guard_count); - objdata2 = (int *)proc_7F056A88(object->flags + guard_count); - if ((((objdata1 != NULL) && (objdata2 != NULL)) && - (*(char *)((int)objdata1 + 3) == '\b')) && - (*(char *)((int)objdata2 + 3) == '\b')) { - link_objects(objdata1,objdata2); - } - break; - case '\x13': - uVar28 = object->flags; - objinst = proc_7F056EA0(levelid,guard_count + *(int *)&object->obj); - iVar6 = proc_7F056A88(guard_count + uVar28); - if (((objinst != 0) && (*(int *)(objinst + 0x10) != 0)) && - ((iVar6 != 0 && - ((*(char *)(iVar6 + 3) == '\x01' && (*(int *)(iVar6 + 0x10) != 0)))) - )) { - *(int *)&object->obj = *(int *)(objinst + 0x10); - object->flags = *(u32 *)(iVar6 + 0x10); - proc_7F001910((int)object); - *(uint *)(objinst + 100) = *(uint *)(objinst + 100) | 1; - } - break; - case '&': - uVar28 = object->flags; - objinst = proc_7F056EA0(levelid,guard_count + *(int *)&object->obj); - uVar28 = proc_7F056EA0(levelid,guard_count + uVar28); - if ((((objinst != 0) && (*(int *)(objinst + 0x10) != 0)) && - (uVar28 != 0)) && - ((*(int *)(uVar28 + 0x10) != 0 && (*(char *)(objinst + 3) == '\x01')) - )) { - *(int *)&object->obj = objinst; - object->flags = uVar28; - proc_7F001928((int)object); - *(uint *)(objinst + 100) = *(uint *)(objinst + 100) | 0x2000; - } - break; - case ',': - uVar28 = object->flags2; - uVar27 = object->flags; - objinst = proc_7F056EA0(levelid,guard_count + *(int *)&object->obj); - uVar27 = proc_7F056EA0(levelid,guard_count + uVar27); - uVar28 = proc_7F056EA0(levelid,guard_count + uVar28); - if ((((((objinst != 0) && (*(int *)(objinst + 0x10) != 0)) && - (uVar27 != 0)) && - ((*(int *)(uVar27 + 0x10) != 0 && (*(char *)(uVar27 + 3) == '+')))) - && (uVar28 != 0)) && - ((*(int *)(uVar28 + 0x10) != 0 && (*(char *)(uVar28 + 3) == '\x01'))) - ) { - *(int *)&object->obj = objinst; - object->flags = uVar27; - object->flags2 = uVar28; - proc_7F001940((int)object); - *(uint *)(objinst + 0xc) = *(uint *)(objinst + 0xc) | 0x400; - *(uint *)(uVar28 + 0xc) = *(uint *)(uVar28 + 0xc) | 0x400; - } - } - } - uVar28 = get_size_of_setup_object_type((u8 *)object); - object = (object_standard *)(&object->extrascale + uVar28 * 2); - cVar1 = object->type; - guard_count += 1; - } - } - goto LAB_7f004e78; - } - } - ptr_setup_path_tbl = NULL; - ptr_setup_path_link = NULL; - ptr_setup_intro = NULL; - ptr_setup_objects = NULL; - ptr_setup_path_sets = NULL; - ptr_setup_actions = NULL; - ptr_0xxxpresets = NULL; - ptr_2xxxpresets = NULL; - DAT_80075d20 = NULL; - DAT_80075d24 = NULL; - alloc_init_GUARDdata_entries(0); - proc_7F005540(0); - proc_7F005624(0); -LAB_7f004e78: - alloc_false_GUARDdata_to_exec_global_action(); - return; -} - - - -void something_with_stage_objectives(void) - -{ - int iVar1; - undefined **ppuVar2; - watchMenuObjectiveText **ppwVar3; - - iVar1 = get_stage_num(); - if (iVar1 != 0x5a) { - num_objective_ptrs[0] = 0xffffffff; - DAT_80075d58 = 0; - DAT_80075d5c = 0; - ppuVar2 = (undefined **)&DAT_80075d60; - do { - ppuVar2 = ppuVar2 + 4; - ppuVar2[1] = NULL; - ppuVar2[2] = NULL; - ppuVar2[3] = NULL; - *ppuVar2 = NULL; - ppuVar2 = ppuVar2; - } while (ppuVar2 != &ptr_last_tag_entry_type16); - } - objective_ptrs[0] = NULL; - objective_ptrs[1] = NULL; - ppwVar3 = objective_ptrs + 2; - do { - ppwVar3 = ppwVar3 + 4; - ppwVar3[1] = NULL; - ppwVar3[2] = NULL; - ppwVar3[3] = NULL; - *ppwVar3 = NULL; - ppwVar3 = ppwVar3; - } while (ppwVar3 != (watchMenuObjectiveText **)&DAT_80075d58); - ptr_last_tag_entry_type16 = NULL; - ptr_last_briefing_setup_entry_type23 = NULL; - ptr_last_enter_room_subobject_entry_type20 = 0; - ptr_last_deposit_in_room_subobject_entry_type21 = 0; - ptr_last_photo_obj_in_room_subobject_entry_type1E = 0; - return; -} - - - -void set_parent_cur_tag_entry(int param_1) - -{ - *(undefined **)(param_1 + 8) = ptr_last_tag_entry_type16; - ptr_last_tag_entry_type16 = (undefined *)param_1; - return; -} - - - -void setup_briefing_text_entry_parent(int param_1) - -{ - *(watchMenuObjectiveText **)(param_1 + 0xc) = ptr_last_briefing_setup_entry_type23; - ptr_last_briefing_setup_entry_type23 = (watchMenuObjectiveText *)param_1; - return; -} - - - -void add_ptr_to_objective(int param_1) - -{ - *(int *)(objective_ptrs + *(int *)(param_1 + 4)) = param_1; - if (num_objective_ptrs[0] < *(int *)(param_1 + 4)) { - num_objective_ptrs[0] = *(int *)(param_1 + 4); - } - return; -} - - - -void set_parent_cur_obj_enter_room(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = ptr_last_enter_room_subobject_entry_type20; - ptr_last_enter_room_subobject_entry_type20 = param_1; - return; -} - - - -void set_parent_cur_obj_deposited_in_room(int param_1) - -{ - *(undefined4 *)(param_1 + 0x10) = ptr_last_deposit_in_room_subobject_entry_type21; - ptr_last_deposit_in_room_subobject_entry_type21 = param_1; - return; -} - - - -void set_parent_cur_obj_photograph(int param_1) - -{ - *(undefined4 *)(param_1 + 0xc) = ptr_last_photo_obj_in_room_subobject_entry_type1E; - ptr_last_photo_obj_in_room_subobject_entry_type1E = param_1; - return; -} - - - -void something_with_ejected_cartridges(void) - -{ - undefined4 *puVar1; - object_header *header; - ejected_cart *peVar2; - - DAT_80075db0 = 0; - puVar1 = &DAT_80075db8; - do { - puVar1 = puVar1 + 1; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 < &DAT_80075dc8); - cartridges_eject = 0; - DAT_80034ca0 = 0; - if (ejected_cartridge.header != NULL) { - peVar2 = &ejected_cartridge; - header = (object_header *)ejected_cartridge.header; - do { - load_object_into_memory(header,peVar2->text); - header = (object_header *)peVar2[1].header; - peVar2 = peVar2 + 1; - } while (header != NULL); - } - return; -} - - - -void init_player_BONDdata_stats(void) - -{ - u8 *puVar1; - s32 sVar2; - int iVar3; - int iVar4; - Player *pPVar5; - int *piVar6; - int *piVar7; - Player *pPVar8; - int *piVar9; - struct_18 *psVar10; - struct_18 *psVar11; - int aiStack940 [234]; - int iStack4; - float fPoint9; - - psVar10 = &BONDdata_item_control_blocks_initdata; - piVar9 = aiStack940; - do { - psVar11 = (struct_18 *)&psVar10->field_C; - *piVar9 = psVar10->BONDdata_item_control_blocks_initdata; - piVar9[1] = psVar10->field_4; - piVar9[2] = psVar10->field_8; - psVar10 = psVar11; - piVar9 = piVar9 + 3; - } while (psVar11 != (struct_18 *)&BONDdata_item_control_blocks_initdata.anonymous_0); - puVar1 = (u8 *)mempAllocBytesInBank(size_item_buffer[0],'\x04'); - pPlayer->ptr_hand_weapon_buffer[0] = puVar1; - sVar2 = get_num_players(); - if (sVar2 == 1) { - puVar1 = (u8 *)mempAllocBytesInBank(size_item_buffer[1],'\x04'); - pPlayer->ptr_hand_weapon_buffer[1] = puVar1; - } - piVar9 = aiStack940; - pPlayer->hand_invisible[0] = 0; - pPlayer->hand_invisible[1] = 0; - pPlayer->hand_item[0] = ITEM_UNARMED; - pPlayer->hand_item[1] = ITEM_UNARMED; - pPlayer->field_2A44[0] = -1; - pPlayer->field_2A44[1] = -1; - pPlayer->lock_hand_model[0] = 0; - pPlayer->lock_hand_model[1] = 0; - pPVar5 = pPlayer; - piVar6 = piVar9; - do { - piVar7 = piVar6 + 3; - pPVar5->right_weapon = *piVar6; - pPVar5->right_weapon_attack = piVar6[1]; - pPVar5->previous_right_weapon = piVar6[2]; - pPVar5 = (Player *)&pPVar5->zpos; - piVar6 = piVar7; - pPVar8 = pPlayer; - } while (piVar7 != &iStack4); - do { - piVar6 = piVar9 + 3; - pPVar8->left_weapon = *piVar9; - pPVar8->left_weapon_attack = piVar9[1]; - pPVar8->left_weapon_previous = piVar9[2]; - piVar9 = piVar6; - pPVar8 = (Player *)&pPVar8->zpos; - iVar3 = 0; - } while (piVar6 != &iStack4); - do { - iVar4 = iVar3 + 4; - *(undefined4 *)((int)pPlayer->ammoheldarr + iVar3) = 0; - iVar3 = iVar4; - } while (iVar4 < 0x78); - pPlayersPerm->shotcount[0] = 0; - pPlayersPerm->shotcount[1] = 0; - pPlayersPerm->shotcount[2] = 0; - pPlayersPerm->shotcount[3] = 0; - pPlayersPerm->shotcount[4] = 0; - pPlayersPerm->shotcount[5] = 0; - pPlayersPerm->shotcount[6] = 0; - fPoint9 = flt_8004F0E0; - pPlayersPerm->killed_civilians = 0; - pPlayersPerm->killcount = 0; - pPlayersPerm->ggkillcount = 0; - pPlayer->deathcount = 0; - pPlayer->num_suicides = 0; - pPlayer->field_FC0 = 1.00000000; - pPlayer->field_FC4 = 1.00000000; - pPlayer->field_FC8 = 0; - pPlayer->field_FCC = 0; - pPlayer->field_FD0 = 0; - pPlayer->field_FD4 = 0; - pPlayer->field_FD8 = 0; - pPlayer->field_FDC = -1; - pPlayer->field_FDD = -1; - pPlayer->field_FDE = -1; - pPlayer->field_FDF = '\0'; - pPlayer->field_FE0 = 1; - pPlayer->field_FE4 = 0; - pPlayer->field_FE8 = 0.00000000; - pPlayer->field_FEC = 0.00000000; - pPlayer->field_FF0 = 0.00000000; - pPlayer->field_FF4 = 0.00000000; - *(float *)&pPlayer->field_FF8 = fPoint9; - pPlayer->field_FFC = 0.00000000; - pPlayer->field_1000 = 0.00000000; - pPlayer->field_1004 = 0.00000000; - pPlayer->field_1008 = 0.00000000; - *(float *)&pPlayer->field_100C = fPoint9; - pPlayer->field_1010 = 0.00000000; - *(float *)&pPlayer->holds_neg_pi = fl_neg_pi; - pPlayer->field_1018 = 0.00000000; - pPlayer->copiedgoldeneye = 0; - pPlayer->field_1270 = -1; - pPlayer->field_106C = 0.00000000; - pPlayer->field_1070 = 0.00000000; - pPlayer->field_1074 = 0.00000000; - pPlayer->field_1078 = 0; - pPlayer->field_107C = 0.00000000; - pPlayer->field_1080 = 0.00000000; - unknown_takes_playerhand(0); - unknown_takes_playerhand(0); - unknown_takes_playerhand(0); - unknown_takes_playerhand(1); - unknown_takes_playerhand(1); - unknown_takes_playerhand(1); - pPlayer->somekinda_flags = 0; - pPlayer->somekinda_bitflags = 2; - pPlayer->sniper_zoom = GsniperrifleZ_stats.zoom; - pPlayer->camera_zoom = GcameraZ_stats.zoom; - return; -} - - - -void proc_7F005450(void) - -{ - undefined *puVar1; - undefined *puVar2; - undefined *puVar3; - undefined *puVar4; - undefined *puVar5; - undefined *puVar6; - undefined *puVar7; - - dword_80036060 = &DAT_80076a50; - DAT_80076a5c = &DAT_80076a64; - puVar4 = &DAT_80076a78; - DAT_80076a70 = &DAT_80076a78; - DAT_80076a74 = &DAT_80076a50; - puVar1 = &DAT_80076a8c; - DAT_80076a84 = &DAT_80076a8c; - puVar7 = &DAT_80076adc; - puVar6 = &DAT_80076ac8; - puVar5 = &DAT_80076ab4; - puVar3 = &DAT_80076aa0; - DAT_80076a88 = &DAT_80076a64; - puVar2 = puVar1; - do { - *(undefined **)(puVar1 + 0x48) = puVar7; - puVar7 = puVar7 + 0x50; - *(undefined **)(puVar1 + 0x20) = puVar5; - *(undefined **)(puVar1 + 0x24) = puVar2; - *(undefined **)(puVar1 + 0x34) = puVar6; - *(undefined **)(puVar1 + 0x38) = puVar3; - *(undefined **)(puVar1 + 0x4c) = puVar5; - *(undefined **)(puVar1 + 0xc) = puVar3; - *(undefined **)(puVar1 + 0x10) = puVar4; - puVar4 = puVar4 + 0x50; - puVar3 = puVar3 + 0x50; - puVar5 = puVar5 + 0x50; - puVar6 = puVar6 + 0x50; - puVar2 = puVar2 + 0x50; - puVar1 = puVar1 + 0x50; - } while (puVar7 != (undefined *)0x8007996c); - DAT_8007992c = &DAT_80079908; - return; -} - - - -void proc_7F005520(void) - -{ - dword_80036070 = 0; - dword_80036074 = 0; - return; -} - - - -void proc_7F005534(undefined4 param_1) - -{ - dword_80036078 = param_1; - return; -} - - - -void proc_7F005540(int param_1) - -{ - uint uVar1; - int iVar2; - int iVar3; - - dword_80036074 = param_1 + 0x1e; - ptr_allocation_1 = mempAllocBytesInBank(dword_80036074 * 0x20,'\x04'); - iVar3 = 0; - if (0 < dword_80036074) { - iVar2 = 0; - do { - *(undefined4 *)(ptr_allocation_1 + iVar2 + 8) = 0; - if (iVar3 < param_1) { - *(undefined4 *)(ptr_allocation_1 + iVar2 + 0x10) = 0; - } - else { - uVar1 = mempAllocBytesInBank(0x50,'\x04'); - *(uint *)(ptr_allocation_1 + iVar2 + 0x10) = uVar1; - *(undefined2 *)(ptr_allocation_1 + iVar2 + 2) = 0x14; - } - iVar3 += 1; - iVar2 += 0x20; - } while (iVar3 < dword_80036074); - } - return; -} - - - -void proc_7F005624(int param_1) - -{ - uint uVar1; - int iVar2; - int iVar3; - - dword_80036070 = param_1 + 10; - ptr_allocation_0 = mempAllocBytesInBank(dword_80036070 * 0xc0,'\x04'); - iVar3 = 0; - if (0 < dword_80036070) { - iVar2 = 0; - do { - *(undefined4 *)(ptr_allocation_0 + iVar2 + 8) = 0; - if (iVar3 < param_1) { - *(undefined4 *)(ptr_allocation_0 + iVar2 + 0x10) = 0; - } - else { - uVar1 = mempAllocBytesInBank(0x230,'\x04'); - *(uint *)(ptr_allocation_0 + iVar2 + 0x10) = uVar1; - *(undefined2 *)(ptr_allocation_0 + iVar2 + 2) = 0x8c; - } - iVar3 += 1; - iVar2 += 0xbc; - } while (iVar3 < dword_80036070); - } - return; -} - - - -ulonglong set_weapon_model_generated_thrown_object(undefined4 param_1) - -{ - ulonglong uVar1; - u32 uVar2; - longlong model; - - model = -1; - if (true) { - switch(param_1) { - case 3: - model = 0xba; - break; - case 0x18: - model = 0xcb; - break; - case 0x19: - model = 0xca; - break; - case 0x1a: - model = 0xc4; - break; - case 0x1b: - model = 0xc9; - break; - case 0x1c: - model = 200; - break; - case 0x1d: - model = 199; - break; - case 0x20: - model = 0xca; - break; - case 0x21: - model = 0xe2; - break; - case 0x22: - model = 0x111; - break; - case 0x2f: - model = 0xf5; - break; - case 0x30: - model = 0xf6; - } - } - uVar1 = 0; - if (-1 < model) { - uVar2 = load_model((int)model); - uVar1 = SEXT48((int)uVar2); - } - return uVar1; -} - - - -// WARNING: Instruction at (ram,0x7f005e34) overlaps instruction at (ram,0x7f005e30) -// - -void load_camera_intro_type_values(void) - -{ - float *pfVar1; - int iVar2; - uint uVar3; - u32 uVar4; - undefined4 *puVar5; - object_standard *poVar6; - s32 sVar7; - uint *puVar8; - float fVar9; - float extraout_f12; - int *piStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - puVar8 = (uint *)ptr_setup_intro; - fStack12 = dword_8002A780; - fStack8 = dword_8002A784; - fStack4 = dword_8002A788; - mission_kia = FALSE; - camera_80036424 = 0; - resolution = 0; - camera_8003642C = 0; - camera_80036430 = 0; - camera_80036434 = 0; - fStack16 = 0.00000000; - iVar2 = get_stage_num(); - if (iVar2 == 0x36) { - uVar3 = mempAllocBytesInBank(0x46ea0,'\x04'); - resolution = uVar3 + 0x3f & 0xffffffc0; - camera_80036430 = 1; - } - camera_80036438 = 0; - dword_8003643C = 0; - dword_80036440 = 0; - DAT_80079990 = 0; - DAT_80079994 = 0; - DAT_80079998 = 0; - dword_80036444 = 0; - DAT_80079c68 = 0; - in_tank_flag = FALSE; - dword_8003644C = 0; - ptr_playerstank = 0; - dword_80036454 = 0; - dword_80036458 = 0; - dword_8003645C = 0; - dword_80036460 = 0; - dword_80036464 = 0; - dword_80036468 = 0; - dword_8003646C = 0; - dword_80036470 = 0; - dword_80036474 = 0; - dword_80036478 = 0; - dword_8003647C = 0; - dword_80036480 = 0; - dword_80036484 = 0; - dword_80036488 = 0; - dword_8003648C = 0; - dword_800364B0 = 1; - disable_player_pickups_flag = 0; - cameramode = 0; - enable_move_after_cinema = 0; - dword_8003649C = 0; - stop_time_flag = 0; - dword_800364A4 = 0; - dword_800364A8 = 1; - ptr_firstcommand_rotatingcam = NULL; - ptr_random06cam_entry = NULL; - ptr_last_06_cam_entry = NULL; - num_06_cam_entries = 0; - missiontime = 0; - watch_time = 0; - selected_stage_intro_anim = 0; - watch_transition_time = flt_8004F1A8; - flt_8007A0A4 = NULL; - PTR_800799e0 = NULL; - if (puVar8 != NULL) { - uVar3 = *puVar8; - while (uVar3 != 9) { - if (uVar3 < 9) { - // WARNING: Could not recover jumptable at 0x7f005a74. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700399A4)[uVar3])(); - return; - } - puVar8 = puVar8 + 1; - uVar3 = *puVar8; - } - } - if (false) { - ptr_random06cam_entry = NULL; - uVar4 = get_random_value(); - uVar3 = uVar4 % num_06_cam_entries; - if (num_06_cam_entries == 0) { - trap(0x1c00); - } - while (0 < (int)uVar3) { - uVar3 -= 1; - ptr_random06cam_entry = *(undefined **)(ptr_random06cam_entry + 0x24); - } - } - add_item_to_inventory(ITEM_FIST); - if (true) { - PTR_800799e0 = (undefined *)((int)&rgba + 1); - } - pPlayer->field_78 = 0.00000000; - *(float *)&pPlayer->field_7C = flt_8004F1D0; - pPlayer->field_80 = 0.00000000; - if (DAT_80079c68 < 1) { - piStack20 = proc_7F0AFB78(&fStack12,&fStack8,&fStack4,extraout_f12); - fVar9 = proc_7F080D60((longlong)(int)piStack20,fStack12,fStack4); - fStack8 = (float)pPlayer->field_29BC + fVar9; - *(float *)&pPlayer->field_70 = fVar9; - } - else { - sVar7 = get_num_players(); - if (sVar7 < 2) { - uVar3 = 0; - } - else { - if (DAT_80079c68 < 1) { - uVar3 = 0; - } - else { - uVar3 = proc_7F0790F0(); - } - } - pfVar1 = (float *)(&DAT_80079c28)[uVar3]; - fStack12 = *pfVar1; - fStack4 = pfVar1[2]; - piStack20 = (int *)pfVar1[10]; - fVar9 = proc_7F080D60((longlong)(int)piStack20,fStack12,fStack4); - fStack8 = (float)pPlayer->field_29BC + fVar9; - *(float *)&pPlayer->field_70 = fVar9; - pfVar1 = (float *)(&DAT_80079c28)[uVar3]; - fStack16 = convert_angle_using_inverse((f32)pfVar1[6],(f32)pfVar1[8]); - fStack16 = flt_8004F1D4 - fStack16; - } - pPlayer->vv_theta = (fStack16 * 360.00000000) / flt_8004F1D8; - *(float *)&pPlayer->clipping_height = fVar9; - *(float *)&pPlayer->field_6C = fVar9 / flt_8004F1DC; - change_player_pos_to_target(&pPlayer->ptr_tile_printmanpos,(int *)&fStack12,piStack20); - fVar9 = sinf(fStack16); - *(float *)&pPlayer->field_498 = -fVar9; - pPlayer->field_49C = 0; - fVar9 = cosf(fStack16); - *(float *)&pPlayer->field_4A0 = fVar9; - proc_7F089718(flt_800364D0); - DAT_80079da0 = 0; - DAT_80079da4 = 0; - puVar5 = &DAT_80079da8; - do { - puVar5 = puVar5 + 4; - puVar5[1] = 0; - puVar5[2] = 0; - puVar5[3] = 0; - *puVar5 = 0; - puVar5 = puVar5; - } while (puVar5 != (undefined4 *)0x80079dc8); - reset_intro_camera_message_dialogs_for_BONDdata(); - proc_7F08A900(); - poVar6 = remove_last_obj_pos_data_entry(); - *(object_standard **)&pPlayer->position_data_pointer = poVar6; - *(undefined4 *)(pPlayer->position_data_pointer + 4) = 0; - *(undefined *)pPlayer->position_data_pointer = 6; - *(float *)&pPlayer->field_408 = fStack12; - *(float *)(pPlayer->position_data_pointer + 8) = fStack12; - *(float *)&pPlayer->field_40C = fStack8; - *(float *)(pPlayer->position_data_pointer + 0xc) = fStack8; - *(float *)&pPlayer->field_410 = fStack4; - *(float *)(pPlayer->position_data_pointer + 0x10) = fStack4; - *(int **)(pPlayer->position_data_pointer + 0x14) = piStack20; - set_current_objposdata_plus_0x28((object_standard *)pPlayer->position_data_pointer); - set_stateflag_0x04_for_posdata(pPlayer->position_data_pointer); - fVar9 = flt_8004F1E0; - *(float *)&pPlayer->field_3B8 = (float)pPlayer->field_4B4 / flt_8004F1E0; - *(float *)&pPlayer->field_3BC = (float)pPlayer->field_4B8 / fVar9; - *(float *)&pPlayer->field_3C0 = (float)pPlayer->field_4BC / fVar9; - sVar7 = get_num_players(); - if (sVar7 == 1) { - set_camera_mode(INTRO_CAM); - } - else { - set_camera_mode(MP_CAM); - } - total_player_death_anim = 0; - if (player_death_ani_list[0] != 0) { - total_player_death_anim = 1; - while (player_death_ani_list[total_player_death_anim] != 0) { - total_player_death_anim += 1; - } - } - pPlayer->field_420 = 1; - pPlayer->field_424 = 0; - pPlayer->field_428 = 0; - dword_80036510 = 0; - return; -} - - - -void proc_7F0061F0(void) - -{ - int iVar1; - int iVar2; - - pPlayer->equipallguns = 0; - pPlayer->field_1200 = -1; - pPlayer->field_120C = -1; - iVar1 = 0x18; - do { - *(undefined4 *)((int)&pPlayer->field_1200 + iVar1) = 0xffffffff; - *(undefined4 *)((int)&pPlayer->field_120C + iVar1) = 0xffffffff; - *(undefined4 *)((int)&pPlayer->field_1218 + iVar1) = 0xffffffff; - iVar2 = iVar1 + 0x30; - *(undefined4 *)((int)&pPlayer->field_1224 + iVar1) = 0xffffffff; - iVar1 = iVar2; - } while (iVar2 != 0x78); - return; -} - - - -void alloc_additional_item_slots(int additionalentries) - -{ - uint uVar1; - - pPlayer->equipmaxitems = additionalentries + 0x1e; - uVar1 = mempAllocBytesInBank((pPlayer->equipmaxitems * 0x14 + 0xfU | 0xf) ^ 0xf,'\x04'); - pPlayer->p_itemcur = uVar1; - reinit_BONDdata_inventory(); - return; -} - - - -void proc_7F0062C0(int param_1,int param_2,int param_3,int *param_4) - -{ - short sStack8; - short sStack6; - short sStack4; - - *param_4 = 0; - param_4[1] = 0; - param_4[2] = 0; - if (param_2 < param_3) { - do { - proc_7F06D2E4(0,0,(int)&model_guard_character,param_1,param_2,&sStack8); - *param_4 = *param_4 + (int)sStack8; - param_2 += 1; - param_4[1] = param_4[1] + (int)sStack6; - param_4[2] = param_4[2] + (int)sStack4; - } while (param_2 < param_3); - } - return; -} - - - -void sets_a_bunch_of_BONDdata_values_to_default(void) - -{ - float fVar1; - float fVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float (**ppaafVar3) [4] [4]; - float (**ppaafVar4) [4] [4]; - int *piVar5; - int *piVar6; - float (**ppaafVar7) [4] [4]; - float (**ppaafVar8) [4] [4]; - f32 scale; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - float extraout_f14_00; - float afStack144 [16]; - float (*apaafStack80 [4]) [4] [4]; - int *piStack64; - int aiStack16 [2]; - int iStack8; - - if (0x1e < ptr_player_gait_object.num_table_entries) { - return_null(); - } - proc_7F075FAC((int)&pPlayer->field_598,(ushort **)&ptr_player_gait_object,&pPlayer->field_654); - fVar1 = flt_8004F1F0; - set_obj_instance_controller_scale((int)&pPlayer->field_598,scale); - fVar2 = flt_8004F1F4; - pPlayer->field_4E8 = 0; - *(float *)&pPlayer->field_4EC = flt_8004F1F8; - pPlayer->field_4F0 = 0; - pPlayer->field_4F4 = 1.00000000; - pPlayer->field_4F8 = 1.00000000; - pPlayer->scaled_velocity = 0.00000000; - pPlayer->field_500 = 0.00000000; - pPlayer->field_504 = 0.00000000; - pPlayer->field_508 = 0.00000000; - pPlayer->field_50C = 0.00000000; - pPlayer->field_510 = 0.00000000; - pPlayer->field_514 = 0.00000000; - pPlayer->field_518 = 0.00000000; - pPlayer->field_51C = 0.00000000; - pPlayer->velocity = 0.00000000; - pPlayer->field_524 = 0.00000000; - pPlayer->field_528 = 0.00000000; - pPlayer->field_52C = 0.00000000; - pPlayer->field_530 = 0.00000000; - *(float *)&pPlayer->field_534 = fVar2; - pPlayer->field_538 = 0; - *(float *)&pPlayer->field_53C = fVar2; - pPlayer->field_540 = 0.00000000; - pPlayer->field_4DC = 1; - pPlayer->field_4E0 = 1; - pPlayer->field_4E4 = 1; - pPlayer->field_544 = 0.00000000; - pPlayer->field_548 = 0.00000000; - pPlayer->field_54C = 0.00000000; - pPlayer->stationary_ground_offset = 0.00000000; - pPlayer->field_554 = 0.00000000; - pPlayer->field_558 = 0.00000000; - pPlayer->field_55C = 0.00000000; - pPlayer->field_560 = 0.00000000; - pPlayer->field_564 = 0.00000000; - pPlayer->field_568 = 0.00000000; - pPlayer->field_56C = 1.00000000; - pPlayer->field_570 = 0.00000000; - pPlayer->field_574 = 0.00000000; - pPlayer->field_578 = 1.00000000; - pPlayer->field_57C = 0.00000000; - pPlayer->field_580 = 1.00000000; - pPlayer->field_584 = 0.00000000; - pPlayer->field_588 = 0.00000000; - pPlayer->field_58C = 1.00000000; - pPlayer->field_590 = 0.00000000; - pPlayer->field_594 = 0; - piVar5 = &dword_80036AD0; - do { - proc_7F0062C0(*piVar5 + ptr_animation_table,(int)(float)piVar5[1],(int)(float)piVar5[2], - aiStack16); - piVar6 = piVar5 + 6; - *(float *)(piVar5 + 3) = ((float)iStack8 * fVar1) / ((float)piVar5[2] - (float)piVar5[1]); - piVar5 = piVar6; - } while (piVar6 != &dword_80036B00); - ppaafVar7 = (float (**) [4] [4])dword_8002A790; - ppaafVar3 = apaafStack80; - do { - ppaafVar8 = ppaafVar7 + 3; - ppaafVar4 = ppaafVar3 + 3; - *ppaafVar3 = *ppaafVar7; - ppaafVar3[1] = ppaafVar7[1]; - ppaafVar3[2] = ppaafVar7[2]; - ppaafVar7 = ppaafVar8; - ppaafVar3 = ppaafVar4; - } while (ppaafVar8 != (float (**) [4] [4])0x8002a7cc); - *ppaafVar4 = paafRam8002a7cc; - proc_7F06FCA8((int)&pPlayer->field_598,ptr_animation_table + 0x1c,0,extraout_f12,0,extraout_f14) - ; - subcalcpos((int)&pPlayer->field_598,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - apaafStack80[0] = (float (*) [4] [4])afStack144; - guMtxIdentF_unrolled(apaafStack80[0]); - piStack64 = &pPlayer->field_6D0; - subcalcmatrices((float **)apaafStack80,(uint)&pPlayer->field_598,extraout_a2_lo_00, - extraout_a3_lo_00); - *(int *)&pPlayer->stationary_ground_offset = pPlayer->field_704; - pPlayer->field_554 = 0.00000000; - *(float *)&pPlayer->field_558 = (float)pPlayer->field_744 - (float)pPlayer->field_704; - *(float *)&pPlayer->field_55C = (float)pPlayer->field_748 - (float)pPlayer->field_708; - proc_7F06FCA8((int)&pPlayer->field_598, - (&dword_80036AD0)[pPlayer->field_4E8 * 6] + ptr_animation_table,0,extraout_f12_00, - (&FLOAT_80036ad4)[pPlayer->field_4E8 * 6],extraout_f14_00); - proc_7F06FDCC((int)&pPlayer->field_598,(&FLOAT_80036ad4)[pPlayer->field_4E8 * 6],0); - proc_7F06FDE8((int)&pPlayer->field_598,extraout_f12_01); - proc_7F06FE3C((int)&pPlayer->field_598,proc_7F08DBB0); - proc_7F08DBC8(); - return; -} - - - -ulonglong init_pathtable_something(float *param_1,byte *param_2,int **param_3) - -{ - int *piVar3; - u32 uVar4; - ulonglong uVar1; - longlong lVar2; - f32 extraout_f12; - float extraout_f12_00; - f32 fVar5; - float extraout_f12_01; - f32 extraout_f14; - float extraout_f14_00; - float fStack12; - float fStack8; - float fStack4; - - piVar3 = stanMatchTileName(param_2); - *param_3 = piVar3; - fVar5 = extraout_f12; - if ((piVar3 == NULL) || - (uVar4 = proc_7F0B036C((u32)piVar3,extraout_f12,extraout_f14), fVar5 = (f32)extraout_f12_00, - uVar4 == 0)) { - fStack12 = *param_1; - fStack8 = param_1[1]; - fStack4 = param_1[2]; - piVar3 = proc_7F0AFB78(&fStack12,&fStack8,&fStack4,(float)fVar5); - lVar2 = (longlong)(int)piVar3; - *param_3 = piVar3; - if (lVar2 == 0) { - *param_3 = NULL; - } - else { - proc_7F0B0BE4((int *)param_3,extraout_f12_01,extraout_f14_00,fStack12,fStack4); - if (lVar2 != 0) { - return 2; - } - *param_3 = NULL; - } - uVar1 = 0; - } - else { - uVar1 = 1; - } - return uVar1; -} - - - -void init_path_table_links(void) - -{ - bool bVar1; - bool bVar2; - bool bVar3; - undefined *puVar4; - int *piVar5; - undefined *puVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int **ppiVar12; - int *piVar13; - int **ppiStack152; - int iStack68; - int aiStack64 [14]; - int *piStack8; - - puVar4 = ptr_setup_path_tbl; - bVar1 = false; - piStack8 = (int *)ptr_setup_path_link; - if ((ptr_setup_path_tbl != NULL) && (iVar11 = 0, -1 < *(int *)ptr_setup_path_tbl)) { - piVar13 = *(int **)(ptr_setup_path_tbl + 4); - do { - iVar8 = *piVar13; - while (-1 < iVar8) { - if (iVar8 == iVar11) { - bVar1 = true; - if (DAT_80075d20 == 0) { - iVar8 = piVar13[1]; - } - else { - iVar8 = piVar13[1]; - } - } - else { - piVar5 = *(int **)(ptr_setup_path_tbl + iVar8 * 0x10 + 4); - iVar7 = 0; - if (*piVar5 < 0) { - iVar7 = 0; - } - else { - if (iVar11 == *piVar5) { -LAB_7f00696c: - iVar7 <<= 2; - } - else { - iVar9 = 4; - while (iVar7 += 1, -1 < *(int *)((int)piVar5 + iVar9)) { - if (iVar11 == *(int *)(*(int *)(ptr_setup_path_tbl + iVar8 * 0x10 + - 4) + iVar9)) goto LAB_7f00696c; - iVar9 += 4; - } - iVar7 *= 4; - } - } - if (iVar11 == *(int *)((int)piVar5 + iVar7)) { - iVar8 = piVar13[1]; - } - else { - bVar1 = true; - iVar8 = piVar13[1]; - } - } - piVar13 = piVar13 + 1; - } - iVar11 += 1; - if (*(int *)(ptr_setup_path_tbl + iVar11 * 0x10) < 0) break; - piVar13 = *(int **)(ptr_setup_path_tbl + iVar11 * 0x10 + 1); - } while( true ); - } - if (ptr_setup_path_link != NULL) { - iVar11 = 0; - if (*(int *)ptr_setup_path_link != 0) { - ppiStack152 = (int **)ptr_setup_path_link; - piVar13 = *(int **)ptr_setup_path_link; - do { - iVar7 = 0; - iVar8 = *piVar13; - while (-1 < iVar8) { - if (iVar8 == iVar11) { - bVar1 = true; - if (DAT_80075d24 == 0) { - piVar13 = *ppiStack152; - } - else { - piVar13 = *ppiStack152; - } - } - else { - iVar9 = 0; - ppiVar12 = (int **)(piStack8 + iVar8 * 3); - piVar13 = *ppiVar12; - if (*piVar13 < 0) { - iVar9 = 0; - } - else { - iVar8 = 0; - if (iVar11 == *piVar13) { - iVar9 = 0; - } - else { - iVar10 = piVar13[1]; - piVar5 = piVar13; - while( true ) { - iVar9 += 1; - iVar8 += 4; - if ((iVar10 < 0) || (iVar11 == *(int *)((int)*ppiVar12 + iVar8)) - ) break; - iVar10 = piVar5[2]; - piVar5 = piVar5 + 1; - } - iVar9 *= 4; - } - } - if (iVar11 == *(int *)((int)piVar13 + iVar9)) { - if (ptr_setup_path_tbl != NULL) { - proc_7F08F438((int)ppiStack152,(int)ppiVar12,aiStack64,&iStack68); - if (aiStack64[0] == 0) { - bVar1 = true; - } - else { - if (iStack68 != 0) { - piVar13 = *ppiStack152; - goto LAB_7f006ad4; - } - bVar1 = true; - } - } - piVar13 = *ppiStack152; - } - else { - bVar1 = true; - if (DAT_80075d24 == 0) { - piVar13 = *ppiStack152; - } - else { - piVar13 = *ppiStack152; - } - } - } -LAB_7f006ad4: - iVar7 += 4; - iVar8 = *(int *)((int)piVar13 + iVar7); - } - iVar11 += 1; - ppiStack152 = ppiStack152 + 3; - if (*ppiStack152 == NULL) break; - piVar13 = *ppiStack152; - } while( true ); - } - } - if ((puVar4 != NULL) && (piStack8 != NULL)) { - iVar11 = *piStack8; - iVar8 = 0; - piVar13 = piStack8; - if (iVar11 != 0) { - do { - piVar5 = (int *)piVar13[1]; - iVar7 = 0; - iVar11 = *piVar5; - while (-1 < iVar11) { - iVar9 = *(int *)(puVar4 + iVar11 * 0x10 + 8); - if (iVar9 < 0) { - *(int *)(puVar4 + iVar11 * 0x10 + 8) = iVar8; - piVar5 = (int *)piVar13[1]; - iVar11 = (int)piVar5 + iVar7; - } - else { - iVar11 = (int)piVar5 + iVar7; - if (iVar8 != iVar9) { - bVar1 = true; - } - } - iVar11 = *(int *)(iVar11 + 4); - iVar7 += 4; - } - piVar5 = piVar13 + 3; - iVar8 += 1; - piVar13 = piVar13 + 3; - } while (*piVar5 != 0); - iVar11 = *piStack8; - } - iVar8 = 0; - if (-1 < *(int *)puVar4) { - iVar7 = *(int *)(puVar4 + 8); - while( true ) { - iVar8 += 1; - if (iVar7 < 0) { - bVar1 = true; - } - if (*(int *)(puVar4 + iVar8 * 0x10) < 0) break; - iVar7 = *(int *)(puVar4 + iVar8 * 0x10 + 2); - } - } - if (iVar11 != 0) { - piVar13 = (int *)piStack8[1]; - do { - iVar11 = *piVar13; - iVar8 = 0; - if (-1 < iVar11) { - do { - if (iVar8 == 0) { - *(undefined4 *)(puVar4 + iVar11 * 0x10 + 0xc) = 1; - } - else { - *(undefined4 *)(puVar4 + iVar11 * 0x10 + 0xc) = 0; - } - piVar13 = (int *)piStack8[1]; - iVar8 += 4; - iVar11 = *(int *)((int)piVar13 + iVar8); - } while (-1 < iVar11); - iVar11 = *piVar13; - } - do { - bVar2 = false; - bVar3 = false; - iVar8 = 0; - if (-1 < iVar11) { - do { - puVar6 = puVar4 + iVar11 * 0x10; - iVar8 += 4; - if (*(int *)(puVar6 + 0xc) == 1) { - piVar5 = *(int **)(puVar6 + 4); - iVar7 = 0; - iVar11 = *piVar5; - if (-1 < iVar11) { - do { - iVar7 += 4; - if (*(int *)(puVar4 + iVar11 * 0x10 + 0xc) != 1) { - *(undefined4 *)(puVar4 + iVar11 * 0x10 + 0xc) = 1; - piVar5 = *(int **)(puVar6 + 4); - bVar2 = true; - } - iVar11 = *(int *)((int)piVar5 + iVar7); - } while (-1 < iVar11); - piVar13 = (int *)piStack8[1]; - } - } - iVar11 = *(int *)((int)piVar13 + iVar8); - } while (-1 < iVar11); - iVar11 = *piVar13; - } - iVar7 = 0; - iVar8 = iVar11; - while (-1 < iVar8) { - iVar7 += 1; - if (*(int *)(puVar4 + iVar8 * 0x10 + 0xc) != 1) { - bVar3 = true; - break; - } - iVar8 = piVar13[iVar7]; - } - } while ((bVar2) && (bVar3)); - if (bVar3) { - bVar1 = true; - if (DAT_80075d24 == 0) { - iVar11 = piStack8[3]; - } - else { - iVar11 = piStack8[3]; - } - } - else { - iVar11 = piStack8[3]; - } - if (iVar11 == 0) break; - piVar13 = (int *)piStack8[4]; - piStack8 = piStack8 + 3; - } while( true ); - } - } - if (!bVar1) { - return; - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -void alloc_explosion_smoke_casing_scorch_impact_buffers(void) - -{ - int iVar1; - s32 sVar2; - int iVar3; - int iVar4; - int iVar5; - undefined2 *puVar6; - - DAT_80040170 = 0; - DAT_80040174 = 0; - DAT_80040800 = 0; - DAT_80040804 = 0; - DAT_80040808 = 0; - dword_80040178 = 1.00000000; - DAT_8007a144 = mempAllocBytesInBank(0x1740,'\x04'); - iVar3 = 0; - iVar4 = 0; - do { - iVar1 = 0; - *(undefined4 *)(DAT_8007a144 + iVar4) = 0; - do { - *(undefined2 *)(DAT_8007a144 + iVar3 * 0x3e0 + iVar1 + 0x1c) = 0; - *(undefined2 *)(DAT_8007a144 + iVar3 * 0x3e0 + iVar1 + 0x34) = 0; - *(undefined2 *)(DAT_8007a144 + iVar3 * 0x3e0 + iVar1 + 0x4c) = 0; - iVar5 = DAT_8007a144 + iVar3 * 0x3e0 + iVar1; - iVar1 += 0x60; - *(undefined2 *)(iVar5 + 100) = 0; - } while (iVar1 != 0x3c0); - iVar3 += 1; - iVar4 += 0x3e0; - } while (iVar3 < 6); - DAT_8007a140 = mempAllocBytesInBank(0x1fe0,'\x04'); - iVar3 = 0; - iVar4 = 0; - do { - *(undefined4 *)(DAT_8007a140 + iVar4) = 0; - *(undefined4 *)(DAT_8007a140 + iVar3 * 0x198 + 0x14) = 0; - *(undefined4 *)(DAT_8007a140 + iVar3 * 0x198 + 0x3c) = 0; - iVar1 = 0x50; - do { - *(undefined4 *)(DAT_8007a140 + iVar3 * 0x198 + iVar1 + 0x14) = 0; - *(undefined4 *)(DAT_8007a140 + iVar3 * 0x198 + iVar1 + 0x3c) = 0; - *(undefined4 *)(DAT_8007a140 + iVar3 * 0x198 + iVar1 + 100) = 0; - iVar5 = DAT_8007a140 + iVar3 * 0x198 + iVar1; - iVar1 += 0xa0; - *(undefined4 *)(iVar5 + 0x8c) = 0; - } while (iVar1 != 400); - iVar3 += 1; - iVar4 += 0x198; - } while (iVar3 < 0x14); - sVar2 = get_num_players(); - if (sVar2 == 1) { - DAT_8007a150 = mempAllocBytesInBank(0x6e0,'\x04'); - iVar3 = 0; - do { - *(undefined2 *)(DAT_8007a150 + iVar3) = 0xffff; - *(undefined2 *)(DAT_8007a150 + iVar3 + 0x58) = 0xffff; - *(undefined2 *)(DAT_8007a150 + iVar3 + 0xb0) = 0xffff; - iVar4 = DAT_8007a150 + iVar3; - iVar3 += 0x160; - *(undefined2 *)(iVar4 + 0x108) = 0xffff; - } while (iVar3 != 0x6e0); - } - DAT_8007a154 = mempAllocBytesInBank(8000,'\x04'); - iVar3 = 0; - do { - puVar6 = (undefined2 *)(DAT_8007a154 + iVar3); - iVar3 += 0x50; - *puVar6 = 0xffff; - } while (iVar3 < 8000); - sVar2 = get_num_players(); - DAT_8007a148 = 200 / sVar2; - if (sVar2 == 0) { - trap(0x1c00); - } - if ((sVar2 == -1) && (false)) { - trap(0x1800); - } - iVar3 = proc_7F0BDF04(); - if ((iVar3 == 0x1d) || (iVar3 = proc_7F0BDF04(), iVar3 == 0x1e)) { - DAT_8007a148 >>= 1; - } - DAT_8007a14c = mempAllocBytesInBank(DAT_8007a148 * 0x78 + 0xfU & 0xfffffff0,'\x04'); - iVar3 = 0; - if (0 < DAT_8007a148) { - iVar4 = 0; - do { - iVar3 += 1; - *(undefined4 *)(DAT_8007a14c + iVar4) = 0; - iVar4 += 0x78; - } while (iVar3 < DAT_8007a148); - } - return; -} - - - -void proc_7F007180(void) - -{ - int iVar1; - s32 sVar2; - int iVar3; - - iVar1 = proc_7F0BDF04(); - sVar2 = get_num_players(); - DAT_8007a160 = 200 / sVar2; - if (sVar2 == 0) { - trap(0x1c00); - } - if ((sVar2 == -1) && (false)) { - trap(0x1800); - } - if ((iVar1 == 0x1d) || (iVar1 == 0x1e)) { - DAT_8007a160 >>= 1; - } - DAT_8007a164 = mempAllocBytesInBank(DAT_8007a160 * 0x68 + 0xfU & 0xfffffff0,'\x04'); - iVar1 = 0; - if (0 < DAT_8007a160) { - iVar3 = 0; - do { - iVar1 += 1; - *(undefined4 *)(DAT_8007a164 + iVar3) = 0; - iVar3 += 0x68; - } while (iVar1 < DAT_8007a160); - } - dword_80040940 = 0; - return; -} - - - -void proc_7F007290(void) - -{ - FLOAT_80079e80 = 0.00000000; - FLOAT_80079e84 = 0.00000000; - FLOAT_80079e88 = 0.00000000; - return; -} - - - -void proc_7F0072B0(void) - -{ - undefined *puVar1; - - cheatl_ARRAY_80079e30[0] = 0; - cheatl_ARRAY_80079e30[1] = 0; - cheatl_ARRAY_80079e30[2] = 0; - puVar1 = cheatl_ARRAY_80079e30 + 3; - do { - puVar1 = puVar1 + 4; - puVar1[1] = 0; - puVar1[2] = 0; - puVar1[3] = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 != &DAT_80079e7b); - return; -} - - - -void disable_onscreen_cheat_text(void) - -{ - pPlayer->something_with_cheat_text = '\0'; - pPlayer->can_display_cheat_text = '\0'; - return; -} - - - -void set_mt_tex_alloc(void) - -{ - byte *__nptr; - long lVar1; - uint uVar2; - - DAT_8008d090 = 0; - __nptr = check_token(1,(byte *)"-mt"); - if (__nptr != NULL) { - __nptr = check_token(1,(byte *)"-mt"); - lVar1 = strtol((char *)__nptr,NULL,0); - bytes = lVar1 << 10; - } - uVar2 = mempAllocBytesInBank(bytes,'\x04'); - proc_7F0CBAF4(&ptr_texture_alloc_start,uVar2,bytes); - return; -} - - - -void unload_loop_all_guards(void) - -{ - int iVar1; - int guardcount; - int iVar2; - int curguard; - - curguard = 0; - if (0 < num_guards) { - iVar2 = 0; - guardcount = num_guards; - do { - iVar1 = (int)&ptr_guard_data->chrnum + iVar2; - if (*(int *)(iVar1 + 0x1c) != 0) { - disable_sounds_attached_to_player_then_something(*(int *)(iVar1 + 0x18)); - proc_7F03A538(*(int *)((int)&ptr_guard_data->POSdata_pointer + iVar2)); - unset_stateflag_0x04_for_posdata - (*(int *)((int)&ptr_guard_data->POSdata_pointer + iVar2)); - set_last_obj_pos_data - (*(object_standard **)((int)&ptr_guard_data->POSdata_pointer + iVar2)); - guardcount = num_guards; - } - curguard += 1; - iVar2 += 0x1dc; - } while (curguard < guardcount); - } - return; -} - - - -void unload_loop_all_sfx(void) - -{ - ulonglong uVar1; - ALLink_s *pAVar2; - sfx_register_struct *psVar3; - - psVar3 = &sfx_related; - pAVar2 = sfx_related.field_0x0; - while( true ) { - if ((pAVar2 != NULL) && (uVar1 = sfxGetArg0Unk3F(pAVar2), uVar1 != 0)) { - sfxDeactivate(psVar3->field_0x0); - } - psVar3 = psVar3 + 1; - if (psVar3 == (sfx_register_struct *)&ptr_list_object_lookup_indices) break; - pAVar2 = (ALLink_s *)psVar3->field_0x0; - } - return; -} - - - -void unload_alarms_something(void) - -{ - stop_alarm(); - proc_7F055EF8(); - return; -} - - - -void cleanupObjects(void) - -{ - char cVar1; - u32 uVar2; - object_standard *object; - - if (ptr_setup_objects != NULL) { - cVar1 = ptr_setup_objects->type; - object = ptr_setup_objects; - while (cVar1 != '0') { - if (true) { - switch(cVar1) { - case '\x01': - case '\x03': - case '\x04': - case '\x05': - case '\x06': - case '\a': - case '\b': - case '\n': - case '\v': - case '\f': - case '\r': - case '\x11': - case '\x14': - case '\x15': - case '$': - case '\'': - case '(': - case ')': - case '*': - case '+': - case '-': - case '/': - proc_7F041024(object,1); - } - } - uVar2 = get_size_of_setup_object_type((u8 *)object); - object = (object_standard *)(&object->extrascale + uVar2 * 2); - cVar1 = object->type; - } - } - return; -} - - - -void cleanupObjectives(void) - -{ - watchMenuObjectiveText *pwVar1; - int iVar2; - watchMenuObjectiveText **ppwVar3; - - ppwVar3 = objective_ptrs + 2; - iVar2 = 8; - if (((objective_ptrs[0] != NULL) && - ((*(byte *)((int)&objective_ptrs[0]->nextentry + 2) & 1) != 0)) && (DAT_80075d58 != 2)) { - DAT_80075d58 = 1; - } - if (((objective_ptrs[1] != NULL) && - ((*(byte *)((int)&objective_ptrs[1]->nextentry + 2) & 1) != 0)) && (DAT_80075d5c != 2)) { - DAT_80075d5c = 1; - } - do { - if (*ppwVar3 == NULL) { - pwVar1 = ppwVar3[1]; - } - else { - if ((*(byte *)((int)&(*ppwVar3)->nextentry + 2) & 1) == 0) { - pwVar1 = ppwVar3[1]; - } - else { - if (*(int *)((int)&DAT_80075d58 + iVar2) == 2) { - pwVar1 = ppwVar3[1]; - } - else { - *(int *)((int)&DAT_80075d58 + iVar2) = 1; - pwVar1 = ppwVar3[1]; - } - } - } - if (pwVar1 == NULL) { - pwVar1 = ppwVar3[2]; - } - else { - if ((*(byte *)((int)&pwVar1->nextentry + 2) & 1) == 0) { - pwVar1 = ppwVar3[2]; - } - else { - if (*(int *)((int)&DAT_80075d5c + iVar2) == 2) { - pwVar1 = ppwVar3[2]; - } - else { - *(undefined4 *)((int)&DAT_80075d5c + iVar2) = 1; - pwVar1 = ppwVar3[2]; - } - } - } - if (pwVar1 == NULL) { - pwVar1 = ppwVar3[3]; - } - else { - if ((*(byte *)((int)&pwVar1->nextentry + 2) & 1) == 0) { - pwVar1 = ppwVar3[3]; - } - else { - if (*(int *)((int)&DAT_80075d60 + iVar2) == 2) { - pwVar1 = ppwVar3[3]; - } - else { - *(undefined4 *)((int)&DAT_80075d60 + iVar2) = 1; - pwVar1 = ppwVar3[3]; - } - } - } - ppwVar3 = ppwVar3 + 4; - if (((pwVar1 != NULL) && ((*(byte *)((int)&pwVar1->nextentry + 2) & 1) != 0)) && - (*(int *)((int)&DAT_80075d64 + iVar2) != 2)) { - *(undefined4 *)((int)&DAT_80075d64 + iVar2) = 1; - } - iVar2 += 0x10; - } while (ppwVar3 != (watchMenuObjectiveText **)&DAT_80075d58); - return; -} - - - -void unload_music_related(void) - -{ - ulonglong uVar1; - - if ((dword_80036458 != NULL) && (uVar1 = sfxGetArg0Unk3F(dword_80036458), uVar1 != 0)) { - sfxDeactivate((int)dword_80036458); - } - if ((dword_8003645C != NULL) && (uVar1 = sfxGetArg0Unk3F(dword_8003645C), uVar1 != 0)) { - sfxDeactivate((int)dword_8003645C); - } - return; -} - - - -void proc_7F007770(void) - -{ - PLAYER_ID PVar1; - PLAYER_ID playernum; - PLAYER_ID playernum_00; - undefined4 uStack8; - undefined4 uStack4; - - PVar1 = get_num_players(); - playernum = get_cur_playernum(); - playernum_00 = PLAYER1; - if (0 < (int)PVar1) { - do { - set_cur_player(playernum_00); - proc_7F08DB08(&uStack4,&uStack8); - store_favorite_weapon_current_player(uStack4,uStack8); - playernum_00 += PLAYER2; - } while (playernum_00 != PVar1); - } - set_cur_player(playernum); - return; -} - - - -void unload_loop_all_objects(void) - -{ - int iVar1; - - DAT_80040170 = 0; - video_related_9(0.00000000); - iVar1 = 0; - if (DAT_8007a144 != 0) { - do { - if (*(int *)(DAT_8007a144 + iVar1) != 0) { - proc_7F03A538(*(int *)(DAT_8007a144 + iVar1)); - unset_stateflag_0x04_for_posdata(*(int *)(DAT_8007a144 + iVar1)); - set_last_obj_pos_data(*(object_standard **)(DAT_8007a144 + iVar1)); - *(undefined4 *)(DAT_8007a144 + iVar1) = 0; - } - iVar1 += 0x3e0; - } while (iVar1 != 0x1740); - } - iVar1 = 0; - if (DAT_8007a140 != 0) { - do { - if (*(int *)(DAT_8007a140 + iVar1) != 0) { - proc_7F03A538(*(int *)(DAT_8007a140 + iVar1)); - unset_stateflag_0x04_for_posdata(*(int *)(DAT_8007a140 + iVar1)); - set_last_obj_pos_data(*(object_standard **)(DAT_8007a140 + iVar1)); - *(undefined4 *)(DAT_8007a140 + iVar1) = 0; - } - iVar1 += 0x198; - } while (iVar1 != 0x1fe0); - } - return; -} - - - -void unload_something_7f007920(void) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - iVar2 = 0; - if (0 < DAT_8007a160) { - do { - iVar1 += 1; - *(undefined4 *)(DAT_8007a164 + iVar2) = 0; - iVar2 += 0x68; - } while (iVar1 < DAT_8007a160); - } - return; -} - - - -void unload_removed_7f007970(void) - -{ - return; -} - - - -void unload_music_related_7F007980(void) - -{ - ALLink_s *pAVar1; - s32 sVar3; - ulonglong uVar2; - int iVar4; - int iVar5; - Player **ppPVar6; - int iVar7; - Player *pPVar8; - - iVar7 = 0; - sVar3 = get_num_players(); - if (0 < sVar3) { - ppPVar6 = ptr_BONDdata_p1; - do { - iVar5 = 0; - pPVar8 = *ppPVar6; - while( true ) { - iVar4 = (int)&pPVar8->unknown + iVar5; - pAVar1 = *(ALLink_s **)(iVar4 + 0xa44); - if ((pAVar1 != NULL) && (uVar2 = sfxGetArg0Unk3F(pAVar1), uVar2 != 0)) { - sfxDeactivate(*(int *)(iVar4 + 0xa44)); - } - iVar5 += 0x3a8; - if (iVar5 == 0x750) break; - pPVar8 = *ppPVar6; - } - iVar7 += 1; - ppPVar6 = ppPVar6 + 1; - sVar3 = get_num_players(); - } while (iVar7 < sVar3); - } - return; -} - - - -undefined4 * something_with_gunbarrel_and_rareware_logo_matrix_manip(undefined4 *displaylist) - -{ - undefined4 *puVar1; - u32 uVar2; - float in_f12; - float x; - float in_f14; - float y; - - guTranslate((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_2),in_f12,in_f14, - num_obj_position_data_entries); - guTranslate((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_gunbarrel_1),x,y,DAT_8006957c); - *displaylist = 0x6000000; - displaylist[1] = 0x1000000; - puVar1 = insert_imageDL((Gfx *)(displaylist + 2)); - puVar1 = proc_7F01C1A4(puVar1); - *puVar1 = 0xfcffffff; - puVar1[1] = 0xfffdf6fb; - puVar1[2] = 0xfa000000; - puVar1[3] = 0xe6e6e600; - puVar1[4] = 0x6000000; - puVar1[5] = DAT_80069554 + -0x80000000; - puVar1[6] = 0x1020040; - uVar2 = osVirtualToPhysical((void *)(DAT_8002a7d0 * 0x40 + matrix_buffer_gunbarrel_1)); - puVar1[7] = uVar2; - puVar1[8] = 0x6000000; - puVar1[9] = DAT_80069554 + -0x80000000; - return puVar1 + 10; -} - - - -undefined4 * insert_sight_backdrop_eye_intro(undefined4 *param_1) - -{ - undefined4 *puVar1; - u32 uVar2; - float in_f12; - float x; - float in_f14; - float y; - - guTranslate((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_2),in_f12,in_f14, - num_obj_position_data_entries + 768.00000000); - guScale((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_gunbarrel_1),x,y,2.70000005); - param_1[1] = 0x1000000; - *param_1 = 0x6000000; - param_1[3] = 0x1000040; - param_1[2] = 0x6000000; - puVar1 = proc_7F01C1A4(param_1 + 4); - *puVar1 = 0x1000040; - uVar2 = osVirtualToPhysical((void *)(DAT_8002a7d0 * 0x40 + matrix_buffer_gunbarrel_1)); - puVar1[1] = uVar2; - puVar1[2] = 0x6000000; - puVar1[3] = DAT_80069554 + -0x80000000; - return puVar1 + 4; -} - - - -undefined4 * proc_7F007CC8(undefined4 *param_1,int param_2,int *param_3,int *param_4) - -{ - undefined4 *puVar1; - - *param_1 = 0xb900031d; - param_1[1] = 0xf0a4000; - param_1[2] = 0xba001402; - param_1[3] = 0; - param_1[4] = 0xba001301; - param_1[5] = 0; - param_1[6] = 0xba000c02; - param_1[7] = 0; - param_1[8] = 0xe7000000; - param_1[9] = 0; - puVar1 = proc_7F01B240(param_1 + 10,DAT_8006958c + -0x80000000,(longlong)param_2,param_3,param_4 - ); - return puVar1; -} - - - -undefined4 * insert_sniper_sight_eye_intro(undefined4 *param_1) - -{ - undefined4 *puVar1; - short sVar2; - float fVar3; - int iStack24; - undefined4 uStack20; - undefined4 uStack16; - int iStack12; - undefined4 uStack8; - undefined4 uStack4; - - iStack12 = DAT_8002a7dc; - uStack8 = DAT_8002a7e0; - uStack4 = DAT_8002a7e4; - iStack24 = dword_8002A7E8; - uStack20 = DAT_8002a7ec; - uStack16 = DAT_8002a7f0; - *param_1 = 0x6000000; - param_1[1] = 0x1000000; - puVar1 = insert_imageDL((Gfx *)(param_1 + 2)); - puVar1[1] = 0xfffff7fb; - *puVar1 = 0xfc11fe23; - sVar2 = get_video2_settings_txtClipW(); - fVar3 = truncf(((float)(int)sVar2 * num_obj_position_data_entries) / 1280.00000000); - puVar1 = proc_7F007CC8(puVar1 + 2,(int)fVar3,&iStack12,&iStack24); - return puVar1; -} - - - -undefined4 * proc_7F007E70(undefined4 *param_1,uint param_2) - -{ - undefined4 *puVar1; - short sVar2; - short sVar3; - - puVar1 = proc_7F01C1A4(param_1); - *puVar1 = 0xb900031d; - puVar1[1] = 0x504340; - puVar1[2] = 0xfcffffff; - puVar1[3] = 0xfffdf6fb; - puVar1[4] = 0xfa000000; - puVar1[5] = param_2 & 0xff; - puVar1[6] = 0xba000602; - puVar1[7] = 0; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1[8] = ((int)sVar3 & 0x3ffU) << 2 | 0xf6000000 | ((int)sVar2 & 0x3ffU) << 0xe; - puVar1[9] = 0; - return puVar1 + 10; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 proc_7F007F30(void) - -{ - ushort **ppuVar1; - undefined4 uVar2; - undefined4 *in_v0_lo; - float *pfVar3; - int *piVar4; - uint *puVar5; - undefined4 in_a0_lo; - int in_a1_lo; - uint extraout_a1_lo; - ushort *partdesc; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined4 *puVar6; - int iVar7; - float **ppfVar8; - float **ppfVar9; - float **ppfVar10; - float **ppfVar11; - int iVar13; - longlong lVar12; - undefined4 uVar14; - float in_f12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float in_f14; - float extraout_f14; - float extraout_f14_00; - float afStack216 [16]; - float afStack152 [21]; - float *pfStack68; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack56; - float *pfStack52; - undefined4 uStack20; - - ppfVar10 = (float **)&buffer_8002a7fc; - ppfVar8 = &pfStack68; - do { - ppfVar11 = ppfVar10 + 3; - ppfVar9 = ppfVar8 + 3; - *ppfVar8 = *ppfVar10; - ppfVar8[1] = ppfVar10[1]; - ppfVar8[2] = ppfVar10[2]; - ppfVar10 = ppfVar11; - ppfVar8 = ppfVar9; - } while (ppfVar11 != (float **)&DWORD_8002a838); - uVar14 = 0; - iVar13 = 0; - *(dword *)ppfVar9 = DWORD_8002a838; - uVar2 = 0; - if (0 < in_a1_lo) { - do { - uVar14 = uVar2; - puVar6 = (undefined4 *)((int)DAT_80069594 + 1); - in_v0_lo = DAT_80069594; - if (-1 < (int)DAT_80069594) { - DAT_80069594 = puVar6; - if (puVar6 == (undefined4 *)((int)&USHORT_00000088 + 1)) { - proc_7F06FCA8(DAT_8002a7f4,ptr_animation_table + 0x4298,0,in_f12,0x40000000, - in_f14); - in_f12 = extraout_f12; - } - in_v0_lo = DAT_80069594; - if (DAT_80069594 == (undefined4 *)&USHORT_000000d4) { - proc_7F06FE4C(DAT_8002a7f4,0x3fcccccd,in_f12); - } - } - proc_7F070AEC(DAT_8002a7f4,1,1); - in_f12 = extraout_f12_00; - in_f14 = extraout_f14; - if (DAT_80069594 == (undefined4 *)&USHORT_000000e6) { - uVar14 = 1; - play_sfx_a1(ptr_sfx_buf,0x6f,NULL); - in_f12 = extraout_f12_01; - in_f14 = extraout_f14_00; - } - iVar13 += 1; - uVar2 = uVar14; - } while (iVar13 != in_a1_lo); - } - lVar12 = 0; - set_80036084(1); - proc_7F073FC8(0x50); - subcalcpos(DAT_8002a7f4,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - ppuVar1 = *(ushort ***)(*(int *)(DAT_8002a7f8 + 8) + 8); - partdesc = *ppuVar1; - if (partdesc == NULL) { - partdesc = ppuVar1[2]; - } - else { - in_v0_lo = (undefined4 *)extract_id_from_object_structure_microcode(DAT_8002a7f8,partdesc); - *(ushort *)in_v0_lo = (ushort)uVar14; - partdesc = *(ushort **)(*(int *)(*(int *)(DAT_8002a7f8 + 8) + 8) + 8); - } - if (partdesc != NULL) { - in_v0_lo = (undefined4 *)extract_id_from_object_structure_microcode(DAT_8002a7f8,partdesc); - *in_v0_lo = uVar14; - } - proc_7F0BD714((int)*(short *)(*(int *)(DAT_8002a7f4 + 8) + 0xe) << 6); - pfStack52 = (float *)in_v0_lo; - subcalcmatrices(&pfStack68,DAT_8002a7f4,extraout_a2_lo_00,extraout_a3_lo_00); - pfVar3 = (float *)proc_7F06C660(DAT_8002a7f4,*(ushort **)(DAT_8002a7f8 + 0x1c),0); - pfStack68 = pfVar3; - proc_7F0BD714((int)*(short *)(*(int *)(DAT_8002a7f8 + 8) + 0xe) << 6); - pfStack52 = pfVar3; - instcalcmatrices(&pfStack68,DAT_8002a7f8,extraout_a2_lo_01,extraout_a3_lo_01); - piVar4 = proc_7F06B120(NULL,DAT_8002a7f4); - piVar4 = proc_7F06B120(piVar4,DAT_8002a7f8); - proc_7F06B29C(piVar4); - puVar5 = (uint *)proc_7F06BB28((int)piVar4); - uStack20 = 7; - uStack64 = 0; - uStack60 = 1; - uStack56 = in_a0_lo; - drawjointlist((int)&pfStack68,puVar5,extraout_a2_lo_02,extraout_a3_lo_02); - uStack60 = 2; - drawjointlist((int)&pfStack68,puVar5,extraout_a2_lo_03,extraout_a3_lo_03); - set_80036084(0); - proc_7F06B248((int)puVar5); - iVar13 = 0; - if (0 < *(short *)(*(int *)(DAT_8002a7f4 + 8) + 0xe)) { - iVar7 = *(int *)(DAT_8002a7f4 + 0xc); - while( true ) { - proc_7F058020((float (*) [4] [4])(iVar7 + iVar13),(float (*) [4])afStack152); - proc_7F058C9C((int)(float (*) [4])afStack152, - (uint *)(*(int *)(DAT_8002a7f4 + 0xc) + (int)lVar12 * 0x40)); - lVar12 = (longlong)((int)lVar12 + 1); - iVar13 += 0x40; - if (*(short *)(*(int *)(DAT_8002a7f4 + 8) + 0xe) <= lVar12) break; - iVar7 = *(int *)(DAT_8002a7f4 + 0xc); - } - } - lVar12 = 0; - iVar13 = 0; - if (0 < *(short *)(*(int *)(DAT_8002a7f8 + 8) + 0xe)) { - iVar7 = *(int *)(DAT_8002a7f8 + 0xc); - while( true ) { - proc_7F058020((float (*) [4] [4])(iVar7 + iVar13),(float (*) [4])afStack216); - proc_7F058C9C((int)(float (*) [4])afStack216, - (uint *)(*(int *)(DAT_8002a7f8 + 0xc) + (int)lVar12 * 0x40)); - lVar12 = (longlong)((int)lVar12 + 1); - iVar13 += 0x40; - if (*(short *)(*(int *)(DAT_8002a7f8 + 8) + 0xe) <= lVar12) break; - iVar7 = *(int *)(DAT_8002a7f8 + 0xc); - } - } - return uStack56; -} - - - -void insert_bond_eye_intro(undefined4 *param_1) - -{ - u32 uVar1; - float in_f12; - float fovy; - float in_f14; - float aspect; - float extraout_f14; - u16 local_42; - float afStack64 [16]; - - guTranslate((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_intro_backdrop),in_f12,in_f14,0.00000000 - ); - guPerspective((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_intro_bond),&local_42,fovy,aspect, - 46.00000000,1.33333337,10.00000000); - *param_1 = 0xbc00000e; - param_1[1] = (uint)local_42; - param_1[2] = 0xfcffffff; - param_1[3] = 0xfffe793c; - param_1[4] = 0xb900031d; - param_1[5] = 0x552048; - param_1[6] = 0x1030040; - uVar1 = osVirtualToPhysical((void *)(DAT_8002a7d0 * 0x40 + matrix_buffer_intro_bond)); - param_1[7] = uVar1; - param_1[8] = 0x1020040; - uVar1 = osVirtualToPhysical((void *)(DAT_8002a7d0 * 0x40 + matrix_buffer_intro_backdrop)); - param_1[9] = uVar1; - proc_7F059694(afStack64,FLOAT_8002a844,extraout_f14,dword_8002A83C,FLOAT_8002a840,FLOAT_8002a844 - ,FLOAT_8002a848 + dword_8002A83C,FLOAT_8002a84c + FLOAT_8002a840, - flt_8002A850 + FLOAT_8002a844,dword_8002A854); - proc_7F007F30(); - return; -} - - - -undefined4 * -load_display_rare_logo - (undefined4 *param_1,undefined8 param_2,undefined8 param_3,int param_4,uint param_5) - -{ - undefined4 *puVar1; - u32 uVar2; - uint uVar3; - float fovy; - float a; - float aspect; - float yEye; - float x; - u16 local_6 [3]; - - dword_8002A880 = (f32)(float)param_4; - *param_1 = 0x6000000; - param_1[1] = 0x1000000; - puVar1 = insert_imageDL((Gfx *)(param_1 + 2)); - guPerspective((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_0),local_6,fovy,aspect, - 60.00000000,1.33333337,100.00000000); - *puVar1 = 0xbc00000e; - puVar1[1] = (uint)local_6[0]; - puVar1[2] = 0x1030040; - uVar2 = osVirtualToPhysical((void *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_0)); - puVar1[3] = uVar2; - puVar1[5] = 0xffffffff; - puVar1[4] = 0xb6000000; - puVar1[6] = 0xb7000000; - puVar1[7] = 0x62204; - guLookAt((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_1),(float)dword_8002A880,yEye, - dword_8002A878,dword_8002A87C,(float)dword_8002A880,DAT_8002a884 + dword_8002A878, - DAT_8002a888 + dword_8002A87C,flt_8002A88C + (float)dword_8002A880,dword_8002A890); - puVar1[8] = 0x1020040; - uVar2 = osVirtualToPhysical((void *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_1)); - puVar1[9] = uVar2; - guRotate((Mtx *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_2),a,x,a,0.00000000); - a = a + 2.00000000; - puVar1[10] = 0x1000040; - uVar2 = osVirtualToPhysical((void *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_2)); - puVar1[0xb] = uVar2; - puVar1[0xc] = 0xbc000002; - puVar1[0xd] = 0x80000040; - puVar1[0xe] = 0x3860010; - puVar1[0xf] = 0x8002a868; - puVar1[0x10] = 0x3880010; - puVar1[0x11] = 0x8002a860; - stru_8002A860.R = (char)param_5; - stru_8002A860.G = stru_8002A860.R; - stru_8002A860.B = stru_8002A860.R; - stru_8002A864.R = stru_8002A860.R; - stru_8002A864.G = stru_8002A860.R; - stru_8002A864.B = stru_8002A860.R; - puVar1[0x12] = 0xe7000000; - puVar1[0x13] = 0; - puVar1[0x15] = 0; - puVar1[0x14] = 0xe7000000; - puVar1[0x17] = 0xfffff9fc; - puVar1[0x16] = 0xfc127e24; - puVar1[0x19] = 0x80000; - puVar1[0x18] = 0xba001301; - puVar1[0x1a] = 0xba001102; - puVar1[0x1b] = 0; - puVar1[0x1c] = 0xba001001; - puVar1[0x1d] = 0; - puVar1[0x1e] = 0xba000e02; - puVar1[0x1f] = 0; - puVar1[0x21] = 0x2000; - puVar1[0x20] = 0xba000c02; - puVar1[0x22] = 0xba000903; - puVar1[0x23] = 0xc00; - puVar1[0x25] = 0; - puVar1[0x24] = 0xe7000000; - puVar1[0x27] = 0; - puVar1[0x26] = 0xe7000000; - puVar1[0x28] = 0xbb000001; - puVar1[0x29] = 0x8000800; - puVar1[0x2b] = 0x2004fe8; - puVar1[0x2a] = 0xfd100000; - puVar1[0x2c] = 0xf5100000; - puVar1[0x2d] = 0x7014050; - puVar1[0x2e] = 0xe6000000; - puVar1[0x2f] = 0; - puVar1[0x31] = 0x73ff100; - puVar1[0x30] = 0xf3000000; - puVar1[0x33] = 0; - puVar1[0x32] = 0xe7000000; - puVar1[0x35] = 82000; - puVar1[0x34] = 0xf5101000; - puVar1[0x36] = 0xf2000000; - uVar3 = param_5 & 0xff; - puVar1[0x37] = 0x7c07c; - puVar1[0x38] = 0xfa000000; - puVar1[0x39] = uVar3 << 0x18 | uVar3 << 0x10 | uVar3 << 8 | 0xff; - puVar1[0x3a] = 0x6000000; - puVar1[0x3b] = 0x20043e8; - puVar1[0x3d] = 0x20044b0; - puVar1[0x3c] = 0x6000000; - puVar1[0x3f] = 0x2005ff0; - puVar1[0x3e] = 0xfd100000; - puVar1[0x41] = 0x7014050; - puVar1[0x40] = 0xf5100000; - puVar1[0x43] = 0; - puVar1[0x42] = 0xe6000000; - puVar1[0x45] = 0x73ff100; - puVar1[0x44] = 0xf3000000; - puVar1[0x47] = 0; - puVar1[0x46] = 0xe7000000; - puVar1[0x49] = 82000; - puVar1[0x48] = 0xf5101000; - puVar1[0x4a] = 0xf2000000; - puVar1[0x4b] = 0x7c07c; - puVar1[0x4c] = 0xfa000000; - uVar3 = (int)(param_5 * 0xf0) / 0xff & 0xff; - if (false) { - trap(0x1c00); - } - if ((false) && (param_5 * 0xf0 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (param_5 * 0xd0 == -0x80000000)) { - trap(0x1800); - } - puVar1[0x4d] = uVar3 << 0x18 | ((int)(param_5 * 0xd0) / 0xff & 0xffU) << 0x10 | uVar3 << 8 | - 0xff; - puVar1[0x4e] = 0x6000000; - puVar1[0x4f] = 0x2004758; - return puVar1 + 0x50; -} - - - -void proc_7F008B58(ulonglong param_1) - -{ - virtualaddress = (char *)param_1; - dword_8002A7D4 = 0; - num_obj_position_data_entries = 0x445c0000; - a = -40.00000000; - intro_eye_counter = 0; - romCopy(virtualaddress,&Globalimagetable_commandblock,0x6800); - return; -} - - - -void retrieve_display_rareware_logo(undefined4 *param_1) - -{ - bool bVar1; - u32 uVar2; - int iVar3; - int iVar4; - - DAT_8002a7d0 = 1 - DAT_8002a7d0; - *param_1 = 0xbc000806; - uVar2 = osVirtualToPhysical(virtualaddress); - param_1[1] = uVar2; - if ((dword_8002A7D4 == '\0') || (dword_8002A7D4 == '\x01')) { - iVar3 = intro_eye_counter * 0xff; - iVar4 = iVar3 / 0x46; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - if (0xff < iVar4) { - iVar4 = 0xff; - } - if (iVar4 < 0) { - iVar4 = 0; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 + -0x9f60 == -0x80000000)) { - trap(0x1800); - } - iVar3 = 0xff - (iVar3 + -0x9f60) / 0x46; - if (0xff < iVar3) { - iVar3 = 0xff; - } - if (iVar3 < 0) { - iVar3 = 0; - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 * iVar3 == -0x80000000)) { - trap(0x1800); - } - load_display_rare_logo - (param_1 + 2,0x193,0x1e8,(int)num_obj_position_data_entries,(iVar4 * iVar3) / 0xff - ); - bVar1 = 0x103 < intro_eye_counter; - intro_eye_counter += 1; - if ((bVar1) && (0x121 < intro_eye_counter)) { - intro_eye_counter = 0; - dword_8002A7D4 += '\x02'; - } - } - return; -} - - - -ulonglong proc_7F008DD0(void) - -{ - return (ulonglong)(dword_8002A7D4 == '\x02'); -} - - - -void proc_7F008DE4(ushort **param_1,int *param_2) - -{ - DAT_8006958c = *param_1; - *param_2 = *param_2 + -0x40400; - DAT_80069588 = *param_1 + 0x20200; - *param_1 = DAT_80069588; - romCopy((char *)DAT_80069588,&unknown2,0x1a580); - proc_7F01B0E0(DAT_80069588,(byte *)DAT_8006958c); - return; -} - - - -void proc_7F008E80(short *param_1,int param_2) - -{ - ushort uVar1; - short *psVar2; - uint *puVar3; - int iVar4; - undefined4 extraout_a2_lo; - uint uVar5; - float in_f12; - f32 scale; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - f32 scale_00; - float in_f14; - float extraout_f14; - uint *local_res0; - int local_res4 [3]; - int aiStack32 [4]; - xyzpoint local_10; - - dword_8002A7D4 = 2; - local_res0 = (uint *)param_1; - local_res4[0] = param_2; - guOrtho(matrix_buffer_gunbarrel_0,in_f12,in_f14,0.00000000,1280.00000000,0.00000000,960.00000000 - ,1.00000000); - psVar2 = (short *)local_res0; - num_obj_position_data_entries = 0xc1f00000; - pos_data_entry = 0x43f10000; - DAT_8006957c = 0xc2c80000; - DAT_80069580 = 0x43f10000; - DAT_80069584 = 0x42; - DAT_80069550 = (short *)local_res0; - local_res0 = (uint *)((short *)local_res0 + 0x100); - local_res4[0] += -0x200; - proc_7F01BAE0(psVar2,0x1e); - puVar3 = local_res0; - DAT_80069554 = local_res0; - local_res0 = local_res0 + 0x40; - local_res4[0] += -0x100; - proc_7F01BFF8(puVar3,(uint)(DAT_80069550 + -0x40000000),0x1e); - proc_7F008DE4((ushort **)register0x000000ec,local_res4); - local_10.x = dword_8002A8A8; - local_10.y = dword_8002A8AC; - local_10.z = dword_8002A8B0; - proc_7F0CBAF4(aiStack32,(int)local_res0,0x12c00); - local_res0 = local_res0 + 0x4b00; - local_res4[0] += -0x12c00; - load_object_fill_header - (c_item_entries[5].header,(u8 *)c_item_entries[5].filename,(int)local_res0, - local_res4[0],(int)aiStack32); - iVar4 = get_pc_buffer_remaining_value((byte *)c_item_entries[5].filename); - uVar5 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_res0 = (uint *)((int)local_res0 + uVar5); - local_res4[0] -= uVar5; - load_object_fill_header - (c_item_entries[78].header,(u8 *)c_item_entries[78].filename,(int)local_res0, - local_res4[0],(int)aiStack32); - iVar4 = get_pc_buffer_remaining_value((byte *)c_item_entries[78].filename); - uVar5 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_res4[0] -= uVar5; - local_res0 = (uint *)((int)local_res0 + uVar5); - DAT_8002a7f4 = setup_chr_instance(5,0x4e,c_item_entries[5].header,c_item_entries[78].header,0); - set_obj_instance_controller_scale(DAT_8002a7f4,scale); - proc_7F06CE84(DAT_8002a7f4,0x3f800000); - setsuboffset(DAT_8002a7f4,&local_10); - setsubroty(DAT_8002a7f4,extraout_f12,0,extraout_a2_lo); - proc_7F06FF18(DAT_8002a7f4,0x3f000000,extraout_f12_00); - uVar1 = *(ushort *)(ptr_animation_table + 0x4148); - iVar4 = (uint)uVar1 - 0x44; - if (iVar4 < 0) { - iVar4 += (uint)uVar1; - while (iVar4 < 0) { - iVar4 += (uint)uVar1; - } - } - proc_7F06FCA8(DAT_8002a7f4,ptr_animation_table + 0x4144,0,extraout_f12_01,(float)iVar4, - extraout_f14); - load_object_fill_header - ((object_header *)PitemZ_entries[191].header,(u8 *)PitemZ_entries[191].filename, - (int)local_res0,local_res4[0],(int)aiStack32); - iVar4 = get_pc_buffer_remaining_value((byte *)PitemZ_entries[191].filename); - uVar5 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_res4[0] -= uVar5; - local_res0 = (uint *)((int)local_res0 + uVar5); - set_objuse_flag_compute_grp_nums_set_obj_loaded((object_header *)PitemZ_entries[191].header); - DAT_8002a7f8 = get_obj_instance_controller_for_header - ((object_header *)PitemZ_entries[191].header); - set_obj_instance_controller_scale(DAT_8002a7f8,scale_00); - *(uint *)(DAT_8002a7f8 + 0x18) = DAT_8002a7f4; - *(undefined4 *)(DAT_8002a7f8 + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(DAT_8002a7f4 + 8) + 8) + 0xc); - DAT_80069594 = 0; - return; -} - - - -void proc_7F00920C(void) - -{ - if (DAT_8002a7f4 != NULL) { - set_aircraft_obj_inst_scale_to_zero(DAT_8002a7f4); - } - if (DAT_8002a7f8 != NULL) { - set_obj_instance_scale_to_zero(DAT_8002a7f8); - } - return; -} - - - -longlong proc_7F009254(longlong param_1) - -{ - bool bVar1; - Gfx *pGVar2; - short sVar3; - undefined4 *displaylist; - ushort x; - - displaylist = (undefined4 *)param_1; - DAT_8002a7d0 = 1 - DAT_8002a7d0; - switch(dword_8002A7D4) { - case '\x02': - displaylist = something_with_gunbarrel_and_rareware_logo_matrix_manip(displaylist); - param_1 = (longlong)(int)displaylist; - num_obj_position_data_entries = num_obj_position_data_entries + 6.00000000; - if (DAT_80069584 < 0) { - DAT_80069584 = 200; - DAT_8006957c = num_obj_position_data_entries - 12.00000000; - } - else { - DAT_80069584 += -6; - } - if (flt_8004F2FC < num_obj_position_data_entries) { - dword_8002A7D4 += '\x01'; - num_obj_position_data_entries = flt_8004F300; - } - break; - case '\x03': - *displaylist = 0x6000000; - displaylist[1] = 0x1000000; - pGVar2 = (Gfx *)insert_imageDL((Gfx *)(displaylist + 2)); - pGVar2 = (Gfx *)insert_imageDL(pGVar2); - pGVar2 = (Gfx *)insert_imageDL(pGVar2); - pGVar2 = (Gfx *)insert_imageDL(pGVar2); - displaylist = insert_imageDL(pGVar2); - displaylist = insert_sniper_sight_eye_intro(displaylist); - displaylist = insert_sight_backdrop_eye_intro(displaylist); - param_1 = (longlong)(int)displaylist; - if (num_obj_position_data_entries < 600.00000000) { - insert_bond_eye_intro(displaylist); - } - num_obj_position_data_entries = num_obj_position_data_entries - flt_8004F304; - if (num_obj_position_data_entries <= -80.00000000) { - dword_8002A7D4 += '\x01'; - intro_eye_counter = 0x14; - } - break; - case '\x04': - displaylist = insert_sniper_sight_eye_intro(displaylist); - displaylist = insert_sight_backdrop_eye_intro(displaylist); - param_1 = (longlong)(int)displaylist; - insert_bond_eye_intro(displaylist); - intro_eye_counter -= 1; - if ((int)intro_eye_counter < 0) { - dword_8002A7D4 += '\x01'; - die_blood_image_routine(); - intro_state_blood_animation = 0; - param_1 = (longlong)(int)param_1; - intro_eye_counter = 1; - } - break; - case '\x05': - intro_eye_counter -= 1; - if (intro_eye_counter == 0) { - intro_state_blood_animation = die_blood_image_routine(); - intro_eye_counter = 2; - } - displaylist = insert_sniper_sight_eye_intro(displaylist); - displaylist = insert_sight_backdrop_eye_intro(displaylist); - insert_bond_eye_intro(displaylist); - displaylist = proc_7F01C400(displaylist); - param_1 = (longlong)(int)displaylist; - if (intro_state_blood_animation != 0) { - dword_8002A7D4 += '\x01'; - DAT_80069584 = 0; - DAT_8006957c = num_obj_position_data_entries; - intro_eye_counter = 0; - } - break; - case '\x06': - intro_eye_counter += 1; - x = DAT_80069584 + 0x38e; - DAT_80069584 = DAT_80069584 + 0x38e; - sVar3 = sins(x); - num_obj_position_data_entries = - ((float)(int)sVar3 * 64.00000000) / 32768.00000000 + DAT_8006957c; - displaylist = insert_sniper_sight_eye_intro(displaylist); - displaylist = insert_sight_backdrop_eye_intro(displaylist); - insert_bond_eye_intro(displaylist); - displaylist = proc_7F01CA18(displaylist); - param_1 = (longlong)(int)displaylist; - if (0x6b < (int)intro_eye_counter) { - intro_eye_counter = 0; - dword_8002A7D4 += '\x01'; - } - break; - case '\a': - x = DAT_80069584 + 0x38e; - DAT_80069584 = DAT_80069584 + 0x38e; - sVar3 = sins(x); - num_obj_position_data_entries = - ((float)(int)sVar3 * 64.00000000) / 32768.00000000 + DAT_8006957c; - displaylist = insert_sniper_sight_eye_intro(displaylist); - displaylist = insert_sight_backdrop_eye_intro(displaylist); - insert_bond_eye_intro(displaylist); - displaylist = proc_7F01CA18(displaylist); - intro_eye_counter += 8; - displaylist = proc_7F007E70(displaylist,intro_eye_counter); - param_1 = (longlong)(int)displaylist; - if (0xf6 < (int)intro_eye_counter) { - intro_eye_counter = 0; - dword_8002A7D4 += '\x01'; - } - break; - case '\b': - *displaylist = 0x6000000; - displaylist[1] = 0x1000000; - displaylist = insert_imageDL((Gfx *)(displaylist + 2)); - param_1 = (longlong)(int)displaylist; - bVar1 = 0x1d < (int)intro_eye_counter; - intro_eye_counter += 1; - if (bVar1) { - intro_eye_counter = 0; - dword_8002A7D4 += '\x01'; - } - } - return param_1; -} - - - -ulonglong proc_7F009744(void) - -{ - return (ulonglong)(dword_8002A7D4 == '\t'); -} - - - -uint * write_text_at_abs_coord - (uint *param_1,uint *param_2,uint *param_3,byte *param_4,int param_5,int param_6, - uint param_7,int param_8,int param_9,int param_10,int param_11) - -{ - uint *in_v0_lo; - - if (j_text_trigger == 0) { - en_text_write_stuff(param_1,(int *)param_2,(int *)param_3,param_4,param_5,param_6,param_7, - param_8,param_9,param_10,param_11); - } - else { - jp_text_stuff(param_1,param_2,param_3,param_4,param_5,param_6,param_7, - (uint)dword_8002A9B0 << 0x18 | (uint)dword_8002A9B4 << 0x10 | - (uint)dword_8002A9B8 << 8 | (uint)dword_8002A9BC,param_8,param_9,param_10, - param_11); - } - return in_v0_lo; -} - - - -ulonglong check_if_cheat_available(u32 cheat) - -{ - ulonglong uVar1; - save_file *folder; - u32 uVar2; - - switch(cheat) { - case 1: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 0xd: - case 0x10: - case 0x16: - case 0x19: - case 0x23: - case 0x24: - case 0x25: - case 0x26: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x2f: - case 0x30: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x3c: - case 0x3d: - case 0x3e: - case 0x3f: - case 0x40: - case 0x41: - case 0x42: - case 0x43: - case 0x44: - case 0x45: - case 0x46: - case 0x47: - case 0x48: - case 0x49: - case 0x4a: - uVar1 = 0; - break; - case 2: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,1); - break; - case 3: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0x13); - break; - case 10: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,10); - break; - case 0xb: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0xf); - break; - case 0xc: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,2); - break; - case 0xe: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,7); - break; - case 0xf: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0); - break; - case 0x11: - uVar2 = check_cradle_completed_in_folder(selected_folder_num); - uVar1 = SEXT48((int)uVar2); - break; - case 0x12: - uVar2 = check_aztec_completed_in_folder_secret_00(selected_folder_num); - uVar1 = SEXT48((int)uVar2); - break; - case 0x13: - uVar2 = check_egypt_completed_in_folder_00(selected_folder_num); - uVar1 = SEXT48((int)uVar2); - break; - case 0x14: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0xd); - break; - case 0x15: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0x11); - break; - case 0x17: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,6); - break; - case 0x18: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,5); - break; - case 0x1a: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,9); - break; - case 0x1b: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0xc); - break; - case 0x1c: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0xb); - break; - case 0x1d: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,4); - break; - case 0x1e: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,3); - break; - case 0x1f: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0x10); - break; - case 0x20: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,8); - break; - case 0x21: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0xe); - break; - case 0x22: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(folder,0x12); - break; - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - return uVar1; -} - - - -int getplayerfavoredweapon(int param_1,int param_2) - -{ - int iVar1; - - iVar1 = get_ptr_long_watch_text_for_item((&(&fav_weapon_player1)[param_1].right)[param_2]); - return iVar1; -} - - - -int menu_control_stick_tracking(void) - -{ - s32 sVar1; - char cVar3; - int iVar2; - int iVar4; - int iVar5; - f32 fVar6; - f32 fVar7; - - sVar1 = get_cur_controller_horz_stick_pos('\0'); - cVar3 = (char)sVar1; - sVar1 = get_cur_controller_vert_stick_pos('\0'); - iVar5 = sVar1 * -0x1000000 >> 0x18; - if (cVar3 < -5) { - iVar4 = ((int)cVar3 + 5) * 0x1000000 >> 0x18; - } - else { - if (cVar3 < '\x06') { - iVar4 = 0; - } - else { - iVar4 = ((int)cVar3 + -5) * 0x1000000 >> 0x18; - } - } - if (iVar4 < 0x47) { - if (iVar4 < -0x46) { - iVar4 = -0x46; - } - } - else { - iVar4 = 0x46; - } - if (iVar5 < -5) { - iVar2 = (iVar5 + 5) * 0x1000000 >> 0x18; - } - else { - iVar2 = 0; - if (5 < iVar5) { - iVar2 = (iVar5 + -5) * 0x1000000 >> 0x18; - } - } - cVar3 = (char)iVar2; - if (iVar2 < 0x47) { - if (iVar2 < -0x46) { - cVar3 = -0x46; - } - } - else { - cVar3 = 'F'; - } - if (iVar4 < 1) { - if (iVar4 < 0) { - cursor_h_pos = (f32)((float)cursor_h_pos + - ((float)iVar4 * folder_menu_z_dim - 0.50000000) * global_timer_delta - ); - } - } - else { - cursor_h_pos = (f32)((float)cursor_h_pos + - ((float)iVar4 * folder_menu_x_dim + 0.50000000) * global_timer_delta); - } - fVar6 = getPlayer_c_screenleft(); - fVar7 = getPlayer_c_screenwidth(); - if (((float)fVar7 + (float)fVar6) - 20.00000000 < (float)cursor_h_pos) { - fVar6 = getPlayer_c_screenleft(); - fVar7 = getPlayer_c_screenwidth(); - cursor_h_pos = (f32)(((float)fVar7 + (float)fVar6) - 20.00000000); - } - else { - fVar6 = getPlayer_c_screenleft(); - if ((float)cursor_h_pos < (float)fVar6 + 20.00000000) { - cursor_h_pos = getPlayer_c_screenleft(); - cursor_h_pos = (f32)((float)cursor_h_pos + 20.00000000); - } - } - iVar5 = (int)cVar3; - if (cVar3 < '\x01') { - if (cVar3 < '\0') { - cursor_v_pos = (f32)((float)cursor_v_pos + - ((float)iVar5 * flt_800519D4 - 0.50000000) * global_timer_delta); - } - } - else { - cursor_v_pos = (f32)((float)cursor_v_pos + - ((float)iVar5 * flt_800519D0 + 0.50000000) * global_timer_delta); - } - fVar6 = getPlayer_c_screentop(); - fVar7 = getPlayer_c_screenheight(); - if (((float)fVar7 + (float)fVar6) - 20.00000000 < (float)cursor_v_pos) { - fVar6 = getPlayer_c_screentop(); - fVar7 = getPlayer_c_screenheight(); - cursor_v_pos = (f32)(((float)fVar7 + (float)fVar6) - 20.00000000); - } - else { - fVar6 = getPlayer_c_screentop(); - if ((float)cursor_v_pos < (float)fVar6 + 20.00000000) { - cursor_v_pos = getPlayer_c_screentop(); - cursor_v_pos = (f32)((float)cursor_v_pos + 20.00000000); - } - } - return iVar5; -} - - - -undefined4 load_draw_selected_icon_folder_select(undefined4 param_1) - -{ - f32 wdivh; - undefined4 local_res0; - sImageTableEntry *local_14; - float local_10; - float local_c; - float local_8; - float local_4; - - if (folder_selection_screen_option_icon == 0) { - local_14 = crosshairimage; - } - else { - if (folder_selection_screen_option_icon == 1) { - local_14 = mainfolderimages; - } - else { - if (folder_selection_screen_option_icon == 2) { - local_14 = mainfolderimages + 1; - } - } - } - local_res0 = param_1; - append_image_to_DL((uint **)register0x000000ec,local_14,4,0,0); - local_8 = truncf((float)cursor_h_pos + 0.50000000); - local_4 = truncf((float)cursor_v_pos + 0.50000000); - local_10 = (float)(uint)local_14->width; - if (false) { - local_10 = local_10 + 4294967296.00000000; - } - local_10 = local_10 * 0.50000000; - local_c = (float)(uint)local_14->height; - if (false) { - local_c = local_c + 4294967296.00000000; - } - local_c = local_c * 0.50000000; - display_image_at_on_screen_coord - ((int *)register0x000000ec,(int *)&local_8,wdivh,(int)&local_10,(uint)local_14->width, - (uint)local_14->height,0,0,1,0xff,0xff,0xff,0xdc,(uint)(local_14->level != '\0')); - return local_res0; -} - - - -uint * add_tab1_start(undefined4 *param_1) - -{ - int iVar1; - short sVar3; - short sVar4; - uint *puVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - dword_CODE_bss_80069770 = get_textptr_for_textID(0x9c04); - setTextSpacingInverted(1); - iStack16 = 0; - iStack12 = 0; - proc_7F0AE98C(&iStack12,&iStack16,dword_CODE_bss_80069770,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - iStack4 = 0x33; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (tab_1_highlight != FALSE) { - param_1 = microcode_constructor_related_to_menus - (param_1,(longlong)((iStack8 - iStack12) + 1),0x33,(longlong)iStack8, - 0x75,0x32); - } - setTextOrientation(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0x54 - (iVar1 >> 1); - sVar3 = get_video2_settings_txtClipH(); - sVar4 = get_video2_settings_txtClipW(); - puVar2 = (uint *)(int)sVar4; - en_text_write_stuff(param_1,&iStack4,&iStack8,dword_CODE_bss_80069770, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff,(int)sVar3, - (int)sVar4,0,0); - setTextOrientation(0); - setTextSpacingInverted(0); - return puVar2; -} - - - -undefined8 isontab1(void) - -{ - if ((390.00000000 < (float)cursor_h_pos) && ((float)cursor_v_pos <= (float)tab1_max_x_coord)) { - return 1; - } - return 0; -} - - - -uint * add_tab3_previous(undefined4 *param_1) - -{ - int iVar1; - short sVar3; - short sVar4; - uint *puVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - DAT_80069778 = get_textptr_for_textID(0x9c06); - setTextSpacingInverted(1); - iStack16 = 0; - iStack12 = 0; - proc_7F0AE98C(&iStack12,&iStack16,DAT_80069778,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - iStack4 = 0xec; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (tab_3_highlight != FALSE) { - param_1 = microcode_constructor_related_to_menus - (param_1,(longlong)((iStack8 - iStack12) + 1),0xec,(longlong)iStack8, - 0x12e,0x32); - } - setTextOrientation(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0x10d - (iVar1 >> 1); - sVar3 = get_video2_settings_txtClipH(); - sVar4 = get_video2_settings_txtClipW(); - puVar2 = (uint *)(int)sVar4; - en_text_write_stuff(param_1,&iStack4,&iStack8,DAT_80069778,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xff,(int)sVar3,(int)sVar4,0,0); - setTextOrientation(0); - setTextSpacingInverted(0); - return puVar2; -} - - - -undefined8 isontab3(void) - -{ - if ((390.00000000 < (float)cursor_h_pos) && (223.00000000 < (float)cursor_v_pos)) { - return 1; - } - return 0; -} - - - -void set_cursor_pos_tab2(void) - -{ - cursor_h_pos = tab2_first_x_coord; - cursor_v_pos = 144.00000000; - return; -} - - - -uint * add_tab2_next(undefined4 *param_1) - -{ - int iVar1; - short sVar3; - short sVar4; - uint *puVar2; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - DAT_80069774 = get_textptr_for_textID(0x9c05); - setTextSpacingInverted(1); - iStack16 = 0; - iStack12 = 0; - proc_7F0AE98C(&iStack12,&iStack16,DAT_80069774,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - iStack4 = 0x90; - iVar1 = iStack12; - if (iStack12 < 0) { - iVar1 = iStack12 + 1; - } - iStack8 = 0x19b - (iVar1 >> 1); - if (tab_2_highlight != FALSE) { - param_1 = microcode_constructor_related_to_menus - (param_1,(longlong)((iStack8 - iStack12) + 1),0x90,(longlong)iStack8, - 0xd2,0x32); - } - setTextOrientation(1); - iVar1 = iStack16; - if (iStack16 < 0) { - iVar1 = iStack16 + 1; - } - iStack4 = 0xb1 - (iVar1 >> 1); - sVar3 = get_video2_settings_txtClipH(); - sVar4 = get_video2_settings_txtClipW(); - puVar2 = (uint *)(int)sVar4; - en_text_write_stuff(param_1,&iStack4,&iStack8,DAT_80069774,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xff,(int)sVar3,(int)sVar4,0,0); - setTextOrientation(0); - setTextSpacingInverted(0); - return puVar2; -} - - - -undefined8 isontab2(void) - -{ - if (((390.00000000 < (float)cursor_h_pos) && ((float)tab2_bottom_y_coord < (float)cursor_v_pos)) - && ((float)cursor_v_pos <= 223.00000000)) { - return 1; - } - return 0; -} - - - -void init_menu00_legalscreen(void) - -{ - f32 scale; - xyzpoint xStack16; - - musicTrack1Stop(); - maybe_is_in_menu = TRUE; - menu_timer = 0; - xStack16.x = dword_8002A9C0.x; - xStack16.y = dword_8002A9C0.y; - xStack16.z = dword_8002A9C0.z; - load_object_fill_header - ((object_header *)PitemZ_entries[319].header,(u8 *)PitemZ_entries[319].filename, - (int)ptr_logo_and_walletbond_DL,0x3c000,0); - set_objuse_flag_compute_grp_nums_set_obj_loaded((object_header *)PitemZ_entries[319].header); - something_screen_constructor = - get_obj_instance_controller_for_header((object_header *)PitemZ_entries[319].header); - set_obj_instance_controller_scale(something_screen_constructor,scale); - setsuboffset(something_screen_constructor,&xStack16); - proc_7F01DF90(); - return; -} - - - -void update_menu00_legalscreen(void) - -{ - is_first_time_on_legal_screen = FALSE; - set_obj_instance_scale_to_zero(something_screen_constructor); - return; -} - - - -void interface_menu00_legalscreen(void) - -{ - u64 uVar1; - u32 uVar2; - - setvideo_far(60.00000000); - video_related_21((f32)menu00_aspect); - set_page_height(100.00000000,(f32)menu00_pageheight); - set_video2_settings_offset_24(0); - menu_timer += clock_timer; - if (menu_timer < 0xf1) { - uVar2 = 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 ((uVar2 != 0) && (is_first_time_on_legal_screen == FALSE)) { - if (is_first_time_on_main_menu == FALSE) { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - else { - set_menu_to_mode(MENU_NINTENDO_LOGO,1); - } - } - } - else { - uVar1 = get_attached_controller_count(); - if (((longlong)uVar1 < 1) && (is_first_time_on_legal_screen != FALSE)) { - set_menu_to_mode(MENU_NO_CONTROLLERS,1); - } - else { - set_menu_to_mode(MENU_NINTENDO_LOGO,1); - } - } - return; -} - - - -uint * display_aligned_white_text_to_screen - (undefined4 *param_1,int param_2,int param_3,int param_4,int param_5,byte *param_6, - int param_7,int param_8) - -{ - short sVar2; - short sVar3; - uint *puVar1; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack8 = 0; - iStack4 = 0; - proc_7F0AE98C(&iStack4,&iStack8,param_6,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - param_4 *= iStack8; - if (param_4 < 0) { - param_4 += 1; - } - param_5 *= iStack4; - iStack12 = param_2 - (param_4 >> 1); - if (param_5 < 0) { - param_5 += 1; - } - iStack16 = param_3 - (param_5 >> 1); - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1 = (uint *)(int)sVar3; - en_text_write_stuff(param_1,&iStack12,&iStack16,param_6,param_7,param_8,0xffffffff,(int)sVar2, - (int)sVar3,0,0); - return puVar1; -} - - - -void constructor_menu00_legalscreen(Gfx *param_1) - -{ - float (*DL) [4]; - longlong lVar1; - byte *pbVar2; - uint *puVar3; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float (**ppaafVar4) [4] [4]; - float (**ppaafVar5) [4] [4]; - float (**ppaafVar6) [4] [4]; - float (**ppaafVar7) [4] [4]; - int iVar8; - legal_screen_text *plVar9; - int iVar10; - float extraout_f12; - float extraout_f14; - float afStack208 [18]; - float afStack136 [17]; - float (*paafStack68) [4] [4]; - undefined4 uStack64; - undefined4 uStack60; - float (*pafStack56) [4]; - float (*pafStack52) [4]; - - ppaafVar6 = (float (**) [4] [4])dword_8002AABC; - ppaafVar4 = &paafStack68; - do { - ppaafVar7 = ppaafVar6 + 3; - ppaafVar5 = ppaafVar4 + 3; - *ppaafVar4 = *ppaafVar6; - ppaafVar4[1] = ppaafVar6[1]; - ppaafVar4[2] = ppaafVar6[2]; - ppaafVar6 = ppaafVar7; - ppaafVar4 = ppaafVar5; - } while (ppaafVar7 != (float (**) [4] [4])0x8002aaf8); - *ppaafVar5 = paafRam8002aaf8; - pafStack56 = (float (*) [4])insert_imageDL(param_1); - pafStack52 = pafStack56; - proc_7F059694((float *)(float (*) [4] [4])afStack136,extraout_f12,extraout_f14,0.00000000, - 0.00000000,4000.00000000,0.00000000,0.00000000,0.00000000,0.00000000); - paafStack68 = (float (*) [4] [4])afStack136; - proc_7F0BD714((int)*(short *)(*(int *)(something_screen_constructor + 8) + 0xe) << 6); - proc_7F058020((float (*) [4] [4])afStack136,pafStack52); - *(float (**) [4])(something_screen_constructor + 0xc) = pafStack52; - proc_7F06EFC4(something_screen_constructor); - uStack60 = 3; - uStack64 = 0; - subdraw((int)&paafStack68,something_screen_constructor,extraout_a2_lo,extraout_a3_lo); - DL = pafStack56; - lVar1 = 0; - iVar10 = 0; - if (0 < *(short *)(*(int *)(something_screen_constructor + 8) + 0xe)) { - iVar8 = *(int *)(something_screen_constructor + 0xc); - while( true ) { - proc_7F058020((float (*) [4] [4])(iVar8 + iVar10),(float (*) [4])afStack208); - proc_7F058C9C((int)(float (*) [4])afStack208, - (uint *)(*(int *)(something_screen_constructor + 0xc) + (int)lVar1 * 0x40) - ); - lVar1 = (longlong)((int)lVar1 + 1); - iVar10 += 0x40; - if (*(short *)(*(int *)(something_screen_constructor + 8) + 0xe) <= lVar1) break; - iVar8 = *(int *)(something_screen_constructor + 0xc); - } - } - lVar1 = (longlong)(int)something_screen_constructor; - microcode_constructor((u32 *)DL); - plVar9 = legal_screen_constructer_table; - do { - pbVar2 = get_textptr_for_textID(plVar9->txtID); - puVar3 = display_aligned_white_text_to_screen - ((undefined4 *)lVar1,plVar9->h_pos,plVar9->v_pos,plVar9->flag, - plVar9->flag2,pbVar2,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge); - lVar1 = (longlong)(int)puVar3; - plVar9 = plVar9 + 1; - } while (plVar9 < dword_8002AABC); - return; -} - - - -void reset_menutimer(void) - -{ - menu_timer = 0; - return; -} - - - -void dummy7F00AAF8(void) - -{ - return; -} - - - -void interface_menu17_switchscreens(void) - -{ - setvideo_far(60.00000000); - video_related_21((f32)menu17_aspect); - set_page_height(100.00000000,(f32)menu17_pageheight); - set_video2_settings_offset_24(0); - if (((3 < menu_timer + 1) && (spectrum_related_flag == FALSE)) && - (is_emulating_spectrum == FALSE)) { - maybe_prev_menu = menu_update; - menu_update = ~MENU_LEGAL_SCREEN; - } - menu_timer = menu_timer + 1; - return; -} - - - -void constructor_menu17_switchscreens(Gfx *param_1) - -{ - insert_imageDL(param_1); - return; -} - - - -void init_menu01_nintendo(void) - -{ - f32 scale; - xyzpoint local_c; - - menu_timer = 0; - local_c.x = xyzpoint_8002aafc.x; - local_c.y = xyzpoint_8002aafc.y; - local_c.z = xyzpoint_8002aafc.z; - load_object_fill_header - ((object_header *)PitemZ_entries[276].header,(u8 *)PitemZ_entries[276].filename, - (int)ptr_logo_and_walletbond_DL,0x3c000,0); - set_objuse_flag_compute_grp_nums_set_obj_loaded((object_header *)PitemZ_entries[276].header); - something_screen_constructor = - get_obj_instance_controller_for_header((object_header *)PitemZ_entries[276].header); - set_obj_instance_controller_scale(something_screen_constructor,scale); - 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; - return; -} - - - -void update_menu01_nintendo(void) - -{ - set_obj_instance_scale_to_zero(something_screen_constructor); - return; -} - - - -void interface_menu01_nintendo(void) - -{ - u32 uVar1; - - setvideo_far(60.00000000); - video_related_21((f32)menu01_aspect); - set_page_height(100.00000000,(f32)menu01_pageheight); - set_video2_settings_offset_24(0); - menu_timer += clock_timer; - if (menu_timer < 0x1f5) { - 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) { - if (is_first_time_on_main_menu == FALSE) { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - else { - prev_keypresses = 1; - set_menu_to_mode(MENU_RAREWARE_LOGO,1); - } - } - } - else { - set_menu_to_mode(MENU_RAREWARE_LOGO,1); - } - return; -} - - - -void constructor_menu01_nintendo(Gfx *param_1) - -{ - undefined4 *puVar1; - int iVar2; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float (**ppaafVar3) [4] [4]; - float (**ppaafVar4) [4] [4]; - int iVar5; - float (**ppaafVar6) [4] [4]; - float (**ppaafVar7) [4] [4]; - longlong lVar8; - float extraout_f12; - float extraout_f14; - float afStack280 [16]; - float afStack216 [20]; - float afStack136 [18]; - float (*paafStack64) [4] [4]; - undefined4 uStack60; - undefined4 uStack56; - undefined4 *puStack52; - f32 *pfStack48; - - ppaafVar6 = (float (**) [4] [4])buffer_8002ab08; - ppaafVar3 = &paafStack64; - do { - ppaafVar7 = ppaafVar6 + 3; - ppaafVar4 = ppaafVar3 + 3; - *ppaafVar3 = *ppaafVar6; - ppaafVar3[1] = ppaafVar6[1]; - ppaafVar3[2] = ppaafVar6[2]; - ppaafVar6 = ppaafVar7; - ppaafVar3 = ppaafVar4; - } while (ppaafVar7 != (float (**) [4] [4])0x8002ab44); - *ppaafVar4 = paafRam8002ab44; - puVar1 = insert_imageDL(param_1); - *puVar1 = 0xbc000002; - puVar1[1] = 0x80000040; - puVar1[2] = 0x3860010; - puVar1[3] = 0x8002a990; - puStack52 = puVar1 + 6; - puVar1[4] = 0x3880010; - puVar1[5] = 0x8002a988; - pfStack48 = &flt_CODE_bss_80069614; - iVar2 = 0xff - (menu_timer * 0xff + -0x1708e) / 100; - if (0xff < iVar2) { - iVar2 = 0xff; - } - rgba_8002a988.R = (char)iVar2; - if (iVar2 < 0) { - rgba_8002a988.R = '\0'; - } - flt_CODE_bss_80069614 = (f32)((float)flt_CODE_bss_80069614 + flt_80051A04); - rgba_8002a988.G = rgba_8002a988.R; - rgba_8002a988.B = rgba_8002a988.R; - rgba_8002A98C.R = rgba_8002a988.R; - rgba_8002A98C.G = rgba_8002a988.R; - rgba_8002A98C.B = rgba_8002a988.R; - proc_7F0585FC((float)flt_CODE_bss_80069614,ZEXT48(&rgba_8002a988), - (float *)(float (*) [4] [4])afStack216); - proc_7F058BB8((float)flt_CODE_bss_80069618,extraout_a0,(float *)(float (*) [4] [4])afStack216); - flt_CODE_bss_80069618 = (f32)((float)flt_CODE_bss_80069618 * flt_80051A0C); - if (flt_80051A08 < (float)flt_CODE_bss_80069618) { - flt_CODE_bss_80069618 = (f32)flt_80051A08; - } - proc_7F059694((float *)(float (*) [4] [4])afStack136,extraout_f12,extraout_f14,0.00000000, - 0.00000000,4000.00000000,0.00000000,0.00000000,0.00000000,0.00000000); - proc_7F058068((float *)(float (*) [4] [4])afStack136,(float *)(float (*) [4] [4])afStack216); - proc_7F058020((float (*) [4] [4])afStack216,(float (*) [4])(float (*) [4] [4])afStack136); - paafStack64 = (float (*) [4] [4])afStack136; - proc_7F0BD714((int)*(short *)(*(int *)(something_screen_constructor + 8) + 0xe) << 6); - proc_7F058020((float (*) [4] [4])afStack136,(float (*) [4])pfStack48); - *(f32 **)(something_screen_constructor + 0xc) = pfStack48; - proc_7F06EFC4(something_screen_constructor); - uStack56 = 3; - uStack60 = 0; - subdraw((int)&paafStack64,something_screen_constructor,extraout_a2_lo,extraout_a3_lo); - lVar8 = 0; - iVar2 = 0; - if (0 < *(short *)(*(int *)(something_screen_constructor + 8) + 0xe)) { - iVar5 = *(int *)(something_screen_constructor + 0xc); - while( true ) { - proc_7F058020((float (*) [4] [4])(iVar5 + iVar2),(float (*) [4])afStack280); - proc_7F058C9C((int)(float (*) [4])afStack280, - (uint *)(*(int *)(something_screen_constructor + 0xc) + (int)lVar8 * 0x40) - ); - lVar8 = (longlong)((int)lVar8 + 1); - iVar2 += 0x40; - if (*(short *)(*(int *)(something_screen_constructor + 8) + 0xe) <= lVar8) break; - iVar5 = *(int *)(something_screen_constructor + 0xc); - } - } - return; -} - - - -int ** init_menu02_rareware(void) - -{ - int **in_v0_lo; - - proc_7F008B58((longlong)(int)ptr_logo_and_walletbond_DL); - play_sfx_a1(ptr_sfx_buf,0x102,NULL); - return in_v0_lo; -} - - - -void update_menu02_rareware(void) - -{ - return; -} - - - -void interface_menu02_rareware(void) - -{ - ulonglong uVar1; - u32 uVar2; - - set_video2_settings_offset_24(0); - uVar1 = proc_7F008DD0(); - if (uVar1 == 0) { - uVar2 = 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 (uVar2 != 0) { - if (is_first_time_on_main_menu == FALSE) { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - else { - prev_keypresses = 1; - set_menu_to_mode(MENU_EYE_INTRO,1); - } - } - } - else { - set_menu_to_mode(MENU_EYE_INTRO,1); - } - return; -} - - - -void constructor_menu02_rareware(Gfx *param_1) - -{ - retrieve_display_rareware_logo((undefined4 *)param_1); - return; -} - - - -void init_menu03_eyeintro(void) - -{ - proc_7F008E80((short *)ptr_logo_and_walletbond_DL,0x78000); - musicTrack1Play(M_INTRO); - maybe_is_in_menu = TRUE; - return; -} - - - -void update_menu_03_eyeintro(void) - -{ - proc_7F00920C(); - return; -} - - - -void interface_menu03_eyeintro(void) - -{ - ulonglong uVar1; - u32 uVar2; - - set_video2_settings_offset_24(0); - uVar1 = proc_7F009744(); - if (uVar1 == 0) { - uVar2 = 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 (uVar2 != 0) { - if (is_first_time_on_main_menu == FALSE) { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - else { - prev_keypresses = 1; - set_menu_to_mode(MENU_GOLDENEYE_LOGO,1); - } - } - } - else { - set_menu_to_mode(MENU_GOLDENEYE_LOGO,1); - } - return; -} - - - -void constructor_menu03_eyeintro(Gfx *param_1) - -{ - proc_7F009254((longlong)(int)param_1); - return; -} - - - -void init_menu04_goldeneyelogo(void) - -{ - f32 scale; - xyzpoint xStack12; - - menu_timer = 0; - xStack12.x = DAT_8002ab48; - xStack12.y = DAT_8002ab4c; - xStack12.z = DAT_8002ab50; - load_object_fill_header - ((object_header *)PitemZ_entries[277].header,(u8 *)PitemZ_entries[277].filename, - (int)ptr_logo_and_walletbond_DL,0x3c000,0); - set_objuse_flag_compute_grp_nums_set_obj_loaded((object_header *)PitemZ_entries[277].header); - something_screen_constructor = - get_obj_instance_controller_for_header((object_header *)PitemZ_entries[277].header); - set_obj_instance_controller_scale(something_screen_constructor,scale); - setsuboffset(something_screen_constructor,&xStack12); - return; -} - - - -void update_menu04_goldeneyelogo(void) - -{ - is_first_time_on_main_menu = FALSE; - set_obj_instance_scale_to_zero(something_screen_constructor); - return; -} - - - -// WARNING: Instruction at (ram,0x7f00b440) overlaps instruction at (ram,0x7f00b43c) -// - -void interface_menu04_goldeneyelogo(void) - -{ - u32 uVar1; - - setvideo_far(60.00000000); - video_related_21((f32)menu04_aspect); - set_page_height(100.00000000,(f32)menu04_pageheight); - set_video2_settings_offset_24(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(MENU_DISPLAY_CAST,1); - } - else { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - } - } - 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; -} - - - -void constructor_menu04_goldeneyelogo(Gfx *param_1) - -{ - undefined4 *puVar1; - LookAt *l; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float (**ppaafVar2) [4] [4]; - float (**ppaafVar3) [4] [4]; - int iVar4; - float (**ppaafVar5) [4] [4]; - float (**ppaafVar6) [4] [4]; - longlong lVar7; - int iVar8; - float xEye; - float extraout_f12; - float yEye; - float extraout_f14; - float afStack292 [21]; - byte abStack208 [72]; - float afStack136 [18]; - float (*paafStack64) [4] [4]; - undefined4 uStack60; - undefined4 uStack56; - byte *pbStack52; - LookAt *pLStack48; - - ppaafVar5 = (float (**) [4] [4])buffer_8002ab54; - ppaafVar2 = &paafStack64; - do { - ppaafVar6 = ppaafVar5 + 3; - ppaafVar3 = ppaafVar2 + 3; - *ppaafVar2 = *ppaafVar5; - ppaafVar2[1] = ppaafVar5[1]; - ppaafVar2[2] = ppaafVar5[2]; - ppaafVar5 = ppaafVar6; - ppaafVar2 = ppaafVar3; - } while (ppaafVar6 != (float (**) [4] [4])0x8002ab90); - *ppaafVar3 = paafRam8002ab90; - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - pLStack48 = (LookAt *)insert_generic_fillrect(puVar1); - l = pLStack48; - proc_7F0BD6F8(2); - guLookAtReflect((Mtx *)abStack208,l,xEye,yEye,0.00000000,0.00000000,4000.00000000,0.00000000, - 0.00000000,0.00000000,0.00000000); - *(undefined4 *)pLStack48->l = 0xbc000002; - *(undefined4 *)(pLStack48->l + 4) = 0x80000040; - *(undefined4 *)(pLStack48->l + 8) = 0x3860010; - *(undefined4 *)(pLStack48->l + 0xc) = 0x8002a978; - *(undefined4 *)(pLStack48->l + 0x10) = 0x3880010; - *(undefined4 *)(pLStack48->l + 0x14) = 0x8002a970; - *(undefined4 *)(pLStack48->l + 0x18) = 0x3840010; - *(LookAt **)(pLStack48->l + 0x1c) = l; - *(byte **)(pLStack48[1].l + 4) = l->l + 0x10; - *(undefined4 *)pLStack48[1].l = 0x3820010; - pbStack52 = pLStack48[1].l + 8; - proc_7F059694((float *)(float (*) [4] [4])afStack136,extraout_f12,extraout_f14,0.00000000, - 0.00000000,3000.00000000,0.00000000,0.00000000,0.00000000,0.00000000); - paafStack64 = (float (*) [4] [4])afStack136; - proc_7F0BD714((int)*(short *)(*(int *)(something_screen_constructor + 8) + 0xe) << 6); - matrix_multiply_A1_by_F12(flt_80051A18,extraout_a0,(float *)(float (*) [4] [4])afStack136); - proc_7F058020((float (*) [4] [4])afStack136,(float (*) [4])pLStack48); - *(LookAt **)(something_screen_constructor + 0xc) = pLStack48; - proc_7F06EFC4(something_screen_constructor); - uStack56 = 3; - uStack60 = 0; - subdraw((int)&paafStack64,something_screen_constructor,extraout_a2_lo,extraout_a3_lo); - lVar7 = 0; - iVar8 = 0; - if (0 < *(short *)(*(int *)(something_screen_constructor + 8) + 0xe)) { - iVar4 = *(int *)(something_screen_constructor + 0xc); - while( true ) { - proc_7F058020((float (*) [4] [4])(iVar4 + iVar8),(float (*) [4])afStack292); - proc_7F058C9C((int)(float (*) [4])afStack292, - (uint *)(*(int *)(something_screen_constructor + 0xc) + (int)lVar7 * 0x40) - ); - lVar7 = (longlong)((int)lVar7 + 1); - iVar8 += 0x40; - if (*(short *)(*(int *)(something_screen_constructor + 8) + 0xe) <= lVar7) break; - iVar4 = *(int *)(something_screen_constructor + 0xc); - } - } - return; -} - - - -void disable_all_switches(int param_1) - -{ - ushort *partdesc; - undefined4 *puVar1; - int iVar2; - longlong lVar3; - longlong lVar4; - int iVar5; - int iVar6; - - iVar2 = *(int *)(param_1 + 8); - lVar4 = 0; - lVar3 = (longlong)*(short *)(iVar2 + 0xc); - iVar6 = 0; - if (0 < lVar3) { - do { - partdesc = *(ushort **)(*(int *)(iVar2 + 8) + iVar6); - iVar5 = (int)lVar4; - if (partdesc == NULL) { - lVar4 = (longlong)(iVar5 + 1); - } - else { - if ((*partdesc & 0xff) == 0x12) { - puVar1 = (undefined4 *) - extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar1 = 0; - iVar2 = *(int *)(param_1 + 8); - lVar3 = (longlong)*(short *)(iVar2 + 0xc); - lVar4 = (longlong)(iVar5 + 1); - } - else { - lVar4 = (longlong)(iVar5 + 1); - } - } - iVar6 += 4; - } while (lVar4 < lVar3); - } - return; -} - - - -void set_item_visibility_in_objinstance(int objinstance,int item,undefined4 mode) - -{ - ushort *partdesc; - undefined4 *puVar1; - - partdesc = *(ushort **)(*(int *)(*(int *)(objinstance + 8) + 8) + item * 4); - if (partdesc != NULL) { - puVar1 = (undefined4 *)extract_id_from_object_structure_microcode(objinstance,partdesc); - *puVar1 = mode; - } - return; -} - - - -void select_load_bond_picture(int objinstance,u32 bondID) - -{ - set_item_visibility_in_objinstance(objinstance,8,1); - set_item_visibility_in_objinstance(objinstance,9,0); - set_item_visibility_in_objinstance(objinstance,10,0); - set_item_visibility_in_objinstance(objinstance,0xb,0); - set_item_visibility_in_objinstance(objinstance,0xf,1); - set_item_visibility_in_objinstance(objinstance,0x10,0); - set_item_visibility_in_objinstance(objinstance,0x11,0); - set_item_visibility_in_objinstance(objinstance,0x12,0); - return; -} - - - -void load_walletbond(void) - -{ - int iVar1; - uint *puVar2; - undefined *instancecontroller; - undefined **ppuVar3; - f32 scale; - - if (ptr_folder_object_instance == NULL) { - load_object_fill_header - ((object_header *)PitemZ_entries[278].header,(u8 *)PitemZ_entries[278].filename, - (int)ptr_logo_and_walletbond_DL,0xa000,0); - set_objuse_flag_compute_grp_nums_set_obj_loaded((object_header *)PitemZ_entries[278].header) - ; - ppuVar3 = &ptr_folder_object_instance; - do { - instancecontroller = - (undefined *) - get_aircraft_obj_instance_controller((object_header *)PitemZ_entries[278].header); - *ppuVar3 = instancecontroller; - set_obj_instance_controller_scale((int)instancecontroller,scale); - ppuVar3 = ppuVar3 + 1; - } while (ppuVar3 != (undefined **)&dword_8002A96C); - iVar1 = *(int *)(*(int *)&(PitemZ_entries[278].header)->anonymous_2 + 0x54); - if (iVar1 != 0) { - puVar2 = *(uint **)(iVar1 + 4); - proc_7F0BA640((int *)(puVar2[7] + (*puVar2 & 0xffffff)),NULL,8); - } - } - return; -} - - - -void proc_7F00B990(void) - -{ - int *objinstance; - undefined **ppuVar1; - - ppuVar1 = &ptr_folder_object_instance; - objinstance = (int *)ptr_folder_object_instance; - while( true ) { - if (objinstance != NULL) { - set_aircraft_obj_inst_scale_to_zero(objinstance); - *(int **)ppuVar1 = NULL; - } - ppuVar1 = (undefined **)((int **)ppuVar1 + 1); - if (ppuVar1 == (undefined **)&dword_8002A96C) break; - objinstance = (int *)*ppuVar1; - } - return; -} - - - -void init_menu05_filesel(void) - -{ - u8 *puVar1; - Gfx *local_8; - int local_4; - - local_8 = ptr_logo_and_walletbond_DL + 0x1400; - prev_keypresses = 0; - local_4 = 0x6e000; - if ((int)selected_folder_num < 0) { - selected_folder_num = 0; - } - tab_2_selected = FALSE; - tab_3_selected = FALSE; - folder_selected_for_deletion = -1; - folder_selected_for_deletion_choice = 1; - proc_7F008DE4((ushort **)&local_8,&local_4); - load_walletbond(); - if (maybe_is_in_menu != FALSE) { - musicTrack1Play(M_FOLDERS); - maybe_is_in_menu = FALSE; - } - menu_timer = 0; - CHEATS_ACTIVE_ARRAY[0] = '\0'; - CHEATS_ACTIVE_ARRAY[1] = '\0'; - puVar1 = CHEATS_ACTIVE_ARRAY + 2; - do { - puVar1 = puVar1 + 4; - puVar1[1] = '\0'; - puVar1[2] = '\0'; - puVar1[3] = '\0'; - *puVar1 = '\0'; - puVar1 = puVar1; - } while (puVar1 != CHEATS_ACTIVE_ARRAY + 0x4a); - append_cheat_sp = FALSE; - append_cheat_mp = FALSE; - return; -} - - - -void update_menu05_filesel(void) - -{ - if ((menu_update == MENU_LEGAL_SCREEN) || (maybe_prev_menu == MENU_LEGAL_SCREEN)) { - proc_7F00B990(); - } - return; -} - - - -int get_chapter_briefing_entry(int briefing) - -{ - mission_folder_setup *pmVar1; - - if (-1 < briefing) { - pmVar1 = mission_folder_setup_entries + briefing; - do { - if (pmVar1->type != 0) { - return briefing; - } - briefing += -1; - pmVar1 = pmVar1 + -1; - } while (-1 < briefing); - } - return -1; -} - - - -void toggle_deletion_menu_for_folder(int param_1) - -{ - float local_8; - float local_4; - - proc_7F077FF4((float *)(&DAT_80069620 + param_1 * 3),&local_8); - cursor_h_pos = (f32)(local_8 + -1.00000000); - cursor_v_pos = (f32)(local_4 + 20.00000000); - return; -} - - - -void interface_menu05_filesel(void) - -{ - undefined *puVar1; - longlong folder; - s32 sVar2; - undefined4 uVar3; - u32 bondID; - undefined8 extraout_a0; - undefined **ppuVar4; - undefined4 *puVar5; - float *pfVar6; - ulonglong uVar7; - float extraout_f12; - float fVar8; - float extraout_f12_00; - float extraout_f14; - float fVar9; - float extraout_f14_00; - float *pfStack188; - DIFFICULTY DStack180; - STAGENUM SStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float afStack144 [2]; - float afStack136 [16]; - float afStack72 [18]; - - folder._4_4_ = 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); - folder = (longlong)(int)folder._4_4_; - if (folder == 0) { - sVar2 = get_cur_controller_horz_stick_pos('\0'); - folder = (longlong)sVar2; - if (-6 < folder) { - sVar2 = get_cur_controller_horz_stick_pos('\0'); - folder = (longlong)sVar2; - if (folder < 6) { - sVar2 = get_cur_controller_vert_stick_pos('\0'); - folder = (longlong)sVar2; - if (-6 < folder) { - sVar2 = get_cur_controller_vert_stick_pos('\0'); - folder = (longlong)sVar2; - if (folder < 6) { - menu_timer += clock_timer; - goto LAB_7f00bc70; - } - } - } - } - } - menu_timer = 0; -LAB_7f00bc70: - setvideo_far(60.00000000); - video_related_21((f32)menu05_aspect); - set_page_height(100.00000000,(f32)menu05_pageheight); - set_video2_settings_offset_24(0); - puVar5 = &DAT_80069620; - ppuVar4 = &ptr_folder_object_instance; - pfStack188 = &dword_8002AB94; - folder._4_4_ = 0; - fVar8 = extraout_f12; - fVar9 = extraout_f14; - do { - uVar3 = (undefined4)folder; - proc_7F059694(afStack72,fVar8,fVar9,0.00000000,0.00000000,4000.00000000,0.00000000, - 0.00000000,0.00000000,0.00000000); - init_something_copy_posdata_to_it - ((xyzpoint *)pfStack188,(int *)(float (*) [4] [4])afStack136); - matrix_multiply_A1_by_F12(flt_80051A24,extraout_a0,(float *)(float (*) [4] [4])afStack136); - proc_7F058068(afStack72,(float *)(float (*) [4] [4])afStack136); - proc_7F0BD714((int)*(short *)(*(int *)(*ppuVar4 + 8) + 0xe) << 6); - *(undefined4 *)(*ppuVar4 + 0xc) = uVar3; - proc_7F058020((float (*) [4] [4])afStack136,*(float (**) [4])(*ppuVar4 + 0xc)); - puVar1 = *ppuVar4; - *puVar5 = *(undefined4 *)(*(int *)(puVar1 + 0xc) + 0x30); - puVar5[1] = *(undefined4 *)(*(int *)(puVar1 + 0xc) + 0x34); - puVar5[2] = *(undefined4 *)(*(int *)(puVar1 + 0xc) + 0x38); - disable_all_switches((int)puVar1); - bondID = removed_would_have_returned_bond_for_folder_num(folder._4_4_); - folder = (longlong)(int)bondID; - select_load_bond_picture((int)*ppuVar4,bondID); - set_item_visibility_in_objinstance((int)*ppuVar4,0xe,1); - set_item_visibility_in_objinstance((int)*ppuVar4,0xd,1); - folder._4_4_ += 1; - pfStack188 = (float *)((xyzpoint *)pfStack188 + 1); - ppuVar4 = ppuVar4 + 1; - puVar5 = puVar5 + 3; - fVar8 = extraout_f12_00; - fVar9 = extraout_f14_00; - } while (folder._4_4_ != 4); - if (-1 < (int)selected_folder_num) { - if (selected_folder_num == 100) { - selected_folder_num = selected_folder_num_copy; - } - if (((int)selected_folder_num < 0) || (3 < (int)selected_folder_num)) { - selected_folder_num = 0; - } - toggle_deletion_menu_for_folder(selected_folder_num); - selected_folder_num = 0xffffffff; - } - uVar7 = 0; - if (folder_selected_for_deletion < 0) { - pfVar6 = (float *)&DAT_80069620; - ppuVar4 = &ptr_folder_object_instance; - do { - proc_7F03F90C((int)*ppuVar4,afStack144,&fStack148,&fStack152,&fStack156); - proc_7F03F948(pfVar6,&fStack148,&fStack156,&fStack164,&fStack172); - folder._4_4_ = (u32)uVar7; - if (fStack164 <= (float)cursor_h_pos) { - if ((float)cursor_h_pos <= fStack172) { - if (fStack160 <= (float)cursor_v_pos) { - if ((float)cursor_v_pos <= fStack168) { - get_highest_stage_difficulty_completed_in_folder - (folder._4_4_,&SStack176,&DStack180); - bondID = get_controller_buttons_pressed - ('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (bondID != 0) { - if (folder_selection_screen_option_icon == 0) { - selected_folder_num = folder._4_4_; - play_sfx_a1(ptr_sfx_buf,0x4d,NULL); - } - else { - if (folder_selection_screen_option_icon == 1) { - proc_7F01EDA0(uVar7); - folder_selection_screen_option_icon = 0; - play_sfx_a1(ptr_sfx_buf,0x4f,NULL); - } - else { - if (folder_selection_screen_option_icon == 2) { - if ((-1 < (int)SStack176) && (-1 < DStack180)) { - folder_selected_for_deletion_choice = 1; - folder_selected_for_deletion = folder._4_4_; - } - folder_selection_screen_option_icon = 0; - play_sfx_a1(ptr_sfx_buf,0x12,NULL); - } - } - } - break; - } - uVar7 = SEXT48((int)(folder._4_4_ + 1)); - } - else { - uVar7 = SEXT48((int)(folder._4_4_ + 1)); - } - } - else { - uVar7 = SEXT48((int)(folder._4_4_ + 1)); - } - } - else { - uVar7 = SEXT48((int)(folder._4_4_ + 1)); - } - } - else { - uVar7 = SEXT48((int)(folder._4_4_ + 1)); - } - ppuVar4 = ppuVar4 + 1; - pfVar6 = pfVar6 + 3; - } while (uVar7 != 4); - folder._4_4_ = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (folder._4_4_ == 0) { - folder._4_4_ = get_controller_buttons_pressed('\0',B_BUTTON); - if ((folder._4_4_ != 0) && (folder_selection_screen_option_icon != 0)) { - folder_selection_screen_option_icon = 0; - play_sfx_a1(ptr_sfx_buf,0x76,NULL); - } - } - else { - if (((((float)cursor_h_pos < folder_option_COPY_left_bound) || - (folder_option_COPY_right_bound < (float)cursor_h_pos)) || - ((float)cursor_v_pos < folder_option_COPY_upper_bound)) || - (folder_option_COPY_lower_bound < (float)cursor_v_pos)) { - if ((((float)cursor_h_pos < folder_option_ERASE_left_bound) || - (folder_option_ERASE_right_bound < (float)cursor_h_pos)) || - (((float)cursor_v_pos < folder_option_ERASE_upper_bound || - (folder_option_ERASE_lower_bound < (float)cursor_v_pos)))) { - if (folder_selection_screen_option_icon != 0) { - folder_selection_screen_option_icon = 0; - play_sfx_a1(ptr_sfx_buf,0x76,NULL); - } - } - else { - folder_selection_screen_option_icon = 2; - play_sfx_a1(ptr_sfx_buf,0xde,NULL); - } - } - else { - folder_selection_screen_option_icon = 1; - play_sfx_a1(ptr_sfx_buf,0xde,NULL); - } - } - menu_control_stick_tracking(); - } - else { - folder._4_4_ = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG|L_JPAD); - if ((folder._4_4_ == 0) || (folder_selected_for_deletion_choice != 0)) { - folder._4_4_ = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG|R_JPAD); - if ((folder._4_4_ != 0) && (folder_selected_for_deletion_choice != 0)) { - folder_selected_for_deletion_choice = 0; - play_sfx_a1(ptr_sfx_buf,0x12,NULL); - } - } - else { - folder_selected_for_deletion_choice = 1; - play_sfx_a1(ptr_sfx_buf,0x12,NULL); - } - sVar2 = get_cur_controller_horz_stick_pos('\0'); - if ((sVar2 < -0x2d) && (folder_selected_for_deletion_choice == 0)) { - folder_selected_for_deletion_choice = 1; - play_sfx_a1(ptr_sfx_buf,0x12,NULL); - } - else { - sVar2 = get_cur_controller_horz_stick_pos('\0'); - if ((0x2d < sVar2) && (folder_selected_for_deletion_choice != 0)) { - folder_selected_for_deletion_choice = 0; - play_sfx_a1(ptr_sfx_buf,0x12,NULL); - } - } - folder._4_4_ = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (folder._4_4_ == 0) { - folder._4_4_ = get_controller_buttons_pressed('\0',B_BUTTON); - if (folder._4_4_ != 0) { - toggle_deletion_menu_for_folder(folder_selected_for_deletion); - folder_selected_for_deletion = -1; - play_sfx_a1(ptr_sfx_buf,0x76,NULL); - } - } - else { - if (folder_selected_for_deletion_choice == 0) { - delete_eeprom_folder(folder_selected_for_deletion); - play_sfx_a1(ptr_sfx_buf,0x76,NULL); - } - else { - play_sfx_a1(ptr_sfx_buf,0x76,NULL); - } - toggle_deletion_menu_for_folder(folder_selected_for_deletion); - folder_selected_for_deletion = -1; - } - } - if ((int)selected_folder_num < 0) { - if (0x708 < menu_timer) { - set_menu_to_mode(MENU_LEGAL_SCREEN,1); - } - } - else { - set_menu_to_mode(MENU_MODE_SELECT,0); - set_menu_cursor_pos_to_setting(0); - } - return; -} - - - -int get_ptr_difficulty_name(DIFFICULTY difficulty) - -{ - byte *return; - - return = NULL; - if (difficulty == DIFFICULTY_AGENT) { - return = get_textptr_for_textID(0x9c13); - } - else { - if (difficulty == DIFFICULTY_SECRET) { - return = get_textptr_for_textID(0x9c14); - } - else { - if (difficulty == DIFFICULTY_00) { - return = get_textptr_for_textID(0x9c15); - } - else { - if (difficulty == DIFFICULTY_007) { - return = get_textptr_for_textID(0x9c16); - } - } - } - } - return (int)return; -} - - - -void constructor_menu05_filesel(Gfx *param_1) - -{ - undefined4 *puVar1; - short sVar5; - byte *pbVar2; - short sVar6; - char *pcVar3; - u8 *puVar4; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - undefined8 extraout_a2_01; - undefined8 uVar7; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 extraout_a3_01; - undefined8 uVar8; - undefined4 *puVar9; - undefined4 *puVar10; - int iVar11; - mission_folder_setup *pmVar12; - longlong lVar13; - int briefing; - undefined **ppuVar14; - STAGENUM SVar15; - undefined4 *puVar16; - float fVar17; - f32 wdivh; - f32 wdivh_00; - f32 wdivh_01; - Gfx *pGStackX0; - float *pfStack324; - float fStack308; - float fStack304; - int iStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack264; - byte abStack252 [20]; - byte abStack232 [20]; - float fStack212; - float fStack208; - DIFFICULTY DStack204; - STAGENUM SStack200; - int iStack196; - int iStack192; - int iStack188; - int aiStack184 [2]; - float afStack176 [17]; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack100; - u32 *puStack96; - u32 uStack28; - u32 uStack24; - u32 uStack20; - u32 uStack16; - u32 uStack12; - u32 uStack8; - int iStack4; - - uStack16 = unknown_folderselect_constructor; - uStack12 = dword_8002AF30; - uStack8 = dword_8002AF34; - uStack28 = unknown_folderselect_constructor_0; - uStack24 = dword_8002AF3C; - uStack20 = dword_8002AF40; - pGStackX0 = param_1; - puVar1 = insert_imageDL(param_1); - *puVar1 = 0xfc167e2c; - puVar1[1] = 0x33fdf6fb; - pGStackX0 = (Gfx *)(puVar1 + 4); - puVar1[3] = 0xffffff14; - puVar1[2] = 0xfb000000; - sVar5 = get_video2_settings_txtClipW(); - fVar17 = truncf(((float)(int)sVar5 * -80.00000000) / 1280.00000000); - puVar1 = proc_7F007CC8((undefined4 *)pGStackX0,(int)fVar17,(int *)&uStack16,(int *)&uStack28); - puVar1[1] = 0x1000000; - *puVar1 = 0x6000000; - pGStackX0 = (Gfx *)(puVar1 + 4); - ppuVar14 = (undefined **)&dword_8002A968; - puVar1[3] = 0x1000040; - puVar1[2] = 0x6000000; - uVar7 = extraout_a2; - uVar8 = extraout_a3; - do { - puVar1 = unknown_folderselect; - puVar9 = &uStack108; - do { - puVar16 = puVar1 + 3; - puVar10 = puVar9 + 3; - *puVar9 = *puVar1; - puVar9[1] = puVar1[1]; - puVar9[2] = puVar1[2]; - puVar1 = puVar16; - puVar9 = puVar10; - } while (puVar16 != (undefined4 *)0x8002af80); - lVar13 = 0; - *puVar10 = uRam8002af80; - uStack100 = 3; - uStack104 = 0; - puStack96 = (u32 *)pGStackX0; - subdraw((int)&uStack108,(uint)*ppuVar14,(int)uVar7,(int)uVar8); - puVar1 = (undefined4 *)*ppuVar14; - iVar11 = 0; - pGStackX0 = (Gfx *)puStack96; - uVar7 = extraout_a2_00; - uVar8 = extraout_a3_00; - if (0 < *(short *)(puVar1[2] + 0xe)) { - briefing = puVar1[3]; - while( true ) { - proc_7F058020((float (*) [4] [4])(briefing + iVar11),(float (*) [4])afStack176); - proc_7F058C9C((int)(float (*) [4])afStack176, - (uint *)(*(int *)(*ppuVar14 + 0xc) + (int)lVar13 * 0x40)); - puVar1 = (undefined4 *)*ppuVar14; - lVar13 = (longlong)((int)lVar13 + 1); - iVar11 += 0x40; - uVar7 = extraout_a2_01; - uVar8 = extraout_a3_01; - if (*(short *)(puVar1[2] + 0xe) <= lVar13) break; - briefing = puVar1[3]; - } - } - ppuVar14 = ppuVar14 + -1; - } while (&ptr_folder_object_instance <= ppuVar14); - microcode_constructor((u32 *)pGStackX0); - pGStackX0 = (Gfx *)puVar1; - setTextSpacingInverted(0); - pfStack324 = (float *)&DAT_80069620; - iStack4 = 0; - do { - proc_7F077FF4(pfStack324,&fStack212); - if (iStack4 == folder_selected_for_deletion) { - fVar17 = truncf(fStack212); - aiStack184[0] = (int)fVar17 + -0x31; - fVar17 = truncf(fStack208); - iStack188 = (int)fVar17 + 0x19; - pGStackX0 = (Gfx *)microcode_constructor_related_to_menus - ((undefined4 *)pGStackX0,(longlong)aiStack184[0], - (longlong)iStack188,(longlong)(aiStack184[0] + 99), - (int)fVar17 + 0x43,0x32); - pbVar2 = get_textptr_for_textID(0x9c17); - fVar17 = truncf(fStack212); - aiStack184[0] = (int)fVar17 + -0x2f; - fVar17 = truncf(fStack208); - iStack188 = (int)fVar17 + 0x1e; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,pbVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge,0xebd879ff, - (int)sVar5,(int)sVar6,0,0); - pGStackX0 = (Gfx *)puVar1; - pbVar2 = get_textptr_for_textID(0x9c18); - fVar17 = truncf(fStack212); - aiStack184[0] = (int)fVar17 + -0x2f; - fVar17 = truncf(fStack208); - iStack188 = (int)fVar17 + 0x32; - if (folder_selected_for_deletion_choice == 0) { - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,pbVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - 0xebd879ff,(int)sVar5,(int)sVar6,0,0); - pGStackX0 = (Gfx *)puVar1; - } - else { - iStack196 = 0; - iStack192 = 0; - proc_7F0AE98C(&iStack192,&iStack196,pbVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - pGStackX0 = (Gfx *)microcode_constructor_related_to_menus - ((undefined4 *)pGStackX0,(longlong)(aiStack184[0] + -1) - ,(longlong)(iStack188 + -1), - (longlong)(aiStack184[0] + iStack196 + 3), - iStack188 + iStack192,0x32); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,pbVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - 0xffffffff,(int)sVar5,(int)sVar6,0,0); - pGStackX0 = (Gfx *)puVar1; - } - pbVar2 = get_textptr_for_textID(0x9c19); - fVar17 = truncf(fStack212); - iVar11 = -1; - if (j_text_trigger != 0) { - iVar11 = 0x17; - } - aiStack184[0] = iVar11 + (int)fVar17 + -1; - fVar17 = truncf(fStack208); - iStack188 = (int)fVar17 + 0x32; - if (folder_selected_for_deletion_choice == 0) { - iStack196 = 0; - iStack192 = 0; - proc_7F0AE98C(&iStack192,&iStack196,pbVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - pGStackX0 = (Gfx *)microcode_constructor_related_to_menus - ((undefined4 *)pGStackX0,(longlong)(aiStack184[0] + -1) - ,(longlong)(iStack188 + -1), - (longlong)(aiStack184[0] + iStack196 + 3), - iStack188 + iStack192,0x32); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,pbVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - 0xffffffff,(int)sVar5,(int)sVar6,0,0); - pGStackX0 = (Gfx *)puVar1; - } - else { - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,pbVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - 0xebd879ff,(int)sVar5,(int)sVar6,0,0); - pGStackX0 = (Gfx *)puVar1; - } - } - else { - get_highest_stage_difficulty_completed_in_folder(iStack4,&SStack200,&DStack204); - if ((-1 < (int)SStack200) && (-1 < DStack204)) { - pcVar3 = (char *)get_ptr_difficulty_name(DStack204); - if (pcVar3 != NULL) { - textpointer_load_parse_something((char *)abStack232,pcVar3); - string_append_from_obseg_textbank((char *)abStack232,"\n"); - iStack196 = 0; - iStack192 = 0; - proc_7F0AE98C(&iStack192,&iStack196,abStack232,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - fVar17 = truncf(fStack212); - iVar11 = iStack196; - if (iStack196 < 0) { - iVar11 = iStack196 + 1; - } - aiStack184[0] = ((int)fVar17 - (iVar11 >> 1)) + -1; - fVar17 = truncf(fStack208); - iStack188 = (int)fVar17 + 0x15; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,abStack232, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - 0xebd879ff,(int)sVar5,(int)sVar6,0,0); - pGStackX0 = (Gfx *)puVar1; - } - iVar11 = -1; - briefing = 0; - if (DStack204 != DIFFICULTY_007) { - puVar4 = get_textptr_for_textID(0x9c1a); - textpointer_load_parse_something((char *)abStack252,(char *)puVar4); - pmVar12 = mission_folder_setup_entries; - SVar15 = mission_folder_setup_entries[0].mission_num; - if (mission_folder_setup_entries[0].folder_text_preset != 0) { - while (SStack200 != SVar15) { - briefing += 1; - if (pmVar12[1].folder_text_preset == 0) goto LAB_7f00cbdc; - SVar15 = pmVar12[1].mission_num; - pmVar12 = pmVar12 + 1; - } - iVar11 = get_chapter_briefing_entry(briefing); - } -LAB_7f00cbdc: - if (-1 < iVar11) { - string_append_from_obseg_textbank - ((char *)abStack252, - (char *)mission_folder_setup_entries[iVar11].string_ptr); - string_append_from_obseg_textbank((char *)abStack252,"."); - } - string_append_from_obseg_textbank - ((char *)abStack252, - (char *)mission_folder_setup_entries[briefing].string_ptr); - string_append_from_obseg_textbank((char *)abStack252,"\n"); - iStack196 = 0; - iStack192 = 0; - proc_7F0AE98C(&iStack192,&iStack196,abStack252,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - fVar17 = truncf(fStack212); - iVar11 = iStack196; - if (iStack196 < 0) { - iVar11 = iStack196 + 1; - } - aiStack184[0] = ((int)fVar17 - (iVar11 >> 1)) + -1; - fVar17 = truncf(fStack208); - iStack188 = (int)fVar17 + 0x2d; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,abStack252, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - 0xebd879ff,(int)sVar5,(int)sVar6,0,0); - pGStackX0 = (Gfx *)puVar1; - } - } - } - iStack4 += 1; - pfStack324 = pfStack324 + 3; - if (iStack4 == 4) { - setTextSpacingInverted(0); - pbVar2 = get_textptr_for_textID(0x9c1b); - iStack196 = 0; - iStack192 = 0; - proc_7F0AE98C(&iStack192,&iStack196,pbVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - iVar11 = iStack192; - if (iStack192 < 0) { - iVar11 = iStack192 + 1; - } - iStack188 = 0x11d - (iVar11 >> 1); - aiStack184[0] = 0xf7; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,pbVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge,0xffffffff, - (int)sVar5,(int)sVar6,0,0); - folder_option_COPY_right_bound = (float)(aiStack184[0] + iStack196); - pGStackX0 = (Gfx *)puVar1; - pbVar2 = get_textptr_for_textID(0x9c1c); - iStack196 = 0; - iStack192 = 0; - proc_7F0AE98C(&iStack192,&iStack196,pbVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - aiStack184[0] = 0x165; - iVar11 = iStack192; - if (iStack192 < 0) { - iVar11 = iStack192 + 1; - } - iStack188 = 0x11d - (iVar11 >> 1); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - iVar11 = (int)sVar6; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack184,&iStack188,pbVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge,0xffffffff, - (int)sVar5,(int)sVar6,0,0); - folder_option_ERASE_right_bound = (float)(aiStack184[0] + iStack196); - fStack268 = 225.00000000; - fStack264 = flt_80051A28; - fStack276 = (float)(uint)mainfolderimages->width; - if (false) { - fStack276 = fStack276 + 4294967296.00000000; - } - fStack276 = fStack276 * 0.50000000; - fStack272 = (float)(uint)mainfolderimages->height; - if (false) { - fStack272 = fStack272 + 4294967296.00000000; - } - fStack272 = fStack272 * 0.50000000; - pGStackX0 = (Gfx *)iVar11; - append_image_to_DL((uint **)register0x000000ec,mainfolderimages,4,0,0); - display_image_at_on_screen_coord - ((int *)register0x000000ec,(int *)&fStack268,wdivh,(int)&fStack276, - (uint)mainfolderimages->width,(uint)mainfolderimages->height,0,0,1,0xff,0xff, - 0xff,0xff,(uint)(mainfolderimages->level != '\0')); - folder_option_COPY_left_bound = fStack268 - fStack276; - folder_option_COPY_upper_bound = fStack264 - fStack272; - folder_option_COPY_lower_bound = fStack272 + fStack264; - fStack284 = flt_80051A2C; - fStack280 = flt_80051A30; - fStack292 = (float)(uint)mainfolderimages[1].width; - if (false) { - fStack292 = fStack292 + 4294967296.00000000; - } - fStack292 = fStack292 * 0.50000000; - fStack288 = (float)(uint)mainfolderimages[1].height; - if (false) { - fStack288 = fStack288 + 4294967296.00000000; - } - fStack288 = fStack288 * 0.50000000; - append_image_to_DL((uint **)register0x000000ec,mainfolderimages + 1,4,0,0); - display_image_at_on_screen_coord - ((int *)register0x000000ec,(int *)&fStack284,wdivh_00,(int)&fStack292, - (uint)mainfolderimages[1].width,(uint)mainfolderimages[1].height,0,0,1,0xff, - 0xff,0xff,0xff,(uint)(mainfolderimages[1].level != '\0')); - folder_option_ERASE_left_bound = fStack284 - fStack292; - folder_option_ERASE_upper_bound = fStack280 - fStack288; - folder_option_ERASE_lower_bound = fStack288 + fStack280; - iStack300 = 0x42dc0000; - fStack296 = flt_80051A34; - fStack308 = (float)(uint)mainfolderimages[2].width; - if (false) { - fStack308 = fStack308 + 4294967296.00000000; - } - fStack308 = fStack308 * 0.50000000; - fStack304 = (float)(uint)mainfolderimages[2].height; - if (false) { - fStack304 = fStack304 + 4294967296.00000000; - } - fStack304 = fStack304 * 0.50000000; - append_image_to_DL((uint **)register0x000000ec,mainfolderimages + 2,4,0,0); - display_image_at_on_screen_coord - ((int *)register0x000000ec,&iStack300,wdivh_01,(int)&fStack308, - (uint)mainfolderimages[2].width,(uint)mainfolderimages[2].height,0,0,1,0xff, - 0xff,0xff,0xff,(uint)(mainfolderimages[2].level != '\0')); - if (folder_selected_for_deletion < 0) { - load_draw_selected_icon_folder_select(pGStackX0); - } - return; - } - } while( true ); -} - - - -void init_menu06_modesel(void) - -{ - gamemode = GAMEMODE_INTRO; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - load_walletbond(); - copyCurrentEEPROMtoStack(); - return; -} - - - -void update_menu06_modesel(void) - -{ - return; -} - - - -void interface_menu06_modesel(void) - -{ - ulonglong uVar1; - longlong lVar2; - u64 uVar3; - undefined *puVar4; - u32 cheat; - - is_cheat_menu_available = FALSE; - puVar4 = &cheat_available; - cheat = 1; - do { - uVar1 = check_if_cheat_available(cheat); - if (uVar1 == 0) { - *puVar4 = 0; - } - else { - *puVar4 = 1; - is_cheat_menu_available = TRUE; - } - cheat += 1; - puVar4 = puVar4 + 1; - } while (cheat != 0x4b); - setvideo_far(60.00000000); - video_related_21((f32)menu06_aspect); - set_page_height(100.00000000,(f32)menu06_pageheight); - set_video2_settings_offset_24(0); - disable_all_switches((int)ptr_folder_object_instance); - cheat = removed_would_have_returned_bond_for_folder_num(selected_folder_num); - select_load_bond_picture((int)ptr_folder_object_instance,cheat); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,7,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,2,1); - tab_3_highlight = FALSE; - mission_difficulty_highlighted = DIFFICULTY_MULTI; - lVar2 = isontab3(); - if (lVar2 == 0) { - if ((is_cheat_menu_available == FALSE) || ((float)cursor_v_pos < flt_80051A40)) { - if (((float)cursor_v_pos < 243.00000000) || - (uVar3 = get_attached_controller_count(), (longlong)uVar3 < 2)) { - mission_difficulty_highlighted = DIFFICULTY_AGENT; - cheat = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (cheat != 0) { - gamemode = GAMEMODE_SOLO; - play_sfx_a1(ptr_sfx_buf,0xc5,NULL); - } - } - else { - mission_difficulty_highlighted = DIFFICULTY_SECRET; - cheat = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (cheat != 0) { - gamemode = GAMEMODE_MULTI; - play_sfx_a1(ptr_sfx_buf,0xc5,NULL); - } - } - } - else { - mission_difficulty_highlighted = DIFFICULTY_00; - cheat = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (cheat != 0) { - gamemode = GAMEMODE_CHEATS; - play_sfx_a1(ptr_sfx_buf,0xc5,NULL); - } - } - } - else { - tab_3_highlight = TRUE; - cheat = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (cheat != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - cheat = get_controller_buttons_pressed('\0',B_BUTTON); - if (cheat != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - menu_control_stick_tracking(); - if (gamemode == GAMEMODE_SOLO) { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo(0); - } - else { - if (gamemode == GAMEMODE_MULTI) { - set_menu_to_mode(MENU_MP_OPTIONS,0); - } - else { - if (gamemode == GAMEMODE_CHEATS) { - set_menu_to_mode(MENU_CHEAT,0); - } - else { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_FILE_SELECT,0); - } - } - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 proc_7F00D5E8(undefined4 param_1) - -{ - undefined4 uVar1; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - int iVar2; - longlong lVar3; - int iVar4; - float (**ppaafVar5) [4] [4]; - float (**ppaafVar6) [4] [4]; - float (**ppaafVar7) [4] [4]; - float (**ppaafVar8) [4] [4]; - float fVar9; - float fVar10; - float in_f14; - float afStack272 [16]; - float afStack208 [16]; - float afStack144 [17]; - float (*paafStack76) [4] [4]; - undefined4 uStack72; - undefined4 uStack68; - undefined4 uStack64; - float (*pafStack60) [4]; - - pafStack60 = (float (*) [4])(&dword_8002AB94 + selected_folder_num * 3); - fVar9 = (*pafStack60)[0]; - fVar10 = (&FLOAT_8002ab98)[selected_folder_num * 3]; - ppaafVar7 = (float (**) [4] [4])dword_8002AF84; - ppaafVar5 = &paafStack76; - do { - ppaafVar8 = ppaafVar7 + 3; - ppaafVar6 = ppaafVar5 + 3; - *ppaafVar5 = *ppaafVar7; - ppaafVar5[1] = ppaafVar7[1]; - ppaafVar5[2] = ppaafVar7[2]; - ppaafVar7 = ppaafVar8; - ppaafVar5 = ppaafVar6; - } while (ppaafVar8 != (float (**) [4] [4])&dword_8002AFC0); - *ppaafVar6 = _dword_8002AFC0; - fVar9 = fVar9 + flt_8002AFC4; - proc_7F059694(afStack144,0.00000000,in_f14,fVar9,fVar10 + flt_8002AFC8, - flt_8002AFCC + 4000.00000000,fVar9,fVar10 + flt_8002AFC8,0.00000000,0.00000000); - init_something_copy_posdata_to_it - ((xyzpoint *)(&dword_8002AB94 + selected_folder_num * 3), - (int *)(float (*) [4] [4])afStack208); - matrix_multiply_A1_by_F12(0.25000000,extraout_a0,(float *)(float (*) [4] [4])afStack208); - proc_7F058068(afStack144,(float *)(float (*) [4] [4])afStack208); - paafStack76 = (float (*) [4] [4])afStack208; - proc_7F0BD714((int)*(short *)(*(int *)(ptr_folder_object_instance + 8) + 0xe) << 6); - proc_7F058020((float (*) [4] [4])afStack208,pafStack60); - *(float (**) [4])(ptr_folder_object_instance + 0xc) = pafStack60; - uStack68 = 3; - uStack72 = 0; - uStack64 = param_1; - subdraw((int)&paafStack76,(uint)ptr_folder_object_instance,extraout_a2_lo,extraout_a3_lo); - uVar1 = uStack64; - lVar3 = 0; - iVar4 = 0; - if (0 < *(short *)(*(int *)(ptr_folder_object_instance + 8) + 0xe)) { - iVar2 = *(int *)(ptr_folder_object_instance + 0xc); - while( true ) { - proc_7F058020((float (*) [4] [4])(iVar2 + iVar4),(float (*) [4])afStack272); - proc_7F058C9C((int)(float (*) [4])afStack272, - (uint *)(*(int *)(ptr_folder_object_instance + 0xc) + (int)lVar3 * 0x40)); - lVar3 = (longlong)((int)lVar3 + 1); - iVar4 += 0x40; - if (*(short *)(*(int *)(ptr_folder_object_instance + 8) + 0xe) <= lVar3) break; - iVar2 = *(int *)(ptr_folder_object_instance + 0xc); - } - } - return uVar1; -} - - - -void set_menu_cursor_pos_to_setting(int setting) - -{ - cursor_h_pos = 126.00000000; - cursor_v_pos = (f32)(float)(setting * 0x20 + 0xe2); - return; -} - - - -void constructor_menu06_modesel(Gfx *param_1) - -{ - undefined4 *puVar2; - short sVar3; - short sVar4; - uint *DL; - u64 uVar1; - TEXTFILESTRINGS id; - uint uStack24; - int iStack20; - int iStack16; - uint uStack12; - uint uStack8; - byte *pbStack4; - - puVar2 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar2 = insert_generic_fillrect(puVar2); - DL = (uint *)proc_7F00D5E8(puVar2); - microcode_constructor(DL); - uStack8 = 0x96; - uStack12 = 0xdc; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,(byte *)"1.\n",(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - if (append_cheat_sp == FALSE) { - id = 0x9c1d; - } - else { - id = 0x9c75; - } - pbStack4 = get_textptr_for_textID(id); - proc_7F0AE98C(&iStack20,&iStack16,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack8 = 0xaa; - uStack12 = 0xdc; - if (mission_difficulty_highlighted == DIFFICULTY_AGENT) { - DL = microcode_constructor_related_to_menus - (DL,0x94,0xda,(longlong)(iStack16 + 0xaf),0xea,0x32); - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - uStack8 = 0x96; - uStack12 = 0xfc; - uVar1 = get_attached_controller_count(); - if ((longlong)uVar1 < 2) { - uStack24 = 0x70; - } - else { - uStack24 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,(byte *)"2.\n",(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uStack24,(int)sVar3,(int)sVar4,0,0); - id = 0x9c1e; - if (append_cheat_mp != FALSE) { - id = 0x9d14; - } - pbStack4 = get_textptr_for_textID(id); - proc_7F0AE98C(&iStack20,&iStack16,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack8 = 0xaa; - uStack12 = 0xfc; - if (mission_difficulty_highlighted == DIFFICULTY_SECRET) { - DL = microcode_constructor_related_to_menus - (DL,0x94,0xfa,(longlong)(iStack16 + 0xaf),0x10a,0x32); - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uStack24,(int)sVar3,(int)sVar4,0,0); - if (is_cheat_menu_available != FALSE) { - uStack8 = 0x96; - uStack12 = 0x11c; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,(byte *)"3.\n",(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c1f); - proc_7F0AE98C(&iStack20,&iStack16,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack8 = 0xaa; - uStack12 = 0x11c; - if (mission_difficulty_highlighted == DIFFICULTY_00) { - DL = microcode_constructor_related_to_menus - (DL,0x94,0x11a,(longlong)(iStack16 + 0xaf),0x12a,0x32); - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - } - DL = add_tab3_previous(DL); - load_draw_selected_icon_folder_select(DL); - return; -} - - - -int pull_and_display_text_for_folder_a0(LEVELID param_1) - -{ - mission_folder_setup *pmVar1; - int iVar2; - LEVELID LVar3; - - pmVar1 = mission_folder_setup_entries; - iVar2 = 0; - LVar3 = mission_folder_setup_entries[0].mission_num; - if (mission_folder_setup_entries[0].folder_text_preset != 0) { - while( true ) { - if (param_1 == LVar3) { - return iVar2; - } - iVar2 += 1; - if (pmVar1[1].folder_text_preset == 0) break; - LVar3 = pmVar1[1].mission_num; - pmVar1 = pmVar1 + 1; - } - } - return -1; -} - - - -BOOL check_if_stage_completed_on_difficulty(int stage,DIFFICULTY difficulty) - -{ - BOOL completed; - - if (mission_folder_setup_entries[stage].mission_num < 0) { - completed = FALSE; - } - else { - completed = isStageUnlockedAtDifficulty - (selected_folder_num,mission_folder_setup_entries[stage].mission_num, - difficulty); - } - return completed; -} - - - -longlong get_highest_unlocked_difficulty_for_level(longlong stage) - -{ - int iVar1; - BOOL BVar2; - s32 sVar3; - longlong lVar4; - - iVar1 = pull_and_display_text_for_folder_a0((STAGENUM)stage); - lVar4 = 2; - if (-1 < mission_folder_setup_entries[iVar1].stage_id) { - BVar2 = is007ModeUnlockedinFolder(selected_folder_num); - if (BVar2 == FALSE) { - iVar1 = get_debug_007_unlock_flag(); - if (iVar1 != 0) { - lVar4 = 3; - } - } - else { - lVar4 = 3; - } - if (true) { - do { - sVar3 = isStageUnlockedAtDifficulty - (selected_folder_num,(STAGENUM)stage,(DIFFICULTY)lVar4); - if (append_cheat_sp == FALSE) { - if (sVar3 != 0) { - return lVar4; - } - } - else { - if (sVar3 == 3) { - return lVar4; - } - } - lVar4 = (longlong)((DIFFICULTY)lVar4 + DIFFICULTY_MULTI); - } while (-1 < lVar4); - } - } - return -1; -} - - - -void init_menu07_missionsel(void) - -{ - selected_stage = LEVELID_NONE; - briefingpage = 0xffffffff; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - if (maybe_is_in_menu != FALSE) { - musicTrack1Play(M_FOLDERS); - maybe_is_in_menu = FALSE; - } - load_walletbond(); - return; -} - - - -void update_menu07_missionsel(void) - -{ - return; -} - - - -void interface_menu07_missionsel(void) - -{ - ushort *partdesc; - bool bVar1; - int iVar2; - longlong lVar3; - int **ppiVar4; - int **ppiVar5; - u32 uVar6; - undefined4 *puVar7; - undefined4 *puVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - - setvideo_far(60.00000000); - video_related_21((f32)menu07_aspect); - set_page_height(100.00000000,(f32)menu07_pageheight); - set_video2_settings_offset_24(0); - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x13,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x14,1); - tab_3_highlight = FALSE; - mission_difficulty_highlighted = DIFFICULTY_MULTI; - lVar3 = isontab3(); - iVar12 = 0; - if (lVar3 == 0) { - bVar1 = true; - while (((bVar1 && ((float)(cursor_xpos_table_mission_select[iVar12 + 1] + - cursor_xpos_table_mission_select[iVar12]) * 0.50000000 <= - (float)cursor_h_pos)) && (iVar12 += 1, iVar12 != 5))) { - bVar1 = iVar12 < 4; - } - iVar10 = 0; - bVar1 = true; - while (((bVar1 && ((float)(cursor_ypos_table_mission_select[iVar10 + 1] + - cursor_ypos_table_mission_select[iVar10]) * 0.50000000 <= - (float)cursor_v_pos)) && (iVar10 += 1, iVar10 != 4))) { - bVar1 = iVar10 < 3; - } - if (0 < iVar10) { - iVar2 = iVar10 * 5; - do { - iVar11 = 0; - iVar9 = iVar2; - do { - lVar3 = get_highest_unlocked_difficulty_for_level((longlong)iVar9); - if (-1 < lVar3) break; - iVar11 += 1; - iVar9 += 1; - } while (iVar11 != 5); - if (iVar11 < 5) break; - iVar10 += -1; - iVar2 += -5; - } while (0 < iVar10); - } - iVar10 *= 5; - if (-1 < iVar12) { - iVar2 = iVar10 + iVar12; - do { - lVar3 = get_highest_unlocked_difficulty_for_level((longlong)iVar2); - if (-1 < lVar3) break; - iVar12 += -1; - iVar2 += -1; - } while (-1 < iVar12); - } - if (iVar12 < 0) { - iVar12 = 0; - iVar2 = iVar10; - do { - lVar3 = get_highest_unlocked_difficulty_for_level((longlong)iVar2); - if (-1 < lVar3) break; - iVar12 += 1; - iVar2 += 1; - } while (iVar12 != 5); - } - mission_difficulty_highlighted = iVar10 + iVar12; - } - else { - tab_3_highlight = TRUE; - } - partdesc = *(ushort **)(*(int *)(*(int *)(ptr_folder_object_instance + 8) + 8) + 0x54); - if (partdesc != NULL) { - iVar12 = *(int *)(partdesc + 2); - ppiVar4 = (int **)extract_id_from_object_structure_microcode - ((int)ptr_folder_object_instance,partdesc); - ppiVar5 = ppiVar4; - proc_7F0BD6C4((int)*(short *)(iVar12 + 0xc)); - *(int ***)ppiVar4 = ppiVar5; - lVar3 = 0; - iVar10 = 0; - if (0 < *(short *)(iVar12 + 0xc)) { - iVar2 = *(int *)(iVar12 + 8); - while( true ) { - puVar8 = (undefined4 *)(iVar2 + iVar10); - puVar7 = (undefined4 *)((int)*ppiVar4 + iVar10); - *puVar7 = *puVar8; - puVar7[1] = puVar8[1]; - puVar7[2] = puVar8[2]; - puVar7[3] = puVar8[3]; - iVar9 = (int)lVar3; - iVar2 = iVar9; - if (lVar3 < 0) { - iVar2 = iVar9 + 3; - } - lVar3 = get_highest_unlocked_difficulty_for_level((longlong)(iVar2 >> 2)); - if (lVar3 < 0) { - *(undefined *)((int)*ppiVar4 + iVar10 + 0xc) = 0xf; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xd) = 0xf; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xe) = 0xf; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xf) = 0xff; - } - else { - if (iVar2 >> 2 == mission_difficulty_highlighted) { - *(undefined *)((int)*ppiVar4 + iVar10 + 0xc) = 0xff; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xd) = 0xff; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xe) = 0xff; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xf) = 0xf5; - } - else { - *(undefined *)((int)*ppiVar4 + iVar10 + 0xc) = 0x6e; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xd) = 0x6e; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xe) = 0x6e; - *(undefined *)((int)*ppiVar4 + iVar10 + 0xf) = 0xff; - } - } - lVar3 = (longlong)(iVar9 + 1); - iVar10 += 0x10; - if (*(short *)(iVar12 + 0xc) <= lVar3) break; - iVar2 = *(int *)(iVar12 + 8); - } - } - } - uVar6 = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar6 == 0) { - uVar6 = get_controller_buttons_pressed('\0',B_BUTTON); - if (uVar6 != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_3_highlight == FALSE) { - if (-1 < mission_difficulty_highlighted) { - briefingpage = pull_and_display_text_for_folder_a0(mission_difficulty_highlighted); - selected_stage = mission_folder_setup_entries[briefingpage].stage_id; - tab_2_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - menu_control_stick_tracking(); - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MODE_SELECT,0); - set_menu_cursor_pos_to_setting(0); - } - } - else { - set_menu_to_mode(MENU_DIFFICULTY,0); - lVar3 = get_highest_unlocked_difficulty_for_level - ((longlong)mission_folder_setup_entries[briefingpage].mission_num); - set_cursor_pos_difficulty((int)lVar3); - } - return; -} - - - -void set_cursor_to_stage_solo(longlong param_1) - -{ - if (false) { - trap(0x1c00); - } - if ((false) && (param_1 == -0x80000000)) { - trap(0x1800); - } - cursor_h_pos = (f32)(float)cursor_xpos_table_mission_select[(int)param_1 % 5]; - cursor_v_pos = (f32)(float)cursor_ypos_table_mission_select[(int)param_1 / 5]; - return; -} - - - -void constructor_menu07_missionsel(Gfx *param_1) - -{ - byte bVar1; - undefined4 *puVar4; - longlong lVar2; - int iVar5; - longlong lVar3; - u8 *puVar6; - size_t sVar7; - byte *pbVar8; - short sVar11; - short sVar12; - undefined4 *puVar9; - uint *puVar10; - LEVELID LVar13; - uint uVar14; - int iVar15; - u32 *DL; - int iStack88; - undefined4 uStack84; - byte abStack80 [52]; - int iStack28; - int aiStack24 [4]; - LEVELID LStack8; - - puVar4 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar4 = insert_generic_fillrect(puVar4); - puVar4[1] = 0xffffffff; - *puVar4 = 0xf8000000; - DL = (u32 *)proc_7F00D5E8(puVar4 + 2); - lVar2 = (longlong)(int)DL; - microcode_constructor(DL); - LStack8 = ~LEVELID_NONE; - do { - iVar15 = 0; - LVar13 = LStack8; - do { - iVar5 = pull_and_display_text_for_folder_a0(LVar13); - lVar3 = get_highest_unlocked_difficulty_for_level((longlong)LVar13); - if (-1 < lVar3) { - uVar14 = 0x96969600; - DL = cursor_xpos_table_mission_select + LStack8; - if ((longlong)LVar13 == (longlong)mission_difficulty_highlighted) { - uVar14 = 0xffffff00; - } - if (mission_folder_setup_entries[iVar5].icon_text_preset == 0) { - puVar6 = get_textptr_for_textID - (mission_folder_setup_entries[iVar5].folder_text_preset); - textpointer_load_parse_something((char *)abStack80,(char *)puVar6); - } - else { - puVar6 = get_textptr_for_textID - (mission_folder_setup_entries[iVar5].icon_text_preset); - textpointer_load_parse_something((char *)abStack80,(char *)puVar6); - } - if (j_text_trigger == 0) { - sVar7 = strlen((char *)abStack80); - pbVar8 = abStack80 + (sVar7 - 1); - if (-1 < (int)(sVar7 - 1)) { - bVar1 = *pbVar8; - while( true ) { - if (0x60 < bVar1) { - *pbVar8 = bVar1 - 0x20; - } - pbVar8 = pbVar8 + -1; - if (pbVar8 < abStack80) break; - bVar1 = *pbVar8; - } - } - } - string_append_from_obseg_textbank((char *)abStack80,"\n"); - iStack28 = 0; - aiStack24[0] = 0; - proc_7F0AE98C(aiStack24,&iStack28,abStack80,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - iStack88 = (cursor_ypos_table_mission_select[iVar15] - aiStack24[0]) + 0x1d; - uStack84 = *DL - 0x1f; - puVar4 = microcode_constructor_related_to_menus - ((undefined4 *)lVar2,(longlong)uStack84,(longlong)iStack88, - (longlong)(uStack84 + iStack28),iStack88 + aiStack24[0],0); - sVar11 = get_video2_settings_txtClipW(); - sVar12 = get_video2_settings_txtClipH(); - puVar9 = (undefined4 *)(int)sVar12; - en_text_write_stuff(puVar4,&uStack84,&iStack88,abStack80, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - uVar14 | 0xff,(int)sVar11,(int)sVar12,0,0); - iStack88 = (cursor_ypos_table_mission_select[iVar15] - aiStack24[0]) + 0x1d; - uStack84 = *DL - 0x1f; - sVar11 = get_video2_settings_txtClipW(); - sVar12 = get_video2_settings_txtClipH(); - lVar2 = (longlong)sVar12; - en_text_write_stuff(puVar9,&uStack84,&iStack88,abStack80, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - uVar14 | 100,(int)sVar11,(int)sVar12,0,0); - } - iVar15 += 1; - LVar13 += 5; - } while (iVar15 != 4); - LStack8 += 1; - } while (LStack8 != 5); - puVar10 = add_tab3_previous((undefined4 *)lVar2); - load_draw_selected_icon_folder_select(puVar10); - return; -} - - - -void init_menu08_difficulty(void) - -{ - selected_difficulty = DIFFICULTY_MULTI; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - load_walletbond(); - return; -} - - - -void update_menu08_difficulty(void) - -{ - return; -} - - - -void interface_menu08_difficulty(void) - -{ - longlong lVar1; - int iVar2; - u32 uVar3; - - lVar1 = get_highest_unlocked_difficulty_for_level - ((longlong)mission_folder_setup_entries[briefingpage].mission_num); - iVar2 = (int)lVar1; - setvideo_far(60.00000000); - video_related_21((f32)menu08_aspect); - set_page_height(100.00000000,(f32)menu08_pageheight); - set_video2_settings_offset_24(0); - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,4,1); - tab_3_highlight = FALSE; - mission_difficulty_highlighted = DIFFICULTY_MULTI; - lVar1 = isontab3(); - if (lVar1 == 0) { - if ((iVar2 < 3) || ((float)cursor_v_pos < flt_80051A54)) { - if ((iVar2 < 2) || ((float)cursor_v_pos < 243.00000000)) { - if (iVar2 < 1) { - mission_difficulty_highlighted = DIFFICULTY_AGENT; - } - else { - if (211.00000000 <= (float)cursor_v_pos) { - mission_difficulty_highlighted = DIFFICULTY_SECRET; - } - else { - mission_difficulty_highlighted = DIFFICULTY_AGENT; - } - } - } - else { - mission_difficulty_highlighted = DIFFICULTY_00; - } - } - else { - mission_difficulty_highlighted = DIFFICULTY_007; - } - } - else { - tab_3_highlight = TRUE; - } - uVar3 = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar3 == 0) { - uVar3 = get_controller_buttons_pressed('\0',B_BUTTON); - if (uVar3 != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_3_highlight == FALSE) { - if (-1 < mission_difficulty_highlighted) { - selected_difficulty = mission_difficulty_highlighted; - tab_2_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,0x4d,NULL); - } - } - else { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - menu_control_stick_tracking(); - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo - ((longlong)mission_folder_setup_entries[briefingpage].mission_num); - } - } - else { - if (selected_difficulty == DIFFICULTY_007) { - set_menu_to_mode(MENU_007_OPTIONS,0); - set_cursor_pos_tab2(); - } - else { - set_menu_to_mode(MENU_BRIEFING,0); - set_cursor_pos_tab2(); - } - } - return; -} - - - -uint * print_current_solo_briefing_stage_name(uint *param_1,byte *param_2) - -{ - char *pcVar1; - u8 *textfiletext; - short sVar4; - short sVar5; - int iVar2; - uint *puVar3; - uint *local_res0; - uint local_8; - uint local_4; - - local_res0 = param_1; - if (-1 < selected_difficulty) { - pcVar1 = (char *)get_ptr_difficulty_name(selected_difficulty); - textpointer_load_parse_something((char *)param_2,pcVar1); - textfiletext = get_textptr_for_textID(0x9c20); - string_append_from_obseg_textbank((char *)param_2,(char *)textfiletext); - local_4 = 0x37; - local_8 = 0x57; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - local_res0 = write_text_at_abs_coord - (param_1,&local_4,&local_8,param_2,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0); - } - iVar2 = get_chapter_briefing_entry(briefingpage); - if (-1 < iVar2) { - textfiletext = get_textptr_for_textID(0x9c21); - textpointer_load_parse_something((char *)param_2,(char *)textfiletext); - string_append_from_obseg_textbank - ((char *)param_2,(char *)mission_folder_setup_entries[iVar2].string_ptr); - string_append_from_obseg_textbank((char *)param_2,": "); - textfiletext = get_textptr_for_textID - (mission_folder_setup_entries[iVar2].folder_text_preset); - string_append_from_obseg_textbank((char *)param_2,(char *)textfiletext); - string_append_from_obseg_textbank((char *)param_2,"\n"); - local_4 = 0x37; - local_8 = 0x67; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - local_res0 = write_text_at_abs_coord - (local_res0,&local_4,&local_8,param_2,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0); - } - textfiletext = get_textptr_for_textID(0x9c22); - textpointer_load_parse_something((char *)param_2,(char *)textfiletext); - string_append_from_obseg_textbank - ((char *)param_2,(char *)mission_folder_setup_entries[briefingpage].string_ptr); - string_append_from_obseg_textbank((char *)param_2,": "); - textfiletext = get_textptr_for_textID - (mission_folder_setup_entries[briefingpage].folder_text_preset); - string_append_from_obseg_textbank((char *)param_2,(char *)textfiletext); - string_append_from_obseg_textbank((char *)param_2,"\n"); - local_4 = 0x37; - local_8 = 0x77; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puVar3 = write_text_at_abs_coord - (local_res0,&local_4,&local_8,param_2,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0); - return puVar3; -} - - - -void set_cursor_pos_difficulty(int difficulty) - -{ - cursor_h_pos = 106.00000000; - cursor_v_pos = (f32)(float)(difficulty * 0x1e + 0xba); - return; -} - - - -// WARNING: Instruction at (ram,0x7f00f1b4) overlaps instruction at (ram,0x7f00f1b0) -// - -void constructor_menu08_difficulty(Gfx *param_1) - -{ - sImageTableEntry *psVar1; - longlong lVar2; - byte *pbVar3; - short sVar6; - short sVar7; - int iVar4; - BOOL BVar5; - int iVar8; - DIFFICULTY difficulty; - uint uVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - f32 wdivh; - Gfx *pGStackX0; - float fStack3048; - float fStack3044; - int iStack3040; - float fStack3036; - int iStack3032; - int iStack3028; - undefined4 *puStack3024; - undefined4 auStack3020 [750]; - uint uStack20; - uint auStack16 [2]; - int iStack8; - - pGStackX0 = param_1; - lVar2 = get_highest_unlocked_difficulty_for_level - ((longlong)mission_folder_setup_entries[briefingpage].mission_num); - iStack8 = (int)lVar2; - pGStackX0 = (Gfx *)set_setfillcolor((undefined4 *)pGStackX0,0,0,0); - pGStackX0 = (Gfx *)insert_generic_fillrect((undefined4 *)pGStackX0); - pGStackX0 = (Gfx *)proc_7F00D5E8(pGStackX0); - puVar11 = array_8004F4B4; - puVar10 = auStack3020; - do { - puVar12 = puVar11 + 3; - *puVar10 = *puVar11; - puVar10[1] = puVar11[1]; - puVar10[2] = puVar11[2]; - puVar11 = puVar12; - puVar10 = puVar10 + 3; - } while (puVar12 != (undefined4 *)"%d.\n"); - microcode_constructor((u32 *)pGStackX0); - pGStackX0 = (Gfx *)print_current_solo_briefing_stage_name((uint *)pGStackX0,(byte *)auStack3020) - ; - pbVar3 = get_textptr_for_textID(0x9c23); - auStack16[0] = 0x37; - uStack20 = 0x8f; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - pGStackX0 = (Gfx *)write_text_at_abs_coord - ((uint *)pGStackX0,auStack16,&uStack20,pbVar3, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge,0xff, - (int)sVar6,(int)sVar7,0,0); - if (-1 < mission_difficulty_highlighted) { - if (j_text_trigger == 0) { - iVar8 = 0; - } - else { - iVar8 = 0x32; - } - pGStackX0 = (Gfx *)microcode_constructor_related_to_menus - ((undefined4 *)pGStackX0,(longlong)(0x7e - iVar8), - (longlong)(mission_difficulty_highlighted * 0x1e + 0xb2),0xf0, - mission_difficulty_highlighted * 0x1e + 0xc3,0x32); - } - iVar8 = 0; - do { - if ((iVar8 == 0) || (iVar8 <= iStack8)) { - uVar9 = iVar8 * 0x1e + 0xb4; - if (j_text_trigger == 0) { - puStack3024 = auStack3020; - sprintf((char *)puStack3024,"%d.\n",iVar8 + 1); - } - else { - if (iVar8 == 0) { - puStack3024 = (undefined4 *)get_textptr_for_textID(0x9d09); - } - else { - if (iVar8 == 1) { - puStack3024 = (undefined4 *)get_textptr_for_textID(0x9d0a); - } - else { - if (iVar8 == 2) { - puStack3024 = (undefined4 *)get_textptr_for_textID(0x9d0b); - } - else { - if (iVar8 == 3) { - puStack3024 = (undefined4 *)get_textptr_for_textID(0x9d0c); - } - } - } - } - } - proc_7F0AE98C(&iStack3032,&iStack3028,(byte *)puStack3024,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - iVar4 = 0; - if (j_text_trigger != 0) { - iVar4 = iStack3028 + -10; - } - auStack16[0] = 0x82 - iVar4; - uStack20 = uVar9; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - pGStackX0 = (Gfx *)write_text_at_abs_coord - ((uint *)pGStackX0,auStack16,&uStack20,(byte *)puStack3024, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - 0xff,(int)sVar6,(int)sVar7,0,0); - if (iVar8 == 0) { - puStack3024 = (undefined4 *)get_textptr_for_textID(0x9c24); - } - else { - if (iVar8 == 1) { - puStack3024 = (undefined4 *)get_textptr_for_textID(0x9c25); - } - else { - if (iVar8 == 2) { - puStack3024 = (undefined4 *)get_textptr_for_textID(0x9c26); - } - else { - if (iVar8 == 3) { - puStack3024 = (undefined4 *)get_textptr_for_textID(0x9c27); - } - } - } - } - auStack16[0] = 0x96; - uStack20 = uVar9; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - pGStackX0 = (Gfx *)write_text_at_abs_coord - ((uint *)pGStackX0,auStack16,&uStack20,(byte *)puStack3024, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - 0xff,(int)sVar6,(int)sVar7,0,0); - } - iVar8 += 1; - } while (iVar8 < 4); - pGStackX0 = (Gfx *)add_tab3_previous((undefined4 *)pGStackX0); - difficulty = DIFFICULTY_AGENT; - do { - if (((difficulty == DIFFICULTY_AGENT) || (difficulty <= iStack8)) && - (BVar5 = check_if_stage_completed_on_difficulty(briefingpage,difficulty), - psVar1 = mainfolderimages, BVar5 == 3)) { - fStack3036 = (float)(difficulty * 0x1e + 0xba); - iStack3040 = 0x438c0000; - fStack3048 = (float)(uint)mainfolderimages[4].width; - if (false) { - fStack3048 = fStack3048 + 4294967296.00000000; - } - fStack3048 = fStack3048 * 0.50000000; - fStack3044 = (float)(uint)mainfolderimages[4].height; - if (false) { - fStack3044 = fStack3044 + 4294967296.00000000; - } - fStack3044 = fStack3044 * 0.50000000; - append_image_to_DL((uint **)register0x000000ec,mainfolderimages + 4,4,0,0); - display_image_at_on_screen_coord - ((int *)register0x000000ec,&iStack3040,wdivh,(int)&fStack3048, - (uint)psVar1[4].width,(uint)psVar1[4].height,0,0,1,0xb4,0,0,0xff, - (uint)(psVar1[4].level != '\0')); - } - difficulty += DIFFICULTY_SECRET; - } while (difficulty != DIFFICULTY_007); - load_draw_selected_icon_folder_select(pGStackX0); - return; -} - - - -void init_menu09_007options(void) - -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - highlight_enemy_reaction = FALSE; - highlight_enemy_health = FALSE; - highlight_enemy_accuracy = FALSE; - highlight_enemy_damage = FALSE; - load_walletbond(); - return; -} - - - -void update_menu09_007options(void) - -{ - return; -} - - - -void interface_menu09_007options(void) - -{ - f32 fVar1; - u32 uVar3; - longlong lVar2; - float fVar4; - float fVar5; - int iVar6; - - setvideo_far(60.00000000); - video_related_21((f32)menu09_aspect); - set_page_height(100.00000000,(f32)menu09_pageheight); - set_video2_settings_offset_24(0); - uVar3 = get_controller_buttons_held('\0',Z_TRIG|A_BUTTON); - if (uVar3 == 0) { - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - highlight_enemy_reaction = FALSE; - highlight_enemy_health = FALSE; - highlight_enemy_accuracy = FALSE; - highlight_enemy_damage = FALSE; - lVar2 = isontab3(); - if (lVar2 == 0) { - lVar2 = isontab2(); - if (lVar2 == 0) { - lVar2 = isontab1(); - if (lVar2 == 0) { - iVar6 = (int)(float)cursor_v_pos; - if (iVar6 < 0x107) { - if (iVar6 < 0xe6) { - if (iVar6 < 0xc5) { - if (iVar6 < 0xa4) { - tab_2_highlight = TRUE; - } - else { - highlight_enemy_health = TRUE; - } - } - else { - highlight_enemy_accuracy = TRUE; - } - } - else { - highlight_enemy_damage = TRUE; - } - } - else { - highlight_enemy_reaction = TRUE; - } - } - else { - tab_1_highlight = TRUE; - } - } - else { - tab_2_highlight = TRUE; - } - } - else { - tab_3_highlight = TRUE; - } - } - uVar3 = get_controller_buttons_pressed('\0',START_BUTTON); - if (uVar3 == 0) { - uVar3 = get_controller_buttons_pressed('\0',Z_TRIG|A_BUTTON); - if (uVar3 == 0) { - uVar3 = get_controller_buttons_pressed('\0',B_BUTTON); - if (uVar3 != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_2_highlight == FALSE) { - if (tab_3_highlight == FALSE) { - if (tab_1_highlight != FALSE) { - tab_1_selected = TRUE; - } - } - else { - tab_3_selected = TRUE; - } - } - else { - tab_2_selected = TRUE; - } - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - tab_1_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - uVar3 = get_controller_buttons_held('\0',Z_TRIG|A_BUTTON); - fVar1 = slider_007_mode_reaction; - if (uVar3 != 0) { - fVar5 = 1.00000000; - fVar4 = ((float)cursor_h_pos - 55.00000000) / 300.00000000; - if (fVar4 <= 1.00000000) { - fVar5 = fVar4; - } - if (fVar5 < 0.00000000) { - fVar5 = 0.00000000; - } - fVar1 = (f32)fVar5; - if (highlight_enemy_reaction == FALSE) { - if (highlight_enemy_health == FALSE) { - if (highlight_enemy_accuracy == FALSE) { - fVar1 = slider_007_mode_reaction; - if (highlight_enemy_damage != FALSE) { - slider_007_mode_damage = (f32)(fVar5 * fVar5 * 10.00000000); - } - } - else { - slider_007_mode_accuracy = (f32)(fVar5 * fVar5 * 10.00000000); - fVar1 = slider_007_mode_reaction; - } - } - else { - slider_007_mode_health = (f32)(fVar5 * fVar5 * 10.00000000); - fVar1 = slider_007_mode_reaction; - } - } - } - slider_007_mode_reaction = fVar1; - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (tab_1_selected == FALSE) { - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_DIFFICULTY,0); - set_cursor_pos_difficulty(selected_difficulty); - } - } - else { - set_menu_to_mode(MENU_BRIEFING,0); - } - } - else { - set_menu_to_mode(MENU_RUN_STAGE,1); - } - return; -} - - - -void constructor_menu09_007options(Gfx *param_1) - -{ - undefined4 *puVar1; - uint *DL; - short sVar2; - short sVar3; - undefined4 *puVar4; - undefined4 *puVar5; - float fVar6; - int iStack3020; - int iStack3016; - undefined4 auStack3012 [750]; - uint uStack12; - uint uStack8; - byte *pbStack4; - - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - DL = (uint *)proc_7F00D5E8(puVar1); - puVar1 = (undefined4 *)array_80050074; - puVar4 = auStack3012; - do { - puVar5 = puVar1 + 3; - *puVar4 = *puVar1; - puVar4[1] = puVar1[1]; - puVar4[2] = puVar1[2]; - puVar1 = puVar5; - puVar4 = puVar4 + 3; - } while (puVar5 != (undefined4 *)"%d%%\n"); - microcode_constructor(DL); - DL = print_current_solo_briefing_stage_name(DL,(byte *)auStack3012); - pbStack4 = get_textptr_for_textID(0x9c28); - uStack8 = 0x37; - uStack12 = 0x8f; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - pbStack4 = get_textptr_for_textID(0x9c2a); - uStack8 = 0x39; - uStack12 = 0xa4; - puVar1 = microcode_constructor_related_to_menus(DL,0x37,0xb5,0x163,0xc0,0x32); - fVar6 = sqrtf((float)slider_007_mode_health / 10.00000000); - DL = microcode_constructor_related_to_menus - (puVar1,0x37,(longlong)(int)(uStack12 + 0x11), - (longlong)((int)(fVar6 * 300.00000000) + 0x37),uStack12 + 0x1c,100); - if (highlight_enemy_health != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,(longlong)(int)(uStack12 - 1),199,uStack12 + 0xe,0x32); - } - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - sprintf((char *)auStack3012,"%d%%\n",(int)((float)slider_007_mode_health * 100.00000000)); - iStack3020 = 0; - iStack3016 = 0; - proc_7F0AE98C(&iStack3016,&iStack3020,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack8 = 0x11d - iStack3020; - uStack12 = 0xa4; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - pbStack4 = get_textptr_for_textID(0x9c2b); - uStack8 = 0x39; - uStack12 = 0xc5; - puVar1 = microcode_constructor_related_to_menus(DL,0x37,0xd6,0x163,0xe1,0x32); - fVar6 = sqrtf((float)slider_007_mode_accuracy / 10.00000000); - DL = microcode_constructor_related_to_menus - (puVar1,0x37,(longlong)(int)(uStack12 + 0x11), - (longlong)((int)(fVar6 * 300.00000000) + 0x37),uStack12 + 0x1c,100); - if (highlight_enemy_accuracy != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,(longlong)(int)(uStack12 - 1),199,uStack12 + 0xe,0x32); - } - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - sprintf((char *)auStack3012,"%d%%\n",(int)((float)slider_007_mode_accuracy * 100.00000000)); - iStack3020 = 0; - iStack3016 = 0; - proc_7F0AE98C(&iStack3016,&iStack3020,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack8 = 0x11d - iStack3020; - uStack12 = 0xc5; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - pbStack4 = get_textptr_for_textID(0x9c2c); - uStack8 = 0x39; - uStack12 = 0xe6; - puVar1 = microcode_constructor_related_to_menus(DL,0x37,0xf7,0x163,0x102,0x32); - fVar6 = sqrtf((float)slider_007_mode_damage / 10.00000000); - DL = microcode_constructor_related_to_menus - (puVar1,0x37,(longlong)(int)(uStack12 + 0x11), - (longlong)((int)(fVar6 * 300.00000000) + 0x37),uStack12 + 0x1c,100); - if (highlight_enemy_damage != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,(longlong)(int)(uStack12 - 1),199,uStack12 + 0xe,0x32); - } - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - sprintf((char *)auStack3012,"%d%%\n",(int)((float)slider_007_mode_damage * 10.00000000)); - iStack3020 = 0; - iStack3016 = 0; - proc_7F0AE98C(&iStack3016,&iStack3020,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack8 = 0x11d - iStack3020; - uStack12 = 0xe6; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - pbStack4 = get_textptr_for_textID(0x9c29); - uStack8 = 0x39; - uStack12 = 0x107; - puVar1 = microcode_constructor_related_to_menus(DL,0x37,0x118,0x163,0x123,0x32); - DL = microcode_constructor_related_to_menus - (puVar1,0x37,(longlong)(int)(uStack12 + 0x11), - (longlong) - ((int)((float)slider_007_mode_reaction * 300.00000000 * 1.00000000) + 0x37), - uStack12 + 0x1c,100); - if (highlight_enemy_reaction != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,(longlong)(int)(uStack12 - 1),199,uStack12 + 0xe,0x32); - } - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - sprintf((char *)auStack3012,"%d%%\n",(int)((float)slider_007_mode_reaction * 100.00000000)); - iStack3020 = 0; - iStack3016 = 0; - proc_7F0AE98C(&iStack3016,&iStack3020,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack8 = 0x11d - iStack3020; - uStack12 = 0x107; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - DL = add_tab1_start(DL); - DL = add_tab3_previous(DL); - DL = add_tab2_next(DL); - load_draw_selected_icon_folder_select(DL); - return; -} - - - -u32 get_player_control_style(int playernum) - -{ - return controlstyle_player[playernum]; -} - - - -BOOL check_if_mp_stage_unlocked(int stage) - -{ - BOOL BVar1; - int iVar2; - s32 sVar3; - - if (multi_stage_setups[stage].min_player == 0) { - BVar1 = FALSE; - } - else { - iVar2 = get_selected_num_players(); - if (multi_stage_setups[stage].max_player < iVar2) { - BVar1 = FALSE; - } - else { - if (multi_stage_setups[stage].unlock_after == ~SP_STAGE_DAM) { - BVar1 = TRUE; - } - else { - sVar3 = isStageUnlockedAtDifficulty - (selected_folder_num,multi_stage_setups[stage].unlock_after, - DIFFICULTY_AGENT); - if (sVar3 == 0) { - BVar1 = FALSE; - } - else { - BVar1 = TRUE; - } - } - } - } - return BVar1; -} - - - -void select_game_length(void) - -{ - uint uVar1; - - if (scenario != SCENARIO_TLD) { - game_length = (int)(game_length + 1) % 7; - return; - } - uVar1 = game_length + 1 & 3; - if (((int)(game_length + 1) < 0) && (uVar1 != 0)) { - uVar1 -= 4; - } - game_length = uVar1; - return; -} - - - -void copy_aim_settings_to_playerdata(void) - -{ - player1_playerdata[0].autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim; - player1_playerdata[0].sight = mp_sight_adjust_table[aim_sight_adjustment].sight; - player1_playerdata[1].autoaim = player1_playerdata[0].autoaim; - player1_playerdata[1].sight = player1_playerdata[0].sight; - player1_playerdata[2].autoaim = player1_playerdata[0].autoaim; - player1_playerdata[2].sight = player1_playerdata[0].sight; - player1_playerdata[3].autoaim = player1_playerdata[0].autoaim; - player1_playerdata[3].sight = player1_playerdata[0].sight; - return; -} - - - -void advance_aim_settings_selection(void) - -{ - uint uVar1; - - uVar1 = aim_sight_adjustment + 1; - aim_sight_adjustment = uVar1 & 3; - if (((int)uVar1 < 0) && (aim_sight_adjustment != 0)) { - aim_sight_adjustment -= 4; - } - copy_aim_settings_to_playerdata(); - return; -} - - - -void unlock_mp_chars(void) - -{ - num_chars_selectable_mp = 0x40; - return; -} - - - -u32 get_selected_num_players(void) - -{ - if (gamemode == GAMEMODE_MULTI) { - return selected_num_players; - } - return 1; -} - - - -HEADS get_player_mp_char_head(int player) - -{ - if ((int)player_1_char[player] < 0) { - return mp_chr_setup[player].head; - } - return mp_chr_setup[(int)player_1_char[player]].head; -} - - - -u8 get_player_mp_char_gender(int player) - -{ - if ((int)player_1_char[player] < 0) { - return (u8)mp_chr_setup[player].gender; - } - return (u8)mp_chr_setup[(int)player_1_char[player]].gender; -} - - - -BODIES get_player_mp_char_body(int player) - -{ - if ((int)player_1_char[player] < 0) { - return (BODIES)mp_chr_setup[player].body; - } - return (BODIES)mp_chr_setup[(int)player_1_char[player]].body; -} - - - -f32 get_player_mp_handicap(int player) - -{ - return (f32)MP_handicap_table[handicap_player1[player]].damage_modifier; -} - - - -f32 get_player_mp_char_height(int player) - -{ - if ((int)player_1_char[player] < 0) { - return mp_chr_setup[player].pov; - } - return mp_chr_setup[(int)player_1_char[player]].pov; -} - - - -int get_mp_timelimit(void) - -{ - return multi_game_lengths[game_length].time; -} - - - -int get_mp_pointlimit(void) - -{ - return multi_game_lengths[game_length].points; -} - - - -void reset_mp_options_for_scenario(MPSCENARIOS scenarioid) - -{ - int iVar1; - - 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 = scenarioid; - switch(scenarioid) { - case SCENARIO_NORMAL: - case SCENARIO_2v2: - case SCENARIO_3v1: - case SCENARIO_2v1: - if (6 < game_length) { - game_length = 2; - } - iVar1 = get_mp_weapon_set(); - if (0xd < iVar1) { - set_mp_weapon_set(0xd); - } - break; - case SCENARIO_YOLT: - game_length = 7; - iVar1 = get_mp_weapon_set(); - if (0xd < iVar1) { - set_mp_weapon_set(0xd); - } - unlock_game_length = 0; - break; - case SCENARIO_TLD: - if (3 < game_length) { - game_length = 2; - } - iVar1 = get_mp_weapon_set(); - if (0xd < iVar1) { - 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; - } - return; -} - - - -void init_mp_options_for_scenario(u32 numplayers) - -{ - longlong lVar1; - int iVar2; - s32 **ppsVar3; - longlong players; - - players = (longlong)(int)numplayers; - if (players < 2) { - players = 2; - } - selected_num_players = (u32)players; - lVar1 = 0; - if (0 < players) { - ppsVar3 = player_1_char; - iVar2 = 0; - do { - if (*ppsVar3 == (s32 *)0xffffffff) { - *ppsVar3 = (s32 *)lVar1; - *(undefined4 *)((int)handicap_player1 + iVar2) = 5; - } - lVar1 = (longlong)((int)(s32 *)lVar1 + 1); - if ((2 < players) && (3 < *(int *)((int)controlstyle_player + iVar2))) { - *(int *)((int)controlstyle_player + iVar2) = 0; - } - iVar2 += 4; - ppsVar3 = ppsVar3 + 1; - } while (lVar1 < players); - } - if (((longlong)(ulonglong)(byte)mp_stage_playercounts[scenario].max < players) || - (players < (longlong)(ulonglong)(byte)mp_stage_playercounts[scenario].min)) { - reset_mp_options_for_scenario(0); - players = (longlong)(int)selected_num_players; - } - if (multi_stage_setups[MP_stage_selected].max_player < players) { - MP_stage_selected = MP_STAGE_TEMPLE; - } - return; -} - - - -void init_menu0E_mpoptions(void) - -{ - u64 uVar1; - BOOL BVar2; - - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - if (maybe_is_in_menu != FALSE) { - music_related_38(0x7fff); - musicTrack1Vol(0x7fff); - music1_playing = 0; - musicTrack1Play(M_FOLDERS); - maybe_is_in_menu = FALSE; - } - if (selected_num_players == 0) { - uVar1 = get_attached_controller_count(); - init_mp_options_for_scenario((u32)uVar1); - } - BVar2 = check_if_mp_stage_unlocked(MP_stage_selected); - if (BVar2 == FALSE) { - MP_stage_selected = MP_STAGE_TEMPLE; - } - highlight_players = FALSE; - highlight_scenario = FALSE; - highlight_gameselect = FALSE; - highlight_gamelength = FALSE; - highlight_character = FALSE; - highlight_weaponselect = FALSE; - highlight_health = FALSE; - highlight_controlstyle = FALSE; - highlight_aimadjustment = FALSE; - load_walletbond(); - return; -} - - - -void update_menu0E_mpoptions(void) - -{ - return; -} - - - -void interface_menu0E_mpoptions(void) - -{ - bool players_selected; - bool scenario_selected; - bool gameselect_selected; - bool gamelength_selected; - bool character_selected; - bool weaponselect_selected; - bool health_selected; - bool controlstyle_selected; - bool aimadjustment_selected; - LEVELID curstageid; - u64 uVar1; - u32 numplayers; - longlong lVar2; - BOOL BVar3; - int iVar4; - - players_selected = false; - scenario_selected = false; - gameselect_selected = false; - gamelength_selected = false; - character_selected = false; - weaponselect_selected = false; - health_selected = false; - controlstyle_selected = false; - aimadjustment_selected = false; - setvideo_far(60.00000000); - video_related_21(1.33333337); - set_page_height(100.00000000,10000.00000000); - set_video2_settings_offset_24(0); - uVar1 = get_attached_controller_count(); - if ((longlong)uVar1 < 2) { - set_menu_to_mode(MENU_MODE_SELECT,0); - set_menu_cursor_pos_to_setting(gamemode); - } - uVar1 = get_attached_controller_count(); - if ((longlong)uVar1 < (longlong)(int)selected_num_players) { - uVar1 = get_attached_controller_count(); - init_mp_options_for_scenario((u32)uVar1); - } - numplayers = get_controller_buttons_held('\0',Z_TRIG|A_BUTTON); - if (numplayers == 0) { - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - highlight_players = FALSE; - highlight_scenario = FALSE; - highlight_gameselect = FALSE; - highlight_gamelength = FALSE; - highlight_character = FALSE; - highlight_weaponselect = FALSE; - highlight_health = FALSE; - highlight_controlstyle = FALSE; - highlight_aimadjustment = FALSE; - lVar2 = isontab3(); - if (lVar2 == 0) { - lVar2 = isontab1(); - if (lVar2 == 0) { - iVar4 = (int)(float)cursor_v_pos; - if ((iVar4 < 0x119) || (unlock_aim_sight == 0)) { - if ((iVar4 < 0x105) || (unlock_control_style == 0)) { - if ((iVar4 < 0xf1) || (unlock_handicap == 0)) { - if ((iVar4 < 0xdd) || (unlock_chars == 0)) { - if ((iVar4 < 0xc9) || (unlock_weapon_select == 0)) { - if ((iVar4 < 0xb5) || (unlock_game_length == 0)) { - if ((iVar4 < 0xa1) || (unlock_stage_select == 0)) { - if (iVar4 < 0x8d) { - highlight_players = TRUE; - } - else { - highlight_scenario = TRUE; - } - } - else { - highlight_gameselect = TRUE; - } - } - else { - highlight_gamelength = TRUE; - } - } - else { - highlight_weaponselect = TRUE; - } - } - else { - highlight_character = TRUE; - } - } - else { - highlight_health = TRUE; - } - } - else { - highlight_controlstyle = TRUE; - } - } - else { - highlight_aimadjustment = TRUE; - } - } - else { - tab_1_highlight = TRUE; - } - } - else { - tab_3_highlight = TRUE; - } - } - numplayers = get_controller_buttons_pressed('\0',START_BUTTON); - if (numplayers == 0) { - numplayers = get_controller_buttons_pressed('\0',Z_TRIG|A_BUTTON); - if (numplayers == 0) { - numplayers = get_controller_buttons_pressed('\0',B_BUTTON); - if (numplayers != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_3_highlight != FALSE) { - tab_3_selected = TRUE; - } - if (tab_1_highlight == FALSE) { - if (highlight_players == FALSE) { - if (highlight_scenario == FALSE) { - if (highlight_gameselect == FALSE) { - if (highlight_gamelength == FALSE) { - if (highlight_character == FALSE) { - if (highlight_weaponselect == FALSE) { - if (highlight_health == FALSE) { - if (highlight_controlstyle == FALSE) { - if (highlight_aimadjustment != FALSE) { - aimadjustment_selected = true; - } - } - else { - controlstyle_selected = true; - } - } - else { - health_selected = true; - } - } - else { - weaponselect_selected = true; - } - } - else { - character_selected = true; - } - } - else { - gamelength_selected = true; - } - } - else { - gameselect_selected = true; - } - } - else { - scenario_selected = true; - } - } - else { - players_selected = true; - } - } - else { - tab_1_selected = TRUE; - } - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - tab_1_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,5,1); - menu_control_stick_tracking(); - if (tab_3_selected == FALSE) { - if (tab_1_selected == FALSE) { - if (players_selected) { - uVar1 = get_attached_controller_count(); - numplayers = selected_num_players + 1; - if ((longlong)uVar1 < (longlong)(int)numplayers) { - numplayers = 2; - } - init_mp_options_for_scenario(numplayers); - } - else { - if (scenario_selected) { - set_menu_to_mode(MENU_MP_SCENARIO_SELECT,0); - } - else { - if (gameselect_selected) { - set_menu_to_mode(MENU_MP_STAGE_SELECT,0); - } - else { - if (gamelength_selected) { - select_game_length(); - } - else { - if (character_selected) { - set_menu_to_mode(MENU_MP_CHAR_SELECT,0); - } - else { - if (weaponselect_selected) { - advance_mp_weapon_set_by_one_save_value(); - } - else { - if (health_selected) { - set_menu_to_mode(MENU_MP_HANDICAP,0); - } - else { - if (controlstyle_selected) { - set_menu_to_mode(MENU_MP_CONTROL_STYLE,0); - } - else { - if (aimadjustment_selected) { - advance_aim_settings_selection(); - } - } - } - } - } - } - } - } - } - } - else { - 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; - BVar3 = check_if_mp_stage_unlocked(numplayers % 0xb + 1); - curstageid = selected_stage; - } while (BVar3 == FALSE); - } - selected_stage = curstageid; - briefingpage = 0xffffffff; - set_menu_to_mode(MENU_RUN_STAGE,1); - } - } - else { - set_menu_to_mode(MENU_MODE_SELECT,0); - set_menu_cursor_pos_to_setting(gamemode); - } - return; -} - - - -void constructor_menu0E_mpoptions(Gfx *param_1) - -{ - undefined4 *puVar1; - short sVar3; - short sVar4; - uint *DL; - mp_weaponset_set *pmVar2; - uint uVar5; - int iStack28; - int iStack24; - uint uStack20; - uint uStack16; - byte abStack12 [8]; - byte *pbStack4; - - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - DL = (uint *)proc_7F00D5E8(puVar1); - microcode_constructor(DL); - pbStack4 = get_textptr_for_textID(0x9c4c); - uStack16 = 0x37; - uStack20 = 0x5f; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c4d); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0x79; - if (highlight_players != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,0x78,(longlong)(iStack28 + 0x3c),0x87,0x32); - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c4e); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0x8d; - if (highlight_scenario != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,0x8c,(longlong)(iStack28 + 0x3c),0x9b,0x32); - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c4f); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0xa1; - if (highlight_gameselect != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,0xa0,(longlong)(iStack28 + 0x3c),0xaf,0x32); - } - if (unlock_stage_select == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c50); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0xb5; - if (highlight_gamelength != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,0xb4,(longlong)(iStack28 + 0x3c),0xc3,0x32); - } - if (unlock_game_length == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c51); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0xc9; - if (highlight_weaponselect != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,200,(longlong)(iStack28 + 0x3c),0xd7,0x32); - } - if (unlock_weapon_select == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c52); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0xdd; - if (highlight_character != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,0xdc,(longlong)(iStack28 + 0x3c),0xeb,0x32); - } - if (unlock_chars == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c53); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0xf1; - if (highlight_health != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,0xf0,(longlong)(iStack28 + 0x3c),0xff,0x32); - } - if (unlock_handicap == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9d1e); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0x105; - if (highlight_controlstyle != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,0x104,(longlong)(iStack28 + 0x3c),0x113,0x32); - } - if (unlock_control_style == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(0x9c54); - proc_7F0AE98C(&iStack24,&iStack28,pbStack4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack16 = 0x39; - uStack20 = 0x119; - if (highlight_aimadjustment != FALSE) { - DL = microcode_constructor_related_to_menus - (DL,0x37,0x118,(longlong)(iStack28 + 0x3c),0x127,0x32); - } - if (unlock_aim_sight == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - sprintf((char *)abStack12,"%d",selected_num_players); - uStack16 = 0xa0; - uStack20 = 0x79; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,abStack12,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(mp_stage_playercounts[scenario].stage); - uStack16 = 0xa0; - uStack20 = 0x8d; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(multi_stage_setups[MP_stage_selected].folder_text_preset); - uStack16 = 0xa0; - uStack20 = 0xa1; - if (unlock_stage_select == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID(multi_game_lengths[game_length].text_preset); - uStack16 = 0xa0; - uStack20 = 0xb5; - if (unlock_game_length == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pmVar2 = get_mpweaponset(); - pbStack4 = get_textptr_for_textID(*(TEXTFILESTRINGS *)&pmVar2->weaponsetarray[0].anonymous_0); - uStack16 = 0xa0; - uStack20 = 0xc9; - if (unlock_weapon_select == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - pbStack4 = get_textptr_for_textID - (*(TEXTFILESTRINGS *)(mp_sight_adjust_table + aim_sight_adjustment)); - uStack16 = 0xa0; - uStack20 = 0x119; - if (unlock_aim_sight == 0) { - uVar5 = 0x70; - } - else { - uVar5 = 0xff; - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack16,&uStack20,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar5,(int)sVar3,(int)sVar4,0,0); - DL = add_tab3_previous(DL); - DL = add_tab1_start(DL); - load_draw_selected_icon_folder_select(DL); - return; -} - - - -BOOL hasPlayerSelectedMPChar(int playerchar) - -{ - BOOL BVar1; - int iVar2; - BOOL BVar3; - BOOL *pBVar4; - - BVar3 = FALSE; - iVar2 = 0; - if (0 < (int)selected_num_players) { - pBVar4 = &has_selected_char_player1; - do { - BVar1 = *pBVar4; - pBVar4 = pBVar4 + 1; - if ((BVar1 != FALSE) && (playerchar == *(int *)((int)player_1_char + iVar2))) { - BVar3 = TRUE; - } - iVar2 += 4; - } while (pBVar4 < &has_selected_char_player1 + selected_num_players); - } - return BVar3; -} - - - -void init_menu0f_mpcharsel(void) - -{ - byte chrphoto; - sImageTableEntry *imageaddress; - s32 sVar1; - BOOL BVar2; - uint uVar3; - s32 *playerchar; - MP_selectable_chars *character; - s32 **chrindex; - - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - chrphoto = mp_chr_setup[0].select_photo; - character = mp_chr_setup; - while( true ) { - uVar3 = (uint)chrphoto; - imageaddress = mpcharselimages + uVar3 * 4; - if (imageaddress->index < 3000) { - calls_load_image_to_buffer(imageaddress->index,NULL); - imageaddress = mpcharselimages + uVar3 * 4; - } - if (imageaddress[1].index < 3000) { - calls_load_image_to_buffer(imageaddress[1].index,NULL); - imageaddress = mpcharselimages + uVar3 * 4; - } - if (imageaddress[2].index < 3000) { - calls_load_image_to_buffer(imageaddress[2].index,NULL); - imageaddress = mpcharselimages + uVar3 * 4; - } - if (imageaddress[3].index < 3000) { - calls_load_image_to_buffer(imageaddress[3].index,NULL); - } - if ((MP_selectable_chars *)0x8002b497 < character + 1) break; - chrphoto = character[1].select_photo; - character = character + 1; - } - if (num_chars_selectable_mp != 0x40) { - sVar1 = isStageUnlockedAtDifficulty(selected_folder_num,SP_STAGE_CRADLE,DIFFICULTY_AGENT); - if (sVar1 == 3) { - num_chars_selectable_mp = 0x21; - } - else { - num_chars_selectable_mp = 8; - chrindex = player_1_char; - do { - if ((int)num_chars_selectable_mp <= (int)*chrindex) { - playerchar = NULL; - if (0 < (int)num_chars_selectable_mp) { - do { - BVar2 = hasPlayerSelectedMPChar((int)playerchar); - if (BVar2 == FALSE) { - *chrindex = playerchar; - goto LAB_7f011de0; - } - playerchar = (s32 *)((int)playerchar + MP_STAGE_TEMPLE); - } while ((int)playerchar < (int)num_chars_selectable_mp); - } - *chrindex = playerchar; - } -LAB_7f011de0: - chrindex = chrindex + 1; - } while (chrindex != (s32 **)&MP_stage_selected); - } - } - mp_char_cur_select_player1 = player_1_char[0]; - mp_char_prev_select_player1 = player_1_char[0]; - mp_unknown1_player1 = 0; - has_selected_char_player1 = FALSE; - size_mp_select_image_player1 = 0; - mp_char_cur_select_player2 = player_1_char[1]; - mp_char_prev_select_player2 = player_1_char[1]; - mp_unknown1_player2 = 0; - has_selected_char_player2 = FALSE; - size_mp_select_image_player2 = 0; - mp_char_cur_select_player3 = player_1_char[2]; - mp_char_prev_select_player3 = player_1_char[2]; - mp_unknown1_player3 = 0; - has_selected_char_player3 = FALSE; - size_mp_select_image_player3 = 0; - mp_char_cur_select_player4 = player_1_char[3]; - mp_char_prev_select_player4 = player_1_char[3]; - mp_unknown1_player4 = 0; - has_selected_char_player4 = FALSE; - size_mp_select_image_player4 = 0; - load_walletbond(); - return; -} - - - -void update_menu0F_mpcharsel(void) - -{ - return; -} - - - -void interface_menu0F_mpcharsel(void) - -{ - int iVar1; - int iVar2; - int iVar3; - u32 uVar4; - BOOL BVar5; - int iVar6; - int iVar7; - char cVar8; - int *piVar9; - int *piVar10; - int iVar11; - BOOL *pBVar12; - int *piVar13; - int iVar14; - int iStack12; - - iVar3 = get_selected_num_players(); - iStack12 = 0; - setvideo_far(60.00000000); - video_related_21((f32)menu0F_aspect); - set_page_height(100.00000000,(f32)menu0F_pageheight); - set_video2_settings_offset_24(0); - iVar14 = 0; - iVar11 = 0; - if (0 < iVar3) { - piVar10 = &mp_unknown1_player1; - piVar9 = &mp_char_cur_select_player1; - piVar13 = &mp_char_prev_select_player1; - pBVar12 = &has_selected_char_player1; - do { - cVar8 = (char)iVar14; - if (*pBVar12 != FALSE) { - iVar6 = *(int *)((int)&size_mp_select_image_player1 + iVar11); - if ((iVar6 < 0xb) && (*piVar13 == *piVar9)) { - *(int *)((int)&size_mp_select_image_player1 + iVar11) = iVar6 + 1; - } - uVar4 = get_controller_buttons_pressed(cVar8,B_BUTTON); - if (uVar4 != 0) { - *pBVar12 = FALSE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - if ((*pBVar12 == FALSE) && - (iVar6 = *(int *)((int)&size_mp_select_image_player1 + iVar11), 0 < iVar6)) { - *(int *)((int)&size_mp_select_image_player1 + iVar11) = iVar6 + -1; -LAB_7f012164: - iVar6 = *piVar13; - } - else { - if (*pBVar12 != FALSE) goto LAB_7f012164; - uVar4 = get_controller_buttons_pressed(cVar8,L_CBUTTONS|L_JPAD); - if (uVar4 != 0) { - if (0 < *piVar9) { - *piVar9 = *piVar9 + -1; - } - goto LAB_7f012164; - } - uVar4 = get_controller_buttons_pressed(cVar8,R_CBUTTONS|R_JPAD); - if (uVar4 != 0) { - if (*piVar9 < (int)(num_chars_selectable_mp - 1)) { - *piVar9 = *piVar9 + 1; - } - goto LAB_7f012164; - } - uVar4 = get_controller_buttons_pressed(cVar8,START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar4 == 0) { - iVar6 = get_controller_3dstick_L_R(cVar8,-2,1); - if (iVar6 < 1) { - iVar6 = get_controller_3dstick_L_R(cVar8,-2,1); - if (iVar6 < -1) { - if (*piVar10 == 0) { - if (0 < *piVar9) { - *piVar9 = *piVar9 + -1; - } - goto LAB_7f012164; - } - iVar6 = *piVar13; - } - else { - iVar6 = *piVar13; - } - } - else { - if (*piVar10 == 0) { - if (*piVar9 < (int)(num_chars_selectable_mp - 1)) { - *piVar9 = *piVar9 + 1; - } - goto LAB_7f012164; - } - iVar6 = *piVar13; - } - } - else { - BVar5 = hasPlayerSelectedMPChar(*piVar9); - if (BVar5 != FALSE) goto LAB_7f012164; - *(int *)((int)player_1_char + iVar11) = *piVar9; - *(undefined4 *)((int)&size_mp_select_image_player1 + iVar11) = 1; - *pBVar12 = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - iVar6 = *piVar13; - } - } - iVar1 = *piVar9; - iVar2 = *piVar10; - iVar14 += 1; - piVar9 = piVar9 + 1; - BVar5 = *pBVar12; - iVar7 = iVar2 + iVar6 * 0x54; - if (iVar1 * 0x54 < iVar7) { - *piVar10 = iVar2 + -0xc; - if (iVar2 + -0xc < 0) { - *piVar10 = iVar2 + 0x48; - *piVar13 = iVar6 + -1; - } - } - else { - if ((iVar7 < iVar1 * 0x54) && (*piVar10 = iVar2 + 0xc, 0x53 < iVar2 + 0xc)) { - *piVar10 = iVar2 + -0x48; - *piVar13 = iVar6 + 1; - } - } - if ((BVar5 != FALSE) && (*(int *)((int)&size_mp_select_image_player1 + iVar11) == 0xb)) - { - iStack12 = iStack12 + 1; - } - iVar11 += 4; - piVar13 = piVar13 + 1; - piVar10 = piVar10 + 1; - pBVar12 = pBVar12 + 1; - } while (iVar14 != iVar3); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1); - menu_control_stick_tracking(); - if (iStack12 == iVar3) { - set_menu_to_mode(MENU_MP_OPTIONS,0); - } - return; -} - - - -int proc_7F0122A8(int param_1,int param_2,int param_3) - -{ - if ((param_1 <= param_2) || (param_3 <= param_1)) { - return 0; - } - if (param_1 < param_2 + 0x28) { - return (param_2 - param_1) * -6 + 0xf; - } - if (param_3 + -0x28 < param_1) { - return (param_1 - param_3) * -6 + 0xf; - } - return 0xff; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 * proc_7F01231C(void) - -{ - short sVar1; - Mtx *in_v0_lo; - Mtx *m; - Mtx *pabVar2; - Mtx *pabVar3; - BOOL BVar4; - byte bVar6; - int iVar5; - u32 *in_a0_lo; - int in_a1_lo; - int in_a2_lo; - undefined4 in_a3_lo; - uint uVar7; - short sVar8; - short sVar9; - uint uVar10; - float l; - float a; - float r; - float x; - Mtx *pabStackX0; - int iStackX4; - int iStackX8; - undefined4 uStackX12; - short in_stack_00000012; - int in_stack_00000014; - int in_stack_00000018; - - pabStackX0 = (Mtx *)in_a0_lo; - iStackX4 = in_a1_lo; - iStackX8 = in_a2_lo; - uStackX12 = in_a3_lo; - proc_7F0BD6E0(); - m = in_v0_lo; - proc_7F0BD6E0(); - pabVar2 = m; - proc_7F0BD6C4(0x10); - pabVar3 = pabVar2; - microcode_constructor((u32 *)pabStackX0); - pabStackX0 = pabVar3; - guOrtho(in_v0_lo,l,r,0.00000000,440.00000000,0.00000000,330.00000000,1.00000000); - guRotate(m,a,x,3.14159274,1.00000000); - sVar1 = (short)in_stack_00000018; - uVar10 = 0; - pabVar3 = pabVar2; - do { - uVar7 = 0; - do { - sVar9 = (short)uVar7; - if (1 < (int)uVar7) { - sVar9 += -1; - } - sVar8 = (short)uVar10; - if (1 < (int)uVar10) { - sVar8 = (short)uVar10 + -1; - } - BVar4 = hasPlayerSelectedMPChar(in_stack_00000014); - if (BVar4 == FALSE) { - bVar6 = 0xff; - } - else { - if (in_stack_00000018 == 0) { - bVar6 = 0x6e; - } - else { - bVar6 = 0xff; - } - } - *(short *)*pabVar3 = (sVar9 + -1) * (sVar1 + 0x23) + (short)uStackX12; - *(undefined2 *)(*pabVar3 + 4) = 0xfffb; - *(undefined2 *)(*pabVar3 + 6) = 0; - *(short *)(*pabVar3 + 2) = - (0x14a - in_stack_00000012) + (sVar8 + -1) * (sVar1 + 0x2a) + sVar1; - if ((uVar7 & 1) == 0) { - *(undefined2 *)(*pabVar3 + 8) = 0; - } - else { - *(undefined2 *)(*pabVar3 + 8) = 0x1000; - } - if ((uVar10 & 1) == 0) { - *(undefined2 *)(*pabVar3 + 10) = 0; - } - else { - *(undefined2 *)(*pabVar3 + 10) = 0x1000; - } - (*pabVar3)[0xc] = bVar6; - (*pabVar3)[0xd] = bVar6; - (*pabVar3)[0xe] = bVar6; - if (in_stack_00000018 == 0) { - iVar5 = proc_7F0122A8((int)*(short *)*pabVar3,iStackX4,iStackX8); - (*pabVar3)[0xf] = (byte)iVar5; - } - else { - (*pabVar3)[0xf] = 0xff; - } - uVar7 += 1; - pabVar3 = (Mtx *)(*pabVar3 + 0x10); - } while (uVar7 != 4); - uVar10 += 1; - } while (uVar10 != 4); - *(undefined4 *)*pabStackX0 = 0x1030040; - *(Mtx **)(*pabStackX0 + 4) = in_v0_lo + -0x2000000; - *(undefined4 *)(*pabStackX0 + 8) = 0x1020040; - *(Mtx **)(*pabStackX0 + 0xc) = m + -0x2000000; - *(undefined4 *)(*pabStackX0 + 0x10) = 0x4f00100; - *(Mtx **)(*pabStackX0 + 0x14) = pabVar2; - pabStackX0 = (Mtx *)(*pabStackX0 + 0x18); - append_image_to_DL((uint **)register0x000000ec, - mpcharselimages + - (uint)(byte)mp_chr_setup[in_stack_00000014].select_photo * 4 + 2,2,0,2); - ((undefined4 *)pabStackX0)[1] = 0xa28; - *(undefined4 *)pabStackX0 = 0xbf000000; - ((undefined4 *)pabStackX0)[3] = 0x280a32; - ((undefined4 *)pabStackX0)[2] = 0xbf000000; - pabStackX0 = (Mtx *)((undefined4 *)pabStackX0 + 4); - append_image_to_DL((uint **)register0x000000ec, - mpcharselimages + - (uint)(byte)mp_chr_setup[in_stack_00000014].select_photo * 4 + 3,2,0,2); - ((undefined4 *)pabStackX0)[1] = 0x141e3c; - *(undefined4 *)pabStackX0 = 0xbf000000; - ((undefined4 *)pabStackX0)[3] = 0x3c1e46; - ((undefined4 *)pabStackX0)[2] = 0xbf000000; - pabStackX0 = (Mtx *)((undefined4 *)pabStackX0 + 4); - append_image_to_DL((uint **)register0x000000ec, - mpcharselimages + - (uint)(byte)mp_chr_setup[in_stack_00000014].select_photo * 4,2,0,2); - ((undefined4 *)pabStackX0)[1] = 0x505a78; - *(undefined4 *)pabStackX0 = 0xbf000000; - ((undefined4 *)pabStackX0)[3] = 0x785a82; - ((undefined4 *)pabStackX0)[2] = 0xbf000000; - pabStackX0 = (Mtx *)((undefined4 *)pabStackX0 + 4); - append_image_to_DL((uint **)register0x000000ec, - mpcharselimages + - (uint)(byte)mp_chr_setup[in_stack_00000014].select_photo * 4 + 1,2,0,2); - ((undefined4 *)pabStackX0)[1] = 0x646e8c; - *(undefined4 *)pabStackX0 = 0xbf000000; - ((undefined4 *)pabStackX0)[3] = 0x8c6e96; - ((undefined4 *)pabStackX0)[2] = 0xbf000000; - return (undefined4 *)pabStackX0 + 4; -} - - - -void constructor_menu0F_mpcharsel(Gfx *param_1) - -{ - undefined4 *puVar1; - u32 *DL; - uint *DL_00; - uint *puVar2; - uint *DL_01; - short sVar3; - short sVar4; - int iVar5; - int iVar6; - int iVar7; - int *imagesize; - int *char_prev; - int *char_cur; - int *char_selected; - uint uStack76; - uint uStack72; - int iStack68; - int aiStack64 [2]; - uint uStack56; - uint uStack52; - int iStack48; - int aiStack44 [9]; - uint uStack8; - uint numplayers; - - numplayers = get_selected_num_players(); - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - DL = (u32 *)proc_7F00D5E8(puVar1); - microcode_constructor(DL); - DL_00 = microcode_constructor_related_to_menus(DL,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)numplayers) { - DL_00 = microcode_constructor_related_to_menus(DL_00,0xd4,0x1e,0xd6,0x136,0x80); - } - if (0 < (int)numplayers) { - imagesize = &size_mp_select_image_player1; - char_selected = &has_selected_char_player1; - char_cur = &mp_char_cur_select_player1; - char_prev = &mp_char_prev_select_player1; - uStack8 = 0; - do { - if (numplayers == 2) { - iVar5 = 0x26; - iVar6 = 0x15e; - if ((int)uStack8 < 1) { - iVar7 = 0x1e; - } - else { - iVar7 = 0xaa; - } - } - else { - iVar6 = 0xaf; - if ((int)uStack8 < 2) { - iVar7 = 0; - } - else { - iVar7 = 0x8c; - } - iVar7 += 0x1e; - if ((uStack8 & 1) == 0) { - iVar5 = 0; - } - else { - iVar5 = 0xaf; - } - iVar5 += 0x26; - } - DL_01 = DL_00 + 2; - *DL_00 = ((int)((float)(iVar5 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar7 + 5U) * 4.00000000) & 0xfffU; - DL_00[1] = ((int)((float)(iVar5 + iVar6 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar7 + 0x87) * 4.00000000) & 0xfffU; - if ((*char_selected == 0) && (*imagesize == 0)) { - puVar2 = (uint *)get_textptr_for_textID(0x9c55); - DL_00 = puVar2; - proc_7F0AE98C(aiStack44,&iStack48,(byte *)puVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack52 = ((iVar6 >> 1) + iVar5) - (iStack48 >> 1); - uStack56 = iVar7 + 5U; - microcode_constructor(DL_01); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL_01 = write_text_at_abs_coord - (DL_00,&uStack52,&uStack56,(byte *)puVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge,0xff, - (int)sVar3,(int)sVar4,0,0); - } - puVar2 = (uint *)get_textptr_for_textID(mp_chr_setup[*char_cur].text_preset); - DL_00 = puVar2; - proc_7F0AE98C(aiStack64,&iStack68,(byte *)puVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack76 = iVar7 + 0x78; - uStack72 = ((iVar6 >> 1) + iVar5) - (iStack68 >> 1); - microcode_constructor(DL_01); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - write_text_at_abs_coord - (DL_00,&uStack72,&uStack76,(byte *)puVar2,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - DL_00 = (uint *)proc_7F01231C(); - if (*char_selected == 0) { - if (*imagesize != 0) { - iVar6 = *char_prev; - goto LAB_7f012bd0; - } -LAB_7f012be0: - iVar6 = *char_prev; - if (2 < iVar6) { - DL_00 = (uint *)proc_7F01231C(); - iVar6 = *char_prev; - } - if (1 < iVar6) { - DL_00 = (uint *)proc_7F01231C(); - iVar6 = *char_prev; - } - if (0 < iVar6) { - DL_00 = (uint *)proc_7F01231C(); - iVar6 = *char_prev; - } - if (iVar6 < (int)(num_chars_selectable_mp - 1)) { - DL_00 = (uint *)proc_7F01231C(); - iVar6 = *char_prev; - } - if (iVar6 < (int)(num_chars_selectable_mp - 2)) { - DL_00 = (uint *)proc_7F01231C(); - iVar6 = *char_prev; - } - if (iVar6 < (int)(num_chars_selectable_mp - 3)) { - DL_00 = (uint *)proc_7F01231C(); - } - } - else { - iVar6 = *char_prev; -LAB_7f012bd0: - if (iVar6 != *char_cur) goto LAB_7f012be0; - } - char_selected = (BOOL *)((int *)char_selected + 1); - uStack8 += 1; - char_cur = char_cur + 1; - char_prev = char_prev + 1; - imagesize = imagesize + 1; - } while (uStack8 != numplayers); - } - combiner_bayer_lod_perspective(DL_00); - return; -} - - - -void init_menu10_mphandicap(void) - -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - has_selected_char_player1 = FALSE; - dword_CODE_bss_80069760 = 0; - has_selected_char_player2 = FALSE; - dword_CODE_bss_80069764 = 0; - has_selected_char_player3 = FALSE; - dword_CODE_bss_80069768 = 0; - has_selected_char_player4 = FALSE; - dword_CODE_bss_8006976C = 0; - load_walletbond(); - return; -} - - - -void update_menu10_mphandicap(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f013048) overlaps instruction at (ram,0x7f013044) -// - -void interface_menu10_mphandicap(void) - -{ - int iVar1; - u32 uVar2; - int iVar3; - BOOL BVar4; - char cVar5; - BOOL *pBVar6; - int *piVar7; - int iVar8; - int iVar9; - int iVar10; - - iVar1 = get_selected_num_players(); - iVar10 = 0; - setvideo_far(60.00000000); - video_related_21(menu10_aspect); - set_page_height(100.00000000,menu10_pageheight); - set_video2_settings_offset_24(0); - iVar8 = 0; - iVar9 = 0; - if (0 < iVar1) { - pBVar6 = &has_selected_char_player1; - do { - cVar5 = (char)iVar8; - if ((*pBVar6 != FALSE) && - (uVar2 = get_controller_buttons_pressed(cVar5,B_BUTTON), uVar2 != 0)) { - *pBVar6 = FALSE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - BVar4 = *pBVar6; - if (BVar4 == FALSE) { - piVar7 = (int *)((int)&dword_CODE_bss_80069760 + iVar9); - uVar2 = get_controller_buttons_pressed(cVar5,L_CBUTTONS|L_JPAD); - if ((uVar2 == 0) && - ((iVar3 = get_controller_3dstick_L_R(cVar5,-2,1), -2 < iVar3 || (*piVar7 == 0)))) - { - uVar2 = get_controller_buttons_pressed(cVar5,R_CBUTTONS|R_JPAD); - if ((uVar2 == 0) && - ((iVar3 = get_controller_3dstick_L_R(cVar5,-2,1), iVar3 < 1 || (*piVar7 == 0) - ))) { - uVar2 = get_controller_buttons_pressed(cVar5,START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar2 != 0) { - *pBVar6 = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - iVar3 = *(int *)((int)handicap_player1 + iVar9); - if (iVar3 < 10) { - *(int *)((int)handicap_player1 + iVar9) = iVar3 + 1; - } - } - } - else { - iVar3 = *(int *)((int)handicap_player1 + iVar9); - if (0 < iVar3) { - *(int *)((int)handicap_player1 + iVar9) = iVar3 + -1; - } - } - iVar3 = get_controller_3dstick_L_R(cVar5,-2,1); - if ((iVar3 == -1) || (iVar3 = get_controller_3dstick_L_R(cVar5,-2,1), iVar3 == 0)) { - *piVar7 = 1; - BVar4 = *pBVar6; - } - else { - *piVar7 = 0; - BVar4 = *pBVar6; - } - } - if (BVar4 != FALSE) { - iVar10 += 1; - } - iVar8 += 1; - iVar9 += 4; - pBVar6 = pBVar6 + 1; - } while (iVar8 != iVar1); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1); - menu_control_stick_tracking(); - if (iVar10 == iVar1) { - set_menu_to_mode(MENU_MP_OPTIONS,0); - } - return; -} - - - -void constructor_menu10_mphandicap(Gfx *param_1) - -{ - undefined4 *puVar1; - u32 *DL; - uint *DL_00; - uint *puVar2; - short sVar3; - short sVar4; - uint *DL_01; - int iVar5; - int iVar6; - int iVar7; - uint uVar8; - s32 *psStack96; - BOOL *pBStack92; - uint uStack76; - uint uStack72; - int iStack68; - int aiStack64 [2]; - uint uStack56; - uint uStack52; - int iStack48; - int aiStack44 [10]; - uint uStack4; - - uStack4 = get_selected_num_players(); - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - DL = (u32 *)proc_7F00D5E8(puVar1); - microcode_constructor(DL); - DL_00 = microcode_constructor_related_to_menus(DL,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)uStack4) { - DL_00 = microcode_constructor_related_to_menus(DL_00,0xd4,0x1e,0xd6,0x136,0x80); - } - uVar8 = 0; - if (0 < (int)uStack4) { - pBStack92 = &has_selected_char_player1; - psStack96 = handicap_player1; - do { - iVar6 = 0x26; - if (uStack4 == 2) { - iVar7 = 0x15e; - if ((int)uVar8 < 1) { - iVar5 = 0x1e; - } - else { - iVar5 = 0xaa; - } - } - else { - iVar7 = 0xaf; - if ((int)uVar8 < 2) { - iVar5 = 0; - } - else { - iVar5 = 0x8c; - } - iVar5 += 0x1e; - if ((uVar8 & 1) == 0) { - iVar6 = 0; - } - else { - iVar6 = 0xaf; - } - iVar6 += 0x26; - } - DL_01 = DL_00 + 2; - *DL_00 = ((int)((float)(iVar6 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar5 + 5) * 4.00000000) & 0xfffU; - DL_00[1] = ((int)((float)(iVar6 + iVar7 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar5 + 0x87) * 4.00000000) & 0xfffU; - if (*pBStack92 == FALSE) { - puVar2 = (uint *)get_textptr_for_textID(0x9c56); - DL_00 = puVar2; - proc_7F0AE98C(aiStack44,&iStack48,(byte *)puVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack52 = ((iVar7 >> 1) + iVar6) - (iStack48 >> 1); - uStack56 = (iVar5 - (aiStack44[0] >> 1)) + 0x37; - microcode_constructor(DL_01); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL_01 = write_text_at_abs_coord - (DL_00,&uStack52,&uStack56,(byte *)puVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge,0xff, - (int)sVar3,(int)sVar4,0,0); - } - puVar2 = (uint *)get_textptr_for_textID(MP_handicap_table[*psStack96].text_preset); - DL_00 = puVar2; - proc_7F0AE98C(aiStack64,&iStack68,(byte *)puVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack72 = ((iVar7 >> 1) + iVar6) - (iStack68 >> 1); - uStack76 = (iVar5 - (aiStack64[0] >> 1)) + 0x55; - microcode_constructor(DL_01); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL_00 = write_text_at_abs_coord - (DL_00,&uStack72,&uStack76,(byte *)puVar2,(int)ptrSecondFontTableLarge - ,(int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - uVar8 += 1; - pBStack92 = pBStack92 + 1; - psStack96 = psStack96 + 1; - } while (uVar8 != uStack4); - } - combiner_bayer_lod_perspective(DL_00); - return; -} - - - -void init_menu11_mpcontrol(void) - -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - has_selected_char_player1 = FALSE; - dword_CODE_bss_80069760 = 0; - has_selected_char_player2 = FALSE; - dword_CODE_bss_80069764 = 0; - has_selected_char_player3 = FALSE; - dword_CODE_bss_80069768 = 0; - has_selected_char_player4 = FALSE; - dword_CODE_bss_8006976C = 0; - load_walletbond(); - return; -} - - - -void update_menu11_mpcontrols(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f013734) overlaps instruction at (ram,0x7f013730) -// - -void interface_menu11_mpcontrols(void) - -{ - int iVar1; - u32 uVar2; - int iVar3; - BOOL BVar4; - int *piVar5; - char cVar6; - int iVar7; - BOOL *pBVar8; - int *piVar9; - int iVar10; - int iStack12; - - iVar1 = get_selected_num_players(); - iStack12 = 0; - setvideo_far(60.00000000); - video_related_21((f32)menu11_aspect); - set_page_height(100.00000000,(f32)menu11_pageheight); - set_video2_settings_offset_24(0); - iVar7 = 0; - if (0 < iVar1) { - pBVar8 = &has_selected_char_player1; - iVar10 = 0; - do { - cVar6 = (char)iVar7; - if ((*pBVar8 != FALSE) && - (uVar2 = get_controller_buttons_pressed(cVar6,B_BUTTON), uVar2 != 0)) { - *pBVar8 = FALSE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - BVar4 = *pBVar8; - if (BVar4 == FALSE) { - piVar9 = (int *)((int)&dword_CODE_bss_80069760 + iVar10); - uVar2 = get_controller_buttons_pressed(cVar6,L_CBUTTONS|L_JPAD); - if ((uVar2 == 0) && - ((iVar3 = get_controller_3dstick_L_R(cVar6,-2,1), -2 < iVar3 || (*piVar9 == 0)))) - { - uVar2 = get_controller_buttons_pressed(cVar6,R_CBUTTONS|R_JPAD); - if ((uVar2 == 0) && - ((iVar3 = get_controller_3dstick_L_R(cVar6,-2,1), iVar3 < 1 || (*piVar9 == 0) - ))) { - uVar2 = get_controller_buttons_pressed(cVar6,START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar2 != 0) { - *pBVar8 = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - piVar5 = (int *)((int)controlstyle_player + iVar10); - if ((iVar1 == 2) && (iVar7 == 0)) { - iVar3 = *piVar5; - } - else { - iVar3 = *piVar5; - if (iVar3 < 4) { - if (iVar3 < 3) { - *piVar5 = iVar3 + 1; - } - goto LAB_7f013890; - } - iVar3 = *piVar5; - } - if (((iVar3 < 7) && (*piVar5 = iVar3 + 1, iVar7 == 0)) && - ((controlstyle_player[0] == 4 && ((int)controlstyle_player[1] < 4)))) { - controlstyle_player[1] = 4; - } - } - } - else { - piVar5 = (int *)((int)controlstyle_player + iVar10); - iVar3 = *piVar5; - if (0 < iVar3) { - if (iVar1 == 2) { - if (iVar7 == 1) { - if (((int)controlstyle_player[0] < 4) || (4 < iVar3)) - goto LAB_7f01376c; - } - else { - *piVar5 = iVar3 + -1; - } - } - else { -LAB_7f01376c: - *piVar5 = iVar3 + -1; - } - if ((((iVar1 == 2) && (iVar7 == 0)) && ((int)controlstyle_player[0] < 4)) && - (3 < (int)controlstyle_player[1])) { - controlstyle_player[1] = 0; - } - } - } -LAB_7f013890: - iVar3 = get_controller_3dstick_L_R(cVar6,-2,1); - if ((iVar3 == -1) || (iVar3 = get_controller_3dstick_L_R(cVar6,-2,1), iVar3 == 0)) { - *piVar9 = 1; - BVar4 = *pBVar8; - } - else { - *piVar9 = 0; - BVar4 = *pBVar8; - } - } - iVar7 += 1; - if (BVar4 != FALSE) { - iStack12 += 1; - } - iVar10 += 4; - pBVar8 = pBVar8 + 1; - } while (iVar7 != iVar1); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1); - menu_control_stick_tracking(); - if (iStack12 == iVar1) { - set_menu_to_mode(MENU_MP_OPTIONS,0); - } - return; -} - - - -void constructor_menu11_mpcontrol(Gfx *param_1) - -{ - undefined4 *puVar1; - u32 *DL; - uint *DL_00; - uint *puVar2; - short sVar3; - short sVar4; - uint *DL_01; - int iVar5; - int iVar6; - int iVar7; - uint uVar8; - u32 *puStack96; - BOOL *pBStack92; - uint uStack76; - uint uStack72; - int iStack68; - int aiStack64 [2]; - uint uStack56; - uint uStack52; - int iStack48; - int aiStack44 [10]; - uint uStack4; - - uStack4 = get_selected_num_players(); - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - DL = (u32 *)proc_7F00D5E8(puVar1); - microcode_constructor(DL); - DL_00 = microcode_constructor_related_to_menus(DL,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)uStack4) { - DL_00 = microcode_constructor_related_to_menus(DL_00,0xd4,0x1e,0xd6,0x136,0x80); - } - uVar8 = 0; - if (0 < (int)uStack4) { - pBStack92 = &has_selected_char_player1; - puStack96 = controlstyle_player; - do { - iVar6 = 0x26; - if (uStack4 == 2) { - iVar7 = 0x15e; - if ((int)uVar8 < 1) { - iVar5 = 0x1e; - } - else { - iVar5 = 0xaa; - } - } - else { - iVar7 = 0xaf; - if ((int)uVar8 < 2) { - iVar5 = 0; - } - else { - iVar5 = 0x8c; - } - iVar5 += 0x1e; - if ((uVar8 & 1) == 0) { - iVar6 = 0; - } - else { - iVar6 = 0xaf; - } - iVar6 += 0x26; - } - DL_01 = DL_00 + 2; - *DL_00 = ((int)((float)(iVar6 + 6) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar5 + 5) * 4.00000000) & 0xfffU; - DL_00[1] = ((int)((float)(iVar6 + iVar7 + -6) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar5 + 0x87) * 4.00000000) & 0xfffU; - if (*pBStack92 == FALSE) { - puVar2 = (uint *)get_textptr_for_textID(0x9d1d); - DL_00 = puVar2; - proc_7F0AE98C(aiStack44,&iStack48,(byte *)puVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack52 = ((iVar7 >> 1) + iVar6) - (iStack48 >> 1); - uStack56 = (iVar5 - (aiStack44[0] >> 1)) + 0x37; - microcode_constructor(DL_01); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL_01 = write_text_at_abs_coord - (DL_00,&uStack52,&uStack56,(byte *)puVar2, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge,0xff, - (int)sVar3,(int)sVar4,0,0); - } - puVar2 = (uint *)get_textptr_for_textID - (*(TEXTFILESTRINGS *)(mp_controller_table + *puStack96)); - DL_00 = puVar2; - proc_7F0AE98C(aiStack64,&iStack68,(byte *)puVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack72 = ((iVar7 >> 1) + iVar6) - (iStack68 >> 1); - uStack76 = (iVar5 - (aiStack64[0] >> 1)) + 0x55; - microcode_constructor(DL_01); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - DL_00 = write_text_at_abs_coord - (DL_00,&uStack72,&uStack76,(byte *)puVar2,(int)ptrSecondFontTableLarge - ,(int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - uVar8 += 1; - pBStack92 = pBStack92 + 1; - puStack96 = puStack96 + 1; - } while (uVar8 != uStack4); - } - combiner_bayer_lod_perspective(DL_00); - return; -} - - - -void init_menu12_mpstage(void) - -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - current_mp_stage_highlighted = MP_STAGE_RANDOM; - load_walletbond(); - return; -} - - - -void update_menu12_mpstage(void) - -{ - return; -} - - - -void interface_menu12_mpstage(void) - -{ - u32 uVar2; - longlong lVar1; - int iVar3; - BOOL BVar4; - int iVar5; - int iVar6; - - setvideo_far(60.00000000); - video_related_21((f32)menu12_aspect); - set_page_height(100.00000000,(f32)menu12_pageheight); - set_video2_settings_offset_24(0); - uVar2 = get_controller_buttons_held('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar2 == 0) { - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - lVar1 = isontab3(); - if (lVar1 == 0) { - if ((int)(float)cursor_v_pos < 0xf0) { - iVar5 = 0; - if (0xa9 < (int)(float)cursor_v_pos) { - iVar5 = 1; - } - } - else { - iVar5 = 2; - } - iVar6 = (int)(float)cursor_h_pos; - if (iVar6 < 0x124) { - if (iVar6 < 0xcf) { - iVar3 = 0; - if (0x79 < iVar6) { - iVar3 = 1; - } - } - else { - iVar3 = 2; - } - } - else { - iVar3 = 3; - } - current_mp_stage_highlighted = iVar5 * 4 + iVar3; - BVar4 = check_if_mp_stage_unlocked(current_mp_stage_highlighted); - while (BVar4 == FALSE) { - current_mp_stage_highlighted += ~MP_STAGE_RANDOM; - BVar4 = check_if_mp_stage_unlocked(current_mp_stage_highlighted); - } - } - else { - tab_3_highlight = TRUE; - } - } - uVar2 = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar2 == 0) { - uVar2 = get_controller_buttons_pressed('\0',B_BUTTON); - if (uVar2 != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_3_highlight == FALSE) { - if (-1 < (int)current_mp_stage_highlighted) { - tab_2_selected = TRUE; - MP_stage_selected = current_mp_stage_highlighted; - } - } - else { - tab_3_selected = TRUE; - } - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - menu_control_stick_tracking(); - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MP_OPTIONS,0); - } - } - else { - set_menu_to_mode(MENU_MP_OPTIONS,0); - } - return; -} - - - -void constructor_menu12_mpstage(Gfx *param_1) - -{ - undefined4 *puVar1; - BOOL BVar2; - byte *pbVar3; - short sVar4; - short sVar5; - uint uVar6; - sImageTableEntry *imgcall; - longlong lVar7; - int iVar8; - MP_STAGE_SELECTED stage; - int iVar9; - int iVar10; - f32 wdivh; - f32 wdivh_00; - f32 extraout_f12; - f32 wdivh_01; - f32 wdivh_02; - Gfx *pGStackX0; - int iStack168; - int iStack156; - int iStack132; - undefined4 uStack104; - undefined4 uStack100; - float fStack96; - float fStack92; - undefined4 uStack64; - undefined4 uStack60; - int iStack56; - float fStack52; - int iStack20; - int iStack16; - int iStack12; - int aiStack8 [2]; - - pGStackX0 = param_1; - pGStackX0 = (Gfx *)set_setfillcolor((undefined4 *)param_1,0,0,0); - pGStackX0 = (Gfx *)insert_generic_fillrect((undefined4 *)pGStackX0); - pGStackX0 = (Gfx *)proc_7F00D5E8(pGStackX0); - microcode_constructor((u32 *)pGStackX0); - lVar7 = 0x6c; - uVar6 = 0xa0; - do { - pGStackX0 = (Gfx *)microcode_constructor_related_to_menus - ((undefined4 *)pGStackX0,0x25,lVar7,0x185,uVar6,0x101010ff); - uVar6 += 0x46; - lVar7 = (longlong)((int)lVar7 + 0x46); - } while (uVar6 != 0x172); - puVar1 = combiner_bayer_lod_perspective((undefined4 *)pGStackX0); - lVar7 = (longlong)(int)puVar1; - pGStackX0 = (Gfx *)(puVar1 + 2); - *puVar1 = 0xba000c02; - puVar1[1] = 0; - imgcall = mainfolderimages; - append_image_to_DL((uint **)register0x000000ec,mainfolderimages + 5,1,0,2); - wdivh = 4.00000000; - iStack56 = 0x43550000; - fStack52 = 104.00000000; - iVar8 = 0; - uStack64 = 0x43300000; - uStack60 = 0x40800000; - do { - display_image_at_on_screen_coord - ((int *)register0x000000ec,&iStack56,wdivh,(int)&uStack64,0x2f0,0x12,0,0,1,0x6b, - 0x67,0x53,0xff,(uint)(imgcall[5].level != '\0')); - fStack52 = fStack52 + 60.00000000; - display_image_at_on_screen_coord - ((int *)register0x000000ec,&iStack56,wdivh_00,(int)&uStack64,0x2f0,0x12,0,0,1,0x6b - ,0x67,0x53,0xff,(uint)(imgcall[5].level != '\0')); - iVar8 += 1; - fStack52 = (fStack52 - 60.00000000) + 70.00000000; - wdivh = extraout_f12; - } while (iVar8 != 3); - stage = MP_STAGE_RANDOM; - iStack132 = 0; - fStack92 = 134.00000000; - uStack104 = 0x42080000; - uStack100 = 0x41b00000; - do { - iVar8 = 0; - fStack96 = 86.00000000; - do { - if ((int)stage < 0xc) { - imgcall = mpstageselimages + multi_stage_setups[stage].photo; - append_image_to_DL((uint **)register0x000000ec,imgcall,1,0,2); - if (stage == current_mp_stage_highlighted) { - ((u32 *)pGStackX0)[1] = 0x100000; - *(u32 *)pGStackX0 = 0xba001402; - ((u32 *)pGStackX0)[3] = 0xffffff0a; - ((u32 *)pGStackX0)[2] = 0xf8000000; - ((u32 *)pGStackX0)[5] = 0xc4112048; - ((u32 *)pGStackX0)[4] = 0xb900031d; - pGStackX0 = (Gfx *)((u32 *)pGStackX0 + 6); - display_image_at_on_screen_coord - ((int *)register0x000000ec,(int *)&fStack96,wdivh_01,(int)&uStack104, - 0x44,0x2c,0,0,1,0xff,0xff,0xff,0xff,(uint)(imgcall->level != '\0')); - } - else { - BVar2 = check_if_mp_stage_unlocked(stage); - lVar7 = (longlong)(int)BVar2; - if (lVar7 == 0) { - display_image_at_on_screen_coord - ((int *)register0x000000ec,(int *)&fStack96,wdivh_02, - (int)&uStack104,0x44,0x2c,0,0,1,0xf,0xf,0xf,0xff, - (uint)(imgcall->level != '\0')); - } - else { - display_image_at_on_screen_coord - ((int *)register0x000000ec,(int *)&fStack96,wdivh_02, - (int)&uStack104,0x44,0x2c,0,0,1,0x6e,0x6e,0x6e,0xff, - (uint)(imgcall->level != '\0')); - } - } - } - iVar8 += 1; - fStack96 = fStack96 + 85.00000000; - stage += MP_STAGE_TEMPLE; - } while (iVar8 != 4); - fStack92 = fStack92 + 70.00000000; - iStack132 += 1; - } while (iStack132 != 3); - microcode_constructor((u32 *)pGStackX0); - pGStackX0 = (Gfx *)(u32 *)lVar7; - stage = MP_STAGE_RANDOM; - iStack168 = 0x97; - iStack156 = 0; - do { - iVar8 = 0x56; - iVar10 = 0; - do { - if ((int)stage < 0xc) { - BVar2 = check_if_mp_stage_unlocked(stage); - lVar7 = (longlong)(int)BVar2; - if (lVar7 != 0) { - uVar6 = 0x96969600; - if (stage == current_mp_stage_highlighted) { - uVar6 = 0xffffff00; - } - pbVar3 = get_textptr_for_textID - (multi_stage_setups[stage].select_screen_text_preset); - proc_7F0AE98C(&iStack16,&iStack20,pbVar3,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - iVar9 = iVar8 + -0x1f; - iStack12 = iStack168 - iStack16; - aiStack8[0] = iVar9; - pGStackX0 = (Gfx *)microcode_constructor_related_to_menus - ((undefined4 *)pGStackX0,(longlong)iVar9, - (longlong)iStack12,(longlong)(iVar9 + iStack20), - iStack12 + iStack16,0); - pbVar3 = get_textptr_for_textID - (multi_stage_setups[stage].select_screen_text_preset); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puVar1 = (undefined4 *)(int)sVar5; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack8,&iStack12,pbVar3, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - uVar6 | 0xff,(int)sVar4,(int)sVar5,0,0); - iStack12 = iStack168 - iStack16; - pGStackX0 = (Gfx *)puVar1; - aiStack8[0] = iVar9; - pbVar3 = get_textptr_for_textID - (multi_stage_setups[stage].select_screen_text_preset); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - lVar7 = (longlong)sVar5; - en_text_write_stuff((undefined4 *)pGStackX0,aiStack8,&iStack12,pbVar3, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - uVar6 | 100,(int)sVar4,(int)sVar5,0,0); - pGStackX0 = (Gfx *)(u32 *)lVar7; - } - } - puVar1 = (undefined4 *)lVar7; - iVar10 += 1; - iVar8 += 0x55; - stage += MP_STAGE_TEMPLE; - } while (iVar10 != 4); - iStack156 += 1; - iStack168 += 0x46; - } while (iStack156 != 3); - microcode_constructor((u32 *)pGStackX0); - pGStackX0 = (Gfx *)puVar1; - pGStackX0 = (Gfx *)add_tab3_previous(puVar1); - load_draw_selected_icon_folder_select(pGStackX0); - return; -} - - - -MPSCENARIOS get_scenario(void) - -{ - return scenario; -} - - - -void init_menu13_mpscenariosel(void) - -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - load_walletbond(); - return; -} - - - -void update_menu13_mpscenario(void) - -{ - return; -} - - - -void interface_menu13_mpscenario(void) - -{ - bool bVar1; - u32 uVar3; - longlong lVar2; - int iVar4; - int scenarioid; - int iVar5; - int iVar6; - - bVar1 = false; - setvideo_far(60.00000000); - video_related_21((f32)menu13_aspect); - set_page_height(100.00000000,(f32)menu13_pageheight); - set_video2_settings_offset_24(0); - uVar3 = get_controller_buttons_held('\0',Z_TRIG|A_BUTTON); - scenarioid = DAT_80069780; - if (uVar3 == 0) { - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - lVar2 = isontab3(); - if (lVar2 == 0) { - DAT_80069780 = 1; - iVar5 = 7; - iVar6 = 0x11d; - do { - if ((iVar6 <= (int)(float)cursor_v_pos) && - (scenarioid = get_selected_num_players(), - (longlong)(ulonglong)(byte)mp_stage_playercounts[iVar5].min <= - (longlong)scenarioid)) { - iVar4 = get_selected_num_players(); - scenarioid = iVar5 + 1; - if ((longlong)iVar4 <= - (longlong)(ulonglong)(byte)mp_stage_playercounts[iVar5].max) break; - } - iVar5 += -1; - iVar6 += -0x16; - scenarioid = DAT_80069780; - } while (iVar5 != 0); - } - else { - tab_3_highlight = TRUE; - DAT_80069780 = 0; - scenarioid = DAT_80069780; - } - } - DAT_80069780 = scenarioid; - uVar3 = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar3 == 0) { - uVar3 = get_controller_buttons_pressed('\0',B_BUTTON); - if (uVar3 != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_3_highlight == FALSE) { - scenarioid = DAT_80069780 + -1; - if (((scenarioid == 5) || (scenarioid == 6)) || (scenarioid == 7)) { - reset_mp_options_for_scenario(scenarioid); - bVar1 = true; - } - else { - reset_mp_options_for_scenario(scenarioid); - tab_3_selected = TRUE; - } - } - else { - tab_3_selected = TRUE; - } - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (bVar1) { - set_menu_to_mode(MENU_MP_TEAMS,0); - } - else { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MP_OPTIONS,0); - } - } - return; -} - - - -void constructor_menu13_mpscenario(Gfx *param_1) - -{ - undefined4 *puVar1; - byte *pbVar2; - short sVar4; - short sVar5; - uint *DL; - int iVar3; - mp_stage_playercount *pmVar6; - int iVar7; - uint uVar8; - uint uVar9; - int iStack32; - int aiStack28 [2]; - uint uStack20; - uint auStack16 [4]; - - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - DL = (uint *)proc_7F00D5E8(puVar1); - microcode_constructor(DL); - pbVar2 = get_textptr_for_textID(0x9c57); - auStack16[0] = 0x37; - uStack20 = 0x66; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,auStack16,&uStack20,pbVar2,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0); - pmVar6 = mp_stage_playercounts; - iVar7 = 0; - uVar9 = 0x83; - do { - uVar8 = 0xff; - iVar3 = get_selected_num_players(); - if ((longlong)(ulonglong)(byte)pmVar6->max < (longlong)iVar3) { - uVar8 = 0x70; - } - else { - iVar3 = get_selected_num_players(); - if ((longlong)iVar3 < (longlong)(ulonglong)(byte)pmVar6->min) { - uVar8 = 0x70; - } - } - pbVar2 = get_textptr_for_textID(pmVar6->stage); - proc_7F0AE98C(aiStack28,&iStack32,pbVar2,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - auStack16[0] = 0x39; - uStack20 = uVar9; - if (iVar7 + 1 == DAT_80069780) { - DL = microcode_constructor_related_to_menus - (DL,0x37,(longlong)(int)(uVar9 - 1),(longlong)(iStack32 + 0x3c), - uVar9 + 0xe,0x32); - } - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,auStack16,&uStack20,pbVar2,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar8,(int)sVar4,(int)sVar5,0,0); - iVar7 += 1; - pmVar6 = pmVar6 + 1; - uVar9 += 0x16; - } while (iVar7 != 8); - DL = add_tab3_previous(DL); - load_draw_selected_icon_folder_select(DL); - return; -} - - - -ulonglong get_players_team_or_scenario_item_flag(int player) - -{ - return (ulonglong)(byte)player1_playerdata[player].have_token_or_goldengun; -} - - - -void set_players_team_or_scenario_item_flag(int player,char flag) - -{ - player1_playerdata[player].have_token_or_goldengun = flag; - return; -} - - - -void init_menu14_mpteamsel(void) - -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - if (scenario == SCENARIO_2v1) { - teamsize = 2; - } - else { - teamsize = 3; - } - dword_8002B560 = 0; - load_walletbond(); - return; -} - - - -void update_menu14_mpteams(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f014fc4) overlaps instruction at (ram,0x7f014fc0) -// - -ulonglong interface_menu14_mpteams(void) - -{ - u32 uVar2; - int iVar3; - ulonglong uVar1; - char flag; - uint player; - - setvideo_far(60.00000000); - video_related_21((f32)menu14_aspect); - set_page_height(100.00000000,(f32)menu14_pageheight); - set_video2_settings_offset_24(0); - dword_8002B560 = (dword_8002B560 + 1) % 0x14; - uVar2 = get_controller_buttons_pressed('\0',R_CBUTTONS|R_JPAD); - if ((uVar2 == 0) && (iVar3 = get_controller_3dstick_L_R('\0',-2,1), iVar3 < 1)) { - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 == 0) && (iVar3 = get_controller_3dstick_U_D('\0',-2,1), iVar3 < 1)) { - uVar2 = get_controller_buttons_pressed('\0',L_CBUTTONS|L_JPAD); - if ((uVar2 == 0) && (iVar3 = get_controller_3dstick_L_R('\0',-2,1), -2 < iVar3)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (iVar3 = get_controller_3dstick_U_D('\0',-2,1), iVar3 < -1)) { - if (scenario == SCENARIO_2v1) { - if ((teamsize & 2) == 0) { - teamsize = 2; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if ((teamsize & 2) == 0) { - teamsize = teamsize + 2; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - } - } - else { - if (scenario == SCENARIO_2v2) { - if ((teamsize & 1) != 0) { - teamsize = 2; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if ((teamsize & 1) != 0) { - teamsize = teamsize - 1; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - } - } - else { - if (scenario == SCENARIO_2v2) { - if ((teamsize & 2) != 0) { - teamsize = 1; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if ((teamsize & 2) != 0) { - teamsize = teamsize - 2; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - } - } - else { - if (scenario == SCENARIO_2v1) { - if ((teamsize & 1) == 0) { - teamsize = 1; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if ((teamsize & 1) == 0) { - teamsize = teamsize + 1; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1); - menu_control_stick_tracking(); - uVar2 = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - uVar1 = SEXT48((int)uVar2); - player = 0; - if (uVar1 != 0) { - do { - if (scenario == SCENARIO_2v2) { - if ((player == 0) || (flag = '\x01', player == teamsize)) { - flag = '\0'; - } - set_players_team_or_scenario_item_flag(player,flag); - } - else { - set_players_team_or_scenario_item_flag(player,player == teamsize); - } - player += 1; - } while (player != 4); - set_menu_to_mode(MENU_MP_OPTIONS,0); - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - return uVar1; -} - - - -void constructor_menu14_mpteams(Gfx *param_1) - -{ - bool bVar1; - undefined4 *puVar2; - u32 *DL; - uint *DL_00; - int iVar3; - int iVar4; - byte *pbVar5; - short sVar6; - short sVar7; - int iVar8; - uint uVar9; - uint uVar10; - uint *puVar11; - uint uStack76; - uint uStack72; - int iStack68; - int aiStack64 [2]; - uint uStack56; - uint uStack52; - int iStack48; - int aiStack44 [4]; - int iStack28; - uint uStack4; - - uStack4 = get_selected_num_players(); - puVar2 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar2 = insert_generic_fillrect(puVar2); - DL = (u32 *)proc_7F00D5E8(puVar2); - microcode_constructor(DL); - DL_00 = microcode_constructor_related_to_menus(DL,0x26,0xa9,0x184,0xab,0x90); - if (2 < (int)uStack4) { - DL_00 = microcode_constructor_related_to_menus(DL_00,0xd4,0x1e,0xd6,0x136,0x80); - } - uVar10 = 0; - if (0 < (int)uStack4) { - bVar1 = true; - while( true ) { - if (bVar1) { - iVar3 = 0; - } - else { - iVar3 = 0x8c; - } - if ((uVar10 & 1) == 0) { - iVar4 = 0; - } - else { - iVar4 = 0xaf; - } - iVar8 = iVar4 + 0x7d; - puVar11 = DL_00 + 2; - *DL_00 = ((int)((float)(iVar4 + 0x2c) * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)(iVar3 + 0x23U) * 4.00000000) & 0xfffU; - DL_00[1] = ((int)((float)(iVar4 + 0xcf) * 4.00000000) & 0xfffU) << 0xc | - (int)((float)(iVar3 + 0xa5) * 4.00000000) & 0xfffU; - DL_00 = puVar11; - iStack28 = iVar8; - if (uVar10 == 0) { - pbVar5 = get_textptr_for_textID(0x9c58); - proc_7F0AE98C(aiStack44,&iStack48,pbVar5,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack52 = iVar8 - (iStack48 >> 1); - uStack56 = iVar3 + 0x23U; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - DL_00 = write_text_at_abs_coord - (puVar11,&uStack52,&uStack56,pbVar5,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar6,(int)sVar7,0,0); - } - if (scenario == SCENARIO_2v2) { - bVar1 = uVar10 == 0 || uVar10 == teamsize; - } - else { - bVar1 = uVar10 != teamsize; - } - if (bVar1) { - pbVar5 = get_textptr_for_textID(0x9c59); - } - else { - pbVar5 = get_textptr_for_textID(0x9c5a); - } - if (bVar1) { - uVar9 = 0xff0000ff; - } - else { - uVar9 = 0xffff; - } - proc_7F0AE98C(aiStack64,&iStack68,pbVar5,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack76 = (iVar3 - (aiStack64[0] >> 1)) + 100; - uStack72 = iStack28 - (iStack68 >> 1); - if ((uVar10 != teamsize) || ((uVar10 == teamsize && (dword_8002B560 < 10)))) { - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - DL_00 = write_text_at_abs_coord - (DL_00,&uStack72,&uStack76,pbVar5,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar9,(int)sVar6,(int)sVar7,0,0); - } - uVar10 += 1; - if (uVar10 == uStack4) break; - bVar1 = (int)uVar10 < 2; - } - } - combiner_bayer_lod_perspective(DL_00); - return; -} - - - -void set_briefing_page(WATCH_BRIEFING_PAGE page) - -{ - current_menu_briefing_page = page; - return; -} - - - -void load_briefing_text_for_stage(void) - -{ - Gfx *pGVar1; - undefined8 lnameID; - int iVar2; - undefined *puVar3; - - pGVar1 = ptr_logo_and_walletbond_DL; - ptrbriefingdata = - _load_resource_named_to_buffer - ((byte *)mission_folder_setup_entries[briefingpage].briefing_name_ptr,1, - (undefined *)(ptr_logo_and_walletbond_DL + 0x1400),0x200); - lnameID = get_textbank_number_for_stagenum(mission_folder_setup_entries[briefingpage].stage_id); - load_briefing_text_bank((int)lnameID,(undefined *)(pGVar1 + 0x1440),0x6de00); - iVar2 = 0; - puVar3 = ptrbriefingdata; - do { - iVar2 += 4; - if (*(short *)(puVar3 + 8) == 0) { - return; - } - puVar3 = puVar3 + 4; - } while (iVar2 != 0x28); - return; -} - - - -void init_menu0A_briefing(void) - -{ - tab_2_selected = FALSE; - tab_3_selected = FALSE; - final_menu_briefing_page = BRIEFING_OVERVIEW|BRIEFING_MONEYPENNY; - set_briefing_page(BRIEFING_TITLE); - load_walletbond(); - load_briefing_text_for_stage(); - return; -} - - - -void update_menu0A_briefing(void) - -{ - undefined8 uVar1; - - uVar1 = get_textbank_number_for_stagenum(mission_folder_setup_entries[briefingpage].stage_id); - blank_text_bank((int)uVar1); - if (-1 < (int)menu_update) { - proc_7F00B990(); - } - return; -} - - - -void interface_menu0A_briefing(void) - -{ - longlong lVar1; - u32 uVar2; - - setvideo_far(60.00000000); - video_related_21((f32)menu0A_aspect); - set_page_height(100.00000000,(f32)menu0A_pageheight); - set_video2_settings_offset_24(0); - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - lVar1 = isontab3(); - if (lVar1 == 0) { - lVar1 = isontab2(); - if ((lVar1 == 0) || - ((int)(final_menu_briefing_page + ~BRIEFING_TITLE) <= (int)current_menu_briefing_page)) { - lVar1 = isontab1(); - if (lVar1 == 0) { - if ((int)current_menu_briefing_page < - (int)(final_menu_briefing_page + ~BRIEFING_TITLE)) { - tab_2_highlight = TRUE; - } - else { - tab_1_highlight = TRUE; - } - } - else { - tab_1_highlight = TRUE; - } - } - else { - tab_2_highlight = TRUE; - } - } - else { - tab_3_highlight = TRUE; - } - uVar2 = get_controller_buttons_pressed('\0',START_BUTTON); - if (uVar2 == 0) { - uVar2 = get_controller_buttons_pressed('\0',Z_TRIG|A_BUTTON); - if (uVar2 == 0) { - uVar2 = get_controller_buttons_pressed('\0',B_BUTTON); - if (uVar2 != 0) { - if ((int)current_menu_briefing_page < 1) { - tab_3_selected = TRUE; - } - else { - set_briefing_page(current_menu_briefing_page + ~BRIEFING_TITLE); - } - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_2_highlight == FALSE) { - if (tab_3_highlight == FALSE) { - if (tab_1_highlight != FALSE) { - tab_2_selected = TRUE; - } - } - else { - if ((int)current_menu_briefing_page < 1) { - tab_3_selected = TRUE; - } - else { - set_briefing_page(current_menu_briefing_page + ~BRIEFING_TITLE); - } - } - } - else { - set_briefing_page(current_menu_briefing_page + BRIEFING_OVERVIEW); - } - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - tab_2_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance - ((int)ptr_folder_object_instance,0xc, - (uint)(current_menu_briefing_page == BRIEFING_TITLE)); - set_item_visibility_in_objinstance - ((int)ptr_folder_object_instance, - mission_folder_setup_entries[briefingpage].mission_num + 0x16, - (uint)(current_menu_briefing_page == BRIEFING_TITLE)); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo - ((longlong)mission_folder_setup_entries[briefingpage].mission_num); - } - } - else { - set_menu_to_mode(MENU_RUN_STAGE,1); - } - return; -} - - - -uint * print_objectives_and_status_to_menu(uint *param_1,int param_2,byte *param_3,int param_4) - -{ - TEXTFILESTRINGS id; - byte *text; - short sVar3; - short sVar4; - uint *puVar1; - int iVar2; - int iVar5; - uint uVar6; - int iVar7; - uint uStack24; - uint uStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack8 = 0; - iVar7 = 0; - iStack4 = 0; - iVar5 = 0; - do { - id = *(TEXTFILESTRINGS *)(ptrbriefingdata + iVar5 + 8); - if (id == 0) { - iStack4 += 1; - } - else { - if ((longlong)selected_difficulty < - (longlong)(ulonglong)*(ushort *)(ptrbriefingdata + iVar5 + 10)) { - iStack4 += 1; - } - else { - text = get_textptr_for_textID(id); - textpointer_load_parse_something((char *)param_3,"a.\n"); - *param_3 = *param_3 + (char)iStack8; - iStack12 = 0; - iStack16 = 0; - proc_7F0AE98C(&iStack12,&iStack16,param_3,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack20 = 0x37; - uStack24 = iStack12 * iVar7 + param_2; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - puVar1 = write_text_at_abs_coord - (param_1,&uStack20,&uStack24,param_3,(int)ptrSecondFontTableLarge - ,(int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - uStack20 = 0x4b; - uStack24 = iStack12 * iVar7 + param_2; - if (param_4 == 0) { - find_width_word_in_string - (0x140,text,param_3,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge); - } - else { - setTextWordWrap(2); - find_width_word_in_string - (0xdc,text,param_3,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge); - setTextWordWrap(0); - } - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - param_1 = write_text_at_abs_coord - (puVar1,&uStack20,&uStack24,param_3,(int)ptrSecondFontTableLarge - ,(int)ptrFirstFontTableLarge,0xff,(int)sVar3,(int)sVar4,0,0); - if (param_4 != 0) { - iVar2 = get_status_of_objective(iStack4); - if ((iVar2 == 0) || (iVar2 != 1)) { - uVar6 = 0x780000ff; - text = get_textptr_for_textID(0x9c5c); - } - else { - uVar6 = 0xff; - text = get_textptr_for_textID(0x9c5b); - } - uStack20 = 0x136; - uStack24 = iStack12 * iVar7 + param_2; - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - param_1 = write_text_at_abs_coord - (param_1,&uStack20,&uStack24,text, - (int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge, - uVar6,(int)sVar3,(int)sVar4,0,0); - } - iVar2 = proc_7F0AC0E8((char *)param_3); - iVar7 += iVar2; - iStack8 += 1; - iStack4 += 1; - } - } - iVar5 += 4; - } while (iStack4 != 10); - return param_1; -} - - - -void constructor_menu0A_briefing(Gfx *param_1) - -{ - undefined4 *puVar1; - uint *DL; - short sVar2; - short sVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 auStack3012 [750]; - uint uStack12; - uint uStack8; - byte *pbStack4; - - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - DL = (uint *)proc_7F00D5E8(puVar1); - puVar1 = (undefined4 *)array_80050C54; - puVar4 = auStack3012; - do { - puVar5 = puVar1 + 3; - *puVar4 = *puVar1; - puVar4[1] = puVar1[1]; - puVar4[2] = puVar1[2]; - puVar1 = puVar5; - puVar4 = puVar4 + 3; - } while (puVar5 != (undefined4 *)"%02d:%02d"); - microcode_constructor(DL); - DL = print_current_solo_briefing_stage_name(DL,(byte *)auStack3012); - switch(current_menu_briefing_page) { - case BRIEFING_TITLE: - pbStack4 = get_textptr_for_textID(0x9c5d); - break; - case BRIEFING_OVERVIEW: - pbStack4 = get_textptr_for_textID(0x9c5e); - break; - case BRIEFING_M: - pbStack4 = get_textptr_for_textID(0x9c5f); - break; - case BRIEFING_Q: - pbStack4 = get_textptr_for_textID(0x9c60); - break; - case BRIEFING_MONEYPENNY: - pbStack4 = get_textptr_for_textID(0x9c61); - } - uStack8 = 0x37; - uStack12 = 0x8f; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - if (current_menu_briefing_page == BRIEFING_TITLE) { - DL = print_objectives_and_status_to_menu(DL,0xa7,(byte *)auStack3012,0); - } - else { - if (current_menu_briefing_page == BRIEFING_OVERVIEW) { - pbStack4 = get_textptr_for_textID(*(TEXTFILESTRINGS *)ptrbriefingdata); - } - else { - if (current_menu_briefing_page == BRIEFING_M) { - pbStack4 = get_textptr_for_textID(*(TEXTFILESTRINGS *)(ptrbriefingdata + 2)); - } - else { - if (current_menu_briefing_page == BRIEFING_Q) { - pbStack4 = get_textptr_for_textID(*(TEXTFILESTRINGS *)(ptrbriefingdata + 4)); - } - else { - if (current_menu_briefing_page == BRIEFING_MONEYPENNY) { - pbStack4 = get_textptr_for_textID(*(TEXTFILESTRINGS *)(ptrbriefingdata + 6)) - ; - } - } - } - } - uStack8 = 0x37; - uStack12 = 0xa7; - find_width_word_in_string - (0x140,pbStack4,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge); - setTextOverlapCorrection(8); - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack8,&uStack12,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar2,(int)sVar3,0,0); - setTextOverlapCorrection(0xffffffff); - } - DL = add_tab1_start(DL); - DL = add_tab3_previous(DL); - if ((int)current_menu_briefing_page < 4) { - DL = add_tab2_next(DL); - } - load_draw_selected_icon_folder_select(DL); - return; -} - - - -void init_menu0B_runstage(void) - -{ - set_loaded_stage(selected_stage); - set_difficulty(selected_difficulty); - return; -} - - - -void init_menu0C_missionfailed(void) - -{ - tab_2_selected = FALSE; - tab_3_selected = FALSE; - load_walletbond(); - load_briefing_text_for_stage(); - set_cursor_pos_tab2(); - if (maybe_is_in_menu != FALSE) { - music_related_38(0x7fff); - musicTrack1Vol(0x7fff); - music1_playing = 0; - musicTrack1Play(M_FOLDERS); - maybe_is_in_menu = FALSE; - } - return; -} - - - -void update_menu0C_missionfailed(void) - -{ - return; -} - - - -void interface_menu0C_missionfailed(void) - -{ - longlong lVar1; - u32 uVar2; - - setvideo_far(60.00000000); - video_related_21((f32)menu0C_aspect); - set_page_height(100.00000000,(f32)menu0C_pageheight); - set_video2_settings_offset_24(0); - tab_2_highlight = FALSE; - tab_3_highlight = FALSE; - lVar1 = isontab3(); - if (lVar1 == 0) { - lVar1 = isontab2(); - if (lVar1 == 0) { - tab_2_highlight = TRUE; - } - else { - tab_2_highlight = TRUE; - } - } - else { - tab_3_highlight = TRUE; - } - uVar2 = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar2 == 0) { - uVar2 = get_controller_buttons_pressed('\0',B_BUTTON); - if (uVar2 != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_3_highlight == FALSE) { - if (tab_2_highlight != FALSE) { - tab_2_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo - ((longlong)mission_folder_setup_entries[briefingpage].mission_num); - } - } - else { - set_menu_to_mode(MENU_MISSION_COMPLETE,0); - } - return; -} - - - -undefined8 proc_7F01631C(void) - -{ - DIFFICULTY DVar1; - int iVar2; - s32 objective; - int iVar3; - - if (mission_failed_or_aborted == FALSE) { - objective = 0; - iVar3 = 0; - if (mission_kia == FALSE) { - while (((*(short *)(ptrbriefingdata + iVar3 + 8) == 0 || - (DVar1 = get_current_difficulty(), - (longlong)DVar1 < (longlong)(ulonglong)*(ushort *)(ptrbriefingdata + iVar3 + 10) - )) || (iVar2 = get_status_of_objective(objective), iVar2 == 1))) { - objective += 1; - iVar3 += 4; - if (objective == 10) { - return 1; - } - } - return 0; - } - } - return 0; -} - - - -void constructor_menu0C_missionfailed(Gfx *param_1) - -{ - undefined4 *puVar2; - uint *DL; - byte *pbVar3; - short sVar4; - short sVar5; - longlong lVar1; - int iStack3024; - int iStack3020; - uint uStack3016; - byte abStack3008 [3000]; - uint uStack8; - uint uStack4; - - puVar2 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar2 = insert_generic_fillrect(puVar2); - DL = (uint *)proc_7F00D5E8(puVar2); - microcode_constructor(DL); - DL = print_current_solo_briefing_stage_name(DL,abStack3008); - pbVar3 = get_textptr_for_textID(0x9c62); - uStack4 = 0x37; - uStack8 = 0x8f; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbVar3,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0); - pbVar3 = get_textptr_for_textID(0x9c63); - iStack3024 = 0; - iStack3020 = 0; - proc_7F0AE98C(&iStack3020,&iStack3024,pbVar3,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - uStack4 = 0x37; - uStack8 = 0xa7; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbVar3,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0); - if (mission_kia == FALSE) { - if (mission_failed_or_aborted == FALSE) { - lVar1 = proc_7F01631C(); - if (lVar1 == 0) { - pbVar3 = get_textptr_for_textID(0x9c67); - uStack3016 = 0x780000ff; - } - else { - pbVar3 = get_textptr_for_textID(0x9c66); - uStack3016 = 0xff; - } - } - else { - pbVar3 = get_textptr_for_textID(0x9c65); - uStack3016 = 0x780000ff; - } - } - else { - pbVar3 = get_textptr_for_textID(0x9c64); - uStack3016 = 0x780000ff; - } - uStack8 = 0xa7; - uStack4 = iStack3024 + 0x37; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbVar3,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uStack3016,(int)sVar4,(int)sVar5,0,0); - DL = print_objectives_and_status_to_menu(DL,0xbf,abStack3008,1); - DL = add_tab2_next(DL); - DL = add_tab3_previous(DL); - load_draw_selected_icon_folder_select(DL); - return; -} - - - -void init_menu0D_missioncomplete(void) - -{ - tab_2_selected = FALSE; - tab_3_selected = FALSE; - load_walletbond(); - load_briefing_text_for_stage(); - if (newcheatunlocked != 0) { - play_sfx_a1(ptr_sfx_buf,0x102,NULL); - } - return; -} - - - -void update_menu0D_missioncomplete(void) - -{ - return; -} - - - -void interface_menu0D_missioncomplete(void) - -{ - longlong lVar1; - u32 uVar2; - mission_folder_setup *pmVar3; - mission_folder_setup *pmVar4; - int entry; - short sVar5; - int iVar6; - - setvideo_far(60.00000000); - video_related_21((f32)menu0D_aspect); - set_page_height(100.00000000,(f32)menu0D_pageheight); - set_video2_settings_offset_24(0); - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - lVar1 = isontab3(); - if (lVar1 == 0) { - lVar1 = isontab2(); - if (lVar1 == 0) { - tab_2_highlight = TRUE; - } - else { - tab_2_highlight = TRUE; - } - } - else { - tab_3_highlight = TRUE; - } - uVar2 = get_controller_buttons_pressed('\0',START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar2 == 0) { - uVar2 = get_controller_buttons_pressed('\0',B_BUTTON); - if (uVar2 != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_2_highlight == FALSE) { - if (tab_3_highlight != FALSE) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - tab_2_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo - ((longlong)mission_folder_setup_entries[briefingpage].mission_num); - } - } - else { - lVar1 = proc_7F01631C(); - if ((lVar1 == 0) || (append_cheat_sp != FALSE)) { - set_menu_to_mode(MENU_BRIEFING,0); - } - else { - if (mission_folder_setup_entries[briefingpage].mission_num == 0x11) { - set_menu_to_mode(MENU_RUN_STAGE,1); - selected_stage = LEVELID_CUBA; - } - else { - entry = briefingpage + 1; - if (mission_folder_setup_entries[briefingpage].mission_num < 0x12) { - sVar5 = mission_folder_setup_entries[entry].folder_text_preset; - pmVar4 = mission_folder_setup_entries + entry; - if (sVar5 != 0) { - iVar6 = mission_folder_setup_entries[entry].stage_id; - pmVar3 = mission_folder_setup_entries + entry; - while (pmVar4 = pmVar3, iVar6 < 0) { - sVar5 = pmVar3[1].folder_text_preset; - entry += 1; - pmVar4 = pmVar3 + 1; - if (sVar5 == 0) break; - iVar6 = pmVar3[1].stage_id; - pmVar3 = pmVar4; - } - } - if (sVar5 != 0) { - selected_stage = pmVar4->stage_id; - briefingpage = entry; - } - set_menu_to_mode(MENU_BRIEFING,0); - } - else { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo - ((longlong)mission_folder_setup_entries[briefingpage].mission_num); - } - } - } - } - return; -} - - - -void constructor_menu0D_missioncomplete(Gfx *param_1) - -{ - int iVar1; - undefined4 *puVar3; - int iVar4; - undefined4 uVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - uint *DL; - short sVar16; - short sVar17; - save_file *eepromfile; - ulonglong uVar2; - u8 *puVar13; - char *pcVar14; - size_t sVar15; - DIFFICULTY DVar18; - int iVar19; - int iVar20; - float fVar21; - float fVar22; - undefined4 in_f5; - int iStack3020; - int iStack3016; - byte *pbStack3012; - byte abStack3008 [3000]; - uint uStack8; - uint uStack4; - - puVar3 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar3 = insert_generic_fillrect(puVar3); - DL = (uint *)proc_7F00D5E8(puVar3); - microcode_constructor(DL); - iVar4 = getMissiontime(); - uVar5 = get_curplay_killcount(); - iVar6 = get_curplayer_shot_register(0); - iVar7 = get_curplayer_shot_register(1); - iVar8 = get_curplayer_shot_register(2); - iVar9 = get_curplayer_shot_register(3); - iVar10 = get_curplayer_shot_register(4); - iVar11 = get_curplayer_shot_register(5); - iVar12 = get_curplayer_shot_register(6); - iVar19 = iVar7 + iVar8 + iVar9 + iVar10 + iVar11; - iVar12 = iVar19 + iVar12; - if (iVar19 < 1) { - iVar19 = 1; - } - DL = print_current_solo_briefing_stage_name(DL,abStack3008); - pbStack3012 = get_textptr_for_textID(0x9c68); - uStack4 = 0x37; - uStack8 = 0x8f; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - iStack3020 = 0; - iStack3016 = 0; - proc_7F0AE98C(&iStack3016,&iStack3020,pbStack3012,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - pbStack3012 = get_textptr_for_textID(0x9c69); - uStack4 = 0x37; - uStack8 = 0xa7; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - eepromfile = getEEPROMforFoldernum(selected_folder_num); - uVar2 = get_eeprom_stage_complete_time_for_difficulty - (eepromfile,mission_folder_setup_entries[briefingpage].mission_num, - selected_difficulty); - uVar2._4_4_ = (int)uVar2; - if ((uVar2 == 0) || (0x3fe < (longlong)uVar2)) { - uVar2._4_4_ = -1; - } - DVar18 = selected_difficulty; - if (2 < selected_difficulty) { - DVar18 = DIFFICULTY_00; - } - iVar1 = iVar4 / 0x3c; - abStack3008[0] = 0; - iVar20 = (int)(&solo_target_times_ARRAY_8002b564 - [mission_folder_setup_entries[briefingpage].mission_num].agent_time)[DVar18]; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - sprintf((char *)abStack3008,"%02d:%02d",iVar1 / 0x3c,iVar1 % 0x3c); - uStack4 = 0x82; - uStack8 = 0xa7; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - if (newcheatunlocked != 0) { - abStack3008[0] = 0; - puVar13 = get_textptr_for_textID(0x9d13); - sprintf((char *)abStack3008," [%s]",puVar13); - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xa00000ff,(int)sVar16,(int)sVar17,0,0); - } - if ((iVar20 < 1) || (selected_difficulty == DIFFICULTY_007)) { - if ((-1 < uVar2._4_4_) && (uVar2._4_4_ < 0x3ff)) { - pbStack3012 = get_textptr_for_textID(0x9d11); - uStack8 = iStack3016 + 0xa9; - uStack4 = 0x37; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - abStack3008[0] = 0; - sprintf((char *)abStack3008,"%02d:%02d",uVar2._4_4_ / 0x3c,uVar2._4_4_ % 0x3c); - uStack4 = 0x82; - uStack8 = iStack3016 + 0xa9; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - } - } - else { - pbStack3012 = get_textptr_for_textID(0x9d12); - uStack8 = iStack3016 + 0xa9; - uStack4 = 0x37; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - abStack3008[0] = 0; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar20 == -0x80000000)) { - trap(0x1800); - } - sprintf((char *)abStack3008,"%02d:%02d",iVar20 / 0x3c,iVar20 % 0x3c); - uStack4 = 0x82; - uStack8 = iStack3016 + 0xa9; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - if ((-1 < uVar2._4_4_) && (uVar2._4_4_ < 0x3ff)) { - abStack3008[0] = 0; - if (uVar2._4_4_ < 0) { - sprintf((char *)abStack3008,&DAT_80051848); - } - else { - puVar13 = get_textptr_for_textID(0x9d11); - if (false) { - trap(0x1c00); - } - if ((false) && (uVar2._4_4_ == -0x80000000)) { - trap(0x1800); - } - sprintf((char *)abStack3008," (%s %02d:%02d)",puVar13,uVar2._4_4_ / 0x3c, - uVar2._4_4_ % 0x3c); - } - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - } - } - pbStack3012 = get_textptr_for_textID(0x9c6a); - uStack4 = 0x37; - uStack8 = 0xcc; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - if (iVar6 < 1) { - fVar21 = 0.00000000; - } - else { - fVar21 = ((float)iVar12 * 100.00000000) / (float)iVar6; - } - sprintf((char *)abStack3008,"%.1f%%",in_f5,SUB84((double)fVar21,0)); - uStack4 = 0x82; - uStack8 = 0xcc; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - pbStack3012 = get_textptr_for_textID(0x9c6b); - uStack4 = 0x37; - uStack8 = 0xdc; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - pcVar14 = (char *)getplayerfavoredweapon(0,0); - textpointer_load_parse_something((char *)abStack3008,pcVar14); - if ((0 < (int)fav_weapon_player1.right) && (fav_weapon_player1.left == fav_weapon_player1.right) - ) { - sVar15 = strlen((char *)abStack3008); - sprintf((char *)((int)&pbStack3012 + sVar15 + 3)," x 2\n"); - } - uStack4 = 0xbe; - uStack8 = 0xdc; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - pbStack3012 = get_textptr_for_textID(0x9c6c); - uStack4 = 0x37; - uStack8 = 0xf4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - sprintf((char *)abStack3008,"%d",iVar6); - uStack4 = 0x82; - uStack8 = 0xf4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - pbStack3012 = get_textptr_for_textID(0x9c6d); - uStack4 = 0xb4; - uStack8 = 0xf4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - fVar21 = (float)iVar19; - fVar22 = truncf(((float)iVar7 * 100.00000000) / fVar21 + 0.50000000); - sprintf((char *)abStack3008,"%d (%d%%)",iVar7,(int)fVar22); - uStack4 = 300; - uStack8 = 0xf4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - pbStack3012 = get_textptr_for_textID(0x9c6e); - uStack8 = iStack3016 + 0xf4; - uStack4 = 0xb4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - fVar22 = truncf(((float)iVar8 * 100.00000000) / fVar21 + 0.50000000); - sprintf((char *)abStack3008,"%d (%d%%)",iVar8,(int)fVar22); - uStack4 = 300; - uStack8 = iStack3016 + 0xf4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - pbStack3012 = get_textptr_for_textID(0x9c6f); - uStack8 = iStack3016 * 2 + 0xf4; - uStack4 = 0xb4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - fVar22 = truncf(((float)iVar9 * 100.00000000) / fVar21 + 0.50000000); - sprintf((char *)abStack3008,"%d (%d%%)",iVar9,(int)fVar22); - uStack4 = 300; - uStack8 = iStack3016 * 2 + 0xf4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - pbStack3012 = get_textptr_for_textID(0x9c70); - uStack8 = iStack3016 * 3 + 0xf4; - uStack4 = 0xb4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - fVar21 = truncf(((float)(iVar11 + iVar10) * 100.00000000) / fVar21 + 0.50000000); - sprintf((char *)abStack3008,"%d (%d%%)",iVar11 + iVar10,(int)fVar21); - uStack4 = 300; - uStack8 = iStack3016 * 3 + 0xf4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - pbStack3012 = get_textptr_for_textID(0x9c71); - uStack8 = iStack3016 + 0xf4; - uStack4 = 0x37; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,pbStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - sprintf((char *)abStack3008,"%d",uVar5); - uStack4 = 0x82; - uStack8 = iStack3016 + 0xf4; - sVar16 = get_video2_settings_txtClipW(); - sVar17 = get_video2_settings_txtClipH(); - DL = write_text_at_abs_coord - (DL,&uStack4,&uStack8,abStack3008,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar16,(int)sVar17,0,0); - DL = add_tab2_next(DL); - DL = add_tab3_previous(DL); - load_draw_selected_icon_folder_select(DL); - return; -} - - - -void init_menu15_cheat(void) - -{ - int iVar1; - char *pcVar2; - - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - dword_8002B5DC = NULL; - pcVar2 = &cheat_available; - iVar1 = 1; - do { - if (*pcVar2 != '\0') { - (&DAT_800697f0)[(int)dword_8002B5DC] = iVar1; - dword_8002B5DC = dword_8002B5DC + 1; - } - iVar1 += 1; - pcVar2 = pcVar2 + 1; - } while (iVar1 != 0x4b); - load_walletbond(); - return; -} - - - -void update_menu15_cheat(void) - -{ - u32 uVar1; - int i; - u8 *puVar2; - BOOL appendsp; - BOOL appendmp; - - appendsp = FALSE; - appendmp = FALSE; - puVar2 = CHEATS_ACTIVE_ARRAY; - i = CHEAT_EXTRA_MP_CHARS; - do { - if (*puVar2 != '\0') { - appendsp = TRUE; - uVar1 = cheatCheckIfMPCheat(i); - if (uVar1 != 0) { - appendmp = TRUE; - } - } - i += CHEAT_EXTRA_MP_CHARS; - puVar2 = puVar2 + 1; - } while (i != 0x4b); - append_cheat_sp = appendsp; - append_cheat_mp = appendmp; - return; -} - - - -void interface_menu15_cheat(void) - -{ - undefined *puVar1; - u32 heldbuttons; - longlong istab3; - int iVar2; - undefined *puVar3; - - setvideo_far(60.00000000); - video_related_21(1.33333337); - set_page_height(100.00000000,10000.00000000); - set_video2_settings_offset_24(0); - MP_menu_selected_option = 0; - heldbuttons = get_controller_buttons_held('\0',Z_TRIG|A_BUTTON); - puVar1 = dword_8002B5E0; - if (heldbuttons == 0) { - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - dword_8002B5E0 = NULL; - istab3 = isontab3(); - if (istab3 == 0) { - puVar1 = dword_8002B5E0; - if (((0xc < (int)dword_8002B5DC) && - (puVar3 = dword_8002B5DC + -0xd, 0xdb < (int)(float)cursor_h_pos)) && - (-1 < (int)puVar3)) { - iVar2 = (int)puVar3 * 0x14 + 0x35; - do { - puVar1 = puVar3 + 0xc; - if (iVar2 <= (int)(float)cursor_v_pos) break; - puVar3 = puVar3 + -1; - iVar2 += -0x14; - puVar1 = dword_8002B5E0; - } while (-1 < (int)puVar3); - } - dword_8002B5E0 = puVar1; - puVar1 = dword_8002B5E0; - if (dword_8002B5E0 == NULL) { - puVar3 = dword_8002B5DC + -1; - if (0xc < (int)dword_8002B5DC) { - puVar3 = (undefined *)((int)&PTR_entry_00000008 + 3); - } - if (-1 < (int)puVar3) { - iVar2 = (int)puVar3 * 0x14 + 0x35; - do { - puVar1 = puVar3; - if (iVar2 <= (int)(float)cursor_v_pos) break; - puVar3 = puVar3 + -1; - iVar2 += -0x14; - puVar1 = dword_8002B5E0; - } while (-1 < (int)puVar3); - } - } - } - else { - tab_3_highlight = TRUE; - puVar1 = dword_8002B5E0; - } - } - dword_8002B5E0 = puVar1; - heldbuttons = get_controller_buttons_pressed('\0',Z_TRIG|A_BUTTON); - if (heldbuttons == 0) { - heldbuttons = get_controller_buttons_pressed('\0',B_BUTTON); - if (heldbuttons != 0) { - tab_3_selected = TRUE; - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_3_highlight == FALSE) { - MP_menu_selected_option = 1; - } - else { - tab_3_selected = TRUE; - } - play_sfx_a1(ptr_sfx_buf,199,NULL); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (tab_3_selected == FALSE) { - if (MP_menu_selected_option != 0) { - (&DAT_800696a0)[(&DAT_800697f0)[(int)dword_8002B5E0]] = - '\x01' - (&DAT_800696a0)[(&DAT_800697f0)[(int)dword_8002B5E0]]; - } - } - else { - set_menu_to_mode(MENU_MODE_SELECT,0); - set_menu_cursor_pos_to_setting(gamemode); - } - return; -} - - - -void constructor_menu15_cheat(Gfx *param_1) - -{ - undefined4 *puVar2; - u32 *DL; - longlong lVar1; - uint *puVar3; - short sVar5; - short sVar6; - byte *pbVar4; - TEXTFILESTRINGS id; - uint uVar7; - CHEAT_IDS *pCVar8; - uint uVar9; - undefined *puVar10; - int iVar11; - int iStack28; - int iStack24; - uint uStack20; - uint auStack16 [4]; - - puVar2 = set_setfillcolor((undefined4 *)param_1,0,0,0); - puVar2 = insert_generic_fillrect(puVar2); - DL = (u32 *)proc_7F00D5E8(puVar2); - lVar1 = (longlong)(int)DL; - microcode_constructor(DL); - puVar10 = NULL; - puVar2 = (undefined4 *)dword_8002B5DC; - if (0xc < (int)dword_8002B5DC) { - puVar2 = &DAT_0000000c; - } - if (0 < (int)puVar2) { - uVar9 = 0x35; - pCVar8 = &DAT_800697f0; - do { - puVar3 = (uint *)lVar1; - pbVar4 = (byte *)cheatGetMenuTextPointer(*pCVar8); - proc_7F0AE98C(&iStack24,&iStack28,pbVar4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - auStack16[0] = 0x37; - uStack20 = uVar9; - if ((puVar10 == dword_8002B5E0) && (lVar1 = isontab3(), lVar1 == 0)) { - puVar3 = microcode_constructor_related_to_menus - (puVar3,(longlong)(int)(auStack16[0] - 2), - (longlong)(int)(uStack20 - 1), - (longlong)(int)(auStack16[0] + iStack28 + 5),uStack20 + 0xe,0x32 - ); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = write_text_at_abs_coord - (puVar3,auStack16,&uStack20,pbVar4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar5,(int)sVar6,0,0); - id = 0x9c74; - if ((&DAT_800696a0)[*pCVar8] != '\0') { - id = 0x9c73; - } - pbVar4 = get_textptr_for_textID(id); - proc_7F0AE98C(&iStack24,&iStack28,pbVar4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - auStack16[0] = 0xb3; - uVar7 = 0xff; - if ((&DAT_800696a0)[*pCVar8] != '\0') { - uVar7 = 0xa00000ff; - } - uStack20 = uVar9; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = write_text_at_abs_coord - (puVar3,auStack16,&uStack20,pbVar4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar7,(int)sVar5,(int)sVar6,0,0); - lVar1 = (longlong)(int)puVar3; - puVar10 = puVar10 + 1; - pCVar8 = pCVar8 + 1; - uVar9 += 0x14; - puVar2 = (undefined4 *)dword_8002B5DC; - if (0xc < (int)dword_8002B5DC) { - puVar2 = &DAT_0000000c; - } - } while ((int)puVar10 < (int)puVar2); - } - puVar3 = (uint *)lVar1; - if ((0xc < (int)dword_8002B5DC) && (iVar11 = 0, 0 < (int)(dword_8002B5DC + -0xc))) { - puVar2 = &DAT_800697f0; - uVar9 = 0x35; - do { - puVar3 = (uint *)lVar1; - pbVar4 = (byte *)cheatGetMenuTextPointer(puVar2[0xc]); - proc_7F0AE98C(&iStack24,&iStack28,pbVar4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - auStack16[0] = 0xdc; - uStack20 = uVar9; - if (((undefined *)(iVar11 + 0xc) == dword_8002B5E0) && (lVar1 = isontab3(), lVar1 == 0)) - { - puVar3 = microcode_constructor_related_to_menus - (puVar3,(longlong)(int)(auStack16[0] - 2), - (longlong)(int)(uStack20 - 1), - (longlong)(int)(auStack16[0] + iStack28 + 5),uStack20 + 0xe,0x32 - ); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = write_text_at_abs_coord - (puVar3,auStack16,&uStack20,pbVar4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar5,(int)sVar6,0,0); - id = 0x9c74; - if ((&DAT_800696a0)[puVar2[0xc]] != '\0') { - id = 0x9c73; - } - pbVar4 = get_textptr_for_textID(id); - proc_7F0AE98C(&iStack24,&iStack28,pbVar4,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - auStack16[0] = 0x158; - uVar7 = 0xff; - if ((&DAT_800696a0)[puVar2[0xc]] != '\0') { - uVar7 = 0xa00000ff; - } - uStack20 = uVar9; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = write_text_at_abs_coord - (puVar3,auStack16,&uStack20,pbVar4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar7,(int)sVar5,(int)sVar6,0,0); - lVar1 = (longlong)(int)puVar3; - iVar11 += 1; - puVar2 = puVar2 + 1; - uVar9 += 0x14; - } while (iVar11 < (int)(dword_8002B5DC + -0xc)); - } - puVar3 = add_tab3_previous(puVar3); - load_draw_selected_icon_folder_select(puVar3); - return; -} - - - -void init_menu16_nocontroller(void) - -{ - return; -} - - - -void update_menu16_nocontrollers(void) - -{ - return; -} - - - -void interface_menu16_nocontrollers(void) - -{ - return; -} - - - -// WARNING: Instruction at (ram,0x7f0184c8) overlaps instruction at (ram,0x7f0184c4) -// - -void constructor_menu16_nocontrollers(Gfx *param_1) - -{ - ulonglong uVar1; - u32 *DL; - short sVar3; - short sVar4; - undefined4 *puVar2; - bool bVar5; - byte *pbStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - uVar1 = get_num_controllers_plugged_in(); - bVar5 = (uVar1 & 8) != 0; - if ((uVar1 & 4) != 0) { - bVar5 = (bool)(bVar5 + '\x01'); - } - if ((uVar1 & 2) != 0) { - bVar5 = (bool)(bVar5 + '\x01'); - } - DL = insert_imageDL(param_1); - microcode_constructor(DL); - if ((((bVar5 == false) || (bVar5 == true)) || (bVar5 == true)) || (bVar5 == true)) { - pbStack20 = get_textptr_for_textID(0x9c76); - } - proc_7F0AE98C(&iStack4,&iStack8,pbStack20,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - iStack12 = 0xdc - (iStack8 >> 1); - iStack16 = 0x99 - (iStack4 >> 1); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - puVar2 = (undefined4 *)(int)sVar4; - en_text_write_stuff(DL,&iStack12,&iStack16,pbStack20,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xffffffff,(int)sVar3,(int)sVar4,0,0); - if (((bVar5 == false) || (bVar5 == true)) || ((bVar5 == true || (bVar5 == true)))) { - pbStack20 = get_textptr_for_textID(0x9c77); - } - proc_7F0AE98C(&iStack4,&iStack8,pbStack20,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - iStack12 = 0xdc - (iStack8 >> 1); - iStack16 = 0xb1 - (iStack4 >> 1); - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - en_text_write_stuff(puVar2,&iStack12,&iStack16,pbStack20,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xffffffff,(int)sVar3,(int)sVar4,0,0); - return; -} - - - -void do_extended_cast_display(longlong param_1) - -{ - if (param_1 != 0) { - do_not_play_intro_movie = 0; - full_actor_intro = (BOOL)param_1; - return; - } - do_not_play_intro_movie = 1; - full_actor_intro = (BOOL)param_1; - return; -} - - - -// WARNING: Could not reconcile some variable overlaps - -void init_menu18_displaycast(void) - -{ - object_header *objheader; - u32 uVar1; - int iVar2; - BOOL BVar3; - int iVar4; - PROPS PVar5; - undefined4 extraout_a2_lo; - uint uVar6; - PROPS *pPVar7; - PROPS *pPVar8; - PROPS *pPVar9; - PROPS *pPVar10; - float fVar11; - f32 scale; - f32 scale_00; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - PROPS local_8c [10]; - int rifles [6]; - undefined4 local_48; - object_header *headHeader; - u32 uStack48; - int iStack44; - int aiStack40 [4]; - xyzpoint local_18; - undefined *local_8; - Gfx *local_4; - - local_4 = ptr_logo_and_walletbond_DL; - local_18.x = dword_8002BA2C; - local_18.y = DAT_8002ba30; - local_18.z = DAT_8002ba34; - headHeader = NULL; - uVar1 = get_random_value(); - local_48 = uVar1 & 1; - if ((full_actor_intro != FALSE) && (do_not_play_intro_movie == 0)) { - musicTrack1Vol(0x7fff); - music1_playing = 0; - musicTrack1Play(M_INTRO); - } - intro_animation_count = 0; - if (-1 < (int)intro_animation_table[0].animID) { - intro_animation_count = 1; - while (-1 < (int)intro_animation_table[intro_animation_count].animID) { - intro_animation_count += 1; - } - } - uVar1 = get_random_value(); - randomly_selected_intro_animation = uVar1 % intro_animation_count; - iStack44 = intro_char_table[do_not_play_intro_movie].body; - uStack48 = intro_char_table[do_not_play_intro_movie].head; - iVar4 = intro_animation_table[randomly_selected_intro_animation].camera_preset; - if (intro_animation_count == 0) { - trap(0x1c00); - } - if (iStack44 == 0x16) { - uVar1 = get_random_value(); - if (true) { - switch(uVar1 % 5) { - case 1: - uStack48 = 0x4b; - iStack44 = 0x17; - break; - case 2: - uStack48 = 0x4b; - iStack44 = 0x18; - break; - case 3: - uStack48 = 0x4b; - iStack44 = 0x19; - break; - case 4: - uStack48 = 0x4e; - iStack44 = 5; - } - } - } - else { - if (iStack44 == 0x10) { - uVar1 = get_random_value(); - if ((uVar1 & 1) != 0) { - iStack44 = 0x4f; - } - } - else { - if ((iStack44 == 9) && (uVar1 = get_random_value(), (uVar1 & 1) != 0)) { - iStack44 = 8; - } - } - } - if (uStack48 == 0xffffff9f) { - uStack48 = get_random_head(iStack44); - } - local_8 = &DAT_00031160; - proc_7F0D2448(((uint)(&UNK_0003119f + (int)local_4) | 0x3f) ^ 0x3f,0x1b8,0x14a); - proc_7F0CBAF4(aiStack40,(int)local_4,0x19000); - objheader = c_item_entries[iStack44].header; - local_4 = local_4 + 0x3200; - local_8 = local_8 + -0x19000; - load_object_fill_header - (objheader,(u8 *)c_item_entries[iStack44].filename,(int)local_4,(int)local_8, - (int)aiStack40); - iVar2 = get_pc_buffer_remaining_value((byte *)c_item_entries[iStack44].filename); - uVar6 = (iVar2 + 0x3fU | 0x3f) ^ 0x3f; - local_8 = local_8 + -uVar6; - local_4 = (Gfx *)((int)local_4 + uVar6); - if (-1 < (int)uStack48) { - headHeader = c_item_entries[uStack48].header; - load_object_fill_header - (headHeader,(u8 *)c_item_entries[uStack48].filename,(int)local_4,(int)local_8, - (int)aiStack40); - iVar2 = get_pc_buffer_remaining_value((byte *)c_item_entries[uStack48].filename); - uVar6 = (iVar2 + 0x3fU | 0x3f) ^ 0x3f; - local_8 = local_8 + -uVar6; - local_4 = (Gfx *)((int)local_4 + uVar6); - } - objinstance = (undefined *)setup_chr_instance(iStack44,uStack48,objheader,headHeader,0); - set_obj_instance_controller_scale((int)objinstance,scale); - if (iVar4 == 0) { - ptrobjinstance = NULL; - } - else { - if (iVar4 == 2) { - rifles[0] = random_rifles_in_intro[0]; - rifles[1] = random_rifles_in_intro[1]; - rifles[3] = random_rifles_in_intro[3]; - rifles[2] = random_rifles_in_intro[2]; - rifles[4] = random_rifles_in_intro[4]; - rifles[5] = random_rifles_in_intro[5]; - uVar1 = get_random_value(); - PVar5 = rifles[uVar1 % 6]; - } - else { - pPVar7 = random_pistols_in_intro; - pPVar9 = local_8c; - do { - pPVar8 = pPVar7 + 3; - pPVar10 = pPVar9 + 3; - *pPVar9 = *pPVar7; - pPVar9[1] = pPVar7[1]; - pPVar9[2] = pPVar7[2]; - pPVar7 = pPVar8; - pPVar9 = pPVar10; - } while (pPVar8 != random_pistols_in_intro + 9); - *pPVar10 = random_pistols_in_intro[9]; - uVar1 = get_random_value(); - PVar5 = local_8c[uVar1 % 10]; - } - if ((PVar5 == PROP_chrruger) && (uVar1 = check_cradle_completed_any_folder(), uVar1 == 0)) { - PVar5 = PROP_chrwppk; - } - if ((PVar5 == PROP_chrlaser) && - (BVar3 = check_aztec_completed_any_folder_secret_00(), BVar3 == FALSE)) { - PVar5 = PROP_chrwppk; - } - if ((PVar5 == PROP_chrgolden) && - (BVar3 = check_egypt_completed_any_folder_00(), BVar3 == FALSE)) { - PVar5 = PROP_chrwppk; - } - objheader = (object_header *)PitemZ_entries[PVar5].header; - load_object_fill_header - (objheader,(u8 *)PitemZ_entries[PVar5].filename,(int)local_4,(int)local_8, - (int)aiStack40); - get_pc_buffer_remaining_value((byte *)PitemZ_entries[PVar5].filename); - set_objuse_flag_compute_grp_nums_set_obj_loaded(objheader); - ptrobjinstance = (undefined *)get_obj_instance_controller_for_header(objheader); - set_obj_instance_controller_scale((int)ptrobjinstance,scale_00); - iVar4 = 3; - *(undefined **)(ptrobjinstance + 0x18) = objinstance; - if (local_48 != 0) { - iVar4 = 5; - } - *(undefined4 *)(ptrobjinstance + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(objinstance + 8) + 8) + iVar4 * 4); - } - proc_7F06CE84((int)objinstance,0x3dcccccd); - setsuboffset((int)objinstance,&local_18); - setsubroty((int)objinstance,extraout_f12,0,extraout_a2_lo); - proc_7F06FF18((int)objinstance,0x3f000000,extraout_f12_00); - proc_7F06FCA8((int)objinstance, - *(undefined4 *) - (animation_table_ptrs1 + - intro_animation_table[randomly_selected_intro_animation].animID * 4), - (undefined)local_48,extraout_f12_01, - intro_animation_table[randomly_selected_intro_animation].startframeoffset, - extraout_f14); - menu_timer = 0; - uVar1 = get_random_value(); - fVar11 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695a4 = fVar11 * 0.00000000 * 80.00000000 + 70.00000000; - uVar1 = get_random_value(); - fVar11 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695a8 = fVar11 * 0.00000000 * 80.00000000 + 70.00000000; - uVar1 = get_random_value(); - fVar11 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695b0 = (fVar11 * 0.00000000 - 0.50000000) * flt_80051B00; - uVar1 = get_random_value(); - fVar11 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695b4 = (fVar11 * 0.00000000 - 0.50000000) * flt_80051B04; - uVar1 = get_random_value(); - fVar11 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695bc = fVar11 * 0.00000000 * 200.00000000 + -100.00000000; - uVar1 = get_random_value(); - fVar11 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695a0 = DAT_800695a4; - dword_80069C6C = DAT_800695b0; - DAT_800695b8 = DAT_800695bc; - DAT_800695c0 = fVar11 * 0.00000000 * 200.00000000 + -100.00000000; - DAT_800695e4 = 1; - DAT_800695e8 = 0; - DAT_800695ec = 0; - DAT_800695f0 = 0; - return; -} - - - -void update_menu18_displaycast(void) - -{ - if (objinstance != NULL) { - set_aircraft_obj_inst_scale_to_zero((int *)objinstance); - } - if (ptrobjinstance != NULL) { - set_obj_instance_scale_to_zero((int *)ptrobjinstance); - } - return; -} - - - -void interface_menu18_displaycast(void) - -{ - BOOL BVar1; - u32 uVar2; - int iVar3; - - setvideo_far(46.00000000); - set_page_height(10.00000000,2000.00000000); - set_video2_settings_offset_24(1); - video_related_21((f32)flt_80051B08); - 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); - menu_timer += clock_timer; - if (menu_timer < 0xb5) { - uVar2 = 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 ((uVar2 != 0) && (full_actor_intro == FALSE)) { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - return; - } - iVar3 = do_not_play_intro_movie + 1; -LAB_7f01902c: - do_not_play_intro_movie = iVar3; - if (intro_char_table[do_not_play_intro_movie].flag != 0) goto code_r0x7f01904c; - iVar3 = intro_char_table[do_not_play_intro_movie].body; - goto LAB_7f019068; -code_r0x7f01904c: - iVar3 = do_not_play_intro_movie + 1; - if (full_actor_intro != FALSE) { - iVar3 = intro_char_table[do_not_play_intro_movie].body; -LAB_7f019068: - if ((iVar3 == 0x27) && - (BVar1 = check_aztec_completed_any_folder_secret_00(), BVar1 == FALSE)) { - iVar3 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - if ((intro_char_table[do_not_play_intro_movie].body == 0x28) && - (BVar1 = check_aztec_completed_any_folder_secret_00(), BVar1 == FALSE)) { - iVar3 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - if ((intro_char_table[do_not_play_intro_movie].body == 0xe) && - (BVar1 = check_aztec_completed_any_folder_secret_00(), BVar1 == FALSE)) { - uVar2 = get_random_value(); - if (false) { - trap(0x1c00); - } - if (uVar2 % 10000 != 0) { - iVar3 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - } - if ((intro_char_table[do_not_play_intro_movie].body == 0xd) && - (BVar1 = check_aztec_completed_any_folder_secret_00(), BVar1 == FALSE)) { - uVar2 = get_random_value(); - if (false) { - trap(0x1c00); - } - if (uVar2 % 10000 != 0) { - iVar3 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - } - if ((intro_char_table[do_not_play_intro_movie].body == 0xf) && - (BVar1 = check_egypt_completed_any_folder_00(), BVar1 == FALSE)) { - uVar2 = get_random_value(); - if (false) { - trap(0x1c00); - } - if (uVar2 % 10000 != 0) { - iVar3 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - } - if ((intro_char_table[do_not_play_intro_movie].body != 0xc) || - (BVar1 = check_egypt_completed_any_folder_00(), BVar1 != FALSE)) { -LAB_7f019268: - if (intro_char_table[do_not_play_intro_movie].body < 0) { - do_not_play_intro_movie = 0; - } - if (do_not_play_intro_movie < 1) { - if (full_actor_intro != FALSE) { - set_menu_to_mode(MENU_MISSION_SELECT,1); - set_cursor_to_stage_solo(0x11); - full_actor_intro = FALSE; - return; - } - select_ramrom_to_play(); - return; - } - set_menu_to_mode(MENU_DISPLAY_CAST,1); - return; - } - uVar2 = get_random_value(); - if (false) { - trap(0x1c00); - } - if (uVar2 % 10000 == 0) goto LAB_7f019268; - iVar3 = do_not_play_intro_movie + 1; - } - goto LAB_7f01902c; -} - - - -void constructor_menu18_displaycast(Gfx *param_1) - -{ - ushort *partdesc; - undefined4 *puVar1; - LookAt *l; - float (*paafVar2) [4] [4]; - byte *pbVar3; - short sVar4; - short sVar5; - undefined8 extraout_a0; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a2_lo_04; - undefined4 extraout_a2_lo_05; - undefined4 uVar6; - undefined4 extraout_a2_lo_06; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined *extraout_a3_lo_04; - undefined *puVar7; - float (**ppaafVar8) [4] [4]; - float (**ppaafVar9) [4] [4]; - float (**ppaafVar10) [4] [4]; - float (**ppaafVar11) [4] [4]; - int iVar12; - int iVar14; - longlong lVar13; - undefined4 *puVar15; - float fVar16; - float fVar17; - uint uVar18; - float xEye; - float yEye; - byte abStack368 [72]; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack268; - float fStack264; - int iStack256; - int iStack252; - int iStack248; - int iStack244; - float afStack240 [18]; - float (*paafStack168) [4] [4]; - undefined4 uStack164; - undefined4 uStack160; - undefined4 *puStack156; - float (*paafStack152) [4] [4]; - undefined4 uStack120; - float afStack104 [17]; - f32 fStack36; - f32 fStack32; - f32 fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = (float)flt_8002BA78.x; - fStack8 = (float)flt_8002BA78.y; - fStack4 = (float)flt_8002BA78.z; - fStack24 = (float)dword_8002BA84.x; - fStack20 = (float)dword_8002BA84.y; - fStack16 = (float)dword_8002BA84.z; - fStack36 = dword_8002BA90.x; - fStack32 = dword_8002BA90.y; - fStack28 = dword_8002BA90.z; - ppaafVar10 = (float (**) [4] [4])&dword_8002BA9C; - ppaafVar8 = &paafStack168; - do { - ppaafVar11 = ppaafVar10 + 3; - ppaafVar9 = ppaafVar8 + 3; - *ppaafVar8 = *ppaafVar10; - ppaafVar8[1] = ppaafVar10[1]; - ppaafVar8[2] = ppaafVar10[2]; - ppaafVar10 = ppaafVar11; - ppaafVar8 = ppaafVar9; - } while (ppaafVar11 != (float (**) [4] [4])0x8002bad8); - *ppaafVar9 = paafRam8002bad8; - fStack284 = DAT_8002badc; - fStack280 = dword_8002BAE0; - fStack264 = (float)menu_timer / 180.00000000; - fStack276 = dword_8002BAE4; - if ((menu_timer < 0) || (0xb3 < menu_timer)) { - fStack268 = 0.00000000; - } - else { - if (menu_timer < 0x1e) { - fStack268 = (float)menu_timer / 30.00000000; - } - else { - if (menu_timer < 0x97) { - fStack268 = 1.00000000; - } - else { - fStack268 = (float)(0xb4 - menu_timer) / 30.00000000; - } - } - } - puVar1 = set_setfillcolor((undefined4 *)param_1,0,0,0); - paafStack152 = (float (*) [4] [4])insert_generic_fillrect(puVar1); - DAT_800695a0 = (DAT_800695a8 - DAT_800695a4) * fStack264 + DAT_800695a4; - dword_80069C6C = (DAT_800695b4 - DAT_800695b0) * fStack264 + DAT_800695b0; - DAT_800695b8 = (DAT_800695c0 - DAT_800695bc) * fStack264 + DAT_800695bc; - if (dword_80069C6C < 0.00000000) { - dword_80069C6C = dword_80069C6C + flt_80051B0C; - } - l = (LookAt *)paafStack152; - fVar16 = sinf(dword_80069C6C); - fVar17 = cosf(dword_80069C6C); - fStack8 = DAT_800695b8; - fStack12 = fVar17 * flt_80051B10 * DAT_800695a0 + DAT_800695a0 * fVar16; - fVar16 = cosf(dword_80069C6C); - fVar17 = sinf(dword_80069C6C); - fStack4 = DAT_800695a0 * fVar16 - fVar17 * flt_80051B14 * DAT_800695a0; - fVar16 = cosf(dword_80069C6C); - fStack24 = fStack24 + fVar16 * flt_80051B18 * DAT_800695a0; - fVar16 = sinf(dword_80069C6C); - fStack16 = fStack16 + -fVar16 * flt_80051B1C * DAT_800695a0; - proc_7F0BD6F8(2); - guLookAtReflect((Mtx *)abStack368,l,xEye,yEye,0.00000000,0.00000000,4000.00000000,0.00000000, - 0.00000000,0.00000000,0.00000000); - *(undefined4 *)((LookAt *)paafStack152)->l = 0xbc000002; - *(undefined4 *)(((LookAt *)paafStack152)->l + 4) = 0x80000040; - *(undefined4 *)(((LookAt *)paafStack152)->l + 8) = 0x3860010; - *(undefined4 *)(((LookAt *)paafStack152)->l + 0xc) = 0x8002a978; - *(undefined4 *)(((LookAt *)paafStack152)->l + 0x10) = 0x3880010; - *(undefined4 *)(((LookAt *)paafStack152)->l + 0x14) = 0x8002a970; - *(undefined4 *)(((LookAt *)paafStack152)->l + 0x18) = 0x3840010; - *(LookAt **)(((LookAt *)paafStack152)->l + 0x1c) = l; - *(byte **)(((LookAt *)paafStack152)[1].l + 4) = l->l + 0x10; - *(undefined4 *)((LookAt *)paafStack152)[1].l = 0x3820010; - puStack156 = (undefined4 *)(((LookAt *)paafStack152)[1].l + 8); - proc_7F070AEC((int)objinstance,clock_timer,1); - set_80036084(1); - proc_7F073FC8(0); - subcalcpos((int)objinstance,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - if ((ptrobjinstance != NULL) && (**(ushort ***)(*(int *)(ptrobjinstance + 8) + 8) != NULL)) { - paafStack152 = (float (*) [4] [4]) - extract_id_from_object_structure_microcode - ((int)ptrobjinstance, - **(ushort ***)(*(int *)(ptrobjinstance + 8) + 8)); - *(undefined2 *)((LookAt *)paafStack152)->l = 0; - } - if ((ptrobjinstance != NULL) && - (partdesc = *(ushort **)(*(int *)(*(int *)(ptrobjinstance + 8) + 8) + 8), partdesc != NULL)) - { - paafStack152 = (float (*) [4] [4]) - extract_id_from_object_structure_microcode((int)ptrobjinstance,partdesc); - *(undefined4 *)((LookAt *)paafStack152)->l = 0; - } - proc_7F0BD714((int)*(short *)(*(int *)(objinstance + 8) + 0xe) << 6); - guMtxIdentF_unrolled((float (*) [4] [4])afStack104); - paafStack168 = (float (*) [4] [4])afStack104; - subcalcmatrices((float **)&paafStack168,(uint)objinstance,extraout_a2_lo_00,extraout_a3_lo_00); - getsuboffset((int)objinstance,&fStack296,extraout_a2_lo_01,extraout_a3_lo_01); - if (DAT_800695e4 != 0) { - DAT_800695ec = fStack292; - } - fStack284 = (fStack296 - DAT_800695e8) / global_timer_delta; - fStack280 = (fStack292 - DAT_800695ec) / global_timer_delta; - fStack276 = (fStack288 - DAT_800695f0) / global_timer_delta; - if (DAT_800695e4 != 0) { - DAT_80069608 = fStack284 / flt_80051B20; - DAT_8006960c = fStack280 / flt_80051B20; - DAT_80069610 = fStack276 / flt_80051B20; - } - if (0 < clock_timer) { - iVar14 = 1; - DAT_80069608 = flt_80051B28 * DAT_80069608; - if (1 < clock_timer) { - do { - iVar14 += 1; - DAT_8006960c = fStack280 + flt_80051B28 * DAT_8006960c; - DAT_80069610 = fStack276 + flt_80051B28 * DAT_80069610; - DAT_80069608 = flt_80051B28 * (fStack284 + DAT_80069608); - } while (iVar14 < clock_timer); - } - DAT_80069608 = fStack284 + DAT_80069608; - DAT_8006960c = fStack280 + flt_80051B28 * DAT_8006960c; - DAT_80069610 = fStack276 + flt_80051B28 * DAT_80069610; - } - DAT_800695f8 = DAT_80069608 * flt_80051B24; - DAT_800695fc = DAT_8006960c * flt_80051B24; - DAT_80069600 = DAT_80069610 * flt_80051B24; - DAT_800695e8 = DAT_800695e8 + DAT_800695f8 * global_timer_delta; - DAT_800695ec = DAT_800695ec + DAT_800695fc * global_timer_delta; - DAT_800695f0 = DAT_800695f0 + DAT_80069600 * global_timer_delta; - proc_7F058474(*(float **)(objinstance + 0xc),&fStack284); - fStack284 = fStack284 - DAT_800695e8; - fStack280 = fStack280 - DAT_800695ec; - fStack276 = fStack276 - DAT_800695f0; - if (DAT_800695e4 != 0) { - DAT_800695d8 = fStack284 / flt_80051B34; - DAT_800695e4 = 0; - DAT_800695dc = fStack280 / flt_80051B34; - dword_80069CA0 = fStack276 / flt_80051B34; - } - paafVar2 = (float (*) [4] [4])&DAT_800695d8; - if (0 < clock_timer) { - iVar14 = 1; - DAT_800695d8 = flt_80051B30 * DAT_800695d8; - if (1 < clock_timer) { - do { - iVar14 += 1; - DAT_800695dc = fStack280 + flt_80051B30 * DAT_800695dc; - dword_80069CA0 = fStack276 + flt_80051B30 * dword_80069CA0; - DAT_800695d8 = flt_80051B30 * (fStack284 + DAT_800695d8); - } while (iVar14 < clock_timer); - } - DAT_800695d8 = fStack284 + DAT_800695d8; - DAT_800695dc = fStack280 + flt_80051B30 * DAT_800695dc; - dword_80069CA0 = fStack276 + flt_80051B30 * dword_80069CA0; - } - lVar13 = 0; - DAT_800695c8 = DAT_800695d8 * flt_80051B34; - DAT_800695cc = DAT_800695dc * flt_80051B34; - dword_80069C90 = dword_80069CA0 * flt_80051B34; - fStack284 = DAT_800695e8 + DAT_800695c8; - fStack280 = (DAT_800695ec + DAT_800695cc) - 10.00000000; - fStack276 = DAT_800695f0 + dword_80069C90; - fStack24 = fStack24 + fStack284; - fStack12 = fStack12 + DAT_800695e8; - fStack16 = fStack16 + fStack276; - fStack8 = fStack8 + DAT_800695ec + 52.50000000; - fStack20 = fStack20 + fStack280; - fStack4 = fStack4 + DAT_800695f0; - proc_7F059694((float *)(float (*) [4] [4])afStack104,fStack280,fStack276,fStack12,fStack8, - fStack4,fStack24,fStack20,fStack16,(float)fStack36); - paafStack168 = (float (*) [4] [4])afStack104; - proc_7F0BD714((int)*(short *)(*(int *)(objinstance + 8) + 0xe) << 6); - paafStack152 = paafVar2; - subcalcmatrices((float **)&paafStack168,(uint)objinstance,extraout_a2_lo_02,extraout_a3_lo_02); - uVar6 = extraout_a2_lo_03; - puVar7 = ptrobjinstance; - if (ptrobjinstance != NULL) { - paafVar2 = (float (*) [4] [4]) - proc_7F06C660((int)objinstance,*(ushort **)(ptrobjinstance + 0x1c),0); - paafStack168 = paafVar2; - if (*(int *)(ptrobjinstance + 0x1c) == - *(int *)(*(int *)(*(int *)(objinstance + 8) + 8) + 0x14)) { - proc_7F058688(flt_80051B38,extraout_a0,(float *)(float (*) [4] [4])afStack240); - proc_7F058068((float *)paafStack168,(float *)(float (*) [4] [4])afStack240); - iVar14 = *(int *)(ptrobjinstance + 8); - paafStack168 = (float (*) [4] [4])afStack240; - } - else { - iVar14 = *(int *)(ptrobjinstance + 8); - } - proc_7F0BD714((int)*(short *)(iVar14 + 0xe) << 6); - paafStack152 = paafVar2; - instcalcmatrices((float **)&paafStack168,(uint)ptrobjinstance,extraout_a2_lo_04, - extraout_a3_lo_03); - uVar6 = extraout_a2_lo_05; - puVar7 = extraout_a3_lo_04; - } - uStack120 = 7; - uStack164 = 1; - uStack160 = 3; - subdraw((int)&paafStack168,(uint)objinstance,uVar6,puVar7); - if (ptrobjinstance != NULL) { - subdraw((int)&paafStack168,(uint)ptrobjinstance,extraout_a2_lo_06,ptrobjinstance); - } - puVar1 = puStack156; - set_80036084(0); - iVar14 = 0; - if (0 < *(short *)(*(int *)(objinstance + 8) + 0xe)) { - iVar12 = *(int *)(objinstance + 0xc); - while( true ) { - proc_7F058020((float (*) [4] [4])(iVar12 + iVar14),(float (*) [4])afStack240); - proc_7F058C9C((int)(float (*) [4])afStack240, - (uint *)(*(int *)(objinstance + 0xc) + (int)lVar13 * 0x40)); - lVar13 = (longlong)((int)lVar13 + 1); - iVar14 += 0x40; - if (*(short *)(*(int *)(objinstance + 8) + 0xe) <= lVar13) break; - iVar12 = *(int *)(objinstance + 0xc); - } - } - if (ptrobjinstance != NULL) { - lVar13 = 0; - iVar14 = 0; - if (0 < *(short *)(*(int *)(ptrobjinstance + 8) + 0xe)) { - iVar12 = *(int *)(ptrobjinstance + 0xc); - while( true ) { - proc_7F058020((float (*) [4] [4])(iVar12 + iVar14),(float (*) [4])afStack240); - proc_7F058C9C((int)(float (*) [4])afStack240, - (uint *)(*(int *)(ptrobjinstance + 0xc) + (int)lVar13 * 0x40)); - lVar13 = (longlong)((int)lVar13 + 1); - iVar14 += 0x40; - if (*(short *)(*(int *)(ptrobjinstance + 8) + 0xe) <= lVar13) break; - iVar12 = *(int *)(ptrobjinstance + 0xc); - } - } - } - *puVar1 = 0xed000000; - puVar1[1] = 0x6e0528; - puVar1[2] = 0xe7000000; - puVar1[3] = 0; - puVar1[4] = 0xba001402; - puVar1[5] = 0; - puVar1[7] = 0xc0; - puVar1[6] = 0xba000602; - puVar1[8] = 0xba001301; - puVar1[9] = 0; - puVar1[10] = 0xb9000002; - puVar1[0xb] = 0; - puVar1[0xc] = 0xba001001; - puVar1[0xd] = 0; - puVar1[0xf] = 0x2000; - puVar1[0xe] = 0xba000c02; - puVar1[0x10] = 0xba000903; - puVar1[0x11] = 0xc00; - puVar1[0x12] = 0xba000e02; - puVar1[0x13] = 0; - puVar1[0x15] = 0x504340; - puVar1[0x14] = 0xb900031d; - puVar1[0x16] = 0xfcffffff; - puVar1[0x17] = 0xfffdf6fb; - puVar1[0x18] = 0xfa000000; - fVar16 = fStack268 * 255.00000000; - puVar15 = puVar1 + 0x1e; - puVar1[0x19] = 0xffU - (int)fVar16 & 0xff; - puVar1[0x1b] = 0; - puVar1[0x1a] = 0xf66e0528; - puVar1[0x1d] = 0; - puVar1[0x1c] = 0xe7000000; - puVar1[0x1f] = 0x40; - *puVar15 = 0xba000602; - puVar1[0x21] = 0x80000; - puVar1[0x20] = 0xba001301; - puVar1[0x23] = 0x10000; - puVar1[0x22] = 0xba001001; - microcode_constructor(puVar1 + 0x24); - if (full_actor_intro == FALSE) { - pbVar3 = get_textptr_for_textID(intro_char_table[do_not_play_intro_movie].text1); - proc_7F0AE98C(&iStack256,&iStack252,pbVar3,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - iVar14 = iStack252; - if (iStack252 < 0) { - iVar14 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar14 >> 1); - iStack248 = 0x6c; - puVar1 = microcode_constructor_related_to_menus - (puVar15,(longlong)iStack244,0x6c,(longlong)(iStack244 + iStack252 + 1), - iStack256 + 0x6d,0); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puVar15 = (undefined4 *)(int)sVar5; - if (false) { - fVar17 = ROUND(fVar16); - } - else { - fVar17 = FLOOR(fVar16); - } - uVar18 = (uint)fVar17; - if (true) { - if ((int)uVar18 < 0) goto LAB_7f01a0d0; - } - else { - if (false) { - fVar17 = ROUND(fVar16 - 2147483648.00000000); - } - else { - fVar17 = FLOOR(fVar16 - 2147483648.00000000); - } - if (false) { -LAB_7f01a0d0: - uVar18 = 0xffffffff; - } - else { - uVar18 = (int)fVar17 | 0x80000000; - } - } - en_text_write_stuff(puVar1,&iStack244,&iStack248,pbVar3,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar18 | 0xffffff00,(int)sVar4,(int)sVar5,0, - 0); - } - if (false) { - fVar17 = ROUND(fVar16); - } - else { - fVar17 = FLOOR(fVar16); - } - uVar18 = (uint)fVar17; - if (true) { - if (-1 < (int)uVar18) goto LAB_7f01a1b0; - } - else { - if (false) { - fVar16 = ROUND(fVar16 - 2147483648.00000000); - } - else { - fVar16 = FLOOR(fVar16 - 2147483648.00000000); - } - if (true) { - uVar18 = (int)fVar16 | 0x80000000; - goto LAB_7f01a1b0; - } - } - uVar18 = 0xffffffff; -LAB_7f01a1b0: - pbVar3 = get_textptr_for_textID(intro_char_table[do_not_play_intro_movie].text2); - proc_7F0AE98C(&iStack256,&iStack252,pbVar3,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - iVar14 = iStack252; - if (iStack252 < 0) { - iVar14 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar14 >> 1); - iStack248 = 0x98; - puVar1 = microcode_constructor_related_to_menus - (puVar15,(longlong)iStack244,0x98,(longlong)(iStack244 + iStack252 + 1), - iStack256 + 0x99,0); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puVar15 = (undefined4 *)(int)sVar5; - en_text_write_stuff(puVar1,&iStack244,&iStack248,pbVar3,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar18 | 0xffffff00,(int)sVar4,(int)sVar5,0,0); - pbVar3 = get_textptr_for_textID(intro_char_table[do_not_play_intro_movie].text3); - proc_7F0AE98C(&iStack256,&iStack252,pbVar3,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - iVar14 = iStack252; - if (iStack252 < 0) { - iVar14 = iStack252 + 1; - } - iStack244 = 0x13b - (iVar14 >> 1); - iStack248 = 0xae; - puVar1 = microcode_constructor_related_to_menus - (puVar15,(longlong)iStack244,0xae,(longlong)(iStack244 + iStack252 + 1), - iStack256 + 0xaf,0); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - en_text_write_stuff(puVar1,&iStack244,&iStack248,pbVar3,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar18 | 0xffffff00,(int)sVar4,(int)sVar5,0,0); - return; -} - - - -void init_menu19_spectrum(void) - -{ - u32 uVar1; - byte bVar2; - - bVar2 = 0; - uVar1 = get_controller_buttons_held('\x02',L_CBUTTONS); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_held('\x02',R_CBUTTONS); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_held('\x02',U_CBUTTONS); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_held('\x02',D_CBUTTONS); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_held('\x02',L_JPAD); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_held('\x02',R_JPAD); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_held('\x02',U_JPAD); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_held('\x02',D_JPAD); - if (uVar1 != 0) { - bVar2 = 7; - } - } - else { - bVar2 = 6; - } - } - else { - bVar2 = 5; - } - } - else { - bVar2 = 4; - } - } - else { - bVar2 = 3; - } - } - else { - bVar2 = 2; - } - } - else { - bVar2 = 1; - } - } - init_spectrum_game(bVar2); - return; -} - - - -void update_menu19_spectrum(void) - -{ - return; -} - - - -void interface_menu19_spectrum(void) - -{ - setvideo_far(60.00000000); - video_related_21((f32)menu19_aspect); - set_page_height(100.00000000,(f32)menu19_pageheight); - set_video2_settings_offset_24(0); - run_spectrum_game(); - return; -} - - - -void constructor_menu19_spectrum(Gfx *param_1) - -{ - undefined4 *puVar1; - - puVar1 = insert_imageDL(param_1); - *puVar1 = 0xba001402; - puVar1[5] = 0x204; - puVar1[4] = 0xb6000000; - puVar1[7] = 0xfffcf87c; - puVar1[2] = 0xb900031d; - puVar1[3] = 0x552048; - puVar1[6] = 0xfcffffff; - puVar1[8] = 0xba000c02; - puVar1[1] = 0; - puVar1[9] = 0; - puVar1[10] = 0xfd500000; - puVar1[0xb] = 0x8002baf0; - puVar1[0xd] = 0x7000000; - puVar1[0xc] = 0xf5000300; - puVar1[0xe] = 0xe6000000; - puVar1[0xf] = 0; - puVar1[0x10] = 0xf0000ff0; - puVar1[0x11] = 0x701cff0; - puVar1[0x12] = 0xe7000000; - puVar1[0x13] = 0; - puVar1[0x15] = 0x8000; - puVar1[0x14] = 0xba000e02; - spectrum_draw_screen(puVar1 + 0x16); - return; -} - - - -// WARNING: Instruction at (ram,0x7f01a5e8) overlaps instruction at (ram,0x7f01a5e4) -// - -void set_menu_to_mode(MENU param_1,u32 param_2) - -{ - if ((param_1 == MENU_RUN_STAGE) || (param_1 == MENU_SPECTRUM_EMU)) { - is_emulating_spectrum = TRUE; - } - if (param_2 == 0) { - maybe_prev_menu = param_1; - return; - } - menu_update = param_1; - return; -} - - - -MENU get_currentmenu(void) - -{ - return current_menu; -} - - - -void menu_init(undefined8 param_1,undefined8 param_2) - -{ - MENU MVar1; - u8 *puVar2; - int iVar3; - - if (current_menu == MENU_SWITCH_SCREENS) { - if (spectrum_related_flag == FALSE) { - if ((is_emulating_spectrum != FALSE) && - (puVar2 = get_video_settings2_frameb(), puVar2 == cfb_16_a)) { - screen_size = SCREEN_SIZE_320x240; - is_emulating_spectrum = FALSE; - } - } - else { - puVar2 = 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(320,0xf0); - set_video2_settings_offset_18_1A(320,0xf0); - set_cur_player_screen_size(320,0xf0); - set_video2_width_height(320,0xf0); - set_cur_player_viewport_size(0,0); - set_video2_ulx_uly(0,0); - } - else { - puVar2 = get_video_settings2_frameb(); - if (puVar2 == cfb_16_b) { - set_video_settings2_frameb(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); - } - 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(); - 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 < (int)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: - 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(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; -} - - - -void menu_jump_constructor_handler(Gfx *DL) - -{ - if (true) { - switch(current_menu) { - 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_eyeintro(DL); - break; - case MENU_GOLDENEYE_LOGO: - constructor_menu04_goldeneyelogo(DL); - break; - case MENU_FILE_SELECT: - constructor_menu05_filesel(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; -} - - - -void proc_7F01B0E0(ushort *param_1,byte *param_2) - -{ - byte bVar1; - byte bVar2; - uint uVar3; - int iVar4; - ushort *puVar5; - - puVar5 = param_1 + 5; - iVar4 = (uint)*param_1 * (uint)param_1[1]; - bVar1 = *(byte *)puVar5; - while( true ) { - bVar2 = *(byte *)((int)puVar5 + 1); - puVar5 = puVar5 + 1; - uVar3 = (uint)bVar1; - iVar4 -= uVar3; - do { - uVar3 -= 1; - *param_2 = bVar2; - param_2 = param_2 + 1; - } while (0 < (int)uVar3); - if (iVar4 < 1) break; - bVar1 = *(byte *)puVar5; - } - return; -} - - - -void proc_7F01B134(ushort *param_1,ushort *param_2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - uint uVar4; - int iVar5; - ushort *puVar6; - - iVar5 = (uint)*param_1 * (uint)param_1[1]; - bVar1 = *(byte *)(param_1 + 6); - puVar6 = param_1 + 5; - while( true ) { - bVar2 = *(byte *)((int)puVar6 + 3); - bVar3 = *(byte *)((int)puVar6 + 1); - uVar4 = (uint)*(byte *)puVar6; - iVar5 -= uVar4; - do { - uVar4 -= 1; - *param_2 = (ushort)(((int)(uint)bVar2 >> 3) << 0xb) | - (ushort)(((int)(uint)bVar1 >> 3) << 6) | - (ushort)(((int)(uint)bVar3 >> 3) << 1) | 1; - param_2 = param_2 + 1; - } while (0 < (int)uVar4); - if (iVar5 < 1) break; - bVar1 = *(byte *)(puVar6 + 3); - puVar6 = puVar6 + 2; - } - return; -} - - - -void proc_7F01B1C8(ushort *param_1,byte *param_2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - uint uVar4; - int iVar5; - ushort *puVar6; - - puVar6 = param_1 + 5; - iVar5 = (uint)*param_1 * (uint)param_1[1]; - bVar1 = *(byte *)puVar6; - while( true ) { - bVar2 = *(byte *)((int)puVar6 + 1); - bVar3 = *(byte *)(puVar6 + 1); - uVar4 = (uint)bVar1; - iVar5 -= uVar4; - bVar1 = *(byte *)((int)puVar6 + 3); - puVar6 = puVar6 + 2; - do { - uVar4 -= 1; - *param_2 = bVar1; - param_2[1] = bVar3; - param_2[2] = bVar2; - param_2[3] = 0xff; - param_2 = param_2 + 4; - } while (0 < (int)uVar4); - if (iVar5 < 1) break; - bVar1 = *(byte *)puVar6; - } - return; -} - - - -undefined4 * -proc_7F01B240(undefined4 *param_1,int param_2,longlong param_3,int *param_4,int *param_5) - -{ - float fVar1; - float fVar2; - int iVar3; - int iVar4; - int iVar5; - float fVar6; - uint uVar7; - uint uVar8; - uint uVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - - fVar2 = flt_80051CF0; - flt_8002BB00 = (float)*param_4; - flt_8002BB04 = (float)param_4[1]; - flt_8002BB0C = (float)*param_5; - flt_8002BB10 = (float)param_5[1]; - flt_8002BB14 = (float)param_5[2]; - flt_8002BB08 = (float)param_4[2]; - fVar12 = flt_8002BB10 - flt_8002BB04; - fVar13 = flt_8002BB14 - flt_8002BB08; - fVar11 = flt_8002BB0C - flt_8002BB00; - iVar5 = 1; - iVar3 = 0; - do { - iVar4 = iVar5; - fVar10 = (float)iVar3; - *param_1 = 0xfd900000; - param_1[1] = param_2; - param_1[3] = 0x7080200; - param_1[2] = 0xf5900000; - param_1[4] = 0xe6000000; - param_1[5] = 0; - param_1[7] = 0x70db026; - param_1[6] = 0xf3000000; - param_1[9] = 0; - param_1[8] = 0xe7000000; - param_1[0xb] = 0x80200; - param_1[10] = 0xf5886e00; - param_1[0xc] = 0xf2000000; - param_1[0xd] = 0x6dc000; - fVar6 = (fVar11 * fVar10) / fVar2 + flt_8002BB00; - param_1[0xe] = 0xfa000000; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar7 = (uint)fVar1; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b454; - uVar7 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar7 < 0) { -LAB_7f01b454: - uVar7 = 0xffffffff; - } - } - fVar6 = flt_8002BB04 + (fVar12 * fVar10) / fVar2; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar8 = (uint)fVar1; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b4ec; - uVar8 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar8 < 0) { -LAB_7f01b4ec: - uVar8 = 0xffffffff; - } - } - fVar6 = flt_8002BB08 + (fVar13 * fVar10) / fVar2; - if (false) { - fVar10 = ROUND(fVar6); - } - else { - fVar10 = FLOOR(fVar6); - } - uVar9 = (uint)fVar10; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b588; - uVar9 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar9 < 0) { -LAB_7f01b588: - uVar9 = 0xffffffff; - } - } - param_1[0xf] = uVar7 << 0x18 | (uVar8 & 0xff) << 0x10 | (uVar9 & 0xff) << 8 | 0xff; - if (param_3 < 0) { - param_1[0x11] = (iVar3 + 0x10U & 0x3ff) << 2; - param_1[0x10] = (iVar3 + 0x11) * 4 - 1U & 0xfff | 0xe46df000; - param_1[0x13] = (uint)param_3 * -0x200000; - param_1[0x12] = 0xb4000000; - param_1[0x15] = 0x4000400; - param_1[0x14] = 0xb3000000; - } - else { - param_1[0x10] = (iVar3 + 0x11) * 4 - 1U & 0xfff | 0xe46df000; - param_1[0x11] = ((uint)param_3 & 0x3ff) << 0xe | (iVar3 + 0x10) * 4 & 0xfffU; - param_1[0x13] = 0; - param_1[0x12] = 0xb4000000; - param_1[0x15] = 0x4000400; - param_1[0x14] = 0xb3000000; - } - param_1 = param_1 + 0x16; - iVar5 = iVar4 + 1; - param_2 += 0x1b8; - iVar3 = iVar4; - if (299 < iVar5) { - return param_1; - } - } while( true ); -} - - - -undefined4 * proc_7F01B6E0(undefined4 *param_1,int param_2,int param_3) - -{ - float fVar1; - int iVar2; - int iVar3; - int iVar4; - float fVar5; - float fVar6; - uint uVar7; - uint uVar8; - uint uVar9; - - dword_8002BB18 = (float)param_3; - iVar4 = 1; - iVar2 = 0; - dword_8002BB24 = dword_8002BB18; - dword_8002BB28 = dword_8002BB18; - dword_8002BB2C = dword_8002BB18; - do { - iVar3 = iVar4; - fVar5 = (float)iVar2; - *param_1 = 0xfd100000; - param_1[1] = param_2; - param_1[3] = 0x7080200; - param_1[2] = 0xf5100000; - param_1[4] = 0xe6000000; - param_1[5] = 0; - param_1[7] = 0x713f01a; - param_1[6] = 0xf3000000; - param_1[9] = 0; - param_1[8] = 0xe7000000; - param_1[0xb] = 0x80200; - param_1[10] = 0xf510a000; - param_1[0xc] = 0xf2000000; - param_1[0xd] = 0x4fc000; - fVar6 = ((dword_8002BB18 - dword_8002BB18) * fVar5) / 217.00000000 + dword_8002BB18; - param_1[0xe] = 0xfa000000; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar7 = (uint)fVar1; - param_2 += 0x280; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b8cc; - uVar7 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar7 < 0) { -LAB_7f01b8cc: - uVar7 = 0xffffffff; - } - } - fVar6 = dword_8002BB18 + ((dword_8002BB18 - dword_8002BB18) * fVar5) / 217.00000000; - if (false) { - fVar1 = ROUND(fVar6); - } - else { - fVar1 = FLOOR(fVar6); - } - uVar8 = (uint)fVar1; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01b964; - uVar8 = (int)fVar6 | 0x80000000; - } - else { - if ((int)uVar8 < 0) { -LAB_7f01b964: - uVar8 = 0xffffffff; - } - } - fVar5 = dword_8002BB18 + ((dword_8002BB18 - dword_8002BB18) * fVar5) / 217.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar9 = (uint)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f01ba00; - uVar9 = (int)fVar5 | 0x80000000; - } - else { - if ((int)uVar9 < 0) { -LAB_7f01ba00: - uVar9 = 0xffffffff; - } - } - param_1[0xf] = uVar7 << 0x18 | (uVar8 & 0xff) << 0x10 | (uVar9 & 0xff) << 8 | 0xff; - param_1[0x11] = (iVar2 + 0xcU & 0x3ff) << 2; - param_1[0x10] = (iVar2 + 0xd) * 4 - 1U & 0xfff | 0xe44ff000; - iVar4 = iVar3 + 1; - param_1[0x13] = 0; - param_1[0x12] = 0xb4000000; - param_1[0x15] = 0x4000400; - param_1[0x14] = 0xb3000000; - param_1 = param_1 + 0x16; - iVar2 = iVar3; - if (0xd9 < iVar4) { - dword_8002BB1C = dword_8002BB18; - dword_8002BB20 = dword_8002BB18; - return param_1; - } - } while( true ); -} - - - -void proc_7F01BAE0(short *param_1,int param_2) - -{ - float fVar1; - short sVar2; - short *psVar3; - int iVar4; - short sVar5; - float fVar6; - float fVar7; - undefined uVar8; - float __x; - - fVar1 = flt_80051D00; - iVar4 = 0; - if (-1 < param_2) { - do { - __x = ((float)iVar4 * fVar1) / (float)param_2; - fVar6 = sinf(__x); - fVar7 = cosf(__x); - sVar5 = (short)(int)(fVar6 * 64.00000000); - *param_1 = sVar5; - param_1[2] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0xff; - *(undefined *)((int)param_1 + 0xd) = 0xff; - *(undefined *)(param_1 + 7) = 0xff; - sVar2 = (short)(int)(fVar7 * -64.00000000); - param_1[1] = sVar2; - fVar6 = cosf(__x); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01bc50; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01bc50: - uVar8 = 0xff; - } - } - *(undefined *)(param_1 + 6) = uVar8; - fVar6 = cosf(__x); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01bce8; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01bce8: - uVar8 = 0xff; - } - } - *(undefined *)((int)param_1 + 0xd) = uVar8; - fVar6 = cosf(__x); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01bd80; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01bd80: - uVar8 = 0xff; - } - } - *(undefined *)(param_1 + 7) = uVar8; - *(undefined *)((int)param_1 + 0xf) = 0; - psVar3 = param_1 + 8; - if ((iVar4 != 0) && (iVar4 < param_2)) { - *psVar3 = -sVar5; - param_1[9] = sVar2; - param_1[10] = 0; - param_1[0xb] = 0; - param_1[0xc] = 0; - param_1[0xd] = 0; - *(undefined *)(param_1 + 0xe) = 0xff; - *(undefined *)((int)param_1 + 0x1d) = 0xff; - *(undefined *)(param_1 + 0xf) = 0xff; - fVar6 = cosf(__x); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01be54; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01be54: - uVar8 = 0xff; - } - } - *(undefined *)(param_1 + 0xe) = uVar8; - fVar6 = cosf(__x); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01beec; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01beec: - uVar8 = 0xff; - } - } - *(undefined *)((int)param_1 + 0x1d) = uVar8; - fVar6 = cosf(__x); - fVar6 = 143.00000000 - fVar6 * -111.00000000; - if (false) { - fVar7 = ROUND(fVar6); - } - else { - fVar7 = FLOOR(fVar6); - } - uVar8 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar6 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar6 = FLOOR(fVar6 - 2147483648.00000000); - } - if (false) goto LAB_7f01bf84; - uVar8 = (undefined)(int)fVar6; - } - else { - if ((int)fVar7 < 0) { -LAB_7f01bf84: - uVar8 = 0xff; - } - } - *(undefined *)(param_1 + 0xf) = uVar8; - *(undefined *)((int)param_1 + 0x1f) = 0; - psVar3 = param_1 + 0x10; - } - iVar4 += 2; - param_1 = psVar3; - } while (iVar4 <= param_2); - } - return; -} - - - -uint * proc_7F01BFF8(uint *param_1,uint param_2,int param_3) - -{ - bool bVar1; - int iVar2; - uint *puVar3; - uint uVar4; - - bVar1 = param_3 < 0x11; - while( true ) { - if (bVar1) { - uVar4 = SEXT14((char)param_3); - } - else { - uVar4 = 0x10; - } - param_1[1] = param_2; - *param_1 = (uVar4 - 1 & 0xf) << 0x14 | 0x4000000 | (uVar4 & 0xfff) << 4; - param_2 += 0xe0; - iVar2 = (int)((uVar4 - 3) * 0x1000000) >> 0x18; - param_1 = param_1 + 2; - do { - puVar3 = param_1; - uVar4 = iVar2 * 10; - *puVar3 = 0xbf000000; - param_1 = puVar3 + 2; - iVar2 = (iVar2 + -1) * 0x1000000 >> 0x18; - puVar3[1] = (uVar4 & 0xff) << 0x10 | (uVar4 + 10 & 0xff) << 8 | uVar4 + 0x14 & 0xff; - } while (-1 < iVar2); - param_3 += -0xe; - if (param_3 < 3) break; - bVar1 = param_3 < 0x11; - } - *param_1 = 0xb8000000; - puVar3[3] = 0; - return puVar3 + 4; -} - - - -undefined4 * insert_imageDL(Gfx *param_1) - -{ - short sVar2; - u8 *virtualAddress; - u32 uVar1; - short sVar3; - - *(undefined4 *)((int)param_1 + 4) = 0x300000; - *(undefined4 *)param_1 = 0xba001402; - sVar2 = get_video2_settings_txtClipW(); - *(uint *)(param_1 + 1) = (int)sVar2 - 1U & 0xfff | 0xff100000; - virtualAddress = get_video_settings2_frameb(); - uVar1 = osVirtualToPhysical(virtualAddress); - *(u32 *)((int)param_1 + 0xc) = uVar1; - *(undefined4 *)(param_1 + 2) = 0xf7000000; - *(undefined4 *)((int)param_1 + 0x14) = 0x10001; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - *(uint *)(param_1 + 3) = - ((int)sVar3 - 1U & 0x3ff) << 2 | 0xf6000000 | ((int)sVar2 - 1U & 0x3ff) << 0xe; - *(undefined4 *)((int)param_1 + 0x1c) = 0; - return (undefined4 *)(param_1 + 4); -} - - - -undefined4 * proc_7F01C1A4(undefined4 *param_1) - -{ - u32 uVar1; - - *param_1 = 0x1030040; - uVar1 = osVirtualToPhysical(matrix_buffer_gunbarrel_0); - param_1[1] = uVar1; - param_1[2] = 0x1020040; - uVar1 = osVirtualToPhysical((void *)(DAT_8002a7d0 * 0x40 + matrix_buffer_rarelogo_2)); - param_1[3] = uVar1; - param_1[5] = 0; - param_1[4] = 0xe7000000; - param_1[6] = 0xba001402; - param_1[7] = 0; - param_1[8] = 0xb900031d; - param_1[9] = 0x552048; - param_1[0xb] = 0x204; - param_1[10] = 0xb7000000; - return param_1 + 0xc; -} - - - -ulonglong die_blood_image_routine(void) - -{ - byte *in_v0_lo; - byte *pbVar1; - longlong in_a0; - char cStack1; - - if (in_a0 == 0) { - pPlayer->bloodcnt = -0x7ffd44d0; - } - else { - if (in_a0 == 1) { - in_v0_lo = (byte *)pPlayer->field_11AC; - if (in_v0_lo < &dword_8002C50C) { - *(byte **)&pPlayer->bloodcnt = in_v0_lo; - } - } - } - pPlayer->field_11B8 = 1 - pPlayer->field_11B8; - proc_7F0BD714(0x1e00); - *(byte **)(&pPlayer->field_11B0 + pPlayer->field_11B8) = in_v0_lo; - proc_7F0BD714(0x1e00); - pbVar1 = decrypt_bleeding_animation_data((char *)pPlayer->bloodcnt,0x50,0x60,in_v0_lo,&cStack1); - *(byte **)&pPlayer->field_11AC = pbVar1; - proc_7F01D16C(in_v0_lo,0x50,0x60,(undefined *)(&pPlayer->field_11B0)[pPlayer->field_11B8]); - proc_7F01D02C((&pPlayer->field_11B0)[pPlayer->field_11B8],0x50, - (&pPlayer->field_11B0)[pPlayer->field_11B8]); - proc_7F01CEEC((&pPlayer->field_11B0)[pPlayer->field_11B8],0x50, - (&pPlayer->field_11B0)[pPlayer->field_11B8]); - proc_7F01CC94((byte *)(&pPlayer->field_11B0)[pPlayer->field_11B8],0x1e00, - (byte *)(&pPlayer->field_11B0)[pPlayer->field_11B8]); - return (ulonglong)((undefined *)pPlayer->field_11AC < &dword_8002C50C) ^ 1; -} - - - -undefined4 * proc_7F01C400(undefined4 *param_1) - -{ - undefined4 *puVar1; - short sVar2; - short sVar3; - - *param_1 = 0xba000e02; - param_1[1] = 0; - param_1[3] = 0x2000; - param_1[2] = 0xba000c02; - puVar1 = proc_7F01C1A4(param_1 + 4); - *puVar1 = 0xbb000001; - puVar1[1] = 0x80008000; - puVar1[2] = 0xb900031d; - puVar1[3] = 0x504340; - puVar1[4] = 0xfc119623; - puVar1[5] = 0xff2fffff; - puVar1[6] = 0xba000602; - puVar1[7] = 0; - puVar1[8] = 0xfa000000; - puVar1[9] = 0x960000b4; - puVar1[10] = 0xba001301; - puVar1[0xb] = 0; - puVar1[0xc] = 0xfd900000; - puVar1[0xd] = (&pPlayer->field_11B0)[pPlayer->field_11B8] + -0x80000000; - puVar1[0xe] = 0xf5900000; - puVar1[0x10] = 0xe6000000; - puVar1[0x12] = 0xf3000000; - puVar1[0x13] = 0x777f156; - puVar1[0xf] = 0x7080200; - puVar1[0x14] = 0xe7000000; - puVar1[0x17] = 0x80200; - puVar1[0x16] = 0xf5800c00; - puVar1[0x18] = 0xf2000000; - puVar1[0x19] = 0x17c13c; - puVar1[0x15] = 0; - puVar1[0x11] = 0; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1[0x1a] = (int)sVar3 * 4 - 1U & 0xfff | 0xe4000000 | ((int)sVar2 * 4 - 1U & 0xfff) << 0xc; - puVar1[0x1b] = 0; - puVar1[0x1c] = 0xb4000000; - puVar1[0x1d] = 0; - puVar1[0x1e] = 0xb3000000; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - if (sVar3 == 0) { - trap(0x1c00); - } - if ((sVar3 == -1) && (false)) { - trap(0x1800); - } - puVar1[0x1f] = 0x14000 / (int)sVar3 & 0xffffU | 0x18000 / (int)sVar2 << 0x10; - if (sVar2 == 0) { - trap(0x1c00); - } - if ((sVar2 == -1) && (false)) { - trap(0x1800); - } - return puVar1 + 0x20; -} - - - -undefined4 * proc_7F01C670(undefined4 *param_1) - -{ - short sVar1; - short sVar2; - short sVar3; - short sVar4; - int iVar5; - - *param_1 = 0xba000e02; - param_1[1] = 0; - param_1[2] = 0xba000c02; - param_1[3] = 0x2000; - param_1[4] = 0xba001402; - param_1[5] = 0; - param_1[7] = 0x204; - param_1[6] = 0xb7000000; - param_1[8] = 0xbb000001; - param_1[9] = 0x80008000; - param_1[10] = 0xb900031d; - param_1[0xb] = 0x504340; - param_1[0xd] = 0xff2fffff; - param_1[0xc] = 0xfc119623; - param_1[0xe] = 0xba000602; - param_1[0xf] = 0; - param_1[0x10] = 0xfa000000; - param_1[0x11] = 0x960000b4; - param_1[0x12] = 0xba001301; - param_1[0x13] = 0; - param_1[0x14] = 0xfd900000; - param_1[0x15] = (&pPlayer->field_11B0)[pPlayer->field_11B8] + -0x80000000; - param_1[0x16] = 0xf5900000; - param_1[0x17] = 0x7080200; - param_1[0x18] = 0xe6000000; - param_1[0x19] = 0; - param_1[0x1a] = 0xf3000000; - param_1[0x1b] = 0x777f156; - param_1[0x1c] = 0xe7000000; - param_1[0x1d] = 0; - param_1[0x1f] = 0x80200; - param_1[0x1e] = 0xf5800c00; - param_1[0x20] = 0xf2000000; - param_1[0x21] = 0x17c13c; - sVar1 = get_video2_settings_width(); - sVar2 = get_video2_settings_ulx(); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - param_1[0x22] = - ((int)sVar4 + (int)sVar3) * 4 - 1U & 0xfff | 0xe4000000 | - (((int)sVar2 + (int)sVar1) * 4 - 1U & 0xfff) << 0xc; - sVar1 = get_video2_settings_ulx(); - sVar2 = get_video2_settings_uly(); - param_1[0x23] = ((int)sVar2 & 0x3ffU) << 2 | ((int)sVar1 & 0x3ffU) << 0xe; - param_1[0x24] = 0xb4000000; - param_1[0x25] = 0; - param_1[0x26] = 0xb3000000; - sVar1 = get_video2_settings_width(); - iVar5 = (int)sVar1; - sVar1 = get_video2_settings_height(); - if (sVar1 == 0) { - trap(0x1c00); - } - if ((sVar1 == -1) && (false)) { - trap(0x1800); - } - param_1[0x27] = 0x14000 / (int)sVar1 & 0xffffU | 0x18000 / iVar5 << 0x10; - param_1[0x28] = 0xe7000000; - param_1[0x29] = 0; - if (iVar5 == 0) { - trap(0x1c00); - } - if ((iVar5 == -1) && (false)) { - trap(0x1800); - } - param_1[0x2b] = 0x40; - param_1[0x2a] = 0xba000602; - param_1[0x2d] = 0x80000; - param_1[0x2c] = 0xba001301; - return param_1 + 0x2e; -} - - - -undefined4 * proc_7F01CA18(undefined4 *param_1) - -{ - undefined4 *puVar1; - short sVar2; - short sVar3; - - puVar1 = proc_7F01C1A4(param_1); - *puVar1 = 0xb900031d; - puVar1[1] = 0x504340; - puVar1[2] = 0xfcffffff; - puVar1[3] = 0xfffdf6fb; - puVar1[4] = 0xfa000000; - puVar1[5] = 0x960000b4; - puVar1[6] = 0xba000602; - puVar1[7] = 0; - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1[8] = ((int)sVar3 & 0x3ffU) << 2 | 0xf6000000 | ((int)sVar2 & 0x3ffU) << 0xe; - puVar1[9] = 0; - return puVar1 + 10; -} - - - -byte * decrypt_bleeding_animation_data - (char *param_1,byte param_2,uint param_3,byte *param_4,char *param_5) - -{ - char cVar1; - char cVar2; - char cVar3; - byte bVar5; - uint uVar4; - byte *pbVar6; - byte bVar7; - char cVar8; - byte bVar9; - - cVar1 = *param_1; - param_3 &= 0xff; - *param_5 = cVar1; - bVar5 = param_1[1]; - pbVar6 = (byte *)(param_1 + 1); - while( true ) { - pbVar6 = pbVar6 + 1; - bVar9 = 0xff; - if (bVar5 == 0xff) { - bVar5 = *pbVar6; - bVar7 = 0; - pbVar6 = pbVar6 + 2; - while (bVar5 != 0xff) { - bVar7 += bVar5; - while (bVar5 != 0) { - bVar5 -= 1; - *param_4 = bVar9; - param_4 = param_4 + 1; - } - bVar5 = *pbVar6; - bVar9 ^= 0xff; - pbVar6 = pbVar6 + 1; - } - while (bVar7 < param_2) { - bVar7 += 1; - *param_4 = bVar9; - param_4 = param_4 + 1; - } - param_3 -= 1; - } - else { - cVar8 = cVar1 + (bVar5 & 0x1f); - uVar4 = ((int)(uint)bVar5 >> 5) + 1; - param_3 -= uVar4; - cVar2 = cVar8; - do { - while (cVar3 = param_2 - cVar8, cVar2 != '\0') { - *param_4 = 0xff; - param_4 = param_4 + 1; - cVar2 = cVar2 + -1; - } - while (cVar3 != '\0') { - *param_4 = 0; - param_4 = param_4 + 1; - cVar3 = cVar3 + -1; - } - uVar4 = uVar4 - 1 & 0xff; - cVar2 = cVar8; - } while (uVar4 != 0); - } - param_3 &= 0xff; - if (param_3 == 0) break; - bVar5 = *pbVar6; - pbVar6 = pbVar6; - } - return pbVar6; -} - - - -void proc_7F01CC94(byte *param_1,short param_2,byte *param_3) - -{ - if (param_2 != 0) { - do { - param_2 += -1; - *param_3 = (byte)((int)(uint)param_1[1] >> 4) | *param_1 & 0xf0; - param_3 = param_3 + 1; - param_1 = param_1 + 2; - } while (param_2 != 0); - } - return; -} - - - -void proc_7F01CCEC(int param_1,uint param_2,uint param_3,int param_4,byte param_5) - -{ - int iVar1; - uint uVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - uint uVar14; - - param_3 &= 0xff; - param_2 &= 0xff; - iVar1 = 0; - if (param_3 != 0) { - do { - iVar13 = 0; - if (param_2 != 0) { - iVar4 = iVar1 - (uint)param_5; - iVar6 = param_3 - 1; - iVar7 = iVar1 + (uint)param_5; - do { - uVar2 = 0; - iVar3 = 0; - if (iVar4 < 0) { - iVar12 = 0; - } - else { - iVar12 = iVar4 * 0x10000 >> 0x10; - } - iVar8 = iVar7; - if (iVar6 < iVar7) { - iVar8 = iVar6; - } - if (iVar8 < iVar12) { - uVar14 = 0; - } - else { - iVar8 = iVar13 - (uint)param_5; - iVar10 = param_2 - 1; - iVar11 = iVar13 + (uint)param_5; - do { - if (iVar8 < 0) { - iVar9 = 0; - } - else { - iVar9 = iVar8 * 0x10000 >> 0x10; - } - iVar5 = iVar11; - if (iVar10 < iVar11) { - iVar5 = iVar10; - } - if (iVar9 <= iVar5) { - do { - iVar5 = param_1 + iVar9; - iVar9 = (iVar9 + 1) * 0x10000 >> 0x10; - uVar2 += 1; - iVar3 += (uint)*(byte *)(iVar5 + iVar12 * param_2); - iVar5 = iVar11; - if (iVar10 < iVar11) { - iVar5 = iVar10; - } - } while (iVar9 <= iVar5); - } - iVar12 = (int)(short)((short)iVar12 + 1); - iVar9 = iVar7; - if (iVar6 < iVar7) { - iVar9 = iVar6; - } - } while (iVar12 <= iVar9); - uVar14 = uVar2 >> 1; - } - iVar12 = param_4 + iVar13; - iVar13 = (iVar13 + 1) * 0x10000 >> 0x10; - if (uVar2 == 0) { - trap(0x1c00); - } - *(undefined *)(iVar12 + iVar1 * param_2) = (char)((uVar14 + iVar3) / uVar2); - } while (iVar13 < (int)param_2); - } - iVar1 = (iVar1 + 1) * 0x10000 >> 0x10; - } while (iVar1 < (int)param_3); - } - return; -} - - - -void proc_7F01CEEC(int param_1,int param_2,int param_3) - -{ - byte *pbVar1; - undefined *puVar2; - int iVar3; - byte *pbVar4; - int iVar5; - undefined *puVar6; - - pbVar4 = (byte *)(param_1 + 0x61); - puVar6 = (undefined *)(param_3 + 0x61); - iVar3 = 1; - if (1 < param_2 + -1) { - do { - *puVar6 = (char)((int)((uint)pbVar4[-0x60] + (uint)pbVar4[-1] + (uint)*pbVar4 + - (uint)pbVar4[-0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[-0x5f] + (uint)*pbVar4 + (uint)pbVar4[1] + - (uint)pbVar4[-0x60] + 2) >> 2); - iVar5 = 3; - pbVar1 = pbVar4 + 2; - puVar2 = puVar6 + 2; - do { - puVar6 = puVar2; - pbVar4 = pbVar1; - *puVar6 = (char)((int)((uint)pbVar4[-0x60] + (uint)pbVar4[-1] + (uint)*pbVar4 + - (uint)pbVar4[-0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[-0x5f] + (uint)*pbVar4 + (uint)pbVar4[1] + - (uint)pbVar4[-0x60] + 2) >> 2); - puVar6[2] = (char)((int)((uint)pbVar4[-0x5e] + (uint)pbVar4[1] + (uint)pbVar4[2] + - (uint)pbVar4[-0x5f] + 2) >> 2); - iVar5 += 4; - puVar6[3] = (char)((int)((uint)pbVar4[-0x5d] + (uint)pbVar4[2] + (uint)pbVar4[3] + - (uint)pbVar4[-0x5e] + 2) >> 2); - pbVar1 = pbVar4 + 4; - puVar2 = puVar6 + 4; - } while (iVar5 != 0x5f); - iVar3 += 1; - puVar6 = puVar6 + 6; - pbVar4 = pbVar4 + 6; - } while (iVar3 != param_2 + -1); - } - return; -} - - - -void proc_7F01D02C(int param_1,int param_2,int param_3) - -{ - byte *pbVar1; - undefined *puVar2; - int iVar3; - byte *pbVar4; - int iVar5; - undefined *puVar6; - - pbVar4 = (byte *)(param_1 + 0x61); - puVar6 = (undefined *)(param_3 + 0x61); - iVar3 = 1; - if (1 < param_2 + -1) { - do { - *puVar6 = (char)((int)((uint)pbVar4[0x60] + (uint)pbVar4[1] + (uint)*pbVar4 + - (uint)pbVar4[0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[0x61] + (uint)pbVar4[2] + (uint)pbVar4[1] + - (uint)pbVar4[0x62] + 2) >> 2); - iVar5 = 3; - pbVar1 = pbVar4 + 2; - puVar2 = puVar6 + 2; - do { - puVar6 = puVar2; - pbVar4 = pbVar1; - *puVar6 = (char)((int)((uint)pbVar4[0x60] + (uint)pbVar4[1] + (uint)*pbVar4 + - (uint)pbVar4[0x61] + 2) >> 2); - puVar6[1] = (char)((int)((uint)pbVar4[0x61] + (uint)pbVar4[2] + (uint)pbVar4[1] + - (uint)pbVar4[0x62] + 2) >> 2); - puVar6[2] = (char)((int)((uint)pbVar4[0x62] + (uint)pbVar4[3] + (uint)pbVar4[2] + - (uint)pbVar4[99] + 2) >> 2); - iVar5 += 4; - puVar6[3] = (char)((int)((uint)pbVar4[99] + (uint)pbVar4[4] + (uint)pbVar4[3] + - (uint)pbVar4[100] + 2) >> 2); - pbVar1 = pbVar4 + 4; - puVar2 = puVar6 + 4; - } while (iVar5 != 0x5f); - iVar3 += 1; - puVar6 = puVar6 + 6; - pbVar4 = pbVar4 + 6; - } while (iVar3 != param_2 + -1); - } - return; -} - - - -void proc_7F01D16C(undefined *param_1,int param_2,int param_3,undefined *param_4) - -{ - undefined uVar1; - undefined *puVar2; - undefined *puVar3; - undefined *puVar4; - - puVar3 = param_1 + param_2; - puVar2 = param_1 + param_2 * param_3; - puVar4 = puVar3; - do { - do { - uVar1 = *param_1; - param_1 = param_1 + 1; - *param_4 = uVar1; - puVar3 = puVar3 + 1; - param_4 = param_4 + param_3; - } while (param_1 < puVar4); - param_4 = param_4 + (1 - param_2 * param_3); - puVar4 = puVar3; - } while (param_1 < puVar2); - return; -} - - - -byte * proc_7F01D1C0(byte *param_1,int param_2,int param_3,byte *param_4) - -{ - byte bVar1; - byte bVar2; - byte *pbVar3; - byte *pbVar4; - uint uVar5; - int iVar6; - int iVar7; - byte bVar9; - int iVar8; - - bVar1 = *param_1; - pbVar3 = param_1 + 1; - do { - bVar2 = *pbVar3; - pbVar4 = pbVar3 + 1; - bVar9 = 0xff; - if (bVar2 == 0xff) { - bVar2 = *pbVar4; - iVar6 = 0; - pbVar4 = pbVar3 + 2; - while (bVar2 != 0xff) { - uVar5 = (uint)bVar2; - iVar6 += uVar5; - if (bVar2 != 0) { - do { - uVar5 -= 1; - *param_4 = bVar9; - param_4 = param_4 + 1; - } while (0 < (int)uVar5); - } - bVar2 = *pbVar4; - bVar9 ^= 0xff; - pbVar4 = pbVar4 + 1; - } - while (iVar6 < param_2) { - iVar6 += 1; - *param_4 = bVar9; - param_4 = param_4 + 1; - } - param_3 += -1; - } - else { - iVar7 = ((uint)bVar2 & 0x1f) + (uint)bVar1; - iVar6 = (uint)(bVar2 >> 5) + 1; - param_3 -= iVar6; - do { - iVar8 = iVar7; - if (iVar7 != 0) { - do { - iVar8 += -1; - *param_4 = 0xff; - param_4 = param_4 + 1; - } while (0 < iVar8); - } - iVar8 = param_2 - iVar7; - while (0 < iVar8) { - iVar8 += -1; - *param_4 = 0; - param_4 = param_4 + 1; - } - iVar6 += -1; - } while (0 < iVar6); - } - pbVar3 = pbVar4; - } while (0 < param_3); - return pbVar4; -} - - - -f32 get_007_reaction_speed(void) - -{ - DIFFICULTY DVar1; - f32 fVar2; - - DVar1 = get_current_difficulty(); - fVar2 = slider_007_mode_reaction; - if (DVar1 != DIFFICULTY_007) { - fVar2 = 0.00000000; - } - return fVar2; -} - - - -f32 get_007_health_mod(void) - -{ - DIFFICULTY DVar1; - f32 fVar2; - - DVar1 = get_current_difficulty(); - fVar2 = slider_007_mode_health; - if (DVar1 != DIFFICULTY_007) { - fVar2 = 1.00000000; - } - return fVar2; -} - - - -f32 get_007_damage_mod(void) - -{ - DIFFICULTY DVar1; - f32 fVar2; - - DVar1 = get_current_difficulty(); - fVar2 = slider_007_mode_accuracy; - if (DVar1 != DIFFICULTY_007) { - fVar2 = 1.00000000; - } - return fVar2; -} - - - -f32 get_007_accuracy_mod(void) - -{ - DIFFICULTY DVar1; - f32 fVar2; - - DVar1 = get_current_difficulty(); - fVar2 = slider_007_mode_damage; - if (DVar1 != DIFFICULTY_007) { - fVar2 = 1.00000000; - } - return fVar2; -} - - - -void end_of_mission_briefing(void) - -{ - short sVar1; - int iVar3; - save_file *folder; - ulonglong uVar2; - - if (((-1 < briefingpage) && (selected_difficulty != DIFFICULTY_007)) && - (append_cheat_sp == FALSE)) { - sVar1 = (&solo_target_times_ARRAY_8002b564 - [mission_folder_setup_entries[briefingpage].mission_num].agent_time) - [selected_difficulty]; - iVar3 = getMissiontime(); - unlock_stage_in_folder_on_difficulty - (selected_folder_num, - (longlong)mission_folder_setup_entries[briefingpage].mission_num, - (longlong)selected_difficulty,iVar3 / 0x3c); - iVar3 = getMissiontime(); - if ((longlong)(iVar3 / 0x3c) <= (longlong)sVar1) { - folder = getEEPROMforFoldernum(selected_folder_num); - uVar2 = check_if_cheat_unlocked - (folder,(longlong) - mission_folder_setup_entries[briefingpage].mission_num); - if (uVar2 == 0) { - proc_7F01E760(selected_folder_num, - mission_folder_setup_entries[briefingpage].mission_num); - newcheatunlocked = 1; - return; - } - } - newcheatunlocked = 0; - } - return; -} - - - -void sub_GAME_7F01D500(void) - -{ - get_screen_ratio_settings_for_mpgame_from_folder(selected_folder_num); - return; -} - - - -void deleteCurrentSelectedFolder(void) - -{ - delete_update_eeprom_file(selected_folder_num); - return; -} - - - -void copyCurrentEEPROMtoStack(void) - -{ - copy_eeprom_to_stack_set_folder_num(selected_folder_num); - return; -} - - - -u8 getSelectedFolderBond(void) - -{ - u32 uVar1; - u8 bond; - - uVar1 = removed_would_have_returned_bond_for_folder_num(selected_folder_num); - return (u8)uVar1; -} - - - -void set_selected_folder_num(u32 foldernum) - -{ - selected_folder_num = foldernum; - return; -} - - - -void set_selected_difficulty(DIFFICULTY difficulty) - -{ - if (difficulty != DIFFICULTY_AGENT) { - if (difficulty == DIFFICULTY_SECRET) { - selected_difficulty = DIFFICULTY_SECRET; - return; - } - if (difficulty == DIFFICULTY_00) { - selected_difficulty = DIFFICULTY_00; - return; - } - if (difficulty == DIFFICULTY_007) { - selected_difficulty = DIFFICULTY_007; - return; - } - } - selected_difficulty = DIFFICULTY_AGENT; - return; -} - - - -void set_solo_and_ptr_briefing(LEVELID level) - -{ - gamemode = GAMEMODE_SOLO; - selected_stage = level; - briefingpage = pull_and_display_text_for_folder_a0(level); - return; -} - - - -void proc_7F01D61C(undefined4 *param_1) - -{ - copy_eeprom_from_to(selected_folder_num,(int)param_1); - return; -} - - - -void proc_7F01D644(undefined4 *param_1) - -{ - selected_folder_num_copy = selected_folder_num; - selected_folder_num = 100; - copy_eepromfile_a0_from_a1_to_buffer(100,(save_file *)param_1); - return; -} - - - -void store_favorite_weapon_current_player(u32 right,u32 left) - -{ - u32 uVar1; - - uVar1 = get_cur_playernum(); - (&fav_weapon_player1)[uVar1].right = right; - (&fav_weapon_player1)[uVar1].left = left; - return; -} - - - -undefined4 proc_7F01D6C0(void) - -{ - undefined4 uVar1; - - uVar1 = save_7000C6FC(); - return uVar1; -} - - - -void proc_7F01D6E0(void) - -{ - u32 *puVar1; - u32 *puVar2; - save_file *psVar3; - save_file *psVar4; - undefined auStackX0 [16]; - u32 auStack96 [24]; - - psVar3 = &dword_8002C520; - puVar1 = auStack96; - do { - psVar4 = (save_file *)&psVar3->controller_config; - *puVar1 = psVar3->checksum1; - puVar1[1] = psVar3->checksum2; - puVar1[2] = *(u32 *)&psVar3->completion_bitflags; - psVar3 = psVar4; - puVar1 = puVar1 + 3; - } while (psVar4 != &save_file_8002c580); - puVar1 = auStack96; - psVar3 = &save6; - do { - puVar2 = puVar1 + 3; - psVar3->checksum1 = *puVar1; - psVar3->checksum2 = puVar1[1]; - *(u32 *)&psVar3->completion_bitflags = puVar1[2]; - puVar1 = puVar2; - psVar3 = (save_file *)&psVar3->controller_config; - } while (puVar2 != (u32 *)register0x000000ec); - return; -} - - - -int proc_7F01D758(uint *param_1) - -{ - int iVar1; - - iVar1 = proc_7F01D6C0(); - if (iVar1 != 0) { - proc_7F09B600((byte *)(param_1 + 2),(byte *)(param_1 + 8),param_1); - iVar1 = save_7000C808(0,(u8 *)param_1,0x20); - } - return iVar1; -} - - - -void proc_7F01D7A0(uint *param_1) - -{ - int iVar1; - - if ((((uint *)0x8006991f < param_1) && (param_1 <= save_file_80069aa0.field_0x5d + 2)) && - (iVar1 = proc_7F01D6C0(), iVar1 != 0)) { - proc_7F09B600((byte *)(param_1 + 2),(byte *)(param_1 + 0x18),param_1); - save_7000C808((char)((uint)(((int)(param_1 + 0x1ffe59b8) / 0x60) * 0x60) >> 3) + 4, - (u8 *)param_1,0x60); - } - return; -} - - - -void proc_7F01D840(uint *param_1) - -{ - u32 *puVar1; - u32 *puVar2; - u32 *puVar3; - save_file *psVar4; - save_file *psVar5; - undefined auStackX0 [16]; - u32 auStack96 [24]; - - puVar2 = auStack96; - psVar4 = &save_file_8002c580; - puVar1 = puVar2; - do { - psVar5 = (save_file *)&psVar4->controller_config; - *puVar1 = psVar4->checksum1; - puVar1[1] = psVar4->checksum2; - puVar1[2] = *(u32 *)&psVar4->completion_bitflags; - psVar4 = psVar5; - puVar1 = puVar1 + 3; - puVar3 = param_1; - } while (psVar5 != &save_file_8002c5e0); - do { - puVar1 = puVar2 + 3; - *puVar3 = *puVar2; - puVar3[1] = puVar2[1]; - puVar3[2] = puVar2[2]; - puVar2 = puVar1; - puVar3 = puVar3 + 3; - } while (puVar1 != (u32 *)register0x000000ec); - proc_7F01D7A0(param_1); - return; -} - - - -u32 getEEPROMFoldernum(save_file *eeprom) - -{ - return (u32)((uint)eeprom->completion_bitflags & 7); -} - - - -void setEEPROMtoFoldernum(save_file *eeprom,byte folder) - -{ - byte bVar1; - - bVar1 = eeprom->completion_bitflags & 0xf8; - eeprom->completion_bitflags = bVar1; - eeprom->completion_bitflags = bVar1 | folder & 7; - return; -} - - - -int set_eeprom_flag_0x18(save_file *folder) - -{ - return (int)((uint)folder->completion_bitflags & 0x18) >> 3; -} - - - -void reset_eeprom_flag_0x18(save_file *folder,int value) - -{ - byte foldernum; - - foldernum = folder->completion_bitflags & 0xe7; - folder->completion_bitflags = foldernum; - folder->completion_bitflags = foldernum | (byte)(value << 3) & 0x18; - return; -} - - - -int get_selected_bond(save_file *folder) - -{ - return (int)((uint)folder->completion_bitflags & 0x60) >> 5; -} - - - -void set_selected_bond(save_file *folder,int bond) - -{ - byte bVar1; - - bVar1 = folder->completion_bitflags & 0x9f; - folder->completion_bitflags = bVar1; - folder->completion_bitflags = bVar1 | (byte)(bond << 5) & 0x60; - return; -} - - - -ulonglong check_if_eeprom_flag_set_0x80(save_file *folder) - -{ - return (ulonglong)((folder->completion_bitflags & 0x80) != 0); -} - - - -void toggle_eeprom_flag_set_0x80(save_file *folder,longlong mode) - -{ - if (mode == 0) { - folder->completion_bitflags = folder->completion_bitflags & 0x7f; - return; - } - folder->completion_bitflags = folder->completion_bitflags | 0x80; - return; -} - - - -ulonglong get_eeprom_stage_complete_time_for_difficulty - (save_file *eepromfile,STAGENUM stage,DIFFICULTY difficulty) - -{ - u32 foldernum; - BOOL BVar1; - int iVar2; - uint uVar3; - uint uVar4; - - if (-1 < (int)stage) { - if (0x13 < (int)stage) { - return 0; - } - if ((-1 < difficulty) && (difficulty < 4)) { - if (difficulty == DIFFICULTY_007) { - foldernum = getEEPROMFoldernum(eepromfile); - BVar1 = is007ModeUnlockedinFolder(foldernum); - if (BVar1 != FALSE) { - return 0x3ff; - } - return 0; - } - uVar3 = (difficulty * 0x14 + stage) * 10; - uVar4 = uVar3 & 7; - iVar2 = (int)uVar3 >> 3; - if (uVar4 == 6) { - iVar2 = (int)&eepromfile->checksum1 + iVar2; - return (ulonglong)*(byte *)(iVar2 + 0x13) | - (longlong)(int)(((uint)*(byte *)(iVar2 + 0x12) & 3) << 8); - } - if (uVar4 != 4) { - if (uVar4 == 2) { - iVar2 = (int)&eepromfile->checksum1 + iVar2; - return (longlong) - (int)((int)((uint)*(byte *)(iVar2 + 0x13) & 0xf0) >> 4 | - ((uint)*(byte *)(iVar2 + 0x12) & 0x3f) << 4); - } - if (uVar4 == 0) { - iVar2 = (int)&eepromfile->checksum1 + iVar2; - return (longlong) - (int)((int)((uint)*(byte *)(iVar2 + 0x13) & 0xc0) >> 6 | - (uint)*(byte *)(iVar2 + 0x12) << 2); - } - return 0; - } - iVar2 = (int)&eepromfile->checksum1 + iVar2; - return (longlong) - (int)((int)((uint)*(byte *)(iVar2 + 0x13) & 0xfc) >> 2 | - ((uint)*(byte *)(iVar2 + 0x12) & 0xf) << 6); - } - } - return 0; -} - - - -void proc_7F01DAE4(int param_1,longlong param_2,longlong param_3,longlong param_4) - -{ - int iVar1; - byte bVar2; - uint uVar3; - uint uVar4; - int iVar5; - byte bVar6; - - iVar1 = (int)param_4; - if ((((-1 < param_2) && (param_2 < 0x14)) && (-1 < param_3)) && (param_3 < 3)) { - if (param_4 == 0) { - iVar1 = 0x4f; - } - else { - if (0x3ff < param_4) { - iVar1 = 0x3ff; - } - } - uVar3 = ((int)param_3 * 0x14 + (int)param_2) * 10; - uVar4 = uVar3 & 7; - iVar5 = (int)uVar3 >> 3; - if (uVar4 == 6) { - param_1 += iVar5; - bVar6 = *(byte *)(param_1 + 0x12) & 0xfc; - *(byte *)(param_1 + 0x12) = bVar6; - *(undefined *)(param_1 + 0x13) = 0; - *(byte *)(param_1 + 0x12) = bVar6 | (byte)((uint)iVar1 >> 8) & 3; - *(undefined *)(param_1 + 0x13) = (char)iVar1; - } - else { - if (uVar4 == 4) { - param_1 += iVar5; - bVar6 = *(byte *)(param_1 + 0x12) & 0xf0; - bVar2 = *(byte *)(param_1 + 0x13) & 3; - *(byte *)(param_1 + 0x12) = bVar6; - *(byte *)(param_1 + 0x13) = bVar2; - *(byte *)(param_1 + 0x12) = bVar6 | (byte)(iVar1 >> 6) & 0xf; - *(byte *)(param_1 + 0x13) = bVar2 | (byte)(iVar1 << 2); - return; - } - if (uVar4 == 2) { - param_1 += iVar5; - bVar6 = *(byte *)(param_1 + 0x12) & 0xc0; - bVar2 = *(byte *)(param_1 + 0x13) & 0xf; - *(byte *)(param_1 + 0x12) = bVar6; - *(byte *)(param_1 + 0x13) = bVar2; - *(byte *)(param_1 + 0x12) = bVar6 | (byte)(iVar1 >> 4) & 0x3f; - *(byte *)(param_1 + 0x13) = bVar2 | (byte)(iVar1 << 4); - return; - } - if (uVar4 == 0) { - param_1 += iVar5; - bVar6 = *(byte *)(param_1 + 0x13) & 0x3f; - *(undefined *)(param_1 + 0x12) = 0; - *(byte *)(param_1 + 0x13) = bVar6; - *(undefined *)(param_1 + 0x12) = (char)(iVar1 >> 2); - *(byte *)(param_1 + 0x13) = bVar6 | (byte)(iVar1 << 6); - return; - } - } - } - return; -} - - - -BOOL doesSaveHaveStageCompletedOnDifficulty(save_file *folder,STAGENUM stage,DIFFICULTY difficulty) - -{ - ulonglong uVar1; - - if (-1 < (int)stage) { - if (0x13 < (int)stage) { - return FALSE; - } - if (-1 < difficulty) { - if (3 < difficulty) { - return FALSE; - } - uVar1 = get_eeprom_stage_complete_time_for_difficulty(folder,stage,difficulty); - return (uint)(uVar1 != 0); - } - } - return FALSE; -} - - - -void proc_7F01DCB0(int param_1,longlong param_2,longlong param_3,int param_4) - -{ - ulonglong uVar1; - - if ((((-1 < param_2) && (param_2 < 0x14)) && (-1 < param_3)) && (param_3 < 4)) { - uVar1 = get_eeprom_stage_complete_time_for_difficulty - ((save_file *)param_1,(STAGENUM)param_2,(DIFFICULTY)param_3); - if ((uVar1 == 0) || ((longlong)param_4 < (longlong)uVar1)) { - proc_7F01DAE4(param_1,(longlong)(int)(STAGENUM)param_2,(longlong)(DIFFICULTY)param_3, - (longlong)param_4); - } - } - return; -} - - - -ulonglong check_if_cheat_unlocked(save_file *folder,longlong cheat) - -{ - if ((-1 < cheat) && (cheat < 0x14)) { - return (ulonglong) - (((longlong)(1 << ((uint)cheat & 0x1f)) & - ((ulonglong)folder->unlocked_cheats1 | - (longlong)(int)((uint)folder->unlocked_cheats3 << 0x18) | - (longlong)(int)((uint)folder->unlocked_cheats3 << 0x10) | - (longlong)(int)((uint)folder->unlocked_cheats2 << 8))) != 0); - } - return 0; -} - - - -void proc_7F01DD74(int param_1,longlong param_2) - -{ - uint uVar1; - int iVar2; - - if ((-1 < param_2) && (param_2 < 0x14)) { - uVar1 = 1 << ((uint)param_2 & 0x1f); - uVar1._3_1_ = (byte)uVar1; - iVar2 = 0; - while (0xff < uVar1) { - uVar1._3_1_ = (byte)(uVar1 >> 8); - iVar2 += 1; - uVar1 = uVar1 >> 8; - } - *(byte *)(param_1 + iVar2 + 0xe) = *(byte *)(param_1 + iVar2 + 0xe) | (byte)uVar1; - } - return; -} - - - -save_file * getEEPROMforFoldernum(u32 foldernum) - -{ - ulonglong uVar1; - u32 uVar2; - save_file *folder; - - folder = &save1; - while ((uVar1 = check_if_eeprom_flag_set_0x80(folder), uVar1 != 0 || - (uVar2 = getEEPROMFoldernum(folder), uVar2 != foldernum))) { - folder = folder + 1; - if (folder == &save6) { - folder = NULL; - if (foldernum == 100) { - folder = &save6; - } - return folder; - } - } - return folder; -} - - - -int proc_7F01DE50(void) - -{ - ulonglong uVar1; - int iVar2; - save_file *folder; - - folder = &save1; - iVar2 = 0; - do { - uVar1 = check_if_eeprom_flag_set_0x80(folder); - if (uVar1 != 0) { - return iVar2; - } - iVar2 += 1; - folder = folder + 1; - } while (iVar2 != 5); - return -1; -} - - - -void proc_7F01DEB4(int param_1) - -{ - int iVar1; - u32 *puVar2; - u32 *puVar3; - save_file *psVar4; - save_file *eeprom; - u32 auStack100 [24]; - u32 uStack4; - - iVar1 = proc_7F01DE50(); - if (-1 < iVar1) { - psVar4 = &save_file_8002c5e0; - puVar2 = auStack100; - do { - eeprom = (save_file *)&psVar4->controller_config; - *puVar2 = psVar4->checksum1; - puVar2[1] = psVar4->checksum2; - puVar2[2] = *(u32 *)&psVar4->completion_bitflags; - psVar4 = eeprom; - puVar2 = puVar2 + 3; - } while (eeprom != (save_file *)&DAT_8002c640); - eeprom = &save1 + iVar1; - puVar2 = auStack100; - psVar4 = eeprom; - do { - puVar3 = puVar2 + 3; - psVar4->checksum1 = *puVar2; - psVar4->checksum2 = puVar2[1]; - *(u32 *)&psVar4->completion_bitflags = puVar2[2]; - puVar2 = puVar3; - psVar4 = (save_file *)&psVar4->controller_config; - } while (puVar3 != &uStack4); - setEEPROMtoFoldernum(eeprom,(byte)param_1); - toggle_eeprom_flag_set_0x80(eeprom,0); - set_selected_bond(eeprom,param_1); - proc_7F01D7A0((uint *)eeprom); - } - return; -} - - - -// WARNING: Could not reconcile some variable overlaps - -void proc_7F01DF90(void) - -{ - bool bVar1; - int iVar3; - ulonglong uVar2; - uint uVar4; - uint uVar5; - u32 uVar6; - uint uVar7; - save_file *folder; - int iVar8; - save_file *psVar9; - byte *pbVar10; - u32 foldernum; - uint uStack44; - u32 uStack40; - u32 uStack36; - u32 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - byte abStack4 [4]; - - iVar3 = proc_7F01D6C0(); - if (iVar3 != 0) { - save_7000C7BC(0,(save_file *)&uStack36,0x20); - bVar1 = uStack28._0_1_ == 'B'; - proc_7F09B600((byte *)&uStack28,abStack4,&uStack44); - if ((uStack44 != uStack36) || (uStack40 != uStack32)) { - bVar1 = false; - } - if (!bVar1) { - uStack32 = DAT_8002c644; - uStack36 = DAT_8002c640; - uStack28 = flt_8002C648; - uStack24 = dword_8002C64C; - uStack20 = dword_8002C650; - uStack8 = dword_8002C65C; - uStack16 = dword_8002C654; - uStack12 = dword_8002C658; - proc_7F01D758((uint *)(save_file *)&uStack36); - } - save_7000C7BC(4,&save1,0x1e0); - psVar9 = &save_file_80069980; - pbVar10 = &save1.completion_bitflags; - folder = &save1; - do { - bVar1 = true; - proc_7F09B600(pbVar10,(byte *)psVar9,&uStack44); - if (uStack44 == folder->checksum1) { - if (uStack40 != folder->checksum2) { - bVar1 = false; - } - } - else { - bVar1 = false; - } - if (!bVar1) { - proc_7F01D840((uint *)folder); - } - psVar9 = psVar9 + 1; - folder = folder + 1; - pbVar10 = pbVar10 + 0x60; - } while (psVar9 != (save_file *)&end_save_files); - foldernum = 0; - do { - iVar3 = -1; - uVar4 = 0xffffffff; - folder = &save1; - iVar8 = 0; - do { - uVar2 = check_if_eeprom_flag_set_0x80(folder); - if ((uVar2 == 0) && (uVar6 = getEEPROMFoldernum(folder), uVar6 == foldernum)) { - if (iVar3 < 0) { - uVar4 = set_eeprom_flag_0x18(folder); - iVar3 = iVar8; - } - else { - uVar7 = uVar4 + 1 & 3; - if (((int)(uVar4 + 1) < 0) && (uVar7 != 0)) { - uVar7 -= 4; - } - uVar5 = set_eeprom_flag_0x18(folder); - if (uVar5 == uVar7) { - proc_7F01D840((uint *)(&save1 + iVar3)); - iVar3 = iVar8; - uVar4 = uVar5; - } - else { - proc_7F01D840((uint *)folder); - } - } - } - iVar8 += 1; - folder = folder + 1; - } while (iVar8 != 5); - if (iVar3 < 0) { - proc_7F01DEB4(foldernum); - } - foldernum += 1; - } while ((int)foldernum < 4); - foldernum = 0; - do { - folder = getEEPROMforFoldernum(foldernum); - if (folder != NULL) { - uVar6 = get_selected_bond(folder); - save1_selected_bond[foldernum] = uVar6; - } - foldernum += 1; - } while (foldernum != 4); - } - return; -} - - - -BOOL check_if_valid_folder_num(int folder) - -{ - if ((-1 < folder) && (folder < 4)) { - return TRUE; - } - if (folder != 100) { - return FALSE; - } - return TRUE; -} - - - -s32 isStageUnlockedAtDifficulty(int foldernum,STAGENUM stageid,DIFFICULTY difficulty) - -{ - BOOL BVar1; - save_file *eeprom; - DIFFICULTY difficulty_00; - STAGENUM stage; - - BVar1 = check_if_valid_folder_num(foldernum); - if (BVar1 == FALSE) { - return 0; - } - if (-1 < (int)stageid) { - if (0x13 < (int)stageid) { - return 0; - } - if (-1 < difficulty) { - if (3 < difficulty) { - return 0; - } - eeprom = getEEPROMforFoldernum(foldernum); - if (eeprom != NULL) { - BVar1 = doesSaveHaveStageCompletedOnDifficulty(eeprom,stageid,difficulty); - if (BVar1 != FALSE) { - return 3; - } - if (((stageid == SP_STAGE_AZTEK) && (difficulty < 1)) || - ((stageid == SP_STAGE_EGYPT && (difficulty < 2)))) { - return 0; - } - difficulty_00 = difficulty; - if (difficulty < 4) { - do { - stage = SP_STAGE_DAM; - if (0 < (int)stageid) { - do { - BVar1 = doesSaveHaveStageCompletedOnDifficulty - (eeprom,stage,difficulty_00); - if (BVar1 == FALSE) break; - stage += SP_STAGE_FACILITY; - } while (stage != stageid); - } - difficulty_00 += DIFFICULTY_SECRET; - if ((int)stageid <= (int)stage) { - return 1; - } - } while (difficulty_00 != 4); - } - if (((difficulty < 3) && ((int)stageid < 0x12)) && (difficulty < 4)) { - difficulty_00 = difficulty; - do { - BVar1 = doesSaveHaveStageCompletedOnDifficulty - (eeprom,stageid + ~SP_STAGE_DAM,difficulty_00); - difficulty_00 += DIFFICULTY_SECRET; - if (BVar1 != FALSE) { - return 1; - } - } while (difficulty_00 != 4); - } - stage = SP_STAGE_DAM; - if (difficulty < 3) { - do { - BVar1 = doesSaveHaveStageCompletedOnDifficulty - (eeprom,stage,DIFFICULTY_AGENT); - if (BVar1 == FALSE) break; - stage += SP_STAGE_FACILITY; - } while ((int)stage < 0x12); - if (0x11 < (int)stage) { - difficulty_00 = DIFFICULTY_AGENT; - if (0 < difficulty) { - do { - BVar1 = doesSaveHaveStageCompletedOnDifficulty - (eeprom,stageid,difficulty_00); - if (BVar1 == FALSE) break; - difficulty_00 += DIFFICULTY_SECRET; - } while (difficulty_00 != difficulty); - } - if (difficulty <= difficulty_00) { - return 1; - } - } - } - } - if (stageid == SP_STAGE_DAM) { - return 1; - } - BVar1 = get_debug_enable_agent_levels_flag(); - if ((BVar1 != FALSE) && (difficulty == DIFFICULTY_AGENT)) { - return 1; - } - BVar1 = get_debug_enable_all_levels_flag(); - if (BVar1 == FALSE) { - return 0; - } - return 1; - } - } - return 0; -} - - - -void proc_7F01E504(uint *param_1,undefined4 *param_2) - -{ - int iVar1; - int iVar2; - save_file *folder; - u32 *puVar3; - u32 *puVar4; - uint uStack8; - - uStack8 = 0; - iVar1 = proc_7F01DE50(); - if (-1 < iVar1) { - puVar3 = param_2; - folder = &save1 + iVar1; - do { - puVar4 = puVar3 + 3; - folder->checksum1 = *puVar3; - folder->checksum2 = puVar3[1]; - *(u32 *)&folder->completion_bitflags = puVar3[2]; - puVar3 = puVar4; - folder = (save_file *)&folder->controller_config; - } while (puVar4 != param_2 + 0x18); - if (param_1 != NULL) { - iVar2 = set_eeprom_flag_0x18((save_file *)param_1); - uStack8 = iVar2 + 1U & 3; - if (((int)(iVar2 + 1U) < 0) && (uStack8 != 0)) { - uStack8 -= 4; - } - } - folder = &save1 + iVar1; - toggle_eeprom_flag_set_0x80(folder,0); - reset_eeprom_flag_0x18(folder,uStack8); - proc_7F01D7A0((uint *)folder); - if (param_1 != NULL) { - proc_7F01D840(param_1); - } - } - return; -} - - - -void unlock_stage_in_folder_on_difficulty - (int folder,longlong stagenum,longlong selecteddifficulty,int maxtime) - -{ - save_file *psVar1; - save_file *psVar2; - save_file *psVar3; - save_file *psVar4; - longlong lVar5; - save_file sStack96; - - if ((((-1 < folder) && (folder < 4)) && (-1 < stagenum)) && - (((stagenum < 0x14 && (-1 < selecteddifficulty)) && (selecteddifficulty < 4)))) { - psVar1 = &dword_8002C660; - psVar2 = &sStack96; - do { - psVar4 = (save_file *)&psVar1->controller_config; - psVar2->checksum1 = psVar1->checksum1; - psVar2->checksum2 = psVar1->checksum2; - *(undefined4 *)&psVar2->completion_bitflags = - *(undefined4 *)&psVar1->completion_bitflags; - psVar1 = psVar4; - psVar2 = (save_file *)&psVar2->controller_config; - } while (psVar4 != &dword_8002C6C0); - psVar1 = getEEPROMforFoldernum(folder); - if (psVar1 == NULL) { - setEEPROMtoFoldernum(&sStack96,(byte)folder); - } - else { - psVar2 = psVar1; - psVar4 = &sStack96; - do { - psVar3 = (save_file *)&psVar2->controller_config; - psVar4->checksum1 = psVar2->checksum1; - psVar4->checksum2 = psVar2->checksum2; - *(undefined4 *)&psVar4->completion_bitflags = - *(undefined4 *)&psVar2->completion_bitflags; - psVar2 = psVar3; - psVar4 = (save_file *)&psVar4->controller_config; - } while (psVar3 != psVar1 + 1); - } - lVar5 = selecteddifficulty; - if (-1 < selecteddifficulty) { - do { - if (lVar5 == selecteddifficulty) { - proc_7F01DCB0((int)&sStack96,stagenum,lVar5,maxtime); - } - else { - proc_7F01DCB0((int)&sStack96,stagenum,lVar5,99999999); - } - lVar5 = (longlong)((int)lVar5 + -1); - } while (-1 < lVar5); - } - proc_7F01E504((uint *)psVar1,(undefined4 *)&sStack96); - } - return; -} - - - -void proc_7F01E760(u32 folder,CHEAT_IDS cheat) - -{ - ulonglong uVar1; - save_file *psVar2; - save_file *psVar3; - save_file *psVar4; - save_file sStack100; - save_file *psStack4; - - if ((((-1 < (int)folder) && ((int)folder < 4)) && (-1 < (int)cheat)) && - (((int)cheat < 0x14 && - ((psStack4 = getEEPROMforFoldernum(folder), psStack4 == NULL || - (uVar1 = check_if_cheat_unlocked(psStack4,(longlong)(int)cheat), uVar1 == 0)))))) { - psVar3 = &dword_8002C6C0; - psVar2 = &sStack100; - do { - psVar4 = (save_file *)&psVar3->controller_config; - psVar2->checksum1 = psVar3->checksum1; - psVar2->checksum2 = psVar3->checksum2; - *(undefined4 *)&psVar2->completion_bitflags = - *(undefined4 *)&psVar3->completion_bitflags; - psVar3 = psVar4; - psVar2 = (save_file *)&psVar2->controller_config; - } while (psVar4 != &save_file_8002c720); - if (psStack4 == NULL) { - setEEPROMtoFoldernum(&sStack100,(byte)folder); - } - else { - psVar3 = psStack4; - psVar2 = &sStack100; - do { - psVar4 = (save_file *)&psVar3->controller_config; - psVar2->checksum1 = psVar3->checksum1; - psVar2->checksum2 = psVar3->checksum2; - *(undefined4 *)&psVar2->completion_bitflags = - *(undefined4 *)&psVar3->completion_bitflags; - psVar3 = psVar4; - psVar2 = (save_file *)&psVar2->controller_config; - } while (psVar4 != psStack4 + 1); - } - proc_7F01DD74((int)&sStack100,(longlong)(int)cheat); - proc_7F01E504((uint *)psStack4,(undefined4 *)&sStack100); - } - return; -} - - - -void get_highest_stage_difficulty_completed_in_folder - (int foldernum,STAGENUM *stagenum,DIFFICULTY *difficulty) - -{ - save_file *folder; - BOOL BVar1; - STAGENUM stage; - DIFFICULTY difficulty_00; - - folder = getEEPROMforFoldernum(foldernum); - if (folder != NULL) { - difficulty_00 = DIFFICULTY_007; - do { - stage = SP_STAGE_EGYPT; - do { - BVar1 = doesSaveHaveStageCompletedOnDifficulty(folder,stage,difficulty_00); - if (BVar1 != FALSE) { - *stagenum = stage; - *difficulty = difficulty_00; - return; - } - stage += ~SP_STAGE_DAM; - } while (-1 < (int)stage); - difficulty_00 += DIFFICULTY_MULTI; - } while (-1 < difficulty_00); - } - *stagenum = ~SP_STAGE_DAM; - *difficulty = DIFFICULTY_MULTI; - return; -} - - - -u32 check_egypt_completed_in_folder(int folder) - -{ - save_file *savefile; - s32 sVar1; - DIFFICULTY difficulty; - longlong stagenum; - STAGENUM stageid; - - savefile = getEEPROMforFoldernum(folder); - stagenum = 0x13; - if (savefile != NULL) { - do { - difficulty = DIFFICULTY_AGENT; - stageid = (STAGENUM)stagenum; - do { - sVar1 = isStageUnlockedAtDifficulty(folder,stageid,difficulty); - difficulty += DIFFICULTY_SECRET; - if (sVar1 != 0) { - return stageid; - } - } while (difficulty != 4); - stagenum = (longlong)(int)(stageid + ~SP_STAGE_DAM); - } while (-1 < stagenum); - } - return 0; -} - - - -u32 check_egypt_completed_any_folder(void) - -{ - u32 isfound; - int folder; - u32 isunlocked; - - isunlocked = 0; - folder = 0; - do { - isfound = check_egypt_completed_in_folder(folder); - folder += 1; - if ((int)isunlocked < (int)isfound) { - isunlocked = isfound; - } - } while (folder != 4); - return isunlocked; -} - - - -u32 check_cradle_completed_in_folder(u32 folder) - -{ - s32 sVar1; - uint uVar2; - - sVar1 = isStageUnlockedAtDifficulty(folder,SP_STAGE_CRADLE,DIFFICULTY_AGENT); - uVar2 = (uint)(sVar1 == 3); - if (sVar1 != 3) { - sVar1 = isStageUnlockedAtDifficulty(folder,SP_STAGE_CRADLE,DIFFICULTY_SECRET); - uVar2 = (uint)(sVar1 == 3); - if (sVar1 != 3) { - sVar1 = isStageUnlockedAtDifficulty(folder,SP_STAGE_CRADLE,DIFFICULTY_00); - uVar2 = (uint)(sVar1 == 3); - } - } - return (u32)uVar2; -} - - - -u32 check_aztec_completed_in_folder_secret_00(u32 folder) - -{ - bool bVar1; - s32 sVar2; - - sVar2 = isStageUnlockedAtDifficulty(folder,SP_STAGE_AZTEK,DIFFICULTY_SECRET); - bVar1 = sVar2 == 3; - if (!bVar1) { - sVar2 = isStageUnlockedAtDifficulty(folder,SP_STAGE_AZTEK,DIFFICULTY_00); - bVar1 = sVar2 == 3; - } - return (u32)(uint)bVar1; -} - - - -u32 check_egypt_completed_in_folder_00(int folder) - -{ - s32 sVar1; - - sVar1 = isStageUnlockedAtDifficulty(folder,SP_STAGE_EGYPT,DIFFICULTY_00); - return (u32)(uint)(sVar1 == 3); -} - - - -u32 check_cradle_completed_any_folder(void) - -{ - u32 completed; - int folder; - - folder = 0; - do { - completed = check_cradle_completed_in_folder(folder); - folder += 1; - if (completed != 0) { - return 1; - } - } while (folder != 4); - return 0; -} - - - -BOOL check_aztec_completed_any_folder_secret_00(void) - -{ - u32 uVar1; - u32 folder; - - folder = 0; - do { - uVar1 = check_aztec_completed_in_folder_secret_00(folder); - folder += 1; - if (uVar1 != 0) { - return TRUE; - } - } while (folder != 4); - return FALSE; -} - - - -BOOL check_egypt_completed_any_folder_00(void) - -{ - u32 completed; - int folder; - - folder = 0; - do { - completed = check_egypt_completed_in_folder_00(folder); - folder += 1; - if (completed != 0) { - return TRUE; - } - } while (folder != 4); - return FALSE; -} - - - -u32 removed_would_have_returned_bond_for_folder_num(u32 folder) - -{ - return 0; -} - - - -void set_selected_bond_to_folder(u32 folder,u32 bond) - -{ - if ((-1 < (int)folder) && ((int)folder < 4)) { - save1_selected_bond[folder] = 0; - } - return; -} - - - -void proc_7F01EBF4(void) - -{ - return; -} - - - -void proc_7F01EBFC(void) - -{ - return; -} - - - -void delete_eeprom_folder(int foldernum) - -{ - save_file *eeprom; - u32 *puVar1; - u32 *puVar2; - save_file *psVar3; - save_file *psVar4; - u32 auStack108 [24]; - DIFFICULTY difficulty; - STAGENUM aSStack8 [2]; - - if ((((-1 < foldernum) && (foldernum < 4)) && - (eeprom = getEEPROMforFoldernum(foldernum), eeprom != NULL)) && - ((get_highest_stage_difficulty_completed_in_folder(foldernum,aSStack8,&difficulty), - -1 < (int)aSStack8[0] && (-1 < difficulty)))) { - psVar3 = &save_file_8002c720; - puVar1 = auStack108; - do { - psVar4 = (save_file *)&psVar3->controller_config; - *puVar1 = psVar3->checksum1; - puVar1[1] = psVar3->checksum2; - puVar1[2] = *(u32 *)&psVar3->completion_bitflags; - psVar3 = psVar4; - puVar1 = puVar1 + 3; - } while (psVar4 != &save_file_8002c780); - puVar1 = auStack108; - psVar3 = eeprom; - do { - puVar2 = puVar1 + 3; - psVar3->checksum1 = *puVar1; - psVar3->checksum2 = puVar1[1]; - *(u32 *)&psVar3->completion_bitflags = puVar1[2]; - puVar1 = puVar2; - psVar3 = (save_file *)&psVar3->controller_config; - } while (puVar2 != (u32 *)&difficulty); - setEEPROMtoFoldernum(eeprom,(byte)foldernum); - toggle_eeprom_flag_set_0x80(eeprom,0); - set_selected_bond(eeprom,foldernum); - set_selected_bond_to_folder(foldernum,foldernum); - proc_7F01D7A0((uint *)eeprom); - } - return; -} - - - -void proc_7F01ED10(ulonglong param_1) - -{ - save_file *psVar1; - longlong lVar2; - longlong lVar3; - int stagenum; - - psVar1 = getEEPROMforFoldernum((u32)param_1); - lVar3 = 0; - do { - lVar2 = 0; - do { - proc_7F01DCB0((int)psVar1,lVar3,lVar2,99999999); - lVar2 = (longlong)((int)lVar2 + 1); - } while (lVar2 != 3); - stagenum = (int)lVar3; - stagenum = stagenum + 1; - lVar3 = (longlong)stagenum; - } while (lVar3 != 0x14); - return; -} - - - -void proc_7F01EDA0(ulonglong param_1) - -{ - save_file *psVar1; - save_file *psVar2; - u32 foldernum; - save_file *psVar3; - save_file *psVar4; - save_file *psVar5; - u32 foldernum_00; - save_file sStack112; - DIFFICULTY difficulty; - STAGENUM SStack8; - save_file *psStack4; - - if ((-1 < (longlong)param_1) && ((longlong)param_1 < 4)) { - foldernum = (u32)param_1; - psStack4 = getEEPROMforFoldernum(foldernum); - if (psStack4 != NULL) { - get_highest_stage_difficulty_completed_in_folder(foldernum,&SStack8,&difficulty); - if ((-1 < (int)SStack8) && (foldernum_00 = 0, -1 < difficulty)) { - while (psVar1 = getEEPROMforFoldernum(foldernum_00), psVar1 != NULL) { - get_highest_stage_difficulty_completed_in_folder - (foldernum_00,&SStack8,&difficulty); - if ((((int)SStack8 < 0) && (difficulty < 0)) || - (foldernum_00 += 1, foldernum_00 == 4)) break; - } - if ((int)foldernum_00 < 4) { - psVar1 = &save_file_8002c780; - psVar5 = &sStack112; - do { - psVar2 = (save_file *)&psVar1->controller_config; - psVar5->checksum1 = psVar1->checksum1; - psVar5->checksum2 = psVar1->checksum2; - *(undefined4 *)&psVar5->completion_bitflags = - *(undefined4 *)&psVar1->completion_bitflags; - psVar1 = psVar2; - psVar5 = (save_file *)&psVar5->controller_config; - } while (psVar2 != &save_file_8002c7e0); - psVar2 = getEEPROMforFoldernum(foldernum_00); - psVar4 = psStack4 + 1; - psVar1 = psStack4; - psVar5 = &sStack112; - do { - psVar3 = (save_file *)&psVar1->controller_config; - psVar5->checksum1 = psVar1->checksum1; - psVar5->checksum2 = psVar1->checksum2; - *(undefined4 *)&psVar5->completion_bitflags = - *(undefined4 *)&psVar1->completion_bitflags; - psVar1 = psVar3; - psVar5 = (save_file *)&psVar5->controller_config; - } while (psVar3 != psVar4); - setEEPROMtoFoldernum(&sStack112,(byte)foldernum_00); - foldernum = removed_would_have_returned_bond_for_folder_num(foldernum); - set_selected_bond_to_folder(foldernum_00,foldernum); - proc_7F01E504((uint *)psVar2,(undefined4 *)&sStack112); - } - } - } - } - return; -} - - - -void update_eeprom_to_current_solo_watch_settings(save_file *eepromsave) - -{ - u16 uVar5; - u32 uVar1; - u32 uVar2; - int iVar3; - s32 sVar4; - ushort uVar6; - ushort uVar7; - - uVar5 = proc_7F0A9358(); - iVar3 = (int)(short)uVar5; - eepromsave->music_vol = (u8)((short)uVar5 >> 7); - call_sfx_c_700091C8(); - eepromsave->sfx_vol = (u8)(iVar3 >> 7); - uVar1 = get_cur_player_look_vertical_inverted(); - uVar2 = cur_player_get_autoaim(); - uVar7 = (ushort)(uVar1 != 0); - if (uVar2 != 0) { - uVar7 = (ushort)(uVar1 != 0) | 2; - } - iVar3 = cur_player_get_aim_control(); - if (iVar3 != 0) { - uVar7 = uVar7 | 4; - } - iVar3 = cur_player_get_sight_onscreen_control(); - if (iVar3 != 0) { - uVar7 = uVar7 | 8; - } - iVar3 = cur_player_get_lookahead(); - if (iVar3 != 0) { - uVar7 = uVar7 | 0x10; - } - iVar3 = cur_player_get_ammo_onscreen_setting(); - if (iVar3 != 0) { - uVar7 = uVar7 | 0x20; - } - iVar3 = cur_player_get_screen_setting(); - uVar6 = uVar7 | 0x40; - if (iVar3 != 1) { - iVar3 = cur_player_get_screen_setting(); - uVar6 = uVar7; - if (iVar3 == 2) { - uVar6 = uVar7 | 0x800; - } - } - iVar3 = get_screen_ratio(); - if (iVar3 != 0) { - uVar6 = uVar6 | 0x80; - } - sVar4 = cur_player_get_control_type(); - *(ushort *)&eepromsave->controller_config = uVar6 | (ushort)(sVar4 << 8) & 0x700; - return; -} - - - -void get_screen_ratio_settings_for_mpgame_from_folder(int folder) - -{ - ushort uVar1; - save_file *psVar2; - s32 sVar3; - - psVar2 = getEEPROMforFoldernum(folder); - if (psVar2 != NULL) { - proc_7F0A9364((ushort)psVar2->music_vol << 7 | (ushort)((int)(uint)psVar2->music_vol >> 1)); - proc_7F0A91A0((longlong)(int)((uint)psVar2->sfx_vol << 7 | (int)(uint)psVar2->sfx_vol >> 1)) - ; - uVar1 = *(ushort *)&psVar2->controller_config; - sVar3 = get_num_players(); - if (sVar3 == 1) { - cur_player_set_control_type((int)((uint)uVar1 & 0x700) >> 8); - } - else { - cur_player_set_control_type(0); - } - set_cur_player_look_vertical_inverted((uint)((uVar1 & 1) != 0)); - cur_player_set_autoaim((uint)((uVar1 & 2) != 0)); - cur_player_set_aim_control((uint)((uVar1 & 4) != 0)); - cur_player_set_sight_onscreen_control((uint)((uVar1 & 8) != 0)); - cur_player_set_lookahead((uint)((uVar1 & 0x10) != 0)); - cur_player_set_ammo_onscreen_setting((uint)((uVar1 & 0x20) != 0)); - if ((uVar1 & 0x800) == 0) { - if ((uVar1 & 0x40) == 0) { - cur_player_set_screen_setting(0); - } - else { - cur_player_set_screen_setting(1); - } - } - else { - cur_player_set_screen_setting(2); - } - set_screen_ratio((uint)((uVar1 & 0x80) != 0)); - } - return; -} - - - -void delete_update_eeprom_file(int folder) - -{ - save_file *psVar1; - int iVar2; - save_file *psVar3; - save_file *psVar4; - save_file *psVar5; - save_file sStack196; - save_file sStack100; - save_file *psStack4; - - if ((-1 < folder) && (folder < 4)) { - psVar1 = getEEPROMforFoldernum(folder); - psStack4 = psVar1; - psVar4 = &save_file_8002c7e0; - psVar3 = &sStack100; - do { - psVar5 = (save_file *)&psVar4->controller_config; - psVar3->checksum1 = psVar4->checksum1; - psVar3->checksum2 = psVar4->checksum2; - *(undefined4 *)&psVar3->completion_bitflags = - *(undefined4 *)&psVar4->completion_bitflags; - psVar4 = psVar5; - psVar3 = (save_file *)&psVar3->controller_config; - } while (psVar5 != &save_file_8002c840); - if (psVar1 == NULL) { - setEEPROMtoFoldernum(&sStack100,(byte)folder); - } - else { - psVar4 = psVar1; - psVar3 = &sStack100; - do { - psVar5 = (save_file *)&psVar4->controller_config; - psVar3->checksum1 = psVar4->checksum1; - psVar3->checksum2 = psVar4->checksum2; - *(undefined4 *)&psVar3->completion_bitflags = - *(undefined4 *)&psVar4->completion_bitflags; - psVar4 = psVar5; - psVar3 = (save_file *)&psVar3->controller_config; - } while (psVar5 != psVar1 + 1); - } - psVar4 = &sStack100; - psVar3 = &sStack196; - do { - psVar1 = (save_file *)&psVar4->controller_config; - psVar3->checksum1 = psVar4->checksum1; - psVar3->checksum2 = psVar4->checksum2; - *(undefined4 *)&psVar3->completion_bitflags = - *(undefined4 *)&psVar4->completion_bitflags; - psVar4 = psVar1; - psVar3 = (save_file *)&psVar3->controller_config; - } while (psVar1 != (save_file *)&psStack4); - update_eeprom_to_current_solo_watch_settings(&sStack196); - iVar2 = _bcmp(&sStack196,&sStack100,0x60); - if (iVar2 != 0) { - proc_7F01E504((uint *)psStack4,(undefined4 *)&sStack196); - } - } - return; -} - - - -void copy_eeprom_to_stack_set_folder_num(int foldernum) - -{ - save_file *psVar1; - u32 uVar2; - save_file *psVar3; - save_file *psVar4; - save_file *psVar5; - save_file sStack100; - save_file *psStack4; - - if ((-1 < foldernum) && (foldernum < 4)) { - psVar1 = getEEPROMforFoldernum(foldernum); - psVar4 = &save_file_8002c840; - psVar3 = &sStack100; - psStack4 = psVar1; - do { - psVar5 = (save_file *)&psVar4->controller_config; - psVar3->checksum1 = psVar4->checksum1; - psVar3->checksum2 = psVar4->checksum2; - *(undefined4 *)&psVar3->completion_bitflags = - *(undefined4 *)&psVar4->completion_bitflags; - psVar4 = psVar5; - psVar3 = (save_file *)&psVar3->controller_config; - } while (psVar5 != &blank_eeprom); - if (psVar1 == NULL) { - setEEPROMtoFoldernum(&sStack100,(byte)foldernum); - } - else { - psVar4 = psVar1; - psVar3 = &sStack100; - do { - psVar5 = (save_file *)&psVar4->controller_config; - psVar3->checksum1 = psVar4->checksum1; - psVar3->checksum2 = psVar4->checksum2; - *(undefined4 *)&psVar3->completion_bitflags = - *(undefined4 *)&psVar4->completion_bitflags; - psVar4 = psVar5; - psVar3 = (save_file *)&psVar3->controller_config; - } while (psVar5 != psVar1 + 1); - } - uVar2 = get_selected_bond(&sStack100); - if (uVar2 != save1_selected_bond[foldernum]) { - set_selected_bond(&sStack100,save1_selected_bond[foldernum]); - proc_7F01E504((uint *)psStack4,(undefined4 *)&sStack100); - } - } - return; -} - - - -void copy_eeprom_from_to(int from,int to) - -{ - save_file *psVar1; - f32 *pfVar2; - f32 *pfVar3; - save_file *psVar4; - save_file *psVar5; - f32 afStack100 [24]; - f32 fStack4; - - psVar1 = getEEPROMforFoldernum(from); - if (psVar1 == NULL) { - psVar1 = &blank_eeprom; - pfVar2 = afStack100; - do { - psVar4 = (save_file *)&psVar1->controller_config; - *(u32 *)pfVar2 = psVar1->checksum1; - *(u32 *)(pfVar2 + 1) = psVar1->checksum2; - pfVar2[2] = *(f32 *)&psVar1->completion_bitflags; - psVar1 = psVar4; - pfVar2 = pfVar2 + 3; - } while (psVar4 != (save_file *)&animation_rate); - pfVar2 = afStack100; - do { - pfVar3 = pfVar2 + 3; - *(f32 *)to = *pfVar2; - ((f32 *)to)[1] = pfVar2[1]; - ((f32 *)to)[2] = pfVar2[2]; - pfVar2 = pfVar3; - to = (int)((f32 *)to + 3); - } while (pfVar3 != &fStack4); - } - else { - psVar4 = psVar1; - do { - psVar5 = (save_file *)&psVar4->controller_config; - *(u32 *)to = psVar4->checksum1; - ((u32 *)to)[1] = psVar4->checksum2; - ((u32 *)to)[2] = *(u32 *)&psVar4->completion_bitflags; - psVar4 = psVar5; - to = (int)((u32 *)to + 3); - } while (psVar5 != psVar1 + 1); - } - return; -} - - - -void copy_eepromfile_a0_from_a1_to_buffer(longlong param_1,save_file *param_2) - -{ - save_file *psVar1; - save_file *psVar2; - save_file *psVar3; - - if (param_1 == 100) { - psVar2 = param_2; - psVar1 = &save6; - do { - psVar3 = (save_file *)&psVar2->controller_config; - psVar1->checksum1 = psVar2->checksum1; - psVar1->checksum2 = psVar2->checksum2; - *(undefined4 *)&psVar1->completion_bitflags = - *(undefined4 *)&psVar2->completion_bitflags; - psVar2 = psVar3; - psVar1 = (save_file *)&psVar1->controller_config; - } while (psVar3 != param_2 + 1); - } - return; -} - - - -BOOL is007ModeUnlockedinFolder(u32 foldernum) - -{ - save_file *folder; - BOOL BVar1; - BOOL found; - int stagenum; - - folder = getEEPROMforFoldernum(foldernum); - if (folder == NULL) { - BVar1 = FALSE; - } - else { - stagenum = SP_STAGE_DAM; - if ((folder->bitflags & 1) == 0) { - do { - found = doesSaveHaveStageCompletedOnDifficulty(folder,stagenum,DIFFICULTY_00); - if (found == FALSE) break; - stagenum += SP_STAGE_FACILITY; - } while (stagenum != 0x14); - if (stagenum == SP_STAGE_MAX) { - BVar1 = TRUE; - } - else { - BVar1 = FALSE; - } - } - else { - BVar1 = TRUE; - } - } - return BVar1; -} - - - -undefined4 get_numguards(void) - -{ - return num_guards; -} - - - -void get_ptr_allocated_block_for_weapon_vertices(int param_1) - -{ - proc_7F0BD714(param_1 << 4); - return; -} - - - -void set_show_patrols_flag(BOOL flag) - -{ - show_patrols_flag = flag; - return; -} - - - -undefined4 get_show_patrols_flag(void) - -{ - return show_patrols_flag; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 proc_7F01F574(void) - -{ - longlong in_v0; - int in_a0_lo; - undefined4 uVar1; - float in_f12; - float in_f14; - - if (*(int *)(in_a0_lo + 0x14) == 0) { - uVar1 = 0; - } - else { - proc_7F0B20D0((int *)(in_a0_lo + 0x14),in_f12,in_f14,*(float *)(in_a0_lo + 8)); - if (in_v0 < 0) { - uVar1 = proc_7F0B2970(); - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -void set_or_unset_GUARDdata_flag(GUARDdata *guard,int param_2) - -{ - if (param_2 == 0) { - guard->special_bitflags = guard->special_bitflags | 0x100; - return; - } - guard->special_bitflags = guard->special_bitflags & 0xfeff; - return; -} - - - -int proc_7F01F614(int param_1,int param_2,float *param_3,float *param_4,int param_5) - -{ - bool bVar1; - int iVar3; - longlong lVar2; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - f32 extraout_f12; - f32 extraout_f12_00; - f32 fVar9; - f32 extraout_f14; - f32 extraout_f14_00; - f32 extraout_f14_01; - f32 fVar10; - f32 extraout_f14_02; - f32 extraout_f14_03; - float fStack88; - float fStack80; - float afStack44 [2]; - float fStack36; - float afStack32 [2]; - float fStack24; - float fStack20; - undefined4 uStack16; - float fStack12; - u32 uStack8; - u32 uStack4; - - uStack4 = 0; - uStack8 = param_2; - proc_7F023160(*(int *)(param_1 + 0x18),&fStack20,&fStack12,&uStack16); - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - proc_7F0B1CC4(); - iVar3 = proc_7F0B0E24(&uStack8,extraout_f12,extraout_f14,(f32)*param_3); - if ((iVar3 == 0) || (lVar2 = proc_7F0B18B8(), -1 < lVar2)) { - lVar2 = proc_7F0B28B0(afStack32,afStack44); - if (lVar2 != 0) { - fVar8 = *param_4 - *param_3; - fVar7 = param_4[2] - param_3[2]; - if ((afStack32[0] == afStack44[0]) && (fStack24 == fStack36)) { - bVar1 = false; - fVar9 = extraout_f12_00; - fVar10 = extraout_f14_00; - } - else { - fVar6 = fStack36 - fStack24; - fVar4 = afStack44[0] - afStack32[0]; - fVar5 = sqrtf(fVar6 * fVar6 + fVar4 * fVar4); - fVar4 = fVar4 * (1.00000000 / fVar5); - fVar6 = fVar6 * (1.00000000 / fVar5); - fVar9 = (f32)(fVar6 * fVar7 + fVar8 * fVar4); - fStack88 = fVar4 * (float)fVar9 + *param_3; - fStack80 = fVar6 * (float)fVar9 + param_3[2]; - bVar1 = true; - fVar10 = extraout_f14_01; - uStack8 = param_2; - } - if (((bVar1) && (iVar3 = proc_7F0B0E24(&uStack8,fVar9,fVar10,(f32)*param_3), iVar3 != 0) - ) && (lVar2 = proc_7F0B18B8(), lVar2 < 0)) { - *param_4 = fStack88; - param_4[2] = fStack80; - *(undefined *)(param_1 + 9) = 2; - uStack4 = uStack8; - } - else { - if ((fStack24 - param_4[2]) * (fStack24 - param_4[2]) + - (afStack32[0] - *param_4) * (afStack32[0] - *param_4) <= fStack20 * fStack20) { - if (afStack32[0] == *param_3) { - if (fStack24 == param_3[2]) goto LAB_7f01fbdc; - fVar4 = param_3[2]; - } - else { - fVar4 = param_3[2]; - } - fVar5 = -(fStack24 - fVar4); - afStack32[0] = afStack32[0] - *param_3; - fVar4 = sqrtf(afStack32[0] * afStack32[0] + fVar5 * fVar5); - fVar5 = fVar5 * (1.00000000 / fVar4); - afStack32[0] = afStack32[0] * (1.00000000 / fVar4); - fVar4 = *param_3; - fVar8 = afStack32[0] * fVar7 + fVar8 * fVar5; - fVar7 = param_3[2]; - uStack8 = param_2; - iVar3 = proc_7F0B0E24(&uStack8,(f32)fVar8,extraout_f14_02,(f32)*param_3); - if ((iVar3 != 0) && (lVar2 = proc_7F0B18B8(), lVar2 < 0)) { - *param_4 = fVar5 * fVar8 + fVar4; - param_4[2] = afStack32[0] * fVar8 + fVar7; - *(undefined *)(param_1 + 9) = 2; - uStack4 = uStack8; - } - } - else { - if ((fStack36 - param_4[2]) * (fStack36 - param_4[2]) + - (afStack44[0] - *param_4) * (afStack44[0] - *param_4) <= fStack20 * fStack20 - ) { - if (afStack44[0] == *param_3) { - if (fStack36 == param_3[2]) goto LAB_7f01fbdc; - fVar4 = param_3[2]; - } - else { - fVar4 = param_3[2]; - } - fVar5 = -(fStack36 - fVar4); - afStack44[0] = afStack44[0] - *param_3; - fVar4 = sqrtf(afStack44[0] * afStack44[0] + fVar5 * fVar5); - fVar5 = fVar5 * (1.00000000 / fVar4); - afStack44[0] = afStack44[0] * (1.00000000 / fVar4); - fVar4 = *param_3; - fVar7 = afStack44[0] * fVar7 + fVar8 * fVar5; - fVar8 = param_3[2]; - uStack8 = param_2; - iVar3 = proc_7F0B0E24(&uStack8,(f32)fVar7,extraout_f14_03,(f32)*param_3); - if ((iVar3 != 0) && (lVar2 = proc_7F0B18B8(), lVar2 < 0)) { - *param_4 = fVar5 * fVar7 + fVar4; - param_4[2] = afStack44[0] * fVar7 + fVar8; - *(undefined *)(param_1 + 9) = 2; - uStack4 = uStack8; - } - } - } - } - } - } - else { - if (param_5 != 0) { - *(undefined *)(param_1 + 9) = 0; - *(undefined4 *)(param_1 + 0xcc) = global_timer; - } - uStack4 = uStack8; - } -LAB_7f01fbdc: - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - if (uStack4 == 0) { - *(undefined *)(param_1 + 9) = 1; - } - return (int)uStack4; -} - - - -undefined8 proc_7F01FC10(int param_1,float *param_2,float *param_3,float *param_4) - -{ - bool bVar1; - int iVar2; - bool bVar3; - float fVar4; - int iVar5; - float fVar6; - float fVar7; - float fVar8; - - iVar2 = *(int *)(param_1 + 4); - bVar1 = false; - fVar7 = 0.00000000; - if (*(int *)(*(int *)(iVar2 + 0x18) + 0x14) == 0) goto LAB_7f01ff80; - if ((*(char *)(iVar2 + 7) == '\x04') && (fVar7 = *(float *)(iVar2 + 0x38), 0.00000000 < fVar7)) - { - fVar7 = (*(float *)(param_1 + 0xa4) * global_timer_delta * - (fVar7 - *(float *)(iVar2 + 0x3c))) / fVar7; - *param_3 = *param_3 + *(float *)(iVar2 + 0x40) * fVar7; - param_3[1] = param_3[1] + *(float *)(iVar2 + 0x44) * fVar7; - param_3[2] = param_3[2] + *(float *)(iVar2 + 0x48) * fVar7; - *(float *)(iVar2 + 0x3c) = - *(float *)(iVar2 + 0x3c) + global_timer_delta * *(float *)(param_1 + 0xa4); - if (*(float *)(iVar2 + 0x38) < *(float *)(iVar2 + 0x3c)) { - *(undefined4 *)(iVar2 + 0x38) = 0; - } - } - *param_3 = *param_3 + *(float *)(iVar2 + 0xb0) * global_timer_delta; - param_3[2] = param_3[2] + *(float *)(iVar2 + 0xb8) * global_timer_delta; - iVar5 = proc_7F01F614(iVar2,*(int *)(*(int *)(iVar2 + 0x18) + 0x14),param_2,param_3,1); - bVar1 = iVar5 != 0; - if (bVar1) { - *(int *)(*(int *)(iVar2 + 0x18) + 0x14) = iVar5; - } - if ((*(uint *)(iVar2 + 0x14) & 0x1000) != 0) { - fVar7 = *(float *)(iVar2 + 0xac); - goto LAB_7f01ff80; - } - fVar7 = (float)proc_7F0B2970(); - *(float *)(iVar2 + 0xac) = fVar7; - if ((*(uint *)(iVar2 + 0x14) & 1) == 0) { - if (*(float *)(iVar2 + 0xb4) == 0.00000000) { - fVar6 = *(float *)(iVar2 + 0xac); - if (fVar6 < *(float *)(iVar2 + 0xa8)) goto LAB_7f01fe44; - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar6; - } - else { -LAB_7f01fe44: - proc_7F057D44((float *)(iVar2 + 0xa8),(float *)(iVar2 + 0xb4),0.00000000); - fVar6 = *(float *)(iVar2 + 0xac); - if (*(float *)(iVar2 + 0xa8) <= fVar6) { - *(float *)(iVar2 + 0xa8) = fVar6; - fVar4 = flt_80051D14; - *(undefined4 *)(iVar2 + 0xb4) = 0; - *(float *)(iVar2 + 0xa4) = fVar6 / fVar4; - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar6; - } - else { - bVar3 = *(float *)(iVar2 + 0xa8) <= fVar6; - } - } - fVar4 = flt_80051D18; - if (bVar3) { - iVar5 = 0; - if (0 < clock_timer) { - fVar8 = *(float *)(iVar2 + 0xa4); - while( true ) { - iVar5 += 1; - *(float *)(iVar2 + 0xb0) = *(float *)(iVar2 + 0xb0) * fVar4; - *(float *)(iVar2 + 0xa4) = fVar8 * fVar4 + fVar6; - *(float *)(iVar2 + 0xb8) = *(float *)(iVar2 + 0xb8) * fVar4; - if (clock_timer <= iVar5) break; - fVar8 = *(float *)(iVar2 + 0xa4); - } - } - fVar6 = flt_80051D1C; - bVar3 = flt_80051D1C <= *(float *)(iVar2 + 0xb0); - *(float *)(iVar2 + 0xa8) = *(float *)(iVar2 + 0xa4) * flt_80051D20; - if (bVar3) goto LAB_7f01ff60; - if (flt_80051D24 < *(float *)(iVar2 + 0xb0)) { - if (*(float *)(iVar2 + 0xb8) < fVar6) { - if (flt_80051D24 < *(float *)(iVar2 + 0xb8)) { - *(undefined4 *)(iVar2 + 0xb8) = 0; - *(undefined4 *)(iVar2 + 0xb0) = 0; - goto LAB_7f01ff60; - } - fVar6 = *(float *)(iVar2 + 0xa8); - } - else { - fVar6 = *(float *)(iVar2 + 0xa8); - } - } - else { - fVar6 = *(float *)(iVar2 + 0xa8); - } - } - else { - fVar6 = *(float *)(iVar2 + 0xa8); - } - } - else { - iVar5 = extract_id_from_object_structure_microcode(param_1,**(ushort ***)(param_1 + 8)); - *(uint *)(iVar2 + 0x14) = *(uint *)(iVar2 + 0x14) & 0xfffffffe; - *(float *)(iVar2 + 0xa8) = *(float *)(iVar2 + 0xac); - *(float *)(iVar2 + 0xa4) = *(float *)(iVar2 + 0xac) / flt_80051D10; - *(undefined4 *)(iVar5 + 0x38) = *(undefined4 *)(iVar5 + 0x28); -LAB_7f01ff60: - fVar6 = *(float *)(iVar2 + 0xa8); - } - param_3[1] = param_3[1] + (fVar6 - fVar7); -LAB_7f01ff80: - *param_4 = fVar7; - if (!bVar1) { - *param_3 = *param_2; - param_3[2] = param_2[2]; - } - return 1; -} - - - -int get_next_available_guardID(void) - -{ - int iVar1; - int iVar2; - GUARDdata *pGVar3; - - iVar2 = 0; - iVar1 = 0; - if (0 < num_guards) { - pGVar3 = ptr_guard_data; - do { - iVar1 += 0x1dc; - if (pGVar3->MODELdata_pointer == 0) { - iVar2 += 1; - } - pGVar3 = pGVar3 + 1; - } while (iVar1 < num_guards * 0x1dc); - } - return iVar2; -} - - - -void proc_7F020018(void) - -{ - int in_a0_lo; - float in_a1_lo; - f32 fVar1; - - fVar1 = get_007_health_mod(); - *(float *)(in_a0_lo + 0x100) = (float)fVar1 * in_a1_lo; - return; -} - - - -f32 get_guard_health(GUARDdata *param_1) - -{ - return param_1->maxdamage; -} - - - -void guard_calc_final_damage_recieved(GUARDdata *guard,u32 damage) - -{ - f32 fVar1; - - fVar1 = get_007_health_mod(); - *(float *)&guard->damage = (float)guard->damage - (float)damage * (float)fVar1; - return; -} - - - -float proc_7F020090(GUARDdata *param_1) - -{ - if (0.00000000 <= (float)param_1->damage) { - return 0.00000000; - } - return -(float)param_1->damage; -} - - - -u32 init_GUARDdata_with_set_values(u32 param_1,u32 param_2,u32 param_3,u32 param_4) - -{ - int *piVar1; - int iVar2; - GUARDdata *pGVar3; - int iVar4; - undefined4 extraout_a2_lo; - GUARDdata *guard; - f32 fVar5; - float extraout_f12; - float extraout_f12_00; - undefined4 in_stack_00000010; - int in_stack_00000014; - - guard = NULL; - iVar2 = 0; - if (0 < num_guards) { - iVar4 = 0; - pGVar3 = ptr_guard_data; - do { - piVar1 = &pGVar3->MODELdata_pointer; - iVar2 += 1; - pGVar3 = pGVar3 + 1; - if (*piVar1 == 0) { - guard = (GUARDdata *)((int)&ptr_guard_data->chrnum + iVar4); - break; - } - iVar4 += 0x1dc; - } while (iVar2 < num_guards); - } - *(undefined *)param_1 = 3; - *(GUARDdata **)(param_1 + 4) = guard; - *(undefined4 *)(param_1 + 8) = *(undefined4 *)param_3; - *(undefined4 *)(param_1 + 0xc) = *(undefined4 *)(param_3 + 4); - *(undefined4 *)(param_1 + 0x10) = *(undefined4 *)(param_3 + 8); - *(undefined4 *)(param_1 + 0x14) = in_stack_00000010; - proc_7F06FF5C(param_2,proc_7F01FC10); - *(undefined2 *)param_2 = 10; - *(GUARDdata **)(param_2 + 4) = guard; - setsuboffset(param_2,(xyzpoint *)param_3); - setsubroty(param_2,extraout_f12,param_4,extraout_a2_lo); - proc_7F06FF18(param_2,animation_rate,extraout_f12_00); - guard->chrnum = (u16)player1_guardID; - player1_guardID += 1; - guard->headnum = '\0'; - guard->bodynum = '\0'; - guard->POSdata_pointer = param_1; - guard->MODELdata_pointer = param_2; - guard->pertains_to_action61 = 0; - guard->numarghs = '\0'; - guard->field_C8 = 0; - guard->invalidmove = '\0'; - iVar2 = global_timer; - guard->last_bond_detection_time = 0; - guard->field_D8 = 0.00000000; - guard->field_DC = 0.00000000; - guard->field_E0 = 0.00000000; - guard->lastshooter = 0; - guard->timeshooter = 0; - guard->field_F0 = 0; - guard->numclosearghs = '\0'; - guard->field_13C = 0.00000000; - guard->damage = 0; - guard->reaction_time = 250.00000000; - guard->field_CC = iVar2; - guard->hearingscale = 1.00000000; - fVar5 = get_007_health_mod(); - *(float *)&guard->maxdamage = (float)fVar5 * 4.00000000; - proc_7F04009C(param_1,(byte *)&guard->field_F8); - guard->fadealpha = -1; - guard->ptr_SEbuffer1 = 0; - guard->ptr_SEbuffer2 = 0; - guard->ptr_SEbuffer3 = 0; - guard->ptr_SEbuffer4 = 0; - guard->field_178 = 0; - guard->field_17C = 0; - guard->guard_bitflags = 1; - guard->special_bitflags = 0; - guard->field_A4 = 0.00000000; - guard->field_A8 = 0.00000000; - guard->clipping_height = 0.00000000; - guard->field_B0 = 0.00000000; - guard->field_B4 = 0.00000000; - guard->field_B8 = 0.00000000; - guard->field_F4 = guard->field_F8; - guard->field_F5 = guard->field_F9; - guard->field_F6 = guard->field_FA; - guard->field_F7 = guard->field_FB; - (guard->prevpos).x = *(f32 *)param_3; - (guard->prevpos).y = *(f32 *)(param_3 + 4); - fVar5 = *(f32 *)(param_3 + 8); - guard->actiontype = None; - guard->sleep = '\0'; - (guard->prevpos).z = fVar5; - guard->action_block_offset = 0; - guard->action_block_return = -1; - guard->userbyte1 = '\0'; - guard->userbyte2 = '\0'; - guard->guardtype_bitflags_scientist = '\0'; - guard->randomvalue = '\0'; - guard->loopcounter = 0; - guard->preset_of_2328_object_to_interact_with = -1; - guard->FA_target = -1; - guard->FB_target = -1; - guard->FC_target = -1; - guard->field_180 = -1; - guard->field_1AC = -1; - guard->firecount_left = '\0'; - guard->firecount_right = '\0'; - guard->beligerancy = '\0'; - guard->accuracyrating = '\0'; - guard->speedrating = '\0'; - guard->field_D = '\0'; - guard->field_11 = -1; - guard->field_140 = 0.00000000; - guard->field_144 = 0.00000000; - guard->field_148 = 0.00000000; - guard->field_14C = 0.00000000; - guard->field_150 = 0; - guard->field_154 = 0; - guard->field_158 = 0; - guard->field_15C = 0; - guard->field_E = '\0'; - guard->handle_positiondata[0] = 0; - guard->handle_positiondata[1] = 0; - guard->handle_positiondata_hat = 0; - guard->chrwidth = 20.00000000; - guard->action_block_pointer = in_stack_00000014; - guard->chrheight = 0x43390000; - proc_7F01FC10(param_2,(float *)(param_1 + 8),(float *)(param_1 + 8),&guard->clipping_height); - proc_7F020D94((int)guard); - return param_1; -} - - - -int replace_GUARDdata_with_actual_values - (u32 param_1,u32 param_2,u32 param_3,undefined4 param_4,undefined4 param_5) - -{ - object_standard *poVar1; - - poVar1 = remove_last_obj_pos_data_entry(); - if (poVar1 != NULL) { - poVar1 = (object_standard *) - init_GUARDdata_with_set_values((u32)poVar1,param_1,param_2,param_3); - } - return (int)poVar1; -} - - - -void disable_sounds_attached_to_player_then_something(int param_1) - -{ - undefined2 *puVar1; - int *objinstance; - object_standard *poVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - ALLink_s *pAVar6; - - puVar1 = *(undefined2 **)(param_1 + 4); - objinstance = *(int **)(puVar1 + 0xe); - if (*(ALLink_s **)(puVar1 + 0xb4) == NULL) { - pAVar6 = *(ALLink_s **)(puVar1 + 0xb6); - } - else { - uVar5 = sfxGetArg0Unk3F(*(ALLink_s **)(puVar1 + 0xb4)); - if (uVar5 == 0) { - pAVar6 = *(ALLink_s **)(puVar1 + 0xb6); - } - else { - sfxDeactivate(*(int *)(puVar1 + 0xb4)); - pAVar6 = *(ALLink_s **)(puVar1 + 0xb6); - } - } - if (pAVar6 == NULL) { - pAVar6 = *(ALLink_s **)(puVar1 + 0xb8); - } - else { - uVar5 = sfxGetArg0Unk3F(pAVar6); - if (uVar5 == 0) { - pAVar6 = *(ALLink_s **)(puVar1 + 0xb8); - } - else { - sfxDeactivate(*(int *)(puVar1 + 0xb6)); - pAVar6 = *(ALLink_s **)(puVar1 + 0xb8); - } - } - if (pAVar6 == NULL) { - pAVar6 = *(ALLink_s **)(puVar1 + 0xba); - } - else { - uVar5 = sfxGetArg0Unk3F(pAVar6); - if (uVar5 == 0) { - pAVar6 = *(ALLink_s **)(puVar1 + 0xba); - } - else { - sfxDeactivate(*(int *)(puVar1 + 0xb8)); - pAVar6 = *(ALLink_s **)(puVar1 + 0xba); - } - } - if ((pAVar6 != NULL) && (uVar5 = sfxGetArg0Unk3F(pAVar6), uVar5 != 0)) { - sfxDeactivate(*(int *)(puVar1 + 0xba)); - } - proc_7F050DE8((int)objinstance); - proc_7F03E18C(param_1); - iVar4 = *(int *)(param_1 + 0x20); - while (iVar4 != 0) { - poVar2 = *(object_standard **)(iVar4 + 4); - iVar3 = *(int *)(iVar4 + 0x24); - proc_7F04C044(iVar4); - proc_7F041024(poVar2,1); - iVar4 = iVar3; - } - set_aircraft_obj_inst_scale_to_zero(objinstance); - *(undefined4 *)(puVar1 + 0xe) = 0; - *puVar1 = 0xffff; - if (*(int *)(puVar1 + 0x10) != 0) { - proc_7F06B248(*(int *)(puVar1 + 0x10)); - } - return; -} - - - -void animation_speed_related(f32 rate) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - float extraout_f12; - - iVar4 = 0; - animation_rate = rate; - if (0 < num_guards) { - iVar3 = 0; - iVar2 = num_guards; - do { - iVar1 = *(int *)((int)&ptr_guard_data->MODELdata_pointer + iVar3); - if (iVar1 != 0) { - proc_7F06FF18(iVar1,animation_rate,(float)rate); - rate = (f32)extraout_f12; - iVar2 = num_guards; - } - iVar4 += 1; - iVar3 += 0x1dc; - } while (iVar4 < iVar2); - } - return; -} - - - -f32 get_animation_rate(void) - -{ - return animation_rate; -} - - - -void proc_7F0205F0(int param_1) - -{ - float fVar1; - float fVar2; - float fVar3; - - if (*(char *)(param_1 + 0xe) < '\x02') { - *(undefined4 *)(param_1 + 0x140) = *(undefined4 *)(param_1 + 0x150); - *(undefined4 *)(param_1 + 0x144) = *(undefined4 *)(param_1 + 0x154); - *(undefined4 *)(param_1 + 0x148) = *(undefined4 *)(param_1 + 0x158); - *(undefined4 *)(param_1 + 0x14c) = *(undefined4 *)(param_1 + 0x15c); - return; - } - fVar2 = 1.00000000; - fVar1 = global_timer_delta / (float)(int)*(char *)(param_1 + 0xe); - if (1.00000000 < fVar1) { - fVar3 = *(float *)(param_1 + 0x140); - } - else { - fVar3 = *(float *)(param_1 + 0x140); - fVar2 = fVar1; - } - *(float *)(param_1 + 0x140) = fVar3 + (*(float *)(param_1 + 0x150) - fVar3) * fVar2; - *(float *)(param_1 + 0x144) = - *(float *)(param_1 + 0x144) + - (*(float *)(param_1 + 0x154) - *(float *)(param_1 + 0x144)) * fVar2; - *(float *)(param_1 + 0x148) = - *(float *)(param_1 + 0x148) + - (*(float *)(param_1 + 0x158) - *(float *)(param_1 + 0x148)) * fVar2; - *(float *)(param_1 + 0x14c) = - *(float *)(param_1 + 0x14c) + - (*(float *)(param_1 + 0x15c) - *(float *)(param_1 + 0x14c)) * fVar2; - *(char *)(param_1 + 0xe) = *(char *)(param_1 + 0xe) - (char)clock_timer; - return; -} - - - -void proc_7F0206D4(int param_1) - -{ - u32 uVar1; - - if (*(char *)(param_1 + 0x11) < '\0') { - *(undefined *)(param_1 + 0x11) = 1; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfff; - uVar1 = get_random_value(); - if (uVar1 % 3 == 0) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x1000; - } - else { - if (uVar1 % 3 == 1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x2000; - } - } - uVar1 = get_random_value(); - if (uVar1 % 3 == 0) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x4000; - } - else { - if (uVar1 % 3 == 1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x8000; - } - } - } - return; -} - - - -float proc_7F020794(int param_1) - -{ - float fVar1; - - fVar1 = (float)(int)*(char *)(param_1 + 0x11); - if (fVar1 < 10.00000000) { - fVar1 = sinf((fVar1 * flt_80051D28 * 0.25000000) / 10.00000000); - } - else { - fVar1 = sinf(((fVar1 - 10.00000000) * flt_80051D2C * 0.25000000) / 20.00000000); - fVar1 = 1.00000000 - fVar1; - } - return fVar1; -} - - - -// WARNING: Instruction at (ram,0x7f020890) overlaps instruction at (ram,0x7f02088c) -// - -void proc_7F02083C(int param_1,float *param_2) - -{ - ushort uVar1; - bool bVar2; - uint uVar3; - float *pfVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 uVar5; - float fVar6; - float fVar7; - float afStack104 [16]; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack4 = 1.00000000; - uVar3 = cheatCheckIfOn(cheats_cheat_dk_mode); - if (uVar3 != 0) { - if (param_1 == 0) { - fStack4 = 4.00000000; - } - else { - if ((param_1 == 2) || (param_1 == 3)) { - fStack4 = 2.50000000; - } - } - } - if ((((param_1 != 2) && (param_1 != 3)) && (param_1 != 1)) && (param_1 != 0)) { - return; - } - fStack12 = 0.00000000; - fStack16 = 0.00000000; - if (param_1 == 3) { - fStack8 = *(float *)(end_save_files + 0x144); - } - else { - if (param_1 == 2) { - fStack8 = *(float *)(end_save_files + 0x140); - } - else { - if (param_1 == 1) { - fStack8 = *(float *)(end_save_files + 0x148); - if ((*(ushort *)(end_save_files + 0x12) & 0x400) != 0) { - if (flt_80051D30 < fStack8) { - fStack8 = fStack8 - flt_80051D30; - } - else { - if (fStack8 < flt_80051D34) { - fStack8 = fStack8 + flt_80051D38; - } - else { - fStack8 = 0.00000000; - } - } - } - fStack12 = *(float *)(end_save_files + 0x14c); - } - else { - fStack8 = 0.00000000; - if (param_1 == 0) { - if ((*(ushort *)(end_save_files + 0x12) & 0x400) == 0) { - if (*(char *)(*(int *)(end_save_files + 0x1c) + 0x24) == '\0') { - fStack8 = *(float *)(end_save_files + 0x144); - } - else { - fStack8 = *(float *)(end_save_files + 0x140); - } - } - else { - fVar7 = *(float *)(end_save_files + 0x148); - fStack8 = fVar7; - if ((((*(ushort *)(end_save_files + 0x12) & 0x400) != 0) && - (fStack8 = flt_80051D3C, fVar7 <= flt_80051D3C)) && - (fStack8 = flt_80051D40, flt_80051D40 <= fVar7)) { - fStack8 = fVar7; - } - } - } - } - } - } - if (*(char *)(end_save_files + 0x11) < '\0') { - bVar2 = fStack8 == 0.00000000; - } - else { - if ((param_1 == 3) || (param_1 == 2)) { - fVar7 = proc_7F020794(end_save_files); - fVar7 = (fVar7 * flt_80051D44 * 15.00000000) / 360.00000000; - fStack8 = fStack8 - fVar7; - if ((*(ushort *)(end_save_files + 0x12) & 0x1000) == 0) { - if ((*(ushort *)(end_save_files + 0x12) & 0x2000) == 0) { - bVar2 = fStack8 == 0.00000000; - goto code_r0x7f020b5c; - } - fStack12 = fStack12 + fVar7; - } - else { - fStack12 = fStack12 - fVar7; - } - } - else { - if (param_1 != 1) { - bVar2 = fStack8 == 0.00000000; - goto code_r0x7f020b5c; - } - fVar7 = proc_7F020794(end_save_files); - fVar7 = fVar7 * flt_80051D48; - uVar1 = *(ushort *)(end_save_files + 0x12); - fVar6 = (fVar7 * 15.00000000) / 360.00000000; - fStack8 = fStack8 + fVar6; - if ((uVar1 & 0x1000) == 0) { - if ((uVar1 & 0x2000) != 0) { - fStack12 = fStack12 - fVar6; - } - } - else { - fStack12 = fStack12 + fVar6; - } - if ((uVar1 & 0x4000) == 0) { - if ((uVar1 & 0x8000) != 0) { - fStack16 = 0.00000000 - (fVar7 * 10.00000000) / 360.00000000; - } - } - else { - fStack16 = (fVar7 * 10.00000000) / 360.00000000 + 0.00000000; - } - } - bVar2 = fStack8 == 0.00000000; - } -code_r0x7f020b5c: - if ((((!bVar2) || (fStack12 != 0.00000000)) || (fStack16 != 0.00000000)) || - (fStack4 != 1.00000000)) { - fStack40 = (float)proc_7F02C190(); - if (fStack8 < 0.00000000) { - fStack8 = -fStack8; - } - else { - fStack8 = flt_80051D4C - fStack8; - } - if (fStack12 < 0.00000000) { - fStack12 = fStack12 + flt_80051D50; - } - pfVar4 = (float *)get_BONDdata_field_10D4(); - sub_GAME_7F058098(pfVar4,param_2); - fStack36 = param_2[0xc]; - fStack32 = param_2[0xd]; - fStack28 = param_2[0xe]; - param_2[0xc] = 0.00000000; - param_2[0xd] = 0.00000000; - param_2[0xe] = 0.00000000; - if ((fStack8 == 0.00000000) && (fStack16 == 0.00000000)) { - proc_7F0585FC(fStack12,extraout_a0,afStack104); - sub_GAME_7F058098(afStack104,param_2); - uVar5 = extraout_a0_04; - } - else { - fVar7 = fStack12 - fStack40; - if (fVar7 < 0.00000000) { - fVar7 = fVar7 + flt_80051D54; - } - proc_7F0585FC(fVar7,extraout_a0,afStack104); - sub_GAME_7F058098(afStack104,param_2); - uVar5 = extraout_a0_00; - if (fStack8 != 0.00000000) { - proc_7F058570(fStack8,extraout_a0_00,afStack104); - sub_GAME_7F058098(afStack104,param_2); - uVar5 = extraout_a0_01; - } - if (fStack16 != 0.00000000) { - proc_7F058688(fStack16,uVar5,afStack104); - sub_GAME_7F058098(afStack104,param_2); - uVar5 = extraout_a0_02; - } - proc_7F0585FC(fStack40,uVar5,afStack104); - sub_GAME_7F058098(afStack104,param_2); - uVar5 = extraout_a0_03; - } - if (fStack4 != 1.00000000) { - matrix_multiply_A1_by_F12(fStack4,uVar5,param_2); - } - param_2[0xc] = fStack36; - param_2[0xd] = fStack32; - param_2[0xe] = fStack28; - pfVar4 = (float *)get_BONDdata_field_10CC(); - sub_GAME_7F058098(pfVar4,param_2); - } - return; -} - - - -void proc_7F020D94(int param_1) - -{ - float extraout_f12; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - char *pcStack4; - - pcStack4 = *(char **)(param_1 + 0x18); - fStack16 = *(float *)(pcStack4 + 8) - 50.00000000; - fStack12 = *(float *)(param_1 + 0xac) - 1.00000000; - fStack8 = *(float *)(pcStack4 + 0x10) - 50.00000000; - fStack28 = *(float *)(pcStack4 + 8) + 50.00000000; - fStack24 = *(float *)(pcStack4 + 0xc) + 100.00000000; - fStack20 = *(float *)(pcStack4 + 0x10) + 50.00000000; - proc_7F03E18C((int)pcStack4); - proc_7F03E27C(pcStack4,&fStack16,&fStack28,extraout_f12); - proc_7F03E210((int)pcStack4); - return; -} - - - -void proc_7F020E40(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - int objanim; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - - iVar1 = *(int *)(param_1 + 0x18); - objanim = *(int *)(param_1 + 0x1c); - if ((*(ushort *)(param_1 + 0x12) & 0x800) == 0) { - getsuboffset(objanim,(undefined4 *)(param_1 + 0xbc),param_3,param_4); - proc_7F070AEC(objanim,param_2,1); - subcalcpos(objanim,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - proc_7F04009C(iVar1,(byte *)(param_1 + 0xf8)); - getsuboffset(objanim,(undefined4 *)(iVar1 + 8),extraout_a2_lo_00,extraout_a3_lo_00); - proc_7F020D94(param_1); - } - else { - subcalcpos(objanim,param_2,param_3,param_4); - getsuboffset(objanim,(undefined4 *)(iVar1 + 8),extraout_a2_lo_01,extraout_a3_lo_01); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f021344) overlaps instruction at (ram,0x7f021340) -// -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -ulonglong proc_7F020EF0(char *param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - short *psVar1; - object_standard *poVar2; - ushort *partdesc; - uint uVar4; - int *piVar5; - float *pfVar6; - undefined8 uVar3; - u32 uVar7; - undefined4 *puVar8; - int iVar9; - char cVar12; - headHat *phVar10; - int iVar11; - int iVar13; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - uint extraout_a1_lo_01; - uint extraout_a1_lo_02; - uint extraout_a1_lo_03; - uint extraout_a1_lo_04; - uint extraout_a1_lo_05; - uint extraout_a1_lo_06; - uint extraout_a1_lo_07; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - uint extraout_a1_lo_08; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a2_lo_04; - undefined4 extraout_a2_lo_05; - undefined4 extraout_a2_lo_06; - undefined4 extraout_a2_lo_07; - undefined4 extraout_a2_lo_08; - undefined4 extraout_a2_lo_09; - undefined4 extraout_a2_lo_10; - undefined4 extraout_a2_lo_11; - undefined4 uVar14; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - undefined4 extraout_a2_lo_12; - undefined4 extraout_a2_lo_13; - undefined4 extraout_a2_lo_14; - undefined8 extraout_a2_01; - undefined8 extraout_a2_02; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined4 extraout_a3_lo_04; - undefined4 extraout_a3_lo_05; - undefined4 extraout_a3_lo_06; - undefined4 extraout_a3_lo_07; - undefined4 extraout_a3_lo_08; - undefined4 extraout_a3_lo_09; - undefined4 extraout_a3_lo_10; - undefined4 extraout_a3_lo_11; - undefined4 extraout_a3_lo_12; - undefined4 uVar15; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined4 extraout_a3_lo_13; - undefined4 extraout_a3_lo_14; - undefined4 extraout_a3_lo_15; - undefined8 extraout_a3_01; - undefined8 extraout_a3_02; - ushort uVar16; - float **ppfVar17; - float **ppfVar18; - float **ppfVar19; - float **ppfVar20; - float fVar21; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f14; - float afStack244 [16]; - float afStack180 [16]; - f32 fStack116; - f32 fStack112; - f32 fStack108; - xyzpoint xStack104; - uint uStack92; - int iStack88; - uint uStack84; - undefined4 uStack80; - uint uStack76; - uint uStack72; - float *apfStack64 [4]; - float *pfStack48; - - ppfVar19 = (float **)&dword_8002CC6C; - ppfVar17 = apfStack64; - do { - ppfVar20 = ppfVar19 + 3; - ppfVar18 = ppfVar17 + 3; - *ppfVar17 = *ppfVar19; - ppfVar17[1] = ppfVar19[1]; - ppfVar17[2] = ppfVar19[2]; - ppfVar19 = ppfVar20; - ppfVar17 = ppfVar18; - } while (ppfVar20 != (float **)&dword_8002CCA8); - *ppfVar18 = _dword_8002CCA8; - psVar1 = *(short **)(param_1 + 4); - uStack72 = *(uint *)(psVar1 + 0xe); - uStack80 = 1; - uStack84 = clock_timer; - if (((*(uint *)(psVar1 + 10) & 0x400) == 0) || ((int)(*(uint *)(psVar1 + 10) << 0xd) < 0)) { - if (dword_8002C904 == 0) { - proc_7F0326BC((int)psVar1); - param_2 = extraout_a1_lo_00; - param_4 = extraout_a3_lo_01; - param_3 = extraout_a2_lo_00; - if (*(int *)(psVar1 + 0xe) == 0) { - return 1; - } - } - else { - if (*(int *)(animation_table_ptrs1 + dword_8002C908 * 4) != 1) { - uVar4 = proc_7F06F5AC(uStack72); - param_2 = *(uint *)(animation_table_ptrs1 + dword_8002C908 * 4); - param_3 = 0; - param_4 = extraout_a3_lo; - if (uVar4 != param_2) { - proc_7F06FCA8(uStack72,param_2,0,extraout_f12,0,extraout_f14); - param_2 = extraout_a1_lo; - param_4 = extraout_a3_lo_00; - param_3 = extraout_a2_lo; - } - } - } - if (dword_8002C90C == 0) { - uVar16 = psVar1[9]; - } - else { - uStack84 = 0; - if (dword_8002C910 == 0) { - uVar16 = psVar1[9]; - } - else { - uStack84 = 1; - uVar16 = psVar1[9]; - } - } - } - else { - uVar16 = psVar1[9]; - } - if ((uVar16 & 0x20) != 0) { - disable_sounds_attached_to_player_then_something((int)param_1); - return 1; - } - if (*(int *)(psVar1 + 0xb0) == 0) { - iVar9 = *(int *)(psVar1 + 0xb2); - } - else { - poVar2 = *(object_standard **)(*(int *)(psVar1 + 0xb0) + 4); - if ((poVar2->runtime_bitflags & 4U) == 0) { - iVar9 = *(int *)(psVar1 + 0xb2); - } - else { - proc_7F041024(poVar2,1); - iVar9 = *(int *)(psVar1 + 0xb2); - param_2 = extraout_a1_lo_01; - param_4 = extraout_a3_lo_02; - param_3 = extraout_a2_lo_01; - } - } - if (iVar9 == 0) { - uVar4 = *(uint *)(psVar1 + 10); - } - else { - if (((*(object_standard **)(iVar9 + 4))->runtime_bitflags & 4U) == 0) { - uVar4 = *(uint *)(psVar1 + 10); - } - else { - proc_7F041024(*(object_standard **)(iVar9 + 4),1); - uVar4 = *(uint *)(psVar1 + 10); - param_2 = extraout_a1_lo_02; - param_4 = extraout_a3_lo_03; - param_3 = extraout_a2_lo_02; - } - } - if ((uVar4 & 0x400) == 0) { - if (*param_1 == '\x06') { - proc_7F09B15C((int)param_1); - param_4 = extraout_a3_lo_04; - param_3 = extraout_a2_lo_03; - if (ptr_BONDdata_p1[uVar4]->unknown != 1) { - uVar4 = *(uint *)(psVar1 + 10); - param_2 = extraout_a1_lo_03; - goto LAB_7f021118; - } - } - else { -LAB_7f021118: - if (-1 < (int)(uVar4 << 8)) { - cVar12 = *(char *)((int)psVar1 + 7); - if ((cVar12 == '\x0e') || (cVar12 == '\x0f')) { - if (((cVar12 == '\x0e') && (*(char *)(psVar1 + 0x1c) == '\x06')) || - ((cVar12 == '\x0f' && (*(char *)(psVar1 + 0x2e) == '\x06')))) { - fVar21 = getinstsize(uStack72,param_2,0xe,param_4); - uStack76 = proc_7F054D6C(param_1,(float *)(param_1 + 8),extraout_f12_00, - (int)fVar21); - if (uStack76 != 0) { - getsuboffset(uStack72,(undefined4 *)(psVar1 + 0x5e),extraout_a2_lo_04, - extraout_a3_lo_05); - subcalcpos(uStack72,extraout_a1_lo_04,extraout_a2_lo_05, - extraout_a3_lo_06); - proc_7F04009C((int)param_1,(byte *)(psVar1 + 0x7c)); - getsuboffset(uStack72,(undefined4 *)(param_1 + 8),extraout_a2_lo_06, - extraout_a3_lo_07); - proc_7F020D94((int)psVar1); - } - } - else { - proc_7F020E40((int)psVar1,uStack84,0xe,param_4); - fVar21 = getinstsize(uStack72,extraout_a1_lo_05,extraout_a2_lo_07, - extraout_a3_lo_08); - uStack76 = proc_7F054D6C(param_1,(float *)(param_1 + 8),extraout_f12_01, - (int)fVar21); - if (uStack76 != 0) { - if (*(char *)((int)psVar1 + 7) == '\x0e') { - *(undefined4 *)(psVar1 + 0x3c) = global_timer; - } - else { - if (*(char *)((int)psVar1 + 7) == '\x0f') { - *(undefined4 *)(psVar1 + 0x4e) = global_timer; - } - } - } - } - cVar12 = *(char *)((int)psVar1 + 7); - } - else { - if ((cVar12 == '\x03') && (*(int *)(psVar1 + 0x16) == 0)) { - fVar21 = getinstsize(uStack72,param_2,0xe,param_4); - uStack76 = proc_7F054D6C(param_1,(float *)(param_1 + 8),extraout_f12_02, - (int)fVar21); - if ((uStack76 == 0) || (*(int *)(psVar1 + 0x1e) != 0)) { - proc_7F070AEC(uStack72,uStack84,0); - } - else { - proc_7F020E40((int)psVar1,uStack84,extraout_a2_lo_08,extraout_a3_lo_09); - } - cVar12 = *(char *)((int)psVar1 + 7); - } - else { - if (cVar12 == '\x01') { - fVar21 = getinstsize(uStack72,param_2,0xe,param_4); - uStack76 = proc_7F054D6C(param_1,(float *)(param_1 + 8),extraout_f12_03, - (int)fVar21); - if ((uStack76 == 0) && ((*(uint *)(psVar1 + 10) & 1) == 0)) { - if (*(int *)(uStack72 + 0x54) != 0) { - proc_7F070AEC(uStack72,uStack84,0); - } - } - else { - proc_7F020E40((int)psVar1,uStack84,extraout_a2_lo_09, - extraout_a3_lo_10); - } - cVar12 = *(char *)((int)psVar1 + 7); - } - else { - if ((uVar4 & 0x4000) == 0) { - proc_7F020E40((int)psVar1,uStack84,0xe,param_4); - uVar4 = extraout_a1_lo_07; - uVar14 = extraout_a2_lo_11; - uVar15 = extraout_a3_lo_12; - } - else { - proc_7F070AEC(uStack72,uStack84,0); - uVar4 = extraout_a1_lo_06; - uVar14 = extraout_a2_lo_10; - uVar15 = extraout_a3_lo_11; - } - fVar21 = getinstsize(uStack72,uVar4,uVar14,uVar15); - uStack76 = proc_7F054D6C(param_1,(float *)(param_1 + 8),extraout_f12_04, - (int)fVar21); - cVar12 = *(char *)((int)psVar1 + 7); - } - } - } - goto LAB_7f0213c8; - } - } - uStack76 = 1; - if (((*(char *)((int)psVar1 + 7) == '\x03') && (*(int *)(psVar1 + 0x16) == 0)) && - (param_3 = 0, *(int *)(psVar1 + 0x1e) != 0)) { - proc_7F070AEC(uStack72,uStack84,0); - } - else { - proc_7F020E40((int)psVar1,uStack84,param_3,param_4); - } - cVar12 = *(char *)((int)psVar1 + 7); - } - else { - uStack76 = 0; - cVar12 = *(char *)((int)psVar1 + 7); - } -LAB_7f0213c8: - if (cVar12 == '\x01') { - if (*(int *)(uStack72 + 0x54) != 0) { - uVar16 = psVar1[9]; - goto LAB_7f0213f8; - } - if (*param_1 == '\x06') goto LAB_7f0213f4; - } - else { -LAB_7f0213f4: - uVar16 = psVar1[9]; -LAB_7f0213f8: - psVar1[9] = uVar16 | 0x200; - } - proc_7F0205F0((int)psVar1); - uVar3 = extraout_a1; - extraout_a2_02 = extraout_a2; - extraout_a3_02 = extraout_a3; - if (*(int *)(psVar1 + 0x10) != 0) { - proc_7F06B248(*(int *)(psVar1 + 0x10)); - *(undefined4 *)(psVar1 + 0x10) = 0; - uVar3 = extraout_a1_00; - extraout_a2_02 = extraout_a2_00; - extraout_a3_02 = extraout_a3_00; - } - if (uStack76 == 0) { - iVar9 = *(int *)(psVar1 + 0xb0); - if (iVar9 == 0) { - iVar9 = *(int *)(psVar1 + 0xb2); - } - else { - *(byte *)(iVar9 + 1) = *(byte *)(iVar9 + 1) & 0xfd; - iVar9 = *(int *)(psVar1 + 0xb2); - } - if (iVar9 == 0) { - iVar9 = *(int *)(psVar1 + 0xec); - } - else { - *(byte *)(iVar9 + 1) = *(byte *)(iVar9 + 1) & 0xfd; - iVar9 = *(int *)(psVar1 + 0xec); - } - if (iVar9 != 0) { - *(byte *)(iVar9 + 1) = *(byte *)(iVar9 + 1) & 0xfd; - } - param_1[1] = param_1[1] & 0xfd; - *(undefined *)(psVar1 + 0x7a) = *(undefined *)(psVar1 + 0x7c); - *(undefined *)((int)psVar1 + 0xf5) = *(undefined *)((int)psVar1 + 0xf9); - *(undefined *)(psVar1 + 0x7b) = *(undefined *)(psVar1 + 0x7d); - *(undefined *)((int)psVar1 + 0xf7) = *(undefined *)((int)psVar1 + 0xfb); - goto LAB_7f021aac; - } - get_debug_chrnum_flag(); - param_1[1] = param_1[1] | 2; - *(uint *)(psVar1 + 10) = *(uint *)(psVar1 + 10) | 8; - uVar4 = cheatCheckIfOn(cheats_cheat_dk_mode); - if (uVar4 != 0) { - set_flt_80036088(0.31250000); - } - dword_80036090 = proc_7F02083C; - end_save_files = psVar1; - pfStack48 = (float *)get_BONDdata_field_10CC(); - apfStack64[0] = pfStack48; - proc_7F0BD714((int)*(short *)(*(int *)(uStack72 + 8) + 0xe) << 6); - if ((-1 < *(char *)((int)end_save_files + 0x11)) && - (*(char *)((int)end_save_files + 0x11) = - *(char *)((int)end_save_files + 0x11) + (char)clock_timer, - '\x1d' < *(char *)((int)end_save_files + 0x11))) { - *(undefined *)((int)end_save_files + 0x11) = 0xff; - } - subcalcmatrices(apfStack64,uStack72,extraout_a2_lo_12,extraout_a3_lo_13); - dword_80036090 = NULL; - set_flt_80036088(1.00000000); - proc_7F040310((byte *)(psVar1 + 0x7a),(byte *)(psVar1 + 0x7c)); - fVar21 = proc_7F06C768(uStack72,extraout_a1_lo_08,extraout_a2_lo_13,extraout_a3_lo_14); - *(float *)(param_1 + 0x18) = fVar21; - piVar5 = proc_7F06B120(NULL,uStack72); - *(int **)(psVar1 + 0x10) = piVar5; - proc_7F0523F8((int)param_1,0,(int **)(psVar1 + 0x10)); - proc_7F0523F8((int)param_1,1,(int **)(psVar1 + 0x10)); - iVar9 = *(int *)(psVar1 + 0xec); - if (iVar9 != 0) { - iStack88 = *(int *)(iVar9 + 4); - uStack92 = *(uint *)(iStack88 + 0x14); - *(byte *)(iVar9 + 1) = *(byte *)(iVar9 + 1) | 2; - pfVar6 = (float *)proc_7F06C660(uStack72,*(ushort **)(uStack92 + 0x1c),0); - apfStack64[0] = pfVar6; - proc_7F0BD714((int)*(short *)(*(int *)(uStack92 + 8) + 0xe) << 6); - pfStack48 = pfVar6; - instcalcmatrices(apfStack64,uStack92,extraout_a2_lo_14,extraout_a3_lo_15); - if ((*(char *)(psVar1 + 3) < '*') || ('E' < *(char *)(psVar1 + 3))) { -LAB_7f021998: - uVar16 = psVar1[9]; - } - else { - xStack104.x = (float)dword_8002CCAC; - xStack104.y = (float)dword_8002CCB0; - xStack104.z = (float)dword_8002CCB4; - uVar3 = get_hat_model(*(int *)(psVar1 + 0xec)); - iVar9 = (int)uVar3; - iVar13 = (int)*(char *)(psVar1 + 3) + -0x2a; - phVar10 = flt_8003E464 + iVar9 + iVar13 * 6; - uVar7 = get_debug_render_raster(); - if (uVar7 == 0) { - uVar7 = get_controller_buttons_held('\0',L_TRIG); - if (uVar7 != 0) { - uVar7 = get_controller_buttons_held('\0',A_BUTTON); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].zoffset = - (float)flt_8003E464[iVar9 + iVar13 * 6].zoffset - flt_80051D58; - } - uVar7 = get_controller_buttons_held('\0',B_BUTTON); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].zoffset = - (float)flt_8003E464[iVar9 + iVar13 * 6].zoffset + flt_80051D5C; - } - uVar7 = get_controller_buttons_held('\0',D_CBUTTONS); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].yoffset = - (float)flt_8003E464[iVar9 + iVar13 * 6].yoffset - flt_80051D60; - } - uVar7 = get_controller_buttons_held('\0',U_CBUTTONS); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].yoffset = - (float)flt_8003E464[iVar9 + iVar13 * 6].yoffset + flt_80051D64; - } - uVar7 = get_controller_buttons_held('\0',L_CBUTTONS); - if (uVar7 != 0) { - *(float *)&phVar10->xoffset = (float)phVar10->xoffset - flt_80051D68; - } - uVar7 = get_controller_buttons_held('\0',R_CBUTTONS); - if (uVar7 != 0) { - *(float *)&phVar10->xoffset = (float)phVar10->xoffset + flt_80051D6C; - } - } - uVar7 = get_controller_buttons_held('\0',R_TRIG); - if (uVar7 != 0) { - uVar7 = get_controller_buttons_held('\0',A_BUTTON); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].zsize = - (float)flt_8003E464[iVar9 + iVar13 * 6].zsize * flt_80051D70; - } - uVar7 = get_controller_buttons_held('\0',B_BUTTON); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].zsize = - (float)flt_8003E464[iVar9 + iVar13 * 6].zsize * flt_80051D74; - } - uVar7 = get_controller_buttons_held('\0',D_CBUTTONS); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].ysize = - (float)flt_8003E464[iVar9 + iVar13 * 6].ysize * flt_80051D78; - } - uVar7 = get_controller_buttons_held('\0',U_CBUTTONS); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].ysize = - (float)flt_8003E464[iVar9 + iVar13 * 6].ysize * flt_80051D7C; - } - uVar7 = get_controller_buttons_held('\0',L_CBUTTONS); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].xsize = - (float)flt_8003E464[iVar9 + iVar13 * 6].xsize * flt_80051D80; - } - uVar7 = get_controller_buttons_held('\0',R_CBUTTONS); - if (uVar7 != 0) { - *(float *)&flt_8003E464[iVar9 + iVar13 * 6].xsize = - (float)flt_8003E464[iVar9 + iVar13 * 6].xsize * flt_80051D84; - } - } - } - xStack104.x = (float)phVar10->xoffset * flt_80051D88; - xStack104.y = (float)flt_8003E464[iVar9 + iVar13 * 6].yoffset * flt_80051D88; - xStack104.z = (float)flt_8003E464[iVar9 + iVar13 * 6].zoffset * flt_80051D88; - fStack108 = flt_8003E464[iVar9 + iVar13 * 6].xsize; - fStack112 = flt_8003E464[iVar9 + iVar13 * 6].ysize; - fStack116 = flt_8003E464[iVar9 + iVar13 * 6].zsize; - init_something_copy_posdata_to_it(&xStack104,(int *)afStack180); - proc_7F0589B4((float)fStack108,extraout_a0,afStack180); - proc_7F0589E4((float)fStack112,extraout_a0_00,(int)afStack180); - proc_7F058A4C((float)fStack116,extraout_a0_01,(int)afStack180); - proc_7F05818C(*(float **)(uStack92 + 0xc),afStack180,(int)afStack244); - proc_7F058020((float (*) [4] [4])afStack244,*(float (**) [4])(uStack92 + 0xc)); - if (iVar9 == 2) { - uStack80 = 0; - goto LAB_7f021998; - } - uVar16 = psVar1[9]; - } - if (((uVar16 & 1) == 0) || ((*(uint *)(iStack88 + 100) & 0x80) == 0)) { - piVar5 = proc_7F06B120(*(int **)(psVar1 + 0x10),uStack92); - *(int **)(psVar1 + 0x10) = piVar5; - } - } - partdesc = *(ushort **)(*(int *)(*(int *)(uStack72 + 8) + 8) + 0x10); - if (partdesc != NULL) { - piVar5 = (int *)extract_id_from_object_structure_microcode(uStack72,partdesc); - if ((*piVar5 != 0) && (partdesc = *(ushort **)(*(int *)(*piVar5 + 8) + 4), partdesc != NULL) - ) { - puVar8 = (undefined4 *)extract_id_from_object_structure_microcode(uStack72,partdesc); - *puVar8 = uStack80; - } - } - proc_7F06B29C(*(int **)(psVar1 + 0x10)); - iVar9 = proc_7F06BB28(*(int *)(psVar1 + 0x10)); - *(int *)(psVar1 + 0x10) = iVar9; - uVar3 = extraout_a1_01; - extraout_a2_02 = extraout_a2_01; - extraout_a3_02 = extraout_a3_01; -LAB_7f021aac: - if ((*(uint *)(psVar1 + 10) & 0x400) == 0) { - uVar16 = psVar1[9]; - if ((uVar16 & 1) != 0) { - iVar9 = *(int *)(param_1 + 0x20); - if (iVar9 != 0) { - iVar13 = *(int *)(iVar9 + 0x24); - while (iVar11 = iVar13, - proc_7F04C130(iVar9,(uint)uVar3,(int)extraout_a2_02,(int)extraout_a3_02), - iVar11 != 0) { - uVar3 = extraout_a1_02; - extraout_a2_02 = extraout_a2_02; - extraout_a3_02 = extraout_a3_02; - iVar13 = *(int *)(iVar11 + 0x24); - iVar9 = iVar11; - } - uVar16 = psVar1[9]; - } - psVar1[9] = uVar16 & 0xfffe; - } - proc_7F02E26C(psVar1); - } - return 0; -} - - - -void proc_7F021B20(int param_1) - -{ - int iVar1; - ushort uVar2; - int iVar3; - - iVar3 = *(int *)(*(int *)(param_1 + 0x18) + 0x20); - if (iVar3 == 0) { - uVar2 = *(ushort *)(param_1 + 0x12); - } - else { - iVar1 = *(int *)(param_1 + 0x1d8); - while( true ) { - if (iVar3 == iVar1) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if (iVar3 == *(int *)(param_1 + 0x164)) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if (iVar3 == *(int *)(param_1 + 0x160)) { - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - if ((*(uint *)(*(int *)(iVar3 + 4) + 8) & 0x2000) == 0) { - proc_7F04BFD0(iVar3,1); - iVar3 = *(int *)(iVar3 + 0x24); - } - else { - iVar3 = *(int *)(iVar3 + 0x24); - } - } - } - } - if (iVar3 == 0) break; - iVar1 = *(int *)(param_1 + 0x1d8); - } - uVar2 = *(ushort *)(param_1 + 0x12); - } - *(ushort *)(param_1 + 0x12) = uVar2 | 1; - return; -} - - - -void proc_7F021BB4(undefined *param_1) - -{ - byte_8002CCB8 = *param_1; - DAT_8002ccb9 = param_1[1]; - DAT_8002ccba = param_1[2]; - return; -} - - - -void proc_7F021BD8(undefined *param_1) - -{ - *param_1 = byte_8002CCB8; - param_1[1] = DAT_8002ccb9; - param_1[2] = DAT_8002ccba; - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -longlong proc_7F021BFC(char *param_1,uint *param_2,uint param_3) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - longlong lVar5; - undefined4 extraout_a2_lo; - int iVar6; - undefined4 extraout_a3_lo; - int iVar7; - int iVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - float fVar13; - float extraout_f12; - float extraout_f14; - uint *puStackX4; - int iStack140; - uint uStack136; - uint uStack132; - uint uStack128; - uint uStack124; - float fStack120; - float fStack116; - undefined4 uStack104; - undefined4 uStack100; - undefined4 uStack96; - uint *puStack92; - undefined4 uStack56; - uint uStack52; - uint uStack48; - uint uStack36; - undefined4 uStack32; - int iStack28; - float afStack24 [3]; - float fStack12; - - iVar1 = *(int *)(param_1 + 4); - uStack36 = (uint)*(byte *)(iVar1 + 0xc); - if (-1 < *(int *)(iVar1 + 0x14) << 5) { - fVar13 = getinstsize(*(int *)(iVar1 + 0x1c),(uint)param_2,param_3,*(int *)(iVar1 + 0x1c)); - proc_7F054B80((int)param_1); - uStack36 = (uint)((float)uStack36 * fVar13); - } - if (((int)uStack36 < 0xff) || (*(int *)(iVar1 + 0x14) << 0xe < 0)) { - if (param_3 == 0) { - return (longlong)(int)param_2; - } - uStack32 = 3; - } - else { - if (param_3 == 0) { - uStack32 = 1; - } - else { - uStack32 = 2; - } - } - lVar5 = if_sky_present_convert_values((int)param_1,afStack24); - iStack28 = (int)lVar5; - puStackX4 = param_2; - if (lVar5 != 0) { - puVar11 = &dword_8002CCBC; - puVar9 = &uStack104; - if (0 < (int)uStack36) { - do { - puVar12 = puVar11 + 3; - puVar10 = puVar9 + 3; - *puVar9 = *puVar11; - puVar9[1] = puVar11[1]; - puVar9[2] = puVar11[2]; - puVar11 = puVar12; - puVar9 = puVar10; - } while (puVar12 != (undefined4 *)&dword_8002CCF8); - iVar6 = 0; - *puVar10 = _dword_8002CCF8; - iStack140 = 0x50; - iVar2 = *(int *)(iVar1 + 0x160); - iVar3 = *(int *)(iVar1 + 0x164); - iVar4 = *(int *)(iVar1 + 0x1d8); - iVar7 = 0; - iVar8 = 0; - if (iVar2 != 0) { - iVar6 = *(int *)(iVar2 + 4); - } - if (iVar3 != 0) { - iVar7 = *(int *)(iVar3 + 4); - } - if (iVar4 != 0) { - iVar8 = *(int *)(iVar4 + 4); - } - lVar5 = proc_7F054A64(param_1,&fStack120); - if ((lVar5 < 1) || (*(int *)(iVar1 + 0x14) << 8 < 0)) { - puStack92 = proc_7F0B4FB4(param_2); - } - else { - puStack92 = proc_7F0B4FF4(param_2,extraout_f12,extraout_f14,fStack120,fStack116); - } - uStack100 = 1; - uStack96 = uStack32; - if ((*(uint *)(iVar1 + 0x14) & 0x2000) == 0) { - if (iStack28 == 1) { - iStack140 = (int)((1.00000000 - fStack12) * 80.00000000); - } - } - else { - iStack140 = 0; - } - proc_7F073FC8(iStack140); - uStack136 = (uint)*(byte *)(iVar1 + 0xf4); - uStack132 = (uint)*(byte *)(iVar1 + 0xf5); - uStack128 = (uint)*(byte *)(iVar1 + 0xf6); - uStack124 = (uint)*(byte *)(iVar1 + 0xf7); - proc_7F040384((int *)&uStack136,(longlong)iStack28,afStack24); - uStack52 = (uint)DAT_8002ccba << 8 | (uint)byte_8002CCB8 << 0x18 | - (uint)DAT_8002ccb9 << 0x10; - uStack48 = uStack124 | uStack136 << 0x18 | uStack132 << 0x10 | uStack128 << 8; - if ((int)uStack36 < 0xff) { - uStack56 = 8; - uStack52 |= uStack36 & 0xff; - } - else { - uStack56 = 7; - } - pPlayersPerm->drawplayercount = pPlayersPerm->drawplayercount + 1; - drawjointlist((int)&uStack104,*(uint **)(iVar1 + 0x20),extraout_a2_lo,extraout_a3_lo); - puStackX4 = puStack92; - if ((iVar6 != 0) && - (((ulonglong)*(byte *)(iVar6 + 2) & (longlong)(1 << (param_3 & 0x1f)) & 0xffU) != 0)) - { - puStackX4 = proc_7F0A1A94(puStack92,iVar2,param_3); - } - if ((iVar7 != 0) && - (((ulonglong)*(byte *)(iVar7 + 2) & (longlong)(1 << (param_3 & 0x1f)) & 0xffU) != 0)) - { - puStackX4 = proc_7F0A1A94(puStackX4,iVar3,param_3); - } - if ((iVar8 != 0) && - (((ulonglong)*(byte *)(iVar8 + 2) & (longlong)(1 << (param_3 & 0x1f)) & 0xffU) != 0)) - { - puStackX4 = proc_7F0A1A94(puStackX4,iVar4,param_3); - } - if (param_3 != 0) { - proc_7F08BD48(*(undefined4 **)(*(int *)(iVar1 + 0x1c) + 0xc), - (int)*(short *)(*(int *)(*(int *)(iVar1 + 0x1c) + 8) + 0xe)); - if ((iVar6 != 0) && ((*(uint *)(iVar6 + 100) & 0x800) == 0)) { - proc_7F08BD48(*(undefined4 **)(*(int *)(iVar6 + 0x14) + 0xc), - (int)*(short *)(*(int *)(*(int *)(iVar6 + 0x14) + 8) + 0xe)); - } - if ((iVar7 != 0) && ((*(uint *)(iVar7 + 100) & 0x800) == 0)) { - proc_7F08BD48(*(undefined4 **)(*(int *)(iVar7 + 0x14) + 0xc), - (int)*(short *)(*(int *)(*(int *)(iVar7 + 0x14) + 8) + 0xe)); - } - if (iVar8 != 0) { - proc_7F08BD48(*(undefined4 **)(*(int *)(iVar8 + 0x14) + 0xc), - (int)*(short *)(*(int *)(*(int *)(iVar8 + 0x14) + 8) + 0xe)); - } - } - } - } - if (param_3 != 0) { - proc_7F06B248(*(int *)(iVar1 + 0x20)); - *(undefined4 *)(iVar1 + 0x20) = 0; - } - return (longlong)(int)puStackX4; -} - - - -void proc_7F022078(int param_1,longlong param_2,float *param_3,undefined4 *param_4) - -{ - animation_something *paVar1; - u32 uVar2; - float *pfVar3; - longlong lVar4; - int iVar5; - int iVar6; - float fVar7; - float in_f12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float local_14; - float local_10; - float local_c; - - iVar5 = 0; - iVar6 = 0; - if (dword_8002C914.anonymous_0 != -1) { - paVar1 = &dword_8002C914; - lVar4 = (longlong)dword_8002C914.anonymous_0; - do { - iVar6 = iVar5; - if (param_2 == lVar4) break; - lVar4 = (longlong)paVar1[1].anonymous_0; - iVar5 += 1; - paVar1 = paVar1 + 1; - iVar6 = 0; - } while (lVar4 != -1); - } - if ((&dword_8002C914)[iVar6].field_10 == 0) { - iVar5 = (&dword_8002C914)[iVar6].field_4; - } - else { - uVar2 = get_random_value(); - in_f12 = extraout_f12; - if ((uVar2 & 4) == 0) { - fVar7 = sqrtf(param_3[2] * param_3[2] + *param_3 * *param_3 + param_3[1] * param_3[1]); - local_c = 42.00000000 / fVar7 + 1.00000000; - local_14 = *param_3 * local_c; - local_10 = param_3[1] * local_c; - local_c = param_3[2] * local_c; - pfVar3 = (float *)get_BONDdata_field_10D4(); - proc_7F058474(pfVar3,&local_14); - proc_7F0A3E1C(&local_14,(&dword_8002C914)[iVar6].field_10,extraout_f12_00, - (short)(&dword_8002C914)[iVar6].field_18); - in_f12 = extraout_f12_01; - } - iVar5 = (&dword_8002C914)[iVar6].field_4; - } - if (iVar5 != 0) { - proc_7F0A3E1C(param_4,iVar5,in_f12,(short)(&dword_8002C914)[iVar6].field_C); - } - return; -} - - - -void proc_7F0221DC(int param_1,int param_2,ushort *param_3,float *param_4) - -{ - char cVar1; - int *piVar2; - u32 uVar3; - char cVar4; - int iVar5; - short *psVar6; - undefined4 *puVar7; - longlong lVar8; - int iVar9; - longlong lVar10; - ushort *puVar11; - undefined4 *puVar12; - ushort uVar13; - ushort *puVar14; - int iVar15; - int iVar16; - int *piVar17; - ushort *puVar18; - ushort *partdesc; - longlong lVar19; - longlong lVar20; - int iVar21; - float fVar22; - float fVar23; - float fVar24; - int iStack80; - - fVar22 = *param_4; - partdesc = NULL; - lVar19 = 0; - iVar9 = 0; - iVar15 = 0x7fffffff; - fVar23 = param_4[1]; - fVar24 = param_4[2]; - if (param_3 == NULL) { -LAB_7f0223c0: - if (partdesc != NULL) { - iVar15 = *(int *)(partdesc + 2); - piVar2 = (int *)extract_id_from_object_structure_microcode(param_1,partdesc); - iVar16 = 0; - piVar17 = NULL; - iStack80 = 0; - uVar3 = get_random_value(); - cVar1 = (char)(uVar3 % 0x32); - cVar4 = cVar1 + '\x14'; - if (param_2 == 8) { - cVar4 = cVar1 + 'x'; - } - if (param_2 == 0xf) { - cVar4 += '2'; - iVar5 = *(int *)(iVar15 + 0x10); - } - else { - iVar5 = *(int *)(iVar15 + 0x10); - } - iVar9 *= 0x10; - partdesc = *(ushort **)(iVar5 + iVar9 + 8); - if (partdesc != NULL) { - iVar16 = *(int *)(partdesc + 2); - piVar17 = (int *)extract_id_from_object_structure_microcode(param_1,partdesc); - iStack80 = (int)*(short *)(*(int *)(iVar15 + 0x10) + iVar9 + 0xc); - } - if ((*(int *)(iVar15 + 8) == *piVar2) && - (puVar7 = (undefined4 *)proc_7F09BE4C((longlong)*(short *)(iVar15 + 0xc),0xcccc,0,0), - puVar7 != NULL)) { - *(undefined4 **)piVar2 = puVar7; - lVar19 = 0; - iVar5 = 0; - if (0 < *(short *)(iVar15 + 0xc)) { - iVar21 = *(int *)(iVar15 + 8); - while( true ) { - lVar19 = (longlong)((int)lVar19 + 1); - puVar12 = (undefined4 *)(iVar21 + iVar5); - iVar5 += 0x10; - *puVar7 = *puVar12; - puVar7[1] = puVar12[1]; - puVar7[2] = puVar12[2]; - puVar7[3] = puVar12[3]; - if (*(short *)(iVar15 + 0xc) <= lVar19) break; - iVar21 = *(int *)(iVar15 + 8); - puVar7 = puVar7 + 4; - } - } - } - if (piVar17 == NULL) { - iVar5 = *(int *)(iVar15 + 8); - } - else { - if ((*(int *)(iVar16 + 8) == *piVar17) && - (puVar7 = (undefined4 *) - proc_7F09BE4C((longlong)*(short *)(iVar16 + 0xc),0xcccc,0,0), - puVar7 != NULL)) { - *(undefined4 **)piVar17 = puVar7; - lVar19 = 0; - iVar5 = 0; - if (0 < *(short *)(iVar16 + 0xc)) { - iVar21 = *(int *)(iVar16 + 8); - while( true ) { - lVar19 = (longlong)((int)lVar19 + 1); - puVar12 = (undefined4 *)(iVar21 + iVar5); - iVar5 += 0x10; - *puVar7 = *puVar12; - puVar7[1] = puVar12[1]; - puVar7[2] = puVar12[2]; - puVar7[3] = puVar12[3]; - if (*(short *)(iVar16 + 0xc) <= lVar19) break; - iVar21 = *(int *)(iVar16 + 8); - puVar7 = puVar7 + 4; - } - } - } - iVar5 = *(int *)(iVar15 + 8); - } - if ((iVar5 != *piVar2) && - (lVar19 = (longlong)*(short *)(*(int *)(iVar15 + 0x10) + iVar9 + 6), -1 < lVar19)) { - iVar9 = *piVar2; - while( true ) { - *(char *)(iVar9 + (int)lVar19 * 0x10 + 0xf) = cVar4; - lVar19 = (longlong)*(short *)(*(int *)(iVar15 + 0x14) + (int)lVar19 * 2); - if (lVar19 < 0) break; - iVar9 = *piVar2; - } - } - if (((piVar17 != NULL) && (*(int *)(iVar16 + 8) != *piVar17)) && - (lVar19 = (longlong)*(short *)(*(int *)(iVar16 + 0x10) + iStack80 * 0x10 + 6), - -1 < lVar19)) { - iVar9 = *piVar17; - while( true ) { - *(char *)(iVar9 + (int)lVar19 * 0x10 + 0xf) = cVar4; - lVar19 = (longlong)*(short *)(*(int *)(iVar16 + 0x14) + (int)lVar19 * 2); - if (lVar19 < 0) break; - iVar9 = *piVar17; - } - } - } - return; - } - uVar13 = *param_3; - puVar14 = param_3; - do { - uVar13 &= 0xff; - if (uVar13 == 8) { - proc_7F06E970(param_1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - if (uVar13 == 0x12) { - process_12_handle_switch(param_1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - if (uVar13 == 0x17) { - process_17_pointer_to_head(param_1,puVar14); - puVar11 = *(ushort **)(puVar14 + 10); - } - else { - puVar11 = *(ushort **)(puVar14 + 10); - if (uVar13 == 0x18) { - lVar8 = 0; - lVar10 = (longlong)*(short *)(*(int *)(puVar14 + 2) + 0xe); - if (0 < lVar10) { - psVar6 = *(short **)(*(int *)(puVar14 + 2) + 0x10); - lVar20 = lVar19; - puVar18 = partdesc; - do { - iVar9 = ((int)fVar22 - (int)*psVar6) * ((int)fVar22 - (int)*psVar6) - + ((int)fVar23 - (int)psVar6[1]) * - ((int)fVar23 - (int)psVar6[1]) + - ((int)fVar24 - (int)psVar6[2]) * - ((int)fVar24 - (int)psVar6[2]); - lVar19 = lVar8; - partdesc = puVar14; - if (iVar15 <= iVar9) { - lVar19 = lVar20; - iVar9 = iVar15; - partdesc = puVar18; - } - iVar15 = iVar9; - lVar8 = (longlong)((int)lVar8 + 1); - psVar6 = psVar6 + 8; - lVar20 = lVar19; - puVar18 = partdesc; - } while (lVar8 < lVar10); - } - } - } - } - } - iVar9 = (int)lVar19; - if ((puVar11 == NULL) || ((puVar14 != param_3 && ((uVar13 == 10 || (uVar13 == 0x11)))))) { - while (puVar11 = puVar14, puVar14 != NULL) { - if (puVar14 == param_3) { - puVar11 = NULL; - break; - } - puVar11 = *(ushort **)(puVar14 + 6); - if (*(ushort **)(puVar14 + 6) != NULL) break; - puVar14 = *(ushort **)(puVar14 + 4); - } - } - puVar14 = puVar11; - if (puVar14 == NULL) goto LAB_7f0223c0; - uVar13 = *puVar14; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f0227bc) overlaps instruction at (ram,0x7f0227b8) -// - -void proc_7F022648(int param_1,float *param_2,undefined4 param_3,undefined4 param_4) - -{ - bool bVar1; - longlong lVar2; - int objinst; - uint extraout_a1_lo; - uint uVar3; - undefined4 extraout_a2_lo; - int iVar4; - undefined4 extraout_a3_lo; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 uVar5; - float *pfVar6; - ulonglong uVar7; - float fVar8; - float fVar9; - float fVar10; - float extraout_f12; - float fStack124; - float fStack120; - float fStack116; - int *apiStack112 [5]; - float fStack92; - int iStack88; - ushort *puStack84; - int iStack80; - float afStack76 [12]; - int iStack28; - undefined4 *puStack24; - int aiStack20 [2]; - float fStack12; - int iStack4; - - iStack4 = *(int *)(param_1 + 4); - if (*(char *)(iStack4 + 7) != '\x05') { - objinst = *(int *)(iStack4 + 0x1c); - fStack12 = getinstsize(objinst,(uint)param_2,param_3,param_4); - if (((*(byte *)(param_1 + 1) & 2) != 0) && - (*(float *)(param_1 + 0x18) - fStack12 < param_2[0xd])) { - aiStack20[0] = 0; - puStack24 = NULL; - iStack28 = 0; - puStack84 = NULL; - iStack88 = getsubmatrix(objinst,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar10 = 0.00000000; - uVar3 = 0; - uVar5 = extraout_a3; - iVar4 = iStack4; - do { - if (*(int *)(iVar4 + 0x160) != 0) { - fStack92 = fVar10; - fVar10 = getinstsize(*(int *)(*(int *)(*(int *)(iVar4 + 0x160) + 4) + 0x14), - uVar3,iVar4,(int)uVar5); - fVar10 = fVar10 * *(float *)(objinst + 0x14); - uVar5 = extraout_a3_00; - if (fVar10 <= fStack92) { - fVar10 = fStack92; - } - } - uVar3 += 4; - iVar4 += 4; - } while (uVar3 != 8); - pfVar6 = param_2 + 3; - lVar2 = proc_7F041074(param_2,pfVar6,(float *)(iStack88 + 0x30),fVar10); - bVar1 = lVar2 != 0; - if (bVar1) { - iStack28 = 1; - } - uVar7 = (ulonglong)bVar1; - if (bVar1) { - apiStack112[0] = *(int **)(iStack4 + 0x20); - objinst = proc_7F06C010(apiStack112,param_2,pfVar6,aiStack20,(ushort **)&puStack24); - while ((uVar7 = SEXT48(objinst), uVar7 == 100 || (uVar7 == 0x6e))) { - objinst = proc_7F04D9B0(aiStack20[0],(ushort *)puStack24,param_2,pfVar6, - afStack76,&iStack80,&puStack84); - if (objinst != 0) break; - objinst = probably_damage_detail_blood_effect_related - (apiStack112,param_2,pfVar6,aiStack20,(ushort **)&puStack24) - ; - } - } - if (0 < (longlong)uVar7) { - fStack124 = param_2[3]; - fStack120 = param_2[4]; - fStack116 = param_2[5]; - pfVar6 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar6,&fStack124); - objinst = proc_7F06C660(aiStack20[0],(ushort *)puStack24,0); - fVar8 = *(float *)(objinst + 0x30) - *param_2; - fVar10 = *(float *)(objinst + 0x34) - param_2[1]; - fVar9 = *(float *)(objinst + 0x38) - param_2[2]; - fVar10 = sqrtf(fVar9 * fVar9 + fVar8 * fVar8 + fVar10 * fVar10); - fVar10 = -(param_2[5] * fVar10 + param_2[2]); - if (fVar10 < param_2[0xd]) { - proc_7F03B9C0((int)param_2,param_1,extraout_f12,fVar10,(int)uVar7,puStack24, - afStack76,iStack80,puStack84,aiStack20[0],1); - } - } - if ((iStack28 != 0) && (*(float *)(param_1 + 0x18) <= param_2[0xd])) { - *(uint *)(iStack4 + 0x14) = *(uint *)(iStack4 + 0x14) | 4; - *(char *)(iStack4 + 10) = *(char *)(iStack4 + 10) + '\x01'; - } - } - } - return; -} - - - -void proc_7F022980(float *param_1,float *param_2) - -{ - char cVar1; - int iVar2; - int iVar3; - hit_header *phVar4; - longlong lVar5; - u32 uVar6; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - undefined8 extraout_a2_01; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - int iVar7; - int iVar8; - float fVar9; - float *extraout_f0; - float *pfVar10; - float *pfVar11; - float extraout_f12; - float fStack136; - float fStack132; - float fStack128; - hit_header *phStack112; - float fStack96; - float fStack92; - float fStack88; - float fStack80; - float fStack76; - float fStack72; - float afStack68 [17]; - - iVar2 = *(int *)((int)param_2[1] + 4); - fStack96 = *param_1 - (*param_2 * param_1[3]) / param_1[5]; - fStack92 = param_1[1] - (*param_2 * param_1[4]) / param_1[5]; - fStack88 = param_1[2] - *param_2; - fVar9 = sqrtf(fStack88 * fStack88 + fStack96 * fStack96 + fStack92 * fStack92); - fStack72 = 1.00000000 - 42.00000000 / fVar9; - fStack80 = fStack96 * fStack72; - fStack76 = fStack92 * fStack72; - fStack72 = fStack88 * fStack72; - pfVar10 = (float *)get_BONDdata_field_10D4(); - proc_7F058474(pfVar10,&fStack80); - proc_7F067B4C(&fStack80); - recall_joy2_hits_edit_detail_edit_flag(); - proc_7F022078((int)param_2[1],(longlong)(int)param_2[2],&fStack96,&fStack80); - lVar5 = proc_7F02727C(); - if (lVar5 != 0) { - if (param_2[2] == 0.00000000) { - iVar7 = 0; - pfVar10 = extraout_f0; - iVar8 = iVar2; - do { - iVar3 = *(int *)(iVar8 + 0x160); - if ((iVar3 != 0) && (param_2[0x12] == *(float *)(*(int *)(iVar3 + 4) + 0x14))) { - cVar1 = *(char *)(*(int *)(iVar3 + 4) + 0x80); - if (((cVar1 == '\x1a') || - (((cVar1 == 'W' || (cVar1 == 'V')) || (cVar1 == '\x1b')))) || - (((cVar1 == '!' || (cVar1 == '\x1d')) || (cVar1 == '\x1c')))) { - proc_7F04BFD0(iVar3,1); - *(ushort *)(iVar2 + 0x12) = *(ushort *)(iVar2 + 0x12) | 1; - proc_7F05DF84((int)param_1[6]); - pfVar11 = pfVar10; - get_cur_playernum(); - maybe_detonate_object - (*(object_standard **)(iVar3 + 4),extraout_f12,pfVar10, - (int)&fStack96,(int)param_1[6]); - pfVar10 = pfVar11; - } - else { - phStack112 = (hit_header *)hit_header_array[0]; - if (-1 < *(short *)((int)param_2 + 0x3a)) { - phStack112 = (hit_header *) - hit_header_array - [(uint)(byte)image_entries[*(short *)((int)param_2 + 0x3a)] - .flag1 & 0xf]; - } - uVar6 = get_random_value(); - if (phStack112->count2 == 0) { - trap(0x1c00); - } - proc_7F0A108C(param_2 + 4,param_2 + 7, - (ushort)phStack112->ptrarray2 - [uVar6 % (int)(short)phStack112->count2],1,iVar3, - SUB41(param_2[0x10],0),0); - } - } - iVar7 += 4; - iVar8 += 4; - } while (iVar7 != 8); - } - else { - if (param_2[2] == 0.00000000) { - phVar4 = (hit_header *)hit_header_array[0]; - if (-1 < *(short *)((int)param_2 + 0x3a)) { - phVar4 = (hit_header *) - hit_header_array - [(uint)(byte)image_entries[*(short *)((int)param_2 + 0x3a)].flag1 & 0xf - ]; - } - uVar6 = get_random_value(); - if (phVar4->count2 == 0) { - trap(0x1c00); - } - proc_7F0A108C(param_2 + 4,param_2 + 7, - (ushort)phVar4->ptrarray2[uVar6 % (int)(short)phVar4->count2],1, - *(int *)(iVar2 + 0x1d8),SUB41(param_2[0x10],0),0); - } - else { - pfVar10 = (float *)proc_7F06C660((int)param_2[0x12],(ushort *)param_2[3],0); - fStack136 = fStack96 + (fStack96 - pfVar10[0xc]) * 0.50000000; - fStack132 = fStack92 + (fStack92 - pfVar10[0xd]) * 0.50000000; - fStack128 = fStack88 + (fStack88 - pfVar10[0xe]) * 0.50000000; - fVar9 = getjointsize((int)param_2[0x12],(ushort *)param_2[3],extraout_a2, - extraout_a3_lo); - fStack136 = fStack136 - fVar9 * 0.50000000 * param_1[3]; - fVar9 = getjointsize((int)param_2[0x12],(ushort *)param_2[3],extraout_a2_00, - extraout_a3_lo_00); - fStack132 = fStack132 - fVar9 * 0.50000000 * param_1[4]; - fVar9 = getjointsize((int)param_2[0x12],(ushort *)param_2[3],extraout_a2_01, - extraout_a3_lo_01); - fStack128 = fStack128 - fVar9 * 0.50000000 * param_1[5]; - proc_7F059E64(pfVar10,afStack68); - proc_7F058474(afStack68,&fStack136); - proc_7F0221DC((int)param_2[0x12],(int)param_2[2],(ushort *)param_2[3],&fStack136); - } - } - } - return; -} - - - -void removed_tooklevelscale(f32 param_1) - -{ - return; -} - - - -void proc_7F022E24(undefined4 param_1) - -{ - dword_8002C904 = param_1; - return; -} - - - -void proc_7F022E30(void) - -{ - int iVar1; - - dword_8002C908 += -1; - if (dword_8002C908 < 0) { - dword_8002C908 = 0; - iVar1 = 1; - if (animation_table_ptrs1._4_4_ != 0) { - while (dword_8002C908 = iVar1, *(int *)(animation_table_ptrs1 + iVar1 * 4 + 4) != 0) { - iVar1 += 1; - } - } - } - return; -} - - - -void proc_7F022E90(void) - -{ - dword_8002C908 += 1; - if (*(int *)(animation_table_ptrs1 + dword_8002C908 * 4) == 0) { - dword_8002C908 = 0; - } - return; -} - - - -void proc_7F022EC8(void) - -{ - dword_8002C90C = (uint)(dword_8002C90C == 0); - return; -} - - - -void proc_7F022EE0(undefined4 param_1) - -{ - dword_8002C910 = param_1; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F022EEC(void) - -{ - int iVar1; - int iVar2; - float in_f0; - float in_f12; - - iVar2 = 0; - if (0 < num_guards) { - iVar1 = 0; - do { - if ((*(int *)((int)&ptr_guard_data->MODELdata_pointer + iVar1) != 0) && - (proc_7F032DE4((int)&ptr_guard_data->chrnum + iVar1), - in_f0 < *(float *)((int)&ptr_guard_data->hearingscale + iVar1) * - in_f12 * 100.00000000)) { - proc_7F029C00((int)&ptr_guard_data->chrnum + iVar1); - } - iVar2 += 1; - iVar1 += 0x1dc; - } while (iVar2 < num_guards); - } - return; -} - - - -GUARDdata * check_if_guardnum_loaded_get_ptr_GUARDdata(short guardnum) - -{ - int iVar1; - int iVar2; - GUARDdata *pGVar3; - - iVar1 = 0; - if (0 < num_guards) { - iVar2 = 0; - pGVar3 = ptr_guard_data; - do { - iVar1 += 1; - if ((pGVar3->MODELdata_pointer != 0) && (guardnum == pGVar3->chrnum)) { - return (GUARDdata *)((int)&ptr_guard_data->chrnum + iVar2); - } - iVar2 += 0x1dc; - pGVar3 = pGVar3 + 1; - } while (iVar1 < num_guards); - } - return NULL; -} - - - -int something_with_weaponpos_of_guarddata_hand(GUARDdata *guard,int hand) - -{ - return guard->handle_positiondata[hand]; -} - - - -int is_weapon_in_guarddata_hand(GUARDdata *guard,int hand) - -{ - int iVar1; - int iVar2; - - iVar2 = guard->handle_positiondata[hand]; - if ((iVar2 != 0) && - (iVar1 = check_special_attributes((int)*(char *)(*(int *)(iVar2 + 4) + 0x80),0x200), - iVar1 == 0)) { - iVar2 = 0; - } - return iVar2; -} - - - -void proc_7F02308C(int param_1,int *param_2,undefined4 *param_3,float *param_4,float *param_5) - -{ - int iVar1; - float fVar2; - - iVar1 = *(int *)(param_1 + 4); - if (*(char *)(iVar1 + 7) == '\x04') { - *param_3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x05') { - *param_3 = 0; - } - else { - if ((*(uint *)(iVar1 + 0x14) & 0x10400) == 0) { - if ((*(ushort *)(iVar1 + 0x12) & 0x100) == 0) { - *param_3 = 4; - *param_2 = iVar1 + 0x11c; - fVar2 = *(float *)(iVar1 + 0x24); - *(float *)(iVar1 + 0x11c) = *(float *)(param_1 + 8) + fVar2; - *(undefined4 *)(iVar1 + 0x120) = *(undefined4 *)(param_1 + 0x10); - *(undefined4 *)(iVar1 + 0x124) = *(undefined4 *)(param_1 + 8); - *(float *)(iVar1 + 0x128) = *(float *)(param_1 + 0x10) + fVar2; - *(float *)(iVar1 + 300) = *(float *)(param_1 + 8) - fVar2; - *(undefined4 *)(iVar1 + 0x130) = *(undefined4 *)(param_1 + 0x10); - *(undefined4 *)(iVar1 + 0x134) = *(undefined4 *)(param_1 + 8); - *(float *)(iVar1 + 0x138) = *(float *)(param_1 + 0x10) - fVar2; - *param_5 = *(float *)(iVar1 + 0xac); - *param_4 = *param_5 + *(float *)(iVar1 + 0x28); - return; - } - *param_3 = 0; - } - else { - *param_3 = 0; - } - } - } - return; -} - - - -void proc_7F023160(int param_1,undefined4 *param_2,float *param_3,undefined4 *param_4) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 4); - *param_2 = *(undefined4 *)(iVar1 + 0x24); - *param_3 = *(float *)(iVar1 + 0x28) - 20.00000000; - *param_4 = 0x41a00000; - return; -} - - - -undefined4 proc_7F023188(int param_1) - -{ - return *(undefined4 *)(param_1 + 4); -} - - - -undefined8 proc_7F023194(int param_1,float *param_2,float *param_3,float *param_4) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - float fVar4; - - iVar1 = *(int *)(param_1 + 4); - if ((*(byte *)(param_1 + 1) & 2) == 0) { - uVar3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x04') { - uVar3 = 0; - } - else { - if (*(char *)(iVar1 + 7) == '\x05') { - uVar3 = 0; - } - else { - if ((*(uint *)(iVar1 + 0x14) & 0x800) == 0) { - iVar1 = *(int *)(iVar1 + 0x1c); - iVar2 = *(int *)(iVar1 + 0xc); - fVar4 = (*(float *)(iVar2 + 0x38) - *(float *)(iVar2 + 0x78)) * 0.25000000 + - *(float *)(iVar2 + 0x78); - param_2[2] = fVar4; - if (fVar4 < 0.00000000) { - *param_2 = (*(float *)(iVar2 + 0x30) - *(float *)(iVar2 + 0x70)) * - 0.25000000 + *(float *)(iVar2 + 0x70); - param_2[1] = (*(float *)(iVar2 + 0x34) - *(float *)(iVar2 + 0x74)) * - 0.25000000 + *(float *)(iVar2 + 0x74); - param_4[1] = 0.00000000; - *param_4 = 0.00000000; - *param_3 = 0.00000000; - param_3[1] = 0.00000000; - proc_7F03F90C(iVar1,param_3 + 1,param_3,param_4 + 1,param_4); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - else { - uVar3 = 0; - } - } - } - } - return uVar3; -} - - - -ulonglong load_body_head_if_not_loaded(int model) - -{ - bool bVar1; - - bVar1 = (c_item_entries[model].header)->offset_obj_table == 0; - if (bVar1) { - load_object_into_memory(c_item_entries[model].header,(u8 *)c_item_entries[model].filename); - } - return (ulonglong)bVar1; -} - - - -uint maybe_load_models_for_guards - (int body,int head,object_header *bodyheader,object_header *headheader,int sunglasses - ,uint object_controller) - -{ - undefined4 *puVar1; - float fVar2; - f32 extraout_f12; - f32 extraout_f12_00; - f32 scale; - f32 extraout_f12_01; - ushort *local_c; - - fVar2 = c_item_entries[body].anonymous_2; - local_c = NULL; - cheatCheckIfOn(cheats_cheat_dk_mode); - if (bodyheader->offset_obj_table == 0) { - load_object_into_memory(bodyheader,(u8 *)c_item_entries[body].filename); - } - set_objuse_flag_compute_grp_nums_set_obj_loaded(bodyheader); - scale = extraout_f12; - if (((*(char *)((int)&c_item_entries[body].anonymous_3 + 1) == '\0') && (-1 < head)) && - (local_c = *(ushort **)(bodyheader->offset_obj_offset_block + 0x10), local_c != NULL)) { - if (headheader->offset_obj_table == 0) { - load_object_into_memory(headheader,(u8 *)c_item_entries[head].filename); - } - set_objuse_flag_compute_grp_nums_set_obj_loaded(headheader); - bodyheader->num_table_entries = - bodyheader->num_table_entries + headheader->num_table_entries; - scale = extraout_f12_00; - } - if (object_controller == 0) { - object_controller = get_aircraft_obj_instance_controller(bodyheader); - scale = extraout_f12_01; - } - if (object_controller != 0) { - set_obj_instance_controller_scale(object_controller,scale); - proc_7F06CE84(object_controller,fVar2); - if ((headheader != NULL) && (*(char *)((int)&c_item_entries[body].anonymous_3 + 1) == '\0')) - { - bodyheader->num_table_entries = - bodyheader->num_table_entries - headheader->num_table_entries; - proc_7F06C3B4(object_controller,local_c,(ushort **)headheader); - if ((sunglasses == 0) && - ((0 < headheader->num_offset_entries && - (*(ushort **)headheader->offset_obj_offset_block != NULL)))) { - puVar1 = (undefined4 *) - extract_id_from_object_structure_microcode - (object_controller, - *(ushort **)headheader->offset_obj_offset_block); - *puVar1 = 0; - } - } - } - return object_controller; -} - - - -uint setup_chr_instance(int body,int head,object_header *body_header,object_header *head_header, - int sunglasses) - -{ - uint uVar1; - - uVar1 = maybe_load_models_for_guards(body,head,body_header,head_header,sunglasses,0); - return uVar1; -} - - - -uint retrieve_header_for_body_and_head(int body,int head,ulonglong bitflags) - -{ - object_header *body_header; - u32 uVar1; - uint sunglasses; - object_header *local_8; - - body_header = c_item_entries[body].header; - local_8 = NULL; - sunglasses = 0; - if ((bitflags & 1) == 0) { - if ((bitflags & 2) != 0) { - uVar1 = get_random_value(); - sunglasses = (uint)((uVar1 & 1) == 0); - } - } - else { - sunglasses = 1; - } - if ((-1 < head) && (*(char *)((int)&c_item_entries[body].anonymous_3 + 1) == '\0')) { - local_8 = c_item_entries[head].header; - } - sunglasses = setup_chr_instance(body,head,body_header,local_8,sunglasses); - return sunglasses; -} - - - -undefined4 get_current_random_body(void) - -{ - return list_of_bodies[current_random_body]; -} - - - -undefined4 select_psuedorandom_heads(int param_1) - -{ - undefined4 uVar1; - u32 uVar2; - int iVar3; - - if (*(char *)&c_item_entries[param_1].anonymous_3 == '\0') { - uVar1 = random_female_heads[current_random_female_head]; - } - else { - uVar2 = get_random_value(); - iVar3 = current_random_male_head + (uVar2 & 3); - if (num_male_heads == 0) { - trap(0x1c00); - } - if ((num_male_heads == -1) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - uVar1 = random_male_heads[iVar3 % num_male_heads]; - } - return uVar1; -} - - - -u32 get_random_head(int bodyID) - -{ - uint random_male; - uint random_female; - u32 head; - - if (*(char *)&c_item_entries[bodyID].anonymous_3 == '\0') { - random_female = get_random_value(); - head = random_female_heads[random_female % num_female_heads]; - if (num_female_heads == 0) { - trap(0x1c00); - } - } - else { - random_male = get_random_value(); - if (num_male_heads == 0) { - trap(0x1c00); - } - head = random_male_heads[random_male % num_male_heads]; - } - return head; -} - - - -void expand_09_characters(void) - -{ - ushort uVar1; - undefined2 *puVar2; - longlong lVar3; - uint uVar4; - undefined *puVar5; - object_standard *poVar6; - int in_a1_lo; - float fVar7; - float in_f12; - int iStack48; - uint uStack44; - undefined4 auStack24 [3]; - undefined4 uStack12; - undefined4 *puStack4; - - puStack4 = (undefined4 *) - (ptr_0xxxpresets + - ((uint)*(ushort *)(in_a1_lo + 6) * 0xc - (uint)*(ushort *)(in_a1_lo + 6)) * 4); - lVar3 = proc_7F056850(puStack4,(longlong)(int)puStack4[10],in_f12,(undefined4 *)0x41a00000, - auStack24); - if (lVar3 != 0) { - iStack48 = -1; - if (*(ushort *)(in_a1_lo + 8) == 0xffff) { - uStack44 = get_current_random_body(); - } - else { - uStack44 = (uint)*(ushort *)(in_a1_lo + 8); - } - if (*(char *)((int)&c_item_entries[uStack44].anonymous_3 + 1) == '\0') { - if (*(short *)(in_a1_lo + 0x16) < 0) { - iStack48 = select_psuedorandom_heads(uStack44); - } - else { - iStack48 = (int)*(short *)(in_a1_lo + 0x16); - } - } - uVar4 = retrieve_header_for_body_and_head - (uStack44,iStack48,(ulonglong)*(ushort *)(in_a1_lo + 0x14)); - if (uVar4 != 0) { - fVar7 = convert_angle_using_inverse((f32)puStack4[6],(f32)puStack4[8]); - puVar5 = proc_7F035398((undefined *)(uint)*(ushort *)(in_a1_lo + 10)); - poVar6 = (object_standard *) - replace_GUARDdata_with_actual_values(uVar4,auStack24,fVar7,uStack12,puVar5); - if (poVar6 != NULL) { - set_current_objposdata_plus_0x28(poVar6); - set_stateflag_0x04_for_posdata((int)poVar6); - puVar2 = *(undefined2 **)&poVar6->obj; - *puVar2 = *(undefined2 *)(in_a1_lo + 4); - fVar7 = (float)(uint)*(ushort *)(in_a1_lo + 0x10); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(puVar2 + 0x76) = fVar7 / 1000.00000000; - fVar7 = (float)(uint)*(ushort *)(in_a1_lo + 0x12); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(puVar2 + 0x68) = fVar7; - puVar2[0x8a] = *(undefined2 *)(in_a1_lo + 0xc); - puVar2[0x8b] = *(undefined2 *)(in_a1_lo + 0xe); - *(char *)(puVar2 + 3) = (char)iStack48; - *(undefined *)((int)puVar2 + 0xf) = (char)uStack44; - uVar1 = *(ushort *)(in_a1_lo + 0x14); - if ((uVar1 & 4) != 0) { - *(uint *)(puVar2 + 10) = *(uint *)(puVar2 + 10) | 2; - uVar1 = *(ushort *)(in_a1_lo + 0x14); - } - if ((uVar1 & 8) == 0) { - *(undefined2 **)(in_a1_lo + 0x18) = puVar2; - } - else { - *(uint *)(puVar2 + 10) = *(uint *)(puVar2 + 10) | 0x10; - *(undefined2 **)(in_a1_lo + 0x18) = puVar2; - } - } - } - } - return; -} - - - -ulonglong check_if_item_held_like_pistol(int param_1) - -{ - int iVar2; - ulonglong uVar1; - - if (param_1 == 0) { - uVar1 = 0; - } - else { - iVar2 = check_special_attributes((int)*(char *)(*(int *)(param_1 + 4) + 0x80),0x100); - uVar1 = SEXT48(iVar2); - } - return uVar1; -} - - - -void proc_7F023948(int param_1,float param_2) - -{ - int iVar2; - int iVar3; - ulonglong uVar1; - u32 uVar4; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - float extraout_f14_00; - - iVar2 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - if ((((iVar2 == 0) || (iVar3 == 0)) && ((iVar2 != 0 || (iVar3 != 0)))) && - ((uVar1 = check_if_item_held_like_pistol(iVar2), uVar1 == 0 && - (uVar1 = check_if_item_held_like_pistol(iVar3), uVar1 == 0)))) { - if ((iVar3 != 0) || (iVar2 != 0)) { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x1c,iVar2 != 0, - extraout_f12,0,extraout_f14); - proc_7F06FDCC(*(int *)(param_1 + 0x1c),0,0x41800000); - proc_7F06FDE8(*(int *)(param_1 + 0x1c),extraout_f12_01); - } - } - else { - uVar4 = get_random_value(); - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x8194,(byte)uVar4 & 1, - extraout_f12_00,0,extraout_f14_00); - proc_7F06FDCC(*(int *)(param_1 + 0x1c),0,0x41800000); - } - return; -} - - - -void proc_7F023A94(int param_1,float param_2) - -{ - u32 uVar1; - float in_a1_lo; - float fVar2; - float fVar3; - undefined uVar4; - - proc_7F02D184(param_1); - *(undefined *)(param_1 + 7) = 1; - *(undefined4 *)(param_1 + 0x2c) = 0; - *(undefined4 *)(param_1 + 0x30) = 0; - *(undefined4 *)(param_1 + 0x34) = 0; - *(undefined4 *)(param_1 + 0x38) = 0; - *(undefined4 *)(param_1 + 0x3c) = 2; - *(undefined4 *)(param_1 + 0x40) = 0; - uVar1 = get_random_value(); - *(int *)(param_1 + 0x44) = uVar1 % 0x78 + 0xb4; - fVar3 = *(float *)(*(int *)(param_1 + 0x1c) + 0xa4); - fVar2 = in_a1_lo; - if (fVar3 != 1.00000000) { - fVar2 = in_a1_lo / fVar3; - } - if (127.00000000 < fVar2) { - uVar4 = 0x7f; - } - else { - uVar4 = (undefined)(int)fVar2; - } - *(undefined *)(param_1 + 8) = uVar4; - proc_7F023948(param_1,in_a1_lo); - return; -} - - - -undefined4 proc_7F023B5C(void) - -{ - undefined4 in_v0_lo; - - get_007_reaction_speed(); - return in_v0_lo; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -int proc_7F023BC0(void) - -{ - char cVar1; - int iVar2; - int in_a0_lo; - int in_a1_lo; - f32 reactionspeed; - - cVar1 = *(char *)(in_a0_lo + 3); - reactionspeed = get_007_reaction_speed(); - iVar2 = (100 - ((int)((float)reactionspeed * (float)(100 - (int)cVar1)) + (int)cVar1)) * - in_a1_lo; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - return iVar2 / 100; -} - - - -undefined4 proc_7F023C54(void) - -{ - undefined4 in_v0_lo; - - get_007_reaction_speed(); - return in_v0_lo; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F023CB8(void) - -{ - u32 uVar1; - int iVar2; - int in_a0_lo; - float in_f12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f14; - float extraout_f14_00; - - if (*(char *)(in_a0_lo + 7) == '\x02') { - proc_7F02D184(in_a0_lo); - *(undefined *)(in_a0_lo + 7) = 1; - *(undefined4 *)(in_a0_lo + 0x2c) = 1; - *(undefined4 *)(in_a0_lo + 0x30) = 0; - *(undefined4 *)(in_a0_lo + 0x34) = 0; - *(undefined4 *)(in_a0_lo + 0x38) = 0; - *(undefined4 *)(in_a0_lo + 0x3c) = 2; - *(undefined4 *)(in_a0_lo + 0x40) = 0; - uVar1 = get_random_value(); - *(int *)(in_a0_lo + 0x44) = uVar1 % 0x78 + 0xb4; - *(undefined *)(in_a0_lo + 8) = 0; - iVar2 = proc_7F06F5AC(*(int *)(in_a0_lo + 0x1c)); - if (iVar2 == ptr_animation_table + 0x6c18) { - proc_7F023B5C(); - proc_7F06FCA8(*(int *)(in_a0_lo + 0x1c),ptr_animation_table + 0x6c18, - *(undefined *)(*(int *)(in_a0_lo + 0x1c) + 0x24),extraout_f12,0x42da0000, - extraout_f14); - proc_7F06FDE8(*(int *)(in_a0_lo + 0x1c),extraout_f12_00); - } - else { - proc_7F023B5C(); - proc_7F06FCA8(*(int *)(in_a0_lo + 0x1c),ptr_animation_table + 0xb84, - *(undefined *)(*(int *)(in_a0_lo + 0x1c) + 0x24),extraout_f12_01, - 0x42f00000,extraout_f14_00); - proc_7F06FDE8(*(int *)(in_a0_lo + 0x1c),extraout_f12_02); - } - } - else { - proc_7F023A94(in_a0_lo,in_f12); - } - return; -} - - - -void proc_7F023E14(int param_1,float param_2) - -{ - float in_a1_lo; - - proc_7F023A94(param_1,in_a1_lo); - *(undefined4 *)(param_1 + 0x40) = 1; - return; -} - - - -void proc_7F023E48(int param_1) - -{ - proc_7F023CB8(); - *(undefined4 *)(param_1 + 0x40) = 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f023f68) overlaps instruction at (ram,0x7f023f64) -// -// WARNING: Unknown calling convention yet parameter storage is locked - -void actor_kneel(void) - -{ - int iVar2; - int iVar3; - ulonglong uVar1; - u32 uVar4; - GUARDdata *in_a0_lo; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f14; - float extraout_f14_00; - - iVar2 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,0); - proc_7F02D184((int)in_a0_lo); - if ((((iVar2 == 0) || (iVar3 == 0)) && ((iVar2 != 0 || (iVar3 != 0)))) && - ((uVar1 = check_if_item_held_like_pistol(iVar2), uVar1 == 0 && - (uVar1 = check_if_item_held_like_pistol(iVar3), uVar1 == 0)))) { - if ((iVar3 != 0) || (iVar2 != 0)) { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0xb84,iVar2 != 0, - extraout_f12_01,0,extraout_f14_00); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_02); - } - } - else { - uVar4 = get_random_value(); - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x6c18,(byte)uVar4 & 1, - extraout_f12,0,extraout_f14); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_00); - } - in_a0_lo->actiontype = freeze; - in_a0_lo->sleep = '\0'; - return; -} - - - -void perform_animation_for_actor - (GUARDdata *guard,int param_2,int param_3,int param_4,byte param_5,int param_6) - -{ - uint uVar1; - bool bVar2; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - - proc_7F02D184((int)guard); - proc_7F06FCA8(guard->MODELdata_pointer,*(undefined4 *)(animation_table_ptrs1 + param_2 * 4), - (param_5 & 1) != 0,extraout_f12,(float)param_3,extraout_f14); - if (-1 < param_4) { - proc_7F06FDE8(guard->MODELdata_pointer,extraout_f12_00); - } - if ((param_5 & 0x20) == 0) { - uVar1 = guard->guard_bitflags; - } - else { - proc_7F06CE84(guard->MODELdata_pointer, - *(float *)(guard->MODELdata_pointer + 0xb8) * 4.00000000); - uVar1 = guard->guard_bitflags; - } - guard->guard_bitflags = uVar1 & 0xfdffffff; - bVar2 = (param_5 & 0x10) != 0; - guard->actiontype = swattingflies; - guard->bond_position = (uint)((param_5 & 2) != 0); - guard->field_30 = (uint)((param_5 & 4) != 0); - *(uint *)&guard->field_34 = (uint)((param_5 & 8) != 0); - *(uint *)&guard->field_38 = (uint)bVar2; - guard->path_target_position = (uint)((param_5 & 0x40) != 0); - if (bVar2) { - guard->sleep = (char)param_6; - } - else { - guard->sleep = '\0'; - } - return; -} - - - -void proc_7F024150(int param_1) - -{ - int iVar1; - int iVar2; - u32 uVar3; - byte bVar4; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - - iVar1 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar2 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - bVar4 = 0; - if ((iVar1 == 0) || (iVar2 != 0)) { - if (((iVar1 != 0) && (iVar2 != 0)) || ((iVar1 == 0 && (iVar2 == 0)))) { - uVar3 = get_random_value(); - bVar4 = (byte)uVar3 & 1; - } - } - else { - bVar4 = 1; - } - proc_7F02D184(param_1); - *(undefined *)(param_1 + 7) = 0x13; - *(undefined *)(param_1 + 8) = 0; - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x5744,bVar4,extraout_f12, - 0x42200000,extraout_f14); - proc_7F06FDE8(*(int *)(param_1 + 0x1c),extraout_f12_00); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void throw_weapon_in_guard_hand(void) - -{ - int in_a0_lo; - int iVar1; - int in_a2_lo; - int in_a3_lo; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float fVar2; - float extraout_f14; - float extraout_f14_00; - - proc_7F02D184(in_a0_lo); - *(undefined *)(in_a0_lo + 7) = 0x14; - *(undefined *)(in_a0_lo + 8) = 0; - if (in_a3_lo == 0) { - proc_7F023B5C(); - proc_7F06FCA8(*(int *)(in_a0_lo + 0x1c),ptr_animation_table + 0x5964,in_a2_lo != 0, - extraout_f12_01,0x42a80000,extraout_f14_00); - iVar1 = *(int *)(in_a0_lo + 0x1c); - fVar2 = extraout_f12_02; - } - else { - proc_7F023B5C(); - proc_7F06FCA8(*(int *)(in_a0_lo + 0x1c),ptr_animation_table + 0x5964,in_a2_lo != 0, - extraout_f12,0,extraout_f14); - iVar1 = *(int *)(in_a0_lo + 0x1c); - fVar2 = extraout_f12_00; - } - proc_7F06FDE8(iVar1,fVar2); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F024334(void) - -{ - int iVar1; - int iVar2; - u32 uVar3; - GUARDdata *in_a0_lo; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - byte bStack9; - - iVar1 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,1); - iVar2 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,0); - bStack9 = 0; - if ((iVar1 == 0) || (iVar2 != 0)) { - if (((iVar1 != 0) && (iVar2 != 0)) || ((iVar1 == 0 && (iVar2 == 0)))) { - uVar3 = get_random_value(); - bStack9 = (byte)uVar3 & 1; - } - } - else { - bStack9 = 1; - } - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x5d10,bStack9,extraout_f12, - 0x41200000,extraout_f14); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_00); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void actor_shuffle_feet(void) - -{ - longlong lVar1; - int in_a0_lo; - float in_f0; - - proc_7F032C4C(in_a0_lo); - if ((in_f0 < flt_80051DA0) || (flt_80051DA4 < in_f0)) { - proc_7F024334(); - proc_7F02D184(in_a0_lo); - *(undefined *)(in_a0_lo + 7) = 0x12; - *(undefined *)(in_a0_lo + 8) = 0; - } - else { - lVar1 = proc_7F029C5C(); - if (lVar1 == 0) { - proc_7F023CB8(); - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F0244AC(void) - -{ - u32 uVar1; - int in_a0_lo; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - - proc_7F02D184(in_a0_lo); - *(undefined *)(in_a0_lo + 7) = 0x12; - *(undefined *)(in_a0_lo + 8) = 0; - uVar1 = get_random_value(); - proc_7F023B5C(); - proc_7F06FCA8(*(int *)(in_a0_lo + 0x1c),ptr_animation_table + 0x4384,(byte)uVar1 & 1, - extraout_f12,0,extraout_f14); - proc_7F06FDE8(*(int *)(in_a0_lo + 0x1c),extraout_f12_00); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F024548(void) - -{ - u32 uVar1; - u32 uVar2; - int in_a0_lo; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f14; - - uVar1 = get_random_value(); - proc_7F02D184(in_a0_lo); - *(undefined *)(in_a0_lo + 7) = 0x12; - *(undefined *)(in_a0_lo + 8) = 0; - uVar2 = get_random_value(); - proc_7F06FCA8(*(int *)(in_a0_lo + 0x1c),ptr_animation_table + 0x5ef0,(byte)uVar2 & 1, - extraout_f12,0x41880000,extraout_f14); - if (uVar1 % 3 == 0) { - proc_7F023B5C(); - proc_7F06FDE8(*(int *)(in_a0_lo + 0x1c),extraout_f12_00); - } - else { - if (uVar1 % 3 == 1) { - proc_7F023B5C(); - proc_7F06FDE8(*(int *)(in_a0_lo + 0x1c),extraout_f12_01); - } - else { - proc_7F023B5C(); - proc_7F06FDE8(*(int *)(in_a0_lo + 0x1c),extraout_f12_02); - } - } - return; -} - - - -void proc_7F024648(int param_1) - -{ - int iVar1; - int iVar2; - u32 uVar3; - ushort uVar4; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float extraout_f14_00; - - if (*(char *)(param_1 + 7) != '\x10') { - iVar1 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar2 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - proc_7F02D184(param_1); - *(undefined *)(param_1 + 7) = 0x10; - if ((iVar2 == 0) && (iVar1 == 0)) { - uVar3 = get_random_value(); - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x4384,(byte)uVar3 & 1, - extraout_f12_00,0,extraout_f14_00); - proc_7F06FDCC(*(int *)(param_1 + 0x1c),0x41f00000,0x41800000); - *(undefined *)(param_1 + 8) = 0x10; - } - else { - uVar3 = get_random_value(); - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x4504,(byte)uVar3 & 1, - extraout_f12,0,extraout_f14); - proc_7F06FDCC(*(int *)(param_1 + 0x1c),0x42200000,0x41800000); - *(undefined *)(param_1 + 8) = 0x10; - if (iVar1 != 0) { - proc_7F04BFD0(iVar1,2); - } - if (iVar2 == 0) { - uVar4 = *(ushort *)(param_1 + 0x12); - } - else { - proc_7F04BFD0(iVar2,2); - uVar4 = *(ushort *)(param_1 + 0x12); - } - *(ushort *)(param_1 + 0x12) = uVar4 | 1; - } - proc_7F021B20(param_1); - } - return; -} - - - -void proc_7F0247B8(int param_1) - -{ - if (*(char *)(param_1 + 7) != '\x05') { - proc_7F02D184(param_1); - *(undefined *)(param_1 + 7) = 5; - *(undefined4 *)(param_1 + 0x2c) = 0xffffffff; - *(undefined *)(param_1 + 8) = 0; - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F024800(void) - -{ - int iVar2; - int iVar3; - u32 uVar4; - ulonglong uVar1; - uint uVar5; - GUARDdata *in_a0_lo; - int in_a1_lo; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - uint uStack12; - - iVar2 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,0); - uStack12 = 0; - if ((iVar2 == 0) || (iVar3 == 0)) { - uVar1 = check_if_item_held_like_pistol(iVar2); - uVar5 = 0; - if (uVar1 == 0) { - uVar1 = check_if_item_held_like_pistol(iVar3); - uVar5 = 0; - if ((uVar1 == 0) && ((iVar2 != 0 || (iVar3 != 0)))) { - uStack12 = (uint)(iVar2 != 0); - uVar4 = get_random_value(); - uVar5 = uVar4 & 1; - } - } - } - else { - uVar4 = get_random_value(); - uStack12 = uVar4 & 1; - uVar4 = get_random_value(); - uVar5 = uVar4 & 1; - } - proc_7F02D184((int)in_a0_lo); - in_a0_lo->actiontype = sidestep; - in_a0_lo->sleep = '\0'; - if (uVar5 == 0) { - if (in_a1_lo == 0) { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x3d9c,1,extraout_f12_01 - ,0x40a00000,extraout_f14_00); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_02); - } - else { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x3d9c,0,extraout_f12, - 0x40a00000,extraout_f14); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_00); - } - } - else { - if (((in_a1_lo == 0) || (uStack12 != 0)) && ((in_a1_lo != 0 || (uStack12 == 0)))) { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x54a0,(char)uStack12, - extraout_f12_05,0x40a00000,extraout_f14_02); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_06); - } - else { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x5554,(char)uStack12, - extraout_f12_03,0x40a00000,extraout_f14_01); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_04); - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F024A84(void) - -{ - int iVar2; - int iVar3; - ulonglong uVar1; - u32 uVar4; - GUARDdata *in_a0_lo; - int in_a1_lo; - undefined uVar5; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - uint uStack12; - - iVar2 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,1); - iVar3 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,0); - uStack12 = 0; - if ((iVar2 == 0) || (iVar3 != 0)) { - if (((iVar2 == 0) || (iVar3 == 0)) && ((iVar2 != 0 || (iVar3 != 0)))) { - uVar1 = check_if_item_held_like_pistol(iVar2); - if ((uVar1 == 0) && (uVar1 = check_if_item_held_like_pistol(iVar3), uVar1 == 0)) - goto LAB_7f024b24; - } - uVar4 = get_random_value(); - uStack12 = uVar4 & 1; - } - else { - uStack12 = 1; - } -LAB_7f024b24: - proc_7F02D184((int)in_a0_lo); - in_a0_lo->actiontype = sidehop; - in_a0_lo->sleep = '\0'; - uVar5 = (undefined)uStack12; - if (((in_a1_lo == 0) || (uStack12 != 0)) && ((in_a1_lo != 0 || (uStack12 == 0)))) { - uVar4 = get_random_value(); - if ((uVar4 & 1) == 0) { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x47bc,uVar5, - extraout_f12_05,0x42b60000,extraout_f14_02); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_06); - } - else { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x4a40,uVar5, - extraout_f12_03,0x41a00000,extraout_f14_01); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_04); - } - } - else { - uVar4 = get_random_value(); - if ((uVar4 & 1) == 0) { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x4a40,uVar5, - extraout_f12_01,0x43020000,extraout_f14_00); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_02); - } - else { - proc_7F023B5C(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x47bc,uVar5, - extraout_f12,0x40a00000,extraout_f14); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_00); - } - } - return; -} - - - -void proc_7F024CF8(int param_1,float *param_2) - -{ - bool bVar1; - int iVar3; - int iVar4; - u32 uVar5; - ulonglong uVar2; - bool bVar6; - float fVar7; - float fVar8; - float extraout_f12; - float extraout_f14; - - fVar7 = *(float *)(*(int *)(param_1 + 0x18) + 8) - *param_2; - fVar8 = *(float *)(*(int *)(param_1 + 0x18) + 0x10) - param_2[2]; - fVar7 = sqrtf(fVar7 * fVar7 + fVar8 * fVar8); - iVar3 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar4 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - bVar1 = true; - if (((iVar3 == 0) || (iVar4 == 0)) && ((iVar3 != 0 || (iVar4 != 0)))) { - uVar2 = check_if_item_held_like_pistol(iVar3); - if ((uVar2 == 0) && (uVar2 = check_if_item_held_like_pistol(iVar4), uVar2 == 0)) { - bVar6 = iVar3 != 0; - } - else { - bVar1 = false; - bVar6 = iVar3 != 0; - } - } - else { - bVar1 = false; - uVar5 = get_random_value(); - bVar6 = (bool)((byte)uVar5 & 1); - } - proc_7F02D184(param_1); - *(undefined *)(param_1 + 7) = 0xd; - *(float *)(param_1 + 0x2c) = *param_2; - *(float *)(param_1 + 0x30) = param_2[1]; - fVar8 = param_2[2]; - *(undefined *)(param_1 + 8) = 0; - *(undefined4 *)(param_1 + 0x40) = 0; - *(undefined4 *)(param_1 + 0x38) = 0x41f00000; - *(float *)(param_1 + 0x34) = fVar8; - if (bVar1) { - *(int *)(param_1 + 0x3c) = (int)(fVar7 / (dword_80030988 * 0.50000000)); - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x40d4,bVar6,extraout_f12,0, - extraout_f14); - } - else { - *(int *)(param_1 + 0x3c) = (int)(fVar7 / (dword_80030994 * 0.50000000)); - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x777c,bVar6,extraout_f12,0, - extraout_f14); - } - return; -} - - - -void proc_7F024F00(int param_1) - -{ - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - - proc_7F02D184(param_1); - *(undefined *)(param_1 + 7) = 0x16; - *(undefined *)(param_1 + 8) = 0; - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x2f94,0,extraout_f12,0x41200000, - extraout_f14); - proc_7F06FDCC(*(int *)(param_1 + 0x1c),0x41200000,0x41800000); - proc_7F06FDE8(*(int *)(param_1 + 0x1c),extraout_f12_00); - return; -} - - - -void proc_7F024F8C(int param_1) - -{ - int iVar1; - int iVar2; - float in_f12; - - iVar1 = *(int *)(param_1 + 0x1c); - iVar2 = *(int *)(param_1 + 0x2c); - if ((*(uint *)(param_1 + 0x4c) & 0x20) == 0) { - if (*(char *)(param_1 + 0x36) == '\0') { - if (0.00000000 <= *(float *)(iVar2 + 0x20)) { - proc_7F06FDE8(iVar1,in_f12); - } - else { - if (0.00000000 <= *(float *)(iVar2 + 0x14)) { - proc_7F06FDE8(iVar1,in_f12); - } - else { - proc_7F06FDE8(iVar1,in_f12); - } - } - } - else { - if (0.00000000 <= *(float *)(iVar2 + 0x20)) { - proc_7F06FDE8(iVar1,in_f12); - } - else { - proc_7F06FDE8(iVar1,in_f12); - } - } - } - else { - if ((*(float *)(iVar2 + 0x20) < 0.00000000) || - (*(float *)(iVar2 + 0x18) <= *(float *)(iVar2 + 0x20))) { - proc_7F06FDE8(iVar1,in_f12); - } - else { - proc_7F06FDE8(iVar1,in_f12); - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -float proc_7F0250BC(void) - -{ - short *in_a0_lo; - ulonglong in_a1; - undefined4 in_a2_hi; - int in_a2_lo; - undefined4 in_a3_lo; - float in_f0; - float fVar1; - undefined4 auStack8 [2]; - - if ((in_a1 & 2) == 0) { - if ((in_a1 & 0x10) == 0) { - proc_7F032C78(in_a0_lo,in_a1,CONCAT44(in_a2_hi,in_a2_lo),auStack8); - in_f0 = (float)proc_7F032BD8(); - } - else { - fVar1 = (float)in_a2_lo * flt_80051DAC; - getsubroty(*(int *)(in_a0_lo + 0xe),(uint)in_a1,in_a2_lo,in_a3_lo); - in_f0 = fVar1 / 65536.00000000 - in_f0; - if (in_f0 < 0.00000000) { - in_f0 = in_f0 + flt_80051DB0; - } - } - } - else { - in_f0 = 0.00000000; - } - return in_f0; -} - - - -void proc_7F02516C(int param_1,int param_2,int param_3,int *param_4,uint param_5,undefined4 param_6, - undefined4 param_7) - -{ - uint uVar1; - u32 uVar3; - longlong lVar2; - char cVar4; - int iVar5; - int hand; - int iVar6; - int *piVar7; - undefined uVar8; - undefined uVar9; - int iVar10; - float fVar11; - float extraout_f12; - float extraout_f14; - int aiStack56 [10]; - int *piStack16; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x1c); - aiStack56[3] = dword_800309AC; - aiStack56[2] = dword_800309A8; - aiStack56[1] = dword_800309B4; - aiStack56[0] = dword_800309B0; - *(undefined *)(param_1 + 7) = 8; - uVar8 = 1; - uVar9 = 0; - fVar11 = (float)proc_7F0250BC(); - if (param_3 == 0) { - fVar11 = (fVar11 * 32.00000000) / flt_80051DB8; - } - else { - fVar11 = ((flt_80051DB4 - fVar11) * 32.00000000) / flt_80051DB4; - } - iVar10 = (int)(fVar11 + 0.50000000); - if (0x1f < iVar10) { - iVar10 = 0; - } - uVar3 = get_random_value(); - piVar7 = *(int **)(param_2 + iVar10 * 4); - uVar1 = piVar7[1]; - iVar10 = *piVar7; - if (uVar1 == 0) { - trap(0x1c00); - } - hand = 0; - iVar6 = 0; - piStack16 = (int *)(iVar10 + (uVar3 % uVar1) * 0x48); - piVar7 = param_4; - if (((*(uint *)(param_1 + 0x14) & 0x20) != 0) && - (iVar5 = uVar3 % uVar1 + 1, ptr_animation_table + 0x318 == *piStack16)) { - if (uVar1 == 0) { - trap(0x1c00); - } - if ((uVar1 == 0xffffffff) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - piStack16 = (int *)((iVar5 % uVar1) * 0x48 + iVar10); - } - do { - if (*piVar7 != 0) { - iVar10 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,hand); - iVar10 = *(int *)(iVar10 + 4); - lVar2 = proc_7F05DFCC((int)*(char *)(iVar10 + 0x80)); - if (lVar2 < 0) { - *(undefined4 *)((int)aiStack56 + iVar6 + 8) = 1; - cVar4 = *(char *)(iVar10 + 0x80); - if (cVar4 == '\x16') goto LAB_7f025398; - } - else { - uVar9 = 1; - cVar4 = *(char *)(iVar10 + 0x80); -LAB_7f025398: - uVar8 = 0; - } - if ((cVar4 == '\x19') || (cVar4 == '\x18')) { - *(undefined4 *)((int)aiStack56 + iVar6) = 1; - } - } - hand += 1; - iVar6 += 4; - piVar7 = piVar7 + 1; - if (hand == 2) { - *(undefined *)(param_1 + 0x30) = 1; - *(undefined *)(param_1 + 0x31) = 0; - *(int **)(param_1 + 0x2c) = piStack16; - uVar3 = get_random_value(); - *(byte *)(param_1 + 0x32) = (byte)uVar3 & 1; - *(undefined *)(param_1 + 0x39) = (char)param_4[1]; - *(undefined *)(param_1 + 0x38) = (char)*param_4; - *(undefined *)(param_1 + 0x3b) = (char)aiStack56[3]; - *(undefined *)(param_1 + 0x3a) = (char)aiStack56[2]; - *(undefined *)(param_1 + 0x3d) = (char)aiStack56[1]; - *(undefined *)(param_1 + 0x36) = uVar8; - *(undefined *)(param_1 + 0x37) = uVar9; - *(undefined4 *)(param_1 + 0x40) = 0; - *(undefined *)(param_1 + 0x33) = 0; - *(undefined *)(param_1 + 0x3c) = (char)aiStack56[0]; - if ((aiStack56[1] == 0) && (aiStack56[0] == 0)) { - if ((param_5 & 0x80) == 0) { - uVar3 = get_random_value(); - *(char *)(param_1 + 0x34) = ((byte)uVar3 & 3) + 2; - } - else { - *(undefined *)(param_1 + 0x34) = 1; - } - if ((*param_4 != 0) && (param_4[1] != 0)) { - uVar3 = get_random_value(); - *(char *)(param_1 + 0x34) = - *(char *)(param_1 + 0x34) + ((byte)uVar3 & 3) + '\x02'; - } - } - else { - if ((aiStack56[1] == 0) || (aiStack56[0] == 0)) { - *(undefined *)(param_1 + 0x34) = 1; - } - else { - *(undefined *)(param_1 + 0x34) = 2; - } - } - *(uint *)(param_1 + 0x4c) = param_5; - *(undefined4 *)(param_1 + 0x50) = param_6; - *(undefined4 *)(param_1 + 0x58) = 0; - *(undefined4 *)(param_1 + 0x44) = 0; - *(undefined4 *)(param_1 + 0x48) = 0; - *(undefined *)(param_1 + 8) = 0; - *(undefined4 *)(param_1 + 0x54) = param_7; - proc_7F023B5C(); - proc_7F06FCA8(iStack4,*piStack16,(char)param_3,extraout_f12,piStack16[4],extraout_f14); - proc_7F024F8C(param_1); - return; - } - } while( true ); -} - - - -void proc_7F025560(int param_1,uint param_2,undefined4 param_3) - -{ - bool bVar1; - int iVar3; - int iVar4; - u32 uVar5; - ulonglong uVar2; - undefined **ppuVar6; - uint uVar7; - uint uStack24; - uint uStack20; - uint uStack12; - int iStack8; - int iStack4; - - iStack4 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - uStack24 = dword_800309B8; - uStack20 = dword_800309BC; - if ((iStack4 == 0) || (iVar3 == 0)) { - iStack8 = iVar3; - uVar2 = check_if_item_held_like_pistol(iStack4); - if ((uVar2 == 0) && (uVar2 = check_if_item_held_like_pistol(iStack8), uVar2 == 0)) { - ppuVar6 = ptr_rifle_firing_animation_groups; - bVar1 = iStack4 != 0; - uVar7 = (uint)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - else { - ppuVar6 = ptr_pistol_firing_animation_groups; - bVar1 = iStack4 != 0; - uVar7 = (uint)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - } - else { - iVar3 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,1); - iVar4 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,0); - bVar1 = iVar4 == 0; - ppuVar6 = ptr_pistol_firing_animation_groups; - if ((iVar3 == 0) || (iVar4 == 0)) { - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - uVar7 = (uint)bVar1; - } - else { - uVar5 = get_random_value(); - uStack12 = uVar5 & 1; - uVar5 = get_random_value(); - uVar7 = uStack12; - if (uVar5 % 3 == 0) { - ppuVar6 = ptr_pistol_firing_animation_groups; - uStack20 = uStack12; - uStack24 = (uint)(uStack12 == 0); - } - else { - ppuVar6 = ptr_doubles_firing_animation_groups; - uStack20 = 1; - uStack24 = 1; - } - } - } - proc_7F02516C(param_1,(int)ppuVar6,uVar7,(int *)&uStack24,param_2,param_3,1); - return; -} - - - -void proc_7F0256F0(int param_1,uint param_2,undefined4 param_3) - -{ - bool bVar1; - int iVar3; - int iVar4; - u32 uVar5; - ulonglong uVar2; - undefined **ppuVar6; - uint uVar7; - uint uStack24; - uint uStack20; - uint uStack12; - int iStack8; - int iStack4; - - iStack4 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar3 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - uStack24 = dword_800309C0; - uStack20 = dword_800309C4; - if ((iStack4 == 0) || (iVar3 == 0)) { - iStack8 = iVar3; - uVar2 = check_if_item_held_like_pistol(iStack4); - if ((uVar2 == 0) && (uVar2 = check_if_item_held_like_pistol(iStack8), uVar2 == 0)) { - ppuVar6 = ptr_crouched_rifle_firing_animation_groups; - bVar1 = iStack4 != 0; - uVar7 = (uint)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - else { - ppuVar6 = ptr_crouched_pistol_firing_animation_groups; - bVar1 = iStack4 != 0; - uVar7 = (uint)bVar1; - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - } - } - else { - iVar3 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,1); - iVar4 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,0); - bVar1 = iVar4 == 0; - ppuVar6 = ptr_crouched_pistol_firing_animation_groups; - if ((iVar3 == 0) || (iVar4 == 0)) { - uStack20 = (uint)bVar1; - uStack24 = (uint)!bVar1; - uVar7 = (uint)bVar1; - } - else { - uVar5 = get_random_value(); - uStack12 = uVar5 & 1; - uVar5 = get_random_value(); - uVar7 = uStack12; - if (uVar5 % 3 == 0) { - ppuVar6 = ptr_crouched_pistol_firing_animation_groups; - uStack20 = uStack12; - uStack24 = (uint)(uStack12 == 0); - } - else { - ppuVar6 = ptr_crouched_doubles_firing_animation_groups; - uStack20 = 1; - uStack24 = 1; - } - } - } - proc_7F02516C(param_1,(int)ppuVar6,uVar7,(int *)&uStack24,param_2,param_3,0); - return; -} - - - -void proc_7F02587C(int param_1,longlong param_2) - -{ - char cVar1; - f32 fVar2; - int hand; - int iVar5; - ulonglong uVar3; - int iVar6; - longlong lVar4; - u32 uVar7; - uint uVar8; - int *piVar9; - float extraout_f12; - float extraout_f14; - int aiStack40 [9]; - weapon_firing_animation_table *pwStack4; - - hand = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar5 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - aiStack40[4] = dword_800309C8; - aiStack40[5] = dword_800309CC; - aiStack40[3] = dword_800309D4; - aiStack40[2] = dword_800309D0; - aiStack40[1] = dword_800309DC; - aiStack40[0] = dword_800309D8; - if ((hand == 0) || (iVar5 == 0)) { - uVar3 = check_if_item_held_like_pistol(hand); - if ((uVar3 == 0) && (uVar3 = check_if_item_held_like_pistol(iVar5), uVar3 == 0)) { - aiStack40[6] = (uint)(hand != 0); - if (param_2 == 0) { - pwStack4 = &stru_80030660; - } - else { - pwStack4 = &stru_800306A8; - } - if (hand != 0) { - aiStack40[5] = 1; - } - else { - aiStack40[4] = 1; - } - } - else { - aiStack40[6] = (uint)(hand != 0); - if (param_2 == 0) { - pwStack4 = &stru_800306F0; - } - else { - pwStack4 = &stru_80030738; - } - if (hand != 0) { - aiStack40[5] = 1; - } - else { - aiStack40[4] = 1; - } - } - } - else { - hand = is_weapon_in_guarddata_hand((GUARDdata *)param_1,1); - iVar5 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,0); - uVar8 = 0; - if ((hand == 0) || (iVar5 == 0)) { - aiStack40[6] = (uint)(iVar5 == 0); - } - else { - uVar7 = get_random_value(); - aiStack40[6] = uVar7 & 1; - uVar7 = get_random_value(); - uVar8 = uVar7 % 3; - } - if (uVar8 == 0) { - if (param_2 == 0) { - pwStack4 = &stru_800306F0; - } - else { - pwStack4 = &stru_80030738; - } - if (aiStack40[6] == 0) { - aiStack40[4] = 1; - } - else { - aiStack40[5] = 1; - } - } - else { - if (uVar8 == 1) { - if (param_2 == 0) { - pwStack4 = &stru_80030780; - } - else { - pwStack4 = &stru_800307C8; - } - aiStack40[5] = 1; - aiStack40[4] = 1; - } - else { - if (param_2 == 0) { - pwStack4 = &stru_80030810; - } - else { - pwStack4 = &stru_80030858; - } - aiStack40[5] = 1; - aiStack40[4] = 1; - } - } - } - hand = 0; - iVar5 = 0; - piVar9 = aiStack40 + 4; - do { - if (*piVar9 != 0) { - iVar6 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,hand); - iVar6 = *(int *)(iVar6 + 4); - lVar4 = proc_7F05DFCC((int)*(char *)(iVar6 + 0x80)); - if (lVar4 < 0) { - *(undefined4 *)((int)aiStack40 + iVar5 + 8) = 1; - } - cVar1 = *(char *)(iVar6 + 0x80); - if ((cVar1 == '\x19') || (cVar1 == '\x18')) { - *(undefined4 *)((int)aiStack40 + iVar5) = 1; - } - } - hand += 1; - iVar5 += 4; - piVar9 = piVar9 + 1; - } while (hand != 2); - *(undefined *)(param_1 + 7) = 9; - *(undefined4 *)(param_1 + 0x30) = 0; - uVar7 = get_random_value(); - fVar2 = ai_reaction_speed; - *(undefined4 *)(param_1 + 0x38) = 0; - *(int *)(param_1 + 0x34) = uVar7 % (int)((float)fVar2 * 400.00000000) + 0x78; - if ((int)((float)fVar2 * 400.00000000) == 0) { - trap(0x1c00); - } - *(undefined4 *)(param_1 + 0x40) = 0; - *(weapon_firing_animation_table **)(param_1 + 0x3c) = pwStack4; - uVar7 = get_random_value(); - *(uint *)(param_1 + 0x44) = uVar7 & 1; - *(undefined *)(param_1 + 0x49) = (char)aiStack40[5]; - *(undefined *)(param_1 + 0x48) = (char)aiStack40[4]; - *(undefined *)(param_1 + 0x4b) = (char)aiStack40[3]; - *(undefined *)(param_1 + 0x4a) = (char)aiStack40[2]; - *(undefined *)(param_1 + 0x4d) = (char)aiStack40[1]; - *(undefined *)(param_1 + 8) = 0; - *(undefined4 *)(param_1 + 0x54) = 0; - *(undefined *)(param_1 + 0x4c) = (char)aiStack40[0]; - proc_7F06FCA8(*(int *)(param_1 + 0x1c),pwStack4->anonymous_0,(char)aiStack40[6],extraout_f12, - pwStack4->anonymous_4,extraout_f14); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F025C40(void) - -{ - bool bVar1; - int iVar4; - int hand; - ulonglong uVar2; - u32 uVar5; - int iVar6; - longlong lVar3; - char cVar7; - GUARDdata *in_a0_lo; - int in_a1_lo; - uint *puVar8; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - int iStack68; - int iStack64; - undefined4 uStack60; - undefined4 uStack56; - undefined4 uStack52; - uint uStack44; - uint uStack40; - int iStack32; - int iStack24; - uint uStack20; - weapon_firing_animation_table *pwStack8; - int iStack4; - - iStack4 = in_a0_lo->MODELdata_pointer; - iVar4 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,1); - hand = something_with_weaponpos_of_guarddata_hand(in_a0_lo,0); - iStack24 = 0; - uStack44 = dword_800309E0; - uStack40 = dword_800309E4; - uStack52 = 0; - uStack60 = dword_800309E8; - uStack56 = dword_800309EC; - bVar1 = true; - iStack64 = dword_800309F4; - iStack68 = dword_800309F0; - if ((iVar4 == 0) || (hand == 0)) { - uVar2 = check_if_item_held_like_pistol(iVar4); - if ((uVar2 == 0) && (uVar2 = check_if_item_held_like_pistol(hand), uVar2 == 0)) { - uStack40 = (uint)(iVar4 != 0); - uStack44 = (uint)(iVar4 == 0); - uStack20 = uStack40; - } - else { - uStack40 = (uint)(iVar4 != 0); - iStack24 = 1; - uStack44 = (uint)(iVar4 == 0); - uStack20 = uStack40; - } - } - else { - iVar4 = is_weapon_in_guarddata_hand(in_a0_lo,1); - hand = is_weapon_in_guarddata_hand(in_a0_lo,0); - if ((iVar4 == 0) || (hand == 0)) { - uStack40 = (uint)(hand == 0); - iStack24 = 1; - uStack44 = (uint)(hand != 0); - uStack20 = uStack40; - } - else { - uVar5 = get_random_value(); - uStack20 = uVar5 & 1; - iStack24 = 1; - uVar5 = get_random_value(); - if (uVar5 % 3 == 0) { - uStack44 = (uint)(uStack20 == 0); - uStack40 = uStack20; - } - else { - uStack40 = 1; - uStack44 = 1; - } - } - } - if (((in_a1_lo == 0) || (uStack20 != 0)) && ((in_a1_lo != 0 || (uStack20 == 0)))) { - uVar5 = get_random_value(); - if ((uVar5 & 1) == 0) { - pwStack8 = &stru_80030150; - } - else { - pwStack8 = &stru_800300C0; - } - } - else { - uVar5 = get_random_value(); - if ((uVar5 & 1) == 0) { - pwStack8 = &stru_80030108; - } - else { - pwStack8 = &stru_80030078; - } - } - hand = 0; - iVar4 = 0; - puVar8 = &uStack44; - if (iStack24 != 0) { - pwStack8 = pwStack8 + 4; - } - do { - if (*puVar8 != 0) { - iVar6 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,hand); - iStack32 = *(int *)(iVar6 + 4); - lVar3 = proc_7F05DFCC((int)*(char *)(iStack32 + 0x80)); - iVar6 = iStack32; - if (lVar3 < 0) { - *(undefined4 *)((int)&iStack68 + iVar4 + 8) = 1; - cVar7 = *(char *)(iVar6 + 0x80); - if (cVar7 == '\x16') goto LAB_7f025eec; - } - else { - uStack52 = 1; - cVar7 = *(char *)(iStack32 + 0x80); -LAB_7f025eec: - bVar1 = false; - } - if ((cVar7 == '\x19') || (cVar7 == '\x18')) { - *(undefined4 *)((int)&iStack68 + iVar4) = 1; - } - } - hand += 1; - iVar4 += 4; - puVar8 = puVar8 + 1; - if (hand == 2) { - in_a0_lo->actiontype = run_roll_fire; - *(undefined *)((int)&in_a0_lo->field_30 + 1) = 0; - *(weapon_firing_animation_table **)&in_a0_lo->bond_position = pwStack8; - uVar5 = get_random_value(); - *(byte *)((int)&in_a0_lo->field_30 + 2) = (byte)uVar5 & 1; - in_a0_lo->field_39 = (char)uStack40; - in_a0_lo->field_38 = (char)uStack44; - in_a0_lo->field_3B = (char)uStack56; - in_a0_lo->field_3A = (char)uStack60; - *(undefined *)((int)&in_a0_lo->path_target_position + 1) = (char)iStack64; - *(bool *)&in_a0_lo->field_36 = bVar1; - *(char *)&in_a0_lo->path_target_position = (char)iStack68; - in_a0_lo->field_37 = (char)uStack52; - in_a0_lo->field_40 = 0; - *(undefined *)((int)&in_a0_lo->field_30 + 3) = 0; - *(undefined *)&in_a0_lo->field_30 = 1; - *(undefined *)((int)&in_a0_lo->field_34 + 1) = (char)iStack24; - if ((iStack64 == 0) && (iStack68 == 0)) { - uVar5 = get_random_value(); - *(byte *)&in_a0_lo->field_34 = ((byte)uVar5 & 3) + 2; - if ((uStack44 != 0) && (uStack40 != 0)) { - uVar5 = get_random_value(); - *(byte *)&in_a0_lo->field_34 = - *(char *)&in_a0_lo->field_34 + ((byte)uVar5 & 3) + '\x02'; - } - } - else { - if ((iStack64 == 0) || (iStack68 == 0)) { - *(undefined *)&in_a0_lo->field_34 = 1; - } - else { - *(undefined *)&in_a0_lo->field_34 = 2; - } - } - in_a0_lo->field_4C = 1; - in_a0_lo->field_50 = 0; - in_a0_lo->field_54 = 1; - *(undefined4 *)&in_a0_lo->type_of_motion = 0; - in_a0_lo->field_44 = 0; - in_a0_lo->field_48 = 0; - in_a0_lo->sleep = '\0'; - proc_7F023B5C(); - proc_7F06FCA8(iStack4,pwStack8->anonymous_0,(char)uStack20,extraout_f12, - pwStack8->anonymous_4,extraout_f14); - if (iStack24 == 0) { - if (bVar1) { - if (0.00000000 <= (float)pwStack8->anonymous_9) { - proc_7F06FDE8(iStack4,extraout_f12_00); - } - else { - proc_7F06FDE8(iStack4,extraout_f12_00); - } - } - else { - if (0.00000000 <= (float)pwStack8->anonymous_8) { - proc_7F06FDE8(iStack4,extraout_f12_00); - } - else { - if (0.00000000 <= (float)pwStack8->anonymous_5) { - proc_7F06FDE8(iStack4,extraout_f12_00); - } - } - } - } - return; - } - } while( true ); -} - - - -void proc_7F026130(float *param_1,float *param_2,float *param_3,float *param_4,float *param_5) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar3 = *param_1; - fVar2 = *param_4; - fVar4 = param_2[2] - param_1[2]; - fVar1 = param_4[2] * (*param_2 - fVar3) - fVar4 * fVar2; - if (fVar1 == 0.00000000) { - if (fVar2 == 0.00000000) { - if (param_4[2] == 0.00000000) { - *param_5 = *param_3; - param_5[1] = param_3[1]; - param_5[2] = param_3[2]; - return; - } - *param_5 = fVar3; - } - else { - *param_5 = fVar3; - } - param_5[1] = param_1[1]; - param_5[2] = param_1[2]; - } - else { - fVar1 = (fVar4 * (*param_3 - fVar3) + (param_1[2] - param_3[2]) * (*param_2 - fVar3)) / - fVar1; - *param_5 = fVar2 * fVar1 + *param_3; - param_5[1] = param_4[1] * fVar1 + param_3[1]; - param_5[2] = param_4[2] * fVar1 + param_3[2]; - } - return; -} - - - -void proc_7F02624C(float *param_1,float *param_2,float *param_3) - -{ - float afStack24 [3]; - float afStack12 [3]; - - proc_7F0B28B0(afStack12,afStack24); - proc_7F026130(afStack12,afStack24,param_1,param_2,param_3); - return; -} - - - -void proc_7F026298(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - proc_7F0B28B0(&fStack12,&fStack24); - fVar1 = (*param_2 * (fStack4 - param_1[2]) - param_2[2] * (fStack12 - *param_1)) / - (param_2[2] * (fStack24 - fStack12) - (fStack16 - fStack4) * *param_2); - *param_3 = (fStack24 - fStack12) * fVar1 + fStack12; - param_3[1] = (fStack20 - fStack8) * fVar1 + fStack8; - param_3[2] = (fStack16 - fStack4) * fVar1 + fStack4; - return; -} - - - -float proc_7F026364(int param_1,float param_2,float param_3,float param_4,float param_5, - undefined4 param_6) - -{ - int iVar1; - f32 extraout_f12; - float afStack44 [2]; - float fStack36; - float fStack32; - GUARDdata *pGStack28; - u32 uStack24; - float fStack20; - float fStack16; - float fStack12; - undefined4 uStack8; - float fStack4; - - uStack24 = *(u32 *)(param_1 + 0x14); - pGStack28 = *(GUARDdata **)(param_1 + 4); - fStack12 = sinf(param_4); - uStack8 = 0; - fStack4 = cosf(param_4); - fStack16 = fStack12 * param_5 + *(float *)(param_1 + 8); - fStack20 = fStack4 * param_5 + *(float *)(param_1 + 0x10); - set_or_unset_GUARDdata_flag(pGStack28,0); - proc_7F0B1CC4(); - iVar1 = proc_7F0B0E24(&uStack24,extraout_f12,(f32)fStack20,*(f32 *)(param_1 + 8)); - if (iVar1 == 0) { - proc_7F02624C((float *)(param_1 + 8),&fStack12,afStack44); - afStack44[0] = afStack44[0] - *(float *)(param_1 + 8); - fStack36 = fStack36 - *(float *)(param_1 + 0x10); - param_5 = sqrtf(afStack44[0] * afStack44[0] + fStack36 * fStack36); - } - fStack32 = param_5; - set_or_unset_GUARDdata_flag(pGStack28,1); - return fStack32; -} - - - -undefined proc_7F0264B0(int param_1,float param_2,float param_3) - -{ - undefined in_v0_lo; - undefined4 in_a1_lo; - undefined4 in_a2_lo; - float extraout_f12; - float extraout_f14; - undefined4 uStack12; - undefined4 uStack8; - float fStack4; - - proc_7F023160(param_1,&uStack12,&fStack4,&uStack8); - proc_7F026364(param_1,extraout_f12,extraout_f14,in_a1_lo,in_a2_lo,0x1f); - return in_v0_lo; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F026508(void) - -{ - char *pcVar1; - bool bVar2; - bool bVar3; - s32 sVar4; - animation_something *paVar5; - int iVar6; - u32 uVar7; - int iVar8; - GUARDdata *in_a0_lo; - int iVar9; - float *in_a1_lo; - uint extraout_a1_lo; - float in_a2_lo; - undefined4 extraout_a2_lo; - int in_a3_lo; - undefined4 extraout_a3_lo; - struck_animation_table *psVar10; - uint uVar11; - int objinst; - float in_f0; - float fVar12; - float fVar13; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float extraout_f12_09; - float extraout_f12_10; - float extraout_f12_11; - float extraout_f12_12; - float extraout_f12_13; - float extraout_f12_14; - float extraout_f12_15; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - int in_stack_00000010; - int iStack24; - - pcVar1 = (char *)in_a0_lo->POSdata_pointer; - objinst = in_a0_lo->MODELdata_pointer; - bVar3 = false; - iStack24 = 0; - if ((*pcVar1 == '\x06') && (sVar4 = get_num_players(), 1 < sVar4)) { - return; - } - iVar9 = 0; - iVar6 = iStack24; - if (dword_8002C914.anonymous_0 != -1) { - paVar5 = &dword_8002C914; - iVar8 = dword_8002C914.anonymous_0; - do { - iVar6 = iVar9; - if (in_a3_lo == iVar8) break; - iVar8 = paVar5[1].anonymous_0; - iVar9 += 1; - paVar5 = paVar5 + 1; - iVar6 = iStack24; - } while (iVar8 != -1); - } - iStack24 = iVar6; - if ((float)in_a0_lo->damage < (float)in_a0_lo->maxdamage) { - if (((in_a3_lo == 7) && (flt_80051DD4 < in_a2_lo)) && - ((in_a2_lo < flt_80051DD8 && (uVar7 = get_random_value(), uVar7 % 5 < 2)))) { - uVar7 = get_random_value(); - uVar11 = uVar7 % 5; - proc_7F02D184((int)in_a0_lo); - in_a0_lo->actiontype = gettingshot; - in_a0_lo->bond_position = 0; - iVar6 = global_timer; - in_a0_lo->sleep = '\0'; - in_a0_lo->field_30 = iVar6; - uVar7 = get_random_value(); - if ((uVar7 & 1) == 0) { - iVar6 = ptr_animation_table + 0x4f14; - uVar7 = get_random_value(); - proc_7F06FC4C(objinst,iVar6,(byte)uVar7 & 1,extraout_f12_09,0,extraout_f14_03, - 0x3f000000); - if (uVar11 < 2) { - proc_7F023C54(); - proc_7F06FDE8(objinst,extraout_f12_10); - } - else { - if (uVar11 < 4) { - proc_7F023C54(); - proc_7F06FDE8(objinst,extraout_f12_11); - } - else { - proc_7F023C54(); - proc_7F06FDE8(objinst,extraout_f12_12); - } - } - } - else { - iVar6 = ptr_animation_table + 0x4ce0; - uVar7 = get_random_value(); - proc_7F06FC4C(objinst,iVar6,(byte)uVar7 & 1,extraout_f12_05,0x41200000, - extraout_f14_02,0x3f000000); - if (uVar11 < 2) { - proc_7F023C54(); - proc_7F06FDE8(objinst,extraout_f12_06); - } - else { - if (uVar11 < 4) { - proc_7F023C54(); - proc_7F06FDE8(objinst,extraout_f12_07); - } - else { - proc_7F023C54(); - proc_7F06FDE8(objinst,extraout_f12_08); - } - } - } - bVar3 = true; - } - if (((!bVar3) && - (paVar5 = &dword_8002C914 + iStack24, (&dword_8002C914)[iStack24].field_24 != NULL)) && - (0 < (&dword_8002C914)[iStack24].field_28)) { - bVar3 = true; - iVar6 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,1); - iVar9 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,0); - if ((paVar5 == &animation_something_8002caa0) && (iVar6 != 0)) { - paVar5 = &animation_something_8002cacc; - } - else { - if ((paVar5 == &animation_something_8002cb24) && (iVar9 != 0)) { - paVar5 = &animation_something_8002cb50; - } - } - uVar7 = get_random_value(); - if (paVar5->field_28 == 0) { - trap(0x1c00); - } - psVar10 = paVar5->field_24 + uVar7 % paVar5->field_28; - proc_7F02D184((int)in_a0_lo); - in_a0_lo->actiontype = gettingshot; - in_a0_lo->bond_position = 0; - iVar6 = global_timer; - in_a0_lo->sleep = '\0'; - in_a0_lo->field_30 = iVar6; - proc_7F06FC4C(objinst,psVar10->anonymous_0,(char)psVar10->anonymous_1,extraout_f12_13,0, - extraout_f14_04,(int)psVar10->anonymous_3); - if (0.00000000 <= psVar10->anonymous_2) { - proc_7F023C54(); - proc_7F06FDE8(objinst,extraout_f12_14); - } - else { - proc_7F023C54(); - proc_7F06FDE8(objinst,extraout_f12_15); - } - } - bVar2 = false; - goto LAB_7f026ea0; - } - if ((in_a2_lo < flt_80051DBC) || (flt_80051DC0 < in_a2_lo)) { - uVar7 = get_random_value(); - if (uVar7 % 0x14 == 0) { - getsubroty(objinst,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - proc_7F0264B0((int)pcVar1,in_f0 + flt_80051DC8 + flt_80051DCC, - (in_f0 + flt_80051DC8) - flt_80051DD0); - fVar12 = in_f0; - proc_7F0264B0((int)pcVar1,extraout_f12,extraout_f14); - if (in_f0 < 150.00000000) { - if (fVar12 < 150.00000000) { - if (in_f0 - fVar12 < 10.00000000) { - if (-10.00000000 < in_f0 - fVar12) { - uVar7 = get_random_value(); - uVar11 = uVar7 & 1; - proc_7F02D184((int)in_a0_lo); - in_a0_lo->actiontype = dying; - in_a0_lo->bond_position = 0; - *(float *)&in_a0_lo->field_30 = (&stru_8002DEBC)[uVar11].anonymous_5; - fVar12 = (&stru_8002DEBC)[uVar11].anonymous_6; - in_a0_lo->sleep = '\0'; - *(undefined4 *)&in_a0_lo->field_38 = 0; - *(float *)&in_a0_lo->field_34 = fVar12; - proc_7F06FC4C(objinst,(&stru_8002DEBC)[uVar11].anonymous_0, - (char)(&stru_8002DEBC)[uVar11].anonymous_1,extraout_f12_00 - ,0,extraout_f14_00, - (int)(&stru_8002DEBC)[uVar11].anonymous_3); - if (0.00000000 <= (&stru_8002DEBC)[uVar11].anonymous_2) { - proc_7F06FDE8(objinst,extraout_f12_01); - } - in_a0_lo->chrwidth = 10.00000000; - bVar3 = true; - bVar2 = true; - } - else { - bVar2 = false; - } - } - else { - bVar2 = false; - } - } - else { - bVar2 = false; - } - } - else { - bVar2 = false; - } - } - else { - bVar2 = false; - } - } - else { - bVar2 = false; - } - if (((!bVar2) && ((&dword_8002C914)[iStack24].field_1C != NULL)) && - (0 < (&dword_8002C914)[iStack24].field_20)) { - bVar3 = true; - uVar7 = get_random_value(); - if ((&dword_8002C914)[iStack24].field_20 == 0) { - trap(0x1c00); - } - psVar10 = (&dword_8002C914)[iStack24].field_1C + - uVar7 % (&dword_8002C914)[iStack24].field_20; - proc_7F02D184((int)in_a0_lo); - in_a0_lo->actiontype = dying; - in_a0_lo->bond_position = 0; - fVar12 = 0.00000000; - *(float *)&in_a0_lo->field_30 = psVar10->anonymous_5; - fVar13 = psVar10->anonymous_6; - in_a0_lo->sleep = '\0'; - *(undefined4 *)&in_a0_lo->field_38 = 0; - *(float *)&in_a0_lo->field_34 = fVar13; - proc_7F06FC4C(objinst,psVar10->anonymous_0,(char)psVar10->anonymous_1,extraout_f12_02,0, - extraout_f14_01,(int)psVar10->anonymous_3); - if (ptr_animation_table + 0x2e64 == psVar10->anonymous_0) { - uVar7 = get_random_value(); - if (uVar7 % 100 == 0) { - fVar12 = psVar10->anonymous_2; - fVar13 = extraout_f12_04; - goto LAB_7f026940; - } - proc_7F06FDE8(objinst,extraout_f12_04); - } - else { - fVar12 = psVar10->anonymous_2; - fVar13 = extraout_f12_03; -LAB_7f026940: - if (0.00000000 <= fVar12) { - proc_7F06FDE8(objinst,fVar13); - } - } - proc_7F05DFA8(in_stack_00000010); - if (fVar12 <= 0.00000000) { - if ((in_a0_lo->guard_bitflags & 0x8000U) == 0) { - objinst = psVar10->anonymous_4; - } - else { - fVar12 = 6.00000000; - objinst = psVar10->anonymous_4; - } - } - else { - objinst = psVar10->anonymous_4; - } - if ((objinst != 0) && (0.00000000 < fVar12)) { - in_a0_lo->path_target_position = 0; - *(float *)&in_a0_lo->field_38 = (fVar12 * 90.00000000) / 6.00000000; - *(float *)&in_a0_lo->field_40 = *in_a1_lo * fVar12; - *(float *)&in_a0_lo->field_44 = in_a1_lo[1] * fVar12; - *(float *)&in_a0_lo->field_48 = in_a1_lo[2] * fVar12; - } - } - proc_7F021B20((int)in_a0_lo); - increment_num_kills_display_text_in_MP(); - if (in_a0_lo->guard_bitflags << 0xb < 0) { - inc_cur_civilian_casualties(); - bVar2 = true; - } - else { - bVar2 = true; - } -LAB_7f026ea0: - if ((bVar2) && (bVar3)) { - objinst = in_a0_lo->handle_positiondata[0]; - if (objinst == 0) { - objinst = in_a0_lo->handle_positiondata[1]; - } - else { - if ((*(uint *)(*(int *)(objinst + 4) + 8) & 0x2000) == 0) { - proc_7F04BFD0(objinst,1); - in_a0_lo->special_bitflags = in_a0_lo->special_bitflags | 1; - objinst = in_a0_lo->handle_positiondata[1]; - } - else { - objinst = in_a0_lo->handle_positiondata[1]; - } - } - if ((objinst != 0) && ((*(uint *)(*(int *)(objinst + 4) + 8) & 0x2000) == 0)) { - proc_7F04BFD0(objinst,1); - in_a0_lo->special_bitflags = in_a0_lo->special_bitflags | 1; - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 proc_7F026F30(void) - -{ - weapon_firing_animation_table *pwVar1; - int in_a0_lo; - int iVar2; - float *in_a1_lo; - float in_f0; - float fVar3; - float fVar4; - - if (*(char *)(in_a0_lo + 7) == '\n') { - if (*(char *)(in_a0_lo + 0x35) == '\0') { - fVar4 = *(float *)(*(int *)(in_a0_lo + 0x2c) + 4) - 8.00000000; - proc_7F06F5BC(*(int *)(in_a0_lo + 0x1c)); - if (fVar4 <= in_f0) { - return 0; - } - *in_a1_lo = fVar4; - } - else { - pwVar1 = *(weapon_firing_animation_table **)(in_a0_lo + 0x2c); - if ((((pwVar1 != &stru_80030198) && (pwVar1 != &stru_800301E0)) && - (pwVar1 != &stru_80030228)) && (pwVar1 != &stru_80030270)) { - return 0; - } - fVar3 = (float)pwVar1->anonymous_1; - fVar4 = (float)pwVar1->anonymous_5; - if (fVar4 < fVar3) { - iVar2 = *(int *)(in_a0_lo + 0x1c); - } - else { - iVar2 = *(int *)(in_a0_lo + 0x1c); - fVar4 = fVar3 - 8.00000000; - } - proc_7F06F5BC(iVar2); - if (fVar4 <= fVar3) { - return 0; - } - *in_a1_lo = fVar4; - } - } - else { - if (*(char *)(in_a0_lo + 7) != '\a') { - return 0; - } - } - return 1; -} - - - -void proc_7F027060(int param_1) - -{ - int in_v0_lo; - int player; - u8 uVar1; - undefined4 *puVar2; - undefined **ppuVar3; - undefined **ppuVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 uStack72; - undefined2 uStack68; - undefined4 auStack64 [14]; - int iStack8; - - player = 0; - if (**(char **)(param_1 + 0x18) == '\x06') { - iStack8 = 0; - proc_7F09B15C((int)*(char **)(param_1 + 0x18)); - player = iStack8; - if (ptr_BONDdata_p1[in_v0_lo]->bonddead != 0) { - return; - } - } - if (**(char **)(param_1 + 0x18) == '\x06') { - iStack8 = player; - player = get_num_players(); - if (player == 1) { - player = iStack8; - if (*(char *)&c_item_entries[*(char *)(param_1 + 0xf)].anonymous_3 != '\0') { - player = 1; - } - } - else { - proc_7F09B15C(*(int *)(param_1 + 0x18)); - uVar1 = get_player_mp_char_gender(player); - player = iStack8; - if (uVar1 != '\0') { - player = 1; - } - } - } - else { - if (*(char *)&c_item_entries[*(char *)(param_1 + 0xf)].anonymous_3 != '\0') { - player = 1; - } - } - if (player == 0) { - puVar2 = &uStack72; - uStack72 = female_guard_yelps[0]; - uStack68 = female_guard_yelps[1]._0_2_; - play_sfx_a1(ptr_sfx_buf,*(short *)((int)puVar2 + female_guard_yelp_counter * 2),NULL); - female_guard_yelp_counter += 1; - if (2 < female_guard_yelp_counter) { - female_guard_yelp_counter = 0; - } - } - else { - puVar2 = auStack64; - ppuVar3 = male_guard_yelps; - puVar5 = puVar2; - do { - ppuVar4 = ppuVar3 + 3; - puVar6 = puVar5 + 3; - *(undefined **)puVar5 = *ppuVar3; - *(undefined **)(puVar5 + 1) = ppuVar3[1]; - *(undefined **)(puVar5 + 2) = ppuVar3[2]; - ppuVar3 = ppuVar4; - puVar5 = puVar6; - } while (ppuVar4 != male_guard_yelps + 0xc); - *(undefined2 *)puVar6 = male_guard_yelps[12]._0_2_; - play_sfx_a1(ptr_sfx_buf,*(short *)((int)puVar2 + male_guard_yelp_counter * 2),NULL); - male_guard_yelp_counter += 1; - if (0x18 < male_guard_yelp_counter) { - male_guard_yelp_counter = 0; - } - } - sub_GAME_7F053A10((int)puVar2,(float *)(*(int *)(param_1 + 0x18) + 8)); - return; -} - - - -// WARNING: Instruction at (ram,0x7f02755c) overlaps instruction at (ram,0x7f027558) -// -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F02727C(void) - -{ - char cVar1; - u32 uVar3; - s32 sVar4; - PLAYER_ID playernum; - PLAYER_ID playernum_00; - longlong lVar2; - int in_a0_lo; - f32 arg2; - longlong in_a1; - s32 arg3; - f32 *in_a2_lo; - int in_a3_lo; - uint uVar5; - char *pcVar6; - float in_f0; - float fVar7; - float extraout_f12; - int iStackX4; - int in_stack_00000010; - undefined4 uStack20; - word wStack16; - undefined4 uStack8; - - iStackX4 = (int)in_a1; - uStack8 = *(undefined4 *)(in_a0_lo + 0x18); - if ((in_a1 == 0x6e) && (*(int *)(in_a0_lo + 0x1d8) != 0)) { - lVar2 = get_hat_model(*(int *)(in_a0_lo + 0x1d8)); - if (lVar2 == 5) { - iStackX4 = 8; - } - else { - if (lVar2 == 3) { - uStack20 = metal_ricochet_SFX._0_4_; - wStack16 = metal_ricochet_SFX[2]; - uVar3 = get_random_value(); - play_sfx_a1(ptr_sfx_buf,*(short *)((int)&uStack20 + (uVar3 % 3) * 2),NULL); - sub_GAME_7F053A10(uVar3,(float *)(*(int *)(in_a0_lo + 0x18) + 8)); - } - else { - proc_7F04BFD0(*(int *)(in_a0_lo + 0x1d8),4); - *(ushort *)(in_a0_lo + 0x12) = *(ushort *)(in_a0_lo + 0x12) | 1; - } - } - } - if (in_stack_00000010 == 0) { - uVar5 = *(uint *)(in_a0_lo + 0x14); - } - else { - if (iStackX4 == 0) { -LAB_7f0273e8: - uVar5 = *(uint *)(in_a0_lo + 0x14); - } - else { - if (iStackX4 == 7) { -LAB_7f0273d0: - inc_curplayer_hitcount_with_weapon(in_a3_lo,2); - uVar5 = *(uint *)(in_a0_lo + 0x14); - } - else { - if (iStackX4 == 8) { - inc_curplayer_hitcount_with_weapon(in_a3_lo,1); - uVar5 = *(uint *)(in_a0_lo + 0x14); - } - else { - if (iStackX4 == 0xf) goto LAB_7f0273d0; - if (iStackX4 == 100) { - inc_curplayer_hitcount_with_weapon(in_a3_lo,4); - uVar5 = *(uint *)(in_a0_lo + 0x14); - } - else { - if (iStackX4 != 0x6e) { - inc_curplayer_hitcount_with_weapon(in_a3_lo,3); - goto LAB_7f0273e8; - } - inc_curplayer_hitcount_with_weapon(in_a3_lo,5); - uVar5 = *(uint *)(in_a0_lo + 0x14); - } - } - } - } - } - *(char *)(in_a0_lo + 0xb) = *(char *)(in_a0_lo + 0xb) + '\x01'; - *(uint *)(in_a0_lo + 0x14) = uVar5 | 0x200000; - if ((uVar5 & 0x10) != 0) { - proc_7F0206D4(in_a0_lo); - return 0; - } - if (*(char *)(in_a0_lo + 7) == '\x04') { - return 1; - } - if (*(char *)(in_a0_lo + 7) == '\x05') { - return 1; - } - proc_7F05DF84(in_a3_lo); - if ((in_stack_00000010 != 0) && (sVar4 = get_num_players(), sVar4 == 1)) { - in_f0 = in_f0 * (float)ai_health_modifier; - } - fVar7 = (float)proc_7F032BD8(); - if (iStackX4 == 200) { - iStackX4 = 0xf; - in_f0 = in_f0 * 0.50000000; - } - else { - if (iStackX4 == 0xc9) { - iStackX4 = 0xf; - in_f0 = in_f0 * 0.25000000; - } - } - if (((((in_a3_lo == 1) && (cVar1 = *(char *)(in_a0_lo + 7), cVar1 != '\x01')) && - (cVar1 != '\x0e')) && ((cVar1 != '\x10' && (cVar1 != '\x03')))) && - ((cVar1 != '\x0f' || (*(char *)(in_a0_lo + 0x59) != '\0')))) { - if ((fVar7 < flt_80051DDC) || (FLOAT_80051de0 < fVar7)) { - in_f0 = in_f0 * 0.12500000; - } - else { - if ((fVar7 < flt_80051DE4) || (FLOAT_80051de8 < fVar7)) { - in_f0 = in_f0 * 0.25000000; - } - else { - in_f0 = in_f0 * 0.50000000; - } - } - } - if (iStackX4 == 8) { - in_f0 = in_f0 * 4.00000000; - pcVar6 = *(char **)(in_a0_lo + 0x18); - goto LAB_7f027664; - } - if (iStackX4 == 0xf) { - in_f0 = in_f0 + in_f0; - } - else { - if (iStackX4 == 100) { - in_f0 = 0.00000000; - pcVar6 = *(char **)(in_a0_lo + 0x18); - goto LAB_7f027664; - } - if (iStackX4 != 0x6e) { - pcVar6 = *(char **)(in_a0_lo + 0x18); - goto LAB_7f027664; - } - in_f0 = 0.00000000; - } - pcVar6 = *(char **)(in_a0_lo + 0x18); -LAB_7f027664: - if (*pcVar6 == '\x06') { - playernum = get_cur_playernum(); - playernum_00 = playernum; - proc_7F09B15C(*(int *)(in_a0_lo + 0x18)); - set_cur_player(playernum_00); - record_damage_kills((f32)(in_f0 * 0.12500000),*in_a2_lo,arg2,arg3,in_a2_lo[2]); - set_cur_player(playernum); - } - else { - *(uint *)(in_a0_lo + 0x14) = *(uint *)(in_a0_lo + 0x14) | 0x100; - *(float *)(in_a0_lo + 0xfc) = *(float *)(in_a0_lo + 0xfc) + in_f0; - if ((*(float *)(in_a0_lo + 0xfc) < 0.00000000) && (lVar2 = proc_7F026F30(), lVar2 == 0)) { - proc_7F0206D4(in_a0_lo); - return 0; - } - } - if (iStackX4 != 0x6e) { - proc_7F027060(in_a0_lo); - lVar2 = proc_7F026F30(); - if (lVar2 == 0) { - proc_7F026508(); - } - else { - if (false) { - proc_7F06FDE8(*(int *)(in_a0_lo + 0x1c),extraout_f12); - } - *(undefined *)(in_a0_lo + 7) = 7; - *(f32 *)(in_a0_lo + 0x2c) = *in_a2_lo; - *(f32 *)(in_a0_lo + 0x30) = in_a2_lo[1]; - *(f32 *)(in_a0_lo + 0x34) = in_a2_lo[2]; - *(float *)(in_a0_lo + 0x38) = fVar7; - *(int *)(in_a0_lo + 0x3c) = iStackX4; - *(undefined *)(in_a0_lo + 8) = 0; - *(int *)(in_a0_lo + 0x40) = in_a3_lo; - } - } - return 1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F027804(void) - -{ - uint uVar1; - undefined8 uVar2; - u32 uVar3; - int in_a0_lo; - int objinst; - float *in_a1_lo; - float in_a2_lo; - int in_a3_lo; - float in_f0; - float fVar4; - float fVar5; - float fVar6; - int iVar7; - float fVar8; - float extraout_f12; - float extraout_f12_00; - float fVar9; - float extraout_f14; - float fStack36; - - objinst = *(int *)(in_a0_lo + 0x1c); - iVar7 = *(int *)(in_a0_lo + 0x18); - if ((*(char *)(in_a0_lo + 7) == '\x05') || (*(char *)(in_a0_lo + 7) == '\x04')) { - uVar2 = 0; - } - else { - uVar1 = *(uint *)(in_a0_lo + 0x14); - *(uint *)(in_a0_lo + 0x14) = uVar1 | 0x200000; - if ((uVar1 & 0x10) == 0) { - *(char *)(in_a0_lo + 0xb) = *(char *)(in_a0_lo + 0xb) + '\x01'; - *(uint *)(in_a0_lo + 0x14) = uVar1 | 0x200100; - *(float *)(in_a0_lo + 0xfc) = *(float *)(in_a0_lo + 0xfc) + in_a2_lo; - if (*(float *)(in_a0_lo + 0xfc) <= 0.00000000) { - uVar2 = 0; - } - else { - *(undefined4 *)(in_a0_lo + 0xfc) = *(undefined4 *)(in_a0_lo + 0x100); - getsubroty(objinst,(uint)in_a1_lo,objinst,in_a3_lo); - fVar4 = convert_angle_using_inverse - ((f32)(*(float *)(iVar7 + 8) - *in_a1_lo), - (f32)(*(float *)(iVar7 + 0x10) - in_a1_lo[2])); - fVar6 = *(float *)(iVar7 + 8) - *in_a1_lo; - fVar8 = *(float *)(iVar7 + 0xc) - in_a1_lo[1]; - fStack36 = *(float *)(iVar7 + 0x10) - in_a1_lo[2]; - if (((fVar6 == 0.00000000) && (fVar8 == 0.00000000)) && (fStack36 == 0.00000000)) { - fStack36 = 1.00000000; - } - fVar5 = sqrtf(fStack36 * fStack36 + fVar6 * fVar6 + fVar8 * fVar8); - fVar5 = (in_a2_lo * 5.00000000) / fVar5; - fVar9 = fVar4 - in_f0; - *(float *)(in_a0_lo + 0xb0) = fVar6 * fVar5; - *(float *)(in_a0_lo + 0xb4) = fVar8 * fVar5; - *(float *)(in_a0_lo + 0xb8) = fStack36 * fVar5; - if (fVar4 < in_f0) { - fVar9 = fVar9 + flt_80051DEC; - } - iVar7 = (int)((fVar9 * 8.00000000) / flt_80051DF0 + 0.50000000); - if (7 < iVar7) { - iVar7 = 0; - } - uVar3 = get_random_value(); - if (explosion_animation_table[iVar7].count == 0) { - trap(0x1c00); - } - iVar7 = (int)*(char *)((int)explosion_animation_table[iVar7].direction + - uVar3 % explosion_animation_table[iVar7].count); - proc_7F02D184(in_a0_lo); - *(undefined *)(in_a0_lo + 7) = 4; - *(undefined4 *)(in_a0_lo + 0x2c) = 0; - *(float *)(in_a0_lo + 0x30) = (&stru_8002E648)[iVar7].anonymous_5; - *(undefined *)(in_a0_lo + 8) = 0; - *(undefined4 *)(in_a0_lo + 0x34) = 0xbf800000; - *(undefined4 *)(in_a0_lo + 0x38) = 0; - proc_7F06FCA8(objinst,(&stru_8002E648)[iVar7].anonymous_0 + ptr_animation_table, - (char)(&stru_8002E648)[iVar7].anonymous_1,extraout_f12, - (&stru_8002E648)[iVar7].anonymous_3,extraout_f14); - if (0.00000000 <= (&stru_8002E648)[iVar7].anonymous_6) { - proc_7F06FDE8(objinst,extraout_f12_00); - } - if (in_a3_lo != 0) { - proc_7F027060(in_a0_lo); - } - proc_7F021B20(in_a0_lo); - increment_num_kills_display_text_in_MP(); - if (*(int *)(in_a0_lo + 0x14) << 0xb < 0) { - inc_cur_civilian_casualties(); - objinst = *(int *)(in_a0_lo + 0x160); - } - else { - objinst = *(int *)(in_a0_lo + 0x160); - } - if (objinst == 0) { - objinst = *(int *)(in_a0_lo + 0x164); - } - else { - if ((*(uint *)(*(int *)(objinst + 4) + 8) & 0x2000) == 0) { - proc_7F04BFD0(objinst,1); - *(ushort *)(in_a0_lo + 0x12) = *(ushort *)(in_a0_lo + 0x12) | 1; - objinst = *(int *)(in_a0_lo + 0x164); - } - else { - objinst = *(int *)(in_a0_lo + 0x164); - } - } - if ((objinst != 0) && ((*(uint *)(*(int *)(objinst + 4) + 8) & 0x2000) == 0)) { - proc_7F04BFD0(objinst,1); - *(ushort *)(in_a0_lo + 0x12) = *(ushort *)(in_a0_lo + 0x12) | 1; - } - uVar2 = 1; - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -int * proc_7F027BF4(int param_1) - -{ - int *piVar1; - int iVar2; - - if ((ptr_setup_path_tbl != NULL) && (-1 < *(int *)ptr_setup_path_tbl)) { - iVar2 = *(int *)ptr_setup_path_tbl; - piVar1 = (int *)ptr_setup_path_tbl; - do { - if (param_1 == *(int *)(ptr_0xxxpresets + iVar2 * 0x2c + 0x28)) { - return piVar1; - } - iVar2 = piVar1[4]; - piVar1 = piVar1 + 4; - } while (-1 < iVar2); - } - return NULL; -} - - - -ulonglong proc_7F027C60(int param_1) - -{ - int *piVar1; - - piVar1 = proc_7F027BF4(param_1); - return (ulonglong)(piVar1 != NULL); -} - - - -float proc_7F027C84(float *param_1,int *param_2) - -{ - float fVar1; - float fVar2; - - fVar1 = *(float *)(ptr_0xxxpresets + *param_2 * 0x2c) - *param_1; - fVar2 = *(float *)(ptr_0xxxpresets + *param_2 * 0x2c + 2) - param_1[2]; - return fVar1 * fVar1 + fVar2 * fVar2; -} - - - -int * proc_7F027CD4(float *param_1,undefined4 param_2) - -{ - int iVar1; - int *piVar2; - int *piVar3; - int *piVar4; - float fVar5; - float fVar6; - - piVar2 = NULL; - iVar1 = proc_7F0B2718(param_2,proc_7F027C60); - if ((iVar1 != 0) && (piVar2 = proc_7F027BF4(iVar1), piVar2 != NULL)) { - fVar5 = proc_7F027C84(param_1,piVar2); - piVar3 = (int *)piVar2[1]; - iVar1 = *piVar3; - while (-1 < iVar1) { - piVar4 = (int *)(ptr_setup_path_tbl + iVar1 * 0x10); - fVar6 = proc_7F027C84(param_1,piVar4); - if (fVar6 < fVar5) { - iVar1 = piVar3[1]; - } - else { - iVar1 = piVar3[1]; - piVar4 = piVar2; - } - piVar3 = piVar3 + 1; - piVar2 = piVar4; - } - } - return piVar2; -} - - - -void proc_7F027DB0(int param_1,float *param_2,int param_3) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - int *piVar4; - float in_f12; - float in_f14; - int aiStackX8 [2]; - int aiStack80 [20]; - - iVar2 = *(int *)(param_1 + 0x18); - aiStackX8[0] = param_3; - iVar2 = proc_7F0B0D0C(*(int *)(iVar2 + 0x14),in_f12,in_f14,*(int **)(iVar2 + 8), - *(float *)(iVar2 + 0x10),(float)aiStackX8,(uint *)*param_2,(int)param_2[2] - ); - if (((0 < iVar2) && (iVar2 < 0x14)) && (iVar3 = 0, 0 < iVar2)) { - piVar4 = aiStack80; - do { - uVar1 = proc_7F0B5E50(*piVar4); - iVar3 += 1; - if (uVar1 != 0) { - return; - } - piVar4 = piVar4 + 1; - } while (iVar3 != iVar2); - } - return; -} - - - -void proc_7F027E70(int param_1,float *param_2) - -{ - proc_7F027DB0(param_1,param_2,(int)param_2[10]); - return; -} - - - -void proc_7F027E90(int param_1,undefined *param_2,float *param_3) - -{ - undefined4 extraout_a2_lo; - float fVar1; - float vector1; - float extraout_f12; - float vector2; - - vector1 = *param_3 - *(float *)(*(int *)(param_1 + 0x18) + 8); - vector2 = param_3[2] - *(float *)(*(int *)(param_1 + 0x18) + 0x10); - fVar1 = convert_angle_using_inverse((f32)vector1,(f32)vector2); - *param_2 = 6; - *(undefined4 *)(param_2 + 0x38) = 0; - vector1 = sqrtf(vector1 * vector1 + vector2 * vector2); - *(float *)(param_2 + 0x3c) = vector1; - setsubroty(*(int *)(param_1 + 0x1c),extraout_f12,fVar1,extraout_a2_lo); - return; -} - - - -void proc_7F027F20(int param_1,undefined4 *param_2,undefined4 *param_3) - -{ - int *piVar1; - undefined4 *puVar2; - - piVar1 = *(int **)(param_1 + (uint)*(byte *)(param_1 + 0x58) * 4 + 0x40); - if (piVar1 == NULL) { - *param_2 = *(undefined4 *)(param_1 + 0x2c); - param_2[1] = *(undefined4 *)(param_1 + 0x30); - param_2[2] = *(undefined4 *)(param_1 + 0x34); - *param_3 = *(undefined4 *)(param_1 + 0x38); - return; - } - puVar2 = (undefined4 *)(ptr_0xxxpresets + *piVar1 * 0x2c); - *param_2 = *puVar2; - param_2[1] = puVar2[1]; - param_2[2] = puVar2[2]; - *param_3 = puVar2[10]; - return; -} - - - -float proc_7F027FA8(int param_1) - -{ - float fVar1; - int iVar2; - float fVar3; - - fVar1 = dword_80030984; - iVar2 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)); - fVar3 = dword_8003098C; - if (((((iVar2 != ptr_animation_table + 0x4070) && - (iVar2 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = dword_80030988, - iVar2 != ptr_animation_table + 0x40d4)) && - (iVar2 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = dword_80030998, - iVar2 != ptr_animation_table + 0x77d4)) && - ((iVar2 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = dword_80030994, - iVar2 != ptr_animation_table + 0x777c && - (iVar2 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = dword_80030990, - iVar2 != ptr_animation_table + 0x8204)))) && - ((iVar2 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = dword_800309A4, - iVar2 != ptr_animation_table + 0x77d4 && - ((iVar2 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = dword_800309A0, - iVar2 != ptr_animation_table + 0x8520 && - (iVar2 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), fVar3 = fVar1, - iVar2 == ptr_animation_table + 0x84c4)))))) { - fVar3 = dword_8003099C; - } - return *(float *)(*(int *)(param_1 + 0x1c) + 0x14) * fVar3 * flt_80051DF4; -} - - - -int proc_7F028144(int param_1) - -{ - float fVar1; - float fVar2; - undefined4 uStack28; - float afStack24 [2]; - float fStack16; - float fStack8; - float fStack4; - - fVar1 = proc_7F06F618(*(int *)(param_1 + 0x1c)); - proc_7F027F20(param_1,afStack24,&uStack28); - fStack4 = afStack24[0] - *(float *)(*(int *)(param_1 + 0x18) + 8); - fStack8 = fStack16 - *(float *)(*(int *)(param_1 + 0x18) + 0x10); - if (fStack4 < 0.00000000) { - fStack4 = -fStack4; - } - if (fStack8 < 0.00000000) { - fStack8 = -fStack8; - } - fVar2 = proc_7F027FA8(param_1); - return (int)((fStack4 + fStack8) / (fVar2 * fVar1)); -} - - - -void proc_7F0281F4(int param_1) - -{ - *(undefined2 *)(param_1 + 0x5a) = 0; - return; -} - - - -void proc_7F0281FC(int param_1) - -{ - ushort uVar1; - int iVar2; - undefined2 uVar3; - - if (*(char *)(param_1 + 0x5c) != '\x06') { - uVar1 = *(ushort *)(param_1 + 0x5a); - if (uVar1 == 0) { - iVar2 = proc_7F028144(param_1); - iVar2 = iVar2 * 2 + 300; - uVar3 = (undefined2)iVar2; - if (0xffff < iVar2) { - uVar3 = 0xffff; - } - *(undefined2 *)(param_1 + 0x5a) = uVar3; - } - else { - if (clock_timer._2_2_ < uVar1) { - *(short *)(param_1 + 0x5a) = uVar1 - clock_timer._2_2_; - } - else { - proc_7F028DDC(param_1,(float *)(param_1 + 0x2c),*(undefined4 *)(param_1 + 0x38), - *(char *)(param_1 + 0x59)); - } - } - } - return; -} - - - -void proc_7F02828C(int param_1) - -{ - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - proc_7F027F20(param_1,&uStack12,&uStack16); - *(undefined *)(param_1 + 0x5c) = 0; - *(undefined *)(param_1 + 0x5d) = 0; - *(undefined *)(param_1 + 0x5e) = 0; - *(undefined4 *)(param_1 + 0x60) = uStack12; - *(undefined4 *)(param_1 + 100) = uStack8; - *(undefined4 *)(param_1 + 0x68) = uStack4; - proc_7F0281F4(param_1); - return; -} - - - -void proc_7F0282E0(int param_1) - -{ - byte bVar1; - int iVar2; - - bVar1 = *(byte *)(param_1 + 0x58); - if (bVar1 < 3) { - *(char *)(param_1 + 0x58) = bVar1 + 1; - } - else { - iVar2 = *(int *)(param_1 + (uint)bVar1 * 4 + 0x40); - *(undefined *)(param_1 + 0x58) = 1; - proc_7F08F4F0(iVar2,*(int *)(param_1 + 0x3c),(int *)(param_1 + 0x40),6); - } - proc_7F02828C(param_1); - return; -} - - - -int proc_7F028348(int param_1,int *param_2,int param_3) - -{ - int iVar1; - int iVar2; - ulonglong uVar3; - - iVar2 = *(int *)(param_1 + 0x30); - uVar3 = SEXT48(*param_2); - if (param_3 < 0) { - uVar3 = (ulonglong)(uVar3 == 0); - param_3 = -param_3; - } - if (param_3 < 1) { - *param_2 = (int)uVar3; - } - else { - do { - param_3 += -1; - if (uVar3 == 0) { - iVar1 = iVar2 + -1; - if (iVar2 + -1 < 0) { - if ((*(byte *)(*(int *)(param_1 + 0x2c) + 5) & 1) == 0) { - uVar3 = 1; - iVar1 = 1; - } - else { - iVar1 = (uint)*(ushort *)(*(int *)(param_1 + 0x2c) + 6) - 1; - } - } - } - else { - iVar1 = iVar2 + 1; - if (*(int *)(**(int **)(param_1 + 0x2c) + (iVar2 + 1) * 4) < 0) { - if ((*(byte *)((int)*(int **)(param_1 + 0x2c) + 5) & 1) == 0) { - uVar3 = 0; - iVar1 = iVar2 + -1; - } - else { - iVar1 = 0; - } - } - } - iVar2 = iVar1; - } while (0 < param_3); - *param_2 = (int)uVar3; - } - return iVar2; -} - - - -int proc_7F0283FC(int param_1,int param_2) - -{ - int iVar1; - int aiStack8 [2]; - - aiStack8[0] = *(int *)(param_1 + 0x34); - iVar1 = proc_7F028348(param_1,aiStack8,param_2); - return (int)(ptr_0xxxpresets + - *(int *)(ptr_setup_path_tbl + - *(int *)(**(int **)(param_1 + 0x2c) + iVar1 * 4) * 0x10) * 0x2c); -} - - - -int proc_7F028474(int param_1) - -{ - int iVar1; - - iVar1 = proc_7F0283FC(param_1,0); - return iVar1; -} - - - -void proc_7F028494(int param_1) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)proc_7F028474(param_1); - *(undefined *)(param_1 + 0x38) = 0; - *(undefined *)(param_1 + 0x39) = 0; - *(undefined *)(param_1 + 0x3a) = 0; - *(undefined4 *)(param_1 + 0x3c) = *puVar1; - *(undefined4 *)(param_1 + 0x40) = puVar1[1]; - *(undefined4 *)(param_1 + 0x44) = puVar1[2]; - return; -} - - - -void proc_7F0284DC(int param_1) - -{ - int iVar1; - - iVar1 = proc_7F028348(param_1,(int *)(param_1 + 0x34),1); - *(int *)(param_1 + 0x30) = iVar1; - proc_7F028494(param_1); - return; -} - - - -undefined8 proc_7F028510(float *param_1,int param_2) - -{ - longlong lVar1; - short *psVar2; - uint uStack48; - float *apfStack44 [3]; - uint uStack32; - undefined4 uStack28; - - uStack28 = 0xffffffff; - uStack32 = (uint)*(byte *)(param_2 + 3); - proc_7F03E3FC((int *)&uStack32); - lVar1 = (longlong)*ptr_list_object_lookup_indices; - psVar2 = ptr_list_object_lookup_indices; - do { - if (lVar1 < 0) { - return 1; - } - if (pos_data_entry[(int)lVar1 * 0x34] == '\x01') { - proc_7F03CCB0(pos_data_entry + (int)lVar1 * 0x34,(int **)apfStack44,&uStack48); - if ((int)uStack48 < 1) { - lVar1 = (longlong)psVar2[1]; - } - else { - lVar1 = proc_7F03CCD8(param_1,apfStack44[0],uStack48); - if (lVar1 != 0) { - return 0; - } - lVar1 = (longlong)psVar2[1]; - } - } - else { - lVar1 = (longlong)psVar2[1]; - } - psVar2 = psVar2 + 1; - } while( true ); -} - - - -void proc_7F028600(int param_1,undefined *param_2,float param_3,float *param_4,int param_5) - -{ - byte bVar1; - longlong lVar2; - float *pfVar3; - undefined4 extraout_a2_lo; - float fVar4; - float extraout_f12; - int in_stack_00000010; - undefined4 uStack44; - float afStack40 [9]; - int iStack4; - - *(undefined *)(param_1 + 9) = 0; - *(undefined4 *)(param_1 + 0xcc) = global_timer; - fVar4 = proc_7F06F618(*(int *)(param_1 + 0x1c)); - *(float *)(param_2 + 0x38) = - *(float *)(param_2 + 0x38) + (float)param_4 * fVar4 * global_timer_delta; - if (*(float *)(param_2 + 0x3c) <= *(float *)(param_2 + 0x38)) { - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - lVar2 = proc_7F0B18B8(); - if ((lVar2 < 0) && (lVar2 = proc_7F028510((float *)param_5,in_stack_00000010), lVar2 != 0)) - { - iStack4 = *(int *)(param_1 + 0x18); - *(int *)(iStack4 + 0x14) = in_stack_00000010; - *(undefined4 *)(iStack4 + 8) = *(undefined4 *)param_5; - *(undefined4 *)(iStack4 + 0xc) = *(undefined4 *)(param_5 + 4); - *(undefined4 *)(iStack4 + 0x10) = *(undefined4 *)(param_5 + 8); - *(uint *)(param_1 + 0x14) = *(uint *)(param_1 + 0x14) | 1; - setsuboffset(*(int *)(param_1 + 0x1c),(xyzpoint *)param_5); - proc_7F01FC10(*(int *)(param_1 + 0x1c),(float *)(iStack4 + 8),(float *)(iStack4 + 8), - (float *)(param_1 + 0xac)); - proc_7F020D94(param_1); - if (*(char *)(param_1 + 7) == '\x0e') { - proc_7F0284DC(param_1); - pfVar3 = (float *)proc_7F028474(param_1); - proc_7F027E90(param_1,param_2,pfVar3); - } - else { - if (*(char *)(param_1 + 7) == '\x0f') { - bVar1 = *(byte *)(param_1 + 0x58); - if (*(int *)(param_1 + (uint)bVar1 * 4 + 0x40) == 0) { - if (bVar1 != 0) { - fVar4 = convert_angle_using_inverse - ((f32)(*(float *)(iStack4 + 8) - - *(float *)(ptr_0xxxpresets + - **(int **)(param_1 + (uint)bVar1 * 4 + - 0x3c) * 0x2c)), - (f32)(*(float *)(iStack4 + 0x10) - - *(float *)(ptr_0xxxpresets + - **(int **)(param_1 + (uint)bVar1 * 4 - + 0x3c) * 0x2c + 2))); - setsubroty(*(int *)(param_1 + 0x1c),extraout_f12,fVar4,extraout_a2_lo); - } - proc_7F023E48(param_1); - } - else { - proc_7F0282E0(param_1); - proc_7F027F20(param_1,afStack40,&uStack44); - proc_7F027E90(param_1,param_2,afStack40); - } - } - } - } - else { - *(undefined4 *)(param_2 + 0x38) = *(undefined4 *)(param_2 + 0x3c); - if (*(char *)(param_1 + 7) == '\x0e') { - *(undefined4 *)(param_1 + 0x78) = global_timer; - proc_7F028494(param_1); - } - else { - *(undefined4 *)(param_1 + 0x9c) = global_timer; - proc_7F02828C(param_1); - } - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - } - return; -} - - - -void proc_7F028894(int param_1,float *param_2) - -{ - int iVar1; - float *pfVar2; - float fVar3; - float fVar4; - undefined4 uStack24; - float fStack20; - float fStack16; - float fStack12; - - if ((*(char *)(param_1 + 7) == '\x0e') && (*(char *)(param_1 + 0x38) == '\x06')) { - pfVar2 = (float *)proc_7F028474(param_1); - if (*(float *)(param_1 + 0x74) <= *(float *)(param_1 + 0x70)) { - *param_2 = *pfVar2; - param_2[1] = pfVar2[1]; - param_2[2] = pfVar2[2]; - } - else { - fVar3 = *(float *)(param_1 + 0x70) / *(float *)(param_1 + 0x74); - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 8); - *param_2 = (*pfVar2 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 0xc); - param_2[1] = (pfVar2[1] - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 0x10); - param_2[2] = (pfVar2[2] - fVar4) * fVar3 + fVar4; - } - } - else { - if (*(char *)(param_1 + 7) == '\x0f') { - if (*(char *)(param_1 + 0x5c) == '\x06') { - proc_7F027F20(param_1,&fStack20,&uStack24); - if (*(float *)(param_1 + 0x94) < *(float *)(param_1 + 0x98)) { - fVar3 = *(float *)(param_1 + 0x94) / *(float *)(param_1 + 0x98); - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 8); - *param_2 = (fStack20 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 0xc); - param_2[1] = (fStack16 - fVar4) * fVar3 + fVar4; - fVar4 = *(float *)(*(int *)(param_1 + 0x18) + 0x10); - param_2[2] = (fStack12 - fVar4) * fVar3 + fVar4; - return; - } - *param_2 = fStack20; - param_2[1] = fStack16; - param_2[2] = fStack12; - return; - } - iVar1 = *(int *)(param_1 + 0x18); - } - else { - iVar1 = *(int *)(param_1 + 0x18); - } - *param_2 = *(float *)(iVar1 + 8); - param_2[1] = *(float *)(*(int *)(param_1 + 0x18) + 0xc); - param_2[2] = *(float *)(*(int *)(param_1 + 0x18) + 0x10); - } - return; -} - - - -void proc_7F028A5C(int param_1,int param_2,int param_3) - -{ - bool bVar1; - int iVar3; - int iVar4; - u32 uVar5; - ulonglong uVar2; - bool bVar6; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float fVar7; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float fVar8; - - iVar3 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar4 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - if (((iVar3 == 0) || (iVar4 == 0)) && ((iVar3 != 0 || (iVar4 != 0)))) { - uVar2 = check_if_item_held_like_pistol(iVar3); - fVar7 = extraout_f12_00; - fVar8 = extraout_f14_00; - if ((uVar2 == 0) && - (uVar2 = check_if_item_held_like_pistol(iVar4), fVar7 = extraout_f12_01, - fVar8 = extraout_f14_01, uVar2 == 0)) { - bVar1 = true; - bVar6 = iVar3 != 0; - } - else { - bVar1 = false; - bVar6 = iVar3 != 0; - } - } - else { - uVar5 = get_random_value(); - bVar1 = false; - bVar6 = (bool)((byte)uVar5 & 1); - fVar7 = extraout_f12; - fVar8 = extraout_f14; - } - if (bVar1) { - if (param_2 == 2) { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x4070,bVar6,fVar7,0,fVar8) - ; - } - else { - if (param_2 == 1) { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x40d4,bVar6,fVar7,0, - fVar8); - } - else { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x4018,bVar6,fVar7,0, - fVar8); - } - } - } - else { - if (param_3 == 0) { - if (param_2 == 2) { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x77d4,bVar6,fVar7,0, - fVar8); - } - else { - if (param_2 == 1) { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x8520,bVar6,fVar7, - 0,fVar8); - } - else { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x84c4,bVar6,fVar7, - 0,fVar8); - } - } - } - else { - if (param_2 == 2) { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x77d4,bVar6,fVar7,0, - fVar8); - } - else { - if (param_2 == 1) { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x777c,bVar6,fVar7, - 0,fVar8); - } - else { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x8204,bVar6,fVar7, - 0,fVar8); - } - } - } - } - return; -} - - - -void proc_7F028DA0(int param_1) - -{ - proc_7F028A5C(param_1,(uint)*(byte *)(param_1 + 0x59), - (uint)*(byte *)&c_item_entries[*(char *)(param_1 + 0xf)].anonymous_3); - return; -} - - - -undefined8 proc_7F028DDC(int param_1,float *param_2,undefined4 param_3,char param_4) - -{ - bool bVar1; - undefined8 uVar2; - int iVar4; - u32 uVar5; - longlong lVar3; - int iStack56; - float afStack52 [4]; - int iStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - int *piStack12; - int *piStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - bVar1 = *(char *)(param_1 + 7) == '\x0f'; - if (bVar1) { - bVar1 = param_4 == *(char *)(param_1 + 0x59); - } - piStack8 = proc_7F027CD4((float *)(iStack4 + 8),*(undefined4 *)(iStack4 + 0x14)); - piStack12 = proc_7F027CD4(param_2,param_3); - if (piStack8 == NULL) { - uVar2 = 0; - } - else { - if (piStack12 == NULL) { - uVar2 = 0; - } - else { - iVar4 = proc_7F08F4F0((int)piStack8,(int)piStack12,&iStack36,6); - if (iVar4 < 2) { - uVar2 = 0; - } - else { - proc_7F02D184(param_1); - *(undefined *)(param_1 + 7) = 0xf; - *(float *)(param_1 + 0x2c) = *param_2; - *(float *)(param_1 + 0x30) = param_2[1]; - *(float *)(param_1 + 0x34) = param_2[2]; - *(undefined4 *)(param_1 + 0x38) = param_3; - *(undefined *)(param_1 + 0x58) = 0; - *(int **)(param_1 + 0x3c) = piStack12; - *(undefined4 *)(param_1 + 0xa0) = 0; - *(char *)(param_1 + 0x59) = param_4; - uVar5 = get_random_value(); - *(uint *)(param_1 + 0x84) = uVar5 % 100; - *(undefined *)(param_1 + 0x5f) = 0; - *(undefined4 *)(param_1 + 0x9c) = 0xffffffff; - *(int *)(param_1 + 0x40) = iStack36; - *(undefined4 *)(param_1 + 0x44) = uStack32; - lVar3 = (longlong)(param_1 + 8); - *(undefined4 *)(param_1 + 0x48) = uStack28; - *(undefined4 *)(param_1 + 0x4c) = uStack24; - *(undefined4 *)(param_1 + 0x50) = uStack20; - *(undefined4 *)(param_1 + 0x54) = uStack16; - proc_7F02828C(param_1); - *(undefined *)(param_1 + 8) = 0; - if (!bVar1) { - proc_7F028DA0(param_1); - } - proc_7F027F20(param_1,afStack52,&iStack56); - if (((*(byte *)(iStack4 + 1) & 2) == 0) && - (proc_7F027DB0(param_1,afStack52,iStack56), lVar3 != 0)) { - proc_7F027E90(param_1,(undefined *)(param_1 + 0x5c),afStack52); - } - uVar2 = 1; - } - } - } - return uVar2; -} - - - -void proc_7F028FAC(int param_1) - -{ - bool bVar1; - int iVar3; - int iVar4; - u32 uVar5; - ulonglong uVar2; - bool bVar6; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float fVar7; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float fVar8; - - iVar3 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - iVar4 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - if (((iVar3 == 0) || (iVar4 == 0)) && ((iVar3 != 0 || (iVar4 != 0)))) { - uVar2 = check_if_item_held_like_pistol(iVar3); - fVar7 = extraout_f12_00; - fVar8 = extraout_f14_00; - if ((uVar2 == 0) && - (uVar2 = check_if_item_held_like_pistol(iVar4), fVar7 = extraout_f12_01, - fVar8 = extraout_f14_01, uVar2 == 0)) { - bVar1 = true; - bVar6 = iVar3 != 0; - } - else { - bVar1 = false; - bVar6 = iVar3 != 0; - } - } - else { - uVar5 = get_random_value(); - bVar1 = false; - bVar6 = (bool)((byte)uVar5 & 1); - fVar7 = extraout_f12; - fVar8 = extraout_f14; - } - if (bVar1) { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x4018,bVar6,fVar7,0,fVar8); - } - else { - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x8204,bVar6,fVar7,0,fVar8); - } - return; -} - - - -void proc_7F0290F8(int param_1,int **param_2) - -{ - int *piVar1; - int iVar2; - u32 uVar4; - longlong lVar3; - float *pfVar5; - int iVar6; - int iVar7; - float fVar8; - float fVar9; - - piVar1 = *param_2; - iVar2 = *(int *)(param_1 + 0x18); - iVar6 = 0; - iVar7 = -1; - if (-1 < *piVar1) { - iVar7 = 0; - while( true ) { - pfVar5 = (float *)(ptr_0xxxpresets + - *(int *)(ptr_setup_path_tbl + *(int *)((int)piVar1 + iVar7) * 0x10) * - 0x2c); - if ((((pfVar5[10] != 0.00000000) && (*(float *)(iVar2 + 0x14) == pfVar5[10])) && - (fVar8 = *pfVar5 - *(float *)(iVar2 + 8), - fVar9 = pfVar5[2] - *(float *)(iVar2 + 0x10), iVar7 = iVar6, - fVar8 * fVar8 + fVar9 * fVar9 < flt_80051DF8)) || - (iVar6 += 1, iVar7 = -1, piVar1[iVar6] < 0)) break; - iVar7 = iVar6 * 4; - } - } - if (iVar7 < 0) { - iVar7 = 0; - } - proc_7F02D184(param_1); - *(undefined *)(param_1 + 7) = 0xe; - *(undefined4 *)(param_1 + 0x34) = 1; - *(int *)(param_1 + 0x30) = iVar7; - *(int ***)(param_1 + 0x2c) = param_2; - uVar4 = get_random_value(); - *(uint *)(param_1 + 0x60) = uVar4 % 100; - *(undefined *)(param_1 + 0x3b) = 0; - *(undefined4 *)(param_1 + 0x78) = 0xffffffff; - *(undefined4 *)(param_1 + 0x7c) = 0; - proc_7F028494(param_1); - *(undefined *)(param_1 + 8) = 0; - proc_7F028FAC(param_1); - pfVar5 = (float *)proc_7F028474(param_1); - lVar3 = (longlong)(int)pfVar5; - if (((*(byte *)(*(int *)(param_1 + 0x18) + 1) & 2) == 0) && - (proc_7F027E70(param_1,pfVar5), lVar3 != 0)) { - proc_7F027E90(param_1,(undefined *)(param_1 + 0x38),pfVar5); - } - return; -} - - - -void proc_7F029298(int param_1) - -{ - *(undefined4 *)(param_1 + 0xe8) = global_timer; - return; -} - - - -undefined4 proc_7F0292A8(short *param_1,undefined4 *param_2,int param_3) - -{ - int iVar1; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f14; - f32 extraout_f14_00; - u32 uStack16; - u32 uStack12; - uint uStack8; - undefined4 uStack4; - - uStack4 = 0; - uStack8 = 1; - if (*(char *)((int)param_1 + 7) == '\b') { - uStack8 = *(uint *)(param_1 + 0x26); - } - if ((uStack8 & 2) == 0) { - uStack12 = param_3; - proc_7F032C78(param_1,(longlong)(int)uStack8,(longlong)*(int *)(param_1 + 0x28),&uStack16); - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - if ((uStack8 & 1) == 0) { - if ((uStack8 & 4) == 0) { - if ((((uStack8 & 8) != 0) && - (iVar1 = proc_7F0B0E24(&uStack12,extraout_f12,extraout_f14,(f32)*param_2), - iVar1 != 0)) && (uStack12 == uStack16)) { - uStack4 = 1; - } - } - else { - iVar1 = proc_7F0B0E24(&uStack12,extraout_f12,extraout_f14,(f32)*param_2); - if ((iVar1 != 0) && (uStack12 == uStack16)) { - uStack4 = 1; - } - } - } - else { - proc_7F08A03C(pPlayer->position_data_pointer,0); - iVar1 = get_invisible_to_guards_flag(); - if (((iVar1 != 0) && - (iVar1 = proc_7F0B0E24(&uStack12,extraout_f12_00,extraout_f14_00,(f32)*param_2), - iVar1 != 0)) && (uStack12 == uStack16)) { - proc_7F029298((int)param_1); - uStack4 = 1; - } - proc_7F08A03C(pPlayer->position_data_pointer,1); - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - } - else { - uStack4 = 1; - } - return uStack4; -} - - - -undefined4 proc_7F0294BC(int param_1) - -{ - int iVar1; - f32 extraout_f12; - f32 extraout_f14; - u32 uStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - uStack4 = 0; - iVar1 = get_invisible_to_guards_flag(); - if (iVar1 != 0) { - iStack8 = *(int *)(param_1 + 0x18); - iStack12 = get_curplayer_positiondata(); - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - proc_7F08A03C(pPlayer->position_data_pointer,0); - uStack16 = *(u32 *)(iStack8 + 0x14); - iVar1 = proc_7F0B0E24(&uStack16,extraout_f12,extraout_f14,*(f32 *)(iStack8 + 8)); - if ((iVar1 != 0) && (uStack16 == *(u32 *)(iStack12 + 0x14))) { - proc_7F029298(param_1); - uStack4 = 1; - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - proc_7F08A03C(pPlayer->position_data_pointer,1); - } - return uStack4; -} - - - -undefined4 proc_7F0295D0(int param_1,undefined4 *param_2,int param_3) - -{ - int iVar1; - f32 extraout_f12; - f32 extraout_f14; - undefined4 uStack16; - u32 uStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - uStack16 = 0; - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - uStack8 = *(u32 *)(iStack4 + 0x14); - iVar1 = proc_7F0B0E24(&uStack8,extraout_f12,extraout_f14,*(f32 *)(iStack4 + 8)); - if ((iVar1 != 0) && (uStack8 == param_3)) { - uStack16 = 1; - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - return uStack16; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 proc_7F02969C(void) - -{ - undefined4 uVar1; - int in_a0_lo; - float *in_a1_lo; - int in_a2_lo; - undefined4 in_a3_lo; - float in_f0; - float fVar2; - float fVar3; - - getsubroty(*(int *)(in_a0_lo + 0x1c),(uint)in_a1_lo,in_a2_lo,in_a3_lo); - fVar2 = convert_angle_using_inverse - ((f32)(*in_a1_lo - *(float *)(*(int *)(in_a0_lo + 0x18) + 8)), - (f32)(in_a1_lo[2] - *(float *)(*(int *)(in_a0_lo + 0x18) + 0x10))); - fVar3 = fVar2 - in_f0; - if (fVar2 < in_f0) { - fVar3 = fVar3 + flt_80051DFC; - } - if ((fVar3 < flt_80051E00) || (uVar1 = 0, flt_80051E04 < fVar3)) { - uVar1 = proc_7F0295D0(in_a0_lo,in_a1_lo,in_a2_lo); - } - return uVar1; -} - - - -undefined4 proc_7F029760(int param_1) - -{ - int iVar1; - f32 extraout_f12; - f32 extraout_f14; - undefined4 uStack16; - u32 uStack12; - int iStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - iStack8 = get_curplayer_positiondata(); - uStack16 = 0; - proc_7F08A03C(pPlayer->position_data_pointer,0); - uStack12 = *(u32 *)(iStack8 + 0x14); - iVar1 = proc_7F0B0E24(&uStack12,extraout_f12,extraout_f14,*(f32 *)(iStack8 + 8)); - if ((iVar1 != 0) && (uStack12 == *(u32 *)(iStack4 + 0x14))) { - uStack16 = 1; - } - proc_7F08A03C(pPlayer->position_data_pointer,1); - return uStack16; -} - - - -undefined4 proc_7F02982C(int param_1,float *param_2,float *param_3) - -{ - int iVar1; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f12_01; - f32 extraout_f12_02; - f32 extraout_f14; - f32 extraout_f14_00; - f32 extraout_f14_01; - f32 extraout_f14_02; - float fVar2; - float fVar3; - undefined4 uStack48; - undefined4 uStack44; - float fStack40; - undefined4 uStack36; - u32 uStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - GUARDdata *pGStack4; - - pGStack4 = *(GUARDdata **)(param_1 + 4); - uStack36 = 0; - fVar2 = *param_3 * (float)pGStack4->chrwidth * flt_80051E08; - fVar3 = param_3[2] * (float)pGStack4->chrwidth * flt_80051E08; - proc_7F023160(param_1,&uStack48,&fStack40,&uStack44); - set_or_unset_GUARDdata_flag(pGStack4,0); - fStack8 = *(float *)(param_1 + 8) + fVar3; - fStack12 = *(float *)(param_1 + 0x10) - fVar2; - fStack16 = *param_2 + fVar3 + fVar2; - fStack20 = (param_2[2] - fVar2) + fVar3; - uStack24 = *(u32 *)(param_1 + 0x14); - iVar1 = proc_7F0B0E24(&uStack24,extraout_f12,extraout_f14,*(f32 *)(param_1 + 8)); - if (iVar1 != 0) { - iVar1 = proc_7F0B0E24(&uStack24,extraout_f12_00,extraout_f14_00,(f32)fStack8); - if (iVar1 != 0) { - fStack8 = *(float *)(param_1 + 8) - fVar3; - fStack16 = (*param_2 - fVar3) + fVar2; - fStack12 = *(float *)(param_1 + 0x10) + fVar2; - fStack20 = param_2[2] + fVar2 + fVar3; - uStack24 = *(u32 *)(param_1 + 0x14); - iVar1 = proc_7F0B0E24(&uStack24,extraout_f12_01,extraout_f14_01,*(f32 *)(param_1 + 8)); - if (iVar1 != 0) { - iVar1 = proc_7F0B0E24(&uStack24,extraout_f12_02,extraout_f14_02,(f32)fStack8); - if (iVar1 != 0) { - uStack36 = 1; - } - } - } - } - set_or_unset_GUARDdata_flag(pGStack4,1); - return uStack36; -} - - - -undefined4 proc_7F029A94(int param_1,float *param_2,float param_3) - -{ - undefined4 uVar1; - float in_a2_lo; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = *param_2 * in_a2_lo + *(float *)(param_1 + 8); - uStack8 = *(undefined4 *)(param_1 + 0xc); - fStack4 = param_2[2] * in_a2_lo + *(float *)(param_1 + 0x10); - uVar1 = proc_7F02982C(param_1,&fStack12,param_2); - return uVar1; -} - - - -undefined4 proc_7F029AF0(int param_1,float *param_2) - -{ - undefined4 uVar1; - float fVar2; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = *param_2 - *(float *)(param_1 + 8); - uStack8 = 0; - fStack4 = param_2[2] - *(float *)(param_1 + 0x10); - if ((fStack12 == 0.00000000) && (fStack4 == 0.00000000)) { - uVar1 = 1; - } - else { - fVar2 = sqrtf(fStack4 * fStack4 + fStack12 * fStack12); - fStack12 = fStack12 * (1.00000000 / fVar2); - fStack4 = fStack4 * (1.00000000 / fVar2); - uVar1 = proc_7F02982C(param_1,param_2,&fStack12); - } - return uVar1; -} - - - -void proc_7F029BB0(int param_1) - -{ - int iVar1; - - iVar1 = get_curplayer_positiondata(); - *(undefined4 *)(param_1 + 0xd4) = global_timer; - *(undefined4 *)(param_1 + 0xd8) = *(undefined4 *)(iVar1 + 8); - *(undefined4 *)(param_1 + 0xdc) = *(undefined4 *)(iVar1 + 0xc); - *(undefined4 *)(param_1 + 0xe0) = *(undefined4 *)(iVar1 + 0x10); - *(undefined4 *)(param_1 + 0xe4) = *(undefined4 *)(iVar1 + 0x14); - return; -} - - - -void proc_7F029C00(int param_1) - -{ - int iVar1; - - iVar1 = get_curplayer_positiondata(); - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 2; - *(undefined4 *)(param_1 + 0xf0) = global_timer; - *(undefined4 *)(param_1 + 0xd8) = *(undefined4 *)(iVar1 + 8); - *(undefined4 *)(param_1 + 0xdc) = *(undefined4 *)(iVar1 + 0xc); - *(undefined4 *)(param_1 + 0xe0) = *(undefined4 *)(iVar1 + 0x10); - *(undefined4 *)(param_1 + 0xe4) = *(undefined4 *)(iVar1 + 0x14); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F029C5C(void) - -{ - char cVar1; - bool bVar2; - int in_a0_lo; - float in_f0; - float fVar3; - - cVar1 = *(char *)(in_a0_lo + 7); - if (((cVar1 == '\x01') && (*(int *)(in_a0_lo + 0x2c) == 0)) && (*(int *)(in_a0_lo + 0x38) == 0)) - { - return 1; - } - if (cVar1 != '\x03') { - if (cVar1 == '\x0e') { - return 1; - } - return 0; - } - if (*(int *)(in_a0_lo + 0x34) == 0) { - proc_7F06F610(*(int *)(in_a0_lo + 0x1c)); - if (0.00000000 <= in_f0) { - proc_7F06F5BC(*(int *)(in_a0_lo + 0x1c)); - fVar3 = proc_7F06F5C4(*(int *)(in_a0_lo + 0x1c)); - bVar2 = fVar3 <= in_f0; - in_f0 = fVar3; - if (bVar2) { - return 1; - } - } - proc_7F06F610(*(int *)(in_a0_lo + 0x1c)); - if (0.00000000 <= in_f0) { - return 0; - } - proc_7F06F5BC(*(int *)(in_a0_lo + 0x1c)); - if (0.00000000 < in_f0) { - return 0; - } - } - return 1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -ulonglong proc_7F029D70(void) - -{ - int iVar2; - longlong lVar1; - u32 uVar3; - int iVar4; - ulonglong uVar5; - int in_a0_lo; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - float __x; - float fVar6; - float vector1; - float fVar7; - float vector2; - - iVar4 = *(int *)(in_a0_lo + 0x18); - iVar2 = get_curplayer_positiondata(); - getsubroty(*(int *)(in_a0_lo + 0x1c),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - vector1 = *(float *)(iVar2 + 8) - *(float *)(iVar4 + 8); - fVar6 = *(float *)(iVar2 + 0xc) - *(float *)(iVar4 + 0xc); - vector2 = *(float *)(iVar2 + 0x10) - *(float *)(iVar4 + 0x10); - __x = convert_angle_using_inverse((f32)vector1,(f32)vector2); - fVar7 = __x - in_f0; - if (__x < in_f0) { - fVar7 = fVar7 + flt_80051E0C; - } - lVar1 = proc_7F032B68(in_a0_lo); - uVar5 = 0; - if (lVar1 == 0) { - __x = vector1 * vector1 + fVar6 * fVar6 + vector2 * vector2; - if (((__x < *(float *)(in_a0_lo + 0xd0) * *(float *)(in_a0_lo + 0xd0) * 100.00000000 * - 100.00000000) && ((fVar7 < flt_80051E10 || (flt_80051E14 < fVar7)))) || - ((__x < flt_80051E18 && ((fVar7 < flt_80051E1C || (flt_80051E20 < fVar7)))))) { - fVar7 = square_near_fog_value(); - uVar5 = 0; - if (__x < fVar7) { - sqrtf(__x); - iVar4 = proc_7F023BC0(); - uVar3 = get_random_value(); - uVar5 = (ulonglong)(uVar3 % (iVar4 + 1U) == 0); - if (iVar4 + 1U == 0) { - trap(0x1c00); - } - } - } - } - else { - uVar5 = 1; - } - if (uVar5 != 0) { - iVar4 = proc_7F0294BC(in_a0_lo); - uVar5 = SEXT48(iVar4); - } - if (uVar5 != 0) { - proc_7F029BB0(in_a0_lo); - uVar5 = SEXT48((int)uVar5); - } - return uVar5; -} - - - -void proc_7F02A044(int param_1,int param_2,float *param_3) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = *(int *)(param_1 + 0x18); - iVar2 = get_curplayer_positiondata(); - fVar4 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar5 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - fVar3 = sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (param_2 == 0) { - param_3[2] = fVar4 / fVar3; - *param_3 = -(fVar5 / fVar3); - param_3[1] = 0.00000000; - } - else { - *param_3 = fVar5 / fVar3; - param_3[2] = -(fVar4 / fVar3); - param_3[1] = 0.00000000; - } - return; -} - - - -undefined4 proc_7F02A0EC(int param_1,int param_2,float param_3) - -{ - undefined4 uVar1; - float in_a2_lo; - float fStack28; - undefined4 uStack24; - float fStack20; - float afStack16 [2]; - float fStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - proc_7F02A044(param_1,param_2,afStack16); - fStack28 = afStack16[0] * in_a2_lo + *(float *)(iStack4 + 8); - uStack24 = *(undefined4 *)(iStack4 + 0xc); - fStack20 = fStack8 * in_a2_lo + *(float *)(iStack4 + 0x10); - uVar1 = proc_7F02982C(iStack4,&fStack28,afStack16); - return uVar1; -} - - - -void proc_7F02A15C(int param_1,uint param_2,float *param_3,undefined4 param_4) - -{ - float in_f0; - float fVar1; - - getsubroty(*(int *)(param_1 + 0x1c),param_2,param_3,param_4); - if (param_2 == 0) { - fVar1 = cosf(in_f0); - *param_3 = -fVar1; - param_3[1] = 0.00000000; - fVar1 = sinf(in_f0); - param_3[2] = fVar1; - } - else { - fVar1 = cosf(in_f0); - *param_3 = fVar1; - param_3[1] = 0.00000000; - fVar1 = sinf(in_f0); - param_3[2] = -fVar1; - } - return; -} - - - -undefined4 proc_7F02A1E8(int param_1,uint param_2,float param_3) - -{ - undefined4 uVar1; - float in_a2_lo; - float fStack28; - undefined4 uStack24; - float fStack20; - float afStack16 [2]; - float fStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - proc_7F02A15C(param_1,param_2,afStack16,iStack4); - fStack28 = afStack16[0] * in_a2_lo + *(float *)(iStack4 + 8); - uStack24 = *(undefined4 *)(iStack4 + 0xc); - fStack20 = fStack8 * in_a2_lo + *(float *)(iStack4 + 0x10); - uVar1 = proc_7F02982C(iStack4,&fStack28,afStack16); - return uVar1; -} - - - -undefined8 true_if_actor_is_dying_fading_limping_shot(GUARDdata *actor) - -{ - guard_action_type gVar1; - - gVar1 = actor->actiontype; - if ((((gVar1 != dying) && (gVar1 != fade_away)) && (gVar1 != limping)) && - ((gVar1 != gettingshot || ((actor->guard_bitflags & 0x200U) != 0)))) { - return 1; - } - return 0; -} - - - -s32 true_if_actor_dying_fading(GUARDdata *chr) - -{ - return (s32)(uint)(chr->actiontype == dying || chr->actiontype == fade_away); -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F02A2C8(void) - -{ - bool bVar1; - longlong lVar2; - int iVar4; - u32 uVar5; - int iVar6; - undefined8 uVar3; - GUARDdata *in_a0_lo; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - float fVar7; - float fVar8; - float extraout_f12; - float extraout_f12_00; - - lVar2 = true_if_actor_is_dying_fading_limping_shot(in_a0_lo); - if (lVar2 == 0) { - return 0; - } - iVar6 = in_a0_lo->POSdata_pointer; - iVar4 = get_curplayer_positiondata(); - getsubroty(in_a0_lo->MODELdata_pointer,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar7 = convert_angle_using_inverse - ((f32)(*(float *)(iVar4 + 8) - *(float *)(iVar6 + 8)), - (f32)(*(float *)(iVar4 + 0x10) - *(float *)(iVar6 + 0x10))); - fVar8 = fVar7 - in_f0; - if (fVar7 < in_f0) { - fVar8 = fVar8 + flt_80051E38; - } - if ((flt_80051E3C <= fVar8) && (fVar8 <= flt_80051E40)) { - if (fVar8 <= flt_80051E44) { - return 0; - } - if (flt_80051E48 <= fVar8) { - return 0; - } - } - uVar5 = get_random_value(); - bVar1 = (uVar5 & 1) == 0; - iVar6 = proc_7F02A1E8((int)in_a0_lo,(uint)bVar1,extraout_f12); - if (iVar6 == 0) { - iVar6 = proc_7F02A1E8((int)in_a0_lo,(uint)!bVar1,extraout_f12_00); - if (iVar6 == 0) { - uVar3 = 0; - } - else { - proc_7F024800(); - uVar3 = 1; - } - } - else { - proc_7F024800(); - uVar3 = 1; - } - return uVar3; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F02A428(void) - -{ - bool bVar1; - longlong lVar2; - int iVar4; - u32 uVar5; - int iVar6; - undefined8 uVar3; - GUARDdata *in_a0_lo; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - float fVar7; - float fVar8; - float extraout_f12; - float extraout_f12_00; - - lVar2 = true_if_actor_is_dying_fading_limping_shot(in_a0_lo); - if (lVar2 == 0) { - return 0; - } - iVar6 = in_a0_lo->POSdata_pointer; - iVar4 = get_curplayer_positiondata(); - getsubroty(in_a0_lo->MODELdata_pointer,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar7 = convert_angle_using_inverse - ((f32)(*(float *)(iVar4 + 8) - *(float *)(iVar6 + 8)), - (f32)(*(float *)(iVar4 + 0x10) - *(float *)(iVar6 + 0x10))); - fVar8 = fVar7 - in_f0; - if (fVar7 < in_f0) { - fVar8 = fVar8 + flt_80051E4C; - } - if ((flt_80051E50 <= fVar8) && (fVar8 <= flt_80051E54)) { - if (fVar8 <= flt_80051E58) { - return 0; - } - if (flt_80051E5C <= fVar8) { - return 0; - } - } - uVar5 = get_random_value(); - bVar1 = (uVar5 & 1) == 0; - iVar6 = proc_7F02A1E8((int)in_a0_lo,(uint)bVar1,extraout_f12); - if (iVar6 == 0) { - iVar6 = proc_7F02A1E8((int)in_a0_lo,(uint)!bVar1,extraout_f12_00); - if (iVar6 == 0) { - uVar3 = 0; - } - else { - proc_7F024A84(); - uVar3 = 1; - } - } - else { - proc_7F024A84(); - uVar3 = 1; - } - return uVar3; -} - - - -undefined8 proc_7F02A588(int param_1) - -{ - longlong lVar1; - u32 uVar2; - int iVar3; - int iVar4; - float fVar5; - float fStack32; - undefined4 uStack28; - float fStack24; - float afStack20 [2]; - float fStack12; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - if (global_timer - *(int *)(param_1 + 200) < 0xb5) { - return 0; - } - iVar4 = *(int *)(param_1 + 0x18); - uVar2 = get_random_value(); - fVar5 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * 200.00000000 + 200.00000000; - uVar2 = get_random_value(); - proc_7F02A044(param_1,(uint)((uVar2 & 1) == 0),afStack20); - fStack32 = afStack20[0] * fVar5 + *(float *)(iVar4 + 8); - uStack28 = *(undefined4 *)(iVar4 + 0xc); - fStack24 = fStack12 * fVar5 + *(float *)(iVar4 + 0x10); - iVar3 = proc_7F02982C(iVar4,&fStack32,afStack20); - if (iVar3 != 0) { - proc_7F024CF8(param_1,&fStack32); - return 1; - } - afStack20[0] = -afStack20[0]; - fStack12 = -fStack12; - fStack32 = afStack20[0] * fVar5 + *(float *)(iVar4 + 8); - uStack28 = *(undefined4 *)(iVar4 + 0xc); - fStack24 = fStack12 * fVar5 + *(float *)(iVar4 + 0x10); - iVar4 = proc_7F02982C(iVar4,&fStack32,afStack20); - if (iVar4 != 0) { - proc_7F024CF8(param_1,&fStack32); - return 1; - } - } - return 0; -} - - - -undefined8 proc_7F02A704(int param_1) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - int iVar4; - int iVar5; - float fVar6; - float fVar7; - float fVar8; - - lVar2 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar2 == 0) { - uVar3 = 0; - } - else { - iVar1 = *(int *)(param_1 + 0x18); - iVar4 = get_curplayer_positiondata(); - iVar5 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,0); - if ((iVar5 == 0) && - (iVar5 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,1), iVar5 == 0)) { - return 0; - } - if (global_timer - *(int *)(param_1 + 200) < 0xb5) { - uVar3 = 0; - } - else { - fVar6 = *(float *)(iVar4 + 8) - *(float *)(iVar1 + 8); - fVar7 = *(float *)(iVar4 + 0xc) - *(float *)(iVar1 + 0xc); - fVar8 = *(float *)(iVar4 + 0x10) - *(float *)(iVar1 + 0x10); - if (flt_80051E60 <= fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8) { - proc_7F02587C(param_1,0); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - } - return uVar3; -} - - - -undefined8 proc_7F02A7F8(int param_1) - -{ - int iVar1; - longlong lVar2; - undefined8 uVar3; - int iVar4; - int iVar5; - float fVar6; - float fVar7; - float fVar8; - - lVar2 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar2 == 0) { - uVar3 = 0; - } - else { - iVar1 = *(int *)(param_1 + 0x18); - iVar4 = get_curplayer_positiondata(); - iVar5 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,0); - if ((iVar5 == 0) && - (iVar5 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,1), iVar5 == 0)) { - return 0; - } - if (global_timer - *(int *)(param_1 + 200) < 0xb5) { - uVar3 = 0; - } - else { - fVar6 = *(float *)(iVar4 + 8) - *(float *)(iVar1 + 8); - fVar7 = *(float *)(iVar4 + 0xc) - *(float *)(iVar1 + 0xc); - fVar8 = *(float *)(iVar4 + 0x10) - *(float *)(iVar1 + 0x10); - if (flt_80051E64 <= fVar6 * fVar6 + fVar7 * fVar7 + fVar8 * fVar8) { - proc_7F02587C(param_1,1); - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - } - return uVar3; -} - - - -ulonglong proc_7F02A8EC(int param_1) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - int iVar4; - u32 uVar5; - int iVar6; - float fVar7; - float fVar8; - float fVar9; - float extraout_f12; - float extraout_f12_00; - - lVar2 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar2 == 0) { - return 0; - } - iVar6 = *(int *)(param_1 + 0x18); - iVar3 = get_curplayer_positiondata(); - iVar4 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,0); - if ((iVar4 != 0) || (iVar4 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,1), iVar4 != 0)) { - fVar7 = *(float *)(iVar3 + 8) - *(float *)(iVar6 + 8); - fVar8 = *(float *)(iVar3 + 0xc) - *(float *)(iVar6 + 0xc); - fVar9 = *(float *)(iVar3 + 0x10) - *(float *)(iVar6 + 0x10); - if (fVar7 * fVar7 + fVar8 * fVar8 + fVar9 * fVar9 < flt_80051E68) { - return 0; - } - uVar5 = get_random_value(); - bVar1 = (uVar5 & 1) == 0; - iVar6 = proc_7F02A0EC(param_1,(uint)bVar1,extraout_f12); - if (iVar6 != 0) { - proc_7F025C40(); - return 1; - } - iVar6 = proc_7F02A0EC(param_1,(uint)!bVar1,extraout_f12_00); - if (iVar6 != 0) { - proc_7F025C40(); - return 1; - } - } - return 0; -} - - - -undefined8 proc_7F02AA1C(int param_1,uint param_2,undefined4 param_3) - -{ - longlong lVar1; - int iVar3; - undefined8 uVar2; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - iVar3 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,0); - if ((iVar3 == 0) && - (iVar3 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,1), iVar3 == 0)) { - uVar2 = 0; - } - else { - proc_7F025560(param_1,param_2,param_3); - uVar2 = 1; - } - } - return uVar2; -} - - - -undefined8 proc_7F02AA88(int param_1,uint param_2,undefined4 param_3) - -{ - longlong lVar1; - int iVar3; - undefined8 uVar2; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - iVar3 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,0); - if ((iVar3 == 0) && - (iVar3 = is_weapon_in_guarddata_hand((GUARDdata *)param_1,1), iVar3 == 0)) { - uVar2 = 0; - } - else { - proc_7F0256F0(param_1,param_2,param_3); - uVar2 = 1; - } - } - return uVar2; -} - - - -undefined8 proc_7F02AAF4(int param_1,undefined4 param_2,undefined4 param_3) - -{ - undefined8 uVar1; - - uVar1 = 0; - if ((*(char *)(param_1 + 7) == '\b') && ((*(uint *)(param_1 + 0x4c) & 0x60) != 0)) { - *(undefined4 *)(param_1 + 0x4c) = param_2; - *(undefined4 *)(param_1 + 0x50) = param_3; - proc_7F024F8C(param_1); - uVar1 = 1; - } - return uVar1; -} - - - -undefined8 proc_7F02AB44(int param_1,undefined4 param_2,undefined4 param_3) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if (*(char *)(param_1 + 7) != '\x01') { - proc_7F023CB8(); - } - uVar2 = 1; - *(undefined4 *)(param_1 + 0x30) = param_2; - *(undefined4 *)(param_1 + 0x38) = 0; - *(undefined4 *)(param_1 + 0x40) = 0; - *(undefined4 *)(param_1 + 0x34) = param_3; - } - return uVar2; -} - - - -undefined8 proc_7F02ABB4(int param_1,longlong param_2,char param_3) - -{ - longlong lVar1; - short sVar2; - float *pfVar3; - float extraout_f12; - float extraout_f14; - float fStack20; - float fStack16; - float fStack12; - float afStack8 [2]; - - if ((-1 < param_2) && - (lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1), lVar1 != 0)) { - if (9 < (int)setting_007_5) { - return 0; - } - sVar2 = proc_7F032F94(param_1,(short)param_2); - lVar1 = (longlong)sVar2; - if (lVar1 < 10000) { - pfVar3 = (float *)(ptr_0xxxpresets + (int)sVar2 * 0x2c); - } - else { - pfVar3 = (float *)(ptr_2xxxpresets + (int)sVar2 * 0x44 + -680000); - } - afStack8[0] = pfVar3[10]; - if (afStack8[0] != 0.00000000) { - if (0.50000000 <= pfVar3[4]) { - lVar1 = proc_7F028DDC(param_1,pfVar3,afStack8[0],param_3); - if (lVar1 == 0) { - return 0; - } - return 1; - } - fStack20 = pfVar3[3] * *(float *)(param_1 + 0x24) * flt_80051E6C + *pfVar3; - fStack16 = pfVar3[4] * *(float *)(param_1 + 0x24) * flt_80051E6C + pfVar3[1]; - fStack12 = pfVar3[5] * *(float *)(param_1 + 0x24) * flt_80051E6C + pfVar3[2]; - proc_7F0B0BE4((int *)afStack8,extraout_f12,extraout_f14,*pfVar3,pfVar3[2]); - if (lVar1 != 0) { - lVar1 = proc_7F028DDC(param_1,&fStack20,afStack8[0],param_3); - if (lVar1 == 0) { - return 0; - } - return 1; - } - } - } - return 0; -} - - - -undefined8 proc_7F02AD54(int param_1,longlong param_2) - -{ - longlong lVar1; - - if (param_2 != 0) { - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - proc_7F0290F8(param_1,(int **)param_2); - return 1; - } - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f02afbc) overlaps instruction at (ram,0x7f02afb8) -// -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02AD98(void) - -{ - longlong lVar1; - ulonglong uVar2; - u32 uVar3; - float *pfVar4; - float *pfVar5; - int iVar6; - int *piVar7; - GUARDdata *in_a0_lo; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - int *piVar8; - int iVar9; - int iVar10; - uint uVar11; - int iVar12; - float in_f0; - float fVar13; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float fVar14; - float extraout_f14_02; - int aiStack108 [4]; - int iStack92; - int iStack88; - int iStack84; - int iStack80; - float fStack68; - float fStack64; - float afStack60 [8]; - float afStack28 [2]; - int iStack20; - int iStack16; - - if ('\0' < in_a0_lo->sleep) { - return; - } - if (in_a0_lo->bond_position != 0) { - proc_7F06F5BC(in_a0_lo->MODELdata_pointer); - fVar13 = proc_7F06F5C4(in_a0_lo->MODELdata_pointer); - if (fVar13 <= in_f0) { - proc_7F023948((int)in_a0_lo,extraout_f12); - in_a0_lo->bond_position = 0; - } - in_a0_lo->sleep = '\0'; - return; - } - if (in_a0_lo->field_30 < 1) { - uVar3 = get_random_value(); - in_a0_lo->sleep = (char)(uVar3 % 5) + '\x0e'; - if (in_a0_lo->field_40 == 0) { - return; - } - if ((in_a0_lo->guard_bitflags & 0x80U) != 0) { - in_a0_lo->field_40 = 0; - return; - } - iVar10 = in_a0_lo->field_44 - (int)in_a0_lo->sleep; - in_a0_lo->field_44 = iVar10; - if (-1 < iVar10) { - return; - } - getsubroty(in_a0_lo->MODELdata_pointer,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar13 = flt_80051E78; - fVar14 = extraout_f14_01; - pfVar4 = afStack60; - fStack64 = in_f0; - do { - fStack68 = in_f0 + flt_80051E7C; - if (fVar13 <= fStack68) { - fStack68 = fStack68 - fVar13; - iVar10 = in_a0_lo->POSdata_pointer; - } - else { - iVar10 = in_a0_lo->POSdata_pointer; - } - fVar13 = proc_7F026364(iVar10,fVar13,fVar14,fStack68,0x447a0000,0); - pfVar5 = pfVar4 + 1; - *pfVar4 = fVar13; - in_f0 = fStack68; - fVar13 = flt_80051E80; - fVar14 = extraout_f14_02; - pfVar4 = pfVar5; - } while (pfVar5 < afStack28); - iVar10 = 0; - piVar8 = aiStack108; - do { - *piVar8 = iVar10; - iVar10 += 1; - piVar8 = piVar8 + 1; - } while (iVar10 < 8); - piVar8 = aiStack108; - iVar10 = 0; - do { - iVar9 = iVar10 + 1; - if (iVar9 < 8) { - uVar11 = 8U - iVar9 & 3; - iVar6 = iVar9; - if (uVar11 != 0) { - piVar7 = aiStack108 + iVar9; - do { - iVar12 = iVar6; - if (afStack60[aiStack108[iVar10]] <= afStack60[*piVar7]) { - iVar12 = iVar10; - } - iVar10 = iVar12; - iVar6 += 1; - piVar7 = piVar7 + 1; - } while (uVar11 + iVar9 != iVar6); - if (iVar6 == 8) goto LAB_7f02b2e8; - } - piVar7 = aiStack108 + iVar6; - do { - fVar13 = afStack60[aiStack108[iVar10]]; - if (afStack60[*piVar7] < fVar13) { - fVar13 = afStack60[aiStack108[iVar6]]; - iVar12 = piVar7[1]; - iVar10 = iVar6; - } - else { - iVar12 = piVar7[1]; - } - if (afStack60[iVar12] < fVar13) { - iVar10 = iVar6 + 1; - fVar13 = afStack60[aiStack108[iVar10]]; - iVar12 = piVar7[2]; - } - else { - iVar12 = piVar7[2]; - } - if (afStack60[iVar12] < fVar13) { - iVar10 = iVar6 + 2; - fVar13 = afStack60[aiStack108[iVar10]]; - iVar12 = piVar7[3]; - } - else { - iVar12 = piVar7[3]; - } - if (afStack60[iVar12] < fVar13) { - iVar10 = iVar6 + 3; - } - iVar6 += 4; - piVar7 = piVar7 + 4; - } while (iVar6 != 8); - } -LAB_7f02b2e8: - piVar7 = aiStack108 + iVar10; - iVar10 = *piVar8; - *piVar8 = *piVar7; - piVar8 = piVar8 + 1; - *piVar7 = iVar10; - iVar10 = iVar9; - if (6 < iVar9) { - iVar10 = -1; - fVar13 = flt_80051E80; - if (afStack60[0] < 490.00000000) { - if (afStack60[iStack92] < 200.00000000) { - iVar10 = 7; - } - else { - if (((aiStack108[0] == 0) || (aiStack108[1] == 0)) || (aiStack108[2] == 0)) - { - if (((aiStack108[3] == 4) || (iStack92 == 4)) && - (uVar3 = get_random_value(), uVar3 % 3 == 0)) { - fVar13 = flt_80051E84; - if (aiStack108[3] == 4) { - iVar10 = 3; - } - else { - iVar10 = 4; - } - } - else { - uVar3 = get_random_value(); - iVar10 = uVar3 % 3 + 5; - fVar13 = flt_80051E88; - } - } - else { - if (((aiStack108[0] == 1) || (aiStack108[0] == 7)) && - ((iStack88 != 0 && ((iStack84 != 0 && (iStack80 != 0)))))) { - uVar3 = get_random_value(); - iVar10 = uVar3 % 3 + 5; - fVar13 = flt_80051E8C; - } - } - } - } - if (iVar10 < 0) { - in_a0_lo->field_40 = 0; - return; - } - fStack64 = (float)aiStack108[iVar10] * fVar13 * 0.12500000 + fStack64; - if (fVar13 <= fStack64) { - fStack64 = fStack64 - fVar13; - } - proc_7F02AB44((int)in_a0_lo,0x10,(int)((fStack64 * 65536.00000000) / fVar13)); - return; - } - } while( true ); - } - if (*(int *)&in_a0_lo->field_38 == 0) { - fVar13 = (float)proc_7F0250BC(); - if (flt_80051E70 < fVar13) { - if (fVar13 < flt_80051E74) { - iStack16 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,1); - iStack20 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,0); - *(undefined4 *)&in_a0_lo->field_38 = 1; - in_a0_lo->path_target_position = 1; - if (((iStack16 == 0) || (iStack20 == 0)) && - (((iStack16 != 0 || (iStack20 != 0)) && - ((uVar2 = check_if_item_held_like_pistol(iStack16), uVar2 == 0 && - (uVar2 = check_if_item_held_like_pistol(iStack20), uVar2 == 0)))))) { - if ((iStack20 != 0) || (iStack16 != 0)) { - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x4018, - iStack16 != 0,extraout_f12_01,0,extraout_f14); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_04); - } - } - else { - uVar3 = get_random_value(); - proc_7F06FCA8(in_a0_lo->MODELdata_pointer,ptr_animation_table + 0x8204, - (byte)uVar3 & 1,extraout_f12_02,0,extraout_f14_00); - proc_7F06FDE8(in_a0_lo->MODELdata_pointer,extraout_f12_03); - } - goto LAB_7f02b054; - } - uVar11 = in_a0_lo->field_30; - } - else { - uVar11 = in_a0_lo->field_30; - } - if ((uVar11 & 0x10) != 0) { - in_a0_lo->field_30 = 0; - } - } - else { - proc_7F06F5AC(in_a0_lo->MODELdata_pointer); - lVar1 = proc_7F02C2B0(); - in_a0_lo->path_target_position = (int)lVar1; - if (lVar1 != 1) { - proc_7F023948((int)in_a0_lo,extraout_f12_00); - *(undefined4 *)&in_a0_lo->field_38 = 0; - if ((in_a0_lo->field_30 & 0x10U) != 0) { - in_a0_lo->field_30 = 0; - } - } - } -LAB_7f02b054: - in_a0_lo->sleep = '\0'; - return; -} - - - -void proc_7F02B4E0(int param_1) - -{ - *(undefined *)(param_1 + 8) = 0; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02B4E8(void) - -{ - int iVar1; - u32 uVar2; - int in_a0_lo; - uint uVar3; - char cVar4; - float in_f0; - float fVar5; - - fVar5 = in_f0; - if (*(int *)(in_a0_lo + 0x30) == 0) { - proc_7F06F5BC(*(int *)(in_a0_lo + 0x1c)); - fVar5 = proc_7F06F5C4(*(int *)(in_a0_lo + 0x1c)); - if (fVar5 <= in_f0) { - fVar5 = (float)proc_7F023CB8(); - } - } - iVar1 = proc_7F06F5AC(*(int *)(in_a0_lo + 0x1c)); - if (iVar1 == ptr_animation_table + 0xb9a8) { - iVar1 = proc_7F06F5BC(*(int *)(in_a0_lo + 0x1c)); - if (42.00000000 <= fVar5) { - if (*(int *)(in_a0_lo + 0x14) << 6 < 0) { - cVar4 = *(char *)(in_a0_lo + 8); - } - else { - if ((dword_80048380 & 1) == 0) { - proc_7F032DE4(in_a0_lo); - if (fVar5 < 800.00000000) { - play_sfx_a1(ptr_sfx_buf,0x101,NULL); - sub_GAME_7F053A10(iVar1,(float *)(*(int *)(in_a0_lo + 0x18) + 8)); - uVar3 = *(uint *)(in_a0_lo + 0x14); - } - else { - uVar3 = *(uint *)(in_a0_lo + 0x14); - } - } - else { - uVar3 = *(uint *)(in_a0_lo + 0x14); - } - *(uint *)(in_a0_lo + 0x14) = uVar3 | 0x2000000; - cVar4 = *(char *)(in_a0_lo + 8); - } - } - else { - cVar4 = *(char *)(in_a0_lo + 8); - } - } - else { - cVar4 = *(char *)(in_a0_lo + 8); - } - if ((cVar4 < '\x01') && (*(int *)(in_a0_lo + 0x38) != 0)) { - uVar2 = get_random_value(); - *(char *)(in_a0_lo + 8) = (char)(uVar2 % 5) + '\x0e'; - } - return; -} - - - -void proc_7F02B638(int param_1) - -{ - int iVar1; - u32 uVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float in_f0; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - if (*(char *)(param_1 + 8) < '\x01') { - iStack4 = *(int *)(param_1 + 0x1c); - *(undefined *)(param_1 + 8) = 0x10; - iVar1 = proc_7F06F5AC(iStack4); - if ((iVar1 == ptr_animation_table + 0x4504) && - (proc_7F06F5BC(iStack4), 80.00000000 <= in_f0)) { - fStack16 = dword_80030A44; - uStack12 = dword_80030A48; - fStack8 = (float)dword_80030A4C; - getsubroty(iStack4,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fStack16 = sinf(in_f0); - fStack16 = -fStack16; - fStack8 = cosf(in_f0); - fStack8 = -fStack8; - iVar1 = proc_7F029A94(*(int *)(param_1 + 0x18),&fStack16,extraout_f12); - if (iVar1 == 0) { - uVar2 = get_random_value(); - proc_7F06FCA8(*(int *)(param_1 + 0x1c),ptr_animation_table + 0x4384,(byte)uVar2 & 1, - extraout_f12_00,0x41f00000,extraout_f14); - proc_7F06FDCC(*(int *)(param_1 + 0x1c),0x41f00000,0x41800000); - } - } - } - return; -} - - - -void proc_7F02B774(int param_1) - -{ - int iVar1; - - if (*(int *)(param_1 + 0x2c) < 0) { - *(undefined4 *)(param_1 + 0x2c) = 0; - return; - } - iVar1 = *(int *)(param_1 + 0x2c) + clock_timer; - *(int *)(param_1 + 0x2c) = iVar1; - if (0x59 < iVar1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x20; - return; - } - iVar1 = (0x5a - iVar1) * 0xff; - *(undefined *)(param_1 + 0xc) = (char)(iVar1 / 0x5a); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar1 == -0x80000000)) { - trap(0x1800); - } - return; -} - - - -void proc_7F02B800(undefined2 *param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - bool bVar3; - float fVar4; - int iVar6; - longlong lVar5; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - - iVar10 = 0; - iVar9 = 0; - iVar6 = get_numguards(); - fVar4 = flt_80051E90; - if (*(char *)((int)param_1 + 7) == '\x06') { - iVar10 = *(int *)(param_1 + 0x16); - } - else { - if (*(char *)((int)param_1 + 7) != '\x04') { - bVar3 = 0 < iVar6; - goto LAB_7f02b870; - } - iVar10 = *(int *)(param_1 + 0x16); - } - bVar3 = iVar10 < iVar6; -LAB_7f02b870: - if (bVar3) { - iVar8 = iVar10 * 0x1dc; - do { - iVar7 = (int)&ptr_guard_data->chrnum + iVar8; - if (*(int *)(iVar7 + 0x1c) != 0) { - iVar1 = *(int *)(iVar7 + 0x18); - iVar2 = *(int *)(param_1 + 0xc); - fVar11 = *(float *)(iVar1 + 8) - *(float *)(iVar2 + 8); - fVar12 = *(float *)(iVar1 + 0xc) - *(float *)(iVar2 + 0xc); - fVar13 = *(float *)(iVar1 + 0x10) - *(float *)(iVar2 + 0x10); - if (fVar11 * fVar11 + fVar12 * fVar12 + fVar13 * fVar13 < fVar4) { - iVar9 += 1; - lVar5 = proc_7F02969C(); - if (lVar5 != 0) { - if (param_2 == 0) { - *(undefined2 *)(iVar7 + 0x118) = *param_1; - } - else { - *(undefined2 *)(iVar7 + 0x11a) = *param_1; - } - } - } - } - iVar10 += 1; - iVar8 += 0x1dc; - } while ((iVar10 < iVar6) && (iVar9 < 4)); - } - if (*(char *)((int)param_1 + 7) == '\x06') { - *(int *)(param_1 + 0x16) = iVar10; - } - else { - if (*(char *)((int)param_1 + 7) == '\x04') { - *(int *)(param_1 + 0x16) = iVar10; - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02B9A4(void) - -{ - int iVar1; - int iVar3; - longlong lVar2; - undefined2 *in_a0_lo; - float in_f0; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float fVar4; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - s16 sStack12; - - iVar1 = *(int *)(in_a0_lo + 0xe); - uStack32 = body_hit_SFX._0_4_; - uStack24 = body_hit_SFX._8_4_; - uStack28 = body_hit_SFX._4_4_; - uStack16 = body_hit_SFX._16_4_; - uStack20 = body_hit_SFX._12_4_; - sStack12 = body_hit_SFX[10]; - if (0.00000000 <= *(float *)(in_a0_lo + 0x18)) { - proc_7F06F5BC(iVar1); - if (*(float *)(in_a0_lo + 0x18) <= in_f0) { - iVar3 = dword_80030A68; - play_sfx_a1(ptr_sfx_buf,*(short *)((int)&uStack32 + dword_80030A68 * 2),NULL); - sub_GAME_7F053A10(iVar3,(float *)(*(int *)(in_a0_lo + 0xc) + 8)); - dword_80030A68 += 1; - if (10 < dword_80030A68) { - dword_80030A68 = 0; - } - *(undefined4 *)(in_a0_lo + 0x18) = 0xbf800000; - fVar4 = *(float *)(in_a0_lo + 0x1a); - } - else { - fVar4 = *(float *)(in_a0_lo + 0x1a); - } - } - else { - fVar4 = *(float *)(in_a0_lo + 0x1a); - } - if ((0.00000000 <= fVar4) && (proc_7F06F5BC(iVar1), *(float *)(in_a0_lo + 0x1a) <= in_f0)) { - iVar3 = dword_80030A68; - play_sfx_a1(ptr_sfx_buf,*(short *)((int)&uStack32 + dword_80030A68 * 2),NULL); - sub_GAME_7F053A10(iVar3,(float *)(*(int *)(in_a0_lo + 0xc) + 8)); - dword_80030A68 += 1; - if (10 < dword_80030A68) { - dword_80030A68 = 0; - } - *(undefined4 *)(in_a0_lo + 0x1a) = 0xbf800000; - } - proc_7F06F5BC(iVar1); - fVar4 = proc_7F06F5C4(iVar1); - if (fVar4 <= in_f0) { - iVar3 = proc_7F06F5AC(iVar1); - if (iVar3 == ptr_animation_table + 0x540c) { - lVar2 = proc_7F06F5B4(iVar1); - proc_7F06FCA8(iVar1,ptr_animation_table + 0x5684,lVar2 == 0,extraout_f12,0x42480000, - extraout_f14); - proc_7F06FE4C(iVar1,0x3f000000,extraout_f12_00); - return; - } - proc_7F0247B8((int)in_a0_lo); - } - proc_7F02B800(in_a0_lo,1); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02BC80(void) - -{ - int iVar1; - undefined2 *in_a0_lo; - float in_f0; - float fVar2; - float extraout_f12; - - iVar1 = *(int *)(in_a0_lo + 0xe); - proc_7F06F5BC(iVar1); - fVar2 = proc_7F06F5C4(iVar1); - if (fVar2 <= in_f0) { - proc_7F029BB0((int)in_a0_lo); - iVar1 = proc_7F06F5AC(iVar1); - if (iVar1 == ptr_animation_table + 0x540c) { - proc_7F023E14((int)in_a0_lo,extraout_f12); - } - else { - proc_7F023E48((int)in_a0_lo); - } - } - proc_7F02B800(in_a0_lo,0); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02BD20(void) - -{ - int iVar1; - int in_a0_lo; - float in_f0; - float fVar2; - - iVar1 = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(iVar1); - fVar2 = proc_7F06F5C4(iVar1); - if (fVar2 <= in_f0) { - proc_7F026508(); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02BDA4(void) - -{ - int iVar1; - int in_a0_lo; - float in_f0; - float fVar2; - float extraout_f12; - - iVar1 = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(iVar1); - fVar2 = proc_7F06F5C4(iVar1); - if (fVar2 <= in_f0) { - proc_7F029BB0(in_a0_lo); - proc_7F023E14(in_a0_lo,extraout_f12); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02BE00(void) - -{ - int iVar1; - int in_a0_lo; - float in_f0; - float fVar2; - - iVar1 = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(iVar1); - fVar2 = proc_7F06F5C4(iVar1); - if (fVar2 <= in_f0) { - proc_7F029BB0(in_a0_lo); - proc_7F023E48(in_a0_lo); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02BE58(void) - -{ - int iVar1; - int in_a0_lo; - float in_f0; - float fVar2; - - iVar1 = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(iVar1); - fVar2 = proc_7F06F5C4(iVar1); - if (fVar2 <= in_f0) { - proc_7F023CB8(); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02BEA8(void) - -{ - int iVar1; - int in_a0_lo; - float in_f0; - float fVar2; - - iVar1 = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(iVar1); - if (60.00000000 <= in_f0) { - start_alarm(); - } - proc_7F06F5BC(iVar1); - fVar2 = proc_7F06F5C4(iVar1); - if (fVar2 <= in_f0) { - proc_7F023E48(in_a0_lo); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02BF24(void) - -{ - int iVar1; - int iVar2; - int in_a0_lo; - float in_f0; - float fVar3; - float extraout_f12; - float extraout_f12_00; - - iVar2 = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(iVar2); - fVar3 = proc_7F06F5C4(iVar2); - if (fVar3 <= in_f0) { - iVar1 = proc_7F06F5AC(iVar2); - if (iVar1 == ptr_animation_table + 0x4384) { - proc_7F023E14(in_a0_lo,extraout_f12); - } - else { - iVar2 = proc_7F06F5AC(iVar2); - if (iVar2 == ptr_animation_table + 0x5d10) { - proc_7F023E14(in_a0_lo,extraout_f12_00); - } - else { - proc_7F023E48(in_a0_lo); - } - } - } - return; -} - - - -void proc_7F02BFE4(int param_1,int param_2,int param_3) - -{ - bool bVar1; - int iVar5; - ulonglong uVar2; - ulonglong uVar3; - ulonglong uVar4; - ALLink_s *pAVar6; - ALSndPlayer *data; - - iVar5 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,param_2); - iVar5 = *(int *)(iVar5 + 4); - uVar2 = proc_7F05DFF0((int)*(char *)(iVar5 + 0x80)); - uVar3 = proc_7F05E014((int)*(char *)(iVar5 + 0x80)); - bVar1 = false; - if (param_3 != 0) { - if ((byte)uVar2 == 0) { - bVar1 = true; - } - else { - if (((*(ushort *)(param_1 + 0x12) & 0x80) == 0) && - (*(int *)(param_1 + param_2 * 4 + 0x178) < global_timer)) { - bVar1 = true; - } - } - } - if (bVar1) { - iVar5 = param_1 + param_2 * 8; - if (*(ALLink_s **)(iVar5 + 0x168) == NULL) { - pAVar6 = *(ALLink_s **)(iVar5 + 0x16c); - } - else { - uVar4 = sfxGetArg0Unk3F(*(ALLink_s **)(iVar5 + 0x168)); - if (uVar4 != 0) { - sfxDeactivate(*(int *)(iVar5 + 0x168)); - } - pAVar6 = *(ALLink_s **)(iVar5 + 0x16c); - } - if ((pAVar6 != NULL) && (uVar4 = sfxGetArg0Unk3F(pAVar6), uVar4 != 0)) { - sfxDeactivate(*(int *)(iVar5 + 0x16c)); - } - if ((short)uVar3 != 0) { - data = NULL; - if (*(int *)(iVar5 + 0x168) == 0) { - data = (ALSndPlayer *)(iVar5 + 0x168); - } - else { - if (*(int *)(iVar5 + 0x16c) == 0) { - data = (ALSndPlayer *)(iVar5 + 0x16c); - } - } - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,(short)uVar3,data); - sub_GAME_7F053A10((int)(data->node).next,(float *)(*(int *)(param_1 + 0x18) + 8)); - *(int *)(param_1 + param_2 * 4 + 0x178) = global_timer + (uint)(byte)uVar2; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x80; - } - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -float proc_7F02C190(void) - -{ - bool bVar1; - char cVar2; - uint in_a0_lo; - undefined4 in_a2_lo; - undefined4 in_a3_lo; - float in_f0; - float fVar3; - - getsubroty(*(int *)(in_a0_lo + 0x1c),in_a0_lo,in_a2_lo,in_a3_lo); - in_f0 = in_f0 + *(float *)(in_a0_lo + 0x14c); - fVar3 = 0.00000000; - if (flt_80051E98 <= in_f0) { - in_f0 = in_f0 - flt_80051E98; -LAB_7f02c1f8: - cVar2 = *(char *)(in_a0_lo + 7); - } - else { - if (in_f0 < 0.00000000) { - in_f0 = in_f0 + flt_80051E98; - goto LAB_7f02c1f8; - } - cVar2 = *(char *)(in_a0_lo + 7); - } - if ((cVar2 == '\b') || (cVar2 == '\n')) { - fVar3 = *(float *)(*(int *)(in_a0_lo + 0x2c) + 0xc); - } - else { - if (cVar2 != '\x19') { - bVar1 = true; - goto code_r0x7f02c240; - } - if (*(int *)(in_a0_lo + 0x2c) == 0) { - bVar1 = true; - goto code_r0x7f02c240; - } - fVar3 = *(float *)(*(int *)(in_a0_lo + 0x2c) + 0xc); - } - bVar1 = fVar3 == 0.00000000; -code_r0x7f02c240: - if (!bVar1) { - if (*(char *)(*(int *)(in_a0_lo + 0x1c) + 0x24) != '\0') { - fVar3 = flt_80051E98 - fVar3; - } - in_f0 = in_f0 + fVar3; - if (flt_80051E98 <= in_f0) { - in_f0 = in_f0 - flt_80051E98; - } - } - return in_f0; -} - - - -float proc_7F02C27C(int param_1) - -{ - float fVar1; - - fVar1 = *(float *)(param_1 + 0x144) + *(float *)(param_1 + 0x148); - if (fVar1 < 0.00000000) { - fVar1 = fVar1 + flt_80051E9C; - } - return fVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 proc_7F02C2B0(void) - -{ - int objinst; - int in_a0_lo; - longlong in_a1; - uint extraout_a1_lo; - float in_a2_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 uVar1; - float in_a3_lo; - undefined4 extraout_a3_lo; - float in_f0; - float fVar2; - float fVar3; - float fVar4; - undefined4 uStackX4; - float in_stack_00000010; - - uStackX4 = (undefined4)in_a1; - if (in_a1 != 2) { - objinst = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(objinst); - fVar3 = in_f0; - getsubroty(objinst,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar4 = flt_80051EA0 * in_a3_lo * global_timer_delta * *(float *)(objinst + 0xa4); - if (*(char *)(in_a0_lo + 7) == '\b') { - fVar2 = (float)proc_7F0250BC(); - uVar1 = extraout_a2_lo_00; - } - else { - if (*(char *)(in_a0_lo + 7) == '\x01') { - fVar2 = (float)proc_7F0250BC(); - uVar1 = extraout_a2_lo_01; - } - else { - get_curplayer_positiondata(); - fVar2 = (float)proc_7F032BD8(); - uVar1 = extraout_a2_lo_02; - } - } - fVar2 = fVar2 - in_stack_00000010; - if (fVar2 < 0.00000000) { - fVar2 = fVar2 + flt_80051EA4; - } - if ((fVar2 < fVar4) || (flt_80051EA8 - fVar4 < fVar2)) { - fVar3 = fVar3 + fVar2; - if (flt_80051EA8 <= fVar3) { - fVar3 = fVar3 - flt_80051EA8; - } - setsubroty(objinst,fVar3,fVar3,uVar1); - uStackX4 = 3; - } - else { - if (flt_80051EAC <= fVar2) { - fVar3 = fVar3 - fVar4; - if (fVar3 < 0.00000000) { - fVar3 = fVar3 + flt_80051EA8; - } - setsubroty(objinst,fVar3,fVar3,uVar1); - } - else { - fVar3 = fVar3 + fVar4; - if (flt_80051EA8 <= fVar3) { - fVar3 = fVar3 - flt_80051EA8; - } - setsubroty(objinst,fVar3,fVar3,uVar1); - } - } - if (in_a2_lo <= in_f0) { - uStackX4 = 2; - } - } - return uStackX4; -} - - - -undefined4 proc_7F02C4C0(short *param_1,int param_2,int param_3,int param_4,float param_5) - -{ - ushort **ppuVar1; - ushort *puVar2; - bool bVar3; - int objinst; - u32 uVar4; - uint *puVar5; - float *pfVar6; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 uVar7; - uint uVar8; - uint uVar9; - float fVar10; - float vector2; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float extraout_f12_09; - float extraout_f12_10; - float extraout_f12_11; - float in_stack_00000010; - float fStack292; - undefined4 uStack288; - float fStack284; - float fStack280; - undefined4 uStack276; - float fStack272; - float afStack268 [2]; - float fStack260; - float afStack256 [12]; - float fStack208; - float fStack204; - float fStack200; - float fStack188; - float fStack184; - float fStack180; - float *pfStack176; - float afStack172 [18]; - float fStack100; - float fStack96; - float fStack92; - int iStack88; - float fStack80; - float fStack72; - float fStack68; - float fStack64; - undefined4 uStack60; - float fStack56; - float *pfStack52; - int iStack48; - int iStack44; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - undefined4 uStack20; - int iStack16; - uint uStack12; - float fStack8; - float fStack4; - - uStack20 = 1; - fStack4 = 0.00000000; - uVar8 = 1; - objinst = 0; - if (*(char *)((int)param_1 + 7) == '\b') { - uVar8 = *(uint *)(param_1 + 0x26); - objinst = *(int *)(param_1 + 0x28); - } - else { - if (*(char *)((int)param_1 + 7) != '\x01') { - uVar9 = 0; - goto LAB_7f02c51c; - } - uVar8 = *(uint *)(param_1 + 0x18); - objinst = *(int *)(param_1 + 0x1a); - } - uVar9 = uVar8 & 2; -LAB_7f02c51c: - fStack8 = 0.00000000; - if (uVar9 == 0) { - fStack8 = 0.00000000; - iStack16 = objinst; - uStack12 = uVar8; - objinst = get_curplayer_positiondata(); - pfStack52 = (float *)(objinst + 8); - iStack44 = *(int *)(param_1 + 0xc); - uVar8 = uStack12 & 1; - fStack24 = *(float *)(objinst + 8) - *(float *)(iStack44 + 8); - fStack28 = *(float *)(objinst + 0xc) - *(float *)(iStack44 + 0xc); - fStack32 = *(float *)(objinst + 0x10) - *(float *)(iStack44 + 0x10); - vector2 = fStack24 * fStack24 + fStack28 * fStack28 + fStack32 * fStack32; - uVar7 = extraout_a3_lo; - fStack36 = vector2; - if (uVar8 == 0) { - iStack48 = 1; - } - else { - if ((uStack12 & 0x40) == 0) { - iStack48 = proc_7F0294BC((int)param_1); - uVar7 = extraout_a3_lo_00; - } - else { - iStack48 = 1; - } - } - if (uVar8 == 0) { - getsuboffset(*(int *)(param_1 + 0xe),&fStack72,param_1,uVar7); - pfStack52 = (float *)proc_7F032C78(param_1,(longlong)(int)uStack12,(longlong)iStack16, - &uStack60); - fStack24 = *pfStack52 - fStack72; - fStack28 = pfStack52[1] - fStack68; - fStack32 = pfStack52[2] - fStack64; - param_5 = extraout_f12_08; - } - else { - fStack56 = proc_7F089780((int)pPlayer); - if ((*(uint *)(param_1 + 10) & 0x20) == 0) { - if (flt_80051ED0 < vector2) { - uVar4 = get_random_value(); - if (uVar4 % 3 == 0) { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = fStack28 + - fStack56 * - (flt_80051ED8 + - flt_80051ED4 * vector2 * 0.00000000 * in_stack_00000010); - param_5 = extraout_f12_03; - } - else { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * - (flt_80051EE0 + - flt_80051EDC * vector2 * 0.00000000 * in_stack_00000010); - param_5 = extraout_f12_04; - } - } - else { - if (*(float *)(iStack44 + 0xc) < pfStack52[1] - fStack56) { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * - (flt_80051EE8 + - flt_80051EE4 * vector2 * 0.00000000 * in_stack_00000010); - param_5 = extraout_f12_05; - } - else { - if (pfStack52[1] - fStack56 * 0.50000000 < *(float *)(iStack44 + 0xc)) { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * - (flt_80051EF0 + - flt_80051EEC * vector2 * 0.00000000 * in_stack_00000010); - param_5 = extraout_f12_06; - } - else { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = (vector2 * 0.00000000 * flt_80051EF4 * in_stack_00000010 - - flt_80051EF8) * fStack56; - param_5 = extraout_f12_07; - } - } - } - } - else { - if (vector2 < flt_80051EB0) { - if (*(float *)(iStack44 + 0xc) < pfStack52[1] - (fStack56 + fStack56)) { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * - (flt_80051EB8 + - flt_80051EB4 * vector2 * 0.00000000 * in_stack_00000010); - param_5 = extraout_f12; - } - else { - if (pfStack52[1] - fStack56 * 0.50000000 < *(float *)(iStack44 + 0xc)) { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = fStack28 - - fStack56 * - (flt_80051EC0 + - flt_80051EBC * vector2 * 0.00000000 * in_stack_00000010); - param_5 = extraout_f12_00; - } - else { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = (vector2 * 0.00000000 * flt_80051EC4 * in_stack_00000010 + - 1.00000000) * 40.00000000; - param_5 = extraout_f12_01; - } - } - } - else { - uVar4 = get_random_value(); - vector2 = (float)uVar4; - if ((int)uVar4 < 0) { - vector2 = vector2 + 4294967296.00000000; - } - fStack28 = fStack28 + - fStack56 * - (flt_80051ECC - - flt_80051EC8 * vector2 * 0.00000000 * in_stack_00000010); - param_5 = extraout_f12_02; - } - } - } - if ((uStack12 & 0x100) == 0) { - vector2 = sqrtf(fStack24 * fStack24 + fStack32 * fStack32); - fStack4 = convert_angle_using_inverse((f32)fStack28,(f32)vector2); - param_5 = extraout_f12_09; - if (flt_80051EFC <= fStack4) { - fStack4 = fStack4 - flt_80051F00; - } - } - if (iStack48 != 0) { - fStack80 = (float)proc_7F02C190(); - if (param_4 == 0) { - objinst = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,1); - } - else { - objinst = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,0); - } - if (((objinst != 0) && ((*(byte *)(objinst + 1) & 2) != 0)) && (fStack36 < flt_80051F04) - ) { - bVar3 = false; - objinst = *(int *)(*(int *)(objinst + 4) + 0x14); - ppuVar1 = *(ushort ***)(*(int *)(objinst + 8) + 8); - puVar2 = *ppuVar1; - if (puVar2 == NULL) { - puVar2 = ppuVar1[1]; - if (puVar2 != NULL) { - puVar5 = (uint *)proc_7F06C660(objinst,puVar2,0); - proc_7F058E78(puVar5,(int)afStack256); - pfVar6 = (float *)get_BONDdata_field_10EC(); - sub_GAME_7F058098(pfVar6,afStack256); - bVar3 = true; - fStack100 = fStack208; - fStack96 = fStack204; - fStack92 = fStack200; - } - } - else { - iStack88 = objinst; - puVar5 = (uint *)proc_7F06C660(objinst,puVar2,0); - pfStack176 = *(float **)(**(int **)(*(int *)(iStack88 + 8) + 8) + 4); - proc_7F058E78(puVar5,(int)afStack172); - pfVar6 = (float *)get_BONDdata_field_10EC(); - sub_GAME_7F058098(pfVar6,afStack172); - fStack188 = *pfStack176; - fStack184 = pfStack176[1]; - fStack180 = pfStack176[2]; - proc_7F058474(afStack172,&fStack188); - bVar3 = true; - fStack100 = fStack188; - fStack96 = fStack184; - fStack92 = fStack180; - } - if (bVar3) { - fStack280 = sinf(fStack80); - uStack276 = 0; - fStack272 = cosf(fStack80); - fStack292 = *(float *)(iStack44 + 8) - fStack32; - uStack288 = *(undefined4 *)(iStack44 + 0xc); - fStack284 = *(float *)(iStack44 + 0x10) + fStack24; - proc_7F026130((float *)(iStack44 + 8),&fStack292,&fStack100,&fStack280, - afStack268); - fStack24 = *pfStack52 - afStack268[0]; - fStack32 = pfStack52[2] - fStack260; - } - } - vector2 = convert_angle_using_inverse((f32)fStack24,(f32)fStack32); - fStack8 = vector2 - fStack80; - if (vector2 < fStack80) { - fStack8 = fStack8 + flt_80051F08; - } - objinst = extract_id_from_object_structure_microcode - (*(int *)(param_1 + 0xe),**(ushort ***)(*(int *)(param_1 + 0xe) + 8) - ); - if (0.00000000 < *(float *)(objinst + 0x5c)) { - fStack8 = fStack8 - *(float *)(objinst + 0x5c) * *(float *)(objinst + 0x58); - if (fStack8 < 0.00000000) { - fStack8 = fStack8 + flt_80051F0C; - } - if (flt_80051F10 <= fStack8) { - fStack8 = fStack8 - flt_80051F10; - } - } - param_5 = extraout_f12_10; - if ((uVar8 != 0) && ((uStack12 & 0x60) == 0)) { - fVar10 = sinf(((float)(((int)((float)global_timer * - *(float *)(*(int *)(param_1 + 0xe) + 0xa4)) + - (int)*param_1) % 0x3c) * flt_80051F14) / 60.00000000); - vector2 = fVar10; - proc_7F02D244(fStack36); - fStack8 = fStack8 + vector2 * 0.50000000 * fVar10; - if (fStack8 < 0.00000000) { - fStack8 = fStack8 + flt_80051F18; - } - param_5 = extraout_f12_11; - if (flt_80051F1C <= fStack8) { - fStack8 = fStack8 - flt_80051F20; - } - } - if (flt_80051F28 <= fStack8) { - fStack8 = fStack8 - flt_80051F24; - objinst = *(int *)(param_1 + 0xe); - } - else { - objinst = *(int *)(param_1 + 0xe); - } - vector2 = fStack8 + *(float *)(param_1 + 0xa6); - if (*(char *)(objinst + 0x24) == '\0') { - if (*(float *)(param_2 + 0x38) < vector2) { - uStack20 = 0; - fStack8 = *(float *)(param_2 + 0x38); - } - else { - fStack8 = vector2; - if (vector2 < *(float *)(param_2 + 0x3c)) { - uStack20 = 0; - fStack8 = *(float *)(param_2 + 0x3c); - } - } - } - else { - fStack8 = -*(float *)(param_2 + 0x38); - if (vector2 < fStack8) { - uStack20 = 0; - } - else { - fStack8 = vector2; - if (-*(float *)(param_2 + 0x3c) < vector2) { - uStack20 = 0; - fStack8 = -*(float *)(param_2 + 0x3c); - } - } - } - } - } - proc_7F02D048((int)param_1,param_2,(longlong)param_3,(longlong)param_4,param_5); - *(undefined *)(param_1 + 7) = 10; - *(float *)(param_1 + 0xae) = fStack8; - return uStack20; -} - - - -void proc_7F02D048(int param_1,int param_2,longlong param_3,longlong param_4,float param_5) - -{ - float fVar1; - float fVar2; - float in_stack_00000010; - - fVar1 = 0.00000000; - fVar2 = 0.00000000; - if (param_2 != 0) { - fVar1 = *(float *)(param_2 + 0x30); - if ((fVar1 < in_stack_00000010) || - (fVar1 = *(float *)(param_2 + 0x34), in_stack_00000010 < fVar1)) { - fVar2 = in_stack_00000010 - fVar1; - in_stack_00000010 = fVar1; - } - if (0.00000000 < in_stack_00000010) { - fVar1 = *(float *)(param_2 + 0x40) * in_stack_00000010; - } - else { - fVar1 = *(float *)(param_2 + 0x44) * in_stack_00000010; - } - } - if (param_4 == 0) { - *(float *)(param_1 + 0x154) = fVar1; - *(float *)(param_1 + 0x150) = in_stack_00000010; - } - else { - *(float *)(param_1 + 0x154) = in_stack_00000010; - if (param_3 == 0) { - *(float *)(param_1 + 0x150) = fVar1; - } - else { - *(float *)(param_1 + 0x150) = in_stack_00000010; - } - } - *(float *)(param_1 + 0x158) = fVar2; - return; -} - - - -void proc_7F02D0F8(int param_1) - -{ - *(undefined *)(param_1 + 0xe) = 10; - *(undefined4 *)(param_1 + 0x154) = 0; - *(undefined4 *)(param_1 + 0x150) = 0; - *(undefined4 *)(param_1 + 0x158) = 0; - *(undefined4 *)(param_1 + 0x15c) = 0; - return; -} - - - -void proc_7F02D118(int param_1,int param_2,undefined4 param_3) - -{ - int iVar1; - - iVar1 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,param_2); - if (iVar1 != 0) { - proc_7F052574(iVar1,param_3); - } - return; -} - - - -longlong proc_7F02D148(int param_1,int param_2) - -{ - int iVar2; - longlong lVar1; - - iVar2 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,param_2); - if (iVar2 == 0) { - lVar1 = 0; - } - else { - lVar1 = proc_7F052604(iVar2); - } - return lVar1; -} - - - -void proc_7F02D184(int param_1) - -{ - proc_7F02D118(param_1,0,0); - proc_7F02D118(param_1,1,0); - proc_7F02D0F8(param_1); - return; -} - - - -void proc_7F02D1C4(int param_1,longlong param_2,longlong param_3) - -{ - if (param_3 == 0) { - if (param_2 == 1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfffb; - } - else { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfff7; - } - } - else { - if (param_2 == 1) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 4; - } - else { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 8; - } - } - if (param_3 == 0) { - proc_7F02D118(param_1,(int)param_2,0); - } - return; -} - - - -undefined4 proc_7F02D244(float param_1) - -{ - undefined4 in_v0_lo; - - if (flt_80051F2C < param_1) { - return in_v0_lo; - } - if (flt_80051F34 < param_1) { - return in_v0_lo; - } - if (flt_80051F3C < param_1) { - return in_v0_lo; - } - if (param_1 <= flt_80051F44) { - return in_v0_lo; - } - return in_v0_lo; -} - - - -// WARNING: Instruction at (ram,0x7f02d5e4) overlaps instruction at (ram,0x7f02d5e0) -// - -void proc_7F02D2E4(int param_1,uint *param_2,undefined4 *param_3,int param_4) - -{ - char cVar1; - int iVar2; - int iVar5; - ulonglong uVar3; - longlong lVar4; - uint uVar6; - f32 extraout_a0_lo; - float fVar7; - float fVar8; - f32 fVar9; - float extraout_f0; - float fVar10; - float __x; - float vector2; - - iVar5 = get_curplayer_positiondata(); - iVar2 = *(int *)(param_1 + 0x18); - __x = *(float *)(iVar5 + 8) - *(float *)(iVar2 + 8); - fVar10 = *(float *)(iVar5 + 0xc) - *(float *)(iVar2 + 0xc); - vector2 = *(float *)(iVar5 + 0x10) - *(float *)(iVar2 + 0x10); - fVar7 = convert_angle_using_inverse((f32)__x,(f32)vector2); - fVar8 = (float)proc_7F02C190(); - fVar7 = fVar7 - fVar8; - __x = __x * __x + fVar10 * fVar10 + vector2 * vector2; - fVar10 = fVar8; - proc_7F02D244(__x); - if (fVar7 < 0.00000000) { - fVar7 = fVar7 + flt_80051F50; - } - uVar6 = (uint)(fVar7 < fVar10); - if (fVar7 >= fVar10) { - uVar6 = 0; - if (fVar7 <= flt_80051F54 - fVar10) { - *param_2 = 0; - goto LAB_7f02d3ec; - } - uVar6 = 1; - } - *param_2 = uVar6; -LAB_7f02d3ec: - *param_3 = 0; - uVar3 = check_if_bond_is_invincible(); - if ((uVar3 == 0) && (uVar6 != 0)) { - fVar10 = sqrtf(__x); - fVar7 = flt_80051F58 * global_timer_delta; - if (300.00000000 < fVar10) { - fVar7 = fVar7 * (300.00000000 / fVar10); - cVar1 = *(char *)(param_1 + 2); - } - else { - cVar1 = *(char *)(param_1 + 2); - } - if (cVar1 < '\x01') { - if (cVar1 < '\0') { - if (cVar1 < -99) { - fVar7 = 0.00000000; - } - else { - fVar7 = fVar7 * ((float)((int)cVar1 + 100) / 100.00000000); - } - } - } - else { - fVar7 = fVar7 * ((float)(int)cVar1 / 10.00000000 + 1.00000000); - } - fVar9 = get_007_accuracy_mod(); - if ((float)fVar9 <= 1.00000000) { - fVar10 = (float)get_007_accuracy_mod(); - } - else { - fVar9 = get_007_accuracy_mod(); - fVar10 = 9.00000000 / (flt_80051F5C - (float)fVar9); - } - fVar10 = fVar7 * fVar10 * (float)ai_accuracy_modifier; - lVar4 = proc_7F05DFCC(param_4); - if (lVar4 < 1) { - fVar10 = fVar10 + fVar10; - } - if ((param_4 == 0xf) || (param_4 == 0x10)) { - fVar10 = fVar10 + fVar10; - fVar7 = *(float *)(param_1 + 0x13c); - } - else { - fVar7 = *(float *)(param_1 + 0x13c); - } - *(float *)(param_1 + 0x13c) = fVar7 + fVar10; - if (1.00000000 <= *(float *)(param_1 + 0x13c)) { - fVar10 = extraout_f0; - proc_7F05DF84(param_4); - fVar9 = get_007_damage_mod(); - fVar9 = (f32)((float)fVar9 * fVar10 * 0.12500000 * (float)ai_damage_modifier); - if ((param_4 == 0xf) || (param_4 == 0x10)) { - fVar9 = (f32)((float)fVar9 * 3.00000000); - } - proc_7F089E4C(fVar9,fVar8,extraout_a0_lo); - *(undefined4 *)(param_1 + 0x13c) = 0; - uVar3 = check_if_bond_is_invincible(); - if (uVar3 != 0) { - *param_3 = 1; - } - } - } - return; -} - - - -undefined8 proc_7F02D630(int param_1,int param_2,float *param_3) - -{ - ushort **ppuVar1; - ushort *puVar2; - int iVar3; - float *pfVar4; - undefined8 uVar5; - undefined auStack156 [48]; - float fStack108; - float fStack104; - float fStack100; - float *pfStack92; - float afStack84 [16]; - float *pfStack20; - int iStack12; - - iVar3 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,param_2); - uVar5 = 0; - if ((iVar3 != 0) && - (iStack12 = *(int *)(*(int *)(iVar3 + 4) + 0x14), (*(byte *)(iVar3 + 1) & 2) != 0)) { - ppuVar1 = *(ushort ***)(*(int *)(iStack12 + 8) + 8); - puVar2 = *ppuVar1; - if (puVar2 == NULL) { - puVar2 = ppuVar1[1]; - if (puVar2 != NULL) { - pfStack92 = (float *)proc_7F06C660(iStack12,puVar2,0); - pfVar4 = (float *)get_BONDdata_field_10D4(); - proc_7F05818C(pfVar4,pfStack92,(int)auStack156); - uVar5 = 1; - *param_3 = fStack108; - param_3[1] = fStack104; - param_3[2] = fStack100; - } - } - else { - pfStack20 = (float *)proc_7F06C660(iStack12,puVar2,0); - pfVar4 = *(float **)(**(int **)(*(int *)(iStack12 + 8) + 8) + 4); - *param_3 = *pfVar4; - param_3[1] = pfVar4[1]; - param_3[2] = pfVar4[2]; - pfVar4 = (float *)get_BONDdata_field_10D4(); - proc_7F05818C(pfVar4,pfStack20,(int)afStack84); - proc_7F058474(afStack84,param_3); - uVar5 = 1; - } - } - return uVar5; -} - - - -// WARNING: Instruction at (ram,0x7f02e084) overlaps instruction at (ram,0x7f02e080) -// - -void proc_7F02D734(short *param_1,int param_2) - -{ - char cVar1; - int iVar3; - longlong lVar2; - int iVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - uint uVar5; - float fVar6; - float *pfVar7; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f12_01; - f32 fVar8; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - f32 extraout_f14; - f32 extraout_f14_00; - f32 extraout_f14_01; - f32 fVar9; - float fVar10; - float fVar11; - float afStack556 [16]; - float afStack492 [16]; - float fStack428; - float fStack424; - float fStack420; - float afStack416 [16]; - undefined4 *puStack352; - float afStack348 [16]; - float afStack284 [16]; - float fStack220; - float fStack216; - float fStack212; - float fStack204; - float fStack200; - float fStack196; - float afStack192 [16]; - undefined4 *puStack128; - float fStack124; - int iStack108; - float fStack104; - float fStack100; - float fStack96; - uint uStack92; - int iStack88; - uint uStack84; - u32 uStack80; - u32 uStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - u32 uStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack36; - int iStack32; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - int iStack4; - - iStack4 = *(int *)(param_1 + 0xc); - iVar3 = something_with_weaponpos_of_guarddata_hand((GUARDdata *)param_1,param_2); - if (iVar3 == 0) { - return; - } - iStack12 = 0; - iStack16 = 0; - iStack20 = *(int *)(iVar3 + 4); - iStack24 = get_curplayer_positiondata(); - if (*(char *)((int)param_1 + 7) == '\b') { - uVar5 = *(uint *)(param_1 + 0x26) & 1; - } - else { - uVar5 = 1; - } - if (((uVar5 != 0) && (*(int *)(param_1 + 0x74) < global_timer + -0x78)) && - (lVar2 = proc_7F05DFCC((int)*(char *)(iStack20 + 0x80)), -1 < lVar2)) goto LAB_7f02e24c; - iStack32 = 0; - iStack36 = 0; - iVar3 = (int)param_1 + param_2; - *(char *)(iVar3 + 4) = *(char *)(iVar3 + 4) + '\x01'; - lVar2 = proc_7F05DFCC((int)*(char *)(iStack20 + 0x80)); - if (lVar2 < 0) { - iStack32 = 1; - iStack36 = 1; - } - else { - lVar2 = proc_7F05DFCC((int)*(char *)(iStack20 + 0x80)); - if (lVar2 == 0) { - trap(0x1c00); - } - if ((lVar2 == -1) && ((ulonglong)*(byte *)(iVar3 + 4) == 0xffffffff80000000)) { - trap(0x1800); - } - if ((int)(uint)*(byte *)(iVar3 + 4) % (int)lVar2 == 0) { - iStack32 = 1; - iVar4 = proc_7F05DFCC((int)*(char *)(iStack20 + 0x80)); - iVar4 <<= 1; - if (iVar4 == 0) { - trap(0x1c00); - } - if ((iVar4 == -1) && ((ulonglong)*(byte *)(iVar3 + 4) == 0xffffffff80000000)) { - trap(0x1800); - } - if (((int)(uint)*(byte *)(iVar3 + 4) % iVar4 == 0) || - (*(char *)(iStack20 + 0x80) == '\x16')) { - iStack36 = 1; - } - } - else { - iStack16 = 1; - } - } - if (iStack32 != 0) { - uStack52 = 0; - fStack56 = (float)proc_7F02C190(); - fStack60 = proc_7F02C27C((int)param_1); - uStack76 = *(u32 *)(iStack4 + 0x14); - iStack12 = 1; - lVar2 = proc_7F02D630((int)param_1,param_2,&fStack72); - fVar8 = extraout_f12; - fVar9 = extraout_f14; - if (lVar2 == 0) { - fStack72 = *(float *)(iStack4 + 8); - fStack68 = *(float *)(iStack4 + 0xc) + 30.00000000; - fStack64 = *(float *)(iStack4 + 0x10); - if (param_2 == 1) { - fVar6 = cosf(fStack56); - fStack72 = fStack72 + fVar6 * 10.00000000; - fVar6 = sinf(fStack56); - fStack64 = fStack64 + -fVar6 * 10.00000000; - fVar8 = extraout_f12_00; - fVar9 = extraout_f14_00; - } - else { - fVar6 = cosf(fStack56); - fStack72 = fStack72 + -fVar6 * 10.00000000; - fVar6 = sinf(fStack56); - fStack64 = fStack64 + fVar6 * 10.00000000; - fVar8 = extraout_f12_01; - fVar9 = extraout_f14_01; - } - } - iVar4 = proc_7F0B0E24(&uStack76,fVar8,fVar9,*(f32 *)(iStack4 + 8)); - if (iVar4 == 0) { - *(char *)(iVar3 + 4) = *(char *)(iVar3 + 4) + -1; - iStack12 = 0; - } - else { - uStack80 = uStack76; - } - if (iStack12 != 0) { - uStack84 = 0; - iStack88 = 0; - uStack92 = 1; - iStack108 = proc_7F0292A8(param_1,&fStack72,uStack80); - fVar6 = cosf(fStack60); - fStack104 = sinf(fStack56); - fStack104 = fStack104 * fVar6; - fStack100 = sinf(fStack60); - fVar6 = cosf(fStack60); - fStack96 = cosf(fStack56); - fStack96 = fStack96 * fVar6; - fStack48 = fStack104 * 65536.00000000 + fStack72; - fStack44 = fStack100 * 65536.00000000 + fStack68; - fStack40 = fStack96 * 65536.00000000 + fStack64; - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - proc_7F0B1CC4(); - uStack76 = uStack80; - iVar3 = proc_7F0B0E24(&uStack76,(f32)fStack68,(f32)fStack44,(f32)fStack72); - if (iVar3 == 0) { - proc_7F02624C(&fStack72,&fStack104,&fStack48); - uStack52 = uStack76; - fStack48 = fStack48 - fStack104 * 26.00000000; - fStack44 = fStack44 - fStack100 * 26.00000000; - fStack40 = fStack40 - fStack96 * 26.00000000; - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - fVar6 = fStack48 - fStack72; - fVar10 = fStack44 - fStack68; - fVar11 = fStack40 - fStack64; - fStack124 = fVar6 * fVar6 + fVar10 * fVar10 + fVar11 * fVar11; - cVar1 = *(char *)(iStack20 + 0x80); - if (cVar1 == '\x19') { - if (flt_80051F60 < fVar6 * fVar6 + fVar10 * fVar10 + fVar11 * fVar11) { - puStack128 = create_new_item_instance_of_model(0xca,0x56); - if (puStack128 != NULL) { - guMtxIdentF_unrolled((float (*) [4] [4])afStack192); - proc_7F058570(fStack60,extraout_a0,afStack284); - proc_7F0585FC(fStack56,extraout_a0_00,afStack348); - sub_GAME_7F058098(afStack348,afStack284); - fStack220 = fStack104 * flt_80051F64; - fStack216 = fStack100 * flt_80051F64; - fStack212 = fStack96 * flt_80051F64; - fStack204 = fStack220 * global_timer_delta; - fStack200 = fStack216 * global_timer_delta; - fStack196 = fStack212 * global_timer_delta; - proc_7F05EB0C((int)puStack128,&fStack72,uStack80,afStack284,&fStack204, - afStack192,iStack4); - if ((puStack128[0x19] & 0x80) != 0) { - *(uint *)puStack128[0x1b] = *(uint *)puStack128[0x1b] | 0x80; - *(undefined2 *)((int)puStack128 + 0x82) = 0xffff; - *(uint *)puStack128[0x1b] = *(uint *)puStack128[0x1b] | 0x20; - *(undefined4 *)(puStack128[0x1b] + 0xb0) = puStack128[0x17]; - *(undefined4 *)(puStack128[0x1b] + 0xb4) = - *(undefined4 *)(puStack128[0x1b] + 8); - *(float *)(puStack128[0x1b] + 0x10) = fStack220; - *(float *)(puStack128[0x1b] + 0x14) = fStack216; - *(float *)(puStack128[0x1b] + 0x18) = fStack212; - iVar3 = puStack128[0x1b]; - if (*(int *)(iVar3 + 0x98) == 0) { - play_sfx_a1(ptr_sfx_buf,1,(ALSndPlayer *)(iVar3 + 0x98)); - } - else { - if (*(int *)(iVar3 + 0x9c) == 0) { - play_sfx_a1(ptr_sfx_buf,1,(ALSndPlayer *)(iVar3 + 0x9c)); - } - } - } - } - } - else { - iStack12 = 0; - } - } - else { - if (cVar1 == '\x18') { - if (flt_80051F68 < fVar6 * fVar6 + fVar10 * fVar10 + fVar11 * fVar11) { - puStack352 = create_new_item_instance_of_model(0xcb,0x57); - if (puStack352 != NULL) { - guMtxIdentF_unrolled((float (*) [4] [4])afStack416); - fStack428 = fStack104 * flt_80051F6C; - fStack424 = fStack100 * flt_80051F6C; - fStack420 = fStack96 * flt_80051F6C; - proc_7F058570(fStack60,extraout_a0_01,afStack492); - proc_7F0585FC(fStack56,extraout_a0_02,afStack556); - sub_GAME_7F058098(afStack556,afStack492); - *(undefined2 *)((int)puStack352 + 0x82) = 0xb4; - proc_7F05EB0C((int)puStack352,&fStack72,uStack80,afStack492,&fStack428, - afStack416,iStack4); - if ((puStack352[0x19] & 0x80) != 0) { - *(float *)(puStack352[0x1b] + 0x8c) = flt_80051F70; - *(float *)(puStack352[0x1b] + 0x94) = flt_80051F74; - *(undefined4 *)(puStack352[0x1b] + 0xbc) = 0x3c; - } - } - } - else { - iStack12 = 0; - } - } - else { - if ((uVar5 == 0) || (iStack108 == 0)) { - fVar6 = extraout_f12_02; - if ((*(char *)((int)param_1 + 7) == '\b') || - (*(char *)((int)param_1 + 7) == '\n')) { - *(int *)(param_1 + 0x24) = global_timer; - } - } - else { - fVar10 = (*(float *)(iStack24 + 8) - fStack72) - fStack104 * 15.00000000; - fVar6 = (*(float *)(iStack24 + 0xc) - fStack68) - fStack100 * 15.00000000; - fVar11 = (*(float *)(iStack24 + 0x10) - fStack64) - fStack96 * 15.00000000; - if (fVar10 * fVar10 + fVar6 * fVar6 + fVar11 * fVar11 <= fStack124) { - proc_7F02D2E4((int)param_1,&uStack84,&iStack88,(int)cVar1); - uStack92 = (uint)(iStack88 == 0); - fVar6 = extraout_f12_03; - if ((uStack84 != 0) && - ((*(char *)((int)param_1 + 7) == '\b' || - (*(char *)((int)param_1 + 7) == '\n')))) { - *(int *)(param_1 + 0x24) = global_timer; - } - } - } - if (iStack88 == 0) { - if (((DAT_8007ba04 == NULL) || - ((*DAT_8007ba04 != '\x03' && (*DAT_8007ba04 != '\x06')))) && - (fStack124 < flt_80051F78)) { - uStack92 = 0; - } - } - else { - fStack48 = *(float *)(iStack24 + 8); - fStack44 = *(float *)(iStack24 + 0xc); - fStack40 = *(float *)(iStack24 + 0x10); - uStack52 = *(u32 *)(iStack24 + 0x14); - recall_joy2_hits_edit_detail_edit_flag(); - fVar6 = extraout_f12_04; - } - if (uStack92 != 0) { - if (uStack52 != 0) { - proc_7F0A3E1C(&fStack48,1,fVar6,0); - } - if (DAT_8007ba04 == NULL) { - recall_joy2_hits_edit_flag((int)*(char *)(iStack20 + 0x80),&fStack48,-1) - ; - } - else { - pfVar7 = (float *)recall_joy2_hits_edit_detail_edit_flag(); - cVar1 = *DAT_8007ba04; - if (cVar1 == '\x03') { - if ((*(uint *)(param_1 + 10) & 0x40) != 0) { - proc_7F02727C(); - } - } - else { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - proc_7F05DF84((int)*(char *)(iStack20 + 0x80)); - get_cur_playernum(); - proc_7F04E0CC(*(int *)(DAT_8007ba04 + 4),extraout_f12_05,pfVar7, - (int)&fStack48,(int)*(char *)(iStack20 + 0x80)); - } - } - } - } - if (iStack36 != 0) { - if (true) { - switch(*(undefined *)(iStack20 + 0x80)) { - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - iStack36 = 1; - goto LAB_7f02e1e8; - } - } - iStack36 = 0; - } -LAB_7f02e1e8: - if (iStack36 != 0) { - proc_7F061948((undefined *)(param_1 + param_2 * 0x16 + 0xc0), - (int)*(char *)(iStack20 + 0x80),&fStack72,&fStack48); - } - } - } - } - } - proc_7F02BFE4((int)param_1,param_2,(uint)(iStack12 != 0 || iStack16 != 0)); -LAB_7f02e24c: - proc_7F02D118((int)param_1,param_2,iStack12); - return; -} - - - -void proc_7F02E26C(short *param_1) - -{ - ushort uVar1; - ushort uVar2; - - uVar1 = param_1[9]; - uVar2 = uVar1 & 0xff7f; - param_1[9] = uVar2; - if ((uVar1 & 8) != 0) { - proc_7F02D734(param_1,0); - uVar2 = param_1[9] & 0xfff7; - param_1[9] = uVar2; - } - if ((uVar2 & 4) != 0) { - proc_7F02D734(param_1,1); - param_1[9] = param_1[9] & 0xfffb; - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F02E2E0(void) - -{ - undefined uVar1; - int iVar2; - undefined8 uVar3; - int in_a0_lo; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - - if ((*(weapon_firing_animation_table **)(in_a0_lo + 0x2c) == &stru_80030108) || - (*(weapon_firing_animation_table **)(in_a0_lo + 0x2c) == &stru_80030150)) { - iVar2 = *(int *)(in_a0_lo + 0x1c); - uVar1 = *(undefined *)(iVar2 + 0x24); - *(undefined *)(in_a0_lo + 0x30) = 2; - *(undefined4 *)(in_a0_lo + 0x2c) = 0x800300c0; - *(undefined *)(in_a0_lo + 8) = 0; - proc_7F023B5C(); - proc_7F06FCA8(iVar2,stru_800300C0.anonymous_0,uVar1,extraout_f12,stru_800300C0.anonymous_7, - extraout_f14); - if (0.00000000 <= (float)stru_800300C0.anonymous_5) { - proc_7F06FDE8(iVar2,extraout_f12_00); - } - uVar3 = 1; - } - else { - uVar3 = 0; - } - return uVar3; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02E3B8(void) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - int in_a0_lo; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float fVar4; - float extraout_f14; - float extraout_f14_00; - - iVar1 = *(int *)(in_a0_lo + 0x1c); - if (0.00000000 < *(float *)(*(int *)(in_a0_lo + 0x2c) + 0x24)) { - uVar3 = proc_7F06F5AC(iVar1); - proc_7F023B5C(); - proc_7F06FCA8(iVar1,uVar3,*(undefined *)(iVar1 + 0x24),extraout_f12, - *(undefined4 *)(*(int *)(in_a0_lo + 0x2c) + 0x24),extraout_f14); - iVar2 = *(int *)(in_a0_lo + 0x2c); - fVar4 = extraout_f12_00; - } - else { - uVar3 = proc_7F06F5AC(iVar1); - proc_7F023B5C(); - proc_7F06FCA8(iVar1,uVar3,*(undefined *)(iVar1 + 0x24),extraout_f12_01, - *(undefined4 *)(*(int *)(in_a0_lo + 0x2c) + 0x1c),extraout_f14_00); - iVar2 = *(int *)(in_a0_lo + 0x2c); - fVar4 = extraout_f12_02; - } - if (0.00000000 <= *(float *)(iVar2 + 0x14)) { - proc_7F06FDE8(iVar1,fVar4); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02E4C0(void) - -{ - char cVar1; - int iVar2; - uint uVar3; - int iVar4; - undefined4 uVar5; - undefined uVar6; - short *in_a0_lo; - char cVar7; - int iVar9; - longlong lVar8; - short *psVar10; - float in_f0; - float extraout_f0; - float fVar11; - float extraout_f0_00; - float fVar12; - float extraout_f0_01; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f14; - float fVar13; - - iVar2 = *(int *)(in_a0_lo + 0xe); - proc_7F06F5BC(iVar2); - if ((((*(int *)(in_a0_lo + 0x24) < *(int *)(in_a0_lo + 0x22) + -0x1e) && - (*(int *)(iVar2 + 0x54) == 0)) && - (iVar9 = *(int *)(in_a0_lo + 0x16), *(float *)(iVar9 + 0x18) + 10.00000000 < in_f0)) && - (in_f0 < *(float *)(iVar9 + 0x1c))) { - if (0.00000000 <= *(float *)(iVar9 + 0x24)) { - if (*(float *)(iVar9 + 0x24) <= in_f0) goto LAB_7f02e638; - cVar7 = *(char *)(in_a0_lo + 0x1b); - } - else { - cVar7 = *(char *)(in_a0_lo + 0x1b); - } - if (cVar7 == '\0') { - lVar8 = proc_7F02E2E0(); - in_f0 = extraout_f0; - if (lVar8 == 0) { - uVar5 = proc_7F06F5AC(iVar2); - proc_7F023B5C(); - proc_7F06FCA8(iVar2,uVar5,*(undefined *)(iVar2 + 0x24),extraout_f12, - *(undefined4 *)(*(int *)(in_a0_lo + 0x16) + 0x1c),extraout_f14); - in_f0 = *(float *)(*(int *)(in_a0_lo + 0x16) + 0x14); - if (0.00000000 <= in_f0) { - proc_7F06FDE8(iVar2,extraout_f12_00); - } - } - cVar7 = *(char *)(in_a0_lo + 0x1a); - } - else { - in_f0 = (float)proc_7F02E3B8(); - cVar7 = *(char *)(in_a0_lo + 0x1a); - } - *(char *)((int)in_a0_lo + 0x33) = cVar7 + '\x01'; - proc_7F06F5BC(iVar2); - } -LAB_7f02e638: - fVar11 = proc_7F06F5C4(iVar2); - if (in_f0 < fVar11) { - uVar3 = *(uint *)(in_a0_lo + 0x26); - fVar12 = extraout_f12_01; - goto LAB_7f02e82c; - } - if (*(char *)((int)in_a0_lo + 0x37) == '\0') { - cVar7 = *(char *)((int)in_a0_lo + 0x33); - if (*(char *)(in_a0_lo + 0x1a) < cVar7) goto LAB_7f02e678; - if (*(char *)(in_a0_lo + 0x1a) == cVar7) { - *(char *)((int)in_a0_lo + 0x33) = cVar7 + '\x01'; - fVar11 = (float)proc_7F02E3B8(); - } - else { - if (*(char *)((int)in_a0_lo + 0x31) != '\0') { - fVar12 = 0.50000000; - if (*(char *)(in_a0_lo + 0x1b) == '\0') { - iVar9 = *(int *)(in_a0_lo + 0x16); - fVar11 = *(float *)(iVar9 + 0x20); - fVar13 = *(float *)(iVar9 + 0x18); - if (fVar11 <= 0.00000000) { - fVar11 = *(float *)(iVar9 + 0x1c); - } - } - else { - iVar9 = *(int *)(in_a0_lo + 0x16); - fVar13 = *(float *)(iVar9 + 0x20); - if (fVar13 <= 0.00000000) { - fVar13 = *(float *)(iVar9 + 0x18); - } - fVar11 = *(float *)(iVar9 + 0x24); - if (fVar11 <= 0.00000000) { - fVar11 = *(float *)(iVar9 + 0x1c); - } - } - fVar11 = fVar11 - fVar13; - if (fVar11 < 12.00000000) { - fVar12 = (fVar11 * 0.50000000) / 12.00000000; -LAB_7f02e7b8: - cVar7 = *(char *)(in_a0_lo + 0x1d); - } - else { - if (16.00000000 < fVar11) { - fVar12 = fVar11 * 0.50000000 * 0.06250000; - goto LAB_7f02e7b8; - } - cVar7 = *(char *)(in_a0_lo + 0x1d); - } - if (cVar7 == '\0') { - *(undefined *)((int)in_a0_lo + 0x31) = 0; - } - else { - if (*(char *)((int)in_a0_lo + 0x3b) == '\0') { - *(undefined *)((int)in_a0_lo + 0x31) = 0; - } - else { - fVar12 = fVar12 + fVar12; - *(undefined *)((int)in_a0_lo + 0x31) = 0; - } - } - uVar5 = proc_7F06F5AC(iVar2); - proc_7F06FCA8(iVar2,uVar5,*(undefined *)(iVar2 + 0x24),fVar12,fVar13,fVar13); - proc_7F06FDE8(iVar2,extraout_f12_02); - } - } - } - else { -LAB_7f02e678: - lVar8 = proc_7F02E2E0(); - fVar11 = extraout_f0_00; - if (lVar8 == 0) { - if ((*(uint *)(in_a0_lo + 0x26) & 1) != 0) { - proc_7F029BB0((int)in_a0_lo); - } - proc_7F023E48((int)in_a0_lo); - return; - } - } - proc_7F06F5BC(iVar2); - uVar3 = *(uint *)(in_a0_lo + 0x26); - fVar12 = extraout_f12_03; - in_f0 = fVar11; -LAB_7f02e82c: - if ((uVar3 & 0x40) == 0) { - fVar11 = *(float *)(*(int *)(in_a0_lo + 0x16) + 4); - if (((uVar3 & 0x20) != 0) && (fVar12 = proc_7F06F5C4(iVar2), fVar12 < fVar11)) { - proc_7F06F5C4(iVar2); - } - proc_7F023B5C(); - uVar6 = proc_7F02C2B0(); - *(undefined *)(in_a0_lo + 0x18) = uVar6; - iVar9 = *(int *)(in_a0_lo + 0x16); - fVar11 = extraout_f0_01; - fVar12 = extraout_f12_04; - } - else { - iVar9 = *(int *)(in_a0_lo + 0x16); - } - if ((in_f0 <= *(float *)(iVar9 + 0x28)) || (*(float *)(iVar9 + 0x2c) <= in_f0)) { - proc_7F02D0F8((int)in_a0_lo); - } - else { - proc_7F02C4C0(in_a0_lo,iVar9,(int)*(char *)((int)in_a0_lo + 0x39), - (int)*(char *)(in_a0_lo + 0x1c),fVar12); - } - lVar8 = 0; - psVar10 = in_a0_lo; - do { - iVar9 = (int)lVar8; - if (*(char *)(psVar10 + 0x1c) == '\0') { - proc_7F02D1C4((int)in_a0_lo,lVar8,0); -LAB_7f02ebc4: - lVar8 = (longlong)(iVar9 + 1); - } - else { - if (*(char *)(psVar10 + 0x1d) == '\0') { - if ((in_f0 < *(float *)(*(int *)(in_a0_lo + 0x16) + 0x18)) || - (*(float *)(*(int *)(in_a0_lo + 0x16) + 0x1c) <= in_f0)) { - proc_7F02D1C4((int)in_a0_lo,lVar8,0); - if (*(char *)((int)in_a0_lo + 7) == '\n') { - proc_7F023B5C(); - proc_7F06FE4C(iVar2,fVar11,extraout_f12_06); - lVar8 = (longlong)(iVar9 + 1); - } - else { - proc_7F023B5C(); - proc_7F06FE4C(iVar2,fVar11,extraout_f12_07); - lVar8 = (longlong)(iVar9 + 1); - } - } - else { - proc_7F02D1C4((int)in_a0_lo,lVar8,1); - *(undefined4 *)(in_a0_lo + 0x22) = global_timer; - if (*(char *)((int)in_a0_lo + 7) == '\n') { - fVar11 = *(float *)(*(int *)(in_a0_lo + 0x16) + 0x1c) - - *(float *)(*(int *)(in_a0_lo + 0x16) + 0x18); - if (fVar11 < 30.00000000) { - if (*(int *)(in_a0_lo + 0x20) < (int)fVar11 * -2 + 0x3c) { - proc_7F06FE4C(iVar2,0x3dcccccd,extraout_f12_05); - *(int *)(in_a0_lo + 0x20) = *(int *)(in_a0_lo + 0x20) + clock_timer; - goto LAB_7f02ebc4; - } - proc_7F06FE4C(iVar2,0x3f000000,extraout_f12_05); - lVar8 = (longlong)(iVar9 + 1); - } - else { - proc_7F06FE4C(iVar2,0x3f000000,extraout_f12_05); - lVar8 = (longlong)(iVar9 + 1); - } - } - else { - proc_7F06FE4C(iVar2,0x3f000000,extraout_f12_05); - lVar8 = (longlong)(iVar9 + 1); - } - } - } - else { - if (*(char *)((int)in_a0_lo + 0x31) == '\0') { - cVar7 = *(char *)(in_a0_lo + 0x19); - if ((lVar8 == (longlong)cVar7) || - (*(char *)((int)in_a0_lo + (int)cVar7 + 0x3a) == '\0')) { - iVar4 = *(int *)(in_a0_lo + 0x16); - fVar11 = *(float *)(iVar4 + 0x20); - if ((fVar11 < 0.00000000) || - ((in_f0 < fVar11 || (*(float *)(iVar4 + 0x24) < in_f0)))) { - if ((0.00000000 <= fVar11) || (in_f0 < *(float *)(iVar4 + 0x18))) - goto LAB_7f02ebac; - cVar1 = *(char *)((int)in_a0_lo + 0x33); - } - else { - cVar1 = *(char *)((int)in_a0_lo + 0x33); - } - *(undefined *)((int)in_a0_lo + 0x31) = 1; - *(char *)(in_a0_lo + 0x19) = '\x01' - cVar7; - *(char *)((int)in_a0_lo + 0x33) = cVar1 + '\x01'; - *(undefined4 *)(in_a0_lo + 0x22) = global_timer; - proc_7F02D1C4((int)in_a0_lo,lVar8,1); - lVar8 = (longlong)(iVar9 + 1); - goto LAB_7f02ebc8; - } - } -LAB_7f02ebac: - proc_7F02D1C4((int)in_a0_lo,lVar8,0); - lVar8 = (longlong)(iVar9 + 1); - } - } -LAB_7f02ebc8: - psVar10 = (short *)((int)psVar10 + 1); - if (lVar8 == 2) { - return; - } - } while( true ); -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02EBFC(void) - -{ - int iVar1; - int iVar2; - undefined4 uVar3; - short *in_a0_lo; - uint uVar4; - char cVar5; - float in_f0; - float fVar6; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f14; - float extraout_f14_00; - - iVar2 = *(int *)(in_a0_lo + 0xe); - proc_7F06F5BC(iVar2); - iVar1 = *(int *)(in_a0_lo + 0x2c); - if (iVar1 == 0) { - uVar4 = *(uint *)(in_a0_lo + 0x26); - } - else { - if (iVar1 == 1) { - fVar6 = *(float *)(*(int *)(in_a0_lo + 0x16) + 0x24); - if (fVar6 < 0.00000000) { - fVar6 = *(float *)(*(int *)(in_a0_lo + 0x16) + 0x1c); - } - uVar3 = proc_7F06F5AC(iVar2); - proc_7F023B5C(); - proc_7F06FCA8(iVar2,uVar3,*(undefined *)(iVar2 + 0x24),extraout_f12_00,fVar6, - extraout_f14); - if (0.00000000 <= *(float *)(*(int *)(in_a0_lo + 0x16) + 0x14)) { - proc_7F06FDE8(iVar2,extraout_f12_01); - } - *(undefined4 *)(in_a0_lo + 0x2c) = 2; - proc_7F02D0F8((int)in_a0_lo); - return; - } - if (iVar1 == 2) { - fVar6 = proc_7F06F5C4(iVar2); - if (in_f0 < fVar6) { - return; - } - uVar4 = *(uint *)(in_a0_lo + 0x26); - *(uint *)(in_a0_lo + 0x26) = uVar4 | 0x20; - uVar4 = uVar4 & 0xffffffbf | 0x20; - *(uint *)(in_a0_lo + 0x26) = uVar4; - if (*(int *)(in_a0_lo + 0x2a) != 0) { - proc_7F025560((int)in_a0_lo,uVar4,*(undefined4 *)(in_a0_lo + 0x28)); - return; - } - proc_7F0256F0((int)in_a0_lo,*(uint *)(in_a0_lo + 0x26),*(undefined4 *)(in_a0_lo + 0x28)) - ; - return; - } - uVar4 = *(uint *)(in_a0_lo + 0x26); - } - if ((uVar4 & 0x20) == 0) { - cVar5 = *(char *)(in_a0_lo + 0x1b); - } - else { - if ((uVar4 & 0x40) != 0) { - iVar2 = proc_7F02C4C0(in_a0_lo,*(int *)(in_a0_lo + 0x16), - (int)*(char *)((int)in_a0_lo + 0x39), - (int)*(char *)(in_a0_lo + 0x1c),extraout_f12); - if (iVar2 != 0) { - return; - } - *(undefined4 *)(in_a0_lo + 0x2c) = 1; - return; - } - fVar6 = proc_7F06F5C4(iVar2); - if (fVar6 <= in_f0) { - *(undefined *)(in_a0_lo + 0x18) = 2; - *(uint *)(in_a0_lo + 0x26) = *(uint *)(in_a0_lo + 0x26) | 0x40; - return; - } - cVar5 = *(char *)(in_a0_lo + 0x1b); - } - if ((((cVar5 == '\0') && (0.00000000 < *(float *)(*(int *)(in_a0_lo + 0x16) + 0x24))) && - (in_f0 <= *(float *)(*(int *)(in_a0_lo + 0x16) + 0x24))) && - (fVar6 = proc_7F06F5C4(iVar2), fVar6 <= in_f0)) { - uVar3 = proc_7F06F5AC(iVar2); - proc_7F023B5C(); - proc_7F06FCA8(iVar2,uVar3,*(undefined *)(iVar2 + 0x24),extraout_f12_02, - *(undefined4 *)(*(int *)(in_a0_lo + 0x16) + 0x24),extraout_f14_00); - if (*(char *)((int)in_a0_lo + 0x37) == '\0') { - proc_7F06FDE8(iVar2,extraout_f12_03); - } - else { - if (0.00000000 <= *(float *)(*(int *)(in_a0_lo + 0x16) + 0x14)) { - proc_7F06FDE8(iVar2,extraout_f12_03); - } - } - } - proc_7F02E4C0(); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02EEE0(void) - -{ - char cVar1; - weapon_firing_animation_table *pwVar2; - u32 uVar3; - int objinst; - undefined4 uVar4; - weapon_firing_animation_table *pwVar5; - int in_a0_lo; - float in_f0; - float fVar6; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f14; - float extraout_f14_00; - - if (*(char *)(in_a0_lo + 0x35) != '\0') { - objinst = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(objinst); - pwVar2 = *(weapon_firing_animation_table **)(in_a0_lo + 0x2c); - if ((((pwVar2 == &stru_80030198) || (pwVar2 == &stru_800301E0)) || - (pwVar2 == &stru_80030228)) || (pwVar2 == &stru_80030270)) { - if ((float)pwVar2->anonymous_5 <= in_f0) { - cVar1 = *(char *)(objinst + 0x24); - pwVar5 = pwVar2 + 4; - if ((*(char *)(in_a0_lo + 0x39) != '\0') && (*(char *)(in_a0_lo + 0x38) != '\0')) { - uVar3 = get_random_value(); - if ((uVar3 & 1) == 0) { - pwVar5 = pwVar2 + 8; - } - else { - pwVar5 = pwVar2 + 0xc; - } - } - if (pwVar5 == &stru_800302B8) { - fVar6 = 24.00000000; - } - else { - if (pwVar5 == &stru_80030300) { - fVar6 = 24.00000000; - } - else { - if (pwVar5 == &stru_80030348) { - fVar6 = 32.00000000; - } - else { - if (pwVar5 == &stru_80030390) { - fVar6 = 44.00000000; - } - else { - if (pwVar5 == &stru_800303D8) { - fVar6 = 24.00000000; - } - else { - if (pwVar5 == &stru_80030420) { - fVar6 = 34.00000000; - } - else { - if (pwVar5 == &stru_80030468) { - fVar6 = 32.00000000; - } - else { - if (pwVar5 == &stru_800304B0) { - fVar6 = 44.00000000; - } - else { - if (pwVar5 == &stru_800304F8) { - fVar6 = 24.00000000; - } - else { - if (pwVar5 == &stru_80030540) { - fVar6 = 34.00000000; - } - else { - if (pwVar5 == &stru_80030588) { - fVar6 = 32.00000000; - } - else { - fVar6 = 16.00000000; - if (pwVar5 == &stru_800305D0) { - fVar6 = 44.00000000; - } - } - } - } - } - } - } - } - } - } - } - } - *(undefined *)(in_a0_lo + 0x30) = 2; - *(weapon_firing_animation_table **)(in_a0_lo + 0x2c) = pwVar5; - *(undefined *)(in_a0_lo + 8) = 0; - proc_7F023B5C(); - proc_7F06FCA8(objinst,pwVar5->anonymous_0,cVar1,extraout_f12,pwVar5->anonymous_4, - extraout_f14); - if (*(char *)(in_a0_lo + 0x36) == '\0') { - if (0.00000000 <= (float)pwVar5->anonymous_8) { - proc_7F06FDE8(objinst,extraout_f12_00); - } - else { - if (0.00000000 <= (float)pwVar5->anonymous_5) { - proc_7F06FDE8(objinst,extraout_f12_00); - } - } - } - else { - if (0.00000000 <= (float)pwVar5->anonymous_9) { - proc_7F06FDE8(objinst,extraout_f12_00); - } - else { - proc_7F06FDE8(objinst,extraout_f12_00); - } - } - if (*(float *)(*(int *)(in_a0_lo + 0x2c) + 0xc) != 0.00000000) { - objinst = extract_id_from_object_structure_microcode - (objinst,**(ushort ***)(objinst + 8)); - *(float *)(objinst + 0x5c) = fVar6; - *(float *)(objinst + 0x58) = - -*(float *)(*(int *)(in_a0_lo + 0x2c) + 0xc) / fVar6; - if (cVar1 != '\0') { - *(float *)(objinst + 0x58) = -*(float *)(objinst + 0x58); - } - } - } - } - else { - if (((((pwVar2 == &stru_800302B8) || (pwVar2 == &stru_80030300)) || - ((pwVar2 == &stru_80030348 || - ((pwVar2 == &stru_80030390 || (pwVar2 == &stru_800303D8)))))) || - ((pwVar2 == &stru_80030420 || - (((((pwVar2 == &stru_80030468 || (pwVar2 == &stru_800304B0)) || - (pwVar2 == &stru_800304F8)) || - ((pwVar2 == &stru_80030540 || (pwVar2 == &stru_80030588)))) || - (pwVar2 == &stru_800305D0)))))) && - (((*(char *)(in_a0_lo + 0x36) == '\0' && (0.00000000 < (float)pwVar2->anonymous_9)) - && ((in_f0 <= (float)pwVar2->anonymous_9 && - (fVar6 = proc_7F06F5C4(objinst), fVar6 <= in_f0)))))) { - uVar4 = proc_7F06F5AC(objinst); - proc_7F023B5C(); - proc_7F06FCA8(objinst,uVar4,*(undefined *)(objinst + 0x24),extraout_f12_01, - *(undefined4 *)(*(int *)(in_a0_lo + 0x2c) + 0x24),extraout_f14_00); - if (*(char *)(in_a0_lo + 0x37) == '\0') { - proc_7F06FDE8(objinst,extraout_f12_02); - } - else { - if (0.00000000 <= *(float *)(*(int *)(in_a0_lo + 0x2c) + 0x14)) { - proc_7F06FDE8(objinst,extraout_f12_02); - } - } - } - } - } - proc_7F02E4C0(); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02F3F8(void) - -{ - bool bVar1; - int iVar2; - int iVar3; - GUARDdata *in_a0_lo; - float in_f0; - float fVar4; - float fVar5; - - iVar2 = in_a0_lo->MODELdata_pointer; - proc_7F06F5BC(iVar2); - bVar1 = *(char *)(iVar2 + 0x24) != '\0'; - fVar4 = in_f0; - iVar3 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,(uint)bVar1); - if ((20.00000000 <= in_f0) && (iVar3 != 0)) { - *(uint *)(*(int *)(iVar3 + 4) + 100) = *(uint *)(*(int *)(iVar3 + 4) + 100) & 0xfffff7ff; - } - if ((61.00000000 <= in_f0) && (iVar3 != 0)) { - *(undefined2 *)(*(int *)(iVar3 + 4) + 0x82) = 0xb4; - } - if ((119.00000000 <= in_f0) && (iVar3 != 0)) { - proc_7F04BFD0(in_a0_lo->handle_positiondata[bVar1],3); - in_a0_lo->special_bitflags = in_a0_lo->special_bitflags | 1; - } - proc_7F06F5BC(iVar2); - fVar5 = proc_7F06F5C4(iVar2); - if (fVar5 <= fVar4) { - proc_7F023E48((int)in_a0_lo); - } - else { - if ((87.00000000 <= in_f0) && (in_f0 <= 110.00000000)) { - proc_7F023B5C(); - proc_7F02C2B0(); - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02F5A4(void) - -{ - int iVar1; - int in_a0_lo; - float in_f0; - float fVar2; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - - iVar1 = *(int *)(in_a0_lo + 0x1c); - proc_7F06F5BC(iVar1); - if ((86.00000000 <= in_f0) || (fVar2 = proc_7F06F5C4(iVar1), in_f0 < fVar2)) { - fVar2 = proc_7F06F5C4(iVar1); - if (fVar2 <= in_f0) { - proc_7F023CB8(); - } - } - else { - proc_7F06F610(iVar1); - proc_7F06FCA8(iVar1,ptr_animation_table + 0x6254,0,extraout_f12,0x42ac0000,extraout_f14); - proc_7F06FDE8(iVar1,extraout_f12_00); - } - return; -} - - - -void proc_7F02F688(void) - -{ - return; -} - - - -uint proc_7F02F690(int param_1,float *param_2,int param_3,float *param_4) - -{ - bool bVar1; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - float fVar2; - float fVar3; - float fVar4; - float extraout_f12; - float *pfStack24; - float *pfStack20; - int iStack8; - - iStack8 = *(int *)(param_1 + 0x1c); - pfStack24 = (float *)convert_angle_using_inverse - ((f32)(*param_2 - *(float *)(*(int *)(param_1 + 0x18) + 8)), - (f32)(param_2[2] - *(float *)(*(int *)(param_1 + 0x18) + 0x10))) - ; - pfStack20 = pfStack24; - getsubroty(iStack8,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - fVar3 = (float)pfStack20 - (float)pfStack24; - if ((float)pfStack20 < (float)pfStack24) { - fVar3 = fVar3 + flt_80051FD0; - } - if (flt_80051FD4 < fVar3) { - fVar3 = FLOAT_80051fd8 - fVar3; - } - fVar2 = flt_80051FE0; - fVar4 = flt_80051FDC; - if (param_3 != 2) { - if (param_3 == 1) { - fVar2 = flt_80051FF8; - fVar4 = flt_80051FE8; - if ((flt_80051FE4 <= fVar3) && (fVar4 = flt_80051FF0, flt_80051FEC <= fVar3)) { - fVar4 = flt_80051FF4; - } - } - else { - fVar2 = flt_80052010; - fVar4 = flt_80052000; - if ((flt_80051FFC <= fVar3) && (fVar4 = flt_80052008, flt_80052004 <= fVar3)) { - fVar4 = flt_8005200C; - } - } - } - proc_7F04310C((float *)&pfStack24,fVar4 * *(float *)(iStack8 + 0xa4),pfStack20,(float)pfStack20, - (float)param_4,fVar2 * *(float *)(iStack8 + 0xa4)); - bVar1 = (float)pfStack24 == (float)pfStack20; - if (bVar1) { - *param_4 = 0.00000000; - } - setsubroty(iStack8,extraout_f12,pfStack24,extraout_a2_lo_00); - return (uint)bVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02F888(void) - -{ - int iVar1; - int iVar2; - uint uVar3; - short *in_a0_lo; - int iVar4; - longlong lVar5; - short *psVar6; - int iVar7; - float in_f0; - float fVar8; - float fVar9; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - float extraout_f14_00; - - iVar4 = *(int *)(in_a0_lo + 0xe); - iVar2 = *(int *)(in_a0_lo + 0xc); - iVar1 = get_curplayer_positiondata(); - iVar7 = *(int *)(in_a0_lo + 0x18) + clock_timer; - *(int *)(in_a0_lo + 0x18) = iVar7; - *(int *)(in_a0_lo + 100) = global_timer; - if (((*(char *)((int)in_a0_lo + 9) == '\x01') || - (*(int *)(in_a0_lo + 0x66) < global_timer + -0x3c)) || (*(int *)(in_a0_lo + 0x1a) < iVar7)) - { - proc_7F06F5BC(iVar4); - iVar2 = proc_7F06F5AC(iVar4); - fVar8 = (float)(uint)*(ushort *)(iVar2 + 4); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - if (fVar8 * 0.50000000 < in_f0) { - proc_7F06FE90(iVar4,extraout_f12,extraout_f14); - } - else { - proc_7F06F5AC(iVar4); - proc_7F06FE90(iVar4,extraout_f12_00,extraout_f14_00); - } - proc_7F029BB0((int)in_a0_lo); - proc_7F023E48((int)in_a0_lo); - } - else { - fVar8 = *(float *)(iVar1 + 8) - *(float *)(iVar2 + 8); - fVar9 = *(float *)(iVar1 + 0x10) - *(float *)(iVar2 + 0x10); - if (((300.00000000 <= fVar8) || (fVar8 <= -300.00000000)) || - ((300.00000000 <= fVar9 || (fVar9 <= -300.00000000)))) { - uVar3 = proc_7F02F690((int)in_a0_lo,(float *)(iVar1 + 8),0,(float *)(in_a0_lo + 0x2a)); - if (uVar3 != 0) { - *(undefined4 *)(in_a0_lo + 0x1c) = 1; - } - if (*(int *)(in_a0_lo + 0x18) < 0x15) { - proc_7F02D0F8((int)in_a0_lo); - iVar4 = *(int *)(in_a0_lo + 0x1c); - } - else { - proc_7F02C4C0(in_a0_lo,*(int *)(in_a0_lo + 0x1e), - (int)*(char *)((int)in_a0_lo + 0x49),(int)*(char *)(in_a0_lo + 0x24), - extraout_f12_01); - iVar4 = *(int *)(in_a0_lo + 0x1c); - } - if ((iVar4 == 0) || (lVar5 = 0, psVar6 = in_a0_lo, *(int *)(in_a0_lo + 0x18) < 0x1f)) { - proc_7F02D1C4((int)in_a0_lo,1,0); - proc_7F02D1C4((int)in_a0_lo,0,0); - } - else { - do { - iVar4 = (int)lVar5; - if (*(char *)(psVar6 + 0x24) == '\0') { - proc_7F02D1C4((int)in_a0_lo,lVar5,0); - lVar5 = (longlong)(iVar4 + 1); - } - else { - if (*(char *)(psVar6 + 0x25) == '\0') { - proc_7F02D1C4((int)in_a0_lo,lVar5,1); - lVar5 = (longlong)(iVar4 + 1); - } - else { - iVar2 = *(int *)(in_a0_lo + 0x18); - if (*(int *)(in_a0_lo + 0x20) < iVar2) { - if ((lVar5 == (longlong)*(int *)(in_a0_lo + 0x22)) || - (*(char *)((int)in_a0_lo + *(int *)(in_a0_lo + 0x22) + 0x4a) == - '\0')) { - *(int *)(in_a0_lo + 0x20) = iVar2; - if (*(char *)((int)in_a0_lo + (0x4b - iVar4)) == '\0') { - if (*(char *)(psVar6 + 0x26) == '\0') { - *(int *)(in_a0_lo + 0x20) = - *(int *)(in_a0_lo + 0x20) + 0x28; - } - else { - *(int *)(in_a0_lo + 0x20) = - *(int *)(in_a0_lo + 0x20) + 0xb4; - } - } - else { - if (*(char *)(psVar6 + 0x26) == '\0') { - *(int *)(in_a0_lo + 0x20) = - *(int *)(in_a0_lo + 0x20) + 0x14; - } - else { - *(int *)(in_a0_lo + 0x20) = iVar2 + 0x5a; - } - } - *(int *)(in_a0_lo + 0x22) = 1 - *(int *)(in_a0_lo + 0x22); - proc_7F02D1C4((int)in_a0_lo,lVar5,1); - lVar5 = (longlong)(iVar4 + 1); - goto LAB_7f02fbf0; - } - } - proc_7F02D1C4((int)in_a0_lo,lVar5,0); - lVar5 = (longlong)(iVar4 + 1); - } - } -LAB_7f02fbf0: - psVar6 = (short *)((int)psVar6 + 1); - } while (lVar5 != 2); - } - } - else { - proc_7F029BB0((int)in_a0_lo); - proc_7F023E48((int)in_a0_lo); - } - } - return; -} - - - -undefined8 proc_7F02FC34(float *param_1,float *param_2,float *param_3,float param_4) - -{ - undefined8 uVar1; - float in_a3_lo; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar5 = *param_3 - *param_1; - fVar4 = param_3[2] - param_1[2]; - fVar2 = *param_2; - if (fVar2 == 0.00000000) { - if (param_2[2] == 0.00000000) { - if (in_a3_lo * in_a3_lo < fVar4 * fVar4 + fVar5 * fVar5) { - return 0; - } - return 1; - } - fVar3 = param_2[2]; - } - else { - fVar3 = param_2[2]; - } - uVar1 = 0; - fVar6 = fVar4 * fVar3 + fVar2 * fVar5; - if (0.00000000 < fVar6) { - if (((fVar4 * fVar4 + fVar5 * fVar5) - in_a3_lo * in_a3_lo) * - (fVar3 * fVar3 + fVar2 * fVar2) <= fVar6 * fVar6) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -undefined8 proc_7F02FD50(float *param_1,float *param_2,float *param_3,float param_4) - -{ - undefined8 uVar1; - float in_a3_lo; - float fVar2; - float fVar3; - float fStack12; - undefined4 uStack8; - float fStack4; - - fVar3 = *param_1; - fVar2 = *param_3 - in_a3_lo; - if ((fVar2 < fVar3) || (fVar2 < *param_2)) { - fVar2 = *param_3 + in_a3_lo; - if (fVar2 <= fVar3) { - if (fVar2 <= *param_2) { - return 0; - } - fVar2 = param_3[2]; - } - else { - fVar2 = param_3[2]; - } - if ((fVar2 - in_a3_lo < param_1[2]) || (fVar2 - in_a3_lo < param_2[2])) { - if (fVar2 + in_a3_lo <= param_1[2]) { - if (fVar2 + in_a3_lo <= param_2[2]) { - return 0; - } - fStack12 = *param_2; - } - else { - fStack12 = *param_2; - } - fStack12 = fStack12 - fVar3; - uStack8 = 0; - fStack4 = param_2[2] - param_1[2]; - uVar1 = proc_7F02FC34(param_1,&fStack12,param_3,in_a3_lo); - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F02FE78(void) - -{ - int iVar1; - longlong lVar2; - int iVar3; - int in_a0_lo; - float in_f0; - float extraout_f0; - float fVar4; - float fVar5; - float in_f12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float fVar6; - float fStack20; - - iVar1 = *(int *)(in_a0_lo + 0x1c); - *(int *)(in_a0_lo + 200) = global_timer; - if (*(char *)(in_a0_lo + 9) != '\x01') { - if (global_timer + -0x3c <= *(int *)(in_a0_lo + 0xcc)) { - lVar2 = proc_7F02FD50((float *)(in_a0_lo + 0xbc), - (float *)(*(int *)(in_a0_lo + 0x18) + 8), - (float *)(in_a0_lo + 0x2c),in_f12); - in_f0 = extraout_f0; - if (lVar2 == 0) { - proc_7F02F690(in_a0_lo,(float *)(in_a0_lo + 0x2c),1,(float *)(in_a0_lo + 0x40)); - if (0 < *(int *)(in_a0_lo + 0x3c)) { - *(int *)(in_a0_lo + 0x3c) = *(int *)(in_a0_lo + 0x3c) - clock_timer; - return; - } - fStack20 = dword_80030988; - iVar3 = proc_7F06F5AC(iVar1); - if (iVar3 == ptr_animation_table + 0x777c) { - fStack20 = dword_80030994; - } - fVar4 = proc_7F06F618(iVar1); - *(float *)(in_a0_lo + 0x38) = - *(float *)(in_a0_lo + 0x38) + fStack20 * global_timer_delta * fVar4; - return; - } - } - } - proc_7F06F5AC(iVar1); - proc_7F06F5BC(iVar1); - fVar4 = in_f0 - 0.00000000; - if (in_f0 < 0.00000000) { - iVar3 = proc_7F06F5AC(iVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar4 = fVar4 + fVar5; - } - iVar3 = proc_7F06F5AC(iVar1); - fVar5 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - if (fVar5 * 0.50000000 < fVar4) { - proc_7F06F5AC(iVar1); - proc_7F06FE90(iVar1,extraout_f12,extraout_f14); - } - else { - iVar3 = proc_7F06F5AC(iVar1); - fVar4 = (float)(uint)*(ushort *)(iVar3 + 4); - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar5 = extraout_f12_00; - fVar6 = extraout_f14_00; - if (fVar4 * 0.50000000 - 0.00000000 < 0.00000000) { - proc_7F06F5AC(iVar1); - fVar5 = extraout_f12_01; - fVar6 = extraout_f14_01; - } - proc_7F06FE90(iVar1,fVar5,fVar6); - } - proc_7F023E48(in_a0_lo); - return; -} - - - -undefined4 -proc_7F030128(int param_1,undefined4 *param_2,int param_3,undefined4 *param_4,int param_5, - undefined4 param_6) - -{ - int iVar1; - f32 extraout_f12; - f32 extraout_f14; - undefined4 uStack20; - undefined4 uStack16; - float fStack12; - undefined4 uStack8; - u32 uStack4; - - uStack8 = 0; - uStack4 = param_3; - proc_7F023160(*(int *)(param_1 + 0x18),&uStack20,&fStack12,&uStack16); - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - iVar1 = proc_7F0B0E24(&uStack4,extraout_f12,extraout_f14,(f32)*param_2); - if (iVar1 != 0) { - if (param_5 == 0) { - uStack8 = 1; - } - else { - if (uStack4 == param_5) { - uStack8 = 1; - } - } - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - return uStack8; -} - - - -undefined4 -proc_7F0301FC(int param_1,float *param_2,u32 param_3,float *param_4,float param_5,float param_6) - -{ - int iVar1; - float fVar2; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f12_01; - f32 extraout_f12_02; - f32 extraout_f14; - f32 extraout_f14_00; - f32 extraout_f14_01; - f32 extraout_f14_02; - undefined4 uStack44; - undefined4 uStack40; - float fStack36; - undefined4 uStack32; - float fStack16; - undefined4 uStack12; - float fStack8; - u32 uStack4; - - uStack32 = 0; - proc_7F023160(*(int *)(param_1 + 0x18),&uStack44,&fStack36,&uStack40); - fStack16 = *param_4 - *param_2; - uStack12 = 0; - fStack8 = param_4[2] - param_2[2]; - if ((fStack16 == 0.00000000) && (fStack8 == 0.00000000)) { - uStack32 = 1; - } - else { - fVar2 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar2); - fStack8 = fStack8 * (1.00000000 / fVar2); - param_6 = fStack8 * param_6; - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - uStack4 = param_3; - iVar1 = proc_7F0B0E24(&uStack4,extraout_f12,extraout_f14,(f32)*param_2); - if ((iVar1 != 0) && - (iVar1 = proc_7F0B0E24(&uStack4,extraout_f12_00,extraout_f14_00,(f32)(*param_2 + param_6) - ), iVar1 != 0)) { - uStack4 = param_3; - iVar1 = proc_7F0B0E24(&uStack4,extraout_f12_01,extraout_f14_01,(f32)*param_2); - if ((iVar1 != 0) && - (iVar1 = proc_7F0B0E24(&uStack4,extraout_f12_02,extraout_f14_02, - (f32)(*param_2 - param_6)), iVar1 != 0)) { - uStack32 = 1; - } - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - } - return uStack32; -} - - - -undefined4 -proc_7F0304AC(int param_1,undefined4 *param_2,int param_3,undefined4 *param_4,undefined4 *param_5, - int param_6,undefined4 param_7) - -{ - int iVar1; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f14; - f32 extraout_f14_00; - u32 uStack24; - undefined4 uStack20; - undefined4 uStack16; - float fStack12; - undefined4 uStack8; - u32 uStack4; - - uStack8 = 0; - uStack4 = param_3; - proc_7F023160(*(int *)(param_1 + 0x18),&uStack20,&fStack12,&uStack16); - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - iVar1 = proc_7F0B0E24(&uStack4,extraout_f12,extraout_f14,(f32)*param_2); - if (iVar1 != 0) { - uStack24 = uStack4; - iVar1 = proc_7F0B0E24(&uStack24,extraout_f12_00,extraout_f14_00,(f32)*param_4); - if (iVar1 != 0) { - if (param_6 == 0) { - uStack8 = 1; - } - else { - if (uStack24 == param_6) { - uStack8 = 1; - } - } - } - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - return uStack8; -} - - - -void proc_7F0305E0(int param_1,float *param_2,u32 param_3,float *param_4,float *param_5, - float param_6,undefined4 param_7) - -{ - int iVar1; - f32 extraout_f12; - f32 extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - f32 extraout_f14; - f32 extraout_f14_00; - u32 uStack24; - undefined4 uStack20; - undefined4 uStack16; - float fStack12; - undefined4 uStack8; - u32 uStack4; - - uStack8 = 0; - uStack4 = param_3; - proc_7F023160(*(int *)(param_1 + 0x18),&uStack20,&fStack12,&uStack16); - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - iVar1 = proc_7F0B0E24(&uStack4,extraout_f12,extraout_f14,(f32)*param_2); - if (iVar1 != 0) { - uStack24 = uStack4; - iVar1 = proc_7F0B0E24(&uStack24,extraout_f12_00,extraout_f14_00,(f32)*param_4); - if (iVar1 != 0) { - iVar1 = proc_7F0301FC(param_1,param_2,param_3,param_4,extraout_f12_01,param_7); - if (iVar1 != 0) { - iVar1 = proc_7F0301FC(param_1,param_4,uStack4,param_5,extraout_f12_02,param_7); - if (iVar1 != 0) { - uStack8 = 1; - } - } - } - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - return; -} - - - -void proc_7F03074C(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - - if ((param_2[2] - param_1[2]) * *param_3 + -param_3[2] * (*param_2 - *param_1) <= 0.00000000) { - fVar1 = *param_1; - fVar2 = param_1[1]; - fVar3 = param_1[2]; - *param_1 = *param_2; - param_1[1] = param_2[1]; - param_1[2] = param_2[2]; - *param_2 = fVar1; - param_2[1] = fVar2; - param_2[2] = fVar3; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f030b7c) overlaps instruction at (ram,0x7f030b78) -// - -undefined4 -proc_7F03081C(int param_1,float *param_2,u32 param_3,float *param_4,float *param_5,float *param_6, - float param_7,float param_8,undefined4 param_9) - -{ - int iVar2; - longlong lVar1; - float fVar3; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f12_01; - f32 extraout_f12_02; - f32 extraout_f12_03; - f32 fVar4; - f32 extraout_f14; - f32 extraout_f14_00; - f32 extraout_f14_01; - f32 extraout_f14_02; - f32 extraout_f14_03; - f32 fVar5; - float in_stack_0000001c; - undefined4 uStack108; - undefined4 uStack104; - float fStack100; - undefined4 uStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - int iStack44; - int iStack40; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - u32 uStack4; - - iStack40 = 0; - iStack44 = 0; - uStack96 = 0; - proc_7F023160(*(int *)(param_1 + 0x18),&uStack108,&fStack100,&uStack104); - uStack12 = 0; - fStack16 = *param_4 - *param_2; - fStack8 = param_4[2] - param_2[2]; - if ((fStack16 == 0.00000000) && (fStack8 == 0.00000000)) { - uStack96 = 1; - } - else { - fVar3 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar3); - fStack8 = fStack8 * (1.00000000 / fVar3); - fStack20 = fStack16 * in_stack_0000001c * flt_80052014; - fStack24 = fStack8 * in_stack_0000001c * flt_80052018; - fStack28 = fStack16 * in_stack_0000001c * flt_8005201C; - fStack32 = fStack8 * in_stack_0000001c * flt_80052020; - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - proc_7F0B1CC4(); - uStack4 = param_3; - iVar2 = proc_7F0B0E24(&uStack4,extraout_f12,extraout_f14,(f32)*param_2); - if ((iVar2 == 0) || - (iVar2 = proc_7F0B0E24(&uStack4,1.00000000,(f32)(*param_2 + fStack24), - (f32)(*param_2 + fStack24)), fVar4 = extraout_f12_00, - fVar5 = extraout_f14_00, iVar2 == 0)) { - iStack40 = 1; - proc_7F0B28B0(&fStack56,&fStack68); - proc_7F03074C(&fStack56,&fStack68,&fStack16); - fVar4 = extraout_f12_01; - fVar5 = extraout_f14_01; - } - uStack4 = param_3; - iVar2 = proc_7F0B0E24(&uStack4,fVar4,fVar5,(f32)*param_2); - if ((iVar2 == 0) || - (iVar2 = proc_7F0B0E24(&uStack4,1.00000000,fStack100,(f32)(*param_2 - fStack24)), - fVar4 = extraout_f12_02, fVar5 = extraout_f14_02, iVar2 == 0)) { - iStack44 = 1; - proc_7F0B28B0(&fStack80,&fStack92); - proc_7F03074C(&fStack80,&fStack92,&fStack16); - fVar4 = extraout_f12_03; - fVar5 = extraout_f14_03; - } - if ((iStack40 == 0) || (iStack44 == 0)) { - if (iStack40 == 0) { - if (iStack44 == 0) { - uStack4 = param_3; - iVar2 = proc_7F0B0E24(&uStack4,fVar4,fVar5,(f32)*param_2); - if ((iVar2 == 0) || (lVar1 = proc_7F0B18B8(), -1 < lVar1)) { - proc_7F0B28B0(param_5,param_6); - proc_7F03074C(param_5,param_6,&fStack16); - } - else { - uStack96 = 1; - } - } - else { - *param_5 = fStack80; - param_5[1] = fStack76; - param_5[2] = fStack72; - *param_6 = fStack92; - param_6[1] = fStack88; - param_6[2] = fStack84; - } - } - else { - *param_5 = fStack56; - param_5[1] = fStack52; - param_5[2] = fStack48; - *param_6 = fStack68; - param_6[1] = fStack64; - param_6[2] = fStack60; - } - } - else { - proc_7F03074C(&fStack56,&fStack80,&fStack16); - proc_7F03074C(&fStack68,&fStack92,&fStack16); - *param_5 = fStack56; - param_5[1] = fStack52; - param_5[2] = fStack48; - *param_6 = fStack92; - param_6[1] = fStack88; - param_6[2] = fStack84; - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - } - return uStack96; -} - - - -// WARNING: Instruction at (ram,0x7f0310dc) overlaps instruction at (ram,0x7f0310d8) -// - -undefined4 -proc_7F030D70(int param_1,float *param_2,u32 param_3,float *param_4,float *param_5,float *param_6, - float param_7,float param_8,undefined4 param_9) - -{ - int iVar2; - longlong lVar1; - float fVar3; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f12_01; - f32 extraout_f12_02; - f32 extraout_f12_03; - f32 fVar4; - f32 extraout_f14; - f32 extraout_f14_00; - f32 extraout_f14_01; - f32 extraout_f14_02; - f32 extraout_f14_03; - f32 fVar5; - float in_stack_0000001c; - undefined4 uStack116; - undefined4 uStack112; - float fStack108; - float fStack104; - float fStack100; - undefined4 uStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - int iStack44; - int iStack40; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - u32 uStack4; - - iStack40 = 0; - iStack44 = 0; - uStack96 = 0; - proc_7F023160(*(int *)(param_1 + 0x18),&uStack116,&fStack108,&uStack112); - uStack12 = 0; - fStack16 = *param_4 - *param_2; - fStack8 = param_4[2] - param_2[2]; - if ((fStack16 == 0.00000000) && (fStack8 == 0.00000000)) { - uStack96 = 1; - } - else { - fVar3 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fStack16 = fStack16 * (1.00000000 / fVar3); - fStack8 = fStack8 * (1.00000000 / fVar3); - fStack20 = fStack16 * in_stack_0000001c * flt_80052024; - fStack24 = fStack8 * in_stack_0000001c * flt_80052028; - fStack28 = fStack16 * in_stack_0000001c * flt_8005202C; - fStack32 = fStack8 * in_stack_0000001c * flt_80052030; - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,0); - proc_7F0B1CC4(); - uStack4 = param_3; - iVar2 = proc_7F0B0E24(&uStack4,extraout_f12,extraout_f14,(f32)*param_2); - if ((iVar2 == 0) || - (iVar2 = proc_7F0B0E24(&uStack4,1.00000000,(f32)(*param_2 + fStack24), - (f32)(*param_2 + fStack24)), fVar4 = extraout_f12_00, - fVar5 = extraout_f14_00, iVar2 == 0)) { - iStack40 = 1; - proc_7F0B28B0(&fStack56,&fStack68); - proc_7F03074C(&fStack56,&fStack68,&fStack16); - fStack100 = DAT_8007ba00; - fVar4 = extraout_f12_01; - fVar5 = extraout_f14_01; - } - uStack4 = param_3; - iVar2 = proc_7F0B0E24(&uStack4,fVar4,fVar5,(f32)*param_2); - if ((iVar2 == 0) || - (iVar2 = proc_7F0B0E24(&uStack4,1.00000000,fStack108,(f32)(*param_2 - fStack24)), - fVar4 = extraout_f12_02, fVar5 = extraout_f14_02, iVar2 == 0)) { - iStack44 = 1; - proc_7F0B28B0(&fStack80,&fStack92); - proc_7F03074C(&fStack80,&fStack92,&fStack16); - fStack104 = DAT_8007ba00; - fVar4 = extraout_f12_03; - fVar5 = extraout_f14_03; - } - if ((iStack40 == 0) || (iStack44 == 0)) { - if (iStack40 == 0) { - if (iStack44 == 0) { - uStack4 = param_3; - iVar2 = proc_7F0B0E24(&uStack4,fVar4,fVar5,(f32)*param_2); - if ((iVar2 == 0) || (lVar1 = proc_7F0B18B8(), -1 < lVar1)) { - proc_7F0B28B0(param_5,param_6); - proc_7F03074C(param_5,param_6,&fStack16); - } - else { - uStack96 = 1; - } - } - else { - *param_5 = fStack80; - param_5[1] = fStack76; - param_5[2] = fStack72; - *param_6 = fStack92; - param_6[1] = fStack88; - param_6[2] = fStack84; - } - } - else { - *param_5 = fStack56; - param_5[1] = fStack52; - param_5[2] = fStack48; - *param_6 = fStack68; - param_6[1] = fStack64; - param_6[2] = fStack60; - } - } - else { - if (fStack100 < fStack104) { - *param_5 = fStack56; - param_5[1] = fStack52; - param_5[2] = fStack48; - *param_6 = fStack68; - param_6[1] = fStack64; - param_6[2] = fStack60; - } - else { - *param_5 = fStack80; - param_5[1] = fStack76; - param_5[2] = fStack72; - *param_6 = fStack92; - param_6[1] = fStack88; - param_6[2] = fStack84; - } - } - set_or_unset_GUARDdata_flag((GUARDdata *)param_1,1); - } - return uStack96; -} - - - -ulonglong proc_7F03130C(int param_1,float *param_2,longlong param_3,float *param_4,float param_5, - int param_6,undefined4 *param_7,int param_8,float param_9,int param_10, - int param_11) - -{ - int iVar2; - ulonglong uVar1; - float *pfVar3; - float fVar4; - float __x; - float fVar5; - float fVar6; - float extraout_f12; - float extraout_f14; - undefined4 in_stack_00000024; - int in_stack_00000028; - float *pfStack56; - float *pfStack52; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - iStack4 = *(int *)(param_1 + 0x18); - pfStack56 = param_2; - pfStack52 = param_4; - if (param_3 != 0) { - pfStack56 = param_4; - pfStack52 = param_2; - } - fStack16 = *param_2 - *(float *)(iStack4 + 8); - uStack12 = 0; - fStack8 = param_2[2] - *(float *)(iStack4 + 0x10); - fVar4 = sqrtf(fStack8 * fStack8 + fStack16 * fStack16); - fVar5 = (float)param_6 * (1.00000000 / fVar4); - fStack16 = fStack16 * fVar5; - fStack8 = fStack8 * fVar5; - __x = flt_80052034; - if (fVar5 <= 1.00000000) { - __x = proc_7F05ACB0((float)param_6 * (1.00000000 / fVar4)); - } - if (((int)param_3 == 0) && (__x != 0.00000000)) { - __x = flt_80052038 - __x; - } - fVar4 = cosf(__x); - fVar5 = sinf(__x); - fVar6 = -fVar4 * fStack16; - fVar5 = fStack8 * fVar5; - fVar4 = sinf(__x); - __x = cosf(__x); - pfVar3 = (float *)(iStack4 + 8); - fStack28 = fVar5 + fVar6 + *param_2; - fStack24 = param_2[1]; - fStack20 = (-fVar4 * fStack16 - fStack8 * __x) + param_2[2]; - iVar2 = proc_7F03081C(param_1,pfVar3,*(undefined4 *)(iStack4 + 0x14),&fStack28,pfStack52, - pfStack56,extraout_f12,extraout_f14,param_11); - if (iVar2 == 0) { - uVar1 = 0; - } - else { - if ((param_7 == NULL) || - (iVar2 = proc_7F0304AC(param_1,pfVar3,*(int *)(iStack4 + 0x14),&fStack28, - (undefined4 *)param_8,0,in_stack_00000024), iVar2 != 0)) { - if (in_stack_00000028 == 0) { - *(undefined *)(param_10 + 2) = 1; - *(float *)(param_10 + 4) = fStack28; - *(float *)(param_10 + 8) = fStack24; - *(float *)(param_10 + 0xc) = fStack20; - uVar1 = 1; - } - else { - *(undefined *)(param_10 + 3) = 1; - *(float *)(param_10 + 0x2c) = fStack28; - *(float *)(param_10 + 0x30) = fStack24; - *(float *)(param_10 + 0x34) = fStack20; - uVar1 = 1; - } - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -void proc_7F0315A4(int param_1,float *param_2,undefined8 param_3,char *param_4) - -{ - int iVar2; - ulonglong uVar1; - char *pcVar3; - int iVar4; - char cVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float in_f12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float fVar11; - float extraout_f12_09; - float extraout_f12_10; - float in_f14; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - float extraout_f14_05; - float extraout_f14_06; - float extraout_f14_07; - float extraout_f14_08; - float extraout_f14_09; - float extraout_f14_10; - float extraout_f14_11; - float fVar12; - int iStack32; - float afStack28 [2]; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - - fVar10 = flt_80052040; - fVar9 = flt_8005203C; - iVar4 = *(int *)(param_1 + 0x18); - iStack32 = 0; - do { - cVar5 = *param_4; - if (cVar5 == '\0') { - fStack16 = *param_2; -LAB_7f03164c: - fStack12 = param_2[1]; - fStack8 = param_2[2]; - iVar2 = proc_7F03081C(param_1,(float *)(iVar4 + 8),*(undefined4 *)(iVar4 + 0x14), - &fStack16,(float *)(param_4 + 0x10),(float *)(param_4 + 0x1c), - in_f12,in_f14,-*(float *)(param_1 + 0x24)); - in_f12 = extraout_f12; - in_f14 = extraout_f14; - if (iVar2 == 0) { - if (*param_4 == '\0') { - *param_4 = '\x01'; - param_4[1] = '\0'; - } - else { - if (*param_4 == '\x02') { - *param_4 = '\x03'; - param_4[1] = '\0'; - } - } - } - else { - param_4[2] = '\x01'; - *(float *)(param_4 + 4) = fStack16; - *(float *)(param_4 + 8) = fStack12; - *param_4 = '\x04'; - *(float *)(param_4 + 0xc) = fStack8; - } - } - else { - if (cVar5 == '\x02') { - fStack16 = *param_2; - goto LAB_7f03164c; - } - if (cVar5 == '\x01') { - fVar11 = *(float *)(param_1 + 0x24) * flt_80052044 * flt_80052048; - uVar1 = proc_7F03130C(param_1,(float *)(param_4 + 0x10),1,afStack28,in_f12, - (int)fVar11,(undefined4 *)((int)&rgba + 1),(int)param_2,in_f14 - ,param_4,0); - if (uVar1 == 0) { - uVar1 = proc_7F03130C(param_1,(float *)(param_4 + 0x1c),0,afStack28, - extraout_f12_00,(int)fVar11,(undefined4 *)((int)&rgba + 1) - ,(int)param_2,extraout_f14_00,param_4,0); - in_f12 = extraout_f12_01; - in_f14 = extraout_f14_01; - if (uVar1 == 0) { - param_4[1] = param_4[1] + '\x01'; - if ('\x05' < param_4[1]) { - *param_4 = '\x02'; - } - } - else { - *param_4 = '\x04'; - } - } - else { - *param_4 = '\x04'; - in_f12 = extraout_f12_00; - in_f14 = extraout_f14_00; - } - } - else { - if (cVar5 == '\x03') { - fVar11 = *(float *)(param_1 + 0x24) * flt_8005204C * flt_80052050; - uVar1 = proc_7F03130C(param_1,(float *)(param_4 + 0x10),1,afStack28,in_f12, - (int)fVar11,NULL,0,in_f14,param_4,0); - if (uVar1 == 0) { - uVar1 = proc_7F03130C(param_1,(float *)(param_4 + 0x1c),0,afStack28, - extraout_f12_02,(int)fVar11,NULL,0,extraout_f14_02, - param_4,0); - in_f12 = extraout_f12_03; - in_f14 = extraout_f14_03; - if (uVar1 == 0) { - param_4[1] = param_4[1] + '\x01'; - if ('\x05' < param_4[1]) { - param_4[2] = '\0'; - param_4[3] = param_4[2]; - fVar11 = *param_2; - *(float *)(param_4 + 4) = fVar11; - *(float *)(param_4 + 0x2c) = fVar11; - fVar11 = param_2[1]; - *(float *)(param_4 + 8) = fVar11; - *(float *)(param_4 + 0x30) = fVar11; - fVar11 = param_2[2]; - *param_4 = '\0'; - *(float *)(param_4 + 0xc) = fVar11; - *(float *)(param_4 + 0x34) = fVar11; - } - } - else { - *param_4 = '\x04'; - } - } - else { - *param_4 = '\x04'; - in_f12 = extraout_f12_02; - in_f14 = extraout_f14_02; - } - } - else { - if (cVar5 == '\x04') { - iVar2 = proc_7F030D70(param_1,(float *)(iVar4 + 8), - *(undefined4 *)(iVar4 + 0x14),(float *)(param_4 + 4), - (float *)(param_4 + 0x10),(float *)(param_4 + 0x1c), - in_f12,in_f14,-*(float *)(param_1 + 0x24)); - in_f12 = extraout_f12_04; - in_f14 = extraout_f14_04; - if (iVar2 == 0) { - *param_4 = '\x05'; - param_4[1] = '\0'; - } - else { - param_4[3] = '\x01'; - *param_4 = '\0'; - *(undefined4 *)(param_4 + 0x2c) = *(undefined4 *)(param_4 + 4); - *(undefined4 *)(param_4 + 0x30) = *(undefined4 *)(param_4 + 8); - *(undefined4 *)(param_4 + 0x34) = *(undefined4 *)(param_4 + 0xc); - } - } - else { - if (cVar5 == '\x05') { - fVar12 = *(float *)(param_1 + 0x24) * flt_80052054 * flt_80052058; - fVar11 = convert_angle_using_inverse - ((f32)(*(float *)(param_4 + 4) - - *(float *)(iVar4 + 8)), - (f32)(*(float *)(param_4 + 0xc) - - *(float *)(iVar4 + 0x10))); - fVar6 = convert_angle_using_inverse - ((f32)(*(float *)(param_4 + 0x10) - - *(float *)(iVar4 + 8)), - (f32)(*(float *)(param_4 + 0x18) - - *(float *)(iVar4 + 0x10))); - fVar6 = fVar11 - fVar6; - fVar7 = convert_angle_using_inverse - ((f32)(*(float *)(param_4 + 0x1c) - - *(float *)(iVar4 + 8)), - (f32)(*(float *)(param_4 + 0x24) - - *(float *)(iVar4 + 0x10))); - fVar7 = fVar11 - fVar7; - if (fVar6 < 0.00000000) { - fVar6 = fVar6 + fVar10; - } - if (fVar9 <= fVar6) { - fVar6 = fVar6 - fVar10; - } - if (fVar6 < 0.00000000) { - fVar6 = -fVar6; - } - fVar8 = fVar7; - if (fVar7 < 0.00000000) { - fVar8 = fVar7 + fVar10; - } - if (fVar9 <= fVar8) { - fVar8 = fVar8 - fVar10; - } - if (fVar8 < 0.00000000) { - fVar8 = -fVar8; - } - if (fVar6 < fVar8) { - fVar6 = fVar12 * flt_8005205C; - uVar1 = proc_7F03130C(param_1,(float *)(param_4 + 0x10),1,afStack28, - fVar7,(int)fVar12,NULL,0,extraout_f14_05, - param_4,(int)fVar6); - if (uVar1 != 0) { - *param_4 = '\0'; - in_f12 = extraout_f12_05; - in_f14 = extraout_f14_06; - break; - } - fVar7 = convert_angle_using_inverse - ((f32)(*(float *)(param_4 + 0x10) - - *(float *)(iVar4 + 8)), - (f32)(*(float *)(param_4 + 0x18) - - *(float *)(iVar4 + 0x10))); - fVar7 = fVar11 - fVar7; - fVar8 = convert_angle_using_inverse - ((f32)(afStack28[0] - *(float *)(iVar4 + 8)), - (f32)(fStack20 - *(float *)(iVar4 + 0x10))); - in_f12 = fVar11 - fVar8; - if (fVar7 < 0.00000000) { - fVar7 = fVar7 + fVar10; - } - if (fVar9 <= fVar7) { - fVar7 = fVar7 - fVar10; - } - if (fVar7 < 0.00000000) { - fVar7 = -fVar7; - } - fVar11 = in_f12; - if (in_f12 < 0.00000000) { - fVar11 = in_f12 + fVar10; - } - if (fVar9 <= fVar11) { - fVar11 = fVar11 - fVar10; - } - if (fVar11 < 0.00000000) { - fVar11 = -fVar11; - } - if (fVar11 < fVar7) { - uVar1 = proc_7F03130C(param_1,afStack28,0,afStack28,in_f12, - (int)fVar12,NULL,0,extraout_f14_07,param_4 - ,(int)fVar6); - in_f12 = extraout_f12_06; - in_f14 = extraout_f14_08; - if (uVar1 != 0) { - *param_4 = '\0'; - break; - } - cVar5 = param_4[1]; - } - else { - cVar5 = param_4[1]; - in_f14 = extraout_f14_07; - } - } - else { - fVar6 = fVar12 * flt_80052060; - uVar1 = proc_7F03130C(param_1,(float *)(param_4 + 0x1c),0,afStack28, - fVar7,(int)fVar12,NULL,0,extraout_f14_05, - param_4,(int)fVar6); - if (uVar1 != 0) { - *param_4 = '\0'; - in_f12 = extraout_f12_07; - in_f14 = extraout_f14_09; - break; - } - fVar7 = convert_angle_using_inverse - ((f32)(*(float *)(param_4 + 0x1c) - - *(float *)(iVar4 + 8)), - (f32)(*(float *)(param_4 + 0x24) - - *(float *)(iVar4 + 0x10))); - fVar7 = fVar11 - fVar7; - fVar8 = convert_angle_using_inverse - ((f32)(afStack28[0] - *(float *)(iVar4 + 8)), - (f32)(fStack20 - *(float *)(iVar4 + 0x10))); - in_f12 = fVar11 - fVar8; - if (fVar7 < 0.00000000) { - fVar7 = fVar7 + fVar10; - } - if (fVar9 <= fVar7) { - fVar7 = fVar7 - fVar10; - } - if (fVar7 < 0.00000000) { - fVar7 = -fVar7; - } - fVar11 = in_f12; - if (in_f12 < 0.00000000) { - fVar11 = in_f12 + fVar10; - } - if (fVar9 <= fVar11) { - fVar11 = fVar11 - fVar10; - } - if (fVar11 < 0.00000000) { - fVar11 = -fVar11; - } - if (fVar11 < fVar7) { - uVar1 = proc_7F03130C(param_1,afStack28,1,afStack28,in_f12, - (int)fVar12,NULL,0,extraout_f14_10,param_4 - ,(int)fVar6); - in_f12 = extraout_f12_08; - in_f14 = extraout_f14_11; - if (uVar1 != 0) { - *param_4 = '\0'; - break; - } - cVar5 = param_4[1]; - } - else { - cVar5 = param_4[1]; - in_f14 = extraout_f14_10; - } - } - param_4[1] = cVar5 + '\x01'; - if ('\x05' < param_4[1]) { - param_4[3] = '\0'; - *param_4 = '\0'; - } - } - } - } - } - } - iStack32 += 1; - } while (iStack32 != 1); - if (param_4[3] == '\0') { - *(undefined4 *)(param_4 + 0x2c) = *(undefined4 *)(param_4 + 4); - *(undefined4 *)(param_4 + 0x30) = *(undefined4 *)(param_4 + 8); - *(undefined4 *)(param_4 + 0x34) = *(undefined4 *)(param_4 + 0xc); - iVar2 = *(int *)(param_4 + 0x28); - } - else { - iVar2 = *(int *)(param_4 + 0x28); - } - if (iVar2 % 10 == 0) { - pcVar3 = proc_7F0B1410(*(int *)(iVar4 + 0x14),in_f12,in_f14,*(float *)(iVar4 + 8), - *(float *)(iVar4 + 0x10),*(uint *)(param_4 + 0x2c)); - if (pcVar3 != NULL) { - if (*(int *)(*(int *)(pcVar3 + 4) + 0xc) << 2 < 0) { - pcVar3 = NULL; - } - else { - fVar9 = *(float *)(pcVar3 + 8) - *(float *)(iVar4 + 8); - fVar10 = *(float *)(pcVar3 + 0xc) - *(float *)(iVar4 + 0xc); - fVar11 = *(float *)(pcVar3 + 0x10) - *(float *)(iVar4 + 0x10); - if (fVar9 * fVar9 + fVar10 * fVar10 + fVar11 * fVar11 < flt_80052064) { - proc_7F0281F4(param_1); - proc_7F055B78(iVar4,*(int *)(pcVar3 + 4)); - proc_7F054988(*(int *)(pcVar3 + 4),1); - if ((((*(ushort *)(param_1 + 0x12) & 0x10) == 0) && - (iVar4 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), - iVar4 != ptr_animation_table + 0x8194)) && - (iVar4 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), - iVar4 != ptr_animation_table + 0x1c)) { - proc_7F023948(param_1,extraout_f12_09); - *(undefined4 *)(param_1 + 0xcc) = global_timer; - } - } - else { - pcVar3 = NULL; - } - } - } - if ((pcVar3 == NULL) || ((*(ushort *)(param_1 + 0x12) & 0x10) != 0)) { - iVar4 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)); - if ((iVar4 == ptr_animation_table + 0x8194) || - (iVar4 = proc_7F06F5AC(*(int *)(param_1 + 0x1c)), iVar4 == ptr_animation_table + 0x1c - )) { - if (*(char *)(param_1 + 7) == '\x0e') { - proc_7F028FAC(param_1); - } - else { - proc_7F028DA0(param_1); - } - } - if (pcVar3 == NULL) { - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xffef; - cVar5 = *(char *)(param_1 + 7); - } - else { - cVar5 = *(char *)(param_1 + 7); - } - } - else { - cVar5 = *(char *)(param_1 + 7); - } - } - else { - cVar5 = *(char *)(param_1 + 7); - } - if (cVar5 == '\x0e') { - proc_7F02F690(param_1,(float *)(param_4 + 0x2c),0,(float *)(param_1 + 0x7c)); - } - else { - proc_7F02F690(param_1,(float *)(param_4 + 0x2c),(uint)*(byte *)(param_1 + 0x59), - (float *)(param_1 + 0xa0)); - if (*(char *)(param_1 + 0x59) == '\x02') { - if (*(float *)(param_1 + 0xa0) == 0.00000000) { - if (*(int *)(param_1 + 0x14) << 0xc < 0) { - proc_7F06FE4C(*(int *)(param_1 + 0x1c),0x3f266666,extraout_f12_10); - } - else { - proc_7F06FE4C(*(int *)(param_1 + 0x1c),0x3f000000,extraout_f12_10); - } - } - else { - proc_7F06FE4C(*(int *)(param_1 + 0x1c),0x3e800000,extraout_f12_10); - } - } - else { - if (*(char *)(param_1 + 0x59) == '\x01') { - if (*(float *)(param_1 + 0xa0) == 0.00000000) { - proc_7F06FE4C(*(int *)(param_1 + 0x1c),0x3f000000,extraout_f12_10); - } - else { - proc_7F06FE4C(*(int *)(param_1 + 0x1c),0x3ecccccd,extraout_f12_10); - } - } - } - } - return; -} - - - -void proc_7F032088(void) - -{ - int *piVar1; - bool bVar2; - longlong in_v0; - longlong lVar3; - int iVar4; - int in_a0_lo; - uint uVar5; - float *pfVar6; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float fVar7; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float *pfStack92; - int iStack52; - float afStack48 [3]; - int iStack36; - float afStack32 [3]; - int iStack20; - int iStack16; - float fStack12; - float *pfStack8; - - iStack16 = *(int *)(in_a0_lo + 0x18); - iStack20 = 0; - *(int *)(in_a0_lo + 0x84) = *(int *)(in_a0_lo + 0x84) + 1; - *(int *)(in_a0_lo + 200) = global_timer; - if (*(int *)(in_a0_lo + 0xcc) < global_timer + -0x3c) { - in_v0 = proc_7F028DDC(in_a0_lo,(float *)(in_a0_lo + 0x2c),*(undefined4 *)(in_a0_lo + 0x38), - *(char *)(in_a0_lo + 0x59)); - } - proc_7F0281FC(in_a0_lo); - fVar7 = extraout_f12; - if ((*(char *)(in_a0_lo + 0x5c) != '\x06') && (*(int *)(in_a0_lo + 0x9c) + 0xb4 < global_timer)) - { - proc_7F027F20(in_a0_lo,afStack32,&iStack36); - proc_7F027DB0(in_a0_lo,afStack32,iStack36); - fVar7 = extraout_f12_00; - if (in_v0 != 0) { - iStack20 = 1; - proc_7F027E90(in_a0_lo,(undefined *)(in_a0_lo + 0x5c),afStack32); - fVar7 = extraout_f12_01; - } - } - iVar4 = iStack16; - if (9 < (int)setting_007_5) { - proc_7F023E48(in_a0_lo); - return; - } - if (*(char *)(in_a0_lo + 0x5c) == '\x06') { - proc_7F027F20(in_a0_lo,afStack48,&iStack52); - if ((iStack20 == 0) && - (((*(byte *)(iStack16 + 1) & 2) != 0 || - (proc_7F027DB0(in_a0_lo,afStack48,iStack52), in_v0 == 0)))) { - proc_7F02828C(in_a0_lo); - *(int *)(in_a0_lo + 0x9c) = global_timer; - return; - } - pfVar6 = (float *)proc_7F027FA8(in_a0_lo); - proc_7F028600(in_a0_lo,(undefined *)(in_a0_lo + 0x5c),extraout_f12_02,pfVar6,(int)afStack48) - ; - return; - } - piVar1 = *(int **)(in_a0_lo + (uint)*(byte *)(in_a0_lo + 0x58) * 4 + 0x40); - if (piVar1 == NULL) { - lVar3 = proc_7F02FD50((float *)(in_a0_lo + 0xbc),(float *)(iStack16 + 8), - (float *)(in_a0_lo + 0x2c),fVar7); - bVar2 = false; - if (lVar3 != 0) { - proc_7F023E48(in_a0_lo); - return; - } - } - else { - lVar3 = proc_7F02FD50((float *)(in_a0_lo + 0xbc),(float *)(iStack16 + 8), - (float *)(ptr_0xxxpresets + *piVar1 * 0x2c),fVar7); - bVar2 = false; - if (lVar3 != 0) { - bVar2 = true; - } - } - pfStack92 = (float *)(iVar4 + 8); - if (bVar2) { - proc_7F0282E0(in_a0_lo); - } - if (*(int *)(in_a0_lo + 0x84) % 10 == 5) { - iVar4 = in_a0_lo + (uint)*(byte *)(in_a0_lo + 0x58) * 4; - if (*(int *)(in_a0_lo + (uint)*(byte *)(in_a0_lo + 0x58) * 4 + 0x40) == 0) { - iVar4 = *(int *)(in_a0_lo + 0x84); - } - else { - if (*(int *)(iVar4 + 0x44) == 0) { - iVar4 = *(int *)(in_a0_lo + 0x84); - } - else { - piVar1 = *(int **)(iVar4 + 0x48); - pfStack8 = (float *)(in_a0_lo + 0x2c); - if (piVar1 == NULL) { - fStack12 = *(float *)(in_a0_lo + 0x38); - } - else { - pfStack8 = (float *)(ptr_0xxxpresets + *piVar1 * 0x2c); - fStack12 = pfStack8[10]; - } - iVar4 = proc_7F030128(in_a0_lo,pfStack92,*(int *)(iStack16 + 0x14),pfStack8, - (int)fStack12,0x10); - if (iVar4 != 0) { - iVar4 = proc_7F0301FC(in_a0_lo,pfStack92,*(undefined4 *)(iStack16 + 0x14), - pfStack8,extraout_f12_03, - *(float *)(in_a0_lo + 0x24) * flt_80052068); - if (iVar4 == 0) { - iVar4 = *(int *)(in_a0_lo + 0x84); - goto LAB_7f0323e0; - } - proc_7F0282E0(in_a0_lo); - proc_7F0282E0(in_a0_lo); - } - iVar4 = *(int *)(in_a0_lo + 0x84); - } - } - } - else { - iVar4 = *(int *)(in_a0_lo + 0x84); - } -LAB_7f0323e0: - if (iVar4 % 10 == 0) { - if (*(int *)(in_a0_lo + (uint)*(byte *)(in_a0_lo + 0x58) * 4 + 0x40) != 0) { - piVar1 = *(int **)(in_a0_lo + (uint)*(byte *)(in_a0_lo + 0x58) * 4 + 0x44); - pfStack8 = (float *)(in_a0_lo + 0x2c); - if (piVar1 == NULL) { - fStack12 = *(float *)(in_a0_lo + 0x38); - } - else { - pfStack8 = (float *)(ptr_0xxxpresets + *piVar1 * 0x2c); - fStack12 = pfStack8[10]; - } - iVar4 = proc_7F030128(in_a0_lo,pfStack92,*(int *)(iStack16 + 0x14),pfStack8, - (int)fStack12,0x10); - if (iVar4 != 0) { - iVar4 = proc_7F0301FC(in_a0_lo,pfStack92,*(undefined4 *)(iStack16 + 0x14),pfStack8, - extraout_f12_04,*(float *)(in_a0_lo + 0x24) * flt_8005206C); - if (iVar4 == 0) { - uVar5 = (uint)*(byte *)(in_a0_lo + 0x58); - goto LAB_7f0324d4; - } - proc_7F0282E0(in_a0_lo); - } - } - uVar5 = (uint)*(byte *)(in_a0_lo + 0x58); - } - else { - uVar5 = (uint)*(byte *)(in_a0_lo + 0x58); - } -LAB_7f0324d4: - pfStack8 = (float *)(in_a0_lo + 0x2c); - piVar1 = *(int **)(in_a0_lo + uVar5 * 4 + 0x40); - if (piVar1 == NULL) { - fVar7 = *(float *)(in_a0_lo + 0x38); - } - else { - pfStack8 = (float *)(ptr_0xxxpresets + *piVar1 * 0x2c); - fVar7 = pfStack8[10]; - } - proc_7F0315A4(in_a0_lo,pfStack8,(longlong)(int)fVar7,(char *)(in_a0_lo + 0x5c)); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03261c) overlaps instruction at (ram,0x7f032618) -// - -void proc_7F032548(int param_1) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - char cVar4; - float *pfVar5; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float fVar6; - - iVar1 = *(int *)(param_1 + 0x18); - pfVar5 = (float *)proc_7F028474(param_1); - lVar3 = (longlong)(int)pfVar5; - bVar2 = false; - *(int *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) + 1; - *(int *)(param_1 + 200) = global_timer; - fVar6 = extraout_f12; - if (*(char *)(param_1 + 0x38) != '\x06') { - if (global_timer <= *(int *)(param_1 + 0x78) + 0xb4) { - cVar4 = *(char *)(param_1 + 0x38); - goto LAB_7f0325dc; - } - proc_7F027E70(param_1,pfVar5); - fVar6 = extraout_f12_00; - if (lVar3 != 0) { - bVar2 = true; - proc_7F027E90(param_1,(undefined *)(param_1 + 0x38),pfVar5); - fVar6 = extraout_f12_01; - } - } - cVar4 = *(char *)(param_1 + 0x38); -LAB_7f0325dc: - if (cVar4 == '\x06') { - if ((bVar2) || - (((*(byte *)(iVar1 + 1) & 2) == 0 && - (proc_7F027E70(param_1,pfVar5), fVar6 = extraout_f12_02, lVar3 != 0)))) { - proc_7F028600(param_1,(undefined *)(param_1 + 0x38),fVar6,dword_80030984,(int)pfVar5); - } - else { - *(int *)(param_1 + 0x78) = global_timer; - proc_7F028494(param_1); - } - } - else { - lVar3 = proc_7F02FD50((float *)(param_1 + 0xbc),(float *)(iVar1 + 8),pfVar5,fVar6); - if (lVar3 != 0) { - proc_7F0284DC(param_1); - pfVar5 = (float *)proc_7F028474(param_1); - } - proc_7F0315A4(param_1,pfVar5,(longlong)(int)pfVar5[10],(char *)(param_1 + 0x38)); - } - return; -} - - - -void proc_7F0326BC(int param_1) - -{ - char cVar1; - ushort uVar2; - char cVar3; - uint uVar4; - float in_f12; - - if (clock_timer < 1) { - return; - } - if (*(char *)(param_1 + 7) == '\0') { - *(uint *)(param_1 + 0x14) = *(uint *)(param_1 + 0x14) | 1; - proc_7F023A94(param_1,in_f12); - *(undefined *)(param_1 + 8) = 0; - uVar2 = *(ushort *)(param_1 + 0x12); - } - else { - uVar2 = *(ushort *)(param_1 + 0x12); - } - cVar3 = (char)clock_timer; - if ((uVar2 & 0x40) == 0) { - cVar1 = *(char *)(param_1 + 8); - } - else { - *(int *)(param_1 + 0x110) = *(int *)(param_1 + 0x110) + clock_timer; - cVar3 = (char)clock_timer; - cVar1 = *(char *)(param_1 + 8); - } - *(char *)(param_1 + 8) = cVar1 - cVar3; - if ((-1 < *(char *)(param_1 + 8)) && (-1 < *(int *)(param_1 + 0x14) << 0xd)) { - return; - } - *(undefined *)(param_1 + 8) = 0; - parse_handle_actionblocks(); - if (false) goto switchD_7f032780_caseD_11; - switch(*(undefined *)(param_1 + 7)) { - case 1: - proc_7F02AD98(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 2: - proc_7F02B4E0(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 3: - proc_7F02B4E8(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 4: - proc_7F02B9A4(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 5: - proc_7F02B774(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 6: - proc_7F02BC80(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 7: - proc_7F02BD20(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 8: - proc_7F02EBFC(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 9: - proc_7F02F888(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 10: - proc_7F02EEE0(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xb: - proc_7F02BDA4(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xc: - proc_7F02BE00(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xd: - proc_7F02FE78(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xe: - proc_7F032548(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0xf: - proc_7F032088(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x10: - proc_7F02B638(param_1); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x12: - proc_7F02BF24(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x13: - proc_7F02BEA8(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x14: - proc_7F02F3F8(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x16: - proc_7F02BE58(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x17: - proc_7F02F5A4(); - uVar4 = *(uint *)(param_1 + 0x14); - break; - case 0x18: - proc_7F02F688(); - default: -switchD_7f032780_caseD_11: - uVar4 = *(uint *)(param_1 + 0x14); - } - *(uint *)(param_1 + 0x14) = uVar4 & 0xfffffffb; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) & 0xfdfd; - *(undefined2 *)(param_1 + 0x118) = 0xffff; - *(undefined2 *)(param_1 + 0x11a) = 0xffff; - return; -} - - - -// WARNING: Instruction at (ram,0x7f032a0c) overlaps instruction at (ram,0x7f032a08) -// - -void proc_7F03291C(void) - -{ - uint uVar1; - int iVar2; - uint uVar3; - GUARDdata *pGVar4; - u16 *puVar5; - u16 *puVar6; - u16 *puVar7; - u16 *puVar8; - int iVar9; - - uVar1 = get_numguards(); - iVar2 = 0; - iVar9 = 0; - if (0 < objectiveregisters3) { - do { - proc_7F0326BC(iVar9 + objectiveregisters2); - iVar2 += 1; - iVar9 += 0x1dc; - } while (iVar2 < objectiveregisters3); - } - uVar3 = 0; - setting_007_5 = 0.00000000; - if (0 < (int)uVar1) { - pGVar4 = ptr_guard_data; - if ((uVar1 & 3) == 0) { - iVar2 = 0; - } - else { - do { - uVar3 += 1; - if (((pGVar4->MODELdata_pointer != 0) && (0 < pGVar4->last_bond_detection_time)) && - (global_timer - pGVar4->last_bond_detection_time < 0x78)) { - setting_007_5 = (f32)((int)setting_007_5 + 1); - } - pGVar4 = pGVar4 + 1; - } while ((uVar1 & 3) != uVar3); - iVar2 = uVar3 * 0x10; - if (uVar3 == uVar1) { - return; - } - } - iVar2 = iVar2 * 8 + uVar3 * -9; - iVar9 = iVar2 * 4; - puVar5 = &ptr_guard_data->chrnum + iVar2 * 2; - puVar8 = puVar5 + 0x2ca; - puVar6 = puVar5 + 0xee; - puVar7 = puVar5 + 0x1dc; - do { - iVar9 += 0x770; - if (*(int *)(puVar5 + 0xe) == 0) { - iVar2 = *(int *)(puVar6 + 0xe); - } - else { - if (*(int *)(puVar5 + 0x6a) < 1) { - iVar2 = *(int *)(puVar6 + 0xe); - } - else { - if (global_timer - *(int *)(puVar5 + 0x6a) < 0x78) { - setting_007_5 = (f32)((int)setting_007_5 + 1); - iVar2 = *(int *)(puVar6 + 0xe); - } - else { - iVar2 = *(int *)(puVar6 + 0xe); - } - } - } - puVar5 = puVar5 + 0x3b8; - if (iVar2 == 0) { -LAB_7f032ad0: - iVar2 = *(int *)(puVar7 + 0xe); - } - else { - if (*(int *)(puVar6 + 0x6a) < 1) { - iVar2 = *(int *)(puVar7 + 0xe); - } - else { - if (global_timer - *(int *)(puVar6 + 0x6a) < 0x78) { - setting_007_5 = (f32)((int)setting_007_5 + 1); - goto LAB_7f032ad0; - } - iVar2 = *(int *)(puVar7 + 0xe); - } - } - if (iVar2 == 0) { - iVar2 = *(int *)(puVar8 + 0xe); - } - else { - if (*(int *)(puVar7 + 0x6a) < 1) { - iVar2 = *(int *)(puVar8 + 0xe); - } - else { - if (global_timer - *(int *)(puVar7 + 0x6a) < 0x78) { - setting_007_5 = (f32)((int)setting_007_5 + 1); - iVar2 = *(int *)(puVar8 + 0xe); - } - else { - iVar2 = *(int *)(puVar8 + 0xe); - } - } - } - if (((iVar2 != 0) && (0 < *(int *)(puVar8 + 0x6a))) && - (global_timer - *(int *)(puVar8 + 0x6a) < 0x78)) { - setting_007_5 = (f32)((int)setting_007_5 + 1); - } - puVar8 = puVar8 + 0x3b8; - puVar6 = puVar6 + 0x3b8; - puVar7 = puVar7 + 0x3b8; - } while (iVar9 != uVar1 * 0x1dc); - } - return; -} - - - -undefined8 proc_7F032B68(int param_1) - -{ - if ((0 < *(int *)(param_1 + 0xd4)) && (global_timer - *(int *)(param_1 + 0xd4) < 600)) { - return 1; - } - return 0; -} - - - -undefined8 proc_7F032BA0(int param_1) - -{ - if ((0 < *(int *)(param_1 + 0xf0)) && (global_timer - *(int *)(param_1 + 0xf0) < 600)) { - return 1; - } - return 0; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -float proc_7F032BD8(void) - -{ - int in_a0_lo; - float *in_a1_lo; - undefined4 in_a2_lo; - undefined4 in_a3_lo; - float in_f0; - float fVar1; - float fVar2; - - getsubroty(*(int *)(in_a0_lo + 0x1c),(uint)in_a1_lo,in_a2_lo,in_a3_lo); - fVar1 = convert_angle_using_inverse - ((f32)(*in_a1_lo - *(float *)(*(int *)(in_a0_lo + 0x18) + 8)), - (f32)(in_a1_lo[2] - *(float *)(*(int *)(in_a0_lo + 0x18) + 0x10))); - fVar2 = fVar1 - in_f0; - if (fVar1 < in_f0) { - fVar2 = fVar2 + flt_800520D0; - } - return fVar2; -} - - - -void proc_7F032C4C(undefined4 param_1) - -{ - get_curplayer_positiondata(); - proc_7F032BD8(); - return; -} - - - -int proc_7F032C78(short *param_1,ulonglong param_2,longlong param_3,undefined4 *param_4) - -{ - short *psVar1; - short sVar3; - int iVar2; - undefined *puVar4; - - if ((param_2 & 4) == 0) { - if ((param_2 & 8) == 0) { - iVar2 = get_curplayer_positiondata(); - puVar4 = (undefined *)(iVar2 + 8); - *param_4 = *(undefined4 *)(iVar2 + 0x14); - } - else { - sVar3 = proc_7F032F94((int)param_1,(short)param_3); - if (sVar3 < 10000) { - puVar4 = ptr_0xxxpresets + ((int)sVar3 * 0xc - (int)sVar3) * 4; - } - else { - puVar4 = ptr_2xxxpresets + (int)sVar3 * 0x44 + -680000; - } - *param_4 = *(undefined4 *)(puVar4 + 0x28); - } - } - else { - psVar1 = (short *)proc_7F033040(param_1,param_3); - if ((psVar1 == NULL) || (*(int *)(psVar1 + 0xc) == 0)) { - iVar2 = *(int *)(param_1 + 0xc); - } - else { - iVar2 = *(int *)(param_1 + 0xc); - param_1 = psVar1; - } - *param_4 = *(undefined4 *)(iVar2 + 0x14); - puVar4 = (undefined *)(*(int *)(param_1 + 0xc) + 8); - } - return (int)puVar4; -} - - - -float proc_7F032D70(int param_1) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar3 = get_curplay_horizontal_rotation_in_degrees(); - iVar1 = *(int *)(param_1 + 0x18); - iVar2 = get_curplayer_positiondata(); - fVar4 = convert_angle_using_inverse - ((f32)(*(float *)(iVar1 + 8) - *(float *)(iVar2 + 8)), - (f32)(*(float *)(iVar1 + 0x10) - *(float *)(iVar2 + 0x10))); - fVar5 = fVar4 - fVar3; - if (fVar4 < fVar3) { - fVar5 = fVar5 + flt_800520D4; - } - return fVar5; -} - - - -void proc_7F032DE4(int param_1) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = *(int *)(param_1 + 0x18); - iVar2 = get_curplayer_positiondata(); - fVar3 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar4 = *(float *)(iVar2 + 0xc) - *(float *)(iVar1 + 0xc); - fVar5 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - sqrtf(fVar3 * fVar3 + fVar4 * fVar4 + fVar5 * fVar5); - return; -} - - - -void proc_7F032E48(int param_1,short param_2) - -{ - int iVar1; - short sVar2; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar1 = *(int *)(param_1 + 0x18); - sVar2 = proc_7F032F94(param_1,param_2); - if (sVar2 < 10000) { - pfVar3 = (float *)(ptr_0xxxpresets + ((int)sVar2 * 0xc - (int)sVar2) * 4); - } - else { - pfVar3 = (float *)(ptr_2xxxpresets + (int)sVar2 * 0x44 + -680000); - } - fVar4 = *pfVar3 - *(float *)(iVar1 + 8); - fVar5 = pfVar3[1] - *(float *)(iVar1 + 0xc); - fVar6 = pfVar3[2] - *(float *)(iVar1 + 0x10); - sqrtf(fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6); - return; -} - - - -ulonglong proc_7F032EFC(int param_1,short param_2) - -{ - short sVar2; - ulonglong uVar1; - undefined *puVar3; - - sVar2 = proc_7F032F94(param_1,param_2); - if (sVar2 < 10000) { - puVar3 = ptr_0xxxpresets + (int)sVar2 * 0x2c; - } - else { - puVar3 = ptr_2xxxpresets + (int)sVar2 * 0x44 + -680000; - } - uVar1 = 0; - if (*(int *)(puVar3 + 0x28) != 0) { - uVar1 = proc_7F0B2FD8(*(int *)(puVar3 + 0x28)); - uVar1 = proc_7F0B5E50((int)uVar1); - } - return uVar1; -} - - - -short proc_7F032F94(int param_1,short param_2) - -{ - if (param_2 == 9000) { - param_2 = *(short *)(param_1 + 0x114); - } - return param_2; -} - - - -longlong proc_7F032FAC(short *param_1,longlong param_2) - -{ - short *psVar1; - - if (param_2 == 0xfa) { - return (longlong)param_1[0x8c]; - } - if (param_2 == 0xfb) { - return (longlong)param_1[0x8d]; - } - if (param_2 == 0xfc) { - return (longlong)param_1[0x8b]; - } - if (param_2 != 0xfd) { - if (param_2 != 0xf9) { - if ((param_2 == 0xf8) && - (psVar1 = *(short **)(pPlayer->position_data_pointer + 4), psVar1 != NULL)) { - param_2 = (longlong)*psVar1; - } - return param_2; - } - return (longlong)((int)*param_1 + 10000); - } - return (longlong)*param_1; -} - - - -int proc_7F033040(short *param_1,longlong param_2) - -{ - short sVar1; - longlong lVar2; - GUARDdata *pGVar3; - int iVar4; - short *psVar5; - int iVar6; - - lVar2 = proc_7F032FAC(param_1,param_2); - pGVar3 = check_if_guardnum_loaded_get_ptr_GUARDdata((short)lVar2); - if ((pGVar3 == NULL) && (iVar4 = 0, 0 < objectiveregisters3)) { - iVar6 = 0; - psVar5 = objectiveregisters2; - do { - sVar1 = *psVar5; - iVar4 += 1; - psVar5 = psVar5 + 0xee; - if ((longlong)(int)lVar2 == (longlong)sVar1) { - return iVar6 + (int)objectiveregisters2; - } - iVar6 += 0x1dc; - } while (iVar4 < objectiveregisters3); - } - return (int)pGVar3; -} - - - -float proc_7F0330C4(short *param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = *(int *)(param_1 + 0xc); - iVar2 = proc_7F033040(param_1,param_2); - fVar3 = 0.00000000; - if (((iVar2 != 0) && (*(int *)(iVar2 + 0x1c) != 0)) && (*(int *)(iVar2 + 0x18) != 0)) { - iVar2 = *(int *)(iVar2 + 0x18); - fVar3 = *(float *)(iVar2 + 8) - *(float *)(iVar1 + 8); - fVar4 = *(float *)(iVar2 + 0xc) - *(float *)(iVar1 + 0xc); - fVar5 = *(float *)(iVar2 + 0x10) - *(float *)(iVar1 + 0x10); - fVar3 = sqrtf(fVar3 * fVar3 + fVar4 * fVar4 + fVar5 * fVar5); - } - return fVar3; -} - - - -void proc_7F033154(int param_1,short param_2) - -{ - int iVar1; - short sVar2; - float *pfVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar1 = get_curplayer_positiondata(); - sVar2 = proc_7F032F94(param_1,param_2); - if (sVar2 < 10000) { - pfVar3 = (float *)(ptr_0xxxpresets + ((int)sVar2 * 0xc - (int)sVar2) * 4); - } - else { - pfVar3 = (float *)(ptr_2xxxpresets + (int)sVar2 * 0x44 + -680000); - } - fVar4 = *pfVar3 - *(float *)(iVar1 + 8); - fVar5 = pfVar3[1] - *(float *)(iVar1 + 0xc); - fVar6 = pfVar3[2] - *(float *)(iVar1 + 0x10); - sqrtf(fVar4 * fVar4 + fVar5 * fVar5 + fVar6 * fVar6); - return; -} - - - -void proc_7F033218(int param_1,byte param_2) - -{ - *(byte *)(param_1 + 0x10e) = *(byte *)(param_1 + 0x10e) | param_2; - return; -} - - - -void proc_7F03322C(int param_1,byte param_2) - -{ - *(byte *)(param_1 + 0x10e) = *(byte *)(param_1 + 0x10e) & ~param_2; - return; -} - - - -ulonglong proc_7F033244(int param_1,byte param_2) - -{ - return (ulonglong)((*(byte *)(param_1 + 0x10e) & param_2) != 0); -} - - - -void proc_7F033260(short *param_1,longlong param_2,byte param_3) - -{ - int iVar1; - - iVar1 = proc_7F033040(param_1,param_2); - if (iVar1 != 0) { - proc_7F033218(iVar1,param_3); - } - return; -} - - - -void proc_7F033290(short *param_1,longlong param_2,byte param_3) - -{ - int iVar1; - - iVar1 = proc_7F033040(param_1,param_2); - if (iVar1 != 0) { - proc_7F03322C(iVar1,param_3); - } - return; -} - - - -ulonglong proc_7F0332C0(short *param_1,longlong param_2,byte param_3) - -{ - int iVar2; - ulonglong uVar1; - - iVar2 = proc_7F033040(param_1,param_2); - if (iVar2 == 0) { - uVar1 = 0; - } - else { - uVar1 = proc_7F033244(iVar2,param_3); - } - return uVar1; -} - - - -void proc_7F0332FC(undefined8 param_1,uint param_2) - -{ - objectiveregisters1 = objectiveregisters1 | param_2; - return; -} - - - -void proc_7F033318(undefined8 param_1,uint param_2) - -{ - objectiveregisters1 = ~param_2 & objectiveregisters1; - return; -} - - - -ulonglong proc_7F033338(undefined8 param_1,uint param_2) - -{ - return (ulonglong)((objectiveregisters1 & param_2) != 0); -} - - - -ulonglong proc_7F033354(int param_1) - -{ - return (ulonglong)((*(ushort *)(param_1 + 0x12) & 2) != 0); -} - - - -ulonglong proc_7F033364(int param_1) - -{ - longlong lVar1; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - proc_7F024648(param_1); - } - return (ulonglong)(lVar1 != 0); -} - - - -undefined8 proc_7F0333A0(int param_1) - -{ - proc_7F0247B8(param_1); - return 1; -} - - - -void proc_7F0333C4(int param_1) - -{ - *(undefined4 *)(param_1 + 0x110) = 0; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 0x40; - return; -} - - - -float proc_7F0333D8(int param_1) - -{ - return (float)*(int *)(param_1 + 0x110) / 60.00000000; -} - - - -ulonglong proc_7F0333F8(int param_1) - -{ - int iVar3; - float *pfVar4; - longlong lVar1; - ulonglong uVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float extraout_f12; - float afStack40 [3]; - float afStack28 [3]; - float afStack16 [3]; - int iStack4; - - iVar3 = proc_7F029760(param_1); - if (iVar3 == 0) { - uVar2 = 0; - } - else { - iStack4 = *(int *)(param_1 + 0x1c); - getinstsize(iStack4,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - proc_7F068190(afStack16,afStack28); - getsuboffset(iStack4,afStack40,extraout_a2_lo_00,extraout_a3_lo_00); - pfVar4 = (float *)get_BONDdata_field_10CC(); - proc_7F058474(pfVar4,afStack40); - lVar1 = proc_7F041074(afStack16,afStack28,afStack40,extraout_f12); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - return uVar2; -} - - - -ulonglong proc_7F033490(int param_1) - -{ - return (ulonglong)((*(uint *)(param_1 + 0x14) & 4) != 0); -} - - - -undefined8 proc_7F0334A0(int param_1,char param_2) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if ((int)setting_007_5 < 10) { - iVar3 = get_curplayer_positiondata(); - lVar1 = proc_7F028DDC(param_1,(float *)(iVar3 + 8),*(undefined4 *)(iVar3 + 0x14),param_2 - ); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -undefined8 proc_7F03350C(short *param_1,int param_2,char param_3) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - if ((int)setting_007_5 < 10) { - iVar3 = proc_7F033040(param_1,(longlong)param_2); - if (iVar3 == 0) { - uVar2 = 0; - } - else { - if (*(int *)(iVar3 + 0x1c) == 0) { - uVar2 = 0; - } - else { - if (*(int *)(iVar3 + 0x18) == 0) { - uVar2 = 0; - } - else { - lVar1 = proc_7F028DDC((int)param_1,(float *)(*(int *)(iVar3 + 0x18) + 8), - *(undefined4 *)(*(int *)(iVar3 + 0x18) + 0x14),param_3 - ); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - } - } - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -undefined proc_7F0335A4(int param_1) - -{ - return *(undefined *)(param_1 + 0xb); -} - - - -undefined proc_7F0335AC(int param_1) - -{ - return *(undefined *)(param_1 + 10); -} - - - -ulonglong proc_7F0335B4(int param_1) - -{ - return (ulonglong)(*(short *)(param_1 + 0x118) < 0) ^ 1; -} - - - -ulonglong proc_7F0335C4(int param_1) - -{ - return (ulonglong)(*(short *)(param_1 + 0x11a) < 0) ^ 1; -} - - - -ulonglong proc_7F0335D4(int param_1) - -{ - longlong lVar1; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - proc_7F023E48(param_1); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong proc_7F033610(int param_1) - -{ - longlong lVar1; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - actor_shuffle_feet(); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong proc_7F03364C(int param_1) - -{ - longlong lVar1; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - proc_7F0244AC(); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong proc_7F033688(int param_1) - -{ - longlong lVar1; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - proc_7F024548(); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong proc_7F0336C4(int param_1) - -{ - longlong lVar1; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - actor_kneel(); - } - return (ulonglong)(lVar1 != 0); -} - - - -ulonglong proc_7F033700(int param_1,int param_2,int param_3,int param_4,byte param_5,int param_6) - -{ - longlong lVar1; - - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 != 0) { - perform_animation_for_actor((GUARDdata *)param_1,param_2,param_3,param_4,param_5,param_6); - } - return (ulonglong)(lVar1 != 0); -} - - - -void proc_7F033760(void) - -{ - is_alarm_on(); - return; -} - - - -undefined8 proc_7F033780(int *param_1,float *param_2,float param_3) - -{ - undefined8 uVar1; - float in_a2_lo; - float fVar2; - float fVar3; - - fVar2 = convert_angle_using_inverse - ((f32)(*(float *)(ptr_0xxxpresets + *param_1 * 0x2c) - *param_2), - (f32)(*(float *)(ptr_0xxxpresets + *param_1 * 0x2c + 2) - param_2[2])); - fVar3 = in_a2_lo - fVar2; - if (in_a2_lo < fVar2) { - fVar3 = fVar3 + flt_800520DC; - } - if ((fVar3 < flt_800520E0) || (uVar1 = 0, flt_800520E4 < fVar3)) { - uVar1 = 1; - } - return uVar1; -} - - - -longlong proc_7F033834(float *param_1,undefined4 param_2,float param_3,char param_4) - -{ - int *piVar2; - longlong lVar1; - int iVar3; - int iVar4; - float extraout_f12; - float extraout_f12_00; - float fVar5; - float extraout_f12_01; - - piVar2 = proc_7F027CD4(param_1,param_2); - if (piVar2 != NULL) { - lVar1 = proc_7F033780(piVar2,param_1,extraout_f12); - if (lVar1 != 0) { - return (longlong)*piVar2; - } - iVar4 = *(int *)piVar2[1]; - iVar3 = 0; - fVar5 = extraout_f12_00; - if (iVar4 < 0) { - return 0xffffffffffffffff; - } - do { - lVar1 = proc_7F033780((int *)(ptr_setup_path_tbl + iVar4 * 0x10),param_1,fVar5); - if (lVar1 != 0) { - return (longlong)*(int *)(ptr_setup_path_tbl + iVar4 * 0x10); - } - iVar3 += 1; - iVar4 = *(int *)(piVar2[1] + iVar3 * 4); - fVar5 = extraout_f12_01; - } while (-1 < iVar4); - } - return 0xffffffffffffffff; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F033998(void) - -{ - int *piVar2; - int *piVar3; - int iVar4; - undefined4 *puVar5; - longlong lVar1; - int in_a0_lo; - uint in_a1_lo; - undefined4 in_a3_lo; - uint uVar6; - char in_f0; - float extraout_f12; - int iStack28; - undefined4 *puStack24; - int iStack8; - - uVar6 = in_a1_lo & 0xff; - if ((uVar6 != 0x10) && (uVar6 != 0x20)) { - getsubroty(*(int *)(in_a0_lo + 0x1c),in_a1_lo,uVar6,in_a3_lo); - lVar1 = proc_7F033834((float *)(*(int *)(in_a0_lo + 0x18) + 8), - *(undefined4 *)(*(int *)(in_a0_lo + 0x18) + 0x14),extraout_f12,in_f0); - if (lVar1 < 0) { - return 0; - } - *(undefined2 *)(in_a0_lo + 0x114) = (short)lVar1; - return 1; - } - iVar4 = *(int *)(in_a0_lo + 0x18); - iStack8 = get_curplayer_positiondata(); - piVar2 = proc_7F027CD4((float *)(iVar4 + 8),*(undefined4 *)(iVar4 + 0x14)); - piVar3 = proc_7F027CD4((float *)(iStack8 + 8),*(undefined4 *)(iStack8 + 0x14)); - if ((piVar2 != NULL) && (piVar3 != NULL)) { - if (uVar6 != 0x10) { - puVar5 = (undefined4 *)proc_7F08FB90((int)piVar2,(int)piVar3); - if (puVar5 == NULL) { - return 0; - } - *(undefined2 *)(in_a0_lo + 0x114) = (short)*puVar5; - return 1; - } - iVar4 = proc_7F08F4F0((int)piVar2,(int)piVar3,&iStack28,3); - if (2 < iVar4) { - *(undefined2 *)(in_a0_lo + 0x114) = (short)*puStack24; - return 1; - } - } - return 0; -} - - - -ulonglong proc_7F033AAC(int param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar3; - longlong lVar2; - float fVar4; - float extraout_f12; - - if (((param_2 & 0xff) == 0x10) || ((param_2 & 0xff) == 0x20)) { - uVar1 = proc_7F033998(); - } - else { - fVar4 = get_curplay_horizontal_rotation_in_degrees(); - iVar3 = get_curplayer_positiondata(); - lVar2 = proc_7F033834((float *)(iVar3 + 8),*(undefined4 *)(iVar3 + 0x14),extraout_f12, - SUB41(fVar4,0)); - if (-1 < lVar2) { - *(undefined2 *)(param_1 + 0x114) = (short)lVar2; - } - uVar1 = (ulonglong)(-1 < lVar2); - } - return uVar1; -} - - - -undefined8 proc_7F033B38(undefined2 *param_1,float param_2) - -{ - int iVar1; - int iVar3; - s32 sVar4; - longlong lVar2; - float in_a1_lo; - ulonglong uVar5; - u16 uVar6; - GUARDdata *chr; - int iVar7; - int iVar8; - ulonglong uVar9; - float fVar10; - float fVar11; - float fVar12; - - iVar3 = get_numguards(); - iVar8 = *(int *)(param_1 + 0xc); - fVar10 = *(float *)(iVar8 + 8); - fVar11 = *(float *)(iVar8 + 0xc); - fVar12 = *(float *)(iVar8 + 0x10); - iVar7 = 0; - uVar9 = (ulonglong)*(byte *)(*(int *)(iVar8 + 0x14) + 3); - if (0 < iVar3) { - iVar8 = 0; - do { - chr = (GUARDdata *)((int)&ptr_guard_data->chrnum + iVar8); - if (((chr != (GUARDdata *)param_1) && (chr->MODELdata_pointer != 0)) && - (sVar4 = true_if_actor_dying_fading(chr), sVar4 == 0)) { - iVar1 = chr->POSdata_pointer; - if ((((fVar10 - in_a1_lo <= *(float *)(iVar1 + 8)) && - (*(float *)(iVar1 + 8) <= fVar10 + in_a1_lo)) && - ((fVar11 - in_a1_lo <= *(float *)(iVar1 + 0xc) && - ((*(float *)(iVar1 + 0xc) <= fVar11 + in_a1_lo && - (fVar12 - in_a1_lo <= *(float *)(iVar1 + 0x10))))))) && - (*(float *)(iVar1 + 0x10) <= fVar12 + in_a1_lo)) { - uVar5 = (ulonglong)*(byte *)(*(int *)(iVar1 + 0x14) + 3); - if (uVar9 == uVar5) { - uVar6 = chr->chrnum; -LAB_7f033c94: - param_1[0x8b] = uVar6; - return 1; - } - lVar2 = proc_7F0B8FD0(uVar9,uVar5); - if (lVar2 != 0) { - uVar6 = chr->chrnum; - goto LAB_7f033c94; - } - } - } - iVar7 += 1; - iVar8 += 0x1dc; - } while (iVar7 < iVar3); - } - return 0; -} - - - -void proc_7F033CF4(short *param_1,longlong param_2) - -{ - longlong lVar1; - - lVar1 = proc_7F032FAC(param_1,param_2); - param_1[0x8b] = (short)lVar1; - return; -} - - - -void proc_7F033D1C(short *param_1,longlong param_2,int param_3) - -{ - int iVar2; - longlong lVar1; - - iVar2 = proc_7F033040(param_1,param_2); - if (iVar2 != 0) { - lVar1 = proc_7F032FAC(param_1,(longlong)param_3); - *(undefined2 *)(iVar2 + 0x116) = (short)lVar1; - } - return; -} - - - -void proc_7F033D5C(int param_1,short param_2) - -{ - short sVar1; - - sVar1 = proc_7F032F94(param_1,param_2); - *(short *)(param_1 + 0x114) = sVar1; - return; -} - - - -void proc_7F033D84(short *param_1,longlong param_2,short param_3) - -{ - int iVar1; - short sVar2; - - iVar1 = proc_7F033040(param_1,param_2); - if (iVar1 != 0) { - sVar2 = proc_7F032F94((int)param_1,param_3); - *(short *)(iVar1 + 0x114) = sVar2; - } - return; -} - - - -undefined8 proc_7F033DC4(int param_1) - -{ - longlong lVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - float extraout_f12; - float extraout_f14; - float afStack36 [3]; - float afStack24 [3]; - int aiStack12 [3]; - - lVar1._4_4_ = get_curplayer_positiondata(); - lVar1 = (longlong)lVar1._4_4_; - iVar4 = *(int *)(param_1 + 0x18); - aiStack12[0] = *(int *)(iVar4 + 0x14); - proc_7F0B1CC4(); - proc_7F0B0BE4(aiStack12,extraout_f12,extraout_f14,*(float *)(iVar4 + 8),*(float *)(iVar4 + 0x10) - ); - if (lVar1 == 0) { - proc_7F0B28B0(afStack24,afStack36); - iVar3 = proc_7F0304AC(param_1,(undefined4 *)(iVar4 + 8),*(int *)(iVar4 + 0x14),afStack24, - (undefined4 *)(lVar1._4_4_ + 8),*(int *)(lVar1._4_4_ + 0x14),0); - if ((iVar3 == 0) && - (iVar4 = proc_7F0304AC(param_1,(undefined4 *)(iVar4 + 8),*(int *)(iVar4 + 0x14),afStack36 - ,(undefined4 *)(lVar1._4_4_ + 8),*(int *)(lVar1._4_4_ + 0x14),0), - iVar4 == 0)) { - return 0; - } - uVar2 = 1; - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -longlong proc_7F033EAC(float *param_1,int param_2) - -{ - ulonglong uVar1; - longlong lVar2; - float extraout_f12; - float extraout_f12_00; - int aiStack20 [4]; - uint uStack4; - - uStack4 = 1; - uVar1 = proc_7F0B2FD8(param_2); - uVar1 = proc_7F0B5E50((int)uVar1); - if ((uVar1 != 0) && (lVar2 = proc_7F0BB2C8(param_1,extraout_f12), lVar2 != 0)) { - uVar1 = proc_7F0B2FD8(param_2); - lVar2 = proc_7F0B3C0C((int)uVar1,aiStack20); - if (lVar2 == 0) { - lVar2 = proc_7F078A58(param_1,extraout_f12_00); - uStack4 = (uint)(lVar2 == 0); - } - else { - lVar2 = proc_7F078BF4(param_1,extraout_f12_00,(float *)0x43480000); - uStack4 = (uint)(lVar2 == 0); - } - } - return (longlong)(int)uStack4; -} - - - -undefined8 proc_7F033F48(float *param_1,int *param_2,float param_3,longlong param_4) - -{ - float fVar1; - float fVar2; - longlong lVar3; - undefined8 uVar4; - int iVar5; - longlong in_a3; - int iVar6; - float fVar7; - f32 extraout_f12; - f32 extraout_f14; - ulonglong uVar8; - float __x; - u32 uStack16; - float fStack12; - float fStack8; - float fStack4; - - uStack16 = *param_2; - uVar8 = param_4 & 0xffffffff; - lVar3 = proc_7F0B18B8(); - if ((lVar3 < 0) && ((in_a3 != 0 || (lVar3 = proc_7F033EAC(param_1,*param_2), lVar3 != 0)))) { - uVar4 = 1; - } - else { - fVar2 = flt_800520FC; - fVar1 = flt_800520F8; - iVar6 = 0; - do { - __x = (float)uVar8; - fVar7 = sinf(__x); - fStack12 = fVar7 * 60.00000000 + *param_1; - fStack8 = param_1[1]; - fVar7 = cosf(__x); - fStack4 = fVar7 * 60.00000000 + param_1[2]; - uStack16 = *param_2; - iVar5 = proc_7F0B0E24(&uStack16,extraout_f12,extraout_f14,(f32)*param_1); - if (((iVar5 != 0) && (lVar3 = proc_7F0B18B8(), lVar3 < 0)) && - ((in_a3 != 0 || (lVar3 = proc_7F033EAC(&fStack12,uStack16), lVar3 != 0)))) { - *param_2 = uStack16; - *param_1 = fStack12; - param_1[2] = fStack4; - return 1; - } - __x = __x + fVar1; - iVar6 += 1; - if (fVar2 <= __x) { - __x = __x - fVar2; - } - uVar8 = (ulonglong)(uint)__x; - } while (iVar6 != 8); - uVar4 = 0; - } - return uVar4; -} - - - -longlong proc_7F03415C(int param_1,uint param_2,float *param_3,int param_4,float param_5,int param_6 - ,uint param_7) - -{ - int iVar2; - longlong lVar1; - uint uVar3; - float extraout_f12; - float extraout_f12_00; - float fVar4; - uint uStackX4; - int in_stack_00000018; - int aiStack24 [2]; - float fStack16; - float fStack12; - float fStack8; - int iStack4; - - iVar2 = get_next_available_guardID(); - if (2 < iVar2) { - if ((int)param_2 < 0) { - uStackX4 = select_psuedorandom_heads(param_1); - fStack16 = *param_3; - fVar4 = extraout_f12_00; - } - else { - fStack16 = *param_3; - fVar4 = extraout_f12; - uStackX4 = param_2; - } - fStack12 = param_3[1]; - fStack8 = param_3[2]; - aiStack24[0] = param_4; - lVar1 = proc_7F033F48(&fStack16,aiStack24,fVar4,(longlong)param_6); - if (((lVar1 != 0) && - (uVar3 = retrieve_header_for_body_and_head(param_1,uStackX4,(longlong)in_stack_00000018) - , uVar3 != 0)) && - (iStack4 = replace_GUARDdata_with_actual_values - (uVar3,&fStack16,param_6,aiStack24[0],param_7), iStack4 != 0)) { - proc_7F03A4F0(iStack4); - set_stateflag_0x04_for_posdata(iStack4); - iVar2 = *(int *)(iStack4 + 4); - *(undefined *)(iVar2 + 6) = (char)uStackX4; - *(undefined *)(iVar2 + 0xf) = (char)param_1; - return (longlong)iStack4; - } - } - return 0; -} - - - -void proc_7F034258(int param_1,int param_2,uint param_3,short param_4,uint param_5,uint param_6) - -{ - short sVar1; - undefined *puVar2; - float fVar3; - float extraout_f12; - - sVar1 = proc_7F032F94(param_1,param_4); - if (sVar1 < 10000) { - puVar2 = ptr_0xxxpresets + (int)sVar1 * 0x2c; - } - else { - puVar2 = ptr_2xxxpresets + (int)sVar1 * 0x44 + -680000; - } - fVar3 = convert_angle_using_inverse(*(f32 *)(puVar2 + 0x18),*(f32 *)(puVar2 + 0x20)); - proc_7F03415C(param_2,param_3,puVar2,*(int *)(puVar2 + 0x28),extraout_f12,fVar3,param_5); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F034308(void) - -{ - int iVar2; - undefined8 uVar1; - short *in_a0_lo; - int in_a1_lo; - uint extraout_a1_lo; - uint in_a2_lo; - undefined4 extraout_a2_lo; - longlong in_a3; - undefined4 extraout_a3_lo; - undefined4 in_f0; - float extraout_f12; - uint in_stack_00000010; - - iVar2 = proc_7F033040(in_a0_lo,in_a3); - if ((*(uint *)(iVar2 + 0x14) & 8) == 0) { - getsubroty(*(int *)(iVar2 + 0x1c),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - uVar1 = proc_7F03415C(in_a1_lo,in_a2_lo,*(int *)(iVar2 + 0x18) + 8, - *(int *)(*(int *)(iVar2 + 0x18) + 0x14),extraout_f12,in_f0, - in_stack_00000010); - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 proc_7F034388(short *param_1,longlong param_2,short param_3) - -{ - int iVar2; - short sVar3; - undefined8 uVar1; - undefined *puVar4; - - iVar2 = proc_7F033040(param_1,param_2); - sVar3 = proc_7F032F94((int)param_1,param_3); - if (sVar3 < 10000) { - puVar4 = ptr_0xxxpresets + ((int)sVar3 * 0xc - (int)sVar3) * 4; - } - else { - puVar4 = ptr_2xxxpresets + (int)sVar3 * 0x44 + -680000; - } - if (*(int *)(puVar4 + 0x28) == 0) { - uVar1 = 0; - } - else { - if (iVar2 == 0) { - uVar1 = 0; - } - else { - if (*(int *)(iVar2 + 0x18) == 0) { - uVar1 = 0; - } - else { - if (*(char *)(*(int *)(*(int *)(iVar2 + 0x18) + 0x14) + 3) == - *(char *)(*(int *)(puVar4 + 0x28) + 3)) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - } - } - return uVar1; -} - - - -undefined8 proc_7F03444C(int param_1,short param_2) - -{ - int iVar2; - short sVar3; - undefined8 uVar1; - undefined *puVar4; - - iVar2 = get_curplayer_positiondata(); - sVar3 = proc_7F032F94(param_1,param_2); - if (sVar3 < 10000) { - puVar4 = ptr_0xxxpresets + ((int)sVar3 * 0xc - (int)sVar3) * 4; - } - else { - puVar4 = ptr_2xxxpresets + (int)sVar3 * 0x44 + -680000; - } - if (*(int *)(puVar4 + 0x28) == 0) { - uVar1 = 0; - } - else { - if (*(char *)(*(int *)(iVar2 + 0x14) + 3) == *(char *)(*(int *)(puVar4 + 0x28) + 3)) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -undefined8 proc_7F0344FC(void) - -{ - return 0; -} - - - -undefined8 proc_7F034508(void) - -{ - return 0; -} - - - -undefined8 proc_7F034514(int param_1,short param_2) - -{ - short sVar5; - longlong lVar1; - undefined8 uVar2; - int iVar4; - ulonglong uVar3; - - sVar5 = proc_7F032F94(param_1,param_2); - lVar1 = true_if_actor_is_dying_fading_limping_shot((GUARDdata *)param_1); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - iVar4 = scan_position_data_table_for_normal_object_at_preset(sVar5); - if (iVar4 == 0) { - uVar2 = 0; - } - else { - uVar3 = check_if_object_has_not_been_destroyed(iVar4); - if (uVar3 == 0) { - uVar2 = 0; - } - else { - proc_7F024150(param_1); - uVar2 = 1; - } - } - } - return uVar2; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F03457C(void) - -{ - u32 uVar2; - longlong lVar1; - int iVar3; - int iVar4; - undefined *puVar5; - GUARDdata *in_a0_lo; - uint uVar6; - float in_f0; - - uVar2 = get_random_value(); - if ((((ulonglong)(longlong)(int)(uVar2 % 0xff) < (ulonglong)(byte)in_a0_lo->beligerancy) && - (proc_7F032DE4((int)in_a0_lo), 10.00000000 <= in_f0)) && - (lVar1 = true_if_actor_is_dying_fading_limping_shot(in_a0_lo), lVar1 != 0)) { - iVar3 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,1); - iVar4 = something_with_weaponpos_of_guarddata_hand(in_a0_lo,0); - if ((iVar4 != 0) && (*(char *)(*(int *)(iVar4 + 4) + 0x80) == '\x1a')) { - throw_weapon_in_guard_hand(); - return 1; - } - if ((iVar3 != 0) && (*(char *)(*(int *)(iVar3 + 4) + 0x80) == '\x1a')) { - throw_weapon_in_guard_hand(); - return 1; - } - if ((iVar3 != 0) && (iVar4 != 0)) { - return 0; - } - uVar6 = 0; - if (iVar4 != 0) { - uVar6 = 0x10000000; - } - puVar5 = actor_draws_weapon_with_model((undefined2 *)in_a0_lo,0xc4,0x1a,uVar6); - if (puVar5 != NULL) { - *(uint *)(*(int *)(puVar5 + 4) + 100) = *(uint *)(*(int *)(puVar5 + 4) + 100) | 0x800; - throw_weapon_in_guard_hand(); - return 1; - } - } - return 0; -} - - - -undefined8 proc_7F0346FC(int param_1,int param_2,char param_3) - -{ - undefined4 *puVar2; - undefined8 uVar1; - f32 scale; - - puVar2 = create_new_item_instance_of_model(param_2,(int)param_3 & 0xff); - if (puVar2 == NULL) { - uVar1 = 0; - } - else { - if (puVar2[4] == 0) { - uVar1 = 0; - } - else { - set_obj_instance_controller_scale(puVar2[5],scale); - proc_7F03A5A4(puVar2[4],*(int *)(param_1 + 0x18)); - *(undefined2 *)((int)puVar2 + 0x82) = 0xb4; - proc_7F04BFD0(puVar2[4],1); - uVar1 = 1; - *(ushort *)(param_1 + 0x12) = *(ushort *)(param_1 + 0x12) | 1; - } - } - return uVar1; -} - - - -void proc_7F0347A0(int param_1) - -{ - ALLink_s *pAVar1; - int iVar2; - ulonglong uVar3; - int iVar4; - int iVar5; - - pAVar1 = (ALLink_s *)(&sfx_related)[param_1].field_0x0; - if (pAVar1 == NULL) { - (&sfx_related)[param_1].field_0x4 = 0; - return; - } - uVar3 = sfxGetArg0Unk3F(pAVar1); - uVar3._4_4_ = (undefined4)uVar3; - if (uVar3 == 0) { - (&sfx_related)[param_1].field_0x4 = 0; - return; - } - if ((float *)(&sfx_related)[param_1].field_0x10 == NULL) { - iVar4 = (&sfx_related)[param_1].field_0x14; - if (iVar4 == 0) { - iVar4 = (&sfx_related)[param_1].field_0x8; - goto LAB_7f034824; - } - if (*(int *)(iVar4 + 0x10) == 0) { - iVar4 = (&sfx_related)[param_1].field_0x8; - goto LAB_7f034824; - } - proc_7F0539E4((float *)(iVar4 + 0x58)); - (&sfx_related)[param_1].field_0xc = iVar4; - } - else { - proc_7F0539E4((float *)(&sfx_related)[param_1].field_0x10); - (&sfx_related)[param_1].field_0xc = uVar3._4_4_; - } - iVar4 = (&sfx_related)[param_1].field_0x8; -LAB_7f034824: - iVar5 = (&sfx_related)[param_1].field_0xc; - if (-1 < iVar4) { - if (clock_timer < iVar4) { - iVar2 = (iVar5 - (&sfx_related)[param_1].field_0x4) * clock_timer; - iVar5 = iVar2 / iVar4 + (&sfx_related)[param_1].field_0x4; - if (iVar4 == 0) { - trap(0x1c00); - } - if ((iVar4 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - (&sfx_related)[param_1].field_0x8 = iVar4 - clock_timer; - } - iVar4 = get_controls_locked_flag(); - if (iVar4 != 0) { - iVar5 = 0; - } - if (iVar5 != (&sfx_related)[param_1].field_0x4) { - music_related_36((longlong)(int)(&sfx_related)[param_1].field_0x0,8,iVar5); - (&sfx_related)[param_1].field_0x4 = iVar5; - } - return; -} - - - -void loop_set_sound_effect_all_slots(void) - -{ - int iVar1; - - iVar1 = 0; - do { - proc_7F0347A0(iVar1); - iVar1 += 1; - } while (iVar1 != 8); - return; -} - - - -int ** proc_7F034924(longlong param_1,short param_2) - -{ - ALPlayer_s *pAVar1; - int **in_v0_lo; - ulonglong uVar2; - int iVar3; - ALSndPlayer *data; - - data = NULL; - if ((-1 < param_1) && (iVar3 = (int)param_1, param_1 < 8)) { - pAVar1 = (((ALSndPlayer *)(&sfx_related + iVar3))->node).next; - if (pAVar1 != NULL) { - uVar2 = sfxGetArg0Unk3F((ALLink_s *)pAVar1); - in_v0_lo = (int **)uVar2; - data = NULL; - if (uVar2 != 0) goto LAB_7f03499c; - } - in_v0_lo = (int **)0x7fff; - (&sfx_related)[iVar3].field_0xc = 0x7fff; - (&sfx_related)[iVar3].field_0x4 = 0x7fff; - (&sfx_related)[iVar3].field_0x8 = 0xffffffff; - (&sfx_related)[iVar3].field_0x10 = 0; - (&sfx_related)[iVar3].field_0x14 = 0; - data = (ALSndPlayer *)(&sfx_related + iVar3); - } -LAB_7f03499c: - play_sfx_a1(ptr_sfx_buf,param_2,data); - return in_v0_lo; -} - - - -void proc_7F0349BC(longlong param_1) - -{ - if ((-1 < param_1) && (param_1 < 8)) { - sfxDeactivate((&sfx_related)[(int)param_1].field_0x0); - } - return; -} - - - -int get_length_of_action_block(int param_1,int param_2) - -{ - char cVar1; - int iVar2; - int iVar3; - - switch(*(undefined *)(param_1 + param_2)) { - case 0: - return 2; - case 1: - return 2; - case 2: - return 2; - case 3: - return 1; - case 4: - return 1; - case 5: - return 4; - case 6: - return 3; - case 7: - return 1; - case 8: - return 1; - case 9: - return 1; - case 10: - return 9; - case 0xb: - return 2; - case 0xc: - return 1; - case 0xd: - return 1; - case 0xe: - return 2; - case 0xf: - return 2; - case 0x10: - return 2; - case 0x11: - return 2; - case 0x12: - return 2; - case 0x13: - return 2; - case 0x14: - return 6; - case 0x15: - return 6; - case 0x16: - return 6; - case 0x17: - return 6; - case 0x18: - return 4; - case 0x19: - return 4; - case 0x1a: - return 2; - case 0x1b: - return 5; - case 0x1c: - return 3; - case 0x1d: - return 1; - case 0x1e: - return 3; - case 0x1f: - return 3; - case 0x20: - return 2; - case 0x21: - return 1; - case 0x22: - return 1; - case 0x23: - return 2; - case 0x24: - return 4; - case 0x25: - return 1; - case 0x26: - return 1; - case 0x27: - return 2; - case 0x28: - return 2; - case 0x29: - return 2; - case 0x2a: - return 2; - case 0x2b: - return 2; - case 0x2c: - return 3; - case 0x2d: - return 3; - case 0x2e: - return 3; - case 0x2f: - return 2; - case 0x30: - return 3; - case 0x31: - return 3; - case 0x32: - return 2; - case 0x33: - return 1; - case 0x34: - return 3; - case 0x35: - return 3; - case 0x36: - return 2; - case 0x37: - return 2; - case 0x38: - return 2; - case 0x39: - return 2; - case 0x3a: - return 2; - case 0x3b: - return 2; - case 0x3c: - return 2; - case 0x3d: - return 2; - case 0x3e: - return 2; - case 0x3f: - return 2; - case 0x40: - return 3; - case 0x41: - return 2; - case 0x42: - return 2; - case 0x43: - return 2; - case 0x44: - return 4; - case 0x45: - return 2; - case 0x46: - return 2; - case 0x47: - return 3; - case 0x48: - return 3; - case 0x49: - return 3; - case 0x4a: - return 3; - case 0x4b: - return 4; - case 0x4c: - return 4; - case 0x4d: - return 7; - case 0x4e: - return 7; - case 0x4f: - return 5; - case 0x50: - return 5; - case 0x51: - return 4; - case 0x52: - return 6; - case 0x53: - return 6; - case 0x54: - return 5; - case 0x55: - return 4; - case 0x56: - return 3; - case 0x57: - return 3; - case 0x58: - return 4; - case 0x59: - return 3; - case 0x5a: - return 3; - case 0x5b: - return 3; - case 0x5c: - return 3; - case 0x5d: - return 3; - case 0x5e: - return 2; - case 0x5f: - return 2; - case 0x60: - return 2; - case 0x61: - return 2; - case 0x62: - return 2; - case 99: - return 2; - case 100: - return 3; - case 0x65: - return 4; - case 0x66: - return 2; - case 0x67: - return 2; - case 0x68: - return 4; - case 0x69: - return 3; - case 0x6a: - return 3; - case 0x6b: - return 3; - case 0x6c: - return 4; - case 0x6d: - return 3; - case 0x6e: - return 3; - case 0x6f: - return 3; - case 0x70: - return 3; - case 0x71: - return 3; - case 0x72: - return 4; - case 0x73: - return 4; - case 0x74: - return 4; - case 0x75: - return 4; - case 0x76: - return 3; - case 0x77: - return 3; - case 0x78: - return 3; - case 0x79: - return 3; - case 0x7a: - return 3; - case 0x7b: - return 3; - case 0x7c: - return 4; - case 0x7d: - return 4; - case 0x7e: - return 3; - case 0x7f: - return 3; - case 0x80: - return 3; - case 0x81: - return 2; - case 0x82: - return 2; - case 0x83: - return 2; - case 0x84: - return 3; - case 0x85: - return 2; - case 0x86: - return 2; - case 0x87: - return 2; - case 0x88: - return 2; - case 0x89: - return 3; - case 0x8a: - return 2; - case 0x8b: - return 3; - case 0x8c: - return 2; - case 0x8d: - return 2; - case 0x8e: - return 2; - case 0x8f: - return 3; - case 0x90: - return 3; - case 0x91: - return 2; - case 0x92: - return 2; - case 0x93: - return 2; - case 0x94: - return 2; - case 0x95: - return 2; - case 0x96: - return 3; - case 0x97: - return 3; - case 0x98: - return 3; - case 0x99: - return 4; - case 0x9a: - return 5; - case 0x9b: - return 5; - case 0x9c: - return 6; - case 0x9d: - return 5; - case 0x9e: - return 5; - case 0x9f: - return 6; - case 0xa0: - return 6; - case 0xa1: - return 6; - case 0xa2: - return 7; - case 0xa3: - return 6; - case 0xa4: - return 6; - case 0xa5: - return 7; - case 0xa6: - return 6; - case 0xa7: - return 6; - case 0xa8: - return 7; - case 0xa9: - return 2; - case 0xaa: - return 3; - case 0xab: - return 3; - case 0xac: - return 4; - case 0xad: - break; - case 0xae: - return 1; - case 0xaf: - return 1; - case 0xb0: - return 1; - case 0xb1: - return 1; - case 0xb2: - return 2; - case 0xb3: - return 5; - case 0xb4: - return 5; - case 0xb5: - return 1; - case 0xb6: - return 1; - case 0xb7: - return 3; - case 0xb8: - return 1; - case 0xb9: - return 1; - case 0xba: - return 2; - case 0xbb: - return 4; - case 0xbc: - return 4; - case 0xbd: - return 0xc; - case 0xbe: - return 0xb; - case 0xbf: - return 9; - case 0xc0: - return 8; - case 0xc1: - return 5; - case 0xc2: - return 3; - case 0xc3: - return 3; - case 0xc4: - return 4; - case 0xc5: - return 5; - case 0xc6: - return 6; - case 199: - return 6; - case 200: - return 6; - case 0xc9: - return 2; - case 0xca: - return 5; - case 0xcb: - return 2; - case 0xcc: - return 5; - case 0xcd: - return 5; - case 0xce: - return 2; - case 0xcf: - return 2; - case 0xd0: - return 4; - case 0xd1: - return 2; - case 0xd2: - return 1; - case 0xd3: - return 1; - case 0xd4: - return 3; - case 0xd5: - return 6; - case 0xd6: - return 4; - case 0xd7: - return 2; - case 0xd8: - return 1; - case 0xd9: - return 5; - case 0xda: - return 1; - case 0xdb: - return 1; - case 0xdc: - return 2; - case 0xdd: - return 1; - case 0xde: - return 1; - case 0xdf: - return 2; - case 0xe0: - return 3; - case 0xe1: - return 3; - case 0xe2: - return 4; - case 0xe3: - return 2; - case 0xe4: - return 2; - case 0xe5: - return 3; - case 0xe6: - return 5; - case 0xe7: - return 2; - case 0xe8: - return 2; - case 0xe9: - return 1; - case 0xea: - return 1; - case 0xeb: - return 2; - case 0xec: - return 1; - case 0xed: - return 1; - case 0xee: - return 0xd; - case 0xef: - return 1; - case 0xf0: - return 2; - case 0xf1: - return 2; - case 0xf2: - return 3; - case 0xf3: - return 2; - case 0xf4: - return 4; - case 0xf5: - return 2; - case 0xf6: - return 1; - case 0xf7: - return 3; - case 0xf8: - return 3; - case 0xf9: - return 1; - case 0xfa: - return 1; - case 0xfb: - return 1; - case 0xfc: - return 2; - default: - return 1; - } - iVar3 = param_2 + 1; - if (((undefined *)(param_1 + param_2))[1] == '\0') { - iVar3 -= param_2; - } - else { - cVar1 = *(char *)(param_1 + iVar3 + 1); - iVar2 = param_1 + iVar3; - while( true ) { - iVar3 += 1; - if (cVar1 == '\0') break; - cVar1 = *(char *)(iVar2 + 2); - iVar2 = iVar2 + 1; - } - iVar3 -= param_2; - } - return iVar3 + 1; -} - - - -undefined * proc_7F035244(undefined *param_1,undefined4 *param_2) - -{ - struct_13 *psVar1; - undefined *puVar2; - int iVar3; - struct_13 *psVar4; - undefined *puVar5; - - if ((ptr_setup_actions != NULL) && (iVar3 = 0, *(int *)ptr_setup_actions != 0)) { - puVar2 = *(undefined **)ptr_setup_actions; - puVar5 = ptr_setup_actions; - do { - if (param_1 == puVar2) { - *param_2 = 0; - return *(undefined **)(ptr_setup_actions + iVar3 + 4); - } - puVar2 = *(undefined **)(puVar5 + 8); - iVar3 += 8; - puVar5 = puVar5 + 8; - } while (puVar2 != NULL); - } - psVar4 = &stru_8003744C; - puVar2 = (undefined *)stru_8003744C.anonymous_0; - if (stru_8003744C.anonymous_0 != NULL) { - do { - if (param_1 == puVar2) { - *param_2 = 1; - return (undefined *)psVar4->anonymous_1; - } - psVar1 = psVar4 + 1; - psVar4 = psVar4 + 1; - puVar2 = (undefined *)psVar1->anonymous_0; - } while ((undefined *)psVar1->anonymous_0 != NULL); - } - return (undefined *)0xffffffff; -} - - - -int proc_7F0352F0(undefined *param_1,int param_2,char param_3) - -{ - char cVar1; - int iVar2; - undefined4 auStack12 [3]; - - do { - cVar1 = param_1[param_2]; - if (cVar1 == '\x02') { - if (param_3 == (param_1 + param_2)[1]) { - return param_2; - } - } - else { - if (cVar1 == '\x04') { - proc_7F035244(param_1,auStack12); - return 0; - } - } - iVar2 = get_length_of_action_block((int)param_1,param_2); - param_2 += iVar2; - } while( true ); -} - - - -undefined * proc_7F035398(undefined *param_1) - -{ - undefined4 *puVar1; - struct_13 *psVar2; - undefined *puVar3; - - if ((int)param_1 < 0x401) { - psVar2 = &stru_8003744C; - puVar3 = (undefined *)stru_8003744C.anonymous_1; - if (stru_8003744C.anonymous_0 != NULL) { - while( true ) { - if (param_1 == puVar3) { - return (undefined *)psVar2->anonymous_0; - } - if (psVar2[1].anonymous_0 == NULL) break; - puVar3 = (undefined *)psVar2[1].anonymous_1; - psVar2 = psVar2 + 1; - } - } - } - else { - if ((ptr_setup_actions != NULL) && (*(int *)ptr_setup_actions != 0)) { - puVar3 = *(undefined **)(ptr_setup_actions + 4); - puVar1 = (undefined4 *)ptr_setup_actions; - while( true ) { - if (param_1 == puVar3) { - return (undefined *)*puVar1; - } - if (puVar1[2] == 0) break; - puVar3 = (undefined *)puVar1[3]; - puVar1 = puVar1 + 2; - } - } - } - return NULL; -} - - - -int * get_ptr_path_for_pathnum(ulonglong pathnum) - -{ - byte bVar1; - undefined *puVar2; - int iVar3; - - iVar3 = 0; - if (*(int *)ptr_setup_path_sets != 0) { - bVar1 = ptr_setup_path_sets[4]; - puVar2 = ptr_setup_path_sets; - while( true ) { - if (pathnum == (ulonglong)bVar1) { - return (int *)(ptr_setup_path_sets + iVar3 * 8); - } - iVar3 += 1; - if (*(int *)(puVar2 + 8) == 0) break; - bVar1 = puVar2[0xc]; - puVar2 = puVar2 + 8; - } - } - return NULL; -} - - -/* -Unable to decompile 'parse_handle_actionblocks' -Cause: Exception while decompiling 7f035484: process: timeout - -*/ - - -// WARNING: Instruction at (ram,0x7f03a330) overlaps instruction at (ram,0x7f03a32c) -// - -void proc_7F03A240(void) - -{ - byte bVar1; - undefined4 uVar2; - bool bVar3; - object_standard *poVar4; - int iVar5; - int *piVar6; - int iVar7; - int iVar8; - uint uVar9; - int iVar10; - int iVar11; - float fVar12; - float fVar13; - float fVar14; - - poVar4 = get_ptr_obj_pos_list_current_entry(); - iVar8 = 0; - if (poVar4 != NULL) { - bVar1 = *(byte *)&poVar4->field_0x1; - while( true ) { - if ((bVar1 & 6) == 6) { - *(object_standard **)(&DAT_80071620 + iVar8) = poVar4; - iVar8 += 1; - poVar4 = (object_standard *)poVar4->runtime_MATRIX3; - } - else { - poVar4 = (object_standard *)poVar4->runtime_MATRIX3; - } - if (poVar4 == NULL) break; - bVar1 = *(byte *)&poVar4->field_0x1; - } - } - DAT_80071df4 = iVar8; - (&DAT_80071620)[iVar8] = 0; - DAT_80071df0 = &DAT_80071620 + iVar8; - iVar10 = 0; - if (iVar8 < 1) { - return; - } - bVar3 = 0 < iVar8; - do { - iVar7 = -1; - if (bVar3) { - uVar9 = iVar8 - iVar10 & 3; - iVar5 = iVar10; - if (uVar9 == 0) { - iVar11 = iVar10 << 2; - fVar13 = -4294967296.00000000; - } - else { - piVar6 = &DAT_80071620 + iVar10; - fVar14 = -4294967296.00000000; - iVar11 = iVar7; - do { - fVar13 = *(float *)(*piVar6 + 0x18); - iVar7 = iVar5; - if (fVar13 <= fVar14) { - fVar13 = fVar14; - iVar7 = iVar11; - } - iVar5 += 1; - piVar6 = piVar6 + 1; - fVar14 = fVar13; - iVar11 = iVar7; - } while (uVar9 + iVar10 != iVar5); - iVar11 = iVar5 * 4; - if (iVar5 == iVar8) goto LAB_7f03a3c4; - } - piVar6 = (int *)((int)&DAT_80071620 + iVar11); - do { - fVar14 = *(float *)(*piVar6 + 0x18); - if (fVar13 < fVar14) { - iVar11 = piVar6[1]; - iVar7 = iVar5; - } - else { - iVar11 = piVar6[1]; - fVar14 = fVar13; - } - fVar12 = *(float *)(iVar11 + 0x18); - if (fVar14 < fVar12) { - iVar7 = iVar5 + 1; - iVar11 = piVar6[2]; - } - else { - iVar11 = piVar6[2]; - fVar12 = fVar14; - } - fVar13 = *(float *)(iVar11 + 0x18); - if (fVar12 < fVar13) { - iVar7 = iVar5 + 2; - iVar11 = piVar6[3]; - } - else { - iVar11 = piVar6[3]; - fVar13 = fVar12; - } - if (fVar13 < *(float *)(iVar11 + 0x18)) { - iVar7 = iVar5 + 3; - fVar13 = *(float *)(iVar11 + 0x18); - } - iVar5 += 4; - piVar6 = piVar6 + 4; - } while (iVar5 != iVar8); - } -LAB_7f03a3c4: - if (-1 < iVar7) { - uVar2 = (&DAT_80071620)[iVar10]; - (&DAT_80071620)[iVar10] = (&DAT_80071620)[iVar7]; - (&DAT_80071620)[iVar7] = uVar2; - } - iVar10 += 1; - if (iVar10 == iVar8) { - return; - } - bVar3 = iVar10 < iVar8; - } while( true ); -} - - - -void set_stateflag_0x04_for_posdata(int param_1) - -{ - *(byte *)(param_1 + 1) = *(byte *)(param_1 + 1) | 4; - return; -} - - - -void unset_stateflag_0x04_for_posdata(int param_1) - -{ - *(byte *)(param_1 + 1) = *(byte *)(param_1 + 1) & 0xfb; - return; -} - - - -object_standard * get_ptr_obj_pos_list_current_entry(void) - -{ - return (object_standard *)ptr_obj_pos_list_current_entry; -} - - - -object_standard * remove_last_obj_pos_data_entry(void) - -{ - int *piVar1; - object_standard *poVar2; - - poVar2 = ptr_obj_pos_list_final_entry; - if (ptr_obj_pos_list_final_entry == NULL) { - return NULL; - } - piVar1 = &ptr_obj_pos_list_final_entry->runtime_MATRIX3; - ptr_obj_pos_list_final_entry = (object_standard *)ptr_obj_pos_list_final_entry->runtime_MATRIX3; - *piVar1 = 0; - poVar2->runtime_MATRIX4 = 0; - poVar2->runtime_MATRIX1 = 0; - poVar2->runtime_MATRIX2 = 0; - *(undefined *)((int)&poVar2->extrascale + 1) = 0; - poVar2->runtime_ptr_obj_instance_controller = 0; - *(undefined2 *)&poVar2->hidden2 = 0; - *(undefined *)&poVar2->runtime_MATRIX5 = 0xff; - return poVar2; -} - - - -void set_last_obj_pos_data(object_standard *param_1) - -{ - param_1->runtime_MATRIX4 = 0; - param_1->runtime_ptr_obj_instance_controller = 0; - *(object_standard **)¶m_1->runtime_MATRIX3 = ptr_obj_pos_list_final_entry; - ptr_obj_pos_list_final_entry = param_1; - return; -} - - - -void set_current_objposdata_plus_0x28(object_standard *param_1) - -{ - if (ptr_obj_pos_list_current_entry != NULL) { - *(object_standard **)&ptr_obj_pos_list_current_entry->runtime_MATRIX4 = param_1; - param_1->runtime_MATRIX4 = 0; - *(object_standard **)¶m_1->runtime_MATRIX3 = ptr_obj_pos_list_current_entry; - ptr_obj_pos_list_current_entry = param_1; - return; - } - param_1->runtime_MATRIX3 = 0; - param_1->runtime_MATRIX4 = 0; - ptr_obj_pos_list_current_entry = param_1; - ptr_obj_pos_list_first_entry = param_1; - return; -} - - - -void proc_7F03A4F0(int param_1) - -{ - if (ptr_obj_pos_list_first_entry == NULL) { - *(undefined4 *)(param_1 + 0x24) = 0; - *(undefined4 *)(param_1 + 0x28) = 0; - ptr_obj_pos_list_current_entry = (object_standard *)param_1; - ptr_obj_pos_list_first_entry = (object_standard *)param_1; - return; - } - ptr_obj_pos_list_first_entry->runtime_MATRIX3 = param_1; - *(undefined4 *)(param_1 + 0x24) = 0; - *(object_standard **)(param_1 + 0x28) = ptr_obj_pos_list_first_entry; - ptr_obj_pos_list_first_entry = (object_standard *)param_1; - return; -} - - - -void proc_7F03A538(int param_1) - -{ - int iVar1; - - if ((object_standard *)param_1 == ptr_obj_pos_list_current_entry) { - ptr_obj_pos_list_current_entry = *(object_standard **)(param_1 + 0x24); - } - if ((object_standard *)param_1 == ptr_obj_pos_list_first_entry) { - ptr_obj_pos_list_first_entry = *(object_standard **)(param_1 + 0x28); - iVar1 = *(int *)(param_1 + 0x24); - } - else { - iVar1 = *(int *)(param_1 + 0x24); - } - if (iVar1 == 0) { - iVar1 = *(int *)(param_1 + 0x28); - } - else { - *(undefined4 *)(iVar1 + 0x28) = *(undefined4 *)(param_1 + 0x28); - iVar1 = *(int *)(param_1 + 0x28); - } - if (iVar1 == 0) { - *(undefined4 *)(param_1 + 0x24) = 0; - } - else { - *(undefined4 *)(iVar1 + 0x24) = *(undefined4 *)(param_1 + 0x24); - *(undefined4 *)(param_1 + 0x24) = 0; - } - *(undefined4 *)(param_1 + 0x28) = 0; - return; -} - - - -void proc_7F03A5A4(int param_1,int param_2) - -{ - *(int *)(param_1 + 0x1c) = param_2; - if (*(int *)(param_2 + 0x20) == 0) { - *(undefined4 *)(param_1 + 0x24) = 0; - } - else { - *(int *)(*(int *)(param_2 + 0x20) + 0x28) = param_1; - *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(param_2 + 0x20); - } - *(undefined4 *)(param_1 + 0x28) = 0; - *(undefined4 *)(param_1 + 0x14) = 0; - *(int *)(param_2 + 0x20) = param_1; - return; -} - - - -void proc_7F03A5D0(int param_1) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 0x1c); - if (iVar1 != 0) { - if (param_1 == *(int *)(iVar1 + 0x20)) { - *(undefined4 *)(iVar1 + 0x20) = *(undefined4 *)(param_1 + 0x24); - iVar1 = *(int *)(param_1 + 0x24); - } - else { - iVar1 = *(int *)(param_1 + 0x24); - } - if (iVar1 == 0) { - iVar1 = *(int *)(param_1 + 0x28); - } - else { - *(undefined4 *)(iVar1 + 0x28) = *(undefined4 *)(param_1 + 0x28); - iVar1 = *(int *)(param_1 + 0x28); - } - if (iVar1 == 0) { - *(undefined4 *)(param_1 + 0x1c) = 0; - } - else { - *(undefined4 *)(iVar1 + 0x24) = *(undefined4 *)(param_1 + 0x24); - *(undefined4 *)(param_1 + 0x1c) = 0; - } - *(undefined4 *)(param_1 + 0x24) = 0; - *(undefined4 *)(param_1 + 0x28) = 0; - } - return; -} - - - -undefined8 proc_7F03A62C(undefined8 param_1,char *param_2,longlong param_3) - -{ - char cVar1; - uint uVar2; - - uVar2 = (uint)param_3; - cVar1 = *param_2; - if (cVar1 == '\x03') { - param_1 = proc_7F021BFC(param_2,(uint *)param_1,uVar2); - } - else { - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - param_1 = proc_7F04B150(param_2,(uint *)param_1,uVar2); - } - else { - if (cVar1 == '\a') { - param_1 = proc_7F09D5A0(param_2,param_1,param_3); - } - else { - if (cVar1 == '\b') { - param_1 = proc_7F09F03C(param_2,param_1,param_3); - } - else { - if (cVar1 == '\x06') { - param_1 = proc_7F08BCC0(param_2,param_1,uVar2); - } - } - } - } - } - return param_1; -} - - - -longlong proc_7F03A6F4(longlong param_1,uint param_2,longlong param_3) - -{ - char *pcVar1; - uint uVar2; - bool bVar3; - int iVar5; - ulonglong uVar4; - uint *puVar6; - char **ppcVar7; - uint auStack40 [10]; - - puVar6 = (uint *)param_1; - iVar5 = get_stage_num(); - if (iVar5 == 0x36) { - if (param_3 == 0) { - return param_1; - } - if (param_3 == 2) { - param_3 = 0; - } - } - if ((param_3 == 0) || (param_3 == 2)) { - ppcVar7 = DAT_80071df0 + -1; - if ((char **)((int)&DAT_8007161c + 3) < ppcVar7) { - pcVar1 = *ppcVar7; - do { - if (pcVar1 != NULL) { - bVar3 = false; - if ((param_3 == 0) && ((pcVar1[1] & 0x21U) == 0)) { - bVar3 = true; - } - else { - if ((param_3 == 2) && ((pcVar1[1] & 0x21U) == 1)) { - bVar3 = true; - } - } - if (bVar3) { - bVar3 = false; - proc_7F03CB8C(pcVar1,auStack40); - puVar6 = auStack40; - uVar2 = auStack40[0]; - while (-1 < (int)uVar2) { - uVar4 = proc_7F0B5E50(uVar2); - if (uVar4 != 0) { - if (param_2 == *puVar6) { - bVar3 = true; - } - break; - } - uVar2 = puVar6[1]; - puVar6 = puVar6 + 1; - } - if (bVar3) { - param_1 = proc_7F03A62C(param_1,pcVar1,0); - } - } - } - puVar6 = (uint *)param_1; - ppcVar7 = ppcVar7 + -1; - if (ppcVar7 < &DAT_80071620) break; - pcVar1 = *ppcVar7; - } while( true ); - } - } - else { - ppcVar7 = (char **)&DAT_80071620; - if (&DAT_80071620 < DAT_80071df0) { - pcVar1 = DAT_80071620; - do { - bVar3 = false; - if (pcVar1 != NULL) { - proc_7F03CB8C(pcVar1,auStack40); - puVar6 = auStack40; - uVar2 = auStack40[0]; - while (-1 < (int)uVar2) { - uVar4 = proc_7F0B5E50(uVar2); - if (uVar4 != 0) { - if (param_2 == *puVar6) { - bVar3 = true; - } - break; - } - uVar2 = puVar6[1]; - puVar6 = puVar6 + 1; - } - if (bVar3) { - if ((pcVar1[1] & 0x20U) != 0) { - param_1 = proc_7F03A62C(param_1,pcVar1,0); - } - param_1 = proc_7F03A62C(param_1,pcVar1,1); - } - } - puVar6 = (uint *)param_1; - ppcVar7 = ppcVar7 + 1; - if (DAT_80071df0 <= ppcVar7) break; - pcVar1 = *ppcVar7; - } while( true ); - } - } - puVar6 = proc_7F0B4FB4(puVar6); - return (longlong)(int)puVar6; -} - - - -undefined8 proc_7F03A97C(int param_1,float *param_2,float *param_3) - -{ - longlong lVar1; - undefined8 uVar2; - int local_18; - int local_14; - int local_10; - int local_c; - int local_8; - int local_4; - - if (roominformationblock[param_1].ptr_unique_collision_points == NULL) { - uVar2 = 0; - } - else { - local_18 = (int)roominformationblock[param_1].minxbounds; - local_14 = (int)roominformationblock[param_1].minybounds; - local_10 = (int)roominformationblock[param_1].minzbounds; - local_c = (int)roominformationblock[param_1].maxxbounds; - local_8 = (int)roominformationblock[param_1].maxybounds; - local_4 = (int)roominformationblock[param_1].maxzbounds; - lVar1 = proc_7F0B6CEC(param_2,param_3,&local_18,&local_c); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - } - } - return uVar2; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F03AA44(void) - -{ - char cVar1; - int iVar3; - longlong lVar2; - float *in_a1_lo; - float *in_a2_lo; - int in_a3_lo; - int iVar4; - char *pcVar5; - f32 fVar6; - f32 fVar7; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar6 = proc_7F0B483C(); - fVar7 = proc_7F0B4878(); - iVar4 = 1; - fStack24 = *in_a2_lo - *in_a1_lo; - fStack20 = in_a2_lo[1] - in_a1_lo[1]; - fStack4 = (float)fVar7 * (float)fVar6; - fStack16 = in_a2_lo[2] - in_a1_lo[2]; - fStack12 = *in_a1_lo * fStack4; - fStack8 = in_a1_lo[1] * fStack4; - fStack4 = in_a1_lo[2] * fStack4; - iVar3 = get_max_num_rooms(); - pcVar5 = (char *)(in_a3_lo + 1); - if (1 < iVar3) { - cVar1 = *pcVar5; - while( true ) { - if ((cVar1 == '\0') && (lVar2 = proc_7F03A97C(iVar4,&fStack12,&fStack24), lVar2 == 0)) { - *pcVar5 = '\x01'; - } - iVar4 += 1; - pcVar5 = pcVar5 + 1; - iVar3 = get_max_num_rooms(); - if (iVar3 <= iVar4) break; - cVar1 = *pcVar5; - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -uint proc_7F03AB58(void) - -{ - uint uVar1; - int iVar3; - longlong lVar2; - float *in_a0_lo; - float *in_a1_lo; - float *in_a2_lo; - float *in_a3_lo; - float *pfVar4; - float *pfVar5; - float *pfVar6; - uint *puVar7; - uint *puVar8; - f32 fVar9; - float fVar10; - float fVar11; - int in_stack_00000010; - float *in_stack_00000014; - uint in_stack_00000018; - float fStack460; - float fStack456; - float fStack452; - float afStack412 [3]; - uint auStack400 [100]; - - fVar9 = proc_7F0B4830(); - iVar3 = proc_7F0B8E98(auStack400,100); - puVar7 = auStack400; - if (iVar3 < 1) { - return in_stack_00000018; - } - puVar8 = puVar7 + iVar3; - do { - if (*(char *)(auStack400[0] + in_stack_00000010) == '\0') { - *(char *)(auStack400[0] + in_stack_00000010) = '\x01'; - lVar2 = proc_7F03A97C(*puVar7,in_a3_lo,in_a2_lo); - if ((lVar2 != 0) && - (iVar3 = proc_7F0B7A78(in_a0_lo,in_a1_lo,*puVar7,&fStack460), iVar3 != 0)) { - fStack460 = fStack460 * (float)fVar9; - fStack456 = fStack456 * (float)fVar9; - uVar1 = *puVar7; - fStack452 = fStack452 * (float)fVar9; - pfVar4 = &fStack460; - pfVar6 = in_stack_00000014; - if (0 < (int)in_stack_00000018) { - fVar10 = *in_stack_00000014; - fVar11 = *in_a0_lo; - if (((fVar10 < fVar11) || (fStack460 < fVar11)) || (fVar10 <= fStack460)) { - if (((fVar11 < fVar10) || (fVar11 < fStack460)) || (fStack460 <= fVar10)) - goto LAB_7f03adb4; - fVar10 = in_stack_00000014[1]; - } - else { - fVar10 = in_stack_00000014[1]; - } - fVar11 = in_a0_lo[1]; - if (((fVar10 < fVar11) || (fStack456 < fVar11)) || (fVar10 <= fStack456)) { - if (((fVar11 < fVar10) || (fVar11 < fStack456)) || (fStack456 <= fVar10)) - goto LAB_7f03adb4; - fVar10 = in_stack_00000014[2]; - } - else { - fVar10 = in_stack_00000014[2]; - } - fVar11 = in_a0_lo[2]; - if ((((fVar10 < fVar11) || (fStack452 < fVar11)) || (fVar10 <= fStack452)) && - (((fVar11 < fVar10 || (fVar11 < fStack452)) || (fStack452 <= fVar10)))) - goto LAB_7f03adb4; - } - do { - pfVar5 = pfVar4 + 3; - *pfVar6 = *pfVar4; - pfVar6[1] = pfVar4[1]; - pfVar6[2] = pfVar4[2]; - pfVar4 = pfVar5; - pfVar6 = pfVar6 + 3; - in_stack_00000018 = uVar1; - } while (pfVar5 != afStack412); - } - } -LAB_7f03adb4: - puVar7 = puVar7 + 1; - if (puVar8 <= puVar7) { - return in_stack_00000018; - } - auStack400[0] = *puVar7; - } while( true ); -} - - - -ulonglong proc_7F03ADF4(byte param_1,float *param_2,float *param_3,float *param_4,float *param_5, - int param_6,float *param_7) - -{ - byte bVar1; - longlong lVar2; - int iVar3; - byte *pbVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - byte *pbVar9; - int aiStack660 [101]; - byte abStack256 [256]; - - abStack256[0] = param_1; - iVar6 = 1; - iVar8 = 0; - pbVar9 = abStack256; - do { - bVar1 = *pbVar9; - if (*(char *)(param_6 + (uint)bVar1) == '\0') { - *(char *)(param_6 + (uint)bVar1) = '\x01'; - lVar2 = proc_7F03A97C((uint)bVar1,param_5,param_4); - if ((lVar2 != 0) && - (iVar3 = proc_7F0B7A78(param_2,param_3,(uint)bVar1,param_7), iVar3 != 0)) { - return (ulonglong)bVar1; - } - } - iVar7 = 0; - iVar3 = proc_7F0B8EFC((ulonglong)bVar1,aiStack660,100); - if (0 < iVar3) { - do { - iVar5 = 0; - if (0 < iVar6) { - pbVar4 = abStack256; - do { - if ((ulonglong)*pbVar4 == (longlong)aiStack660[iVar7]) break; - iVar5 += 1; - pbVar4 = pbVar4 + 1; - } while (iVar5 != iVar6); - } - if (iVar5 == iVar6) { - pbVar4 = abStack256 + iVar6; - iVar6 += 1; - *pbVar4 = (byte)aiStack660[iVar7]; - } - iVar7 += 1; - } while (iVar7 < iVar3); - } - iVar8 += 1; - pbVar9 = pbVar9 + 1; - if (iVar6 <= iVar8) { - return 0; - } - } while( true ); -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -int proc_7F03AF5C(void) - -{ - char cVar1; - int iVar3; - longlong lVar2; - float *in_a1_lo; - float *in_a2_lo; - float *in_a3_lo; - int iVar4; - char *pcVar5; - int iVar6; - f32 fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float *in_stack_00000010; - int in_stack_00000014; - float *in_stack_00000018; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - undefined2 uStack16; - short sStack14; - - fVar11 = 4294967296.00000000; - iVar6 = 0; - fVar7 = proc_7F0B4830(); - iVar4 = 1; - iVar3 = get_max_num_rooms(); - if (1 < iVar3) { - pcVar5 = (char *)(in_stack_00000014 + 1); - cVar1 = *pcVar5; - while( true ) { - if (cVar1 == '\0') { - *pcVar5 = '\x01'; - lVar2 = proc_7F03A97C(iVar4,in_stack_00000010,in_a3_lo); - if ((lVar2 != 0) && - (iVar3 = proc_7F0B7A78(in_a1_lo,in_a2_lo,iVar4,&fStack56), iVar3 != 0)) { - fVar8 = fStack56 * (float)fVar7 - *in_a1_lo; - fVar9 = fStack52 * (float)fVar7 - in_a1_lo[1]; - fVar10 = fStack48 * (float)fVar7 - in_a1_lo[2]; - fVar8 = fVar8 * fVar8 + fVar9 * fVar9 + fVar10 * fVar10; - lVar2 = check_if_imageID_is_light((longlong)sStack14); - if (lVar2 != 0) { - fVar8 = fVar8 - 4.00000000; - } - if (fVar8 < fVar11) { - *in_stack_00000018 = fStack56; - in_stack_00000018[1] = fStack52; - in_stack_00000018[2] = fStack48; - in_stack_00000018[3] = fStack44; - in_stack_00000018[4] = fStack40; - in_stack_00000018[5] = fStack36; - in_stack_00000018[6] = fStack32; - in_stack_00000018[7] = fStack28; - in_stack_00000018[8] = fStack24; - *(short *)((int)in_stack_00000018 + 0x2a) = sStack14; - in_stack_00000018[9] = fStack20; - *(undefined2 *)(in_stack_00000018 + 10) = uStack16; - fVar11 = fVar8; - iVar6 = iVar4; - } - } - } - iVar4 += 1; - pcVar5 = pcVar5 + 1; - iVar3 = get_max_num_rooms(); - if (iVar3 <= iVar4) break; - cVar1 = *pcVar5; - } - } - return iVar6; -} - - - -// WARNING: Instruction at (ram,0x7f03b764) overlaps instruction at (ram,0x7f03b760) -// -// WARNING: Could not reconcile some variable overlaps - -void proc_7F03B15C(undefined8 param_1) - -{ - object_standard *position_data_pointer; - char *pcVar1; - hit_header **pphVar2; - bool bVar3; - int iVar6; - xyzpoint *pxVar7; - uint uVar8; - char cVar10; - ulonglong uVar4; - u32 uVar9; - longlong lVar5; - int *piVar11; - undefined8 extraout_a2; - int iVar13; - undefined8 extraout_a2_00; - undefined8 extraout_a2_01; - undefined8 uVar12; - undefined8 extraout_a2_02; - undefined8 extraout_a2_03; - undefined8 extraout_a2_04; - undefined8 extraout_a3; - undefined8 extraout_a3_00; - undefined8 extraout_a3_01; - undefined8 uVar14; - undefined8 extraout_a3_02; - undefined8 extraout_a3_03; - undefined8 extraout_a3_04; - float fVar15; - byte bVar16; - float *pfVar17; - object_standard **ppoVar18; - f32 fVar19; - f32 fVar20; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - float extraout_f14_00; - char cStack1320; - undefined uStack1319; - float fStack1292; - float fStack1288; - float fStack1284; - float fStack1280; - float fStack1276; - float fStack1272; - float fStack1268; - undefined4 uStack1260; - int aiStack1004 [2]; - float fStack996; - float fStack992; - float fStack988; - float fStack984; - float fStack980; - float fStack976; - ITEM_IDS IStack972; - float fStack968; - float fStack964; - float fStack960; - float fStack956; - float fStack952; - float fStack948; - float fStack944; - char *pcStack936; - undefined4 uStack932; - undefined4 uStack928; - undefined4 uStack856; - undefined4 uStack852; - undefined4 uStack848; - float afStack836 [160]; - float afStack196 [14]; - float fStack140; - float fStack136; - float fStack132; - int aiStack128 [2]; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float afStack92 [6]; - int iStack68; - short sStack64; - short sStack62; - int iStack56; - undefined4 uStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack36; - int iStack28; - float fStack24; - float fStack20; - float fStack16; - int iStack12; - - iStack12 = 0; - iStack28 = 0; - iStack36 = 0; - uStack52 = 0; - iVar6 = get_curplayer_positiondata(); - aiStack128[0] = *(int *)(iVar6 + 0x14); - aiStack1004[0] = 0; - proc_7F0681CC(); - IStack972 = get_item_in_hand(param_1._4_4_); - pcStack936 = NULL; - uStack932 = 0; - uStack928 = 0; - uStack856 = 0; - uStack852 = 0; - uStack848 = 0; - fStack944 = 4294967296.00000000; - pfVar17 = afStack836; - do { - pfVar17 = pfVar17 + 0x50; - pfVar17[0x23] = 0.00000000; - pfVar17[0x24] = 0.00000000; - pfVar17[0x25] = 0.00000000; - pfVar17[0x37] = 0.00000000; - pfVar17[0x38] = 0.00000000; - pfVar17[0x39] = 0.00000000; - pfVar17[0x4b] = 0.00000000; - pfVar17[0x4c] = 0.00000000; - pfVar17[0x4d] = 0.00000000; - pfVar17[0xf] = 0.00000000; - pfVar17[0x10] = 0.00000000; - pfVar17[0x11] = 0.00000000; - pfVar17 = pfVar17; - } while (pfVar17 != afStack196); - fStack968 = fStack996; - fStack964 = fStack992; - fStack960 = fStack988; - pfVar17 = (float *)get_BONDdata_field_10D4(); - proc_7F058474(pfVar17,&fStack968); - fStack956 = fStack984; - fStack952 = fStack980; - fStack948 = fStack976; - pfVar17 = (float *)get_BONDdata_field_10D4(); - lVar5 = (longlong)(int)pfVar17; - proc_7F0583D8(pfVar17,&fStack956); - fStack140 = fStack956 * 65536.00000000 + fStack968; - fStack136 = fStack952 * 65536.00000000 + fStack964; - fStack132 = fStack948 * 65536.00000000 + fStack960; - proc_7F0B0BE4(aiStack128,extraout_f12,extraout_f14,*(float *)(iVar6 + 8), - *(float *)(iVar6 + 0x10)); - uVar12 = extraout_a2; - uVar14 = extraout_a3; - if (lVar5 != 0) { - fVar19 = proc_7F0B483C(); - fVar20 = proc_7F0B4878(); - fStack1292 = (float)fVar20 * (float)fVar19; - pxVar7 = get_BONDdata_position(); - lVar5 = (longlong)(int)pxVar7; - proc_7F0B1CC4(); - proc_7F0B0BE4(aiStack128,extraout_f12_00,extraout_f14_00,fStack968,fStack960); - if (lVar5 == 0) { - proc_7F02624C(&fStack968,&fStack956,&fStack24); - iStack12 = 1; - } - else { - fStack24 = fStack140; - fStack20 = fStack136; - fStack16 = fStack132; - } - fStack1288 = fStack24 - (float)pxVar7->x; - fStack1284 = fStack20 - (float)pxVar7->y; - fStack1280 = fStack16 - (float)pxVar7->z; - fStack1276 = (float)pxVar7->x * fStack1292; - fStack1272 = (float)pxVar7->y * fStack1292; - iStack28 = aiStack128[0]; - fStack1268 = (float)pxVar7->z * fStack1292; - uVar4 = proc_7F0B2FD8(aiStack128[0]); - piVar11 = &uStack1260; - do { - piVar11 = piVar11 + 1; - *(undefined *)((int)piVar11 + 1) = 0; - *(undefined *)((int)piVar11 + 2) = 0; - *(undefined *)((int)piVar11 + 3) = 0; - *(undefined *)piVar11 = 0; - piVar11 = piVar11; - } while (piVar11 != aiStack1004); - iVar13 = (int)uVar4; - iVar6 = proc_7F0B7A78((float *)pxVar7,&fStack24,iVar13,&fStack104); - if (iVar6 != 0) { - uStack52 = iVar13; - } - *(undefined *)((int)&uStack1260 + iVar13) = 1; - if (uStack52 < 1) { - if (ptr_bgdata_portals->offset_portal == NULL) { - iVar6 = get_curplayer_positiondata(); - proc_7F0B2FD8(*(int *)(iVar6 + 0x14)); - uStack52 = proc_7F03AF5C(); - } - else { - iVar6 = get_curplayer_positiondata(); - uVar4 = proc_7F0B2FD8(*(int *)(iVar6 + 0x14)); - uVar4 = proc_7F03ADF4((byte)uVar4,(float *)pxVar7,&fStack24,&fStack1288,&fStack1276, - (int)&uStack1260,&fStack104); - uStack52 = (int)uVar4; - } - } - if (0 < uStack52) { - fVar19 = proc_7F0B4830(); - fStack104 = fStack104 * (float)fVar19; - fStack100 = fStack100 * (float)fVar19; - fStack96 = fStack96 * (float)fVar19; - } - lVar5 = proc_7F03AB58(); - uStack52 = (int)lVar5; - if (lVar5 < 1) { - uStack52 = iVar13; - iStack56 = -1; - fStack120 = fStack140; - fStack116 = fStack136; - fStack112 = fStack132; - } - else { - iStack36 = 1; - iStack56 = (int)sStack62; - fStack48 = fStack104; - fStack120 = fStack104; - fStack44 = fStack100; - fStack116 = fStack100; - fStack40 = fStack96; - fStack112 = fStack96; - } - if ((iStack12 != 0) || (uVar12 = extraout_a2_00, uVar14 = extraout_a3_00, iStack36 != 0)) { - pfVar17 = (float *)get_BONDdata_field_10CC(); - proc_7F058474(pfVar17,&fStack120); - fStack944 = -fStack112; - fStack108 = fStack944; - uVar12 = extraout_a2_01; - uVar14 = extraout_a3_01; - } - } - if ((IStack972 == ITEM_WATCHLASER) && (300.00000000 < fStack944)) { - fStack944 = 300.00000000; - } - ppoVar18 = (object_standard **)(DAT_80071df0 + -4); - if (ppoVar18 <= (object_standard **)((int)&DAT_8007161c + 3)) { -LAB_7f03b6a8: - pcVar1 = pcStack936; - pfVar17 = &fStack996; - while( true ) { - if (pcVar1 != NULL) { - cVar10 = *pcVar1; - if ((cVar10 == '\x03') || (cVar10 == '\x06')) { - proc_7F022980(&fStack996,pfVar17 + 0xe); - fVar15 = pfVar17[0x21]; - } - else { - if (((cVar10 == '\x01') || (cVar10 == '\x04')) || (cVar10 == '\x02')) { - proc_7F04EA68(&fStack996,pfVar17 + 0xe); - fVar15 = pfVar17[0x21]; - } - else { - fVar15 = pfVar17[0x21]; - } - } - if ((fVar15 != 0.00000000) && - (aiStack1004[0] = aiStack1004[0] + 1, uVar4 = proc_7F05E038(IStack972), - (longlong)uVar4 <= (longlong)aiStack1004[0])) { - iStack36 = 0; - iStack12 = 0; - } - } - if (pfVar17 + 0x14 == afStack196) break; - pcVar1 = (char *)pfVar17[0x23]; - pfVar17 = pfVar17 + 0x14; - } - if ((iStack36 != 0) || (iStack12 != 0)) { - pfVar17 = NULL; - bVar3 = true; - if ((IStack972 == ITEM_WATCHLASER) && (300.00000000 < fStack108)) { - bVar3 = false; - } - if (iStack36 == 0) { - if (iStack12 != 0) { - pfVar17 = &fStack24; - fStack24 = fStack956 * 65536.00000000 + fStack968; - fStack20 = fStack952 * 65536.00000000 + fStack964; - fStack16 = fStack948 * 65536.00000000 + fStack960; - } - } - else { - pphVar2 = hit_header_array[0]; - if (-1 < sStack62) { - pphVar2 = hit_header_array[(uint)(byte)image_entries[sStack62].flag1 & 0xf]; - } - if (bVar3) { - if ((0 < *(short *)((int)pphVar2 + 10)) && (IStack972 != ITEM_WATCHLASER)) { - uVar9 = get_random_value(); - if (*(short *)((int)pphVar2 + 10) == 0) { - trap(0x1c00); - } - proc_7F0A108C(&fStack48,afStack92, - (ushort)*(byte *)((int)&pphVar2[1]->pImageIDArray + - uVar9 % (int)*(short *)((int)pphVar2 + 10)), - uStack52._2_2_,0,-1,0); - } - lVar5 = check_if_imageID_is_light((longlong)sStack62); - if (lVar5 != 0) { - proc_7F0BBE0C((longlong)iStack68,(longlong)sStack64,(short)uStack52); - } - } - pfVar17 = &fStack48; - } - if (pfVar17 != NULL) { - if (bVar3) { - recall_joy2_hits_edit_flag(IStack972,pfVar17,iStack56); - bVar16 = image_entries[iStack56].flag1 & 0xf; - if ((bVar16 != 5) && (bVar16 != 6)) { - cStack1320 = (char)uStack52; - uStack1319 = 0xff; - uVar9 = get_cur_playernum(); - proc_7F09C250(0,pfVar17,iStack28,1,0,(char)uVar9,&cStack1320,0); - } - } - *pfVar17 = *pfVar17 - fStack956 * 26.00000000; - pfVar17[1] = pfVar17[1] - fStack952 * 26.00000000; - pfVar17[2] = pfVar17[2] - fStack948 * 26.00000000; - proc_7F067B4C(pfVar17); - if (bVar3) { - proc_7F0A3E1C(pfVar17,1,extraout_f12_01,0); - } - } - } - return; - } - position_data_pointer = *ppoVar18; - do { - extraout_a3_02._4_4_ = (undefined4)uVar14; - extraout_a2_02._4_4_ = (undefined4)uVar12; - if (position_data_pointer != NULL) { - bVar16 = *(byte *)position_data_pointer; - uVar8 = (uint)bVar16; - if (bVar16 == 3) { -code_r0x7f03b650: - proc_7F022648((int)position_data_pointer,&fStack996,extraout_a2_02._4_4_, - extraout_a3_02._4_4_); - uVar12 = extraout_a2_03; - uVar14 = extraout_a3_03; - } - else { - if (bVar16 == 6) { - if (*(int *)&position_data_pointer->pad == 0) { - cVar10 = *(char *)position_data_pointer; - } - else { - proc_7F09B15C((int)position_data_pointer); - uVar9 = get_cur_playernum(); - extraout_a3_02._4_4_ = (undefined4)extraout_a3_02; - extraout_a2_02._4_4_ = (undefined4)extraout_a2_02; - if (uVar9 != uVar8) goto code_r0x7f03b650; - cVar10 = *(char *)position_data_pointer; - uVar12 = extraout_a2_02; - uVar14 = extraout_a3_02; - } - } - else { - cVar10 = *(char *)position_data_pointer; - } - if (((cVar10 == '\x01') || (cVar10 == '\x04')) || (cVar10 == '\x02')) { - proc_7F04E9BC(position_data_pointer,&fStack996); - uVar12 = extraout_a2_04; - uVar14 = extraout_a3_04; - } - } - } - ppoVar18 = ppoVar18 + -1; - if (ppoVar18 < &DAT_80071620) goto LAB_7f03b6a8; - position_data_pointer = *ppoVar18; - } while( true ); -} - - - -void proc_7F03B9C0(int param_1,undefined4 param_2,float param_3,float param_4,undefined4 param_5, - undefined4 *param_6,undefined4 *param_7,undefined4 param_8,undefined4 param_9, - int param_10,int param_11) - -{ - int iVar2; - ulonglong uVar1; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - undefined4 *puVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - int in_stack_00000028; - - if (param_11 == 0) goto LAB_7f03bc24; - iVar5 = 0; - iVar3 = 0; - fVar9 = 0.00000000; - fVar11 = 0.00000000; - iVar4 = 0; - iVar2 = param_1; - do { - fVar10 = fVar9; - fVar12 = fVar11; - iVar6 = iVar4; - if ((*(int *)(iVar2 + 0x3c) != 0) && (*(int *)(iVar2 + 0x84) != 0)) { - iVar5 += 1; - fVar10 = *(float *)(iVar2 + 0x38); - fVar12 = fVar9; - iVar6 = iVar3; - if (*(float *)(iVar2 + 0x38) <= fVar9) { - fVar10 = fVar9; - fVar12 = fVar11; - iVar6 = iVar4; - } - } - iVar3 += 1; - iVar2 += 0x50; - fVar9 = fVar10; - fVar11 = fVar12; - iVar4 = iVar6; - } while (iVar3 < 10); - uVar1 = proc_7F05E038(*(int *)(param_1 + 0x18)); - if ((longlong)iVar5 < (longlong)uVar1) { - uVar1 = proc_7F05E038(*(int *)(param_1 + 0x18)); - if (((longlong)(iVar5 + 1) == uVar1) && (param_4 < *(float *)(param_1 + 0x34))) { - *(float *)(param_1 + 0x34) = param_4; - } - goto LAB_7f03bc24; - } - *(undefined4 *)(param_1 + iVar6 * 0x50 + 0x3c) = 0; - *(float *)(param_1 + 0x34) = fVar12; - if (fVar12 < param_4) { - *(float *)(param_1 + 0x34) = param_4; - } - iVar4 = 0xa0; - if (*(int *)(param_1 + 0x3c) == 0) { -LAB_7f03bad8: - iVar2 = *(int *)(param_1 + 0x8c); - } - else { - if (*(int *)(param_1 + 0x84) == 0) { - if (fVar12 < *(float *)(param_1 + 0x38)) { - *(undefined4 *)(param_1 + 0x3c) = 0; - goto LAB_7f03bad8; - } - iVar2 = *(int *)(param_1 + 0x8c); - } - else { - iVar2 = *(int *)(param_1 + 0x8c); - } - } - if (iVar2 == 0) { - iVar2 = param_1 + 0xa0; - } - else { - if (*(int *)(param_1 + 0xd4) == 0) { - if (fVar12 < *(float *)(param_1 + 0x88)) { - *(undefined4 *)(param_1 + 0x8c) = 0; - iVar2 = param_1 + 0xa0; - } - else { - iVar2 = param_1 + 0xa0; - } - } - else { - iVar2 = param_1 + 0xa0; - } - } - do { - iVar4 += 0x140; - if (*(int *)(iVar2 + 0x3c) == 0) { - iVar3 = *(int *)(iVar2 + 0x8c); - } - else { - if (*(int *)(iVar2 + 0x84) == 0) { - if (fVar12 < *(float *)(iVar2 + 0x38)) { - *(undefined4 *)(iVar2 + 0x3c) = 0; - iVar3 = *(int *)(iVar2 + 0x8c); - } - else { - iVar3 = *(int *)(iVar2 + 0x8c); - } - } - else { - iVar3 = *(int *)(iVar2 + 0x8c); - } - } - if (iVar3 == 0) { - iVar3 = *(int *)(iVar2 + 0xdc); - } - else { - if (*(int *)(iVar2 + 0xd4) == 0) { - if (fVar12 < *(float *)(iVar2 + 0x88)) { - *(undefined4 *)(iVar2 + 0x8c) = 0; - iVar3 = *(int *)(iVar2 + 0xdc); - } - else { - iVar3 = *(int *)(iVar2 + 0xdc); - } - } - else { - iVar3 = *(int *)(iVar2 + 0xdc); - } - } - if (iVar3 == 0) { - iVar3 = *(int *)(iVar2 + 300); - } - else { - if (*(int *)(iVar2 + 0x124) == 0) { - if (fVar12 < *(float *)(iVar2 + 0xd8)) { - *(undefined4 *)(iVar2 + 0xdc) = 0; - iVar3 = *(int *)(iVar2 + 300); - } - else { - iVar3 = *(int *)(iVar2 + 300); - } - } - else { - iVar3 = *(int *)(iVar2 + 300); - } - } - if (((iVar3 != 0) && (*(int *)(iVar2 + 0x174) == 0)) && (fVar12 < *(float *)(iVar2 + 0x128)) - ) { - *(undefined4 *)(iVar2 + 300) = 0; - } - iVar2 += 0x140; - } while (iVar4 != 800); -LAB_7f03bc24: - if (((in_stack_00000028 != 0) && (*(int *)(param_1 + 0x18) != 0x12)) && - (*(int *)(param_1 + 0x18) != 0x14)) { - if (*(int *)(param_1 + 0x3c) == 0) { - iVar4 = *(int *)(param_1 + 0x8c); - } - else { - if (param_4 < *(float *)(param_1 + 0x38)) { - *(undefined4 *)(param_1 + 0x3c) = 0; - iVar4 = *(int *)(param_1 + 0x8c); - } - else { - iVar4 = *(int *)(param_1 + 0x8c); - } - } - if ((iVar4 != 0) && (param_4 < *(float *)(param_1 + 0x88))) { - *(undefined4 *)(param_1 + 0x8c) = 0; - } - iVar2 = 0xa0; - iVar4 = param_1 + 0xa0; - do { - iVar2 += 0x140; - if (*(int *)(iVar4 + 0x3c) == 0) { - iVar3 = *(int *)(iVar4 + 0x8c); - } - else { - if (param_4 < *(float *)(iVar4 + 0x38)) { - *(undefined4 *)(iVar4 + 0x3c) = 0; - iVar3 = *(int *)(iVar4 + 0x8c); - } - else { - iVar3 = *(int *)(iVar4 + 0x8c); - } - } - if (iVar3 == 0) { - iVar3 = *(int *)(iVar4 + 0xdc); - } - else { - if (param_4 < *(float *)(iVar4 + 0x88)) { - *(undefined4 *)(iVar4 + 0x8c) = 0; - iVar3 = *(int *)(iVar4 + 0xdc); - } - else { - iVar3 = *(int *)(iVar4 + 0xdc); - } - } - if (iVar3 == 0) { - iVar3 = *(int *)(iVar4 + 300); - } - else { - if (param_4 < *(float *)(iVar4 + 0xd8)) { - *(undefined4 *)(iVar4 + 0xdc) = 0; - iVar3 = *(int *)(iVar4 + 300); - } - else { - iVar3 = *(int *)(iVar4 + 300); - } - } - if ((iVar3 != 0) && (param_4 < *(float *)(iVar4 + 0x128))) { - *(undefined4 *)(iVar4 + 300) = 0; - } - iVar4 += 0x140; - } while (iVar2 != 800); - *(float *)(param_1 + 0x34) = param_4; - } - iVar4 = 0; - do { - iVar4 += 0x50; - if (*(int *)(param_1 + 0x3c) == 0) { - *(float *)(param_1 + 0x38) = param_4; - *(undefined4 *)(param_1 + 0x3c) = param_2; - *(undefined4 *)(param_1 + 0x40) = param_5; - *(undefined4 **)(param_1 + 0x44) = param_6; - puVar7 = param_7; - iVar4 = param_1; - do { - puVar8 = puVar7 + 3; - *(undefined4 *)(iVar4 + 0x48) = *puVar7; - *(undefined4 *)(iVar4 + 0x4c) = puVar7[1]; - *(undefined4 *)(iVar4 + 0x50) = puVar7[2]; - puVar7 = puVar8; - iVar4 = iVar4 + 0xc; - } while (puVar8 != param_7 + 0xc); - *(undefined4 *)(param_1 + 0x78) = param_8; - *(undefined4 *)(param_1 + 0x7c) = param_9; - *(int *)(param_1 + 0x80) = param_10; - *(int *)(param_1 + 0x84) = param_11; - return; - } - param_1 += 0x50; - } while (iVar4 != 800); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03bec8) overlaps instruction at (ram,0x7f03bec4) -// - -void proc_7F03BDEC(undefined4 param_1,longlong param_2) - -{ - byte bVar1; - byte *position_data_pointer; - int iVar4; - ulonglong uVar2; - u32 uVar5; - int iVar6; - int iVar7; - float *pfVar8; - longlong lVar3; - byte **ppbVar9; - f32 extraout_f12; - f32 extraout_f14; - float fVar10; - float afStack80 [6]; - u32 auStack56 [2]; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float afStack28 [4]; - int iStack12; - - iStack12 = 0; - iVar4 = get_curplayer_positiondata(); - proc_7F089780((int)pPlayer); - ppbVar9 = (byte **)(DAT_80071df0 + -4); - if (ppbVar9 <= (byte **)((int)&DAT_8007161c + 3)) { -LAB_7f03c094: - if ((iStack12 == 0) && (param_2 == 1)) { - play_sfx_a1(ptr_sfx_buf,0x69,NULL); - } - return; - } - position_data_pointer = *ppbVar9; - do { - if ((position_data_pointer != NULL) && - (*(float *)(position_data_pointer + 0x18) < 500.00000000)) { - bVar1 = *position_data_pointer; - uVar2 = (ulonglong)bVar1; - if (bVar1 == 3) { -code_r0x7f03becc: - fVar10 = 50.00000000; - iVar7 = *(int *)(position_data_pointer + 4); - iVar6 = getCurrentWeaponOrItem(); - if (iVar6 == 0x11) { - fVar10 = 100.00000000; - } - proc_7F03F748(*(int *)(iVar7 + 0x1c),afStack28,&fStack32,0); - if (0.00000000 <= afStack28[0]) { - if ((fStack32 <= 0.00000000) && - (proc_7F03F748(*(int *)(iVar7 + 0x1c),&fStack36,&fStack40,1), - 0.00000000 <= fStack36)) { - if ((fStack40 <= 0.00000000) && - ((proc_7F03F748(*(int *)(iVar7 + 0x1c),&fStack44,&fStack48,2), - fStack48 <= 0.00000000 && (-fVar10 <= fStack44)))) { - auStack56[0] = *(u32 *)(iVar4 + 0x14); - iVar7 = proc_7F0B0E24(auStack56,extraout_f12,extraout_f14, - *(f32 *)(iVar4 + 8)); - if ((iVar7 != 0) && - (auStack56[0] == *(u32 *)(position_data_pointer + 0x14))) { - iVar7 = proc_7F0799F0(); - if (iVar7 != 1) { - proc_7F0799F0(); - } - proc_7F0681CC(); - pfVar8 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar8,afStack80); - lVar3 = proc_7F02727C(); - if (lVar3 != 0) { - iStack12 = 1; - recall_joy2_hits_edit_detail_edit_flag(); - } - } - } - } - } - } - else { - if ((bVar1 == 6) && (*(int *)(position_data_pointer + 4) != 0)) { - proc_7F09B15C((int)position_data_pointer); - uVar5 = get_cur_playernum(); - if ((longlong)(int)uVar5 != uVar2) goto code_r0x7f03becc; - } - } - } - ppbVar9 = ppbVar9 + -1; - if (ppbVar9 < &DAT_80071620) goto LAB_7f03c094; - position_data_pointer = *ppbVar9; - } while( true ); -} - - - -void proc_7F03C0F0(undefined8 param_1) - -{ - longlong lVar1; - ITEM_IDS weapon; - int hand; - - hand = (int)param_1; - lVar1 = get_hands_firing_status(hand); - if (lVar1 != 0) { - weapon = get_item_in_hand(hand); - lVar1 = (longlong)(int)weapon; - if (lVar1 == 0x1e) { - trigger_remote_mine_detonation(); - } - else { - if ((((((lVar1 != 0x18) && (lVar1 != 0x19)) && (lVar1 != 0x1a)) && - ((lVar1 != 3 && (lVar1 != 0x1d)))) && - (((lVar1 != 0x1c && ((lVar1 != 0x1b && (lVar1 != 0x23)))) && (lVar1 != 0x24)))) && - ((((lVar1 != 0x21 && (lVar1 != 0x2f)) && (lVar1 != 0x30)) && - (((lVar1 != 0x3d && (lVar1 != 0x58)) && (lVar1 != 0x22)))))) { - if (lVar1 == 0x20) { - proc_7F05FB64(hand); - } - else { - if ((lVar1 == 1) || (lVar1 == 2)) { - proc_7F03BDEC(hand,lVar1); - } - else { - if ((lVar1 == 0xf) || (lVar1 == 0x10)) { - inc_curplayer_hitcount_with_weapon(weapon,0); - hand = 0; - do { - proc_7F03B15C(param_1); - hand += 1; - } while (hand != 5); - } - else { - if (lVar1 == 0x28) { - objectiveHandlePhotograph(); - } - else { - if (lVar1 == 0x3c) { - pPlayer->field_1270 = 0; - } - else { - inc_curplayer_hitcount_with_weapon(weapon,0); - proc_7F03B15C(param_1); - } - } - } - } - } - } - } - } - return; -} - - - -void proc_7F03C294(void) - -{ - proc_7F03C0F0(0); - proc_7F03C0F0(1); - return; -} - - - -void proc_7F03C2BC(char *param_1,longlong param_2) - -{ - uint uVar1; - int iVar2; - - if (param_2 != 1) { - if (param_2 == 2) { - proc_7F03E18C((int)param_1); - proc_7F03A538((int)param_1); - unset_stateflag_0x04_for_posdata((int)param_1); - return; - } - if (param_2 != 4) { - return; - } - proc_7F03E18C((int)param_1); - proc_7F03A538((int)param_1); - unset_stateflag_0x04_for_posdata((int)param_1); - proc_7F04C044((int)param_1); - proc_7F040CF0((int)param_1); - iVar2 = get_curplayer_positiondata(); - proc_7F03A5A4((int)param_1,iVar2); - return; - } - if (*param_1 == '\x04') { - iVar2 = *(int *)(param_1 + 4); - } - else { - if (*param_1 != '\x01') goto LAB_7f03c34c; - iVar2 = *(int *)(param_1 + 4); - } - if ((*(byte *)(iVar2 + 2) & 4) != 0) { - *(undefined2 *)(param_1 + 2) = 0x4b0; - uVar1 = *(uint *)(iVar2 + 100); - *(uint *)(iVar2 + 100) = uVar1 | 0x800; - *(uint *)(iVar2 + 100) = uVar1 & 0xfffffffb | 0x800; - *(byte *)(iVar2 + 2) = *(byte *)(iVar2 + 2) & 0x7f; - *(undefined4 *)(iVar2 + 0x70) = 0; - proc_7F03E18C((int)param_1); - unset_stateflag_0x04_for_posdata((int)param_1); - return; - } -LAB_7f03c34c: - proc_7F03E18C((int)param_1); - proc_7F03A538((int)param_1); - unset_stateflag_0x04_for_posdata((int)param_1); - set_last_obj_pos_data((object_standard *)param_1); - return; -} - - - -undefined4 proc_7F03C3FC(void) - -{ - char cVar1; - char *pcVar2; - int iVar3; - longlong lVar4; - char **ppcVar5; - - DAT_80071df8 = 0; - ppcVar5 = (char **)(DAT_80071df0 + -4); - lVar4 = 1; - if (ppcVar5 <= (char **)((int)&DAT_8007161c + 3)) { - DAT_80071df8 = 0; - return 0; - } - pcVar2 = *ppcVar5; - do { - if (pcVar2 != NULL) { - cVar1 = *pcVar2; - if (cVar1 != '\x03') { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - lVar4 = proc_7F04EF58((int)pcVar2); - } - else { - if (cVar1 == '\x02') { - iVar3 = proc_7F055804(pcVar2); - lVar4 = (longlong)iVar3; - } - } - } - if (lVar4 == 0) { - return DAT_80071df8; - } - } - ppcVar5 = ppcVar5 + -1; - if (ppcVar5 < &DAT_80071620) { - return DAT_80071df8; - } - pcVar2 = *ppcVar5; - } while( true ); -} - - - -undefined8 proc_7F03C4F0(void) - -{ - char *pcVar2; - int iVar3; - undefined8 uVar1; - longlong lVar4; - - pcVar2 = (char *)proc_7F03C3FC(); - lVar4 = 0; - if (pcVar2 == NULL) { - uVar1 = 1; - } - else { - if (true) { - switch(*pcVar2) { - case '\x01': - case '\x04': - iVar3 = proc_7F04F170(pcVar2); - lVar4 = (longlong)iVar3; - break; - case '\x02': - lVar4 = proc_7F055C40((int)pcVar2); - } - } - proc_7F03C2BC(pcVar2,lVar4); - uVar1 = 0; - } - return uVar1; -} - - - -undefined4 proc_7F03C574(int param_1) - -{ - int iVar1; - s32 sVar2; - int iVar3; - Player **ppPVar4; - float fVar5; - float fVar6; - float fVar7; - - sVar2 = get_num_players(); - iVar3 = 0; - if (0 < sVar2) { - ppPVar4 = ptr_BONDdata_p1; - do { - iVar1 = (*ppPVar4)->position_data_pointer; - fVar5 = *(float *)(iVar1 + 8) - *(float *)(param_1 + 8); - fVar6 = *(float *)(iVar1 + 0xc) - *(float *)(param_1 + 0xc); - fVar7 = *(float *)(iVar1 + 0x10) - *(float *)(param_1 + 0x10); - fVar5 = sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - iVar3 += 1; - if (fVar5 < 400.00000000) { - return 0; - } - ppPVar4 = ppPVar4 + 1; - } while (iVar3 < sVar2); - } - return 1; -} - - - -void handle_mp_respawn_and_some_things(void) - -{ - int *piVar1; - byte bVar2; - u16 uVar3; - u16 uVar4; - short sVar5; - int iVar6; - bool bVar7; - object_standard *position_data_pointer; - object_standard *poVar8; - object_standard *poVar9; - object_standard *poVar10; - int iVar11; - int iVar12; - uint uVar13; - s32 sVar14; - longlong lVar15; - char cVar16; - f32 scale; - - proc_7F03291C(); - poVar10 = get_ptr_obj_pos_list_current_entry(); - poVar9 = poVar10; - do { - poVar8 = poVar9; - position_data_pointer = poVar10; - if (position_data_pointer == NULL) { - return; - } - poVar10 = (object_standard *)position_data_pointer->runtime_MATRIX3; - lVar15 = 0; - bVar2 = *(byte *)position_data_pointer; - uVar13 = (uint)bVar2; - if (bVar2 == 3) { - iVar6 = *(int *)&position_data_pointer->pad; - proc_7F062B00((char *)(iVar6 + 0x180)); - proc_7F062B00((char *)(iVar6 + 0x1ac)); - } - else { - if (((bVar2 == 1) || (bVar2 == 4)) || (bVar2 == 2)) { - uVar3 = position_data_pointer->obj; - iVar6 = *(int *)&position_data_pointer->pad; - bVar7 = false; - if ((short)uVar3 < 1) { -LAB_7f03c8e4: - cVar16 = *(char *)(iVar6 + 3); - } - else { - position_data_pointer->obj = uVar3 - (short)clock_timer; - if ((short)position_data_pointer->obj < 0x3c) { - if ((0x3b < (short)uVar3) && - (iVar11 = proc_7F03C574((int)position_data_pointer), iVar11 == 0)) { - position_data_pointer->obj = position_data_pointer->obj + 0x3c; - } - uVar4 = position_data_pointer->obj; - } - else { - uVar4 = position_data_pointer->obj; - } - iVar11 = (int)(short)uVar4; - if ((short)uVar4 < 1) { - position_data_pointer->obj = 0; - if ((*(byte *)(iVar6 + 2) & 0x10) == 0) { - *(uint *)(iVar6 + 100) = *(uint *)(iVar6 + 100) & 0xffffefff; - } - else { - *(uint *)(iVar6 + 100) = *(uint *)(iVar6 + 100) | 0x1000; - } - goto LAB_7f03c8e4; - } - if ((short)uVar4 < 0x3c) { - if (0x3b < (short)uVar3) { - if (*(float *)(iVar6 + 0x70) == 0.00000000) { - if ((*(byte *)(iVar6 + 2) & 0x80) != 0) { - bVar2 = *(byte *)(iVar6 + 2); - goto LAB_7f03c868; - } - if ((*(uint *)(iVar6 + 8) & 0x8000) == 0) { - iVar11 = (int)(short)uVar4; - set_stateflag_0x04_for_posdata((int)position_data_pointer); - proc_7F03E134((char *)position_data_pointer); - *(uint *)(iVar6 + 100) = *(uint *)(iVar6 + 100) & 0xfffff7ff; - goto LAB_7f03c8ac; - } - proc_7F03E18C((int)position_data_pointer); - proc_7F03A538((int)position_data_pointer); - *(uint *)(iVar6 + 100) = *(uint *)(iVar6 + 100) & 0xfffff7ff; - iVar11 = proc_7F056BA8((int)position_data_pointer); - sVar5 = *(short *)(iVar6 + 6); - iVar12 = proc_7F0BDF04(); - iVar11 = proc_7F056EA0((longlong)iVar12,iVar11 + sVar5); - if (iVar11 == 0) { - cVar16 = *(char *)(iVar6 + 3); - } - else { - if (*(int *)(iVar11 + 0x10) != 0) { - iVar12 = iVar11; - set_obj_instance_controller_scale - (*(int *)(iVar6 + 0x14),scale); - piVar1 = (int *)(iVar11 + 0x10); - iVar11 = iVar12; - proc_7F03A5A4(*(int *)(iVar6 + 0x10),*piVar1); - bVar7 = true; - goto LAB_7f03c8ac; - } - cVar16 = *(char *)(iVar6 + 3); - } - } - else { - bVar2 = *(byte *)(iVar6 + 2); -LAB_7f03c868: - if ((bVar2 & 8) == 0) { - *(uint *)(iVar6 + 8) = *(uint *)(iVar6 + 8) & 0xfffffeff; - } - else { - *(uint *)(iVar6 + 8) = *(uint *)(iVar6 + 8) | 0x100; - } - *(undefined4 *)(iVar6 + 0x70) = 0; - *(byte *)(iVar6 + 2) = *(byte *)(iVar6 + 2) & 0x7f; - proc_7F050DE8(*(int *)(iVar6 + 0x14)); -LAB_7f03c8ac: - cVar16 = *(char *)(iVar6 + 3); - } - if (cVar16 == '\x15') { - *(undefined4 *)(iVar6 + 0x84) = *(undefined4 *)(iVar6 + 0x80); - } - if (!bVar7) { - play_sfx_a1(ptr_sfx_buf,0x52,NULL); - sub_GAME_7F053A10(iVar11,(float *)&position_data_pointer->flags); - } - goto LAB_7f03c8e4; - } - cVar16 = *(char *)(iVar6 + 3); - } - else { - cVar16 = *(char *)(iVar6 + 3); - } - } - if (cVar16 == '\r') { - proc_7F062B00(*(char **)(*(int *)&position_data_pointer->pad + 0xcc)); - } - } - else { - if (bVar2 == 7) { - lVar15 = proc_7F09CEE8((char *)position_data_pointer); - } - else { - if (bVar2 == 8) { - lVar15 = proc_7F09E8AC((char *)position_data_pointer); - } - else { - if (bVar2 == 6) { - proc_7F09B15C((int)position_data_pointer); - proc_7F062B00((char *)&ptr_BONDdata_p1[uVar13]->field_A54); - proc_7F09B15C((int)position_data_pointer); - proc_7F062B00((char *)&ptr_BONDdata_p1[uVar13]->field_DFC); - if ((*(int *)&position_data_pointer->pad != 0) && - (sVar14 = get_num_players(), 1 < sVar14)) { - iVar6 = *(int *)&position_data_pointer->pad; - proc_7F062B00((char *)(iVar6 + 0x180)); - proc_7F062B00((char *)(iVar6 + 0x1ac)); - } - } - } - } - } - } - poVar9 = poVar10; - if (lVar15 != 5) { - poVar10 = (object_standard *)poVar8->runtime_MATRIX3; - poVar9 = poVar10; - if (lVar15 == 3) { - proc_7F03A538((int)position_data_pointer); - proc_7F03A4F0((int)position_data_pointer); - if (poVar10 == NULL) { - poVar10 = position_data_pointer; - poVar9 = poVar8; - } - } - else { - proc_7F03C2BC((char *)position_data_pointer,lVar15); - } - } - } while( true ); -} - - - -void determing_type_of_object_and_detection(void) - -{ - byte bVar1; - object_standard *poVar2; - object_standard *poVar3; - object_standard *poVar4; - object_standard *poVar5; - object_standard *poVar6; - object_standard *poVar8; - ulonglong uVar7; - u32 uVar9; - int iVar10; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a2_lo_04; - undefined4 uVar11; - undefined4 extraout_a2_lo_05; - undefined4 extraout_a2_lo_06; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - undefined4 extraout_a3_lo_03; - undefined4 extraout_a3_lo_04; - undefined4 uVar12; - undefined4 extraout_a3_lo_05; - undefined4 extraout_a3_lo_06; - - poVar8 = get_ptr_obj_pos_list_current_entry(); - poVar5 = poVar8; - poVar6 = poVar8; - uVar11 = extraout_a2_lo; - uVar12 = extraout_a3_lo; - while (poVar4 = poVar6, poVar3 = poVar5, poVar2 = poVar8, poVar2 != NULL) { - bVar1 = *(byte *)poVar2; - uVar7 = (ulonglong)bVar1; - poVar8 = (object_standard *)poVar3->runtime_MATRIX3; - if (bVar1 == 3) { - uVar7 = proc_7F020EF0((char *)poVar2,0,uVar11,uVar12); - uVar11 = extraout_a2_lo_00; - uVar12 = extraout_a3_lo_00; - } - else { - if (((bVar1 == 1) || (bVar1 == 4)) || (bVar1 == 2)) { - object_interaction((object_header *)poVar2); - uVar11 = extraout_a2_lo_01; - uVar12 = extraout_a3_lo_01; - } - else { - if (bVar1 == 7) { - uVar7 = proc_7F09D4EC((int)poVar2); - uVar11 = extraout_a2_lo_02; - uVar12 = extraout_a3_lo_02; - } - else { - if (bVar1 == 8) { - uVar7 = proc_7F09EF9C((int)poVar2); - uVar11 = extraout_a2_lo_03; - uVar12 = extraout_a3_lo_03; - } - else { - uVar7 = 0; - if (bVar1 == 6) { - iVar10 = proc_7F08B0F0((char *)poVar2); - uVar7 = SEXT48(iVar10); - uVar11 = extraout_a2_lo_04; - uVar12 = extraout_a3_lo_04; - } - } - } - } - } - poVar5 = poVar8; - poVar6 = poVar8; - if (uVar7 != 5) { - poVar8 = (object_standard *)poVar4->runtime_MATRIX3; - poVar5 = poVar8; - poVar6 = poVar8; - if (uVar7 == 3) { - proc_7F03A538((int)poVar2); - proc_7F03A4F0((int)poVar2); - uVar11 = extraout_a2_lo_05; - uVar12 = extraout_a3_lo_05; - if (poVar8 == NULL) { - poVar8 = poVar2; - poVar5 = poVar3; - poVar6 = poVar4; - } - } - else { - proc_7F03C2BC((char *)poVar2,uVar7); - uVar11 = extraout_a2_lo_06; - uVar12 = extraout_a3_lo_06; - } - } - } - uVar9 = get_cur_playernum(); - iVar10 = proc_7F09B4D8(uVar9); - if (iVar10 == 0) { - handle_alarm_gas_timer_calldamage(); - loop_set_sound_effect_all_slots(); - proc_7F03E4F0(); - } - return; -} - - - -void proc_7F03CB8C(char *param_1,uint *param_2) - -{ - char cVar1; - byte bVar2; - int iVar3; - uint *puVar4; - - if (*(int *)(param_1 + 0x14) == 0) { - *param_2 = 0xffffffff; - return; - } - if (*param_1 == '\x06') { - if (*(int *)(param_1 + 4) == 0) { - bVar2 = *(byte *)(*(int *)(param_1 + 0x14) + 3); - param_2[1] = 0xffffffff; - *param_2 = (uint)bVar2; - return; - } - cVar1 = param_1[0x2c]; - } - else { - cVar1 = param_1[0x2c]; - } - iVar3 = 0; - if (cVar1 != -1) { - bVar2 = param_1[0x2c]; - puVar4 = param_2; - do { - *puVar4 = (uint)bVar2; - bVar2 = param_1[0x2d]; - iVar3 += 1; - puVar4 = puVar4 + 1; - param_1 = param_1 + 1; - } while (bVar2 != 0xff); - } - param_2[iVar3] = 0xffffffff; - return; -} - - - -void proc_7F03CC20(char *param_1,int **param_2,undefined4 *param_3,float *param_4,float *param_5) - -{ - char cVar1; - - *param_2 = NULL; - *param_3 = 0; - cVar1 = *param_1; - if (cVar1 == '\x03') { - proc_7F02308C((int)param_1,(int *)param_2,param_3,param_4,param_5); - } - else { - if (cVar1 == '\x06') { - proc_7F08A0B0((int)param_1,param_2,param_3,param_4,param_5); - } - else { - if ((cVar1 != '\x04') && ((cVar1 == '\x01' || (cVar1 == '\x02')))) { - proc_7F04F244((int)param_1,(int *)param_2,param_3,param_4,param_5); - } - } - } - return; -} - - - -void proc_7F03CCB0(char *param_1,int **param_2,undefined4 *param_3) - -{ - float fStack8; - float fStack4; - - proc_7F03CC20(param_1,param_2,param_3,&fStack4,&fStack8); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03cd9c) overlaps instruction at (ram,0x7f03cd98) -// - -undefined8 proc_7F03CCD8(float *param_1,float *param_2,uint param_3) - -{ - float *pfVar1; - float *pfVar2; - longlong lVar3; - uint uVar4; - uint uVar5; - float *pfVar6; - int iVar7; - float fVar8; - - lVar3 = -1; - if ((int)param_3 < 1) { - return 0; - } - uVar4 = 0; - if (0 < (int)param_3) { - if ((param_3 & 1) == 0) { - iVar7 = 0; - } - else { - if (param_3 == 0) { - trap(0x1c00); - } - if ((param_3 == 0xffffffff) && (false)) { - trap(0x1800); - } - uVar4 = 1; - fVar8 = ((param_2 + (1 % param_3) * 2)[1] - param_2[1]) * (*param_1 - *param_2) - - (param_1[2] - param_2[1]) * (param_2[(1 % param_3) * 2] - *param_2); - if ((fVar8 != 0.00000000) && (lVar3 = 0, 0.00000000 < fVar8)) { - lVar3 = 1; - } - iVar7 = 8; - if (param_3 == 1) { - return 1; - } - } - pfVar6 = (float *)((int)param_2 + iVar7); - do { - if (param_3 == 0) { - trap(0x1c00); - } - if ((param_3 == 0xffffffff) && (uVar4 + 1 == -0x80000000)) { - trap(0x1800); - } - uVar5 = uVar4 + 2; - fVar8 = ((param_2 + ((int)(uVar4 + 1) % param_3) * 2)[1] - pfVar6[1]) * - (*param_1 - *pfVar6) - - (param_1[2] - pfVar6[1]) * (param_2[((int)(uVar4 + 1) % param_3) * 2] - *pfVar6) - ; - if (fVar8 != 0.00000000) { - if ((uVar4 == 0) || (lVar3 < 0)) { - lVar3 = 0; - if (0.00000000 < fVar8) { - lVar3 = 1; - } - } - else { - if ((lVar3 != 0) && (fVar8 < 0.00000000)) { - return 0; - } - if ((lVar3 == 0) && (0.00000000 < fVar8)) { - return 0; - } - } - } - pfVar1 = pfVar6 + 3; - pfVar2 = pfVar6 + 2; - if (param_3 == 0) { - trap(0x1c00); - } - if ((param_3 == 0xffffffff) && (uVar5 == 0x80000000)) { - trap(0x1800); - } - pfVar6 = pfVar6 + 4; - fVar8 = ((param_2 + ((int)uVar5 % param_3) * 2)[1] - *pfVar1) * (*param_1 - *pfVar2) - - (param_1[2] - *pfVar1) * (param_2[((int)uVar5 % param_3) * 2] - *pfVar2); - if (fVar8 != 0.00000000) { - if ((uVar4 == 0xffffffff) || (lVar3 < 0)) { - lVar3 = 0; - if (0.00000000 < fVar8) { - lVar3 = 1; - } - } - else { - if ((lVar3 != 0) && (fVar8 < 0.00000000)) { - return 0; - } - if ((lVar3 == 0) && (0.00000000 < fVar8)) { - return 0; - } - } - } - uVar4 = uVar5; - } while (uVar5 != param_3); - } - return 1; -} - - - -void proc_7F03CF88(char *param_1,undefined4 *param_2,float *param_3,undefined4 *param_4) - -{ - if (*param_1 == '\x03') { - proc_7F023160((int)param_1,param_2,param_3,param_4); - } - else { - if (*param_1 == '\x06') { - proc_7F08A274((int)param_1,param_2,param_3,param_4); - } - else { - *param_2 = 0; - } - } - return; -} - - - -ulonglong proc_7F03CFE8(byte *param_1) - -{ - byte bVar1; - ulonglong uVar2; - int iVar3; - - bVar1 = *param_1; - uVar2 = (ulonglong)bVar1; - if (bVar1 == 3) { - iVar3 = proc_7F023188((int)param_1); - uVar2 = SEXT48(iVar3); - } - else { - if (bVar1 == 6) { - proc_7F09B15C((int)param_1); - proc_7F089778((int)ptr_BONDdata_p1[(int)uVar2]); - } - } - return uVar2; -} - - - -void proc_7F03D058(char *param_1,longlong param_2) - -{ - char cVar1; - - cVar1 = *param_1; - if (cVar1 == '\x03') { - set_or_unset_GUARDdata_flag(*(GUARDdata **)(param_1 + 4),(int)param_2); - } - else { - if (cVar1 == '\x06') { - proc_7F08A03C((int)param_1,(int)param_2); - } - else { - if (((cVar1 == '\x01') || (cVar1 == '\x02')) || (cVar1 == '\x04')) { - proc_7F04F218((int)param_1,param_2); - } - } - } - return; -} - - - -void proc_7F03D0D4(void) - -{ - object_standard *poVar1; - int iVar3; - longlong lVar2; - longlong lVar4; - longlong lVar5; - - iVar3 = get_intank_flag(); - if ((iVar3 == 0) && (disable_player_pickups_flag == 0)) { - lVar2._4_4_ = get_ptr_obj_pos_list_current_entry(); - lVar2 = (longlong)(int)lVar2._4_4_; - lVar5 = lVar2; - while (lVar5 != 0) { - poVar1 = (object_standard *)lVar5; - lVar4 = 0; - if (*(short *)&poVar1->hidden2 < 1) { - if (true) { - switch(*(undefined *)&poVar1->extrascale) { - case 1: - object_collectability_routine(poVar1); - lVar4 = lVar2; - break; - case 4: - redirect_object_collectability_routines(); - lVar4 = lVar2; - } - } - iVar3 = poVar1->runtime_MATRIX3; - } - else { - iVar3 = poVar1->runtime_MATRIX3; - } - lVar5 = (longlong)iVar3; - proc_7F03C2BC((char *)poVar1,lVar4); - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -float proc_7F03D188(void) - -{ - bool bVar1; - uint uVar2; - longlong lVar3; - s32 sVar4; - int iVar5; - int in_a0_lo; - float *in_a1_lo; - float *in_a2_lo; - undefined4 *in_a3_lo; - f32 fVar6; - f32 fVar7; - float fVar8; - f32 extraout_f12; - f32 extraout_f14; - float *in_stack_00000010; - u32 uStack96; - int iStack92; - float fStack88; - uint uStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - undefined4 uStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float afStack36 [2]; - float afStack28 [2]; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar6 = getPlayer_c_screentop(); - fVar7 = getPlayer_c_screenheight(); - fStack64 = (float)fVar7 * flt_800529C0 + (float)fVar6; - fVar6 = getPlayer_c_screentop(); - fVar7 = getPlayer_c_screenheight(); - fStack68 = (float)fVar7 * flt_800529C4 + (float)fVar6; - fVar6 = getPlayer_c_screenleft(); - fVar7 = getPlayer_c_screenwidth(); - fStack72 = (float)fVar7 * 0.25000000 + (float)fVar6; - fVar6 = getPlayer_c_screenleft(); - fVar7 = getPlayer_c_screenwidth(); - fStack80 = -2.00000000; - fStack76 = (float)fVar7 * 0.75000000 + (float)fVar6; - proc_7F077FF4(in_a1_lo,&fStack8); - fStack20 = *in_a2_lo; - fStack16 = in_a1_lo[1]; - fStack12 = in_a1_lo[2]; - proc_7F077FF4(&fStack20,afStack28); - fStack20 = in_a2_lo[1]; - fStack16 = in_a1_lo[1]; - fStack12 = in_a1_lo[2]; - proc_7F077FF4(&fStack20,afStack36); - lVar3 = (longlong)(int)in_a1_lo; - fStack20 = *in_a1_lo; - fStack16 = (float)in_a3_lo[1]; - fStack12 = in_a1_lo[2]; - proc_7F077FF4(&fStack20,&fStack44); - fStack20 = *in_a1_lo; - fStack16 = (float)*in_a3_lo; - fStack12 = in_a1_lo[2]; - proc_7F077FF4(&fStack20,&fStack52); - if (fStack48 < fStack64) { - return fStack80; - } - if (fStack68 < fStack40) { - return fStack80; - } - uStack84 = 0; - proc_7F068008(&fStack56,&uStack60); - afStack28[0] = truncf(afStack28[0]); - afStack36[0] = proc_7F05C440(afStack36[0]); - redirect_get_BONDdata_autoaim_x(); - if (lVar3 == 0) { - if (afStack28[0] <= fStack56) { - if (fStack56 <= afStack36[0]) { - uStack84 = 1; - uVar2 = uStack84; - } - else { - uStack84 = 0; - uVar2 = uStack84; - } - } - else { - uVar2 = (uint)(afStack28[0] <= fStack56); - } - } - else { - uVar2 = uStack84; - if ((afStack28[0] <= fStack76) && (fStack72 <= afStack36[0])) { - fStack88 = (afStack36[0] - afStack28[0]) * 1.50000000; - sVar4 = get_num_players(); - if (sVar4 == 1) { - fStack88 = fStack88 * (float)difficulty; - } - fVar6 = getPlayer_c_screenwidth(); - fVar7 = getPlayer_c_screenleft(); - bVar1 = (afStack36[0] + afStack28[0]) * 0.50000000 - fStack88 <= - (float)fVar7 + (float)fVar6 * 0.50000000; - uVar2 = (uint)bVar1; - if (bVar1) { - fVar6 = getPlayer_c_screenwidth(); - fVar7 = getPlayer_c_screenleft(); - bVar1 = (float)fVar7 + (float)fVar6 * 0.50000000 <= - (afStack36[0] + afStack28[0]) * 0.50000000 + fStack88; - uVar2 = (uint)bVar1; - if (((bVar1) && (uVar2 = (uint)(fStack72 <= fStack8), fStack72 <= fStack8)) && - (uVar2 = 0, fStack8 <= fStack76)) { - uVar2 = 1; - } - } - } - } - uStack84 = uVar2; - if (uStack84 == 0) { - return fStack80; - } - iStack92 = get_curplayer_positiondata(); - uStack96 = *(u32 *)(iStack92 + 0x14); - proc_7F089780((int)pPlayer); - proc_7F08A03C(iStack92,0); - iVar5 = proc_7F0B0E24(&uStack96,extraout_f12,extraout_f14,*(f32 *)(iStack92 + 8)); - lVar3 = (longlong)iVar5; - if ((lVar3 != 0) && (uStack96 == *(u32 *)(in_a0_lo + 0x14))) { - fVar8 = fStack64; - if ((fStack64 <= fStack4) && (fVar8 = fStack68, fStack4 <= fStack68)) { - fVar8 = fStack4; - } - in_stack_00000010[1] = fVar8; - redirect_get_BONDdata_autoaim_x(); - if (lVar3 != 0) { - fVar8 = fStack72; - if ((fStack8 < fStack72) || (fVar8 = fStack76, fStack76 < fStack8)) { - *in_stack_00000010 = fVar8; - } - else { - *in_stack_00000010 = fStack8; - } - } - fVar6 = getPlayer_c_screenwidth(); - fVar7 = getPlayer_c_screenleft(); - if (afStack28[0] <= (float)fVar7 + (float)fVar6 * 0.50000000) { - fVar6 = getPlayer_c_screenwidth(); - fVar7 = getPlayer_c_screenleft(); - if ((float)fVar7 + (float)fVar6 * 0.50000000 <= afStack36[0]) { - fStack80 = 1.00000000; - goto LAB_7f03d76c; - } - } - fVar6 = getPlayer_c_screenwidth(); - fVar7 = getPlayer_c_screenleft(); - if (afStack28[0] <= (float)fVar7 + (float)fVar6 * 0.50000000) { - fVar6 = getPlayer_c_screenwidth(); - fVar7 = getPlayer_c_screenleft(); - fStack80 = 1.00000000 - - (((float)fVar7 + (float)fVar6 * 0.50000000) - afStack36[0]) / fStack88; - } - else { - fVar6 = getPlayer_c_screenleft(); - fVar7 = getPlayer_c_screenwidth(); - fStack80 = 1.00000000 - - (afStack28[0] - ((float)fVar7 * 0.50000000 + (float)fVar6)) / fStack88; - } - } -LAB_7f03d76c: - proc_7F08A03C(iStack92,1); - return fStack80; -} - - - -// WARNING: Instruction at (ram,0x7f03d884) overlaps instruction at (ram,0x7f03d880) -// -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F03D78C(void) - -{ - byte bVar1; - GUARDdata *guard; - ulonglong in_v0; - ulonglong uVar2; - u32 uVar3; - int iVar4; - byte **ppbVar5; - byte *pbVar6; - byte *position_data_pointer; - float extraout_f0; - f32 fVar7; - f32 fVar8; - float fVar9; - float fStack60; - float fStack56; - float afStack48 [2]; - float afStack40 [2]; - float afStack32 [5]; - float fStack12; - float fStack8; - - pbVar6 = NULL; - fStack12 = dword_80030AB0; - fStack8 = dword_80030AB4; - redirect_get_BONDdata_autoaim(); - position_data_pointer = pbVar6; - if (in_v0 != 0) { - fVar9 = -1.00000000; - ppbVar5 = (byte **)(DAT_80071df0 + -4); - if ((byte **)((int)&DAT_8007161c + 3) < ppbVar5) { - position_data_pointer = *ppbVar5; - do { - if (position_data_pointer != NULL) { - bVar1 = *position_data_pointer; - uVar2 = (ulonglong)bVar1; - if (bVar1 == 3) { -LAB_7f03d860: - guard = *(GUARDdata **)(position_data_pointer + 4); - iVar4 = something_with_weaponpos_of_guarddata_hand(guard,0); - if (iVar4 == 0) { - iVar4 = something_with_weaponpos_of_guarddata_hand(guard,1); - in_v0 = SEXT48(iVar4); - if (in_v0 == 0) goto LAB_7f03d8e4; - } - in_v0 = proc_7F023194((int)position_data_pointer,afStack32,afStack40, - afStack48); - if ((in_v0 != 0) && (in_v0 = proc_7F03D188(), fVar9 < extraout_f0)) { - fStack12 = fStack60; - fStack8 = fStack56; - fVar9 = extraout_f0; - pbVar6 = position_data_pointer; - if (1.00000000 <= extraout_f0) break; - } - } - else { - in_v0 = uVar2; - if ((bVar1 == 6) && (*(int *)(position_data_pointer + 4) != 0)) { - proc_7F09B15C((int)position_data_pointer); - uVar3 = get_cur_playernum(); - in_v0 = SEXT48((int)uVar3); - if (in_v0 != uVar2) goto LAB_7f03d860; - } - } - } -LAB_7f03d8e4: - ppbVar5 = ppbVar5 + -1; - position_data_pointer = pbVar6; - if (ppbVar5 < &DAT_80071620) break; - position_data_pointer = *ppbVar5; - } while( true ); - } - } - if (position_data_pointer == NULL) { - proc_7F07C5F0(0,0); - proc_7F07C6C8(0,0); - } - else { - fVar7 = getPlayer_c_screentop(); - fVar8 = getPlayer_c_screenheight(); - proc_7F07C5F0((int)position_data_pointer, - (fStack8 - (float)fVar7) / ((float)fVar8 * 0.50000000) - 1.00000000); - redirect_get_BONDdata_autoaim_x(); - if (in_v0 != 0) { - fVar7 = getPlayer_c_screenleft(); - fVar8 = getPlayer_c_screenwidth(); - proc_7F07C6C8((int)position_data_pointer, - (fStack12 - (float)fVar7) / ((float)fVar8 * 0.50000000) - 1.00000000); - } - } - return; -} - - - -ulonglong proc_7F03D9EC(int param_1) - -{ - int iVar1; - ulonglong uVar2; - - iVar1 = *(int *)(param_1 + 4); - if (*(float *)(iVar1 + 0xb4) <= 0.00000000) { - uVar2 = 0x1000; - } - else { - uVar2 = 0x4000; - if (*(float *)(iVar1 + 0x84) <= *(float *)(iVar1 + 0xb4)) { - uVar2 = 0x2000; - } - } - if (*(int *)(iVar1 + 0xc) << 2 < 0) { - uVar2 = uVar2 | 0x8000; - } - return uVar2; -} - - - -undefined4 proc_7F03DA50(char *param_1,uint param_2) - -{ - char cVar1; - uint uVar2; - ulonglong uVar3; - undefined4 uVar4; - uint uVar5; - - cVar1 = *param_1; - uVar4 = 1; - if (cVar1 == '\x02') { - if (((param_2 & 0x100) != 0) && (*(int *)(*(int *)(param_1 + 4) + 8) << 5 < 0)) { - uVar4 = 0; - } - if ((param_2 & 2) != 0) { - return uVar4; - } - uVar3 = proc_7F03D9EC((int)param_1); - if ((uVar3 & (longlong)(int)param_2) != 0) { - return uVar4; - } - } - else { - uVar5 = param_2 & 4; - if (cVar1 != '\x06') { - if (cVar1 == '\x03') { - uVar5 = param_2 & 8; - } - else { - if (((param_2 & 0x100) != 0) && (*(int *)(*(int *)(param_1 + 4) + 8) << 5 < 0)) { - uVar4 = 0; - } - uVar2 = *(uint *)(*(int *)(param_1 + 4) + 8); - if (((param_2 & 0x200) != 0) && (-1 < (int)(uVar2 << 0xe))) { - uVar4 = 0; - } - uVar5 = param_2 & 1; - if ((uVar2 & 0x800) != 0) { - uVar5 = param_2 & 0x10; - } - } - } - if (uVar5 != 0) { - return uVar4; - } - } - return 0; -} - - - -undefined8 proc_7F03DB70(int *param_1,int *param_2) - -{ - int iVar1; - int *piVar2; - int iVar3; - - iVar3 = *param_1; - if (-1 < iVar3) { - iVar1 = *param_2; - piVar2 = param_2; - do { - while (-1 < iVar1) { - if (iVar3 == iVar1) { - return 1; - } - iVar1 = piVar2[1]; - piVar2 = piVar2 + 1; - } - iVar3 = param_1[1]; - param_1 = param_1 + 1; - iVar1 = *param_2; - piVar2 = param_2; - } while (-1 < iVar3); - } - return 0; -} - - - -undefined8 proc_7F03DBCC(short param_1,int param_2) - -{ - short *psVar1; - int iVar2; - short *psVar3; - - psVar1 = (short *)(DAT_8007161c + param_2 * 0x20); - if (*psVar1 < 0) { - *psVar1 = param_1; - return 1; - } - if (psVar1[1] < 0) { - psVar1[1] = param_1; - return 1; - } - psVar3 = psVar1 + 3; - if (psVar1[2] < 0) { - psVar1[2] = param_1; - return 1; - } - iVar2 = 6; - while( true ) { - iVar2 += 8; - if (*psVar3 < 0) { - *psVar3 = param_1; - return 1; - } - if (psVar3[1] < 0) { - psVar3[1] = param_1; - return 1; - } - if (psVar3[2] < 0) { - psVar3[2] = param_1; - return 1; - } - if (psVar3[3] < 0) break; - psVar3 = psVar3 + 4; - if (iVar2 == 0x1e) { - return 0; - } - } - psVar3[3] = param_1; - return 1; -} - - - -int proc_7F03DCB8(int param_1,longlong param_2) - -{ - int iVar1; - short *psVar2; - int iVar3; - int iVar4; - - iVar3 = 0; - psVar2 = DAT_8007161c; - while (*psVar2 != -2) { - iVar3 += 1; - psVar2 = psVar2 + 0x10; - if (iVar3 == 0x100) { - return -1; - } - } - iVar4 = 0; - do { - *(undefined2 *)((int)DAT_8007161c + iVar4 + iVar3 * 0x20) = 0xffff; - *(undefined2 *)((int)DAT_8007161c + iVar4 + iVar3 * 0x20 + 2) = 0xffff; - *(undefined2 *)((int)DAT_8007161c + iVar4 + iVar3 * 0x20 + 4) = 0xffff; - iVar1 = iVar4 + iVar3 * 0x20; - iVar4 += 8; - *(undefined2 *)((int)DAT_8007161c + iVar1 + 6) = 0xffff; - } while (iVar4 != 0x20); - if (-1 < param_2) { - DAT_8007161c[(int)param_2 * 0x10 + 0xf] = (short)iVar3; - return iVar3; - } - *(short *)(ptr_room_lookup_buffer_maybe + param_1 * 2) = (short)iVar3; - return iVar3; -} - - - -void proc_7F03DD9C(int param_1,short param_2) - -{ - int iVar1; - longlong lVar2; - longlong lVar3; - - lVar2 = -1; - if (-1 < param_2) { - lVar3 = (longlong)*(short *)(ptr_room_lookup_buffer_maybe + (int)param_2 * 2); - if (-1 < lVar3) { - do { - lVar2 = lVar3; - lVar3 = proc_7F03DBCC((short)((param_1 + 0x7ff963c8) / 0x34),(int)lVar2); - if (lVar3 != 0) { - return; - } - lVar3 = (longlong)*(short *)(DAT_8007161c + (int)lVar2 * 0x20 + 0x1e); - } while (-1 < lVar3); - } - iVar1 = proc_7F03DCB8((int)param_2,lVar2); - if (-1 < iVar1) { - proc_7F03DBCC((short)((param_1 + 0x7ff963c8) / 0x34),iVar1); - } - } - return; -} - - - -void proc_7F03DE94(int param_1,short param_2) - -{ - short sVar1; - bool bVar2; - bool bVar3; - longlong lVar4; - int iVar5; - longlong lVar6; - longlong lVar7; - int iVar8; - longlong lVar9; - short *psVar10; - int iVar11; - - bVar3 = false; - if (-1 < (int)param_2) { - iVar8 = (int)param_2 * 2; - sVar1 = *(short *)(ptr_room_lookup_buffer_maybe + iVar8); - lVar4 = (longlong)sVar1; - if (-1 < lVar4) { - lVar6 = (longlong)(int)(short)((param_1 + 0x7ff963c8) / 0x34); - lVar7 = -1; - do { - psVar10 = (short *)(DAT_8007161c + (int)sVar1 * 0x20); - bVar2 = false; - iVar5 = (int)lVar4; - if (lVar6 == (longlong)*psVar10) { - *psVar10 = -1; - bVar3 = true; - psVar10 = (short *)(DAT_8007161c + iVar5 * 0x20); -LAB_7f03df4c: - sVar1 = psVar10[1]; - } - else { - if (-1 < (longlong)*psVar10) { - bVar2 = true; - goto LAB_7f03df4c; - } - sVar1 = psVar10[1]; - } - if (lVar6 == (longlong)sVar1) { - psVar10[1] = -1; - bVar3 = true; - psVar10 = (short *)(DAT_8007161c + iVar5 * 0x20); -LAB_7f03df80: - lVar9 = (longlong)psVar10[2]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[2]; - } - else { - if (-1 < (longlong)sVar1) { - bVar2 = true; - goto LAB_7f03df80; - } - lVar9 = (longlong)psVar10[2]; - } - } - if (lVar6 == lVar9) { - psVar10[2] = -1; - bVar3 = true; - } - else { - if ((!bVar2) && (-1 < lVar9)) { - bVar2 = true; - } - } - iVar11 = 6; - do { - psVar10 = (short *)(DAT_8007161c + iVar5 * 0x20 + iVar11); - if (lVar6 == (longlong)*psVar10) { - *psVar10 = -1; - bVar3 = true; - psVar10 = (short *)(DAT_8007161c + iVar5 * 0x20 + iVar11); -LAB_7f03dffc: - lVar9 = (longlong)psVar10[1]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[1]; - } - else { - if (-1 < (longlong)*psVar10) { - bVar2 = true; - goto LAB_7f03dffc; - } - lVar9 = (longlong)psVar10[1]; - } - } - if (lVar6 == lVar9) { - psVar10[1] = -1; - bVar3 = true; - psVar10 = (short *)(DAT_8007161c + iVar5 * 0x20 + iVar11); -LAB_7f03e038: - lVar9 = (longlong)psVar10[2]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[2]; - } - else { - if (-1 < lVar9) { - bVar2 = true; - goto LAB_7f03e038; - } - lVar9 = (longlong)psVar10[2]; - } - } - if (lVar6 == lVar9) { - psVar10[2] = -1; - bVar3 = true; - psVar10 = (short *)(DAT_8007161c + iVar5 * 0x20 + iVar11); -LAB_7f03e074: - lVar9 = (longlong)psVar10[3]; - } - else { - if (bVar2) { - lVar9 = (longlong)psVar10[3]; - } - else { - if (-1 < lVar9) { - bVar2 = true; - goto LAB_7f03e074; - } - lVar9 = (longlong)psVar10[3]; - } - } - iVar11 += 8; - if (lVar6 == lVar9) { - psVar10[3] = -1; - bVar3 = true; - } - else { - if ((!bVar2) && (-1 < lVar9)) { - bVar2 = true; - } - } - } while (iVar11 != 0x1e); - lVar9 = lVar4; - if (!bVar2) { - iVar11 = iVar5 * 0x20; - *(undefined2 *)(DAT_8007161c + iVar11) = 0xfffe; - lVar9 = lVar7; - if (lVar7 < 0) { - *(undefined2 *)(ptr_room_lookup_buffer_maybe + iVar8) = - *(undefined2 *)(DAT_8007161c + iVar11 + 0x1e); - } - else { - *(undefined2 *)(DAT_8007161c + (int)lVar7 * 0x20 + 0x1e) = - *(undefined2 *)(DAT_8007161c + iVar11 + 0x1e); - } - } - if (bVar3) { - return; - } - sVar1 = *(short *)(DAT_8007161c + iVar5 * 0x20 + 0x1e); - lVar4 = (longlong)sVar1; - lVar7 = lVar9; - } while (-1 < lVar4); - } - } - return; -} - - - -void proc_7F03E134(char *param_1) - -{ - char cVar1; - - cVar1 = *param_1; - if (cVar1 == '\x03') { - proc_7F020D94(*(int *)(param_1 + 4)); - } - else { - if ((cVar1 == '\x01') || (cVar1 == '\x04')) { - proc_7F056CA0(*(int *)(param_1 + 4)); - } - } - return; -} - - - -void proc_7F03E18C(int param_1) - -{ - byte bVar1; - int iVar2; - - bVar1 = *(byte *)(param_1 + 0x2c); - iVar2 = param_1 + 0x2c; - while (bVar1 != 0xff) { - proc_7F03DE94(param_1,(ushort)bVar1); - bVar1 = *(byte *)(iVar2 + 1); - iVar2 += 1; - } - if ((*(byte *)(param_1 + 1) & 0x10) == 0) { - *(undefined *)(param_1 + 0x2c) = 0xff; - } - return; -} - - - -void proc_7F03E210(int param_1) - -{ - byte bVar1; - int iVar2; - - bVar1 = *(byte *)(param_1 + 0x2c); - iVar2 = param_1 + 0x2c; - while (bVar1 != 0xff) { - proc_7F03DD9C(param_1,(ushort)bVar1); - bVar1 = *(byte *)(iVar2 + 1); - iVar2 += 1; - } - return; -} - - - -void proc_7F03E27C(char *param_1,float *param_2,float *param_3,float param_4) - -{ - char cVar1; - byte bVar2; - uint *puVar3; - uint *puVar4; - char *pcVar5; - float in_a3_lo; - int iVar6; - float in_f14; - int iStack40; - int iStack36; - uint auStack32 [8]; - - iVar6 = 0; - if ((param_1[1] & 8U) == 0) { - iStack36 = *(int *)(param_1 + 0x14); - iStack40 = 0; - proc_7F0B21B0(&iStack36,in_a3_lo,in_f14,*(float *)(param_1 + 8), - *(undefined4 *)(param_1 + 0x10),(undefined4 *)in_a3_lo,auStack32); - } - else { - cVar1 = *param_1; - puVar4 = (uint *)(param_1 + 0x2c); - if (((cVar1 == '\x01') || (cVar1 == '\x04')) || (cVar1 == '\x02')) { - iVar6 = *(int *)(param_1 + 4); - } - if (((iVar6 != 0) && ((*(uint *)(iVar6 + 100) & 0x80) != 0)) && - ((**(uint **)(iVar6 + 0x6c) & 8) != 0)) { - puVar4 = *(uint **)(iVar6 + 0x6c) + 0x33; - } - iStack40 = 0; - puVar3 = auStack32; - if (*(byte *)puVar4 != 0xff) { - bVar2 = *(byte *)puVar4; - do { - *puVar3 = (uint)bVar2; - bVar2 = *(byte *)((int)puVar4 + 1); - iStack40 += 1; - puVar3 = puVar3 + 1; - puVar4 = (uint *)((int)puVar4 + 1); - } while (bVar2 != 0xff); - } - } - proc_7F0BA2D4(param_2,param_3,(int *)auStack32,&iStack40,7); - iVar6 = 0; - puVar4 = auStack32; - pcVar5 = param_1; - if (0 < iStack40) { - while( true ) { - iVar6 += 1; - puVar4 = puVar4 + 1; - pcVar5[0x2c] = (char)auStack32[0]; - if (iStack40 <= iVar6) break; - auStack32[0] = *puVar4; - pcVar5 = pcVar5 + 1; - } - } - param_1[iVar6 + 0x2c] = -1; - return; -} - - - -void proc_7F03E3FC(int *param_1) - -{ - short sVar1; - short *psVar2; - longlong lVar3; - int iVar4; - int iVar5; - short *psVar6; - short sVar7; - - iVar5 = *param_1; - psVar2 = ptr_list_object_lookup_indices; - iVar4 = DAT_8007161c; - while (DAT_8007161c = iVar4, -1 < iVar5) { - lVar3 = (longlong)*(short *)(ptr_room_lookup_buffer_maybe + iVar5 * 2); - if (lVar3 < 0) { - iVar5 = param_1[1]; - } - else { - do { - iVar5 = 0; - do { - sVar1 = *(short *)(iVar4 + (int)lVar3 * 0x20 + iVar5); - iVar5 += 2; - if (-1 < sVar1) { - psVar6 = ptr_list_object_lookup_indices; - if (ptr_list_object_lookup_indices < psVar2) { - sVar7 = *ptr_list_object_lookup_indices; - while ((sVar1 != sVar7 && (psVar6 = psVar6 + 1, psVar6 < psVar2))) { - sVar7 = *psVar6; - } - } - if (psVar6 == psVar2) { - *psVar2 = sVar1; - psVar2 = psVar2 + 1; - iVar4 = DAT_8007161c; - } - } - } while (iVar5 != 0x1e); - lVar3 = (longlong)*(short *)(iVar4 + (int)lVar3 * 0x20 + 0x1e); - } while (-1 < lVar3); - iVar5 = param_1[1]; - } - param_1 = param_1 + 1; - iVar4 = DAT_8007161c; - } - *psVar2 = -1; - num_obj_position_data_entries = (int)psVar2 + (2 - (int)ptr_list_object_lookup_indices) >> 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f03e63c) overlaps instruction at (ram,0x7f03e638) -// - -void proc_7F03E4F0(void) - -{ - short sVar1; - longlong lVar2; - int iVar3; - u32 uVar4; - int iVar5; - int iVar7; - longlong lVar6; - int iVar8; - int iVar9; - short *psVar10; - short *psVar11; - - iVar3 = 0; - if (0 < (int)max_num_rooms) { - iVar5 = 0; - uVar4 = max_num_rooms; - do { - iVar3 += 1; - sVar1 = *(short *)(ptr_room_lookup_buffer_maybe + iVar5); - if (-1 < (longlong)sVar1) { - lVar2 = (longlong)sVar1; - lVar6 = (longlong)*(short *)(DAT_8007161c + (int)sVar1 * 0x20 + 0x1e); - while (-1 < lVar6) { - iVar8 = 0; - do { - iVar7 = (int)lVar6; - psVar11 = (short *)(DAT_8007161c + (int)lVar2 * 0x20 + iVar8); - iVar8 += 2; - iVar9 = 0; - psVar10 = (short *)(DAT_8007161c + iVar7 * 0x20); - if (*psVar11 < 0) { - do { - if (-1 < *psVar10) { - *psVar11 = *psVar10; - *(undefined2 *)(DAT_8007161c + iVar7 * 0x20 + iVar9) = 0xffff; - break; - } - iVar9 += 2; - psVar10 = psVar10 + 1; - } while (iVar9 != 0x1e); - if (iVar9 < 0x1e) { - psVar11 = (short *)(DAT_8007161c + iVar7 * 0x20 + iVar9); - do { - if (-1 < *psVar11) break; - iVar9 += 2; - psVar11 = psVar11 + 1; - } while (iVar9 < 0x1e); - } - if (iVar9 == 0x1e) { - iVar9 = (int)lVar2 * 0x20; - *(undefined2 *)(DAT_8007161c + iVar7 * 0x20) = 0xfffe; - *(undefined2 *)(DAT_8007161c + iVar9 + 0x1e) = - *(undefined2 *)(DAT_8007161c + iVar7 * 0x20 + 0x1e); - lVar6 = (longlong)*(short *)(DAT_8007161c + iVar9 + 0x1e); - if (lVar6 < 0) break; - } - } - } while (iVar8 < 0x1e); - uVar4 = max_num_rooms; - if (-1 < lVar6) { - lVar2 = lVar6; - lVar6 = (longlong)*(short *)(DAT_8007161c + (int)lVar6 * 0x20 + 0x1e); - } - } - } - iVar5 += 2; - } while (iVar3 < (int)uVar4); - } - return; -} - - - -void removed_debug_roomblocks_feature(void) - -{ - return; -} - - - -void proc_7F03E6A0(int param_1) - -{ - int iVar1; - int iVar2; - - if (((*(uint *)(*(int *)(param_1 + 4) + 100) & 1) != 0) && (dword_80030B00 != 0)) { - iVar2 = *(int *)(dword_80030B00 + 4); - iVar1 = dword_80030B00; - while( true ) { - if (param_1 == iVar2) { - if (*(int *)(iVar1 + 8) == 0) { - iVar1 = *(int *)(iVar1 + 0xc); - } - else { - proc_7F05599C(*(int *)(iVar1 + 8)); - iVar1 = *(int *)(iVar1 + 0xc); - } - } - else { - iVar1 = *(int *)(iVar1 + 0xc); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return; -} - - - -undefined8 proc_7F03E718(int param_1) - -{ - ulonglong uVar1; - int iVar2; - int iVar3; - - if (((*(uint *)(param_1 + 100) & 0x2000) != 0) && (dword_80030B04 != 0)) { - iVar3 = *(int *)(dword_80030B04 + 4); - iVar2 = dword_80030B04; - while( true ) { - if (param_1 == iVar3) { - iVar3 = *(int *)(iVar2 + 8); - if (iVar3 == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - if (*(int *)(iVar3 + 0x10) == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - uVar1 = check_if_object_has_not_been_destroyed(iVar3); - if (uVar1 != 0) { - return 0; - } - iVar2 = *(int *)(iVar2 + 0xc); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 4); - } - } - return 1; -} - - - -undefined8 proc_7F03E7AC(int param_1) - -{ - int iVar1; - int iVar2; - - if (((*(uint *)(param_1 + 0xc) & 0x400) != 0) && (dword_80030B08 != 0)) { - iVar2 = *(int *)(dword_80030B08 + 4); - iVar1 = dword_80030B08; - while( true ) { - if (param_1 == iVar2) { - iVar2 = *(int *)(iVar1 + 0xc); - if (iVar2 == 0) { - iVar1 = *(int *)(iVar1 + 0x10); - } - else { - if (*(int *)(iVar2 + 0x10) == 0) { - iVar1 = *(int *)(iVar1 + 0x10); - } - else { - if (*(float *)(iVar2 + 0xb4) <= 0.50000000) { - return 0; - } - iVar1 = *(int *)(iVar1 + 0x10); - } - } - } - else { - iVar1 = *(int *)(iVar1 + 0x10); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return 1; -} - - - -void proc_7F03E830(int param_1) - -{ - proc_7F0B2970(); - return; -} - - - -undefined4 proc_7F03E85C(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 proc_7F03E864(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 proc_7F03E86C(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 proc_7F03E874(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -float proc_7F03E87C(int param_1,float *param_2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *param_2) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (0.00000000 <= param_2[4]) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *param_2 + 0.00000000 + fVar1 * param_2[4]; - fVar2 = param_2[8]; - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float proc_7F03E91C(int param_1,float *param_2) - -{ - float fVar1; - float fVar2; - - if (*param_2 <= 0.00000000) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (param_2[4] <= 0.00000000) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *param_2 + 0.00000000 + fVar1 * param_2[4]; - fVar2 = param_2[8]; - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float proc_7F03E9BC(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *(float *)(param_2 + 4)) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (0.00000000 <= *(float *)(param_2 + 0x14)) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *(float *)(param_2 + 4) + 0.00000000 + fVar1 * *(float *)(param_2 + 0x14); - fVar2 = *(float *)(param_2 + 0x24); - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float proc_7F03EA5C(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - if (*(float *)(param_2 + 4) <= 0.00000000) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (*(float *)(param_2 + 0x14) <= 0.00000000) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *(float *)(param_2 + 4) + 0.00000000 + fVar1 * *(float *)(param_2 + 0x14); - fVar2 = *(float *)(param_2 + 0x24); - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float proc_7F03EAFC(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - if (0.00000000 <= *(float *)(param_2 + 8)) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (0.00000000 <= *(float *)(param_2 + 0x18)) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *(float *)(param_2 + 8) + 0.00000000 + fVar1 * *(float *)(param_2 + 0x18); - fVar2 = *(float *)(param_2 + 0x28); - if (fVar2 < 0.00000000) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -float proc_7F03EB9C(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - if (*(float *)(param_2 + 8) <= 0.00000000) { - fVar2 = *(float *)(param_1 + 4); - } - else { - fVar2 = *(float *)(param_1 + 8); - } - if (*(float *)(param_2 + 0x18) <= 0.00000000) { - fVar1 = *(float *)(param_1 + 0xc); - } - else { - fVar1 = *(float *)(param_1 + 0x10); - } - fVar1 = fVar2 * *(float *)(param_2 + 8) + 0.00000000 + fVar1 * *(float *)(param_2 + 0x18); - fVar2 = *(float *)(param_2 + 0x28); - if (0.00000000 < fVar2) { - return fVar1 + *(float *)(param_1 + 0x18) * fVar2; - } - return fVar1 + *(float *)(param_1 + 0x14) * fVar2; -} - - - -void proc_7F03EC3C(int param_1,int param_2,undefined4 *param_3) - -{ - if (*(float *)(param_2 + 8) <= 0.00000000) { - *param_3 = *(undefined4 *)(param_1 + 4); - } - else { - *param_3 = *(undefined4 *)(param_1 + 8); - } - if (*(float *)(param_2 + 0x18) <= 0.00000000) { - param_3[1] = *(undefined4 *)(param_1 + 0xc); - } - else { - param_3[1] = *(undefined4 *)(param_1 + 0x10); - } - if (0.00000000 < *(float *)(param_2 + 0x28)) { - param_3[2] = *(undefined4 *)(param_1 + 0x18); - return; - } - param_3[2] = *(undefined4 *)(param_1 + 0x14); - return; -} - - - -// WARNING: Instruction at (ram,0x7f03f418) overlaps instruction at (ram,0x7f03f414) -// - -void proc_7F03ECC0(float param_1,undefined8 param_2,undefined8 param_3,float param_4, - undefined8 param_5,float param_6,float param_7,float *param_8,float *param_9, - uint *param_10) - -{ - int *piVar1; - int iVar2; - uint uVar3; - int iVar4; - double *pdVar5; - int iVar6; - int iVar7; - int iVar8; - uint uVar9; - double *pdVar10; - uint uVar11; - double *pdVar12; - double *pdVar13; - float *pfVar14; - float *pfVar15; - double *pdVar16; - int iVar17; - double dVar18; - double dVar19; - double dVar20; - double dVar21; - double dVar22; - double dVar23; - double dVar24; - double dVar25; - double dVar26; - double dVar27; - float fVar28; - float fVar29; - uint *in_stack_00000020; - int aiStack176 [4]; - int aiStack160 [8]; - double adStack128 [16]; - - pdVar13 = adStack128; - iVar7 = 0; - pdVar12 = adStack128; - iVar4 = 0; - pdVar10 = adStack128; - dVar18 = (double)*param_9 * (double)param_1; - dVar23 = (double)param_9[4] * (double)param_5._4_4_; - iVar8 = 0; - dVar26 = (double)param_9[8] * (double)param_7; - dVar25 = dVar18 + dVar23; - pdVar16 = adStack128; - iVar17 = 0; - adStack128[0] = dVar25 + dVar26; - pdVar5 = adStack128; - iVar2 = 1; - dVar19 = (double)param_9[2] * (double)param_1; - dVar20 = (double)param_9[6] * (double)param_5._4_4_; - dVar21 = dVar19 + dVar20; - dVar22 = (double)param_9[10] * (double)param_7; - adStack128[1] = dVar21 + dVar22; - dVar24 = (double)param_9[8] * (double)(float)param_8; - dVar27 = (double)param_9[10] * (double)(float)param_8; - adStack128[2] = dVar25 + dVar24; - dVar25 = (double)param_9[4] * (double)param_6; - adStack128[3] = dVar21 + dVar27; - dVar21 = (double)param_9[6] * (double)param_6; - dVar18 = dVar18 + dVar25; - dVar19 = dVar19 + dVar21; - adStack128[4] = dVar18 + dVar26; - adStack128[5] = dVar19 + dVar22; - adStack128[6] = dVar18 + dVar24; - adStack128[7] = dVar19 + dVar27; - dVar18 = (double)*param_9 * (double)param_4; - dVar19 = (double)param_9[2] * (double)param_4; - dVar23 = dVar18 + dVar23; - dVar20 = dVar19 + dVar20; - adStack128[8] = dVar23 + dVar26; - adStack128[9] = dVar20 + dVar22; - adStack128[10] = dVar23 + dVar24; - dVar19 = dVar19 + dVar21; - adStack128[11] = dVar20 + dVar27; - dVar18 = dVar18 + dVar25; - adStack128[12] = dVar18 + dVar26; - adStack128[13] = dVar19 + dVar22; - adStack128[15] = dVar19 + dVar27; - adStack128[14] = dVar18 + dVar24; - do { - pdVar5 = pdVar5 + 2; - if ((*pdVar5 < adStack128[0]) || ((*pdVar5 == adStack128[0] && (pdVar5[1] < pdVar13[1])))) { - pdVar13 = adStack128 + iVar2 * 2; - adStack128[0] = *pdVar13; - iVar17 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((pdVar12[1] < pdVar5[1]) || ((pdVar5[1] == pdVar12[1] && (*pdVar5 < *pdVar12)))) { - pdVar12 = adStack128 + iVar2 * 2; - iVar7 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((*pdVar10 < *pdVar5) || ((*pdVar5 == *pdVar10 && (pdVar10[1] < pdVar5[1])))) { - pdVar10 = adStack128 + iVar2 * 2; - iVar4 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar2 = 1; - pdVar5 = adStack128; - do { - pdVar5 = pdVar5 + 2; - if ((pdVar5[1] < pdVar16[1]) || ((pdVar5[1] == pdVar16[1] && (*pdVar16 < *pdVar5)))) { - pdVar16 = adStack128 + iVar2 * 2; - iVar8 = iVar2; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar6 = 0; - iVar2 = 0; - do { - if ((((iVar2 != iVar17) && (iVar2 != iVar4)) && (iVar2 != iVar7)) && (iVar2 != iVar8)) { - aiStack176[iVar6] = iVar2; - iVar6 += 1; - } - iVar2 += 1; - } while (iVar2 < 8); - iVar8 = 1; - piVar1 = aiStack176; - *(float *)param_10 = (float)adStack128[0]; - *(float *)(param_10 + 1) = (float)pdVar13[1]; - dVar18 = *pdVar16; - iVar17 = aiStack176[0]; - while (dVar23 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar16[1]) * (*pdVar13 - dVar18) <= - (dVar23 - dVar18) * (pdVar13[1] - pdVar16[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f19c; - iVar17 = *piVar1; - } - iVar8 = 2; - *(float *)(param_10 + 2) = (float)dVar23; - *(float *)(param_10 + 3) = (float)adStack128[iVar17 * 2 + 1]; - dVar18 = *pdVar16; -LAB_7f03f19c: - pfVar15 = (float *)(param_10 + iVar8 * 2); - pfVar14 = pfVar15 + 2; - *pfVar15 = (float)dVar18; - iVar7 = iVar8 + 1; - piVar1 = aiStack176; - pfVar15[1] = (float)pdVar16[1]; - dVar18 = *pdVar10; - iVar17 = aiStack176[0]; - while (dVar23 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar10[1]) * (*pdVar16 - dVar18) <= - (dVar23 - dVar18) * (pdVar16[1] - pdVar10[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f24c; - iVar17 = *piVar1; - } - iVar7 = iVar8 + 2; - pfVar14 = pfVar15 + 4; - pfVar15[2] = (float)dVar23; - pfVar15[3] = (float)adStack128[iVar17 * 2 + 1]; - dVar18 = *pdVar10; -LAB_7f03f24c: - iVar8 = iVar7 + 1; - pfVar15 = pfVar14 + 2; - piVar1 = aiStack176; - *pfVar14 = (float)dVar18; - pfVar14[1] = (float)pdVar10[1]; - dVar18 = *pdVar12; - iVar17 = aiStack176[0]; - while (dVar23 = adStack128[iVar17 * 2], - (adStack128[iVar17 * 2 + 1] - pdVar12[1]) * (*pdVar10 - dVar18) <= - (dVar23 - dVar18) * (pdVar10[1] - pdVar12[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f2f4; - iVar17 = *piVar1; - } - iVar8 = iVar7 + 2; - pfVar15 = pfVar14 + 4; - pfVar14[2] = (float)dVar23; - pfVar14[3] = (float)adStack128[iVar17 * 2 + 1]; - dVar18 = *pdVar12; -LAB_7f03f2f4: - uVar9 = iVar8 + 1; - piVar1 = aiStack176; - *pfVar15 = (float)dVar18; - pfVar15[1] = (float)pdVar12[1]; - while (dVar18 = adStack128[aiStack176[0] * 2], - (adStack128[aiStack176[0] * 2 + 1] - pdVar13[1]) * (*pdVar12 - *pdVar13) <= - (dVar18 - *pdVar13) * (pdVar12[1] - pdVar13[1])) { - piVar1 = piVar1 + 1; - if (aiStack160 <= piVar1) goto LAB_7f03f39c; - aiStack176[0] = *piVar1; - } - uVar9 = iVar8 + 2; - pfVar15[2] = (float)dVar18; - pfVar15[3] = (float)adStack128[aiStack176[0] * 2 + 1]; -LAB_7f03f39c: - *in_stack_00000020 = uVar9; - if (uVar9 != 0) { - uVar11 = uVar9 & 3; - if (uVar11 == 0) { - iVar17 = 0; - } - else { - uVar3 = 1; - fVar29 = (float)*param_10; - pfVar15 = (float *)param_10; - pfVar14 = (float *)param_10; - if (uVar11 != 1) { - do { - uVar3 += 1; - fVar28 = fVar29 + param_9[0xc]; - fVar29 = pfVar14[2]; - pfVar15 = pfVar14 + 2; - *pfVar14 = fVar28; - pfVar14[1] = pfVar14[1] + param_9[0xe]; - pfVar14 = pfVar15; - } while (uVar11 != uVar3); - } - *pfVar15 = fVar29 + param_9[0xc]; - pfVar15[1] = pfVar15[1] + param_9[0xe]; - iVar17 = uVar3 << 3; - if (uVar3 == uVar9) { - return; - } - } - fVar29 = *(float *)((int)param_10 + iVar17); - pfVar15 = (float *)((int)param_10 + iVar17); - while (pfVar14 = pfVar15 + 8, pfVar14 != (float *)(param_10 + uVar9 * 2)) { - *pfVar15 = fVar29 + param_9[0xc]; - fVar29 = *pfVar14; - pfVar15[1] = pfVar15[1] + param_9[0xe]; - pfVar15[2] = pfVar15[2] + param_9[0xc]; - pfVar15[3] = pfVar15[3] + param_9[0xe]; - pfVar15[4] = pfVar15[4] + param_9[0xc]; - pfVar15[5] = pfVar15[5] + param_9[0xe]; - pfVar15[6] = pfVar15[6] + param_9[0xc]; - pfVar15[7] = pfVar15[7] + param_9[0xe]; - pfVar15 = pfVar14; - } - *pfVar15 = fVar29 + param_9[0xc]; - pfVar15[1] = pfVar15[1] + param_9[0xe]; - pfVar15[2] = pfVar15[2] + param_9[0xc]; - pfVar15[3] = pfVar15[3] + param_9[0xe]; - pfVar15[4] = pfVar15[4] + param_9[0xc]; - pfVar15[5] = pfVar15[5] + param_9[0xe]; - pfVar15[6] = pfVar15[6] + param_9[0xc]; - pfVar15[7] = pfVar15[7] + param_9[0xe]; - } - return; -} - - - -void proc_7F03F540(undefined8 param_1,undefined8 param_2,float *param_3,uint *param_4) - -{ - int iVar1; - - iVar1 = (int)param_1; - proc_7F03ECC0(*(float *)(iVar1 + 4),param_1,param_2,*(float *)(iVar1 + 8), - (longlong)*(int *)(iVar1 + 0xc),*(float *)(iVar1 + 0x10), - *(undefined4 *)(iVar1 + 0x14),*(float **)(iVar1 + 0x18),(float *)param_2, - (uint *)param_3); - return; -} - - - -undefined8 proc_7F03F598(float *param_1,float param_2,float *param_3) - -{ - undefined8 uVar1; - float *in_a2_lo; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar2 = *param_1 - *in_a2_lo; - fVar3 = param_1[1] - in_a2_lo[1]; - fVar4 = param_1[2] - in_a2_lo[2]; - fVar5 = in_a2_lo[8] * fVar4 + fVar2 * in_a2_lo[6] + fVar3 * in_a2_lo[7]; - if ((in_a2_lo[0x10] + (float)param_3 < fVar5) || (fVar5 < in_a2_lo[0xf] - (float)param_3)) { - uVar1 = 0; - } - else { - fVar5 = in_a2_lo[5] * fVar4 + fVar2 * in_a2_lo[3] + fVar3 * in_a2_lo[4]; - if ((in_a2_lo[0xe] + (float)param_3 < fVar5) || (fVar5 < in_a2_lo[0xd] - (float)param_3)) { - uVar1 = 0; - } - else { - fVar2 = (in_a2_lo[3] * in_a2_lo[7] - in_a2_lo[6] * in_a2_lo[4]) * fVar4 + - fVar2 * (in_a2_lo[4] * in_a2_lo[8] - in_a2_lo[7] * in_a2_lo[5]) + - fVar3 * (in_a2_lo[5] * in_a2_lo[6] - in_a2_lo[8] * in_a2_lo[3]); - if ((in_a2_lo[0xc] + (float)param_3 < fVar2) || - (uVar1 = 1, fVar2 < in_a2_lo[0xb] - (float)param_3)) { - uVar1 = 0; - } - } - } - return uVar1; -} - - - -void proc_7F03F748(int param_1,float *param_2,float *param_3,longlong param_4) - -{ - ushort uVar1; - int iVar2; - bool bVar3; - float *pfVar4; - ushort *puVar5; - ushort *puVar6; - float fVar7; - float fVar8; - - puVar5 = **(ushort ***)(param_1 + 8); - bVar3 = true; - if (puVar5 != NULL) { - uVar1 = *puVar5; - while( true ) { - if ((uVar1 & 0xff) == 10) { - iVar2 = *(int *)(puVar5 + 2); - pfVar4 = (float *)proc_7F06C660(param_1,puVar5,0); - if (param_4 == 0) { - fVar7 = proc_7F03E91C(iVar2,pfVar4); - fVar7 = pfVar4[0xc] + fVar7; - fVar8 = proc_7F03E87C(iVar2,pfVar4); - fVar8 = pfVar4[0xc] + fVar8; - } - else { - if (param_4 == 1) { - fVar7 = proc_7F03EA5C(iVar2,(int)pfVar4); - fVar7 = pfVar4[0xd] + fVar7; - fVar8 = proc_7F03E9BC(iVar2,(int)pfVar4); - fVar8 = pfVar4[0xd] + fVar8; - } - else { - fVar7 = proc_7F03EB9C(iVar2,(int)pfVar4); - fVar7 = pfVar4[0xe] + fVar7; - fVar8 = proc_7F03EAFC(iVar2,(int)pfVar4); - fVar8 = pfVar4[0xe] + fVar8; - } - } - if ((bVar3) || (*param_2 < fVar7)) { - *param_2 = fVar7; - } - if ((bVar3) || (fVar8 < *param_3)) { - *param_3 = fVar8; - } - puVar6 = *(ushort **)(puVar5 + 10); - bVar3 = false; - } - else { - puVar6 = *(ushort **)(puVar5 + 10); - } - if ((puVar6 == NULL) && (puVar6 = puVar5, puVar5 != NULL)) { - puVar6 = *(ushort **)(puVar5 + 6); - while ((puVar6 == NULL && - (puVar5 = *(ushort **)(puVar5 + 4), puVar6 = puVar5, puVar5 != NULL))) { - puVar6 = *(ushort **)(puVar5 + 6); - } - } - if (puVar6 == NULL) break; - uVar1 = *puVar6; - puVar5 = puVar6; - } - } - return; -} - - - -void proc_7F03F90C(int param_1,float *param_2,float *param_3,float *param_4,float *param_5) - -{ - proc_7F03F748(param_1,param_2,param_3,0); - proc_7F03F748(param_1,param_4,param_5,1); - return; -} - - - -void proc_7F03F948(float *param_1,float *param_2,undefined4 *param_3,float *param_4,float *param_5) - -{ - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack12 = *param_2; - fStack8 = param_1[1]; - fStack4 = param_1[2]; - proc_7F077FF4(&fStack12,&fStack20); - *param_4 = fStack20; - fStack12 = param_2[1]; - fStack8 = param_1[1]; - fStack4 = param_1[2]; - proc_7F077FF4(&fStack12,&fStack20); - *param_5 = fStack20; - fStack12 = *param_1; - fStack8 = (float)param_3[1]; - fStack4 = param_1[2]; - proc_7F077FF4(&fStack12,&fStack20); - param_4[1] = fStack16; - fStack12 = *param_1; - fStack8 = (float)*param_3; - fStack4 = param_1[2]; - proc_7F077FF4(&fStack12,&fStack20); - param_5[1] = fStack16; - return; -} - - - -int scan_position_data_table_for_normal_object_at_preset(short param_1) - -{ - char cVar1; - object_standard *poVar2; - - poVar2 = get_ptr_obj_pos_list_current_entry(); - if (poVar2 != NULL) { - cVar1 = *(char *)poVar2; - while( true ) { - if (cVar1 == '\x01') { - if ((longlong)(int)param_1 == (longlong)*(short *)(*(int *)&poVar2->pad + 6)) { - return *(int *)&poVar2->pad; - } - poVar2 = (object_standard *)poVar2->runtime_MATRIX3; - } - else { - poVar2 = (object_standard *)poVar2->runtime_MATRIX3; - } - if (poVar2 == NULL) break; - cVar1 = *(char *)poVar2; - } - } - return 0; -} - - - -undefined4 proc_7F03FAB0(float *param_1,ulonglong param_2) - -{ - char cVar1; - object_standard *poVar3; - longlong lVar2; - uint uStack12; - float *apfStack8 [2]; - - poVar3 = get_ptr_obj_pos_list_current_entry(); - if (poVar3 != NULL) { - cVar1 = *(char *)poVar3; - while( true ) { - if (cVar1 == '\x01') { - if (param_2 == - (ulonglong)*(byte *)((int)poVar3->runtime_ptr_obj_instance_controller + 3)) { - proc_7F03CCB0((char *)poVar3,(int **)apfStack8,&uStack12); - lVar2 = proc_7F03CCD8(param_1,apfStack8[0],uStack12); - if (lVar2 != 0) { - return *(undefined4 *)&poVar3->pad; - } - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - else { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - } - else { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - if (poVar3 == NULL) break; - cVar1 = *(char *)poVar3; - } - } - return 0; -} - - - -void proc_7F03FB70(uint *param_1) - -{ - ulonglong uVar1; - ALLink_s *pAVar2; - uint uVar3; - - if ((*param_1 & 0x80) == 0) { - uVar3 = *param_1; - } - else { - if ((ALLink_s *)param_1[0x26] == NULL) { - pAVar2 = (ALLink_s *)param_1[0x27]; - } - else { - uVar1 = sfxGetArg0Unk3F((ALLink_s *)param_1[0x26]); - if (uVar1 == 0) { - pAVar2 = (ALLink_s *)param_1[0x27]; - } - else { - sfxDeactivate(param_1[0x26]); - pAVar2 = (ALLink_s *)param_1[0x27]; - } - } - if (pAVar2 == NULL) { - uVar3 = *param_1; - } - else { - uVar1 = sfxGetArg0Unk3F(pAVar2); - if (uVar1 == 0) { - uVar3 = *param_1; - } - else { - sfxDeactivate(param_1[0x27]); - uVar3 = *param_1; - } - } - } - *param_1 = uVar3 | 0x80000000; - return; -} - - - -void proc_7F03FBFC(undefined4 *param_1) - -{ - float fVar1; - - *param_1 = 0; - param_1[0x22] = 0; - param_1[1] = 0; - param_1[2] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - param_1[6] = 0; - param_1[7] = 0; - param_1[0x18] = 0x3f800000; - fVar1 = flt_80052A48; - param_1[0x24] = 0; - param_1[0x28] = 0xffffffff; - param_1[0x29] = 0; - param_1[0x2a] = 0; - param_1[0x2b] = 0xffffffff; - param_1[0x2e] = 1; - param_1[0x2f] = 0; - param_1[0x38] = 0; - param_1[0x39] = 0; - param_1[0x3a] = 0; - param_1[0x25] = 0; - param_1[0x30] = 0x3f800000; - param_1[0x31] = 0x3f800000; - param_1[0x32] = 0x3f800000; - *(float *)(param_1 + 0x23) = fVar1; - return; -} - - - -undefined4 * proc_7F03FC80(void) - -{ - uint uVar1; - uint *puVar2; - undefined4 *puVar3; - int iVar4; - int iVar5; - - iVar5 = -1; - puVar2 = &DAT_80073dc0; - iVar4 = 0; - do { - uVar1 = *puVar2; - puVar2 = puVar2 + 0x3b; - if ((uVar1 & 0x80000000) != 0) { - proc_7F03FBFC((undefined4 *)((int)&DAT_80073dc0 + iVar4)); - return (undefined4 *)((int)&DAT_80073dc0 + iVar4); - } - iVar4 += 0xec; - } while (puVar2 < &DAT_80075030); - puVar3 = &DAT_80073dc0; - iVar4 = 0; - do { - if ((puVar3[0x39] != 0) && - ((iVar5 < 0 || ((int)puVar3[0x3a] < (int)(&DAT_80073ea8)[iVar5 * 0x3b])))) { - iVar5 = iVar4; - } - iVar4 += 1; - puVar3 = puVar3 + 0x3b; - } while (iVar4 != 0x14); - puVar3 = NULL; - if (-1 < iVar5) { - proc_7F040CF0(*(int *)((&DAT_80073ea4)[iVar5 * 0x3b] + 0x10)); - puVar3 = &DAT_80073dc0 + iVar5 * 0x3b; - *(uint *)((&DAT_80073ea4)[iVar5 * 0x3b] + 100) = - *(uint *)((&DAT_80073ea4)[iVar5 * 0x3b] + 100) | 4; - proc_7F03FBFC(puVar3); - } - return puVar3; -} - - - -void proc_7F03FDA8(int param_1) - -{ - int iVar1; - undefined4 *puVar2; - - iVar1 = *(int *)(param_1 + 4); - if ((*(uint *)(iVar1 + 100) & 0x40) == 0) { - if ((*(uint *)(iVar1 + 100) & 0x80) == 0) { - puVar2 = proc_7F03FC80(); - *(undefined4 **)(iVar1 + 0x6c) = puVar2; - if (puVar2 != NULL) { - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 0x80; - } - } - } - else { - puVar2 = proc_7F03FC80(); - *(undefined4 **)(*(int *)(iVar1 + 0x6c) + 0x44) = puVar2; - } - return; -} - - - -void proc_7F03FE14(int param_1) - -{ - undefined uVar1; - int iVar2; - uint *puVar3; - - iVar2 = *(int *)(param_1 + 4); - puVar3 = NULL; - if ((*(uint *)(iVar2 + 100) & 0x40) == 0) { - if ((*(uint *)(iVar2 + 100) & 0x80) != 0) { - puVar3 = *(uint **)(iVar2 + 0x6c); - } - } - else { - puVar3 = *(uint **)(*(int *)(iVar2 + 0x6c) + 0x44); - } - if (puVar3 != NULL) { - *puVar3 = *puVar3 | 4; - if (*(int *)(param_1 + 0x14) != 0) { - uVar1 = *(undefined *)(*(int *)(param_1 + 0x14) + 3); - *(undefined *)((int)puVar3 + 0xcd) = 0xff; - *(undefined *)(puVar3 + 0x33) = uVar1; - return; - } - *(undefined *)(puVar3 + 0x33) = 0xff; - } - return; -} - - - -void proc_7F03FE88(uint *param_1) - -{ - *param_1 = *param_1 | 1; - return; -} - - - -int proc_7F03FE98(void) - -{ - int iVar1; - uint *puVar2; - - puVar2 = &DAT_80075030; - iVar1 = 0; - while( true ) { - if ((*puVar2 & 1) != 0) { - *puVar2 = 0; - puVar2[0x11] = 0; - return (int)&DAT_80075030 + iVar1; - } - if ((puVar2[0x12] & 1) != 0) { - puVar2[0x12] = 0; - puVar2[0x23] = 0; - return (int)&DAT_80075078 + iVar1; - } - if ((puVar2[0x24] & 1) != 0) { - puVar2[0x24] = 0; - puVar2[0x35] = 0; - return (int)&DAT_800750c0 + iVar1; - } - if ((puVar2[0x36] & 1) != 0) break; - puVar2 = puVar2 + 0x48; - iVar1 += 0x120; - if (puVar2 == &objinst) { - return 0; - } - } - puVar2[0x36] = 0; - puVar2[0x47] = 0; - return (int)&DAT_80075108 + iVar1; -} - - - -int proc_7F03FF60(int param_1) - -{ - if ((*(byte *)(param_1 + 2) & 0x80) != 0) { - return (int)(*(float *)(param_1 + 0x70) + 4.00000000); - } - return (int)((*(float *)(param_1 + 0x70) * 3.00000000) / *(float *)(param_1 + 0x74)); -} - - - -int do_something_if_object_destroyed(int param_1) - -{ - if ((*(byte *)(param_1 + 2) & 0x80) != 0) { - return ((int)*(float *)(param_1 + 0x70) >> 2) + 1; - } - return 0; -} - - - -undefined4 proc_7F03FFF8(int *param_1) - -{ - short sVar1; - short *psVar2; - short *psVar3; - - psVar3 = *(short **)(*param_1 + 0x14); - if (psVar3 != NULL) { - if (psVar3 != NULL) { - sVar1 = *psVar3; - psVar2 = psVar3; - while( true ) { - if (sVar1 == 10) { - return *(undefined4 *)(psVar2 + 2); - } - psVar2 = *(short **)(psVar2 + 6); - if (psVar2 == NULL) break; - sVar1 = *psVar2; - } - } - psVar3 = *(short **)(psVar3 + 10); - if ((psVar3 != NULL) && (psVar3 != NULL)) { - sVar1 = *psVar3; - while( true ) { - if (sVar1 == 10) { - return *(undefined4 *)(psVar3 + 2); - } - psVar3 = *(short **)(psVar3 + 6); - if (psVar3 == NULL) break; - sVar1 = *psVar3; - } - } - } - return 0; -} - - - -undefined4 proc_7F040078(int param_1) - -{ - undefined4 uVar1; - - uVar1 = proc_7F03FFF8(*(int **)(*(int *)(param_1 + 0x14) + 8)); - return uVar1; -} - - - -void proc_7F04009C(int param_1,byte *param_2) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - int iVar4; - float fVar5; - uint uVar6; - int iVar7; - ulonglong uVar8; - byte *pbVar9; - uint uVar10; - float fVar11; - byte bVar12; - - copy_tile_RGB_as_24bit - (*(int **)(param_1 + 0x14),*(int *)(param_1 + 8),*(int *)(param_1 + 0x10), - (tile_rgb *)param_2); - bVar1 = param_2[2]; - bVar2 = *param_2; - bVar3 = param_2[1]; - fVar11 = (float)(0xff - ((int)((uint)bVar1 * 0x14 + (uint)bVar1 + - ((uint)bVar2 * 0x50 - (uint)bVar2) + - ((uint)bVar3 * 0x28 - (uint)bVar3) * 4) >> 8)) * 0.75000000; - if (false) { - fVar5 = ROUND(fVar11); - } - else { - fVar5 = FLOOR(fVar11); - } - bVar12 = (byte)(int)fVar5; - if (false) { - if (false) { - fVar11 = ROUND(fVar11 - 2147483648.00000000); - } - else { - fVar11 = FLOOR(fVar11 - 2147483648.00000000); - } - if (true) { - bVar12 = (byte)(int)fVar11; - goto LAB_7f0401b8; - } - } - else { - if (-1 < (int)fVar5) goto LAB_7f0401b8; - } - bVar12 = 0xff; -LAB_7f0401b8: - param_2[3] = bVar12; - uVar10 = (uint)(bVar3 <= bVar2); - uVar6 = (uint)(bVar3 > bVar2); - pbVar9 = param_2 + uVar6; - uVar8 = (ulonglong)*pbVar9; - if (uVar8 < (ulonglong)bVar1) { - pbVar9 = param_2 + 2; - uVar8 = (ulonglong)*pbVar9; - } - else { - if ((ulonglong)param_2[uVar10] < (ulonglong)bVar1) { - uVar6 = 2; - } - else { - uVar6 = uVar10; - uVar10 = 2; - } - } - if (uVar8 != 0) { - bVar1 = param_2[uVar10]; - bVar2 = param_2[uVar6]; - param_2[uVar10] = 0; - iVar7 = (int)uVar8 - (uint)bVar1; - iVar4 = (uint)bVar2 * iVar7; - param_2[uVar6] = (byte)(iVar4 / (int)uVar8); - *pbVar9 = (byte)iVar7; - if (uVar8 == 0) { - trap(0x1c00); - } - if ((uVar8 == 0xffffffffffffffff) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - bVar3 = param_2[1]; - bVar2 = *param_2; - bVar1 = param_2[2]; - } - *param_2 = bVar2 >> 1; - param_2[1] = bVar3 >> 1; - param_2[2] = bVar1 >> 1; - return; -} - - - -void proc_7F0402B4(int param_1,byte *param_2) - -{ - if ((*(uint *)(*(int *)(param_1 + 4) + 8) & 0x400) == 0) { - proc_7F04009C(param_1,param_2); - *param_2 = *param_2 >> 1; - param_2[1] = param_2[1] >> 1; - param_2[2] = param_2[2] >> 1; - } - return; -} - - - -void proc_7F040310(byte *param_1,byte *param_2) - -{ - *param_1 = *param_1 + (char)((int)(((uint)*param_2 - (uint)*param_1) + 7) >> 3); - param_1[1] = param_1[1] + (char)((int)(((uint)param_2[1] - (uint)param_1[1]) + 7) >> 3); - param_1[2] = param_1[2] + (char)((int)(((uint)param_2[2] - (uint)param_1[2]) + 7) >> 3); - param_1[3] = param_1[3] + (char)((int)(((uint)param_2[3] - (uint)param_1[3]) + 7) >> 3); - return; -} - - - -void proc_7F040384(int *param_1,longlong param_2,float *param_3) - -{ - if (param_2 == 1) { - *param_3 = *param_3 * 255.00000000; - param_3[1] = param_3[1] * 255.00000000; - param_3[2] = param_3[2] * 255.00000000; - *param_1 = (int)(param_3[3] * (*param_3 - (float)*param_1) + (float)*param_1); - param_1[1] = (int)(param_3[3] * (param_3[1] - (float)param_1[1]) + (float)param_1[1]); - param_1[2] = (int)(param_3[3] * (param_3[2] - (float)param_1[2]) + (float)param_1[2]); - param_1[3] = (int)(param_3[3] * (255.00000000 - (float)param_1[3]) + (float)param_1[3]); - } - return; -} - - - -void proc_7F040484(int param_1) - -{ - float fVar1; - float afStack68 [16]; - int iStack4; - - if (*(int *)(param_1 + 0x68) != 0) { - iStack4 = proc_7F040078(param_1); - proc_7F058020((float (*) [4] [4])(param_1 + 0x18),(float (*) [4])afStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30((xyzpoint *)(param_1 + 0x58),(int)afStack68); - proc_7F03F540((longlong)iStack4,(longlong)(int)afStack68, - (float *)(*(uint **)(param_1 + 0x68) + 1),*(uint **)(param_1 + 0x68)); - fVar1 = proc_7F03E9BC(iStack4,(int)afStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = fVar1 + *(float *)(param_1 + 0x5c); - fVar1 = proc_7F03EA5C(iStack4,(int)afStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = fVar1 + *(float *)(param_1 + 0x5c); - if (*(char *)(param_1 + 3) == '(') { - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = - *(float *)(*(int *)(param_1 + 0x68) + 0x48) - 200.00000000; - } - } - return; -} - - - -undefined * -init_standard_object - (object_standard *objdata,object_header *modelheader,object_standard *targetposdata, - uint controller) - -{ - uint uVar1; - f32 in_f12; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f12_01; - f32 extraout_f12_02; - - if (targetposdata == NULL) { - targetposdata = remove_last_obj_pos_data_entry(); - in_f12 = extraout_f12; - } - if (controller == 0) { - if (objdata->type == '(') { - controller = get_aircraft_obj_instance_controller(modelheader); - in_f12 = extraout_f12_00; - } - else { - controller = get_obj_instance_controller_for_header(modelheader); - in_f12 = extraout_f12_01; - } - } - if ((targetposdata == NULL) || ((int *)controller == NULL)) { - if ((int *)controller != NULL) { - if (objdata->type == '(') { - set_aircraft_obj_inst_scale_to_zero((int *)controller); - } - else { - set_obj_instance_scale_to_zero((int *)controller); - } - } - if (targetposdata != NULL) { - set_last_obj_pos_data(targetposdata); - targetposdata = NULL; - } - } - else { - objdata->runtime_ptr_obj_instance_controller = controller; - objdata->ptr_allocated_collisiondata_block = 0; - if ((objdata->flags & 0x100) == 0) { - objdata->hidden2 = objdata->hidden2 & 0xf7; - } - else { - uVar1 = mempAllocBytesInBank(0x50,'\x04'); - objdata->ptr_allocated_collisiondata_block = uVar1; - objdata->hidden2 = objdata->hidden2 | 8; - in_f12 = extraout_f12_02; - } - *(object_standard **)&objdata->runtime_ptr_obj_posdata = targetposdata; - objdata->field_6C = 0; - objdata->field_78 = '\0'; - objdata->field_79 = '\0'; - objdata->field_7A = '\0'; - objdata->field_7B = '\0'; - objdata->field_7C = '\0'; - objdata->field_7D = '\0'; - objdata->field_7E = '\0'; - objdata->field_7F = '\0'; - objdata->field_70 = 0.00000000; - *(undefined2 *)objdata->runtime_ptr_obj_instance_controller = 0xffff; - *(undefined4 *)(objdata->runtime_ptr_obj_instance_controller + 4) = 0; - set_obj_instance_controller_scale(objdata->runtime_ptr_obj_instance_controller,in_f12); - *(undefined *)&targetposdata->extrascale = 1; - *(object_standard **)&targetposdata->obj = objdata; - targetposdata->flags = 0; - objdata->runtime_x_pos = 0.00000000; - targetposdata->flags2 = 0; - objdata->runtime_y_pos = 0.00000000; - targetposdata->runtime_ptr_obj_posdata = 0; - objdata->runtime_z_pos = 0.00000000; - targetposdata->runtime_ptr_obj_instance_controller = 0; - } - return (undefined *)targetposdata; -} - - - -undefined * init_object_no_default_pos_controller(object_standard *object,object_header *header) - -{ - undefined *puVar1; - - puVar1 = init_standard_object(object,header,NULL,0); - return puVar1; -} - - - -undefined * proc_7F04071C(int param_1) - -{ - undefined *puVar1; - - puVar1 = init_object_no_default_pos_controller - ((object_standard *)param_1, - (object_header *)PitemZ_entries[*(short *)(param_1 + 4)].header); - return puVar1; -} - - - -void proc_7F040754(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4) - -{ - int iVar1; - undefined4 uVar2; - - iVar1 = *(int *)(param_1 + 0x10); - proc_7F058020((float (*) [4] [4])param_3,(float (*) [4])(param_1 + 0x18)); - uVar2 = *param_2; - *(undefined4 *)(iVar1 + 8) = uVar2; - *(undefined4 *)(param_1 + 0x58) = uVar2; - uVar2 = param_2[1]; - *(undefined4 *)(iVar1 + 0xc) = uVar2; - *(undefined4 *)(param_1 + 0x5c) = uVar2; - uVar2 = param_2[2]; - *(undefined4 *)(iVar1 + 0x10) = uVar2; - *(undefined4 *)(param_1 + 0x60) = uVar2; - *(undefined4 *)(iVar1 + 0x14) = param_4; - proc_7F0402B4(*(int *)(param_1 + 0x10),(byte *)(param_1 + 0x7c)); - *(undefined *)(param_1 + 0x78) = *(undefined *)(param_1 + 0x7c); - *(undefined *)(param_1 + 0x79) = *(undefined *)(param_1 + 0x7d); - *(undefined *)(param_1 + 0x7a) = *(undefined *)(param_1 + 0x7e); - *(undefined *)(param_1 + 0x7b) = *(undefined *)(param_1 + 0x7f); - return; -} - - - -void proc_7F0407F4(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4) - -{ - int iVar1; - float fVar2; - - iVar1 = proc_7F03FFF8(*(int **)(*(int *)(param_1 + 0x14) + 8)); - fVar2 = (float)proc_7F0B2970(); - *(float *)(param_2 + 1) = fVar2 + 4.00000000; - fVar2 = proc_7F03E9BC(iVar1,(int)param_3); - *(float *)(param_2 + 1) = (float)param_2[1] - fVar2; - proc_7F040754(param_1,param_2,param_3,param_4); - proc_7F040484(param_1); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F04088C(void) - -{ - int iVar2; - longlong lVar1; - int in_a0_lo; - undefined8 extraout_a0; - float *in_a1_lo; - float (*in_a2_lo) [4] [4]; - int in_a3_lo; - float in_f0; - float extraout_f12; - float extraout_f12_00; - float fVar3; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float fVar4; - float *in_stack_00000010; - float fStack120; - float fStack116; - undefined4 uStack112; - int *piStack108; - float fStack104; - float afStack96 [4]; - float fStack80; - float fStack76; - float fStack72; - int iStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - int iStack8; - - iStack8 = proc_7F03FFF8(*(int **)(*(int *)(in_a0_lo + 0x14) + 8)); - proc_7F03E864(iStack8); - fStack12 = in_f0; - proc_7F03E86C(iStack8); - iStack32 = in_a3_lo; - fStack16 = in_f0; - if ((*(uint *)(in_a0_lo + 8) & 4) == 0) { - if ((*(uint *)(in_a0_lo + 8) & 8) == 0) { - fStack104 = (float)proc_7F0B2970(); - proc_7F058020(in_a2_lo,(float (*) [4])afStack96); - fStack28 = *in_stack_00000010 - fStack80 * fStack12; - fStack20 = in_stack_00000010[2] - fStack72 * fStack12; - iVar2 = proc_7F03FAB0(in_a1_lo,(ulonglong)*(byte *)(in_a3_lo + 3)); - if (iVar2 == 0) { - fStack24 = (fStack104 - fStack76 * fStack12) + 4.00000000; - fVar3 = fStack104; - fVar4 = extraout_f14_01; - } - else { - proc_7F03CC20(*(char **)(iVar2 + 0x10),&piStack108,&uStack112,&fStack116,&fStack120) - ; - fVar3 = fStack104; - fVar4 = extraout_f14_02; - if ((fStack116 <= fStack104) || - (fStack76 * (fStack16 - fStack12) + fStack104 + 4.00000000 <= fStack120)) { - fStack24 = (fStack104 - fStack76 * fStack12) + 4.00000000; - } - else { - fStack24 = fStack116 - fStack76 * fStack12; - *(uint *)(in_a0_lo + 100) = *(uint *)(in_a0_lo + 100) | 0x8000; - } - } - } - else { - proc_7F058020(in_a2_lo,(float (*) [4])afStack96); - fStack28 = *in_stack_00000010 - fStack80 * fStack12; - fStack24 = in_stack_00000010[1] - fStack76 * fStack12; - fStack20 = in_stack_00000010[2] - fStack72 * fStack12; - fVar3 = extraout_f12_00; - fVar4 = extraout_f14_00; - } - } - else { - proc_7F058688(flt_80052A4C,extraout_a0,afStack96); - proc_7F058068((float *)in_a2_lo,afStack96); - fStack28 = *in_stack_00000010 - fStack80 * fStack16; - fStack24 = in_stack_00000010[1] - fStack76 * fStack16; - fStack20 = in_stack_00000010[2] - fStack72 * fStack16; - fVar3 = extraout_f12; - fVar4 = extraout_f14; - } - lVar1 = (longlong)(int)in_a1_lo; - if (((*(uint *)(in_a0_lo + 0xc) & 1) == 0) && - (proc_7F0B0BE4(&iStack32,fVar3,fVar4,*in_a1_lo,in_a1_lo[2]), lVar1 != 0)) { - proc_7F040754(in_a0_lo,&fStack28,afStack96,iStack32); - } - else { - proc_7F040754(in_a0_lo,in_a1_lo,afStack96,in_a3_lo); - if ((*(uint *)(in_a0_lo + 0xc) & 1) == 0) { - if ((*(uint *)(in_a0_lo + 8) & 0x1000) == 0) goto LAB_7f040b84; - *(float *)(in_a0_lo + 0x58) = fStack28; - } - else { - *(float *)(in_a0_lo + 0x58) = fStack28; - } - *(float *)(in_a0_lo + 0x5c) = fStack24; - *(float *)(in_a0_lo + 0x60) = fStack20; - } -LAB_7f040b84: - proc_7F040484(in_a0_lo); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F040BA0(void) - -{ - int iVar2; - longlong lVar1; - int in_a0_lo; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - float *in_a1_lo; - float *in_a2_lo; - int in_a3_lo; - float in_f0; - float extraout_f12; - float extraout_f14; - float *in_stack_00000010; - float afStack156 [16]; - float afStack92 [8]; - float fStack60; - float fStack56; - float fStack52; - int iStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - - iVar2 = proc_7F03FFF8(*(int **)(*(int *)(in_a0_lo + 0x14) + 8)); - proc_7F03E874(iVar2); - iStack28 = in_a3_lo; - fStack12 = in_f0; - proc_7F058570(flt_80052A50,extraout_a0,afStack92); - proc_7F0585FC(flt_80052A54,extraout_a0_00,afStack156); - proc_7F058068(afStack156,afStack92); - proc_7F058068(in_a2_lo,afStack92); - fStack24 = *in_stack_00000010 - fStack60 * fStack12; - fStack20 = in_stack_00000010[1] - fStack56 * fStack12; - lVar1 = (longlong)(int)in_a1_lo; - fStack16 = in_stack_00000010[2] - fStack52 * fStack12; - if (((*(uint *)(in_a0_lo + 0xc) & 1) == 0) && - (proc_7F0B0BE4(&iStack28,extraout_f12,extraout_f14,*in_a1_lo,in_a1_lo[2]), lVar1 != 0)) { - proc_7F040754(in_a0_lo,&fStack24,afStack92,iStack28); - } - else { - proc_7F040754(in_a0_lo,in_a1_lo,afStack92,in_a3_lo); - *(float *)(in_a0_lo + 0x58) = fStack24; - *(float *)(in_a0_lo + 0x5c) = fStack20; - *(float *)(in_a0_lo + 0x60) = fStack16; - } - proc_7F040484(in_a0_lo); - return; -} - - - -void proc_7F040CF0(int param_1) - -{ - int iVar1; - uint uVar2; - uint *puVar3; - - iVar1 = *(int *)(param_1 + 4); - uVar2 = *(uint *)(iVar1 + 100); - if ((uVar2 & 0x40) == 0) { - if ((uVar2 & 0x80) != 0) { - proc_7F03FB70(*(uint **)(iVar1 + 0x6c)); - *(undefined4 *)(iVar1 + 0x6c) = 0; - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) & 0xffffff7f; - } - } - else { - puVar3 = *(uint **)(iVar1 + 0x6c); - if (puVar3 != NULL) { - if ((uint *)puVar3[0x11] != NULL) { - proc_7F03FB70((uint *)puVar3[0x11]); - puVar3 = *(uint **)(iVar1 + 0x6c); - } - proc_7F03FE88(puVar3); - uVar2 = *(uint *)(iVar1 + 100); - } - *(undefined4 *)(iVar1 + 0x6c) = 0; - *(uint *)(iVar1 + 100) = uVar2 & 0xffffffbf; - } - return; -} - - - -void proc_7F040D98(object_standard *param_1,int param_2,longlong param_3) - -{ - char cVar1; - int iVar2; - ulonglong uVar3; - ALLink_s *pAVar4; - int iVar5; - - cVar1 = param_1->type; - if (cVar1 == '\r') { - if ((ALLink_s *)param_1[1].runtime_MATRIXB == NULL) { - pAVar4 = (ALLink_s *)param_1[1].runtime_MATRIXC; - } - else { - uVar3 = sfxGetArg0Unk3F((ALLink_s *)param_1[1].runtime_MATRIXB); - if (uVar3 == 0) { - pAVar4 = (ALLink_s *)param_1[1].runtime_MATRIXC; - } - else { - sfxDeactivate(param_1[1].runtime_MATRIXB); - pAVar4 = (ALLink_s *)param_1[1].runtime_MATRIXC; - } - } - if (pAVar4 == NULL) { - iVar5 = param_1->runtime_ptr_obj_posdata; - } - else { - uVar3 = sfxGetArg0Unk3F(pAVar4); - if (uVar3 == 0) { - iVar5 = param_1->runtime_ptr_obj_posdata; - } - else { - sfxDeactivate(param_1[1].runtime_MATRIXC); - iVar5 = param_1->runtime_ptr_obj_posdata; - } - } - goto LAB_7f040f28; - } - if (cVar1 == '\b') { - if (*(int *)¶m_1[1].obj == 0) { - iVar5 = param_1->runtime_ptr_obj_posdata; - goto LAB_7f040f28; - } - *(undefined4 *)(*(int *)¶m_1[1].obj + 0x84) = 0; - *(undefined4 *)¶m_1[1].obj = 0; - } - else { - if (cVar1 == '\x01') { - if (*(ALLink_s **)¶m_1[1].damage == NULL) { - pAVar4 = *(ALLink_s **)¶m_1[1].field_78; - } - else { - uVar3 = sfxGetArg0Unk3F(*(ALLink_s **)¶m_1[1].damage); - if (uVar3 == 0) { - pAVar4 = *(ALLink_s **)¶m_1[1].field_78; - } - else { - sfxDeactivate(*(int *)¶m_1[1].damage); - pAVar4 = *(ALLink_s **)¶m_1[1].field_78; - } - } - if (pAVar4 == NULL) { - iVar5 = param_1->runtime_ptr_obj_posdata; - } - else { - uVar3 = sfxGetArg0Unk3F(pAVar4); - if (uVar3 == 0) { - iVar5 = param_1->runtime_ptr_obj_posdata; - } - else { - sfxDeactivate(*(int *)¶m_1[1].field_78); - iVar5 = param_1->runtime_ptr_obj_posdata; - } - } - goto LAB_7f040f28; - } - if (cVar1 == '/') { - if ((int)param_1[1].flags2 < 0) { - iVar5 = param_1->runtime_ptr_obj_posdata; - } - else { - proc_7F0B9DBC(param_1[1].flags2,1); - iVar5 = param_1->runtime_ptr_obj_posdata; - } - goto LAB_7f040f28; - } - if (cVar1 == '(') { - if ((ALLink_s *)param_1[1].runtime_MATRIX6 == NULL) { - iVar5 = param_1->runtime_ptr_obj_posdata; - } - else { - uVar3 = sfxGetArg0Unk3F((ALLink_s *)param_1[1].runtime_MATRIX6); - if (uVar3 == 0) { - iVar5 = param_1->runtime_ptr_obj_posdata; - } - else { - sfxDeactivate(param_1[1].runtime_MATRIX6); - iVar5 = param_1->runtime_ptr_obj_posdata; - } - } - goto LAB_7f040f28; - } - if (cVar1 != '\'') { - iVar5 = param_1->runtime_ptr_obj_posdata; - goto LAB_7f040f28; - } - if ((ALLink_s *)param_1[1].runtime_MATRIX5 == NULL) { - iVar5 = param_1->runtime_ptr_obj_posdata; - goto LAB_7f040f28; - } - uVar3 = sfxGetArg0Unk3F((ALLink_s *)param_1[1].runtime_MATRIX5); - if (uVar3 == 0) { - iVar5 = param_1->runtime_ptr_obj_posdata; - goto LAB_7f040f28; - } - sfxDeactivate(param_1[1].runtime_MATRIX5); - } - iVar5 = param_1->runtime_ptr_obj_posdata; -LAB_7f040f28: - if (iVar5 != 0) { - proc_7F0A0CCC(iVar5,'\0'); - proc_7F0A0CCC(param_1->runtime_ptr_obj_posdata,'\x01'); - if (param_3 == 0) { - proc_7F040CF0(param_1->runtime_ptr_obj_posdata); - iVar5 = param_1->runtime_ptr_obj_posdata; - if (*(int *)(iVar5 + 0x1c) != 0) { - proc_7F04C044(iVar5); - iVar5 = param_1->runtime_ptr_obj_posdata; - } - proc_7F03E18C(iVar5); - iVar5 = *(int *)((char *)param_1->runtime_ptr_obj_posdata + 0x20); - if (iVar5 == 0) { - cVar1 = *(char *)param_1->runtime_ptr_obj_posdata; - } - else { - do { - iVar2 = *(int *)(iVar5 + 0x24); - proc_7F041024(*(object_standard **)(iVar5 + 4),1); - iVar5 = iVar2; - } while (iVar2 != 0); - cVar1 = *(char *)param_1->runtime_ptr_obj_posdata; - } - if (cVar1 == '\x02') { - cVar1 = param_1->type; - } - else { - proc_7F050DE8(param_1->runtime_ptr_obj_instance_controller); - cVar1 = param_1->type; - } - if (cVar1 == '(') { - set_aircraft_obj_inst_scale_to_zero - ((int *)param_1->runtime_ptr_obj_instance_controller); - } - else { - set_obj_instance_scale_to_zero((int *)param_1->runtime_ptr_obj_instance_controller); - } - if (param_2 == 0) { - param_1->runtime_ptr_obj_posdata = 0; - } - else { - proc_7F03A538(param_1->runtime_ptr_obj_posdata); - unset_stateflag_0x04_for_posdata(param_1->runtime_ptr_obj_posdata); - set_last_obj_pos_data((object_standard *)param_1->runtime_ptr_obj_posdata); - param_1->runtime_ptr_obj_posdata = 0; - } - } - } - return; -} - - - -void proc_7F041024(object_standard *param_1,int param_2) - -{ - proc_7F040D98(param_1,param_2,0); - return; -} - - - -undefined4 proc_7F041044(int param_1) - -{ - undefined4 in_v0_lo; - - if (*(char *)(param_1 + 3) == '\x04') { - return in_v0_lo; - } - return in_v0_lo; -} - - - -undefined8 proc_7F041074(float *param_1,float *param_2,float *param_3,float param_4) - -{ - undefined8 uVar1; - float in_a3_lo; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - uVar1 = 0; - fVar4 = *param_3 - *param_1; - fVar6 = param_3[1] - param_1[1]; - fVar5 = param_3[2] - param_1[2]; - fVar7 = *param_2; - fVar8 = param_2[1]; - fVar3 = param_2[2]; - fVar2 = fVar5 * fVar3 + fVar7 * fVar4 + fVar8 * fVar6; - if ((0.00000000 < fVar2) && - (((fVar5 * fVar5 + fVar4 * fVar4 + fVar6 * fVar6) - in_a3_lo * in_a3_lo) * - (fVar3 * fVar3 + fVar7 * fVar7 + fVar8 * fVar8) <= fVar2 * fVar2)) { - uVar1 = 1; - } - return uVar1; -} - - - -undefined8 -proc_7F041160(int param_1,float *param_2,float *param_3,float *param_4,float *param_5,int *param_6, - ushort **param_7) - -{ - int iVar1; - longlong lVar2; - int iVar4; - undefined8 uVar3; - float *pfVar5; - float *pfVar6; - ushort *puStack68; - int iStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - ushort *apuStack12 [3]; - - iVar1 = *(int *)(param_1 + 0x14); - apuStack12[0] = NULL; - puStack68 = NULL; - if (*(char *)(param_1 + 3) == '\x01') { - lVar2 = proc_7F0747D0(param_1 + 0xd0,*(float **)(iVar1 + 0xc),param_2,param_3); - apuStack12[0] = **(ushort ***)(iVar1 + 8); - if ((0 < lVar2) && - (iVar4 = proc_7F04D9B0(iVar1,apuStack12[0],param_2,param_3,&fStack60,&iStack64,&puStack68 - ), iVar4 == 0)) { - lVar2 = 0; - } - } - else { - do { - iVar4 = proc_7F0752FC(iVar1,param_2,param_3,apuStack12); - lVar2 = (longlong)iVar4; - if ((0 < lVar2) && - (iVar4 = proc_7F04D9B0(iVar1,apuStack12[0],param_2,param_3,&fStack60,&iStack64, - &puStack68), iVar4 != 0)) break; - } while (0 < lVar2); - } - uVar3 = 0; - if (0 < lVar2) { - iVar4 = *(int *)(iVar1 + 0xc); - *param_4 = fStack60; - pfVar6 = (float *)(iVar4 + iStack64 * 0x40); - param_4[1] = fStack56; - param_4[2] = fStack52; - proc_7F058474(pfVar6,param_4); - pfVar5 = (float *)get_BONDdata_field_10D4(); - proc_7F058474(pfVar5,param_4); - *param_5 = fStack48; - param_5[1] = fStack44; - param_5[2] = fStack40; - proc_7F0583D8(pfVar6,param_5); - if (0.00000000 < param_3[2] * param_5[2] + *param_5 * *param_3 + param_5[1] * param_3[1]) { - *param_5 = -*param_5; - param_5[1] = -param_5[1]; - param_5[2] = -param_5[2]; - } - pfVar5 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar5,param_5); - if (((*param_5 == 0.00000000) && (param_5[1] == 0.00000000)) && (param_5[2] == 0.00000000)) - { - param_5[2] = 1.00000000; - } - else { - guNormalize(param_5,param_5 + 1,param_5 + 2); - } - uVar3 = 1; - *param_6 = iVar1; - *param_7 = puStack68; - } - return uVar3; -} - - - -undefined8 -proc_7F041400(char *param_1,float *param_2,float *param_3,float *param_4,float *param_5, - float *param_6,float *param_7) - -{ - int iVar1; - int iVar2; - undefined8 uVar3; - ulonglong uVar4; - float *pfVar5; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - int iVar6; - int iVar7; - int iVar8; - float fVar9; - float fVar10; - float fStack108; - float fStack104; - float fStack100; - float fStack92; - undefined4 uStack88; - float fStack84; - float fStack80; - undefined4 uStack76; - float fStack72; - int iStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack16; - float fStack12; - int iStack8; - int *piStack4; - - fVar10 = 1.00000000; - iStack68 = -1; - proc_7F03CC20(param_1,&piStack4,&iStack8,&fStack12,&fStack16); - if (iStack8 < 1) { - uVar3 = 0; - } - else { - if ((param_2[1] <= fStack12) || (param_3[1] <= fStack12)) { - if (param_2[1] < fStack16) { - if (param_3[1] < fStack16) { - return 0; - } - fStack56 = *param_2; - } - else { - fStack56 = *param_2; - } - fStack52 = param_2[2]; - fStack64 = *param_3; - fStack60 = param_3[2]; - if (0 < iStack8) { - iVar7 = 0; - uVar3 = extraout_a1; - iVar6 = 0; - do { - iVar8 = iVar6 + 1; - iVar1 = iVar8 % iStack8; - pfVar5 = (float *)(piStack4 + iVar1 * 2); - if (iStack8 == 0) { - trap(0x1c00); - } - if ((iStack8 == -1) && (iVar8 == -0x80000000)) { - trap(0x1800); - } - uVar4 = proc_7F0B0688(*param_2,param_2[2],(longlong)(int)pfVar5,uVar3,*param_3, - param_3[2],*(float *)((int)piStack4 + iVar7), - ((float *)((int)piStack4 + iVar7))[1],*pfVar5,pfVar5[1]); - uVar3 = extraout_a1_00; - fVar9 = fVar10; - iVar2 = iStack68; - if (uVar4 != 0) { - fStack40 = *(float *)((int)piStack4 + iVar7); - fStack36 = ((float *)((int)piStack4 + iVar7))[1]; - fStack48 = (float)piStack4[iVar1 * 2]; - fStack44 = (float)(piStack4 + iVar1 * 2)[1]; - fVar9 = proc_7F0B3200(&fStack56,&fStack64,&fStack40,&fStack48); - uVar3 = extraout_a1_01; - iVar2 = iVar6; - if (fVar10 <= fVar9) { - fVar9 = fVar10; - iVar2 = iStack68; - } - } - iStack68 = iVar2; - fVar10 = fVar9; - iVar7 += 8; - iVar6 = iVar8; - } while (iVar8 < iStack8); - } - if (iStack68 < 1) { - uVar3 = 0; - } - else { - fStack80 = (float)piStack4[iStack68 * 2]; - uStack76 = 0; - fStack72 = (float)(piStack4 + iStack68 * 2)[1]; - fStack92 = (float)piStack4[((iStack68 + 1) % iStack8) * 2]; - uStack88 = 0; - fStack84 = (float)(piStack4 + ((iStack68 + 1) % iStack8) * 2)[1]; - if (iStack8 == 0) { - trap(0x1c00); - } - if ((iStack8 == -1) && (iStack68 + 1 == -0x80000000)) { - trap(0x1800); - } - proc_7F026130(&fStack80,&fStack92,param_2,param_4,&fStack108); - fVar10 = param_4[2] * (fStack100 - param_2[2]) + - (fStack108 - *param_2) * *param_4 + (fStack104 - param_2[1]) * param_4[1]; - if (*param_7 <= fVar10) { - uVar3 = 0; - } - else { - *param_7 = fVar10; - *param_5 = fStack108; - param_5[1] = fStack104; - param_5[2] = fStack100; - fVar10 = *param_4; - param_6[1] = 0.00000000; - *param_6 = -fVar10; - param_6[2] = -param_4[2]; - if ((*param_6 == 0.00000000) && (param_6[2] == 0.00000000)) { - param_6[2] = 1.00000000; - } - else { - guNormalize(param_6,param_6 + 1,param_6 + 2); - } - uVar3 = 1; - bodypartshot = 0; - objinst = 0; - DAT_80075b74 = 0; - dword_80030B0C = param_1; - } - } - } - else { - uVar3 = 0; - } - } - return uVar3; -} - - - -ulonglong proc_7F0417DC(int param_1,float *param_2,float *param_3,float *param_4,float param_5, - float *param_6,float *param_7,float *param_8,float *param_9,float *param_10, - int *param_11,ushort **param_12) - -{ - ushort *objinst; - char *pcVar1; - longlong lVar2; - undefined4 extraout_a3_lo; - float fVar3; - float fVar4; - float extraout_f12; - ushort **in_stack_0000002c; - - objinst = *(ushort **)(param_1 + 0x14); - fVar3 = getinstsize((int)objinst,(uint)param_2,param_3,param_4); - pcVar1 = *(char **)(param_1 + 0x10); - fVar4 = 0.00000000; - if (*(int *)(pcVar1 + 0x1c) == 0) { - fVar4 = param_4[2] * (*(float *)(param_1 + 0x60) - param_2[2]) + - (*(float *)(param_1 + 0x58) - *param_2) * *param_4 + - (*(float *)(param_1 + 0x5c) - param_2[1]) * param_4[1]; - } - if ((-fVar3 <= fVar4) && (fVar4 <= (float)param_6 + fVar3)) { - if ((pcVar1[1] & 2U) == 0) { - getinstsize((int)objinst,(uint)param_7,param_8,extraout_a3_lo); - lVar2 = proc_7F041074(param_2,param_4,(float *)(param_1 + 0x58),extraout_f12); - if (lVar2 != 0) { - *(float **)param_11 = param_6; - lVar2 = proc_7F041400(pcVar1,param_2,param_3,param_4,param_9,param_10, - (float *)param_11); - if (lVar2 != 0) { - *param_12 = objinst; - *in_stack_0000002c = **(ushort ***)(objinst + 4); - return 1; - } - } - } - else { - lVar2 = proc_7F041160(param_1,param_7,param_8,param_9,param_10,(int *)param_12, - in_stack_0000002c); - if (lVar2 != 0) { - fVar3 = param_4[2] * (param_9[2] - param_2[2]) + - (*param_9 - *param_2) * *param_4 + (param_9[1] - param_2[1]) * param_4[1]; - if (fVar3 < 0.00000000) { - return 0; - } - if (fVar3 <= (float)param_6) { - *(float *)param_11 = fVar3; - return 1; - } - return 0; - } - } - } - return 0; -} - - - -undefined8 -proc_7F0419E4(int param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,float param_5, - float *param_6,float *param_7,float *param_8,float *param_9,float *param_10) - -{ - byte bVar1; - ulonglong uVar2; - longlong lVar3; - int iVar4; - undefined8 uVar5; - float extraout_f12; - float extraout_f12_00; - float param_5_00; - float *in_stack_00000024; - undefined4 uStack36; - ushort *puStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - iVar4 = *(int *)(param_1 + 0x10); - uVar5 = 0; - uVar2 = proc_7F0417DC(param_1,(float *)param_2,(float *)param_3,(float *)param_4,param_5,param_6 - ,param_7,param_8,&fStack12,&fStack24,(int *)&fStack28,&puStack32); - if (uVar2 != 0) { - if (*in_stack_00000024 <= fStack28) { - bVar1 = *(byte *)(iVar4 + 1); - goto LAB_7f041b0c; - } - *in_stack_00000024 = fStack28; - *param_9 = fStack12; - uVar5 = 1; - param_9[1] = fStack8; - param_9[2] = fStack4; - *param_10 = fStack24; - param_10[1] = fStack20; - param_10[2] = fStack16; - dword_80030B0C = *(undefined4 *)(param_1 + 0x10); - bodypartshot = 0xffffffff; - objinst = puStack32; - DAT_80075b74 = uStack36; - } - bVar1 = *(byte *)(iVar4 + 1); -LAB_7f041b0c: - if (((bVar1 & 2) == 0) || (iVar4 = *(int *)(iVar4 + 0x20), iVar4 == 0)) { - return uVar5; - } - bVar1 = *(byte *)(iVar4 + 1); - param_5_00 = extraout_f12; - do { - if ((bVar1 & 2) == 0) { -LAB_7f041b74: - iVar4 = *(int *)(iVar4 + 0x24); - } - else { - lVar3 = proc_7F0419E4(*(int *)(iVar4 + 4),param_2,param_3,param_4,param_5_00,param_6, - param_7,param_8,param_9,param_10); - param_5_00 = extraout_f12_00; - if (lVar3 != 0) { - uVar5 = 1; - goto LAB_7f041b74; - } - iVar4 = *(int *)(iVar4 + 0x24); - } - if (iVar4 == 0) { - return uVar5; - } - bVar1 = *(byte *)(iVar4 + 1); - } while( true ); -} - - - -undefined8 -proc_7F041BB8(int param_1,float *param_2,float *param_3,float param_4,float *param_5,float *param_6, - float *param_7,float *param_8,float *param_9) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float *in_stack_00000020; - int *piStack48; - ushort *puStack44; - int iStack40; - int iStack36; - - iVar1 = *(int *)(param_1 + 0x18); - fVar3 = getinstsize(*(int *)(param_1 + 0x1c),(uint)param_2,param_3,param_1); - fVar4 = param_3[2] * (*(float *)(iVar1 + 0x10) - param_2[2]) + - (*(float *)(iVar1 + 8) - *param_2) * *param_3 + - (*(float *)(iVar1 + 0xc) - param_2[1]) * param_3[1]; - if ((-fVar3 <= fVar4) && (fVar4 <= (float)param_5 + fVar3)) { - if ((*(byte *)(iVar1 + 1) & 2) != 0) { - piStack48 = *(int **)(param_1 + 0x20); - iStack36 = proc_7F06C010(&piStack48,param_6,param_7,&iStack40,&puStack44); - if (0 < iStack36) { - iVar2 = proc_7F06C660(iStack40,puStack44,0); - fVar3 = param_7[2] * (*(float *)(iVar2 + 0x38) - param_6[2]) + - (*(float *)(iVar2 + 0x30) - *param_6) * *param_7 + - (*(float *)(iVar2 + 0x34) - param_6[1]) * param_7[1]; - if (*in_stack_00000020 <= fVar3) { - return 0; - } - *in_stack_00000020 = fVar3; - *param_8 = *param_3 * fVar3 + *param_2; - param_8[1] = param_3[1] * fVar3 + param_2[1]; - param_8[2] = param_3[2] * fVar3 + param_2[2]; - fVar3 = *param_3; - param_9[1] = 0.00000000; - *param_9 = -fVar3; - param_9[2] = -param_3[2]; - if ((*param_9 == 0.00000000) && (param_9[2] == 0.00000000)) { - param_9[2] = 1.00000000; - } - else { - guNormalize(param_9,param_9 + 1,param_9 + 2); - } - dword_80030B0C = iVar1; - bodypartshot = iStack36; - objinst = iStack40; - DAT_80075b74 = puStack44; - return 1; - } - } - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f0420ac) overlaps instruction at (ram,0x7f0420a8) -// - -longlong proc_7F041E0C(char *param_1,undefined8 param_2,float *param_3,ulonglong param_4, - float *param_5,float *param_6,int *param_7) - -{ - byte bVar1; - byte *pbVar4; - float *pfVar5; - longlong lVar2; - uint uVar6; - ulonglong uVar3; - float *pfVar7; - int iVar8; - byte *position_data_pointer; - short *psVar9; - float *pfVar10; - float fVar11; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack32; - float fStack28; - float fStack24; - int iStack20; - float *apfStack16 [3]; - int iStack4; - - iStack4 = 0; - iStack20 = 0; - pbVar4 = (byte *)get_ptr_for_players_tank(); - pfVar7 = (float *)param_2; - fStack32 = *param_3 - *pfVar7; - fStack28 = param_3[1] - pfVar7[1]; - fStack24 = param_3[2] - pfVar7[2]; - pfVar10 = (float *)sqrtf(fStack24 * fStack24 + fStack32 * fStack32 + fStack28 * fStack28); - if ((float)pfVar10 == 0.00000000) { - lVar2 = 0; - } - else { - fVar11 = 1.00000000 / (float)pfVar10; - fStack32 = fStack32 * fVar11; - fStack28 = fStack28 * fVar11; - fStack24 = fStack24 * fVar11; - fStack48 = *pfVar7; - fStack44 = pfVar7[1]; - fStack40 = pfVar7[2]; - pfVar5 = (float *)get_BONDdata_field_10CC(); - proc_7F058474(pfVar5,&fStack48); - fStack60 = fStack32; - fStack56 = fStack28; - fStack52 = fStack24; - pfVar5 = (float *)get_BONDdata_field_10CC(); - proc_7F0583D8(pfVar5,&fStack60); - if (param_4 != 0) { - apfStack16[0] = pfVar10; - proc_7F03E3FC(param_7); - lVar2 = (longlong)*ptr_list_object_lookup_indices; - iVar8 = (int)*ptr_list_object_lookup_indices; - fVar11 = extraout_f12; - psVar9 = ptr_list_object_lookup_indices; - if (-1 < lVar2) { - do { - iVar8 = (iVar8 * 0x10 + (int)lVar2 * -4 + (int)lVar2) * 4; - position_data_pointer = pos_data_entry + iVar8; - if (position_data_pointer == (byte *)param_1) { - lVar2 = (longlong)psVar9[1]; - } - else { - bVar1 = *position_data_pointer; - uVar6 = (uint)bVar1; - if (((bVar1 == 1) || (bVar1 == 4)) || (bVar1 == 2)) { - iVar8 = *(int *)(pos_data_entry + iVar8 + 4); - if ((*(uint *)(iVar8 + 100) & 8) == 0) { - if (*(int *)(iVar8 + 0xc) << 6 < 0) { - lVar2 = (longlong)psVar9[1]; - } - else { - if (bVar1 == 2) { - if (((param_4 & 2) != 0) || - (uVar3 = proc_7F03D9EC((int)position_data_pointer), - fVar11 = extraout_f12_00, (uVar3 & param_4) != 0)) { -LAB_7f04203c: - if (((position_data_pointer != pbVar4) || - ((*(byte *)(iVar8 + 2) & 0x20) == 0)) && - (lVar2 = proc_7F0419E4(iVar8,param_2, - (longlong)(int)param_3, - (longlong)(int)&fStack32, - fVar11,pfVar10,&fStack48, - &fStack60,param_5,param_6), - fVar11 = extraout_f12_01, lVar2 != 0)) { - iStack20 = 1; - } - goto LAB_7f0421b4; - } - lVar2 = (longlong)psVar9[1]; - } - else { - if ((param_4 & 1) != 0) goto LAB_7f04203c; - lVar2 = (longlong)psVar9[1]; - } - } - } - else { - lVar2 = (longlong)psVar9[1]; - } - } - else { - if ((bVar1 == 3) || - ((bVar1 == 6 && (*(int *)(pos_data_entry + iVar8 + 4) != 0)))) { - iVar8 = *(int *)(pos_data_entry + iVar8 + 4); - if (bVar1 == 6) { - proc_7F09B15C((int)position_data_pointer); - fVar11 = extraout_f12_02; - if (ptr_BONDdata_p1[uVar6]->field_AC == 0) { - lVar2 = (longlong)psVar9[1]; - } - else { - if ((param_4 & 4) != 0) goto LAB_7f04211c; - lVar2 = (longlong)psVar9[1]; - } - } - else { - if (bVar1 != 3) { -LAB_7f04211c: - lVar2 = proc_7F041BB8(iVar8,pfVar7,&fStack32,fVar11,pfVar10, - &fStack48,&fStack60,param_5,param_6); - fVar11 = extraout_f12_03; - if (lVar2 != 0) { - iStack20 = 1; - } - goto LAB_7f0421b4; - } - if ((*(ushort *)(iVar8 + 0x12) & 0x100) == 0) { - if ((param_4 & 8) != 0) goto LAB_7f04211c; - lVar2 = (longlong)psVar9[1]; - } - else { - lVar2 = (longlong)psVar9[1]; - } - } - } - else { - if (bVar1 == 6) { - proc_7F09B15C((int)position_data_pointer); - if (ptr_BONDdata_p1[uVar6]->field_AC == 0) { - lVar2 = (longlong)psVar9[1]; - fVar11 = extraout_f12_04; - } - else { - lVar2 = proc_7F041400((char *)position_data_pointer,pfVar7, - param_3,&fStack32,param_5,param_6, - (float *)apfStack16); - fVar11 = extraout_f12_05; - if (lVar2 != 0) { - iStack20 = 1; - } -LAB_7f0421b4: - lVar2 = (longlong)psVar9[1]; - } - } - else { - lVar2 = (longlong)psVar9[1]; - } - } - } - } - psVar9 = psVar9 + 1; - if (lVar2 < 0) break; - iVar8 = (int)lVar2; - } while( true ); - } - } - if (iStack20 != 0) { - iStack4 = 1; - DAT_80075b78 = fStack32; - DAT_80075b7c = fStack28; - DAT_80075b80 = fStack24; - DAT_80075b88 = fStack60; - DAT_80075b8c = fStack56; - DAT_80075b90 = fStack52; - } - lVar2 = (longlong)iStack4; - } - return lVar2; -} - - - -int handles_projectile_motion - (int param_1,float *param_2,float *param_3,float *param_4,int param_5,int param_6) - -{ - byte bVar1; - longlong lVar2; - byte *pbVar3; - float *pfVar4; - uint uVar5; - int iVar6; - uint *puVar7; - f32 fVar8; - float fVar9; - float fVar10; - float fVar11; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float fVar12; - float fVar13; - byte abStack572 [8]; - uint auStack564 [121]; - int iStack80; - int iStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - int iStack12; - int *piStack8; - char *pcStack4; - - pcStack4 = *(char **)(param_1 + 0x10); - piStack8 = *(int **)(pcStack4 + 0x14); - iStack12 = 1; - dword_80030B0C = 0; - fStack72 = *param_2; - if (((fStack72 == *(float *)(param_1 + 0x58)) && (param_2[1] == *(float *)(param_1 + 0x5c))) && - (param_2[2] == *(float *)(param_1 + 0x60))) { - dword_80030B0C = 0; - return 1; - } - fStack68 = param_2[1]; - fStack64 = param_2[2]; - if ((*(uint *)(param_1 + 100) & 0x80) == 0) { - dword_80030B0C = 0; - return 1; - } - pfVar4 = (float *)(param_1 + 0x58); - if ((**(uint **)(param_1 + 0x6c) & 4) == 0) { - dword_80030B0C = 0; - return 1; - } - iStack80 = 0; - proc_7F0B4AB4(pfVar4,&fStack72,(byte *)(*(int *)(param_1 + 0x6c) + 0xcc),(int)abStack572, - auStack564,&iStack80,0x14); - if (iStack80 < 0x15) { - iVar6 = iStack80 << 2; - } - else { - iStack80 = 0x14; - iVar6 = 0x50; - } - iVar6 = proc_7F0B8E98((uint *)((int)auStack564 + iVar6),100); - puVar7 = auStack564; - iStack80 += iVar6; - auStack564[iStack80] = 0xffffffff; - while (-1 < (int)auStack564[0]) { - iVar6 = proc_7F0B7A78(pfVar4,&fStack72,auStack564[0],&fStack60); - if (iVar6 == 0) { - auStack564[0] = puVar7[1]; - } - else { - fVar8 = proc_7F0B4830(); - fStack60 = fStack60 * (float)fVar8; - fStack56 = fStack56 * (float)fVar8; - fStack52 = fStack52 * (float)fVar8; - fVar10 = *(float *)(param_1 + 0x58); - if (((fStack72 < fVar10) || (fStack72 < fStack60)) || (fStack60 < fVar10)) { - if (fStack72 <= fVar10) { - if (fStack72 <= fStack60) { - if (fStack60 <= fVar10) { - fVar9 = *(float *)(param_1 + 0x5c); - goto LAB_7f042460; - } - auStack564[0] = puVar7[1]; - } - else { - auStack564[0] = puVar7[1]; - } - } - else { - auStack564[0] = puVar7[1]; - } - } - else { - fVar9 = *(float *)(param_1 + 0x5c); -LAB_7f042460: - if (((fStack68 < fVar9) || (fStack68 < fStack56)) || (fStack56 < fVar9)) { - if (fStack68 <= fVar9) { - if (fStack68 <= fStack56) { - if (fStack56 <= fVar9) { - fVar11 = *(float *)(param_1 + 0x60); - goto LAB_7f0424d0; - } - auStack564[0] = puVar7[1]; - } - else { - auStack564[0] = puVar7[1]; - } - } - else { - auStack564[0] = puVar7[1]; - } - } - else { - fVar11 = *(float *)(param_1 + 0x60); -LAB_7f0424d0: - if (((fStack64 < fVar11) || (fStack64 < fStack52)) || (fStack52 < fVar11)) { - if (fStack64 <= fVar11) { - if (fStack64 <= fStack52) { - if (fStack52 <= fVar11) goto LAB_7f042540; - auStack564[0] = puVar7[1]; - } - else { - auStack564[0] = puVar7[1]; - } - } - else { - auStack564[0] = puVar7[1]; - } - } - else { -LAB_7f042540: - if (((fVar10 == fStack60) && (fVar9 == fStack56)) && (fVar11 == fStack52)) { - auStack564[0] = puVar7[1]; - } - else { - iStack12 = 0; - *param_3 = fStack60; - param_3[1] = fStack56; - param_3[2] = fStack52; - *param_4 = fStack48; - param_4[1] = fStack44; - param_4[2] = fStack40; - if (((*param_4 == 0.00000000) && (param_4[1] == 0.00000000)) && - (param_4[2] == 0.00000000)) { - param_4[2] = 1.00000000; - auStack564[0] = puVar7[1]; - } - else { - guNormalize(param_4,param_4 + 1,param_4 + 2); - auStack564[0] = puVar7[1]; - } - } - } - } - } - } - puVar7 = puVar7 + 1; - } - if (iStack12 == 0) { - fVar12 = *param_2 - *(float *)(param_1 + 0x58); - fVar11 = param_2[1] - *(float *)(param_1 + 0x5c); - fVar13 = param_2[2] - *(float *)(param_1 + 0x60); - fVar9 = sqrtf(fVar13 * fVar13 + fVar12 * fVar12 + fVar11 * fVar11); - fVar10 = 0.50000000; - if (flt_80052A58 < fVar9) { - fVar10 = flt_80052A58 / fVar9; - } - *param_3 = *param_3 - fVar10 * fVar12; - fStack72 = *param_3; - param_3[1] = param_3[1] - fVar10 * fVar11; - param_3[2] = param_3[2] - fVar10 * fVar13; - fStack68 = param_3[1]; - fStack64 = param_3[2]; - } - lVar2 = proc_7F041E0C(pcStack4,(longlong)(int)pfVar4,&fStack72,0x1f,param_3,param_4, - (int *)auStack564); - fVar10 = extraout_f12; - fVar9 = extraout_f14; - if (lVar2 == 0) { - if ((iStack12 == 0) && (param_5 != 0)) { - iStack12 = 2; - if (param_6 == 0) { - proc_7F0B4AB4(pfVar4,param_3,(byte *)(*(int *)(param_1 + 0x6c) + 0xcc), - (int)abStack572,auStack564,&iStack80,0x14); - fVar10 = extraout_f12_00; - fVar9 = extraout_f14_00; - } - } - else { - if ((iStack12 == 1) || (param_6 == 0)) { - if (iStack12 != 1) { - proc_7F0B4AB4(pfVar4,&fStack72,(byte *)(*(int *)(param_1 + 0x6c) + 0xcc), - (int)abStack572,auStack564,&iStack80,0x14); - fVar10 = extraout_f12_01; - fVar9 = extraout_f14_01; - } - *(float *)(param_1 + 0x58) = fStack72; - *(float *)(param_1 + 0x60) = fStack64; - *(float *)(pcStack4 + 0xc) = fStack68; - *(float *)(param_1 + 0x5c) = fStack68; - } - } - } - else { - if (param_6 == 0) { - fStack72 = *(float *)(param_1 + 0x58); - fStack64 = *(float *)(param_1 + 0x60); - proc_7F0B4AB4(pfVar4,&fStack72,(byte *)(*(int *)(param_1 + 0x6c) + 0xcc),(int)abStack572 - ,auStack564,&iStack80,0x14); - *(float *)(pcStack4 + 0xc) = fStack68; - *(float *)(param_1 + 0x5c) = fStack68; - fVar10 = extraout_f12_02; - fVar9 = extraout_f14_02; - if (param_5 == 0) { - iStack12 = 0; - } - else { - iStack12 = 2; - } - } - } - if (iStack12 == 1) { - puVar7 = *(uint **)(param_1 + 0x6c); - } - else { - if (param_6 != 0) { - return iStack12; - } - puVar7 = *(uint **)(param_1 + 0x6c); - } - iStack76 = 0; - uVar5 = *puVar7 & 8; - if (uVar5 == 0) { - lVar2 = (longlong)(int)pcStack4; - piStack8 = *(int **)(pcStack4 + 0x14); - iStack76 = 0; - proc_7F0B0BE4((int *)&piStack8,fVar10,fVar9,*(float *)(pcStack4 + 8), - *(float *)(pcStack4 + 0x10)); - if (lVar2 == 1) { - if (piStack8 != NULL) { - *(int **)(pcStack4 + 0x14) = piStack8; - *(undefined4 *)(pcStack4 + 8) = *(undefined4 *)(param_1 + 0x58); - *(undefined4 *)(pcStack4 + 0x10) = *(undefined4 *)(param_1 + 0x60); - uVar5 = **(uint **)(param_1 + 0x6c) & 8; - goto LAB_7f042938; - } - puVar7 = *(uint **)(param_1 + 0x6c); - } - else { - puVar7 = *(uint **)(param_1 + 0x6c); - } - *puVar7 = *puVar7 | 8; - pcStack4[1] = pcStack4[1] | 8; - uVar5 = **(uint **)(param_1 + 0x6c) & 8; - } -LAB_7f042938: - if (uVar5 != 0) { - piStack8 = proc_7F0AF20C(pfVar4,abStack572,NULL); - if (piStack8 != NULL) { - *(int **)(pcStack4 + 0x14) = piStack8; - *(undefined4 *)(pcStack4 + 8) = *(undefined4 *)(param_1 + 0x58); - *(undefined4 *)(pcStack4 + 0x10) = *(undefined4 *)(param_1 + 0x60); - **(uint **)(param_1 + 0x6c) = **(uint **)(param_1 + 0x6c) & 0xfffffff7; - pcStack4[1] = pcStack4[1] & 0xf7; - } - } - pbVar3 = abStack572 + iStack76; - if (abStack572[0] == 0xff) { -LAB_7f0429d8: - iVar6 = *(int *)(param_1 + 0x6c); - } - else { - bVar1 = *pbVar3; - iVar6 = *(int *)(param_1 + 0x6c); - while( true ) { - pbVar3 = pbVar3 + 1; - *(byte *)(iVar6 + iStack76 + 0xcc) = bVar1; - bVar1 = *pbVar3; - iStack76 += 1; - if (bVar1 == 0xff) break; - if (iStack76 == 7) goto LAB_7f0429d8; - iVar6 = *(int *)(param_1 + 0x6c); - } - iVar6 = *(int *)(param_1 + 0x6c); - } - *(undefined *)(iVar6 + iStack76 + 0xcc) = 0xff; - return iStack12; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 proc_7F042A0C(void) - -{ - int iVar1; - int iVar3; - longlong lVar2; - int in_a0_lo; - float *in_a1_lo; - float *in_a2_lo; - float *in_a3_lo; - float in_f0; - float fVar4; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f14; - f32 extraout_f14_00; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - undefined4 uStack96; - undefined4 uStack92; - float fStack88; - float fStack84; - float fStack80; - float afStack76 [2]; - float fStack68; - float afStack64 [2]; - float fStack56; - float fStack52; - float fStack48; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - undefined4 uStack16; - float fStack12; - u32 auStack8 [2]; - - iVar1 = *(int *)(in_a0_lo + 0x10); - auStack8[0] = *(u32 *)(iVar1 + 0x14); - proc_7F041044(in_a0_lo); - uStack16 = 1; - dword_80030B0C = 0; - fStack40 = *in_a1_lo; - if (((fStack40 != *(float *)(iVar1 + 8)) || (in_a1_lo[1] != *(float *)(iVar1 + 0xc))) || - (in_a1_lo[2] != *(float *)(iVar1 + 0x10))) { - fStack36 = in_a1_lo[1]; - fStack32 = in_a1_lo[2]; - if ((*(uint *)(in_a0_lo + 100) & 0x80) != 0) { - fStack12 = in_f0; - fVar4 = (float)proc_7F0B2970(); - if ((**(uint **)(in_a0_lo + 0x6c) & 0x40) == 0) { - fStack48 = 0.00000000; - fStack52 = 1.00000000; - } - else { - fStack52 = *(float *)(iVar1 + 0xc); - if (fStack36 < fStack52) { - fStack48 = fStack52 - fVar4; - fStack52 = fStack36 - fVar4; - } - else { - fStack48 = fStack36 - fVar4; - fStack52 = fStack52 - fVar4; - } - } - proc_7F0B1CC4(); - iVar3 = proc_7F0B0E24(auStack8,extraout_f12,extraout_f14,*(f32 *)(iVar1 + 8)); - if (((iVar3 == 0) || (auStack8[0] == 0)) || (lVar2 = proc_7F0B18B8(), -1 < lVar2)) { - proc_7F0B28B0(afStack64,afStack76); - in_a3_lo[1] = 0.00000000; - *in_a3_lo = fStack68 - fStack56; - in_a3_lo[2] = afStack64[0] - afStack76[0]; - if ((*in_a3_lo == 0.00000000) && (in_a3_lo[2] == 0.00000000)) { - in_a3_lo[2] = 1.00000000; - fStack28 = *(float *)(iVar1 + 8); - } - else { - guNormalize(in_a3_lo,in_a3_lo + 1,in_a3_lo + 2); - fStack28 = *(float *)(iVar1 + 8); - } - if (((fStack40 == fStack28) && (fStack36 == *(float *)(iVar1 + 0xc))) && - (fStack32 == *(float *)(iVar1 + 0x10))) { - *in_a2_lo = fStack40; - in_a2_lo[1] = fStack36; - in_a2_lo[2] = fStack32; - } - else { - fStack28 = fStack40 - fStack28; - fStack24 = fStack36 - *(float *)(iVar1 + 0xc); - fStack20 = fStack32 - *(float *)(iVar1 + 0x10); - proc_7F02624C((float *)(iVar1 + 8),&fStack28,in_a2_lo); - fStack100 = fStack12; - uStack96 = *(undefined4 *)(iVar1 + 8); - uStack92 = *(undefined4 *)(iVar1 + 0x10); - fStack108 = afStack64[0]; - fStack104 = fStack56; - fStack116 = afStack76[0]; - fStack112 = fStack68; - fStack124 = fStack40 - *(float *)(iVar1 + 8); - fStack120 = fStack32 - *(float *)(iVar1 + 0x10); - fVar4 = proc_7F0B33DC(&fStack100,&fStack108,&fStack116,&fStack124); - auStack8[0] = *(u32 *)(iVar1 + 0x14); - fStack84 = fStack36; - fStack88 = *(float *)(iVar1 + 8) + fStack124 * fVar4 * flt_80052A5C; - fStack80 = *(float *)(iVar1 + 0x10) + fStack120 * fVar4 * flt_80052A5C; - iVar3 = proc_7F0B0E24(auStack8,extraout_f12_00,extraout_f14_00, - *(f32 *)(iVar1 + 8)); - if (((iVar3 != 0) && (auStack8[0] != 0)) && (lVar2 = proc_7F0B18B8(), lVar2 < 0) - ) { - *(float *)(in_a0_lo + 0x58) = fStack88; - *(float *)(in_a0_lo + 0x60) = fStack80; - *(u32 *)(iVar1 + 0x14) = auStack8[0]; - *(float *)(iVar1 + 8) = fStack88; - *(float *)(iVar1 + 0x10) = fStack80; - } - } - *(float *)(iVar1 + 0xc) = fStack84; - *(float *)(in_a0_lo + 0x5c) = fStack84; - uStack16 = 0; - } - else { - *(float *)(in_a0_lo + 0x58) = fStack40; - *(float *)(in_a0_lo + 0x60) = fStack32; - *(u32 *)(iVar1 + 0x14) = auStack8[0]; - *(float *)(iVar1 + 8) = fStack40; - *(float *)(iVar1 + 0x10) = fStack32; - *(float *)(iVar1 + 0xc) = fStack36; - *(float *)(in_a0_lo + 0x5c) = fStack36; - } - } - } - return uStack16; -} - - - -int proc_7F042EB4(int param_1,float *param_2,float *param_3,float *param_4,int param_5,int param_6) - -{ - int iVar1; - - if (((*(uint *)(param_1 + 100) & 0x80) == 0) || ((**(uint **)(param_1 + 0x6c) & 4) == 0)) { - iVar1 = proc_7F042A0C(); - } - else { - iVar1 = handles_projectile_motion(param_1,param_2,param_3,param_4,param_5,param_6); - } - return iVar1; -} - - - -void proc_7F042F18(float *param_1,float param_2,float *param_3,float param_4,float param_5, - float param_6) - -{ - bool bVar1; - float fVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float in_stack_00000010; - float in_stack_00000014; - - fVar4 = *(float *)param_5; - iVar3 = 0; - if (clock_timer < 1) { -LAB_7f0430f0: - *(float *)param_5 = fVar4; - return; - } - fVar6 = *param_1; - do { - fVar5 = (float)param_3 - fVar6; - if (0.00000000 < fVar5) { - if ((fVar4 <= 0.00000000) || ((fVar4 * fVar4 * 0.50000000) / in_stack_00000010 < fVar5)) - { - if (fVar4 < in_stack_00000014) { - fVar7 = in_stack_00000010; - if (0.00000000 <= fVar4) { - fVar7 = param_6; - } - fVar4 = fVar4 + fVar7; - fVar7 = in_stack_00000014; - if (in_stack_00000014 < fVar4) goto LAB_7f043004; - bVar1 = fVar5 <= fVar4; - } - else { - bVar1 = fVar5 <= fVar4; - } - } - else { - fVar4 = fVar4 - in_stack_00000010; - fVar7 = in_stack_00000010; - if (fVar4 < in_stack_00000010) { -LAB_7f043004: - bVar1 = fVar5 <= fVar7; - fVar4 = fVar7; - } - else { - bVar1 = fVar5 <= fVar4; - } - } - if (bVar1) { - *(float **)param_1 = param_3; - goto LAB_7f0430f0; - } - *param_1 = fVar6 + fVar4; - } - else { - if ((0.00000000 <= fVar4) || ((fVar4 * fVar4 * 0.50000000) / in_stack_00000010 < -fVar5) - ) { - fVar7 = -in_stack_00000014; - if (fVar7 < fVar4) { - fVar2 = in_stack_00000010; - if (fVar4 <= 0.00000000) { - fVar2 = param_6; - } - fVar4 = fVar4 - fVar2; - if (fVar4 < fVar7) goto LAB_7f0430bc; - bVar1 = fVar4 <= fVar5; - } - else { - bVar1 = fVar4 <= fVar5; - } - } - else { - fVar4 = fVar4 + in_stack_00000010; - fVar7 = -in_stack_00000010; - if (fVar7 < fVar4) { -LAB_7f0430bc: - bVar1 = fVar7 <= fVar5; - fVar4 = fVar7; - } - else { - bVar1 = fVar4 <= fVar5; - } - } - if (bVar1) { - *(float **)param_1 = param_3; - goto LAB_7f0430f0; - } - *param_1 = fVar6 + fVar4; - } - iVar3 += 1; - if (clock_timer <= iVar3) goto LAB_7f0430f0; - fVar6 = *param_1; - } while( true ); -} - - - -void proc_7F04310C(float *param_1,float param_2,float *param_3,float param_4,float param_5, - float param_6) - -{ - float fVar1; - float fVar2; - - if ((float)param_3 - *param_1 < flt_80052A60) { - param_3 = (float *)((float)param_3 + flt_80052A64); - } - else { - if (flt_80052A68 <= (float)param_3 - *param_1) { - param_3 = (float *)((float)param_3 - flt_80052A6C); - } - } - proc_7F042F18(param_1,(float)param_3,param_3,param_6,param_5,param_6); - fVar1 = flt_80052A70; - fVar2 = *param_1; - if (fVar2 < 0.00000000) { - *param_1 = fVar2 + flt_80052A70; - fVar2 = *param_1; - } - if (fVar1 <= fVar2) { - *param_1 = fVar2 - fVar1; - } - return; -} - - - -void proc_7F0431E4(int param_1,float *param_2) - -{ - uint uVar1; - uint *puVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fStack204; - float fStack200; - float fStack196; - float fStack188; - float fStack184; - float fStack180; - float fStack172; - float fStack168; - float fStack164; - float fStack140; - float fStack136; - float fStack132; - undefined4 uStack128; - undefined4 uStack124; - undefined4 uStack120; - undefined4 uStack116; - undefined4 uStack112; - float fStack108; - undefined4 uStack104; - float fStack100; - undefined4 uStack96; - undefined4 uStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - float fStack76; - float fStack72; - float fStack68; - float afStack12 [3]; - - uVar1 = *(uint *)(param_1 + 100); - *(uint *)(param_1 + 100) = uVar1 & 0xfffeffff; - if ((uVar1 & 0x80) == 0) { - return; - } - puVar2 = *(uint **)(param_1 + 0x6c); - if (*(char *)(param_1 + 3) == '\x01') { - proc_7F03FB70(puVar2); - *(undefined4 *)(param_1 + 0x6c) = 0; - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) & 0xffffff7f; - return; - } - uVar1 = *puVar2; - puVar2[0x22] = 0; - *puVar2 = uVar1 & 0xfffffffe; - *puVar2 = uVar1 & 0xfffffffa; - proc_7F058860((float *)(param_1 + 0x18),afStack12); - proc_7F058714(afStack12,&fStack76); - proc_7F05B3F4(afStack12,(float *)(puVar2 + 0x1a)); - proc_7F059D38(&fStack76,&fStack140); - proc_7F0580C8(&fStack140,(float *)(param_1 + 0x18),(int)&fStack204); - fVar3 = sqrtf(fStack196 * fStack196 + fStack204 * fStack204 + fStack200 * fStack200); - *(float *)(puVar2 + 0x30) = fVar3; - fVar3 = sqrtf(fStack180 * fStack180 + fStack188 * fStack188 + fStack184 * fStack184); - *(float *)(puVar2 + 0x31) = fVar3; - fVar3 = sqrtf(fStack164 * fStack164 + fStack172 * fStack172 + fStack168 * fStack168); - *(float *)(puVar2 + 0x32) = fVar3; - fStack140 = *(float *)(param_1 + 0x18); - fVar3 = *(float *)(param_1 + 0x20); - if ((fStack140 == 0.00000000) && (fStack132 = 1.00000000, fVar3 == 0.00000000)) { - fStack140 = 0.00000000; - } - else { - fVar4 = sqrtf(fStack140 * fStack140 + fVar3 * fVar3); - fStack140 = fStack140 * (1.00000000 / fVar4); - fStack132 = fVar3 * (1.00000000 / fVar4); - } - fStack136 = 0.00000000; - uStack128 = 0; - if (0.00000000 <= *(float *)(param_1 + 0x2c)) { - fStack108 = -fStack132; - uStack120 = 0x3f800000; - fStack100 = fStack140; - } - else { - fStack100 = -fStack140; - uStack120 = 0xbf800000; - fStack108 = fStack132; - } - uStack96 = 0; - uStack104 = 0; - uStack112 = 0; - uStack116 = 0; - uStack124 = 0; - uStack92 = 0; - uStack88 = 0; - uStack84 = 0; - uStack80 = 0x3f800000; - proc_7F058860(&fStack140,afStack12); - proc_7F05B3F4(afStack12,(float *)(puVar2 + 0x1e)); - proc_7F05BE10((float *)(puVar2 + 0x1a),(float *)(puVar2 + 0x1e)); - puVar2[0x18] = 0; - fVar3 = proc_7F05ACB0(fStack68 * fStack132 + fStack140 * fStack76 + fStack136 * fStack72); - if (((fVar3 <= 0.00000000) || (*(float *)(param_1 + 0x1c) <= 0.00000000)) || - (*(float *)(param_1 + 0x1c) <= param_2[1])) { - fVar4 = *(float *)(param_1 + 0x1c); - if (0.00000000 < fVar3) { - if (fVar4 < 0.00000000) { - if (fVar4 < param_2[1]) { - *(float *)(puVar2 + 0x19) = flt_80052A80 / ((fVar3 * 4.00000000) / flt_80052A7C) - ; - goto LAB_7f0435e0; - } - fVar6 = *(float *)(param_1 + 0x20); - } - else { - fVar6 = *(float *)(param_1 + 0x20); - } - } - else { - fVar6 = *(float *)(param_1 + 0x20); - } - fVar5 = *(float *)(*(int *)(param_1 + 0x14) + 0x14); - fVar4 = proc_7F05ACB0((fVar6 * param_2[2] + - *param_2 * *(float *)(param_1 + 0x18) + param_2[1] * fVar4) / - (fVar5 * fVar5)); - if (fVar3 == 0.00000000) { - puVar2[0x19] = 0x3f800000; - } - else { - *(float *)(puVar2 + 0x19) = (fVar4 / global_timer_delta) / fVar3; - } - } - else { - *(float *)(puVar2 + 0x19) = flt_80052A78 / ((fVar3 * 4.00000000) / flt_80052A74); - } -LAB_7f0435e0: - fVar3 = (float)puVar2[0x19]; - if (fVar3 < 0.00000000) { - *(float *)(puVar2 + 0x19) = -fVar3; - fVar3 = (float)puVar2[0x19]; - } - if (fVar3 < flt_80052A84) { - *(float *)(puVar2 + 0x19) = flt_80052A84; - } - else { - if (flt_80052A88 < fVar3) { - *(float *)(puVar2 + 0x19) = flt_80052A88; - } - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void proc_7F043650(int param_1) - -{ - uint uVar1; - uint *puVar2; - ALLink_s *pAVar3; - u32 uVar5; - int iVar6; - ulonglong uVar4; - int iVar7; - int iVar8; - undefined4 uStack8; - u16 uStack4; - - uVar1 = *(uint *)(param_1 + 100); - if ((uVar1 & 0x80) != 0) { - puVar2 = *(uint **)(param_1 + 0x6c); - if ((((*puVar2 & 1) == 0) || (0 < (int)puVar2[0x24])) || ((uVar1 & 0x20) == 0)) { - *(uint *)(param_1 + 100) = uVar1 & 0xffffffdf; - if ((ALLink_s *)puVar2[0x26] == NULL) { - iVar7 = *(int *)(param_1 + 0x6c); - } - else { - uVar4 = sfxGetArg0Unk3F((ALLink_s *)puVar2[0x26]); - if (uVar4 == 0) { - iVar7 = *(int *)(param_1 + 0x6c); - } - else { - sfxDeactivate(*(int *)(*(int *)(param_1 + 0x6c) + 0x98)); - iVar7 = *(int *)(param_1 + 0x6c); - } - } - if ((*(ALLink_s **)(iVar7 + 0x9c) != NULL) && - (uVar4 = sfxGetArg0Unk3F(*(ALLink_s **)(iVar7 + 0x9c)), uVar4 != 0)) { - sfxDeactivate(*(int *)(*(int *)(param_1 + 0x6c) + 0x9c)); - } - } - else { - uStack8 = _Throwing_knife_SFX_1; - uStack4 = Throwing_knife_SFX_3; - iVar7 = *(int *)(*(int *)(param_1 + 0x6c) + 0xa4); - uVar5 = get_random_value(); - if (((*(int *)(*(int *)(param_1 + 0x6c) + 0xa0) < global_timer + -6) && - (pAVar3 = *(ALLink_s **)(*(int *)(param_1 + 0x6c) + iVar7 * 4 + 0x98), - pAVar3 != NULL)) && (uVar4 = sfxGetArg0Unk3F(pAVar3), uVar4 != 0)) { - sfxDeactivate(*(int *)(*(int *)(param_1 + 0x6c) + iVar7 * 4 + 0x98)); - } - iVar8 = iVar7 * 4; - if ((*(int *)(*(int *)(param_1 + 0x6c) + iVar8 + 0x98) == 0) && - (iVar6 = get_controls_locked_flag(), iVar6 == 0)) { - play_sfx_a1(ptr_sfx_buf,*(short *)((int)&uStack8 + (uVar5 % 3) * 2), - (ALSndPlayer *)(*(int *)(param_1 + 0x6c) + iVar8 + 0x98)); - sub_GAME_7F053A10(*(int *)(*(int *)(param_1 + 0x6c) + iVar8 + 0x98), - (float *)(*(int *)(param_1 + 0x10) + 8)); - *(int *)(*(int *)(param_1 + 0x6c) + 0xa0) = global_timer; - *(int *)(*(int *)(param_1 + 0x6c) + 0xa4) = 1 - iVar7; - } - } - } - return; -} - - - -void proc_7F043838(float *param_1,int param_2) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - float fVar1; - float fVar2; - float fStack260; - float fStack256; - float fStack252; - float afStack248 [16]; - float afStack184 [16]; - float afStack120 [16]; - float fStack56; - float fStack52; - float fStack36; - float fStack32; - float fStack28; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar1 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1 + param_1[1] * param_1[1]); - fVar2 = *param_1 / fVar1; - fStack12 = param_1[1] / fVar1; - fVar1 = param_1[2] / fVar1; - if ((fVar2 == 0.00000000) && (fVar1 == 0.00000000)) { - fStack4 = 0.00000000; - fStack8 = 0.00000000; - fStack20 = 0.00000000; - fStack16 = 1.00000000; - } - else { - fStack36 = fVar1; - fStack32 = fStack12; - fStack28 = fVar2; - fVar1 = sqrtf(fVar2 * fVar2 + fVar1 * fVar1); - fStack8 = -fVar1; - fStack16 = fStack36 / fVar1; - fStack4 = fStack32 * (fStack28 / fVar1); - fStack20 = -(fStack28 / fVar1); - fStack12 = fStack32 * fStack16; - } - fStack52 = convert_angle_using_inverse((f32)fStack16,(f32)fStack20); - proc_7F0585FC(-fStack52,extraout_a0,afStack120); - fStack260 = fStack4; - fStack256 = fStack8; - fStack252 = fStack12; - proc_7F0583D8(afStack120,&fStack260); - fStack56 = convert_angle_using_inverse((f32)fStack260,(f32)fStack256); - proc_7F0585FC(flt_80052A8C + fStack52,extraout_a0_00,afStack184); - proc_7F058570(flt_80052A90 - fStack56,extraout_a0_01,afStack248); - proc_7F0580C8(afStack184,afStack248,param_2); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F0439B8(void) - -{ - int iVar1; - int in_a0_lo; - undefined8 extraout_a0; - undefined4 *in_a1_lo; - undefined4 in_a2_lo; - float *in_a3_lo; - float in_f0; - float afStack64 [16]; - - proc_7F043838(in_a3_lo,(int)afStack64); - matrix_multiply_A1_by_F12(*(float *)(*(int *)(in_a0_lo + 0x14) + 0x14),extraout_a0,afStack64); - proc_7F040754(in_a0_lo,in_a1_lo,afStack64,in_a2_lo); - iVar1 = proc_7F03FFF8(*(int **)(*(int *)(in_a0_lo + 0x14) + 8)); - proc_7F03E864(iVar1); - *(float *)(in_a0_lo + 0x58) = *(float *)(in_a0_lo + 0x58) - in_f0 * *(float *)(in_a0_lo + 0x28); - *(float *)(in_a0_lo + 0x5c) = *(float *)(in_a0_lo + 0x5c) - in_f0 * *(float *)(in_a0_lo + 0x2c); - *(float *)(in_a0_lo + 0x60) = *(float *)(in_a0_lo + 0x60) - in_f0 * *(float *)(in_a0_lo + 0x30); - proc_7F040484(in_a0_lo); - return; -} - - - -undefined8 proc_7F043A6C(int param_1,int param_2,int param_3,ushort *param_4) - -{ - int iVar1; - undefined8 uVar2; - int iVar3; - float *pfVar4; - float *pfVar5; - float afStack196 [16]; - float afStack132 [16]; - float afStack68 [17]; - - if ((*(byte *)(param_2 + 1) & 2) == 0) { - uVar2 = 0; - } - else { - iVar1 = *(int *)(param_1 + 4); - iVar3 = proc_7F03FE98(); - *(int *)(iVar1 + 0x6c) = iVar3; - if (iVar3 == 0) { - uVar2 = 0; - } - else { - pfVar4 = (float *)proc_7F06C660(param_3,param_4,0); - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 0x40; - proc_7F03E18C(param_1); - proc_7F03A538(param_1); - unset_stateflag_0x04_for_posdata(param_1); - *(int *)(*(int *)(iVar1 + 0x14) + 0x18) = param_3; - *(ushort **)(*(int *)(iVar1 + 0x14) + 0x1c) = param_4; - proc_7F03A5A4(param_1,param_2); - proc_7F058020((float (*) [4] [4])(iVar1 + 0x18),(float (*) [4])afStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30 - ((xyzpoint *)(iVar1 + 0x58),(int)(float (*) [4])afStack68); - pfVar5 = (float *)get_BONDdata_field_10D4(); - proc_7F05818C(pfVar5,pfVar4,(int)afStack132); - proc_7F059FB8(afStack132,afStack196); - proc_7F05818C(afStack196,(float *)(float (*) [4])afStack68,*(int *)(iVar1 + 0x6c) + 4); - uVar2 = 1; - } - } - return uVar2; -} - - - -void generate_explosion_at_position - (object_header *object,uint param_2,undefined8 param_3,undefined4 param_4) - -{ - bool bVar1; - longlong lVar2; - int iVar3; - float *pfVar4; - int iVar5; - object_standard *poVar6; - float in_f12; - float extraout_f12; - float in_f14; - float extraout_f14; - short sStackX6; - float fStack28; - undefined4 uStack24; - undefined4 uStack20; - int iStack16; - int iStack12; - uint uStack8; - object_standard *poStack4; - - poVar6 = object->ptr_archetype; - uStack8 = (poVar6->runtime_bitflags & 0x60000U) >> 0x11; - iVar3 = object->is_loaded_in_mem; - sStackX6 = (short)param_2; - if (iVar3 == 0) { - bVar1 = (poVar6->flags & 0xe) == 0; - if (bVar1) { - bVar1 = (*(byte *)((int)&object->offset_obj_table + 1) & 8) == 0; - } - proc_7F09C250(0,(float *)&poVar6->runtime_x_pos,*(int *)&object->num_table_entries, - (int)sStackX6,(uint)bVar1,(char)uStack8,(char *)&object[1].num_offset_entries, - (uint)((*(byte *)((int)&object->offset_obj_table + 1) & 8) != 0)); - } - else { - lVar2 = (longlong)*(int *)(iVar3 + 0x1c); - if (lVar2 == 0) { - iStack16 = *(int *)(iVar3 + 0x14); - iVar5 = iVar3; - } - else { - do { - iVar5 = (int)lVar2; - lVar2 = (longlong)*(int *)(iVar5 + 0x1c); - } while (lVar2 != 0); - iStack16 = *(int *)(iVar5 + 0x14); - } - if ((*(byte *)((int)&object->offset_obj_table + 1) & 2) == 0) { - fStack28 = *(float *)(iVar5 + 8); - uStack24 = *(undefined4 *)(iVar5 + 0xc); - uStack20 = *(undefined4 *)(iVar5 + 0x10); - } - else { - iStack12 = iVar5; - poStack4 = poVar6; - iVar3 = getsubmatrix((int)poVar6->runtime_ptr_obj_instance_controller,param_2,iVar3, - param_4); - fStack28 = *(float *)(iVar3 + 0x30); - uStack24 = *(undefined4 *)(iVar3 + 0x34); - uStack20 = *(undefined4 *)(iVar3 + 0x38); - pfVar4 = (float *)get_BONDdata_field_10D4(); - lVar2 = (longlong)(int)pfVar4; - proc_7F058474(pfVar4,&fStack28); - in_f12 = extraout_f12; - in_f14 = extraout_f14; - poVar6 = poStack4; - iVar5 = iStack12; - } - if (((*(byte *)(iVar5 + 1) & 8) == 0) && - (iStack12 = iVar5, poStack4 = poVar6, - proc_7F0B0BE4(&iStack16,in_f12,in_f14,*(float *)(iVar5 + 8),*(float *)(iVar5 + 0x10)), - iVar5 = iStack12, lVar2 != 0)) { - proc_7F09C250(0,&fStack28,iStack16,(int)sStackX6,(uint)((poStack4->flags & 0xe) == 0), - (char)uStack8,(char *)(iStack12 + 0x2c),0); - } - else { - proc_7F09C250(0,&fStack28,iStack16,(int)sStackX6,0,(char)uStack8,(char *)(iVar5 + 0x2c), - 1); - } - } - return; -} - - - -void handle_thrown_explosive_detonation(object_header *param_1) - -{ - char cVar1; - object_standard *poVar2; - object_standard *objdata; - short sVar3; - u32 uVar4; - int iVar5; - uint uVar6; - undefined8 extraout_a2; - longlong lVar7; - u16 uVar8; - float fVar9; - float fVar10; - float fVar11; - - poVar2 = param_1->ptr_archetype; - uVar4 = get_cur_playernum(); - iVar5 = proc_7F09B4D8(uVar4); - if (iVar5 != 0) { - return; - } - cVar1 = *(char *)((int)&poVar2->obj + 1); - if (cVar1 == '\a') { - if (-1 < (int)(poVar2->flags << 3)) { - return; - } - generate_explosion_at_position(param_1,0xc,extraout_a2,poVar2); - poVar2->runtime_bitflags = poVar2->runtime_bitflags | 4; - return; - } - if (cVar1 != '\b') { - return; - } - objdata = param_1->ptr_archetype; - lVar7 = (longlong)(int)objdata; - cVar1 = *(char *)(objdata + 1); - sVar3 = (short)clock_timer; - if (((cVar1 == '\x1a') || (cVar1 == 'W')) && (-1 < (short)objdata[1].obj)) { - objdata[1].obj = objdata[1].obj - sVar3; - if (-1 < (short)objdata[1].obj) { - return; - } - uVar6 = 0xd; - if ((int)poVar2->flags2 < 0) { - uVar6 = 0x11; - } - generate_explosion_at_position(param_1,uVar6,lVar7,poVar2); - poVar2->runtime_bitflags = poVar2->runtime_bitflags | 4; - return; - } - if (cVar1 == 'V') { - if (objdata[1].obj != 0) { - return; - } - uVar6 = 0xd; - if ((int)poVar2->flags2 < 0) { - uVar6 = 0x11; - } - generate_explosion_at_position(param_1,uVar6,lVar7,poVar2); - poVar2->runtime_bitflags = poVar2->runtime_bitflags | 4; - return; - } - if (cVar1 == '\"') { - if (objdata[1].obj != 0) { - return; - } - generate_explosion_at_position(param_1,0x11,lVar7,poVar2); - poVar2->runtime_bitflags = poVar2->runtime_bitflags | 4; - trigger_explosions_around_player(0x78); - set_unset_clock_lock_bits(2,0); - return; - } - if (((cVar1 == '\x1b') || (cVar1 == '!')) && (-1 < (short)objdata[1].obj)) { - objdata[1].obj = objdata[1].obj - sVar3; - if (-1 < (short)objdata[1].obj) { - return; - } - uVar6 = 0xd; - if ((int)poVar2->flags2 < 0) { - uVar6 = 0x11; - } - generate_explosion_at_position(param_1,uVar6,lVar7,poVar2); - objdata[1].obj = 0xffff; - poVar2->runtime_bitflags = poVar2->runtime_bitflags | 4; - return; - } - if (cVar1 == '\x1d') { - if (D_80030AF4 == 0) { - uVar8 = objdata[1].obj; - } - else { - if ((D_80030AF4 & 1 << ((poVar2->runtime_bitflags & 0x60000U) >> 0x11)) == 0) { - uVar8 = objdata[1].obj; - } - else { - objdata[1].obj = 0; - uVar8 = objdata[1].obj; - } - } - if (1 < (short)uVar8) { - objdata[1].obj = uVar8 - (short)clock_timer; - if (1 < (short)objdata[1].obj) { - return; - } - objdata[1].obj = 1; - return; - } - if (uVar8 != 0) { - return; - } - if ((int)poVar2->flags2 < 0) { - generate_explosion_at_position(param_1,0x11,lVar7,poVar2); - } - else { - iVar5 = get_stage_num(); - if (iVar5 == 0x22) { - generate_explosion_at_position(param_1,0x13,(longlong)(int)objdata,poVar2); - } - else { - generate_explosion_at_position(param_1,0xd,(longlong)(int)objdata,poVar2); - } - } - objdata[1].obj = 0xffff; - poVar2->runtime_bitflags = poVar2->runtime_bitflags | 4; - return; - } - if (cVar1 != '\x1c') { - return; - } - uVar8 = objdata[1].obj; - if ((short)uVar8 < 2) { - if (uVar8 != 1) { - uVar8 = objdata[1].obj; - goto LAB_7f04419c; - } - iVar5 = get_curplayer_positiondata(); - fVar9 = *(float *)(iVar5 + 8) - (float)param_1->offset_obj_offset_block; - fVar10 = *(float *)(iVar5 + 0xc) - *(float *)¶m_1->num_offset_entries; - fVar11 = *(float *)(iVar5 + 0x10) - param_1->anonymous_4; - if (flt_80052A94 <= fVar9 * fVar9 + fVar10 * fVar10 + fVar11 * fVar11) { - uVar8 = objdata[1].obj; - goto LAB_7f04419c; - } - objdata[1].obj = 0; - } - else { - objdata[1].obj = uVar8 - sVar3; - if (1 < (short)objdata[1].obj) { - uVar8 = objdata[1].obj; - goto LAB_7f04419c; - } - objdata[1].obj = 1; - add_obj_to_temp_proxmine_table((undefined4 *)objdata); - } - uVar8 = objdata[1].obj; -LAB_7f04419c: - if (uVar8 == 0) { - uVar6 = 0xd; - if ((int)poVar2->flags2 < 0) { - uVar6 = 0x11; - } - generate_explosion_at_position(param_1,uVar6,(longlong)(int)objdata,poVar2); - objdata[1].obj = 0xffff; - poVar2->runtime_bitflags = poVar2->runtime_bitflags | 4; - remove_obj_from_temp_proxmine_table((undefined4 *)objdata); - } - return; -} - - - -void proc_7F044200(int param_1) - -{ - int iVar1; - int param_1_00; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - iVar1 = *(int *)(param_1_00 + 0x24); - proc_7F044200(param_1_00); - proc_7F04C130(param_1_00,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - param_1_00 = iVar1; - } - return; -} - - - -void proc_7F04424C(object_header *param_1) - -{ - object_standard *poVar1; - object_standard *poVar2; - object_standard *param_1_00; - - poVar1 = (object_standard *)param_1->ptr_archetype; - if ((poVar1->runtime_bitflags & 4U) == 0) { - *(byte *)((int)¶m_1->offset_obj_table + 1) = - *(byte *)((int)¶m_1->offset_obj_table + 1) & 0xfd; - handle_thrown_explosive_detonation(param_1); - param_1_00 = (object_standard *)param_1[1].offset_obj_table; - while (param_1_00 != NULL) { - poVar2 = (object_standard *)param_1_00->runtime_MATRIX3; - proc_7F04424C((object_header *)param_1_00); - param_1_00 = poVar2; - } - } - else { - proc_7F040D98(poVar1,1,(ulonglong)(byte)poVar1->hidden2 & 4); - } - return; -} - - - -void proc_7F0442DC(object_header *param_1) - -{ - byte bVar1; - object_standard *poVar2; - int iVar3; - object_standard *poVar4; - object_standard *param_1_00; - float *pfVar5; - float *pfVar6; - - poVar2 = (object_standard *)param_1->ptr_archetype; - iVar3 = poVar2->runtime_ptr_obj_instance_controller; - if ((poVar2->runtime_bitflags & 4U) == 0) { - if (*(ushort **)(iVar3 + 0x1c) == NULL) { - bVar1 = *(byte *)((int)¶m_1->offset_obj_table + 1); - } - else { - if ((poVar2->runtime_bitflags & 0x40U) != 0) { - pfVar5 = (float *)proc_7F06C660(*(int *)(iVar3 + 0x18),*(ushort **)(iVar3 + 0x1c),0) - ; - *(byte *)((int)¶m_1->offset_obj_table + 1) = - *(byte *)((int)¶m_1->offset_obj_table + 1) | 2; - pfVar6 = pfVar5; - proc_7F0BD714((int)*(short *)(*(int *)(iVar3 + 8) + 0xe) << 6); - *(float **)(iVar3 + 0xc) = pfVar6; - proc_7F05818C(pfVar5,(float *)(poVar2->field_6C + 4),(int)pfVar6); - proc_7F06EEA4((longlong)iVar3,**(int **)(iVar3 + 8)); - handle_thrown_explosive_detonation(param_1); - param_1_00 = (object_standard *)param_1[1].offset_obj_table; - while (param_1_00 != NULL) { - poVar4 = (object_standard *)param_1_00->runtime_MATRIX3; - proc_7F0442DC((object_header *)param_1_00); - param_1_00 = poVar4; - } - return; - } - bVar1 = *(byte *)((int)¶m_1->offset_obj_table + 1); - } - *(byte *)((int)¶m_1->offset_obj_table + 1) = bVar1 & 0xfd; - handle_thrown_explosive_detonation(param_1); - param_1_00 = (object_standard *)param_1[1].offset_obj_table; - while (param_1_00 != NULL) { - poVar4 = (object_standard *)param_1_00->runtime_MATRIX3; - proc_7F04424C((object_header *)param_1_00); - param_1_00 = poVar4; - } - } - else { - proc_7F040D98(poVar2,1,(ulonglong)(byte)poVar2->hidden2 & 4); - } - return; -} - - - -undefined8 proc_7F044414(float *param_1,int param_2,float *param_3,uint param_4) - -{ - longlong lVar1; - float *pfVar2; - uint uVar3; - int iVar4; - int iVar5; - float *pfVar6; - int iVar7; - double dVar8; - double dVar9; - double dVar10; - double dVar11; - ulonglong unaff_f22; - float fStack68; - undefined4 uStack64; - float fStack60; - double dStack48; - - if (0 < param_2) { - iVar4 = 0; - pfVar6 = param_1; - do { - iVar7 = iVar4 + 1; - fStack68 = *pfVar6; - dVar10 = (double)(param_1 + (iVar7 % param_2) * 2)[1] - (double)pfVar6[1]; - if (param_2 == 0) { - trap(0x1c00); - } - if ((param_2 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - iVar5 = iVar7 % param_2 + 1; - dVar11 = (double)fStack68 - (double)param_1[(iVar7 % param_2) * 2]; - if ((dVar10 == (double)(unaff_f22 & 0xffffffff00000000)) && - (dVar11 == (double)(unaff_f22 & 0xffffffff00000000))) { - uStack64 = 0; - fStack60 = pfVar6[1]; - lVar1 = proc_7F03CCD8(&fStack68,param_3,param_4); - if (lVar1 != 0) { - return 0; - } - } - else { - uVar3 = 0; - dVar9 = (double)pfVar6[1] * dVar11 + (double)fStack68 * dVar10; - if (param_2 == 0) { - trap(0x1c00); - } - if ((param_2 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - while ((iVar5 %= param_2, iVar4 != iVar5 && - (dStack48 = (double)(param_1 + iVar5 * 2)[1] * dVar11 + - (double)param_1[iVar5 * 2] * dVar10, dStack48 == dVar9))) { - iVar5 += 1; - if (param_2 == 0) { - trap(0x1c00); - } - if ((param_2 == -1) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - } - pfVar2 = param_3; - if (0 < (int)param_4) { - do { - dVar8 = (double)pfVar2[1] * dVar11 + (double)*pfVar2 * dVar10; - if (dStack48 == dVar9) { - dStack48 = (dVar9 - dVar8) + dVar9; - } - if (((dVar8 < dVar9) && (dStack48 < dVar9)) || - ((dVar9 < dVar8 && (dVar9 < dStack48)))) break; - uVar3 += 1; - pfVar2 = pfVar2 + 2; - } while (uVar3 != param_4); - } - if (uVar3 == param_4) { - return 1; - } - } - pfVar6 = pfVar6 + 2; - iVar4 = iVar7; - } while (iVar7 != param_2); - } - return 0; -} - - - -undefined8 proc_7F0446B8(float *param_1,uint param_2,float *param_3,uint param_4) - -{ - longlong lVar1; - undefined8 uVar2; - - lVar1 = proc_7F044414(param_1,param_2,param_3,param_4); - if (lVar1 == 0) { - lVar1 = proc_7F044414(param_3,param_4,param_1,param_2); - if (lVar1 == 0) { - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -undefined8 proc_7F044718(undefined8 param_1,undefined8 param_2,float *param_3,int param_4) - -{ - float fVar1; - ulonglong uVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined4 extraout_a1_hi; - undefined4 extraout_a1_hi_00; - undefined4 extraout_a1_hi_01; - undefined4 extraout_a1_hi_02; - undefined4 uVar3; - undefined4 extraout_a1_lo; - undefined4 extraout_a1_lo_00; - undefined4 extraout_a1_lo_01; - undefined4 extraout_a1_lo_02; - undefined4 uVar4; - float *pfVar5; - float *pfVar6; - int iVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - - fVar1 = (float)param_2; - fVar11 = *(float *)param_1; - fVar12 = ((float *)param_1)[2]; - iVar7 = 0; - pfVar6 = param_3; - if (0 < param_4) { - do { - iVar7 += 1; - pfVar5 = param_3 + (iVar7 % param_4) * 2; - if (param_4 == 0) { - trap(0x1c00); - } - if ((param_4 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - fVar8 = proc_7F0B16C4(*pfVar6,pfVar6[1],param_1,param_2,*pfVar5,pfVar5[1],fVar11,fVar12) - ; - if (fVar8 < 0.00000000) { - fVar10 = -fVar8; - fVar9 = *pfVar6; - } - else { - fVar9 = *pfVar6; - fVar10 = fVar8; - } - proc_7F0B1794(fVar9,pfVar6[1],extraout_a0,CONCAT44(extraout_a1_hi,extraout_a1_lo),fVar11 - ,fVar12); - fVar9 = fVar8; - proc_7F0B1794(*pfVar5,pfVar5[1],extraout_a0_00, - CONCAT44(extraout_a1_hi_00,extraout_a1_lo_00),fVar11,fVar12); - param_1 = extraout_a0_01; - uVar3 = extraout_a1_hi_01; - uVar4 = extraout_a1_lo_01; - if ((fVar10 < fVar1) && - (((fVar8 < fVar1 || (fVar9 < fVar1)) || - (uVar2 = proc_7F0B17E4(*pfVar6,pfVar6[1],extraout_a0_01, - CONCAT44(extraout_a1_hi_01,extraout_a1_lo_01),*pfVar5, - pfVar5[1],fVar11,fVar12), param_1 = extraout_a0_02, - uVar3 = extraout_a1_hi_02, uVar4 = extraout_a1_lo_02, uVar2 != 0)))) { - return 1; - } - param_2 = CONCAT44(uVar3,uVar4); - pfVar6 = pfVar6 + 2; - } while (iVar7 != param_4); - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f044a9c) overlaps instruction at (ram,0x7f044a98) -// -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F0448A8(void) - -{ - bool bVar1; - byte bVar2; - byte bVar3; - longlong lVar4; - byte *in_a0_lo; - byte *pbVar5; - short *psVar6; - int iVar7; - float in_f0; - float fStack96; - float fStack92; - uint uStack88; - float *apfStack84 [4]; - int iStack68; - float fStack64; - float afStack60 [2]; - uint auStack52 [8]; - float fStack20; - float fStack16; - uint uStack12; - float *apfStack8 [2]; - - proc_7F03CC20((char *)in_a0_lo,(int **)apfStack8,&uStack12,&fStack16,&fStack20); - if (0 < (int)uStack12) { - proc_7F03CB8C((char *)in_a0_lo,auStack52); - proc_7F03E3FC((int *)auStack52); - lVar4 = (longlong)*ptr_list_object_lookup_indices; - iVar7 = (int)*ptr_list_object_lookup_indices; - psVar6 = ptr_list_object_lookup_indices; - if (-1 < lVar4) { - do { - iVar7 = (iVar7 * 0x10 + (int)lVar4 * -4 + (int)lVar4) * 4; - pbVar5 = pos_data_entry + iVar7; - if (pbVar5 == in_a0_lo) { - lVar4 = (longlong)psVar6[1]; - goto LAB_7f044b04; - } - bVar2 = *pbVar5; - if ((bVar2 == 6) || (bVar2 == 3)) { - if ((*(int *)(pos_data_entry + iVar7 + 4) == 0) || - ((*(uint *)(*(int *)(pos_data_entry + iVar7 + 4) + 0x14) & 0x400) == 0)) { - proc_7F03CF88((char *)pbVar5,&iStack68,afStack60,&fStack64); - proc_7F03CFE8(pbVar5); - fStack64 = fStack64 + in_f0; - afStack60[0] = afStack60[0] + in_f0; - if (fStack64 <= fStack16) { - if (fStack20 <= afStack60[0]) { - lVar4 = proc_7F03CCD8((float *)(pos_data_entry + iVar7 + 8), - apfStack8[0],uStack12); - bVar1 = lVar4 == 0; - if ((bVar1) && - (lVar4 = proc_7F044718((longlong) - (int)(pos_data_entry + iVar7 + 8), - (longlong)iStack68,apfStack8[0],uStack12), - lVar4 != 0)) { - bVar1 = false; - } - if (!bVar1) { - if ((*pbVar5 == 3) && (*in_a0_lo == 2)) { - *(ushort *)(*(int *)(pos_data_entry + iVar7 + 4) + 0x12) = - *(ushort *) - (*(int *)(pos_data_entry + iVar7 + 4) + 0x12) | 0x10; - } - return 0; - } - lVar4 = (longlong)psVar6[1]; - goto LAB_7f044b04; - } -LAB_7f044b00: - lVar4 = (longlong)psVar6[1]; - } - else { - lVar4 = (longlong)psVar6[1]; - } - } - else { - lVar4 = (longlong)psVar6[1]; - } - } - else { - if (bVar2 == 1) { -LAB_7f044a68: - bVar3 = *in_a0_lo; - } - else { - if (bVar2 != 4) { - if (bVar2 != 2) { - lVar4 = (longlong)psVar6[1]; - goto LAB_7f044b04; - } - goto LAB_7f044a68; - } - bVar3 = *in_a0_lo; - } - if (bVar3 == 2) { - if (bVar2 == 2) { - lVar4 = (longlong)psVar6[1]; - goto LAB_7f044b04; - } - if ((*(char *)(*(int *)(pos_data_entry + iVar7 + 4) + 3) == '+') || - (*(char *)(*(int *)(pos_data_entry + iVar7 + 4) + 3) == '(')) - goto LAB_7f044b00; - } - proc_7F03CC20((char *)pbVar5,(int **)apfStack84,&uStack88,&fStack92,&fStack96); - if ((int)uStack88 < 1) { - lVar4 = (longlong)psVar6[1]; - } - else { - if (fStack96 <= fStack16) { - if (fStack20 <= fStack92) { - lVar4 = proc_7F0446B8(apfStack84[0],uStack88,apfStack8[0],uStack12); - if (lVar4 != 0) { - return 0; - } - lVar4 = (longlong)psVar6[1]; - } - else { - lVar4 = (longlong)psVar6[1]; - } - } - else { - lVar4 = (longlong)psVar6[1]; - } - } - } -LAB_7f044b04: - psVar6 = psVar6 + 1; - if (lVar4 < 0) { - return 1; - } - iVar7 = (int)lVar4; - } while( true ); - } - } - return 1; -} - - - -int proc_7F044B38(undefined8 param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - longlong lVar4; - undefined8 extraout_a0; - float *pfVar5; - float (*paafVar6) [4] [4]; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - float extraout_f0; - float extraout_f0_00; - float extraout_f0_01; - float fVar7; - float fVar8; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - float extraout_f14_05; - float fVar9; - float fVar10; - float fVar11; - float fStack228; - float fStack224; - float fStack220; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - int iStack152; - int iStack148; - float afStack144 [16]; - int iStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float *pfStack28; - float *pfStack24; - float *pfStack20; - float *pfStack16; - int iStack4; - - iVar3 = (int)param_1; - iStack4 = *(int *)(iVar3 + 0x14); - iVar1 = *(int *)(iVar3 + 0x10); - iVar2 = *(int *)(*(int *)(iStack4 + 8) + 8); - lVar4 = (longlong)iVar2; - pfStack16 = *(float **)(*(int *)(iVar2 + 4) + 4); - pfStack20 = *(float **)(*(int *)(iVar2 + 8) + 4); - pfStack24 = *(float **)(*(int *)(iVar2 + 0xc) + 4); - pfStack28 = *(float **)(*(int *)(iVar2 + 0x10) + 4); - iStack80 = 1; - iStack152 = *(int *)(*(int *)(iVar2 + 0x18) + 4); - proc_7F0585FC(*(float *)(iVar3 + 0xa0),param_1,afStack144); - matrix_multiply_A1_by_F12(*(float *)(iStack4 + 0x14),extraout_a0,afStack144); - copies_first_3_floats_from_a0_to_a1_plus_0x30((xyzpoint *)(iVar3 + 0x58),(int)afStack144); - proc_7F058418(afStack144,pfStack16,&fStack40); - proc_7F058418(afStack144,pfStack20,&fStack52); - proc_7F058418(afStack144,pfStack24,&fStack64); - proc_7F058418(afStack144,pfStack28,&fStack76); - iStack148 = *(int *)(iVar1 + 0x14); - proc_7F0B0BE4(&iStack148,extraout_f12,extraout_f14,*(float *)(iVar1 + 8), - *(float *)(iVar1 + 0x10)); - if (lVar4 == 0) { - iStack80 = 0; - fVar9 = extraout_f12_00; - fVar8 = extraout_f14_00; - } - else { - lVar4 = proc_7F0B2970(); - fVar9 = extraout_f12_01; - fVar8 = extraout_f14_01; - fStack36 = extraout_f0; - } - iStack148 = *(int *)(iVar1 + 0x14); - proc_7F0B0BE4(&iStack148,fVar9,fVar8,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10)); - if (lVar4 == 0) { - iStack80 = 0; - fVar9 = extraout_f12_02; - fVar8 = extraout_f14_02; - } - else { - lVar4 = proc_7F0B2970(); - fVar9 = extraout_f12_03; - fVar8 = extraout_f14_03; - fStack48 = extraout_f0_00; - } - iStack148 = *(int *)(iVar1 + 0x14); - proc_7F0B0BE4(&iStack148,fVar9,fVar8,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10)); - if (lVar4 == 0) { - iStack80 = 0; - fVar9 = extraout_f12_04; - fVar8 = extraout_f14_04; - } - else { - lVar4 = proc_7F0B2970(); - fVar9 = extraout_f12_05; - fVar8 = extraout_f14_05; - fStack60 = extraout_f0_01; - } - iStack148 = *(int *)(iVar1 + 0x14); - proc_7F0B0BE4(&iStack148,fVar9,fVar8,*(float *)(iVar1 + 8),*(float *)(iVar1 + 0x10)); - if (lVar4 == 0) { - iStack80 = 0; - } - else { - fStack72 = (float)proc_7F0B2970(); - } - pfVar5 = (float *)(iVar3 + 0x18); - if (iStack80 == 0) { - proc_7F0585FC(*(float *)(iVar3 + 0xa0),(longlong)(int)pfVar5,pfVar5); - matrix_multiply_A1_by_F12(*(float *)(iStack4 + 0x14),extraout_a0_01,pfVar5); - fVar8 = (float)proc_7F0B2970(); - fVar9 = fVar8; - proc_7F03E864(iStack152); - fVar8 = fVar8 - (pfStack16[1] + fVar9) * *(float *)(iStack4 + 0x14); - *(float *)(iVar1 + 0xc) = fVar8; - *(float *)(iVar3 + 0x5c) = fVar8; - } - else { - fStack164 = fStack52 - fStack40; - fStack160 = fStack48 - fStack36; - fStack156 = fStack44 - fStack32; - guNormalize(&fStack164,&fStack160,&fStack156); - fStack176 = fStack76 - fStack52; - fStack172 = fStack72 - fStack48; - fStack168 = fStack68 - fStack44; - guNormalize(&fStack176,&fStack172,&fStack168); - fStack188 = fStack64 - fStack76; - fStack184 = fStack60 - fStack72; - fStack180 = fStack56 - fStack68; - guNormalize(&fStack188,&fStack184,&fStack180); - fStack200 = fStack40 - fStack64; - fStack196 = fStack36 - fStack60; - fStack192 = fStack32 - fStack56; - guNormalize(&fStack200,&fStack196,&fStack192); - fStack224 = fStack156 * fStack176 - fStack168 * fStack164; - fVar9 = fStack168 * fStack188 - fStack180 * fStack176; - if (((fStack224 < fVar9) || (fStack224 < fStack180 * fStack200 - fStack192 * fStack188)) || - (fStack224 < fStack192 * fStack164 - fStack156 * fStack200)) { - fStack224 = fStack180 * fStack200 - fStack192 * fStack188; - fVar8 = fStack192 * fStack164 - fStack156 * fStack200; - if ((fVar9 < fStack224) || (fVar9 < fVar8)) { - if (fVar8 <= fStack224) { - fStack228 = fStack184 * fStack192 - fStack196 * fStack180; - fStack220 = fStack188 * fStack196 - fStack200 * fStack184; - } - else { - fStack228 = fStack196 * fStack156 - fStack160 * fStack192; - fStack220 = fStack200 * fStack160 - fStack164 * fStack196; - fStack224 = fVar8; - } - } - else { - fStack228 = fStack172 * fStack180 - fStack184 * fStack168; - fStack220 = fStack176 * fStack184 - fStack188 * fStack172; - fStack224 = fVar9; - } - } - else { - fStack228 = fStack160 * fStack168 - fStack172 * fStack156; - fStack220 = fStack164 * fStack172 - fStack176 * fStack160; - } - fVar9 = sinf(*(float *)(iVar3 + 0xa0)); - fVar8 = cosf(*(float *)(iVar3 + 0xa0)); - paafVar6 = (float (*) [4] [4])(iVar3 + 0x18); - guMtxIdentF_unrolled(paafVar6); - *(float *)(iVar3 + 0x28) = fStack228; - fVar11 = *(float *)(iVar3 + 0x28); - *(float *)(iVar3 + 0x2c) = fStack224; - fVar10 = *(float *)(iVar3 + 0x2c); - *(float *)(iVar3 + 0x30) = fStack220; - fVar7 = *(float *)(iVar3 + 0x30); - *(float *)(iVar3 + 0x18) = fVar10 * fVar8 - fVar7 * 0.00000000; - *(float *)(iVar3 + 0x1c) = fVar7 * fVar9 - fVar8 * fVar11; - *(float *)(iVar3 + 0x20) = fVar11 * 0.00000000 - fVar9 * fVar10; - *(float *)(iVar3 + 0x38) = - *(float *)(iVar3 + 0x1c) * fVar7 - fVar10 * *(float *)(iVar3 + 0x20); - *(float *)(iVar3 + 0x3c) = - *(float *)(iVar3 + 0x20) * fVar11 - fVar7 * *(float *)(iVar3 + 0x18); - *(float *)(iVar3 + 0x40) = - *(float *)(iVar3 + 0x18) * fVar10 - fVar11 * *(float *)(iVar3 + 0x1c); - matrix_multiply_A1_by_F12(*(float *)(iStack4 + 0x14),extraout_a0_00,(float *)paafVar6); - proc_7F058418((float *)paafVar6,pfStack16,&fStack52); - proc_7F03E864(iStack152); - fStack48 = (fStack36 - fVar7 * *(float *)(iStack4 + 0x14)) - fStack48; - *(float *)(iVar1 + 0xc) = fStack48; - *(float *)(iVar3 + 0x5c) = fStack48; - } - return iStack80; -} - - - -int proc_7F0451DC(float *param_1,float param_2,float param_3,float param_4) - -{ - int iVar1; - float in_a2_lo; - float in_a3_lo; - float fVar2; - float fVar3; - float fVar4; - - iVar1 = get_curplayer_positiondata(); - fVar2 = *param_1 - *(float *)(iVar1 + 8); - fVar3 = param_1[1] - *(float *)(iVar1 + 0xc); - fVar4 = param_1[2] - *(float *)(iVar1 + 0x10); - fVar2 = sqrtf(fVar2 * fVar2 + fVar3 * fVar3 + fVar4 * fVar4); - if (in_a2_lo < fVar2) { - iVar1 = 0xff; - } - else { - if (fVar2 < param_4) { - iVar1 = (int)(in_a3_lo * 255.00000000); - } - else { - iVar1 = (int)((((fVar2 - param_4) * (1.00000000 - in_a3_lo)) / (in_a2_lo - param_4) + - in_a3_lo) * 255.00000000); - } - } - return iVar1; -} - - -/* -Unable to decompile 'object_interaction' -Cause: Exception while decompiling 7f0452d4: process: timeout - -*/ - - -undefined4 * proc_7F049B58(undefined4 *param_1) - -{ - byte bVar1; - int iVar2; - object_standard *position_data_pointer; - ulonglong uVar3; - undefined4 *puVar4; - u32 uVar5; - - position_data_pointer = get_ptr_obj_pos_list_current_entry(); - if (position_data_pointer == NULL) { - return param_1; - } - bVar1 = *(byte *)position_data_pointer; - do { - uVar3 = (ulonglong)bVar1; - if (bVar1 == 3) { - iVar2 = *(int *)&position_data_pointer->pad; - puVar4 = proc_7F061E18(param_1,(char *)(iVar2 + 0x180),1); - param_1 = proc_7F061E18(puVar4,(char *)(iVar2 + 0x1ac),1); -LAB_7f049c54: - position_data_pointer = (object_standard *)position_data_pointer->runtime_MATRIX3; - } - else { - if (bVar1 == 1) { - if (*(char *)(*(int *)&position_data_pointer->pad + 3) == '\r') { - param_1 = proc_7F061E18(param_1,*(char **)(*(int *)&position_data_pointer->pad + - 0xcc),1); - goto LAB_7f049c54; - } - position_data_pointer = (object_standard *)position_data_pointer->runtime_MATRIX3; - } - else { - if (bVar1 == 6) { - if (*(int *)&position_data_pointer->pad != 0) { - proc_7F09B15C((int)position_data_pointer); - uVar5 = get_cur_playernum(); - if ((longlong)(int)uVar5 != uVar3) { - iVar2 = *(int *)&position_data_pointer->pad; - puVar4 = proc_7F061E18(param_1,(char *)(iVar2 + 0x180),1); - param_1 = proc_7F061E18(puVar4,(char *)(iVar2 + 0x1ac),1); - } - goto LAB_7f049c54; - } - position_data_pointer = - (object_standard *)position_data_pointer->runtime_MATRIX3; - } - else { - position_data_pointer = - (object_standard *)position_data_pointer->runtime_MATRIX3; - } - } - } - if (position_data_pointer == NULL) { - return param_1; - } - bVar1 = *(byte *)position_data_pointer; - } while( true ); -} - - - -void set_ptr_monitor_img_to_obj_ani_slot(undefined4 *slot,undefined4 image) - -{ - *slot = image; - *(undefined2 *)(slot + 1) = 0; - return; -} - - - -void set_ptr_monitor_img_to_obj_ani_slot(undefined4 *param_1,undefined4 param_2) - -{ - undefined4 *image; - - image = &monitor_animation_microcode; - if (true) { - switch(param_2) { - case 1: - image = &DAT_80030c00; - break; - case 2: - image = &DAT_80030e24; - break; - case 3: - image = &dword_80030F44; - break; - case 4: - image = &dword_80031018; - break; - case 5: - image = &dword_80031074; - break; - case 6: - image = &dword_800310F0; - break; - case 7: - image = &dword_8003118C; - break; - case 8: - image = &dword_8003121C; - break; - case 9: - image = &dword_80031248; - break; - case 10: - image = &dword_80031274; - break; - case 0xb: - image = &DAT_800312f4; - break; - case 0xc: - image = &DAT_80031310; - break; - case 0xd: - image = &dword_80031490; - break; - case 0xe: - image = &dword_800314F8; - break; - case 0xf: - image = &DAT_80030ec8; - break; - case 0x10: - image = &DAT_80031360; - break; - case 0x11: - image = &dword_8003156C; - break; - case 0x12: - image = &DAT_800315cc; - break; - case 0x13: - image = &DAT_80031848; - break; - case 0x14: - image = &dword_80031898; - break; - case 0x15: - image = &stru_800318B8; - break; - case 0x16: - image = &stru_8003191C; - break; - case 0x17: - image = &stru_80031950; - break; - case 0x18: - image = &stru_800319D4; - break; - case 0x19: - image = &stru_800319F0; - break; - case 0x1a: - image = &stru_80031A0C; - break; - case 0x1b: - image = &stru_80031A28; - break; - case 0x1c: - image = &stru_80031A44; - break; - case 0x1d: - image = &stru_80031A60; - break; - case 0x1e: - image = &stru_80031A7C; - break; - case 0x1f: - image = &stru_80031A98; - break; - case 0x20: - image = &stru_80031AB4; - break; - case 0x21: - image = &stru_80031AD0; - break; - case 0x22: - image = &stru_80031AEC; - break; - case 0x23: - image = (undefined4 *)&stru_80031B24; - break; - case 0x24: - image = (undefined4 *)&stru_80031B38; - break; - case 0x25: - image = (undefined4 *)&stru_80031B4C; - break; - case 0x26: - image = (undefined4 *)&dword_80031B60; - break; - case 0x27: - image = &stru_80031BB4; - break; - case 0x28: - image = (undefined4 *)&stru_80031BD0; - break; - case 0x29: - image = (undefined4 *)&stru_80031BEC; - break; - case 0x2a: - image = &stru_80031C08; - break; - case 0x2b: - image = (undefined4 *)&stru_80031C80; - break; - case 0x2c: - image = (undefined4 *)&dword_80031D30; - break; - case 0x2d: - image = (undefined4 *)&dword_80031D58; - break; - case 0x2e: - image = (undefined4 *)&dword_80031DA8; - break; - case 0x2f: - image = &dword_80031DF4; - break; - case 0x30: - image = &dword_80031E40; - break; - case 0x31: - image = &dword_80031E78; - break; - case 0x32: - image = &DAT_80031eb0; - break; - case 0x33: - image = &DAT_80031ee8; - } - } - set_ptr_monitor_img_to_obj_ani_slot(param_1,image); - return; -} - - - -void save_img_index_to_obj_ani_slot(int slot,undefined4 index) - -{ - *(undefined4 *)(slot + 8) = index; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -uint * process_monitor_animation_microcode(void) - -{ - undefined uVar1; - ushort uVar2; - int iVar3; - undefined4 uVar4; - int iVar5; - bool bVar6; - uint *puVar7; - uint *puVar8; - uint *puVar9; - undefined4 *in_v0_lo; - undefined4 *puVar10; - u32 uVar11; - undefined4 *puVar12; - int in_a0_lo; - ushort *in_a1_lo; - int *in_a2_lo; - uint *in_a3_lo; - short sVar13; - sImageTableEntry *imgcall; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - uint *puStackX12; - int in_stack_00000010; - int in_stack_00000014; - - puStackX12 = in_a3_lo; - if ((in_a1_lo != NULL) && (puStackX12 = in_a3_lo, (*in_a1_lo & 0xff) == 0x18)) { - puStackX12 = in_a3_lo; - proc_7F0BD6C4(4); - puVar7 = puStackX12; - puStackX12 = puStackX12 + 2; - iVar3 = *(int *)(in_a1_lo + 2); - puVar10 = (undefined4 *)extract_id_from_object_structure_microcode(in_a0_lo,in_a1_lo); - fVar17 = flt_80052C68; - bVar6 = false; - uVar2 = *(ushort *)(in_a2_lo + 1); - while( true ) { - puVar12 = (undefined4 *)(*in_a2_lo + (uint)uVar2 * 4); - switch(*puVar12) { - case 0: - in_a2_lo[0x10] = 0; - in_a2_lo[0x15] = 0; - *(ushort *)(in_a2_lo + 1) = uVar2 + 1; - break; - case 1: - in_a2_lo[0xf] = 0; - fVar20 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - in_a2_lo[0x11] = in_a2_lo[0xe]; - *(float *)(in_a2_lo + 0x10) = 1.00000000 / fVar20; - iVar5 = puVar12[1]; - *(ushort *)(in_a2_lo + 1) = uVar2 + 3; - *(float *)(in_a2_lo + 0x12) = (float)in_a2_lo[0xe] + (float)iVar5 * 0.00097656; - break; - case 2: - in_a2_lo[0x14] = 0; - fVar20 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - in_a2_lo[0x16] = in_a2_lo[0x13]; - *(float *)(in_a2_lo + 0x15) = 1.00000000 / fVar20; - iVar5 = puVar12[1]; - *(ushort *)(in_a2_lo + 1) = uVar2 + 3; - *(float *)(in_a2_lo + 0x17) = (float)in_a2_lo[0x13] + (float)iVar5 * 0.00097656; - break; - case 3: - in_a2_lo[0xf] = 0; - fVar20 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - in_a2_lo[0x11] = in_a2_lo[0xe]; - *(float *)(in_a2_lo + 0x10) = 1.00000000 / fVar20; - iVar5 = puVar12[1]; - *(ushort *)(in_a2_lo + 1) = uVar2 + 3; - *(float *)(in_a2_lo + 0x12) = (float)iVar5 * 0.00097656; - break; - case 4: - in_a2_lo[0x14] = 0; - fVar20 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - in_a2_lo[0x16] = in_a2_lo[0x13]; - *(float *)(in_a2_lo + 0x15) = 1.00000000 / fVar20; - iVar5 = puVar12[1]; - *(ushort *)(in_a2_lo + 1) = uVar2 + 3; - *(float *)(in_a2_lo + 0x17) = (float)iVar5 * 0.00097656; - break; - case 5: - in_a2_lo[5] = 0; - fVar20 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - in_a2_lo[7] = in_a2_lo[4]; - *(float *)(in_a2_lo + 6) = 1.00000000 / fVar20; - iVar5 = puVar12[1]; - *(ushort *)(in_a2_lo + 1) = uVar2 + 3; - *(float *)(in_a2_lo + 8) = (float)iVar5 * 0.00097656; - break; - case 6: - in_a2_lo[10] = 0; - fVar20 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - in_a2_lo[0xc] = in_a2_lo[9]; - *(float *)(in_a2_lo + 0xb) = 1.00000000 / fVar20; - iVar5 = puVar12[1]; - *(ushort *)(in_a2_lo + 1) = uVar2 + 3; - *(float *)(in_a2_lo + 0xd) = (float)iVar5 * 0.00097656; - break; - case 7: - save_img_index_to_obj_ani_slot((int)in_a2_lo,puVar12[1]); - *(short *)(in_a2_lo + 1) = *(short *)(in_a2_lo + 1) + 2; - break; - case 8: - if (*(short *)((int)in_a2_lo + 6) < 0) { - bVar6 = true; - *(undefined2 *)((int)in_a2_lo + 6) = (short)puVar12[1]; - } - else { - *(short *)((int)in_a2_lo + 6) = - *(short *)((int)in_a2_lo + 6) - (short)clock_timer; - if (*(short *)((int)in_a2_lo + 6) < 0) { - *(short *)(in_a2_lo + 1) = *(short *)(in_a2_lo + 1) + 2; - } - else { - bVar6 = true; - } - } - break; - case 9: - set_ptr_monitor_img_to_obj_ani_slot(in_a2_lo,puVar12[1]); - break; - case 10: - uVar11 = get_random_value(); - if (uVar11 >> 0x10 < (uint)puVar12[2]) { - set_ptr_monitor_img_to_obj_ani_slot(in_a2_lo,puVar12[1]); - } - else { - *(short *)(in_a2_lo + 1) = *(short *)(in_a2_lo + 1) + 3; - } - break; - case 0xb: - *(undefined2 *)(in_a2_lo + 1) = 0; - break; - case 0xc: - bVar6 = true; - break; - case 0xd: - in_a2_lo[0x1b] = 0; - fVar20 = (float)puVar12[2]; - if ((int)puVar12[2] < 0) { - fVar20 = fVar20 + 4294967296.00000000; - } - *(undefined *)((int)in_a2_lo + 0x61) = *(undefined *)(in_a2_lo + 0x18); - *(float *)(in_a2_lo + 0x1c) = 1.00000000 / fVar20; - uVar4 = puVar12[1]; - *(undefined *)(in_a2_lo + 0x19) = *(undefined *)((int)in_a2_lo + 99); - *(undefined *)((int)in_a2_lo + 0x62) = (char)((uint)uVar4 >> 0x18); - uVar4 = puVar12[1]; - *(undefined *)((int)in_a2_lo + 0x67) = *(undefined *)((int)in_a2_lo + 0x66); - *(undefined *)((int)in_a2_lo + 0x65) = (char)((uint)uVar4 >> 0x10); - uVar4 = puVar12[1]; - *(undefined *)((int)in_a2_lo + 0x6a) = *(undefined *)((int)in_a2_lo + 0x69); - *(char *)(in_a2_lo + 0x1a) = (char)((uint)uVar4 >> 8); - uVar4 = puVar12[1]; - *(ushort *)(in_a2_lo + 1) = uVar2 + 3; - *(undefined *)((int)in_a2_lo + 0x6b) = (char)uVar4; - break; - case 0xe: - iVar5 = puVar12[1]; - *(ushort *)(in_a2_lo + 1) = uVar2 + 2; - *(float *)(in_a2_lo + 3) = ((float)iVar5 * fVar17) / 65536.00000000; - break; - case 0xf: - *(float *)(in_a2_lo + 3) = - (float)in_a2_lo[3] + - (global_timer_delta * (float)puVar12[1] * fVar17) / 65536.00000000; - fVar20 = (float)in_a2_lo[3]; - if (fVar17 <= fVar20) { - *(float *)(in_a2_lo + 3) = fVar20 - fVar17; - fVar20 = (float)in_a2_lo[3]; - } - if (fVar20 < 0.00000000) { - *(float *)(in_a2_lo + 3) = fVar20 + fVar17; - sVar13 = *(short *)(in_a2_lo + 1); - } - else { - sVar13 = *(short *)(in_a2_lo + 1); - } - *(short *)(in_a2_lo + 1) = sVar13 + 2; - } - if (bVar6) break; - uVar2 = *(ushort *)(in_a2_lo + 1); - } - if (0.00000000 < (float)in_a2_lo[6]) { - *(float *)(in_a2_lo + 5) = (float)in_a2_lo[5] + (float)in_a2_lo[6] * global_timer_delta; - if ((float)in_a2_lo[5] < 1.00000000) { - *(float *)(in_a2_lo + 4) = - (float)in_a2_lo[7] + - ((float)in_a2_lo[8] - (float)in_a2_lo[7]) * (float)in_a2_lo[5]; - } - else { - in_a2_lo[5] = 0x3f800000; - in_a2_lo[6] = 0; - in_a2_lo[4] = in_a2_lo[8]; - } - } - if (0.00000000 < (float)in_a2_lo[0xb]) { - *(float *)(in_a2_lo + 10) = - (float)in_a2_lo[10] + (float)in_a2_lo[0xb] * global_timer_delta; - if ((float)in_a2_lo[10] < 1.00000000) { - *(float *)(in_a2_lo + 9) = - (float)in_a2_lo[0xc] + - ((float)in_a2_lo[0xd] - (float)in_a2_lo[0xc]) * (float)in_a2_lo[10]; - } - else { - in_a2_lo[10] = 0x3f800000; - in_a2_lo[0xb] = 0; - in_a2_lo[9] = in_a2_lo[0xd]; - } - fVar17 = (float)in_a2_lo[0x10]; - } - else { - fVar17 = (float)in_a2_lo[0x10]; - } - if (0.00000000 < fVar17) { - *(float *)(in_a2_lo + 0xf) = (float)in_a2_lo[0xf] + fVar17 * global_timer_delta; - if ((float)in_a2_lo[0xf] < 1.00000000) { - *(float *)(in_a2_lo + 0xe) = - (float)in_a2_lo[0x11] + - ((float)in_a2_lo[0x12] - (float)in_a2_lo[0x11]) * (float)in_a2_lo[0xf]; - } - else { - in_a2_lo[0xf] = 0x3f800000; - in_a2_lo[0x10] = 0; - in_a2_lo[0xe] = in_a2_lo[0x12]; - } - fVar17 = (float)in_a2_lo[0x15]; - } - else { - fVar17 = (float)in_a2_lo[0x15]; - } - if (0.00000000 < fVar17) { - *(float *)(in_a2_lo + 0x14) = (float)in_a2_lo[0x14] + fVar17 * global_timer_delta; - if ((float)in_a2_lo[0x14] < 1.00000000) { - *(float *)(in_a2_lo + 0x13) = - (float)in_a2_lo[0x16] + - ((float)in_a2_lo[0x17] - (float)in_a2_lo[0x16]) * (float)in_a2_lo[0x14]; - } - else { - in_a2_lo[0x14] = 0x3f800000; - in_a2_lo[0x15] = 0; - in_a2_lo[0x13] = in_a2_lo[0x17]; - } - fVar17 = (float)in_a2_lo[0x1c]; - } - else { - fVar17 = (float)in_a2_lo[0x1c]; - } - if (0.00000000 < fVar17) { - *(float *)(in_a2_lo + 0x1b) = (float)in_a2_lo[0x1b] + fVar17 * global_timer_delta; - fVar17 = (float)in_a2_lo[0x1b]; - if (fVar17 < 1.00000000) { - *(byte *)(in_a2_lo + 0x18) = - *(byte *)((int)in_a2_lo + 0x61) + - (char)(int)((float)((uint)*(byte *)((int)in_a2_lo + 0x62) - - (uint)*(byte *)((int)in_a2_lo + 0x61)) * fVar17); - *(char *)((int)in_a2_lo + 99) = - *(byte *)(in_a2_lo + 0x19) + - (char)(int)((float)((uint)*(byte *)((int)in_a2_lo + 0x65) - - (uint)*(byte *)(in_a2_lo + 0x19)) * fVar17); - *(char *)((int)in_a2_lo + 0x66) = - *(byte *)((int)in_a2_lo + 0x67) + - (char)(int)((float)((uint)*(byte *)(in_a2_lo + 0x1a) - - (uint)*(byte *)((int)in_a2_lo + 0x67)) * fVar17); - *(char *)((int)in_a2_lo + 0x69) = - *(byte *)((int)in_a2_lo + 0x6a) + - (char)(int)((float)((uint)*(byte *)((int)in_a2_lo + 0x6b) - - (uint)*(byte *)((int)in_a2_lo + 0x6a)) * fVar17); - } - else { - in_a2_lo[0x1b] = 0x3f800000; - in_a2_lo[0x1c] = 0; - *(undefined *)(in_a2_lo + 0x18) = *(undefined *)((int)in_a2_lo + 0x62); - *(undefined *)((int)in_a2_lo + 99) = *(undefined *)((int)in_a2_lo + 0x65); - *(undefined *)((int)in_a2_lo + 0x66) = *(undefined *)(in_a2_lo + 0x1a); - *(undefined *)((int)in_a2_lo + 0x69) = *(undefined *)((int)in_a2_lo + 0x6b); - } - } - *(undefined4 **)puVar10 = in_v0_lo; - *(uint **)(puVar10 + 1) = puStackX12; - puVar10 = *(undefined4 **)(iVar3 + 8); - *in_v0_lo = *puVar10; - in_v0_lo[1] = puVar10[1]; - in_v0_lo[2] = puVar10[2]; - in_v0_lo[3] = puVar10[3]; - iVar5 = *(int *)(iVar3 + 8); - in_v0_lo[4] = *(undefined4 *)(iVar5 + 0x10); - in_v0_lo[5] = *(undefined4 *)(iVar5 + 0x14); - in_v0_lo[6] = *(undefined4 *)(iVar5 + 0x18); - in_v0_lo[7] = *(undefined4 *)(iVar5 + 0x1c); - iVar5 = *(int *)(iVar3 + 8); - in_v0_lo[8] = *(undefined4 *)(iVar5 + 0x20); - in_v0_lo[9] = *(undefined4 *)(iVar5 + 0x24); - in_v0_lo[10] = *(undefined4 *)(iVar5 + 0x28); - in_v0_lo[0xb] = *(undefined4 *)(iVar5 + 0x2c); - iVar3 = *(int *)(iVar3 + 8); - in_v0_lo[0xc] = *(undefined4 *)(iVar3 + 0x30); - in_v0_lo[0xd] = *(undefined4 *)(iVar3 + 0x34); - in_v0_lo[0xe] = *(undefined4 *)(iVar3 + 0x38); - in_v0_lo[0xf] = *(undefined4 *)(iVar3 + 0x3c); - imgcall = (sImageTableEntry *)in_a2_lo[2]; - if (imgcall < (sImageTableEntry *)&UNK_00000064) { - imgcall = monitorimages + (int)imgcall; - } - if (imgcall != NULL) { - fVar18 = (float)in_a2_lo[4] * 0.50000000; - fVar19 = (float)in_a2_lo[9] * 0.50000000; - fVar17 = fVar18; - fVar20 = fVar19; - if ((float)in_a2_lo[3] != 0.00000000) { - fVar14 = cosf((float)in_a2_lo[3]); - fVar16 = flt_80052CB0; - fVar14 = fVar14 * flt_80052CB0; - fVar15 = sinf((float)in_a2_lo[3]); - fVar17 = fVar18 * fVar14; - fVar20 = fVar19 * fVar15 * fVar16; - fVar18 = fVar18 * fVar15 * fVar16; - fVar19 = fVar19 * fVar14; - } - fVar16 = (float)(uint)imgcall->width; - if (false) { - fVar16 = fVar16 + 4294967296.00000000; - } - *(short *)(in_v0_lo + 2) = - (short)(int)(fVar16 * ((float)in_a2_lo[0xe] + fVar17) * 32.00000000); - fVar16 = (float)(uint)imgcall->height; - if (false) { - fVar16 = fVar16 + 4294967296.00000000; - } - *(undefined2 *)((int)in_v0_lo + 10) = - (short)(int)(fVar16 * ((float)in_a2_lo[0x13] + fVar20) * 32.00000000); - fVar16 = (float)(uint)imgcall->width; - if (false) { - fVar16 = fVar16 + 4294967296.00000000; - } - *(short *)(in_v0_lo + 6) = - (short)(int)(fVar16 * ((float)in_a2_lo[0xe] - fVar18) * 32.00000000); - fVar16 = (float)(uint)imgcall->height; - if (false) { - fVar16 = fVar16 + 4294967296.00000000; - } - *(undefined2 *)((int)in_v0_lo + 0x1a) = - (short)(int)(fVar16 * ((float)in_a2_lo[0x13] + fVar19) * 32.00000000); - fVar16 = (float)(uint)imgcall->width; - if (false) { - fVar16 = fVar16 + 4294967296.00000000; - } - *(short *)(in_v0_lo + 10) = - (short)(int)(fVar16 * ((float)in_a2_lo[0xe] - fVar17) * 32.00000000); - fVar17 = (float)(uint)imgcall->height; - if (false) { - fVar17 = fVar17 + 4294967296.00000000; - } - *(undefined2 *)((int)in_v0_lo + 0x2a) = - (short)(int)(fVar17 * ((float)in_a2_lo[0x13] - fVar20) * 32.00000000); - fVar17 = (float)(uint)imgcall->width; - if (false) { - fVar17 = fVar17 + 4294967296.00000000; - } - *(short *)(in_v0_lo + 0xe) = - (short)(int)(fVar17 * ((float)in_a2_lo[0xe] + fVar18) * 32.00000000); - fVar17 = (float)(uint)imgcall->height; - if (false) { - fVar17 = fVar17 + 4294967296.00000000; - } - *(undefined2 *)((int)in_v0_lo + 0x3a) = - (short)(int)(fVar17 * ((float)in_a2_lo[0x13] - fVar19) * 32.00000000); - } - uVar1 = *(undefined *)(in_a2_lo + 0x18); - *(undefined *)(in_v0_lo + 0xf) = uVar1; - *(undefined *)(in_v0_lo + 0xb) = uVar1; - *(undefined *)(in_v0_lo + 7) = uVar1; - *(undefined *)(in_v0_lo + 3) = uVar1; - uVar1 = *(undefined *)((int)in_a2_lo + 99); - *(undefined *)((int)in_v0_lo + 0x3d) = uVar1; - *(undefined *)((int)in_v0_lo + 0x2d) = uVar1; - *(undefined *)((int)in_v0_lo + 0x1d) = uVar1; - *(undefined *)((int)in_v0_lo + 0xd) = uVar1; - uVar1 = *(undefined *)((int)in_a2_lo + 0x66); - *(undefined *)((int)in_v0_lo + 0x3e) = uVar1; - *(undefined *)((int)in_v0_lo + 0x2e) = uVar1; - *(undefined *)((int)in_v0_lo + 0x1e) = uVar1; - *(undefined *)((int)in_v0_lo + 0xe) = uVar1; - uVar1 = *(undefined *)((int)in_a2_lo + 0x69); - *(undefined *)((int)in_v0_lo + 0x3f) = uVar1; - *(undefined *)((int)in_v0_lo + 0x2f) = uVar1; - *(undefined *)((int)in_v0_lo + 0x1f) = uVar1; - *(undefined *)((int)in_v0_lo + 0xf) = uVar1; - if (*(char *)((int)in_a2_lo + 0x69) != -1) { - in_stack_00000014 = 2; - } - puStackX12[1] = 0x2000; - *puStackX12 = 0xb7000000; - puStackX12 = puStackX12 + 2; - append_image_to_DL(&puStackX12,imgcall,in_stack_00000014,(longlong)in_stack_00000010,2); - puVar8 = puStackX12; - *puStackX12 = 0x1020040; - puStackX12 = puStackX12 + 2; - uVar11 = osVirtualToPhysical(*(void **)(in_a0_lo + 0xc)); - puVar9 = puStackX12; - puVar8[1] = uVar11; - *puStackX12 = 0xbc001006; - puStackX12 = puStackX12 + 2; - uVar11 = osVirtualToPhysical(in_v0_lo); - puVar9[1] = uVar11; - puStackX12[1] = 0x4000000; - *puStackX12 = 0x4300040; - puStackX12[3] = 0x2010; - puStackX12[2] = 0xb1000032; - puStackX12[5] = 0; - puStackX12[4] = 0xb8000000; - *puVar7 = 0x6010000; - *(uint **)(puVar7 + 1) = puStackX12 + 6; - puStackX12 = puStackX12 + 6; - } - return puStackX12; -} - - - -void proc_7F04AC20(int param_1,int param_2,uint param_3) - -{ - int param_1_00; - uint uVar1; - uint uVar2; - bool bVar3; - bool bVar4; - int iVar5; - ushort *puVar6; - undefined4 uVar7; - undefined4 *puVar8; - char cVar9; - uint uVar10; - uint extraout_a2_lo; - uint extraout_a2_lo_00; - uint extraout_a2_lo_01; - uint extraout_a2_lo_02; - uint extraout_a2_lo_03; - uint extraout_a2_lo_04; - uint uVar11; - undefined4 *puVar12; - - if ((*(byte *)(param_1 + 1) & 2) != 0) { - param_1_00 = *(int *)(param_1 + 4); - uVar1 = *(uint *)(param_1_00 + 0x14); - bVar3 = (*(uint *)(param_1_00 + 8) & 0x200) != 0; - uVar11 = param_3; - if (bVar3) { - iVar5 = get_BONDdata_field_10E0(); - bVar3 = iVar5 != 0; - uVar11 = extraout_a2_lo; - } - puVar12 = *(undefined4 **)(param_2 + 0xc); - cVar9 = *(char *)(param_1_00 + 3); - if (cVar9 == '\n') { - if ((*(uint *)(param_2 + 8) & 1) != 0) { - puVar12 = (undefined4 *)process_monitor_animation_microcode(); - cVar9 = *(char *)(param_1_00 + 3); - uVar11 = extraout_a2_lo_00; - } - } - else { - if ((cVar9 == '\v') && ((*(uint *)(param_2 + 8) & 1) != 0)) { - process_monitor_animation_microcode(); - process_monitor_animation_microcode(); - process_monitor_animation_microcode(); - puVar12 = (undefined4 *)process_monitor_animation_microcode(); - cVar9 = *(char *)(param_1_00 + 3); - uVar11 = extraout_a2_lo_01; - } - } - if (cVar9 == '\x01') { - iVar5 = *(int *)(param_1 + 4); - puVar12[1] = 0x3000; - *puVar12 = 0xb6000000; - puVar12 = puVar12 + 2; - if ((*(ushort *)(iVar5 + 0x98) & 8) == 0) { - *(undefined4 *)(param_2 + 0x3c) = 3; - } - else { - *(undefined4 *)(param_2 + 0x3c) = 2; - } - if (*(int *)(param_2 + 0x30) == 9) { - *(uint *)(param_2 + 0x34) = *(uint *)(param_2 + 0x34) & 0xffffff00; - } - } - else { - puVar6 = proc_7F04B478(param_1_00); - bVar4 = false; - if (((puVar6 != NULL) && (iVar5 = *(int *)(puVar6 + 2), bVar4 = false, iVar5 != 0)) && - (*(int *)(iVar5 + 8) != - *(int *)(*(int *)(*(int *)(param_1_00 + 0x14) + 0x10) + - (uint)*(ushort *)(iVar5 + 0x1a) * 4))) { - bVar4 = true; - } - iVar5 = do_something_if_object_destroyed(param_1_00); - if ((iVar5 == 0) || (!bVar4)) { - *(undefined4 *)(param_2 + 0x3c) = 3; - uVar11 = extraout_a2_lo_02; - if (*(int *)(param_2 + 0x30) == 9) { - *(uint *)(param_2 + 0x34) = *(uint *)(param_2 + 0x34) & 0xffffff00; - } - } - else { - iVar5 = do_something_if_object_destroyed(param_1_00); - *(undefined4 *)(param_2 + 0x3c) = 1; - uVar11 = extraout_a2_lo_03; - if (*(int *)(param_2 + 0x30) == 9) { - uVar10 = iVar5 * 0x32 + 100; - if ((int)uVar10 < 0x100) { - uVar2 = *(uint *)(param_2 + 0x34); - } - else { - uVar10 = 0xff; - uVar2 = *(uint *)(param_2 + 0x34); - } - *(uint *)(param_2 + 0x34) = uVar2 & 0xffffff00; - *(uint *)(param_2 + 0x34) = uVar2 & 0xffffff00 | uVar10; - } - else { - if (0 < iVar5) { - *(uint *)(param_2 + 0x34) = *(uint *)(param_2 + 0x34) | 0xff00; - } - } - } - } - puVar8 = puVar12; - if (bVar3) { - puVar8 = puVar12 + 2; - *puVar12 = 0x1030040; - uVar7 = get_BONDdata_field_10E0(); - puVar12[1] = uVar7; - uVar11 = extraout_a2_lo_04; - } - *(undefined4 **)(param_2 + 0xc) = puVar8; - subdraw(param_2,uVar1,uVar11,puVar8); - puVar12 = *(undefined4 **)(param_2 + 0xc); - puVar8 = puVar12; - if (*(char *)(param_1_00 + 3) == '\x01') { - puVar8 = puVar12 + 2; - *puVar12 = 0xb6000000; - puVar12[1] = 0x3000; - } - if (((ulonglong)*(byte *)(param_1_00 + 2) & (longlong)(1 << (param_3 & 0x1f))) != 0) { - puVar8 = proc_7F0A1A94(puVar8,param_1,param_3); - } - puVar12 = puVar8; - if (bVar3) { - puVar12 = puVar8 + 2; - *puVar8 = 0x1030040; - uVar7 = get_BONDdata_field_10D8(); - puVar8[1] = uVar7; - } - *(undefined4 **)(param_2 + 0xc) = puVar12; - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - proc_7F04AC20(param_1_00,param_2,param_3); - param_1_00 = *(int *)(param_1_00 + 0x24); - } - if (param_3 != 0) { - if (bVar3) { - proc_7F08BEEC(*(float **)(uVar1 + 0xc),(int)*(short *)(*(int *)(uVar1 + 8) + 0xe)); - } - else { - proc_7F08BD48(*(undefined4 **)(uVar1 + 0xc), - (int)*(short *)(*(int *)(uVar1 + 8) + 0xe)); - } - } - } - return; -} - - - -longlong proc_7F04B150(char *param_1,uint *param_2,uint param_3) - -{ - short sVar1; - int iVar2; - longlong lVar3; - int iVar4; - int iVar5; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - float fVar10; - float extraout_f12; - float extraout_f14; - int iStack132; - int iStack120; - int iStack116; - int iStack112; - uint uStack108; - float fStack104; - float fStack100; - undefined4 uStack88; - uint uStack84; - undefined4 uStack80; - uint *puStack76; - undefined4 uStack40; - int iStack36; - uint uStack32; - int iStack20; - float afStack16 [4]; - - iVar2 = *(int *)(param_1 + 4); - puVar8 = &DAT_80031fd0; - puVar6 = &uStack88; - do { - puVar9 = puVar8 + 3; - puVar7 = puVar6 + 3; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar8 = puVar9; - puVar6 = puVar7; - } while (puVar9 != (undefined4 *)0x8003200c); - *puVar7 = uRam8003200c; - iStack132 = 0xff; - lVar3 = if_sky_present_convert_values((int)param_1,afStack16); - iStack20 = (int)lVar3; - if (lVar3 == 0) { - lVar3 = (longlong)(int)param_2; - } - else { - if (*(char *)(iVar2 + 3) != '/') { - fVar10 = getinstsize(*(int *)(iVar2 + 0x14),extraout_a1_lo,extraout_a2_lo,extraout_a3_lo - ); - proc_7F054B80((int)param_1); - sVar1 = *(short *)(param_1 + 2); - if ((0 < sVar1) && (sVar1 < 0x3c)) { - fVar10 = fVar10 * ((60.00000000 - (float)(int)sVar1) / 60.00000000); - } - iStack132 = (int)(fVar10 * 255.00000000); - if (iStack132 < 1) { - return (longlong)(int)param_2; - } - } - if ((iStack132 < 0xff) || (*(int *)(iVar2 + 0xc) << 0xf < 0)) { - if (param_3 == 0) { - return (longlong)(int)param_2; - } - uStack80 = 3; - } - else { - uStack80 = 2; - if (param_3 == 0) { - uStack80 = 1; - } - } - lVar3 = proc_7F054A64(param_1,&fStack104); - if ((lVar3 < 1) || (*(int *)(iVar2 + 0xc) << 5 < 0)) { - puStack76 = proc_7F0B4FB4(param_2); - } - else { - puStack76 = proc_7F0B4FF4(param_2,extraout_f12,extraout_f14,fStack104,fStack100); - } - uStack84 = (uint)((*(uint *)(iVar2 + 0xc) & 0x10000) == 0); - if (iStack132 < 0xff) { - uStack40 = 5; - iStack36 = iStack132; - } - else { - uStack40 = 9; - if (*(char *)(iVar2 + 3) == '/') { - iStack36 = *(int *)(iVar2 + 0x88) << 8; - } - else { - if (*(char *)(iVar2 + 3) == '\x01') { - if ((*(ushort *)(iVar2 + 0x98) & 2) == 0) { - iStack36 = 0; - } - else { - iStack36 = (int)*(short *)(iVar2 + 0xbe) << 8; - } - } - else { - iStack36 = 0; - } - } - } - iVar4 = proc_7F03FF60(iVar2); - iVar5 = iVar4 * -0x15 + 0xff; - if (iVar5 < 0) { - iVar5 = 0; - } - iStack120 = (int)((uint)*(byte *)(iVar2 + 0x78) * iVar5) >> 8; - iStack116 = (int)((uint)*(byte *)(iVar2 + 0x79) * iVar5) >> 8; - iStack112 = (int)((uint)*(byte *)(iVar2 + 0x7a) * iVar5) >> 8; - uStack108 = (uint)*(byte *)(iVar2 + 0x7b) + iVar4 * 0xf; - if (0xff < (int)uStack108) { - uStack108 = 0xff; - } - proc_7F040384(&iStack120,(longlong)iStack20,afStack16); - uStack32 = uStack108 | iStack120 << 0x18 | iStack116 << 0x10 | iStack112 << 8; - proc_7F04AC20((int)param_1,(int)&uStack88,param_3); - lVar3 = (longlong)(int)puStack76; - } - return lVar3; -} - - - -ushort * proc_7F04B478(int param_1) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - - puVar2 = **(ushort ***)(*(int *)(param_1 + 0x14) + 8); - if (puVar2 != NULL) { - uVar1 = *puVar2; - while( true ) { - uVar1 &= 0xff; - if (uVar1 == 8) { - proc_7F06E970(*(int *)(param_1 + 0x14),puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - if (uVar1 == 0x12) { - process_12_handle_switch(*(int *)(param_1 + 0x14),puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - if (uVar1 == 0x17) { - process_17_pointer_to_head(*(int *)(param_1 + 0x14),puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - if (uVar1 == 0x18) { - return puVar2; - } - puVar3 = *(ushort **)(puVar2 + 10); - } - } - } - if ((puVar3 == NULL) && (puVar3 = puVar2, puVar2 != NULL)) { - puVar3 = *(ushort **)(puVar2 + 6); - while ((puVar3 == NULL && - (puVar2 = *(ushort **)(puVar2 + 4), puVar3 = puVar2, puVar2 != NULL))) { - puVar3 = *(ushort **)(puVar2 + 6); - } - } - if (puVar3 == NULL) break; - uVar1 = *puVar3; - puVar2 = puVar3; - } - } - return NULL; -} - - - -undefined8 proc_7F04B590(int param_1,int param_2) - -{ - int *piVar1; - - if ((*(item_related **)(param_1 + 4) == &prop_console_one_screen_related) && - (param_2 == **(int **)(param_1 + 8))) { - return 0; - } - if ((*(item_related **)(param_1 + 4) == &prop_console_four_screen_related) && - ((((piVar1 = *(int **)(param_1 + 8), param_2 == *piVar1 || (param_2 == piVar1[1])) || - (param_2 == piVar1[2])) || (param_2 == piVar1[3])))) { - return 0; - } - return 1; -} - - - -void proc_7F04B610(int param_1,int param_2) - -{ - bool bVar1; - short sVar2; - ushort uVar3; - int iVar4; - bool bVar5; - ushort *puVar8; - longlong lVar6; - u32 uVar9; - int iVar10; - undefined4 *puVar11; - longlong lVar7; - int iVar12; - short *psVar13; - uint uVar14; - undefined4 *puVar15; - undefined4 *puVar16; - uint uVar17; - int iVar18; - int iVar19; - uint *puVar20; - longlong lVar21; - longlong lVar22; - float fVar23; - float fVar24; - float fVar25; - int iStack88; - float fStack48; - u32 uStack32; - - iVar18 = *(int *)(param_1 + 0x14); - lVar21 = 99999; - iVar12 = -99999; - puVar8 = proc_7F04B478(param_1); - if (((puVar8 != NULL) && (iVar4 = *(int *)(puVar8 + 2), iVar4 != 0)) && - (lVar6 = proc_7F04B590(*(int *)(*(int *)(param_1 + 0x14) + 8),(int)puVar8), lVar6 != 0)) { - puVar20 = (uint *)(*(int *)(iVar18 + 0x10) + (uint)*(ushort *)(iVar4 + 0x1a) * 4); - uVar9 = get_random_value(); - if ((uVar9 & 1) == 0) { - uVar3 = *(ushort *) - ((int)object_explosion_details + - (int)*(short *)(param_1 + 4) * 0xe + param_2 * 2 + 8); - } - else { - uVar3 = *(ushort *) - ((int)object_explosion_details + - (int)*(short *)(param_1 + 4) * 0xe + param_2 * 2 + 2); - } - uStack32 = (u32)uVar3; - iStack88 = param_2 * 2; - iVar10 = get_debug_explosioninfo_flag(); - if ((iVar10 != 0) || (uVar3 == 0)) { - get_debug_explosioninfo_flag(); - uStack32 = get_random_value(); - iVar10 = get_debug_explosioninfo_flag(); - if (iVar10 != 0) { - uStack32 &= 0xffff; - } - } - proc_7F0A0D90(*(int *)(param_1 + 0x10)); - bVar1 = *(short *)(param_1 + 4) == 0x4c; - iVar10 = do_something_if_object_destroyed(param_1); - puVar11 = (undefined4 *) - proc_7F09BE4C((longlong)*(short *)(iVar4 + 0xc),0xb0b,*(int *)(iVar18 + 8),iVar10) - ; - if (puVar11 == NULL) { - if (*(uint *)(iVar4 + 8) != *puVar20) { - proc_7F09C044(*puVar20); - *puVar20 = *(uint *)(iVar4 + 8); - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) | 4; - } - fVar23 = flt_80052CB4; - fVar24 = *(float *)(param_1 + 0x2c) * flt_80052CB4; - fVar25 = *(float *)(param_1 + 0x30) * flt_80052CB4; - *(float *)(param_1 + 0x28) = *(float *)(param_1 + 0x28) * flt_80052CB4; - *(float *)(param_1 + 0x2c) = fVar24; - *(float *)(param_1 + 0x30) = fVar25; - if (!bVar1) { - fVar24 = *(float *)(*(int *)(param_1 + 0x14) + 0x14); - iVar18 = proc_7F03FFF8(*(int **)(*(int *)(param_1 + 0x14) + 8)); - proc_7F03E864(iVar18); - *(float *)(*(int *)(param_1 + 0x10) + 0xc) = - *(float *)(*(int *)(param_1 + 0x10) + 0xc) + fVar24 * fVar23 * flt_80052CB8; - proc_7F03E864(iVar18); - *(float *)(param_1 + 0x5c) = - *(float *)(param_1 + 0x5c) + fVar24 * fVar23 * flt_80052CBC; - } - } - else { - uVar17 = *puVar20; - if (*(uint *)(iVar4 + 8) == uVar17) { - lVar6 = 0; - iVar18 = 0; - if (0 < *(short *)(iVar4 + 0xc)) { - iVar10 = *(int *)(iVar4 + 8); - puVar15 = puVar11; - while( true ) { - lVar6 = (longlong)((int)lVar6 + 1); - puVar16 = (undefined4 *)(iVar10 + iVar18); - iVar18 += 0x10; - *puVar15 = *puVar16; - puVar15[1] = puVar16[1]; - puVar15[2] = puVar16[2]; - puVar15[3] = puVar16[3]; - if (*(short *)(iVar4 + 0xc) <= lVar6) break; - iVar10 = *(int *)(iVar4 + 8); - puVar15 = puVar15 + 4; - } - } - } - else { - lVar6 = 0; - iVar18 = 0; - if (0 < *(short *)(iVar4 + 0xc)) { - uVar17 = *puVar20; - puVar15 = puVar11; - while( true ) { - lVar6 = (longlong)((int)lVar6 + 1); - puVar16 = (undefined4 *)(uVar17 + iVar18); - iVar18 += 0x10; - *puVar15 = *puVar16; - puVar15[1] = puVar16[1]; - puVar15[2] = puVar16[2]; - puVar15[3] = puVar16[3]; - if (*(short *)(iVar4 + 0xc) <= lVar6) break; - uVar17 = *puVar20; - puVar15 = puVar15 + 4; - } - uVar17 = *puVar20; - } - proc_7F09C044(uVar17); - } - *(undefined4 **)puVar20 = puVar11; - sVar2 = *(short *)(param_1 + 4); - iVar18 = 0; - if (((sVar2 == 0x26) || (sVar2 == 0x27)) || (sVar2 == 0x55)) { - bVar5 = false; - } - else { - bVar5 = true; - } - sVar2 = *(short *)(iVar4 + 0xc); - if (0 < sVar2) { - uVar17 = *puVar20; - lVar6 = -99999; - lVar22 = lVar21; - do { - lVar7 = (longlong)*(short *)(uVar17 + 2); - iVar18 += 0x10; - lVar21 = lVar7; - if (lVar22 <= lVar7) { - lVar21 = lVar22; - } - if (lVar7 <= lVar6) { - lVar7 = lVar6; - } - iVar12 = (int)lVar7; - uVar17 += 0x10; - lVar6 = lVar7; - lVar22 = lVar21; - } while (iVar18 < (int)sVar2 << 4); - } - lVar6 = 0; - iVar10 = (int)lVar21; - iVar18 = iVar10 + iVar12 >> 1; - if ((iStack88 == 6) && (0x28 < iVar18 - iVar10)) { - iVar18 = iVar10 + 0x28; - } - iVar12 -= iVar10; - if (iVar12 < 0x3d) { - fStack48 = 1.00000000; - } - else { - if (iStack88 < 6) { - fStack48 = flt_80052CC0; - } - else { - fStack48 = (float)(iVar12 + -0x3c) / (float)iVar12; - } - } - if (0 < sVar2) { - iVar19 = 0; - iVar12 = *(int *)(iVar4 + 8); - do { - psVar13 = (short *)(iVar12 + iVar19); - proc_7F09B788((longlong) - (int)((int)psVar13[2] + (int)*psVar13 + (int)psVar13[1] + uStack32 - )); - uVar17 = 0; - if (bVar5) { - if (0.00000000 <= *(float *)(param_1 + 0x2c)) { - if ((longlong)*(short *)(*puVar20 + iVar19 + 2) < (longlong)iVar18) { - if (bVar1) { - uVar17 = 0x5a; - } - else { - uVar17 = 0x14; - } - } - else { - if (bVar1) { - uVar17 = 0x14; - } - else { - uVar17 = 0x5a; - } - } - } - else { - if ((longlong)iVar18 < (longlong)*(short *)(*puVar20 + iVar19 + 2)) { - if (bVar1) { - uVar17 = 0x5a; - } - else { - uVar17 = 0x14; - } - } - else { - if (bVar1) { - uVar17 = 0x14; - } - else { - uVar17 = 0x5a; - } - } - } - } - uVar14 = proc_7F09B740(); - if (uVar14 % 100 < uVar17) { - *(undefined *)(*puVar20 + iVar19 + 0xc) = 0; - *(undefined *)(*puVar20 + iVar19 + 0xd) = 0; - *(undefined *)(*puVar20 + iVar19 + 0xe) = 0; - *(undefined *)(*puVar20 + iVar19 + 0xf) = 0xff; -LAB_7f04bbb0: - uVar17 = *puVar20; - } - else { - if (iStack88 == 2) { - *(undefined *)(*puVar20 + iVar19 + 0xf) = 0; - goto LAB_7f04bbb0; - } - uVar17 = *puVar20; - } - *(undefined2 *)(uVar17 + iVar19 + 2) = - (short)(int)((float)(*(short *)(uVar17 + iVar19 + 2) - iVar10) * fStack48 + - (float)iVar10); - uVar17 = proc_7F09B740(); - if (false) { - trap(0x1c00); - } - *(short *)(*puVar20 + iVar19) = - *(short *)(*puVar20 + iVar19) + (short)(uVar17 % 0x50) + -0x28; - uVar17 = proc_7F09B740(); - if (false) { - trap(0x1c00); - } - *(short *)(*puVar20 + iVar19 + 2) = - *(short *)(*puVar20 + iVar19 + 2) + (short)(uVar17 % 0x50) + -0x28; - uVar17 = proc_7F09B740(); - if (false) { - trap(0x1c00); - } - *(short *)(*puVar20 + iVar19 + 4) = - *(short *)(*puVar20 + iVar19 + 4) + (short)(uVar17 % 0x50) + -0x28; - if (*(short *)(*puVar20 + iVar19 + 2) < lVar21) { - *(undefined2 *)(*puVar20 + iVar19 + 2) = (short)lVar21; - sVar2 = *(short *)(iVar4 + 0xc); - } - else { - sVar2 = *(short *)(iVar4 + 0xc); - } - lVar6 = (longlong)((int)lVar6 + 1); - iVar19 += 0x10; - if (sVar2 <= lVar6) { - return; - } - iVar12 = *(int *)(iVar4 + 8); - } while( true ); - } - } - } - return; -} - - - -void proc_7F04BCDC(int param_1,float *param_2) - -{ - u32 uVar1; - float *pfVar2; - uint uVar3; - uint *puVar4; - float fVar5; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack24 = DAT_80032010; - fStack20 = (float)DAT_80032014; - fStack16 = (float)DAT_80032018; - puVar4 = NULL; - proc_7F03FDA8(*(int *)(param_1 + 0x10)); - if ((*(uint *)(param_1 + 100) & 0x40) == 0) { - if ((*(uint *)(param_1 + 100) & 0x80) != 0) { - puVar4 = *(uint **)(param_1 + 0x6c); - } - } - else { - puVar4 = *(uint **)(*(int *)(param_1 + 0x6c) + 0x44); - } - if (puVar4 != NULL) { - uVar1 = get_random_value(); - fVar5 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 1) = fVar5 * 0.00000000 * flt_80052CC4 * 4.00000000 - flt_80052CC8; - uVar1 = get_random_value(); - fVar5 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * flt_80052CCC; - *(float *)(puVar4 + 2) = fVar5 + fVar5 + flt_80052CD0; - uVar1 = get_random_value(); - fVar5 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 3) = fVar5 * 0.00000000 * flt_80052CD4 * 4.00000000 - flt_80052CD8; - uVar1 = get_random_value(); - fVar5 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack24 = fVar5 * 0.00000000 * flt_80052CDC * 0.01562500 - flt_80052CE0; - uVar1 = get_random_value(); - fVar5 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack20 = fVar5 * 0.00000000 * flt_80052CE4 * 0.01562500 - flt_80052CE8; - uVar1 = get_random_value(); - fVar5 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack16 = fVar5 * 0.00000000 * flt_80052CEC * 0.01562500 - flt_80052CF0; - proc_7F058714(&fStack24,(float *)(puVar4 + 8)); - *puVar4 = *puVar4 | 1; - fStack12 = *param_2; - fStack8 = param_2[1]; - fStack4 = param_2[2]; - pfVar2 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar2,&fStack12); - fVar5 = flt_80052CF4; - *(float *)(puVar4 + 1) = (float)puVar4[1] + flt_80052CF4 * fStack12; - *(float *)(puVar4 + 3) = (float)puVar4[3] + fVar5 * fStack4; - uVar3 = get_curplayer_positiondata(); - puVar4[0x22] = uVar3; - puVar4[0x24] = 1; - } - return; -} - - - -void proc_7F04BFD0(int param_1,undefined4 param_2) - -{ - int iVar1; - int iVar2; - - if (*(int *)(param_1 + 0x1c) != 0) { - iVar1 = *(int *)(param_1 + 4); - proc_7F03FDA8(param_1); - if (((*(uint *)(iVar1 + 100) & 0x40) == 0) || - (iVar2 = *(int *)(*(int *)(iVar1 + 0x6c) + 0x44), iVar2 == 0)) { - if ((*(uint *)(iVar1 + 100) & 0x80) != 0) { - *(undefined4 *)(*(int *)(iVar1 + 0x6c) + 0xb8) = param_2; - } - } - else { - *(undefined4 *)(iVar2 + 0xb8) = param_2; - } - } - return; -} - - - -void proc_7F04C044(int param_1) - -{ - char *pcVar1; - int iVar2; - int iVar3; - - pcVar1 = *(char **)(param_1 + 0x1c); - if (pcVar1 != NULL) { - iVar2 = *(int *)(param_1 + 4); - iVar3 = *(int *)(iVar2 + 0x14); - proc_7F03A5D0(param_1); - *(undefined4 *)(iVar3 + 0x1c) = 0; - *(uint *)(iVar2 + 100) = *(uint *)(iVar2 + 100) & 0xfff7ffff; - if (((*pcVar1 == '\x03') || (*pcVar1 == '\x06')) && - (iVar2 = *(int *)(pcVar1 + 4), iVar2 != 0)) { - if (param_1 == *(int *)(iVar2 + 0x1d8)) { - *(undefined4 *)(iVar2 + 0x1d8) = 0; - } - else { - if (param_1 == *(int *)(iVar2 + 0x160)) { - proc_7F02D118(iVar2,0,0); - *(undefined4 *)(iVar2 + 0x160) = 0; - } - else { - if (param_1 == *(int *)(iVar2 + 0x164)) { - proc_7F02D118(iVar2,1,0); - *(undefined4 *)(iVar2 + 0x164) = 0; - } - } - } - } - } - return; -} - - - -undefined8 proc_7F04C130(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - uint *puVar2; - char *pcVar3; - undefined8 uVar4; - u32 uVar6; - float *pfVar7; - float *pfVar8; - int iVar9; - longlong lVar5; - undefined8 extraout_a0; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - uint uVar10; - char *pcVar11; - float in_f0; - float __x; - float fVar12; - f32 extraout_f12; - f32 extraout_f14; - float fVar13; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float fStack132; - float fStack128; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - u32 auStack88 [2]; - float afStack80 [12]; - float fStack32; - float fStack28; - float fStack24; - int iStack16; - char *pcStack4; - - pcStack4 = *(char **)(param_1 + 0x1c); - iVar1 = *(int *)(param_1 + 4); - if ((*(uint *)(iVar1 + 100) & 0x40) != 0) { - uVar10 = (*(uint **)(iVar1 + 0x6c))[0x11]; - if (uVar10 != 0) { - proc_7F03FE88(*(uint **)(iVar1 + 0x6c)); - *(uint *)(iVar1 + 0x6c) = uVar10; - uVar10 = *(uint *)(iVar1 + 100) & 0xffffffbf; - *(uint *)(iVar1 + 100) = uVar10; - *(uint *)(iVar1 + 100) = uVar10 | 0x80; - param_2 = extraout_a1_lo; - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - } - pcVar11 = pcStack4; - uVar4 = 0; - if ((pcStack4 != NULL) && ((*(uint *)(iVar1 + 100) & 0x80) != 0)) { - iStack16 = *(int *)(iVar1 + 0x14); - puVar2 = *(uint **)(iVar1 + 0x6c); - uVar10 = puVar2[0x2e]; - *puVar2 = *puVar2 | 1; - *(char **)(puVar2 + 0x22) = pcStack4; - if ((uVar10 == 2) && (*pcStack4 == '\x03')) { - fStack112 = DAT_8003201c; - fStack108 = (float)DAT_80032020; - fStack104 = (float)DAT_80032024; - getsubroty(*(int *)(*(int *)(pcStack4 + 4) + 0x1c),param_2,param_3,param_4); - fStack116 = in_f0; - __x = sinf(in_f0); - *(float *)(puVar2 + 1) = __x * flt_80052CF8; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - *(float *)(puVar2 + 2) = -(__x * 0.00000000) * flt_80052CFC * 0.50000000; - __x = cosf(fStack116); - *(float *)(puVar2 + 3) = __x * flt_80052D00; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack112 = __x * 0.00000000 * flt_80052D04 * 0.00781250 - flt_80052D08; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack108 = __x * 0.00000000 * flt_80052D0C * 0.00781250 - flt_80052D10; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack104 = __x * 0.00000000 * flt_80052D14 * 0.00781250 - flt_80052D18; - proc_7F058714(&fStack112,(float *)(puVar2 + 8)); - } - else { - if ((uVar10 == 3) && (*pcStack4 == '\x03')) { - fStack136 = DAT_80032028; - fStack132 = (float)DAT_8003202c; - fStack128 = (float)DAT_80032030; - getsubroty(*(int *)(*(int *)(pcStack4 + 4) + 0x1c),param_2,param_3,param_4); - fStack140 = in_f0; - __x = sinf(in_f0); - *(float *)(puVar2 + 1) = __x * flt_80052D1C; - *(float *)(puVar2 + 2) = flt_80052D20; - __x = cosf(fStack140); - *(float *)(puVar2 + 3) = __x * flt_80052D24; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack136 = __x * 0.00000000 * flt_80052D28 * 0.00781250 - flt_80052D2C; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack132 = __x * 0.00000000 * flt_80052D30 * 0.00781250 - flt_80052D34; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack128 = __x * 0.00000000 * flt_80052D38 * 0.00781250 - flt_80052D3C; - proc_7F058714(&fStack136,(float *)(puVar2 + 8)); - *puVar2 = *puVar2 | 0x40; - } - else { - if (uVar10 == 4) { - fStack152 = DAT_80032034; - fStack148 = (float)DAT_80032038; - fStack144 = (float)DAT_8003203c; - iVar9 = get_curplayer_positiondata(); - __x = convert_angle_using_inverse - ((f32)(*(float *)(pcStack4 + 8) - *(float *)(iVar9 + 8)), - (f32)(*(float *)(pcStack4 + 0x10) - *(float *)(iVar9 + 0x10))); - uVar6 = get_random_value(); - fVar12 = sinf(__x); - fVar13 = (float)uVar6; - if ((int)uVar6 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fVar13 = fVar13 * 0.00000000 * flt_80052D40; - *(float *)(puVar2 + 1) = fVar12 * (fVar13 + fVar13 + flt_80052D44); - uVar6 = get_random_value(); - fVar12 = (float)uVar6; - if ((int)uVar6 < 0) { - fVar12 = fVar12 + 4294967296.00000000; - } - fVar12 = fVar12 * 0.00000000 * flt_80052D48; - *(float *)(puVar2 + 2) = fVar12 + fVar12; - uVar6 = get_random_value(); - __x = cosf(__x); - fVar12 = (float)uVar6; - if ((int)uVar6 < 0) { - fVar12 = fVar12 + 4294967296.00000000; - } - fVar12 = fVar12 * 0.00000000 * flt_80052D4C; - *(float *)(puVar2 + 3) = __x * (fVar12 + fVar12 + flt_80052D50); - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack152 = __x * 0.00000000 * flt_80052D54 * 0.03125000 - flt_80052D58; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack148 = __x * 0.00000000 * flt_80052D5C * 0.03125000 - flt_80052D60; - uVar6 = get_random_value(); - __x = (float)uVar6; - if ((int)uVar6 < 0) { - __x = __x + 4294967296.00000000; - } - fStack144 = __x * 0.00000000 * flt_80052D64 * 0.03125000 - flt_80052D68; - proc_7F058714(&fStack152,(float *)(puVar2 + 8)); - } - else { - proc_7F057C14((float *)(puVar2 + 1),(float *)(puVar2 + 8)); - } - } - } - if (*(int *)(pcStack4 + 0x1c) == 0) { - auStack88[0] = *(u32 *)(pcVar11 + 0x14); - } - else { - pcVar3 = *(char **)(pcVar11 + 0x1c); - do { - pcVar11 = pcVar3; - pcVar3 = *(char **)(pcVar11 + 0x1c); - } while (*(char **)(pcVar11 + 0x1c) != NULL); - auStack88[0] = *(u32 *)(pcVar11 + 0x14); - } - if ((*(byte *)(param_1 + 1) & 2) == 0) { - *(undefined4 *)(param_1 + 0x14) = *(undefined4 *)(pcVar11 + 0x14); - guMtxIdentF_unrolled((float (*) [4] [4])afStack80); - matrix_multiply_A1_by_F12(*(float *)(iStack16 + 0x14),extraout_a0,afStack80); - copies_first_3_floats_from_a0_to_a1_plus_0x30((xyzpoint *)(pcVar11 + 8),(int)afStack80); - } - else { - proc_7F041044(iVar1); - pfVar7 = (float *)getsubmatrix(iStack16,extraout_a1_lo_00,extraout_a2_lo_00, - extraout_a3_lo_00); - pfVar8 = (float *)get_BONDdata_field_10D4(); - proc_7F05818C(pfVar8,pfVar7,(int)afStack80); - proc_7F03D058(pcVar11,0); - iVar9 = proc_7F0B0E24(auStack88,extraout_f12,extraout_f14,*(f32 *)(pcVar11 + 8)); - if ((iVar9 == 0) || (lVar5 = proc_7F0B18B8(), -1 < lVar5)) { - *(undefined4 *)(param_1 + 0x14) = *(undefined4 *)(pcVar11 + 0x14); - fStack32 = *(float *)(pcVar11 + 8); - fStack24 = *(float *)(pcVar11 + 0x10); - } - else { - *(u32 *)(param_1 + 0x14) = auStack88[0]; - } - proc_7F03D058(pcVar11,1); - *(float *)(param_1 + 0x18) = -pfVar7[0xe]; - } - proc_7F04C044(param_1); - set_current_objposdata_plus_0x28((object_standard *)param_1); - set_stateflag_0x04_for_posdata(param_1); - *(float *)(param_1 + 8) = fStack32; - *(float *)(iVar1 + 0x58) = fStack32; - *(float *)(param_1 + 0xc) = fStack28; - *(float *)(iVar1 + 0x5c) = fStack28; - *(float *)(param_1 + 0x10) = fStack24; - *(float *)(iVar1 + 0x60) = fStack24; - fStack32 = 0.00000000; - fStack28 = 0.00000000; - fStack24 = 0.00000000; - proc_7F058020((float (*) [4] [4])afStack80,(float (*) [4])(iVar1 + 0x18)); - proc_7F0402B4(*(int *)(iVar1 + 0x10),(byte *)(iVar1 + 0x7c)); - *(undefined *)(iVar1 + 0x78) = *(undefined *)(iVar1 + 0x7c); - *(undefined *)(iVar1 + 0x79) = *(undefined *)(iVar1 + 0x7d); - *(undefined *)(iVar1 + 0x7a) = *(undefined *)(iVar1 + 0x7e); - *(undefined *)(iVar1 + 0x7b) = *(undefined *)(iVar1 + 0x7f); - proc_7F056CA0(iVar1); - uVar4 = 1; - } - return uVar4; -} - - - -void proc_7F04CA44(int param_1,undefined8 param_2) - -{ - uint uVar1; - u32 uVar2; - uint uVar3; - uint *puVar4; - float fVar5; - float fStack12; - float fStack8; - float fStack4; - - uVar1 = *(uint *)(param_1 + 100); - uVar3 = uVar1 & 0xfff9ffff; - *(uint *)(param_1 + 100) = uVar3; - *(uint *)(param_1 + 100) = uVar3 | (int)param_2 << 0x11; - if ((((*(uint *)(param_1 + 0xc) & 0x100) == 0) && ((*(uint *)(param_1 + 8) & 1) != 0)) && - ((uVar1 & 0xc0) == 0)) { - fStack12 = DAT_80032040; - fStack8 = DAT_80032044; - puVar4 = NULL; - fStack4 = DAT_80032048; - proc_7F03FDA8(*(int *)(param_1 + 0x10)); - if ((*(uint *)(param_1 + 100) & 0x80) != 0) { - puVar4 = *(uint **)(param_1 + 0x6c); - } - if (puVar4 != NULL) { - uVar2 = get_random_value(); - fVar5 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 1) = fVar5 * 0.00000000 * flt_80052D6C - flt_80052D70; - uVar2 = get_random_value(); - fVar5 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = fVar5 * 0.00000000 * flt_80052D74; - *(float *)(puVar4 + 2) = fVar5 + fVar5 + flt_80052D74; - uVar2 = get_random_value(); - fVar5 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(puVar4 + 3) = fVar5 * 0.00000000 * flt_80052D78 - flt_80052D7C; - if ((*(uint *)(param_1 + 0xc) & 0x200) == 0) { - uVar2 = get_random_value(); - fVar5 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack12 = (fVar5 * 0.00000000 * flt_80052D80) / 320.00000000 - flt_80052D84; - uVar2 = get_random_value(); - fVar5 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack8 = (fVar5 * 0.00000000 * flt_80052D88) / 320.00000000 - flt_80052D8C; - uVar2 = get_random_value(); - fVar5 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - fStack4 = (fVar5 * 0.00000000 * flt_80052D90) / 320.00000000 - flt_80052D94; - } - proc_7F058714(&fStack12,(float *)(puVar4 + 8)); - *puVar4 = *puVar4 | 1; - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) & 0xfffffeff; - *(uint *)(param_1 + 100) = *(uint *)(param_1 + 100) & 0xffff7fff; - } - } - return; -} - - - -void proc_7F04CD04(object_header *param_1,undefined8 param_2) - -{ - char cVar1; - char cVar2; - object_standard *poVar3; - void *pvVar4; - int iVar5; - object_standard *poVar7; - longlong lVar6; - uint uStack20; - float *apfStack16 [4]; - - poVar3 = param_1->ptr_archetype; - cVar1 = *(char *)(*(int *)¶m_1->num_table_entries + 3); - proc_7F03CCB0((char *)param_1,(int **)apfStack16,&uStack20); - if (((int)uStack20 < 1) || (poVar7 = get_ptr_obj_pos_list_current_entry(), poVar7 == NULL)) { - return; - } - cVar2 = *(char *)poVar7; - do { - if (cVar2 == '\x01') { - pvVar4 = poVar7->runtime_ptr_obj_instance_controller; -LAB_7f04cd80: - if (cVar1 == *(char *)((int)pvVar4 + 3)) { - iVar5 = *(int *)&poVar7->pad; - if ((float)poVar3->runtime_y_pos < *(float *)(iVar5 + 0x5c)) { - if ((*(uint *)(iVar5 + 100) & 0x8000) == 0) { - poVar7 = (object_standard *)poVar7->runtime_MATRIX3; - } - else { - lVar6 = proc_7F03CCD8((float *)(iVar5 + 0x58),apfStack16[0],uStack20); - if (lVar6 != 0) { - proc_7F04CA44(iVar5,param_2); - } - poVar7 = (object_standard *)poVar7->runtime_MATRIX3; - } - } - else { - poVar7 = (object_standard *)poVar7->runtime_MATRIX3; - } - } - else { - poVar7 = (object_standard *)poVar7->runtime_MATRIX3; - } - } - else { - if (cVar2 == '\x04') { - pvVar4 = poVar7->runtime_ptr_obj_instance_controller; - goto LAB_7f04cd80; - } - poVar7 = (object_standard *)poVar7->runtime_MATRIX3; - } - if (poVar7 == NULL) { - return; - } - cVar2 = *(char *)poVar7; - } while( true ); -} - - - -void object_explosion_related(object_standard *param_1,float *param_2,int param_3) - -{ - byte bVar1; - u16 uVar2; - object_header *poVar3; - int iVar5; - longlong lVar4; - u32 uVar6; - uint uVar7; - u32 uVar8; - object_header *poVar9; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float extraout_f14_00; - undefined uVar10; - int iStack16; - short sStack10; - object_header *poStack4; - - if (param_1->field_70 <= *(float *)¶m_1->damage) { - iVar5 = do_something_if_object_destroyed((int)param_1); - if (iVar5 == 0) { - return; - } - uVar2 = param_1->pad; - } - else { - uVar2 = param_1->pad; - } - poStack4 = (object_header *)param_1->runtime_ptr_obj_posdata; - sStack10 = *(short *)((int)object_explosion_details + (int)(short)uVar2 * 0xe); - if (poStack4->is_loaded_in_mem == 0) { - iStack16 = *(int *)&poStack4->num_table_entries; - poVar9 = poStack4; - } - else { - poVar3 = (object_header *)poStack4->is_loaded_in_mem; - do { - poVar9 = poVar3; - poVar3 = (object_header *)poVar9->is_loaded_in_mem; - } while ((object_header *)poVar9->is_loaded_in_mem != NULL); - iStack16 = *(int *)&poVar9->num_table_entries; - } - iVar5 = do_something_if_object_destroyed((int)param_1); - uVar10 = (undefined)param_3; - if (iVar5 != 0) { - uVar7 = proc_7F03FF60((int)param_1); - if (((uVar7 & 3) == 0) && (proc_7F04B610((int)param_1,((int)uVar7 >> 2) + 1), iStack16 != 0) - ) { - lVar4 = (longlong)(int)param_2; - if ((*(byte *)((int)&poVar9->offset_obj_table + 1) & 8) == 0) { - proc_7F0B0BE4(&iStack16,extraout_f12_00,extraout_f14_00, - (float)poVar9->offset_obj_offset_block,poVar9->anonymous_4); - if (lVar4 != 0) { - proc_7F09C250((int)poStack4,param_2,iStack16,0x10, - (uint)((param_1->flags & 0xe) == 0),uVar10, - (char *)&poVar9[1].num_offset_entries,0); - goto LAB_7f04d0dc; - } - iVar5 = *(int *)&poVar9->num_table_entries; - } - else { - iVar5 = *(int *)&poVar9->num_table_entries; - } - proc_7F09C250((int)poStack4,param_2,iVar5,0x10,0,uVar10, - (char *)&poVar9[1].num_offset_entries,1); - } -LAB_7f04d0dc: - iVar5 = do_something_if_object_destroyed((int)param_1); - if ((0 < iVar5) && (bVar1 = *(byte *)¶m_1->obj, (bVar1 & 4) != 0)) { - if ((param_1->runtime_bitflags & 0x1000U) == 0) { - *(byte *)¶m_1->obj = bVar1 & 0xef; - } - else { - *(byte *)¶m_1->obj = bVar1 | 0x10; - } - *(undefined2 *)((int)&poStack4->offset_obj_table + 2) = 0x4b0; - } - if ((int)uVar7 < 0xc) { - return; - } - param_1->runtime_bitflags = param_1->runtime_bitflags | 0x1000; - param_1->flags = param_1->flags & 0xfffffeff; - return; - } - *(byte *)¶m_1->obj = *(byte *)¶m_1->obj | 0x80; - param_1->field_70 = 0.00000000; - if (iStack16 == 0) { - uVar8 = param_1->flags2; - } - else { - lVar4 = (longlong)(int)param_2; - if ((*(byte *)((int)&poVar9->offset_obj_table + 1) & 8) == 0) { - proc_7F0B0BE4(&iStack16,extraout_f12,extraout_f14,(float)poVar9->offset_obj_offset_block - ,poVar9->anonymous_4); - if (lVar4 != 0) { - proc_7F09C250((int)poStack4,param_2,iStack16,(int)sStack10, - (uint)((param_1->flags & 0xe) == 0),uVar10, - (char *)&poVar9[1].num_offset_entries,0); - uVar8 = param_1->flags2; - goto LAB_7f04cf7c; - } - iVar5 = *(int *)&poVar9->num_table_entries; - } - else { - iVar5 = *(int *)&poVar9->num_table_entries; - } - proc_7F09C250((int)poStack4,param_2,iVar5,(int)sStack10,0,uVar10, - (char *)&poVar9[1].num_offset_entries,1); - uVar8 = param_1->flags2; - } -LAB_7f04cf7c: - if ((uVar8 & 0x2000) == 0) { - proc_7F04B610((int)param_1,1); - if (poVar9 == poStack4) { - proc_7F04CD04(poStack4,(longlong)param_3); - uVar7 = param_1->runtime_bitflags; - if ((uVar7 & 0x8000) != 0) { - uVar6 = get_random_value(); - if (uVar6 % 3 != 0) { - return; - } - uVar7 = param_1->runtime_bitflags; - } - param_1->runtime_bitflags = uVar7 | 0x10000; - proc_7F04CA44((int)param_1,(longlong)param_3); - } - } - else { - param_1->runtime_bitflags = param_1->runtime_bitflags | 4; - } - return; -} - - - -undefined4 -proc_7F04D16C(float *param_1,float *param_2,float *param_3,uint *param_4,uint *param_5,int param_6, - float *param_7) - -{ - char cVar1; - short sVar2; - longlong lVar3; - uint *puVar4; - uint *puVar5; - short *psVar6; - int *piVar7; - undefined2 uVar8; - uint *puVar9; - int iVar10; - uint uVar11; - float fVar12; - float fVar13; - float fStack224; - undefined4 uStack220; - undefined4 uStack216; - int iStack200; - int iStack196; - int iStack192; - int iStack188; - int iStack184; - int iStack180; - uint uStack172; - uint uStack168; - uint uStack164; - uint auStack160 [5]; - float fStack140; - undefined4 uStack136; - undefined4 uStack132; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack96; - int iStack88; - int iStack84; - int iStack80; - int aiStack76 [3]; - undefined4 uStack64; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - int iStack4; - - uStack64 = 0; - fVar13 = 4294967296.00000000; - puVar9 = param_4; - do { - while( true ) { - while( true ) { - while (puVar5 = param_5, cVar1 = *(char *)puVar9, cVar1 == -0x48) { - if (param_5 == NULL) { - return uStack64; - } - param_5 = NULL; - param_4 = puVar5; - puVar9 = puVar5; - } - if (cVar1 != '\x04') break; - iStack4 = param_6 + (puVar9[1] & 0xffffff) + - ((uint)*(byte *)((int)puVar9 + 1) & 0xf) * -0x10; - puVar9 = puVar9 + 2; - } - if (cVar1 == -0x41) break; - if (cVar1 == -0x4f) { - iVar10 = 0; - do { - iStack188 = dword_80032070; - iStack184 = DAT_80032074; - iStack180 = DAT_80032078; - iStack200 = DAT_8003207c; - iStack196 = DAT_80032080; - iStack192 = DAT_80032084; - if (iVar10 == 0) { - uStack172 = puVar9[1] & 0xf; - uStack168 = (uint)(*(byte *)((int)puVar9 + 7) >> 4); - uStack164 = *puVar9 & 0xf; - } - else { - if (iVar10 == 1) { - uStack172 = (uint)*(byte *)((int)puVar9 + 6) & 0xf; - uStack168 = (uint)(*(ushort *)((int)puVar9 + 6) >> 0xc); - uStack164 = (uint)(*(byte *)((int)puVar9 + 3) >> 4); - } - else { - if (iVar10 == 2) { - uStack172 = (uint)*(ushort *)(puVar9 + 1) & 0xf; - uStack168 = (uint)(*(byte *)((int)puVar9 + 5) >> 4); - uStack164 = (uint)*(byte *)((int)puVar9 + 2) & 0xf; - } - else { - uStack172 = (uint)*(byte *)(puVar9 + 1) & 0xf; - uStack168 = puVar9[1] >> 0x1c; - uStack164 = (uint)(*(ushort *)((int)puVar9 + 2) >> 0xc); - } - } - } - puVar5 = &uStack172; - uVar11 = uStack172; - while( true ) { - puVar5 = puVar5 + 1; - psVar6 = (short *)(iStack4 + uVar11 * 0x10); - lVar3 = (longlong)*psVar6; - if (lVar3 < iStack188) { - iStack188 = (int)*psVar6; - lVar3 = (longlong)*psVar6; - } - if (iStack200 < lVar3) { - iStack200 = (int)lVar3; - sVar2 = psVar6[1]; - } - else { - sVar2 = psVar6[1]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < iStack184) { - iStack184 = (int)sVar2; - lVar3 = (longlong)psVar6[1]; - } - if (iStack196 < lVar3) { - iStack196 = (int)lVar3; - sVar2 = psVar6[2]; - } - else { - sVar2 = psVar6[2]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < iStack180) { - iStack180 = (int)sVar2; - lVar3 = (longlong)psVar6[2]; - } - if (iStack192 < lVar3) { - iStack192 = (int)lVar3; - } - if (puVar5 == auStack160) break; - uVar11 = *puVar5; - } - lVar3 = proc_7F0B6CEC(param_1,param_3,&iStack188,&iStack200); - if (lVar3 != 0) { - fStack224 = DAT_80032088; - uStack220 = DAT_8003208c; - uStack216 = DAT_80032090; - lVar3 = proc_7F092890((short *)(iStack4 + uStack172 * 0x10), - (short *)(iStack4 + uStack168 * 0x10), - (short *)(iStack4 + uStack164 * 0x10),&fStack224, - param_1,param_2,param_3,&fStack52); - if (lVar3 != 0) { - puVar5 = puVar9; - if ((*(char *)puVar9 != -3) && (param_4 < puVar9)) { - cVar1 = *(char *)(puVar9 + -2); - puVar4 = puVar9; - while( true ) { - puVar5 = puVar4 + -2; - if ((cVar1 == -3) || (puVar5 <= param_4)) break; - cVar1 = *(char *)(puVar4 + -4); - puVar4 = puVar5; - } - } - if (puVar5 == param_4) { - uVar8 = 0xffff; - } - else { - uVar8 = *(undefined2 *)(puVar5[1] - 8 | 0x80000000); - } - fVar12 = (float)((int)fStack52 - (int)*param_1) * - (float)((int)fStack52 - (int)*param_1) + - (float)((int)fStack48 - (int)param_1[1]) * - (float)((int)fStack48 - (int)param_1[1]) + - (float)((int)fStack44 - (int)param_1[2]) * - (float)((int)fStack44 - (int)param_1[2]); - if (fVar12 < fVar13) { - *param_7 = fStack52; - param_7[1] = fStack48; - param_7[2] = fStack44; - param_7[3] = fStack40; - param_7[4] = fStack36; - param_7[5] = fStack32; - *(uint *)(param_7 + 6) = uStack172 * 0x10 + iStack4; - *(uint *)(param_7 + 7) = uStack168 * 0x10 + iStack4; - *(undefined2 *)((int)param_7 + 0x2a) = uVar8; - *(uint **)(param_7 + 9) = puVar9; - *(uint *)(param_7 + 8) = uStack164 * 0x10 + iStack4; - *(short *)(param_7 + 10) = (short)iVar10 + 1; - uStack64 = 1; - fVar13 = fVar12; - } - } - } - iVar10 += 1; - } while (iVar10 != 4); - } -LAB_7f04d970: - puVar9 = puVar9 + 2; - } - iStack104 = dword_8003204C; - iStack100 = DAT_80032050; - iStack96 = DAT_80032054; - iStack116 = DAT_80032058; - iStack112 = DAT_8003205c; - iStack108 = DAT_80032060; - piVar7 = &iStack88; - iStack88 = (int)(uint)*(byte *)((int)puVar9 + 5) / 10; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar9 + 5) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack84 = (int)(uint)*(byte *)((int)puVar9 + 6) / 10; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar9 + 6) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack80 = (int)(uint)*(byte *)((int)puVar9 + 7) / 10; - if (false) { - trap(0x1c00); - } - iVar10 = iStack88; - if ((false) && ((ulonglong)*(byte *)((int)puVar9 + 7) == 0xffffffff80000000)) { - trap(0x1800); - } - while( true ) { - piVar7 = piVar7 + 1; - psVar6 = (short *)(iStack4 + iVar10 * 0x10); - lVar3 = (longlong)*psVar6; - if (lVar3 < iStack104) { - iStack104 = (int)*psVar6; - lVar3 = (longlong)*psVar6; - } - if (iStack116 < lVar3) { - iStack116 = (int)lVar3; - sVar2 = psVar6[1]; - } - else { - sVar2 = psVar6[1]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < iStack100) { - iStack100 = (int)sVar2; - lVar3 = (longlong)psVar6[1]; - } - if (iStack112 < lVar3) { - iStack112 = (int)lVar3; - sVar2 = psVar6[2]; - } - else { - sVar2 = psVar6[2]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < iStack96) { - iStack96 = (int)sVar2; - lVar3 = (longlong)psVar6[2]; - } - if (iStack108 < lVar3) { - iStack108 = (int)lVar3; - } - if (piVar7 == aiStack76) break; - iVar10 = *piVar7; - } - lVar3 = proc_7F0B6CEC(param_1,param_3,&iStack104,&iStack116); - if (lVar3 == 0) goto LAB_7f04d970; - fStack140 = DAT_80032064; - uStack136 = DAT_80032068; - uStack132 = DAT_8003206c; - lVar3 = proc_7F092890((short *)(iStack4 + iStack88 * 0x10), - (short *)(iStack4 + iStack84 * 0x10), - (short *)(iStack4 + iStack80 * 0x10),&fStack140,param_1,param_2, - param_3,&fStack52); - if (lVar3 == 0) goto LAB_7f04d970; - puVar5 = puVar9; - if ((*(char *)puVar9 != -3) && (param_4 < puVar9)) { - cVar1 = *(char *)(puVar9 + -2); - puVar4 = puVar9; - while( true ) { - puVar5 = puVar4 + -2; - if ((cVar1 == -3) || (puVar5 <= param_4)) break; - cVar1 = *(char *)(puVar4 + -4); - puVar4 = puVar5; - } - } - if (puVar5 == param_4) { - uVar8 = 0xffff; - } - else { - uVar8 = *(undefined2 *)(puVar5[1] - 8 | 0x80000000); - } - fVar12 = (float)((int)fStack52 - (int)*param_1) * (float)((int)fStack52 - (int)*param_1) + - (float)((int)fStack48 - (int)param_1[1]) * (float)((int)fStack48 - (int)param_1[1]) - + (float)((int)fStack44 - (int)param_1[2]) * - (float)((int)fStack44 - (int)param_1[2]); - if (fVar13 <= fVar12) goto LAB_7f04d970; - *param_7 = fStack52; - param_7[1] = fStack48; - param_7[2] = fStack44; - param_7[3] = fStack40; - param_7[4] = fStack36; - param_7[5] = fStack32; - *(int *)(param_7 + 6) = iStack88 * 0x10 + iStack4; - *(int *)(param_7 + 7) = iStack84 * 0x10 + iStack4; - *(undefined2 *)((int)param_7 + 0x2a) = uVar8; - *(uint **)(param_7 + 9) = puVar9; - *(int *)(param_7 + 8) = iStack80 * 0x10 + iStack4; - *(undefined2 *)(param_7 + 10) = 0; - uStack64 = 1; - fVar13 = fVar12; - puVar9 = puVar9 + 2; - } while( true ); -} - - - -int proc_7F04D9B0(int param_1,ushort *param_2,float *param_3,float *param_4,float *param_5, - int *param_6,ushort **param_7) - -{ - ushort uVar1; - uint **ppuVar2; - float fVar3; - uint *puVar4; - short sVar6; - int iVar5; - ushort *partdesc; - ushort *puVar7; - float *pfVar8; - uint *puVar9; - uint *puVar10; - uint *puVar11; - uint uVar12; - float afStack148 [26]; - int iStack44; - float *pfStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fVar3 = flt_80052D98; - pfStack40 = NULL; - iStack44 = 0; - uVar12 = 0; - if (param_2 == NULL) { - return 0; - } - uVar1 = *param_2; - partdesc = param_2; - do { - puVar10 = NULL; - puVar11 = NULL; - if (true) { - switch((uint)uVar1 & 0xff) { - case 4: - puVar9 = *(uint **)(partdesc + 2); - if (*puVar9 != 0) { - uVar12 = puVar9[2]; - puVar10 = (uint *)(uVar12 + (*puVar9 & 0xffffff)); - if (puVar9[1] != 0) { - puVar11 = (uint *)(uVar12 + (puVar9[1] & 0xffffff)); - } - } - break; - case 8: - proc_7F06E970(param_1,partdesc); - break; - case 0x12: - process_12_handle_switch(param_1,partdesc); - break; - case 0x17: - process_17_pointer_to_head(param_1,partdesc); - break; - case 0x18: - ppuVar2 = *(uint ***)(partdesc + 2); - puVar4 = (uint *)extract_id_from_object_structure_microcode(param_1,partdesc); - puVar9 = (uint *)puVar4[1]; - if (puVar9 != NULL) { - if (*ppuVar2 == puVar9) { - puVar9 = (uint *)((int)ppuVar2[7] + ((uint)*ppuVar2 & 0xffffff)); - } - if (ppuVar2[1] != NULL) { - puVar11 = (uint *)((int)ppuVar2[7] + ((uint)ppuVar2[1] & 0xffffff)); - } - uVar12 = *puVar4; - puVar10 = puVar9; - } - } - } - if (puVar10 != NULL) { - pfVar8 = NULL; - sVar6 = proc_7F06C570(partdesc,0); - if (-1 < sVar6) { - pfVar8 = (float *)(*(int *)(param_1 + 0xc) + (int)sVar6 * 0x40); - } - if ((pfVar8 != NULL) && (pfVar8 != pfStack40)) { - pfStack40 = pfVar8; - proc_7F059FB8(pfVar8,afStack148); - fStack12 = *param_3; - fStack8 = param_3[1]; - fStack4 = param_3[2]; - proc_7F058474(afStack148,&fStack12); - fStack36 = *param_4; - fStack32 = param_4[1]; - fStack28 = param_4[2]; - proc_7F0583D8(afStack148,&fStack36); - fStack24 = fStack36 * fVar3 + fStack12; - fStack20 = fStack32 * fVar3 + fStack8; - fStack16 = fStack28 * fVar3 + fStack4; - } - iVar5 = proc_7F04D16C(&fStack12,&fStack24,&fStack36,puVar10,puVar11,uVar12,param_5); - if (iVar5 != 0) { - *param_6 = (int)sVar6; - *param_7 = partdesc; - iStack44 = 1; - } - } - puVar7 = *(ushort **)(partdesc + 10); - if (puVar7 == NULL) { - while (puVar7 = partdesc, partdesc != NULL) { - if (partdesc == param_2) { - puVar7 = NULL; - break; - } - puVar7 = *(ushort **)(partdesc + 6); - if (puVar7 != NULL) break; - partdesc = *(ushort **)(partdesc + 4); - } - } - if (puVar7 == NULL) { - return iStack44; - } - if (iStack44 != 0) { - return iStack44; - } - uVar1 = *puVar7; - partdesc = puVar7; - } while( true ); -} - - - -void proc_7F04DCB4(object_standard *param_1) - -{ - void *pvVar1; - int iVar2; - float extraout_f12; - float extraout_f14; - - pvVar1 = param_1->runtime_ptr_obj_posdata; - iVar2 = proc_7F040078((int)param_1); - proc_7F0A0CCC((int)pvVar1,'\0'); - proc_7F0A0CCC((int)pvVar1,'\x01'); - proc_7F0A1DA0((float *)¶m_1->runtime_x_pos,(float *)¶m_1->runtime_MATRIX0, - (float *)¶m_1->runtime_MATRIX4,(float *)¶m_1->runtime_MATRIX8,extraout_f12 - ,extraout_f14,*(float *)(iVar2 + 4),*(float *)(iVar2 + 8)); - param_1->runtime_bitflags = param_1->runtime_bitflags | 4; - *(byte *)¶m_1->obj = *(byte *)¶m_1->obj | 0x80; - param_1->field_70 = 0.00000000; - return; -} - - - -void proc_7F04DD68(object_standard *param_1) - -{ - undefined4 *puVar1; - float extraout_f12; - float extraout_f14; - float afStack80 [4]; - float afStack64 [4]; - float afStack48 [4]; - float afStack32 [5]; - int iStack12; - void *pvStack8; - void *pvStack4; - - pvStack4 = param_1->runtime_ptr_obj_posdata; - pvStack8 = param_1->runtime_ptr_obj_instance_controller; - iStack12 = *(int *)(*(int *)(*(int *)(*(int *)((int)pvStack8 + 8) + 8) + 8) + 4); - proc_7F0526EC((int)param_1,afStack80); - proc_7F0A1DA0(afStack32,afStack80,afStack64,afStack48,extraout_f12,extraout_f14, - *(float *)(iStack12 + 4),*(float *)(iStack12 + 8)); - proc_7F0A0CCC((int)pvStack4,'\x01'); - puVar1 = (undefined4 *) - extract_id_from_object_structure_microcode - ((int)pvStack8,*(ushort **)(*(int *)(*(int *)((int)pvStack8 + 8) + 8) + 4)); - *puVar1 = 0; - return; -} - - - -void proc_7F04DE18(object_standard *param_1) - -{ - void *objinst; - int iVar1; - float *pfVar2; - undefined4 *puVar3; - float extraout_f12; - float extraout_f14; - float afStack84 [4]; - float afStack68 [4]; - float afStack52 [4]; - float afStack36 [4]; - float *pfStack20; - int iStack16; - void *pvStack4; - - pvStack4 = param_1->runtime_ptr_obj_posdata; - objinst = param_1->runtime_ptr_obj_instance_controller; - if ((*(byte *)((int)pvStack4 + 1) & 2) != 0) { - iVar1 = *(int *)(*(int *)((int)objinst + 8) + 8); - iStack16 = *(int *)(*(int *)(iVar1 + 8) + 4); - pfStack20 = (float *)proc_7F06C660((int)objinst,*(ushort **)(iVar1 + 4),0); - pfVar2 = (float *)get_BONDdata_field_10D4(); - proc_7F05818C(pfVar2,pfStack20,(int)afStack84); - proc_7F0A1DA0(afStack36,afStack84,afStack68,afStack52,extraout_f12,extraout_f14, - *(float *)(iStack16 + 4),*(float *)(iStack16 + 8)); - } - proc_7F0A0CCC((int)pvStack4,'\x01'); - puVar3 = (undefined4 *) - extract_id_from_object_structure_microcode - ((int)objinst,*(ushort **)(*(int *)(*(int *)((int)objinst + 8) + 8) + 0xc)); - *puVar3 = 0; - return; -} - - - -void proc_7F04DEFC(int param_1,float param_2,undefined8 param_3,undefined8 param_4,int param_5) - -{ - int param_1_00; - int iVar1; - uint uVar2; - uint uVar3; - float extraout_f12; - int in_stack_00000010; - - param_1_00 = *(int *)(param_1 + 4); - uVar3 = *(uint *)(param_1_00 + 100) & 0xfff9ffff; - uVar2 = uVar3 | in_stack_00000010 << 0x11; - *(uint *)(param_1_00 + 100) = uVar3; - *(uint *)(param_1_00 + 100) = uVar2; - if (-1 < (int)(uVar2 << 0xc)) { - param_1_00 = *(int *)(param_1 + 0x20); - while (param_1_00 != 0) { - iVar1 = *(int *)(param_1_00 + 0x24); - proc_7F04DEFC(param_1_00,param_2,(longlong)(int)param_3._4_4_,param_4,param_5); - param_1_00 = iVar1; - param_2 = extraout_f12; - } - maybe_detonate_object - (*(object_standard **)(param_1 + 4),param_2,param_3._4_4_,(int)param_4,param_5); - } - return; -} - - - -undefined8 check_if_destroyable_object_type(int param_1) - -{ - if (true) { - switch(*(undefined *)(param_1 + 3)) { - case 1: - case 3: - case 5: - case 6: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0x24: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2d: - case 0x2f: - return 1; - } - } - return 0; -} - - - -undefined8 check_if_collectable_object(int objdata) - -{ - if (true) { - switch(*(undefined *)(objdata + 3)) { - case 4: - case 7: - case 8: - case 0x11: - case 0x14: - case 0x15: - return 1; - } - } - return 0; -} - - - -undefined8 check_if_destroyable_not_invincible(int object) - -{ - undefined8 uVar1; - longlong lVar2; - int iVar3; - - if (*(char *)(object + 3) == '\x01') { - uVar1 = 0; - } - else { - lVar2 = check_if_collectable_object(object); - if (lVar2 == 0) { - iVar3 = *(int *)(object + 8); - } - else { - if (*(char *)(object + 3) != '\x15') { - if (*(int *)(object + 8) << 0xf < 0) { - return 1; - } - return 0; - } - iVar3 = *(int *)(object + 8); - } - if (iVar3 << 0xe < 0) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - return uVar1; -} - - - -void proc_7F04E0CC(int param_1,float param_2,float *param_3,int param_4,int param_5) - -{ - if ((*(uint *)(param_1 + 0xc) & 0x4000) == 0) { - maybe_detonate_object((object_standard *)param_1,(float)param_3,param_3,param_4,param_5); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f04e280) overlaps instruction at (ram,0x7f04e27c) -// - -void maybe_detonate_object - (object_standard *objdata,float param_2,float *param_3,int param_4,int param_5) - -{ - ushort uVar1; - object_standard *poVar2; - int iVar3; - int iVar5; - longlong lVar4; - uint uVar6; - u32 uVar7; - object_standard *object; - undefined *puVar8; - char cVar10; - int iVar9; - uint uVar11; - dword *pdVar12; - dword *pdVar13; - dword *pdVar14; - object_standard *poVar15; - dword *pdVar16; - float *pfVar17; - f32 scale; - float fVar18; - int in_stack_00000010; - dword adStack164 [30]; - dword adStack44 [3]; - object_standard *poStack32; - uint uStack28; - uint uStack24; - - uVar6 = objdata->runtime_bitflags & 0xfff9ffff; - objdata->runtime_bitflags = uVar6; - cVar10 = *(char *)((int)&objdata->obj + 1); - objdata->runtime_bitflags = uVar6 | in_stack_00000010 << 0x11; - if ((cVar10 == '$') && (iVar5 = do_something_if_object_destroyed((int)objdata), iVar5 == 1)) { - return; - } - if (param_5 == 0) { - lVar4 = check_if_collectable_object((int)objdata); - if (lVar4 == 0) { - if ((int)(objdata->flags << 7) < 0) { - return; - } - } - else { - if (-1 < (int)(objdata->flags << 8)) { - return; - } - } - } - else { - if ((int)(objdata->flags << 0xe) < 0) { - return; - } - cVar10 = *(char *)((int)&objdata->obj + 1); - if (cVar10 == '\b') { - cVar10 = *(char *)(objdata + 1); - if (((((cVar10 != '\x1a') && (cVar10 != '\x1b')) && (cVar10 != '\x1d')) && - ((cVar10 != '\x1c' && (cVar10 != 'V')))) && - ((cVar10 != 'W' && ((cVar10 != '!' && (cVar10 != '\"')))))) { - return; - } - objdata[1].obj = 0; - return; - } - if (cVar10 == '\a') { - iVar5 = *(int *)(objdata + 1); - if (((((iVar5 != 5) && (iVar5 != 6)) && (iVar5 != 7)) && - (((iVar5 != 8 && (iVar5 != 9)) && - ((iVar5 != 0xb && ((iVar5 != 0xf && (iVar5 != 0x10)))))))) && (iVar5 != 0x13)) { - return; - } - objdata->flags = objdata->flags | 0x10000000; - return; - } - lVar4 = check_if_destroyable_not_invincible((int)objdata); - if (lVar4 == 0) { - return; - } - } - iVar5 = do_something_if_object_destroyed((int)objdata); - if (iVar5 == 0) { - objdata->field_70 = objdata->field_70 + (float)param_3 * 250.00000000; - } - else { - uVar6 = proc_7F03FF60((int)objdata); - uVar11 = uVar6 & 3; - if (((int)uVar6 < 0) && (uVar11 != 0)) { - uVar11 -= 4; - } - pfVar17 = (float *)(float)(4 - uVar11); - if (((float)(float *)(float)(4 - uVar11) < (float)param_3) || - (pfVar17 = (float *)0x3f800000, (float)param_3 < 1.00000000)) { - fVar18 = objdata->field_70; - } - else { - fVar18 = objdata->field_70; - pfVar17 = param_3; - } - objdata->field_70 = fVar18 + (float)pfVar17; - } - cVar10 = *(char *)((int)&objdata->obj + 1); - if ((cVar10 == '*') || (cVar10 == '/')) { - if (*(float *)&objdata->damage <= objdata->field_70) { - proc_7F04DCB4(objdata); - cVar10 = *(char *)((int)&objdata->obj + 1); - } - } - else { - proc_7F04BFD0((int)objdata->runtime_ptr_obj_posdata,1); - object_explosion_related(objdata,(float *)param_4,in_stack_00000010); - cVar10 = *(char *)((int)&objdata->obj + 1); - } - if (cVar10 == '\x14') { - iVar5 = do_something_if_object_destroyed((int)objdata); - if (iVar5 == 1) { - uVar7 = get_random_value(); - uVar6 = uVar7 % 0xd; - uVar11 = uVar6; -LAB_7f04e3e8: - iVar5 = &objdata->field_0x0 + uVar6 * 4; - if (*(short *)(iVar5 + 0x82) == 0) { - iVar5 = uVar6 + 1; - } - else { - if (*(short *)(iVar5 + 0x80) == -1) { - iVar5 = uVar6 + 1; - } - else { - uStack28 = uVar6; - uStack24 = uVar11; - object = (object_standard *)proc_7F0518D0(); - uVar6 = uStack28; - if (object != NULL) { - uVar1 = *(ushort *)(iVar5 + 0x80); - pdVar14 = blank_07_object; - pdVar13 = adStack164; - do { - pdVar12 = pdVar13; - pdVar16 = pdVar14; - *pdVar12 = *pdVar16; - pdVar12[1] = pdVar16[1]; - pdVar12[2] = pdVar16[2]; - pdVar14 = pdVar16 + 3; - pdVar13 = pdVar12 + 3; - } while (pdVar16 + 3 != &DWORD_8003210c); - pdVar12[3] = DWORD_8003210c; - pdVar12[4] = pdVar16[4]; - pdVar14 = adStack164; - poVar2 = object; - do { - poVar15 = poVar2; - pdVar13 = pdVar14; - pdVar14 = pdVar13 + 3; - *(dword *)poVar15 = *pdVar13; - *(dword *)&poVar15->obj = pdVar13[1]; - poVar15->flags = pdVar13[2]; - poVar2 = (object_standard *)&poVar15->flags2; - } while (pdVar14 != adStack44); - *(dword *)(object_standard *)&poVar15->flags2 = *pdVar14; - poVar15->runtime_ptr_obj_posdata = pdVar13[4]; - object->obj = uVar1; - *(uint *)(object + 1) = uVar6 + 1; - if (uVar6 + 1 == 2) { - *(undefined4 *)(object + 1) = 1; - } - poStack32 = object; - puVar8 = init_object_no_default_pos_controller - (object,(object_header *)PitemZ_entries[uVar1].header); - if (puVar8 != NULL) { - set_obj_instance_controller_scale - (poStack32->runtime_ptr_obj_instance_controller,scale); - proc_7F03A5A4(poStack32->runtime_ptr_obj_posdata, - (int)objdata->runtime_ptr_obj_posdata); - cVar10 = *(char *)((int)&objdata->obj + 1); - goto LAB_7f04e544; - } -LAB_7f04e540: - cVar10 = *(char *)((int)&objdata->obj + 1); - goto LAB_7f04e544; - } - iVar5 = uStack28 + 1; - uVar11 = uStack24; - } - } - uVar6 = iVar5 % 0xd; - if (uVar6 == uVar11) goto LAB_7f04e540; - goto LAB_7f04e3e8; - } - cVar10 = *(char *)((int)&objdata->obj + 1); - } - else { - cVar10 = *(char *)((int)&objdata->obj + 1); - } -LAB_7f04e544: - if (cVar10 == '\r') { - objdata->flags = objdata->flags | 0x40000000; - iVar5 = do_something_if_object_destroyed((int)objdata); - if (iVar5 == 1) { - objdata->flags = objdata->flags | 0x10000000; - } - } - else { - if (cVar10 == '\x06') { - iVar5 = do_something_if_object_destroyed((int)objdata); - if (iVar5 == 1) { - objdata->flags = objdata->flags | 0x10000000; - } - } - else { - if (cVar10 == '\n') { - iVar5 = do_something_if_object_destroyed((int)objdata); - if (iVar5 == 1) { - set_ptr_monitor_img_to_obj_ani_slot((undefined4 *)(objdata + 1),&DAT_80031ee8); - } - } - else { - if (cVar10 == '\v') { - iVar5 = do_something_if_object_destroyed((int)objdata); - if (iVar5 == 1) { - set_ptr_monitor_img_to_obj_ani_slot - ((undefined4 *)(objdata + 1),&DAT_80031ee8); - set_ptr_monitor_img_to_obj_ani_slot - ((undefined4 *)&objdata[1].damage,&DAT_80031ee8); - set_ptr_monitor_img_to_obj_ani_slot - (&objdata[2].ptr_allocated_collisiondata_block,&DAT_80031ee8); - set_ptr_monitor_img_to_obj_ani_slot(&objdata[3].runtime_y_pos,&DAT_80031ee8) - ; - } - } - else { - if (cVar10 == '$') { - iVar5 = do_something_if_object_destroyed((int)objdata); - if (iVar5 == 1) { - init_trigger_toxic_gas_effect(&objdata->runtime_x_pos); - } - } - else { - if (cVar10 == '\x15') { - iVar5 = do_something_if_object_destroyed((int)objdata); - if (iVar5 == 0) { - *(float *)&objdata[1].pad = - (*(float *)(objdata + 1) * - (*(float *)&objdata->damage - objdata->field_70)) / - *(float *)&objdata->damage; - } - else { - *(undefined4 *)&objdata[1].pad = 0; - } - } - } - } - } - } - } - iVar5 = do_something_if_object_destroyed((int)objdata); - if ((iVar5 == 1) && (iVar5 = *(int *)((int)objdata->runtime_ptr_obj_posdata + 0x20), iVar5 != 0) - ) { - iVar3 = *(int *)(iVar5 + 0x24); - while (iVar9 = iVar3, proc_7F04BFD0(iVar5,1), iVar9 != 0) { - iVar3 = *(int *)(iVar9 + 0x24); - iVar5 = iVar9; - } - } - return; -} - - - -void proc_7F04E720(object_standard *param_1,float *param_2) - -{ - int iVar1; - int iVar2; - object_standard *poVar3; - longlong lVar4; - int iVar5; - object_standard *param_1_00; - float extraout_f12; - ushort *apuStack96 [2]; - float fStack88; - undefined4 uStack84; - float fStack80; - int iStack76; - float fStack72; - undefined4 uStack68; - float fStack64; - undefined4 *apuStack24 [6]; - - iVar1 = *(int *)¶m_1->pad; - if (((*(uint *)(iVar1 + 100) & 0x1000) == 0) && ((*(byte *)¶m_1->field_0x1 & 2) != 0)) { - param_1_00 = (object_standard *)param_1->runtime_MATRIX2; - if ((object_standard *)param_1->runtime_MATRIX2 == NULL) { - iVar2 = *(int *)(iVar1 + 0x14); - } - else { - do { - poVar3 = (object_standard *)param_1_00->runtime_MATRIX3; - proc_7F04E720(param_1_00,param_2); - param_1_00 = poVar3; - } while (poVar3 != NULL); - iVar2 = *(int *)(iVar1 + 0x14); - } - apuStack24[0] = NULL; - if ((*(char *)(iVar1 + 3) == '\x01') && - ((((*(ushort *)(iVar1 + 0x98) & 4) != 0 || (*(short *)(iVar1 + 0x9a) == 6)) || - (*(short *)(iVar1 + 0x9a) == 7)))) { - lVar4 = proc_7F0747D0(iVar1 + 0xd0,*(float **)(iVar2 + 0xc),param_2,param_2 + 3); - apuStack24[0] = (undefined4 *)**(ushort ***)(iVar2 + 8); - if ((0 < lVar4) && - (iVar5 = proc_7F04D9B0(iVar2,(ushort *)apuStack24[0],param_2,param_2 + 3,&fStack72, - &iStack76,apuStack96), iVar5 == 0)) { - lVar4 = 0; - } - } - else { - do { - iVar5 = proc_7F0752FC(iVar2,param_2,param_2 + 3,(ushort **)apuStack24); - lVar4 = (longlong)iVar5; - if ((0 < lVar4) && - (iVar5 = proc_7F04D9B0(iVar2,(ushort *)apuStack24[0],param_2,param_2 + 3, - &fStack72,&iStack76,apuStack96), iVar5 != 0)) break; - } while (0 < lVar4); - } - if (0 < lVar4) { - fStack88 = fStack72; - uStack84 = uStack68; - fStack80 = fStack64; - proc_7F058474((float *)(*(int *)(iVar2 + 0xc) + iStack76 * 0x40),&fStack88); - if (-fStack80 <= param_2[0xd]) { - iVar5 = 1; - if ((-1 < *(int *)(iVar1 + 8) << 0xe) && - (((*(char *)(iVar1 + 3) == '*' || (*(char *)(iVar1 + 3) == '/')) || - ((iVar1 = *(int *)(*(int *)(iVar1 + 0x14) + 8), - *(item_related **)(iVar1 + 4) == &prop_door_related && - (apuStack96[0] == *(ushort **)(*(int *)(iVar1 + 8) + 0xc))))))) { - iVar5 = 0; - } - proc_7F03B9C0((int)param_2,param_1,extraout_f12,-fStack80,(int)lVar4,apuStack24[0], - &fStack72,iStack76,apuStack96[0],iVar2,iVar5); - } - } - } - return; -} - - - -void proc_7F04E9BC(object_standard *param_1,float *param_2) - -{ - int iVar1; - int iVar2; - int iVar3; - float fVar4; - - iVar1 = *(int *)¶m_1->pad; - iVar2 = *(int *)(iVar1 + 0x14); - iVar3 = proc_7F040078(iVar1); - if (((((*(byte *)¶m_1->field_0x1 & 2) != 0) && ((*(uint *)(iVar1 + 100) & 0x1000) == 0)) && - ((*(uint *)(iVar1 + 0xc) & 0x8000) == 0)) && - (fVar4 = proc_7F03EB9C(iVar3,*(int *)(iVar2 + 0xc)), - -(fVar4 + *(float *)(*(int *)(iVar2 + 0xc) + 0x38)) <= param_2[0xd])) { - proc_7F04E720(param_1,param_2); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f04ed2c) overlaps instruction at (ram,0x7f04ed28) -// - -void proc_7F04EA68(float *param_1,float *param_2) - -{ - char cVar1; - object_standard *object; - item_related *piVar2; - bool bVar3; - float *pfVar6; - ulonglong uVar4; - u32 uVar7; - longlong lVar5; - int iVar8; - hit_header **pphVar9; - undefined uVar10; - u32 uVar11; - hit_header *phVar12; - float *pfVar13; - float fVar14; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float fStack16; - float fStack12; - float fStack8; - - iVar8 = *(int *)((int)param_2[1] + 0x1c); - if (iVar8 == 0) { - fVar14 = *param_2; - } - else { - do { - iVar8 = *(int *)(iVar8 + 0x1c); - } while (iVar8 != 0); - fVar14 = *param_2; - } - object = *(object_standard **)((int)param_2[1] + 4); - pfVar13 = (float *)0x41d00000; - fStack16 = (*param_1 - (fVar14 * param_1[3]) / param_1[5]) - param_1[3] * 26.00000000; - fStack12 = (param_1[1] - (*param_2 * param_1[4]) / param_1[5]) - param_1[4] * 26.00000000; - fStack8 = (param_1[2] - *param_2) - param_1[5] * 26.00000000; - pfVar6 = (float *)get_BONDdata_field_10D4(); - proc_7F058474(pfVar6,&fStack16); - fVar14 = extraout_f12; - if (param_2[0x13] != 0.00000000) { - proc_7F067B4C(&fStack16); - fVar14 = extraout_f12_00; - } - proc_7F0A3E1C(&fStack16,1,fVar14,0); - uVar4 = check_if_object_has_not_been_destroyed((int)object); - if (uVar4 == 0) { - fVar14 = param_2[0x13]; - } - else { - lVar5 = check_if_destroyable_not_invincible((int)object); - if (lVar5 == 0) { - fVar14 = param_2[0x13]; - } - else { - if (param_2[0x13] == 0.00000000) { - fVar14 = param_2[0x13]; - } - else { - inc_curplayer_hitcount_with_weapon((int)param_1[6],6); - fVar14 = param_2[0x13]; - } - } - } - if (fVar14 == 0.00000000) { - proc_7F064720((float *)((int)param_2[1] + 8)); - } - else { - pfVar13 = (float *)recall_joy2_hits_edit_detail_edit_flag(); - } - fVar14 = param_1[6]; - if (fVar14 != 0.00000000) { - if (param_2[0x13] == 0.00000000) { - fVar14 = param_2[1]; - piVar2 = *(item_related **) - (*(int *)((int)object->runtime_ptr_obj_instance_controller + 8) + 4); - uVar7 = get_random_value(); - proc_7F0A108C(param_2 + 4,param_2 + 7,(short)(uVar7 % 3) + 0x11,1,(int)fVar14, - SUB41(param_2[0x10],0),piVar2 == &prop_door_related); - fVar14 = param_1[6]; - } - else { - pphVar9 = hit_header_array[0]; - if (-1 < *(short *)((int)param_2 + 0x3a)) { - pphVar9 = hit_header_array - [(uint)(byte)image_entries[*(short *)((int)param_2 + 0x3a)].flag1 & 0xf]; - } - uVar7 = get_random_value(); - iVar8 = *(int *)((int)object->runtime_ptr_obj_instance_controller + 8); - uVar10 = 0; - if (*(short *)((int)pphVar9 + 10) == 0) { - trap(0x1c00); - } - if ((*(item_related **)(iVar8 + 4) == &prop_door_related) && - (param_2[0x11] == *(float *)(*(int *)(iVar8 + 8) + 0xc))) { -LAB_7f04ed50: - uVar10 = 1; - phVar12 = pphVar9[1]; - } - else { - if (*(item_related **)(iVar8 + 4) == &prop_cctv_related) { - if (param_2[0x11] == *(float *)(*(int *)(iVar8 + 8) + 4)) goto LAB_7f04ed50; - phVar12 = pphVar9[1]; - } - else { - phVar12 = pphVar9[1]; - } - } - proc_7F0A108C(param_2 + 4,param_2 + 7, - (ushort)*(byte *)((int)&phVar12->pImageIDArray + - uVar7 % (int)*(short *)((int)pphVar9 + 10)),1, - (int)param_2[1],SUB41(param_2[0x10],0),uVar10); - fVar14 = param_1[6]; - } - } - proc_7F05DF84((int)fVar14); - cVar1 = *(char *)((int)&object->obj + 1); - if (cVar1 == '\r') { - pfVar13 = (float *)((float)pfVar13 * flt_80030B24); - } - else { - if (cVar1 == '\x06') { - iVar8 = *(int *)((int)object->runtime_ptr_obj_instance_controller + 8); - if ((*(item_related **)(iVar8 + 4) == &prop_cctv_related) && - (param_2[0x11] == *(float *)(*(int *)(iVar8 + 8) + 4))) { - pfVar13 = (float *)((float)pfVar13 * 100.00000000); - proc_7F04DE18(object); - } - pfVar13 = (float *)((float)pfVar13 * flt_80030B18); - } - } - get_cur_playernum(); - proc_7F04E0CC((int)object,extraout_f12_01,pfVar13,(int)&fStack16,(int)param_1[6]); - if (((*(item_related **)(*(int *)((int)object->runtime_ptr_obj_instance_controller + 8) + 4) == - &prop_door_related) && (param_2[0x13] == 0.00000000)) && - (*(char *)((int)&object[1].runtime_MATRIX9 + 1) = - *(char *)((int)&object[1].runtime_MATRIX9 + 1) + '\x01', - '\x02' < *(char *)((int)&object[1].runtime_MATRIX9 + 1))) { - proc_7F04DD68(object); - } - proc_7F044200((int)param_2[1]); - bVar3 = false; - lVar5 = check_if_collectable_object((int)object); - if (lVar5 == 0) { - if (-1 < (int)(object->flags << 10)) { - uVar11 = object->flags2; - goto LAB_7f04eed8; - } - } - else { - if ((int)(object->flags << 9) < 0) { - uVar11 = object->flags2; - goto LAB_7f04eed8; - } - } - bVar3 = true; - uVar11 = object->flags2; -LAB_7f04eed8: - if ((uVar11 & 2) == 0) { - uVar11 = object->flags2; - } - else { - uVar4 = check_if_object_has_not_been_destroyed((int)object); - if (uVar4 == 0) { - bVar3 = true; - uVar11 = object->flags2; - } - else { - uVar11 = object->flags2; - } - } - if ((uVar11 & 0x400) != 0) { - bVar3 = false; - } - if (bVar3) { - proc_7F04BCDC((int)object,param_1 + 3); - } - return; -} - - - -ulonglong check_if_object_has_not_been_destroyed(int param_1) - -{ - int iVar1; - - iVar1 = do_something_if_object_destroyed(param_1); - return (ulonglong)(iVar1 == 0); -} - - - -undefined8 proc_7F04EF58(int param_1) - -{ - int iVar1; - ulonglong uVar2; - longlong lVar3; - byte bVar4; - float fVar5; - float vector1; - float vector2; - float fVar6; - float fVar7; - int iStack44; - float fStack40; - int iStack12; - int iStack8; - - iStack8 = *(int *)(param_1 + 4); - if (*(char *)(iStack8 + 3) == '\x05') { - bVar4 = *(byte *)(param_1 + 1); - } - else { - if (*(int *)(iStack8 + 8) << 0xc < 0) { - bVar4 = *(byte *)(param_1 + 1); - } - else { - if ((*(uint *)(iStack8 + 100) & 0x13) == 0) { - return 1; - } - bVar4 = *(byte *)(param_1 + 1); - } - } - if ((bVar4 & 2) == 0) { - return 1; - } - uVar2 = check_if_object_has_not_been_destroyed(iStack8); - iVar1 = DAT_80071df8; - if (uVar2 != 0) { - if (*(int *)(iStack8 + 8) << 6 < 0) { - return 1; - } - iStack12 = get_curplayer_positiondata(); - iStack44 = *(int *)(iStack12 + 0x14); - vector1 = *(float *)(iStack8 + 0x58) - *(float *)(iStack12 + 8); - fVar7 = *(float *)(iStack8 + 0x5c) - *(float *)(iStack12 + 0xc); - vector2 = *(float *)(iStack8 + 0x60) - *(float *)(iStack12 + 0x10); - if ((*(char *)(iStack8 + 3) == '(') && (*(int *)(iStack8 + 8) << 2 < 0)) { - fVar5 = 400.00000000; - fVar6 = flt_80052EF4; - fStack40 = flt_80052EF8; - } - else { - fVar5 = 200.00000000; - fVar6 = flt_80052EFC; - fStack40 = flt_80052F00; - } - if (fVar6 <= vector1 * vector1 + vector2 * vector2) { - return 1; - } - if (fVar5 <= fVar7) { - return 1; - } - if (fVar7 <= -fVar5) { - return 1; - } - vector2 = convert_angle_using_inverse((f32)vector1,(f32)vector2); - fVar7 = get_curplay_horizontal_rotation_in_degrees(); - fVar6 = vector2 - fVar7; - vector1 = fVar6; - if (vector2 < fVar7) { - vector1 = fVar6 + flt_80052F04; - } - if (flt_80052F08 < vector1) { - vector1 = flt_80052F0C - vector1; - } - if (fStack40 < vector1) { - return 1; - } - lVar3 = (longlong)param_1; - iVar1 = param_1; - if (((*(uint *)(iStack8 + 0xc) & 0x800) != 0) && - (proc_7F0B0BE4(&iStack44,vector2,fVar6,*(float *)(iStack12 + 8), - *(float *)(iStack12 + 0x10)), iVar1 = param_1, lVar3 == 0)) { - return 1; - } - } - DAT_80071df8 = iVar1; - return 1; -} - - - -undefined4 proc_7F04F170(char *param_1) - -{ - int iVar1; - s32 sVar3; - undefined8 uVar2; - uint uVar4; - int iVar5; - undefined4 uStack8; - - iVar1 = *(int *)(param_1 + 4); - uStack8 = 0; - if (*(char *)(iVar1 + 3) == '\x05') { - play_sfx_a1(ptr_sfx_buf,0xba,NULL); - sVar3 = is_alarm_on(); - if (sVar3 != 0) { - stop_alarm(); - iVar5 = *(int *)(iVar1 + 8); - goto LAB_7f04f1d4; - } - start_alarm(); - } - iVar5 = *(int *)(iVar1 + 8); -LAB_7f04f1d4: - if (iVar5 << 0xc < 0) { - uVar2 = collect_or_interact_object(param_1,1); - uStack8 = (undefined4)uVar2; - uVar4 = *(uint *)(iVar1 + 100); - } - else { - uVar4 = *(uint *)(iVar1 + 100); - } - *(uint *)(iVar1 + 100) = uVar4 | 0x4000; - proc_7F03E6A0((int)param_1); - return uStack8; -} - - - -void proc_7F04F218(int param_1,longlong param_2) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 4); - if (param_2 != 0) { - *(byte *)(iVar1 + 2) = *(byte *)(iVar1 + 2) & 0xdf; - return; - } - *(byte *)(iVar1 + 2) = *(byte *)(iVar1 + 2) | 0x20; - return; -} - - - -void proc_7F04F244(int param_1,int *param_2,undefined4 *param_3,undefined4 *param_4, - undefined4 *param_5) - -{ - int iVar1; - - iVar1 = *(int *)(param_1 + 4); - if (*(undefined4 **)(iVar1 + 0x68) == NULL) { - *param_3 = 0; - } - else { - if ((*(uint *)(iVar1 + 8) & 0x100) == 0) { - *param_3 = 0; - } - else { - if ((*(byte *)(iVar1 + 2) & 0x20) == 0) { - *param_3 = **(undefined4 **)(iVar1 + 0x68); - *param_2 = *(int *)(iVar1 + 0x68) + 4; - *param_5 = *(undefined4 *)(*(int *)(iVar1 + 0x68) + 0x48); - *param_4 = *(undefined4 *)(*(int *)(iVar1 + 0x68) + 0x44); - return; - } - *param_3 = 0; - } - } - return; -} - - - -void append_text_picked_up(u8 *buffer,u8 *param_2,u8 *param_3) - -{ - u8 *textfiletext; - - textfiletext = get_textptr_for_textID(0xa400); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - return; -} - - - -void append_text_ammo_amount_word(u8 *buffer,AMMOTYPES ammotype,u32 amount) - -{ - u8 *textfiletext; - - if (true) { - 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((char *)buffer,(char *)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((char *)buffer,(char *)textfiletext); - } - else { - textfiletext = get_textptr_for_textID(0xa401); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - break; - case AMMO_EXPLOSIVEPEN: - case AMMO_BOMBCASE: - if (amount == 1) { - textfiletext = get_textptr_for_textID(0xa403); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - else { - textfiletext = get_textptr_for_textID(0xa401); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - break; - case AMMO_GEKEY: - case AMMO_TOKEN: - if (amount == 1) { - textfiletext = get_textptr_for_textID(0xa404); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - else { - textfiletext = get_textptr_for_textID(0xa401); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - } - } - return; -} - - - -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((char *)buffer,(char *)textfiletext); - } - else { - if (ammotype == AMMO_KNIFE) { - textfiletext = get_textptr_for_textID(41999); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - if (amount == 1) { - textfiletext = get_textptr_for_textID(42000); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - else { - textfiletext = get_textptr_for_textID(0xa411); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - } - else { - if (ammotype == AMMO_DYNAMITE) { - if (amount == 1) { - textfiletext = get_textptr_for_textID(0xa419); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - else { - textfiletext = get_textptr_for_textID(0xa41a); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - textfiletext = get_textptr_for_textID(0xa418); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - else { - if (true) { - switch(ammotype) { - case AMMO_SHOTGUN: - textfiletext = get_textptr_for_textID(0xa406); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_GRENADE: - textfiletext = get_textptr_for_textID(0xa409); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_ROCKETS: - textfiletext = get_textptr_for_textID(0xa40b); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_REMOTEMINE: - textfiletext = get_textptr_for_textID(0xa40c); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_PROXMINE: - textfiletext = get_textptr_for_textID(0xa40d); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_TIMEDMINE: - textfiletext = get_textptr_for_textID(0xa40e); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_GRENADEROUND: - textfiletext = get_textptr_for_textID(0xa40a); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_MAGNUM: - textfiletext = get_textptr_for_textID(0xa407); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_GGUN: - textfiletext = get_textptr_for_textID(0xa408); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_DARTS: - textfiletext = get_textptr_for_textID(0xa413); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_EXPLOSIVEPEN: - textfiletext = get_textptr_for_textID(0xa414); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_BOMBCASE: - textfiletext = get_textptr_for_textID(0xa415); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_FLARE: - textfiletext = get_textptr_for_textID(0xa416); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_PITON: - textfiletext = get_textptr_for_textID(0xa417); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_BUG: - textfiletext = get_textptr_for_textID(0xa41b); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_MICRO_CAMERA: - textfiletext = get_textptr_for_textID(0xa41c); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_GEKEY: - textfiletext = get_textptr_for_textID(0xa41d); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_PLASTIQUE: - textfiletext = get_textptr_for_textID(0xa41f); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - break; - case AMMO_TOKEN: - textfiletext = get_textptr_for_textID(0xa41e); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - } - if (1 < (int)amount) { - textfiletext = get_textptr_for_textID(0xa412); - string_append_from_obseg_textbank((char *)buffer,(char *)textfiletext); - } - } - } - } - return; -} - - - -void set_sound_effect_for_ammo_collection(AMMOTYPES ammotype) - -{ - if (true) { - 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,NULL); - 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,NULL); - break; - case AMMO_KNIFE: - play_sfx_a1(ptr_sfx_buf,0xe9,NULL); - } - } - 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,NULL); - } - 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,NULL); - } - else { - if (((weapontype == ITEM_GRENADE) || (weapontype == ITEM_57)) || (weapontype == ITEM_56) - ) { - play_sfx_a1(ptr_sfx_buf,0xea,NULL); - } - else { - if (weapontype == ITEM_LASER) { - play_sfx_a1(ptr_sfx_buf,0xf2,NULL); - } - else { - play_sfx_a1(ptr_sfx_buf,0xe8,NULL); - } - } - } - } - return; -} - - - -void prepare_ammo_type_collection_text(u8 *finaltext,AMMOTYPES ammotype,u32 quantity) - -{ - s32 numplayers; - - *finaltext = '\0'; - if (j_text_trigger == 0) { - numplayers = get_num_players(); - if (numplayers < 3) { - append_text_picked_up(finaltext,(u8 *)ammotype,(u8 *)quantity); - append_text_ammo_amount_word(finaltext,ammotype,quantity); - } - apped_text_ammotype(finaltext,ammotype,quantity); - string_append_from_obseg_textbank((char *)finaltext,".\n"); - } - else { - apped_text_ammotype(finaltext,ammotype,quantity); - numplayers = get_num_players(); - if (numplayers < 3) { - append_text_picked_up(finaltext,(u8 *)ammotype,(u8 *)quantity); - } - string_append_from_obseg_textbank((char *)finaltext,"\n"); - } - return; -} - - - -void display_text_when_ammo_collected(AMMOTYPES ammotype,u32 amount) - -{ - u32 *puVar1; - u32 *puVar2; - u32 *puVar3; - u32 *puVar4; - u32 stringbuf [25]; - - puVar3 = dword_800529D8; - puVar1 = stringbuf; - do { - puVar4 = puVar3 + 3; - puVar2 = puVar1 + 3; - *puVar1 = *puVar3; - puVar1[1] = puVar3[1]; - puVar1[2] = puVar3[2]; - puVar3 = puVar4; - puVar1 = puVar2; - } while (puVar4 != dword_800529D8 + 0x18); - *puVar2 = dword_800529D8[24]; - prepare_ammo_type_collection_text((u8 *)stringbuf,ammotype,amount); - display_string_in_lower_left_corner((char *)stringbuf); - return; -} - - - -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); - 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); - } - } - } - } - } - } - } - } - } - } - } - } - } - return; -} - - - -uint get_ammo_in_magazine(int objdata) - -{ - s32 sVar1; - uint uVar2; - - uVar2 = 1; - if (true) { - switch(*(undefined4 *)(objdata + 0x80)) { - case 1: - uVar2 = 10; - break; - case 2: - uVar2 = 10; - break; - case 3: - uVar2 = 10; - break; - case 4: - uVar2 = 5; - break; - case 0xc: - uVar2 = 5; - break; - case 0xd: - uVar2 = 3; - break; - case 0xe: - uVar2 = 4; - } - } - if ((1 < uVar2) && (sVar1 = get_num_players(), sVar1 == 1)) { - uVar2 = (uint)((float)uVar2 * solo_ammo_multiplier); - } - return uVar2; -} - - - -uint ammo_collected_from_weapon(void *objdata) - -{ - AMMOTYPES ammotype; - s32 sVar1; - uint uVar2; - - ammotype = get_ammo_type_for_weapon((int)*(char *)((int)objdata + 0x80)); - uVar2 = 1; - if (*(int *)((int)objdata + 8) << 1 < 0) { - uVar2 = 0; - } - else { - if (true) { - switch(ammotype) { - case AMMO_9MM: - uVar2 = 10; - break; - case AMMO_9MM_2: - uVar2 = 10; - break; - case AMMO_RIFLE: - uVar2 = 10; - break; - case AMMO_SHOTGUN: - uVar2 = 5; - break; - case AMMO_GRENADEROUND: - uVar2 = 3; - break; - case AMMO_MAGNUM: - uVar2 = 5; - break; - case AMMO_GGUN: - uVar2 = 3; - break; - case AMMO_DARTS: - uVar2 = 4; - } - } - if ((1 < uVar2) && (sVar1 = get_num_players(), sVar1 == 1)) { - uVar2 = (uint)((float)uVar2 * solo_ammo_multiplier); - } - } - return uVar2; -} - - - -void generate_language_specific_text_for_weapon(char *finalstring,ITEM_IDS itemtype) - -{ - bool morethan2players; - s32 numplayers; - AMMOTYPES ammotype; - u8 *textfiletext; - size_t strlen; - - morethan2players = false; - if (j_text_trigger == 0) { - numplayers = get_num_players(); - if (numplayers < 3) { - textfiletext = get_textptr_for_textID(0xa400); - textpointer_load_parse_something(finalstring,(char *)textfiletext); - } - } - else { - textpointer_load_parse_something(finalstring,""); - numplayers = get_num_players(); - if (2 < numplayers) { - morethan2players = true; - } - } - if (false) { -switchD_7f04fe74_caseD_17: - textfiletext = get_textptr_for_textID(0xa43b); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - } - else { - switch(itemtype) { - case ITEM_KNIFE: - textfiletext = get_textptr_for_textID(0xa420); - string_append_from_obseg_textbank(finalstring,(char *)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,(char *)textfiletext); - break; - case ITEM_WPPKSIL: - textfiletext = get_textptr_for_textID(0xa422); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_TT33: - textfiletext = get_textptr_for_textID(0xa423); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_SKORPION: - textfiletext = get_textptr_for_textID(0xa424); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_AK47: - textfiletext = get_textptr_for_textID(0xa425); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_UZI: - textfiletext = get_textptr_for_textID(0xa426); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_MP5K: - textfiletext = get_textptr_for_textID(0xa427); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_MP5KSIL: - textfiletext = get_textptr_for_textID(0xa428); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_SPECTRE: - textfiletext = get_textptr_for_textID(0xa429); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_M16: - textfiletext = get_textptr_for_textID(0xa42a); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_FNP90: - textfiletext = get_textptr_for_textID(0xa42b); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_SHOTGUN: - textfiletext = get_textptr_for_textID(0xa42c); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_AUTOSHOT: - textfiletext = get_textptr_for_textID(0xa42d); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_SNIPERRIFLE: - textfiletext = get_textptr_for_textID(0xa42e); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_RUGER: - textfiletext = get_textptr_for_textID(0xa431); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_GOLDENGUN: - textfiletext = get_textptr_for_textID(0xa432); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_SILVERWPPK: - textfiletext = get_textptr_for_textID(0xa436); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_GOLDWPPK: - textfiletext = get_textptr_for_textID(0xa437); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_LASER: - textfiletext = get_textptr_for_textID(0xa433); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - default: - goto switchD_7f04fe74_caseD_17; - case ITEM_GRENADELAUNCH: - textfiletext = get_textptr_for_textID(0xa42f); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_ROCKETLAUNCH: - textfiletext = get_textptr_for_textID(0xa430); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_FLAREPISTOL: - textfiletext = get_textptr_for_textID(0xa434); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_PITONGUN: - textfiletext = get_textptr_for_textID(0xa435); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_KEYCARD: - textfiletext = get_textptr_for_textID(0xa438); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_KEYYALE: - textfiletext = get_textptr_for_textID(0xa439); - string_append_from_obseg_textbank(finalstring,(char *)textfiletext); - break; - case ITEM_KEYBOLT: - textfiletext = get_textptr_for_textID(0xa43a); - string_append_from_obseg_textbank(finalstring,(char *)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,(char *)textfiletext); - string_append_from_obseg_textbank(finalstring,"\n"); - } - return; -} - - - -void display_text_for_weapon_in_lower_left_corner(ITEM_IDS weaponid) - -{ - char acStack100 [100]; - - generate_language_specific_text_for_weapon(acStack100,weaponid); - display_string_in_lower_left_corner(acStack100); - return; -} - - - -undefined8 collect_or_interact_object(char *param_1,int param_2) - -{ - bool bVar1; - char cVar2; - object_standard *objdata; - AMMOTYPES AVar5; - ulonglong uVar3; - char *text; - AMMOTYPES ammotype; - int iVar6; - int iVar7; - s32 sVar8; - u8 *text_00; - undefined8 uVar4; - AMMOTYPES AVar9; - int iVar10; - object_standard *poVar11; - uint amount; - - objdata = *(object_standard **)(param_1 + 4); - if ((pPlayer->bonddead != 0) || (clock_timer == 0)) { - return 0; - } - if (false) { -switchD_7f0502bc_caseD_3: - play_sfx_a1(ptr_sfx_buf,0xe5,NULL); - if (param_2 == 0) { - iVar10 = 4; - } - else { - text_00 = (u8 *)proc_7F08D95C((int)objdata); - if (text_00 == NULL) { - text_00 = get_textptr_for_textID(0xa43f); - } - display_string_in_lower_left_corner((char *)text_00); - iVar10 = 4; - } - } - else { - switch(objdata->type) { - default: - goto switchD_7f0502bc_caseD_3; - case 4: - play_sfx_a1(ptr_sfx_buf,0xe5,NULL); - if (param_2 != 0) { - text_00 = (u8 *)proc_7F08D95C((int)objdata); - if (text_00 == NULL) { - text_00 = get_textptr_for_textID(0xa43c); - } - display_string_in_lower_left_corner((char *)text_00); - } - iVar10 = 4; - break; - case 7: - amount = get_ammo_in_magazine((int)objdata); - add_ammo_to_inventory(*(AMMOTYPES *)(objdata + 1),amount,1,param_2); - iVar10 = 1; - break; - case 8: - bVar1 = false; - set_sound_effect_for_weapontype_collection((int)*(char *)&objdata[1].extrascale); - if (*(char *)&objdata[1].extrascale == '\x1d') { - add_item_to_inventory(ITEM_TRIGGER); - } - else { - if (*(char *)&objdata[1].extrascale == 'X') { - draw_item_in_hand_has_more_ammo(HAND_RIGHT,ITEM_TOKEN); - } - } - if ((objdata->runtime_bitflags & 0x400U) == 0) { - uVar3 = proc_7F08C764(param_1); - bVar1 = uVar3 != 0; - if (param_2 != 0) { - text = (char *)proc_7F08D9A4((int)*(char *)&objdata[1].extrascale); - if (text == NULL) { - if (bVar1) { - display_text_for_weapon_in_lower_left_corner - ((int)*(char *)&objdata[1].extrascale); - } - } - else { - bVar1 = true; - display_string_in_lower_left_corner(text); - } - } - iVar10 = 1; - cVar2 = *(char *)&objdata[1].extrascale; - } - else { - if (*(char *)&objdata[1].extrascale < '!') { - proc_7F08C764(param_1); - } - if (param_2 != 0) { - text = (char *)proc_7F08D95C((int)objdata); - if (text == NULL) { - display_text_for_weapon_in_lower_left_corner - ((int)*(char *)&objdata[1].extrascale); - } - else { - display_string_in_lower_left_corner(text); - } - bVar1 = true; - } - iVar10 = 4; - cVar2 = *(char *)&objdata[1].extrascale; - } - ammotype = get_ammo_type_for_weapon((int)cVar2); - if ((ammotype != 0) && (amount = ammo_collected_from_weapon(objdata), 0 < (int)amount)) - { - iVar6 = check_cur_player_ammo_amount_in_inventory(ammotype); - iVar7 = get_max_ammo_for_type(ammotype); - if (iVar6 < iVar7) { - iVar6 = check_cur_player_ammo_amount_in_inventory(ammotype); - give_cur_player_ammo(ammotype,iVar6 + amount); - if ((!bVar1) && (param_2 != 0)) { - display_text_when_ammo_collected(ammotype,amount); - } - } - } - break; - case 0x14: - ammotype = AMMO_9MM; - AVar5 = 0; - poVar11 = objdata; - while( true ) { - AVar9 = ammotype; - ammotype = AVar9; - if (AVar5 == AMMO_9MM) { - ammotype = AMMO_9MM; - } - amount = (uint)*(ushort *)&poVar11[1].hidden2; - sVar8 = get_num_players(); - if (sVar8 == 1) { - amount = (uint)((float)amount * solo_ammo_multiplier); - } - add_ammo_to_inventory(ammotype,amount,0,param_2); - poVar11 = (object_standard *)&poVar11->obj; - if (AVar9 == AMMO_GGUN) break; - ammotype = AVar9 + AMMO_9MM; - AVar5 = AVar9; - } - play_sfx_a1(ptr_sfx_buf,0xea,NULL); - iVar10 = 1; - break; - case 0x15: - add_BONDdata_watch_armor(*(f32 *)&objdata[1].obj); - play_sfx_a1(ptr_sfx_buf,0x51,NULL); - if (param_2 != 0) { - text_00 = (u8 *)proc_7F08D95C((int)objdata); - if (text_00 == NULL) { - sVar8 = get_num_players(); - if (sVar8 < 3) { - text_00 = get_textptr_for_textID(0xa43d); - } - else { - text_00 = get_textptr_for_textID(0xa43e); - } - } - display_string_in_lower_left_corner((char *)text_00); - } - iVar10 = 1; - } - } - if ((iVar10 == 1) && ((objdata->runtime_bitflags & 0x10U) == 0)) { - proc_7F040D98(objdata,0,(ulonglong)(byte)objdata->hidden2 & 4); - uVar4 = 1; - } - else { - uVar4 = 0; - if (iVar10 != 0) { - proc_7F08C724((int)param_1); - uVar4 = 4; - } - } - return uVar4; -} - - - -void object_collectability_routine(object_standard *param_1) - -{ - char cVar1; - bool bVar2; - longlong lVar3; - BOOL BVar5; - AMMOTYPES AVar6; - int item; - int hand; - int iVar7; - s32 sVar8; - ulonglong uVar4; - AMMOTYPES type; - AMMOTYPES AVar9; - ulonglong uVar10; - f32 fVar11; - float fVar12; - float fVar13; - float fVar14; - f32 extraout_f14; - u32 uStack76; - int iStack72; - int iStack48; - int iStack44; - int iStack40; - AMMOTYPES AStack36; - int iStack28; - int iStack24; - int iStack20; - int iStack8; - int iStack4; - - iStack4 = *(int *)¶m_1->obj; - lVar3 = check_if_collectable_object(iStack4); - if ((lVar3 == 0) || (*(char *)(iStack4 + 3) == '\x11')) { - item = *(int *)(iStack4 + 8); - if (-1 < item << 0xd) { - return; - } - } - else { - item = *(int *)(iStack4 + 8); - if (item << 0xb < 0) { - return; - } - } - if (item << 0xc < 0) { - return; - } - if ((((*(uint *)(iStack4 + 100) & 0x80) != 0) && (0 < *(int *)(*(int *)(iStack4 + 0x6c) + 0xbc)) - ) && (*(int *)(*(int *)(iStack4 + 0x6c) + 0x90) == 0)) { - return; - } - lVar3 = proc_7F03E7AC(iStack4); - if (lVar3 == 0) { - return; - } - cVar1 = *(char *)(iStack4 + 3); - if (cVar1 == '\b') { - iStack8 = *(int *)¶m_1->obj; - cVar1 = *(char *)(iStack8 + 0x80); - if ((cVar1 == '\x1a') || (cVar1 == 'W')) { - if (-1 < *(short *)(iStack8 + 0x82)) { - return; - } - if ((*(uint *)(iStack4 + 100) & 4) != 0) { - return; - } - } - if (((cVar1 == '\x1d') || (cVar1 == '\x1c')) || - ((cVar1 == '\x1b' || - ((((cVar1 == '!' || (cVar1 == '/')) || (cVar1 == '0')) || (cVar1 == '\"')))))) { - if (-1 < *(short *)(iStack8 + 0x82)) { - return; - } - if ((*(uint *)(iStack4 + 100) & 4) != 0) { - return; - } - } - if ((cVar1 == 'V') && ((*(uint *)(iStack4 + 100) & 0x80) != 0)) { - return; - } - BVar5 = is_weapon_in_inv((int)cVar1); - if ((BVar5 != FALSE) && - (AVar6 = get_ammo_type_for_weapon((int)*(char *)(iStack8 + 0x80)), AVar6 != 0)) { - item = get_ammo_count_for_weapon((int)*(char *)(iStack8 + 0x80)); - hand = get_max_ammo_for_weapon((int)*(char *)(iStack8 + 0x80)); - if (hand <= item) { - item = *(int *)(iStack8 + 0x84); - if ((item == 0) && (*(char *)(iStack8 + 0x81) < '\0')) { - return; - } - if (item == 0) { - cVar1 = *(char *)(iStack8 + 0x81); - } - else { - cVar1 = *(char *)(item + 0x80); - } - if (*(int *)(iStack8 + 8) << 3 < 0) { - hand = (int)*(char *)(iStack8 + 0x80); - item = (int)cVar1; - } - else { - item = (int)*(char *)(iStack8 + 0x80); - hand = (int)cVar1; - } - uVar10 = is_item_for_hand_in_inventory(item,hand); - if (uVar10 != 0) { - return; - } - } - } - goto LAB_7f050af0; - } - if (cVar1 == '\a') { - iStack20 = *(int *)¶m_1->obj; - item = check_cur_player_ammo_amount_in_inventory(*(AMMOTYPES *)(iStack20 + 0x80)); - hand = get_max_ammo_for_type(*(AMMOTYPES *)(iStack20 + 0x80)); - if (hand <= item) { - return; - } - goto LAB_7f050af0; - } - if (cVar1 == '\x14') { - iStack24 = *(int *)¶m_1->obj; - iStack28 = 1; - item = do_something_if_object_destroyed(iStack4); - if (item != 0) { - return; - } - AVar6 = 0; - hand = iStack24; - do { - AVar9 = AVar6 + AMMO_9MM; - type = AVar9; - if (AVar6 == AMMO_9MM) { - type = AMMO_9MM; - } - if (*(short *)(hand + 0x82) != 0) { - AStack36 = type; - item = check_cur_player_ammo_amount_in_inventory(type); - iVar7 = get_max_ammo_for_type(AStack36); - if (item < iVar7) { - iStack28 = 0; - item = iStack28; - break; - } - } - hand += 4; - AVar6 = AVar9; - item = iStack28; - } while (AVar9 != AMMO_GGUN); - } - else { - if (cVar1 != '\x15') goto LAB_7f050af0; - iStack40 = *(int *)¶m_1->obj; - iStack44 = 0; - fVar11 = get_BONDdata_watch_armor(); - if (*(float *)(iStack40 + 0x84) <= (float)fVar11) { - iStack44 = 1; - item = iStack44; - } - else { - sVar8 = get_num_players(); - item = iStack44; - if (1 < sVar8) { - item = get_scenario(); - uVar4 = SEXT48(item); - uVar10 = uVar4; - if (uVar4 == 2) { - iStack48 = item; - uVar4 = proc_7F08CF80(); - uVar10 = SEXT48(iStack48); - if (uVar4 != 0) { - iStack44 = 1; - item = iStack44; - goto joined_r0x7f050ae0; - } - } - item = iStack44; - if ((uVar10 == 3) && (checkforgoldengun(), item = iStack44, uVar4 != 0)) { - iStack44 = 1; - item = iStack44; - } - } - } - } -joined_r0x7f050ae0: - if (item != 0) { - return; - } -LAB_7f050af0: - fVar12 = get_curplay_vertical_rotation_in_degrees(); - if ((-0.78539819 <= fVar12) || (-1 < pPlayer->field_1270)) { - item = get_curplayer_positiondata(); - fVar12 = *(float *)(iStack4 + 0x58) - *(float *)(item + 8); - fVar14 = *(float *)(iStack4 + 0x5c) - *(float *)(item + 0xc); - fVar13 = *(float *)(iStack4 + 0x60) - *(float *)(item + 0x10); - if (pPlayer->field_1270 < 0x3c) { - bVar2 = fVar12 * fVar12 + fVar13 * fVar13 <= 10000.00000000; - uVar10 = (ulonglong)bVar2; - if (((bVar2) && (uVar10 = (ulonglong)(-200.00000000 <= fVar14), -200.00000000 <= fVar14) - ) && (uVar10 = 0, fVar14 <= 200.00000000)) { - uVar10 = 1; - } - } - else { - bVar2 = fVar12 * fVar12 + fVar13 * fVar13 <= 122500.00000000; - uVar10 = (ulonglong)bVar2; - if (((bVar2) && (uVar10 = (ulonglong)(-500.00000000 <= fVar14), -500.00000000 <= fVar14) - ) && (uVar10 = 0, fVar14 <= 500.00000000)) { - uVar10 = 1; - } - } - if ((uVar10 != 0) && ((*(uint *)(iStack4 + 0xc) & 0x1000) == 0)) { - uStack76 = *(u32 *)(item + 0x14); - iStack72 = (int)uVar10; - item = proc_7F0B0E24(&uStack76,(f32)fVar14,extraout_f14,*(f32 *)(item + 8)); - uVar10 = SEXT48(iStack72); - if ((item == 0) || (uStack76 != param_1->runtime_ptr_obj_instance_controller)) { - uVar10 = 0; - } - } - if (uVar10 != 0) { - collect_or_interact_object((char *)param_1,1); - } - } - return; -} - - - -undefined8 proc_7F050D30(int param_1,undefined4 *param_2,float *param_3,float *param_4) - -{ - int iVar1; - undefined8 uVar2; - int iVar3; - - if ((*(byte *)(param_1 + 1) & 2) == 0) { - uVar2 = 0; - } - else { - iVar1 = *(int *)(param_1 + 4); - iVar3 = getsubmatrix(*(int *)(iVar1 + 0x14),(uint)param_2,param_3,param_4); - param_2[2] = *(undefined4 *)(iVar3 + 0x38); - if ((float)param_2[2] < 0.00000000) { - *param_2 = *(undefined4 *)(iVar3 + 0x30); - param_2[1] = *(undefined4 *)(iVar3 + 0x34); - *param_4 = 0.00000000; - param_4[1] = 0.00000000; - *param_3 = 0.00000000; - param_3[1] = 0.00000000; - proc_7F03F90C(*(int *)(iVar1 + 0x14),param_3 + 1,param_3,param_4 + 1,param_4); - uVar2 = 1; - } - else { - uVar2 = 0; - } - } - return uVar2; -} - - - -void proc_7F050DE8(int param_1) - -{ - ushort **ppuVar1; - int iVar2; - uint *puVar4; - longlong lVar3; - ushort uVar5; - ushort *partdesc; - ushort *puVar6; - - ppuVar1 = *(ushort ***)(param_1 + 8); - partdesc = *ppuVar1; - if (partdesc != NULL) { - uVar5 = *partdesc; - while( true ) { - uVar5 &= 0xff; - if (uVar5 == 8) { - proc_7F06E970(param_1,partdesc); - puVar6 = *(ushort **)(partdesc + 10); - } - else { - if (uVar5 == 0x12) { - process_12_handle_switch(param_1,partdesc); - puVar6 = *(ushort **)(partdesc + 10); - } - else { - if (uVar5 == 0x17) { - process_17_pointer_to_head(param_1,partdesc); - puVar6 = *(ushort **)(partdesc + 10); - } - else { - if (uVar5 == 0x18) { - iVar2 = *(int *)(partdesc + 2); - puVar4 = (uint *)extract_id_from_object_structure_microcode - (param_1,partdesc); - if ((*(uint *)(iVar2 + 8) != *puVar4) && - (lVar3 = proc_7F04B590((int)ppuVar1,(int)partdesc), lVar3 != 0)) { - proc_7F09C044(*puVar4); - *puVar4 = *(uint *)(iVar2 + 8); - } - puVar6 = *(ushort **)(partdesc + 10); - } - else { - puVar6 = *(ushort **)(partdesc + 10); - } - } - } - } - if ((puVar6 == NULL) && (puVar6 = partdesc, partdesc != NULL)) { - puVar6 = *(ushort **)(partdesc + 6); - while ((puVar6 == NULL && - (partdesc = *(ushort **)(partdesc + 4), puVar6 = partdesc, partdesc != NULL)) - ) { - puVar6 = *(ushort **)(partdesc + 6); - } - } - if (puVar6 == NULL) break; - uVar5 = *puVar6; - partdesc = puVar6; - } - } - return; -} - - - -undefined * -proc_7F050F50(ushort *param_1,int param_2,ushort **param_3,undefined *param_4,uint param_5) - -{ - undefined *puVar1; - f32 scale; - - puVar1 = init_standard_object - ((object_standard *)param_1,(object_header *)param_3, - (object_standard *)param_4,param_5); - if ((puVar1 != NULL) && (*(int *)(param_1 + 10) != 0)) { - set_obj_instance_controller_scale(*(int *)(param_1 + 10),scale); - *(undefined4 *)(*(int *)(param_1 + 10) + 0x18) = *(undefined4 *)(param_2 + 0x1c); - *(undefined4 *)(*(int *)(param_1 + 10) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(param_2 + 0x1c) + 8) + 8) + 0x18); - proc_7F03A5A4((int)puVar1,*(int *)(param_2 + 0x18)); - *(undefined **)(param_2 + 0x1d8) = puVar1; - } - return puVar1; -} - - - -void proc_7F051028(ushort *param_1,int param_2) - -{ - ushort uVar1; - - uVar1 = param_1[2]; - load_model((int)(short)uVar1); - proc_7F050F50(param_1,param_2,(ushort **)PitemZ_entries[(int)(short)uVar1].header,NULL,0); - return; -} - - - -void proc_7F051084(ushort *param_1,int param_2) - -{ - *(float *)(param_1 + 0x3a) = (float)*(int *)(param_1 + 0x3a) / 65536.00000000; - proc_7F051028(param_1,param_2); - return; -} - - - -void proc_7F0510C0(undefined2 *param_1,int item,uint param_3) - -{ - dword *pdVar1; - object_standard *poVar2; - dword *pdVar3; - dword *pdVar4; - dword *pdVar5; - int *ptrobjinstance; - dword *pdVar6; - dword adStack144 [30]; - dword adStack24 [5]; - object_header *itemheader; - - itemheader = (object_header *)PitemZ_entries[item].header; - load_model(item); - poVar2 = remove_last_obj_pos_data_entry(); - ptrobjinstance = (int *)get_obj_instance_controller_for_header(itemheader); - pdVar3 = (dword *)proc_7F0515B0((ulonglong)(poVar2 == NULL),(ulonglong)(ptrobjinstance == NULL), - (int)itemheader); - if (poVar2 == NULL) { - poVar2 = remove_last_obj_pos_data_entry(); - } - if (ptrobjinstance == NULL) { - ptrobjinstance = (int *)get_obj_instance_controller_for_header(itemheader); - } - if (((pdVar3 == NULL) || (poVar2 == NULL)) || (ptrobjinstance == NULL)) { - if (ptrobjinstance != NULL) { - set_obj_instance_scale_to_zero(ptrobjinstance); - } - if (poVar2 != NULL) { - set_last_obj_pos_data(poVar2); - } - } - else { - pdVar5 = blank_11_object; - pdVar1 = adStack144; - do { - pdVar4 = pdVar1; - pdVar6 = pdVar5; - *pdVar4 = *pdVar6; - pdVar4[1] = pdVar6[1]; - pdVar4[2] = pdVar6[2]; - pdVar5 = pdVar6 + 3; - pdVar1 = pdVar4 + 3; - } while (pdVar6 + 3 != &DWORD_8003218c); - pdVar4[3] = DWORD_8003218c; - pdVar4[4] = pdVar6[4]; - pdVar5 = adStack144; - pdVar1 = pdVar3; - do { - pdVar6 = pdVar1; - pdVar4 = pdVar5; - pdVar5 = pdVar4 + 3; - *pdVar6 = *pdVar4; - pdVar6[1] = pdVar4[1]; - pdVar6[2] = pdVar4[2]; - pdVar1 = pdVar6 + 3; - } while (pdVar5 != adStack24); - pdVar6[3] = *pdVar5; - pdVar6[4] = pdVar4[4]; - *(short *)(pdVar3 + 1) = (short)item; - pdVar3[2] = param_3 | 0x4000; - *(undefined2 *)((int)pdVar3 + 6) = *param_1; - proc_7F050F50((ushort *)pdVar3,(int)param_1,(ushort **)itemheader,(undefined *)poVar2, - (uint)ptrobjinstance); - } - return; -} - - - -int proc_7F05126C(int param_1,longlong param_2,int param_3) - -{ - int iVar1; - char cVar4; - ulonglong uVar2; - object_standard *poVar3; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iVar9; - int iStack20; - object_standard *poStack16; - object_standard *apoStack12 [2]; - int iStack4; - - apoStack12[0] = NULL; - poStack16 = NULL; - iStack20 = -1; - iVar7 = -1; - iVar9 = -1; - iVar5 = dword_80030AF8; - do { - iVar1 = iVar5 * 0x88; - iVar8 = (&DAT_80071e90)[iVar5 * 0x22]; - if (iVar8 == 0) { - if (param_1 == 0) { - iVar8 = iVar5; - if (param_2 == 0) break; - iVar5 += 1; - } - else { - iVar5 += 1; - } - } - else { - if ((*(uint *)(&DAT_80071ee4 + iVar1) & 0x80) == 0) { - if (((&DAT_80071e82)[iVar1] & 4) == 0) { - if (*(short *)(&DAT_80071f02 + iVar1) < 1) { - if (*(int *)(iVar8 + 0x1c) != 0) { - cVar4 = (&DAT_80071f00)[iVar1]; - goto LAB_7f051324; - } -LAB_7f05136c: - iVar6 = iVar5; - if (param_2 == 0) { -LAB_7f0513a8: - if (((*(byte *)(iVar8 + 1) & 2) == 0) && (iVar7 < 0)) { - iVar7 = iVar6; - } - iVar8 = iVar6; - if (-1 < iVar9) { - iVar5 = iVar6 + 1; - goto LAB_7f0513d4; - } - } - else { - iStack4 = iVar5; - uVar2 = proc_7F06C060(*(int *)(&DAT_80071e94 + iVar1),param_3); - iVar6 = iStack4; - iVar8 = iVar9; - if (uVar2 != 0) { - iVar8 = (&DAT_80071e90)[iVar5 * 0x22]; - goto LAB_7f0513a8; - } - } - iVar5 = iVar6 + 1; - iVar9 = iVar8; - } - else { - cVar4 = (&DAT_80071f00)[iVar1]; -LAB_7f051324: - if (((cVar4 == '\x1d') || (cVar4 == '\x1c')) || (cVar4 == '\x1b')) { - if (((*(char **)(iVar8 + 0x1c) == NULL) || - (cVar4 = **(char **)(iVar8 + 0x1c), cVar4 == '\x01')) || - ((cVar4 == '\x02' || (cVar4 == '\x04')))) goto LAB_7f05136c; - iVar5 += 1; - } - else { - iVar5 += 1; - } - } - } - else { - iVar5 += 1; - } - } - else { - iVar5 += 1; - } - } -LAB_7f0513d4: - iVar5 %= 0x1e; - iVar8 = iStack20; - } while (iVar5 != dword_80030AF8); - iStack20 = iVar8; - if (iStack20 < 0) { - poVar3 = (object_standard *) - proc_7F056F08(8,(int *)apoStack12,(int *)&poStack16,(longlong)param_1,(int)param_2, - param_3); - if (poVar3 == NULL) { - if (iVar7 < 0) { - if (apoStack12[0] == NULL) { - if (iVar9 < 0) { - if (poStack16 == NULL) { - poVar3 = NULL; - } - else { - poVar3 = poStack16; - if (poStack16->runtime_ptr_obj_posdata != 0) { - proc_7F041024(poStack16,1); - poVar3 = poStack16; - } - } - } - else { - if ((&DAT_80071e90)[iVar9 * 0x22] != 0) { - proc_7F041024((object_standard *) - (&ProjectileData_start_address + iVar9 * 0x88),1); - } - dword_80030AF8 = (iVar9 + 1) % 0x1e; - poVar3 = (object_standard *)(&ProjectileData_start_address + iVar9 * 0x88); - } - } - else { - poVar3 = apoStack12[0]; - if (apoStack12[0]->runtime_ptr_obj_posdata != 0) { - proc_7F041024(apoStack12[0],1); - poVar3 = apoStack12[0]; - } - } - } - else { - if ((&DAT_80071e90)[iVar7 * 0x22] != 0) { - proc_7F041024((object_standard *)(&ProjectileData_start_address + iVar7 * 0x88), - 1); - } - dword_80030AF8 = (iVar7 + 1) % 0x1e; - poVar3 = (object_standard *)(&ProjectileData_start_address + iVar7 * 0x88); - } - } - } - else { - dword_80030AF8 = (iStack20 + 1) % 0x1e; - poVar3 = (object_standard *)(&ProjectileData_start_address + iStack20 * 0x88); - } - return (int)poVar3; -} - - - -int proc_7F051588(void) - -{ - int iVar1; - - iVar1 = proc_7F05126C(0,0,0); - return iVar1; -} - - - -int proc_7F0515B0(longlong param_1,longlong param_2,int param_3) - -{ - byte bVar1; - ulonglong uVar2; - object_standard *poVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - int iStack20; - object_standard *poStack16; - object_standard *apoStack12 [2]; - int iStack4; - - apoStack12[0] = NULL; - poStack16 = NULL; - iStack20 = -1; - iVar6 = -1; - iVar8 = -1; - iVar4 = dword_80030AFC; - do { - iVar5 = (&DAT_80072e80)[iVar4 * 0x20]; - if (iVar5 == 0) { - if (param_1 == 0) { - iVar5 = iVar4; - if (param_2 == 0) break; - iVar5 = iVar4 + 1; - } - else { - iVar5 = iVar4 + 1; - } - } - else { - if ((*(uint *)(&DAT_80072ed4 + iVar4 * 0x80) & 0x80) == 0) { - if (*(int *)(iVar5 + 0x1c) == 0) { - if (param_2 == 0) { - bVar1 = *(byte *)(iVar5 + 1); - iVar5 = iVar4; -LAB_7f051688: - if (((bVar1 & 2) == 0) && (iVar6 < 0)) { - iVar6 = iVar5; - } - iVar7 = iVar5; - if (-1 < iVar8) { - iVar5 += 1; - goto LAB_7f0516b0; - } - } - else { - iStack4 = iVar4; - uVar2 = proc_7F06C060(*(int *)(&DAT_80072e84 + iVar4 * 0x80),param_3); - param_1 = (longlong)(int)param_1; - iVar5 = iStack4; - iVar7 = iVar8; - if (uVar2 != 0) { - bVar1 = *(byte *)((&DAT_80072e80)[iVar4 * 0x20] + 1); - goto LAB_7f051688; - } - } - iVar5 += 1; - iVar8 = iVar7; - } - else { - iVar5 = iVar4 + 1; - } - } - else { - iVar5 = iVar4 + 1; - } - } -LAB_7f0516b0: - iVar4 = iVar5 % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar5 == -0x80000000)) { - trap(0x1800); - } - iVar5 = iStack20; - } while (iVar4 != dword_80030AFC); - iStack20 = iVar5; - if (iStack20 < 0) { - poVar3 = (object_standard *) - proc_7F056F08(0x11,(int *)apoStack12,(int *)&poStack16,param_1,(int)param_2,param_3 - ); - if (poVar3 == NULL) { - if (iVar6 < 0) { - if (apoStack12[0] == NULL) { - if (iVar8 < 0) { - if (poStack16 == NULL) { - poVar3 = NULL; - } - else { - poVar3 = poStack16; - if (poStack16->runtime_ptr_obj_posdata != 0) { - proc_7F041024(poStack16,1); - poVar3 = poStack16; - } - } - } - else { - if ((&DAT_80072e80)[iVar8 * 0x20] != 0) { - proc_7F041024((object_standard *)(iVar8 * 0x80 + -0x7ff8d190),1); - } - dword_80030AFC = (iVar8 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar8 + 1 == -0x80000000)) { - trap(0x1800); - } - poVar3 = (object_standard *)(iVar8 * 0x80 + -0x7ff8d190); - } - } - else { - poVar3 = apoStack12[0]; - if (apoStack12[0]->runtime_ptr_obj_posdata != 0) { - proc_7F041024(apoStack12[0],1); - poVar3 = apoStack12[0]; - } - } - } - else { - if ((&DAT_80072e80)[iVar6 * 0x20] != 0) { - proc_7F041024((object_standard *)(iVar6 * 0x80 + -0x7ff8d190),1); - } - dword_80030AFC = (iVar6 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 + 1 == -0x80000000)) { - trap(0x1800); - } - poVar3 = (object_standard *)(iVar6 * 0x80 + -0x7ff8d190); - } - } - } - else { - dword_80030AFC = (iStack20 + 1) % 10; - if (false) { - trap(0x1c00); - } - if ((false) && (iStack20 + 1 == -0x80000000)) { - trap(0x1800); - } - poVar3 = (object_standard *)(iStack20 * 0x80 + -0x7ff8d190); - } - return (int)poVar3; -} - - - -int proc_7F0518A8(void) - -{ - int iVar1; - - iVar1 = proc_7F0515B0(0,0,0); - return iVar1; -} - - - -object_standard * proc_7F0518D0(void) - -{ - int *piVar1; - int iVar2; - undefined4 *puVar3; - object_standard *poVar4; - - puVar3 = (undefined4 *)&DAT_80073370; - iVar2 = 0; - do { - piVar1 = puVar3 + 4; - puVar3 = puVar3 + 0x21; - if (*piVar1 == 0) { - return (object_standard *)(&DAT_80073370 + iVar2); - } - iVar2 += 0x84; - } while (puVar3 < &DAT_80073dc0); - poVar4 = (object_standard *)&DAT_80073370; - iVar2 = 0; - while (((((poVar4->runtime_bitflags & 0x80U) != 0 || ((poVar4->hidden2 & 4U) != 0)) || - (*(int *)(poVar4->runtime_ptr_obj_posdata + 0x1c) != 0)) || - ((*(byte *)(poVar4->runtime_ptr_obj_posdata + 1) & 2) != 0))) { - poVar4 = (object_standard *)&poVar4[1].obj; - iVar2 += 0x84; - if ((object_standard *)&DAT_80073dc0 <= poVar4) { - poVar4 = (object_standard *)&DAT_80073370; - iVar2 = 0; - while ((((poVar4->runtime_bitflags & 0x80U) != 0 || ((poVar4->hidden2 & 4U) != 0)) || - (*(int *)(poVar4->runtime_ptr_obj_posdata + 0x1c) != 0))) { - poVar4 = (object_standard *)&poVar4[1].obj; - iVar2 += 0x84; - if (poVar4 == (object_standard *)&DAT_80073dc0) { - return NULL; - } - } - proc_7F041024(poVar4,1); - return (object_standard *)(&DAT_80073370 + iVar2); - } - } - proc_7F041024(poVar4,1); - return (object_standard *)(&DAT_80073370 + iVar2); -} - - - -void trigger_remote_mine_detonation(void) - -{ - u32 uVar1; - - uVar1 = get_cur_playernum(); - D_80030AF4 |= 1 << (uVar1 & 0x1f); - play_sfx_a1(ptr_sfx_buf,0xf3,NULL); - return; -} - - - -int check_if_entry_is_collectable(char type,char *objposdata) - -{ - char *objposdata_00; - int iVar1; - - if (*objposdata == '\x04') { - if (type == *(char *)(*(int *)(objposdata + 4) + 0x80)) { - return *(int *)(objposdata + 4); - } - objposdata_00 = *(char **)(objposdata + 0x20); - } - else { - objposdata_00 = *(char **)(objposdata + 0x20); - } - while( true ) { - if (objposdata_00 == NULL) { - return 0; - } - iVar1 = check_if_entry_is_collectable(type,objposdata_00); - if (iVar1 != 0) break; - objposdata_00 = *(char **)(objposdata_00 + 0x24); - } - return iVar1; -} - - - -int check_if_item_deposited(char item) - -{ - object_standard *objposdata; - int iVar1; - - objposdata = get_ptr_obj_pos_list_current_entry(); - while( true ) { - while( true ) { - if (objposdata == NULL) { - return 0; - } - iVar1 = check_if_entry_is_collectable(item,(char *)objposdata); - if (iVar1 != 0) break; - objposdata = (object_standard *)objposdata->runtime_MATRIX3; - } - if ((*(uint *)(iVar1 + 100) & 0x80) == 0) break; - objposdata = (object_standard *)objposdata->runtime_MATRIX3; - } - return iVar1; -} - - - -void add_obj_to_temp_proxmine_table(undefined4 *objdata) - -{ - u32 *puVar1; - float fVar2; - - puVar1 = temp_mine_table; - fVar2 = (float)temp_mine_table[0]; - while( true ) { - if (fVar2 == 0.00000000) { - *(undefined4 **)puVar1 = objdata; - return; - } - puVar1 = (u32 *)((float *)puVar1 + 1); - if ((float *)puVar1 == &gas_damage_flag) break; - fVar2 = (float)*puVar1; - } - return; -} - - - -void remove_obj_from_temp_proxmine_table(undefined4 *objdata) - -{ - u32 *puVar1; - undefined4 *puVar2; - - puVar1 = temp_mine_table; - puVar2 = (undefined4 *)temp_mine_table[0]; - while( true ) { - if (objdata == puVar2) { - *(float *)puVar1 = 0.00000000; - return; - } - puVar1 = (u32 *)((float *)puVar1 + 1); - if ((float *)puVar1 == &gas_damage_flag) break; - puVar2 = (undefined4 *)*puVar1; - } - return; -} - - - -void detonate_proxmine_within_range(xyzpoint *xyzpos) - -{ - float minetablevalue; - u32 *minetableentry; - float adjx; - float adjy; - float adjz; - f32 range; - - minetableentry = temp_mine_table; - minetablevalue = (float)temp_mine_table[0]; - while( true ) { - if (minetablevalue == 0.00000000) { - minetablevalue = ((float *)minetableentry)[1]; - } - else { - if (*(short *)((int)minetablevalue + 0x82) == 1) { - adjx = (float)xyzpos->x - *(float *)((int)minetablevalue + 0x58); - adjy = (float)xyzpos->y - *(float *)((int)minetablevalue + 0x5c); - adjz = (float)xyzpos->z - *(float *)((int)minetablevalue + 0x60); - if (adjx * adjx + adjy * adjy + adjz * adjz < 62500.00000000) { - *(undefined2 *)((int)minetablevalue + 0x82) = 0; - minetablevalue = ((float *)minetableentry)[1]; - } - else { - minetablevalue = ((float *)minetableentry)[1]; - } - } - else { - minetablevalue = ((float *)minetableentry)[1]; - } - } - minetableentry = (u32 *)((float *)minetableentry + 2); - if (((minetablevalue != 0.00000000) && (*(short *)((int)minetablevalue + 0x82) == 1)) && - (adjx = (float)xyzpos->x - *(float *)((int)minetablevalue + 0x58), - adjy = (float)xyzpos->y - *(float *)((int)minetablevalue + 0x5c), - adjz = (float)xyzpos->z - *(float *)((int)minetablevalue + 0x60), - adjx * adjx + adjy * adjy + adjz * adjz < 62500.00000000)) { - *(undefined2 *)((int)minetablevalue + 0x82) = 0; - } - if ((float *)minetableentry == &gas_damage_flag) break; - minetablevalue = (float)*minetableentry; - } - return; -} - - - -void check_guard_detonate_proxmine(void) - -{ - int numguards; - int iVar1; - int i; - float xyz [6]; - - numguards = get_numguards(); - i = 0; - if (0 < numguards) { - do { - iVar1 = (int)&ptr_guard_data->chrnum + i; - if ((*(int *)(iVar1 + 0x1c) != 0) && ((*(ushort *)(iVar1 + 0x12) & 0x200) != 0)) { - proc_7F028894(iVar1,(float *)(xyzpoint *)xyz); - detonate_proxmine_within_range((xyzpoint *)xyz); - } - i += 0x1dc; - } while (i < numguards * 0x1dc); - } - return; -} - - - -void link_objects(int *objdata1,int *objdata2) - -{ - undefined uVar1; - undefined uVar2; - - uVar1 = *(undefined *)(objdata2 + 0x20); - uVar2 = *(undefined *)(objdata1 + 0x20); - *(int **)(objdata1 + 0x21) = objdata2; - *(undefined *)((int)objdata1 + 0x81) = uVar1; - *(int **)(objdata2 + 0x21) = objdata1; - *(undefined *)((int)objdata2 + 0x81) = uVar2; - return; -} - - - -undefined * -complete_object_data_block_return_position_entry - (int *objdata,int *modelheader,int *targetposdata,int controller) - -{ - undefined *puVar1; - - puVar1 = init_standard_object - ((object_standard *)objdata,(object_header *)modelheader, - (object_standard *)targetposdata,controller); - if (puVar1 != NULL) { - *puVar1 = 4; - proc_7F052574((int)puVar1,0); - } - return puVar1; -} - - - -undefined * proc_7F051DD8(int param_1,ushort **param_2) - -{ - undefined *puVar1; - - puVar1 = init_object_no_default_pos_controller - ((object_standard *)param_1,(object_header *)param_2); - if (puVar1 != NULL) { - *puVar1 = 4; - proc_7F052574((int)puVar1,0); - } - return puVar1; -} - - - -undefined8 proc_7F051E1C(int param_1,int param_2) - -{ - bool bVar1; - int iVar2; - uint uVar3; - - bVar1 = *(int *)(param_1 + 8) << 3 < 0; - iVar2 = *(int *)(param_1 + 0x10); - if (iVar2 != 0) { - if (*(int *)(param_1 + 0x14) != 0) { - if (-1 < *(int *)(param_1 + 8) << 2) { - uVar3 = (uint)bVar1; - iVar2 = param_2 + uVar3 * 4; - if (*(int *)(iVar2 + 0x160) != 0) { - return 0; - } - *(undefined4 *)(*(int *)(param_1 + 0x14) + 0x18) = *(undefined4 *)(param_2 + 0x1c); - if (bVar1) { - *(undefined4 *)(*(int *)(param_1 + 0x14) + 0x1c) = - *(undefined4 *) - (*(int *)(*(int *)(*(int *)(param_2 + 0x1c) + 8) + 8) + 0x14); - } - else { - *(undefined4 *)(*(int *)(param_1 + 0x14) + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(*(int *)(param_2 + 0x1c) + 8) + 8) + 0xc) - ; - } - *(undefined4 *)(iVar2 + 0x160) = *(undefined4 *)(param_1 + 0x10); - if ((*(int *)(param_1 + 8) < 0) && - (iVar2 = *(int *)(param_2 + uVar3 * -4 + 0x164), iVar2 != 0)) { - link_objects((int *)param_1,*(int **)(iVar2 + 4)); - } - iVar2 = *(int *)(param_1 + 0x10); - } - proc_7F03A5A4(iVar2,*(int *)(param_2 + 0x18)); - } - } - return 1; -} - - - -undefined * -proc_7F051F30(ushort *param_1,int param_2,ushort **param_3,undefined *param_4,uint param_5) - -{ - undefined *puVar1; - f32 scale; - - puVar1 = complete_object_data_block_return_position_entry - ((int *)param_1,(int *)param_3,(int *)param_4,param_5); - if ((puVar1 != NULL) && (*(int *)(param_1 + 10) != 0)) { - set_obj_instance_controller_scale(*(int *)(param_1 + 10),scale); - proc_7F051E1C((int)param_1,param_2); - } - return puVar1; -} - - - -undefined * proc_7F051FD4(ushort *param_1,int param_2) - -{ - ushort uVar1; - undefined *puVar2; - - uVar1 = param_1[2]; - load_model((int)(short)uVar1); - puVar2 = proc_7F051F30(param_1,param_2,(ushort **)PitemZ_entries[(int)(short)uVar1].header,NULL, - 0); - return puVar2; -} - - - -undefined * proc_7F052030(ushort *param_1,int param_2) - -{ - undefined *puVar1; - - *(float *)(param_1 + 0x3a) = (float)*(int *)(param_1 + 0x3a) / 65536.00000000; - puVar1 = proc_7F051FD4(param_1,param_2); - return puVar1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined4 * create_new_item_instance_of_model(int model,int iteminstance) - -{ - object_standard *targetposdata; - int *ptrobjinstance; - int *piVar1; - int *piVar2; - int *piVar3; - int *piVar4; - int *objdata; - object_standard *poVar5; - object_standard *poVar6; - int aiStack152 [33]; - int aiStack20 [2]; - int *local_c; - object_header *local_4; - - local_4 = (object_header *)PitemZ_entries[model].header; - load_model(model); - targetposdata = remove_last_obj_pos_data_entry(); - local_c = (int *)get_obj_instance_controller_for_header(local_4); - objdata = (int *)proc_7F05126C((uint)(targetposdata == NULL),(ulonglong)(local_c == NULL), - (int)local_4); - if (targetposdata == NULL) { - targetposdata = remove_last_obj_pos_data_entry(); - } - ptrobjinstance = local_c; - if (local_c == NULL) { - ptrobjinstance = (int *)get_obj_instance_controller_for_header(local_4); - } - if (((objdata == NULL) || (targetposdata == NULL)) || (ptrobjinstance == NULL)) { - objdata = NULL; - if (ptrobjinstance != NULL) { - set_obj_instance_scale_to_zero(ptrobjinstance); - } - if (targetposdata != NULL) { - set_last_obj_pos_data(targetposdata); - } - } - else { - poVar5 = &blank_08_object_preset_1; - piVar3 = aiStack152; - do { - poVar6 = (object_standard *)&poVar5->flags2; - piVar1 = piVar3 + 3; - *piVar3 = *(int *)poVar5; - piVar3[1] = *(int *)&poVar5->obj; - piVar3[2] = poVar5->flags; - poVar5 = poVar6; - piVar3 = piVar1; - } while (poVar6 != (object_standard *)&dword_80032218); - *piVar1 = _dword_80032218; - piVar3 = objdata; - piVar1 = aiStack152; - do { - piVar2 = piVar1 + 3; - piVar4 = piVar3 + 3; - *piVar3 = *piVar1; - piVar3[1] = piVar1[1]; - piVar3[2] = piVar1[2]; - piVar3 = piVar4; - piVar1 = piVar2; - } while (piVar2 != aiStack20); - *piVar4 = *piVar2; - *(char *)(objdata + 0x20) = (char)iteminstance; - *(short *)(objdata + 1) = (short)model; - complete_object_data_block_return_position_entry - (objdata,(int *)local_4,(int *)targetposdata,(int)ptrobjinstance); - } - return (undefined4 *)objdata; -} - - - -void set_0x4_in_runtime_flags_for_item_in_guards_hand(int *GUARDdata,int hand) - -{ - int iVar1; - - if (GUARDdata[hand + 0x58] != 0) { - iVar1 = *(int *)(GUARDdata[hand + 0x58] + 4); - *(uint *)(iVar1 + 100) = *(uint *)(iVar1 + 100) | 4; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -undefined * -create_held_weapon(undefined2 *param_1,int param_2,undefined param_3,uint param_4, - undefined4 *param_5,ushort **param_6) - -{ - undefined *ret; - object_standard *poVar1; - object_standard *poVar2; - undefined4 *puVar3; - undefined4 *puVar4; - int *ptrobjinstance; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 auStack144 [33]; - undefined4 auStack12 [3]; - - if (param_6 == NULL) { - param_6 = (ushort **)PitemZ_entries[param_2].header; - load_model(param_2); - } - ret = (undefined *)remove_last_obj_pos_data_entry(); - ptrobjinstance = (int *)get_obj_instance_controller_for_header((object_header *)param_6); - if (param_5 == NULL) { - param_5 = (undefined4 *) - proc_7F05126C((uint)((object_standard *)ret == NULL), - (ulonglong)(ptrobjinstance == NULL),(int)param_6); - } - if ((object_standard *)ret == NULL) { - ret = (undefined *)remove_last_obj_pos_data_entry(); - } - if (ptrobjinstance == NULL) { - ptrobjinstance = (int *)get_obj_instance_controller_for_header((object_header *)param_6); - } - if (((param_5 == NULL) || ((object_standard *)ret == NULL)) || (ptrobjinstance == NULL)) { - if (ptrobjinstance != NULL) { - set_obj_instance_scale_to_zero(ptrobjinstance); - } - if ((object_standard *)ret != NULL) { - set_last_obj_pos_data((object_standard *)ret); - ret = NULL; - } - } - else { - poVar1 = &blank_08_object_preset_4001; - puVar5 = auStack144; - do { - poVar2 = (object_standard *)&poVar1->flags2; - puVar3 = puVar5 + 3; - *puVar5 = *(undefined4 *)poVar1; - puVar5[1] = *(undefined4 *)&poVar1->obj; - puVar5[2] = poVar1->flags; - poVar1 = poVar2; - puVar5 = puVar3; - } while (poVar2 != (object_standard *)&dword_800322A0); - *puVar3 = _dword_800322A0; - puVar5 = param_5; - puVar3 = auStack144; - do { - puVar4 = puVar3 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar5 = puVar6; - puVar3 = puVar4; - } while (puVar4 != auStack12); - *puVar6 = *puVar4; - *(undefined *)(param_5 + 0x20) = param_3; - *(short *)(param_5 + 1) = (short)param_2; - param_5[2] = param_4 | 0x4000; - *(undefined2 *)((int)param_5 + 6) = *param_1; - ret = proc_7F051F30((ushort *)param_5,(int)param_1,param_6,ret,(uint)ptrobjinstance); - } - return ret; -} - - - -undefined * -actor_draws_weapon_with_model(undefined2 *param_1,int param_2,undefined param_3,uint param_4) - -{ - undefined *puVar1; - - puVar1 = create_held_weapon(param_1,param_2,param_3,param_4,NULL,NULL); - return puVar1; -} - - - -void proc_7F0523F8(int param_1,int param_2,int **param_3) - -{ - int iVar1; - uint uVar2; - int objinst; - GUARDdata *pGVar3; - int iVar4; - int *piVar5; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - float **ppfVar6; - float **ppfVar7; - byte bVar8; - float **ppfVar9; - float **ppfVar10; - float afStack152 [18]; - float *apfStack80 [4]; - float *pfStack64; - GUARDdata *pGStack4; - - pGStack4 = *(GUARDdata **)(param_1 + 4); - iVar4 = something_with_weaponpos_of_guarddata_hand(pGStack4,param_2); - pGVar3 = pGStack4; - if (iVar4 != 0) { - iVar1 = *(int *)(iVar4 + 4); - if ((*(uint *)(iVar1 + 100) & 0x800) == 0) { - if (-1 < *(int *)(iVar1 + 0xc) << 0xc) { - uVar2 = *(uint *)(iVar1 + 0x14); - ppfVar9 = (float **)&dword_800322A4; - ppfVar6 = apfStack80; - do { - ppfVar10 = ppfVar9 + 3; - ppfVar7 = ppfVar6 + 3; - *ppfVar6 = *ppfVar9; - ppfVar6[1] = ppfVar9[1]; - ppfVar6[2] = ppfVar9[2]; - ppfVar9 = ppfVar10; - ppfVar6 = ppfVar7; - } while (ppfVar10 != (float **)0x800322e0); - *ppfVar7 = pfRam800322e0; - objinst = pGVar3->MODELdata_pointer; - *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 2; - pfStack64 = (float *)proc_7F06C660(objinst,*(ushort **)(uVar2 + 0x1c),0); - apfStack80[0] = pfStack64; - if (param_2 == 1) { - proc_7F058688(3.14159274,extraout_a0,afStack152); - proc_7F058068(apfStack80[0],afStack152); - apfStack80[0] = afStack152; - } - proc_7F0BD714((int)*(short *)(*(int *)(uVar2 + 8) + 0xe) << 6); - instcalcmatrices(apfStack80,uVar2,extraout_a2_lo,extraout_a3_lo); - if (param_3 == NULL) { - return; - } - if ((*(uint *)(iVar1 + 100) & 0x80) != 0) { - return; - } - piVar5 = proc_7F06B120(*param_3,uVar2); - *param_3 = piVar5; - return; - } - bVar8 = *(byte *)(iVar4 + 1); - } - else { - bVar8 = *(byte *)(iVar4 + 1); - } - *(byte *)(iVar4 + 1) = bVar8 & 0xfd; - } - return; -} - - - -void redirect_object_collectability_routines(void) - -{ - object_standard *in_a0_lo; - - object_collectability_routine(in_a0_lo); - return; -} - - - -void proc_7F052574(int param_1,undefined4 param_2) - -{ - int objinst; - ushort **ppuVar1; - undefined2 *puVar2; - undefined4 *puVar3; - ushort *partdesc; - - objinst = *(int *)(*(int *)(param_1 + 4) + 0x14); - if ((objinst != 0) && (*(item_related **)(*(int *)(objinst + 8) + 4) == &prop_weapon_related)) { - ppuVar1 = *(ushort ***)(*(int *)(objinst + 8) + 8); - partdesc = *ppuVar1; - if (partdesc == NULL) { - partdesc = ppuVar1[2]; - } - else { - puVar2 = (undefined2 *)extract_id_from_object_structure_microcode(objinst,partdesc); - *puVar2 = (short)param_2; - partdesc = *(ushort **)(*(int *)(*(int *)(objinst + 8) + 8) + 8); - } - if (partdesc != NULL) { - puVar3 = (undefined4 *)extract_id_from_object_structure_microcode(objinst,partdesc); - *puVar3 = param_2; - } - } - return; -} - - - -longlong proc_7F052604(int param_1) - -{ - int objinst; - ushort **ppuVar1; - ushort *partdesc; - longlong lVar2; - short *psVar3; - int *piVar4; - - objinst = *(int *)(*(int *)(param_1 + 4) + 0x14); - if (objinst == 0) { - lVar2 = 0; - } - else { - if (*(item_related **)(*(int *)(objinst + 8) + 4) == &prop_weapon_related) { - ppuVar1 = *(ushort ***)(*(int *)(objinst + 8) + 8); - partdesc = *ppuVar1; - if (partdesc == NULL) { - partdesc = ppuVar1[2]; - if (partdesc == NULL) { - lVar2 = 0; - } - else { - piVar4 = (int *)extract_id_from_object_structure_microcode(objinst,partdesc); - lVar2 = (longlong)*piVar4; - } - } - else { - psVar3 = (short *)extract_id_from_object_structure_microcode(objinst,partdesc); - lVar2 = (longlong)*psVar3; - } - } - else { - lVar2 = 0; - } - } - return lVar2; -} - - - -undefined8 get_hat_model(int param_1) - -{ - switch(*(undefined2 *)(*(int *)(param_1 + 4) + 4)) { - case 0xd4: - case 0xd5: - case 0xd6: - return 4; - case 0xd7: - case 0xd8: - return 1; - case 0xd9: - case 0xda: - return 3; - case 0xdb: - return 5; - case 0xdc: - case 0xdd: - case 0xde: - return 0; - case 0xdf: - return 2; - default: - return 0xffffffffffffffff; - } -} - - - -void proc_7F0526EC(int param_1,float *param_2) - -{ - short sVar1; - float *pfVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 uVar3; - ushort uVar4; - xyzpoint xStack116; - float fStack104; - float fStack100; - float fStack96; - xyzpoint xStack88; - xyzpoint xStack76; - float afStack64 [16]; - - sVar1 = *(short *)(param_1 + 0x9a); - if ((sVar1 == 5) || (sVar1 == 9)) { - pfVar2 = (float *)(ptr_2xxxpresets + (int)*(short *)(param_1 + 6) * 0x44); - fStack104 = pfVar2[4] * pfVar2[8] - pfVar2[7] * pfVar2[5]; - fStack100 = pfVar2[5] * pfVar2[6] - pfVar2[8] * pfVar2[3]; - fStack96 = pfVar2[3] * pfVar2[7] - pfVar2[6] * pfVar2[4]; - xStack76.x = pfVar2[3] * pfVar2[0xd] + *pfVar2; - xStack76.y = pfVar2[4] * pfVar2[0xd] + pfVar2[1]; - xStack76.z = pfVar2[5] * pfVar2[0xd] + pfVar2[2]; - if (*(short *)(param_1 + 0x9a) == 9) { - xStack76.x = xStack76.x + fStack104 * pfVar2[0xc]; - xStack76.y = xStack76.y + fStack100 * pfVar2[0xc]; - xStack76.z = xStack76.z + fStack96 * pfVar2[0xc]; - } - else { - if (*(int *)(param_1 + 8) << 2 < 0) { - xStack76.x = xStack76.x + fStack104 * pfVar2[0xc]; - xStack76.y = xStack76.y + fStack100 * pfVar2[0xc]; - xStack76.z = xStack76.z + fStack96 * pfVar2[0xc]; - } - else { - xStack76.x = xStack76.x + fStack104 * pfVar2[0xb]; - xStack76.y = xStack76.y + fStack100 * pfVar2[0xb]; - xStack76.z = xStack76.z + fStack96 * pfVar2[0xb]; - } - } - xStack88.x = *(float *)(param_1 + 0x58) - xStack76.x; - xStack88.y = *(float *)(param_1 + 0x5c) - xStack76.y; - xStack88.z = *(float *)(param_1 + 0x60) - xStack76.z; - proc_7F058020((float (*) [4] [4])(param_1 + 0x18),(float (*) [4])param_2); - init_something_copy_posdata_to_it(&xStack88,(int *)afStack64); - proc_7F058068(afStack64,param_2); - if (*(short *)(param_1 + 0x9a) == 9) { - if (*(int *)(param_1 + 8) << 2 < 0) { - proc_7F058688(flt_80053324 - - (*(float *)(param_1 + 0xb4) * flt_80053324) / 360.00000000,extraout_a0 - ,afStack64); - } - else { - proc_7F058688((*(float *)(param_1 + 0xb4) * flt_80053328) / 360.00000000,extraout_a0 - ,afStack64); - } - } - else { - if (*(int *)(param_1 + 8) << 2 < 0) { - proc_7F0585FC(flt_8005332C - - (*(float *)(param_1 + 0xb4) * flt_8005332C) / 360.00000000,extraout_a0 - ,afStack64); - } - else { - proc_7F0585FC((*(float *)(param_1 + 0xb4) * flt_80053330) / 360.00000000,extraout_a0 - ,afStack64); - } - } - proc_7F058068(afStack64,param_2); - init_something_copy_posdata_to_it(&xStack76,(int *)afStack64); - proc_7F058068(afStack64,param_2); - uVar4 = *(ushort *)(param_1 + 0x98); - uVar3 = extraout_a0_00; - } - else { - if ((sVar1 == 6) || (sVar1 == 7)) { - proc_7F058020((float (*) [4] [4])(param_1 + 0x18),(float (*) [4])param_2); - copies_first_3_floats_from_a0_to_a1_plus_0x30((xyzpoint *)(param_1 + 0x58),(int)param_2) - ; - uVar4 = *(ushort *)(param_1 + 0x98); - uVar3 = extraout_a0_01; - } - else { - xStack116.x = *(float *)(param_1 + 0xa8) * *(float *)(param_1 + 0xb4) + - *(float *)(param_1 + 0x58); - xStack116.y = *(float *)(param_1 + 0xac) * *(float *)(param_1 + 0xb4) + - *(float *)(param_1 + 0x5c); - xStack116.z = *(float *)(param_1 + 0xb0) * *(float *)(param_1 + 0xb4) + - *(float *)(param_1 + 0x60); - proc_7F058020((float (*) [4] [4])(param_1 + 0x18),(float (*) [4])param_2); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&xStack116,(int)param_2); - uVar4 = *(ushort *)(param_1 + 0x98); - uVar3 = extraout_a0_02; - } - } - if ((uVar4 & 8) != 0) { - proc_7F058A4C(-1.00000000,uVar3,(int)param_2); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f052cc8) overlaps instruction at (ram,0x7f052cc4) -// - -void proc_7F052B00(int param_1) - -{ - short sVar1; - undefined4 *puVar2; - undefined4 *puVar3; - float fVar4; - float afStack68 [13]; - float fStack16; - - puVar3 = (undefined4 *)(param_1 + 0xd0); - puVar2 = *(undefined4 **)(*(int *)(**(int **)(*(int *)(param_1 + 0x14) + 8) + 0x14) + 4); - *puVar3 = *puVar2; - *(undefined4 *)(param_1 + 0xd4) = puVar2[1]; - *(undefined4 *)(param_1 + 0xd8) = puVar2[2]; - *(undefined4 *)(param_1 + 0xdc) = puVar2[3]; - *(undefined4 *)(param_1 + 0xe0) = puVar2[4]; - *(undefined4 *)(param_1 + 0xe4) = puVar2[5]; - *(undefined4 *)(param_1 + 0xe8) = puVar2[6]; - if ((*(ushort *)(param_1 + 0x98) & 4) == 0) { - fVar4 = *(float *)(param_1 + 0xb4); - } - else { - if (*(short *)(param_1 + 0x9a) == 4) { - *(float *)(param_1 + 0xe0) = - (float)puVar2[4] + - ((float)puVar2[3] - (float)puVar2[4]) * *(float *)(param_1 + 0xb4); - } - else { - *(float *)(param_1 + 0xd4) = - (float)puVar2[1] + - ((float)puVar2[2] - (float)puVar2[1]) * *(float *)(param_1 + 0xb4); - } - fVar4 = *(float *)(param_1 + 0xb4); - } - if (*(float *)(param_1 + 0x88) <= fVar4) { - **(undefined4 **)(param_1 + 0x68) = 0; - return; - } - proc_7F0526EC(param_1,afStack68); - proc_7F03F540((longlong)(int)puVar3,(longlong)(int)afStack68, - (float *)(*(uint **)(param_1 + 0x68) + 1),*(uint **)(param_1 + 0x68)); - if (*(short *)(param_1 + 0x9a) == 4) { - fVar4 = proc_7F03E9BC((int)puVar3,(int)afStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = fVar4 + *(float *)(param_1 + 0x5c); - } - else { - if (*(short *)(param_1 + 0x9a) == 8) { - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = *(float *)(param_1 + 0x5c) - flt_80053334; - } - else { - fVar4 = proc_7F03E9BC((int)puVar3,(int)afStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = fVar4 + fStack16; - if ((*(ushort *)(param_1 + 0x98) & 1) == 0) { - sVar1 = *(short *)(param_1 + 0x9a); - goto LAB_7f052ca0; - } - *(float *)(*(int *)(param_1 + 0x68) + 0x48) = - *(float *)(*(int *)(param_1 + 0x68) + 0x48) - 1000.00000000; - } - } - sVar1 = *(short *)(param_1 + 0x9a); -LAB_7f052ca0: - if (((sVar1 == 6) && (flt_80053338 * *(float *)(param_1 + 0x84) < *(float *)(param_1 + 0xb4))) - || ((sVar1 == 7 && (flt_8005333C * *(float *)(param_1 + 0x84) < *(float *)(param_1 + 0xb4)))) - ) { - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = - *(float *)(*(int *)(param_1 + 0x68) + 0x48) + 50.00000000; - } - else { - if (sVar1 == 8) { - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = *(float *)(param_1 + 0x5c) + 1000.00000000 - ; - } - else { - fVar4 = proc_7F03EA5C((int)puVar3,(int)afStack68); - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = fVar4 + fStack16; - if ((*(ushort *)(param_1 + 0x98) & 1) != 0) { - *(float *)(*(int *)(param_1 + 0x68) + 0x44) = - *(float *)(*(int *)(param_1 + 0x68) + 0x44) + 1000.00000000; - } - } - } - return; -} - - - -void proc_7F052D8C(int param_1) - -{ - short sVar1; - short sVar2; - ushort *partdesc; - int iVar3; - int iVar4; - int **ppiVar5; - int **ppiVar6; - uint uVar7; - uint uVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - int iVar12; - undefined4 *puVar13; - undefined4 *puVar14; - short sVar15; - uint uVar16; - short sVar17; - undefined4 *puVar18; - undefined4 *puVar19; - uint uVar20; - uint uVar21; - int iVar22; - int iVar23; - undefined4 *puVar24; - - if ((*(ushort *)(param_1 + 0x98) & 4) != 0) { - partdesc = *(ushort **)(*(int *)(**(int **)(*(int *)(param_1 + 0x14) + 8) + 0x14) + 0x14); - iVar3 = *(int *)(partdesc + 2); - ppiVar5 = (int **)extract_id_from_object_structure_microcode - (*(int *)(param_1 + 0x14),partdesc); - if (*(short *)(param_1 + 0x9a) == 4) { - sVar15 = (short)(int)(*(float *)(param_1 + 0xe0) + 0.50000000); - } - else { - sVar15 = (short)(int)(*(float *)(param_1 + 0xd4) + 0.50000000); - } - ppiVar6 = ppiVar5; - proc_7F0BD6C4((int)*(short *)(iVar3 + 0xc)); - *(int ***)ppiVar5 = ppiVar6; - iVar23 = 0; - iVar4 = (int)*(short *)(iVar3 + 0xc); - if (*(short *)(iVar3 + 0xc) < 0) { - iVar4 += 3; - } - if (0 < iVar4 >> 2) { - do { - uVar7 = 0; - do { - iVar4 = (int)(*ppiVar5 + iVar23 * 4); - uVar20 = uVar7 + 1; - puVar14 = (undefined4 *)(iVar4 + uVar7 * 0x10); - uVar8 = uVar20 & 3; - if (((int)uVar20 < 0) && (uVar8 != 0)) { - uVar8 -= 4; - } - puVar24 = (undefined4 *)(iVar4 + uVar8 * 0x10); - uVar16 = uVar7 + 2 & 3; - if (((int)(uVar7 + 2) < 0) && (uVar16 != 0)) { - uVar16 -= 4; - } - puVar18 = (undefined4 *)(iVar4 + uVar16 * 0x10); - iVar12 = *(int *)(iVar3 + 8) + iVar23 * 0x10; - uVar21 = uVar7 + 3 & 3; - if (((int)(uVar7 + 3) < 0) && (uVar21 != 0)) { - uVar21 -= 4; - } - puVar13 = (undefined4 *)(iVar12 + uVar16 * 0x10); - puVar19 = (undefined4 *)(iVar4 + uVar21 * 0x10); - puVar9 = (undefined4 *)(iVar12 + uVar7 * 0x10); - puVar11 = (undefined4 *)(iVar12 + uVar8 * 0x10); - puVar10 = (undefined4 *)(iVar12 + uVar21 * 0x10); - if (uVar7 == 0) { - *puVar14 = *puVar9; - puVar14[1] = puVar9[1]; - puVar14[2] = puVar9[2]; - puVar14[3] = puVar9[3]; - *puVar24 = *puVar11; - puVar24[1] = puVar11[1]; - puVar24[2] = puVar11[2]; - puVar24[3] = puVar11[3]; - *puVar18 = *puVar13; - puVar18[1] = puVar13[1]; - puVar18[2] = puVar13[2]; - puVar18[3] = puVar13[3]; - *puVar19 = *puVar10; - puVar19[1] = puVar10[1]; - puVar19[2] = puVar10[2]; - puVar19[3] = puVar10[3]; - } - iVar4 = (int)sVar15; - if (*(short *)(param_1 + 0x9a) == 4) { - sVar1 = *(short *)((int)puVar9 + 2); - if (sVar15 <= sVar1) { - sVar2 = *(short *)puVar9; - if (*(short *)puVar11 == sVar2) { - if (*(short *)(puVar11 + 1) != *(short *)(puVar9 + 1)) { - sVar17 = *(short *)puVar13; - goto LAB_7f0530a4; - } - if (*(short *)((int)puVar11 + 2) == sVar1) { - sVar17 = *(short *)puVar13; - goto LAB_7f0530a4; - } - iVar4 = ((int)sVar1 - (int)sVar15) * - ((int)*(short *)(puVar11 + 2) - (int)*(short *)(puVar9 + 2)) - ; - iVar12 = (int)sVar1 - (int)*(short *)((int)puVar11 + 2); - *(short *)(puVar14 + 2) = - (short)(iVar4 / iVar12) + *(short *)(puVar9 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - iVar4 = ((int)*(short *)((int)puVar9 + 2) - (int)sVar15) * - ((int)*(short *)((int)puVar11 + 10) - - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)((int)puVar9 + 2) - - (int)*(short *)((int)puVar11 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar14 + 10) = - (short)(iVar4 / iVar12) + *(short *)((int)puVar9 + 10); - } - else { - sVar17 = *(short *)puVar13; -LAB_7f0530a4: - iVar12 = (int)sVar1; - if (sVar17 == sVar2) { - if (*(short *)(puVar13 + 1) == *(short *)(puVar9 + 1)) { - if (*(short *)((int)puVar13 + 2) != sVar1) { - iVar22 = (iVar12 - iVar4) * - ((int)*(short *)(puVar13 + 2) - - (int)*(short *)(puVar9 + 2)); - iVar12 -= *(short *)((int)puVar13 + 2); - *(short *)(puVar14 + 2) = - (short)(iVar22 / iVar12) + *(short *)(puVar9 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar22 == -0x80000000)) { - trap(0x1800); - } - iVar4 = ((int)*(short *)((int)puVar9 + 2) - iVar4) * - ((int)*(short *)((int)puVar13 + 10) - - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)((int)puVar9 + 2) - - (int)*(short *)((int)puVar13 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar14 + 10) = - (short)(iVar4 / iVar12) + - *(short *)((int)puVar9 + 10); - goto LAB_7f053268; - } - sVar17 = *(short *)puVar10; - } - else { - sVar17 = *(short *)puVar10; - } - } - else { - sVar17 = *(short *)puVar10; - } - if (((sVar17 == sVar2) && - (*(short *)(puVar10 + 1) == *(short *)(puVar9 + 1))) && - (*(short *)((int)puVar10 + 2) != sVar1)) { - iVar22 = (iVar12 - iVar4) * - ((int)*(short *)(puVar10 + 2) - - (int)*(short *)(puVar9 + 2)); - iVar12 -= *(short *)((int)puVar10 + 2); - *(short *)(puVar14 + 2) = - (short)(iVar22 / iVar12) + *(short *)(puVar9 + 2); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar22 == -0x80000000)) { - trap(0x1800); - } - iVar4 = ((int)*(short *)((int)puVar9 + 2) - iVar4) * - ((int)*(short *)((int)puVar10 + 10) - - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)((int)puVar9 + 2) - - (int)*(short *)((int)puVar10 + 2); - *(short *)((int)puVar14 + 10) = - (short)(iVar4 / iVar12) + *(short *)((int)puVar9 + 10); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - } - } -LAB_7f053268: - *(short *)((int)puVar14 + 2) = sVar15; - } - } - else { - sVar1 = *(short *)puVar9; - if (sVar1 <= sVar15) { - sVar2 = *(short *)((int)puVar9 + 2); - iVar12 = (int)sVar15; - if (*(short *)((int)puVar11 + 2) == sVar2) { - if (*(short *)(puVar11 + 1) == *(short *)(puVar9 + 1)) { - if (*(short *)puVar11 != sVar1) { - iVar4 = (iVar12 - (int)sVar1) * - ((int)*(short *)(puVar11 + 2) - - (int)*(short *)(puVar9 + 2)); - iVar22 = (int)*(short *)puVar11 - (int)sVar1; - *(short *)(puVar14 + 2) = - (short)(iVar4 / iVar22) + *(short *)(puVar9 + 2); - if (iVar22 == 0) { - trap(0x1c00); - } - if ((iVar22 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - iVar4 = (iVar12 - (int)*(short *)puVar9) * - ((int)*(short *)((int)puVar11 + 10) - - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)puVar11 - (int)*(short *)puVar9; - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar14 + 10) = - (short)(iVar4 / iVar12) + *(short *)((int)puVar9 + 10); - *(short *)puVar14 = sVar15; - goto LAB_7f053538; - } - sVar17 = *(short *)((int)puVar13 + 2); - } - else { - sVar17 = *(short *)((int)puVar13 + 2); - } - } - else { - sVar17 = *(short *)((int)puVar13 + 2); - } - iVar22 = (int)sVar1; - if (sVar17 == sVar2) { - if (*(short *)(puVar13 + 1) == *(short *)(puVar9 + 1)) { - if (*(short *)puVar13 != sVar1) { - iVar4 = (iVar12 - iVar22) * - ((int)*(short *)(puVar13 + 2) - - (int)*(short *)(puVar9 + 2)); - iVar22 = *(short *)puVar13 - iVar22; - *(short *)(puVar14 + 2) = - (short)(iVar4 / iVar22) + *(short *)(puVar9 + 2); - if (iVar22 == 0) { - trap(0x1c00); - } - if ((iVar22 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - iVar4 = (iVar12 - (int)*(short *)puVar9) * - ((int)*(short *)((int)puVar13 + 10) - - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)puVar13 - (int)*(short *)puVar9; - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - *(short *)((int)puVar14 + 10) = - (short)(iVar4 / iVar12) + *(short *)((int)puVar9 + 10); - *(short *)puVar14 = sVar15; - goto LAB_7f053538; - } - sVar17 = *(short *)((int)puVar10 + 2); - } - else { - sVar17 = *(short *)((int)puVar10 + 2); - } - } - else { - sVar17 = *(short *)((int)puVar10 + 2); - } - if (sVar17 == sVar2) { - if (*(short *)(puVar10 + 1) == *(short *)(puVar9 + 1)) { - if (*(short *)puVar10 == sVar1) { - *(short *)puVar14 = sVar15; - } - else { - iVar12 = (iVar4 - iVar22) * - ((int)*(short *)(puVar10 + 2) - - (int)*(short *)(puVar9 + 2)); - iVar22 = *(short *)puVar10 - iVar22; - *(short *)(puVar14 + 2) = - (short)(iVar12 / iVar22) + *(short *)(puVar9 + 2); - if (iVar22 == 0) { - trap(0x1c00); - } - if ((iVar22 == -1) && (iVar12 == -0x80000000)) { - trap(0x1800); - } - iVar4 = (iVar4 - (int)*(short *)puVar9) * - ((int)*(short *)((int)puVar10 + 10) - - (int)*(short *)((int)puVar9 + 10)); - iVar12 = (int)*(short *)puVar10 - (int)*(short *)puVar9; - *(short *)((int)puVar14 + 10) = - (short)(iVar4 / iVar12) + *(short *)((int)puVar9 + 10); - if (iVar12 == 0) { - trap(0x1c00); - } - if ((iVar12 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - *(short *)puVar14 = sVar15; - } - } - else { - *(short *)puVar14 = sVar15; - } - } - else { - *(short *)puVar14 = sVar15; - } - } - } -LAB_7f053538: - uVar7 = uVar20; - } while (uVar20 != 4); - iVar23 += 4; - iVar4 = (int)*(short *)(iVar3 + 0xc); - if (*(short *)(iVar3 + 0xc) < 0) { - iVar4 += 3; - } - } while (iVar23 < (iVar4 >> 2) << 2); - } - } - return; -} - - - -void proc_7F053598(int param_1) - -{ - if (-1 < *(int *)(param_1 + 0xf0)) { - proc_7F0B9DBC(*(int *)(param_1 + 0xf0),1); - } - return; -} - - - -void proc_7F0535C4(int param_1) - -{ - if (-1 < *(int *)(param_1 + 0xf0)) { - proc_7F0B9DBC(*(int *)(param_1 + 0xf0),0); - } - return; -} - - - -undefined * -initialize_door(int *stdobject,int *xyzpos,int matrix,int *tile,int param_5,int *runtimexyzpos) - -{ - undefined *puVar1; - uint uVar2; - undefined8 extraout_a0; - float fVar3; - int iVar4; - - puVar1 = proc_7F04071C((int)stdobject); - fVar3 = PitemZ_entries[*(short *)(stdobject + 1)].scale; - uVar2 = mempAllocBytesInBank(0x50,'\x04'); - stdobject[0x1a] = uVar2; - proc_7F058020((float (*) [4] [4])matrix,(float (*) [4])(stdobject + 6)); - matrix_multiply_A1_by_F12(fVar3,extraout_a0,(float *)(float (*) [4])(stdobject + 6)); - stdobject[0x2a] = *(int *)param_5; - stdobject[0x2b] = *(int *)(param_5 + 4); - stdobject[0x2c] = *(int *)(param_5 + 8); - if (stdobject[2] < 0) { - stdobject[0x2d] = stdobject[0x21]; - } - else { - stdobject[0x2d] = 0; - } - stdobject[0x2e] = 0; - *(undefined *)(stdobject + 0x2f) = 0; - *(undefined *)((int)stdobject + 0xbd) = 0; - stdobject[0x32] = 0; - if ((*(ushort *)(stdobject + 0x26) & 4) == 0) { - stdobject[0x33] = 0; - } - else { - uVar2 = mempAllocBytesInBank - ((int)*(short *)(*(int *)(*(int *)(*(int *)(**(int **)(stdobject[5] + 8) + - 0x14) + 0x14) + 4) + 0xc) << 4, - '\x04'); - stdobject[0x33] = uVar2; - } - stdobject[0x3c] = -1; - stdobject[0x3d] = 0; - stdobject[0x3e] = 0; - *puVar1 = 2; - *(int **)(puVar1 + 4) = stdobject; - *(int *)(puVar1 + 8) = *xyzpos; - *(int *)(puVar1 + 0xc) = xyzpos[1]; - *(int *)(puVar1 + 0x10) = xyzpos[2]; - *(int **)(puVar1 + 0x14) = tile; - stdobject[0x16] = *runtimexyzpos; - stdobject[0x17] = runtimexyzpos[1]; - iVar4 = runtimexyzpos[2]; - stdobject[2] = stdobject[2] | 0x100; - stdobject[0x18] = iVar4; - proc_7F052B00((int)stdobject); - proc_7F052D8C((int)stdobject); - proc_7F0402B4(stdobject[4],(byte *)(stdobject + 0x1f)); - *(undefined *)(stdobject + 0x1e) = *(undefined *)(stdobject + 0x1f); - *(undefined *)((int)stdobject + 0x79) = *(undefined *)((int)stdobject + 0x7d); - *(undefined *)((int)stdobject + 0x7a) = *(undefined *)((int)stdobject + 0x7e); - *(undefined *)((int)stdobject + 0x7b) = *(undefined *)((int)stdobject + 0x7f); - return puVar1; -} - - - -int proc_7F0537B8(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5) - -{ - int iVar1; - float fVar2; - float fVar3; - - if (param_1 <= 200.00000000) { - iVar1 = 0x7fff; - } - else { - if (param_5 <= param_1) { - iVar1 = 0; - } - else { - if (param_2 <= param_1) { - iVar1 = (int)(((param_5 - param_1) * flt_80053340) / (param_5 - param_2)); - } - else { - fVar2 = sqrtf(param_1 - 200.00000000); - fVar3 = sqrtf(param_2 - 200.00000000); - iVar1 = 0x7fff - (int)((fVar2 * flt_80053344) / fVar3); - } - } - } - return iVar1; -} - - - -int proc_7F053894(float *param_1,float param_2,float param_3) - -{ - Player *pPVar1; - s32 sVar2; - int iVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 uVar4; - undefined4 extraout_a1_hi; - undefined4 extraout_a1_hi_00; - undefined4 uVar5; - float in_a1_lo; - undefined4 extraout_a1_lo; - undefined4 extraout_a1_lo_00; - undefined4 uVar6; - float in_a2_lo; - Player **ppPVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - sVar2 = get_num_players(); - uVar4 = extraout_a0; - uVar5 = extraout_a1_hi; - uVar6 = extraout_a1_lo; - fVar11 = in_a2_lo; - if (0 < sVar2) { - ppPVar7 = ptr_BONDdata_p1; - pPVar1 = ptr_BONDdata_p1[0]; - while( true ) { - iVar3 = pPVar1->position_data_pointer; - fVar8 = *(float *)(iVar3 + 8) - *param_1; - fVar9 = *(float *)(iVar3 + 0xc) - param_1[1]; - fVar10 = *(float *)(iVar3 + 0x10) - param_1[2]; - fVar8 = sqrtf(fVar8 * fVar8 + fVar9 * fVar9 + fVar10 * fVar10); - ppPVar7 = ppPVar7 + 1; - if (fVar11 <= fVar8) { - fVar8 = fVar11; - } - fVar11 = fVar8; - uVar4 = extraout_a0_00; - uVar5 = extraout_a1_hi_00; - uVar6 = extraout_a1_lo_00; - if (ptr_BONDdata_p1 + sVar2 <= ppPVar7) break; - pPVar1 = *ppPVar7; - } - } - iVar3 = proc_7F0537B8(fVar11,in_a1_lo,uVar4,CONCAT44(uVar5,uVar6),in_a2_lo); - return iVar3; -} - - - -void proc_7F05396C(int param_1,float *param_2,float param_3,float param_4) - -{ - int iVar1; - float in_a2_lo; - float in_a3_lo; - - iVar1 = proc_7F053894(param_2,in_a2_lo,in_a3_lo); - music_related_36((longlong)param_1,8,iVar1); - return; -} - - - -int proc_7F0539B8(float param_1,undefined8 param_2,undefined8 param_3) - -{ - int iVar1; - - iVar1 = proc_7F0537B8(param_1,flt_80053348,param_2,param_3,6000.00000000); - return iVar1; -} - - - -void proc_7F0539E4(float *param_1) - -{ - float in_f12; - float in_f14; - - proc_7F053894(param_1,in_f12,in_f14); - return; -} - - - -void sub_GAME_7F053A10(int param_1,float *param_2) - -{ - float in_f12; - float in_f14; - - proc_7F05396C(param_1,param_2,in_f12,in_f14); - return; -} - - - -void proc_7F053A3C(void) - -{ - bool bVar1; - bool bVar2; - undefined4 in_v0_lo; - ulonglong uVar3; - int iVar4; - int in_a0_lo; - undefined4 uStack12; - - bVar1 = *(ALLink_s **)(in_a0_lo + 0xf4) != NULL; - if (bVar1) { - uVar3 = sfxGetArg0Unk3F(*(ALLink_s **)(in_a0_lo + 0xf4)); - in_v0_lo = (undefined4)uVar3; - bVar1 = uVar3 != 0; - } - bVar2 = *(ALLink_s **)(in_a0_lo + 0xf8) != NULL; - if (bVar2) { - uVar3 = sfxGetArg0Unk3F(*(ALLink_s **)(in_a0_lo + 0xf8)); - in_v0_lo = (undefined4)uVar3; - bVar2 = uVar3 != 0; - } - if (bVar1) { - iVar4 = *(int *)(in_a0_lo + 0x10); - } - else { - if (!bVar2) { - return; - } - iVar4 = *(int *)(in_a0_lo + 0x10); - } - proc_7F0539E4((float *)(iVar4 + 8)); - iVar4 = get_controls_locked_flag(); - uStack12 = in_v0_lo; - if (iVar4 != 0) { - uStack12 = 0; - } - if (bVar1) { - music_related_36((longlong)*(int *)(in_a0_lo + 0xf4),8,uStack12); - } - if (bVar2) { - music_related_36((longlong)*(int *)(in_a0_lo + 0xf8),8,uStack12); - } - return; -} - - - -void proc_7F053B10(int param_1) - -{ - ulonglong uVar1; - - if ((*(ALLink_s **)(param_1 + 0xf4) != NULL) && - (uVar1 = sfxGetArg0Unk3F(*(ALLink_s **)(param_1 + 0xf4)), uVar1 != 0)) { - sfxDeactivate(*(int *)(param_1 + 0xf4)); - } - if ((*(ALLink_s **)(param_1 + 0xf8) != NULL) && - (uVar1 = sfxGetArg0Unk3F(*(ALLink_s **)(param_1 + 0xf8)), uVar1 != 0)) { - sfxDeactivate(*(int *)(param_1 + 0xf8)); - } - return; -} - - - -void play_door_opening_soundeffect_0(int param_1) - -{ - undefined4 in_v0_hi; - int in_v0_lo; - ALSndPlayer *data; - undefined4 uVar1; - int iVar2; - int iStack4; - - iStack4 = 0; - proc_7F053B10(param_1); - data = NULL; - if (*(int *)(param_1 + 0xf4) == 0) { - data = (ALSndPlayer *)(param_1 + 0xf4); - } - else { - if (*(int *)(param_1 + 0xf8) != 0) { - uVar1 = *(undefined4 *)(param_1 + 0xa4); - goto LAB_7f053bc8; - } - data = (ALSndPlayer *)(param_1 + 0xf8); - } - uVar1 = *(undefined4 *)(param_1 + 0xa4); -LAB_7f053bc8: - iVar2 = iStack4; - switch(uVar1) { - case 1: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xd3,data); - } - break; - case 2: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,7,data); - } - break; - case 3: - play_sfx_a1(ptr_sfx_buf,0xca,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xcc,data); - } - break; - case 4: - play_sfx_a1(ptr_sfx_buf,0xd6,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xd8,data); - } - break; - case 5: - play_sfx_a1(ptr_sfx_buf,0xbc,NULL); - iVar2 = in_v0_lo; - break; - case 6: - play_sfx_a1(ptr_sfx_buf,7,NULL); - iVar2 = in_v0_lo; - break; - case 7: - play_sfx_a1(ptr_sfx_buf,0xc0,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xbf,data); - } - break; - case 8: - play_sfx_a1(ptr_sfx_buf,0xbc,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,7,data); - } - break; - case 9: - iVar2 = iStack4; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xc2,data); - iVar2 = 0; - } - break; - case 10: - play_sfx_a1(ptr_sfx_buf,0xc4,NULL); - iVar2 = in_v0_lo; - break; - case 0xb: - play_sfx_a1(ptr_sfx_buf,7,NULL); - iVar2 = in_v0_lo; - break; - case 0xc: - play_sfx_a1(ptr_sfx_buf,200,NULL); - iVar2 = in_v0_lo; - break; - case 0xd: - play_sfx_a1(ptr_sfx_buf,7,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,7,data); - } - break; - case 0xe: - iVar2 = iStack4; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xda,data); - iVar2 = 0; - } - break; - case 0xf: - iVar2 = iStack4; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xe1,data); - iVar2 = 0; - } - break; - case 0x10: - play_sfx_a1(ptr_sfx_buf,0xd6,NULL); - iVar2 = in_v0_lo; - break; - case 0x11: - play_sfx_a1(ptr_sfx_buf,7,NULL); - if (CONCAT44(in_v0_hi,in_v0_lo) != 0) { - sub_GAME_7F053A10(in_v0_lo,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - play_sfx_a1(ptr_sfx_buf,0xca,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xcc,data); - } - } - if (iVar2 != 0) { - sub_GAME_7F053A10(iVar2,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - proc_7F053A3C(); - return; -} - - - -void play_door_opening_soundeffect_(int param_1) - -{ - undefined4 in_v0_hi; - int in_v0_lo; - ALSndPlayer *data; - undefined4 uVar1; - int iVar2; - int iStack4; - - iStack4 = 0; - proc_7F053B10(param_1); - data = NULL; - if (*(int *)(param_1 + 0xf4) == 0) { - data = (ALSndPlayer *)(param_1 + 0xf4); - } - else { - if (*(int *)(param_1 + 0xf8) != 0) { - uVar1 = *(undefined4 *)(param_1 + 0xa4); - goto LAB_7f053fb4; - } - data = (ALSndPlayer *)(param_1 + 0xf8); - } - uVar1 = *(undefined4 *)(param_1 + 0xa4); -LAB_7f053fb4: - iVar2 = iStack4; - if (true) { - iVar2 = iStack4; - switch(uVar1) { - case 1: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xd3,data); - } - break; - case 2: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,7,data); - } - break; - case 3: - play_sfx_a1(ptr_sfx_buf,0xca,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xcc,data); - } - break; - case 4: - play_sfx_a1(ptr_sfx_buf,0xd6,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xd8,data); - } - break; - case 7: - play_sfx_a1(ptr_sfx_buf,0xc0,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xbf,data); - } - break; - case 8: - play_sfx_a1(ptr_sfx_buf,0xbc,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,7,data); - } - break; - case 9: - iVar2 = iStack4; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xc2,data); - iVar2 = 0; - } - break; - case 0xd: - play_sfx_a1(ptr_sfx_buf,7,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,7,data); - } - break; - case 0xe: - iVar2 = iStack4; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xda,data); - iVar2 = 0; - } - break; - case 0xf: - iVar2 = iStack4; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xe1,data); - iVar2 = 0; - } - break; - case 0x10: - play_sfx_a1(ptr_sfx_buf,0xd6,NULL); - iVar2 = in_v0_lo; - break; - case 0x11: - play_sfx_a1(ptr_sfx_buf,7,NULL); - if (CONCAT44(in_v0_hi,in_v0_lo) != 0) { - sub_GAME_7F053A10(in_v0_lo,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - play_sfx_a1(ptr_sfx_buf,0xca,NULL); - iVar2 = in_v0_lo; - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0xcc,data); - } - } - } - if (iVar2 != 0) { - sub_GAME_7F053A10(iVar2,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - proc_7F053A3C(); - return; -} - - - -void play_door_closing_soundeffect_0(int param_1) - -{ - longlong in_v0; - longlong lVar1; - - proc_7F053B10(param_1); - lVar1 = 0; - if (true) { - switch(*(undefined4 *)(param_1 + 0xa4)) { - case 1: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - lVar1 = in_v0; - break; - case 2: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - lVar1 = in_v0; - break; - case 3: - play_sfx_a1(ptr_sfx_buf,0xcb,NULL); - lVar1 = in_v0; - break; - case 4: - play_sfx_a1(ptr_sfx_buf,0xd7,NULL); - lVar1 = in_v0; - break; - case 7: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - lVar1 = in_v0; - break; - case 8: - play_sfx_a1(ptr_sfx_buf,0xbb,NULL); - lVar1 = in_v0; - break; - case 9: - play_sfx_a1(ptr_sfx_buf,0xc3,NULL); - lVar1 = in_v0; - break; - case 0xd: - play_sfx_a1(ptr_sfx_buf,7,NULL); - lVar1 = in_v0; - break; - case 0xe: - play_sfx_a1(ptr_sfx_buf,0xdb,NULL); - lVar1 = in_v0; - break; - case 0xf: - play_sfx_a1(ptr_sfx_buf,0xe2,NULL); - lVar1 = in_v0; - break; - case 0x10: - play_sfx_a1(ptr_sfx_buf,0xd7,NULL); - lVar1 = in_v0; - break; - case 0x11: - play_sfx_a1(ptr_sfx_buf,0xcb,NULL); - lVar1 = in_v0; - } - } - if (lVar1 != 0) { - sub_GAME_7F053A10((int)lVar1,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - proc_7F053A3C(); - return; -} - - - -void play_door_closing_soundeffect_1(int param_1) - -{ - longlong in_v0; - longlong lVar1; - - proc_7F053B10(param_1); - lVar1 = 0; - switch(*(undefined4 *)(param_1 + 0xa4)) { - case 1: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - lVar1 = in_v0; - break; - case 2: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - lVar1 = in_v0; - break; - case 3: - play_sfx_a1(ptr_sfx_buf,0xcb,NULL); - lVar1 = in_v0; - break; - case 4: - play_sfx_a1(ptr_sfx_buf,0xd7,NULL); - lVar1 = in_v0; - break; - case 5: - play_sfx_a1(ptr_sfx_buf,0xbb,NULL); - lVar1 = in_v0; - break; - case 6: - play_sfx_a1(ptr_sfx_buf,7,NULL); - lVar1 = in_v0; - break; - case 7: - play_sfx_a1(ptr_sfx_buf,0xd2,NULL); - lVar1 = in_v0; - break; - case 8: - play_sfx_a1(ptr_sfx_buf,0xbb,NULL); - lVar1 = in_v0; - break; - case 9: - play_sfx_a1(ptr_sfx_buf,0xc3,NULL); - lVar1 = in_v0; - break; - case 10: - play_sfx_a1(ptr_sfx_buf,0xc5,NULL); - lVar1 = in_v0; - break; - case 0xb: - play_sfx_a1(ptr_sfx_buf,199,NULL); - lVar1 = in_v0; - break; - case 0xc: - play_sfx_a1(ptr_sfx_buf,0xc9,NULL); - lVar1 = in_v0; - break; - case 0xd: - play_sfx_a1(ptr_sfx_buf,7,NULL); - lVar1 = in_v0; - break; - case 0xe: - play_sfx_a1(ptr_sfx_buf,0xdb,NULL); - lVar1 = in_v0; - break; - case 0xf: - play_sfx_a1(ptr_sfx_buf,0xe2,NULL); - lVar1 = in_v0; - break; - case 0x10: - play_sfx_a1(ptr_sfx_buf,0xd7,NULL); - lVar1 = in_v0; - break; - case 0x11: - play_sfx_a1(ptr_sfx_buf,0xcb,NULL); - lVar1 = in_v0; - } - if (lVar1 != 0) { - sub_GAME_7F053A10((int)lVar1,(float *)(*(int *)(param_1 + 0x10) + 8)); - } - proc_7F053A3C(); - return; -} - - - -void set_door_state(int *objdata,DOORSTATE state) - -{ - objdata[2] = objdata[2] & 0x7fffffff; - objdata[0x19] = objdata[0x19] | 0x200; - play_door_opening_soundeffect_0((int)objdata); - proc_7F053598((int)objdata); - if (*(short *)((int)objdata + 0x9a) == 8) { - objdata[2] = objdata[2] | 0x2000000; - objdata[0x22] = 0; - if ((undefined4 *)objdata[0x1a] != NULL) { - *(undefined4 *)objdata[0x1a] = 0; - } - objdata[2] = objdata[2] & 0xfffffeff; - } - return; -} - - - -void proc_7F0547DC(int param_1) - -{ - *(uint *)(param_1 + 8) = *(uint *)(param_1 + 8) & 0x7fffffff; - play_door_opening_soundeffect_(param_1); - return; -} - - - -void proc_7F05480C(int param_1) - -{ - play_door_closing_soundeffect_0(param_1); - if ((*(short *)(param_1 + 0x9a) == 8) && - (proc_7F03FDA8(*(int *)(param_1 + 0x10)), (*(uint *)(param_1 + 100) & 0x80) != 0)) { - **(uint **)(param_1 + 0x6c) = **(uint **)(param_1 + 0x6c) | 1; - guMtxIdentF_unrolled((float (*) [4] [4])(*(int *)(param_1 + 0x6c) + 0x20)); - } - return; -} - - - -void proc_7F05487C(int param_1) - -{ - play_door_closing_soundeffect_1(param_1); - proc_7F0535C4(param_1); - return; -} - - - -void proc_7F0548A4(int param_1,int param_2) - -{ - char cVar1; - undefined uVar2; - - uVar2 = (undefined)param_2; - if (param_2 == 1) { - if ((*(char *)(param_1 + 0xbc) == '\0') || (*(char *)(param_1 + 0xbc) == '\x03')) { - set_door_state((int *)param_1,OPEN); - } - *(undefined *)(param_1 + 0xbc) = uVar2; - } - else { - if (param_2 == 2) { - cVar1 = *(char *)(param_1 + 0xbc); - if ((cVar1 == '\0') && (0.00000000 < *(float *)(param_1 + 0xb4))) { - proc_7F0547DC(param_1); - cVar1 = *(char *)(param_1 + 0xbc); - } - if (((cVar1 != '\0') && (cVar1 != '\x03')) || (0.00000000 < *(float *)(param_1 + 0xb4))) - { - *(undefined *)(param_1 + 0xbc) = uVar2; - } - else { - if (cVar1 == '\x03') { - *(undefined *)(param_1 + 0xbc) = 0; - } - } - } - else { - *(undefined *)(param_1 + 0xbc) = uVar2; - } - } - return; -} - - - -void proc_7F054988(int param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - - iVar1 = (int)param_2; - iVar2 = iVar1; - if (((*(int *)(param_1 + 0xc) << 1 < 0) && (param_2 == 1)) && - (iVar2 = 2, *(char *)(param_1 + 0xbc) == '\0')) { - iVar1 = 3; - } - proc_7F0548A4(param_1,iVar1); - iVar1 = *(int *)(param_1 + 200); - while ((iVar1 != 0 && (iVar1 != param_1))) { - proc_7F0548A4(iVar1,iVar2); - iVar1 = *(int *)(iVar1 + 200); - } - return; -} - - - -ulonglong proc_7F054A20(int param_1) - -{ - char cVar1; - ulonglong uVar2; - - cVar1 = *(char *)(param_1 + 0xbc); - if (((cVar1 == '\0') || (uVar2 = (ulonglong)(cVar1 == '\x03'), cVar1 == '\x03')) && - (uVar2 = 0, *(float *)(param_1 + 0xb4) <= 0.00000000)) { - uVar2 = 1; - } - return uVar2; -} - - - -longlong proc_7F054A64(char *param_1,float *param_2) - -{ - bool bVar1; - longlong lVar2; - longlong lVar3; - uint *puVar4; - float fVar5; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - uint uStack32; - uint auStack28 [7]; - - puVar4 = &uStack32; - lVar3 = 0; - proc_7F03CB8C(param_1,puVar4); - do { - if ((int)uStack32 < 0) { - return lVar3; - } - lVar2 = proc_7F0B3C0C(uStack32,(int *)&fStack60); - bVar1 = lVar3 == 0; - if (lVar2 == 0) { -LAB_7f054b50: - uStack32 = puVar4[1]; - } - else { - lVar3 = 1; - if (bVar1) { - *param_2 = fStack60; - param_2[1] = fStack56; - param_2[2] = fStack52; - param_2[3] = fStack48; - goto LAB_7f054b50; - } - if (fStack60 < *param_2) { - *param_2 = fStack60; - } - if (fStack56 < param_2[1]) { - param_2[1] = fStack56; - fVar5 = param_2[2]; - } - else { - fVar5 = param_2[2]; - } - if (fVar5 < fStack52) { - param_2[2] = fStack52; - fVar5 = param_2[3]; - } - else { - fVar5 = param_2[3]; - } - if (fVar5 < fStack48) { - param_2[3] = fStack48; - goto LAB_7f054b50; - } - uStack32 = puVar4[1]; - } - puVar4 = puVar4 + 1; - } while( true ); -} - - - -int proc_7F054B80(int param_1) - -{ - int iVar1; - - iVar1 = return_nearfog_values(); - if ((iVar1 != 0) && (*(float *)(iVar1 + 8) < *(float *)(param_1 + 0x18))) { - getPlayer_c_lodscalez(); - } - return iVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 proc_7F054C58(void) - -{ - int iVar1; - xyzpoint *pxVar2; - float *pfVar3; - float *in_a0_lo; - float in_a1_lo; - f32 fVar4; - float fVar5; - undefined4 uStack4; - - uStack4 = 1; - iVar1 = return_nearfog_values(); - if (iVar1 != 0) { - pxVar2 = get_BONDdata_position(); - pfVar3 = (float *)get_BONDdata_field_10CC(); - fVar5 = pfVar3[2] * (in_a0_lo[2] - (float)pxVar2->z) + - (*in_a0_lo - (float)pxVar2->x) * *pfVar3 + - (in_a0_lo[1] - (float)pxVar2->y) * pfVar3[1]; - if ((*(float *)(iVar1 + 8) < fVar5) && - (fVar4 = getPlayer_c_lodscalez(), - *(float *)(iVar1 + 4) <= - (((fVar5 - *(float *)(iVar1 + 8)) * 100.00000000) / in_a1_lo + *(float *)(iVar1 + 8)) * - (float)fVar4)) { - uStack4 = 0; - } - } - return uStack4; -} - - - -// WARNING: Instruction at (ram,0x7f054ddc) overlaps instruction at (ram,0x7f054dd8) -// - -uint proc_7F054D6C(char *param_1,float *param_2,float param_3,int param_4) - -{ - ulonglong uVar1; - longlong lVar2; - xyzpoint *pxVar3; - int in_a3_lo; - uint *puVar4; - float fVar5; - float fVar6; - float extraout_f12; - float extraout_f12_00; - float fVar7; - float afStack60 [4]; - uint uStack44; - uint uStack32; - uint auStack28 [7]; - - uStack44 = 0; - proc_7F03CB8C(param_1,&uStack32); - puVar4 = &uStack32; - while( true ) { - if ((int)uStack32 < 0) { - return uStack44; - } - uVar1 = proc_7F0B5E50(uStack32); - if (uVar1 != 0) break; - uStack32 = puVar4[1]; - puVar4 = puVar4 + 1; - } - lVar2 = proc_7F0BB2C8(param_2,extraout_f12); - if (lVar2 == 0) { - return uStack44; - } - if ((in_a3_lo != 0) && (lVar2 = proc_7F054C58(), lVar2 == 0)) { - return uStack44; - } - lVar2 = proc_7F054A64(param_1,afStack60); - if (lVar2 == 0) { - lVar2 = proc_7F078A58(param_2,extraout_f12_00); - uStack44 = (uint)lVar2; - } - else { - lVar2 = proc_7F078BF4(param_2,extraout_f12_00,(float *)param_4); - uStack44 = (uint)lVar2; - } - if (lVar2 == 0) { - return uStack44; - } - pxVar3 = get_BONDdata_position(); - fVar5 = *param_2 - (float)pxVar3->x; - fVar6 = param_2[1] - (float)pxVar3->y; - fVar7 = param_2[2] - (float)pxVar3->z; - if (fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7 <= flt_8005345C) { - return uStack44; - } - return 0; -} - - - -undefined8 proc_7F054EA8(int param_1) - -{ - undefined8 uVar1; - float in_f12; - float in_f14; - - uVar1 = 0; - if (*(char *)(param_1 + 0xbc) == '\x01') { - proc_7F042F18((float *)(param_1 + 0xb4),in_f12,*(float **)(param_1 + 0x84),in_f14, - (float)(param_1 + 0xb8),*(float *)(param_1 + 0x8c)); - uVar1 = 1; - if (*(float *)(param_1 + 0x84) <= *(float *)(param_1 + 0xb4)) { - *(float *)(param_1 + 0xb4) = *(float *)(param_1 + 0x84); - } - else { - if (*(float *)(param_1 + 0xb4) <= 0.00000000) { - *(undefined4 *)(param_1 + 0xb4) = 0; - } - uVar1 = 1; - } - } - else { - if (*(char *)(param_1 + 0xbc) == '\x02') { - proc_7F042F18((float *)(param_1 + 0xb4),0.00000000,NULL,in_f14,(float)(param_1 + 0xb8), - *(float *)(param_1 + 0x8c)); - uVar1 = 1; - if (*(float *)(param_1 + 0x84) <= *(float *)(param_1 + 0xb4)) { - *(float *)(param_1 + 0xb4) = *(float *)(param_1 + 0x84); - } - else { - if (*(float *)(param_1 + 0xb4) <= 0.00000000) { - *(undefined4 *)(param_1 + 0xb4) = 0; - } - } - } - } - return uVar1; -} - - - -void proc_7F054FB4(int param_1) - -{ - ushort *partdesc; - bool bVar1; - longlong lVar2; - int *piVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - int iVar7; - undefined4 *puVar8; - int iVar9; - longlong lVar10; - undefined4 uVar11; - - bVar1 = false; - lVar10 = 1; - if (param_1 != 0) { - uVar11 = *(undefined4 *)(param_1 + 0xb4); - iVar9 = param_1; - while( true ) { - *(undefined4 *)(iVar9 + 0xfc) = uVar11; - lVar2 = proc_7F054EA8(iVar9); - if (lVar2 == 0) { - iVar9 = *(int *)(iVar9 + 200); - } - else { - bVar1 = true; - iVar9 = *(int *)(iVar9 + 200); - } - if ((iVar9 == param_1) || (iVar9 == 0)) break; - uVar11 = *(undefined4 *)(iVar9 + 0xb4); - } - } - if ((bVar1) && (iVar9 = param_1, param_1 != 0)) { - while( true ) { - proc_7F052B00(iVar9); - lVar10 = proc_7F0448A8(); - if (lVar10 == 0) break; - iVar9 = *(int *)(iVar9 + 200); - if ((iVar9 == param_1) || (iVar9 == 0)) break; - } - } - iVar9 = param_1; - if (param_1 != 0) { - do { - if (bVar1) { - if (lVar10 == 0) { - *(undefined4 *)(iVar9 + 0xb8) = 0; - *(undefined4 *)(iVar9 + 0xb4) = *(undefined4 *)(iVar9 + 0xfc); - proc_7F052B00(iVar9); - } - else { - if (*(char *)(iVar9 + 0xbc) == '\x01') { - if (*(float *)(iVar9 + 0x84) <= *(float *)(iVar9 + 0xb4)) { - *(undefined *)(iVar9 + 0xbc) = 0; - *(undefined4 *)(iVar9 + 0xb8) = 0; - *(undefined4 *)(iVar9 + 0xec) = global_timer; - proc_7F05480C(iVar9); - iVar5 = *(int *)(iVar9 + 0x10); - } - else { - iVar5 = *(int *)(iVar9 + 0x10); - } - } - else { - if (*(char *)(iVar9 + 0xbc) == '\x02') { - if (*(float *)(iVar9 + 0xb4) <= 0.00000000) { - *(undefined *)(iVar9 + 0xbc) = 0; - *(undefined4 *)(iVar9 + 0xb8) = 0; - *(undefined4 *)(iVar9 + 0xec) = 0; - proc_7F05487C(iVar9); - iVar5 = *(int *)(iVar9 + 0x10); - } - else { - iVar5 = *(int *)(iVar9 + 0x10); - } - } - else { - iVar5 = *(int *)(iVar9 + 0x10); - } - } - proc_7F0402B4(iVar5,(byte *)(iVar9 + 0x7c)); - } - proc_7F052D8C(iVar9); - } - else { - if ((*(ushort *)(iVar9 + 0x98) & 4) != 0) { - partdesc = *(ushort **) - (*(int *)(**(int **)(*(int *)(iVar9 + 0x14) + 8) + 0x14) + 0x14); - iVar5 = *(int *)(partdesc + 2); - piVar3 = (int *)extract_id_from_object_structure_microcode - (*(int *)(iVar9 + 0x14),partdesc); - iVar7 = *(int *)(iVar9 + 0xcc); - if (iVar7 == *piVar3) { - *piVar3 = iVar7; - } - else { - lVar2 = 0; - if (*(short *)(iVar5 + 0xc) < 1) { - *piVar3 = iVar7; - } - else { - iVar4 = 0; - iVar7 = *piVar3; - while( true ) { - lVar2 = (longlong)((int)lVar2 + 1); - puVar8 = (undefined4 *)(iVar7 + iVar4); - puVar6 = (undefined4 *)(*(int *)(iVar9 + 0xcc) + iVar4); - iVar4 += 0x10; - *puVar6 = *puVar8; - puVar6[1] = puVar8[1]; - puVar6[2] = puVar8[2]; - puVar6[3] = puVar8[3]; - if (*(short *)(iVar5 + 0xc) <= lVar2) break; - iVar7 = *piVar3; - } - *piVar3 = *(int *)(iVar9 + 0xcc); - } - } - } - } - *(undefined4 *)(iVar9 + 0xfc) = global_timer; - iVar9 = *(int *)(iVar9 + 200); - } while ((iVar9 != param_1) && (iVar9 != 0)); - } - return; -} - - - -void proc_7F05522C(int param_1,float *param_2,float *param_3,int param_4) - -{ - short sVar1; - int iVar2; - float *pfVar3; - float __x; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fStack44; - float fStack36; - float fStack28; - - pfVar3 = (float *)(ptr_2xxxpresets + (int)*(short *)(param_1 + 6) * 0x44); - iVar2 = get_curplayer_positiondata(); - fVar6 = (float)pPlayer->field_498 * 30.00000000 * 1.00000000 * 0.75000000 + - *(float *)(iVar2 + 8); - fVar5 = (float)pPlayer->field_4A0 * 30.00000000 * 1.00000000 * 0.75000000 + - *(float *)(iVar2 + 0x10); - if (param_4 == 0) { - fStack44 = pfVar3[0xe]; - fVar8 = pfVar3[0xd]; - fStack36 = pfVar3[3]; - fStack28 = pfVar3[5]; - } - else { - fStack44 = pfVar3[0xc]; - fVar8 = pfVar3[0xb]; - fStack36 = pfVar3[4] * pfVar3[8] - pfVar3[7] * pfVar3[5]; - fStack28 = pfVar3[3] * pfVar3[7] - pfVar3[6] * pfVar3[4]; - } - __x = convert_angle_using_inverse - ((f32)((*pfVar3 + fStack36 * fVar8) - fVar6), - (f32)((pfVar3[2] + fStack28 * fVar8) - fVar5)); - fVar4 = get_curplay_horizontal_rotation_in_degrees(); - fVar7 = __x - fVar4; - if (__x < fVar4) { - fVar7 = fVar7 + flt_80053460; - } - if (flt_80053468 < fVar7) { - fVar7 = fVar7 - flt_80053464; - sVar1 = *(short *)(param_1 + 0x9a); - } - else { - sVar1 = *(short *)(param_1 + 0x9a); - } - if (sVar1 == 5) { - __x = (*(float *)(param_1 + 0xb4) * flt_80053464) / 360.00000000; - if (*(int *)(param_1 + 8) << 2 < 0) { - __x = flt_80053464 - __x; - } - fVar4 = cosf(__x); - __x = sinf(__x); - fVar5 = convert_angle_using_inverse - ((f32)((*pfVar3 + fStack36 * fVar8 + - (fStack44 - fVar8) * (fStack36 * fVar4 + fStack28 * __x)) - fVar6), - (f32)((pfVar3[2] + fStack28 * fVar8 + - (fStack44 - fVar8) * (-fStack36 * __x + fStack28 * fVar4)) - fVar5) - ); - fVar6 = get_curplay_horizontal_rotation_in_degrees(); - fVar8 = fVar5 - fVar6; - if (fVar5 < fVar6) { - fVar8 = fVar8 + flt_8005346C; - } - if (flt_80053470 < fVar8) { - fVar8 = fVar8 - flt_80053474; - } - } - else { - fVar5 = convert_angle_using_inverse - ((f32)((*pfVar3 + fStack36 * fStack44) - fVar6), - (f32)((pfVar3[2] + fStack28 * fStack44) - fVar5)); - fVar6 = get_curplay_horizontal_rotation_in_degrees(); - fVar8 = fVar5 - fVar6; - if (fVar5 < fVar6) { - fVar8 = fVar8 + flt_80053478; - } - if (flt_8005347C < fVar8) { - fVar8 = fVar8 - flt_80053480; - } - } - if (fVar7 < fVar8) { - *param_2 = fVar7; - *param_3 = fVar8; - } - else { - *param_2 = fVar8; - *param_3 = fVar7; - } - return; -} - - - -undefined4 proc_7F0555F8(int param_1,int param_2) - -{ - int iVar1; - float fStack28; - float afStack24 [3]; - float fStack12; - float fStack8; - undefined4 uStack4; - - uStack4 = 1; - if (DAT_80071df8 == 0) { - proc_7F05522C(param_1,&fStack8,&fStack12,param_2); - if (-flt_80053484 <= fStack8) { - if (fStack8 <= flt_80053484) { - if (-flt_80053484 <= fStack12) { - if (fStack12 <= flt_80053484) { - DAT_80071df8 = *(undefined4 *)(param_1 + 0x10); - return 0; - } - iVar1 = *(int *)(param_1 + 200); - } - else { - iVar1 = *(int *)(param_1 + 200); - } - } - else { - iVar1 = *(int *)(param_1 + 200); - } - } - else { - iVar1 = *(int *)(param_1 + 200); - } - if ((iVar1 != 0) && (iVar1 != param_1)) { - while ((0.00000000 <= fStack8 || (fStack12 < 0.00000000))) { - proc_7F05522C(iVar1,afStack24,&fStack28,param_2); - if ((0.00000000 < fStack8) && (afStack24[0] < fStack8)) { - fStack8 = afStack24[0]; - } - if (fStack12 < 0.00000000) { - if (fStack12 < fStack28) { - fStack12 = fStack28; - iVar1 = *(int *)(iVar1 + 200); - } - else { - iVar1 = *(int *)(iVar1 + 200); - } - } - else { - iVar1 = *(int *)(iVar1 + 200); - } - if ((iVar1 == 0) || (iVar1 == param_1)) break; - } - } - if ((fStack12 - fStack8 < flt_80053488) && - ((fStack8 < 0.00000000 && (0.00000000 < fStack12)))) { - DAT_80071df8 = *(int *)(param_1 + 0x10); - uStack4 = 0; - } - } - return uStack4; -} - - - -int proc_7F055804(char *param_1) - -{ - int iVar1; - longlong lVar2; - float fVar3; - float fVar4; - float fVar5; - float extraout_f12; - uint auStack96 [8]; - uint auStack64 [12]; - char *pcStack16; - int iStack12; - int iStack4; - - iStack4 = 1; - iVar1 = *(int *)(param_1 + 4); - if (((-1 < *(int *)(iVar1 + 8) << 6) && (0.00000000 < *(float *)(iVar1 + 0x84))) && - ((param_1[1] & 2U) != 0)) { - iStack12 = 0; - pcStack16 = (char *)get_curplayer_positiondata(); - fVar3 = *(float *)(iVar1 + 0x58) - *(float *)(pcStack16 + 8); - fVar4 = *(float *)(iVar1 + 0x60) - *(float *)(pcStack16 + 0x10); - fVar5 = *(float *)(iVar1 + 0x5c) - *(float *)(pcStack16 + 0xc); - if (((flt_8005348C <= fVar3 * fVar3 + fVar4 * fVar4) || (200.00000000 <= fVar5)) || - (fVar5 <= -200.00000000)) { - proc_7F03CB8C(param_1,auStack64); - proc_7F03CB8C(pcStack16,auStack96); - lVar2 = proc_7F03DB70((int *)auStack64,(int *)auStack96); - if ((lVar2 != 0) && - (lVar2 = proc_7F03F598((float *)(pcStack16 + 8),extraout_f12,(float *)0x43160000), - lVar2 != 0)) { - iStack12 = 1; - } - } - else { - iStack12 = 1; - } - if (((iStack12 != 0) && (iStack4 = proc_7F0555F8(iVar1,0), iStack4 != 0)) && - (*(int *)(iVar1 + 0xc) < 0)) { - iStack4 = proc_7F0555F8(iVar1,1); - } - } - return iStack4; -} - - - -void proc_7F05599C(int param_1) - -{ - char cVar1; - int iVar2; - uint uVar3; - - iVar2 = *(int *)(param_1 + 4); - cVar1 = *(char *)(iVar2 + 0xbc); - if ((cVar1 == '\x01') || (cVar1 == '\x03')) { - proc_7F054988(iVar2,2); - uVar3 = *(uint *)(iVar2 + 100); - } - else { - if (cVar1 == '\x02') { - proc_7F054988(iVar2,1); - uVar3 = *(uint *)(iVar2 + 100); - } - else { - if (cVar1 == '\0') { - if (0.50000000 < *(float *)(iVar2 + 0xb4)) { - proc_7F054988(iVar2,2); - uVar3 = *(uint *)(iVar2 + 100); - goto LAB_7f055a3c; - } - proc_7F054988(iVar2,1); - } - uVar3 = *(uint *)(iVar2 + 100); - } - } -LAB_7f055a3c: - *(uint *)(iVar2 + 100) = uVar3 | 0x4000; - *(uint *)(iVar2 + 0xc) = *(uint *)(iVar2 + 0xc) & 0xfffffff7; - proc_7F03E6A0(param_1); - return; -} - - - -undefined8 proc_7F055A70(int param_1,int param_2) - -{ - float *pfVar2; - undefined8 uVar1; - float fVar3; - - pfVar2 = (float *)(ptr_2xxxpresets + (int)*(short *)(param_2 + 6) * 0x44); - fVar3 = (pfVar2[3] * pfVar2[7] - pfVar2[6] * pfVar2[4]) * - (*(float *)(param_1 + 0x10) - pfVar2[2]) + - (*(float *)(param_1 + 8) - *pfVar2) * (pfVar2[4] * pfVar2[8] - pfVar2[7] * pfVar2[5]) + - (*(float *)(param_1 + 0xc) - pfVar2[1]) * - (pfVar2[5] * pfVar2[6] - pfVar2[8] * pfVar2[3]); - if ((*(ushort *)(param_2 + 0x98) & 8) != 0) { - fVar3 = -fVar3; - } - if (fVar3 < 0.00000000) { - uVar1 = 0; - } - else { - uVar1 = 1; - if (0.00000000 < fVar3) { - uVar1 = 1; - } - } - return uVar1; -} - - - -void proc_7F055B78(int param_1,int param_2) - -{ - longlong lVar1; - int iVar2; - uint uVar3; - uint uVar4; - - if (((*(int *)(param_2 + 8) << 4 < 0) && (*(char *)(param_2 + 0xbc) == '\0')) && - (*(float *)(param_2 + 0xb4) == 0.00000000)) { - lVar1 = proc_7F055A70(param_1,param_2); - uVar3 = 0; - if ((*(ushort *)(param_2 + 0x98) & 8) == 0) { - if (lVar1 == 0) { - uVar3 = 0x20000000; - } - uVar4 = *(uint *)(param_2 + 8); - } - else { - if (lVar1 == 0) { - uVar4 = *(uint *)(param_2 + 8); - } - else { - uVar3 = 0x20000000; - uVar4 = *(uint *)(param_2 + 8); - } - } - if ((int)((uVar4 ^ uVar3) << 2) < 0) { - uVar3 = *(uint *)(param_2 + 8); - iVar2 = param_2; - while( true ) { - *(uint *)(iVar2 + 8) = uVar3 ^ 0x20000000; - iVar2 = *(int *)(iVar2 + 200); - if ((iVar2 == 0) || (iVar2 == param_2)) break; - uVar3 = *(uint *)(iVar2 + 8); - } - } - } - return; -} - - - -undefined8 proc_7F055C40(int param_1) - -{ - int iVar1; - uint uVar2; - bool bVar3; - int iVar5; - longlong lVar4; - u8 *text; - uint uVar6; - - iVar1 = *(int *)(param_1 + 4); - iVar5 = get_curplayer_positiondata(); - if (*(uint *)(iVar1 + 0x9c) == 0) { - bVar3 = true; - } - else { - lVar4 = proc_7F08CE70(*(uint *)(iVar1 + 0x9c)); - if (lVar4 == 0) { - lVar4 = proc_7F055A70(iVar5,iVar1); - bVar3 = false; - if (lVar4 == 0) { - if ((-1 < *(int *)(iVar1 + 0xc) << 3) && (*(int *)(iVar1 + 0xc) << 4 < 0)) { - bVar3 = true; - } - } - else { - if ((*(int *)(iVar1 + 0xc) << 3 < 0) && (-1 < *(int *)(iVar1 + 0xc) << 4)) { - bVar3 = true; - } - } - } - else { - bVar3 = true; - } - } - lVar4 = proc_7F03E718(iVar1); - if (lVar4 == 0) { - bVar3 = false; - } - if (bVar3) { - proc_7F055B78(iVar5,iVar1); - proc_7F05599C(param_1); - } - else { - if ((*(char *)(iVar1 + 0xbc) == '\0') && (*(float *)(iVar1 + 0xb4) < 0.50000000)) { - uVar6 = *(uint *)(iVar1 + 0xc); - if ((uVar6 & 4) == 0) { - iVar5 = proc_7F08D21C(iVar1); - if ((iVar5 == 0) || (*(int *)(iVar5 + 0x1c) == 0)) { - text = get_textptr_for_textID(0xa440); - display_string_in_lower_left_corner((char *)text); - uVar6 = *(uint *)(iVar1 + 0xc); - } - else { - text = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar5 + 0x1c)); - display_string_in_lower_left_corner((char *)text); - uVar6 = *(uint *)(iVar1 + 0xc); - } - uVar2 = *(uint *)(iVar1 + 100); - } - else { - uVar2 = *(uint *)(iVar1 + 100); - } - *(uint *)(iVar1 + 0xc) = uVar6 | 8; - *(uint *)(iVar1 + 100) = uVar2 | 0x4000; - } - } - return 0; -} - - - -void start_alarm(void) - -{ - if (alarm_timer < 1) { - alarm_timer = 1; - } - return; -} - - - -void deactivate_alarm_sound_effect(void) - -{ - ulonglong uVar1; - - if ((ptr_alarm_sfx != NULL) && (uVar1 = sfxGetArg0Unk3F(ptr_alarm_sfx), uVar1 != 0)) { - sfxDeactivate((int)ptr_alarm_sfx); - } - return; -} - - - -void stop_alarm(void) - -{ - alarm_timer = 0; - deactivate_alarm_sound_effect(); - return; -} - - - -s32 is_alarm_on(void) - -{ - return (s32)(uint)(0 < alarm_timer); -} - - - -void init_trigger_toxic_gas_effect(undefined4 *param_1) - -{ - int iVar1; - - activate_gas_sound_timer = 1; - D_80030AE0 = 0; - D_80030AD0 = *param_1; - flt_80030AD4 = param_1[1]; - flt_80030AD8 = param_1[2]; - iVar1 = get_stage_num(); - if (iVar1 != 0x20) { - gas_damage_flag = 3600.00000000; - } - else { - gas_damage_flag = 120.00000000; - } - gas_cutoff_flag = (uint)(iVar1 != 0x20); - return; -} - - - -void proc_7F055EF8(void) - -{ - ulonglong uVar1; - - if ((ptr_gas_sound != NULL) && (uVar1 = sfxGetArg0Unk3F(ptr_gas_sound), uVar1 != 0)) { - sfxDeactivate((int)ptr_gas_sound); - } - return; -} - - - -u32 check_if_toxic_gas_activated(void) - -{ - return (u32)(uint)(0.00000000 < toxic_gas_sound_timer); -} - - - -void handle_gas_damage(void) - -{ - int iVar2; - ulonglong uVar1; - f32 arg2; - f32 extraout_a0_lo; - s32 arg3; - s32 extraout_a1_lo; - - if ((activate_gas_sound_timer != 0) && - (toxic_gas_sound_timer = toxic_gas_sound_timer + global_timer_delta, - gas_damage_flag <= toxic_gas_sound_timer)) { - toxic_gas_sound_timer = gas_damage_flag; - activate_gas_sound_timer = 0; - } - if (((0.00000000 < toxic_gas_sound_timer) && (disable_player_pickups_flag == 0)) && - (switch_to_solosky2(toxic_gas_sound_timer / gas_damage_flag), gas_cutoff_flag != 0)) { - if (D_80030ADC < global_timer + -0xe1) { - D_80030ADC = global_timer; - arg2 = -0.00000000; - arg3 = 0x62; - if (600.00000000 <= toxic_gas_sound_timer) { - play_sfx_a1(ptr_sfx_buf,0x62,NULL); - arg2 = extraout_a0_lo; - arg3 = extraout_a1_lo; - } - if (1800.00000000 <= toxic_gas_sound_timer) { - record_damage_kills(0.12500000,0.00000000,arg2,arg3,0.00000000); - } - } - if (D_80030AE0 < gas_damage_flag) { - D_80030AE0 = D_80030AE0 + global_timer_delta; - if ((ptr_gas_sound == NULL) && (iVar2 = get_controls_locked_flag(), iVar2 == 0)) { - play_sfx_a1(ptr_sfx_buf,0x66,(ALSndPlayer *)&ptr_gas_sound); - } - if (ptr_gas_sound != NULL) { - sub_GAME_7F053A10((int)ptr_gas_sound,(float *)&D_80030AD0); - } - } - else { - if ((ptr_gas_sound != NULL) && (uVar1 = sfxGetArg0Unk3F(ptr_gas_sound), uVar1 != 0)) { - sfxDeactivate((int)ptr_gas_sound); - } - } - } - return; -} - - - -void set_unset_clock_lock_bits(int clocklockbits,int flag) - -{ - if (flag != 0) { - clock_drawn_flag = clock_drawn_flag & ~clocklockbits; - return; - } - clock_drawn_flag = clock_drawn_flag | clocklockbits; - return; -} - - - -u32 is_clock_drawn_onscreen(void) - -{ - return (u32)(uint)(clock_drawn_flag == 0); -} - - - -void set_clock_time(f32 time) - -{ - clock_time = (float)time; - return; -} - - - -f32 get_clock_time(void) - -{ - return (f32)clock_time; -} - - - -void set_clock_enable(int enable) - -{ - clock_enable = enable; - return; -} - - - -undefined4 get_clock_enable(void) - -{ - return clock_enable; -} - - - -void if_enabled_reset_clock(void) - -{ - if (clock_enable != 0) { - clock_time = clock_time - global_timer_delta; - } - return; -} - - - -undefined4 * proc_7F056210(undefined4 *param_1) - -{ - undefined4 *in_v0_lo; - short sVar1; - short sVar2; - uint *DL; - int iVar3; - int iVar4; - float timedivtemp; - float time; - int timediv3600; - - if (clock_drawn_flag == 0) { - time = clock_time; - if (clock_time < 0.00000000) { - time = -clock_time; - } - timedivtemp = truncf(time / 3600.00000000); - timediv3600 = (int)timedivtemp; - timedivtemp = truncf(time / 60.00000000); - iVar4 = (int)timedivtemp + timediv3600 * -0x3c; - time = truncf((time * 100.00000000) / 60.00000000); - iVar3 = (int)time + timediv3600 * -6000 + iVar4 * -100; - microcode_constructor(param_1); - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - DL = display_ammo_total_in_a1 - (in_v0_lo,(longlong)((timediv3600 % 100) / 10),0x82,2, - ((int)sVar2 + (int)sVar1) - 0x12,2,1); - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - DL = display_ammo_total_in_a1 - (DL,(longlong)(timediv3600 % 10),0x8a,2,((int)sVar2 + (int)sVar1) - 0x12,2,1) - ; - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - DL = proc_7F069A50(DL,(byte *)":\n",0x93,2,((int)sVar2 + (int)sVar1) - 0x12,2,1); - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - DL = display_ammo_total_in_a1 - (DL,(longlong)((iVar4 % 0x3c) / 10),0x9c,2,((int)sVar2 + (int)sVar1) - 0x12,2 - ,1); - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - DL = display_ammo_total_in_a1 - (DL,(longlong)(iVar4 % 10),0xa4,2,((int)sVar2 + (int)sVar1) - 0x12,2,1); - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - DL = proc_7F069A50(DL,(byte *)":\n",0xad,2,((int)sVar2 + (int)sVar1) - 0x12,2,1); - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - DL = display_ammo_total_in_a1 - (DL,(longlong)((iVar3 % 100) / 10),0xb6,2,((int)sVar2 + (int)sVar1) - 0x12,2, - 1); - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - DL = display_ammo_total_in_a1 - (DL,(longlong)(iVar3 % 10),0xbe,2,((int)sVar2 + (int)sVar1) - 0x12,2,1); - param_1 = combiner_bayer_lod_perspective(DL); - } - return param_1; -} - - - -void handle_alarm_gas_timer_calldamage(void) - -{ - s32 alarmon; - int iVar1; - - alarmon = is_alarm_on(); - if (alarmon != 0) { - if ((ptr_alarm_sfx == NULL) && (iVar1 = get_controls_locked_flag(), iVar1 == 0)) { - play_sfx_a1(ptr_sfx_buf,0xa3,(ALSndPlayer *)&ptr_alarm_sfx); - } - 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; -} - - - -void proc_7F056690(void) - -{ - char cVar1; - object_standard *poVar2; - int iVar3; - int iVar4; - object_standard *poVar6; - ushort *puVar7; - longlong lVar5; - - poVar6 = get_ptr_obj_pos_list_current_entry(); - if (poVar6 == NULL) { - return; - } - cVar1 = *(char *)poVar6; - do { - if (cVar1 == '\x01') { - if ((*(byte *)&poVar6->field_0x1 & 2) == 0) { - poVar2 = *(object_standard **)&poVar6->pad; - if ((poVar2->hidden2 & 0x80U) == 0) { - poVar6 = (object_standard *)poVar6->runtime_MATRIX3; - } - else { - iVar3 = poVar2->runtime_ptr_obj_instance_controller; - puVar7 = proc_7F04B478((int)poVar2); - if (puVar7 == NULL) { - return; - } - iVar4 = *(int *)(puVar7 + 2); - if (iVar4 == 0) { - return; - } - lVar5 = proc_7F04B590(*(int *)(poVar2->runtime_ptr_obj_instance_controller + 8), - (int)puVar7); - if (lVar5 == 0) { - poVar6 = (object_standard *)poVar6->runtime_MATRIX3; - } - else { - if (*(int *)(iVar4 + 8) != - *(int *)(*(int *)(iVar3 + 0x10) + (uint)*(ushort *)(iVar4 + 0x1a) * 4)) - { - proc_7F041024(poVar2,1); - return; - } - poVar6 = (object_standard *)poVar6->runtime_MATRIX3; - } - } - } - else { - poVar6 = (object_standard *)poVar6->runtime_MATRIX3; - } - } - else { - poVar6 = (object_standard *)poVar6->runtime_MATRIX3; - } - if (poVar6 == NULL) { - return; - } - cVar1 = *(char *)poVar6; - } while( true ); -} - - - -void drop_inventory(void) - -{ - int *GUARDdata; - s32 sVar1; - BOOL BVar2; - undefined *puVar3; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - ITEM_IDS item; - - GUARDdata = *(int **)(pPlayer->position_data_pointer + 4); - set_0x4_in_runtime_flags_for_item_in_guards_hand(GUARDdata,0); - set_0x4_in_runtime_flags_for_item_in_guards_hand(GUARDdata,1); - item = ITEM_FIST; - do { - sVar1 = proc_7F09B244(item); - if ((-1 < sVar1) && (BVar2 = is_weapon_in_inv(item), BVar2 != FALSE)) { - puVar3 = create_held_weapon((undefined2 *)GUARDdata,sVar1,(char)item,0x20000000,NULL, - NULL); - if (puVar3 != NULL) { - proc_7F04BFD0((int)puVar3,1); - proc_7F04C130((int)puVar3,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - } - } - item += ITEM_FIST; - } while (item != ITEM_END); - return; -} - - - -undefined8 -proc_7F056850(undefined4 *param_1,longlong param_2,float param_3,undefined4 *param_4, - undefined4 *param_5) - -{ - undefined8 uVar1; - longlong lVar2; - undefined4 *in_stack_00000010; - - *param_5 = *param_1; - param_5[1] = param_1[1]; - param_5[2] = param_1[2]; - *in_stack_00000010 = (int)param_2; - if (param_2 == 0) { - uVar1 = 0; - } - else { - if (0.00000000 < (float)param_4) { - lVar2 = proc_7F0B18B8(); - if (lVar2 < 0) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 1; - } - } - return uVar1; -} - - - -u32 get_size_of_setup_object_type(u8 *object) - -{ - if (true) { - switch(object[3]) { - case '\x01': - return 0x40; - case '\x02': - return 2; - case '\x03': - return 0x20; - case '\x04': - return 0x21; - case '\x05': - return 0x20; - case '\x06': - return 0x3b; - case '\a': - return 0x21; - case '\b': - return 0x22; - case '\t': - return 7; - case '\n': - return 0x40; - case '\v': - return 0x95; - case '\f': - return 0x20; - case '\r': - return 0x36; - case '\x0e': - return 3; - case '\x11': - return 0x20; - case '\x12': - return 3; - case '\x13': - return 4; - case '\x14': - return 0x2d; - case '\x15': - return 0x22; - case '\x16': - return 4; - case '\x17': - return 4; - case '\x18': - return 1; - case '\x19': - return 2; - case '\x1a': - return 2; - case '\x1b': - return 2; - case '\x1c': - return 2; - case '\x1d': - return 2; - case '\x1e': - return 4; - case '\x1f': - return 1; - case ' ': - return 4; - case '!': - return 5; - case '\"': - return 1; - case '#': - return 4; - case '$': - return 0x20; - case '%': - return 10; - case '&': - return 4; - case '\'': - return 0x2c; - case '(': - return 0x2d; - case '*': - return 0x20; - case '+': - return 0x20; - case ',': - return 5; - case '-': - return 0x38; - case '.': - return 7; - case '/': - return 0x25; - } - } - return 1; -} - - - -int proc_7F056A88(int param_1) - -{ - u32 uVar1; - int i; - object_standard *object; - - if (-1 < param_1) { - if (ptr_setup_objects == NULL) { - return 0; - } - i = 0; - object = ptr_setup_objects; - if (ptr_setup_objects->type == '0') { - return 0; - } - do { - if (i == param_1) { - return (int)object; - } - uVar1 = get_size_of_setup_object_type((u8 *)object); - object = (object_standard *)(&object->extrascale + uVar1 * 2); - i += 1; - } while (object->type != '0'); - } - return 0; -} - - - -int proc_7F056B1C(object_standard *param_1) - -{ - u32 uVar1; - object_standard *object; - int i; - - if (ptr_setup_objects != NULL) { - i = 0; - object = ptr_setup_objects; - if (ptr_setup_objects->type == '0') { - return -1; - } - do { - if (object == param_1) { - return i; - } - uVar1 = get_size_of_setup_object_type((u8 *)object); - object = (object_standard *)(&object->extrascale + uVar1 * 2); - i += 1; - } while (object->type != '0'); - } - return -1; -} - - - -int proc_7F056BA8(int param_1) - -{ - u32 uVar1; - int iVar2; - object_standard *object; - int iVar3; - - if (ptr_setup_objects == NULL) { -LAB_7f056c18: - iVar3 = -1; - } - else { - iVar3 = 0; - if (ptr_setup_objects->type == '0') { - iVar3 = -1; - } - else { - iVar2 = ptr_setup_objects->runtime_ptr_obj_posdata; - object = ptr_setup_objects; - while (param_1 != iVar2) { - uVar1 = get_size_of_setup_object_type((u8 *)object); - object = (object_standard *)(&object->extrascale + uVar1 * 2); - iVar3 += 1; - if (object->type == '0') goto LAB_7f056c18; - iVar2 = object->runtime_ptr_obj_posdata; - } - } - } - return iVar3; -} - - - -u32 load_model(int modelid) - -{ - object_header *header; - bool bVar1; - - header = (object_header *)PitemZ_entries[modelid].header; - bVar1 = header->offset_obj_table == 0; - if (bVar1) { - load_object_into_memory(header,(u8 *)PitemZ_entries[modelid].filename); - set_objuse_flag_compute_grp_nums_set_obj_loaded - ((object_header *)PitemZ_entries[modelid].header); - } - return (u32)(uint)bVar1; -} - - - -void proc_7F056CA0(int param_1) - -{ - char cVar1; - char *pcVar2; - int iVar3; - float *pfVar4; - float fVar5; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - - pcVar2 = *(char **)(param_1 + 0x10); - proc_7F03E18C((int)pcVar2); - if (*(int *)(param_1 + 0xc) << 0xe < 0) { - if (*(int *)(pcVar2 + 0x14) == 0) { - pcVar2[0x2c] = -1; - } - else { - cVar1 = *(char *)(*(int *)(pcVar2 + 0x14) + 3); - pcVar2[0x2d] = -1; - pcVar2[0x2c] = cVar1; - } - } - else { - iVar3 = proc_7F040078(param_1); - if (iVar3 != 0) { - pfVar4 = (float *)(param_1 + 0x18); - fStack16 = proc_7F03E87C(iVar3,pfVar4); - fStack16 = fStack16 - 30.00000000; - fStack12 = proc_7F03E9BC(iVar3,(int)pfVar4); - fStack8 = proc_7F03EAFC(iVar3,(int)pfVar4); - fStack8 = fStack8 - 30.00000000; - fStack28 = proc_7F03E91C(iVar3,pfVar4); - fStack28 = fStack28 + 30.00000000; - fStack24 = proc_7F03EA5C(iVar3,(int)pfVar4); - fVar5 = proc_7F03EB9C(iVar3,(int)pfVar4); - fStack16 = fStack16 + *(float *)(param_1 + 0x58); - fStack12 = fStack12 + *(float *)(param_1 + 0x5c); - fStack8 = fStack8 + *(float *)(param_1 + 0x60); - fStack28 = fStack28 + *(float *)(param_1 + 0x58); - fStack24 = fStack24 + *(float *)(param_1 + 0x5c); - fStack20 = fVar5 + 30.00000000 + *(float *)(param_1 + 0x60); - proc_7F03E27C(pcVar2,&fStack16,&fStack28,fVar5 + 30.00000000); - } - } - proc_7F03E210((int)pcVar2); - return; -} - - - -int proc_7F056EA0(undefined8 param_1,int param_2) - -{ - int iVar1; - - iVar1 = proc_7F056A88(param_2); - if ((iVar1 != 0) && (true)) { - switch(*(undefined *)(iVar1 + 3)) { - case 1: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 10: - case 0xb: - case 0xc: - case 0xd: - case 0x11: - case 0x14: - case 0x15: - case 0x24: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2d: - case 0x2f: - break; - case 2: - case 9: - case 0xe: - case 0x12: - case 0x13: - case 0x16: - case 0x17: - case 0x18: - case 0x19: - case 0x1a: - case 0x1b: - case 0x1c: - case 0x1d: - case 0x1e: - case 0x1f: - case 0x20: - case 0x21: - case 0x22: - case 0x23: - case 0x25: - case 0x26: - case 0x2c: - case 0x2e: - iVar1 = 0; - } - } - return iVar1; -} - - - -int proc_7F056F08(ulonglong param_1,int *param_2,int *param_3,longlong param_4,int param_5, - int param_6) - -{ - byte bVar1; - ulonglong uVar2; - u32 uVar3; - object_standard *object; - object_standard *poVar4; - object_standard *poVar5; - - poVar4 = NULL; - poVar5 = NULL; - if (ptr_setup_objects != NULL) { - bVar1 = ptr_setup_objects->type; - object = ptr_setup_objects; - while (bVar1 != 0x30) { - if ((param_1 & 0xff) == (ulonglong)bVar1) { - if (object->runtime_ptr_obj_posdata == 0) { - if ((param_4 == 0) && (param_5 == 0)) { - return (int)object; - } - } - else { - if (((((param_1 != 8) && ((object->runtime_bitflags & 0x80U) == 0)) && - ((object->hidden2 & 4U) == 0)) && - (*(int *)(object->runtime_ptr_obj_posdata + 0x1c) == 0)) && - ((param_5 == 0 || - (uVar2 = proc_7F06C060(object->runtime_ptr_obj_instance_controller,param_6), - uVar2 != 0)))) { - if ((poVar4 == NULL) && - ((*(byte *)(object->runtime_ptr_obj_posdata + 1) & 2) == 0)) { - poVar4 = object; - } - if (poVar5 == NULL) { - poVar5 = object; - } - } - } - } - uVar3 = get_size_of_setup_object_type((u8 *)object); - object = (object_standard *)(&object->extrascale + uVar3 * 2); - bVar1 = object->type; - } - } - *(object_standard **)param_2 = poVar4; - *(object_standard **)param_3 = poVar5; - return 0; -} - - - -int proc_7F057080(short param_1) - -{ - short sVar1; - undefined *puVar2; - - if (ptr_last_tag_entry_type16 != NULL) { - sVar1 = *(short *)(ptr_last_tag_entry_type16 + 4); - puVar2 = ptr_last_tag_entry_type16; - while( true ) { - if (param_1 == sVar1) { - return (int)puVar2; - } - puVar2 = *(undefined **)(puVar2 + 8); - if (puVar2 == NULL) break; - sVar1 = *(short *)(puVar2 + 4); - } - } - return 0; -} - - - -int get_handle_to_tagged_object(int object) - -{ - int iVar1; - int iVar2; - - iVar1 = proc_7F057080((short)object); - iVar2 = 0; - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 0xc); - } - if ((iVar2 != 0) && ((*(uint *)(iVar2 + 100) & 0x10) == 0)) { - iVar2 = 0; - } - return iVar2; -} - - - -char * get_ptr_text_for_watch_breifing_page(WATCH_BRIEFING_PAGE page) - -{ - watchMenuObjectiveText *curentry; - u8 *textptr; - WATCH_BRIEFING_PAGE menupage; - - textptr = NULL; - if (ptr_last_briefing_setup_entry_type23 != NULL) { - menupage = ptr_last_briefing_setup_entry_type23->menu; - curentry = ptr_last_briefing_setup_entry_type23; - while (page != menupage) { - curentry = curentry->nextentry; - if (curentry == NULL) goto LAB_7f057150; - menupage = curentry->menu; - } - textptr = get_textptr_for_textID(curentry->text); - } -LAB_7f057150: - if (textptr == NULL) { - if (page == BRIEFING_TITLE) { - textptr = get_textptr_for_textID("E R R O R\n"); - } - else { - if (page == BRIEFING_OVERVIEW) { - textptr = get_textptr_for_textID("no briefing for this mission\n"); - } - else { - textptr = get_textptr_for_textID("\n"); - } - } - } - return (char *)textptr; -} - - - -u32 add_objective(void) - -{ - return num_objective_ptrs[0] + 1; -} - - - -u8 * get_text_for_objective(int objective) - -{ - u8 *textptr; - - if ((objective < 10) && (objective_ptrs[objective] != NULL)) { - textptr = get_textptr_for_textID(objective_ptrs[objective]->text); - } - else { - textptr = NULL; - } - return textptr; -} - - - -DIFFICULTY get_difficulty_for_objective(int objective) - -{ - if ((objective < 10) && (objective_ptrs[objective] != NULL)) { - return (DIFFICULTY)(int)*(char *)((int)&objective_ptrs[objective]->nextentry + 3); - } - return DIFFICULTY_AGENT; -} - - - -int get_status_of_objective(s32 objective) - -{ - u8 uVar1; - longlong lVar2; - ulonglong uVar3; - int iVar4; - u32 uVar5; - BOOL BVar6; - int iVar7; - watchMenuObjectiveText *object; - int iVar8; - - iVar8 = 1; - if (objective < 10) { - object = objective_ptrs[objective]; - if (object == NULL) { - iVar8 = (&DAT_80075d58)[objective]; - } - else { - uVar1 = object->id; - while (uVar1 != '\x18') { - iVar7 = 1; - if (true) { - switch(uVar1) { - case '\x19': - iVar4 = get_handle_to_tagged_object(object->menu); - if (((iVar4 != 0) && (*(int *)(iVar4 + 0x10) != 0)) && - (uVar3 = check_if_object_has_not_been_destroyed(iVar4), uVar3 != 0)) { - iVar7 = 0; - } - break; - case '\x1a': - uVar3 = proc_7F033338(0,object->menu); - if (uVar3 == 0) { - iVar7 = 0; - } - break; - case '\x1b': - uVar3 = proc_7F033338(0,object->menu); - if (uVar3 != 0) { - iVar7 = 2; - } - break; - case '\x1c': - iVar4 = get_handle_to_tagged_object(object->menu); - if (((iVar4 == 0) || (*(int *)(iVar4 + 0x10) == 0)) || - (uVar3 = check_if_object_has_not_been_destroyed(iVar4), uVar3 == 0)) { - iVar7 = 2; - } - else { - lVar2 = proc_7F08CFE0(*(int *)(iVar4 + 0x10)); - if (lVar2 == 0) { - iVar7 = 0; - } - } - break; - case '\x1d': - iVar4 = get_handle_to_tagged_object(object->menu); - if (((iVar4 != 0) && (*(int *)(iVar4 + 0x10) != 0)) && - (lVar2 = proc_7F08CFE0(*(int *)(iVar4 + 0x10)), lVar2 != 0)) { - iVar7 = 0; - } - break; - case '\x1e': - iVar4 = get_handle_to_tagged_object(object->menu); - if (*(int *)&object->reserved == 0) { - if (((iVar4 == 0) || (*(int *)(iVar4 + 0x10) == 0)) || - (uVar3 = check_if_object_has_not_been_destroyed(iVar4), uVar3 == 0)) - { - iVar7 = 2; - } - else { - iVar7 = 0; - } - } - break; - case ' ': - if (*(int *)&object->reserved == 0) { - iVar7 = 0; - } - break; - case '!': - if (object->nextentry == NULL) { - iVar7 = 0; - } - break; - case '\"': - iVar4 = get_keyanalyzer_flag(); - if (iVar4 == 0) { - iVar7 = 0; - } - } - } - if (iVar8 == 1) { - if (iVar7 != 1) { - iVar8 = iVar7; - } - } - else { - if ((iVar8 == 0) && (iVar7 == 2)) { - iVar8 = iVar7; - } - } - uVar5 = get_size_of_setup_object_type((u8 *)object); - object = (watchMenuObjectiveText *)(&object->field_0x0 + uVar5 * 4); - uVar1 = object->id; - } - } - } - BVar6 = get_debug_all_obj_complete_flag(); - if (BVar6 != FALSE) { - iVar8 = 1; - } - return iVar8; -} - - - -u32 check_objectives_complete(void) - -{ - u32 uVar1; - DIFFICULTY objdiff; - DIFFICULTY curdiff; - int iVar2; - int objective; - - objective = 0; - uVar1 = add_objective(); - if (0 < (int)uVar1) { - do { - objdiff = get_difficulty_for_objective(objective); - curdiff = get_current_difficulty(); - if ((objdiff <= curdiff) && (iVar2 = get_status_of_objective(objective), iVar2 != 1)) { - return 0; - } - objective += 1; - uVar1 = add_objective(); - } while (objective < (int)uVar1); - } - return 1; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void display_objective_status_text_on_status_change(void) - -{ - int objstatus; - DIFFICULTY DVar1; - DIFFICULTY DVar2; - u8 *textfiletext; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - int objective; - int iVar7; - int *piVar8; - undefined4 auStack60 [15]; - - iVar7 = 0; - puVar5 = dword_80053610; - puVar3 = auStack60; - do { - puVar6 = puVar5 + 3; - puVar4 = puVar3 + 3; - *puVar3 = *puVar5; - puVar3[1] = puVar5[1]; - puVar3[2] = puVar5[2]; - puVar5 = puVar6; - puVar3 = puVar4; - } while (puVar6 != (undefined4 *)&dword_80053640); - *(undefined2 *)puVar4 = _dword_80053640; - piVar8 = &DAT_80075d58; - objective = 0; - if (-1 < num_objective_ptrs[0]) { - do { - objstatus = get_status_of_objective(objective); - if (objstatus != *piVar8) { - *piVar8 = objstatus; - DVar1 = get_difficulty_for_objective(objective); - DVar2 = get_current_difficulty(); - if (DVar1 <= DVar2) { - if (j_text_trigger == 0) { - textfiletext = get_textptr_for_textID("objective"); - sprintf((char *)auStack60,"%s %c: ",textfiletext,iVar7 + 0x61); - } - else { - textfiletext = get_textptr_for_textID("objective"); - sprintf((char *)auStack60,aSAC,textfiletext,iVar7 + 0x1a); - } - if (objstatus == 1) { - textfiletext = get_textptr_for_textID("completed\n"); - string_append_from_obseg_textbank((char *)auStack60,(char *)textfiletext); - } - else { - if (objstatus == 0) { - textfiletext = get_textptr_for_textID("incomplete\n"); - string_append_from_obseg_textbank - ((char *)auStack60,(char *)textfiletext); - } - else { - if (objstatus == 2) { - textfiletext = get_textptr_for_textID("failed\n"); - string_append_from_obseg_textbank - ((char *)auStack60,(char *)textfiletext); - } - } - } - display_string_in_lower_left_corner((char *)auStack60); - } - } - DVar1 = get_difficulty_for_objective(objective); - DVar2 = get_current_difficulty(); - if (DVar1 <= DVar2) { - iVar7 += 1; - } - objective += 1; - piVar8 = piVar8 + 1; - } while (objective <= num_objective_ptrs[0]); - } - return; -} - - - -void proc_7F057744(ulonglong param_1) - -{ - uint uVar1; - int iVar2; - int iVar3; - - if (ptr_last_enter_room_subobject_entry_type20 != 0) { - iVar3 = *(int *)(ptr_last_enter_room_subobject_entry_type20 + 8); - iVar2 = ptr_last_enter_room_subobject_entry_type20; - while( true ) { - if (iVar3 == 0) { - uVar1 = *(uint *)(iVar2 + 4); - if (uVar1 < 10000) { - iVar3 = *(int *)(ptr_0xxxpresets + uVar1 * 0x2c + 0x28); - } - else { - iVar3 = *(int *)(ptr_2xxxpresets + uVar1 * 0x44 + -0xa6018); - } - if (iVar3 == 0) { - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - if (param_1 == (ulonglong)*(byte *)(iVar3 + 3)) { - *(undefined4 *)(iVar2 + 8) = 1; - iVar2 = *(int *)(iVar2 + 0xc); - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0xc); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 8); - } - } - return; -} - - - -void proc_7F0577E8(int param_1,ulonglong param_2) - -{ - uint uVar1; - int iVar2; - int iVar3; - - if (ptr_last_deposit_in_room_subobject_entry_type21 != 0) { - iVar3 = *(int *)(ptr_last_deposit_in_room_subobject_entry_type21 + 0xc); - iVar2 = ptr_last_deposit_in_room_subobject_entry_type21; - while( true ) { - if (iVar3 == 0) { - if (param_1 == *(int *)(iVar2 + 4)) { - uVar1 = *(uint *)(iVar2 + 8); - if (uVar1 < 10000) { - iVar3 = *(int *)(ptr_0xxxpresets + uVar1 * 0x2c + 0x28); - } - else { - iVar3 = *(int *)(ptr_2xxxpresets + uVar1 * 0x44 + -0xa6018); - } - if (iVar3 == 0) { - iVar2 = *(int *)(iVar2 + 0x10); - } - else { - if (param_2 == (ulonglong)*(byte *)(iVar3 + 3)) { - *(undefined4 *)(iVar2 + 0xc) = 1; - iVar2 = *(int *)(iVar2 + 0x10); - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - } - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - } - else { - iVar2 = *(int *)(iVar2 + 0x10); - } - if (iVar2 == 0) break; - iVar3 = *(int *)(iVar2 + 0xc); - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void objectiveHandlePhotograph(void) - -{ - int iVar1; - int iVar4; - ulonglong uVar2; - longlong lVar3; - int iVar5; - f32 fVar6; - f32 fVar7; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float afStack36 [2]; - float afStack28 [2]; - float afStack20 [5]; - - if (ptr_last_photo_obj_in_room_subobject_entry_type1E == 0) { - return; - } - iVar4 = *(int *)(ptr_last_photo_obj_in_room_subobject_entry_type1E + 8); - iVar5 = ptr_last_photo_obj_in_room_subobject_entry_type1E; - do { - if (iVar4 == 0) { - iVar4 = get_handle_to_tagged_object(*(int *)(iVar5 + 4)); - if (iVar4 == 0) { -LAB_7f057a84: - iVar5 = *(int *)(iVar5 + 0xc); - } - else { - iVar1 = *(int *)(iVar4 + 0x10); - if (iVar1 == 0) { - iVar5 = *(int *)(iVar5 + 0xc); - } - else { - if ((*(byte *)(iVar1 + 1) & 2) == 0) { - iVar5 = *(int *)(iVar5 + 0xc); - } - else { - if (0.00000000 <= *(float *)(iVar1 + 0x18)) { - uVar2 = check_if_object_has_not_been_destroyed(iVar4); - if ((uVar2 == 0) || - (lVar3 = proc_7F050D30(*(int *)(iVar4 + 0x10),afStack20,afStack28, - afStack36), lVar3 == 0)) goto LAB_7f057a84; - proc_7F03F948(afStack20,afStack28,afStack36,&fStack44,&fStack52); - fVar6 = getPlayer_c_screenleft(); - if ((float)fVar6 < fStack44) { - fVar6 = getPlayer_c_screenleft(); - fVar7 = getPlayer_c_screenwidth(); - if (fStack44 < (float)fVar7 + (float)fVar6) { - fVar6 = getPlayer_c_screenleft(); - if ((float)fVar6 < fStack52) { - fVar6 = getPlayer_c_screenleft(); - fVar7 = getPlayer_c_screenwidth(); - if (fStack52 < (float)fVar7 + (float)fVar6) { - fVar6 = getPlayer_c_screentop(); - if ((float)fVar6 < fStack40) { - fVar6 = getPlayer_c_screentop(); - fVar7 = getPlayer_c_screenheight(); - if (fStack40 < (float)fVar7 + (float)fVar6) { - fVar6 = getPlayer_c_screentop(); - if ((float)fVar6 < fStack48) { - fVar6 = getPlayer_c_screentop(); - fVar7 = getPlayer_c_screenheight(); - if (fStack48 < (float)fVar7 + (float)fVar6) - { - *(undefined4 *)(iVar5 + 8) = 1; - goto LAB_7f057a84; - } - iVar5 = *(int *)(iVar5 + 0xc); - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - } - } - } - } - else { - iVar5 = *(int *)(iVar5 + 0xc); - } - if (iVar5 == 0) { - return; - } - iVar4 = *(int *)(iVar5 + 8); - } while( true ); -} - - - -void proc_7F057AC0(float *param_1) - -{ - u32 randomval; - float tempval; - float firstrandfinal; - float secondrandfinal; - float thirdrandfinal; - - firstrandfinal = dword_80032300; - secondrandfinal = dword_80032304; - thirdrandfinal = dword_80032308; - randomval = get_random_value(); - tempval = (float)randomval; - if ((int)randomval < 0) { - tempval = tempval + 4294967296.00000000; - } - firstrandfinal = tempval * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477; - randomval = get_random_value(); - tempval = (float)randomval; - if ((int)randomval < 0) { - tempval = tempval + 4294967296.00000000; - } - secondrandfinal = tempval * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477; - randomval = get_random_value(); - tempval = (float)randomval; - if ((int)randomval < 0) { - tempval = tempval + 4294967296.00000000; - } - thirdrandfinal = tempval * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477; - proc_7F058714(&firstrandfinal,param_1); - return; -} - - - -void proc_7F057C14(float *param_1,float *param_2) - -{ - u32 uVar1; - float fVar2; - - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *param_1 = fVar2 * 0.00000000 * 1.66666663 * 4.00000000 - 3.33333325; - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - param_1[1] = fVar2 * 0.00000000 * 1.66666663 * 4.00000000; - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - param_1[2] = fVar2 * 0.00000000 * 1.66666663 * 4.00000000 - 3.33333325; - proc_7F057AC0(param_2); - return; -} - - - -void proc_7F057D44(float *param_1,float *param_2,float param_3) - -{ - float in_a2_lo; - float fVar1; - - fVar1 = *param_2 - in_a2_lo * npc_gravity_modifier; - *param_1 = *param_1 + in_a2_lo * (*param_2 + fVar1) * 0.50000000; - *param_2 = fVar1; - return; -} - - - -void proc_7F057D88(float *param_1,float *param_2,float param_3) - -{ - float in_a2_lo; - - proc_7F057D44(param_1 + 1,param_2 + 1,in_a2_lo); - *param_1 = *param_1 + in_a2_lo * *param_2; - param_1[2] = param_1[2] + in_a2_lo * param_2[2]; - return; -} - - - -void sub_GAME_7F057DF8(float *param_1,float *param_2,int param_3) - -{ - int i; - - i = 0; - if (0 < param_3) { - do { - sub_GAME_7F058098(param_2,param_1); - i += 1; - } while (i != param_3); - } - return; -} - - - -void proc_7F057E58(float *param_1,float *param_2,float *param_3,float *param_4,int param_5) - -{ - float in_f12; - - proc_7F057D88(param_1,param_2,in_f12); - sub_GAME_7F057DF8(param_3,param_4,param_5); - return; -} - - - -float cosf(float __x) - -{ - uint uVar1; - float fVar2; - float fVar3; - - __x = __x + 1.57079625; - uVar1 = (int)__x >> 0x16 & 0x1ff; - if (uVar1 < 0xff) { - if (0xe5 < uVar1) { - fVar2 = __x * __x; - __x = (((fVar2 * 0.00000261 + -0.00019810) * fVar2 + 0.00833307) * fVar2 + -0.16666660) - * fVar2 * __x + __x; - } - } - else { - if (uVar1 < 0x136) { - fVar2 = __x * 0.31830987; - fVar3 = (float)(int)(longlong)ROUND(fVar2); - __x = (__x - fVar3 * 3.14159274) - fVar3 * 0.00000003; - fVar3 = __x * __x; - __x = (((fVar3 * 0.00000261 + -0.00019810) * fVar3 + 0.00833307) * fVar3 + -0.16666660) - * fVar3 * __x + __x; - if (((longlong)ROUND(fVar2) & 1U) != 0) { - __x = -__x; - } - } - else { - __x = 0.00000000; - } - } - return __x; -} - - - -float sinf(float __x) - -{ - uint uVar1; - float fVar2; - float fVar3; - - uVar1 = (int)__x >> 0x16 & 0x1ff; - if (uVar1 < 0xff) { - if (0xe5 < uVar1) { - fVar2 = __x * __x; - __x = (((fVar2 * 0.00000261 + -0.00019810) * fVar2 + 0.00833307) * fVar2 + -0.16666660) - * fVar2 * __x + __x; - } - } - else { - if (uVar1 < 0x136) { - fVar2 = __x * 0.31830987; - fVar3 = (float)(int)(longlong)ROUND(fVar2); - __x = (__x - fVar3 * 3.14159274) - fVar3 * 0.00000003; - fVar3 = __x * __x; - __x = (((fVar3 * 0.00000261 + -0.00019810) * fVar3 + 0.00833307) * fVar3 + -0.16666660) - * fVar3 * __x + __x; - if (((longlong)ROUND(fVar2) & 1U) != 0) { - __x = -__x; - } - } - else { - __x = 0.00000000; - } - } - return __x; -} - - - -void guMtxIdentF_unrolled(float (*param_1) [4] [4]) - -{ - (*param_1)[1] = 0.00000000; - (*param_1)[2] = 0.00000000; - (*param_1)[3] = 0.00000000; - (*param_1)[4] = 0.00000000; - (*param_1)[6] = 0.00000000; - (*param_1)[7] = 0.00000000; - (*param_1)[8] = 0.00000000; - (*param_1)[9] = 0.00000000; - (*param_1)[0xb] = 0.00000000; - (*param_1)[0xc] = 0.00000000; - (*param_1)[0xd] = 0.00000000; - (*param_1)[0xe] = 0.00000000; - (*param_1)[0] = 1.00000000; - (*param_1)[5] = 1.00000000; - (*param_1)[10] = 1.00000000; - (*param_1)[0xf] = 1.00000000; - return; -} - - - -void proc_7F058020(float (*param_1) [4] [4],float (*param_2) [4]) - -{ - int iVar1; - - iVar1 = 0; - do { - iVar1 += 1; - (*param_2)[0] = (*param_1)[0]; - (*param_2)[1] = (*param_1)[1]; - (*param_2)[2] = (*param_1)[2]; - (*param_2)[3] = (*param_1)[3]; - param_1 = (float (*) [4] [4])(*param_1 + 4); - param_2 = param_2 + 1; - } while (iVar1 != 4); - return; -} - - - -void proc_7F058068(float *param_1,float *param_2) - -{ - float afStack64 [16]; - - proc_7F0580C8(param_1,param_2,(int)afStack64); - proc_7F058020((float (*) [4] [4])afStack64,(float (*) [4])param_2); - return; -} - - - -void sub_GAME_7F058098(float *param_1,float *param_2) - -{ - float afStack64 [16]; - - proc_7F05818C(param_1,param_2,(int)afStack64); - proc_7F058020((float (*) [4] [4])afStack64,(float (*) [4])param_2); - return; -} - - - -void proc_7F0580C8(float *param_1,float *param_2,int param_3) - -{ - int iVar1; - int iVar2; - float *pfVar3; - float *pfVar4; - - iVar2 = 0; - do { - iVar1 = 0; - pfVar4 = param_2; - pfVar3 = (float *)(param_3 + iVar2); - do { - iVar1 += 2; - *pfVar3 = pfVar4[3] * param_1[0xc] + - *param_1 * *pfVar4 + param_1[4] * pfVar4[1] + param_1[8] * pfVar4[2]; - pfVar3[4] = pfVar4[7] * param_1[0xc] + - *param_1 * pfVar4[4] + param_1[4] * pfVar4[5] + param_1[8] * pfVar4[6]; - pfVar4 = pfVar4 + 8; - pfVar3 = pfVar3 + 8; - } while (iVar1 != 4); - iVar2 += 4; - param_1 = param_1 + 1; - } while (iVar2 != 0x10); - return; -} - - - -void proc_7F05818C(float *param_1,float *param_2,int param_3) - -{ - float *pfVar1; - float *pfVar2; - float *pfVar3; - int iVar4; - int iVar5; - float *pfVar6; - float *pfVar7; - - iVar5 = 0; - do { - iVar4 = 0; - pfVar6 = (float *)(param_3 + iVar5); - pfVar7 = param_2; - do { - *pfVar6 = pfVar7[2] * param_1[8] + *param_1 * *pfVar7 + param_1[4] * pfVar7[1]; - if (iVar4 == 3) { - *pfVar6 = *pfVar6 + param_1[0xc]; - } - pfVar1 = pfVar7 + 4; - pfVar2 = pfVar7 + 5; - pfVar3 = pfVar7 + 6; - pfVar7 = pfVar7 + 8; - pfVar6[4] = *pfVar3 * param_1[8] + *param_1 * *pfVar1 + param_1[4] * *pfVar2; - if (iVar4 == 2) { - pfVar6[4] = pfVar6[4] + param_1[0xc]; - } - iVar4 += 2; - pfVar6 = pfVar6 + 8; - } while (iVar4 != 4); - iVar5 += 4; - param_1 = param_1 + 1; - } while (iVar5 != 0xc); - *(undefined4 *)(param_3 + 0xc) = 0; - *(undefined4 *)(param_3 + 0x1c) = 0; - *(undefined4 *)(param_3 + 0x2c) = 0; - *(undefined4 *)(param_3 + 0x3c) = 0x3f800000; - return; -} - - - -void proc_7F058274(float *param_1,float *param_2,float *param_3) - -{ - *param_3 = *param_2 * *param_1; - param_3[4] = param_2[4] * *param_1; - param_3[8] = param_2[8] * *param_1; - param_3[0xc] = param_2[0xc] * *param_1; - param_3[1] = param_2[1] * param_1[5]; - param_3[5] = param_2[5] * param_1[5]; - param_3[9] = param_2[9] * param_1[5]; - param_3[0xd] = param_2[0xd] * param_1[5]; - param_3[2] = param_2[2] * param_1[10]; - param_3[6] = param_2[6] * param_1[10]; - param_3[10] = param_2[10] * param_1[10]; - param_3[0xe] = param_1[0xe] + param_1[10] * param_2[0xe]; - param_3[3] = param_2[2] * param_1[0xb]; - param_3[7] = param_2[6] * param_1[0xb]; - param_3[0xb] = param_2[10] * param_1[0xb]; - param_3[0xf] = param_2[0xe] * param_1[0xb]; - return; -} - - - -void proc_7F058380(float *param_1,float *param_2,float *param_3) - -{ - float *pfVar1; - float *pfVar2; - int iVar3; - float fVar4; - - iVar3 = 0; - do { - fVar4 = *param_1; - pfVar1 = param_1 + 4; - pfVar2 = param_1 + 8; - iVar3 += 1; - param_1 = param_1 + 1; - *param_3 = param_2[2] * *pfVar2 + fVar4 * *param_2 + *pfVar1 * param_2[1]; - param_3 = param_3 + 1; - } while (iVar3 != 3); - return; -} - - - -void proc_7F0583D8(float *param_1,float *param_2) - -{ - float fStack12; - float fStack8; - float fStack4; - - proc_7F058380(param_1,param_2,&fStack12); - *param_2 = fStack12; - param_2[1] = fStack8; - param_2[2] = fStack4; - return; -} - - - -void proc_7F058418(float *param_1,float *param_2,float *param_3) - -{ - proc_7F058380(param_1,param_2,param_3); - *param_3 = *param_3 + param_1[0xc]; - param_3[1] = param_3[1] + param_1[0xd]; - param_3[2] = param_3[2] + param_1[0xe]; - return; -} - - - -void proc_7F058474(float *param_1,float *param_2) - -{ - proc_7F0583D8(param_1,param_2); - *param_2 = *param_2 + param_1[0xc]; - param_2[1] = param_2[1] + param_1[0xd]; - param_2[2] = param_2[2] + param_1[0xe]; - return; -} - - - -void proc_7F0584D0(float *param_1,float param_2,float *param_3) - -{ - float *in_a2_lo; - float fVar1; - float fVar2; - - fVar1 = cosf((float)param_3); - fVar2 = sinf((float)param_3); - in_a2_lo[8] = fVar2; - in_a2_lo[2] = -fVar2; - *in_a2_lo = fVar1; - in_a2_lo[10] = fVar1; - in_a2_lo[1] = 0.00000000; - in_a2_lo[3] = 0.00000000; - in_a2_lo[4] = 0.00000000; - in_a2_lo[6] = 0.00000000; - in_a2_lo[7] = 0.00000000; - in_a2_lo[9] = 0.00000000; - in_a2_lo[0xb] = 0.00000000; - in_a2_lo[5] = 1.00000000; - in_a2_lo[0xc] = *param_1; - in_a2_lo[0xd] = param_1[1]; - fVar1 = param_1[2]; - in_a2_lo[0xf] = 1.00000000; - in_a2_lo[0xe] = fVar1; - return; -} - - - -void proc_7F058570(float param_1,undefined8 param_2,undefined4 *param_3) - -{ - float fVar1; - float fVar2; - - fVar1 = cosf(param_1); - fVar2 = sinf(param_1); - *(float *)(param_3 + 6) = fVar2; - *(float *)(param_3 + 9) = -fVar2; - *(float *)(param_3 + 5) = fVar1; - *(float *)(param_3 + 10) = fVar1; - param_3[1] = 0; - param_3[2] = 0; - param_3[3] = 0; - param_3[4] = 0; - param_3[7] = 0; - param_3[8] = 0; - param_3[0xb] = 0; - param_3[0xc] = 0; - param_3[0xd] = 0; - param_3[0xe] = 0; - *param_3 = 0x3f800000; - param_3[0xf] = 0x3f800000; - return; -} - - - -void proc_7F0585FC(float param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - float fVar2; - - fVar1 = cosf(param_1); - fVar2 = sinf(param_1); - param_3[8] = fVar2; - param_3[2] = -fVar2; - *param_3 = fVar1; - param_3[10] = fVar1; - param_3[1] = 0.00000000; - param_3[3] = 0.00000000; - param_3[4] = 0.00000000; - param_3[6] = 0.00000000; - param_3[7] = 0.00000000; - param_3[9] = 0.00000000; - param_3[0xb] = 0.00000000; - param_3[0xc] = 0.00000000; - param_3[0xd] = 0.00000000; - param_3[0xe] = 0.00000000; - param_3[5] = 1.00000000; - param_3[0xf] = 1.00000000; - return; -} - - - -void proc_7F058688(float param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - float fVar2; - - fVar1 = cosf(param_1); - fVar2 = sinf(param_1); - param_3[1] = fVar2; - param_3[4] = -fVar2; - *param_3 = fVar1; - param_3[5] = fVar1; - param_3[2] = 0.00000000; - param_3[3] = 0.00000000; - param_3[6] = 0.00000000; - param_3[7] = 0.00000000; - param_3[8] = 0.00000000; - param_3[9] = 0.00000000; - param_3[0xb] = 0.00000000; - param_3[0xc] = 0.00000000; - param_3[0xd] = 0.00000000; - param_3[0xe] = 0.00000000; - param_3[10] = 1.00000000; - param_3[0xf] = 1.00000000; - return; -} - - - -void proc_7F058714(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar1 = cosf(*param_1); - fVar2 = sinf(*param_1); - fVar3 = cosf(param_1[1]); - fVar4 = sinf(param_1[1]); - fVar5 = cosf(param_1[2]); - fVar6 = sinf(param_1[2]); - param_2[3] = 0.00000000; - param_2[2] = -fVar4; - *param_2 = fVar3 * fVar5; - param_2[1] = fVar3 * fVar6; - param_2[4] = fVar2 * fVar5 * fVar4 - fVar1 * fVar6; - param_2[5] = fVar2 * fVar6 * fVar4 + fVar1 * fVar5; - param_2[7] = 0.00000000; - param_2[6] = fVar2 * fVar3; - param_2[8] = fVar1 * fVar5 * fVar4 + fVar2 * fVar6; - param_2[9] = fVar1 * fVar6 * fVar4 - fVar2 * fVar5; - param_2[0xb] = 0.00000000; - param_2[0xc] = 0.00000000; - param_2[0xd] = 0.00000000; - param_2[0xe] = 0.00000000; - param_2[0xf] = 1.00000000; - param_2[10] = fVar1 * fVar3; - return; -} - - - -void proc_7F058860(float *param_1,float *param_2) - -{ - float vector2; - float fVar1; - - vector2 = sqrtf(param_1[6] * param_1[6] + param_1[10] * param_1[10]); - if (0.00000191 < vector2) { - fVar1 = convert_angle_using_inverse((f32)param_1[6],(f32)param_1[10]); - *param_2 = fVar1; - vector2 = convert_angle_using_inverse((f32)-param_1[2],(f32)vector2); - param_2[1] = vector2; - vector2 = convert_angle_using_inverse((f32)param_1[1],(f32)*param_1); - param_2[2] = vector2; - } - else { - *param_2 = 0.00000000; - vector2 = convert_angle_using_inverse((f32)-param_1[2],(f32)vector2); - param_2[1] = vector2; - vector2 = convert_angle_using_inverse((f32)-param_1[4],(f32)param_1[5]); - param_2[2] = vector2; - } - return; -} - - - -void proc_7F05892C(undefined4 *param_1,float *param_2,float *param_3) - -{ - proc_7F058714(param_2,param_3); - copies_first_3_floats_from_a0_to_a1_plus_0x30((xyzpoint *)param_1,(int)param_3); - return; -} - - - -void init_something_copy_posdata_to_it(xyzpoint *posdata,int *dest) - -{ - guMtxIdentF_unrolled((float (*) [4] [4])dest); - copies_first_3_floats_from_a0_to_a1_plus_0x30(posdata,(int)dest); - return; -} - - - -void copies_first_3_floats_from_a0_to_a1_plus_0x30(xyzpoint *posdata,int dest) - -{ - *(f32 *)(dest + 0x30) = posdata->x; - *(f32 *)(dest + 0x34) = posdata->y; - *(f32 *)(dest + 0x38) = posdata->z; - return; -} - - - -void proc_7F0589B4(float param_1,undefined8 param_2,float *param_3) - -{ - *param_3 = *param_3 * param_1; - param_3[1] = param_3[1] * param_1; - param_3[2] = param_3[2] * param_1; - return; -} - - - -void proc_7F0589E4(float param_1,undefined8 param_2,int param_3) - -{ - *(float *)(param_3 + 0x10) = *(float *)(param_3 + 0x10) * param_1; - *(float *)(param_3 + 0x14) = *(float *)(param_3 + 0x14) * param_1; - *(float *)(param_3 + 0x18) = *(float *)(param_3 + 0x18) * param_1; - return; -} - - - -void proc_7F058A14(float param_1,undefined8 param_2,int param_3) - -{ - *(float *)(param_3 + 0x20) = *(float *)(param_3 + 0x20) * param_1; - *(float *)(param_3 + 0x24) = *(float *)(param_3 + 0x24) * param_1; - *(float *)(param_3 + 0x28) = *(float *)(param_3 + 0x28) * param_1; - *(float *)(param_3 + 0x2c) = *(float *)(param_3 + 0x2c) * param_1; - return; -} - - - -void proc_7F058A4C(float param_1,undefined8 param_2,int param_3) - -{ - *(float *)(param_3 + 0x20) = *(float *)(param_3 + 0x20) * param_1; - *(float *)(param_3 + 0x24) = *(float *)(param_3 + 0x24) * param_1; - *(float *)(param_3 + 0x28) = *(float *)(param_3 + 0x28) * param_1; - return; -} - - - -void matrix_multiply_A1_by_F12(float param_1,undefined8 param_2,float *param_3) - -{ - *param_3 = *param_3 * param_1; - param_3[1] = param_3[1] * param_1; - param_3[2] = param_3[2] * param_1; - param_3[3] = param_3[3] * param_1; - param_3[4] = param_3[4] * param_1; - param_3[5] = param_3[5] * param_1; - param_3[6] = param_3[6] * param_1; - param_3[7] = param_3[7] * param_1; - param_3[8] = param_3[8] * param_1; - param_3[9] = param_3[9] * param_1; - param_3[10] = param_3[10] * param_1; - param_3[0xb] = param_3[0xb] * param_1; - return; -} - - - -void proc_7F058B10(float param_1,undefined8 param_2,float *param_3) - -{ - *param_3 = *param_3 * param_1; - param_3[1] = param_3[1] * param_1; - param_3[2] = param_3[2] * param_1; - param_3[4] = param_3[4] * param_1; - param_3[5] = param_3[5] * param_1; - param_3[6] = param_3[6] * param_1; - param_3[8] = param_3[8] * param_1; - param_3[9] = param_3[9] * param_1; - param_3[10] = param_3[10] * param_1; - return; -} - - - -void proc_7F058B80(float param_1,undefined8 param_2,int param_3) - -{ - *(float *)(param_3 + 8) = *(float *)(param_3 + 8) * param_1; - *(float *)(param_3 + 0x18) = *(float *)(param_3 + 0x18) * param_1; - *(float *)(param_3 + 0x28) = *(float *)(param_3 + 0x28) * param_1; - *(float *)(param_3 + 0x38) = *(float *)(param_3 + 0x38) * param_1; - return; -} - - - -void proc_7F058BB8(float param_1,undefined8 param_2,float *param_3) - -{ - *param_3 = *param_3 * param_1; - param_3[4] = param_3[4] * param_1; - param_3[8] = param_3[8] * param_1; - param_3[0xc] = param_3[0xc] * param_1; - param_3[1] = param_3[1] * param_1; - param_3[5] = param_3[5] * param_1; - param_3[9] = param_3[9] * param_1; - param_3[0xd] = param_3[0xd] * param_1; - param_3[2] = param_3[2] * param_1; - param_3[6] = param_3[6] * param_1; - param_3[10] = param_3[10] * param_1; - param_3[0xe] = param_3[0xe] * param_1; - return; -} - - - -void proc_7F058C4C(float param_1) - -{ - flt_80032310 = param_1 * 65536.00000000; - return; -} - - - -void proc_7F058C64(void) - -{ - FLOAT_80075da0 = flt_80032310; - flt_80032310 = 65536.00000000; - return; -} - - - -void proc_7F058C88(void) - -{ - flt_80032310 = FLOAT_80075da0; - return; -} - - - -void proc_7F058C9C(int param_1,uint *param_2) - -{ - int iVar1; - uint uVar2; - int iVar3; - uint uVar4; - float *pfVar5; - uint uVar6; - uint uVar7; - - iVar1 = 0; - do { - pfVar5 = (float *)(param_1 + iVar1 * 8); - uVar2 = iVar1 + 1; - iVar3 = iVar1 + 2; - uVar7 = (uint)(flt_80032310 * *pfVar5); - uVar4 = iVar1 + 3; - iVar1 += 4; - uVar6 = (uint)(flt_80032310 * pfVar5[1]); - *param_2 = uVar7 & 0xffff0000 | uVar6 >> 0x10; - param_2[8] = uVar7 << 0x10 | uVar6 & 0xffff; - pfVar5 = (float *)(param_1 + uVar2 * 8); - uVar6 = (uint)(flt_80032310 * *pfVar5); - uVar2 = (uint)((&flt_80032310)[uVar2 & 1] * pfVar5[1]); - param_2[1] = uVar6 & 0xffff0000 | uVar2 >> 0x10; - param_2[9] = uVar6 << 0x10 | uVar2 & 0xffff; - pfVar5 = (float *)(param_1 + iVar3 * 8); - uVar6 = (uint)(flt_80032310 * *pfVar5); - uVar2 = (uint)(flt_80032310 * pfVar5[1]); - param_2[2] = uVar6 & 0xffff0000 | uVar2 >> 0x10; - param_2[10] = uVar6 << 0x10 | uVar2 & 0xffff; - pfVar5 = (float *)(param_1 + uVar4 * 8); - uVar2 = (uint)(flt_80032310 * *pfVar5); - uVar4 = (uint)((&flt_80032310)[uVar4 & 1] * pfVar5[1]); - param_2[3] = uVar2 & 0xffff0000 | uVar4 >> 0x10; - param_2[0xb] = uVar2 << 0x10 | uVar4 & 0xffff; - param_2 = param_2 + 4; - } while (iVar1 != 8); - return; -} - - - -void proc_7F058E78(uint *param_1,int param_2) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint uVar4; - int iVar5; - uint uVar6; - float *pfVar7; - float *pfVar8; - - iVar3 = 0; - do { - uVar1 = *param_1; - uVar2 = param_1[8]; - pfVar7 = (float *)(param_2 + iVar3 * 8); - uVar4 = iVar3 + 1; - pfVar8 = (float *)(param_2 + uVar4 * 8); - iVar5 = iVar3 + 2; - uVar6 = iVar3 + 3; - iVar3 += 4; - *pfVar7 = (float)(uVar1 & 0xffff0000 | uVar2 >> 0x10) / flt_80032310; - pfVar7[1] = (float)(uVar1 << 0x10 | uVar2 & 0xffff) / flt_80032310; - uVar1 = param_1[9]; - uVar2 = param_1[1]; - pfVar7 = (float *)(param_2 + iVar5 * 8); - *pfVar8 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / flt_80032310; - pfVar8[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / (&flt_80032310)[uVar4 & 1]; - uVar1 = param_1[10]; - uVar2 = param_1[2]; - pfVar8 = (float *)(param_2 + uVar6 * 8); - *pfVar7 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / flt_80032310; - pfVar7[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / flt_80032310; - uVar1 = param_1[0xb]; - uVar2 = param_1[3]; - *pfVar8 = (float)(uVar2 & 0xffff0000 | uVar1 >> 0x10) / flt_80032310; - pfVar8[1] = (float)(uVar2 << 0x10 | uVar1 & 0xffff) / (&flt_80032310)[uVar6 & 1]; - param_1 = param_1 + 4; - } while (iVar3 != 8); - return; -} - - - -void proc_7F059044(float *param_1,int *param_2) - -{ - int iVar1; - int *piVar2; - float *pfVar3; - float fVar4; - - iVar1 = 1; - fVar4 = *param_1 * 65536.00000000; - piVar2 = param_2; - pfVar3 = param_1; - if (true) { - do { - iVar1 += 1; - param_2 = piVar2 + 4; - param_1 = pfVar3 + 4; - *piVar2 = (int)fVar4; - piVar2[1] = (int)(pfVar3[1] * 65536.00000000); - piVar2[2] = (int)(pfVar3[2] * 65536.00000000); - piVar2[3] = (int)(pfVar3[3] * 65536.00000000); - fVar4 = *param_1 * 65536.00000000; - piVar2 = param_2; - pfVar3 = param_1; - } while (iVar1 != 4); - } - *param_2 = (int)fVar4; - param_2[1] = (int)(param_1[1] * 65536.00000000); - param_2[2] = (int)(param_1[2] * 65536.00000000); - param_2[3] = (int)(param_1[3] * 65536.00000000); - return; -} - - - -void proc_7F05914C(int *param_1,float *param_2) - -{ - int iVar1; - float *pfVar2; - int *piVar3; - int iVar4; - - iVar1 = 1; - iVar4 = *param_1; - pfVar2 = param_2; - piVar3 = param_1; - if (true) { - do { - iVar1 += 1; - param_2 = pfVar2 + 4; - param_1 = piVar3 + 4; - *pfVar2 = (float)iVar4 / 65536.00000000; - pfVar2[1] = (float)piVar3[1] / 65536.00000000; - pfVar2[2] = (float)piVar3[2] / 65536.00000000; - pfVar2[3] = (float)piVar3[3] / 65536.00000000; - iVar4 = *param_1; - pfVar2 = param_2; - piVar3 = param_1; - } while (iVar1 != 4); - } - *param_2 = (float)iVar4 / 65536.00000000; - param_2[1] = (float)param_1[1] / 65536.00000000; - param_2[2] = (float)param_1[2] / 65536.00000000; - param_2[3] = (float)param_1[3] / 65536.00000000; - return; -} - - - -void proc_7F059244(int param_1,uint *param_2) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint *puVar4; - - iVar3 = 0; - do { - puVar4 = (uint *)(param_1 + iVar3 * 8); - uVar1 = *puVar4; - uVar2 = puVar4[1]; - puVar4 = (uint *)(param_1 + (iVar3 + 1) * 8); - *param_2 = uVar1 & 0xffff0000 | uVar2 >> 0x10; - param_2[8] = uVar1 << 0x10 | uVar2 & 0xffff; - uVar1 = puVar4[1]; - uVar2 = *puVar4; - puVar4 = (uint *)(param_1 + (iVar3 + 2) * 8); - param_2[9] = uVar2 << 0x10 | uVar1 & 0xffff; - param_2[1] = uVar2 & 0xffff0000 | uVar1 >> 0x10; - uVar1 = puVar4[1]; - uVar2 = *puVar4; - puVar4 = (uint *)(param_1 + (iVar3 + 3) * 8); - param_2[10] = uVar2 << 0x10 | uVar1 & 0xffff; - param_2[2] = uVar2 & 0xffff0000 | uVar1 >> 0x10; - uVar1 = puVar4[1]; - uVar2 = *puVar4; - iVar3 += 4; - param_2[0xb] = uVar2 << 0x10 | uVar1 & 0xffff; - param_2[3] = uVar2 & 0xffff0000 | uVar1 >> 0x10; - param_2 = param_2 + 4; - } while (iVar3 != 8); - return; -} - - - -void proc_7F059334(uint *param_1,int param_2) - -{ - uint uVar1; - uint uVar2; - int iVar3; - uint *puVar4; - - iVar3 = 0; - do { - uVar1 = *param_1; - uVar2 = param_1[8]; - puVar4 = (uint *)(param_2 + iVar3 * 8); - *puVar4 = uVar1 & 0xffff0000 | uVar2 >> 0x10; - puVar4[1] = uVar1 << 0x10 | uVar2 & 0xffff; - uVar1 = param_1[9]; - uVar2 = param_1[1]; - puVar4 = (uint *)(param_2 + (iVar3 + 1) * 8); - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - uVar1 = param_1[10]; - uVar2 = param_1[2]; - puVar4 = (uint *)(param_2 + (iVar3 + 2) * 8); - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - uVar1 = param_1[0xb]; - uVar2 = param_1[3]; - puVar4 = (uint *)(param_2 + (iVar3 + 3) * 8); - iVar3 += 4; - puVar4[1] = uVar2 << 0x10 | uVar1 & 0xffff; - *puVar4 = uVar2 & 0xffff0000 | uVar1 >> 0x10; - param_1 = param_1 + 4; - } while (iVar3 != 8); - return; -} - - - -void proc_7F059424(float *param_1,float param_2,float param_3,float param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float in_stack_00000020; - float in_stack_00000024; - - fVar1 = sqrtf(param_7 * param_7 + param_8 * param_8 + param_9 * param_9); - fVar1 = -1.00000000 / fVar1; - param_7 = param_7 * fVar1; - param_8 = param_8 * fVar1; - param_9 = param_9 * fVar1; - fVar5 = in_stack_00000020 * param_9 - in_stack_00000024 * param_8; - fVar6 = in_stack_00000024 * param_7 - param_10 * param_9; - fVar7 = param_10 * param_8 - in_stack_00000020 * param_7; - fVar1 = sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - fVar1 = 1.00000000 / fVar1; - fVar5 = fVar5 * fVar1; - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar2 = param_8 * fVar7 - param_9 * fVar6; - fVar3 = param_9 * fVar5 - param_7 * fVar7; - fVar4 = param_7 * fVar6 - param_8 * fVar5; - fVar1 = sqrtf(fVar2 * fVar2 + fVar3 * fVar3 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - *param_1 = fVar5; - param_1[4] = fVar6; - param_1[8] = fVar7; - param_1[1] = fVar2 * fVar1; - param_1[5] = fVar3 * fVar1; - param_1[0xc] = -(param_4 * fVar5 + param_5 * fVar6 + param_6 * fVar7); - param_1[9] = fVar4 * fVar1; - param_1[2] = param_7; - param_1[6] = param_8; - param_1[10] = param_9; - param_1[0xd] = -(param_4 * fVar2 * fVar1 + param_5 * fVar3 * fVar1 + param_6 * fVar4 * fVar1); - param_1[3] = 0.00000000; - param_1[7] = 0.00000000; - param_1[0xb] = 0.00000000; - param_1[0xf] = 1.00000000; - param_1[0xe] = -(param_4 * param_7 + param_5 * param_8 + param_6 * param_9); - return; -} - - - -void proc_7F059694(float *param_1,float param_2,float param_3,float param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10) - -{ - proc_7F059424(param_1,param_4,param_5,param_4,param_5,param_6,param_7 - param_4, - param_8 - param_5,param_9 - param_6,param_10); - return; -} - - - -void proc_7F059708(float *param_1,float param_2,float param_3,float param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float in_stack_00000020; - float in_stack_00000024; - - fVar1 = sqrtf(param_7 * param_7 + param_8 * param_8 + param_9 * param_9); - fVar1 = -1.00000000 / fVar1; - param_7 = param_7 * fVar1; - param_8 = param_8 * fVar1; - param_9 = param_9 * fVar1; - fVar5 = in_stack_00000020 * param_9 - in_stack_00000024 * param_8; - fVar6 = in_stack_00000024 * param_7 - param_10 * param_9; - fVar7 = param_10 * param_8 - in_stack_00000020 * param_7; - fVar1 = sqrtf(fVar5 * fVar5 + fVar6 * fVar6 + fVar7 * fVar7); - fVar1 = 1.00000000 / fVar1; - fVar5 = fVar5 * fVar1; - fVar6 = fVar6 * fVar1; - fVar7 = fVar7 * fVar1; - fVar2 = param_8 * fVar7 - param_9 * fVar6; - fVar3 = param_9 * fVar5 - param_7 * fVar7; - fVar4 = param_7 * fVar6 - param_8 * fVar5; - fVar1 = sqrtf(fVar2 * fVar2 + fVar3 * fVar3 + fVar4 * fVar4); - fVar1 = 1.00000000 / fVar1; - *param_1 = fVar5; - param_1[4] = fVar2 * fVar1; - param_1[8] = param_7; - param_1[1] = fVar6; - param_1[5] = fVar3 * fVar1; - param_1[9] = param_8; - param_1[0xc] = param_4; - param_1[2] = fVar7; - param_1[0xd] = param_5; - param_1[10] = param_9; - param_1[6] = fVar4 * fVar1; - param_1[3] = 0.00000000; - param_1[7] = 0.00000000; - param_1[0xb] = 0.00000000; - param_1[0xf] = 1.00000000; - param_1[0xe] = param_6; - return; -} - - - -void proc_7F059908(float *param_1,float param_2,float param_3,float param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10) - -{ - proc_7F059708(param_1,param_4,param_5,param_4,param_5,param_6,param_7 - param_4, - param_8 - param_5,param_9 - param_6,param_10); - return; -} - - - -uint proc_7F05997C(float param_1,float param_2) - -{ - float fVar1; - uint uVar2; - float fVar3; - uint uVar4; - - if (param_1 + param_2 <= 2.00000000) { - return 0xffff; - } - fVar3 = 131072.00000000 / (param_1 + param_2); - if (false) { - fVar1 = ROUND(fVar3); - } - else { - fVar1 = FLOOR(fVar3); - } - uVar4 = (uint)fVar1; - if (false) { - if (false) { - fVar3 = ROUND(fVar3 - 2147483648.00000000); - } - else { - fVar3 = FLOOR(fVar3 - 2147483648.00000000); - } - if (true) { - uVar4 = (int)fVar3 | 0x80000000; - goto LAB_7f059a2c; - } - } - else { - if (-1 < (int)uVar4) goto LAB_7f059a2c; - } - uVar4 = 0xffffffff; -LAB_7f059a2c: - uVar2 = uVar4 & 0xffff; - if ((uVar4 & 0xffff) == 0) { - uVar2 = 1; - } - return uVar2; -} - - - -void proc_7F059A48(float *param_1,undefined2 *param_2,float param_3,float param_4,float param_5, - float param_6,float param_7) - -{ - uint uVar1; - float fVar2; - float fVar3; - float fVar4; - float in_stack_00000014; - float in_stack_00000018; - - fVar2 = cosf(param_5 * 0.50000000); - fVar3 = sinf(param_5 * 0.50000000); - fVar4 = in_stack_00000018 * 65536.00000000; - param_1[4] = 0.00000000; - param_1[8] = 0.00000000; - param_1[0xc] = 0.00000000; - param_1[1] = 0.00000000; - param_1[9] = 0.00000000; - param_1[0xd] = 0.00000000; - param_1[2] = 0.00000000; - param_1[6] = 0.00000000; - *param_1 = ((fVar2 / fVar3) / param_6) * fVar4; - param_1[5] = (fVar2 / fVar3) * fVar4; - param_1[10] = ((param_7 + in_stack_00000014) / (param_7 - in_stack_00000014)) * fVar4; - param_1[3] = 0.00000000; - param_1[7] = 0.00000000; - param_1[0xf] = 0.00000000; - param_1[0xb] = -fVar4; - param_1[0xe] = (((param_7 + param_7) * in_stack_00000014) / (param_7 - in_stack_00000014)) * - fVar4; - if (param_2 != NULL) { - uVar1 = proc_7F05997C(param_7,in_stack_00000014); - *param_2 = (short)uVar1; - } - return; -} - - - -void proc_7F059B58(float *param_1,float a,float x,float y,float z) - -{ - float in_a3_lo; - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fStackX8; - float fStackX12; - float in_stack_00000010; - - fStackX8 = z; - fStackX12 = in_a3_lo; - guNormalize(&fStackX8,&fStackX12,(float *)&stack0x00000010); - fVar1 = sinf(y); - fVar2 = cosf(y); - fVar3 = sqrtf(fStackX8 * fStackX8 + in_stack_00000010 * in_stack_00000010); - if (fVar3 == 0.00000000) { - guMtxIdentF_unrolled((float (*) [4] [4])param_1); - } - else { - fVar4 = 1.00000000 / fVar3; - *param_1 = (-(in_stack_00000010 * fVar2) - fStackX12 * fStackX8 * fVar1) * fVar4; - param_1[4] = fVar1 * fVar3; - param_1[0xc] = 0.00000000; - param_1[8] = (fStackX8 * fVar2 - fStackX12 * in_stack_00000010 * fVar1) * fVar4; - param_1[1] = (in_stack_00000010 * fVar1 - fStackX12 * fStackX8 * fVar2) * fVar4; - param_1[5] = fVar2 * fVar3; - param_1[0xd] = 0.00000000; - param_1[9] = (-(fStackX8 * fVar1) - fStackX12 * in_stack_00000010 * fVar2) * fVar4; - param_1[2] = -fStackX8; - param_1[6] = -fStackX12; - param_1[0xe] = 0.00000000; - param_1[3] = 0.00000000; - param_1[7] = 0.00000000; - param_1[10] = -in_stack_00000010; - param_1[0xb] = 0.00000000; - param_1[0xf] = 1.00000000; - } - return; -} - - - -// WARNING: Restarted to delay deadcode elimination for space: stack - -void proc_7F059CE8(float *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - undefined4 in_a3_lo; - undefined4 unaff_retaddr; - undefined auStackX0 [12]; - undefined4 in_stack_00000010; - undefined in_stack_00000014 [28]; - undefined8 in_stack_fffffff4; - - guAlignF((float [4] [4]) - CONCAT1648(CONCAT124(CONCAT48(in_stack_00000010,in_stack_fffffff4),unaff_retaddr), - CONCAT2028(CONCAT164(CONCAT124(auStackX0,in_a3_lo),in_stack_00000010), - in_stack_00000014)),param_4 * flt_800536F0,param_5,(float)param_1 - ,param_4 * flt_800536F0); - return; -} - - - -void proc_7F059D30(void) - -{ - return; -} - - - -void proc_7F059D38(undefined4 *param_1,undefined4 *param_2) - -{ - undefined4 uVar1; - - *param_2 = *param_1; - param_2[1] = param_1[4]; - param_2[2] = param_1[8]; - param_2[4] = param_1[1]; - param_2[5] = param_1[5]; - param_2[6] = param_1[9]; - param_2[8] = param_1[2]; - param_2[9] = param_1[6]; - uVar1 = param_1[10]; - param_2[0xc] = 0; - param_2[0xd] = 0; - param_2[0xe] = 0; - param_2[3] = 0; - param_2[7] = 0; - param_2[0xb] = 0; - param_2[0xf] = 0x3f800000; - param_2[10] = uVar1; - return; -} - - - -void proc_7F059DAC(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - - fVar2 = *param_1; - fVar1 = 1.00000000 / (param_1[8] * param_1[8] + fVar2 * fVar2 + param_1[4] * param_1[4]); - *param_2 = fVar2 * fVar1; - param_2[1] = param_1[4] * fVar1; - param_2[2] = param_1[8] * fVar1; - param_2[4] = param_1[1] * fVar1; - param_2[5] = param_1[5] * fVar1; - param_2[6] = param_1[9] * fVar1; - param_2[8] = param_1[2] * fVar1; - param_2[9] = param_1[6] * fVar1; - fVar2 = param_1[10]; - param_2[0xf] = 1.00000000; - param_2[0xc] = 0.00000000; - param_2[0xd] = 0.00000000; - param_2[0xe] = 0.00000000; - param_2[3] = 0.00000000; - param_2[7] = 0.00000000; - param_2[0xb] = 0.00000000; - param_2[10] = fVar2 * fVar1; - return; -} - - - -void proc_7F059E64(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = *param_1; - fVar1 = 1.00000000 / (param_1[8] * param_1[8] + fVar3 * fVar3 + param_1[4] * param_1[4]); - *param_2 = fVar3 * fVar1; - param_2[1] = param_1[4] * fVar1; - param_2[2] = param_1[8] * fVar1; - param_2[4] = param_1[1] * fVar1; - param_2[5] = param_1[5] * fVar1; - param_2[6] = param_1[9] * fVar1; - param_2[8] = param_1[2] * fVar1; - param_2[9] = param_1[6] * fVar1; - param_2[10] = param_1[10] * fVar1; - param_2[0xc] = -(param_1[0xe] * param_2[8] + *param_2 * param_1[0xc] + param_2[4] * param_1[0xd] - ); - param_2[0xd] = -(param_1[0xe] * param_2[9] + - param_2[1] * param_1[0xc] + param_2[5] * param_1[0xd]); - fVar2 = param_1[0xc]; - fVar3 = param_1[0xd]; - fVar1 = param_1[0xe]; - param_2[0xf] = 1.00000000; - param_2[3] = 0.00000000; - param_2[7] = 0.00000000; - param_2[0xb] = 0.00000000; - param_2[0xe] = -(fVar1 * param_2[10] + param_2[2] * fVar2 + param_2[6] * fVar3); - return; -} - - - -void proc_7F059FB8(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - fVar3 = param_1[5]; - fVar4 = param_1[10]; - fVar5 = param_1[6]; - fVar2 = param_1[9]; - fVar1 = 1.00000000 / - ((((*param_1 * fVar3 * fVar4 + param_1[1] * fVar5 * param_1[8] + - param_1[2] * param_1[4] * fVar2) - param_1[2] * fVar3 * param_1[8]) - - param_1[1] * param_1[4] * fVar4) - *param_1 * fVar5 * fVar2); - *param_2 = (fVar3 * fVar4 - fVar2 * fVar5) * fVar1; - param_2[4] = (param_1[6] * param_1[8] - param_1[10] * param_1[4]) * fVar1; - param_2[8] = (param_1[4] * param_1[9] - param_1[8] * param_1[5]) * fVar1; - param_2[1] = (param_1[2] * param_1[9] - param_1[10] * param_1[1]) * fVar1; - param_2[5] = (*param_1 * param_1[10] - param_1[8] * param_1[2]) * fVar1; - param_2[9] = (param_1[1] * param_1[8] - param_1[9] * *param_1) * fVar1; - param_2[2] = (param_1[1] * param_1[6] - param_1[5] * param_1[2]) * fVar1; - param_2[6] = (param_1[2] * param_1[4] - param_1[6] * *param_1) * fVar1; - param_2[10] = (*param_1 * param_1[5] - param_1[4] * param_1[1]) * fVar1; - param_2[0xc] = -(param_2[8] * param_1[0xe] + param_1[0xc] * *param_2 + param_1[0xd] * param_2[4] - ); - param_2[0xd] = -(param_2[9] * param_1[0xe] + - param_1[0xc] * param_2[1] + param_1[0xd] * param_2[5]); - fVar3 = param_1[0xc]; - fVar2 = param_1[0xd]; - fVar1 = param_1[0xe]; - param_2[0xf] = 1.00000000; - param_2[3] = 0.00000000; - param_2[7] = 0.00000000; - param_2[0xb] = 0.00000000; - param_2[0xe] = -(param_2[10] * fVar1 + fVar3 * param_2[2] + fVar2 * param_2[6]); - return; -} - - - -void proc_7F05A250(undefined8 param_1,undefined8 param_2) - -{ - float *pfVar1; - int iVar2; - undefined4 extraout_a1_hi; - float *pfVar3; - undefined4 extraout_a1_lo; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - pfVar3 = (float *)param_2; - proc_7F05A310(param_1,param_2); - fVar4 = proc_7F05A774((longlong)(int)param_1,CONCAT44(extraout_a1_hi,extraout_a1_lo)); - fVar4 = 1.00000000 / fVar4; - iVar2 = 1; - fVar9 = pfVar3[1]; - fVar10 = *pfVar3 * fVar4; - fVar8 = pfVar3[2]; - fVar11 = pfVar3[3]; - pfVar1 = pfVar3; - if (true) { - do { - fVar7 = fVar9 * fVar4; - fVar9 = pfVar1[5]; - fVar6 = fVar8 * fVar4; - fVar8 = pfVar1[6]; - iVar2 += 1; - fVar5 = fVar11 * fVar4; - fVar11 = pfVar1[7]; - *pfVar1 = fVar10; - fVar10 = pfVar1[4] * fVar4; - pfVar1[1] = fVar7; - pfVar1[2] = fVar6; - pfVar3 = pfVar1 + 4; - pfVar1[3] = fVar5; - pfVar1 = pfVar3; - } while (iVar2 != 4); - } - *pfVar3 = fVar10; - pfVar3[1] = fVar9 * fVar4; - pfVar3[2] = fVar8 * fVar4; - pfVar3[3] = fVar11 * fVar4; - return; -} - - - -void proc_7F05A310(undefined8 param_1,undefined8 param_2) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a0_07; - undefined8 extraout_a0_08; - undefined8 extraout_a0_09; - undefined8 extraout_a0_10; - undefined8 extraout_a0_11; - undefined8 extraout_a0_12; - undefined8 extraout_a0_13; - undefined8 extraout_a1; - float *pfVar1; - 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; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - - pfVar1 = (float *)param_1; - fVar5 = pfVar1[2]; - fVar18 = pfVar1[1]; - fVar17 = *pfVar1; - fVar6 = pfVar1[3]; - fVar7 = pfVar1[4]; - fVar8 = pfVar1[8]; - fVar9 = pfVar1[5]; - fVar4 = pfVar1[7]; - fVar2 = pfVar1[6]; - fVar14 = pfVar1[0xd]; - fVar10 = pfVar1[9]; - fVar12 = pfVar1[0xb]; - fVar11 = pfVar1[10]; - fVar16 = pfVar1[0xf]; - fVar15 = pfVar1[0xe]; - fVar13 = pfVar1[0xc]; - fVar3 = proc_7F05A928(fVar9,fVar10,param_1,param_2,fVar14,fVar2,fVar11,fVar15,fVar4,fVar12, - fVar16); - pfVar1 = (float *)param_2; - *pfVar1 = fVar3; - fVar3 = proc_7F05A928(fVar7,fVar8,extraout_a0,extraout_a1,fVar13,fVar2,fVar11,fVar15,fVar4, - fVar12,fVar16); - pfVar1[4] = -fVar3; - fVar3 = proc_7F05A928(fVar7,fVar8,extraout_a0_00,extraout_a1_00,fVar13,fVar9,fVar10,fVar14,fVar4 - ,fVar12,fVar16); - pfVar1[8] = fVar3; - fVar3 = proc_7F05A928(fVar7,fVar8,extraout_a0_01,extraout_a1_01,fVar13,fVar9,fVar10,fVar14,fVar2 - ,fVar11,fVar15); - pfVar1[0xc] = -fVar3; - fVar3 = proc_7F05A928(fVar18,fVar10,extraout_a0_02,extraout_a1_02,fVar14,fVar5,fVar11,fVar15, - fVar6,fVar12,fVar16); - pfVar1[1] = -fVar3; - fVar3 = proc_7F05A928(fVar17,fVar8,extraout_a0_03,extraout_a1_03,fVar13,fVar5,fVar11,fVar15, - fVar6,fVar12,fVar16); - pfVar1[5] = fVar3; - fVar3 = proc_7F05A928(fVar17,fVar8,extraout_a0_04,extraout_a1_04,fVar13,fVar18,fVar10,fVar14, - fVar6,fVar12,fVar16); - pfVar1[9] = -fVar3; - fVar3 = proc_7F05A928(fVar17,fVar8,extraout_a0_05,extraout_a1_05,fVar13,fVar18,fVar10,fVar14, - fVar5,fVar11,fVar15); - pfVar1[0xd] = fVar3; - fVar3 = proc_7F05A928(fVar18,fVar9,extraout_a0_06,extraout_a1_06,fVar14,fVar5,fVar2,fVar15,fVar6 - ,fVar4,fVar16); - pfVar1[2] = fVar3; - fVar3 = proc_7F05A928(fVar17,fVar7,extraout_a0_07,extraout_a1_07,fVar13,fVar5,fVar2,fVar15,fVar6 - ,fVar4,fVar16); - pfVar1[6] = -fVar3; - fVar3 = proc_7F05A928(fVar17,fVar7,extraout_a0_08,extraout_a1_08,fVar13,fVar18,fVar9,fVar14, - fVar6,fVar4,fVar16); - pfVar1[10] = fVar3; - fVar3 = proc_7F05A928(fVar17,fVar7,extraout_a0_09,extraout_a1_09,fVar13,fVar18,fVar9,fVar14, - fVar5,fVar2,fVar15); - pfVar1[0xe] = -fVar3; - fVar3 = proc_7F05A928(fVar18,fVar9,extraout_a0_10,extraout_a1_10,fVar10,fVar5,fVar2,fVar11,fVar6 - ,fVar4,fVar12); - pfVar1[3] = -fVar3; - fVar3 = proc_7F05A928(fVar17,fVar7,extraout_a0_11,extraout_a1_11,fVar8,fVar5,fVar2,fVar11,fVar6, - fVar4,fVar12); - pfVar1[7] = fVar3; - fVar3 = proc_7F05A928(fVar17,fVar7,extraout_a0_12,extraout_a1_12,fVar8,fVar18,fVar9,fVar10,fVar6 - ,fVar4,fVar12); - pfVar1[0xb] = -fVar3; - fVar2 = proc_7F05A928(fVar17,fVar7,extraout_a0_13,extraout_a1_13,fVar8,fVar18,fVar9,fVar10,fVar5 - ,fVar2,fVar11); - pfVar1[0xf] = fVar2; - return; -} - - - -float proc_7F05A774(undefined8 param_1,undefined8 param_2) - -{ - float *pfVar1; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - - pfVar1 = (float *)param_1; - fVar6 = *pfVar1; - fVar9 = pfVar1[1]; - fVar12 = pfVar1[2]; - fVar14 = pfVar1[3]; - fVar7 = pfVar1[6]; - fVar2 = pfVar1[5]; - fVar16 = pfVar1[4]; - fVar10 = pfVar1[10]; - fVar5 = pfVar1[7]; - fVar18 = pfVar1[9]; - fVar17 = pfVar1[8]; - fVar13 = pfVar1[0xc]; - fVar19 = pfVar1[0xb]; - fVar15 = pfVar1[0xd]; - fVar8 = pfVar1[0xe]; - fVar11 = pfVar1[0xf]; - fVar3 = proc_7F05A928(fVar16,fVar17,param_1,param_2,fVar13,fVar2,fVar18,fVar15,fVar5,fVar19, - fVar11); - fVar4 = proc_7F05A928(fVar16,fVar17,extraout_a0,extraout_a1,fVar13,fVar7,fVar10,fVar8,fVar5, - fVar19,fVar11); - fVar5 = proc_7F05A928(fVar2,fVar18,extraout_a0_00,extraout_a1_00,fVar15,fVar7,fVar10,fVar8,fVar5 - ,fVar19,fVar11); - fVar2 = proc_7F05A928(fVar16,fVar17,extraout_a0_01,extraout_a1_01,fVar13,fVar2,fVar18,fVar15, - fVar7,fVar10,fVar8); - return ((fVar6 * fVar5 - fVar9 * fVar4) + fVar12 * fVar3) - fVar2 * fVar14; -} - - - -float proc_7F05A928(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10, - float param_11) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - float fVar1; - float fVar2; - float fVar3; - - fVar1 = proc_7F05A9B8(param_2,param_5,param_3,param_4,param_10,param_11); - fVar2 = proc_7F05A9B8(param_7,param_8,extraout_a0,extraout_a1,param_10,param_11); - fVar3 = proc_7F05A9B8(param_2,param_5,extraout_a0_00,extraout_a1_00,param_7,param_8); - return fVar3 * param_9 + (param_1 * fVar2 - param_6 * fVar1); -} - - - -float proc_7F05A9B8(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6) - -{ - return param_1 * param_6 - param_2 * param_5; -} - - - -void proc_7F05A9E0(float param_1) - -{ - float fVar1; - float fVar2; - - fVar1 = sinf(param_1); - fVar2 = cosf(param_1); - sqrtf(fVar1 / fVar2 + 1.00000000); - return; -} - - - -float convert_angle_using_inverse(f32 vector1,f32 vector2) - -{ - float fVar1; - - if ((float)vector1 == 0.00000000) { - fVar1 = flt_80053700; - if (0.00000000 <= (float)vector2) { - fVar1 = 0.00000000; - } - } - else { - if ((float)vector2 == 0.00000000) { - fVar1 = flt_80053704; - if ((float)vector1 <= 0.00000000) { - fVar1 = flt_80053708; - } - } - else { - fVar1 = sqrtf((float)vector1 * (float)vector1 + (float)vector2 * (float)vector2); - if ((float)vector2 < (float)vector1) { - fVar1 = proc_7F05ACB0((float)vector2 / fVar1); - if ((float)vector1 < 0.00000000) { - fVar1 = flt_8005370C - fVar1; - } - } - else { - fVar1 = proc_7F05ACB0((float)vector1 / fVar1); - fVar1 = flt_80053710 - fVar1; - if ((float)vector2 < 0.00000000) { - fVar1 = flt_80053714 - fVar1; - } - if (fVar1 < 0.00000000) { - fVar1 = fVar1 + flt_80053718; - } - } - } - } - return fVar1; -} - - - -int proc_7F05AB70(uint param_1) - -{ - uint uVar1; - int iVar2; - undefined *puVar3; - uint uVar4; - - uVar1 = 7; - if ((int)param_1 < 0x7fe0) { - uVar1 = 0x1ff; - if ((int)param_1 < 0x7800) { - iVar2 = 9; - puVar3 = &table_1; - } - else { - uVar1 = 0x1f; - iVar2 = 5; - puVar3 = &table_2; - param_1 -= 0x7800; - } - } - else { - iVar2 = 3; - puVar3 = &table_3; - param_1 -= 0x7fe0; - } - uVar4 = (uint)*(ushort *)(puVar3 + ((int)param_1 >> iVar2) * 2); - return (int)(uVar4 - ((int)((uVar4 - *(ushort *)(puVar3 + ((int)param_1 >> iVar2) * 2 + 1)) * - (param_1 & uVar1)) >> iVar2)); -} - - - -uint proc_7F05ABF0(short param_1) - -{ - uint uVar1; - - uVar1 = SEXT24(param_1); - if ((int)uVar1 < 0) { - uVar1 = -uVar1; - } - uVar1 = proc_7F05AB70(uVar1); - if (param_1 < 0) { - uVar1 = 0xffff - uVar1; - } - return uVar1 & 0xffff; -} - - - -short proc_7F05AC44(short param_1) - -{ - int iVar1; - short sVar2; - uint uVar3; - - uVar3 = SEXT24(param_1); - if ((int)uVar3 < 0) { - uVar3 = -uVar3; - } - iVar1 = proc_7F05AB70(uVar3); - if (param_1 < 0) { - sVar2 = (short)iVar1 + -0x8000; - } - else { - sVar2 = 0x7fff - (short)iVar1; - } - return sVar2; -} - - - -float proc_7F05ACB0(float param_1) - -{ - uint uVar1; - short sVar2; - float fVar3; - - if (1.00000000 <= param_1) { - sVar2 = 0x7fff; - } - else { - if (param_1 <= -1.00000000) { - sVar2 = -0x7fff; - } - else { - sVar2 = (short)(int)(param_1 * flt_80053720); - } - } - uVar1 = proc_7F05ABF0(sVar2); - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - return (fVar3 * flt_80053724) / flt_80053728; -} - - - -float proc_7F05AD5C(float param_1) - -{ - short sVar1; - - if (1.00000000 <= param_1) { - sVar1 = 0x7fff; - } - else { - if (param_1 <= -1.00000000) { - sVar1 = -0x7fff; - } - else { - sVar1 = (short)(int)(param_1 * flt_8005372C); - } - } - sVar1 = proc_7F05AC44(sVar1); - return ((float)(int)sVar1 * flt_80053730) / flt_80053734; -} - - - -void proc_7F05AE00(float *param_1,float *param_2,float param_3,float *param_4) - -{ - float *in_a3_lo; - - *in_a3_lo = (*param_2 - *param_1) * (float)param_4 + *param_1; - in_a3_lo[1] = (param_2[1] - param_1[1]) * (float)param_4 + param_1[1]; - in_a3_lo[2] = (param_2[2] - param_1[2]) * (float)param_4 + param_1[2]; - return; -} - - - -float proc_7F05AE50(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6,float param_7) - -{ - float fVar1; - float fVar2; - - fVar1 = param_7 * param_7; - fVar2 = fVar1 * param_7; - return param_1 * (fVar1 - (param_7 + fVar2) * 0.50000000) + - param_2 * ((fVar2 * 1.50000000 - fVar1 * 2.50000000) + 1.00000000) + - param_5 * (fVar2 * -1.50000000 + fVar1 + fVar1 + param_7 * 0.50000000) + - param_6 * (fVar2 - fVar1) * 0.50000000; -} - - - -void proc_7F05AEFC(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float *param_6) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float *in_stack_00000014; - - fVar1 = (float)param_6 * (float)param_6; - fVar2 = fVar1 * (float)param_6; - fVar3 = (fVar2 - fVar1) * 0.50000000; - fVar4 = fVar1 - ((float)param_6 + fVar2) * 0.50000000; - fVar5 = (fVar2 * 1.50000000 - fVar1 * 2.50000000) + 1.00000000; - fVar1 = fVar2 * -1.50000000 + fVar1 + fVar1 + (float)param_6 * 0.50000000; - *in_stack_00000014 = *param_4 * fVar3 + fVar4 * *param_1 + fVar5 * *param_2 + fVar1 * *param_3; - in_stack_00000014[1] = - param_4[1] * fVar3 + fVar4 * param_1[1] + fVar5 * param_2[1] + fVar1 * param_3[1]; - in_stack_00000014[2] = - param_4[2] * fVar3 + fVar4 * param_1[2] + fVar5 * param_2[2] + fVar1 * param_3[2]; - return; -} - - - -void proc_7F05B024(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float param_6,float *param_7) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float in_stack_00000014; - float *in_stack_00000018; - - fVar1 = (float)param_7 * (float)param_7; - fVar2 = fVar1 * (float)param_7; - fVar3 = (fVar2 - fVar1) * in_stack_00000014; - fVar4 = ((fVar1 + fVar1) - ((float)param_7 + fVar2)) * in_stack_00000014; - fVar5 = (2.00000000 - in_stack_00000014) * fVar2 + fVar1 * (in_stack_00000014 - 3.00000000) + - 1.00000000; - fVar1 = (in_stack_00000014 - 2.00000000) * fVar2 + - fVar1 * (3.00000000 - (in_stack_00000014 + in_stack_00000014)) + - (float)param_7 * in_stack_00000014; - *in_stack_00000018 = *param_4 * fVar3 + fVar4 * *param_1 + fVar5 * *param_2 + fVar1 * *param_3; - in_stack_00000018[1] = - param_4[1] * fVar3 + fVar4 * param_1[1] + fVar5 * param_2[1] + fVar1 * param_3[1]; - in_stack_00000018[2] = - param_4[2] * fVar3 + fVar4 * param_1[2] + fVar5 * param_2[2] + fVar1 * param_3[2]; - return; -} - - - -float proc_7F05B154(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6,float param_7) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar1 = param_7 * param_7; - fVar2 = fVar1 * param_7; - fVar3 = ((fVar2 + fVar2) - fVar1 * 3.00000000) + 1.00000000; - return param_1 * fVar3 + param_2 * (1.00000000 - fVar3) + - param_5 * ((fVar2 - (fVar1 + fVar1)) + param_7) + param_6 * (fVar2 - fVar1); -} - - - -void proc_7F05B1D4(ushort *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar1 = flt_80053740; - fVar2 = (float)(uint)*param_1; - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - fVar2 = cosf(fVar2 * flt_80053740 * 0.50000000); - fVar5 = (float)(uint)*param_1; - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - fVar5 = sinf(fVar5 * fVar1 * 0.50000000); - fVar3 = (float)(uint)param_1[1]; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar3 = cosf(fVar3 * fVar1 * 0.50000000); - fVar6 = (float)(uint)param_1[1]; - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar6 = sinf(fVar6 * fVar1 * 0.50000000); - fVar4 = (float)(uint)param_1[2]; - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - fVar4 = cosf(fVar4 * fVar1 * 0.50000000); - fVar7 = (float)(uint)param_1[2]; - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar1 = sinf(fVar7 * fVar1 * 0.50000000); - *param_2 = fVar2 * fVar3 * fVar4 + fVar5 * fVar6 * fVar1; - param_2[1] = fVar5 * fVar3 * fVar4 - fVar2 * fVar6 * fVar1; - param_2[2] = fVar2 * fVar6 * fVar4 + fVar5 * fVar3 * fVar1; - param_2[3] = fVar2 * fVar3 * fVar1 - fVar5 * fVar6 * fVar4; - return; -} - - - -void proc_7F05B3F4(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar1 = cosf(*param_1 * 0.50000000); - fVar2 = sinf(*param_1 * 0.50000000); - fVar3 = cosf(param_1[1] * 0.50000000); - fVar4 = sinf(param_1[1] * 0.50000000); - fVar5 = cosf(param_1[2] * 0.50000000); - fVar6 = sinf(param_1[2] * 0.50000000); - *param_2 = fVar1 * fVar3 * fVar5 + fVar2 * fVar4 * fVar6; - param_2[1] = fVar2 * fVar3 * fVar5 - fVar1 * fVar4 * fVar6; - param_2[2] = fVar1 * fVar4 * fVar5 + fVar2 * fVar3 * fVar6; - param_2[3] = fVar1 * fVar3 * fVar6 - fVar2 * fVar4 * fVar5; - return; -} - - - -void proc_7F05B528(float param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - - fVar1 = cosf(param_1 * 0.50000000); - *param_3 = fVar1; - fVar1 = sinf(param_1 * 0.50000000); - param_3[1] = fVar1; - param_3[2] = 0.00000000; - param_3[3] = 0.00000000; - return; -} - - - -void proc_7F05B57C(float param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - - fVar1 = cosf(param_1 * 0.50000000); - *param_3 = fVar1; - param_3[1] = 0.00000000; - fVar1 = sinf(param_1 * 0.50000000); - param_3[2] = fVar1; - param_3[3] = 0.00000000; - return; -} - - - -void proc_7F05B5D4(float param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - - fVar1 = cosf(param_1 * 0.50000000); - *param_3 = fVar1; - param_3[1] = 0.00000000; - param_3[2] = 0.00000000; - fVar1 = sinf(param_1 * 0.50000000); - param_3[3] = fVar1; - return; -} - - - -void proc_7F05B628(float *param_1,float *param_2) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - fVar8 = *param_1; - fVar1 = param_1[1]; - fVar2 = param_1[2]; - fVar5 = param_1[3]; - fVar4 = 2.00000000 / (fVar5 * fVar5 + fVar8 * fVar8 + fVar1 * fVar1 + fVar2 * fVar2); - fVar7 = fVar2 * fVar4; - fVar6 = fVar5 * fVar4; - fVar3 = fVar8 * fVar1 * fVar4; - fVar4 = fVar1 * fVar1 * fVar4; - *param_2 = 1.00000000 - (fVar2 * fVar7 + fVar5 * fVar6); - param_2[1] = fVar1 * fVar7 + fVar8 * fVar6; - param_2[2] = fVar1 * fVar6 - fVar8 * fVar7; - param_2[4] = fVar1 * fVar7 - fVar8 * fVar6; - param_2[6] = fVar2 * fVar6 + fVar3; - param_2[5] = 1.00000000 - (fVar4 + fVar5 * fVar6); - param_2[9] = fVar2 * fVar6 - fVar3; - param_2[8] = fVar1 * fVar6 + fVar8 * fVar7; - param_2[0xc] = 0.00000000; - param_2[0xd] = 0.00000000; - param_2[0xe] = 0.00000000; - param_2[3] = 0.00000000; - param_2[7] = 0.00000000; - param_2[0xb] = 0.00000000; - param_2[0xf] = 1.00000000; - param_2[10] = 1.00000000 - (fVar4 + fVar2 * fVar7); - return; -} - - - -void proc_7F05B798(float *param_1,float *param_2) - -{ - int iVar1; - int iVar2; - float *pfVar3; - uint uVar4; - float *pfVar5; - int *piVar6; - int iVar7; - float fVar8; - float __x; - int aiStack32 [8]; - - __x = param_1[10] + *param_1 + param_1[5] + 1.00000000; - if (0.00000000 < __x) { - __x = sqrtf(__x); - fVar8 = 0.50000000 / __x; - *param_2 = __x * 0.50000000; - param_2[1] = (param_1[6] - param_1[9]) * fVar8; - param_2[2] = (param_1[8] - param_1[2]) * fVar8; - param_2[3] = (param_1[1] - param_1[4]) * fVar8; - } - else { - aiStack32[0] = dword_80032430; - aiStack32[1] = DAT_80032434; - aiStack32[2] = DAT_80032438; - if (*param_1 < param_1[5]) { - iVar7 = 0x10; - } - else { - iVar7 = 0; - } - pfVar3 = (float *)((int)param_1 + iVar7); - uVar4 = (uint)(*param_1 < param_1[5]); - iVar7 = uVar4 * 4; - __x = pfVar3[uVar4]; - if (__x < param_1[10]) { - pfVar3 = param_1 + 8; - __x = param_1[10]; - iVar7 = 8; - piVar6 = aiStack32 + 2; - } - else { - piVar6 = aiStack32 + uVar4; - } - iVar1 = *piVar6; - iVar2 = aiStack32[iVar1]; - pfVar5 = param_1 + iVar1 * 4; - param_1 = param_1 + iVar2 * 4; - __x = sqrtf(((__x - pfVar5[iVar1]) - param_1[iVar2]) + 1.00000000); - fVar8 = 0.50000000 / __x; - *(float *)((int)param_2 + iVar7 + 4) = __x * 0.50000000; - *param_2 = (pfVar5[iVar2] - param_1[iVar1]) * fVar8; - param_2[iVar1 + 1] = (*(float *)((int)pfVar5 + iVar7) + pfVar3[iVar1]) * fVar8; - param_2[iVar2 + 1] = (*(float *)((int)param_1 + iVar7) + pfVar3[iVar2]) * fVar8; - } - return; -} - - - -void proc_7F05B9B4(float *param_1,float *param_2,float *param_3) - -{ - proc_7F05B628(param_2,param_3); - param_3[0xc] = *param_1; - param_3[0xd] = param_1[1]; - param_3[0xe] = param_1[2]; - return; -} - - - -void proc_7F05BA08(float *param_1,float *param_2,float param_3,float *param_4) - -{ - float *in_a3_lo; - float __x; - float fVar1; - float fVar2; - - fVar2 = *param_2; - __x = *param_1; - fVar1 = param_2[3] * param_1[3] + - __x * fVar2 + param_1[1] * param_2[1] + param_1[2] * param_2[2]; - if (fVar1 < flt_80053744) { - fVar1 = 1.00000000 - (float)param_4; - *in_a3_lo = fVar1 * __x - fVar2 * (float)param_4; - in_a3_lo[1] = fVar1 * param_1[1] - param_2[1] * (float)param_4; - in_a3_lo[2] = fVar1 * param_1[2] - param_2[2] * (float)param_4; - in_a3_lo[3] = fVar1 * param_1[3] - param_2[3] * (float)param_4; - } - else { - if (fVar1 <= flt_80053748) { - __x = proc_7F05ACB0(fVar1); - fVar1 = sinf(__x); - fVar2 = sinf((1.00000000 - (float)param_4) * __x); - fVar2 = fVar2 / fVar1; - __x = sinf((float)param_4 * __x); - __x = __x / fVar1; - *in_a3_lo = *param_2 * __x + fVar2 * *param_1; - in_a3_lo[1] = param_2[1] * __x + fVar2 * param_1[1]; - in_a3_lo[2] = param_2[2] * __x + fVar2 * param_1[2]; - in_a3_lo[3] = param_2[3] * __x + fVar2 * param_1[3]; - } - else { - fVar1 = 1.00000000 - (float)param_4; - *in_a3_lo = fVar2 * (float)param_4 + fVar1 * __x; - in_a3_lo[1] = param_2[1] * (float)param_4 + fVar1 * param_1[1]; - in_a3_lo[2] = param_2[2] * (float)param_4 + fVar1 * param_1[2]; - in_a3_lo[3] = param_2[3] * (float)param_4 + fVar1 * param_1[3]; - } - } - return; -} - - - -void proc_7F05BC68(float *param_1,float param_2,float *param_3) - -{ - float *in_a2_lo; - float fVar1; - float __x; - float fVar2; - float fVar3; - - fVar1 = *param_1; - fVar3 = 1.00000000; - __x = fVar1; - if (fVar1 < 0.00000000) { - fVar3 = -1.00000000; - __x = -fVar1; - } - if (__x < flt_8005374C) { - *in_a2_lo = fVar1 * (float)param_3 - (1.00000000 - (float)param_3) * fVar3; - in_a2_lo[1] = param_1[1] * (float)param_3; - in_a2_lo[2] = param_1[2] * (float)param_3; - in_a2_lo[3] = param_1[3] * (float)param_3; - } - else { - if (__x <= flt_80053750) { - __x = proc_7F05ACB0(__x); - fVar1 = sinf(__x); - fVar2 = sinf((float)param_3 * __x); - fVar2 = fVar2 / fVar1; - __x = sinf((1.00000000 - (float)param_3) * __x); - *in_a2_lo = *param_1 * fVar2 + (__x / fVar1) * fVar3; - in_a2_lo[1] = param_1[1] * fVar2; - in_a2_lo[2] = param_1[2] * fVar2; - in_a2_lo[3] = param_1[3] * fVar2; - } - else { - *in_a2_lo = fVar1 * (float)param_3 + (1.00000000 - (float)param_3) * fVar3; - in_a2_lo[1] = param_1[1] * (float)param_3; - in_a2_lo[2] = param_1[2] * (float)param_3; - in_a2_lo[3] = param_1[3] * (float)param_3; - } - } - return; -} - - - -void proc_7F05BE10(float *param_1,float *param_2) - -{ - if (param_2[3] * param_1[3] + - *param_1 * *param_2 + param_1[1] * param_2[1] + param_1[2] * param_2[2] < 0.00000000) { - *param_2 = -*param_2; - param_2[1] = -param_2[1]; - param_2[2] = -param_2[2]; - param_2[3] = -param_2[3]; - } - return; -} - - - -void proc_7F05BE88(float *param_1,float *param_2,float *param_3) - -{ - *param_3 = ((*param_1 * *param_2 - param_1[1] * param_2[1]) - param_1[2] * param_2[2]) - - param_2[3] * param_1[3]; - param_3[1] = (*param_1 * param_2[1] + *param_2 * param_1[1] + param_1[2] * param_2[3]) - - param_2[2] * param_1[3]; - param_3[2] = (*param_1 * param_2[2] + *param_2 * param_1[2] + param_1[3] * param_2[1]) - - param_2[3] * param_1[1]; - param_3[3] = (*param_1 * param_2[3] + *param_2 * param_1[3] + param_1[1] * param_2[2]) - - param_2[1] * param_1[2]; - return; -} - - - -void proc_7F05BF8C(float *param_1,float *param_2) - -{ - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - proc_7F05BE88(param_1,param_2,&fStack16); - *param_2 = fStack16; - param_2[1] = fStack12; - param_2[2] = fStack8; - param_2[3] = fStack4; - return; -} - - - -void proc_7F05BFD4(float *param_1,undefined4 *param_2) - -{ - float __x; - float fVar1; - - __x = proc_7F05ACB0(*param_1); - fVar1 = sinf(__x); - if (fVar1 == 0.00000000) { - *param_2 = 0; - param_2[1] = 0; - param_2[2] = 0; - param_2[3] = 0; - } - else { - *param_2 = 0; - __x = __x / fVar1; - *(float *)(param_2 + 1) = param_1[1] * __x; - *(float *)(param_2 + 2) = param_1[2] * __x; - *(float *)(param_2 + 3) = param_1[3] * __x; - } - return; -} - - - -void proc_7F05C068(int param_1,float *param_2) - -{ - float __x; - float fVar1; - - __x = sqrtf(*(float *)(param_1 + 0xc) * *(float *)(param_1 + 0xc) + - *(float *)(param_1 + 4) * *(float *)(param_1 + 4) + - *(float *)(param_1 + 8) * *(float *)(param_1 + 8)); - if (__x == 0.00000000) { - param_2[1] = 0.00000000; - param_2[2] = 0.00000000; - param_2[3] = 0.00000000; - *param_2 = 1.00000000; - } - else { - fVar1 = sinf(__x); - fVar1 = fVar1 / __x; - __x = cosf(__x); - *param_2 = __x; - param_2[1] = *(float *)(param_1 + 4) * fVar1; - param_2[2] = *(float *)(param_1 + 8) * fVar1; - param_2[3] = *(float *)(param_1 + 0xc) * fVar1; - } - return; -} - - - -void proc_7F05C138(float *param_1,float *param_2,float *param_3,float *param_4) - -{ - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float afStack48 [4]; - float afStack32 [4]; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - fStack16 = *param_2; - fStack12 = -param_2[1]; - fStack8 = -param_2[2]; - fStack4 = -param_2[3]; - proc_7F05BE88(&fStack16,param_1,afStack32); - proc_7F05BE88(&fStack16,param_3,afStack48); - proc_7F05BFD4(afStack32,&fStack64); - proc_7F05BFD4(afStack48,&fStack80); - fStack64 = -(fStack80 + fStack64) * 0.25000000; - fStack60 = -(fStack76 + fStack60) * 0.25000000; - fStack56 = -(fStack72 + fStack56) * 0.25000000; - fStack52 = -(fStack68 + fStack52) * 0.25000000; - proc_7F05C068((int)&fStack64,afStack32); - proc_7F05BE88(param_2,afStack32,param_4); - return; -} - - - -void proc_7F05C250(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float *param_6) - -{ - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float afStack32 [4]; - float afStack16 [4]; - - proc_7F05BE10(param_1,param_4); - proc_7F05BA08(param_1,param_4,extraout_f12,param_6); - proc_7F05BE10(param_2,param_3); - proc_7F05BA08(param_2,param_3,extraout_f12_00,param_6); - proc_7F05BE10(afStack16,afStack32); - proc_7F05BA08(afStack16,afStack32,extraout_f12_01, - (float *)(((float)param_6 + (float)param_6) * (1.00000000 - (float)param_6))); - return; -} - - - -void proc_7F05C2F0(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float *param_6) - -{ - float extraout_f12; - float afStack32 [4]; - float afStack16 [4]; - - proc_7F05C138(param_1,param_2,param_3,afStack16); - proc_7F05C138(param_2,param_3,param_4,afStack32); - proc_7F05C250(param_2,afStack16,afStack32,param_3,extraout_f12,param_6); - return; -} - - - -float truncf(float __x) - -{ - float y; - - if (0.00000000 <= __x) { - return (float)(int)__x; - } - y = (float)(int)__x; - if (__x != y) { - return y - 1.00000000; - } - return y; -} - - - -int proc_7F05C3D8(float param_1) - -{ - int iVar1; - - if (0.00000000 <= param_1) { - return (int)param_1; - } - iVar1 = (int)param_1; - if (param_1 != (float)iVar1) { - return iVar1 + -1; - } - return iVar1; -} - - - -float proc_7F05C440(float param_1) - -{ - float fVar1; - - if (param_1 <= 0.00000000) { - return (float)(int)param_1; - } - fVar1 = (float)(int)param_1; - if (param_1 != fVar1) { - return fVar1 + 1.00000000; - } - return fVar1; -} - - - -int proc_7F05C4B8(float param_1) - -{ - int iVar1; - - if (param_1 <= 0.00000000) { - return (int)param_1; - } - iVar1 = (int)param_1; - if (param_1 != (float)iVar1) { - return iVar1 + 1; - } - return iVar1; -} - - - -void set_cartridges_eject(u32 param_1) - -{ - cartridges_eject = param_1; - return; -} - - - -undefined4 get_cartridges_eject(void) - -{ - return cartridges_eject; -} - - - -void nullsub_73(void) - -{ - return; -} - - - -void proc_7F05C540(float *param_1) - -{ - int iVar1; - int iVar2; - float fVar3; - - iVar2 = DAT_80034ca0; - iVar1 = DAT_80034ca0 * 9; - fVar3 = (float)DWORD_ARRAY_80035904[DAT_80034ca0 * 9 + 3]; - *(float *)(DWORD_ARRAY_80035904 + DAT_80034ca0 * 9 + 1) = - (float)DWORD_ARRAY_80035904[DAT_80034ca0 * 9 + 1] + *param_1; - *(float *)(DWORD_ARRAY_80035904 + iVar2 * 9 + 2) = - (float)DWORD_ARRAY_80035904[iVar1 + 2] + param_1[1]; - *(float *)(DWORD_ARRAY_80035904 + iVar2 * 9 + 3) = fVar3 + param_1[2]; - return; -} - - - -void proc_7F05C594(float *param_1) - -{ - float afStack64 [16]; - - proc_7F058714((float *)(DWORD_ARRAY_80035904 + DAT_80034ca0 * 9 + 4),afStack64); - proc_7F058068(param_1,afStack64); - proc_7F058860(afStack64,(float *)(DWORD_ARRAY_80035904 + DAT_80034ca0 * 9 + 4)); - return; -} - - - -void proc_7F05C614(void) - -{ - if (cartridges_eject != 0) { - pPlayer->field_92C = 1; - proc_7F058714((float *)(DWORD_ARRAY_80035904 + DAT_80034ca0 * 9 + 4), - (float *)&pPlayer->field_8EC); - copies_first_3_floats_from_a0_to_a1_plus_0x30 - ((xyzpoint *)(DWORD_ARRAY_80035904 + DAT_80034ca0 * 9 + 1), - (int)&pPlayer->field_8EC); - cartridges_eject = 0; - } - return; -} - - - -void proc_7F05C6B8(void) - -{ - DAT_80034ca0 += 1; - if ((DWORD_ARRAY_80035904[DAT_80034ca0 * 9] & 1) != 0) { - DAT_80034ca0 = 0; - } - return; -} - - - -undefined8 proc_7F05C6FC(int param_1,float param_2,float *param_3,int param_4) - -{ - uint uVar1; - int iVar3; - undefined8 uVar2; - int in_a3_lo; - int iVar4; - float fVar5; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float afStack104 [4]; - float afStack88 [4]; - float afStack72 [4]; - float afStack56 [4]; - float fStack40; - float fStack36; - xyzpoint xStack24; - undefined4 uStack12; - float *pfStack8; - - iVar3 = 1; - if (*(float *)(param_1 + 0x44) <= (float)param_3) { - fVar5 = *(float *)(param_1 + 0x44); - uVar1 = *(uint *)(param_1 + 0x90); - iVar4 = param_1 + 0x24; - while( true ) { - param_3 = (float *)((float)param_3 - fVar5); - iVar3 += 1; - if (((uVar1 & 1) != 0) || (fVar5 = *(float *)(iVar4 + 0x44), (float)param_3 < fVar5)) - break; - uVar1 = *(uint *)(iVar4 + 0x90); - iVar4 = iVar4 + 0x24; - } - iVar4 = iVar3 * 8; - } - else { - iVar4 = 8; - } - param_1 += (iVar4 + iVar3) * 4; - if ((*(uint *)(param_1 + 0x48) & 1) == 0) { - pfStack8 = (float *)((float)param_3 / *(float *)(param_1 + 0x20)); - uStack12 = *(undefined4 *)(param_1 + 0x1c); - proc_7F05B3F4((float *)(param_1 + -0x14),afStack56); - proc_7F05B3F4((float *)(param_1 + 0x10),afStack72); - proc_7F05B3F4((float *)(param_1 + 0x34),afStack88); - proc_7F05B3F4((float *)(param_1 + 0x58),afStack104); - proc_7F05BE10(afStack72,afStack88); - proc_7F05BE10(afStack88,afStack104); - proc_7F05BE10(afStack72,afStack56); - proc_7F05C2F0(afStack56,afStack72,afStack88,afStack104,extraout_f12,pfStack8); - proc_7F05B024((float *)(param_1 + -0x20),(float *)(param_1 + 4),(float *)(param_1 + 0x28), - (float *)(param_1 + 0x4c),extraout_f12_00,extraout_f14,pfStack8); - if (in_a3_lo == 1) { - xStack24.x = -xStack24.x; - fStack40 = -fStack40; - fStack36 = -fStack36; - } - proc_7F05B628(&fStack40,(float *)param_4); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&xStack24,param_4); - uVar2 = 1; - } - else { - proc_7F058714((float *)(param_1 + 0x10),(float *)param_4); - copies_first_3_floats_from_a0_to_a1_plus_0x30((xyzpoint *)(param_1 + 4),param_4); - uVar2 = 0; - } - return uVar2; -} - - - -weapon_stats * get_ptr_item_statistics(ITEM_IDS item) - -{ - if ((&gitem_structs)[item].no_model == 0) { - return (&gitem_structs)[item].item_weapon_stats; - } - return &default_weaponstats; -} - - - -void copy_item_in_hand(xyzpoint *param_1) - -{ - ITEM_IDS item; - weapon_stats *pwVar1; - - item = get_item_in_hand(0); - pwVar1 = get_ptr_item_statistics(item); - param_1->x = (pwVar1->position).x; - param_1->y = (pwVar1->position).y; - param_1->z = (pwVar1->position).z; - return; -} - - - -void copy_item_in_hand_to_main_list(undefined4 *param_1) - -{ - ITEM_IDS item; - weapon_stats *pwVar1; - - item = get_item_in_hand(0); - pwVar1 = get_ptr_item_statistics(item); - (pwVar1->position).x = *param_1; - (pwVar1->position).y = param_1[1]; - (pwVar1->position).z = param_1[2]; - return; -} - - - -void unknown_takes_playerhand(int hand) - -{ - ITEM_IDS item; - weapon_stats *pwVar1; - u32 uVar2; - int *piVar3; - uint uVar4; - uint *puVar5; - float fVar6; - float fVar7; - uint auStack16 [4]; - - item = get_item_in_hand(hand); - pwVar1 = get_ptr_item_statistics(item); - piVar3 = &pPlayer->unknown + hand * 0xea; - fVar7 = pwVar1->sway; - puVar5 = auStack16 + hand + 2; - uVar4 = piVar3[0x282] + 2U & 3; - if (((int)(piVar3[0x282] + 2U) < 0) && (uVar4 != 0)) { - uVar4 -= 4; - } - *puVar5 = uVar4; - uVar4 = piVar3[0x282] + 1U & 3; - if (((int)(piVar3[0x282] + 1U) < 0) && (uVar4 != 0)) { - uVar4 -= 4; - } - auStack16[hand] = uVar4; - piVar3[0x282] = uVar4; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_9A8 + hand * 0xea + *puVar5 * 3) = - (fVar6 * 0.00000000 - 0.50000000) * flt_80053C14 * fVar7; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_9AC + hand * 0xea + *puVar5 * 3) = - (fVar6 * 0.00000000 - 0.50000000) * flt_80053C18 * fVar7; - (&pPlayer->field_9B0)[hand * 0xea + *puVar5 * 3] = -0x40800000; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_9D8 + hand * 0xea + *puVar5 * 3) = - (fVar6 * 0.00000000 - 0.50000000) * flt_80053C1C * fVar7; - (&pPlayer->field_9DC)[hand * 0xea + *puVar5 * 3] = 0x3f800000; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_9E0 + hand * 0xea + *puVar5 * 3) = - (fVar6 * 0.00000000 - 0.50000000) * flt_80053C20 * fVar7; - uVar2 = get_random_value(); - fVar7 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_978 + hand * 0xea + *puVar5 * 3) = - fVar7 * 0.00000000 * 0.75000000 + 1.50000000; - uVar2 = get_random_value(); - fVar7 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(&pPlayer->unknown + hand * 0xea + *puVar5 * 3 + 0x25f) = - (float)(&pPlayer->unknown + hand * 0xea)[0x285] * (fVar7 * 0.00000000 + 2.00000000); - uVar2 = get_random_value(); - fVar7 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_980 + hand * 0xea + *puVar5 * 3) = - (fVar7 * 0.00000000 - 0.50000000) * 2.50000000; - piVar3 = &pPlayer->unknown + hand * 0xea; - if (piVar3[0x286] < 0) { - *(float *)(&pPlayer->unknown + hand * 0xea + *puVar5 * 3 + 0x25e) = - (float)(&pPlayer->unknown + hand * 0xea + *puVar5 * 3)[0x25e] * -1.00000000; - piVar3 = &pPlayer->unknown + hand * 0xea; - if (piVar3[0x286] == -2) { - piVar3[0x286] = 1; - } - else { - piVar3[0x286] = -2; - } - } - else { - if (piVar3[0x286] == 2) { - piVar3[0x286] = -1; - } - else { - piVar3[0x286] = 2; - } - } - *(float *)(&pPlayer->unknown + hand * 0xea + 0x285) = - -(float)(&pPlayer->unknown + hand * 0xea)[0x285]; - return; -} - - - -ulonglong proc_7F05CEBC(int param_1) - -{ - int *piVar1; - ulonglong uVar2; - - piVar1 = &pPlayer->unknown + param_1; - uVar2 = (ulonglong)(0 < piVar1[0x1fe]); - if ((0 >= piVar1[0x1fe]) && (uVar2 = (ulonglong)(piVar1[0x200] == 0), piVar1[0x200] == 0)) { - uVar2 = (ulonglong)(piVar1[0xa91] < 0); - } - return uVar2; -} - - - -ITEM_IDS get_itemtype_in_hand(HAND hand) - -{ - return pPlayer->hand_item[hand]; -} - - - -Gitemheader * get_ptr_itemheader_in_hand(HAND hand) - -{ - return (Gitemheader *)(pPlayer->copy_of_body_obj_header + hand * 8); -} - - - -u8 * getPlayerWeaponBufferForHand(HAND hand) - -{ - return pPlayer->ptr_hand_weapon_buffer[hand]; -} - - - -u32 getSizeBufferWeaponInHand(HAND param_1) - -{ - return size_item_buffer[param_1]; -} - - - -void remove_item_in_hand(HAND hand) - -{ - pPlayer->hand_invisible[hand] = 0; - pPlayer->hand_item[hand] = ITEM_UNARMED; - pPlayer->field_2A44[hand] = -1; - pPlayer->lock_hand_model[hand] = 1; - return; -} - - - -void place_item_in_hand_swap_and_make_visible(HAND hand,ITEM_IDS item) - -{ - Player *local_v1_lo_16; - - local_v1_lo_16 = (Player *)(&pPlayer->unknown + hand); - if (local_v1_lo_16->lock_hand_model[0] == 0) { - if (local_v1_lo_16->hand_invisible[0] < 0) { - if (item != local_v1_lo_16->hand_item[0]) { - local_v1_lo_16->field_2A44[0] = item; - return; - } - local_v1_lo_16->hand_invisible[0] = 1; - } - else { - if (item != local_v1_lo_16->hand_item[0]) { - local_v1_lo_16->hand_invisible[0] = -1; - pPlayer->field_2A44[hand] = item; - return; - } - } - } - return; -} - - - -char * get_ptr_item_text_call_line(int item) - -{ - if (item == 1) { - item = pPlayer->cur_item_weapon_getname; - } - return (&gitem_structs)[item].item_file_name; -} - - - -Gitemheader * get_ptr_weapon_model_header_line(int weapon) - -{ - if (weapon == 1) { - weapon = pPlayer->cur_item_weapon_getname; - } - return (&gitem_structs)[weapon].item_header; -} - - - -int getCurrentWeaponOrItem(void) - -{ - return pPlayer->cur_item_weapon_getname; -} - - - -void used_to_load_1st_person_model_on_demand(int param_1) - -{ - ITEM_IDS item; - u32 uVar1; - int *piVar2; - u8 *recallstring; - int targetloc; - int iVar3; - int *piVar4; - - piVar2 = &pPlayer->unknown + param_1; - targetloc = piVar2[0x1fe]; - if ((targetloc < 0) && (piVar2[0xa94] == 0)) { - if (targetloc < -2) { - item = piVar2[0xa91]; - } - else { - if (piVar2[0x200] != 0) { - piVar2[0x1fe] = targetloc + -1; - return; - } - item = piVar2[0xa91]; - } - recallstring = (u8 *)get_ptr_item_text_call_line(item); - piVar2 = (int *)get_ptr_weapon_model_header_line(item); - if ((recallstring != NULL) && (piVar2 != NULL)) { - targetloc = getPlayerWeaponBufferForHand(param_1); - iVar3 = getSizeBufferWeaponInHand(param_1); - piVar4 = &pPlayer->unknown + param_1 * 8; - piVar4[0x204] = *piVar2; - piVar4[0x205] = piVar2[1]; - piVar4[0x206] = piVar2[2]; - piVar4[0x207] = piVar2[3]; - piVar4[0x208] = piVar2[4]; - piVar4[0x209] = piVar2[5]; - piVar4[0x20a] = piVar2[6]; - piVar4[0x20b] = piVar2[7]; - if (item == ITEM_SUIT_LF_HAND) { - proc_7F0CBAF4(&pPlayer->field_850 + param_1 * 4,targetloc + 0xbd70,iVar3 + -0xbd70); - load_object_fill_header - ((object_header *)(pPlayer->copy_of_body_obj_header + param_1 * 8), - recallstring,targetloc,0xbd70,(int)(&pPlayer->field_850 + param_1 * 4)); - } - else { - if ((item == ITEM_TRIGGER) || (item == ITEM_WATCHLASER)) { - proc_7F0CBAF4(&pPlayer->field_850 + param_1 * 4,targetloc + 0xafd0, - iVar3 + -0xafd0); - load_object_fill_header - ((object_header *)(pPlayer->copy_of_body_obj_header + param_1 * 8), - recallstring,targetloc,0xafd0, - (int)(&pPlayer->field_850 + param_1 * 4)); - } - else { - uVar1 = (&dword_80032464)[param_1]; - proc_7F0CBAF4(&pPlayer->field_850 + param_1 * 4,uVar1 + targetloc,iVar3 - uVar1) - ; - load_object_fill_header - ((object_header *)(pPlayer->copy_of_body_obj_header + param_1 * 8), - recallstring,targetloc,(&dword_80032464)[param_1], - (int)(&pPlayer->field_850 + param_1 * 4)); - } - } - } - pPlayer->hand_invisible[param_1] = 1; - pPlayer->hand_item[param_1] = item; - pPlayer->field_2A44[param_1] = -1; - } - return; -} - - - -longlong proc_7F05D334(longlong param_1,int param_2) - -{ - ulonglong uVar1; - ITEM_IDS weaponid; - int iVar2; - - if (0 < param_2) { - iVar2 = (int)param_1 + 1; - while( true ) { - while( true ) { - weaponid = iVar2 % 0x21; - param_1 = (longlong)(int)weaponid; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - uVar1 = check_if_item_available(weaponid); - if (uVar1 != 0) break; - iVar2 = weaponid + ITEM_FIST; - } - param_2 += -1; - if (param_2 < 1) break; - iVar2 = weaponid + ITEM_FIST; - } - } - if (param_2 < 0) { - param_1 = (longlong)((int)param_1 + -1); - while( true ) { - while( true ) { - if (param_1 < 0) { - iVar2 = -1 - (int)param_1; - param_1 = (longlong)(0x20 - iVar2 % 0x21); - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - weaponid = (ITEM_IDS)param_1; - uVar1 = check_if_item_available(weaponid); - if (uVar1 != 0) break; - param_1 = (longlong)(int)(weaponid + ~ITEM_UNARMED); - } - param_2 += 1; - if (-1 < param_2) break; - param_1 = (longlong)(int)(weaponid + ~ITEM_UNARMED); - } - } - return param_1; -} - - - -ITEM_IDS get_next_weapon_in_cycle_for_hand(HAND hand,s32 direction) - -{ - ITEM_IDS item; - int *piVar1; - - piVar1 = &pPlayer->unknown + hand * 0xea; - if (piVar1[0x225] == 5) { - if (((direction < 0) && (0 < piVar1[0x22e])) || ((0 < direction && (piVar1[0x22e] < 0)))) { - item = get_item_in_hand(hand); - } - else { - item = piVar1[0x22b]; - } - } - else { - if (piVar1[0x225] == 6) { - item = piVar1[0x22b]; - } - else { - item = get_item_in_hand(hand); - } - } - return (ITEM_IDS)item; -} - - - -void likely_change_weapon_in_hand(HAND hand,int weapon,s32 direction) - -{ - s32 sVar1; - ITEM_IDS IVar2; - int *piVar3; - - piVar3 = &pPlayer->unknown + hand * 0xea; - if ((piVar3[0x225] == 5) || (piVar3[0x225] == 6)) { - piVar3[0x22c] = piVar3[0x224]; - sVar1 = get_num_players(); - if (sVar1 == 1) { - (&pPlayer->unknown + hand * 0xea)[0x22c] = - (&pPlayer->unknown + hand * 0xea)[0x22c] + 0x11; - } - else { - (&pPlayer->unknown + hand * 0xea)[0x22c] = - (&pPlayer->unknown + hand * 0xea)[0x22c] + 0xd; - } - } - IVar2 = get_next_weapon_in_cycle_for_hand(hand,0); - if (IVar2 != weapon) { - piVar3 = &pPlayer->unknown + hand * 0xea; - if ((piVar3[0x225] != 5) && (piVar3[0x225] != 6)) { - piVar3[0x226] = 5; - piVar3 = &pPlayer->unknown + hand * 0xea; - } - piVar3[0x22b] = weapon; - (&pPlayer->right_weapon_animation_trigger)[hand * 0xea] = 1; - (&pPlayer->field_8B8)[hand * 0xea] = direction; - } - return; -} - - - -void proc_7F05D610(int param_1) - -{ - ITEM_IDS IVar2; - longlong lVar1; - - IVar2 = get_next_weapon_in_cycle_for_hand(param_1,0); - lVar1 = proc_7F05D334((longlong)(int)IVar2,1); - likely_change_weapon_in_hand(param_1,(int)lVar1,0); - return; -} - - - -void proc_7F05D650(int param_1) - -{ - ITEM_IDS IVar2; - longlong lVar1; - - IVar2 = get_next_weapon_in_cycle_for_hand(param_1,0); - lVar1 = proc_7F05D334((longlong)(int)IVar2,-1); - likely_change_weapon_in_hand(param_1,(int)lVar1,0); - return; -} - - - -void proc_7F05D690(void) - -{ - draw_item_in_hand_has_more_ammo(HAND_RIGHT,pPlayer->previous_right_weapon); - draw_item_in_hand_has_more_ammo(HAND_LEFT,pPlayer->left_weapon_previous); - return; -} - - - -void advance_through_inventory(void) - -{ - ITEM_IDS nextleft; - ITEM_IDS nextright; - - nextright = get_next_weapon_in_cycle_for_hand(HAND_RIGHT,1); - nextleft = get_next_weapon_in_cycle_for_hand(HAND_LEFT,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(HAND_RIGHT,nextright,1); - likely_change_weapon_in_hand(HAND_LEFT,nextleft,1); - return; -} - - - -void backstep_through_inventory(void) - -{ - ITEM_IDS IStack8; - ITEM_IDS IStack4; - - IStack4 = get_next_weapon_in_cycle_for_hand(HAND_RIGHT,-1); - IStack8 = get_next_weapon_in_cycle_for_hand(HAND_LEFT,-1); - if (((int)IStack4 < 0x21) && ((int)IStack8 < 0x21)) { - proc_7F08CB10((int *)&IStack4,(int *)&IStack8,0); - } - else { - IStack4 = pPlayer->previous_right_weapon; - IStack8 = pPlayer->left_weapon_previous; - } - likely_change_weapon_in_hand(HAND_RIGHT,IStack4,-1); - likely_change_weapon_in_hand(HAND_LEFT,IStack8,-1); - return; -} - - - -void autoadvance_on_deplete_all_ammo(void) - -{ - ulonglong uVar1; - ITEM_IDS nextleft; - ITEM_IDS nextright; - ITEM_IDS dupeleft; - ITEM_IDS duperight; - - nextright = get_next_weapon_in_cycle_for_hand(HAND_RIGHT,1); - duperight = nextright; - nextleft = get_next_weapon_in_cycle_for_hand(HAND_LEFT,1); - if (((int)nextright < 0x21) && ((int)nextleft < 0x21)) { - dupeleft = nextleft; - if ((nextright == ITEM_REMOTEMINE) && - (uVar1 = check_if_item_available(ITEM_TRIGGER), uVar1 != 0)) { - nextright = ITEM_TRIGGER; - nextleft = ITEM_UNARMED; - } - else { - proc_7F08C86C((int *)&nextright,(int *)&nextleft,1); - if (((int)nextright < (int)duperight) || - ((nextright == duperight && ((int)nextleft <= (int)dupeleft)))) { - nextright = duperight; - nextleft = dupeleft; - proc_7F08CB10((int *)&nextright,(int *)&nextleft,1); - } - } - } - else { - nextright = pPlayer->previous_right_weapon; - nextleft = pPlayer->left_weapon_previous; - } - likely_change_weapon_in_hand(HAND_RIGHT,nextright,1); - likely_change_weapon_in_hand(HAND_LEFT,nextleft,1); - return; -} - - - -void draw_item_in_hand_has_more_ammo(HAND hand,ITEM_IDS item) - -{ - (&pPlayer->right_weapon_current_animation)[hand * 0xea] = 5; - (&pPlayer->right_weapon_next_weapon)[hand * 0xea] = item; - (&pPlayer->right_weapon_animation_trigger)[hand * 0xea] = 0; - return; -} - - - -void attempt_reload_item_in_hand(int hand) - -{ - ITEM_IDS weapon; - AMMOTYPES AVar1; - - weapon = get_item_in_hand(hand); - AVar1 = get_ammo_type_for_weapon(weapon); - if ((AVar1 != 0) && ((&pPlayer->unknown + hand * 0xea)[0x226] == 0)) { - (&pPlayer->unknown + hand * 0xea)[0x226] = 9; - } - return; -} - - - -ITEM_IDS get_item_in_hand(int hand) - -{ - return (ITEM_IDS)(&pPlayer->right_weapon)[hand * 0xea]; -} - - - -void draw_item_in_hand(int param_1,int param_2) - -{ - (&pPlayer->right_weapon_current_animation)[param_1 * 0xea] = 0xe; - (&pPlayer->right_weapon_next_weapon)[param_1 * 0xea] = param_2; - return; -} - - - -ITEM_IDS return_ammo_in_hand(HAND hand) - -{ - ITEM_IDS IVar1; - - IVar1 = (&pPlayer->unknown + hand * 0xea)[0x21d]; - if ((int)IVar1 < 0) { - return (ITEM_IDS)(&pPlayer->unknown + hand * 0xea)[0x21c]; - } - return IVar1; -} - - - -void proc_7F05DA8C(int param_1,int param_2) - -{ - place_item_in_hand_swap_and_make_visible(param_1,param_2); - (&pPlayer->right_weapon_attack)[param_1 * 0xea] = param_2; - return; -} - - - -void proc_7F05DAE4(int param_1) - -{ - if (-1 < (&pPlayer->unknown + param_1 * 0xea)[0x21d]) { - place_item_in_hand_swap_and_make_visible - (param_1,(&pPlayer->unknown + param_1 * 0xea)[0x21c]); - (&pPlayer->right_weapon_attack)[param_1 * 0xea] = -1; - } - return; -} - - - -void remove_hands_item(HAND param_1,int param_2) - -{ - ITEM_IDS weapon; - AMMOTYPES AVar1; - s32 sVar2; - int iVar3; - - weapon = (&pPlayer->right_weapon)[param_1 * 0xea]; - AVar1 = get_ammo_type_for_weapon(weapon); - if ((&pPlayer->unknown + param_1 * 0xea)[0x21d] < 0) { - place_item_in_hand_swap_and_make_visible(param_1,param_2); - iVar3 = (&pPlayer->right_weapon_ammo_in_magazine)[param_1 * 0xea]; - } - else { - iVar3 = (&pPlayer->unknown + param_1 * 0xea)[0x227]; - } - if (0 < iVar3) { - (&pPlayer->unknown + AVar1)[0x44c] = (&pPlayer->unknown + AVar1)[0x44c] + iVar3; - } - if ((int)weapon < 0x21) { - (&pPlayer->previous_right_weapon)[param_1 * 0xea] = weapon; - } - sVar2 = get_num_players(); - if (1 < sVar2) { - proc_7F09B368(param_1); - } - proc_7F05FB00(param_1); - (&pPlayer->right_weapon)[param_1 * 0xea] = param_2; - (&pPlayer->right_weapon_ammo_in_magazine)[param_1 * 0xea] = 0; - (&pPlayer->field_A4C)[param_1 * 0xea] = 0; - (&pPlayer->field_A50)[param_1 * 0xea] = 0; - proc_7F08D8E0(); - return; -} - - - -undefined get_hands_firing_status(int hand) - -{ - return *(undefined *)(&pPlayer->right_weapon_firing_status + hand * 0xea); -} - - - -f32 proc_7F05DCB8(int param_1) - -{ - return (f32)(&pPlayer->field_A34)[param_1 * 0xea]; -} - - - -f32 proc_7F05DCE8(longlong param_1) - -{ - ITEM_IDS item; - weapon_stats *wstats; - f32 fVar1; - - if (param_1 == 0) { - item = return_ammo_in_hand(HAND_RIGHT); - wstats = get_ptr_item_statistics(item); - fVar1 = (wstats->position).x; - } - else { - item = return_ammo_in_hand(HAND_LEFT); - wstats = get_ptr_item_statistics(item); - fVar1 = (f32)-(float)(wstats->position).x; - } - return fVar1; -} - - - -weapon_stats * proc_7F05DD38(void) - -{ - ITEM_IDS item; - weapon_stats *pwVar1; - - pwVar1 = (weapon_stats *)return_ammo_in_hand(HAND_RIGHT); - if ((pwVar1 != (weapon_stats *)&UNK_00000011) && - (pwVar1 = (weapon_stats *)return_ammo_in_hand(HAND_RIGHT), pwVar1 != (weapon_stats *)0x28)) { - item = return_ammo_in_hand(HAND_RIGHT); - pwVar1 = get_ptr_item_statistics(item); - } - return pwVar1; -} - - - -void camera_sniper_zoom(float zoom) - -{ - ITEM_IDS IVar1; - - IVar1 = return_ammo_in_hand(HAND_RIGHT); - if (IVar1 == ITEM_SNIPERRIFLE) { - pPlayer->sniper_zoom = pPlayer->sniper_zoom * (zoom * 0.10000000 + 1.00000000); - if (60.00000000 < pPlayer->sniper_zoom) { - pPlayer->sniper_zoom = 60.00000000; - } - } - else { - IVar1 = return_ammo_in_hand(HAND_RIGHT); - if ((IVar1 == ITEM_CAMERA) && - (pPlayer->camera_zoom = pPlayer->camera_zoom * (zoom * 0.10000000 + 1.00000000), - 60.00000000 < pPlayer->camera_zoom)) { - pPlayer->camera_zoom = 60.00000000; - } - } - return; -} - - - -void proc_7F05DE94(float param_1) - -{ - ITEM_IDS IVar1; - - IVar1 = return_ammo_in_hand(HAND_RIGHT); - if (IVar1 == ITEM_SNIPERRIFLE) { - pPlayer->sniper_zoom = pPlayer->sniper_zoom / (param_1 * flt_80053C2C + 1.00000000); - if (pPlayer->sniper_zoom < 7.00000000) { - pPlayer->sniper_zoom = 7.00000000; - } - } - else { - IVar1 = return_ammo_in_hand(HAND_RIGHT); - if ((IVar1 == ITEM_CAMERA) && - (pPlayer->camera_zoom = pPlayer->camera_zoom / (param_1 * flt_80053C30 + 1.00000000), - pPlayer->camera_zoom < 7.00000000)) { - pPlayer->camera_zoom = 7.00000000; - } - } - return; -} - - - -weapon_stats * proc_7F05DF84(int param_1) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(param_1); - return pwVar1; -} - - - -weapon_stats * proc_7F05DFA8(int param_1) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(param_1); - return pwVar1; -} - - - -undefined proc_7F05DFCC(int param_1) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(param_1); - return *(undefined *)&pwVar1->time_between_shots; -} - - - -ulonglong proc_7F05DFF0(int param_1) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(param_1); - return (ulonglong)(byte)pwVar1->field_25; -} - - - -ulonglong proc_7F05E014(int param_1) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(param_1); - return (ulonglong)(ushort)pwVar1->sound; -} - - - -ulonglong proc_7F05E038(int param_1) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(param_1); - return (ulonglong)(byte)pwVar1->objects_shoot_through; -} - - - -BOOL check_if_have_ammo_for_item(int item) - -{ - int iVar1; - BOOL haveammo; - AMMOTYPES AVar2; - - iVar1 = check_special_attributes(item,0x40000); - if (iVar1 == 0) { - haveammo = FALSE; - } - else { - AVar2 = get_ammo_type_for_weapon(item); - if ((AVar2 == 0) || (iVar1 = get_ammo_count_for_weapon(item), 0 < iVar1)) { - haveammo = TRUE; - } - else { - haveammo = FALSE; - } - } - return haveammo; -} - - - -uint check_special_attributes(int item,uint mask) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(item); - return (uint)((pwVar1->bitflags & mask) != 0); -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F05E0E4(void) - -{ - float fVar1; - int iVar2; - u32 uVar3; - float *pfVar4; - float in_a2_lo; - float in_a3_lo; - f32 fVar5; - float fVar6; - float fVar7; - float in_f12; - float in_f14; - undefined auStackX0 [8]; - float fStackX8; - float fStackX12; - float fStack8; - float fStack4; - - fVar7 = in_a2_lo; - if (in_a2_lo < 0.00000000) { - fVar7 = -in_a2_lo; - } - fStackX8 = in_a2_lo; - fStackX12 = in_a3_lo; - if (flt_80053C34 < in_f14) { - pPlayer->field_FC0 = 1.00000000; - } - else { - if (flt_80053C3C < in_f14) { - fVar6 = cosf(((in_f14 - flt_80053C3C) * flt_80053C40) / flt_80053C44); - pPlayer->field_FC0 = flt_80053C48 * (1.00000000 - fVar6) + flt_80053C4C; - } - else { - pPlayer->field_FC0 = flt_80053C3C; - } - } - fVar5 = get_BONDdata_bondfadefracnew(); - fVar6 = pPlayer->field_FC0; - if (fVar6 < (float)fVar5 * flt_80053C54) { - fVar5 = get_BONDdata_bondfadefracnew(); - pPlayer->field_FC0 = (float)fVar5 * flt_80053C58; - fVar6 = pPlayer->field_FC0; - } - if (fVar6 < fVar7 * 0.50000000) { - pPlayer->field_FC0 = fVar7 * 0.50000000; - } - fVar6 = flt_80053C5C; - iVar2 = 0; - if (0 < clock_timer) { - do { - iVar2 += 1; - pPlayer->field_1080 = pPlayer->field_1080 * fVar6 + pPlayer->field_FC0; - } while (iVar2 < clock_timer); - } - fVar1 = flt_80053C64; - fVar6 = flt_80053C60; - iVar2 = 0; - pPlayer->field_FC0 = pPlayer->field_1080 * flt_80053C64; - fVar7 = flt_80053C68 * fVar7; - if (fVar7 <= in_f12) { - fVar7 = in_f12; - } - if (0 < clock_timer) { - do { - iVar2 += 1; - pPlayer->field_107C = pPlayer->field_107C * fVar6 + fVar7; - } while (iVar2 < clock_timer); - } - fVar7 = pPlayer->field_107C * fVar1 * global_timer_delta; - fStack8 = (float)pPlayer->field_A0C + fVar7; - while (1.00000000 <= fStack8) { - unknown_takes_playerhand(0); - fStack8 = fStack8 - 1.00000000; - pPlayer->field_1078 = pPlayer->field_1078 + 1; - } - pPlayer->field_1074 = pPlayer->field_1074 + global_timer_delta; - if (60.00000000 < pPlayer->field_1074) { - pPlayer->field_1074 = 0.00000000; - uVar3 = get_random_value(); - fVar6 = (float)uVar3; - if ((int)uVar3 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - pPlayer->field_1070 = ((fVar6 * 0.00000000 - 0.50000000) * flt_80053C6C) / 60.00000000; - fVar6 = pPlayer->field_1070; - } - else { - fVar6 = pPlayer->field_1070; - } - if (0.00000000 < fVar6 + fVar7) { - pPlayer->field_106C = pPlayer->field_106C + fVar6; - fStack4 = pPlayer->field_106C; - } - else { - fStack4 = pPlayer->field_106C; - } - if (0.50000000 < fStack4) { - pPlayer->field_106C = 0.50000000; - fStack4 = pPlayer->field_106C; - } - else { - if (fStack4 < -0.50000000) { - pPlayer->field_106C = -0.50000000; - fStack4 = pPlayer->field_106C; - } - else { - if (flt_80053C70 <= fStack4) { - iVar2 = pPlayer->field_1078; - goto LAB_7f05e518; - } - if (fStack4 <= flt_80053C74) { - iVar2 = pPlayer->field_1078; - goto LAB_7f05e518; - } - if (0.00000000 < fStack4) { - pPlayer->field_106C = flt_80053C74; - fStack4 = pPlayer->field_106C; - } - else { - pPlayer->field_106C = flt_80053C70; - fStack4 = pPlayer->field_106C; - } - } - } - iVar2 = pPlayer->field_1078; -LAB_7f05e518: - fStack4 = fStack8 + (float)iVar2 + fStack4; - while (1.00000000 <= fStack4) { - unknown_takes_playerhand(1); - fStack4 = fStack4 - 1.00000000; - pPlayer->field_1078 = pPlayer->field_1078 + -1; - } - pfVar4 = &fStack8; - iVar2 = 0; - do { - fVar7 = *pfVar4; - pfVar4 = pfVar4 + 1; - *(float *)((int)&pPlayer->field_A0C + iVar2) = fVar7; - *(float *)((int)&pPlayer->field_A1C + iVar2) = fStackX12 * -1.75000000; - *(float *)((int)&pPlayer->field_A20 + iVar2) = fStackX8 * -2.00000000; - iVar2 = iVar2 + 0x3a8; - } while (pfVar4 != (float *)register0x000000ec); - return; -} - - - -void proc_7F05E5F0(float param_1) - -{ - float fVar1; - - fVar1 = cosf(param_1); - *(float *)&pPlayer->field_A30 = (1.00000000 - fVar1) * 5.00000000; - fVar1 = cosf(param_1); - *(float *)&pPlayer->field_DD8 = (1.00000000 - fVar1) * 5.00000000; - return; -} - - - -// WARNING: Instruction at (ram,0x7f05e690) overlaps instruction at (ram,0x7f05e68c) -// - -ITEM_IDS get_value_if_watch_is_on_hand_or_not(int hand) - -{ - ITEM_IDS item; - - item = get_item_in_hand(hand); - if (item != ITEM_TRIGGER) { - item = get_item_in_hand(hand); - } - return item; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -int * proc_7F05E6B4(void) - -{ - int *piVar1; - int in_a0_lo; - longlong in_a1; - float in_f0; - float fVar2; - - if (in_a1 == 0) { - piVar1 = &pPlayer->unknown + in_a0_lo * 0xea; - fVar2 = (float)piVar1[0x2a1]; - if (0.00000000 < fVar2) { - *(float *)(piVar1 + 0x2a1) = fVar2 - flt_80053C84 * global_timer_delta; - piVar1 = &pPlayer->unknown + in_a0_lo * 0xea; - fVar2 = (float)piVar1[0x2a1]; - } - if (fVar2 < 0.00000000) { - piVar1[0x2a1] = 0; - } - } - else { - get_value_if_watch_is_on_hand_or_not(in_a0_lo); - fVar2 = (float)(&pPlayer->unknown + in_a0_lo * 0xea)[0x2a1]; - if (fVar2 < in_f0) { - *(float *)(&pPlayer->unknown + in_a0_lo * 0xea + 0x2a1) = - fVar2 + flt_80053C80 * global_timer_delta; - } - piVar1 = (int *)get_value_if_watch_is_on_hand_or_not(in_a0_lo); - if (in_f0 < (float)(&pPlayer->field_A84)[in_a0_lo * 0xea]) { - piVar1 = (int *)get_value_if_watch_is_on_hand_or_not(in_a0_lo); - *(float *)(&pPlayer->field_A84 + in_a0_lo * 0xea) = in_f0; - } - } - return piVar1; -} - - - -void proc_7F05E808(int param_1) - -{ - (&pPlayer->field_A8C)[param_1 * 0xea] = 1; - return; -} - - - -void proc_7F05E83C(int param_1) - -{ - ITEM_IDS item; - weapon_stats *pwVar1; - int *piVar2; - float fVar3; - float fVar4; - - item = return_ammo_in_hand(param_1); - pwVar1 = get_ptr_item_statistics(item); - piVar2 = &pPlayer->unknown + param_1 * 0xea; - fVar4 = pwVar1->bolt_recoil_back; - if (piVar2[0x2a3] == 0) { - if (0 < piVar2[0x227]) { - fVar3 = (float)piVar2[0x2a2]; - if (0.00000000 < fVar3) { - *(float *)(piVar2 + 0x2a2) = fVar3 - fVar4 * flt_80053C88 * global_timer_delta; - piVar2 = &pPlayer->unknown + param_1 * 0xea; - fVar3 = (float)piVar2[0x2a2]; - } - if (fVar3 < 0.00000000) { - piVar2[0x2a2] = 0; - } - } - } - else { - fVar3 = (float)piVar2[0x2a2]; - if (fVar3 < fVar4) { - *(float *)(piVar2 + 0x2a2) = fVar3 + fVar4 * 0.25000000 * global_timer_delta; - piVar2 = &pPlayer->unknown + param_1 * 0xea; - fVar3 = (float)piVar2[0x2a2]; - } - if (fVar4 <= fVar3) { - *(float *)(piVar2 + 0x2a2) = fVar4; - (&pPlayer->field_A8C)[param_1 * 0xea] = 0; - } - } - return; -} - - - -void proc_7F05E978(int param_1,undefined4 param_2) - -{ - undefined4 *puVar1; - int iVar2; - ushort *partdesc; - int iVar3; - short sVar4; - - iVar2 = *(int *)(param_1 + 8); - iVar3 = *(int *)(iVar2 + 8); - if (*(ushort **)(iVar3 + 0x20) == NULL) { - partdesc = *(ushort **)(iVar3 + 0x24); - } - else { - puVar1 = (undefined4 *) - extract_id_from_object_structure_microcode(param_1,*(ushort **)(iVar3 + 0x20)); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - iVar3 = *(int *)(iVar2 + 8); - partdesc = *(ushort **)(iVar3 + 0x24); - } - if (partdesc == NULL) { - partdesc = *(ushort **)(iVar3 + 0x28); - } - else { - puVar1 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - iVar3 = *(int *)(iVar2 + 8); - partdesc = *(ushort **)(iVar3 + 0x28); - } - if (partdesc == NULL) { - partdesc = *(ushort **)(iVar3 + 0x2c); - } - else { - puVar1 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - iVar3 = *(int *)(iVar2 + 8); - partdesc = *(ushort **)(iVar3 + 0x2c); - } - if (partdesc == NULL) { - partdesc = *(ushort **)(iVar3 + 0x30); - } - else { - puVar1 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - iVar3 = *(int *)(iVar2 + 8); - partdesc = *(ushort **)(iVar3 + 0x30); - } - if (partdesc == NULL) { - partdesc = *(ushort **)(iVar3 + 0x34); - } - else { - puVar1 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - partdesc = *(ushort **)(*(int *)(iVar2 + 8) + 0x34); - } - if (partdesc == NULL) { - sVar4 = *(short *)(iVar2 + 0xc); - } - else { - puVar1 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar1 = param_2; - iVar2 = *(int *)(param_1 + 8); - sVar4 = *(short *)(iVar2 + 0xc); - } - if ((0x23 < sVar4) && (partdesc = *(ushort **)(*(int *)(iVar2 + 8) + 0x8c), partdesc != NULL)) { - puVar1 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar1 = param_2; - } - return; -} - - - -void proc_7F05EA94(int param_1,undefined4 param_2) - -{ - int iVar1; - undefined4 *puVar2; - ushort *partdesc; - - if (0xf < *(short *)(*(int *)(param_1 + 8) + 0xc)) { - iVar1 = *(int *)(*(int *)(param_1 + 8) + 8); - partdesc = *(ushort **)(iVar1 + 0x38); - if (partdesc == NULL) { - partdesc = *(ushort **)(iVar1 + 0x3c); - } - else { - puVar2 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar2 = param_2; - partdesc = *(ushort **)(*(int *)(*(int *)(param_1 + 8) + 8) + 0x3c); - } - if (partdesc != NULL) { - puVar2 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar2 = param_2; - } - } - return; -} - - - -void proc_7F05EB0C(int param_1,undefined4 *param_2,undefined4 param_3,float *param_4, - undefined4 *param_5,undefined4 *param_6,undefined4 param_7) - -{ - object_standard *poVar1; - undefined8 extraout_a0; - - poVar1 = *(object_standard **)(param_1 + 0x10); - if (poVar1 != NULL) { - set_current_objposdata_plus_0x28(poVar1); - set_stateflag_0x04_for_posdata((int)poVar1); - matrix_multiply_A1_by_F12(*(float *)(*(int *)(param_1 + 0x14) + 0x14),extraout_a0,param_4); - proc_7F040754(param_1,param_2,param_4,param_3); - proc_7F056CA0(param_1); - proc_7F040484(param_1); - proc_7F03FDA8((int)poVar1); - if ((*(uint *)(param_1 + 100) & 0x80) != 0) { - **(uint **)(param_1 + 0x6c) = **(uint **)(param_1 + 0x6c) | 0x41; - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 0x88) = param_7; - proc_7F03FE14((int)poVar1); - proc_7F058020((float (*) [4] [4])param_6, - (float (*) [4])(*(int *)(param_1 + 0x6c) + 0x20)); - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 4) = *param_5; - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 8) = param_5[1]; - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 0xc) = param_5[2]; - *(int *)(*(int *)(param_1 + 0x6c) + 0xe4) = param_1; - *(undefined4 *)(*(int *)(param_1 + 0x6c) + 0xe8) = dword_80048380; - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F05EC1C(void) - -{ - int iVar2; - int iVar3; - ulonglong uVar1; - float *pfVar4; - int in_a0_lo; - float *in_a1_lo; - float *in_a2_lo; - undefined4 *in_a3_lo; - f32 fVar5; - float fVar6; - f32 extraout_f12; - undefined4 *in_stack_00000010; - int iStack136; - uint auStack132 [21]; - byte bStack48; - undefined uStack47; - int iStack40; - float fStack36; - float fStack32; - u32 uStack20; - float fStack16; - float fStack12; - float fStack8; - - if (*(int *)(in_a0_lo + 0x10) != 0) { - iVar2 = get_curplayer_positiondata(); - fVar5 = proc_7F089778((int)pPlayer); - iStack40 = 0; - fVar6 = *(float *)(iVar2 + 0xc); - fStack36 = in_a1_lo[1]; - fStack32 = fVar6; - if (fVar6 <= fStack36) { - fStack32 = fStack36; - fStack36 = fVar6; - } - fStack36 = fStack36 - (float)fVar5; - fStack32 = fStack32 - (float)fVar5; - uStack20 = *(u32 *)(iVar2 + 0x14); - proc_7F08A03C(iVar2,0); - iVar3 = proc_7F0B0E24(&uStack20,extraout_f12,(f32)fStack32,*(f32 *)(iVar2 + 8)); - if (iVar3 == 0) { - uStack20 = *(u32 *)(iVar2 + 0x14); - fStack16 = *(float *)(iVar2 + 8); - fStack12 = *(float *)(iVar2 + 0xc); - fStack8 = *(float *)(iVar2 + 0x10); - iStack40 = 1; - } - else { - fStack16 = *in_a1_lo; - fStack12 = in_a1_lo[1]; - fStack8 = in_a1_lo[2]; - } - proc_7F08A03C(iVar2,1); - proc_7F05EB0C(in_a0_lo,&fStack16,uStack20,in_a2_lo,in_a3_lo,in_stack_00000010,iVar2); - if ((*(uint *)(in_a0_lo + 100) & 0x80) != 0) { - if (iStack40 != 0) { - **(uint **)(in_a0_lo + 0x6c) = **(uint **)(in_a0_lo + 0x6c) | 0x100; - *(float *)(*(int *)(in_a0_lo + 0x6c) + 0xd4) = *in_a1_lo; - *(float *)(*(int *)(in_a0_lo + 0x6c) + 0xd8) = in_a1_lo[1]; - *(float *)(*(int *)(in_a0_lo + 0x6c) + 0xdc) = in_a1_lo[2]; - } - uVar1 = get_cur_players_room(); - bStack48 = (byte)uVar1; - uStack47 = 0xff; - pfVar4 = (float *)get_BONDdata_position3(); - proc_7F0B4AB4(pfVar4,&fStack16,&bStack48,*(int *)(in_a0_lo + 0x6c) + 0xcc,auStack132, - &iStack136,0x14); - } - } - return; -} - - - -void proc_7F05EE24(int param_1) - -{ - uint uVar1; - uint *puVar2; - int iVar4; - ITEM_IDS iteminstance; - float *pfVar5; - int *piVar6; - undefined4 *puVar7; - u32 uVar8; - longlong lVar3; - float afStack256 [12]; - undefined4 uStack208; - undefined4 uStack204; - undefined4 uStack200; - float *pfStack192; - float fStack184; - float fStack180; - float fStack176; - float afStack160 [16]; - int iStack96; - int iStack92; - int iStack88; - float fStack80; - float fStack76; - float fStack72; - float afStack68 [17]; - - iVar4 = get_curplayer_positiondata(); - pfStack192 = (float *)proc_7F08A02C(); - iteminstance = get_item_in_hand(param_1); - proc_7F057C14(&fStack80,afStack68); - proc_7F0681CC(); - pfVar5 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar5,&fStack184); - fStack80 = fStack184 * flt_80053C8C; - fStack72 = fStack176 * flt_80053C8C; - fStack76 = fStack180 * flt_80053C8C + 5.00000000; - if (0 < clock_timer) { - fStack80 = fStack80 + (*(float *)(iVar4 + 8) - *pfStack192) / global_timer_delta; - fStack76 = fStack76 + (*(float *)(iVar4 + 0xc) - pfStack192[1]) / global_timer_delta; - fStack72 = fStack72 + (*(float *)(iVar4 + 0x10) - pfStack192[2]) / global_timer_delta; - } - piVar6 = &pPlayer->unknown + param_1 * 0xea; - iStack96 = piVar6[0x2c2]; - iStack92 = piVar6[0x2c3]; - iStack88 = piVar6[0x2c4]; - guMtxIdentF_unrolled((float (*) [4] [4])afStack160); - proc_7F058020((float (*) [4] [4])(&pPlayer->field_AD8 + param_1 * 0xea), - (float (*) [4])afStack256); - uStack208 = 0; - uStack204 = 0; - uStack200 = 0; - proc_7F058068(afStack256,afStack160); - puVar7 = create_new_item_instance_of_model(0xc4,iteminstance); - if (puVar7 != NULL) { - *(short *)((int)puVar7 + 0x82) = 0xf0 - (short)pPlayer->field_105C; - if (*(short *)((int)puVar7 + 0x82) < 0) { - *(undefined2 *)((int)puVar7 + 0x82) = 0; - uVar1 = puVar7[0x19]; - } - else { - uVar1 = puVar7[0x19]; - } - puVar7[0x19] = uVar1 & 0xfff9ffff; - uVar8 = get_cur_playernum(); - puVar7[0x19] = puVar7[0x19] | uVar8 << 0x11; - proc_7F05EC1C(); - if ((puVar7[0x19] & 0x80) != 0) { - puVar2 = (uint *)puVar7[0x1b]; - lVar3 = (longlong)(int)puVar2; - *puVar2 = *puVar2 | 2; - *(float *)(puVar7[0x1b] + 0x8c) = flt_80053C90; - *(float *)(puVar7[0x1b] + 0x94) = flt_80053C94; - *(undefined4 *)(puVar7[0x1b] + 0xbc) = 0x3c; - play_sfx_a1(ptr_sfx_buf,4,NULL); - if (lVar3 != 0) { - sub_GAME_7F053A10((int)lVar3,(float *)(puVar7 + 0x16)); - } - } - } - return; -} - - - -void proc_7F05F09C(int param_1) - -{ - int iVar1; - float *pfVar2; - int *piVar3; - u32 uVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - int iVar5; - undefined4 unaff_retaddr; - float a; - float x; - float fVar6; - undefined8 in_stack_fffffee4; - undefined8 in_stack_fffffef0; - undefined4 in_stack_fffffefc; - float *pfVar7; - undefined in_stack_ffffff08 [24]; - undefined4 uStack200; - undefined4 uStack196; - undefined4 uStack192; - float fStack184; - float fStack180; - float fStack176; - float afStack160 [6]; - undefined4 uStack136; - int iStack96; - int iStack92; - int iStack88; - float fStack80; - float fStack76; - float fStack72; - float afStack68 [16]; - undefined4 *puStack4; - - iVar1 = get_curplayer_positiondata(); - pfVar7 = (float *)proc_7F08A02C(); - proc_7F057C14(&fStack80,afStack68); - proc_7F0681CC(); - pfVar2 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar2,&fStack184); - fStack80 = fStack184 * 25.00000000; - fStack72 = fStack176 * 25.00000000; - fStack76 = fStack180 * 25.00000000 + 5.00000000; - if (0 < clock_timer) { - fStack80 = fStack80 + (*(float *)(iVar1 + 8) - *pfVar7) / global_timer_delta; - fStack76 = fStack76 + (*(float *)(iVar1 + 0xc) - pfVar7[1]) / global_timer_delta; - fStack72 = fStack72 + (*(float *)(iVar1 + 0x10) - pfVar7[2]) / global_timer_delta; - } - iVar5 = param_1 * 0x3a8; - piVar3 = &pPlayer->unknown + param_1 * 0xea; - iStack96 = piVar3[0x2c2]; - iStack92 = piVar3[0x2c3]; - iStack88 = piVar3[0x2c4]; - proc_7F058688(flt_80053C98,extraout_a0,afStack160); - proc_7F058570(flt_80053C9C,extraout_a0_00,(undefined4 *)&stack0xffffff08); - proc_7F058068((float *)&stack0xffffff08,afStack160); - proc_7F058020((float (*) [4] [4])((int)&pPlayer->field_AD8 + iVar5), - (float (*) [4])&stack0xffffff08); - uStack200 = 0; - uStack196 = 0; - uStack192 = 0; - proc_7F058068((float *)&stack0xffffff08,afStack160); - uVar4 = get_random_value(); - fVar6 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - guRotateF((float [4] [4]) - CONCAT4024(CONCAT364(CONCAT324(CONCAT284(CONCAT244(CONCAT168(CONCAT124(CONCAT48( - uStack136,in_stack_fffffee4),unaff_retaddr), - in_stack_fffffef0),iVar5),in_stack_fffffefc), - pfVar7),iVar1),in_stack_ffffff08),a,x,(float)afStack68, - 360.00000000 / (fVar6 * 0.00000000 + flt_80053CA0)); - puStack4 = create_new_item_instance_of_model(0xba,3); - if (puStack4 != NULL) { - puStack4[0x19] = puStack4[0x19] & 0xfff9ffff; - uVar4 = get_cur_playernum(); - puStack4[0x19] = puStack4[0x19] | uVar4 << 0x11; - proc_7F05EC1C(); - if ((puStack4[0x19] & 0x80) != 0) { - *(uint *)puStack4[0x1b] = *(uint *)puStack4[0x1b] | 2; - *(float *)(puStack4[0x1b] + 0x8c) = flt_80053CA4; - *(undefined4 *)(puStack4[0x1b] + 0xbc) = 0x3c; - puStack4[0x19] = puStack4[0x19] | 0x20; - } - proc_7F043650((int)puStack4); - } - return; -} - - - -void generate_player_thrown_object(int param_1) - -{ - uint *puVar1; - ITEM_IDS iteminstance; - float *pfVar3; - int *piVar4; - undefined4 *puVar5; - s32 sVar6; - u32 uVar7; - longlong lVar2; - int model; - float afStack256 [12]; - undefined4 uStack208; - undefined4 uStack204; - undefined4 uStack200; - float *pfStack192; - int iStack188; - float fStack184; - float fStack180; - float fStack176; - float afStack160 [16]; - int iStack96; - int iStack92; - int iStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float afStack68 [17]; - - puVar5 = NULL; - fStack84 = flt_80053CA8; - iStack188 = get_curplayer_positiondata(); - pfStack192 = (float *)proc_7F08A02C(); - iteminstance = get_item_in_hand(param_1); - if (iteminstance == ITEM_GOLDENEYEKEY) { - fStack84 = flt_80053CAC; - } - proc_7F057C14(&fStack80,afStack68); - proc_7F0681CC(); - pfVar3 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar3,&fStack184); - fStack80 = fStack184 * fStack84; - fStack72 = fStack176 * fStack84; - fStack76 = fStack180 * fStack84 + 5.00000000; - if (0 < clock_timer) { - fStack80 = fStack80 + (*(float *)(iStack188 + 8) - *pfStack192) / global_timer_delta; - fStack76 = fStack76 + (*(float *)(iStack188 + 0xc) - pfStack192[1]) / global_timer_delta; - fStack72 = fStack72 + (*(float *)(iStack188 + 0x10) - pfStack192[2]) / global_timer_delta; - } - piVar4 = &pPlayer->unknown + param_1 * 0xea; - iStack96 = piVar4[0x2c2]; - iStack92 = piVar4[0x2c3]; - iStack88 = piVar4[0x2c4]; - guMtxIdentF_unrolled((float (*) [4] [4])afStack160); - proc_7F058020((float (*) [4] [4])(&pPlayer->field_AD8 + param_1 * 0xea), - (float (*) [4])afStack256); - uStack208 = 0; - uStack204 = 0; - uStack200 = 0; - proc_7F058068(afStack256,afStack160); - if (iteminstance == ITEM_GOLDENEYEKEY) { - puVar5 = (undefined4 *)proc_7F08C570('='); - proc_7F08C61C(0x3d); - if (puVar5 != NULL) { - proc_7F04C044(puVar5[4]); - } - proc_7F05D690(); - } - if (puVar5 == NULL) { - model = 199; - if (true) { - switch(iteminstance) { - case ITEM_TIMEDMINE: - model = 0xc9; - break; - case ITEM_PROXIMITYMINE: - model = 200; - break; - case ITEM_BOMBCASE: - model = 0xe2; - break; - case ITEM_PLASTIQUE: - model = 0x111; - break; - case ITEM_BUG: - model = 0xf5; - break; - case ITEM_MICROCAMERA: - model = 0xf6; - break; - case ITEM_GOLDENEYEKEY: - model = 0xf8; - } - } - puVar5 = create_new_item_instance_of_model(model,iteminstance); - } - if (puVar5 == NULL) { - return; - } - if (false) { -switchD_7f05f5c8_caseD_1e: - *(undefined2 *)((int)puVar5 + 0x82) = 0xf0; - } - else { - switch(iteminstance) { - case ITEM_TIMEDMINE: - sVar6 = get_num_players(); - if (sVar6 == 1) { - *(undefined2 *)((int)puVar5 + 0x82) = 300; - } - else { - *(undefined2 *)((int)puVar5 + 0x82) = 0xb4; - } - break; - case ITEM_PROXIMITYMINE: - sVar6 = get_num_players(); - if (sVar6 == 1) { - *(undefined2 *)((int)puVar5 + 0x82) = 300; - } - else { - *(undefined2 *)((int)puVar5 + 0x82) = 0xb4; - } - break; - case ITEM_REMOTEMINE: - sVar6 = get_num_players(); - if (sVar6 == 1) { - *(undefined2 *)((int)puVar5 + 0x82) = 300; - } - else { - *(undefined2 *)((int)puVar5 + 0x82) = 0xb4; - } - break; - default: - goto switchD_7f05f5c8_caseD_1e; - case ITEM_BOMBCASE: - sVar6 = get_num_players(); - if (sVar6 == 1) { - *(undefined2 *)((int)puVar5 + 0x82) = 300; - } - else { - *(undefined2 *)((int)puVar5 + 0x82) = 0xb4; - } - break; - case ITEM_PLASTIQUE: - case ITEM_BUG: - case ITEM_MICROCAMERA: - case ITEM_GOLDENEYEKEY: - *(undefined2 *)((int)puVar5 + 0x82) = 1; - } - } - puVar5[0x19] = puVar5[0x19] & 0xfff9ffff; - uVar7 = get_cur_playernum(); - puVar5[0x19] = puVar5[0x19] | uVar7 << 0x11; - proc_7F05EC1C(); - if ((puVar5[0x19] & 0x80) != 0) { - puVar1 = (uint *)puVar5[0x1b]; - lVar2 = (longlong)(int)puVar1; - *puVar1 = *puVar1 | 2; - *(float *)(puVar5[0x1b] + 0x8c) = flt_80053DC8; - *(undefined4 *)(puVar5[0x1b] + 0xbc) = 0x3c; - play_sfx_a1(ptr_sfx_buf,4,NULL); - if (lVar2 != 0) { - sub_GAME_7F053A10((int)lVar2,(float *)(puVar5 + 0x16)); - } - } - return; -} - - - -void proc_7F05F73C(int param_1) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - u32 uVar4; - float local_b0; - float local_ac; - float local_a8; - float afStack152 [12]; - undefined4 local_68; - undefined4 local_64; - undefined4 local_60; - float local_54; - float local_50; - float local_4c; - float afStack72 [16]; - int *local_8; - undefined4 *local_4; - - local_8 = &pPlayer->right_weapon + param_1 * 0xea; - iVar1 = get_curplayer_positiondata(); - pfVar2 = (float *)proc_7F08A02C(); - guMtxIdentF_unrolled((float (*) [4] [4])afStack72); - proc_7F0681CC(); - pfVar3 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar3,&local_b0); - local_54 = local_b0 * flt_80053DCC; - local_50 = local_ac * flt_80053DCC; - local_4c = local_a8 * flt_80053DCC; - if (0 < clock_timer) { - local_54 = local_54 + (*(float *)(iVar1 + 8) - *pfVar2) / global_timer_delta; - local_50 = local_50 + (*(float *)(iVar1 + 0xc) - pfVar2[1]) / global_timer_delta; - local_4c = local_4c + (*(float *)(iVar1 + 0x10) - pfVar2[2]) / global_timer_delta; - } - proc_7F058020((float (*) [4] [4])(&pPlayer->field_AD8 + param_1 * 0xea), - (float (*) [4])afStack152); - local_68 = 0; - local_64 = 0; - local_60 = 0; - local_4 = create_new_item_instance_of_model(0xcb,0x57); - if (local_4 != NULL) { - *(undefined2 *)((int)local_4 + 0x82) = 0x4b0; - local_4[0x19] = local_4[0x19] & 0xfff9ffff; - uVar4 = get_cur_playernum(); - local_4[0x19] = local_4[0x19] | uVar4 << 0x11; - proc_7F05EC1C(); - if ((local_4[0x19] & 0x80) != 0) { - *(float *)(local_4[0x1b] + 0x8c) = flt_80053DD0; - *(float *)(local_4[0x1b] + 0x94) = flt_80053DD4; - *(undefined4 *)(local_4[0x1b] + 0xbc) = 0x3c; - } - } - return; -} - - - -void proc_7F05F928(int param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - float *pfVar6; - undefined8 extraout_a0; - float afStack76 [12]; - undefined4 local_1c; - undefined4 local_18; - undefined4 local_14; - int *local_4; - - iVar1 = (&pPlayer->unknown + param_1 * 0xea)[0x2a4]; - local_4 = &pPlayer->unknown + param_1 * 0xea + 0x21c; - if ((iVar1 != 0) && (iVar2 = *(int *)(iVar1 + 0x10), iVar2 != 0)) { - iVar4 = get_curplayer_positiondata(); - iVar3 = *(int *)(iVar1 + 0x14); - iVar5 = iVar4; - proc_7F058020((float (*) [4] [4])(local_4 + 0x9a),(float (*) [4])afStack76); - local_1c = 0; - local_18 = 0; - local_14 = 0; - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(iVar1 + 0x14) + 0x14),extraout_a0, - (float *)(float (*) [4])afStack76); - proc_7F040754(iVar1,local_4 + 0xba,(undefined4 *)(float (*) [4])afStack76, - *(undefined4 *)(iVar4 + 0x14)); - proc_7F040484(iVar1); - proc_7F0BD714((int)*(short *)(*(int *)(iVar3 + 8) + 0xe) << 6); - *(int *)(iVar3 + 0xc) = iVar5; - proc_7F058020((float (*) [4] [4])(iVar1 + 0x18),(float (*) [4])afStack76); - copies_first_3_floats_from_a0_to_a1_plus_0x30 - ((xyzpoint *)(iVar1 + 0x58),(int)(float (*) [4])afStack76); - pfVar6 = (float *)get_BONDdata_field_10CC(); - proc_7F05818C(pfVar6,(float *)(float (*) [4])afStack76,*(int *)(iVar3 + 0xc)); - proc_7F06EEA4((longlong)iVar3,**(int **)(iVar3 + 8)); - *(byte *)(iVar2 + 1) = *(byte *)(iVar2 + 1) | 2; - *(float *)(iVar2 + 0x18) = -*(float *)(*(int *)(iVar3 + 0xc) + 0x38); - } - return; -} - - - -void proc_7F05FA7C(int param_1) - -{ - undefined4 *puVar1; - int *piVar2; - - piVar2 = &pPlayer->unknown + param_1 * 0xea; - if (((piVar2[0x2a4] == 0) && (0 < piVar2[0x227])) && - (puVar1 = create_new_item_instance_of_model(0xca,0x56), puVar1 != NULL)) { - *(undefined4 **)(piVar2 + 0x2a4) = puVar1; - piVar2[0x2a5] = 0; - *(undefined2 *)((int)puVar1 + 0x82) = 1; - } - return; -} - - - -void proc_7F05FB00(int param_1) - -{ - object_standard *poVar1; - int *piVar2; - - piVar2 = &pPlayer->unknown; - poVar1 = (object_standard *)(piVar2 + param_1 * 0xea)[0x2a4]; - if (poVar1 != NULL) { - proc_7F041024(poVar1,1); - (piVar2 + param_1 * 0xea)[0x2a4] = 0; - } - return; -} - - - -int ** proc_7F05FB64(int param_1) - -{ - int iVar1; - float *pfVar2; - u32 uVar3; - int **ppiVar4; - float local_d4; - int local_d0; - int local_cc; - ITEM_IDS local_c8; - float *local_c4; - int local_c0; - float local_bc; - float local_b8; - float local_b4; - undefined4 auStack176 [3]; - float afStack164 [12]; - undefined4 local_74; - undefined4 local_70; - undefined4 local_6c; - float local_64; - float local_60; - float local_5c; - float local_54; - float local_50; - float local_4c; - float afStack72 [16]; - int *local_8; - int **local_4; - - local_8 = &pPlayer->right_weapon + param_1 * 0xea; - local_c0 = get_curplayer_positiondata(); - local_c4 = (float *)proc_7F08A02C(); - local_c8 = get_item_in_hand(param_1); - guMtxIdentF_unrolled((float (*) [4] [4])afStack72); - if (local_c8 != ITEM_TANKSHELLS) { - proc_7F0681CC(); - pfVar2 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar2,&local_bc); - local_d4 = (float)local_8[0xba]; - local_d0 = local_8[0xbb]; - local_64 = local_bc * flt_80053DDC; - local_cc = local_8[0xbc]; - local_60 = local_b8 * flt_80053DDC; - local_5c = local_b4 * flt_80053DDC; - local_54 = local_64 * global_timer_delta; - local_50 = local_60 * global_timer_delta; - local_4c = local_5c * global_timer_delta; - if (0 < clock_timer) { - local_54 = local_54 + (*(float *)(local_c0 + 8) - *local_c4) / global_timer_delta; - local_50 = local_50 + (*(float *)(local_c0 + 0xc) - local_c4[1]) / global_timer_delta; - local_4c = local_4c + (*(float *)(local_c0 + 0x10) - local_c4[2]) / global_timer_delta; - } - goto LAB_7f05fe34; - } - iVar1 = get_ptr_for_players_tank(); - if ((iVar1 == 0) || ((*(byte *)(iVar1 + 1) & 2) == 0)) { - proc_7F068190(auStack176,&local_bc); - pfVar2 = (float *)get_BONDdata_field_10D4(); - proc_7F0583D8(pfVar2,&local_bc); - } - else { - proc_7F07CEB0(&local_bc); - } - local_54 = local_bc * flt_80053DD8; - local_50 = local_b8 * flt_80053DD8; - local_4c = local_b4 * flt_80053DD8; - if (0 < clock_timer) { - local_54 = local_54 + (*(float *)(local_c0 + 8) - *local_c4) / global_timer_delta; - local_50 = local_50 + (*(float *)(local_c0 + 0xc) - local_c4[1]) / global_timer_delta; - local_4c = local_4c + (*(float *)(local_c0 + 0x10) - local_c4[2]) / global_timer_delta; - } - if (iVar1 == 0) { - local_d4 = *(float *)(local_c0 + 8); -LAB_7f05fd2c: - local_d0 = *(int *)(local_c0 + 0xc); - local_cc = *(int *)(local_c0 + 0x10); - } - else { - if ((*(byte *)(iVar1 + 1) & 2) == 0) { - local_d4 = *(float *)(local_c0 + 8); - goto LAB_7f05fd2c; - } - iVar1 = *(int *)(iVar1 + 4); - local_d4 = *(float *)(*(int *)(*(int *)(iVar1 + 0x14) + 0xc) + 0x130); - local_d0 = *(int *)(*(int *)(*(int *)(iVar1 + 0x14) + 0xc) + 0x134); - local_cc = *(int *)(*(int *)(*(int *)(iVar1 + 0x14) + 0xc) + 0x138); - pfVar2 = (float *)get_BONDdata_field_10D4(); - proc_7F058474(pfVar2,&local_d4); - } - proc_7F09C7AC(); -LAB_7f05fe34: - proc_7F058020((float (*) [4] [4])(&pPlayer->field_AD8 + param_1 * 0xea), - (float (*) [4])afStack164); - local_74 = 0; - local_70 = 0; - local_6c = 0; - ppiVar4 = (int **)local_8[0x88]; - if (ppiVar4 == NULL) { - ppiVar4 = (int **)create_new_item_instance_of_model(0xca,0x56); - } - else { - local_8[0x89] = 1; - } - if (ppiVar4 != NULL) { - *(undefined2 *)((int)ppiVar4 + 0x82) = 0xffff; - ppiVar4[0x19] = (int *)((uint)ppiVar4[0x19] & 0xfff9ffff); - local_4 = ppiVar4; - uVar3 = get_cur_playernum(); - local_4[0x19] = (int *)((uint)local_4[0x19] | uVar3 << 0x11); - ppiVar4 = (int **)proc_7F05EC1C(); - if (((uint)local_4[0x19] & 0x80) != 0) { - ppiVar4 = (int **)local_4[0x1b]; - *ppiVar4 = (int *)((uint)*ppiVar4 | 0x80); - if (local_c8 != ITEM_TANKSHELLS) { - *local_4[0x1b] = *local_4[0x1b] | 0x20; - *(int **)(local_4[0x1b] + 0x2c) = local_4[0x17]; - local_4[0x1b][0x2d] = local_4[0x1b][2]; - *(float *)(local_4[0x1b] + 4) = local_64; - *(float *)(local_4[0x1b] + 5) = local_60; - *(float *)(local_4[0x1b] + 6) = local_5c; - local_4[0x1b][0x2f] = 0x3c; - ppiVar4 = (int **)local_4[0x1b]; - if (ppiVar4[0x26] == NULL) { - play_sfx_a1(ptr_sfx_buf,1,(ALSndPlayer *)(ppiVar4 + 0x26)); - } - else { - if (ppiVar4[0x27] == NULL) { - play_sfx_a1(ptr_sfx_buf,1,(ALSndPlayer *)(ppiVar4 + 0x27)); - } - } - } - } - } - return ppiVar4; -} - - - -// WARNING: Instruction at (ram,0x7f060974) overlaps instruction at (ram,0x7f060970) -// - -void handles_firing_or_throwing_weapon_in_hand(HAND hand) - -{ - ushort *partdesc; - xyzpoint *posdata; - ITEM_IDS item; - int iVar3; - u32 uVar4; - float *pfVar5; - ulonglong uVar1; - longlong lVar2; - short sVar7; - uint *puVar6; - float (*paafVar8) [4] [4]; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a0_07; - undefined8 extraout_a0_08; - undefined4 unaff_s0_lo; - int *piVar9; - int *piVar10; - uint uVar11; - char cVar12; - undefined4 unaff_retaddr; - f32 fVar13; - f32 fVar14; - f32 fVar15; - int iVar16; - float fVar17; - int iVar18; - float fVar19; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float extraout_f12_09; - float a; - float extraout_f12_10; - float a_00; - float extraout_f12_11; - float a_01; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - float extraout_f14_05; - float x; - float extraout_f14_06; - float x_00; - float x_01; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - undefined8 in_stack_fffffd80; - int *piVar24; - int *piVar25; - int *piVar26; - float (*paafVar27) [4] [4]; - int *instance; - float (*pafVar28) [4]; - xyzpoint xStack548; - xyzpoint *pxStack532; - xyzpoint *pxStack524; - float fStack520; - float fStack516; - float fStack512; - float fStack508; - float fStack504; - float fStack500; - float fStack496; - float fStack492; - float fStack488; - float fStack480; - float fStack476; - float fStack472; - float fStack468; - float fStack464; - float fStack460; - float fStack456; - float fStack452; - float fStack448; - weapon_stats *pwStack432; - ITEM_IDS IStack428; - int iStack424; - xyzpoint *pxStack416; - int *piStack412; - float afStack404 [16]; - float afStack340 [12]; - float fStack292; - float fStack288; - float fStack284; - xyzpoint xStack276; - object_header *poStack264; - float afStack260 [14]; - float fStack204; - float afStack196 [16]; - float fStack132; - float fStack128; - float fStack124; - float fStack116; - float fStack112; - float fStack108; - float fStack100; - float fStack96; - float fStack92; - float fStack84; - float fStack80; - float fStack76; - float afStack68 [16]; - float (*pafStack4) [4]; - - xStack276.x = (float)dword_80035C40; - xStack276.y = (float)dword_80035C44; - xStack276.z = (float)dword_80035C48; - piVar9 = &pPlayer->unknown + hand * 0xea; - piStack412 = NULL; - pxStack416 = NULL; - piVar10 = piVar9 + 0x21c; - IStack428 = return_ammo_in_hand(hand); - pwStack432 = get_ptr_item_statistics(IStack428); - if (hand == HAND_RIGHT) { - item = return_ammo_in_hand(HAND_LEFT); - iVar3 = check_special_attributes(item,0x800); - fVar17 = extraout_f12; - if (iVar3 == 0) { - *(float *)(piVar9 + 0x28d) = - (float)piVar9[0x28d] - (global_timer_delta + global_timer_delta) / 240.00000000; - if ((float)piVar9[0x28d] < 0.00000000) { - piVar9[0x28d] = 0; - } - } - else { - *(float *)(piVar9 + 0x28d) = - (float)piVar9[0x28d] + (global_timer_delta + global_timer_delta) / 240.00000000; - if (2.00000000 < (float)piVar9[0x28d]) { - piVar9[0x28d] = 0x40000000; - } - } - } - else { - item = return_ammo_in_hand(HAND_RIGHT); - iVar3 = check_special_attributes(item,0x800); - fVar17 = extraout_f12_00; - if (iVar3 == 0) { - *(float *)(piVar9 + 0x28d) = - (float)piVar9[0x28d] + (global_timer_delta + global_timer_delta) / 240.00000000; - if (0.00000000 < (float)piVar9[0x28d]) { - piVar9[0x28d] = 0; - } - } - else { - *(float *)(piVar9 + 0x28d) = - (float)piVar9[0x28d] - (global_timer_delta + global_timer_delta) / 240.00000000; - if ((float)piVar9[0x28d] < -2.00000000) { - piVar9[0x28d] = -0x40000000; - } - } - } - fStack456 = dword_80035C4C; - fStack452 = dword_80035C50; - fStack448 = dword_80035C54; - fStack468 = dword_80035C58; - fStack464 = dword_80035C5C; - fStack460 = flt_80035C60; - fStack480 = dword_80035C64; - fStack476 = flt_80035C68; - fStack472 = dword_80035C6C; - iVar3 = piVar9[0x282]; - uVar11 = iVar3 + 3U & 3; - if (((int)(iVar3 + 3U) < 0) && (uVar11 != 0)) { - uVar11 -= 4; - } - instance = piVar10 + uVar11 * 3; - piVar26 = piVar10 + iVar3 * 3; - uVar11 = iVar3 + 1U & 3; - if (((int)(iVar3 + 1U) < 0) && (uVar11 != 0)) { - uVar11 -= 4; - } - piVar25 = piVar10 + uVar11 * 3; - uVar11 = iVar3 + 2U & 3; - if (((int)(iVar3 + 2U) < 0) && (uVar11 != 0)) { - uVar11 -= 4; - } - piVar24 = piVar10 + uVar11 * 3; - proc_7F05AEFC((float *)(instance + 0x42),(float *)(piVar26 + 0x42),(float *)(piVar25 + 0x42), - (float *)(piVar24 + 0x42),fVar17,(float *)piVar9[0x283]); - proc_7F05AEFC((float *)(instance + 0x4e),(float *)(piVar26 + 0x4e),(float *)(piVar25 + 0x4e), - (float *)(piVar24 + 0x4e),extraout_f12_01,(float *)piVar9[0x283]); - proc_7F05AEFC((float *)(instance + 0x5a),(float *)(piVar26 + 0x5a),(float *)(piVar25 + 0x5a), - (float *)(piVar24 + 0x5a),extraout_f12_02,(float *)piVar9[0x283]); - fStack448 = fStack448 * pPlayer->field_FC0; - fStack456 = fStack456 * pPlayer->field_FC0 + (float)piVar9[0x287]; - fStack452 = fStack452 * pPlayer->field_FC0 + (float)piVar9[0x288]; - fVar13 = proc_7F05DCB8(hand); - fVar17 = flt_80053DE0; - fStack456 = fStack456 + (float)fVar13; - iVar3 = 0; - if (0 < clock_timer) { - fVar20 = (float)piVar9[0x255]; - while( true ) { - iVar3 += 1; - *(float *)(piVar9 + 0x255) = fStack456 + fVar17 * fVar20; - *(float *)(piVar9 + 0x256) = fStack452 + fVar17 * (float)piVar9[0x256]; - *(float *)(piVar9 + 599) = fStack448 + fVar17 * (float)piVar9[599]; - *(float *)(piVar9 + 600) = fStack468 + fVar17 * (float)piVar9[600]; - *(float *)(piVar9 + 0x259) = fStack464 + fVar17 * (float)piVar9[0x259]; - *(float *)(piVar9 + 0x25a) = fStack460 + fVar17 * (float)piVar9[0x25a]; - *(float *)(piVar9 + 0x25b) = fStack480 + fVar17 * (float)piVar9[0x25b]; - *(float *)(piVar9 + 0x25c) = fStack476 + fVar17 * (float)piVar9[0x25c]; - *(float *)(piVar9 + 0x25d) = fStack472 + fVar17 * (float)piVar9[0x25d]; - if (clock_timer <= iVar3) break; - fVar20 = (float)piVar9[0x255]; - } - } - fVar17 = flt_80053DE4; - fVar21 = (float)piVar9[0x256] * flt_80053DE4; - fVar20 = (float)piVar9[599] * flt_80053DE4; - *(float *)(piVar9 + 0x24c) = (float)piVar9[0x255] * flt_80053DE4; - *(float *)(piVar9 + 0x24d) = fVar21; - *(float *)(piVar9 + 0x24e) = fVar20; - *(float *)(piVar9 + 0x24f) = (float)piVar9[600] * fVar17; - *(float *)(piVar9 + 0x250) = (float)piVar9[0x259] * fVar17; - *(float *)(piVar9 + 0x251) = (float)piVar9[0x25a] * fVar17; - *(float *)(piVar9 + 0x252) = (float)piVar9[0x25b] * fVar17; - *(float *)(piVar9 + 0x253) = (float)piVar9[0x25c] * fVar17; - *(float *)(piVar9 + 0x254) = (float)piVar9[0x25d] * fVar17; - if ((longlong)(int)hand == 0) { - fVar13 = proc_7F05DCE8(0); - xStack276.x = (float)piVar9[0x28a] + (float)fVar13 + (float)piVar9[0x24c]; - } - else { - fVar13 = proc_7F05DCE8((longlong)(int)hand); - xStack276.x = ((float)fVar13 + (float)piVar9[0x24c]) - (float)piVar9[0x28a]; - } - xStack276.y = (float)piVar9[0x28b] + (float)(pwStack432->position).y + (float)piVar9[0x24d]; - xStack276.z = (float)piVar9[0x28c] + (float)(pwStack432->position).z + (float)piVar9[0x24e]; - if (((IStack428 == ITEM_ROCKETLAUNCH) || (IStack428 == ITEM_TRIGGER)) || - (IStack428 == ITEM_WATCHLASER)) { - xStack276.y = xStack276.y + (float)pPlayer->ducking_height_offset / -100.00000000; - xStack276.z = xStack276.z + - ((float)pPlayer->ducking_height_offset * 3.00000000) / -100.00000000; - if ((IStack428 == ITEM_ROCKETLAUNCH) && - (((iVar3 = cur_player_get_screen_setting(), iVar3 == 1 || - (iVar3 = cur_player_get_screen_setting(), iVar3 == 2)) || - (iVar3 = get_screen_ratio(), iVar3 == 1)))) { - xStack276.y = xStack276.y - 3.00000000; - } - } - else { - if (IStack428 == ITEM_TASER) { - xStack276.y = xStack276.y + - ((float)pPlayer->ducking_height_offset * 2.50000000) / -100.00000000; - xStack276.z = xStack276.z + - ((float)pPlayer->ducking_height_offset * 7.50000000) / -100.00000000; - } - else { - xStack276.y = xStack276.y + - ((float)pPlayer->ducking_height_offset * 5.00000000) / -100.00000000; - xStack276.z = xStack276.z + - ((float)pPlayer->ducking_height_offset * 15.00000000) / -100.00000000; - } - } - if ((*(char *)(piVar9 + 0x21f) != '\0') && - (iVar3 = check_special_attributes(IStack428,0x20), iVar3 != 0)) { - iVar3 = check_special_attributes(IStack428,0x40); - if (iVar3 != 0) { - uVar4 = get_random_value(); - fVar17 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar17 = fVar17 + 4294967296.00000000; - } - xStack276.x = xStack276.x + (flt_80053DEC - fVar17 * 0.00000000 * flt_80053DE8); - } - uVar4 = get_random_value(); - fVar17 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar17 = fVar17 + 4294967296.00000000; - } - xStack276.y = xStack276.y + (flt_80053DF4 - fVar17 * 0.00000000 * flt_80053DF0); - uVar4 = get_random_value(); - fVar17 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar17 = fVar17 + 4294967296.00000000; - } - xStack276.z = xStack276.z + (flt_80053DFC - fVar17 * 0.00000000 * flt_80053DF8); - } - fVar13 = getPlayer_c_screenwidth(); - fVar14 = getPlayer_c_screenwidth(); - fVar15 = getPlayer_c_screenleft(); - xStack276.x = xStack276.x + - (((pPlayer->field_FFC - (float)fVar15) - (float)fVar14 * 0.50000000) * - pwStack432->field_0x18) / ((float)fVar13 * 0.50000000); - fVar13 = getPlayer_c_screentop(); - fVar14 = getPlayer_c_screenheight(); - if ((float)fVar14 * 0.50000000 < pPlayer->field_1000 - (float)fVar13) { - fVar14 = getPlayer_c_screenheight(); - fVar15 = getPlayer_c_screenheight(); - fVar13 = getPlayer_c_screentop(); - xStack276.y = xStack276.y - - (((pPlayer->field_1000 - (float)fVar13) - (float)fVar15 * 0.50000000) * - pwStack432->field_0x14) / ((float)fVar14 * 0.50000000); - } - else { - fVar14 = getPlayer_c_screenheight(); - fVar15 = getPlayer_c_screenheight(); - fVar13 = getPlayer_c_screentop(); - xStack276.y = xStack276.y - - (((pPlayer->field_1000 - (float)fVar13) - (float)fVar15 * 0.50000000) * - pwStack432->field_0x10) / ((float)fVar14 * 0.50000000); - } - proc_7F05C614(); - guMtxIdentF_unrolled((float (*) [4] [4])afStack340); - if ((IStack428 == ITEM_TRIGGER) || (IStack428 == ITEM_WATCHLASER)) { - fStack496 = flt_80035C70; - fStack492 = flt_80035C74; - fStack488 = flt_80035C78; - proc_7F058714(&fStack496,afStack260); - sub_GAME_7F058098(afStack260,afStack340); - iVar3 = piVar9[0x24b]; - fVar17 = extraout_f12_04; - fVar20 = extraout_f14_00; - } - else { - if (IStack428 == ITEM_TASER) { - fStack508 = flt_80035C7C; - fStack504 = flt_80035C80; - fStack500 = flt_80035C84; - proc_7F058714(&fStack508,afStack260); - sub_GAME_7F058098(afStack260,afStack340); - iVar3 = piVar9[0x24b]; - fVar17 = extraout_f12_05; - fVar20 = extraout_f14_01; - } - else { - fVar17 = extraout_f12_03; - fVar20 = extraout_f14; - if (IStack428 == ITEM_FIST) { - if (pPlayer->cur_item_weapon_getname != 0x11) { - iVar3 = piVar9[0x24b]; - goto LAB_7f060a94; - } - fStack520 = flt_80035C88; - fStack516 = flt_80035C8C; - fStack512 = flt_80035C90; - proc_7F058714(&fStack520,afStack260); - sub_GAME_7F058098(afStack260,afStack340); - xStack276.x = xStack276.x + -2.50000000; - xStack276.y = xStack276.y + flt_80053E00; - xStack276.z = xStack276.z + 2.00000000; - fVar17 = extraout_f12_06; - fVar20 = extraout_f14_02; - } - iVar3 = piVar9[0x24b]; - } - } -LAB_7f060a94: - if (iVar3 == 0) { - piVar9[0x23a] = 0; - piVar9[0x237] = 0; - piVar9[0x238] = 0; - piVar9[0x239] = 0; - } - else { - xStack276.x = xStack276.x + (float)piVar9[0x247]; - xStack276.y = xStack276.y + (float)piVar9[0x248]; - xStack276.z = xStack276.z + (float)piVar9[0x249]; - sub_GAME_7F058098((float *)(piVar9 + 0x23b),afStack340); - fStack292 = 0.00000000; - fStack288 = 0.00000000; - fStack284 = 0.00000000; - fVar17 = extraout_f12_07; - fVar20 = extraout_f14_03; - } - fVar22 = (float)piVar9[0x250]; - fVar21 = (float)piVar9[0x251]; - fVar23 = (float)piVar9[0x252]; - iVar16 = piVar9[0x253]; - iVar18 = piVar9[0x254]; - proc_7F059908(afStack260,fVar17,fVar20,0.00000000,0.00000000,0.00000000,(float)piVar9[0x24f], - fVar22,fVar21,fVar23); - sub_GAME_7F058098(afStack260,afStack340); - proc_7F059CE8(afStack260,extraout_f12_08,extraout_f14_04,0.00000000, - xStack276.x - (float)piVar9[0x28e]); - sub_GAME_7F058098(afStack260,afStack340); - proc_7F058020((float (*) [4] [4])afStack340,(float (*) [4])afStack68); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&xStack276,(int)afStack68); - pafVar28 = (float (*) [4])(piVar9 + 0x2a6); - proc_7F058020((float (*) [4] [4])afStack68,pafVar28); - paafVar27 = (float (*) [4] [4])(piVar9 + 0x2b6); - proc_7F058020(paafVar27,(float (*) [4])(piVar9 + 0x2c6)); - pfVar5 = (float *)get_BONDdata_field_10D4(); - proc_7F05818C(pfVar5,(float *)pafVar28,(int)paafVar27); - *(undefined *)((int)piVar9 + 0x87f) = 1; - iVar3 = get_ptr_weapon_model_header_line(IStack428); - if ((iVar3 == 0) || (iVar3 = check_special_attributes(IStack428,0x800), iVar3 == 0)) { -LAB_7f060c6c: - *(undefined *)((int)piVar9 + 0x87f) = 0; - } - else { - iVar3 = check_special_attributes(IStack428,0x2000); - if (iVar3 == 0) { - if (piVar9[0x225] == 6) goto LAB_7f060c6c; - if (piVar9[0x225] == 7) { - *(undefined *)((int)piVar9 + 0x87f) = 0; - } - else { - uVar1 = proc_7F05CEBC(hand); - if (uVar1 != 0) { - iVar3 = get_itemtype_in_hand(hand); - if (iVar3 != 0) { - iVar3 = piVar9[0x227]; - goto LAB_7f060c74; - } - goto LAB_7f060c6c; - } - *(undefined *)((int)piVar9 + 0x87f) = 0; - } - } - else { - *(undefined *)((int)piVar9 + 0x87f) = 0; - } - } - iVar3 = piVar9[0x227]; -LAB_7f060c74: - if (iVar3 < 1) { - iVar3 = check_special_attributes(IStack428,2); - if (iVar3 == 0) { - cVar12 = *(char *)((int)piVar9 + 0x87f); - } - else { - *(undefined *)((int)piVar9 + 0x87f) = 0; - cVar12 = *(char *)((int)piVar9 + 0x87f); - } - } - else { - cVar12 = *(char *)((int)piVar9 + 0x87f); - } - if (cVar12 != '\0') { - poStack264 = (object_header *)(&pPlayer->unknown + hand * 8 + 0x204); - lVar2 = (longlong)(int)poStack264; - iStack424 = 0; - proc_7F0BD714((int)*(short *)((int)(&pPlayer->unknown + hand * 8) + 0x81e) << 6); - pafStack4 = (float (*) [4])lVar2; - iVar3 = iStack424; - if (0 < poStack264->num_object_grps) { - do { - iStack424 = iVar3; - paafVar8 = (float (*) [4] [4])lVar2; - guMtxIdentF_unrolled(paafVar8); - lVar2 = (longlong)(int)(paafVar8 + 1); - iVar3 = iStack424 + 1; - } while ((longlong)(iStack424 + 1) < (longlong)poStack264->num_object_grps); - } - set_objuse_flag_compute_grp_nums_set_obj_loaded(poStack264); - instance = piVar9 + 0x2da; - proc_7F075F68((int)instance,(ushort **)poStack264,piVar9 + 0x2e2); - proc_7F05E978((int)instance,1); - proc_7F05EA94((int)instance,(int)*(char *)((int)piVar9 + 0x87e)); - iVar3 = poStack264->offset_obj_offset_block; - if (*(int *)(iVar3 + 4) == 0) { - iVar3 = *(int *)(iVar3 + 0xc); - } - else { - piStack412 = piVar10 + (uint)*(ushort *)(*(int *)(*(int *)(iVar3 + 4) + 4) + 4) + 0xc6; - iVar3 = *(int *)(iVar3 + 0xc); - } - if (iVar3 != 0) { - pxStack416 = *(xyzpoint **)(iVar3 + 4); - } - *(float (**) [4])(piVar9 + 0x2dd) = pafStack4; - iVar3 = check_special_attributes(IStack428,0x400); - extraout_a0_04 = extraout_a0; - if ((iVar3 != 0) && (hand == HAND_LEFT)) { - proc_7F0589B4(-1.00000000,extraout_a0,afStack68); - extraout_a0_04 = extraout_a0_00; - } - matrix_multiply_A1_by_F12(flt_80053E04,extraout_a0_04,afStack68); - proc_7F058020((float (*) [4] [4])afStack68,pafStack4); - if (poStack264->ptr_archetype == (object_standard *)&weapon_gun_revolver) { - iVar3 = *(int *)(poStack264->offset_obj_offset_block + 0x10); - if (iVar3 == 0) { - iVar3 = *(int *)(poStack264->offset_obj_offset_block + 0x14); - } - else { - fVar17 = 0.00000000; - pxStack524 = *(xyzpoint **)(iVar3 + 4); - if (IStack428 == ITEM_RUGER) { - if (piVar9[0x225] == 1) { - fVar17 = ((float)(piVar9[0x224] + piVar9[0x227] * -6 + 0x1e) * flt_80053E08) - / 36.00000000; - } - else { - fVar17 = ((float)(6 - piVar9[0x227]) * flt_80053E0C) / 6.00000000; - } - } - else { - if ((piVar9[0x225] == 1) && (piVar9[0x224] < 6)) { - fVar17 = ((float)piVar9[0x224] * flt_80053E10) / 36.00000000; - } - } - proc_7F058688(fVar17,(longlong)(int)pxStack524,afStack260); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pxStack524,(int)afStack260); - proc_7F0580C8(afStack68,afStack260,(int)(pafStack4 + 0xc)); - iVar3 = *(int *)(poStack264->offset_obj_offset_block + 0x14); - } - if (iVar3 != 0) { - posdata = *(xyzpoint **)(iVar3 + 4); - if (piVar9[0x225] == 1) { - iVar3 = piVar9[0x224]; - if (iVar3 < 3) { - fVar17 = -(float)iVar3 * flt_80053E14 + -(float)iVar3 * flt_80053E14; - } - else { - fVar17 = -(float)(6 - iVar3) * flt_80053E18; - fVar17 = fVar17 + fVar17; - } - pxStack532 = posdata; - proc_7F058570(fVar17 / 6.00000000,(longlong)(int)posdata,afStack260); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pxStack532,(int)afStack260); - } - else { - init_something_copy_posdata_to_it(posdata,(int *)afStack260); - } - proc_7F0580C8(afStack68,afStack260,(int)(pafStack4 + 0x10)); - } - } - if (piStack412 != NULL) { - *piStack412 = 0; - } - if (pxStack416 == NULL) { - piVar9[0x2d6] = piVar9[0x2c2]; - *(float *)(piVar9 + 0x2d9) = -(float)piVar9[0x2b4]; - piVar9[0x2d7] = piVar9[0x2c3]; - piVar9[0x2d8] = piVar9[0x2c4]; - iVar3 = poStack264->offset_obj_offset_block; - } - else { - uVar4 = get_random_value(); - fVar17 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar17 = fVar17 + 4294967296.00000000; - } - fVar17 = fVar17 * 0.00000000 * 0.25000000 + 1.00000000; - fVar20 = pwStack432->field_0; - iVar3 = check_special_attributes(IStack428,1); - if (iVar3 == 0) { - init_something_copy_posdata_to_it(pxStack416,(int *)&fStack132); - extraout_a0_04 = extraout_a0_03; - } - else { - uVar4 = get_random_value(); - fVar19 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - proc_7F058688(fVar19 * 0.00000000 * flt_80053E1C,extraout_a0_01,&fStack132); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pxStack416,(int)&fStack132); - extraout_a0_04 = extraout_a0_02; - } - matrix_multiply_A1_by_F12(fVar17,extraout_a0_04,&fStack132); - proc_7F058A14(fVar20,extraout_a0_04,(int)&fStack132); - proc_7F058068(afStack68,&fStack132); - proc_7F058020((float (*) [4] [4])&fStack132,pafStack4 + 4); - *(float *)(piVar9 + 0x2d6) = fStack84; - *(float *)(piVar9 + 0x2d7) = fStack80; - *(float *)(piVar9 + 0x2d8) = fStack76; - pfVar5 = (float *)get_BONDdata_field_10D4(); - proc_7F058474(pfVar5,(float *)(piVar9 + 0x2d6)); - *(float *)(piVar9 + 0x2d9) = -fStack76; - if (*(char *)((int)piVar9 + 0x87d) != '\0') { - if (piStack412 != NULL) { - *piStack412 = 1; - } - iVar3 = *(int *)(poStack264->offset_obj_offset_block + 8); - if (iVar3 != 0) { - pfVar5 = *(float **)(iVar3 + 4); - xStack548.x = fStack84 + - *pfVar5 * fStack132 + pfVar5[1] * fStack116 + - pfVar5[2] * fStack100; - xStack548.y = fStack80 + - *pfVar5 * fStack128 + pfVar5[1] * fStack112 + pfVar5[2] * fStack96 - ; - xStack548.z = fStack76 + - *pfVar5 * fStack124 + pfVar5[1] * fStack108 + pfVar5[2] * fStack92 - ; - uVar4 = get_random_value(); - fVar19 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar19 = fVar19 + 4294967296.00000000; - } - proc_7F059CE8(afStack196,extraout_f12_09,extraout_f14_05, - fVar19 * 0.00000000 * flt_80053E20,-xStack548.x); - matrix_multiply_A1_by_F12(flt_80053E24 * fVar17,extraout_a0_05,afStack196); - proc_7F059B58(afStack404,a,x,0.00000000,xStack276.x - (float)piVar9[0x28e]); - proc_7F058068(afStack404,afStack196); - proc_7F058B80(fVar20,extraout_a0_06,(int)afStack196); - proc_7F058068(afStack340,afStack196); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&xStack548,(int)afStack196); - proc_7F058020((float (*) [4] [4])afStack196,pafStack4 + 8); - } - if ((poStack264->ptr_archetype == (object_standard *)&weapon_gun_kf7) && - (iVar3 = *(int *)(poStack264->offset_obj_offset_block + 0x10), iVar3 != 0)) { - pfVar5 = *(float **)(iVar3 + 4); - paafVar27 = (float (*) [4] [4])(pafStack4 + 0xc); - xStack548.x = fStack84 + - *pfVar5 * fStack132 + pfVar5[1] * fStack116 + - pfVar5[2] * fStack100; - xStack548.y = fStack80 + - *pfVar5 * fStack128 + pfVar5[1] * fStack112 + pfVar5[2] * fStack96 - ; - piVar24 = (int *)(flt_80053E28 * fVar17); - xStack548.z = fStack76 + - *pfVar5 * fStack124 + pfVar5[1] * fStack108 + pfVar5[2] * fStack92 - ; - uVar4 = get_random_value(); - fVar17 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar17 = fVar17 + 4294967296.00000000; - } - proc_7F059CE8(afStack196,extraout_f12_10,extraout_f14_06, - fVar17 * 0.00000000 * flt_80053E2C,-xStack548.x); - matrix_multiply_A1_by_F12((float)piVar24,extraout_a0_07,afStack196); - proc_7F059B58(afStack404,a_00,x_00,0.00000000,xStack276.x - (float)piVar9[0x28e] - ); - proc_7F058068(afStack404,afStack196); - proc_7F058B80(fVar20,extraout_a0_08,(int)afStack196); - proc_7F058068(afStack340,afStack196); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&xStack548,(int)afStack196); - proc_7F058020((float (*) [4] [4])afStack196,(float (*) [4])paafVar27); - } - } - iVar3 = poStack264->offset_obj_offset_block; - } - partdesc = *(ushort **)(iVar3 + 0x18); - if (partdesc != NULL) { - posdata = *(xyzpoint **)(partdesc + 2); - sVar7 = proc_7F06C570(partdesc,0); - fVar17 = (float)proc_7F05E6B4(); - if ((poStack264->num_offset_entries < 0x1d) || - (iVar3 = *(int *)(poStack264->offset_obj_offset_block + 0x70), iVar3 == 0)) { - proc_7F0584D0((float *)posdata,extraout_f12_11,(float *)piVar9[0x2a1]); - } - else { - iVar3 = *(int *)(iVar3 + 4); - get_value_if_watch_is_on_hand_or_not(hand); - guRotateF((float [4] [4]) - CONCAT604(CONCAT564(CONCAT524(CONCAT484(CONCAT444(CONCAT404(CONCAT364( - CONCAT324(CONCAT248(CONCAT204(CONCAT164(CONCAT124( - CONCAT84(CONCAT44(*(float *)(iVar3 + 8) - - *(float *)(iVar3 + 0x14),fVar22) - ,fVar21),fVar23),iVar16),iVar18), - in_stack_fffffd80),unaff_s0_lo),unaff_retaddr), - piVar24),piVar25),paafVar27),instance),fVar14), - fVar15),a_01,x_01,(float)afStack260, - ((((float)piVar9[0x2a1] + flt_80053E30) - fVar17) * 360.00000000) / - flt_80053E34); - copies_first_3_floats_from_a0_to_a1_plus_0x30(posdata,(int)afStack260); - } - proc_7F05818C(afStack68,afStack260,(int)(pafStack4 + (int)sVar7 * 4)); - } - if (0x1d < poStack264->num_offset_entries) { - seems_to_load_cuff_microcode - (instance,(Gitemheader *)poStack264,(void *)((int)&saved_s0 + 1)); - } - partdesc = *(ushort **)(poStack264->offset_obj_offset_block + 0x1c); - if (partdesc != NULL) { - posdata = *(xyzpoint **)(partdesc + 2); - sVar7 = proc_7F06C570(partdesc,0); - proc_7F05E83C(hand); - init_something_copy_posdata_to_it(posdata,(int *)afStack260); - fStack204 = fStack204 - (float)piVar9[0x2a2]; - proc_7F0580C8(afStack68,afStack260,(int)(pafStack4 + (int)sVar7 * 4)); - } - iVar3 = 0; - iVar16 = 0; - if (0x12 < poStack264->num_offset_entries) { - do { - partdesc = *(ushort **)(poStack264->offset_obj_offset_block + iVar16 + 0x48); - if ((partdesc != NULL) && - (puVar6 = (uint *)extract_id_from_object_structure_microcode - ((int)instance,partdesc), puVar6 != NULL)) { - *puVar6 = (uint)(piVar9[0x229] < 5 - iVar3) ^ 1; - } - partdesc = *(ushort **)(poStack264->offset_obj_offset_block + iVar16 + 0x5c); - if ((partdesc != NULL) && - (puVar6 = (uint *)extract_id_from_object_structure_microcode - ((int)instance,partdesc), puVar6 != NULL)) { - *puVar6 = (uint)(piVar9[0x229] < 5 - iVar3) ^ 1; - } - iVar3 += 1; - iVar16 += 4; - } while (iVar3 != 5); - } - proc_7F06EFC4((int)instance); - if ((*(char *)(piVar9 + 0x21f) != '\0') && (true)) { - switch(IStack428) { - case ITEM_WPPK: - case ITEM_WPPKSIL: - case ITEM_TT33: - case ITEM_SKORPION: - case ITEM_AK47: - case ITEM_UZI: - case ITEM_MP5K: - case ITEM_MP5KSIL: - case ITEM_SPECTRE: - case ITEM_M16: - case ITEM_FNP90: - case ITEM_SNIPERRIFLE: - case ITEM_RUGER: - case ITEM_GOLDENGUN: - case ITEM_SILVERWPPK: - case ITEM_GOLDWPPK: - proc_7F061BF4(hand); - piVar9[0x228] = piVar9[0x228] + 1; - break; - case ITEM_LASER: - case ITEM_WATCHLASER: - proc_7F061BF4(hand); - } - } - } - if (IStack428 == ITEM_ROCKETLAUNCH) { - proc_7F05F928(hand); - cVar12 = *(char *)(piVar9 + 0x21f); - } - else { - cVar12 = *(char *)(piVar9 + 0x21f); - } - if (cVar12 != '\0') { - fVar13 = proc_7F089778((int)pPlayer); - proc_7F068508(hand,fVar13); - if (IStack428 == ITEM_GRENADELAUNCH) { - proc_7F05F73C(hand); - } - else { - if (IStack428 == ITEM_GRENADE) { - proc_7F05EE24(hand); - } - else { - if (IStack428 == ITEM_ROCKETLAUNCH) { - proc_7F05FB64(hand); - } - else { - if (IStack428 == ITEM_THROWKNIFE) { - proc_7F05F09C(hand); - } - else { - if (((((IStack428 == ITEM_REMOTEMINE) || (IStack428 == ITEM_PROXIMITYMINE)) - || (IStack428 == ITEM_TIMEDMINE)) || - ((IStack428 == ITEM_BOMBCASE || (IStack428 == ITEM_BUG)))) || - ((IStack428 == ITEM_MICROCAMERA || - ((IStack428 == ITEM_GOLDENEYEKEY || (IStack428 == ITEM_PLASTIQUE)))))) { - generate_player_thrown_object(hand); - } - else { - if (IStack428 == ITEM_FLAREPISTOL) { - proc_7F05F73C(hand); - } - else { - if (IStack428 == ITEM_PITONGUN) { - proc_7F05F73C(hand); - } - } - } - } - } - } - } - } - return; -} - - - -void proc_7F061920(void) - -{ - handles_firing_or_throwing_weapon_in_hand(HAND_RIGHT); - handles_firing_or_throwing_weapon_in_hand(HAND_LEFT); - return; -} - - - -void proc_7F061948(undefined *param_1,int param_2,float *param_3,float *param_4) - -{ - bool bVar1; - float fVar2; - float fVar3; - u32 uVar4; - float fVar5; - float fVar6; - float fVar7; - - *(float *)(param_1 + 4) = *param_3; - *(float *)(param_1 + 8) = param_3[1]; - *(float *)(param_1 + 0xc) = param_3[2]; - *(float *)(param_1 + 0x10) = *param_4 - *param_3; - *(float *)(param_1 + 0x14) = param_4[1] - param_3[1]; - *(float *)(param_1 + 0x18) = param_4[2] - param_3[2]; - fVar5 = sqrtf(*(float *)(param_1 + 0x18) * *(float *)(param_1 + 0x18) + - *(float *)(param_1 + 0x10) * *(float *)(param_1 + 0x10) + - *(float *)(param_1 + 0x14) * *(float *)(param_1 + 0x14)); - fVar7 = 1.00000000 / fVar5; - *(float *)(param_1 + 0x10) = *(float *)(param_1 + 0x10) * fVar7; - *(float *)(param_1 + 0x14) = *(float *)(param_1 + 0x14) * fVar7; - *(float *)(param_1 + 0x18) = *(float *)(param_1 + 0x18) * fVar7; - if (param_2 == 0x17) { - fVar7 = 300.00000000; - if (fVar5 <= 300.00000000) goto LAB_7f061a54; - } - else { - fVar7 = flt_80053E88; - if (fVar5 <= flt_80053E88) goto LAB_7f061a54; - } - fVar5 = fVar7; -LAB_7f061a54: - fVar6 = 500.00000000; - *param_1 = 0; - param_1[1] = (char)param_2; - *(float *)(param_1 + 0x1c) = fVar5; - fVar3 = flt_80053EA0; - fVar2 = flt_80053E9C; - fVar7 = flt_80053E8C; - if (500.00000000 <= fVar5) { - fVar6 = fVar5; - } - if (param_2 == 0x16) { - *(float *)(param_1 + 0x20) = fVar6 * 0.25000000; - fVar5 = flt_80053E90 * fVar6; - *(float *)(param_1 + 0x24) = fVar5; - if (fVar7 < fVar5) { - *(float *)(param_1 + 0x24) = fVar7; - } - uVar4 = get_random_value(); - fVar5 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(param_1 + 0x28) = (flt_80053E98 - fVar5 * 0.00000000 * flt_80053E94) * fVar6; - } - else { - if (param_2 == 0x17) { - *(float *)(param_1 + 0x24) = fVar6; - *(float *)(param_1 + 0x20) = fVar6 + fVar6; - if (fVar2 < fVar6) { - *(float *)(param_1 + 0x24) = fVar2; - } - *(undefined4 *)(param_1 + 0x28) = 0; - } - else { - fVar6 = flt_80053EA4 * fVar6; - bVar1 = flt_80053EA0 < fVar6; - *(float *)(param_1 + 0x20) = fVar6; - *(float *)(param_1 + 0x24) = fVar6; - if (bVar1) { - *(float *)(param_1 + 0x24) = fVar3; - } - uVar4 = get_random_value(); - fVar5 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(param_1 + 0x28) = - ((fVar5 * 0.00000000 + fVar5 * 0.00000000) - 1.00000000) * - *(float *)(param_1 + 0x20); - } - } - if (*(float *)(param_1 + 0x1c) <= *(float *)(param_1 + 0x28)) { - *param_1 = 0xff; - } - return; -} - - - -void proc_7F061BF4(int param_1) - -{ - int iVar1; - ITEM_IDS IVar2; - s32 sVar3; - int *piVar4; - int *piVar5; - float fVar6; - float local_2c; - float local_28; - float local_24; - float local_20; - float local_1c; - float local_18; - int local_14; - - piVar5 = &pPlayer->unknown + param_1 * 0xea; - iVar1 = get_BONDdata_field_10CC(); - if ((float)piVar5[0x2d9] <= - -(*(float *)(iVar1 + 0x38) + - (float)piVar5[0x303] * *(float *)(iVar1 + 8) + - (float)piVar5[0x304] * *(float *)(iVar1 + 0x18) + - (float)piVar5[0x305] * *(float *)(iVar1 + 0x28))) { - IVar2 = get_item_in_hand(param_1); - proc_7F061948((undefined *)(piVar5 + 0x295),IVar2,(float *)(piVar5 + 0x2d6), - (float *)(piVar5 + 0x303)); - if ((*(int *)(pPlayer->position_data_pointer + 4) != 0) && - (sVar3 = get_num_players(), 1 < sVar3)) { - piVar4 = &pPlayer->unknown + param_1 * 3; - local_14 = *(int *)(pPlayer->position_data_pointer + 4); - local_20 = (float)piVar5[0x303] - (float)piVar4[0xa86]; - local_1c = (float)piVar5[0x304] - (float)piVar4[0xa87]; - local_18 = (float)piVar5[0x305] - (float)piVar4[0xa88]; - guNormalize(&local_20,&local_1c,&local_18); - local_2c = (float)piVar5[0x303] - (float)piVar5[0x2d6]; - local_28 = (float)piVar5[0x304] - (float)piVar5[0x2d7]; - local_24 = (float)piVar5[0x305] - (float)piVar5[0x2d8]; - guNormalize(&local_2c,&local_28,&local_24); - fVar6 = proc_7F05ACB0(local_24 * local_18 + local_20 * local_2c + local_1c * local_28); - if (fVar6 <= flt_80053EA8) { - IVar2 = get_item_in_hand(param_1); - proc_7F061948((undefined *)(local_14 + param_1 * 0x2c + 0x180),IVar2, - (float *)(&pPlayer->field_2A18 + param_1 * 3), - (float *)(piVar5 + 0x303)); - } - } - } - return; -} - - - -// WARNING: Could not reconcile some variable overlaps - -undefined4 * proc_7F061E18(undefined4 *param_1,char *param_2,int param_3) - -{ - byte bVar1; - undefined4 *puVar2; - xyzpoint *virtualAddress; - float *pfVar3; - u32 uVar4; - char cVar5; - undefined8 extraout_a0; - undefined4 *puVar6; - float fVar7; - float extraout_f12; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - undefined4 *puStackX0; - int iStackX8; - float fStack216; - float fStack212; - float fStack208; - float fStack196; - float fStack192; - float fStack188; - float *pfStack184; - sImageTableEntry *psStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack108; - xyzpoint *pxStack104; - xyzpoint xStack100; - f32 fStack88; - f32 fStack84; - f32 fStack80; - undefined4 uStack76; - float afStack72 [16]; - xyzpoint *pxStack8; - - if (*param_2 < '\0') { - return param_1; - } - fStack88 = dword_80035C98; - fStack84 = dword_80035C9C; - uStack76 = dword_80035CA4; - fStack80 = dword_80035CA0; - puStackX0 = param_1; - iStackX8 = param_3; - pxStack104 = get_BONDdata_position(); - fStack120 = *(float *)(param_2 + 0x28); - fVar12 = *(float *)(param_2 + 0x24); - fStack156 = (float)DAT_80035ca8; - fStack148 = (float)DAT_80035cb0; - fStack152 = (float)DAT_80035cac; - fStack168 = DAT_80035cb4; - fStack164 = DAT_80035cb8; - fStack160 = DAT_80035cbc; - fStack172 = flt_80053EAC; - psStack176 = flareimage3; - pfStack184 = (float *)get_BONDdata_field_10CC(); - if (param_2[1] == '\x16') { - fStack108 = 50.00000000; - psStack176 = flareimage4; - } - else { - if (param_2[1] == '\x17') { - fStack108 = 10.00000000; - psStack176 = flareimage4; - uVar4 = get_random_value(); - uStack76 = (f32)((uint)uStack76 & 0xffffff00 | (uint)(byte)((char)(uVar4 % 0x32) + 0x96) - ); - uVar4 = get_random_value(); - if (uVar4 % 5 != 0) { - xStack100.x = *(float *)(param_2 + 4); - goto LAB_7f061fac; - } - uVar4 = get_random_value(); - cVar5 = -1 - (char)(uVar4 % 100); - uStack76 = (f32)CONCAT13(cVar5,CONCAT12(cVar5,uStack76._2_2_)); - } - else { - fStack108 = 30.00000000; - } - } - xStack100.x = *(float *)(param_2 + 4); -LAB_7f061fac: - xStack100.y = *(float *)(param_2 + 8); - xStack100.z = *(float *)(param_2 + 0xc); - if (0.00000000 < fStack120) { - xStack100.x = xStack100.x + fStack120 * *(float *)(param_2 + 0x10); - xStack100.y = xStack100.y + fStack120 * *(float *)(param_2 + 0x14); - xStack100.z = xStack100.z + fStack120 * *(float *)(param_2 + 0x18); - fVar7 = fStack120; - } - else { - fVar12 = fVar12 + fStack120; - fVar7 = 0.00000000; - } - if (*(float *)(param_2 + 0x1c) < fVar7 + fVar12) { - fVar12 = *(float *)(param_2 + 0x1c) - fVar7; - fVar7 = *(float *)(param_2 + 0x18); - } - else { - fVar7 = *(float *)(param_2 + 0x18); - } - fStack144 = *(float *)(param_2 + 0x14) * ((float)pxStack104->z - (xStack100.z + fVar12 * fVar7)) - - ((float)pxStack104->y - (*(float *)(param_2 + 0x14) * fVar12 + xStack100.y)) * - fVar7; - fStack140 = *(float *)(param_2 + 0x18) * - ((float)pxStack104->x - (xStack100.x + fVar12 * *(float *)(param_2 + 0x10))) - - ((float)pxStack104->z - (*(float *)(param_2 + 0x18) * fVar12 + xStack100.z)) * - *(float *)(param_2 + 0x10); - fStack136 = *(float *)(param_2 + 0x10) * - ((float)pxStack104->y - (xStack100.y + fVar12 * *(float *)(param_2 + 0x14))) - - ((float)pxStack104->x - (*(float *)(param_2 + 0x10) * fVar12 + xStack100.x)) * - *(float *)(param_2 + 0x14); - virtualAddress = pxStack104; - if (((fStack144 == 0.00000000) && (fStack140 == 0.00000000)) && (fStack136 == 0.00000000)) { - fStack144 = 0.00000000; - fStack136 = 0.00000000; - fStack140 = fStack108; - } - else { - guNormalize(&fStack144,&fStack140,&fStack136); - fStack144 = fStack144 * fStack108; - fStack140 = fStack140 * fStack108; - fStack136 = fStack136 * fStack108; - } - fStack132 = *(float *)(param_2 + 0x14) * fStack136 - fStack140 * *(float *)(param_2 + 0x18); - fStack128 = *(float *)(param_2 + 0x18) * fStack144 - fStack136 * *(float *)(param_2 + 0x10); - fStack124 = *(float *)(param_2 + 0x10) * fStack140 - fStack144 * *(float *)(param_2 + 0x14); - guNormalize(&fStack132,&fStack128,&fStack124); - fStack132 = fStack132 * fStack108; - fStack128 = fStack128 * fStack108; - fStack124 = fStack124 * fStack108; - if (param_2[1] == '\x16') { - proc_7F0BD6C4(8); - } - else { - proc_7F0BD6C4(4); - } - pxStack8 = virtualAddress; - proc_7F0BD6E0(); - init_something_copy_posdata_to_it(&xStack100,(int *)afStack72); - matrix_multiply_A1_by_F12(flt_80053EB0,extraout_a0,afStack72); - sub_GAME_7F058098(pfStack184,afStack72); - proc_7F058C9C((int)afStack72,(uint *)pxStack8); - virtualAddress->x = fStack88; - virtualAddress->y = fStack84; - virtualAddress->z = fStack80; - virtualAddress[1].x = uStack76; - virtualAddress[1].y = fStack88; - virtualAddress[1].z = fStack84; - virtualAddress[2].x = fStack80; - virtualAddress[2].y = uStack76; - virtualAddress[2].z = fStack88; - virtualAddress[3].x = fStack84; - virtualAddress[3].y = fStack80; - virtualAddress[3].z = uStack76; - virtualAddress[4].x = fStack88; - virtualAddress[4].y = fStack84; - virtualAddress[4].z = fStack80; - virtualAddress[5].x = uStack76; - cVar5 = param_2[1]; - if (cVar5 == '\x16') { - virtualAddress[5].y = fStack88; - virtualAddress[5].z = fStack84; - virtualAddress[6].x = fStack80; - virtualAddress[6].y = uStack76; - virtualAddress[6].z = fStack88; - virtualAddress[7].x = fStack84; - virtualAddress[7].y = fStack80; - virtualAddress[7].z = uStack76; - virtualAddress[8].x = fStack88; - virtualAddress[8].y = fStack84; - virtualAddress[8].z = fStack80; - virtualAddress[9].x = uStack76; - virtualAddress[9].y = fStack88; - virtualAddress[9].z = fStack84; - virtualAddress[10].x = fStack80; - virtualAddress[10].y = uStack76; - cVar5 = param_2[1]; - } - if (cVar5 == '\x17') { - fStack196 = *(float *)(param_2 + 0x10) * fVar12 + xStack100.x; - fStack192 = *(float *)(param_2 + 0x14) * fVar12 + xStack100.y; - fStack188 = *(float *)(param_2 + 0x18) * fVar12 + xStack100.z; - proc_7F058474(pfStack184,&fStack196); - fStack216 = fStack108 / 10.00000000; - fStack212 = fStack216; - proc_7F0780F0(&fStack216,extraout_f12,(float *)-fStack188); - if (fStack208 < 2.00000000) { - fStack208 = fStack208 * 0.50000000; - fStack196 = fStack196 * fStack208; - fStack192 = fStack192 * fStack208; - fStack188 = fStack188 * fStack208; - } - pfVar3 = (float *)get_BONDdata_field_10D4(); - proc_7F058474(pfVar3,&fStack196); - fStack196 = fStack196 - xStack100.x; - fStack192 = fStack192 - xStack100.y; - fStack156 = fStack196 * 10.00000000; - fStack188 = fStack188 - xStack100.z; - fStack152 = fStack192 * 10.00000000; - fStack148 = fStack188 * 10.00000000; - } - else { - fStack148 = fVar12 * 10.00000000; - fStack156 = *(float *)(param_2 + 0x10) * fStack148; - fStack152 = *(float *)(param_2 + 0x14) * fStack148; - fStack148 = *(float *)(param_2 + 0x18) * fStack148; - } - puVar2 = puStackX0; - *(short *)&virtualAddress->x = (short)(int)fStack144; - *(undefined2 *)((int)&virtualAddress->x + 2) = (short)(int)fStack140; - *(short *)&virtualAddress->y = (short)(int)fStack136; - bVar1 = psStack176->width; - *(undefined2 *)((int)&virtualAddress->z + 2) = 0; - *(ushort *)&virtualAddress->z = (ushort)bVar1 << 5; - *(short *)&virtualAddress[1].y = (short)(int)-fStack144; - *(undefined2 *)((int)&virtualAddress[1].y + 2) = (short)(int)-fStack140; - *(undefined2 *)&virtualAddress[2].x = 0; - *(undefined2 *)((int)&virtualAddress[2].x + 2) = 0; - *(short *)&virtualAddress[1].z = (short)(int)-fStack136; - *(short *)&virtualAddress[2].z = (short)(int)(fStack144 * flt_80053EB4 + fStack156); - *(undefined2 *)((int)&virtualAddress[2].z + 2) = - (short)(int)(fStack140 * flt_80053EB8 + fStack152); - *(short *)&virtualAddress[3].x = (short)(int)(fStack136 * flt_80053EBC + fStack148); - *(ushort *)&virtualAddress[3].y = (ushort)psStack176->width << 5; - *(short *)((int)&virtualAddress[3].y + 2) = (ushort)psStack176->height << 5; - *(short *)&virtualAddress[4].x = (short)(int)(fStack156 - fStack144 * flt_80053EC0); - *(undefined2 *)((int)&virtualAddress[4].x + 2) = - (short)(int)(fStack152 - fStack140 * flt_80053EC4); - fVar7 = flt_80053EC8; - *(undefined2 *)&virtualAddress[4].z = 0; - *(short *)&virtualAddress[4].y = (short)(int)(fStack148 - fStack136 * fVar7); - *(short *)((int)&virtualAddress[4].z + 2) = (ushort)psStack176->height << 5; - if (param_2[1] == '\x16') { - fVar7 = (float)pxStack104->x - xStack100.x; - fVar9 = (float)pxStack104->y - xStack100.y; - fVar11 = (float)pxStack104->z - xStack100.z; - fVar8 = (float)pxStack104->x - (*(float *)(param_2 + 0x10) * fVar12 + xStack100.x); - fVar10 = (float)pxStack104->y - (*(float *)(param_2 + 0x14) * fVar12 + xStack100.y); - fVar12 = (float)pxStack104->z - (*(float *)(param_2 + 0x18) * fVar12 + xStack100.z); - if (fVar8 * fVar8 + fVar10 * fVar10 + fVar12 * fVar12 < - fVar7 * fVar7 + fVar9 * fVar9 + fVar11 * fVar11) { - fStack168 = fStack156; - fStack172 = flt_80053ECC * flt_80053ED0; - fStack164 = fStack152; - fStack160 = fStack148; - } - *(short *)&virtualAddress[5].y = (short)(int)(fStack132 * fStack172 + fStack168); - *(undefined2 *)((int)&virtualAddress[5].y + 2) = - (short)(int)(fStack128 * fStack172 + fStack164); - *(short *)&virtualAddress[5].z = (short)(int)(fStack124 * fStack172 + fStack160); - *(ushort *)&virtualAddress[6].x = (ushort)flareimage5->width << 5; - *(short *)((int)&virtualAddress[6].x + 2) = (ushort)flareimage5->height << 5; - *(short *)&virtualAddress[6].z = (short)(int)(fStack168 - fStack132 * fStack172); - *(undefined2 *)((int)&virtualAddress[6].z + 2) = - (short)(int)(fStack164 - fStack128 * fStack172); - *(undefined2 *)&virtualAddress[7].y = 0; - *(undefined2 *)((int)&virtualAddress[7].y + 2) = 0; - *(short *)&virtualAddress[7].x = (short)(int)(fStack160 - fStack124 * fStack172); - *(short *)&virtualAddress[8].x = (short)(int)(fStack144 * fStack172 + fStack168); - *(undefined2 *)((int)&virtualAddress[8].x + 2) = - (short)(int)(fStack140 * fStack172 + fStack164); - *(undefined2 *)&virtualAddress[8].z = 0; - *(short *)&virtualAddress[8].y = (short)(int)(fStack136 * fStack172 + fStack160); - *(short *)((int)&virtualAddress[8].z + 2) = (ushort)flareimage5->height << 5; - *(short *)&virtualAddress[9].y = (short)(int)(fStack168 - fStack144 * fStack172); - *(undefined2 *)((int)&virtualAddress[9].y + 2) = - (short)(int)(fStack164 - fStack140 * fStack172); - *(short *)&virtualAddress[9].z = (short)(int)(fStack160 - fStack136 * fStack172); - bVar1 = flareimage5->width; - *(undefined2 *)((int)&virtualAddress[10].x + 2) = 0; - *(ushort *)&virtualAddress[10].x = (ushort)bVar1 << 5; - } - puVar6 = puStackX0 + 2; - puStackX0[1] = 0x2000; - *puStackX0 = 0xb6000000; - puStackX0 = puStackX0 + 4; - *puVar6 = 0x1020040; - uVar4 = osVirtualToPhysical(pxStack8); - puVar2[3] = uVar4; - if (param_2[1] == '\x16') { - append_image_to_DL((uint **)register0x000000ec,flareimage5,4,(longlong)iStackX8,2); - puVar2 = puStackX0; - *puStackX0 = 0x4700080; - puStackX0 = puStackX0 + 2; - uVar4 = osVirtualToPhysical(virtualAddress); - puVar2[1] = uVar4; - puStackX0[1] = 0x5454; - *puStackX0 = 0xb1000076; - puStackX0 = puStackX0 + 2; - append_image_to_DL((uint **)register0x000000ec,psStack176,4,(longlong)iStackX8,2); - puStackX0[1] = 0x3020; - *puStackX0 = 0xb1000013; - } - else { - append_image_to_DL((uint **)register0x000000ec,psStack176,4,(longlong)iStackX8,2); - puVar2 = puStackX0; - *puStackX0 = 0x4300040; - puStackX0 = puStackX0 + 2; - uVar4 = osVirtualToPhysical(virtualAddress); - puVar2[1] = uVar4; - puStackX0[1] = 0x3020; - *puStackX0 = 0xb1000013; - } - puStackX0 = puStackX0 + 2; - return puStackX0; -} - - - -void proc_7F062B00(char *param_1) - -{ - u32 uVar1; - float fVar2; - - if (-1 < *param_1) { - if (clock_timer < 3) { - *(float *)(param_1 + 0x28) = - *(float *)(param_1 + 0x28) + *(float *)(param_1 + 0x20) * global_timer_delta; - } - else { - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(param_1 + 0x28) = - *(float *)(param_1 + 0x28) + - *(float *)(param_1 + 0x20) * (fVar2 * 0.00000000 * 0.50000000 + 2.00000000); - } - if (*(float *)(param_1 + 0x1c) <= *(float *)(param_1 + 0x28)) { - *param_1 = -1; - } - else { - *param_1 = *param_1 + '\x01'; - } - } - return; -} - - - -void proc_7F062BE4(undefined4 *param_1) - -{ - ITEM_IDS item; - undefined4 *puVar2; - undefined4 uVar3; - uint uVar4; - int iVar5; - ulonglong uVar1; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - undefined4 *puVar9; - int iVar10; - HAND hand; - int iVar11; - undefined4 uStack68; - undefined4 uStack64; - undefined4 *puStack56; - undefined4 uStack20; - uint uStack16; - undefined4 uStack8; - - puVar2 = (undefined4 *)*param_1; - puVar9 = &DAT_80035cc0; - puVar6 = &uStack68; - do { - puVar8 = puVar9 + 3; - puVar7 = puVar6 + 3; - *puVar6 = *puVar9; - puVar6[1] = puVar9[1]; - puVar6[2] = puVar9[2]; - puVar9 = puVar8; - puVar6 = puVar7; - } while (puVar8 != (undefined4 *)0x80035cfc); - hand = HAND_RIGHT; - iVar11 = 0; - *puVar7 = uRam80035cfc; - do { - iVar10 = (int)&pPlayer->unknown + iVar11; - item = return_ammo_in_hand(hand); - if (*(char *)(iVar10 + 0x87f) != '\0') { - if (item != ITEM_WATCHLASER) { - puVar2 = proc_7F061E18(puVar2,(char *)(iVar10 + 0xa54),0); - } - if (((((item == ITEM_GOLDENGUN) || (item == ITEM_RUGER)) || (item == ITEM_KNIFE)) || - ((item == ITEM_THROWKNIFE || (item == ITEM_SILVERWPPK)))) || (item == ITEM_GOLDWPPK) - ) { - *puVar2 = 0xbc000002; - puVar2[1] = 0x80000040; - puVar2[2] = 0x3860010; - puVar2[3] = 0x80032448; - puVar2[4] = 0x3880010; - puVar2[5] = 0x80032440; - puVar2[6] = 0x3840010; - uVar3 = get_BONDdata_field_10E4(); - puVar2[7] = uVar3; - puVar2[8] = 0x3820010; - iVar5 = get_BONDdata_field_10E4(); - puVar2[9] = iVar5 + 0x10; - puVar2 = puVar2 + 10; - } - *puVar2 = 0xbc00000e; - puVar9 = puVar2 + 2; - uVar4 = proc_7F05997C(0.00000000,300.00000000); - puVar2[1] = uVar4; - if (0x10 < *(short *)(*(int *)(iVar10 + 0xb70) + 0xc)) { - iVar5 = *(int *)(*(int *)(iVar10 + 0xb70) + 8); - if (*(int *)(iVar5 + 0x40) != 0) { - puVar2 = (undefined4 *) - extract_id_from_object_structure_microcode - (iVar10 + 0xb68,*(ushort **)(iVar5 + 0x44)); - if (puVar2 != NULL) { - *puVar2 = 1; - } - if (item == ITEM_ROCKETLAUNCH) { - save_img_index_to_obj_ani_slot((int)&DAT_80075c10,crosshairimage); - puVar9 = (undefined4 *)process_monitor_animation_microcode(); - } - else { - puVar9 = (undefined4 *)process_monitor_animation_microcode(); - } - } - } - uStack20 = 4; - uStack16 = (uint)(byte)pPlayer->field_FDF | (uint)(byte)pPlayer->field_FDC << 0x18 | - (uint)(byte)pPlayer->field_FDD << 0x10 | (uint)(byte)pPlayer->field_FDE << 8; - uStack64 = 0; - puStack56 = puVar9; - proc_7F058C64(); - if ((item == ITEM_ROCKETLAUNCH) && (*(int *)(iVar10 + 0xa90) != 0)) { - uVar4 = *(uint *)(*(int *)(iVar10 + 0xa90) + 0x14); - subdraw((int)&uStack68,uVar4,extraout_a2_lo,extraout_a3_lo); - proc_7F08BD48(*(undefined4 **)(uVar4 + 0xc), - (int)*(short *)(*(int *)(uVar4 + 8) + 0xe)); - if (*(int *)(iVar10 + 0xa94) != 0) { - *(undefined4 *)(iVar10 + 0xa90) = 0; - } - } - iVar5 = check_special_attributes(item,0x400); - if (iVar5 != 0) { - puStack56[1] = 0x3000; - *puStack56 = 0xb6000000; - if (hand == HAND_RIGHT) { - uStack8 = 3; - puStack56 = puStack56 + 2; - } - else { - uStack8 = 2; - puStack56 = puStack56 + 2; - } - } - subdraw((int)&uStack68,iVar10 + 0xb68,extraout_a2_lo_00,extraout_a3_lo_00); - puVar9 = puStack56; - iVar5 = check_special_attributes(item,0x400); - if (iVar5 != 0) { - puVar9[1] = 0x3000; - *puVar9 = 0xb6000000; - puVar9 = puVar9 + 2; - } - proc_7F08BD48(*(undefined4 **)(iVar10 + 0xb74), - (int)*(short *)(*(int *)(iVar10 + 0xb70) + 0xe)); - proc_7F058C88(); - *puVar9 = 0xbc00000e; - puVar2 = puVar9 + 2; - uVar1 = get_80060824(); - puVar9[1] = (int)uVar1; - if (item == ITEM_WATCHLASER) { - puVar2 = proc_7F061E18(puVar2,(char *)(iVar10 + 0xa54),0); - } - } - hand += HAND_LEFT; - iVar11 += 0x3a8; - } while (hand != 2); - *(undefined4 **)param_1 = puVar2; - return; -} - - - -undefined4 * -set_enviro_fog_for_items_in_solo_watch_menu - (undefined4 *DL,longlong param_2,float *buffer,int param_4,int rgba) - -{ - ushort *partdesc; - xyzpoint *posdata; - Player *pPVar1; - ulonglong uVar2; - int iVar3; - float (*pafVar4) [4]; - short sVar6; - undefined4 uVar5; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 uVar7; - int iVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - int weapon; - longlong lVar13; - object_header *objheader; - undefined4 *puStackX0; - float afStack292 [17]; - undefined auStack224 [128]; - undefined auStack96 [12]; - float (*pafStack84) [4]; - undefined4 uStack64; - undefined4 uStack60; - undefined4 *puStack52; - undefined4 uStack16; - int iStack12; - int iStack8; - - weapon = (int)param_2; - puVar11 = &DAT_80035d00; - puVar9 = &uStack64; - do { - puVar12 = puVar11 + 3; - puVar10 = puVar9 + 3; - *puVar9 = *puVar11; - puVar9[1] = puVar11[1]; - puVar9[2] = puVar11[2]; - puVar11 = puVar12; - puVar9 = puVar10; - } while (puVar12 != (undefined4 *)0x80035d3c); - *puVar10 = uRam80035d3c; - if ((param_2 == 0x1e) || (param_2 == 0x17)) { - weapon = 0x3c; - } - proc_7F05DA8C(0,weapon); - uVar2 = proc_7F05CEBC(0); - if ((uVar2 != 0) && (iVar3 = get_itemtype_in_hand(HAND_RIGHT), pPVar1 = pPlayer, iVar3 != 0)) { - objheader = (object_header *)pPlayer->copy_of_body_obj_header; - iVar3 = get_ptr_weapon_model_header_line(weapon); - if ((iVar3 != 0) && - (pafVar4 = (float (*) [4])check_special_attributes(weapon,0x4000), pafVar4 == NULL)) { - proc_7F0BD714((int)*(short *)((int)pPVar1->copy_of_body_obj_header + 0xe) << 6); - lVar13 = 0; - iVar3 = 0; - if (0 < *(short *)((int)pPVar1->copy_of_body_obj_header + 0xe)) { - while( true ) { - guMtxIdentF_unrolled((float (*) [4] [4])((int)*pafVar4 + iVar3)); - iVar3 = (int)lVar13 + 1; - lVar13 = (longlong)iVar3; - if (*(short *)((int)pPVar1->copy_of_body_obj_header + 0xe) <= lVar13) break; - iVar3 *= 0x40; - } - } - lVar13 = 0; - pafStack84 = pafVar4; - set_objuse_flag_compute_grp_nums_set_obj_loaded(objheader); - proc_7F075F68((int)auStack96,(ushort **)objheader,auStack224); - proc_7F05E978((int)auStack96,0); - proc_7F05EA94((int)auStack96,1); - partdesc = *(ushort **)(pPVar1->copy_of_body_obj_header[2] + 4); - if ((partdesc != NULL) && - (puVar11 = (undefined4 *) - extract_id_from_object_structure_microcode((int)auStack96,partdesc), - puVar11 != NULL)) { - *puVar11 = 0; - } - proc_7F058020((float (*) [4] [4])buffer,pafVar4); - if ((item_related *)pPVar1->copy_of_body_obj_header[1] == &weapon_gun_revolver) { - iVar3 = *(int *)(pPVar1->copy_of_body_obj_header[2] + 0x10); - if (iVar3 == 0) { - iVar3 = *(int *)(pPVar1->copy_of_body_obj_header[2] + 0x14); - } - else { - init_something_copy_posdata_to_it(*(xyzpoint **)(iVar3 + 4),(int *)afStack292); - proc_7F0580C8(buffer,afStack292,(int)(pafVar4 + 0xc)); - iVar3 = *(int *)(pPVar1->copy_of_body_obj_header[2] + 0x14); - } - if (iVar3 == 0) { - iVar3 = pPVar1->copy_of_body_obj_header[2]; - } - else { - init_something_copy_posdata_to_it(*(xyzpoint **)(iVar3 + 4),(int *)afStack292); - proc_7F0580C8(buffer,afStack292,(int)(pafVar4 + 0x10)); - iVar3 = pPVar1->copy_of_body_obj_header[2]; - } - } - else { - iVar3 = pPVar1->copy_of_body_obj_header[2]; - } - partdesc = *(ushort **)(iVar3 + 0x18); - if (partdesc == NULL) { - partdesc = *(ushort **)(iVar3 + 0x1c); - } - else { - posdata = *(xyzpoint **)(partdesc + 2); - sVar6 = proc_7F06C570(partdesc,0); - init_something_copy_posdata_to_it(posdata,(int *)afStack292); - proc_7F0580C8(buffer,afStack292,(int)(pafVar4 + (int)sVar6 * 4)); - partdesc = *(ushort **)(pPVar1->copy_of_body_obj_header[2] + 0x1c); - } - if (partdesc == NULL) { - sVar6 = *(short *)(pPVar1->copy_of_body_obj_header + 3); - } - else { - posdata = *(xyzpoint **)(partdesc + 2); - sVar6 = proc_7F06C570(partdesc,0); - init_something_copy_posdata_to_it(posdata,(int *)afStack292); - proc_7F0580C8(buffer,afStack292,(int)(pafVar4 + (int)sVar6 * 4)); - sVar6 = *(short *)(pPVar1->copy_of_body_obj_header + 3); - } - iVar3 = 0; - if (0x12 < sVar6) { - iVar8 = pPVar1->copy_of_body_obj_header[2]; - while( true ) { - partdesc = *(ushort **)(iVar8 + iVar3 + 0x48); - if (partdesc == NULL) { - iVar8 = pPVar1->copy_of_body_obj_header[2]; - } - else { - puVar11 = (undefined4 *) - extract_id_from_object_structure_microcode - ((int)auStack96,partdesc); - if (puVar11 != NULL) { - *puVar11 = 1; - } - iVar8 = pPVar1->copy_of_body_obj_header[2]; - } - partdesc = *(ushort **)(iVar8 + iVar3 + 0x5c); - if ((partdesc != NULL) && - (puVar11 = (undefined4 *) - extract_id_from_object_structure_microcode - ((int)auStack96,partdesc), puVar11 != NULL)) { - *puVar11 = 1; - } - iVar3 += 4; - if (iVar3 == 0x14) break; - iVar8 = pPVar1->copy_of_body_obj_header[2]; - } - } - proc_7F06EFC4((int)auStack96); - if (((((weapon == 0x13) || (weapon == 0x12)) || (weapon == 2)) || - ((weapon == 3 || (weapon == 0x14)))) || (weapon == 0x15)) { - DL[1] = 0x80000040; - *DL = 0xbc000002; - DL[2] = 0x3860010; - DL[3] = 0x80032448; - DL[4] = 0x3880010; - DL[5] = 0x80032440; - DL[6] = 0x3840010; - uVar5 = get_BONDdata_field_10E4(); - DL[7] = uVar5; - puStackX0 = DL + 10; - DL[8] = 0x3820010; - weapon = get_BONDdata_field_10E4(); - DL[9] = weapon + 0x10; - sVar6 = *(short *)(pPVar1->copy_of_body_obj_header + 3); - uVar5 = extraout_a2_lo_00; - uVar7 = extraout_a3_lo_00; - } - else { - sVar6 = *(short *)(pPVar1->copy_of_body_obj_header + 3); - uVar5 = extraout_a2_lo; - uVar7 = extraout_a3_lo; - puStackX0 = DL; - } - if (((0x10 < sVar6) && (*(int *)(pPVar1->copy_of_body_obj_header[2] + 0x40) != 0)) && - (puVar11 = (undefined4 *) - extract_id_from_object_structure_microcode - ((int)auStack96, - *(ushort **)(pPVar1->copy_of_body_obj_header[2] + 0x44)), - uVar5 = extraout_a2_lo_01, uVar7 = extraout_a3_lo_01, puVar11 != NULL)) { - *puVar11 = 0; - } - puStack52 = puStackX0; - if (param_4 < 0xff) { - uStack16 = 5; - iStack8 = rgba; - iStack12 = param_4; - } - else { - uStack16 = 4; - iStack12 = rgba; - } - uStack60 = 0; - subdraw((int)&uStack64,(uint)auStack96,uVar5,uVar7); - DL = puStack52; - proc_7F058C64(); - weapon = 0; - if (0 < *(short *)((int)pPVar1->copy_of_body_obj_header + 0xe)) { - do { - proc_7F058020((float (*) [4] [4])((int)*pafStack84 + weapon), - (float (*) [4])afStack292); - proc_7F058C9C((int)afStack292,(uint *)(pafStack84 + (int)lVar13 * 4)); - lVar13 = (longlong)((int)lVar13 + 1); - weapon += 0x40; - } while (lVar13 < *(short *)((int)pPVar1->copy_of_body_obj_header + 0xe)); - } - proc_7F058C88(); - } - } - return DL; -} - - - -undefined4 * proc_7F0634D8(undefined4 *param_1,longlong param_2,float *param_3,int param_4) - -{ - undefined4 *puVar1; - - puVar1 = set_enviro_fog_for_items_in_solo_watch_menu(param_1,param_2,param_3,param_4,-0x100); - return puVar1; -} - - - -undefined4 * proc_7F0634FC(undefined4 *param_1,longlong param_2,float *param_3) - -{ - undefined4 *puVar1; - - puVar1 = proc_7F0634D8(param_1,param_2,param_3,0xff); - return puVar1; -} - - - -void proc_7F06351C(undefined4 *param_1,float *param_2,float *param_3,float *param_4, - undefined4 *param_5,float *param_6,float *param_7) - -{ - float afStack64 [16]; - - init_something_copy_posdata_to_it((xyzpoint *)param_1,(int *)param_7); - proc_7F058068(param_2,param_7); - proc_7F058068(param_3,param_7); - proc_7F058068(param_4,param_7); - init_something_copy_posdata_to_it((xyzpoint *)param_5,(int *)afStack64); - proc_7F058068(afStack64,param_7); - proc_7F058068(param_6,param_7); - return; -} - - - -undefined4 -proc_7F06359C(undefined4 param_1,float *param_2,longlong param_3,longlong param_4,int param_5, - char *param_6) - -{ - xyzpoint *posdata; - ushort *partdesc; - float fVar1; - ulonglong uVar2; - int iVar4; - longlong lVar3; - s32 sVar5; - u32 uVar6; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 extraout_a0_05; - undefined8 extraout_a0_06; - undefined8 extraout_a0_07; - undefined8 extraout_a0_08; - undefined8 extraout_a0_09; - undefined8 extraout_a0_10; - undefined8 extraout_a0_11; - undefined8 extraout_a0_12; - undefined8 extraout_a0_13; - undefined8 extraout_a0_14; - undefined8 extraout_a0_15; - undefined8 extraout_a0_16; - undefined8 extraout_a0_17; - undefined8 extraout_a0_18; - undefined8 extraout_a0_19; - undefined8 extraout_a0_20; - undefined8 uVar7; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 *puVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - longlong lVar12; - float (*pafVar13) [4]; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float extraout_f12_09; - float extraout_f12_10; - float extraout_f12_11; - float extraout_f12_12; - float extraout_f12_13; - float fVar14; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - float extraout_f14_05; - float extraout_f14_06; - float extraout_f14_07; - float extraout_f14_08; - float extraout_f14_09; - float extraout_f14_10; - float extraout_f14_11; - float extraout_f14_12; - float extraout_f14_13; - float fVar15; - int iStack1224; - undefined4 uStack1216; - undefined4 uStack1212; - undefined4 uStack1208; - undefined4 uStack1204; - undefined4 uStack1200; - undefined4 uStack1196; - undefined4 uStack1192; - float fStack1188; - undefined4 uStack1184; - undefined4 uStack1180; - undefined4 uStack1176; - undefined4 uStack1172; - undefined4 uStack1168; - undefined4 uStack1164; - undefined4 uStack1160; - float afStack1156 [16]; - undefined4 uStack1092; - undefined4 uStack1088; - undefined4 uStack1084; - undefined4 uStack1080; - undefined4 uStack1076; - undefined4 uStack1072; - undefined4 uStack1068; - undefined4 uStack1064; - undefined4 uStack1060; - undefined4 uStack1056; - float fStack1052; - undefined4 uStack1048; - undefined4 uStack1044; - undefined4 uStack1040; - undefined4 uStack1036; - undefined4 uStack1032; - float fStack1028; - undefined4 uStack1024; - undefined4 uStack1020; - undefined4 uStack1016; - undefined4 uStack1012; - undefined4 uStack1008; - float fStack1004; - undefined4 uStack1000; - undefined4 uStack996; - undefined4 uStack992; - undefined4 uStack988; - undefined4 uStack984; - float fStack980; - undefined4 uStack976; - undefined4 uStack972; - undefined4 uStack968; - undefined4 uStack964; - undefined4 uStack960; - float fStack956; - undefined4 uStack952; - undefined4 uStack948; - undefined4 uStack944; - undefined4 uStack940; - undefined4 uStack936; - float fStack932; - undefined4 uStack928; - undefined4 uStack924; - undefined4 uStack920; - undefined4 uStack916; - undefined4 uStack912; - undefined4 uStack908; - undefined4 uStack904; - undefined4 uStack900; - undefined4 uStack896; - undefined4 uStack892; - xyzpoint xStack888; - float afStack876 [16]; - float afStack812 [16]; - float afStack748 [16]; - float afStack684 [16]; - float afStack620 [16]; - float afStack556 [16]; - float afStack492 [16]; - float afStack428 [19]; - object_header *poStack352; - float afStack348 [16]; - float afStack284 [17]; - undefined auStack216 [120]; - undefined auStack96 [12]; - float (*pafStack84) [4]; - undefined4 uStack64; - undefined4 uStack60; - undefined4 uStack52; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - - puVar10 = &DAT_80035d40; - puVar8 = &uStack64; - do { - puVar11 = puVar10 + 3; - puVar9 = puVar8 + 3; - *puVar8 = *puVar10; - puVar8[1] = puVar10[1]; - puVar8[2] = puVar10[2]; - puVar10 = puVar11; - puVar8 = puVar9; - } while (puVar11 != (undefined4 *)0x80035d7c); - *puVar9 = uRam80035d7c; - proc_7F05DA8C(0,0x55); - uVar2 = proc_7F05CEBC(0); - if ((uVar2 != 0) && (iVar4 = get_itemtype_in_hand(HAND_RIGHT), iVar4 != 0)) { - poStack352 = (object_header *)pPlayer->copy_of_body_obj_header; - lVar3 = (longlong)(int)poStack352; - proc_7F0BD714((int)*(short *)((int)pPlayer->copy_of_body_obj_header + 0xe) << 6); - lVar12 = lVar3; - set_objuse_flag_compute_grp_nums_set_obj_loaded(poStack352); - proc_7F075F68((int)auStack96,(ushort **)poStack352,auStack216); - pafVar13 = (float (*) [4])lVar3; - pafStack84 = pafVar13; - proc_7F058020((float (*) [4] [4])param_2,pafVar13); - iStack1224 = 4; - iVar4 = 1; - do { - posdata = *(xyzpoint **)(*(int *)(poStack352->offset_obj_offset_block + iStack1224) + 4) - ; - if (iVar4 == 2) { - sVar5 = get_cur_controller_horz_stick_pos(*param_6); - proc_7F058688((-(float)sVar5 * flt_80053ED4 * flt_80053ED8) / 360.00000000, - extraout_a0,afStack284); - sVar5 = get_cur_controller_vert_stick_pos(*param_6); - lVar12 = (longlong)sVar5; - proc_7F058570((-(float)sVar5 * flt_80053EDC * flt_80053EE0) / 360.00000000, - extraout_a0_00,afStack348); - proc_7F058068(afStack348,afStack284); - copies_first_3_floats_from_a0_to_a1_plus_0x30(posdata,(int)afStack284); - } - else { - init_something_copy_posdata_to_it(posdata,(int *)afStack284); - } - proc_7F0580C8(param_2,afStack284,(int)(pafVar13 + iVar4 * 4)); - iVar4 += 1; - iStack1224 += 4; - } while (iVar4 < 0xd); - proc_7F06EFC4((int)auStack96); - if (param_3 < 0xff) { - uStack16 = 5; - uStack12 = (undefined4)param_3; - uStack8 = 0xffffff00; - } - else { - uStack16 = 1; - } - uStack60 = 1; - uStack52 = param_1; - subdraw((int)&uStack64,(uint)auStack96,extraout_a2_lo,extraout_a3_lo); - param_1 = uStack52; - proc_7F058C64(); - puVar10 = (undefined4 *)lVar12; - lVar3 = 0; - iVar4 = 0; - if (0 < poStack352->num_object_grps) { - do { - proc_7F058020((float (*) [4] [4])((int)*pafStack84 + iVar4), - (float (*) [4])afStack284); - proc_7F058C9C((int)afStack284,(uint *)(pafStack84 + (int)lVar3 * 4)); - puVar10 = (undefined4 *)lVar12; - lVar3 = (longlong)((int)lVar3 + 1); - iVar4 += 0x40; - } while (lVar3 < poStack352->num_object_grps); - } - proc_7F058C88(); - if (param_4 != 0) { - iVar4 = 0; - partdesc = *(ushort **)(poStack352->offset_obj_offset_block + 0x34); - if (partdesc != NULL) { - puVar10 = (undefined4 *) - extract_id_from_object_structure_microcode((int)auStack96,partdesc); - *puVar10 = 0; - } - proc_7F0BD714((int)poStack352->num_object_grps << 6); - fVar1 = flt_80053EE4; - fVar14 = extraout_f12; - fVar15 = extraout_f14; - pafStack84 = (float (*) [4])puVar10; - do { - proc_7F059694(afStack812,fVar14,fVar15,-5.00000000,2000.00000000,-168.00000000, - -5.00000000,0.00000000,-168.00000000,0.00000000); - proc_7F059694((float *)(float (*) [4] [4])afStack428,extraout_f12_00,extraout_f14_00 - ,-5.00000000,2000.00000000,-168.00000000,-5.00000000,0.00000000, - -168.00000000,0.00000000); - guMtxIdentF_unrolled((float (*) [4] [4])afStack748); - guMtxIdentF_unrolled((float (*) [4] [4])afStack876); - proc_7F058020((float (*) [4] [4])afStack876,(float (*) [4])afStack620); - if (iVar4 == 2) { - xStack888.x = *(f32 *)(param_5 + 0x58); - xStack888.y = *(f32 *)(param_5 + 0x5c); - xStack888.z = *(f32 *)(param_5 + 0x60); - init_something_copy_posdata_to_it(&xStack888,(int *)afStack492); - sVar5 = get_cur_controller_horz_stick_pos(*param_6); - proc_7F058688((-(float)sVar5 * flt_80053EE8 * flt_80053EEC) / 360.00000000, - extraout_a0_01,afStack284); - sVar5 = get_cur_controller_vert_stick_pos(*param_6); - proc_7F058570((-(float)sVar5 * flt_80053EF0 * flt_80053EF4) / 360.00000000, - extraout_a0_02,afStack348); - proc_7F058068(afStack348,afStack284); - proc_7F058068(afStack492,afStack284); - proc_7F0580C8(afStack812,afStack284,(int)afStack556); - proc_7F058020((float (*) [4] [4])afStack556,(float (*) [4])(puVar10 + 0x20)); - fVar14 = extraout_f12_01; - fVar15 = extraout_f14_01; - } - else { - if (iVar4 == 0xb) { - uStack912 = DAT_80035d80; - uStack908 = DAT_80035d84; - uStack904 = DAT_80035d88; - uStack900 = *(undefined4 *)(param_5 + 0xc4); - uStack896 = *(undefined4 *)(param_5 + 200); - uStack892 = *(undefined4 *)(param_5 + 0xcc); - uVar6 = get_controller_buttons_held(*param_6,R_TRIG); - uVar7 = extraout_a0_03; - if (uVar6 != 0) { - proc_7F0585FC(flt_80053EF8,extraout_a0_03, - (float *)(float (*) [4] [4])afStack748); - uVar7 = extraout_a0_04; - } - proc_7F058570(flt_80053EFC,uVar7,afStack684); - proc_7F06351C(&uStack912,(float *)(float (*) [4] [4])afStack748,afStack684, - (float *)(float (*) [4] [4])afStack876,&uStack900,afStack812, - (float *)(float (*) [4] [4])afStack428); - proc_7F058020((float (*) [4] [4])afStack428,(float (*) [4])(puVar10 + 0xb0)) - ; - fVar14 = extraout_f12_02; - fVar15 = extraout_f14_02; - } - else { - if (iVar4 == 4) { - uStack936 = DAT_80035d8c; - fStack932 = DAT_80035d90; - uStack928 = DAT_80035d94; - uStack924 = *(undefined4 *)(param_5 + 0x70); - uStack920 = *(undefined4 *)(param_5 + 0x74); - uStack916 = *(undefined4 *)(param_5 + 0x78); - uVar6 = get_controller_buttons_held(*param_6,U_CBUTTONS); - if (uVar6 != 0) { - fStack932 = fStack932 + -10.00000000; - } - proc_7F058570(fVar1,extraout_a0_05,afStack684); - proc_7F06351C(&uStack936,(float *)(float (*) [4] [4])afStack748, - afStack684,(float *)(float (*) [4] [4])afStack876, - &uStack924,afStack812, - (float *)(float (*) [4] [4])afStack428); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4])(puVar10 + 0x40)); - fVar14 = extraout_f12_03; - fVar15 = extraout_f14_03; - } - else { - if (iVar4 == 5) { - uStack960 = DAT_80035d98; - fStack956 = DAT_80035d9c; - uStack952 = DAT_80035da0; - uStack948 = *(undefined4 *)(param_5 + 0x7c); - uStack944 = *(undefined4 *)(param_5 + 0x80); - uStack940 = *(undefined4 *)(param_5 + 0x84); - uVar6 = get_controller_buttons_held(*param_6,D_CBUTTONS); - if (uVar6 != 0) { - fStack956 = fStack956 + -10.00000000; - } - proc_7F058570(fVar1,extraout_a0_06,afStack684); - proc_7F06351C(&uStack960,(float *)(float (*) [4] [4])afStack748, - afStack684,(float *)(float (*) [4] [4])afStack876, - &uStack948,afStack812, - (float *)(float (*) [4] [4])afStack428); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4])(puVar10 + 0x50)); - fVar14 = extraout_f12_04; - fVar15 = extraout_f14_04; - } - else { - if (iVar4 == 6) { - uStack984 = DAT_80035da4; - fStack980 = DAT_80035da8; - uStack976 = DAT_80035dac; - uStack972 = *(undefined4 *)(param_5 + 0x88); - uStack968 = *(undefined4 *)(param_5 + 0x8c); - uStack964 = *(undefined4 *)(param_5 + 0x90); - uVar6 = get_controller_buttons_held(*param_6,L_CBUTTONS); - if (uVar6 != 0) { - fStack980 = fStack980 + -10.00000000; - } - proc_7F058570(fVar1,extraout_a0_07,afStack684); - proc_7F06351C(&uStack984,(float *)(float (*) [4] [4])afStack748, - afStack684,(float *)(float (*) [4] [4])afStack876, - &uStack972,afStack812, - (float *)(float (*) [4] [4])afStack428); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4])(puVar10 + 0x60)); - fVar14 = extraout_f12_05; - fVar15 = extraout_f14_05; - } - else { - if (iVar4 == 7) { - uStack1008 = DAT_80035db0; - fStack1004 = DAT_80035db4; - uStack1000 = DAT_80035db8; - uStack996 = *(undefined4 *)(param_5 + 0x94); - uStack992 = *(undefined4 *)(param_5 + 0x98); - uStack988 = *(undefined4 *)(param_5 + 0x9c); - uVar6 = get_controller_buttons_held(*param_6,R_CBUTTONS); - if (uVar6 != 0) { - fStack1004 = fStack1004 + -10.00000000; - } - proc_7F058570(fVar1,extraout_a0_08,afStack684); - proc_7F06351C(&uStack1008, - (float *)(float (*) [4] [4])afStack748, - afStack684, - (float *)(float (*) [4] [4])afStack876, - &uStack996,afStack812, - (float *)(float (*) [4] [4])afStack428); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4])(puVar10 + 0x70)); - fVar14 = extraout_f12_06; - fVar15 = extraout_f14_06; - } - else { - if (iVar4 == 9) { - uStack1032 = DAT_80035dbc; - fStack1028 = DAT_80035dc0; - uStack1024 = DAT_80035dc4; - uStack1020 = *(undefined4 *)(param_5 + 0xac); - uStack1016 = *(undefined4 *)(param_5 + 0xb0); - uStack1012 = *(undefined4 *)(param_5 + 0xb4); - uVar6 = get_controller_buttons_held(*param_6,B_BUTTON); - if (uVar6 != 0) { - fStack1028 = fStack1028 + -10.00000000; - } - proc_7F058570(fVar1,extraout_a0_09,afStack684); - proc_7F06351C(&uStack1032, - (float *)(float (*) [4] [4])afStack748, - afStack684, - (float *)(float (*) [4] [4])afStack876, - &uStack1020,afStack812, - (float *)(float (*) [4] [4])afStack428); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4])(puVar10 + 0x90)); - fVar14 = extraout_f12_07; - fVar15 = extraout_f14_07; - } - else { - if (iVar4 == 8) { - uStack1056 = DAT_80035dc8; - fStack1052 = DAT_80035dcc; - uStack1048 = DAT_80035dd0; - uStack1044 = *(undefined4 *)(param_5 + 0xa0); - uStack1040 = *(undefined4 *)(param_5 + 0xa4); - uStack1036 = *(undefined4 *)(param_5 + 0xa8); - uVar6 = get_controller_buttons_held - (*param_6,A_BUTTON); - if (uVar6 != 0) { - fStack1052 = fStack1052 + -10.00000000; - } - proc_7F058570(fVar1,extraout_a0_10,afStack684); - proc_7F06351C(&uStack1056, - (float *)(float (*) [4] [4])afStack748 - ,afStack684, - (float *)(float (*) [4] [4])afStack876 - ,&uStack1044,afStack812, - (float *)(float (*) [4] [4])afStack428 - ); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4])(puVar10 + 0x80)); - fVar14 = extraout_f12_08; - fVar15 = extraout_f14_08; - } - else { - if (iVar4 == 10) { - uStack1080 = DAT_80035dd4; - uStack1076 = DAT_80035dd8; - uStack1072 = DAT_80035ddc; - uStack1068 = *(undefined4 *)(param_5 + 0xb8); - uStack1064 = *(undefined4 *)(param_5 + 0xbc); - uStack1060 = *(undefined4 *)(param_5 + 0xc0); - uVar6 = get_controller_buttons_held - (*param_6,L_TRIG); - uVar7 = extraout_a0_11; - if (uVar6 != 0) { - proc_7F0585FC(flt_80053F00,extraout_a0_11, - (float *)(float (*) [4] [4]) - afStack748); - uVar7 = extraout_a0_12; - } - proc_7F058570(flt_80053F04,uVar7,afStack684); - proc_7F06351C(&uStack1080, - (float *)(float (*) [4] [4]) - afStack748,afStack684, - (float *)(float (*) [4] [4]) - afStack876,&uStack1068, - afStack812, - (float *)(float (*) [4] [4]) - afStack428); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4])(puVar10 + 0xa0)); - fVar14 = extraout_f12_09; - fVar15 = extraout_f14_09; - } - else { - if (iVar4 == 3) { - uStack1168 = DAT_80035de0; - uStack1164 = DAT_80035de4; - uStack1160 = DAT_80035de8; - uStack1092 = *(undefined4 *)(param_5 + 100); - uStack1088 = *(undefined4 *)(param_5 + 0x68) - ; - uStack1084 = *(undefined4 *)(param_5 + 0x6c) - ; - guMtxIdentF_unrolled - ((float (*) [4] [4])afStack1156); - uVar6 = get_controller_buttons_held - (*param_6,U_JPAD); - if (uVar6 == 0) { - uVar6 = get_controller_buttons_held - (*param_6,D_JPAD); - if (uVar6 != 0) { - proc_7F058570(flt_80053F0C, - extraout_a0_14, - (undefined4 *) - (float (*) [4] [4]) - afStack748); - } - extraout_a0_15._7_1_ = *param_6; - } - else { - proc_7F058570(flt_80053F08, - extraout_a0_13, - (undefined4 *) - (float (*) [4] [4]) - afStack748); - extraout_a0_15._7_1_ = *param_6; - } - uVar6 = get_controller_buttons_held - ((char)extraout_a0_15, - L_JPAD); - if (uVar6 == 0) { - uVar6 = get_controller_buttons_held - (*param_6,R_JPAD); - if (uVar6 != 0) { - proc_7F058688(flt_80053F14, - extraout_a0_16, - afStack1156); - } - } - else { - proc_7F058688(flt_80053F10, - extraout_a0_15,afStack1156 - ); - } - proc_7F058068(afStack1156, - (float *)(float (*) [4] [4]) - afStack748); - proc_7F058570(flt_80053F18,extraout_a0_17, - afStack684); - proc_7F06351C(&uStack1168, - (float *)(float (*) [4] [4]) - afStack748,afStack684 - ,(float *)(float (*) [4] [4]) - afStack876, - &uStack1092,afStack812, - (float *)(float (*) [4] [4]) - afStack428); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4]) - (puVar10 + 0x30)); - fVar14 = extraout_f12_10; - fVar15 = extraout_f14_10; - } - else { - if (iVar4 == 1) { - uStack1192 = DAT_80035dec; - fStack1188 = DAT_80035df0; - uStack1184 = DAT_80035df4; - uStack1180 = *(undefined4 *) - (param_5 + 0x4c); - uStack1176 = *(undefined4 *) - (param_5 + 0x50); - uStack1172 = *(undefined4 *) - (param_5 + 0x54); - uVar6 = get_controller_buttons_held - (*param_6,START_BUTTON - ); - if (uVar6 != 0) { - fStack1188 = fStack1188 + - -10.00000000; - } - proc_7F058570(fVar1,extraout_a0_18, - afStack684); - proc_7F06351C(&uStack1192, - (float *)(float (*) [4] [4 - ])afStack748,afStack684, - (float *)(float (*) [4] [4])afStack876,&uStack1180 - ,afStack812,(float *)(float (*) [4] [4])afStack428 - ); - proc_7F058020((float (*) [4] [4])afStack428, - (float (*) [4])(puVar10 + 0x10)); - fVar14 = extraout_f12_11; - fVar15 = extraout_f14_11; - } - else { - if (iVar4 == 0xc) { - uStack1216 = DAT_80035df8; - uStack1212 = DAT_80035dfc; - uStack1208 = DAT_80035e00; - uStack1204 = *(undefined4 *) - (param_5 + 0xd0); - uStack1200 = *(undefined4 *) - (param_5 + 0xd4); - uStack1196 = *(undefined4 *) - (param_5 + 0xd8); - uVar6 = get_controller_buttons_held - (*param_6,Z_TRIG); - uVar7 = extraout_a0_19; - if (uVar6 != 0) { - proc_7F058570(flt_80053F1C, - extraout_a0_19, - (undefined4 *) - (float (*) [4] [4]) - afStack748); - uVar7 = extraout_a0_20; - } - proc_7F058688(flt_80053F20,uVar7, - afStack684); - proc_7F06351C(&uStack1216, - (float *)(float (*) [4] [4]) - afStack748, - afStack684, - (float *)(float (*) [4] [4]) - afStack876, - &uStack1204,afStack812, - (float *)(float (*) [4] [4]) - afStack428); - proc_7F058020((float (*) [4] [4]) - afStack428, - (float (*) [4]) - (puVar10 + 0xc0)); - fVar14 = extraout_f12_12; - fVar15 = extraout_f14_12; - } - else { - proc_7F058020((float (*) [4] [4])param_2, - (float (*) [4]) - (puVar10 + iVar4 * 0x10)); - fVar14 = extraout_f12_13; - fVar15 = extraout_f14_13; - } - } - } - } - } - } - } - } - } - } - } - } - iVar4 += 1; - } while (iVar4 < 0xd); - proc_7F06EFC4((int)auStack96); - uStack52 = param_1; - subdraw((int)&uStack64,(uint)auStack96,extraout_a2_lo_00,extraout_a3_lo_00); - param_1 = uStack52; - proc_7F058C64(); - lVar12 = 0; - iVar4 = 0; - if (0 < poStack352->num_object_grps) { - do { - proc_7F058020((float (*) [4] [4])((int)pafStack84 + iVar4), - (float (*) [4])afStack284); - proc_7F058C9C((int)afStack284,(undefined4 *)pafStack84 + (int)lVar12 * 0x10); - lVar12 = (longlong)((int)lVar12 + 1); - iVar4 += 0x40; - } while (lVar12 < poStack352->num_object_grps); - } - proc_7F058C88(); - } - } - return param_1; -} - - - -undefined4 -proc_7F064364(undefined4 param_1,float *param_2,longlong param_3,int param_4,char *param_5) - -{ - undefined4 uVar1; - - uVar1 = proc_7F06359C(param_1,param_2,0xff,param_3,param_4,param_5); - return uVar1; -} - - - -undefined4 * proc_7F0643A0(void) - -{ - if (DAT_80075db8 == 0) { - return &DAT_80075db8; - } - if (DAT_80075dbc == 0) { - return &DAT_80075dbc; - } - if (DAT_80075dc0 == 0) { - return &DAT_80075dc0; - } - if (DAT_80075dc4 == 0) { - return &DAT_80075dc4; - } - return NULL; -} - - - -void recall_joy2_hits_edit_detail_edit_flag(void) - -{ - short sVar1; - hit_header **pphVar2; - ALPlayer_s *pAVar3; - undefined4 in_v0_lo; - int iVar4; - ALSndPlayer *data; - int in_a0_lo; - longlong lVar5; - char *in_a1_lo; - int in_a2_lo; - undefined4 *puVar6; - undefined4 *puVar7; - undefined **ppuVar8; - undefined **ppuVar9; - undefined *puStack68; - undefined *puStack64; - undefined2 uStack60; - undefined4 auStack56 [10]; - ALSndPlayer *pAStack16; - u32 uStack12; - u32 uStack8; - undefined4 uStack4; - - proc_7F0539E4((float *)(in_a1_lo + 8)); - uStack4 = in_v0_lo; - uStack8 = get_random_value(); - uStack12 = get_random_value(); - DAT_800483c4 = in_a2_lo; - iVar4 = get_debug_joy2hitsedit_flag(); - if (iVar4 == 0) { - get_debug_joy2detailedit_flag(); - } - if (((((in_a0_lo != 0x1d) && (in_a0_lo != 0x1c)) && (in_a0_lo != 0x1b)) && - (((in_a0_lo != 0x21 && (in_a0_lo != 0x2f)) && - ((in_a0_lo != 0x30 && ((in_a0_lo != 0x22 && (in_a0_lo != 0x17)))))))) && (in_a0_lo != 0x3c) - ) { - data = (ALSndPlayer *)proc_7F0643A0(); - if (data != NULL) { - pAStack16 = data; - if ((*in_a1_lo == '\x03') || (*in_a1_lo == '\x06')) { - if (in_a0_lo == 2) { - play_sfx_a1(ptr_sfx_buf,0x4a,data); - } - else { - if (in_a0_lo == 1) { - puStack64 = PTR_DAT_80035e2c; - uStack60 = PTR_DAT_80035e30._0_2_; - play_sfx_a1(ptr_sfx_buf,*(short *)((int)&puStack68 + (uStack8 % 3) * 2 + 4), - data); - } - else { - puStack68 = PTR_DAT_80035e34; - play_sfx_a1(ptr_sfx_buf,*(short *)((int)&puStack68 + (uStack8 & 1) * 2),data - ); - } - } - lVar5 = (longlong)(int)(pAStack16->node).next; - if (lVar5 != 0) { - music_related_36(lVar5,8,uStack4); - } - } - else { - if (in_a0_lo == 0x16) { - play_sfx_a1(ptr_sfx_buf,0x5b,data); - } - else { - ppuVar8 = &dword_80035E04; - puVar6 = auStack56; - do { - ppuVar9 = ppuVar8 + 3; - puVar7 = puVar6 + 3; - *(undefined **)puVar6 = *ppuVar8; - *(undefined **)(puVar6 + 1) = ppuVar8[1]; - *(undefined **)(puVar6 + 2) = ppuVar8[2]; - ppuVar8 = ppuVar9; - puVar6 = puVar7; - } while (ppuVar9 != (undefined **)0x80035e28); - *puVar7 = uRam80035e28; - play_sfx_a1(ptr_sfx_buf,*(short *)((int)auStack56 + (uStack8 % 0x14) * 2),data); - } - lVar5 = (longlong)(int)(pAStack16->node).next; - if (lVar5 != 0) { - music_related_36(lVar5,8,uStack4); - } - } - } - pAStack16 = (ALSndPlayer *)proc_7F0643A0(); - if (((pAStack16 != NULL) && (-1 < in_a2_lo)) && - (pphVar2 = hit_header_array[*(uint *)(image_entries + in_a2_lo) >> 0x1c], pphVar2 != NULL - )) { - sVar1 = *(short *)(pphVar2 + 2); - if (0 < sVar1) { - if (sVar1 == 0) { - trap(0x1c00); - } - play_sfx_a1(ptr_sfx_buf, - *(short *)((int)&(*pphVar2)->pImageIDArray + (uStack12 % (int)sVar1) * 2 - ),pAStack16); - } - pAVar3 = (pAStack16->node).next; - if (pAVar3 != NULL) { - sub_GAME_7F053A10((int)pAVar3,(float *)(in_a1_lo + 8)); - } - } - } - return; -} - - - -void proc_7F064720(float *param_1) - -{ - ALPlayer_s *pAVar1; - ALSndPlayer *data; - - data = (ALSndPlayer *)proc_7F0643A0(); - if (data != NULL) { - play_sfx_a1(ptr_sfx_buf,0x46,data); - pAVar1 = (data->node).next; - if (pAVar1 != NULL) { - sub_GAME_7F053A10((int)pAVar1,param_1); - } - } - return; -} - - - -void recall_joy2_hits_edit_flag(int param_1,float *param_2,int param_3) - -{ - short sVar1; - ALPlayer_s *pAVar2; - hit_header **pphVar3; - ALSndPlayer *data; - undefined **ppuVar4; - undefined **ppuVar5; - undefined4 *puVar6; - undefined4 auStack88 [18]; - undefined *puStack16; - u32 uStack12; - u32 uStack8; - ALSndPlayer *pAStack4; - - uStack8 = get_random_value(); - uStack12 = get_random_value(); - DAT_800483c4 = param_3; - get_debug_joy2hitsedit_flag(); - data = (ALSndPlayer *)proc_7F0643A0(); - if (data != NULL) { - if (param_1 != 0x17) { - pAStack4 = data; - if (param_1 == 0x16) { - puStack16 = PTR_DAT_80035e38; - play_sfx_a1(ptr_sfx_buf,*(short *)((int)&puStack16 + (uStack8 & 1) * 2),data); - data = pAStack4; - } - else { - ppuVar4 = &PTR_DAT_80035e3c; - puVar6 = auStack88; - do { - ppuVar5 = ppuVar4 + 3; - *(undefined **)puVar6 = *ppuVar4; - *(undefined **)(puVar6 + 1) = ppuVar4[1]; - *(undefined **)(puVar6 + 2) = ppuVar4[2]; - ppuVar4 = ppuVar5; - puVar6 = puVar6 + 3; - } while (ppuVar5 != &PTR_DAT_80035e84); - play_sfx_a1(ptr_sfx_buf,*(short *)((int)auStack88 + (uStack8 % 0x24) * 2),data); - data = pAStack4; - } - } - pAVar2 = (data->node).next; - if (pAVar2 != NULL) { - sub_GAME_7F053A10((int)pAVar2,param_2); - } - } - data = (ALSndPlayer *)proc_7F0643A0(); - if ((data != NULL) && (-1 < param_3)) { - pphVar3 = hit_header_array[*(uint *)(image_entries + param_3) >> 0x1c]; - sVar1 = *(short *)(pphVar3 + 2); - if (0 < sVar1) { - if (pphVar3 != NULL) { - if (sVar1 == 0) { - trap(0x1c00); - } - pAStack4 = data; - play_sfx_a1(ptr_sfx_buf, - *(short *)((int)&(*pphVar3)->pImageIDArray + (uStack12 % (int)sVar1) * 2 - ),data); - data = pAStack4; - } - pAVar2 = (data->node).next; - if (pAVar2 != NULL) { - sub_GAME_7F053A10((int)pAVar2,param_2); - } - } - } - return; -} - - - -void proc_7F064934(longlong param_1) - -{ - u32 uVar1; - undefined *puStack12; - undefined *puStack8; - undefined2 uStack4; - - if ((param_1 != 0x16) && (param_1 != 0x17)) { - puStack12 = PTR_DAT_80035e84; - puStack8 = PTR_DAT_80035e88; - uStack4 = PTR_DAT_80035e8c._0_2_; - uVar1 = get_random_value(); - play_sfx_a1(ptr_sfx_buf,*(short *)((int)&puStack12 + (uVar1 % 5) * 2),NULL); - } - return; -} - - - -undefined4 proc_7F0649AC(longlong param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -void proc_7F0649D8(int param_1) - -{ - ITEM_IDS item; - int iVar1; - weapon_stats *pwVar2; - int iVar3; - int *piVar4; - - piVar4 = &pPlayer->unknown + param_1 * 0xea; - item = get_item_in_hand(param_1); - iVar3 = piVar4[0x227]; - iVar1 = get_ammo_in_hands_weapon(param_1); - pwVar2 = get_ptr_item_statistics(item); - iVar1 += iVar3; - if ((longlong)iVar1 < (longlong)pwVar2->mag_size) { - piVar4[0x227] = iVar1; - } - else { - piVar4[0x227] = (int)pwVar2->mag_size; - } - iVar1 = check_special_attributes(item,0x200000); - if (iVar1 == 0) { - (&pPlayer->unknown + pwVar2->ammotype)[0x44c] = - ((&pPlayer->unknown + pwVar2->ammotype)[0x44c] - piVar4[0x227]) + iVar3; - } - else { - pPlayer->ammoheldarr[pwVar2->ammotype] = 0; - } - if (item == ITEM_ROCKETLAUNCH) { - proc_7F05FA7C(param_1); - } - else { - if ((item == ITEM_SHOTGUN) || (item == ITEM_AUTOSHOT)) { - iVar3 = get_ammo_in_hands_weapon(param_1); - if (iVar3 < 5) { - piVar4[0x229] = iVar3; - } - else { - piVar4[0x229] = 5; - } - } - } - return; -} - - -/* -Unable to decompile 'handle_weapon_id_values_possibly_1st_person_animation' -Cause: Exception while decompiling 7f064b28: process: timeout - -*/ - - -void proc_7F066E64(void) - -{ - longlong lVar1; - u8 *text; - - lVar1 = proc_7F08CF0C(); - if (lVar1 == 0) { - text = get_textptr_for_textID(0x98d9); - display_string_in_lower_left_corner((char *)text); - proc_7F05D690(); - } - else { - text = get_textptr_for_textID(0x98d8); - display_string_in_lower_left_corner((char *)text); - pPlayer->copiedgoldeneye = 1; - play_sfx_a1(ptr_sfx_buf,0xf5,NULL); - draw_item_in_hand_has_more_ammo(HAND_RIGHT,ITEM_GOLDENEYEKEY); - draw_item_in_hand_has_more_ammo(HAND_LEFT,ITEM_UNARMED); - } - return; -} - - - -int get_keyanalyzer_flag(void) - -{ - return pPlayer->copiedgoldeneye; -} - - - -void proc_7F066F08(void) - -{ - int iVar1; - - add_ammo_to_inventory(AMMO_KNIFE,2,0,1); - add_ammo_to_inventory(AMMO_GRENADE,2,0,1); - add_item_to_inventory(ITEM_SNIPERRIFLE); - set_sound_effect_for_weapontype_collection(ITEM_SNIPERRIFLE); - display_text_for_weapon_in_lower_left_corner(ITEM_SNIPERRIFLE); - iVar1 = check_cur_player_ammo_amount_in_inventory(GsniperrifleZ_stats.ammotype); - give_cur_player_ammo(GsniperrifleZ_stats.ammotype,iVar1 + GsniperrifleZ_stats.mag_size); - proc_7F08C61C(0x2c); - draw_item_in_hand_has_more_ammo(HAND_RIGHT,ITEM_SNIPERRIFLE); - draw_item_in_hand_has_more_ammo(HAND_LEFT,ITEM_UNARMED); - return; -} - - - -f32 get_vertical_position_solo_watch_menu_main_page_for_item(int item) - -{ - return (f32)(&gitem_structs)[item].watch_pos_x; -} - - - -f32 get_lateral_position_solo_watch_menu_main_page_for_item(int item) - -{ - return (f32)(&gitem_structs)[item].watch_pos_y; -} - - - -f32 get_depth_on_solo_watch_menu_page_for_item(int item) - -{ - return (f32)(&gitem_structs)[item].watch_pos_z; -} - - - -f32 get_zrotation_solo_watch_menu_for_item(int item) - -{ - return (f32)(&gitem_structs)[item].x_rotation; -} - - - -f32 get_xrotation_solo_watch_menu_for_item(int item) - -{ - return (f32)(&gitem_structs)[item].y_rotation; -} - - - -f32 get_45_degree_angle(void) - -{ - return 45.00000000; -} - - - -int get_ptr_first_title_line_item(int item) - -{ - u8 *puVar1; - - puVar1 = get_textptr_for_textID((&gitem_structs)[item].upper_watch_text); - return (int)puVar1; -} - - - -int get_ptr_second_title_line_item(int item) - -{ - u8 *puVar1; - - puVar1 = get_textptr_for_textID((&gitem_structs)[item].lower_watch_text); - return (int)puVar1; -} - - - -int get_ptr_short_watch_text_for_item(int item) - -{ - u8 *puVar1; - - puVar1 = get_textptr_for_textID((&gitem_structs)[item].watch_equipment_text); - return (int)puVar1; -} - - - -int get_ptr_long_watch_text_for_item(int item) - -{ - u8 *puVar1; - - puVar1 = get_textptr_for_textID((&gitem_structs)[item].weapon_of_choice_text); - return (int)puVar1; -} - - - -f32 get_45_degree_angle_0(void) - -{ - return 45.00000000; -} - - - -f32 get_horizontal_offset_on_solo_watch_menu_for_item(int item) - -{ - return (f32)(&gitem_structs)[item].equip_watch_x; -} - - - -f32 get_vertical_offset_on_solo_watch_menu_for_item(int item) - -{ - return (f32)(&gitem_structs)[item].equip_watch_y; -} - - - -f32 get_depth_offset_solo_watch_menu_inventory_page_for_item(int item) - -{ - return (f32)(&gitem_structs)[item].equip_watch_z; -} - - - -undefined4 proc_7F067174(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -void proc_7F0671A4(void) - -{ - ITEM_IDS item; - ITEM_IDS item_00; - weapon_stats *pwVar2; - weapon_stats *pwVar3; - longlong lVar1; - float fVar4; - float fVar5; - - item = get_item_in_hand(0); - item_00 = get_item_in_hand(1); - pwVar2 = get_ptr_item_statistics(item); - pwVar3 = get_ptr_item_statistics(item_00); - if ((item != ITEM_UNARMED) && (lVar1 = get_hands_firing_status(0), lVar1 != 0)) { - *(float *)&pPlayer->noise = (float)pPlayer->noise + pwVar2->field_0x5c; - if (pwVar2->loudness2 < (float)pPlayer->noise) { - *(float *)&pPlayer->noise = pwVar2->loudness2; - } - } - if ((item_00 != ITEM_UNARMED) && (lVar1 = get_hands_firing_status(1), lVar1 != 0)) { - *(float *)&pPlayer->field_E28 = (float)pPlayer->field_E28 + pwVar3->field_0x5c; - if (pwVar3->loudness2 < (float)pPlayer->field_E28) { - *(float *)&pPlayer->field_E28 = pwVar3->loudness2; - } - } - fVar5 = (pwVar2->field_0x5c * global_timer_delta) / (pwVar2->field_0x60 * 60.00000000); - fVar4 = (((float)pPlayer->noise - pwVar2->loudness) * global_timer_delta) / - (pwVar2->field_0x64 * 60.00000000); - if (fVar4 <= fVar5) { - fVar4 = fVar5; - } - *(float *)&pPlayer->noise = (float)pPlayer->noise - fVar4; - if ((float)pPlayer->noise < pwVar2->loudness) { - *(float *)&pPlayer->noise = pwVar2->loudness; - } - fVar5 = (pwVar3->field_0x5c * global_timer_delta) / (pwVar3->field_0x60 * 60.00000000); - fVar4 = (((float)pPlayer->field_E28 - pwVar3->loudness) * global_timer_delta) / - (pwVar3->field_0x64 * 60.00000000); - if (fVar4 <= fVar5) { - fVar4 = fVar5; - } - *(float *)&pPlayer->field_E28 = (float)pPlayer->field_E28 - fVar4; - if ((float)pPlayer->field_E28 < pwVar3->loudness) { - *(float *)&pPlayer->field_E28 = pwVar3->loudness; - } - return; -} - - - -ulonglong proc_7F0673B4(int param_1) - -{ - bool bVar1; - ITEM_IDS weapon; - AMMOTYPES AVar2; - - weapon = get_item_in_hand(param_1); - AVar2 = get_ammo_type_for_weapon(weapon); - bVar1 = AVar2 == 0; - if (!bVar1) { - bVar1 = 0 < (&pPlayer->right_weapon_ammo_in_magazine)[param_1 * 0xea]; - } - return (ulonglong)bVar1; -} - - - -void proc_7F067420(int param_1) - -{ - Player *pPVar1; - uint uVar2; - int iVar4; - ITEM_IDS IVar5; - ITEM_IDS IVar6; - ulonglong uVar3; - byte abStack24 [4]; - uint uStack20; - ITEM_IDS IStack16; - ITEM_IDS IStack12; - int aiStack8 [2]; - - aiStack8[0] = DAT_80035e9c; - aiStack8[1] = DAT_80035ea0; - pPlayer->field_FD0 = pPlayer->field_FCC; - pPlayer->field_FCC = param_1; - iVar4 = pPlayer->field_FCC; - if ((iVar4 == 0) && (pPlayer->field_FD0 != 0)) { - pPlayer->field_FC8 = 1; - iVar4 = pPlayer->field_FCC; - } - if (iVar4 == 0) { - pPlayer->field_FD4 = 0; - } - else { - IStack12 = get_item_in_hand(0); - IStack16 = get_item_in_hand(1); - pPlayer->field_FD4 = pPlayer->field_FD4 + clock_timer; - if ((IStack12 == ITEM_UNARMED) || (IStack16 == ITEM_UNARMED)) { - IVar5 = get_item_in_hand(pPlayer->field_FD8); - if ((IVar5 == ITEM_UNARMED) && - (IVar5 = get_item_in_hand(1 - pPlayer->field_FD8), IVar5 != ITEM_UNARMED)) { - pPlayer->field_FD8 = 1 - pPlayer->field_FD8; - } - aiStack8[pPlayer->field_FD8] = 1; - aiStack8[pPlayer->field_FD8 * 0x3fffffff + 1] = 0; - } - else { - iVar4 = check_special_attributes(IStack12,0x80); - if ((iVar4 == 0) || (iVar4 = check_special_attributes(IStack16,0x80), iVar4 == 0)) { - iVar4 = check_special_attributes(IStack12,0x80); - if ((iVar4 == 0) && (iVar4 = check_special_attributes(IStack16,0x80), iVar4 == 0)) { - if (pPlayer->field_FD4 < 0x1f) { - if ((pPlayer->field_FD0 == 0) && - ((uVar3 = proc_7F0673B4(1 - pPlayer->field_FD8), uVar3 != 0 || - (uVar3 = proc_7F0673B4(pPlayer->field_FD8), uVar3 == 0)))) { - pPlayer->field_FD8 = 1 - pPlayer->field_FD8; - } - aiStack8[pPlayer->field_FD8] = 1; - aiStack8[pPlayer->field_FD8 * 0x3fffffff + 1] = 0; - } - else { - aiStack8[pPlayer->field_FD8] = 1; - uVar3 = proc_7F0673B4(1 - pPlayer->field_FD8); - if ((uVar3 != 0) || - (*(int *)((int)pPlayer + pPlayer->field_FD8 * -0x3a8 + 0xc28) != 0)) { - aiStack8[pPlayer->field_FD8 * 0x3fffffff + 1] = 1; - } - } - } - else { - if (pPlayer->field_FD4 < 0x1f) { - iVar4 = check_special_attributes(IStack12,0x80); - uStack20 = (uint)(iVar4 == 0); - uVar3 = proc_7F0673B4((uint)(iVar4 == 0)); - uVar2 = uStack20; - if ((uVar3 == 0) && - (iVar4 = 1 - uStack20, (&pPlayer->field_880)[uStack20 * 0xea] == 0)) { - uVar3 = proc_7F0673B4(iVar4); - if ((uVar3 == 0) && - (*(int *)((int)pPlayer + uVar2 * -0x3a8 + 0xc28) == 0)) { - pPlayer->field_FD8 = 1 - pPlayer->field_FD8; - } - else { - pPlayer->field_FD8 = iVar4; - } - } - else { - pPlayer->field_FD8 = uStack20; - } - aiStack8[pPlayer->field_FD8] = 1; - aiStack8[pPlayer->field_FD8 * 0x3fffffff + 1] = 0; - } - else { - aiStack8[pPlayer->field_FD8] = 1; - uVar3 = proc_7F0673B4(1 - pPlayer->field_FD8); - if ((uVar3 != 0) || - (*(int *)((int)pPlayer + pPlayer->field_FD8 * -0x3a8 + 0xc28) != 0)) { - aiStack8[pPlayer->field_FD8 * 0x3fffffff + 1] = 1; - } - } - } - } - else { - if (pPlayer->field_FD4 < 0x15) { - if ((pPlayer->field_FD0 == 0) && - ((uVar3 = proc_7F0673B4(1 - pPlayer->field_FD8), uVar3 != 0 || - (uVar3 = proc_7F0673B4(pPlayer->field_FD8), uVar3 == 0)))) { - pPlayer->field_FD8 = 1 - pPlayer->field_FD8; - } - aiStack8[pPlayer->field_FD8] = 1; - aiStack8[pPlayer->field_FD8 * 0x3fffffff + 1] = 0; - } - else { - aiStack8[pPlayer->field_FD8] = 1; - uVar3 = proc_7F0673B4(1 - pPlayer->field_FD8); - if ((uVar3 != 0) || - (*(int *)((int)pPlayer + pPlayer->field_FD8 * -0x3a8 + 0xc28) != 0)) { - aiStack8[pPlayer->field_FD8 * 0x3fffffff + 1] = 1; - } - } - } - } - } - handle_weapon_id_values_possibly_1st_person_animation(0,aiStack8[0]); - handle_weapon_id_values_possibly_1st_person_animation(1,aiStack8[1]); - used_to_load_1st_person_model_on_demand(0); - used_to_load_1st_person_model_on_demand(1); - proc_7F0671A4(); - if (pPlayer->field_FE0 == 0) { - iVar4 = get_curplayer_positiondata(); - proc_7F04009C(iVar4,abStack24); - proc_7F040310((byte *)&pPlayer->field_FDC,abStack24); - } - else { - iVar4 = get_curplayer_positiondata(); - proc_7F04009C(iVar4,(byte *)&pPlayer->field_FDC); - pPlayer->field_FE0 = 0; - } - IVar5 = get_item_in_hand(0); - IVar6 = get_item_in_hand(1); - proc_7F08D9EC(IVar5,IVar6); - pPVar1 = pPlayer; - if (-1 < pPlayer->field_1270) { - pPlayer->field_1270 = pPlayer->field_1270 + clock_timer; - if (pPlayer->field_1270 < 300) { - if ((((ALLink_s *)pPVar1->field_A44 == NULL) || - (uVar3 = sfxGetArg0Unk3F((ALLink_s *)pPVar1->field_A44), uVar3 == 0)) && - (iVar4 = get_controls_locked_flag(), iVar4 == 0)) { - play_sfx_a1(ptr_sfx_buf,0xf6,(ALSndPlayer *)&pPVar1->field_A44); - } - } - else { - pPlayer->field_1270 = -1; - if (((ALLink_s *)pPVar1->field_A44 != NULL) && - (uVar3 = sfxGetArg0Unk3F((ALLink_s *)pPVar1->field_A44), uVar3 != 0)) { - sfxDeactivate(pPVar1->field_A44); - } - } - } - return; -} - - - -void proc_7F067AA4(int param_1) - -{ - pPlayer->field_FE4 = param_1; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F067AB4(void) - -{ - float *in_a0_lo; - f32 fVar1; - - fVar1 = proc_7F05DCB8(0); - *(float *)&pPlayer->field_A38 = (float)fVar1 + *in_a0_lo; - *(float *)&pPlayer->field_A3C = in_a0_lo[1]; - *(float *)&pPlayer->field_A40 = in_a0_lo[2]; - fVar1 = proc_7F05DCB8(1); - *(float *)&pPlayer->field_DE0 = (float)fVar1 + *in_a0_lo; - *(float *)&pPlayer->field_DE4 = in_a0_lo[1]; - *(float *)&pPlayer->field_DE8 = in_a0_lo[2]; - return; -} - - - -void proc_7F067B4C(undefined4 *param_1) - -{ - int iVar1; - - iVar1 = *param_1; - pPlayer->left_item_related1 = iVar1; - pPlayer->field_FB4 = iVar1; - iVar1 = param_1[1]; - pPlayer->left_item_related2 = iVar1; - pPlayer->field_FB8 = iVar1; - iVar1 = param_1[2]; - pPlayer->left_item_related3 = iVar1; - pPlayer->field_FBC = iVar1; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void caclulate_gun_crosshair_position_rotation(void) - -{ - int iVar1; - float in_a2_lo; - float in_a3_lo; - f32 fVar2; - float fVar3; - float fVar4; - float in_f12; - float extraout_f12; - float in_f14; - float afStack24 [3]; - f32 fStack12; - f32 fStack8; - int iStack4; - - fStack8 = getPlayer_c_screenwidth(); - fStack12 = getPlayer_c_screenheight(); - if (in_a2_lo != (float)pPlayer->field_FF8) { - pPlayer->field_FF0 = - (pPlayer->field_FF0 * (1.00000000 - (float)pPlayer->field_FF8)) / - (1.00000000 - in_a2_lo); - pPlayer->field_FF4 = - (pPlayer->field_FF4 * (1.00000000 - (float)pPlayer->field_FF8)) / - (1.00000000 - in_a2_lo); - *(float *)&pPlayer->field_FF8 = in_a2_lo; - } - if (in_a3_lo != (float)pPlayer->field_100C) { - pPlayer->field_1004 = - (pPlayer->field_1004 * (1.00000000 - (float)pPlayer->field_100C)) / - (1.00000000 - in_a3_lo); - pPlayer->field_1008 = - (pPlayer->field_1008 * (1.00000000 - (float)pPlayer->field_100C)) / - (1.00000000 - in_a3_lo); - *(float *)&pPlayer->field_100C = in_a3_lo; - } - iVar1 = 0; - if (0 < clock_timer) { - do { - iVar1 += 1; - pPlayer->field_FF0 = pPlayer->field_FF0 * in_a2_lo + in_f12; - pPlayer->field_FF4 = pPlayer->field_FF4 * in_a2_lo + in_f14; - } while (iVar1 < clock_timer); - } - fVar4 = (float)fStack8 * 0.50000000; - pPlayer->field_FE8 = - pPlayer->field_FF0 * (1.00000000 - in_a2_lo) * (float)fStack8 * 0.50000000 + fVar4; - pPlayer->field_FEC = - pPlayer->field_FF4 * (1.00000000 - in_a2_lo) * (float)fStack12 * 0.50000000 + - (float)fStack12 * 0.50000000; - if (pPlayer->field_FE8 < 3.00000000) { - pPlayer->field_FE8 = 3.00000000; - } - else { - if (pPlayer->field_FE8 <= (float)fStack8 - 4.00000000) { - fVar3 = pPlayer->field_FEC; - goto LAB_7f067db8; - } - pPlayer->field_FE8 = (float)fStack8 - 4.00000000; - } - fVar3 = pPlayer->field_FEC; -LAB_7f067db8: - if (fVar3 < 3.00000000) { - pPlayer->field_FEC = 3.00000000; - } - else { - if ((float)fStack12 - 4.00000000 < fVar3) { - pPlayer->field_FEC = (float)fStack12 - 4.00000000; - } - } - iStack4 = 0; - fVar2 = getPlayer_c_screenleft(); - pPlayer->field_FE8 = pPlayer->field_FE8 + (float)fVar2; - fVar2 = getPlayer_c_screentop(); - pPlayer->field_FEC = pPlayer->field_FEC + (float)fVar2; - iVar1 = iStack4; - if (0 < clock_timer) { - do { - iVar1 += 1; - pPlayer->field_1004 = pPlayer->field_1004 * in_a3_lo + in_f12; - pPlayer->field_1008 = pPlayer->field_1008 * in_a3_lo + in_f14; - } while (iVar1 < clock_timer); - } - pPlayer->field_FFC = - pPlayer->field_1004 * (1.00000000 - in_a3_lo) * (float)fStack8 * 0.50000000 + fVar4; - pPlayer->field_1000 = - pPlayer->field_1008 * (1.00000000 - in_a3_lo) * (float)fStack12 * 0.50000000 + - (float)fStack12 * 0.50000000; - fVar2 = getPlayer_c_screenleft(); - pPlayer->field_FFC = pPlayer->field_FFC + (float)fVar2; - fVar2 = getPlayer_c_screentop(); - pPlayer->field_1000 = pPlayer->field_1000 + (float)fVar2; - proc_7F077EEC(&pPlayer->field_FFC,afStack24,extraout_f12); - proc_7F067AB4(); - return; -} - - - -void proc_7F067F58(undefined4 param_1,undefined4 param_2) - -{ - ITEM_IDS item; - - item = get_item_in_hand(0); - get_ptr_item_statistics(item); - caclulate_gun_crosshair_position_rotation(); - return; -} - - - -void proc_7F067FBC(undefined4 param_1,undefined4 param_2) - -{ - ITEM_IDS item; - - item = get_item_in_hand(0); - get_ptr_item_statistics(item); - caclulate_gun_crosshair_position_rotation(); - return; -} - - - -void proc_7F068008(undefined4 *param_1,undefined4 *param_2) - -{ - *(float *)param_1 = pPlayer->field_FE8; - *(float *)param_2 = pPlayer->field_FEC; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F06802C(void) - -{ - f32 fVar1; - f32 fVar2; - float fVar3; - float extraout_f12; - float afStack12 [3]; - - fVar1 = getPlayer_c_screenleft(); - fVar2 = getPlayer_c_screenwidth(); - fVar3 = (float)fVar2 * 0.50000000 + (float)fVar1; - pPlayer->field_FE8 = fVar3; - pPlayer->field_FFC = fVar3; - fVar1 = getPlayer_c_screentop(); - fVar2 = getPlayer_c_screenheight(); - fVar3 = (float)fVar2 * 0.50000000 + (float)fVar1; - pPlayer->field_FEC = fVar3; - pPlayer->field_1000 = fVar3; - proc_7F077EEC(&pPlayer->field_FFC,afStack12,extraout_f12); - proc_7F067AB4(); - return; -} - - - -void proc_7F0680D4(float *param_1) - -{ - float fStack12; - float fStack8; - float fStack4; - - pPlayer->field_1010 = *param_1; - *(float *)&pPlayer->holds_neg_pi = param_1[1]; - pPlayer->field_1018 = param_1[2]; - proc_7F058714(param_1,(float *)&pPlayer->field_101C); - fStack12 = (float)pPlayer->field_103C * 1000.00000000; - fStack8 = (float)pPlayer->field_1040 * 1000.00000000; - fStack4 = (float)pPlayer->field_1044 * 1000.00000000; - proc_7F077FF4(&fStack12,&pPlayer->field_FE8); - pPlayer->field_FFC = pPlayer->field_FE8; - pPlayer->field_1000 = pPlayer->field_FEC; - proc_7F067AB4(); - return; -} - - - -void proc_7F068190(undefined4 *param_1,float *param_2) - -{ - float in_f12; - - *param_1 = 0; - param_1[1] = 0; - param_1[2] = 0; - proc_7F077EEC(&pPlayer->field_FE8,param_2,in_f12); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F0681CC(void) - -{ - ITEM_IDS item; - weapon_stats *pwVar1; - ITEM_IDS item_00; - int iVar2; - u32 uVar3; - u32 uVar4; - undefined4 *in_a0_lo; - float *in_a1_lo; - HAND in_a2_lo; - float in_f0; - f32 fVar5; - f32 fVar6; - float fVar7; - float extraout_f12; - float fVar8; - float fStack16; - float fStack8; - float fStack4; - - item = get_item_in_hand(in_a2_lo); - pwVar1 = get_ptr_item_statistics(item); - fStack16 = pwVar1->inaccuracy; - item_00 = return_ammo_in_hand(in_a2_lo); - iVar2 = check_special_attributes(item_00,0x1000); - if ((iVar2 != 0) && ((&pPlayer->field_C08)[in_a2_lo * 0xea] == 1)) { - fStack16 = fStack16 * 0.25000000; - } - video_related_23(); - in_f0 = (fStack16 * 120.00000000) / in_f0; - uVar3 = get_random_value(); - uVar4 = get_random_value(); - fVar7 = (float)uVar3; - if ((int)uVar3 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar5 = getPlayer_c_screenwidth(); - fVar6 = getPlayer_c_perspaspect(); - fStack8 = (fVar8 * 0.00000000 * (fVar7 * 0.00000000 - 0.50000000) * in_f0 * (float)fVar5 * - flt_800543B0) / ((float)fVar6 * 320.00000000) + pPlayer->field_FE8; - uVar3 = get_random_value(); - uVar4 = get_random_value(); - fVar7 = (float)uVar3; - if ((int)uVar3 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = (float)uVar4; - if ((int)uVar4 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar5 = getPlayer_c_screenheight(); - fStack4 = ((float)fVar5 * fVar8 * 0.00000000 * (fVar7 * 0.00000000 - 0.50000000) * in_f0) / - 240.00000000 + pPlayer->field_FEC; - *in_a0_lo = 0; - in_a0_lo[1] = 0; - in_a0_lo[2] = 0; - proc_7F077EEC(&fStack8,in_a1_lo,extraout_f12); - return; -} - - - -undefined * proc_7F068420(undefined4 param_1,undefined4 *param_2) - -{ - undefined *puVar1; - undefined4 uVar2; - - puVar1 = &DAT_80075dc8; - if (DAT_80075e64 != 0) { - puVar1 = &DAT_80075e68; - while ((puVar1 < &DAT_80076a48 && (*(int *)(puVar1 + 0x9c) != 0))) { - puVar1 = puVar1 + 0xa0; - } - } - if (puVar1 < &DAT_80076a48) { - *(undefined4 *)(puVar1 + 0x9c) = param_1; - *(undefined4 *)(puVar1 + 4) = param_2[0xc]; - *(undefined4 *)(puVar1 + 8) = param_2[0xd]; - *(undefined4 *)(puVar1 + 0xc) = param_2[0xe]; - *(undefined4 *)(puVar1 + 0x1c) = *param_2; - *(undefined4 *)(puVar1 + 0x20) = param_2[1]; - uVar2 = param_2[2]; - *(undefined4 *)(puVar1 + 0x28) = 0; - *(undefined4 *)(puVar1 + 0x24) = uVar2; - *(undefined4 *)(puVar1 + 0x2c) = param_2[4]; - *(undefined4 *)(puVar1 + 0x30) = param_2[5]; - uVar2 = param_2[6]; - *(undefined4 *)(puVar1 + 0x38) = 0; - *(undefined4 *)(puVar1 + 0x34) = uVar2; - *(undefined4 *)(puVar1 + 0x3c) = param_2[8]; - *(undefined4 *)(puVar1 + 0x40) = param_2[9]; - uVar2 = param_2[10]; - *(undefined4 *)(puVar1 + 0x48) = 0; - *(undefined4 *)(puVar1 + 0x4c) = 0; - *(undefined4 *)(puVar1 + 0x50) = 0; - *(undefined4 *)(puVar1 + 0x54) = 0; - *(undefined4 *)(puVar1 + 0x58) = 0x3f800000; - *(undefined4 *)(puVar1 + 0x44) = uVar2; - return puVar1; - } - return NULL; -} - - - -void proc_7F068508(int param_1,undefined4 param_2) - -{ - float *pfVar1; - weapon_stats *pwVar2; - s32 sVar3; - undefined4 *puVar4; - u32 uVar5; - u32 uVar6; - float fVar7; - float fVar8; - float fVar9; - float fStack108; - float fStack104; - float fStack100; - xyzpoint xStack92; - Gitemheader *pGStack80; - ITEM_IDS IStack72; - float afStack68 [17]; - - IStack72 = get_item_in_hand(param_1); - pwVar2 = get_ptr_item_statistics(IStack72); - pGStack80 = pwVar2->ptr_cartridge_struct; - if ((pGStack80 != NULL) && (sVar3 = get_num_players(), sVar3 < 2)) { - if (*(int *)pPlayer->copy_of_body_obj_header[param_1 * 8 + 2] == 0) { - proc_7F058020((float (*) [4] [4])(&pPlayer->field_AD8 + param_1 * 0xea), - (float (*) [4])afStack68); - } - else { - pfVar1 = *(float **)(*(int *)pPlayer->copy_of_body_obj_header[param_1 * 8 + 2] + 4); - xStack92.x = *pfVar1 * flt_800543B4; - xStack92.y = pfVar1[1] * flt_800543B4; - xStack92.z = pfVar1[2] * flt_800543B4; - init_something_copy_posdata_to_it(&xStack92,(int *)afStack68); - proc_7F058068((float *)(&pPlayer->field_AD8 + param_1 * 0xea),afStack68); - } - puVar4 = (undefined4 *)proc_7F068420(pGStack80,afStack68); - if (puVar4 != NULL) { - fStack108 = DAT_80035ea4; - fStack100 = (float)DAT_80035eac; - fStack104 = (float)DAT_80035ea8; - *puVar4 = param_2; - if ((((IStack72 == ITEM_WPPK) || (IStack72 == ITEM_WPPKSIL)) || (IStack72 == ITEM_TT33)) - || ((IStack72 == ITEM_SILVERWPPK || (IStack72 == ITEM_GOLDWPPK)))) { - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(puVar4 + 4) = - -(fVar8 * 0.00000000 * flt_800543B8 * 0.06250000 + flt_800543B8); - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - puVar4[6] = 0; - *(float *)(puVar4 + 5) = fVar8 * 0.00000000 * 2.50000000 * 0.06250000 + 2.50000000; - proc_7F0583D8((float *)(&pPlayer->field_AD8 + param_1 * 0xea),(float *)(puVar4 + 4)) - ; - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fStack108 = (fVar8 * 0.00000000 + fVar8 * 0.00000000) * flt_800543BC * 0.06250000 - - flt_800543C0; - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fStack104 = (fVar8 * 0.00000000 + fVar8 * 0.00000000) * flt_800543C4 * 0.06250000 - - flt_800543C8; - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fStack100 = (fVar8 * 0.00000000 + fVar8 * 0.00000000) * flt_800543CC * 0.06250000 - - flt_800543D0; - proc_7F058714(&fStack108,(float *)(puVar4 + 0x17)); - uVar5 = get_random_value(); - uVar6 = get_random_value(); - fVar8 = (float)puVar4[5]; - if (&UNK_00158679 + ((int)((uVar5 >> 0x18) * 0x158679) >> 10) == NULL) { - trap(0x1c00); - } - fVar9 = (float)(uVar6 % (uint)(&UNK_00158679 + - ((int)((uVar5 >> 0x18) * 0x158679) >> 10))); - if (false) { - fVar9 = fVar9 + 4294967296.00000000; - } - fVar9 = fVar9 / flt_800543D4; - fVar7 = fVar8 - fVar9 * expended_shell_initial_gravity_modifier_pistol; - *(float *)(puVar4 + 5) = fVar7; - *(float *)(puVar4 + 2) = (float)puVar4[2] + fVar9 * (fVar8 + fVar7) * 0.50000000; - *(float *)(puVar4 + 1) = (float)puVar4[1] + fVar9 * (float)puVar4[4]; - *(float *)(puVar4 + 3) = (float)puVar4[3] + fVar9 * (float)puVar4[6]; - if (0 < clock_timer) { - *(float *)(puVar4 + 4) = - (float)puVar4[4] + - ((float)(&pPlayer->unknown + param_1 * 0xea)[0x2c2] - - (float)(&pPlayer->unknown + param_1 * 0xea)[0x2d2]) / global_timer_delta; - *(float *)(puVar4 + 5) = - (float)puVar4[5] + - ((float)(&pPlayer->unknown + param_1 * 0xea)[0x2c3] - - (float)(&pPlayer->unknown + param_1 * 0xea)[0x2d3]) / global_timer_delta; - *(float *)(puVar4 + 6) = - (float)puVar4[6] + - ((float)(&pPlayer->unknown + param_1 * 0xea)[0x2c4] - - (float)(&pPlayer->unknown + param_1 * 0xea)[0x2d4]) / global_timer_delta; - } - } - else { - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(puVar4 + 4) = - -(fVar8 * 0.00000000 * flt_800543DC * 0.12500000 + flt_800543DC); - uVar5 = get_random_value(); - fVar8 = flt_800543E0; - fVar9 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar9 = fVar9 + 4294967296.00000000; - } - fVar9 = fVar9 * 0.00000000 * flt_800543E0; - puVar4[6] = 0; - *(float *)(puVar4 + 5) = fVar9 * 0.12500000 + fVar8; - proc_7F0583D8((float *)(&pPlayer->field_AD8 + param_1 * 0xea),(float *)(puVar4 + 4)) - ; - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fStack108 = (fVar8 * 0.00000000 + fVar8 * 0.00000000) * flt_800543E4 * 0.06250000 - - flt_800543E8; - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fStack104 = (fVar8 * 0.00000000 + fVar8 * 0.00000000) * flt_800543EC * 0.06250000 - - flt_800543F0; - uVar5 = get_random_value(); - fVar8 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - fStack100 = (fVar8 * 0.00000000 + fVar8 * 0.00000000) * flt_800543F4 * 0.06250000 - - flt_800543F8; - proc_7F058714(&fStack108,(float *)(puVar4 + 0x17)); - uVar5 = get_random_value(); - uVar6 = get_random_value(); - fVar8 = (float)puVar4[5]; - if (&UNK_00158679 + ((int)((uVar5 >> 0x18) * 0x158679) >> 10) == NULL) { - trap(0x1c00); - } - fVar9 = (float)(uVar6 % (uint)(&UNK_00158679 + - ((int)((uVar5 >> 0x18) * 0x158679) >> 10))); - if (false) { - fVar9 = fVar9 + 4294967296.00000000; - } - fVar9 = fVar9 / flt_800543FC; - fVar7 = fVar8 - fVar9 * expended_shell_initial_gravity_modifier_non_pistol; - *(float *)(puVar4 + 5) = fVar7; - *(float *)(puVar4 + 2) = (float)puVar4[2] + fVar9 * (fVar8 + fVar7) * 0.50000000; - *(float *)(puVar4 + 1) = (float)puVar4[1] + fVar9 * (float)puVar4[4]; - *(float *)(puVar4 + 3) = (float)puVar4[3] + fVar9 * (float)puVar4[6]; - if (0 < clock_timer) { - *(float *)(puVar4 + 4) = - (float)puVar4[4] + - ((float)(&pPlayer->unknown + param_1 * 0xea)[0x2c2] - - (float)(&pPlayer->unknown + param_1 * 0xea)[0x2d2]) / global_timer_delta; - *(float *)(puVar4 + 5) = - (float)puVar4[5] + - ((float)(&pPlayer->unknown + param_1 * 0xea)[0x2c3] - - (float)(&pPlayer->unknown + param_1 * 0xea)[0x2d3]) / global_timer_delta; - *(float *)(puVar4 + 6) = - (float)puVar4[6] + - ((float)(&pPlayer->unknown + param_1 * 0xea)[0x2c4] - - (float)(&pPlayer->unknown + param_1 * 0xea)[0x2d4]) / global_timer_delta; - } - } - } - } - return; -} - - - -void proc_7F068D20(float *param_1) - -{ - float fVar1; - int iVar2; - float fVar3; - - fVar1 = global_timer_delta; - fVar3 = param_1[5] - global_timer_delta * expended_shell_initial_gravity_modifier_all; - param_1[2] = param_1[2] + global_timer_delta * 0.50000000 * (param_1[5] + fVar3); - if (param_1[2] < *param_1) { - if (((DAT_80075db0 == 0) && (pPlayer->when_detonating_mines_is_0 != 2)) && - (pPlayer->field_C3C != 2)) { - play_sfx_a1(ptr_sfx_buf,0x7a,(ALSndPlayer *)&DAT_80075db0); - } - param_1[0x27] = 0.00000000; - } - else { - param_1[5] = fVar3; - iVar2 = 0; - param_1[1] = param_1[1] + fVar1 * param_1[4]; - param_1[3] = param_1[3] + fVar1 * param_1[6]; - if (0 < clock_timer) { - do { - sub_GAME_7F058098(param_1 + 0x17,param_1 + 7); - iVar2 += 1; - } while (iVar2 < clock_timer); - } - } - return; -} - - - -void proc_7F068E6C(void) - -{ - float fVar1; - float *pfVar2; - - fVar1 = DAT_80075e64; - pfVar2 = (float *)&DAT_80075dc8; - while( true ) { - if (fVar1 != 0.00000000) { - proc_7F068D20(pfVar2); - } - if ((float *)0x80076a47 < pfVar2 + 0x28) break; - fVar1 = pfVar2[0x4f]; - pfVar2 = pfVar2 + 0x28; - } - return; -} - - - -void proc_7F068EC4(int param_1,undefined4 *param_2) - -{ - bool bVar1; - float *pfVar2; - int iVar3; - object_header *poVar4; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 *puVar8; - float afStack172 [16]; - undefined4 uStack108; - undefined4 uStack104; - undefined4 uStack96; - object_header *poStack92; - undefined4 uStack60; - uint uStack56; - undefined auStack44 [12]; - object_header *poStack32; - object_header *poStack12; - object_header *poStack8; - undefined4 uStack4; - - uStack4 = *param_2; - poStack12 = *(object_header **)(param_1 + 0x9c); - poStack8 = poStack12; - proc_7F0BD714((int)poStack12->num_object_grps << 6); - puVar7 = &DAT_80035eb0; - puVar5 = &uStack108; - do { - puVar8 = puVar7 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar7; - puVar5[1] = puVar7[1]; - puVar5[2] = puVar7[2]; - puVar7 = puVar8; - puVar5 = puVar6; - } while (puVar8 != (undefined4 *)0x80035eec); - bVar1 = true; - *puVar6 = uRam80035eec; - set_objuse_flag_compute_grp_nums_set_obj_loaded(poStack8); - proc_7F075F68((int)auStack44,(ushort **)poStack8,0); - poStack32 = poStack12; - proc_7F058020((float (*) [4] [4])(param_1 + 0x1c),(float (*) [4])afStack172); - matrix_multiply_A1_by_F12(flt_80054408,extraout_a0,afStack172); - copies_first_3_floats_from_a0_to_a1_plus_0x30((xyzpoint *)(param_1 + 4),(int)afStack172); - pfVar2 = (float *)get_BONDdata_field_10CC(); - proc_7F05818C(pfVar2,afStack172,(int)poStack32); - iVar3 = 0; - poVar4 = poStack32; - do { - iVar3 += 4; - if (flt_80054410 < poVar4[1].anonymous_4) { - bVar1 = false; - } - else { - if (poVar4[1].anonymous_4 < flt_8005440C) { - bVar1 = false; - } - } - poVar4 = (object_header *)&poVar4->ptr_archetype; - } while (iVar3 != 0xc); - if (bVar1) { - uStack104 = 0; - uStack60 = 4; - uStack96 = uStack4; - poStack92 = poStack12; - uStack56 = (uint)(byte)pPlayer->field_FDF | (uint)(byte)pPlayer->field_FDC << 0x18 | - (uint)(byte)pPlayer->field_FDD << 0x10 | (uint)(byte)pPlayer->field_FDE << 8; - subdraw((int)&uStack108,(uint)auStack44,extraout_a2_lo,extraout_a3_lo); - *param_2 = uStack96; - proc_7F08BD48((undefined4 *)poStack12,(int)poStack8->num_object_grps); - } - return; -} - - - -void proc_7F06908C(undefined4 *param_1) - -{ - int iVar1; - undefined *puVar2; - - iVar1 = DAT_80075e64; - puVar2 = &DAT_80075dc8; - while( true ) { - if (iVar1 != 0) { - proc_7F068EC4((int)puVar2,param_1); - } - if ((undefined *)0x80076a47 < puVar2 + 0xa0) break; - iVar1 = *(int *)(puVar2 + 0x13c); - puVar2 = puVar2 + 0xa0; - } - return; -} - - - -void set_unset_ammo_on_screen_setting(int flags,int isset) - -{ - if (isset != 0) { - pPlayer->somekinda_flags = pPlayer->somekinda_flags & ~flags; - return; - } - pPlayer->somekinda_flags = pPlayer->somekinda_flags | flags; - return; -} - - - -void give_cur_player_ammo(AMMOTYPES type,int amount) - -{ - ITEM_IDS weapon; - AMMOTYPES AVar1; - int iVar2; - weapon_stats *pwVar3; - - weapon = get_item_in_hand(0); - AVar1 = get_ammo_type_for_weapon(weapon); - if ((AVar1 == type) && (iVar2 = check_special_attributes(weapon,0x200000), iVar2 != 0)) { - pPlayer->right_weapon_ammo_in_magazine = pPlayer->right_weapon_ammo_in_magazine + amount; - pwVar3 = get_ptr_item_statistics(weapon); - if ((longlong)pwVar3->mag_size < (longlong)pPlayer->right_weapon_ammo_in_magazine) { - pwVar3 = get_ptr_item_statistics(weapon); - pPlayer->right_weapon_ammo_in_magazine = (int)pwVar3->mag_size; - } - pPlayer->ammoheldarr[type] = 0; - } - else { - if ((int)(&DAT_80035ef0)[type * 3] < amount) { - pPlayer->ammoheldarr[type] = (&DAT_80035ef0)[type * 3]; - } - else { - pPlayer->ammoheldarr[type] = amount; - } - } - return; -} - - - -int check_cur_player_ammo_amount_in_inventory(AMMOTYPES type) - -{ - return pPlayer->ammoheldarr[type]; -} - - - -int check_cur_player_ammo_amount_total(int type) - -{ - int iVar1; - ITEM_IDS weapon; - AMMOTYPES AVar2; - int iVar3; - - iVar1 = check_cur_player_ammo_amount_in_inventory(type); - weapon = get_item_in_hand(0); - AVar2 = get_ammo_type_for_weapon(weapon); - if (AVar2 == type) { - iVar3 = get_ammo_in_hands_magazine(0); - iVar1 += iVar3; - } - weapon = get_item_in_hand(1); - AVar2 = get_ammo_type_for_weapon(weapon); - if (AVar2 == type) { - iVar3 = get_ammo_in_hands_magazine(1); - iVar1 += iVar3; - } - return iVar1; -} - - - -int get_max_ammo_for_type(AMMOTYPES type) - -{ - return (int)(&DAT_80035ef0)[type * 3]; -} - - - -void set_max_ammo_for_cur_player(void) - -{ - AMMOTYPES type; - int *piVar1; - - piVar1 = &DAT_80035ef0; - type = 0; - do { - give_cur_player_ammo(type,*piVar1); - type += AMMO_9MM; - piVar1 = piVar1 + 3; - } while (type != 0x1e); - return; -} - - - -int get_ammo_in_hands_magazine(int hand) - -{ - return (&pPlayer->right_weapon_ammo_in_magazine)[hand * 0xea]; -} - - - -int get_ammo_in_hands_weapon(int hand) - -{ - ITEM_IDS weapon; - int iVar1; - - weapon = get_item_in_hand(hand); - iVar1 = get_ammo_count_for_weapon(weapon); - if (((weapon == ITEM_SHOTGUN) || (weapon == ITEM_AUTOSHOT)) && - ((weapon = get_item_in_hand(1 - hand), weapon == ITEM_SHOTGUN || (weapon == ITEM_AUTOSHOT)))) - { - iVar1 -= *(int *)((int)pPlayer + hand * -0x3a8 + 0xc4c); - } - return iVar1; -} - - - -AMMOTYPES get_ammo_type_for_weapon(ITEM_IDS weapon) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(weapon); - return pwVar1->ammotype; -} - - - -int get_ammo_count_for_weapon(int weapon) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(weapon); - return pPlayer->ammoheldarr[pwVar1->ammotype]; -} - - - -void add_ammo_to_weapon(int weapon,int ammo) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(weapon); - give_cur_player_ammo(pwVar1->ammotype,ammo); - return; -} - - - -undefined4 get_max_ammo_for_weapon(int weapon) - -{ - weapon_stats *pwVar1; - - pwVar1 = get_ptr_item_statistics(weapon); - return (&DAT_80035ef0)[pwVar1->ammotype * 3]; -} - - - -undefined4 * -microcode_generation_ammo_related - (int *buffer,int *imagedeclaration,f32 hpos,f32 param_4,f32 vpos,f32 param_6,f32 voffset, - int param_8,int red,int green,int blue,int alpha) - -{ - uint uVar1; - int iVar2; - float fVar3; - f32 wdivh; - int *piStackX0; - int in_stack_00000028; - int in_stack_0000002c; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - buffer[1] = 0xc0; - *buffer = -0x45fff9fe; - buffer[3] = 0; - buffer[2] = -0x45ffecff; - buffer[5] = 0; - buffer[4] = -0x46fffffe; - buffer[7] = 0; - buffer[6] = -0x45ffefff; - buffer[9] = 0; - buffer[8] = -0x45fff3fe; - buffer[0xb] = 0xc00; - buffer[10] = -0x45fff6fd; - buffer[0xd] = 0; - buffer[0xc] = -0x45fff1fe; - uVar1 = (uint)*(byte *)(imagedeclaration + 1); - fVar3 = (float)uVar1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - if (false) { - uVar1 = (uint)*(byte *)(imagedeclaration + 1) + 1; - } - fStack8 = fVar3 * 0.50000000 - (float)((int)uVar1 >> 1); - if (param_8 != 0) { - fStack8 = -fStack8; - } - fStack8 = fStack8 + (float)vpos; - if (0.00000000 <= (float)param_6) { - fVar3 = (float)(uint)*(byte *)((int)imagedeclaration + 5); - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - fStack4 = (float)param_6 - fVar3 * 0.50000000; - } - else { - uVar1 = (uint)*(byte *)((int)imagedeclaration + 5); - fVar3 = (float)uVar1; - if (false) { - fVar3 = fVar3 + 4294967296.00000000; - } - if (false) { - uVar1 = (uint)*(byte *)((int)imagedeclaration + 5) + 1; - } - fStack4 = ((float)voffset - (fVar3 * 0.50000000 - (float)((int)uVar1 >> 1))) + (float)red; - } - iVar2 = 1; - fStack16 = (float)(uint)*(byte *)(imagedeclaration + 1); - if (false) { - fStack16 = fStack16 + 4294967296.00000000; - } - fStack16 = fStack16 * 0.50000000; - fStack12 = (float)(uint)*(byte *)((int)imagedeclaration + 5); - if (false) { - fStack12 = fStack12 + 4294967296.00000000; - } - fStack12 = fStack12 * 0.50000000; - buffer[0xf] = 0; - buffer[0xe] = -0x19000000; - buffer[0x11] = 0; - buffer[0x10] = -0x45ffebfe; - buffer[0x13] = 0x504240; - buffer[0x12] = -0x46fffce3; - buffer[0x15] = -0x20905; - buffer[0x14] = -0x3000001; - buffer[0x17] = 0; - buffer[0x16] = -0x6000000; - piStackX0 = buffer + 0x1a; - buffer[0x18] = ((int)(fStack12 + fStack4) + 1U & 0x3ff) << 2 | 0xf6000000 | - ((int)(fStack8 + fStack16) + 1U & 0x3ff) << 0xe; - buffer[0x19] = ((int)(fStack4 - fStack12) - 1U & 0x3ff) << 2 | - ((int)(fStack8 - fStack16) - 1U & 0x3ff) << 0xe; - if (green != 0) { - iVar2 = 2; - } - append_image_to_DL((uint **)register0x000000ec,(sImageTableEntry *)imagedeclaration,iVar2,0,0); - display_image_at_on_screen_coord - ((int *)register0x000000ec,(int *)&fStack8,wdivh,(int)&fStack16, - (uint)*(byte *)(imagedeclaration + 1),(uint)*(byte *)((int)imagedeclaration + 5),0,0, - 1,blue,alpha,in_stack_00000028,in_stack_0000002c, - (uint)(*(char *)((int)imagedeclaration + 6) != '\0')); - piStackX0[1] = 0; - *piStackX0 = -0x19000000; - piStackX0[3] = 0x40; - piStackX0[2] = -0x45fff9fe; - piStackX0[5] = 0x80000; - piStackX0[4] = -0x45ffecff; - piStackX0[7] = 0; - piStackX0[6] = -0x46fffffe; - piStackX0[9] = 0x10000; - piStackX0[8] = -0x45ffefff; - piStackX0[0xb] = 0x2000; - piStackX0[10] = -0x45fff3fe; - piStackX0[0xd] = 0xc00; - piStackX0[0xc] = -0x45fff6fd; - piStackX0[0xf] = 0; - piStackX0[0xe] = -0x45fff1fe; - return (undefined4 *)(piStackX0 + 0x10); -} - - - -void set_rgba_redirect_generate_microcode - (int *buffer,int *imagedeclaration,f32 param_3,f32 param_4,f32 hoffset,f32 param_6, - f32 voffset,int param_8) - -{ - int in_stack_00000018; - int in_stack_0000001c; - - microcode_generation_ammo_related - (buffer,imagedeclaration,hoffset,param_6,hoffset,param_6,voffset,param_8, - in_stack_00000018,in_stack_0000001c,0xff,0xff); - return; -} - - - -uint * proc_7F069A50(undefined4 *param_1,byte *param_2,uint param_3,int param_4,uint param_5, - int param_6,int param_7) - -{ - int iVar1; - uint *puVar2; - short sVar3; - short sVar4; - uint *puVar5; - int iStack24; - int iStack20; - uint uStack16; - uint uStack12; - uint uStack8; - uint uStack4; - - uStack4 = 0; - uStack8 = 0; - uStack12 = 0; - uStack16 = 0; - iStack24 = 0; - iStack20 = 0; - proc_7F0AE98C(&iStack20,&iStack24,param_2,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - if (param_4 == 1) { - uStack12 = param_3 + iStack24; - uStack4 = param_3; - } - else { - if (param_4 == 0) { - uStack4 = param_3 - iStack24; - uStack12 = param_3; - } - else { - if (param_4 == 2) { - iVar1 = iStack24; - if (iStack24 < 0) { - iVar1 = iStack24 + 1; - } - uStack12 = (iVar1 >> 1) + param_3; - uStack4 = uStack12 - iStack24; - } - } - } - if (param_6 == 1) { - uStack8 = param_5; - uStack16 = param_5 + iStack20; - } - else { - if (param_6 == 0) { - uStack16 = param_5; - uStack8 = param_5 - iStack20; - } - else { - if (param_6 == 2) { - iVar1 = iStack20; - if (iStack20 < 0) { - iVar1 = iStack20 + 1; - } - uStack16 = (iVar1 >> 1) + param_5; - uStack8 = uStack16 - iStack20; - } - } - } - puVar2 = draw_blackbox_to_screen(param_1,&uStack4,&uStack8,&uStack12,&uStack16); - if (param_7 == 0) { - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - puVar5 = (uint *)(int)sVar4; - en_text_write_stuff(puVar2,(int *)&uStack4,(int *)&uStack8,param_2, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar3,(int)sVar4,0,0); - } - else { - sVar3 = get_video2_settings_txtClipW(); - sVar4 = get_video2_settings_txtClipH(); - puVar5 = (uint *)(int)sVar4; - jp_text_stuff(puVar2,&uStack4,&uStack8,param_2,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xffffffff,0x646464ff,(int)sVar3,(int)sVar4,0,0); - } - return puVar5; -} - - - -uint * display_ammo_total_in_a1 - (undefined4 *param_1,undefined8 param_2,uint param_3,int param_4,uint param_5, - int param_6,int param_7) - -{ - uint *puVar1; - byte abStack12 [12]; - - sprintf((char *)abStack12,"%d\n",param_2); - puVar1 = proc_7F069A50(param_1,abStack12,param_3,param_4,param_5,param_6,param_7); - return puVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -u32 * generate_ammo_total_microcode(void) - -{ - uint uVar1; - ITEM_IDS weapon; - ITEM_IDS weapon_00; - s32 sVar2; - u32 uVar3; - int *imagedeclaration; - uint *puVar4; - short sVar7; - AMMOTYPES AVar5; - int iVar6; - short sVar8; - short sVar9; - short sVar10; - u32 *in_a0_lo; - f32 fVar11; - f32 fVar12; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f14; - uint *local_res0; - uint local_2c; - uint local_24; - int local_1c; - int local_18; - int local_14; - int local_10; - - local_res0 = in_a0_lo; - if ((pPlayer->somekinda_flags == 0) && (pPlayer->mpmenuon == 0)) { - weapon = get_item_in_hand(1); - weapon_00 = get_item_in_hand(0); - sVar2 = get_num_players(); - if (sVar2 < 3) { - local_10 = 0x3b; - local_14 = 0x3b; - } - else { - uVar3 = get_cur_playernum(); - if ((uVar3 & 1) == 0) { - local_10 = 0x3b; - local_14 = 0x6d; - } - else { - local_10 = 0x2b; - local_14 = 0x7f; - } - } - if ((((weapon_00 != ITEM_UNARMED) && - (AVar5 = get_ammo_type_for_weapon(weapon_00), AVar5 != 0)) && - (pPlayer->when_detonating_mines_is_0 != 6)) && - ((pPlayer->when_detonating_mines_is_0 != 7 && - (iVar6 = check_special_attributes(weapon_00,0x80000), iVar6 == 0)))) { - puVar4 = (uint *)(&DAT_80035ef4)[AVar5 * 3]; - local_24 = 5; - local_res0 = in_a0_lo; - if (puVar4 != NULL) { - imagedeclaration = (int *)((int)puVar4 + base_image_block_address); - fVar12 = getPlayer_c_screenleft(); - fVar11 = getPlayer_c_screenwidth(); - sVar8 = get_video2_settings_uly(); - sVar9 = get_video2_settings_height(); - puVar4 = (uint *)(int)sVar9; - set_rgba_redirect_generate_microcode - ((int *)in_a0_lo,imagedeclaration,extraout_f12,extraout_f14, - (f32)(((float)fVar11 + (float)fVar12) - (float)local_14),-1.00000000, - (f32)(float)((int)sVar9 + (int)sVar8 + -0x14),0); - local_24 = (uint)*(byte *)(imagedeclaration + 1); - local_res0 = puVar4; - } - microcode_constructor(local_res0); - iVar6 = check_special_attributes(weapon_00,0x400000); - if (iVar6 == 0) { - local_1c = pPlayer->right_weapon_ammo_in_magazine; - local_18 = pPlayer->ammoheldarr[AVar5]; - } - else { - local_1c = 0; - local_18 = pPlayer->right_weapon_ammo_in_magazine + pPlayer->ammoheldarr[AVar5]; - if (weapon == weapon_00) { - local_18 += pPlayer->left_weapon_ammo_in_magazine; - } - } - iVar6 = check_special_attributes(weapon_00,0x400000); - local_res0 = puVar4; - if (iVar6 == 0) { - sVar8 = get_video2_settings_ulx(); - sVar9 = get_video2_settings_width(); - sVar10 = get_video2_settings_uly(); - sVar7 = get_video2_settings_height(); - uVar1 = local_24; - if (false) { - uVar1 = local_24 + 1; - } - local_res0 = display_ammo_total_in_a1 - (puVar4,(longlong)local_1c, - ((((int)sVar9 + (int)sVar8) - local_14) - ((int)uVar1 >> 1)) - - 4,0,((int)sVar7 + (int)sVar10) - 0x12,2,1); - } - if ((0 < local_18) || (iVar6 = check_special_attributes(weapon_00,0x400000), iVar6 != 0) - ) { - sVar8 = get_video2_settings_ulx(); - sVar9 = get_video2_settings_width(); - sVar10 = get_video2_settings_uly(); - sVar7 = get_video2_settings_height(); - iVar6 = local_24 + 1; - if (false) { - iVar6 = local_24 + 2; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,(longlong)local_18, - (((int)sVar9 + (int)sVar8) - local_14) + (iVar6 >> 1) + 3,1, - ((int)sVar7 + (int)sVar10) - 0x12,2,1); - } - local_res0 = combiner_bayer_lod_perspective(local_res0); - } - if ((((weapon != ITEM_UNARMED) && (AVar5 = get_ammo_type_for_weapon(weapon), AVar5 != 0)) && - (pPlayer->field_C3C != 6)) && - ((pPlayer->field_C3C != 7 && - (iVar6 = check_special_attributes(weapon,0x80000), iVar6 == 0)))) { - puVar4 = (uint *)(&DAT_80035ef4)[AVar5 * 3]; - local_2c = 5; - if (puVar4 != NULL) { - imagedeclaration = (int *)((int)puVar4 + base_image_block_address); - fVar12 = getPlayer_c_screenleft(); - sVar8 = get_video2_settings_uly(); - sVar9 = get_video2_settings_height(); - puVar4 = (uint *)(int)sVar9; - set_rgba_redirect_generate_microcode - ((int *)local_res0,imagedeclaration,extraout_f12_00, - (f32)(&DAT_80035ef8)[AVar5 * 3],(f32)((float)fVar12 + (float)local_10), - -1.00000000,(f32)(float)((int)sVar9 + (int)sVar8 + -0x14),1); - local_2c = (uint)*(byte *)(imagedeclaration + 1); - local_res0 = puVar4; - } - microcode_constructor(local_res0); - iVar6 = check_special_attributes(weapon,0x400000); - if (iVar6 == 0) { - local_1c = pPlayer->left_weapon_ammo_in_magazine; - local_18 = pPlayer->ammoheldarr[AVar5]; - } - else { - local_1c = 0; - local_18 = pPlayer->left_weapon_ammo_in_magazine + pPlayer->ammoheldarr[AVar5]; - if (weapon == weapon_00) { - local_18 += pPlayer->right_weapon_ammo_in_magazine; - } - } - iVar6 = check_special_attributes(weapon,0x400000); - local_res0 = puVar4; - if (iVar6 == 0) { - sVar8 = get_video2_settings_ulx(); - sVar9 = get_video2_settings_uly(); - sVar10 = get_video2_settings_height(); - uVar1 = local_2c; - if (false) { - uVar1 = local_2c + 1; - } - local_res0 = display_ammo_total_in_a1 - (puVar4,(longlong)local_1c, - sVar8 + local_10 + ((int)uVar1 >> 1) + 3,1, - ((int)sVar10 + (int)sVar9) - 0x12,2,1); - } - if ((0 < local_18) || (iVar6 = check_special_attributes(weapon,0x400000), iVar6 != 0)) { - sVar8 = get_video2_settings_ulx(); - sVar9 = get_video2_settings_uly(); - sVar10 = get_video2_settings_height(); - iVar6 = local_2c + 1; - if (false) { - iVar6 = local_2c + 2; - } - local_res0 = display_ammo_total_in_a1 - (local_res0,(longlong)local_18, - ((sVar8 + local_10) - (iVar6 >> 1)) - 4,0, - ((int)sVar10 + (int)sVar9) - 0x12,2,1); - } - local_res0 = combiner_bayer_lod_perspective(local_res0); - } - } - return local_res0; -} - - - -undefined4 * proc_7F06A334(undefined4 *param_1) - -{ - uint uVar1; - ITEM_IDS IVar2; - ITEM_IDS item; - AMMOTYPES AVar3; - int iVar4; - weapon_stats *DL; - short sVar5; - short sVar6; - int *imagedeclaration; - f32 extraout_f12; - f32 extraout_f14; - uint uStack28; - int iStack20; - int iStack16; - - IVar2 = get_item_in_hand(1); - item = get_item_in_hand(0); - if ((((item != ITEM_UNARMED) && (AVar3 = get_ammo_type_for_weapon(item), AVar3 != 0)) && - (pPlayer->when_detonating_mines_is_0 != 6)) && - ((pPlayer->when_detonating_mines_is_0 != 7 && - (iVar4 = check_special_attributes(item,0x80000), iVar4 == 0)))) { - iVar4 = (&DAT_80035ef4)[AVar3 * 3]; - uStack28 = 5; - DL = get_ptr_item_statistics(item); - if (iVar4 != 0) { - imagedeclaration = (int *)(iVar4 + base_image_block_address); - sVar5 = get_video2_settings_uly(); - sVar6 = get_video2_settings_height(); - DL = (weapon_stats *)(int)sVar6; - set_rgba_redirect_generate_microcode - (param_1,imagedeclaration,extraout_f12,extraout_f14,200.00000000,180.00000000, - (f32)(float)((int)sVar6 + (int)sVar5 + -0x14),0); - param_1 = (undefined4 *)DL; - uStack28 = (uint)*(byte *)(imagedeclaration + 1); - DL = (weapon_stats *)param_1; - } - microcode_constructor(param_1); - iVar4 = check_special_attributes(item,0x400000); - if (iVar4 == 0) { - iStack20 = pPlayer->right_weapon_ammo_in_magazine; - iStack16 = pPlayer->ammoheldarr[AVar3]; - } - else { - iStack20 = 0; - iStack16 = pPlayer->right_weapon_ammo_in_magazine + pPlayer->ammoheldarr[AVar3]; - if (IVar2 == item) { - iStack16 += pPlayer->left_weapon_ammo_in_magazine; - } - } - iVar4 = check_special_attributes(item,0x400000); - if (iVar4 == 0) { - uVar1 = uStack28; - if (false) { - uVar1 = uStack28 + 1; - } - DL = (weapon_stats *) - display_ammo_total_in_a1 - ((undefined4 *)DL,(longlong)iStack20,0xc4 - ((int)uVar1 >> 1),0,0xb1,2,0) - ; - } - if ((0 < iStack16) || (iVar4 = check_special_attributes(item,0x400000), iVar4 != 0)) { - iVar4 = uStack28 + 1; - if (false) { - iVar4 = uStack28 + 2; - } - DL = (weapon_stats *) - display_ammo_total_in_a1 - ((undefined4 *)DL,(longlong)iStack16,(iVar4 >> 1) + 0xcb,1,0xb1,2,0); - } - param_1 = combiner_bayer_lod_perspective((undefined4 *)DL); - } - return param_1; -} - - - -void set_unset_bitflags(int bitflags,int flag) - -{ - if (flag != 0) { - pPlayer->somekinda_bitflags = pPlayer->somekinda_bitflags & ~bitflags; - return; - } - pPlayer->somekinda_bitflags = pPlayer->somekinda_bitflags | bitflags; - return; -} - - - -void proc_7F06A5E4(uint **param_1) - -{ - int iVar1; - f32 wdivh; - float local_14; - undefined4 local_10; - float local_c; - float local_8; - uint *local_4; - - if ((pPlayer->somekinda_bitflags == 0) && (pPlayer->mpmenuon == 0)) { - local_4 = *param_1; - append_image_to_DL(&local_4,crosshairimage,4,0,0); - local_c = pPlayer->field_FE8; - local_8 = pPlayer->field_FEC; - local_14 = 16.00000000; - local_10 = 0x41800000; - iVar1 = get_screen_ratio(); - if (iVar1 == 1) { - local_14 = local_14 * 0.75000000; - } - display_image_at_on_screen_coord - ((int *)&local_4,(int *)&local_c,wdivh,(int)&local_14,0x20,0x20,0,0,1,0xff,0xff, - 0xff,0x6e,(uint)(crosshairimage->level != '\0')); - *param_1 = local_4; - } - return; -} - - - -void inc_curplayer_hitcount_with_weapon(int weapon,int hitcount) - -{ - int iVar1; - - iVar1 = check_special_attributes(weapon,0x10000); - if (iVar1 != 0) { - pPlayersPerm->shotcount[hitcount] = pPlayersPerm->shotcount[hitcount] + 1; - } - return; -} - - - -int get_curplayer_shot_register(int statsregister) - -{ - return pPlayersPerm->shotcount[statsregister]; -} - - - -void inc_cur_civilian_casualties(void) - -{ - pPlayersPerm->killed_civilians = pPlayersPerm->killed_civilians + 1; - return; -} - - - -int get_civilian_casualties(void) - -{ - return pPlayersPerm->killed_civilians; -} - - - -void increment_num_kills_display_text_in_MP(void) - -{ - s32 sVar1; - int iVar2; - u8 *puVar3; - int iVar4; - int iVar5; - char acStack256 [256]; - - pPlayersPerm->killcount = pPlayersPerm->killcount + 1; - pPlayer->field_29F8 = pPlayer->field_29F8 + 1; - sVar1 = get_num_players(); - if (1 < sVar1) { - iVar2 = getMissiontime(); - puVar3 = get_textptr_for_textID(0x98da); - sprintf(acStack256,"%s: %d\n",puVar3,pPlayersPerm->killcount); - display_string_in_lower_left_corner(acStack256); - if (1 < pPlayersPerm->killcount) { - iVar4 = iVar2 - pPlayer->last_kill_time; - if (pPlayersPerm->slowest2kills < iVar4) { - pPlayersPerm->slowest2kills = iVar4; - iVar5 = pPlayersPerm->fastest2kills; - } - else { - iVar5 = pPlayersPerm->fastest2kills; - } - if (iVar4 < iVar5) { - pPlayersPerm->fastest2kills = iVar4; - } - } - iVar4 = 1; - pPlayer->field_29F0 = pPlayer->field_29EC; - pPlayer->field_29EC = pPlayer->field_29E8; - pPlayer->field_29E8 = pPlayer->last_kill_time; - pPlayer->last_kill_time = iVar2; - if ((pPlayer->field_29E8 != -1) && - (iVar2 = pPlayer->last_kill_time, iVar2 - pPlayer->field_29E8 < 0x78)) { - iVar4 = 2; - if ((pPlayer->field_29EC != -1) && (iVar2 - pPlayer->field_29EC < 0x78)) { - iVar4 = 3; - if ((pPlayer->field_29F0 != -1) && (iVar2 - pPlayer->field_29F0 < 0x78)) { - iVar4 = 4; - } - } - } - if (pPlayersPerm->most_killed_one_time < iVar4) { - pPlayersPerm->most_killed_one_time = iVar4; - } - } - return; -} - - - -int get_curplay_killcount(void) - -{ - return pPlayersPerm->killcount; -} - - - -void increment_num_times_killed_MwtGC(void) - -{ - pPlayersPerm->ggkillcount = pPlayersPerm->ggkillcount + 1; - return; -} - - - -int get_times_killed_mwtgx(void) - -{ - return pPlayersPerm->ggkillcount; -} - - - -void increment_num_deaths(void) - -{ - s32 sVar1; - u8 *__format; - u8 *puVar2; - char acStack256 [256]; - - pPlayer->deathcount = pPlayer->deathcount + 1; - sVar1 = get_num_players(); - if (1 < sVar1) { - if (pPlayer->deathcount == 1) { - __format = get_textptr_for_textID(0x98db); - sprintf(acStack256,(char *)__format); - } - else { - __format = get_textptr_for_textID(0x98dc); - puVar2 = get_textptr_for_textID(0x98dd); - sprintf(acStack256,"%s %d %s\n",__format,pPlayer->deathcount,puVar2); - } - display_string_in_lower_left_corner(acStack256); - } - return; -} - - - -int get_curplayer_numdeaths(void) - -{ - return pPlayer->deathcount; -} - - - -void increment_num_suicides_display_MP(void) - -{ - s32 sVar1; - int iVar2; - u8 *puVar3; - int iVar4; - int iVar5; - char acStack256 [256]; - - pPlayer->num_suicides = pPlayer->num_suicides + 1; - sVar1 = get_num_players(); - if (1 < sVar1) { - iVar2 = getMissiontime(); - puVar3 = get_textptr_for_textID(0x98de); - sprintf(acStack256,"%s: %d\n",puVar3,pPlayer->num_suicides); - display_string_in_lower_left_corner(acStack256); - if (1 < pPlayersPerm->killcount) { - iVar4 = iVar2 - pPlayer->last_kill_time; - if (pPlayersPerm->slowest2kills < iVar4) { - pPlayersPerm->slowest2kills = iVar4; - iVar5 = pPlayersPerm->fastest2kills; - } - else { - iVar5 = pPlayersPerm->fastest2kills; - } - if (iVar4 < iVar5) { - pPlayersPerm->fastest2kills = iVar4; - } - } - iVar4 = 1; - pPlayer->field_29F0 = pPlayer->field_29EC; - pPlayer->field_29EC = pPlayer->field_29E8; - pPlayer->field_29E8 = pPlayer->last_kill_time; - pPlayer->last_kill_time = iVar2; - if ((pPlayer->field_29E8 != -1) && - (iVar2 = pPlayer->last_kill_time, iVar2 - pPlayer->field_29E8 < 0x78)) { - iVar4 = 2; - if ((pPlayer->field_29EC != -1) && (iVar2 - pPlayer->field_29EC < 0x78)) { - iVar4 = 3; - if ((pPlayer->field_29F0 != -1) && (iVar2 - pPlayer->field_29F0 < 0x78)) { - iVar4 = 4; - } - } - } - if (pPlayersPerm->most_killed_one_time < iVar4) { - pPlayersPerm->most_killed_one_time = iVar4; - } - } - return; -} - - - -int get_curplayer_numsuicides(void) - -{ - return pPlayer->num_suicides; -} - - - -void proc_7F06ABB0(int *DL,float *xypos,float *width,int height,int rotateleft90,int fliph,int flipv - ,int red) - -{ - undefined4 *puVar1; - uint *puVar2; - uint uVar3; - int iVar4; - uint uVar5; - int iVar6; - int iVar7; - float fVar8; - float fVar9; - uint uVar10; - uint uVar11; - float fVar12; - uint uVar13; - uint uVar14; - - if ((0.00000000 < *width) && (0.00000000 < width[1])) { - puVar1 = (undefined4 *)*DL; - *puVar1 = 0xba001301; - puVar1[1] = 0; - fVar8 = *width; - fVar9 = width[1]; - iVar4 = 0; - uVar5 = 0; - puVar2 = puVar1 + 2; - uVar14 = (uint)((*xypos - fVar8) * 4.00000000); - uVar11 = (uint)((xypos[1] - fVar9) * 4.00000000); - uVar10 = (uint)((fVar8 + *xypos) * 4.00000000); - uVar13 = (uint)((fVar9 + xypos[1]) * 4.00000000); - if ((-1 < (int)uVar10) && (-1 < (int)uVar13)) { - if ((int)uVar14 < 0) { - if (fliph == 0) { - iVar7 = uVar10 - uVar14; - iVar6 = -uVar14 * height * 0x20; - iVar4 = iVar6 / iVar7; - if (iVar7 == 0) { - trap(0x1c00); - } - if ((iVar7 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - uVar14 = 0; - } - else { - iVar7 = uVar10 - uVar14; - iVar6 = -uVar14 * rotateleft90 * 0x20; - uVar5 = iVar6 / iVar7; - if (iVar7 == 0) { - trap(0x1c00); - } - if ((iVar7 == -1) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - uVar14 = 0; - } - } - if ((int)uVar11 < 0) { - if (fliph == 0) { - iVar6 = uVar13 - uVar11; - iVar7 = -uVar11 * rotateleft90 * 0x20; - uVar5 += iVar7 / iVar6; - if (iVar6 == 0) { - trap(0x1c00); - } - if ((iVar6 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - uVar11 = 0; - } - else { - iVar6 = uVar13 - uVar11; - iVar7 = -uVar11 * height * 0x20; - iVar4 += iVar7 / iVar6; - if (iVar6 == 0) { - trap(0x1c00); - } - if ((iVar6 == -1) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - uVar11 = 0; - } - } - if (fliph == 0) { - fVar12 = (float)height / (fVar8 + fVar8); - fVar8 = (float)rotateleft90 / (fVar9 + fVar9); - } - else { - fVar12 = (float)height / (fVar9 + fVar9); - fVar8 = (float)rotateleft90 / (fVar8 + fVar8); - } - uVar3 = (uint)(fVar8 * 1024.00000000); - iVar6 = (int)(fVar12 * 1024.00000000); - if (flipv != 0) { - iVar6 = 0x10000 - iVar6; - iVar4 = (height + -1) * 0x20 - iVar4; - } - if (red != 0) { - uVar3 = 0x10000 - uVar3; - uVar5 = (rotateleft90 + -1) * 0x20 - uVar5; - } - if (fliph == 0) { - *puVar2 = (uVar10 & 0xfff) << 0xc | 0xe4000000 | uVar13 & 0xfff; - puVar1[3] = (uVar14 & 0xfff) << 0xc | uVar11 & 0xfff; - puVar1[4] = 0xb4000000; - puVar1[5] = iVar4 << 0x10 | uVar5 & 0xffff; - puVar1[6] = 0xb3000000; - puVar1[7] = iVar6 << 0x10 | uVar3 & 0xffff; - } - else { - *puVar2 = (uVar10 & 0xfff) << 0xc | 0xe5000000 | uVar13 & 0xfff; - puVar1[3] = (uVar14 & 0xfff) << 0xc | uVar11 & 0xfff; - puVar1[4] = 0xb4000000; - puVar1[5] = iVar4 << 0x10 | uVar5 & 0xffff; - puVar1[6] = 0xb3000000; - puVar1[7] = iVar6 << 0x10 | uVar3 & 0xffff; - } - puVar2 = puVar1 + 8; - } - puVar2[1] = 0x80000; - *puVar2 = 0xba001301; - *(uint **)DL = puVar2 + 2; - } - return; -} - - - -void display_image_at_on_screen_coord - (int *DL,int *xypos,f32 wdivh,int width,int height,int rotateleft90,int fliph, - int flipv,int red,int green,int blue,int alpha,int format,int param_14) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - int in_stack_00000034; - - if ((0.00000000 < *(float *)width) && (0.00000000 < *(float *)(width + 4))) { - puVar1 = (undefined4 *)*DL; - *puVar1 = 0xfb000000; - puVar1[1] = green << 0x18 | (blue & 0xffU) << 0x10 | (alpha & 0xffU) << 8 | format & 0xffU; - puVar2 = puVar1 + 2; - if (param_14 == 0) { - if (in_stack_00000034 == 0) { - *puVar2 = 0xfc129a25; - puVar1[3] = 0xff37ffff; - } - else { - puVar1[3] = 0xfffffe38; - *puVar2 = 0xfc129bff; - } - } - else { - *puVar2 = 0xfc26a005; - puVar1[3] = 0x1f1493ff; - } - *(undefined4 **)DL = puVar1 + 4; - proc_7F06ABB0(DL,(float *)xypos,(float *)width,height,rotateleft90,fliph,flipv,red); - } - return; -} - - - -int * proc_7F06B120(int *param_1,int param_2) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - int *piVar4; - int *piVar5; - int *piVar6; - - puVar2 = **(ushort ***)(param_2 + 8); - piVar4 = dword_80036060; - if ((puVar2 != NULL) && (dword_80036060 != NULL)) { - uVar1 = *puVar2; - do { - if (false) { -switchD_7f06b16c_caseD_4: - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - *piVar4 = param_2; - *(ushort **)(piVar4 + 1) = puVar2; - piVar4 = (int *)piVar4[3]; - puVar3 = *(ushort **)(puVar2 + 10); - break; - default: - goto switchD_7f06b16c_caseD_4; - } - } - if ((puVar3 == NULL) && (puVar3 = puVar2, puVar2 != NULL)) { - puVar3 = *(ushort **)(puVar2 + 6); - while ((puVar3 == NULL && - (puVar2 = *(ushort **)(puVar2 + 4), puVar3 = puVar2, puVar2 != NULL))) { - puVar3 = *(ushort **)(puVar2 + 6); - } - } - if ((puVar3 == NULL) || (piVar4 == NULL)) break; - uVar1 = *puVar3; - puVar2 = puVar3; - } while( true ); - } - piVar6 = param_1; - if (piVar4 != dword_80036060) { - piVar6 = dword_80036060; - if (param_1 != NULL) { - if (param_1[3] == 0) { - *(int **)(param_1 + 3) = dword_80036060; - piVar5 = param_1; - } - else { - piVar6 = (int *)param_1[3]; - do { - piVar5 = piVar6; - piVar6 = (int *)piVar5[3]; - } while ((int *)piVar5[3] != NULL); - *(int **)(piVar5 + 3) = dword_80036060; - } - *(int **)(dword_80036060 + 4) = piVar5; - piVar6 = param_1; - } - dword_80036060 = piVar4; - if ((piVar4 != NULL) && (piVar4[4] != 0)) { - *(undefined4 *)(piVar4[4] + 0xc) = 0; - piVar4[4] = 0; - } - } - return piVar6; -} - - - -void proc_7F06B248(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = dword_80036060; - if ((param_1 != 0) && (iVar1 = param_1, dword_80036060 != 0)) { - if (*(int *)(param_1 + 0xc) == 0) { - *(int *)(param_1 + 0xc) = dword_80036060; - iVar2 = param_1; - } - else { - iVar1 = *(int *)(param_1 + 0xc); - do { - iVar2 = iVar1; - iVar1 = *(int *)(iVar2 + 0xc); - } while (*(int *)(iVar2 + 0xc) != 0); - *(int *)(iVar2 + 0xc) = dword_80036060; - } - *(int *)(dword_80036060 + 0x10) = iVar2; - iVar1 = param_1; - } - dword_80036060 = iVar1; - return; -} - - - -void proc_7F06B29C(int *param_1) - -{ - ushort *puVar1; - ushort *puVar2; - float *pfVar3; - int iVar4; - int *piVar5; - int iVar6; - int iVar7; - float *pfVar8; - int iVar9; - int *piVar10; - int *piVar11; - int *piVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - int *piStack8; - - piStack8 = NULL; - if (param_1 != NULL) { - puVar1 = (ushort *)param_1[1]; - piVar12 = param_1; - while( true ) { - if (true) { - switch((uint)*puVar1 & 0xff) { - case 1: - puVar2 = *(ushort **)(*(int *)(puVar1 + 2) + 4); - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - if (puVar2 == NULL) { - *(float *)(piVar12 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar7 = proc_7F06C660(*piVar12,puVar2,0); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar7 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 2: - puVar2 = *(ushort **)(*(int *)(puVar1 + 2) + 0x14); - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - if (puVar2 == NULL) { - *(float *)(piVar12 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar7 = proc_7F06C660(*piVar12,puVar2,0); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar7 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 3: - puVar2 = *(ushort **)(*(int *)(puVar1 + 2) + 0x14); - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - if (puVar2 == NULL) { - *(float *)(piVar12 + 2) = -*(float *)(iVar6 + 0x38); - } - else { - iVar7 = proc_7F06C660(*piVar12,puVar2,0); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar7 + 0x38) + *(float *)(iVar6 + 0x38)) * 0.50000000; - } - break; - case 0xb: - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - break; - case 0xc: - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - break; - case 0xd: - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - iVar7 = extract_id_from_object_structure_microcode(*piVar12,(ushort *)pfVar3[5]) - ; - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + - (*(float *)(iVar7 + 4) - *(float *)(iVar7 + 0xc)) * - *(float *)(iVar6 + 0x18) + pfVar3[1] * *(float *)(iVar6 + 0x28)); - break; - case 0xe: - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - break; - case 0xf: - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - fVar19 = -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) - + pfVar3[2] * *(float *)(iVar6 + 0x28)); - fVar13 = -(*(float *)(iVar6 + 0x38) + - pfVar3[3] * *(float *)(iVar6 + 8) + - pfVar3[4] * *(float *)(iVar6 + 0x18) + - pfVar3[5] * *(float *)(iVar6 + 0x28)); - if (fVar19 < fVar13) { - *(float *)(piVar12 + 2) = fVar19; - } - else { - *(float *)(piVar12 + 2) = fVar13; - } - break; - case 0x10: - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - pfVar3 = *(float **)(puVar1 + 2); - *(float *)(piVar12 + 2) = - -(*(float *)(iVar6 + 0x38) + - *pfVar3 * *(float *)(iVar6 + 8) + pfVar3[1] * *(float *)(iVar6 + 0x18) + - pfVar3[2] * *(float *)(iVar6 + 0x28)); - piStack8 = piVar12; - break; - case 0x15: - iVar6 = proc_7F06C660(*piVar12,puVar1,0); - *(float *)(piVar12 + 2) = -*(float *)(iVar6 + 0x38); - } - } - piVar12 = (int *)piVar12[3]; - if (piVar12 == NULL) break; - puVar1 = (ushort *)piVar12[1]; - } - } - if (piStack8 != NULL) { - iVar6 = *(int *)(*piStack8 + 0x18); - if (iVar6 != 0) { - fVar19 = (float)piStack8[2]; - pfVar3 = *(float **)((ushort *)piStack8[1] + 2); - iVar6 = *(int *)(*(int *)(iVar6 + 8) + 8); - iVar7 = *(int *)(iVar6 + (int)*(short *)((int)pfVar3 + 0xe) * 4); - iVar4 = *(int *)(iVar6 + (int)*(short *)(pfVar3 + 3) * 4); - iVar6 = *(int *)(iVar6 + (int)*(short *)(pfVar3 + 4) * 4); - pfVar8 = (float *)proc_7F06C660(*piStack8,(ushort *)piStack8[1],0); - piVar12 = NULL; - piVar10 = NULL; - piVar11 = NULL; - if (param_1 != NULL) { - iVar9 = param_1[1]; - while( true ) { - if (iVar7 == iVar9) { - piVar10 = param_1; - } - if (iVar4 == iVar9) { - piVar12 = param_1; - } - if (iVar6 == iVar9) { - piVar5 = (int *)param_1[3]; - piVar11 = param_1; - } - else { - piVar5 = (int *)param_1[3]; - } - if (piVar5 == NULL) break; - iVar9 = piVar5[1]; - param_1 = piVar5; - } - } - fVar14 = pfVar8[0xc] + *pfVar3 * *pfVar8 + pfVar3[1] * pfVar8[4] + pfVar3[2] * pfVar8[8] - ; - fVar15 = pfVar8[0xd] + - *pfVar3 * pfVar8[1] + pfVar3[1] * pfVar8[5] + pfVar3[2] * pfVar8[9]; - fVar16 = pfVar8[0xe] + - *pfVar3 * pfVar8[2] + pfVar3[1] * pfVar8[6] + pfVar3[2] * pfVar8[10]; - fVar18 = (float)piVar10[2]; - fVar17 = (float)piVar12[2]; - fVar20 = (float)piVar11[2]; - fVar13 = fVar16 * pfVar8[10] + pfVar8[8] * fVar14 + pfVar8[9] * fVar15; - fVar14 = fVar16 * pfVar8[6] + pfVar8[4] * fVar14 + pfVar8[5] * fVar15; - if (fVar13 < 0.00000000) { - if (fVar20 < fVar18) { - if (fVar20 < fVar19) { - *(float *)(piStack8 + 2) = fVar20 - 0.00003052; - } - } - else { - if (fVar18 < fVar19) { - *(float *)(piStack8 + 2) = fVar18 - 0.00003052; - } - } - } - else { - if (0.00000000 <= fVar13) { - if (fVar19 < fVar18) { - *(float *)(piVar10 + 2) = fVar19 - 0.00006104; - } - if (fVar19 < fVar20) { - if (fVar20 < fVar18) { - *(float *)(piVar11 + 2) = fVar19 - 0.00009155; - } - else { - *(float *)(piVar11 + 2) = fVar19 - 0.00003052; - } - } - } - } - if (fVar14 < 0.00000000) { - fVar19 = (float)piStack8[2]; - if (fVar17 < fVar19) { - if ((float)piVar10[2] < fVar19) { - if (fVar17 < (float)piVar10[2]) { - *(float *)(piVar10 + 2) = fVar17 - 0.00006104; - fVar19 = (float)piStack8[2]; - fVar13 = (float)piVar11[2]; - } - else { - fVar13 = (float)piVar11[2]; - } - } - else { - fVar13 = (float)piVar11[2]; - } - if ((fVar13 < fVar19) && (fVar17 < fVar13)) { - if (fVar20 < fVar18) { - *(float *)(piVar11 + 2) = fVar17 - 0.00009155; - } - else { - *(float *)(piVar11 + 2) = fVar17 - 0.00003052; - } - } - *(float *)(piStack8 + 2) = fVar17 - 0.00001526; - } - } - else { - if ((0.00000000 <= fVar14) && ((float)piStack8[2] < fVar17)) { - *(float *)(piVar12 + 2) = (float)piStack8[2] - 0.00001526; - if ((fVar17 < fVar18) && ((float)piVar10[2] < (float)piVar12[2])) { - *(float *)(piVar12 + 2) = (float)piVar10[2] - 0.00001526; - } - if ((fVar17 < fVar20) && ((float)piVar11[2] < (float)piVar12[2])) { - *(float *)(piVar12 + 2) = (float)piVar11[2] - 0.00001526; - } - } - } - } - } - return; -} - - - -int proc_7F06BB28(int param_1) - -{ - undefined *puVar1; - undefined *puVar2; - int iVar3; - int iVar4; - undefined *puVar5; - undefined *puVar6; - undefined *puVar7; - float fVar8; - float fVar9; - undefined auStack40 [20]; - undefined auStack20 [12]; - int iStack8; - - if (param_1 != 0) { - iVar4 = param_1; - if (*(int *)(param_1 + 0xc) != 0) { - iVar3 = *(int *)(param_1 + 0xc); - do { - iVar4 = iVar3; - iVar3 = *(int *)(iVar4 + 0xc); - } while (*(int *)(iVar4 + 0xc) != 0); - } - puVar6 = auStack20; - iStack8 = param_1; - *(undefined **)(param_1 + 0x10) = puVar6; - *(undefined **)(iVar4 + 0xc) = auStack40; - do { - puVar1 = *(undefined **)(puVar6 + 0xc); - puVar5 = NULL; - if (puVar1 != auStack40) { - fVar8 = -4294967296.00000000; - fVar9 = *(float *)(puVar1 + 8); - puVar7 = puVar1; - while( true ) { - if (fVar8 < fVar9) { - puVar2 = *(undefined **)(puVar7 + 0xc); - puVar5 = puVar7; - } - else { - puVar2 = *(undefined **)(puVar7 + 0xc); - fVar9 = fVar8; - } - if (puVar2 == auStack40) break; - fVar8 = fVar9; - fVar9 = *(float *)(puVar2 + 8); - puVar7 = puVar2; - } - } - if (puVar5 != NULL) { - *(undefined4 *)(*(int *)(puVar5 + 0xc) + 0x10) = *(undefined4 *)(puVar5 + 0x10); - *(undefined4 *)(*(int *)(puVar5 + 0x10) + 0xc) = *(undefined4 *)(puVar5 + 0xc); - *(undefined **)(puVar5 + 0x10) = puVar6; - *(undefined4 *)(puVar5 + 0xc) = *(undefined4 *)(puVar6 + 0xc); - *(undefined **)(*(int *)(puVar6 + 0xc) + 0x10) = puVar5; - *(undefined **)(puVar6 + 0xc) = puVar5; - puVar1 = puVar5; - } - puVar6 = puVar1; - } while (puVar6 != auStack40); - *(undefined4 *)(iStack8 + 0x10) = 0; - *(undefined4 *)(iVar4 + 0xc) = 0; - param_1 = iStack8; - } - return param_1; -} - - - -void drawjointlist(int param_1,uint *param_2,undefined4 param_3,int param_4) - -{ - ushort uVar1; - uint uVar2; - ushort *puVar3; - undefined4 *puVar4; - bool bVar5; - u32 uVar6; - uint object; - longlong lVar7; - longlong extraout_a2; - longlong extraout_a2_00; - longlong extraout_a3; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 uVar8; - longlong extraout_a3_00; - longlong extraout_a3_01; - longlong extraout_a3_02; - longlong extraout_a3_03; - ushort *puVar9; - ushort *puVar10; - int object_initialized; - int iVar11; - float fVar12; - - lVar7 = (longlong)param_4; - if (*(int *)(param_1 + 0xc) == 0) { - osSyncPrintf("drawjointlist: no gfxlist!\n",param_2,param_3); - return_null(); - lVar7 = extraout_a3; - } - if (param_2 == NULL) { - return; - } - uVar2 = *param_2; -LAB_7f06bc58: - uVar8 = (undefined4)lVar7; - lVar7 = (longlong)(int)uVar2; - puVar3 = (ushort *)param_2[1]; - if (*(int *)(uVar2 + 8) == 0) { - osSyncPrintf("drawjointlist: no object! (0x%X)\n",lVar7); - return_null(); - object_initialized = *(int *)(*(int *)(*param_2 + 8) + 0x1c); - lVar7 = extraout_a2; - uVar8 = extraout_a3_lo; - } - else { - object_initialized = *(int *)(*(int *)(uVar2 + 8) + 0x1c); - } - if (object_initialized == 0) { - osSyncPrintf("drawjointlist: object not initialised! (0x%X)\n"); - return_null(); - iVar11 = *(int *)(param_1 + 0x18); - lVar7 = extraout_a2_00; - uVar8 = extraout_a3_lo_00; - } - else { - iVar11 = *(int *)(param_1 + 0x18); - } - puVar9 = puVar3; - if (iVar11 == 0) { - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - *puVar4 = 0xbc000c06; - uVar6 = osVirtualToPhysical(*(void **)(*param_2 + 0xc)); - puVar4[1] = uVar6; - lVar7 = extraout_a3_01; - } - else { - fVar12 = getjointsize(*param_2,puVar3,lVar7,uVar8); - lVar7 = extraout_a3_00; - if ((float)param_2[2] < fVar12) { - puVar9 = NULL; - } - } - if (puVar9 != NULL) { - uVar1 = *puVar9; - do { - bVar5 = true; - if (false) { -switchD_7f06bd3c_caseD_4: - proc_7F074534(param_1,*param_2,puVar9); - lVar7 = extraout_a3_03; - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - if (puVar9 == puVar3) { - proc_7F074534(param_1,*param_2,puVar9); - lVar7 = extraout_a3_02; - } - else { - bVar5 = false; - } - break; - default: - goto switchD_7f06bd3c_caseD_4; - } - } - if ((!bVar5) || (puVar10 = *(ushort **)(puVar9 + 10), puVar10 == NULL)) { - while (puVar10 = puVar9, puVar9 != NULL) { - if (puVar9 == puVar3) { - puVar10 = NULL; - break; - } - puVar10 = *(ushort **)(puVar9 + 6); - if (puVar10 != NULL) break; - puVar9 = *(ushort **)(puVar9 + 4); - } - } - if (puVar10 == NULL) goto code_r0x7f06bdd4; - uVar1 = *puVar10; - puVar9 = puVar10; - } while( true ); - } - param_2 = (uint *)param_2[3]; - goto LAB_7f06bdd8; -code_r0x7f06bdd4: - param_2 = (uint *)param_2[3]; -LAB_7f06bdd8: - if (param_2 == NULL) { - return; - } - uVar2 = *param_2; - goto LAB_7f06bc58; -} - - - -undefined4 -probably_damage_detail_blood_effect_related - (int **param_1,float *param_2,float *param_3,int *param_4,ushort **param_5) - -{ - ushort *puVar1; - bool bVar2; - ulonglong uVar3; - longlong lVar4; - ushort *puVar5; - ushort *puVar6; - int *piVar7; - - piVar7 = *param_1; - if (piVar7 == NULL) { -LAB_7f06bfdc: - *param_1 = NULL; - return 0; - } - puVar6 = *param_5; - do { - puVar1 = (ushort *)piVar7[1]; - bVar2 = true; - puVar5 = puVar1; - if (puVar6 != NULL) { - *param_5 = NULL; - puVar5 = puVar6; - } - if (puVar5 == NULL) { - piVar7 = (int *)piVar7[4]; - } - else { - do { - if ((!bVar2) || (puVar6 = *(ushort **)(puVar5 + 10), puVar6 == NULL)) { - while (puVar6 = puVar5, puVar5 != NULL) { - if (puVar5 == puVar1) { - puVar6 = NULL; - break; - } - puVar6 = *(ushort **)(puVar5 + 6); - if (puVar6 != NULL) break; - puVar5 = *(ushort **)(puVar5 + 4); - } - if (puVar6 == NULL) { - piVar7 = (int *)piVar7[4]; - goto LAB_7f06bfd4; - } - } - uVar3 = (ulonglong)*puVar6; - bVar2 = true; - if (true) { - switch((uint)*puVar6 & 0xff) { - case 1: - case 2: - case 3: - case 0x15: - bVar2 = false; - break; - case 8: - proc_7F06E970(*piVar7,puVar6); - break; - case 10: - proc_7F074C68(*piVar7,puVar6,param_2,param_3); - if (uVar3 != 0) { - *param_4 = *piVar7; - *param_5 = puVar6; - *param_1 = piVar7; - return **(undefined4 **)(puVar6 + 2); - } - bVar2 = false; - break; - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - bVar2 = false; - break; - case 0x11: - lVar4 = proc_7F074CAC(*piVar7,puVar6,param_2,param_3); - if (lVar4 != 0) { - *param_4 = *piVar7; - *param_5 = puVar6; - *param_1 = piVar7; - return **(undefined4 **)(puVar6 + 2); - } - bVar2 = false; - break; - case 0x12: - process_12_handle_switch(*piVar7,puVar6); - break; - case 0x17: - process_17_pointer_to_head(*piVar7,puVar6); - } - } - puVar5 = puVar6; - } while (puVar6 != NULL); - piVar7 = (int *)piVar7[4]; - } -LAB_7f06bfd4: - if (piVar7 == NULL) goto LAB_7f06bfdc; - puVar6 = *param_5; - } while( true ); -} - - - -undefined4 proc_7F06C010(int **param_1,float *param_2,float *param_3,int *param_4,ushort **param_5) - -{ - int *piVar1; - int *piVar2; - undefined4 uVar3; - - piVar1 = *param_1; - piVar2 = (int *)(*param_1)[3]; - while (piVar2 != NULL) { - piVar1 = piVar2; - piVar2 = (int *)piVar2[3]; - } - *param_1 = piVar1; - *param_4 = 0; - *param_5 = NULL; - uVar3 = probably_damage_detail_blood_effect_related(param_1,param_2,param_3,param_4,param_5); - return uVar3; -} - - - -ulonglong proc_7F06C060(int param_1,int param_2) - -{ - short sVar1; - bool bVar2; - ulonglong uVar3; - - sVar1 = *(short *)(param_2 + 0x14); - uVar3 = (ulonglong)(sVar1 < 1); - if ((sVar1 >= 1) && (bVar2 = *(int *)(param_1 + 0x10) != 0, uVar3 = (ulonglong)bVar2, bVar2)) { - uVar3 = (ulonglong)(*(short *)(param_1 + 2) < sVar1) ^ 1; - } - return uVar3; -} - - - -uint get_obj_instance_controller_for_header(object_header *objheader) - -{ - short sVar1; - int iVar3; - ulonglong uVar2; - int iVar4; - uint uVar5; - short sStack10; - uint uStack8; - - uVar5 = 0; - uStack8 = 0; - sStack10 = -1; - if (dword_80036078 == 0) { - iVar4 = 0; - iVar3 = 0; - if (0 < dword_80036074) { - do { - if ((*(int *)(ptr_allocation_1 + iVar3 + 8) == 0) && - (uVar2 = proc_7F06C060(iVar4 * 0x20 + ptr_allocation_1,(int)objheader), - uVar2 != 0)) { - uStack8 = *(uint *)(ptr_allocation_1 + iVar3 + 0x10); - uVar5 = iVar4 * 0x20 + ptr_allocation_1; - sStack10 = *(short *)(ptr_allocation_1 + iVar3 + 2); - break; - } - iVar4 += 1; - iVar3 += 0x20; - } while (iVar4 < dword_80036074); - } - } - else { - iVar3 = 0; - iVar4 = ptr_allocation_1; - if (0 < dword_80036074 + -0x1e) { - do { - if (*(int *)(iVar4 + 8) == 0) { - uVar5 = iVar3 * 0x20 + ptr_allocation_1; - break; - } - iVar3 += 1; - iVar4 = iVar4 + 0x20; - } while (iVar3 < dword_80036074 + -0x1e); - } - if (uVar5 == 0) { - uVar5 = mempAllocBytesInBank(0x20,'\x04'); - sVar1 = objheader->num_table_entries; - } - else { - sVar1 = objheader->num_table_entries; - } - if (0 < sVar1) { - uStack8 = mempAllocBytesInBank(((int)sVar1 * 4 + 0xfU | 0xf) ^ 0xf,'\x04'); - sStack10 = objheader->num_table_entries; - } - } - if (uVar5 != 0) { - proc_7F075F68(uVar5,(ushort **)objheader,uStack8); - *(short *)(uVar5 + 2) = sStack10; - } - return uVar5; -} - - - -void set_obj_instance_scale_to_zero(int *ptrobjinstance) - -{ - ptrobjinstance[2] = 0; - return; -} - - - -uint get_aircraft_obj_instance_controller(object_header *objheader) - -{ - int *piVar1; - int iVar2; - int iVar3; - int iVar4; - short sVar5; - uint uVar6; - uint local_8; - - uVar6 = 0; - local_8 = 0; - sVar5 = -1; - if (dword_80036078 == 0) { - iVar2 = 0; - if (0 < dword_80036070) { - iVar4 = 0; - iVar3 = ptr_allocation_0; - do { - iVar2 += 1; - if (*(int *)(iVar3 + 8) == 0) { - if (objheader->num_table_entries < 1) { - local_8 = *(uint *)(iVar3 + 0x10); - } - else { - if ((*(int *)(iVar3 + 0x10) == 0) || - (*(short *)(iVar3 + 2) < objheader->num_table_entries)) - goto LAB_7f06c374; - local_8 = *(uint *)(iVar3 + 0x10); - } - uVar6 = iVar4 + ptr_allocation_0; - sVar5 = *(short *)(iVar3 + 2); - break; - } -LAB_7f06c374: - iVar4 += 0xbc; - iVar3 += 0xbc; - } while (iVar2 < dword_80036070); - } - } - else { - iVar2 = 0; - if (0 < dword_80036070 + -10) { - iVar4 = 0; - iVar3 = ptr_allocation_0; - do { - piVar1 = (int *)(iVar3 + 8); - iVar2 += 1; - iVar3 += 0xbc; - if (*piVar1 == 0) { - uVar6 = iVar4 + ptr_allocation_0; - break; - } - iVar4 += 0xbc; - } while (iVar2 < dword_80036070 + -10); - } - if (uVar6 == 0) { - uVar6 = mempAllocBytesInBank(0xc0,'\x04'); - } - sVar5 = -1; - if (0 < objheader->num_table_entries) { - local_8 = mempAllocBytesInBank - (((int)objheader->num_table_entries * 4 + 0xfU | 0xf) ^ 0xf,'\x04'); - sVar5 = objheader->num_table_entries; - } - } - if (uVar6 != 0) { - proc_7F075FAC(uVar6,(ushort **)objheader,local_8); - *(short *)(uVar6 + 2) = sVar5; - } - return uVar6; -} - - - -void proc_7F06C3B4(int param_1,ushort *param_2,ushort **param_3) - -{ - proc_7F076030(param_1,*(int *)(param_1 + 8),param_2,param_3); - unknown_object_microcode_handler(param_1,*param_3); - return; -} - - - -void set_aircraft_obj_inst_scale_to_zero(int *objinstance) - -{ - objinstance[2] = 0; - return; -} - - - -void set_80036084(s32 param_1) - -{ - dword_80036084 = param_1; - return; -} - - - -void set_flt_80036088(f32 param_1) - -{ - flt_80036088 = param_1; - return; -} - - - -void proc_7F06C418(undefined4 *param_1,undefined4 *param_2) - -{ - int iVar1; - - iVar1 = 0; - do { - iVar1 += 1; - *param_2 = *param_1; - param_2[1] = param_1[1]; - param_2[2] = param_1[2]; - param_2[3] = param_1[3]; - param_1 = param_1 + 4; - param_2 = param_2 + 4; - } while (iVar1 != 4); - return; -} - - - -void set_8003608C(undefined4 param_1) - -{ - vtxallocator = param_1; - return; -} - - - -void return_null(void) - -{ - return; -} - - - -void proc_7F06C474(int param_1,float *param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - - iVar1 = getsubmatrix(param_1,(uint)param_2,param_3,param_4); - fVar3 = -*(float *)(iVar1 + 0x30); - fVar4 = -*(float *)(iVar1 + 0x34); - fVar5 = -*(float *)(iVar1 + 0x38); - fVar2 = sqrtf(fVar3 * fVar3 + fVar4 * fVar4 + fVar5 * fVar5); - if (0.00000000 < fVar2) { - fVar2 = 1.00000000 / (*(float *)(param_1 + 0x14) * fVar2); - *param_2 = fVar3 * fVar2; - param_2[1] = fVar4 * fVar2; - param_2[2] = fVar5 * fVar2; - } - else { - *param_2 = 0.00000000; - param_2[1] = 0.00000000; - param_2[2] = 1.00000000 / *(float *)(param_1 + 0x14); - } - return; -} - - - -void proc_7F06C550(int param_1,float *param_2,undefined4 param_3,undefined4 param_4) - -{ - proc_7F06C474(param_1,param_2,param_3,param_4); - return; -} - - - -undefined2 proc_7F06C570(ushort *param_1,longlong param_2) - -{ - uint uVar1; - ushort uVar2; - - if (param_1 != NULL) { - uVar2 = *param_1; - while( true ) { - uVar2 &= 0xff; - if (uVar2 == 1) { - return *(undefined2 *)(*(int *)(param_1 + 2) + 2); - } - if (uVar2 == 2) { - if (param_2 == 0x200) { - uVar1 = 2; - } - else { - uVar1 = (uint)(param_2 == 0x100); - } - return *(undefined2 *)(*(int *)(param_1 + 2) + uVar1 * 2 + 0xe); - } - if (uVar2 == 3) { - if (param_2 == 0x200) { - uVar1 = 2; - } - else { - uVar1 = (uint)(param_2 == 0x100); - } - return *(undefined2 *)(*(int *)(param_1 + 2) + uVar1 * 2 + 0xe); - } - if (uVar2 == 0x15) { - return *(undefined2 *)(*(int *)(param_1 + 2) + 0xc); - } - param_1 = *(ushort **)(param_1 + 4); - if (param_1 == NULL) break; - uVar2 = *param_1; - } - } - return 0xffff; -} - - - -int proc_7F06C660(int objinst,ushort *param_2,longlong param_3) - -{ - short sVar2; - int iVar1; - - sVar2 = proc_7F06C570(param_2,param_3); - if (sVar2 < 0) { - iVar1 = 0; - } - else { - iVar1 = *(int *)(objinst + 0xc) + (int)sVar2 * 0x40; - } - return iVar1; -} - - - -int getsubmatrix(int objinst,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort **object; - int iVar1; - - if (objinst == 0) { - osSyncPrintf("getsubmatrix: no objinst!\n",param_2,param_3,param_4); - return_null(); - } - object = *(ushort ***)(objinst + 8); - if (object == NULL) { - osSyncPrintf("getsubmatrix: objinst has no object!\n"); - return_null(); - object = *(ushort ***)(objinst + 8); - } - iVar1 = proc_7F06C660(objinst,*object,0); - return iVar1; -} - - - -void proc_7F06C710(int param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - - iVar1 = getsubmatrix(param_1,(uint)param_2,param_3,param_4); - if (iVar1 == 0) { - *param_2 = 0; - param_2[1] = 0; - param_2[2] = 0; - } - else { - *param_2 = *(undefined4 *)(iVar1 + 0x30); - param_2[1] = *(undefined4 *)(iVar1 + 0x34); - param_2[2] = *(undefined4 *)(iVar1 + 0x38); - } - return; -} - - - -float proc_7F06C768(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - int iVar1; - float fVar2; - - iVar1 = getsubmatrix(param_1,param_2,param_3,param_4); - if (iVar1 == 0) { - fVar2 = 0.00000000; - } - else { - fVar2 = -*(float *)(iVar1 + 0x38); - } - return fVar2; -} - - - -int extract_id_from_object_structure_microcode(int objinst,ushort *partdesc) - -{ - ushort uVar1; - ushort *partdesc_00; - int iVar2; - uint uVar3; - - uVar3 = 0; - iVar2 = *(int *)(objinst + 0x10); - if (true) { - switch((uint)*partdesc & 0xff) { - case 1: - uVar3 = (uint)*(ushort *)(*(int *)(partdesc + 2) + 0xc); - break; - case 7: - uVar3 = (uint)*(ushort *)(*(int *)(partdesc + 2) + 0x1aa); - break; - case 8: - uVar3 = (uint)*(ushort *)(*(int *)(partdesc + 2) + 0xc); - break; - case 9: - uVar3 = (uint)*(ushort *)(*(int *)(partdesc + 2) + 0x22); - break; - case 0xb: - uVar3 = (uint)*(ushort *)(*(int *)(partdesc + 2) + 0x44); - break; - case 0xc: - uVar3 = (uint)*(ushort *)(*(int *)(partdesc + 2) + 0x20); - break; - case 0x12: - uVar3 = (uint)*(ushort *)(*(int *)(partdesc + 2) + 4); - break; - case 0x17: - uVar3 = (uint)**(ushort **)(partdesc + 2); - break; - case 0x18: - uVar3 = (uint)*(ushort *)(*(int *)(partdesc + 2) + 0x1a); - } - } - partdesc_00 = *(ushort **)(partdesc + 4); - if (partdesc_00 != NULL) { - uVar1 = *partdesc_00; - while ((uVar1 & 0xff) != 0x17) { - partdesc_00 = *(ushort **)(partdesc_00 + 4); - if (partdesc_00 == NULL) goto LAB_7f06c888; - uVar1 = *partdesc_00; - } - iVar2 = extract_id_from_object_structure_microcode(objinst,partdesc_00); - iVar2 = *(int *)(iVar2 + 4); - } -LAB_7f06c888: - return (int)(uVar3 * 4 + iVar2); -} - - - -void getpartoffset(longlong objinst,ushort *partdesc,undefined4 *param_3,undefined4 param_4) - -{ - undefined4 *puVar1; - int iVar2; - ushort uVar3; - - if (objinst == 0) { - osSyncPrintf("getpartoffset: no objinst!",partdesc,param_3,param_4); - return_null(); - } - if (partdesc == NULL) { - osSyncPrintf("getpartoffset: no partdesc!"); - return_null(); - } - uVar3 = *partdesc & 0xff; - if (uVar3 == 1) { - iVar2 = extract_id_from_object_structure_microcode((int)objinst,partdesc); - *param_3 = *(undefined4 *)(iVar2 + 8); - param_3[1] = *(undefined4 *)(iVar2 + 0xc); - param_3[2] = *(undefined4 *)(iVar2 + 0x10); - } - else { - if (uVar3 == 2) { - puVar1 = *(undefined4 **)(partdesc + 2); - *param_3 = *puVar1; - param_3[1] = puVar1[1]; - param_3[2] = puVar1[2]; - } - else { - if (uVar3 == 3) { - puVar1 = *(undefined4 **)(partdesc + 2); - *param_3 = *puVar1; - param_3[1] = puVar1[1]; - param_3[2] = puVar1[2]; - } - else { - if (uVar3 == 0x15) { - puVar1 = *(undefined4 **)(partdesc + 2); - *param_3 = *puVar1; - param_3[1] = puVar1[1]; - param_3[2] = puVar1[2]; - } - else { - *param_3 = 0; - param_3[1] = 0; - param_3[2] = 0; - } - } - } - } - return; -} - - - -void setpartoffset(longlong objinst,ushort *partedesc,float *param_3,undefined4 param_4) - -{ - float *pfVar1; - int iVar2; - ushort uVar3; - float fVar4; - float fVar5; - - if (objinst == 0) { - osSyncPrintf("setpartoffset: no objinst!",partedesc,param_3,param_4); - return_null(); - } - if (partedesc == NULL) { - osSyncPrintf("setpartoffset: no partdesc!"); - return_null(); - } - uVar3 = *partedesc & 0xff; - if (uVar3 == 1) { - iVar2 = extract_id_from_object_structure_microcode((int)objinst,partedesc); - fVar4 = *param_3 - *(float *)(iVar2 + 8); - fVar5 = param_3[2] - *(float *)(iVar2 + 0x10); - *(float *)(iVar2 + 8) = *param_3; - *(float *)(iVar2 + 0xc) = param_3[1]; - *(float *)(iVar2 + 0x10) = param_3[2]; - *(float *)(iVar2 + 0x24) = *(float *)(iVar2 + 0x24) + fVar4; - *(float *)(iVar2 + 0x2c) = *(float *)(iVar2 + 0x2c) + fVar5; - *(float *)(iVar2 + 0x34) = *(float *)(iVar2 + 0x34) + fVar4; - *(float *)(iVar2 + 0x3c) = *(float *)(iVar2 + 0x3c) + fVar5; - *(float *)(iVar2 + 0x40) = *(float *)(iVar2 + 0x40) + fVar4; - *(float *)(iVar2 + 0x48) = *(float *)(iVar2 + 0x48) + fVar5; - *(float *)(iVar2 + 0x4c) = *(float *)(iVar2 + 0x4c) + fVar4; - *(float *)(iVar2 + 0x54) = *(float *)(iVar2 + 0x54) + fVar5; - } - else { - if (uVar3 == 2) { - pfVar1 = *(float **)(partedesc + 2); - *pfVar1 = *param_3; - pfVar1[1] = param_3[1]; - pfVar1[2] = param_3[2]; - } - else { - if (uVar3 == 3) { - pfVar1 = *(float **)(partedesc + 2); - *pfVar1 = *param_3; - pfVar1[1] = param_3[1]; - pfVar1[2] = param_3[2]; - } - else { - if (uVar3 == 0x15) { - pfVar1 = *(float **)(partedesc + 2); - *pfVar1 = *param_3; - pfVar1[1] = param_3[1]; - pfVar1[2] = param_3[2]; - } - } - } - } - return; -} - - - -void getsuboffset(int objinst,undefined4 *param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort **object; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - - if (objinst == 0) { - osSyncPrintf("getsuboffset: no objinst!",param_2,param_3); - return_null(); - param_4 = extraout_a3_lo; - } - object = *(ushort ***)(objinst + 8); - if (object == NULL) { - osSyncPrintf("getsuboffset: objinst has no object!"); - return_null(); - object = *(ushort ***)(objinst + 8); - param_4 = extraout_a3_lo_00; - } - getpartoffset((longlong)objinst,*object,param_2,param_4); - return; -} - - - -void setsuboffset(int objinst,xyzpoint *param_2) - -{ - ushort **object; - undefined4 in_a3_lo; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - - if (objinst == 0) { - osSyncPrintf("setsuboffset: no objinst!"); - return_null(); - in_a3_lo = extraout_a3_lo; - } - object = *(ushort ***)(objinst + 8); - if (object == NULL) { - osSyncPrintf("setsuboffset: objinst has no object!"); - return_null(); - object = *(ushort ***)(objinst + 8); - in_a3_lo = extraout_a3_lo_00; - } - setpartoffset((longlong)objinst,*object,(float *)param_2,in_a3_lo); - return; -} - - - -ushort ** getsubroty(int objinst,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort uVar1; - ushort *partdesc; - ushort **object; - - if (objinst == 0) { - osSyncPrintf("getsubroty: no objinst!",param_2,param_3,param_4); - return_null(); - } - object = *(ushort ***)(objinst + 8); - if (object == NULL) { - osSyncPrintf("getsubroty: objinst has no object!"); - return_null(); - object = *(ushort ***)(objinst + 8); - partdesc = *object; - } - else { - partdesc = *object; - } - if (partdesc == NULL) { - osSyncPrintf("getsubroty: objinst has no root part!"); - return_null(); - partdesc = **(ushort ***)(objinst + 8); - uVar1 = *partdesc; - } - else { - uVar1 = *partdesc; - } - if ((uVar1 & 0xff) == 1) { - object = (ushort **)extract_id_from_object_structure_microcode(objinst,partdesc); - } - return object; -} - - - -void setsubroty(int objinst,float param_2,float param_3,undefined4 param_4) - -{ - ushort uVar1; - float fVar2; - int iVar3; - float fVar4; - float fVar5; - ushort *rootpart; - - if (objinst == 0) { - osSyncPrintf("setsubroty: no objinst!",param_3,param_4); - return_null(); - } - if (*(ushort ***)(objinst + 8) == NULL) { - osSyncPrintf("setsubroty: objinst has no object!"); - return_null(); - rootpart = **(ushort ***)(objinst + 8); - } - else { - rootpart = **(ushort ***)(objinst + 8); - } - if (rootpart == NULL) { - osSyncPrintf("setsubroty: objinst has no root part!"); - return_null(); - rootpart = **(ushort ***)(objinst + 8); - uVar1 = *rootpart; - } - else { - uVar1 = *rootpart; - } - if ((uVar1 & 0xff) == 1) { - iVar3 = extract_id_from_object_structure_microcode(objinst,rootpart); - fVar2 = flt_80054B5C; - fVar4 = param_3 - *(float *)(iVar3 + 0x14); - if (fVar4 < 0.00000000) { - fVar4 = fVar4 + flt_80054B58; - fVar5 = *(float *)(iVar3 + 0x30); - } - else { - fVar5 = *(float *)(iVar3 + 0x30); - } - *(float *)(iVar3 + 0x30) = fVar5 + fVar4; - if (fVar2 <= *(float *)(iVar3 + 0x30)) { - *(float *)(iVar3 + 0x30) = *(float *)(iVar3 + 0x30) - fVar2; - fVar5 = *(float *)(iVar3 + 0x20); - } - else { - fVar5 = *(float *)(iVar3 + 0x20); - } - *(float *)(iVar3 + 0x20) = fVar5 + fVar4; - if (fVar2 <= *(float *)(iVar3 + 0x20)) { - *(float *)(iVar3 + 0x20) = *(float *)(iVar3 + 0x20) - fVar2; - } - *(float *)(iVar3 + 0x14) = param_3; - } - return; -} - - - -void set_obj_instance_controller_scale(int instancecontroller,f32 scale) - -{ - undefined4 in_a1_lo; - - *(undefined4 *)(instancecontroller + 0x14) = in_a1_lo; - return; -} - - - -void proc_7F06CE84(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 0xb8) = param_2; - return; -} - - - -float getjointsize(int objinst,ushort *param_2,undefined8 param_3,undefined4 param_4) - -{ - ushort uVar1; - - if (objinst == 0) { - osSyncPrintf("getjointsize: no objinst!\n",param_2,0,param_4); - return_null(); - } - if (param_2 != NULL) { - uVar1 = *param_2; - while( true ) { - if (true) { - switch((uint)uVar1 & 0xff) { - case 1: - return *(float *)(*(int *)(param_2 + 2) + 8) * *(float *)(objinst + 0x14); - case 2: - return *(float *)(*(int *)(param_2 + 2) + 0x18) * *(float *)(objinst + 0x14); - case 3: - return *(float *)(*(int *)(param_2 + 2) + 0x18) * *(float *)(objinst + 0x14); - case 0xb: - return *(float *)(*(int *)(param_2 + 2) + 0x40) * *(float *)(objinst + 0x14); - case 0xc: - return *(float *)(*(int *)(param_2 + 2) + 0x1c) * *(float *)(objinst + 0x14); - case 0xd: - return *(float *)(*(int *)(param_2 + 2) + 0x18) * *(float *)(objinst + 0x14); - case 0xe: - return *(float *)(*(int *)(param_2 + 2) + 0xc) * *(float *)(objinst + 0x14); - case 0xf: - return *(float *)(*(int *)(param_2 + 2) + 0x18) * *(float *)(objinst + 0x14); - case 0x10: - return *(float *)(*(int *)(param_2 + 2) + 0x14) * *(float *)(objinst + 0x14); - case 0x15: - return *(float *)(*(int *)(param_2 + 2) + 0x10) * *(float *)(objinst + 0x14); - } - } - param_2 = *(ushort **)(param_2 + 4); - if (param_2 == NULL) break; - uVar1 = *param_2; - } - } - return 0.00000000; -} - - - -float getinstsize(int objinst,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - int objdesc; - - if (objinst == 0) { - osSyncPrintf("getinstsize: no objinst!\n",param_2,param_3,param_4); - return_null(); - } - objdesc = *(int *)(objinst + 8); - if (objdesc == 0) { - osSyncPrintf("getinstsize: no objdesc!\n"); - return_null(); - objdesc = *(int *)(objinst + 8); - } - return *(float *)(objdesc + 0x10) * *(float *)(objinst + 0x14); -} - - - -void proc_7F06D07C(float *param_1,float *param_2,float param_3) - -{ - float in_a2_lo; - - *param_1 = *param_1 + (*param_2 - *param_1) * in_a2_lo; - param_1[1] = param_1[1] + (param_2[1] - param_1[1]) * in_a2_lo; - param_1[2] = param_1[2] + (param_2[2] - param_1[2]) * in_a2_lo; - return; -} - - - -float proc_7F06D0CC(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5) - -{ - float fVar1; - - fVar1 = param_2 - param_1; - if (param_2 < param_1) { - fVar1 = fVar1 + flt_80054BB4; - } - if (fVar1 < flt_80054BBC) { - param_1 = param_1 + fVar1 * param_5; - if (flt_80054BB8 <= param_1) { - return param_1 - flt_80054BB8; - } - } - else { - param_1 = param_1 - (flt_80054BB8 - fVar1) * param_5; - if (param_1 < 0.00000000) { - param_1 = param_1 + flt_80054BB8; - } - } - return param_1; -} - - - -void proc_7F06D160(undefined8 param_1,undefined8 param_2,float param_3) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined4 extraout_a1_hi; - undefined4 extraout_a1_hi_00; - float *pfVar1; - undefined4 extraout_a1_lo; - undefined4 extraout_a1_lo_00; - float in_a2_lo; - float fVar2; - - pfVar1 = (float *)param_2; - extraout_a0._4_4_ = (float *)param_1; - fVar2 = proc_7F06D0CC(*extraout_a0._4_4_,*pfVar1,param_1,param_2,in_a2_lo); - *extraout_a0._4_4_ = fVar2; - fVar2 = proc_7F06D0CC(extraout_a0._4_4_[1],pfVar1[1],extraout_a0, - CONCAT44(extraout_a1_hi,extraout_a1_lo),in_a2_lo); - extraout_a0._4_4_[1] = fVar2; - fVar2 = proc_7F06D0CC(extraout_a0._4_4_[2],pfVar1[2],extraout_a0_00, - CONCAT44(extraout_a1_hi_00,extraout_a1_lo_00),in_a2_lo); - extraout_a0._4_4_[2] = fVar2; - return; -} - - - -uint proc_7F06D1CC(int param_1,int param_2,int param_3) - -{ - byte bVar1; - ushort uVar2; - ushort *puVar3; - ulonglong uVar4; - byte *pbVar5; - ulonglong uVar6; - ulonglong uVar7; - uint uVar8; - - puVar3 = (ushort *)(*(int *)(param_1 + 8) + param_2 * 6); - bVar1 = *(byte *)(puVar3 + 1); - uVar4 = (ulonglong)bVar1; - uVar8 = 0; - if (bVar1 == 0) { - uVar2 = puVar3[2]; - } - else { - uVar7 = SEXT48((int)(8 - ((uint)*puVar3 + param_3 & 7))); - uVar6 = uVar7 & 0xff; - uVar6._4_4_ = (int)uVar6; - pbVar5 = (byte *)(*(int *)(param_1 + 0x10) + ((uint)*puVar3 + param_3 >> 3)); - if ((uVar7 & 0xff) <= uVar4) { - do { - uVar4 = (longlong)(int)((int)uVar4 - (uint)uVar6) & 0xff; - uVar8 |= ((uint)*pbVar5 & (1 << ((uint)uVar6 & 0x1f)) - 1U) << ((uint)uVar4 & 0x1f) - & 0xffff; - pbVar5 = pbVar5 + 1; - uVar6 = 8; - uVar6._4_4_ = 8; - } while (7 < uVar4); - } - if (uVar4 != 0) { - uVar8 |= (int)(uint)*pbVar5 >> (uVar6._4_4_ - (uint)uVar4 & 0x1f) & - (1 << ((uint)uVar4 & 0x1f)) - 1U & 0xffff; - } - if ((bVar1 < 0x10) && ((uVar8 & 1 << ((uint)bVar1 + 0x1f & 0x1f)) != 0)) { - uVar8 |= (1 << (0x10 - (uint)bVar1 & 0x1f)) + -1 << ((uint)bVar1 & 0x1f) & 0xffffU; - } - uVar2 = puVar3[2]; - } - return uVar8 + uVar2 & 0xffff; -} - - - -uint proc_7F06D2E4(int param_1,longlong param_2,int param_3,int param_4,int param_5,short *param_6) - -{ - ushort uVar1; - uint uVar2; - uint uVar3; - - param_5 = (uint)*(ushort *)(param_4 + 0xc) * param_5; - if (param_2 == 0) { - uVar1 = *(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 2); - } - else { - uVar1 = *(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 4); - } - uVar2 = proc_7F06D1CC(param_4,(uint)uVar1,param_5); - *param_6 = (short)uVar2; - uVar2 = proc_7F06D1CC(param_4,(uint)uVar1 + 1,param_5); - param_6[1] = (short)uVar2; - uVar2 = proc_7F06D1CC(param_4,(uint)uVar1 + 2,param_5); - param_6[2] = (short)uVar2; - uVar2 = proc_7F06D1CC(param_4,(uint)uVar1 + 3,param_5); - uVar3 = uVar2 & 0xffff; - if (((int)param_2 != 0) && (*param_6 = -*param_6, uVar2 != 0)) { - uVar3 = 0x10000 - uVar2 & 0xffff; - } - return uVar3; -} - - - -float proc_7F06D3F4(int param_1,longlong param_2,int param_3,int param_4,int param_5,float *param_6) - -{ - uint uVar1; - float fVar2; - short sStack8; - short sStack6; - short sStack4; - - uVar1 = proc_7F06D2E4(param_1,param_2,param_3,param_4,param_5,&sStack8); - *param_6 = (float)(int)sStack8; - fVar2 = (float)uVar1; - param_6[1] = (float)(int)sStack6; - param_6[2] = (float)(int)sStack4; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - return (fVar2 * flt_80054BC0) / 65536.00000000; -} - - - -void proc_7F06D490(int param_1,ushort *param_2) - -{ - char *pcVar2; - longlong lVar1; - undefined8 extraout_a0; - undefined8 extraout_a1; - int iVar3; - float fVar4; - float extraout_f12; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - - pcVar2 = (char *)extract_id_from_object_structure_microcode(param_1,param_2); - if (*pcVar2 == '\0') { - fStack16 = *(float *)(pcVar2 + 0x34); - fStack12 = *(float *)(pcVar2 + 0x38); - fStack8 = *(float *)(pcVar2 + 0x3c); - *(undefined4 *)(pcVar2 + 0x14) = *(undefined4 *)(pcVar2 + 0x30); - if (*(float *)(param_1 + 0x2c) == 0.00000000) { - iVar3 = *(int *)(param_1 + 0x54); - } - else { - if (pcVar2[1] == '\0') { - iVar3 = *(int *)(param_1 + 0x54); - } - else { - proc_7F06D07C(&fStack16,(float *)(pcVar2 + 0x24),extraout_f12); - fVar4 = proc_7F06D0CC(*(float *)(pcVar2 + 0x30),*(float *)(pcVar2 + 0x20), - extraout_a0,extraout_a1,*(float *)(param_1 + 0x2c)); - *(float *)(pcVar2 + 0x14) = fVar4; - iVar3 = *(int *)(param_1 + 0x54); - } - } - if (((iVar3 != 0) || (*(float *)(param_1 + 0x84) != 0.00000000)) && (pcVar2[2] != '\0')) { - fVar4 = *(float *)(pcVar2 + 0x50); - if (*(float *)(param_1 + 0x5c) != 0.00000000) { - fVar4 = fVar4 + (*(float *)(pcVar2 + 0x44) - fVar4) * *(float *)(param_1 + 0x5c); - } - fStack12 = fStack12 + (fVar4 - fStack12) * *(float *)(param_1 + 0x84); - } - fStack28 = fStack16; - fStack24 = fStack12; - fStack20 = fStack8; - if ((*(code **)(param_1 + 0xa0) == NULL) || - (lVar1 = (**(code **)(param_1 + 0xa0))(param_1,pcVar2 + 8,&fStack28,pcVar2 + 4), - lVar1 != 0)) { - fStack16 = fStack28 - fStack16; - fStack8 = fStack20 - fStack8; - *(float *)(pcVar2 + 8) = fStack28; - *(float *)(pcVar2 + 0xc) = fStack24 + *(float *)(pcVar2 + 4); - *(float *)(pcVar2 + 0x10) = fStack20; - *(float *)(pcVar2 + 0x34) = *(float *)(pcVar2 + 0x34) + fStack16; - *(float *)(pcVar2 + 0x3c) = *(float *)(pcVar2 + 0x3c) + fStack8; - if (pcVar2[1] != '\0') { - *(float *)(pcVar2 + 0x24) = *(float *)(pcVar2 + 0x24) + fStack16; - *(float *)(pcVar2 + 0x2c) = *(float *)(pcVar2 + 0x2c) + fStack8; - } - if (pcVar2[2] != '\0') { - *(float *)(pcVar2 + 0x4c) = *(float *)(pcVar2 + 0x4c) + fStack16; - *(float *)(pcVar2 + 0x54) = *(float *)(pcVar2 + 0x54) + fStack8; - *(float *)(pcVar2 + 0x40) = *(float *)(pcVar2 + 0x40) + fStack16; - *(float *)(pcVar2 + 0x48) = *(float *)(pcVar2 + 0x48) + fStack8; - } - } - } - return; -} - - - -void subcalcpos(int objanim,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - ushort *puVar1; - - if (objanim == 0) { - osSyncPrintf("subcalcpos: no objanim!\n",param_2,param_3,param_4); - return_null(); - } - if (*(ushort ***)(objanim + 8) == NULL) { - osSyncPrintf("subcalcpos: no objdesc!\n"); - return_null(); - puVar1 = **(ushort ***)(objanim + 8); - } - else { - puVar1 = **(ushort ***)(objanim + 8); - } - if ((puVar1 != NULL) && ((*puVar1 & 0xff) == 1)) { - proc_7F06D490(objanim,puVar1); - } - return; -} - - - -void process_01_group_heading(float **param_1,int objinst,ushort *partdesc) - -{ - int iVar1; - longlong extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - longlong lVar2; - longlong extraout_a1; - longlong lVar3; - float *pfVar4; - float fVar5; - float afStack96 [16]; - float *pfStack32; - float *pfStack24; - float fStack20; - float *pfStack16; - float fStack12; - int iStack8; - int iStack4; - - iStack4 = *(int *)(partdesc + 2); - iVar1 = extract_id_from_object_structure_microcode(objinst,partdesc); - lVar3 = (longlong)objinst; - pfStack16 = (float *)(iVar1 + 8); - fStack12 = *(float *)(objinst + 0x14); - fVar5 = *(float *)(iVar1 + 0x14); - pfStack32 = (float *)(*(int *)(objinst + 0xc) + (int)*(short *)(iStack4 + 2) * 0x40); - lVar2 = (longlong)(int)*(ushort **)(partdesc + 4); - if (lVar2 == 0) { - pfVar4 = *param_1; - } - else { - fStack20 = fVar5; - iStack8 = iVar1; - pfVar4 = (float *)proc_7F06C660(objinst,*(ushort **)(partdesc + 4),0); - lVar3 = extraout_a0; - lVar2 = extraout_a1; - fVar5 = fStack20; - iVar1 = iStack8; - } - if (*(float *)(iVar1 + 0x18) != 0.00000000) { - pfStack24 = pfVar4; - fVar5 = proc_7F06D0CC(fVar5,*(float *)(iVar1 + 0x1c),lVar3,lVar2,*(float *)(iVar1 + 0x18)); - pfVar4 = pfStack24; - } - if (pfVar4 == NULL) { - proc_7F0584D0(pfStack16,fVar5,(float *)fVar5); - if (fStack12 != 1.00000000) { - proc_7F058B10(fStack12,extraout_a0_01,pfStack32); - } - } - else { - pfStack24 = pfVar4; - proc_7F0584D0(pfStack16,fVar5,(float *)fVar5); - if (fStack12 != 1.00000000) { - proc_7F058B10(fStack12,extraout_a0_00,afStack96); - } - proc_7F05818C(pfStack24,afStack96,(int)pfStack32); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F06D8B0(void) - -{ - float **in_a0_lo; - longlong lVar1; - longlong extraout_a0; - longlong extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 uVar2; - int in_a1_lo; - ushort *in_a2_lo; - int iVar3; - float *in_a3_lo; - float in_f0; - float extraout_f12; - float fVar4; - float fVar5; - float *pfStack144; - float afStack140 [4]; - float afStack124 [7]; - int iStack96; - int iStack92; - int iStack88; - int iStack84; - float afStack80 [17]; - float *pfStack12; - xyzpoint *pxStack8; - uint uStack4; - - uStack4 = (uint)*in_a2_lo; - pxStack8 = *(xyzpoint **)(in_a2_lo + 2); - iStack84 = (int)*(short *)((int)&pxStack8[1].x + 2); - iStack88 = (int)*(short *)&pxStack8[1].y; - iStack92 = (int)*(short *)((int)&pxStack8[1].y + 2); - iStack96 = *(int *)(in_a1_lo + 0xc); - if (*(ushort **)(in_a2_lo + 4) == NULL) { - pfStack12 = *in_a0_lo; - } - else { - pfStack12 = (float *)proc_7F06C660(in_a1_lo,*(ushort **)(in_a2_lo + 4),0); - } - if (pfStack12 == NULL) { - proc_7F05892C((undefined4 *)pxStack8,in_a3_lo,(float *)(iStack84 * 0x40 + iStack96)); - } - else { - proc_7F05892C((undefined4 *)pxStack8,in_a3_lo,afStack80); - iVar3 = iStack84 * 0x40 + iStack96; - proc_7F05818C(pfStack12,afStack80,iVar3); - if (dword_80036090 != NULL) { - in_f0 = (float)(*dword_80036090)(iStack84,iVar3); - } - } - lVar1 = (longlong)(int)in_a3_lo; - if ((uStack4 & 0x100) != 0) { - proc_7F05B3F4(in_a3_lo,afStack124); - proc_7F05BC68(afStack124,extraout_f12,(float *)0x3f000000); - if (pfStack12 == NULL) { - proc_7F05B9B4((float *)pxStack8,afStack140,(float *)(iStack88 * 0x40 + iStack96)); - lVar1 = extraout_a0_00; - } - else { - proc_7F05B9B4((float *)pxStack8,afStack140,afStack80); - proc_7F05818C(pfStack12,afStack80,iStack88 * 0x40 + iStack96); - lVar1 = extraout_a0; - } - } - if ((uStack4 & 0x200) != 0) { - if (pfStack12 == NULL) { - pfStack144 = (float *)(iStack92 * 0x40 + iStack96); - } - else { - pfStack144 = afStack80; - } - fVar4 = in_a3_lo[1]; - if (fVar4 < flt_80054BC4) { - fVar4 = fVar4 * 0.50000000; - } - else { - fVar4 = flt_80054BCC - (flt_80054BC8 - fVar4) * 0.50000000; - } - proc_7F0585FC(fVar4,lVar1,pfStack144); - if (flt_80054BD0 <= fVar4) { - fVar4 = flt_80054BD4 - fVar4; - } - fVar5 = 1.50000000; - uVar2 = extraout_a0_01; - if (fVar4 < flt_80054BD8) { - proc_7F05A9E0(fVar4); - uVar2 = extraout_a0_02; - fVar5 = in_f0; - } - proc_7F058A4C(fVar5,uVar2,(int)pfStack144); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pxStack8,(int)pfStack144); - if (pfStack12 != NULL) { - proc_7F05818C(pfStack12,pfStack144,iStack92 * 0x40 + iStack96); - } - } - return; -} - - - -void proc_7F06DB5C(float **param_1,int param_2,ushort *param_3,float *param_4) - -{ - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 uVar1; - int iVar2; - float fVar3; - float fVar4; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float fVar5; - float *pfStack128; - float afStack124 [7]; - int iStack96; - int iStack92; - int iStack88; - int iStack84; - float afStack80 [17]; - float *pfStack12; - xyzpoint *pxStack8; - uint uStack4; - - uStack4 = (uint)*param_3; - pxStack8 = *(xyzpoint **)(param_3 + 2); - iStack84 = (int)*(short *)((int)&pxStack8[1].x + 2); - iStack88 = (int)*(short *)&pxStack8[1].y; - iStack92 = (int)*(short *)((int)&pxStack8[1].y + 2); - iStack96 = *(int *)(param_2 + 0xc); - if (*(ushort **)(param_3 + 4) == NULL) { - pfStack12 = *param_1; - } - else { - pfStack12 = (float *)proc_7F06C660(param_2,*(ushort **)(param_3 + 4),0); - } - if (pfStack12 == NULL) { - proc_7F05B9B4((float *)pxStack8,param_4,(float *)(iStack84 * 0x40 + iStack96)); - fVar3 = extraout_f12_01; - } - else { - proc_7F05B9B4((float *)pxStack8,param_4,afStack80); - iVar2 = iStack84 * 0x40 + iStack96; - proc_7F05818C(pfStack12,afStack80,iVar2); - fVar3 = extraout_f12; - if (dword_80036090 != NULL) { - (*dword_80036090)(iStack84,iVar2); - fVar3 = extraout_f12_00; - } - } - if ((uStack4 & 0x100) != 0) { - proc_7F05BC68(param_4,fVar3,(float *)0x3f000000); - if (pfStack12 == NULL) { - proc_7F05B9B4((float *)pxStack8,afStack124,(float *)(iStack88 * 0x40 + iStack96)); - } - else { - proc_7F05B9B4((float *)pxStack8,afStack124,afStack80); - proc_7F05818C(pfStack12,afStack80,iStack88 * 0x40 + iStack96); - } - } - if ((uStack4 & 0x200) != 0) { - if (pfStack12 == NULL) { - pfStack128 = (float *)(iStack92 * 0x40 + iStack96); - } - else { - pfStack128 = afStack80; - } - fVar3 = proc_7F05ACB0(*param_4); - fVar4 = fVar3 + fVar3; - if (fVar4 < flt_80054BDC) { - fVar4 = fVar4 * 0.50000000; - } - else { - fVar4 = flt_80054BE4 - (flt_80054BE0 - fVar4) * 0.50000000; - } - proc_7F0585FC(fVar4,extraout_a0,pfStack128); - if (flt_80054BE8 <= fVar4) { - fVar4 = flt_80054BEC - fVar4; - } - fVar5 = 1.50000000; - uVar1 = extraout_a0_00; - if (fVar4 < flt_80054BF0) { - proc_7F05A9E0(fVar4); - uVar1 = extraout_a0_01; - fVar5 = fVar3; - } - proc_7F058A4C(fVar5,uVar1,(int)pfStack128); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pxStack8,(int)pfStack128); - if (pfStack12 != NULL) { - proc_7F05818C(pfStack12,pfStack128,iStack92 * 0x40 + iStack96); - } - } - return; -} - - - -uint proc_7F06DE04(int param_1,uint param_2,uint param_3) - -{ - uint uVar1; - byte *pbVar2; - uint uVar3; - uint uVar4; - uint uVar5; - - uVar4 = 8 - (param_3 & 7); - uVar5 = 0; - uVar1 = param_2 & 0xff; - pbVar2 = (byte *)(param_1 + (param_3 >> 3)); - uVar3 = uVar4 & 0xff; - if ((uVar4 & 0xff) <= (param_2 & 0xff)) { - do { - uVar4 = uVar1 - uVar3; - uVar1 = uVar4 & 0xff; - uVar5 |= ((uint)*pbVar2 & (1 << (uVar3 & 0x1f)) - 1U) << (uVar4 & 0x1f) & 0xffff; - pbVar2 = pbVar2 + 1; - uVar3 = 8; - } while (7 < uVar1); - } - if (uVar1 != 0) { - uVar5 |= (int)(uint)*pbVar2 >> (uVar3 - uVar1 & 0x1f) & (1 << (uVar1 & 0x1f)) - 1U & 0xffff; - } - return uVar5 << (0x10 - (param_2 & 0xff) & 0x1f) & 0xffff; -} - - - -void proc_7F06DEC0(int param_1,longlong param_2,int param_3,int param_4,int param_5,float *param_6) - -{ - byte bVar1; - float fVar2; - uint uVar3; - uint uVar4; - uint uVar5; - float fVar6; - - bVar1 = *(byte *)(param_4 + 6); - if (param_2 == 0) { - uVar5 = (uint)*(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 2) * (uint)bVar1; - } - else { - uVar5 = (uint)*(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 4) * (uint)bVar1; - } - uVar3 = proc_7F06DE04(param_5,(uint)bVar1,uVar5); - uVar5 += bVar1; - uVar4 = proc_7F06DE04(param_5,(uint)bVar1,uVar5); - uVar5 = proc_7F06DE04(param_5,(uint)bVar1,uVar5 + bVar1); - fVar2 = flt_80054BF4; - fVar6 = (float)(uVar3 & 0xffff); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - *param_6 = (fVar6 * flt_80054BF4) / 65536.00000000; - if ((int)param_2 == 0) { - fVar6 = (float)(uVar4 & 0xffff); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - param_6[1] = (fVar6 * fVar2) / 65536.00000000; - fVar6 = (float)(uVar5 & 0xffff); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - param_6[2] = (fVar6 * fVar2) / 65536.00000000; - } - else { - if ((short)uVar4 == 0) { - param_6[1] = 0.00000000; - } - else { - param_6[1] = ((float)(0x10000 - (uVar4 & 0xffff)) * fVar2) / 65536.00000000; - } - if ((short)uVar5 == 0) { - param_6[2] = 0.00000000; - } - else { - param_6[2] = ((float)(0x10000 - (uVar5 & 0xffff)) * fVar2) / 65536.00000000; - } - } - return; -} - - - -void process_02_position(float **param_1,int param_2,ushort *param_3) - -{ - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float fStack108; - undefined4 uStack104; - undefined4 uStack100; - float afStack96 [4]; - float afStack80 [4]; - float afStack64 [4]; - float fStack48; - undefined4 uStack44; - undefined4 uStack40; - float fStack36; - undefined4 uStack32; - undefined4 uStack28; - float fStack24; - undefined4 uStack20; - undefined4 uStack16; - int iStack12; - uint uStack8; - - iStack12 = *(int *)(*(int *)(param_2 + 8) + 4); - fStack24 = dword_80036094; - uStack20 = dword_80036098; - uStack16 = dword_8003609C; - uStack8 = (uint)*(ushort *)(*(int *)(param_3 + 2) + 0xc); - proc_7F06DEC0(uStack8,(longlong)*(char *)(param_2 + 0x24),iStack12,*(int *)(param_2 + 0x20), - *(int *)(param_2 + 0x34),&fStack24); - if (*(float *)(param_2 + 0x2c) != 0.00000000) { - fStack36 = dword_800360A0; - uStack32 = dword_800360A4; - uStack28 = dword_800360A8; - proc_7F06DEC0(uStack8,(longlong)*(char *)(param_2 + 0x24),iStack12,*(int *)(param_2 + 0x20), - *(int *)(param_2 + 0x38),&fStack36); - proc_7F06D160((longlong)(int)&fStack24,(longlong)(int)&fStack36,extraout_f12); - } - if (*(float *)(param_2 + 0x84) == 0.00000000) { - proc_7F06D8B0(); - } - else { - fStack48 = dword_800360AC; - uStack44 = dword_800360B0; - uStack40 = dword_800360B4; - proc_7F06DEC0(uStack8,(longlong)*(char *)(param_2 + 0x25),iStack12,*(int *)(param_2 + 0x54), - *(int *)(param_2 + 100),&fStack48); - if (*(float *)(param_2 + 0x5c) != 0.00000000) { - fStack108 = dword_800360B8; - uStack104 = dword_800360BC; - uStack100 = dword_800360C0; - proc_7F06DEC0(uStack8,(longlong)*(char *)(param_2 + 0x25),iStack12, - *(int *)(param_2 + 0x54),*(int *)(param_2 + 0x68),&fStack108); - proc_7F06D160((longlong)(int)&fStack48,(longlong)(int)&fStack108,extraout_f12_00); - } - proc_7F05B3F4(&fStack24,afStack64); - proc_7F05B3F4(&fStack48,afStack80); - proc_7F05BE10(afStack64,afStack80); - proc_7F05BA08(afStack64,afStack80,extraout_f12_01,*(float **)(param_2 + 0x84)); - proc_7F06DB5C(param_1,param_2,param_3,afStack96); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F06E2B8(void) - -{ - short sVar1; - short sVar2; - int iVar3; - uint uVar4; - float **in_a0_lo; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 uVar5; - int in_a1_lo; - ushort *in_a2_lo; - float *in_a3_lo; - int iVar6; - float in_f0; - float in_f12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float fVar7; - float *pfStack112; - float afStack80 [17]; - float *pfStack12; - xyzpoint *pxStack8; - uint uStack4; - - uStack4 = (uint)*in_a2_lo; - pxStack8 = *(xyzpoint **)(in_a2_lo + 2); - sVar1 = *(short *)&pxStack8[1].y; - sVar2 = *(short *)((int)&pxStack8[1].x + 2); - iVar6 = (int)*(short *)((int)&pxStack8[1].y + 2); - iVar3 = *(int *)(in_a1_lo + 0xc); - if (*(ushort **)(in_a2_lo + 4) == NULL) { - pfStack12 = *in_a0_lo; - } - else { - pfStack12 = (float *)proc_7F06C660(in_a1_lo,*(ushort **)(in_a2_lo + 4),0); - in_f12 = extraout_f12; - } - if (pfStack12 == NULL) { - proc_7F0584D0((float *)pxStack8,in_f12,in_a3_lo); - uVar5 = extraout_a0_00; - fVar7 = extraout_f12_01; - } - else { - proc_7F0584D0((float *)pxStack8,in_f12,in_a3_lo); - proc_7F05818C(pfStack12,afStack80,(int)sVar2 * 0x40 + iVar3); - uVar5 = extraout_a0; - fVar7 = extraout_f12_00; - } - if (((uStack4 & 0x100) != 0) || ((uStack4 & 0x200) != 0)) { - if ((float)in_a3_lo < flt_80054BF8) { - in_a3_lo = (float *)((float)in_a3_lo * 0.50000000); - } - else { - in_a3_lo = (float *)(flt_80054C00 - (flt_80054BFC - (float)in_a3_lo) * 0.50000000); - } - } - uVar4 = uStack4 & 0x200; - if ((uStack4 & 0x100) != 0) { - if (pfStack12 == NULL) { - proc_7F0584D0((float *)pxStack8,fVar7,in_a3_lo); - uVar5 = extraout_a0_02; - } - else { - proc_7F0584D0((float *)pxStack8,fVar7,in_a3_lo); - proc_7F05818C(pfStack12,afStack80,(int)sVar1 * 0x40 + iVar3); - uVar5 = extraout_a0_01; - } - } - if (uVar4 != 0) { - if (pfStack12 == NULL) { - pfStack112 = (float *)(iVar6 * 0x40 + iVar3); - } - else { - pfStack112 = afStack80; - } - proc_7F0585FC((float)in_a3_lo,uVar5,pfStack112); - if (flt_80054C04 <= (float)in_a3_lo) { - in_a3_lo = (float *)(flt_80054C08 - (float)in_a3_lo); - } - fVar7 = 1.50000000; - uVar5 = extraout_a0_03; - if ((float)in_a3_lo < flt_80054C0C) { - proc_7F05A9E0((float)in_a3_lo); - uVar5 = extraout_a0_04; - fVar7 = in_f0; - } - proc_7F058A4C(fVar7,uVar5,(int)pfStack112); - copies_first_3_floats_from_a0_to_a1_plus_0x30(pxStack8,(int)pfStack112); - if (pfStack12 != NULL) { - proc_7F05818C(pfStack12,pfStack112,iVar6 * 0x40 + iVar3); - } - } - return; -} - - - -float proc_7F06E540(int param_1,longlong param_2,int param_3,int param_4,int param_5) - -{ - byte bVar1; - uint uVar2; - float fVar3; - - bVar1 = *(byte *)(param_4 + 6); - if (param_2 == 0) { - uVar2 = (uint)*(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 2) * (uint)bVar1; - } - else { - uVar2 = (uint)*(ushort *)(*(int *)(param_3 + 4) + param_1 * 6 + 4) * (uint)bVar1; - } - uVar2 = proc_7F06DE04(param_5,(uint)bVar1,uVar2); - fVar3 = 0.00000000; - if ((int)param_2 == 0) { - fVar3 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar3 = (fVar3 * flt_80054C14) / 65536.00000000; - } - else { - if (uVar2 != 0) { - fVar3 = ((float)(0x10000 - uVar2) * flt_80054C10) / 65536.00000000; - } - } - return fVar3; -} - - - -void process_03_unknown(undefined4 param_1,int param_2,int param_3) - -{ - ushort uVar1; - int iVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - ulonglong extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - undefined8 uVar3; - ulonglong uVar4; - float fVar5; - float fVar6; - float fStack24; - - uVar1 = *(ushort *)(*(int *)(param_3 + 4) + 0xc); - uVar4 = (ulonglong)uVar1; - iVar2 = *(int *)(*(int *)(param_2 + 8) + 4); - fVar5 = proc_7F06E540((uint)uVar1,(longlong)*(char *)(param_2 + 0x24),iVar2, - *(int *)(param_2 + 0x20),*(int *)(param_2 + 0x34)); - if (*(float *)(param_2 + 0x2c) != 0.00000000) { - fVar6 = proc_7F06E540((uint)uVar1,(longlong)*(char *)(param_2 + 0x24),iVar2, - *(int *)(param_2 + 0x20),*(int *)(param_2 + 0x38)); - fVar5 = proc_7F06D0CC(fVar5,fVar6,extraout_a0,extraout_a1,*(float *)(param_2 + 0x2c)); - } - if (*(float *)(param_2 + 0x84) != 0.00000000) { - fStack24 = proc_7F06E540((uint)uVar1,(longlong)*(char *)(param_2 + 0x25),iVar2, - *(int *)(param_2 + 0x54),*(int *)(param_2 + 100)); - uVar3 = extraout_a1_00; - if (*(float *)(param_2 + 0x5c) != 0.00000000) { - fVar6 = proc_7F06E540((uint)uVar1,(longlong)*(char *)(param_2 + 0x25),iVar2, - *(int *)(param_2 + 0x54),*(int *)(param_2 + 0x68)); - fStack24 = proc_7F06D0CC(fStack24,fVar6,extraout_a0_00,extraout_a1_01, - *(float *)(param_2 + 0x5c)); - uVar4 = extraout_a0_01; - uVar3 = extraout_a1_02; - } - proc_7F06D0CC(fVar5,fStack24,uVar4,uVar3,*(float *)(param_2 + 0x84)); - } - proc_7F06E2B8(); - return; -} - - - -void process_15_subposition(float **param_1,int param_2,int param_3) - -{ - short sVar1; - int iVar2; - float afStack72 [16]; - float *pfStack8; - xyzpoint *pxStack4; - - pxStack4 = *(xyzpoint **)(param_3 + 4); - iVar2 = *(int *)(param_2 + 0xc); - sVar1 = *(short *)&pxStack4[1].x; - if (*(ushort **)(param_3 + 8) == NULL) { - pfStack8 = *param_1; - } - else { - pfStack8 = (float *)proc_7F06C660(param_2,*(ushort **)(param_3 + 8),0); - } - if (pfStack8 == NULL) { - init_something_copy_posdata_to_it(pxStack4,(int *)((int)sVar1 * 0x40 + iVar2)); - } - else { - init_something_copy_posdata_to_it(pxStack4,(int *)afStack72); - proc_7F05818C(pfStack8,afStack72,(int)sVar1 * 0x40 + iVar2); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void process_08_distance_triggers(void) - -{ - float *pfVar1; - undefined4 *puVar2; - int iVar3; - int in_a0_lo; - ushort *in_a1_lo; - f32 fVar4; - float fVar5; - float fVar6; - - pfVar1 = *(float **)(in_a1_lo + 2); - puVar2 = (undefined4 *)extract_id_from_object_structure_microcode(in_a0_lo,in_a1_lo); - iVar3 = proc_7F06C660(in_a0_lo,in_a1_lo,0); - if (dword_80036084 == 0) { - fVar4 = getPlayer_c_lodscalez(); - fVar5 = (float)fVar4 * -*(float *)(iVar3 + 0x38); - if (flt_80036088 != 1.00000000) { - fVar5 = fVar5 * flt_80036088; - } - } - else { - fVar5 = 0.00000000; - } - if (fVar5 <= *pfVar1 * *(float *)(in_a0_lo + 0x14)) { - if (*pfVar1 != 0.00000000) goto LAB_7f06e954; - fVar6 = pfVar1[1]; - } - else { - fVar6 = pfVar1[1]; - } - if (fVar5 <= fVar6 * *(float *)(in_a0_lo + 0x14)) { - *puVar2 = 1; - *(float *)(in_a1_lo + 10) = pfVar1[2]; - return; - } -LAB_7f06e954: - *puVar2 = 0; - *(undefined4 *)(in_a1_lo + 10) = 0; - return; -} - - - -void proc_7F06E970(int param_1,ushort *param_2) - -{ - int iVar1; - int *piVar2; - - iVar1 = *(int *)(param_2 + 2); - piVar2 = (int *)extract_id_from_object_structure_microcode(param_1,param_2); - if (*piVar2 == 0) { - *(undefined4 *)(param_2 + 10) = 0; - } - else { - *(undefined4 *)(param_2 + 10) = *(undefined4 *)(iVar1 + 8); - } - return; -} - - - -void process_12_handle_switch(int param_1,ushort *param_2) - -{ - undefined4 *puVar1; - int *piVar2; - - puVar1 = *(undefined4 **)(param_2 + 2); - piVar2 = (int *)extract_id_from_object_structure_microcode(param_1,param_2); - if (*piVar2 == 0) { - *(undefined4 *)(param_2 + 10) = 0; - } - else { - *(undefined4 *)(param_2 + 10) = *puVar1; - } - return; -} - - - -void process_17_pointer_to_head(int param_1,ushort *param_2) - -{ - int **ppiVar1; - int iVar2; - - ppiVar1 = (int **)extract_id_from_object_structure_microcode(param_1,param_2); - if (*ppiVar1 != NULL) { - iVar2 = **ppiVar1; - *(int *)(param_2 + 10) = iVar2; - if (iVar2 != 0) { - *(ushort **)(iVar2 + 8) = param_2; - while (iVar2 = *(int *)(iVar2 + 0xc), iVar2 != 0) { - *(ushort **)(iVar2 + 8) = param_2; - } - } - } - return; -} - - - -void proc_7F06EA54(int param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - iVar4 = *(int *)(param_1 + 4); - if (param_2 == 0) { - iVar1 = *(int *)(iVar4 + 0x1c); - iVar4 = *(int *)(iVar4 + 0x18); - } - else { - iVar1 = *(int *)(iVar4 + 0x18); - iVar4 = *(int *)(iVar4 + 0x1c); - } - if (iVar1 == 0) { - *(int *)(param_1 + 0x14) = iVar4; - if (iVar4 != 0) { - *(undefined4 *)(iVar4 + 0x10) = 0; - } - } - else { - *(int *)(param_1 + 0x14) = iVar1; - *(undefined4 *)(iVar1 + 0x10) = 0; - iVar3 = iVar1; - if ((*(int *)(iVar1 + 0xc) != 0) && (iVar4 != *(int *)(iVar1 + 0xc))) { - iVar2 = *(int *)(iVar1 + 0xc); - do { - iVar3 = iVar2; - iVar2 = *(int *)(iVar3 + 0xc); - if (iVar2 == 0) break; - } while (iVar4 != iVar2); - } - *(int *)(iVar3 + 0xc) = iVar4; - if (iVar4 != 0) { - *(int *)(iVar4 + 0x10) = iVar3; - if ((*(int *)(iVar4 + 0xc) != 0) && (iVar1 != *(int *)(iVar4 + 0xc))) { - iVar3 = *(int *)(iVar4 + 0xc); - do { - iVar4 = iVar3; - iVar3 = *(int *)(iVar4 + 0xc); - if (iVar3 == 0) break; - } while (iVar1 != iVar3); - } - *(undefined4 *)(iVar4 + 0xc) = 0; - return; - } - } - return; -} - - - -void proc_7F06EB10(int param_1,ushort *param_2) - -{ - int *piVar1; - - piVar1 = (int *)extract_id_from_object_structure_microcode(param_1,param_2); - proc_7F06EA54((int)param_2,(longlong)*piVar1); - return; -} - - - -void process_09_head_hat_placement_interlink(int param_1,ushort *param_2) - -{ - short sVar1; - float *pfVar2; - float *pfVar3; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float *pfStack12; - undefined4 *puStack8; - - pfVar2 = *(float **)(param_2 + 2); - puStack8 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,param_2); - pfVar3 = (float *)proc_7F06C660(param_1,param_2,0); - sVar1 = *(short *)(pfVar2 + 8); - if (sVar1 == 0) { - fStack24 = pfVar2[3]; - fStack20 = pfVar2[4]; - fStack16 = pfVar2[5]; - pfStack12 = pfVar3; - proc_7F0583D8(pfVar3,&fStack24); - pfVar3 = pfStack12; - } - else { - if (sVar1 == 2) { - fStack24 = pfVar2[4] * pfVar3[4]; - fStack20 = pfVar2[4] * pfVar3[5]; - fStack16 = pfVar2[4] * pfVar3[6]; - } - else { - if (sVar1 == 3) { - fStack24 = pfVar2[5] * pfVar3[8]; - fStack20 = pfVar2[5] * pfVar3[9]; - fStack16 = pfVar2[5] * pfVar3[10]; - } - else { - if (sVar1 != 1) { - fStack36 = *pfVar2; - goto LAB_7f06ec68; - } - fStack24 = pfVar2[3] * *pfVar3; - fStack20 = pfVar2[3] * pfVar3[1]; - fStack16 = pfVar2[3] * pfVar3[2]; - } - } - } - fStack36 = *pfVar2; -LAB_7f06ec68: - fStack32 = pfVar2[1]; - fStack28 = pfVar2[2]; - proc_7F058474(pfVar3,&fStack36); - if (fStack28 * fStack16 + fStack24 * fStack36 + fStack20 * fStack32 < 0.00000000) { - *puStack8 = 1; - } - else { - *puStack8 = 0; - } - proc_7F06EB10(param_1,param_2); - return; -} - - - -void process_07_unknown(int param_1,ushort *param_2) - -{ - float *pfVar1; - undefined4 extraout_a2_lo; - undefined4 extraout_a3_lo; - int iVar2; - float __x; - float fVar3; - float fStack32; - float fStack28; - float fStack24; - uint *puStack8; - int iStack4; - - iStack4 = *(int *)(param_2 + 2); - puStack8 = (uint *)extract_id_from_object_structure_microcode(param_1,param_2); - pfVar1 = (float *)proc_7F06C660(param_1,param_2,0); - proc_7F06C550(param_1,&fStack32,extraout_a2_lo,extraout_a3_lo); - __x = proc_7F05ACB0(pfVar1[6] * fStack24 + fStack32 * pfVar1[4] + fStack28 * pfVar1[5]); - fVar3 = sinf(__x); - fVar3 = proc_7F05ACB0((fStack32 * pfVar1[8] + fStack28 * pfVar1[9] + fStack24 * pfVar1[10]) / - fVar3); - if ((pfVar1[2] * fStack24 + fStack32 * *pfVar1 + fStack28 * pfVar1[1] < 0.00000000) && - (0.00000000 < fVar3)) { - fVar3 = flt_80054C18 - fVar3; - } - iVar2 = (int)((__x * 64.00000000) / flt_80054C1C) * 0xc; - *puStack8 = (uint)*(byte *)(iStack4 + *(int *)(&dword_800360C4 + iVar2) + - ((int)((fVar3 * 65536.00000000) / flt_80054C1C) + - *(int *)(&DAT_800360c8 + iVar2) >> - (*(uint *)(&DAT_800360cc + iVar2) & 0x1f)) + 0x18); - return; -} - - - -void proc_7F06EEA4(undefined8 param_1,int param_2) - -{ - ushort uVar1; - bool bVar2; - ushort *puVar3; - ushort *puVar4; - - puVar3 = *(ushort **)(param_2 + 0x14); - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - do { - bVar2 = true; - if (true) { - switch((uint)uVar1 & 0xff) { - case 1: - case 2: - case 3: - case 0xb: - case 0xc: - case 0xd: - case 0xe: - case 0xf: - case 0x10: - case 0x15: - bVar2 = false; - break; - case 7: - process_07_unknown(param_1._4_4_,puVar3); - break; - case 8: - process_08_distance_triggers(); - break; - case 9: - process_09_head_hat_placement_interlink(param_1._4_4_,puVar3); - break; - case 0x17: - process_17_pointer_to_head(param_1._4_4_,puVar3); - } - } - if (((!bVar2) || (puVar4 = *(ushort **)(puVar3 + 10), puVar4 == NULL)) && - (puVar4 = puVar3, puVar3 != NULL)) { - while (puVar3 != *(ushort **)(param_2 + 8)) { - puVar4 = *(ushort **)(puVar3 + 6); - if ((puVar4 != NULL) || - (puVar4 = *(ushort **)(puVar3 + 4), puVar3 = puVar4, puVar4 == NULL)) - goto LAB_7f06efa4; - } - puVar4 = NULL; - } -LAB_7f06efa4: - if (puVar4 == NULL) { - return; - } - uVar1 = *puVar4; - puVar3 = puVar4; - } while( true ); -} - - - -void proc_7F06EFC4(int param_1) - -{ - ushort uVar1; - ushort *puVar2; - ushort *puVar3; - - puVar2 = **(ushort ***)(param_1 + 8); - if (puVar2 == NULL) { - return; - } - uVar1 = *puVar2; - do { - if (false) { -switchD_7f06f00c_caseD_1: - puVar3 = *(ushort **)(puVar2 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - default: - goto switchD_7f06f00c_caseD_1; - case 7: - process_07_unknown(param_1,puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - break; - case 8: - process_08_distance_triggers(); - puVar3 = *(ushort **)(puVar2 + 10); - break; - case 9: - process_09_head_hat_placement_interlink(param_1,puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - break; - case 0x12: - process_12_handle_switch(param_1,puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - break; - case 0x17: - process_17_pointer_to_head(param_1,puVar2); - puVar3 = *(ushort **)(puVar2 + 10); - } - } - if ((puVar3 == NULL) && (puVar3 = puVar2, puVar2 != NULL)) { - puVar3 = *(ushort **)(puVar2 + 6); - while ((puVar3 == NULL && - (puVar2 = *(ushort **)(puVar2 + 4), puVar3 = puVar2, puVar2 != NULL))) { - puVar3 = *(ushort **)(puVar2 + 6); - } - } - if (puVar3 == NULL) { - return; - } - uVar1 = *puVar3; - puVar2 = puVar3; - } while( true ); -} - - - -void proc_7F06F0D0(float **param_1,int param_2) - -{ - ushort uVar1; - ushort *partdesc; - ushort *puVar2; - - partdesc = **(ushort ***)(param_2 + 8); - if (partdesc == NULL) { - return; - } - uVar1 = *partdesc; - do { - if (false) { -switchD_7f06f120_caseD_4: - puVar2 = *(ushort **)(partdesc + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - process_01_group_heading(param_1,param_2,partdesc); - puVar2 = *(ushort **)(partdesc + 10); - break; - case 2: - process_02_position(param_1,param_2,partdesc); - puVar2 = *(ushort **)(partdesc + 10); - break; - case 3: - process_03_unknown(param_1,param_2,(int)partdesc); - puVar2 = *(ushort **)(partdesc + 10); - break; - default: - goto switchD_7f06f120_caseD_4; - case 7: - process_07_unknown(param_2,partdesc); - puVar2 = *(ushort **)(partdesc + 10); - break; - case 8: - process_08_distance_triggers(); - puVar2 = *(ushort **)(partdesc + 10); - break; - case 9: - process_09_head_hat_placement_interlink(param_2,partdesc); - puVar2 = *(ushort **)(partdesc + 10); - break; - case 0x12: - process_12_handle_switch(param_2,partdesc); - puVar2 = *(ushort **)(partdesc + 10); - break; - case 0x15: - process_15_subposition(param_1,param_2,(int)partdesc); - puVar2 = *(ushort **)(partdesc + 10); - break; - case 0x17: - process_17_pointer_to_head(param_2,partdesc); - puVar2 = *(ushort **)(partdesc + 10); - } - } - if ((puVar2 == NULL) && (puVar2 = partdesc, partdesc != NULL)) { - puVar2 = *(ushort **)(partdesc + 6); - while ((puVar2 == NULL && - (partdesc = *(ushort **)(partdesc + 4), puVar2 = partdesc, partdesc != NULL))) { - puVar2 = *(ushort **)(partdesc + 6); - } - } - if (puVar2 == NULL) { - return; - } - uVar1 = *puVar2; - partdesc = puVar2; - } while( true ); -} - - - -void instcalcmatrices(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - float *mtxlist; - - if (param_2 == 0) { - osSyncPrintf("instcalcmatrices: no objinst!\n",0,param_3,param_4); - return_null(); - } - if (*param_1 == NULL) { - osSyncPrintf("instcalcmatrices: no basemtx!\n"); - return_null(); - mtxlist = param_1[4]; - } - else { - mtxlist = param_1[4]; - } - if (mtxlist == NULL) { - osSyncPrintf("instcalcmatrices: no mtxlist!\n"); - return_null(); - mtxlist = param_1[4]; - } - *(float **)(param_2 + 0xc) = mtxlist; - param_1[4] = param_1[4] + (int)*(short *)(*(int *)(param_2 + 8) + 0xe) * 0x10; - proc_7F06F0D0(param_1,param_2); - return; -} - - - -void subcalcmatrices(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - short sVar1; - uint uVar2; - int *piVar3; - longlong lVar4; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - undefined4 extraout_a3_lo_02; - int iVar5; - - if (param_2 == 0) { - osSyncPrintf("subcalcmatrices: no objanim!\n"); - return_null(); - param_3 = extraout_a2_lo; - param_4 = extraout_a3_lo; - } - if (*param_1 == NULL) { - osSyncPrintf("subcalcmatrices: no basemtx!\n"); - return_null(); - param_3 = extraout_a2_lo_00; - param_4 = extraout_a3_lo_00; - } - if (param_1[4] == NULL) { - osSyncPrintf("subcalcmatrices: no mtxlist!\n"); - return_null(); - iVar5 = *(int *)(param_2 + 0x20); - param_3 = extraout_a2_lo_01; - param_4 = extraout_a3_lo_01; - } - else { - iVar5 = *(int *)(param_2 + 0x20); - } - if (iVar5 == 0) goto LAB_7f06f590; - if (*(int *)(param_2 + 0x18) == 0) { - lVar4 = (longlong)*(short *)(param_2 + 0x30); - } - else { - if (*(int *)(param_2 + 0x1c) == 0) { - osSyncPrintf("subcalcmatrices: no attach for objinst!\n"); - return_null(); - lVar4 = (longlong)*(short *)(param_2 + 0x30); - } - else { - lVar4 = (longlong)*(short *)(param_2 + 0x30); - } - } - if ((lVar4 < 0) || ((longlong)(ulonglong)*(ushort *)(*(int *)(param_2 + 0x20) + 4) <= lVar4)) { - osSyncPrintf("subcalcmatrices: framea out of range!\n"); - return_null(); - sVar1 = *(short *)(param_2 + 0x32); - } - else { - sVar1 = *(short *)(param_2 + 0x32); - } - if (((longlong)sVar1 < 0) || - ((longlong)(ulonglong)*(ushort *)(*(int *)(param_2 + 0x20) + 4) <= (longlong)sVar1)) { - osSyncPrintf("subcalcmatrices: frameb out of range!\n"); - return_null(); - } - if ((*(float *)(param_2 + 0x84) == 0.00000000) || - ((*(float *)(param_2 + 0x84) != 0.00000000 && (*(int *)(param_2 + 0x54) != 0)))) { - iVar5 = *(int *)(param_2 + 0x54); - } - else { - osSyncPrintf("subcalcmatrices: no anim2!\n"); - return_null(); - iVar5 = *(int *)(param_2 + 0x54); - } - if ((iVar5 != 0) && - (((iVar5 == 0 || ((longlong)*(short *)(param_2 + 0x60) < 0)) || - ((longlong)(ulonglong)*(ushort *)(iVar5 + 4) <= (longlong)*(short *)(param_2 + 0x60))))) { - osSyncPrintf("subcalcmatrices: frame2a out of range!\n"); - return_null(); - iVar5 = *(int *)(param_2 + 0x54); - } - if (iVar5 == 0) { - piVar3 = *(int **)(param_2 + 0x20); -LAB_7f06f4d0: - sVar1 = *(short *)(param_2 + 0x30); - } - else { - if (((iVar5 != 0) && (-1 < (longlong)*(short *)(param_2 + 0x62))) && - ((longlong)*(short *)(param_2 + 0x62) < (longlong)(ulonglong)*(ushort *)(iVar5 + 4))) { - piVar3 = *(int **)(param_2 + 0x20); - goto LAB_7f06f4d0; - } - osSyncPrintf("subcalcmatrices: frame2b out of range!\n"); - return_null(); - piVar3 = *(int **)(param_2 + 0x20); - sVar1 = *(short *)(param_2 + 0x30); - } - uVar2 = proc_7F0754BC(piVar3,(int)sVar1); - *(uint *)(param_2 + 0x34) = uVar2; - if (*(float *)(param_2 + 0x2c) == 0.00000000) { - piVar3 = *(int **)(param_2 + 0x54); - } - else { - uVar2 = proc_7F0754BC(*(int **)(param_2 + 0x20),(int)*(short *)(param_2 + 0x32)); - *(uint *)(param_2 + 0x38) = uVar2; - piVar3 = *(int **)(param_2 + 0x54); - } - if (piVar3 != NULL) { - uVar2 = proc_7F0754BC(piVar3,(int)*(short *)(param_2 + 0x60)); - *(uint *)(param_2 + 100) = uVar2; - if (*(float *)(param_2 + 0x5c) != 0.00000000) { - uVar2 = proc_7F0754BC(*(int **)(param_2 + 0x54),(int)*(short *)(param_2 + 0x62)); - *(uint *)(param_2 + 0x68) = uVar2; - } - } - proc_7F0755B0(); - param_3 = extraout_a2_lo_02; - param_4 = extraout_a3_lo_02; -LAB_7f06f590: - instcalcmatrices(param_1,param_2,param_3,param_4); - return; -} - - - -undefined4 proc_7F06F5AC(int param_1) - -{ - return *(undefined4 *)(param_1 + 0x20); -} - - - -undefined proc_7F06F5B4(int param_1) - -{ - return *(undefined *)(param_1 + 0x24); -} - - - -undefined4 proc_7F06F5BC(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -float proc_7F06F5C4(int param_1) - -{ - if (0.00000000 <= *(float *)(param_1 + 0x3c)) { - return *(float *)(param_1 + 0x3c); - } - if (*(int *)(param_1 + 0x20) == 0) { - return 0.00000000; - } - return (float)((uint)*(ushort *)(*(int *)(param_1 + 0x20) + 4) - 1); -} - - - -undefined4 proc_7F06F610(int param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -float proc_7F06F618(int param_1) - -{ - float fVar1; - - fVar1 = *(float *)(param_1 + 0x40); - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - return fVar1; -} - - - -undefined4 proc_7F06F640(int param_1) - -{ - undefined4 uVar1; - - uVar1 = proc_7F06F610(param_1); - return uVar1; -} - - - -longlong proc_7F06F66C(longlong param_1,int param_2,float param_3) - -{ - ushort uVar1; - int iVar2; - longlong lVar3; - float in_a2_lo; - - if (param_1 < 0) { - if ((*(byte *)(param_2 + 7) & 1) == 0) { - lVar3 = 0; - } - else { - uVar1 = *(ushort *)(param_2 + 4); - iVar2 = -(int)param_1; - lVar3 = (longlong)(int)((uint)uVar1 - iVar2 % (uint)uVar1); - if (uVar1 == 0) { - trap(0x1c00); - } - if (((ulonglong)uVar1 == 0xffffffffffffffff) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - } - else { - if (0.00000000 <= in_a2_lo) { - if ((int)in_a2_lo < param_1) { - iVar2 = proc_7F05C4B8(in_a2_lo); - return (longlong)iVar2; - } - uVar1 = *(ushort *)(param_2 + 4); - } - else { - uVar1 = *(ushort *)(param_2 + 4); - } - lVar3 = param_1; - if ((longlong)(ulonglong)uVar1 <= param_1) { - if ((*(byte *)(param_2 + 7) & 1) == 0) { - lVar3 = (longlong)(int)((uint)uVar1 - 1); - } - else { - lVar3 = (longlong)((int)param_1 % (uint)uVar1); - if (uVar1 == 0) { - trap(0x1c00); - } - if (((ulonglong)uVar1 == 0xffffffffffffffff) && (param_1 == -0x80000000)) { - trap(0x1800); - } - } - } - } - return lVar3; -} - - - -void proc_7F06F780(int param_1,float param_2) - -{ - ushort uVar1; - ushort *partdesc; - int iVar2; - float in_a1_lo; - - if (0.00000000 < in_a1_lo) { - if (*(int *)(param_1 + 0x20) == 0) { - *(undefined4 *)(param_1 + 0x54) = 0; - } - else { - partdesc = **(ushort ***)(param_1 + 8); - uVar1 = *partdesc; - *(undefined4 *)(param_1 + 0x58) = *(undefined4 *)(param_1 + 0x28); - *(undefined4 *)(param_1 + 0x5c) = *(undefined4 *)(param_1 + 0x2c); - *(int *)(param_1 + 0x54) = *(int *)(param_1 + 0x20); - *(undefined *)(param_1 + 0x25) = *(undefined *)(param_1 + 0x24); - *(undefined2 *)(param_1 + 0x60) = *(undefined2 *)(param_1 + 0x30); - *(undefined2 *)(param_1 + 0x62) = *(undefined2 *)(param_1 + 0x32); - *(undefined4 *)(param_1 + 0x70) = *(undefined4 *)(param_1 + 0x40); - *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + 0x44); - *(undefined4 *)(param_1 + 0x78) = *(undefined4 *)(param_1 + 0x48); - *(undefined4 *)(param_1 + 0x7c) = *(undefined4 *)(param_1 + 0x4c); - *(undefined4 *)(param_1 + 0x80) = *(undefined4 *)(param_1 + 0x50); - *(undefined4 *)(param_1 + 0x6c) = *(undefined4 *)(param_1 + 0x3c); - if ((uVar1 & 0xff) == 1) { - iVar2 = extract_id_from_object_structure_microcode(param_1,partdesc); - *(undefined *)(iVar2 + 2) = 1; - *(undefined4 *)(iVar2 + 0x4c) = *(undefined4 *)(iVar2 + 0x34); - *(undefined4 *)(iVar2 + 0x50) = *(undefined4 *)(iVar2 + 0x38); - *(undefined4 *)(iVar2 + 0x54) = *(undefined4 *)(iVar2 + 0x3c); - *(undefined4 *)(iVar2 + 0x40) = *(undefined4 *)(iVar2 + 0x24); - *(undefined4 *)(iVar2 + 0x44) = *(undefined4 *)(iVar2 + 0x28); - *(undefined4 *)(iVar2 + 0x48) = *(undefined4 *)(iVar2 + 0x2c); - } - } - } - else { - *(undefined4 *)(param_1 + 0x54) = 0; - } - return; -} - - - -void proc_7F06F878(int param_1,undefined4 param_2,undefined param_3,float param_4,float param_5, - undefined4 param_6) - -{ - int iVar1; - ushort *partdesc; - bool bVar2; - int iVar3; - undefined8 extraout_a0; - undefined8 extraout_a1; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - undefined4 in_stack_00000014; - float fStack52; - float fStack48; - float fStack44; - float fStack36; - float fStack32; - ushort *puStack16; - - iVar1 = *(int *)(param_1 + 0x20); - if (*(int *)(param_1 + 0x54) == 0) { - *(undefined4 *)(param_1 + 0x88) = 0; - *(undefined4 *)(param_1 + 0x84) = 0; - } - else { - *(undefined4 *)(param_1 + 0x88) = in_stack_00000014; - *(undefined4 *)(param_1 + 0x8c) = 0; - *(undefined4 *)(param_1 + 0x84) = 0x3f800000; - } - *(undefined4 *)(param_1 + 0x20) = param_2; - *(undefined *)(param_1 + 0x24) = param_3; - *(undefined4 *)(param_1 + 0x3c) = 0xbf800000; - *(undefined4 *)(param_1 + 0x40) = param_6; - *(undefined4 *)(param_1 + 0x4c) = 0; - proc_7F06FF64(param_1,param_5); - *(undefined *)(param_1 + 0x26) = 0; - partdesc = **(ushort ***)(param_1 + 8); - if ((*partdesc & 0xff) == 1) { - puStack16 = *(ushort **)(partdesc + 2); - iVar3 = extract_id_from_object_structure_microcode(param_1,partdesc); - fStack52 = dword_80036244; - fStack32 = *(float *)(param_1 + 0x14) * *(float *)(param_1 + 0xb8); - fStack48 = dword_80036248; - fStack44 = dword_8003624C; - fVar4 = proc_7F06D3F4((uint)*puStack16,(longlong)*(char *)(param_1 + 0x24), - *(int *)(*(int *)(param_1 + 8) + 4),*(int *)(param_1 + 0x20), - (int)*(short *)(param_1 + 0x32),&fStack52); - if (fStack32 != 1.00000000) { - fStack52 = fStack52 * fStack32; - fStack48 = fStack48 * fStack32; - fStack44 = fStack44 * fStack32; - } - fStack36 = cosf(*(float *)(iVar3 + 0x14)); - fVar5 = sinf(*(float *)(iVar3 + 0x14)); - if (*(float *)(param_1 + 0x2c) == 0.00000000) { - *(float *)(iVar3 + 0x34) = *(float *)(iVar3 + 8); - *(undefined4 *)(iVar3 + 0x3c) = *(undefined4 *)(iVar3 + 0x10); - *(float *)(iVar3 + 0x38) = *(float *)(iVar3 + 0xc) - *(float *)(iVar3 + 4); - *(undefined4 *)(iVar3 + 0x30) = *(undefined4 *)(iVar3 + 0x14); - *(float *)(iVar3 + 0x24) = - fStack44 * fVar5 + *(float *)(iVar3 + 8) + fStack52 * fStack36; - *(float *)(iVar3 + 0x28) = fStack48; - *(float *)(iVar3 + 0x2c) = - fStack44 * fStack36 + (*(float *)(iVar3 + 0x3c) - fStack52 * fVar5); - fVar5 = flt_80054D40; - if ((*(float *)(iVar3 + 0x18) == 0.00000000) && - (fVar4 = *(float *)(iVar3 + 0x30) + fVar4, bVar2 = flt_80054D40 <= fVar4, - *(float *)(iVar3 + 0x20) = fVar4, bVar2)) { - *(float *)(iVar3 + 0x20) = *(float *)(iVar3 + 0x20) - fVar5; - } - *(undefined *)(iVar3 + 1) = 1; - } - else { - fVar7 = fStack44 * fVar5 + fStack52 * fStack36; - fVar6 = fStack44 * fStack36 + -fStack52 * fVar5; - fVar5 = *(float *)(param_1 + 0x2c); - *(float *)(iVar3 + 0x24) = - *(float *)(iVar3 + 8) + fVar7 * (1.00000000 - *(float *)(param_1 + 0x2c)); - *(float *)(iVar3 + 0x28) = fStack48; - *(float *)(iVar3 + 0x2c) = *(float *)(iVar3 + 0x10) + fVar6 * (1.00000000 - fVar5); - *(float *)(iVar3 + 0x34) = *(float *)(iVar3 + 0x24) - fVar7; - fVar5 = *(float *)(iVar3 + 0xc) - *(float *)(iVar3 + 4); - *(float *)(iVar3 + 0x38) = - fVar5 - ((fStack48 - fVar5) * *(float *)(param_1 + 0x2c)) / - (1.00000000 - *(float *)(param_1 + 0x2c)); - *(float *)(iVar3 + 0x3c) = *(float *)(iVar3 + 0x2c) - fVar6; - fVar5 = *(float *)(iVar3 + 0x14) - fVar4; - if (fVar5 < 0.00000000) { - fVar5 = fVar5 + flt_80054D44; - } - fVar6 = proc_7F06D0CC(*(float *)(iVar3 + 0x14),fVar5,extraout_a0,extraout_a1, - *(float *)(param_1 + 0x2c)); - fVar5 = flt_80054D48; - *(float *)(iVar3 + 0x30) = fVar6; - if (*(float *)(iVar3 + 0x18) == 0.00000000) { - fVar4 = *(float *)(iVar3 + 0x30) + fVar4; - *(float *)(iVar3 + 0x20) = fVar4; - if (fVar5 <= fVar4) { - *(float *)(iVar3 + 0x20) = *(float *)(iVar3 + 0x20) - fVar5; - *(undefined *)(iVar3 + 1) = 1; - } - else { - *(undefined *)(iVar3 + 1) = 1; - } - } - else { - *(undefined *)(iVar3 + 1) = 1; - } - } - if (iVar1 == 0) { - *(undefined4 *)(iVar3 + 0x38) = *(undefined4 *)(iVar3 + 0x28); - } - } - return; -} - - - -void proc_7F06FC4C(int param_1,undefined4 param_2,undefined param_3,float param_4,undefined4 param_5 - ,float param_6,int param_7) - -{ - float extraout_f12; - int in_stack_00000018; - - if (in_stack_00000018 != 0) { - proc_7F06F780(param_1,param_4); - param_4 = extraout_f12; - } - proc_7F06F878(param_1,param_2,param_3,param_4,param_5,param_7); - return; -} - - - -void proc_7F06FCA8(int param_1,undefined4 param_2,undefined param_3,float param_4,undefined4 param_5 - ,float param_6) - -{ - float extraout_f12; - undefined4 in_stack_00000010; - - proc_7F06F780(param_1,param_4); - proc_7F06F878(param_1,param_2,param_3,extraout_f12,param_5,in_stack_00000010); - return; -} - - - -void proc_7F06FCFC(undefined4 *param_1,undefined4 *param_2) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - undefined4 *puVar9; - undefined4 *puVar10; - undefined4 *puVar11; - undefined4 *puVar12; - - uVar1 = *param_2; - uVar2 = param_2[1]; - uVar3 = param_2[2]; - uVar4 = param_2[3]; - uVar5 = param_2[4]; - uVar6 = param_2[5]; - uVar7 = param_2[6]; - uVar8 = param_2[7]; - puVar11 = param_1; - puVar9 = param_2; - do { - puVar12 = puVar9; - puVar10 = puVar11; - puVar11 = puVar10 + 3; - *puVar12 = *puVar10; - puVar12[1] = puVar10[1]; - puVar12[2] = puVar10[2]; - puVar9 = puVar12 + 3; - } while (puVar11 != param_1 + 0x2d); - puVar12[3] = *puVar11; - puVar12[4] = puVar10[4]; - *param_2 = uVar1; - param_2[1] = uVar2; - param_2[2] = uVar3; - param_2[3] = uVar4; - param_2[4] = uVar5; - param_2[5] = uVar6; - param_2[6] = uVar7; - param_2[7] = uVar8; - return; -} - - - -void proc_7F06FDCC(int param_1,undefined4 param_2,undefined4 param_3) - -{ - *(undefined *)(param_1 + 0x26) = 1; - *(undefined4 *)(param_1 + 0x90) = param_2; - *(undefined4 *)(param_1 + 0x94) = param_3; - return; -} - - - -void proc_7F06FDE8(int param_1,float param_2) - -{ - float in_a1_lo; - - if ((*(int *)(param_1 + 0x20) != 0) && - (in_a1_lo < (float)((uint)*(ushort *)(*(int *)(param_1 + 0x20) + 4) - 1))) { - *(float *)(param_1 + 0x3c) = in_a1_lo; - return; - } - *(undefined4 *)(param_1 + 0x3c) = 0xbf800000; - return; -} - - - -void proc_7F06FE3C(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 0x98) = param_2; - return; -} - - - -void proc_7F06FE44(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 0x9c) = param_2; - return; -} - - - -void proc_7F06FE4C(int param_1,undefined4 param_2,float param_3) - -{ - float in_a2_lo; - - if (in_a2_lo <= 0.00000000) { - *(undefined4 *)(param_1 + 0x40) = param_2; - *(undefined4 *)(param_1 + 0x4c) = 0; - return; - } - *(float *)(param_1 + 0x4c) = in_a2_lo; - *(undefined4 *)(param_1 + 0x44) = param_2; - *(undefined4 *)(param_1 + 0x50) = 0; - *(undefined4 *)(param_1 + 0x48) = *(undefined4 *)(param_1 + 0x40); - return; -} - - - -void proc_7F06FE90(int param_1,float param_2,float param_3) - -{ - float in_a1_lo; - float in_a2_lo; - float fVar1; - float fVar2; - - fVar1 = *(float *)(param_1 + 0x28); - if (fVar1 <= in_a1_lo) { - fVar1 = in_a1_lo - fVar1; - } - else { - fVar2 = (float)(uint)*(ushort *)(*(int *)(param_1 + 0x20) + 4); - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - fVar1 = (fVar2 - fVar1) + in_a1_lo; - } - proc_7F06FE4C(param_1,*(float *)(param_1 + 0x40) + (fVar1 + fVar1) / in_a2_lo,in_a1_lo); - return; -} - - - -void proc_7F06FF18(int param_1,undefined4 param_2,float param_3) - -{ - float in_a2_lo; - - if (in_a2_lo <= 0.00000000) { - *(undefined4 *)(param_1 + 0xa4) = param_2; - *(undefined4 *)(param_1 + 0xb0) = 0; - return; - } - *(float *)(param_1 + 0xb0) = in_a2_lo; - *(undefined4 *)(param_1 + 0xa8) = param_2; - *(undefined4 *)(param_1 + 0xb4) = 0; - *(undefined4 *)(param_1 + 0xac) = *(undefined4 *)(param_1 + 0xa4); - return; -} - - - -void proc_7F06FF5C(int param_1,undefined4 param_2) - -{ - *(undefined4 *)(param_1 + 0xa0) = param_2; - return; -} - - - -void proc_7F06FF64(int param_1,float param_2) - -{ - short sVar1; - bool bVar2; - int iVar4; - longlong lVar3; - float in_a1_lo; - int iVar5; - float fVar6; - float extraout_f12; - float extraout_f12_00; - - iVar4 = proc_7F05C3D8(in_a1_lo); - bVar2 = 0.00000000 <= *(float *)(param_1 + 0x40); - iVar5 = iVar4 + -1; - if (bVar2) { - iVar5 = iVar4 + 1; - } - lVar3 = proc_7F06F66C((longlong)iVar4,*(int *)(param_1 + 0x20),extraout_f12); - *(undefined2 *)(param_1 + 0x30) = (short)lVar3; - lVar3 = proc_7F06F66C((longlong)iVar5,*(int *)(param_1 + 0x20),extraout_f12_00); - *(undefined2 *)(param_1 + 0x32) = (short)lVar3; - sVar1 = *(short *)(param_1 + 0x30); - if (*(short *)(param_1 + 0x32) == sVar1) { - *(undefined4 *)(param_1 + 0x2c) = 0; - *(float *)(param_1 + 0x28) = (float)(int)sVar1; - } - else { - if (bVar2) { - *(float *)(param_1 + 0x2c) = in_a1_lo - (float)iVar4; - *(float *)(param_1 + 0x28) = (float)(int)sVar1 + (in_a1_lo - (float)iVar4); - } - else { - fVar6 = 1.00000000 - (in_a1_lo - (float)iVar5); - *(float *)(param_1 + 0x2c) = fVar6; - *(float *)(param_1 + 0x28) = - (float)(int)*(short *)(param_1 + 0x32) + (1.00000000 - fVar6); - } - } - return; -} - - - -void proc_7F070090(int param_1,float param_2,float param_3) - -{ - short sVar1; - bool bVar2; - int iVar4; - longlong lVar3; - float in_a1_lo; - float in_a2_lo; - int iVar5; - float fVar6; - float extraout_f12; - float extraout_f12_00; - - proc_7F06FF64(param_1,in_a1_lo); - if (*(int *)(param_1 + 0x54) != 0) { - iVar4 = proc_7F05C3D8(in_a2_lo); - bVar2 = 0.00000000 <= *(float *)(param_1 + 0x70); - iVar5 = iVar4 + -1; - if (bVar2) { - iVar5 = iVar4 + 1; - } - lVar3 = proc_7F06F66C((longlong)iVar4,*(int *)(param_1 + 0x54),extraout_f12); - *(undefined2 *)(param_1 + 0x60) = (short)lVar3; - lVar3 = proc_7F06F66C((longlong)iVar5,*(int *)(param_1 + 0x54),extraout_f12_00); - *(undefined2 *)(param_1 + 0x62) = (short)lVar3; - sVar1 = *(short *)(param_1 + 0x60); - if (*(short *)(param_1 + 0x62) == sVar1) { - *(undefined4 *)(param_1 + 0x5c) = 0; - *(float *)(param_1 + 0x58) = (float)(int)sVar1; - } - else { - if (bVar2) { - *(float *)(param_1 + 0x5c) = in_a2_lo - (float)iVar4; - *(float *)(param_1 + 0x58) = (float)(int)sVar1 + (in_a2_lo - (float)iVar4); - } - else { - fVar6 = 1.00000000 - (in_a2_lo - (float)iVar5); - *(float *)(param_1 + 0x5c) = fVar6; - *(float *)(param_1 + 0x58) = - (float)(int)*(short *)(param_1 + 0x62) + (1.00000000 - fVar6); - } - } - } - return; -} - - - -void proc_7F0701D4(undefined4 param_1) - -{ - dword_80036250 = param_1; - return; -} - - - -undefined4 proc_7F0701E0(void) - -{ - return dword_80036250; -} - - - -void proc_7F0701EC(int param_1,float param_2,float param_3,float param_4,float param_5) - -{ - short sVar1; - ushort *partdesc; - ushort *puVar2; - bool bVar3; - float fVar4; - char *pcVar6; - int iVar7; - longlong lVar5; - int iVar8; - float in_a3_lo; - char cVar9; - longlong lVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f14; - float fVar15; - float fVar16; - float in_stack_00000010; - float fStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack76; - float fStack72; - float fStack68; - int iStack64; - float fStack48; - float fStack44; - float fStack40; - float fStack28; - int iStack24; - uint uStack20; - - partdesc = **(ushort ***)(param_1 + 8); - if ((*partdesc & 0xff) != 1) { - proc_7F070090(param_1,param_2,param_3); - return; - } - puVar2 = *(ushort **)(partdesc + 2); - pcVar6 = (char *)extract_id_from_object_structure_microcode(param_1,partdesc); - if (*pcVar6 != '\0') { - proc_7F070090(param_1,extraout_f12,extraout_f14); - return; - } - uStack20 = (uint)*puVar2; - iStack24 = *(int *)(*(int *)(param_1 + 8) + 4); - fStack28 = *(float *)(param_1 + 0x14) * *(float *)(param_1 + 0xb8); - fStack48 = DAT_80036254; - fStack44 = DAT_80036258; - fStack40 = DAT_8003625c; - fStack76 = *(float *)(pcVar6 + 0x34); - fStack72 = *(float *)(pcVar6 + 0x38); - fStack68 = *(float *)(pcVar6 + 0x3c); - fStack92 = *(float *)(pcVar6 + 0x24); - fVar15 = *(float *)(pcVar6 + 0x30); - fStack88 = *(float *)(pcVar6 + 0x28); - fStack84 = *(float *)(pcVar6 + 0x2c); - fStack96 = *(float *)(pcVar6 + 0x20); - cVar9 = pcVar6[1]; - fVar16 = *(float *)(param_1 + 0x40); - if (fVar16 < 0.00000000) { - fVar16 = -fVar16; - fVar11 = *(float *)(param_1 + 0x70); - } - else { - fVar11 = *(float *)(param_1 + 0x70); - } - if (fVar11 < 0.00000000) { - fVar11 = -fVar11; - } - bVar3 = param_4 <= param_5; - if (bVar3) { - iVar7 = proc_7F05C3D8(param_4); - iVar7 += 1; - iStack64 = proc_7F05C3D8(param_5); - fVar13 = extraout_f12_00; - } - else { - iVar7 = proc_7F05C4B8(param_4); - iVar7 += -1; - iStack64 = proc_7F05C4B8(param_5); - fVar13 = extraout_f12_01; - } - fVar4 = flt_80054D4C; - lVar10 = (longlong)iVar7; -LAB_7f070388: - if (bVar3) { - if (iStack64 < lVar10) goto LAB_7f070860; - iVar7 = *(int *)(param_1 + 0x20); - } - else { - if (lVar10 < iStack64) goto LAB_7f070860; - iVar7 = *(int *)(param_1 + 0x20); - } - lVar5 = proc_7F06F66C(lVar10,iVar7,fVar13); - *(undefined2 *)(param_1 + 0x30) = (short)lVar5; - if (cVar9 == '\0') { - fVar13 = proc_7F06D3F4(uStack20,(longlong)*(char *)(param_1 + 0x24),iStack24, - *(int *)(param_1 + 0x20),(int)lVar5,&fStack48); - if (fStack28 != 1.00000000) { - fStack48 = fStack48 * fStack28; - fStack44 = fStack44 * fStack28; - fStack40 = fStack40 * fStack28; - } - if (!bVar3) { - fStack48 = -fStack48; - fStack40 = -fStack40; - if (0.00000000 < fVar13) { - fVar13 = fVar4 - fVar13; - } - } - fVar12 = cosf(*(float *)(pcVar6 + 0x14)); - fVar14 = sinf(*(float *)(pcVar6 + 0x14)); - fStack76 = fStack76 + fStack48 * fVar12 + fStack40 * fVar14; - fStack72 = fStack44; - fStack68 = fStack68 + -fStack48 * fVar14 + fStack40 * fVar12; - fVar12 = extraout_f12_03; - fVar14 = fVar15; - if ((*(float *)(pcVar6 + 0x18) == 0.00000000) && (fVar14 = fVar15 + fVar13, fVar4 <= fVar14) - ) { - fVar14 = fVar14 - fVar4; - } - } - else { - fStack76 = fStack92; - fStack72 = fStack88; - fStack68 = fStack84; - fVar12 = extraout_f12_02; - fVar14 = fStack96; - if (*(float *)(pcVar6 + 0x18) != 0.00000000) { - fVar14 = fVar15; - } - } - fVar15 = fVar14; - if (bVar3) { - iVar7 = (int)lVar10 + 1; - } - else { - iVar7 = (int)lVar10 + -1; - } - lVar10 = (longlong)iVar7; - lVar5 = proc_7F06F66C(lVar10,*(int *)(param_1 + 0x20),fVar12); - *(undefined2 *)(param_1 + 0x32) = (short)lVar5; - fVar13 = extraout_f12_04; - if (*(short *)(param_1 + 0x30) != *(short *)(param_1 + 0x32)) { - cVar9 = 1; - fVar12 = proc_7F06D3F4(uStack20,(longlong)*(char *)(param_1 + 0x24),iStack24, - *(int *)(param_1 + 0x20),(int)lVar5,&fStack48); - if (fStack28 != 1.00000000) { - fStack48 = fStack48 * fStack28; - fStack44 = fStack44 * fStack28; - fStack40 = fStack40 * fStack28; - } - if (!bVar3) { - fStack48 = -fStack48; - fStack40 = -fStack40; - if (0.00000000 < fVar12) { - fVar12 = fVar4 - fVar12; - } - } - fVar13 = cosf(*(float *)(pcVar6 + 0x30)); - fVar14 = sinf(*(float *)(pcVar6 + 0x30)); - if ((dword_80036250 == 0) || (*(int *)(param_1 + 0x54) == 0)) { - fStack92 = fStack40 * fVar14 + fStack76 + fStack48 * fVar13; - fStack84 = fStack40 * fVar13 + (fStack68 - fStack48 * fVar14); - } - else { - fStack92 = fStack40 * fVar14 + fStack48 * fVar13; - fStack84 = fStack40 * fVar13 + -fStack48 * fVar14; - if (0.00000000 < fVar16) { - fVar14 = *(float *)(param_1 + 0x84); - fVar13 = fVar14 - *(float *)(param_1 + 0xa4) / (fVar16 * *(float *)(param_1 + 0x88)) - ; - if (fVar13 < 0.00000000) { - fVar14 = fVar14 + 0.00000000; - } - else { - fVar14 = fVar14 + fVar13; - } - fVar13 = (((*(float *)(pcVar6 + 0x40) - *(float *)(pcVar6 + 0x4c)) * fVar11) / - fVar16 - fStack92) * fVar14 * 0.50000000; - fVar14 = (((*(float *)(pcVar6 + 0x48) - *(float *)(pcVar6 + 0x54)) * fVar11) / - fVar16 - fStack84) * fVar14 * 0.50000000; - } - else { - fVar13 = (*(float *)(pcVar6 + 0x40) - *(float *)(pcVar6 + 0x4c)) * - *(float *)(param_1 + 0x84); - fVar14 = (*(float *)(pcVar6 + 0x48) - *(float *)(pcVar6 + 0x54)) * - *(float *)(param_1 + 0x84); - } - fStack84 = fStack84 + fVar14; - fStack92 = fStack92 + fVar13; - fStack92 = fStack92 + fStack76; - fStack84 = fStack84 + fStack68; - } - fStack88 = fStack44; - fVar13 = *(float *)(pcVar6 + 0x5c); - if (0.00000000 < fVar13) { - if (0.00000000 < fVar16) { - fVar14 = 1.00000000 / fVar16; - if (fVar13 < fVar14) { - *(undefined4 *)(pcVar6 + 0x5c) = 0; - } - else { - *(float *)(pcVar6 + 0x5c) = fVar13 - fVar14; - fVar13 = fVar14; - } - fVar12 = fVar12 + *(float *)(pcVar6 + 0x58) * fVar13; - if (fVar12 < 0.00000000) { - fVar12 = fVar12 + fVar4; - } - else { - if (fVar12 < fVar4) { - fVar14 = *(float *)(pcVar6 + 0x18); - goto LAB_7f070828; - } - fVar12 = fVar12 - fVar4; - } - fVar14 = *(float *)(pcVar6 + 0x18); - } - else { - fVar14 = *(float *)(pcVar6 + 0x18); - fVar13 = fStack40; - } - } - else { - fVar14 = *(float *)(pcVar6 + 0x18); - fVar13 = fStack40; - } -LAB_7f070828: - if ((fVar14 == 0.00000000) && (fStack96 = fVar15 + fVar12, fVar4 <= fStack96)) { - fStack96 = fStack96 - fVar4; - } - } - goto LAB_7f070388; -LAB_7f070860: - *(float *)(pcVar6 + 0x34) = fStack76; - *(float *)(pcVar6 + 0x38) = fStack72; - *(float *)(pcVar6 + 0x30) = fVar15; - *(float *)(pcVar6 + 0x3c) = fStack68; - *(float *)(pcVar6 + 0x24) = fStack92; - *(float *)(pcVar6 + 0x28) = fStack88; - *(float *)(pcVar6 + 0x2c) = fStack84; - *(float *)(pcVar6 + 0x20) = fStack96; - sVar1 = *(short *)(param_1 + 0x30); - if (*(short *)(param_1 + 0x32) == sVar1) { - *(undefined4 *)(param_1 + 0x2c) = 0; - *(float *)(param_1 + 0x28) = (float)(int)sVar1; - } - else { - if (bVar3) { - *(float *)(param_1 + 0x2c) = param_5 - (float)iStack64; - *(float *)(param_1 + 0x28) = (float)(int)sVar1 + (param_5 - (float)iStack64); - } - else { - *(float *)(param_1 + 0x2c) = (float)iStack64 - param_5; - *(float *)(param_1 + 0x28) = - (float)(int)*(short *)(param_1 + 0x32) + (1.00000000 - ((float)iStack64 - param_5)) - ; - } - } - if (*(int *)(param_1 + 0x54) == 0) { - pcVar6[2] = '\0'; - return; - } - iVar7 = proc_7F05C3D8(in_a3_lo); - iVar8 = proc_7F05C3D8(in_stack_00000010); - if ((bVar3) && (iVar7 < iVar8)) { - cVar9 = pcVar6[2]; - } - else { - if ((bVar3) || (iVar7 <= iVar8)) goto LAB_7f070a0c; - cVar9 = pcVar6[2]; - } - if (cVar9 == '\0') { - *(undefined4 *)(pcVar6 + 0x50) = *(undefined4 *)(pcVar6 + 0x38); - } - else { - *(undefined4 *)(pcVar6 + 0x50) = *(undefined4 *)(pcVar6 + 0x44); - } - lVar10 = proc_7F06F66C((longlong)iVar8,*(int *)(param_1 + 0x54),extraout_f12_05); - *(undefined2 *)(param_1 + 0x60) = (short)lVar10; - lVar10 = proc_7F06F66C((longlong)(iVar8 + 1),*(int *)(param_1 + 0x54),extraout_f12_06); - *(undefined2 *)(param_1 + 0x62) = (short)lVar10; - proc_7F06D3F4(uStack20,(longlong)*(char *)(param_1 + 0x25),iStack24,*(int *)(param_1 + 0x54), - (int)lVar10,&fStack48); - if (fStack28 != 1.00000000) { - fStack44 = fStack44 * fStack28; - } - pcVar6[2] = '\x01'; - *(float *)(pcVar6 + 0x44) = fStack44; -LAB_7f070a0c: - if (bVar3) { - *(float *)(param_1 + 0x5c) = in_stack_00000010 - (float)iVar8; - *(float *)(param_1 + 0x58) = - (float)(int)*(short *)(param_1 + 0x60) + (in_stack_00000010 - (float)iVar8); - } - else { - fVar15 = 1.00000000 - (in_stack_00000010 - (float)iVar8); - *(float *)(param_1 + 0x5c) = fVar15; - *(float *)(param_1 + 0x58) = (float)(int)*(short *)(param_1 + 0x62) + (1.00000000 - fVar15); - } - return; -} - - - -void proc_7F070AEC(int param_1,int param_2,int param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - undefined4 uVar6; - undefined4 uVar7; - float in_f12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float in_f14; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - undefined4 uVar12; - undefined4 uVar13; - - fVar8 = *(float *)(param_1 + 0x28); - if (0 < param_2) { - if (0 < param_2) { - fVar3 = *(float *)(param_1 + 0xb0); - do { - if (0.00000000 < fVar3) { - *(float *)(param_1 + 0xb4) = *(float *)(param_1 + 0xb4) + 1.00000000; - if (*(float *)(param_1 + 0xb4) < fVar3) { - *(float *)(param_1 + 0xa4) = - *(float *)(param_1 + 0xac) + - ((*(float *)(param_1 + 0xa8) - *(float *)(param_1 + 0xac)) * - *(float *)(param_1 + 0xb4)) / fVar3; - } - else { - *(undefined4 *)(param_1 + 0xb0) = 0; - *(undefined4 *)(param_1 + 0xa4) = *(undefined4 *)(param_1 + 0xa8); - } - fVar3 = *(float *)(param_1 + 0x88); - } - else { - fVar3 = *(float *)(param_1 + 0x88); - } - fVar4 = *(float *)(param_1 + 0xa4); - if (0.00000000 < fVar3) { - *(float *)(param_1 + 0x8c) = *(float *)(param_1 + 0x8c) + fVar4; - fVar3 = *(float *)(param_1 + 0x8c); - if (fVar3 == 0.00000000) { - fVar4 = *(float *)(param_1 + 0xa4); - *(undefined4 *)(param_1 + 0x84) = 0x3f800000; - } - else { - fVar1 = *(float *)(param_1 + 0x88); - if (fVar3 < fVar1) { - fVar4 = *(float *)(param_1 + 0xa4); - *(float *)(param_1 + 0x84) = (fVar1 - fVar3) / fVar1; - } - else { - *(undefined4 *)(param_1 + 0x88) = 0; - *(undefined4 *)(param_1 + 0x84) = 0; - *(undefined4 *)(param_1 + 0x54) = 0; - fVar4 = *(float *)(param_1 + 0xa4); - } - } - in_f12 = *(float *)(param_1 + 0x4c); - } - else { - in_f12 = *(float *)(param_1 + 0x4c); - } - if (0.00000000 < in_f12) { - *(float *)(param_1 + 0x50) = *(float *)(param_1 + 0x50) + fVar4; - in_f14 = *(float *)(param_1 + 0x50); - if (in_f14 < in_f12) { - fVar4 = *(float *)(param_1 + 0xa4); - *(float *)(param_1 + 0x40) = - *(float *)(param_1 + 0x48) + - ((*(float *)(param_1 + 0x44) - *(float *)(param_1 + 0x48)) * in_f14) / - in_f12; - } - else { - *(undefined4 *)(param_1 + 0x4c) = 0; - fVar4 = *(float *)(param_1 + 0xa4); - *(undefined4 *)(param_1 + 0x40) = *(undefined4 *)(param_1 + 0x44); - } - fVar3 = *(float *)(param_1 + 0x40); - } - else { - fVar3 = *(float *)(param_1 + 0x40); - } - fVar8 = fVar8 + fVar4 * fVar3; - if ((*(int *)(param_1 + 0x54) != 0) && - (in_f12 = *(float *)(param_1 + 0x7c), 0.00000000 < in_f12)) { - *(float *)(param_1 + 0x80) = *(float *)(param_1 + 0x80) + fVar4; - in_f14 = *(float *)(param_1 + 0x80); - if (in_f14 < in_f12) { - *(float *)(param_1 + 0x70) = - *(float *)(param_1 + 0x78) + - ((*(float *)(param_1 + 0x74) - *(float *)(param_1 + 0x78)) * in_f14) / - in_f12; - } - else { - *(undefined4 *)(param_1 + 0x7c) = 0; - *(undefined4 *)(param_1 + 0x70) = *(undefined4 *)(param_1 + 0x74); - } - } - if (*(char *)(param_1 + 0x26) != '\0') { - fVar10 = *(float *)(param_1 + 0x3c); - fVar5 = *(float *)(param_1 + 0x90); - fVar2 = (float)((uint)*(ushort *)(*(int *)(param_1 + 0x20) + 4) - 1); - fVar4 = fVar10; - fVar1 = fVar5; - fVar11 = fVar5; - fVar9 = fVar2; - if (fVar3 < 0.00000000) { - fVar4 = fVar5; - fVar1 = fVar10; - fVar11 = fVar2; - fVar9 = fVar5; - } - if ((0.00000000 <= fVar10) && (fVar10 < fVar2)) { - fVar9 = fVar4; - fVar11 = fVar1; - } - if ((fVar3 < 0.00000000) || (fVar8 < fVar9)) { - if ((0.00000000 <= fVar3) || (fVar9 < fVar8)) goto LAB_7f070ec0; - uVar6 = *(undefined4 *)(param_1 + 0x4c); - } - else { - uVar6 = *(undefined4 *)(param_1 + 0x4c); - } - uVar12 = *(undefined4 *)(param_1 + 0x44); - uVar13 = *(undefined4 *)(param_1 + 0x48); - uVar7 = *(undefined4 *)(param_1 + 0x50); - if (param_3 == 0) { - proc_7F070090(param_1,in_f12,in_f14); - fVar3 = extraout_f12_00; - fVar4 = extraout_f14_00; - } - else { - proc_7F0701EC(param_1,in_f12,in_f14,*(float *)(param_1 + 0x28),fVar9); - fVar3 = extraout_f12; - fVar4 = extraout_f14; - } - proc_7F06FCA8(param_1,*(undefined4 *)(param_1 + 0x20), - *(undefined *)(param_1 + 0x24),fVar3,fVar11,fVar4); - *(undefined *)(param_1 + 0x26) = 1; - *(float *)(param_1 + 0x3c) = fVar10; - *(undefined4 *)(param_1 + 0x44) = uVar12; - *(undefined4 *)(param_1 + 0x48) = uVar13; - *(undefined4 *)(param_1 + 0x4c) = uVar6; - *(undefined4 *)(param_1 + 0x50) = uVar7; - fVar8 = (fVar11 + fVar8) - fVar9; - in_f12 = extraout_f12_01; - in_f14 = extraout_f14_01; - if (*(code **)(param_1 + 0x98) != NULL) { - (**(code **)(param_1 + 0x98))(); - in_f12 = extraout_f12_02; - in_f14 = extraout_f14_02; - } - } -LAB_7f070ec0: - param_2 += -1; - if (param_2 < 1) break; - fVar3 = *(float *)(param_1 + 0xb0); - } while( true ); - } - if (param_3 == 0) { - if (*(int *)(param_1 + 0x54) == 0) { - proc_7F070090(param_1,in_f12,in_f14); - } - else { - proc_7F070090(param_1,in_f12,in_f14); - } - } - else { - if (*(int *)(param_1 + 0x54) == 0) { - proc_7F0701EC(param_1,in_f12,in_f14,*(float *)(param_1 + 0x28),fVar8); - } - else { - proc_7F0701EC(param_1,in_f12,in_f14,*(float *)(param_1 + 0x28),fVar8); - } - } - } - return; -} - - - -void proc_7F070F80(int param_1) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xe7000000; - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xba001402; - if (*(int *)(param_1 + 4) == 0) { - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x552048; - *puVar1 = 0xb900031d; - } - else { - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0x552078; - } - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0xff33ffff; - *puVar1 = 0xfc121824; - return; -} - - - -void proc_7F071030(int param_1,longlong param_2) - -{ - int iVar1; - uint uVar2; - undefined4 *puVar3; - - iVar1 = *(int *)(param_1 + 0x30); - if (iVar1 == 7) { - if (param_2 != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(param_1 + 0x38); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | - (uVar2 >> 8 & 0xff) << 8 | uVar2 & 0xff; - uVar2 = *(uint *)(param_1 + 0x34); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | - (uVar2 >> 8 & 0xff) << 8 | 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x5ffedbf8; - *puVar3 = 0xfc159804; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 8) { - if (param_2 != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(param_1 + 0x38); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | - (uVar2 >> 8 & 0xff) << 8 | uVar2 & 0xff; - uVar2 = *(uint *)(param_1 + 0x34); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | - (uVar2 >> 8 & 0xff) << 8 | uVar2 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x5ffefff8; - *puVar3 = 0xfc159a04; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - } - else { - if (iVar1 == 9) { - if ((*(uint *)(param_1 + 0x34) & 0xff) != 0) { - if (param_2 == 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfa000000; - puVar3[1] = *(uint *)(param_1 + 0x34) >> 8 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1fccdff8; - *puVar3 = 0xfc26c204; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4113078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4113048; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - uVar2 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | - (uVar2 >> 8 & 0xff) << 8 | uVar2 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = *(uint *)(param_1 + 0x34) & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1ffcfbf8; - *puVar3 = 0xfc26e804; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4113078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4113048; - *puVar3 = 0xb900031d; - return; - } - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - uVar2 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | - (uVar2 >> 8 & 0xff) << 8 | uVar2 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xffffffff; - *puVar3 = 0xfb000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfa000000; - puVar3[1] = *(uint *)(param_1 + 0x34) >> 8 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093fb; - *puVar3 = 0xfc26a004; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 4) { - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - uVar2 = *(uint *)(param_1 + 0x34); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | - (uVar2 >> 8 & 0xff) << 8 | uVar2 & 0xff; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc4112078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc4112048; - *puVar3 = 0xb900031d; - return; - } - if (iVar1 == 5) { - if (param_2 == 0) { - if ((*(uint *)(param_1 + 0x34) & 0xff) < 0xff) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f10ffff; - *puVar3 = 0xfc269a04; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfc26a004; - puVar3[1] = 0x1f1093ff; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - uVar2 = *(uint *)(param_1 + 0x38); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xf8000000; - puVar3[1] = uVar2 & 0xff000000 | (uVar2 >> 0x10 & 0xff) << 0x10 | - (uVar2 >> 8 & 0xff) << 8 | uVar2 & 0xff; - uVar2 = *(uint *)(param_1 + 0x34); - if ((uVar2 & 0xff) < 0xff) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfb000000; - puVar3[1] = uVar2 & 0xff | 0xffffff00; - if ((*(uint *)(param_1 + 0x34) & 0xff00) == 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xfc26ea04; - puVar3[1] = 0x1f10ffff; - } - else { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f10cfff; - *puVar3 = 0xfc26ea04; - } - } - else { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - } - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc41049d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc41041c8; - *puVar3 = 0xb900031d; - return; - } - if (param_2 != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0; - *puVar3 = 0xe7000000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x100000; - *puVar3 = 0xba001402; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x1f1093ff; - *puVar3 = 0xfc26a004; - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc192078; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc192048; - *puVar3 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb900031d; - puVar3[1] = 0xc1849d8; - return; - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0xc1841c8; - *puVar3 = 0xb900031d; - } - return; -} - - - -void proc_7F071B44(int param_1,longlong param_2) - -{ - int iVar1; - undefined4 *puVar2; - uint uVar3; - - iVar1 = *(int *)(param_1 + 0x30); - if (iVar1 == 7) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - uVar3 = *(uint *)(param_1 + 0x34); - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x5ffedbf8; - *puVar2 = 0xfc159804; - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 8) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x34); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x5ffefff8; - *puVar2 = 0xfc159a04; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 9) { - if ((*(uint *)(param_1 + 0x34) & 0xff) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | - (uVar3 >> 8 & 0xff) << 8 | uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = *(uint *)(param_1 + 0x34) & 0xff; - if (param_2 == 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfa000000; - puVar2[1] = *(uint *)(param_1 + 0x34) >> 8 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1fccdff8; - *puVar2 = 0xfc26c204; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4113078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4113048; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1ffcfbf8; - *puVar2 = 0xfc26e804; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4113078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4113048; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xffffffff; - *puVar2 = 0xfb000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfa000000; - puVar2[1] = *(uint *)(param_1 + 0x34) >> 8 & 0xff; - if (param_2 == 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093fb; - *puVar2 = 0xfc26a004; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26a004; - puVar2[1] = 0x1f1093fb; - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 4) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x34); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093ff; - *puVar2 = 0xfc26a004; - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; - } - if (iVar1 == 5) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - uVar3 = *(uint *)(param_1 + 0x38); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xf8000000; - puVar2[1] = uVar3 & 0xff000000 | (uVar3 >> 0x10 & 0xff) << 0x10 | (uVar3 >> 8 & 0xff) << 8 | - uVar3 & 0xff; - uVar3 = *(uint *)(param_1 + 0x34); - if ((uVar3 & 0xff) < 0xff) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfb000000; - puVar2[1] = uVar3 & 0xff | 0xffffff00; - if (param_2 == 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc269a04; - puVar2[1] = 0x1f10ffff; - } - else { - if ((*(uint *)(param_1 + 0x34) & 0xff00) == 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f10ffff; - *puVar2 = 0xfc26ea04; - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26ea04; - puVar2[1] = 0x1f10cfff; - } - } - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1f1093ff; - *puVar2 = 0xfc26a004; - } - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0; - *puVar2 = 0xe7000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x100000; - *puVar2 = 0xba001402; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xffffff00; - *puVar2 = 0xf8000000; - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xfc26a004; - puVar2[1] = 0x1f1093ff; - if (param_2 == 0) { - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc41049d8; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc41041c8; - *puVar2 = 0xb900031d; - return; - } - if (*(int *)(param_1 + 4) != 0) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xb900031d; - puVar2[1] = 0xc4112078; - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0xc4112048; - *puVar2 = 0xb900031d; - return; -} - - - -void proc_7F072644(int param_1) - -{ - undefined4 *puVar1; - - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0; - *puVar1 = 0xe7000000; - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x100000; - *puVar1 = 0xba001402; - if (*(int *)(param_1 + 4) == 0) { - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0xc192048; - } - else { - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - *puVar1 = 0xb900031d; - puVar1[1] = 0xc192078; - } - puVar1 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - puVar1[1] = 0x1f1093ff; - *puVar1 = 0xfc26a004; - return; -} - - - -void proc_7F0726F8(int param_1) - -{ - int iVar1; - undefined4 *puVar2; - - iVar1 = *(int *)(param_1 + 0x3c); - if (iVar1 == 1) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x3000; - *puVar2 = 0xb6000000; - return; - } - if (iVar1 != 2) { - if (iVar1 == 3) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x2000; - *puVar2 = 0xb7000000; - } - return; - } - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - puVar2[1] = 0x1000; - *puVar2 = 0xb7000000; - return; -} - - - -void proc_7F072784(int param_1,int param_2) - -{ - int *piVar1; - char cVar4; - undefined4 *puVar2; - u32 uVar3; - uint uVar5; - - piVar1 = *(int **)(param_2 + 4); - if (*(int *)(param_1 + 0x18) == 0) { - if ((*(uint *)(param_1 + 8) & 1) == 0) { - uVar5 = *(uint *)(param_1 + 8); - } - else { - if (*piVar1 == 0) { - uVar5 = *(uint *)(param_1 + 8); - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xbc001406; - uVar3 = osVirtualToPhysical((void *)piVar1[2]); - puVar2[1] = uVar3; - if (*(int *)(param_1 + 0x3c) == 0) { - cVar4 = *(char *)((int)piVar1 + 0x12); - } - else { - proc_7F0726F8(param_1); - cVar4 = *(char *)((int)piVar1 + 0x12); - } - if (cVar4 == '\x01') { - proc_7F070F80(param_1); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (cVar4 == '\x03') { - proc_7F071030(param_1,1); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (cVar4 == '\x04') { - proc_7F071B44(param_1,1); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (cVar4 == '\x02') { - proc_7F072644(param_1); - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - else { - puVar2 = *(undefined4 **)(param_1 + 0xc); - } - } - } - } - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = *piVar1; - if (*(char *)((int)piVar1 + 0x12) == '\x03') { - if (piVar1[1] == 0) { - uVar5 = *(uint *)(param_1 + 8); - } - else { - proc_7F071030(param_1,0); - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = piVar1[1]; - uVar5 = *(uint *)(param_1 + 8); - } - } - else { - uVar5 = *(uint *)(param_1 + 8); - } - } - } - if (((((uVar5 & 2) != 0) && (*piVar1 != 0)) && (*(char *)((int)piVar1 + 0x12) == '\x04')) && - (piVar1[1] != 0)) { - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0xbc001406; - uVar3 = osVirtualToPhysical((void *)piVar1[2]); - puVar2[1] = uVar3; - if (*(int *)(param_1 + 0x3c) != 0) { - proc_7F0726F8(param_1); - } - proc_7F071B44(param_1,0); - puVar2 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar2 + 2; - *puVar2 = 0x6000000; - puVar2[1] = piVar1[1]; - } - } - return; -} - - - -void proc_7F072984(int param_1,int param_2,ushort *param_3) - -{ - int iVar1; - void **ppvVar2; - short sVar4; - u32 uVar3; - undefined4 *puVar5; - uint uVar6; - - iVar1 = *(int *)(param_3 + 2); - if (*(int *)(param_1 + 0x18) == 0) { - if ((*(uint *)(param_1 + 8) & 1) == 0) { - uVar6 = *(uint *)(param_1 + 8); - } - else { - ppvVar2 = (void **)extract_id_from_object_structure_microcode(param_2,param_3); - if (ppvVar2[1] == NULL) { - uVar6 = *(uint *)(param_1 + 8); - } - else { - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001406; - uVar3 = osVirtualToPhysical(*(void **)(iVar1 + 0x1c)); - puVar5[1] = uVar3; - if (*(int *)(param_1 + 0x3c) == 0) { - sVar4 = *(short *)(iVar1 + 0x18); - } - else { - proc_7F0726F8(param_1); - sVar4 = *(short *)(iVar1 + 0x18); - } - if (sVar4 == 1) { - proc_7F070F80(param_1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (sVar4 == 3) { - proc_7F071030(param_1,1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (sVar4 == 4) { - proc_7F071B44(param_1,1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - if (sVar4 == 2) { - proc_7F072644(param_1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - } - } - } - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001006; - uVar3 = osVirtualToPhysical(*ppvVar2); - puVar5[1] = uVar3; - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0x6000000; - *(void **)(puVar5 + 1) = ppvVar2[1]; - if (*(short *)(iVar1 + 0x18) == 3) { - if (*(int *)(iVar1 + 4) == 0) { - uVar6 = *(uint *)(param_1 + 8); - } - else { - proc_7F071030(param_1,0); - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0x6000000; - puVar5[1] = *(undefined4 *)(iVar1 + 4); - uVar6 = *(uint *)(param_1 + 8); - } - } - else { - uVar6 = *(uint *)(param_1 + 8); - } - } - } - if (((((uVar6 & 2) != 0) && - (ppvVar2 = (void **)extract_id_from_object_structure_microcode(param_2,param_3), - ppvVar2[1] != NULL)) && (*(short *)(iVar1 + 0x18) == 4)) && (*(int *)(iVar1 + 4) != 0)) - { - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001406; - uVar3 = osVirtualToPhysical(*(void **)(iVar1 + 0x1c)); - puVar5[1] = uVar3; - if (*(int *)(param_1 + 0x3c) == 0) { - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - else { - proc_7F0726F8(param_1); - puVar5 = *(undefined4 **)(param_1 + 0xc); - } - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0xbc001006; - uVar3 = osVirtualToPhysical(*ppvVar2); - puVar5[1] = uVar3; - proc_7F071B44(param_1,0); - puVar5 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar5 + 2; - *puVar5 = 0x6000000; - puVar5[1] = *(undefined4 *)(iVar1 + 4); - } - } - return; -} - - - -void proc_7F072C10(void) - -{ - return; -} - - - -void dorottex(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - short sVar1; - int *piVar2; - undefined4 uVar3; - ushort x; - u32 uVar4; - short sVar6; - short sVar7; - u32 uVar5; - int iVar8; - undefined4 *puVar9; - short sVar10; - short sVar11; - uint uVar12; - undefined4 *virtualAddress; - int iVar13; - undefined4 *puVar14; - int iVar15; - int iVar16; - - if (((*(int *)(param_1 + 0x18) == 0) && ((*(uint *)(param_1 + 8) & 2) != 0)) && - (piVar2 = *(int **)(param_2 + 4), piVar2[2] != 0)) { - puVar14 = (undefined4 *)piVar2[1]; - if (vtxallocator == NULL) { - osSyncPrintf("dorottex: no vtx allocator!\n",param_2,param_3,param_4); - return_null(); - } - virtualAddress = (undefined4 *)(*vtxallocator)(*piVar2 << 2); - puVar9 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar9 + 2; - *puVar9 = 0xbc001006; - uVar4 = osVirtualToPhysical(virtualAddress); - puVar9[1] = uVar4; - puVar9 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar9 + 2; - *puVar9 = 0xbc001406; - uVar4 = osVirtualToPhysical((void *)piVar2[3]); - puVar9[1] = uVar4; - puVar9 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar9 + 2; - puVar9[1] = 0; - *puVar9 = 0xf8000000; - puVar9 = *(undefined4 **)(param_1 + 0xc); - iVar15 = 0; - *(undefined4 **)(param_1 + 0xc) = puVar9 + 2; - *puVar9 = 0x6000000; - puVar9[1] = piVar2[2]; - if (0 < *piVar2) { - do { - uVar4 = get_random_value(); - x = (ushort)(uVar4 << 10); - sVar6 = coss(x); - sVar7 = sins(x); - uVar4 = get_random_value(); - iVar13 = -((int)uVar4 >> 0x1f); - uVar5 = get_random_value(); - iVar8 = 0x10000 - (uVar5 & 0x3fff); - *virtualAddress = *puVar14; - sVar6 = (short)((int)sVar6 * 0x16a0 >> 0x12); - sVar11 = 0x200 - sVar6; - sVar7 = (short)((int)sVar7 * 0x16a0 >> 0x12); - sVar10 = 0x200 - sVar7; - virtualAddress[1] = puVar14[1]; - sVar7 += 0x200; - virtualAddress[2] = puVar14[2]; - iVar15 += 1; - virtualAddress[3] = puVar14[3]; - virtualAddress[4] = puVar14[4]; - virtualAddress[5] = puVar14[5]; - virtualAddress[6] = puVar14[6]; - virtualAddress[7] = puVar14[7]; - virtualAddress[8] = puVar14[8]; - virtualAddress[9] = puVar14[9]; - virtualAddress[10] = puVar14[10]; - virtualAddress[0xb] = puVar14[0xb]; - virtualAddress[0xc] = puVar14[0xc]; - virtualAddress[0xd] = puVar14[0xd]; - virtualAddress[0xe] = puVar14[0xe]; - uVar3 = puVar14[0xf]; - *(short *)(virtualAddress + 2) = sVar11; - *(short *)((int)virtualAddress + 10) = sVar10; - virtualAddress[0xf] = uVar3; - iVar16 = iVar13; - if ((0 < (int)uVar4 >> 0x1f) && (iVar13 != 0)) { - iVar16 = iVar13 + -4; - } - puVar9 = puVar14 + iVar16 * 4; - iVar16 = iVar13 + 1; - *(short *)virtualAddress = (short)((uint)(*(short *)puVar9 * iVar8) >> 0x10); - sVar6 += 0x200; - *(undefined2 *)((int)virtualAddress + 2) = - (short)((uint)(*(short *)((int)puVar9 + 2) * iVar8) >> 0x10); - sVar1 = *(short *)(puVar9 + 1); - *(short *)(virtualAddress + 6) = sVar7; - *(short *)((int)virtualAddress + 0x1a) = sVar11; - *(short *)(virtualAddress + 1) = (short)((uint)(sVar1 * iVar8) >> 0x10); - if ((iVar16 < 0) && (iVar16 != 0)) { - iVar16 = iVar13 + -3; - } - puVar9 = puVar14 + iVar16 * 4; - *(short *)(virtualAddress + 4) = (short)((uint)(*(short *)puVar9 * iVar8) >> 0x10); - *(undefined2 *)((int)virtualAddress + 0x12) = - (short)((uint)(*(short *)((int)puVar9 + 2) * iVar8) >> 0x10); - sVar11 = *(short *)(puVar9 + 1); - *(short *)(virtualAddress + 10) = sVar6; - *(short *)((int)virtualAddress + 0x2a) = sVar7; - *(short *)(virtualAddress + 5) = (short)((uint)(sVar11 * iVar8) >> 0x10); - uVar12 = iVar13 + 2U & 3; - if (((int)(iVar13 + 2U) < 0) && (uVar12 != 0)) { - uVar12 -= 4; - } - puVar9 = puVar14 + uVar12 * 4; - *(short *)(virtualAddress + 8) = (short)((uint)(*(short *)puVar9 * iVar8) >> 0x10); - *(undefined2 *)((int)virtualAddress + 0x22) = - (short)((uint)(*(short *)((int)puVar9 + 2) * iVar8) >> 0x10); - sVar7 = *(short *)(puVar9 + 1); - *(short *)(virtualAddress + 0xe) = sVar10; - *(short *)((int)virtualAddress + 0x3a) = sVar6; - *(short *)(virtualAddress + 9) = (short)((uint)(sVar7 * iVar8) >> 0x10); - uVar12 = iVar13 + 3U & 3; - if (((int)(iVar13 + 3U) < 0) && (uVar12 != 0)) { - uVar12 -= 4; - } - puVar9 = puVar14 + uVar12 * 4; - puVar14 = puVar14 + 0x10; - *(short *)(virtualAddress + 0xc) = (short)((uint)(*(short *)puVar9 * iVar8) >> 0x10) - ; - *(undefined2 *)((int)virtualAddress + 0x32) = - (short)((uint)(*(short *)((int)puVar9 + 2) * iVar8) >> 0x10); - *(short *)(virtualAddress + 0xd) = - (short)((uint)(*(short *)(puVar9 + 1) * iVar8) >> 0x10); - virtualAddress = virtualAddress + 0x10; - } while (iVar15 < *piVar2); - } - } - return; -} - - - -void proc_7F073038(int param_1,uint *param_2,int param_3) - -{ - append_image_to_DL((uint **)(param_1 + 0xc),(sImageTableEntry *)param_2,param_3, - (longlong)*(int *)(param_1 + 4),2); - return; -} - - - -void proc_7F07306C(void) - -{ - return; -} - - - -void dotube(int param_1,int param_2,ushort *param_3) - -{ - byte bVar1; - char cVar2; - ushort **ppuVar3; - int iVar4; - int iVar5; - ushort *puVar6; - uint *puVar7; - bool bVar8; - int iVar9; - int *piVar10; - int *piVar11; - short sVar13; - short sVar14; - u32 uVar12; - byte *pbVar15; - undefined2 *puVar16; - ushort *partdesc; - char *pcVar17; - ulonglong uVar18; - int iVar19; - undefined4 *puVar20; - int iVar21; - undefined4 *puVar22; - undefined4 *virtualAddress; - int iVar23; - char *pcVar24; - ulonglong uVar25; - int iVar26; - - ppuVar3 = *(ushort ***)(param_3 + 2); - piVar10 = (int *)extract_id_from_object_structure_microcode(param_2,param_3); - partdesc = *ppuVar3; - if (partdesc == NULL) { - partdesc = ppuVar3[1]; - } - iVar4 = *(int *)(partdesc + 2); - piVar11 = (int *)extract_id_from_object_structure_microcode(param_2,partdesc); - bVar8 = true; - if ((*(uint *)(param_1 + 8) & 1) != 0) { - sVar13 = proc_7F06C570(param_3,0); - iVar5 = *(int *)(param_2 + 0xc); - iVar23 = *piVar10; - partdesc = ppuVar3[3]; - iVar26 = *piVar11; - iVar9 = iVar23 * 4; - if (*ppuVar3 == NULL) { - sVar14 = proc_7F06C570(ppuVar3[1],0x200); - iVar21 = *(int *)(param_2 + 0xc); - iVar19 = iVar26; - } - else { - sVar14 = proc_7F06C570(param_3,0x200); - iVar21 = *(int *)(param_2 + 0xc); - iVar19 = iVar23; - iVar23 = iVar26; - } - puVar6 = ppuVar3[2]; - iVar19 = (iVar19 - iVar23) + (int)puVar6; - iVar26 = iVar19 % (int)puVar6; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar19 == -0x80000000)) { - trap(0x1800); - } - if ((iVar26 < 2) || (6 < iVar26)) { - if ((iVar26 < 10) || (0xe < iVar26)) { - if ((6 < iVar26) && (iVar26 < 10)) { - bVar8 = false; - } - virtualAddress = *(undefined4 **)(param_1 + 0xc); - } - else { - if (iVar26 < 0xd) { - iVar19 = iVar26 + -8; - if (iVar19 < 0) { - iVar19 = iVar26 + -7; - } - iVar26 = (iVar19 >> 1) + iVar23 + (int)puVar6; - iVar23 = iVar26 % (int)puVar6; - bVar8 = false; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar26 == -0x80000000)) { - trap(0x1800); - } - virtualAddress = *(undefined4 **)(param_1 + 0xc); - } - else { - iVar19 = -iVar26 + 0x10; - if (iVar19 < 0) { - iVar19 = -iVar26 + 0x11; - } - iVar26 = (iVar23 - (iVar19 >> 1)) + (int)puVar6; - iVar23 = iVar26 % (int)puVar6; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar26 == -0x80000000)) { - trap(0x1800); - } - virtualAddress = *(undefined4 **)(param_1 + 0xc); - } - } - } - else { - if (iVar26 < 4) { - if (iVar26 < 0) { - iVar26 += 1; - } - iVar26 = (iVar26 >> 1) + iVar23 + (int)puVar6; - iVar23 = iVar26 % (int)puVar6; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar26 == -0x80000000)) { - trap(0x1800); - } - virtualAddress = *(undefined4 **)(param_1 + 0xc); - } - else { - iVar19 = -iVar26 + 8; - if (iVar19 < 0) { - iVar19 = -iVar26 + 9; - } - iVar26 = (iVar23 - (iVar19 >> 1)) + (int)puVar6; - iVar23 = iVar26 % (int)puVar6; - bVar8 = false; - if (puVar6 == NULL) { - trap(0x1c00); - } - if ((puVar6 == (ushort *)0xffffffff) && (iVar26 == -0x80000000)) { - trap(0x1800); - } - virtualAddress = *(undefined4 **)(param_1 + 0xc); - } - } - pcVar24 = *(char **)(partdesc + iVar9 + 2); - *(undefined4 **)(param_1 + 0xc) = virtualAddress + 2; - *virtualAddress = 0xbc001406; - uVar12 = osVirtualToPhysical(ppuVar3[0x6b]); - virtualAddress[1] = uVar12; - bVar1 = *(byte *)(partdesc + iVar9); - uVar25 = (ulonglong)bVar1; - if (bVar1 != 0) { - cVar2 = *pcVar24; - do { - if (cVar2 == '\x01') { - if (vtxallocator == NULL) { - osSyncPrintf("dotube: no vtx allocator!\n"); - return_null(); - } - virtualAddress = (undefined4 *)(*vtxallocator)(2); - puVar22 = virtualAddress + 4; - puVar20 = (undefined4 *)(ppuVar3[4] + (uint)*(ushort *)(pcVar24 + 2) * 8); - *virtualAddress = *puVar20; - virtualAddress[1] = puVar20[1]; - virtualAddress[2] = puVar20[2]; - virtualAddress[3] = puVar20[3]; - partdesc = ppuVar3[4] + (uint)*(ushort *)(pcVar24 + 2) * 8; - *puVar22 = *(undefined4 *)(partdesc + 8); - virtualAddress[5] = *(undefined4 *)(partdesc + 10); - virtualAddress[6] = *(undefined4 *)(partdesc + 0xc); - virtualAddress[7] = *(undefined4 *)(partdesc + 0xe); - if (ppuVar3[1] == NULL) { - pbVar15 = (byte *)(*(int *)(iVar4 + 0xc) + iVar23 * 8); - bVar1 = *pbVar15; - uVar18 = (ulonglong)bVar1; - pcVar17 = *(char **)(pbVar15 + 4); - if (bVar1 == 0) { - puVar22 = *(undefined4 **)(param_1 + 0xc); - } - else { - cVar2 = *pcVar17; - while (uVar18 = SEXT48((int)uVar18 + -1), cVar2 != '\x01') { - if (cVar2 == '\x01') { - pcVar17 = pcVar17 + 4; - } - else { - if (cVar2 == '\x02') { - pcVar17 = pcVar17 + 2; - } - else { - if (cVar2 == '\x03') { - pcVar17 = pcVar17 + 4; - } - } - } - if ((longlong)uVar18 < 1) goto LAB_7f073618; - cVar2 = *pcVar17; - } - puVar16 = (undefined2 *) - (*(int *)(iVar4 + 0x10) + - (uint)*(ushort *)(pcVar17 + 2) * 0x10); - if (bVar8) { - *(undefined2 *)virtualAddress = puVar16[8]; - *(undefined2 *)((int)virtualAddress + 2) = puVar16[9]; - *(undefined2 *)(virtualAddress + 1) = puVar16[10]; - *(undefined2 *)puVar22 = *puVar16; - *(undefined2 *)((int)virtualAddress + 0x12) = puVar16[1]; - *(undefined2 *)(virtualAddress + 5) = puVar16[2]; - } - else { - *(undefined2 *)virtualAddress = *puVar16; - *(undefined2 *)((int)virtualAddress + 2) = puVar16[1]; - *(undefined2 *)(virtualAddress + 1) = puVar16[2]; - *(undefined2 *)puVar22 = puVar16[8]; - *(undefined2 *)((int)virtualAddress + 0x12) = puVar16[9]; - *(undefined2 *)(virtualAddress + 5) = puVar16[10]; - } -LAB_7f073618: - puVar22 = *(undefined4 **)(param_1 + 0xc); - } - } - else { - bVar1 = *(byte *)(ppuVar3[3] + iVar23 * 4); - uVar18 = (ulonglong)bVar1; - pcVar17 = *(char **)(ppuVar3[3] + iVar23 * 4 + 2); - if (bVar1 != 0) { - cVar2 = *pcVar17; - while (uVar18 = SEXT48((int)uVar18 + -1), cVar2 != '\x01') { - if (cVar2 == '\x01') { - pcVar17 = pcVar17 + 4; - } - else { - if (cVar2 == '\x02') { - pcVar17 = pcVar17 + 2; - } - else { - if (cVar2 == '\x03') { - pcVar17 = pcVar17 + 4; - } - } - } - if ((longlong)uVar18 < 1) { - puVar22 = *(undefined4 **)(param_1 + 0xc); - goto LAB_7f07361c; - } - cVar2 = *pcVar17; - } - partdesc = ppuVar3[4] + (uint)*(ushort *)(pcVar17 + 2) * 8; - *(ushort *)virtualAddress = *partdesc; - *(ushort *)((int)virtualAddress + 2) = partdesc[1]; - *(ushort *)(virtualAddress + 1) = partdesc[2]; - *(ushort *)puVar22 = partdesc[8]; - *(ushort *)((int)virtualAddress + 0x12) = partdesc[9]; - *(ushort *)(virtualAddress + 5) = partdesc[10]; - goto LAB_7f073618; - } - puVar22 = *(undefined4 **)(param_1 + 0xc); - } -LAB_7f07361c: - *(undefined4 **)(param_1 + 0xc) = puVar22 + 2; - *puVar22 = 0x1020040; - uVar12 = osVirtualToPhysical((void *)(iVar21 + (int)sVar14 * 0x40)); - puVar22[1] = uVar12; - puVar22 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar22 + 2; - *puVar22 = 0x4100020; - uVar12 = osVirtualToPhysical(virtualAddress); - puVar22[1] = uVar12; - virtualAddress = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = virtualAddress + 2; - *virtualAddress = 0x1020040; - uVar12 = osVirtualToPhysical((void *)(iVar5 + (int)sVar13 * 0x40)); - virtualAddress[1] = uVar12; - puVar7 = *(uint **)(param_1 + 0xc); - *(uint **)(param_1 + 0xc) = puVar7 + 2; - *puVar7 = (((uint)(byte)pcVar24[1] - 3) * 0x10 & 0xff | 2) << 0x10 | 0x4000000 | - ((uint)(byte)pcVar24[1] - 2) * 0x10 & 0xffff; - uVar12 = osVirtualToPhysical(ppuVar3[4] + - (uint)*(ushort *)(pcVar24 + 2) * 8 + 0x10); - pcVar24 = pcVar24 + 4; - puVar7[1] = uVar12; - } - else { - if (cVar2 == '\x02') { - if (pcVar24[1] == 0xff) { - proc_7F073038(param_1,NULL,1); - pcVar24 = pcVar24 + 2; - } - else { - proc_7F073038(param_1,(uint *)(ppuVar3[5] + (uint)(byte)pcVar24[1] * 6), - 1); - pcVar24 = pcVar24 + 2; - } - } - else { - if (cVar2 == '\x03') { - virtualAddress = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = virtualAddress + 2; - *virtualAddress = 0xbf000000; - virtualAddress[1] = - ((uint)(byte)pcVar24[1] * 10 & 0xff) << 0x10 | - ((uint)(byte)pcVar24[2] * 10 & 0xff) << 8 | - (uint)(byte)pcVar24[3] * 10 & 0xff; - pcVar24 = pcVar24 + 4; - } - } - } - uVar25 = SEXT48((int)uVar25 + -1); - if ((longlong)uVar25 < 1) { - return; - } - cVar2 = *pcVar24; - } while( true ); - } - } - return; -} - - - -void proc_7F0737EC(void) - -{ - return; -} - - - -void proc_7F0737FC(void) - -{ - return; -} - - - -void dogfnegx(int param_1,int param_2,ushort *param_3) - -{ - byte bVar1; - byte bVar2; - float *pfVar3; - undefined4 *puVar4; - uint *puVar5; - undefined4 uVar6; - undefined4 uVar7; - undefined4 uVar8; - undefined4 uVar9; - short *psVar10; - short sVar12; - u32 uVar11; - undefined4 *virtualAddress; - short sVar13; - short sVar14; - short sVar15; - float *virtualAddress_00; - ushort x; - float __x; - float __x_00; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fStack48; - float fStack44; - float fStack40; - - pfVar3 = *(float **)(param_3 + 2); - psVar10 = (short *)extract_id_from_object_structure_microcode(param_2,param_3); - uVar9 = dword_800363EC; - uVar8 = DAT_800363e8; - uVar7 = DAT_800363e4; - uVar6 = DAT_800363e0; - if (((*(uint *)(param_1 + 8) & 2) != 0) && (*psVar10 != 0)) { - sVar12 = proc_7F06C570(param_3,0); - virtualAddress_00 = (float *)(*(int *)(param_2 + 0xc) + (int)sVar12 * 0x40); - fStack48 = -(virtualAddress_00[0xc] + - *pfVar3 * *virtualAddress_00 + pfVar3[1] * virtualAddress_00[4] + - pfVar3[2] * virtualAddress_00[8]); - fStack44 = -(virtualAddress_00[0xd] + - *pfVar3 * virtualAddress_00[1] + pfVar3[1] * virtualAddress_00[5] + - pfVar3[2] * virtualAddress_00[9]); - fStack40 = -(virtualAddress_00[0xe] + - *pfVar3 * virtualAddress_00[2] + pfVar3[1] * virtualAddress_00[6] + - pfVar3[2] * virtualAddress_00[10]); - __x = sqrtf(fStack40 * fStack40 + fStack48 * fStack48 + fStack44 * fStack44); - if (0.00000000 < __x) { - __x = 1.00000000 / (*(float *)(param_2 + 0x14) * __x); - fStack48 = fStack48 * __x; - fStack44 = fStack44 * __x; - fStack40 = fStack40 * __x; - } - else { - fStack48 = 0.00000000; - fStack44 = 0.00000000; - fStack40 = 1.00000000 / *(float *)(param_2 + 0x14); - } - __x = proc_7F05ACB0(virtualAddress_00[6] * fStack40 + - fStack48 * virtualAddress_00[4] + fStack44 * virtualAddress_00[5]); - __x_00 = sinf(__x); - __x_00 = proc_7F05ACB0(-(fStack48 * virtualAddress_00[8] + fStack44 * virtualAddress_00[9] + - fStack40 * virtualAddress_00[10]) / __x_00); - if (-(virtualAddress_00[2] * fStack40 + - fStack48 * *virtualAddress_00 + fStack44 * virtualAddress_00[1]) < 0.00000000) { - __x_00 = flt_80054D50 - __x_00; - } - fVar16 = cosf(__x_00); - __x_00 = sinf(__x_00); - fVar17 = cosf(__x); - __x = sinf(__x); - uVar11 = get_random_value(); - fVar20 = (float)(uVar11 & 0x7f); - if (false) { - fVar20 = fVar20 + 4294967296.00000000; - } - fVar20 = fVar20 * 0.00390625 + 0.75000000; - fVar19 = pfVar3[3] * fVar20; - fVar21 = pfVar3[5]; - fVar24 = pfVar3[4] * fVar20 * __x * 0.50000000; - __x = *pfVar3 - fVar19 * 0.50000000; - fVar23 = pfVar3[1]; - fVar22 = pfVar3[2]; - if (vtxallocator == NULL) { - osSyncPrintf("dogfnegx: no vtx allocator!\n"); - return_null(); - } - virtualAddress = (undefined4 *)(*vtxallocator)(4); - *virtualAddress = uVar6; - virtualAddress[1] = uVar7; - virtualAddress[2] = uVar8; - virtualAddress[3] = uVar9; - virtualAddress[4] = uVar6; - virtualAddress[5] = uVar7; - virtualAddress[6] = uVar8; - virtualAddress[7] = uVar9; - virtualAddress[8] = uVar6; - virtualAddress[9] = uVar7; - virtualAddress[10] = uVar8; - virtualAddress[0xb] = uVar9; - virtualAddress[0xc] = uVar6; - virtualAddress[0xd] = uVar7; - virtualAddress[0xe] = uVar8; - virtualAddress[0xf] = uVar9; - fVar18 = -(fVar19 * fVar16 * 0.50000000); - fVar19 = -(fVar19 * fVar17 * __x_00 * 0.50000000); - *(short *)virtualAddress = (short)(int)(__x + fVar18 + fVar19); - *(undefined2 *)((int)virtualAddress + 2) = (short)(int)(fVar23 - fVar24); - __x_00 = -(fVar21 * fVar20 * __x_00 * 0.50000000); - fVar16 = -(fVar21 * fVar20 * fVar17 * fVar16 * 0.50000000); - *(short *)(virtualAddress + 1) = (short)(int)((fVar22 - __x_00) + fVar16); - *(short *)(virtualAddress + 4) = (short)(int)((__x + fVar18) - fVar19); - *(undefined2 *)((int)virtualAddress + 0x12) = (short)(int)(fVar23 + fVar24); - *(short *)(virtualAddress + 5) = (short)(int)((fVar22 - __x_00) - fVar16); - *(short *)(virtualAddress + 8) = (short)(int)((__x - fVar18) - fVar19); - *(undefined2 *)((int)virtualAddress + 0x22) = (short)(int)(fVar23 + fVar24); - *(short *)(virtualAddress + 9) = (short)(int)((fVar22 + __x_00) - fVar16); - *(short *)(virtualAddress + 0xc) = (short)(int)((__x - fVar18) + fVar19); - *(undefined2 *)((int)virtualAddress + 0x32) = (short)(int)(fVar23 - fVar24); - *(short *)(virtualAddress + 0xd) = (short)(int)(fVar22 + __x_00 + fVar16); - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - *puVar4 = 0xbc001406; - uVar11 = osVirtualToPhysical((void *)pfVar3[9]); - puVar4[1] = uVar11; - puVar5 = (uint *)pfVar3[6]; - if (puVar5 == NULL) { - proc_7F073038(param_1,NULL,1); - puVar4 = *(undefined4 **)(param_1 + 0xc); - } - else { - uVar11 = get_random_value(); - x = (ushort)(uVar11 << 10); - sVar13 = coss(x); - bVar1 = *(byte *)(puVar5 + 1); - sVar14 = sins(x); - bVar2 = *(byte *)(puVar5 + 1); - sVar12 = (ushort)bVar2 * 0x10; - sVar13 = (short)((int)((int)sVar13 * (uint)bVar1 * 0xb5) >> 0x12); - sVar15 = sVar12 - sVar13; - *(short *)(virtualAddress + 2) = sVar15; - *(short *)((int)virtualAddress + 0x1a) = sVar15; - sVar13 = sVar12 + sVar13; - *(short *)(virtualAddress + 10) = sVar13; - *(short *)((int)virtualAddress + 0x3a) = sVar13; - sVar13 = (short)((int)((int)sVar14 * (uint)bVar2 * 0xb5) >> 0x12); - sVar14 = sVar12 - sVar13; - sVar12 += sVar13; - *(short *)((int)virtualAddress + 10) = sVar14; - *(short *)(virtualAddress + 6) = sVar12; - *(short *)((int)virtualAddress + 0x2a) = sVar12; - *(short *)(virtualAddress + 0xe) = sVar14; - proc_7F073038(param_1,puVar5,4); - puVar4 = *(undefined4 **)(param_1 + 0xc); - } - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - puVar4[1] = 0x2000; - *puVar4 = 0xb7000000; - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - *puVar4 = 0x1020040; - uVar11 = osVirtualToPhysical(virtualAddress_00); - puVar4[1] = uVar11; - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - *puVar4 = 0x4300040; - uVar11 = osVirtualToPhysical(virtualAddress); - puVar4[1] = uVar11; - puVar4 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar4 + 2; - puVar4[1] = 0x3210; - *puVar4 = 0xb1000002; - } - return; -} - - - -void proc_7F073FC8(undefined4 param_1) - -{ - dword_800363F0 = param_1; - return; -} - - - -void doshadow(int param_1,int param_2,ushort *param_3) - -{ - byte bVar1; - float *pfVar2; - undefined4 *puVar3; - uint *puVar4; - undefined4 uVar5; - undefined4 uVar6; - undefined4 uVar7; - uint uVar8; - int iVar9; - short sVar11; - undefined4 *virtualAddress; - u32 uVar10; - undefined2 uVar12; - float fVar13; - float fVar14; - float fVar15; - uint local_14; - - uVar8 = dword_80036404; - uVar7 = dword_80036400; - uVar6 = dword_800363FC; - uVar5 = dword_800363F8; - if (0 < (int)dword_800363F0) { - pfVar2 = *(float **)(param_3 + 2); - iVar9 = extract_id_from_object_structure_microcode(param_2,(ushort *)pfVar2[5]); - fVar14 = pfVar2[2]; - fVar15 = pfVar2[3]; - fVar13 = *(float *)(iVar9 + 0xc) - *(float *)(iVar9 + 4); - if ((*(uint *)(param_1 + 8) & 2) != 0) { - if ((*(int *)(param_1 + 0x30) == 3) || (*(int *)(param_1 + 0x30) == 8)) { - local_14 = uVar8 & 0xffffff00 | - ((*(uint *)(param_1 + 0x34) & 0xff) * dword_800363F0) / 0xff & 0xff; - } - else { - local_14 = uVar8 & 0xffffff00 | dword_800363F0 & 0xff; - } - sVar11 = proc_7F06C570(param_3,0); - iVar9 = *(int *)(param_2 + 0xc); - if (*(int *)(param_1 + 4) == 0) { - uVar12 = (undefined2)(int)(-fVar13 / *(float *)(param_2 + 0x14)); - } - else { - uVar12 = (undefined2)(int)((2.00000000 - fVar13) / *(float *)(param_2 + 0x14)); - } - if (fVar13 < 50.00000000) { - fVar14 = fVar14 * 1.25000000; - fVar15 = fVar15 * 1.25000000; - } - else { - if (300.00000000 < fVar13) { - fVar15 = 0.00000000; - fVar14 = 0.00000000; - } - else { - fVar13 = (300.00000000 - fVar13) / 200.00000000; - fVar14 = fVar14 * fVar13; - fVar15 = fVar15 * fVar13; - } - } - if (vtxallocator == NULL) { - osSyncPrintf("doshadow: no vtx allocator!\n"); - return_null(); - } - virtualAddress = (undefined4 *)(*vtxallocator)(4); - *virtualAddress = uVar5; - virtualAddress[1] = uVar6; - virtualAddress[2] = uVar7; - virtualAddress[3] = local_14; - virtualAddress[4] = uVar5; - virtualAddress[5] = uVar6; - virtualAddress[6] = uVar7; - virtualAddress[7] = local_14; - virtualAddress[8] = uVar5; - virtualAddress[9] = uVar6; - virtualAddress[10] = uVar7; - virtualAddress[0xb] = local_14; - virtualAddress[0xc] = uVar5; - virtualAddress[0xd] = uVar6; - virtualAddress[0xe] = uVar7; - virtualAddress[0xf] = local_14; - fVar13 = *pfVar2; - *(undefined2 *)((int)virtualAddress + 2) = uVar12; - *(short *)virtualAddress = (short)(int)(fVar13 - fVar14); - *(short *)(virtualAddress + 1) = (short)(int)(pfVar2[1] - fVar15); - fVar13 = *pfVar2; - *(undefined2 *)((int)virtualAddress + 0x12) = uVar12; - *(short *)(virtualAddress + 4) = (short)(int)(fVar13 - fVar14); - *(short *)(virtualAddress + 5) = (short)(int)(pfVar2[1] + fVar15); - fVar13 = *pfVar2; - *(undefined2 *)((int)virtualAddress + 0x22) = uVar12; - *(short *)(virtualAddress + 8) = (short)(int)(fVar13 + fVar14); - *(short *)(virtualAddress + 9) = (short)(int)(pfVar2[1] + fVar15); - fVar13 = *pfVar2; - *(undefined2 *)((int)virtualAddress + 0x32) = uVar12; - *(short *)(virtualAddress + 0xc) = (short)(int)(fVar13 + fVar14); - *(short *)(virtualAddress + 0xd) = (short)(int)(pfVar2[1] - fVar15); - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xbc001406; - uVar10 = osVirtualToPhysical((void *)pfVar2[7]); - puVar3[1] = uVar10; - puVar4 = (uint *)pfVar2[4]; - if (puVar4 == NULL) { - proc_7F073038(param_1,NULL,1); - } - else { - *(undefined2 *)(virtualAddress + 2) = 0; - *(undefined2 *)((int)virtualAddress + 10) = 0; - bVar1 = *(byte *)(puVar4 + 1); - *(undefined2 *)((int)virtualAddress + 0x1a) = 0; - *(ushort *)(virtualAddress + 6) = (ushort)bVar1 * 0x20 + -1; - *(ushort *)(virtualAddress + 10) = (ushort)*(byte *)(puVar4 + 1) * 0x20 + -1; - bVar1 = *(byte *)((int)puVar4 + 5); - *(undefined2 *)(virtualAddress + 0xe) = 0; - *(short *)((int)virtualAddress + 0x2a) = (ushort)bVar1 * 0x20 + -1; - *(short *)((int)virtualAddress + 0x3a) = - (ushort)*(byte *)((int)puVar4 + 5) * 0x20 + -1; - proc_7F073038(param_1,puVar4,4); - } - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0xb7000000; - puVar3[1] = 0x2000; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0x1020040; - uVar10 = osVirtualToPhysical((void *)(iVar9 + (int)sVar11 * 0x40)); - puVar3[1] = uVar10; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - *puVar3 = 0x4300040; - uVar10 = osVirtualToPhysical(virtualAddress); - puVar3[1] = uVar10; - puVar3 = *(undefined4 **)(param_1 + 0xc); - *(undefined4 **)(param_1 + 0xc) = puVar3 + 2; - puVar3[1] = 0x3210; - *puVar3 = 0xb1000002; - } - } - return; -} - - - -void proc_7F074514(void) - -{ - return; -} - - - -void proc_7F074524(void) - -{ - return; -} - - - -void proc_7F074534(int param_1,int param_2,ushort *param_3) - -{ - if (true) { - switch((uint)*param_3 & 0xff) { - case 4: - proc_7F072784(param_1,(int)param_3); - break; - case 5: - proc_7F07306C(); - break; - case 6: - proc_7F0737EC(); - break; - case 7: - dotube(param_1,param_2,param_3); - break; - case 8: - proc_7F06E970(param_2,param_3); - break; - case 9: - proc_7F06EB10(param_2,param_3); - break; - case 10: - proc_7F074514(); - break; - case 0xb: - proc_7F0737FC(); - break; - case 0xc: - dogfnegx(param_1,param_2,param_3); - break; - case 0xd: - doshadow(param_1,param_2,param_3); - break; - case 0x11: - proc_7F074524(); - break; - case 0x12: - process_12_handle_switch(param_2,param_3); - break; - case 0x14: - proc_7F072C10(); - break; - case 0x16: - dorottex(param_1,(uint)param_3,param_3,param_2); - break; - case 0x17: - process_17_pointer_to_head(param_2,param_3); - break; - case 0x18: - proc_7F072984(param_1,param_2,param_3); - } - } - return; -} - - - -void subdraw(int param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - undefined4 *puVar1; - ushort *puVar2; - u32 uVar3; - ushort *puVar4; - - puVar1 = *(undefined4 **)(param_2 + 8); - puVar2 = (ushort *)*puVar1; - if (*(int *)(param_1 + 0xc) == 0) { - osSyncPrintf("subdraw: no gfxlist!\n",param_2,param_3,param_4); - return_null(); - puVar1 = *(undefined4 **)(param_2 + 8); - } - if (puVar1[7] == 0) { - osSyncPrintf("subdraw: object not initialised! (0x%X)\n",puVar1); - return_null(); - puVar1 = *(undefined4 **)(param_1 + 0xc); - } - else { - puVar1 = *(undefined4 **)(param_1 + 0xc); - } - *(undefined4 **)(param_1 + 0xc) = puVar1 + 2; - *puVar1 = 0xbc000c06; - uVar3 = osVirtualToPhysical(*(void **)(param_2 + 0xc)); - puVar1[1] = uVar3; - while (puVar4 = puVar2, puVar4 != NULL) { - proc_7F074534(param_1,param_2,puVar4); - puVar2 = (ushort *)*(int *)(puVar4 + 10); - if ((*(int *)(puVar4 + 10) == 0) && (puVar2 = puVar4, puVar4 != NULL)) { - puVar2 = *(ushort **)(puVar4 + 6); - while ((puVar2 == NULL && - (puVar4 = *(ushort **)(puVar4 + 4), puVar2 = puVar4, puVar4 != NULL))) { - puVar2 = *(ushort **)(puVar4 + 6); - } - } - } - return; -} - - - -void proc_7F074790(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4) - -{ - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - - subcalcpos(param_2,param_2,param_3,param_4); - subcalcmatrices(param_1,param_2,extraout_a2_lo,extraout_a3_lo); - subdraw((int)param_1,param_2,extraout_a2_lo_00,extraout_a3_lo_00); - return; -} - - - -undefined8 proc_7F0747D0(int param_1,float *param_2,float *param_3,float *param_4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float local_68; - float local_64; - float local_60; - float local_5c; - float local_24; - float local_1c; - - fVar2 = *param_2; - fVar3 = param_2[1]; - fVar10 = param_2[2]; - fVar11 = -(fVar2 * fVar2 + fVar3 * fVar3 + fVar10 * fVar10); - fVar7 = param_4[2]; - fVar8 = *param_4; - fVar9 = param_4[1]; - local_1c = fVar7 * fVar10 + fVar2 * fVar8 + fVar3 * fVar9; - fVar4 = param_3[2] - param_2[0xe]; - fVar5 = *param_3 - param_2[0xc]; - fVar6 = param_3[1] - param_2[0xd]; - fVar3 = fVar4 * fVar10 + fVar2 * fVar5 + fVar3 * fVar6; - fVar2 = -(fVar3 + fVar11 * *(float *)(param_1 + 8)); - local_24 = -(fVar3 + fVar11 * *(float *)(param_1 + 4)); - if (local_1c < 0.00000000) { - local_1c = -local_1c; - local_24 = -local_24; - fVar2 = -fVar2; - } - if ((0.00000000 <= local_24) || (0.00000000 <= fVar2)) { - if (fVar2 < local_24) { - fVar10 = param_2[4]; - fVar3 = fVar2; - } - else { - fVar10 = param_2[4]; - fVar3 = local_24; - local_24 = fVar2; - } - fVar2 = param_2[5]; - fVar11 = param_2[6]; - fVar12 = -(fVar10 * fVar10 + fVar2 * fVar2 + fVar11 * fVar11); - local_68 = fVar7 * fVar11 + fVar10 * fVar8 + fVar2 * fVar9; - fVar2 = fVar4 * fVar11 + fVar10 * fVar5 + fVar2 * fVar6; - local_5c = -(fVar2 + fVar12 * *(float *)(param_1 + 0x10)); - fVar2 = -(fVar2 + fVar12 * *(float *)(param_1 + 0xc)); - if (local_68 < 0.00000000) { - local_68 = -local_68; - fVar2 = -fVar2; - local_5c = -local_5c; - } - if ((0.00000000 <= fVar2) || (0.00000000 <= local_5c)) { - local_64 = fVar2; - if (fVar2 <= local_5c) { - local_64 = local_5c; - local_5c = fVar2; - } - if (local_5c * local_1c < fVar3 * local_68) { - if (local_64 * local_1c < fVar3 * local_68) { - return 0; - } - local_60 = local_1c; - local_5c = fVar3; - } - else { - local_60 = local_68; - if (local_24 * local_68 < local_5c * local_1c) { - return 0; - } - } - if (local_24 * local_68 < local_64 * local_1c) { - local_64 = local_24; - local_68 = local_1c; - } - fVar2 = param_2[8]; - fVar3 = param_2[9]; - fVar10 = param_2[10]; - fVar11 = -(fVar2 * fVar2 + fVar3 * fVar3 + fVar10 * fVar10); - fVar7 = fVar7 * fVar10 + fVar2 * fVar8 + fVar3 * fVar9; - fVar3 = fVar4 * fVar10 + fVar2 * fVar5 + fVar3 * fVar6; - fVar2 = -(fVar3 + fVar11 * *(float *)(param_1 + 0x18)); - fVar3 = -(fVar3 + fVar11 * *(float *)(param_1 + 0x14)); - if (fVar7 < 0.00000000) { - fVar7 = -fVar7; - fVar3 = -fVar3; - fVar2 = -fVar2; - } - if ((0.00000000 <= fVar3) || (0.00000000 <= fVar2)) { - fVar4 = fVar3; - if (fVar3 <= fVar2) { - fVar4 = fVar2; - fVar2 = fVar3; - } - if (local_5c * fVar7 < fVar2 * local_60) { - if (local_64 * fVar7 < fVar2 * local_68) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - else { - if (fVar4 * local_60 < local_5c * fVar7) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -void proc_7F074C68(int param_1,ushort *param_2,float *param_3,float *param_4) - -{ - int iVar1; - float *pfVar2; - - iVar1 = *(int *)(param_2 + 2); - pfVar2 = (float *)proc_7F06C660(param_1,param_2,0); - proc_7F0747D0(iVar1,pfVar2,param_3,param_4); - return; -} - - - -undefined8 proc_7F074CAC(int param_1,ushort *param_2,float *param_3,float *param_4) - -{ - ushort uVar1; - int iVar2; - float *pfVar4; - int iVar5; - undefined8 uVar3; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fStack92; - float fStack88; - float fStack84; - float fStack32; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - - iVar2 = *(int *)(param_2 + 2); - pfVar4 = (float *)proc_7F06C660(param_1,param_2,0); - fVar8 = *(float *)(iVar2 + 4); - fVar6 = *param_4; - fStack16 = param_4[1]; - fStack12 = param_4[2]; - if ((*param_2 & 0x100) == 0) { - if ((*param_2 & 0x200) == 0) { - fStack32 = pfVar4[0xc] - *param_3; - fStack28 = pfVar4[0xd] - param_3[1]; - fStack24 = pfVar4[0xe] - param_3[2]; - } - else { - if (*(ushort **)(iVar2 + 0x14) == NULL) { - fStack32 = pfVar4[0xc] - *param_3; - fStack28 = pfVar4[0xd] - param_3[1]; - fStack24 = pfVar4[0xe] - param_3[2]; - } - else { - iVar5 = proc_7F06C660(param_1,*(ushort **)(iVar2 + 0x14),0); - fStack32 = (pfVar4[0xc] + *(float *)(iVar5 + 0x30)) * 0.50000000 - *param_3; - fStack28 = (pfVar4[0xd] + *(float *)(iVar5 + 0x34)) * 0.50000000 - param_3[1]; - fStack24 = (pfVar4[0xe] + *(float *)(iVar5 + 0x38)) * 0.50000000 - param_3[2]; - } - } - } - else { - fVar9 = *(float *)(iVar2 + 8); - fVar7 = *(float *)(iVar2 + 0xc); - fVar10 = *(float *)(iVar2 + 0x10); - fStack32 = (pfVar4[0xc] - *param_3) + - fVar9 * *pfVar4 + fVar7 * pfVar4[4] + fVar10 * pfVar4[8]; - fStack28 = (pfVar4[0xd] - param_3[1]) + - fVar9 * pfVar4[1] + fVar7 * pfVar4[5] + fVar10 * pfVar4[9]; - fStack24 = (pfVar4[0xe] - param_3[2]) + - fVar9 * pfVar4[2] + fVar7 * pfVar4[6] + fVar10 * pfVar4[10]; - } - uVar1 = *param_2; - if ((uVar1 & 0x400) == 0) { - if ((((uVar1 & 0x800) != 0) || ((uVar1 & 0x1000) != 0)) || ((uVar1 & 0x2000) != 0)) { - if ((uVar1 & 0x800) == 0) { - if ((uVar1 & 0x1000) == 0) { - if ((uVar1 & 0x2000) != 0) { - fStack92 = pfVar4[8]; - fStack88 = pfVar4[9]; - fStack84 = pfVar4[10]; - } - } - else { - fStack92 = pfVar4[4]; - fStack88 = pfVar4[5]; - fStack84 = pfVar4[6]; - } - } - else { - fStack92 = *pfVar4; - fStack88 = pfVar4[1]; - fStack84 = pfVar4[2]; - } - fVar7 = (fStack84 * fStack12 + fVar6 * fStack92 + fStack16 * fStack88) * - *(float *)(iVar2 + 0x18); - fVar6 = fStack92 * fVar7 + fVar6; - fStack16 = fStack88 * fVar7 + fStack16; - fStack12 = fStack84 * fVar7 + fStack12; - fVar7 = (fStack84 * fStack24 + fStack32 * fStack92 + fStack28 * fStack88) * - *(float *)(iVar2 + 0x18); - fStack32 = fStack92 * fVar7 + fStack32; - fStack28 = fStack88 * fVar7 + fStack28; - fStack24 = fStack84 * fVar7 + fStack24; - } - } - else { - fVar7 = (pfVar4[2] * fStack12 + fVar6 * *pfVar4 + fStack16 * pfVar4[1]) * - *(float *)(iVar2 + 0x18); - fVar6 = *pfVar4 * fVar7 + fVar6; - fStack16 = pfVar4[1] * fVar7 + fStack16; - fStack12 = pfVar4[2] * fVar7 + fStack12; - fVar7 = (pfVar4[2] * fStack24 + fStack32 * *pfVar4 + fStack28 * pfVar4[1]) * - *(float *)(iVar2 + 0x18); - fStack32 = *pfVar4 * fVar7 + fStack32; - fStack28 = pfVar4[1] * fVar7 + fStack28; - fStack24 = pfVar4[2] * fVar7 + fStack24; - fVar7 = (pfVar4[6] * fStack12 + fVar6 * pfVar4[4] + fStack16 * pfVar4[5]) * - *(float *)(iVar2 + 0x1c); - fVar6 = pfVar4[4] * fVar7 + fVar6; - fStack16 = pfVar4[5] * fVar7 + fStack16; - fStack12 = pfVar4[6] * fVar7 + fStack12; - fVar7 = (pfVar4[6] * fStack24 + fStack32 * pfVar4[4] + fStack28 * pfVar4[5]) * - *(float *)(iVar2 + 0x1c); - fStack32 = pfVar4[4] * fVar7 + fStack32; - fStack28 = pfVar4[5] * fVar7 + fStack28; - fStack24 = pfVar4[6] * fVar7 + fStack24; - } - uVar3 = 0; - fVar7 = fStack24 * fStack12 + fVar6 * fStack32 + fStack16 * fStack28; - if (0.00000000 < fVar7) { - if (((fStack24 * fStack24 + fStack32 * fStack32 + fStack28 * fStack28) - fVar8) * - (fStack12 * fStack12 + fVar6 * fVar6 + fStack16 * fStack16) <= fVar7 * fVar7) { - uVar3 = 1; - } - else { - uVar3 = 0; - } - } - return uVar3; -} - - - -undefined4 proc_7F0752FC(int param_1,float *param_2,float *param_3,ushort **param_4) - -{ - bool bVar1; - ulonglong uVar2; - longlong lVar3; - ushort *puVar4; - ushort *puVar5; - - puVar4 = *param_4; - bVar1 = true; - if (puVar4 == NULL) { - puVar4 = **(ushort ***)(param_1 + 8); - } - else { - *param_4 = NULL; - } - do { - if (puVar4 == NULL) { - return 0; - } - if ((!bVar1) || (puVar5 = *(ushort **)(puVar4 + 10), puVar5 == NULL)) { - puVar5 = puVar4; - if (puVar4 != NULL) { - puVar5 = *(ushort **)(puVar4 + 6); - while ((puVar5 == NULL && - (puVar4 = *(ushort **)(puVar4 + 4), puVar5 = puVar4, puVar4 != NULL))) { - puVar5 = *(ushort **)(puVar4 + 6); - } - } - if (puVar5 == NULL) { - return 0; - } - } - uVar2 = (ulonglong)*puVar5; - bVar1 = true; - puVar4 = puVar5; - if (true) { - switch((uint)*puVar5 & 0xff) { - case 8: - proc_7F06E970(param_1,puVar5); - break; - case 10: - proc_7F074C68(param_1,puVar5,param_2,param_3); - if (uVar2 != 0) { - *param_4 = puVar5; - return **(undefined4 **)(puVar5 + 2); - } - bVar1 = false; - break; - case 0x11: - lVar3 = proc_7F074CAC(param_1,puVar5,param_2,param_3); - if (lVar3 != 0) { - *param_4 = puVar5; - return **(undefined4 **)(puVar5 + 2); - } - bVar1 = false; - break; - case 0x12: - process_12_handle_switch(param_1,puVar5); - break; - case 0x17: - process_17_pointer_to_head(param_1,puVar5); - } - } - } while( true ); -} - - - -undefined4 proc_7F07549C(int param_1,float *param_2,float *param_3,ushort **param_4) - -{ - undefined4 uVar1; - - *param_4 = NULL; - uVar1 = proc_7F0752FC(param_1,param_2,param_3,param_4); - return uVar1; -} - - - -uint proc_7F0754BC(int *param_1,int param_2) - -{ - int iVar1; - char *dest; - uint uVar2; - char *pcVar3; - char *src; - int iVar4; - - iVar1 = *param_1; - pcVar3 = NULL; - iVar4 = (int)(uint)*(ushort *)((int)param_1 + 0xe) >> 3; - if (iVar1 < 0) { - pcVar3 = (char *)(iVar1 + param_2 * iVar4); - } - else { - if (dword_80036414 != NULL) { - src = (char *)(dword_80036414[2] + 0xfU & 0xfffffff0); - dest = (char *)(iVar1 + param_2 * iVar4); - if (((uint)dest & 1) == 0) { - uVar2 = iVar4 + 0xf; - pcVar3 = src; - } - else { - dest = dest + -1; - pcVar3 = src + 1; - uVar2 = iVar4 + 0x10; - } - romCopy(src,dest,uVar2 & 0xfffffff0); - *dword_80036414 = *dword_80036414 + 1; - *(char **)(dword_80036414 + 2) = src + (uVar2 & 0xfffffff0); - } - } - return (uint)pcVar3; -} - - - -void proc_7F0755B0(void) - -{ - if (dword_80036414 != NULL) { - dword_80036414[2] = dword_80036414[1]; - *dword_80036414 = 0; - } - return; -} - - - -void convert_obj_microcode_offset_to_rdram_addr(ushort *param_1,int param_2,int param_3) - -{ - ushort uVar1; - int *piVar2; - longlong lVar3; - int iVar4; - longlong lVar5; - int iVar6; - ushort *puVar7; - int iVar8; - int iVar9; - ushort *puVar10; - - if (param_1 == NULL) { - return; - } - uVar1 = *param_1; - do { - if (*(int *)(param_1 + 2) != 0) { - *(int *)(param_1 + 2) = *(int *)(param_1 + 2) + (param_3 - param_2); - } - if (*(int *)(param_1 + 4) != 0) { - *(int *)(param_1 + 4) = *(int *)(param_1 + 4) + (param_3 - param_2); - } - if (*(int *)(param_1 + 6) != 0) { - *(int *)(param_1 + 6) = *(int *)(param_1 + 6) + (param_3 - param_2); - } - if (*(int *)(param_1 + 8) != 0) { - *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + (param_3 - param_2); - } - if (*(int *)(param_1 + 10) != 0) { - *(int *)(param_1 + 10) = *(int *)(param_1 + 10) + (param_3 - param_2); - } - if (false) { -switchD_7f075670_caseD_a: - puVar7 = *(ushort **)(param_1 + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 4); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 4) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 2: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 0x14) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 3: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 0x14) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 4: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0xc) != 0) { - *(int *)(iVar4 + 0xc) = *(int *)(iVar4 + 0xc) + (param_3 - param_2); - } - *(int *)(iVar4 + 8) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 5: - piVar2 = *(int **)(param_1 + 2); - iVar4 = 0; - if (piVar2[1] != 0) { - piVar2[1] = piVar2[1] + (param_3 - param_2); - } - iVar8 = 0; - if (piVar2[2] != 0) { - piVar2[2] = piVar2[2] + (param_3 - param_2); - } - if (piVar2[3] != 0) { - piVar2[3] = piVar2[3] + (param_3 - param_2); - } - iVar6 = *piVar2; - if (iVar6 < 1) { - piVar2[0x69] = param_3; - } - else { - do { - iVar4 += 1; - iVar9 = *(int *)(piVar2[1] + iVar8 + 4); - if (iVar9 != 0) { - *(int *)(piVar2[1] + iVar8 + 4) = iVar9 + (param_3 - param_2); - iVar6 = *piVar2; - } - iVar8 += 8; - } while (iVar4 < iVar6); - piVar2[0x69] = param_3; - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 6: - *(int *)(*(int *)(param_1 + 2) + 0x14) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 7: - piVar2 = *(int **)(param_1 + 2); - iVar4 = 0; - if (*piVar2 != 0) { - *piVar2 = *piVar2 + (param_3 - param_2); - } - if (piVar2[1] != 0) { - piVar2[1] = piVar2[1] + (param_3 - param_2); - } - iVar8 = 0; - if (piVar2[3] != 0) { - piVar2[3] = piVar2[3] + (param_3 - param_2); - } - if (piVar2[4] != 0) { - piVar2[4] = piVar2[4] + (param_3 - param_2); - } - if (piVar2[5] != 0) { - piVar2[5] = piVar2[5] + (param_3 - param_2); - } - iVar6 = piVar2[2]; - if (iVar6 < 1) { - piVar2[0x6b] = param_3; - } - else { - do { - iVar4 += 1; - iVar9 = *(int *)(piVar2[3] + iVar8 + 4); - if (iVar9 != 0) { - *(int *)(piVar2[3] + iVar8 + 4) = iVar9 + (param_3 - param_2); - iVar6 = piVar2[2]; - } - iVar8 += 8; - } while (iVar4 < iVar6); - piVar2[0x6b] = param_3; - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 8: - puVar7 = *(ushort **)(*(int *)(param_1 + 2) + 8); - puVar10 = (ushort *)((int)puVar7 + (param_3 - param_2)); - if (puVar7 != NULL) { - *(ushort **)(*(int *)(param_1 + 2) + 8) = puVar10; - puVar7 = puVar10; - } - *(ushort **)(param_1 + 10) = puVar7; - break; - case 9: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0x18) != 0) { - *(int *)(iVar4 + 0x18) = *(int *)(iVar4 + 0x18) + (param_3 - param_2); - } - if (*(int *)(iVar4 + 0x1c) != 0) { - *(int *)(iVar4 + 0x1c) = *(int *)(iVar4 + 0x1c) + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - default: - goto switchD_7f075670_caseD_a; - case 0xb: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0x3c) != 0) { - *(int *)(iVar4 + 0x3c) = *(int *)(iVar4 + 0x3c) + (param_3 - param_2); - } - *(int *)(iVar4 + 0x48) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0xc: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0x18) != 0) { - *(int *)(iVar4 + 0x18) = *(int *)(iVar4 + 0x18) + (param_3 - param_2); - } - *(int *)(iVar4 + 0x24) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0xd: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 0x10) != 0) { - *(int *)(iVar4 + 0x10) = *(int *)(iVar4 + 0x10) + (param_3 - param_2); - } - if (*(int *)(iVar4 + 0x14) != 0) { - *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x14) + (param_3 - param_2); - } - *(int *)(iVar4 + 0x1c) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x11: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 0x14); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 0x14) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x12: - iVar4 = **(int **)(param_1 + 2); - if (iVar4 != 0) { - **(int **)(param_1 + 2) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x14: - iVar4 = *(int *)(*(int *)(param_1 + 2) + 4); - if (iVar4 != 0) { - *(int *)(*(int *)(param_1 + 2) + 4) = iVar4 + (param_3 - param_2); - } - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x16: - iVar4 = *(int *)(param_1 + 2); - if (*(int *)(iVar4 + 4) != 0) { - *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + (param_3 - param_2); - } - *(int *)(iVar4 + 0xc) = param_3; - puVar7 = *(ushort **)(param_1 + 10); - break; - case 0x18: - iVar4 = *(int *)(param_1 + 2); - lVar3 = 0; - if (*(int *)(iVar4 + 8) != 0) { - *(int *)(iVar4 + 8) = *(int *)(iVar4 + 8) + (param_3 - param_2); - } - iVar8 = 0; - if (*(int *)(iVar4 + 0x10) != 0) { - *(int *)(iVar4 + 0x10) = *(int *)(iVar4 + 0x10) + (param_3 - param_2); - } - if (*(int *)(iVar4 + 0x14) != 0) { - *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x14) + (param_3 - param_2); - } - lVar5 = (longlong)*(short *)(iVar4 + 0xe); - if (lVar5 < 1) { - *(int *)(iVar4 + 0x1c) = param_3; - } - else { - do { - lVar3 = (longlong)((int)lVar3 + 1); - iVar9 = *(int *)(iVar4 + 0x10) + iVar8; - iVar6 = *(int *)(iVar9 + 8); - if (iVar6 != 0) { - *(int *)(iVar9 + 8) = iVar6 + (param_3 - param_2); - lVar5 = (longlong)*(short *)(iVar4 + 0xe); - } - iVar8 += 0x10; - } while (lVar3 < lVar5); - *(int *)(iVar4 + 0x1c) = param_3; - } - puVar7 = *(ushort **)(param_1 + 10); - } - } - if ((puVar7 == NULL) && (puVar7 = param_1, param_1 != NULL)) { - puVar7 = *(ushort **)(param_1 + 6); - while ((puVar7 == NULL && - (param_1 = *(ushort **)(param_1 + 4), puVar7 = param_1, param_1 != NULL))) { - puVar7 = *(ushort **)(param_1 + 6); - } - } - if (puVar7 == NULL) { - return; - } - uVar1 = *puVar7; - param_1 = puVar7; - } while( true ); -} - - - -void proc_7F075A90(object_header *objheader,int param_2,int param_3) - -{ - int iVar1; - longlong lVar2; - int iVar3; - int *piVar4; - longlong lVar5; - - lVar5 = (longlong)objheader->num_offset_entries; - lVar2 = 0; - if (0 < lVar5) { - iVar3 = 0; - do { - lVar2 = (longlong)((int)lVar2 + 1); - piVar4 = (int *)(objheader->offset_obj_offset_block + iVar3); - iVar1 = *piVar4; - if (iVar1 != 0) { - *piVar4 = iVar1 + (param_3 - param_2); - lVar5 = (longlong)objheader->num_offset_entries; - } - iVar3 += 4; - } while (lVar2 < lVar5); - } - convert_obj_microcode_offset_to_rdram_addr - ((ushort *)objheader->offset_obj_table,param_2,param_3); - return; -} - - - -void proc_7F075B08(void) - -{ - return; -} - - - -uint set_microcode_entry_numbers(ushort *param_1) - -{ - ushort uVar1; - int iVar2; - ushort **ppuVar3; - ushort *puVar4; - ushort *puVar5; - undefined2 uVar6; - uint uVar7; - - uVar7 = 0; - if (param_1 == NULL) { - return 0; - } - uVar1 = *param_1; - puVar4 = param_1; - do { - if (false) { -switchD_7f075b60_caseD_2: - puVar5 = *(ushort **)(puVar4 + 10); - } - else { - uVar6 = (undefined2)uVar7; - switch((uint)uVar1 & 0xff) { - case 1: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0xc) = uVar6; - uVar7 = uVar7 + 0x18 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - break; - default: - goto switchD_7f075b60_caseD_2; - case 7: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x1aa) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - break; - case 8: - iVar2 = *(int *)(puVar4 + 2); - *(undefined2 *)(iVar2 + 0xc) = uVar6; - puVar5 = *(ushort **)(iVar2 + 8); - uVar7 = uVar7 + 1 & 0xffff; - *(ushort **)(puVar4 + 10) = puVar5; - break; - case 9: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x22) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - proc_7F06EA54((int)puVar4,0); - puVar5 = *(ushort **)(puVar4 + 10); - break; - case 0xb: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x44) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - break; - case 0xc: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x20) = uVar6; - uVar7 = uVar7 + 1 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - break; - case 0x12: - ppuVar3 = *(ushort ***)(puVar4 + 2); - *(undefined2 *)(ppuVar3 + 1) = uVar6; - puVar5 = *ppuVar3; - uVar7 = uVar7 + 1 & 0xffff; - *(ushort **)(puVar4 + 10) = puVar5; - break; - case 0x17: - puVar5 = NULL; - **(undefined2 **)(puVar4 + 2) = uVar6; - uVar7 = uVar7 + 2 & 0xffff; - *(undefined4 *)(puVar4 + 10) = 0; - break; - case 0x18: - *(undefined2 *)(*(int *)(puVar4 + 2) + 0x1a) = uVar6; - uVar7 = uVar7 + 2 & 0xffff; - puVar5 = *(ushort **)(puVar4 + 10); - } - } - if ((puVar5 == NULL) && (puVar5 = puVar4, puVar4 != NULL)) { - while (puVar4 != *(ushort **)(param_1 + 4)) { - puVar5 = *(ushort **)(puVar4 + 6); - if ((puVar5 != NULL) || - (puVar5 = *(ushort **)(puVar4 + 4), puVar4 = puVar5, puVar5 == NULL)) - goto LAB_7f075cd4; - } - puVar5 = NULL; - } -LAB_7f075cd4: - if (puVar5 == NULL) { - return uVar7; - } - uVar1 = *puVar5; - puVar4 = puVar5; - } while( true ); -} - - - -void set_objuse_flag_compute_grp_nums_set_obj_loaded(object_header *objheader) - -{ - uint uVar1; - - objheader->is_loaded_in_mem = 1; - uVar1 = set_microcode_entry_numbers((ushort *)objheader->offset_obj_table); - objheader->num_table_entries = (short)uVar1; - return; -} - - - -void unknown_object_microcode_handler(int param_1,ushort *param_2) - -{ - ushort uVar1; - int iVar2; - ushort **ppuVar3; - undefined *puVar4; - undefined4 *puVar5; - undefined2 *puVar6; - undefined4 *puVar7; - ushort *partdesc; - ushort *puVar8; - - if (param_2 == NULL) { - return; - } - uVar1 = *param_2; - partdesc = param_2; - do { - if (false) { -switchD_7f075d80_caseD_2: - puVar8 = *(ushort **)(partdesc + 10); - } - else { - switch((uint)uVar1 & 0xff) { - case 1: - puVar4 = (undefined *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar4 = 0; - *(undefined4 *)(puVar4 + 4) = 0; - *(undefined4 *)(puVar4 + 8) = 0; - *(undefined4 *)(puVar4 + 0xc) = 0; - *(undefined4 *)(puVar4 + 0x10) = 0; - *(undefined4 *)(puVar4 + 0x14) = 0; - *(undefined4 *)(puVar4 + 0x18) = 0; - *(undefined4 *)(puVar4 + 0x1c) = 0; - puVar4[1] = 0; - *(undefined4 *)(puVar4 + 0x34) = 0; - *(undefined4 *)(puVar4 + 0x38) = 0; - *(undefined4 *)(puVar4 + 0x3c) = 0; - *(undefined4 *)(puVar4 + 0x30) = 0; - *(undefined4 *)(puVar4 + 0x24) = 0; - *(undefined4 *)(puVar4 + 0x28) = 0; - *(undefined4 *)(puVar4 + 0x2c) = 0; - *(undefined4 *)(puVar4 + 0x20) = 0; - puVar4[2] = 0; - *(undefined4 *)(puVar4 + 0x4c) = 0; - *(undefined4 *)(puVar4 + 0x50) = 0; - *(undefined4 *)(puVar4 + 0x54) = 0; - *(undefined4 *)(puVar4 + 0x40) = 0; - *(undefined4 *)(puVar4 + 0x44) = 0; - *(undefined4 *)(puVar4 + 0x48) = 0; - *(undefined4 *)(puVar4 + 0x5c) = 0; - puVar8 = *(ushort **)(partdesc + 10); - break; - default: - goto switchD_7f075d80_caseD_2; - case 7: - puVar5 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar5 = 0; - puVar8 = *(ushort **)(partdesc + 10); - break; - case 8: - iVar2 = *(int *)(partdesc + 2); - puVar5 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar5 = 0; - puVar8 = *(ushort **)(iVar2 + 8); - *(ushort **)(partdesc + 10) = puVar8; - break; - case 9: - puVar5 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar5 = 0; - proc_7F06EB10(param_1,partdesc); - puVar8 = *(ushort **)(partdesc + 10); - break; - case 0xb: - puVar6 = (undefined2 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar6 = 0; - puVar8 = *(ushort **)(partdesc + 10); - break; - case 0xc: - puVar6 = (undefined2 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar6 = 0; - puVar8 = *(ushort **)(partdesc + 10); - break; - case 0x12: - ppuVar3 = *(ushort ***)(partdesc + 2); - puVar5 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar5 = 1; - puVar8 = *ppuVar3; - *(ushort **)(partdesc + 10) = puVar8; - break; - case 0x17: - puVar5 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar5 = 0; - puVar5[1] = 0; - puVar8 = *(ushort **)(partdesc + 10); - break; - case 0x18: - puVar5 = *(undefined4 **)(partdesc + 2); - puVar7 = (undefined4 *)extract_id_from_object_structure_microcode(param_1,partdesc); - *puVar7 = puVar5[2]; - puVar7[1] = *puVar5; - puVar8 = *(ushort **)(partdesc + 10); - } - } - if ((puVar8 == NULL) && (puVar8 = partdesc, partdesc != NULL)) { - while (partdesc != *(ushort **)(param_2 + 4)) { - puVar8 = *(ushort **)(partdesc + 6); - if ((puVar8 != NULL) || - (puVar8 = *(ushort **)(partdesc + 4), partdesc = puVar8, puVar8 == NULL)) - goto LAB_7f075f44; - } - puVar8 = NULL; - } -LAB_7f075f44: - if (puVar8 == NULL) { - return; - } - uVar1 = *puVar8; - partdesc = puVar8; - } while( true ); -} - - - -void proc_7F075F68(int param_1,ushort **param_2,undefined4 param_3) - -{ - *(ushort ***)(param_1 + 8) = param_2; - *(undefined4 *)(param_1 + 0x10) = param_3; - *(undefined2 *)(param_1 + 2) = 0xffff; - *(undefined4 *)(param_1 + 0x18) = 0; - *(undefined4 *)(param_1 + 0x1c) = 0; - *(undefined4 *)(param_1 + 0x14) = 0x3f800000; - unknown_object_microcode_handler(param_1,*param_2); - return; -} - - - -void proc_7F075FAC(int param_1,ushort **param_2,undefined4 param_3) - -{ - proc_7F075F68(param_1,param_2,param_3); - *(undefined4 *)(param_1 + 0x20) = 0; - *(undefined4 *)(param_1 + 0x54) = 0; - *(undefined *)(param_1 + 0x26) = 0; - *(undefined4 *)(param_1 + 0x98) = 0; - *(undefined4 *)(param_1 + 0x9c) = 0; - *(undefined4 *)(param_1 + 0xa0) = 0; - *(undefined4 *)(param_1 + 0x2c) = 0; - *(undefined4 *)(param_1 + 0x4c) = 0; - *(undefined4 *)(param_1 + 0x5c) = 0; - *(undefined4 *)(param_1 + 0x7c) = 0; - *(undefined4 *)(param_1 + 0x84) = 0; - *(undefined4 *)(param_1 + 0x88) = 0; - *(undefined4 *)(param_1 + 0xb0) = 0; - *(undefined4 *)(param_1 + 0x40) = 0x3f800000; - *(undefined4 *)(param_1 + 0x70) = 0x3f800000; - *(undefined4 *)(param_1 + 0xa4) = 0x3f800000; - *(undefined4 *)(param_1 + 0xb8) = 0x3f800000; - *(undefined4 *)(param_1 + 0x3c) = 0xbf800000; - *(undefined4 *)(param_1 + 0x6c) = 0xbf800000; - return; -} - - - -void proc_7F076030(int param_1,int param_2,ushort *param_3,ushort **param_4) - -{ - ushort **ppuVar1; - uint uVar2; - ushort *puVar3; - - ppuVar1 = (ushort **)extract_id_from_object_structure_microcode(param_1,param_3); - *(ushort ***)ppuVar1 = param_4; - ppuVar1[1] = (ushort *)(*(int *)(param_1 + 0x10) + (int)*(short *)(param_2 + 0x14) * 4); - puVar3 = *param_4; - *(ushort **)(param_3 + 10) = puVar3; - if (puVar3 != NULL) { - *(ushort **)(puVar3 + 4) = param_3; - while (puVar3 = *(ushort **)(puVar3 + 6), puVar3 != NULL) { - *(ushort **)(puVar3 + 4) = param_3; - } - puVar3 = *(ushort **)(param_3 + 10); - } - uVar2 = set_microcode_entry_numbers(puVar3); - *(short *)(param_2 + 0x14) = *(short *)(param_2 + 0x14) + (short)uVar2; - return; -} - - - -void proc_7F0760C4(object_header *objheader,ushort **param_2,int *param_3) - -{ - ushort uVar1; - int iVar2; - ushort *puVar3; - ushort *puVar4; - int iVar5; - - puVar3 = *param_2; - iVar5 = 0; - if (puVar3 == NULL) { - puVar3 = (ushort *)objheader->offset_obj_table; - } - if (puVar3 == NULL) { - *param_3 = 0; - puVar4 = puVar3; - } - else { - uVar1 = *puVar3; - while( true ) { - if (true) { - switch((uint)uVar1 & 0xff) { - case 4: - if (puVar3 == *param_2) { - iVar2 = (*(int **)(puVar3 + 2))[1]; - if (iVar2 != *param_3) { - iVar5 = iVar2; - } - } - else { - iVar5 = **(int **)(puVar3 + 2); - } - break; - case 8: - *(undefined4 *)(puVar3 + 10) = *(undefined4 *)(*(int *)(puVar3 + 2) + 8); - break; - case 9: - proc_7F06EA54((int)puVar3,1); - break; - case 0x12: - *(undefined4 *)(puVar3 + 10) = **(undefined4 **)(puVar3 + 2); - break; - case 0x16: - if (puVar3 != *param_2) { - iVar5 = *(int *)(*(int *)(puVar3 + 2) + 8); - } - break; - case 0x18: - if (puVar3 == *param_2) { - iVar2 = (*(int **)(puVar3 + 2))[1]; - if (iVar2 != *param_3) { - iVar5 = iVar2; - } - } - else { - iVar5 = **(int **)(puVar3 + 2); - } - } - } - if (iVar5 != 0) { - *param_3 = iVar5; - puVar4 = puVar3; - goto LAB_7f07621c; - } - puVar4 = *(ushort **)(puVar3 + 10); - if ((puVar4 == NULL) && (puVar4 = puVar3, puVar3 != NULL)) { - puVar4 = *(ushort **)(puVar3 + 6); - while ((puVar4 == NULL && - (puVar3 = *(ushort **)(puVar3 + 4), puVar4 = puVar3, puVar3 != NULL))) { - puVar4 = *(ushort **)(puVar3 + 6); - } - } - if (puVar4 == NULL) break; - uVar1 = *puVar4; - puVar3 = puVar4; - } - *param_3 = 0; - } -LAB_7f07621c: - *param_2 = puVar4; - return; -} - - - -void proc_7F07623C(object_header *objheader,ushort *param_2,int param_3,int param_4) - -{ - int *piVar1; - ushort uVar2; - - uVar2 = *param_2 & 0xff; - if (uVar2 == 4) { - piVar1 = *(int **)(param_2 + 2); - if (param_3 == *piVar1) { - *piVar1 = param_4; - return; - } - if (param_3 == piVar1[1]) { - piVar1[1] = param_4; - return; - } - } - else { - if (uVar2 == 0x16) { - if (param_3 == *(int *)(*(int *)(param_2 + 2) + 8)) { - *(int *)(*(int *)(param_2 + 2) + 8) = param_4; - } - } - else { - if (uVar2 != 0x18) { - return; - } - piVar1 = *(int **)(param_2 + 2); - if (param_3 == *piVar1) { - *piVar1 = param_4; - return; - } - if (param_3 == piVar1[1]) { - piVar1[1] = param_4; - return; - } - } - } - return; -} - - - -void proc_7F0762E0(object_header *objheader,u8 *objectstring,int targetloc,uint *buffer) - -{ - u8 *ptrdata; - uint uVar1; - ushort *puVar2; - int index; - int buffer_remain; - int tempbuffer_remain; - uint *puVar3; - int iVar4; - u8 *puVar5; - uint uVar6; - uint auStack12 [2]; - ushort *puStack4; - - ptrdata = (u8 *)objheader->offset_obj_offset_block; - index = get_index_num_of_named_resource(objectstring); - buffer_remain = get_rom_remaining_buffer_for_index(index); - tempbuffer_remain = get_pc_remaining_buffer_for_index(index); - puStack4 = NULL; - proc_7F0760C4(objheader,&puStack4,(int *)auStack12); - uVar6 = auStack12[0]; - if (auStack12[0] != 0) { - iVar4 = objheader->offset_obj_offset_block + (auStack12[0] & 0xffffff); - proc_7F0CE794(iVar4,(int)(ptrdata + - (buffer_remain - (int)(ptrdata + (tempbuffer_remain - iVar4)))), - (int)(ptrdata + (tempbuffer_remain - iVar4))); - proc_7F0CBE50(objheader,buffer); - if (puStack4 == NULL) { - iVar4 = objheader->offset_obj_offset_block; - } - else { - do { - puVar2 = puStack4; - uVar1 = auStack12[0]; - proc_7F0760C4(objheader,&puStack4,(int *)auStack12); - if (auStack12[0] == 0) { - puVar5 = ptrdata + ((tempbuffer_remain - objheader->offset_obj_offset_block) - - (uVar1 & 0xffffff)); - } - else { - puVar5 = (u8 *)(auStack12[0] - uVar1); - } - proc_7F07623C(objheader,puVar2,uVar1,uVar6); - puVar3 = process_microcode_sort_display_modes_expand_image_calls - ((uint *)(ptrdata + (buffer_remain - - (int)(ptrdata + (tempbuffer_remain - iVar4))) - + ((objheader->offset_obj_offset_block + - (uVar1 & 0xffffff)) - iVar4)),(int)puVar5, - (uint *)(objheader->offset_obj_offset_block + (uVar6 & 0xffffff) - ),buffer); - uVar6 += (int)puVar3; - } while (puStack4 != NULL); - iVar4 = objheader->offset_obj_offset_block; - } - proc_7F0BD138(index,ptrdata,((iVar4 + (uVar6 & 0xffffff)) - (int)ptrdata) + 0xf & 0xfffffff0 - ,(ulonglong)(targetloc == 0)); - } - return; -} - - - -void load_object_fill_header - (object_header *objheader,u8 *recallstring,int targetloc,int sizeleft,int buffer) - -{ - u8 *puVar1; - - if (targetloc == 0) { - puVar1 = _load_resource_named_to_membank(recallstring,0,0x100,4); - } - else { - puVar1 = _load_resource_named_to_buffer(recallstring,0,(undefined *)targetloc,sizeleft); - } - *(u8 **)&objheader->offset_obj_offset_block = puVar1; - *(u8 **)&objheader->offset_img_declaration = puVar1 + (int)objheader->num_offset_entries * 4; - *(u8 **)&objheader->offset_obj_table = - puVar1 + (int)objheader->num_offset_entries * 4 + (int)objheader->num_image_entries * 0xc; - proc_7F075A90(objheader,0x5000000,(int)puVar1); - proc_7F0762E0(objheader,recallstring,targetloc,(uint *)buffer); - return; -} - - - -void load_object_into_memory(object_header *header,u8 *recallstring) - -{ - load_object_fill_header(header,recallstring,0,0,0); - return; -} - - - -void load_object_into_memory_unused_maybe - (object_header *header,int *recallstring,int targetloc,int sizeleft) - -{ - load_object_fill_header(header,(u8 *)recallstring,targetloc,sizeleft,0); - return; -} - - - -s32 is_less_than_certain_power_of_2(int number) - -{ - if (number < 2) { - return 0; - } - if (number < 3) { - return 1; - } - if (number < 5) { - return 2; - } - if (number < 9) { - return 3; - } - if (number < 0x11) { - return 4; - } - if (number < 0x21) { - return 5; - } - if (number < 0x41) { - return 6; - } - if (number < 0x81) { - return 7; - } - return 8; -} - - - -int ceil8000(int width) - -{ - int iVar1; - float fVar2; - - iVar1 = width + 0xf; - if (iVar1 < 0) { - iVar1 = width + 0x1e; - } - fVar2 = 32768.00000000 / (float)((iVar1 >> 4) << 4); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + flt_80054F90); -} - - - -int ceil4000(int width) - -{ - int iVar1; - float fVar2; - - iVar1 = width + 7; - if (iVar1 < 0) { - iVar1 = width + 0xe; - } - fVar2 = 16384.00000000 / (float)((iVar1 >> 3) << 3); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + flt_80054F94); -} - - - -int ceil2000(int width) - -{ - int iVar1; - float fVar2; - - iVar1 = width + 3; - if (iVar1 < 0) { - iVar1 = width + 6; - } - fVar2 = 8192.00000000 / (float)((iVar1 >> 2) << 2); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + flt_80054F98); -} - - - -int ceil1000(int width) - -{ - int iVar1; - float fVar2; - - iVar1 = width + 3; - if (iVar1 < 0) { - iVar1 = width + 6; - } - fVar2 = 4096.00000000 / (float)((iVar1 >> 2) << 2); - iVar1 = (int)fVar2; - return iVar1 + (int)((fVar2 - (float)iVar1) + flt_80054F9C); -} - - - -int proc_7F0767D8(int param_1,int param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - if (param_3 < 1) { - param_3 = 1; - } - iVar2 = param_1 + 0xf; - if (0 < param_3) { - while( true ) { - if (iVar2 < 0) { - iVar2 += 0xf; - } - param_3 += -1; - iVar1 += (iVar2 >> 4) * 4 * param_2; - iVar2 = param_1 >> 1; - if (param_1 < 2) { - iVar2 = param_1; - } - param_1 = iVar2; - if (1 < param_2) { - param_2 = param_2 >> 1; - } - if (param_3 < 1) break; - iVar2 = param_1 + 0xf; - } - } - return iVar1; -} - - - -int proc_7F076848(int param_1,int param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - if (param_3 < 1) { - param_3 = 1; - } - iVar2 = param_1 + 7; - if (0 < param_3) { - while( true ) { - if (iVar2 < 0) { - iVar2 += 7; - } - param_3 += -1; - iVar1 += (iVar2 >> 3) * 4 * param_2; - iVar2 = param_1 >> 1; - if (param_1 < 2) { - iVar2 = param_1; - } - param_1 = iVar2; - if (1 < param_2) { - param_2 = param_2 >> 1; - } - if (param_3 < 1) break; - iVar2 = param_1 + 7; - } - } - return iVar1; -} - - - -int proc_7F0768B8(int param_1,int param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - if (param_3 < 1) { - param_3 = 1; - } - iVar2 = param_1 + 3; - if (0 < param_3) { - while( true ) { - if (iVar2 < 0) { - iVar2 += 3; - } - param_3 += -1; - iVar1 += (iVar2 >> 2) * 4 * param_2; - iVar2 = param_1 >> 1; - if (param_1 < 2) { - iVar2 = param_1; - } - param_1 = iVar2; - if (1 < param_2) { - param_2 = param_2 >> 1; - } - if (param_3 < 1) break; - iVar2 = param_1 + 3; - } - } - return iVar1; -} - - - -int proc_7F076928(int param_1,int param_2,int param_3) - -{ - int iVar1; - int iVar2; - - iVar1 = 0; - if (param_3 < 1) { - param_3 = 1; - } - iVar2 = param_1 + 3; - if (0 < param_3) { - while( true ) { - if (iVar2 < 0) { - iVar2 += 3; - } - param_3 += -1; - iVar1 += (iVar2 >> 2) * 4 * param_2; - iVar2 = param_1 >> 1; - if (param_1 < 2) { - iVar2 = param_1; - } - param_1 = iVar2; - if (1 < param_2) { - param_2 = param_2 >> 1; - } - if (param_3 < 1) break; - iVar2 = param_1 + 3; - } - } - return iVar1; -} - - - -void generate_microcode_for_othermode_setting - (undefined4 *DL,int param_2,longlong param_3,longlong bowtie) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar1 = (undefined4 *)*DL; - if (param_3 != 1) { - *puVar1 = 0xe7000000; - puVar1[1] = 0; - puVar1[3] = 0x100000; - puVar1[2] = 0xba001402; - puVar2 = puVar1 + 4; - if (param_2 != 1) { - if (param_2 == 2) { - if (bowtie == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc1841c8; - } - else { - if (bowtie < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc1849d8; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184dd8; - } - } - goto LAB_7f076d60; - } - if (param_2 == 3) { - if (bowtie == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc193048; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc193078; - } - goto LAB_7f076d60; - } - if (param_2 == 4) { - if (bowtie == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184340; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc184b50; - } - goto LAB_7f076d60; - } - } - if (bowtie == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192048; - } - else { - if (bowtie < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192078; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0xc192d58; - } - } - goto LAB_7f076d60; - } - *puVar1 = 0xe7000000; - puVar1[1] = 0; - puVar1[2] = 0xba001402; - puVar1[3] = 0; - puVar2 = puVar1 + 4; - if (param_2 != 1) { - if (param_2 == 2) { - if (bowtie == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x5041c8; - } - else { - if (bowtie < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x5049d8; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504dd8; - } - } - goto LAB_7f076d60; - } - if (param_2 == 3) { - if (bowtie == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x553048; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x553078; - } - goto LAB_7f076d60; - } - if (param_2 == 4) { - if (bowtie == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504340; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x504b50; - } - goto LAB_7f076d60; - } - } - if (bowtie == 0) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552048; - } - else { - if (bowtie < 2) { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552078; - } - else { - *puVar2 = 0xb900031d; - puVar1[5] = 0x552d58; - } - } -LAB_7f076d60: - *(undefined4 **)DL = puVar1 + 6; - return; -} - - - -void append_image_to_DL(uint **DLtarget,sImageTableEntry *imgcall,int param_3,longlong bowtie, - uint ul_s_t) - -{ - byte bVar1; - byte bVar2; - uint *puVar3; - uint *puVar4; - int number; - uint uVar5; - uint uVar6; - uint uVar7; - uint *puVar8; - uint uVar9; - int iVar10; - ulonglong uVar11; - ulonglong uVar12; - int number_00; - uint uVar13; - ulonglong uVar14; - uint uStack268; - uint uStack180; - uint uStack176; - uint uStack172; - byte bStack166; - uint uStack164; - uint uStack160; - uint uStack60; - uint uStack56; - uint uStack52; - uint uStack48; - uint uStack44; - uint *puStack4; - - puStack4 = *DLtarget; - uVar5 = (uint)bowtie; - if (imgcall == NULL) { - generate_microcode_for_othermode_setting(&puStack4,param_3,1,bowtie); - puVar3 = puStack4; - if (bowtie < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar5 & 0xff) << 0x10 | 0xbb000001; - } - puStack4 = puStack4 + 2; - *puStack4 = 0xfcffffff; - puVar3[3] = 0xfffe793c; - puStack4 = puVar3 + 4; - goto LAB_7f077b80; - } - uVar9 = imgcall->index; - bVar1 = imgcall->width; - uVar12 = (ulonglong)bVar1; - bVar2 = imgcall->height; - uVar11 = (ulonglong)bVar2; - if (uVar9 < 0xbb9) { - load_image_to_buffer((uint *)imgcall,NULL); - uVar9 = imgcall->index; - } - puVar3 = proc_7F0CBB0C((uint)*(ushort *)((uVar9 | 0x80000000) - 8),NULL); - if (imgcall->level == 0) { - if (puVar3 == NULL) { - uVar11 = (ulonglong)imgcall->format; - uVar12 = (ulonglong)imgcall->depth; - } - else { - uVar11 = SEXT48((int)((puVar3[2] << 0x1b) >> 0x1d)); - uStack44 = (puVar3[3] >> 0x1e) << 0xe; - uVar12 = (longlong)(int)puVar3[2] & 3; - } - uVar9 = (uint)bVar1; - if (uVar12 == 0) { - uStack48 = 2; - number = proc_7F0767D8((uint)bVar1,(uint)bVar2,1); - uStack52 = number - 1; - uStack56 = ceil8000((uint)bVar1); - uStack60 = (int)(uVar9 + 0xf) >> 4; - } - else { - if (uVar12 == 1) { - uStack48 = 2; - number = proc_7F076848((uint)bVar1,(uint)bVar2,1); - uStack52 = number - 1; - uStack56 = ceil4000((uint)bVar1); - uStack60 = (int)(uVar9 + 7) >> 3; - } - else { - if (uVar12 == 2) { - uStack48 = 2; - number = proc_7F0768B8((uint)bVar1,(uint)bVar2,1); - uStack52 = number - 1; - uStack56 = ceil2000((uint)bVar1); - uStack60 = (int)(uVar9 + 3) >> 2; - } - else { - if (uVar12 == 3) { - uStack48 = 3; - number = proc_7F076928((uint)bVar1,(uint)bVar2,1); - uStack52 = number - 1; - uStack56 = ceil1000((uint)bVar1); - uStack60 = (int)(uVar9 + 3) >> 2; - } - } - } - } - generate_microcode_for_othermode_setting(&puStack4,param_3,1,bowtie); - puVar8 = puStack4; - if (bowtie < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar5 & 0xff) << 0x10 | 0xbb000001; - } - puStack4 = puStack4 + 2; - puVar4 = puVar8 + 4; - puVar8[3] = 0; - *puStack4 = 0xba001001; - if (uVar11 == 0) { - *puVar4 = 0xfc121824; - puVar8[5] = 0xff33ffff; -LAB_7f077150: - puStack4 = puVar8 + 6; - puVar4 = puStack4; - } - else { - if (uVar11 == 2) { - if (uStack44 == 0x8000) { - puVar8[5] = 0xff33ffff; - *puVar4 = 0xfc121824; - } - else { - if (uStack44 != 0xc000) goto LAB_7f077154; - *puVar4 = 0xfc121824; - puVar8[5] = 0xff33ffff; - } - goto LAB_7f077150; - } - if (uVar11 == 3) { - puVar8[5] = 0xff33ffff; - *puVar4 = 0xfc121824; - goto LAB_7f077150; - } - if (uVar11 == 4) { - puVar8[5] = 0xfffff9fc; - *puVar4 = 0xfc127e24; - goto LAB_7f077150; - } - } -LAB_7f077154: - uVar7 = ((uint)uVar11 & 7) << 0x15; - uVar5 = (uStack48 & 3) << 0x13; - *puVar4 = uVar7 | 0xfd000000 | uVar5; - uVar7 |= 0xf5000000; - puVar4[1] = imgcall->index; - puVar4[2] = uVar7 | uVar5; - puVar4[3] = ((uint)imgcall->flagsT & 3) << 0x12 | 0x7000000 | - ((uint)imgcall->flagsS & 3) << 8; - puVar4[5] = 0; - puVar4[4] = 0xe6000000; - puVar4[6] = 0xf3000000; - uVar5 = 0x7ff; - if ((int)uStack52 < 0x7ff) { - uVar5 = uStack52; - } - puVar4[7] = (uVar5 & 0xfff) << 0xc | 0x7000000 | uStack56 & 0xfff; - puVar4[9] = 0; - puVar4[8] = 0xe7000000; - if (uVar11 == 2) { - uVar5 = 0x3ff - (uint)*(byte *)((int)puVar3 + 10); - if (uStack52 + 1 <= uVar5) { - uVar5 = 0; - } - puVar4[10] = 0xf5000100; - puVar4[0xb] = 0x7000000; - uVar6 = (uStack52 + 1) - uVar5; - puVar4[0xd] = 0; - puVar4[0xc] = 0xe6000000; - uVar5 = (uVar5 & 0x3ff) << 2; - puVar4[0xe] = (uVar6 & 0x3ff) << 0xe | 0xf0000000 | uVar5; - puVar4[0xf] = (*(byte *)((int)puVar3 + 10) + uVar6 & 0x3ff) << 0xe | 0x7000000 | uVar5; - puVar4[0x11] = 0; - puVar4[0x10] = 0xe7000000; - puStack4 = puVar4 + 0x14; - puVar4[0x12] = 0xba000e02; - puVar4[0x13] = uStack44; - } - else { - puStack4 = puVar4 + 0xc; - puVar4[0xb] = 0; - puVar4[10] = 0xba000e02; - } - puVar3 = puStack4; - *puStack4 = uVar7 | ((uint)uVar12 & 3) << 0x13 | (uStack60 & 0x1ff) << 9; - puStack4 = puStack4 + 2; - uVar5 = is_less_than_certain_power_of_2((uint)bVar2); - uVar7 = is_less_than_certain_power_of_2((uint)bVar1); - puVar3[1] = (uVar7 & 0xf) << 4 | ((uint)imgcall->flagsT & 3) << 0x12 | (uVar5 & 0xf) << 0xe - | ((uint)imgcall->flagsS & 3) << 8; - *puStack4 = (ul_s_t & 0xfff) << 0xc | 0xf2000000 | ul_s_t & 0xfff; - puStack4[1] = ((uVar9 - 1) * 4 + ul_s_t & 0xfff) << 0xc | - ((uint)bVar2 - 1) * 4 + ul_s_t & 0xfff; - puStack4 = puStack4 + 2; - goto LAB_7f077b80; - } - uStack160 = 0; - uStack164 = (uint)imgcall->level; - if (puVar3 == NULL) { - bStack166 = imgcall->depth; - uVar14 = (ulonglong)imgcall->format; -LAB_7f07748c: - if (bStack166 == 0) { - uStack176 = 2; - number = proc_7F0767D8((uint)bVar1,(uint)bVar2,uStack164); - uStack180 = number - 1; - } - else { - if (bStack166 == 1) { - uStack176 = 2; - number = proc_7F076848((uint)bVar1,(uint)bVar2,uStack164); - uStack180 = number - 1; - } - else { - if (bStack166 == 2) { - uStack176 = 2; - number = proc_7F0768B8((uint)bVar1,(uint)bVar2,uStack164); - uStack180 = number - 1; - } - else { - if (bStack166 == 3) { - uStack176 = 3; - number = proc_7F076928((uint)bVar1,(uint)bVar2,uStack164); - uStack180 = number - 1; - } - } - } - } - } - else { - bStack166 = (byte)puVar3[2] & 3; - uVar14 = SEXT48((int)((puVar3[2] << 0x1b) >> 0x1d)); - uStack172 = (puVar3[3] >> 0x1e) << 0xe; - if (-1 < (int)(puVar3[3] << 2)) goto LAB_7f07748c; - proc_7F0CC9D4(puVar3,&uStack176,(int *)&uStack180); - } - generate_microcode_for_othermode_setting(&puStack4,param_3,2,bowtie); - puVar8 = puStack4; - bVar1 = bStack166; - if (bowtie < 2) { - puStack4[1] = 0xffffffff; - *puStack4 = (uStack164 - 1 & 7) << 0xb | 0xbb000001; - } - else { - puStack4[1] = 0xffffffff; - *puStack4 = (uVar5 & 0xff) << 0x10 | 0xbb000000 | (uStack164 - 1 & 7) << 0xb | 1; - } - puStack4 = puStack4 + 2; - puVar4 = puVar8 + 4; - puVar8[3] = 0x10000; - *puStack4 = 0xba001001; - if (uVar14 == 0) { - *puVar4 = 0xfc26a004; - puVar8[5] = 0x1f1093ff; -LAB_7f0776ec: - puStack4 = puVar8 + 6; - puVar4 = puStack4; - } - else { - if (uVar14 == 2) { - if (uStack172 == 0x8000) { - puVar8[5] = 0xff33ffff; - *puVar4 = 0xfc121824; - } - else { - if (uStack172 != 0xc000) goto LAB_7f0776f0; - *puVar4 = 0xfc121824; - puVar8[5] = 0xff33ffff; - } - goto LAB_7f0776ec; - } - if (uVar14 == 3) { - puVar8[5] = 0x1f1093ff; - *puVar4 = 0xfc26a004; - goto LAB_7f0776ec; - } - if (uVar14 == 4) { - puVar8[5] = 0x1ffc93fc; - *puVar4 = 0xfc26a004; - goto LAB_7f0776ec; - } - } -LAB_7f0776f0: - uVar9 = ((uint)uVar14 & 7) << 0x15; - *puVar4 = uVar9 | 0xfd000000 | (uStack176 & 3) << 0x13; - uVar9 |= 0xf5000000; - puVar4[1] = imgcall->index; - puVar4[2] = uVar9 | (uStack176 & 3) << 0x13; - puVar4[3] = 0x7000000; - puVar4[5] = 0; - puVar4[4] = 0xe6000000; - puVar4[6] = 0xf3000000; - uVar5 = 0x7ff; - if ((int)uStack180 < 0x7ff) { - uVar5 = uStack180; - } - puVar4[7] = (uVar5 & 0xfff) << 0xc | 0x7000000; - puVar4[9] = 0; - puVar4[8] = 0xe7000000; - if (uVar14 == 2) { - uVar5 = 0x3ff - (uint)*(byte *)((int)puVar3 + 10); - if (uStack180 + 1 <= uVar5) { - uVar5 = 0; - } - puVar4[10] = 0xf5000100; - puVar4[0xb] = 0x7000000; - uVar7 = (uStack180 + 1) - uVar5; - puVar4[0xd] = 0; - puVar4[0xc] = 0xe6000000; - uVar5 = (uVar5 & 0x3ff) << 2; - puVar4[0xe] = (uVar7 & 0x3ff) << 0xe | 0xf0000000 | uVar5; - puVar4[0xf] = (*(byte *)((int)puVar3 + 10) + uVar7 & 0x3ff) << 0xe | 0x7000000 | uVar5; - puVar4[0x11] = 0; - puVar4[0x10] = 0xe7000000; - puStack4 = puVar4 + 0x14; - puVar4[0x13] = uStack172; - puVar4[0x12] = 0xba000e02; - } - else { - puStack4 = puVar4 + 0xc; - puVar4[0xb] = 0; - puVar4[10] = 0xba000e02; - } - uVar14 = 0; - if (0 < (int)uStack164) { - uVar9 |= ((uint)bStack166 & 3) << 0x13; - do { - if (0 < (longlong)uVar14) { - if ((puVar3 == NULL) || (-1 < (int)(puVar3[3] << 2))) { - if (1 < (longlong)uVar12) { - uVar12 = (longlong)((int)uVar12 >> 1); - } - if (1 < (longlong)uVar11) { - uVar11 = (longlong)((int)uVar11 >> 1); - } - } - else { - uVar12 = proc_7F0CC714(puVar3,uVar14); - uVar11 = proc_7F0CC7FC(puVar3,uVar14); - } - } - puVar8 = puStack4; - number_00 = (int)uVar12; - number = (int)uVar11; - if (bVar1 == 0) { - iVar10 = number_00 + 0xf; - if (iVar10 < 0) { - iVar10 = number_00 + 0x1e; - } - uStack268 = iVar10 >> 4; - iVar10 = uStack268 * number; - uVar5 = uVar9 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 1) { - iVar10 = number_00 + 7; - if (iVar10 < 0) { - iVar10 = number_00 + 0xe; - } - uStack268 = iVar10 >> 3; - iVar10 = uStack268 * number; - uVar5 = uVar9 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 2) { - iVar10 = number_00 + 3; - if (iVar10 < 0) { - iVar10 = number_00 + 6; - } - uStack268 = iVar10 >> 2; - iVar10 = uStack268 * number; - uVar5 = uVar9 | (uStack268 & 0x1ff) << 9; - } - else { - if (bVar1 == 3) { - iVar10 = number_00 + 3; - if (iVar10 < 0) { - iVar10 = number_00 + 6; - } - uStack268 = iVar10 >> 2; - iVar10 = uStack268 * number; - uVar5 = uVar9 | (uStack268 & 0x1ff) << 9; - } - else { - iVar10 = uStack268 * number; - uVar5 = uVar9 | (uStack268 & 0x1ff) << 9; - } - } - } - } - *puStack4 = uVar5 | uStack160 & 0x1ff; - puStack4 = puStack4 + 2; - uVar7 = is_less_than_certain_power_of_2(number); - uVar6 = is_less_than_certain_power_of_2(number_00); - uVar5 = (uint)uVar14; - uVar13 = (uVar5 & 7) << 0x18; - puVar8[1] = (uVar6 & 0xf) << 4 | uVar13 | ((uint)imgcall->flagsT & 3) << 0x12 | - (uVar7 & 0xf) << 0xe | (uVar5 & 0xf) << 10 | - ((uint)imgcall->flagsS & 3) << 8 | uVar5 & 0xf; - uVar14 = SEXT48((int)(uVar5 + 1)); - puVar8 = puStack4 + 2; - *puStack4 = (ul_s_t & 0xfff) << 0xc | 0xf2000000 | ul_s_t & 0xfff; - puStack4[1] = uVar13 | ((number_00 + -1) * 4 + ul_s_t & 0xfff) << 0xc | - (number + -1) * 4 + ul_s_t & 0xfff; - uStack160 += iVar10; - puStack4 = puVar8; - } while (uVar14 != (longlong)(int)uStack164); - } -LAB_7f077b80: - *DLtarget = puStack4; - return; -} - - - -void proc_7F077BB8(s32 param_1,s32 param_2,s32 param_3) - -{ - return; -} - - - -void proc_7F077BD0(void) - -{ - return; -} - - - -void set_BONDdata_screensize(float width,float height) - -{ - pPlayer->c_screenwidth = width; - pPlayer->c_screenheight = height; - pPlayer->c_halfwidth = width * 0.50000000; - pPlayer->c_halfheight = height * 0.50000000; - return; -} - - - -void set_ulx_uly(f32 ulx,f32 uly) - -{ - *(f32 *)&pPlayer->c_screenleft = ulx; - *(f32 *)&pPlayer->c_screentop = uly; - return; -} - - - -void sub_GAME_7F077C30(f32 pnear,f32 pfovy,f32 paspect) - -{ - float in_a2_lo; - - *(f32 *)&pPlayer->c_perspnear = pnear; - *(f32 *)&pPlayer->c_perspfovy = pfovy; - pPlayer->c_perspaspect = in_a2_lo; - return; -} - - - -void proc_7F077C5C(void) - -{ - float fVar1; - float fVar2; - uint uVar3; - - fVar1 = sinf((pPlayer->c_perspfovy * 3.14159274) / 360.00000000); - fVar2 = cosf((pPlayer->c_perspfovy * 3.14159274) / 360.00000000); - *(float *)&pPlayer->c_scaley = fVar1 / (fVar2 * pPlayer->c_halfheight); - *(float *)&pPlayer->c_scalex = - ((float)pPlayer->c_scaley * pPlayer->c_perspaspect * pPlayer->c_halfheight) / - pPlayer->c_halfwidth; - *(float *)&pPlayer->c_recipscalex = 1.00000000 / (float)pPlayer->c_scalex; - *(float *)&pPlayer->c_recipscaley = 1.00000000 / (float)pPlayer->c_scaley; - pPlayer->c_scalelod = pPlayer->c_scaley; - fVar1 = sinf(0.52359879); - fVar2 = cosf(0.52359879); - *(float *)&pPlayer->c_scalelod60 = fVar1 / (fVar2 * 120.00000000); - *(float *)&pPlayer->c_lodscalez = (float)pPlayer->c_scalelod / (float)pPlayer->c_scalelod60; - fVar1 = (float)pPlayer->c_lodscalez * 65536.00000000; - if (4294967296.00000000 < fVar1) { - pPlayer->c_lodscalezu32 = -1; - goto LAB_7f077e34; - } - if (false) { - fVar2 = ROUND(fVar1); - } - else { - fVar2 = FLOOR(fVar1); - } - uVar3 = (uint)fVar2; - if (false) { - if (false) { - fVar1 = ROUND(fVar1 - 2147483648.00000000); - } - else { - fVar1 = FLOOR(fVar1 - 2147483648.00000000); - } - if (false) goto LAB_7f077e10; - uVar3 = (int)fVar1 | 0x80000000; - } - else { - if ((int)uVar3 < 0) { -LAB_7f077e10: - uVar3 = 0xffffffff; - } - } - pPlayer->c_lodscalezu32 = uVar3; -LAB_7f077e34: - fVar2 = pPlayer->c_halfheight * (float)pPlayer->c_scaley; - fVar1 = sqrtf(fVar2 * fVar2 + 1.00000000); - (pPlayer->c_cameratopnorm).x = 0.00000000; - *(float *)&(pPlayer->c_cameratopnorm).y = 1.00000000 / fVar1; - *(float *)&(pPlayer->c_cameratopnorm).z = fVar2 * (1.00000000 / fVar1); - fVar2 = -pPlayer->c_halfwidth * (float)pPlayer->c_scalex; - fVar1 = sqrtf(fVar2 * fVar2 + 1.00000000); - *(float *)&(pPlayer->c_cameraleftnorm).x = -(1.00000000 / fVar1); - (pPlayer->c_cameraleftnorm).y = 0.00000000; - *(float *)&(pPlayer->c_cameraleftnorm).z = -fVar2 * (1.00000000 / fVar1); - return; -} - - - -void proc_7F077EEC(float *param_1,float *param_2,float param_3) - -{ - float in_a2_lo; - float fVar1; - float fVar2; - float fVar3; - - fVar2 = (pPlayer->c_halfheight - (param_1[1] - pPlayer->c_screentop)) * (float)pPlayer->c_scaley - ; - fVar3 = ((*param_1 - pPlayer->c_screenleft) - pPlayer->c_halfwidth) * (float)pPlayer->c_scalex; - fVar1 = sqrtf(fVar3 * fVar3 + fVar2 * fVar2 + 1.00000000); - fVar1 = in_a2_lo / fVar1; - *param_2 = fVar3 * fVar1; - param_2[1] = fVar2 * fVar1; - param_2[2] = fVar1 * -1.00000000; - return; -} - - - -void proc_7F077FB4(float *param_1,float param_2,float *param_3) - -{ - float *in_a2_lo; - - in_a2_lo[1] = param_1[1] * (float)param_3 * (float)pPlayer->c_scaley; - *in_a2_lo = *param_1 * (float)param_3 * (float)pPlayer->c_scalex; - return; -} - - - -void proc_7F077FF4(float *param_1,float *param_2) - -{ - float fVar1; - - fVar1 = param_1[2]; - param_2[1] = param_1[1] * (1.00000000 / fVar1) * (float)pPlayer->c_recipscaley + - pPlayer->c_screentop + pPlayer->c_halfheight; - *param_2 = (pPlayer->c_screenleft + pPlayer->c_halfwidth) - - *param_1 * (1.00000000 / fVar1) * (float)pPlayer->c_recipscalex; - return; -} - - - -void proc_7F078060(float *param_1,float *param_2) - -{ - float fVar1; - - fVar1 = flt_80054FAC; - if (param_1[2] != 0.00000000) { - fVar1 = 1.00000000 / param_1[2]; - } - param_2[1] = param_1[1] * fVar1 * (float)pPlayer->c_recipscaley + - pPlayer->c_screentop + pPlayer->c_halfheight; - *param_2 = (pPlayer->c_screenleft + pPlayer->c_halfwidth) - - *param_1 * fVar1 * (float)pPlayer->c_recipscalex; - return; -} - - - -void proc_7F0780F0(float *param_1,float param_2,float *param_3) - -{ - float *in_a2_lo; - - in_a2_lo[1] = param_1[1] * (1.00000000 / (float)param_3) * (float)pPlayer->c_recipscaley; - *in_a2_lo = *param_1 * (1.00000000 / (float)param_3) * (float)pPlayer->c_recipscalex; - return; -} - - - -void proc_7F078140(float *param_1,float *param_2,float param_3,float param_4,float param_5) - -{ - float in_a3_lo; - float fVar1; - float fVar2; - float __x; - float in_stack_00000010; - - __x = (in_a3_lo * flt_80054FB0) / 360.00000000; - fVar1 = sinf(__x); - __x = cosf(__x); - fVar2 = pPlayer->c_halfheight; - fVar1 = fVar1 / (__x * fVar2); - __x = (fVar2 - (param_1[1] - pPlayer->c_screentop)) * fVar1; - fVar2 = ((*param_1 - pPlayer->c_screenleft) - pPlayer->c_halfwidth) * - ((fVar1 * in_stack_00000010 * fVar2) / pPlayer->c_halfwidth); - fVar1 = sqrtf(fVar2 * fVar2 + __x * __x + 1.00000000); - param_5 = param_5 / fVar1; - *param_2 = fVar2 * param_5; - param_2[1] = __x * param_5; - param_2[2] = param_5 * -1.00000000; - return; -} - - - -void proc_7F078258(float *param_1,float *param_2,float param_3,float param_4) - -{ - float in_a2_lo; - float in_a3_lo; - float fVar1; - float fVar2; - float fVar3; - float __x; - - __x = (in_a2_lo * flt_80054FB4) / 360.00000000; - fVar1 = cosf(__x); - __x = sinf(__x); - fVar2 = pPlayer->c_halfheight; - fVar3 = pPlayer->c_halfwidth; - fVar1 = (fVar1 * fVar2) / (param_1[2] * __x); - param_2[1] = param_1[1] * fVar1 + pPlayer->c_screentop + fVar2; - *param_2 = (pPlayer->c_screenleft + pPlayer->c_halfwidth) - - *param_1 * ((fVar3 * fVar1) / (in_a3_lo * fVar2)); - return; -} - - - -void set_BONDdata_field_10C4(int param_1) - -{ - pPlayer->field_10C4 = param_1; - return; -} - - - -int get_BONDdata_field_10C4(void) - -{ - return pPlayer->field_10C4; -} - - - -void set_BONDdata_field_10C8(int param_1) - -{ - pPlayer->field_10C8 = param_1; - return; -} - - - -int get_BONDdata_field_10C8(void) - -{ - return pPlayer->field_10C8; -} - - - -void set_BONDdata_field_10D8(int param_1) - -{ - pPlayer->field_10D8 = param_1; - return; -} - - - -int get_BONDdata_field_10D8(void) - -{ - return pPlayer->field_10D8; -} - - - -void set_BONDdata_field_10E0(int param_1) - -{ - pPlayer->field_10E0 = param_1; - return; -} - - - -int get_BONDdata_field_10E0(void) - -{ - return pPlayer->field_10E0; -} - - - -void copy_BONDdata_field_10CC_to_10E8_set_10CC(int param_1) - -{ - pPlayer->field_10E8 = pPlayer->field_10CC; - pPlayer->field_10CC = param_1; - return; -} - - - -int get_BONDdata_field_10CC(void) - -{ - return pPlayer->field_10CC; -} - - - -void set_BONDdata_field_10DC(int param_1) - -{ - pPlayer->field_10DC = param_1; - return; -} - - - -int get_BONDdata_field_10DC(void) - -{ - return pPlayer->field_10DC; -} - - - -int get_BONDdata_field_10E8(void) - -{ - return pPlayer->field_10E8; -} - - - -void set_BONDdata_field_10D0(int param_1) - -{ - pPlayer->field_10D0 = param_1; - return; -} - - - -int get_BONDdata_field_10D0(void) - -{ - return pPlayer->field_10D0; -} - - - -void proc_7F078424(int param_1) - -{ - pPlayer->field_10EC = pPlayer->field_10D4; - pPlayer->field_10D4 = param_1; - return; -} - - - -int get_BONDdata_field_10D4(void) - -{ - return pPlayer->field_10D4; -} - - - -int get_BONDdata_field_10EC(void) - -{ - return pPlayer->field_10EC; -} - - - -void set_BONDdata_field_10E4(int param_1) - -{ - pPlayer->field_10E4 = param_1; - return; -} - - - -int get_BONDdata_field_10E4(void) - -{ - return pPlayer->field_10E4; -} - - - -f32 getPlayer_c_lodscalez(void) - -{ - return pPlayer->c_lodscalez; -} - - - -int getPlayer_c_lodscalezu32(void) - -{ - return pPlayer->c_lodscalezu32; -} - - - -f32 getPlayer_c_screenwidth(void) - -{ - return (f32)pPlayer->c_screenwidth; -} - - - -f32 getPlayer_c_screenheight(void) - -{ - return (f32)pPlayer->c_screenheight; -} - - - -f32 getPlayer_c_screenleft(void) - -{ - return (f32)pPlayer->c_screenleft; -} - - - -f32 getPlayer_c_screentop(void) - -{ - return (f32)pPlayer->c_screentop; -} - - - -f32 getPlayer_c_perspfovy(void) - -{ - return (f32)pPlayer->c_perspfovy; -} - - - -f32 getPlayer_c_perspaspect(void) - -{ - return (f32)pPlayer->c_perspaspect; -} - - - -void setpointtocameratopnorm(xyzpoint *param_1) - -{ - param_1->x = (pPlayer->c_cameratopnorm).x; - param_1->y = (pPlayer->c_cameratopnorm).y; - param_1->z = (pPlayer->c_cameratopnorm).z; - return; -} - - - -void setpointtocameratopnorminvertedy(xyzpoint *param_1) - -{ - param_1->x = (pPlayer->c_cameratopnorm).x; - *(float *)¶m_1->y = -(float)(pPlayer->c_cameratopnorm).y; - param_1->z = (pPlayer->c_cameratopnorm).z; - return; -} - - - -void setpointtocameraleftnorm(xyzpoint *param_1) - -{ - param_1->x = (pPlayer->c_cameraleftnorm).x; - param_1->y = (pPlayer->c_cameraleftnorm).y; - param_1->z = (pPlayer->c_cameraleftnorm).z; - return; -} - - - -void setpointtocameraleftnorminvertedx(xyzpoint *param_1) - -{ - *(float *)¶m_1->x = -(float)(pPlayer->c_cameraleftnorm).x; - param_1->y = (pPlayer->c_cameraleftnorm).y; - param_1->z = (pPlayer->c_cameraleftnorm).z; - return; -} - - - -f32 getPlayer_c_perspnear(void) - -{ - return (f32)pPlayer->c_perspnear; -} - - - -void proc_7F0785DC(void) - -{ - int iVar1; - int iVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - - fVar5 = pPlayer->c_halfheight * (float)pPlayer->c_scaley; - fVar4 = sqrtf(fVar5 * fVar5 + 1.00000000); - fVar5 = fVar5 * (1.00000000 / fVar4); - fVar4 = -(1.00000000 / fVar4); - fVar6 = -fVar4; - xyzpoint_80079940.x = - (f32)(*(float *)(pPlayer->field_10D4 + 0x20) * fVar5 + - fVar6 * *(float *)(pPlayer->field_10D4 + 0x10)); - xyzpoint_80079940.y = - (f32)(*(float *)(pPlayer->field_10D4 + 0x24) * fVar5 + - fVar6 * *(float *)(pPlayer->field_10D4 + 0x14)); - xyzpoint_80079940.z = - (f32)(*(float *)(pPlayer->field_10D4 + 0x28) * fVar5 + - fVar6 * *(float *)(pPlayer->field_10D4 + 0x18)); - iVar1 = pPlayer->field_10D4; - xyzpoint_8007994c.x = - (f32)(*(float *)(iVar1 + 0x38) * (float)xyzpoint_80079940.z + - (float)xyzpoint_80079940.x * *(float *)(iVar1 + 0x30) + - (float)xyzpoint_80079940.y * *(float *)(iVar1 + 0x34)); - xyzpoint_8007994c.y = - (f32)(*(float *)(pPlayer->field_10D4 + 0x20) * fVar5 + - fVar4 * *(float *)(pPlayer->field_10D4 + 0x10)); - xyzpoint_8007994c.z = - (f32)(*(float *)(pPlayer->field_10D4 + 0x24) * fVar5 + - fVar4 * *(float *)(pPlayer->field_10D4 + 0x14)); - xyzpoint_80079958.x = - (f32)(*(float *)(pPlayer->field_10D4 + 0x28) * fVar5 + - fVar4 * *(float *)(pPlayer->field_10D4 + 0x18)); - iVar1 = pPlayer->field_10D4; - xyzpoint_80079958.y = - (f32)(*(float *)(iVar1 + 0x38) * (float)xyzpoint_80079958.x + - (float)xyzpoint_8007994c.y * *(float *)(iVar1 + 0x30) + - (float)xyzpoint_8007994c.z * *(float *)(iVar1 + 0x34)); - fVar5 = -pPlayer->c_halfwidth * (float)pPlayer->c_scalex; - fVar4 = sqrtf(fVar5 * fVar5 + 1.00000000); - fVar5 = fVar5 * (1.00000000 / fVar4); - fVar4 = -(1.00000000 / fVar4); - fVar6 = -fVar4; - xyzpoint_80079958.z = - (f32)(fVar4 * *(float *)pPlayer->field_10D4 - ((float *)pPlayer->field_10D4)[8] * fVar5); - xyzpoint_80079964.x = - (f32)(fVar4 * *(float *)(pPlayer->field_10D4 + 4) - - *(float *)(pPlayer->field_10D4 + 0x24) * fVar5); - xyzpoint_80079964.y = - (f32)(fVar4 * *(float *)(pPlayer->field_10D4 + 8) - - *(float *)(pPlayer->field_10D4 + 0x28) * fVar5); - iVar1 = pPlayer->field_10D4; - DAT_80079970 = fVar6 * *(float *)pPlayer->field_10D4 - ((float *)pPlayer->field_10D4)[8] * fVar5 - ; - flt_8007A034 = fVar6 * *(float *)(pPlayer->field_10D4 + 4) - - *(float *)(pPlayer->field_10D4 + 0x24) * fVar5; - DAT_80079978 = fVar6 * *(float *)(pPlayer->field_10D4 + 8) - - *(float *)(pPlayer->field_10D4 + 0x28) * fVar5; - iVar2 = pPlayer->field_10D4; - iVar3 = pPlayer->field_10D4; - xyzpoint_80079964.z = - (f32)(*(float *)(iVar1 + 0x38) * (float)xyzpoint_80079964.y + - (float)xyzpoint_80079958.z * *(float *)(iVar1 + 0x30) + - (float)xyzpoint_80079964.x * *(float *)(iVar1 + 0x34)); - DAT_8007997c = *(float *)(iVar2 + 0x38) * DAT_80079978 + - DAT_80079970 * *(float *)(iVar2 + 0x30) + flt_8007A034 * *(float *)(iVar2 + 0x34) - ; - DAT_80079980 = *(float *)(iVar3 + 0x38) * *(float *)(iVar3 + 0x28) + - *(float *)(iVar3 + 0x20) * *(float *)(iVar3 + 0x30) + - *(float *)(iVar3 + 0x24) * *(float *)(iVar3 + 0x34); - return; -} - - - -void proc_7F078950(xyzpoint *param_1,undefined4 *param_2) - -{ - param_1->x = xyzpoint_80079940.x; - param_1->y = xyzpoint_80079940.y; - param_1->z = xyzpoint_80079940.z; - *(f32 *)param_2 = xyzpoint_8007994c.x; - return; -} - - - -void proc_7F078980(undefined4 *param_1,undefined4 *param_2) - -{ - *(f32 *)param_1 = xyzpoint_8007994c.y; - *(f32 *)(param_1 + 1) = xyzpoint_8007994c.z; - *(f32 *)(param_1 + 2) = xyzpoint_80079958.x; - *(f32 *)param_2 = xyzpoint_80079958.y; - return; -} - - - -void proc_7F0789B0(undefined4 *param_1,undefined4 *param_2) - -{ - *(f32 *)param_1 = xyzpoint_80079958.z; - *(f32 *)(param_1 + 1) = xyzpoint_80079964.x; - *(f32 *)(param_1 + 2) = xyzpoint_80079964.y; - *(f32 *)param_2 = xyzpoint_80079964.z; - return; -} - - - -void proc_7F0789E0(undefined4 *param_1,undefined4 *param_2) - -{ - *param_1 = DAT_80079970; - param_1[1] = flt_8007A034; - param_1[2] = DAT_80079978; - *param_2 = DAT_8007997c; - return; -} - - - -void proc_7F078A10(undefined4 *param_1,undefined4 *param_2) - -{ - *param_1 = *(undefined4 *)(pPlayer->field_10D4 + 0x20); - param_1[1] = *(undefined4 *)(pPlayer->field_10D4 + 0x24); - param_1[2] = *(undefined4 *)(pPlayer->field_10D4 + 0x28); - *param_2 = DAT_80079980; - return; -} - - - -undefined8 proc_7F078A58(float *param_1,float param_2) - -{ - int iVar1; - float in_a1_lo; - float fVar2; - float fVar3; - float fVar4; - - fVar3 = *param_1; - fVar4 = param_1[1]; - iVar1 = pPlayer->field_10D4; - fVar2 = param_1[2]; - if (DAT_80079980 + in_a1_lo < - fVar2 * *(float *)(iVar1 + 0x28) + - *(float *)(iVar1 + 0x20) * fVar3 + *(float *)(iVar1 + 0x24) * fVar4) { - return 0; - } - if ((float)xyzpoint_80079964.z + in_a1_lo < - fVar2 * (float)xyzpoint_80079964.y + - (float)xyzpoint_80079958.z * fVar3 + (float)xyzpoint_80079964.x * fVar4) { - return 0; - } - if (DAT_8007997c + in_a1_lo < fVar2 * DAT_80079978 + DAT_80079970 * fVar3 + flt_8007A034 * fVar4 - ) { - return 0; - } - if (fVar2 * (float)xyzpoint_80079940.z + - (float)xyzpoint_80079940.x * fVar3 + (float)xyzpoint_80079940.y * fVar4 <= - (float)xyzpoint_8007994c.x + in_a1_lo) { - if (fVar2 * (float)xyzpoint_80079958.x + - (float)xyzpoint_8007994c.y * fVar3 + (float)xyzpoint_8007994c.z * fVar4 <= - (float)xyzpoint_80079958.y + in_a1_lo) { - return 1; - } - return 0; - } - return 0; -} - - - -undefined8 proc_7F078BF4(float *param_1,float param_2,float *param_3) - -{ - int iVar1; - undefined8 uVar2; - float *in_a2_lo; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - - iVar1 = pPlayer->field_10D4; - if (DAT_80079980 + (float)param_3 < - param_1[2] * *(float *)(iVar1 + 0x28) + - *(float *)(iVar1 + 0x20) * *param_1 + *(float *)(iVar1 + 0x24) * param_1[1]) { - uVar2 = 0; - } - else { - fVar4 = ((*in_a2_lo - pPlayer->c_screenleft) - pPlayer->c_halfwidth) * - (float)pPlayer->c_scalex; - fVar3 = sqrtf(fVar4 * fVar4 + 1.00000000); - fVar4 = fVar4 * (1.00000000 / fVar3); - fVar6 = -(1.00000000 / fVar3); - fVar5 = fVar6 * *(float *)pPlayer->field_10D4 - ((float *)pPlayer->field_10D4)[8] * fVar4; - fVar3 = fVar6 * *(float *)(pPlayer->field_10D4 + 4) - - *(float *)(pPlayer->field_10D4 + 0x24) * fVar4; - fVar4 = fVar6 * *(float *)(pPlayer->field_10D4 + 8) - - *(float *)(pPlayer->field_10D4 + 0x28) * fVar4; - iVar1 = pPlayer->field_10D4; - if (*(float *)(iVar1 + 0x38) * fVar4 + - fVar5 * *(float *)(iVar1 + 0x30) + fVar3 * *(float *)(iVar1 + 0x34) + (float)param_3 < - param_1[2] * fVar4 + fVar5 * *param_1 + fVar3 * param_1[1]) { - uVar2 = 0; - } - else { - fVar4 = -((in_a2_lo[2] - pPlayer->c_screenleft) - pPlayer->c_halfwidth) * - (float)pPlayer->c_scalex; - fVar3 = sqrtf(fVar4 * fVar4 + 1.00000000); - fVar4 = fVar4 * (1.00000000 / fVar3); - fVar3 = --(1.00000000 / fVar3); - fVar5 = fVar3 * *(float *)pPlayer->field_10D4 - - ((float *)pPlayer->field_10D4)[8] * fVar4; - fVar6 = fVar3 * *(float *)(pPlayer->field_10D4 + 4) - - *(float *)(pPlayer->field_10D4 + 0x24) * fVar4; - fVar3 = fVar3 * *(float *)(pPlayer->field_10D4 + 8) - - *(float *)(pPlayer->field_10D4 + 0x28) * fVar4; - iVar1 = pPlayer->field_10D4; - if (*(float *)(iVar1 + 0x38) * fVar3 + - fVar5 * *(float *)(iVar1 + 0x30) + fVar6 * *(float *)(iVar1 + 0x34) + (float)param_3 - < param_1[2] * fVar3 + fVar5 * *param_1 + fVar6 * param_1[1]) { - uVar2 = 0; - } - else { - fVar4 = (pPlayer->c_halfheight - (in_a2_lo[1] - pPlayer->c_screentop)) * - (float)pPlayer->c_scaley; - fVar3 = sqrtf(fVar4 * fVar4 + 1.00000000); - fVar4 = fVar4 * (1.00000000 / fVar3); - fVar3 = --(1.00000000 / fVar3); - fVar5 = *(float *)(pPlayer->field_10D4 + 0x20) * fVar4 + - fVar3 * *(float *)(pPlayer->field_10D4 + 0x10); - fVar6 = *(float *)(pPlayer->field_10D4 + 0x24) * fVar4 + - fVar3 * *(float *)(pPlayer->field_10D4 + 0x14); - fVar3 = *(float *)(pPlayer->field_10D4 + 0x28) * fVar4 + - fVar3 * *(float *)(pPlayer->field_10D4 + 0x18); - iVar1 = pPlayer->field_10D4; - if (*(float *)(iVar1 + 0x38) * fVar3 + - fVar5 * *(float *)(iVar1 + 0x30) + fVar6 * *(float *)(iVar1 + 0x34) + - (float)param_3 < param_1[2] * fVar3 + fVar5 * *param_1 + fVar6 * param_1[1]) { - uVar2 = 0; - } - else { - fVar4 = -(pPlayer->c_halfheight - (in_a2_lo[3] - pPlayer->c_screentop)) * - (float)pPlayer->c_scaley; - fVar3 = sqrtf(fVar4 * fVar4 + 1.00000000); - fVar4 = fVar4 * (1.00000000 / fVar3); - fVar6 = -(1.00000000 / fVar3); - fVar3 = *(float *)(pPlayer->field_10D4 + 0x20) * fVar4 + - fVar6 * *(float *)(pPlayer->field_10D4 + 0x10); - fVar5 = *(float *)(pPlayer->field_10D4 + 0x24) * fVar4 + - fVar6 * *(float *)(pPlayer->field_10D4 + 0x14); - fVar4 = *(float *)(pPlayer->field_10D4 + 0x28) * fVar4 + - fVar6 * *(float *)(pPlayer->field_10D4 + 0x18); - iVar1 = pPlayer->field_10D4; - uVar2 = 1; - if (*(float *)(iVar1 + 0x38) * fVar4 + - fVar3 * *(float *)(iVar1 + 0x30) + fVar5 * *(float *)(iVar1 + 0x34) + - (float)param_3 < param_1[2] * fVar4 + fVar3 * *param_1 + fVar5 * param_1[1]) - { - uVar2 = 0; - } - } - } - } - } - return uVar2; -} - - - -uint proc_7F0790F0(void) - -{ - int iVar1; - bool bVar2; - u32 uVar3; - u32 uVar4; - u32 uVar5; - int iVar6; - float fVar7; - float fVar8; - uint uStack20; - - uVar3 = get_cur_playernum(); - uVar4 = get_num_players(); - bVar2 = true; - iVar6 = 0; - if (0 < (int)DAT_80079c68) { - do { - iVar6 += 1; - bVar2 = false; - uVar5 = 0; - pPlayer->field_29E0 = pPlayer->field_29E0 + 1; - uStack20 = pPlayer->field_29E0 % DAT_80079c68; - if (DAT_80079c68 == 0) { - trap(0x1c00); - } - if ((DAT_80079c68 == 0xffffffff) && (pPlayer->field_29E0 == -0x80000000)) { - trap(0x1800); - } - if (0 < (int)uVar4) { - do { - if (((uVar5 != uVar3) && - (iVar1 = ptr_BONDdata_p1[uVar5]->position_data_pointer, iVar1 != 0)) && - (fVar7 = *(float *)(iVar1 + 8) - *(float *)(&DAT_80079c28)[uStack20], - fVar8 = *(float *)(iVar1 + 0x10) - ((float *)(&DAT_80079c28)[uStack20])[2], - fVar7 = sqrtf(fVar7 * fVar7 + fVar8 * fVar8), fVar7 < 1000.00000000)) { - bVar2 = true; - } - uVar5 += 1; - } while (uVar5 != uVar4); - } - } while ((bVar2) && (iVar6 < (int)DAT_80079c68)); - } - if ((bVar2) && (iVar6 < (int)DAT_80079c68)) { - do { - iVar6 += 1; - bVar2 = false; - uVar5 = 0; - pPlayer->field_29E0 = pPlayer->field_29E0 + 1; - uStack20 = pPlayer->field_29E0 % DAT_80079c68; - if (DAT_80079c68 == 0) { - trap(0x1c00); - } - if ((DAT_80079c68 == 0xffffffff) && (pPlayer->field_29E0 == -0x80000000)) { - trap(0x1800); - } - if (0 < (int)uVar4) { - do { - if (((uVar5 != uVar3) && - (iVar1 = ptr_BONDdata_p1[uVar5]->position_data_pointer, iVar1 != 0)) && - (fVar7 = *(float *)(iVar1 + 8) - *(float *)(&DAT_80079c28)[uStack20], - fVar8 = *(float *)(iVar1 + 0x10) - ((float *)(&DAT_80079c28)[uStack20])[2], - fVar7 = sqrtf(fVar7 * fVar7 + fVar8 * fVar8), fVar7 < 100.00000000)) { - bVar2 = true; - } - uVar5 += 1; - } while (uVar5 != uVar4); - } - } while ((bVar2) && (iVar6 < (int)DAT_80079c68)); - } - if (bVar2) { - uVar3 = get_random_value(); - uStack20 = uVar3 % DAT_80079c68; - if (DAT_80079c68 == 0) { - trap(0x1c00); - } - } - return uStack20; -} - - - -void init_player_BONDdata(void) - -{ - s32 sVar1; - u32 playernum; - int type; - - sVar1 = get_num_players(); - if (1 < sVar1) { - playernum = get_cur_playernum(); - type = get_player_control_style(playernum); - pPlayer->controlstyle = type; - playernum = get_cur_playernum(); - type = get_player_control_style(playernum); - cur_player_set_control_type(type); - } - pPlayer->current_model_xpos = 0.00000000; - pPlayer->current_model_ypos = 0.00000000; - pPlayer->current_model_zpos = 0.00000000; - pPlayer->previous_model_xpos = 0.00000000; - pPlayer->previous_model_ypos = 0.00000000; - pPlayer->previous_model_zpos = 0.00000000; - pPlayer->current_room_xpos = 0.00000000; - pPlayer->current_room_ypos = 0.00000000; - pPlayer->current_room_zpos = 0.00000000; - pPlayer->unknown = 0; - pPlayer->xpos = 0.00000000; - pPlayer->ypos = 0.00000000; - pPlayer->zpos = 0.00000000; - pPlayer->xpos2 = 0.00000000; - pPlayer->ypos2 = 0.00000000; - pPlayer->zpos2 = 1.00000000; - pPlayer->xoffset = 0.00000000; - pPlayer->yoffset = 1.00000000; - pPlayer->zoffset = 0.00000000; - pPlayer->xpos3 = 0.00000000; - pPlayer->ypos3 = 0.00000000; - pPlayer->zpos3 = 0.00000000; - pPlayer->room_pointer = 0; - pPlayer->field_3C4 = 0.00000000; - pPlayer->field_3C8 = 0.00000000; - pPlayer->field_3CC = 1.00000000; - pPlayer->field_84 = 0.00000000; - pPlayer->field_88 = 0.00000000; - pPlayer->field_8C = 0; - pPlayer->field_90 = 0.00000000; - pPlayer->field_94 = 0; - pPlayer->field_98 = 0.00000000; - pPlayer->field_1274 = 0.00000000; - pPlayer->field_1278 = 0.00000000; - pPlayer->field_127C = 0.00000000; - pPlayer->crouchposition = 2; - pPlayer->field_29FC = 2; - pPlayer->ducking_height_offset = 0.00000000; - pPlayer->field_A4 = 0.00000000; - pPlayer->field_AC = 1; - pPlayer->field_D0 = 0; - pPlayer->bonddead = 0; - pPlayer->bondhealth = 1.00000000; - pPlayer->bondarmour = 0.00000000; - pPlayer->oldhealth = 1.00000000; - pPlayer->oldarmour = 0.00000000; - pPlayer->apparenthealth = 1.00000000; - pPlayer->apparentarmour = 0.00000000; - pPlayer->damageshowtime = -1; - pPlayer->healthshowtime = -1; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - pPlayer->pause_animation_state = 0; - pPlayer->paused_flag = 1; - pPlayer->open_close_solo_watch_menu = 0; - pPlayer->field_1A0 = 0; - pPlayer->bondfadefracnew = 0.00000000; - pPlayer->speedtheta = 0.00000000; - pPlayer->vv_costheta = 1.00000000; - pPlayer->vv_sintheta = 0.00000000; - pPlayer->vv_verta = -4.00000000; - *(float *)&pPlayer->vv_verta360 = pPlayer->vv_verta; - if ((float)pPlayer->vv_verta360 < 0.00000000) { - *(float *)&pPlayer->vv_verta360 = (float)pPlayer->vv_verta360 + 360.00000000; - pPlayer->speedverta = 0.00000000; - } - else { - pPlayer->speedverta = 0.00000000; - } - pPlayer->vv_cosverta = 1.00000000; - pPlayer->vv_sinverta = 0.00000000; - pPlayer->speedsideways = 0.00000000; - pPlayer->speedstrafe = 0.00000000; - pPlayer->speedforwards = 0.00000000; - pPlayer->field_2A4C = 0.00000000; - pPlayer->speedboost = 1.00000000; - pPlayer->speedmaxtime60 = 0; - pPlayer->boost_factor_x = 0.00000000; - pPlayer->boost_factor_y = 0.00000000; - pPlayer->boost_factor_z = 0.00000000; - pPlayer->field_104 = 0; - pPlayer->field_108 = 0; - pPlayer->field_10C = 0; - pPlayer->movecentrerelease = 0; - pPlayer->lookaheadcentreenabled = 1; - pPlayer->automovecentreenabled = 1; - pPlayer->fastmovecentreenabled = 0; - pPlayer->automovecentre = 1; - pPlayer->insightaimmode = 0; - pPlayer->autoyaimenabled = 1; - pPlayer->autoaimy = 0.00000000; - pPlayer->autoyaimtime = 0; - pPlayer->autoyaimtime60 = -1; - pPlayer->autoxaimenabled = 1; - pPlayer->autoaimx = 0.00000000; - pPlayer->autoxaimtime = 0; - pPlayer->autoxaimtime60 = -1; - pPlayer->tint_red = 0xff; - pPlayer->tint_green = 0xff; - pPlayer->tint_blue = 0xff; - pPlayer->tint_alpha = 0.00000000; - pPlayer->field_3E0 = -1.00000000; - pPlayer->timer_for_fade = -1.00000000; - pPlayer->field_3E8 = 0xff; - pPlayer->field_3EC = 0xff; - pPlayer->field_3F0 = 0xff; - pPlayer->field_3F4 = 0xff; - pPlayer->field_3F8 = 0xff; - pPlayer->field_3FC = 0xff; - pPlayer->field_400 = 0.00000000; - pPlayer->field_404 = 0.00000000; - pPlayer->viewport_alpha = -1.00000000; - pPlayer->bondfadetime60 = -1.00000000; - pPlayer->bondfadetimemax = 0.00000000; - pPlayer->bondfadefracold = 0.00000000; - pPlayer->field_42C = 2; - pPlayer->controlstyle = 0; - pPlayer->pause_starting_angle = 0.00000000; - pPlayer->field_208 = 0.00000000; - pPlayer->pause_target_angle = 0.00000000; - pPlayer->field_210 = 0.00000000; - pPlayer->field_214 = 0.00000000; - pPlayer->field_218 = 0; - pPlayer->step_in_view_watch_animation = 0; - pPlayer->pause_animation_counter = 0.00000000; - pPlayer->pausing_flag = 0; - pPlayer->field_3B4 = 0; - pPlayer->field_3B6 = 0; - pPlayer->field_29C0 = 15.00000000; - *(undefined2 *)&pPlayer->field_2A04 = 0xffff; - pPlayer->field_2A08 = 0.00000000; - pPlayer->field_2A0C = 0.00000000; - pPlayer->field_2A6C = 0; - pPlayer->field_2A70 = 0; - return; -} - - - -void proc_7F0798B8(void) - -{ - int iVar1; - s32 sVar2; - - *(float *)&pPlayer->field_29BC = - pPlayersPerm->player_perspective_height * 185.00000000 * 1.00000000 - 10.00000000; - pPlayer->field_29F8 = 0; - iVar1 = getMissiontime(); - pPlayer->field_29F4 = iVar1; - pPlayer->healthdisplaytime = 0; - add_item_to_inventory(ITEM_FIST); - sVar2 = get_num_players(); - if (1 < sVar2) { - draw_item_in_hand_has_more_ammo(HAND_LEFT,(ITEM_IDS)flt_8007A0A4); - draw_item_in_hand_has_more_ammo(HAND_RIGHT,(ITEM_IDS)PTR_800799e0); - if (pPlayer->ptr_char_objectinstance == 0) { - solo_char_load(); - } - } - return; -} - - - -void proc_7F079988(int param_1) - -{ - *(float *)&pPlayer->field_1274 = (float)param_1 * 75.00000000; - return; -} - - - -void change_crouch_position(int position) - -{ - pPlayer->crouchposition = pPlayer->crouchposition + position; - if (pPlayer->crouchposition < 0) { - pPlayer->crouchposition = 0; - return; - } - if (2 < pPlayer->crouchposition) { - pPlayer->crouchposition = 2; - } - return; -} - - - -int proc_7F0799F0(void) - -{ - if (pPlayer->crouchposition < pPlayer->field_29FC) { - return pPlayer->crouchposition; - } - return pPlayer->field_29FC; -} - - - -int proc_7F079A1C(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = ptr_BONDdata_p1[param_1]->crouchposition; - iVar2 = ptr_BONDdata_p1[param_1]->field_29FC; - if (iVar1 < iVar2) { - return iVar1; - } - return iVar2; -} - - - -void proc_7F079A50(int param_1) - -{ - pPlayer->unknown = param_1; - return; -} - - - -void proc_7F079A60(float *param_1,float *param_2,float *param_3,int param_4,float *param_5) - -{ - longlong lVar1; - f32 fVar2; - float in_f12; - float extraout_f12; - float in_f14; - float extraout_f14; - int iStack8; - int iStack4; - - if ((((((*param_1 != (float)pPlayer->xpos) || (param_1[1] != (float)pPlayer->ypos)) || - (param_1[2] != (float)pPlayer->zpos)) || - ((*param_2 != (float)pPlayer->xpos2 || (param_2[1] != (float)pPlayer->ypos2)))) || - ((param_2[2] != (float)pPlayer->zpos2 || - ((*param_3 != (float)pPlayer->xoffset || (param_3[1] != (float)pPlayer->yoffset)))))) || - ((param_3[2] != (float)pPlayer->zoffset || (pPlayer->room_pointer == 0)))) { - lVar1 = (longlong)(int)param_5; - iStack4 = param_4; - proc_7F0B0BE4(&iStack4,in_f12,in_f14,*param_5,param_5[2]); - if (lVar1 == 0) { - lVar1 = (longlong)(int)pPlayer; - if (pPlayer->room_pointer == 0) { - pPlayer->room_pointer = iStack4; - } - else { - iStack8 = pPlayer->room_pointer; - proc_7F0B0BE4(&iStack8,extraout_f12,extraout_f14,(float)pPlayer->xpos, - (float)pPlayer->zpos); - if (lVar1 == 0) { - pPlayer->room_pointer = iStack4; - } - else { - pPlayer->room_pointer = iStack8; - } - } - } - else { - proc_7F0B0518(iStack4,extraout_f12,extraout_f14); - pPlayer->room_pointer = iStack4; - } - *(float *)&pPlayer->xpos = *param_1; - *(float *)&pPlayer->ypos = param_1[1]; - *(float *)&pPlayer->zpos = param_1[2]; - *(float *)&pPlayer->xpos2 = *param_2; - *(float *)&pPlayer->ypos2 = param_2[1]; - *(float *)&pPlayer->zpos2 = param_2[2]; - *(float *)&pPlayer->xoffset = *param_3; - *(float *)&pPlayer->yoffset = param_3[1]; - *(float *)&pPlayer->zoffset = param_3[2]; - pPlayer->xpos3 = pPlayer->xpos; - pPlayer->zpos3 = pPlayer->zpos; - fVar2 = (f32)proc_7F0B2970(); - pPlayer->ypos3 = fVar2; - } - return; -} - - - -void solo_char_load(void) - -{ - PitemZ_header *pPVar1; - s32 sVar2; - u8 selectedbond; - u32 player; - HEADS HVar6; - BODIES BVar7; - int iVar3; - uint uVar4; - s32 sVar5; - int iVar8; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - object_header *header; - dword *pdVar9; - dword *pdVar10; - dword *pdVar11; - dword *pdVar12; - float extraout_f12; - f32 scale; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float fVar13; - float extraout_f12_03; - uint uStack224; - int iStack216; - int iStack212; - undefined *puStack208; - dword adStack196 [34]; - undefined4 *puStack60; - int iStack56; - int iStack52; - uint uStack48; - int iStack44; - int iStack40; - object_header *poStack36; - object_header *poStack32; - object_header *poStack28; - int aiStack24 [4]; - undefined2 *puStack8; - float fStack4; - - fStack4 = get_curplay_horizontal_rotation_in_degrees(); - iVar3 = *(int *)(pPlayer->position_data_pointer + 4); - if (iVar3 == 0) { - iStack40 = getPlayerWeaponBufferForHand(HAND_RIGHT); - iStack44 = getPlayerWeaponBufferForHand(HAND_LEFT); - uStack48 = 0; - iStack52 = getSizeBufferWeaponInHand(HAND_RIGHT); - iStack56 = getSizeBufferWeaponInHand(HAND_LEFT); - pdVar11 = dummy_08_pp7_obj; - pdVar9 = adStack196; - do { - pdVar12 = pdVar11 + 3; - pdVar10 = pdVar9 + 3; - *pdVar9 = *pdVar11; - pdVar9[1] = pdVar11[1]; - pdVar9[2] = pdVar11[2]; - pdVar11 = pdVar12; - pdVar9 = pdVar10; - } while (pdVar12 != &dword_80036630); - *pdVar10 = dword_80036630; - puStack208 = (undefined *)return_ammo_in_hand(HAND_RIGHT); - iStack212 = 0x17; - iStack216 = 0x4b; - uStack224 = 0; - proc_7F07DE64((int)pPlayer); - sVar2 = get_num_players(); - if (sVar2 == 1) { - selectedbond = getSelectedFolderBond(); - if (true) { - switch(pPlayer->cuff_value) { - case CUFF_TUX: - iStack212 = 5; - break; - case CUFF_JUNGLE: - iStack212 = 0x18; - break; - case CUFF_BOILER: - iStack212 = 0x16; - break; - case CUFF_SNOW: - iStack212 = 0x19; - break; - case CUFF_WHITE: - iStack212 = 5; - break; - case CUFF_TUX6: - iStack212 = 5; - break; - case CUFF_TUX7: - iStack212 = 5; - break; - case CUFF_TUX8: - if (selectedbond == '\0') { - iStack212 = 5; - } - else { - if (selectedbond == '\x01') { - iStack212 = 5; - } - else { - if (selectedbond == '\x02') { - iStack212 = 5; - } - else { - if (selectedbond == '\x03') { - iStack212 = 5; - } - } - } - } - } - } - if (selectedbond == '\0') { - if (true) { - switch(pPlayer->cuff_value) { - case CUFF_TUX: - iStack216 = 0x4e; - break; - case CUFF_JUNGLE: - iStack216 = 0x4c; - break; - case CUFF_BOILER: - iStack216 = 0x4a; - break; - case CUFF_WHITE: - iStack216 = 0x4e; - break; - case CUFF_TUX6: - iStack216 = 0x4e; - break; - case CUFF_TUX7: - iStack216 = 0x4e; - break; - case CUFF_TUX8: - iStack216 = 0x4e; - } - } - } - else { - if (selectedbond == '\x01') { - iStack216 = 0x4e; - } - else { - if (selectedbond == '\x02') { - iStack216 = 0x4e; - } - else { - if (selectedbond == '\x03') { - iStack216 = 0x4e; - } - } - } - } - } - else { - player = get_cur_playernum(); - HVar6 = get_player_mp_char_head(player); - iStack216 = (int)(short)HVar6; - player = get_cur_playernum(); - BVar7 = get_player_mp_char_body(player); - iStack212 = (int)(short)BVar7; - } - if (cameramode == SWIRL_CAM) { - puStack208 = PTR_800799e0; - } - sVar2 = get_num_players(); - if (sVar2 == 1) { - remove_item_in_hand(HAND_LEFT); - remove_item_in_hand(HAND_RIGHT); - proc_7F0CBAF4(aiStack24,iStack44,iStack56); - poStack28 = (object_header *)get_ptr_itemheader_in_hand(HAND_RIGHT); - header = c_item_entries[iStack212].header; - poStack28->offset_obj_table = header->offset_obj_table; - poStack28->ptr_archetype = header->ptr_archetype; - poStack28->offset_obj_offset_block = header->offset_obj_offset_block; - *(undefined4 *)&poStack28->num_offset_entries = - *(undefined4 *)&header->num_offset_entries; - poStack28->anonymous_4 = header->anonymous_4; - *(undefined4 *)&poStack28->num_table_entries = *(undefined4 *)&header->num_table_entries - ; - poStack28->offset_img_declaration = header->offset_img_declaration; - poStack28->is_loaded_in_mem = header->is_loaded_in_mem; - load_object_fill_header - (poStack28,(u8 *)c_item_entries[iStack212].filename,iStack40,iStack52, - (int)aiStack24); - iVar3 = get_pc_buffer_remaining_value((byte *)c_item_entries[iStack212].filename); - header = c_item_entries[iStack216].header; - uVar4 = (iVar3 + 0x3fU | 0x3f) ^ 0x3f; - poStack32 = (object_header *)(iStack40 + uVar4); - uStack48 = (uVar4 + 0x5f | 0x3f) ^ 0x3f; - poStack32->offset_obj_table = header->offset_obj_table; - poStack32->ptr_archetype = header->ptr_archetype; - poStack32->offset_obj_offset_block = header->offset_obj_offset_block; - *(undefined4 *)&poStack32->num_offset_entries = - *(undefined4 *)&header->num_offset_entries; - poStack32->anonymous_4 = header->anonymous_4; - *(undefined4 *)&poStack32->num_table_entries = *(undefined4 *)&header->num_table_entries - ; - poStack32->offset_img_declaration = header->offset_img_declaration; - poStack32->is_loaded_in_mem = header->is_loaded_in_mem; - load_object_fill_header - (poStack32,(u8 *)c_item_entries[iStack216].filename,iStack40 + uStack48, - iStack52 - uStack48,(int)aiStack24); - iVar3 = get_pc_buffer_remaining_value((byte *)c_item_entries[iStack216].filename); - uStack224 = (iVar3 + uStack48 + 0x3f | 0x3f) ^ 0x3f; - uStack48 = (uStack224 + 0xfb | 0x3f) ^ 0x3f; - uStack224 = iStack40 + uStack224; - set_objuse_flag_compute_grp_nums_set_obj_loaded(poStack28); - set_objuse_flag_compute_grp_nums_set_obj_loaded(poStack32); - iVar3 = (int)poStack28->num_table_entries + (int)poStack32->num_table_entries + 10; - iVar8 = iStack40 + uStack48; - uStack48 = (iVar3 * 4 + uStack48 + 0x3f | 0x3f) ^ 0x3f; - proc_7F075FAC(uStack224,(ushort **)poStack28,iVar8); - *(undefined2 *)(uStack224 + 2) = (short)iVar3; - header = poStack32; - } - else { - poStack28 = c_item_entries[iStack212].header; - if (poStack28->offset_obj_table == 0) { - load_object_into_memory(poStack28,(u8 *)c_item_entries[iStack212].filename); - } - header = c_item_entries[iStack216].header; - if (header->offset_obj_table == 0) { - poStack32 = header; - load_object_into_memory(header,(u8 *)c_item_entries[iStack216].filename); - header = poStack32; - } - else { - uStack224 = 0; - } - } - uVar4 = maybe_load_models_for_guards(iStack212,iStack216,poStack28,header,0,uStack224); - pPlayer->ptr_char_objectinstance = uVar4; - set_obj_instance_controller_scale(pPlayer->ptr_char_objectinstance,scale); - init_GUARDdata_with_set_values - (pPlayer->position_data_pointer,pPlayer->ptr_char_objectinstance, - pPlayer->position_data_pointer + 8,(u32)fStack4); - *(undefined *)pPlayer->position_data_pointer = 6; - puStack8 = *(undefined2 **)(pPlayer->position_data_pointer + 4); - *(uint *)(puStack8 + 10) = *(uint *)(puStack8 + 10) | 1; - setsuboffset(pPlayer->ptr_char_objectinstance, - (xyzpoint *)(pPlayer->position_data_pointer + 8)); - setsubroty(pPlayer->ptr_char_objectinstance,extraout_f12_00,fStack4,extraout_a2_lo); - sVar2 = proc_7F09B244((ITEM_IDS)puStack208); - fVar13 = extraout_f12_01; - if (-1 < sVar2) { - sVar5 = get_num_players(); - if (sVar5 == 1) { - puStack60 = (undefined4 *)(iStack40 + uStack48); - uStack48 = (uStack48 + 199 | 0x3f) ^ 0x3f; - poStack36 = (object_header *)get_ptr_itemheader_in_hand(HAND_LEFT); - pPVar1 = PitemZ_entries[sVar2].header; - poStack36->offset_obj_table = pPVar1->microcode_entry_num; - poStack36->ptr_archetype = (object_standard *)pPVar1->anonymous_1; - poStack36->offset_obj_offset_block = *(int *)&pPVar1->anonymous_2; - *(float *)&poStack36->num_offset_entries = pPVar1->drawdistance; - poStack36->anonymous_4 = pPVar1->anonymous_4; - *(int *)&poStack36->num_table_entries = pPVar1->anonymous_5; - poStack36->offset_img_declaration = pPVar1->anonymous_6; - poStack36->is_loaded_in_mem = pPVar1->anonymous_7; - load_object_fill_header - (poStack36,(u8 *)PitemZ_entries[sVar2].filename,iStack40 + uStack48, - iStack52 - uStack48,(int)aiStack24); - get_pc_buffer_remaining_value((byte *)PitemZ_entries[sVar2].filename); - set_objuse_flag_compute_grp_nums_set_obj_loaded(poStack36); - } - else { - puStack60 = NULL; - poStack36 = NULL; - } - create_held_weapon(puStack8,sVar2,(char)puStack208,0,puStack60,(ushort **)poStack36); - fVar13 = extraout_f12_02; - } - proc_7F023A94((int)puStack8,fVar13); - } - else { - if (*(int *)(*(int *)(iVar3 + 0x1c) + 0x20) == 0) { - *(uint *)(iVar3 + 0x14) = *(uint *)(iVar3 + 0x14) | 1; - proc_7F023A94(iVar3,extraout_f12); - setsuboffset(pPlayer->ptr_char_objectinstance, - (xyzpoint *)(pPlayer->position_data_pointer + 8)); - setsubroty(pPlayer->ptr_char_objectinstance,extraout_f12_03,fStack4,extraout_a2_lo_00); - } - } - return; -} - - - -void maybe_solo_intro_camera_handler(void) - -{ - s32 sVar1; - - if ((*(int *)(pPlayer->position_data_pointer + 4) != 0) && - (sVar1 = get_num_players(), sVar1 == 1)) { - disable_sounds_attached_to_player_then_something(pPlayer->position_data_pointer); - *(undefined4 *)(pPlayer->position_data_pointer + 4) = 0; - pPlayer->ptr_char_objectinstance = 0; - camera_80036424 = 1; - proc_7F07DE9C((int)pPlayer); - } - return; -} - - - -CAMERAMODE get_camera_mode(void) - -{ - return cameramode; -} - - - -longlong proc_7F07A534(undefined4 param_1,float *param_2,char *param_3,float *param_4,u32 param_5, - float param_6) - -{ - u32 uVar2; - int iVar3; - longlong lVar1; - longlong lVar4; - int iVar5; - float fVar6; - float fVar7; - f32 extraout_f12; - f32 extraout_f12_00; - f32 extraout_f14; - f32 extraout_f14_00; - float fVar8; - float fVar9; - float fVar10; - float in_stack_00000014; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - undefined4 uStack32; - float fStack28; - u32 uStack24; - float fStack20; - float fStack16; - int iStack8; - - lVar4 = 0; - iStack8 = 0; - fVar9 = flt_80055030; - cur_player_stat_ptr = param_1; - do { - fVar10 = (float)pPlayer->collision_radius; - iVar5 = 0; - fStack16 = flt_80055034 + fVar10; - uVar2 = get_random_value(); - fVar7 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar9 = fVar7 * 0.00000000 * fVar9; - do { - if (lVar4 != 0) break; - fStack20 = fVar9 + flt_8005503C; - if (flt_80055038 <= fStack20) { - fStack20 = fStack20 - flt_80055038; - } - fStack36 = sinf(fStack20); - uStack32 = 0; - fStack28 = cosf(fStack20); - fStack48 = fStack36 * fStack16 + *param_2; - fStack44 = param_2[1]; - fStack40 = fStack28 * fStack16 + param_2[2]; - proc_7F0B1CC4(); - uStack24 = param_5; - proc_7F03D058(param_3,0); - iVar3 = proc_7F0B0E24(&uStack24,extraout_f12,extraout_f14,(f32)*param_4); - proc_7F03D058(param_3,1); - if (iVar3 == 0) { - proc_7F026298(param_4,&fStack36,&fStack48); - fStack16 = sqrtf((fStack48 - *param_4) * (fStack48 - *param_4) + - (fStack40 - param_4[2]) * (fStack40 - param_4[2])); - } - fStack16 = fStack16 - fVar10; - if (((in_stack_00000014 <= fStack16) && (fVar9 = 1.00000000, true)) && (true)) { - fVar7 = fStack16 - in_stack_00000014; - do { - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar6 = fVar6 * 0.00000000 * fVar7 * fVar9 + in_stack_00000014; - PTR_800799e8 = (undefined *)(fStack36 * fVar6 + *param_2); - DAT_800799ec = param_2[1]; - uStack24 = param_5; - ptr_BONDdata = fStack28 * fVar6 + param_2[2]; - proc_7F03D058(param_3,0); - iVar3 = proc_7F0B0E24(&uStack24,extraout_f12_00,extraout_f14_00,(f32)*param_4); - proc_7F03D058(param_3,1); - if ((iVar3 != 0) && (lVar1 = proc_7F0B18B8(), lVar1 < 0)) { - fVar6 = (float)proc_7F0B2970(); - uVar2 = get_random_value(); - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - DAT_800799ec = fVar8 * 0.00000000 * (185.00000000 - fVar10) + fVar6 + fVar10 - ; - if ((-1000.00000000 < DAT_800799ec - param_2[1]) && - (DAT_800799ec - param_2[1] < 1000.00000000)) { - lVar4 = 1; - } - } - fVar9 = fVar9 - 0.25000000; - } while ((0.00000000 < fVar9) && (lVar4 == 0)); - } - iVar5 += 1; - fVar9 = fStack20; - } while (iVar5 < 0x10); - iStack8 += 1; - if ((0x80 < iStack8) || (fVar9 = flt_80055040, lVar4 != 0)) { - return lVar4; - } - } while( true ); -} - - - -void set_camera_mode(CAMERAMODE param_1) - -{ - u32 uVar2; - int iVar3; - undefined4 uVar4; - undefined uVar6; - longlong lVar1; - s32 sVar5; - undefined8 extraout_a0; - undefined8 extraout_a1; - undefined4 extraout_a2_lo; - char *pcVar7; - Player *pPVar8; - PLAYER_ID playernum; - Player *pPVar9; - Player *pPVar10; - Player *pPVar11; - float fVar12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f14; - float extraout_f14_00; - float fStack64; - int iStack60; - int iStack56; - float fStack48; - f32 fStack44; - f32 fStack40; - char *pcStack36; - float fStack16; - - enable_move_after_cinema = 0; - cameramode = param_1; - if (param_1 == INTRO_CAM) { - if (((ptr_random06cam_entry == NULL) || (uVar2 = get_recording_ramrom_flag(), uVar2 != 0)) - || (iVar3 = get_is_ramrom_flag(), iVar3 != 0)) { - set_camera_mode(SWIRL_CAM); - } - else { - dword_800364A4 = 0; - proc_7F0807B0(0,0,0,0x3f800000); - fade_to_over_seconds(60.00000000,0.00000000); - iVar3 = get_stage_num(); - load_enviroment(iVar3,1); - pPlayer->room_pointer = 0; - } - } - else { - if (param_1 == FADESWIRL_CAM) { - proc_7F0807B0(0,0,0,0); - fade_to_over_seconds(60.00000000,1.00000000); - } - else { - if (param_1 == MP_CAM) { - DAT_80079e04 = 0; - DAT_80079e08 = 0xc2b40000; - DAT_80079e0c = 0; - DAT_80079e10 = 0x42a00000; - iVar3 = get_stage_num(); - load_enviroment(iVar3,0); - } - else { - if (param_1 == SWIRL_CAM) { - dword_8003649C = 0; - proc_7F0807B0(0,0,0,0x3f800000); - fade_to_over_seconds(60.00000000,0.00000000); - iVar3 = get_stage_num(); - load_enviroment(iVar3,0); - if (((ptr_firstcommand_rotatingcam == NULL) || - (uVar2 = get_recording_ramrom_flag(), uVar2 != 0)) || - (iVar3 = get_is_ramrom_flag(), iVar3 != 0)) { - set_camera_mode(FP_CAM); - } - else { - dword_800364A4 = 0; - dword_800364A8 = 1; - set_curplayer_fade(0.00000000,1.00000000); - solo_char_load(); - fStack16 = stage_intro_anim_table[selected_stage_intro_anim].anonymous_2; - proc_7F06FCA8(pPlayer->ptr_char_objectinstance, - stage_intro_anim_table[selected_stage_intro_anim].anonymous_0 - + ptr_animation_table,0,fStack16, - stage_intro_anim_table[selected_stage_intro_anim].anonymous_1, - extraout_f14); - if (0.00000000 < fStack16) { - proc_7F06FDE8(pPlayer->ptr_char_objectinstance,fStack16); - } - iVar3 = *(int *)(pPlayer->position_data_pointer + 4); - *(undefined *)(iVar3 + 7) = 0x17; - *(undefined *)(iVar3 + 8) = 0; - pPlayer->room_pointer = 0; - } - } - else { - if (param_1 == FP_CAM) { - iVar3 = get_stage_num(); - if (iVar3 == 0x36) { - proc_7F0807B0(0,0,0,0x3f800000); - fade_to_over_seconds(0.00000000,1.00000000); - } - else { - if (dword_8003649C != 0) { - proc_7F0807B0(0,0,0,0x3f800000); - fade_to_over_seconds(60.00000000,0.00000000); - } - } - sVar5 = get_num_players(); - if (1 < sVar5) { - iVar3 = get_stage_num(); - load_enviroment(iVar3,0); - } - if (pPlayer->pause_animation_state == 0) { - draw_item_in_hand_has_more_ammo(HAND_LEFT,(ITEM_IDS)flt_8007A0A4); - draw_item_in_hand_has_more_ammo(HAND_RIGHT,(ITEM_IDS)PTR_800799e0); - } - stop_time_flag = 0; - } - else { - if (param_1 == UNK5_CAM) { - dword_800364A4 = 0; - dword_800364A8 = 1; - proc_7F0807B0(0,0,0,0x3f800000); - fade_to_over_seconds(60.00000000,0.00000000); - if ((dword_8003648C == 0) || - (fVar12 = extraout_f12, ptr_playerstank == NULL)) { - in_tank_flag = FALSE; - pPVar8 = (Player *)&pPlayer->current_room_ypos; - pPVar11 = pPlayer; - pPVar9 = pPlayer; - do { - pPVar10 = (Player *)&pPVar9->zpos; - pPVar11->ptr_tile_printmanpos = pPVar9->field_434; - *(int *)&pPVar11->positionx = pPVar9->field_438; - pPVar11->positiony = pPVar9->field_43C; - pPVar11 = (Player *)&pPVar11->zpos; - pPVar9 = pPVar10; - } while (pPVar10 != pPVar8); - *(int *)&pPlayer->vv_theta = pPlayer->field_414; - *(int *)&pPlayer->vv_verta = pPlayer->field_418; - *(f32 *)(pPlayer->position_data_pointer + 8) = pPlayer->positionx; - *(int *)(pPlayer->position_data_pointer + 0xc) = pPlayer->positiony; - *(int *)(pPlayer->position_data_pointer + 0x10) = pPlayer->positionz - ; - *(int *)(pPlayer->position_data_pointer + 0x14) = - pPlayer->ptr_tile_printmanpos; - proc_7F081790(); - proc_7F080B34(0.00000000,0.00000000,extraout_a0,extraout_a1, - 0.00000000); - proc_7F081478(); - set_curplayer_fade(0.00000000,1.00000000); - solo_char_load(); - uVar4 = proc_7F06F5AC((int)&pPlayer->field_598); - uVar6 = proc_7F06F5B4((int)&pPlayer->field_598); - proc_7F06FCA8(pPlayer->ptr_char_objectinstance,uVar4,uVar6, - extraout_f12_00,0,extraout_f14_00); - iVar3 = *(int *)(pPlayer->position_data_pointer + 4); - *(undefined *)(iVar3 + 7) = 0x18; - *(undefined *)(iVar3 + 8) = 0; - *(uint *)(iVar3 + 0x14) = *(uint *)(iVar3 + 0x14) | 1; - setsuboffset(pPlayer->ptr_char_objectinstance, - (xyzpoint *)(pPlayer->position_data_pointer + 8)); - fVar12 = get_curplay_horizontal_rotation_in_degrees(); - setsubroty(pPlayer->ptr_char_objectinstance,extraout_f12_01,fVar12, - extraout_a2_lo); - fVar12 = extraout_f12_02; - } - if ((dword_8003648C == 0) || (ptr_playerstank == NULL)) { - pcStack36 = (char *)pPlayer->position_data_pointer; - fStack48 = pPlayer->field_3C4; - fStack44 = pPlayer->field_3C8; - fStack40 = pPlayer->field_3CC; - fStack64 = pPlayer->positionx; - iStack60 = pPlayer->positiony; - iStack56 = pPlayer->positionz; - iVar3 = pPlayer->ptr_tile_printmanpos; - pcVar7 = (char *)pPlayer->position_data_pointer; - } - else { - pcStack36 = ptr_playerstank; - fStack48 = *(f32 *)(ptr_playerstank + 8); - fStack44 = *(f32 *)(ptr_playerstank + 0xc); - fStack40 = *(f32 *)(ptr_playerstank + 0x10); - fStack64 = *(f32 *)(ptr_playerstank + 8); - iStack60 = *(int *)(ptr_playerstank + 0xc); - iStack56 = *(int *)(ptr_playerstank + 0x10); - iVar3 = *(int *)(ptr_playerstank + 0x14); - pcVar7 = ptr_playerstank; - } - lVar1 = proc_7F07A534(pcStack36,&fStack48,pcVar7,&fStack64,iVar3,fVar12) - ; - if (lVar1 == 0) { - run_title_stage(); - } - else { - if (dword_80036510 == 0) { - musicTrack1Play(M_INTROSWOOSH); - music_related_39(0.50000000); - } - if ((dword_8003648C != 0) && (ptr_playerstank != NULL)) { - uVar2 = get_cur_playernum(); - proc_7F09C250((int)ptr_playerstank, - (float *)(ptr_playerstank + 8), - *(int *)(ptr_playerstank + 0x14),0xd,0,(char)uVar2 - ,ptr_playerstank + 0x2c,0); - } - } - } - else { - if (param_1 == UNK6_CAM) { - proc_7F0807B0(0,0,0,0); - fade_to_over_seconds(60.00000000,1.00000000); - } - else { - if (param_1 == POSEND_CAM) { - solo_char_load(); - pPlayer->room_pointer = 0; - } - else { - if (param_1 == FP_NOINPUT_CAM) { - maybe_solo_intro_camera_handler(); - cameramode = FP_CAM; - } - else { - if (param_1 == UNK10_CAM) { - playernum = PLAYER1; - sVar5 = get_num_players(); - if (0 < sVar5) { - do { - set_cur_player(playernum); - proc_7F0807B0(0,0,0,0); - fade_to_over_seconds(60.00000000,1.00000000); - playernum += PLAYER2; - sVar5 = get_num_players(); - } while ((int)playernum < sVar5); - } - set_cur_player(PLAYER1); - } - } - } - } - } - } - } - } - } - } - return; -} - - - -void proc_7F07B1A4(void) - -{ - CAMERAMODE CVar1; - - CVar1 = cameramode; - cameramode = 0; - enable_move_after_cinema = 0; - if (CVar1 == INTRO_CAM) { - set_camera_mode(FADESWIRL_CAM); - } - else { - if (CVar1 == FADESWIRL_CAM) { - reset_intro_camera_message_dialogs_for_BONDdata(); - set_camera_mode(SWIRL_CAM); - } - else { - if (CVar1 != MP_CAM) { - if (CVar1 == SWIRL_CAM) { - maybe_solo_intro_camera_handler(); - set_curplayer_fade(0.00000000,1.00000000); - set_camera_mode(FP_CAM); - } - else { - if (CVar1 != FP_CAM) { - if (CVar1 == UNK5_CAM) { - set_camera_mode(UNK6_CAM); - } - else { - if ((CVar1 == UNK6_CAM) && (dword_80036510 += 1, dword_80036510 < 3)) { - set_camera_mode(UNK5_CAM); - } - } - } - } - } - } - } - return; -} - - - -void proc_7F07B2A0(int param_1,float param_2,float *param_3,float *param_4) - -{ - undefined *puVar1; - undefined *puVar2; - undefined *puVar3; - undefined *puVar4; - int iVar5; - f32 *in_a3_lo; - undefined *puVar6; - uint uVar7; - float in_f14; - undefined auStack60 [4]; - float *local_38; - float local_30 [3]; - float afStack36 [3]; - float afStack24 [3]; - float afStack12 [3]; - - local_38 = NULL; - puVar4 = auStack60; - iVar5 = -1; - puVar6 = ptr_firstcommand_rotatingcam + param_1 * 0x20; - if (0.00000000 < *(float *)(ptr_firstcommand_rotatingcam + param_1 * 0x20 + 0x18)) { - local_38 = (float *)((float)param_3 / - *(float *)(ptr_firstcommand_rotatingcam + param_1 * 0x20 + 0x18)); - } - do { - puVar3 = puVar6 + iVar5 * 0x20; - if (iVar5 < 0) { - puVar1 = puVar3; - if (puVar3 < ptr_firstcommand_rotatingcam) { - puVar1 = ptr_firstcommand_rotatingcam; - } -LAB_7f07b354: - uVar7 = *(uint *)(puVar1 + 4); - puVar2 = puVar1; - } - else { - puVar2 = puVar6; - if (puVar6 < puVar3) { - uVar7 = *(uint *)(puVar6 + 0x24); - while ((uVar7 & 1) == 0) { - puVar1 = puVar2 + 0x20; - if (puVar3 <= puVar1) goto LAB_7f07b354; - uVar7 = *(uint *)(puVar2 + 0x44); - puVar2 = puVar1; - } - uVar7 = *(uint *)(puVar2 + 4); - } - else { - uVar7 = *(uint *)(puVar6 + 4); - } - } - iVar5 += 1; - if ((uVar7 & 2) == 0) { - *(undefined4 *)(puVar4 + 0xc) = *(undefined4 *)(puVar2 + 8); - *(undefined4 *)(puVar4 + 0x10) = *(undefined4 *)(puVar2 + 0xc); - *(undefined4 *)(puVar4 + 0x14) = *(undefined4 *)(puVar2 + 0x10); - } - else { - *(float *)(puVar4 + 0xc) = - (float)pPlayer->field_4A0 * *(float *)(puVar2 + 8) + - *(float *)(puVar2 + 0x10) * (float)pPlayer->field_498; - *(undefined4 *)(puVar4 + 0x10) = *(undefined4 *)(puVar2 + 0xc); - *(float *)(puVar4 + 0x14) = - *(float *)(puVar2 + 0x10) * (float)pPlayer->field_4A0 - - (float)pPlayer->field_498 * *(float *)(puVar2 + 8); - } - puVar4 = puVar4 + 0xc; - if (iVar5 == 3) { - proc_7F05B024(local_30,afStack36,afStack24,afStack12,(float)param_3,in_f14,local_38); - *param_4 = *param_4 + (float)pPlayer->field_3C4; - param_4[1] = param_4[1] + (float)pPlayer->field_3C8; - param_4[2] = param_4[2] + (float)pPlayer->field_3CC; - *in_a3_lo = pPlayer->field_3C4; - in_a3_lo[1] = pPlayer->field_3C8; - in_a3_lo[2] = pPlayer->field_3CC; - puVar4 = ptr_firstcommand_rotatingcam + param_1 * 0x20; - if ((*(uint *)(puVar4 + 4) & 4) == 0) { - if ((*(uint *)(puVar4 + 0x24) & 4) == 0) { - local_38 = (float *)0x3f800000; - } - else { - local_38 = (float *)(1.00000000 - (float)local_38); - } - } - else { - if ((*(uint *)(puVar4 + 0x24) & 4) != 0) { - local_38 = NULL; - } - } - *(float *)in_a3_lo = - (float)*in_a3_lo + (float)pPlayer->field_4C0 * 40.00000000 * (float)local_38; - *(float *)(in_a3_lo + 1) = - (float)in_a3_lo[1] + (float)pPlayer->field_4C4 * 40.00000000 * (float)local_38; - *(float *)(in_a3_lo + 2) = - (float)in_a3_lo[2] + (float)pPlayer->field_4C8 * 40.00000000 * (float)local_38; - return; - } - } while( true ); -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F07B56C(void) - -{ - int iVar2; - u32 uVar3; - undefined *puVar4; - ulonglong uVar1; - f32 *pfVar5; - undefined4 in_a0_lo; - undefined4 in_a1_lo; - float *in_a2_lo; - f32 *in_a3_lo; - uint uVar6; - float in_f0; - float fVar7; - float __x; - float *pfVar8; - float *pfVar9; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - ushort uStackX2; - ushort uStackX6; - f32 *in_stack_00000014; - f32 *in_stack_00000018; - - uStackX6 = (ushort)in_a1_lo; - uStackX2 = (ushort)in_a0_lo; - if ((cameramode == INTRO_CAM) || (cameramode == FADESWIRL_CAM)) { - if (cameramode == INTRO_CAM) { - if (((float)dword_800364A4 < 120.00000000) && - (120.00000000 <= (float)dword_800364A4 + global_timer_delta)) { - proc_7F08A3B4(ptrSecondFontTableLarge,ptrFirstFontTableLarge); - display_string_in_lower_left_corner(*(char **)(ptr_random06cam_entry + 0x1c)); - } - pfVar9 = (float *)((float)dword_800364A4 + global_timer_delta); - if (*(char **)(ptr_random06cam_entry + 0x20) == NULL) { - if (300.00000000 < (float)dword_800364A4) { - enable_move_after_cinema = 1; - } - } - else { - if (((float)dword_800364A4 < 300.00000000) && (300.00000000 <= (float)pfVar9)) { - display_string_in_lower_left_corner(*(char **)(ptr_random06cam_entry + 0x20)); - pfVar9 = (float *)((float)dword_800364A4 + global_timer_delta); - } - if (480.00000000 < (float)dword_800364A4) { - enable_move_after_cinema = 1; - } - } - dword_800364A4 = pfVar9; - iVar2 = get_controls_locked_flag(); - if ((iVar2 == 0) && ((uStackX2 & ~uStackX6 & 0xf030) != 0)) { - enable_move_after_cinema = 1; - } - } - else { - if (pPlayer->timer_for_fade < 0.00000000) { - enable_move_after_cinema = 1; - } - } - *in_a2_lo = *(float *)(ptr_random06cam_entry + 4); - in_a2_lo[1] = *(float *)(ptr_random06cam_entry + 8); - in_a2_lo[2] = *(float *)(ptr_random06cam_entry + 0xc); - fVar7 = cosf(*(float *)(ptr_random06cam_entry + 0x14)); - __x = sinf(*(float *)(ptr_random06cam_entry + 0x10)); - *(float *)in_a3_lo = __x * fVar7 + *in_a2_lo; - fVar7 = sinf(*(float *)(ptr_random06cam_entry + 0x14)); - *(float *)(in_a3_lo + 1) = fVar7 + in_a2_lo[1]; - fVar7 = cosf(*(float *)(ptr_random06cam_entry + 0x14)); - __x = cosf(*(float *)(ptr_random06cam_entry + 0x10)); - *(float *)(in_a3_lo + 2) = in_a2_lo[2] - __x * fVar7; - pfVar5 = (f32 *)(ptr_0xxxpresets + *(int *)(ptr_random06cam_entry + 0x18) * 0x2c); - *in_stack_00000014 = pfVar5[10]; - *in_stack_00000018 = *pfVar5; - in_stack_00000018[1] = pfVar5[1]; - in_stack_00000018[2] = pfVar5[2]; - } - else { - if (cameramode == MP_CAM) { - uVar3 = get_cur_playernum(); - iVar2 = proc_7F09B4D8(uVar3); - if ((iVar2 == 0) && (iVar2 = 0, 0 < clock_timer)) { - do { - iVar2 += 1; - if (DAT_80079e08 < flt_80055044) { - if (DAT_80079e08 < -20.00000000) { - DAT_80079e04 = DAT_80079e04 + flt_80055048; - } - if (110.00000000 < DAT_80079e08) { - DAT_80079e04 = DAT_80079e04 - flt_80055048; - } - DAT_80079e08 = DAT_80079e08 + DAT_80079e04; - } - else { - DAT_80079e08 = 180.00000000; - } - if (80.00000000 < DAT_80079e08) { - if (60.00000000 < DAT_80079e10) { - DAT_80079e0c = DAT_80079e0c - flt_80055048; - } - else { - DAT_80079e0c = DAT_80079e0c + flt_8005504C; - } - DAT_80079e10 = DAT_80079e10 + DAT_80079e0c; - if (DAT_80079e10 < 1.00000000) { - DAT_80079e10 = 1.00000000; - } - } - } while (iVar2 < clock_timer); - } - __x = ((DAT_80079e08 - pPlayer->vv_theta) * flt_80055050) / 180.00000000; - fVar7 = sinf(__x); - *in_a2_lo = fVar7 * DAT_80079e10 + (float)pPlayer->field_4B4; - in_a2_lo[1] = (float)pPlayer->field_4B8 + DAT_80079e10 * flt_80055054; - fVar7 = cosf(__x); - in_a2_lo[2] = fVar7 * DAT_80079e10 + (float)pPlayer->field_4BC; - *(int *)in_a3_lo = pPlayer->field_4B4; - *(int *)(in_a3_lo + 1) = pPlayer->field_4B8; - *(int *)(in_a3_lo + 2) = pPlayer->field_4BC; - *in_stack_00000014 = *(f32 *)(pPlayer->position_data_pointer + 0x14); - *(int *)in_stack_00000018 = pPlayer->field_4B4; - *(float *)(in_stack_00000018 + 1) = - (float)pPlayer->field_4B8 + DAT_80079e10 * flt_80055058; - *(int *)(in_stack_00000018 + 2) = pPlayer->field_4BC; - if (DAT_80079e10 < 5.00000000) { - enable_move_after_cinema = 1; - } - } - else { - if (cameramode == SWIRL_CAM) { - dword_800364A4 = (float *)((float)dword_800364A4 + global_timer_delta); - puVar4 = ptr_firstcommand_rotatingcam + dword_800364A8 * 0x20; - pfVar8 = *(float **)(puVar4 + 0x18); - pfVar9 = pfVar8; - if ((float)pfVar8 <= (float)dword_800364A4) { - uVar6 = *(uint *)(puVar4 + 100); - while ((uVar6 & 1) == 0) { - dword_800364A4 = (float *)((float)dword_800364A4 - (float)pfVar8); - dword_800364A8 += 1; - puVar4 = ptr_firstcommand_rotatingcam + dword_800364A8 * 0x20; - pfVar8 = *(float **)(puVar4 + 0x18); - pfVar9 = pfVar8; - if ((float)dword_800364A4 < (float)pfVar8) goto LAB_7f07bbe4; - uVar6 = *(uint *)(puVar4 + 100); - } - enable_move_after_cinema = 1; - pfVar9 = *(float **)(puVar4 + 0x18); - dword_800364A4 = pfVar8; - } -LAB_7f07bbe4: - puVar4 = ptr_firstcommand_rotatingcam + (dword_800364A8 + 1) * 0x20; - uVar6 = *(uint *)(puVar4 + 0x44); - fVar7 = ((float)pfVar9 - (float)dword_800364A4) + 0.00000000; - while ((uVar6 & 1) == 0) { - uVar6 = *(uint *)(puVar4 + 100); - pfVar9 = (float *)(puVar4 + 0x18); - puVar4 = puVar4 + 0x20; - fVar7 = fVar7 + *pfVar9; - } - __x = 30.00000000; - if ((fVar7 < 30.00000000) && - (__x = 30.00000000, 30.00000000 <= fVar7 + global_timer_delta)) { - set_curplayer_fade(30.00000000,0.00000000); - __x = extraout_f12; - } - if ((dword_8003649C != 0) && - (uVar1 = check_if_fade_to_black_complete(), __x = extraout_f12_00, uVar1 != 0)) { - enable_move_after_cinema = 1; - } - if ((((60.00000000 < fVar7) && (dword_8003649C == 0)) && - (iVar2 = get_controls_locked_flag(), __x = extraout_f12_01, iVar2 == 0)) && - ((uStackX2 & ~uStackX6 & 0xf030) != 0)) { - dword_8003649C = 1; - proc_7F0807B0(0,0,0,pPlayer->tint_alpha); - uVar1 = check_if_fade_to_black_complete(); - if (uVar1 == 0) { - fade_to_over_seconds(pPlayer->field_3E0,1.00000000); - __x = extraout_f12_03; - } - else { - fade_to_over_seconds(60.00000000,1.00000000); - __x = extraout_f12_02; - } - } - proc_7F07B2A0(dword_800364A8,__x,dword_800364A4,in_a2_lo); - if (*(int *)(ptr_firstcommand_rotatingcam + dword_800364A8 * 0x20 + 0x1c) < 0) { - *(int *)in_stack_00000014 = pPlayer->ptr_tile_printmanpos; - *in_stack_00000018 = pPlayer->positionx; - *(int *)(in_stack_00000018 + 1) = pPlayer->positiony; - *(int *)(in_stack_00000018 + 2) = pPlayer->positionz; - } - else { - pfVar5 = (f32 *)(ptr_0xxxpresets + - *(int *)(ptr_firstcommand_rotatingcam + - dword_800364A8 * 0x20 + 0x1c) * 0x2c); - *in_stack_00000014 = pfVar5[10]; - *in_stack_00000018 = *pfVar5; - in_stack_00000018[1] = pfVar5[1]; - in_stack_00000018[2] = pfVar5[2]; - } - } - else { - if ((cameramode == UNK5_CAM) || (cameramode == UNK6_CAM)) { - if (cameramode == UNK5_CAM) { - dword_800364A4 = (float *)((float)dword_800364A4 + global_timer_delta); - if (pPlayer->ptr_char_objectinstance == 0) { - if (180.00000000 <= (float)dword_800364A4) { - enable_move_after_cinema = 1; - } - } - else { - proc_7F06F5BC(pPlayer->ptr_char_objectinstance); - fVar7 = proc_7F06F5C4(pPlayer->ptr_char_objectinstance); - if (fVar7 <= in_f0) { - enable_move_after_cinema = 1; - } - } - if ((((uStackX2 & ~uStackX6 & 0xf000) != 0) && (pPlayer->bonddead != 0)) && - ((pPlayer->field_424 != 0 && (pPlayer->field_428 != 0)))) { - enable_move_after_cinema = 1; - dword_80036510 = 2; - } - } - else { - if (cameramode == UNK6_CAM) { - dword_800364A4 = (float *)((float)dword_800364A4 + global_timer_delta); - if (pPlayer->timer_for_fade < 0.00000000) { - enable_move_after_cinema = 1; - } - if (((((uStackX2 & ~uStackX6 & 0xf000) != 0) && (pPlayer->bonddead != 0) - ) && (pPlayer->field_424 != 0)) && (pPlayer->field_428 != 0)) { - dword_80036510 = 2; - } - } - } - *(undefined **)in_a2_lo = PTR_800799e8; - in_a2_lo[1] = DAT_800799ec; - in_a2_lo[2] = ptr_BONDdata; - if (cur_player_stat_ptr == pPlayer->position_data_pointer) { - *in_a3_lo = pPlayer->field_3C4; - in_a3_lo[1] = pPlayer->field_3C8; - in_a3_lo[2] = pPlayer->field_3CC; - } - else { - *in_a3_lo = *(f32 *)(cur_player_stat_ptr + 8); - in_a3_lo[1] = *(f32 *)(cur_player_stat_ptr + 0xc); - in_a3_lo[2] = *(f32 *)(cur_player_stat_ptr + 0x10); - } - *(int *)in_stack_00000014 = pPlayer->ptr_tile_printmanpos; - *in_stack_00000018 = pPlayer->positionx; - *(int *)(in_stack_00000018 + 1) = pPlayer->positiony; - *(int *)(in_stack_00000018 + 2) = pPlayer->positionz; - } - else { - if (cameramode == POSEND_CAM) { - if (player_num == NULL) { - if (random_byte == 0) { - if (dword_8007A0D4 < 10000) { - pfVar5 = (f32 *)(ptr_0xxxpresets + dword_8007A0D4 * 0x2c); - } - else { - pfVar5 = (f32 *)(ptr_2xxxpresets + - dword_8007A0D4 * 0x44 + -680000); - } - *in_stack_00000014 = pfVar5[10]; - *in_stack_00000018 = *pfVar5; - in_stack_00000018[1] = pfVar5[1]; - in_stack_00000018[2] = pfVar5[2]; - cosf(dword_8007A0C0); - *in_a3_lo = *pfVar5; - *(float *)(in_a3_lo + 1) = (float)pfVar5[1] + dword_8007A0D0; - sinf(dword_8007A0C0); - in_a3_lo[2] = pfVar5[2]; - fVar7 = sinf(dword_8007A0C0); - cosf(dword_8007A0C0); - *in_a2_lo = (float)*pfVar5 + fVar7 * dword_8007A0C8; - in_a2_lo[1] = (float)pfVar5[1] + dword_8007A0D0 + dword_8007A0CC; - __x = cosf(dword_8007A0C0); - sinf(dword_8007A0C0); - fVar7 = flt_8005505C; - in_a2_lo[2] = (float)pfVar5[2] + __x * dword_8007A0C8; - dword_8007A0C0 = - dword_8007A0C0 + dword_8007A0C4 * global_timer_delta; - while (fVar7 <= dword_8007A0C0) { - dword_8007A0C0 = dword_8007A0C0 - fVar7; - } - while (dword_8007A0C0 < 0.00000000) { - dword_8007A0C0 = dword_8007A0C0 + fVar7; - } - } - else { - iVar2 = *(int *)(random_byte + 0x18); - if (iVar2 < 10000) { - pfVar5 = (f32 *)(ptr_0xxxpresets + iVar2 * 0x2c); - } - else { - pfVar5 = (f32 *)(ptr_2xxxpresets + iVar2 * 0x44 + -680000); - } - *in_a2_lo = *(float *)(random_byte + 4); - in_a2_lo[1] = *(float *)(random_byte + 8); - in_a2_lo[2] = *(float *)(random_byte + 0xc); - *in_stack_00000014 = pfVar5[10]; - *in_stack_00000018 = *pfVar5; - in_stack_00000018[1] = pfVar5[1]; - in_stack_00000018[2] = pfVar5[2]; - if (dword_8007A0D8 == 1) { - *in_a3_lo = pPlayer->field_3C4; - in_a3_lo[1] = pPlayer->field_3C8; - in_a3_lo[2] = pPlayer->field_3CC; - } - else { - fVar7 = cosf(*(float *)(random_byte + 0x14)); - __x = sinf(*(float *)(random_byte + 0x10)); - *(float *)in_a3_lo = __x * fVar7 + *in_a2_lo; - fVar7 = sinf(*(float *)(random_byte + 0x14)); - *(float *)(in_a3_lo + 1) = fVar7 + in_a2_lo[1]; - fVar7 = cosf(*(float *)(random_byte + 0x14)); - __x = cosf(*(float *)(random_byte + 0x10)); - *(float *)(in_a3_lo + 2) = in_a2_lo[2] - __x * fVar7; - } - } - } - else { - *(f32 *)in_a2_lo = *player_num; - *(f32 *)(in_a2_lo + 1) = player_num[1]; - *(f32 *)(in_a2_lo + 2) = player_num[2]; - *in_a3_lo = pPlayer->field_3C4; - in_a3_lo[1] = pPlayer->field_3C8; - in_a3_lo[2] = pPlayer->field_3CC; - *in_stack_00000014 = player_num[10]; - *in_stack_00000018 = *player_num; - in_stack_00000018[1] = player_num[1]; - in_stack_00000018[2] = player_num[2]; - } - } - } - } - } - } - return; -} - - - -void proc_7F07C540(int param_1) - -{ - pPlayer->field_42C = param_1; - return; -} - - - -void set_BONDdata_lookahead_setting(int param_1) - -{ - pPlayer->automovecentreenabled = param_1; - return; -} - - - -int get_BONDdata_lookahead_setting(void) - -{ - return pPlayer->automovecentreenabled; -} - - - -void set_BONDdata_autoaim_y(int param_1) - -{ - pPlayer->autoyaimenabled = param_1; - return; -} - - - -ulonglong get_BONDdata_autoaim_y(void) - -{ - s32 sVar2; - ulonglong uVar1; - - sVar2 = get_num_players(); - if (sVar2 == 1) { - uVar1 = SEXT48(pPlayer->autoyaimenabled); - } - else { - uVar1 = (ulonglong)(byte)pPlayersPerm->autoaim; - } - return uVar1; -} - - - -void redirect_get_BONDdata_autoaim(void) - -{ - get_BONDdata_autoaim_y(); - return; -} - - - -int get_BONDdata_is_aiming(void) - -{ - return pPlayer->insightaimmode; -} - - - -void proc_7F07C5F0(int param_1,float param_2) - -{ - int iVar1; - - if (pPlayer->autoyaimtime60 < 0) { - iVar1 = pPlayer->autoyaimtime; - } - else { - pPlayer->autoyaimtime60 = pPlayer->autoyaimtime60 - clock_timer; - iVar1 = pPlayer->autoyaimtime; - } - if (param_1 == iVar1) { - pPlayer->autoaimy = param_2; - } - else { - if (pPlayer->autoyaimtime60 < 0) { - pPlayer->autoyaimtime60 = 0x1e; - pPlayer->autoyaimtime = param_1; - pPlayer->autoaimy = param_2; - } - } - return; -} - - - -void set_BONDdata_autoaim_x(int param_1) - -{ - pPlayer->autoxaimenabled = param_1; - return; -} - - - -ulonglong get_BONDdata_autoaim_x(void) - -{ - s32 sVar2; - ulonglong uVar1; - - sVar2 = get_num_players(); - if (sVar2 == 1) { - uVar1 = SEXT48(pPlayer->autoxaimenabled); - } - else { - uVar1 = (ulonglong)(byte)pPlayersPerm->autoaim; - } - return uVar1; -} - - - -void redirect_get_BONDdata_autoaim_x(void) - -{ - get_BONDdata_autoaim_x(); - return; -} - - - -void proc_7F07C6C8(int param_1,float param_2) - -{ - int iVar1; - - if (pPlayer->autoxaimtime60 < 0) { - iVar1 = pPlayer->autoxaimtime; - } - else { - pPlayer->autoxaimtime60 = pPlayer->autoxaimtime60 - clock_timer; - iVar1 = pPlayer->autoxaimtime; - } - if (param_1 == iVar1) { - pPlayer->autoaimx = param_2; - } - else { - if (pPlayer->autoxaimtime60 < 0) { - pPlayer->autoxaimtime60 = 0x1e; - pPlayer->autoxaimtime = param_1; - pPlayer->autoaimx = param_2; - } - } - return; -} - - - -void change_player_pos_to_target(int *target_posblock,int *src_pos,int *tile) - -{ - target_posblock[1] = *src_pos; - target_posblock[2] = src_pos[1]; - target_posblock[3] = src_pos[2]; - *(int **)target_posblock = tile; - *(int **)(target_posblock + 0x14) = tile; - target_posblock[0xf] = 0; - target_posblock[0x10] = 0; - target_posblock[0x11] = 0; - target_posblock[0x13] = 0; - target_posblock[4] = 0; - target_posblock[5] = 0; - target_posblock[0xb] = target_posblock[1]; - target_posblock[7] = target_posblock[1]; - target_posblock[0xe] = 0x3f800000; - target_posblock[0x12] = 0x3f800000; - target_posblock[6] = 0x3f800000; - target_posblock[0xc] = target_posblock[2]; - target_posblock[8] = target_posblock[2]; - target_posblock[0xd] = target_posblock[3]; - target_posblock[9] = target_posblock[3]; - target_posblock[10] = 0x41f00000; - return; -} - - - -void proc_7F07C7B4(void) - -{ - int iVar1; - float afStack76 [16]; - float *local_c; - float *local_8; - - if ((longlong)ptr_playerstank != 0) { - iVar1 = *(int *)(*(int *)(*(int *)(*(int *)(ptr_playerstank + 4) + 0x14) + 8) + 8); - local_8 = *(float **)(*(int *)(iVar1 + 8) + 4); - local_c = *(float **)(*(int *)(iVar1 + 4) + 4); - proc_7F0585FC(flt_80055060 - dword_80036474,(longlong)ptr_playerstank,afStack76); - DAT_800799a8 = *local_8; - DAT_800799ac = local_8[1]; - dword_8007A070 = local_8[2]; - proc_7F0583D8(afStack76,(float *)&DAT_800799a8); - DAT_800799a8 = DAT_800799a8 + *local_c; - DAT_800799ac = DAT_800799ac + local_c[1]; - dword_8007A070 = dword_8007A070 + local_c[2]; - } - return; -} - - - -void proc_7F07C888(float *param_1,float *param_2,float param_3) - -{ - int iVar1; - int iVar2; - float in_a2_lo; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - - iVar1 = *(int *)(ptr_playerstank + 4); - iVar2 = proc_7F040078(iVar1); - fVar7 = *(float *)(iVar2 + 4) - DAT_800799a8; - fVar9 = *(float *)(iVar2 + 8) - DAT_800799a8; - fVar8 = *(float *)(iVar2 + 0x14) - dword_8007A070; - fVar10 = *(float *)(iVar2 + 0x18) - dword_8007A070; - fVar3 = cosf(in_a2_lo); - fVar3 = fVar3 * *(float *)(*(int *)(iVar1 + 0x14) + 0x14); - fVar4 = sinf(in_a2_lo); - fVar4 = fVar4 * *(float *)(*(int *)(iVar1 + 0x14) + 0x14); - fVar5 = -fVar8 * fVar4; - fVar11 = fVar7 * fVar3; - *param_1 = *param_2 + fVar5 + fVar11; - fVar8 = fVar8 * fVar3; - fVar7 = fVar7 * fVar4; - param_1[1] = param_2[2] + fVar8 + fVar7; - fVar6 = fVar9 * fVar3; - param_1[2] = *param_2 + fVar5 + fVar6; - fVar9 = fVar9 * fVar4; - param_1[3] = param_2[2] + fVar8 + fVar9; - fVar4 = -fVar10 * fVar4; - param_1[4] = *param_2 + fVar4 + fVar6; - fVar10 = fVar10 * fVar3; - param_1[5] = param_2[2] + fVar10 + fVar9; - param_1[6] = *param_2 + fVar4 + fVar11; - param_1[7] = param_2[2] + fVar10 + fVar7; - return; -} - - - -longlong proc_7F07CA2C(undefined8 param_1,f32 param_2,undefined4 param_3,undefined4 param_4, - undefined4 param_5,undefined4 param_6,undefined4 *param_7,undefined4 *param_8) - -{ - int iVar1; - f32 in_f12; - f32 in_f14; - - iVar1 = proc_7F0B0E24(param_1._4_4_,in_f12,in_f14,param_2); - if (((longlong)iVar1 == 0) && (param_7 != NULL)) { - *(f32 *)param_7 = param_2; - param_7[1] = 0; - param_7[2] = param_3; - param_8[1] = 0; - *param_8 = param_4; - param_8[2] = param_5; - } - return (longlong)iVar1; -} - - - -undefined4 -proc_7F07CAC8(float *param_1,undefined4 param_2,float param_3,undefined4 *param_4, - undefined4 *param_5) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - float *pfVar4; - longlong lVar5; - float fVar6; - undefined4 *in_stack_00000010; - float afStack140 [16]; - float fStack76; - undefined4 uStack72; - float fStack68; - int iStack52; - undefined4 uStack44; - float fStack40; - undefined4 uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack4; - - uStack44 = 0; - uStack4 = param_2; - proc_7F07C888(&fStack40,param_1,param_3); - if (ptr_playerstank != NULL) { - proc_7F03D058(ptr_playerstank,0); - } - lVar5 = proc_7F07CA2C((longlong)(int)&uStack4,*param_1,param_1[2],fStack40,uStack36,0x213, - param_5,in_stack_00000010); - if (lVar5 != 0) { - lVar5 = proc_7F07CA2C((longlong)(int)&uStack4,fStack40,uStack36,uStack32,uStack28,0x213, - param_5,in_stack_00000010); - if (lVar5 != 0) { - lVar5 = proc_7F07CA2C((longlong)(int)&uStack4,uStack32,uStack28,uStack24,uStack20,0x213, - param_5,in_stack_00000010); - if (lVar5 != 0) { - lVar5 = proc_7F07CA2C((longlong)(int)&uStack4,uStack24,uStack20,uStack16,uStack12, - 0x213,param_5,in_stack_00000010); - if ((lVar5 != 0) && - (lVar5 = proc_7F07CA2C((longlong)(int)&uStack4,uStack16,uStack12,fStack40, - uStack36,0x213,param_5,in_stack_00000010), lVar5 != 0)) { - uStack44 = 1; - if ((longlong)(int)ptr_playerstank != 0) { - iStack52 = *(int *)(*(int *)(ptr_playerstank + 4) + 0x14); - iVar1 = *(int *)(*(int *)(iStack52 + 8) + 8); - pfVar2 = *(float **)(*(int *)(iVar1 + 0xc) + 4); - pfVar3 = *(float **)(*(int *)(iVar1 + 0x10) + 4); - pfVar4 = *(float **)(*(int *)(iVar1 + 8) + 4); - uStack72 = 0; - fStack76 = (*pfVar3 + *pfVar2) - *pfVar4; - fVar6 = (float)param_4 + dword_80036474; - fStack68 = (pfVar3[2] + pfVar2[2]) - pfVar4[2]; - if (flt_80055064 <= fVar6) { - fVar6 = fVar6 - flt_80055064; - } - if (fVar6 < 0.00000000) { - fVar6 = fVar6 + flt_80055064; - } - proc_7F0585FC(flt_80055064 - fVar6,(longlong)(int)ptr_playerstank,afStack140 - ); - proc_7F0583D8(afStack140,&fStack76); - fStack76 = fStack76 * *(float *)(iStack52 + 0x14) + *param_1; - fStack68 = fStack68 * *(float *)(iStack52 + 0x14) + param_1[2]; - uStack4 = param_2; - lVar5 = proc_7F07CA2C((longlong)(int)&uStack4,*param_1,param_1[2],fStack76, - fStack68,0x213,param_5,in_stack_00000010); - if (lVar5 == 0) { - uStack44 = 0; - } - } - } - } - } - } - if (ptr_playerstank != NULL) { - proc_7F03D058(ptr_playerstank,1); - } - return uStack44; -} - - - -void proc_7F07CDA8(float *param_1,undefined4 param_2,float param_3) - -{ - float in_a2_lo; - - proc_7F07CAC8(param_1,param_2,in_a2_lo,(undefined4 *)in_a2_lo,NULL); - return; -} - - - -undefined8 related_printmanpos(float *param_1,float param_2,undefined4 *param_3) - -{ - longlong lVar1; - u32 *in_a2_lo; - float extraout_f12; - f32 in_f14; - u32 uStack4; - - uStack4 = pPlayer->ptr_tile_printmanpos; - lVar1._4_4_ = proc_7F0B0E24(&uStack4,(f32)param_2,in_f14,pPlayer->positionx); - lVar1 = (longlong)lVar1._4_4_; - if ((lVar1 != 0) && (proc_7F07CDA8(param_1,uStack4,extraout_f12), lVar1 != 0)) { - *in_a2_lo = uStack4; - return 1; - } - return 0; -} - - - -BOOL get_intank_flag(void) - -{ - return in_tank_flag; -} - - - -undefined4 get_ptr_for_players_tank(void) - -{ - if (in_tank_flag == TRUE) { - return ptr_playerstank; - } - return 0; -} - - - -void proc_7F07CEB0(float *param_1) - -{ - float fVar1; - float fVar2; - float __x; - - __x = dword_80036464 + dword_80036474; - if (flt_80055068 <= __x) { - __x = __x - flt_80055068; - } - if (__x < 0.00000000) { - __x = __x + flt_80055068; - } - fVar1 = sinf(__x); - fVar2 = cosf(dword_8003646C); - *param_1 = fVar2 * -fVar1; - fVar1 = sinf(dword_8003646C); - param_1[1] = fVar1; - __x = cosf(__x); - fVar1 = cosf(dword_8003646C); - param_1[2] = fVar1 * __x; - return; -} - - - -undefined4 proc_7F07CF80(void) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -undefined4 proc_7F07CF8C(void) - -{ - undefined8 uVar1; - int iVar3; - longlong lVar2; - float *in_a0_lo; - char *pcVar4; - u32 *in_a1_lo; - float in_f12; - float extraout_f12; - f32 extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - f32 extraout_f14_00; - float extraout_f14_01; - undefined4 auStack92 [16]; - uint local_1c; - undefined4 local_18; - undefined4 local_14; - float local_10; - undefined4 local_c; - u32 local_8; - undefined4 local_4; - - local_4 = 0; - if ((in_tank_flag == TRUE) && (DAT_800799b8 != 0)) { - uVar1 = related_printmanpos(in_a0_lo,in_f12,dword_80036464); - return (int)uVar1; - } - local_8 = pPlayer->ptr_tile_printmanpos; - if (obj_collision_flag == FALSE) { - local_c = 0; - } - else { - local_c = 0x1f; - } - proc_7F08A274(pPlayer->position_data_pointer,&local_18,&local_10,&local_14); - if (dword_8003644C != NULL) { - proc_7F03D058(dword_8003644C,0); - } - proc_7F03D058((char *)pPlayer->position_data_pointer,0); - local_1c = proc_7F0B2314((int *)&local_8,extraout_f12,extraout_f14,*in_a0_lo, - (undefined4 *)in_a0_lo[2]); - iVar3 = proc_7F0B239C(auStack92); - if (iVar3 != 0) { - pPlayer->field_29FC = 0; - } - iVar3 = proc_7F0B0E24(&local_8,extraout_f12_00,extraout_f14_00,pPlayer->positionx); - if (((iVar3 == 0) || (lVar2 = proc_7F0B18B8(), -1 < lVar2)) || - (((float)pPlayer->ducking_height_offset != -100.00000000 && (-1 < (int)local_1c)))) { -LAB_7f07d1b4: - if (ptr_playerstank != 0) { - pcVar4 = (char *)pPlayer->position_data_pointer; - goto LAB_7f07d200; - } - if (DAT_8007ba04 == NULL) { - pcVar4 = (char *)pPlayer->position_data_pointer; - goto LAB_7f07d200; - } - if (*DAT_8007ba04 != '\x01') { - pcVar4 = (char *)pPlayer->position_data_pointer; - goto LAB_7f07d200; - } - if (*(char *)(*(int *)(DAT_8007ba04 + 4) + 3) == '-') { - dword_8003644C = DAT_8007ba04; - } - } - else { - iVar3 = proc_7F0B23A4((int)auStack92); - lVar2 = (longlong)iVar3; - if ((lVar2 == 0) && - (proc_7F0B26B8((int *)&local_8,extraout_f12_01,extraout_f14_01,*in_a0_lo,in_a0_lo[2]), - -1 < lVar2)) goto LAB_7f07d1b4; - *in_a1_lo = local_8; - local_4 = 1; - } - pcVar4 = (char *)pPlayer->position_data_pointer; -LAB_7f07d200: - proc_7F03D058(pcVar4,1); - if (dword_8003644C != NULL) { - proc_7F03D058(dword_8003644C,1); - } - return local_4; -} - - - -ulonglong proc_7F07D234(undefined4 *param_1,float *param_2,float *param_3) - -{ - longlong lVar1; - int iStack4; - - proc_7F0B1CC4(); - lVar1 = proc_7F07CF8C(); - if (lVar1 == 0) { - proc_7F0B28B0(param_2,param_3); - } - else { - pPlayer->ptr_tile_printmanpos = iStack4; - pPlayer->positionx = *param_1; - pPlayer->positionz = param_1[2]; - } - return (ulonglong)(lVar1 != 0); -} - - - -undefined8 proc_7F07D2B4(float *param_1,float *param_2,float *param_3,float *param_4,float *param_5) - -{ - longlong lVar1; - undefined8 uVar2; - float fVar3; - float afStack80 [2]; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - f32 fStack44; - int iStack40; - float fStack36; - float fStack28; - float fStack24; - float fStack16; - undefined4 uStack12; - float fStack8; - int iStack4; - - proc_7F08A274(pPlayer->position_data_pointer,afStack80,&fStack8,&uStack12); - fStack72 = *param_1 - (float)pPlayer->positionx; - fStack48 = afStack80[0]; - fStack68 = param_1[2] - (float)pPlayer->positionz; - fStack44 = pPlayer->positionx; - iStack40 = pPlayer->positionz; - fStack56 = *param_2; - fStack52 = param_2[2]; - fStack64 = *param_3; - fStack60 = param_3[2]; - fStack36 = fStack72; - fStack28 = fStack68; - fVar3 = proc_7F0B33DC(&fStack48,&fStack56,&fStack64,&fStack72); - fStack24 = fStack36 * fVar3 * 0.25000000 + (float)pPlayer->positionx; - fStack16 = fStack28 * fVar3 * 0.25000000 + (float)pPlayer->positionz; - lVar1 = proc_7F07CF8C(); - if (lVar1 == 0) { - proc_7F0B28B0(param_4,param_5); - if ((((*param_4 != *param_2) || (param_4[1] != param_2[1])) || (param_4[2] != param_2[2])) - || (((*param_5 != *param_3 || (param_5[1] != param_3[1])) || - (uVar2 = 0xffffffffffffffff, param_5[2] != param_3[2])))) { - uVar2 = 0; - } - } - else { - uVar2 = 1; - pPlayer->ptr_tile_printmanpos = iStack4; - *(float *)&pPlayer->positionx = fStack24; - *(float *)&pPlayer->positionz = fStack16; - } - return uVar2; -} - - - -undefined8 proc_7F07D4C0(float *param_1,float *param_2,float *param_3) - -{ - longlong lVar1; - undefined8 uVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - int local_2c; - - fVar4 = *param_1; - fVar7 = (float)pPlayer->positionx; - fVar6 = param_1[2]; - fVar8 = (float)pPlayer->positionz; - if ((*param_2 != *param_3) || (uVar2 = 0xffffffffffffffff, param_2[2] != param_3[2])) { - fVar5 = *param_3 - *param_2; - fVar9 = param_3[2] - param_2[2]; - fVar3 = sqrtf(fVar9 * fVar9 + fVar5 * fVar5); - fVar5 = fVar5 * (1.00000000 / fVar3); - fVar9 = fVar9 * (1.00000000 / fVar3); - fVar3 = (float)pPlayer->positionx; - fVar7 = fVar9 * (fVar6 - fVar8) + (fVar4 - fVar7) * fVar5; - fVar4 = (float)pPlayer->positionz; - lVar1 = proc_7F07CF8C(); - if (lVar1 == 0) { - uVar2 = 0; - } - else { - uVar2 = 1; - pPlayer->ptr_tile_printmanpos = local_2c; - *(float *)&pPlayer->positionx = fVar5 * fVar7 + fVar3; - *(float *)&pPlayer->positionz = fVar9 * fVar7 + fVar4; - } - } - return uVar2; -} - - - -undefined8 proc_7F07D61C(float *param_1,float *param_2,float *param_3) - -{ - longlong lVar1; - float fVar2; - float fStack56; - int iStack52; - undefined4 uStack44; - float fStack40; - float fStack36; - float fStack28; - float fStack24; - float fStack16; - float fStack12; - float fStack4; - - proc_7F08A274(pPlayer->position_data_pointer,&fStack56,&fStack40,&uStack44); - fStack12 = *param_1 - (float)pPlayer->positionx; - fStack4 = param_1[2] - (float)pPlayer->positionz; - if ((param_2[2] - param_1[2]) * (param_2[2] - param_1[2]) + - (*param_2 - *param_1) * (*param_2 - *param_1) <= fStack56 * fStack56) { - if (*param_2 == (float)pPlayer->positionx) { - if (param_2[2] == (float)pPlayer->positionz) { - return 0; - } - fVar2 = param_2[2]; - } - else { - fVar2 = param_2[2]; - } - fStack24 = -(fVar2 - (float)pPlayer->positionz); - fStack16 = *param_2 - (float)pPlayer->positionx; - fVar2 = sqrtf(fStack16 * fStack16 + fStack24 * fStack24); - fStack24 = fStack24 * (1.00000000 / fVar2); - fStack16 = fStack16 * (1.00000000 / fVar2); - fVar2 = fStack16 * fStack4 + fStack12 * fStack24; - fStack24 = fStack24 * fVar2; - fStack16 = fStack16 * fVar2; - fStack36 = fStack24 + (float)pPlayer->positionx; - fStack28 = fStack16 + (float)pPlayer->positionz; - lVar1 = proc_7F07CF8C(); - if (lVar1 != 0) { - pPlayer->ptr_tile_printmanpos = iStack52; - *(float *)&pPlayer->positionx = fStack36; - *(float *)&pPlayer->positionz = fStack28; - return 1; - } - } - else { - if ((param_3[2] - param_1[2]) * (param_3[2] - param_1[2]) + - (*param_3 - *param_1) * (*param_3 - *param_1) <= fStack56 * fStack56) { - if (*param_3 == (float)pPlayer->positionx) { - if (param_3[2] == (float)pPlayer->positionz) { - return 0; - } - fVar2 = param_3[2]; - } - else { - fVar2 = param_3[2]; - } - fStack24 = -(fVar2 - (float)pPlayer->positionz); - fStack16 = *param_3 - (float)pPlayer->positionx; - fVar2 = sqrtf(fStack16 * fStack16 + fStack24 * fStack24); - fStack24 = fStack24 * (1.00000000 / fVar2); - fStack16 = fStack16 * (1.00000000 / fVar2); - fVar2 = fStack16 * fStack4 + fStack12 * fStack24; - fStack24 = fStack24 * fVar2; - fStack16 = fStack16 * fVar2; - fStack36 = fStack24 + (float)pPlayer->positionx; - fStack28 = fStack16 + (float)pPlayer->positionz; - lVar1 = proc_7F07CF8C(); - if (lVar1 != 0) { - pPlayer->ptr_tile_printmanpos = iStack52; - *(float *)&pPlayer->positionx = fStack36; - *(float *)&pPlayer->positionz = fStack28; - return 1; - } - } - } - return 0; -} - - - -undefined4 proc_7F07D954(undefined4 param_1) - -{ - undefined4 in_v0_lo; - - return in_v0_lo; -} - - - -void proc_7F07D960(float *param_1,int param_2) - -{ - short sVar1; - longlong lVar2; - ulonglong uVar3; - int iVar4; - u32 uVar5; - int iVar6; - uint uVar7; - uint uVar8; - int iVar9; - int iVar10; - uint uVar11; - float fVar12; - float fVar13; - float fVar14; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - float extraout_f14_05; - float extraout_f14_06; - float extraout_f14_07; - float extraout_f14_08; - float afStack116 [3]; - float afStack104 [4]; - float afStack88 [3]; - float afStack76 [3]; - float local_40; - int local_3c; - uint local_2c; - float *local_28; - float afStack36 [3]; - float afStack24 [3]; - float local_c [2]; - float local_4; - - *(f32 *)&pPlayer->field_408 = pPlayer->positionx; - pPlayer->field_40C = pPlayer->positiony; - pPlayer->field_410 = pPlayer->positionz; - local_c[0] = *param_1 + (float)pPlayer->positionx; - dword_80036480 = 0; - local_4 = param_1[2] + (float)pPlayer->positionz; - pPlayer->field_29FC = 2; - if (dword_8003644C == NULL) goto LAB_7f07dbf0; - proc_7F03CCB0(dword_8003644C,(int **)&local_28,&local_2c); - if (((in_tank_flag != TRUE) && - (lVar2 = proc_7F03CCD8((float *)&pPlayer->positionx,local_28,local_2c), lVar2 == 0)) && - (lVar2 = proc_7F044718((longlong)(int)&pPlayer->positionx,(longlong)pPlayer->collision_radius - ,local_28,local_2c), lVar2 == 0)) { - if (ptr_playerstank != NULL) { - dword_8003644C = NULL; - ptr_playerstank = NULL; - dword_80036454 = 0.00000000; - } - goto LAB_7f07dbf0; - } - iVar10 = *(int *)(dword_8003644C + 4); - iVar9 = *(int *)(*(int *)(*(int *)(iVar10 + 0x14) + 8) + 8); - iVar4 = *(int *)(*(int *)(iVar9 + 0x14) + 4); - iVar9 = *(int *)(*(int *)(iVar9 + 0x18) + 4); - ptr_playerstank = dword_8003644C; - fVar12 = *(float *)(*(int *)(iVar10 + 0x14) + 0x14); - fVar13 = (*(float *)(iVar4 + 0x10) - *(float *)(iVar4 + 0xc)) * fVar12; - if (in_tank_flag == TRUE) { - fVar14 = *(float *)(iVar9 + 0x10); -LAB_7f07dad8: - dword_80036480 = 1; - fVar13 = fVar13 + (fVar14 - *(float *)(iVar9 + 0xc)) * fVar12; - } - else { - local_40 = fVar13; - local_3c = iVar9; - lVar2 = proc_7F03CCD8((float *)&pPlayer->positionx,(float *)(iVar10 + 0x84), - *(uint *)(iVar10 + 0x80)); - fVar13 = local_40; - if (lVar2 != 0) { - fVar12 = *(float *)(*(int *)(iVar10 + 0x14) + 0x14); - fVar14 = *(float *)(local_3c + 0x10); - iVar9 = local_3c; - goto LAB_7f07dad8; - } - } - if (((in_tank_flag == FALSE) && (dword_80036454 < fVar13)) && - (dword_80036454 = dword_80036454 + global_timer_delta * 20.00000000, dword_80036454 <= fVar13 - )) { - return; - } - dword_80036454 = fVar13; - if (in_tank_flag == TRUE) { - if (DAT_800799b8 == 0) { - dword_80036454 = fVar13 + (1.00000000 - (float)f32_800799c0) * -37.00000000; - } - else { - dword_80036454 = fVar13 + -37.00000000; - } - } -LAB_7f07dbf0: - uVar3 = proc_7F07D234(local_c,afStack24,afStack36); - fVar13 = extraout_f12; - fVar12 = extraout_f14; - if (uVar3 == 0) { - lVar2 = proc_7F07D2B4(local_c,afStack24,afStack36,afStack76,afStack88); - fVar13 = extraout_f12_00; - fVar12 = extraout_f14_00; - if ((lVar2 < 1) && (-1 < lVar2)) { - if (lVar2 == 0) { - proc_7F07D2B4(local_c,afStack76,afStack88,afStack104,afStack116); - fVar13 = extraout_f12_03; - fVar12 = extraout_f14_03; - if ((((param_2 != 0) && - (lVar2 = proc_7F07D4C0(local_c,afStack76,afStack88), fVar13 = extraout_f12_04, - fVar12 = extraout_f14_04, lVar2 < 1)) && - (lVar2 = proc_7F07D4C0(local_c,afStack24,afStack36), fVar13 = extraout_f12_05, - fVar12 = extraout_f14_05, lVar2 < 1)) && - (lVar2 = proc_7F07D61C(local_c,afStack76,afStack88), fVar13 = extraout_f12_06, - fVar12 = extraout_f14_06, lVar2 == 0)) { - proc_7F07D61C(local_c,afStack24,afStack36); - fVar13 = extraout_f12_07; - fVar12 = extraout_f14_07; - } - } - } - else { - if ((param_2 != 0) && - (lVar2 = proc_7F07D4C0(local_c,afStack24,afStack36), fVar13 = extraout_f12_01, - fVar12 = extraout_f14_01, lVar2 < 1)) { - proc_7F07D61C(local_c,afStack24,afStack36); - fVar13 = extraout_f12_02; - fVar12 = extraout_f14_02; - } - } - } - lVar2 = proc_7F0B0518(pPlayer->ptr_tile_printmanpos,fVar13,fVar12); - if (lVar2 != 0) { -LAB_7f07de28: - proc_7F07DE9C((int)pPlayer); - if (pPlayer->ptr_tile_printmanpos != 0) { - proc_7F057744((ulonglong)*(byte *)(pPlayer->ptr_tile_printmanpos + 3)); - } - return; - } - iVar9 = 0; - iVar10 = pPlayer->ptr_tile_printmanpos; - sVar1 = *(short *)(iVar10 + 6); - do { - uVar7 = 0; - uVar11 = (int)sVar1 >> 0xc & 0xf; - if (uVar11 != 0) { - iVar6 = 0; - iVar4 = iVar10; - do { - iVar6 += 8; - if ((int)(uint)*(ushort *)(iVar4 + 0xe) >> 4 != 0) { - uVar7 += 1; - } - iVar4 += 8; - } while (iVar6 < (int)(uVar11 << 3)); - } - uVar5 = get_random_value(); - iVar4 = 0; - uVar11 = (int)*(short *)(iVar10 + 6) >> 0xc & 0xf; - if (uVar7 == 0) { - trap(0x1c00); - } - uVar8 = 0; - iVar6 = iVar10; - if (uVar11 != 0) { - do { - iVar4 += 1; - if ((int)(uint)*(ushort *)(iVar6 + 0xe) >> 4 != 0) { - if (uVar8 == uVar5 % uVar7) { - iVar10 = (uint)*(ushort *)(iVar6 + 0xe) * 8 + base_ptr_connection_vals; - break; - } - uVar8 += 1; - } - iVar6 = iVar6 + 8; - } while (iVar4 < (int)uVar11); - } - lVar2 = proc_7F0B0518(iVar10,extraout_f12_08,extraout_f14_08); - if (lVar2 != 0) { - pPlayer->ptr_tile_printmanpos = iVar10; - goto LAB_7f07de28; - } - iVar9 += 1; - if (iVar9 == 5) goto LAB_7f07de28; - sVar1 = *(short *)(iVar10 + 6); - } while( true ); -} - - - -void proc_7F07DE64(int param_1) - -{ - proc_7F03DE94(*(int *)(param_1 + 0xa8),*(short *)(param_1 + 0x2a04)); - *(undefined2 *)(param_1 + 0x2a04) = 0xffff; - return; -} - - - -void proc_7F07DE9C(int param_1) - -{ - int iVar1; - - proc_7F07DE64(param_1); - iVar1 = *(int *)(*(int *)(param_1 + 0xa8) + 4); - if (iVar1 == 0) { - if (*(int *)(param_1 + 0x488) != 0) { - *(ushort *)(param_1 + 0x2a04) = (ushort)*(byte *)(*(int *)(param_1 + 0x488) + 3); - proc_7F03DD9C(*(int *)(param_1 + 0xa8),*(short *)(param_1 + 0x2a04)); - } - } - else { - proc_7F020D94(iVar1); - } - return; -} - - - -void proc_7F07DEFC(void) - -{ - *(float *)&pPlayer->pause_starting_angle = pPlayer->vv_verta; - pPlayer->field_210 = 0.00000000; - pPlayer->field_218 = 0; - return; -} - - - -float proc_7F07DF28(longlong param_1) - -{ - float fVar1; - - if (param_1 == 0) { - pPlayer->field_208 = pPlayer->pause_starting_angle; - *(float *)&pPlayer->pause_target_angle = pPlayer->vv_verta; - } - else { - *(float *)&pPlayer->field_208 = pPlayer->vv_verta; - pPlayer->pause_target_angle = -40.00000000; - } - fVar1 = (float)pPlayer->field_208 - (float)pPlayer->pause_target_angle; - if (fVar1 < 0.00000000) { - fVar1 = -fVar1; - } - if (60.00000000 <= fVar1) { - return ((fVar1 - 60.00000000) * 60.00000000 * 0.50000000) / 60.00000000 + 60.00000000; - } - if (fVar1 <= 0.00000000) { - return 0.00000000; - } - return (fVar1 * 60.00000000) / 60.00000000; -} - - - -void proc_7F07E010(undefined4 param_1) - -{ - f32 in_f12; - - pPlayer->field_210 = 0.00000000; - pPlayer->field_214 = in_f12; - pPlayer->field_218 = 1; - return; -} - - - -void proc_7F07E03C(undefined4 param_1) - -{ - f32 in_f12; - - pPlayer->field_210 = 0.00000000; - pPlayer->field_214 = in_f12; - pPlayer->field_218 = 2; - return; -} - - - -ulonglong proc_7F07E068(void) - -{ - return (ulonglong)(pPlayer->field_218 != 0 && pPlayer->field_218 != 3); -} - - - -void proc_7F07E090(void) - -{ - float fVar1; - float fVar2; - - fVar2 = pPlayer->vv_verta; - if (pPlayer->field_218 == 1) { - *(float *)&pPlayer->field_210 = - (float)pPlayer->field_210 + global_timer_delta * watch_transition_time; - if ((float)pPlayer->field_210 < (float)pPlayer->field_214) { - fVar1 = cosf(((float)pPlayer->field_210 / (float)pPlayer->field_214) * flt_8005506C * - 0.50000000); - pPlayer->vv_verta = - (float)pPlayer->field_208 + - ((float)pPlayer->pause_target_angle - (float)pPlayer->field_208) * - (1.00000000 - fVar1) * 0.50000000; - } - else { - *(f32 *)&pPlayer->vv_verta = pPlayer->pause_target_angle; - pPlayer->field_218 = 3; - } - fVar1 = pPlayer->vv_verta; - } - else { - fVar1 = fVar2; - if (pPlayer->field_218 == 2) { - *(float *)&pPlayer->field_210 = - (float)pPlayer->field_210 + global_timer_delta * watch_transition_time; - if ((float)pPlayer->field_210 < (float)pPlayer->field_214) { - fVar1 = cosf(((float)pPlayer->field_210 / (float)pPlayer->field_214) * flt_80055070 - * 0.50000000); - pPlayer->vv_verta = - (float)pPlayer->pause_target_angle + - ((float)pPlayer->field_208 - (float)pPlayer->pause_target_angle) * - (1.00000000 - fVar1) * 0.50000000; - fVar1 = pPlayer->vv_verta; - } - else { - *(f32 *)&pPlayer->vv_verta = pPlayer->field_208; - pPlayer->field_218 = 0; - fVar1 = pPlayer->vv_verta; - } - } - } - if (fVar1 < -180.00000000) { - pPlayer->vv_verta = fVar1 + 360.00000000; - } - else { - if (180.00000000 <= fVar1) { - pPlayer->vv_verta = fVar1 - 360.00000000; - } - } - if (0 < clock_timer) { - pPlayer->speedverta = pPlayer->vv_verta - fVar2; - fVar2 = pPlayer->speedverta; - if (fVar2 < 0.00000000) { - pPlayer->speedverta = fVar2 + 360.00000000; - fVar2 = pPlayer->speedverta; - } - if (180.00000000 < fVar2) { - pPlayer->speedverta = fVar2 - 360.00000000; - fVar2 = pPlayer->speedverta; - } - fVar1 = flt_80055074; - pPlayer->speedverta = fVar2 / (global_timer_delta + global_timer_delta); - if (pPlayer->speedverta < fVar1) { - pPlayer->speedverta = fVar1; - } - else { - if (flt_80055078 < pPlayer->speedverta) { - pPlayer->speedverta = flt_80055078; - } - } - } - return; -} - - - -float proc_7F07E388(void) - -{ - int iVar1; - - iVar1 = pPlayer->field_218; - if (iVar1 == 1) { - return (float)pPlayer->field_210 / (float)pPlayer->field_214; - } - if (iVar1 != 2) { - if (iVar1 == 3) { - return 1.00000000; - } - return 0.00000000; - } - return 1.00000000 - (float)pPlayer->field_210 / (float)pPlayer->field_214; -} - - - -void trigger_watch_zoom(f32 final,f32 time) - -{ - pPlayer->zoomintime = 0.00000000; - pPlayer->zoomintimemax = time; - pPlayer->zoominfovyold = pPlayer->zoominfovy; - pPlayer->zoominfovynew = final; - return; -} - - - -Player * proc_7F07E438(void) - -{ - if ((float)pPlayer->zoomintimemax <= (float)pPlayer->zoomintime) { - return pPlayer; - } - return pPlayer; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F07E46C(void) - -{ - float in_f0; - float fVar1; - float in_f12; - - proc_7F07E438(); - if (in_f0 != in_f12) { - fVar1 = (float)pPlayer->zoominfovy; - if (in_f12 < fVar1) { - trigger_watch_zoom((f32)in_f12,(f32)(((fVar1 - in_f12) * 15.00000000) / 30.00000000)); - } - else { - trigger_watch_zoom((f32)in_f12,(f32)(((in_f12 - fVar1) * 15.00000000) / 30.00000000)); - } - } - return; -} - - - -void proc_7F07E504(void) - -{ - proc_7F07E46C(); - return; -} - - - -void zoom_to_watch_on_open(void) - -{ - f32 time; - - time = (f32)(((final - (float)pPlayer->zoominfovy) * 45.00000000) / flt_80055080); - if ((float)time < 0.00000000) { - time = (f32)-(float)time; - } - trigger_watch_zoom((f32)final,time); - return; -} - - - -void zoom_from_watch_on_exit(void) - -{ - f32 time; - - time = (f32)(((60.00000000 - (float)pPlayer->zoominfovy) * 45.00000000) / flt_80055084); - if ((float)time < 0.00000000) { - time = (f32)-(float)time; - } - trigger_watch_zoom(60.00000000,time); - return; -} - - - -ulonglong check_watch_page_transistion_running(void) - -{ - return (ulonglong)((float)pPlayer->zoomintime < (float)pPlayer->zoomintimemax); -} - - - -void proc_7F07E62C(void) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar1 = (float)pPlayer->zoomintime; - if (fVar1 < (float)pPlayer->zoomintimemax) { - if ((pPlayer->pause_animation_state == 5) || (pPlayer->pause_animation_state == 0xc)) { - *(float *)&pPlayer->zoomintime = fVar1 + (float)speedgraphframes; - } - else { - *(float *)&pPlayer->zoomintime = fVar1 + (float)speedgraphframes * watch_transition_time - ; - } - fVar1 = (float)pPlayer->zoomintimemax; - fVar3 = (float)pPlayer->zoomintime; - if (fVar1 < fVar3) { - *(float *)&pPlayer->zoomintime = fVar1; - fVar3 = (float)pPlayer->zoomintime; - fVar1 = (float)pPlayer->zoomintimemax; - fVar2 = (float)pPlayer->zoominfovyold; - } - else { - fVar2 = (float)pPlayer->zoominfovyold; - } - *(float *)&pPlayer->zoominfovy = - fVar2 + (fVar3 * ((float)pPlayer->zoominfovynew - fVar2)) / fVar1; - } - else { - pPlayer->zoomintime = pPlayer->zoomintimemax; - pPlayer->zoominfovy = pPlayer->zoominfovynew; - } - set_cur_player_fovy(pPlayer->zoominfovy); - setvideo_far(pPlayer->zoominfovy); - return; -} - - - -// WARNING: Instruction at (ram,0x7f07e7ac) overlaps instruction at (ram,0x7f07e7a8) -// - -float proc_7F07E740(void) - -{ - int iVar1; - - iVar1 = pPlayer->pause_animation_state; - if (iVar1 == 4) { - return ((45.00000000 - (float)pPlayer->zoomintimemax) + (float)pPlayer->zoomintime) / - 45.00000000; - } - if (iVar1 == 6) { - return ((float)pPlayer->zoomintimemax - (float)pPlayer->zoomintime) / 45.00000000; - } - if ((iVar1 != 5) && (iVar1 != 0xc)) { - return 0.00000000; - } - return 1.00000000; -} - - - -void proc_7F07E7CC(void) - -{ - object_header *objheader; - f32 scale; - float extraout_f12; - float extraout_f14; - - objheader = (object_header *)get_ptr_itemheader_in_hand(HAND_LEFT); - set_objuse_flag_compute_grp_nums_set_obj_loaded(objheader); - if (0x32 < objheader->num_table_entries) { - return_null(); - } - proc_7F075FAC((int)&pPlayer->something_with_watch_object_instance,(ushort **)objheader, - &pPlayer->field_2EC); - set_obj_instance_controller_scale((int)&pPlayer->something_with_watch_object_instance,scale); - proc_7F06FCA8((int)&pPlayer->something_with_watch_object_instance,ptr_animation_table + 0x42c8,0 - ,extraout_f12,0,extraout_f14); - pPlayer->step_in_view_watch_animation = 0; - return; -} - - - -void proc_7F07E8B0(float param_1) - -{ - if (pPlayer->step_in_view_watch_animation == 0) { - *(float *)&pPlayer->field_22C = 20.00000000 / param_1; - } - else { - *(float *)&pPlayer->field_22C = (20.00000000 - (float)pPlayer->field_258) / param_1; - } - pPlayer->step_in_view_watch_animation = 1; - *(float *)&pPlayer->field_228 = param_1; - return; -} - - - -void proc_7F07E910(float param_1) - -{ - if (pPlayer->step_in_view_watch_animation == 3) { - *(float *)&pPlayer->field_22C = 20.00000000 / param_1; - } - else { - *(float *)&pPlayer->field_22C = (float)pPlayer->field_258 / param_1; - } - pPlayer->step_in_view_watch_animation = 2; - *(float *)&pPlayer->field_228 = param_1; - return; -} - - - -void proc_7F07E964(void) - -{ - int iVar1; - float in_f12; - float in_f14; - - iVar1 = pPlayer->step_in_view_watch_animation; - if ((iVar1 != 0) && (iVar1 != 3)) { - if (iVar1 == 1) { - *(float *)&pPlayer->pause_animation_counter = - (float)pPlayer->pause_animation_counter + - global_timer_delta * watch_transition_time * (float)pPlayer->field_22C; - if (20.00000000 < (float)pPlayer->pause_animation_counter) { - pPlayer->pause_animation_counter = 20.00000000; - pPlayer->step_in_view_watch_animation = 3; - } - } - else { - if ((iVar1 == 2) && - (*(float *)&pPlayer->pause_animation_counter = - (float)pPlayer->pause_animation_counter - - global_timer_delta * watch_transition_time * (float)pPlayer->field_22C, - (float)pPlayer->pause_animation_counter < 0.00000000)) { - pPlayer->pause_animation_counter = 0.00000000; - pPlayer->step_in_view_watch_animation = 0; - } - } - proc_7F070090((int)&pPlayer->something_with_watch_object_instance,in_f12,in_f14); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f07ea94) overlaps instruction at (ram,0x7f07ea90) -// - -float proc_7F07EA78(void) - -{ - int iVar1; - - iVar1 = pPlayer->step_in_view_watch_animation; - if ((iVar1 != 1) && (iVar1 != 2)) { - if (iVar1 != 3) { - return 0.00000000; - } - return 1.00000000; - } - return (float)pPlayer->pause_animation_counter / 20.00000000; -} - - - -void set_BONDdata_paused_flag(int ispaused) - -{ - pPlayer->paused_flag = ispaused; - return; -} - - - -int get_BONDdata_paused_flag(void) - -{ - return pPlayer->paused_flag; -} - - - -void proc_7F07EAF0(void) - -{ - char cVar1; - object_standard *poVar3; - ulonglong uVar2; - ALLink_s *pAVar4; - int iVar5; - ALLink_s **ppAVar6; - int iVar7; - - deactivate_alarm_sound_effect(); - proc_7F055EF8(); - iVar7 = 0; - do { - iVar5 = (int)&pPlayer->unknown + iVar7; - pAVar4 = *(ALLink_s **)(iVar5 + 0xa44); - if ((pAVar4 != NULL) && (uVar2 = sfxGetArg0Unk3F(pAVar4), uVar2 != 0)) { - sfxDeactivate(*(int *)(iVar5 + 0xa44)); - } - iVar7 += 0x3a8; - } while (iVar7 < 0x750); - ppAVar6 = (ALLink_s **)&dword_80036458; - pAVar4 = dword_80036458; - while( true ) { - if ((pAVar4 != NULL) && (uVar2 = sfxGetArg0Unk3F(pAVar4), uVar2 != 0)) { - sfxDeactivate((int)*ppAVar6); - } - ppAVar6 = ppAVar6 + 1; - if (ppAVar6 == (ALLink_s **)&dword_80036460) break; - pAVar4 = *ppAVar6; - } - poVar3 = get_ptr_obj_pos_list_current_entry(); - if (poVar3 == NULL) { - return; - } - cVar1 = *(char *)poVar3; - do { - if (cVar1 == '\x02') { -LAB_7f07ec34: - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - else { - if (cVar1 == '\x01') { - iVar7 = *(int *)&poVar3->pad; - if (*(char *)(iVar7 + 3) == '\'') { - if (*(ALLink_s **)(iVar7 + 0xac) == NULL) { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - else { - uVar2 = sfxGetArg0Unk3F(*(ALLink_s **)(iVar7 + 0xac)); - if (uVar2 == 0) { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - else { - sfxDeactivate(*(int *)(iVar7 + 0xac)); - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - } - } - else { - if (*(char *)(iVar7 + 3) == '(') { - if (*(ALLink_s **)(iVar7 + 0xb0) == NULL) { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - else { - uVar2 = sfxGetArg0Unk3F(*(ALLink_s **)(iVar7 + 0xb0)); - if (uVar2 != 0) { - sfxDeactivate(*(int *)(iVar7 + 0xb0)); - goto LAB_7f07ec34; - } - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - } - else { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - } - } - else { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - } - if (poVar3 == NULL) { - return; - } - cVar1 = *(char *)poVar3; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f07f738) overlaps instruction at (ram,0x7f07f734) -// - -void probably_look_at_watch(void) - -{ - bool bVar1; - ITEM_IDS IVar3; - ITEM_IDS IVar4; - ulonglong uVar2; - int iVar5; - undefined4 extraout_a0_lo; - undefined4 extraout_a0_lo_00; - undefined4 extraout_a0_lo_01; - undefined4 extraout_a0_lo_02; - float fVar6; - float fVar7; - float local_14; - - iVar5 = pPlayer->pause_animation_state; - if (iVar5 == 0) goto LAB_7f07f80c; - IVar3 = get_item_in_hand(0); - bVar1 = IVar3 == ITEM_TRIGGER; - if (!bVar1) { - IVar3 = get_item_in_hand(0); - bVar1 = IVar3 == ITEM_WATCHLASER; - } - iVar5 = 0x11; - if (bVar1) { - iVar5 = 0x23; - } - pPlayer->field_1C4 = pPlayer->field_1C4 + clock_timer; - pPlayer->field_1C0 = pPlayer->field_1C0 + 1; - pPlayer->pausing_flag = 0; - if (pPlayer->pause_animation_state == 1) { - pPlayer->pausing_flag = 0; - if (pPlayer->field_1C0 == 1) { - draw_item_in_hand(1,0x54); - } - else { - if (pPlayer->field_1C0 == 2) { - if (bVar1) { - draw_item_in_hand(0,0); - } - } - else { - IVar4 = return_ammo_in_hand(HAND_LEFT); - if ((((IVar4 == ITEM_SUIT_LF_HAND) && (uVar2 = proc_7F05CEBC(1), uVar2 != 0)) && - ((!bVar1 || - ((IVar4 = return_ammo_in_hand(HAND_RIGHT), IVar4 == ITEM_UNARMED && - (uVar2 = proc_7F05CEBC(0), uVar2 != 0)))))) && (iVar5 <= pPlayer->field_1C4)) - { - pPlayer->pause_animation_state = 2; - pPlayer->field_1C0 = 1; - pPlayer->field_1C4 = 0; - } - } - } - } - if (pPlayer->pause_animation_state == 2) { - pPlayer->pausing_flag = 0; - if (pPlayer->field_1C0 == 1) { - set_unset_bitflags(8,0); - set_unset_ammo_on_screen_setting(4,0); - set_flags_in_BONDdata_stationary_intro_cam(1); - proc_7F08A944(1); - set_unset_clock_lock_bits(4,0); - iVar5 = pPlayer->field_218; - if (((iVar5 == 0) || (iVar5 == 2)) || (iVar5 == 3)) { - proc_7F07DF28(1); - proc_7F07E010(extraout_a0_lo); - fVar7 = (float)pPlayer->field_214; - } - else { - fVar7 = (float)pPlayer->field_214; - } - } - else { - fVar7 = (float)pPlayer->field_214; - } - if (fVar7 - (float)pPlayer->field_210 < 30.00000000) { - pPlayer->pause_animation_state = 3; - pPlayer->field_1C0 = 1; - pPlayer->field_1C4 = 0; - proc_7F07E7CC(); - iVar5 = pPlayer->pause_animation_state; - } - else { - iVar5 = pPlayer->pause_animation_state; - } - } - else { - iVar5 = pPlayer->pause_animation_state; - } - if (iVar5 == 3) { - if (pPlayer->field_1C0 == 1) { - iVar5 = pPlayer->field_218; - fVar7 = 40.00000000; - if ((pPlayer->step_in_view_watch_animation != 0) && - (fVar7 = 40.00000000, pPlayer->step_in_view_watch_animation != 3)) { - fVar7 = ((20.00000000 - (float)pPlayer->field_258) * 40.00000000) / 20.00000000; - } - if (((iVar5 == 0) || (iVar5 == 2)) || (local_14 = fVar7, iVar5 == 3)) { - fVar6 = proc_7F07DF28(1); - local_14 = fVar7 - 10.00000000; - if (local_14 <= fVar6) { - local_14 = fVar6; - } - proc_7F07E010(extraout_a0_lo_00); - local_14 = local_14 + 10.00000000; - if (local_14 <= fVar7) { - local_14 = fVar7; - } - } - proc_7F07E8B0(local_14); - iVar5 = pPlayer->step_in_view_watch_animation; - } - else { - iVar5 = pPlayer->step_in_view_watch_animation; - } - if (((iVar5 == 0) || (iVar5 == 3)) && (uVar2 = proc_7F07E068(), uVar2 == 0)) { - pPlayer->pause_animation_state = 4; - pPlayer->field_1C0 = 1; - pPlayer->field_1C4 = 0; - iVar5 = pPlayer->pause_animation_state; - } - else { - pPlayer->pausing_flag = 1; - iVar5 = pPlayer->pause_animation_state; - } - } - if (iVar5 == 4) { - if ((pPlayer->field_1C0 == 1) && (pPlayer->field_21C != 0)) { - play_sfx_a1(ptr_sfx_buf,0xed,NULL); - pPlayer->field_21C = 0; - } - zoom_to_watch_on_open(); - uVar2 = check_watch_page_transistion_running(); - if (uVar2 == 0) { - pPlayer->pause_animation_state = 5; - pPlayer->field_1C0 = 1; - pPlayer->field_1C4 = 0; - pPlayer->field_21C = 1; - iVar5 = pPlayer->pause_animation_state; - } - else { - pPlayer->pausing_flag = 1; - iVar5 = pPlayer->pause_animation_state; - } - } - if (iVar5 == 5) { - if (pPlayer->field_1C0 == 1) { - proc_7F0C1310(); - } - pPlayer->pausing_flag = 1; - iVar5 = pPlayer->pause_animation_state; - } - if (iVar5 == 0xc) { - pPlayer->pausing_flag = 1; - if (2 < pPlayer->field_1C0) { - pPlayer->pause_animation_state = 6; - pPlayer->field_1C0 = 1; - pPlayer->field_1C4 = 0; - play_sfx_a1(ptr_sfx_buf,0xee,NULL); - goto LAB_7f07f1d8; - } - iVar5 = pPlayer->pause_animation_state; - } - else { -LAB_7f07f1d8: - iVar5 = pPlayer->pause_animation_state; - } - if (iVar5 == 6) { - if (pPlayer->field_1C0 == 1) { - zoom_from_watch_on_exit(); - if (bVar1) { - draw_item_in_hand(0,0); - } - else { - proc_7F05DAE4(0); - } - } - uVar2 = check_watch_page_transistion_running(); - if (uVar2 == 0) { - pPlayer->pause_animation_state = 7; - pPlayer->field_1C0 = 1; - pPlayer->field_1C4 = 0; - pPlayer->field_21C = 1; - iVar5 = pPlayer->pause_animation_state; - } - else { - pPlayer->pausing_flag = 1; - iVar5 = pPlayer->pause_animation_state; - } - } - if (iVar5 == 7) { - if (pPlayer->field_1C0 == 1) { - proc_7F07DF28(0); - fVar7 = 40.00000000; - if ((pPlayer->step_in_view_watch_animation != 0) && - (pPlayer->step_in_view_watch_animation != 3)) { - fVar7 = ((float)pPlayer->field_258 * 40.00000000) / 20.00000000; - } - proc_7F07E03C(extraout_a0_lo_01); - proc_7F07E910(fVar7); - } - if ((pPlayer->step_in_view_watch_animation == 0) || - (pPlayer->step_in_view_watch_animation == 3)) { - pPlayer->pause_animation_state = 8; - pPlayer->field_1C0 = 1; - pPlayer->field_1C4 = 0; - iVar5 = pPlayer->pause_animation_state; - } - else { - pPlayer->pausing_flag = 1; - iVar5 = pPlayer->pause_animation_state; - } - } - if (iVar5 == 8) { - pPlayer->pausing_flag = 0; - if (pPlayer->field_1C0 == 1) { - IVar4 = return_ammo_in_hand(HAND_LEFT); - IVar3 = get_item_in_hand(1); - if ((IVar3 != IVar4) && (uVar2 = proc_7F05CEBC(1), uVar2 != 0)) { - IVar3 = get_item_in_hand(1); - draw_item_in_hand(1,IVar3); - } - if (bVar1) { - IVar4 = return_ammo_in_hand(HAND_RIGHT); - IVar3 = get_item_in_hand(0); - if ((IVar3 != IVar4) && (uVar2 = proc_7F05CEBC(0), uVar2 != 0)) { - IVar3 = get_item_in_hand(0); - draw_item_in_hand(0,IVar3); - } - } - } - else { - uVar2 = proc_7F07E068(); - if (uVar2 == 0) { - IVar4 = return_ammo_in_hand(HAND_LEFT); - IVar3 = get_item_in_hand(1); - if ((IVar3 == IVar4) && (uVar2 = proc_7F05CEBC(1), uVar2 != 0)) { - if (bVar1) { - IVar4 = return_ammo_in_hand(HAND_RIGHT); - IVar3 = get_item_in_hand(0); - if ((IVar3 != IVar4) || (uVar2 = proc_7F05CEBC(0), uVar2 == 0)) - goto LAB_7f07f548; - } - proc_7F05DAE4(1); - if (bVar1) { - proc_7F05DAE4(0); - } - set_unset_bitflags(8,1); - set_unset_ammo_on_screen_setting(4,1); - proc_7F08A380(1); - proc_7F08A928(1); - set_unset_clock_lock_bits(4,1); - pPlayer->pause_animation_state = 0; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - } - } - } -LAB_7f07f548: - if (pPlayer->pause_animation_state == 9) { - pPlayer->pausing_flag = 0; - IVar3 = get_item_in_hand(1); - IVar4 = return_ammo_in_hand(HAND_LEFT); - if ((IVar4 != IVar3) && (uVar2 = proc_7F05CEBC(1), uVar2 != 0)) { - if (bVar1) { - IVar3 = get_item_in_hand(0); - IVar4 = return_ammo_in_hand(HAND_RIGHT); - if ((IVar4 == IVar3) || (uVar2 = proc_7F05CEBC(0), uVar2 == 0)) goto LAB_7f07f5ec; - } - pPlayer->pause_animation_state = 8; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - } -LAB_7f07f5ec: - if (pPlayer->pause_animation_state == 10) { - pPlayer->pausing_flag = 0; - if (pPlayer->field_1C0 == 1) { - proc_7F07DF28(0); - proc_7F07E03C(extraout_a0_lo_02); - } - IVar3 = get_item_in_hand(1); - IVar4 = return_ammo_in_hand(HAND_LEFT); - if ((IVar4 != IVar3) && (uVar2 = proc_7F05CEBC(1), uVar2 != 0)) { - if (bVar1) { - IVar3 = get_item_in_hand(0); - IVar4 = return_ammo_in_hand(HAND_RIGHT); - if ((IVar4 == IVar3) || (uVar2 = proc_7F05CEBC(0), uVar2 == 0)) goto LAB_7f07f6b8; - } - pPlayer->pause_animation_state = 8; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - } -LAB_7f07f6b8: - if (pPlayer->pause_animation_state == 0xb) { - pPlayer->pausing_flag = 0; - IVar3 = get_item_in_hand(1); - IVar4 = return_ammo_in_hand(HAND_LEFT); - if ((IVar4 == IVar3) && (uVar2 = proc_7F05CEBC(1), uVar2 != 0)) { - if (bVar1) { - IVar3 = get_item_in_hand(0); - IVar4 = return_ammo_in_hand(HAND_RIGHT); - if ((IVar4 != IVar3) || (uVar2 = proc_7F05CEBC(0), uVar2 == 0)) goto LAB_7f07f760; - } - pPlayer->pause_animation_state = 1; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - } -LAB_7f07f760: - if (pPlayer->pause_animation_state == 0xd) { - pPlayer->pausing_flag = 0; - uVar2 = proc_7F05CEBC(1); - if (((((uVar2 != 0) && (uVar2 = proc_7F05CEBC(0), uVar2 != 0)) && - (iVar5 = pPlayer->field_C3C, iVar5 != 5)) && ((iVar5 != 6 && (iVar5 != 7)))) && - (iVar5 != 8)) { - pPlayer->pause_animation_state = 1; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - } - proc_7F07E090(); - proc_7F07E964(); - proc_7F07E62C(); - iVar5 = pPlayer->pause_animation_state; -LAB_7f07f80c: - if (iVar5 == 5) { - set_controls_locked_flag(1); - proc_7F0A6A80(); - } - else { - if (iVar5 == 0xc) { - set_controls_locked_flag(1); - } - else { - set_controls_locked_flag(0); - } - } - return; -} - - - -void set_open_close_solo_watch_menu_to_1(void) - -{ - pPlayer->open_close_solo_watch_menu = 1; - return; -} - - - -void trigger_solo_watch_menu(longlong param_1) - -{ - Player *pPVar1; - ulonglong uVar2; - int *piVar3; - int *piVar4; - undefined4 *puVar5; - int iVar6; - int *piVar7; - float extraout_f12; - float extraout_f12_00; - - iVar6 = pPlayer->pause_animation_state; - if (iVar6 == 0) { - if (param_1 == 0) { - watch_transition_time = watch_transition_time * flt_80055090; - if (flt_8005508C < watch_transition_time) { - watch_transition_time = flt_8005508C; - } - uVar2 = proc_7F05CEBC(1); - if ((((uVar2 == 0) || (uVar2 = proc_7F05CEBC(0), uVar2 == 0)) || - (iVar6 = pPlayer->field_C3C, iVar6 == 5)) || - (((iVar6 == 6 || (iVar6 == 7)) || (iVar6 == 8)))) { - pPlayer->pause_animation_state = 0xd; - } - else { - pPlayer->pause_animation_state = 1; - } - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - proc_7F07DEFC(); - proc_7F07E504(); - get_BONDdata_watch_armor(); - proc_7F0A2F30((short *)&pPlayer->healthdamagetype,0x2e,1,extraout_f12); - proc_7F0A3330(&pPlayer->field_19F8,(int)&pPlayer[-0x30303].field_1238,0x2e); - get_BONDdata_watch_health(); - proc_7F0A2F30((short *)&pPlayer->related_to_health_display,0x2e,-1,extraout_f12_00); - proc_7F0A3330(&pPlayer->field_2128,(int)&pPlayer[-0x30303].field_1518,0x2e); - proc_7F0A69A8(); - iVar6 = 0; - piVar4 = &pPlayer->buffer_for_watch_greenbackdrop_DL; - piVar7 = &pPlayer->buffer_for_watch_greenbackdrop_vertices; - do { - piVar3 = (int *)proc_7F0A3AB8((short *)piVar7,(short)iVar6,0,100,0x14,-299,0x136); - piVar4 = proc_7F0A3B40(piVar4,piVar7 + -0x20000000); - iVar6 += 0x7d; - piVar7 = piVar3; - } while (iVar6 != 0x271); - *piVar4 = -0x48000000; - piVar4[1] = 0; - pPVar1 = pPlayer; - piVar7 = &pPlayer->field_2998; - proc_7F0A3AB8((short *)&pPlayer->field_19B8,0,0,0x398,0x14,-0x1cc,0); - puVar5 = proc_7F0A3B40(piVar7,&pPVar1[-0x30303].field_1938); - *puVar5 = 0xb8000000; - puVar5[1] = 0; - } - } - else { - if (iVar6 == 1) { - pPlayer->pause_animation_state = 9; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - else { - if (iVar6 == 2) { - pPlayer->pause_animation_state = 10; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - else { - if (iVar6 == 3) { - pPlayer->pause_animation_state = 7; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - else { - if (iVar6 == 4) { - pPlayer->pause_animation_state = 6; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - else { - if (iVar6 == 5) { - deleteCurrentSelectedFolder(); - proc_7F0C1340(); - pPlayer->pause_animation_state = 0xc; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - pPlayer->open_close_solo_watch_menu = 0; - } - else { - if (iVar6 != 0xc) { - if (iVar6 == 6) { - if (param_1 == 0) { - pPlayer->pause_animation_state = 4; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - proc_7F0A69A8(); - } - } - else { - if (iVar6 == 7) { - if (param_1 == 0) { - pPlayer->pause_animation_state = 3; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - proc_7F0A69A8(); - } - } - else { - if (iVar6 == 8) { - if (param_1 == 0) { - pPlayer->pause_animation_state = 0xb; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - proc_7F0A69A8(); - } - } - else { - if (iVar6 == 9) { - if (param_1 == 0) { - pPlayer->pause_animation_state = 1; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - } - else { - if (iVar6 == 10) { - if (param_1 == 0) { - pPlayer->pause_animation_state = 1; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - } - else { - if (iVar6 == 0xb) { - pPlayer->pause_animation_state = 8; - pPlayer->field_1C0 = 0; - pPlayer->field_1C4 = 0; - } - else { - if (iVar6 == 0xd) { - pPlayer->pause_animation_state = 0; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - return; -} - - - -void proc_7F07FCC4(longlong param_1) - -{ - float fVar1; - - if (param_1 == -1) { - pPlayer->speedstrafe = pPlayer->speedstrafe - global_timer_delta; - fVar1 = pPlayer->speedstrafe; - if (fVar1 < -1.00000000) { - pPlayer->speedstrafe = -1.00000000; - fVar1 = pPlayer->speedstrafe; - } - } - else { - if (param_1 == 1) { - pPlayer->speedstrafe = pPlayer->speedstrafe + global_timer_delta; - fVar1 = pPlayer->speedstrafe; - if (1.00000000 < fVar1) { - pPlayer->speedstrafe = 1.00000000; - fVar1 = pPlayer->speedstrafe; - } - } - else { - fVar1 = pPlayer->speedstrafe; - if (0.00000000 < fVar1) { - pPlayer->speedstrafe = fVar1 - global_timer_delta; - fVar1 = pPlayer->speedstrafe; - if (fVar1 < 0.00000000) { - pPlayer->speedstrafe = 0.00000000; - fVar1 = pPlayer->speedstrafe; - } - } - else { - pPlayer->speedstrafe = fVar1 + global_timer_delta; - fVar1 = pPlayer->speedstrafe; - if (0.00000000 < fVar1) { - pPlayer->speedstrafe = 0.00000000; - fVar1 = pPlayer->speedstrafe; - } - } - } - } - pPlayer->speedsideways = fVar1; - return; -} - - - -void proc_7F07FE1C(longlong param_1) - -{ - f32 fVar1; - float fVar2; - - if (param_1 == 1) { - *(float *)&pPlayer->field_2A4C = (float)pPlayer->field_2A4C + global_timer_delta; - fVar1 = pPlayer->field_2A4C; - if (1.00000000 < (float)fVar1) { - pPlayer->field_2A4C = 1.00000000; - fVar1 = pPlayer->field_2A4C; - } - } - else { - if (param_1 == -1) { - *(float *)&pPlayer->field_2A4C = (float)pPlayer->field_2A4C - global_timer_delta; - fVar1 = pPlayer->field_2A4C; - if ((float)fVar1 < -1.00000000) { - pPlayer->field_2A4C = -1.00000000; - fVar1 = pPlayer->field_2A4C; - } - } - else { - fVar2 = (float)pPlayer->field_2A4C; - if (0.00000000 < fVar2) { - *(float *)&pPlayer->field_2A4C = fVar2 - global_timer_delta; - fVar1 = pPlayer->field_2A4C; - if ((float)fVar1 < 0.00000000) { - pPlayer->field_2A4C = 0.00000000; - fVar1 = pPlayer->field_2A4C; - } - } - else { - *(float *)&pPlayer->field_2A4C = fVar2 + global_timer_delta; - fVar1 = pPlayer->field_2A4C; - if (0.00000000 < (float)fVar1) { - pPlayer->field_2A4C = 0.00000000; - fVar1 = pPlayer->field_2A4C; - } - } - } - } - *(f32 *)&pPlayer->speedforwards = fVar1; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -float proc_7F07FF74(void) - -{ - float in_f0; - float fVar1; - float in_f12; - - if (0.00000000 < in_f12) { - video_related_23(); - fVar1 = (in_f0 * in_f12 * flt_80055094) / 60.00000000; - } - else { - if (in_f12 < 0.00000000) { - video_related_23(); - fVar1 = (in_f0 * -in_f12 * flt_80055098) / 60.00000000; - } - else { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F080010(void) - -{ - float in_f0; - float fVar1; - float fVar2; - float in_f12; - - video_related_23(); - in_f0 = in_f0 / 60.00000000; - fVar1 = (float)proc_7F07FF74(); - if (0.00000000 < in_f12) { - fVar2 = pPlayer->speedverta; - if (0.00000000 < fVar2) { - pPlayer->speedverta = fVar2 - flt_8005509C * global_timer_delta * in_f0; - } - else { - pPlayer->speedverta = fVar2 - flt_800550A0 * global_timer_delta * in_f0; - } - if (pPlayer->speedverta < fVar1) { - pPlayer->speedverta = fVar1; - } - } - else { - if (in_f12 < 0.00000000) { - fVar2 = pPlayer->speedverta; - if (fVar2 < 0.00000000) { - pPlayer->speedverta = fVar2 + flt_800550A4 * global_timer_delta * in_f0; - } - else { - pPlayer->speedverta = fVar2 + flt_800550A8 * global_timer_delta * in_f0; - } - if (fVar1 < pPlayer->speedverta) { - pPlayer->speedverta = fVar1; - } - } - else { - fVar2 = pPlayer->speedverta; - if (fVar1 < fVar2) { - pPlayer->speedverta = fVar2 - flt_800550AC * global_timer_delta * in_f0; - if (pPlayer->speedverta < fVar1) { - pPlayer->speedverta = fVar1; - } - } - else { - pPlayer->speedverta = fVar2 + flt_800550B0 * global_timer_delta * in_f0; - if (fVar1 < pPlayer->speedverta) { - pPlayer->speedverta = fVar1; - } - } - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -float proc_7F080228(void) - -{ - float in_f0; - float fVar1; - float in_f12; - - if (0.00000000 < in_f12) { - video_related_23(); - fVar1 = (in_f0 * in_f12 * flt_800550B4) / 60.00000000; - } - else { - if (in_f12 < 0.00000000) { - video_related_23(); - fVar1 = (in_f0 * -in_f12 * flt_800550B8) / 60.00000000; - } - else { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F0802C4(void) - -{ - float in_f0; - float fVar1; - float fVar2; - float in_f12; - - video_related_23(); - in_f0 = in_f0 / 60.00000000; - fVar1 = (float)proc_7F080228(); - if (0.00000000 < in_f12) { - fVar2 = pPlayer->speedtheta; - if (0.00000000 < fVar2) { - pPlayer->speedtheta = fVar2 - flt_800550BC * global_timer_delta * in_f0; - } - else { - pPlayer->speedtheta = fVar2 - flt_800550C0 * global_timer_delta * in_f0; - } - if (pPlayer->speedtheta < fVar1) { - pPlayer->speedtheta = fVar1; - } - } - else { - if (in_f12 < 0.00000000) { - fVar2 = pPlayer->speedtheta; - if (fVar2 < 0.00000000) { - pPlayer->speedtheta = fVar2 + flt_800550C4 * global_timer_delta * in_f0; - } - else { - pPlayer->speedtheta = fVar2 + flt_800550C8 * global_timer_delta * in_f0; - } - if (fVar1 < pPlayer->speedtheta) { - pPlayer->speedtheta = fVar1; - } - } - else { - fVar2 = pPlayer->speedtheta; - if (fVar1 < fVar2) { - pPlayer->speedtheta = fVar2 - flt_800550CC * global_timer_delta * in_f0; - if (pPlayer->speedtheta < fVar1) { - pPlayer->speedtheta = fVar1; - } - } - else { - pPlayer->speedtheta = fVar2 + flt_800550D0 * global_timer_delta * in_f0; - if (fVar1 < pPlayer->speedtheta) { - pPlayer->speedtheta = fVar1; - } - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f080520) overlaps instruction at (ram,0x7f08051c) -// - -undefined4 * proc_7F0804E0(undefined4 *param_1) - -{ - short sVar1; - short sVar2; - short sVar3; - short sVar4; - u32 uVar5; - u32 uVar6; - u32 uVar7; - float fVar8; - - fVar8 = pPlayer->tint_alpha; - uVar5 = pPlayer->tint_red; - uVar6 = pPlayer->tint_green; - uVar7 = pPlayer->tint_blue; - if ((camera_80036430 != 0) || (camera_80036434 != 0)) { - fVar8 = 1.00000000; - uVar7 = 0; - uVar6 = 0; - uVar5 = 0; - } - if (0.00000000 < fVar8) { - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[3] = 0; - param_1[2] = 0xba001402; - param_1[5] = 0xc0; - param_1[4] = 0xba000602; - param_1[6] = 0xba001301; - param_1[7] = 0; - param_1[8] = 0xb9000002; - param_1[9] = 0; - param_1[10] = 0xba001001; - param_1[0xb] = 0; - param_1[0xd] = 0x2000; - param_1[0xc] = 0xba000c02; - param_1[0xf] = 0xc00; - param_1[0xe] = 0xba000903; - param_1[0x10] = 0xba000e02; - param_1[0x11] = 0; - param_1[0x12] = 0xb900031d; - param_1[0x13] = 0x504340; - param_1[0x15] = 0xfffdf6fb; - param_1[0x14] = 0xfcffffff; - param_1[0x16] = 0xfa000000; - param_1[0x17] = - uVar5 << 0x18 | (uVar6 & 0xff) << 0x10 | (uVar7 & 0xff) << 8 | - (int)(fVar8 * 255.00000000) & 0xffU; - sVar1 = get_video2_settings_width(); - sVar2 = get_video2_settings_ulx(); - sVar3 = get_video2_settings_uly(); - sVar4 = get_video2_settings_height(); - param_1[0x18] = - ((int)sVar4 + (int)sVar3 & 0x3ffU) << 2 | 0xf6000000 | - ((int)sVar2 + (int)sVar1 & 0x3ffU) << 0xe; - sVar1 = get_video2_settings_ulx(); - sVar2 = get_video2_settings_uly(); - param_1[0x19] = ((int)sVar2 & 0x3ffU) << 2 | ((int)sVar1 & 0x3ffU) << 0xe; - param_1[0x1a] = 0xe7000000; - param_1[0x1b] = 0; - param_1[0x1d] = 0x40; - param_1[0x1c] = 0xba000602; - param_1[0x1f] = 0x80000; - param_1[0x1e] = 0xba001301; - param_1[0x21] = 0x10000; - param_1[0x20] = 0xba001001; - param_1 = param_1 + 0x22; - } - return param_1; -} - - - -void proc_7F0807B0(u32 param_1,u32 param_2,u32 param_3,float param_4) - -{ - pPlayer->tint_red = param_1; - pPlayer->tint_green = param_2; - pPlayer->tint_blue = param_3; - pPlayer->tint_alpha = param_4; - return; -} - - - -void proc_7F0807E0(undefined4 param_1,undefined8 param_2,int param_3,int param_4,f32 param_5, - undefined param_6,undefined param_7,undefined param_8,undefined param_9, - undefined param_10,undefined4 param_11) - -{ - float in_f12; - - pPlayer->field_3E0 = 0.00000000; - pPlayer->timer_for_fade = in_f12; - pPlayer->field_3E8 = pPlayer->tint_red; - pPlayer->field_3EC = param_2._4_4_; - pPlayer->field_3F0 = pPlayer->tint_green; - pPlayer->field_3F4 = param_3; - pPlayer->field_3F8 = pPlayer->tint_blue; - pPlayer->field_3FC = param_4; - *(float *)&pPlayer->field_400 = pPlayer->tint_alpha; - pPlayer->field_404 = param_5; - return; -} - - - -void fade_to_over_seconds(f32 seconds,f32 fadeto) - -{ - undefined4 in_a0_lo; - undefined unaff_retaddr; - undefined in_stack_00000003; - undefined in_stack_00000007; - undefined4 in_stack_00000008; - undefined in_stack_fffffff7; - undefined in_stack_fffffffb; - - proc_7F0807E0(in_a0_lo,(longlong)(int)pPlayer->tint_red,pPlayer->tint_green,pPlayer->tint_blue, - fadeto,in_stack_fffffff7,in_stack_fffffffb,unaff_retaddr,in_stack_00000003, - in_stack_00000007,in_stack_00000008); - return; -} - - - -ulonglong check_if_fade_to_black_complete(void) - -{ - return (ulonglong)(pPlayer->timer_for_fade < 0.00000000); -} - - - -void proc_7F0808BC(void) - -{ - float fVar1; - - if (0.00000000 <= pPlayer->timer_for_fade) { - *(float *)&pPlayer->field_3E0 = (float)pPlayer->field_3E0 + global_timer_delta; - if ((float)pPlayer->field_3E0 < pPlayer->timer_for_fade) { - fVar1 = (float)pPlayer->field_3E0 / pPlayer->timer_for_fade; - pPlayer->tint_alpha = - (float)pPlayer->field_400 + - ((float)pPlayer->field_404 - (float)pPlayer->field_400) * fVar1; - pPlayer->tint_red = - pPlayer->field_3E8 + - (int)((float)(pPlayer->field_3EC - pPlayer->field_3E8) * fVar1); - pPlayer->tint_green = - pPlayer->field_3F0 + - (int)((float)(pPlayer->field_3F4 - pPlayer->field_3F0) * fVar1); - pPlayer->tint_blue = - pPlayer->field_3F8 + - (int)((float)(pPlayer->field_3FC - pPlayer->field_3F8) * fVar1); - return; - } - *(f32 *)&pPlayer->tint_alpha = pPlayer->field_404; - pPlayer->tint_red = pPlayer->field_3EC; - pPlayer->tint_green = pPlayer->field_3F4; - pPlayer->tint_blue = pPlayer->field_3FC; - pPlayer->timer_for_fade = -1.00000000; - } - return; -} - - - -void set_curplayer_fade(f32 timer,f32 finalamount) - -{ - int iVar1; - float fVar2; - - iVar1 = *(int *)(pPlayer->position_data_pointer + 4); - if (iVar1 != 0) { - pPlayer->viewport_alpha = 0.00000000; - pPlayer->bondfadetime60 = timer; - fVar2 = (float)(uint)*(byte *)(iVar1 + 0xc); - if (false) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)&pPlayer->bondfadetimemax = fVar2 / 255.00000000; - pPlayer->bondfadefracold = finalamount; - } - return; -} - - - -void proc_7F080A80(void) - -{ - int iVar1; - float fVar2; - - if (0.00000000 <= (float)pPlayer->bondfadetime60) { - iVar1 = *(int *)(pPlayer->position_data_pointer + 4); - *(float *)&pPlayer->viewport_alpha = (float)pPlayer->viewport_alpha + global_timer_delta; - if ((float)pPlayer->viewport_alpha < (float)pPlayer->bondfadetime60) { - fVar2 = (float)pPlayer->bondfadetimemax + - (((float)pPlayer->bondfadefracold - (float)pPlayer->bondfadetimemax) * - (float)pPlayer->viewport_alpha) / (float)pPlayer->bondfadetime60; - } - else { - fVar2 = (float)pPlayer->bondfadefracold; - pPlayer->bondfadetime60 = -1.00000000; - } - if (iVar1 != 0) { - *(undefined *)(iVar1 + 0xc) = (char)(int)(fVar2 * 255.00000000); - } - } - return; -} - - - -void proc_7F080B34(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5) - -{ - u32 uVar1; - u32 uVar2; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float extraout_f14_00; - float fStackX8; - float afStack132 [16]; - float afStack68 [4]; - int iStack52; - int iStack48; - int iStack44; - int iStack36; - int iStack32; - int iStack28; - float fStack4; - - fStack4 = 0.00000000; - if (pPlayer->bonddead == 0) { - proc_7F08E8BC(param_1); - fStackX8 = param_5; - if (param_1 != 0.00000000) { - fStack4 = param_2 / param_1; - } - } - else { - if (pPlayer->field_420 != 0) { - uVar1 = get_random_value(); - uVar2 = get_random_value(); - if (total_player_death_anim == 0) { - trap(0x1c00); - } - proc_7F08EA48(player_death_ani_list[uVar1 % total_player_death_anim] + - ptr_animation_table,(byte)uVar2 & 1,extraout_f12,extraout_f14); - pPlayer->field_420 = 0; - } - proc_7F08EAB8(0.50000000); - fStackX8 = 0.00000000; - } - proc_7F08E240(fStack4,fStackX8); - proc_7F058570((360.00000000 - (float)pPlayer->vv_verta360) * - firstperson_weapon_movement_restrictor,extraout_a0,afStack68); - proc_7F059908(afStack132,extraout_f12_00,extraout_f14_00,0.00000000,0.00000000,0.00000000, - -(float)pPlayer->field_508,-(float)pPlayer->field_50C,-(float)pPlayer->field_510, - (float)pPlayer->field_514); - proc_7F058068(afStack132,afStack68); - proc_7F0585FC((360.00000000 - pPlayer->vv_theta) * flt_800550D8,extraout_a0_00,afStack132); - proc_7F058068(afStack132,afStack68); - pPlayer->field_4C0 = iStack36; - pPlayer->field_4C4 = iStack32; - pPlayer->field_4C8 = iStack28; - pPlayer->field_4CC = iStack52; - pPlayer->field_4D0 = iStack48; - pPlayer->field_4D4 = iStack44; - return; -} - - - -float proc_7F080D60(undefined8 param_1,undefined4 param_2,undefined4 param_3) - -{ - float fVar1; - - if (ptr_playerstank == 0) { - if (pPlayer->field_2A6C == 0) { - fVar1 = (float)proc_7F0B2970(); - } - else { - fVar1 = (float)proc_7F0B2970(); - } - } - else { - fVar1 = (float)proc_7F0B2970(); - fVar1 = fVar1 + dword_80036454; - } - return fVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F080DF8(void) - -{ - bool bVar1; - longlong in_v0; - BOOL BVar2; - int iVar3; - longlong in_a0; - float in_a1_lo; - float fVar4; - float fVar5; - float fVar6; - float extraout_f12; - float extraout_f14; - float fVar7; - float local_30; - undefined4 uStack28; - float fStack24; - undefined4 local_14; - int local_10; - float local_c; - int local_4; - - if (in_tank_flag == TRUE) { - fVar4 = proc_7F080D60((longlong)pPlayer->ptr_tile_printmanpos,pPlayer->positionx, - pPlayer->positionz); - fVar5 = flt_800550DC; - *(float *)&pPlayer->clipping_height = fVar4; - iVar3 = 0; - *(float *)&pPlayer->field_6C = (float)pPlayer->field_70 / fVar5; - fVar4 = flt_800550E0; - if (0 < clock_timer) { - do { - iVar3 += 1; - *(float *)&pPlayer->field_6C = - (float)pPlayer->field_6C * fVar4 + (float)pPlayer->clipping_height; - } while (iVar3 < clock_timer); - } - local_4 = 0; - *(float *)&pPlayer->field_70 = (float)pPlayer->field_6C * fVar5; - goto LAB_7f08139c; - } - if (in_a0 == 0) { - local_10 = pPlayer->ptr_tile_printmanpos; - proc_7F08A274(pPlayer->position_data_pointer,&local_14,&fStack24,&uStack28); - local_c = proc_7F080D60((longlong)pPlayer->ptr_tile_printmanpos,pPlayer->positionx, - pPlayer->positionz); - proc_7F089780((int)pPlayer); - proc_7F0B26B8(&local_10,extraout_f12,extraout_f14,(float)pPlayer->positionx, - (float)pPlayer->positionz); - fVar5 = local_c; - if ((-1 < in_v0) && (fVar5 = (float)pPlayer->clipping_height, fVar5 <= local_c)) { - fVar5 = local_c; - } - *(float *)&pPlayer->clipping_height = fVar5; -LAB_7f080fdc: - iVar3 = pPlayer->field_2A6C; - } - else { - *(float *)&pPlayer->clipping_height = (float)pPlayer->clipping_height + in_a1_lo; - fVar5 = proc_7F080D60((longlong)pPlayer->ptr_tile_printmanpos,pPlayer->positionx, - pPlayer->positionz); - if ((float)pPlayer->clipping_height < fVar5) { - *(float *)&pPlayer->clipping_height = fVar5; - goto LAB_7f080fdc; - } - iVar3 = pPlayer->field_2A6C; - } - if (iVar3 == 0) { - fVar5 = (float)pPlayer->field_7C; - } - else { - if ((float)pPlayer->field_70 < (float)pPlayer->clipping_height) { - pPlayer->field_2A6C = 0; - pPlayer->ptr_tile_printmanpos = pPlayer->field_2A70; - pPlayer->field_2A70 = 0; - fVar5 = (float)pPlayer->field_7C; - } - else { - fVar5 = (float)pPlayer->field_7C; - } - } - fVar4 = flt_800550E4; - fVar7 = (float)pPlayer->field_70; - if ((0.00000000 <= fVar5) || (fVar5 = (float)pPlayer->clipping_height, fVar7 < fVar5)) { - iVar3 = 0; - *(float *)&pPlayer->field_6C = fVar7 / flt_800550E4; - fVar5 = flt_800550E8; - if (0 < clock_timer) { - do { - iVar3 += 1; - *(float *)&pPlayer->field_6C = - (float)pPlayer->field_6C * fVar5 + (float)pPlayer->clipping_height; - } while (iVar3 < clock_timer); - } - fVar7 = (float)pPlayer->field_70; - if (fVar7 < (float)pPlayer->clipping_height) { - *(float *)&pPlayer->field_70 = (float)pPlayer->field_6C * fVar4; - fVar7 = (float)pPlayer->field_70; - fVar5 = (float)pPlayer->clipping_height; - goto LAB_7f0810d8; - } - bVar1 = (float)pPlayer->clipping_height < fVar7; - } - else { -LAB_7f0810d8: - bVar1 = fVar5 < fVar7; - } - local_4 = 0; - fVar5 = (float)pPlayer->field_7C; - if (bVar1) { - local_4 = 0; - BVar2 = get_debug_fast_bond_flag(); - if (((BVar2 == FALSE) || (DAT_80079990 != 0.00000000)) || (DAT_80079998 != 0.00000000)) { - local_30 = player_gravity_modifier; - } - else { - local_30 = flt_800550EC; - } - fVar4 = (float)pPlayer->clipping_height; - fVar6 = fVar5 - global_timer_delta * local_30; - fVar7 = fVar7 + global_timer_delta * (fVar5 + fVar6) * 0.50000000; - if (fVar7 < fVar4) { - fVar5 = (float)pPlayer->field_70 - fVar4; - fVar6 = sqrtf((float)pPlayer->field_7C * (float)pPlayer->field_7C + - (((fVar5 + fVar5) * player_view_gravity_modifier) / 60.00000000) * - 60.00000000); - fVar6 = -fVar6; - fVar7 = fVar4; - if (pPlayer->field_2A6C != 0) { - pPlayer->field_2A6C = 0; - pPlayer->ptr_tile_printmanpos = pPlayer->field_2A70; - pPlayer->field_2A70 = 0; - } - } - *(float *)&pPlayer->field_70 = fVar7; - *(float *)&pPlayer->field_7C = fVar6; - fVar5 = (float)pPlayer->field_7C; - } - if (fVar5 < 0.00000000) { - if ((float)pPlayer->field_70 <= (float)pPlayer->clipping_height) { - if (fVar5 < flt_800550F8) { - pPlayer->field_8C = 0xf; - pPlayer->field_90 = -90.00000000; -LAB_7f08130c: - pPlayer->field_7C = 0.00000000; - } - else { - if (fVar5 < -5.00000000) { - pPlayer->field_8C = 0xf; - *(float *)&pPlayer->field_90 = - ((-5.00000000 - (float)pPlayer->field_7C) * -90.00000000) / flt_800550FC; - goto LAB_7f08130c; - } - pPlayer->field_7C = 0.00000000; - } - iVar3 = pPlayer->field_2A6C; - } - else { - iVar3 = pPlayer->field_2A6C; - } - } - else { - iVar3 = pPlayer->field_2A6C; - } - if (iVar3 != 0) { - fVar5 = proc_7F089780((int)pPlayer); - fVar4 = (float)proc_7F0B2970(); - if ((float)pPlayer->field_70 + fVar5 < fVar4) { - pPlayer->field_2A6C = 0; - pPlayer->ptr_tile_printmanpos = pPlayer->field_2A70; - pPlayer->field_2A70 = 0; - } - } -LAB_7f08139c: - fVar5 = flt_80055100; - if (0 < clock_timer) { - do { - if (pPlayer->field_8C < 1) { - fVar4 = (float)pPlayer->field_90; - if (fVar4 < 0.00000000) { - *(float *)&pPlayer->field_90 = fVar4 - -4.50000000; - fVar4 = (float)pPlayer->field_90; - if (0.00000000 <= fVar4) { - pPlayer->field_90 = 0.00000000; - fVar4 = (float)pPlayer->field_90; - fVar7 = (float)pPlayer->field_84; - } - else { - fVar7 = (float)pPlayer->field_84; - } - } - else { - fVar7 = (float)pPlayer->field_84; - } - *(float *)&pPlayer->field_84 = fVar7 * fVar5 + fVar4; - } - else { - *(float *)&pPlayer->field_84 = - (float)pPlayer->field_84 * fVar5 + (float)pPlayer->field_90; - pPlayer->field_8C = pPlayer->field_8C + -1; - } - local_4 += 1; - } while (local_4 < clock_timer); - } - *(float *)&pPlayer->field_88 = (float)pPlayer->field_84 * flt_80055104; - return; -} - - - -void proc_7F081478(void) - -{ - undefined4 uVar1; - int iVar2; - float fVar3; - float fVar4; - float in_f12; - float in_f14; - float fVar5; - int local_c [3]; - - fVar4 = 30.00000000; - *(float *)&pPlayer->field_29BC = - (float)pPlayer->field_500 * pPlayersPerm->player_perspective_height + 7.00000000; - fVar3 = (float)pPlayer->field_29BC + - ((float)pPlayer->field_88 + (float)pPlayer->ducking_height_offset) * - pPlayersPerm->player_perspective_height; - if (fVar3 < 30.00000000) { - fVar5 = (float)pPlayer->field_70; - } - else { - fVar5 = (float)pPlayer->field_70; - fVar4 = fVar3; - } - *(float *)&pPlayer->positiony = fVar5 + fVar4; - if ((((cameramode == UNK5_CAM) || (cameramode == UNK6_CAM)) || (cameramode == POSEND_CAM)) && - (pPlayer->ptr_char_objectinstance != 0)) { - iVar2 = pPlayer->bonddead; - } - else { - *(f32 *)&pPlayer->field_4B4 = pPlayer->positionx; - pPlayer->field_4B8 = pPlayer->positiony; - pPlayer->field_4BC = pPlayer->positionz; - iVar2 = pPlayer->bonddead; - } - if (((iVar2 != 0) && (0.00000000 < (float)pPlayer->field_29C0)) && - (*(float *)&pPlayer->field_29C0 = (float)pPlayer->field_29C0 - 0.25000000, - (float)pPlayer->field_29C0 < 0.00000000)) { - pPlayer->field_29C0 = 0.00000000; - } - if (pPlayer->vv_verta < 0.00000000) { - *(float *)&pPlayer->field_4B8 = - (float)pPlayer->field_4B8 + - -(1.00000000 - (float)pPlayer->vv_cosverta) * (float)pPlayer->field_29C0; - local_c[0] = pPlayer->ptr_tile_printmanpos; - } - else { - local_c[0] = pPlayer->ptr_tile_printmanpos; - } - uVar1 = do_stanlinelog; - do_stanlinelog = 0; - proc_7F0B0BE4(local_c,in_f12,in_f14,(float)pPlayer->positionx,(float)pPlayer->positionz); - do_stanlinelog = uVar1; - pPlayer->room_tile_ptr = local_c[0]; - pPlayer->field_4A4 = pPlayer->field_4B4; - pPlayer->field_4AC = pPlayer->field_4BC; - fVar4 = proc_7F080D60((longlong)pPlayer->room_tile_ptr,pPlayer->field_4B4,pPlayer->field_4BC); - *(float *)&pPlayer->field_4A8 = fVar4; - iVar2 = 0; - *(int *)(pPlayer->position_data_pointer + 0x14) = pPlayer->ptr_tile_printmanpos; - *(f32 *)(pPlayer->position_data_pointer + 8) = pPlayer->positionx; - *(int *)(pPlayer->position_data_pointer + 0xc) = pPlayer->positiony; - *(int *)(pPlayer->position_data_pointer + 0x10) = pPlayer->positionz; - fVar4 = flt_80055108; - if (0 < clock_timer) { - do { - iVar2 += 1; - *(float *)&pPlayer->field_3B8 = - (float)pPlayer->field_4B4 + fVar4 * (float)pPlayer->field_3B8; - *(float *)&pPlayer->field_3BC = - (float)pPlayer->field_4B8 + fVar4 * (float)pPlayer->field_3BC; - *(float *)&pPlayer->field_3C0 = - (float)pPlayer->field_4BC + fVar4 * (float)pPlayer->field_3C0; - } while (iVar2 < clock_timer); - } - fVar4 = flt_8005510C; - *(float *)&pPlayer->field_3C4 = (float)pPlayer->field_3B8 * flt_8005510C; - *(float *)&pPlayer->field_3C8 = (float)pPlayer->field_3BC * fVar4; - *(float *)&pPlayer->field_3CC = (float)pPlayer->field_3C0 * fVar4; - return; -} - - - -void proc_7F081790(void) - -{ - float fVar1; - - fVar1 = pPlayer->vv_verta; - while (fVar1 < -180.00000000) { - pPlayer->vv_verta = fVar1 + 360.00000000; - fVar1 = pPlayer->vv_verta; - } - while (180.00000000 <= fVar1) { - pPlayer->vv_verta = fVar1 - 360.00000000; - fVar1 = pPlayer->vv_verta; - } - if (90.00000000 < fVar1) { - pPlayer->vv_verta = 90.00000000; - } - else { - if (fVar1 < -90.00000000) { - pPlayer->vv_verta = -90.00000000; - } - } - fVar1 = cosf(pPlayer->vv_theta * flt_80055110); - *(float *)&pPlayer->vv_costheta = fVar1; - fVar1 = sinf(pPlayer->vv_theta * flt_80055114); - *(float *)&pPlayer->vv_sintheta = fVar1; - *(float *)&pPlayer->vv_verta360 = pPlayer->vv_verta; - fVar1 = (float)pPlayer->vv_verta360; - if (fVar1 < 0.00000000) { - *(float *)&pPlayer->vv_verta360 = fVar1 + 360.00000000; - fVar1 = (float)pPlayer->vv_verta360; - } - fVar1 = cosf(fVar1 * flt_80055118); - *(float *)&pPlayer->vv_cosverta = fVar1; - fVar1 = sinf((float)pPlayer->vv_verta360 * flt_8005511C); - *(float *)&pPlayer->vv_sinverta = fVar1; - *(float *)&pPlayer->field_498 = -(float)pPlayer->vv_sintheta; - pPlayer->field_49C = 0; - *(f32 *)&pPlayer->field_4A0 = pPlayer->vv_costheta; - return; -} - - - -// WARNING: Instruction at (ram,0x7f0837d8) overlaps instruction at (ram,0x7f0837d4) -// -// WARNING: Unknown calling convention yet parameter storage is locked - -void controller_gameplay_interaction(void) - -{ - bool bVar1; - bool bVar2; - bool bVar3; - bool bVar4; - ushort uVar5; - ushort uVar6; - ushort uVar7; - ushort uVar8; - ushort uVar9; - uint uVar10; - u32 uVar11; - undefined4 uVar12; - ITEM_IDS item; - int iVar13; - ulonglong invincible; - s32 numplayers; - int invisibletoguards; - longlong firing; - ushort uVar14; - char in_a0_lo; - undefined4 extraout_a0_lo; - undefined4 extraout_a0_lo_00; - undefined4 extraout_a0_lo_01; - undefined4 extraout_a0_lo_02; - undefined4 extraout_a0_lo_03; - undefined4 extraout_a0_lo_04; - char in_a1_lo; - undefined4 extraout_a1_lo; - undefined4 extraout_a1_lo_00; - undefined4 extraout_a1_lo_01; - undefined4 extraout_a1_lo_02; - undefined4 extraout_a1_lo_03; - undefined4 uVar15; - undefined4 extraout_a1_lo_04; - ushort in_a2_lo; - ushort in_a3_lo; - ushort uVar16; - uint uVar17; - float extraout_f0; - float extraout_f0_00; - float fVar18; - float vector1; - f32 extraout_f12; - float fVar19; - f32 extraout_f14; - uint uStack380; - undefined4 uStack288; - undefined4 uStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack260; - u32 uStack256; - float fStack252; - float fStack220; - int iStack212; - int iStack204; - ushort uStack198; - ushort uStack196; - ushort uStack194; - uint uStack192; - uint uStack188; - uint uStack184; - uint uStack180; - int iStack176; - int iStack172; - ushort uStack166; - ushort uStack164; - char cStack162; - char cStack161; - int iStack160; - int iStack156; - int iStack152; - int iStack148; - int iStack144; - int iStack140; - int iStack128; - uint uStack124; - uint uStack120; - int iStack116; - uint uStack112; - uint uStack108; - uint uStack104; - uint uStack100; - float fStack96; - float zoom; - int iStack88; - int iStack84; - uint uStack80; - uint uStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - uint uStack48; - uint uStack44; - uint uStack40; - uint uStack36; - uint uStack32; - uint uStack28; - uint uStack24; - uint uStack20; - uint uStack16; - uint uStack12; - int iStack8; - uint uStack4; - - uStack4 = 0; - iStack8 = 0; - uStack12 = 0; - uStack16 = 0; - uStack20 = 0; - uStack24 = 0; - uStack28 = 0; - uStack32 = 0; - uStack36 = 0; - uStack40 = 0; - uStack44 = 0; - uStack48 = 0; - uStack76 = 0; - uStack80 = 0; - iStack84 = 0; - iStack88 = 0; - uStack100 = 0; - uStack104 = 0; - uStack108 = 0; - uStack112 = 0; - iStack116 = 0; - uStack120 = 0; - fStack52 = 0.00000000; - fStack56 = 0.00000000; - fStack60 = 0.00000000; - fStack64 = 0.00000000; - fStack68 = 0.00000000; - fStack72 = 0.00000000; - zoom = 0.00000000; - fStack96 = 0.00000000; - uVar11 = get_cur_player_look_vertical_inverted(); - uStack124 = (uint)(uVar11 == 0); - iStack128 = 0; - if (in_a0_lo < -5) { - iStack156 = (int)in_a0_lo + 5; - } - else { - iStack156 = 0; - if ('\x05' < in_a0_lo) { - iStack156 = (int)in_a0_lo + -5; - } - } - if (in_a1_lo < -5) { - iStack160 = (int)in_a1_lo + 5; - } - else { - iStack160 = 0; - if ('\x05' < in_a1_lo) { - iStack160 = (int)in_a1_lo + -5; - } - } - iStack140 = (int)in_a0_lo; - iStack144 = (int)in_a1_lo; - iStack152 = iStack160; - iStack148 = iStack156; - if (((pPlayer->bonddead == 0) && (camera_80036424 < 1)) && - ((((pPlayer->pause_animation_state != 5 && ((in_a2_lo & ~in_a3_lo & 0x1000) != 0)) || - ((pPlayer->pause_animation_state == 5 && (pPlayer->open_close_solo_watch_menu != 0)))) && - (numplayers = get_num_players(), numplayers == 1)))) { - trigger_solo_watch_menu(0); - } - if (((pPlayer->pause_animation_state == 0) && (pPlayer->bonddead == 0)) && - ((numplayers = get_num_players(), numplayers == 1 || - ((stop_play_flag == 0 && (is_gameover_flag == 0)))))) { - numplayers = cur_player_get_control_type(); - if ((numplayers == 6) || - (((numplayers = cur_player_get_control_type(), numplayers == 7 || - (numplayers = cur_player_get_control_type(), numplayers == 5)) || - (numplayers = cur_player_get_control_type(), numplayers == 4)))) { - uVar16 = in_a2_lo & ~in_a3_lo; - uVar11 = get_cur_playernum(); - numplayers = get_num_players(); - numplayers = get_cur_controller_horz_stick_pos - ((char)((numplayers + uVar11) * 0x1000000 >> 0x18)); - cStack161 = (char)numplayers; - uVar11 = get_cur_playernum(); - numplayers = get_num_players(); - numplayers = get_cur_controller_vert_stick_pos - ((char)((numplayers + uVar11) * 0x1000000 >> 0x18)); - cStack162 = (char)numplayers; - uVar11 = get_cur_playernum(); - numplayers = get_num_players(); - uVar11 = get_controller_buttons_held - ((char)((numplayers + uVar11) * 0x1000000 >> 0x18), - 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); - uStack164 = (ushort)uVar11; - uStack166 = pPlayer->field_3B6; - if (cStack161 < -5) { - iStack172 = (int)cStack161 + 5; - } - else { - iStack172 = 0; - if ('\x05' < cStack161) { - iStack172 = (int)cStack161 + -5; - } - } - iStack176 = (int)cStack162 + 5; - if ((-6 < cStack162) && (iStack176 = (int)cStack162 + -5, cStack162 < '\x06')) { - iStack176 = 0; - } - numplayers = cur_player_get_control_type(); - if ((numplayers == 4) || (numplayers = cur_player_get_control_type(), numplayers == 6)) - { - iStack156 = iStack172; - iStack152 = iStack176; - } - else { - if (in_tank_flag == TRUE) { - if (pPlayer->insightaimmode == 0) { - iStack148 = iStack172; - } - else { - iStack156 = iStack172; - } - } - else { - iStack156 = iStack172; - } - iStack160 = iStack176; - } - numplayers = cur_player_get_control_type(); - if ((numplayers == 4) || (numplayers = cur_player_get_control_type(), numplayers == 5)) - { - uVar5 = uStack164 & 0x2000; - uVar14 = uStack164 & ~uStack166; - uVar6 = in_a2_lo & 0x2000; - uVar7 = uVar14; - uVar8 = uVar16; - } - else { - uVar5 = in_a2_lo & 0x2000; - uVar14 = uStack164 & ~uStack166; - uVar6 = uStack164 & 0x2000; - uVar7 = uVar16; - uVar8 = uVar14; - } - uVar9 = uStack164; - uStack180 = (uint)(uVar6 != 0); - uStack184 = (uint)((uVar8 & 0x2000) != 0); - uStack188 = (uint)(uVar5 != 0); - uStack192 = (uint)((uVar7 & 0x2000) != 0); - invisibletoguards = get_controls_locked_flag(); - if ((invisibletoguards == 0) && (firing = proc_7F0C24BC(), firing != 0)) { - invisibletoguards = cur_player_get_aim_control(); - if (invisibletoguards == 0) { - pPlayer->insightaimmode = uStack188; - } - else { - if (uStack192 != 0) { - pPlayer->insightaimmode = (uint)(pPlayer->insightaimmode == 0); - } - } - iStack88 = pPlayer->insightaimmode; - bVar4 = (uVar16 & 0x4000) != 0; - uStack120 = (uint)(iStack88 == 0); - bVar1 = bVar4; - if (!bVar4) { - bVar1 = (uVar14 & 0x4000) != 0; - } - uStack16 = (uint)bVar1; - uStack32 = (uint)(iStack88 == 0); - uStack24 = 1; - if (((iStack88 != 0) && ('<' < in_a1_lo)) && - (fStack60 = (float)((int)in_a1_lo + -0x3c) / 10.00000000, 1.00000000 < fStack60)) - { - fStack60 = 1.00000000; - } - if (((iStack88 != 0) && (in_a1_lo < -0x3c)) && - (fStack64 = (float)(-0x3c - (int)in_a1_lo) / 10.00000000, 1.00000000 < fStack64)) - { - fStack64 = 1.00000000; - } - if (((iStack88 != 0) && (in_a0_lo < -0x3c)) && - (fStack68 = (float)(-0x3c - (int)in_a0_lo) / 10.00000000, 1.00000000 < fStack68)) - { - fStack68 = 1.00000000; - } - if (((iStack88 != 0) && ('<' < in_a0_lo)) && - (fStack72 = (float)((int)in_a0_lo + -0x3c) / 10.00000000, 1.00000000 < fStack72)) - { - fStack72 = 1.00000000; - } - bVar1 = (in_a2_lo & 0x8000) != 0; - if ((bVar1) || (bVar2 = (uVar9 & 0x8000) != 0, bVar2)) { - bVar2 = uStack184 != 0; - } - uStack76 = (uint)bVar2; - bVar2 = (uVar16 & 0x8000) != 0; - if ((bVar2) || (bVar3 = (uVar14 & 0x8000) != 0, bVar3)) { - bVar3 = uStack180 == 0; - } - uStack80 = (uint)bVar3; - iStack84 = iStack88; - uStack28 = uStack32; - uStack20 = uStack32; - iStack8 = iStack88; - uStack4 = uStack120; - item = get_item_in_hand(0); - invisibletoguards = check_special_attributes(item,0x8000); - if ((invisibletoguards != 0) && (pPlayer->insightaimmode != 0)) { - if (iStack176 < 0) { - zoom = (float)-iStack176 / 70.00000000; - if (1.00000000 < zoom) { - zoom = 2.00000000; - } - else { - zoom = zoom + zoom; - } - } - if (0 < iStack176) { - fStack96 = (float)iStack176 / 70.00000000; - if (1.00000000 < fStack96) { - fStack96 = 2.00000000; - } - else { - fStack96 = fStack96 + fStack96; - } - } - } - item = get_item_in_hand(0); - invisibletoguards = check_special_attributes(item,0x8000); - uStack100 = (uint)(invisibletoguards == 0); - if ((invisibletoguards == 0) && - (bVar3 = pPlayer->insightaimmode != 0, uStack100 = (uint)bVar3, bVar3)) { - uStack100 = (uint)(cStack162 < -0x1e); - } - item = get_item_in_hand(0); - invisibletoguards = check_special_attributes(item,0x8000); - uStack104 = (uint)(invisibletoguards == 0); - if ((invisibletoguards == 0) && - (bVar3 = pPlayer->insightaimmode != 0, uStack104 = (uint)bVar3, bVar3)) { - uStack104 = (uint)(cStack162 < '\x1f') ^ 1; - } - if ((((((bVar1) && (bVar4)) || (((in_a2_lo & 0x4000) != 0 && (bVar2)))) || - (((uVar9 & 0x8000) != 0 && ((uVar14 & 0x4000) != 0)))) || - (((uVar9 & 0x4000) != 0 && ((uVar14 & 0x8000) != 0)))) && - (item = get_item_in_hand(0), item == ITEM_REMOTEMINE)) { - iStack116 = 1; - uStack76 = 0; - uStack80 = 0; - uStack16 = 0; - } - if ((in_tank_flag == TRUE) && (pPlayer->insightaimmode != 0)) { - item = get_item_in_hand(0); - if (item == ITEM_TANKSHELLS) { - iStack140 = 0; - if (iStack156 == 0) { - iStack156 = iStack148; - } - } - else { - if (iStack156 == 0) { - if (0.00000000 < fStack68) { - fStack52 = fStack68; - } - if (0.00000000 < fStack72) { - fStack56 = fStack72; - } - } - } - fStack68 = 0.00000000; - fStack72 = 0.00000000; - } - } - uStack12 = (uint)(uStack180 != 0); - if (uStack180 != 0) { - bVar4 = pPlayer->pause_animation_state == 0; - if (bVar4) { - bVar4 = (in_a2_lo & 0x8000) == 0; - uStack12 = (uint)bVar4; - if (!bVar4) goto LAB_7f0822a8; - bVar4 = (uVar9 & 0x8000) == 0; - } - uStack12 = (uint)bVar4; - } -LAB_7f0822a8: - iStack128 = 1; - pPlayer->field_3B6 = uStack164; - } - else { - numplayers = cur_player_get_control_type(); - if ((numplayers == 2) || (numplayers = cur_player_get_control_type(), numplayers == 3)) - { - uStack194 = 0x8000; - uStack196 = 0x2000; - uStack198 = 0x30; - } - else { - uStack194 = 0x2000; - uStack196 = 0x30; - uStack198 = 0x8000; - } - invisibletoguards = get_controls_locked_flag(); - if ((invisibletoguards == 0) && (firing = proc_7F0C24BC(), firing != 0)) { - uVar16 = in_a2_lo & ~in_a3_lo; - invisibletoguards = cur_player_get_aim_control(); - if (invisibletoguards == 0) { - pPlayer->insightaimmode = (uint)((in_a2_lo & uStack196) != 0); - } - else { - if ((uVar16 & uStack196) != 0) { - pPlayer->insightaimmode = (uint)(pPlayer->insightaimmode == 0); - } - } - iStack8 = pPlayer->insightaimmode; - bVar4 = (uVar16 & 0x4000) != 0; - uStack120 = (uint)(iStack8 == 0); - uStack16 = (uint)bVar4; - uStack4 = uStack120; - numplayers = cur_player_get_control_type(); - if ((numplayers == 1) || - (numplayers = cur_player_get_control_type(), numplayers == 3)) { - bVar1 = (in_a2_lo & 0x202) != 0; - uVar17 = (uint)bVar1; - if (bVar1) { - if (pPlayer->insightaimmode == 0) { - if (in_tank_flag == TRUE) { - fStack68 = 1.00000000; - } - else { - uStack44 = 1; - } - } - else { - fStack52 = 1.00000000; - } - } - bVar2 = (in_a2_lo & 0x101) != 0; - uStack380 = (uint)bVar2; - iStack88 = pPlayer->insightaimmode; - if (bVar2) { - if (iStack88 == 0) { - if (in_tank_flag == TRUE) { - fStack72 = 1.00000000; - } - else { - uStack48 = 1; - } - } - else { - fStack56 = 1.00000000; - } - } - bVar2 = iStack88 == 0; - bVar3 = bVar2; - if (bVar2) { - bVar3 = (in_a2_lo & 0x808) != 0; - } - uStack36 = (uint)bVar3; - bVar3 = bVar2; - if (bVar2) { - bVar3 = (in_a2_lo & 0x404) != 0; - } - uStack40 = (uint)bVar3; - uStack32 = (uint)bVar2; - uVar10 = uStack32; - if (in_tank_flag != TRUE) { - uStack28 = (uint)bVar2; - uVar17 = (uint)bVar1; - uVar10 = uStack24; - } - } - else { - bVar1 = (in_a2_lo & 0x202) != 0; - uVar17 = (uint)bVar1; - if (bVar1) { - fStack52 = 1.00000000; - } - bVar2 = (in_a2_lo & 0x101) != 0; - if (bVar2) { - fStack56 = 1.00000000; - } - iStack88 = pPlayer->insightaimmode; - bVar3 = iStack88 == 0; - uStack44 = (uint)(bVar3 && bVar1); - uStack380 = (uint)bVar2; - uStack48 = (uint)(bVar3 && bVar2); - uStack20 = (uint)bVar3; - if ((iStack88 == 0) && ((in_a2_lo & 0x808) != 0)) { - fStack60 = 1.00000000; - } - if ((iStack88 == 0) && ((in_a2_lo & 0x404) != 0)) { - fStack64 = 1.00000000; - } - uStack28 = (uint)bVar3; - uVar10 = uStack24; - } - uStack24 = uVar10; - if ((iStack88 == 0) || (in_a1_lo < '=')) { - if ((iStack88 != 0) && - ((in_a1_lo < -0x3c && - (fStack64 = (float)(-0x3c - (int)in_a1_lo) / 10.00000000, - 1.00000000 < fStack64)))) { - fStack64 = 1.00000000; - } - } - else { - fStack60 = (float)((int)in_a1_lo + -0x3c) / 10.00000000; - if (1.00000000 < fStack60) { - fStack60 = 1.00000000; - } - } - if (((iStack88 != 0) && (in_a0_lo < -0x3c)) && - (fStack68 = (float)(-0x3c - (int)in_a0_lo) / 10.00000000, 1.00000000 < fStack68)) - { - fStack68 = 1.00000000; - } - if (((iStack88 != 0) && ('<' < in_a0_lo)) && - (fStack72 = (float)((int)in_a0_lo + -0x3c) / 10.00000000, 1.00000000 < fStack72)) - { - fStack72 = 1.00000000; - } - bVar1 = (in_a2_lo & uStack198) != 0; - bVar2 = bVar1; - if (bVar1) { - bVar2 = (uVar16 & uStack194) != 0; - } - uStack76 = (uint)bVar2; - bVar3 = (uVar16 & uStack198) != 0; - bVar2 = bVar3; - if (bVar3) { - bVar2 = (in_a2_lo & uStack194) == 0; - } - uStack80 = (uint)bVar2; - iStack84 = iStack88; - item = get_item_in_hand(0); - invisibletoguards = check_special_attributes(item,0x8000); - if (invisibletoguards != 0) { - if (pPlayer->insightaimmode != 0) { - if ((in_a2_lo & 0x404) != 0) { - zoom = 1.00000000; - } - if ((in_a2_lo & 0x808) != 0) { - fStack96 = 1.00000000; - } - } - } - item = get_item_in_hand(0); - invisibletoguards = check_special_attributes(item,0x8000); - uStack100 = (uint)(invisibletoguards == 0); - if ((invisibletoguards == 0) && - (bVar2 = pPlayer->insightaimmode != 0, uStack100 = (uint)bVar2, bVar2)) { - uStack100 = (uint)((in_a2_lo & 0x404) != 0); - } - item = get_item_in_hand(0); - invisibletoguards = check_special_attributes(item,0x8000); - uStack104 = (uint)(invisibletoguards == 0); - if ((invisibletoguards == 0) && - (bVar2 = pPlayer->insightaimmode != 0, uStack104 = (uint)bVar2, bVar2)) { - uStack104 = (uint)((~in_a2_lo & 0x808) != 0); - } - bVar2 = pPlayer->insightaimmode != 0; - uStack112 = (uint)bVar2; - uStack108 = uStack112; - if (bVar2) { - uStack112 = uStack380; - uStack108 = uVar17; - } - if ((((bVar1) && (bVar4)) || (((in_a2_lo & 0x4000) != 0 && (bVar3)))) && - (item = get_item_in_hand(0), item == ITEM_REMOTEMINE)) { - iStack116 = 1; - uStack76 = 0; - uStack80 = 0; - uStack16 = 0; - } - if ((in_tank_flag == TRUE) && (pPlayer->insightaimmode != 0)) { - item = get_item_in_hand(0); - if (item == ITEM_TANKSHELLS) { - iStack140 = 0; - uStack24 = 1; - } - else { - if ((fStack52 == 0.00000000) && (fStack56 == 0.00000000)) { - if (0.00000000 < fStack68) { - fStack52 = fStack68; - } - if (0.00000000 < fStack72) { - fStack56 = fStack72; - } - } - } - fStack68 = 0.00000000; - fStack72 = 0.00000000; - } - } - bVar4 = (in_a2_lo & uStack194) != 0; - uStack12 = (uint)bVar4; - if ((bVar4) && - (bVar4 = pPlayer->pause_animation_state == 0, uStack12 = (uint)bVar4, bVar4)) { - uStack12 = (uint)((in_a2_lo & uStack198) == 0); - } - numplayers = cur_player_get_control_type(); - if ((numplayers == 1) || (numplayers = cur_player_get_control_type(), numplayers == 3)) - { - iStack128 = 1; - } - } - } - pPlayer->field_D0 = 0; - if (uStack16 != 0) { - if (in_tank_flag == TRUE) { - iStack204 = *(int *)(ptr_playerstank + 4); - uVar12 = get_ammo_count_for_weapon(0x20); - *(undefined4 *)(iStack204 + 0xd8) = uVar12; - add_ammo_to_weapon(0x20,0); - proc_7F08C61C(0x20); - item = get_item_in_hand(0); - if (item == ITEM_TANKSHELLS) { - invisibletoguards = get_ammo_in_hands_magazine(0); - *(int *)(iStack204 + 0xd8) = *(int *)(iStack204 + 0xd8) + invisibletoguards; - autoadvance_on_deplete_all_ammo(); - } - *(undefined4 *)(iStack204 + 0xc4) = 0; - in_tank_flag = FALSE; - pPlayer->speedsideways = 0.00000000; - pPlayer->speedforwards = 0.00000000; - pPlayer->speedtheta = 0.00000000; - invisibletoguards = 0; - do { - iVar13 = invisibletoguards + 4; - *(undefined4 *)((int)&pPlayer->boost_factor_x + invisibletoguards) = 0; - invisibletoguards = iVar13; - } while (iVar13 != 0xc); - pPlayer->crouchposition = 2; - } - else { - if ((((ptr_playerstank == NULL) || (*ptr_playerstank != '\x01')) || - (*(char *)(*(int *)(ptr_playerstank + 4) + 3) != '-')) || (dword_80036480 == 0)) { - pPlayer->field_D0 = 1; - } - else { - iStack212 = *(int *)(ptr_playerstank + 4); - add_item_to_inventory(ITEM_TANKSHELLS); - add_ammo_to_weapon(0x20,*(int *)(iStack212 + 0xd8)); - dword_8003646C = *(float *)(iStack212 + 200); - *(undefined4 *)(iStack212 + 0xd8) = 0; - dword_80036470 = dword_8003646C / flt_80055120; - dword_80036484 = *(undefined4 *)(iStack212 + 0xcc); - dword_80036474 = *(float *)(iStack212 + 0xcc); - dword_80036478 = dword_80036474 / flt_80055124; - dword_8003647C = 0; - dword_80036464 = *(undefined4 *)(iStack212 + 0xdc); - dword_80036460 = 0.00000000; - in_tank_flag = TRUE; - DAT_800799b8 = 0; - pPlayer->speedsideways = 0.00000000; - pPlayer->speedforwards = 0.00000000; - pPlayer->speedtheta = 0.00000000; - pPlayer->crouchposition = 1; - DAT_800799bc = 0; - f32_800799c0 = 1.00000000; - copy_bond_azimuth = pPlayer->vv_theta; - copy_bond_inclination_angle1 = pPlayer->vv_verta; - copy_bond_posx = pPlayer->positionx; - copy_bond_posy = pPlayer->positiony; - copy_bond_posz = pPlayer->positionz; - dword_80036490 = 0; - proc_7F07C7B4(); - } - } - } - fVar19 = fStack64; - if (uStack124 == 0) { - iStack144 = -(int)in_a1_lo; - iStack152 = -iStack152; - fStack64 = fStack60; - fStack60 = fVar19; - } - invincible = check_if_bond_is_invincible(); - if ((invincible != 0) && (numplayers = get_num_players(), numplayers == 1)) { - uStack12 = 0; - } - proc_7F067420(uStack12); - invisibletoguards = get_invisible_to_guards_flag(); - if ((invisibletoguards != 0) && - ((firing = get_hands_firing_status(0), firing != 0 || - (firing = get_hands_firing_status(1), firing != 0)))) { - fStack220 = 0.00000000; - firing = get_hands_firing_status(0); - if ((firing != 0) && (fVar19 = extraout_f0, proc_7F067174(0), 0.00000000 < fVar19)) { - proc_7F067174(0); - fStack220 = fVar19; - } - firing = get_hands_firing_status(1); - if ((firing != 0) && (fVar19 = extraout_f0_00, proc_7F067174(1), fStack220 < fVar19)) { - proc_7F067174(1); - fStack220 = fVar19; - } - proc_7F022EEC(); - } - set_unset_bitflags(2,iStack84); - if (0.00000000 < zoom) { - camera_sniper_zoom(zoom); - } - if (0.00000000 < fStack96) { - proc_7F05DE94(fStack96); - } - if (pPlayer->pause_animation_state == 0) { - if (iStack88 != 0) { - proc_7F05DD38(); - } - proc_7F07E46C(); - proc_7F07E62C(); - } - if (in_tank_flag == TRUE) { - dword_80036488 = 0.00000000; - if (DAT_800799b8 == 2) { - if (0.00000000 < fStack56) { - dword_80036488 = global_timer_delta * fStack56 * flt_80055128 + 0.00000000; - } - else { - if (0.00000000 < fStack52) { - dword_80036488 = 0.00000000 - global_timer_delta * fStack52 * flt_8005512C; - } - else { - if (uStack24 != 0) { - fVar19 = 1.00000000; - if ((float)iStack156 / 70.00000000 <= 1.00000000) { - fVar19 = (float)iStack156 / 70.00000000; - } - fVar18 = -1.00000000; - if (-1.00000000 <= fVar19) { - fVar18 = fVar19; - } - dword_80036488 = flt_80055130 * fVar18 * global_timer_delta + 0.00000000; - } - } - } - fVar19 = 1.00000000; - if (pPlayer->insightaimmode == 0) { - if (uStack20 == 0) { - fVar18 = fVar19; - if ((uStack36 == 0) && (fVar18 = 0.00000000, uStack40 != 0)) { - fVar18 = -1.00000000; - } - } - else { - fVar18 = (float)iStack160 / 70.00000000; - } - if (1.00000000 < fVar18) { - vector1 = 1.00000000; - } - else { - vector1 = -1.00000000; - if (-1.00000000 <= fVar18) { - vector1 = fVar18; - } - } - vector1 = vector1 * 15.00000000; - if (0 < dword_80036490) { - fVar19 = 4.00000000; - dword_80036490 -= clock_timer; - vector1 = vector1 * 0.50000000; - } - fVar18 = pPlayer->speedforwards; - if (vector1 != fVar18) { - if (fVar18 < vector1) { - pPlayer->speedforwards = - fVar18 + (((((vector1 - fVar18) * 0.25000000) / 15.00000000 + - 0.50000000) * fVar19 * 10.00000000) / 60.00000000) * - global_timer_delta; - if (vector1 < pPlayer->speedforwards) { - pPlayer->speedforwards = vector1; - } - } - else { - if ((vector1 < fVar18) && - (pPlayer->speedforwards = - fVar18 + (((((fVar18 - vector1) * 0.25000000) / 15.00000000 + - 0.50000000) * fVar19 * -10.00000000) / 60.00000000) * - global_timer_delta, pPlayer->speedforwards < vector1)) { - pPlayer->speedforwards = vector1; - } - } - } - } - } - } - else { - if (uStack44 == 0) { - if (uStack48 == 0) { - proc_7F07FCC4(0); - } - else { - proc_7F07FCC4(1); - } - } - else { - proc_7F07FCC4(-1); - } - if (uStack24 != 0) { - pPlayer->speedsideways = (float)iStack156 / 70.00000000; - } - if (uStack36 == 0) { - if (uStack40 == 0) { - proc_7F07FE1C(0); - } - else { - proc_7F07FE1C(-1); - } - } - else { - proc_7F07FE1C(1); - pPlayer->speedmaxtime60 = pPlayer->speedmaxtime60 + clock_timer; - } - if (uStack20 != 0) { - pPlayer->speedforwards = (float)iStack160 / 70.00000000; - if (iStack160 < 0x3d) { - pPlayer->speedmaxtime60 = 0; - } - else { - pPlayer->speedmaxtime60 = pPlayer->speedmaxtime60 + clock_timer; - } - } - fVar19 = pPlayer->speedforwards; - if (1.00000000 < fVar19) { - pPlayer->speedforwards = 1.00000000; - fVar19 = pPlayer->speedforwards; - } - if (fVar19 < -1.00000000) { - pPlayer->speedforwards = -1.00000000; - } - fVar19 = pPlayer->speedsideways; - if (1.00000000 < fVar19) { - pPlayer->speedsideways = 1.00000000; - fVar19 = pPlayer->speedsideways; - } - if (fVar19 < -1.00000000) { - pPlayer->speedsideways = -1.00000000; - } - pPlayer->speedforwards = pPlayer->speedforwards * flt_80055134; - pPlayer->speedforwards = pPlayer->speedforwards * (float)pPlayer->speedboost; - if ((uStack20 == 0) && (uStack36 == 0)) { - pPlayer->speedmaxtime60 = 0; - } - if (uStack108 == 0) { - if (uStack112 == 0) { - proc_7F079988(0); - } - else { - proc_7F079988(1); - } - } - else { - proc_7F079988(-1); - } - if (uStack100 == 0) { - if (uStack104 != 0) { - change_crouch_position(2); - } - } - else { - change_crouch_position(-2); - } - } - if (pPlayer->speedmaxtime60 < 0xb4) { - fVar19 = (float)pPlayer->speedboost; - if (1.00000000 < fVar19) { - *(float *)&pPlayer->speedboost = fVar19 - FLOAT_8005513c * global_timer_delta; - fVar19 = (float)pPlayer->speedboost; - } - if (fVar19 < 1.00000000) { - pPlayer->speedboost = 1.00000000; - goto LAB_7f083468; - } - invisibletoguards = pPlayer->pause_animation_state; - } - else { - fVar19 = (float)pPlayer->speedboost; - if (fVar19 < 1.25000000) { - *(float *)&pPlayer->speedboost = fVar19 + flt_80055138 * global_timer_delta; - fVar19 = (float)pPlayer->speedboost; - } - if (1.25000000 < fVar19) { - pPlayer->speedboost = 1.25000000; -LAB_7f083468: - invisibletoguards = pPlayer->pause_animation_state; - } - else { - invisibletoguards = pPlayer->pause_animation_state; - } - } - if (invisibletoguards != 0) goto LAB_7f083b40; - fVar18 = -4.00000000; - if (pPlayer->lookaheadcentreenabled != 0) { - uStack256 = pPlayer->ptr_tile_printmanpos; - fStack260 = 300.00000000; - fStack252 = -4.00000000; - proc_7F08A274(pPlayer->position_data_pointer,&uStack288,&fStack280,&uStack284); - fStack276 = (float)pPlayer->field_498 * 300.00000000 + (float)pPlayer->positionx; - fStack272 = (float)pPlayer->positiony; - fStack268 = (float)pPlayer->field_4A0 * 300.00000000 + (float)pPlayer->positionz; - proc_7F0B1CC4(); - invisibletoguards = proc_7F0B0E24(&uStack256,extraout_f12,extraout_f14,pPlayer->positionx); - if (invisibletoguards == 0) { - proc_7F026298((float *)&pPlayer->positionx,(float *)&pPlayer->field_498,&fStack276); - fVar19 = fStack276 - (float)pPlayer->positionx; - fVar18 = fStack268 - (float)pPlayer->positionz; - fStack260 = sqrtf(fVar19 * fVar19 + fVar18 * fVar18); - fVar19 = proc_7F080D60((longlong)(int)uStack256,fStack276,fStack268); - } - else { - fVar19 = proc_7F080D60((longlong)(int)uStack256,fStack276,fStack268); - } - fVar18 = fStack252; - fStack272 = fVar19; - if (((0.00000000 < fStack260) && - (vector1 = fVar19 - (float)pPlayer->clipping_height, -300.00000000 < vector1)) && - (vector1 < 500.00000000)) { - fVar19 = convert_angle_using_inverse((f32)vector1,(f32)fStack260); - fVar18 = (fVar19 * 360.00000000) / flt_80055140 + -4.00000000; - if (180.00000000 <= fVar18) { - fVar18 = fVar18 - 360.00000000; - } - if (0.00000000 < fVar18) { - fVar18 = fVar18 * flt_80055144; - } - } - } - if (((pPlayer->movecentrerelease != 0) && (iStack160 < 0x28)) && (-0x28 < iStack160)) { - pPlayer->movecentrerelease = 0; - } - if (in_tank_flag == FALSE) { - if (fStack60 <= 0.00000000) { - if (0.00000000 < fStack64) { - pPlayer->field_104 = 0; - goto LAB_7f0836e8; - } - if (iStack128 != 0) { - pPlayer->automovecentre = 0; - goto LAB_7f083830; - } - if (pPlayer->automovecentreenabled == 0) { - if (pPlayer->fastmovecentreenabled == 0) { - pPlayer->field_10C = 0; - } - else { - if ((uStack20 != 0) && ((0x3c < iStack160 || (iStack160 < -0x3c)))) { - fVar19 = pPlayer->vv_verta; - if (fVar19 <= fVar18 + 5.00000000) { - if (fVar18 + -10.00000000 <= fVar19) { - pPlayer->field_10C = 0; - goto LAB_7f083838; - } - invisibletoguards = pPlayer->movecentrerelease; - } - else { - invisibletoguards = pPlayer->movecentrerelease; - } - if (invisibletoguards != 0) { - pPlayer->field_10C = 0; - goto LAB_7f083838; - } - pPlayer->field_104 = 1; - } -LAB_7f083830: - pPlayer->field_10C = 0; - } - } - else { - if (uStack20 == 0) { -LAB_7f08374c: - invisibletoguards = pPlayer->automovecentre; - } - else { - if ((0x3c < iStack160) || (iStack160 < -0x3c)) { - pPlayer->automovecentre = 1; - goto LAB_7f08374c; - } - invisibletoguards = pPlayer->automovecentre; - } - if (invisibletoguards == 0) { - pPlayer->field_10C = 0; - } - else { - fVar19 = pPlayer->vv_verta; - if (fVar19 <= fVar18 + 5.00000000) { - if (fVar18 + -10.00000000 <= fVar19) { - pPlayer->field_10C = 0; - goto LAB_7f083838; - } - invisibletoguards = pPlayer->movecentrerelease; - } - else { - invisibletoguards = pPlayer->movecentrerelease; - } - if (invisibletoguards == 0) { - pPlayer->field_104 = 1; - goto LAB_7f083830; - } - pPlayer->field_10C = 0; - } - } - } - else { - pPlayer->field_104 = 0; -LAB_7f0836e8: - pPlayer->field_10C = 1; - pPlayer->automovecentre = 0; - } -LAB_7f083838: - invisibletoguards = pPlayer->field_104; - } - else { - invisibletoguards = pPlayer->field_104; - } - if (invisibletoguards == 0) { - if (uStack32 == 0) { - if (fStack60 <= 0.00000000) { - if (0.00000000 < fStack64) { - fVar19 = (float)proc_7F080010(); - if ((uStack20 != 0) && ((0x3c < iStack160 || (iStack160 < 0x3c)))) { - pPlayer->movecentrerelease = 1; - } - } - else { - fVar19 = (float)proc_7F080010(); - } - } - else { - fVar19 = (float)proc_7F080010(); - if ((uStack20 != 0) && ((0x3c < iStack160 || (iStack160 < 0x3c)))) { - pPlayer->movecentrerelease = 1; - } - } - } - else { - video_related_23(); - fVar18 = (float)iStack152 / 70.00000000; - if (1.00000000 < fVar18) { - fVar18 = 1.00000000; - bVar4 = true; - } - else { - if (fVar18 < -1.00000000) { - fVar18 = -1.00000000; - bVar4 = false; - } - else { - bVar4 = 0.00000000 <= fVar18; - } - } - vector1 = fVar18; - if (!bVar4) { - vector1 = -fVar18; - } - pPlayer->speedverta = -(fVar18 * vector1) * (fVar19 / 60.00000000); - } - pPlayer->vv_verta = - pPlayer->vv_verta + pPlayer->speedverta * global_timer_delta * 3.50000000; - if (((in_tank_flag == TRUE) && (DAT_800799b8 == 2)) && - (fVar19 = -20.00000000, pPlayer->vv_verta < -20.00000000)) { - pPlayer->vv_verta = -20.00000000; - } - } - else { - if (in_tank_flag == FALSE) { - fVar19 = (pPlayer->speedverta * pPlayer->speedverta * 0.50000000) / flt_80055148; - fStack252 = fVar18; - if (fVar18 + fVar19 < pPlayer->vv_verta) { - proc_7F080010(); - } - else { - if (pPlayer->vv_verta < fVar18 - fVar19) { - proc_7F080010(); - } - else { - proc_7F080010(); - } - } - fVar19 = pPlayer->vv_verta; - fVar18 = pPlayer->speedverta * global_timer_delta; - fVar18 = fVar19 + fVar18 + fVar18; - if ((fVar19 <= fStack252) || (fVar18 <= fStack252)) { - if (fVar19 < fStack252) { - if (fVar18 < fStack252) { - pPlayer->vv_verta = fVar18; - goto LAB_7f083b40; - } - pPlayer->vv_verta = fStack252; - } - else { - pPlayer->vv_verta = fStack252; - } - pPlayer->speedverta = 0.00000000; - if (pPlayer->field_10C == 0) { - pPlayer->field_104 = 0; - } - } - else { - pPlayer->vv_verta = fVar18; - } - } - } -LAB_7f083b40: - if (uStack28 == 0) { - if (0.00000000 < fStack68) { - proc_7F0802C4(); - } - else { - if (0.00000000 < fStack72) { - proc_7F0802C4(); - } - else { - proc_7F0802C4(); - } - } - } - else { - video_related_23(); - fVar18 = (float)iStack148 / 70.00000000; - if (1.00000000 < fVar18) { - vector1 = 1.00000000; - } - else { - vector1 = -1.00000000; - if (-1.00000000 <= fVar18) { - vector1 = fVar18; - } - } - fVar18 = vector1; - if (vector1 < 0.00000000) { - fVar18 = -vector1; - } - pPlayer->speedtheta = vector1 * fVar18 * (fVar19 / 60.00000000); - } - if (in_tank_flag == TRUE) { - if (DAT_800799b8 == 2) { - fVar19 = 0.00000000; - if (uStack28 == 0) { - if (0.00000000 < fStack68) { - fVar19 = (float)proc_7F080228(); - fVar19 = fVar19 * flt_80055150; - } - else { - if (0.00000000 < fStack72) { - fVar19 = (float)proc_7F080228(); - fVar19 = fVar19 * flt_80055154; - } - } - } - else { - fVar19 = pPlayer->speedtheta * flt_8005514C; - } - if (0 < clock_timer) { - invisibletoguards = 1; - dword_80036460 = flt_80055158 * dword_80036460; - if (1 < clock_timer) { - do { - invisibletoguards += 1; - dword_80036460 = flt_80055158 * (dword_80036460 + fVar19); - } while (invisibletoguards < clock_timer); - } - dword_80036460 = dword_80036460 + fVar19; - } - pPlayer->speedtheta = dword_80036460 * flt_8005515C; - } - else { - pPlayer->speedtheta = 0.00000000; - } - } - if (iStack116 != 0) { - pPlayer->when_detonating_mines_is_0 = 0; - pPlayer->right_weapon_current_animation = 0; - trigger_remote_mine_detonation(); - } - numplayers = get_num_players(); - if (numplayers < 2) { - bVar4 = true; - } - else { - invisibletoguards = get_scenario(); - if (invisibletoguards == 2) { - invincible = proc_7F08CF80(); - if (invincible == 0) { - bVar4 = true; - } - else { - bVar4 = false; - } - } - else { - bVar4 = true; - } - } - if (bVar4) { - if (uStack76 != 0) { - backstep_through_inventory(); - } - if (uStack80 != 0) { - advance_through_inventory(); - } - } - if (uStack4 == 0) { - if (iStack8 != 0) { - pPlayer->controlstyle = 2; - } - } - else { - pPlayer->controlstyle = 0; - } - firing = (longlong)pPlayer->controlstyle; - if (firing == 0) { - proc_7F067AA4(0); - uVar12 = extraout_a0_lo; - uVar15 = extraout_a1_lo; - if (((uStack120 != 0) && - (redirect_get_BONDdata_autoaim_x(), uVar12 = extraout_a0_lo_00, - uVar15 = extraout_a1_lo_00, firing != 0)) && (pPlayer->autoxaimtime != 0)) { - item = get_item_in_hand(0); - invisibletoguards = check_special_attributes(item,8); - firing = (longlong)invisibletoguards; - uVar12 = extraout_a0_lo_01; - uVar15 = extraout_a1_lo_01; - } - if (((uStack120 != 0) && - (redirect_get_BONDdata_autoaim(), uVar12 = extraout_a0_lo_02, uVar15 = extraout_a1_lo_02 - , firing != 0)) && (pPlayer->autoyaimtime != 0)) { - item = get_item_in_hand(0); - check_special_attributes(item,8); - uVar12 = extraout_a0_lo_03; - uVar15 = extraout_a1_lo_03; - } - proc_7F067F58(uVar12,uVar15); - } - else { - if (firing == 2) { - proc_7F067AA4(0); - proc_7F067FBC(extraout_a0_lo_04,extraout_a1_lo_04); - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F083FC8(void) - -{ - u32 uVar1; - u32 uVar2; - int iVar3; - int iVar4; - int iVar5; - float fVar6; - f32 fVar7; - - if (pPlayer->damageshowtime < 0) { - iVar4 = pPlayer->healthshowtime; - goto LAB_7f084204; - } - if (pPlayer->damageshowtime == 0) { - set_unset_ammo_on_screen_setting(8,0); - set_unset_bitflags(0x10,0); - set_flags_in_BONDdata_stationary_intro_cam(4); - proc_7F08A944(4); - set_unset_clock_lock_bits(8,0); - fVar7 = get_BONDdata_watch_health(); - pPlayer->damagetype = (int)((float)fVar7 * 8.00000000); - if (7 < pPlayer->damagetype) { - pPlayer->damagetype = 7; - goto LAB_7f08406c; - } - iVar4 = pPlayer->damagetype; - } - else { -LAB_7f08406c: - iVar4 = pPlayer->damagetype; - } - iVar3 = pPlayer->damageshowtime; - if ((int)dword_80036634[iVar4].u32_0x8 < iVar3) { - if (iVar3 <= (int)dword_80036634[iVar4].u32_0x18) { - iVar5 = pPlayer->bonddead; - goto LAB_7f0840c0; - } - pPlayer->damageshowtime = -1; - proc_7F0807B0(0xff,0xff,0xff,0); - if (pPlayer->bonddead != 0) { - iVar4 = pPlayer->healthshowtime; - goto LAB_7f084204; - } - set_unset_ammo_on_screen_setting(8,1); - set_unset_bitflags(0x10,1); - proc_7F08A380(4); - proc_7F08A928(4); - set_unset_clock_lock_bits(8,1); - } - else { - iVar5 = pPlayer->bonddead; -LAB_7f0840c0: - if (iVar5 == 0) { - uVar1 = dword_80036634[iVar4].u32_0x10; - if (iVar3 < (int)uVar1) { - iVar4 = pPlayer->pause_animation_state; - } - else { - if ((int)dword_80036634[iVar4].u32_0x18 < iVar3) { - iVar4 = pPlayer->pause_animation_state; - } - else { - uVar2 = dword_80036634[iVar4].u32_0x14; - iVar3 -= uVar1; - iVar5 = dword_80036634[iVar4].u32_0x18 - uVar1; - if (iVar3 < (int)uVar2) { - fVar6 = ((float)dword_80036634[iVar4].f32_0x1c * (float)iVar3) / - (float)uVar2; - } - else { - fVar6 = ((float)dword_80036634[iVar4].f32_0x1c * (float)(iVar5 - iVar3)) / - (float)(iVar5 - uVar2); - } - proc_7F0807B0(dword_80036634[iVar4].u32_0x20,dword_80036634[iVar4].u32_0x24, - dword_80036634[iVar4].u32_0x28,fVar6); - iVar3 = pPlayer->damageshowtime; - iVar4 = pPlayer->pause_animation_state; - } - } - } - else { - iVar4 = pPlayer->pause_animation_state; - } - if (iVar4 == 0) { - pPlayer->damageshowtime = iVar3 + clock_timer; - } - else { - pPlayer->damageshowtime = iVar3 + speedgraphframes; - } - } - iVar4 = pPlayer->healthshowtime; -LAB_7f084204: - if (-1 < iVar4) { - if (iVar4 == 0) { - fVar7 = get_BONDdata_watch_health(); - pPlayer->field_29B8 = (int)((float)fVar7 * 8.00000000); - if (pPlayer->field_29B8 < 8) { - iVar4 = pPlayer->bonddead; - } - else { - pPlayer->field_29B8 = 7; - iVar4 = pPlayer->bonddead; - } - } - else { - iVar4 = pPlayer->bonddead; - } - if (iVar4 == 0) { - iVar4 = pPlayer->field_29B8; - iVar3 = pPlayer->healthshowtime; - if ((iVar3 < (int)(&dword_80036794)[iVar4 * 3]) || - ((int)(&DAT_80036798)[iVar4 * 3] < iVar3)) { - if ((iVar3 < (int)(&dword_80036794)[iVar4 * 3]) || - ((int)null_ARRAY_8003679c[iVar4 * 3] < iVar3)) { - pPlayer->healthshowtime = -1; - } - else { - pPlayer->apparenthealth = pPlayer->bondhealth; - pPlayer->apparentarmour = pPlayer->bondarmour; - pPlayer->healthshowtime = pPlayer->healthshowtime + clock_timer; - } - } - else { - pPlayer->apparenthealth = pPlayer->oldhealth; - pPlayer->apparentarmour = pPlayer->oldarmour; - pPlayer->healthshowtime = pPlayer->healthshowtime + clock_timer; - } - } - else { - pPlayer->healthshowtime = -1; - } - } - return; -} - - - -void proc_7F084360(void) - -{ - u32 uVar1; - uint uVar2; - float fVar3; - float local_c; - float local_8; - float local_4; - - DAT_800799a0 += 1; - if (((dword_80036444 != 0) && (disable_player_pickups_flag == 0)) && - (DAT_8007999c < global_timer)) { - local_c = *(float *)(pPlayer->position_data_pointer + 8); - local_8 = *(float *)(pPlayer->position_data_pointer + 0xc); - local_4 = *(float *)(pPlayer->position_data_pointer + 0x10); - uVar2 = DAT_800799a0 & 3; - if (((int)DAT_800799a0 < 0) && (uVar2 != 0)) { - uVar2 -= 4; - } - if (uVar2 == 0) { - uVar1 = get_random_value(); - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_c = local_c + fVar3 * 0.00000000 * 150.00000000 + 250.00000000; - } - else { - if (uVar2 == 1) { - uVar1 = get_random_value(); - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_c = local_c - (fVar3 * 0.00000000 * 150.00000000 + 250.00000000); - } - else { - if (uVar2 == 2) { - uVar1 = get_random_value(); - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_4 = local_4 + fVar3 * 0.00000000 * 150.00000000 + 250.00000000; - } - else { - if (uVar2 == 3) { - uVar1 = get_random_value(); - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_4 = local_4 - (fVar3 * 0.00000000 * 150.00000000 + 250.00000000); - } - } - } - } - uVar1 = get_random_value(); - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - local_8 = local_8 + (fVar3 * 0.00000000 * 200.00000000 - 100.00000000); - proc_7F09C250(0,&local_c,*(int *)(pPlayer->position_data_pointer + 0x14),0x12,0,0, - (char *)(pPlayer->position_data_pointer + 0x2c),0); - uVar1 = get_random_value(); - DAT_8007999c = uVar1 % 0xf + global_timer + 0xf; - } - return; -} - - - -void MoveBond(char param_1,char param_2,ushort param_3,ushort param_4) - -{ - short sVar1; - bool bVar2; - ITEM_IDS IVar5; - longlong lVar3; - ulonglong uVar4; - int iVar6; - BOOL BVar7; - longlong lVar8; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - longlong extraout_a0_02; - undefined8 extraout_a0_03; - longlong extraout_a0_04; - longlong extraout_a0_05; - longlong extraout_a0_06; - longlong extraout_a0_07; - undefined8 extraout_a0_08; - float *pfVar9; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - longlong extraout_a1_03; - longlong extraout_a1_04; - longlong extraout_a1_05; - undefined8 extraout_a1_06; - undefined8 extraout_a1_07; - undefined8 extraout_a1_08; - undefined8 extraout_a1_09; - undefined8 extraout_a1_10; - undefined8 uVar10; - char *pcVar11; - int iVar12; - float fVar13; - float __x; - float ducking_offset; - float fVar14; - float z; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float extraout_f12_09; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - float extraout_f14_05; - float extraout_f14_06; - tile_rgb tStack860; - uint uStack856; - float *apfStack852 [2]; - int iStack844; - undefined4 uStack840; - undefined4 uStack836; - undefined4 uStack832; - int iStack828; - int iStack824; - undefined4 uStack820; - float fStack816; - short *psStack812; - uint auStack804 [8]; - float afStack772 [12]; - float fStack724; - float fStack720; - float fStack716; - float afStack712 [16]; - int iStack648; - int iStack640; - float fStack628; - float fStack592; - float fStack588; - int iStack584; - int aiStack580 [3]; - float fStack568; - float fStack564; - float fStack560; - float fStack556; - float fStack552; - float fStack544; - float fStack540; - float fStack536; - float fStack532; - float fStack528; - float fStack520; - undefined auStack516 [76]; - int iStack440; - undefined4 *puStack436; - float fStack432; - float fStack416; - float fStack412; - float fStack408; - float fStack372; - float fStack356; - float fStack352; - float fStack348; - float fStack344; - float fStack340; - float afStack336 [17]; - float *pfStack268; - float afStack260 [16]; - float fStack196; - undefined4 uStack192; - float fStack188; - int iStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack156; - float fStack152; - float fStack148; - float fStack132; - float fStack128; - float afStack124 [2]; - float fStack116; - float afStack112 [2]; - float fStack104; - float fStack100; - float fStack96; - undefined4 *puStack92; - float fStack80; - float fStack72; - float afStack68 [2]; - float fStack60; - float fStack48; - float fStack44; - float fStack40; - undefined4 uStack36; - float fStack32; - float fStack24; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = dword_800367F4; - fStack4 = dword_800367FC; - uStack8 = dword_800367F8; - uStack36 = 0; - fStack32 = 0.00000000; - fStack40 = 0.00000000; - if (('c' < param_1) || (param_1 < -99)) { - return_null(); - } - if (('c' < param_2) || (param_2 < -99)) { - return_null(); - } - iVar12 = camera_80036424 + 1; - if ((0 < camera_80036424) && (camera_80036424 = iVar12, 3 < iVar12)) { - camera_80036424 = 0; - pPlayer->lock_hand_model[1] = 0; - pPlayer->lock_hand_model[0] = 0; - IVar5 = get_item_in_hand(1); - remove_hands_item(HAND_LEFT,IVar5); - IVar5 = get_item_in_hand(0); - remove_hands_item(HAND_RIGHT,IVar5); - } - proc_7F079A50(0); - proc_7F083FC8(); - proc_7F084360(); - controller_gameplay_interaction(); - iVar12 = get_controls_locked_flag(); - if (iVar12 != 0) { - proc_7F07EAF0(); - } - if (pPlayer->pause_animation_state != 0) { - probably_look_at_watch(); - } - if (in_tank_flag == FALSE) { - iVar12 = proc_7F0799F0(); - if (iVar12 == 0) { - pPlayer->speedforwards = pPlayer->speedforwards * 0.50000000; - pPlayer->speedsideways = pPlayer->speedsideways * 0.50000000; - } - __x = (float)pPlayer->boost_factor_x; - if (__x == 0.00000000) { - if ((float)pPlayer->boost_factor_z == 0.00000000) goto LAB_7f08497c; - fVar13 = (float)pPlayer->boost_factor_z; - } - else { - fVar13 = (float)pPlayer->boost_factor_z; - } - fStack44 = fVar13 * (float)pPlayer->vv_costheta + -__x * (float)pPlayer->vv_sintheta; - fStack48 = -__x * (float)pPlayer->vv_costheta - fVar13 * (float)pPlayer->vv_sintheta; - fVar13 = sqrtf(fVar13 * fVar13 + __x * __x); - iVar12 = 0; - pPlayer->speedforwards = pPlayer->speedforwards + fStack44; - pPlayer->speedsideways = pPlayer->speedsideways + fStack48; - __x = flt_8005516C; - do { - iVar6 = (int)&pPlayer->unknown + iVar12; - fVar14 = *(float *)(iVar6 + 0x180); - if (fVar14 != 0.00000000) { - if (0.00000000 < fVar14) { - *(float *)(iVar6 + 0x180) = - fVar14 - (__x * global_timer_delta * fVar14) / fVar13; - iVar6 = (int)&pPlayer->unknown + iVar12; - if (*(float *)(iVar6 + 0x180) < 0.00000000) { - *(undefined4 *)(iVar6 + 0x180) = 0; - } - } - else { - if (fVar14 < 0.00000000) { - *(float *)(iVar6 + 0x180) = - fVar14 - (__x * global_timer_delta * fVar14) / fVar13; - iVar6 = (int)&pPlayer->unknown + iVar12; - if (0.00000000 < *(float *)(iVar6 + 0x180)) { - *(undefined4 *)(iVar6 + 0x180) = 0; - } - } - } - } - iVar12 += 4; - } while (iVar12 != 0xc); - } -LAB_7f08497c: - if (in_tank_flag == TRUE) { - fStack96 = pPlayer->speedtheta * global_timer_delta * flt_80055174 * 3.50000000; - puStack92 = (undefined4 *)((float)dword_80036464 + fStack96); - if ((float)flt_80055170 <= (float)puStack92) { - puStack92 = (undefined4 *)((float)puStack92 - (float)flt_80055170); - } - if ((float)puStack92 < 0.00000000) { - puStack92 = (undefined4 *)((float)puStack92 + (float)flt_80055170); - iVar12 = pPlayer->ptr_tile_printmanpos; - } - else { - iVar12 = pPlayer->ptr_tile_printmanpos; - } - iVar12 = proc_7F07CAC8((float *)&pPlayer->positionx,iVar12,(float)flt_80055170,puStack92, - afStack68); - if (iVar12 == 0) { - fStack156 = -1.00000000; - fStack180 = -1.00000000; - proc_7F0B28B0(afStack112,afStack124); - fStack128 = afStack124[0] - afStack112[0]; - fStack132 = fStack116 - fStack104; - __x = sqrtf(fStack128 * fStack128 + fStack132 * fStack132); - fStack148 = fStack132 * (1.00000000 / __x); - fStack152 = -(fStack128 * (1.00000000 / __x)); - __x = ((float)pPlayer->positionz - fStack72) * fStack152 + - ((float)pPlayer->positionx - fStack80) * fStack148; - if (__x < 0.00000000) { - fStack148 = -fStack148; - fStack152 = -fStack152; - __x = -__x; - } - fVar13 = ((float)pPlayer->positionz - fStack104) * fStack152 + - ((float)pPlayer->positionx - afStack112[0]) * fStack148; - if (fVar13 < __x) { - fStack156 = __x - fVar13; - } - fStack128 = fStack80 - afStack68[0]; - fStack132 = fStack72 - fStack60; - __x = sqrtf(fStack128 * fStack128 + fStack132 * fStack132); - fStack172 = fStack132 * (1.00000000 / __x); - fStack176 = -(fStack128 * (1.00000000 / __x)); - z = (float)pPlayer->positionz; - __x = (float)pPlayer->positionx; - fVar13 = (z - fStack72) * fStack176 + (__x - fStack80) * fStack172; - if (fVar13 < 0.00000000) { - fStack172 = -fStack172; - fStack176 = -fStack176; - fVar13 = -fVar13; - } - fVar14 = (z - fStack104) * fStack176 + (__x - afStack112[0]) * fStack172; - __x = (z - fStack116) * fStack176 + (__x - afStack124[0]) * fStack172; - if (fVar14 <= __x) { - __x = fVar14; - } - if (__x < fVar13) { - fStack180 = fVar13 - __x; - } - if ((0.00000000 <= fStack180) && ((fStack180 < fStack156 || (fStack156 < 0.00000000)))) - { - fStack148 = fStack172; - fStack152 = fStack176; - fStack156 = fStack180; - } - if (0.00000000 <= fStack156) { - fStack12 = fStack156 * fStack148 * flt_80055178; - fStack4 = fStack156 * fStack152 * flt_8005517C; - proc_7F07D960(&fStack12,1); - fStack12 = 0.00000000; - fStack4 = 0.00000000; - iVar12 = proc_7F07CAC8((float *)&pPlayer->positionx,pPlayer->ptr_tile_printmanpos, - extraout_f12,puStack92,afStack68); - if (iVar12 == 0) { - fStack96 = 0.00000000; - } - else { - dword_80036464 = puStack92; - } - } - else { - fStack96 = 0.00000000; - } - } - else { - dword_80036464 = puStack92; - } - fStack100 = dword_80036474; - dword_80036484 = dword_80036484 + dword_80036488; - if (flt_80055180 <= dword_80036484) { - dword_80036484 = dword_80036484 - flt_80055180; - } - if (dword_80036484 < 0.00000000) { - dword_80036484 = dword_80036484 + flt_80055180; - __x = pPlayer->speedtheta; - } - else { - __x = pPlayer->speedtheta; - } - __x = __x * 3.50000000 * flt_80055184 * 4.00000000 + dword_80036484; - if (__x < 0.00000000) { - __x = __x + flt_80055180; - } - if (flt_80055180 <= __x) { - __x = __x - flt_80055180; - } - if (flt_80055188 <= __x - dword_80036474) { - __x = __x - flt_8005518C; - } - else { - if (__x - dword_80036474 < flt_80055190) { - __x = __x + flt_80055194; - } - } - lVar8 = (longlong)clock_timer; - lVar3 = 0; - if (0 < lVar8) { - lVar3 = 1; - dword_80036478 = flt_80055198 * dword_80036478; - if (1 < lVar8) { - do { - lVar3 = (longlong)((int)lVar3 + 1); - dword_80036478 = flt_80055198 * (dword_80036478 + __x); - } while (lVar3 < lVar8); - } - dword_80036478 = dword_80036478 + __x; - } - dword_80036474 = dword_80036478 * flt_8005519C; - if (flt_800551A0 <= dword_80036474) { - dword_80036474 = dword_80036474 - flt_800551A0; - dword_80036478 = dword_80036474 / flt_8005519C; - } - __x = dword_80036474; - if (dword_80036474 < 0.00000000) { - dword_80036474 = dword_80036474 + flt_800551A0; - dword_80036478 = dword_80036474 / flt_8005519C; - iVar12 = pPlayer->ptr_tile_printmanpos; - } - else { - iVar12 = pPlayer->ptr_tile_printmanpos; - } - proc_7F07CDA8((float *)&pPlayer->positionx,iVar12,__x); - if (lVar3 == 0) { - dword_80036474 = fStack100; - dword_80036484 = fStack100; - dword_80036478 = fStack100 / flt_800551AC; - } - __x = flt_800551A8; - if (ptr_playerstank != 0) { - iStack184 = *(int *)(ptr_playerstank + 4); - uStack192 = 0; - fStack196 = DAT_800799a8; - fStack188 = dword_8007A070; - proc_7F0585FC(fStack96,extraout_a0,afStack260); - proc_7F0583D8(afStack260,&fStack196); - proc_7F07C7B4(); - fStack196 = DAT_800799a8 - fStack196; - uStack192 = 0; - fStack188 = dword_8007A070 - fStack188; - proc_7F0585FC(flt_800551BC - (float)dword_80036464,extraout_a0_00,afStack260); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(iStack184 + 0x14) + 0x14),extraout_a0_01,afStack260); - proc_7F0583D8(afStack260,&fStack196); - proc_7F07D960(&fStack196,1); - __x = flt_800551CC; - } - if ((0 < clock_timer) && (0 < clock_timer)) { - iVar12 = 1; - dword_8003647C = __x * dword_8003647C; - if (1 < clock_timer) { - do { - iVar12 += 1; - dword_8003647C = __x * (dword_8003647C + dword_80036488 / global_timer_delta); - } while (iVar12 < clock_timer); - } - dword_8003647C = dword_8003647C + dword_80036488 / global_timer_delta; - } - pPlayer->vv_theta = - (((float)dword_80036464 + dword_80036474 + - pPlayer->speedtheta * 3.50000000 * flt_800551D4 * 4.00000000 + - dword_8003647C * flt_800551D0 * 4.00000000) * 360.00000000) / flt_800551D8; - __x = pPlayer->vv_theta; - while (__x < 0.00000000) { - pPlayer->vv_theta = __x + 360.00000000; - __x = pPlayer->vv_theta; - } - while (360.00000000 <= __x) { - pPlayer->vv_theta = __x - 360.00000000; - __x = pPlayer->vv_theta; - } - } - else { - __x = pPlayer->vv_theta + pPlayer->speedtheta * global_timer_delta * 3.50000000; - while (__x < 0.00000000) { - __x = __x + 360.00000000; - } - if (360.00000000 <= __x) { - do { - __x = __x - 360.00000000; - } while (360.00000000 <= __x); - pPlayer->vv_theta = __x; - } - else { - pPlayer->vv_theta = __x; - } - } - proc_7F081790(); - pfStack268 = NULL; - iVar12 = proc_7F0799F0(); - if (iVar12 == 0) { - pfStack268 = (float *)0xc2c80000; - uVar10 = extraout_a1; - __x = extraout_f12_00; - fVar13 = extraout_f14; - } - else { - iVar12 = proc_7F0799F0(); - if (iVar12 == 1) { - pfStack268 = (float *)0xc2700000; - uVar10 = extraout_a1_00; - __x = extraout_f12_01; - fVar13 = extraout_f14_00; - } - else { - proc_7F0799F0(); - uVar10 = extraout_a1_01; - __x = extraout_f12_02; - fVar13 = extraout_f14_01; - } - } - ducking_offset = (float)pPlayer->ducking_height_offset; - lVar3 = (longlong)(int)&pPlayer->ducking_height_offset; - if ((float)pfStack268 != ducking_offset) { - proc_7F042F18((float *)&pPlayer->ducking_height_offset,__x,pfStack268,fVar13, - (float)&pPlayer->field_A4,0.50000000); - ducking_offset = (float)pPlayer->ducking_height_offset; - lVar3 = extraout_a0_02; - uVar10 = extraout_a1_02; - } - if ((float)pfStack268 == ducking_offset) { - pPlayer->field_A4 = 0.00000000; - } - if (in_tank_flag == TRUE) { - if (DAT_800799b8 == 0) { - lVar8 = (longlong)(int)afStack336; - if (ptr_playerstank != 0) { - iVar12 = *(int *)(ptr_playerstank + 4); - proc_7F0585FC(flt_800551DC - (float)dword_80036464,lVar3,afStack336); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(iVar12 + 0x14) + 0x14),extraout_a0_03,afStack336); - fStack348 = DAT_800799a8; - fStack344 = DAT_800799ac; - fStack340 = dword_8007A070; - proc_7F0583D8(afStack336,&fStack348); - fStack356 = -20.00000000; - fStack348 = fStack348 + *(float *)(iVar12 + 0x58); - fStack344 = fStack344 + *(float *)(iVar12 + 0x5c); - fStack340 = fStack340 + *(float *)(iVar12 + 0x60); - fStack352 = (((float)dword_80036464 + dword_80036474) * 360.00000000) / flt_800551E0 - ; - if (-20.00000000 <= pPlayer->vv_verta) { - fStack356 = pPlayer->vv_verta; - } - DAT_800799bc = DAT_800799bc + global_timer_delta / 45.00000000; - if (1.00000000 <= DAT_800799bc) { - DAT_800799bc = 1.00000000; - } - __x = cosf(DAT_800799bc * flt_800551E4 * 0.50000000); - f32_800799c0 = (f32)((__x + 1.00000000) * 0.50000000); - pPlayer->vv_verta = - (float)f32_800799c0 * copy_bond_inclination_angle1 + - (1.00000000 - (float)f32_800799c0) * fStack356; - __x = fStack352; - if (180.00000000 < fStack352 - copy_bond_azimuth) { - __x = fStack352 - 360.00000000; - } - if (fStack352 - copy_bond_azimuth < -180.00000000) { - __x = __x + 360.00000000; - } - pPlayer->vv_theta = - (float)f32_800799c0 * copy_bond_azimuth + - (1.00000000 - (float)f32_800799c0) * __x; - __x = pPlayer->vv_theta; - if (360.00000000 <= __x) { - pPlayer->vv_theta = __x - 360.00000000; - __x = pPlayer->vv_theta; - } - if (__x < 0.00000000) { - pPlayer->vv_theta = __x + 360.00000000; - } - uStack8 = 0; - fStack12 = ((float)f32_800799c0 * copy_bond_posx + - (1.00000000 - (float)f32_800799c0) * fStack348) - - (float)pPlayer->positionx; - fStack4 = ((float)f32_800799c0 * copy_bond_posz + - (1.00000000 - (float)f32_800799c0) * fStack340) - - (float)pPlayer->positionz; - lVar3 = extraout_a0_04; - lVar8 = extraout_a1_03; - } - if (1.00000000 <= DAT_800799bc) { - DAT_800799b8 = 1; - } - } - else { - if (DAT_800799b8 == 1) { - DAT_800799b8 = 2; - if ((dword_80036458 == NULL) && (iVar12 = get_controls_locked_flag(), iVar12 == 0)) - { - play_sfx_a1(ptr_sfx_buf,0x42,(ALSndPlayer *)&dword_80036458); - } - music_related_36((longlong)(int)dword_80036458,8,25000); - DAT_800799b4 = 25000; - lVar3 = extraout_a0_05; - lVar8 = extraout_a1_04; - } - else { - fVar13 = pPlayer->speedforwards / 15.00000000; - __x = pPlayer->speedtheta / flt_800551E8; - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - } - if (__x < 0.00000000) { - __x = -__x; - } - if (__x <= fVar13) { - __x = fVar13; - } - if (0.00000000 < __x) { - fVar13 = 1.00000000; - if (__x <= 1.00000000) { - fVar13 = __x; - } - if ((dword_8003645C == NULL) && - (fStack372 = fVar13, iVar12 = get_controls_locked_flag(), fVar13 = fStack372, - iVar12 == 0)) { - play_sfx_a1(ptr_sfx_buf,0x3e,(ALSndPlayer *)&dword_8003645C); - fVar13 = fStack372; - } - __x = fVar13; - if ((longlong)(int)dword_8003645C != 0) { - iVar12 = 0x7fff; - if (fVar13 < flt_800551EC) { - iVar12 = (int)((fVar13 * flt_800551F0) / flt_800551EC); - } - else { - if (fVar13 < flt_800551F4) { - iVar12 = (int)(((fVar13 - flt_800551EC) * flt_800551F8) / 0.75000000 - + flt_800551FC); - } - } - fStack372 = fVar13; - music_related_36((longlong)(int)dword_8003645C,8,iVar12); - __x = fStack372; - } - } - else { - if ((dword_8003645C != NULL) && - (fStack372 = __x, uVar4 = sfxGetArg0Unk3F(dword_8003645C), __x = fStack372, - uVar4 != 0)) { - sfxDeactivate((int)dword_8003645C); - __x = fStack372; - } - } - if ((dword_80036458 == NULL) && - (fStack372 = __x, iVar12 = get_controls_locked_flag(), __x = fStack372, - iVar12 == 0)) { - play_sfx_a1(ptr_sfx_buf,0x41,(ALSndPlayer *)&dword_80036458); - __x = fStack372; - } - if ((longlong)(int)dword_80036458 != 0) { - DAT_800799b4 = 0x7fff; - if (__x < flt_80055200) { - DAT_800799b4 = (int)((__x * flt_80055204) / flt_80055208 + flt_8005520C); - } - music_related_36((longlong)(int)dword_80036458,8,DAT_800799b4); - } - IVar5 = get_item_in_hand(0); - if (IVar5 == ITEM_TANKSHELLS) { - dword_8003646C = (float)pPlayer->field_2A08 + flt_80055210; - } - __x = flt_80055214; - if (dword_8003646C <= flt_80055214) { - __x = dword_8003646C; - } - fVar13 = flt_80055218; - if (flt_80055218 <= __x) { - fVar13 = __x; - } - lVar3 = (longlong)clock_timer; - if (0 < lVar3) { - lVar8 = 1; - dword_80036470 = flt_8005521C * dword_80036470; - if (1 < lVar3) { - do { - lVar8 = (longlong)((int)lVar8 + 1); - dword_80036470 = flt_8005521C * (dword_80036470 + fVar13); - } while (lVar8 < lVar3); - } - dword_80036470 = dword_80036470 + fVar13; - } - dword_8003646C = dword_80036470 * flt_80055220; - lVar8 = extraout_a1_05; - } - } - *(float *)&pPlayer->bondfadefracnew = - (float)pPlayer->bondfadefracnew - (global_timer_delta * 0.75000000) / flt_80055224; - if ((float)pPlayer->bondfadefracnew < 0.00000000) { - pPlayer->bondfadefracnew = 0.00000000; - } - proc_7F080B34(0.00000000,0.00000000,lVar3,lVar8,0.00000000); - __x = sinf(flt_80055228 - (float)dword_80036464); - fStack12 = fStack12 + pPlayer->speedforwards * __x * global_timer_delta; - __x = cosf(flt_8005522C - (float)dword_80036464); - fStack4 = fStack4 + pPlayer->speedforwards * __x * global_timer_delta; - proc_7F07D960(&fStack12,1); - if ((DAT_800799b8 == 2) && (0 < clock_timer)) { - __x = ((float)pPlayer->positionx - (float)pPlayer->field_408) / global_timer_delta; - fVar13 = ((float)pPlayer->positionz - (float)pPlayer->field_410) / global_timer_delta; - __x = sqrtf(__x * __x + fVar13 * fVar13); - if (pPlayer->speedforwards < 0.00000000) { - __x = -__x; - } - pPlayer->speedforwards = __x; - } - goto LAB_7f0863ac; - } - if (dword_80036458 == NULL) { - lVar3 = (longlong)(int)dword_8003645C; - } - else { - uVar4 = sfxGetArg0Unk3F(dword_80036458); - uVar10 = extraout_a1_06; - if (uVar4 != 0) { - DAT_800799b4 += clock_timer * -1000; - if (0 < DAT_800799b4) { - music_related_36((longlong)(int)dword_80036458,8,DAT_800799b4); - lVar3 = (longlong)(int)dword_8003645C; - uVar10 = extraout_a1_07; - goto LAB_7f085bb4; - } - sfxDeactivate((int)dword_80036458); - uVar10 = extraout_a1_08; - } - lVar3 = (longlong)(int)dword_8003645C; - } -LAB_7f085bb4: - if ((lVar3 != 0) && - (uVar4 = sfxGetArg0Unk3F((ALLink_s *)lVar3), lVar3 = extraout_a0_06, uVar10 = extraout_a1_09, - uVar4 != 0)) { - sfxDeactivate((int)dword_8003645C); - lVar3 = extraout_a0_07; - uVar10 = extraout_a1_10; - } - fStack24 = pPlayer->speedsideways * DAT_80036af4 * 0.50000000 * global_timer_delta; - fStack408 = (float)pPlayer->field_4A0 * -(float)pPlayer->field_1274 - (float)pPlayer->field_1278 - ; - fStack412 = (float)pPlayer->field_498 * (float)pPlayer->field_1274 - (float)pPlayer->field_127C; - fStack416 = fStack408 * fStack408 + fStack412 * fStack412; - if (100.00000000 <= fStack416) { - fStack408 = fStack408 * flt_80055230; - fStack412 = fStack412 * flt_80055230; - } - fVar13 = pPlayer->speedforwards; - fStack32 = pPlayer->speedsideways * flt_80055234; - __x = pPlayer->speedtheta * flt_80055234; - if (fStack32 < 0.00000000) { - fStack32 = -fStack32; - } - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - } - if (__x < 0.00000000) { - __x = -__x; - } - if (fStack32 <= fVar13) { - fStack32 = fVar13; - } - if (__x <= fStack32) { - __x = fStack32; - } - fStack32 = __x; - if ((flt_80055238 <= fStack416) && (fStack32 < flt_80055234)) { - fStack32 = flt_80055234; - } - if (0.75000000 <= fStack32) { - *(float *)&pPlayer->bondfadefracnew = - (float)pPlayer->bondfadefracnew + - ((fStack32 - 0.75000000) * global_timer_delta) / 900.00000000; - } - else { - *(float *)&pPlayer->bondfadefracnew = - (float)pPlayer->bondfadefracnew - - ((0.75000000 - fStack32) * global_timer_delta) / flt_8005523C; - } - if ((float)pPlayer->bondfadefracnew < 0.00000000) { - pPlayer->bondfadefracnew = 0.00000000; - } - else { - if (1.00000000 < (float)pPlayer->bondfadefracnew) { - pPlayer->bondfadefracnew = 1.00000000; - } - } - proc_7F080B34(fStack32,pPlayer->speedforwards,lVar3,uVar10,fStack24); - fStack12 = fStack12 + - ((float)pPlayer->field_504 * (float)pPlayer->field_498 - - (float)pPlayer->scaled_velocity * (float)pPlayer->field_4A0) * global_timer_delta + - fStack408; - fStack4 = fStack4 + ((float)pPlayer->field_504 * (float)pPlayer->field_4A0 + - (float)pPlayer->scaled_velocity * (float)pPlayer->field_498) * - global_timer_delta + fStack412; - fStack432 = (float)pPlayer->positionx; - puStack436 = (undefined4 *)pPlayer->positionz; - iStack440 = pPlayer->ptr_tile_printmanpos; - BVar7 = get_debug_fast_bond_flag(); - if (BVar7 != FALSE) { - fStack12 = fStack12 + - ((float)pPlayer->field_498 * pPlayer->speedforwards - - (float)pPlayer->field_4A0 * pPlayer->speedsideways) * global_timer_delta * - 10.00000000; - fStack4 = fStack4 + ((float)pPlayer->field_4A0 * pPlayer->speedforwards + - (float)pPlayer->field_498 * pPlayer->speedsideways) * global_timer_delta - * 10.00000000; - } - proc_7F07D960(&fStack12,(uint)((float)pPlayer->field_1274 == 0.00000000)); - proc_7F0B2314(&iStack440,extraout_f12_03,extraout_f14_02,fStack432,puStack436); - iVar12 = proc_7F0B23A4((int)auStack516); - if (iVar12 != 0) { - uStack36 = 1; - } - proc_7F0B2314(&pPlayer->ptr_tile_printmanpos,extraout_f12_04,extraout_f14_03, - (float)pPlayer->positionx,(undefined4 *)pPlayer->positionz); - iVar12 = proc_7F0B23A4((int)auStack516); - if (iVar12 != 0) { - uStack36 = 1; - } - proc_7F0B2314(&pPlayer->ptr_tile_printmanpos,extraout_f12_05,extraout_f14_04, - (float)pPlayer->positionx,(undefined4 *)pPlayer->positionz); - iVar12 = proc_7F0B23A4((int)auStack516); - if (iVar12 == 0) { - proc_7F0B2314(&iStack440,extraout_f12_06,extraout_f14_05,fStack432,puStack436); - } - iVar12 = proc_7F0B23A4((int)auStack516); - if (iVar12 != 0) { - uStack36 = 1; - proc_7F0B2420(aiStack580,&iStack584,(int)&fStack564); - if ((float)pPlayer->clipping_height <= fStack536) { - fStack588 = fStack544 - fStack556; - fStack592 = fStack564 - fStack552; - __x = sqrtf(fStack588 * fStack588 + fStack592 * fStack592); - fVar13 = ((float)puStack436 - fStack556) * (fStack592 / __x) + - (fStack432 - fStack564) * (fStack588 / __x); - __x = (((float)puStack436 + fStack4) - fStack556) * (fStack592 / __x) + - ((fStack432 + fStack12) - fStack564) * (fStack588 / __x); - if (fVar13 * __x <= 0.00000000) { - fStack568 = 0.00000000; - } - else { - if (__x < 0.00000000) { - __x = -__x; - fVar13 = -fVar13; - bVar2 = fVar13 <= __x; - } - else { - bVar2 = fVar13 <= __x; - } - if (bVar2) { - fStack568 = 0.00000000; - } - else { - fVar14 = (float)pPlayer->collision_radius; - if (fVar14 < __x) { - fStack568 = 0.00000000; - } - else { - if (fVar13 < fVar14) { - fStack568 = 0.00000000; - } - else { - fStack568 = (fVar13 - fVar14) / (fVar13 - __x); - } - } - } - } - fVar13 = sqrtf(fStack4 * fStack4 + fStack12 * fStack12); - __x = fStack568; - if (0.00000000 < fVar13) { - fVar14 = (1.00000000 - fStack568) * fVar13; - fStack40 = fVar14 * 0.25000000; - if (fStack536 <= (float)pPlayer->clipping_height + fStack40) { - fStack40 = fStack536 - (float)pPlayer->clipping_height; - __x = fStack568 + (fVar14 - fStack40 / 0.25000000) / fVar13; - } - } - fStack540 = fStack540 - fStack564; - fStack532 = fStack532 - fStack556; - fStack528 = fStack528 - fStack564; - fStack520 = fStack520 - fStack556; - if (fStack540 * fStack540 + fStack532 * fStack532 <= - fStack528 * fStack528 + fStack520 * fStack520) { - fStack528 = fStack540; - fStack520 = fStack532; - } - fVar13 = fStack40 / (fStack536 - fStack560); - fStack12 = fVar13 * fStack528 + fStack12 * __x; - fStack4 = fVar13 * fStack520 + fStack4 * __x; - *(float *)&pPlayer->positionx = fStack432; - *(undefined4 **)&pPlayer->positionz = puStack436; - pPlayer->ptr_tile_printmanpos = iStack440; - proc_7F07D960(&fStack12,(uint)((float)pPlayer->field_1274 == 0.00000000)); - } - } - fVar13 = (float)pPlayer->positionx - fStack432; - fVar14 = (float)pPlayer->positionz - (float)puStack436; - __x = fStack4 * fStack4 + fStack12 * fStack12; - if (__x != 0.00000000) { - __x = (fVar13 * fVar13 + fVar14 * fVar14) / __x; - } - __x = sqrtf(__x); - *(float *)&pPlayer->field_1278 = (float)pPlayer->field_1278 + __x * fStack408; - *(float *)&pPlayer->field_127C = (float)pPlayer->field_127C + __x * fStack412; -LAB_7f0863ac: - fStack628 = pPlayer->speedverta / flt_8005524C + (float)pPlayer->field_A4 / 5.00000000; - proc_7F08EAF8(); - proc_7F05E0E4(); - proc_7F05E5F0((float)pPlayer->vv_verta360 * flt_80055254); - if (((ptr_playerstank != 0) && (in_tank_flag == TRUE)) && (DAT_800799b8 == 2)) { - iVar12 = *(int *)(ptr_playerstank + 4); - iStack648 = *(int *)(*(int *)(*(int *)(*(int *)(*(int *)(iVar12 + 0x14) + 8) + 8) + 0x14) + - 4); - iStack640 = iVar12; - IVar5 = get_item_in_hand(0); - bVar2 = IVar5 == ITEM_TANKSHELLS; - if (bVar2) { - lVar3 = get_hands_firing_status(0); - bVar2 = lVar3 != 0; - *(uint *)(iVar12 + 0xc4) = (uint)bVar2; - } - else { - *(uint *)(iVar12 + 0xc4) = (uint)bVar2; - } - *(float *)(iVar12 + 200) = dword_8003646C; - *(float *)(iVar12 + 0xcc) = dword_80036474; - *(undefined4 **)(iVar12 + 0xdc) = dword_80036464; - proc_7F0585FC(flt_80055258 - (float)dword_80036464,(ulonglong)bVar2,afStack712); - matrix_multiply_A1_by_F12 - (*(float *)(*(int *)(iStack640 + 0x14) + 0x14),extraout_a0_08,afStack712); - fStack724 = -DAT_800799a8; - fStack720 = -DAT_800799ac; - fStack716 = -dword_8007A070; - proc_7F0583D8(afStack712,&fStack724); - fStack724 = fStack724 + (float)pPlayer->positionx; - fStack716 = fStack716 + (float)pPlayer->positionz; - *(int *)(*(int *)(iStack640 + 0x10) + 0x14) = pPlayer->ptr_tile_printmanpos; - proc_7F0B0BE4((int *)(*(int *)(iStack640 + 0x10) + 0x14),extraout_f12_07,extraout_f14_06, - (float)pPlayer->positionx,(float)pPlayer->positionz); - fVar13 = (float)proc_7F0B2970(); - *(float *)(iVar12 + 0xd4) = fVar13; - __x = flt_8005525C; - iVar6 = 0; - if (0 < clock_timer) { - fVar13 = *(float *)(iVar12 + 0xd0); - while( true ) { - iVar6 += 1; - *(float *)(iVar12 + 0xd0) = fVar13 * __x + *(float *)(iVar12 + 0xd4); - fVar13 = __x; - if (clock_timer <= iVar6) break; - fVar13 = *(float *)(iVar12 + 0xd0); - } - } - __x = *(float *)(iVar12 + 0xd0) * flt_80055260; - proc_7F03E864(iStack648); - fStack720 = (__x - fVar13 * *(float *)(*(int *)(iStack640 + 0x14) + 0x14)) + 4.00000000; - proc_7F058020((float (*) [4] [4])afStack712,(float (*) [4])(iStack640 + 0x18)); - *(float *)(*(int *)(iStack640 + 0x10) + 8) = fStack724; - *(float *)(iStack640 + 0x58) = fStack724; - *(float *)(*(int *)(iStack640 + 0x10) + 0xc) = fStack720; - *(float *)(iStack640 + 0x5c) = fStack720; - *(float *)(*(int *)(iStack640 + 0x10) + 0x10) = fStack716; - *(float *)(iStack640 + 0x60) = fStack716; - proc_7F056CA0(iStack640); - proc_7F040484(iStack640); - proc_7F07C888(afStack772,(float *)&pPlayer->positionx,extraout_f12_08); - proc_7F03CB8C(*(char **)(iStack640 + 0x10),auStack804); - proc_7F03E3FC((int *)auStack804); - sVar1 = *ptr_list_object_lookup_indices; - psStack812 = ptr_list_object_lookup_indices; - while (-1 < sVar1) { - iVar12 = (int)sVar1 * 0x34; - pcVar11 = pos_data_entry + iVar12; - if (pcVar11 != *(char **)(iStack640 + 0x10)) { - if (*pcVar11 == '\x03') { - iStack828 = 1; - iStack844 = *(int *)(pos_data_entry + iVar12 + 4); - proc_7F03CF88(pcVar11,&iStack824,&fStack816,&uStack820); - pfVar9 = (float *)(pos_data_entry + iVar12 + 8); - lVar3 = proc_7F03CCD8(pfVar9,afStack772,4); - if (((lVar3 != 0) && (iStack828 = 0, *(char *)(iStack844 + 7) == '\x04')) && - (-1 < (int)(*(uint *)(iStack844 + 0x14) << 7))) { - *(uint *)(iStack844 + 0x14) = *(uint *)(iStack844 + 0x14) | 0x1000000; - iVar6 = dword_80048380 % 3; - if (iVar6 < 2) { - play_sfx_a1(ptr_sfx_buf,0xb7,NULL); - sub_GAME_7F053A10(iVar6,pfVar9); - iVar6 = dword_80048380 % 3; - } - if (0 < iVar6) { - play_sfx_a1(ptr_sfx_buf,0xd5,NULL); - sub_GAME_7F053A10(iVar6,pfVar9); - } - } - if ((iStack828 != 0) && - (lVar3 = proc_7F044718((longlong)(int)pfVar9,(longlong)iStack824,afStack772,4 - ), lVar3 != 0)) { - iStack828 = 0; - } - if (iStack828 == 0) { - uStack840 = *(undefined4 *)(iStack640 + 0x58); - uStack836 = *(undefined4 *)(pos_data_entry + iVar12 + 0xc); - uStack832 = *(undefined4 *)(iStack640 + 0x60); - proc_7F027804(); - } - } - else { - if (*pcVar11 == '\x01') { - proc_7F03CCB0(pcVar11,(int **)apfStack852,&uStack856); - if ((0 < (int)uStack856) && - (lVar3 = proc_7F0446B8(apfStack852[0],uStack856,afStack772,4), lVar3 != 0 - )) { - get_cur_playernum(); - proc_7F04DEFC((int)pcVar11,extraout_f12_09,0x461c4000, - (longlong)(*(int *)(pos_data_entry + iVar12 + 4) + 0x58), - 0x20); - dword_80036490 = 0x5a; - } - } - } - } - psStack812 = psStack812 + 1; - sVar1 = *psStack812; - } - } - proc_7F080DF8(); - proc_7F081478(); - proc_7F08A19C(); - BVar7 = get_debug_man_pos_flag(); - if (BVar7 != FALSE) { - copy_tile_RGB_as_24bit - ((int *)pPlayer->ptr_tile_printmanpos,(int)pPlayer->positionx,pPlayer->positionz, - &tStack860); - } - return; -} - - - -void proc_7F086990(undefined8 param_1,undefined8 param_2,ushort param_3,ushort param_4) - -{ - undefined8 extraout_a0; - undefined8 extraout_a1; - undefined auStack64 [12]; - int iStack52; - float fStack48; - undefined4 uStack44; - float fStack40; - float fStack36; - undefined4 uStack32; - undefined4 uStack28; - float fStack24; - undefined4 uStack20; - undefined4 uStack16; - float fStack12; - undefined4 uStack8; - undefined4 uStack4; - - fStack12 = dword_80036800; - uStack8 = dword_80036804; - uStack4 = dword_80036808; - fStack24 = dword_8003680C; - uStack20 = dword_80036810; - uStack16 = dword_80036814; - fStack36 = dword_80036818; - uStack32 = dword_8003681C; - uStack28 = dword_80036820; - fStack48 = dword_80036824; - uStack44 = dword_80036828; - fStack40 = dword_8003682C; - proc_7F083FC8(); - proc_7F084360(); - controller_gameplay_interaction(); - proc_7F081790(); - proc_7F080B34(0.00000000,0.00000000,extraout_a0,extraout_a1,0.00000000); - if ((DAT_80079990 != 0.00000000) || (DAT_80079998 != 0.00000000)) { - fStack48 = fStack48 + DAT_80079990 * global_timer_delta; - fStack40 = fStack40 + DAT_80079998 * global_timer_delta; - } - fStack48 = fStack48 + - ((float)pPlayer->field_504 * (float)pPlayer->field_498 - - (float)pPlayer->scaled_velocity * (float)pPlayer->field_4A0) * global_timer_delta; - fStack40 = fStack40 + - ((float)pPlayer->field_504 * (float)pPlayer->field_4A0 + - (float)pPlayer->scaled_velocity * (float)pPlayer->field_498) * global_timer_delta; - proc_7F07D960(&fStack48,1); - proc_7F080DF8(); - proc_7F081478(); - if (((cameramode == FP_NOINPUT_CAM) || (cameramode == FP_CAM)) || (cameramode == UNK10_CAM)) { - proc_7F079A50(0); - } - else { - proc_7F07B56C(); - proc_7F079A50(1); - proc_7F079A60(&fStack12,&fStack24,&fStack36,iStack52,auStack64); - } - return; -} - - - -int getWidth320or440(void) - -{ - if (camera_8003642C != 0) { - return 0x1b8; - } - return 0x140; -} - - - -int getHeight330or240(void) - -{ - if (camera_8003642C != 0) { - return 0x14a; - } - return 0xf0; -} - - - -s32 get_curplayer_viewport_width(void) - -{ - s32 ret; - int iVar1; - - ret = get_num_players(); - if (ret < 3) { - if (camera_8003642C == 0) { - iVar1 = cur_player_get_screen_setting(); - if (iVar1 == 1) { - ret = 0x140; - } - else { - iVar1 = cur_player_get_screen_setting(); - if (iVar1 == 2) { - ret = 0x140; - } - else { - ret = 0x140; - } - } - } - else { - ret = 0x1b8; - } - } - else { - ret = 0x9f; - } - return ret; -} - - - -undefined8 get_curplayer_viewport_ulx(void) - -{ - s32 sVar2; - undefined8 uVar1; - u32 uVar3; - - sVar2 = get_num_players(); - if (sVar2 < 3) { - uVar1 = 0; - } - else { - uVar3 = get_cur_playernum(); - if ((uVar3 == 1) || (uVar3 = get_cur_playernum(), uVar3 == 3)) { - uVar1 = 0xa1; - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -int get_curplayer_viewport_height(void) - -{ - s32 sVar1; - int iVar2; - float fVar3; - - sVar1 = get_num_players(); - if (sVar1 < 2) { - if (camera_8003642C == 0) { - iVar2 = cur_player_get_screen_setting(); - if (iVar2 == 1) { - fVar3 = proc_7F07EA78(); - iVar2 = ((int)(fVar3 * 40.00000000) + 0xb4) * 0x10000 >> 0x10; - } - else { - iVar2 = cur_player_get_screen_setting(); - if (iVar2 == 2) { - fVar3 = proc_7F07EA78(); - iVar2 = ((int)(fVar3 * 84.00000000) + 0x88) * 0x10000 >> 0x10; - } - else { - iVar2 = 0xdc; - } - } - } - else { - iVar2 = cur_player_get_screen_setting(); - if (iVar2 == 1) { - iVar2 = 0xf8; - } - else { - iVar2 = cur_player_get_screen_setting(); - if (iVar2 == 2) { - iVar2 = 0xbe; - } - else { - iVar2 = 0x130; - } - } - } - } - else { - iVar2 = 0x6d; - } - return iVar2; -} - - - -int get_curplayer_viewport_uly(void) - -{ - s32 sVar1; - u32 uVar2; - int iVar3; - float fVar4; - - sVar1 = get_num_players(); - if (sVar1 == 2) { - uVar2 = get_cur_playernum(); - if (uVar2 == 0) { - iVar3 = 10; - } - else { - iVar3 = 0x79; - } - } - else { - sVar1 = get_num_players(); - if (sVar1 < 3) { - if (camera_8003642C == 0) { - iVar3 = cur_player_get_screen_setting(); - if (iVar3 == 1) { - fVar4 = proc_7F07EA78(); - iVar3 = ((int)(fVar4 * -20.00000000) + 0x1e) * 0x10000 >> 0x10; - } - else { - iVar3 = cur_player_get_screen_setting(); - if (iVar3 == 2) { - fVar4 = proc_7F07EA78(); - iVar3 = ((int)(fVar4 * -42.00000000) + 0x34) * 0x10000 >> 0x10; - } - else { - iVar3 = 10; - } - } - } - else { - iVar3 = cur_player_get_screen_setting(); - if (iVar3 == 1) { - iVar3 = 0x29; - } - else { - iVar3 = cur_player_get_screen_setting(); - if (iVar3 == 2) { - iVar3 = 0x46; - } - else { - iVar3 = 0xd; - } - } - } - } - else { - uVar2 = get_cur_playernum(); - if ((int)uVar2 < 2) { - iVar3 = 10; - } - else { - iVar3 = 0x79; - } - } - } - return iVar3; -} - - - -// WARNING: Instruction at (ram,0x7f08735c) overlaps instruction at (ram,0x7f087358) -// - -void possibly_reset_viewport_options_for_player(char param_1,char param_2,ushort param_3) - -{ - u8 *puVar2; - int isset; - s32 sVar3; - undefined8 uVar1; - int iVar4; - u32 uVar5; - undefined4 uVar6; - uint flag; - ulonglong uVar7; - - set_cur_player_fovy(60.00000000); - setvideo_far(60.00000000); - if (camera_80036430 == 0) { - if (camera_80036434 != 0) { - if ((camera_80036434 < 4) || (puVar2 = get_video_settings2_frameb(), puVar2 != cfb_16_a) - ) { - camera_80036434 += 1; - } - else { - camera_8003642C = 0; - camera_80036434 = 0; - } - } - } - else { - if (((camera_80036430 < 4) || (resolution == NULL)) || - (puVar2 = get_video_settings2_frameb(), puVar2 != cfb_16_b)) { - camera_80036430 += 1; - } - else { - camera_8003642C = 1; - camera_80036430 = 0; - } - } - if ((camera_8003642C != 0) && (puVar2 = get_video_settings2_frameb(), puVar2 == cfb_16_b)) { - set_video_settings2_frameb(resolution); - } - isset = get_screen_ratio(); - if (isset == 1) { - sVar3 = get_curplayer_viewport_width(); - isset = get_curplayer_viewport_height(); - set_cur_player_aspect - ((f32)(((float)(int)(short)sVar3 / (float)isset) * 0.75000000 * flt_80055264)); - sVar3 = get_curplayer_viewport_width(); - isset = get_curplayer_viewport_height(); - video_related_21((f32)(((float)(int)(short)sVar3 / (float)isset) * 0.75000000 * flt_80055268 - )); - } - else { - sVar3 = get_curplayer_viewport_width(); - isset = get_curplayer_viewport_height(); - set_cur_player_aspect((f32)((float)(int)(short)sVar3 / (float)isset)); - sVar3 = get_curplayer_viewport_width(); - isset = get_curplayer_viewport_height(); - video_related_21((f32)((float)(int)(short)sVar3 / (float)isset)); - } - sVar3 = get_curplayer_viewport_width(); - isset = get_curplayer_viewport_height(); - set_cur_player_screen_size((short)sVar3,(short)isset); - uVar1 = get_curplayer_viewport_ulx(); - isset = get_curplayer_viewport_uly(); - set_cur_player_viewport_size((short)uVar1,(short)isset); - isset = getWidth320or440(); - iVar4 = getHeight330or240(); - set_video2_text_clip_size((short)isset,(short)iVar4); - isset = getWidth320or440(); - iVar4 = getHeight330or240(); - set_video2_settings_offset_18_1A((short)isset,(short)iVar4); - sVar3 = get_curplayer_viewport_width(); - isset = get_curplayer_viewport_height(); - set_video2_width_height((short)sVar3,(short)isset); - uVar1 = get_curplayer_viewport_ulx(); - isset = get_curplayer_viewport_uly(); - set_video2_ulx_uly((short)uVar1,(short)isset); - proc_7F0808BC(); - proc_7F080A80(); - uVar5 = cur_player_get_autoaim(); - set_BONDdata_autoaim_y(uVar5); - uVar5 = cur_player_get_autoaim(); - set_BONDdata_autoaim_x(uVar5); - uVar6 = cur_player_get_lookahead(); - set_BONDdata_lookahead_setting(uVar6); - isset = cur_player_get_ammo_onscreen_setting(); - set_unset_ammo_on_screen_setting(1,isset); - sVar3 = get_num_players(); - if (sVar3 == 1) { - isset = cur_player_get_sight_onscreen_control(); - flag = (uint)(isset != 0); - if (isset != 0) goto LAB_7f087330; - } - sVar3 = get_num_players(); - uVar7 = (ulonglong)(sVar3 < 2) ^ 1; - flag = (uint)uVar7; - if (uVar7 != 0) { - flag = (uint)(pPlayersPerm->sight != '\0'); - } -LAB_7f087330: - set_unset_bitflags(1,flag); - if (((cameramode == 0) || ((cameramode == FP_CAM && (dword_800364B0 != 0)))) || - (cameramode == UNK10_CAM)) { - uVar5 = get_cur_playernum(); - if (uVar5 == 0) { - missiontime += clock_timer; - } - MoveBond(param_1,param_2,param_3,pPlayer->field_3B4); - } - else { - proc_7F086990((longlong)param_1,(longlong)param_2,param_3,pPlayer->field_3B4); - } - watch_time += speedgraphframes; - if (stop_time_flag != 0) { - isset = get_controls_locked_flag(); - if ((isset == 0) && ((param_3 & ~pPlayer->field_3B4 & 0xf030) != 0)) { - stop_time_flag = 2; - uVar7 = check_if_fade_to_black_complete(); - if (uVar7 == 0) { - if ((float)pPlayer->field_404 == 0.00000000) { - fade_to_over_seconds(pPlayer->field_3E0,1.00000000); - } - } - else { - if (pPlayer->tint_alpha == 0.00000000) { - proc_7F0807B0(0,0,0,0); - fade_to_over_seconds(60.00000000,1.00000000); - } - } - } - if (((stop_time_flag == 2) && (uVar7 = check_if_fade_to_black_complete(), uVar7 != 0)) && - (pPlayer->tint_alpha == 1.00000000)) { - return_to_title_from_level_end(); - } - } - if (enable_move_after_cinema != 0) { - proc_7F07B1A4(); - } - if (pPlayer->bonddead != 0) { - isset = pPlayer->field_424; - if (isset == 0) { - draw_item_in_hand_has_more_ammo(HAND_LEFT,ITEM_UNARMED); - draw_item_in_hand_has_more_ammo(HAND_RIGHT,ITEM_UNARMED); - isset = pPlayer->field_424; - } - if (((isset != 0) && (pPlayer->field_428 != 0)) && (2 < dword_80036510)) { - run_title_stage(); - } - } - if ((cameramode == UNK10_CAM) && (uVar7 = check_if_fade_to_black_complete(), uVar7 != 0)) { - run_title_stage(); - } - pPlayer->field_3B4 = param_3; - return; -} - - - -void proc_7F0875E4(s32 roomindex) - -{ - f32 fVar1; - - proc_7F0BCA34(roomindex,(float *)&pPlayer->current_model_xpos); - fVar1 = proc_7F0B483C(); - *(float *)&pPlayer->current_room_xpos = (float)fVar1 * (float)pPlayer->current_model_xpos; - fVar1 = proc_7F0B483C(); - *(float *)&pPlayer->current_room_ypos = (float)fVar1 * (float)pPlayer->current_model_ypos; - fVar1 = proc_7F0B483C(); - *(float *)&pPlayer->current_room_zpos = (float)fVar1 * (float)pPlayer->current_model_zpos; - proc_7F0BC624(roomindex); - return; -} - - - -void store_BONDdata_curpos_to_previous(void) - -{ - float *pfVar1; - - pPlayer->previous_model_xpos = pPlayer->current_model_xpos; - pPlayer->previous_model_ypos = pPlayer->current_model_ypos; - pPlayer->previous_model_zpos = pPlayer->current_model_zpos; - pfVar1 = (float *)get_BONDdata_field_10CC(); - proc_7F0583D8(pfVar1,(float *)&pPlayer->previous_model_xpos); - return; -} - - - -void proc_7F0876C4(float *param_1,float *param_2,float *param_3) - -{ - ulonglong uVar1; - float *pfVar2; - float *pfVar3; - int iVar4; - undefined8 extraout_a0; - float *pfVar5; - undefined4 unaff_s0_lo; - undefined4 unaff_s1_lo; - undefined4 unaff_s2_lo; - undefined4 unaff_retaddr; - f32 fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float extraout_f12; - float xEye; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - float yEye; - float extraout_f14_00; - float extraout_f14_01; - float fVar12; - float fVar13; - undefined in_stack_fffffee4 [12]; - undefined8 in_stack_ffffff00; - float afStack232 [16]; - float afStack168 [3]; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float afStack132 [16]; - LookAt *pLStack68; - byte abStack64 [64]; - - uVar1 = get_cur_players_room(); - pLStack68 = (LookAt *)uVar1; - proc_7F0875E4((s32)pLStack68); - proc_7F0BD6E0(); - *(LookAt **)&pPlayer->field_5C = pLStack68; - proc_7F0BD6E0(); - *(LookAt **)&pPlayer->field_60 = pLStack68; - proc_7F0BD6E0(); - *(LookAt **)&pPlayer->field_64 = pLStack68; - proc_7F0BD6E0(); - *(LookAt **)&pPlayer->field_68 = pLStack68; - proc_7F0BD6F8(2); - fStack156 = (*param_1 - (float)pPlayer->current_model_xpos) * flt_800364CC; - fStack152 = (param_1[1] - (float)pPlayer->current_model_ypos) * flt_800364CC; - fStack148 = (param_1[2] - (float)pPlayer->current_model_zpos) * flt_800364CC; - fStack144 = *param_2 + fStack156; - fStack140 = param_2[1] + fStack152; - fStack136 = param_2[2] + fStack148; - proc_7F059424(afStack132,extraout_f12,extraout_f14,fStack156,fStack152,fStack148,*param_2, - param_2[1],param_2[2],*param_3); - fVar9 = param_3[2]; - guLookAtReflect((Mtx *)abStack64,pLStack68,xEye,yEye,fStack156,fStack152,fStack148,fStack144, - fStack140,fStack136,*param_3); - pfVar2 = param_1; - proc_7F059424((float *)pPlayer->field_64,extraout_f12_00,extraout_f14_00,*param_1,param_1[1], - param_1[2],*param_2,param_2[1],param_2[2],*param_3); - fVar12 = *param_2; - fVar13 = param_2[1]; - fVar11 = param_2[2]; - fVar8 = *param_3; - fVar7 = param_3[1]; - fVar10 = param_3[2]; - proc_7F059708((float *)pPlayer->field_68,extraout_f12_01,extraout_f14_01,*param_1,param_1[1], - param_1[2],fVar12,fVar13,fVar11,fVar8); - proc_7F0BD6E0(); - pfVar5 = (float *)get_BONDdata_field_10DC(); - proc_7F0580C8(pfVar5,afStack132,(int)(Mtx *)afStack232); - pfVar5 = afStack232; - do { - iVar4 = 0; - pfVar3 = pfVar5; - do { - iVar4 += 4; - if (32000.00000000 < *pfVar3) { - *pfVar3 = 32000.00000000; - } - else { - if (*pfVar3 < -32000.00000000) { - *pfVar3 = -32000.00000000; - } - } - pfVar3 = pfVar3 + 1; - } while (iVar4 != 0x10); - pfVar5 = pfVar5 + 4; - } while (pfVar5 != afStack168); - guMtxF2L((float [4] [4]) - CONCAT568(CONCAT524(CONCAT484(CONCAT444(CONCAT404(CONCAT2812(CONCAT244(CONCAT204( - CONCAT164(CONCAT124(CONCAT84(CONCAT44(fVar12, - fVar13),fVar11),fVar8),fVar7),fVar10),fVar9), - in_stack_fffffee4),unaff_s0_lo),unaff_s1_lo), - unaff_s2_lo),unaff_retaddr),in_stack_ffffff00), - (Mtx *)afStack232); - set_BONDdata_field_10E0(pfVar2); - fVar6 = proc_7F0B4878(); - matrix_multiply_A1_by_F12((float)fVar6,extraout_a0,afStack132); - guMtxF2L((float [4] [4]) - CONCAT568(CONCAT524(CONCAT484(CONCAT444(CONCAT404(CONCAT2812(CONCAT244(CONCAT204( - CONCAT164(CONCAT124(CONCAT84(CONCAT44(fVar12, - fVar13),fVar11),fVar8),fVar7),fVar10),fVar9), - in_stack_fffffee4),unaff_s0_lo),unaff_s1_lo), - unaff_s2_lo),unaff_retaddr),in_stack_ffffff00), - (Mtx *)afStack132); - proc_7F059334((uint *)pPlayer->field_5C,pPlayer->field_60); - set_BONDdata_field_10C8(pPlayer->field_5C); - set_BONDdata_field_10C4(pPlayer->field_60); - copy_BONDdata_field_10CC_to_10E8_set_10CC(pPlayer->field_64); - proc_7F078424(pPlayer->field_68); - set_BONDdata_field_10E4(pLStack68); - proc_7F0785DC(); - store_BONDdata_curpos_to_previous(); - return; -} - - - -undefined4 proc_7F087A08(undefined4 param_1) - -{ - float vector2; - float fVar1; - undefined4 auStack76 [3]; - float local_40; - f32 local_3c; - float local_38; - float local_34; - undefined4 local_30; - undefined4 local_2c; - int *local_28; - float local_24; - f32 local_20; - f32 local_1c; - float local_18; - float local_14; - float local_10; - float local_c; - f32 local_8; - f32 local_4; - - if (pPlayer->unknown == 1) { - local_c = pPlayer->xpos; - local_8 = pPlayer->ypos; - local_4 = pPlayer->zpos; - local_18 = (float)pPlayer->xpos2 - (float)pPlayer->xpos; - local_14 = (float)pPlayer->ypos2 - (float)pPlayer->ypos; - local_10 = (float)pPlayer->zpos2 - (float)pPlayer->zpos; - local_24 = pPlayer->xoffset; - local_20 = pPlayer->yoffset; - local_1c = pPlayer->zoffset; - } - else { - local_28 = &pPlayer->ptr_tile_printmanpos; - local_34 = dword_80036830; - local_30 = dword_80036834; - local_2c = dword_80036838; - if (pPlayer->bonddead == 0) { - proc_7F09C7C4((float *)&pPlayer->field_4B4,(float *)&pPlayer->field_4C0,&local_34); - } - else { - video_related_9(0.00000000); - } - local_c = (f32)local_28[0xb]; - local_8 = (f32)local_28[0xc]; - local_4 = (f32)local_28[0xd]; - local_18 = (float)local_28[0xe]; - local_14 = (float)local_28[0xf]; - local_10 = (float)local_28[0x10]; - local_24 = (f32)local_28[0x11]; - local_20 = (f32)local_28[0x12]; - local_1c = (f32)local_28[0x13]; - } - proc_7F0876C4(&local_c,&local_18,&local_24); - proc_7F068190(auStack76,&local_40); - vector2 = sqrtf(local_38 * local_38 + local_40 * local_40); - fVar1 = get_curplay_vertical_rotation_in_degrees(); - vector2 = convert_angle_using_inverse(local_3c,(f32)vector2); - vector2 = vector2 + fVar1; - if (flt_8005526C <= vector2) { - vector2 = vector2 - flt_80055270; - } - *(float *)&pPlayer->field_2A08 = vector2; - vector2 = convert_angle_using_inverse((f32)-local_40,(f32)-local_38); - if (flt_80055274 <= vector2) { - vector2 = vector2 - flt_80055278; - } - *(float *)&pPlayer->field_2A0C = vector2; - return param_1; -} - - - -void seems_to_load_cuff_microcode(void *instance,Gitemheader *header,void *param_3) - -{ - CUFF_TYPES cufftype; - u8 selectedbond; - uint *puVar1; - ushort **ppuVar2; - int iVar3; - int iVar4; - ushort *puVar5; - - selectedbond = getSelectedFolderBond(); - iVar3 = header->offset_objblock; - iVar4 = (int)param_3 * 4; - ppuVar2 = (ushort **)(iVar3 + iVar4); - if (*ppuVar2 == NULL) { - puVar5 = ppuVar2[1]; - } - else { - puVar1 = (uint *)extract_id_from_object_structure_microcode((int)instance,*ppuVar2); - *puVar1 = (uint)(pPlayer->cuff_value == CUFF_BOILER); - iVar3 = header->offset_objblock; - ppuVar2 = (ushort **)(iVar3 + iVar4); - puVar5 = ppuVar2[1]; - } - if (puVar5 != NULL) { - puVar1 = (uint *)extract_id_from_object_structure_microcode - ((int)instance,*(ushort **)(iVar3 + ((int)param_3 + 1) * 4)); - cufftype = pPlayer->cuff_value; - if (cufftype == CUFF_TUX) { - *puVar1 = (uint)(cufftype == CUFF_TUX); - } - else { - if (cufftype == CUFF_TUX6) { - *puVar1 = (uint)(cufftype == CUFF_TUX6); - } - else { - if (cufftype == CUFF_TUX7) { - *puVar1 = (uint)(cufftype == CUFF_TUX7); - } - else { - if (cufftype == CUFF_TUX8) { - *puVar1 = (uint)(selectedbond != '\x01'); - } - else { - *puVar1 = (uint)(cufftype == CUFF_TUX8); - } - } - } - } - iVar3 = header->offset_objblock; - ppuVar2 = (ushort **)(iVar3 + iVar4); - } - if (ppuVar2[2] != NULL) { - puVar1 = (uint *)extract_id_from_object_structure_microcode - ((int)instance,*(ushort **)(iVar3 + ((int)param_3 + 2) * 4)); - cufftype = pPlayer->cuff_value; - if (cufftype == CUFF_WHITE) { - *puVar1 = (uint)(cufftype == CUFF_WHITE); - } - else { - if (cufftype == CUFF_TUX8) { - *puVar1 = (uint)(selectedbond == '\x01'); - } - else { - *puVar1 = (uint)(cufftype == CUFF_TUX8); - } - } - iVar3 = header->offset_objblock; - ppuVar2 = (ushort **)(iVar3 + iVar4); - } - if (ppuVar2[3] != NULL) { - puVar1 = (uint *)extract_id_from_object_structure_microcode - ((int)instance,*(ushort **)(iVar3 + ((int)param_3 + 3) * 4)); - *puVar1 = (uint)(pPlayer->cuff_value == CUFF_BLUE); - iVar3 = header->offset_objblock; - ppuVar2 = (ushort **)(iVar3 + iVar4); - } - if (ppuVar2[4] != NULL) { - puVar1 = (uint *)extract_id_from_object_structure_microcode - ((int)instance,*(ushort **)(iVar3 + ((int)param_3 + 4) * 4)); - *puVar1 = (uint)(pPlayer->cuff_value == CUFF_JUNGLE); - iVar3 = header->offset_objblock; - ppuVar2 = (ushort **)(iVar3 + iVar4); - } - if (ppuVar2[5] != NULL) { - puVar1 = (uint *)extract_id_from_object_structure_microcode - ((int)instance,*(ushort **)(iVar3 + ((int)param_3 + 5) * 4)); - *puVar1 = (uint)(pPlayer->cuff_value == CUFF_SNOW); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f088514) overlaps instruction at (ram,0x7f088510) -// - -undefined4 * proc_7F087E74(undefined4 *param_1) - -{ - int *piVar1; - int iVar2; - undefined4 *puVar3; - Player *pPVar5; - longlong lVar4; - undefined8 extraout_a0; - undefined4 extraout_a2_lo; - float *pfVar6; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - float **ppfVar7; - float **ppfVar8; - float **ppfVar9; - float **ppfVar10; - float *pfVar11; - float fVar12; - float fovy; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float aspect; - undefined4 *local_res0; - float afStack428 [16]; - xyzpoint *local_16c; - int local_168; - float *local_160; - float local_15c; - xyzpoint local_144; - float afStack312 [4]; - float afStack296 [4]; - float afStack280 [4]; - float afStack264 [3]; - float afStack252 [3]; - float afStack240 [18]; - u16 local_a6; - Mtx *local_a4; - Mtx *local_a0; - Gitemheader *local_98; - float *local_94; - float *local_90; - float local_8c; - float local_88; - float local_84; - float afStack128 [16]; - float *local_40; - undefined4 local_3c; - undefined4 local_38; - undefined4 *local_34; - float *local_30; - undefined4 local_10; - uint local_c; - - local_res0 = param_1; - if (pPlayer->pause_animation_state != 0) { - ppfVar9 = (float **)&dword_8003683C; - ppfVar7 = &local_40; - if (pPlayer->pausing_flag != 0) { - do { - ppfVar10 = ppfVar9 + 3; - ppfVar8 = ppfVar7 + 3; - *ppfVar7 = *ppfVar9; - ppfVar7[1] = ppfVar9[1]; - ppfVar7[2] = ppfVar9[2]; - ppfVar9 = ppfVar10; - ppfVar7 = ppfVar8; - } while (ppfVar10 != (float **)0x80036878); - *ppfVar8 = pfRam80036878; - local_8c = DAT_8003687c; - local_88 = (float)DAT_80036880; - local_84 = (float)DAT_80036884; - local_98 = get_ptr_itemheader_in_hand(HAND_LEFT); - local_a4 = (Mtx *)extract_id_from_object_structure_microcode - ((int)&pPlayer->something_with_watch_object_instance, - *(ushort **)(local_98->offset_objblock + 0xc)); - local_a0 = local_a4; - proc_7F0BD6E0(); - guPerspective(local_a4,&local_a6,fovy,aspect,(float)pPlayer->zoominfovy,1.45454550, - 10.00000000); - *param_1 = 0x1030040; - *(Mtx **)(param_1 + 1) = local_a4 + -0x2000000; - param_1[2] = 0xbc00000e; - param_1[3] = (uint)local_a6; - local_34 = param_1 + 4; - *(int *)*local_a0 = pPlayer->paused_flag; - local_8c = (float)pPlayer->field_498 * ((float)pPlayer->field_54C + -12.00000000) + - (float)pPlayer->positionx + - (float)pPlayer->field_544 * -(float)pPlayer->field_4A0; - local_88 = (float)pPlayer->field_548 + (float)pPlayer->positiony; - local_84 = (float)pPlayer->field_4A0 * ((float)pPlayer->field_54C + -12.00000000) + - (float)pPlayer->positionz + - (float)pPlayer->field_544 * (float)pPlayer->field_498; - proc_7F0584D0(&local_8c,extraout_f12, - (float *)((360.00000000 - pPlayer->vv_theta) * flt_8005527C)); - local_94 = (float *)get_BONDdata_field_10CC(); - sub_GAME_7F058098(local_94,afStack128); - proc_7F0BD714((int)local_98->num_objgroups << 6); - seems_to_load_cuff_microcode(&pPlayer->something_with_watch_object_instance,local_98,&i) - ; - local_40 = afStack128; - local_30 = local_94; - subcalcmatrices(&local_40,(uint)&pPlayer->something_with_watch_object_instance, - extraout_a2_lo,extraout_a3_lo); - local_90 = (float *)0x3f800000; - pfVar11 = *(float **)(*(int *)local_98->offset_objblock + 4); - local_168 = watch_time; - pfVar6 = (float *)((float)pPlayer->field_258 / 20.00000000); - if (1.00000000 < (float)pfVar6) { - fVar12 = *pfVar11; - } - else { - fVar12 = *pfVar11; - local_90 = pfVar6; - } - local_144.x = (((float)pPlayer->field_1D4 - - fVar12 * (float)pPlayer->watch_scale_destination) - local_94[0xc]) * - (float)local_90 + local_94[0xc]; - local_144.y = (((float)pPlayer->field_1D8 + - pfVar11[2] * (float)pPlayer->watch_scale_destination) - local_94[0xd]) * - (float)local_90 + local_94[0xd]; - fVar12 = local_94[0xe]; - local_144.z = (((float)pPlayer->pause_watch_position - - pfVar11[1] * (float)pPlayer->watch_scale_destination) - fVar12) * - (float)local_90 + fVar12; - proc_7F059908(afStack240,fVar12,(float)local_90,0.00000000,0.00000000,0.00000000, - (float)pPlayer->field_1E0,(float)pPlayer->field_1E4, - (float)pPlayer->field_1E8,(float)pPlayer->field_1EC); - proc_7F058860(local_94,afStack252); - proc_7F058860(afStack240,afStack264); - proc_7F05B3F4(afStack252,afStack280); - proc_7F05B3F4(afStack264,afStack296); - proc_7F05BE10(afStack280,afStack296); - proc_7F05BA08(afStack280,afStack296,extraout_f12_00,local_90); - proc_7F05B628(afStack312,local_94); - copies_first_3_floats_from_a0_to_a1_plus_0x30(&local_144,(int)local_94); - matrix_multiply_A1_by_F12((float)pPlayer->watch_scale_destination,extraout_a0,local_94); - iVar2 = local_168 / 0x3c; - if (false) { - trap(0x1c00); - } - if ((false) && (local_168 == -0x80000000)) { - trap(0x1800); - } - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - local_15c = (-((float)(iVar2 % 0x3c) + (float)(local_168 % 0x3c) / 60.00000000) * - flt_80055280) / 60.00000000; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 / 0x3c == -0x80000000)) { - trap(0x1800); - } - local_160 = (float *)((-(float)((iVar2 / 0x3c) % 0x3c) * flt_80055280) / 60.00000000 + - local_15c / 60.00000000); - pfVar11 = (float *)((-(float)((iVar2 / 0xe10) % 0xc) * flt_80055280) / 12.00000000 + - (float)local_160 / 12.00000000 + local_15c / 720.00000000); - while (local_15c < 0.00000000) { - local_15c = local_15c + flt_80055280; - } - while ((float)local_160 < 0.00000000) { - local_160 = (float *)((float)local_160 + flt_80055280); - } - if ((float)pfVar11 < 0.00000000) { - do { - pfVar11 = (float *)((float)pfVar11 + flt_80055280); - } while ((float)pfVar11 < 0.00000000); - piVar1 = (int *)local_98->offset_objblock; - } - else { - piVar1 = (int *)local_98->offset_objblock; - } - pfVar6 = local_94 + 0x10; - proc_7F0584D0(*(float **)(*piVar1 + 4),local_15c,pfVar11); - proc_7F058068(local_94,pfVar6); - pfVar11 = local_94 + 0x20; - proc_7F0584D0(*(float **)(*(int *)(local_98->offset_objblock + 4) + 4),extraout_f12_01, - local_160); - proc_7F058068(local_94,pfVar11); - pfVar11 = local_94 + 0x30; - proc_7F0584D0(*(float **)(*(int *)(local_98->offset_objblock + 8) + 4),local_15c, - (float *)local_15c); - proc_7F058068(local_94,pfVar11); - local_38 = 3; - local_3c = 0; - local_10 = 4; - if ((pPlayer->pause_animation_state == 5) || (pPlayer->pause_animation_state == 0xc)) { - local_c = 0xcd; - } - else { - local_c = (uint)(byte)pPlayer->field_FDF | (uint)(byte)pPlayer->field_FDC << 0x18 | - (uint)(byte)pPlayer->field_FDD << 0x10 | - (uint)(byte)pPlayer->field_FDE << 8; - } - pPVar5 = pPlayer; - subdraw((int)&local_40,(uint)&pPlayer->something_with_watch_object_instance, - extraout_a2_lo_00,extraout_a3_lo_00); - puVar3 = local_34; - local_16c = *(xyzpoint **)(*(int *)(local_98->offset_objblock + 8) + 4); - proc_7F0BD6E0(); - init_something_copy_posdata_to_it(local_16c,(int *)afStack428); - proc_7F058068(local_94,afStack428); - proc_7F058C64(); - proc_7F058C9C((int)afStack428,(uint *)pPVar5); - proc_7F058C88(); - lVar4 = proc_7F0ACA28((longlong)(int)puVar3,(int)pPVar5, - (uint)(pPlayer->pause_animation_state == 5 || - pPlayer->pause_animation_state == 0xc)); - local_res0 = (undefined4 *)lVar4; - proc_7F058C64(); - proc_7F08BD48((undefined4 *)pPlayer->field_23C,(int)local_98->num_objgroups); - proc_7F058C88(); - } - } - return local_res0; -} - - - -undefined4 * proc_7F088618(undefined4 *param_1) - -{ - u32 uVar1; - void *virtualAddress; - float in_f12; - float extraout_f12; - float l; - float extraout_f12_00; - float r; - float extraout_f14; - float afStack72 [16]; - Mtx *pabStack8; - Mtx *pabStack4; - - proc_7F0A2F30((short *)&pPlayer->healthdamagetype,0x2e,1,in_f12); - proc_7F0A3330(&pPlayer->field_19F8,(int)&pPlayer[-0x30303].field_1238,0x2e); - proc_7F0A2F30((short *)&pPlayer->related_to_health_display,0x2e,-1,extraout_f12); - pabStack8 = (Mtx *)proc_7F0A3330(&pPlayer->field_2128,(int)&pPlayer[-0x30303].field_1518,0x2e); - proc_7F0BD6E0(); - pabStack4 = pabStack8; - proc_7F0BD6E0(); - guOrtho(pabStack8,l,r,flt_800364CC * -800.00000000,flt_800364CC * 800.00000000, - flt_800364CC * -600.00000000,flt_800364CC * 600.00000000,-100.00000000); - *param_1 = 0x1030040; - uVar1 = osVirtualToPhysical(pabStack8); - param_1[1] = uVar1; - proc_7F059694(afStack72,extraout_f12_00,extraout_f14,0.00000000,500.00000000,0.00000000, - 0.00000000,0.00000000,0.00000000,0.00000000); - proc_7F058C9C((int)afStack72,(uint *)pabStack4); - param_1[2] = 0x1020040; - uVar1 = osVirtualToPhysical(pabStack4); - param_1[3] = uVar1; - param_1[4] = 0xe7000000; - param_1[5] = 0; - param_1[6] = 0xba001402; - param_1[7] = 0; - param_1[8] = 0xb900031d; - param_1[9] = 0x5041c8; - param_1[10] = 0xb9000002; - param_1[0xb] = 0; - param_1[0xc] = 0xfcffffff; - param_1[0xd] = 0xfffe793c; - param_1[0xe] = 0xfa000000; - param_1[0xf] = 0xe6e6e600; - param_1[0x10] = 0xb6000000; - param_1[0x11] = 0x3000; - param_1[0x12] = 0x6000000; - *(int **)(param_1 + 0x13) = &pPlayer[-0x30303].field_1978; - param_1[0x14] = 0x6000000; - *(int **)(param_1 + 0x15) = &pPlayer[-0x30303].field_20A8; - param_1[0x16] = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10D8(); - uVar1 = osVirtualToPhysical(virtualAddress); - param_1[0x17] = uVar1; - return param_1 + 0x18; -} - - - -void proc_7F0888E8(void) - -{ - int *tile; - s32 sVar1; - uint uVar2; - u32 uVar3; - int iVar4; - int iVar5; - uint *puVar6; - float fVar7; - float __x; - int iStack12; - float fStack8; - int iStack4; - - puVar6 = (uint *)ptr_setup_intro; - iStack12 = DAT_8003688c; - fStack8 = (float)DAT_80036890; - iStack4 = DAT_80036894; - init_player_BONDdata(); - proc_7F0798B8(); - pPlayer->bonddead = 0; - pPlayer->field_428 = 0; - pPlayer->field_424 = 0; - pPlayer->field_420 = 1; - pPlayer->field_29B8 = 7; - pPlayer->damagetype = 7; - pPlayer->somekinda_flags = 0; - pPlayer->somekinda_bitflags = 2; - proc_7F08A380(0xffffffff); - proc_7F08A928(0xffffffff); - sVar1 = get_num_players(); - if (sVar1 < 2) { - uVar2 = 0; - } - else { - if (DAT_80079c68 < 1) { - uVar2 = 0; - } - else { - uVar2 = proc_7F0790F0(); - } - } - tile = (int *)(&DAT_80079c28)[uVar2]; - iStack12 = *tile; - iStack4 = tile[2]; - tile = (int *)tile[10]; - fVar7 = proc_7F080D60((longlong)(int)tile,iStack12,iStack4); - fStack8 = (float)pPlayer->field_29BC + fVar7; - *(float *)&pPlayer->field_70 = fVar7; - uVar3 = get_random_value(); - __x = (float)uVar3; - if ((int)uVar3 < 0) { - __x = __x + 4294967296.00000000; - } - __x = __x * 0.00000000 * flt_80055284; - pPlayer->vv_theta = (__x * 360.00000000) / flt_80055284; - *(float *)&pPlayer->clipping_height = fVar7; - *(float *)&pPlayer->field_6C = fVar7 / flt_80055288; - change_player_pos_to_target(&pPlayer->ptr_tile_printmanpos,&iStack12,tile); - fVar7 = sinf(__x); - *(float *)&pPlayer->field_498 = -fVar7; - pPlayer->field_49C = 0; - __x = cosf(__x); - fVar7 = flt_8005528C; - *(float *)&pPlayer->field_4A0 = __x; - pPlayer->field_408 = iStack12; - *(int *)(pPlayer->position_data_pointer + 8) = iStack12; - *(float *)&pPlayer->field_40C = fStack8; - *(float *)(pPlayer->position_data_pointer + 0xc) = fStack8; - pPlayer->field_410 = iStack4; - *(int *)(pPlayer->position_data_pointer + 0x10) = iStack4; - *(int **)(pPlayer->position_data_pointer + 0x14) = tile; - *(float *)&pPlayer->field_3B8 = (float)pPlayer->field_4B4 / fVar7; - *(float *)&pPlayer->field_3BC = (float)pPlayer->field_4B8 / fVar7; - *(float *)&pPlayer->field_3C0 = (float)pPlayer->field_4BC / fVar7; - reinit_BONDdata_inventory(); - pPlayer->ammoheldarr[0] = 0; - pPlayer->ammoheldarr[1] = 0; - iVar4 = 8; - do { - *(undefined4 *)((int)pPlayer->ammoheldarr + iVar4) = 0; - *(undefined4 *)((int)pPlayer->ammoheldarr + iVar4 + 4) = 0; - *(undefined4 *)((int)pPlayer->ammoheldarr + iVar4 + 8) = 0; - iVar5 = iVar4 + 0x10; - *(undefined4 *)((int)pPlayer->ammoheldarr + iVar4 + 0xc) = 0; - iVar4 = iVar5; - } while (iVar5 != 0x78); - if (puVar6 != NULL) { - uVar2 = *puVar6; - while (uVar2 != 9) { - if (uVar2 < 7) { - // WARNING: Could not recover jumptable at 0x7f088be0. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700BCB10)[uVar2])(); - return; - } - puVar6 = puVar6 + 1; - uVar2 = *puVar6; - } - } - pPlayer->field_78 = 0.00000000; - *(float *)&pPlayer->field_7C = flt_800552AC; - pPlayer->field_80 = 0.00000000; - set_curplayer_fade(120.00000000,1.00000000); - return; -} - - - -undefined4 * proc_7F088CD8(undefined4 *param_1) - -{ - TEXTFILESTRINGS TVar1; - short *psVar2; - short sVar3; - int iVar4; - int iVar6; - ulonglong uVar5; - short sVar8; - TEXTFILESTRINGS id; - byte *pbVar7; - short sVar9; - short sVar10; - undefined4 *DL; - longlong lVar11; - longlong lVar12; - TEXTFILESTRINGS *pTVar13; - int iVar14; - int iVar15; - longlong lVar16; - longlong lVar17; - int iStack40; - int iStack32; - int aiStack28 [3]; - int iStack16; - int aiStack12 [2]; - int iStack4; - - iVar6 = get_stage_num(); - if ((iVar6 == 0x36) && (dword_8003643C == 1)) { - uVar5 = ZEXT48(&camera_80036438); - lVar16 = 0xdc; - if (dword_80036440 != NULL) { - lVar17 = 0xdc; - sVar9 = 0; - camera_80036438 += 1; - sVar3 = 0; - iStack4 = camera_80036438; - microcode_constructor(param_1); - DL = (undefined4 *)uVar5; - sVar8 = get_video2_settings_height(); - iVar6 = iStack4 - sVar8; - if (iVar6 < 0) { - iVar6 += 0xf; - } - iVar6 >>= 4; - iVar4 = iStack4; - if (iStack4 < 0) { - iVar4 = iStack4 + 0xf; - } - iStack40 = (iVar4 >> 4) + 1; - if (iVar6 < 0) { - iVar6 = 0; - } - iVar4 = 0; - lVar11 = lVar16; - lVar12 = lVar17; - psVar2 = dword_80036440; - sVar8 = sVar9; - if (0 < iVar6) { - do { - lVar11 = lVar16; - lVar12 = lVar17; - sVar8 = sVar9; - if ((*psVar2 == 0) && (psVar2[1] == 0)) { - dword_8003643C = 2; - iVar6 = iVar4; - iStack40 = iVar4; - break; - } - if (*psVar2 != 0x5011) { - lVar11 = (longlong)psVar2[2]; - if (lVar11 < 0) { - sVar8 = psVar2[3]; - lVar11 = lVar16; - } - else { - sVar8 = psVar2[3]; - } - if (sVar8 < 0) { - sVar8 = sVar9; - } - } - iVar4 += 1; - if (psVar2[1] != 0x5011) { - lVar12 = (longlong)psVar2[4]; - if (lVar12 < 0) { - sVar9 = psVar2[5]; - lVar12 = lVar17; - } - else { - sVar9 = psVar2[5]; - } - if (-1 < sVar9) { - sVar3 = sVar9; - } - } - lVar16 = lVar11; - lVar17 = lVar12; - psVar2 = psVar2 + 6; - sVar9 = sVar8; - } while (iVar4 != iVar6); - } - if (iVar6 < iStack40) { - iVar4 = iVar6 * 0xc; - pTVar13 = (TEXTFILESTRINGS *)(dword_80036440 + iVar6 * 6); - id = *pTVar13; - lVar16 = lVar11; - lVar17 = lVar12; - if (id != 0) goto LAB_7f088e98; - TVar1 = dword_80036440[iVar6 * 6 + 1]; - while (lVar16 = lVar11, lVar17 = lVar12, TVar1 != 0) { -LAB_7f088e98: - do { - lVar11 = lVar16; - if (id != 0x5011) { - pbVar7 = get_textptr_for_textID(id); - iVar14 = (int)dword_80036440 + iVar4; - lVar11 = (longlong)*(short *)(iVar14 + 4); - if (lVar11 < 0) { - sVar9 = *(short *)(iVar14 + 6); - lVar11 = lVar16; - } - else { - sVar9 = *(short *)(iVar14 + 6); - } - iVar14 = (int)lVar11; - if (-1 < sVar9) { - sVar8 = sVar9; - } - sVar9 = get_video2_settings_height(); - sVar10 = get_video2_settings_uly(); - iStack16 = (((int)sVar10 + iVar6 * 0x10) - iStack4) + (int)sVar9; - aiStack28[0] = 0; - iStack32 = 0; - proc_7F0AE98C(aiStack28,&iStack32,pbVar7,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - if (sVar8 == 1) { - lVar16 = (longlong)(iVar14 - iStack32); - } - else { - if (sVar8 == 2) { - iVar15 = iVar14 - (iStack32 >> 1); - iVar14 = iVar15 + iStack32; - lVar16 = (longlong)iVar15; - } - else { - iVar14 += iStack32; - lVar16 = lVar11; - } - } - aiStack12[0] = (int)lVar16; - DL = microcode_constructor_related_to_menus - ((undefined4 *)uVar5,lVar16,(longlong)(iStack16 + -1), - (longlong)(iVar14 + 1),iStack16 + aiStack28[0] + 1,0); - sVar9 = get_video2_settings_txtClipW(); - sVar10 = get_video2_settings_txtClipH(); - uVar5 = SEXT28(sVar10); - en_text_write_stuff(DL,aiStack12,&iStack16,pbVar7, - (int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xffffffff,(int)sVar9, - (int)sVar10,0,0); - pTVar13 = (TEXTFILESTRINGS *)((int)dword_80036440 + iVar4); - } - lVar12 = lVar17; - if (pTVar13[1] != 0x5011) { - pbVar7 = get_textptr_for_textID(pTVar13[1]); - iVar14 = (int)dword_80036440 + iVar4; - lVar12 = (longlong)*(short *)(iVar14 + 8); - if (lVar12 < 0) { - sVar9 = *(short *)(iVar14 + 10); - lVar12 = lVar17; - } - else { - sVar9 = *(short *)(iVar14 + 10); - } - iVar14 = (int)lVar12; - if (-1 < sVar9) { - sVar3 = sVar9; - } - sVar9 = get_video2_settings_height(); - sVar10 = get_video2_settings_uly(); - iStack16 = (((int)sVar10 + iVar6 * 0x10) - iStack4) + (int)sVar9; - aiStack28[0] = 0; - iStack32 = 0; - proc_7F0AE98C(aiStack28,&iStack32,pbVar7,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge,0); - if (sVar3 == 1) { - lVar16 = (longlong)(iVar14 - iStack32); - } - else { - if (sVar3 == 2) { - iVar15 = iVar14 - (iStack32 >> 1); - iVar14 = iVar15 + iStack32; - lVar16 = (longlong)iVar15; - } - else { - iVar14 += iStack32; - lVar16 = lVar12; - } - } - aiStack12[0] = (int)lVar16; - DL = microcode_constructor_related_to_menus - ((undefined4 *)uVar5,lVar16,(longlong)(iStack16 + -1), - (longlong)(iVar14 + 1),iStack16 + aiStack28[0] + 1,0); - sVar9 = get_video2_settings_txtClipW(); - sVar10 = get_video2_settings_txtClipH(); - uVar5 = SEXT28(sVar10); - en_text_write_stuff(DL,aiStack12,&iStack16,pbVar7, - (int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xffffffff,(int)sVar9, - (int)sVar10,0,0); - } - DL = (undefined4 *)uVar5; - iVar6 += 1; - iVar4 += 0xc; - if (iStack40 <= iVar6) goto LAB_7f0891c8; - pTVar13 = (TEXTFILESTRINGS *)((int)dword_80036440 + iVar4); - id = *pTVar13; - lVar16 = lVar11; - lVar17 = lVar12; - } while (id != 0); - TVar1 = pTVar13[1]; - } - } -LAB_7f0891c8: - param_1 = combiner_bayer_lod_perspective(DL); - } - } - return param_1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 * maybe_mp_interface(void) - -{ - int *piVar1; - undefined4 *puVar4; - short sVar9; - short sVar10; - short sVar11; - short sVar12; - short sVar13; - short sVar14; - ulonglong uVar2; - s32 sVar5; - s16 sVar15; - longlong lVar3; - int iVar6; - u32 uVar7; - int *piVar8; - int iVar16; - undefined4 *in_a0_lo; - undefined4 extraout_a0_lo; - int iVar17; - undefined unaff_retaddr; - float local_34; - float extraout_f0; - float fVar18; - u32 *local_res0; - undefined in_stack_ffffffbf; - undefined in_stack_ffffffc3; - undefined in_stack_ffffffcb; - undefined4 in_stack_ffffffd0; - - local_res0 = in_a0_lo; - if (pPlayer->unknown == 1) { - proc_7F08A4E4(); - local_res0 = proc_7F08A5FC(local_res0); - proc_7F08A9F8(); - local_res0 = (u32 *)print_player_xyz_info(); - local_res0 = proc_7F056210(local_res0); - local_res0 = proc_7F0804E0(local_res0); - puVar4 = proc_7F088CD8(local_res0); - } - else { - proc_7F061920(); - proc_7F06908C((undefined4 *)register0x000000ec); - proc_7F062BE4((undefined4 *)register0x000000ec); - local_res0 = proc_7F087E74(local_res0); - if (pPlayer->mpmenuon != 0) { - sVar9 = get_video2_settings_ulx(); - sVar10 = get_video2_settings_uly(); - sVar11 = get_video2_settings_ulx(); - sVar12 = get_video2_settings_width(); - sVar13 = get_video2_settings_uly(); - sVar14 = get_video2_settings_height(); - puVar4 = (undefined4 *)(int)sVar14; - microcode_constructor(local_res0); - in_stack_ffffffbf = 0xa0; - local_res0 = puVar4; - local_res0 = microcode_constructor_related_to_menus - (puVar4,(longlong)(int)sVar9,(longlong)(int)sVar10, - (longlong)((int)sVar12 + (int)sVar11),(int)sVar14 + (int)sVar13, - 0xa0); - } - uVar2 = check_if_healthbar_timer_greater_than_0(); - if ((uVar2 == 0) || (pPlayer->pause_animation_state != 0)) { - uVar2 = proc_7F0C6048(); - if (uVar2 != 0) { - local_res0 = proc_7F088618(local_res0); - iVar6 = pPlayer->healthdisplaytime; - if (0 < iVar6) { - pPlayer->healthdisplaytime = iVar6 - clock_timer; - iVar6 = pPlayer->healthdisplaytime; - } - if (iVar6 < 0) { - pPlayer->healthdisplaytime = 0; - } - } - } - else { - local_res0 = proc_7F088618(local_res0); - } - sVar5 = get_num_players(); - if (sVar5 == 1) { - display_objective_status_text_on_status_change(); - } - if (pPlayer->bonddead != 0) { - if (pPlayer->field_428 == 0) { - if (pPlayer->bonddead == 1) { - pPlayer->bonddead = 2; - local_34 = (float)die_blood_image_routine(); - sVar5 = get_num_players(); - sVar15 = (s16)sVar5; - if (sVar5 == 1) { - reset_music_in_slot(0xffffffff); - set_missionstate(0); - proc_7F0C0BF0(); - musicTrack1Vol(sVar15); - music1_playing = 0; - musicTrack2Vol(0); - music2_playing = FALSE; - musicTrack1Play(M_DEATHSOLO); - } - else { - set_missionstate(6); - } - } - else { - if (pPlayer->field_424 == 0) { - lVar3 = die_blood_image_routine(); - if (lVar3 != 0) { - pPlayer->field_424 = 1; - } - local_34 = extraout_f0; - local_res0 = proc_7F01C670(local_res0); - } - else { - proc_7F0807B0(0x96,0,0,0x3f34b4b5); - } - } - } - proc_7F06F5BC((int)&pPlayer->field_598); - fVar18 = proc_7F06F5C4((int)&pPlayer->field_598); - if ((fVar18 <= local_34) && (pPlayer->field_424 != 0)) { - if (pPlayer->field_428 == 0) { - pPlayer->field_428 = 1; - proc_7F0807E0(extraout_a0_lo,0,0,0,0x3f800000,in_stack_ffffffbf, - in_stack_ffffffc3,unaff_retaddr,in_stack_ffffffcb, - SUB41(local_34,0),in_stack_ffffffd0); - set_curplayer_fade(120.00000000,0.00000000); - } - uVar2 = check_if_fade_to_black_complete(); - if (uVar2 != 0) { - sVar5 = get_num_players(); - if (sVar5 == 1) { - set_camera_mode(UNK5_CAM); - } - else { - iVar6 = get_scenario(); - uVar7 = get_cur_playernum(); - sVar5 = get_num_players(); - iVar17 = 0; - iVar16 = 0; - if (0 < sVar5) { - piVar8 = player1_playerdata[0].shotcount + uVar7; - do { - piVar1 = piVar8 + 9; - iVar16 += 1; - piVar8 = piVar8 + 0x1c; - iVar17 += *piVar1; - } while (iVar16 < sVar5); - } - if ((iVar6 != 1) || (iVar17 < 2)) { - uVar7 = get_cur_playernum(); - uVar7 = get_controller_buttons_held - ((char)uVar7,START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar7 != 0) { - proc_7F0888E8(); - } - } - } - } - } - } - proc_7F08A4E4(); - local_res0 = proc_7F08A5FC(local_res0); - proc_7F08A9F8(); - local_res0 = (u32 *)print_player_xyz_info(); - proc_7F06A5E4((uint **)register0x000000ec); - local_res0 = (u32 *)generate_ammo_total_microcode(); - local_res0 = proc_7F056210(local_res0); - local_res0 = display_red_blue_on_radar(local_res0); - puVar4 = proc_7F0804E0(local_res0); - } - return puVar4; -} - - - -undefined8 write_stan_tiles_in_yellow(undefined8 param_1) - -{ - if (DAT_80079da0 != 0) { - param_1 = proc_7F0B3024(param_1); - } - if (DAT_80079da4 != 0) { - param_1 = proc_7F0B3024(param_1); - } - return param_1; -} - - - -void proc_7F089718(float param_1) - -{ - float *pfVar1; - Player *pPVar2; - - pPVar2 = pPlayer; - pfVar1 = (float *)&pPlayer->positionz; - *(float *)&pPlayer->positionx = (float)pPlayer->positionx * (flt_800364D0 / param_1); - *(float *)&pPVar2->positionz = *pfVar1 * (flt_800364D0 / param_1); - flt_800364D0 = param_1; - flt_800364D4 = 1.00000000 / param_1; - return; -} - - - -void proc_7F08976C(undefined4 param_1) - -{ - undefined4 in_f12; - - flt_800364CC = in_f12; - return; -} - - - -f32 proc_7F089778(int param_1) - -{ - return *(f32 *)(param_1 + 0x74); -} - - - -float proc_7F089780(int param_1) - -{ - return *(float *)(param_1 + 0x29bc) + *(float *)(param_1 + 0x88) + *(float *)(param_1 + 0xa0); -} - - - -int get_curplayer_positiondata(void) - -{ - return pPlayer->position_data_pointer; -} - - - -void kill_current_player(void) - -{ - int iVar1; - Player *pPVar2; - Player *pPVar3; - Player *pPVar4; - Player *pPVar5; - - if ((pPlayer->bondinvincible == '\0') && (pPlayer->bonddead == 0)) { - if (pPlayer->pause_animation_state != 0) { - trigger_solo_watch_menu(1); - } - mission_kia = TRUE; - pPlayer->bonddead = 1; - pPVar2 = (Player *)&pPlayer->current_room_ypos; - pPVar5 = pPlayer; - pPVar3 = pPlayer; - do { - pPVar4 = (Player *)&pPVar3->zpos; - pPVar5->field_434 = pPVar3->ptr_tile_printmanpos; - *(f32 *)&pPVar5->field_438 = pPVar3->positionx; - pPVar5->field_43C = pPVar3->positiony; - pPVar5 = (Player *)&pPVar5->zpos; - pPVar3 = pPVar4; - } while (pPVar4 != pPVar2); - *(float *)&pPlayer->field_414 = pPlayer->vv_theta; - *(float *)&pPlayer->field_418 = pPlayer->vv_verta; - if (ptr_playerstank != 0) { - dword_8003648C = 1; - } - draw_item_in_hand_has_more_ammo(HAND_LEFT,ITEM_UNARMED); - draw_item_in_hand_has_more_ammo(HAND_RIGHT,ITEM_UNARMED); - iVar1 = getMissiontime(); - if (iVar1 - pPlayer->field_29F4 < pPlayersPerm->shortestlife) { - iVar1 = getMissiontime(); - pPlayersPerm->shortestlife = iVar1 - pPlayer->field_29F4; - } - iVar1 = getMissiontime(); - pPlayer->field_29F4 = iVar1; - } - return; -} - - - -int proc_7F0898E8(void) - -{ - s32 sVar1; - - sVar1 = get_cur_controller_vert_stick_pos('\0'); - return (sVar1 * 8 + 0x280) / 0xa0; -} - - - -// WARNING: Instruction at (ram,0x7f0899cc) overlaps instruction at (ram,0x7f0899c8) -// - -void record_damage_kills(f32 arg0,f32 arg1,f32 arg2,s32 arg3,f32 arg4) - -{ - bool bVar1; - s32 sVar3; - u32 uVar4; - int iVar5; - PLAYER_ID playernum; - longlong lVar2; - PLAYER_ID in_a3_lo; - float fVar6; - float extraout_f12; - float extraout_f12_00; - int in_stack_00000010; - float fStack4; - - fStack4 = pPlayersPerm->handicap * (float)arg0; - if (pPlayer->pause_animation_state != 0) { - get_BONDdata_watch_armor(); - proc_7F0A2F30((short *)&pPlayer->healthdamagetype,0x2e,1,extraout_f12); - get_BONDdata_watch_health(); - proc_7F0A2F30((short *)&pPlayer->related_to_health_display,0x2e,-1,extraout_f12_00); - } - sVar3 = get_num_players(); - if (1 < sVar3) { - if (stop_play_flag != 0) { - return; - } - if (is_gameover_flag != 0) { - return; - } - } - if (in_tank_flag == TRUE) { - fStack4 = fStack4 * 0.25000000; - } - if ((pPlayer->bonddead == 0) && (pPlayer->bondinvincible == '\0')) { - uVar4 = get_cur_playernum(); - controller_7000C854(uVar4,0x3e800000); - sVar3 = cur_player_get_control_type(); - if (3 < sVar3) { - uVar4 = get_cur_playernum(); - sVar3 = get_num_players(); - controller_7000C854(sVar3 + uVar4,0x3e800000); - } - } - sVar3 = get_num_players(); - if ((1 < sVar3) && (iVar5 = get_scenario(), iVar5 == 4)) { - fStack4 = (float)pPlayer->bondhealth * (float)pPlayer->actual_health + - (float)pPlayer->bondarmour * (float)pPlayer->actual_armor; - } - if (pPlayer->bondinvincible != '\0') { - return; - } - if (pPlayer->bonddead != 0) { - return; - } - if (disable_player_pickups_flag != 0) { - return; - } - if (pPlayer->damageshowtime < 0) { - iVar5 = pPlayer->pause_animation_state; - } - else { - sVar3 = get_num_players(); - if (sVar3 < 2) { - return; - } - if (pPlayer->damageshowtime != 0) { - return; - } - iVar5 = pPlayer->pause_animation_state; - } - if (iVar5 == 5) { - return; - } - if (iVar5 == 0xc) { - return; - } - pPlayer->oldhealth = pPlayer->bondhealth; - pPlayer->oldarmour = pPlayer->bondarmour; - sVar3 = get_num_players(); - if (1 < sVar3) { - uVar4 = get_cur_playernum(); - fVar6 = convert_angle_using_inverse(arg1,arg4); - fVar6 = ptr_BONDdata_p1[uVar4]->vv_theta - - (360.00000000 - (fVar6 * 180.00000000) / 3.14159274); - if (fVar6 < 0.00000000) { - fVar6 = -fVar6; - } - if (90.00000000 <= fVar6) { - if (fVar6 <= 270.00000000) goto LAB_7f089c1c; - iVar5 = player1_playerdata[in_a3_lo].backshotcount; - } - else { - iVar5 = player1_playerdata[in_a3_lo].backshotcount; - } - player1_playerdata[in_a3_lo].backshotcount = iVar5 + 1; - } -LAB_7f089c1c: - if (in_stack_00000010 == 0) { -LAB_7f089c68: - if (in_stack_00000010 != 0) { - fStack4 = fStack4 - (float)pPlayer->bondarmour / (float)pPlayer->actual_armor; - pPlayer->bondarmour = 0.00000000; - pPlayer->actual_armor = 1.00000000; - } - *(float *)&pPlayer->bondhealth = - (float)pPlayer->bondhealth - fStack4 / (float)pPlayer->actual_health; - if (0.00000000 < (float)pPlayer->bondhealth) { - iVar5 = pPlayer->damageshowtime; - goto LAB_7f089ddc; - } - sVar3 = get_num_players(); - if (1 < sVar3) { - playernum = get_cur_playernum(); - bVar1 = false; - iVar5 = get_scenario(); - lVar2 = (longlong)iVar5; - if (lVar2 == 3) { - checkforgoldengun(); - bVar1 = lVar2 != 0; - } - if (playernum != in_a3_lo) { - drop_inventory(); - increment_num_deaths(); - } - set_cur_player(in_a3_lo); - if (playernum == in_a3_lo) { - increment_num_suicides_display_MP(); - } - else { - increment_num_kills_display_text_in_MP(); - if (bVar1) { - increment_num_times_killed_MwtGC(); - } - } - set_cur_player(playernum); - player1_playerdata[in_a3_lo].kills[playernum] = - player1_playerdata[in_a3_lo].kills[playernum] + 1; - } - kill_current_player(); - } - else { - if ((float)pPlayer->bondarmour * (float)pPlayer->actual_armor < fStack4) goto LAB_7f089c68; - *(float *)&pPlayer->bondarmour = - (float)pPlayer->bondarmour - fStack4 / (float)pPlayer->actual_armor; - } - iVar5 = pPlayer->damageshowtime; -LAB_7f089ddc: - if (iVar5 < 0) { - *(float *)&pPlayer->boost_factor_x = - (float)pPlayer->boost_factor_x + (float)arg1 + (float)arg1; - *(float *)&pPlayer->boost_factor_z = - (float)pPlayer->boost_factor_z + (float)arg4 + (float)arg4; - } - pPlayer->damageshowtime = 0; - pPlayer->healthshowtime = 0; - play_sfx_a1(ptr_sfx_buf,0x44,NULL); - return; -} - - - -void proc_7F089E4C(f32 param_1,float param_2,f32 param_3) - -{ - f32 arg2; - s32 arg3; - float arg1; - float arg4; - - arg1 = sinf(param_2); - arg4 = cosf(param_2); - record_damage_kills(param_1,(f32)arg1,arg2,arg3,(f32)arg4); - return; -} - - - -ulonglong check_if_bond_is_invincible(void) - -{ - return (ulonglong)(pPlayer->damageshowtime < 0) ^ 1; -} - - - -ulonglong check_if_healthbar_timer_greater_than_0(void) - -{ - return (ulonglong)(0 < pPlayer->healthshowtime); -} - - - -f32 get_BONDdata_bondfadefracnew(void) - -{ - return pPlayer->bondfadefracnew; -} - - - -float get_curplay_horizontal_rotation_in_degrees(void) - -{ - return ((360.00000000 - pPlayer->vv_theta) * 6.28318548) / 360.00000000; -} - - - -float get_curplay_vertical_rotation_in_degrees(void) - -{ - return (pPlayer->vv_verta * 6.28318548) / 360.00000000; -} - - - -int proc_7F089F38(void) - -{ - return pPlayer->field_D0; -} - - - -void set_bondata_invincible_flag(char flag) - -{ - pPlayer->bondinvincible = flag; - return; -} - - - -ulonglong get_bondata_invincible_flag(void) - -{ - return (ulonglong)(byte)pPlayer->bondinvincible; -} - - - -void set_invisible_to_guards_flag(BOOL param_1) - -{ - visible_to_guards_flag = param_1; - return; -} - - - -BOOL get_invisible_to_guards_flag(void) - -{ - return visible_to_guards_flag; -} - - - -void set_obj_collision_flag(int flag) - -{ - obj_collision_flag = flag; - return; -} - - - -BOOL get_obj_collision_flag(void) - -{ - return obj_collision_flag; -} - - - -ulonglong get_cur_players_room(void) - -{ - int iVar1; - - if (pPlayer->unknown == 1) { - if (pPlayer->room_pointer != 0) { - return (ulonglong)*(byte *)(pPlayer->room_pointer + 3); - } - iVar1 = pPlayer->room_tile_ptr; - } - else { - iVar1 = pPlayer->room_tile_ptr; - } - return (ulonglong)*(byte *)(iVar1 + 3); -} - - - -xyzpoint * get_BONDdata_position(void) - -{ - if (pPlayer->unknown == 1) { - return (xyzpoint *)&pPlayer->xpos; - } - return (xyzpoint *)&pPlayer->field_4B4; -} - - - -int * get_BONDdata_position3(void) - -{ - if (pPlayer->unknown == 1) { - return (int *)&pPlayer->xpos3; - } - return &pPlayer->field_4A4; -} - - - -int proc_7F08A02C(void) - -{ - return (int)&pPlayer->field_408; -} - - - -void proc_7F08A03C(int param_1,int param_2) - -{ - int in_v0_lo; - - proc_7F09B15C(param_1); - if (*(GUARDdata **)(param_1 + 4) != NULL) { - set_or_unset_GUARDdata_flag(*(GUARDdata **)(param_1 + 4),param_2); - } - if (ptr_playerstank != 0) { - proc_7F04F218(ptr_playerstank,(longlong)param_2); - } - ptr_BONDdata_p1[in_v0_lo]->field_AC = param_2; - return; -} - - - -// WARNING: Instruction at (ram,0x7f08a118) overlaps instruction at (ram,0x7f08a114) -// - -void proc_7F08A0B0(int param_1,int **param_2,undefined4 *param_3,float *param_4,float *param_5) - -{ - int in_v0_lo; - s32 sVar1; - Player **ppPVar2; - float fVar3; - - proc_7F09B15C(param_1); - if ((ptr_BONDdata_p1[in_v0_lo]->field_AC == 0) || - (((sVar1 = get_num_players(), sVar1 != 1 && (ptr_BONDdata_p1[in_v0_lo]->bonddead != 0)) || - (ppPVar2 = ptr_BONDdata_p1 + in_v0_lo, (*ppPVar2)->unknown == 1)))) { - *param_3 = 0; - } - else { - *param_3 = 4; - *param_2 = &(*ppPVar2)->field_B0; - *(f32 *)param_5 = (*ppPVar2)->field_70; - fVar3 = proc_7F089780((int)*ppPVar2); - *param_4 = fVar3 + *param_5 + 10.00000000; - } - return; -} - - - -void proc_7F08A19C(void) - -{ - float in_f12; - - if (in_tank_flag == TRUE) { - proc_7F07C888((float *)&pPlayer->field_B0,(float *)&pPlayer->positionx,in_f12); - } - else { - *(float *)&pPlayer->field_B0 = (float)pPlayer->positionx + (float)pPlayer->collision_radius; - pPlayer->zpos_0 = pPlayer->positionz; - *(f32 *)&pPlayer->xpos_0 = pPlayer->positionx; - *(float *)&pPlayer->field_BC = (float)pPlayer->positionz + (float)pPlayer->collision_radius; - *(float *)&pPlayer->field_C0 = (float)pPlayer->positionx - (float)pPlayer->collision_radius; - pPlayer->zpos_1 = pPlayer->positionz; - *(f32 *)&pPlayer->xpos_1 = pPlayer->positionx; - *(float *)&pPlayer->field_CC = (float)pPlayer->positionz - (float)pPlayer->collision_radius; - } - return; -} - - - -void proc_7F08A274(int param_1,undefined4 *param_2,float *param_3,undefined4 *param_4) - -{ - int in_v0_lo; - float fVar1; - - proc_7F09B15C(param_1); - *param_2 = ptr_BONDdata_p1[in_v0_lo]->collision_radius; - fVar1 = proc_7F089780((int)ptr_BONDdata_p1[in_v0_lo]); - *param_3 = (fVar1 + 10.00000000) - 30.00000000; - *param_4 = 0x41f00000; - return; -} - - - -f32 get_BONDdata_watch_health(void) - -{ - return pPlayer->bondhealth; -} - - - -f32 get_BONDdata_watch_armor(void) - -{ - return pPlayer->bondarmour; -} - - - -void add_BONDdata_watch_armor(f32 amount) - -{ - pPlayersPerm->armourcount = pPlayersPerm->armourcount + (float)amount; - pPlayer->bondarmour = amount; - return; -} - - - -void reset_intro_camera_message_dialogs_for_BONDdata(void) - -{ - pPlayer->hudmessoff = 0; - pPlayer->bondmesscnt = -1; - status_bar_text_buffer_index = 0; - display_statusbar = FALSE; - copy_1stfonttable = ptrFirstFontTableSmall; - copy_2ndfonttable = ptrSecondFontTableSmall; - return; -} - - - -void proc_7F08A380(uint param_1) - -{ - pPlayer->hudmessoff = pPlayer->hudmessoff & ~param_1; - return; -} - - - -void set_flags_in_BONDdata_stationary_intro_cam(uint param_1) - -{ - pPlayer->hudmessoff = pPlayer->hudmessoff | param_1; - return; -} - - - -void proc_7F08A3B4(undefined4 param_1,undefined4 param_2) - -{ - copy_1stfonttable = param_2; - copy_2ndfonttable = param_1; - return; -} - - - -void display_string_in_lower_left_corner(char *text,...) - -{ - int iVar1; - Player *player; - s32 numplayers; - u32 uVar2; - - numplayers = get_num_players(); - if (numplayers == 1) { - if ((int)display_statusbar < 5) { - iVar1 = ((int)(status_bar_text_buffer_index + display_statusbar) % 5) * 0x65; - something_with_strings(stringbuffer_lowerleft + iVar1,text,100); - display_statusbar += TRUE; - scorch_impact_text_array_80079a8c[iVar1] = 0; - } - } - else { - uVar2 = get_cur_playernum(); - something_with_strings(stringbuffer_lowerleft + uVar2 * 0x65,text,100); - player = pPlayer; - scorch_impact_text_array_80079a8c[uVar2 * 0x65] = 0; - player->bondmesscnt = 0x78; - } - return; -} - - - -void proc_7F08A4E4(void) - -{ - s32 sVar1; - - if ((pPlayer->hudmessoff == 0) && (pPlayer->mpmenuon == 0)) { - if (-1 < pPlayer->bondmesscnt) { - pPlayer->bondmesscnt = pPlayer->bondmesscnt - clock_timer; - sVar1 = get_num_players(); - if (sVar1 == 1) { - if (pPlayer->bondmesscnt < 0) { - status_bar_text_buffer_index = (status_bar_text_buffer_index + 1) % 5; - display_statusbar += ~FALSE; - } - else { - if ((1 < (int)display_statusbar) && (0x1e < pPlayer->bondmesscnt)) { - pPlayer->bondmesscnt = 0x1e; - } - } - } - } - sVar1 = get_num_players(); - if (((sVar1 == 1) && (pPlayer->bondmesscnt < 0)) && (0 < (int)display_statusbar)) { - if ((int)display_statusbar < 2) { - pPlayer->bondmesscnt = 0x78; - } - else { - pPlayer->bondmesscnt = 0x1e; - } - } - } - return; -} - - - -undefined4 * proc_7F08A5FC(undefined4 *param_1) - -{ - undefined4 *DL; - s32 sVar1; - short sVar5; - ITEM_IDS weapon; - AMMOTYPES AVar2; - u32 uVar3; - short sVar6; - uint *puVar4; - int iVar7; - undefined4 *local_res0; - int local_1c; - int local_18; - uint local_14; - uint local_10; - uint local_c; - uint local_8; - int local_4; - - local_res0 = param_1; - if (((pPlayer->hudmessoff == 0) && (-1 < pPlayer->bondmesscnt)) && (pPlayer->mpmenuon == 0)) { - local_4 = 0; - DL = (undefined4 *)get_num_players(); - iVar7 = local_4; - if (DL == (undefined4 *)((int)&rgba + 1U)) { - if (stringbuffer_lowerleft[(int)status_bar_text_buffer_index * 0x65] != '\0') { - iVar7 = 1; - } - } - else { - if (-1 < pPlayer->bondmesscnt) { - DL = (undefined4 *)get_cur_playernum(); - iVar7 = 1; - status_bar_text_buffer_index = DL; - } - } - if (iVar7 != 0) { - microcode_constructor(param_1); - local_1c = 0; - local_18 = 0; - proc_7F0AE98C(&local_18,&local_1c, - stringbuffer_lowerleft + (int)status_bar_text_buffer_index * 0x65, - copy_2ndfonttable,copy_1stfonttable,0); - sVar1 = get_num_players(); - if (sVar1 < 3) { - sVar5 = get_video2_settings_ulx(); - local_8 = (int)sVar5 + 0x1e; - } - else { - uVar3 = get_cur_playernum(); - if ((uVar3 & 1) == 0) { - sVar5 = get_video2_settings_ulx(); - local_8 = (int)sVar5 + 0x1e; - } - else { - sVar5 = get_video2_settings_ulx(); - local_8 = (int)sVar5 + 10; - } - } - local_10 = local_8 + local_1c; - sVar1 = get_num_players(); - if (sVar1 < 3) { - weapon = get_item_in_hand(1); - AVar2 = get_ammo_type_for_weapon(weapon); - if ((AVar2 == 0) && (uVar3 = is_clock_drawn_onscreen(), uVar3 == 0)) { - sVar5 = get_video2_settings_uly(); - sVar6 = get_video2_settings_height(); - local_14 = ((int)sVar6 + (int)sVar5) - 0xc; - } - else { - sVar5 = get_video2_settings_uly(); - sVar6 = get_video2_settings_height(); - local_14 = ((int)sVar6 + (int)sVar5) - 0x28; - } - uVar3 = get_cur_playernum(); - if (uVar3 == 1) { - local_14 -= 8; - } - } - else { - sVar5 = get_video2_settings_uly(); - local_14 = (int)sVar5 + 0x10; - } - local_c = local_14 - local_18; - puVar4 = draw_blackbox_to_screen(DL,&local_8,&local_c,&local_10,&local_14); - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - DL = (undefined4 *)(int)sVar6; - jp_text_stuff(puVar4,&local_8,&local_c, - stringbuffer_lowerleft + (int)status_bar_text_buffer_index * 0x65, - copy_2ndfonttable,(int)copy_1stfonttable,0xffffffff,0x646464ff,(int)sVar5, - (int)sVar6,0,0); - local_res0 = combiner_bayer_lod_perspective(DL); - } - } - return local_res0; -} - - - -void proc_7F08A900(void) - -{ - upper_text_buffer_index = 0; - display_upper_text_window = 0; - upper_text_window_timer = 0xffffffff; - DAT_800368b4 = 0; - return; -} - - - -void proc_7F08A928(uint param_1) - -{ - DAT_800368b4 = DAT_800368b4 & ~param_1; - return; -} - - - -void proc_7F08A944(uint param_1) - -{ - DAT_800368b4 = DAT_800368b4 | param_1; - return; -} - - - -void display_string_at_top_of_screen(char *text) - -{ - uint uVar1; - - if (display_upper_text_window < 2) { - uVar1 = upper_text_buffer_index + display_upper_text_window & 1; - if ((upper_text_buffer_index + display_upper_text_window < 0) && (uVar1 != 0)) { - uVar1 -= 2; - } - something_with_strings(ARRAY_80079c70 + uVar1 * 0x97,text,0x96); - display_upper_text_window += 1; - *(undefined *)(uVar1 * 0x97 + -0x7ff862fa) = 0; - } - return; -} - - - -void proc_7F08A9F8(void) - -{ - uint uVar1; - - if ((DAT_800368b4 == 0) && (pPlayer->mpmenuon == 0)) { - if (-1 < upper_text_window_timer) { - upper_text_window_timer -= clock_timer; - if (upper_text_window_timer < 0) { - uVar1 = upper_text_buffer_index + 1; - upper_text_buffer_index = uVar1 & 1; - if (((int)uVar1 < 0) && (upper_text_buffer_index != 0)) { - upper_text_buffer_index -= 2; - } - display_upper_text_window += -1; - } - else { - if ((1 < display_upper_text_window) && (0x3c < upper_text_window_timer)) { - upper_text_window_timer = 0x3c; - } - } - } - if ((upper_text_window_timer < 0) && (0 < display_upper_text_window)) { - if (1 < display_upper_text_window) { - upper_text_window_timer = 0x3c; - return; - } - upper_text_window_timer = 0xf0; - } - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -u32 * print_player_xyz_info(void) - -{ - uint uVar1; - uint *puVar2; - undefined4 *in_v0_lo; - short sVar6; - undefined4 *puVar3; - short sVar7; - undefined4 *DL; - BOOL BVar4; - char *pcVar5; - u32 *in_a0_lo; - float fVar8; - undefined4 in_f5; - undefined4 in_f9; - undefined4 in_f17; - undefined *local_9c; - undefined4 local_98; - undefined *local_94; - undefined4 local_90; - uint local_8c; - undefined *local_88; - undefined auStack130 [2]; - int local_80; - int local_74; - int local_6c; - int local_68; - byte abStack100 [16]; - byte abStack84 [16]; - byte abStack68 [16]; - byte abStack52 [16]; - byte abStack36 [16]; - int local_14; - int local_10; - uint local_c; - int local_8; - int local_4; - - if ((((DAT_800368b4 == 0) && (-1 < upper_text_window_timer)) && - (ARRAY_80079c70[upper_text_buffer_index * 0x97] != '\0')) && (pPlayer->mpmenuon == 0)) { - microcode_constructor(in_a0_lo); - local_14 = 0; - local_10 = 0; - proc_7F0AE98C(&local_10,&local_14,ARRAY_80079c70 + upper_text_buffer_index * 0x97, - (int)ptrSecondFontTableLarge,(int *)ptrFirstFontTableLarge,0); - if (camera_8003642C == 0) { - sVar6 = get_video2_settings_ulx(); - local_4 = (int)sVar6 + 0x1e; - sVar6 = get_video2_settings_uly(); - local_8 = (int)sVar6 + 0xd; - } - else { - sVar6 = get_video2_settings_ulx(); - local_4 = (int)sVar6 + 0x46; - sVar6 = get_video2_settings_uly(); - if (false) { - trap(0x1c00); - } - if ((false) && ((int)sVar6 + 0x20 == -0x80000000)) { - trap(0x1800); - } - local_8 = (((int)sVar6 + 0x20) / 0xb) * 0xb + -2; - } - local_c = local_8 + local_10; - sVar6 = get_video2_settings_txtClipW(); - puVar3 = microcode_constructor_related_to_menus - (in_v0_lo,0,(longlong)(local_8 + -2),(longlong)sVar6,local_c,100); - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - DL = (undefined4 *)(int)sVar7; - en_text_write_stuff(puVar3,&local_4,&local_8,ARRAY_80079c70 + upper_text_buffer_index * 0x97 - ,(int)ptrSecondFontTableLarge,(int)ptrFirstFontTableLarge,0xffffffff, - (int)sVar6,(int)sVar7,0,0); - in_a0_lo = combiner_bayer_lod_perspective(DL); - } - else { - BVar4 = get_debug_testingmanpos_flag(); - if (BVar4 != FALSE) { - fVar8 = convert_angle_using_inverse - ((f32)-(float)pPlayer->field_498,(f32)pPlayer->field_4A0); - local_80 = (int)((fVar8 * 180.00000000) / flt_800552BC); - local_9c = dword_800368B8; - local_98 = DAT_800368bc; - local_94 = PTR_DAT_800368c0; - local_90 = DAT_800368c4; - local_8c = DAT_800368c8; - local_88 = PTR_DAT_800368cc; - uVar1 = (uint)auStack130 & 3; - puVar2 = (uint *)(auStack130 + -uVar1); - *puVar2 = *puVar2 & 0xffffffffU >> (uVar1 + 1) * 8 | - (DAT_800368c8 & 0xff000000 | DAT_800368d0 >> 8) << (3 - uVar1) * 8; - pcVar5 = printroom((ulonglong)*(byte *)(pPlayer->ptr_tile_printmanpos + 3)); - sprintf((char *)abStack36,"%8s",pcVar5); - sprintf((char *)abStack52,"x %4.0f",in_f5,SUB84((double)(float)pPlayer->positionx,0)); - sprintf((char *)abStack68,"y %4.0f",in_f9,SUB84((double)(float)pPlayer->positiony,0)); - sprintf((char *)abStack84,"z %4.0f",in_f17,SUB84((double)(float)pPlayer->positionz,0)); - sprintf((char *)abStack100,"%s %3d", - (undefined **)((int)&local_9c + ((local_80 + 0x16) / 0x2d) * 3)); - sVar6 = get_video2_settings_ulx(); - local_68 = (int)sVar6 + 0x11; - sVar6 = get_video2_settings_uly(); - puVar3 = (undefined4 *)(int)sVar6; - local_6c = (int)sVar6 + 0x11; - local_74 = (int)sVar6 + 0x1b; - microcode_constructor(in_a0_lo); - sVar6 = get_video2_settings_txtClipW(); - puVar3 = microcode_constructor_related_to_menus - (puVar3,0,(longlong)local_6c,(longlong)sVar6,local_74 + 1,100); - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - DL = (undefined4 *)(int)sVar7; - en_text_write_stuff(puVar3,&local_68,&local_6c,abStack36,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xffffffff,(int)sVar6,(int)sVar7,0,0); - sVar6 = get_video2_settings_ulx(); - local_68 = (int)sVar6 + 0x57; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = (undefined4 *)(int)sVar7; - en_text_write_stuff(DL,&local_68,&local_6c,abStack52,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xffffffff,(int)sVar6,(int)sVar7,0,0); - sVar6 = get_video2_settings_ulx(); - local_68 = (int)sVar6 + 0x8d; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - DL = (undefined4 *)(int)sVar7; - en_text_write_stuff(puVar3,&local_68,&local_6c,abStack68,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xffffffff,(int)sVar6,(int)sVar7,0,0); - sVar6 = get_video2_settings_ulx(); - local_68 = (int)sVar6 + 0xc3; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - puVar3 = (undefined4 *)(int)sVar7; - en_text_write_stuff(DL,&local_68,&local_6c,abStack84,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xffffffff,(int)sVar6,(int)sVar7,0,0); - sVar6 = get_video2_settings_ulx(); - local_68 = (int)sVar6 + 0xf9; - sVar6 = get_video2_settings_txtClipW(); - sVar7 = get_video2_settings_txtClipH(); - DL = (undefined4 *)(int)sVar7; - en_text_write_stuff(puVar3,&local_68,&local_6c,abStack100,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xffffffff,(int)sVar6,(int)sVar7,0,0); - in_a0_lo = combiner_bayer_lod_perspective(DL); - } - } - return in_a0_lo; -} - - - -undefined4 proc_7F08B0F0(char *param_1) - -{ - float *pfVar1; - bool bVar2; - u32 in_v0_lo; - u32 uVar5; - int iVar6; - float *pfVar7; - s32 sVar8; - int iVar9; - int iVar10; - int iVar11; - u32 *puVar12; - ulonglong uVar3; - longlong lVar4; - uint extraout_a1_lo; - uint extraout_a1_lo_00; - undefined4 extraout_a2_lo; - int extraout_a2_lo_00; - int extraout_a2_lo_01; - undefined4 extraout_a2_lo_02; - undefined4 extraout_a2_lo_03; - undefined4 extraout_a3_lo; - uint extraout_a3_lo_00; - uint extraout_a3_lo_01; - uint extraout_a3_lo_02; - uint extraout_a3_lo_03; - uint extraout_a3_lo_04; - uint extraout_a3_lo_05; - uint extraout_a3_lo_06; - uint extraout_a3_lo_07; - uint extraout_a3_lo_08; - uint uVar13; - undefined4 extraout_a3_lo_09; - int iVar14; - Player *pPVar15; - Player **ppPVar16; - float fVar17; - float fVar18; - float fVar19; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - xyzpoint xStack136; - int *piStack124; - f32 fStack112; - f32 fStack108; - f32 fStack104; - float fStack100; - f32 fStack96; - int iStack92; - undefined4 uStack88; - undefined auStack84 [16]; - float fStack68; - float fStack64; - float fStack60; - float fStack36; - float fStack32; - float fStack28; - undefined4 uStack16; - GUARDdata *pGStack8; - u32 uStack4; - - proc_7F09B15C((int)param_1); - pGStack8 = *(GUARDdata **)(param_1 + 4); - uStack4 = in_v0_lo; - if (pGStack8 != NULL) { - uVar5 = get_cur_playernum(); - iVar6 = proc_7F09B4D8(uVar5); - if (iVar6 == 0) { - pGStack8->special_bitflags = pGStack8->special_bitflags & 0xf7ff; - } - } - if ((pGStack8 != NULL) && - (ppPVar16 = ptr_BONDdata_p1 + uStack4, (*ppPVar16)->ptr_char_objectinstance != 0)) { - uVar5 = get_debug_render_raster(); - if (uVar5 == 0) { - pPVar15 = *ppPVar16; -LAB_7f08b198: - pPVar15->field_AC = 0; - uVar3 = proc_7F020EF0(param_1,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - uStack16 = (undefined4)uVar3; - (*ppPVar16)->field_AC = 1; - (*ppPVar16)->positionx = *(f32 *)((*ppPVar16)->position_data_pointer + 8); - (*ppPVar16)->positiony = *(int *)((*ppPVar16)->position_data_pointer + 0xc); - (*ppPVar16)->positionz = *(int *)((*ppPVar16)->position_data_pointer + 0x10); - (*ppPVar16)->ptr_tile_printmanpos = *(int *)((*ppPVar16)->position_data_pointer + 0x14); - proc_7F07DE9C((int)*ppPVar16); - if ((param_1[1] & 2U) == 0) { - return uStack16; - } - pfVar1 = *(float **)((*ppPVar16)->ptr_char_objectinstance + 0xc); - pfVar7 = (float *)get_BONDdata_field_10D4(); - proc_7F05818C(pfVar7,pfVar1,(int)auStack84); - *(float *)&(*ppPVar16)->field_4B4 = fStack68 * 7.00000000 + fStack36; - *(float *)&(*ppPVar16)->field_4B8 = fStack64 * 7.00000000 + fStack32; - *(float *)&(*ppPVar16)->field_4BC = fStack60 * 7.00000000 + fStack28; - return uStack16; - } - if ((*ppPVar16)->unknown == 1) { - pPVar15 = *ppPVar16; - goto LAB_7f08b198; - } - } - if ((((pGStack8 == NULL) || - (ppPVar16 = ptr_BONDdata_p1 + uStack4, (*ppPVar16)->ptr_char_objectinstance == 0)) || - (sVar8 = get_num_players(), sVar8 < 2)) || (uVar5 = get_cur_playernum(), uVar5 == uStack4)) - { - param_1[1] = param_1[1] & 0xfd; - return 0; - } - iStack92 = 0; - piStack124 = NULL; - fStack104 = -1.00000000; - fStack100 = -1.00000000; - iVar9 = something_with_weaponpos_of_guarddata_hand(pGStack8,1); - iVar10 = something_with_weaponpos_of_guarddata_hand(pGStack8,0); - iVar6 = 0; - iVar14 = 0; - if (iVar9 != 0) { - iVar6 = *(int *)(iVar9 + 4); - } - if (iVar10 != 0) { - iVar14 = *(int *)(iVar10 + 4); - } - uVar5 = get_cur_playernum(); - iVar11 = proc_7F09B4D8(uVar5); - if (iVar11 == 0) { - DAT_800368d4 += 1; - } - if (DAT_800368d4 < 2) { - pPVar15 = *ppPVar16; - iVar6 = extraout_a2_lo_00; - uVar13 = extraout_a3_lo_00; - goto LAB_7f08ba78; - } - pPVar15 = *ppPVar16; - fStack108 = pPVar15->field_2A08; - fStack112 = pPVar15->field_2A0C; - if (pPVar15->bonddead == 0) { - if ((iVar9 == 0) || (iVar10 == 0)) { - if ((iVar9 == 0) && (iVar10 == 0)) { - iVar6 = 2; - } - else { - if ((iVar6 == 0) || - (iVar9 = check_special_attributes((int)*(char *)(iVar6 + 0x80),0x200), iVar9 != 0 - )) { - if ((iVar14 == 0) || - (iVar9 = check_special_attributes((int)*(char *)(iVar14 + 0x80),0x200), - iVar9 != 0)) { - if ((iVar6 == 0) || - (iVar6 = check_special_attributes((int)*(char *)(iVar6 + 0x80),0x100), - iVar6 == 0)) { - if (iVar14 == 0) { - iVar6 = 1; - } - else { - iVar6 = check_special_attributes - ((int)*(char *)(iVar14 + 0x80),0x100); - if (iVar6 == 0) { - iVar6 = 1; - } - else { - iVar6 = 0; - } - } - } - else { - iVar6 = 0; - } - } - else { - iVar6 = 2; - } - } - else { - iVar6 = 2; - } - } - } - else { - iVar6 = 3; - } - iVar14 = proc_7F079A1C(uStack4); - uVar13 = extraout_a3_lo_02; - if ((iVar14 == 1) || - (iVar14 = proc_7F079A1C(uStack4), uVar13 = extraout_a3_lo_03, iVar14 == 0)) { - fVar19 = 1.00000000; - pPVar15 = *ppPVar16; - iVar14 = 5; - } - else { - pPVar15 = *ppPVar16; - fVar19 = pPVar15->speedsideways; - if ((0.00000000 <= fVar19) || (firing_animation_groups[iVar6 * 6 + 4].pointer == NULL)) - { - if (0.00000000 < fVar19) { - if (firing_animation_groups[iVar6 * 6 + 3].pointer != NULL) { - iVar14 = 3; - if (-90.00000000 < (float)pPVar15->field_1280) { - *(float *)&pPVar15->field_1280 = - (float)pPVar15->field_1280 - 15.00000000; - pPVar15 = *ppPVar16; - iVar14 = 3; - } - goto LAB_7f08b7fc; - } - fVar19 = pPVar15->speedtheta; - } - else { - fVar19 = pPVar15->speedtheta; - } - if (fVar19 < 0.00000000) { - fVar19 = -fVar19; - fVar17 = pPVar15->speedforwards; - } - else { - fVar17 = pPVar15->speedforwards; - } - if (fVar17 < flt_800552C0) { - if (fVar17 < -fVar19) { - iVar14 = pPVar15->field_4E8; - fVar19 = fVar17; - } - else { - iVar14 = pPVar15->field_4E8; - fVar19 = -fVar19; - } - if ((iVar14 == 0) || (iVar14 = 2, flt_800552C4 < fVar17)) { - fVar19 = fVar19 + fVar19; - iVar14 = 1; - if (-1.00000000 <= fVar19) { - fVar17 = (float)pPVar15->field_1280; - goto LAB_7f08b7a8; - } - fVar19 = -1.00000000; - iVar14 = 1; - } -LAB_7f08b7a4: - fVar17 = (float)pPVar15->field_1280; - } - else { - if ((fVar17 <= flt_800552C8) && (fVar19 <= flt_800552C8)) { - fVar19 = 1.00000000; - iVar14 = 0; - goto LAB_7f08b7a4; - } - if (fVar19 < fVar17) { - iVar14 = pPVar15->field_4E8; - fVar19 = fVar17; - } - else { - iVar14 = pPVar15->field_4E8; - } - if ((iVar14 != 0) && (iVar14 = 2, flt_800552CC <= fVar17)) goto LAB_7f08b7a4; - fVar18 = fVar19 + fVar19; - iVar14 = 1; - fVar19 = 1.00000000; - if (1.00000000 < fVar18) { - fVar17 = (float)pPVar15->field_1280; - } - else { - fVar17 = (float)pPVar15->field_1280; - fVar19 = fVar18; - } - } -LAB_7f08b7a8: - if (0.00000000 < fVar17) { - *(float *)&pPVar15->field_1280 = fVar17 - 15.00000000; - pPVar15 = *ppPVar16; - fVar17 = (float)pPVar15->field_1280; - } - if (fVar17 < 0.00000000) { - *(float *)&pPVar15->field_1280 = fVar17 + 15.00000000; - pPVar15 = *ppPVar16; - } - } - else { - fVar19 = -fVar19; - iVar14 = 4; - if ((float)pPVar15->field_1280 < 90.00000000) { - *(float *)&pPVar15->field_1280 = (float)pPVar15->field_1280 + 15.00000000; - pPVar15 = *ppPVar16; - iVar14 = 4; - } - } - } -LAB_7f08b7fc: - piStack124 = (int *)firing_animation_groups[iVar14 + iVar6 * 6].pointer; - if (firing_animation_groups[iVar14 + iVar6 * 6].anim != 0) { - iStack92 = firing_animation_groups[iVar14 + iVar6 * 6].anim + ptr_animation_table; - } - fStack104 = firing_animation_groups[iVar14 + iVar6 * 6].z; - fVar17 = (float)firing_animation_groups[iVar14 + iVar6 * 6].y; - fVar19 = fVar19 * (float)firing_animation_groups[iVar14 + iVar6 * 6].x; - iVar6 = pPVar15->players_cur_animation; - } - else { - bVar2 = false; - if (0 < (int)total_player_death_anim) { - puVar12 = player_death_ani_list; - uVar5 = player_death_ani_list[0]; - while( true ) { - puVar12 = puVar12 + 1; - if (pPVar15->players_cur_animation == uVar5 + ptr_animation_table) { - bVar2 = true; - } - if (player_death_ani_list + total_player_death_anim <= puVar12) break; - uVar5 = *puVar12; - } - } - if (bVar2) { - iVar6 = pPVar15->players_cur_animation; - uVar13 = total_player_death_anim; - iStack92 = iVar6; - } - else { - uVar5 = get_random_value(); - pPVar15 = *ppPVar16; - iStack92 = player_death_ani_list[uVar5 % total_player_death_anim] + ptr_animation_table; - if (total_player_death_anim == 0) { - trap(0x1c00); - } - iVar6 = pPVar15->players_cur_animation; - uVar13 = extraout_a3_lo_01; - } - fVar19 = 0.50000000; - fStack108 = 0.00000000; - fStack112 = 0.00000000; - fVar17 = fStack100; - } - if ((piStack124 != NULL) && (iStack92 == 0)) { - iStack92 = *piStack124; - } - bVar2 = iStack92 != iVar6; - if ((0.00000000 <= fVar17) && - ((*(char *)(pPVar15->ptr_char_objectinstance + 0x26) == '\0' || - (fVar17 != *(float *)(pPVar15->ptr_char_objectinstance + 0x90))))) { - bVar2 = true; - } - if ((fVar17 < 0.00000000) && (*(char *)(pPVar15->ptr_char_objectinstance + 0x26) != '\0')) { - bVar2 = true; - } - if (bVar2) { - if (*(int *)(pPVar15->ptr_char_objectinstance + 0x54) == 0) { - fVar18 = fVar17; - if (fVar17 < 0.00000000) { - fVar18 = 0.00000000; - } - fStack100 = fVar17; - fStack96 = (f32)fVar19; - proc_7F06FCA8(pPVar15->ptr_char_objectinstance,iStack92,0,fVar19,fVar18,0.00000000); - (*ppPVar16)->players_cur_animation = iStack92; - (*ppPVar16)->field_1288 = fStack96; - fVar19 = (float)fStack96; - uVar13 = extraout_a3_lo_04; - if (0.00000000 <= fStack100) { - proc_7F06FDCC((*ppPVar16)->ptr_char_objectinstance,fStack100,0x41800000); - fVar19 = extraout_f12; - uVar13 = extraout_a3_lo_05; - } - if (0.00000000 <= (float)fStack104) { - proc_7F06FDE8((*ppPVar16)->ptr_char_objectinstance,fVar19); - pPVar15 = *ppPVar16; - fVar19 = extraout_f12_00; - uVar13 = extraout_a3_lo_06; - } - else { - pPVar15 = *ppPVar16; - } - } - else { - pPVar15 = *ppPVar16; - } - iVar6 = pPVar15->players_cur_animation; - } - else { - if (fVar19 != (float)pPVar15->field_1288) { - fStack96 = (f32)fVar19; - proc_7F06FE4C(pPVar15->ptr_char_objectinstance,fVar19,fVar19); - (*ppPVar16)->field_1288 = fStack96; - iVar6 = (*ppPVar16)->players_cur_animation; - fVar19 = (float)fStack96; - uVar13 = extraout_a3_lo_07; - } - } - if (iStack92 == iVar6) { - if (piStack124 == NULL) { - pGStack8->field_154 = 0; - pGStack8->field_150 = 0; - pGStack8->special_bitflags = pGStack8->special_bitflags | 0x400; - *(f32 *)&pGStack8->field_158 = fStack108; - } - else { - pGStack8->special_bitflags = pGStack8->special_bitflags & 0xfbff; - proc_7F02D048((int)pGStack8,(int)piStack124,0,1,fVar19); - iVar6 = extraout_a2_lo_01; - uVar13 = extraout_a3_lo_08; - } - } - pGStack8->field_E = '\n'; - *(f32 *)&pGStack8->field_15C = fStack112; - pPVar15 = *ppPVar16; -LAB_7f08ba78: - iVar9 = 0; - *(f32 *)(param_1 + 8) = pPVar15->positionx; - *(int *)(param_1 + 0xc) = (*ppPVar16)->positiony; - *(int *)(param_1 + 0x10) = (*ppPVar16)->positionz; - *(int *)(param_1 + 0x14) = (*ppPVar16)->ptr_tile_printmanpos; - getsuboffset(pGStack8->MODELdata_pointer,(undefined4 *)&xStack136,iVar6,uVar13); - xStack136.x = *(f32 *)(param_1 + 8); - xStack136.z = *(f32 *)(param_1 + 0x10); - setsuboffset(pGStack8->MODELdata_pointer,&xStack136); - setsubroty(pGStack8->MODELdata_pointer,extraout_f12_01, - (((float)(*ppPVar16)->field_1280 + (360.00000000 - (*ppPVar16)->vv_theta)) * - flt_800552D0) / 360.00000000,extraout_a2_lo_02); - pGStack8->actiontype = 0x19; - pGStack8->guard_bitflags = pGStack8->guard_bitflags | 1; - *(int **)&pGStack8->bond_position = piStack124; - proc_7F02D118((int)pGStack8,0,(int)*(char *)((int)&(*ppPVar16)->right_weapon_firing_status + 1)) - ; - proc_7F02D118((int)pGStack8,1,(int)*(char *)((int)&(*ppPVar16)->left_weapon_firing_status + 1)); - uVar3 = proc_7F020EF0(param_1,extraout_a1_lo_00,extraout_a2_lo_03,extraout_a3_lo_09); - uStack88 = (undefined4)uVar3; - iVar14 = 0; - iVar6 = 0; - do { - lVar4 = proc_7F02D630((int)pGStack8,iVar9,(float *)((int)&(*ppPVar16)->field_2A18 + iVar6)); - if (lVar4 == 0) { - pPVar15 = *ppPVar16; - if (*(int *)((int)&pPVar15->field_2A30 + iVar14) < dword_80048380 + -1) { - *(int *)((int)&pPVar15->field_2A18 + iVar6) = (&pPVar15->field_B58)[iVar9 * 0xea]; - *(int *)((int)&(*ppPVar16)->field_2A1C + iVar6) = - (&(*ppPVar16)->field_B5C)[iVar9 * 0xea]; - *(int *)((int)&(*ppPVar16)->field_2A20 + iVar6) = - (&(*ppPVar16)->field_B60)[iVar9 * 0xea]; - } - } - else { - *(int *)((int)&(*ppPVar16)->field_2A30 + iVar14) = dword_80048380; - } - iVar9 += 1; - iVar14 += 4; - iVar6 += 0xc; - } while (iVar9 != 2); - pGStack8->special_bitflags = pGStack8->special_bitflags | 0x800; - *(f32 *)(param_1 + 8) = (*ppPVar16)->positionx; - *(int *)(param_1 + 0xc) = (*ppPVar16)->positiony; - *(int *)(param_1 + 0x10) = (*ppPVar16)->positionz; - *(int *)(param_1 + 0x14) = (*ppPVar16)->ptr_tile_printmanpos; - return uStack88; -} - - - -undefined8 proc_7F08BCB8(undefined8 param_1) - -{ - return param_1; -} - - - -undefined8 proc_7F08BCC0(char *param_1,undefined8 param_2,uint param_3) - -{ - if (*(int *)(param_1 + 4) != 0) { - param_2 = proc_7F021BFC(param_1,(uint *)param_2,param_3); - } - return param_2; -} - - - -undefined4 * proc_7F08BCF4(undefined4 *param_1) - -{ - *param_1 = 0x1020040; - param_1[1] = pPlayer->field_5C; - return param_1 + 2; -} - - - -void proc_7F08BD18(uint *param_1) - -{ - float afStack64 [16]; - - proc_7F058020((float (*) [4] [4])param_1,(float (*) [4])afStack64); - proc_7F058C9C((int)afStack64,param_1); - return; -} - - - -void proc_7F08BD48(undefined4 *param_1,int param_2) - -{ - int iVar1; - float (*paafVar2) [4] [4]; - float afStack64 [16]; - - iVar1 = 0; - if (0 < param_2) { - paafVar2 = (float (*) [4] [4])param_1; - do { - proc_7F058020(paafVar2,(float (*) [4])afStack64); - proc_7F058C9C((int)(float (*) [4])afStack64,param_1 + iVar1 * 0x10); - iVar1 += 1; - paafVar2 = paafVar2 + 1; - } while (iVar1 != param_2); - } - return; -} - - - -void proc_7F08BDC4(uint *param_1) - -{ - float afStack64 [12]; - float fStack16; - float fStack12; - float fStack8; - - proc_7F058020((float (*) [4] [4])param_1,(float (*) [4])afStack64); - fStack16 = fStack16 - (float)pPlayer->previous_model_xpos; - fStack12 = fStack12 - (float)pPlayer->previous_model_ypos; - fStack8 = fStack8 - (float)pPlayer->previous_model_zpos; - proc_7F058C9C((int)afStack64,param_1); - return; -} - - - -void proc_7F08BE2C(undefined4 *param_1,int param_2) - -{ - int iVar1; - float (*paafVar2) [4] [4]; - float afStack64 [12]; - float fStack16; - float fStack12; - float fStack8; - - iVar1 = 0; - if (0 < param_2) { - paafVar2 = (float (*) [4] [4])param_1; - do { - proc_7F058020(paafVar2,(float (*) [4])afStack64); - fStack16 = fStack16 - (float)pPlayer->previous_model_xpos; - fStack12 = fStack12 - (float)pPlayer->previous_model_ypos; - fStack8 = fStack8 - (float)pPlayer->previous_model_zpos; - proc_7F058C9C((int)(float (*) [4])afStack64,param_1 + iVar1 * 0x10); - iVar1 += 1; - paafVar2 = paafVar2 + 1; - } while (iVar1 != param_2); - } - return; -} - - - -void proc_7F08BEEC(float *param_1,int param_2) - -{ - float *pfVar1; - float *pfVar2; - int iVar3; - undefined auStack64 [48]; - float fStack16; - float fStack12; - float fStack8; - - iVar3 = 0; - if (0 < param_2) { - pfVar2 = param_1; - do { - pfVar1 = (float *)get_BONDdata_field_10D4(); - proc_7F05818C(pfVar1,pfVar2,(int)auStack64); - fStack16 = fStack16 - (float)pPlayer->current_model_xpos; - fStack12 = fStack12 - (float)pPlayer->current_model_ypos; - fStack8 = fStack8 - (float)pPlayer->current_model_zpos; - proc_7F058C9C((int)auStack64,(uint *)(param_1 + iVar3 * 0x10)); - iVar3 += 1; - pfVar2 = pfVar2 + 0x10; - } while (iVar3 != param_2); - } - return; -} - - - -int getMissiontime(void) - -{ - return missiontime; -} - - - -void trigger_explosions_around_player(int delay) - -{ - dword_80036444 = 1; - DAT_8007999c = delay + global_timer; - DAT_800799a0 = 0; - return; -} - - - -void reinit_BONDdata_inventory(void) - -{ - int iVar1; - int iVar2; - int iVar3; - - iVar1 = 0; - iVar2 = 0; - if (pPlayer->equipmaxitems < 1) { - pPlayer->ptr_inventory_first_in_cycle = 0; - } - else { - iVar3 = pPlayer->p_itemcur; - while( true ) { - iVar1 += 1; - *(undefined4 *)(iVar3 + iVar2) = 0xffffffff; - iVar2 += 0x14; - if (pPlayer->equipmaxitems <= iVar1) break; - iVar3 = pPlayer->p_itemcur; - } - pPlayer->ptr_inventory_first_in_cycle = 0; - } - pPlayer->field_11F4 = 0; - pPlayer->field_11F0 = 0; - return; -} - - - -void proc_7F08C054(int *param_1) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iVar4; - int *piVar5; - int iVar6; - int *piVar7; - int iVar8; - - iVar1 = *param_1; - iVar3 = -1; - iVar4 = -1; - if (iVar1 == 1) { - iVar3 = param_1[1]; - } - else { - if (iVar1 == 3) { - iVar3 = param_1[1]; - iVar4 = param_1[2]; - } - else { - if (iVar1 == 2) { - iVar3 = 2000; - } - } - } - piVar5 = (int *)param_1[3]; - if (piVar5 != (int *)pPlayer->ptr_inventory_first_in_cycle) { - do { - iVar1 = *piVar5; - iVar6 = -1; - iVar8 = -1; - if (iVar1 == 1) { - iVar6 = piVar5[1]; -LAB_7f08c104: - bVar2 = iVar6 < iVar3; - } - else { - if (iVar1 == 3) { - iVar6 = piVar5[1]; - iVar8 = piVar5[2]; - goto LAB_7f08c104; - } - if (iVar1 == 2) { - iVar6 = 1000; - goto LAB_7f08c104; - } - bVar2 = -1 < iVar3; - } - if (bVar2) { - piVar7 = (int *)piVar5[3]; - } - else { - if (iVar3 != iVar6) { - return; - } - if (iVar4 <= iVar8) { - return; - } - piVar7 = (int *)piVar5[3]; - } - if (param_1 == piVar7) { - *(int **)&pPlayer->ptr_inventory_first_in_cycle = piVar5; - piVar7 = (int *)pPlayer->ptr_inventory_first_in_cycle; -LAB_7f08c17c: - piVar5 = (int *)param_1[3]; - } - else { - *(int **)(param_1 + 3) = piVar7; - piVar5[4] = param_1[4]; - *(int **)(param_1 + 4) = piVar5; - *(int **)(piVar5 + 3) = param_1; - *(int **)(param_1[3] + 0x10) = param_1; - *(int **)(piVar5[4] + 0xc) = piVar5; - piVar7 = (int *)pPlayer->ptr_inventory_first_in_cycle; - if (param_1 == piVar7) { - *(int **)&pPlayer->ptr_inventory_first_in_cycle = piVar5; - piVar7 = (int *)pPlayer->ptr_inventory_first_in_cycle; - goto LAB_7f08c17c; - } - piVar5 = (int *)param_1[3]; - } - } while (piVar5 != piVar7); - } - return; -} - - - -void add_additional_weapon_slot_to_player_inventory_documentation_guess(int *param_1) - -{ - int iVar1; - - iVar1 = pPlayer->ptr_inventory_first_in_cycle; - if (iVar1 == 0) { - *(int **)(param_1 + 3) = param_1; - *(int **)(param_1 + 4) = param_1; - } - else { - param_1[3] = iVar1; - param_1[4] = *(int *)(pPlayer->ptr_inventory_first_in_cycle + 0x10); - *(int **)(iVar1 + 0x10) = param_1; - *(int **)(param_1[4] + 0xc) = param_1; - } - *(int **)&pPlayer->ptr_inventory_first_in_cycle = param_1; - proc_7F08C054(param_1); - return; -} - - - -void reorder_inventory_ptrs_based_on_id_code(undefined4 *param_1) - -{ - undefined4 *puVar1; - int iVar2; - - puVar1 = (undefined4 *)param_1[3]; - iVar2 = param_1[4]; - if (param_1 == (undefined4 *)pPlayer->ptr_inventory_first_in_cycle) { - if (param_1 == puVar1) { - pPlayer->ptr_inventory_first_in_cycle = 0; - } - else { - *(undefined4 **)&pPlayer->ptr_inventory_first_in_cycle = puVar1; - } - puVar1[4] = iVar2; - } - else { - puVar1[4] = iVar2; - } - *(undefined4 **)(iVar2 + 0xc) = puVar1; - *param_1 = 0xffffffff; - return; -} - - - -int get_ptr_next_available_weapon(void) - -{ - int ptr_curitem; - int itemcount; - int ptroffset; - int *curitem; - - itemcount = 0; - if (0 < pPlayer->equipmaxitems) { - ptroffset = 0; - curitem = (int *)pPlayer->p_itemcur; - do { - ptr_curitem = *curitem; - itemcount += 1; - curitem = curitem + 5; - if (ptr_curitem == -1) { - return (int)(int *)pPlayer->p_itemcur + ptroffset; - } - ptroffset += 0x14; - } while (itemcount < pPlayer->equipmaxitems); - } - return 0; -} - - - -void set_BONDdata_allguns_flag(int param_1) - -{ - pPlayer->equipallguns = param_1; - return; -} - - - -int get_BONDdata_allguns_flag(void) - -{ - return pPlayer->equipallguns; -} - - - -int * get_ptr_inventory_item(ITEM_IDS item) - -{ - int *firstitem; - int *curitem; - int p_curitem; - - firstitem = (int *)pPlayer->ptr_inventory_first_in_cycle; - if (firstitem != NULL) { - p_curitem = *firstitem; - curitem = firstitem; - while( true ) { - if (p_curitem == 1) { - if (item == curitem[1]) { - return curitem; - } - curitem = (int *)curitem[3]; - } - else { - curitem = (int *)curitem[3]; - } - if ((curitem == firstitem) || (curitem == NULL)) break; - p_curitem = *curitem; - } - } - return NULL; -} - - - -BOOL is_weapon_in_inv(ITEM_IDS item) - -{ - int *piVar1; - - piVar1 = get_ptr_inventory_item(item); - return (BOOL)(uint)(piVar1 != NULL); -} - - - -int * get_ptr_inventory_for_item_in_hand(int item,int hand) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = (int *)pPlayer->ptr_inventory_first_in_cycle; - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 3) { - if (item == piVar2[1]) { - if (hand == piVar2[2]) { - return piVar2; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return NULL; -} - - - -ulonglong is_item_for_hand_in_inventory(int item,int hand) - -{ - int *piVar1; - - piVar1 = get_ptr_inventory_for_item_in_hand(item,hand); - return (ulonglong)(piVar1 != NULL); -} - - - -ulonglong check_if_item_available(ITEM_IDS weaponid) - -{ - ulonglong uVar1; - BOOL BVar2; - - if (((pPlayer->equipallguns == 0) || (weaponid == ITEM_UNARMED)) || (0x20 < (int)weaponid)) { - BVar2 = is_weapon_in_inv(weaponid); - uVar1 = SEXT48((int)BVar2); - } - else { - uVar1 = 1; - } - return uVar1; -} - - - -ulonglong check_if_item_for_hand_available(ITEM_IDS item,int hand) - -{ - s32 sVar2; - int iVar3; - ulonglong uVar1; - - if ((((pPlayer->equipallguns != 0) && ((int)item < 0x21)) && (item == hand)) && - ((sVar2 = get_num_players(), sVar2 == 1 && - (iVar3 = check_special_attributes(item,0x100000), iVar3 != 0)))) { - return 1; - } - uVar1 = is_item_for_hand_in_inventory(item,hand); - return uVar1; -} - - - -BOOL add_item_to_inventory(ITEM_IDS item) - -{ - BOOL added; - int *ptritemslot; - - added = is_weapon_in_inv(item); - if (added == FALSE) { - ptritemslot = (int *)get_ptr_next_available_weapon(); - if (ptritemslot != NULL) { - *ptritemslot = 1; - ptritemslot[1] = item; - add_additional_weapon_slot_to_player_inventory_documentation_guess(ptritemslot); - } - if ((pPlayer->equipallguns == 0) || (0x20 < (int)item)) { - added = TRUE; - } - else { - added = FALSE; - } - } - else { - added = FALSE; - } - return added; -} - - - -undefined8 add_doubles_item_to_inventory(int right,int left) - -{ - ulonglong uVar1; - undefined8 uVar2; - int *piVar3; - - uVar1 = is_item_for_hand_in_inventory(right,left); - if (uVar1 == 0) { - piVar3 = (int *)get_ptr_next_available_weapon(); - if (piVar3 != NULL) { - *piVar3 = 3; - piVar3[1] = right; - piVar3[2] = left; - add_additional_weapon_slot_to_player_inventory_documentation_guess(piVar3); - } - uVar2 = 1; - } - else { - uVar2 = 0; - } - return uVar2; -} - - - -int proc_7F08C570(char param_1) - -{ - int *piVar1; - int iVar2; - int *piVar3; - - piVar1 = (int *)pPlayer->ptr_inventory_first_in_cycle; - if (piVar1 != NULL) { - piVar3 = (int *)piVar1[3]; - do { - if ((((*piVar3 == 2) && (*(char *)piVar3[1] == '\x04')) && - (iVar2 = *(int *)((char *)piVar3[1] + 4), *(char *)(iVar2 + 3) == '\b')) && - (param_1 == *(char *)(iVar2 + 0x80))) { - reorder_inventory_ptrs_based_on_id_code(piVar3); - return iVar2; - } - if (piVar3 == piVar1) { - return 0; - } - piVar3 = (int *)piVar3[3]; - } while (piVar1 != NULL); - } - return 0; -} - - - -void proc_7F08C61C(longlong param_1) - -{ - int *piVar1; - int iVar2; - int *piVar3; - int *piVar4; - - piVar3 = (int *)pPlayer->ptr_inventory_first_in_cycle; - if (piVar3 != NULL) { - piVar4 = (int *)piVar3[3]; - do { - piVar1 = (int *)piVar4[3]; - if (*piVar4 == 2) { - if (((*(char *)piVar4[1] == '\x04') && - (iVar2 = *(int *)((char *)piVar4[1] + 4), *(char *)(iVar2 + 3) == '\b')) && - (param_1 == (longlong)*(char *)(iVar2 + 0x80))) { - reorder_inventory_ptrs_based_on_id_code(piVar4); - piVar3 = (int *)pPlayer->ptr_inventory_first_in_cycle; - } - } - else { - if ((*piVar4 == 1) && (param_1 == (longlong)piVar4[1])) { - reorder_inventory_ptrs_based_on_id_code(piVar4); - piVar3 = (int *)pPlayer->ptr_inventory_first_in_cycle; - } - } - } while ((piVar4 != piVar3) && (piVar4 = piVar1, piVar3 != NULL)); - } - return; -} - - - -undefined8 proc_7F08C724(int param_1) - -{ - int *piVar1; - - piVar1 = (int *)get_ptr_next_available_weapon(); - if (piVar1 != NULL) { - *piVar1 = 2; - piVar1[1] = param_1; - add_additional_weapon_slot_to_player_inventory_documentation_guess(piVar1); - } - return 1; -} - - - -ulonglong proc_7F08C764(char *param_1) - -{ - char cVar1; - char cVar2; - int iVar3; - int iVar4; - BOOL BVar5; - ulonglong uVar6; - - uVar6 = 0; - if ((*param_1 == '\x04') && (iVar3 = *(int *)(param_1 + 4), *(char *)(iVar3 + 3) == '\b')) { - cVar1 = *(char *)(iVar3 + 0x80); - BVar5 = add_item_to_inventory((int)cVar1); - uVar6 = SEXT48((int)BVar5); - iVar4 = *(int *)(iVar3 + 0x84); - if (iVar4 == 0) { - cVar2 = *(char *)(iVar3 + 0x81); - if (-1 < cVar2) { - if (*(int *)(iVar3 + 8) << 3 < 0) { - uVar6 = add_doubles_item_to_inventory((int)cVar2,(int)cVar1); - } - else { - uVar6 = add_doubles_item_to_inventory((int)cVar1,(int)cVar2); - } - } - } - else { - if (*(int *)(iVar3 + 8) << 3 < 0) { - uVar6 = is_item_for_hand_in_inventory((int)*(char *)(iVar4 + 0x80),(int)cVar1); - } - else { - uVar6 = is_item_for_hand_in_inventory((int)cVar1,(int)*(char *)(iVar4 + 0x80)); - } - uVar6 = (ulonglong)(uVar6 == 0); - *(char *)(*(int *)(iVar3 + 0x84) + 0x81) = cVar1; - *(undefined4 *)(*(int *)(iVar3 + 0x84) + 0x84) = 0; - *(undefined4 *)(iVar3 + 0x84) = 0; - } - } - return uVar6; -} - - - -// WARNING: Instruction at (ram,0x7f08c954) overlaps instruction at (ram,0x7f08c950) -// - -void proc_7F08C86C(int *nextright,int *nextleft,s32 direction) - -{ - BOOL BVar1; - s32 sVar2; - int item; - int iVar3; - int *piVar4; - int item_00; - int iVar5; - int iVar6; - - piVar4 = (int *)pPlayer->ptr_inventory_first_in_cycle; - iVar5 = *nextright; - iVar6 = *nextleft; - if (piVar4 != NULL) { - item_00 = *piVar4; - do { - if (item_00 == 1) { - item_00 = piVar4[1]; - if ((item_00 < 0x21) && (iVar5 < item_00)) { - if (direction != 0) { - BVar1 = check_if_have_ammo_for_item(item_00); - if (BVar1 == FALSE) goto LAB_7f08c968; - item_00 = piVar4[1]; - } - iVar5 = item_00; - iVar6 = 0; - break; - } - } - else { - if (((item_00 == 3) && - ((item_00 = piVar4[1], iVar5 < item_00 || - ((iVar5 == item_00 && (iVar6 < piVar4[2])))))) && - ((direction == 0 || - ((BVar1 = check_if_have_ammo_for_item(item_00), BVar1 != FALSE || - (BVar1 = check_if_have_ammo_for_item(piVar4[2]), BVar1 != FALSE)))))) { - iVar5 = piVar4[1]; - iVar6 = piVar4[2]; - break; - } - } -LAB_7f08c968: - piVar4 = (int *)piVar4[3]; - if (piVar4 == (int *)pPlayer->ptr_inventory_first_in_cycle) { - if (direction != 0) { - item_00 = pPlayer->equipallguns; - goto LAB_7f08c99c; - } - iVar5 = -1; - iVar6 = -1; - } - if (piVar4 == NULL) break; - item_00 = *piVar4; - } while( true ); - } - item_00 = pPlayer->equipallguns; -LAB_7f08c99c: - item = iVar5; - iVar3 = iVar6; - if (item_00 == 0) goto LAB_7f08cae8; - item_00 = *nextright; - sVar2 = get_num_players(); - if (((sVar2 == 1) && (item = check_special_attributes(*nextright,0x100000), item != 0)) && - (item = *nextright, *nextleft < item)) { - if (direction != 0) { - BVar1 = check_if_have_ammo_for_item(item); - if (BVar1 == FALSE) goto LAB_7f08ca30; - item = *nextright; - } - iVar3 = item; - if ((iVar5 != item) || (item < iVar6)) goto LAB_7f08cae8; - } -LAB_7f08ca30: - if ((iVar5 != *nextright) || (item = iVar5, iVar3 = iVar6, iVar6 == *nextleft)) { - do { - item = item_00 + 1; - item_00 = item % 0x21; - iVar3 = item_00 + 1; - if (false) { - trap(0x1c00); - } - if ((false) && (item == -0x80000000)) { - trap(0x1800); - } - if (item_00 == 0) { - item_00 = iVar3 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - } - if ((direction == 0) || (BVar1 = check_if_have_ammo_for_item(item_00), BVar1 != FALSE)) - { - item = item_00; - iVar3 = 0; - break; - } - item = iVar5; - iVar3 = iVar6; - } while (item_00 != iVar5); - } -LAB_7f08cae8: - *nextright = item; - *nextleft = iVar3; - return; -} - - - -// WARNING: Instruction at (ram,0x7f08cc18) overlaps instruction at (ram,0x7f08cc14) -// - -void proc_7F08CB10(int *param_1,int *param_2,longlong param_3) - -{ - int *piVar1; - BOOL BVar2; - s32 sVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int item; - int iVar8; - - iVar5 = *param_1; - iVar8 = *param_2; - if (pPlayer->ptr_inventory_first_in_cycle != 0) { - piVar1 = *(int **)(pPlayer->ptr_inventory_first_in_cycle + 0x10); - do { - if (*piVar1 == 1) { - item = piVar1[1]; - if ((item < 0x21) && ((item < iVar5 || ((iVar5 == item && (0 < iVar8)))))) { - if (param_3 != 0) { - BVar2 = check_if_have_ammo_for_item(item); - if (BVar2 == FALSE) goto LAB_7f08cc2c; - item = piVar1[1]; - } - iVar5 = item; - iVar8 = 0; - break; - } - } - else { - if (((*piVar1 == 3) && - ((item = piVar1[1], item < iVar5 || ((iVar5 == item && (piVar1[2] < iVar8)))))) - && ((param_3 == 0 || - ((BVar2 = check_if_have_ammo_for_item(item), BVar2 != FALSE || - (BVar2 = check_if_have_ammo_for_item(piVar1[2]), BVar2 != FALSE)))))) - goto code_r0x7f08cc1c; - } -LAB_7f08cc2c: - if (piVar1 == (int *)pPlayer->ptr_inventory_first_in_cycle) { - if (param_3 != 0) { - item = pPlayer->equipallguns; - goto LAB_7f08cc5c; - } - iVar5 = 1000; - iVar8 = 1000; - } - piVar1 = (int *)piVar1[4]; - } while( true ); - } -LAB_7f08cc58: - item = pPlayer->equipallguns; -LAB_7f08cc5c: - if (item != 0) { - item = *param_1; - if (*param_2 == 0) { - iVar6 = item + 0x20; - item = iVar6 % 0x21; - iVar7 = item + 0x20; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - if (item == 0) { - item = iVar7 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar7 == -0x80000000)) { - trap(0x1800); - } - } - } - while (iVar6 = item, iVar7 = item, item != iVar5) { - if ((param_3 == 0) || (BVar2 = check_if_have_ammo_for_item(item), BVar2 != FALSE)) { - sVar3 = get_num_players(); - if (((sVar3 != 1) || (iVar5 = check_special_attributes(item,0x100000), iVar5 == 0)) - || ((item == *param_1 && (*param_2 <= item)))) { - iVar7 = 0; - } - goto LAB_7f08ce44; - } - iVar6 = item + 0x20; - item = iVar6 % 0x21; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar6 == -0x80000000)) { - trap(0x1800); - } - if (item == 0) { - item = 0x20; - if (false) { - trap(0x1c00); - } - if ((false) && (false)) { - trap(0x1800); - } - } - } - sVar3 = get_num_players(); - iVar6 = iVar5; - iVar7 = iVar8; - if ((sVar3 != 1) || - (((iVar4 = check_special_attributes(item,0x100000), iVar4 != 0 && - ((param_3 == 0 || (BVar2 = check_if_have_ammo_for_item(item), BVar2 != FALSE)))) && - (((item == *param_1 && (*param_2 <= item)) || (iVar6 = item, iVar7 = item, iVar8 < item) - ))))) { -LAB_7f08ce44: - iVar5 = iVar6; - iVar8 = iVar7; - } - } - *param_1 = iVar5; - *param_2 = iVar8; - return; -code_r0x7f08cc1c: - iVar5 = piVar1[1]; - iVar8 = piVar1[2]; - goto LAB_7f08cc58; -} - - - -undefined8 proc_7F08CE70(uint param_1) - -{ - int *piVar1; - uint uVar2; - int *piVar3; - int iVar4; - - piVar1 = (int *)pPlayer->ptr_inventory_first_in_cycle; - uVar2 = 0; - if (piVar1 != NULL) { - iVar4 = *piVar1; - piVar3 = piVar1; - while( true ) { - if (iVar4 == 2) { - if (*(char *)piVar3[1] == '\x01') { - iVar4 = *(int *)((char *)piVar3[1] + 4); - if (*(char *)(iVar4 + 3) == '\x04') { - uVar2 |= *(uint *)(iVar4 + 0x80); - if (param_1 == (param_1 & uVar2)) { - return 1; - } - piVar3 = (int *)piVar3[3]; - } - else { - piVar3 = (int *)piVar3[3]; - } - } - else { - piVar3 = (int *)piVar3[3]; - } - } - else { - piVar3 = (int *)piVar3[3]; - } - if (piVar3 == piVar1) { - return 0; - } - if (piVar3 == NULL) break; - iVar4 = *piVar3; - } - } - return 0; -} - - - -undefined8 proc_7F08CF0C(void) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = (int *)pPlayer->ptr_inventory_first_in_cycle; - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 2) { - if (*(char *)piVar2[1] == '\x04') { - if (*(short *)(*(int *)((char *)piVar2[1] + 4) + 4) == 0xf8) { - return 1; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return 0; -} - - - -ulonglong proc_7F08CF80(void) - -{ - ulonglong uVar1; - BOOL BVar2; - - uVar1 = 0; - if (pPlayer->bonddead == 0) { - BVar2 = is_weapon_in_inv(ITEM_TOKEN); - uVar1 = SEXT48((int)BVar2); - } - return uVar1; -} - - - -void checkforgoldengun(void) - -{ - is_weapon_in_inv(ITEM_GOLDENGUN); - return; -} - - - -undefined8 proc_7F08CFE0(int param_1) - -{ - int *piVar1; - int *piVar2; - int iVar3; - - piVar1 = (int *)pPlayer->ptr_inventory_first_in_cycle; - if (piVar1 != NULL) { - iVar3 = *piVar1; - piVar2 = piVar1; - while( true ) { - if (iVar3 == 2) { - if (param_1 == piVar2[1]) { - return 1; - } - piVar2 = (int *)piVar2[3]; - } - else { - piVar2 = (int *)piVar2[3]; - } - if ((piVar2 == piVar1) || (piVar2 == NULL)) break; - iVar3 = *piVar2; - } - } - return 0; -} - - - -int proc_7F08D038(void) - -{ - int *piVar1; - int iVar2; - char *pcVar3; - int iVar4; - int *piVar5; - - iVar4 = 0; - if (pPlayer->equipallguns != 0) { - iVar4 = 0x20; - } - piVar1 = (int *)pPlayer->ptr_inventory_first_in_cycle; - if (piVar1 == NULL) { - return iVar4; - } - iVar2 = *piVar1; - piVar5 = piVar1; - do { - if (iVar2 == 2) { - pcVar3 = (char *)piVar5[1]; - if (*pcVar3 == '\x04') { - if ((*(uint *)(*(int *)(pcVar3 + 4) + 100) & 0x400) == 0) { - piVar5 = (int *)piVar5[3]; - } - else { -LAB_7f08d0ec: - iVar4 += 1; - piVar5 = (int *)piVar5[3]; - } - } - else { - if (*pcVar3 == '\x01') { - if ((*(uint *)(*(int *)(pcVar3 + 4) + 0xc) & 0x40000) == 0) goto LAB_7f08d0ec; - piVar5 = (int *)piVar5[3]; - } - else { - piVar5 = (int *)piVar5[3]; - } - } - } - else { - if (iVar2 == 1) { - if ((pPlayer->equipallguns == 0) || (0x20 < piVar5[1])) goto LAB_7f08d0ec; - piVar5 = (int *)piVar5[3]; - } - else { - piVar5 = (int *)piVar5[3]; - } - } - if (piVar5 == piVar1) { - return iVar4; - } - if (piVar5 == NULL) { - return iVar4; - } - iVar2 = *piVar5; - } while( true ); -} - - - -int * proc_7F08D108(int param_1) - -{ - int *piVar1; - int iVar2; - char *pcVar3; - bool bVar4; - int *piVar5; - - bVar4 = param_1 < 0x20; - if (pPlayer->equipallguns == 0) { - piVar1 = (int *)pPlayer->ptr_inventory_first_in_cycle; - } - else { - param_1 += -0x20; - if (bVar4) { - return NULL; - } - piVar1 = (int *)pPlayer->ptr_inventory_first_in_cycle; - } - if (piVar1 == NULL) { - return NULL; - } - iVar2 = *piVar1; - piVar5 = piVar1; - do { - if (iVar2 == 2) { - pcVar3 = (char *)piVar5[1]; - if (*pcVar3 == '\x04') { - if ((*(uint *)(*(int *)(pcVar3 + 4) + 100) & 0x400) == 0) { - piVar5 = (int *)piVar5[3]; - } - else { - if (param_1 == 0) { - return piVar5; - } -LAB_7f08d1fc: - param_1 += -1; - piVar5 = (int *)piVar5[3]; - } - } - else { - if (*pcVar3 == '\x01') { - if ((*(uint *)(*(int *)(pcVar3 + 4) + 0xc) & 0x40000) == 0) { - if (param_1 == 0) { - return piVar5; - } - goto LAB_7f08d1fc; - } - piVar5 = (int *)piVar5[3]; - } - else { - piVar5 = (int *)piVar5[3]; - } - } - } - else { - if (iVar2 == 1) { - if ((pPlayer->equipallguns == 0) || (0x20 < piVar5[1])) { - if (param_1 == 0) { - return piVar5; - } - goto LAB_7f08d1fc; - } - piVar5 = (int *)piVar5[3]; - } - else { - piVar5 = (int *)piVar5[3]; - } - } - if (piVar5 == piVar1) { - return NULL; - } - if (piVar5 == NULL) { - return NULL; - } - iVar2 = *piVar5; - } while( true ); -} - - - -int proc_7F08D21C(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = pPlayer->field_11F4; - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 0x24); - while( true ) { - if (param_1 == iVar2) { - return iVar1; - } - iVar1 = *(int *)(iVar1 + 0x20); - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 0x24); - } - } - return 0; -} - - - -int proc_7F08D25C(int param_1) - -{ - int iVar1; - int iVar2; - - iVar1 = pPlayer->field_11F4; - if (iVar1 != 0) { - iVar2 = *(int *)(iVar1 + 4); - while( true ) { - if (iVar2 == 0) { - if (param_1 == *(int *)(iVar1 + 8)) { - return iVar1; - } - iVar1 = *(int *)(iVar1 + 0x20); - } - else { - iVar1 = *(int *)(iVar1 + 0x20); - } - if (iVar1 == 0) break; - iVar2 = *(int *)(iVar1 + 4); - } - } - return 0; -} - - - -int proc_7F08D2A8(int param_1) - -{ - int *piVar1; - int iVar2; - - piVar1 = proc_7F08D108(param_1); - if (piVar1 == NULL) { - if (pPlayer->equipallguns == 0) { - param_1 = 0; - } - else { - if (param_1 < 0x20) { - param_1 += 1; - } - else { - param_1 = 0; - } - } - } - else { - if (*piVar1 == 2) { - iVar2 = proc_7F08D21C(*(int *)(piVar1[1] + 4)); - if (iVar2 == 0) { - param_1 = 0; - } - else { - param_1 = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - param_1 = piVar1[1]; - } - else { - param_1 = 0; - } - } - } - return param_1; -} - - - -int proc_7F08D340(int param_1) - -{ - int *piVar1; - int iVar2; - u8 *puVar3; - int item; - - piVar1 = proc_7F08D108(param_1); - item = 0; - if (piVar1 == NULL) { - if ((pPlayer->equipallguns != 0) && (param_1 < 0x20)) { - item = get_ptr_short_watch_text_for_item(param_1 + 1); - return item; - } - } - else { - if (*piVar1 == 2) { - iVar2 = proc_7F08D21C(*(int *)(piVar1[1] + 4)); - item = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x14) != 0) { - puVar3 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar2 + 0x14)); - return (int)puVar3; - } - item = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - item = piVar1[1]; - iVar2 = proc_7F08D25C(item); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x14) != 0)) { - puVar3 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar2 + 0x14)); - return (int)puVar3; - } - } - } - } - item = get_ptr_short_watch_text_for_item(item); - return item; -} - - - -int proc_7F08D434(int param_1) - -{ - int *piVar1; - int iVar2; - u8 *puVar3; - int item; - - piVar1 = proc_7F08D108(param_1); - item = 0; - if (piVar1 == NULL) { - if ((pPlayer->equipallguns != 0) && (param_1 < 0x20)) { - item = get_ptr_long_watch_text_for_item(param_1 + 1); - return item; - } - } - else { - if (*piVar1 == 2) { - iVar2 = proc_7F08D21C(*(int *)(piVar1[1] + 4)); - item = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x18) != 0) { - puVar3 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar2 + 0x18)); - return (int)puVar3; - } - item = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - item = piVar1[1]; - iVar2 = proc_7F08D25C(item); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x18) != 0)) { - puVar3 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar2 + 0x18)); - return (int)puVar3; - } - } - } - } - item = get_ptr_long_watch_text_for_item(item); - return item; -} - - - -int proc_7F08D528(int param_1) - -{ - int iVar1; - - iVar1 = proc_7F08D2A8(param_1); - get_45_degree_angle_0(); - return iVar1; -} - - - -int proc_7F08D550(int param_1) - -{ - int item; - - item = proc_7F08D2A8(param_1); - get_horizontal_offset_on_solo_watch_menu_for_item(item); - return item; -} - - - -int proc_7F08D578(int param_1) - -{ - int item; - - item = proc_7F08D2A8(param_1); - get_vertical_offset_on_solo_watch_menu_for_item(item); - return item; -} - - - -int proc_7F08D5A0(int param_1) - -{ - int item; - - item = proc_7F08D2A8(param_1); - get_depth_offset_solo_watch_menu_inventory_page_for_item(item); - return item; -} - - - -int proc_7F08D5C8(int param_1) - -{ - int *piVar1; - int iVar2; - u8 *puVar3; - int item; - - piVar1 = proc_7F08D108(param_1); - item = 0; - if (piVar1 == NULL) { - if ((pPlayer->equipallguns != 0) && (param_1 < 0x20)) { - item = get_ptr_first_title_line_item(param_1 + 1); - return item; - } - } - else { - if (*piVar1 == 2) { - iVar2 = proc_7F08D21C(*(int *)(piVar1[1] + 4)); - item = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0xc) != 0) { - puVar3 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar2 + 0xc)); - return (int)puVar3; - } - item = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - item = piVar1[1]; - iVar2 = proc_7F08D25C(item); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0xc) != 0)) { - puVar3 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar2 + 0xc)); - return (int)puVar3; - } - } - } - } - item = get_ptr_first_title_line_item(item); - return item; -} - - - -int proc_7F08D6BC(int param_1) - -{ - int *piVar1; - int iVar2; - u8 *puVar3; - int item; - - piVar1 = proc_7F08D108(param_1); - item = 0; - if (piVar1 == NULL) { - if ((pPlayer->equipallguns != 0) && (param_1 < 0x20)) { - item = get_ptr_second_title_line_item(param_1 + 1); - return item; - } - } - else { - if (*piVar1 == 2) { - iVar2 = proc_7F08D21C(*(int *)(piVar1[1] + 4)); - item = 0; - if (iVar2 != 0) { - if (*(int *)(iVar2 + 0x10) != 0) { - puVar3 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar2 + 0x10)); - return (int)puVar3; - } - item = *(int *)(iVar2 + 8); - } - } - else { - if (*piVar1 == 1) { - item = piVar1[1]; - iVar2 = proc_7F08D25C(item); - if ((iVar2 != 0) && (*(int *)(iVar2 + 0x10) != 0)) { - puVar3 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar2 + 0x10)); - return (int)puVar3; - } - } - } - } - item = get_ptr_second_title_line_item(item); - return item; -} - - - -int proc_7F08D7B0(int param_1) - -{ - int iVar1; - - iVar1 = proc_7F08D2A8(param_1); - get_45_degree_angle(); - return iVar1; -} - - - -int proc_7F08D7D8(int param_1) - -{ - int item; - - item = proc_7F08D2A8(param_1); - get_vertical_position_solo_watch_menu_main_page_for_item(item); - return item; -} - - - -int proc_7F08D800(int param_1) - -{ - int item; - - item = proc_7F08D2A8(param_1); - get_lateral_position_solo_watch_menu_main_page_for_item(item); - return item; -} - - - -int proc_7F08D828(int param_1) - -{ - int item; - - item = proc_7F08D2A8(param_1); - get_depth_on_solo_watch_menu_page_for_item(item); - return item; -} - - - -int proc_7F08D850(int param_1) - -{ - int item; - - item = proc_7F08D2A8(param_1); - get_zrotation_solo_watch_menu_for_item(item); - return item; -} - - - -int proc_7F08D878(int param_1) - -{ - int item; - - item = proc_7F08D2A8(param_1); - get_xrotation_solo_watch_menu_for_item(item); - return item; -} - - - -void proc_7F08D8A0(int param_1) - -{ - *(int *)(param_1 + 0x20) = pPlayer->field_11F4; - pPlayer->field_11F4 = param_1; - return; -} - - - -int proc_7F08D8C0(void) - -{ - return pPlayer->field_11F0; -} - - - -void proc_7F08D8D0(int param_1) - -{ - pPlayer->field_11F0 = param_1; - return; -} - - - -void proc_7F08D8E0(void) - -{ - ITEM_IDS IVar1; - int iVar2; - ITEM_IDS IVar3; - int iVar4; - - IVar1 = get_item_in_hand(0); - iVar4 = 0; - pPlayer->field_11F0 = 0; - iVar2 = proc_7F08D038(); - if (0 < iVar2) { - do { - IVar3 = proc_7F08D2A8(iVar4); - if (IVar3 == IVar1) { - pPlayer->field_11F0 = iVar4; - return; - } - iVar4 += 1; - iVar2 = proc_7F08D038(); - } while (iVar4 < iVar2); - } - return; -} - - - -int proc_7F08D95C(int param_1) - -{ - int iVar1; - u8 *puVar2; - - iVar1 = proc_7F08D21C(param_1); - if ((iVar1 == 0) || (*(int *)(iVar1 + 0x1c) == 0)) { - puVar2 = NULL; - } - else { - puVar2 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar1 + 0x1c)); - } - return (int)puVar2; -} - - - -int proc_7F08D9A4(int param_1) - -{ - int iVar1; - u8 *puVar2; - - iVar1 = proc_7F08D25C(param_1); - if ((iVar1 == 0) || (*(int *)(iVar1 + 0x1c) == 0)) { - puVar2 = NULL; - } - else { - puVar2 = get_textptr_for_textID((TEXTFILESTRINGS)*(undefined4 *)(iVar1 + 0x1c)); - } - return (int)puVar2; -} - - - -void proc_7F08D9EC(int param_1,int param_2) - -{ - int iVar1; - int iVar2; - int iVar3; - Player *pPVar4; - int iVar5; - int iVar6; - - iVar2 = check_special_attributes(param_1,0x20000); - if (iVar2 != 0) { - iVar3 = check_special_attributes(param_2,0x20000); - iVar2 = 0x7fffffff; - iVar6 = 0; - if (iVar3 == 0) { - param_2 = 0; - } - iVar3 = 0; - pPVar4 = pPlayer; - do { - iVar5 = pPVar4->field_1200; - if (iVar5 < 0) { - iVar5 = 10; - iVar6 = iVar3; - break; - } - if ((param_1 == pPVar4->index_time_spent_using_item) && (param_2 == pPVar4->field_11FC)) - { - pPVar4->field_1200 = iVar5 + clock_timer; - iVar5 = iVar3; - break; - } - iVar1 = iVar3; - if (iVar2 <= iVar5) { - iVar5 = iVar2; - iVar1 = iVar6; - } - iVar6 = iVar1; - iVar2 = iVar5; - iVar3 += 1; - pPVar4 = (Player *)&pPVar4->zpos; - iVar5 = iVar3; - } while (iVar3 < 10); - if (iVar5 == 10) { - (&pPlayer->field_1200)[iVar6 * 3] = clock_timer; - (&pPlayer->index_time_spent_using_item)[iVar6 * 3] = param_1; - (&pPlayer->field_11FC)[iVar6 * 3] = param_2; - } - } - return; -} - - - -void proc_7F08DB08(undefined4 *param_1,undefined4 *param_2) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - - *param_1 = 0; - iVar2 = -1; - *param_2 = 0; - iVar4 = 0; - do { - iVar3 = (int)&pPlayer->unknown + iVar4; - iVar1 = *(int *)(iVar3 + 0x1200); - if (iVar1 < 0) { -LAB_7f08db64: - iVar1 = *(int *)(iVar3 + 0x120c); - } - else { - if (iVar2 < iVar1) { - *param_1 = *(undefined4 *)(iVar3 + 0x11f8); - *param_2 = *(undefined4 *)((int)&pPlayer->field_11FC + iVar4); - iVar3 = (int)&pPlayer->unknown + iVar4; - iVar2 = iVar1; - goto LAB_7f08db64; - } - iVar1 = *(int *)(iVar3 + 0x120c); - } - if ((-1 < iVar1) && (iVar2 < iVar1)) { - *param_1 = *(undefined4 *)(iVar3 + 0x1204); - *param_2 = *(undefined4 *)((int)&pPlayer->field_1208 + iVar4); - iVar2 = iVar1; - } - iVar4 += 0x18; - if (iVar4 == 0x78) { - return; - } - } while( true ); -} - - - -void proc_7F08DBB0(void) - -{ - *(bool *)&pPlayer->field_5BC = *(char *)&pPlayer->field_5BC == '\0'; - return; -} - - - -void proc_7F08DBC8(void) - -{ - u32 uVar1; - float fVar2; - - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_564 + pPlayer->field_594 * 3) = - (fVar2 * 0.00000000 - 0.50000000) * flt_800552E0; - (&pPlayer->field_56C)[pPlayer->field_594 * 3] = 1.00000000; - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_57C + pPlayer->field_594 * 3) = - (fVar2 * 0.00000000 - 0.50000000) * flt_800552E4; - (&pPlayer->field_580)[pPlayer->field_594 * 3] = 1.00000000; - if (pPlayer->field_594 == 0) { - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_568 + pPlayer->field_594 * 3) = fVar2 * 0.00000000 * flt_800552F0 - ; - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_584 + pPlayer->field_594 * 3) = fVar2 * 0.00000000 * flt_800552F4 - ; - } - else { - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_568 + pPlayer->field_594 * 3) = fVar2 * 0.00000000 * flt_800552E8 - ; - uVar1 = get_random_value(); - fVar2 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar2 = fVar2 + 4294967296.00000000; - } - *(float *)(&pPlayer->field_584 + pPlayer->field_594 * 3) = fVar2 * 0.00000000 * flt_800552EC - ; - } - pPlayer->field_594 = 1 - pPlayer->field_594; - return; -} - - - -void proc_7F08DE48(float *param_1) - -{ - float fVar1; - float fVar2; - int iVar3; - - fVar1 = flt_800552F8; - if (pPlayer->field_4DC != 0) { - pPlayer->velocity = 0.00000000; - *(float *)&pPlayer->field_524 = param_1[1] / fVar1; - pPlayer->field_528 = 0.00000000; - pPlayer->field_4DC = 0; - } - fVar2 = flt_80055300; - fVar1 = master_player_perspective; - iVar3 = 0; - if (0 < clock_timer) { - do { - iVar3 += 1; - *(float *)&pPlayer->velocity = *param_1 + fVar2 * (float)pPlayer->velocity; - *(float *)&pPlayer->field_524 = param_1[1] + fVar2 * (float)pPlayer->field_524; - *(float *)&pPlayer->field_528 = param_1[2] + fVar2 * (float)pPlayer->field_528; - } while (iVar3 < clock_timer); - } - *(float *)&pPlayer->scaled_velocity = (float)pPlayer->velocity * fVar1; - *(float *)&pPlayer->field_500 = (float)pPlayer->field_524 * fVar1; - *(float *)&pPlayer->field_504 = (float)pPlayer->field_528 * fVar1; - return; -} - - - -void proc_7F08DF44(float *param_1,float *param_2) - -{ - int iVar1; - - if (pPlayer->field_4E0 != 0) { - *(float *)&pPlayer->field_52C = *param_1 / (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_530 = param_1[1] / (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_534 = param_1[2] / (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_538 = *param_2 / (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_53C = param_2[1] / (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_540 = param_2[2] / (1.00000000 - (float)pPlayer->field_4EC); - pPlayer->field_4E0 = 0; - } - iVar1 = 0; - if (0 < clock_timer) { - do { - iVar1 += 1; - *(float *)&pPlayer->field_52C = - *param_1 + (float)pPlayer->field_4EC * (float)pPlayer->field_52C; - *(float *)&pPlayer->field_530 = - param_1[1] + (float)pPlayer->field_4EC * (float)pPlayer->field_530; - *(float *)&pPlayer->field_534 = - param_1[2] + (float)pPlayer->field_4EC * (float)pPlayer->field_534; - *(float *)&pPlayer->field_538 = - *param_2 + (float)pPlayer->field_4EC * (float)pPlayer->field_538; - *(float *)&pPlayer->field_53C = - param_2[1] + (float)pPlayer->field_4EC * (float)pPlayer->field_53C; - *(float *)&pPlayer->field_540 = - param_2[2] + (float)pPlayer->field_4EC * (float)pPlayer->field_540; - } while (iVar1 < clock_timer); - } - *(float *)&pPlayer->field_508 = - (float)pPlayer->field_52C * (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_50C = - (float)pPlayer->field_530 * (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_510 = - (float)pPlayer->field_534 * (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_514 = - (float)pPlayer->field_538 * (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_518 = - (float)pPlayer->field_53C * (1.00000000 - (float)pPlayer->field_4EC); - *(float *)&pPlayer->field_51C = - (float)pPlayer->field_540 * (1.00000000 - (float)pPlayer->field_4EC); - return; -} - - - -void proc_7F08E164(float param_1) - -{ - float fVar1; - - if (param_1 != (float)pPlayer->field_4EC) { - fVar1 = 1.00000000 - param_1; - *(float *)&pPlayer->field_52C = - ((float)pPlayer->field_52C * (1.00000000 - (float)pPlayer->field_4EC)) / fVar1; - *(float *)&pPlayer->field_530 = - ((float)pPlayer->field_530 * (1.00000000 - (float)pPlayer->field_4EC)) / fVar1; - *(float *)&pPlayer->field_534 = - ((float)pPlayer->field_534 * (1.00000000 - (float)pPlayer->field_4EC)) / fVar1; - *(float *)&pPlayer->field_538 = - ((float)pPlayer->field_538 * (1.00000000 - (float)pPlayer->field_4EC)) / fVar1; - *(float *)&pPlayer->field_53C = - ((float)pPlayer->field_53C * (1.00000000 - (float)pPlayer->field_4EC)) / fVar1; - *(float *)&pPlayer->field_540 = - ((float)pPlayer->field_540 * (1.00000000 - (float)pPlayer->field_4EC)) / fVar1; - *(float *)&pPlayer->field_4EC = param_1; - } - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void proc_7F08E240(float param_1,float param_2) - -{ - undefined4 uVar1; - int iVar2; - uint extraout_a1_lo; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a2_lo_01; - undefined4 extraout_a3_lo; - undefined4 extraout_a3_lo_00; - undefined4 extraout_a3_lo_01; - float **ppfVar3; - float **ppfVar4; - float **ppfVar5; - float **ppfVar6; - f32 fVar7; - float *pfVar8; - float extraout_f12; - float extraout_f12_00; - float fVar9; - float extraout_f12_01; - xyzpoint xStack180; - float afStack168 [16]; - float *apfStack104 [4]; - int *piStack88; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - f32 fStack8; - float fStack4; - - fStack12 = dword_80036B00; - fStack8 = (f32)dword_80036B04; - fStack4 = (float)dword_80036B08; - fStack24 = dword_80036B0C; - fStack20 = dword_80036B10; - fStack16 = flt_80036B14; - fStack36 = dword_80036B18; - fStack32 = flt_80036B1C; - fStack28 = dword_80036B20; - fStack40 = proc_7F06F618((int)&pPlayer->field_598); - ppfVar3 = (float **)&dword_80036B24; - ppfVar5 = apfStack104; - if (pPlayer->field_4E8 == 0) { - if (flt_80055304 < fStack40) { - pPlayer->field_4F4 = 1.00000000; - } - else { - if (flt_80055308 < fStack40) { - *(float *)&pPlayer->field_4F4 = - ((fStack40 - flt_80055308) * flt_8005530C) / flt_80055310 + flt_80055314; - } - else { - *(float *)&pPlayer->field_4F4 = flt_80055318; - } - } - pPlayer->field_4F8 = pPlayer->field_4F4; - ppfVar3 = (float **)&dword_80036B24; - } - else { - if (pPlayer->field_4E8 == 1) { - *(float *)&pPlayer->field_4F4 = flt_8005531C; - pPlayer->field_4F8 = 0.50000000; - } - else { - pPlayer->field_4F4 = 1.00000000; - pPlayer->field_4F8 = pPlayer->field_4F4; - } - } - do { - ppfVar4 = ppfVar3 + 3; - ppfVar6 = ppfVar5 + 3; - *ppfVar5 = *ppfVar3; - ppfVar5[1] = ppfVar3[1]; - ppfVar5[2] = ppfVar3[2]; - ppfVar3 = ppfVar4; - ppfVar5 = ppfVar6; - } while (ppfVar4 != (float **)&dword_80036B60); - *ppfVar6 = _dword_80036B60; - xStack180.x = dword_80036B64; - xStack180.y = dword_80036B68; - xStack180.z = dword_80036B6C; - uVar1 = proc_7F0701E0(); - pPlayer->field_4E4 = 0; - proc_7F0701D4(0); - proc_7F070AEC((int)&pPlayer->field_598,clock_timer,1); - proc_7F0701D4(uVar1); - subcalcpos((int)&pPlayer->field_598,extraout_a1_lo,extraout_a2_lo,extraout_a3_lo); - guMtxIdentF_unrolled((float (*) [4] [4])afStack168); - apfStack104[0] = afStack168; - piStack88 = &pPlayer->field_6D0; - subcalcmatrices(apfStack104,(uint)&pPlayer->field_598,extraout_a2_lo_00,extraout_a3_lo_00); - pPlayer->field_544 = pPlayer->field_554; - pPlayer->field_548 = pPlayer->field_558; - pPlayer->field_54C = pPlayer->field_55C; - getsuboffset((int)&pPlayer->field_598,(undefined4 *)&xStack180,extraout_a2_lo_01, - extraout_a3_lo_01); - xStack180.x = xStack180.x - (float)pPlayer->field_700; - xStack180.z = xStack180.z - (float)pPlayer->field_708; - setsuboffset((int)&pPlayer->field_598,&xStack180); - if (0.00000000 < fStack40) { - *(float *)&pPlayer->field_700 = (float)pPlayer->field_700 + param_2; - *(float *)&pPlayer->field_708 = (float)pPlayer->field_708 * param_1; - if (0 < clock_timer) { - *(float *)&pPlayer->field_700 = (float)pPlayer->field_700 / global_timer_delta; - *(float *)&pPlayer->field_708 = (float)pPlayer->field_708 / global_timer_delta; - } - fStack12 = (float)pPlayer->field_700 * (float)pPlayer->field_4F4; - fStack8 = (f32)(((float)pPlayer->field_704 - (float)pPlayer->stationary_ground_offset) * - (float)pPlayer->field_4F4 + (float)pPlayer->stationary_ground_offset); - fStack4 = (float)pPlayer->field_708 * (float)pPlayer->field_4F4; - if (pPlayer->field_4E8 < 0) { - fStack24 = (float)pPlayer->field_6F0; - fStack20 = (float)pPlayer->field_6F4; - fStack16 = (float)pPlayer->field_6F8; - fStack36 = (float)pPlayer->field_6E0; - fStack32 = (float)pPlayer->field_6E4; - fStack28 = (float)pPlayer->field_6E8; - proc_7F08E164(flt_80055328); - } - else { - fStack24 = (float)pPlayer->field_6F0 * (float)pPlayer->field_4F8; - fStack20 = (float)pPlayer->field_6F4 * (float)pPlayer->field_4F4; - fStack16 = ((float)pPlayer->field_6F8 - 1.00000000) * (float)pPlayer->field_4F4 + - 1.00000000; - fStack36 = (float)pPlayer->field_6E0 * (float)pPlayer->field_4F4; - fStack32 = ((float)pPlayer->field_6E4 - 1.00000000) * (float)pPlayer->field_4F4 + - 1.00000000; - fStack28 = (float)pPlayer->field_6E8 * (float)pPlayer->field_4F4; - pPlayer->field_4F0 = pPlayer->field_4F0 + clock_timer; - if (pPlayer->field_4F0 < 0x3d) { - proc_7F08E164(flt_80055324); - } - else { - proc_7F08E164(flt_80055320); - } - } - } - else { - pPlayer->field_544 = pPlayer->field_554; - pPlayer->field_548 = pPlayer->field_558; - pPlayer->field_54C = pPlayer->field_55C; - fStack12 = 0.00000000; - fStack8 = pPlayer->stationary_ground_offset; - fStack4 = 0.00000000; - pPlayer->field_4F0 = 0; - proc_7F08E164(flt_8005532C); - fVar7 = get_BONDdata_bondfadefracnew(); - *(float *)&pPlayer->field_560 = - (float)pPlayer->field_560 + - (flt_80055330 + flt_80055334 * (float)fVar7) * global_timer_delta; - pfVar8 = (float *)pPlayer->field_560; - if (1.00000000 <= (float)pfVar8) { - proc_7F08DBC8(); - *(float *)&pPlayer->field_560 = (float)pPlayer->field_560 - 1.00000000; - pfVar8 = (float *)pPlayer->field_560; - iVar2 = pPlayer->field_594; - fVar9 = extraout_f12_00; - } - else { - iVar2 = pPlayer->field_594; - fVar9 = extraout_f12; - } - proc_7F05AE00((float *)(&pPlayer->field_564 + iVar2 * 3), - (float *)((int)pPlayer + iVar2 * -0xc + 0x570),fVar9,pfVar8); - fVar7 = get_BONDdata_bondfadefracnew(); - fStack24 = fStack24 * ((float)fVar7 * 5.00000000 + 1.00000000); - fVar7 = get_BONDdata_bondfadefracnew(); - fStack20 = fStack20 * ((float)fVar7 * 5.00000000 + 1.00000000); - proc_7F05AE00((float *)(&pPlayer->field_57C + pPlayer->field_594 * 3), - (float *)((int)pPlayer + pPlayer->field_594 * -0xc + 0x588),extraout_f12_01, - (float *)pPlayer->field_560); - fVar7 = get_BONDdata_bondfadefracnew(); - fStack36 = fStack36 * ((float)fVar7 * 5.00000000 + 1.00000000); - fVar7 = get_BONDdata_bondfadefracnew(); - fStack28 = fStack28 * ((float)fVar7 * 5.00000000 + 1.00000000); - } - proc_7F08DE48(&fStack12); - proc_7F08DF44(&fStack24,&fStack36); - return; -} - - - -void proc_7F08E8BC(float param_1) - -{ - int iVar1; - int iVar2; - int *piVar3; - float extraout_f12; - float fVar4; - - param_1 = param_1 * DAT_80036af4; - piVar3 = &dword_80036AD0; - iVar2 = 0; - do { - fVar4 = (float)piVar3[3]; - if (param_1 <= fVar4 * (float)piVar3[5]) { - iVar1 = pPlayer->field_4E8; - if (iVar2 != iVar1) { - fVar4 = 0.00000000; - if (-1 < iVar1) { - fVar4 = ((float)piVar3[2] - (float)piVar3[1]) * - (((float)pPlayer->field_5C0 - (&FLOAT_80036ad4)[iVar1 * 6]) / - ((&FLOAT_80036ad8)[iVar1 * 6] - (&FLOAT_80036ad4)[iVar1 * 6])) + - (float)piVar3[1]; - } - proc_7F06FCA8((int)&pPlayer->field_598,*piVar3 + ptr_animation_table, - *(undefined *)&pPlayer->field_5BC,param_1,fVar4,fVar4); - proc_7F06FDCC((int)&pPlayer->field_598,piVar3[1],0); - proc_7F06FDE8((int)&pPlayer->field_598,extraout_f12); - proc_7F06FE3C((int)&pPlayer->field_598,proc_7F08DBB0); - pPlayer->field_4E8 = iVar2; - fVar4 = (float)piVar3[3]; - } - proc_7F06FE4C((int)&pPlayer->field_598,(param_1 / fVar4) * 0.50000000,param_1 / fVar4); - return; - } - iVar2 += 1; - piVar3 = piVar3 + 6; - } while (iVar2 != 2); - return; -} - - - -void proc_7F08EA48(undefined4 param_1,undefined param_2,float param_3,float param_4) - -{ - float in_a2_lo; - float in_a3_lo; - - proc_7F06FCA8((int)&pPlayer->field_598,param_1,param_2,in_a2_lo,in_a2_lo,in_a3_lo); - pPlayer->field_4E8 = -1; - return; -} - - - -void proc_7F08EAB8(float param_1) - -{ - proc_7F06FE4C((int)&pPlayer->field_598,param_1 * 0.50000000,param_1); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -float proc_7F08EAF8(void) - -{ - f32 fVar1; - float fVar2; - float fVar3; - - if (pPlayer->field_4E8 < 0) { - fVar3 = 0.00000000; - } - else { - fVar1 = get_BONDdata_bondfadefracnew(); - fVar3 = (float)fVar1 * flt_80055338 + flt_8005533C; - fVar2 = proc_7F06F618((int)&pPlayer->field_598); - if ((0.00000000 < fVar2) && - (fVar2 = fVar2 / ((&FLOAT_80036ad8)[pPlayer->field_4E8 * 6] - - (&FLOAT_80036ad4)[pPlayer->field_4E8 * 6]), fVar3 <= fVar2)) { - fVar3 = fVar2; - } - } - return fVar3; -} - - - -int * proc_7F08EBD0(float *param_1) - -{ - int *piVar1; - int *piVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - - piVar1 = NULL; - if ((ptr_setup_path_tbl != NULL) && (fVar4 = -1.00000000, -1 < *(int *)ptr_setup_path_tbl)) { - iVar3 = *(int *)ptr_setup_path_tbl; - piVar2 = (int *)ptr_setup_path_tbl; - do { - fVar5 = param_1[2] - *(float *)(ptr_0xxxpresets + iVar3 * 0x2c + 2); - fVar6 = *param_1 - *(float *)(ptr_0xxxpresets + iVar3 * 0x2c); - fVar5 = fVar5 * fVar5 + fVar6 * fVar6; - if ((fVar4 < 0.00000000) || (fVar5 < fVar4)) { - iVar3 = piVar2[4]; - fVar4 = fVar5; - piVar1 = piVar2; - } - else { - iVar3 = piVar2[4]; - } - piVar2 = piVar2 + 4; - } while (-1 < iVar3); - } - return piVar1; -} - - - -int * proc_7F08EC8C(float *param_1,undefined8 param_2,int *param_3) - -{ - int iVar1; - int *piVar2; - int *piVar3; - float fVar4; - float fVar5; - float fVar6; - - piVar2 = (int *)param_3[1]; - if (piVar2 != NULL) { - iVar1 = *piVar2; - fVar4 = param_1[2] - *(float *)(ptr_0xxxpresets + *param_3 * 0x2c + 2); - fVar5 = *param_1 - *(float *)(ptr_0xxxpresets + *param_3 * 0x2c); - fVar4 = fVar4 * fVar4 + fVar5 * fVar5; - while (-1 < iVar1) { - piVar3 = (int *)(ptr_setup_path_tbl + iVar1 * 0x10); - fVar5 = param_1[2] - *(float *)(ptr_0xxxpresets + *piVar3 * 0x2c + 2); - fVar6 = *param_1 - *(float *)(ptr_0xxxpresets + *piVar3 * 0x2c); - fVar5 = fVar5 * fVar5 + fVar6 * fVar6; - if (fVar4 <= fVar5) { - fVar5 = fVar4; - piVar3 = param_3; - } - iVar1 = piVar2[1]; - piVar2 = piVar2 + 1; - fVar4 = fVar5; - param_3 = piVar3; - } - } - return param_3; -} - - - -int proc_7F08ED60(int *param_1,int param_2) - -{ - int iVar1; - - iVar1 = *param_1; - while( true ) { - if (iVar1 < 0) { - return 0; - } - if (param_2 == *(int *)(ptr_setup_path_link + iVar1 * 0xc + 8)) break; - iVar1 = param_1[1]; - param_1 = param_1 + 1; - } - return (int)(ptr_setup_path_link + iVar1 * 0xc); -} - - - -void proc_7F08EDB4(int *param_1,undefined4 param_2) - -{ - undefined *puVar1; - int iVar2; - - puVar1 = ptr_setup_path_link; - iVar2 = *param_1; - while (-1 < iVar2) { - if (*(int *)(puVar1 + iVar2 * 0xc + 8) < 0) { - *(undefined4 *)(puVar1 + iVar2 * 0xc + 8) = param_2; - iVar2 = param_1[1]; - } - else { - iVar2 = param_1[1]; - } - param_1 = param_1 + 1; - } - return; -} - - - -undefined8 proc_7F08EE00(int **param_1,int *param_2) - -{ - int *piVar1; - int *piVar2; - undefined8 uVar3; - - piVar1 = *param_1; - uVar3 = 0; - if (piVar1 != NULL) { - piVar2 = param_1[2]; - while( true ) { - if (param_2 == piVar2) { - uVar3 = 1; - proc_7F08EDB4(piVar1,(int)param_2 + 1); - piVar1 = param_1[3]; - } - else { - piVar1 = param_1[3]; - } - if (piVar1 == NULL) break; - piVar2 = param_1[5]; - param_1 = param_1 + 3; - } - } - return uVar3; -} - - - -// WARNING: Instruction at (ram,0x7f08eed0) overlaps instruction at (ram,0x7f08eecc) -// - -longlong proc_7F08EE70(int param_1,int param_2,int **param_3,longlong param_4) - -{ - int **ppiVar1; - longlong lVar2; - int *piVar3; - - lVar2 = 1; - if (*param_3 != NULL) { - piVar3 = param_3[3]; - ppiVar1 = param_3; - while( true ) { - ppiVar1[2] = (int *)0xffffffff; - if (piVar3 == NULL) break; - piVar3 = ppiVar1[6]; - ppiVar1 = ppiVar1 + 3; - } - } - *(undefined4 *)(param_1 + 8) = 0; - piVar3 = NULL; - if ((param_4 != 0) || (*(int *)(param_2 + 8) < 0)) { - do { - lVar2 = proc_7F08EE00(param_3,piVar3); - piVar3 = (int *)((int)piVar3 + 1); - if ((param_4 == 0) && (-1 < *(int *)(param_2 + 8))) { - return lVar2; - } - } while (lVar2 != 0); - } - return lVar2; -} - - - -undefined4 proc_7F08EF1C(int param_1,int **param_2,int **param_3) - -{ - longlong lVar1; - int iVar2; - int *piVar3; - - lVar1 = proc_7F08EE70(param_1,(int)param_2,param_3,0); - if (lVar1 != 0) { - iVar2 = (int)param_2[2] + -1; - if (iVar2 < 0) { - piVar3 = param_2[2]; - } - else { - do { - param_2[2] = param_2[2] + 0x9c4; - param_2 = (int **)proc_7F08ED60(*param_2,iVar2); - iVar2 += -1; - } while (-1 < iVar2); - piVar3 = param_2[2]; - } - param_2[2] = piVar3 + 0x9c4; - } - return (int)lVar1; -} - - - -int proc_7F08EFA0(int **param_1,int **param_2,int **param_3,longlong param_4) - -{ - int iVar1; - int **ppiVar2; - int *piVar3; - int **ppiVar4; - int iVar5; - - ppiVar4 = param_3; - if (1 < param_4) { - if (ptr_setup_path_link == NULL) { - *param_3 = NULL; - goto LAB_7f08f05c; - } - iVar1 = proc_7F08EF1C((int)param_1,param_2,(int **)ptr_setup_path_link); - if (iVar1 != 0) { - iVar5 = (int)param_4 + 9999; - *(int ***)param_3 = param_1; - iVar1 = 0x2711; - ppiVar4 = param_3 + 1; - if (10000 < (int)param_2[2]) { - if (iVar5 < 0x2712) { - *ppiVar4 = NULL; - goto LAB_7f08f05c; - } - piVar3 = *param_1; - while( true ) { - ppiVar2 = (int **)proc_7F08ED60(piVar3,iVar1); - *(int ***)ppiVar4 = ppiVar2; - iVar1 += 1; - ppiVar4 = ppiVar4 + 1; - if (((int)param_2[2] < iVar1) || (iVar5 <= iVar1)) break; - piVar3 = *ppiVar2; - } - } - } - } - *ppiVar4 = NULL; -LAB_7f08f05c: - return (int)ppiVar4 + (4 - (int)param_3) >> 2; -} - - - -int proc_7F08F090(int *param_1,int param_2,int param_3) - -{ - int iVar1; - undefined *puVar2; - - iVar1 = *param_1; - do { - if (iVar1 < 0) { - return 0; - } - puVar2 = ptr_setup_path_tbl + iVar1 * 0x10; - if (param_3 == *(int *)(puVar2 + 8)) { - if (param_2 == *(int *)(puVar2 + 0xc)) { - return (int)puVar2; - } - iVar1 = param_1[1]; - } - else { - iVar1 = param_1[1]; - } - param_1 = param_1 + 1; - } while( true ); -} - - - -void proc_7F08F0E8(int *param_1,undefined4 param_2,int param_3) - -{ - undefined *puVar1; - int iVar2; - undefined *puVar3; - - puVar1 = ptr_setup_path_tbl; - iVar2 = *param_1; - while (-1 < iVar2) { - puVar3 = puVar1 + iVar2 * 0x10; - if (param_3 == *(int *)(puVar3 + 8)) { - if (*(int *)(puVar3 + 0xc) < 0) { - *(undefined4 *)(puVar3 + 0xc) = param_2; - iVar2 = param_1[1]; - } - else { - iVar2 = param_1[1]; - } - } - else { - iVar2 = param_1[1]; - } - param_1 = param_1 + 1; - } - return; -} - - - -undefined8 proc_7F08F138(int *param_1,int param_2,int param_3) - -{ - int *piVar1; - undefined *puVar2; - int iVar3; - undefined8 uVar4; - - puVar2 = ptr_setup_path_tbl; - iVar3 = *param_1; - uVar4 = 0; - while (-1 < iVar3) { - if (param_2 == *(int *)(puVar2 + iVar3 * 0x10 + 0xc)) { - piVar1 = *(int **)(puVar2 + iVar3 * 0x10 + 4); - if (piVar1 == NULL) { - iVar3 = param_1[1]; - } - else { - uVar4 = 1; - proc_7F08F0E8(piVar1,param_2 + 1,param_3); - iVar3 = param_1[1]; - } - } - else { - iVar3 = param_1[1]; - } - param_1 = param_1 + 1; - } - return uVar4; -} - - - -void proc_7F08F1D8(int param_1,int param_2,longlong param_3) - -{ - undefined *puVar1; - undefined *puVar2; - longlong lVar3; - int *piVar4; - int iVar5; - int iVar6; - - puVar2 = ptr_setup_path_link; - puVar1 = ptr_setup_path_tbl; - iVar6 = 0; - piVar4 = *(int **)(ptr_setup_path_link + *(int *)(param_1 + 8) * 0xc + 4); - iVar5 = *piVar4; - while (-1 < iVar5) { - *(undefined4 *)(puVar1 + iVar5 * 0x10 + 0xc) = 0xffffffff; - iVar5 = piVar4[1]; - piVar4 = piVar4 + 1; - } - *(undefined4 *)(param_1 + 0xc) = 0; - if ((param_3 != 0) || (*(int *)(param_2 + 0xc) < 0)) { - iVar5 = *(int *)(param_1 + 8); - while( true ) { - lVar3 = proc_7F08F138(*(int **)(puVar2 + iVar5 * 0xc + 4),iVar6,iVar5); - iVar6 += 1; - if (((param_3 == 0) && (-1 < *(int *)(param_2 + 0xc))) || (lVar3 == 0)) break; - iVar5 = *(int *)(param_1 + 8); - } - } - return; -} - - - -void proc_7F08F2CC(int param_1,int param_2) - -{ - int iVar1; - - proc_7F08F1D8(param_1,param_2,0); - iVar1 = *(int *)(param_2 + 0xc) + -1; - if (iVar1 < 0) { - iVar1 = *(int *)(param_2 + 0xc); - } - else { - do { - *(int *)(param_2 + 0xc) = *(int *)(param_2 + 0xc) + 10000; - param_2 = proc_7F08F090(*(int **)(param_2 + 4),iVar1,*(int *)(param_1 + 8)); - iVar1 += -1; - } while (-1 < iVar1); - iVar1 = *(int *)(param_2 + 0xc); - } - *(int *)(param_2 + 0xc) = iVar1 + 10000; - return; -} - - - -int proc_7F08F350(int param_1,int param_2,int *param_3,longlong param_4) - -{ - int iVar1; - int *piVar2; - int iVar3; - int *piVar4; - int iVar5; - - piVar4 = param_3; - if (1 < param_4) { - proc_7F08F2CC(param_1,param_2); - iVar5 = (int)param_4 + 9999; - *param_3 = param_1; - iVar3 = 0x2711; - piVar4 = param_3 + 1; - if (10000 < *(int *)(param_2 + 0xc)) { - if (iVar5 < 0x2712) { - *piVar4 = 0; - goto LAB_7f08f400; - } - piVar2 = *(int **)(param_1 + 4); - while( true ) { - iVar1 = proc_7F08F090(piVar2,iVar3,*(int *)(param_1 + 8)); - *piVar4 = iVar1; - iVar3 += 1; - piVar4 = piVar4 + 1; - if ((*(int *)(param_2 + 0xc) < iVar3) || (iVar5 <= iVar3)) break; - piVar2 = *(int **)(iVar1 + 4); - } - } - } - *piVar4 = 0; -LAB_7f08f400: - return (int)piVar4 + (4 - (int)param_3) >> 2; -} - - - -void proc_7F08F438(int param_1,int param_2,int *param_3,int *param_4) - -{ - int iVar1; - int iVar2; - int *piVar3; - undefined *puVar4; - int *piVar5; - - piVar5 = *(int **)(param_1 + 4); - iVar1 = *piVar5; - do { - if (iVar1 < 0) { - *param_4 = 0; - *param_3 = 0; - return; - } - piVar3 = *(int **)(ptr_setup_path_tbl + iVar1 * 0x10 + 4); - iVar2 = *piVar3; - while (-1 < iVar2) { - puVar4 = ptr_setup_path_tbl + iVar2 * 0x10; - if ((undefined *)param_2 == ptr_setup_path_link + *(int *)(puVar4 + 8) * 0xc) { - *(undefined **)param_3 = ptr_setup_path_tbl + iVar1 * 0x10; - *(undefined **)param_4 = puVar4; - return; - } - iVar2 = piVar3[1]; - piVar3 = piVar3 + 1; - } - iVar1 = piVar5[1]; - piVar5 = piVar5 + 1; - } while( true ); -} - - - -int proc_7F08F4F0(int param_1,int param_2,int *param_3,longlong param_4) - -{ - int iVar1; - int **ppiVar2; - int iVar3; - int *piVar4; - int **ppiVar5; - int *piVar6; - int **ppiVar7; - int iStack44; - int aiStack40 [10]; - - piVar6 = param_3; - if (ptr_setup_path_link != NULL) { - ppiVar5 = (int **)(ptr_setup_path_link + *(int *)(param_1 + 8) * 0xc); - ppiVar7 = (int **)(ptr_setup_path_link + *(int *)(param_2 + 8) * 0xc); - iVar1 = proc_7F08EF1C((int)ppiVar5,ppiVar7,(int **)ptr_setup_path_link); - if (iVar1 == 0) { - *param_3 = 0; - goto LAB_7f08f638; - } - iVar1 = (int)ppiVar5[2] + 1; - if ((iVar1 <= (int)ppiVar7[2]) && (1 < param_4)) { - piVar4 = *ppiVar5; - while( true ) { - ppiVar2 = (int **)proc_7F08ED60(piVar4,iVar1); - proc_7F08F438((int)ppiVar5,(int)ppiVar2,aiStack40,&iStack44); - iVar3 = proc_7F08F350(param_1,aiStack40[0],piVar6,param_4); - iVar1 += 1; - param_4 = (longlong)(((int)param_4 - iVar3) + 1); - piVar6 = piVar6 + iVar3 + -1; - param_1 = iStack44; - if (((int)ppiVar7[2] < iVar1) || (param_4 < 2)) break; - piVar4 = *ppiVar2; - ppiVar5 = ppiVar2; - } - } - iVar1 = proc_7F08F350(param_1,param_2,piVar6,param_4); - piVar6 = piVar6 + iVar1 + -1; - } - *piVar6 = 0; -LAB_7f08f638: - return (int)piVar6 + (4 - (int)param_3) >> 2; -} - - - -void proc_7F08F67C(void) - -{ - undefined *puVar1; - int iVar2; - - if (-1 < *(int *)ptr_setup_path_tbl) { - iVar2 = *(int *)(ptr_setup_path_tbl + 0x10); - puVar1 = ptr_setup_path_tbl; - while( true ) { - *(undefined4 *)(puVar1 + 0xc) = 0xffffffff; - if (iVar2 < 0) break; - iVar2 = *(int *)(puVar1 + 0x20); - puVar1 = puVar1 + 0x10; - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f08f860) overlaps instruction at (ram,0x7f08f85c) -// - -int proc_7F08F6B0(int *param_1,int param_2) - -{ - uint uVar1; - int *piVar2; - u32 uVar3; - uint uVar4; - uint uVar5; - uint uVar6; - int iVar7; - - uVar5 = 0; - if (-1 < *param_1) { - iVar7 = param_1[1]; - piVar2 = param_1; - while( true ) { - uVar5 += 1; - if (iVar7 < 0) break; - iVar7 = piVar2[2]; - piVar2 = piVar2 + 1; - } - } - uVar3 = get_random_value(); - uVar1 = uVar3 % uVar5; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((int)uVar1 < (int)uVar5) { - uVar6 = uVar5 - uVar1 & 3; - uVar4 = uVar1; - if (uVar6 == 0) { - iVar7 = uVar1 << 2; - } - else { - piVar2 = param_1 + uVar1; - do { - uVar4 += 1; - if (param_2 == *(int *)(ptr_setup_path_tbl + *piVar2 * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + *piVar2 * 0x10); - } - piVar2 = piVar2 + 1; - } while (uVar6 + uVar1 != uVar4); - iVar7 = uVar4 * 4; - if (uVar4 == uVar5) goto LAB_7f08f80c; - } - piVar2 = (int *)((int)param_1 + iVar7); - do { - uVar4 += 4; - if (param_2 == *(int *)(ptr_setup_path_tbl + *piVar2 * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + *piVar2 * 0x10); - } - if (param_2 == *(int *)(ptr_setup_path_tbl + piVar2[1] * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + piVar2[1] * 0x10); - } - if (param_2 == *(int *)(ptr_setup_path_tbl + piVar2[2] * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + piVar2[2] * 0x10); - } - if (param_2 == *(int *)(ptr_setup_path_tbl + piVar2[3] * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + piVar2[3] * 0x10); - } - piVar2 = piVar2 + 4; - } while (uVar4 != uVar5); - } -LAB_7f08f80c: - uVar5 = 0; - if (0 < (int)uVar1) { - piVar2 = param_1; - if ((uVar1 & 3) == 0) { - iVar7 = 0; - } - else { - do { - uVar5 += 1; - if (param_2 == *(int *)(ptr_setup_path_tbl + *piVar2 * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + *piVar2 * 0x10); - } - piVar2 = piVar2 + 1; - } while ((uVar1 & 3) != uVar5); - iVar7 = uVar5 * 4; - if (uVar5 == uVar1) { - return 0; - } - } - param_1 = (int *)((int)param_1 + iVar7); - do { - uVar5 += 4; - if (param_2 == *(int *)(ptr_setup_path_tbl + *param_1 * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + *param_1 * 0x10); - } - if (param_2 == *(int *)(ptr_setup_path_tbl + param_1[1] * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + param_1[1] * 0x10); - } - if (param_2 == *(int *)(ptr_setup_path_tbl + param_1[2] * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + param_1[2] * 0x10); - } - if (param_2 == *(int *)(ptr_setup_path_tbl + param_1[3] * 0x10 + 0xc)) { - return (int)(ptr_setup_path_tbl + param_1[3] * 0x10); - } - param_1 = param_1 + 4; - } while (uVar5 != uVar1); - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f08fadc) overlaps instruction at (ram,0x7f08fad8) -// - -int proc_7F08F908(int *param_1,int param_2) - -{ - uint uVar1; - int *piVar2; - u32 uVar3; - uint uVar4; - uint uVar5; - uint uVar6; - int iVar7; - - uVar5 = 0; - if (-1 < *param_1) { - iVar7 = param_1[1]; - piVar2 = param_1; - while( true ) { - uVar5 += 1; - if (iVar7 < 0) break; - iVar7 = piVar2[2]; - piVar2 = piVar2 + 1; - } - } - uVar3 = get_random_value(); - uVar1 = uVar3 % uVar5; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((int)uVar1 < (int)uVar5) { - uVar6 = uVar5 - uVar1 & 3; - uVar4 = uVar1; - if (uVar6 == 0) { - iVar7 = uVar1 << 2; - } - else { - piVar2 = param_1 + uVar1; - do { - uVar4 += 1; - if (param_2 == *(int *)(ptr_setup_path_link + *piVar2 * 0xc + 8)) { - return (int)(ptr_setup_path_link + *piVar2 * 0xc); - } - piVar2 = piVar2 + 1; - } while (uVar6 + uVar1 != uVar4); - iVar7 = uVar4 * 4; - if (uVar4 == uVar5) goto LAB_7f08fa80; - } - piVar2 = (int *)((int)param_1 + iVar7); - do { - uVar4 += 4; - if (param_2 == *(int *)(ptr_setup_path_link + *piVar2 * 0xc + 8)) { - return (int)(ptr_setup_path_link + *piVar2 * 0xc); - } - if (param_2 == *(int *)(ptr_setup_path_link + piVar2[1] * 0xc + 8)) { - return (int)(ptr_setup_path_link + piVar2[1] * 0xc); - } - if (param_2 == *(int *)(ptr_setup_path_link + piVar2[2] * 0xc + 8)) { - return (int)(ptr_setup_path_link + piVar2[2] * 0xc); - } - if (param_2 == *(int *)(ptr_setup_path_link + piVar2[3] * 0xc + 8)) { - return (int)(ptr_setup_path_link + piVar2[3] * 0xc); - } - piVar2 = piVar2 + 4; - } while (uVar4 != uVar5); - } -LAB_7f08fa80: - uVar5 = 0; - if (0 < (int)uVar1) { - piVar2 = param_1; - if ((uVar1 & 3) == 0) { - iVar7 = 0; - } - else { - do { - uVar5 += 1; - if (param_2 == *(int *)(ptr_setup_path_link + *piVar2 * 0xc + 8)) { - return (int)(ptr_setup_path_link + *piVar2 * 0xc); - } - piVar2 = piVar2 + 1; - } while ((uVar1 & 3) != uVar5); - iVar7 = uVar5 * 4; - if (uVar5 == uVar1) { - return 0; - } - } - param_1 = (int *)((int)param_1 + iVar7); - do { - uVar5 += 4; - if (param_2 == *(int *)(ptr_setup_path_link + *param_1 * 0xc + 8)) { - return (int)(ptr_setup_path_link + *param_1 * 0xc); - } - if (param_2 == *(int *)(ptr_setup_path_link + param_1[1] * 0xc + 8)) { - return (int)(ptr_setup_path_link + param_1[1] * 0xc); - } - if (param_2 == *(int *)(ptr_setup_path_link + param_1[2] * 0xc + 8)) { - return (int)(ptr_setup_path_link + param_1[2] * 0xc); - } - if (param_2 == *(int *)(ptr_setup_path_link + param_1[3] * 0xc + 8)) { - return (int)(ptr_setup_path_link + param_1[3] * 0xc); - } - param_1 = param_1 + 4; - } while (uVar5 != uVar1); - } - return 0; -} - - - -int proc_7F08FB90(int param_1,int param_2) - -{ - int iVar1; - int **ppiVar2; - int iStack52; - int local_30 [2]; - int iStack40; - int local_24; - int local_1c; - int local_18 [6]; - - if (ptr_setup_path_link != NULL) { - ppiVar2 = (int **)(ptr_setup_path_link + *(int *)(param_1 + 8) * 0xc); - if (ppiVar2 == (int **)(ptr_setup_path_link + *(int *)(param_2 + 8) * 0xc)) { - proc_7F08F67C(); - proc_7F08F1D8(param_2,param_1,1); - iVar1 = proc_7F08F6B0(*(int **)(param_1 + 4),-1); - if (iVar1 != 0) { - return iVar1; - } - iVar1 = proc_7F08F6B0(*(int **)(param_1 + 4),*(int *)(param_1 + 0xc) + 1); - if (iVar1 != 0) { - return iVar1; - } - return 0; - } - proc_7F08EE70((int)(ptr_setup_path_link + *(int *)(param_2 + 8) * 0xc),(int)ppiVar2, - (int **)ptr_setup_path_link,0); - if ((int)ppiVar2[2] < 0) { - return 0; - } - iVar1 = proc_7F08F908(*ppiVar2,-1); - if (iVar1 != 0) { - proc_7F08F438((int)ppiVar2,iVar1,local_18,&local_1c); - if (local_18[0] == param_1) { - return local_1c; - } - iVar1 = proc_7F08F350(param_1,local_18[0],&iStack40,3); - if (2 < iVar1) { - return local_24; - } - return 0; - } - iVar1 = proc_7F08ED60(*ppiVar2,(int)ppiVar2[2] + -1); - if (iVar1 != 0) { - proc_7F08F438((int)ppiVar2,iVar1,local_30,&iStack52); - proc_7F08F1D8(local_30[0],param_1,1); - iVar1 = proc_7F08F090(*(int **)(param_1 + 4),*(int *)(param_1 + 0xc) + 1, - *(int *)(param_1 + 8)); - if (iVar1 != 0) { - return iVar1; - } - return 0; - } - } - return 0; -} - - - -void proc_7F08FD1C(void) - -{ - undefined *puVar1; - u32 uVar2; - int iVar3; - int *piVar4; - int local_dc; - int local_d8; - int local_d4 [49]; - undefined *local_10; - uint local_8; - undefined *local_4; - - if (ptr_setup_path_tbl != NULL) { - local_8 = 0; - if (*(int *)ptr_setup_path_tbl < 0) { - local_8 = 0; - } - else { - iVar3 = *(int *)(ptr_setup_path_tbl + 0x10); - puVar1 = ptr_setup_path_tbl; - while( true ) { - local_8 += 1; - if (iVar3 < 0) break; - iVar3 = *(int *)(puVar1 + 0x20); - puVar1 = puVar1 + 0x10; - } - } - local_4 = ptr_setup_path_tbl; - uVar2 = get_random_value(); - if (local_8 == 0) { - trap(0x1c00); - } - local_10 = local_4 + (uVar2 % local_8) * 0x10; - uVar2 = get_random_value(); - if (local_8 == 0) { - trap(0x1c00); - } - iVar3 = proc_7F08F4F0((int)local_10,(int)(local_4 + (uVar2 % local_8) * 0x10),&local_dc,0x32 - ); - if ((iVar3 != 0) && (piVar4 = &local_dc, local_dc != 0)) { - while (local_d8 != 0) { - local_d8 = piVar4[2]; - piVar4 = piVar4 + 1; - } - } - } - return; -} - - - -void nullsub_32(void) - -{ - return; -} - - - -void proc_7F08FE08(undefined4 param_1) - -{ - num_mcm_something = param_1; - return; -} - - - -void init_debug_menu_values(char *strings,mcm_layout *positions,u32 *columns) - -{ - u32 *puVar1; - u32 uVar2; - int iVar3; - - number_groups = 0; - if ((int)*columns < 0) { - iVar3 = 0; - } - else { - uVar2 = columns[1]; - puVar1 = columns; - while( true ) { - number_groups += 1; - if ((int)uVar2 < 0) break; - uVar2 = puVar1[2]; - puVar1 = puVar1 + 1; - } - iVar3 = number_groups * 4; - } - ptr_last_debuggrp_cutoff = *(undefined **)((int)columns + iVar3 + -4); - ptr_textptrs = strings; - ptr_positions = positions; - ptr_groupings = columns; - return; -} - - - -undefined4 print_debug_mcm_to_stdout(undefined4 counter) - -{ - byte bVar1; - byte bVar2; - int iVar3; - int *piVar4; - int xpos; - int ypos; - u32 uVar5; - int iVar6; - int iVar7; - - bVar1 = x_offset_multiplier[num_mcm_something]; - bVar2 = y_offset_multiplier[num_mcm_something]; - uVar5 = 0; - if (0 < (int)ptr_last_debuggrp_cutoff) { - iVar6 = 0; - iVar7 = 0; - do { - nullsub_32(); - if (uVar5 == highlighted_debug_option) { - set_debug_text_color(0xc0,0,0,0xc0); - } - else { - set_debug_text_color(0xc0,0xc0,0xc0,0xc0); - } - piVar4 = (int *)((int)&ptr_positions->xpos + iVar6); - iVar3 = *piVar4 * (uint)bVar1; - xpos = iVar3 + -0x14; - if (xpos < 0) { - xpos = iVar3 + -0x11; - } - ypos = piVar4[1] * (uint)bVar2 + -8; - if (false) { - trap(0x1c00); - } - if ((false) && (ypos == -0x80000000)) { - trap(0x1800); - } - set_final_debug_text_positions(xpos >> 2,ypos / 7); - write_string_stdout(*(u8 **)(ptr_textptrs + iVar7)); - uVar5 += 1; - iVar6 += 8; - iVar7 += 4; - } while ((int)uVar5 < (int)ptr_last_debuggrp_cutoff); - } - return counter; -} - - - -void proc_7F09000C(void) - -{ - byte bVar1; - byte bVar2; - int iVar3; - int *piVar4; - int xpos; - int ypos; - int checkedoption; - int iVar5; - int iVar6; - - bVar1 = x_offset_multiplier[num_mcm_something]; - bVar2 = y_offset_multiplier[num_mcm_something]; - checkedoption = 0; - if (0 < (int)ptr_last_debuggrp_cutoff) { - iVar5 = 0; - iVar6 = 0; - do { - nullsub_32(); - if (checkedoption == highlighted_debug_option) { - set_debug_text_color(0xc0,0,0,0xc0); - } - else { - set_debug_text_color(0xc0,0xc0,0xc0,0xc0); - } - piVar4 = (int *)((int)&ptr_positions->xpos + iVar5); - iVar3 = *piVar4 * (uint)bVar1; - xpos = iVar3 + -0x14; - if (xpos < 0) { - xpos = iVar3 + -0x11; - } - ypos = piVar4[1] * (uint)bVar2 + -8; - if (false) { - trap(0x1c00); - } - if ((false) && (ypos == -0x80000000)) { - trap(0x1800); - } - set_final_debug_text_positions(xpos >> 2,ypos / 7); - write_string_stdout(*(u8 **)(ptr_textptrs + iVar6)); - osSyncPrintf("menu.c: ERROR! Tried to call font_makegt\n"); - checkedoption += 1; - iVar5 += 8; - iVar6 += 4; - } while (checkedoption < (int)ptr_last_debuggrp_cutoff); - } - return; -} - - - -u32 get_highlighted_debug_option(void) - -{ - return highlighted_debug_option; -} - - - -void set_highlighted_debug_option(u32 option) - -{ - highlighted_debug_option = option; - return; -} - - - -void gotoAboveDebugOption(void) - -{ - u32 *puVar1; - int iVar2; - - if ((int)(highlighted_debug_option - 1) < 0) { - highlighted_debug_option = *ptr_groupings - 1; - return; - } - iVar2 = 0; - puVar1 = ptr_groupings; - if (0 < (int)number_groups) { - do { - iVar2 += 1; - if (highlighted_debug_option == *puVar1) { - highlighted_debug_option = puVar1[1] - 1; - return; - } - puVar1 = puVar1 + 1; - } while (iVar2 < (int)number_groups); - } - highlighted_debug_option = highlighted_debug_option - 1; - return; -} - - - -void gotoBelowDebugOption(void) - -{ - int iVar1; - u32 *puVar2; - - highlighted_debug_option += 1; - if (highlighted_debug_option == *ptr_groupings) { - highlighted_debug_option = 0; - return; - } - iVar1 = 0; - puVar2 = ptr_groupings; - if (0 < (int)number_groups) { - do { - iVar1 += 1; - if (highlighted_debug_option == *puVar2) { - highlighted_debug_option = puVar2[-1]; - return; - } - puVar2 = puVar2 + 1; - } while (iVar1 < (int)number_groups); - } - return; -} - - - -void gotoRightDebugOption(void) - -{ - int iVar1; - u32 *puVar2; - u32 uVar3; - - uVar3 = highlighted_debug_option + *ptr_groupings; - if ((int)highlighted_debug_option < (int)*ptr_groupings) { - highlighted_debug_option = uVar3; - if ((int)ptr_groupings[1] <= (int)uVar3) { - highlighted_debug_option = ptr_groupings[1] - 1; - return; - } - } - else { - iVar1 = 0; - puVar2 = ptr_groupings; - if (0 < (int)number_groups) { - do { - iVar1 += 1; - if ((int)highlighted_debug_option < (int)*puVar2) { - highlighted_debug_option = (highlighted_debug_option + *puVar2) - puVar2[-1]; - uVar3 = puVar2[1]; - if ((int)uVar3 < 0) { - if ((int)(highlighted_debug_option - *puVar2) < (int)*ptr_groupings) { - highlighted_debug_option = highlighted_debug_option - *puVar2; - return; - } - highlighted_debug_option = *ptr_groupings - 1; - return; - } - if ((int)highlighted_debug_option < (int)uVar3) { - return; - } - highlighted_debug_option = uVar3 - 1; - return; - } - puVar2 = puVar2 + 1; - } while (iVar1 < (int)number_groups); - } - } - return; -} - - - -void gotoLeftDebugOption(void) - -{ - u32 *puVar1; - int iVar2; - u32 uVar3; - - if ((int)highlighted_debug_option < (int)*ptr_groupings) { - if ((int)(number_groups - 1) < 1) { - iVar2 = 0; - } - else { - iVar2 = 1; - while (iVar2 < (int)(number_groups - 1)) { - iVar2 += 1; - } - iVar2 <<= 2; - } - highlighted_debug_option += ((int *)((int)ptr_groupings + iVar2))[-1]; - iVar2 = *(int *)((int)ptr_groupings + iVar2); - if (iVar2 <= (int)highlighted_debug_option) { - highlighted_debug_option = iVar2 - 1; - return; - } - } - else { - iVar2 = 0; - if ((int)*ptr_groupings <= (int)highlighted_debug_option) { - uVar3 = ptr_groupings[1]; - puVar1 = ptr_groupings; - while( true ) { - iVar2 += 1; - if ((int)highlighted_debug_option < (int)uVar3) break; - uVar3 = puVar1[2]; - puVar1 = puVar1 + 1; - } - } - puVar1 = ptr_groupings + iVar2; - highlighted_debug_option -= puVar1[-1]; - if (-1 < iVar2 + -2) { - highlighted_debug_option += puVar1[-2]; - } - if ((int)puVar1[-1] <= (int)highlighted_debug_option) { - highlighted_debug_option = puVar1[-1] - 1; - } - } - return; -} - - - -void display_debug_menu_text_onscreen(void) - -{ - init_debug_menu_values((char *)mcm_strings,mcm_onscreen_positions,mcm_column_groupings); - return; -} - - - -void handle_debug_stanview(void) - -{ - stanStoreBondCoord(); - debug_render_raster = get_highlighted_debug_option(); - debug_freeze_processing = debug_render_raster; - debug_controlmode = debug_render_raster; - return; -} - - - -void handle_debug_bondview(void) - -{ - maybe_solo_intro_camera_handler(); - debug_render_raster = get_highlighted_debug_option(); - debug_freeze_processing = debug_render_raster; - debug_controlmode = debug_render_raster; - return; -} - - - -void handle_debug_case_2(void) - -{ - maybe_solo_intro_camera_handler(); - debug_render_raster = get_highlighted_debug_option(); - debug_freeze_processing = debug_render_raster; - debug_controlmode = debug_render_raster; - return; -} - - - -void removed_do_debug_profile_flag_false(void) - -{ - return; -} - - - -void removed_do_debug_profile_flag_true(void) - -{ - return; -} - - - -// WARNING: Switch with 1 destination removed at 0x7f090ea8 : 5 cases all go to same destination - -void debug_menu_processor - (u32 stick_h,u32 stick_v,controller_buttons button_held, - controller_buttons button_pressed) - -{ - bool bVar1; - undefined4 uVar3; - PLAYER_ID playernum; - s32 sVar4; - ulonglong uVar2; - int iVar5; - astruct_2 *position; - u32 uVar6; - float tempx; - float tempy; - float tempz; - PLAYER_ID PStack8; - PLAYER_ID PStack4; - - if ((grab_rgb_screenshot_flag != 0) && - (uVar6 = grab_rgb_screenshot_flag + 1, bVar1 = grab_rgb_screenshot_flag == 3, - grab_rgb_screenshot_flag = uVar6, bVar1)) { - indy_grab_rgb_32bit(); - grab_rgb_screenshot_flag = 0; - set_coloroutputmode_16bit(); - osViBlack(0); - } - if ((grab_jpeg_screenshot_flag != 0) && - (uVar6 = grab_jpeg_screenshot_flag + 1, bVar1 = grab_jpeg_screenshot_flag == 3, - grab_jpeg_screenshot_flag = uVar6, bVar1)) { - indy_grab_jpg_32bit(); - grab_jpeg_screenshot_flag = 0; - set_coloroutputmode_16bit(); - osViBlack(0); - } - if (show_debug_menu_flag == 0) { - bVar1 = (button_held & U_CBUTTONS) != NONE; - if (bVar1) { - bVar1 = (button_held & D_CBUTTONS) != NONE; - } - show_debug_menu_flag = (uint)bVar1; - if (bVar1 != false) { - stop_recording_ramrom(); - } - } - else { - if (debug_limit_controller_input != -2) { - debug_controlmode = debug_limit_controller_input; - debug_limit_controller_input = -2; - } - if ((button_pressed & L_JPAD) != NONE) { - gotoLeftDebugOption(); - debug_limit_controller_input = -2; - } - if ((button_pressed & R_JPAD) != NONE) { - gotoRightDebugOption(); - debug_limit_controller_input = -2; - } - if ((button_pressed & U_JPAD) != NONE) { - gotoAboveDebugOption(); - debug_limit_controller_input = -2; - } - if ((button_pressed & D_JPAD) != NONE) { - gotoBelowDebugOption(); - debug_limit_controller_input = -2; - } - if (((button_pressed & (START_BUTTON|A_BUTTON)) != NONE) && - (uVar3 = get_highlighted_debug_option(), true)) { - switch(uVar3) { - case 0: - handle_debug_stanview(); - break; - case 1: - handle_debug_bondview(); - break; - case 2: - handle_debug_case_2(); - break; - case 3: - debug_controlmode = get_highlighted_debug_option(); - break; - case 4: - debug_controlmode = get_highlighted_debug_option(); - break; - case 5: - debug_controlmode = get_highlighted_debug_option(); - break; - case 6: - set_loaded_stage(LEVELID_TITLE); - break; - case 7: - kill_current_player(); - break; - case 8: - debug_controlmode = get_highlighted_debug_option(); - break; - case 9: - debug_controlmode = get_highlighted_debug_option(); - break; - case 10: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0xb: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0xc: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0xd: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0xe: - uVar2 = get_bondata_invincible_flag(); - set_bondata_invincible_flag(uVar2 == 0); - break; - case 0xf: - iVar5 = get_invisible_to_guards_flag(); - set_invisible_to_guards_flag((uint)(iVar5 == 0)); - break; - case 0x10: - iVar5 = get_obj_collision_flag(); - set_obj_collision_flag((uint)(iVar5 == 0)); - break; - case 0x11: - PStack4 = PLAYER1; - sVar4 = get_num_players(); - if (0 < sVar4) { - do { - set_cur_player(PStack4); - iVar5 = get_BONDdata_allguns_flag(); - set_BONDdata_allguns_flag((uint)(iVar5 == 0)); - PStack4 += PLAYER2; - sVar4 = get_num_players(); - } while ((int)PStack4 < sVar4); - } - break; - case 0x12: - playernum = get_cur_playernum(); - PStack8 = PLAYER1; - sVar4 = get_num_players(); - if (0 < sVar4) { - do { - set_cur_player(PStack8); - set_max_ammo_for_cur_player(); - PStack8 += PLAYER2; - sVar4 = get_num_players(); - } while ((int)PStack8 < sVar4); - } - set_cur_player(playernum); - break; - case 0x13: - memusage_display_flag ^= 1; - if (memusage_display_flag == FALSE) { - blank_debug_buffer_chars(); - } - break; - case 0x14: - debug_do_draw_bg ^= 1; - break; - case 0x15: - debug_do_draw_obj ^= 1; - break; - case 0x16: - debug_stanhit_flag ^= 1; - break; - case 0x17: - debug_stanregion_flag ^= 1; - break; - case 0x18: - turbo_mode ^= 1; - break; - case 0x19: - debug_man_pos_flag ^= 1; - break; - case 0x1a: - case 0x1b: - case 0x1c: - debug_portal_flag ^= 1; - break; - case 0x1d: - debug_prroomloads_flag ^= 1; - break; - case 0x1e: - enable_show_mem_use_flag(); - break; - case 0x1f: - mem_bars_flag_toggle(); - break; - case 0x20: - grab_rgb_screenshot_flag = 1; - osViBlack(1); - set_coloroutputmode_32bit(); - break; - case 0x21: - grab_jpeg_screenshot_flag = 1; - osViBlack(1); - set_coloroutputmode_32bit(); - break; - case 0x22: - debug_enable_taskgrab_flag ^= 1; - break; - case 0x24: - record_next_movie_to_slot(0); - break; - case 0x25: - record_next_movie_to_slot(1); - break; - case 0x26: - record_next_movie_to_slot(2); - break; - case 0x27: - record_next_movie_to_slot(3); - break; - case 0x28: - replay_recorded_ramrom_from_indy(); - break; - case 0x29: - save_ramrom_to_devtool(); - break; - case 0x2a: - load_ramrom_from_devtool(); - break; - case 0x2b: - uVar2 = get_BONDdata_autoaim_y(); - set_BONDdata_autoaim_y((uint)(uVar2 == 0)); - break; - case 0x2c: - uVar2 = get_BONDdata_autoaim_x(); - set_BONDdata_autoaim_x((uint)(uVar2 == 0)); - break; - case 0x2d: - debug_007_unlock_flag ^= 1; - break; - case 0x2e: - debug_enable_agent_levels ^= 1; - break; - case 0x2f: - debug_enable_all_levels ^= 1; - break; - case 0x30: - debug_fast_bond ^= 1; - break; - case 0x31: - debug_all_obj_complete ^= 1; - break; - case 0x37: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0x38: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0x39: - iVar5 = get_show_patrols_flag(); - set_show_patrols_flag((uint)(iVar5 == 0)); - break; - case 0x3a: - set_camera_mode(SWIRL_CAM); - break; - case 0x3b: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0x3c: - if (debug_render_raster == 0) { - handle_debug_intropos(); - } - break; - case 0x3d: - if (debug_render_raster == 0) { - handle_debug_worldpos(); - } - else { - position = (astruct_2 *)get_curplayer_positiondata(); - if (position != NULL) { - tempx = position->x - (float)player_pos_copy.x; - tempy = position->y - (float)player_pos_copy.y; - tempz = position->z - (float)player_pos_copy.z; - sqrtf(tempx * tempx + tempy * tempy + tempz * tempz); - player_pos_copy.x = (f32)position->x; - player_pos_copy.y = (f32)position->y; - player_pos_copy.z = (f32)position->z; - } - } - break; - case 0x3e: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0x3f: - linemode_flag ^= 1; - break; - case 0x40: - debug_chrnum_flag ^= 1; - break; - case 0x41: - removed_debug_roomblocks_feature(); - break; - case 0x42: - debug_profile_flag ^= 1; - if (debug_profile_flag == FALSE) { - removed_do_debug_profile_flag_true(); - } - else { - removed_do_debug_profile_flag_false(); - } - break; - case 0x43: - debug_object_load_all_models(); - break; - case 0x44: - debug_weapon_load_table(); - break; - case 0x45: - debug_joy2skyedit_flag ^= 1; - break; - case 0x46: - debug_joy2hitsedit_flag ^= 1; - break; - case 0x47: - debug_joy2detailedit_flag ^= 1; - break; - case 0x48: - debug_explosioninfo_flag ^= 1; - break; - case 0x49: - debug_controlmode = get_highlighted_debug_option(); - break; - case 0x4a: - debug_gunwatchpos_flag ^= 1; - break; - case 0x4b: - debug_testingmanpos_flag ^= 1; - break; - case 0x4c: - debug_controlmode = get_highlighted_debug_option(); - } - } - if ((button_pressed & (R_CBUTTONS|L_CBUTTONS)) != NONE) { - get_highlighted_debug_option(); - } - if ((button_pressed & START_BUTTON) != NONE) { - if (show_debug_menu_flag == 1) { - blank_debug_buffer_chars(); - } - show_debug_menu_flag = 0; - } - } - return; -} - - - -u32 get_debug_render_raster(void) - -{ - return debug_render_raster; -} - - - -u32 get_debug_freeze_processing(void) - -{ - return debug_freeze_processing; -} - - - -u32 get_debug_limit_controller_input(void) - -{ - return (u32)debug_limit_controller_input; -} - - - -void set_debug_limit_controller_input(void) - -{ - debug_limit_controller_input = debug_controlmode; - return; -} - - - -BOOL get_memusage_display_flag(void) - -{ - return memusage_display_flag; -} - - - -BOOL get_debug_do_draw_bg(void) - -{ - return debug_do_draw_bg; -} - - - -BOOL get_debug_do_draw_obj(void) - -{ - return debug_do_draw_obj; -} - - - -BOOL get_debug_stanhit_flag(void) - -{ - return debug_stanhit_flag; -} - - - -BOOL get_debug_stanregion_flag(void) - -{ - return debug_stanregion_flag; -} - - - -BOOL get_turbo_mode_flag(void) - -{ - return turbo_mode; -} - - - -BOOL get_debug_man_pos_flag(void) - -{ - return debug_man_pos_flag; -} - - - -BOOL get_debug_testingmanpos_flag(void) - -{ - return debug_testingmanpos_flag; -} - - - -void set_debug_testingmanpos_flag(BOOL flag) - -{ - debug_testingmanpos_flag = flag; - return; -} - - - -BOOL get_debug_joy2skyedit_flag(void) - -{ - return debug_joy2skyedit_flag; -} - - - -BOOL get_debug_joy2hitsedit_flag(void) - -{ - return debug_joy2hitsedit_flag; -} - - - -BOOL get_debug_joy2detailedit_flag(void) - -{ - return debug_joy2detailedit_flag; -} - - - -BOOL get_debug_explosioninfo_flag(void) - -{ - return debug_explosioninfo_flag; -} - - - -BOOL get_debug_prroomloads_flag(void) - -{ - return debug_prroomloads_flag; -} - - - -BOOL get_linemode_flag(void) - -{ - return linemode_flag; -} - - - -void set_linemode_flag(BOOL param_1) - -{ - linemode_flag = param_1; - return; -} - - - -BOOL get_debug_007_unlock_flag(void) - -{ - return debug_007_unlock_flag; -} - - - -BOOL get_debug_enable_agent_levels_flag(void) - -{ - return debug_enable_agent_levels; -} - - - -BOOL get_debug_enable_all_levels_flag(void) - -{ - return debug_enable_all_levels; -} - - - -BOOL get_debug_fast_bond_flag(void) - -{ - return debug_fast_bond; -} - - - -void set_debug_fast_bond_flag(BOOL param_1) - -{ - debug_fast_bond = param_1; - return; -} - - - -BOOL get_debug_all_obj_complete_flag(void) - -{ - return debug_all_obj_complete; -} - - - -BOOL getdebug_portal_flag(void) - -{ - return debug_portal_flag; -} - - - -BOOL get_debug_chrnum_flag(void) - -{ - return debug_chrnum_flag; -} - - - -BOOL get_debug_gunwatchpos_flag(void) - -{ - return debug_gunwatchpos_flag; -} - - - -BOOL get_debug_profile_flag(void) - -{ - return debug_profile_flag; -} - - - -BOOL get_debug_taskgrab_val(void) - -{ - return debug_enable_taskgrab_flag; -} - - - -void proc_7F091080(char param_1,char param_2,ushort param_3) - -{ - int iVar1; - float fVar2; - char cStackX3; - - fVar2 = 1.00000000; - iVar1 = (int)param_2; - if (param_1 < -3) { - cStackX3 = param_1 + '\x03'; - } - else { - cStackX3 = param_1 + -3; - if (param_1 < '\x04') { - cStackX3 = '\0'; - } - } - if (iVar1 < -3) { - iVar1 = (iVar1 + 3) * 0x1000000 >> 0x18; - } - else { - if (iVar1 < 4) { - iVar1 = 0; - } - else { - iVar1 = (iVar1 + -3) * 0x1000000 >> 0x18; - } - } - if ((param_3 & 0x30) == 0) { - if ((param_3 & 0x2000) != 0) { - fVar2 = 0.19999999; - } - if ((param_3 & ~dword_80037054 & 0x8000) != 0) { - flt_80037050 = flt_80037050 + flt_80037050; - } - if ((param_3 & ~dword_80037054 & 0x4000) != 0) { - flt_80037050 = flt_80037050 * 0.50000000; - } - stanbondx = stanbondx + (float)iVar1 * dword_80037040 * fVar2 * flt_80037050; - stanbondz = stanbondz + -(float)iVar1 * flt_8003703C * fVar2 * flt_80037050; - if ((param_3 & 0x202) != 0) { - stanbondx = stanbondx - flt_8003703C * 20.00000000 * fVar2 * flt_80037050; - stanbondz = stanbondz - dword_80037040 * 20.00000000 * fVar2 * flt_80037050; - } - if ((param_3 & 0x101) != 0) { - stanbondx = stanbondx + flt_8003703C * 20.00000000 * fVar2 * flt_80037050; - stanbondz = stanbondz + dword_80037040 * 20.00000000 * fVar2 * flt_80037050; - } - dword_80037038 = dword_80037038 + (float)(int)cStackX3 * fVar2 * 0.12500000; - if ((param_3 & 0x800) != 0) { - dword_80037044 = dword_80037044 - (fVar2 + fVar2); - } - if ((param_3 & 0x400) != 0) { - dword_80037044 = dword_80037044 + fVar2 + fVar2; - } - if ((param_3 & 8) != 0) { - stanbondy = stanbondy + fVar2 * 20.00000000 * flt_80037050; - } - if ((param_3 & 4) != 0) { - stanbondy = stanbondy - fVar2 * 20.00000000 * flt_80037050; - } - } - while (dword_80037038 < 0.00000000) { - dword_80037038 = dword_80037038 + 360.00000000; - } - while (360.00000000 <= dword_80037038) { - dword_80037038 = dword_80037038 - 360.00000000; - } - while (dword_80037044 < 0.00000000) { - dword_80037044 = dword_80037044 + 360.00000000; - } - while (360.00000000 <= dword_80037044) { - dword_80037044 = dword_80037044 - 360.00000000; - } - flt_8003703C = cosf(dword_80037038 * flt_80055850); - dword_80037040 = sinf(dword_80037038 * flt_80055854); - flt_80037048 = cosf(dword_80037044 * flt_80055858); - dword_80037024 = sinf(dword_80037044 * flt_8005585C); - dword_80037020 = flt_80037048 * dword_80037040; - flt_80037030 = flt_80037048; - flt_80037028 = -flt_80037048 * flt_8003703C; - dword_8003702C = -dword_80037024 * dword_80037040; - dword_80037034 = dword_80037024 * flt_8003703C; - dword_8003704C = dword_80037024; - dword_80037054 = param_3; - set_cur_player_fovy(60.00000000); - dword_8007A4E0 += 1; - if (dword_8007A4E0 == 1) { - remove_item_in_hand(HAND_RIGHT); - remove_item_in_hand(HAND_LEFT); - } - else { - if (dword_8007A4E0 == 4) { - solo_char_load(); - } - } - return; -} - - - -undefined4 proc_7F091580(undefined4 param_1) - -{ - proc_7F0876C4((float *)&stanbondx,(float *)&dword_80037020,(float *)&dword_8003702C); - return param_1; -} - - - -void proc_7F0915BC(float param_1) - -{ - flt_80037058 = flt_80037058 / param_1; - stanbondx = stanbondx * flt_80037058; - stanbondy = stanbondy * flt_80037058; - stanbondz = stanbondz * flt_80037058; - flt_80037058 = param_1; - flt_8003705C = 1.00000000 / param_1; - return; -} - - - -void handle_debug_intropos(void) - -{ - float __x; - - get_BONDdata_position(); - __x = get_curplay_horizontal_rotation_in_degrees(); - __x = flt_80055860 - __x; - cosf(__x); - sinf(__x); - cosf(__x); - sinf(__x); - return; -} - - - -void handle_debug_worldpos(void) - -{ - sqrtf((stanbondx - dword_80037060) * (stanbondx - dword_80037060) + - (stanbondy - dword_80037064) * (stanbondy - dword_80037064) + - (stanbondz - dword_80037068) * (stanbondz - dword_80037068)); - dword_80037060 = stanbondx; - dword_80037064 = stanbondy; - dword_80037068 = stanbondz; - return; -} - - - -void stanStoreBondCoord(void) - -{ - xyzpoint *pos; - - pos = get_BONDdata_position(); - stanbondx = pos->x; - stanbondy = pos->y; - stanbondz = pos->z; - dword_8007A4E0 = 0; - return; -} - - - -int cheatButton_7F091740(controller_buttons *param_1) - -{ - int iVar1; - uint uVar2; - - uVar2 = (uint)param_1 & 0xffff; - iVar1 = 0; - while (uVar2 != 0) { - if ((uVar2 & 1) != 0) { - iVar1 += 1; - } - uVar2 >>= 1; - } - return iVar1; -} - - - -void cheatButton_7F09177C(void) - -{ - byte bVar1; - int iVar2; - s32 sVar3; - int iVar4; - uint uVar5; - short *psVar6; - ulonglong uVar7; - ulonglong uVar8; - char cVar9; - struct_15 *psVar10; - uint uVar11; - - psVar10 = stru_8003F80C; - iVar2 = proc_7F0BDF04(); - if (iVar2 == 0x5a) { - uVar11 = 1; - } - else { - sVar3 = get_num_players(); - uVar11 = 4; - if (sVar3 == 1) { - uVar11 = 2; - } - } - bVar1 = stru_8003F80C[0].field_1; - if (stru_8003F80C[0].anonymous_0 == '\0') { - return; - } - do { - uVar8 = (ulonglong)bVar1; - if (bVar1 == 0) { - cVar9 = psVar10[1].anonymous_0; - } - else { - if ((byte)pPlayer->can_display_cheat_text < uVar8) { - cVar9 = psVar10[1].anonymous_0; - } - else { - if ((psVar10->anonymous_3 & uVar11) == 0) { - cVar9 = psVar10[1].anonymous_0; - } - else { - uVar7 = 0; - iVar2 = ((uint)(byte)pPlayer->something_with_cheat_text - (uint)bVar1) + 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - if (bVar1 != 0) { - psVar6 = (short *)psVar10->anonymous_1; - do { - iVar4 = iVar2 % 0x14; - iVar2 = iVar4 + 1; - if (*(short *)((int)&pPlayer->field_128C + iVar4 * 2) != *psVar6) break; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - uVar7 = SEXT48((int)uVar7 + 1); - psVar6 = psVar6 + 1; - } while ((longlong)uVar7 < (longlong)uVar8); - } - if (uVar7 == uVar8) { - pPlayer->can_display_cheat_text = '\0'; - uVar5 = cheatCheckIfOn((uint)(byte)psVar10->anonymous_0); - if ((uVar5 == 0) || ((psVar10->anonymous_3 & 0x10U) != 0)) { - handle_cheats_turned_on((uint)(byte)psVar10->anonymous_0); - cVar9 = psVar10[1].anonymous_0; - } - else { - cheatDisplayMessageActivateCheat((uint)(byte)psVar10->anonymous_0); - cVar9 = psVar10[1].anonymous_0; - } - } - else { - cVar9 = psVar10[1].anonymous_0; - } - } - } - } - if (cVar9 == '\0') { - return; - } - if (false) { - return; - } - bVar1 = psVar10[1].field_1; - psVar10 = psVar10 + 1; - } while( true ); -} - - - -void cheat_buttons_mp_related(void) - -{ - ushort uVar1; - u32 uVar2; - u32 uVar3; - int iVar4; - ulonglong uVar5; - - uVar2 = get_cur_playernum(); - uVar2 = get_controller_buttons_held - ((char)uVar2, - 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); - uVar3 = get_cur_playernum(); - uVar3 = get_controller_buttons_pressed - ((char)uVar3, - 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); - uVar5 = (ulonglong)(ushort)uVar2 & 0x30; - uVar1 = (ushort)uVar5; - uVar5 = (longlong)(int)uVar3 & ~uVar5; - if ((uVar5 & 0xffff) != 0) { - iVar4 = cheatButton_7F091740((controller_buttons *)((uint)uVar5 & 0xffff)); - if (iVar4 == 1) { - iVar4 = cheatButton_7F091740 - ((controller_buttons *)(uint)(ushort)((ushort)uVar2 & ~uVar1)); - if (iVar4 == 1) { - *(ushort *) - ((int)&pPlayer->field_128C + (uint)(byte)pPlayer->something_with_cheat_text * 2) = - (ushort)uVar5 | uVar1; - pPlayer->something_with_cheat_text = - (char)((int)((uint)(byte)pPlayer->something_with_cheat_text + 1) % 0x14); - if ((byte)pPlayer->can_display_cheat_text < 0x14) { - pPlayer->can_display_cheat_text = pPlayer->can_display_cheat_text + 1; - } - goto LAB_7f091a44; - } - } - pPlayer->can_display_cheat_text = '\0'; - } -LAB_7f091a44: - cheatButton_7F09177C(); - return; -} - - - -u32 is_cheat_index_equal_to_1C(u32 cheatindex) - -{ - if (cheatindex == 0x1c) { - return 1; - } - return 0; -} - - - -u32 cheatCheckIfMPCheat(CHEAT_IDS cheat) - -{ - if (((&D_8003F808)[cheat * 4] & 4) == 4) { - return 1; - } - return 0; -} - - - -void turn_on_cheat_for_players(u32 cheatindex) - -{ - uint uVar1; - PLAYER_ID playernum; - PLAYER_ID numplayers; - PLAYER_ID i; - - uVar1 = (&D_8003F808)[cheatindex * 4]; - playernum = get_cur_playernum(); - numplayers = get_num_players(); - if (numplayers == PLAYER2) { - handle_cheats_turned_on(cheatindex); - } - else { - if ((uVar1 & 4) != 0) { - if ((uVar1 & 0x20) == 0) { - i = PLAYER1; - if (0 < (int)numplayers) { - do { - set_cur_player(i); - handle_cheats_turned_on(cheatindex); - i += PLAYER2; - } while (i != numplayers); - } - set_cur_player(playernum); - } - else { - handle_cheats_turned_on(cheatindex); - } - } - } - return; -} - - - -void handle_cheats_turned_on(CHEAT_IDS cheat) - -{ - uint uVar1; - bool bVar2; - PLAYER_ID playernum; - PLAYER_ID PVar4; - ulonglong uVar3; - BOOL BVar5; - BOOL BVar6; - BOOL BVar7; - BOOL BVar8; - BOOL BVar9; - u8 *text; - s32 sVar10; - int amount; - STAGENUM stageid; - STAGENUM SVar11; - f32 fVar12; - f32 scale; - PLAYER_ID local_10; - - uVar1 = (&D_8003F808)[cheat * 4]; - playernum = get_cur_playernum(); - PVar4 = get_num_players(); - if ((uVar1 & 0x10) == 0) { - if ((uVar1 & 0x20) == 0) { - cheatl_ARRAY_80079e30[cheat] = - cheatl_ARRAY_80079e30[cheat] | (byte)(1 << (playernum & 0x1f)); - } - else { - cheatl_ARRAY_80079e30[cheat] = (char)(1 << (PVar4 & 0x1f)) + -1; - } - } - if (true) { - switch(cheat) { - case CHEAT_EXTRA_MP_CHARS: - unlock_mp_chars(); - break; - case CHEAT_INVINCIBILITY: - uVar3 = get_bondata_invincible_flag(); - if (uVar3 == 0) { - text = get_textptr_for_textID(0xb00f); - display_string_in_lower_left_corner((char *)text); - set_bondata_invincible_flag(1); - } - break; - case CHEAT_ALLGUNS: - amount = get_BONDdata_allguns_flag(); - if (amount == 0) { - text = get_textptr_for_textID(0xb010); - display_string_in_lower_left_corner((char *)text); - set_BONDdata_allguns_flag(1); - } - break; - case CHEAT_MAXAMMO: - text = get_textptr_for_textID(0xb011); - display_string_in_lower_left_corner((char *)text); - set_max_ammo_for_cur_player(); - break; - case CHEAT_REMOVE_INVINCIBILITY: - bVar2 = false; - if (1 < (int)PVar4) { - local_10 = PLAYER1; - if (0 < (int)PVar4) { - do { - if (local_10 != playernum) { - set_cur_player(local_10); - uVar3 = get_bondata_invincible_flag(); - if (uVar3 != 0) { - bVar2 = true; - set_bondata_invincible_flag(0); - } - } - set_cur_player(playernum); - local_10 += PLAYER2; - } while (local_10 != PVar4); - } - if (bVar2) { - play_sfx_a1(ptr_sfx_buf,0x9f,NULL); - } - } - break; - case CHEAT_LINEMODE: - set_linemode_flag(1); - break; - case cheats_cheat_2x_health: - if (((float)pPlayer->actual_health == 1.00000000) || - ((float)pPlayer->bondhealth < 1.00000000)) { - text = get_textptr_for_textID(0xb012); - display_string_in_lower_left_corner((char *)text); - pPlayer->bondhealth = 1.00000000; - pPlayer->actual_health = 2.00000000; - } - break; - case cheats_cheat_2x_armor: - if (((float)pPlayer->actual_armor == 1.00000000) || - ((float)pPlayer->bondarmour < 1.00000000)) { - text = get_textptr_for_textID(0xb013); - display_string_in_lower_left_corner((char *)text); - pPlayer->bondarmour = 1.00000000; - pPlayer->actual_armor = 2.00000000; - } - break; - case cheats_cheat_invisibility: - amount = get_invisible_to_guards_flag(); - if (amount != 0) { - text = get_textptr_for_textID(0xb014); - display_string_in_lower_left_corner((char *)text); - set_invisible_to_guards_flag(0); - } - break; - case cheats_cheat_infinite_ammo: - text = get_textptr_for_textID(0xb016); - display_string_in_lower_left_corner((char *)text); - break; - case cheats_cheat_dk_mode: - text = get_textptr_for_textID(0xb017); - display_string_in_lower_left_corner((char *)text); - set_DKMode(1); - break; - case cheats_cheat_extra_weapons: - if (PVar4 == PLAYER2) { - BVar9 = add_item_to_inventory(ITEM_RUGER); - BVar5 = add_item_to_inventory(ITEM_LASER); - BVar6 = add_item_to_inventory(ITEM_GOLDENGUN); - BVar7 = add_item_to_inventory(ITEM_SILVERWPPK); - BVar8 = add_item_to_inventory(ITEM_GOLDWPPK); - amount = get_max_ammo_for_type(AMMO_MAGNUM); - give_cur_player_ammo(AMMO_MAGNUM,amount); - amount = get_max_ammo_for_type(AMMO_GGUN); - give_cur_player_ammo(AMMO_GGUN,amount); - amount = get_max_ammo_for_type(AMMO_9MM); - give_cur_player_ammo(AMMO_9MM,amount); - if (0 < (int)(BVar9 + BVar5 + BVar6 + BVar7 + BVar8)) { - text = get_textptr_for_textID(0xb018); - display_string_in_lower_left_corner((char *)text); - } - } - break; - case cheats_cheat_tiny_bond: - if ((PVar4 == PLAYER2) && (pPlayersPerm->player_perspective_height == 1.00000000)) { - text = get_textptr_for_textID(0xb019); - display_string_in_lower_left_corner((char *)text); - pPlayersPerm->player_perspective_height = 0.50000000; - if (pPlayer->ptr_char_objectinstance != 0) { - set_obj_instance_controller_scale(pPlayer->ptr_char_objectinstance,scale); - } - } - break; - case cheats_cheat_paintball: - text = get_textptr_for_textID(0xb01a); - display_string_in_lower_left_corner((char *)text); - break; - case cheats_cheat_10x_health: - if (((float)pPlayer->actual_health == 1.00000000) || - ((float)pPlayer->bondhealth < 1.00000000)) { - text = get_textptr_for_textID(0xb01b); - display_string_in_lower_left_corner((char *)text); - pPlayer->bondhealth = 1.00000000; - pPlayer->actual_health = 10.00000000; - } - break; - case cheats_cheat_magnum: - if (PVar4 == PLAYER2) { - add_item_to_inventory(ITEM_RUGER); - amount = get_max_ammo_for_type(AMMO_MAGNUM); - give_cur_player_ammo(AMMO_MAGNUM,amount); - } - break; - case cheats_cheat_laser: - if (PVar4 == PLAYER2) { - add_item_to_inventory(ITEM_LASER); - } - break; - case cheats_cheat_goldengun: - if (PVar4 == PLAYER2) { - add_item_to_inventory(ITEM_GOLDENGUN); - amount = get_max_ammo_for_type(AMMO_GGUN); - give_cur_player_ammo(AMMO_GGUN,amount); - } - break; - case cheats_cheat_silverpp7: - if (PVar4 == PLAYER2) { - add_item_to_inventory(ITEM_SILVERWPPK); - amount = get_max_ammo_for_type(AMMO_9MM); - give_cur_player_ammo(AMMO_9MM,amount); - } - break; - case cheats_cheat_goldpp7: - if (PVar4 == PLAYER2) { - add_item_to_inventory(ITEM_GOLDWPPK); - amount = get_max_ammo_for_type(AMMO_9MM); - give_cur_player_ammo(AMMO_9MM,amount); - } - break; - case cheats_cheat_invisibility_mp: - set_curplayer_fade(300.00000000,flt_800573D8); - break; - case cheats_cheat_fast: - BVar9 = get_debug_fast_bond_flag(); - if (BVar9 == FALSE) { - text = get_textptr_for_textID(0xb01d); - display_string_in_lower_left_corner((char *)text); - set_debug_fast_bond_flag(TRUE); - } - break; - case cheats_debug_pos: - BVar9 = get_debug_testingmanpos_flag(); - if (BVar9 == FALSE) { - set_debug_testingmanpos_flag(TRUE); - } - break; - case cheats_debug_fast_ani: - fVar12 = get_animation_rate(); - if ((float)fVar12 < 4.00000000) { - text = get_textptr_for_textID(0xb034); - display_string_in_lower_left_corner((char *)text); - animation_speed_related(4.00000000); - } - break; - case cheats_debug_slow_ani: - fVar12 = get_animation_rate(); - if (0.25000000 < (float)fVar12) { - text = get_textptr_for_textID(0xb032); - display_string_in_lower_left_corner((char *)text); - animation_speed_related(0.25000000); - } - break; - case cheats_debug_2x_rockets: - if (PVar4 == PLAYER2) { - add_doubles_item_to_inventory(0x19,0x19); - amount = get_max_ammo_for_type(AMMO_ROCKETS); - give_cur_player_ammo(AMMO_ROCKETS,amount); - } - break; - case cheats_debug_2x_grenade_launch: - if (PVar4 == PLAYER2) { - add_doubles_item_to_inventory(0x18,0x18); - amount = get_max_ammo_for_type(AMMO_GRENADEROUND); - give_cur_player_ammo(AMMO_GRENADEROUND,amount); - } - break; - case cheats_debug_2x_rcp90: - if (PVar4 == PLAYER2) { - add_doubles_item_to_inventory(0xe,0xe); - amount = get_max_ammo_for_type(AMMO_9MM); - give_cur_player_ammo(AMMO_9MM,amount); - } - break; - case cheats_debug_2x_throwing_knife: - if (PVar4 == PLAYER2) { - add_doubles_item_to_inventory(3,3); - amount = get_max_ammo_for_type(AMMO_KNIFE); - give_cur_player_ammo(AMMO_KNIFE,amount); - } - break; - case cheats_debug_2x_hunting_knife: - if (PVar4 == PLAYER2) { - add_doubles_item_to_inventory(2,2); - } - break; - case cheats_debug_2x_laser: - if (PVar4 == PLAYER2) { - add_doubles_item_to_inventory(0x16,0x16); - } - break; - case UNUSED_23: - case UNUSED_24: - case UNUSED_25: - case UNUSED_26: - case UNUSED_27: - case UNUSED_28: - case UNUSED_29: - case UNUSED_2A: - case UNUSED_2B: - case UNUSED_2C: - case UNUSED_2D: - case UNUSED_2E: - case UNUSED_2F: - case UNUSED_30: - case UNUSED_31: - case UNUSED_32: - case UNUSED_33: - case UNUSED_34: - case UNUSED_35: - case UNLOCK_CHEATS: - if ((-1 < (int)selected_folder_num) && ((int)selected_folder_num < 4)) { - proc_7F01E760(selected_folder_num,cheat + ~cheats_debug_2x_laser); - play_sfx_a1(ptr_sfx_buf,0x9f,NULL); - } - break; - case UNUSED_37: - case UNUSED_38: - case UNUSED_39: - case UNUSED_3A: - case UNUSED_3B: - case UNUSED_3C: - case UNUSED_3D: - case UNUSED_3E: - case UNUSED_3F: - case UNUSED_40: - case UNUSED_41: - case UNUSED_42: - case UNUSED_43: - case UNUSED_44: - case UNUSED_45: - case UNUSED_46: - case UNUSED_47: - case UNUSED_48: - case UNUSED_49: - case UNLOCK_STAGES: - SVar11 = cheat + ~UNLOCK_CHEATS; - if ((-1 < (int)selected_folder_num) && (amount = 0, (int)selected_folder_num < 4)) { - stageid = SP_STAGE_DAM; - if (0 < (int)SVar11) { - do { - sVar10 = isStageUnlockedAtDifficulty - (selected_folder_num,stageid,DIFFICULTY_AGENT); - if (sVar10 == 3) { - amount += 1; - } - stageid += SP_STAGE_FACILITY; - } while (stageid != SVar11); - } - if (SVar11 == amount + SP_STAGE_FACILITY) { - unlock_stage_in_folder_on_difficulty - (selected_folder_num,(longlong)(int)(cheat + ~UNUSED_37),0,99999999); - play_sfx_a1(ptr_sfx_buf,0x9f,NULL); - } - } - } - } - return; -} - - - -void cheatDisplayMessageActivateCheat(CHEAT_IDS cheat) - -{ - uint uVar1; - u32 uVar3; - s32 players; - ulonglong uVar2; - int iVar4; - u8 *text; - BOOL BVar5; - f32 scale; - - uVar1 = (&D_8003F808)[cheat * 4]; - uVar3 = get_cur_playernum(); - players = get_num_players(); - if ((uVar1 & 0x10) == 0) { - if ((uVar1 & 0x20) == 0) { - cheatl_ARRAY_80079e30[cheat] = - cheatl_ARRAY_80079e30[cheat] & ~(byte)(1 << (uVar3 & 0x1f)); - } - else { - cheatl_ARRAY_80079e30[cheat] = 0; - } - } - if (true) { - switch(cheat) { - case CHEAT_INVINCIBILITY: - uVar2 = get_bondata_invincible_flag(); - if (uVar2 != 0) { - text = get_textptr_for_textID(0xb01e); - display_string_in_lower_left_corner((char *)text); - set_bondata_invincible_flag(0); - } - break; - case CHEAT_ALLGUNS: - iVar4 = get_BONDdata_allguns_flag(); - if (iVar4 != 0) { - text = get_textptr_for_textID(0xb01f); - display_string_in_lower_left_corner((char *)text); - set_BONDdata_allguns_flag(0); - } - break; - case CHEAT_LINEMODE: - set_linemode_flag(0); - break; - case cheats_cheat_invisibility: - iVar4 = get_invisible_to_guards_flag(); - if (iVar4 == 0) { - text = get_textptr_for_textID(0xb020); - display_string_in_lower_left_corner((char *)text); - set_invisible_to_guards_flag(1); - } - break; - case cheats_cheat_infinite_ammo: - text = get_textptr_for_textID(0xb022); - display_string_in_lower_left_corner((char *)text); - break; - case cheats_cheat_dk_mode: - text = get_textptr_for_textID(0xb023); - display_string_in_lower_left_corner((char *)text); - set_DKMode(0); - break; - case cheats_cheat_tiny_bond: - if ((players == 1) && (pPlayersPerm->player_perspective_height != 1.00000000)) { - text = get_textptr_for_textID(0xb024); - display_string_in_lower_left_corner((char *)text); - pPlayersPerm->player_perspective_height = 1.00000000; - if (pPlayer->ptr_char_objectinstance != 0) { - set_obj_instance_controller_scale(pPlayer->ptr_char_objectinstance,scale); - } - } - break; - case cheats_cheat_paintball: - text = get_textptr_for_textID(0xb025); - display_string_in_lower_left_corner((char *)text); - break; - case cheats_cheat_invisibility_mp: - set_curplayer_fade(300.00000000,1.00000000); - break; - case cheats_cheat_fast: - BVar5 = get_debug_fast_bond_flag(); - if (BVar5 != FALSE) { - text = get_textptr_for_textID(0xb027); - display_string_in_lower_left_corner((char *)text); - set_debug_fast_bond_flag(FALSE); - } - break; - case cheats_debug_pos: - BVar5 = get_debug_testingmanpos_flag(); - if (BVar5 != FALSE) { - set_debug_testingmanpos_flag(FALSE); - } - } - } - return; -} - - - -void cheatDisableAllCheats(void) - -{ - u32 numplayers; - PLAYER_ID playernum; - uint uVar1; - CHEAT_IDS cheat; - int iVar2; - ulonglong curplayer; - - numplayers = get_num_players(); - playernum = get_cur_playernum(); - curplayer = 0; - if (0 < (longlong)(int)numplayers) { - do { - set_cur_player((PLAYER_ID)curplayer); - iVar2 = -0x7ffc07e4; - cheat = CHEAT_EXTRA_MP_CHARS; - do { - if (((*(uint *)(iVar2 + -4) & 0x40) != 0) && - (uVar1 = cheatCheckIfOn(cheat), uVar1 != 0)) { - cheatDisplayMessageActivateCheat(cheat); - } - cheat += CHEAT_EXTRA_MP_CHARS; - iVar2 += 0x10; - } while (cheat != 0x4b); - curplayer = SEXT48((int)((PLAYER_ID)curplayer + PLAYER2)); - } while (curplayer != (longlong)(int)numplayers); - } - set_cur_player(playernum); - return; -} - - - -int cheatGetMenuTextPointer(CHEAT_IDS cheat) - -{ - u8 *textptr; - - if (*(TEXTFILESTRINGS *)(&D_8003F804 + cheat * 4) == 0) { - textptr = get_textptr_for_textID(0xb028); - } - else { - textptr = get_textptr_for_textID(*(TEXTFILESTRINGS *)(&D_8003F804 + cheat * 4)); - } - return (int)textptr; -} - - - -uint cheatCheckIfOn(CHEAT_IDS cheat) - -{ - u32 uVar1; - - uVar1 = get_cur_playernum(); - return (int)(uint)(byte)cheatl_ARRAY_80079e30[cheat] >> (uVar1 & 0x1f) & 1; -} - - - -void set_DKMode(s32 param_1) - -{ - int guardcount; - int curguard; - GUARDdata *guard; - f32 extraout_f12; - f32 extraout_f12_00; - f32 scale; - - guard = ptr_guard_data; - guardcount = get_numguards(); - curguard = 0; - scale = extraout_f12; - if (0 < guardcount) { - do { - if (guard->MODELdata_pointer != 0) { - set_obj_instance_controller_scale(guard->MODELdata_pointer,scale); - scale = extraout_f12_00; - } - curguard += 1; - guard = guard + 1; - } while (curguard != guardcount); - } - return; -} - - - -undefined8 -proc_7F092890(short *param_1,short *param_2,short *param_3,float *param_4,float *param_5, - float *param_6,float *param_7,float *param_8) - -{ - undefined8 uVar1; - double dVar2; - double dVar3; - double dVar4; - double dVar5; - double dVar6; - double dVar7; - double dVar8; - uint uVar9; - double dVar10; - double dVar11; - double dVar12; - double dVar13; - double dVar14; - double dVar15; - double dVar16; - double dVar17; - double dVar18; - double dVar19; - double dVar20; - double dVar21; - double dVar22; - double dVar23; - - dVar3 = (double)*param_7; - dVar6 = (double)param_7[1]; - dVar2 = (double)param_7[2]; - dVar10 = (double)((int)*param_2 - (int)*param_1); - dVar7 = (double)((int)param_2[1] - (int)param_1[1]); - dVar8 = (double)((int)param_2[2] - (int)param_1[2]); - dVar18 = dVar7 * (double)((int)param_3[2] - (int)param_2[2]); - dVar19 = dVar8 * (double)((int)param_3[1] - (int)param_2[1]); - dVar20 = dVar8 * (double)((int)*param_3 - (int)*param_2); - dVar21 = dVar10 * (double)((int)param_3[2] - (int)param_2[2]); - dVar14 = dVar18 - dVar19; - dVar22 = dVar10 * (double)((int)param_3[1] - (int)param_2[1]); - dVar23 = dVar7 * (double)((int)*param_3 - (int)*param_2); - dVar15 = dVar20 - dVar21; - dVar16 = dVar22 - dVar23; - if (dVar2 * dVar16 + dVar14 * dVar3 + dVar15 * dVar6 == - (double)((ulonglong)(dVar14 * dVar3) & 0xffffffff00000000)) { - uVar1 = 0; - } - else { - dVar23 = dVar23 - dVar22; - uVar1 = 0; - dVar17 = (double)((ulonglong)dVar16 & 0xffffffff00000000); - dVar22 = ((((((double)param_4[2] + (double)(int)param_1[2]) * dVar16 + - dVar14 * ((double)(int)*param_1 + (double)*param_4) + - dVar15 * ((double)(int)param_1[1] + (double)param_4[1])) - - dVar14 * (double)*param_6) - dVar15 * (double)param_6[1]) - - (double)param_6[2] * dVar16) / (dVar2 * dVar16 + dVar14 * dVar3 + dVar15 * dVar6); - dVar4 = dVar3 * dVar22 + (double)*param_6; - dVar11 = dVar6 * dVar22 + (double)param_6[1]; - dVar22 = dVar2 * dVar22 + (double)param_6[2]; - dVar12 = dVar4 - ((double)*param_4 + (double)(int)*param_1); - dVar13 = dVar11 - ((double)param_4[1] + (double)(int)param_1[1]); - dVar5 = dVar22 - ((double)param_4[2] + (double)(int)param_1[2]); - if (dVar23 == (double)((ulonglong)(double)(int)param_1[2] & 0xffffffff00000000)) { - dVar19 = dVar19 - dVar18; - if (dVar19 == (double)((ulonglong)dVar13 & 0xffffffff00000000)) { - dVar19 = (dVar5 * dVar10 - dVar8 * dVar12) / (dVar21 - dVar20); - } - else { - dVar19 = (dVar13 * dVar8 - dVar7 * dVar5) / dVar19; - } - } - else { - dVar19 = (dVar12 * dVar7 - dVar10 * dVar13) / dVar23; - } - if (dVar17 == dVar10) { - uVar9 = (uint)((ulonglong)(double)((int)param_3[1] - (int)param_1[1]) >> 0x20); - if (dVar17 == dVar7) { - uVar9 = (uint)((ulonglong)dVar5 >> 0x20); - dVar8 = (dVar5 - dVar19 * (double)((int)param_3[2] - (int)param_1[2])) / dVar8; - } - else { - dVar8 = (dVar13 - dVar19 * (double)((int)param_3[1] - (int)param_1[1])) / dVar7; - } - } - else { - uVar9 = (uint)((ulonglong)dVar12 >> 0x20); - dVar8 = (dVar12 - dVar19 * (double)((int)*param_3 - (int)*param_1)) / dVar10; - } - if (((dVar17 <= dVar8) && (dVar17 <= dVar19)) && - (dVar8 + dVar19 <= (double)((ulonglong)uVar9 << 0x20))) { - if (dVar17 <= (dVar22 - (double)param_5[2]) * dVar2 + - dVar3 * (dVar4 - (double)*param_5) + dVar6 * (dVar11 - (double)param_5[1]) - ) { - uVar1 = 1; - *param_8 = (float)dVar4; - param_8[1] = (float)dVar11; - param_8[2] = (float)dVar22; - param_8[3] = (float)dVar14; - param_8[4] = (float)dVar15; - *(undefined2 *)((int)param_8 + 0x2a) = 0; - param_8[5] = (float)dVar16; - } - else { - uVar1 = 0; - } - } - } - return uVar1; -} - - - -void proc_7F092E50(void) - -{ - float fVar1; - ushort uVar2; - uint uVar3; - uint uVar4; - float fVar5; - - fVar5 = (float)clock_timer; - FLOAT_80079e80 = FLOAT_80079e80 + fVar5 * 0.25000000; - if (256.00000000 <= FLOAT_80079e80) { - FLOAT_80079e80 = FLOAT_80079e80 - 256.00000000; - } - if (FLOAT_80079e80 < 0.00000000) { - FLOAT_80079e80 = FLOAT_80079e80 + 256.00000000; - } - FLOAT_80079e84 = FLOAT_80079e84 + fVar5 * flt_80057510; - if (256.00000000 <= FLOAT_80079e84) { - FLOAT_80079e84 = FLOAT_80079e84 - 256.00000000; - } - if (FLOAT_80079e84 < 0.00000000) { - FLOAT_80079e84 = FLOAT_80079e84 + 256.00000000; - } - FLOAT_80079e88 = FLOAT_80079e88 + fVar5 * flt_80057518; - if (flt_80057514 <= FLOAT_80079e88) { - FLOAT_80079e88 = FLOAT_80079e88 - flt_80057514; - } - if (FLOAT_80079e88 < 0.00000000) { - FLOAT_80079e88 = FLOAT_80079e88 + flt_80057514; - } - if (false) { - fVar5 = ROUND(FLOAT_80079e80); - } - else { - fVar5 = FLOOR(FLOAT_80079e80); - } - uVar3 = (uint)fVar5; - if (false) { - if (false) { - fVar5 = ROUND(FLOAT_80079e80 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(FLOAT_80079e80 - 2147483648.00000000); - } - if (false) goto LAB_7f093000; - uVar3 = (int)fVar5 | 0x80000000; - } - else { - if ((int)uVar3 < 0) { -LAB_7f093000: - uVar3 = 0xffffffff; - } - } - if (false) { - fVar5 = ROUND(FLOAT_80079e84); - } - else { - fVar5 = FLOOR(FLOAT_80079e84); - } - QWORD_8003fcd0._0_4_ = - ((uVar3 ^ QWORD_8003fcd0._0_4_ >> 0xc) << 0x14) >> 8 ^ QWORD_8003fcd0._0_4_; - if (false) { - if (false) { - fVar5 = ROUND(FLOAT_80079e84 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(FLOAT_80079e84 - 2147483648.00000000); - } - if (false) goto LAB_7f093098; - uVar2 = (ushort)(int)fVar5; - } - else { - uVar2 = (ushort)(int)fVar5; - if ((int)fVar5 < 0) { -LAB_7f093098: - uVar2 = 0xffff; - } - } - QWORD_8003fcd0._0_4_ = - QWORD_8003fcd0._0_4_ & 0xffff0000 | (uint)(uVar2 & 0xfff | QWORD_8003fcd0._2_2_ & 0xf000); - dword_8003FCD8._0_4_ = - (((int)FLOAT_80079e80 + 0x5aU & 0xff ^ dword_8003FCD8._0_4_ >> 0xc) << 0x14) >> 8 ^ - dword_8003FCD8._0_4_; - dword_8003FCD8._0_4_ = - dword_8003FCD8._0_4_ & 0xffff0000 | - (uint)((short)(int)FLOAT_80079e84 + 0x96U & 0xff | dword_8003FCD8._2_2_ & 0xf000); - fVar5 = sinf(FLOAT_80079e88); - fVar5 = fVar5 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar3 = (uint)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0931bc; - uVar3 = (int)fVar5 | 0x80000000; - } - else { - if ((int)uVar3 < 0) { -LAB_7f0931bc: - uVar3 = 0xffffffff; - } - } - if (false) { - fVar5 = ROUND(FLOAT_80079e80); - } - else { - fVar5 = FLOOR(FLOAT_80079e80); - } - uVar4 = (uint)fVar5; - QWORD_8003fce0._0_4_ = uVar3 | QWORD_8003fce0._0_4_ & 0xffffff00; - if (false) { - if (false) { - fVar5 = ROUND(FLOAT_80079e80 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(FLOAT_80079e80 - 2147483648.00000000); - } - if (false) goto LAB_7f093254; - uVar4 = (int)fVar5 | 0x80000000; - } - else { - if ((int)uVar4 < 0) { -LAB_7f093254: - uVar4 = 0xffffffff; - } - } - if (false) { - fVar5 = ROUND(FLOAT_80079e84); - } - else { - fVar5 = FLOOR(FLOAT_80079e84); - } - QWORD_8003fd38._0_4_ = - ((uVar4 ^ QWORD_8003fd38._0_4_ >> 0xc) << 0x14) >> 8 ^ QWORD_8003fd38._0_4_; - if (false) { - if (false) { - fVar5 = ROUND(FLOAT_80079e84 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(FLOAT_80079e84 - 2147483648.00000000); - } - if (false) goto LAB_7f0932ec; - uVar2 = (ushort)(int)fVar5; - } - else { - uVar2 = (ushort)(int)fVar5; - if ((int)fVar5 < 0) { -LAB_7f0932ec: - uVar2 = 0xffff; - } - } - QWORD_8003fd38._0_4_ = - QWORD_8003fd38._0_4_ & 0xffff0000 | (uint)(uVar2 & 0xfff | QWORD_8003fd38._2_2_ & 0xf000); - dword_8003FD40._0_4_ = - (((int)FLOAT_80079e80 + 0x5aU & 0xff ^ dword_8003FD40._0_4_ >> 0xc) << 0x14) >> 8 ^ - dword_8003FD40._0_4_; - dword_8003FD40._0_4_ = - dword_8003FD40._0_4_ & 0xffff0000 | - (uint)((short)(int)FLOAT_80079e84 + 0x96U & 0xff | dword_8003FD40._2_2_ & 0xf000); - fVar5 = sinf(FLOAT_80079e88); - fVar5 = fVar5 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar3 = (uint)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar5 | 0x80000000; - goto LAB_7f093418; - } - } - else { - if (-1 < (int)uVar3) goto LAB_7f093418; - } - uVar3 = 0xffffffff; -LAB_7f093418: - QWORD_8003fd48._0_4_ = uVar3 | QWORD_8003fce0._0_4_ & 0xffffff00; - return; -} - - - -undefined4 * proc_7F09343C(undefined4 *param_1,longlong param_2) - -{ - float fVar1; - float fVar2; - uint uVar3; - - if (param_2 != 0) { - *param_1 = 0x6000000; - param_1[1] = 0x8003fcc0; - return param_1 + 2; - } - param_1[1] = 82000; - *param_1 = 0xf5100800; - param_1[3] = 0x1014050; - param_1[2] = 0xf5100800; - param_1[4] = 0xf2000000; - param_1[5] = 0; - param_1[7] = 0x1000000; - param_1[6] = 0xf205a096; - fVar2 = sinf(FLOAT_80079e88); - fVar2 = fVar2 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - uVar3 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar3) goto LAB_7f0935a8; - } - else { - if (false) { - fVar2 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar2 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar2 | 0x80000000; - goto LAB_7f0935a8; - } - } - uVar3 = 0xffffffff; -LAB_7f0935a8: - param_1[8] = uVar3 & 0xff | 0xfa000000; - param_1[9] = 0xffffffff; - param_1[0xb] = 0; - param_1[10] = 0xba001102; - param_1[0xd] = 0x2000; - param_1[0xc] = 0xba000c02; - param_1[0xf] = 0x1f1093ff; - param_1[0xe] = 0xfc272c04; - param_1[0x11] = 0xc192078; - param_1[0x10] = 0xb900031d; - param_1[0x12] = 0xba001001; - param_1[0x13] = 0; - param_1[0x15] = 0x100000; - param_1[0x14] = 0xba001402; - param_1[0x16] = 0xb7000000; - param_1[0x17] = 0x2000; - return param_1 + 0x18; -} - - - -undefined4 * proc_7F09365C(undefined4 *param_1,longlong param_2) - -{ - float fVar1; - float fVar2; - uint uVar3; - - if (param_2 != 0) { - *param_1 = 0x6000000; - param_1[1] = 0x8003fd28; - return param_1 + 2; - } - param_1[1] = 82000; - *param_1 = 0xf5480400; - param_1[3] = 0x1014050; - param_1[2] = 0xf5480400; - param_1[4] = 0xf2000000; - param_1[5] = 0; - param_1[7] = 0x1000000; - param_1[6] = 0xf205a096; - fVar2 = sinf(FLOAT_80079e88); - fVar2 = fVar2 * 127.00000000 + 128.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - uVar3 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar3) goto LAB_7f0937c8; - } - else { - if (false) { - fVar2 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar2 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - uVar3 = (int)fVar2 | 0x80000000; - goto LAB_7f0937c8; - } - } - uVar3 = 0xffffffff; -LAB_7f0937c8: - param_1[8] = uVar3 & 0xff | 0xfa000000; - param_1[9] = 0xffffffff; - param_1[0xb] = 0; - param_1[10] = 0xba001102; - param_1[0xd] = 0x2000; - param_1[0xc] = 0xba000c02; - param_1[0xf] = 0x1f1093ff; - param_1[0xe] = 0xfc272c04; - param_1[0x11] = 0xc192078; - param_1[0x10] = 0xb900031d; - param_1[0x12] = 0xba001001; - param_1[0x13] = 0; - param_1[0x15] = 0x100000; - param_1[0x14] = 0xba001402; - param_1[0x16] = 0xb7000000; - param_1[0x17] = 0x2000; - return param_1 + 0x18; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F093880(void) - -{ - undefined4 *puVar1; - float *in_a2_lo; - f32 fVar2; - float in_f12; - float extraout_f12; - float in_f14; - float fStack12; - float fStack8; - float *pfStack4; - - pfStack4 = (float *)get_BONDdata_field_10D4(); - fVar2 = getPlayer_c_screenleft(); - fStack12 = (float)fVar2 + in_f12; - fVar2 = getPlayer_c_screentop(); - puVar1 = get_ptr_currentdata(); - fStack8 = (float)puVar1[0xe] + in_f14 + (float)fVar2; - proc_7F077EEC(&fStack12,in_a2_lo,extraout_f12); - proc_7F0583D8(pfStack4,in_a2_lo); - return; -} - - - -undefined8 proc_7F0938FC(float *param_1,float *param_2,float *param_3) - -{ - xyzpoint *pxVar2; - undefined8 uVar1; - undefined4 *puVar3; - float fVar4; - float fVar5; - float fVar6; - - pxVar2 = get_BONDdata_position(); - fVar4 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1 + flt_80057520); - fVar6 = 1.00000000; - uVar1 = 0; - fVar4 = (param_1[1] + param_1[1]) / fVar4; - if (fVar4 <= 1.00000000) { - fVar6 = fVar4; - } - *param_3 = 1.00000000 - fVar6; - fVar6 = flt_80057524; - if (param_1[1] != 0.00000000) { - fVar6 = param_1[1]; - } - if (0.00000000 < fVar6) { - puVar3 = get_ptr_currentdata(); - fVar5 = ((float)puVar3[3] - (float)pxVar2->y) / fVar6; - fVar4 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1); - if (flt_80057528 < fVar4 * fVar5) { - fVar5 = fVar5 * (flt_80057528 / (fVar4 * fVar5)); - fVar4 = *param_1; - } - else { - fVar4 = *param_1; - } - uVar1 = 1; - *param_2 = fVar4 * fVar5 + (float)pxVar2->x; - param_2[1] = (float)pxVar2->y + fVar5 * fVar6; - param_2[2] = param_1[2] * fVar5 + (float)pxVar2->z; - } - return uVar1; -} - - - -undefined8 proc_7F093A78(float *param_1,float *param_2,float *param_3) - -{ - xyzpoint *pxVar2; - undefined8 uVar1; - undefined4 *puVar3; - float fVar4; - float fVar5; - float fVar6; - - pxVar2 = get_BONDdata_position(); - fVar4 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1 + flt_8005752C); - fVar6 = 1.00000000; - uVar1 = 0; - fVar4 = (param_1[1] * -2.00000000) / fVar4; - if (fVar4 <= 1.00000000) { - fVar6 = fVar4; - } - *param_3 = 1.00000000 - fVar6; - fVar6 = flt_80057530; - if (param_1[1] != 0.00000000) { - fVar6 = param_1[1]; - } - if (fVar6 < 0.00000000) { - puVar3 = get_ptr_currentdata(); - fVar5 = ((float)puVar3[9] - (float)pxVar2->y) / fVar6; - fVar4 = sqrtf(param_1[2] * param_1[2] + *param_1 * *param_1); - if (flt_80057534 < fVar4 * fVar5) { - fVar5 = fVar5 * (flt_80057534 / (fVar4 * fVar5)); - fVar4 = *param_1; - } - else { - fVar4 = *param_1; - } - uVar1 = 1; - *param_2 = fVar4 * fVar5 + (float)pxVar2->x; - param_2[1] = (float)pxVar2->y + fVar5 * fVar6; - param_2[2] = param_1[2] * fVar5 + (float)pxVar2->z; - } - return uVar1; -} - - - -void proc_7F093BFC(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - - fVar1 = param_1[1]; - fVar2 = param_2[1]; - fVar4 = *param_1; - fVar3 = *param_2; - param_3[1] = 0.00000000; - fVar1 = fVar1 / (fVar1 - fVar2); - *param_3 = (fVar3 - fVar4) * fVar1 + fVar4; - param_3[2] = (param_2[2] - param_1[2]) * fVar1 + param_1[2]; - return; -} - - - -float proc_7F093C48(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5) - -{ - if (param_1 < param_2) { - return param_2; - } - if (param_1 <= param_5) { - return param_1; - } - return param_5; -} - - - -float addpoint5tofloat(float param_1) - -{ - return (float)(int)(param_1 + 0.50000000); -} - - - -void proc_7F093CB0(int param_1,float param_2) - -{ - float fVar1; - undefined4 *puVar2; - float in_a1_lo; - undefined uVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - puVar2 = get_ptr_currentdata(); - fVar5 = (float)(uint)*(byte *)(puVar2 + 2); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - puVar2 = get_ptr_currentdata(); - fVar7 = (float)(uint)*(byte *)((int)puVar2 + 9); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - puVar2 = get_ptr_currentdata(); - fVar6 = (float)(uint)*(byte *)((int)puVar2 + 10); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - puVar2 = get_ptr_currentdata(); - fVar4 = 1.00000000 - in_a1_lo; - fVar5 = (float)puVar2[5] * (1.00000000 - fVar5 / 255.00000000) * fVar4 + fVar5; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar3 = (undefined)(int)fVar1; - if (true) { - if ((int)fVar1 < 0) goto LAB_7f093de0; - } - else { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) { -LAB_7f093de0: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar5; - } - } - *(undefined *)(param_1 + 0x14) = uVar3; - puVar2 = get_ptr_currentdata(); - fVar7 = (float)puVar2[6] * (1.00000000 - fVar7 / 255.00000000) * fVar4 + fVar7; - if (false) { - fVar5 = ROUND(fVar7); - } - else { - fVar5 = FLOOR(fVar7); - } - uVar3 = (undefined)(int)fVar5; - if (true) { - if ((int)fVar5 < 0) goto LAB_7f093ea8; - } - else { - if (false) { - fVar5 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) { -LAB_7f093ea8: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar5; - } - } - *(undefined *)(param_1 + 0x15) = uVar3; - puVar2 = get_ptr_currentdata(); - fVar6 = (float)puVar2[7] * (1.00000000 - fVar6 / 255.00000000) * fVar4 + fVar6; - if (false) { - fVar5 = ROUND(fVar6); - } - else { - fVar5 = FLOOR(fVar6); - } - if (true) { - uVar3 = (undefined)(int)fVar5; - if (-1 < (int)fVar5) goto LAB_7f093f88; - } - else { - if (false) { - fVar5 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar6 - 2147483648.00000000); - } - if (true) { - uVar3 = (undefined)(int)fVar5; - goto LAB_7f093f88; - } - } - uVar3 = 0xff; -LAB_7f093f88: - *(undefined *)(param_1 + 0x16) = uVar3; - *(undefined *)(param_1 + 0x17) = 0xff; - return; -} - - - -void proc_7F093FA4(int param_1,float param_2) - -{ - float fVar1; - undefined4 *puVar2; - float in_a1_lo; - undefined uVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - puVar2 = get_ptr_currentdata(); - fVar5 = (float)(uint)*(byte *)(puVar2 + 2); - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - puVar2 = get_ptr_currentdata(); - fVar7 = (float)(uint)*(byte *)((int)puVar2 + 9); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - puVar2 = get_ptr_currentdata(); - fVar6 = (float)(uint)*(byte *)((int)puVar2 + 10); - if (false) { - fVar6 = fVar6 + 4294967296.00000000; - } - puVar2 = get_ptr_currentdata(); - fVar4 = 1.00000000 - in_a1_lo; - fVar5 = (float)puVar2[0xb] * (1.00000000 - fVar5 / 255.00000000) * fVar4 + fVar5; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar3 = (undefined)(int)fVar1; - if (true) { - if ((int)fVar1 < 0) goto LAB_7f0940d4; - } - else { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) { -LAB_7f0940d4: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar5; - } - } - *(undefined *)(param_1 + 0x14) = uVar3; - puVar2 = get_ptr_currentdata(); - fVar7 = (float)puVar2[0xc] * (1.00000000 - fVar7 / 255.00000000) * fVar4 + fVar7; - if (false) { - fVar5 = ROUND(fVar7); - } - else { - fVar5 = FLOOR(fVar7); - } - uVar3 = (undefined)(int)fVar5; - if (true) { - if ((int)fVar5 < 0) goto LAB_7f09419c; - } - else { - if (false) { - fVar5 = ROUND(fVar7 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar7 - 2147483648.00000000); - } - if (false) { -LAB_7f09419c: - uVar3 = 0xff; - } - else { - uVar3 = (undefined)(int)fVar5; - } - } - *(undefined *)(param_1 + 0x15) = uVar3; - puVar2 = get_ptr_currentdata(); - fVar6 = (float)puVar2[0xd] * (1.00000000 - fVar6 / 255.00000000) * fVar4 + fVar6; - if (false) { - fVar5 = ROUND(fVar6); - } - else { - fVar5 = FLOOR(fVar6); - } - if (true) { - uVar3 = (undefined)(int)fVar5; - if (-1 < (int)fVar5) goto LAB_7f09427c; - } - else { - if (false) { - fVar5 = ROUND(fVar6 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar6 - 2147483648.00000000); - } - if (true) { - uVar3 = (undefined)(int)fVar5; - goto LAB_7f09427c; - } - } - uVar3 = 0xff; -LAB_7f09427c: - *(undefined *)(param_1 + 0x16) = uVar3; - *(undefined *)(param_1 + 0x17) = 0xff; - return; -} - - - -uint proc_7F094298(float param_1) - -{ - float fVar1; - float fVar2; - - fVar1 = flt_80057538; - if (param_1 <= flt_80057538) { - fVar1 = param_1; - } - fVar2 = flt_8005753C; - if (flt_8005753C <= fVar1) { - fVar2 = fVar1; - } - if (fVar2 < 0.00000000) { - fVar2 = fVar2 * -65536.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - if (false) { - if (false) { - fVar1 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar1 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - return -((int)fVar1 | 0x80000000U); - } - } - else { - if (-1 < (int)fVar1) { - return (uint)-(int)fVar1; - } - } - return 1; - } - fVar2 = fVar2 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar2); - } - else { - fVar1 = FLOOR(fVar2); - } - if (false) { - if (false) { - fVar1 = ROUND(fVar2 - 2147483648.00000000); - } - else { - fVar1 = FLOOR(fVar2 - 2147483648.00000000); - } - if (true) { - return (int)fVar1 | 0x80000000; - } - } - else { - if (-1 < (int)fVar1) { - return (int)fVar1; - } - } - return 0xffffffff; -} - - - -void store_stagenum_to_copyof_stagenum(STAGENUM stagenum) - -{ - copyof_stagenum = stagenum; - return; -} - - - -void proc_7F094438(void) - -{ - D_8003FD94[0] = D_8003FD94[0] + (float)clock_timer; - if (4096.00000000 < D_8003FD94[0]) { - D_8003FD94[0] = D_8003FD94[0] - 4096.00000000; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0959fc) overlaps instruction at (ram,0x7f0959f8) -// -// WARNING: Unknown calling convention yet parameter storage is locked - -uint * proc_7F094488(void) - -{ - undefined4 *puVar2; - undefined4 *DL; - s32 sVar3; - uint *puVar4; - short sVar8; - short sVar9; - short sVar10; - short sVar11; - undefined8 uVar1; - float *pfVar5; - float *pfVar6; - undefined4 *puVar7; - int iVar12; - undefined4 *in_a0_lo; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - int iVar13; - undefined *puVar14; - uint uVar15; - uint uVar16; - f32 fVar17; - f32 fVar18; - f32 fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float extraout_f12_07; - float extraout_f12_08; - float extraout_f12_09; - float extraout_f12_10; - float extraout_f12_11; - float extraout_f12_12; - float extraout_f12_13; - float extraout_f12_14; - float extraout_f12_15; - float extraout_f12_16; - float extraout_f12_17; - float extraout_f12_18; - float extraout_f12_19; - float extraout_f12_20; - float extraout_f12_21; - float extraout_f12_22; - float extraout_f12_23; - float extraout_f12_24; - float extraout_f12_25; - float extraout_f12_26; - float extraout_f12_27; - float extraout_f12_28; - float extraout_f12_29; - float extraout_f12_30; - float extraout_f12_31; - float extraout_f12_32; - float extraout_f12_33; - float extraout_f12_34; - float extraout_f12_35; - float extraout_f12_36; - float extraout_f12_37; - float mf_4__4_; - float extraout_f12_38; - float extraout_f12_39; - float extraout_f12_40; - float fVar24; - float extraout_f12_41; - float extraout_f12_42; - float extraout_f12_43; - float extraout_f12_44; - float extraout_f12_45; - float extraout_f12_46; - float extraout_f12_47; - float extraout_f12_48; - float extraout_f12_49; - float extraout_f12_50; - float extraout_f12_51; - float extraout_f12_52; - float extraout_f12_53; - float extraout_f12_54; - float extraout_f12_55; - float extraout_f12_56; - float extraout_f12_57; - float extraout_f12_58; - float extraout_f12_59; - float extraout_f12_60; - float extraout_f12_61; - float extraout_f12_62; - float extraout_f12_63; - float extraout_f12_64; - float extraout_f12_65; - float extraout_f12_66; - float extraout_f12_67; - float extraout_f12_68; - float extraout_f12_69; - float extraout_f12_70; - float extraout_f12_71; - float extraout_f12_72; - float extraout_f12_73; - float extraout_f12_74; - float extraout_f12_75; - float extraout_f12_76; - float extraout_f12_77; - float extraout_f12_78; - float extraout_f12_79; - float extraout_f12_80; - float extraout_f12_81; - float extraout_f12_82; - float extraout_f12_83; - float mf_4__4__00; - float extraout_f12_84; - float extraout_f12_85; - float extraout_f12_86; - float extraout_f12_87; - float extraout_f12_88; - float extraout_f12_89; - float extraout_f12_90; - float x; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float fVar25; - float fVar26; - float x_00; - float extraout_f14_02; - float fVar27; - float extraout_f14_03; - float fVar28; - float fVar29; - uint *puStackX0; - float *pfStack1624; - int iStack1576; - undefined auStack1572 [40]; - float fStack1532; - float fStack1528; - undefined auStack1516 [40]; - float fStack1476; - float fStack1472; - undefined auStack1460 [40]; - float fStack1420; - float fStack1416; - undefined auStack1404 [40]; - float fStack1364; - float fStack1360; - undefined auStack1348 [56]; - float afStack1292 [16]; - float afStack1228 [17]; - undefined4 *puStack1160; - uint uStack1088; - undefined auStack1084 [40]; - float afStack1044 [4]; - undefined auStack1028 [44]; - float fStack984; - undefined auStack972 [44]; - float fStack928; - undefined auStack916 [44]; - float fStack872; - undefined auStack860 [56]; - float afStack804 [16]; - float afStack740 [25]; - int iStack640; - float fStack628; - float fStack624; - float fStack620; - float fStack616; - float fStack612; - float fStack604; - float fStack600; - float fStack596; - float fStack592; - float fStack588; - float fStack580; - float fStack576; - float fStack572; - float fStack568; - float fStack564; - float fStack556; - float fStack552; - float fStack548; - float fStack544; - float fStack540; - float fStack532; - float fStack528; - float fStack524; - float fStack520; - float fStack516; - float fStack508; - float fStack504; - float fStack500; - float fStack496; - float fStack492; - float fStack484; - float fStack480; - float fStack476; - float fStack472; - float fStack468; - float fStack460; - float fStack456; - float fStack452; - float fStack448; - float fStack444; - float fStack436; - float fStack432; - float fStack428; - float fStack424; - float fStack420; - float fStack412; - float fStack408; - float fStack404; - float fStack400; - float fStack396; - uint uStack388; - uint uStack384; - uint uStack380; - uint uStack376; - float fStack360; - float fStack356; - float fStack352; - float fStack348; - float fStack344; - float fStack340; - float fStack336; - float fStack332; - float fStack328; - float fStack324; - float fStack320; - float fStack316; - float fStack312; - float fStack308; - float fStack304; - float fStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - float fStack264; - float fStack260; - float fStack256; - float fStack252; - float fStack248; - float fStack244; - float fStack240; - float fStack236; - float fStack232; - float fStack228; - float fStack224; - float fStack220; - float fStack216; - float fStack212; - float fStack208; - float fStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - float fStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float fStack144; - float fStack140; - float fStack136; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float afStack96 [3]; - float afStack84 [3]; - float afStack72 [3]; - float afStack60 [3]; - float fStack48; - float fStack44; - float fStack36; - float fStack32; - float fStack24; - float fStack20; - float fStack12; - float fStack8; - - puStackX0 = in_a0_lo; - fVar17 = proc_7F0B483C(); - iStack640 = 0; - fVar29 = (float)fVar17 / 30.00000000; - puVar2 = get_ptr_currentdata(); - DL = get_ptr_currentdata(); - if (*(char *)((int)DL + 0xb) == '\0') { - sVar3 = get_num_players(); - if (sVar3 == 1) { - DL = puStackX0 + 2; - puStackX0[1] = 0x300000; - *puStackX0 = 0xba001402; - puStackX0 = DL; - puVar4 = set_setfillcolor(DL,(uint)*(byte *)(puVar2 + 2), - (uint)*(byte *)((int)puVar2 + 9), - (uint)*(byte *)((int)puVar2 + 10)); - puStackX0 = puVar4 + 2; - sVar8 = get_video2_settings_width(); - sVar9 = get_video2_settings_ulx(); - sVar10 = get_video2_settings_uly(); - sVar11 = get_video2_settings_height(); - *puVar4 = (((int)sVar11 + (int)sVar10) - 1U & 0x3ff) << 2 | 0xf6000000 | - (((int)sVar9 + (int)sVar8) - 1U & 0x3ff) << 0xe; - sVar8 = get_video2_settings_ulx(); - sVar9 = get_video2_settings_uly(); - puVar4[1] = ((int)sVar9 & 0x3ffU) << 2 | ((int)sVar8 & 0x3ffU) << 0xe; - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - return puStackX0 + 2; - } - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0[3] = 0x300000; - puStackX0[2] = 0xba001402; - puStackX0[5] = 0; - puStackX0[4] = 0xb900031d; - puStackX0[6] = (((int)pPlayer->viewleft + (int)pPlayer->viewx) - 1U & 0x3ff) << 0xe | - 0xf6000000 | - (((int)pPlayer->viewtop + (int)pPlayer->viewy) - 1U & 0x3ff) << 2; - puStackX0[7] = ((int)pPlayer->viewleft & 0x3ffU) << 0xe | - ((int)pPlayer->viewtop & 0x3ffU) << 2; - puStackX0[9] = 0; - puStackX0[8] = 0xe7000000; - return puStackX0 + 10; - } - puStackX0 = set_setfillcolor(puStackX0,(uint)*(byte *)(puVar2 + 2), - (uint)*(byte *)((int)puVar2 + 9),(uint)*(byte *)((int)puVar2 + 10)) - ; - proc_7F093880(); - getPlayer_c_screenwidth(); - fVar27 = flt_80057540; - proc_7F093880(); - getPlayer_c_screenheight(); - proc_7F093880(); - getPlayer_c_screenwidth(); - getPlayer_c_screenheight(); - proc_7F093880(); - uVar1 = proc_7F0938FC(&fStack12,&fStack108,&fStack292); - uStack376 = (uint)uVar1; - uVar1 = proc_7F0938FC(&fStack24,&fStack120,&fStack296); - uStack380 = (uint)uVar1; - uVar1 = proc_7F0938FC(&fStack36,&fStack132,&fStack300); - uStack384 = (uint)uVar1; - uVar1 = proc_7F0938FC(&fStack48,&fStack144,&fStack304); - uStack388 = (uint)uVar1; - proc_7F093A78(&fStack12,&fStack204,&fStack324); - proc_7F093A78(&fStack24,&fStack216,&fStack328); - proc_7F093A78(&fStack36,&fStack228,&fStack332); - proc_7F093A78(&fStack48,&fStack240,&fStack336); - if (uStack376 == uStack384) { - fStack356 = 0.00000000; - } - else { - fVar17 = getPlayer_c_screentop(); - fVar18 = getPlayer_c_screenheight(); - fStack356 = (fStack8 / (fStack8 - fStack32)) * (float)fVar18 + (float)fVar17; - proc_7F093880(); - proc_7F093BFC(&fStack12,&fStack36,afStack84); - proc_7F0938FC(afStack84,&fStack180,&fStack316); - proc_7F093A78(afStack84,&fStack276,&fStack348); - } - if (uStack380 == uStack388) { - fStack360 = 0.00000000; - } - else { - fVar17 = getPlayer_c_screentop(); - fVar18 = getPlayer_c_screenheight(); - fStack360 = (fStack20 / (fStack20 - fStack44)) * (float)fVar18 + (float)fVar17; - getPlayer_c_screenwidth(); - proc_7F093880(); - proc_7F093BFC(&fStack24,&fStack48,afStack96); - proc_7F0938FC(afStack96,&fStack192,&fStack320); - proc_7F093A78(afStack96,&fStack288,&fStack352); - } - if (uStack376 != uStack380) { - getPlayer_c_screenleft(); - getPlayer_c_screenwidth(); - proc_7F093880(); - proc_7F093BFC(&fStack12,&fStack24,afStack60); - proc_7F0938FC(afStack60,&fStack156,&fStack308); - proc_7F093A78(afStack60,&fStack252,&fStack340); - } - if (uStack384 != uStack388) { - getPlayer_c_screenleft(); - getPlayer_c_screenwidth(); - getPlayer_c_screenheight(); - proc_7F093880(); - proc_7F093BFC(&fStack36,&fStack48,afStack72); - proc_7F0938FC(afStack72,&fStack168,&fStack312); - proc_7F093A78(afStack72,&fStack264,&fStack344); - } - uVar16 = uStack376 << 3 | uStack380 << 2 | uStack384 << 1 | uStack388; - if (false) { - return puStackX0; - } - switch(uVar16) { - case 0: - fStack628 = fStack204 * fVar29; - fStack624 = fStack200 * fVar29; - fStack620 = fStack196 * fVar29; - fStack604 = fStack216 * fVar29; - fStack600 = fStack212 * fVar29; - fStack596 = fStack208 * fVar29; - fStack580 = fStack228 * fVar29; - fStack576 = fStack224 * fVar29; - fStack572 = fStack220 * fVar29; - fStack556 = fStack240 * fVar29; - uVar15 = 4; - fStack552 = fStack236 * fVar29; - fStack588 = fStack208 + D_8003FD94[0]; - fStack548 = fStack232 * fVar29; - fStack612 = fStack196 + D_8003FD94[0]; - fStack564 = fStack220 + D_8003FD94[0]; - fStack540 = fStack232 + D_8003FD94[0]; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack228; - fStack544 = fStack240; - proc_7F093FA4((int)&fStack628,fStack196); - proc_7F093FA4((int)&fStack604,extraout_f12); - proc_7F093FA4((int)&fStack580,extraout_f12_00); - proc_7F093FA4((int)&fStack556,extraout_f12_01); - break; - case 1: - fStack628 = fStack228 * fVar29; - fStack624 = fStack224 * fVar29; - fStack620 = fStack220 * fVar29; - fStack604 = fStack204 * fVar29; - fStack600 = fStack200 * fVar29; - fStack596 = fStack196 * fVar29; - fStack580 = fStack216 * fVar29; - fStack576 = fStack212 * fVar29; - fStack572 = fStack208 * fVar29; - fStack556 = fStack288 * fVar29; - uVar15 = 5; - fStack552 = fStack284 * fVar29; - fStack548 = fStack280 * fVar29; - fStack532 = fStack264 * fVar29; - fStack528 = fStack260 * fVar29; - fStack612 = fStack220 + D_8003FD94[0]; - fStack616 = fStack228; - fStack524 = fStack256 * fVar29; - fStack564 = fStack208 + D_8003FD94[0]; - fStack588 = fStack196 + D_8003FD94[0]; - fStack540 = fStack280 + D_8003FD94[0]; - fStack592 = fStack204; - fStack516 = fStack256 + D_8003FD94[0]; - fStack568 = fStack216; - fStack544 = fStack288; - fStack520 = fStack264; - proc_7F093FA4((int)&fStack628,fStack196); - proc_7F093FA4((int)&fStack604,extraout_f12_22); - proc_7F093FA4((int)&fStack580,extraout_f12_23); - proc_7F093FA4((int)&fStack556,extraout_f12_24); - proc_7F093FA4((int)&fStack532,extraout_f12_25); - break; - case 2: - fStack628 = fStack204 * fVar29; - fStack620 = fStack196 * fVar29; - fStack604 = fStack216 * fVar29; - fStack624 = fStack200 * fVar29; - fStack600 = fStack212 * fVar29; - fStack596 = fStack208 * fVar29; - fStack576 = fStack236 * fVar29; - fStack556 = fStack264 * fVar29; - uVar15 = 5; - fStack580 = fStack240 * fVar29; - fStack548 = fStack256 * fVar29; - fStack528 = fStack272 * fVar29; - fStack564 = fStack232 + D_8003FD94[0]; - fStack572 = fStack232 * fVar29; - fStack516 = fStack268 + D_8003FD94[0]; - fStack552 = fStack260 * fVar29; - fStack588 = fStack208 + D_8003FD94[0]; - fStack524 = fStack268 * fVar29; - fStack532 = fStack276 * fVar29; - fStack612 = fStack196 + D_8003FD94[0]; - fStack540 = fStack256 + D_8003FD94[0]; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack240; - fStack544 = fStack264; - fStack520 = fStack276; - proc_7F093FA4((int)&fStack628,fStack564); - proc_7F093FA4((int)&fStack604,extraout_f12_26); - proc_7F093FA4((int)&fStack580,extraout_f12_27); - proc_7F093FA4((int)&fStack556,extraout_f12_28); - proc_7F093FA4((int)&fStack532,extraout_f12_29); - break; - case 3: - fStack628 = fStack204 * fVar29; - fStack624 = fStack200 * fVar29; - fStack620 = fStack196 * fVar29; - fStack604 = fStack216 * fVar29; - fStack600 = fStack212 * fVar29; - fStack596 = fStack208 * fVar29; - fStack580 = fStack276 * fVar29; - fStack576 = fStack272 * fVar29; - fStack572 = fStack268 * fVar29; - fStack556 = fStack288 * fVar29; - uVar15 = 4; - fStack552 = fStack284 * fVar29; - fStack588 = fStack208 + D_8003FD94[0]; - fStack548 = fStack280 * fVar29; - fStack612 = fStack196 + D_8003FD94[0]; - fStack564 = fStack268 + D_8003FD94[0]; - fStack540 = fStack280 + D_8003FD94[0]; - fStack616 = fStack204; - fStack592 = fStack216; - fStack568 = fStack276; - fStack544 = fStack288; - proc_7F093FA4((int)&fStack628,fStack196); - proc_7F093FA4((int)&fStack604,extraout_f12_02); - proc_7F093FA4((int)&fStack580,extraout_f12_03); - proc_7F093FA4((int)&fStack556,extraout_f12_04); - break; - case 4: - fStack628 = fStack240 * fVar29; - fStack624 = fStack236 * fVar29; - fStack620 = fStack232 * fVar29; - fStack604 = fStack228 * fVar29; - fStack600 = fStack224 * fVar29; - fStack596 = fStack220 * fVar29; - fStack580 = fStack204 * fVar29; - fStack576 = fStack200 * fVar29; - fStack572 = fStack196 * fVar29; - fStack556 = fStack252 * fVar29; - uVar15 = 5; - fStack552 = fStack248 * fVar29; - fStack548 = fStack244 * fVar29; - fStack532 = fStack288 * fVar29; - fStack528 = fStack284 * fVar29; - fStack612 = fStack232 + D_8003FD94[0]; - fStack616 = fStack240; - fStack524 = fStack280 * fVar29; - fStack564 = fStack196 + D_8003FD94[0]; - fStack588 = fStack220 + D_8003FD94[0]; - fStack540 = fStack244 + D_8003FD94[0]; - fStack592 = fStack228; - fStack516 = fStack280 + D_8003FD94[0]; - fStack568 = fStack204; - fStack544 = fStack252; - fStack520 = fStack288; - proc_7F093FA4((int)&fStack628,fStack196); - proc_7F093FA4((int)&fStack604,extraout_f12_30); - proc_7F093FA4((int)&fStack580,extraout_f12_31); - proc_7F093FA4((int)&fStack556,extraout_f12_32); - proc_7F093FA4((int)&fStack532,extraout_f12_33); - break; - case 5: - fStack628 = fStack228 * fVar29; - fStack624 = fStack224 * fVar29; - fStack620 = fStack220 * fVar29; - fStack604 = fStack204 * fVar29; - fStack600 = fStack200 * fVar29; - fStack596 = fStack196 * fVar29; - fStack580 = fStack264 * fVar29; - fStack576 = fStack260 * fVar29; - fStack572 = fStack256 * fVar29; - fStack556 = fStack252 * fVar29; - uVar15 = 4; - fStack552 = fStack248 * fVar29; - fStack588 = fStack196 + D_8003FD94[0]; - fStack548 = fStack244 * fVar29; - fStack612 = fStack220 + D_8003FD94[0]; - fStack564 = fStack256 + D_8003FD94[0]; - fStack540 = fStack244 + D_8003FD94[0]; - fStack616 = fStack228; - fStack592 = fStack204; - fStack568 = fStack264; - fStack544 = fStack252; - proc_7F093FA4((int)&fStack628,fStack196); - proc_7F093FA4((int)&fStack604,extraout_f12_11); - proc_7F093FA4((int)&fStack580,extraout_f12_12); - proc_7F093FA4((int)&fStack556,extraout_f12_13); - break; - default: - return puStackX0; - case 7: - fStack628 = fStack204 * fVar29; - fStack624 = fStack200 * fVar29; - fStack620 = fStack196 * fVar29; - fStack604 = fStack252 * fVar29; - fStack600 = fStack248 * fVar29; - fStack596 = fStack244 * fVar29; - fStack580 = fStack276 * fVar29; - uVar15 = 3; - fStack576 = fStack272 * fVar29; - fStack588 = fStack244 + D_8003FD94[0]; - fStack572 = fStack268 * fVar29; - fStack612 = fStack196 + D_8003FD94[0]; - fStack564 = fStack268 + D_8003FD94[0]; - fStack616 = fStack204; - fStack592 = fStack252; - fStack568 = fStack276; - proc_7F093FA4((int)&fStack628,fStack196); - proc_7F093FA4((int)&fStack604,extraout_f12_20); - proc_7F093FA4((int)&fStack580,extraout_f12_21); - break; - case 8: - fStack628 = fStack216 * fVar29; - fStack624 = fStack212 * fVar29; - fStack620 = fStack208 * fVar29; - fStack604 = fStack240 * fVar29; - fStack600 = fStack236 * fVar29; - fStack596 = fStack232 * fVar29; - fStack580 = fStack228 * fVar29; - fStack576 = fStack224 * fVar29; - fStack572 = fStack220 * fVar29; - fStack556 = fStack276 * fVar29; - uVar15 = 5; - fStack552 = fStack272 * fVar29; - fStack548 = fStack268 * fVar29; - fStack532 = fStack252 * fVar29; - fStack528 = fStack248 * fVar29; - fStack612 = fStack208 + D_8003FD94[0]; - fStack616 = fStack216; - fStack524 = fStack244 * fVar29; - fStack564 = fStack220 + D_8003FD94[0]; - fStack588 = fStack232 + D_8003FD94[0]; - fStack540 = fStack268 + D_8003FD94[0]; - fStack592 = fStack240; - fStack516 = fStack244 + D_8003FD94[0]; - fStack568 = fStack228; - fStack544 = fStack276; - fStack520 = fStack252; - proc_7F093FA4((int)&fStack628,fStack268); - proc_7F093FA4((int)&fStack604,extraout_f12_34); - proc_7F093FA4((int)&fStack580,extraout_f12_35); - proc_7F093FA4((int)&fStack556,extraout_f12_36); - proc_7F093FA4((int)&fStack532,extraout_f12_37); - break; - case 10: - fStack628 = fStack216 * fVar29; - fStack624 = fStack212 * fVar29; - fStack620 = fStack208 * fVar29; - fStack604 = fStack240 * fVar29; - fStack600 = fStack236 * fVar29; - fStack596 = fStack232 * fVar29; - fStack580 = fStack252 * fVar29; - fStack576 = fStack248 * fVar29; - fStack572 = fStack244 * fVar29; - fStack556 = fStack264 * fVar29; - uVar15 = 4; - fStack552 = fStack260 * fVar29; - fStack588 = fStack232 + D_8003FD94[0]; - fStack548 = fStack256 * fVar29; - fStack612 = fStack208 + D_8003FD94[0]; - fStack564 = fStack244 + D_8003FD94[0]; - fStack540 = fStack256 + D_8003FD94[0]; - fStack616 = fStack216; - fStack592 = fStack240; - fStack568 = fStack252; - fStack544 = fStack264; - proc_7F093FA4((int)&fStack628,fStack244); - proc_7F093FA4((int)&fStack604,extraout_f12_08); - proc_7F093FA4((int)&fStack580,extraout_f12_09); - proc_7F093FA4((int)&fStack556,extraout_f12_10); - break; - case 0xb: - fStack628 = fStack216 * fVar29; - fStack624 = fStack212 * fVar29; - fStack620 = fStack208 * fVar29; - fStack604 = fStack288 * fVar29; - fStack600 = fStack284 * fVar29; - fStack596 = fStack280 * fVar29; - fStack580 = fStack252 * fVar29; - uVar15 = 3; - fStack576 = fStack248 * fVar29; - fStack588 = fStack280 + D_8003FD94[0]; - fStack572 = fStack244 * fVar29; - fStack612 = fStack208 + D_8003FD94[0]; - fStack564 = fStack244 + D_8003FD94[0]; - fStack616 = fStack216; - fStack592 = fStack288; - fStack568 = fStack252; - proc_7F093FA4((int)&fStack628,fStack244); - proc_7F093FA4((int)&fStack604,extraout_f12_18); - proc_7F093FA4((int)&fStack580,extraout_f12_19); - break; - case 0xc: - fStack628 = fStack240 * fVar29; - fStack624 = fStack236 * fVar29; - fStack620 = fStack232 * fVar29; - fStack604 = fStack228 * fVar29; - fStack600 = fStack224 * fVar29; - fStack596 = fStack220 * fVar29; - fStack580 = fStack288 * fVar29; - fStack576 = fStack284 * fVar29; - fStack572 = fStack280 * fVar29; - fStack556 = fStack276 * fVar29; - fStack552 = fStack272 * fVar29; - fStack588 = fStack220 + D_8003FD94[0]; - fStack548 = fStack268 * fVar29; - fStack612 = fStack232 + D_8003FD94[0]; - uVar15 = 4; - fStack564 = fStack280 + D_8003FD94[0]; - iStack640 = 1; - fStack540 = fStack268 + D_8003FD94[0]; - fStack616 = fStack240; - fStack592 = fStack228; - fStack568 = fStack288; - fStack544 = fStack276; - proc_7F093FA4((int)&fStack628,fStack268); - proc_7F093FA4((int)&fStack604,extraout_f12_05); - proc_7F093FA4((int)&fStack580,extraout_f12_06); - proc_7F093FA4((int)&fStack556,extraout_f12_07); - break; - case 0xd: - fStack628 = fStack228 * fVar29; - fStack624 = fStack224 * fVar29; - fStack620 = fStack220 * fVar29; - fStack604 = fStack276 * fVar29; - fStack600 = fStack272 * fVar29; - fStack596 = fStack268 * fVar29; - fStack580 = fStack264 * fVar29; - uVar15 = 3; - fStack576 = fStack260 * fVar29; - fStack588 = fStack268 + D_8003FD94[0]; - fStack572 = fStack256 * fVar29; - fStack612 = fStack220 + D_8003FD94[0]; - fStack564 = fStack256 + D_8003FD94[0]; - fStack616 = fStack228; - fStack592 = fStack276; - fStack568 = fStack264; - proc_7F093FA4((int)&fStack628,fStack268); - proc_7F093FA4((int)&fStack604,extraout_f12_16); - proc_7F093FA4((int)&fStack580,extraout_f12_17); - break; - case 0xe: - fStack628 = fStack240 * fVar29; - fStack624 = fStack236 * fVar29; - fStack620 = fStack232 * fVar29; - fStack604 = fStack264 * fVar29; - fStack600 = fStack260 * fVar29; - fStack596 = fStack256 * fVar29; - fStack580 = fStack288 * fVar29; - uVar15 = 3; - fStack576 = fStack284 * fVar29; - fStack588 = fStack256 + D_8003FD94[0]; - fStack572 = fStack280 * fVar29; - fStack612 = fStack232 + D_8003FD94[0]; - fStack564 = fStack280 + D_8003FD94[0]; - fStack616 = fStack240; - fStack592 = fStack264; - fStack568 = fStack288; - proc_7F093FA4((int)&fStack628,fStack280); - proc_7F093FA4((int)&fStack604,extraout_f12_14); - proc_7F093FA4((int)&fStack580,extraout_f12_15); - break; - case 0xf: - uVar15 = 0; - } - if (uVar15 != 0) { - pfVar5 = (float *)get_BONDdata_field_10DC(); - pfVar6 = (float *)get_BONDdata_field_10CC(); - proc_7F0580C8(pfVar5,pfVar6,(int)afStack740); - guScaleF(mf_4__4_,x,(float)&DAT_80079e98,1.00000000 / fVar29); - proc_7F0580C8(afStack740,(float *)&DAT_80079e98,(int)afStack804); - uStack1088 = 0; - if (uVar15 != 0) { - pfStack1624 = &fStack628; - puVar14 = auStack1084; - fVar20 = extraout_f12_38; - fVar24 = extraout_f14; - do { - proc_7F097388(pfStack1624,afStack804,0x82,fVar20,fVar24,(float *)flt_80057584); - fVar17 = getPlayer_c_screenleft(); - fVar18 = getPlayer_c_screenleft(); - fVar19 = getPlayer_c_screenwidth(); - fVar20 = proc_7F093C48(*(float *)(puVar14 + 0x28),(float)fVar17 * 4.00000000, - extraout_a0,extraout_a1, - ((float)fVar19 + (float)fVar18) * 4.00000000 - 1.00000000); - *(float *)(puVar14 + 0x28) = fVar20; - fVar17 = getPlayer_c_screentop(); - fVar18 = getPlayer_c_screentop(); - fVar19 = getPlayer_c_screenheight(); - fVar20 = proc_7F093C48(*(float *)(puVar14 + 0x2c),(float)fVar17 * 4.00000000, - extraout_a0_00,extraout_a1_00, - ((float)fVar19 + (float)fVar18) * 4.00000000 - 1.00000000); - *(float *)(puVar14 + 0x2c) = fVar20; - fVar17 = getPlayer_c_screentop(); - fVar20 = extraout_f12_39; - fVar24 = extraout_f14_00; - if ((float)fVar17 * 4.00000000 + 4.00000000 < *(float *)(puVar14 + 0x2c)) { - fVar17 = getPlayer_c_screentop(); - fVar18 = getPlayer_c_screenheight(); - fVar20 = extraout_f12_40; - fVar24 = extraout_f14_01; - if (*(float *)(puVar14 + 0x2c) < - ((float)fVar18 + (float)fVar17) * 4.00000000 - 4.00000000) { - *(float *)(puVar14 + 0x2c) = *(float *)(puVar14 + 0x2c) - 4.00000000; - } - } - puVar14 = puVar14 + 0x38; - pfStack1624 = pfStack1624 + 6; - uStack1088 += 1; - } while (uStack1088 != uVar15); - } - puVar2 = get_ptr_currentdata(); - if (*(char *)(puVar2 + 8) == '\0') { - fVar28 = 0.00000000; - iVar12 = 0; - fVar24 = 0.00000000; - fVar20 = flt_80057588; - fVar26 = flt_8005758C; - if (uVar15 != 0) { - if ((uVar15 & 1) == 0) { - iVar13 = 0; - } - else { - iVar12 = 1; - fVar20 = afStack1044[0]; - if (flt_80057588 <= afStack1044[0]) { - fVar20 = flt_80057588; - } - if (afStack1044[0] <= 0.00000000) { - afStack1044[0] = fVar24; - } - fVar24 = afStack1044[0]; - fVar26 = afStack1044[1]; - if (flt_8005758C <= afStack1044[1]) { - fVar26 = flt_8005758C; - } - fVar21 = afStack1044[1]; - if (afStack1044[1] <= 0.00000000) { - fVar21 = fVar28; - } - fVar28 = fVar21; - iVar13 = 8; - if (uVar15 == 1) goto LAB_7f095adc; - } - fVar21 = afStack1044[(iVar13 - iVar12) * 2]; - puVar14 = auStack1084 + (iVar13 - iVar12) * 8; - while( true ) { - fVar23 = fVar21; - if (fVar20 <= fVar21) { - fVar23 = fVar20; - } - if (fVar24 < fVar21) { - fVar22 = *(float *)(puVar14 + 0x2c); - } - else { - fVar22 = *(float *)(puVar14 + 0x2c); - fVar21 = fVar24; - } - fVar25 = fVar22; - if (fVar26 <= fVar22) { - fVar25 = fVar26; - } - if (fVar28 < fVar22) { - fVar24 = *(float *)(puVar14 + 0x60); - } - else { - fVar24 = *(float *)(puVar14 + 0x60); - fVar22 = fVar28; - } - fVar20 = fVar24; - if (fVar23 <= fVar24) { - fVar20 = fVar23; - } - if (fVar21 < fVar24) { - fVar28 = *(float *)(puVar14 + 100); - } - else { - fVar28 = *(float *)(puVar14 + 100); - fVar24 = fVar21; - } - fVar26 = fVar28; - if (fVar25 <= fVar28) { - fVar26 = fVar25; - } - if (fVar28 <= fVar22) { - fVar28 = fVar22; - } - if (puVar14 + 0x70 == auStack1084 + uVar15 * 0x38) break; - fVar21 = *(float *)(puVar14 + 0x98); - puVar14 = puVar14 + 0x70; - } - } -LAB_7f095adc: - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0[3] = 0x300000; - puStackX0[2] = 0xba001402; - puStackX0[4] = 0xb900031d; - puStackX0[5] = 0; - puStackX0[6] = 0xba001301; - puStackX0[7] = 0; - puStackX0[8] = ((int)(fVar24 * 0.25000000) & 0x3ffU) << 0xe | 0xf6000000 | - ((int)(fVar28 * 0.25000000) & 0x3ffU) << 2; - puStackX0[9] = ((int)(fVar20 * 0.25000000) & 0x3ffU) << 0xe | - ((int)(fVar26 * 0.25000000) & 0x3ffU) << 2; - puStackX0[0xb] = 0; - puStackX0[10] = 0xe7000000; - puStackX0[0xd] = 0x80000; - puStackX0[0xc] = 0xba001301; - puStackX0 = puStackX0 + 0xe; - } - else { - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0 = puStackX0 + 2; - puVar2 = get_ptr_currentdata(); - append_image_to_DL((uint **)register0x000000ec,skywaterimages + *(short *)(puVar2 + 10), - 1,0,2); - puVar2 = proc_7F09343C(puStackX0,0); - puStackX0 = puVar2 + 2; - puVar2[1] = 0xf0a4000; - *puVar2 = 0xb900031d; - if (uVar15 == 4) { - puStackX0 = proc_7F097818(puStackX0,(int)auStack1084,(int)auStack1028, - (int)auStack916,extraout_f12_41,0x43020000); - if (iStack640 != 0) { - fStack984 = fStack984 + 1.00000000; - afStack1044[1] = afStack1044[1] + 1.00000000; - fStack928 = fStack928 + 1.00000000; - fStack872 = fStack872 + 1.00000000; - } - puStackX0 = proc_7F097818(puStackX0,(int)auStack916,(int)auStack972,(int)auStack1084 - ,extraout_f12_42,0x43020000); - } - else { - if (uVar15 == 5) { - puStackX0 = proc_7F097818(puStackX0,(int)auStack1084,(int)auStack1028, - (int)auStack972,extraout_f12_41,0x43020000); - puStackX0 = proc_7F097818(puStackX0,(int)auStack1084,(int)auStack972, - (int)auStack916,extraout_f12_43,0x43020000); - puStackX0 = proc_7F097818(puStackX0,(int)auStack1084,(int)auStack916, - (int)auStack860,extraout_f12_44,0x43020000); - } - else { - if (uVar15 == 3) { - puStackX0 = proc_7F097818(puStackX0,(int)auStack1084,(int)auStack1028, - (int)auStack972,extraout_f12_41,0x43020000); - } - } - } - } - } - if (false) { - return puStackX0; - } - switch(uVar16) { - case 0: - return puStackX0; - case 1: - fStack508 = fStack144 * fVar29; - fStack504 = fStack140 * fVar29; - fStack500 = fStack136 * fVar29; - fStack484 = fStack168 * fVar29; - fStack480 = fStack164 * fVar29; - fStack476 = fStack160 * fVar29; - fStack460 = fStack192 * fVar29; - fStack456 = fStack188 * fVar29; - iVar12 = 3; - fStack452 = fStack184 * fVar29; - fStack496 = fStack144 * fVar27; - fStack472 = fStack168 * fVar27; - fStack492 = fStack136 * fVar27 + D_8003FD94[0]; - fStack448 = fStack192 * fVar27; - fStack468 = fStack160 * fVar27 + D_8003FD94[0]; - fStack444 = fStack184 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack184); - proc_7F093CB0((int)&fStack484,extraout_f12_60); - proc_7F093CB0((int)&fStack460,extraout_f12_61); - break; - case 2: - fStack508 = fStack132 * fVar29; - fStack504 = fStack128 * fVar29; - fStack500 = fStack124 * fVar29; - fStack484 = fStack180 * fVar29; - fStack480 = fStack176 * fVar29; - fStack476 = fStack172 * fVar29; - fStack460 = fStack168 * fVar29; - fStack456 = fStack164 * fVar29; - iVar12 = 3; - fStack452 = fStack160 * fVar29; - fStack496 = fStack132 * fVar27; - fStack472 = fStack180 * fVar27; - fStack492 = fStack124 * fVar27 + D_8003FD94[0]; - fStack448 = fStack168 * fVar27; - fStack468 = fStack172 * fVar27 + D_8003FD94[0]; - fStack444 = fStack160 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack180); - proc_7F093CB0((int)&fStack484,extraout_f12_62); - proc_7F093CB0((int)&fStack460,extraout_f12_63); - break; - case 3: - fStack508 = fStack144 * fVar29; - fStack504 = fStack140 * fVar29; - fStack500 = fStack136 * fVar29; - fStack484 = fStack132 * fVar29; - fStack480 = fStack128 * fVar29; - fStack476 = fStack124 * fVar29; - fStack460 = fStack192 * fVar29; - fStack456 = fStack188 * fVar29; - fStack452 = fStack184 * fVar29; - iVar12 = 4; - fStack436 = fStack180 * fVar29; - fStack432 = fStack176 * fVar29; - fStack428 = fStack172 * fVar29; - fStack496 = fStack144 * fVar27; - fStack472 = fStack132 * fVar27; - fStack492 = fStack136 * fVar27 + D_8003FD94[0]; - fStack448 = fStack192 * fVar27; - fStack468 = fStack124 * fVar27 + D_8003FD94[0]; - fStack424 = fStack180 * fVar27; - fStack444 = fStack184 * fVar27 + D_8003FD94[0]; - fStack420 = fStack172 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack180); - proc_7F093CB0((int)&fStack484,extraout_f12_51); - proc_7F093CB0((int)&fStack460,extraout_f12_52); - proc_7F093CB0((int)&fStack436,extraout_f12_53); - break; - case 4: - fStack508 = fStack120 * fVar29; - fStack504 = fStack116 * fVar29; - fStack500 = fStack112 * fVar29; - fStack484 = fStack192 * fVar29; - fStack480 = fStack188 * fVar29; - fStack476 = fStack184 * fVar29; - fStack460 = fStack156 * fVar29; - fStack456 = fStack152 * fVar29; - iVar12 = 3; - fStack452 = fStack148 * fVar29; - fStack496 = fStack120 * fVar27; - fStack472 = fStack192 * fVar27; - fStack492 = fStack112 * fVar27 + D_8003FD94[0]; - fStack448 = fStack156 * fVar27; - fStack468 = fStack184 * fVar27 + D_8003FD94[0]; - fStack444 = fStack148 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack184); - proc_7F093CB0((int)&fStack484,extraout_f12_64); - proc_7F093CB0((int)&fStack460,extraout_f12_65); - break; - case 5: - fStack508 = fStack120 * fVar29; - fStack504 = fStack116 * fVar29; - fStack500 = fStack112 * fVar29; - fStack484 = fStack144 * fVar29; - fStack480 = fStack140 * fVar29; - fStack476 = fStack136 * fVar29; - fStack460 = fStack156 * fVar29; - fStack456 = fStack152 * fVar29; - fStack452 = fStack148 * fVar29; - iVar12 = 4; - fStack436 = fStack168 * fVar29; - fStack432 = fStack164 * fVar29; - fStack428 = fStack160 * fVar29; - fStack496 = fStack120 * fVar27; - fStack472 = fStack144 * fVar27; - fStack492 = fStack112 * fVar27 + D_8003FD94[0]; - fStack448 = fStack156 * fVar27; - fStack468 = fStack136 * fVar27 + D_8003FD94[0]; - fStack424 = fStack168 * fVar27; - fStack444 = fStack148 * fVar27 + D_8003FD94[0]; - fStack420 = fStack160 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack168); - proc_7F093CB0((int)&fStack484,extraout_f12_54); - proc_7F093CB0((int)&fStack460,extraout_f12_55); - proc_7F093CB0((int)&fStack436,extraout_f12_56); - break; - default: - goto LAB_7f097360; - case 7: - fStack508 = fStack120 * fVar29; - fStack504 = fStack116 * fVar29; - fStack500 = fStack112 * fVar29; - fStack484 = fStack144 * fVar29; - fStack480 = fStack140 * fVar29; - fStack476 = fStack136 * fVar29; - fStack460 = fStack132 * fVar29; - fStack456 = fStack128 * fVar29; - fStack452 = fStack124 * fVar29; - fStack436 = fStack180 * fVar29; - iVar12 = 5; - fStack432 = fStack176 * fVar29; - fStack428 = fStack172 * fVar29; - fStack412 = fStack156 * fVar29; - fStack408 = fStack152 * fVar29; - fStack404 = fStack148 * fVar29; - fStack496 = fStack120 * fVar27; - fStack472 = fStack144 * fVar27; - fStack492 = fStack112 * fVar27 + D_8003FD94[0]; - fStack448 = fStack132 * fVar27; - fStack468 = fStack136 * fVar27 + D_8003FD94[0]; - fStack424 = fStack180 * fVar27; - fStack444 = fStack124 * fVar27 + D_8003FD94[0]; - fStack400 = fStack156 * fVar27; - fStack420 = fStack172 * fVar27 + D_8003FD94[0]; - fStack396 = fStack148 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack180); - proc_7F093CB0((int)&fStack484,extraout_f12_80); - proc_7F093CB0((int)&fStack460,extraout_f12_81); - proc_7F093CB0((int)&fStack436,extraout_f12_82); - proc_7F093CB0((int)&fStack412,extraout_f12_83); - break; - case 8: - fStack508 = fStack108 * fVar29; - fStack504 = fStack104 * fVar29; - fStack500 = fStack100 * fVar29; - fStack484 = fStack156 * fVar29; - fStack480 = fStack152 * fVar29; - fStack476 = fStack148 * fVar29; - fStack460 = fStack180 * fVar29; - fStack456 = fStack176 * fVar29; - iVar12 = 3; - fStack452 = fStack172 * fVar29; - fStack496 = fStack108 * fVar27; - fStack472 = fStack156 * fVar27; - fStack492 = fStack100 * fVar27 + D_8003FD94[0]; - fStack448 = fStack180 * fVar27; - fStack468 = fStack148 * fVar27 + D_8003FD94[0]; - fStack444 = fStack172 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack100); - proc_7F093CB0((int)&fStack484,extraout_f12_66); - proc_7F093CB0((int)&fStack460,extraout_f12_67); - break; - case 10: - fStack508 = fStack132 * fVar29; - fStack504 = fStack128 * fVar29; - fStack500 = fStack124 * fVar29; - fStack484 = fStack108 * fVar29; - fStack480 = fStack104 * fVar29; - fStack476 = fStack100 * fVar29; - fStack460 = fStack168 * fVar29; - fStack456 = fStack164 * fVar29; - fStack452 = fStack160 * fVar29; - iVar12 = 4; - fStack436 = fStack156 * fVar29; - fStack432 = fStack152 * fVar29; - fStack428 = fStack148 * fVar29; - fStack496 = fStack132 * fVar27; - fStack472 = fStack108 * fVar27; - fStack492 = fStack124 * fVar27 + D_8003FD94[0]; - fStack448 = fStack168 * fVar27; - fStack468 = fStack100 * fVar27 + D_8003FD94[0]; - fStack424 = fStack156 * fVar27; - fStack444 = fStack160 * fVar27 + D_8003FD94[0]; - fStack420 = fStack148 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack100); - proc_7F093CB0((int)&fStack484,extraout_f12_57); - proc_7F093CB0((int)&fStack460,extraout_f12_58); - proc_7F093CB0((int)&fStack436,extraout_f12_59); - break; - case 0xb: - fStack508 = fStack144 * fVar29; - fStack504 = fStack140 * fVar29; - fStack500 = fStack136 * fVar29; - fStack484 = fStack132 * fVar29; - fStack480 = fStack128 * fVar29; - fStack476 = fStack124 * fVar29; - iVar12 = 5; - fStack460 = fStack108 * fVar29; - fStack456 = fStack104 * fVar29; - fStack452 = fStack100 * fVar29; - fStack436 = fStack156 * fVar29; - fStack432 = fStack152 * fVar29; - fStack428 = fStack148 * fVar29; - fStack412 = fStack192 * fVar29; - fStack408 = fStack188 * fVar29; - fStack404 = fStack184 * fVar29; - fStack496 = fStack144 * fVar27; - fStack472 = fStack132 * fVar27; - fStack492 = fStack136 * fVar27 + D_8003FD94[0]; - fStack448 = fStack108 * fVar27; - fStack468 = fStack124 * fVar27 + D_8003FD94[0]; - fStack424 = fStack156 * fVar27; - fStack444 = fStack100 * fVar27 + D_8003FD94[0]; - fStack400 = fStack192 * fVar27; - fStack420 = fStack148 * fVar27 + D_8003FD94[0]; - fStack396 = fStack184 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack100); - proc_7F093CB0((int)&fStack484,extraout_f12_76); - proc_7F093CB0((int)&fStack460,extraout_f12_77); - proc_7F093CB0((int)&fStack436,extraout_f12_78); - proc_7F093CB0((int)&fStack412,extraout_f12_79); - break; - case 0xc: - fStack508 = fStack108 * fVar29; - fStack504 = fStack104 * fVar29; - fStack500 = fStack100 * fVar29; - fStack484 = fStack120 * fVar29; - fStack480 = fStack116 * fVar29; - fStack476 = fStack112 * fVar29; - fStack460 = fStack180 * fVar29; - fStack456 = fStack176 * fVar29; - fStack452 = fStack172 * fVar29; - fStack436 = fStack192 * fVar29; - iVar12 = 4; - fStack432 = fStack188 * fVar29; - fStack428 = fStack184 * fVar29; - fStack496 = fStack108 * fVar27; - fStack472 = fStack120 * fVar27; - fStack492 = fStack100 * fVar27 + D_8003FD94[0]; - fStack448 = fStack180 * fVar27; - fStack468 = fStack112 * fVar27 + D_8003FD94[0]; - fStack424 = fStack192 * fVar27; - fStack444 = fStack172 * fVar27 + D_8003FD94[0]; - fStack420 = fStack184 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack100); - proc_7F093CB0((int)&fStack484,extraout_f12_48); - proc_7F093CB0((int)&fStack460,extraout_f12_49); - proc_7F093CB0((int)&fStack436,extraout_f12_50); - break; - case 0xd: - fStack508 = fStack108 * fVar29; - fStack504 = fStack104 * fVar29; - fStack500 = fStack100 * fVar29; - fStack484 = fStack120 * fVar29; - fStack480 = fStack116 * fVar29; - fStack476 = fStack112 * fVar29; - fStack460 = fStack144 * fVar29; - fStack456 = fStack140 * fVar29; - fStack452 = fStack136 * fVar29; - fStack436 = fStack168 * fVar29; - iVar12 = 5; - fStack432 = fStack164 * fVar29; - fStack428 = fStack160 * fVar29; - fStack412 = fStack180 * fVar29; - fStack408 = fStack176 * fVar29; - fStack404 = fStack172 * fVar29; - fStack496 = fStack108 * fVar27; - fStack472 = fStack120 * fVar27; - fStack492 = fStack100 * fVar27 + D_8003FD94[0]; - fStack448 = fStack144 * fVar27; - fStack468 = fStack112 * fVar27 + D_8003FD94[0]; - fStack444 = fStack136 * fVar27 + D_8003FD94[0]; - fStack424 = fStack168 * fVar27; - fStack400 = fStack180 * fVar27; - fStack420 = fStack160 * fVar27 + D_8003FD94[0]; - fStack396 = fStack172 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack100); - proc_7F093CB0((int)&fStack484,extraout_f12_72); - proc_7F093CB0((int)&fStack460,extraout_f12_73); - proc_7F093CB0((int)&fStack436,extraout_f12_74); - proc_7F093CB0((int)&fStack412,extraout_f12_75); - break; - case 0xe: - fStack508 = fStack132 * fVar29; - fStack504 = fStack128 * fVar29; - fStack500 = fStack124 * fVar29; - fStack484 = fStack108 * fVar29; - fStack480 = fStack104 * fVar29; - fStack476 = fStack100 * fVar29; - fStack460 = fStack120 * fVar29; - fStack456 = fStack116 * fVar29; - fStack452 = fStack112 * fVar29; - fStack436 = fStack192 * fVar29; - iVar12 = 5; - fStack432 = fStack188 * fVar29; - fStack428 = fStack184 * fVar29; - fStack412 = fStack168 * fVar29; - fStack408 = fStack164 * fVar29; - fStack404 = fStack160 * fVar29; - fStack496 = fStack132 * fVar27; - fStack472 = fStack108 * fVar27; - fStack492 = fStack124 * fVar27 + D_8003FD94[0]; - fStack448 = fStack120 * fVar27; - fStack468 = fStack100 * fVar27 + D_8003FD94[0]; - fStack424 = fStack192 * fVar27; - fStack444 = fStack112 * fVar27 + D_8003FD94[0]; - fStack400 = fStack168 * fVar27; - fStack420 = fStack184 * fVar27 + D_8003FD94[0]; - fStack396 = fStack160 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack100); - proc_7F093CB0((int)&fStack484,extraout_f12_68); - proc_7F093CB0((int)&fStack460,extraout_f12_69); - proc_7F093CB0((int)&fStack436,extraout_f12_70); - proc_7F093CB0((int)&fStack412,extraout_f12_71); - break; - case 0xf: - fStack508 = fStack108 * fVar29; - fStack504 = fStack104 * fVar29; - fStack500 = fStack100 * fVar29; - fStack484 = fStack120 * fVar29; - fStack480 = fStack116 * fVar29; - fStack476 = fStack112 * fVar29; - fStack460 = fStack132 * fVar29; - fStack456 = fStack128 * fVar29; - fStack452 = fStack124 * fVar29; - fStack436 = fStack144 * fVar29; - iVar12 = 4; - fStack432 = fStack140 * fVar29; - fStack428 = fStack136 * fVar29; - fStack496 = fStack108 * fVar27; - fStack472 = fStack120 * fVar27; - fStack492 = fStack100 * fVar27 + D_8003FD94[0]; - fStack448 = fStack132 * fVar27; - fStack468 = fStack112 * fVar27 + D_8003FD94[0]; - fStack424 = fStack144 * fVar27; - fStack444 = fStack124 * fVar27 + D_8003FD94[0]; - fStack420 = fStack136 * fVar27 + D_8003FD94[0]; - proc_7F093CB0((int)&fStack508,fStack100); - proc_7F093CB0((int)&fStack484,extraout_f12_45); - proc_7F093CB0((int)&fStack460,extraout_f12_46); - proc_7F093CB0((int)&fStack436,extraout_f12_47); - } - pfStack1624 = (float *)(1.00000000 / fVar29); - puStackX0[1] = 0; - *puStackX0 = 0xe7000000; - puStackX0 = puStackX0 + 2; - puVar2 = get_ptr_currentdata(); - append_image_to_DL((uint **)register0x000000ec,skywaterimages + *(short *)(puVar2 + 4),1,0,2); - *puStackX0 = 0xfb000000; - puStack1160 = puStackX0; - puStackX0 = puStackX0 + 2; - puVar2 = get_ptr_currentdata(); - DL = get_ptr_currentdata(); - puVar7 = get_ptr_currentdata(); - puStack1160[1] = - (uint)*(byte *)((int)puVar7 + 10) << 8 | (uint)*(byte *)(DL + 2) << 0x18 | - (uint)*(byte *)((int)puVar2 + 9) << 0x10 | 0xff; - puStackX0[1] = 0x55fef97c; - *puStackX0 = 0xfc40fe81; - puStackX0 = puStackX0 + 2; - pfVar5 = (float *)get_BONDdata_field_10DC(); - pfVar6 = (float *)get_BONDdata_field_10CC(); - proc_7F0580C8(pfVar5,pfVar6,(int)afStack1228); - guScaleF(mf_4__4__00,x_00,(float)&DAT_80079e98,(float)pfStack1624); - proc_7F0580C8(afStack1228,(float *)&DAT_80079e98,(int)afStack1292); - iStack1576 = 0; - fVar29 = extraout_f12_84; - if (iVar12 != 0) { - pfStack1624 = &fStack508; - puVar14 = auStack1572; - fVar27 = extraout_f14_02; - do { - proc_7F097388(pfStack1624,afStack1292,0x82,fVar29,fVar27,(float *)flt_800575D0); - fVar17 = getPlayer_c_screenleft(); - fVar18 = getPlayer_c_screenleft(); - fVar19 = getPlayer_c_screenwidth(); - fVar29 = proc_7F093C48(*(float *)(puVar14 + 0x28),(float)fVar17 * 4.00000000, - extraout_a0_01,extraout_a1_01, - ((float)fVar19 + (float)fVar18) * 4.00000000 - 1.00000000); - *(float *)(puVar14 + 0x28) = fVar29; - fVar17 = getPlayer_c_screentop(); - fVar18 = getPlayer_c_screentop(); - fVar19 = getPlayer_c_screenheight(); - fVar29 = proc_7F093C48(*(float *)(puVar14 + 0x2c),(float)fVar17 * 4.00000000, - extraout_a0_02,extraout_a1_02, - ((float)fVar19 + (float)fVar18) * 4.00000000 - 1.00000000); - *(float *)(puVar14 + 0x2c) = fVar29; - iStack1576 += 1; - pfStack1624 = pfStack1624 + 6; - puVar14 = puVar14 + 0x38; - fVar29 = extraout_f12_85; - fVar27 = extraout_f14_03; - } while (iStack1576 != iVar12); - } - if (iVar12 == 4) { - if (uVar16 == 0xc) { - if (fStack360 < fStack356) { - if (fStack1472 + 4.00000000 <= fStack1360) { - fVar17 = getPlayer_c_screenleft(); - fStack1532 = (float)fVar17 * 4.00000000; - fVar17 = getPlayer_c_screentop(); - fStack1528 = (float)fVar17 * 4.00000000; - fVar17 = getPlayer_c_screenleft(); - fVar18 = getPlayer_c_screenwidth(); - fStack1476 = ((float)fVar18 + (float)fVar17) * 4.00000000 - 1.00000000; - fVar17 = getPlayer_c_screentop(); - fStack1472 = (float)fVar17 * 4.00000000; - fVar17 = getPlayer_c_screenleft(); - fStack1420 = (float)fVar17 * 4.00000000; - fVar17 = getPlayer_c_screenleft(); - fVar18 = getPlayer_c_screenwidth(); - fStack1364 = ((float)fVar18 + (float)fVar17) * 4.00000000 - 1.00000000; - puStackX0 = proc_7F098A2C(puStackX0,(int)auStack1572,(int)auStack1516, - (int)auStack1460,(int)auStack1404,extraout_f12_86); - } - else { - puStackX0 = proc_7F097818(puStackX0,(int)auStack1572,(int)auStack1516, - (int)auStack1460,fVar29,0x43020000); - } - } - else { - if (fStack1528 + 4.00000000 <= fStack1416) { - fVar17 = getPlayer_c_screenleft(); - fStack1532 = (float)fVar17 * 4.00000000; - fVar17 = getPlayer_c_screentop(); - fStack1528 = (float)fVar17 * 4.00000000; - fVar17 = getPlayer_c_screenleft(); - fVar18 = getPlayer_c_screenwidth(); - fStack1476 = ((float)fVar18 + (float)fVar17) * 4.00000000 - 1.00000000; - fVar17 = getPlayer_c_screentop(); - fStack1472 = (float)fVar17 * 4.00000000; - fVar17 = getPlayer_c_screenleft(); - fStack1420 = (float)fVar17 * 4.00000000; - fVar17 = getPlayer_c_screenleft(); - fVar18 = getPlayer_c_screenwidth(); - fStack1364 = ((float)fVar18 + (float)fVar17) * 4.00000000 - 1.00000000; - puStackX0 = proc_7F098A2C(puStackX0,(int)auStack1516,(int)auStack1572, - (int)auStack1404,(int)auStack1460,extraout_f12_87); - } - else { - puStackX0 = proc_7F097818(puStackX0,(int)auStack1516,(int)auStack1572, - (int)auStack1404,fVar29,0x43020000); - } - } - } - else { - puStackX0 = proc_7F097818(puStackX0,(int)auStack1572,(int)auStack1516,(int)auStack1404, - fVar29,0x43020000); - puStackX0 = proc_7F097818(puStackX0,(int)auStack1404,(int)auStack1460,(int)auStack1572, - extraout_f12_88,0x43020000); - } - } - else { - if (iVar12 == 5) { - puStackX0 = proc_7F097818(puStackX0,(int)auStack1572,(int)auStack1516,(int)auStack1460, - fVar29,0x43020000); - puStackX0 = proc_7F097818(puStackX0,(int)auStack1572,(int)auStack1460,(int)auStack1404, - extraout_f12_89,0x43020000); - puStackX0 = proc_7F097818(puStackX0,(int)auStack1572,(int)auStack1404,(int)auStack1348, - extraout_f12_90,0x43020000); - } - else { - if (iVar12 == 3) { - puStackX0 = proc_7F097818(puStackX0,(int)auStack1572,(int)auStack1516, - (int)auStack1460,fVar29,0x43020000); - } - } - } -LAB_7f097360: - return puStackX0; -} - - - -void proc_7F097388(float *param_1,float *param_2,uint param_3,float param_4,float param_5, - float *param_6) - -{ - undefined4 *puVar1; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - float fVar2; - f32 fVar3; - f32 fVar4; - f32 fVar5; - f32 fVar6; - f32 fVar7; - f32 fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float in_stack_00000010; - float *in_stack_00000014; - - fVar11 = (float)(param_3 & 0xffff); - if (false) { - fVar11 = fVar11 + 4294967296.00000000; - } - fVar11 = fVar11 / 65536.00000000; - fVar12 = param_2[0xc] + *param_1 * *param_2 + param_1[1] * param_2[4] + param_1[2] * param_2[8]; - fVar13 = param_2[0xd] + - *param_1 * param_2[1] + param_1[1] * param_2[5] + param_1[2] * param_2[9]; - fVar14 = param_2[0xe] + - *param_1 * param_2[2] + param_1[1] * param_2[6] + param_1[2] * param_2[10]; - fVar15 = param_2[0xf] + - *param_1 * param_2[3] + param_1[1] * param_2[7] + param_1[2] * param_2[0xb]; - fVar17 = param_1[3]; - fVar16 = param_1[4]; - fVar19 = flt_800575D4; - if (fVar15 != 0.00000000) { - fVar19 = 1.00000000 / (fVar15 * fVar11); - } - fVar2 = flt_800575D8; - if (0.00000000 <= fVar19) { - fVar2 = fVar19; - } - fVar3 = getPlayer_c_screenwidth(); - fVar4 = getPlayer_c_screenwidth(); - fVar5 = getPlayer_c_screenleft(); - fVar6 = getPlayer_c_screenheight(); - fVar7 = getPlayer_c_screenheight(); - fVar8 = getPlayer_c_screentop(); - fVar18 = fVar14 * fVar2 * fVar11 * flt_800575DC + flt_800575DC; - fVar9 = proc_7F093C48((float)fVar5 * 4.00000000 + (float)fVar4 * 2.00000000 + - fVar12 * fVar2 * fVar11 * (float)fVar3 * 2.00000000,flt_800575E0, - extraout_a0,extraout_a1,4090.00000000); - fVar10 = proc_7F093C48((float)fVar8 * 4.00000000 + (float)fVar7 * 2.00000000 + - -(fVar13 * fVar2 * fVar11) * (float)fVar6 * 2.00000000,flt_800575E4, - extraout_a0_00,extraout_a1_00,4090.00000000); - fVar18 = proc_7F093C48(fVar18,0.00000000,extraout_a0_01,extraout_a1_01,32767.00000000); - proc_7F093C48(fVar15 * fVar2 * fVar11 * 0.00000000,0.00000000,extraout_a0_02,extraout_a1_02, - 32767.00000000); - *in_stack_00000014 = fVar12; - in_stack_00000014[1] = fVar13; - in_stack_00000014[2] = fVar14; - in_stack_00000014[3] = fVar15; - in_stack_00000014[8] = fVar17 * ((float)param_6 / 65536.00000000); - in_stack_00000014[9] = fVar16 * (in_stack_00000010 / 65536.00000000); - in_stack_00000014[10] = fVar9; - puVar1 = get_ptr_currentdata(); - in_stack_00000014[0xb] = fVar10 - (float)puVar1[0xe] * 4.00000000; - in_stack_00000014[0xd] = fVar19; - in_stack_00000014[0xc] = fVar18; - fVar11 = (float)(uint)*(byte *)(param_1 + 5); - if (false) { - fVar11 = fVar11 + 4294967296.00000000; - } - in_stack_00000014[4] = fVar11; - fVar11 = (float)(uint)*(byte *)((int)param_1 + 0x15); - if (false) { - fVar11 = fVar11 + 4294967296.00000000; - } - in_stack_00000014[5] = fVar11; - fVar11 = (float)(uint)*(byte *)((int)param_1 + 0x16); - if (false) { - fVar11 = fVar11 + 4294967296.00000000; - } - in_stack_00000014[6] = fVar11; - fVar11 = (float)(uint)*(byte *)((int)param_1 + 0x17); - if (false) { - fVar11 = fVar11 + 4294967296.00000000; - } - in_stack_00000014[7] = fVar11; - return; -} - - - -ulonglong proc_7F0977B4(int param_1,int param_2) - -{ - float fVar1; - float fVar2; - - fVar1 = *(float *)(param_1 + 0x28) - *(float *)(param_2 + 0x28); - fVar2 = *(float *)(param_1 + 0x2c) - *(float *)(param_2 + 0x2c); - fVar1 = sqrtf(fVar1 * fVar1 + fVar2 * fVar2); - return (ulonglong)(fVar1 < 1.00000000); -} - - - -undefined4 * -proc_7F097818(undefined4 *param_1,int param_2,int param_3,int param_4,float param_5,int param_6) - -{ - ulonglong uVar1; - uint uVar2; - float *pfVar3; - uint uVar4; - uint uVar5; - uint uVar6; - uint uVar7; - uint uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - uint uVar16; - uint uVar17; - uint uVar18; - undefined4 *puVar19; - float *pfVar20; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - float *pfVar21; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - float *pfVar22; - float *pfVar23; - float *pfVar24; - float *pfVar25; - int iVar26; - float *pfVar27; - float fVar28; - float fVar29; - float fVar30; - float fVar31; - int in_stack_00000014; - float afStack728 [8]; - float afStack696 [4]; - float fStack680; - float fStack676; - float fStack672; - float fStack648; - float fStack644; - float fStack640; - float afStack632 [8]; - float afStack600 [4]; - float fStack584; - float fStack580; - float fStack576; - float afStack568 [8]; - float afStack536 [8]; - float afStack504 [4]; - float fStack488; - float fStack484; - float fStack480; - float afStack472 [4]; - float fStack456; - float fStack452; - float fStack448; - float afStack440 [8]; - float afStack408 [4]; - float fStack392; - float fStack388; - float fStack384; - undefined4 uStack380; - float afStack376 [4]; - float fStack360; - float fStack356; - float fStack352; - undefined4 uStack348; - float fStack344; - float fStack340; - float fStack336; - float fStack332; - float fStack328; - float fStack324; - float fStack320; - float fStack316; - float fStack312; - float fStack308; - float fStack304; - float fStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - float fStack268; - undefined4 uStack264; - float fStack260; - undefined4 uStack256; - float fStack252; - undefined4 uStack248; - float fStack244; - undefined4 uStack240; - undefined4 uStack236; - undefined4 uStack232; - float fStack228; - undefined4 uStack224; - float fStack220; - undefined4 uStack216; - float fStack212; - undefined4 uStack208; - undefined4 uStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - float fStack180; - undefined4 uStack176; - undefined4 uStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - undefined4 uStack144; - undefined4 uStack140; - float fStack128; - float fStack120; - float fStack104; - undefined4 uStack100; - float fStack96; - undefined4 uStack92; - float fStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float fStack28; - float fStack20; - int iStack12; - int iStack8; - int iStack4; - - uVar1 = proc_7F0977B4(param_2,param_3); - puVar19 = param_1; - if (((uVar1 == 0) && (uVar1 = proc_7F0977B4(param_3,param_4), uVar1 == 0)) && - (uVar1 = proc_7F0977B4(param_4,param_2), uVar1 == 0)) { - fStack272 = (float)param_6 / 65536.00000000; - fVar31 = *(float *)(param_2 + 0x2c); - fStack68 = ((*(float *)(param_4 + 0x28) - *(float *)(param_2 + 0x28)) * - (*(float *)(param_3 + 0x2c) - fVar31) - - (*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * - (*(float *)(param_4 + 0x2c) - fVar31)) / 65536.00000000; - if (fStack68 != 0.00000000) { - fStack72 = 1.00000000 / fStack68; - iVar26 = param_3; - if (*(float *)(param_3 + 0x2c) < fVar31) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - iVar26 = param_2; - param_2 = param_3; - } - fVar31 = *(float *)(iVar26 + 0x2c); - iStack8 = iVar26; - if (*(float *)(param_4 + 0x2c) < fVar31) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - fVar31 = *(float *)(param_4 + 0x2c); - iStack8 = param_4; - param_4 = iVar26; - } - iStack4 = param_2; - if (fVar31 < *(float *)(param_2 + 0x2c)) { - fStack68 = fStack68 * -1.00000000; - fStack72 = fStack72 * -1.00000000; - iStack4 = iStack8; - iStack8 = param_2; - } - uStack100 = 0; - fStack104 = *(float *)(iStack8 + 0x28) * 0.25000000; - uStack92 = 0; - fStack96 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack84 = 0; - uStack76 = 0; - fStack88 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack80 = 0; - fStack64 = *(float *)(param_4 + 0x28); - fStack60 = *(float *)(param_4 + 0x2c); - fStack56 = *(float *)(iStack8 + 0x28); - fStack52 = *(float *)(iStack8 + 0x2c); - fStack48 = *(float *)(iStack4 + 0x28); - fStack44 = *(float *)(iStack4 + 0x2c); - fStack20 = fStack56 - fStack48; - fStack252 = fStack52 - fStack44; - uStack140 = 0; - fStack244 = fStack60 - fStack44; - uStack144 = 0; - fStack28 = fStack64 - fStack48; - uStack172 = 0; - uStack176 = 0; - fStack36 = fStack64 - fStack56; - uStack232 = 0; - fStack168 = fStack36 * 0.25000000; - fStack40 = fStack60 - fStack52; - uStack224 = 0; - fStack164 = fStack40 * 0.25000000; - fStack160 = fStack20 * 0.25000000; - uStack216 = 0; - uStack204 = 0; - uStack208 = 0; - fStack156 = fStack252 * 0.25000000; - uStack264 = 0; - fStack152 = fStack28 * 0.25000000; - uStack256 = 0; - uStack248 = 0; - uStack236 = 0; - fStack148 = fStack244 * 0.25000000; - fStack200 = fStack36 * 4.00000000; - uStack240 = 0; - fStack196 = fStack40 * 4.00000000; - fStack192 = fStack20 * 4.00000000; - fStack188 = fStack252 * 4.00000000; - fStack184 = fStack28 * 4.00000000; - fStack180 = fStack244 * 4.00000000; - fStack228 = 4.00000000 / fStack40; - fStack220 = 4.00000000 / fStack252; - fStack212 = 4.00000000 / fStack244; - fStack260 = fStack36 / fStack40; - fStack244 = fStack28 / fStack244; - fStack252 = fStack20 / fStack252; - iStack12 = param_4; - fStack260 = proc_7F093C48(fStack260,flt_800575E8,extraout_a0,extraout_a1,1877.00000000); - fStack252 = proc_7F093C48(fStack252,flt_800575EC,extraout_a0_00,extraout_a1_00, - 1877.00000000); - fStack244 = proc_7F093C48(fStack244,flt_800575F0,extraout_a0_01,extraout_a1_01, - 1877.00000000); - fStack268 = *(float *)(iStack4 + 0x2c) * 0.25000000; - fStack268 = fStack268 - (float)(int)fStack268; - fVar31 = addpoint5tofloat(fStack252 * 8192.00000000); - fStack128 = fStack96 - fVar31 * 0.00012207 * fStack268; - fVar31 = addpoint5tofloat(fStack244 * 8192.00000000); - uVar4 = 0xc8000000; - uVar2 = 0; - fStack120 = fStack88 - fVar31 * 0.00012207 * fStack268; - *param_1 = 0xb4000000; - if (in_stack_00000014 != 0) { - uVar4 = 0xce000000; - } - if (fStack68 < 0.00000000) { - uVar2 = 0x800000; - } - param_1[1] = uVar2 | uVar4 | (int)*(float *)(iStack12 + 0x2c); - param_1[2] = 0xb2000000; - param_1[3] = (int)*(float *)(iStack8 + 0x2c) << 0x10 | (int)*(float *)(iStack4 + 0x2c); - param_1[4] = 0xb4000000; - uVar2 = proc_7F094298(*(float *)(iStack8 + 0x28) * 0.25000000); - param_1[5] = uVar2; - param_1[6] = 0xb2000000; - uVar2 = proc_7F094298(fStack260); - param_1[7] = uVar2; - param_1[8] = 0xb4000000; - uVar2 = proc_7F094298(fStack120); - param_1[9] = uVar2; - param_1[10] = 0xb2000000; - uVar2 = proc_7F094298(fStack244); - param_1[0xb] = uVar2; - param_1[0xc] = 0xb4000000; - uVar2 = proc_7F094298(fStack128); - param_1[0xd] = uVar2; - param_1[0xe] = 0xb2000000; - uVar2 = proc_7F094298(fStack252); - param_1[0xf] = uVar2; - puVar19 = param_1 + 0x10; - if (in_stack_00000014 != 0) { - fStack284 = *(float *)(iStack4 + 0xc) * fStack272; - fVar31 = *(float *)(iStack8 + 0xc) * fStack272; - fStack280 = fVar31; - fStack288 = *(float *)(iStack12 + 0xc) * fStack272; - fStack276 = fStack288; - if (fStack284 <= fVar31) { - fVar31 = fStack284; - } - if (fVar31 <= fStack288) { - fStack288 = fVar31; - } - fStack288 = fStack288 * 0.50000000; - fStack300 = *(float *)(iStack4 + 0x34) * fStack288; - fStack296 = *(float *)(iStack8 + 0x34) * fStack288; - fStack292 = *(float *)(iStack12 + 0x34) * fStack288; - fStack336 = fStack300 * *(float *)(iStack4 + 0x20); - fStack332 = fStack300 * *(float *)(iStack4 + 0x24); - fStack328 = fStack300 * flt_800575F4; - fStack324 = fStack296 * *(float *)(iStack8 + 0x20); - fStack320 = fStack296 * *(float *)(iStack8 + 0x24); - fStack316 = fStack296 * flt_800575F4; - fStack312 = fStack292 * *(float *)(iStack12 + 0x20); - fStack308 = fStack292 * *(float *)(iStack12 + 0x24); - fStack304 = fStack292 * flt_800575F4; - fStack344 = fStack336; - if (fStack336 < 0.00000000) { - fStack344 = -fStack336; - } - fStack340 = fStack332; - if (fStack332 < 0.00000000) { - fStack340 = -fStack332; - } - fVar31 = fStack324; - if (fStack324 < 0.00000000) { - fVar31 = -fStack324; - } - if ((fStack344 < fVar31) && (fStack344 = fStack324, fStack324 < 0.00000000)) { - fStack344 = -fStack324; - } - fVar31 = fStack320; - if (fStack320 < 0.00000000) { - fVar31 = -fStack320; - } - if (fStack340 < fVar31) { - if (0.00000000 <= fStack320) { - fStack340 = fStack320; - } - else { - fStack340 = -fStack320; - } - } - fVar31 = fStack312; - if (fStack312 < 0.00000000) { - fVar31 = -fStack312; - } - if (fStack344 < fVar31) { - if (0.00000000 <= fStack312) { - fStack344 = fStack312; - } - else { - fStack344 = -fStack312; - } - } - fVar31 = fStack308; - if (fStack308 < 0.00000000) { - fVar31 = -fStack308; - } - if (fStack340 < fVar31) { - if (0.00000000 <= fStack308) { - fStack340 = fStack308; - } - else { - fStack340 = -fStack308; - } - fVar31 = *(float *)(iStack4 + 0x10); - } - else { - fVar31 = *(float *)(iStack4 + 0x10); - } - pfVar23 = afStack408; - pfVar3 = afStack376; - pfVar22 = afStack440; - afStack376[0] = fVar31 + 0.50000000; - afStack376[1] = *(float *)(iStack4 + 0x14) + 0.50000000; - afStack376[2] = *(float *)(iStack4 + 0x18) + 0.50000000; - afStack376[3] = *(float *)(iStack4 + 0x1c) + 0.50000000; - afStack408[0] = *(float *)(iStack8 + 0x10) + 0.50000000; - afStack408[1] = *(float *)(iStack8 + 0x14) + 0.50000000; - afStack408[2] = *(float *)(iStack8 + 0x18) + 0.50000000; - afStack408[3] = *(float *)(iStack8 + 0x1c) + 0.50000000; - afStack440[0] = *(float *)(iStack12 + 0x10) + 0.50000000; - afStack440[1] = *(float *)(iStack12 + 0x14) + 0.50000000; - afStack440[2] = *(float *)(iStack12 + 0x18) + 0.50000000; - fStack360 = fStack336; - fStack356 = fStack332; - afStack440[3] = *(float *)(iStack12 + 0x1c) + 0.50000000; - fStack352 = fStack300 * flt_800575F4; - fStack388 = fStack320; - fStack392 = fStack324; - fStack384 = fStack296 * flt_800575F4; - afStack440[5] = fStack308; - afStack440[6] = fStack292 * flt_800575F4; - afStack440[4] = fStack312; - uStack348 = *(undefined4 *)(iStack4 + 0x30); - uStack380 = *(undefined4 *)(iStack8 + 0x30); - afStack440[7] = *(undefined4 *)(iStack12 + 0x30); - pfVar21 = afStack472; - pfVar20 = afStack504; - do { - fVar31 = *pfVar3; - fVar29 = *pfVar23; - fVar28 = *pfVar22; - pfVar22 = pfVar22 + 1; - pfVar23 = pfVar23 + 1; - pfVar3 = pfVar3 + 1; - *pfVar21 = fVar29 - fVar31; - *pfVar20 = fVar28 - fVar31; - fVar31 = fStack192; - pfVar21 = pfVar21 + 1; - pfVar20 = pfVar20 + 1; - } while (pfVar22 < afStack408); - pfVar21 = afStack568; - pfVar20 = afStack536; - pfVar3 = afStack504; - pfVar22 = afStack376; - pfVar23 = afStack472; - pfVar27 = afStack600; - pfVar24 = afStack632; - do { - fVar28 = *pfVar3; - fVar29 = *pfVar23; - pfVar25 = pfVar24 + 1; - fVar30 = (fVar28 * fStack188 - fStack180 * fVar29) / 65536.00000000; - *pfVar21 = fVar30; - *pfVar20 = (fVar29 * fStack184 - fVar31 * fVar28) / 65536.00000000; - fVar28 = *pfVar20; - *pfVar3 = fVar30 * fStack72; - fVar29 = *pfVar3; - fVar28 = fVar28 * fStack72; - fVar30 = *pfVar22; - *pfVar23 = fVar28; - fVar28 = fStack244 * fVar29 + fVar28; - *pfVar27 = fVar28; - *pfVar24 = fVar30 - fVar28 * fStack268; - pfVar21 = pfVar21 + 1; - pfVar20 = pfVar20 + 1; - pfVar3 = pfVar3 + 1; - pfVar22 = pfVar22 + 1; - pfVar23 = pfVar23 + 1; - pfVar27 = pfVar27 + 1; - pfVar24 = pfVar25; - } while (pfVar25 < afStack600); - uVar2 = proc_7F094298(afStack632[0]); - uVar4 = proc_7F094298(afStack632[1]); - uVar5 = proc_7F094298(afStack632[2]); - uVar6 = proc_7F094298(afStack632[3]); - uVar7 = proc_7F094298(afStack504[0]); - uVar8 = proc_7F094298(afStack504[1]); - uVar9 = proc_7F094298(afStack504[2]); - uVar10 = proc_7F094298(afStack504[3]); - uVar11 = proc_7F094298(afStack472[0]); - uVar12 = proc_7F094298(afStack472[1]); - uVar13 = proc_7F094298(afStack472[2]); - uVar14 = proc_7F094298(afStack472[3]); - uVar15 = proc_7F094298(afStack600[0]); - uVar16 = proc_7F094298(afStack600[1]); - uVar17 = proc_7F094298(afStack600[2]); - uVar18 = proc_7F094298(afStack600[3]); - param_1[0x10] = 0xb4000000; - param_1[0x11] = uVar2 & 0xffff0000 | uVar4 >> 0x10; - param_1[0x12] = 0xb2000000; - param_1[0x13] = uVar5 & 0xffff0000 | uVar6 >> 0x10; - param_1[0x14] = 0xb4000000; - param_1[0x15] = uVar7 & 0xffff0000 | uVar8 >> 0x10; - param_1[0x16] = 0xb2000000; - param_1[0x17] = uVar9 & 0xffff0000 | uVar10 >> 0x10; - param_1[0x18] = 0xb4000000; - param_1[0x19] = uVar2 << 0x10 | uVar4 & 0xffff; - param_1[0x1a] = 0xb2000000; - param_1[0x1b] = uVar5 << 0x10 | uVar6 & 0xffff; - param_1[0x1c] = 0xb4000000; - param_1[0x1d] = uVar7 << 0x10 | uVar8 & 0xffff; - param_1[0x1e] = 0xb2000000; - param_1[0x1f] = uVar9 << 0x10 | uVar10 & 0xffff; - param_1[0x20] = 0xb4000000; - param_1[0x21] = uVar15 & 0xffff0000 | uVar16 >> 0x10; - param_1[0x23] = uVar17 & 0xffff0000 | uVar18 >> 0x10; - param_1[0x22] = 0xb2000000; - param_1[0x24] = 0xb4000000; - param_1[0x25] = uVar11 & 0xffff0000 | uVar12 >> 0x10; - param_1[0x26] = 0xb2000000; - param_1[0x27] = uVar13 & 0xffff0000 | uVar14 >> 0x10; - param_1[0x29] = uVar15 << 0x10 | uVar16 & 0xffff; - param_1[0x28] = 0xb4000000; - param_1[0x2a] = 0xb2000000; - param_1[0x2b] = uVar17 << 0x10 | uVar18 & 0xffff; - param_1[0x2c] = 0xb4000000; - param_1[0x2d] = uVar11 << 0x10 | uVar12 & 0xffff; - param_1[0x2e] = 0xb2000000; - param_1[0x2f] = uVar13 << 0x10 | uVar14 & 0xffff; - fStack648 = fStack344 * 0.03125000; - fStack644 = fStack340 * 0.03125000; - pfVar22 = afStack696; - fStack640 = fStack288 * 0.03125000; - pfVar3 = afStack472; - pfVar20 = afStack504; - pfVar21 = afStack728; - do { - fVar31 = *pfVar20; - if (fVar31 < 0.00000000) { - fVar31 = -fVar31; - } - fVar28 = *pfVar3; - *pfVar22 = fVar31 * 0.03125000; - if (fVar28 < 0.00000000) { - fVar28 = -fVar28; - } - pfVar23 = pfVar21 + 1; - pfVar3 = pfVar3 + 1; - pfVar20 = pfVar20 + 1; - pfVar22 = pfVar22 + 1; - *pfVar21 = fVar28 * 0.03125000; - pfVar21 = pfVar23; - } while (pfVar23 != afStack696); - fVar31 = 1.00000000; - afStack728[4] = afStack728[4] + fStack648 + fStack680 * 2.00000000; - afStack728[5] = afStack728[5] + fStack644 + fStack676 * 2.00000000; - afStack728[6] = afStack728[6] + fStack640 + fStack672 * 2.00000000; - if (afStack728[5] <= afStack728[4]) { - afStack728[5] = afStack728[4]; - } - if (afStack728[6] <= afStack728[5]) { - afStack728[6] = afStack728[5]; - } - if (1.00000000 < afStack728[6] * 0.00097656) { - fVar31 = 1.00000000 / (afStack728[6] * 0.00097656); - } - uVar2 = proc_7F094298(fVar31 * afStack632[4]); - uVar4 = proc_7F094298(fVar31 * afStack632[5]); - uVar5 = proc_7F094298(fVar31 * afStack632[6]); - uVar6 = proc_7F094298(fVar31 * fStack488); - uVar7 = proc_7F094298(fVar31 * fStack484); - uVar8 = proc_7F094298(fVar31 * fStack480); - uVar9 = proc_7F094298(fVar31 * fStack456); - uVar10 = proc_7F094298(fVar31 * fStack452); - uVar11 = proc_7F094298(fVar31 * fStack448); - uVar12 = proc_7F094298(fVar31 * fStack584); - uVar13 = proc_7F094298(fVar31 * fStack580); - uVar14 = proc_7F094298(fVar31 * fStack576); - param_1[0x30] = 0xb4000000; - param_1[0x31] = uVar2 & 0xffff0000 | uVar4 >> 0x10; - param_1[0x33] = uVar5 & 0xffff0000; - param_1[0x32] = 0xb2000000; - param_1[0x34] = 0xb4000000; - param_1[0x35] = uVar6 & 0xffff0000 | uVar7 >> 0x10; - param_1[0x36] = 0xb2000000; - param_1[0x37] = uVar8 & 0xffff0000; - param_1[0x38] = 0xb4000000; - param_1[0x39] = uVar2 << 0x10 | uVar4 & 0xffff; - param_1[0x3b] = uVar5 << 0x10; - param_1[0x3a] = 0xb2000000; - param_1[0x3c] = 0xb4000000; - param_1[0x3d] = uVar6 << 0x10 | uVar7 & 0xffff; - param_1[0x3f] = uVar8 << 0x10; - param_1[0x3e] = 0xb2000000; - param_1[0x40] = 0xb4000000; - param_1[0x41] = uVar12 & 0xffff0000 | uVar13 >> 0x10; - param_1[0x42] = 0xb2000000; - param_1[0x43] = uVar14 & 0xffff0000; - param_1[0x44] = 0xb4000000; - param_1[0x45] = uVar9 & 0xffff0000 | uVar10 >> 0x10; - param_1[0x47] = uVar11 & 0xffff0000; - param_1[0x46] = 0xb2000000; - param_1[0x48] = 0xb4000000; - param_1[0x49] = uVar12 << 0x10 | uVar13 & 0xffff; - param_1[0x4b] = uVar14 << 0x10; - param_1[0x4a] = 0xb2000000; - param_1[0x4c] = 0xb4000000; - param_1[0x4d] = uVar9 << 0x10 | uVar10 & 0xffff; - param_1[0x4f] = uVar11 << 0x10; - param_1[0x4e] = 0xb3000000; - puVar19 = param_1 + 0x50; - } - } - } - return puVar19; -} - - - -undefined4 * -proc_7F098A2C(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5,float param_6) - -{ - float fVar1; - int iVar2; - ulonglong uVar3; - uint uVar4; - float *pfVar5; - uint uVar6; - uint uVar7; - uint uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - uint uVar13; - uint uVar14; - uint uVar15; - uint uVar16; - uint uVar17; - longlong lVar18; - float *pfVar19; - float *pfVar20; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - float *pfVar21; - longlong lVar22; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - float *pfVar23; - float *pfVar24; - float *pfVar25; - int iVar26; - float *pfVar27; - float fVar28; - f32 fVar29; - f32 fVar30; - float fVar31; - float fVar32; - uint uVar33; - float fVar34; - uint uVar35; - float fVar36; - float fVar37; - float fVar38; - float fVar39; - uint uVar40; - float fVar41; - float fVar42; - float fVar43; - float fVar44; - float in_stack_00000014; - float fStack788; - float afStack732 [4]; - float afStack716 [4]; - float afStack700 [8]; - float fStack668; - float fStack664; - float fStack660; - float afStack636 [4]; - float afStack620 [4]; - float afStack604 [8]; - float afStack572 [8]; - float afStack540 [8]; - float afStack508 [8]; - float afStack476 [8]; - float afStack444 [4]; - float afStack428 [4]; - float afStack412 [8]; - float afStack380 [4]; - float fStack364; - float fStack360; - float fStack356; - float fStack352; - float fStack348; - float fStack344; - float fStack340; - float fStack336; - float fStack332; - float fStack328; - float fStack324; - float fStack320; - float fStack316; - float fStack312; - float fStack308; - float fStack304; - float fStack300; - float fStack296; - float fStack292; - float fStack288; - float fStack284; - float fStack280; - float fStack276; - float fStack272; - undefined4 uStack268; - float fStack264; - undefined4 uStack260; - float fStack256; - undefined4 uStack252; - float fStack248; - undefined4 uStack244; - undefined4 uStack240; - undefined4 uStack236; - float fStack232; - undefined4 uStack228; - float fStack224; - undefined4 uStack220; - float fStack216; - undefined4 uStack212; - undefined4 uStack208; - float fStack204; - float fStack200; - float fStack196; - float fStack192; - float fStack188; - float fStack184; - undefined4 uStack180; - undefined4 uStack176; - float fStack172; - float fStack168; - float fStack164; - float fStack160; - float fStack156; - float fStack152; - undefined4 uStack148; - undefined4 uStack144; - float fStack132; - float fStack124; - float fStack108; - undefined4 uStack104; - float fStack100; - undefined4 uStack96; - float fStack92; - undefined4 uStack88; - undefined4 uStack84; - undefined4 uStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float fStack32; - int iStack12; - int iStack8; - int iStack4; - - uVar3 = proc_7F0977B4(param_2,param_3); - if (uVar3 != 0) { - return param_1; - } - uVar3 = proc_7F0977B4(param_3,param_4); - if (uVar3 != 0) { - return param_1; - } - uVar3 = proc_7F0977B4(param_4,param_2); - if (uVar3 != 0) { - return param_1; - } - uVar3 = proc_7F0977B4(param_5,param_2); - if (uVar3 != 0) { - return param_1; - } - uVar3 = proc_7F0977B4(param_5,param_3); - if (uVar3 != 0) { - return param_1; - } - uVar3 = proc_7F0977B4(param_5,param_4); - if (uVar3 != 0) { - return param_1; - } - lVar18 = (longlong)param_2; - fStack272 = in_stack_00000014 / 65536.00000000; - fVar28 = *(float *)(param_2 + 0x2c); - fStack72 = ((*(float *)(param_4 + 0x28) - *(float *)(param_2 + 0x28)) * - (*(float *)(param_3 + 0x2c) - fVar28) - - (*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * - (*(float *)(param_4 + 0x2c) - fVar28)) / 65536.00000000; - fStack76 = 1.00000000 / fStack72; - lVar22 = (longlong)param_3; - if (*(float *)(param_3 + 0x2c) < fVar28) { - fStack72 = fStack72 * -1.00000000; - fStack76 = fStack76 * -1.00000000; - lVar22 = lVar18; - lVar18 = (longlong)param_3; - } - iVar26 = (int)lVar18; - iVar2 = (int)lVar22; - fVar28 = *(float *)(iVar2 + 0x2c); - iStack12 = param_4; - if (*(float *)(param_4 + 0x2c) < fVar28) { - fStack76 = fStack76 * -1.00000000; - fVar28 = *(float *)(param_4 + 0x2c); - lVar22 = (longlong)param_4; - iStack12 = iVar2; - } - iStack4 = (int)lVar22; - if (fVar28 < *(float *)(iVar26 + 0x2c)) { - fStack76 = fStack76 * -1.00000000; - fStack108 = *(float *)(iVar26 + 0x28); - } - else { - fStack108 = *(float *)(iStack4 + 0x28); - lVar18 = lVar22; - iStack4 = iVar26; - } - fStack108 = fStack108 * 0.25000000; - uStack104 = 0; - uStack96 = 0; - fStack100 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack88 = 0; - uStack80 = 0; - fStack92 = *(float *)(iStack4 + 0x28) * 0.25000000; - uStack84 = 0; - fStack68 = *(float *)(iStack12 + 0x28); - fStack64 = *(float *)(iStack12 + 0x2c); - iStack8 = (int)lVar18; - fStack60 = *(float *)(iStack8 + 0x28); - fStack56 = *(float *)(iStack8 + 0x2c); - fStack52 = *(float *)(iStack4 + 0x28); - fStack48 = *(float *)(iStack4 + 0x2c); - fVar28 = fStack56 - fStack48; - fStack256 = fStack60 - fStack52; - fStack248 = fStack64 - fStack48; - fStack32 = fStack68 - fStack52; - uStack144 = 0; - uStack148 = 0; - fStack40 = fStack68 - fStack60; - fStack44 = fStack64 - fStack56; - fStack172 = fStack40 * 0.25000000; - fStack168 = fStack44 * 0.25000000; - uStack176 = 0; - uStack180 = 0; - uStack236 = 0; - uStack228 = 0; - fStack164 = fStack256 * 0.25000000; - uStack220 = 0; - uStack208 = 0; - fStack160 = fVar28 * 0.25000000; - uStack212 = 0; - uStack268 = 0; - uStack260 = 0; - fStack156 = fStack32 * 0.25000000; - uStack252 = 0; - fStack152 = fStack248 * 0.25000000; - uStack240 = 0; - fStack204 = fStack40 * 4.00000000; - uStack244 = 0; - fStack200 = fStack44 * 4.00000000; - fStack196 = fStack256 * 4.00000000; - fStack192 = fVar28 * 4.00000000; - fStack188 = fStack32 * 4.00000000; - fStack184 = fStack248 * 4.00000000; - fStack232 = 4.00000000 / fStack44; - fStack224 = 4.00000000 / fVar28; - fStack216 = 4.00000000 / fStack248; - fStack264 = fStack40 / fStack44; - fStack256 = fStack256 / fVar28; - fStack248 = fStack32 / fStack248; - fStack264 = proc_7F093C48(fStack264,flt_800575F8,(longlong)param_4,lVar18,1877.00000000); - fStack256 = proc_7F093C48(fStack256,flt_800575FC,extraout_a0,extraout_a1,1877.00000000); - fStack248 = proc_7F093C48(fStack248,flt_80057600,extraout_a0_00,extraout_a1_00,1877.00000000); - fStack132 = fStack100; - fStack124 = fStack92; - if (*(float *)(param_2 + 0x28) < *(float *)(param_3 + 0x28)) { - if (*(float *)(param_4 + 0x2c) - *(float *)(param_5 + 0x2c) < 1.00000000) { - fStack788 = flt_80057604; - } - else { - fVar29 = getPlayer_c_screenwidth(); - fStack788 = -((float)fVar29 - 0.25000000) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_5 + 0x2c)) * 0.25000000); - } - *param_1 = 0xb4000000; - param_1[1] = (int)*(float *)(param_4 + 0x2c) | 0xce800000; - param_1[2] = 0xb2000000; - param_1[3] = (int)*(float *)(param_5 + 0x2c) << 0x10 | (int)*(float *)(param_2 + 0x2c); - param_1[4] = 0xb4000000; - fVar29 = getPlayer_c_screenleft(); - fVar30 = getPlayer_c_screenwidth(); - uVar4 = proc_7F094298(((float)fVar30 + (float)fVar29) - 0.25000000); - param_1[5] = uVar4; - param_1[6] = 0xb2000000; - uVar4 = proc_7F094298(fStack788); - param_1[7] = uVar4; - param_1[8] = 0xb4000000; - fVar29 = getPlayer_c_screenleft(); - uVar4 = proc_7F094298((float)fVar29); - param_1[9] = uVar4; - param_1[10] = 0xb2000000; - uVar4 = proc_7F094298(0.00000000); - param_1[0xb] = uVar4; - param_1[0xc] = 0xb4000000; - fVar29 = getPlayer_c_screenleft(); - fVar30 = getPlayer_c_screenwidth(); - uVar4 = proc_7F094298(((float)fVar30 + (float)fVar29) - 0.25000000); - param_1[0xd] = uVar4; - param_1[0xe] = 0xb2000000; - uVar4 = proc_7F094298(0.00000000); - param_1[0xf] = uVar4; - } - else { - fVar28 = flt_80057608; - if (1.00000000 <= *(float *)(param_4 + 0x2c) - *(float *)(param_5 + 0x2c)) { - fVar29 = getPlayer_c_screenwidth(); - fVar28 = ((float)fVar29 - 0.25000000) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_5 + 0x2c)) * 0.25000000); - } - *param_1 = 0xb4000000; - param_1[1] = (int)*(float *)(param_4 + 0x2c) | 0xce000000; - param_1[2] = 0xb2000000; - param_1[3] = (int)*(float *)(param_5 + 0x2c) << 0x10 | (int)*(float *)(param_2 + 0x2c); - param_1[4] = 0xb4000000; - fVar29 = getPlayer_c_screenleft(); - uVar4 = proc_7F094298((float)fVar29); - param_1[5] = uVar4; - param_1[6] = 0xb2000000; - uVar4 = proc_7F094298(fVar28); - param_1[7] = uVar4; - param_1[8] = 0xb4000000; - fVar29 = getPlayer_c_screenleft(); - fVar30 = getPlayer_c_screenwidth(); - uVar4 = proc_7F094298(((float)fVar30 + (float)fVar29) - 0.25000000); - param_1[9] = uVar4; - param_1[10] = 0xb2000000; - uVar4 = proc_7F094298(0.00000000); - param_1[0xb] = uVar4; - param_1[0xc] = 0xb4000000; - fVar29 = getPlayer_c_screenleft(); - uVar4 = proc_7F094298((float)fVar29); - param_1[0xd] = uVar4; - param_1[0xe] = 0xb2000000; - uVar4 = proc_7F094298(0.00000000); - param_1[0xf] = uVar4; - } - fStack288 = *(float *)(iStack4 + 0xc) * fStack272; - fVar32 = *(float *)(iStack8 + 0xc) * fStack272; - fStack284 = fVar32; - fVar28 = *(float *)(iStack12 + 0xc) * fStack272; - fStack280 = fVar28; - fStack292 = *(float *)(param_5 + 0xc) * fStack272; - fStack276 = fStack292; - if (fStack288 <= fVar32) { - fVar32 = fStack288; - } - if (fVar32 <= fVar28) { - fVar28 = fVar32; - } - if (fVar28 <= fStack292) { - fStack292 = fVar28; - } - fStack292 = fStack292 * 0.50000000; - fStack308 = *(float *)(iStack4 + 0x34) * fStack292; - fStack304 = *(float *)(iStack8 + 0x34) * fStack292; - fStack300 = *(float *)(iStack12 + 0x34) * fStack292; - fStack296 = *(float *)(param_5 + 0x34) * fStack292; - fStack356 = fStack308 * *(float *)(iStack4 + 0x20); - fStack352 = fStack308 * *(float *)(iStack4 + 0x24); - fStack348 = fStack308 * flt_8005760C; - fStack344 = fStack304 * *(float *)(iStack8 + 0x20); - fStack340 = fStack304 * *(float *)(iStack8 + 0x24); - fStack336 = fStack304 * flt_8005760C; - fStack332 = fStack300 * *(float *)(iStack12 + 0x20); - fStack328 = fStack300 * *(float *)(iStack12 + 0x24); - fStack324 = fStack300 * flt_8005760C; - fStack320 = fStack296 * *(float *)(param_5 + 0x20); - fStack316 = fStack296 * *(float *)(param_5 + 0x24); - fStack312 = fStack296 * flt_8005760C; - fStack364 = fStack356; - if (fStack356 < 0.00000000) { - fStack364 = -fStack356; - } - fStack360 = fStack352; - if (fStack352 < 0.00000000) { - fStack360 = -fStack352; - } - fVar28 = fStack344; - if (fStack344 < 0.00000000) { - fVar28 = -fStack344; - } - if ((fStack364 < fVar28) && (fStack364 = fStack344, fStack344 < 0.00000000)) { - fStack364 = -fStack344; - } - fVar28 = fStack340; - if (fStack340 < 0.00000000) { - fVar28 = -fStack340; - } - if (fStack360 < fVar28) { - if (0.00000000 <= fStack340) { - fStack360 = fStack340; - } - else { - fStack360 = -fStack340; - } - } - fVar28 = fStack332; - if (fStack332 < 0.00000000) { - fVar28 = -fStack332; - } - if ((fStack364 < fVar28) && (fStack364 = fStack332, fStack332 < 0.00000000)) { - fStack364 = -fStack332; - } - fVar28 = fStack328; - if (fStack328 < 0.00000000) { - fVar28 = -fStack328; - } - if ((fStack360 < fVar28) && (fStack360 = fStack328, fStack328 < 0.00000000)) { - fStack360 = -fStack328; - } - fVar28 = fStack320; - if (fStack320 < 0.00000000) { - fVar28 = -fStack320; - } - if (fStack364 < fVar28) { - if (0.00000000 <= fStack320) { - fStack364 = fStack320; - } - else { - fStack364 = -fStack320; - } - } - fVar28 = fStack316; - if (fStack316 < 0.00000000) { - fVar28 = -fStack316; - } - if (fStack360 < fVar28) { - if (0.00000000 <= fStack316) { - fStack360 = fStack316; - } - else { - fStack360 = -fStack316; - } - } - afStack380[0] = fStack356; - afStack380[1] = fStack352; - afStack380[2] = fStack308 * flt_8005760C; - afStack412[1] = fStack340; - afStack412[0] = fStack344; - afStack412[2] = fStack304 * flt_8005760C; - afStack444[1] = fStack328; - afStack444[2] = fStack300 * flt_8005760C; - afStack444[0] = fStack332; - pfVar24 = afStack412; - afStack380[3] = *(undefined4 *)(iStack4 + 0x30); - pfVar5 = afStack380; - afStack412[3] = *(undefined4 *)(iStack8 + 0x30); - pfVar23 = afStack444; - afStack444[3] = *(undefined4 *)(iStack12 + 0x30); - pfVar19 = afStack476; - pfVar21 = afStack508; - do { - fVar28 = *pfVar5; - fVar32 = *pfVar24; - fVar38 = *pfVar23; - pfVar23 = pfVar23 + 1; - pfVar24 = pfVar24 + 1; - pfVar5 = pfVar5 + 1; - *pfVar19 = fVar32 - fVar28; - *pfVar21 = fVar38 - fVar28; - fVar32 = fStack192; - fVar28 = fStack196; - pfVar19 = pfVar19 + 1; - pfVar21 = pfVar21 + 1; - } while (pfVar23 < afStack428); - pfVar19 = afStack572; - pfVar21 = afStack540; - pfVar5 = afStack380; - pfVar23 = afStack508; - pfVar24 = afStack636; - pfVar20 = afStack476; - pfVar27 = afStack604; - do { - fVar38 = *pfVar23; - fVar31 = *pfVar20; - pfVar25 = pfVar24 + 1; - fVar41 = (fVar38 * fVar32 - fStack184 * fVar31) / 65536.00000000; - *pfVar19 = fVar41; - *pfVar21 = (fVar31 * fStack188 - fVar28 * fVar38) / 65536.00000000; - fVar38 = *pfVar21; - fVar31 = *pfVar5; - *pfVar23 = fVar41 * fStack76; - *pfVar24 = fVar31; - fVar38 = fVar38 * fStack76; - *pfVar20 = fVar38; - *pfVar27 = fVar38; - pfVar19 = pfVar19 + 1; - pfVar21 = pfVar21 + 1; - pfVar5 = pfVar5 + 1; - pfVar23 = pfVar23 + 1; - pfVar24 = pfVar25; - pfVar20 = pfVar20 + 1; - pfVar27 = pfVar27 + 1; - } while (pfVar25 < afStack620); - fVar42 = *(float *)(param_2 + 0x10); - fVar28 = *(float *)(param_5 + 0x2c) / *(float *)(param_4 + 0x2c); - fVar39 = *(float *)(param_4 + 0x14); - fVar32 = *(float *)(param_2 + 0x14); - fVar36 = *(float *)(param_5 + 0x14); - fVar37 = *(float *)(param_4 + 0x18); - fVar43 = *(float *)(param_2 + 0x18); - fVar38 = *(float *)(param_5 + 0x18); - fVar31 = *(float *)(param_4 + 0x1c); - fVar44 = *(float *)(param_2 + 0x1c); - fVar41 = *(float *)(param_5 + 0x1c); - fVar34 = fVar42 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar34); - } - else { - fVar1 = FLOOR(fVar34); - } - uVar4 = (uint)fVar1; - if (true) { - if ((int)uVar4 < 0) goto LAB_7f0997c0; - } - else { - if (false) { - fVar34 = ROUND(fVar34 - 2147483648.00000000); - } - else { - fVar34 = FLOOR(fVar34 - 2147483648.00000000); - } - if (false) { -LAB_7f0997c0: - uVar4 = 0xffffffff; - } - else { - uVar4 = (int)fVar34 | 0x80000000; - } - } - fVar34 = fVar32 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar34); - } - else { - fVar1 = FLOOR(fVar34); - } - uVar35 = (uint)fVar1; - if (true) { - if ((int)uVar35 < 0) goto LAB_7f099850; - } - else { - if (false) { - fVar34 = ROUND(fVar34 - 2147483648.00000000); - } - else { - fVar34 = FLOOR(fVar34 - 2147483648.00000000); - } - if (false) { -LAB_7f099850: - uVar35 = 0xffffffff; - } - else { - uVar35 = (int)fVar34 | 0x80000000; - } - } - fVar34 = fVar43 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar34); - } - else { - fVar1 = FLOOR(fVar34); - } - uVar40 = (uint)fVar1; - if (true) { - if ((int)uVar40 < 0) goto LAB_7f0998e0; - } - else { - if (false) { - fVar34 = ROUND(fVar34 - 2147483648.00000000); - } - else { - fVar34 = FLOOR(fVar34 - 2147483648.00000000); - } - if (false) { -LAB_7f0998e0: - uVar40 = 0xffffffff; - } - else { - uVar40 = (int)fVar34 | 0x80000000; - } - } - fVar34 = fVar44 * 65536.00000000; - if (false) { - fVar1 = ROUND(fVar34); - } - else { - fVar1 = FLOOR(fVar34); - } - uVar33 = (uint)fVar1; - if (true) { - if (-1 < (int)uVar33) goto LAB_7f099988; - } - else { - if (false) { - fVar34 = ROUND(fVar34 - 2147483648.00000000); - } - else { - fVar34 = FLOOR(fVar34 - 2147483648.00000000); - } - if (true) { - uVar33 = (int)fVar34 | 0x80000000; - goto LAB_7f099988; - } - } - uVar33 = 0xffffffff; -LAB_7f099988: - uVar6 = proc_7F094298(((*(float *)(param_5 + 0x10) + - (fVar42 - *(float *)(param_4 + 0x10)) * fVar28) - fVar42) / - ((*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * 0.25000000)); - uVar7 = proc_7F094298(((fVar36 + (fVar32 - fVar39) * fVar28) - *(float *)(param_2 + 0x14)) / - ((*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * 0.25000000)); - uVar8 = proc_7F094298(((fVar38 + (fVar43 - fVar37) * fVar28) - *(float *)(param_2 + 0x18)) / - ((*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * 0.25000000)); - uVar9 = proc_7F094298(((fVar41 + (fVar44 - fVar31) * fVar28) - *(float *)(param_2 + 0x1c)) / - ((*(float *)(param_3 + 0x28) - *(float *)(param_2 + 0x28)) * 0.25000000)); - uVar10 = proc_7F094298((*(float *)(param_4 + 0x10) - *(float *)(param_2 + 0x10)) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_2 + 0x2c)) * 0.25000000)) - ; - uVar11 = proc_7F094298((*(float *)(param_4 + 0x14) - *(float *)(param_2 + 0x14)) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_2 + 0x2c)) * 0.25000000)) - ; - uVar12 = proc_7F094298((*(float *)(param_4 + 0x18) - *(float *)(param_2 + 0x18)) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_2 + 0x2c)) * 0.25000000)) - ; - uVar13 = proc_7F094298((*(float *)(param_4 + 0x1c) - *(float *)(param_2 + 0x1c)) / - ((*(float *)(param_4 + 0x2c) - *(float *)(param_2 + 0x2c)) * 0.25000000)) - ; - param_1[0x11] = uVar4 & 0xffff0000 | uVar35 >> 0x10; - param_1[0x10] = 0xb4000000; - param_1[0x12] = 0xb2000000; - param_1[0x13] = uVar40 & 0xffff0000 | uVar33 >> 0x10; - param_1[0x14] = 0xb4000000; - param_1[0x15] = uVar6 & 0xffff0000 | uVar7 >> 0x10; - param_1[0x16] = 0xb2000000; - param_1[0x17] = uVar8 & 0xffff0000 | uVar9 >> 0x10; - param_1[0x19] = uVar4 << 0x10 | uVar35 & 0xffff; - param_1[0x18] = 0xb4000000; - param_1[0x1a] = 0xb2000000; - param_1[0x1b] = uVar40 << 0x10 | uVar33 & 0xffff; - param_1[0x1c] = 0xb4000000; - param_1[0x1d] = uVar6 << 0x10 | uVar7 & 0xffff; - param_1[0x1e] = 0xb2000000; - param_1[0x1f] = uVar8 << 0x10 | uVar9 & 0xffff; - param_1[0x21] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - param_1[0x20] = 0xb4000000; - param_1[0x22] = 0xb2000000; - param_1[0x23] = uVar12 & 0xffff0000 | uVar13 >> 0x10; - param_1[0x24] = 0xb4000000; - param_1[0x25] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - param_1[0x26] = 0xb2000000; - param_1[0x27] = uVar12 & 0xffff0000 | uVar13 >> 0x10; - param_1[0x29] = uVar10 << 0x10 | uVar11 & 0xffff; - param_1[0x28] = 0xb4000000; - param_1[0x2a] = 0xb2000000; - param_1[0x2b] = uVar12 << 0x10 | uVar13 & 0xffff; - param_1[0x2c] = 0xb4000000; - param_1[0x2d] = uVar10 << 0x10 | uVar11 & 0xffff; - param_1[0x2f] = uVar12 << 0x10 | uVar13 & 0xffff; - param_1[0x2e] = 0xb2000000; - fStack668 = fStack364 * 0.03125000; - fStack664 = fStack360 * 0.03125000; - pfVar5 = afStack508; - fStack660 = fStack292 * 0.03125000; - pfVar23 = afStack700; - pfVar21 = afStack476; - pfVar19 = afStack732; - do { - fVar28 = *pfVar5; - if (fVar28 < 0.00000000) { - fVar28 = -fVar28; - } - fVar32 = *pfVar21; - *pfVar23 = fVar28 * 0.03125000; - if (fVar32 < 0.00000000) { - fVar32 = -fVar32; - } - pfVar24 = pfVar19 + 1; - pfVar21 = pfVar21 + 1; - pfVar5 = pfVar5 + 1; - pfVar23 = pfVar23 + 1; - *pfVar19 = fVar32 * 0.03125000; - pfVar19 = pfVar24; - } while (pfVar24 != afStack716); - afStack732[0] = afStack732[0] + fStack668 + afStack700[0] * 2.00000000; - afStack732[1] = afStack732[1] + fStack664 + afStack700[1] * 2.00000000; - afStack732[2] = afStack732[2] + fStack660 + afStack700[2] * 2.00000000; - if (afStack732[1] <= afStack732[0]) { - afStack732[1] = afStack732[0]; - } - if (afStack732[2] <= afStack732[1]) { - afStack732[2] = afStack732[1]; - } - if (1.00000000 < afStack732[2] * 0.00097656) { - fVar28 = 1.00000000 / (afStack732[2] * 0.00097656); - } - else { - fVar28 = 1.00000000; - } - uVar4 = proc_7F094298(fVar28 * afStack636[0]); - uVar35 = proc_7F094298(fVar28 * afStack636[1]); - uVar40 = proc_7F094298(fVar28 * afStack636[2]); - uVar33 = proc_7F094298(fVar28 * afStack636[3]); - uVar6 = proc_7F094298(fVar28 * afStack508[0]); - uVar7 = proc_7F094298(fVar28 * afStack508[1]); - uVar8 = proc_7F094298(fVar28 * afStack508[2]); - uVar9 = proc_7F094298(fVar28 * afStack508[3]); - uVar10 = proc_7F094298(fVar28 * afStack476[0]); - uVar11 = proc_7F094298(fVar28 * afStack476[1]); - uVar12 = proc_7F094298(fVar28 * afStack476[2]); - uVar13 = proc_7F094298(fVar28 * afStack476[3]); - uVar14 = proc_7F094298(fVar28 * afStack604[0]); - uVar15 = proc_7F094298(fVar28 * afStack604[1]); - uVar16 = proc_7F094298(fVar28 * afStack604[2]); - uVar17 = proc_7F094298(fVar28 * afStack604[3]); - param_1[0x30] = 0xb4000000; - param_1[0x31] = uVar4 & 0xffff0000 | uVar35 >> 0x10; - param_1[0x32] = 0xb2000000; - param_1[0x33] = uVar40 & 0xffff0000 | uVar33 >> 0x10; - param_1[0x34] = 0xb4000000; - param_1[0x35] = uVar6 & 0xffff0000 | uVar7 >> 0x10; - param_1[0x36] = 0xb2000000; - param_1[0x37] = uVar8 & 0xffff0000 | uVar9 >> 0x10; - param_1[0x38] = 0xb4000000; - param_1[0x39] = uVar4 << 0x10 | uVar35 & 0xffff; - param_1[0x3a] = 0xb2000000; - param_1[0x3b] = uVar40 << 0x10 | uVar33 & 0xffff; - param_1[0x3c] = 0xb4000000; - param_1[0x3d] = uVar6 << 0x10 | uVar7 & 0xffff; - param_1[0x3e] = 0xb2000000; - param_1[0x3f] = uVar8 << 0x10 | uVar9 & 0xffff; - param_1[0x40] = 0xb4000000; - param_1[0x41] = uVar14 & 0xffff0000 | uVar15 >> 0x10; - param_1[0x43] = uVar16 & 0xffff0000 | uVar17 >> 0x10; - param_1[0x42] = 0xb2000000; - param_1[0x44] = 0xb4000000; - param_1[0x45] = uVar10 & 0xffff0000 | uVar11 >> 0x10; - param_1[0x46] = 0xb2000000; - param_1[0x47] = uVar12 & 0xffff0000 | uVar13 >> 0x10; - param_1[0x48] = 0xb4000000; - param_1[0x49] = uVar14 << 0x10 | uVar15 & 0xffff; - param_1[0x4a] = 0xb2000000; - param_1[0x4b] = uVar16 << 0x10 | uVar17 & 0xffff; - param_1[0x4c] = 0xb4000000; - param_1[0x4d] = uVar10 << 0x10 | uVar11 & 0xffff; - param_1[0x4e] = 0xb3000000; - param_1[0x4f] = uVar12 << 0x10 | uVar13 & 0xffff; - return param_1 + 0x50; -} - - - -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; - return; -} - - - -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; - dword_CODE_bss_8007A0C0 = 0; - dword_CODE_bss_8007A0C4 = 1; - dword_CODE_bss_8007A0C8 = 2; - dword_CODE_bss_8007A0CC = 3; - return; -} - - - -void init_player_data_ptrs_construct_viewports(int playercount) - -{ - u32 uVar1; - short width; - short height; - PLAYER_ID player; - - ptr_BONDdata_p1[0] = NULL; - ptr_BONDdata_p1[1] = NULL; - ptr_BONDdata_p1[2] = NULL; - ptr_BONDdata_p1[3] = NULL; - uVar1 = get_random_value(); - random_byte = uVar1 & 0xff; - if (playercount < 1) { - initBONDdataforPlayer(PLAYER1); - set_cur_player(PLAYER1); - width = get_video2_settings_width(); - height = get_video2_settings_height(); - set_cur_player_screen_size(width,height); - width = get_video2_settings_ulx(); - height = get_video2_settings_uly(); - set_cur_player_viewport_size(width,height); - } - else { - player = PLAYER1; - if (0 < playercount) { - do { - initBONDdataforPlayer(player); - player += PLAYER2; - } while (player != playercount); - } - set_cur_player(PLAYER1); - } - return; -} - - - -s32 get_num_players(void) - -{ - uint uVar1; - - uVar1 = (uint)(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 += 1; - } - if (ptr_BONDdata_p1[3] != NULL) { - uVar1 += 1; - } - return (s32)uVar1; -} - - - -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,'\x04'); - 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 += 1; - (*ppPVar3)->last_kill_time = -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; - return; -} - - - -void set_cur_player(PLAYER_ID playernum) - -{ - pPlayer = ptr_BONDdata_p1[playernum]; - pPlayersPerm = player1_playerdata + playernum; - player_num = playernum; - return; -} - - - -u32 get_cur_playernum(void) - -{ - return player_num; -} - - - -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 += 1; - numplayers = get_num_players(); - if (numplayers <= i) { - return; - } - pPVar1 = *ppPVar2; - } - } - return; -} - - - -void set_cur_player_screen_size(short width,short height) - -{ - pPlayer->viewx = width; - pPlayer->viewy = height; - return; -} - - - -void set_cur_player_viewport_size(short ulx,short uly) - -{ - pPlayer->viewleft = ulx; - pPlayer->viewtop = uly; - return; -} - - - -void set_cur_player_fovy(f32 fovy) - -{ - pPlayer->fovy = fovy; - return; -} - - - -void set_cur_player_aspect(f32 aspect) - -{ - pPlayer->aspect = aspect; - return; -} - - - -f32 get_cur_player_fovy(void) - -{ - return pPlayer->fovy; -} - - - -s32 proc_7F09B244(ITEM_IDS param_1) - -{ - s32 sVar1; - - sVar1 = -1; - if ((int)param_1 < 0x20) { - if (param_1 < ITEM_TANKSHELLS) { - // WARNING: Could not recover jumptable at 0x7f09b27c. Too many branches - // WARNING: Treating indirect jump as call - sVar1 = (*(code *)jpt_700CF1AC[param_1])(); - return sVar1; - } - } - else { - if (param_1 != ITEM_TOKEN) { - return -1; - } - sVar1 = 0x14d; - } - return sVar1; -} - - - -void proc_7F09B368(int param_1) - -{ - set_0x4_in_runtime_flags_for_item_in_guards_hand - (*(int **)(pPlayer->position_data_pointer + 4),param_1); - return; -} - - - -longlong proc_7F09B398(uint param_1) - -{ - undefined2 *puVar1; - longlong lVar2; - ITEM_IDS IVar3; - s32 sVar4; - undefined *puVar5; - uint uVar6; - - puVar1 = *(undefined2 **)(pPlayer->position_data_pointer + 4); - lVar2 = (longlong)(int)puVar1; - if (*(int *)(puVar1 + param_1 * 2 + 0xb0) == 0) { - IVar3 = get_item_in_hand(param_1); - sVar4 = proc_7F09B244(IVar3); - lVar2 = (longlong)sVar4; - if (-1 < lVar2) { - if ((param_1 & 0x3fffffff) == 0) { - uVar6 = 0; - } - else { - uVar6 = 0x10000000; - } - puVar5 = create_held_weapon(puVar1,sVar4,(char)IVar3,uVar6,NULL,NULL); - lVar2 = (longlong)(int)puVar5; - } - } - return lVar2; -} - - - -void proc_7F09B41C(void) - -{ - undefined4 uVar1; - u32 uVar2; - undefined4 *puVar3; - uint uVar4; - int iVar5; - int *piVar6; - undefined4 *puVar7; - undefined4 *puVar8; - - piVar6 = &dword_CODE_bss_8007A0C0; - iVar5 = 0; - do { - *piVar6 = iVar5; - iVar5 += 1; - piVar6 = piVar6 + 1; - } while (iVar5 < 4); - puVar8 = &dword_CODE_bss_8007A0C0; - iVar5 = 0; - puVar7 = puVar8; - do { - uVar2 = get_random_value(); - uVar4 = 4 - iVar5; - puVar3 = puVar8 + uVar2 % uVar4; - uVar1 = *puVar7; - iVar5 += 1; - if (uVar4 == 0) { - trap(0x1c00); - } - *puVar7 = *puVar3; - puVar8 = puVar8 + 1; - puVar7 = puVar7 + 1; - *puVar3 = uVar1; - } while (iVar5 != 3); - return; -} - - - -int proc_7F09B4D8(int param_1) - -{ - int iVar1; - int iVar2; - int *piVar3; - - iVar2 = 0; - piVar3 = &dword_CODE_bss_8007A0C0; - iVar1 = dword_CODE_bss_8007A0C0; - while( true ) { - piVar3 = piVar3 + 1; - if (param_1 == iVar1) { - return iVar2; - } - if (ptr_BONDdata_p1[iVar1] != NULL) { - iVar2 += 1; - } - if (piVar3 == &DAT_8007a0d0) break; - iVar1 = *piVar3; - } - return iVar2; -} - - - -int proc_7F09B528(int param_1) - -{ - if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C0] != NULL) { - if (param_1 == 0) { - return dword_CODE_bss_8007A0C0; - } - param_1 += -1; - } - if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C4] != NULL) { - if (param_1 == 0) { - return dword_CODE_bss_8007A0C4; - } - param_1 += -1; - } - if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C8] != NULL) { - if (param_1 == 0) { - return dword_CODE_bss_8007A0C8; - } - param_1 += -1; - } - if ((ptr_BONDdata_p1[dword_CODE_bss_8007A0CC] != NULL) && (param_1 == 0)) { - return dword_CODE_bss_8007A0CC; - } - return 0; -} - - - -void proc_7F09B600(byte *param_1,byte *param_2,uint *param_3) - -{ - u32 uVar1; - int iVar2; - uint uVar3; - byte *pbVar4; - uint uVar5; - uint uVar6; - uint uVar7; - int iStack16; - uint uStack12; - - uVar5 = 0; - iStack16 = -0x707f60b9; - uStack12 = 0x3108b3c1; - uVar6 = 0; - uVar7 = 0; - if (param_1 < param_2) { - pbVar4 = param_1; - do { - iVar2 = (uint)*pbVar4 << (uVar5 & 0xf); - uVar3 = iVar2 + uStack12; - iStack16 = (uint)(uVar3 < uStack12) + (iVar2 >> 0x1f) + iStack16; - uStack12 = uVar3; - uVar1 = lotsa_shifting_random_related((ulonglong *)&iStack16); - pbVar4 = pbVar4 + 1; - uVar5 += 7; - uVar6 ^= uVar1; - } while (pbVar4 != param_2); - } - param_2 = param_2 + -1; - if (param_1 <= param_2) { - do { - iVar2 = (uint)*param_2 << (uVar5 & 0xf); - uVar3 = iVar2 + uStack12; - iStack16 = (uint)(uVar3 < uStack12) + (iVar2 >> 0x1f) + iStack16; - uStack12 = uVar3; - uVar1 = lotsa_shifting_random_related((ulonglong *)&iStack16); - param_2 = param_2 + -1; - uVar5 += 3; - uVar7 ^= uVar1; - } while (param_2 != param_1 + -1); - } - *param_3 = uVar6; - param_3[1] = uVar7; - return; -} - - - -undefined4 proc_7F09B740(void) - -{ - ulonglong uVar1; - - uVar1 = ((randomseed << 0x3f) >> 0x1f | (randomseed << 0x1f) >> 0x20) ^ - (randomseed << 0x2c) >> 0x20; - randomseed = uVar1 >> 0x14 & 0xfff ^ uVar1; - return (int)randomseed; -} - - - -void proc_7F09B788(u64 param_1) - -{ - randomseed = param_1 + 1; - return; -} - - - -void removed_7f09b7a0(void) - -{ - return; -} - - - -void proc_7F09B7A8(void) - -{ - int iVar1; - - iVar1 = 0; - if (0 < DAT_8007a0d4) { - do { - iVar1 += 0x14; - } while (iVar1 < DAT_8007a0d4 * 0x14); - } - return; -} - - - -void proc_7F09B7E4(void) - -{ - int iVar1; - - iVar1 = 0; - if (0 < DAT_8007a0dc) { - do { - iVar1 += 0x14; - } while (iVar1 < DAT_8007a0dc * 0x14); - } - return; -} - - - -void proc_7F09B820(void) - -{ - s32 sVar1; - int iVar2; - int iVar3; - - sVar1 = get_num_players(); - if (sVar1 < 2) { - iVar2 = proc_7F0BDF04(); - if ((iVar2 == 0x1e) || (iVar2 == 0x1d)) { - DAT_8007a0d0 = 500; - DAT_8007a0d4 = 0x14; - DAT_8007a0d8 = 500; - DAT_8007a0dc = 0x14; - } - else { - DAT_8007a0d0 = 500; - DAT_8007a0d4 = 0x14; - DAT_8007a0d8 = 0x5dc; - DAT_8007a0dc = 0x28; - } - } - else { - DAT_8007a0d0 = 3000; - DAT_8007a0d4 = 0x50; - DAT_8007a0d8 = 500; - DAT_8007a0dc = 0x14; - } - DAT_8007a0e8 = (uint *)mempAllocBytesInBank(DAT_8007a0d4 * 0x14,'\x04'); - DAT_8007a0e0 = mempAllocBytesInBank(DAT_8007a0d0 << 4,'\x04'); - DAT_8007a0ec = (uint *)mempAllocBytesInBank(DAT_8007a0dc * 0x14,'\x04'); - DAT_8007a0e4 = mempAllocBytesInBank(DAT_8007a0d8 << 4,'\x04'); - DAT_8007a0f0 = (undefined2)DAT_8007a0d0; - *DAT_8007a0e8 = DAT_8007a0e0; - *(short *)(DAT_8007a0e8 + 3) = (short)DAT_8007a0d0; - *(undefined2 *)((int)DAT_8007a0e8 + 0xe) = 0; - iVar2 = 0x14; - *(undefined2 *)(DAT_8007a0e8 + 4) = 0xffff; - iVar3 = 1; - *(undefined2 *)((int)DAT_8007a0e8 + 0x12) = 0xffff; - if (1 < DAT_8007a0d4) { - do { - iVar3 += 1; - *(undefined2 *)((int)DAT_8007a0e8 + iVar2 + 0xe) = 0xffff; - iVar2 += 0x14; - } while (iVar3 < DAT_8007a0d4); - } - iVar3 = 1; - DAT_8007a0f2 = (undefined2)DAT_8007a0d8; - iVar2 = 0x14; - *DAT_8007a0ec = DAT_8007a0e4; - *(short *)(DAT_8007a0ec + 3) = (short)DAT_8007a0d8; - *(undefined2 *)((int)DAT_8007a0ec + 0xe) = 0; - *(undefined2 *)(DAT_8007a0ec + 4) = 0xffff; - *(undefined2 *)((int)DAT_8007a0ec + 0x12) = 0xffff; - if (1 < DAT_8007a0dc) { - do { - iVar3 += 1; - *(undefined2 *)((int)DAT_8007a0ec + iVar2 + 0xe) = 0xffff; - iVar2 += 0x14; - } while (iVar3 < DAT_8007a0dc); - } - return; -} - - - -void proc_7F09BAC4(int param_1,int param_2) - -{ - char cVar1; - ushort uVar2; - int objinst; - object_standard *poVar3; - int *piVar4; - ushort *partdesc; - ushort *puVar5; - - poVar3 = get_ptr_obj_pos_list_current_entry(); - if (poVar3 == NULL) { - return; - } - cVar1 = *(char *)poVar3; - do { - if (cVar1 == '\x01') { - objinst = *(int *)(*(int *)&poVar3->pad + 0x14); - partdesc = **(ushort ***)(objinst + 8); - if (partdesc == NULL) { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - else { - uVar2 = *partdesc; - while ((uVar2 & 0xff) != 0x18) { - puVar5 = *(ushort **)(partdesc + 10); - if ((puVar5 == NULL) && (puVar5 = partdesc, partdesc != NULL)) { - puVar5 = *(ushort **)(partdesc + 6); - while ((puVar5 == NULL && - (partdesc = *(ushort **)(partdesc + 4), puVar5 = partdesc, - partdesc != NULL))) { - puVar5 = *(ushort **)(partdesc + 6); - } - } - if (puVar5 == NULL) goto LAB_7f09bb90; - uVar2 = *puVar5; - partdesc = puVar5; - } - piVar4 = (int *)extract_id_from_object_structure_microcode(objinst,partdesc); - if (param_1 == *piVar4) { - *piVar4 = param_2; -LAB_7f09bb90: - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - else { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - } - } - else { - poVar3 = (object_standard *)poVar3->runtime_MATRIX3; - } - if (poVar3 == NULL) { - return; - } - cVar1 = *(char *)poVar3; - } while( true ); -} - - - -void proc_7F09BBBC(void) - -{ - short sVar1; - int iVar2; - bool bVar3; - int *piVar4; - int iVar5; - int iVar6; - int iVar7; - int *piVar8; - int iVar9; - int iVar10; - - bVar3 = false; - if ((longlong)DAT_8007a0f2 < (longlong)(DAT_8007a0d8 >> 2)) { - iVar10 = 0; - iVar5 = DAT_8007a0dc + -1; - iVar7 = DAT_8007a0dc; - iVar9 = DAT_8007a0ec; - if (0 < iVar5) { - do { - iVar2 = iVar10 * 0x14; - iVar6 = (iVar10 + 1) * 0x10000 >> 0x10; - if ((0 < *(short *)(iVar9 + iVar2 + 0xe)) && - ((iVar10 + 1) * 0x10000 >> 0x10 < iVar7)) { - do { - iVar5 = iVar6 * 0x14; - piVar8 = (int *)(iVar9 + iVar2); - piVar4 = (int *)(iVar9 + iVar5); - if ((0 < *(short *)((int)piVar4 + 0xe)) && - ((piVar8[1] == piVar4[1] && (piVar8[2] == piVar4[2])))) { - bVar3 = true; - proc_7F09BAC4(*piVar4,*piVar8); - *(short *)(DAT_8007a0ec + iVar2 + 0xe) = - *(short *)(DAT_8007a0ec + iVar2 + 0xe) + - *(short *)(DAT_8007a0ec + iVar5 + 0xe); - *(undefined2 *)(DAT_8007a0ec + iVar5 + 0xe) = 0; - DAT_8007a0f2 += *(short *)(DAT_8007a0ec + iVar5 + 0xc); - iVar7 = DAT_8007a0dc; - iVar9 = DAT_8007a0ec; - } - iVar6 = (int)(short)((short)iVar6 + 1); - } while (iVar6 < iVar7); - iVar5 = iVar7 + -1; - } - iVar10 = (int)(short)((short)iVar10 + 1); - } while (iVar10 < iVar5); - } - } - if (bVar3) { - bVar3 = false; - iVar7 = 0; - do { - iVar9 = DAT_8007a0ec + iVar7 * 0x14; - sVar1 = *(short *)(iVar9 + 0x10); - if (sVar1 < 0) { - bVar3 = true; - } - else { - if (*(short *)(iVar9 + 0xe) == 0) { - iVar5 = (int)sVar1 * 0x14; - if (*(short *)(DAT_8007a0ec + iVar5 + 0xe) == 0) { - *(short *)(iVar9 + 0xc) = - *(short *)(iVar9 + 0xc) + *(short *)(DAT_8007a0ec + iVar5 + 0xc); - *(undefined2 *)(DAT_8007a0ec + iVar5 + 0xe) = 0xffff; - sVar1 = *(short *)(DAT_8007a0ec + iVar5 + 0x10); - *(short *)(DAT_8007a0ec + iVar7 * 0x14 + 0x10) = sVar1; - if (-1 < sVar1) { - *(undefined2 *)(DAT_8007a0ec + (int)sVar1 * 0x14 + 0x12) = (short)iVar7; - } - goto LAB_7f09bdf0; - } - } - iVar7 = (int)sVar1; - } -LAB_7f09bdf0: - } while (!bVar3); - } - if ((longlong)DAT_8007a0f2 < (longlong)(DAT_8007a0d8 >> 2)) { - proc_7F056690(); - } - return; -} - - - -int proc_7F09BE4C(longlong param_1,longlong param_2,int param_3,int param_4) - -{ - short sVar1; - int *piVar2; - bool bVar3; - longlong lVar4; - int *piVar5; - int iVar6; - int *piVar7; - longlong lVar8; - longlong lVar9; - short *psVar10; - short sVar11; - int iVar12; - - if (param_2 == 0xb0b) { - psVar10 = &DAT_8007a0f2; - sVar1 = DAT_8007a0dc._2_2_; - piVar2 = DAT_8007a0ec; - } - else { - if (param_2 != 0xcccc) { - return 0; - } - psVar10 = &DAT_8007a0f0; - sVar1 = DAT_8007a0d4._2_2_; - piVar2 = DAT_8007a0e8; - } - lVar9 = (longlong)sVar1; - iVar12 = 0; - lVar4 = 0; - lVar8 = 0; - do { - piVar7 = piVar2 + (int)lVar8 * 5; - if (*(short *)((int)piVar7 + 0xe) == 0) { - if (*(short *)(piVar7 + 3) < param_1) { - sVar1 = *(short *)(piVar7 + 4); - goto LAB_7f09befc; - } - iVar12 = 1; - } - else { - sVar1 = *(short *)(piVar7 + 4); -LAB_7f09befc: - lVar8 = (longlong)sVar1; - lVar4 = (longlong)((int)lVar4 + 1); - if ((lVar8 == -1) || (lVar9 < lVar4)) { - iVar12 = -1; - } - } - } while (iVar12 == 0); - if (lVar9 < lVar4) { - proc_7F09B7A8(); - proc_7F09B7E4(); - iVar6 = 0; - } - else { - iVar6 = 0; - if (iVar12 == 1) { - bVar3 = false; - piVar7 = piVar2 + (int)lVar8 * 5; - sVar1 = *(short *)(piVar7 + 3); - piVar7[1] = param_3; - *(short *)((int)piVar7 + 0xe) = *(short *)((int)piVar7 + 0xe) + 1; - piVar7[2] = param_4; - sVar11 = (short)param_1; - if (((longlong)sVar1 != param_1) && (lVar4 = 0, piVar5 = piVar2, 0 < lVar9)) { - do { - if (*(short *)((int)piVar5 + 0xe) == -1) { - *(short *)(piVar7 + 3) = sVar11; - *piVar5 = *piVar7 + (int)param_1 * 0x10; - *(short *)(piVar5 + 3) = sVar1 - sVar11; - *(undefined2 *)((int)piVar5 + 0xe) = 0; - *(undefined2 *)((int)piVar5 + 0x12) = (short)lVar8; - bVar3 = true; - *(undefined2 *)(piVar5 + 4) = *(undefined2 *)(piVar7 + 4); - if (-1 < *(short *)(piVar7 + 4)) { - *(undefined2 *)((int)piVar2 + (int)*(short *)(piVar7 + 4) * 0x14 + 0x12) - = (short)lVar4; - } - *(short *)(piVar7 + 4) = (short)lVar4; - break; - } - lVar4 = (longlong)((int)lVar4 + 1); - piVar5 = piVar5 + 5; - } while (lVar4 != lVar9); - } - if (bVar3) { - *psVar10 = *psVar10 - sVar11; - } - else { - *psVar10 = *psVar10 - sVar1; - } - iVar6 = *piVar7; - } - } - return iVar6; -} - - - -void proc_7F09C044(uint param_1) - -{ - short sVar1; - bool bVar2; - int iVar3; - longlong lVar4; - uint *puVar5; - longlong lVar6; - int iVar7; - short *psVar8; - short sVar9; - - if (((param_1 < DAT_8007a0e0) || - (psVar8 = &DAT_8007a0f0, iVar7 = DAT_8007a0e8, - (DAT_8007a0d0 + -1) * 0x10 + DAT_8007a0e0 < param_1)) && - ((param_1 < DAT_8007a0e4 || - (psVar8 = &DAT_8007a0f2, iVar7 = DAT_8007a0ec, - (DAT_8007a0d8 + -1) * 0x10 + DAT_8007a0e4 < param_1)))) { - proc_7F09B7A8(); - proc_7F09B7E4(); - } - else { - lVar6 = 0; - bVar2 = false; - do { - puVar5 = (uint *)(iVar7 + (int)lVar6 * 0x14); - if (param_1 == *puVar5) { - bVar2 = true; - *(short *)((int)puVar5 + 0xe) = *(short *)((int)puVar5 + 0xe) + -1; - if (*(short *)((int)puVar5 + 0xe) == 0) { - *psVar8 = *psVar8 + *(short *)(puVar5 + 3); - if (*(short *)(puVar5 + 4) < 0) { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - else { - iVar3 = iVar7 + (int)*(short *)(puVar5 + 4) * 0x14; - if (*(short *)(iVar3 + 0xe) == 0) { - *(short *)(puVar5 + 3) = - *(short *)(puVar5 + 3) + *(short *)(iVar3 + 0xc); - *(undefined2 *)(puVar5 + 4) = *(undefined2 *)(iVar3 + 0x10); - *(undefined2 *)(iVar3 + 0xe) = 0xffff; - if (*(short *)(puVar5 + 4) < 0) { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - else { - *(undefined2 *)(iVar7 + (int)*(short *)(puVar5 + 4) * 0x14 + 0x12) = - (short)lVar6; - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - } - else { - lVar4 = (longlong)*(short *)((int)puVar5 + 0x12); - } - } - if (-1 < lVar4) { - iVar3 = iVar7 + (int)lVar4 * 0x14; - sVar9 = (short)lVar4; - if (*(short *)(iVar3 + 0xe) == 0) { - lVar6 = (longlong)(int)sVar9; - *(short *)(iVar3 + 0xc) = - *(short *)(iVar3 + 0xc) + *(short *)(puVar5 + 3); - *(undefined2 *)(iVar3 + 0x10) = *(undefined2 *)(puVar5 + 4); - *(undefined2 *)((int)puVar5 + 0xe) = 0xffff; - sVar1 = *(short *)(iVar7 + (int)sVar9 * 0x14 + 0x10); - if (-1 < sVar1) { - *(short *)(iVar7 + (int)sVar1 * 0x14 + 0x12) = sVar9; - } - } - } - } - } - else { - lVar6 = (longlong)*(short *)(puVar5 + 4); - if (lVar6 == -1) { - bVar2 = true; - } - } - } while (!bVar2); - } - return; -} - - - -void proc_7F09C250(int param_1,float *param_2,int param_3,undefined4 param_4,int param_5, - undefined param_6,char *param_7,int param_8) - -{ - char *pcVar1; - byte bVar2; - short sVar3; - object_standard *poVar5; - object_standard *poVar6; - ulonglong uVar4; - u32 uVar7; - s32 sVar8; - int *piVar9; - object_standard *poVar10; - int iVar11; - longlong lVar12; - int iVar13; - float fVar14; - float __x; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float extraout_f14_00; - float fVar15; - - iVar11 = (int)(short)param_4; - iVar13 = iVar11 * 0x40; - poVar10 = NULL; - if ((iVar11 != 0x10) && (iVar11 != 1)) { - DAT_80040170 = 6; - } - iVar11 = 0; - piVar9 = DAT_8007a144; - do { - if (*piVar9 == 0) { - poVar10 = (object_standard *)(iVar11 + (int)DAT_8007a144); - break; - } - iVar11 += 0x3e0; - piVar9 = piVar9 + 0xf8; - } while (iVar11 < 0x1740); - if (poVar10 == NULL) { - return; - } - poVar5 = remove_last_obj_pos_data_entry(); - if ((&DAT_800402bd)[iVar13] != 0) { - poVar6 = poVar5; - play_sfx_a1(ptr_sfx_buf,(ushort)(byte)(&DAT_800402bd)[iVar13],NULL); - sub_GAME_7F053A10((int)poVar6,param_2); - } - if (poVar5 == NULL) { - return; - } - bVar2 = *(byte *)((int)&poVar5->extrascale + 1); - *(undefined *)&poVar5->extrascale = 7; - *(byte *)((int)&poVar5->extrascale + 1) = bVar2 | 2; - *(object_standard **)&poVar5->obj = poVar10; - iVar11 = 0; - poVar5->runtime_ptr_obj_instance_controller = param_3; - *(float *)&poVar5->flags = *param_2; - *(float *)&poVar5->flags2 = param_2[1]; - *(float *)&poVar5->runtime_ptr_obj_posdata = param_2[2]; - if (*param_7 != -1) { - *(char *)&poVar5->runtime_MATRIX5 = *param_7; - poVar6 = poVar5; - while( true ) { - pcVar1 = param_7 + 1; - iVar11 += 1; - param_7 = param_7 + 1; - if ((*pcVar1 == -1) || (iVar11 == 7)) break; - *(char *)((int)&poVar6->runtime_MATRIX5 + 1) = *pcVar1; - poVar6 = (object_standard *)((int)&poVar6->extrascale + 1); - } - } - *(undefined *)((int)&poVar5->runtime_MATRIX5 + iVar11) = 0xff; - lVar12 = 0; - if (param_8 != 0) { - *(byte *)((int)&poVar5->extrascale + 1) = *(byte *)((int)&poVar5->extrascale + 1) | 8; - } - proc_7F03A4F0((int)poVar5); - set_stateflag_0x04_for_posdata((int)poVar5); - *(undefined2 *)&poVar10[7].runtime_MATRIXC = 0; - *(undefined2 *)((int)&poVar10[7].runtime_MATRIXC + 2) = 0xffff; - *(undefined *)((int)&poVar10[7].runtime_MATRIXD + 1) = (char)param_5; - *(object_standard **)poVar10 = poVar5; - *(int *)&poVar10->obj = param_1; - *(char *)&poVar10[7].runtime_MATRIXD = (char)param_4; - *(undefined *)((int)&poVar10[7].runtime_MATRIXD + 2) = param_6; - if (param_5 == 0) { - *(float *)&poVar10[7].runtime_MATRIXE = flt_800576B0; - } - else { - if (param_1 == 0) { - fVar14 = *param_2; - } - else { - if (*(int *)(param_1 + 0x14) != 0) { - poVar10[7].runtime_MATRIXE = *(int *)(param_1 + 8); - fVar14 = (float)proc_7F0B2970(); - *(float *)&poVar10[7].runtime_MATRIXF = fVar14 + 4.00000000; - poVar10[7].runtime_x_pos = *(float *)(param_1 + 0x10); - uVar4 = proc_7F0B2FD8(*(int *)(param_1 + 0x14)); - *(short *)&poVar10[7].runtime_y_pos = (short)uVar4; - goto LAB_7f09c500; - } - fVar14 = *param_2; - } - *(float *)&poVar10[7].runtime_MATRIXE = fVar14; - fVar14 = (float)proc_7F0B2970(); - *(float *)&poVar10[7].runtime_MATRIXF = fVar14 + 4.00000000; - poVar10[7].runtime_x_pos = param_2[2]; - uVar4 = proc_7F0B2FD8(param_3); - *(short *)&poVar10[7].runtime_y_pos = (short)uVar4; - } -LAB_7f09c500: - uVar7 = get_random_value(); - fVar14 = (float)uVar7; - if ((int)uVar7 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - fVar15 = (fVar14 * 0.00000000 * 0.50000000 + 1.00000000) * *(float *)(&DAT_80040294 + iVar13); - uVar7 = get_random_value(); - fVar14 = (float)uVar7; - if ((int)uVar7 < 0) { - fVar14 = fVar14 + 4294967296.00000000; - } - __x = fVar14 * 0.00000000 * flt_800576B4; - fVar14 = cosf(__x); - *(float *)&poVar10->runtime_ptr_obj_instance_controller = fVar14 * fVar15; - fVar14 = sinf(__x); - *(undefined2 *)&poVar10->runtime_MATRIX1 = 1; - *(float *)&poVar10->runtime_MATRIX0 = fVar14 * fVar15; - *(float *)&poVar10->flags = *param_2; - *(float *)&poVar10->flags2 = param_2[1]; - *(float *)&poVar10->runtime_ptr_obj_posdata = param_2[2]; - fVar14 = extraout_f12; - fVar15 = extraout_f14; - if (0 < *(short *)(&DAT_800402a8 + iVar13)) { - do { - proc_7F09F254(param_2,fVar14,fVar15,*(float *)(&DAT_800402b0 + iVar13), - *(float *)(&DAT_800402b4 + iVar13)); - lVar12 = (longlong)((int)lVar12 + 1); - fVar14 = extraout_f12_00; - fVar15 = extraout_f14_00; - } while (lVar12 < *(short *)(&DAT_800402a8 + iVar13)); - } - sVar8 = get_num_players(); - iVar11 = 0; - if (1 < sVar8) { - do { - piVar9 = (int *)(DAT_8007a140 + iVar11); - iVar13 = iVar11 + DAT_8007a140; - if (*piVar9 == 0) { - iVar13 = piVar9[0x66]; - } - else { - if (*(short *)(iVar13 + 6) == 7) { - iVar13 = piVar9[0x66]; - } - else { - if (*(short *)(iVar13 + 6) == 8) { - iVar13 = piVar9[0x66]; - } - else { - if (*(short *)(iVar13 + 6) == 9) { - iVar13 = piVar9[0x66]; - } - else { - *(word *)(iVar13 + 4) = - (&WORD_8004017c)[(int)*(short *)(iVar13 + 6) * 0xc]; - piVar9 = (int *)(DAT_8007a140 + iVar11); - iVar13 = piVar9[0x66]; - } - } - } - } - if (iVar13 == 0) { - iVar13 = piVar9[0xcc]; - } - else { - sVar3 = *(short *)(iVar11 + DAT_8007a140 + 0x19e); - if (sVar3 == 7) { - iVar13 = piVar9[0xcc]; - } - else { - if (sVar3 == 8) { - iVar13 = piVar9[0xcc]; - } - else { - if (sVar3 == 9) { - iVar13 = piVar9[0xcc]; - } - else { - *(word *)(iVar11 + DAT_8007a140 + 0x19c) = - (&WORD_8004017c)[(int)sVar3 * 0xc]; - piVar9 = (int *)(DAT_8007a140 + iVar11); - iVar13 = piVar9[0xcc]; - } - } - } - } - if (iVar13 == 0) { - iVar13 = piVar9[0x132]; - } - else { - sVar3 = *(short *)(iVar11 + DAT_8007a140 + 0x336); - if (sVar3 == 7) { - iVar13 = piVar9[0x132]; - } - else { - if (sVar3 == 8) { - iVar13 = piVar9[0x132]; - } - else { - if (sVar3 == 9) { - iVar13 = piVar9[0x132]; - } - else { - *(word *)(iVar11 + DAT_8007a140 + 0x334) = - (&WORD_8004017c)[(int)sVar3 * 0xc]; - iVar13 = *(int *)(DAT_8007a140 + iVar11 + 0x4c8); - } - } - } - } - if ((((iVar13 != 0) && (sVar3 = *(short *)(iVar11 + DAT_8007a140 + 0x4ce), sVar3 != 7)) - && (sVar3 != 8)) && (sVar3 != 9)) { - *(word *)(iVar11 + DAT_8007a140 + 0x4cc) = (&WORD_8004017c)[(int)sVar3 * 0xc]; - } - iVar11 += 0x660; - } while (iVar11 != 0x1fe0); - } - return; -} - - - -void proc_7F09C7AC(void) - -{ - DAT_80040170 = 6; - DAT_80040174 = 6; - return; -} - - - -void proc_7F09C7C4(float *param_1,float *param_2,float *param_3) - -{ - int iVar1; - int *piVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - - if (DAT_80040170 == 0) { - video_related_9(0.00000000); - } - else { - fVar4 = cosf(0.80000001); - fVar5 = sinf(0.80000001); - fVar10 = *param_2; - fVar11 = param_2[2]; - fVar6 = sinf(0.80000001); - fVar7 = cosf(0.80000001); - fVar14 = param_2[2]; - fVar12 = *param_2; - fVar15 = 0.00000000; - iVar3 = 0; - piVar2 = DAT_8007a144; - do { - iVar1 = *piVar2; - if (iVar1 != 0) { - fVar8 = *(float *)(iVar1 + 8) - *param_1; - fVar9 = *(float *)(iVar1 + 0xc) - param_1[1]; - fVar13 = *(float *)(iVar1 + 0x10) - param_1[2]; - fVar8 = sqrtf(fVar8 * fVar8 + fVar9 * fVar9 + fVar13 * fVar13); - piVar2 = (int *)((int)DAT_8007a144 + iVar3); - fVar15 = fVar15 + (*(float *)(&DAT_80040294 + (int)*(char *)(piVar2 + 0xf3) * 0x40) - / fVar8) * 15.00000000; - } - iVar3 += 0x3e0; - piVar2 = piVar2 + 0xf8; - } while (iVar3 != 0x1740); - if (0 < DAT_80040174) { - DAT_80040174 += -1; - fVar15 = fVar15 + 1.00000000; - } - DAT_80040170 -= 1; - if ((DAT_80040170 & 2) == 0) { - param_3[1] = -fVar15; - } - else { - param_3[1] = fVar15; - fVar15 = -fVar15; - } - *param_3 = fVar15 * (fVar4 * fVar10 - fVar11 * fVar5); - param_3[2] = fVar15 * (fVar14 * fVar7 + fVar6 * fVar12); - video_related_9((float)DAT_80040170 * fVar15); - } - return; -} - - - -void proc_7F09C9D8(char *param_1,float param_2,float param_3) - -{ - char cVar1; - short sVar2; - int iVar3; - uint uVar4; - longlong lVar5; - u32 uVar6; - PLAYER_ID playernum; - PLAYER_ID playernum_00; - s32 sVar7; - f32 arg2; - float in_a1_lo; - s32 arg3; - float in_a2_lo; - int iVar8; - int iVar9; - char *position_data_pointer; - short *psVar10; - float extraout_f12; - float fVar11; - float fVar12; - f32 arg0; - float fVar13; - f32 arg1; - f32 arg4; - float fVar14; - uint auStack32 [8]; - - iVar3 = *(int *)(param_1 + 4); - iVar9 = (int)*(char *)(iVar3 + 0x3cc) * 0x40; - if (*(short *)(iVar3 + 0x3c8) < *(short *)(iVar3 + 0x3ca)) { - return; - } - proc_7F03CB8C(param_1,auStack32); - proc_7F03E3FC((int *)auStack32); - lVar5 = (longlong)*ptr_list_object_lookup_indices; - if (-1 < lVar5) { - iVar8 = (int)*ptr_list_object_lookup_indices; - psVar10 = ptr_list_object_lookup_indices; - do { - iVar8 = (iVar8 * 0x10 + (int)lVar5 * -4 + (int)lVar5) * 4; - position_data_pointer = pos_data_entry + iVar8; - if (position_data_pointer == *(char **)(iVar3 + 4)) { - lVar5 = (longlong)psVar10[1]; - } - else { - if (*(short *)(pos_data_entry + iVar8 + 2) == 0) { - cVar1 = *position_data_pointer; - if (cVar1 == '\x01') { - iVar8 = *(int *)(pos_data_entry + iVar8 + 4); - } - else { - if ((cVar1 != '\x04') && (cVar1 != '\x02')) { - if ((cVar1 == '\x03') || (cVar1 == '\x06')) { - arg1 = (f32)(*(float *)(pos_data_entry + iVar8 + 8) - - *(float *)(param_1 + 8)); - fVar12 = *(float *)(pos_data_entry + iVar8 + 0xc) - - *(float *)(param_1 + 0xc); - arg4 = (f32)(*(float *)(pos_data_entry + iVar8 + 0x10) - - *(float *)(param_1 + 0x10)); - if ((float)arg1 <= in_a1_lo) { - if (-in_a1_lo <= (float)arg1) { - if (fVar12 <= in_a2_lo) { - if (-in_a2_lo <= fVar12) { - if ((float)arg4 <= in_a1_lo) { - if (-in_a1_lo <= (float)arg4) { - fVar11 = (float)arg1 / in_a1_lo; - fVar12 = fVar12 / in_a2_lo; - fVar13 = (float)arg4 / in_a1_lo; - if (fVar11 < 0.00000000) { - fVar11 = -fVar11; - } - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - fVar12 = 1.00000000 - fVar12; - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - } - fVar13 = 1.00000000 - fVar13; - if (1.00000000 - fVar11 <= fVar12) { - fVar12 = 1.00000000 - fVar11; - } - if (fVar12 <= fVar13) { - fVar13 = fVar12; - } - arg0 = (f32)(fVar13 * fVar13 * - *(float *)(&DAT_800402c0 + iVar9 - )); - if (cVar1 == '\x03') { - proc_7F027804(); - lVar5 = (longlong)psVar10[1]; - } - else { - if (((float)arg1 != 0.00000000) || - ((float)arg4 != 0.00000000)) { - fVar12 = sqrtf((float)arg1 * - (float)arg1 + - (float)arg4 * - (float)arg4); - arg1 = (f32)((float)arg1 * - (1.00000000 / fVar12)); - arg4 = (f32)((float)arg4 * - (1.00000000 / fVar12)); - } - playernum = get_cur_playernum(); - playernum_00 = playernum; - proc_7F09B15C((int)position_data_pointer - ); - set_cur_player(playernum_00); - sVar7 = get_num_players(); - if (sVar7 == 1) { - arg0 = (f32)((float)arg0 * - (float)dword_80040178); - } - iVar8 = get_intank_flag(); - if (iVar8 == 1) { - arg0 = (f32)((float)arg0 + - (float)arg0); - } - record_damage_kills(arg0,arg1,arg2,arg3, - arg4); - set_cur_player(playernum); - lVar5 = (longlong)psVar10[1]; - } - } - else { - lVar5 = (longlong)psVar10[1]; - } - } - else { - lVar5 = (longlong)psVar10[1]; - } - } - else { - lVar5 = (longlong)psVar10[1]; - } - } - else { - lVar5 = (longlong)psVar10[1]; - } - } - else { - lVar5 = (longlong)psVar10[1]; - } - } - else { - lVar5 = (longlong)psVar10[1]; - } - } - else { - lVar5 = (longlong)psVar10[1]; - } - goto LAB_7f09ce88; - } - iVar8 = *(int *)(pos_data_entry + iVar8 + 4); - } - fVar11 = *(float *)(iVar8 + 0x58) - *(float *)(param_1 + 8); - fVar12 = *(float *)(iVar8 + 0x5c) - *(float *)(param_1 + 0xc); - fVar13 = *(float *)(iVar8 + 0x60) - *(float *)(param_1 + 0x10); - if (((((fVar11 <= in_a1_lo) && (-in_a1_lo <= fVar11)) && (fVar12 <= in_a2_lo)) - && ((-in_a2_lo <= fVar12 && (fVar13 <= in_a1_lo)))) && (-in_a1_lo <= fVar13) - ) { - fVar11 = fVar11 / in_a1_lo; - fVar14 = *(float *)(&DAT_800402c0 + iVar9); - fVar12 = fVar12 / in_a2_lo; - fVar13 = fVar13 / in_a1_lo; - if (fVar11 < 0.00000000) { - fVar11 = -fVar11; - } - if (fVar12 < 0.00000000) { - fVar12 = -fVar12; - } - fVar12 = 1.00000000 - fVar12; - if (fVar13 < 0.00000000) { - fVar13 = -fVar13; - } - fVar13 = 1.00000000 - fVar13; - if (1.00000000 - fVar11 <= fVar12) { - fVar12 = 1.00000000 - fVar11; - } - if (fVar13 < fVar12) { - uVar4 = *(uint *)(iVar8 + 100); - } - else { - uVar4 = *(uint *)(iVar8 + 100); - fVar13 = fVar12; - } - if (((uVar4 & 0x1000) == 0) && ((*(uint *)(iVar8 + 0xc) & 0x200400) == 0)) { - uVar6 = get_random_value(); - fVar12 = (float)uVar6; - if ((int)uVar6 < 0) { - fVar12 = fVar12 + 4294967296.00000000; - } - proc_7F04DEFC((int)position_data_pointer,extraout_f12, - (longlong) - (int)((fVar12 * 0.00000000 * 0.50000000 + 1.00000000) * - fVar13 * fVar14),(longlong)(iVar8 + 0x58),0x1d); - } - } - lVar5 = (longlong)psVar10[1]; - } - else { - lVar5 = (longlong)psVar10[1]; - } - } -LAB_7f09ce88: - psVar10 = psVar10 + 1; - if (lVar5 < 0) goto code_r0x7f09ce94; - iVar8 = (int)lVar5; - } while( true ); - } - sVar2 = *(short *)(&DAT_800402a0 + iVar9); -LAB_7f09ce98: - *(short *)(iVar3 + 0x3ca) = *(short *)(iVar3 + 0x3c8) + (sVar2 >> 2); - return; -code_r0x7f09ce94: - sVar2 = *(short *)(&DAT_800402a0 + iVar9); - goto LAB_7f09ce98; -} - - - -undefined8 proc_7F09CEE8(char *param_1) - -{ - byte bVar1; - short sVar2; - short sVar3; - undefined4 *puVar4; - char *pcVar5; - undefined8 uVar6; - u32 uVar7; - int iVar8; - longlong lVar9; - undefined4 uVar10; - longlong lVar11; - int iVar12; - undefined4 *puVar13; - int iVar14; - float fVar15; - int iVar16; - float in_f12; - float __x; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f14; - float fVar17; - float fVar18; - float fVar19; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack48; - int iStack44; - float fStack40; - - puVar4 = *(undefined4 **)(param_1 + 4); - iVar12 = (int)*(char *)(puVar4 + 0xf3) * 0x40; - if (clock_timer == 0) { - uVar6 = 0; - } - else { - if (clock_timer < 0xf) { - fStack40 = (float)clock_timer; - } - else { - fStack40 = 15.00000000; - } - lVar9 = (longlong)*(short *)(puVar4 + 0xf2); - if (7 < lVar9) { - sVar2 = *(short *)(&DAT_800402a0 + iVar12); - iVar14 = (int)sVar2; - if (lVar9 < sVar2) { - fVar15 = (float)(int)*(short *)(puVar4 + 0xf2); - fVar18 = *(float *)(&DAT_80040284 + iVar12) + - *(float *)(&DAT_8004028c + iVar12) * fVar15; - fVar19 = *(float *)(&DAT_80040288 + iVar12) + - *(float *)(&DAT_80040290 + iVar12) * fVar15; - if (*(char *)(puVar4 + 0xf3) == '\x0e') { - if (lVar9 < 0x20) { - *(float *)(param_1 + 0xc) = - *(float *)(param_1 + 0xc) + fStack40 * 10.00000000; - lVar9 = (longlong)*(short *)(puVar4 + 0xf2); - sVar2 = *(short *)(&DAT_800402a0 + iVar12); - fVar15 = (float)(int)*(short *)(puVar4 + 0xf2); - } - iVar14 = (int)sVar2; - if (0x20 < lVar9) { - fVar19 = 20.00000000; - fVar18 = fVar15 * 3.00000000 + 40.00000000; - if (300.00000000 < fVar18) { - fVar18 = 300.00000000; - } - } - } - iVar16 = 0; - iStack44 = (int)(((float)(int)*(short *)(&DAT_800402a2 + iVar12) * fVar15) / - (float)iVar14) + 1; - if (0 < iStack44) { - do { - iVar14 = 0; - puVar13 = puVar4; - do { - iVar14 += 0x18; - if (*(short *)(puVar13 + 7) == 0) { - *(undefined2 *)(puVar13 + 7) = 1; - uVar7 = get_random_value(); - fVar15 = (float)uVar7; - if ((int)uVar7 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - *(float *)(puVar13 + 2) = - (fVar15 * 0.00000000 - 0.50000000) * fVar18 + - *(float *)(param_1 + 8); - uVar7 = get_random_value(); - fVar15 = (float)uVar7; - if ((int)uVar7 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - *(float *)(puVar13 + 3) = - (fVar15 * 0.00000000 - 0.50000000) * fVar19 + - *(float *)(param_1 + 0xc); - uVar7 = get_random_value(); - fVar15 = (float)uVar7; - if ((int)uVar7 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - *(float *)(puVar13 + 4) = - (fVar15 * 0.00000000 - 0.50000000) * fVar18 + - *(float *)(param_1 + 0x10); - uVar7 = get_random_value(); - fVar15 = (float)uVar7; - if ((int)uVar7 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - fVar17 = (fVar15 * 0.00000000 * 0.50000000 + 1.00000000) * - *(float *)(&DAT_80040294 + iVar12); - uVar7 = get_random_value(); - fVar15 = (float)uVar7; - if ((int)uVar7 < 0) { - fVar15 = fVar15 + 4294967296.00000000; - } - __x = fVar15 * 0.00000000 * flt_800576BC; - fVar15 = cosf(__x); - *(float *)(puVar13 + 5) = fVar15 * fVar17; - fVar15 = sinf(__x); - *(float *)(puVar13 + 6) = fVar15 * fVar17; - in_f12 = extraout_f12; - break; - } - puVar13 = puVar13 + 6; - } while (iVar14 != 0x3c0); - iVar16 += 1; - } while (iVar16 != iStack44); - } - fStack60 = fVar18 * 0.50000000 + *(float *)(&DAT_80040294 + iVar12) * 1.50000000; - fStack56 = *(float *)(param_1 + 8) - fStack60; - fStack64 = fVar19 * 0.50000000 + *(float *)(&DAT_80040294 + iVar12) * 1.50000000; - fStack52 = *(float *)(param_1 + 0xc) - fStack64; - fStack48 = *(float *)(param_1 + 0x10) - fStack60; - fStack68 = *(float *)(param_1 + 8) + fStack60; - fStack64 = *(float *)(param_1 + 0xc) + fStack64; - fStack60 = *(float *)(param_1 + 0x10) + fStack60; - proc_7F03E27C(param_1,&fStack56,&fStack68,in_f12); - proc_7F09C9D8(param_1,extraout_f12_00,extraout_f14); - lVar9 = (longlong)*(short *)(puVar4 + 0xf2); - in_f12 = extraout_f12_01; - } - } - iVar16 = (int)fStack40; - iVar14 = 0; - if (0 < iVar16) { - uVar10 = (undefined4)lVar9; - do { - *(short *)(puVar4 + 0xf2) = (short)uVar10 + 1; - iVar8 = 0; - puVar13 = puVar4; - do { - iVar8 += 0x18; - if (0 < *(short *)(puVar13 + 7)) { - *(short *)(puVar13 + 7) = *(short *)(puVar13 + 7) + 1; - } - puVar13 = puVar13 + 6; - } while (iVar8 != 0x3c0); - lVar9 = (longlong)*(short *)(puVar4 + 0xf2); - if (lVar9 == 0xf) { - if (*(char *)(puVar4 + 0xf3) != '\x0e') { - sVar2 = *(short *)(&DAT_800402a0 + iVar12); - goto LAB_7f09d360; - } - pcVar5 = (char *)puVar4[1]; -LAB_7f09d37c: - if (pcVar5 == NULL) { - bVar1 = param_1[1]; -LAB_7f09d400: - proc_7F09E700((undefined4 *)(param_1 + 8),*(undefined4 *)(param_1 + 0x14), - (ushort)(byte)(&DAT_800402bc)[iVar12],param_1 + 0x2c, - (uint)((bVar1 & 8) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - sVar3 = *(short *)(&DAT_800402a0 + iVar12); - in_f12 = extraout_f12_04; - } - else { - iVar8 = *(int *)(pcVar5 + 0x14); - if (iVar8 == 0) { - bVar1 = param_1[1]; - goto LAB_7f09d400; - } - if (*pcVar5 == '\x01') { - proc_7F09E700((undefined4 *)(*(int *)(pcVar5 + 4) + 0x58),iVar8, - (ushort)(byte)(&DAT_800402bc)[iVar12],pcVar5 + 0x2c, - (uint)((param_1[1] & 8U) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - in_f12 = extraout_f12_02; - } - else { - proc_7F09E700((undefined4 *)(pcVar5 + 8),iVar8, - (ushort)(byte)(&DAT_800402bc)[iVar12],pcVar5 + 0x2c, - (uint)((param_1[1] & 8U) != 0)); - sVar2 = *(short *)(puVar4 + 0xf2); - in_f12 = extraout_f12_03; - } - sVar3 = *(short *)(&DAT_800402a0 + iVar12); - } - lVar9 = (longlong)sVar2; - lVar11 = (longlong)((int)sVar3 >> 1); - } - else { - sVar2 = *(short *)(&DAT_800402a0 + iVar12); -LAB_7f09d360: - if ((longlong)sVar2 == (longlong)((int)*(short *)(puVar4 + 0xf2) + 0x14)) { - if (*(char *)(puVar4 + 0xf3) != '\x0e') { - pcVar5 = (char *)puVar4[1]; - goto LAB_7f09d37c; - } - lVar11 = (longlong)((int)sVar2 >> 1); - } - else { - lVar11 = (longlong)((int)sVar2 >> 1); - } - } - if ((lVar11 == lVar9) && (*(char *)((int)puVar4 + 0x3cd) != '\0')) { - proc_7F0A027C((float *)(puVar4 + 0xf4),in_f12, - SUB42(*(float *)(&DAT_80040294 + iVar12) * 4.00000000,0)); - lVar9 = (longlong)*(short *)(puVar4 + 0xf2); - in_f12 = extraout_f12_05; - } - iVar14 += 1; - if (iVar14 == iVar16) break; - uVar10 = (undefined4)lVar9; - } while( true ); - } - uVar6 = 0; - if ((int)*(short *)(&DAT_800402a0 + iVar12) + - (int)(*(float *)(&DAT_800402a4 + iVar12) * 16.00000000) <= lVar9) { - *puVar4 = 0; - uVar6 = 1; - } - } - return uVar6; -} - - - -undefined8 proc_7F09D4EC(int param_1) - -{ - int iVar1; - float fVar2; - - iVar1 = get_BONDdata_field_10CC(); - *(float *)(param_1 + 0x18) = - -(*(float *)(iVar1 + 0x38) + - *(float *)(iVar1 + 8) * *(float *)(param_1 + 8) + - *(float *)(iVar1 + 0x18) * *(float *)(param_1 + 0xc) + - *(float *)(iVar1 + 0x28) * *(float *)(param_1 + 0x10)); - fVar2 = *(float *)(param_1 + 0x18); - if (fVar2 < 100.00000000) { - *(float *)(param_1 + 0x18) = fVar2 * 0.50000000; - } - else { - *(float *)(param_1 + 0x18) = fVar2 - 100.00000000; - } - return 0; -} - - - -longlong proc_7F09D5A0(char *param_1,longlong param_2,longlong param_3) - -{ - byte bVar1; - short sVar2; - float *pfVar4; - longlong lVar3; - uint *puVar5; - void *virtualAddress; - u32 uVar6; - undefined4 *puVar7; - undefined4 *puVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - float extraout_f12; - float extraout_f14; - float fStack32; - float fStack28; - - bVar1 = param_1[0x2c]; - iVar10 = *(int *)(param_1 + 4); - pfVar4 = (float *)proc_7F0BCA14((uint)bVar1); - if (param_3 != 0) { - lVar3 = proc_7F054A64(param_1,&fStack32); - if (lVar3 < 1) { - puVar5 = proc_7F0B4FB4((uint *)param_2); - } - else { - puVar5 = proc_7F0B4FF4((uint *)param_2,extraout_f12,extraout_f14,fStack32,fStack28); - } - *puVar5 = 0xb6000000; - puVar5[1] = 0x13000; - puVar5[2] = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10E0(); - uVar6 = osVirtualToPhysical(virtualAddress); - puVar5[3] = uVar6; - puVar7 = proc_7F0BC9C4(puVar5 + 4,(uint)bVar1); - *puVar7 = 0xbc000806; - puVar8 = puVar7 + 2; - uVar6 = osVirtualToPhysical(pGlobalimagetable); - puVar7[1] = uVar6; - puVar7 = &DAT_800407fc; - iVar12 = 0xe; - do { - *puVar8 = 0x6000000; - iVar11 = 0; - puVar8[1] = *puVar7; - puVar8 = puVar8 + 2; - iVar9 = iVar10; - do { - if ((0 < *(short *)(iVar9 + 0x1c)) && - (iVar12 == (int)((float)((int)*(short *)(iVar9 + 0x1c) + -1) / - *(float *)(&DAT_800402a4 + (int)*(char *)(iVar10 + 0x3cc) * 0x40) - ))) { - puVar8 = proc_7F09D82C((float *)(iVar9 + 8),puVar8,pfVar4); - } - iVar11 += 0x18; - iVar9 += 0x18; - } while (iVar11 < 0x3c0); - iVar12 += -1; - puVar7 = puVar7 + -1; - } while (-1 < iVar12); - *puVar8 = 0x1030040; - param_2 = (longlong)(int)(puVar8 + 2); - virtualAddress = (void *)get_BONDdata_field_10D8(); - uVar6 = osVirtualToPhysical(virtualAddress); - puVar8[1] = uVar6; - iVar12 = 0; - lVar3 = (longlong) - (int)(*(float *)(&DAT_800402a4 + (int)*(char *)(iVar10 + 0x3cc) * 0x40) * - 15.00000000); - do { - iVar12 += 0x60; - if (lVar3 < *(short *)(iVar10 + 0x1c)) { - *(undefined2 *)(iVar10 + 0x1c) = 0; - sVar2 = *(short *)(iVar10 + 0x34); - } - else { - sVar2 = *(short *)(iVar10 + 0x34); - } - if (lVar3 < sVar2) { - *(undefined2 *)(iVar10 + 0x34) = 0; - sVar2 = *(short *)(iVar10 + 0x4c); - } - else { - sVar2 = *(short *)(iVar10 + 0x4c); - } - if (lVar3 < sVar2) { - *(undefined2 *)(iVar10 + 0x4c) = 0; - sVar2 = *(short *)(iVar10 + 100); - } - else { - sVar2 = *(short *)(iVar10 + 100); - } - if (lVar3 < sVar2) { - *(undefined2 *)(iVar10 + 100) = 0; - } - iVar10 += 0x60; - } while (iVar12 != 0x3c0); - } - return param_2; -} - - - -undefined4 * proc_7F09D82C(float *param_1,undefined4 *param_2,float *param_3) - -{ - f32 fVar1; - f32 fVar2; - f32 fVar3; - float *pfVar4; - xyzpoint *pxVar5; - xyzpoint *virtualAddress; - u32 uVar6; - float fVar7; - f32 fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - - fVar3 = dword_8004090C; - fVar2 = DAT_80040908; - fVar1 = DAT_80040904; - fVar8 = DAT_80040900; - pfVar4 = (float *)get_BONDdata_field_10D4(); - pxVar5 = get_BONDdata_position(); - fVar23 = *param_1 - (float)pxVar5->x; - fVar24 = param_1[1] - (float)pxVar5->y; - fVar25 = param_1[2] - (float)pxVar5->z; - virtualAddress = pxVar5; - fVar7 = sqrtf(fVar23 * fVar23 + fVar24 * fVar24 + fVar25 * fVar25); - fVar14 = 100.00000000; - if (fVar7 * 0.50000000 <= 100.00000000) { - fVar14 = fVar7 * 0.50000000; - } - if (fVar7 == 0.00000000) { - fVar7 = 0.00000000; - fVar14 = param_1[3]; - } - else { - fVar7 = (fVar7 - fVar14) / fVar7; - fVar14 = param_1[3]; - } - fVar14 = fVar14 * fVar7; - fVar22 = param_1[4] * fVar7; - fVar15 = (float)pxVar5->x + fVar23 * fVar7; - fVar24 = (float)pxVar5->y + fVar24 * fVar7; - fVar7 = (float)pxVar5->z + fVar25 * fVar7; - proc_7F0BD6C4(4); - virtualAddress->x = fVar8; - virtualAddress->y = fVar1; - virtualAddress->z = fVar2; - virtualAddress[1].x = fVar3; - virtualAddress[1].y = fVar8; - virtualAddress[1].z = fVar1; - virtualAddress[2].x = fVar2; - virtualAddress[2].y = fVar3; - virtualAddress[2].z = fVar8; - virtualAddress[3].x = fVar1; - virtualAddress[3].y = fVar2; - virtualAddress[3].z = fVar3; - virtualAddress[4].x = fVar8; - virtualAddress[4].y = fVar1; - virtualAddress[4].z = fVar2; - virtualAddress[5].x = fVar3; - virtualAddress[5].y = fVar8; - virtualAddress[5].z = fVar1; - virtualAddress[6].x = fVar2; - virtualAddress[6].y = fVar3; - fVar25 = *pfVar4; - fVar16 = pfVar4[1]; - fVar9 = pfVar4[2]; - fVar17 = *pfVar4; - fVar10 = pfVar4[1]; - fVar18 = pfVar4[2]; - fVar11 = pfVar4[4]; - fVar19 = pfVar4[5]; - fVar12 = pfVar4[6]; - fVar20 = pfVar4[4]; - fVar13 = pfVar4[5]; - fVar21 = pfVar4[6]; - fVar8 = proc_7F0B483C(); - *(short *)&virtualAddress->x = - (short)(int)(((fVar15 - fVar25 * fVar14) - fVar20 * fVar22) * (float)fVar8 - *param_3); - fVar8 = proc_7F0B483C(); - *(undefined2 *)((int)&virtualAddress->x + 2) = - (short)(int)(((fVar24 - fVar16 * fVar14) - fVar13 * fVar22) * (float)fVar8 - param_3[1]); - fVar8 = proc_7F0B483C(); - fVar23 = param_3[2]; - *(undefined2 *)&virtualAddress->z = 0x6e0; - *(undefined2 *)((int)&virtualAddress->z + 2) = 0; - *(short *)&virtualAddress->y = - (short)(int)(((fVar7 - fVar9 * fVar14) - fVar21 * fVar22) * (float)fVar8 - fVar23); - fVar8 = proc_7F0B483C(); - *(short *)&virtualAddress[1].y = - (short)(int)(((fVar15 + fVar17 * fVar22) - fVar11 * fVar14) * (float)fVar8 - *param_3); - fVar8 = proc_7F0B483C(); - *(undefined2 *)((int)&virtualAddress[1].y + 2) = - (short)(int)(((fVar24 + fVar10 * fVar22) - fVar19 * fVar14) * (float)fVar8 - param_3[1]); - fVar8 = proc_7F0B483C(); - fVar23 = param_3[2]; - *(undefined2 *)&virtualAddress[2].x = 0; - *(undefined2 *)((int)&virtualAddress[2].x + 2) = 0; - *(short *)&virtualAddress[1].z = - (short)(int)(((fVar7 + fVar18 * fVar22) - fVar12 * fVar14) * (float)fVar8 - fVar23); - fVar8 = proc_7F0B483C(); - *(short *)&virtualAddress[2].z = - (short)(int)((fVar15 + fVar25 * fVar14 + fVar20 * fVar22) * (float)fVar8 - *param_3); - fVar8 = proc_7F0B483C(); - *(undefined2 *)((int)&virtualAddress[2].z + 2) = - (short)(int)((fVar24 + fVar16 * fVar14 + fVar13 * fVar22) * (float)fVar8 - param_3[1]); - fVar8 = proc_7F0B483C(); - fVar23 = param_3[2]; - *(undefined2 *)&virtualAddress[3].y = 0; - *(undefined2 *)((int)&virtualAddress[3].y + 2) = 0x6e0; - *(short *)&virtualAddress[3].x = - (short)(int)((fVar7 + fVar9 * fVar14 + fVar21 * fVar22) * (float)fVar8 - fVar23); - fVar8 = proc_7F0B483C(); - *(short *)&virtualAddress[4].x = - (short)(int)(((fVar15 - fVar17 * fVar22) + fVar11 * fVar14) * (float)fVar8 - *param_3); - fVar8 = proc_7F0B483C(); - *(undefined2 *)((int)&virtualAddress[4].x + 2) = - (short)(int)(((fVar24 - fVar10 * fVar22) + fVar19 * fVar14) * (float)fVar8 - param_3[1]); - fVar8 = proc_7F0B483C(); - fVar23 = param_3[2]; - *(undefined2 *)&virtualAddress[4].z = 0x6e0; - *(undefined2 *)((int)&virtualAddress[4].z + 2) = 0x6e0; - *(short *)&virtualAddress[4].y = - (short)(int)(((fVar7 - fVar18 * fVar22) + fVar12 * fVar14) * (float)fVar8 - fVar23); - *param_2 = 0x4300040; - uVar6 = osVirtualToPhysical(virtualAddress); - param_2[1] = uVar6; - param_2[3] = 0x2010; - param_2[2] = 0xb1000032; - return param_2 + 4; -} - - - -undefined4 * proc_7F09DDA4(int param_1,float *param_2,undefined4 *param_3,float *param_4) - -{ - f32 fVar1; - f32 fVar2; - f32 fVar3; - float *pfVar4; - xyzpoint *pxVar5; - xyzpoint *virtualAddress; - u32 uVar6; - float fVar7; - float fVar8; - float fVar9; - f32 fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - undefined uStack97; - - fVar3 = dword_8004091C; - fVar2 = dword_80040918; - fVar1 = dword_80040914; - fVar10 = dword_80040910; - pfVar4 = (float *)get_BONDdata_field_10D4(); - pxVar5 = get_BONDdata_position(); - if ((short)(&WORD_8004017e)[(int)*(short *)(param_1 + 6) * 0xc] < *(short *)(param_2 + 9)) { - fVar20 = param_2[8]; - if (false) { - fVar7 = ROUND(fVar20); - } - else { - fVar7 = FLOOR(fVar20); - } - uStack97 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar20 = ROUND(fVar20 - 2147483648.00000000); - } - else { - fVar20 = FLOOR(fVar20 - 2147483648.00000000); - } - if (true) { - uStack97 = (undefined)(int)fVar20; - goto LAB_7f09df7c; - } - } - else { - if (-1 < (int)fVar7) goto LAB_7f09df7c; - } - uStack97 = 0xff; - } - else { - fVar20 = (param_2[8] / - (float)(int)(short)(&WORD_8004017e)[(int)*(short *)(param_1 + 6) * 0xc]) * - (float)(int)*(short *)(param_2 + 9); - if (false) { - fVar7 = ROUND(fVar20); - } - else { - fVar7 = FLOOR(fVar20); - } - uStack97 = (undefined)(int)fVar7; - if (false) { - if (false) { - fVar20 = ROUND(fVar20 - 2147483648.00000000); - } - else { - fVar20 = FLOOR(fVar20 - 2147483648.00000000); - } - if (true) { - uStack97 = (undefined)(int)fVar20; - goto LAB_7f09df7c; - } - } - else { - if (-1 < (int)fVar7) goto LAB_7f09df7c; - } - uStack97 = 0xff; - } -LAB_7f09df7c: - virtualAddress = pxVar5; - proc_7F0BD6C4(4); - virtualAddress->x = fVar10; - virtualAddress->y = fVar1; - virtualAddress->z = fVar2; - virtualAddress[1].x = fVar3; - virtualAddress[1].y = fVar10; - virtualAddress[1].z = fVar1; - virtualAddress[2].x = fVar2; - virtualAddress[2].y = fVar3; - virtualAddress[2].z = fVar10; - virtualAddress[3].x = fVar1; - virtualAddress[3].y = fVar2; - virtualAddress[3].z = fVar3; - virtualAddress[4].x = fVar10; - virtualAddress[4].y = fVar1; - virtualAddress[4].z = fVar2; - virtualAddress[5].x = fVar3; - fVar20 = cosf(param_2[4]); - fVar17 = param_2[3]; - fVar7 = sinf(param_2[4]); - fVar11 = param_2[3]; - fVar8 = sinf(param_2[6]); - fVar18 = *param_2; - fVar21 = param_2[1]; - fVar9 = sinf(param_2[7]); - fVar18 = (fVar8 * 7.00000000 + fVar18) - (float)pxVar5->x; - fVar21 = fVar21 - (float)pxVar5->y; - fVar9 = (fVar9 * 7.00000000 + param_2[2]) - (float)pxVar5->z; - fVar8 = sqrtf(fVar18 * fVar18 + fVar21 * fVar21 + fVar9 * fVar9); - if (fVar8 <= flt_800576C0) { - fVar12 = 100.00000000; - if (fVar8 * 0.50000000 <= 100.00000000) { - fVar12 = fVar8 * 0.50000000; - } - if (fVar8 == 0.00000000) { - fVar8 = 0.00000000; - } - else { - fVar8 = (fVar8 - fVar12) / fVar8; - } - fVar25 = fVar20 * fVar17 * fVar8; - fVar27 = fVar7 * fVar11 * fVar8; - fVar19 = (float)pxVar5->x + fVar18 * fVar8; - fVar22 = (float)pxVar5->y + fVar21 * fVar8; - fVar23 = (float)pxVar5->z + fVar9 * fVar8; - fVar21 = *pfVar4; - fVar7 = pfVar4[1]; - fVar12 = pfVar4[2]; - fVar8 = *pfVar4; - fVar13 = pfVar4[1]; - fVar9 = pfVar4[2]; - fVar14 = pfVar4[4]; - fVar11 = pfVar4[5]; - fVar15 = pfVar4[6]; - fVar17 = pfVar4[4]; - fVar16 = pfVar4[5]; - fVar18 = pfVar4[6]; - fVar10 = proc_7F0B483C(); - fVar20 = (((fVar19 - fVar21 * fVar25) - fVar17 * fVar27) * (float)fVar10 - *param_4) * - 10.00000000; - fVar10 = proc_7F0B483C(); - fVar24 = (((fVar22 - fVar7 * fVar25) - fVar16 * fVar27) * (float)fVar10 - param_4[1]) * - 10.00000000; - fVar10 = proc_7F0B483C(); - fVar26 = (((fVar23 - fVar12 * fVar25) - fVar18 * fVar27) * (float)fVar10 - param_4[2]) * - 10.00000000; - if ((((fVar20 <= flt_800576C4) && (flt_800576C8 <= fVar20)) && (fVar24 <= flt_800576C4)) && - (((flt_800576C8 <= fVar24 && (fVar26 <= flt_800576C4)) && (flt_800576C8 <= fVar26)))) { - *(undefined2 *)&virtualAddress->z = 0x6e0; - *(undefined2 *)((int)&virtualAddress->z + 2) = 0; - *(short *)&virtualAddress->x = (short)(int)fVar20; - *(undefined2 *)((int)&virtualAddress->x + 2) = (short)(int)fVar24; - *(short *)&virtualAddress->y = (short)(int)fVar26; - *(byte *)&virtualAddress[1].x = (&dword_80040188)[(int)*(short *)(param_1 + 6) * 0x18]; - *(byte *)((int)&virtualAddress[1].x + 1) = - (&BYTE_80040189)[(int)*(short *)(param_1 + 6) * 0x18]; - *(byte *)((int)&virtualAddress[1].x + 2) = - (&BYTE_8004018a)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)&virtualAddress[1].x + 3) = uStack97; - fVar10 = proc_7F0B483C(); - *(short *)&virtualAddress[1].y = - (short)(int)((((fVar19 + fVar8 * fVar27) - fVar14 * fVar25) * (float)fVar10 - - *param_4) * 10.00000000); - fVar10 = proc_7F0B483C(); - *(undefined2 *)((int)&virtualAddress[1].y + 2) = - (short)(int)((((fVar22 + fVar13 * fVar27) - fVar11 * fVar25) * (float)fVar10 - - param_4[1]) * 10.00000000); - fVar10 = proc_7F0B483C(); - fVar20 = param_4[2]; - *(undefined2 *)&virtualAddress[2].x = 0; - *(undefined2 *)((int)&virtualAddress[2].x + 2) = 0; - *(short *)&virtualAddress[1].z = - (short)(int)((((fVar23 + fVar9 * fVar27) - fVar15 * fVar25) * (float)fVar10 - - fVar20) * 10.00000000); - *(byte *)&virtualAddress[2].y = (&dword_80040188)[(int)*(short *)(param_1 + 6) * 0x18]; - *(byte *)((int)&virtualAddress[2].y + 1) = - (&BYTE_80040189)[(int)*(short *)(param_1 + 6) * 0x18]; - *(byte *)((int)&virtualAddress[2].y + 2) = - (&BYTE_8004018a)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)&virtualAddress[2].y + 3) = uStack97; - fVar10 = proc_7F0B483C(); - *(short *)&virtualAddress[2].z = - (short)(int)(((fVar19 + fVar21 * fVar25 + fVar17 * fVar27) * (float)fVar10 - - *param_4) * 10.00000000); - fVar10 = proc_7F0B483C(); - *(undefined2 *)((int)&virtualAddress[2].z + 2) = - (short)(int)(((fVar22 + fVar7 * fVar25 + fVar16 * fVar27) * (float)fVar10 - - param_4[1]) * 10.00000000); - fVar10 = proc_7F0B483C(); - fVar20 = param_4[2]; - *(undefined2 *)&virtualAddress[3].y = 0; - *(undefined2 *)((int)&virtualAddress[3].y + 2) = 0x6e0; - *(short *)&virtualAddress[3].x = - (short)(int)(((fVar23 + fVar12 * fVar25 + fVar18 * fVar27) * (float)fVar10 - fVar20 - ) * 10.00000000); - *(byte *)&virtualAddress[3].z = (&dword_80040188)[(int)*(short *)(param_1 + 6) * 0x18]; - *(byte *)((int)&virtualAddress[3].z + 1) = - (&BYTE_80040189)[(int)*(short *)(param_1 + 6) * 0x18]; - *(byte *)((int)&virtualAddress[3].z + 2) = - (&BYTE_8004018a)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)&virtualAddress[3].z + 3) = uStack97; - fVar10 = proc_7F0B483C(); - *(short *)&virtualAddress[4].x = - (short)(int)((((fVar19 - fVar8 * fVar27) + fVar14 * fVar25) * (float)fVar10 - - *param_4) * 10.00000000); - fVar10 = proc_7F0B483C(); - *(undefined2 *)((int)&virtualAddress[4].x + 2) = - (short)(int)((((fVar22 - fVar13 * fVar27) + fVar11 * fVar25) * (float)fVar10 - - param_4[1]) * 10.00000000); - fVar10 = proc_7F0B483C(); - fVar20 = param_4[2]; - *(undefined2 *)&virtualAddress[4].z = 0x6e0; - *(undefined2 *)((int)&virtualAddress[4].z + 2) = 0x6e0; - *(short *)&virtualAddress[4].y = - (short)(int)((((fVar23 - fVar9 * fVar27) + fVar15 * fVar25) * (float)fVar10 - - fVar20) * 10.00000000); - *(byte *)&virtualAddress[5].x = (&dword_80040188)[(int)*(short *)(param_1 + 6) * 0x18]; - *(byte *)((int)&virtualAddress[5].x + 1) = - (&BYTE_80040189)[(int)*(short *)(param_1 + 6) * 0x18]; - *(byte *)((int)&virtualAddress[5].x + 2) = - (&BYTE_8004018a)[(int)*(short *)(param_1 + 6) * 0x18]; - *(undefined *)((int)&virtualAddress[5].x + 3) = uStack97; - *param_3 = 0x4300040; - uVar6 = osVirtualToPhysical(virtualAddress); - param_3[1] = uVar6; - param_3[3] = 0x2010; - param_3[2] = 0xb1000032; - param_3 = param_3 + 4; - } - } - return param_3; -} - - - -void proc_7F09E700(undefined4 *param_1,int param_2,short param_3,char *param_4,int param_5) - -{ - char *pcVar1; - byte bVar2; - short sVar3; - s32 sVar4; - object_standard *poVar5; - object_standard *poVar6; - int iVar7; - int iVar8; - object_standard *poVar9; - - sVar4 = get_num_players(); - poVar9 = NULL; - iVar8 = 0; - do { - iVar7 = iVar8 + DAT_8007a140; - if (*(int *)(DAT_8007a140 + iVar8) == 0) { - poVar9 = (object_standard *)(iVar8 + DAT_8007a140); - break; - } - iVar8 += 0x198; - if ((((1 < sVar4) && (sVar3 = *(short *)(iVar7 + 6), sVar3 != 7)) && (sVar3 != 8)) && - (sVar3 != 9)) { - *(word *)(iVar7 + 4) = (&WORD_8004017c)[(int)sVar3 * 0xc]; - } - } while (iVar8 < 0x1fe0); - if ((poVar9 != NULL) && (poVar5 = remove_last_obj_pos_data_entry(), poVar5 != NULL)) { - bVar2 = *(byte *)((int)&poVar5->extrascale + 1); - *(undefined *)&poVar5->extrascale = 8; - *(byte *)((int)&poVar5->extrascale + 1) = bVar2 | 2; - *(object_standard **)&poVar5->obj = poVar9; - iVar8 = 0; - poVar5->runtime_ptr_obj_instance_controller = param_2; - poVar5->flags = *param_1; - poVar5->flags2 = param_1[1]; - poVar5->runtime_ptr_obj_posdata = param_1[2]; - if (*param_4 != -1) { - *(char *)&poVar5->runtime_MATRIX5 = *param_4; - poVar6 = poVar5; - while( true ) { - pcVar1 = param_4 + 1; - iVar8 += 1; - param_4 = param_4 + 1; - if ((*pcVar1 == -1) || (iVar8 == 7)) break; - *(char *)((int)&poVar6->runtime_MATRIX5 + 1) = *pcVar1; - poVar6 = (object_standard *)((int)&poVar6->extrascale + 1); - } - } - *(undefined *)((int)&poVar5->runtime_MATRIX5 + iVar8) = 0xff; - if (param_5 != 0) { - *(byte *)((int)&poVar5->extrascale + 1) = *(byte *)((int)&poVar5->extrascale + 1) | 8; - } - proc_7F03A4F0((int)poVar5); - set_stateflag_0x04_for_posdata((int)poVar5); - poVar9->obj = 0; - *(object_standard **)poVar9 = poVar5; - poVar9->pad = param_3; - } - return; -} - - - -undefined8 proc_7F09E8AC(char *param_1) - -{ - short sVar1; - word wVar2; - undefined4 *puVar3; - bool bVar4; - float fVar5; - float fVar6; - float fVar7; - undefined8 uVar8; - u32 uVar9; - float *pfVar10; - float *pfVar11; - undefined4 *puVar12; - undefined4 *puVar13; - int iVar14; - int iVar15; - float fVar16; - float fVar17; - float fVar18; - float afStack52 [13]; - - fVar7 = flt_800576D8; - fVar6 = flt_800576D4; - fVar5 = flt_800576D0; - fVar17 = flt_800576CC; - puVar3 = *(undefined4 **)(param_1 + 4); - if (clock_timer == 0) { - uVar8 = 0; - } - else { - if (clock_timer < 0xf) { - fVar16 = (float)clock_timer; - } - else { - fVar16 = 15.00000000; - } - iVar15 = 0; - if (0 < (int)fVar16) { - sVar1 = *(short *)(puVar3 + 1); - do { - iVar14 = 0; - *(short *)(puVar3 + 1) = sVar1 + 1; - puVar13 = puVar3; - do { - if ((float)puVar13[5] != 0.00000000) { - *(float *)(puVar13 + 3) = (float)puVar13[3] + fVar5; - *(float *)(puVar13 + 5) = (float)puVar13[5] + fVar17; - fVar18 = (&FLOAT_8004018c)[(int)*(short *)((int)puVar3 + 6) * 6]; - *(short *)(puVar13 + 0xb) = *(short *)(puVar13 + 0xb) + 1; - *(float *)(puVar13 + 6) = (float)puVar13[6] + (float)puVar13[7]; - *(float *)(puVar13 + 10) = (float)puVar13[10] - fVar18; - uVar9 = get_random_value(); - fVar18 = (float)uVar9; - if ((int)uVar9 < 0) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(float *)(puVar13 + 8) = - (float)puVar13[8] + fVar7 + fVar18 * 0.00000000 * fVar6; - uVar9 = get_random_value(); - fVar18 = (float)uVar9; - if ((int)uVar9 < 0) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(float *)(puVar13 + 9) = - (float)puVar13[9] + fVar7 + fVar18 * 0.00000000 * fVar6; - if ((float)puVar13[10] < 4.00000000) { - puVar13[5] = 0; - } - } - iVar14 += 0x28; - puVar13 = puVar13 + 10; - } while (iVar14 < 400); - sVar1 = *(short *)(puVar3 + 1); - if ((longlong)sVar1 < - (longlong)(short)(&WORD_8004017c)[(int)*(short *)((int)puVar3 + 6) * 0xc]) { - wVar2 = (&WORD_80040180)[(int)*(short *)((int)puVar3 + 6) * 0xc]; - iVar14 = 0; - if (wVar2 == 0) { - trap(0x1c00); - } - if ((wVar2 == 0xffff) && ((longlong)sVar1 == -0x80000000)) { - trap(0x1800); - } - puVar13 = puVar3; - if ((int)sVar1 % (int)(short)wVar2 == 1) { - do { - iVar14 += 0x28; - if ((float)puVar13[5] == 0.00000000) { - uVar9 = get_random_value(); - fVar18 = (float)uVar9; - if ((int)uVar9 < 0) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(float *)(puVar13 + 5) = - (fVar18 * 0.00000000 * 0.50000000 + 1.00000000) * - (float)(int)(short)(&WORD_80040182) - [(int)*(short *)((int)puVar3 + 6) * 0xc]; - uVar9 = get_random_value(); - fVar18 = (float)(uVar9 % 0x46); - if (false) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(undefined2 *)(puVar13 + 0xb) = 0; - *(float *)(puVar13 + 10) = fVar18 + 110.00000000; - uVar9 = get_random_value(); - fVar18 = (float)uVar9; - if ((int)uVar9 < 0) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(float *)(puVar13 + 6) = fVar18 * 0.00000000 * flt_800576DC; - uVar9 = get_random_value(); - fVar18 = (float)uVar9; - if ((int)uVar9 < 0) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(float *)(puVar13 + 7) = - (float)(&DWORD_80040184)[(int)*(short *)((int)puVar3 + 6) * 6] - * (0.50000000 - fVar18 * 0.00000000); - puVar13[2] = *(undefined4 *)(param_1 + 8); - puVar13[3] = *(undefined4 *)(param_1 + 0xc); - puVar13[4] = *(undefined4 *)(param_1 + 0x10); - uVar9 = get_random_value(); - fVar18 = (float)uVar9; - if ((int)uVar9 < 0) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(float *)(puVar13 + 8) = fVar18 * 0.00000000 * 0.50000000; - uVar9 = get_random_value(); - fVar18 = (float)uVar9; - if ((int)uVar9 < 0) { - fVar18 = fVar18 + 4294967296.00000000; - } - *(float *)(puVar13 + 9) = fVar18 * 0.00000000 * 0.50000000; - if ((longlong) - ((int)(short)(&WORD_8004017c) - [(int)*(short *)((int)puVar3 + 6) * 0xc] - - (int)(short)(&WORD_80040190) - [(int)*(short *)((int)puVar3 + 6) * 0xc]) < - (longlong)*(short *)(puVar3 + 1)) { - *(float *)(puVar13 + 10) = - (float)puVar13[10] * - ((float)((int)(short)(&WORD_8004017c) - [(int)*(short *)((int)puVar3 + 6) * - 0xc] - (int)*(short *)(puVar3 + 1)) / - (float)(int)(short)(&WORD_80040190) - [(int)*(short *)((int)puVar3 + 6) * 0xc] - ); - } - break; - } - puVar13 = puVar13 + 10; - } while (iVar14 != 400); - } - } - iVar15 += 1; - if (iVar15 == (int)fVar16) break; - sVar1 = *(short *)(puVar3 + 1); - } while( true ); - } - afStack52[3] = *(float *)(param_1 + 8) - 1.00000000; - iVar15 = 0; - afStack52[4] = *(float *)(param_1 + 0xc) - 1.00000000; - afStack52[5] = *(float *)(param_1 + 0x10) - 1.00000000; - afStack52[0] = *(float *)(param_1 + 8) + 1.00000000; - afStack52[1] = *(float *)(param_1 + 0xc) + 1.00000000; - afStack52[2] = *(float *)(param_1 + 0x10) + 1.00000000; - puVar13 = puVar3; - do { - iVar15 += 0x28; - iVar14 = 0; - pfVar10 = afStack52 + 3; - puVar12 = puVar13; - if ((float)puVar13[5] != 0.00000000) { - do { - pfVar11 = (float *)(puVar12 + 2); - puVar12 = puVar12 + 1; - fVar17 = *pfVar11 - (float)puVar13[5]; - pfVar11 = (float *)((int)afStack52 + iVar14); - if (fVar17 < *pfVar10) { - *pfVar10 = fVar17; - } - else { - if (*pfVar11 < fVar17) { - *pfVar11 = fVar17; - } - } - pfVar10 = pfVar10 + 1; - iVar14 += 4; - } while (pfVar10 != afStack52 + 6); - } - puVar13 = puVar13 + 10; - } while (iVar15 < 400); - proc_7F03E27C(param_1,afStack52 + 3,afStack52,afStack52[0] - *(float *)(param_1 + 8)); - iVar15 = 0; - bVar4 = false; - if ((short)(&WORD_80040180)[(int)*(short *)((int)puVar3 + 6) * 0xc] < *(short *)(puVar3 + 1) - ) { - bVar4 = true; - puVar13 = puVar3; - do { - iVar15 += 0x28; - if (0.00000000 < (float)puVar13[5]) { - bVar4 = false; - break; - } - puVar13 = puVar13 + 10; - } while (iVar15 != 400); - } - uVar8 = 0; - if (bVar4) { - *puVar3 = 0; - uVar8 = 1; - } - } - return uVar8; -} - - - -undefined8 proc_7F09EF9C(int param_1) - -{ - int iVar1; - float fVar2; - - iVar1 = get_BONDdata_field_10CC(); - *(float *)(param_1 + 0x18) = - -(*(float *)(iVar1 + 0x38) + - *(float *)(iVar1 + 8) * *(float *)(param_1 + 8) + - *(float *)(iVar1 + 0x18) * *(float *)(param_1 + 0xc) + - *(float *)(iVar1 + 0x28) * *(float *)(param_1 + 0x10)); - fVar2 = *(float *)(param_1 + 0x18); - if (fVar2 < 100.00000000) { - *(float *)(param_1 + 0x18) = fVar2 * 0.50000000; - } - else { - *(float *)(param_1 + 0x18) = fVar2 - 100.00000000; - } - return 0; -} - - - -longlong proc_7F09F03C(char *param_1,longlong param_2,longlong param_3) - -{ - byte bVar1; - int iVar2; - float *pfVar4; - longlong lVar3; - uint *puVar5; - void *virtualAddress; - u32 uVar6; - undefined4 *puVar7; - int iVar8; - int iVar9; - float extraout_f12; - float extraout_f14; - float fStack24; - float fStack20; - - bVar1 = param_1[0x2c]; - iVar2 = *(int *)(param_1 + 4); - pfVar4 = (float *)proc_7F0BCA14((uint)bVar1); - if (param_3 != 0) { - lVar3 = proc_7F054A64(param_1,&fStack24); - if (lVar3 < 1) { - puVar5 = proc_7F0B4FB4((uint *)param_2); - } - else { - puVar5 = proc_7F0B4FF4((uint *)param_2,extraout_f12,extraout_f14,fStack24,fStack20); - } - *puVar5 = 0xb6000000; - puVar5[1] = 0x13000; - puVar5[2] = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10E0(); - uVar6 = osVirtualToPhysical(virtualAddress); - puVar5[3] = uVar6; - puVar7 = proc_7F0BC9C4(puVar5 + 4,(uint)bVar1); - *puVar7 = 0x1000040; - uVar6 = osVirtualToPhysical(&DAT_8007a100); - puVar7[1] = uVar6; - puVar7[2] = 0xbc000806; - uVar6 = osVirtualToPhysical(pGlobalimagetable); - puVar7[3] = uVar6; - puVar7[4] = 0x6000000; - puVar7[5] = 0x2000000; - puVar7[7] = 0x80; - puVar7[6] = 0xba000602; - puVar7 = puVar7 + 8; - iVar9 = 0; - iVar8 = iVar2; - do { - if (0.00000000 < *(float *)(iVar8 + 0x14)) { - puVar7 = proc_7F09DDA4(iVar2,(float *)(iVar8 + 8),puVar7,pfVar4); - } - else { - *(undefined4 *)(iVar8 + 0x14) = 0; - } - iVar9 += 0x28; - iVar8 += 0x28; - } while (iVar9 != 400); - puVar7[1] = 0x40; - *puVar7 = 0xba000602; - puVar7[2] = 0x1030040; - param_2 = (longlong)(int)(puVar7 + 4); - virtualAddress = (void *)get_BONDdata_field_10D8(); - uVar6 = osVirtualToPhysical(virtualAddress); - puVar7[3] = uVar6; - } - return param_2; -} - - - -void proc_7F09F254(float *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - short sVar1; - u32 uVar2; - char cVar3; - byte bVar4; - float in_a3_lo; - short sVar5; - float fVar6; - float fVar7; - float fVar8; - float in_stack_00000010; - - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar8 = (fVar6 * 0.00000000 + fVar6 * 0.00000000) - 1.00000000; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar6 = fVar6 * 0.00000000 * flt_800576E0 - flt_800576E4; - uVar2 = get_random_value(); - *(undefined4 *)(DAT_8007a14c + DAT_80040800 * 0x78) = 1; - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 4) = *param_1 + param_4 * fVar8; - fVar7 = (float)uVar2; - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 8) = param_1[1] + param_4 * fVar6; - if ((int)uVar2 < 0) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar7 = (fVar7 * 0.00000000 + fVar7 * 0.00000000) - 1.00000000; - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0xc) = param_1[2] + param_4 * fVar7; - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x1c) = fVar8 * param_5; - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x20) = fVar6 * in_a3_lo; - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x24) = fVar7 * param_5; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x38) = - (short)(int)((fVar6 * 0.00000000 * 0.75000000 + 0.75000000) * in_stack_00000010); - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x3a) = 0; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x3c) = - (short)(int)((fVar6 * 0.00000000 * 0.75000000 + 0.75000000) * in_stack_00000010); - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x48) = - (short)(int)((fVar6 * 0.00000000 * 0.75000000 + 0.75000000) * in_stack_00000010); - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x4a) = 0; - uVar2 = get_random_value(); - fVar6 = -in_stack_00000010; - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x4c) = - (short)(int)((fVar8 * 0.00000000 * 0.75000000 + 0.75000000) * fVar6); - uVar2 = get_random_value(); - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x58) = - (short)(int)((fVar8 * 0.00000000 * 0.75000000 + 0.75000000) * fVar6); - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x5a) = 0; - uVar2 = get_random_value(); - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x5c) = - (short)(int)((fVar8 * 0.00000000 * 0.75000000 + 0.75000000) * fVar6); - uVar2 = get_random_value(); - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x68) = - (short)(int)((fVar8 * 0.00000000 * 0.75000000 + 0.75000000) * fVar6); - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x6a) = 0; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x6c) = - (short)(int)((fVar6 * 0.00000000 * 0.75000000 + 0.75000000) * in_stack_00000010); - uVar2 = get_random_value(); - sVar5 = (short)((uVar2 & 3) << 8); - uVar2 = get_random_value(); - sVar1 = (short)((uVar2 & 3) << 8); - *(short *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x40) = sVar5 + 0xe0; - *(short *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x42) = sVar1 + 0xe0; - *(short *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x50) = sVar5 + 0xe0; - *(short *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x52) = sVar1; - *(short *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x60) = sVar5; - *(short *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x62) = sVar1; - *(short *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x70) = sVar5; - *(short *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x72) = sVar1 + 0xe0; - uVar2 = get_random_value(); - if ((uVar2 & 1) == 0) { - uVar2 = get_random_value(); - bVar4 = (byte)uVar2 & 0x3f; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x46) = bVar4; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x45) = bVar4; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x44) = bVar4; - uVar2 = get_random_value(); - bVar4 = (byte)uVar2 & 0x3f; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x56) = bVar4; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x55) = bVar4; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x54) = bVar4; - uVar2 = get_random_value(); - bVar4 = (byte)uVar2 & 0x3f; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x66) = bVar4; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x65) = bVar4; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 100) = bVar4; - uVar2 = get_random_value(); - bVar4 = (byte)uVar2 & 0x3f; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x76) = bVar4; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x75) = bVar4; - *(byte *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x74) = bVar4; - } - else { - uVar2 = get_random_value(); - cVar3 = -1 - ((byte)uVar2 & 0x3f); - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x46) = cVar3; - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x45) = cVar3; - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x44) = cVar3; - uVar2 = get_random_value(); - cVar3 = -1 - ((byte)uVar2 & 0x3f); - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x56) = cVar3; - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x55) = cVar3; - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x54) = cVar3; - uVar2 = get_random_value(); - cVar3 = -1 - ((byte)uVar2 & 0x3f); - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x66) = cVar3; - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x65) = cVar3; - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 100) = cVar3; - uVar2 = get_random_value(); - cVar3 = -1 - ((byte)uVar2 & 0x3f); - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x76) = cVar3; - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x75) = cVar3; - *(char *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x74) = cVar3; - } - *(undefined *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x47) = 0xdc; - *(undefined *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x57) = 0xdc; - *(undefined *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x67) = 0xdc; - *(undefined *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x77) = 0xdc; - uVar2 = get_random_value(); - fVar6 = flt_800576E8; - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x10) = fVar8 * 0.00000000 * flt_800576E8; - uVar2 = get_random_value(); - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x14) = fVar8 * 0.00000000 * fVar6; - uVar2 = get_random_value(); - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x18) = fVar8 * 0.00000000 * fVar6; - uVar2 = get_random_value(); - fVar6 = flt_800576EC; - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x28) = fVar8 * 0.00000000 * flt_800576EC; - uVar2 = get_random_value(); - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x2c) = fVar8 * 0.00000000 * fVar6; - uVar2 = get_random_value(); - fVar8 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar8 = fVar8 + 4294967296.00000000; - } - *(float *)(DAT_8007a14c + DAT_80040800 * 0x78 + 0x30) = fVar8 * 0.00000000 * fVar6; - DAT_80040800 += 1; - if (DAT_8007a148 <= DAT_80040800) { - DAT_80040800 = 0; - } - return; -} - - - -void proc_7F09FD3C(void) - -{ - float fVar1; - float fVar2; - float fVar3; - int iVar4; - u32 uVar5; - int *piVar6; - uint uVar7; - int iVar8; - int iVar9; - float fVar10; - float fVar11; - uint uVar12; - float fVar13; - - fVar3 = flt_800576F8; - fVar2 = flt_800576F4; - fVar1 = flt_800576F0; - if (clock_timer < 0xf) { - fVar13 = (float)clock_timer; - } - else { - fVar13 = 15.00000000; - } - iVar9 = 0; - iVar8 = 0; - if (0 < DAT_8007a148) { - do { - iVar4 = *(int *)(DAT_8007a14c + iVar8); - if (0 < iVar4) { - uVar12 = (uint)fVar13; - uVar7 = 0; - *(int *)(DAT_8007a14c + iVar8) = iVar4 + uVar12; - iVar4 = DAT_8007a14c + iVar8; - *(float *)(iVar4 + 0x10) = - *(float *)(iVar4 + 0x10) + *(float *)(iVar4 + 0x28) * fVar13; - iVar4 = DAT_8007a14c + iVar8; - *(float *)(iVar4 + 0x14) = - *(float *)(iVar4 + 0x14) + *(float *)(iVar4 + 0x2c) * fVar13; - iVar4 = DAT_8007a14c + iVar8; - *(float *)(iVar4 + 0x18) = - *(float *)(iVar4 + 0x18) + *(float *)(iVar4 + 0x30) * fVar13; - iVar4 = DAT_8007a14c + iVar8; - *(float *)(iVar4 + 4) = *(float *)(iVar4 + 4) + *(float *)(iVar4 + 0x1c) * fVar13; - iVar4 = DAT_8007a14c + iVar8; - *(float *)(iVar4 + 0xc) = - *(float *)(iVar4 + 0xc) + *(float *)(iVar4 + 0x24) * fVar13; - if (0 < (int)uVar12) { - if ((uVar12 & 1) != 0) { - uVar7 = 1; - iVar4 = DAT_8007a14c + iVar8; - *(float *)(iVar4 + 8) = *(float *)(iVar4 + 8) + *(float *)(iVar4 + 0x20); - fVar10 = *(float *)(DAT_8007a14c + iVar8 + 0x20); - if (-3.75000000 < fVar10) { - *(float *)(DAT_8007a14c + iVar8 + 0x20) = fVar10 - fVar3; - } - if (uVar12 == 1) goto LAB_7f09ff70; - } - do { - uVar7 += 2; - iVar4 = DAT_8007a14c + iVar8; - *(float *)(iVar4 + 8) = *(float *)(iVar4 + 8) + *(float *)(iVar4 + 0x20); - iVar4 = DAT_8007a14c + iVar8; - fVar10 = *(float *)(iVar4 + 0x20); - if (-3.75000000 < fVar10) { - *(float *)(iVar4 + 0x20) = fVar10 - fVar3; - iVar4 = DAT_8007a14c + iVar8; - fVar10 = *(float *)(iVar4 + 0x20); - fVar11 = *(float *)(iVar4 + 8); - } - else { - fVar11 = *(float *)(iVar4 + 8); - } - *(float *)(iVar4 + 8) = fVar11 + fVar10; - fVar10 = *(float *)(DAT_8007a14c + iVar8 + 0x20); - if (-3.75000000 < fVar10) { - *(float *)(DAT_8007a14c + iVar8 + 0x20) = fVar10 - fVar3; - } - } while (uVar7 != uVar12); - } -LAB_7f09ff70: - piVar6 = (int *)(DAT_8007a14c + iVar8); - if (*piVar6 < 0x65) { - fVar10 = (float)piVar6[2]; - } - else { - uVar5 = get_random_value(); - if (((uVar5 & 0x1f) == 0) || - (piVar6 = (int *)(DAT_8007a14c + iVar8), *piVar6 == 300)) { - *(undefined4 *)(DAT_8007a14c + iVar8) = 0; - piVar6 = (int *)(DAT_8007a14c + iVar8); - fVar10 = (float)piVar6[2]; - } - else { - fVar10 = (float)piVar6[2]; - } - } - if (fVar2 <= fVar10) { - if (fVar1 < fVar10) { - *piVar6 = 0; - } - } - else { - *piVar6 = 0; - } - } - iVar9 += 1; - iVar8 += 0x78; - } while (iVar9 < DAT_8007a148); - } - return; -} - - - -undefined4 * proc_7F0A0034(undefined4 *param_1) - -{ - float fVar1; - float fVar2; - u32 uVar3; - int *piVar4; - float *virtualAddress; - int iVar5; - int iVar6; - float afStack64 [12]; - float fStack16; - float fStack12; - float fStack8; - - param_1[1] = 0x3000; - *param_1 = 0xb6000000; - param_1[2] = 0xbc000806; - uVar3 = osVirtualToPhysical(pGlobalimagetable); - param_1[3] = uVar3; - param_1[4] = 0x6000000; - param_1[5] = 0x2000a50; - param_1[6] = 0xb900031d; - param_1[7] = 0x5049d8; - fVar2 = flt_80057700; - fVar1 = flt_800576FC; - param_1 = param_1 + 8; - iVar6 = 0; - iVar5 = 0; - if (0 < DAT_8007a148) { - do { - piVar4 = (int *)(DAT_8007a14c + iVar5); - if (0 < *piVar4) { - proc_7F05892C(piVar4 + 1,(float *)(piVar4 + 4),afStack64); - virtualAddress = (float *)get_BONDdata_field_10CC(); - sub_GAME_7F058098(virtualAddress,afStack64); - if ((((fStack16 < fVar2) && (fVar1 < fStack16)) && (fStack12 < fVar2)) && - (((fVar1 < fStack12 && (fStack8 < fVar2)) && (fVar1 < fStack8)))) { - proc_7F0BD6E0(); - proc_7F058C9C((int)afStack64,(uint *)virtualAddress); - *param_1 = 0x1020040; - uVar3 = osVirtualToPhysical(virtualAddress); - param_1[1] = uVar3; - param_1[2] = 0x4300040; - uVar3 = osVirtualToPhysical((void *)(DAT_8007a14c + iVar5 + 0x38)); - param_1[3] = uVar3; - param_1[5] = 0x2010; - param_1[4] = 0xb1000032; - param_1 = param_1 + 6; - } - } - iVar6 += 1; - iVar5 += 0x78; - } while (iVar6 < DAT_8007a148); - } - return param_1; -} - - - -void proc_7F0A027C(float *param_1,float param_2,short param_3) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 uVar3; - undefined4 uVar4; - u32 uVar5; - float *pfVar6; - s32 sVar7; - short in_a2_lo; - char cVar8; - int iVar9; - undefined uVar10; - f32 fVar11; - float fVar12; - float __x; - float fVar13; - - uVar4 = dword_8004092C; - uVar3 = dword_80040928; - uVar2 = dword_80040924; - uVar1 = dword_80040920; - fVar12 = (float)(int)param_3; - uVar5 = get_random_value(); - __x = (float)uVar5; - if ((int)uVar5 < 0) { - __x = __x + 4294967296.00000000; - } - __x = __x * 0.00000000 * flt_80057704; - uVar5 = get_random_value(); - cVar8 = -1 - (char)(uVar5 % 0x50); - pfVar6 = (float *)proc_7F0BCA14((int)in_a2_lo); - sVar7 = get_num_players(); - if (sVar7 < 2) { - if (200.00000000 < fVar12) { - fVar12 = 200.00000000; - } - uVar5 = get_random_value(); - fVar13 = (float)uVar5; - if ((int)uVar5 < 0) { - fVar13 = fVar13 + 4294967296.00000000; - } - fVar13 = flt_8005770C + flt_80057708 * fVar13 * 0.00000000; - fVar11 = proc_7F0B483C(); - *param_1 = *param_1 * (float)fVar11 - *pfVar6; - fVar11 = proc_7F0B483C(); - param_1[1] = param_1[1] * (float)fVar11 - pfVar6[1]; - fVar11 = proc_7F0B483C(); - param_1[2] = param_1[2] * (float)fVar11 - pfVar6[2]; - fVar11 = proc_7F0B483C(); - fVar13 = fVar12 * fVar13 * (float)fVar11; - fVar12 = cosf(__x); - fVar12 = fVar12 * fVar13; - __x = sinf(__x); - __x = __x * fVar13; - *(short *)(DAT_8007a150 + DAT_80040804 * 0x58) = in_a2_lo; - *(float *)(DAT_8007a150 + DAT_80040804 * 0x58 + 4) = *param_1; - *(float *)(DAT_8007a150 + DAT_80040804 * 0x58 + 8) = param_1[1]; - *(float *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0xc) = param_1[2]; - *(float *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x10) = fVar13; - iVar9 = DAT_8007a150 + DAT_80040804 * 0x58; - *(undefined4 *)(iVar9 + 0x18) = uVar1; - *(undefined4 *)(iVar9 + 0x1c) = uVar2; - *(undefined4 *)(iVar9 + 0x20) = uVar3; - *(undefined4 *)(iVar9 + 0x24) = uVar4; - iVar9 = DAT_8007a150 + DAT_80040804 * 0x58; - *(undefined4 *)(iVar9 + 0x28) = uVar1; - *(undefined4 *)(iVar9 + 0x2c) = uVar2; - *(undefined4 *)(iVar9 + 0x30) = uVar3; - *(undefined4 *)(iVar9 + 0x34) = uVar4; - iVar9 = DAT_8007a150 + DAT_80040804 * 0x58; - *(undefined4 *)(iVar9 + 0x38) = uVar1; - *(undefined4 *)(iVar9 + 0x3c) = uVar2; - *(undefined4 *)(iVar9 + 0x40) = uVar3; - *(undefined4 *)(iVar9 + 0x44) = uVar4; - iVar9 = DAT_8007a150 + DAT_80040804 * 0x58; - *(undefined4 *)(iVar9 + 0x48) = uVar1; - *(undefined4 *)(iVar9 + 0x4c) = uVar2; - *(undefined4 *)(iVar9 + 0x50) = uVar3; - *(undefined4 *)(iVar9 + 0x54) = uVar4; - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x18) = (short)(int)(*param_1 + fVar12) - ; - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x1a) = - (short)(int)(param_1[1] + 0.50000000); - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x1c) = (short)(int)(param_1[2] + __x); - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x20) = 0; - *(short *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x22) = (ushort)genericimage->width << 5; - uVar5 = get_random_value(); - uVar10 = (undefined)(uVar5 % 0x32); - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x26) = uVar10; - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x25) = uVar10; - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x24) = uVar10; - *(char *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x27) = cVar8; - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x28) = (short)(int)(*param_1 + __x); - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x2a) = - (short)(int)(param_1[1] + 0.50000000); - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x2c) = - (short)(int)(param_1[2] - fVar12); - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x30) = 0; - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x32) = 0; - uVar5 = get_random_value(); - uVar10 = (undefined)(uVar5 % 0x32); - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x36) = uVar10; - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x35) = uVar10; - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x34) = uVar10; - *(char *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x37) = cVar8; - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x38) = (short)(int)(*param_1 - fVar12) - ; - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x3a) = - (short)(int)(param_1[1] + 0.50000000); - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x3c) = (short)(int)(param_1[2] - __x); - *(short *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x40) = (ushort)genericimage->height << 5; - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x42) = 0; - uVar5 = get_random_value(); - uVar10 = (undefined)(uVar5 % 0x32); - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x46) = uVar10; - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x45) = uVar10; - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x44) = uVar10; - *(char *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x47) = cVar8; - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x48) = (short)(int)(*param_1 - __x); - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x4a) = - (short)(int)(param_1[1] + 0.50000000); - *(undefined2 *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x4c) = - (short)(int)(param_1[2] + fVar12); - *(short *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x50) = (ushort)genericimage->width << 5; - *(short *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x52) = (ushort)genericimage->height << 5; - uVar5 = get_random_value(); - uVar10 = (undefined)(uVar5 % 0x32); - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x56) = uVar10; - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x55) = uVar10; - *(undefined *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x54) = uVar10; - *(char *)(DAT_8007a150 + DAT_80040804 * 0x58 + 0x57) = cVar8; - DAT_80040804 += 1; - if (0x13 < DAT_80040804) { - DAT_80040804 = 0; - } - } - return; -} - - - -undefined4 * proc_7F0A0AB4(undefined4 *param_1) - -{ - short sVar1; - s32 sVar3; - ulonglong uVar2; - undefined4 *puVar4; - u32 uVar5; - int iVar6; - short sVar7; - undefined4 *puStackX0; - - sVar7 = -1; - puStackX0 = param_1; - sVar3 = get_num_players(); - if (sVar3 < 2) { - puStackX0[1] = 0x2000; - *puStackX0 = 0xb7000000; - puStackX0[2] = 0xb6000000; - puStackX0[3] = 0x11000; - puStackX0[5] = 0x80; - puStackX0[4] = 0xba000602; - puStackX0 = puStackX0 + 6; - append_image_to_DL((uint **)register0x000000ec,genericimage,4,1,2); - iVar6 = 0; - do { - if ((-1 < *(short *)(DAT_8007a150 + iVar6)) && - (uVar2 = proc_7F0B5E50((int)*(short *)(DAT_8007a150 + iVar6)), uVar2 != 0)) { - sVar1 = *(short *)(DAT_8007a150 + iVar6); - puVar4 = puStackX0; - if (sVar7 != sVar1) { - puVar4 = proc_7F0BC9C4(puStackX0,(int)sVar1); - sVar7 = sVar1; - } - puStackX0 = puVar4 + 2; - *puVar4 = 0x4300040; - uVar5 = osVirtualToPhysical((void *)(DAT_8007a150 + iVar6 + 0x18)); - puVar4[1] = uVar5; - puStackX0[1] = 0x2010; - *puStackX0 = 0xb1000032; - puStackX0 = puStackX0 + 2; - } - iVar6 += 0x58; - } while (iVar6 != 0x6e0); - puStackX0[1] = 0x40; - *puStackX0 = 0xba000602; - puStackX0 = puStackX0 + 2; - } - return puStackX0; -} - - - -int proc_7F0A0C74(float param_1) - -{ - if (param_1 < 0.00000000) { - return (int)(param_1 - 0.50000000); - } - return (int)(param_1 + 0.50000000); -} - - - -void proc_7F0A0CCC(int param_1,char param_2) - -{ - undefined2 *puVar1; - int iVar2; - longlong lVar3; - int iVar4; - - lVar3 = (longlong)(int)param_2; - iVar2 = 0; - do { - puVar1 = (undefined2 *)(DAT_8007a154 + iVar2); - if (param_1 == *(int *)(puVar1 + 0x24)) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0x4d)) { - *puVar1 = 0xffff; - puVar1 = (undefined2 *)(DAT_8007a154 + iVar2); - iVar4 = *(int *)(puVar1 + 0x4c); - } - else { - iVar4 = *(int *)(puVar1 + 0x4c); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x4c); - } - if (param_1 == iVar4) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0x9d)) { - puVar1[0x28] = 0xffff; - puVar1 = (undefined2 *)(DAT_8007a154 + iVar2); - iVar4 = *(int *)(puVar1 + 0x74); - } - else { - iVar4 = *(int *)(puVar1 + 0x74); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x74); - } - if (param_1 == iVar4) { - if (lVar3 == (longlong)*(char *)((int)puVar1 + 0xed)) { - puVar1[0x50] = 0xffff; - puVar1 = (undefined2 *)(DAT_8007a154 + iVar2); - iVar4 = *(int *)(puVar1 + 0x9c); - } - else { - iVar4 = *(int *)(puVar1 + 0x9c); - } - } - else { - iVar4 = *(int *)(puVar1 + 0x9c); - } - iVar2 += 0x140; - if ((param_1 == iVar4) && (lVar3 == (longlong)*(char *)((int)puVar1 + 0x13d))) { - puVar1[0x78] = 0xffff; - } - } while (iVar2 != 8000); - return; -} - - - -void proc_7F0A0D90(int param_1) - -{ - undefined2 *puVar1; - int iVar2; - int iVar3; - - iVar2 = 0; - do { - puVar1 = (undefined2 *)(DAT_8007a154 + iVar2); - if (param_1 == *(int *)(puVar1 + 0x24)) { - if ((&DAT_80040815)[(int)(short)puVar1[1] * 0xc] == '\x02') { - *puVar1 = 0xffff; - puVar1 = (undefined2 *)(DAT_8007a154 + iVar2); - iVar3 = *(int *)(puVar1 + 0x4c); - } - else { - iVar3 = *(int *)(puVar1 + 0x4c); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x4c); - } - if (param_1 == iVar3) { - if ((&DAT_80040815)[(int)(short)puVar1[0x29] * 0xc] == '\x02') { - puVar1[0x28] = 0xffff; - puVar1 = (undefined2 *)(DAT_8007a154 + iVar2); - iVar3 = *(int *)(puVar1 + 0x74); - } - else { - iVar3 = *(int *)(puVar1 + 0x74); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x74); - } - if (param_1 == iVar3) { - if ((&DAT_80040815)[(int)(short)puVar1[0x51] * 0xc] == '\x02') { - puVar1[0x50] = 0xffff; - puVar1 = (undefined2 *)(DAT_8007a154 + iVar2); - iVar3 = *(int *)(puVar1 + 0x9c); - } - else { - iVar3 = *(int *)(puVar1 + 0x9c); - } - } - else { - iVar3 = *(int *)(puVar1 + 0x9c); - } - iVar2 += 0x140; - if ((param_1 == iVar3) && ((&DAT_80040815)[(int)(short)puVar1[0x79] * 0xc] == '\x02')) { - puVar1[0x78] = 0xffff; - } - } while (iVar2 != 8000); - return; -} - - - -void proc_7F0A0E98(int param_1) - -{ - float fVar1; - int iVar2; - int iVar3; - int iVar4; - float fVar5; - undefined uVar6; - - iVar2 = 0; - do { - iVar3 = param_1 * 0x50; - fVar5 = ((float)iVar2 / 10.00000000) * 255.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar6 = (undefined)(int)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a0f3c; - uVar6 = (undefined)(int)fVar5; - } - else { - if ((int)fVar1 < 0) { -LAB_7f0a0f3c: - uVar6 = 0xff; - } - } - iVar4 = iVar2 + 1; - *(undefined *)(DAT_8007a154 + iVar3 + 0x47) = uVar6; - param_1 += 1; - *(undefined *)(DAT_8007a154 + iVar3 + 0x37) = uVar6; - *(undefined *)(DAT_8007a154 + iVar3 + 0x27) = uVar6; - iVar2 += 2; - *(undefined *)(DAT_8007a154 + iVar3 + 0x17) = uVar6; - iVar3 += 0x50; - if (99 < param_1) { - param_1 = 0; - iVar3 = 0; - } - fVar5 = ((float)iVar4 / 10.00000000) * 255.00000000; - if (false) { - fVar1 = ROUND(fVar5); - } - else { - fVar1 = FLOOR(fVar5); - } - uVar6 = (undefined)(int)fVar1; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a1020; - uVar6 = (undefined)(int)fVar5; - } - else { - if ((int)fVar1 < 0) { -LAB_7f0a1020: - uVar6 = 0xff; - } - } - param_1 += 1; - *(undefined *)(DAT_8007a154 + iVar3 + 0x47) = uVar6; - *(undefined *)(DAT_8007a154 + iVar3 + 0x37) = uVar6; - *(undefined *)(DAT_8007a154 + iVar3 + 0x27) = uVar6; - *(undefined *)(DAT_8007a154 + iVar3 + 0x17) = uVar6; - if (99 < param_1) { - param_1 = 0; - } - if (iVar2 == 10) { - return; - } - } while( true ); -} - - - -void proc_7F0A108C(float *param_1,float *param_2,short param_3,short param_4,int param_5, - char param_6,undefined param_7) - -{ - char cVar1; - uint uVar2; - float *pfVar3; - u32 uVar4; - ulonglong uVar5; - ulonglong uVar6; - int iVar7; - byte bVar8; - undefined uVar9; - int iVar10; - int iVar11; - int iVar12; - f32 fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - short sStackX10; - byte bStack143; - byte bStack142; - float fStack132; - float fStack128; - float fStack124; - float fStack120; - float fStack116; - float fStack112; - float fStack104; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - float fStack44; - float fStack28; - float fStack24; - float fStack20; - undefined4 uStack16; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - uStack16 = dword_80040930; - uStack12 = dword_80040934; - uStack8 = dword_80040938; - uStack4 = dword_8004093C; - uVar2 = cheatCheckIfOn(cheats_cheat_paintball); - sStackX10 = param_3; - if (uVar2 != 0) { - sStackX10 = 0x10; - } - fStack80 = *param_1; - fStack76 = param_1[1]; - iVar12 = (int)sStackX10; - fStack72 = param_1[2]; - iVar11 = iVar12 * 0xc; - fStack84 = *(float *)(&dword_8004080C + iVar11); - fStack88 = *(float *)(iVar11 + -0x7ffbf7f0); - fVar18 = *param_2; - if ((fVar18 == 0.00000000) && (param_2[2] == 0.00000000)) { - fStack56 = 0.00000000; - fStack60 = 0.00000000; - fStack52 = 0.00000000; - fStack64 = 1.00000000; - fStack44 = 1.00000000; - } - else { - fStack24 = sqrtf(param_2[2] * param_2[2] + fVar18 * fVar18 + param_2[1] * param_2[1]); - fStack20 = *param_2 / fStack24; - fStack28 = param_2[2] / fStack24; - fStack24 = param_2[1] / fStack24; - fVar18 = sqrtf(fStack20 * fStack20 + fStack28 * fStack28); - fStack60 = -fVar18; - fStack44 = fStack28 / fVar18; - fStack56 = fStack24 * (fStack20 / fVar18); - fStack52 = -(fStack20 / fVar18); - fStack64 = fStack24 * fStack44; - } - if (param_5 == 0) { - pfVar3 = (float *)proc_7F0BCA14((int)param_4); - fVar13 = proc_7F0B483C(); - fStack80 = fStack80 * (float)fVar13 - *pfVar3; - fVar13 = proc_7F0B483C(); - fStack76 = fStack76 * (float)fVar13 - pfVar3[1]; - fVar13 = proc_7F0B483C(); - fStack72 = fStack72 * (float)fVar13 - pfVar3[2]; - fVar13 = proc_7F0B483C(); - fStack84 = fStack84 * (float)fVar13; - fVar13 = proc_7F0B483C(); - fStack88 = fStack88 * (float)fVar13; - } - else { - iVar7 = *(int *)(param_5 + 4); - fStack120 = fStack44; - pfVar3 = (float *)(*(int *)(*(int *)(iVar7 + 0x14) + 0xc) + (int)param_6 * 0x40); - fStack116 = 0.00000000; - fStack112 = fStack52; - fStack132 = fStack56; - fStack128 = fStack60; - fStack124 = fStack64; - proc_7F0583D8(pfVar3,&fStack120); - proc_7F0583D8(pfVar3,&fStack132); - fStack104 = sqrtf(fStack112 * fStack112 + fStack120 * fStack120 + fStack116 * fStack116); - fVar18 = sqrtf(fStack124 * fStack124 + fStack132 * fStack132 + fStack128 * fStack128); - fStack84 = fStack84 / fStack104; - fStack88 = fStack88 / fVar18; - if ((byte)(&DAT_80040816)[iVar11] < 2) { - if ((&DAT_80040815)[iVar11] == '\x02') { - *(byte *)(iVar7 + 2) = *(byte *)(iVar7 + 2) | 2; - goto LAB_7f0a13b0; - } - bVar8 = *(byte *)(iVar7 + 2); - } - else { - bVar8 = *(byte *)(iVar7 + 2); - } - *(byte *)(iVar7 + 2) = bVar8 | 1; - } -LAB_7f0a13b0: - *(int *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x48) = param_5; - *(char *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x4c) = param_6; - *(undefined *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x4d) = param_7; - *(short *)(DAT_8007a154 + DAT_80040808 * 0x50) = param_4; - *(short *)(DAT_8007a154 + DAT_80040808 * 0x50 + 2) = sStackX10; - iVar7 = DAT_8007a154 + DAT_80040808 * 0x50; - *(undefined4 *)(iVar7 + 8) = uStack16; - *(undefined4 *)(iVar7 + 0xc) = uStack12; - *(undefined4 *)(iVar7 + 0x10) = uStack8; - *(undefined4 *)(iVar7 + 0x14) = uStack4; - iVar7 = DAT_8007a154 + DAT_80040808 * 0x50; - *(undefined4 *)(iVar7 + 0x18) = uStack16; - *(undefined4 *)(iVar7 + 0x1c) = uStack12; - *(undefined4 *)(iVar7 + 0x20) = uStack8; - *(undefined4 *)(iVar7 + 0x24) = uStack4; - iVar7 = DAT_8007a154 + DAT_80040808 * 0x50; - *(undefined4 *)(iVar7 + 0x28) = uStack16; - *(undefined4 *)(iVar7 + 0x2c) = uStack12; - *(undefined4 *)(iVar7 + 0x30) = uStack8; - *(undefined4 *)(iVar7 + 0x34) = uStack4; - iVar7 = DAT_8007a154 + DAT_80040808 * 0x50; - *(undefined4 *)(iVar7 + 0x38) = uStack16; - *(undefined4 *)(iVar7 + 0x3c) = uStack12; - *(undefined4 *)(iVar7 + 0x40) = uStack8; - *(undefined4 *)(iVar7 + 0x44) = uStack4; - fVar18 = fStack84 * fStack44; - fVar16 = fStack88 * fStack56; - iVar7 = proc_7F0A0C74((fStack80 - fVar18) - fVar16); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 8) = (short)iVar7; - fVar14 = fStack88 * fStack60; - iVar7 = proc_7F0A0C74((fStack76 - 0.00000000) - fVar14); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 10) = (short)iVar7; - fVar15 = fStack84 * fStack52; - fVar17 = fStack88 * fStack64; - iVar7 = proc_7F0A0C74((fStack72 - fVar15) - fVar17); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0xc) = (short)iVar7; - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x10) = 0; - *(short *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x12) = (ushort)impactimages[iVar12].height << 5 - ; - iVar7 = proc_7F0A0C74((fStack80 - fVar18) + fVar16); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x18) = (short)iVar7; - iVar7 = proc_7F0A0C74((fStack76 - 0.00000000) + fVar14); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x1a) = (short)iVar7; - iVar7 = proc_7F0A0C74((fStack72 - fVar15) + fVar17); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x1c) = (short)iVar7; - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x20) = 0; - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x22) = 0; - iVar7 = proc_7F0A0C74(fStack80 + fVar18 + fVar16); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x28) = (short)iVar7; - iVar7 = proc_7F0A0C74(fStack76 + 0.00000000 + fVar14); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x2a) = (short)iVar7; - iVar7 = proc_7F0A0C74(fStack72 + fVar15 + fVar17); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x2c) = (short)iVar7; - *(short *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x30) = (ushort)impactimages[iVar12].width << 5; - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x32) = 0; - iVar7 = proc_7F0A0C74((fStack80 + fVar18) - fVar16); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x38) = (short)iVar7; - iVar7 = proc_7F0A0C74((fStack76 + 0.00000000) - fVar14); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x3a) = (short)iVar7; - iVar7 = proc_7F0A0C74((fStack72 + fVar15) - fVar17); - iVar10 = 0; - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x3c) = (short)iVar7; - *(short *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x40) = (ushort)impactimages[iVar12].width << 5; - *(short *)(DAT_8007a154 + DAT_80040808 * 0x50 + 0x42) = (ushort)impactimages[iVar12].height << 5 - ; - uVar5 = (ulonglong)bStack143; - uVar6 = (ulonglong)bStack142; - do { - cVar1 = *(char *)(iVar11 + -0x7ffbf7ec); - if (cVar1 == '\0') { - uVar4 = get_random_value(); - uVar5 = SEXT48((int)(uVar4 % 0x28)); - uVar9 = (undefined)(uVar4 % 0x28); - uVar6 = uVar5; - if (false) { - trap(0x1c00); - } - } - else { - if (cVar1 == '\x01') { - uVar4 = get_random_value(); - iVar12 = 0xff - uVar4 % 0x28; - if (false) { - trap(0x1c00); - } - uVar5 = (longlong)iVar12 & 0xff; - uVar9 = (undefined)iVar12; - uVar6 = (longlong)iVar12 & 0xff; - } - else { - if (cVar1 == '\x02') { - uVar4 = get_random_value(); - uVar9 = 0; - if ((uVar4 & 1) != 0) { - uVar9 = 0xff; - } - uVar4 = get_random_value(); - bVar8 = 0; - if ((uVar4 & 1) != 0) { - bVar8 = 0xff; - } - uVar4 = get_random_value(); - uVar6 = (ulonglong)bVar8; - if ((uVar4 & 1) == 0) { - uVar5 = 0; - } - else { - uVar5 = 0xff; - } - } - else { - uVar9 = 0; - } - } - } - *(undefined *)(DAT_8007a154 + DAT_80040808 * 0x50 + iVar10 + 0x14) = uVar9; - *(undefined *)(DAT_8007a154 + DAT_80040808 * 0x50 + iVar10 + 0x15) = (char)uVar6; - *(undefined *)(DAT_8007a154 + DAT_80040808 * 0x50 + iVar10 + 0x16) = (char)uVar5; - iVar12 = DAT_8007a154 + DAT_80040808 * 0x50 + iVar10; - iVar10 += 0x10; - *(undefined *)(iVar12 + 0x17) = 0xff; - } while (iVar10 != 0x40); - DAT_80040808 += 1; - if (99 < DAT_80040808) { - DAT_80040808 = 0; - } - proc_7F0A0E98(DAT_80040808); - *(undefined2 *)(DAT_8007a154 + DAT_80040808 * 0x50) = 0xffff; - return; -} - - - -undefined4 * proc_7F0A1A94(undefined4 *param_1,int param_2,uint param_3) - -{ - char cVar1; - short sVar2; - short sVar3; - int iVar4; - bool bVar5; - bool bVar6; - undefined4 *puVar7; - ulonglong uVar8; - u32 uVar9; - short *psVar10; - undefined *puVar11; - int iVar12; - int iVar13; - longlong lVar14; - undefined4 *puStackX0; - uint uStackX8; - int iStack24; - int iStack20; - - lVar14 = -1; - bVar6 = false; - iStack20 = 0; - iStack24 = -1; - if (param_2 != 0) { - iStack20 = *(int *)(param_2 + 4); - } - param_1[1] = 0x3000; - *param_1 = 0xb6000000; - puStackX0 = param_1 + 4; - iVar13 = 0; - param_1[3] = 0x80; - param_1[2] = 0xba000602; - uStackX8 = param_3; - do { - psVar10 = (short *)(DAT_8007a154 + iVar13); - if ((param_2 == *(int *)(psVar10 + 0x24)) && (-1 < *psVar10)) { - if (param_2 == 0) { - uVar8 = proc_7F0B5E50((int)*psVar10); - if (uVar8 == 0) goto LAB_7f0a1cec; - psVar10 = (short *)(DAT_8007a154 + iVar13); - } - puVar7 = puStackX0; - sVar2 = psVar10[1]; - if (uStackX8 == 0) { - iVar12 = (int)sVar2 * 0xc; - puVar11 = &dword_8004080C + iVar12; - bVar5 = 1 < (byte)(&DAT_80040816)[iVar12]; - if (!bVar5) { - bVar5 = (&DAT_80040815)[iVar12] != '\x02'; - } - } - else { - iVar12 = (int)sVar2 * 0xc; - puVar11 = &dword_8004080C + iVar12; - bVar5 = (byte)(&DAT_80040816)[iVar12] < 2; - if (bVar5) { - bVar5 = (&DAT_80040815)[iVar12] == '\x02'; - } - } - if (bVar5) { - bVar6 = true; - if (param_2 == 0) { - sVar3 = *psVar10; - if (lVar14 != (longlong)sVar3) { - lVar14 = (longlong)(int)sVar3; - puStackX0 = proc_7F0BC9C4(puStackX0,(int)sVar3); - } - } - else { - cVar1 = *(char *)(psVar10 + 0x26); - if (lVar14 != (longlong)cVar1) { - iVar4 = *(int *)(*(int *)(iStack20 + 0x14) + 0xc); - lVar14 = (longlong)(int)(short)cVar1; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar9 = osVirtualToPhysical((void *)((int)cVar1 * 0x40 + iVar4)); - puVar7[1] = uVar9; - } - } - if ((longlong)iStack24 != (longlong)sVar2) { - append_image_to_DL((uint **)register0x000000ec, - (sImageTableEntry *)((int)&impactimages->index + iVar12), - (uint)(byte)puVar11[9],(ulonglong)(byte)puVar11[10],2); - iStack24 = (int)sVar2; - } - puVar7 = puStackX0; - *puStackX0 = 0x4300040; - puStackX0 = puStackX0 + 2; - uVar9 = osVirtualToPhysical((void *)(DAT_8007a154 + iVar13 + 8)); - puVar7[1] = uVar9; - puStackX0[1] = 0x2010; - *puStackX0 = 0xb1000032; - puStackX0 = puStackX0 + 2; - } - } -LAB_7f0a1cec: - iVar13 += 0x50; - if (iVar13 == 8000) { - if ((param_2 != 0) && (!bVar6)) { - *(byte *)(iStack20 + 2) = *(byte *)(iStack20 + 2) & ~(byte)(1 << (uStackX8 & 0x1f)); - } - puStackX0[1] = 0x40; - *puStackX0 = 0xba000602; - return puStackX0 + 2; - } - } while( true ); -} - - - -void proc_7F0A1D78(undefined4 *param_1) - -{ - proc_7F0A1A94(param_1,0,0); - return; -} - - - -void proc_7F0A1DA0(float *param_1,float *param_2,float *param_3,float *param_4,float param_5, - float param_6,float param_7,float param_8) - -{ - int iVar1; - int iVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - int iVar10; - float fVar11; - int iVar12; - float extraout_f12; - float fVar13; - int iVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float in_stack_00000018; - float in_stack_0000001c; - float fStack32; - float fStack28; - float fStack24; - - fVar7 = *param_2; - fVar9 = param_2[1]; - fVar11 = param_2[2]; - fVar3 = sqrtf(fVar11 * fVar11 + fVar7 * fVar7 + fVar9 * fVar9); - fVar18 = 1.00000000 / fVar3; - fVar15 = *param_3; - fVar13 = param_3[1]; - fVar8 = param_3[2]; - fVar4 = sqrtf(fVar8 * fVar8 + fVar15 * fVar15 + fVar13 * fVar13); - fVar19 = 1.00000000 / fVar4; - fVar5 = convert_angle_using_inverse((f32)*param_4,(f32)param_4[2]); - fVar20 = param_8 * fVar3 - param_7 * fVar3; - fVar21 = in_stack_0000001c * fVar4 - in_stack_00000018 * fVar4; - iVar1 = DAT_8007a160; - if (DAT_8007a160 < 0) { - iVar1 = DAT_8007a160 + 1; - } - fVar6 = sqrtf((fVar20 * fVar21) / (float)(iVar1 >> 1)); - iVar10 = (int)fVar6; - fVar16 = *param_1; - fVar6 = param_7 * fVar3 + (float)(iVar10 >> 1); - fVar3 = in_stack_00000018 * fVar4 + (float)(iVar10 >> 1); - fVar4 = param_1[1]; - fVar17 = param_1[2]; - iVar1 = iVar10; - play_sfx_a1(ptr_sfx_buf,0x47,NULL); - sub_GAME_7F053A10(iVar1,param_1); - iVar1 = 0; - iVar12 = (int)(fVar20 / (float)iVar10); - iVar14 = (int)(fVar21 / (float)iVar10); - if (0 < iVar14) { - do { - iVar2 = 0; - if (0 < iVar12) { - fVar20 = (float)iVar1 * (float)iVar10; - do { - fVar21 = (float)iVar2 * (float)iVar10; - fStack32 = fVar15 * fVar19 * fVar20 + - fVar15 * fVar19 * fVar3 + fVar16 + fVar6 * fVar7 * fVar18 + - fVar21 * fVar7 * fVar18; - fStack28 = fVar13 * fVar19 * fVar20 + - fVar13 * fVar19 * fVar3 + fVar4 + fVar6 * fVar9 * fVar18 + - fVar21 * fVar9 * fVar18; - fStack24 = fVar8 * fVar19 * fVar20 + - fVar8 * fVar19 * fVar3 + fVar17 + fVar6 * fVar11 * fVar18 + - fVar21 * fVar11 * fVar18; - get_random_value(); - proc_7F0A2160(&fStack32,fVar5,extraout_f12); - iVar2 += 1; - } while (iVar2 != iVar12); - } - iVar1 += 1; - } while (iVar1 < iVar14); - } - return; -} - - - -void proc_7F0A2160(undefined4 *param_1,undefined4 param_2,float param_3) - -{ - undefined uVar1; - u32 uVar2; - int iVar3; - float in_a2_lo; - float fVar4; - float fVar5; - float fVar6; - - uVar2 = get_random_value(); - fVar4 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - fVar6 = fVar6 * 0.00000000 * flt_80057718 - flt_8005771C; - uVar2 = get_random_value(); - *(undefined4 *)(DAT_8007a164 + dword_80040940 * 0x68) = 1; - *(undefined4 *)(DAT_8007a164 + dword_80040940 * 0x68 + 4) = *param_1; - *(undefined4 *)(DAT_8007a164 + dword_80040940 * 0x68 + 8) = param_1[1]; - *(undefined4 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0xc) = param_1[2]; - fVar5 = (float)uVar2; - *(float *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x1c) = - ((fVar4 * 0.00000000 + fVar4 * 0.00000000) - 1.00000000) * 1.50000000; - *(float *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x20) = fVar6 * 3.00000000; - if ((int)uVar2 < 0) { - fVar5 = fVar5 + 4294967296.00000000; - } - *(float *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x24) = - ((fVar5 * 0.00000000 + fVar5 * 0.00000000) - 1.00000000) * 1.50000000; - uVar2 = get_random_value(); - fVar4 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x38) = - (short)(int)((fVar4 * 0.00000000 * 0.50000000 + 1.00000000) * in_a2_lo); - uVar2 = get_random_value(); - fVar4 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x3a) = - (short)(int)((fVar4 * 0.00000000 * 0.50000000 + 1.00000000) * in_a2_lo); - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x3c) = 0; - uVar2 = get_random_value(); - fVar4 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x48) = - (short)(int)((fVar4 * 0.00000000 * 0.50000000 + 1.00000000) * in_a2_lo); - uVar2 = get_random_value(); - fVar4 = -in_a2_lo; - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x4a) = - (short)(int)((fVar6 * 0.00000000 * 0.50000000 + 1.00000000) * fVar4); - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x4c) = 0; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x58) = - (short)(int)((fVar6 * 0.00000000 * 0.50000000 + 1.00000000) * fVar4); - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x5a) = - (short)(int)((fVar6 * 0.00000000 * 0.50000000 + 1.00000000) * fVar4); - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x5c) = 0; - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x40) = 0; - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x42) = 0; - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x50) = 0; - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x52) = 0; - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x60) = 0; - *(undefined2 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x62) = 0; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x44) = 5; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x45) = 5; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x46) = 0x7e; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x54) = 5; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x55) = 0xfb; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x56) = 0x7e; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 100) = 0xfb; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x65) = 0xfb; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x66) = 0x7e; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x67) = 0xff; - iVar3 = DAT_8007a164 + dword_80040940 * 0x68; - uVar1 = *(undefined *)(iVar3 + 0x67); - *(undefined *)(iVar3 + 0x57) = uVar1; - *(undefined *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x47) = uVar1; - *(undefined4 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x10) = param_2; - *(undefined4 *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x14) = 0; - uVar2 = get_random_value(); - fVar4 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar4 = fVar4 + 4294967296.00000000; - } - *(float *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x18) = fVar4 * 0.00000000 * flt_80057720; - uVar2 = get_random_value(); - fVar4 = flt_80057724; - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x28) = fVar6 * 0.00000000 * flt_80057724; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x2c) = fVar6 * 0.00000000 * fVar4; - uVar2 = get_random_value(); - fVar6 = (float)uVar2; - if ((int)uVar2 < 0) { - fVar6 = fVar6 + 4294967296.00000000; - } - *(float *)(DAT_8007a164 + dword_80040940 * 0x68 + 0x30) = fVar6 * 0.00000000 * fVar4; - dword_80040940 += 1; - if (DAT_8007a160 <= dword_80040940) { - dword_80040940 = 0; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a2a68) overlaps instruction at (ram,0x7f0a2a64) -// - -void proc_7F0A28D4(void) - -{ - float fVar1; - float fVar2; - float fVar3; - int iVar4; - int iVar5; - int iVar6; - int *piVar7; - uint uVar8; - uint uVar9; - float fVar10; - float fVar11; - uint uVar12; - - fVar3 = flt_80057730; - fVar2 = flt_8005772C; - fVar1 = flt_80057728; - iVar5 = 0; - if (clock_timer < 0xf) { - fVar10 = (float)clock_timer; - } - else { - fVar10 = 15.00000000; - } - iVar4 = 0; - if (0 < DAT_8007a160) { - do { - iVar6 = *(int *)(DAT_8007a164 + iVar5); - if (0 < iVar6) { - uVar12 = (uint)fVar10; - *(int *)(DAT_8007a164 + iVar5) = iVar6 + uVar12; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 0x10) = - *(float *)(iVar6 + 0x10) + *(float *)(iVar6 + 0x28) * fVar10; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 0x14) = - *(float *)(iVar6 + 0x14) + *(float *)(iVar6 + 0x2c) * fVar10; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 0x18) = - *(float *)(iVar6 + 0x18) + *(float *)(iVar6 + 0x30) * fVar10; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 4) = *(float *)(iVar6 + 4) + *(float *)(iVar6 + 0x1c) * fVar10; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 0xc) = - *(float *)(iVar6 + 0xc) + *(float *)(iVar6 + 0x24) * fVar10; - if (0 < (int)uVar12) { - uVar9 = uVar12 & 3; - if (uVar9 == 0) { - uVar9 = 4; - } - else { - uVar8 = 1; - if (uVar9 != 1) { - do { - iVar6 = DAT_8007a164 + iVar5; - uVar8 += 1; - *(float *)(iVar6 + 8) = - *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - } while (uVar9 != uVar8); - } - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - uVar9 = uVar8 + 4; - if (uVar8 == uVar12) goto LAB_7f0a2bd8; - } - while (uVar9 != uVar12) { - iVar6 = DAT_8007a164 + iVar5; - uVar9 += 4; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - } - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - iVar6 = DAT_8007a164 + iVar5; - *(float *)(iVar6 + 8) = *(float *)(iVar6 + 8) + *(float *)(iVar6 + 0x20); - *(float *)(DAT_8007a164 + iVar5 + 0x20) = - *(float *)(DAT_8007a164 + iVar5 + 0x20) - fVar3; - } -LAB_7f0a2bd8: - piVar7 = (int *)(DAT_8007a164 + iVar5); - if (*piVar7 < 0x96) { - fVar11 = (float)piVar7[2]; - } - else { - *piVar7 = 0; - piVar7 = (int *)(DAT_8007a164 + iVar5); - fVar11 = (float)piVar7[2]; - } - if (fVar2 <= fVar11) { - if (fVar1 < fVar11) { - *piVar7 = 0; - } - } - else { - *piVar7 = 0; - } - } - iVar4 += 1; - iVar5 += 0x68; - } while (iVar4 < DAT_8007a160); - } - return; -} - - - -undefined4 * proc_7F0A2C44(undefined4 *param_1) - -{ - undefined4 *puVar1; - void *virtualAddress; - uint *virtualAddress_00; - u32 uVar2; - undefined4 uVar3; - int iVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - undefined4 *puStackX0; - float afStack64 [12]; - float fStack16; - float fStack12; - float fStack8; - - puStackX0 = param_1; - append_image_to_DL((uint **)register0x000000ec,glassoverlayimage + 1,2,1,2); - puVar1 = puStackX0; - *puStackX0 = 0xbb001001; - puStackX0[1] = 0xd800d80; - puStackX0[3] = 0x100000; - puStackX0[2] = 0xba001402; - puStackX0[5] = 0x10000; - puStackX0[4] = 0xba001001; - puStackX0[7] = 0x3000; - puStackX0[6] = 0xb6000000; - puStackX0[9] = 0x2000; - puStackX0[8] = 0xba000c02; - puVar7 = puStackX0 + 0xc; - puStackX0[0xb] = 0x60000; - puStackX0[10] = 0xb7000000; - puStackX0 = puStackX0 + 0xe; - *puVar7 = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10E0(); - virtualAddress_00 = (uint *)osVirtualToPhysical(virtualAddress); - *(uint **)(puVar1 + 0xd) = virtualAddress_00; - iVar5 = 0; - iVar6 = 0; - if (0 < DAT_8007a160) { - iVar4 = DAT_8007a160; - do { - if (0 < *(int *)(DAT_8007a164 + iVar5)) { - proc_7F0BD6E0(); - proc_7F05892C((undefined4 *)(DAT_8007a164 + iVar5 + 4), - (float *)(DAT_8007a164 + iVar5 + 0x10),afStack64); - fStack16 = fStack16 - (float)pPlayer->current_model_xpos; - fStack12 = fStack12 - (float)pPlayer->current_model_ypos; - fStack8 = fStack8 - (float)pPlayer->current_model_zpos; - proc_7F058C9C((int)afStack64,virtualAddress_00); - puVar1 = puStackX0; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar2 = osVirtualToPhysical(virtualAddress_00); - puVar7 = puStackX0; - puVar1[1] = uVar2; - *puStackX0 = 0x4200030; - puStackX0 = puStackX0 + 2; - virtualAddress_00 = - (uint *)osVirtualToPhysical((void *)(DAT_8007a164 + iVar5 + 0x38)); - *(uint **)(puVar7 + 1) = virtualAddress_00; - puStackX0[1] = 0xa14; - *puStackX0 = 0xbf000000; - iVar4 = DAT_8007a160; - puStackX0 = puStackX0 + 2; - } - iVar6 += 1; - iVar5 += 0x68; - } while (iVar6 < iVar4); - } - puVar1 = puStackX0; - puVar7 = puStackX0 + 2; - puStackX0[1] = 0x60000; - *puStackX0 = 0xb6000000; - puStackX0 = puStackX0 + 4; - *puVar7 = 0x1030040; - uVar3 = get_BONDdata_field_10D8(); - puVar7 = puStackX0; - puVar1[3] = uVar3; - *puStackX0 = 0x1020040; - puStackX0 = puStackX0 + 2; - uVar3 = get_BONDdata_field_10C8(); - puVar7[1] = uVar3; - return puStackX0; -} - - - -void proc_7F0A2F30(short *param_1,undefined8 param_2,longlong param_3,float param_4) - -{ - int iVar1; - float in_a3_lo; - int iVar2; - int iVar3; - float fVar4; - float fVar5; - float fVar6; - float __x; - int iStack24; - - fVar6 = in_a3_lo * 8.00000000; - iVar2 = 0; - iStack24 = 0; - do { - iVar3 = 0; - __x = ((float)(int)(dbl_80057740 - (double)iStack24) * flt_80057748 * 2.00000000) / - 360.00000000; - do { - fVar4 = sinf(__x); - fVar5 = cosf(__x); - *param_1 = (short)(int)(((fVar4 * 4.00000000 * 130.00000000 * (float)(6 - iVar3)) / - 5.00000000) * (float)(int)param_3) + 1; - param_1[1] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0xff; - *(undefined *)((int)param_1 + 0xd) = 0xff; - *(undefined *)(param_1 + 7) = 0xff; - param_1[2] = -(short)(int)((fVar5 * 4.00000000 * 130.00000000 * (float)(6 - iVar3)) / - 5.00000000); - if (param_3 < 1) { - if (param_3 < 0) { - fVar4 = cosf(__x); - *(undefined *)((int)param_1 + 0xd) = - (char)(int)(127.00000000 - fVar4 * 127.00000000); - fVar4 = cosf(__x); - *(char *)(param_1 + 7) = (char)(int)(32.00000000 - fVar4 * 32.00000000); - } - } - else { - fVar4 = cosf(__x); - *(char *)(param_1 + 6) = (char)(int)(96.00000000 - fVar4 * 96.00000000); - fVar4 = cosf(__x); - *(undefined *)(param_1 + 7) = 0xff; - *(undefined *)((int)param_1 + 0xd) = - (char)(int)(127.00000000 - fVar4 * 127.00000000); - } - iVar3 += 1; - if (iVar2 < 10) { - iVar1 = (int)fVar6 * 2 + -1; - if (iVar1 < iVar2) { - if ((iVar2 < (int)(fVar6 + fVar6)) && (iVar1 < iVar2)) { - *(char *)((int)param_1 + 0xf) = - (char)(int)((fVar6 - (float)(int)fVar6) * 207.00000000) + '0'; - } - else { - *(undefined *)((int)param_1 + 0xf) = 0x30; - } - } - else { - *(undefined *)((int)param_1 + 0xf) = 0xff; - } - } - else { - if (9 < iVar2) { - fVar4 = (fVar6 - 5.00000000) * 4.00000000; - if ((float)iVar2 <= fVar4 + 9.00000000) { - *(undefined *)((int)param_1 + 0xf) = 0xff; - } - else { - if ((int)(fVar4 + 0.50000000) + 9 < iVar2) { - *(undefined *)((int)param_1 + 0xf) = 0x30; - } - else { - if ((int)(fVar6 - 5.00000000) * 2 + 8 < iVar2) { - *(char *)((int)param_1 + 0xf) = - (char)(int)((fVar6 - (float)(int)fVar6) * 207.00000000) + '0'; - } - else { - *(undefined *)((int)param_1 + 0xf) = 0x30; - } - } - } - } - } - param_1 = param_1 + 8; - } while (iVar3 != 2); - iVar2 += 1; - iStack24 += 5; - } while (iVar2 != 0x17); - return; -} - - - -undefined4 * proc_7F0A3330(undefined4 *param_1,int param_2,longlong param_3) - -{ - int iVar1; - uint uVar2; - undefined4 *puVar3; - undefined4 *puVar4; - uint uVar5; - - uVar2 = 0; - iVar1 = (int)param_3; - if (param_3 < 0) { - iVar1 += 1; - } - iVar1 = (iVar1 >> 1) + -2; - puVar3 = param_1; - if (-1 < iVar1) { - do { - *puVar3 = 0x4300040; - puVar3[1] = param_2; - puVar4 = puVar3 + 2; - param_1 = puVar4; - if ((int)uVar2 < 9) { - if (((int)uVar2 < 9) && ((uVar2 & 1) == 0)) { - param_1 = puVar3 + 4; - *puVar4 = 0xb1000032; - puVar3[3] = 0x2110; - } - } - else { - uVar5 = uVar2 + 3 & 3; - if (((int)(uVar2 + 3) < 0) && (uVar5 != 0)) { - uVar5 -= 4; - } - if (uVar5 != 0) { - *puVar4 = 0xb1000032; - puVar3[3] = 0x2110; - param_1 = puVar3 + 4; - } - } - uVar2 = (int)((uVar2 + 1) * 0x1000000) >> 0x18; - param_2 += 0x20; - puVar3 = param_1; - } while ((int)uVar2 <= iVar1); - } - *param_1 = 0xb8000000; - param_1[1] = 0; - return param_1 + 2; -} - - - -void proc_7F0A33F8(short *param_1,int param_2,float param_3,longlong param_4) - -{ - short sVar1; - short sVar2; - longlong in_a3; - short *psVar3; - int iVar4; - float fVar5; - float fVar6; - undefined uVar7; - float __x; - - if (in_a3 != 0) { - *param_1 = 1; - param_1[1] = 0; - param_1[2] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0; - *(undefined *)((int)param_1 + 0xd) = 0x2c; - *(undefined *)(param_1 + 7) = 0; - *(undefined *)((int)param_1 + 0xf) = 0xb0; - param_1 = param_1 + 8; - } - iVar4 = 7; - if (6 < param_2 + -7) { - do { - __x = ((float)iVar4 * flt_8005774C) / (float)param_2; - fVar5 = sinf(__x); - fVar6 = cosf(__x); - sVar1 = (short)(int)(fVar5 * 520.00000000 * (float)param_4); - *param_1 = sVar1 + 1; - param_1[1] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - sVar2 = (short)(int)(fVar6 * 520.00000000 * (float)param_4); - param_1[2] = -sVar2; - fVar5 = cosf(__x); - fVar5 = 0.00000000 - fVar5 * 0.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a35c0; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a35c0: - uVar7 = 0xff; - } - } - *(undefined *)(param_1 + 6) = uVar7; - fVar5 = cosf(__x); - fVar5 = 44.00000000 - fVar5 * 20.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a3658; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a3658: - uVar7 = 0xff; - } - } - *(undefined *)((int)param_1 + 0xd) = uVar7; - fVar5 = cosf(__x); - fVar5 = 0.00000000 - fVar5 * 0.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a36f0; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a36f0: - uVar7 = 0xff; - } - } - *(undefined *)(param_1 + 7) = uVar7; - *(undefined *)((int)param_1 + 0xf) = 0xb0; - psVar3 = param_1 + 8; - if ((iVar4 != 0) && (iVar4 < param_2)) { - *psVar3 = 1 - sVar1; - param_1[9] = 0; - param_1[10] = -sVar2; - param_1[0xb] = 0; - param_1[0xc] = 0; - param_1[0xd] = 0; - *(undefined *)(param_1 + 0xe) = 0xff; - *(undefined *)((int)param_1 + 0x1d) = 0xff; - *(undefined *)(param_1 + 0xf) = 0xff; - fVar5 = cosf(__x); - fVar5 = 0.00000000 - fVar5 * 0.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a37cc; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a37cc: - uVar7 = 0xff; - } - } - *(undefined *)(param_1 + 0xe) = uVar7; - fVar5 = cosf(__x); - fVar5 = 44.00000000 - fVar5 * 20.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a3864; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a3864: - uVar7 = 0xff; - } - } - *(undefined *)((int)param_1 + 0x1d) = uVar7; - fVar5 = cosf(__x); - fVar5 = 0.00000000 - fVar5 * 0.00000000; - if (false) { - fVar6 = ROUND(fVar5); - } - else { - fVar6 = FLOOR(fVar5); - } - uVar7 = (undefined)(int)fVar6; - if (false) { - if (false) { - fVar5 = ROUND(fVar5 - 2147483648.00000000); - } - else { - fVar5 = FLOOR(fVar5 - 2147483648.00000000); - } - if (false) goto LAB_7f0a38fc; - uVar7 = (undefined)(int)fVar5; - } - else { - if ((int)fVar6 < 0) { -LAB_7f0a38fc: - uVar7 = 0xff; - } - } - *(undefined *)(param_1 + 0xf) = uVar7; - *(undefined *)((int)param_1 + 0x1f) = 0xb0; - psVar3 = param_1 + 0x10; - } - iVar4 += 2; - param_1 = psVar3; - } while (iVar4 <= param_2 + -7); - } - return; -} - - - -undefined4 * proc_7F0A3978(undefined4 *param_1,int param_2,undefined8 param_3,longlong param_4) - -{ - undefined4 *puVar1; - int iVar2; - - if (param_4 == 0) { - iVar2 = 0; - do { - iVar2 = (iVar2 + 1) * 0x1000000 >> 0x18; - param_1[1] = param_2; - *param_1 = 0x4300040; - param_1[3] = 0x2110; - param_1[2] = 0xb1000032; - param_1 = param_1 + 4; - param_2 += 0x20; - } while (iVar2 < 8); - } - else { - param_1[1] = param_2 + 0xf0; - *param_1 = 0x4300040; - param_1[2] = 0x4040010; - param_1[3] = param_2; - iVar2 = 7; - param_1[5] = 0x42; - param_1[4] = 0xb1000003; - puVar1 = param_1 + 6; - do { - param_1 = puVar1; - param_1[1] = iVar2 * 0x20 + param_2 + 0x10; - *param_1 = 0x4300040; - iVar2 = (iVar2 + -1) * 0x1000000 >> 0x18; - param_1[3] = param_2; - param_1[2] = 0x4040010; - param_1[5] = 0x3140; - param_1[4] = 0xb1000042; - puVar1 = param_1 + 6; - } while (-1 < iVar2); - param_1[7] = 0x10; - param_1[6] = 0xb1000004; - param_1 = param_1 + 8; - } - *param_1 = 0xb8000000; - param_1[1] = 0; - return param_1 + 2; -} - - - -short * proc_7F0A3AB8(short *param_1,short param_2,short param_3,short param_4,short param_5, - short param_6,short param_7) - -{ - int iVar1; - int iVar2; - short sVar3; - - param_2 += param_6; - iVar1 = 0; - do { - iVar2 = 0; - sVar3 = param_3 + param_7; - do { - iVar2 += 1; - param_1[2] = sVar3; - sVar3 += param_5; - *param_1 = param_2; - param_1[1] = 0; - param_1[3] = 0; - param_1[4] = 0; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0x20; - *(undefined *)((int)param_1 + 0xd) = 0x70; - *(undefined *)(param_1 + 7) = 0x20; - *(undefined *)((int)param_1 + 0xf) = 0xf0; - param_1 = param_1 + 8; - } while (iVar2 != 2); - iVar1 += 1; - param_2 += param_4; - } while (iVar1 != 2); - return param_1; -} - - - -undefined4 * proc_7F0A3B40(undefined4 *param_1,undefined4 param_2) - -{ - *param_1 = 0x4300040; - param_1[1] = param_2; - param_1[3] = 0x2110; - param_1[2] = 0xb1000032; - return param_1 + 4; -} - - - -void proc_7F0A3B70(int param_1,undefined *param_2) - -{ - int iVar1; - - iVar1 = param_1 * 4; - *param_2 = *(undefined *)(&dword_80040960 + param_1); - param_2[1] = *(undefined *)((int)&dword_80040960 + iVar1 + 1); - param_2[2] = *(undefined *)((int)&dword_80040960 + iVar1 + 2); - param_2[3] = *(undefined *)((int)&dword_80040960 + iVar1 + 3); - return; -} - - - -void proc_7F0A3BA4(int param_1,undefined *param_2) - -{ - int iVar1; - - iVar1 = param_1 * 4; - *(undefined *)(&dword_80040960 + param_1) = *param_2; - *(undefined *)((int)&dword_80040960 + iVar1 + 1) = param_2[1]; - *(undefined *)((int)&dword_80040960 + iVar1 + 2) = param_2[2]; - *(undefined *)((int)&dword_80040960 + iVar1 + 3) = param_2[3]; - return; -} - - - -void proc_7F0A3BD8(void) - -{ - undefined4 *puVar1; - - puVar1 = (undefined4 *)null_ARRAY_8007a170; - do { - puVar1 = puVar1 + 0xb; - puVar1[3] = 0; - *(undefined2 *)(puVar1 + 1) = 0; - *puVar1 = 0; - puVar1 = puVar1; - } while (puVar1 < null_ARRAY_8007a4e0); - return; -} - - - -void proc_7F0A3C08(undefined4 *param_1,undefined4 *param_2,int param_3,float param_4,short param_5) - -{ - u32 uVar1; - int iVar2; - float __x; - float fVar3; - float fVar4; - undefined2 in_stack_00000012; - - uVar1 = get_random_value(); - __x = (float)uVar1; - if ((int)uVar1 < 0) { - __x = __x + 4294967296.00000000; - } - __x = __x * 0.00000000 * flt_80057750; - *param_1 = 0; - *(undefined2 *)((int)param_1 + 6) = in_stack_00000012; - if (param_3 == 4) { - *(undefined2 *)(param_1 + 1) = 1; - param_1[2] = 0x3f800000; - *(sImageTableEntry **)(param_1 + 3) = flareimage2; - } - else { - if (param_3 == 1) { - *(undefined2 *)(param_1 + 1) = 0xb; - param_1[2] = 0x3f000000; - *(sImageTableEntry **)(param_1 + 3) = explosion_smokeimages; - } - else { - if (param_3 == 3) { - *(undefined2 *)(param_1 + 1) = 9; - param_1[2] = 0x3f000000; - *(sImageTableEntry **)(param_1 + 3) = scattered_explosions; - } - else { - if (param_3 == 6) { - *(undefined2 *)(param_1 + 1) = 100; - param_1[2] = 0; - *(sImageTableEntry **)(param_1 + 3) = flareimage2; - } - else { - *(undefined2 *)(param_1 + 1) = 0xb; - param_1[2] = 0x3f000000; - *(sImageTableEntry **)(param_1 + 3) = explosion_smokeimages; - } - } - } - } - iVar2 = param_3 * 4; - *(undefined *)(param_1 + 10) = *(undefined *)(&dword_80040960 + param_3); - *(undefined *)((int)param_1 + 0x29) = *(undefined *)((int)&dword_80040960 + iVar2 + 1); - *(undefined *)((int)param_1 + 0x2a) = *(undefined *)((int)&dword_80040960 + iVar2 + 2); - *(undefined *)((int)param_1 + 0x2b) = *(undefined *)((int)&dword_80040960 + iVar2 + 3); - param_1[4] = *param_2; - param_1[5] = param_2[1]; - param_1[6] = param_2[2]; - uVar1 = get_random_value(); - fVar3 = (float)uVar1; - if ((int)uVar1 < 0) { - fVar3 = fVar3 + 4294967296.00000000; - } - fVar4 = (float)(int)param_5 * (fVar3 * 0.00000000 * 0.25000000 + 1.00000000) * flt_80057754; - *(float *)(param_1 + 9) = fVar4; - fVar3 = cosf(__x); - *(float *)(param_1 + 7) = fVar3 * fVar4; - __x = sinf(__x); - *(float *)(param_1 + 8) = __x * fVar4; - return; -} - - - -undefined4 * proc_7F0A3E1C(undefined4 *param_1,int param_2,float param_3,short param_4) - -{ - short sVar1; - undefined4 *puVar2; - - sVar1 = null_ARRAY_8007a170._4_2_; - puVar2 = (undefined4 *)null_ARRAY_8007a170; - while( true ) { - if (sVar1 == 0) { - proc_7F0A3C08(puVar2,param_1,param_2,(float)(int)param_4,param_4); - return puVar2; - } - if (null_ARRAY_8007a170 + 0x36f < puVar2 + 0xb) break; - sVar1 = *(short *)(puVar2 + 0xc); - puVar2 = puVar2 + 0xb; - } - return NULL; -} - - - -void proc_7F0A3EA0(void) - -{ - int *piVar1; - short sVar2; - int iVar3; - - sVar2 = null_ARRAY_8007a170._4_2_; - piVar1 = (int *)null_ARRAY_8007a170; - while( true ) { - if (0 < sVar2) { - iVar3 = *piVar1 + clock_timer; - *piVar1 = iVar3; - if ((-1 < (longlong)iVar3) && ((longlong)*(short *)(piVar1 + 1) <= (longlong)iVar3)) { - *(undefined2 *)(piVar1 + 1) = 0; - } - } - if (null_ARRAY_8007a170 + 0x36f < piVar1 + 0xb) break; - sVar2 = *(short *)(piVar1 + 0xc); - piVar1 = piVar1 + 0xb; - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F0A3F04(void) - -{ - byte bVar1; - short sVar2; - longlong lVar3; - float *virtualAddress; - float *pfVar4; - void *virtualAddress_00; - u32 uVar5; - int *in_a0_lo; - uint **in_a1_lo; - int in_a2_lo; - uint *puVar6; - uint *puVar7; - int iVar8; - f32 fVar9; - float fVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fVar16; - float fVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - float fVar26; - float fVar27; - float fVar28; - float fVar29; - float in_f12; - float fVar30; - float fVar31; - float fVar32; - float fVar33; - float fVar34; - float fVar35; - float fVar36; - float fVar37; - uint *puStack24; - float *pfStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - if (((0 < *(short *)(in_a0_lo + 1)) && (-1 < *in_a0_lo)) && - (lVar3 = proc_7F078A58((float *)(in_a0_lo + 4),in_f12), lVar3 != 0)) { - fStack16 = DAT_80040980; - fStack12 = DAT_80040984; - fStack4 = (float)DAT_8004098c; - fStack8 = DAT_80040988; - virtualAddress = (float *)get_BONDdata_field_10D4(); - puStack24 = *in_a1_lo; - pfStack20 = virtualAddress; - proc_7F0BD6C4(4); - sVar2 = *(short *)((int)in_a0_lo + 6); - pfVar4 = (float *)proc_7F0BCA14((int)sVar2); - fStack4 = (float)in_a0_lo[10]; - iVar8 = *in_a0_lo; - fVar37 = (float)in_a0_lo[2]; - fVar30 = (float)in_a0_lo[4]; - fVar10 = (float)in_a0_lo[5]; - fVar16 = (float)in_a0_lo[6]; - fVar24 = (float)in_a0_lo[7]; - fVar17 = *pfStack20; - fVar23 = (float)in_a0_lo[7]; - fVar31 = pfStack20[1]; - fVar25 = (float)in_a0_lo[7]; - fVar18 = pfStack20[2]; - fVar11 = (float)in_a0_lo[8]; - fVar32 = *pfStack20; - fVar26 = (float)in_a0_lo[8]; - fVar19 = pfStack20[1]; - fVar12 = (float)in_a0_lo[8]; - fVar33 = pfStack20[2]; - fVar27 = (float)in_a0_lo[7]; - fVar20 = pfStack20[4]; - fVar13 = (float)in_a0_lo[7]; - fVar34 = pfStack20[5]; - fVar28 = (float)in_a0_lo[7]; - fVar21 = pfStack20[6]; - fVar14 = (float)in_a0_lo[8]; - fVar35 = pfStack20[4]; - fVar29 = (float)in_a0_lo[8]; - fVar22 = pfStack20[5]; - fVar15 = (float)in_a0_lo[8]; - fVar36 = pfStack20[6]; - *virtualAddress = fStack16; - virtualAddress[1] = fStack12; - virtualAddress[2] = fStack8; - virtualAddress[3] = fStack4; - virtualAddress[4] = fStack16; - virtualAddress[5] = fStack12; - virtualAddress[6] = fStack8; - virtualAddress[7] = fStack4; - virtualAddress[8] = fStack16; - virtualAddress[9] = fStack12; - virtualAddress[10] = fStack8; - virtualAddress[0xb] = fStack4; - virtualAddress[0xc] = fStack16; - virtualAddress[0xd] = fStack12; - virtualAddress[0xe] = fStack8; - virtualAddress[0xf] = fStack4; - fVar9 = proc_7F0B483C(); - *(short *)virtualAddress = - (short)(int)(((fVar30 - fVar17 * fVar24) - fVar35 * fVar14) * (float)fVar9 - *pfVar4); - fVar9 = proc_7F0B483C(); - *(undefined2 *)((int)virtualAddress + 2) = - (short)(int)(((fVar10 - fVar31 * fVar23) - fVar22 * fVar29) * (float)fVar9 - pfVar4[1]) - ; - fVar9 = proc_7F0B483C(); - *(short *)(virtualAddress + 1) = - (short)(int)(((fVar16 - fVar18 * fVar25) - fVar36 * fVar15) * (float)fVar9 - pfVar4[2]) - ; - iVar8 = (int)((float)iVar8 * fVar37) * 0xc; - bVar1 = *(byte *)(in_a0_lo[3] + iVar8 + 4); - *(undefined2 *)((int)virtualAddress + 10) = 0; - *(ushort *)(virtualAddress + 2) = (ushort)bVar1 << 5; - fVar9 = proc_7F0B483C(); - *(short *)(virtualAddress + 4) = - (short)(int)(((fVar30 + fVar32 * fVar11) - fVar20 * fVar27) * (float)fVar9 - *pfVar4); - fVar9 = proc_7F0B483C(); - *(undefined2 *)((int)virtualAddress + 0x12) = - (short)(int)(((fVar10 + fVar19 * fVar26) - fVar34 * fVar13) * (float)fVar9 - pfVar4[1]) - ; - fVar9 = proc_7F0B483C(); - fVar37 = pfVar4[2]; - *(undefined2 *)(virtualAddress + 6) = 0; - *(undefined2 *)((int)virtualAddress + 0x1a) = 0; - *(short *)(virtualAddress + 5) = - (short)(int)(((fVar16 + fVar33 * fVar12) - fVar21 * fVar28) * (float)fVar9 - fVar37); - fVar9 = proc_7F0B483C(); - *(short *)(virtualAddress + 8) = - (short)(int)((fVar30 + fVar17 * fVar24 + fVar35 * fVar14) * (float)fVar9 - *pfVar4); - fVar9 = proc_7F0B483C(); - *(undefined2 *)((int)virtualAddress + 0x22) = - (short)(int)((fVar10 + fVar31 * fVar23 + fVar22 * fVar29) * (float)fVar9 - pfVar4[1]); - fVar9 = proc_7F0B483C(); - fVar23 = pfVar4[2]; - *(undefined2 *)(virtualAddress + 10) = 0; - *(short *)(virtualAddress + 9) = - (short)(int)((fVar16 + fVar18 * fVar25 + fVar36 * fVar15) * (float)fVar9 - fVar23); - *(short *)((int)virtualAddress + 0x2a) = (ushort)*(byte *)(in_a0_lo[3] + iVar8 + 5) << 5; - fVar9 = proc_7F0B483C(); - *(short *)(virtualAddress + 0xc) = - (short)(int)(((fVar30 - fVar32 * fVar11) + fVar20 * fVar27) * (float)fVar9 - *pfVar4); - fVar9 = proc_7F0B483C(); - *(undefined2 *)((int)virtualAddress + 0x32) = - (short)(int)(((fVar10 - fVar19 * fVar26) + fVar34 * fVar13) * (float)fVar9 - pfVar4[1]) - ; - fVar9 = proc_7F0B483C(); - puVar6 = puStack24; - *(short *)(virtualAddress + 0xd) = - (short)(int)(((fVar16 - fVar33 * fVar12) + fVar21 * fVar28) * (float)fVar9 - pfVar4[2]) - ; - *(ushort *)(virtualAddress + 0xe) = (ushort)*(byte *)(in_a0_lo[3] + iVar8 + 4) << 5; - *(short *)((int)virtualAddress + 0x3a) = (ushort)*(byte *)(in_a0_lo[3] + iVar8 + 5) << 5; - puVar7 = puStack24 + 2; - puStack24[1] = 0x2000; - *puStack24 = 0xb7000000; - puStack24 = puStack24 + 4; - *puVar7 = 0x1030040; - virtualAddress_00 = (void *)get_BONDdata_field_10E0(); - uVar5 = osVirtualToPhysical(virtualAddress_00); - puVar6[3] = uVar5; - puStack24 = proc_7F0BC9C4(puStack24,(int)sVar2); - append_image_to_DL(&puStack24,(sImageTableEntry *)(in_a0_lo[3] + iVar8),4,(longlong)in_a2_lo - ,2); - puVar6 = puStack24; - *puStack24 = 0x4300040; - puStack24 = puStack24 + 2; - uVar5 = osVirtualToPhysical(virtualAddress); - puVar7 = puStack24; - puVar6[1] = uVar5; - puVar6 = puStack24 + 2; - puStack24[1] = 0x2010; - *puStack24 = 0xb1000032; - puStack24 = puStack24 + 4; - *puVar6 = 0x1030040; - virtualAddress_00 = (void *)get_BONDdata_field_10D8(); - uVar5 = osVirtualToPhysical(virtualAddress_00); - puVar7[3] = uVar5; - *in_a1_lo = puStack24; - } - return; -} - - - -void proc_7F0A4528(undefined8 param_1,undefined8 param_2) - -{ - undefined1 *puVar1; - - puVar1 = null_ARRAY_8007a170; - do { - proc_7F0A3F04(); - puVar1 = (undefined1 *)((undefined4 *)puVar1 + 0xb); - } while (puVar1 < null_ARRAY_8007a4e0); - return; -} - - - -float proc_7F0A4594(int param_1) - -{ - float *pfVar1; - float fStack12; - undefined4 uStack8; - float fStack4; - - fStack12 = *(float *)(param_1 + 0x10); - uStack8 = *(undefined4 *)(param_1 + 0x14); - fStack4 = *(float *)(param_1 + 0x18); - pfVar1 = (float *)get_BONDdata_field_10CC(); - proc_7F058474(pfVar1,&fStack12); - return -fStack4; -} - - - -void proc_7F0A45D8(void) - -{ - undefined4 *puVar1; - - puVar1 = null_ARRAY_8007a4e0; - do { - puVar1 = puVar1 + 0xf; - *(undefined2 *)(puVar1 + 1) = 0; - puVar1 = puVar1; - } while (puVar1 < (undefined4 *)0x8007b098); - return; -} - - - -undefined4 * -proc_7F0A4600(undefined4 *param_1,undefined4 *param_2,int param_3,float param_4,float param_5, - undefined2 param_6) - -{ - short sVar1; - undefined4 *puVar2; - undefined4 in_stack_00000010; - - sVar1 = null_ARRAY_8007a4e0[1]._0_2_; - puVar2 = null_ARRAY_8007a4e0; - while( true ) { - if (sVar1 == 0) { - proc_7F0A3C08(puVar2,param_1,param_3,param_5,SUB42(param_5,0)); - puVar2[0xb] = *param_2; - puVar2[0xc] = param_2[1]; - puVar2[0xd] = param_2[2]; - puVar2[0xe] = in_stack_00000010; - return puVar2; - } - if ((undefined4 *)((int)null_ARRAY_8007a4e0 + 2999U) < puVar2 + 0xf) break; - sVar1 = *(short *)(puVar2 + 0x10); - puVar2 = puVar2 + 0xf; - } - return NULL; -} - - - -void proc_7F0A46A0(void) - -{ - short sVar1; - int *piVar2; - int iVar3; - float in_f12; - float extraout_f12; - - sVar1 = null_ARRAY_8007a4e0[1]._0_2_; - piVar2 = null_ARRAY_8007a4e0; - while( true ) { - if (0 < sVar1) { - iVar3 = *piVar2 + clock_timer; - *piVar2 = iVar3; - if (-1 < (longlong)iVar3) { - if ((longlong)iVar3 < (longlong)*(short *)(piVar2 + 1)) { - proc_7F057D88((float *)(piVar2 + 4),(float *)(piVar2 + 0xb),in_f12); - in_f12 = extraout_f12; - if ((float)piVar2[5] < (float)piVar2[0xe]) { - *(undefined2 *)(piVar2 + 1) = 0; - } - } - else { - *(undefined2 *)(piVar2 + 1) = 0; - } - } - } - if ((int *)((int)null_ARRAY_8007a4e0 + 2999) < piVar2 + 0xf) break; - sVar1 = *(short *)(piVar2 + 0x10); - piVar2 = piVar2 + 0xf; - } - return; -} - - - -void proc_7F0A4768(undefined8 param_1,undefined8 param_2) - -{ - undefined4 *puVar1; - - puVar1 = null_ARRAY_8007a4e0; - do { - proc_7F0A3F04(); - puVar1 = puVar1 + 0xf; - } while (puVar1 < (undefined4 *)0x8007b098); - return; -} - - - -void proc_7F0A47D4(void) - -{ - proc_7F0A3BD8(); - proc_7F0A45D8(); - return; -} - - - -void proc_7F0A47FC(void) - -{ - proc_7F0A3EA0(); - proc_7F0A46A0(); - return; -} - - - -void proc_7F0A4824(undefined8 param_1,undefined8 param_2) - -{ - proc_7F0A4528(param_1,param_2); - proc_7F0A4768((longlong)(int)param_1,(longlong)(int)param_2); - return; -} - - - -void proc_7F0A4860(void) - -{ - return; -} - - - -void init_watch_at_start_of_stage(void) - -{ - D_80040994 = 0; - D_80040998 = 0; - D_8004099c = 0; - dword_800409A0 = 4; - D_800409A4 = 0; - watch_soundrelated_maybe = 0; - dword_800409AC = 0; - dword_800409B0 = 0; - dword_800409B4 = 0; - dword_800409B8 = 0; - dword_800409BC = 0.00000000; - dword_800409C0 = 0; - dword_800409C4 = 0; - dword_800409C8 = 0.00000000; - dword_800409CC = 0.00000000; - dword_800409D0 = 0xffffffff; - f32_800409d4 = 0.00000000; - 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.00000000; - pPlayer->has_set_control_type_data = 1; - D_800409D8 = 8; - controlstick_lr_enabled = 0; - D_80040AE0 = 0; - dword_80040AE4 = 0; - flt_80040AE8 = 0.00000000; - flt_80040AEC = 0.00000000; - dword_80040AF0 = 45.00000000; - dword_80040AF4 = 0xff00a0; - dword_80040AF8 = 10; - dword_80040AFC = 0xff; - dword_80040B00 = 10; - D_80040B04 = 0xe0; - dword_80040B08 = 0; - dword_80040B0C = 0xffa0; - dword_80040B10 = 0xf800; - dword_80040B14 = 0.00000000; - dword_80040B18 = 0.00000000; - dword_80040B1C = 2.50000000; - dword_80040B20 = 0.00000000; - dword_80040B24 = 0.00000000; - dword_80040B28 = 0.00000000; - dword_80040B2C = 0; - dword_80040B30 = 0.00000000; - dword_80040B34 = 0.00000000; - dword_80040B38 = 0.00000000; - dword_80040B3C = 0; - dword_80040B40 = 0; - dword_80040B44 = 1; - D_80040B48 = 0x32; - D_80040B4C = 0x32; - D_80040B50 = 0x32; - D_80040B54 = 0x32; - sub_GAME_7F01D500(); - mission_failed_or_aborted = FALSE; - return; -} - - - -void controller_deadzone_related(void) - -{ - s32 sVar1; - - sVar1 = get_cur_controller_horz_stick_pos('\0'); - if (10 < sVar1) { - D_80040B50 += 1; - } - sVar1 = get_cur_controller_horz_stick_pos('\0'); - if (sVar1 < -10) { - D_80040B50 += -1; - } - sVar1 = get_cur_controller_vert_stick_pos('\0'); - if (10 < sVar1) { - D_80040B54 += -1; - } - sVar1 = get_cur_controller_vert_stick_pos('\0'); - if (sVar1 < -10) { - D_80040B54 += 1; - } - return; -} - - - -void proc_7F0A4B40(undefined4 *param_1) - -{ - s32 sVar1; - undefined4 *puVar2; - int iStack52; - int iStack48; - u8 *puStack44; - int *piStack40; - byte abStack36 [36]; - - sVar1 = get_cur_controller_horz_stick_pos('\0'); - if (10 < sVar1) { - D_80040B48 += 1; - } - sVar1 = get_cur_controller_horz_stick_pos('\0'); - if (sVar1 < -10) { - D_80040B48 -= 1; - } - sVar1 = get_cur_controller_vert_stick_pos('\0'); - if (10 < sVar1) { - D_80040B4C -= 1; - } - sVar1 = get_cur_controller_vert_stick_pos('\0'); - if (sVar1 < -10) { - 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 = (int *)ptrFirstFontTableSmall; - puStack44 = ptrSecondFontTableSmall; - puVar2 = (undefined4 *)sprintf((char *)abStack36,"%d, %d\n",D_80040B48,D_80040B4C); - microcode_constructor(param_1 + 8); - proc_7F0AE98C(&iStack52,&iStack48,abStack36,(int)puStack44,piStack40,0); - en_text_write_stuff(puVar2,&D_80040B48,&D_80040B4C,abStack36,(int)puStack44,(int)piStack40, - 0xff0000ff,iStack48,iStack52,0,0); - D_80040B4C = (D_80040B4C - *(int *)(puStack44 + 0x890)) + 1; - return; -} - - - -u32 controllerCheckControllerTypesAllowed(void) - -{ - longlong controllercount; - u32 allowed; - int controllertype; - - controllercount = get_attached_controller_count(); - if (controllercount < 2) { - allowed = 0; - } - else { - controllertype = cur_player_get_control_type(); - if (controllertype < 4) { - allowed = 0; - } - else { - allowed = 1; - } - } - return allowed; -} - - - -s32 cur_player_get_control_type(void) - -{ - return (s32)pPlayer->cur_player_control_type_0; -} - - - -void cur_player_set_control_type(int type) - -{ - int langsize; - - pPlayer->cur_player_control_type_0 = type; - langsize = 10; - pPlayer->cur_player_control_type_1 = type; - pPlayer->cur_player_control_type_2 = (float)type; - if (j_text_trigger != 0) { - langsize = 0xe; - } - pPlayer->neg_vspacing_for_control_type_entry = -(langsize * type); - pPlayer->has_set_control_type_data = 1; - return; -} - - - -u32 get_cur_player_look_vertical_inverted(void) - -{ - return cur_player_look_vertical_inverted; -} - - - -void set_cur_player_look_vertical_inverted(u32 param_1) - -{ - cur_player_look_vertical_inverted = param_1; - return; -} - - - -u32 cur_player_get_autoaim(void) - -{ - return cur_player_autoaim_setting; -} - - - -void cur_player_set_autoaim(u32 param_1) - -{ - cur_player_autoaim_setting = param_1; - return; -} - - - -undefined4 cur_player_get_lookahead(void) - -{ - return cur_player_lookahead_setting; -} - - - -void cur_player_set_lookahead(undefined4 param_1) - -{ - cur_player_lookahead_setting = param_1; - return; -} - - - -undefined4 cur_player_get_aim_control(void) - -{ - return cur_player_aim_control; -} - - - -void cur_player_set_aim_control(undefined4 param_1) - -{ - cur_player_aim_control = param_1; - return; -} - - - -undefined4 cur_player_get_sight_onscreen_control(void) - -{ - return cur_player_sight_onscreen; -} - - - -void cur_player_set_sight_onscreen_control(undefined4 param_1) - -{ - cur_player_sight_onscreen = param_1; - return; -} - - - -undefined4 cur_player_get_ammo_onscreen_setting(void) - -{ - return cur_player_ammo_onscreen_setting; -} - - - -void cur_player_set_ammo_onscreen_setting(undefined4 param_1) - -{ - cur_player_ammo_onscreen_setting = param_1; - return; -} - - - -undefined4 cur_player_get_screen_setting(void) - -{ - return cur_player_screen_setting; -} - - - -void cur_player_set_screen_setting(undefined4 param_1) - -{ - cur_player_screen_setting = param_1; - return; -} - - - -undefined4 get_screen_ratio(void) - -{ - return screen_ratio; -} - - - -void set_screen_ratio(undefined4 param_1) - -{ - screen_ratio = param_1; - return; -} - - - -int ** proc_7F0A4EF8(void) - -{ - int **ppiVar1; - - ppiVar1 = (int **)&watch_soundrelated_maybe; - if (watch_soundrelated_maybe == 1) { - watch_soundrelated_maybe = 0; - } - else { - watch_soundrelated_maybe = 1; - ppiVar1 = (int **)&watch_soundrelated_maybe; - play_sfx_a1(ptr_sfx_buf,0x9f,NULL); - } - return ppiVar1; -} - - - -void sub_GAME_7F0A4F44(void) - -{ - watch_soundrelated_maybe = 0; - return; -} - - - -u32 is_holding_greater_than_2E_left_on_stick(void) - -{ - s32 sVar1; - - sVar1 = get_cur_controller_horz_stick_pos('\0'); - return (u32)(uint)(sVar1 < -0x2d); -} - - - -u32 is_holding_greater_than_2E_right_on_stick(void) - -{ - s32 sVar1; - - sVar1 = get_cur_controller_horz_stick_pos('\0'); - return (u32)((uint)(sVar1 < 0x2e) ^ 1); -} - - - -u32 get_controlstick_lr_enabled(void) - -{ - return controlstick_lr_enabled; -} - - - -void set_controlstick_lr_disabled(void) - -{ - controlstick_lr_enabled = 0; - return; -} - - - -bool sub_GAME_7F0A4FB0(void) - -{ - u32 uVar1; - bool 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; -} - - - -bool proc_7F0A4FEC(void) - -{ - u32 uVar1; - bool bVar2; - - uVar1 = is_holding_greater_than_2E_right_on_stick(); - bVar2 = uVar1 != 0; - if (bVar2) { - uVar1 = get_controlstick_lr_enabled(); - bVar2 = uVar1 != 0; - } - return bVar2; -} - - - -ulonglong is_holding_greater_than_2E_up_on_stick(void) - -{ - s32 sVar1; - - sVar1 = get_cur_controller_vert_stick_pos('\0'); - return (ulonglong)(sVar1 < 0x2e) ^ 1; -} - - - -ulonglong is_holding_greater_than_2E_down_on_stick(void) - -{ - s32 sVar1; - - sVar1 = get_cur_controller_vert_stick_pos('\0'); - return (ulonglong)(sVar1 < -0x2d); -} - - - -undefined4 get_D_80040AE0(void) - -{ - return D_80040AE0; -} - - - -void set_D_80040AE0_0(void) - -{ - D_80040AE0 = 0; - return; -} - - - -ulonglong sub_GAME_7F0A5088(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = is_holding_greater_than_2E_up_on_stick(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = get_D_80040AE0(); - bVar1 = iVar3 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong sub_GAME_7F0A50C4(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = is_holding_greater_than_2E_down_on_stick(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = get_D_80040AE0(); - bVar1 = iVar3 != 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong is_holding_less_than_10_up_on_stick(void) - -{ - s32 sVar1; - - sVar1 = get_cur_controller_vert_stick_pos('\0'); - return (ulonglong)(sVar1 < 0x10) ^ 1; -} - - - -ulonglong is_holding_less_than_10_down_on_stick(void) - -{ - s32 sVar1; - - sVar1 = get_cur_controller_vert_stick_pos('\0'); - return (ulonglong)(sVar1 < -0xf); -} - - - -undefined4 get_D_80040AE4(void) - -{ - return dword_80040AE4; -} - - - -void set_D_80040AE4_0(void) - -{ - dword_80040AE4 = 0; - return; -} - - - -ulonglong proc_7F0A5160(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = is_holding_less_than_10_up_on_stick(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = get_D_80040AE4(); - bVar1 = iVar3 == 0; - } - return (ulonglong)bVar1; -} - - - -ulonglong proc_7F0A519C(void) - -{ - bool bVar1; - ulonglong uVar2; - int iVar3; - - uVar2 = is_holding_less_than_10_down_on_stick(); - bVar1 = uVar2 != 0; - if (bVar1) { - iVar3 = get_D_80040AE4(); - bVar1 = iVar3 == 0; - } - return (ulonglong)bVar1; -} - - - -void sub_GAME_7F0A51D8(void) - -{ - D_80040B04 = 0x80; - play_sfx_a1(ptr_sfx_buf,0xec,NULL); - return; -} - - - -void proc_7F0A5210(void) - -{ - u32 uVar1; - - set_controlstick_lr_disabled(); - play_sfx_a1(ptr_sfx_buf,0x9f,NULL); - uVar1 = get_random_value(); - if ((uint)(dword_80040B10 << 0x10) < uVar1) { - sub_GAME_7F0A51D8(); - } - return; -} - - - -void proc_7F0A526C(void) - -{ - bool bVar1; - bool bVar2; - int iVar3; - u32 uVar4; - bool bVar5; - - if (watch_soundrelated_maybe == 0) { - bVar1 = false; - bVar2 = false; - iVar3 = get_debug_gunwatchpos_flag(); - if (iVar3 == 0) { - uVar4 = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG); - bVar1 = uVar4 != 0; - uVar4 = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG); - if (uVar4 != 0) { - bVar2 = true; - } - } - uVar4 = get_controller_buttons_pressed('\0',L_JPAD); - if ((uVar4 != 0) || (bVar5 = sub_GAME_7F0A4FB0(), bVar5 != false)) { - bVar1 = true; - } - uVar4 = get_controller_buttons_pressed('\0',R_JPAD); - if ((uVar4 != 0) || (bVar5 = proc_7F0A4FEC(), bVar5 != false)) { - bVar2 = true; - } - if (bVar1) { - D_80040994 = 4; - proc_7F0A5210(); - trigger_watch_zoom((f32)4.59999990,15.00000000); - } - if (bVar2) { - D_80040994 = 1; - proc_7F0A5210(); - trigger_watch_zoom((f32)4.59999990,15.00000000); - } - } - else { - if ((D_800409A4 != 0) && - (uVar4 = get_controller_buttons_pressed('\0',Z_TRIG|A_BUTTON), uVar4 != 0)) { - D_800409A4 = 0; - set_missionstate(0); - run_title_stage(); - mission_failed_or_aborted = TRUE; - deleteCurrentSelectedFolder(); - } - } - return; -} - - - -void proc_7F0A53D8(void) - -{ - bool bVar1; - bool bVar2; - int iVar3; - u32 uVar4; - bool bVar5; - - if (watch_soundrelated_maybe == 0) { - bVar1 = false; - bVar2 = false; - iVar3 = get_debug_gunwatchpos_flag(); - if (iVar3 == 0) { - uVar4 = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG); - bVar1 = uVar4 != 0; - uVar4 = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG); - if (uVar4 != 0) { - bVar2 = true; - } - } - uVar4 = get_controller_buttons_pressed('\0',L_JPAD); - if ((uVar4 != 0) || (bVar5 = sub_GAME_7F0A4FB0(), bVar5 != false)) { - bVar1 = true; - } - uVar4 = get_controller_buttons_pressed('\0',R_JPAD); - if ((uVar4 != 0) || (bVar5 = proc_7F0A4FEC(), bVar5 != false)) { - bVar2 = true; - } - if (bVar1) { - D_80040994 = 0; - zero_D_800409A4(); - proc_7F0A5210(); - trigger_watch_zoom((f32)flt_80058460,15.00000000); - } - if (bVar2) { - D_80040994 = 2; - set_controlstick_lr_disabled(); - proc_7F0A5210(); - trigger_watch_zoom((f32)flt_80058464,15.00000000); - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a5574) overlaps instruction at (ram,0x7f0a5570) -// - -void proc_7F0A5504(void) - -{ - u32 uVar1; - bool bVar2; - - uVar1 = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG|L_JPAD); - if (((uVar1 == 0) && (bVar2 = sub_GAME_7F0A4FB0(), bVar2 == false)) || - (watch_soundrelated_maybe != 0)) { - uVar1 = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG|R_JPAD); - if (((uVar1 != 0) || (bVar2 = proc_7F0A4FEC(), bVar2 != false)) && - (watch_soundrelated_maybe == 0)) { - D_80040994 = 2; - zero_D_80040998(); - proc_7F0A5210(); - trigger_watch_zoom((f32)flt_80058468,15.00000000); - } - } - else { - D_80040994 = 1; - set_controlstick_lr_disabled(); - } - return; -} - - - -void proc_7F0A55C4(void) - -{ - u32 uVar1; - bool bVar2; - - uVar1 = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG|L_JPAD); - if ((((uVar1 == 0) && (bVar2 = sub_GAME_7F0A4FB0(), bVar2 == false)) || - (uVar1 = get_controller_buttons_held('\0',Z_TRIG), uVar1 != 0)) || - (watch_soundrelated_maybe != 0)) { - uVar1 = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG|R_JPAD); - if (((uVar1 != 0) || (bVar2 = proc_7F0A4FEC(), bVar2 != false)) && - ((uVar1 = get_controller_buttons_held('\0',Z_TRIG), uVar1 == 0 && - (watch_soundrelated_maybe == 0)))) { - D_80040994 = 3; - zero_D_8004099C(); - set_controlstick_lr_disabled(); - } - } - else { - D_80040994 = 1; - proc_7F0A5210(); - trigger_watch_zoom((f32)flt_8005846C,15.00000000); - } - return; -} - - - -void proc_7F0A56A4(void) - -{ - u32 uVar1; - bool bVar2; - - uVar1 = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG|L_JPAD); - if ((((uVar1 == 0) && (bVar2 = sub_GAME_7F0A4FB0(), bVar2 == false)) || - (uVar1 = get_controller_buttons_held('\0',Z_TRIG), uVar1 != 0)) || - (watch_soundrelated_maybe != 0)) { - uVar1 = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG|R_JPAD); - if (((uVar1 != 0) || (bVar2 = proc_7F0A4FEC(), bVar2 != false)) && - ((uVar1 = get_controller_buttons_held('\0',Z_TRIG), uVar1 == 0 && - (watch_soundrelated_maybe == 0)))) { - D_80040994 = 4; - proc_7F0A5210(); - trigger_watch_zoom((f32)flt_80058470,15.00000000); - } - } - else { - D_80040994 = 2; - zero_D_80040998(); - set_controlstick_lr_disabled(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a5814) overlaps instruction at (ram,0x7f0a5810) -// - -void proc_7F0A5784(void) - -{ - u32 uVar1; - bool bVar2; - - uVar1 = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG|L_JPAD); - if (((uVar1 == 0) && (bVar2 = sub_GAME_7F0A4FB0(), bVar2 == false)) || - (watch_soundrelated_maybe != 0)) { - uVar1 = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG|R_JPAD); - if (((uVar1 != 0) || (bVar2 = proc_7F0A4FEC(), bVar2 != false)) && - (watch_soundrelated_maybe == 0)) { - D_80040994 = 0; - zero_D_800409A4(); - proc_7F0A5210(); - trigger_watch_zoom((f32)flt_80058478,15.00000000); - } - } - else { - D_80040994 = 3; - zero_D_8004099C(); - proc_7F0A5210(); - trigger_watch_zoom((f32)flt_80058474,15.00000000); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a58d0) overlaps instruction at (ram,0x7f0a58cc) -// - -void sub_GAME_7F0A5860(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if (((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) || - (watch_soundrelated_maybe != 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if (((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) && - (watch_soundrelated_maybe == 0)) { - D_80040998 = 1; - set_D_80040AE0_0(); - } - } - else { - D_80040998 = 1; - set_D_80040AE0_0(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a596c) overlaps instruction at (ram,0x7f0a5968) -// - -void proc_7F0A5900(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if (((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) || - (watch_soundrelated_maybe != 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if (((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) && - (watch_soundrelated_maybe == 0)) { - D_80040998 = 0; - set_D_80040AE0_0(); - } - } - else { - D_80040998 = 0; - set_D_80040AE0_0(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a5a08) overlaps instruction at (ram,0x7f0a5a04) -// - -void proc_7F0A5998(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) { - D_8004099c += 1; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - } - else { - D_8004099c += -1; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - if (D_8004099c < 10) { - if (D_8004099c < 0) { - D_8004099c = 9; - } - } - else { - D_8004099c = 0; - } - return; -} - - - -void sub_GAME_7F0A5A64(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) { - D_8004099c = 1; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - } - else { - D_8004099c = 9; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - return; -} - - - -void sub_GAME_7F0A5AF4(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) { - D_8004099c = 2; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - } - else { - D_8004099c = 0; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a5bc0) overlaps instruction at (ram,0x7f0a5bbc) -// - -void proc_7F0A5B80(void) - -{ - f32 fVar1; - int iVar3; - int iVar4; - u32 uVar5; - s32 sVar6; - ulonglong uVar2; - - iVar3 = proc_7F08D038(); - iVar4 = get_debug_gunwatchpos_flag(); - if (iVar4 == 0) { - uVar5 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar5 == 0) && (sVar6 = get_cur_controller_vert_stick_pos('\0'), sVar6 < 0x47)) { - uVar5 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((((uVar5 != 0) || (sVar6 = get_cur_controller_vert_stick_pos('\0'), sVar6 < -0x46)) - && ((int)(float)dword_800409BC < iVar3 + -1)) && (watch_soundrelated_maybe == 0)) { - dword_800409BC = (f32)((float)dword_800409BC + 1.00000000); - } - } - else { - if ((0 < (int)(float)dword_800409BC) && (watch_soundrelated_maybe == 0)) { - dword_800409BC = (f32)((float)dword_800409BC - 1.00000000); - } - } - uVar5 = get_controller_buttons_held('\0',U_CBUTTONS|U_JPAD); - if (uVar5 == 0) { - uVar5 = get_controller_buttons_held('\0',D_CBUTTONS|D_JPAD); - if (((uVar5 != 0) && ((int)(float)dword_800409BC < iVar3 + -1)) && - (watch_soundrelated_maybe == 0)) { - dword_800409BC = (f32)((float)dword_800409BC + flt_80058480); - } - } - else { - if ((0 < (int)(float)dword_800409BC) && (watch_soundrelated_maybe == 0)) { - dword_800409BC = (f32)((float)dword_800409BC - flt_8005847C); - } - } - } - sVar6 = get_cur_controller_vert_stick_pos('\0'); - if ((((sVar6 < 0x1f) || (sVar6 = get_cur_controller_vert_stick_pos('\0'), 0x45 < sVar6)) || - (dword_800409B8 < 1)) || (watch_soundrelated_maybe != 0)) { - sVar6 = get_cur_controller_vert_stick_pos('\0'); - if (((sVar6 < -0x1e) && (sVar6 = get_cur_controller_vert_stick_pos('\0'), -0x46 < sVar6)) && - (((int)(float)dword_800409BC < iVar3 + -1 && (watch_soundrelated_maybe == 0)))) { - sVar6 = get_cur_controller_vert_stick_pos('\0'); - dword_800409BC = (f32)((float)dword_800409BC - (float)sVar6 / 300.00000000); - } - } - else { - sVar6 = get_cur_controller_vert_stick_pos('\0'); - dword_800409BC = (f32)((float)dword_800409BC - (float)sVar6 / 300.00000000); - } - uVar2 = proc_7F0A5160(); - if (((uVar2 == 0) || (dword_800409B8 < 1)) || (watch_soundrelated_maybe != 0)) { - uVar2 = proc_7F0A519C(); - if (((uVar2 != 0) && (dword_800409B8 < iVar3 + -1)) && (watch_soundrelated_maybe == 0)) { - dword_800409BC = (f32)((float)dword_800409BC + 1.00000000); - } - } - else { - dword_800409BC = (f32)((float)dword_800409BC - 1.00000000); - } - uVar2 = is_holding_less_than_10_up_on_stick(); - if ((uVar2 == 0) && (uVar2 = is_holding_less_than_10_down_on_stick(), uVar2 == 0)) { - dword_80040AE4 = 0; - } - else { - dword_80040AE4 = 1; - } - fVar1 = (f32)((float)iVar3 - 0.50000000); - if ((float)dword_800409BC <= (float)iVar3 - 0.50000000) { - fVar1 = dword_800409BC; - } - dword_800409BC = fVar1; - if ((float)dword_800409BC < -0.50000000) { - dword_800409BC = -0.50000000; - } - dword_800409B8 = (int)(float)dword_800409BC; - if (j_text_trigger == 0) { - iVar3 = 0xc; - iVar4 = 0xc; - } - else { - iVar3 = 0xe; - iVar4 = 0xe; - } - dword_800409B4 = iVar4 * 2 + -dword_800409B8 * iVar3; - if (dword_800409B4 < dword_800409B0) { - dword_800409B0 = (dword_800409B0 - (dword_800409B0 - dword_800409B4) / 3) + -1; - dword_800409C0 = 0; - } - else { - if (dword_800409B0 < dword_800409B4) { - dword_800409B0 = dword_800409B0 + (dword_800409B4 - dword_800409B0) / 3 + 1; - dword_800409C0 = 0; - } - else { - dword_800409C0 = 1; - } - } - if (((float)dword_800409BC <= (float)dword_800409B8 + flt_80058484) || - (uVar5 = get_controller_buttons_held - ('\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), uVar5 != 0)) { - if (((float)dword_800409BC <= (float)dword_800409B8 + flt_8005848C) && - (uVar5 = get_controller_buttons_held - ('\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), uVar5 == 0)) { - dword_800409BC = (f32)((float)dword_800409BC + flt_80058490); - } - } - else { - dword_800409BC = (f32)((float)dword_800409BC - flt_80058488); - } - return; -} - - - -void proc_7F0A611C(float *controltype_2,int *controltype_0,int param_3,int *negvspacing, - int *controltype_1,undefined4 *controltype_set,int param_7,int param_8,int param_9 - ) - -{ - int iVar2; - u32 uVar3; - s32 sVar4; - ulonglong uVar1; - int iVar5; - float fVar6; - - iVar2 = get_debug_gunwatchpos_flag(); - if (iVar2 != 0) goto LAB_7f0a6298; - uVar3 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if (uVar3 == 0) { - sVar4 = get_cur_controller_vert_stick_pos('\0'); - if (0x46 < sVar4) { - fVar6 = *controltype_2; - goto LAB_7f0a616c; - } - uVar3 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if (uVar3 == 0) { - sVar4 = get_cur_controller_vert_stick_pos('\0'); - if (sVar4 < -0x46) { - fVar6 = *controltype_2; - goto LAB_7f0a61c8; - } - } - else { - fVar6 = *controltype_2; -LAB_7f0a61c8: - if (((int)fVar6 < param_3 + -1) && (param_8 != 0)) { - *controltype_2 = fVar6 + 1.00000000; - } - } - } - else { - fVar6 = *controltype_2; -LAB_7f0a616c: - if ((0 < (int)fVar6) && (param_8 != 0)) { - *controltype_2 = fVar6 - 1.00000000; - } - } - uVar3 = get_controller_buttons_held('\0',U_CBUTTONS|U_JPAD); - if (uVar3 == 0) { - uVar3 = get_controller_buttons_held('\0',D_CBUTTONS|D_JPAD); - if (((uVar3 != 0) && ((int)*controltype_2 < param_3 + -1)) && (param_8 != 0)) { - *controltype_2 = *controltype_2 + flt_80058498; - } - } - else { - if ((0 < (int)*controltype_2) && (param_8 != 0)) { - *controltype_2 = *controltype_2 - flt_80058494; - } - } -LAB_7f0a6298: - sVar4 = get_cur_controller_vert_stick_pos('\0'); - if (((sVar4 < 0x1f) || (sVar4 = get_cur_controller_vert_stick_pos('\0'), 0x45 < sVar4)) || - ((*controltype_0 < 1 || (param_8 == 0)))) { - sVar4 = get_cur_controller_vert_stick_pos('\0'); - if ((((sVar4 < -0x1e) && (sVar4 = get_cur_controller_vert_stick_pos('\0'), -0x46 < sVar4)) - && ((int)*controltype_2 < param_3 + -1)) && (param_8 != 0)) { - sVar4 = get_cur_controller_vert_stick_pos('\0'); - *controltype_2 = *controltype_2 - (float)sVar4 / 300.00000000; - } - } - else { - sVar4 = get_cur_controller_vert_stick_pos('\0'); - *controltype_2 = *controltype_2 - (float)sVar4 / 300.00000000; - } - uVar1 = proc_7F0A5160(); - if (((uVar1 == 0) || (*controltype_0 < 1)) || (param_8 == 0)) { - uVar1 = proc_7F0A519C(); - if (((uVar1 != 0) && (*controltype_0 < param_3 + -1)) && (param_8 != 0)) { - *controltype_2 = *controltype_2 + 1.00000000; - } - } - else { - *controltype_2 = *controltype_2 - 1.00000000; - } - uVar1 = is_holding_less_than_10_up_on_stick(); - if ((uVar1 == 0) && (uVar1 = is_holding_less_than_10_down_on_stick(), uVar1 == 0)) { - dword_80040AE4 = 0; - } - else { - dword_80040AE4 = 1; - } - fVar6 = *controltype_2; - if ((float)param_3 - 0.50000000 < fVar6) { - *controltype_2 = (float)param_3 - 0.50000000; - fVar6 = *controltype_2; - } - if (fVar6 < -0.50000000) { - *controltype_2 = -0.50000000; - fVar6 = *controltype_2; - } - *controltype_0 = (int)fVar6; - iVar5 = -(int)fVar6 * param_9 + param_7 * param_9; - *controltype_1 = iVar5; - iVar2 = *negvspacing; - if (iVar5 < iVar2) { - *negvspacing = (iVar2 - (iVar2 - iVar5) / 3) + -1; - *controltype_set = 0; - } - else { - if (iVar2 < iVar5) { - *negvspacing = iVar2 + (iVar5 - iVar2) / 3 + 1; - *controltype_set = 0; - } - else { - *controltype_set = 1; - } - } - if ((*controltype_2 <= (float)*controltype_0 + flt_8005849C) || - (uVar3 = get_controller_buttons_held - ('\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), uVar3 != 0)) { - if ((*controltype_2 <= (float)*controltype_0 + flt_800584A4) && - (uVar3 = get_controller_buttons_held - ('\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), uVar3 == 0)) { - *controltype_2 = *controltype_2 + flt_800584A8; - } - } - else { - *controltype_2 = *controltype_2 - flt_800584A0; - } - return; -} - - - -void proc_7F0A6618(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A5088(), uVar1 != 0)) { - dword_800409A0 = 4; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) { - dword_800409A0 = 1; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - return; -} - - - -void proc_7F0A66A0(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) { - dword_800409A0 = 2; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - } - else { - dword_800409A0 = 0; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - return; -} - - - -void proc_7F0A672C(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) { - dword_800409A0 = 3; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - } - else { - dword_800409A0 = 1; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - return; -} - - - -void proc_7F0A67BC(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) { - dword_800409A0 = 4; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - } - else { - dword_800409A0 = 2; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a68b4) overlaps instruction at (ram,0x7f0a68b0) -// - -void proc_7F0A684C(void) - -{ - u32 uVar2; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD); - if ((uVar2 == 0) && (uVar1 = sub_GAME_7F0A5088(), uVar1 == 0)) { - uVar2 = get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD); - if ((uVar2 != 0) || (uVar1 = sub_GAME_7F0A50C4(), uVar1 != 0)) { - dword_800409A0 = 0; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - } - else { - dword_800409A0 = 3; - set_D_80040AE0_0(); - sub_GAME_7F0A4F44(); - } - return; -} - - - -void proc_7F0A68D8(short *param_1) - -{ - short sVar1; - int iVar2; - int iVar3; - int iVar4; - short *psVar5; - float fVar6; - - fVar6 = sqrtf(flt_800584AC - (float)(dword_80040B40 * dword_80040B40)); - iVar4 = 0; - iVar3 = -1; - while( true ) { - do { - sVar1 = (short)iVar3; - param_1[1] = 0; - iVar3 += 2; - psVar5 = param_1 + 8; - *param_1 = (short)(int)fVar6 * sVar1; - iVar2 = dword_80040B40; - param_1[3] = 0; - param_1[4] = 0; - param_1[2] = (short)iVar4 + (short)iVar2; - param_1[5] = 0; - *(undefined *)(param_1 + 6) = 0; - *(undefined *)((int)param_1 + 0xd) = 0xa0; - *(undefined *)(param_1 + 7) = 0; - *(undefined *)((int)param_1 + 0xf) = (char)dword_80040B08; - param_1 = psVar5; - } while (iVar3 != 3); - iVar4 += 4; - if (iVar4 == 8) break; - iVar3 = -1; - } - return; -} - - - -void proc_7F0A69A8(void) - -{ - u64 uVar1; - - uVar1 = get_attached_controller_count(); - if ((longlong)uVar1 < 2) { - D_800409D8 = 4; - } - else { - D_800409D8 = 8; - } - sub_GAME_7F0A4F44(); - D_80040994 = 0; - dword_800409A0 = 4; - dword_800409C8 = (f32)0.99900001; - dword_800409CC = (f32)0.99989998; - proc_7F08D8E0(); - return; -} - - - -float proc_7F0A6A2C(float param_1) - -{ - if (flt_800584B8 < param_1) { - return param_1 - flt_800584BC; - } - if (param_1 < flt_800584C0) { - param_1 = param_1 + flt_800584C4; - } - return param_1; -} - - - -void proc_7F0A6A80(void) - -{ - bool bVar1; - u32 uVar3; - s32 sVar4; - longlong lVar2; - uint uVar5; - - uVar3 = get_controller_buttons_pressed('\0',START_BUTTON); - if (uVar3 != 0) { - set_open_close_solo_watch_menu_to_1(); - } - if (controlstick_lr_enabled == 0) { - sVar4 = get_cur_controller_horz_stick_pos('\0'); - if ((sVar4 < -10) || (sVar4 = get_cur_controller_horz_stick_pos('\0'), 10 < sVar4)) { - sVar4 = get_cur_controller_horz_stick_pos('\0'); - if ((sVar4 < 0xb) && (lVar2 = controller_7000C174('\0'), 10 < lVar2)) { - controlstick_lr_enabled = 1; - } - else { - sVar4 = get_cur_controller_horz_stick_pos('\0'); - if ((-0xb < sVar4) && (lVar2 = controller_7000C174('\0'), lVar2 < -10)) { - controlstick_lr_enabled = 1; - } - } - } - else { - controlstick_lr_enabled = 1; - } - } - if (D_80040AE0 == 0) { - sVar4 = get_cur_controller_vert_stick_pos('\0'); - if ((sVar4 < -10) || (sVar4 = get_cur_controller_vert_stick_pos('\0'), 10 < sVar4)) { - sVar4 = get_cur_controller_vert_stick_pos('\0'); - if ((sVar4 < 0xb) && (lVar2 = controller_7000C284('\0'), 10 < lVar2)) { - D_80040AE0 = 1; - } - else { - sVar4 = get_cur_controller_vert_stick_pos('\0'); - if ((-0xb < sVar4) && (lVar2 = controller_7000C284('\0'), lVar2 < -10)) { - D_80040AE0 = 1; - } - } - } - else { - D_80040AE0 = 1; - } - } - bVar1 = dword_80040AF8 < 0; - dword_80040AF8 += -1; - if (bVar1) { - dword_80040AF4 = dword_80040AF4 + -0x100000; - } - if (dword_80040AF4 < &UNK_005f00a1) { - dword_80040AF4 = (undefined *)0xff00a0; - dword_80040AF8 = 0xf; - } - if (dword_80040B00 < 0) { - dword_80040AFC -= 0x10; - } - dword_80040B00 += -1; - if (dword_80040AFC < 0x60) { - dword_80040AFC = 0xff; - dword_80040B00 = 0xf; - } - dword_80040B14 = - (f32)((float)dword_80040B14 + - ((float)dword_80040B1C * (float)speedgraphframes * flt_800584C8) / 360.00000000); - dword_80040B14 = (f32)proc_7F0A6A2C((float)dword_80040B14); - uVar5 = dword_80040B0C << 0x10; - uVar3 = get_random_value(); - if (uVar5 < uVar3) { - sub_GAME_7F0A51D8(); - } - if (D_80040B04 < 0xe0) { - uVar3 = get_random_value(); - D_80040B04 += uVar3 >> 0x1e; - } - if (0xe0 < D_80040B04) { - D_80040B04 = 0xe0; - } - dword_80040B08 = D_80040B04 * -4 + 0x380; - dword_80040B40 += -4; - if (0x156 < dword_80040B40) { - dword_80040B40 = -0x156; - } - if (dword_80040B40 < -0x156) { - dword_80040B40 = 0x156; - } - dword_80040B44 = dword_80040B44 + 1 & 1; - switch(D_80040994) { - case 0: - proc_7F0A526C(); - break; - case 1: - proc_7F0A53D8(); - break; - case 2: - if (D_80040998 == 0) { - sub_GAME_7F0A5860(); - } - else { - if (D_80040998 == 1) { - proc_7F0A5900(); - } - } - proc_7F0A55C4(); - break; - case 3: - switch(D_8004099c) { - case 0: - sub_GAME_7F0A5A64(); - break; - case 1: - sub_GAME_7F0A5AF4(); - break; - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - proc_7F0A5998(); - } - proc_7F0A56A4(); - break; - case 4: - proc_7F0A5784(); - } - return; -} - - - -undefined4 * proc_7F0A6EE8(undefined4 *param_1) - -{ - short sVar1; - short sVar2; - - param_1[1] = 0x2000; - *param_1 = 0xb7000000; - param_1[2] = 0xba001402; - param_1[3] = 0; - param_1[5] = 0x800000; - param_1[4] = 0xba001701; - param_1[6] = 0xed000000; - sVar1 = get_video2_settings_txtClipW(); - sVar2 = get_video2_settings_txtClipH(); - param_1[7] = (int)((float)(int)sVar2 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar1 * 4.00000000) & 0xfffU) << 0xc; - param_1[8] = 0xba001001; - param_1[9] = 0; - param_1[0xb] = 0; - param_1[10] = 0xba000e02; - param_1[0xd] = 0; - param_1[0xc] = 0xba001102; - param_1[0xf] = 0x80000; - param_1[0xe] = 0xba001301; - param_1[0x11] = 0x2000; - param_1[0x10] = 0xba000c02; - param_1[0x13] = 0xc00; - param_1[0x12] = 0xba000903; - param_1[0x15] = 0xfffe793c; - param_1[0x14] = 0xfcffffff; - param_1[0x16] = 0xba000801; - param_1[0x17] = 0; - param_1[0x18] = 0xb9000002; - param_1[0x19] = 0; - param_1[0x1b] = 0xf0a4000; - param_1[0x1a] = 0xb900031d; - param_1[0x1c] = 0xba000602; - param_1[0x1d] = 0; - return param_1 + 0x1e; -} - - - -void proc_7F0A70AC(int param_1,int param_2) - -{ - int iVar1; - uint uVar2; - int iVar3; - - iVar1 = 0; - iVar3 = param_2; - do { - iVar1 += 1; - *(undefined *)(iVar3 + 0xc) = 0x20; - *(undefined *)(iVar3 + 0xd) = 0x70; - *(undefined *)(iVar3 + 0xe) = 0x20; - iVar3 = iVar3 + 0x10; - } while (iVar1 < 0x14); - iVar3 = param_1 * 4 + 3; - if (param_1 * 4 <= iVar3) { - uVar2 = param_2 + param_1 * 0x40; - *(undefined *)(uVar2 + 0xc) = 0x50; - while( true ) { - *(undefined *)(uVar2 + 0xd) = 0xf0; - *(undefined *)(uVar2 + 0xe) = 0x50; - if (watch_soundrelated_maybe != 0) { - *(undefined *)(uVar2 + 0xc) = 0x30; - *(undefined *)(uVar2 + 0xd) = 0xa0; - *(undefined *)(uVar2 + 0xe) = 0x30; - } - if ((uint)(iVar3 * 0x10 + param_2) < uVar2 + 0x10) break; - *(undefined *)(uVar2 + 0x1c) = 0x50; - uVar2 = uVar2 + 0x10; - } - } - return; -} - - - -u32 * proc_7F0A714C(u32 *DL,u32 param_2,u32 param_3) - -{ - undefined4 *in_v0_lo; - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - int iVar4; - u32 *puVar5; - u32 *puVar6; - float extraout_f12; - float x; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f14; - float extraout_f14_00; - float y; - float y_00; - - proc_7F0BD6C4(0x1e); - puVar1 = in_v0_lo; - proc_7F0BD6C4(0x1e); - puVar3 = puVar1; - proc_7F0BD714(0xf8); - puVar2 = puVar3; - proc_7F0BD714(0xf8); - *DL = 0xe7000000; - DL[1] = 0; - DL[2] = 0xba001402; - DL[3] = 0; - DL[4] = 0xb900031d; - DL[5] = 0x5041c8; - DL[6] = 0xfcffffff; - DL[7] = 0xfffe793c; - DL[8] = 0xfa000000; - DL[9] = 0xe6e6e600; - DL[10] = 0x1020040; - DL[0xb] = param_2; - check_watch_page_transistion_running(); - x = 1.00000000; - y = extraout_f14; - if (param_3 == 1) { - D_80040B04 = 0xe0; - if ((pPlayer->pause_animation_state == 4) || (pPlayer->pause_animation_state == 6)) { - proc_7F07E740(); - x = extraout_f12; - y = extraout_f14_00; - } - } - guScale((Mtx *)&DAT_8007b0a0,x,y,0.25000000); - DL[0xc] = 0x1000040; - DL[0xd] = 0x8007b0a0; - puVar5 = DL + 0xe; - if (param_3 == 0) { - DL[0xf] = 0x3000; - *puVar5 = 0xb6000000; - DL[0x10] = 0x6000000; - *(int **)(DL + 0x11) = &pPlayer[-0x30303].field_1978; - DL[0x12] = 0x6000000; - *(int **)(DL + 0x13) = &pPlayer[-0x30303].field_20A8; - puVar5 = DL + 0x14; - } - guScale((Mtx *)&DAT_8007b0e0,1.00000000,y_00,1.00000000); - *puVar5 = 0x1000040; - puVar5[1] = 0x8007b0e0; - puVar6 = puVar5 + 2; - if (param_3 == 1) { - puVar5[3] = 0x3000; - *puVar6 = 0xb6000000; - puVar5[4] = 0x6000000; - *(int **)(puVar5 + 5) = &pPlayer[-0x30303].field_1978; - puVar5[6] = 0x6000000; - *(int **)(puVar5 + 7) = &pPlayer[-0x30303].field_20A8; - puVar6 = puVar5 + 8; - } - proc_7F0A33F8((short *)puVar1,0x1e,extraout_f12_00,0x3f6b851f); - proc_7F0A3978(puVar2,(int)(puVar1 + -0x20000000),0x1e,0); - *puVar6 = 0xe7000000; - puVar6[1] = 0; - puVar6[2] = 0xb900031d; - puVar6[3] = 0x504240; - puVar6[4] = 0xfcffffff; - puVar6[5] = 0xfffdf6fb; - puVar6[7] = 0xff0000; - puVar6[6] = 0xfa000000; - puVar6[8] = 0x6000000; - *(undefined4 **)(puVar6 + 9) = puVar2 + -0x20000000; - puVar6[10] = 0xe7000000; - puVar6[0xb] = 0; - if (D_80040B04 < 0xe0) { - proc_7F0A33F8((short *)in_v0_lo,0x1e,extraout_f12_01,0x3f666666); - proc_7F0A3978(puVar3,(int)(in_v0_lo + -0x20000000),0x1e,0); - puVar6[0xc] = 0xb900031d; - puVar6[0xd] = 0x50004b; - } - else { - proc_7F0A33F8((short *)in_v0_lo,0x1e,extraout_f12_01,0x3f666666); - proc_7F0A3978(puVar3,(int)(in_v0_lo + -0x20000000),0x1e,1); - puVar6[0xc] = 0xb900031d; - puVar6[0xd] = 0x5041c8; - } - puVar6[0xe] = 0xfcffffff; - puVar6[0xf] = 0xfffe793c; - puVar6[0x10] = 0x6000000; - *(undefined4 **)(puVar6 + 0x11) = puVar3 + -0x20000000; - puVar6[0x12] = 0xb900031d; - puVar6[0x13] = 0x504240; - puVar6[0x14] = 0xfcffffff; - puVar6[0x15] = 0xfffe793c; - puVar6[0x16] = 0x6000000; - puVar5 = puVar6 + 0x18; - *(int **)(puVar6 + 0x17) = &pPlayer[-0x30303].field_27D8; - iVar4 = 2; - *(undefined *)((int)in_v0_lo + 0xf) = (char)D_80040B04; - *(undefined *)((int)puVar1 + 0xf) = (char)D_80040B04; - *(undefined *)((int)in_v0_lo + 0x1f) = (char)D_80040B04; - *(undefined *)((int)puVar1 + 0x1f) = (char)D_80040B04; - puVar2 = in_v0_lo + 8; - puVar3 = puVar1 + 8; - do { - iVar4 += 4; - *(undefined *)((int)puVar2 + 0xf) = (char)D_80040B04; - *(undefined *)((int)puVar3 + 0xf) = (char)D_80040B04; - *(undefined *)((int)puVar2 + 0x1f) = (char)D_80040B04; - *(undefined *)((int)puVar3 + 0x1f) = (char)D_80040B04; - *(undefined *)((int)puVar2 + 0x2f) = (char)D_80040B04; - *(undefined *)((int)puVar3 + 0x2f) = (char)D_80040B04; - *(undefined *)((int)puVar2 + 0x3f) = (char)D_80040B04; - *(undefined *)((int)puVar3 + 0x3f) = (char)D_80040B04; - puVar2 = puVar2 + 0x10; - puVar3 = puVar3 + 0x10; - } while (iVar4 != 0x1e); - if (D_80040B04 < 0xe0) { - proc_7F0A68D8((short *)&pPlayer->field_19B8); - *puVar5 = 0xb900031d; - puVar6[0x19] = 0x5041c8; - puVar6[0x1a] = 0x6000000; - *(int **)(puVar6 + 0x1b) = &pPlayer[-0x30303].field_2918; - puVar5 = puVar6 + 0x1c; - } - return puVar5; -} - - - -void proc_7F0A77A8(undefined8 param_1,undefined8 param_2) - -{ - proc_7F0A714C(param_1._4_4_,param_2._4_4_,1); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a78b0) overlaps instruction at (ram,0x7f0a78ac) -// - -void proc_7F0A77C8(undefined4 *param_1) - -{ - u8 *puVar1; - u8 *puVar2; - byte *pbVar3; - byte *pbVar4; - byte *pbVar5; - int iVar6; - short sVar10; - short sVar11; - undefined4 *puVar7; - uint *puVar8; - uint *puVar9; - int iStack32; - int iStack28; - uint *puStack24; - uint *puStack20; - uint *puStack16; - uint uStack12; - uint uStack8; - int iStack4; - - puVar2 = ptrSecondFontTableSmall; - puVar1 = ptrFirstFontTableSmall; - pbVar3 = get_textptr_for_textID(0xac24); - pbVar4 = get_textptr_for_textID(0xac25); - pbVar5 = get_textptr_for_textID(0xac26); - iStack4 = 0x51; - if (j_text_trigger == 0) { - iVar6 = 0; - } - else { - iVar6 = 0xf; - } - uStack8 = iVar6 + 0xbd; - if (j_text_trigger == 0) { - iVar6 = 0; - } - else { - iVar6 = 10; - } - uStack12 = iVar6 + 0x88; - if (j_text_trigger == 0) { - puVar9 = NULL; - } - else { - puVar9 = (uint *)((int)&rgba + 3); - } - puStack24 = puVar9 + 0x13; - puStack20 = puStack24; - puStack16 = puStack24; - if (watch_soundrelated_maybe != 0) { - if (D_800409A4 == 0) { - puVar9 = (uint *)get_cur_controller_horz_stick_pos('\0'); - if ((0x2d < (int)puVar9) || - (puVar9 = (uint *)get_controller_buttons_held('\0',R_CBUTTONS|R_TRIG|R_JPAD), - puVar9 != NULL)) { - D_800409A4 = 1; - } - } - else { - if ((D_800409A4 != 0) && - ((puVar9 = (uint *)get_cur_controller_horz_stick_pos('\0'), (int)puVar9 < -0x2d || - (puVar9 = (uint *)get_controller_buttons_held('\0',L_CBUTTONS|L_TRIG|L_JPAD), - puVar9 != NULL)))) { - D_800409A4 = 0; - } - } - } - if (watch_soundrelated_maybe == 0) { - proc_7F0AE98C(&iStack32,&iStack28,pbVar3,(int)puVar2,(int *)puVar1,0); - en_text_write_stuff(param_1,&iStack4,(int *)&puStack16,pbVar3,(int)puVar2,(int)puVar1, - (uint)&DAT_00800080,iStack28,iStack32,0,0); - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar7 = (undefined4 *)(int)sVar11; - en_text_write_stuff(puVar9,(int *)&uStack8,(int *)&puStack20,pbVar4,(int)puVar2,(int)puVar1, - (uint)&DAT_00800080,(int)sVar10,(int)sVar11,0,0); - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - en_text_write_stuff(puVar7,(int *)&uStack12,(int *)&puStack24,pbVar5,(int)puVar2,(int)puVar1 - ,(uint)&DAT_00800080,(int)sVar10,(int)sVar11,0,0); - } - else { - proc_7F0AE98C(&iStack32,&iStack28,pbVar3,(int)puVar2,(int *)puVar1,0); - en_text_write_stuff(param_1,&iStack4,(int *)&puStack16,pbVar3,(int)puVar2,(int)puVar1, - 0xa0ffa0f0,iStack28,iStack32,0,0); - if (D_800409A4 == 0) { - if (true) { - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar8 = (uint *)(int)sVar11; - en_text_write_stuff(puVar9,(int *)&uStack8,(int *)&puStack20,pbVar4,(int)puVar2, - (int)puVar1,0xff00b0,(int)sVar10,(int)sVar11,0,0); - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - jp_text_stuff(puVar8,&uStack12,(uint *)&puStack24,pbVar5,(int)puVar2,(int)puVar1, - 0xffffffff,(uint)&DAT_007000a0,(int)sVar10,(int)sVar11,0,0); - } - } - else { - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - puVar7 = (undefined4 *)(int)sVar11; - jp_text_stuff(puVar9,&uStack8,(uint *)&puStack20,pbVar4,(int)puVar2,(int)puVar1, - 0xffffffff,(uint)&DAT_007000a0,(int)sVar10,(int)sVar11,0,0); - sVar10 = get_video2_settings_txtClipW(); - sVar11 = get_video2_settings_txtClipH(); - en_text_write_stuff(puVar7,(int *)&uStack12,(int *)&puStack24,pbVar5,(int)puVar2, - (int)puVar1,0xff00b0,(int)sVar10,(int)sVar11,0,0); - } - } - return; -} - - - -void proc_7F0A7C18(undefined4 *param_1) - -{ - u8 *puVar1; - u8 *puVar2; - u32 uVar3; - undefined4 *puVar4; - undefined4 *puVar5; - uint uStack36; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - undefined4 *txtID2; - byte *txtID1; - - txtID1 = get_textptr_for_textID(0xac27); - puVar2 = ptrSecondFontTableSmall; - puVar1 = ptrFirstFontTableSmall; - uVar3 = check_objectives_complete(); - if (uVar3 == 0) { - uStack36 = dword_80040AF4; - puVar4 = (undefined4 *)get_textptr_for_textID(0xac29); - } - else { - uStack36 = 0xff00b0; - puVar4 = (undefined4 *)get_textptr_for_textID(0xac28); - } - txtID2 = puVar4; - microcode_constructor(param_1); - puVar5 = puVar4; - proc_7F0AE98C(&iStack20,&iStack24,txtID1,(int)puVar2,(int *)puVar1,0); - iStack12 = 0x51; - iStack16 = 0x41; - en_text_write_stuff(puVar4,&iStack12,&iStack16,txtID1,(int)puVar2,(int)puVar1,0xff00b0,iStack24, - iStack20,0,0); - if (j_text_trigger == 0) { - puVar4 = NULL; - } - else { - puVar4 = (undefined4 *)0x22; - } - iStack12 = (int)puVar4 + iStack12 + iStack24 + 4; - iStack16 -= iStack20; - proc_7F0AE98C(&iStack20,&iStack24,(byte *)txtID2,(int)puVar2,(int *)puVar1,0); - en_text_write_stuff(puVar5,&iStack12,&iStack16,(byte *)txtID2,(int)puVar2,(int)puVar1,uStack36, - iStack24,iStack20,0,0); - proc_7F0A77C8(puVar4); - return; -} - - - -u32 stub_return_param_7F0A7DBC(u32 param_1) - -{ - return param_1; -} - - - -uint * proc_7F0A7DC4(undefined4 *param_1) - -{ - u8 *puVar1; - u8 *puVar2; - uint *puVar3; - uint *puVar4; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - byte *pbStack4; - - pbStack4 = get_textptr_for_textID(0xac2b); - puVar2 = ptrSecondFontTableSmall; - puVar1 = ptrFirstFontTableSmall; - if (j_text_trigger == 0) { - puVar3 = NULL; - } - else { - puVar3 = (uint *)0xfffffffb; - } - iStack8 = (int)puVar3 + 0x65; - iStack12 = 0x31; - iStack16 = 0; - iStack20 = 0; - microcode_constructor(param_1); - puVar4 = puVar3; - proc_7F0AE98C(&iStack16,&iStack20,pbStack4,(int)puVar2,(int *)puVar1,0); - en_text_write_stuff(puVar3,&iStack8,&iStack12,pbStack4,(int)puVar2,(int)puVar1,0xff00b0,iStack20 - ,iStack16,0,0); - return puVar4; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void debug_gun_watch_move_related(void) - -{ - u8 *puVar1; - u8 *puVar2; - Mtx *in_v0_lo; - int iVar3; - int iVar4; - byte *pbVar5; - byte *pbVar6; - ITEM_IDS IVar7; - u32 uVar8; - undefined4 *DL; - u32 *DL_00; - u32 *puVar9; - undefined4 *in_a0_lo; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - float in_f0; - float fVar10; - float fVar11; - float near; - float fVar12; - float fVar13; - float extraout_f12; - float extraout_f12_00; - float fovy; - float extraout_f14; - float extraout_f14_00; - float aspect; - float extraout_f14_01; - int iStack152; - int iStack148; - int iStack144; - int iStack140; - float afStack136 [16]; - float afStack72 [16]; - u16 uStack6; - Mtx *pabStack4; - - proc_7F0BD6E0(); - puVar2 = ptrSecondFontTableSmall; - puVar1 = ptrFirstFontTableSmall; - iStack148 = 0; - iStack152 = 0; - pabStack4 = in_v0_lo; - iVar3 = proc_7F08D8C0(); - iVar4 = proc_7F08D2A8(iVar3); - proc_7F08D7D8(iVar3); - fVar10 = in_f0; - proc_7F08D800(iVar3); - fVar11 = fVar10; - proc_7F08D828(iVar3); - near = fVar11; - proc_7F08D7B0(iVar3); - fVar12 = near; - proc_7F08D850(iVar3); - fVar13 = fVar12; - proc_7F08D878(iVar3); - pbVar5 = (byte *)proc_7F08D5C8(iVar3); - pbVar6 = (byte *)proc_7F08D6BC(iVar3); - iVar3 = get_debug_gunwatchpos_flag(); - fovy = extraout_f12; - aspect = extraout_f14; - if (iVar3 != 0) { - IVar7 = get_item_in_hand(0); - uVar8 = get_controller_buttons_held('\0',L_CBUTTONS); - if (uVar8 != 0) { - (&gitem_structs)[IVar7].watch_pos_y = (&gitem_structs)[IVar7].watch_pos_y - 2.00000000; - } - uVar8 = get_controller_buttons_held('\0',R_CBUTTONS); - if (uVar8 != 0) { - (&gitem_structs)[IVar7].watch_pos_y = (&gitem_structs)[IVar7].watch_pos_y + 2.00000000; - } - uVar8 = get_controller_buttons_held('\0',D_CBUTTONS); - if (uVar8 != 0) { - (&gitem_structs)[IVar7].watch_pos_x = (&gitem_structs)[IVar7].watch_pos_x + 2.00000000; - } - uVar8 = get_controller_buttons_held('\0',U_CBUTTONS); - if (uVar8 != 0) { - (&gitem_structs)[IVar7].watch_pos_x = (&gitem_structs)[IVar7].watch_pos_x - 2.00000000; - } - uVar8 = get_controller_buttons_held('\0',L_TRIG); - if (uVar8 != 0) { - (&gitem_structs)[IVar7].watch_pos_z = (&gitem_structs)[IVar7].watch_pos_z * 0.98000002; - } - uVar8 = get_controller_buttons_held('\0',R_TRIG); - fovy = extraout_f12_00; - aspect = extraout_f14_00; - if (uVar8 != 0) { - (&gitem_structs)[IVar7].watch_pos_z = (&gitem_structs)[IVar7].watch_pos_z * 1.02040815; - } - } - guPerspective(pabStack4,&uStack6,fovy,aspect,near,1.33333337,10.00000000); - *in_a0_lo = 0x1030040; - uVar8 = osVirtualToPhysical(pabStack4); - in_a0_lo[1] = uVar8; - proc_7F0585FC((fVar13 * 6.28318548) / 360.00000000,extraout_a0,afStack72); - proc_7F058688(6.28318548 - (fVar12 * 6.28318548) / 360.00000000,extraout_a0_00,afStack136); - proc_7F058068(afStack136,afStack72); - proc_7F059694(afStack136,in_f0,extraout_f14_01,fVar11,in_f0,fVar10,0.00000000,in_f0,fVar10, - 0.00000000); - proc_7F058068(afStack136,afStack72); - DL = proc_7F0A6EE8(in_a0_lo + 2); - if (D_80040B04 < 0xe0) { - DL = set_enviro_fog_for_items_in_solo_watch_menu - (DL,(longlong)iVar4,afStack72,D_80040B04 + 1,0x64dc6428); - } - else { - DL = set_enviro_fog_for_items_in_solo_watch_menu - (DL,(longlong)iVar4,afStack72,0xff,0x64dc6428); - } - DL_00 = proc_7F06A334(DL); - microcode_constructor(DL_00); - iStack140 = 0x60; - iStack144 = 0xa0; - puVar9 = DL_00; - proc_7F0AE98C(&iStack148,&iStack152,pbVar5,(int)puVar2,(int *)puVar1,0); - en_text_write_stuff(DL_00,&iStack140,&iStack144,pbVar5,(int)puVar2,(int)puVar1,0xff00b0, - iStack152,iStack148,0,0); - iStack144 = 0xaa; - proc_7F0AE98C(&iStack148,&iStack152,pbVar6,(int)puVar2,(int *)puVar1,0); - en_text_write_stuff(puVar9,&iStack140,&iStack144,pbVar6,(int)puVar2,(int)puVar1,0xff00b0, - iStack152,iStack148,0,0); - return; -} - - - -void proc_7F0A830C(undefined8 param_1,undefined8 param_2) - -{ - u32 *puVar2; - ulonglong uVar1; - uint *puVar3; - - puVar2 = proc_7F0A714C(param_1._4_4_,param_2._4_4_,0); - uVar1 = check_watch_page_transistion_running(); - if (uVar1 == 1) { - check_watch_page_transistion_running(); - } - else { - puVar3 = proc_7F0A7DC4(puVar2); - proc_7F0A7C18(puVar3); - stub_return_param_7F0A7DBC((u32)puVar3); - debug_gun_watch_move_related(); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0a83c4) overlaps instruction at (ram,0x7f0a83c0) -// - -int ** proc_7F0A8378(void) - -{ - u32 uVar1; - int **ppiVar2; - int **ppiVar3; - - uVar1 = get_controller_buttons_pressed('\0',Z_TRIG|A_BUTTON); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_pressed('\0',START_BUTTON); - if (uVar1 == 0) { - return NULL; - } - ppiVar3 = (int **)get_item_in_hand(0); - ppiVar2 = (int **)proc_7F08D2A8(dword_800409B8); - if (ppiVar2 == ppiVar3) { - return ppiVar2; - } - } - ppiVar3 = (int **)proc_7F08D2A8(dword_800409B8); - remove_hands_item(HAND_RIGHT,(int)ppiVar3); - remove_hands_item(HAND_LEFT,0); - proc_7F08D8D0(dword_800409B8); - dword_800409C4 = 10; - play_sfx_a1(ptr_sfx_buf,0x9f,NULL); - return ppiVar3; -} - - - -uint * debug_gun_watch_move_related2(undefined8 param_1,undefined8 param_2) - -{ - u8 *puVar1; - ulonglong uVar2; - int iVar3; - ITEM_IDS IVar4; - u32 uVar5; - undefined4 *DL; - u32 *DL_00; - char *textfiletext; - undefined4 *puVar6; - byte *pbVar7; - uint *puVar8; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - int iVar9; - float in_f0; - float fovy; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float extraout_f14_00; - float aspect; - uint *puStackX0; - int iStack2264; - int iStack2260; - u8 *puStack2256; - byte abStack2248 [36]; - byte abStack2212 [2000]; - u8 *puStack212; - int *piStack208; - int iStack204; - int aiStack200 [3]; - uint uStack188; - uint auStack184 [3]; - float fStack172; - float fStack168; - int iStack164; - float fStack160; - float fStack156; - float fStack152; - float fStack148; - float fStack140; - float afStack136 [16]; - float afStack72 [16]; - u16 uStack6; - Mtx *pabStack4; - - puStackX0 = proc_7F0A714C(param_1._4_4_,param_2._4_4_,0); - uVar2 = check_watch_page_transistion_running(); - pabStack4 = (Mtx *)uVar2; - if (uVar2 != 1) { - proc_7F0BD6E0(); - proc_7F08D528(dword_800409B8); - fStack148 = in_f0; - proc_7F08D550(dword_800409B8); - fStack152 = in_f0; - proc_7F08D578(dword_800409B8); - fStack156 = in_f0; - proc_7F08D5A0(dword_800409B8); - fStack160 = in_f0; - iStack164 = proc_7F08D2A8(dword_800409B8); - proc_7F08D850(dword_800409B8); - fStack168 = in_f0; - proc_7F08D878(dword_800409B8); - fStack172 = in_f0; - iVar3 = get_debug_gunwatchpos_flag(); - fovy = extraout_f12; - aspect = extraout_f14; - if (iVar3 != 0) { - IVar4 = get_item_in_hand(0); - uVar5 = get_controller_buttons_held('\0',L_CBUTTONS); - if (uVar5 != 0) { - (&gitem_structs)[IVar4].equip_watch_x = - (&gitem_structs)[IVar4].equip_watch_x - 2.00000000; - } - uVar5 = get_controller_buttons_held('\0',R_CBUTTONS); - if (uVar5 != 0) { - (&gitem_structs)[IVar4].equip_watch_x = - (&gitem_structs)[IVar4].equip_watch_x + 2.00000000; - } - uVar5 = get_controller_buttons_held('\0',D_CBUTTONS); - if (uVar5 != 0) { - (&gitem_structs)[IVar4].equip_watch_y = - (&gitem_structs)[IVar4].equip_watch_y + 2.00000000; - } - uVar5 = get_controller_buttons_held('\0',U_CBUTTONS); - if (uVar5 != 0) { - (&gitem_structs)[IVar4].equip_watch_y = - (&gitem_structs)[IVar4].equip_watch_y - 2.00000000; - } - uVar5 = get_controller_buttons_held('\0',L_TRIG); - if (uVar5 != 0) { - (&gitem_structs)[IVar4].equip_watch_z = - (&gitem_structs)[IVar4].equip_watch_z * 0.98000002; - } - uVar5 = get_controller_buttons_held('\0',R_TRIG); - fovy = extraout_f12_00; - aspect = extraout_f14_00; - if (uVar5 != 0) { - (&gitem_structs)[IVar4].equip_watch_z = - (&gitem_structs)[IVar4].equip_watch_z * 1.02040815; - } - } - guPerspective(pabStack4,&uStack6,fovy,aspect,fStack148,1.33333337,10.00000000); - *puStackX0 = 0x1030040; - uVar5 = osVirtualToPhysical(pabStack4); - puStackX0[1] = uVar5; - proc_7F0585FC((fStack172 * 6.28318548) / 360.00000000,extraout_a0,afStack72); - proc_7F058688(6.28318548 - (fStack168 * 6.28318548) / 360.00000000,extraout_a0_00,afStack136 - ); - proc_7F058068(afStack136,afStack72); - fStack140 = cosf((float)dword_80040B14); - fStack140 = fStack140 * fStack160; - fovy = sinf((float)dword_80040B14); - proc_7F059694(afStack136,fStack156,fStack152,fStack140,fStack156, - fovy * fStack160 + fStack152,0.00000000,fStack156,fStack152,0.00000000); - proc_7F058068(afStack136,afStack72); - DL = proc_7F0A6EE8(puStackX0 + 2); - DL_00 = set_enviro_fog_for_items_in_solo_watch_menu - (DL,(longlong)iStack164,afStack72,0x40,-0x5f005fc4); - aiStack200[0] = 0; - iStack204 = 0; - abStack2212[0] = 0; - iVar9 = 0; - piStack208 = (int *)ptrFirstFontTableSmall; - puStack212 = ptrSecondFontTableSmall; - iVar3 = proc_7F08D038(); - if (0 < iVar3) { - do { - textfiletext = (char *)proc_7F08D340(iVar9); - string_append_from_obseg_textbank((char *)abStack2212,textfiletext); - iVar9 += 1; - iVar3 = proc_7F08D038(); - } while (iVar9 < iVar3); - } - if (0 < dword_800409C4) { - dword_800409C4 = dword_800409C4 + -1; - } - proc_7F0A5B80(); - auStack184[0] = 0x4e; - uStack188 = 0x8c; - if (j_text_trigger == 0) { - DL = &DAT_0000000c; - } - else { - DL = (undefined4 *)((int)&DAT_0000000c + 2); - } - iVar3 = (int)DL * 2 + 0x8d; - microcode_constructor(DL_00); - if (j_text_trigger == 0) { - iVar9 = 0xc; - } - else { - iVar9 = 0xe; - } - proc_7F0AE98C(aiStack200,&iStack204,abStack2212,(int)puStack212,piStack208,iVar9); - if (j_text_trigger == 0) { - iVar9 = 0xc; - } - else { - iVar9 = 0xe; - } - DL = microcode_constructor_related_to_menus - (DL,0x4e,0x8c,(longlong)(iStack204 + 0x4e),iVar9 * 5 + 0x8c,0); - if (j_text_trigger == 0) { - iVar9 = 0xc; - } - else { - iVar9 = 0xe; - } - if (j_text_trigger == 0) { - puVar6 = &DAT_0000000c; - } - else { - puVar6 = (undefined4 *)((int)&DAT_0000000c + 2); - } - en_text_write_stuff(DL,(int *)auStack184,(int *)&uStack188,abStack2212,(int)puStack212, - (int)piStack208,(uint)&DAT_00aa00b0,iStack204 + 1,iVar9 * 5, - dword_800409B0,(int)puVar6); - if (j_text_trigger == 0) { - iVar9 = 0xc; - } - else { - iVar9 = 0xe; - } - DL_00 = microcode_constructor_related_to_menus - (puVar6,0x4b,(longlong)iVar3,(longlong)(iStack204 + 0x52), - (iVar9 + iVar3) - 2,(uint)&DAT_00800050); - puVar1 = ptrFirstFontTableSmall; - puStack2256 = ptrSecondFontTableSmall; - pbVar7 = (byte *)proc_7F08D340(dword_800409B8); - puVar8 = (uint *)sprintf((char *)abStack2248,"%d, %d\n%d %f\n",dword_800409B0,dword_800409B4 - ,dword_800409B8); - microcode_constructor(DL_00); - proc_7F0AE98C(&iStack2264,&iStack2260,abStack2248,(int)puStack2256,(int *)puVar1,0); - puStackX0 = puVar8; - if (dword_800409C0 != 0) { - iVar3 = 0xc; - if (j_text_trigger != 0) { - iVar3 = 0xe; - } - proc_7F0AE98C(&iStack2264,&iStack2260,pbVar7,(int)puStack2256,(int *)puVar1,iVar3); - auStack184[0] = 0x4e; - if (j_text_trigger == 0) { - iVar3 = 0xc; - } - else { - iVar3 = 0xe; - } - uStack188 = iVar3 * 2 + 0x8c; - if (dword_800409C4 == 0) { - if (j_text_trigger == 0) { - puStackX0 = &DAT_0000000c; - } - else { - puStackX0 = (uint *)((int)&DAT_0000000c + 2); - } - en_text_write_stuff(puVar8,(int *)auStack184,(int *)&uStack188,pbVar7, - (int)puStack2256,(int)puVar1,0xa0ffa0f0,iStack2260,100,0, - (int)puStackX0); - } - else { - if (j_text_trigger == 0) { - puStackX0 = &DAT_0000000c; - } - else { - puStackX0 = (uint *)((int)&DAT_0000000c + 2); - } - jp_text_stuff(puVar8,auStack184,&uStack188,pbVar7,(int)puStack2256,(int)puVar1, - 0xffffffff,(uint)&DAT_007000a0,iStack2260 + 1,100,0,(int)puStackX0); - } - proc_7F0A8378(); - } - } - return puStackX0; -} - - - -uint * proc_7F0A8B10(undefined8 param_1,u32 param_2) - -{ - u8 *puVar1; - u8 *puVar2; - byte *pbVar4; - ulonglong uVar3; - undefined4 *puVar5; - int **ppiVar6; - int **DL; - int iVar7; - int iStack36; - int iStack32; - uint uStack28; - int iStack24; - uint uStack12; - uint auStack8 [2]; - - puVar2 = ptrSecondFontTableSmall; - puVar1 = ptrFirstFontTableSmall; - iStack32 = 0; - iStack36 = 0; - pbVar4 = (byte *)proc_7F08D434(dword_800409B8); - DL = (int **)proc_7F0A714C(param_1._4_4_,param_2,0); - uVar3 = check_watch_page_transistion_running(); - puVar5 = dword_800409C4; - if (uVar3 != 1) { - if (0 < (int)dword_800409C4) { - dword_800409C4 = (undefined4 *)((int)dword_800409C4 + -1); - } - proc_7F0A5B80(); - microcode_constructor((u32 *)DL); - proc_7F0AE98C(&iStack32,&iStack36,pbVar4,(int)puVar2,(int *)puVar1,0); - iVar7 = -iStack36 + 0xaa; - if (iVar7 < 0) { - iVar7 = -iStack36 + 0xab; - } - auStack8[0] = (iVar7 >> 1) + 0x4b; - uStack12 = 0x1e; - ppiVar6 = (int **)microcode_constructor_related_to_menus - (puVar5,(longlong)(int)auStack8[0],0x1e,(longlong)iStack24, - uStack28,(uint)&DAT_00800050); - if (dword_800409C0 == 0) { - DL = ppiVar6; - en_text_write_stuff(ppiVar6,(int *)auStack8,(int *)&uStack12,pbVar4,(int)puVar2, - (int)puVar1,(uint)&DAT_00aa00b0,iStack36,100,0,0); - } - else { - DL = proc_7F0A8378(); - if (dword_800409C4 == NULL) { - en_text_write_stuff(ppiVar6,(int *)auStack8,(int *)&uStack12,pbVar4,(int)puVar2, - (int)puVar1,0xa0ffa0f0,iStack36,100,0,0); - } - else { - jp_text_stuff((uint *)ppiVar6,auStack8,&uStack12,pbVar4,(int)puVar2,(int)puVar1, - 0xffffffff,(uint)&DAT_007000a0,iStack36 + 1,100,0,0); - } - } - } - return (uint *)DL; -} - - - -void proc_7F0A8D40(undefined2 *param_1,float param_2,int param_3) - -{ - short sVar1; - short sVar2; - char cVar3; - int iVar4; - int in_a2_lo; - undefined2 *puVar5; - short *psVar6; - int iVar7; - - sVar1 = param_1[0x10]; - sVar2 = param_1[0x20]; - iVar4 = 0; - iVar7 = (int)((float)in_a2_lo * (1.20000005 - (float)param_3)); - puVar5 = param_1; - do { - iVar4 += 1; - *(undefined *)(puVar5 + 6) = 0x20; - *(undefined *)((int)puVar5 + 0xd) = 0x40; - *(undefined *)(puVar5 + 7) = 0x20; - *(undefined *)((int)puVar5 + 0xf) = 0xe0; - puVar5 = puVar5 + 8; - } while (iVar4 < 4); - iVar4 = 4; - psVar6 = param_1 + 0x20; - do { - if (iVar4 < 10) { - cVar3 = (char)(int)((float)param_3 * 48.00000000) + '@'; - *(char *)(psVar6 + 6) = cVar3; - *(char *)((int)psVar6 + 0xd) = (char)(int)((float)param_3 * 96.00000000) + -0x80; - *(char *)(psVar6 + 7) = cVar3; - if (5 < iVar4) { - *psVar6 = (short)(int)(((float)(int)(short)param_1[0x20] + - ((float)((int)sVar1 - (int)sVar2) + (float)iVar7) * - (float)param_3) - (float)iVar7); - if (*psVar6 < (short)param_1[0x20]) { - *psVar6 = param_1[0x20]; - } - } - } - else { - *psVar6 = (short)(int)((float)(int)(short)param_1[0x20] + - (float)(((int)sVar1 - (int)sVar2) + iVar7) * (float)param_3 + - (float)iVar7); - if ((short)param_1[0x10] < *psVar6) { - *psVar6 = param_1[0x10]; - } - } - iVar4 += 1; - psVar6 = psVar6 + 8; - } while (iVar4 != 0xc); - param_1[8] = param_1[0x50]; - *param_1 = param_1[0x50]; - return; -} - - - -void proc_7F0A8ED0(ushort *param_1) - -{ - s32 stickhpos; - u32 uVar1; - uint uVar2; - - stickhpos = get_cur_controller_horz_stick_pos('\0'); - uVar2 = (uint)*param_1; - uVar1 = get_controller_buttons_held('\0',R_CBUTTONS|R_TRIG|R_JPAD); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_held('\0',L_CBUTTONS|L_TRIG|L_JPAD); - if (uVar1 != 0) { - uVar2 -= 0x400; - } - } - else { - uVar2 += 0x400; - } - if (stickhpos < 0x47) { - if (stickhpos < -0x46) { - stickhpos = -0x46; - } - } - else { - stickhpos = 0x46; - } - if (stickhpos < 8) { - if (stickhpos < -7) { - uVar2 += (stickhpos * 0x800 + 0x3800) / 0x46; - } - } - else { - uVar2 += (stickhpos * 0x800 + -0x3800) / 0x46; - } - if ((int)uVar2 < 0x8000) { - if ((int)uVar2 < 0) { - *param_1 = 0; - } - else { - *param_1 = (ushort)uVar2; - } - } - else { - *param_1 = 0x7fff; - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 * proc_7F0A8FEC(void) - -{ - short *in_v0_lo; - u32 uVar1; - undefined4 *puVar2; - short *psVar3; - undefined4 *in_a0_lo; - ulonglong uVar4; - float fVar5; - float extraout_f12; - ushort uStack2; - - proc_7F0BD6C4(0xc); - uVar1 = sfx_c_700091C8(); - uStack2 = (ushort)uVar1; - if (watch_soundrelated_maybe == 0) { - uVar4 = (ulonglong)uStack2; - } - else { - if (D_8004099c == 1) { - proc_7F0A8ED0(&uStack2); - uVar4 = (ulonglong)uStack2; - } - else { - uVar4 = (ulonglong)uStack2; - } - } - fVar5 = (float)(int)uVar4; - if (false) { - fVar5 = fVar5 + 4294967296.00000000; - } - music_related_38(uVar4); - *in_a0_lo = 0xb900031d; - in_a0_lo[1] = 0x504240; - puVar2 = proc_7F0A3B40(in_a0_lo + 2,in_v0_lo + -0x40000000); - psVar3 = proc_7F0A3AB8(in_v0_lo,0,0,600,0x14,-299,-0xcd); - puVar2 = proc_7F0A3B40(puVar2,psVar3 + -0x40000000); - psVar3 = proc_7F0A3AB8(psVar3,0,0,600,0x14,-299,-0xcd); - puVar2 = proc_7F0A3B40(puVar2,psVar3 + -0x40000000); - proc_7F0A3AB8(psVar3,0,0,600,0x14,-299,-0xcd); - proc_7F0A8D40(in_v0_lo,extraout_f12,(int)(fVar5 / 32767.00000000)); - return puVar2; -} - - - -void call_sfx_c_700091C8(void) - -{ - sfx_c_700091C8(); - return; -} - - - -void proc_7F0A91A0(ulonglong param_1) - -{ - music_related_38(param_1 & 0xffff); - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined4 * proc_7F0A91C8(void) - -{ - short *in_v0_lo; - undefined4 *puVar1; - short *psVar2; - undefined4 *in_a0_lo; - uint uVar3; - float fVar4; - float extraout_f12; - ushort uStack2; - - proc_7F0BD6C4(0xc); - uStack2 = proc_7F0A9358(); - if (watch_soundrelated_maybe == 0) { - uVar3 = (uint)uStack2; - } - else { - if (D_8004099c == 0) { - proc_7F0A8ED0(&uStack2); - uVar3 = (uint)uStack2; - } - else { - uVar3 = (uint)uStack2; - } - } - fVar4 = (float)uVar3; - if (false) { - fVar4 = fVar4 + 4294967296.00000000; - } - proc_7F0A9364((ushort)uVar3); - *in_a0_lo = 0xb900031d; - in_a0_lo[1] = 0x504240; - puVar1 = proc_7F0A3B40(in_a0_lo + 2,in_v0_lo + -0x40000000); - psVar2 = proc_7F0A3AB8(in_v0_lo,0,0,600,0x14,-299,-0x113); - puVar1 = proc_7F0A3B40(puVar1,psVar2 + -0x40000000); - psVar2 = proc_7F0A3AB8(psVar2,0,0,600,0x14,-299,-0x113); - puVar1 = proc_7F0A3B40(puVar1,psVar2 + -0x40000000); - proc_7F0A3AB8(psVar2,0,0,600,0x14,-299,-0x113); - proc_7F0A8D40(in_v0_lo,extraout_f12,(int)(fVar4 / 32767.00000000)); - return puVar1; -} - - - -u16 proc_7F0A9358(void) - -{ - return (u16)mTrack2Vol; -} - - - -void proc_7F0A9364(ushort param_1) - -{ - mTrack2Vol = param_1; - musicTrack2Vol(param_1); - return; -} - - - -void proc_7F0A9398(undefined4 *param_1,uint param_2,uint param_3,byte *param_4,uint param_5, - int param_6,uint param_7,int param_8,int param_9,uint param_10,int param_11) - -{ - u8 *puVar1; - u8 *puVar2; - int iVar3; - uint *puVar4; - uint *puVar5; - uint uStackX8; - byte *pbStackX12; - int iStack20; - int aiStack16 [3]; - uint uStack4; - - puVar2 = ptrSecondFontTableSmall; - puVar1 = ptrFirstFontTableSmall; - uStackX8 = param_3; - pbStackX12 = param_4; - proc_7F0AE98C(&iStack20,aiStack16,param_4,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,10); - if (param_8 == 0) { - if (param_11 != 0) { - param_2 -= aiStack16[0]; - } - } - else { - iVar3 = aiStack16[0]; - if (aiStack16[0] < 0) { - iVar3 = aiStack16[0] + 1; - } - param_2 -= iVar3 >> 1; - } - if (D_80040B04 < 0xe0) { - *param_1 = 0xb900031d; - param_1[1] = 0x50004b; - } - else { - *param_1 = 0xb900031d; - param_1[1] = 0x5041c8; - } - puVar4 = param_1 + 2; - uStack4 = param_2; - if (param_9 != 0) { - puVar4 = microcode_constructor_related_to_menus - (puVar4,(longlong)(int)(param_2 - 1), - (longlong)(int)(uStackX8 + param_6 + 1), - (longlong)(int)(param_2 + aiStack16[0] + 1),uStackX8 + iStack20 + 1, - param_10); - } - *puVar4 = 0xb900031d; - puVar4[1] = 0x5041c8; - puVar5 = puVar4 + 2; - if (param_6 == 0) { - en_text_write_stuff(puVar5,(int *)&uStack4,(int *)&uStackX8,pbStackX12,(int)puVar2, - (int)puVar1,param_5,aiStack16[0],iStack20,0,10); - puVar5 = puVar4; - } - if (param_6 != 0) { - jp_text_stuff(puVar5,&uStack4,&uStackX8,pbStackX12,(int)puVar2,(int)puVar1,param_5,param_7, - aiStack16[0] + 1,iStack20,0,10); - } - return; -} - - - -float sub_GAME_7F0A95C4(float param_1,float param_2,float param_3) - -{ - float in_a2_lo; - - if (param_1 < param_2) { - return param_1 + (param_2 - param_1) / in_a2_lo; - } - if (param_2 < param_1) { - param_1 = param_1 - (param_1 - param_2) / in_a2_lo; - } - return param_1; -} - - - -undefined8 proc_7F0A9610(void) - -{ - if ((((dword_80040B24 < 0.10000000) && (-0.10000000 < dword_80040B24)) && - (dword_80040B20 < 0.10000000)) && (-0.10000000 < dword_80040B20)) { - return 1; - } - return 0; -} - - - -void proc_7F0A9684(char param_1,int *param_2,float *param_3,float *param_4) - -{ - s32 sVar1; - int iVar2; - float extraout_a0_lo; - float extraout_a0_lo_00; - float extraout_a0_lo_01; - float fVar3; - - sVar1 = get_cur_controller_horz_stick_pos(param_1); - fVar3 = extraout_a0_lo; - if ((sVar1 < 10) && - (sVar1 = get_cur_controller_horz_stick_pos(param_1), fVar3 = extraout_a0_lo_00, -10 < sVar1)) - { -LAB_7f0a96f0: - iVar2 = *param_2; - } - else { - if (watch_soundrelated_maybe != 0) { - iVar2 = 0; - if (D_80040998 == 1) { - *param_2 = 0; - goto LAB_7f0a9710; - } - goto LAB_7f0a96f0; - } - iVar2 = *param_2; - } - if (iVar2 < 100) { - *param_2 = iVar2 + 1; - iVar2 = iVar2 + 1; - } -LAB_7f0a9710: - if (iVar2 < 100) { - if ((watch_soundrelated_maybe != 0) && (D_80040998 == 1)) { - sVar1 = get_cur_controller_horz_stick_pos(param_1); - fVar3 = sub_GAME_7F0A95C4(*param_3,(-(float)sVar1 * 0.20000000 * 6.28318548) / - 360.00000000,extraout_a0_lo_01); - *param_3 = fVar3; - } - } - else { - fVar3 = sub_GAME_7F0A95C4(*param_3,-*param_4 / 10.00000000,fVar3); - *param_3 = fVar3; - } - return; -} - - - -uint * proc_7F0A97D0(undefined4 *param_1) - -{ - undefined **ppuVar1; - u8 *puVar2; - u8 *puVar3; - u8 *textfiletext; - byte *pbVar4; - uint *puVar5; - int iVar6; - TEXTFILESTRINGS *pTVar7; - uint *puStackX0; - int iStack2036; - int aiStack2032 [3]; - int iStack2020; - int iStack2016; - byte abStack2012 [2012]; - - puVar3 = ptrSecondFontTableSmall; - puVar2 = ptrFirstFontTableSmall; - aiStack2032[0] = 0; - iStack2036 = 0; - abStack2012[0] = 0; - iVar6 = 0; - if (0 < D_800409D8) { - pTVar7 = &D_800409DC; - do { - textfiletext = get_textptr_for_textID(*pTVar7); - string_append_from_obseg_textbank((char *)abStack2012,(char *)textfiletext); - iVar6 += 1; - pTVar7 = pTVar7 + 10; - } while (iVar6 < D_800409D8); - } - if ((watch_soundrelated_maybe != 0) && (D_80040998 == 0)) { - iVar6 = 10; - if (j_text_trigger != 0) { - iVar6 = 0xe; - } - proc_7F0A611C(&pPlayer->cur_player_control_type_2,&pPlayer->cur_player_control_type_0, - D_800409D8,&pPlayer->neg_vspacing_for_control_type_entry, - &pPlayer->cur_player_control_type_1,&pPlayer->has_set_control_type_data,0,1, - iVar6); - } - iStack2016 = 0xaa; - iStack2020 = 0x1a; - if (j_text_trigger == 0) { - iVar6 = 10; - } - else { - iVar6 = 0xe; - } - proc_7F0AE98C(aiStack2032,&iStack2036,abStack2012,(int)puVar3,(int *)puVar2,iVar6); - if (j_text_trigger == 0) { - iVar6 = 10; - } - else { - iVar6 = 0xe; - } - if (j_text_trigger == 0) { - ppuVar1 = &PTR_entry_00000008; - } - else { - ppuVar1 = (undefined **)&DAT_0000000c; - } - puStackX0 = (uint *)((int)ppuVar1 + 2); - en_text_write_stuff(param_1,&iStack2016,&iStack2020,abStack2012,(int)puVar3,(int)puVar2, - (uint)&DAT_00aa00b0,iStack2036,iVar6, - pPlayer->neg_vspacing_for_control_type_entry,(int)puStackX0); - if (pPlayer->has_set_control_type_data != 0) { - pbVar4 = get_textptr_for_textID((&D_800409DC)[pPlayer->cur_player_control_type_0 * 10]); - if (j_text_trigger == 0) { - iVar6 = 10; - } - else { - iVar6 = 0xe; - } - proc_7F0AE98C(aiStack2032,&iStack2036,pbVar4,(int)puVar3,(int *)puVar2,iVar6); - iStack2016 = 0xaa; - iStack2020 = 0x1a; - pbVar4 = get_textptr_for_textID((&D_800409DC)[pPlayer->cur_player_control_type_0 * 10]); - if (j_text_trigger == 0) { - ppuVar1 = &PTR_entry_00000008; - } - else { - ppuVar1 = (undefined **)&DAT_0000000c; - } - puVar5 = (uint *)((int)ppuVar1 + 2); - en_text_write_stuff(puStackX0,&iStack2016,&iStack2020,pbVar4,(int)puVar3,(int)puVar2, - 0xa0ffa0f0,iStack2036,100,0,(int)puVar5); - puStackX0 = puVar5; - } - return puStackX0; -} - - - -uint * proc_7F0A9AB8(undefined4 *param_1) - -{ - bool bVar1; - undefined4 *puVar2; - u32 uVar3; - undefined4 *puVar4; - undefined4 *puVar5; - uint *puVar6; - undefined4 *local_58; - undefined4 *local_54; - undefined4 *local_4; - - if (cur_player_look_vertical_inverted == 1) { - local_4 = (undefined4 *)get_textptr_for_textID(0xac2d); - puVar2 = (undefined4 *)get_textptr_for_textID(0xac2c); - } - else { - local_4 = (undefined4 *)get_textptr_for_textID(0xac2c); - puVar2 = (undefined4 *)get_textptr_for_textID(0xac2d); - } - bVar1 = false; - puVar5 = puVar2; - microcode_constructor(param_1); - uVar3 = get_controller_buttons_held('\0',L_TRIG); - if (uVar3 == 0) { - puVar4 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e4)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar5,0x32,0x52,(byte *)puVar4,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - } - else { - puVar4 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e4)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar5,0x32,0x52,(byte *)puVar4,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,0); - if ((&WORD_800409e4)[pPlayer->cur_player_control_type_0 * 10] == 0xac01) { - bVar1 = true; - } - } - if (((D_80040998 == 1) && (watch_soundrelated_maybe != 0)) && - (uVar3 = get_controller_buttons_held('\0',R_JPAD|L_JPAD|D_JPAD|U_JPAD), uVar3 != 0)) { - puVar5 = (undefined4 *)get_controller_buttons_held('\0',U_JPAD); - if (puVar5 == NULL) { - puVar5 = (undefined4 *)get_controller_buttons_held('\0',D_JPAD); - if (puVar5 == NULL) { - uVar3 = get_controller_buttons_held('\0',L_JPAD); - if (uVar3 == 0) { - puVar5 = (undefined4 *)get_controller_buttons_held('\0',R_JPAD); - if (puVar5 != NULL) { - puVar5 = (undefined4 *)get_textptr_for_textID(0xac2e); - local_58 = puVar5; - } - } - else { - puVar5 = (undefined4 *)get_textptr_for_textID(0xac2f); - local_58 = puVar5; - } - } - else { - local_58 = puVar2; - if ((&WORD_800409ea)[pPlayer->cur_player_control_type_0 * 10] == 0xac05) { - puVar5 = (undefined4 *)get_textptr_for_textID(0xac31); - local_58 = puVar5; - } - } - } - else { - local_58 = local_4; - if ((&WORD_800409ea)[pPlayer->cur_player_control_type_0 * 10] == 0xac05) { - puVar5 = (undefined4 *)get_textptr_for_textID(0xac30); - local_58 = puVar5; - } - } - proc_7F0A9398(puVar4,0x32,0x6b,(byte *)local_58,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,0); - } - else { - puVar5 = (undefined4 *) - get_textptr_for_textID((&WORD_800409ea)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar4,0x32,0x6b,(byte *)puVar5,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - } - puVar4 = (undefined4 *) - get_textptr_for_textID((&WORD_800409ec)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar5,0x32,0x84,(byte *)puVar4,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - uVar3 = get_controller_buttons_held('\0',Z_TRIG); - if (uVar3 == 0) { - puVar5 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e2)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar4,0x32,0x9d,(byte *)puVar5,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - } - else { - puVar5 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e2)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar4,0x32,0x9d,(byte *)puVar5,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,0); - if ((&WORD_800409e2)[pPlayer->cur_player_control_type_0 * 10] == 0xac01) { - bVar1 = true; - } - } - uVar3 = get_controller_buttons_held('\0',R_TRIG); - if (uVar3 == 0) { - puVar4 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e6)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar5,0x10e,0x52,(byte *)puVar4,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - else { - puVar4 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e6)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar5,0x10e,0x52,(byte *)puVar4,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,1); - if ((&WORD_800409e6)[pPlayer->cur_player_control_type_0 * 10] == 0xac01) { - bVar1 = true; - } - } - if (((D_80040998 == 1) && (watch_soundrelated_maybe != 0)) && - (uVar3 = get_controller_buttons_held('\0',R_CBUTTONS|L_CBUTTONS|D_CBUTTONS|U_CBUTTONS), - uVar3 != 0)) { - uVar3 = get_controller_buttons_held('\0',R_CBUTTONS|L_CBUTTONS|D_CBUTTONS|U_CBUTTONS); - if ((uVar3 & uVar3 - 1) == 0) { - puVar5 = (undefined4 *)get_controller_buttons_held('\0',U_CBUTTONS); - if (puVar5 == NULL) { - puVar5 = (undefined4 *)get_controller_buttons_held('\0',D_CBUTTONS); - if (puVar5 == NULL) { - uVar3 = get_controller_buttons_held('\0',L_CBUTTONS); - if (uVar3 == 0) { - puVar5 = (undefined4 *)get_controller_buttons_held('\0',R_CBUTTONS); - if (puVar5 != NULL) { - puVar5 = (undefined4 *)get_textptr_for_textID(0xac2e); - local_54 = puVar5; - } - } - else { - puVar5 = (undefined4 *)get_textptr_for_textID(0xac2f); - local_54 = puVar5; - } - } - else { - local_54 = puVar2; - if ((&WORD_800409e8)[pPlayer->cur_player_control_type_0 * 10] == 0xac05) { - puVar5 = (undefined4 *)get_textptr_for_textID(0xac31); - local_54 = puVar5; - } - } - } - else { - local_54 = local_4; - if ((&WORD_800409e8)[pPlayer->cur_player_control_type_0 * 10] == 0xac05) { - puVar5 = (undefined4 *)get_textptr_for_textID(0xac30); - local_54 = puVar5; - } - } - proc_7F0A9398(puVar4,0x10e,0x6b,(byte *)local_54,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,1); - } - else { - puVar5 = (undefined4 *) - get_textptr_for_textID - ((&WORD_800409e8)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar4,0x10e,0x6b,(byte *)puVar5,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - } - else { - puVar5 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e8)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar4,0x10e,0x6b,(byte *)puVar5,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - uVar3 = get_controller_buttons_held('\0',B_BUTTON); - if (uVar3 == 0) { - puVar2 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e0)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar5,0x10e,0x84,(byte *)puVar2,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - else { - puVar2 = (undefined4 *) - get_textptr_for_textID((&WORD_800409e0)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar5,0x10e,0x84,(byte *)puVar2,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,1); - } - uVar3 = get_controller_buttons_held('\0',A_BUTTON); - if (uVar3 == 0) { - puVar5 = (undefined4 *) - get_textptr_for_textID((&WORD_800409de)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar2,0x10e,0x9d,(byte *)puVar5,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - else { - puVar5 = (undefined4 *) - get_textptr_for_textID((&WORD_800409de)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar2,0x10e,0x9d,(byte *)puVar5,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,1); - } - if (bVar1) { - puVar6 = (uint *)get_textptr_for_textID(0xac08); - proc_7F0A9398(puVar5,0xfa,0xc3,(byte *)puVar6,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,1); - } - else { - puVar6 = (uint *)get_textptr_for_textID - ((&WORD_800409ee)[pPlayer->cur_player_control_type_0 * 10]); - proc_7F0A9398(puVar5,0xfa,0xc3,(byte *)puVar6,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - return puVar6; -} - - - -void sub_GAME_7F0AA7C8(u32 *DisplayList) - -{ - undefined4 *DL; - u32 uVar1; - byte *pbVar2; - undefined4 *txtptr2; - undefined4 *txtptr; - - microcode_constructor(DisplayList); - uVar1 = get_controller_buttons_held('\0',A_BUTTON); - if (uVar1 == 0) { - txtptr = (undefined4 *)get_textptr_for_textID(0xac03); - proc_7F0A9398(DL,0x5a,0xa7,(byte *)txtptr,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - } - else { - txtptr = (undefined4 *)get_textptr_for_textID(0xac03); - proc_7F0A9398(DL,0x5a,0xa7,(byte *)txtptr,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,0); - } - uVar1 = get_controller_buttons_held('\0',B_BUTTON); - if (uVar1 == 0) { - txtptr2 = (undefined4 *)get_textptr_for_textID(0xac02); - proc_7F0A9398(txtptr,0x5a,0x95,(byte *)txtptr2,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - } - else { - txtptr2 = (undefined4 *)get_textptr_for_textID(0xac02); - proc_7F0A9398(txtptr,0x5a,0x95,(byte *)txtptr2,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,0); - } - if ((pPlayer->cur_player_control_type_0 == 4) || (pPlayer->cur_player_control_type_0 == 5)) { - pbVar2 = get_textptr_for_textID(0xac00); - } - else { - pbVar2 = get_textptr_for_textID(0xac01); - } - txtptr = (undefined4 *)get_controller_buttons_held('\0',Z_TRIG); - if (txtptr == NULL) { - proc_7F0A9398(txtptr2,0x5a,0xb9,pbVar2,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - } - else { - proc_7F0A9398(txtptr2,0x5a,0xb9,pbVar2,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,0); - } - if ((pPlayer->cur_player_control_type_0 == 4) || (pPlayer->cur_player_control_type_0 == 6)) { - txtptr2 = (undefined4 *)get_textptr_for_textID(0xac05); - } - else { - txtptr2 = (undefined4 *)get_textptr_for_textID(0xac06); - } - proc_7F0A9398(txtptr,0x5a,0xcb,(byte *)txtptr2,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - uVar1 = get_controller_buttons_held('\x01',A_BUTTON); - if (uVar1 == 0) { - txtptr = (undefined4 *)get_textptr_for_textID(0xac03); - proc_7F0A9398(txtptr2,0xe6,0xa7,(byte *)txtptr,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - else { - txtptr = (undefined4 *)get_textptr_for_textID(0xac03); - proc_7F0A9398(txtptr2,0xe6,0xa7,(byte *)txtptr,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,1); - } - uVar1 = get_controller_buttons_held('\x01',B_BUTTON); - if (uVar1 == 0) { - txtptr2 = (undefined4 *)get_textptr_for_textID(0xac02); - proc_7F0A9398(txtptr,0xe6,0x95,(byte *)txtptr2,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - else { - txtptr2 = (undefined4 *)get_textptr_for_textID(0xac02); - proc_7F0A9398(txtptr,0xe6,0x95,(byte *)txtptr2,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,1); - } - if ((pPlayer->cur_player_control_type_0 == 4) || (pPlayer->cur_player_control_type_0 == 5)) { - pbVar2 = get_textptr_for_textID(0xac01); - } - else { - pbVar2 = get_textptr_for_textID(0xac00); - } - txtptr = (undefined4 *)get_controller_buttons_held('\x01',Z_TRIG); - if (txtptr == NULL) { - proc_7F0A9398(txtptr2,0xe6,0xb9,pbVar2,(uint)&DAT_00aa00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,1); - } - else { - proc_7F0A9398(txtptr2,0xe6,0xb9,pbVar2,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,1); - } - if ((pPlayer->cur_player_control_type_0 == 4) || (pPlayer->cur_player_control_type_0 == 6)) { - pbVar2 = get_textptr_for_textID(0xac06); - } - else { - pbVar2 = get_textptr_for_textID(0xac05); - } - proc_7F0A9398(txtptr,0xe6,0xcb,pbVar2,(uint)&DAT_00aa00b0,0,0xffffffff,0,0,(uint)&DAT_003000b0,1 - ); - return; -} - - - -// WARNING: Globals starting with '_' overlap smaller symbols at the same address - -void proc_7F0AADC0(u32 *DL) - -{ - Mtx *in_v0_lo; - s32 sVar1; - u32 uVar2; - undefined4 *puVar3; - undefined8 extraout_a0; - float extraout_a0_lo; - float extraout_a0_lo_00; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a0_02; - float extraout_a0_lo_01; - float extraout_a0_lo_02; - undefined8 extraout_a0_03; - undefined8 extraout_a0_04; - undefined8 uVar4; - undefined4 *puVar5; - undefined4 *puVar6; - undefined4 *puVar7; - u32 *DisplayList; - float extraout_f12; - float fovy; - float extraout_f12_00; - float fovy_00; - float extraout_f14; - float aspect; - float extraout_f14_00; - float aspect_00; - undefined4 auStack1268 [55]; - undefined4 auStack1048 [55]; - undefined4 auStack828 [55]; - char cStack606; - char acStack605 [5]; - undefined4 *puStack600; - float afStack596 [16]; - float afStack532 [16]; - u16 uStack466; - xyzpoint xStack464; - float afStack452 [16]; - float afStack388 [16]; - float afStack324 [16]; - float afStack260 [16]; - float afStack196 [16]; - float afStack132 [16]; - float afStack68 [16]; - Mtx *pabStack4; - - proc_7F0BD6E0(); - xStack464.x = dword_80040B5C; - xStack464.y = dword_80040B60; - xStack464.z = dword_80040B64; - acStack605[0] = '\0'; - cStack606 = '\x01'; - puVar3 = &dword_80040B68; - puVar5 = auStack828; - pabStack4 = in_v0_lo; - do { - puVar7 = puVar3 + 3; - puVar6 = puVar5 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar7; - puVar5 = puVar6; - } while (puVar7 != (undefined4 *)0x80040c40); - *puVar6 = uRam80040c40; - puVar3 = &DAT_80040c44; - puVar5 = auStack1048; - do { - puVar6 = puVar3 + 3; - puVar7 = puVar5 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar6; - puVar5 = puVar7; - } while (puVar6 != (undefined4 *)&dword_80040D1C); - *puVar7 = _dword_80040D1C; - puVar3 = &dword_80040D20; - puVar5 = auStack1268; - do { - puVar6 = puVar3 + 3; - puVar7 = puVar5 + 3; - *puVar5 = *puVar3; - puVar5[1] = puVar3[1]; - puVar5[2] = puVar3[2]; - puVar3 = puVar6; - puVar5 = puVar7; - } while (puVar6 != (undefined4 *)&dword_80040DF8); - *puVar7 = _dword_80040DF8; - proc_7F0A9684('\0',&dword_80040B2C,(float *)&dword_80040B28,&dword_80040B24); - guMtxIdentF_unrolled((float (*) [4] [4])afStack68); - dword_80040B24 = dword_80040B24 + (float)dword_80040B28 * (float)speedgraphframes * 0.50000000; - dword_80040B24 = proc_7F0A6A2C(dword_80040B24); - proc_7F058688(dword_80040B24,extraout_a0,afStack132); - if ((watch_soundrelated_maybe == 0) || (D_80040998 != 1)) { - dword_80040B20 = sub_GAME_7F0A95C4(dword_80040B20,0.00000000,extraout_a0_lo); - uVar4 = extraout_a0_01; - } - else { - sVar1 = get_cur_controller_vert_stick_pos('\0'); - dword_80040B20 = - sub_GAME_7F0A95C4(dword_80040B20,((float)sVar1 * 6.28318548) / 360.00000000, - extraout_a0_lo_00); - uVar4 = extraout_a0_00; - } - proc_7F058570(-dword_80040B20 - 0.78539819,uVar4,afStack196); - proc_7F0580C8(afStack68,afStack132,(int)afStack260); - proc_7F0580C8(afStack260,afStack196,(int)afStack324); - init_something_copy_posdata_to_it(&xStack464,(int *)afStack260); - proc_7F0580C8(afStack260,afStack324,(int)afStack388); - uVar2 = controllerCheckControllerTypesAllowed(); - if (uVar2 == 0) { - puStack600 = auStack828; - proc_7F059694(afStack532,extraout_f12,extraout_f14,-5.00000000,2000.00000000,-168.00000000, - -5.00000000,0.00000000,-168.00000000,0.00000000); - } - else { - puStack600 = auStack1048; - proc_7F059694(afStack532,32.00000000,extraout_f14,495.00000000,2500.00000000,32.00000000, - 495.00000000,0.00000000,32.00000000,0.00000000); - } - proc_7F0580C8(afStack532,afStack388,(int)afStack452); - guPerspective(pabStack4,&uStack466,fovy,aspect,50.50000000,1.33333337,1000.00000000); - *DL = 0x1030040; - uVar2 = osVirtualToPhysical(pabStack4); - DL[1] = uVar2; - puVar3 = proc_7F0A6EE8(DL + 2); - if (D_80040B04 < 0xe0) { - DisplayList = (u32 *)proc_7F06359C(puVar3,afStack452,(longlong)(D_80040B04 + -6),1, - (int)puStack600,acStack605); - } - else { - DisplayList = (u32 *)proc_7F064364(puVar3,afStack452,1,(int)puStack600,acStack605); - } - uVar2 = controllerCheckControllerTypesAllowed(); - if (uVar2 != 0) { - proc_7F0A9684('\x01',&dword_80040B3C,(float *)&dword_80040B38,(float *)&dword_80040B34); - guMtxIdentF_unrolled((float (*) [4] [4])afStack68); - dword_80040B34 = - (f32)((float)dword_80040B34 + - (float)dword_80040B38 * (float)speedgraphframes * 0.50000000); - dword_80040B34 = (f32)proc_7F0A6A2C((float)dword_80040B34); - proc_7F058688((float)dword_80040B34,extraout_a0_02,afStack132); - if ((watch_soundrelated_maybe == 0) || (D_80040998 != 1)) { - dword_80040B30 = - (f32)sub_GAME_7F0A95C4((float)dword_80040B30,0.00000000,extraout_a0_lo_01); - uVar4 = extraout_a0_04; - } - else { - sVar1 = get_cur_controller_vert_stick_pos('\x01'); - dword_80040B30 = - (f32)sub_GAME_7F0A95C4((float)dword_80040B30, - ((float)sVar1 * 6.28318548) / 360.00000000,extraout_a0_lo_02 - ); - uVar4 = extraout_a0_03; - } - proc_7F058570(-(float)dword_80040B30 - 0.78539819,uVar4,afStack196); - proc_7F0580C8(afStack68,afStack132,(int)afStack260); - proc_7F0580C8(afStack260,afStack196,(int)afStack324); - init_something_copy_posdata_to_it(&xStack464,(int *)afStack260); - proc_7F0580C8(afStack260,afStack324,(int)afStack388); - proc_7F059694(afStack596,extraout_f12_00,extraout_f14_00,-505.00000000,2500.00000000, - 32.00000000,-505.00000000,0.00000000,32.00000000,0.00000000); - proc_7F0580C8(afStack596,afStack388,(int)afStack452); - guPerspective(pabStack4,&uStack466,fovy_00,aspect_00,50.50000000,1.33333337,1000.00000000); - *DisplayList = 0x1030040; - uVar2 = osVirtualToPhysical(pabStack4); - DisplayList[1] = uVar2; - puVar3 = proc_7F0A6EE8(DisplayList + 2); - if (D_80040B04 < 0xe0) { - DisplayList = (u32 *)proc_7F06359C(puVar3,afStack452,(longlong)(D_80040B04 + -6),1, - (int)auStack1268,&cStack606); - } - else { - DisplayList = (u32 *)proc_7F064364(puVar3,afStack452,1,(int)auStack1268,&cStack606); - } - } - uVar2 = controllerCheckControllerTypesAllowed(); - if (uVar2 == 0) { - proc_7F0A9AB8(DisplayList); - } - else { - sub_GAME_7F0AA7C8(DisplayList); - } - return; -} - - - -void zero_D_80040998(void) - -{ - D_80040998 = 0; - return; -} - - - -void zero_D_8004099C(void) - -{ - D_8004099c = 0; - return; -} - - - -void zero_D_800409A4(void) - -{ - D_800409A4 = 0; - return; -} - - - -u32 return_arg0_7F0AB4B0(u32 param_1) - -{ - return param_1; -} - - - -void proc_7F0AB4B8(u32 *DL,u32 param_2) - -{ - u8 *puVar1; - u8 *puVar2; - u32 *DL_00; - ulonglong uVar3; - undefined4 *puVar4; - uint *DL_01; - byte *pbVar5; - u32 uVar6; - undefined4 *puVar7; - uint uVar8; - int iStack24; - int iStack20; - uint uStack16; - uint auStack12 [3]; - - DL_00 = proc_7F0A714C(DL,param_2,0); - uVar3 = check_watch_page_transistion_running(); - DL_01 = (uint *)uVar3; - if (uVar3 != 1) { - proc_7F0AADC0(DL_00); - puVar2 = ptrSecondFontTableSmall; - puVar1 = ptrFirstFontTableSmall; - microcode_constructor(DL_01); - puVar4 = (undefined4 *)get_textptr_for_textID(0xac32); - auStack12[0] = 0x40; - uStack16 = 0x1a; - uVar8 = 0xff00b0; - if ((D_80040998 == 0) && (uVar8 = 0xa0ffa0f0, watch_soundrelated_maybe != 0)) { - uVar8 = 0xffffffff; - } - puVar7 = puVar4; - proc_7F0AE98C(&iStack24,&iStack20,(byte *)puVar4,(int)puVar2,(int *)puVar1,0); - if ((watch_soundrelated_maybe == 0) || (D_80040998 != 0)) { - en_text_write_stuff(DL_01,(int *)auStack12,(int *)&uStack16,(byte *)puVar4,(int)puVar2, - (int)puVar1,uVar8,iStack20,iStack24,0,0); - } - else { - jp_text_stuff(DL_01,auStack12,&uStack16,(byte *)puVar4,(int)puVar2,(int)puVar1,uVar8, - (uint)&DAT_007000a0,iStack20 + 1,iStack24,0,0); - } - uVar8 = 0xff00b0; - DL_01 = proc_7F0A97D0(puVar7); - pbVar5 = get_textptr_for_textID(0xac33); - uVar6 = controllerCheckControllerTypesAllowed(); - if (uVar6 != 0) { - pbVar5 = get_textptr_for_textID(0xac34); - } - auStack12[0] = 0x40; - uStack16 = 0x2b; - if ((D_80040998 == 1) && (uVar8 = 0xa0ffa0f0, watch_soundrelated_maybe != 0)) { - uVar8 = 0xffffffff; - } - proc_7F0AE98C(&iStack24,&iStack20,pbVar5,(int)puVar2,(int *)puVar1,0); - if ((watch_soundrelated_maybe == 0) || (D_80040998 != 1)) { - en_text_write_stuff(DL_01,(int *)auStack12,(int *)&uStack16,pbVar5,(int)puVar2, - (int)puVar1,uVar8,iStack20,iStack24,0,0); - } - else { - jp_text_stuff(DL_01,auStack12,&uStack16,pbVar5,(int)puVar2,(int)puVar1,uVar8, - (uint)&DAT_007000a0,iStack20 + 1,iStack24,0,0); - } - } - return; -} - - - -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); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0ab88c) overlaps instruction at (ram,0x7f0ab888) -// - -ulonglong proc_7F0AB7D8(int param_1) - -{ - u32 uVar2; - bool bVar3; - ulonglong uVar1; - - uVar2 = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG|L_JPAD); - if (((uVar2 == 0) && (bVar3 = sub_GAME_7F0A4FB0(), bVar3 == false)) || - (watch_soundrelated_maybe == 0)) { - uVar2 = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG|R_JPAD); - uVar1 = SEXT48((int)uVar2); - if (uVar1 == 0) { - bVar3 = proc_7F0A4FEC(); - uVar1 = SEXT18(bVar3); - if (uVar1 == 0) { - return 0; - } - } - if (watch_soundrelated_maybe != 0) { - uVar1 = SEXT48((int)(&word_80040A7C + param_1 * 6)); - if ((&cur_player_look_vertical_inverted)[param_1 * 3] == 0) { - set_pparam1toparam2_disablejoylr_playsfx - (&cur_player_look_vertical_inverted + param_1 * 3,1); - } - else { - if (((&cur_player_look_vertical_inverted)[param_1 * 3] == 1) && - (*(short *)(&DAT_80040a82 + param_1 * 0xc) != 0)) { - set_pparam1toparam2_disablejoylr_playsfx - (&cur_player_look_vertical_inverted + param_1 * 3,2); - } - } - } - } - else { - uVar1 = SEXT48((int)(&word_80040A7C + param_1 * 6)); - if ((&cur_player_look_vertical_inverted)[param_1 * 3] == 1) { - set_pparam1toparam2_disablejoylr_playsfx - (&cur_player_look_vertical_inverted + param_1 * 3,0); - } - else { - if ((&cur_player_look_vertical_inverted)[param_1 * 3] == 2) { - set_pparam1toparam2_disablejoylr_playsfx - (&cur_player_look_vertical_inverted + param_1 * 3,1); - } - } - } - return uVar1; -} - - - -uint * proc_7F0AB908(undefined4 *param_1,uint param_2,int param_3,longlong param_4) - -{ - u32 uVar1; - undefined4 *puVar2; - uint *puVar3; - uint uVar4; - undefined2 *puVar5; - undefined *puVar6; - undefined *puVar7; - uint *local_res0; - uint local_14; - undefined *local_c; - - puVar7 = &DAT_00800080; - puVar6 = &DAT_00800080; - local_c = &DAT_00800080; - if (j_text_trigger == 0) { - uVar4 = 0xb4; - local_14 = 0xe1; - } - else { - uVar4 = 0xaa; - local_14 = 0xdc; - } - if (param_4 == 0) { - puVar5 = &word_80040A7C + param_3 * 6; - uVar1 = (&cur_player_look_vertical_inverted)[param_3 * 3]; - if (uVar1 == 0) { - puVar6 = (undefined *)0xff00b0; - } - else { - if (uVar1 == 1) { - puVar7 = (undefined *)0xff00b0; - } - else { - if (uVar1 == 2) { - local_c = (undefined *)0xff00b0; - } - } - } - } - else { - if (param_4 == 1) { - puVar5 = &word_80040A7C + param_3 * 6; - uVar1 = (&cur_player_look_vertical_inverted)[param_3 * 3]; - if (uVar1 == 0) { - puVar6 = (undefined *)0xff00b0; - } - else { - if (uVar1 == 1) { - puVar7 = (undefined *)0xff00b0; - } - else { - if (uVar1 == 2) { - local_c = (undefined *)0xff00b0; - } - } - } - } - else { - if (param_4 == 2) { - proc_7F0AB7D8(param_3); - puVar5 = &word_80040A7C + param_3 * 6; - uVar1 = (&cur_player_look_vertical_inverted)[param_3 * 3]; - puVar6 = &DAT_00800080; - puVar7 = &DAT_00800080; - if (uVar1 == 0) { - puVar6 = (undefined *)0xa0ffa0f0; - } - else { - if (uVar1 == 1) { - puVar7 = (undefined *)0xa0ffa0f0; - } - else { - if (uVar1 == 2) { - local_c = (undefined *)0xa0ffa0f0; - } - } - } - } - else { - puVar5 = &word_80040A7C + param_3 * 6; - puVar6 = puVar7; - } - } - } - if (puVar5[3] == 0) { - uVar4 = 200; - if (j_text_trigger == 0) { - local_14 = 0xfa; - } - else { - uVar4 = 0xbe; - local_14 = 0xfa; - } - } - puVar2 = (undefined4 *)get_textptr_for_textID(puVar5[1]); - proc_7F0A9398(param_1,uVar4,param_2,(byte *)puVar2,(uint)puVar6,0,0xffffffff,1,0, - (uint)&DAT_003000b0,0); - local_res0 = (uint *)get_textptr_for_textID(puVar5[2]); - proc_7F0A9398(puVar2,local_14,param_2,(byte *)local_res0,(uint)puVar7,0,0xffffffff,1,0, - (uint)&DAT_003000b0,0); - if (puVar5[3] != 0) { - puVar3 = (uint *)get_textptr_for_textID(puVar5[3]); - proc_7F0A9398(local_res0,0x10e,param_2,(byte *)puVar3,(uint)local_c,0,0xffffffff,1,0, - (uint)&DAT_003000b0,0); - local_res0 = puVar3; - } - return local_res0; -} - - - -uint * proc_7F0ABC1C(undefined4 *param_1) - -{ - longlong in_v0; - undefined4 *puVar1; - uint *puVar2; - undefined4 *puVar3; - uint uVar4; - int iVar5; - TEXTFILESTRINGS *pTVar6; - - microcode_constructor(param_1); - pTVar6 = &word_80040A7C; - iVar5 = 0; - uVar4 = 0x50; - do { - puVar3 = (undefined4 *)in_v0; - if (iVar5 + 2 == D_8004099c) { - if (watch_soundrelated_maybe == 0) { - puVar1 = (undefined4 *)get_textptr_for_textID(*pTVar6); - proc_7F0A9398(puVar3,0x40,uVar4,(byte *)puVar1,0xa0ffa0f0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - puVar2 = proc_7F0AB908(puVar1,uVar4,iVar5,1); - in_v0 = (longlong)(int)puVar2; - } - else { - puVar1 = (undefined4 *)get_textptr_for_textID(*pTVar6); - proc_7F0A9398(puVar3,0x40,uVar4,(byte *)puVar1,0xffffffff,1,(uint)&DAT_007000a0,0,0, - (uint)&DAT_003000b0,0); - puVar2 = proc_7F0AB908(puVar1,uVar4,iVar5,2); - in_v0 = (longlong)(int)puVar2; - } - } - else { - puVar1 = (undefined4 *)get_textptr_for_textID(*pTVar6); - proc_7F0A9398(puVar3,0x40,uVar4,(byte *)puVar1,0xff00b0,0,0xffffffff,0,0, - (uint)&DAT_003000b0,0); - puVar2 = proc_7F0AB908(puVar1,uVar4,iVar5,0); - in_v0 = (longlong)(int)puVar2; - } - iVar5 += 1; - pTVar6 = pTVar6 + 6; - uVar4 += 0xf; - } while (iVar5 != 8); - return (uint *)in_v0; -} - - - -uint * proc_7F0ABDFC(undefined8 param_1,undefined8 param_2) - -{ - u8 *puVar1; - u8 *puVar2; - uint uVar3; - u32 *puVar5; - ulonglong uVar4; - uint *DL; - uint *puVar6; - undefined4 *puVar7; - int iStack24; - int iStack20; - uint uStack16; - uint uStack12; - uint *puStack8; - uint uStack4; - - puVar5 = proc_7F0A714C(param_1._4_4_,param_2._4_4_,0); - uVar4 = check_watch_page_transistion_running(); - if (uVar4 == 1) { - return puVar5; - } - proc_7F0A91C8(); - DL = (uint *)proc_7F0A8FEC(); - puVar2 = ptrSecondFontTableSmall; - puVar1 = ptrFirstFontTableSmall; - microcode_constructor(DL); - puVar6 = (uint *)get_textptr_for_textID(0xac35); - uStack12 = 0x40; - uStack16 = 0x25; - uStack4 = 0xff00b0; - if ((D_8004099c == 0) && (uStack4 = 0xa0ffa0f0, watch_soundrelated_maybe != 0)) { - uStack4 = 0xffffffff; - } - puStack8 = puVar6; - proc_7F0AE98C(&iStack24,&iStack20,(byte *)puVar6,(int)puVar2,(int *)puVar1,0); - uVar3 = uStack4; - if (watch_soundrelated_maybe != 0) { - if (D_8004099c == 0) { - uStack4 = 0xff00b0; - jp_text_stuff(DL,&uStack12,&uStack16,(byte *)puStack8,(int)puVar2,(int)puVar1,uVar3, - (uint)&DAT_007000a0,iStack20 + 1,iStack24,0,0); - goto LAB_7f0abf9c; - } - } - uStack4 = 0xff00b0; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,(byte *)puStack8,(int)puVar2, - (int)puVar1,uVar3,iStack20,iStack24,0,0); -LAB_7f0abf9c: - puVar7 = (undefined4 *)get_textptr_for_textID(0xac36); - uStack12 = 0x40; - uStack16 = 0x3b; - if ((D_8004099c == 1) && (uStack4 = 0xa0ffa0f0, watch_soundrelated_maybe != 0)) { - uStack4 = 0xffffffff; - } - puStack8 = puVar7; - proc_7F0AE98C(&iStack24,&iStack20,(byte *)puVar7,(int)puVar2,(int *)puVar1,0); - if ((watch_soundrelated_maybe == 0) || (D_8004099c != 1)) { - en_text_write_stuff(puVar6,(int *)&uStack12,(int *)&uStack16,(byte *)puStack8,(int)puVar2, - (int)puVar1,uStack4,iStack20,iStack24,0,0); - } - else { - jp_text_stuff(puVar6,&uStack12,&uStack16,(byte *)puStack8,(int)puVar2,(int)puVar1,uStack4, - (uint)&DAT_007000a0,iStack20 + 1,iStack24,0,0); - } - DL = proc_7F0ABC1C(puVar7); - return DL; -} - - - -int proc_7F0AC0E8(char *param_1) - -{ - char cVar1; - int count; - - cVar1 = *param_1; - count = 0; - while (cVar1 != '\0') { - if (cVar1 == '\n') { - count += 1; - cVar1 = param_1[1]; - } - else { - cVar1 = param_1[1]; - } - param_1 = param_1 + 1; - } - return count; -} - - - -char * proc_7F0AC120(char *param_1) - -{ - char cVar1; - char *pcVar2; - char *pcVar3; - - cVar1 = *param_1; - pcVar2 = param_1; - while (cVar1 != '\0') { - if (cVar1 == '\n') { - pcVar3 = param_1 + 1; - if (param_1[1] == '\0') { - cVar1 = param_1[2]; - } - else { - cVar1 = param_1[2]; - pcVar2 = pcVar3; - } - } - else { - cVar1 = param_1[1]; - pcVar3 = param_1; - } - param_1 = pcVar3 + 1; - } - return pcVar2; -} - - - -uint * proc_7F0AC168(undefined8 param_1,undefined8 param_2) - -{ - ulonglong uVar1; - u8 *__format; - DIFFICULTY DVar2; - DIFFICULTY DVar3; - size_t sVar4; - int iVar5; - byte *pbVar6; - short sVar7; - short sVar8; - int iVar9; - undefined4 uVar10; - char *__s; - undefined4 *puVar11; - undefined4 *puVar12; - undefined4 *text; - undefined4 *puVar13; - int iVar14; - int iVar15; - int objective; - u32 *puStackX0; - int iStack3444; - uint uStack3428; - undefined uStack3424; - int iStack3224; - int aiStack3220 [4]; - u8 *puStack3204; - u8 *puStack3200; - u8 *puStack3196; - byte abStack3192 [32]; - undefined4 auStack3160 [750]; - u8 *puStack160; - int *piStack156; - int iStack152; - int iStack148; - uint uStack144; - uint uStack140; - uint uStack136; - uint uStack132; - undefined4 auStack128 [15]; - undefined4 uStack68; - undefined4 uStack64; - undefined4 auStack60 [15]; - - puStackX0 = proc_7F0A714C(param_1._4_4_,param_2._4_4_,0); - uVar1 = check_watch_page_transistion_running(); - if (uVar1 != 1) { - text = &dword_80040DFC; - puVar12 = auStack60; - do { - puVar13 = text + 3; - *puVar12 = *text; - puVar12[1] = text[1]; - puVar12[2] = text[2]; - text = puVar13; - puVar12 = puVar12 + 3; - } while (puVar13 != &dword_80040E38); - uStack68 = dword_80040E38; - uStack64 = dword_80040E3C; - text = &dword_80040E40; - puVar12 = auStack128; - do { - puVar13 = text + 3; - *puVar12 = *text; - puVar12[1] = text[1]; - puVar12[2] = text[2]; - text = puVar13; - puVar12 = puVar12 + 3; - } while (puVar13 != (undefined4 *)&dword_80040E7C); - iStack148 = 0; - iStack152 = 0; - piStack156 = (int *)ptrFirstFontTableSmall; - puStack160 = ptrSecondFontTableSmall; - text = (undefined4 *)"\n"; - puVar12 = auStack3160; - do { - puVar13 = text + 3; - *puVar12 = *text; - puVar12[1] = text[1]; - puVar12[2] = text[2]; - text = puVar13; - puVar12 = puVar12 + 3; - } while (puVar13 != null_ARRAY_80058378); - puStack3196 = get_textptr_for_textID(0xac28); - puStack3200 = get_textptr_for_textID(0xac29); - puStack3204 = get_textptr_for_textID(0xac37); - puVar12 = (undefined4 *)get_ptr_text_for_watch_breifing_page(BRIEFING_TITLE); - text = puVar12; - microcode_constructor(puStackX0); - proc_7F0AE98C(&iStack148,&iStack152,(byte *)puVar12,(int)puStack160,piStack156,0); - iVar9 = -iStack152 + 0xaa; - if (iVar9 < 0) { - iVar9 = -iStack152 + 0xab; - } - uStack132 = (iVar9 >> 1) + 0x4b; - uStack140 = uStack132 + iStack152; - uStack144 = iStack148 + 0x1e; - uStack136 = 0x1e; - puStackX0 = draw_blackbox_to_screen(text,&uStack132,&uStack136,&uStack140,&uStack144); - en_text_write_stuff(puStackX0,(int *)&uStack132,(int *)&uStack136,(byte *)puVar12, - (int)puStack160,(int)piStack156,0xa0ffa0f0,iStack152,iStack148,0,0); - uStack132 = 0x41; - text = puStackX0; - switch(dword_800409A0) { - case 0: - __format = get_textptr_for_textID(0xac38); - sprintf((char *)abStack3192,(char *)__format); - text = (undefined4 *)get_ptr_text_for_watch_breifing_page(BRIEFING_OVERVIEW); - find_width_word_in_string - (0xd2,(byte *)text,(byte *)auStack3160,(int)puStack160,piStack156); - proc_7F0A6618(); - break; - case 1: - __format = get_textptr_for_textID(0xac39); - sprintf((char *)abStack3192,(char *)__format); - text = (undefined4 *)get_ptr_text_for_watch_breifing_page(BRIEFING_M); - find_width_word_in_string - (0xd2,(byte *)text,(byte *)auStack3160,(int)puStack160,piStack156); - proc_7F0A66A0(); - break; - case 2: - __format = get_textptr_for_textID(0xac3a); - sprintf((char *)abStack3192,(char *)__format); - text = (undefined4 *)get_ptr_text_for_watch_breifing_page(BRIEFING_Q); - find_width_word_in_string - (0xd2,(byte *)text,(byte *)auStack3160,(int)puStack160,piStack156); - proc_7F0A672C(); - break; - case 3: - __format = get_textptr_for_textID(0xac3b); - sprintf((char *)abStack3192,(char *)__format); - text = (undefined4 *)get_ptr_text_for_watch_breifing_page(BRIEFING_MONEYPENNY); - find_width_word_in_string - (0xd2,(byte *)text,(byte *)auStack3160,(int)puStack160,piStack156); - proc_7F0A67BC(); - break; - case 4: - text = null_ARRAY_80058378; - puVar12 = &uStack3424; - do { - puVar11 = puVar12; - puVar13 = text; - *puVar11 = *puVar13; - puVar11[1] = puVar13[1]; - puVar11[2] = puVar13[2]; - text = puVar13 + 3; - puVar12 = puVar11 + 3; - } while (puVar13 + 3 != (undefined4 *)0x80058438); - iVar9 = 1; - puVar11[3] = uRam80058438; - iVar15 = 0; - uVar10 = 5; - puVar11[4] = puVar13[4]; - iStack3444 = 0; - if (j_text_trigger != 0) { - uVar10 = 1; - } - setTextOverlapCorrection(uVar10); - __format = get_textptr_for_textID(0xac3c); - sprintf((char *)abStack3192,(char *)__format); - objective = 0; - text = (undefined4 *)add_objective(); - if (0 < (int)text) { - do { - DVar2 = get_difficulty_for_objective(objective); - DVar3 = get_current_difficulty(); - if (DVar2 <= DVar3) { - iVar14 = 0; - __format = get_text_for_objective(objective); - uStack3424 = 0; - if (0 < iVar9) { - do { - string_append_from_obseg_textbank((char *)&uStack3424," \n"); - iVar14 += 1; - } while (iVar14 != iVar9); - } - iVar14 = 0; - if (0 < iVar15) { - do { - string_append_from_obseg_textbank((char *)&uStack3424," \n\n"); - iVar14 += 1; - } while (iVar14 != iVar15); - } - iVar14 = 0; - sVar4 = strlen((char *)&uStack3424); - __s = (char *)(sVar4 + (int)&uStack3424); - sprintf(__s,"%c: ",iStack3444 + 0x61); - string_append_from_obseg_textbank((char *)&uStack3424,(char *)__format); - aiStack3220[0] = 5; - if (j_text_trigger != 0) { - aiStack3220[0] = 1; - } - aiStack3220[0] += uStack136; - iStack3224 = 0x3c; - sVar7 = get_video2_settings_txtClipW(); - sVar8 = get_video2_settings_txtClipH(); - text = (undefined4 *)(int)sVar8; - en_text_write_stuff(puStackX0,&iStack3224,aiStack3220,(byte *)&uStack3424, - (int)puStack160,(int)piStack156,0xff00b0,(int)sVar7, - (int)sVar8,0,10); - iVar5 = proc_7F0AC0E8(__s); - iVar9 += iVar5; - pbVar6 = (byte *)proc_7F0AC120(__s); - proc_7F0AE98C(&iStack148,&iStack152,pbVar6,(int)puStack160,piStack156,10); - sVar7 = get_video2_settings_txtClipW(); - iVar5 = (int)sVar7; - if (sVar7 < 0) { - iVar5 += 1; - } - if (iStack152 + 0x3c < iVar5 >> 1) { - iVar9 += -1; - } - uStack3424 = 0; - if (0 < iVar9) { - do { - string_append_from_obseg_textbank((char *)&uStack3424," \n"); - iVar14 += 1; - } while (iVar14 != iVar9); - } - iVar14 = 0; - if (0 < iVar15) { - do { - string_append_from_obseg_textbank((char *)&uStack3424," \n\n"); - iVar14 += 1; - } while (iVar14 != iVar15); - } - iVar14 = get_status_of_objective(objective); - if (iVar14 == 0) { - string_append_from_obseg_textbank - ((char *)&uStack3424,(char *)puStack3200); - uStack3428 = dword_80040AFC << 0x10 | 0x400040ff; - } - else { - if (iVar14 == 1) { - uStack3428 = 0xa0ffa0f0; - string_append_from_obseg_textbank - ((char *)&uStack3424,(char *)puStack3196); - } - else { - if (iVar14 == 2) { - string_append_from_obseg_textbank - ((char *)&uStack3424,(char *)puStack3204); - if (j_text_trigger == 0) { - uStack3428 = 0xff00b0; - } - else { - uStack3428 = 0xa0ffa0f0; - } - } - } - } - proc_7F0AE98C(&iStack148,&iStack152,(byte *)&uStack3424,(int)puStack160, - piStack156,10); - aiStack3220[0] = 5; - if (j_text_trigger != 0) { - aiStack3220[0] = 1; - } - aiStack3220[0] += uStack136; - if (j_text_trigger == 0) { - iStack3224 = 0xaf; - } - else { - iStack3224 = 0xf5 - iStack152; - } - sVar7 = get_video2_settings_txtClipH(); - puStackX0 = (u32 *)(int)sVar7; - en_text_write_stuff(text,&iStack3224,aiStack3220,(byte *)&uStack3424, - (int)puStack160,(int)piStack156,uStack3428,0xd2, - (int)sVar7,0,10); - iVar15 += 1; - iStack3444 += 1; - } - objective += 1; - text = (undefined4 *)add_objective(); - } while (objective < (int)text); - } - setTextOverlapCorrection(0xffffffff); - proc_7F0A684C(); - } - proc_7F0AE98C(&iStack148,&iStack152,abStack3192,(int)puStack160,piStack156,10); - en_text_write_stuff(puStackX0,(int *)&uStack132,(int *)&uStack136,abStack3192, - (int)puStack160,(int)piStack156,0xa0ffa0f0,0xd2,0x82,0,10); - uStack136 += 5; - uStack132 = 0x3c; - proc_7F0AE98C(&iStack148,&iStack152,(byte *)auStack3160,(int)puStack160,piStack156,10); - sVar7 = get_video2_settings_txtClipW(); - sVar8 = get_video2_settings_txtClipH(); - puStackX0 = (u32 *)(int)sVar8; - en_text_write_stuff(text,(int *)&uStack132,(int *)&uStack136,(byte *)auStack3160, - (int)puStack160,(int)piStack156,0xff00b0,(int)sVar7,(int)sVar8,0,10); - } - return (uint *)puStackX0; -} - - - -longlong proc_7F0ACA28(longlong param_1,int param_2,int param_3) - -{ - longlong lVar1; - u32 uVar2; - int **ppiVar3; - uint *puVar4; - - proc_7F0A70AC(D_80040994,(int)&pPlayer->buffer_for_watch_greenbackdrop_vertices); - lVar1 = (longlong)param_3; - if (lVar1 == 1) { - set_BONDdata_paused_flag(0); - proc_7F0BD8FC(0); - if (D_80040994 != 1) { - uVar2 = get_controller_buttons_pressed('\0',Z_TRIG|A_BUTTON); - lVar1 = (longlong)(int)uVar2; - if (lVar1 != 0) { - ppiVar3 = proc_7F0A4EF8(); - lVar1 = (longlong)(int)ppiVar3; - } - } - switch(D_80040994) { - case 0: - proc_7F0A830C(param_1,(longlong)param_2); - param_1 = lVar1; - break; - case 1: - puVar4 = debug_gun_watch_move_related2(param_1,(longlong)param_2); - param_1 = (longlong)(int)puVar4; - break; - case 2: - proc_7F0AB4B8((u32 *)param_1,param_2); - param_1 = lVar1; - break; - case 3: - puVar4 = proc_7F0ABDFC(param_1,(longlong)param_2); - param_1 = (longlong)(int)puVar4; - break; - case 4: - puVar4 = proc_7F0AC168(param_1,(longlong)param_2); - param_1 = (longlong)(int)puVar4; - } - } - else { - if (lVar1 == 0) { - proc_7F0BD8FC(1); - set_BONDdata_paused_flag(1); - proc_7F0A77A8(param_1,(longlong)param_2); - param_1 = lVar1; - } - } - return param_1; -} - - - -void null_init_main_7f0acb70(void) - -{ - return; -} - - - -void setTextSpacingInverted(int spacing) - -{ - text_spacing = -spacing; - return; -} - - - -void setTextOrientation(s32 param_1) - -{ - text_orientation = param_1; - return; -} - - - -void setTextWordWrap(s32 param_1) - -{ - text_wordwrap = param_1; - return; -} - - - -void setTextOverlapCorrection(s32 param_1) - -{ - overlap_correction = param_1; - return; -} - - - -void load_font_tables(void) - -{ - u8 *secondFontLarge; - int i; - - text_spacing = 0; - text_orientation = 0; - text_wordwrap = 0; - overlap_correction = -1; - text_bilevel_filter = 0; - text_x = 0; - text_y = 0; - text_s = 0; - text_t = 0; - ptrFirstFontTableSmall = (u8 *)mempAllocBytesInBank(0x24b0,'\x04'); - ptrSecondFontTableSmall = ptrFirstFontTableSmall + 0x2a4; - romCopy((char *)ptrFirstFontTableSmall,font_first_font_table_controller_small,0x24b0); - i = 0; - do { - secondFontLarge = ptrSecondFontTableSmall + i; - i += 0x18; - *(u8 **)(secondFontLarge + 0x14) = ptrFirstFontTableSmall + *(int *)(secondFontLarge + 0x14) - ; - } while (i < 0x8d0); - ptrFirstFontTableLarge = (u8 *)mempAllocBytesInBank(0x3540,'\x04'); - ptrSecondFontTableLarge = ptrFirstFontTableLarge + 0x2a4; - romCopy((char *)ptrFirstFontTableLarge,(char *)&font_first_font_table_controller_large,0x3540); - i = 0x30; - *(u8 **)(ptrSecondFontTableLarge + 0x14) = - ptrFirstFontTableLarge + *(int *)(ptrSecondFontTableLarge + 0x14); - *(u8 **)(ptrSecondFontTableLarge + 0x2c) = - ptrFirstFontTableLarge + *(int *)(ptrSecondFontTableLarge + 0x2c); - do { - *(u8 **)(ptrSecondFontTableLarge + i + 0x14) = - ptrFirstFontTableLarge + *(int *)(ptrSecondFontTableLarge + i + 0x14); - *(u8 **)(ptrSecondFontTableLarge + i + 0x2c) = - ptrFirstFontTableLarge + *(int *)(ptrSecondFontTableLarge + i + 0x2c); - *(u8 **)(ptrSecondFontTableLarge + i + 0x44) = - ptrFirstFontTableLarge + *(int *)(ptrSecondFontTableLarge + i + 0x44); - secondFontLarge = ptrSecondFontTableLarge + i; - i += 0x60; - *(u8 **)(secondFontLarge + 0x5c) = ptrFirstFontTableLarge + *(int *)(secondFontLarge + 0x5c) - ; - } while (i != 0x8d0); - return; -} - - - -void microcode_constructor(u32 *DL) - -{ - *DL = 0xe7000000; - DL[1] = 0; - DL[2] = 0xba001402; - DL[3] = 0; - DL[5] = 0xc0; - DL[4] = 0xba000602; - DL[6] = 0xb900031d; - DL[7] = 0x5041c8; - DL[8] = 0xfcff97ff; - DL[9] = 0xff2dfeff; - DL[10] = 0xba001301; - DL[0xb] = 0; - DL[0xc] = 0xb9000002; - DL[0xd] = 0; - DL[0xe] = 0xba001001; - DL[0xf] = 0; - DL[0x11] = 0xc00; - DL[0x10] = 0xba000903; - DL[0x12] = 0xba000e02; - DL[0x13] = 0; - if (text_bilevel_filter != 0) { - DL[0x15] = 0x3000; - DL[0x14] = 0xba000c02; - return; - } - DL[0x15] = 0x2000; - DL[0x14] = 0xba000c02; - return; -} - - - -undefined4 * combiner_bayer_lod_perspective(undefined4 *DL) - -{ - *DL = 0xe7000000; - DL[1] = 0; - DL[3] = 0x40; - DL[2] = 0xba000602; - DL[5] = 0x80000; - DL[4] = 0xba001301; - DL[7] = 0x10000; - DL[6] = 0xba001001; - return DL + 8; -} - - - -undefined4 * -draw_blackbox_to_screen(undefined4 *param_1,uint *param_2,uint *param_3,uint *param_4,uint *param_5) - -{ - *param_1 = 0xb900031d; - param_1[1] = 0x504240; - param_1[2] = 0xfcffffff; - param_1[3] = 0xfffdf6fb; - param_1[4] = 0xfa000000; - param_1[5] = 0; - param_1[6] = (*param_5 & 0x3ff) << 2 | 0xf6000000 | (*param_4 & 0x3ff) << 0xe; - param_1[7] = (*param_3 & 0x3ff) << 2 | (*param_2 & 0x3ff) << 0xe; - param_1[9] = 0x504240; - param_1[8] = 0xb900031d; - param_1[10] = 0xfcff97ff; - param_1[0xb] = 0xff2dfeff; - return param_1 + 0xc; -} - - - -undefined4 * -microcode_constructor_related_to_menus - (undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,uint param_5 - ,uint param_6) - -{ - *param_1 = 0xb900031d; - param_1[1] = 0x504240; - param_1[2] = 0xfcffffff; - param_1[3] = 0xfffdf6fb; - param_1[4] = 0xfa000000; - param_1[5] = param_6 & 0xff000000 | (param_6 >> 0x10 & 0xff) << 0x10 | - (param_6 >> 8 & 0xff) << 8 | param_6 & 0xff; - param_1[7] = ((uint)param_2 & 0x3ff) << 0xe | ((uint)param_3 & 0x3ff) << 2; - param_1[6] = ((uint)param_4 & 0x3ff) << 0xe | 0xf6000000 | (param_5 & 0x3ff) << 2; - param_1[9] = 0xff2dfeff; - param_1[8] = 0xfcff97ff; - return param_1 + 10; -} - - - -uint * construct_fontchar_microcode - (void *DL,int xpos,int ypos,void *ptr_tbl2entry,void *ptr_unk,void *ptr_tbl1, - int ulx,int uly,int lrx,int lry,int unk) - -{ - uint uVar1; - short sVar6; - uint uVar2; - int iVar3; - u32 uVar4; - int iVar5; - uint uVar7; - int iVar8; - undefined4 *puVar9; - uint *puVar10; - - unk = *(int *)ypos + unk; - iVar8 = (*(int *)xpos - - (*(int *)((int)ptr_tbl1 + - *(int *)((int)ptr_tbl2entry + 0x10) * 4 + *(int *)((int)ptr_unk + 0x10) * 0x34) - + text_spacing)) + 1; - *(int *)xpos = iVar8; - puVar10 = (uint *)DL; - if ((text_orientation != 0) || - (((0 < iVar8 && - (sVar6 = get_video2_settings_txtClipW(), (longlong)*(int *)xpos <= (longlong)sVar6)) && - (sVar6 = get_video2_settings_txtClipH(), - (longlong)(unk + *(int *)((int)ptr_tbl2entry + 4)) <= (longlong)sVar6)))) { - if (*(int *)xpos <= ulx + lrx) { - lry = uly + lry; - iVar8 = *(int *)((int)ptr_tbl2entry + 4) + unk; - if (((iVar8 <= lry) && (ulx <= *(int *)xpos)) && - (uly <= iVar8 + *(int *)((int)ptr_tbl2entry + 8))) { - if (*(int *)ptr_tbl2entry < 0x80) { - *(undefined4 *)DL = 0xba000e02; - *(undefined4 *)((int)DL + 4) = 0; - *(undefined4 *)((int)DL + 8) = 0xfd900000; - *(undefined4 *)((int)DL + 0xc) = *(undefined4 *)((int)ptr_tbl2entry + 0x14); - *(undefined4 *)((int)DL + 0x14) = 0x7000000; - *(undefined4 *)((int)DL + 0x10) = 0xf5900000; - *(undefined4 *)((int)DL + 0x18) = 0xe6000000; - *(undefined4 *)((int)DL + 0x1c) = 0; - *(undefined4 *)((int)DL + 0x20) = 0xf3000000; - uVar1 = *(int *)((int)ptr_tbl2entry + 0xc) + 7U & 0xf8; - uVar2 = ((int)(uVar1 * *(int *)((int)ptr_tbl2entry + 8) + 1) >> 1) - 1; - uVar7 = 0x7ff; - if ((int)uVar2 < 0x7ff) { - uVar7 = uVar2; - } - if (false) { - uVar1 += 7; - } - iVar3 = (int)uVar1 >> 3; - iVar8 = iVar3; - if (iVar3 == 0) { - iVar8 = 1; - } - if (iVar3 == 0) { - iVar3 = 1; - } - if (iVar3 == 0) { - trap(0x1c00); - } - if ((iVar3 == -1) && (iVar8 + 0x7ff == -0x80000000)) { - trap(0x1800); - } - *(uint *)((int)DL + 0x24) = - (iVar8 + 0x7ff) / iVar3 & 0xfffU | 0x7000000 | (uVar7 & 0xfff) << 0xc; - *(undefined4 *)((int)DL + 0x28) = 0xe7000000; - *(undefined4 *)((int)DL + 0x2c) = 0; - *(uint *)((int)DL + 0x30) = - ((int)((*(int *)((int)ptr_tbl2entry + 0xc) + 7U & 0xf8) + 7) >> 3) << 9 | - 0xf5880000; - *(undefined4 *)((int)DL + 0x34) = 0; - *(undefined4 *)((int)DL + 0x38) = 0xf2000000; - puVar10 = (uint *)((int)DL + 0x40); - *(uint *)((int)DL + 0x3c) = - ((*(int *)((int)ptr_tbl2entry + 0xc) + 7U & 0xf8) - 1 & 0x3ff) << 0xe | - (*(int *)((int)ptr_tbl2entry + 8) + -1) * 4 & 0xfffU; - } - else { - *(undefined4 *)DL = 0xe7000000; - *(undefined4 *)((int)DL + 4) = 0; - *(undefined4 *)((int)DL + 0xc) = 0xc000; - *(undefined4 *)((int)DL + 8) = 0xba000e02; - puVar9 = (undefined4 *)((int)DL + 0x10); - if (dword_80040EA8 != 0) { - dword_80040EA8 = 0; - *puVar9 = 0xfd100000; - uVar4 = osVirtualToPhysical(&dword_80040EBC); - *(u32 *)((int)DL + 0x14) = uVar4; - *(undefined4 *)((int)DL + 0x18) = 0xe8000000; - *(undefined4 *)((int)DL + 0x1c) = 0; - *(undefined4 *)((int)DL + 0x20) = 0xf5000100; - *(undefined4 *)((int)DL + 0x24) = 0x7000000; - *(undefined4 *)((int)DL + 0x28) = 0xe6000000; - *(undefined4 *)((int)DL + 0x2c) = 0; - *(undefined4 *)((int)DL + 0x30) = 0xf0000000; - *(undefined4 *)((int)DL + 0x34) = 0x703c000; - *(undefined4 *)((int)DL + 0x38) = 0xe7000000; - *(undefined4 *)((int)DL + 0x3c) = 0; - *(undefined4 *)((int)DL + 0x40) = 0xfd100000; - uVar4 = osVirtualToPhysical(&DWORD_80040edc); - *(u32 *)((int)DL + 0x44) = uVar4; - *(undefined4 *)((int)DL + 0x48) = 0xe8000000; - *(undefined4 *)((int)DL + 0x4c) = 0; - *(undefined4 *)((int)DL + 0x54) = 0x7000000; - *(undefined4 *)((int)DL + 0x50) = 0xf5000110; - *(undefined4 *)((int)DL + 0x58) = 0xe6000000; - *(undefined4 *)((int)DL + 0x5c) = 0; - *(undefined4 *)((int)DL + 0x60) = 0xf0000000; - *(undefined4 *)((int)DL + 100) = 0x703c000; - *(undefined4 *)((int)DL + 0x68) = 0xe7000000; - *(undefined4 *)((int)DL + 0x6c) = 0; - puVar9 = (undefined4 *)((int)DL + 0x70); - } - *puVar9 = 0xfd500000; - uVar4 = osVirtualToPhysical(*(void **)((int)ptr_tbl2entry + 0x14)); - puVar9[1] = uVar4; - puVar9[2] = 0xf5500000; - puVar9[3] = 0x7000000; - puVar9[4] = 0xe6000000; - puVar9[5] = 0; - puVar9[6] = 0xf3000000; - uVar1 = *(int *)((int)ptr_tbl2entry + 8) * 4 - 1; - if (0x7fe < (int)uVar1) { - uVar1 = 0x7ff; - } - puVar9[7] = (uVar1 & 0xfff) << 0xc | 0x7000800; - puVar9[8] = 0xe7000000; - puVar9[9] = 0; - puVar9[10] = 0xf5400200; - puVar9[0xb] = (*(uint *)ptr_tbl2entry & 1) << 0x14 | 0x80200; - puVar9[0xc] = 0xf2000000; - puVar9[0xd] = (*(int *)((int)ptr_tbl2entry + 8) + -1) * 4 & 0xfffU | 0x3c000; - puVar10 = puVar9 + 0xe; - } - iVar8 = *(int *)xpos + *(int *)((int)ptr_tbl2entry + 0xc); - if (iVar8 <= ulx + lrx) { - iVar3 = *(int *)((int)ptr_tbl2entry + 4) + unk; - if (iVar3 < uly) { - iVar3 += *(int *)((int)ptr_tbl2entry + 8); - if (uly <= iVar3) { - *puVar10 = (iVar8 * 4 + text_x & 0xfffU) << 0xc | 0xe4000000 | - iVar3 * 4 + text_y & 0xfffU; - puVar10[1] = (*(int *)xpos * 4 + text_x & 0xfffU) << 0xc | - uly * 4 + text_y & 0xfffU; - puVar10[2] = 0xb4000000; - puVar10[3] = text_s << 0x10 | - ((uly - unk) - *(int *)((int)ptr_tbl2entry + 4)) * 0x20 + - text_t & 0xffff; - puVar10[4] = 0xb3000000; - puVar10[5] = 0x4000400; - puVar10 = puVar10 + 6; - } - } - else { - iVar5 = iVar3 + *(int *)((int)ptr_tbl2entry + 8); - if (lry < iVar5) { - if (iVar3 <= lry) { - *puVar10 = (iVar8 * 4 + text_x & 0xfffU) << 0xc | 0xe4000000 | - lry + text_y & 0xfffU; - puVar10[1] = (*(int *)xpos * 4 + text_x & 0xfffU) << 0xc | - (unk + *(int *)((int)ptr_tbl2entry + 4)) * 4 + text_y & - 0xfffU; - puVar10[2] = 0xb4000000; - puVar10[3] = text_s << 0x10 | text_t & 0xffff; - puVar10[4] = 0xb3000000; - puVar10[5] = 0x4000400; - puVar10 = puVar10 + 6; - } - } - else { - if (text_orientation == 0) { - *puVar10 = (iVar8 * 4 + text_x & 0xfffU) << 0xc | 0xe4000000 | - iVar5 * 4 + text_y & 0xfffU; - puVar10[1] = (*(int *)xpos * 4 + text_x & 0xfffU) << 0xc | - (unk + *(int *)((int)ptr_tbl2entry + 4)) * 4 + text_y & - 0xfffU; - puVar10[2] = 0xb4000000; - puVar10[3] = text_s << 0x10 | text_t & 0xffff; - puVar10[4] = 0xb3000000; - puVar10[5] = 0x4000400; - puVar10 = puVar10 + 6; - } - else { - *puVar10 = iVar8 * 4 + text_x & 0xfffU | 0xe5000000 | - ((unk - *(int *)((int)ptr_tbl2entry + 4)) * 4 + text_y & - 0xfffU) << 0xc; - puVar10[1] = *(int *)xpos * 4 + text_x & 0xfffU | - (((unk - *(int *)((int)ptr_tbl2entry + 4)) - - *(int *)((int)ptr_tbl2entry + 8)) * 4 + text_y & - 0xfffU) << 0xc; - puVar10[2] = 0xb4000000; - puVar10[3] = text_t << 0x10 | - (*(int *)((int)ptr_tbl2entry + 8) + -1) * 0x20 + text_s - & 0xffffU; - puVar10[4] = 0xb3000000; - puVar10[5] = 0x400fc00; - puVar10 = puVar10 + 6; - } - } - } - } - } - } - } - *(int *)xpos = *(int *)xpos + *(int *)((int)ptr_tbl2entry + 0xc); - return puVar10; -} - - - -void en_text_write_stuff(undefined4 *param_1,int *param_2,int *param_3,byte *param_4,int param_5, - int param_6,uint param_7,int param_8,int param_9,int param_10,int param_11) - -{ - byte bVar1; - int ulx; - uint *DL; - uint uVar2; - uint uVar3; - ulonglong uVar4; - int iVar5; - int iStack60; - undefined4 uStack56; - undefined4 uStack52; - undefined4 uStack48; - undefined4 uStack44; - int iStack40; - int iStack8; - - dword_80040EA8 = 1; - iStack8 = *param_3; - ulx = *param_2; - uVar4 = 0x48; - if (param_11 == 0) { - param_11 = *(int *)(param_5 + 0x88c) + *(int *)(param_5 + 0x890); - } - if ((j_text_trigger != 0) && (param_11 < 0xe)) { - param_11 = 0xe; - } - *param_1 = 0xfa000000; - param_1[1] = param_7 & 0xff000000 | (param_7 >> 0x10 & 0xff) << 0x10 | - (param_7 >> 8 & 0xff) << 8 | param_7 & 0xff; - bVar1 = *param_4; - DL = param_1 + 2; - if (bVar1 != 0) { - do { - if (bVar1 == 0x20) { - uVar4 = 0x48; - param_4 = param_4 + 1; - *param_2 = *param_2 + 5; - } - else { - if (bVar1 == 10) { - uVar4 = 0x48; - param_4 = param_4 + 1; - if (overlap_correction < 0) { - iVar5 = *param_3; -LAB_7f0adc14: - *param_3 = iVar5 + param_11; - } - else { - if (ulx != *param_2) { - iVar5 = *param_3; - goto LAB_7f0adc14; - } - *param_3 = *param_3 + overlap_correction; - } - *param_2 = ulx; - } - else { - if (bVar1 < 0x80) { - DL = construct_fontchar_microcode - (DL,(int)param_2,(int)param_3, - (void *)((uint)bVar1 * 0x18 + param_5 + -0x318), - (void *)((int)uVar4 * 0x18 + param_5 + -0x318), - (void *)param_6,ulx,iStack8,param_8,param_9,param_10); - uVar4 = (ulonglong)*param_4; - param_4 = param_4 + 1; - } - else { - uVar3 = ((uint)bVar1 & 0x7f) << 7; - uStack56 = DAT_80040f00; - uVar2 = (uint)((ulonglong)param_4[1] & 0x7f) | uVar3; - uStack52 = dword_80040F04; - uStack48 = dword_80040F08; - uStack44 = dword_80040F0C; - iStack40 = dword_80040F10; - if (((longlong)(int)uVar3 & 0x2000U) != 0) { - uStack48 = 0xf; - uStack52 = 0x10; - } - if (((ulonglong)param_4[1] & 0x7f | (longlong)(int)uVar3 & 0x1fffU) < 0x3c7) - { - iStack60 = uVar2 + 0x80; - } - else { - uVar2 = 2; - iStack60 = 0x82; - } - iStack40 = something_with_LnameX(uVar2); - DL = construct_fontchar_microcode - (DL,(int)param_2,(int)param_3,&iStack60,&iStack60, - (void *)param_6,ulx,iStack8,param_8,param_9,param_10); - param_4 = param_4 + 2; - } - } - } - bVar1 = *param_4; - } while (bVar1 != 0); - } - return; -} - - - -uint * proc_7F0ADDAC(uint *param_1,uint *param_2,int *param_3,uint *param_4,int param_5,int param_6, - int param_7,uint param_8,uint param_9,uint param_10,int param_11,int param_12, - int param_13) - -{ - uint uVar1; - short sVar6; - uint uVar2; - int iVar3; - u32 uVar4; - uint *puVar5; - int iVar7; - uint uVar8; - - param_13 = *param_3 + param_13; - *param_2 = (*param_2 - - (*(int *)(param_6 + *(int *)(param_5 + 0x10) * 0x34 + param_4[4] * 4) + text_spacing) - ) + 1; - if ((0 < (int)*param_2) && - (sVar6 = get_video2_settings_txtClipW(), (longlong)(int)*param_2 <= (longlong)sVar6)) { - sVar6 = get_video2_settings_txtClipH(); - iVar7 = param_13 + param_4[1]; - if (((longlong)iVar7 <= (longlong)sVar6) && - (((((int)*param_2 <= param_7 + param_11 && - ((longlong)iVar7 <= (longlong)(int)(param_8 + param_12))) && - (param_7 <= (int)*param_2)) && ((int)param_8 <= (int)(iVar7 + param_4[2]))))) { - if ((int)*param_4 < 0x80) { - *param_1 = 0xba000e02; - param_1[1] = 0; - param_1[2] = 0xfd900000; - param_1[3] = param_4[5]; - param_1[4] = 0xf5900000; - param_1[5] = 0x7000000; - param_1[6] = 0xe6000000; - param_1[7] = 0; - param_1[8] = 0xf3000000; - uVar1 = param_4[3] + 7 & 0xf8; - uVar2 = ((int)(uVar1 * param_4[2] + 1) >> 1) - 1; - uVar8 = 0x7ff; - if ((int)uVar2 < 0x7ff) { - uVar8 = uVar2; - } - if (false) { - uVar1 += 7; - } - iVar3 = (int)uVar1 >> 3; - iVar7 = iVar3; - if (iVar3 == 0) { - iVar7 = 1; - } - if (iVar3 == 0) { - iVar3 = 1; - } - param_1[9] = (iVar7 + 0x7ff) / iVar3 & 0xfffU | 0x7000000 | (uVar8 & 0xfff) << 0xc; - param_1[10] = 0xe7000000; - param_1[0xb] = 0; - if (iVar3 == 0) { - trap(0x1c00); - } - if ((iVar3 == -1) && (iVar7 + 0x7ff == -0x80000000)) { - trap(0x1800); - } - param_1[0xc] = ((int)((param_4[3] + 7 & 0xf8) + 7) >> 3) << 9 | 0xf5880000; - param_1[0xd] = 0; - param_1[0xe] = 0xf2000000; - puVar5 = param_1 + 0x10; - param_1[0xf] = ((param_4[3] + 7 & 0xf8) - 1 & 0x3ff) << 0xe | - (param_4[2] - 1) * 4 & 0xfff; - } - else { - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[3] = 0xc000; - param_1[2] = 0xba000e02; - puVar5 = param_1 + 4; - if (dword_80040EA8 != 0) { - dword_80040EA8 = 0; - *puVar5 = 0xfd100000; - uVar4 = osVirtualToPhysical(&dword_80040EBC); - param_1[5] = uVar4; - param_1[6] = 0xe8000000; - param_1[7] = 0; - param_1[9] = 0x7000000; - param_1[8] = 0xf5000100; - param_1[10] = 0xe6000000; - param_1[0xb] = 0; - param_1[0xc] = 0xf0000000; - param_1[0xd] = 0x703c000; - param_1[0xf] = 0; - param_1[0xe] = 0xe7000000; - param_1[0x10] = 0xfd100000; - uVar4 = osVirtualToPhysical(&DWORD_80040edc); - param_1[0x11] = uVar4; - param_1[0x12] = 0xe8000000; - param_1[0x13] = 0; - param_1[0x14] = 0xf5000110; - param_1[0x15] = 0x7000000; - param_1[0x16] = 0xe6000000; - param_1[0x17] = 0; - param_1[0x18] = 0xf0000000; - param_1[0x19] = 0x703c000; - param_1[0x1b] = 0; - param_1[0x1a] = 0xe7000000; - puVar5 = param_1 + 0x1c; - } - *puVar5 = 0xfd500000; - uVar4 = osVirtualToPhysical((void *)param_4[5]); - puVar5[1] = uVar4; - puVar5[2] = 0xf5500000; - puVar5[3] = 0x7000000; - puVar5[4] = 0xe6000000; - puVar5[5] = 0; - puVar5[6] = 0xf3000000; - uVar1 = param_4[2] * 4 - 1; - if (0x7fe < (int)uVar1) { - uVar1 = 0x7ff; - } - puVar5[7] = (uVar1 & 0xfff) << 0xc | 0x7000800; - puVar5[9] = 0; - puVar5[8] = 0xe7000000; - puVar5[10] = 0xf5400200; - puVar5[0xb] = (*param_4 & 1) << 0x14 | 0x80200; - puVar5[0xc] = 0xf2000000; - puVar5[0xd] = (param_4[2] - 1) * 4 & 0xfff | 0x3c000; - puVar5 = puVar5 + 0xe; - } - *puVar5 = 0xfa000000; - puVar5[1] = param_10 & 0xff000000 | (param_10 >> 0x10 & 0xff) << 0x10 | - (param_10 >> 8 & 0xff) << 8 | param_10 & 0xff; - puVar5 = puVar5 + 2; - iVar3 = -1; - uVar1 = *param_2; - iVar7 = -1; - while( true ) { - do { - if ((iVar3 != 0) || (iVar7 != 0)) { - puVar5 = proc_7F0AE45C(puVar5,uVar1 + iVar3,param_13 + iVar7,(int)param_4, - param_7,param_8,param_11,param_12); - uVar1 = *param_2; - } - iVar7 += 1; - } while (iVar7 != 2); - iVar3 += 1; - if (iVar3 == 2) break; - iVar7 = -1; - } - *puVar5 = 0xfa000000; - puVar5[1] = param_9 & 0xff000000 | (param_9 >> 0x10 & 0xff) << 0x10 | - (param_9 >> 8 & 0xff) << 8 | param_9 & 0xff; - param_1 = proc_7F0AE45C(puVar5 + 2,uVar1,param_13,(int)param_4,param_7,param_8,param_11, - param_12); - } - } - *param_2 = *param_2 + param_4[3]; - return param_1; -} - - - -uint * proc_7F0AE45C(uint *param_1,uint param_2,int param_3,int param_4,int param_5,uint param_6, - int param_7,int param_8) - -{ - uint uVar1; - int iVar2; - int iVar3; - - uVar1 = *(int *)(param_4 + 0xc) + param_2; - if ((int)uVar1 <= param_5 + param_7) { - iVar2 = *(int *)(param_4 + 4) + param_3; - if (iVar2 < (int)param_6) { - iVar2 += *(int *)(param_4 + 8); - if ((int)param_6 <= iVar2) { - *param_1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | iVar2 * 4 & 0xfffU; - param_1[1] = (param_2 & 0x3ff) << 0xe | (param_6 & 0x3ff) << 2; - param_1[2] = 0xb4000000; - param_1[3] = ((param_6 - *(int *)(param_4 + 4)) - param_3 & 0x7ff) << 5; - param_1[4] = 0xb3000000; - param_1[5] = 0x4000400; - param_1 = param_1 + 6; - } - } - else { - param_8 = param_6 + param_8; - iVar3 = iVar2 + *(int *)(param_4 + 8); - if (iVar3 <= param_8) { - if (text_orientation != 0) { - *param_1 = (param_3 - *(int *)(param_4 + 4) & 0x3ffU) << 0xe | 0xe5000000 | - uVar1 * 4 & 0xfff; - param_1[1] = ((param_3 - *(int *)(param_4 + 4)) - *(int *)(param_4 + 8) & 0x3ffU - ) << 0xe | (param_2 & 0x3ff) << 2; - param_1[2] = 0xb4000000; - param_1[3] = (*(int *)(param_4 + 8) - 1U & 0x7ff) << 5; - param_1[4] = 0xb3000000; - param_1[5] = 0x400fc00; - return param_1 + 6; - } - *param_1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | iVar3 * 4 & 0xfffU; - param_1[1] = (param_2 & 0x3ff) << 0xe | - (param_3 + *(int *)(param_4 + 4)) * 4 & 0xfffU; - param_1[2] = 0xb4000000; - param_1[3] = 0; - param_1[4] = 0xb3000000; - param_1[5] = 0x4000400; - return param_1 + 6; - } - if (iVar2 <= param_8) { - *param_1 = (uVar1 & 0x3ff) << 0xe | 0xe4000000 | param_8 * 4 & 0xfffU; - param_1[1] = (param_2 & 0x3ff) << 0xe | - (param_3 + *(int *)(param_4 + 4)) * 4 & 0xfffU; - param_1[2] = 0xb4000000; - param_1[3] = 0; - param_1[4] = 0xb3000000; - param_1[5] = 0x4000400; - return param_1 + 6; - } - } - } - return param_1; -} - - - -void jp_text_stuff(uint *param_1,uint *param_2,uint *param_3,byte *param_4,int param_5,int param_6, - uint param_7,uint param_8,int param_9,int param_10,int param_11,int param_12) - -{ - byte bVar1; - uint uVar2; - uint uVar3; - uint uVar4; - ulonglong uVar5; - uint uStack36; - undefined4 uStack32; - undefined4 uStack28; - undefined4 uStack24; - undefined4 uStack20; - int iStack16; - uint uStack8; - - dword_80040EA8 = 1; - uStack8 = *param_3; - uVar2 = *param_2; - uVar5 = 0x48; - if (param_12 == 0) { - param_12 = *(int *)(param_5 + 0x88c) + *(int *)(param_5 + 0x890); - } - if ((j_text_trigger != 0) && (param_12 < 0xe)) { - param_12 = 0xe; - } - bVar1 = *param_4; - while (bVar1 != 0) { - if (bVar1 == 0x20) { - uVar5 = 0x48; - param_4 = param_4 + 1; - *param_2 = *param_2 + 5; - } - else { - if (bVar1 == 10) { - *param_2 = uVar2; - uVar5 = 0x48; - param_4 = param_4 + 1; - *param_3 = *param_3 + param_12; - } - else { - if (bVar1 < 0x80) { - param_1 = proc_7F0ADDAC(param_1,param_2,(int *)param_3, - (uint *)((uint)bVar1 * 0x18 + param_5 + -0x318), - (int)uVar5 * 0x18 + param_5 + -0x318,param_6,uVar2, - uStack8,param_7,param_8,param_9,param_10,param_11); - uVar5 = (ulonglong)*param_4; - param_4 = param_4 + 1; - } - else { - uVar4 = ((uint)bVar1 & 0x7f) << 7; - uVar3 = (uint)((ulonglong)param_4[1] & 0x7f) | uVar4; - uStack28 = dword_80040F1C; - uStack24 = dword_80040F20; - if (((longlong)(int)uVar4 & 0x2000U) != 0) { - uStack24 = 0xf; - uStack28 = 0x10; - } - if (((ulonglong)param_4[1] & 0x7f | (longlong)(int)uVar4 & 0x1fffU) < 0x3c7) { - uStack36 = uVar3 + 0x80; - } - else { - uVar3 = 2; - uStack36 = 0x82; - } - uStack32 = dword_80040F18; - uStack20 = dword_80040F24; - iStack16 = dword_80040F28; - iStack16 = something_with_LnameX(uVar3); - param_1 = proc_7F0ADDAC(param_1,param_2,(int *)param_3,&uStack36,(int)&uStack36, - param_6,uVar2,uStack8,param_7,param_8,param_9,param_10, - param_11); - param_4 = param_4 + 2; - } - } - } - bVar1 = *param_4; - } - return; -} - - - -void proc_7F0AE98C(int *param_1,int *param_2,byte *param_3,int param_4,int *param_5,int param_6) - -{ - byte bVar1; - ulonglong uVar2; - byte *pbVar3; - int iVar4; - int iVar5; - - *param_1 = 0; - uVar2 = 0x48; - iVar4 = 0; - *param_2 = 0; - if (param_6 == 0) { - param_6 = *(int *)(param_4 + 0x890) + *(int *)(param_4 + 0x88c); - } - if (j_text_trigger != 0) { - if (0xd < param_6) { - bVar1 = *param_3; - goto joined_r0x7f0ae9f4; - } - param_6 = 0xe; - } - bVar1 = *param_3; -joined_r0x7f0ae9f4: - while (bVar1 != 0) { - if (bVar1 == 0x20) { - uVar2 = 0x48; - if (param_3[1] != 10) { - *param_2 = *param_2 + 5; - } - pbVar3 = param_3 + 1; - } - else { - if (bVar1 == 10) { - iVar5 = *param_2; - if (iVar4 < iVar5) { - *param_2 = 0; - } - else { - *param_2 = 0; - iVar5 = iVar4; - } - pbVar3 = param_3 + 1; - *param_1 = *param_1 + param_6; - iVar4 = iVar5; - } - else { - if (bVar1 < 0x80) { - pbVar3 = param_3 + 1; - iVar5 = param_4 + (uint)bVar1 * 0x18; - *param_2 = (*param_2 + *(int *)(iVar5 + -0x30c)) - - (param_5[*(int *)(iVar5 + -0x308) + - *(int *)(param_4 + (int)uVar2 * 0x18 + -0x308) * 0xd] + - text_spacing + -1); - uVar2 = (ulonglong)*param_3; - } - else { - if (bVar1 < 0xc0) { - pbVar3 = param_3 + 2; - *param_2 = (*param_2 - (*param_5 + text_spacing + -1)) + 0xb; - } - else { - pbVar3 = param_3 + 2; - *param_2 = (*param_2 - (*param_5 + text_spacing + -1)) + 0xf; - } - } - } - } - bVar1 = *pbVar3; - param_3 = pbVar3; - } - if (*param_2 < iVar4) { - *param_2 = iVar4; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0aedec) overlaps instruction at (ram,0x7f0aede8) -// - -void find_width_word_in_string - (int max_width,byte *text,byte *textbuffer,int secondfonttable,int *firstfonttable) - -{ - byte bVar1; - bool bVar2; - byte *pbVar3; - byte *pbVar4; - int iVar5; - uint uVar6; - byte *pbVar7; - uint uVar8; - byte abStack68 [44]; - int iStack24; - int iStack20; - int aiStack16 [3]; - int iStack4; - - iStack4 = 0; - iStack20 = 0; - iStack24 = 1; - do { - aiStack16[0] = 0; - uVar8 = 0; - if (0x20 < *text) { - pbVar3 = abStack68; - abStack68[0] = *text; - uVar6 = uVar8; - while( true ) { - uVar8 = uVar6 + 1; - pbVar7 = pbVar3 + 1; - pbVar4 = text + 1; - if (0x7f < *pbVar3) { - uVar8 = uVar6 + 2; - pbVar3[1] = text[1]; - pbVar7 = pbVar3 + 2; - pbVar4 = text + 2; - } - text = pbVar4; - pbVar3 = pbVar7; - if (*text < 0x21) break; - *pbVar3 = *text; - uVar6 = uVar8; - } - } - abStack68[uVar8] = 0; - proc_7F0AE98C(&iStack20,aiStack16,abStack68,secondfonttable,firstfonttable,0); - iStack4 += aiStack16[0]; - bVar2 = max_width < iStack4; - bVar1 = *text; - if (bVar1 == 10) { - iVar5 = 0; - if (bVar2) { - *textbuffer = 10; - textbuffer = textbuffer + 1; - if (0 < text_wordwrap) { - *textbuffer = 0x20; - while( true ) { - iVar5 += 1; - textbuffer = textbuffer + 1; - if (text_wordwrap <= iVar5) break; - *textbuffer = 0x20; - } - } - } - uVar6 = 0; - iStack4 = 0; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = textbuffer; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - textbuffer = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = textbuffer; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0aed54; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = textbuffer; - do { - pbVar4 = pbVar3 + 4; - textbuffer = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = textbuffer; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0aed54: - *textbuffer = 10; - textbuffer = textbuffer + 1; - } - else { - if (bVar1 == 0x20) { - iVar5 = 0; - if (bVar2) { - *textbuffer = 10; - textbuffer = textbuffer + 1; - if (0 < text_wordwrap) { - *textbuffer = 0x20; - while( true ) { - iVar5 += 1; - textbuffer = textbuffer + 1; - if (text_wordwrap <= iVar5) break; - *textbuffer = 0x20; - } - } - iStack4 = text_wordwrap * 5 + aiStack16[0]; - } - uVar6 = 0; - iStack4 += 5; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = textbuffer; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - textbuffer = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = textbuffer; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0aee24; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = textbuffer; - do { - pbVar4 = pbVar3 + 4; - textbuffer = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = textbuffer; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0aee24: - *textbuffer = 0x20; - textbuffer = textbuffer + 1; - } - else { - iVar5 = 0; - if (bVar1 == 0) { - iStack24 = 0; - if (bVar2) { - *textbuffer = 10; - textbuffer = textbuffer + 1; - if (0 < text_wordwrap) { - *textbuffer = 0x20; - while( true ) { - iVar5 += 1; - textbuffer = textbuffer + 1; - if (text_wordwrap <= iVar5) break; - *textbuffer = 0x20; - } - } - } - uVar6 = 0; - if (0 < (int)uVar8) { - pbVar3 = abStack68; - pbVar7 = textbuffer; - if ((uVar8 & 3) != 0) { - do { - uVar6 += 1; - textbuffer = pbVar7 + 1; - *pbVar7 = *pbVar3; - pbVar3 = pbVar3 + 1; - pbVar7 = textbuffer; - } while ((uVar8 & 3) != uVar6); - if (uVar6 == uVar8) goto LAB_7f0aeedc; - } - pbVar3 = abStack68 + uVar6; - pbVar7 = textbuffer; - do { - pbVar4 = pbVar3 + 4; - textbuffer = pbVar7 + 4; - *pbVar7 = *pbVar3; - pbVar7[1] = pbVar3[1]; - pbVar7[2] = pbVar3[2]; - pbVar7[3] = pbVar3[3]; - pbVar3 = pbVar4; - pbVar7 = textbuffer; - } while (pbVar4 != abStack68 + uVar8); - } -LAB_7f0aeedc: - *textbuffer = 0; - } - } - } - text = text + 1; - if (iStack24 != 1) { - return; - } - } while( true ); -} - - - -void proc_7F0AEF0C(u32 param_1,u32 param_2,u32 param_3,u32 param_4) - -{ - return; -} - - - -u32 sub_GAME_7F0AEF20(u32 param_1,u32 param_2) - -{ - return param_1; -} - - - -f32 proc_7F0AEF30(f32 param_1) - -{ - f32 in_f0; - - return in_f0; -} - - - -char * proc_7F0AEF3C(ushort *param_1) - -{ - byte bVar1; - int iVar2; - int iVar3; - - iVar2 = dword_80040FAC * 9; - bVar1 = *(byte *)(param_1 + 1); - dword_80040FAC = dword_80040FAC + 1 & 7; - if ((bVar1 & 7) == 0) { - iVar3 = 0; - } - else { - iVar3 = ((uint)bVar1 & 7) + 0x30; - } - sprintf(&dword_80040F64 + iVar2,"%c%d%c%c",((int)(uint)*param_1 >> 0xf) + 0x70, - (ulonglong)*param_1 & 0x7fff,((int)(uint)bVar1 >> 3) + 0x61,iVar3); - return (char *)(&dword_80040F64 + iVar2); -} - - - -char * proc_7F0AEFE0(ushort *param_1) - -{ - char *pcVar1; - - pcVar1 = proc_7F0AEF3C(param_1); - return pcVar1; -} - - - -undefined8 proc_7F0AF000(void) - -{ - return 0; -} - - - -void something_stan_c_debug_related(void) - -{ - get_ptr_debug_notice_list_entry(&stan_c_debug_notice_list_entry,"stan_c_debug"); - return; -} - - - -void proc_7F0AF038(void) - -{ - byte bVar1; - undefined4 *puVar2; - int iVar3; - int *piVar4; - ulonglong uVar5; - ulonglong uVar6; - ulonglong uVar7; - uint uVar8; - short sVar9; - int *piVar10; - int iVar11; - int *piVar12; - short *psVar13; - short sVar14; - - DAT_8007b9dc = 0; - DAT_8007b128 = 0; - DAT_8007b12c = 0; - uVar6 = 0xff; - DAT_8007b130 = 0; - puVar2 = &DAT_8007b134; - do { - puVar2 = puVar2 + 4; - *puVar2 = 0; - puVar2[1] = 0; - puVar2[2] = 0; - puVar2[3] = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)&DAT_8007b354); - piVar4 = *(int **)(clippingfile + 4); - if (*piVar4 != 0) { - bVar1 = *(byte *)((int)piVar4 + 3); - uVar5 = 0xff; - while( true ) { - uVar7 = (ulonglong)bVar1; - iVar3 = 0; - if (uVar5 == uVar7) { - sVar9 = *(short *)((int)piVar4 + 6); - uVar7 = uVar5; - } - else { - if ((longlong)DAT_8007b9dc <= (longlong)uVar7) { - DAT_8007b9dc = (uint)bVar1 + 1; - } - uVar8 = (uint)bVar1; - *(int **)(&DAT_8007b128 + bVar1) = piVar4; - (&DAT_8007b35c)[uVar8 * 6] = 0x7fff; - (&DAT_8007b362)[uVar8 * 6] = 0x8000; - (&DAT_8007b35a)[uVar8 * 6] = (&DAT_8007b35c)[uVar8 * 6]; - (&DAT_8007b358)[uVar8 * 6] = (&DAT_8007b35c)[uVar8 * 6]; - (&DAT_8007b360)[uVar8 * 6] = (&DAT_8007b362)[uVar8 * 6]; - (&DAT_8007b35e)[uVar8 * 6] = (&DAT_8007b362)[uVar8 * 6]; - sVar9 = *(short *)((int)piVar4 + 6); - uVar6 = uVar7; - } - uVar8 = (int)sVar9 >> 0xc & 0xf; - if (uVar8 != 0) { - piVar10 = piVar4; - do { - iVar11 = 0; - psVar13 = &DAT_8007b358 + (int)uVar6 * 6; - piVar12 = piVar10; - do { - sVar9 = *(short *)(piVar12 + 2); - iVar11 += 2; - if (sVar9 < *psVar13) { - *psVar13 = sVar9; - sVar9 = *(short *)(piVar12 + 2); - sVar14 = psVar13[3]; - } - else { - sVar14 = psVar13[3]; - } - piVar12 = (int *)((int)piVar12 + 2); - if (sVar14 < sVar9) { - psVar13[3] = sVar9; - } - psVar13 = psVar13 + 1; - } while (iVar11 != 6); - iVar3 += 1; - piVar10 = piVar10 + 2; - uVar8 = (int)*(short *)((int)piVar4 + 6) >> 0xc & 0xf; - } while (iVar3 < (int)uVar8); - } - piVar4 = (int *)((uint)(byte)list_of_tilesizes[uVar8] + (int)piVar4); - if (*piVar4 == 0) break; - bVar1 = *(byte *)((int)piVar4 + 3); - uVar5 = uVar7; - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0af4c8) overlaps instruction at (ram,0x7f0af4c4) -// - -int * proc_7F0AF20C(float *param_1,byte *param_2,float *param_3) - -{ - byte bVar1; - int *piVar2; - byte *pbVar4; - ulonglong uVar3; - longlong lVar5; - int iVar6; - int *piVar7; - ulonglong uVar8; - int iVar9; - float fVar10; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float fVar11; - float in_f14; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float fVar12; - int **ppiStack88; - float afStack76 [2]; - float fStack68; - int iStack64; - int *piStack44; - int *apiStack40 [3]; - short sStack28; - short sStack26; - short sStack24; - float fStack16; - float fStack12; - float fStack8; - - piStack44 = NULL; - fStack16 = *param_1 * flt_80040F44; - fStack12 = param_1[1] * flt_80040F44; - fStack8 = param_1[2] * flt_80040F44; - if (flt_800585CC < fStack12) { - fStack12 = flt_800585CC; - } - uVar8 = 0; - fVar11 = flt_800585D4; - if (flt_800585D4 <= fStack12) { - fVar11 = fStack12; - } - lVar5 = (longlong)DAT_8007b9dc; - sStack24 = (short)(int)fStack8; - sStack26 = (short)(int)fVar11; - sStack28 = (short)(int)fStack16; - fVar12 = flt_800585D0; - if (0 < lVar5) { - ppiStack88 = (int **)&DAT_8007b128; - fStack12 = fVar11; - do { - iVar9 = (int)uVar8; - piVar7 = *ppiStack88; - if (((((piVar7 != NULL) && ((short)(&DAT_8007b358)[iVar9 * 6] <= sStack28)) && - (sStack28 <= (short)(&DAT_8007b35e)[iVar9 * 6])) && - (((short)(&DAT_8007b35c)[iVar9 * 6] <= sStack24 && - (sStack24 <= (short)(&DAT_8007b362)[iVar9 * 6])))) && - ((short)(&DAT_8007b35a)[iVar9 * 6] <= sStack26)) { - if (param_2 == NULL) { - iVar6 = *piVar7; -LAB_7f0af41c: - if (iVar6 != 0) { - bVar1 = *(byte *)((int)piVar7 + 3); - while (uVar8 == (ulonglong)bVar1) { - lVar5 = 0; - do { - fVar10 = proc_7F0AFE70((int)piVar7,lVar5,fVar11,in_f14); - lVar5 = (longlong)((int)lVar5 + 1); - fVar11 = extraout_f12; - in_f14 = extraout_f14; - if (fVar10 < -2.00000000) { - iVar6 = (int)*(short *)((int)piVar7 + 6); - goto LAB_7f0af508; - } - if (fVar10 < 2.00000000) { - iStack64 = 1; - } - } while (lVar5 != 3); - uVar3 = proc_7F0AF760((int)piVar7); - if (uVar3 == 0) { - if (iStack64 == 0) { -code_r0x7f0af4cc: - fVar10 = (float)proc_7F0B2970(); - fVar11 = extraout_f12_03; - in_f14 = extraout_f14_03; - if (param_1[1] < fVar10) { - iVar6 = (int)*(short *)((int)piVar7 + 6); - } - else { - piVar2 = piVar7; - if (fVar12 < fVar10) goto LAB_7f0af504; - iVar6 = (int)*(short *)((int)piVar7 + 6); - } - } - else { - proc_7F0AF924((int)piVar7,afStack76); - apiStack40[0] = piVar7; - proc_7F0B0BE4((int *)apiStack40,extraout_f12_01,extraout_f14_01, - afStack76[0],fStack68); - fVar11 = extraout_f12_02; - in_f14 = extraout_f14_02; - fVar10 = fVar12; - piVar2 = piStack44; - if ((uVar3 != 0) && (apiStack40[0] == piVar7)) - goto code_r0x7f0af4cc; -LAB_7f0af504: - piStack44 = piVar2; - iVar6 = (int)*(short *)((int)piVar7 + 6); - fVar12 = fVar10; - } - } - else { - iVar6 = (int)*(short *)((int)piVar7 + 6); - fVar11 = extraout_f12_00; - in_f14 = extraout_f14_00; - } -LAB_7f0af508: - piVar7 = (int *)((uint)(byte)list_of_tilesizes[iVar6 >> 0xc & 0xf] + - (int)piVar7); - if (*piVar7 == 0) break; - bVar1 = *(byte *)((int)piVar7 + 3); - } - } - lVar5 = (longlong)DAT_8007b9dc; - } - else { - iVar6 = 0; - if (*param_2 != 0xff) { - bVar1 = *param_2; - pbVar4 = param_2; - do { - if (uVar8 == (ulonglong)bVar1) { - iVar6 = *piVar7; - goto LAB_7f0af41c; - } - bVar1 = pbVar4[1]; - iVar6 += 1; - pbVar4 = pbVar4 + 1; - } while ((bVar1 != 0xff) && (iVar6 != 4)); - } - } - } - uVar8 = SEXT48(iVar9 + 1); - ppiStack88 = ppiStack88 + 1; - } while ((longlong)uVar8 < lVar5); - } - if ((piStack44 != NULL) && (param_3 != NULL)) { - *param_3 = fVar12; - } - return piStack44; -} - - - -void proc_7F0AF5B8(int param_1) - -{ - byte *pbVar1; - - dword_80040FB0 = 1; - base_ptr_connection_vals = *(int *)(param_1 + 4) + -0x80; - clippingfile = param_1; - pbVar1 = check_token(1,(byte *)"-stanlinelog"); - if (pbVar1 != NULL) { - do_stanlinelog = 1; - } - proc_7F0AF038(); - proc_7F0B2950(1.00000000); - return; -} - - - -void removed_7F0AF630(int param_1) - -{ - return; -} - - - -int proc_7F0AF638(ushort *param_1,uint param_2,ushort **param_3) - -{ - ushort *puVar1; - bool bVar2; - ulonglong uVar3; - ushort *puVar4; - ushort *puVar5; - uint uVar6; - int iVar7; - int iVar8; - ushort **ppuVar9; - int iVar10; - - iVar10 = 0; - *param_3 = param_1; - iVar8 = 1; - ppuVar9 = param_3 + 1; - puVar1 = *param_3; - while( true ) { - iVar8 += -1; - ppuVar9 = ppuVar9 + -1; - iVar7 = 0; - if ((param_2 & 0xff) != (int)(uint)*puVar1 >> 0xf) { - *puVar1 = *puVar1 ^ 0x8000; - uVar3 = proc_7F0AF760((int)puVar1); - if (uVar3 == 0) { - iVar10 += 1; - } - uVar6 = (int)(short)puVar1[3] >> 0xc & 0xf; - puVar5 = puVar1; - if (uVar6 != 0) { - do { - iVar7 += 1; - if ((int)(uint)puVar5[7] >> 4 == 0) { - bVar2 = iVar7 < (int)uVar6; - } - else { - puVar4 = (ushort *)((uint)puVar5[7] * 8 + base_ptr_connection_vals); - if ((param_2 & 0xff) == (int)(uint)*puVar4 >> 0xf) { - bVar2 = iVar7 < (int)uVar6; - } - else { - *ppuVar9 = puVar4; - iVar8 += 1; - ppuVar9 = ppuVar9 + 1; - uVar6 = (int)(short)puVar1[3] >> 0xc & 0xf; - bVar2 = iVar7 < (int)uVar6; - } - } - puVar5 = puVar5 + 4; - } while (bVar2); - } - } - if (iVar8 == 0) break; - puVar1 = ppuVar9[-1]; - } - return iVar10; -} - - - -ulonglong proc_7F0AF760(int param_1) - -{ - short sVar1; - int iVar2; - int iVar3; - - sVar1 = *(short *)(param_1 + 6); - iVar3 = param_1 + ((int)sVar1 >> 8 & 0xfU) * 8; - iVar2 = param_1 + ((int)sVar1 >> 4 & 0xfU) * 8; - param_1 += ((int)sVar1 & 0xfU) * 8; - return (ulonglong) - (((int)*(short *)(iVar2 + 0xc) - (int)*(short *)(iVar3 + 0xc)) * - ((int)*(short *)(param_1 + 8) - (int)*(short *)(iVar3 + 8)) - - ((int)*(short *)(param_1 + 0xc) - (int)*(short *)(iVar3 + 0xc)) * - ((int)*(short *)(iVar2 + 8) - (int)*(short *)(iVar3 + 8)) == 0); -} - - - -int * proc_7F0AF808(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6) - -{ - ulonglong uVar1; - int iVar3; - longlong lVar2; - int *piVar4; - float fVar5; - f32 extraout_f12; - float extraout_f12_00; - f32 extraout_f14; - float extraout_f14_00; - int *apiStack8 [2]; - - piVar4 = *(int **)(clippingfile + 4); - if (*piVar4 != 0) { - do { - apiStack8[0] = piVar4; - uVar1 = proc_7F0AF760((int)piVar4); - if (uVar1 == 0) { - lVar2._4_4_ = proc_7F0B036C((u32)piVar4,extraout_f12,extraout_f14); - lVar2 = (longlong)(int)lVar2._4_4_; - if (lVar2 == 0) { - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - else { - proc_7F0B20D0((int *)apiStack8,extraout_f12_00,extraout_f14_00,param_1); - if (lVar2 == 0) { - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - else { - if (piVar4 == apiStack8[0]) { - fVar5 = (float)proc_7F0B2970(); - if (fVar5 < param_2) { - return piVar4; - } - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - else { - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - } - } - } - else { - iVar3 = (int)*(short *)((int)piVar4 + 6); - } - piVar4 = (int *)((uint)(byte)list_of_tilesizes[iVar3 >> 0xc & 0xf] + (int)piVar4); - } while (*piVar4 != 0); - } - return NULL; -} - - - -void proc_7F0AF924(int param_1,float *param_2) - -{ - short sVar1; - int iVar2; - int iVar3; - - sVar1 = *(short *)(param_1 + 6); - iVar3 = param_1 + ((int)sVar1 >> 4 & 0xfU) * 8; - iVar2 = param_1 + ((int)sVar1 >> 8 & 0xfU) * 8; - param_1 += ((int)sVar1 & 0xfU) * 8; - *param_2 = (((float)(int)*(short *)(param_1 + 8) + - (float)(int)*(short *)(iVar2 + 8) + (float)(int)*(short *)(iVar3 + 8)) / 3.00000000) - * flt_80040F48; - param_2[1] = (((float)(int)*(short *)(param_1 + 10) + - (float)(int)*(short *)(iVar2 + 10) + (float)(int)*(short *)(iVar3 + 10)) / - 3.00000000) * flt_80040F48; - param_2[2] = (((float)(int)*(short *)(param_1 + 0xc) + - (float)(int)*(short *)(iVar2 + 0xc) + (float)(int)*(short *)(iVar3 + 0xc)) / - 3.00000000) * flt_80040F48; - return; -} - - - -void proc_7F0AFA1C(int param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - float fVar2; - int iVar3; - float fStack12; - float fStack8; - float fStack4; - - iVar3 = param_1 + ((int)*(short *)(param_1 + 6) >> ((int)param_2 * -4 + 8U & 0x1f) & 0xfU) * 8; - *param_3 = (float)(int)*(short *)(iVar3 + 8) * flt_80040F48; - param_3[1] = (float)(int)*(short *)(iVar3 + 10) * flt_80040F48; - param_3[2] = (float)(int)*(short *)(iVar3 + 0xc) * flt_80040F48; - proc_7F0AF924(param_1,&fStack12); - fVar2 = flt_800585DC; - fVar1 = flt_800585D8; - *param_3 = fStack12 * flt_800585D8 + flt_800585DC * *param_3; - param_3[1] = fStack8 * fVar1 + fVar2 * param_3[1]; - param_3[2] = fStack4 * fVar1 + fVar2 * param_3[2]; - return; -} - - - -float proc_7F0AFB1C(float *param_1,float *param_2) - -{ - return (param_2[2] - param_1[2]) * (param_2[2] - param_1[2]) + - (*param_2 - *param_1) * (*param_2 - *param_1) + - (param_2[1] - param_1[1]) * (param_2[1] - param_1[1]); -} - - - -int * proc_7F0AFB78(float *param_1,undefined4 *param_2,float *param_3,float param_4) - -{ - ushort uVar1; - ulonglong uVar2; - longlong lVar3; - int *piVar4; - float fVar5; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float extraout_f14_00; - float fVar6; - float fVar7; - float fStack48; - undefined4 uStack44; - float fStack40; - float fStack36; - undefined4 uStack32; - float fStack28; - int *piStack16; - int *apiStack12 [3]; - - piStack16 = NULL; - fStack36 = *param_1; - uStack32 = *param_2; - fStack28 = *param_3; - fVar7 = 4294967296.00000000; - piVar4 = *(int **)(clippingfile + 4); - if (*piVar4 != 0) { - uVar1 = *(ushort *)piVar4; - while( true ) { - if ((int)(uint)uVar1 >> 0xf == 1) { - uVar1 = *(ushort *)((int)piVar4 + 6); - } - else { - uVar2 = proc_7F0AF760((int)piVar4); - lVar3 = 0; - if (uVar2 == 0) { - do { - if (lVar3 == 3) { - proc_7F0AF924((int)piVar4,&fStack48); - fVar5 = extraout_f12; - fVar6 = extraout_f14; - } - else { - proc_7F0AFA1C((int)piVar4,lVar3,&fStack48); - fVar5 = extraout_f12_00; - fVar6 = extraout_f14_00; - } - apiStack12[0] = piVar4; - proc_7F0B20D0((int *)apiStack12,fVar5,fVar6,fStack48); - if (((longlong)uVar2 < 0) && - (fVar5 = proc_7F0AFB1C(&fStack48,&fStack36), fVar5 < fVar7)) { - *param_1 = fStack48; - *param_2 = uStack44; - *param_3 = fStack40; - fVar7 = fVar5; - piStack16 = piVar4; - } - lVar3 = (longlong)((int)lVar3 + 1); - } while (lVar3 != 4); - } - uVar1 = *(ushort *)((int)piVar4 + 6); - } - piVar4 = (int *)((uint)(byte)list_of_tilesizes[(int)(short)uVar1 >> 0xc & 0xf] + - (int)piVar4); - if (*piVar4 == 0) break; - uVar1 = *(ushort *)piVar4; - } - } - return piStack16; -} - - - -float proc_7F0AFD1C(int param_1,int param_2,float param_3,float param_4) - -{ - int iVar1; - float in_a2_lo; - float in_a3_lo; - uint uVar2; - float fVar3; - float fVar4; - float fVar5; - - uVar2 = (int)*(short *)(param_1 + 6) >> 0xc & 0xf; - iVar1 = param_1 + ((param_2 + 1) % uVar2) * 8; - param_1 += param_2 * 8; - fVar4 = (float)((int)*(short *)(iVar1 + 8) - (int)*(short *)(param_1 + 8)); - if (uVar2 == 0) { - trap(0x1c00); - } - if ((uVar2 == 0xffffffff) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar5 = (float)((int)*(short *)(iVar1 + 0xc) - (int)*(short *)(param_1 + 0xc)); - fVar3 = sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (fVar3 == 0.00000000) { - fVar4 = in_a2_lo - (float)(int)*(short *)(iVar1 + 8); - fVar3 = in_a3_lo - (float)(int)*(short *)(iVar1 + 0xc); - fVar3 = sqrtf(fVar4 * fVar4 + fVar3 * fVar3); - } - else { - fVar3 = ((in_a3_lo - (float)(int)*(short *)(param_1 + 0xc)) * -fVar4 + - fVar5 * (in_a2_lo - (float)(int)*(short *)(param_1 + 8))) / fVar3; - } - return fVar3; -} - - - -float proc_7F0AFE70(int param_1,longlong param_2,float param_3,float param_4) - -{ - int iVar1; - float in_a2_lo; - int iVar2; - float in_a3_lo; - float fVar3; - float fVar4; - float fVar5; - - if (param_2 == 2) { - iVar1 = 0; - } - else { - iVar1 = (int)param_2 + 1; - } - iVar2 = param_1 + ((int)*(short *)(param_1 + 6) >> ((int)param_2 * -4 + 8U & 0x1f) & 0xfU) * 8; - param_1 += ((int)*(short *)(param_1 + 6) >> (iVar1 * -4 + 8U & 0x1f) & 0xfU) * 8; - fVar4 = (float)((int)*(short *)(param_1 + 8) - (int)*(short *)(iVar2 + 8)); - fVar5 = (float)((int)*(short *)(param_1 + 0xc) - (int)*(short *)(iVar2 + 0xc)); - fVar3 = sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (fVar3 == 0.00000000) { - fVar3 = in_a2_lo - (float)(int)*(short *)(param_1 + 8); - fVar4 = in_a3_lo - (float)(int)*(short *)(param_1 + 0xc); - fVar3 = sqrtf(fVar3 * fVar3 + fVar4 * fVar4); - } - else { - fVar3 = ((in_a3_lo - (float)(int)*(short *)(iVar2 + 0xc)) * -fVar4 + - fVar5 * (in_a2_lo - (float)(int)*(short *)(iVar2 + 8))) / fVar3; - } - return fVar3; -} - - - -undefined proc_7F0AFFCC(int param_1,int param_2,float param_3,float param_4) - -{ - undefined in_v0_lo; - float in_a2_lo; - float in_a3_lo; - - proc_7F0AFD1C(param_1,param_2,in_a2_lo,in_a3_lo); - return in_v0_lo; -} - - - -undefined proc_7F0B0018(int param_1,longlong param_2,float param_3,float param_4) - -{ - undefined in_v0_lo; - float in_a2_lo; - float in_a3_lo; - - proc_7F0AFE70(param_1,param_2,in_a2_lo,in_a3_lo); - return in_v0_lo; -} - - - -void proc_7F0B0064(int param_1,int param_2,float param_3,float param_4) - -{ - float in_a2_lo; - float in_a3_lo; - float fVar1; - float fVar2; - - param_1 += param_2 * 8; - fVar2 = in_a3_lo - (float)(int)*(short *)(param_1 + 0xc); - fVar1 = in_a2_lo - (float)(int)*(short *)(param_1 + 8); - sqrtf(fVar1 * fVar1 + fVar2 * fVar2); - return; -} - - - -float proc_7F0B00C4(int param_1,int param_2,float param_3,float param_4) - -{ - float in_a2_lo; - float in_a3_lo; - float fVar1; - float fVar2; - - param_1 += param_2 * 8; - fVar1 = in_a2_lo * flt_80040F44 - (float)(int)*(short *)(param_1 + 8); - fVar2 = in_a3_lo * flt_80040F44 - (float)(int)*(short *)(param_1 + 0xc); - fVar1 = sqrtf(fVar1 * fVar1 + fVar2 * fVar2); - return fVar1 * flt_80040F48; -} - - - -float proc_7F0B0140(int param_1,int param_2,float param_3,float param_4) - -{ - float in_a2_lo; - float in_a3_lo; - - param_1 += param_2 * 8; - return ((float)(int)*(short *)(param_1 + 0xc) * in_a3_lo * flt_80040F44 + - in_a2_lo * flt_80040F44 * (float)(int)*(short *)(param_1 + 8)) * flt_80040F48; -} - - - -ulonglong proc_7F0B0198(int param_1,int param_2,float param_3,float param_4) - -{ - int iVar2; - ulonglong uVar1; - float in_a2_lo; - float in_a3_lo; - uint uVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - uVar3 = (int)*(short *)(param_1 + 6) >> 0xc & 0xf; - iVar2 = param_1 + param_2 * 8; - param_1 += ((param_2 + 1) % uVar3) * 8; - fVar4 = (float)(int)*(short *)(iVar2 + 8); - fVar5 = (float)(int)*(short *)(iVar2 + 0xc); - if (uVar3 == 0) { - trap(0x1c00); - } - if ((uVar3 == 0xffffffff) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar7 = (float)(int)*(short *)(param_1 + 8) - fVar4; - fVar8 = (float)(int)*(short *)(param_1 + 0xc) - fVar5; - fVar6 = fVar7 * fVar7 + fVar8 * fVar8; - fVar4 = (in_a2_lo - fVar4) * fVar7 + (in_a3_lo - fVar5) * fVar8; - if ((((fVar4 <= fVar6) || (uVar1 = (ulonglong)(fVar4 < 0.00000000), fVar4 >= 0.00000000)) && - (uVar1 = (ulonglong)(0.00000000 < fVar4), 0.00000000 < fVar4)) && (uVar1 = 0, fVar4 < fVar6) - ) { - uVar1 = 1; - } - return uVar1; -} - - - -undefined8 proc_7F0B02D8(void) - -{ - int in_a0_lo; - longlong lVar1; - float fVar2; - float in_f12; - float extraout_f12; - float in_f14; - float extraout_f14; - - lVar1 = 0; - do { - fVar2 = proc_7F0AFE70(in_a0_lo,lVar1,in_f12,in_f14); - lVar1 = (longlong)((int)lVar1 + 1); - if (fVar2 < 0.00000000) { - return 0; - } - in_f12 = extraout_f12; - in_f14 = extraout_f14; - } while (lVar1 != 3); - return 1; -} - - - -u32 proc_7F0B036C(u32 param_1,f32 param_2,f32 param_3) - -{ - longlong lVar1; - float in_f0; - float extraout_f12; - float extraout_f14; - - lVar1 = 0; - do { - proc_7F0B0018(param_1,lVar1,(float)param_2,(float)param_3); - lVar1 = (longlong)((int)lVar1 + 1); - if (in_f0 < 0.00000000) { - return 0; - } - param_2 = (f32)extraout_f12; - param_3 = (f32)extraout_f14; - } while (lVar1 != 3); - return 1; -} - - - -float proc_7F0B0400(int param_1,longlong param_2,float param_3,float param_4) - -{ - int iVar1; - float in_a2_lo; - int iVar2; - float in_a3_lo; - float fVar3; - float fVar4; - float fVar5; - - if (param_2 == 2) { - iVar1 = 0; - } - else { - iVar1 = (int)param_2 + 1; - } - iVar2 = param_1 + ((int)*(short *)(param_1 + 6) >> ((int)param_2 * -4 + 8U & 0x1f) & 0xfU) * 8; - param_1 += ((int)*(short *)(param_1 + 6) >> (iVar1 * -4 + 8U & 0x1f) & 0xfU) * 8; - fVar4 = (float)((int)*(short *)(param_1 + 8) - (int)*(short *)(iVar2 + 8)); - fVar5 = (float)((int)*(short *)(param_1 + 0xc) - (int)*(short *)(iVar2 + 0xc)); - fVar3 = sqrtf(fVar4 * fVar4 + fVar5 * fVar5); - if (fVar3 == 0.00000000) { - fVar3 = 0.00000000; - } - else { - fVar3 = ((in_a3_lo - (float)(int)*(short *)(iVar2 + 0xc)) * -fVar4 + - fVar5 * (in_a2_lo - (float)(int)*(short *)(iVar2 + 8))) / fVar3; - } - return fVar3; -} - - - -undefined8 proc_7F0B0518(int param_1,float param_2,float param_3) - -{ - longlong lVar1; - float fVar2; - float extraout_f12; - float extraout_f14; - - lVar1 = 0; - do { - fVar2 = proc_7F0B0400(param_1,lVar1,param_2,param_3); - lVar1 = (longlong)((int)lVar1 + 1); - if (fVar2 < -2.00000000) { - return 0; - } - param_2 = extraout_f12; - param_3 = extraout_f14; - } while (lVar1 != 3); - return 1; -} - - - -undefined8 -proc_7F0B05C0(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6) - -{ - if (param_2 * param_5 < param_1 * param_6) { - return 1; - } - if (param_1 * param_6 < param_2 * param_5) { - return 0xffffffffffffffff; - } - if ((0.00000000 <= param_1 * param_5) && (0.00000000 <= param_2 * param_6)) { - if (param_1 * param_1 + param_2 * param_2 < param_5 * param_5 + param_6 * param_6) { - return 1; - } - return 0; - } - return 0xffffffffffffffff; -} - - - -ulonglong proc_7F0B0688(float param_1,float param_2,undefined8 param_3,undefined8 param_4, - float param_5,float param_6,float param_7,float param_8,float param_9, - float param_10) - -{ - bool bVar1; - undefined8 uVar2; - undefined8 uVar3; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - - uVar2 = proc_7F0B05C0(param_5 - param_1,param_6 - param_2,param_3,param_4,-(param_1 - param_7), - -(param_2 - param_8)); - uVar3 = proc_7F0B05C0(param_5 - param_1,param_6 - param_2,extraout_a0,extraout_a1, - param_9 - param_1,param_10 - param_2); - bVar1 = (int)uVar3 * (int)uVar2 < 1; - if (bVar1) { - uVar2 = proc_7F0B05C0(param_9 - param_7,param_10 - param_8,extraout_a0_00,extraout_a1_00, - param_1 - param_7,param_2 - param_8); - uVar3 = proc_7F0B05C0(param_9 - param_7,param_10 - param_8,extraout_a0_01,extraout_a1_01, - param_5 - param_7,param_6 - param_8); - bVar1 = (int)uVar3 * (int)uVar2 < 1; - } - return (ulonglong)bVar1; -} - - - -uint proc_7F0B07BC(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6,float param_7,float param_8,float param_9,float param_10, - int param_11) - -{ - undefined8 uVar1; - undefined8 uVar2; - undefined8 uVar3; - undefined8 uVar4; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - uint uStack36; - - uVar1 = proc_7F0B05C0(param_5 - param_1,param_6 - param_2,param_3,param_4,-(param_1 - param_7), - -(param_2 - param_8)); - uVar2 = proc_7F0B05C0(param_5 - param_1,param_6 - param_2,extraout_a0,extraout_a1, - param_9 - param_1,param_10 - param_2); - uVar3 = proc_7F0B05C0(param_9 - param_7,param_10 - param_8,extraout_a0_00,extraout_a1_00, - param_1 - param_7,param_2 - param_8); - uVar4 = proc_7F0B05C0(param_9 - param_7,param_10 - param_8,extraout_a0_01,extraout_a1_01, - param_5 - param_7,param_6 - param_8); - uStack36 = (uint)((int)uVar2 * (int)uVar1 < param_11); - if (param_11 <= (int)uVar4 * (int)uVar3) { - uStack36 = 0; - } - return uStack36; -} - - - -undefined8 -proc_7F0B0914(int *param_1,float param_2,float param_3,float param_4,float param_5, - undefined *param_6,float param_7) - -{ - short sVar1; - bool bVar2; - uint uVar3; - int iVar4; - longlong lVar5; - longlong lVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - int iVar11; - ulonglong uVar12; - longlong lVar13; - float fVar14; - code *in_stack_00000014; - undefined4 in_stack_00000018; - int iStack44; - int iStack32; - - param_4 = param_4 * flt_80040F44; - param_5 = param_5 * flt_80040F44; - fVar14 = (float)param_6 * flt_80040F44; - param_7 = param_7 * flt_80040F44; - iVar8 = *param_1; - iVar9 = 0; - iStack44 = 0; - lVar13 = (longlong)iStack32; - iVar7 = iVar8; - iVar11 = iVar8; - do { - iVar10 = iVar7; - iVar7 = iVar8; - iVar8 = 0; - if (in_stack_00000014 == NULL) { - sVar1 = *(short *)(iVar7 + 6); - } - else { - (*in_stack_00000014)(iVar7,iVar10,in_stack_00000018); - sVar1 = *(short *)(iVar7 + 6); - } - uVar12 = (longlong)((int)sVar1 >> 0xc) & 0xf; - lVar5 = 0; - iVar4 = iVar7; - if (uVar12 != 0) { - do { - lVar6._4_4_ = (int)lVar5 + 1; - lVar6 = (longlong)lVar6._4_4_; - lVar6._4_4_ = iVar7 + (lVar6._4_4_ % (int)uVar12) * 8; - sVar1 = *(short *)(lVar6._4_4_ + 0xc); - lVar6._4_4_ = (int)*(short *)(lVar6._4_4_ + 8); - if (uVar12 == 0) { - trap(0x1c00); - } - if ((uVar12 == 0xffffffffffffffff) && (lVar6 == -0x80000000)) { - trap(0x1800); - } - if ((float)((int)sVar1 - (int)*(short *)(iVar4 + 0xc)) * (fVar14 - param_4) + - -(param_7 - param_5) * (float)(lVar6._4_4_ - (int)*(short *)(iVar4 + 8)) <= - 0.00000000) { - uVar3 = proc_7F0B07BC(param_4,param_5,uVar12,(longlong)sVar1,fVar14,param_7, - (float)(int)*(short *)(iVar4 + 8), - (float)(int)*(short *)(iVar4 + 0xc),(float)lVar6._4_4_, - (float)(int)sVar1, - (uint)((int)(uint)*(ushort *)(iVar4 + 0xe) >> 4 != 0)); - if (uVar3 != 0) { - iVar8 += 1; - lVar6._4_4_ = (uint)*(ushort *)(iVar4 + 0xe) * 8 + base_ptr_connection_vals; - if (((iVar10 != lVar6._4_4_) && (iVar11 != lVar6._4_4_)) && - (lVar13 = lVar5, iVar9 = lVar6._4_4_, - (int)(uint)*(ushort *)(iVar4 + 0xe) >> 4 == 0)) { - iVar9 = 0; - } - goto LAB_7f0b0b0c; - } - sVar1 = *(short *)(iVar7 + 6); - } - else { -LAB_7f0b0b0c: - sVar1 = *(short *)(iVar7 + 6); - } - iVar4 += 8; - uVar12 = (longlong)((int)sVar1 >> 0xc) & 0xf; - lVar5 = lVar6; - } while (lVar6 < (longlong)uVar12); - } - if (iVar7 == iVar9) { - iVar8 = 0; - } - if (iVar8 == 0) { - return 1; - } - bVar2 = 500 < iStack44; - iStack44 += 1; - if (((bVar2) || (iVar9 == 0)) || (iVar8 == 0)) { - DAT_8007b9e4 = iVar7; - DAT_8007b9e8 = (int)lVar13; - return 0; - } - *param_1 = iVar9; - iVar8 = iVar9; - iVar11 = iVar10; - } while( true ); -} - - - -void proc_7F0B0BE4(int *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - undefined *in_a3_lo; - undefined4 in_stack_00000010; - - proc_7F0B0914(param_1,param_4,param_5,param_4,param_5,in_a3_lo,in_stack_00000010); - return; -} - - - -void proc_7F0B0C24(int *param_1,float param_2,float param_3,float param_4,float param_5, - undefined *param_6,undefined4 *param_7,undefined4 param_8) - -{ - undefined4 *in_stack_00000018; - - proc_7F0B0914(param_1,param_4,param_5,param_4,param_5,param_6,param_7); - *in_stack_00000018 = 0; - return; -} - - - -void proc_7F0B0C98(int param_1,undefined8 param_2,uint **param_3) - -{ - byte bVar1; - - bVar1 = *(byte *)(param_1 + 3); - if (((longlong)(int)param_3[3] != (ulonglong)bVar1) && ((int)param_3[1] < (int)param_3[2])) { - *(uint **)*param_3 = (uint *)(uint)bVar1; - param_3[3] = (uint *)(uint)bVar1; - *param_3 = *param_3 + 1; - param_3[1] = (uint *)((int)param_3[1] + 1); - } - return; -} - - - -void proc_7F0B0CEC(int param_1,undefined8 param_2,uint **param_3) - -{ - proc_7F0B0C98(param_1,param_2,param_3); - return; -} - - - -int proc_7F0B0D0C(int param_1,float param_2,float param_3,int *param_4,float param_5,float param_6, - uint *param_7,int param_8) - -{ - byte bVar1; - longlong lVar2; - int iVar3; - ulonglong uVar4; - float extraout_f12; - float extraout_f14; - uint *in_stack_00000018; - int in_stack_0000001c; - int iStack8; - int iStack4; - - iStack8 = 0; - lVar2 = (longlong)*(int *)param_6; - iStack4 = param_1; - if (lVar2 != 0) { - bVar1 = *(byte *)(param_1 + 3); - uVar4 = (ulonglong)*(byte *)(*(int *)param_6 + 3); - if ((ulonglong)bVar1 == uVar4) { - *in_stack_00000018 = (uint)bVar1; - return 1; - } - lVar2 = proc_7F0B8FD0((ulonglong)bVar1,uVar4); - param_2 = extraout_f12; - param_3 = extraout_f14; - if (lVar2 != 0) { - *in_stack_00000018 = (uint)*(byte *)(param_1 + 3); - in_stack_00000018[1] = (uint)*(byte *)(*(int *)param_6 + 3); - return 2; - } - } - proc_7F0B0C24(&iStack4,param_2,param_3,(float)param_4,param_5,param_7,(undefined4 *)param_8, - in_stack_00000018); - if (lVar2 == 0) { - iStack8 = 0; - } - else { - if (in_stack_0000001c < 0) { - iStack8 = in_stack_0000001c; - iVar3 = *(int *)param_6; - } - else { - iVar3 = *(int *)param_6; - } - if (iVar3 == 0) { - *(int *)param_6 = iStack4; - iVar3 = iStack4; - } - if (iStack4 != iVar3) { - iStack8 = 0; - } - } - return iStack8; -} - - - -undefined4 proc_7F0B0E24(u32 *param_1,f32 param_2,f32 param_3,f32 param_4) - -{ - bool bVar1; - bool bVar2; - longlong in_v0; - longlong lVar3; - ulonglong uVar4; - float *pfVar5; - float in_a2_lo; - float in_a3_lo; - int iVar6; - int iVar7; - longlong lVar8; - char *pcVar9; - uint uVar10; - float fVar11; - float fVar12; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f12_06; - float fVar13; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - float extraout_f14_05; - float extraout_f14_06; - float fVar14; - undefined4 *in_stack_00000010; - uint in_stack_00000014; - float in_stack_00000018; - float in_stack_0000001c; - float in_stack_00000020; - float in_stack_00000024; - float fStack192; - float afStack188 [3]; - int iStack176; - int *piStack172; - short *psStack168; - float fStack160; - float fStack156; - uint uStack148; - int aiStack144 [21]; - int iStack60; - float fStack52; - float fStack48; - float fStack44; - float fStack40; - float afStack28 [2]; - float afStack20 [2]; - u32 uStack12; - undefined4 uStack8; - - fVar11 = 1.00000000; - iStack60 = 0; - uStack148 = (uint)(in_stack_0000001c <= in_stack_00000018); - uStack12 = *param_1; - bVar1 = false; - afStack20[0] = param_4; - proc_7F0B0C24((int *)&uStack12,(float)param_4,in_a2_lo,(float)param_4,in_a2_lo,in_a3_lo, - in_stack_00000010,aiStack144); - uStack8 = (undefined4)in_v0; - if (0x14 < iStack60) { - iStack60 = 0x14; - } - fVar13 = extraout_f12; - fVar14 = extraout_f14; - if (in_v0 == 0) { - uVar10 = (int)*(short *)(DAT_8007b9e4 + 6) >> 0xc & 0xf; - iVar6 = DAT_8007b9e4 + DAT_8007b9e8 * 8; - if (uVar10 == 0) { - trap(0x1c00); - } - if ((uVar10 == 0xffffffff) && (DAT_8007b9e8 + 1 == -0x80000000)) { - trap(0x1800); - } - dword_800413BC = 1; - iVar7 = DAT_8007b9e4 + ((DAT_8007b9e8 + 1) % uVar10) * 8; - DAT_8007b9f0 = (float)(int)*(short *)(iVar6 + 8) * flt_80040F48; - DAT_8007b9f4 = (float)(int)*(short *)(iVar6 + 0xc) * flt_80040F48; - DAT_8007b9f8 = (float)(int)*(short *)(iVar7 + 8) * flt_80040F48; - DAT_8007b9fc = (float)(int)*(short *)(iVar7 + 0xc) * flt_80040F48; - fVar11 = proc_7F0B3200(afStack20,afStack28,(float *)&DAT_8007b9f0,(float *)&DAT_8007b9f8); - fVar13 = extraout_f12_00; - fVar14 = extraout_f14_00; - } - DAT_8007ba04 = NULL; - if (in_stack_00000014 != 0) { - aiStack144[iStack60] = -1; - proc_7F03E3FC(aiStack144); - lVar3 = (longlong)*ptr_list_object_lookup_indices; - fVar13 = extraout_f12_01; - fVar14 = extraout_f14_01; - if (-1 < lVar3) { - psStack168 = ptr_list_object_lookup_indices; - do { - pcVar9 = pos_data_entry + (int)lVar3 * 0x34; - iVar6 = proc_7F03DA50(pcVar9,in_stack_00000014); - fVar13 = extraout_f12_02; - fVar14 = extraout_f14_02; - if (((iVar6 != 0) && - (proc_7F03CC20(pcVar9,&piStack172,&iStack176,afStack188,&fStack192), - fVar13 = extraout_f12_03, fVar14 = extraout_f14_03, 0 < iStack176)) && - (0 < iStack176)) { - iVar6 = 0; - lVar3 = 0; - do { - iVar7 = (int)lVar3 + 1; - lVar8 = (longlong)iVar7; - iVar7 %= iStack176; - pfVar5 = (float *)(piStack172 + iVar7 * 2); - if (iStack176 == 0) { - trap(0x1c00); - } - if ((iStack176 == -1) && (lVar8 == -0x80000000)) { - trap(0x1800); - } - uVar4 = proc_7F0B0688((float)param_4,in_a2_lo,(longlong)(int)pfVar5,lVar3, - in_a3_lo,(float)in_stack_00000010, - *(float *)((int)piStack172 + iVar6), - ((float *)((int)piStack172 + iVar6))[1],*pfVar5, - pfVar5[1]); - fVar13 = extraout_f12_04; - fVar14 = extraout_f14_04; - if (uVar4 != 0) { - fStack44 = *(float *)((int)piStack172 + iVar6); - fStack40 = ((float *)((int)piStack172 + iVar6))[1]; - fStack52 = (float)piStack172[iVar7 * 2]; - fStack48 = (float)(piStack172 + iVar7 * 2)[1]; - fVar12 = proc_7F0B3200(afStack20,afStack28,&fStack44,&fStack52); - fVar13 = extraout_f12_05; - fVar14 = extraout_f14_05; - if (fVar12 < fVar11) { - bVar2 = true; - if (uStack148 != 0) { - if (!bVar1) { - bVar1 = true; - if (in_stack_00000024 <= in_stack_00000020) { - fStack156 = in_stack_00000020 - in_stack_00000018; - fStack160 = in_stack_00000024 - in_stack_0000001c; - } - else { - if (fVar11 < 1.00000000) { - in_a3_lo = (float)param_4 + - (in_a3_lo - (float)param_4) * fVar11; - in_stack_00000010 = - (undefined4 *) - (in_a2_lo + - ((float)in_stack_00000010 - in_a2_lo) * fVar11) - ; - } - fVar13 = (float)proc_7F0B2970(); - in_stack_00000018 = in_stack_00000018 + fVar13; - in_stack_0000001c = in_stack_0000001c + fVar13; - fVar14 = (float)proc_7F0B2970(); - fStack160 = (fVar14 - fVar13) / fVar11; - fVar13 = extraout_f12_06; - fVar14 = extraout_f14_06; - fStack156 = fStack160; - } - } - if (fStack160 * fVar12 + in_stack_0000001c < afStack188[0]) { - if (fStack156 * fVar12 + in_stack_00000018 <= fStack192) { - bVar2 = false; - } - } - else { - bVar2 = false; - } - } - if (bVar2) { - uStack8 = 0; - dword_800413BC = 1; - DAT_8007b9f0 = fStack44; - DAT_8007b9f4 = fStack40; - DAT_8007b9f8 = fStack52; - DAT_8007b9fc = fStack48; - DAT_8007b9e4 = 0; - DAT_8007b9e8 = 0; - uStack12 = 0; - fVar11 = fVar12; - DAT_8007ba04 = pcVar9; - } - } - } - iVar6 += 8; - lVar3 = lVar8; - } while (lVar8 < iStack176); - } - lVar3 = (longlong)psStack168[1]; - psStack168 = psStack168 + 1; - } while (-1 < lVar3); - } - } - if (uStack12 == 0) { - uStack12 = *param_1; - proc_7F0B0BE4((int *)&uStack12,fVar13,fVar14,(float)param_4,in_a2_lo); - } - *param_1 = uStack12; - DAT_8007ba00 = fVar11; - return uStack8; -} - - - -char * proc_7F0B1410(int param_1,float param_2,float param_3,float param_4,float param_5, - uint param_6) - -{ - short sVar1; - longlong lVar2; - int iVar5; - ulonglong uVar3; - longlong lVar4; - float *pfVar6; - longlong lVar7; - char *pcVar8; - char *pcVar9; - float fVar10; - float fVar11; - undefined4 *in_stack_00000010; - uint in_stack_00000014; - int iStack156; - int *piStack152; - short *psStack148; - int aiStack144 [21]; - int iStack60; - int aiStack56 [2]; - float fStack48; - float fStack44; - float fStack40; - float fStack36; - float afStack24 [2]; - float fStack16; - float fStack12; - - fVar11 = 1.00000000; - pcVar9 = NULL; - iStack60 = 0; - aiStack56[0] = param_1; - proc_7F0B0C24(aiStack56,param_2,param_3,param_4,param_5,param_6,in_stack_00000010,aiStack144); - if (0x14 < iStack60) { - iStack60 = 0x14; - } - if (in_stack_00000014 != 0) { - afStack24[0] = (float)param_6; - fStack16 = param_4; - fStack12 = param_5; - aiStack144[iStack60] = -1; - proc_7F03E3FC(aiStack144); - sVar1 = *ptr_list_object_lookup_indices; - lVar2 = (longlong)sVar1; - if (-1 < lVar2) { - psStack148 = ptr_list_object_lookup_indices; - do { - pcVar8 = pos_data_entry + ((int)sVar1 * 0x10 + (int)lVar2 * -4 + (int)lVar2) * 4; - iVar5 = proc_7F03DA50(pcVar8,in_stack_00000014); - if (((iVar5 != 0) && (proc_7F03CCB0(pcVar8,&piStack152,&iStack156), 0 < iStack156)) - && (0 < iStack156)) { - iVar5 = 0; - lVar2 = 0; - do { - lVar7._4_4_ = (int)lVar2 + 1; - lVar7 = (longlong)lVar7._4_4_; - lVar7._4_4_ %= iStack156; - pfVar6 = (float *)(piStack152 + lVar7._4_4_ * 2); - if (iStack156 == 0) { - trap(0x1c00); - } - if ((iStack156 == -1) && (lVar7 == -0x80000000)) { - trap(0x1800); - } - uVar3 = proc_7F0B0688(param_4,param_5,(longlong)(int)pfVar6,lVar2, - (float)param_6,(float)in_stack_00000010, - *(float *)((int)piStack152 + iVar5), - ((float *)((int)piStack152 + iVar5))[1],*pfVar6, - pfVar6[1]); - if (uVar3 == 0) { - lVar4 = (longlong)iStack156; - } - else { - fStack40 = *(float *)((int)piStack152 + iVar5); - fStack36 = ((float *)((int)piStack152 + iVar5))[1]; - fStack48 = (float)piStack152[lVar7._4_4_ * 2]; - fStack44 = (float)(piStack152 + lVar7._4_4_ * 2)[1]; - fVar10 = proc_7F0B3200(&fStack16,afStack24,&fStack40,&fStack48); - if (fVar10 < fVar11) { - lVar4 = (longlong)iStack156; - fVar11 = fVar10; - pcVar9 = pcVar8; - } - else { - lVar4 = (longlong)iStack156; - } - } - iVar5 += 8; - lVar2 = lVar7; - } while (lVar7 < lVar4); - } - sVar1 = psStack148[1]; - lVar2 = (longlong)sVar1; - psStack148 = psStack148 + 1; - } while (-1 < lVar2); - } - } - return pcVar9; -} - - - -float proc_7F0B16C4(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6,float param_7,float param_8) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar2 = param_5 - param_1; - fVar3 = param_6 - param_2; - fVar1 = sqrtf(fVar2 * fVar2 + fVar3 * fVar3); - if (fVar1 == 0.00000000) { - fVar1 = sqrtf((param_7 - param_5) * (param_7 - param_5) + - (param_8 - param_6) * (param_8 - param_6)); - } - else { - fVar1 = (fVar3 * (param_7 - param_1) + -fVar2 * (param_8 - param_2)) / fVar1; - } - return fVar1; -} - - - -void proc_7F0B1794(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5, - float param_6) - -{ - sqrtf((param_5 - param_1) * (param_5 - param_1) + (param_6 - param_2) * (param_6 - param_2)); - return; -} - - - -ulonglong proc_7F0B17E4(float param_1,float param_2,undefined8 param_3,undefined8 param_4, - float param_5,float param_6,float param_7,float param_8) - -{ - ulonglong uVar1; - float fVar2; - float fVar3; - - param_5 = param_5 - param_1; - param_6 = param_6 - param_2; - fVar3 = param_5 * param_5 + param_6 * param_6; - fVar2 = (param_7 - param_1) * param_5 + (param_8 - param_2) * param_6; - if ((((fVar2 <= fVar3) || (uVar1 = (ulonglong)(fVar2 < 0.00000000), fVar2 >= 0.00000000)) && - (uVar1 = (ulonglong)(0.00000000 < fVar2), 0.00000000 < fVar2)) && (uVar1 = 0, fVar2 < fVar3) - ) { - uVar1 = 1; - } - return uVar1; -} - - - -longlong proc_7F0B18B8(void) - -{ - short sVar1; - longlong lVar2; - int iVar4; - ulonglong uVar3; - int *in_a0_lo; - float *pfVar5; - undefined8 extraout_a0; - undefined8 extraout_a0_00; - undefined8 extraout_a0_01; - float in_a1_lo; - int iVar6; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - float in_a2_lo; - undefined4 *in_a3_lo; - char *pcVar7; - float fVar8; - float fVar9; - float in_f12; - float in_f14; - float fVar10; - float fVar11; - uint in_stack_00000010; - float in_stack_00000014; - float in_stack_00000018; - float fStack144; - float afStack140 [3]; - int iStack128; - int *piStack124; - int aiStack120 [21]; - int iStack36; - short *psStack32; - uint uStack24; - - uStack24 = (uint)(in_stack_00000018 <= in_stack_00000014); - iStack36 = 0; - lVar2 = proc_7F0B21B0(in_a0_lo,in_f12,in_f14,in_a1_lo,in_a2_lo,in_a3_lo,aiStack120); - if (lVar2 < 0) { - if (0x14 < iStack36) { - iStack36 = 0x14; - } - DAT_8007ba04 = NULL; - if (in_stack_00000010 == 0) { - lVar2 = -2; - } - else { - if (in_stack_00000018 <= in_stack_00000014) { - fVar11 = (float)proc_7F0B2970(); - in_stack_00000014 = in_stack_00000014 + fVar11; - in_stack_00000018 = in_stack_00000018 + fVar11; - } - aiStack120[iStack36] = -1; - proc_7F03E3FC(aiStack120); - sVar1 = *ptr_list_object_lookup_indices; - lVar2 = (longlong)sVar1; - if (-1 < lVar2) { - psStack32 = ptr_list_object_lookup_indices; - do { - pcVar7 = pos_data_entry + ((int)sVar1 * 0x10 + (int)lVar2 * -4 + (int)lVar2) * 4 - ; - iVar4 = proc_7F03DA50(pcVar7,in_stack_00000010); - if (((iVar4 != 0) && - (proc_7F03CC20(pcVar7,&piStack124,&iStack128,afStack140,&fStack144), - 0 < iStack128)) && - ((uStack24 == 0 || - ((fStack144 <= in_stack_00000014 && (in_stack_00000018 <= afStack140[0]))))) - ) { - fVar11 = -1.00000000; - lVar2 = 0; - do { - iVar6 = (int)lVar2; - iVar4 = (iVar6 + 1) % iStack128; - pfVar5 = (float *)(piStack124 + iVar4 * 2); - if (iStack128 == 0) { - trap(0x1c00); - } - if ((iStack128 == -1) && (iVar6 + 1 == -0x80000000)) { - trap(0x1800); - } - fVar8 = proc_7F0B16C4((float)piStack124[iVar6 * 2], - (float)(piStack124 + iVar6 * 2)[1], - (longlong)(int)pfVar5,lVar2,*pfVar5,pfVar5[1], - in_a1_lo,in_a2_lo); - fVar10 = fVar8; - if (fVar8 < 0.00000000) { - fVar10 = -fVar8; - } - if (fVar11 < fVar10) { - proc_7F0B1794((float)piStack124[iVar6 * 2], - (float)(piStack124 + iVar6 * 2)[1],extraout_a0, - extraout_a1,in_a1_lo,in_a2_lo); - fVar9 = fVar8; - proc_7F0B1794((float)piStack124[iVar4 * 2], - (float)(piStack124 + iVar4 * 2)[1],extraout_a0_00, - extraout_a1_00,in_a1_lo,in_a2_lo); - if ((fVar10 < (float)in_a3_lo) && - (((fVar8 < (float)in_a3_lo || (fVar9 < (float)in_a3_lo)) || - (uVar3 = proc_7F0B17E4((float)piStack124[iVar6 * 2], - (float)(piStack124 + iVar6 * 2)[1], - extraout_a0_01,extraout_a1_01, - (float)piStack124[iVar4 * 2], - (float)(piStack124 + iVar4 * 2)[1], - in_a1_lo,in_a2_lo), uVar3 != 0)))) { - dword_800413BC = 1; - DAT_8007b9f0 = piStack124[iVar6 * 2]; - DAT_8007b9f4 = (piStack124 + iVar6 * 2)[1]; - DAT_8007b9f8 = piStack124[iVar4 * 2]; - DAT_8007b9fc = (piStack124 + iVar4 * 2)[1]; - DAT_8007b9e4 = 0; - DAT_8007b9e8 = 0; - fVar11 = fVar10; - DAT_8007ba04 = pcVar7; - } - } - lVar2 = (longlong)iVar4; - } while ((longlong)iVar4 != 0); - if (-1.00000000 < fVar11) { - return 2; - } - } - sVar1 = psStack32[1]; - lVar2 = (longlong)sVar1; - psStack32 = psStack32 + 1; - } while (-1 < lVar2); - } - lVar2 = -2; - } - } - return lVar2; -} - - - -void proc_7F0B1CC4(void) - -{ - dword_800413BC = 0; - DAT_8007b9e4 = 0; - DAT_8007b9e8 = 0; - return; -} - - - -undefined4 proc_7F0B1CE0(void) - -{ - return DAT_8007b9e4; -} - - - -undefined4 proc_7F0B1CEC(void) - -{ - return DAT_8007b9e8; -} - - - -void proc_7F0B1CF8(int param_1,int param_2,float *param_3,float *param_4) - -{ - float fVar1; - int iVar2; - uint uVar3; - - fVar1 = flt_80040F48; - iVar2 = param_1 + param_2 * 8; - *param_3 = (float)(int)*(short *)(iVar2 + 8) * flt_80040F48; - param_3[1] = (float)(int)*(short *)(iVar2 + 10) * fVar1; - param_3[2] = (float)(int)*(short *)(iVar2 + 0xc) * fVar1; - uVar3 = (int)*(short *)(param_1 + 6) >> 0xc & 0xf; - param_1 += ((param_2 + 1) % uVar3) * 8; - if (uVar3 == 0) { - trap(0x1c00); - } - if ((uVar3 == 0xffffffff) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - *param_4 = (float)(int)*(short *)(param_1 + 8) * fVar1; - param_4[1] = (float)(int)*(short *)(param_1 + 10) * fVar1; - param_4[2] = (float)(int)*(short *)(param_1 + 0xc) * fVar1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f0b1f90) overlaps instruction at (ram,0x7f0b1f8c) -// - -undefined8 -proc_7F0B1DDC(int *param_1,float param_2,float param_3,float param_4,undefined *param_5, - undefined *param_6,undefined *param_7,code *param_8) - -{ - int iVar1; - ulonglong uVar2; - longlong lVar3; - int *piVar4; - int iVar5; - uint uVar6; - int iVar7; - int *piVar8; - uint uVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f12_05; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - float extraout_f14_05; - float fVar14; - code *in_stack_00000018; - undefined4 in_stack_0000001c; - int iStack172; - int aiStack160 [40]; - - iStack172 = 0; - aiStack160[0] = *param_1; - piVar8 = aiStack160; - fVar14 = (float)param_6 * flt_80040F44; - uVar9 = 1; - do { - iVar1 = *piVar8; - piVar8 = piVar8 + 1; - iStack172 += 1; - if (param_7 != NULL) { - (*(code *)param_7)(iVar1,in_stack_0000001c); - param_2 = extraout_f12; - param_3 = extraout_f14; - } - uVar6 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - iVar5 = 0; - if (uVar6 != 0) { - do { - iVar10 = iVar5 + 1; - if (uVar6 == 0) { - trap(0x1c00); - } - if ((uVar6 == 0xffffffff) && (iVar10 == -0x80000000)) { - trap(0x1800); - } - fVar11 = proc_7F0AFD1C(iVar1,iVar5,param_2,param_3); - fVar12 = fVar11; - proc_7F0B0064(iVar1,iVar5,extraout_f12_00,extraout_f14_00); - fVar13 = fVar12; - proc_7F0B0064(iVar1,iVar10 % uVar6,extraout_f12_01,extraout_f14_01); - param_2 = extraout_f12_02; - param_3 = extraout_f14_02; - if (fVar11 < fVar14) { - if (((fVar12 < fVar14) || (fVar13 < fVar14)) || - (uVar2 = proc_7F0B0198(iVar1,iVar5,extraout_f12_02,extraout_f14_02), - param_2 = extraout_f12_03, param_3 = extraout_f14_03, uVar2 != 0)) { - if ((param_8 == NULL) || - (lVar3 = (*param_8)(iVar1,iVar5,fVar11,fVar12,fVar13), - param_2 = extraout_f12_04, param_3 = extraout_f14_04, lVar3 == 0)) { - uVar6 = (uint)*(ushort *)(iVar1 + iVar5 * 8 + 0xe); - if ((int)uVar6 >> 4 != 0) { - iVar5 = uVar6 * 8 + base_ptr_connection_vals; - if ((int)(uVar9 - 1) < 0) { -LAB_7f0b1fe8: - aiStack160[uVar9] = iVar5; - uVar9 += 1; - iVar5 = (int)*(short *)(iVar1 + 6); - } - else { - piVar4 = aiStack160 + (uVar9 - 1); - iVar7 = *piVar4; - while( true ) { - piVar4 = piVar4 + -1; - if (iVar5 == iVar7) break; - if (piVar4 < aiStack160) goto LAB_7f0b1fe8; - iVar7 = *piVar4; - } - iVar5 = (int)*(short *)(iVar1 + 6); - } - goto LAB_7f0b2038; - } - } - DAT_8007b9e4 = iVar1; - DAT_8007b9e8 = iVar5; - if ((in_stack_00000018 == NULL) || - (lVar3 = (*in_stack_00000018)(aiStack160,uVar9,in_stack_0000001c), - lVar3 != 1)) { - return 2; - } - iVar5 = (int)*(short *)(iVar1 + 6); - param_2 = extraout_f12_05; - param_3 = extraout_f14_05; - } - else { - iVar5 = (int)*(short *)(iVar1 + 6); - } - } - else { - iVar5 = (int)*(short *)(iVar1 + 6); - } -LAB_7f0b2038: - uVar6 = iVar5 >> 0xc & 0xf; - iVar5 = iVar10; - } while (iVar10 < (int)uVar6); - } - if (0x28 < uVar9) { - return 5; - } - if ((int)uVar9 <= iStack172) { - if (in_stack_00000018 != NULL) { - (*in_stack_00000018)(aiStack160,uVar9,in_stack_0000001c); - } - return 0xfffffffffffffffe; - } - } while( true ); -} - - - -void proc_7F0B20D0(int *param_1,float param_2,float param_3,float param_4) - -{ - float in_a2_lo; - undefined *in_a3_lo; - - proc_7F0B1DDC(param_1,param_4,in_a2_lo,param_4,(undefined *)in_a2_lo,in_a3_lo,NULL,0); - return; -} - - - -undefined8 proc_7F0B2110(int param_1,int **param_2) - -{ - int *piVar1; - int iVar2; - int iVar3; - int *piVar4; - - piVar1 = param_2[1]; - iVar3 = 0; - if ((int)piVar1 < 1) { - piVar4 = param_2[2]; - } - else { - piVar4 = *param_2; - iVar2 = *piVar4; - while( true ) { - if ((ulonglong)*(byte *)(param_1 + 3) == (longlong)iVar2) { - return 0; - } - iVar3 += 1; - piVar4 = piVar4 + 1; - if ((int)param_2[1] <= iVar3) break; - iVar2 = *piVar4; - } - piVar4 = param_2[2]; - } - if ((int)piVar1 < (int)piVar4) { - (*param_2)[(int)piVar1] = (uint)*(byte *)(param_1 + 3); - param_2[1] = (int *)((int)param_2[1] + 1); - } - return 0; -} - - - -undefined8 proc_7F0B2194(undefined8 param_1,undefined8 param_2,int param_3) - -{ - *(int *)(param_3 + 0xc) = *(int *)(param_3 + 0xc) + 1; - return 1; -} - - - -undefined8 -proc_7F0B21B0(int *param_1,float param_2,float param_3,float param_4,float param_5, - undefined4 *param_6,undefined4 param_7) - -{ - undefined8 uVar1; - undefined4 *in_stack_00000014; - - uVar1 = proc_7F0B1DDC(param_1,param_4,param_5,param_4,(undefined *)param_5,(undefined *)param_6, - proc_7F0B2110,0); - *in_stack_00000014 = 0; - if (false) { - uVar1 = 2; - } - return uVar1; -} - - - -undefined8 proc_7F0B2244(int param_1,undefined4 *param_2) - -{ - if ((*(byte *)((int)&dword_80040F30 + ((int)*(short *)(param_1 + 4) >> 0xc)) & 2) != 0) { - *param_2 = 1; - } - return 0; -} - - - -undefined8 -proc_7F0B2274(int param_1,int param_2,undefined param_3,undefined param_4,undefined param_5, - undefined4 *param_6) - -{ - uint uVar1; - int iVar2; - int iVar3; - - uVar1 = (uint)*(ushort *)(param_1 + param_2 * 8 + 0xe); - if ((int)uVar1 >> 4 != 0) { - iVar2 = uVar1 * 8 + base_ptr_connection_vals; - iVar3 = (int)*(short *)(iVar2 + 4) >> 0xc; - if ((*(byte *)((int)&dword_80040F30 + iVar3) & 2) != 0) { - *param_6 = 1; - return 1; - } - if ((*(byte *)((int)&dword_80040F30 + iVar3) & 0x40) != 0) { - DAT_8007ba0c = iVar2; - param_6[1] = 1; - return 0; - } - } - return 0; -} - - - -uint proc_7F0B2314(int *param_1,float param_2,float param_3,float param_4,undefined4 *param_5) - -{ - undefined8 uVar1; - int iVar2; - undefined *in_a3_lo; - undefined4 *in_stack_00000010; - - iVar2 = 0; - do { - iVar2 += 4; - *in_stack_00000010 = 0; - in_stack_00000010[1] = 0; - in_stack_00000010[2] = 0; - in_stack_00000010[3] = 0; - in_stack_00000010 = in_stack_00000010 + 4; - } while (iVar2 != 0x10); - uVar1 = proc_7F0B1DDC(param_1,param_4,(float)param_5,param_4,(undefined *)param_5,in_a3_lo, - proc_7F0B2244,proc_7F0B2274); - return (uint)uVar1; -} - - - -undefined4 proc_7F0B239C(undefined4 *param_1) - -{ - return *param_1; -} - - - -undefined4 proc_7F0B23A4(int param_1) - -{ - return *(undefined4 *)(param_1 + 4); -} - - - -void proc_7F0B23AC(int param_1,undefined8 param_2,float *param_3) - -{ - float fVar1; - - fVar1 = flt_80040F48; - param_1 += ((int)*(short *)(param_1 + 6) >> ((int)param_2 * -4 + 8U & 0x1f) & 0xfU) * 8; - *param_3 = (float)(int)*(short *)(param_1 + 8) * flt_80040F48; - param_3[1] = (float)(int)*(short *)(param_1 + 10) * fVar1; - param_3[2] = (float)(int)*(short *)(param_1 + 0xc) * fVar1; - return; -} - - - -void proc_7F0B2420(int *param_1,int *param_2,int param_3) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - uint uVar5; - int iVar6; - uint uVar7; - - iVar1 = DAT_8007ba0c; - uVar7 = (int)*(short *)(DAT_8007ba0c + 6) >> 0xc & 0xf; - iVar2 = 0; - iVar4 = DAT_8007ba0c; - if (uVar7 == 0) { - return; - } - while ((iVar6 = (uint)*(ushort *)(iVar4 + 0xe) * 8 + base_ptr_connection_vals, - (int)(uint)*(ushort *)(iVar4 + 0xe) >> 4 == 0 || - ((*(byte *)((int)&dword_80040F30 + ((int)*(short *)(iVar6 + 4) >> 0xc)) & 0x40) == 0))) { - iVar2 += 1; - iVar4 = iVar4 + 8; - if ((int)uVar7 <= iVar2) { - return; - } - } - *param_1 = DAT_8007ba0c; - *param_2 = iVar6; - uVar7 = 0; - while( true ) { - iVar4 = 0; - uVar5 = uVar7; - do { - iVar3 = ((int)uVar7 >> 2) + iVar4; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar3 == -0x80000000)) { - trap(0x1800); - } - proc_7F0B23AC(iVar6,(longlong)(iVar3 % 3),(float *)(param_3 + (uVar5 & 3) * 0xc)); - iVar4 += 1; - uVar5 += 1; - } while (iVar4 != 3); - proc_7F0B23AC(iVar1,(longlong)((iVar2 + 2) % 3),(float *)(param_3 + (uVar7 + 3 & 3) * 0xc)); - uVar7 += 1; - if (uVar7 == 0xc) break; - if ((((*(float *)(param_3 + 4) <= *(float *)(param_3 + 0x1c)) && - (*(float *)(param_3 + 0x10) <= *(float *)(param_3 + 0x1c))) && - (*(float *)(param_3 + 4) <= *(float *)(param_3 + 0x28))) && - (*(float *)(param_3 + 0x10) <= *(float *)(param_3 + 0x28))) { - return; - } - } - return; -} - - - -undefined8 -proc_7F0B260C(int param_1,int param_2,undefined param_3,undefined param_4,undefined param_5, - float *param_6) - -{ - uint uVar1; - - if (*param_6 < (float)(int)*(short *)(param_1 + param_2 * 8 + 10)) { - uVar1 = (int)*(short *)(param_1 + 6) >> 0xc & 0xf; - if (uVar1 == 0) { - trap(0x1c00); - } - if ((uVar1 == 0xffffffff) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - if (*param_6 < (float)(int)*(short *)(param_1 + ((param_2 + 1) % uVar1) * 8 + 10)) { - return 1; - } - } - return 0; -} - - - -void proc_7F0B26B8(int *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - undefined *in_a3_lo; - - proc_7F0B1DDC(param_1,param_4,param_5,param_4,(undefined *)param_5,in_a3_lo,NULL,proc_7F0B260C); - return; -} - - - -int proc_7F0B2718(int param_1,undefined *param_2) - -{ - int iVar1; - bool bVar2; - longlong lVar3; - uint uVar4; - int *piVar5; - uint uVar6; - int iVar7; - uint uVar8; - int iVar9; - int iVar10; - int iVar11; - int *piStack28; - uint uStack8; - - lVar3 = (*(code *)param_2)(); - if (lVar3 == 0) { - uStack8 = 1; - DAT_8007ba10 = param_1; - do { - iVar11 = 0; - uVar8 = uStack8; - if (0 < (int)uStack8) { - piStack28 = &DAT_8007ba10; - do { - iVar9 = 0; - iVar1 = *piStack28; - uVar6 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - iVar10 = iVar1; - if (uVar6 != 0) { - do { - iVar7 = (uint)*(ushort *)(iVar10 + 0xe) * 8 + base_ptr_connection_vals; - if ((int)(uint)*(ushort *)(iVar10 + 0xe) >> 4 != 0) { - uVar4 = 0; - if (0 < (int)uVar8) { - piVar5 = &DAT_8007ba10; - do { - uVar4 += 1; - if (iVar7 == *piVar5) goto LAB_7f0b283c; - piVar5 = piVar5 + 1; - } while (uVar4 != uVar8); - } - lVar3 = (*(code *)param_2)(iVar7); - if (lVar3 != 0) { - return iVar7; - } - (&DAT_8007ba10)[uVar8] = iVar7; - if (0x15e < uVar8 + 1) { - return 0; - } - uVar6 = (int)*(short *)(iVar1 + 6) >> 0xc & 0xf; - uVar8 = uVar8 + 1; - } -LAB_7f0b283c: - iVar9 += 1; - iVar10 += 8; - } while (iVar9 < (int)uVar6); - } - iVar11 += 1; - piStack28 = piStack28 + 1; - } while (iVar11 < (int)uStack8); - } - bVar2 = uVar8 != uStack8; - uStack8 = uVar8; - } while (bVar2); - param_1 = 0; - } - return param_1; -} - - - -undefined8 proc_7F0B28B0(float *param_1,float *param_2) - -{ - float fVar1; - undefined8 uVar2; - - fVar1 = DAT_8007b9f0; - if (DAT_8007b9e4 == 0) { - if (dword_800413BC == 0) { - uVar2 = 0; - } - else { - param_1[1] = 0.00000000; - *param_1 = fVar1; - uVar2 = 1; - param_1[2] = DAT_8007b9f4; - fVar1 = DAT_8007b9f8; - param_2[1] = 0.00000000; - *param_2 = fVar1; - param_2[2] = DAT_8007b9fc; - } - } - else { - proc_7F0B1CF8(DAT_8007b9e4,DAT_8007b9e8,param_1,param_2); - uVar2 = 1; - } - return uVar2; -} - - - -void proc_7F0B2950(float param_1) - -{ - flt_80040F44 = param_1; - flt_80040F48 = 1.00000000 / param_1; - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -ulonglong proc_7F0B2970(void) - -{ - short sVar1; - longlong lVar2; - longlong lVar3; - longlong lVar4; - longlong lVar5; - longlong lVar6; - uint left_l; - uint left_l_00; - uint left_l_01; - uint uVar7; - uint uVar8; - uint uVar9; - int in_a0_lo; - float in_a1_lo; - float in_a2_lo; - int left_u; - uint uVar10; - int iVar11; - undefined4 uVar12; - undefined8 in_f0; - ulonglong uVar13; - double dVar14; - double dVar15; - double dVar16; - double dVar17; - float fVar18; - float fVar19; - float fVar20; - float fVar21; - float fVar22; - float fVar23; - float fVar24; - float fVar25; - - uVar12 = (undefined4)((ulonglong)in_f0 >> 0x20); - fVar24 = in_a1_lo * flt_80040F44; - fVar19 = in_a2_lo * flt_80040F44; - sVar1 = *(short *)(in_a0_lo + 6); - iVar11 = in_a0_lo + ((int)sVar1 >> 8 & 0xfU) * 8; - left_l = in_a0_lo + ((int)sVar1 >> 4 & 0xfU) * 8; - left_u = in_a0_lo + ((int)sVar1 & 0xfU) * 8; - fVar21 = (float)((int)*(short *)(left_l + 8) - (int)*(short *)(iVar11 + 8)); - fVar25 = (float)((int)*(short *)(left_l + 10) - (int)*(short *)(iVar11 + 10)); - fVar20 = (float)((int)*(short *)(left_l + 0xc) - (int)*(short *)(iVar11 + 0xc)); - fVar22 = (float)((int)*(short *)(left_u + 8) - (int)*(short *)(iVar11 + 8)); - fVar18 = (float)((int)*(short *)(left_u + 10) - (int)*(short *)(iVar11 + 10)); - fVar23 = (float)((int)*(short *)(left_u + 0xc) - (int)*(short *)(iVar11 + 0xc)); - lVar2 = __f_to_ll(fVar25 * fVar23 - fVar18 * fVar20); - left_l_00 = left_l; - lVar3 = __f_to_ll(fVar20 * fVar22 - fVar23 * fVar21); - left_u = (int)lVar3; - left_l_01 = left_l_00; - lVar3 = __f_to_ll(fVar21 * fVar18 - fVar22 * fVar25); - uVar7 = left_l_01; - lVar4 = __ll_mul(left_u,left_l_00,(int)*(short *)(iVar11 + 10) >> 0x1f, - (int)*(short *)(iVar11 + 10)); - uVar8 = uVar7; - lVar5 = __ll_mul((int)lVar2,left_l,(int)*(short *)(iVar11 + 8) >> 0x1f, - (int)*(short *)(iVar11 + 8)); - uVar9 = uVar8; - lVar6 = __ll_mul((int)lVar3,left_l_01,(int)*(short *)(iVar11 + 0xc) >> 0x1f, - (int)*(short *)(iVar11 + 0xc)); - uVar10 = uVar9 + uVar8 + uVar7; - if ((left_u == 0) && (left_l_00 == 0)) { - uVar13 = CONCAT44(uVar12,(float)(int)*(short *)(iVar11 + 10) * flt_80040F48); - } - else { - dVar14 = __ll_to_d((int)lVar3,left_l_01); - dVar15 = __ll_to_d((int)lVar2,left_l); - dVar16 = __ll_to_d((uint)(uVar10 < uVar7) + - (uint)(uVar9 + uVar8 < uVar8) + (int)lVar6 + (int)lVar5 + (int)lVar4, - uVar10); - dVar17 = __ll_to_d(left_u,left_l_00); - uVar13 = (ulonglong)dVar17 & 0xffffffff00000000 | - (ulonglong) - (uint)((float)(((dVar16 - (double)fVar24 * dVar15) - (double)fVar19 * dVar14) / - dVar17) * flt_80040F48); - } - return uVar13; -} - - - -void copy_tile_RGB_as_24bit(int *tile,int posx,int posz,tile_rgb *target) - -{ - short sVar1; - uint uVar2; - uint uVar3; - - sVar1 = *(short *)(tile + 1); - uVar2 = (int)sVar1 >> 8 & 0xf; - uVar3 = (int)sVar1 >> 4 & 0xf; - target->red = (byte)(uVar2 << 4) | (byte)uVar2; - target->green = (byte)(uVar3 << 4) | (byte)uVar3; - target->blue = (byte)((int)((longlong)sVar1 & 0xfU) << 4) | (byte)((longlong)sVar1 & 0xfU); - return; -} - - - -void proc_7F0B2C74(int param_1,float *param_2) - -{ - float fVar1; - - fVar1 = (float)(int)*(short *)(param_1 + ((int)*(short *)(param_1 + 6) >> 8 & 0xfU) * 8 + 10); - *param_2 = fVar1 * flt_80040F48; - param_2[1] = fVar1 * flt_80040F48; - return; -} - - - -float proc_7F0B2D14(int param_1) - -{ - float afStack8 [2]; - - proc_7F0B2C74(param_1,afStack8); - return afStack8[0]; -} - - - -void removed_7F0B2D38(u32 param_1,u32 param_2,u32 param_3) - -{ - return; -} - - - -undefined8 proc_7F0B2D48(undefined8 param_1) - -{ - return param_1; -} - - - -void proc_7F0B2D50(byte *param_1,ushort *param_2,byte *param_3) - -{ - byte bVar1; - uint uVar2; - int iVar3; - int iVar4; - ulonglong uVar5; - byte *apbStack8 [2]; - - iVar3 = (uint)*param_1 - 0x70; - if ((-1 < iVar3) && (iVar3 < 2)) { - uVar2 = strtol((char *)(param_1 + 1),(char **)apbStack8,10); - if ((apbStack8[0] != param_1 + 1) && (uVar2 < 0x8000)) { - iVar4 = (uint)*apbStack8[0] - 0x61; - if ((-1 < iVar4) && (iVar4 < 0x1a)) { - bVar1 = apbStack8[0][1]; - uVar5 = (ulonglong)bVar1; - if ((bVar1 != 0) && (bVar1 != 0x30)) { - uVar5 = SEXT48((int)((uint)bVar1 - 0x30)); - } - if (((-1 < (longlong)uVar5) && ((longlong)uVar5 < 8)) && - ((bVar1 == 0 || (apbStack8[0][2] == 0)))) { - *param_2 = (short)iVar3 * -0x8000 | (ushort)uVar2; - *param_3 = (char)iVar4 * '\b' | (byte)uVar5; - return; - } - } - } - } - *param_2 = 0xffff; - *param_3 = 0xff; - return; -} - - - -int * stanMatchTileName(byte *param_1) - -{ - short sVar1; - ushort uVar2; - int *piVar3; - byte bStack7; - ushort auStack6 [3]; - - if (*param_1 != 0) { - proc_7F0B2D50(param_1,auStack6,&bStack7); - piVar3 = *(int **)(clippingfile + 4); - if (*piVar3 != 0) { - uVar2 = *(ushort *)piVar3; - while( true ) { - if (auStack6[0] == uVar2) { - if (bStack7 == *(byte *)((int)piVar3 + 2)) { - return piVar3; - } - sVar1 = *(short *)((int)piVar3 + 6); - } - else { - sVar1 = *(short *)((int)piVar3 + 6); - } - piVar3 = (int *)((uint)(byte)list_of_tilesizes[(int)sVar1 >> 0xc & 0xf] + - (int)piVar3); - if (*piVar3 == 0) break; - uVar2 = *(ushort *)piVar3; - } - } - } - return NULL; -} - - - -void proc_7F0B2F00(int **param_1) - -{ - int *piVar1; - - piVar1 = stanMatchTileName((byte *)*param_1); - *param_1 = piVar1; - return; -} - - - -void load_stan(int param_1,int param_2,int param_3) - -{ - int iVar1; - int *piVar2; - int *piVar3; - int iVar4; - - param_3 -= param_2; - base_ptr_connection_vals = *(int *)(param_1 + 4) + param_3 + -0x80; - ptr_firstroom_0 = *(int *)(param_1 + 4) + param_3; - piVar3 = (int *)(param_1 + 4); - if (*(int *)(param_1 + 4) != 0) { - iVar1 = *piVar3; - do { - iVar4 = iVar1 + param_3; - iVar1 = piVar3[1]; - *piVar3 = iVar4; - piVar3 = piVar3 + 1; - } while (iVar1 != 0); - } - iVar1 = piVar3[1]; - piVar3 = piVar3 + 1; - while (piVar2 = piVar3, iVar1 != 0) { - iVar1 = *(int *)((uint)(byte)list_of_tilesizes - [(int)*(short *)((int)piVar2 + 6) >> 0xc & 0xf] + (int)piVar2); - piVar3 = (int *)((uint)(byte)list_of_tilesizes - [(int)*(short *)((int)piVar2 + 6) >> 0xc & 0xf] + (int)piVar2); - DAT_80040f60 = piVar2; - } - clippingfile = param_1; - return; -} - - - -ulonglong proc_7F0B2FD8(int param_1) - -{ - return (ulonglong)*(byte *)(param_1 + 3); -} - - - -uint proc_7F0B2FE0(int param_1) - -{ - uint uVar1; - - uVar1 = (uint)*(byte *)(param_1 + 3); - proc_7F0B4F9C((uint)*(byte *)(param_1 + 3)); - return uVar1; -} - - - -void proc_7F0B3004(int param_1) - -{ - proc_7F0B2D14(param_1); - return; -} - - - -undefined8 proc_7F0B3024(undefined8 param_1) - -{ - return param_1; -} - - - -undefined8 proc_7F0B3034(undefined8 param_1) - -{ - return param_1; -} - - - -undefined8 stan_problems_removed(undefined8 param_1) - -{ - return param_1; -} - - - -// WARNING: Instruction at (ram,0x7f0b3070) overlaps instruction at (ram,0x7f0b306c) -// - -undefined4 proc_7F0B3044(int param_1) - -{ - int iVar1; - undefined4 uStack4; - - uStack4 = 0; - iVar1 = num_microcode_cmds_that_fit(param_1); - if (((iVar1 < 0x1000) || (iVar1 = proc_7F0BD7A4(), iVar1 < 0x1000)) && (dword_800413D0 == 0)) { - flt_800413C0 = 0.00000000; - flt_800413C4 = 0.00000000; - dword_800413C8 = dword_800413CC; - dword_800413D0 = 1; - } - if ((dword_800413D0 == 0) && - (flt_800413C0 = flt_800413C0 + flt_800413C4, 1.00000000 < flt_800413C0)) { - flt_800413C0 = flt_800413C0 - 1.00000000; - uStack4 = 1; - } - dword_800413CC = dword_800413CC + 1; - return uStack4; -} - - - -undefined8 stan_region_removed(undefined8 param_1) - -{ - return param_1; -} - - - -void proc_7F0B3138(undefined8 param_1,undefined8 param_2,f32 param_3,f32 param_4,undefined4 param_5, - undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9) - -{ - proc_7F0B0E24(param_2._4_4_,param_3,param_4,param_3); - return; -} - - - -void proc_7F0B31A4(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, - undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8) - -{ - proc_7F0B18B8(); - return; -} - - - -float proc_7F0B3200(float *param_1,float *param_2,float *param_3,float *param_4) - -{ - float fVar1; - float fVar2; - float fVar3; - - fVar3 = *param_4 - *param_3; - fVar1 = param_3[1] - param_4[1]; - fVar2 = (*param_2 - *param_1) * fVar1 + (param_2[1] - param_1[1]) * fVar3; - if (fVar2 == 0.00000000) { - fVar2 = 1.00000000; - } - else { - fVar2 = ((*param_3 - *param_1) * fVar1 + (param_3[1] - param_1[1]) * fVar3) / fVar2; - if ((fVar2 < 0.00000000) || (1.00000000 < fVar2)) { - fVar2 = 1.00000000; - } - } - return fVar2; -} - - - -float proc_7F0B32D8(float *param_1,float *param_2,float *param_3) - -{ - float fVar1; - float fVar2; - float fVar3; - float fVar4; - float __x; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - - fVar5 = param_1[2]; - fVar4 = param_3[1]; - fVar3 = param_1[1]; - fVar2 = *param_3; - fVar6 = *param_2; - fVar7 = param_2[1]; - fVar8 = fVar6 * (fVar4 - fVar5) - (fVar2 - fVar3) * fVar7; - __x = (*param_1 - fVar8) * (*param_1 + fVar8); - fVar1 = flt_800585E0; - if (0.00000000 <= __x) { - fVar1 = sqrtf(__x); - fVar1 = (fVar6 * (fVar2 - fVar3) + (fVar4 - fVar5) * fVar7) - fVar1; - if ((fVar1 < 0.00000000) && - (fVar2 = fVar1 * fVar1, fVar1 = flt_800585E4, - fVar2 + fVar8 * fVar8 <= *param_1 * *param_1)) { - fVar1 = 0.00000000; - } - } - return fVar1; -} - - - -float proc_7F0B33DC(float *param_1,float *param_2,float *param_3,float *param_4) - -{ - float *pfVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - float fVar11; - float fVar12; - float *pfStackX8; - float fStack40; - float fStack36; - float fStack16; - float fStack12; - float fStack4; - - fStack4 = sqrtf(*param_4 * *param_4 + param_4[1] * param_4[1]); - if (fStack4 == 0.00000000) { - return 1.00000000; - } - fVar10 = 1.00000000 / fStack4; - fStack16 = *param_4 * fVar10; - fStack12 = param_4[1] * fVar10; - fVar2 = *param_3 - *param_2; - fStack40 = param_3[1] - param_2[1]; - fVar3 = sqrtf(fVar2 * fVar2 + fStack40 * fStack40); - pfStackX8 = param_3; - if (fVar3 == 0.00000000) { -LAB_7f0b369c: - fVar2 = proc_7F0B32D8(param_1,&fStack16,pfStackX8); - } - else { - fStack40 = fStack40 * (1.00000000 / fVar3); - fStack36 = -fVar2 * (1.00000000 / fVar3); - fVar2 = *param_1; - fVar3 = param_1[1]; - fVar8 = fVar2 * fStack40; - fVar5 = param_1[2]; - fVar11 = fVar2 * fStack36; - if ((fVar3 - *param_2) * fVar8 + fVar11 * (fVar5 - param_2[1]) < 0.00000000) { - fVar8 = -fVar8; - fVar11 = -fVar11; - } - fVar6 = param_4[1]; - fVar4 = *param_4; - fVar7 = fVar6 * (*param_2 + fVar8) - (param_2[1] + fVar11) * fVar4; - fVar9 = fVar3 * fVar6 - fVar5 * fVar4; - fVar12 = fVar6 * (*param_3 + fVar8) - (param_3[1] + fVar11) * fVar4; - fVar8 = fVar7; - fVar11 = fVar12; - pfVar1 = param_2; - if (fVar12 < fVar7) { - fStack40 = -fStack40; - fStack36 = -fStack36; - fVar8 = fVar12; - fVar11 = fVar7; - pfVar1 = param_3; - param_3 = param_2; - } - if (fVar12 == fVar7) { - fVar3 = proc_7F0B32D8(param_1,&fStack16,pfVar1); - fVar2 = proc_7F0B32D8(param_1,&fStack16,param_3); - if (fVar3 <= fVar2) goto LAB_7f0b375c; - } - else { - pfStackX8 = param_3; - if (fVar11 < fVar9) goto LAB_7f0b369c; - if (fVar9 < fVar8) { - fVar2 = proc_7F0B32D8(param_1,&fStack16,pfVar1); - } - else { - fVar8 = (fVar3 - *pfVar1) * fStack40 + fStack36 * (fVar5 - pfVar1[1]); - fVar3 = ((fVar3 + fVar4) - *pfVar1) * fStack40 + - fStack36 * ((fVar5 + fVar6) - pfVar1[1]); - if (fVar8 == fVar3) { - return 1.00000000; - } - fVar2 = ((fVar8 - fVar2) * fStack4) / (fVar8 - fVar3); - } - } - } - fVar3 = fVar2; -LAB_7f0b375c: - fVar2 = 1.00000000; - if (fVar3 <= fStack4) { - if (fVar3 < 0.00000000) { - fVar2 = 0.00000000; - } - else { - fVar2 = fVar3 * fVar10; - } - } - return fVar2; -} - - - -void something_with_bg_c_debug(void) - -{ - get_ptr_debug_notice_list_entry(&bg_c_debug_notice_list_entry,"bg_c_debug"); - return; -} - - - -void proc_7F0B37EC(void) - -{ - byte bVar1; - byte bVar2; - undefined4 *puVar3; - byte *pbVar4; - ulonglong uVar5; - int iVar6; - - puVar3 = (undefined4 *)&dword_80044824; - do { - pbVar4 = (byte *)((int)puVar3 + 1); - if ((longlong)(int)levelentry_index == (ulonglong)*(byte *)puVar3) { - bVar1 = *pbVar4; - bVar2 = *(byte *)((int)puVar3 + 2); - while( true ) { - uVar5 = (ulonglong)bVar1; - if (bVar2 < uVar5) { - bVar1 = pbVar4[2]; - } - else { - do { - iVar6 = (int)uVar5; - uVar5 = (longlong)(iVar6 + 1) & 0xff; - *(byte *)&ptr_bgdata_portals[iVar6].controlbytes = - *(byte *)&ptr_bgdata_portals[iVar6].controlbytes | 2; - } while (uVar5 <= pbVar4[1]); - bVar1 = pbVar4[2]; - } - if (bVar1 == 0xff) break; - bVar2 = pbVar4[3]; - pbVar4 = pbVar4 + 2; - } - } - else { - bVar1 = *(byte *)((int)puVar3 + 3); - while (bVar1 != 0xff) { - bVar1 = pbVar4[4]; - pbVar4 = pbVar4 + 2; - } - } - puVar3 = (undefined4 *)(pbVar4 + 3); - } while (puVar3 < ¤t_room_maybe); - return; -} - - - -void proc_7F0B38B4(byte param_1,byte *param_2) - -{ - byte bVar2; - longlong lVar1; - byte *pbVar3; - byte *pbVar4; - - bVar2 = *param_2; - pbVar4 = param_2; - do { - do { - pbVar3 = pbVar4; - if (param_1 == bVar2) { - bVar2 = *param_2; - do { - pbVar4 = param_2; - lVar1 = proc_7F0B5208((uint)bVar2,&pPlayer->screenxminf); - if (lVar1 != 0) { - proc_7F0B39BC((uint)*pbVar4,0,&pPlayer->screenxminf,1); - } - bVar2 = pbVar4[1]; - param_2 = pbVar4 + 1; - } while (bVar2 != 0); - pbVar4 = pbVar4 + 2; - bVar2 = *pbVar4; - do { - lVar1 = proc_7F0B5208((uint)bVar2,&pPlayer->screenxminf); - if (lVar1 != 0) { - proc_7F0B39BC((uint)*pbVar4,0,&pPlayer->screenxminf,1); - } - bVar2 = pbVar4[1]; - pbVar4 = pbVar4 + 1; - } while (bVar2 != 0); - return; - } - bVar2 = pbVar3[1]; - pbVar4 = pbVar3 + 1; - } while (bVar2 != 0); - bVar2 = pbVar3[2]; - param_2 = pbVar3 + 1; - while (bVar2 != 0) { - bVar2 = param_2[2]; - param_2 = param_2 + 1; - } - param_2 = param_2 + 2; - bVar2 = *param_2; - pbVar4 = param_2; - } while (bVar2 != 0); - return; -} - - - -uint proc_7F0B39BC(int param_1,int param_2,float *param_3,uint param_4) - -{ - char cVar1; - uint uVar2; - s32 sVar3; - int iVar4; - struct_8007ffa0_entry *psVar5; - f32 fVar6; - - cVar1 = roominformationblock[param_1].room_loaded_mask; - *(undefined *)&roominformationblock[param_1].bitflags = 1; - sVar3 = NumberOfRoomsDrawn; - if (cVar1 == '\0') { - iVar4 = 0; - if (0 < NumberOfRoomsDrawn) { - psVar5 = &struct_8007ffa0_entry_8007ffa0; - do { - iVar4 += 1; - if (param_1 == psVar5->index) { - if (psVar5->field_0x4 < param_2) { - psVar5->field_0x4 = param_2; - } - proc_7F0B5CC0(param_3,(float *)&psVar5->field_0x8); - uVar2 = psVar5->field_0x18; - *(float *)&psVar5->field_0x8 = *param_3; - *(float *)&psVar5->field_0xc = param_3[1]; - *(float *)&psVar5->field_0x10 = param_3[2]; - fVar6 = (f32)param_3[3]; - psVar5->field_0x18 = uVar2 | param_4; - psVar5->field_0x14 = fVar6; - return uVar2; - } - psVar5 = psVar5 + 1; - } while (iVar4 < NumberOfRoomsDrawn); - } - (&struct_8007ffa0_entry_8007ffa0)[NumberOfRoomsDrawn].index = param_1; - (&struct_8007ffa0_entry_8007ffa0)[NumberOfRoomsDrawn].field_0x4 = param_2; - *(float *)&(&struct_8007ffa0_entry_8007ffa0)[NumberOfRoomsDrawn].field_0x8 = *param_3; - *(float *)&(&struct_8007ffa0_entry_8007ffa0)[NumberOfRoomsDrawn].field_0xc = param_3[1]; - *(float *)&(&struct_8007ffa0_entry_8007ffa0)[NumberOfRoomsDrawn].field_0x10 = param_3[2]; - fVar6 = (f32)param_3[3]; - psVar5 = &struct_8007ffa0_entry_8007ffa0 + NumberOfRoomsDrawn; - NumberOfRoomsDrawn = NumberOfRoomsDrawn + 1; - psVar5->field_0x18 = param_4; - (&struct_8007ffa0_entry_8007ffa0)[sVar3].field_0x14 = fVar6; - } - return 0; -} - - - -void proc_7F0B3B04(int param_1) - -{ - roominformationblock[param_1].bitflags2 = '\0'; - return; -} - - - -int proc_7F0B3B20(void) - -{ - int iVar1; - int iVar2; - - if (roominformationblock[0].bitflags2 != '\0') { - return 0; - } - iVar1 = -0x7ffbeb4c; - iVar2 = 2; - if (roominformationblock[1].bitflags2 != '\0') { - return 1; - } - while( true ) { - if (*(char *)(iVar1 + 3) != '\0') { - return iVar2; - } - if (*(char *)(iVar1 + 0x53) != '\0') { - return iVar2 + 1; - } - if (*(char *)(iVar1 + 0xa3) != '\0') { - return iVar2 + 2; - } - if (*(char *)(iVar1 + 0xf3) != '\0') break; - iVar2 += 4; - iVar1 += 0x140; - if (iVar2 == 0x96) { - return -1; - } - } - return iVar2 + 3; -} - - - -void proc_7F0B3BC4(void) - -{ - u32 *puVar1; - - NumberOfRoomsDrawn = 0; - roominformationblock[0].bitflags2 = '\0'; - roominformationblock[1].bitflags2 = '\0'; - puVar1 = (u32 *)0x800414b4; - do { - puVar1 = puVar1 + 0x50; - *(undefined *)((int)puVar1 + 3) = 0; - *(undefined *)((int)puVar1 + 0x53) = 0; - *(undefined *)((int)puVar1 + 0xa3) = 0; - *(undefined *)((int)puVar1 + 0xf3) = 0; - puVar1 = puVar1; - } while (puVar1 != &max_num_rooms); - return; -} - - - -undefined8 proc_7F0B3C0C(int param_1,int *param_2) - -{ - int iVar1; - struct_8007ffa0_entry *psVar2; - - iVar1 = 0; - if (0 < NumberOfRoomsDrawn) { - psVar2 = &struct_8007ffa0_entry_8007ffa0; - do { - iVar1 += 1; - if (param_1 == psVar2->index) { - *(f32 *)param_2 = psVar2->field_0x8; - *(f32 *)(param_2 + 1) = psVar2->field_0xc; - *(f32 *)(param_2 + 2) = psVar2->field_0x10; - *(f32 *)(param_2 + 3) = psVar2->field_0x14; - return 1; - } - psVar2 = psVar2 + 1; - } while (iVar1 < NumberOfRoomsDrawn); - } - *param_2 = 0; - param_2[1] = 0; - param_2[2] = 0; - param_2[3] = 0; - return 0; -} - - - -longlong proc_7F0B3C8C(longlong param_1) - -{ - s32 sVar1; - void *virtualAddress; - int iVar2; - uint *puVar3; - u32 uVar4; - undefined4 *puVar5; - BOOL BVar6; - longlong lVar7; - struct_8007ffa0_entry *psVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - float extraout_f12; - float extraout_f12_00; - float extraout_f14; - float extraout_f14_00; - - puVar5 = (undefined4 *)param_1; - iVar12 = 99999999; - iVar11 = 0; - if (0 < NumberOfRoomsDrawn) { - iVar9 = iVar11; - iVar10 = struct_8007ffa0_entry_8007ffa0.field_0x4; - psVar8 = &struct_8007ffa0_entry_8007ffa0; - while( true ) { - iVar11 = iVar10; - if (iVar10 <= iVar9) { - iVar11 = iVar9; - } - if (iVar12 <= iVar10) { - iVar10 = iVar12; - } - iVar12 = iVar10; - if (&struct_8007ffa0_entry_8007ffa0 + NumberOfRoomsDrawn <= psVar8 + 1) break; - iVar10 = psVar8[1].field_0x4; - iVar9 = iVar11; - psVar8 = psVar8 + 1; - } - } - if (iVar12 <= iVar11) { - sVar1 = NumberOfRoomsDrawn; - iVar10 = iVar12; - do { - iVar9 = 0; - if (0 < sVar1) { - psVar8 = &struct_8007ffa0_entry_8007ffa0; - do { - if (iVar10 == psVar8->field_0x4) { - puVar5 = (undefined4 *)param_1; - *puVar5 = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10D8(); - uVar4 = osVirtualToPhysical(virtualAddress); - puVar5[1] = uVar4; - puVar5 = proc_7F0BB298(puVar5 + 2); - BVar6 = get_debug_do_draw_obj(); - if ((BVar6 != FALSE) && (iVar2 = proc_7F0BD8F0(), iVar2 != 0)) { - lVar7 = proc_7F03A6F4((longlong)(int)puVar5,psVar8->index,0); - puVar5 = (undefined4 *)lVar7; - } - *puVar5 = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10E0(); - uVar4 = osVirtualToPhysical(virtualAddress); - puVar5[1] = uVar4; - puVar3 = proc_7F0B4FF4(puVar5 + 2,extraout_f12,extraout_f14, - (float)psVar8->field_0x8,(float)psVar8->field_0xc); - puVar5 = proc_7F0BB070(puVar3,0); - BVar6 = get_debug_do_draw_bg(); - if ((BVar6 != FALSE) && (iVar2 = proc_7F0BD8F0(), iVar2 != 0)) { - puVar5 = proc_7F0B677C(puVar5,psVar8->index); - } - *puVar5 = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10D8(); - uVar4 = osVirtualToPhysical(virtualAddress); - puVar5[1] = uVar4; - puVar5 = proc_7F0BB298(puVar5 + 2); - param_1 = (longlong)(int)puVar5; - BVar6 = get_debug_do_draw_obj(); - sVar1 = NumberOfRoomsDrawn; - if ((BVar6 != FALSE) && - (iVar2 = proc_7F0BD8F0(), sVar1 = NumberOfRoomsDrawn, iVar2 != 0)) { - param_1 = proc_7F03A6F4(param_1,psVar8->index,2); - sVar1 = NumberOfRoomsDrawn; - } - } - iVar9 += 1; - psVar8 = psVar8 + 1; - } while (iVar9 < sVar1); - } - puVar5 = (undefined4 *)param_1; - iVar10 += 1; - } while (iVar11 + 1 != iVar10); - } - puVar3 = proc_7F0BB298(puVar5); - puVar3 = proc_7F0B4FB4(puVar3); - lVar7 = (longlong)(int)(puVar3 + 2); - *puVar3 = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10E0(); - uVar4 = osVirtualToPhysical(virtualAddress); - puVar3[1] = uVar4; - iVar10 = proc_7F0BD8F0(); - if (iVar10 != 0) { - puVar5 = proc_7F0A0AB4(puVar3 + 2); - lVar7 = (longlong)(int)puVar5; - proc_7F0A1D78(puVar5); - } - if (iVar12 <= iVar11) { - sVar1 = NumberOfRoomsDrawn; - do { - iVar10 = 0; - if (0 < sVar1) { - psVar8 = &struct_8007ffa0_entry_8007ffa0; - do { - if (iVar11 == psVar8->field_0x4) { - puVar5 = (undefined4 *)lVar7; - *puVar5 = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10E0(); - uVar4 = osVirtualToPhysical(virtualAddress); - puVar5[1] = uVar4; - puVar3 = proc_7F0B4FF4(puVar5 + 2,extraout_f12_00,extraout_f14_00, - (float)psVar8->field_0x8,(float)psVar8->field_0xc); - puVar5 = proc_7F0BB070(puVar3,1); - BVar6 = get_debug_do_draw_bg(); - if ((BVar6 != FALSE) && (iVar9 = proc_7F0BD8F0(), iVar9 != 0)) { - puVar5 = proc_7F0B6898(puVar5,psVar8->index); - } - *puVar5 = 0x1030040; - virtualAddress = (void *)get_BONDdata_field_10D8(); - uVar4 = osVirtualToPhysical(virtualAddress); - puVar5[1] = uVar4; - puVar5 = proc_7F0BB298(puVar5 + 2); - lVar7 = (longlong)(int)puVar5; - BVar6 = get_debug_do_draw_obj(); - sVar1 = NumberOfRoomsDrawn; - if ((BVar6 != FALSE) && - (iVar9 = proc_7F0BD8F0(), sVar1 = NumberOfRoomsDrawn, iVar9 != 0)) { - lVar7 = proc_7F03A6F4(lVar7,psVar8->index,1); - sVar1 = NumberOfRoomsDrawn; - } - } - iVar10 += 1; - psVar8 = psVar8 + 1; - } while (iVar10 < sVar1); - } - iVar11 += -1; - } while (iVar11 != iVar12 + -1); - } - return lVar7; -} - - - -int proc_7F0B4034(int param_1) - -{ - bg_room_data *pbVar1; - f32 fVar2; - - if (ptr_bgdata_room_fileposition_list[param_1].ypos == 0.00000000) { - fVar2 = (ptr_bgdata_room_fileposition_list + param_1)[1].ypos; - pbVar1 = ptr_bgdata_room_fileposition_list + param_1; - while( true ) { - param_1 += 1; - if (fVar2 != 0.00000000) break; - fVar2 = pbVar1[2].ypos; - pbVar1 = pbVar1 + 1; - } - } - return param_1; -} - - - -int proc_7F0B4084(int param_1) - -{ - bg_room_data *pbVar1; - f32 fVar2; - - if (ptr_bgdata_room_fileposition_list[param_1].zpos == 0.00000000) { - fVar2 = (ptr_bgdata_room_fileposition_list + param_1)[1].zpos; - pbVar1 = ptr_bgdata_room_fileposition_list + param_1; - while( true ) { - param_1 += 1; - if (fVar2 != 0.00000000) break; - fVar2 = pbVar1[2].zpos; - pbVar1 = pbVar1 + 1; - } - } - return param_1; -} - - - -int proc_7F0B40D4(int param_1) - -{ - bg_room_data *pbVar1; - f32 fVar2; - - if (ptr_bgdata_room_fileposition_list[param_1].xpos == 0.00000000) { - fVar2 = (ptr_bgdata_room_fileposition_list + param_1)[1].xpos; - pbVar1 = ptr_bgdata_room_fileposition_list + param_1; - while( true ) { - param_1 += 1; - if (fVar2 != 0.00000000) break; - fVar2 = pbVar1[2].xpos; - pbVar1 = pbVar1 + 1; - } - } - return param_1; -} - - - -void load_bg_file(STAGENUM stagenum) - -{ - char cVar1; - byte bVar2; - bg_room_data *pbVar3; - LEVEL_INDEX LVar4; - levelentry *plVar6; - int iVar7; - int iVar8; - ulonglong uVar5; - bg_portal_entry *pbVar9; - bg_portal_data_entry *pbVar10; - char *pcVar11; - undefined1 *puVar12; - undefined4 extraout_a0_lo; - bg_room_data *pbVar13; - int *piVar14; - room_index *prVar15; - u32 bytes; - LEVEL_INDEX LVar16; - int iVar17; - int iVar18; - int iVar19; - bg_data_header abStack72 [4]; - - levelentry_index = LEVEL_INDEX_SEVBUNKER; - prVar15 = roominformationblock; - do { - prVar15 = prVar15 + 1; - prVar15->ptr_unique_collision_points = NULL; - prVar15 = prVar15; - } while (prVar15 < &max_num_rooms); - plVar6 = levelinfostruct; - LVar16 = LEVEL_INDEX_SEVBUNKER; - do { - LVar4 = LVar16; - if (stagenum != plVar6->levelID) { - LVar4 = levelentry_index; - } - levelentry_index = LVar4; - LVar16 += LEVEL_INDEX_SILO; - plVar6 = plVar6 + 1; - } while ((int)LVar16 < 0x26); - init_lightfixture_tables(); - ptr_bg_data = abStack72; - load_bg_bytes_at_offset_to_membank - ((byte *)levelinfostruct[levelentry_index].bg_seg_filename,(char *)ptr_bg_data,0,0x40) - ; - DAT_8007ff84 = ptr_bg_data; - iVar17 = (int)&ptr_bg_data->RESERVED + (int)&ptr_bg_data->pRoomDataTable->xpos; - ptr_bgdata_room_fileposition_list = (bg_room_data *)(iVar17 + -0xf000000); - bytes = ((*(uint *)(iVar17 + -0xeffffe8) & 0xffffff) - 1 | 0xf) + 1; - ptr_bg_data = (bg_data_header *)mempAllocBytesInBank(bytes,'\x04'); - load_bg_bytes_at_offset_to_membank - ((byte *)levelinfostruct[levelentry_index].bg_seg_filename,(char *)ptr_bg_data,0,bytes - ); - DAT_8007bf94 = _load_resource_named_to_membank - ((byte *)levelinfostruct[levelentry_index].bg_stan_filename,2,0,4); - load_stan((int)DAT_8007bf94,0,(int)DAT_8007bf94); - proc_7F0AF5B8((int)DAT_8007bf94); - proc_7F0B4810((float)levelinfostruct[levelentry_index].levelscale); - proc_7F0B2950((float)levelinfostruct[levelentry_index].levelscale); - proc_7F0915BC((float)levelinfostruct[levelentry_index].levelscale); - removed_tooklevelscale(levelinfostruct[levelentry_index].levelscale); - room_data_float3 = levelinfostruct[levelentry_index].visibility; - proc_7F08976C(extraout_a0_lo); - proc_7F058C4C(room_data_float3); - DAT_8007bf98 = ptr_bg_data->RESERVED; - DAT_8007ff88 = 1; - if (DAT_8007bf98 == 0) { - DAT_8007ff88 = 2; - iVar17 = (int)&ptr_bg_data->RESERVED + (int)&ptr_bg_data->pRoomDataTable->xpos; - ptr_bgdata_room_fileposition_list = (bg_room_data *)(iVar17 + -0xf000000); - max_num_rooms = 0; - if (*(int *)(iVar17 + -0xeffffe4) != 0) { - max_num_rooms = 0; - iVar17 = iVar17 + -0xeffffe8; - do { - max_num_rooms += 1; - piVar14 = (int *)(iVar17 + 0x1c); - iVar17 = iVar17 + 0x18; - } while (*piVar14 != 0); - } - pbVar10 = (bg_portal_data_entry *) - ((int)ptr_bg_data->pPortalDataTable + (int)ptr_bg_data + -0xf000000); - if (ptr_bg_data->pGlobalVisCmds == NULL) { - DAT_8007ff90 = NULL; - } - else { - DAT_8007ff90 = (char *)((int)ptr_bg_data->pGlobalVisCmds + (int)ptr_bg_data + -0xf000000 - ); - if (ptr_bg_data[1].RESERVED == 0) { - DAT_8007ff94 = 0; - } - else { - DAT_8007ff94 = (int)&ptr_bg_data[-0xf00000].RESERVED + ptr_bg_data[1].RESERVED; - } - } - pbVar9 = pbVar10->offset_portal; - ptr_bgdata_portals = pbVar10; - iVar17 = 0; - DAT_8007ff84 = ptr_bg_data; - while (pbVar9 != NULL) { - pbVar10->offset_portal = - (bg_portal_entry *)((int)&ptr_bg_data[-0xf00000].RESERVED + (int)pbVar9); - pbVar10 = (bg_portal_data_entry *)((int)&ptr_bgdata_portals[1].offset_portal + iVar17); - pbVar9 = pbVar10->offset_portal; - iVar17 = iVar17 + 8; - } - if (DAT_8007ff90 != NULL) { - cVar1 = *DAT_8007ff90; - iVar17 = 0; - pcVar11 = DAT_8007ff90; - while (cVar1 != '\0') { - if (cVar1 == 'd') { - iVar18 = proc_7F0B5E88((int)&ptr_bg_data[-0xf00000].RESERVED + - *(int *)(pcVar11 + 4)); - *(int *)(DAT_8007ff90 + iVar17 + 4) = iVar18; - pcVar11 = DAT_8007ff90 + iVar17; - cVar1 = pcVar11[8]; - } - else { - cVar1 = pcVar11[8]; - } - iVar17 += 8; - pcVar11 = pcVar11 + 8; - } - } - iVar17 = 1; - if (1 < (int)max_num_rooms) { - iVar19 = 0x18; - iVar18 = -0x7ffbeb9c; - pbVar3 = ptr_bgdata_room_fileposition_list; - do { - pbVar13 = pbVar3 + 1; - *(undefined *)(iVar18 + 2) = 0; - *(undefined *)(iVar18 + 0x35) = 0; - if (pbVar3[1].ypos == 0.00000000) { - *(undefined4 *)(iVar18 + 0x14) = 0; - } - else { - iVar8 = proc_7F0B4034(iVar17 + 1); - iVar7 = proc_7F0B4084(iVar17); - if (iVar7 < iVar8) { - pbVar13 = (bg_room_data *) - ((int)&ptr_bgdata_room_fileposition_list->xpos + iVar19); - *(int *)(iVar18 + 0x14) = - (int)ptr_bgdata_room_fileposition_list[iVar7].zpos - (int)pbVar13->ypos - ; - } - else { - pbVar13 = (bg_room_data *) - ((int)&ptr_bgdata_room_fileposition_list->xpos + iVar19); - *(int *)(iVar18 + 0x14) = - (int)ptr_bgdata_room_fileposition_list[iVar8].ypos - (int)pbVar13->ypos - ; - } - } - iVar17 += 1; - if (pbVar13->zpos == 0.00000000) { - *(undefined4 *)(iVar18 + 0x18) = 0; - } - else { - iVar8 = proc_7F0B4034(iVar17); - iVar7 = proc_7F0B4084(iVar17); - if (iVar7 < iVar8) { - pbVar13 = (bg_room_data *) - ((int)&ptr_bgdata_room_fileposition_list->xpos + iVar19); - *(int *)(iVar18 + 0x18) = - (int)ptr_bgdata_room_fileposition_list[iVar7].zpos - (int)pbVar13->zpos - ; - } - else { - pbVar13 = (bg_room_data *) - ((int)&ptr_bgdata_room_fileposition_list->xpos + iVar19); - *(int *)(iVar18 + 0x18) = - (int)ptr_bgdata_room_fileposition_list[iVar8].ypos - (int)pbVar13->zpos - ; - } - } - if (pbVar13->xpos == 0.00000000) { - *(undefined4 *)(iVar18 + 0x10) = 0; - bytes = max_num_rooms; - } - else { - iVar8 = proc_7F0B40D4(iVar17); - bytes = max_num_rooms; - pbVar13 = (bg_room_data *) - ((int)&ptr_bgdata_room_fileposition_list->xpos + iVar19); - *(int *)(iVar18 + 0x10) = - (int)ptr_bgdata_room_fileposition_list[iVar8].xpos - (int)pbVar13->xpos; - } - iVar19 += 0x18; - *(undefined4 *)(iVar18 + 0x28) = 0xffffffff; - iVar18 = iVar18 + 0x50; - pbVar3 = pbVar13; - } while (iVar17 < (int)bytes); - } - iVar17 = 1; - proc_7F0BC530(); - if (1 < (int)max_num_rooms) { - do { - proc_7F0B9338(iVar17); - iVar17 += 1; - } while (iVar17 < (int)max_num_rooms); - } - puVar12 = &dword_800443C4; - pbVar9 = ptr_bgdata_portals->offset_portal; - iVar18 = 0; - iVar17 = 0; - pbVar10 = ptr_bgdata_portals; - if (pbVar9 != NULL) { - do { - uVar5 = proc_7F0B993C(iVar18); - pbVar10 = ptr_bgdata_portals; - piVar14 = (int *)((int)&ptr_bgdata_portals[1].offset_portal + iVar17); - *puVar12 = (char)uVar5; - iVar18 += 1; - puVar12 = puVar12 + 1; - iVar17 = iVar17 + 8; - } while (*piVar14 != 0); - pbVar9 = pbVar10->offset_portal; - } - iVar18 = 0; - iVar17 = 0; - while (pbVar9 != NULL) { - proc_7F0B9B94(iVar18); - iVar18 += 1; - pbVar9 = *(bg_portal_entry **)((int)&ptr_bgdata_portals[1].offset_portal + iVar17); - iVar17 = iVar17 + 8; - pbVar10 = ptr_bgdata_portals; - } - uVar5 = 0; - if ((int)max_num_rooms < 1) { - pbVar9 = pbVar10->offset_portal; - } - else { - do { - proc_7F0B95D8(uVar5); - uVar5 = SEXT48((int)uVar5 + 1); - } while ((longlong)uVar5 < (longlong)(int)max_num_rooms); - pbVar9 = ptr_bgdata_portals->offset_portal; - pbVar10 = ptr_bgdata_portals; - } - if (pbVar9 != NULL) { - bVar2 = *(byte *)&pbVar10->controlbytes; - iVar17 = 0; - while( true ) { - *(byte *)&pbVar10->controlbytes = bVar2 & 0xfe; - pbVar10 = (bg_portal_data_entry *) - ((int)&ptr_bgdata_portals[1].offset_portal + iVar17); - if (pbVar10->offset_portal == NULL) break; - bVar2 = *(byte *)&pbVar10->controlbytes; - iVar17 = iVar17 + 8; - } - } - proc_7F0B37EC(); - } - proc_7F0BAA5C(); - dword_800442F8 = 200; - return; -} - - - -void proc_7F0B47E0(void) - -{ - unload_rooms(); - proc_7F058C4C(1.00000000); - return; -} - - - -void proc_7F0B4810(float param_1) - -{ - room_data_float1 = param_1; - room_data_float2 = 1.00000000 / param_1; - return; -} - - - -f32 proc_7F0B4830(void) - -{ - return (f32)room_data_float2; -} - - - -f32 proc_7F0B483C(void) - -{ - return (f32)room_data_float1; -} - - - -float proc_7F0B4848(void) - -{ - return levelinfostruct[levelentry_index].unknownfloat / - (float)levelinfostruct[levelentry_index].levelscale; -} - - - -f32 proc_7F0B4878(void) - -{ - return (f32)room_data_float3; -} - - - -void proc_7F0B4884(void) - -{ - u32 uVar3; - int iVar4; - undefined4 uVar5; - ulonglong uVar1; - xyzpoint *pxVar6; - float *pfVar7; - longlong lVar2; - bg_portal_data_entry *pbVar8; - bg_portal_data_entry *pbVar9; - int iVar10; - int iVar11; - char *pcVar12; - int iVar13; - bg_portal_entry *pbVar14; - - iVar13 = -1; - num_visible_rooms_in_cur_global_vis_packet = 0; - uVar3 = get_cur_playernum(); - iVar4 = proc_7F09B4D8(uVar3); - if (iVar4 == 0) { - proc_7F0B66E8(); - } - uVar5 = get_camera_mode(); - dword_800442F8 = 3; - if (true) { - switch(uVar5) { - default: - dword_800442F8 = 200; - } - } - uVar1 = get_cur_players_room(); - current_room_maybe = (undefined4)uVar1; - pxVar6 = get_BONDdata_position(); - pfVar7 = (float *)get_BONDdata_position3(); - iVar4 = 0; - pbVar14 = ptr_bgdata_portals->offset_portal; - pbVar8 = ptr_bgdata_portals; - do { - pcVar12 = &dword_800443C4; - iVar10 = 0; - pbVar9 = pbVar8; - if (pbVar14 != NULL) { - iVar11 = 0; - do { - if (*pcVar12 == '\0') { - if (iVar10 == iVar13) { - pbVar14 = pbVar8[1].offset_portal; - } - else { - if (((uVar1 == (ulonglong)pbVar8->connectedRoom1) || - (uVar1 == (ulonglong)pbVar8->connectedRoom2)) && - (lVar2 = proc_7F0B9F14(iVar10,(float *)pxVar6,pfVar7), lVar2 != 0)) { - iVar11 = (int)&ptr_bgdata_portals->offset_portal + iVar11; - uVar1 = (ulonglong)*(byte *)(iVar11 + 5) ^ uVar1 ^ *(byte *)(iVar11 + 4) - ; - iVar13 = iVar10; - pbVar9 = ptr_bgdata_portals; - break; - } - pbVar8 = (bg_portal_data_entry *) - ((int)&ptr_bgdata_portals->offset_portal + iVar11); - pbVar14 = pbVar8[1].offset_portal; - pbVar9 = ptr_bgdata_portals; - } - } - else { - pbVar14 = pbVar8[1].offset_portal; - } - iVar10 += 1; - pcVar12 = pcVar12 + 1; - iVar11 += 8; - pbVar8 = pbVar8 + 1; - } while (pbVar14 != NULL); - } - pbVar8 = pbVar9; - iVar4 += 1; - if ((pbVar8[iVar10].offset_portal == NULL) || (iVar4 == 0xb)) { - current_room_maybe = (undefined4)uVar1; - proc_7F0B8A6C(); - return; - } - pbVar14 = pbVar8->offset_portal; - } while( true ); -} - - - -void proc_7F0B4A50(char *param_1,char param_2) - -{ - char cVar1; - int iVar2; - char *pcVar3; - - iVar2 = 0; - if (*param_1 != -1) { - cVar1 = *param_1; - pcVar3 = param_1; - do { - iVar2 += 1; - if (param_2 == cVar1) { - return; - } - pcVar3 = pcVar3 + 1; - } while ((iVar2 < 0x10) && (cVar1 = *pcVar3, cVar1 != -1)); - } - if (iVar2 < 0xf) { - param_1[iVar2] = param_2; - (param_1 + iVar2)[1] = -1; - } - return; -} - - - -void proc_7F0B4AB4(float *param_1,float *param_2,byte *param_3,int param_4,uint *param_5, - int *param_6,int param_7) - -{ - byte bVar1; - undefined8 uVar2; - char cVar4; - byte *pbVar3; - byte *pbVar5; - bg_portal_data_entry *pbVar6; - byte *pbVar7; - char *pcVar8; - bg_portal_data_entry *pbVar9; - u8 uVar10; - u8 *puVar11; - char *pcVar12; - int iVar13; - int *piVar14; - undefined auStackX0 [12]; - int iStackX12; - char acStack260 [200]; - int iStack60; - int iStack52; - byte abStack48 [8]; - byte abStack40 [8]; - char acStack32 [32]; - - iStackX12 = param_4; - if (ptr_bgdata_portals->offset_portal != NULL) { - pcVar12 = acStack260; - iStack52 = 0; - iVar13 = 0; - do { - uVar2 = proc_7F0B9F14(iStack52,param_1,param_2); - *pcVar12 = (char)uVar2; - iStack52 = iStack52 + 1; - piVar14 = (int *)((int)&ptr_bgdata_portals[1].offset_portal + iVar13); - pcVar12 = pcVar12 + 1; - iVar13 = iVar13 + 8; - } while (*piVar14 != 0); - } - pbVar3 = (byte *)(acStack32 + 0x10); - pbVar7 = param_3; - do { - bVar1 = *pbVar7; - pbVar5 = pbVar3 + 1; - pbVar7 = pbVar7 + 1; - *pbVar3 = bVar1; - pbVar3 = pbVar5; - } while (pbVar5 < acStack32 + 0x18); - pbVar3 = abStack48; - do { - bVar1 = *param_3; - pbVar7 = pbVar3 + 1; - param_3 = param_3 + 1; - *pbVar3 = bVar1; - pbVar3 = pbVar7; - } while (pbVar7 < abStack40); - iStack60 = 0; - if (acStack32[16] == -1) { -LAB_7f0b4bc8: - iStack60 = 0; - } - else { - pcVar12 = acStack32 + 0x10; - while (acStack32[17] != -1) { - if (pcVar12 + 1 == (char *)register0x000000ec) goto LAB_7f0b4bc8; - acStack32[17] = pcVar12[2]; - pcVar12 = pcVar12 + 1; - } - iStack60 = 0; - } - pbVar9 = ptr_bgdata_portals; - do { - iStack60 = 0; - acStack32[0] = -1; - iStack52 = 0; - iVar13 = 0; - pbVar6 = pbVar9; - if (pbVar9->offset_portal == NULL) { - acStack32[0] = -1; - } - else { - do { - pcVar12 = acStack260 + iStack52; - if (acStack32[16] != -1) { - puVar11 = (u8 *)(acStack32 + 0x10); - cVar4 = *pcVar12; - while( true ) { - if ((cVar4 == '\x01') && (pbVar6->connectedRoom1 == *puVar11)) { - proc_7F0B4A50(acStack32,pbVar6->connectedRoom2); - proc_7F0B4A50((char *)abStack48, - (&ptr_bgdata_portals->connectedRoom2)[iVar13]); - *pcVar12 = '\0'; - cVar4 = '\0'; - pbVar6 = (bg_portal_data_entry *) - ((int)&ptr_bgdata_portals->offset_portal + iVar13); - pbVar9 = ptr_bgdata_portals; - } - if (cVar4 == '\x02') { - if (pbVar6->connectedRoom2 == *puVar11) { - proc_7F0B4A50(acStack32,pbVar6->connectedRoom1); - proc_7F0B4A50((char *)abStack48, - (&ptr_bgdata_portals->connectedRoom1)[iVar13]); - *pcVar12 = '\0'; - pbVar6 = (bg_portal_data_entry *) - ((int)&ptr_bgdata_portals->offset_portal + iVar13); - uVar10 = puVar11[1]; - pbVar9 = ptr_bgdata_portals; - } - else { - uVar10 = puVar11[1]; - } - } - else { - uVar10 = puVar11[1]; - } - puVar11 = puVar11 + 1; - if ((uVar10 == -1) || (puVar11 == (u8 *)register0x000000ec)) break; - cVar4 = *pcVar12; - } - } - iVar13 += 8; - pbVar6 = pbVar6 + 1; - iStack52 = iStack52 + 1; - } while (pbVar6->offset_portal != NULL); - } - pcVar8 = acStack32; - pcVar12 = acStack32 + 0x10; - if (acStack32[0] == -1) break; - do { - cVar4 = *pcVar8; - pcVar8 = pcVar8 + 1; - *pcVar12 = cVar4; - pcVar12 = pcVar12 + 1; - } while (pcVar8 < acStack32 + 0x10); - iStack60 = 0; - cVar4 = acStack32[1]; - pcVar12 = acStack32; - if (acStack32[0] != -1) { - while( true ) { - if ((cVar4 == -1) || (pcVar12 + 1 == acStack32 + 0x10)) break; - cVar4 = pcVar12[2]; - pcVar12 = pcVar12 + 1; - } - } - iStack60 = 0; - } while (acStack32[0] != -1); - if (acStack32[16] != -1) { - pcVar12 = acStack32 + iStack60 + 0x10; - pcVar8 = (char *)(iStackX12 + iStack60); - *pcVar8 = *pcVar12; - while( true ) { - pcVar12 = pcVar12 + 1; - pcVar8 = pcVar8 + 1; - iStack60 += 1; - if ((6 < iStack60) || (*pcVar12 == -1)) break; - *pcVar8 = *pcVar12; - } - } - *(undefined *)(iStackX12 + iStack60) = 0xff; - iStack60 = 0; - if (0 < param_7) { - pbVar3 = abStack48; - if (abStack48[0] == 0xff) { - iStack60 = 0; - } - else { - *param_5 = (uint)abStack48[0]; - while( true ) { - pbVar3 = pbVar3 + 1; - param_5 = param_5 + 1; - iStack60 += 1; - if ((param_7 <= iStack60) || (*pbVar3 == 0xff)) break; - *param_5 = (uint)*pbVar3; - } - } - } - *param_6 = iStack60; - return; -} - - - -undefined4 * proc_7F0B4E40(undefined4 *param_1) - -{ - undefined4 uVar1; - int iVar2; - uint *puVar3; - undefined4 *puVar4; - - *param_1 = 0xbc000002; - param_1[1] = 0x80000040; - param_1[2] = 0x3860010; - param_1[3] = 0x80044848; - param_1[4] = 0x3880010; - param_1[5] = 0x80044840; - param_1[6] = 0x3840010; - uVar1 = get_BONDdata_field_10E4(); - param_1[7] = uVar1; - param_1[8] = 0x3820010; - iVar2 = get_BONDdata_field_10E4(); - param_1[9] = iVar2 + 0x10; - param_1[10] = 0xbc003c06; - *(bg_data_header **)(param_1 + 0xb) = ptr_bg_data; - if (DAT_8007ff88 == 1) { - param_1[0xc] = 0x6000000; - puVar4 = param_1 + 0xe; - param_1[0xd] = DAT_8007bf98; - } - else { - puVar4 = proc_7F0BB070(param_1 + 0xc,0); - puVar3 = proc_7F0B8D78((longlong)(int)puVar4); - puVar3 = proc_7F0B4FB4(puVar3); - puVar4 = proc_7F0BB298(puVar3); - } - *puVar4 = 0x1030040; - puVar4[1] = DAT_80060820; - puVar4 = proc_7F08BCF4(puVar4 + 2); - return puVar4; -} - - - -f32 proc_7F0B4F9C(int param_1) - -{ - return *(f32 *)(DAT_8007ff94 + param_1 * 4 + 4); -} - - - -uint * proc_7F0B4FB4(uint *param_1) - -{ - uint *puVar1; - - puVar1 = proc_7F0B5058(param_1,(longlong)pPlayer->viewleft,(longlong)pPlayer->viewtop, - (int)pPlayer->viewleft + (int)pPlayer->viewx, - (int)pPlayer->viewtop + (int)pPlayer->viewy); - return puVar1; -} - - - -uint * proc_7F0B4FF4(uint *param_1,float param_2,float param_3,float param_4,float param_5) - -{ - int iVar1; - int iVar2; - uint *puVar3; - float in_a3_lo; - float in_stack_00000010; - - iVar1 = proc_7F05C4B8(in_a3_lo); - iVar2 = proc_7F05C4B8(in_stack_00000010); - puVar3 = proc_7F0B5058(param_1,(longlong)(int)param_4,(longlong)(int)param_5,iVar1,iVar2); - return puVar3; -} - - - -uint * proc_7F0B5058(uint *param_1,longlong param_2,longlong param_3,int param_4,int param_5) - -{ - short left; - short top; - int iVar1; - int iVar2; - int iVar3; - int local_resc; - - iVar1 = (int)param_2; - left = pPlayer->viewleft; - if (param_2 < left) { - iVar1 = (int)left; - top = pPlayer->viewtop; - } - else { - top = pPlayer->viewtop; - } - iVar2 = (int)param_3; - if (param_3 < top) { - iVar2 = (int)top; - } - iVar3 = (int)left + (int)pPlayer->viewx; - local_resc = param_4; - if (iVar3 < param_4) { - local_resc = iVar3; - } - iVar3 = (int)top + (int)pPlayer->viewy; - if (param_5 <= iVar3) { - iVar3 = param_5; - } - *param_1 = ((int)((float)iVar1 * 4.00000000) & 0xfffU) << 0xc | 0xed000000 | - (int)((float)iVar2 * 4.00000000) & 0xfffU; - param_1[1] = ((int)((float)local_resc * 4.00000000) & 0xfffU) << 0xc | - (int)((float)iVar3 * 4.00000000) & 0xfffU; - return param_1 + 2; -} - - - -void proc_7F0B5168(void) - -{ - portal_table_entry *ppVar1; - - ppVar1 = portal_table_entry_ARRAY_80081618; - do { - ppVar1 = ppVar1 + 4; - ppVar1[1].id = -1; - ppVar1[2].id = -1; - ppVar1[3].id = -1; - ppVar1->id = -1; - ppVar1 = ppVar1; - } while (ppVar1 != (portal_table_entry *)0x800825b8); - return; -} - - - -undefined8 proc_7F0B519C(float *param_1,float *param_2) - -{ - if ((((*param_2 <= *param_1) && (*param_1 <= param_2[2])) && (param_2[1] <= param_1[1])) && - (param_1[1] <= param_2[3])) { - return 1; - } - return 0; -} - - - -undefined8 proc_7F0B5208(int param_1,float *param_2) - -{ - ulonglong uVar1; - undefined8 uVar2; - int iVar3; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - int iVar8; - uint uVar9; - float fVar10; - undefined4 uStack60; - float fStack56; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - uint uStack4; - - iVar3 = 0; - iVar8 = 0; - iVar4 = 0; - iVar5 = 0; - iVar6 = 0; - iVar7 = 0; - video_related_27(&uStack60); - fStack56 = fStack56 / room_data_float3; - uStack4 = 0; - uVar9 = 0; - do { - if (uVar9 == 0) { - fStack28 = roominformationblock[param_1].maxxbounds; - } - else { - fStack28 = roominformationblock[param_1].minxbounds; - } - if ((uStack4 & 2) == 0) { - fStack24 = roominformationblock[param_1].maxybounds; - } - else { - fStack24 = roominformationblock[param_1].minybounds; - } - if ((uStack4 & 4) == 0) { - fStack20 = roominformationblock[param_1].maxzbounds; - } - else { - fStack20 = roominformationblock[param_1].minzbounds; - } - uVar1 = proc_7F0B5488(&fStack28,&fStack16); - if (uVar1 == 0) { - if (fStack56 <= -fStack8) { - iVar3 += 1; - fVar10 = *param_2; - } - else { - fVar10 = *param_2; - } - if (fVar10 <= fStack16) { - iVar4 += 1; - fVar10 = param_2[2]; - } - else { - fVar10 = param_2[2]; - } - if (fStack16 <= fVar10) { - iVar5 += 1; - fVar10 = param_2[1]; - } - else { - fVar10 = param_2[1]; - } - if (fVar10 <= fStack12) { - iVar6 += 1; - fVar10 = param_2[3]; - } - else { - fVar10 = param_2[3]; - } - if (fStack12 <= fVar10) { - iVar7 += 1; - } - iVar8 += 1; - } - else { - if (fStack56 <= -fStack8) { - iVar3 += 1; - fVar10 = *param_2; - } - else { - fVar10 = *param_2; - } - if (fStack16 <= fVar10) { - iVar4 += 1; -LAB_7f0b53ec: - fVar10 = param_2[1]; - } - else { - if (param_2[2] <= fStack16) { - iVar5 += 1; - goto LAB_7f0b53ec; - } - fVar10 = param_2[1]; - } - if (fStack12 <= fVar10) { - iVar6 += 1; - } - else { - if (param_2[3] <= fStack12) { - iVar7 += 1; - } - } - } - uStack4 += 1; - if (uStack4 == 8) { - if ((((iVar8 == 8) || (iVar3 == 8)) || (iVar4 == 8)) || - (((iVar5 == 8 || (iVar6 == 8)) || (uVar2 = 1, iVar7 == 8)))) { - uVar2 = 0; - } - return uVar2; - } - uVar9 = uStack4 & 1; - } while( true ); -} - - - -ulonglong proc_7F0B5488(float *param_1,float *param_2) - -{ - float *pfVar1; - - pfVar1 = (float *)get_BONDdata_field_10CC(); - *param_2 = *param_1 * room_data_float2; - param_2[1] = param_1[1] * room_data_float2; - param_2[2] = param_1[2] * room_data_float2; - proc_7F058474(pfVar1,param_2); - proc_7F078060(param_2,param_2); - return (ulonglong)(param_2[2] <= 0.00000000); -} - - - -ulonglong proc_7F0B5528(int param_1,float param_2,float *param_3) - -{ - bool bVar1; - float *pfVar2; - float *pfVar3; - ulonglong uVar4; - ulonglong uVar5; - int iVar6; - float *in_a2_lo; - float *pfVar7; - longlong lVar8; - bg_portal_entry *pbVar9; - float fVar10; - float fVar11; - float fVar12; - float fStack48; - float fStack44; - float fStack40; - undefined4 uStack24; - float fStack20; - float *pfStack4; - - pfStack4 = (float *)get_BONDdata_field_10CC(); - bVar1 = true; - video_related_27(&uStack24); - fVar12 = flt_80058C7C; - fStack20 = fStack20 / room_data_float3; - lVar8 = 0; - pbVar9 = ptr_bgdata_portals[param_1].offset_portal; - uVar4 = (ulonglong)pbVar9->numPoints; - if (pbVar9->numPoints != 0) { - iVar6 = 0; - pfVar7 = in_a2_lo; - while( true ) { - *(f32 *)pfVar7 = (pbVar9->point).x; - pfVar7[1] = *(float *)((int)&((ptr_bgdata_portals[param_1].offset_portal)->point).y + - iVar6); - pfVar7[2] = *(float *)((int)&((ptr_bgdata_portals[param_1].offset_portal)->point).z + - iVar6); - if ((float)param_3 != 0.00000000) { - proc_7F0B96CC(param_1,&fStack48); - *pfVar7 = *pfVar7 + fStack48 * (float)param_3; - pfVar7[1] = pfVar7[1] + fStack44 * (float)param_3; - pfVar7[2] = pfVar7[2] + fStack40 * (float)param_3; - } - *pfVar7 = *pfVar7 * room_data_float2; - pfVar7[1] = pfVar7[1] * room_data_float2; - pfVar7[2] = pfVar7[2] * room_data_float2; - proc_7F058474(pfStack4,pfVar7); - if (-fStack20 * fVar12 < pfVar7[2]) { - bVar1 = false; - } - lVar8 = (longlong)((int)lVar8 + 1); - pfVar7 = pfVar7 + 3; - uVar4 = (ulonglong)(ptr_bgdata_portals[param_1].offset_portal)->numPoints; - if ((longlong)uVar4 <= lVar8) break; - pbVar9 = (bg_portal_entry *) - ((int)&((ptr_bgdata_portals[param_1].offset_portal)->point).z + iVar6); - iVar6 = iVar6 + 0xc; - } - } - if (bVar1) { - uVar4 = 0; - } - else { - lVar8 = 0; - uVar5 = uVar4; - pfVar7 = in_a2_lo; - if (uVar4 != 0) { - do { - iVar6 = (int)lVar8 + 1; - lVar8 = (longlong)iVar6; - iVar6 %= (int)uVar5; - fVar12 = pfVar7[2]; - if (uVar5 == 0) { - trap(0x1c00); - } - if ((uVar5 == 0xffffffffffffffff) && (lVar8 == -0x80000000)) { - trap(0x1800); - } - if (0.00000000 < fVar12) { - pfVar2 = in_a2_lo + iVar6 * 3; - fVar11 = pfVar2[2]; - if (0.00000000 < fVar11) goto code_r0x7f0b5788; -LAB_7f0b57b4: - iVar6 = (int)uVar4; - fVar10 = -fVar12 / (fVar11 - fVar12); - uVar4 = SEXT48(iVar6 + 1); - pfVar3 = in_a2_lo + iVar6 * 3; - *pfVar3 = (*pfVar2 - *pfVar7) * fVar10 + *pfVar7; - fVar11 = pfVar2[1]; - fVar12 = pfVar7[1]; - pfVar3[2] = 0.00000000; - pfVar3[1] = (fVar11 - fVar12) * fVar10 + fVar12; - uVar5 = (ulonglong)(ptr_bgdata_portals[param_1].offset_portal)->numPoints; - bVar1 = lVar8 < (longlong)uVar5; - } - else { -code_r0x7f0b5788: - if (fVar12 <= 0.00000000) { - pfVar2 = in_a2_lo + iVar6 * 3; - fVar11 = pfVar2[2]; - if (0.00000000 < fVar11) goto LAB_7f0b57b4; - bVar1 = lVar8 < (longlong)uVar5; - } - else { - bVar1 = lVar8 < (longlong)uVar5; - } - } - pfVar7 = pfVar7 + 3; - } while (bVar1); - } - } - return uVar4; -} - - - -s32 proc_7F0B5864(void) - -{ - float fVar1; - ulonglong uVar2; - s32 sVar3; - int in_a0_lo; - float *in_a1_lo; - float *pfVar4; - ulonglong uVar5; - portal_table_entry *ppVar6; - float fVar7; - float extraout_f12; - float extraout_f12_00; - float fVar8; - float fStack264; - float fStack260; - float fStack256; - float fStack252; - float fStack248; - float fStack244; - float afStack240 [60]; - - ppVar6 = portal_table_entry_ARRAY_80081618 + in_a0_lo; - if (ppVar6->id < 0) { - pfVar4 = (float *)proc_7F0B9990(in_a0_lo); - uVar2 = proc_7F0B5528(in_a0_lo,extraout_f12,pfVar4); - if (0.00000000 < (float)pfVar4) { - uVar5 = proc_7F0B5528(in_a0_lo,extraout_f12_00,(float *)-(float)pfVar4); - uVar2 = SEXT48((int)uVar2 + (int)uVar5); - } - sVar3 = 0; - uVar5 = 0; - if (0 < (longlong)uVar2) { - pfVar4 = afStack240; - do { - if (pfVar4[2] <= 0.00000000) { - proc_7F078060(pfVar4,&fStack248); - fVar7 = fStack244; - fVar8 = fStack248; - fVar1 = fStack248; - if (sVar3 == 0) { -LAB_7f0b59f4: - fStack264 = fVar1; - fStack252 = fStack244; - } - else { - fVar1 = fStack248; - if (fStack264 <= fStack248) { - fVar1 = fStack264; - } - fStack264 = fVar1; - if (fStack248 <= fStack256) { - fVar8 = fStack256; - } - if (fStack260 <= fStack244) { - fVar7 = fStack260; - } - fVar1 = fStack264; - if (fStack252 < fStack244) goto LAB_7f0b59f4; - } - sVar3 += 1; - fStack260 = fVar7; - fStack256 = fVar8; - } - uVar5 = SEXT48((int)uVar5 + 1); - pfVar4 = pfVar4 + 3; - } while (uVar5 != uVar2); - } - if (sVar3 == 0) { - fStack252 = 0.00000000; - fStack260 = 0.00000000; - fStack256 = 0.00000000; - fStack264 = 0.00000000; - } - else { - if ((fStack256 <= fStack264) || (fStack252 <= fStack260)) { - fStack264 = pPlayer->screenxminf; - fStack260 = pPlayer->screenyminf; - fStack256 = pPlayer->screenxmaxf; - fStack252 = pPlayer->screenymaxf; - } - } - *in_a1_lo = fStack264; - in_a1_lo[1] = fStack260; - in_a1_lo[2] = fStack256; - in_a1_lo[3] = fStack252; - *(float *)&portal_table_entry_ARRAY_80081618[in_a0_lo].x_min = *in_a1_lo; - *(float *)&portal_table_entry_ARRAY_80081618[in_a0_lo].y_min = in_a1_lo[1]; - *(float *)&portal_table_entry_ARRAY_80081618[in_a0_lo].x_max = in_a1_lo[2]; - fVar7 = in_a1_lo[3]; - ppVar6->id = sVar3; - *(float *)&portal_table_entry_ARRAY_80081618[in_a0_lo].y_max = fVar7; - } - else { - *(s32 *)in_a1_lo = portal_table_entry_ARRAY_80081618[in_a0_lo].x_min; - *(s32 *)(in_a1_lo + 1) = portal_table_entry_ARRAY_80081618[in_a0_lo].y_min; - *(s32 *)(in_a1_lo + 2) = portal_table_entry_ARRAY_80081618[in_a0_lo].x_max; - *(s32 *)(in_a1_lo + 3) = portal_table_entry_ARRAY_80081618[in_a0_lo].y_max; - sVar3 = ppVar6->id; - } - return sVar3; -} - - - -uint * proc_7F0B5B14(uint *param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5) - -{ - param_1[1] = ((uint)param_2 & 0x3ff) << 0xe | ((uint)param_3 & 0x3ff) << 2; - *param_1 = (param_4 + 1U & 0x3ff) << 0xe | 0xf6000000 | (param_5 + 1U & 0x3ff) << 2; - return param_1 + 2; -} - - - -uint * proc_7F0B5B60(uint *param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5) - -{ - uint *puVar1; - int iVar2; - int iVar3; - - iVar2 = (int)param_2; - iVar3 = (int)param_3; - puVar1 = proc_7F0B5B14(param_1,param_2,param_3,param_4,iVar3); - puVar1 = proc_7F0B5B14(puVar1,(longlong)param_4,(longlong)iVar3,param_4,param_5); - puVar1 = proc_7F0B5B14(puVar1,(longlong)iVar2,(longlong)param_5,param_4,param_5); - puVar1 = proc_7F0B5B14(puVar1,(longlong)iVar2,(longlong)iVar3,iVar2,param_5); - return puVar1; -} - - - -undefined8 vis_is_inline_of_sight(float *param_1,float *param_2) - -{ - if (*param_2 < *param_1) { - *param_1 = *param_1; - } - else { - *param_1 = *param_2; - } - if (param_2[1] < param_1[1]) { - param_1[1] = param_1[1]; - } - else { - param_1[1] = param_2[1]; - } - if (param_1[2] < param_2[2]) { - param_1[2] = param_1[2]; - } - else { - param_1[2] = param_2[2]; - } - if (param_1[3] < param_2[3]) { - param_1[3] = param_1[3]; - } - else { - param_1[3] = param_2[3]; - } - if (*param_1 < param_1[2]) { - if (param_1[1] < param_1[3]) { - return 1; - } - param_1[1] = param_1[3]; - return 0; - } - *param_1 = param_1[2]; - return 0; -} - - - -void proc_7F0B5CC0(float *param_1,float *param_2) - -{ - if (*param_1 < *param_2) { - *param_1 = *param_1; - } - else { - *param_1 = *param_2; - } - if (param_1[1] < param_2[1]) { - param_1[1] = param_1[1]; - } - else { - param_1[1] = param_2[1]; - } - if (param_2[2] < param_1[2]) { - param_1[2] = param_1[2]; - } - else { - param_1[2] = param_2[2]; - } - if (param_1[3] <= param_2[3]) { - param_1[3] = param_2[3]; - return; - } - param_1[3] = param_1[3]; - return; -} - - - -void proc_7F0B5D58(undefined4 *param_1,undefined4 *param_2) - -{ - *param_1 = *param_2; - param_1[1] = param_2[1]; - param_1[2] = param_2[2]; - param_1[3] = param_2[3]; - return; -} - - - -char * print_port(undefined8 param_1) - -{ - char *__s; - - DAT_80044860 = (DAT_80044860 + 1) % 10; - __s = (char *)(DAT_80044860 * 9 + -0x7ff83fc0); - sprintf(__s,"PORT%d",param_1); - return __s; -} - - - -char * printroom(undefined8 param_1) - -{ - char *__s; - - DAT_80044864 = (DAT_80044864 + 1) % 10; - __s = (char *)(DAT_80044864 * 9 + -0x7ff83f60); - sprintf(__s,"ROOM%d",param_1); - return __s; -} - - - -u32 get_max_num_rooms(void) - -{ - return max_num_rooms; -} - - - -ulonglong proc_7F0B5E50(int param_1) - -{ - return (ulonglong)*(byte *)&roominformationblock[param_1].bitflags; -} - - - -ulonglong proc_7F0B5E6C(int param_1) - -{ - return (ulonglong)*(byte *)((int)&roominformationblock[param_1].bitflags + 1); -} - - - -int proc_7F0B5E88(int param_1) - -{ - int iVar1; - bg_portal_data_entry *pbVar2; - bg_portal_entry *pbVar3; - - iVar1 = 0; - if (ptr_bgdata_portals->offset_portal != NULL) { - pbVar3 = ptr_bgdata_portals->offset_portal; - pbVar2 = ptr_bgdata_portals; - do { - if ((bg_portal_entry *)param_1 == pbVar3) { - return iVar1; - } - pbVar3 = pbVar2[1].offset_portal; - iVar1 += 1; - pbVar2 = pbVar2 + 1; - } while (pbVar3 != NULL); - } - return 0; -} - - - -void generate_room_load_string(void) - -{ - char *pcVar1; - int iVar2; - char *pcVar3; - int iVar4; - char acStack152 [152]; - - iVar2 = get_debug_prroomloads_flag(); - if (iVar2 != 0) { - iVar2 = -0x7ffbeb9c; - iVar4 = 1; - if (1 < (int)max_num_rooms) { - pcVar3 = acStack152; - do { - pcVar3 = pcVar3 + 1; - pcVar1 = (char *)(iVar2 + 2); - iVar2 += 0x50; - if (*pcVar1 == '\0') { - *pcVar3 = '.'; - } - else { - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - *pcVar3 = (char)(iVar4 % 10) + '0'; - } - iVar4 += 1; - } while (iVar4 < (int)max_num_rooms); - } - acStack152[iVar4] = '\0'; - } - return; -} - - - -u8 * decompressdata_with_8448buffer(int source,u8 *target) - -{ - u8 *puVar1; - u8 buffer [8448]; - - puVar1 = decompressdata((u8 *)source,target,buffer); - return puVar1; -} - - - -int proc_7F0B5FAC(int param_1,int param_2,int param_3) - -{ - int iVar1; - char *src; - uint len; - - len = roominformationblock[param_1].csize_point_index_binary + 0xfU & 0xfffffff0; - if (param_3 < (int)(len + 0x20)) { - iVar1 = -1; - } - else { - src = (char *)((param_3 - len) + param_2); - load_bg_bytes_at_offset_to_membank - ((byte *)levelinfostruct[levelentry_index].bg_seg_filename,src, - (int)ptr_bgdata_room_fileposition_list[param_1].xpos + -0xf000000,len); - iVar1 = decompressdata_with_8448buffer((int)src,param_2); - roominformationblock[param_1].usize_point_index_binary = iVar1; - *(int *)&roominformationblock[param_1].ptr_point_index = param_2; - } - return iVar1; -} - - - -uint * proc_7F0B609C(int param_1,uint *param_2,int param_3) - -{ - uint *puVar1; - char *src; - uint *puVar2; - uint len; - - len = roominformationblock[param_1].csize_primary_DL_binary + 0xfU & 0xfffffff0; - if (param_3 < (int)(len + 0x20)) { - puVar2 = (uint *)0xffffffff; - } - else { - src = (char *)((param_3 - len) + (int)param_2); - load_bg_bytes_at_offset_to_membank - ((byte *)levelinfostruct[levelentry_index].bg_seg_filename,src, - (int)ptr_bgdata_room_fileposition_list[param_1].ypos + -0xf000000,len); - puVar2 = (uint *)decompressdata_with_8448buffer((int)src,param_2); - puVar1 = (uint *)((param_3 - (int)puVar2) + (int)param_2); - proc_7F0CE794((int)param_2,(int)puVar1,(int)puVar2); - proc_7F0BC4C4((short)param_1); - puVar1 = process_microcode_sort_display_modes_expand_image_calls - (puVar1,(int)puVar2,param_2,NULL); - if ((int)puVar2 < (int)puVar1) { - puVar2 = puVar1; - } - *(uint **)&roominformationblock[param_1].ptr_expanded_mapping_info = param_2; - *(uint **)&roominformationblock[param_1].usize_primary_DL_binary = puVar2; - } - return puVar2; -} - - - -uint * proc_7F0B61DC(int param_1,uint *param_2,int param_3) - -{ - uint *puVar1; - char *src; - uint *puVar2; - uint len; - - len = roominformationblock[param_1].csize_secondary_DL_binary + 0xfU & 0xfffffff0; - if (param_3 < (int)(len + 0x20)) { - puVar2 = (uint *)0xffffffff; - } - else { - src = (char *)((param_3 - len) + (int)param_2); - load_bg_bytes_at_offset_to_membank - ((byte *)levelinfostruct[levelentry_index].bg_seg_filename,src, - (int)ptr_bgdata_room_fileposition_list[param_1].zpos + -0xf000000,len); - puVar2 = (uint *)decompressdata_with_8448buffer((int)src,param_2); - puVar1 = (uint *)((param_3 - (int)puVar2) + (int)param_2); - proc_7F0CE794((int)param_2,(int)puVar1,(int)puVar2); - puVar1 = process_microcode_sort_display_modes_expand_image_calls - (puVar1,(int)puVar2,param_2,NULL); - if ((int)puVar2 < (int)puVar1) { - puVar2 = puVar1; - } - *(uint **)&roominformationblock[param_1].ptr_secondary_expanded_mapping_info = param_2; - *(uint **)&roominformationblock[param_1].usize_secondary_DL_binary = puVar2; - } - return puVar2; -} - - - -ulonglong proc_7F0B6314(int param_1) - -{ - bool bVar1; - - bVar1 = roominformationblock[param_1].model_bin_loaded == '\0'; - roominformationblock[param_1].field_35 = '\x01'; - if (bVar1) { - proc_7F0B6368(param_1); - } - return (ulonglong)bVar1; -} - - - -void proc_7F0B6368(int param_1) - -{ - int *piVar1; - int addr; - int iVar2; - uint *puVar3; - int iVar4; - uint maxsize; - uint local_4; - - if ((param_1 < (int)max_num_rooms) && (roominformationblock[param_1].model_bin_loaded == '\0')) - { - local_4 = roominformationblock[param_1].cur_room_totalsize; - if ((int)local_4 < 1) { - local_4 = mem_related_0(); - } - else { - iVar4 = get_debug_joy2detailedit_flag(); - if (iVar4 != 0) { - local_4 += 0x400; - } - } - addr = mem_related_something_find_first(local_4); - iVar4 = 0; - if (addr != 0) { - if (roominformationblock[param_1].csize_point_index_binary == 0) { - roominformationblock[param_1].ptr_point_index = NULL; - roominformationblock[param_1].usize_point_index_binary = 0; - } - else { - iVar2 = proc_7F0B5FAC(param_1,addr,local_4); - iVar4 = 0; - if (-1 < iVar2) { - proc_7F0BB978((longlong)param_1); - iVar4 = iVar2; - } - } - if ((roominformationblock[param_1].csize_primary_DL_binary != 0) && - (puVar3 = proc_7F0B609C(param_1,(uint *)(addr + iVar4),local_4 - iVar4), - -1 < (int)puVar3)) { - iVar4 += (int)puVar3; - } - if (roominformationblock[param_1].csize_secondary_DL_binary == 0) { - roominformationblock[param_1].ptr_secondary_expanded_mapping_info = NULL; - } - else { - puVar3 = proc_7F0B61DC(param_1,(uint *)(addr + iVar4),local_4 - iVar4); - if (0 < (int)puVar3) { - iVar4 += (int)puVar3; - } - } - maxsize = iVar4 + 0x20U & 0xfffffff0; - roominformationblock[param_1].cur_room_totalsize = maxsize; - roominformationblock[param_1].model_bin_loaded = '\x01'; - if (local_4 != maxsize) { - mem_related_1(addr,local_4,maxsize); - } - if (sky_enabled == 0) { - proc_7F0BA640((int *)roominformationblock[param_1].ptr_expanded_mapping_info, - (int *)(roominformationblock[param_1].usize_primary_DL_binary + - (int)roominformationblock[param_1].ptr_expanded_mapping_info),6 - ); - piVar1 = (int *)roominformationblock[param_1].ptr_secondary_expanded_mapping_info; - if (piVar1 != NULL) { - proc_7F0BA640(piVar1,(int *)(roominformationblock[param_1]. - usize_secondary_DL_binary + (int)piVar1),7); - } - } - else { - proc_7F0BA640((int *)roominformationblock[param_1].ptr_expanded_mapping_info, - (int *)(roominformationblock[param_1].usize_primary_DL_binary + - (int)roominformationblock[param_1].ptr_expanded_mapping_info),1 - ); - piVar1 = (int *)roominformationblock[param_1].ptr_secondary_expanded_mapping_info; - if (piVar1 != NULL) { - proc_7F0BA640(piVar1,(int *)(roominformationblock[param_1]. - usize_secondary_DL_binary + (int)piVar1),5); - } - } - proc_7F0B6994(param_1); - generate_room_load_string(); - } - } - return; -} - - - -void proc_7F0B65C4(int param_1) - -{ - u32 size; - - if (roominformationblock[param_1].ptr_unique_collision_points == NULL) { - size = roominformationblock[param_1].cur_room_totalsize; - } - else { - mem_related_model_room_buffers_0 - ((u32)roominformationblock[param_1].ptr_unique_collision_points, - (int)*(short *)&roominformationblock[param_1].bitflags3 * 0x1c + 0xfU & - 0xfffffff0); - roominformationblock[param_1].ptr_unique_collision_points = NULL; - size = roominformationblock[param_1].cur_room_totalsize; - } - if (0 < (int)size) { - if (roominformationblock[param_1].ptr_point_index == NULL) { - mem_related_model_room_buffers_0 - ((u32)roominformationblock[param_1].ptr_expanded_mapping_info,size); - roominformationblock[param_1].ptr_point_index = NULL; - } - else { - mem_related_model_room_buffers_0 - ((u32)roominformationblock[param_1].ptr_point_index,size); - roominformationblock[param_1].ptr_point_index = NULL; - } - roominformationblock[param_1].ptr_expanded_mapping_info = NULL; - roominformationblock[param_1].ptr_secondary_expanded_mapping_info = NULL; - } - roominformationblock[param_1].model_bin_loaded = '\0'; - generate_room_load_string(); - return; -} - - - -void unload_rooms(void) - -{ - u32 uVar1; - int iVar2; - int iVar3; - - iVar3 = 1; - if (1 < (int)max_num_rooms) { - iVar2 = -0x7ffbeb9c; - uVar1 = max_num_rooms; - do { - if (*(char *)(iVar2 + 2) != '\0') { - proc_7F0B65C4(iVar3); - uVar1 = max_num_rooms; - } - iVar3 += 1; - iVar2 += 0x50; - } while (iVar3 < (int)uVar1); - } - return; -} - - - -void proc_7F0B66E8(void) - -{ - char cVar1; - u32 maxrooms; - int iVar2; - int room; - - room = 1; - if (1 < (int)max_num_rooms) { - iVar2 = -0x7ffbeb9c; - maxrooms = max_num_rooms; - do { - if (*(char *)(iVar2 + 0x35) == '\0') { - cVar1 = *(char *)(iVar2 + 2); - if (cVar1 == '\x04') { - proc_7F0B65C4(room); - maxrooms = max_num_rooms; - } - else { - if (cVar1 != '\0') { - *(char *)(iVar2 + 2) = cVar1 + '\x01'; - } - } - } - room += 1; - iVar2 += 0x50; - } while (room < (int)maxrooms); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0b67cc) overlaps instruction at (ram,0x7f0b67c8) -// - -undefined4 * proc_7F0B677C(undefined4 *param_1,int param_2) - -{ - char cVar2; - undefined4 *puVar1; - - if ((param_2 < (int)max_num_rooms) && ((dword_8004485C != 0 || (DAT_80044858 == param_2 % 10)))) - { - cVar2 = roominformationblock[param_2].model_bin_loaded; - if ((cVar2 == '\0') && (0 < dword_800442F8)) { - dword_800442F8 = dword_800442F8 + -1; - proc_7F0B6368(param_2); - cVar2 = roominformationblock[param_2].model_bin_loaded; - } - if (cVar2 != '\0') { - puVar1 = proc_7F0BC9C4(param_1,param_2); - *puVar1 = 0xbc003806; - puVar1[1] = (int)roominformationblock[param_2].ptr_point_index + -0x80000000; - puVar1[2] = 0x6000000; - param_1 = puVar1 + 4; - puVar1[3] = (int)roominformationblock[param_2].ptr_expanded_mapping_info + -0x80000000; - roominformationblock[param_2].model_bin_loaded = '\x01'; - } - } - return param_1; -} - - - -undefined4 * proc_7F0B6898(undefined4 *param_1,int param_2) - -{ - char cVar1; - undefined4 *puVar2; - - if ((param_2 < (int)max_num_rooms) && - (roominformationblock[param_2].ptr_secondary_expanded_mapping_info != NULL)) { - if (dword_8004485C == 0) { - if (DAT_80044858 != param_2 % 10) { - return param_1; - } - cVar1 = roominformationblock[param_2].model_bin_loaded; - } - else { - cVar1 = roominformationblock[param_2].model_bin_loaded; - } - if (cVar1 == '\0') { - proc_7F0B6368(param_2); - } - else { - puVar2 = proc_7F0BC9C4(param_1,param_2); - *puVar2 = 0xbc003806; - puVar2[1] = (int)roominformationblock[param_2].ptr_point_index + -0x80000000; - puVar2[2] = 0x6000000; - param_1 = puVar2 + 4; - puVar2[3] = (int)roominformationblock[param_2].ptr_secondary_expanded_mapping_info + - -0x80000000; - roominformationblock[param_2].model_bin_loaded = '\x01'; - } - } - return param_1; -} - - - -void proc_7F0B6994(int param_1) - -{ - byte bVar1; - short sVar2; - void *pvVar3; - void *pvVar4; - char cVar6; - undefined4 *puVar5; - short *psVar7; - short *psVar8; - int iVar9; - char *pcVar10; - char *pcVar11; - int iVar12; - short sVar13; - - if (roominformationblock[param_1].ptr_unique_collision_points == NULL) { - pvVar3 = roominformationblock[param_1].ptr_point_index; - pcVar11 = (char *)roominformationblock[param_1].ptr_expanded_mapping_info; - iVar12 = 0; - if (*pcVar11 != -0x48) { - cVar6 = *pcVar11; - pcVar10 = pcVar11; - do { - if (cVar6 == '\x04') { - iVar12 += 1; - cVar6 = pcVar10[8]; - } - else { - cVar6 = pcVar10[8]; - } - pcVar10 = pcVar10 + 8; - } while (cVar6 != -0x48); - } - pvVar4 = (void *)mem_related_something_find_first(iVar12 * 0x1c + 0xfU & 0xfffffff0); - if (pvVar4 != NULL) { - roominformationblock[param_1].ptr_unique_collision_points = pvVar4; - *(short *)&roominformationblock[param_1].bitflags3 = (short)iVar12; - iVar12 = 0; - sVar13 = 0; - if (*pcVar11 != -0x48) { - cVar6 = *pcVar11; - do { - if (cVar6 == '\x04') { - psVar7 = (short *)((int)pvVar4 + iVar12 * 0x1c); - *psVar7 = sVar13; - iVar9 = 0; - puVar5 = (undefined4 *)((int)pvVar4 + iVar12 * 0x1c); - do { - iVar9 += 1; - puVar5[1] = 0x7fff; - puVar5[4] = 0xffff8000; - puVar5 = puVar5 + 1; - } while (iVar9 < 3); - bVar1 = pcVar11[1]; - iVar9 = 0; - psVar8 = (short *)((*(uint *)(pcVar11 + 4) & 0xffffff) + (int)pvVar3); - if ((uint)(bVar1 >> 4) != 0xffffffff) { - do { - iVar9 += 1; - if ((longlong)*psVar8 < (longlong)*(int *)(psVar7 + 2)) { - *(int *)(psVar7 + 2) = (int)*psVar8; - sVar2 = psVar8[1]; - } - else { - sVar2 = psVar8[1]; - } - if ((longlong)sVar2 < (longlong)*(int *)(psVar7 + 4)) { - *(int *)(psVar7 + 4) = (int)sVar2; - sVar2 = psVar8[2]; - } - else { - sVar2 = psVar8[2]; - } - if ((longlong)sVar2 < (longlong)*(int *)(psVar7 + 6)) { - *(int *)(psVar7 + 6) = (int)sVar2; - sVar2 = *psVar8; - } - else { - sVar2 = *psVar8; - } - if ((longlong)*(int *)(psVar7 + 8) < (longlong)sVar2) { - *(int *)(psVar7 + 8) = (int)sVar2; - sVar2 = psVar8[1]; - } - else { - sVar2 = psVar8[1]; - } - if ((longlong)*(int *)(psVar7 + 10) < (longlong)sVar2) { - *(int *)(psVar7 + 10) = (int)sVar2; - sVar2 = psVar8[2]; - } - else { - sVar2 = psVar8[2]; - } - if ((longlong)*(int *)(psVar7 + 0xc) < (longlong)sVar2) { - *(int *)(psVar7 + 0xc) = (int)sVar2; - } - psVar8 = psVar8 + 8; - } while (iVar9 != (uint)(bVar1 >> 4) + 1); - } - if (*(int *)(psVar7 + 2) == *(int *)(psVar7 + 8)) { - *(int *)(psVar7 + 8) = *(int *)(psVar7 + 8) + 1; - iVar9 = *(int *)(psVar7 + 10); - } - else { - iVar9 = *(int *)(psVar7 + 10); - } - if (*(int *)(psVar7 + 4) == iVar9) { - *(int *)(psVar7 + 10) = iVar9 + 1; - iVar9 = *(int *)(psVar7 + 6); - } - else { - iVar9 = *(int *)(psVar7 + 6); - } - if (iVar9 == *(int *)(psVar7 + 0xc)) { - *(int *)(psVar7 + 0xc) = *(int *)(psVar7 + 0xc) + 1; - iVar9 = *(int *)(psVar7 + 6); - } - iVar12 += 1; - *(int *)(psVar7 + 2) = - *(int *)(psVar7 + 2) + - (int)(float)ptr_bgdata_room_fileposition_list[param_1].pPointTableBin; - *(int *)(psVar7 + 4) = - *(int *)(psVar7 + 4) + - (int)(float)ptr_bgdata_room_fileposition_list[param_1].pPriMappingBin; - *(int *)(psVar7 + 6) = - iVar9 + (int)(float)ptr_bgdata_room_fileposition_list[param_1]. - pSecMappingBin; - *(int *)(psVar7 + 8) = - *(int *)(psVar7 + 8) + - (int)(float)ptr_bgdata_room_fileposition_list[param_1].pPointTableBin; - *(int *)(psVar7 + 10) = - *(int *)(psVar7 + 10) + - (int)(float)ptr_bgdata_room_fileposition_list[param_1].pPriMappingBin; - *(int *)(psVar7 + 0xc) = - *(int *)(psVar7 + 0xc) + - (int)(float)ptr_bgdata_room_fileposition_list[param_1].pSecMappingBin; - } - cVar6 = pcVar11[8]; - sVar13 += 1; - pcVar11 = pcVar11 + 8; - } while (cVar6 != -0x48); - } - } - } - return; -} - - - -undefined8 proc_7F0B6CEC(float *param_1,float *param_2,int *param_3,int *param_4) - -{ - undefined8 uVar1; - float fVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - float local_74; - float local_48; - float local_44; - - fVar6 = *param_2; - fVar5 = (float)*param_4 - *param_1; - fVar4 = (float)*param_3 - *param_1; - if (fVar6 < 0.00000000) { - fVar6 = -fVar6; - fVar4 = -fVar4; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar4) || (0.00000000 <= fVar5)) { - if (fVar5 < fVar4) { - fVar2 = param_1[1]; - fVar7 = fVar5; - } - else { - fVar2 = param_1[1]; - fVar7 = fVar4; - fVar4 = fVar5; - } - fVar3 = param_2[1]; - fVar5 = (float)param_4[1] - fVar2; - fVar2 = (float)param_3[1] - fVar2; - if (fVar3 < 0.00000000) { - fVar3 = -fVar3; - fVar2 = -fVar2; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar2) || (0.00000000 <= fVar5)) { - local_44 = fVar5; - if (fVar2 <= fVar5) { - local_44 = fVar2; - fVar2 = fVar5; - } - if (local_44 * fVar6 < fVar7 * fVar3) { - local_48 = fVar6; - local_44 = fVar7; - if (fVar2 * fVar6 < fVar7 * fVar3) { - return 0; - } - } - else { - local_48 = fVar3; - if (fVar4 * fVar3 < local_44 * fVar6) { - return 0; - } - } - local_74 = fVar4 * fVar3; - if (fVar2 * fVar6 <= local_74) { - fVar4 = fVar2; - fVar6 = fVar3; - } - fVar2 = param_2[2]; - fVar7 = (float)param_3[2] - param_1[2]; - fVar5 = (float)param_4[2] - param_1[2]; - if (fVar2 < 0.00000000) { - fVar2 = -fVar2; - fVar7 = -fVar7; - fVar5 = -fVar5; - } - if ((0.00000000 <= fVar7) || (0.00000000 <= fVar5)) { - fVar3 = fVar7; - if (fVar7 <= fVar5) { - fVar3 = fVar5; - fVar5 = fVar7; - } - if (local_44 * fVar2 < fVar5 * local_48) { - if (fVar4 * fVar2 < fVar5 * fVar6) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - else { - if (fVar3 * local_48 < local_44 * fVar2) { - uVar1 = 0; - } - else { - uVar1 = 1; - } - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined4 -proc_7F0B7010(float *param_1,float *param_2,float *param_3,short *param_4,int param_5,float *param_6 - ) - -{ - char cVar1; - short sVar2; - longlong lVar3; - bg_room_data *pbVar4; - uint *puVar5; - uint *puVar6; - short *psVar7; - int *piVar8; - ulonglong imageID; - int iVar9; - int iVar10; - int iVar11; - uint *puVar12; - uint *puVar13; - uint uVar14; - int iStack192; - int iStack188; - int iStack184; - int iStack180; - int iStack176; - int iStack172; - int iStack164; - int iStack160; - int iStack156; - int aiStack152 [8]; - int iStack120; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack92; - int iStack88; - int iStack84; - int aiStack80 [2]; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - undefined4 uStack20; - - puVar12 = (uint *)((int)*param_4 * 8 + - (int)roominformationblock[param_5].ptr_expanded_mapping_info); - aiStack80[0] = 0x7fffffff; - uStack20 = 0; - cVar1 = *(char *)(puVar12 + 2); - uVar14 = (uint)*(byte *)((int)puVar12 + 1) & 0xf; - iVar9 = (puVar12[1] & 0xffffff) + (int)roominformationblock[param_5].ptr_point_index; -joined_r0x7f0b70b0: - do { - if ((cVar1 == '\x04') || (cVar1 == -0x48)) { - return uStack20; - } - puVar13 = puVar12 + 2; - if (cVar1 == -0x41) { - piVar8 = &iStack92; - iStack92 = (int)(uint)*(byte *)((int)puVar12 + 0xd) / 10 - uVar14; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar12 + 0xd) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack88 = (int)(uint)*(byte *)((int)puVar12 + 0xe) / 10 - uVar14; - if (false) { - trap(0x1c00); - } - if ((false) && ((ulonglong)*(byte *)((int)puVar12 + 0xe) == 0xffffffff80000000)) { - trap(0x1800); - } - iStack84 = (int)(uint)*(byte *)((int)puVar12 + 0xf) / 10 - uVar14; - if (false) { - trap(0x1c00); - } - iVar10 = iStack92; - iStack120 = DAT_80044874; - iStack116 = DAT_80044878; - iStack112 = DAT_8004487c; - iStack108 = dword_80044868; - iStack104 = DAT_8004486c; - iStack100 = DAT_80044870; - if ((false) && ((ulonglong)*(byte *)((int)puVar12 + 0xf) == 0xffffffff80000000)) { - trap(0x1800); - } - while( true ) { - piVar8 = piVar8 + 1; - psVar7 = (short *)(iVar9 + iVar10 * 0x10); - lVar3 = (longlong)*psVar7; - if (lVar3 < iStack108) { - iStack108 = (int)*psVar7; - lVar3 = (longlong)*psVar7; - } - if (iStack120 < lVar3) { - iStack120 = (int)lVar3; - sVar2 = psVar7[1]; - } - else { - sVar2 = psVar7[1]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < iStack104) { - iStack104 = (int)sVar2; - lVar3 = (longlong)psVar7[1]; - } - if (iStack116 < lVar3) { - iStack116 = (int)lVar3; - sVar2 = psVar7[2]; - } - else { - sVar2 = psVar7[2]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < iStack100) { - iStack100 = (int)sVar2; - lVar3 = (longlong)psVar7[2]; - } - if (iStack112 < lVar3) { - iStack112 = (int)lVar3; - } - if (piVar8 == aiStack80) break; - iVar10 = *piVar8; - } - pbVar4 = ptr_bgdata_room_fileposition_list + param_5; - iStack108 += (int)(float)pbVar4->pPointTableBin; - iStack104 += (int)(float)pbVar4->pPriMappingBin; - iStack100 += (int)(float)pbVar4->pSecMappingBin; - iStack120 += (int)(float)pbVar4->pPointTableBin; - iStack116 += (int)(float)pbVar4->pPriMappingBin; - iStack112 += (int)(float)pbVar4->pSecMappingBin; - lVar3 = proc_7F0B6CEC(param_1,param_3,&iStack108,&iStack120); - if ((lVar3 != 0) && - (lVar3 = proc_7F092890((short *)(iVar9 + iStack92 * 0x10), - (short *)(iVar9 + iStack88 * 0x10), - (short *)(iVar9 + iStack84 * 0x10), - (float *)&ptr_bgdata_room_fileposition_list[param_5]. - pPointTableBin,param_1,param_2,param_3,&fStack72), - lVar3 != 0)) { - uStack20 = 1; - iVar10 = ((int)fStack72 - (int)*param_1) * ((int)fStack72 - (int)*param_1) + - ((int)fStack68 - (int)param_1[1]) * ((int)fStack68 - (int)param_1[1]) + - ((int)fStack64 - (int)param_1[2]) * ((int)fStack64 - (int)param_1[2]); - puVar6 = puVar13; - if (*(char *)puVar13 == -3) { -LAB_7f0b748c: - puVar5 = (uint *)roominformationblock[param_5].ptr_expanded_mapping_info; - } - else { - if (roominformationblock[param_5].ptr_expanded_mapping_info < puVar13) { - cVar1 = *(char *)puVar12; - puVar5 = puVar13; - while( true ) { - puVar6 = puVar5 + -2; - if (cVar1 == -3) break; - if (puVar6 <= roominformationblock[param_5].ptr_expanded_mapping_info) - goto LAB_7f0b748c; - cVar1 = *(char *)(puVar5 + -4); - puVar5 = puVar6; - } - puVar5 = (uint *)roominformationblock[param_5].ptr_expanded_mapping_info; - } - else { - puVar5 = (uint *)roominformationblock[param_5].ptr_expanded_mapping_info; - } - } - if (puVar6 == puVar5) { - imageID = 0xffffffffffffffff; - } - else { - imageID = (ulonglong)*(ushort *)(puVar6[1] - 8 | 0x80000000); - } - lVar3 = check_if_imageID_is_light(imageID); - if (lVar3 != 0) { - iVar10 += -4; - } - if (iVar10 < aiStack80[0]) { - if (imageID == 0x4fd) { - cVar1 = *(char *)(puVar12 + 4); - puVar12 = puVar13; - goto joined_r0x7f0b70b0; - } - *param_6 = fStack72; - param_6[1] = fStack68; - param_6[2] = fStack64; - param_6[3] = fStack60; - param_6[4] = fStack56; - param_6[5] = fStack52; - *(int *)(param_6 + 6) = iStack92 * 0x10 + iVar9; - *(int *)(param_6 + 7) = iStack88 * 0x10 + iVar9; - *(undefined2 *)((int)param_6 + 0x2a) = (short)imageID; - *(uint **)(param_6 + 9) = puVar13; - *(int *)(param_6 + 8) = iStack84 * 0x10 + iVar9; - *(undefined2 *)(param_6 + 10) = 0; - aiStack80[0] = iVar10; - } - } - } - else { - if (cVar1 == -0x4f) { - iVar10 = 0; - do { - iStack180 = DAT_80044880; - iStack176 = DAT_80044884; - iStack172 = DAT_80044888; - iStack192 = DAT_8004488c; - iStack188 = DAT_80044890; - iStack184 = DAT_80044894; - if (iVar10 == 0) { - iStack164 = (puVar12[3] & 0xf) - uVar14; - iStack160 = (*(byte *)((int)puVar12 + 0xf) >> 4) - uVar14; - iStack156 = (*puVar13 & 0xf) - uVar14; - } - else { - if (iVar10 == 1) { - iStack164 = ((uint)*(byte *)((int)puVar12 + 0xe) & 0xf) - uVar14; - iStack160 = (*(ushort *)((int)puVar12 + 0xe) >> 0xc) - uVar14; - iStack156 = (*(byte *)((int)puVar12 + 0xb) >> 4) - uVar14; - } - else { - if (iVar10 == 2) { - iStack164 = ((uint)*(ushort *)(puVar12 + 3) & 0xf) - uVar14; - iStack160 = (*(byte *)((int)puVar12 + 0xd) >> 4) - uVar14; - iStack156 = ((uint)*(byte *)((int)puVar12 + 10) & 0xf) - uVar14; - } - else { - iStack164 = ((uint)*(byte *)(puVar12 + 3) & 0xf) - uVar14; - iStack160 = (puVar12[3] >> 0x1c) - uVar14; - iStack156 = (*(ushort *)((int)puVar12 + 10) >> 0xc) - uVar14; - } - } - } - piVar8 = &iStack164; - iVar11 = iStack164; - while( true ) { - piVar8 = piVar8 + 1; - psVar7 = (short *)(iVar9 + iVar11 * 0x10); - lVar3 = (longlong)*psVar7; - if (lVar3 < iStack180) { - iStack180 = (int)*psVar7; - lVar3 = (longlong)*psVar7; - } - if (iStack192 < lVar3) { - iStack192 = (int)lVar3; - sVar2 = psVar7[1]; - } - else { - sVar2 = psVar7[1]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < iStack176) { - iStack176 = (int)sVar2; - lVar3 = (longlong)psVar7[1]; - } - if (iStack188 < lVar3) { - iStack188 = (int)lVar3; - sVar2 = psVar7[2]; - } - else { - sVar2 = psVar7[2]; - } - lVar3 = (longlong)sVar2; - if (lVar3 < iStack172) { - iStack172 = (int)sVar2; - lVar3 = (longlong)psVar7[2]; - } - if (iStack184 < lVar3) { - iStack184 = (int)lVar3; - } - if (piVar8 == aiStack152) break; - iVar11 = *piVar8; - } - pbVar4 = ptr_bgdata_room_fileposition_list + param_5; - iStack180 += (int)(float)pbVar4->pPointTableBin; - iStack176 += (int)(float)pbVar4->pPriMappingBin; - iStack172 += (int)(float)pbVar4->pSecMappingBin; - iStack192 += (int)(float)pbVar4->pPointTableBin; - iStack188 += (int)(float)pbVar4->pPriMappingBin; - iStack184 += (int)(float)pbVar4->pSecMappingBin; - lVar3 = proc_7F0B6CEC(param_1,param_3,&iStack180,&iStack192); - if ((lVar3 != 0) && - (lVar3 = proc_7F092890((short *)(iVar9 + iStack164 * 0x10), - (short *)(iVar9 + iStack160 * 0x10), - (short *)(iVar9 + iStack156 * 0x10), - (float *)&ptr_bgdata_room_fileposition_list[param_5]. - pPointTableBin,param_1,param_2,param_3, - &fStack72), lVar3 != 0)) { - uStack20 = 1; - iVar11 = ((int)fStack72 - (int)*param_1) * ((int)fStack72 - (int)*param_1) + - ((int)fStack68 - (int)param_1[1]) * - ((int)fStack68 - (int)param_1[1]) + - ((int)fStack64 - (int)param_1[2]) * - ((int)fStack64 - (int)param_1[2]); - puVar6 = puVar13; - if (*(char *)puVar13 == -3) { -LAB_7f0b7950: - puVar5 = (uint *)roominformationblock[param_5].ptr_expanded_mapping_info - ; - } - else { - if (roominformationblock[param_5].ptr_expanded_mapping_info < puVar13) { - cVar1 = *(char *)puVar12; - puVar5 = puVar13; - while( true ) { - puVar6 = puVar5 + -2; - if (cVar1 == -3) break; - if (puVar6 <= roominformationblock[param_5]. - ptr_expanded_mapping_info) goto LAB_7f0b7950; - cVar1 = *(char *)(puVar5 + -4); - puVar5 = puVar6; - } - puVar5 = (uint *)roominformationblock[param_5]. - ptr_expanded_mapping_info; - } - else { - puVar5 = (uint *)roominformationblock[param_5]. - ptr_expanded_mapping_info; - } - } - if (puVar6 == puVar5) { - imageID = 0xffffffffffffffff; - } - else { - imageID = (ulonglong)*(ushort *)(puVar6[1] - 8 | 0x80000000); - } - lVar3 = check_if_imageID_is_light(imageID); - if (lVar3 != 0) { - iVar11 += -4; - } - if ((iVar11 < aiStack80[0]) && (imageID != 0x4fd)) { - *param_6 = fStack72; - param_6[1] = fStack68; - param_6[2] = fStack64; - param_6[3] = fStack60; - param_6[4] = fStack56; - param_6[5] = fStack52; - *(int *)(param_6 + 6) = iStack164 * 0x10 + iVar9; - *(int *)(param_6 + 7) = iStack160 * 0x10 + iVar9; - *(undefined2 *)((int)param_6 + 0x2a) = (short)imageID; - *(uint **)(param_6 + 9) = puVar13; - *(int *)(param_6 + 8) = iStack156 * 0x10 + iVar9; - *(short *)(param_6 + 10) = (short)iVar10 + 1; - aiStack80[0] = iVar11; - } - } - iVar10 += 1; - } while (iVar10 != 4); - } - } - cVar1 = *(char *)(puVar12 + 4); - puVar12 = puVar13; - } while( true ); -} - - - -int proc_7F0B7A78(float *param_1,float *param_2,int param_3,float *param_4) - -{ - char cVar1; - longlong lVar2; - int iVar3; - short *psVar4; - longlong lVar5; - int *piVar6; - int *piVar7; - int iStack108; - int iStack100; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - float fStack76; - float fStack72; - float fStack68; - float fStack64; - float fStack60; - float fStack56; - undefined2 uStack52; - short sStack50; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - short sStack6; - - iStack108 = 0; - iStack100 = 0x7fffffff; - fStack20 = *param_1 * room_data_float1; - psVar4 = (short *)roominformationblock[param_3].ptr_unique_collision_points; - fStack16 = param_1[1] * room_data_float1; - fStack12 = param_1[2] * room_data_float1; - fStack32 = *param_2 * room_data_float1; - fStack28 = param_2[1] * room_data_float1; - fStack44 = fStack32 - fStack20; - fStack24 = param_2[2] * room_data_float1; - fStack40 = fStack28 - fStack16; - fStack36 = fStack24 - fStack12; - if (psVar4 == NULL) { - iStack108 = 0; - } - else { - sStack6 = *(short *)&roominformationblock[param_3].bitflags3; - lVar5 = 0; - piVar6 = (int *)(psVar4 + 2); - if (0 < sStack6) { - piVar7 = (int *)(psVar4 + 8); - do { - lVar2 = proc_7F0B6CEC(&fStack20,&fStack44,piVar6,piVar7); - if ((lVar2 != 0) && - (iVar3 = proc_7F0B7010(&fStack20,&fStack32,&fStack44,psVar4,param_3,&fStack92), - iVar3 != 0)) { - iStack108 = 1; - iVar3 = (int)(fStack92 - fStack20) * (int)(fStack92 - fStack20) + - (int)(fStack88 - fStack16) * (int)(fStack88 - fStack16) + - (int)(fStack84 - fStack12) * (int)(fStack84 - fStack12); - lVar2 = check_if_imageID_is_light((longlong)sStack50); - if (lVar2 != 0) { - iVar3 += -4; - } - if (iVar3 < iStack100) { - *param_4 = fStack92; - param_4[1] = fStack88; - param_4[2] = fStack84; - param_4[3] = fStack80; - param_4[4] = fStack76; - param_4[5] = fStack72; - param_4[6] = fStack68; - param_4[7] = fStack64; - param_4[8] = fStack60; - *(short *)((int)param_4 + 0x2a) = sStack50; - param_4[9] = fStack56; - *(undefined2 *)(param_4 + 10) = uStack52; - iStack100 = iVar3; - } - } - lVar5 = (longlong)((int)lVar5 + 1); - psVar4 = psVar4 + 0xe; - piVar6 = piVar6 + 7; - piVar7 = piVar7 + 7; - } while (lVar5 != (longlong)sStack6); - } - if (iStack108 != 0) { - piVar6 = (int *)param_4[9]; - if (*(char *)piVar6 == -0xb) { - piVar7 = (int *)roominformationblock[param_3].ptr_expanded_mapping_info; - } - else { - if (roominformationblock[param_3].ptr_expanded_mapping_info < piVar6) { - cVar1 = *(char *)(piVar6 + -2); - piVar7 = piVar6; - while( true ) { - piVar6 = piVar7 + -2; - if (cVar1 == -0xb) break; - if (piVar6 <= roominformationblock[param_3].ptr_expanded_mapping_info) { - piVar7 = (int *)roominformationblock[param_3].ptr_expanded_mapping_info; - goto LAB_7f0b7d2c; - } - cVar1 = *(char *)(piVar7 + -4); - piVar7 = piVar6; - } - piVar7 = (int *)roominformationblock[param_3].ptr_expanded_mapping_info; - } - else { - piVar7 = (int *)roominformationblock[param_3].ptr_expanded_mapping_info; - } - } -LAB_7f0b7d2c: - if (piVar6 == piVar7) { - *(undefined2 *)(param_4 + 0xb) = 0xffff; - *(undefined2 *)((int)param_4 + 0x2e) = 0xffff; - } - else { - *(ushort *)(param_4 + 0xb) = (ushort)(*(byte *)((int)piVar6 + 1) >> 5); - *(ushort *)((int)param_4 + 0x2e) = (ushort)((uint)(*piVar6 << 0xb) >> 0x1e); - } - } - } - return iStack108; -} - - - -void proc_7F0B7D94(void) - -{ - DAT_800448a0 = 0; - DAT_800448a4 = 0; - return; -} - - - -ulonglong proc_7F0B7DA8(int param_1) - -{ - byte bVar1; - - bVar1 = roominformationblock[param_1].bitflags2; - if (bVar1 != 0xff) { - bVar1 += 1; - roominformationblock[param_1].bitflags2 = bVar1; - } - return (ulonglong)bVar1; -} - - - -void proc_7F0B7DE4(undefined4 param_1,uint param_2,int param_3,int param_4,undefined4 *param_5) - -{ - int iVar1; - ulonglong uVar2; - int iVar3; - - iVar3 = DAT_800448a0 * 0x20; - if ((param_4 < 2) || - (uVar2 = proc_7F0B7DA8((ptr_bgdata_portals[param_3].connectedRoom1 ^ - ptr_bgdata_portals[param_3].connectedRoom2) ^ param_2), - iVar1 = DAT_800448a0, (longlong)uVar2 < 9)) { - *(undefined4 *)(&DAT_8007c100 + iVar3) = param_1; - *(uint *)(&DAT_8007c104 + iVar3) = param_2; - *(int *)(&DAT_8007c10c + iVar3) = param_4; - *(int *)(&DAT_8007c108 + iVar3) = param_3; - *(undefined4 *)(&DAT_8007c110 + iVar3) = *param_5; - *(undefined4 *)(&DAT_8007c114 + iVar3) = param_5[1]; - *(undefined4 *)(&DAT_8007c118 + iVar3) = param_5[2]; - *(undefined4 *)(&DAT_8007c11c + iVar3) = param_5[3]; - DAT_800448a0 += 1; - if (DAT_800448a0 == 500) { - DAT_800448a0 = 0; - } - iVar1 = DAT_800448a0 + -1; - if (DAT_800448a4 != DAT_800448a0) { - return; - } - } - DAT_800448a0 = iVar1; - return; -} - - - -undefined8 proc_7F0B7EE4(int *param_1) - -{ - undefined8 uVar1; - undefined8 uVar2; - int iVar3; - - iVar3 = DAT_800448a4 * 0x20; - if (DAT_800448a0 == DAT_800448a4) { - uVar1 = 0; - } - else { - uVar2 = proc_7F0B7F84((longlong)*param_1,*(int *)(&DAT_8007c104 + iVar3), - *(int *)(&DAT_8007c108 + iVar3),*(int *)(&DAT_8007c10c + iVar3), - (float *)(&DAT_8007c110 + iVar3)); - DAT_800448a4 += 1; - if (DAT_800448a4 == 500) { - DAT_800448a4 = 0; - } - uVar1 = 1; - *param_1 = (int)uVar2; - } - return uVar1; -} - - - -// WARNING: Instruction at (ram,0x7f0b8318) overlaps instruction at (ram,0x7f0b8314) -// - -undefined8 proc_7F0B7F84(undefined8 param_1,int param_2,int param_3,int param_4,float *param_5) - -{ - byte bVar1; - xyzpoint *pxVar3; - longlong lVar2; - uint uVar4; - bg_portal_data_entry *pbVar5; - ulonglong uVar6; - int iVar7; - bg_portal_entry *pbVar8; - int iVar9; - float fVar10; - float fVar11; - float fStack44; - float fStack40; - float fStack36; - float fStack32; - float fStack28; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - DAT_80044898 += 1; - if (100 < param_4) { - return param_1; - } - if (dword_8004489C < param_4) { - return param_1; - } - if (0xf < param_4) { - return param_1; - } - if ((*(byte *)&ptr_bgdata_portals[param_3].controlbytes & 1) != 0) { - return param_1; - } - pxVar3 = get_BONDdata_position(); - proc_7F0B96CC(param_3,&fStack44); - fVar11 = ((float)pxVar3->z * fStack36 + - fStack44 * (float)pxVar3->x + fStack40 * (float)pxVar3->y) * room_data_float1; - fVar10 = proc_7F0B9990(param_3); - pbVar5 = ptr_bgdata_portals + param_3; - uVar6 = (ulonglong)pbVar5->connectedRoom1; - if ((longlong)param_2 == uVar6) { - uVar6 = (ulonglong)pbVar5->connectedRoom2; - if (fStack28 <= fVar11 - fVar10) { - return param_1; - } - } - else { - if (fVar11 + fVar10 <= fStack32) { - return param_1; - } - } - if (fStack32 - fVar10 < fVar11) { - if (fVar11 < fStack28 + fVar10) { - fStack16 = pPlayer->screenxminf; - fStack12 = pPlayer->screenyminf; - fStack8 = pPlayer->screenxmaxf; - fStack4 = pPlayer->screenymaxf; - goto LAB_7f0b8264; - } - bVar1 = *(byte *)&pbVar5->controlbytes; - } - else { - bVar1 = *(byte *)&pbVar5->controlbytes; - } - if ((bVar1 & 2) == 0) { - lVar2 = proc_7F0B5864(); - if (lVar2 == 0) { - return param_1; - } - vis_is_inline_of_sight(&fStack16,param_5); - vis_is_inline_of_sight(&fStack16,&pPlayer->screenxminf); - } - else { - lVar2 = proc_7F0B5864(); - if (lVar2 == 0) { - return param_1; - } - uVar6 = (ulonglong) - (ptr_bgdata_portals[param_3].connectedRoom2 ^ - ptr_bgdata_portals[param_3].connectedRoom1) ^ (longlong)param_2; - lVar2 = proc_7F0B5208((int)uVar6,&fStack16); - if (lVar2 == 0) { - return param_1; - } - fStack16 = pPlayer->screenxminf; - fStack12 = pPlayer->screenyminf; - fStack8 = pPlayer->screenxmaxf; - fStack4 = pPlayer->screenymaxf; - } - if (fStack8 <= fStack16) { - return param_1; - } - if (fStack4 <= fStack12) { - return param_1; - } -LAB_7f0b8264: - (&dword_800442FC)[param_3] = (char)param_4; - if ((fStack16 < fStack8) && (fStack12 < fStack4)) { - uVar4 = proc_7F0B39BC((uint)uVar6,param_4,&fStack16, - (uint)*(byte *)&ptr_bgdata_portals[param_3].controlbytes & 2); - if (uVar4 == 0) { - iVar9 = 0; - iVar7 = 0; - pbVar8 = ptr_bgdata_portals->offset_portal; - pbVar5 = ptr_bgdata_portals; - while (pbVar8 != NULL) { - if (iVar9 == param_3) { - pbVar8 = pbVar5[1].offset_portal; - } - else { - if ((uVar6 == (ulonglong)pbVar5->connectedRoom1) || - (uVar6 == (ulonglong)pbVar5->connectedRoom2)) { - proc_7F0B7DE4((int)param_1,(uint)uVar6,iVar9,param_4 + 1,&fStack16); - pbVar5 = (bg_portal_data_entry *) - ((int)&ptr_bgdata_portals->offset_portal + iVar7); - } - pbVar8 = pbVar5[1].offset_portal; - } - iVar9 += 1; - iVar7 += 8; - pbVar5 = pbVar5 + 1; - } - } - } - return param_1; -} - - - -undefined8 push_arg_to_table(undefined8 param_1) - -{ - *(int *)(&DAT_800448a8 + DAT_800448f8 * 4) = (int)param_1; - DAT_800448f8 = (DAT_800448f8 + 1) % 0x14; - return param_1; -} - - - -undefined4 pull_arg_from_stack(void) - -{ - DAT_800448f8 = (DAT_800448f8 + 0x13) % 0x14; - return *(undefined4 *)(&DAT_800448a8 + DAT_800448f8 * 4); -} - - - -undefined4 proc_7F0B83E4(int param_1) - -{ - return *(undefined4 *)(&DAT_800448a8 + (((DAT_800448f8 - param_1) + 0x13) % 0x14) * 4); -} - - - -byte * parse_global_vis_command_list(vis_command *cmd,uint mode) - -{ - byte bVar1; - bool bVar2; - bool bVar3; - uint uVar6; - uint uVar7; - longlong lVar4; - int iVar8; - ulonglong uVar5; - byte *pbVar9; - room_index *prVar10; - int iVar11; - float afStack40 [4]; - float afStack24 [6]; - - bVar2 = true; - DAT_80081610 = 0; - if (cmd == NULL) { -LAB_7f0b89f4: - return (byte *)cmd; - } -LAB_7f0b8480: - do { - bVar1 = cmd->type; - while (0x27 < bVar1) { - if (false) { - return (byte *)cmd; - } - switch((uint)bVar1) { - case 0x50: - pbVar9 = parse_global_vis_command_list(cmd + cmd->size,mode); - cmd = (vis_command *)(pbVar9 + (uint)pbVar9[1] * 8); - goto LAB_7f0b8480; - case 0x51: - bVar3 = mode != 0; - mode = 0; - cmd = cmd + cmd->size; - if (bVar3) { - DAT_80081610 = 1; - } - goto LAB_7f0b8480; - case 0x52: - DAT_80081610 = 0; - return (byte *)(cmd + cmd->size); - default: - return (byte *)cmd; - case 0x5a: - uVar6 = pull_arg_from_stack(); - cmd = (vis_command *)parse_global_vis_command_list(cmd + cmd->size,uVar6 & mode); - if (DAT_80081610 != 0) { - mode = 0; - goto LAB_7f0b8480; - } - bVar1 = cmd->type; - break; - case 0x5b: - mode ^= 1; - cmd = cmd + cmd->size; - goto LAB_7f0b8480; - case 0x5c: - return (byte *)(cmd + cmd->size); - } - } - if (false) { - return (byte *)cmd; - } - switch(bVar1) { - case 0: - return (byte *)cmd; - case 1: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - push_arg_to_table((longlong)cmd->room); - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 2: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - pull_arg_from_stack(); - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 3: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - uVar6 = pull_arg_from_stack(); - uVar7 = pull_arg_from_stack(); - push_arg_to_table((longlong)(int)(uVar7 & uVar6)); - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 4: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - uVar6 = pull_arg_from_stack(); - uVar7 = pull_arg_from_stack(); - push_arg_to_table((longlong)(int)(uVar7 | uVar6)); - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 5: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - iVar8 = pull_arg_from_stack(); - push_arg_to_table((ulonglong)(iVar8 == 0)); - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 6: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - uVar6 = pull_arg_from_stack(); - uVar7 = pull_arg_from_stack(); - push_arg_to_table((longlong)(int)(uVar7 ^ uVar6)); - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - default: - goto LAB_7f0b89f4; - case 0x14: - if (mode != 0) { - uVar5 = (ulonglong)(current_room_maybe < cmd[1].room) ^ 1; - if (uVar5 != 0) { - uVar5 = (ulonglong)(cmd[2].room < current_room_maybe) ^ 1; - } - push_arg_to_table(uVar5); - } - cmd = cmd + cmd->size; - break; - case 0x1e: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - DAT_80081600 = pPlayer->screenxminf; - DAT_80081604 = pPlayer->screenyminf; - DAT_80081608 = pPlayer->screenxmaxf; - DAT_8008160c = pPlayer->screenymaxf; - current_visibility = 0; - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 0x1f: - if (mode != 0) { - lVar4 = proc_7F0B5864(); - if (lVar4 == 0) { - current_visibility = 1; - } - else { - lVar4 = vis_is_inline_of_sight((float *)&DAT_80081600,&pPlayer->screenxminf); - if (lVar4 == 0) { - current_visibility = 1; - } - else { - current_visibility = 0; - } - } - } - cmd = cmd + cmd->size; - break; - case 0x20: - if (mode == 0) { - uVar6 = (uint)cmd->size; - } - else { - if (current_visibility == 0) { - lVar4 = proc_7F0B5208(cmd[1].room,(float *)&DAT_80081600); - if (lVar4 != 0) { - proc_7F0B39BC(cmd[1].room,0,(float *)&DAT_80081600,0); - (&list_visible_rooms_in_cur_global_vis_packet) - [num_visible_rooms_in_cur_global_vis_packet] = (char)cmd[1].room; - num_visible_rooms_in_cur_global_vis_packet += 1; - } - uVar6 = (uint)cmd->size; - } - else { - uVar6 = (uint)cmd->size; - } - } - cmd = cmd + uVar6; - break; - case 0x21: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - current_visibility = 1; - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 0x22: - if (mode == 0) { -LAB_7f0b8704: - uVar6 = (uint)cmd->size; - } - else { - lVar4 = proc_7F0B5864(); - if (lVar4 == 0) { - uVar6 = (uint)cmd->size; - } - else { - lVar4 = vis_is_inline_of_sight(afStack24,&pPlayer->screenxminf); - if (lVar4 != 0) { - if (current_visibility == 0) { - proc_7F0B5CC0((float *)&DAT_80081600,afStack24); - } - else { - proc_7F0B5D58(&DAT_80081600,afStack24); - current_visibility = 0; - } - goto LAB_7f0b8704; - } - uVar6 = (uint)cmd->size; - } - } - cmd = cmd + uVar6; - break; - case 0x23: - if (mode == 0) { - uVar6 = (uint)cmd->size; - } - else { - if (current_visibility == 0) { - lVar4 = proc_7F0B5864(); - if (((lVar4 == 0) || - (lVar4 = vis_is_inline_of_sight(afStack40,&pPlayer->screenxminf), lVar4 == 0 - )) || (lVar4 = vis_is_inline_of_sight((float *)&DAT_80081600,afStack40), - lVar4 == 0)) { - current_visibility = 1; - uVar6 = (uint)cmd->size; - } - else { - uVar6 = (uint)cmd->size; - } - } - else { - uVar6 = (uint)cmd->size; - } - } - cmd = cmd + uVar6; - break; - case 0x24: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - roominformationblock[cmd[1].room].room_loaded_mask = '\x01'; - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 0x25: - if (mode == 0) { - bVar1 = cmd->size; - } - else { - iVar8 = cmd[1].room; - if (iVar8 <= cmd[2].room) { - roominformationblock[iVar8].room_loaded_mask = '\x01'; - prVar10 = roominformationblock + iVar8; - while( true ) { - iVar8 += 1; - if (cmd[2].room < iVar8) break; - prVar10[1].room_loaded_mask = '\x01'; - prVar10 = prVar10 + 1; - } - } - bVar1 = cmd->size; - } - cmd = cmd + bVar1; - break; - case 0x26: - if (mode == 0) { - uVar6 = (uint)cmd->size; - } - else { - if (bVar2) { - uVar5 = proc_7F0B6314(cmd[1].room); - bVar2 = uVar5 == 0; - uVar6 = (uint)cmd->size; - } - else { - uVar6 = (uint)cmd->size; - } - } - cmd = cmd + uVar6; - break; - case 0x27: - if (mode == 0) { - uVar6 = (uint)cmd->size; - } - else { - iVar8 = cmd[1].room; - iVar11 = cmd[2].room; - if (iVar11 < iVar8) { - uVar6 = (uint)cmd->size; - } - else { - do { - if (bVar2) { - uVar5 = proc_7F0B6314(iVar8); - bVar2 = uVar5 == 0; - iVar11 = cmd[2].room; - } - iVar8 += 1; - } while (iVar8 <= iVar11); - uVar6 = (uint)cmd->size; - } - } - cmd = cmd + uVar6; - } - } while( true ); -} - - - -byte * proc_7F0B8A24(byte *param_1) - -{ - current_visibility = 0; - if (param_1 != NULL) { - proc_7F0B83E4(0); - param_1 = parse_global_vis_command_list((vis_command *)param_1,1); - } - return param_1; -} - - - -// WARNING: Instruction at (ram,0x7f0b8c4c) overlaps instruction at (ram,0x7f0b8c48) -// - -void proc_7F0B8A6C(void) - -{ - byte bVar1; - byte bVar2; - room_index *prVar4; - undefined *puVar5; - longlong lVar3; - bg_portal_data_entry *pbVar6; - bg_portal_entry *pbVar7; - int iVar8; - int iVar9; - int aiStack28 [3]; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - proc_7F0B908C(); - fStack16 = pPlayer->screenxminf; - fStack12 = pPlayer->screenyminf; - fStack8 = pPlayer->screenxmaxf; - fStack4 = pPlayer->screenymaxf; - proc_7F0B3BC4(); - prVar4 = roominformationblock; - do { - prVar4 = prVar4 + 1; - *(undefined *)&prVar4->bitflags = 0; - *(undefined *)((int)&prVar4->bitflags + 1) = 0; - prVar4->room_loaded_mask = '\0'; - prVar4 = prVar4; - } while (prVar4 < &max_num_rooms); - puVar5 = &dword_800442FC; - do { - puVar5 = puVar5 + 4; - puVar5[1] = 0; - puVar5[2] = 0; - puVar5[3] = 0; - *puVar5 = 0; - puVar5 = puVar5; - } while (puVar5 != &dword_800443C4); - DAT_80044858 = (DAT_80044858 + 1) % 10; - DAT_8007ff98 = 0; - DAT_80044898 = 0; - proc_7F0B7D94(); - proc_7F0B5168(); - proc_7F0B8A24(DAT_8007ff90); - if ((levelentry_index == LEVEL_INDEX_CRAD) || (ptr_bgdata_portals->offset_portal == NULL)) { - if (levelentry_index == LEVEL_INDEX_CRAD) { - proc_7F0B39BC(9,0,&pPlayer->screenxminf,1); - } - iVar8 = 1; - if (1 < (int)max_num_rooms) { - do { - lVar3 = proc_7F0B5208(iVar8,&pPlayer->screenxminf); - if (lVar3 != 0) { - proc_7F0B39BC(iVar8,0,&pPlayer->screenxminf,1); - } - iVar8 += 1; - } while (iVar8 < (int)max_num_rooms); - } - pbVar7 = ptr_bgdata_portals->offset_portal; - } - else { - if (levelentry_index == LEVEL_INDEX_CRAD) { - proc_7F0B39BC(9,0,&pPlayer->screenxminf,1); - } - proc_7F0B39BC(current_room_maybe,0,&pPlayer->screenxminf,1); - iVar9 = 0; - iVar8 = 0; - pbVar7 = ptr_bgdata_portals->offset_portal; - pbVar6 = ptr_bgdata_portals; - while (pbVar7 != NULL) { - if (((longlong)(int)current_room_maybe == (ulonglong)pbVar6->connectedRoom1) || - ((longlong)(int)current_room_maybe == (ulonglong)pbVar6->connectedRoom2)) { - proc_7F0B7DE4(0,current_room_maybe,iVar9,1,&fStack16); - pbVar6 = (bg_portal_data_entry *)((int)&ptr_bgdata_portals->offset_portal + iVar8); - } - pbVar7 = pbVar6[1].offset_portal; - iVar9 += 1; - iVar8 += 8; - pbVar6 = pbVar6 + 1; - } - aiStack28[0] = 0; - lVar3 = proc_7F0B7EE4(aiStack28); - while (lVar3 != 0) { - lVar3 = proc_7F0B7EE4(aiStack28); - } - pbVar7 = ptr_bgdata_portals->offset_portal; - } - if (pbVar7 == NULL) { - return; - } - bVar1 = ptr_bgdata_portals->connectedRoom1; - pbVar6 = ptr_bgdata_portals; - do { - bVar2 = pbVar6->connectedRoom2; - if ((*(char *)&roominformationblock[bVar1].bitflags == '\0') || - (*(char *)&roominformationblock[bVar2].bitflags != '\0')) { - if (*(char *)&roominformationblock[bVar2].bitflags == '\0') { - pbVar7 = pbVar6[1].offset_portal; - } - else { - if (*(char *)&roominformationblock[bVar1].bitflags == '\0') { - *(undefined *)((int)&roominformationblock[bVar1].bitflags + 1) = 1; - goto LAB_7f0b8d54; - } - pbVar7 = pbVar6[1].offset_portal; - } - } - else { - *(undefined *)((int)&roominformationblock[bVar2].bitflags + 1) = 1; -LAB_7f0b8d54: - pbVar7 = pbVar6[1].offset_portal; - } - if (pbVar7 == NULL) { - return; - } - bVar1 = pbVar6[1].connectedRoom1; - pbVar6 = pbVar6 + 1; - } while( true ); -} - - - -uint * proc_7F0B8D78(longlong param_1) - -{ - struct_8007ffa0_entry *psVar2; - longlong lVar1; - uint *puVar3; - int iVar4; - - if (levelentry_index == LEVEL_INDEX_DAM) { - psVar2 = &struct_8007ffa0_entry_8007ffa0; - iVar4 = 0; - if (0 < NumberOfRoomsDrawn) { - do { - iVar4 += 1; - if (psVar2->index == 0x23) { - psVar2->field_0x4 = 0; - break; - } - psVar2 = psVar2 + 1; - } while (iVar4 < NumberOfRoomsDrawn); - } - } - lVar1 = proc_7F0B3C8C(param_1); - puVar3 = proc_7F0B4FB4((uint *)lVar1); - return puVar3; -} - - - -int proc_7F0B8DF4(ulonglong param_1,int param_2,int param_3) - -{ - byte bVar1; - int iVar2; - int iVar3; - int iVar4; - bg_portal_data_entry *pbVar5; - int *piVar6; - - iVar3 = 0; - iVar2 = 0; - if (ptr_bgdata_portals->offset_portal == NULL) { - return 0; - } - bVar1 = ptr_bgdata_portals->connectedRoom1; - iVar4 = 0; - pbVar5 = ptr_bgdata_portals; - do { - piVar6 = (int *)(param_2 + iVar3 * 4); - if (param_1 == (ulonglong)bVar1) { - *piVar6 = iVar2; -LAB_7f0b8e50: - iVar3 += 1; - } - else { - if (param_1 == (ulonglong)pbVar5->connectedRoom2) { - *piVar6 = iVar2; - goto LAB_7f0b8e50; - } - } - if (param_3 <= iVar3) { - return iVar3; - } - iVar2 += 1; - pbVar5 = (bg_portal_data_entry *)((int)&ptr_bgdata_portals[1].offset_portal + iVar4); - if (pbVar5->offset_portal == NULL) { - return iVar3; - } - bVar1 = pbVar5->connectedRoom1; - iVar4 = iVar4 + 8; - } while( true ); -} - - - -int proc_7F0B8E98(uint *param_1,int param_2) - -{ - byte bVar1; - int iVar2; - byte *pbVar3; - - iVar2 = 0; - if ((0 < num_visible_rooms_in_cur_global_vis_packet) && (0 < param_2)) { - pbVar3 = &list_visible_rooms_in_cur_global_vis_packet; - bVar1 = list_visible_rooms_in_cur_global_vis_packet; - while( true ) { - iVar2 += 1; - *param_1 = (uint)bVar1; - pbVar3 = pbVar3 + 1; - if ((num_visible_rooms_in_cur_global_vis_packet <= iVar2) || (param_2 <= iVar2)) break; - bVar1 = *pbVar3; - param_1 = param_1 + 1; - } - } - return iVar2; -} - - - -int proc_7F0B8EFC(ulonglong param_1,int *param_2,int param_3) - -{ - byte bVar1; - ulonglong uVar2; - int iVar3; - int iVar4; - int iVar5; - bg_portal_data_entry *pbVar6; - ulonglong uVar7; - int iVar8; - int *piVar9; - bg_portal_entry *pbVar10; - - if (ptr_bgdata_portals->offset_portal == NULL) { - return 0; - } - iVar5 = 0; - bVar1 = ptr_bgdata_portals->connectedRoom1; - iVar3 = 0; - pbVar6 = ptr_bgdata_portals; - do { - uVar2 = (ulonglong)bVar1; - uVar7 = (ulonglong)pbVar6->connectedRoom2; - if ((ulonglong)bVar1 == param_1) { - uVar2 = (ulonglong)pbVar6->connectedRoom2; - uVar7 = param_1; - } - iVar4 = iVar3; - if (uVar7 == param_1) { - iVar8 = 0; - piVar9 = param_2; - if (0 < iVar3) { - do { - iVar8 += 1; - if (uVar2 == (longlong)*piVar9) { - pbVar10 = pbVar6[1].offset_portal; - goto LAB_7f0b8fa8; - } - piVar9 = piVar9 + 1; - } while (iVar8 != iVar3); - } - iVar4 = iVar3 + 1; - param_2[iVar3] = (int)uVar2; - if (param_3 <= iVar4) { - return iVar4; - } - pbVar6 = (bg_portal_data_entry *)((int)&ptr_bgdata_portals->offset_portal + iVar5); - pbVar10 = pbVar6[1].offset_portal; - } - else { - pbVar10 = pbVar6[1].offset_portal; - } -LAB_7f0b8fa8: - iVar5 += 8; - if (pbVar10 == NULL) { - return iVar4; - } - bVar1 = pbVar6[1].connectedRoom1; - iVar3 = iVar4; - pbVar6 = pbVar6 + 1; - } while( true ); -} - - - -undefined8 proc_7F0B8FD0(ulonglong param_1,ulonglong param_2) - -{ - byte bVar1; - bg_portal_data_entry *pbVar2; - bg_portal_entry *pbVar3; - - if (ptr_bgdata_portals->offset_portal != NULL) { - bVar1 = ptr_bgdata_portals->connectedRoom1; - pbVar2 = ptr_bgdata_portals; - while( true ) { - if (((ulonglong)bVar1 == param_1) && ((ulonglong)pbVar2->connectedRoom2 == param_2)) { - return 1; - } - if ((ulonglong)pbVar2->connectedRoom2 == param_1) { - if ((ulonglong)bVar1 == param_2) { - return 1; - } - pbVar3 = pbVar2[1].offset_portal; - } - else { - pbVar3 = pbVar2[1].offset_portal; - } - if (pbVar3 == NULL) break; - bVar1 = pbVar2[1].connectedRoom1; - pbVar2 = pbVar2 + 1; - } - } - return 0; -} - - - -float proc_7F0B9040(int param_1,float param_2,float param_3) - -{ - float in_a1_lo; - float in_a2_lo; - int iVar1; - - iVar1 = (int)((float)(&dword_80041404)[param_1] * in_a1_lo + in_a2_lo); - (&dword_80041404)[param_1] = iVar1; - return (float)iVar1; -} - - - -void proc_7F0B908C(void) - -{ - short sVar1; - short sVar2; - float fVar3; - float fVar4; - float fVar5; - float fVar6; - float fVar7; - - fVar4 = (float)dword_80041404; - fVar7 = (float)dword_80041408; - sVar1 = get_video2_settings_txtClipW(); - fVar6 = (float)dword_8004140C + (float)(int)sVar1; - sVar1 = get_video2_settings_txtClipH(); - fVar5 = (float)dword_80041410 + (float)(int)sVar1; - sVar1 = get_video2_settings_ulx(); - pPlayer->screenxminf = (float)(int)sVar1; - fVar3 = pPlayer->screenxminf; - if (fVar3 < fVar4) { - pPlayer->screenxminf = fVar4; - fVar3 = pPlayer->screenxminf; - } - if (fVar6 < fVar3) { - pPlayer->screenxminf = fVar6; - } - sVar1 = get_video2_settings_uly(); - pPlayer->screenyminf = (float)(int)sVar1; - fVar3 = pPlayer->screenyminf; - if (fVar3 < fVar7) { - pPlayer->screenyminf = fVar7; - fVar3 = pPlayer->screenyminf; - } - if (fVar5 < fVar3) { - pPlayer->screenyminf = fVar5; - } - sVar1 = get_video2_settings_ulx(); - sVar2 = get_video2_settings_width(); - pPlayer->screenxmaxf = (float)((int)sVar2 + (int)sVar1); - fVar3 = pPlayer->screenxmaxf; - if (fVar3 < fVar4) { - pPlayer->screenxmaxf = fVar4; - fVar3 = pPlayer->screenxmaxf; - } - if (fVar6 < fVar3) { - pPlayer->screenxmaxf = fVar6; - } - sVar1 = get_video2_settings_uly(); - sVar2 = get_video2_settings_height(); - pPlayer->screenymaxf = (float)((int)sVar2 + (int)sVar1); - fVar3 = pPlayer->screenymaxf; - if (fVar3 < fVar7) { - pPlayer->screenymaxf = fVar7; - fVar3 = pPlayer->screenymaxf; - } - if (fVar5 < fVar3) { - pPlayer->screenymaxf = fVar5; - } - return; -} - - - -void proc_7F0B92B4(int param_1,float *param_2) - -{ - int iVar1; - room_index *local_a2_lo_76; - float fVar2; - - iVar1 = 1; - fVar2 = (roominformationblock[param_1].maxxbounds + roominformationblock[param_1].minxbounds) * - 0.50000000; - if (true) { - *param_2 = fVar2; - local_a2_lo_76 = roominformationblock + param_1; - while( true ) { - iVar1 += 1; - param_2 = param_2 + 1; - fVar2 = (local_a2_lo_76->maxybounds + local_a2_lo_76->minybounds) * 0.50000000; - if (iVar1 == 3) break; - *param_2 = fVar2; - local_a2_lo_76 = (room_index *)&local_a2_lo_76->ptr_point_index; - } - } - *param_2 = fVar2; - return; -} - - - -void proc_7F0B9338(int param_1) - -{ - char cVar1; - short sVar2; - short *psVar3; - int iVar4; - int iVar5; - short *psVar6; - room_index *prVar7; - short *psVar8; - short *psVar9; - bg_room_data *pbVar10; - short sVar11; - int iVar12; - short local_18 [3]; - short local_12 [9]; - - pbVar10 = ptr_bgdata_room_fileposition_list + param_1; - if (pbVar10->xpos == 0.00000000) { - if ((param_1 < DAT_8007b9dc) && ((&DAT_8007b128)[param_1] != 0)) { - psVar8 = &DAT_8007b358 + param_1 * 6; - iVar4 = 0; - prVar7 = roominformationblock + param_1; - do { - pbVar10 = ptr_bgdata_room_fileposition_list; - sVar2 = psVar8[3]; - iVar12 = (int)sVar2 + (int)*psVar8; - iVar5 = iVar4 + 4; - prVar7->minxbounds = (float)(int)*psVar8; - psVar8 = psVar8 + 1; - prVar7->maxxbounds = (float)(int)sVar2; - if (iVar12 < 0) { - iVar12 += 1; - } - *(float *)((int)&pbVar10[param_1].pPointTableBin + iVar4) = (float)(iVar12 >> 1); - iVar4 = iVar5; - prVar7 = (room_index *)&prVar7->ptr_point_index; - } while (iVar5 != 0xc); - } - } - else { - cVar1 = roominformationblock[param_1].model_bin_loaded; - if (cVar1 == '\0') { - proc_7F0B6368(param_1); - pbVar10 = ptr_bgdata_room_fileposition_list + param_1; - psVar8 = (short *)roominformationblock[param_1].ptr_point_index; - } - else { - psVar8 = (short *)roominformationblock[param_1].ptr_point_index; - } - psVar9 = (short *)(roominformationblock[param_1].usize_point_index_binary + (int)psVar8); - local_18[0] = 0x7fff; - local_18[1] = 0x7fff; - local_18[2] = 0x7fff; - local_12[0] = -0x7fff; - local_12[1] = -0x7fff; - local_12[2] = -0x7fff; - if (psVar8 < psVar9) { - do { - psVar3 = local_18; - psVar6 = psVar8; - do { - sVar2 = *psVar6; - if (sVar2 < *psVar3) { - *psVar3 = sVar2; - sVar2 = *psVar6; - sVar11 = psVar3[3]; - } - else { - sVar11 = psVar3[3]; - } - if (sVar11 < sVar2) { - psVar3[3] = sVar2; - } - psVar3 = psVar3 + 1; - psVar6 = psVar6 + 1; - } while (psVar3 != local_12); - psVar8 = psVar8 + 8; - } while (psVar8 < psVar9); - } - roominformationblock[param_1].minxbounds = - (float)pbVar10->pPointTableBin + (float)(int)local_18[0]; - roominformationblock[param_1].minybounds = - (float)pbVar10->pPriMappingBin + (float)(int)local_18[1]; - roominformationblock[param_1].minzbounds = - (float)pbVar10->pSecMappingBin + (float)(int)local_18[2]; - roominformationblock[param_1].maxxbounds = - (float)pbVar10->pPointTableBin + (float)(int)local_12[0]; - roominformationblock[param_1].maxybounds = - (float)pbVar10->pPriMappingBin + (float)(int)local_12[1]; - roominformationblock[param_1].maxzbounds = - (float)pbVar10->pSecMappingBin + (float)(int)local_12[2]; - if (cVar1 == '\0') { - proc_7F0B65C4(param_1); - } - } - return; -} - - - -int proc_7F0B95D8(ulonglong param_1) - -{ - byte bVar1; - int iVar2; - bg_portal_data_entry *pbVar3; - longlong lVar4; - int iVar5; - room_index *prVar6; - bg_portal_entry *pbVar7; - float fVar8; - float fVar9; - - iVar2 = 0; - if (ptr_bgdata_portals->offset_portal == NULL) { - return 0; - } - bVar1 = ptr_bgdata_portals->connectedRoom1; - pbVar3 = ptr_bgdata_portals; - do { - if (param_1 == (ulonglong)bVar1) { - pbVar7 = pbVar3->offset_portal; -LAB_7f0b9614: - lVar4 = 0; - if (pbVar7->numPoints != '\0') { - do { - iVar5 = 0; - prVar6 = roominformationblock + (int)param_1; - do { - fVar8 = *(float *)((int)&(&pbVar7->point)[(int)lVar4].x + iVar5); - iVar5 += 4; - if (fVar8 < prVar6->minxbounds) { - prVar6->minxbounds = fVar8; - iVar2 += 1; - fVar9 = prVar6->maxxbounds; - } - else { - fVar9 = prVar6->maxxbounds; - } - if (fVar9 < fVar8) { - prVar6->maxxbounds = fVar8; - iVar2 += 1; - } - prVar6 = (room_index *)&prVar6->ptr_point_index; - pbVar7 = pbVar3->offset_portal; - } while (iVar5 != 0xc); - lVar4 = (longlong)((int)lVar4 + 1); - } while (lVar4 < (longlong)(ulonglong)pbVar7->numPoints); - } - pbVar7 = pbVar3[1].offset_portal; - } - else { - if (param_1 == (ulonglong)pbVar3->connectedRoom2) { - pbVar7 = pbVar3->offset_portal; - goto LAB_7f0b9614; - } - pbVar7 = pbVar3[1].offset_portal; - } - if (pbVar7 == NULL) { - return iVar2; - } - bVar1 = pbVar3[1].connectedRoom1; - pbVar3 = pbVar3 + 1; - } while( true ); -} - - - -void proc_7F0B96CC(int param_1,float *param_2) - -{ - float *pfVar1; - byte *pbVar2; - int iVar3; - bg_portal_entry *pbVar4; - u8 *puVar5; - bg_portal_data_entry *pbVar6; - float fVar7; - float fVar8; - float fVar9; - float fVar10; - undefined auStackX0 [16]; - float fStack24; - float fStack20; - float fStack16; - float fStack12; - float fStack8; - float fStack4; - - iVar3 = 0; - pbVar6 = ptr_bgdata_portals + param_1; - pbVar4 = pbVar6->offset_portal; - pfVar1 = &fStack8; - while (pfVar1 < register0x000000ec) { - puVar5 = &pbVar4->numPoints + iVar3; - iVar3 += 4; - pfVar1[-1] = *(float *)(puVar5 + 4) - *(float *)(puVar5 + 0x10); - pbVar4 = pbVar6->offset_portal; - pfVar1 = pfVar1 + 1; - } - pfVar1[-1] = *(float *)(&pbVar4->numPoints + iVar3 + 4) - - *(float *)(&pbVar4->numPoints + iVar3 + 0x10); - iVar3 = 0; - pbVar4 = pbVar6->offset_portal; - pfVar1 = &fStack20; - while (pfVar1 < &fStack12) { - puVar5 = &pbVar4->numPoints + iVar3; - iVar3 += 4; - pfVar1[-1] = *(float *)(puVar5 + 0x1c) - *(float *)(puVar5 + 0x10); - pbVar4 = pbVar6->offset_portal; - pfVar1 = pfVar1 + 1; - } - pfVar1[-1] = *(float *)(&pbVar4->numPoints + iVar3 + 0x1c) - - *(float *)(&pbVar4->numPoints + iVar3 + 0x10); - *param_2 = fStack8 * fStack16 - fStack20 * fStack4; - param_2[1] = fStack4 * fStack24 - fStack16 * fStack12; - param_2[2] = fStack12 * fStack20 - fStack24 * fStack8; - fVar7 = sqrtf(param_2[2] * param_2[2] + *param_2 * *param_2 + param_2[1] * param_2[1]); - iVar3 = 0; - if (fVar7 == 0.00000000) { - fVar9 = *param_2; - } - else { - fVar7 = 1.00000000 / fVar7; - fVar9 = *param_2; - } - *param_2 = fVar9 * fVar7; - param_2[1] = param_2[1] * fVar7; - param_2[2] = param_2[2] * fVar7; - pbVar4 = ptr_bgdata_portals[param_1].offset_portal; - pbVar2 = &pbVar4->numPoints; - fVar7 = flt_80058D54; - fVar9 = flt_80058D58; - if (*pbVar2 != 0) { - fVar8 = flt_80058D54; - fVar10 = flt_80058D58; - do { - iVar3 += 0xc; - fVar9 = param_2[2] * (float)(pbVar4->point).z + - (float)(pbVar4->point).x * *param_2 + (float)(pbVar4->point).y * param_2[1]; - fVar7 = fVar9; - if (fVar8 <= fVar9) { - fVar7 = fVar8; - } - if (fVar9 <= fVar10) { - fVar9 = fVar10; - } - pbVar4 = (bg_portal_entry *)&(pbVar4->point).z; - fVar8 = fVar7; - fVar10 = fVar9; - } while (iVar3 < (int)((uint)*pbVar2 * 0xc)); - } - param_2[3] = fVar7; - param_2[4] = fVar9; - return; -} - - - -ulonglong proc_7F0B993C(int param_1) - -{ - float afStack20 [2]; - float fStack12; - - proc_7F0B96CC(param_1,afStack20); - return (ulonglong)(flt_80058D5C <= fStack12 * fStack12 + afStack20[0] * afStack20[0]); -} - - - -float proc_7F0B9990(int param_1) - -{ - byte bVar1; - uint uVar2; - uint uVar3; - float fVar4; - - bVar1 = *(byte *)((int)&ptr_bgdata_portals[param_1].controlbytes + 1); - uVar3 = (int)(uint)bVar1 >> 4; - fVar4 = (float)((uint)bVar1 & 0xf) * 0.25000000; - if (uVar3 != 0) { - uVar2 = -(uVar3 & 3) + uVar3; - if (-(uVar3 & 3) != 0) { - do { - uVar3 -= 1; - fVar4 = fVar4 + fVar4; - } while (uVar2 != uVar3); - if (uVar3 == 0) { - return fVar4; - } - } - do { - uVar3 -= 4; - fVar4 = fVar4 + fVar4 + fVar4 + fVar4; - fVar4 = fVar4 + fVar4; - fVar4 = fVar4 + fVar4; - } while (uVar3 != 0); - } - return fVar4; -} - - - -ulonglong proc_7F0B9A14(int param_1) - -{ - return (ulonglong)*(byte *)((int)&ptr_bgdata_portals[param_1].controlbytes + 1); -} - - - -void proc_7F0B9A2C(int param_1) - -{ - char cVar1; - byte bVar2; - - cVar1 = *(char *)((int)&ptr_bgdata_portals[param_1].controlbytes + 1); - bVar2 = cVar1 + 1; - if (cVar1 == -1) { - bVar2 = 0xff; - } - else { - if ((int)(uint)bVar2 >> 4 != 0) { - bVar2 |= 8; - } - } - *(byte *)((int)&ptr_bgdata_portals[param_1].controlbytes + 1) = bVar2; - return; -} - - - -void proc_7F0B9A7C(int param_1) - -{ - uint uVar1; - byte bVar2; - - bVar2 = *(byte *)((int)&ptr_bgdata_portals[param_1].controlbytes + 1); - if ((int)(uint)bVar2 >> 4 == 0) { - if (bVar2 != 0) { - bVar2 -= 1; - } - } - else { - uVar1 = (uint)bVar2 - 1; - bVar2 = (byte)uVar1; - if ((uVar1 & 0xf) < 8) { - bVar2 -= 8; - } - } - *(byte *)((int)&ptr_bgdata_portals[param_1].controlbytes + 1) = bVar2; - return; -} - - - -ulonglong proc_7F0B9AE4(int param_1) - -{ - return (ulonglong)*(byte *)&ptr_bgdata_portals[param_1].controlbytes & 1; -} - - - -ulonglong proc_7F0B9B04(int param_1) - -{ - return (ulonglong)*(byte *)&ptr_bgdata_portals[param_1].controlbytes & 2; -} - - - -void proc_7F0B9B24(int param_1) - -{ - *(byte *)&ptr_bgdata_portals[param_1].controlbytes = - *(byte *)&ptr_bgdata_portals[param_1].controlbytes | 2; - return; -} - - - -void proc_7F0B9B44(int param_1) - -{ - *(byte *)&ptr_bgdata_portals[param_1].controlbytes = - *(byte *)&ptr_bgdata_portals[param_1].controlbytes & 0xfd; - return; -} - - - -void proc_7F0B9B64(int param_1) - -{ - u8 uVar1; - bg_portal_data_entry *pbVar2; - - pbVar2 = ptr_bgdata_portals + param_1; - uVar1 = pbVar2->connectedRoom1; - pbVar2->connectedRoom1 = pbVar2->connectedRoom2; - ptr_bgdata_portals[param_1].connectedRoom2 = uVar1; - return; -} - - - -void proc_7F0B9B94(int param_1) - -{ - byte bVar1; - bool bVar2; - float fVar3; - float local_2c; - float local_28; - float local_24; - float local_20; - float local_1c; - float local_18; - float local_14; - float local_10; - float local_c; - float local_8; - float local_4; - - bVar1 = ptr_bgdata_portals[param_1].connectedRoom2; - proc_7F0B92B4((uint)ptr_bgdata_portals[param_1].connectedRoom1,&local_c); - proc_7F0B92B4((uint)bVar1,&local_18); - proc_7F0B96CC(param_1,&local_2c); - bVar2 = local_1c < local_4 * local_24 + local_2c * local_c + local_28 * local_8; - if (bVar2) { - proc_7F0B9B64(param_1); - fVar3 = -local_1c; - local_1c = -local_20; - local_28 = -local_28; - local_24 = -local_24; - local_2c = -local_2c; - local_20 = fVar3; - } - if ((local_10 * local_24 + local_2c * local_18 + local_28 * local_14 <= local_20) && (bVar2)) { - proc_7F0B9B64(param_1); - } - return; -} - - - -int proc_7F0B9CC8(ulonglong param_1,ulonglong param_2,float *param_3,float *param_4) - -{ - byte bVar1; - bg_portal_data_entry *pbVar3; - longlong lVar2; - int iVar4; - int iVar5; - int iVar6; - int iVar7; - - iVar7 = -1; - iVar4 = 0; - if (ptr_bgdata_portals->offset_portal != NULL) { - bVar1 = ptr_bgdata_portals->connectedRoom1; - iVar6 = iVar7; - iVar5 = 0; - pbVar3 = ptr_bgdata_portals; - while( true ) { - iVar7 = iVar6; - if ((((param_1 == (ulonglong)bVar1) && (param_2 == (ulonglong)pbVar3->connectedRoom2)) - || ((param_2 == (ulonglong)bVar1 && (param_1 == (ulonglong)pbVar3->connectedRoom2))) - ) && (lVar2 = proc_7F0B9F14(iVar4,param_3,param_4), iVar7 = iVar4, lVar2 == 0)) { - iVar7 = iVar6; - } - iVar4 += 1; - pbVar3 = (bg_portal_data_entry *)((int)&ptr_bgdata_portals[1].offset_portal + iVar5); - if (pbVar3->offset_portal == NULL) break; - bVar1 = pbVar3->connectedRoom1; - iVar6 = iVar7; - iVar5 = iVar5 + 8; - } - } - return iVar7; -} - - - -void proc_7F0B9DBC(int param_1,longlong param_2) - -{ - *(byte *)&ptr_bgdata_portals[param_1].controlbytes = - (*(byte *)&ptr_bgdata_portals[param_1].controlbytes | 1) ^ param_2 != 0; - return; -} - - - -undefined8 proc_7F0B9DE4(undefined8 param_1) - -{ - return param_1; -} - - - -void proc_7F0B9DF4(void) - -{ - return; -} - - - -void proc_7F0B9DFC(void) - -{ - return; -} - - - -int proc_7F0B9E04(float *param_1,float *param_2) - -{ - longlong lVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - int *piVar6; - float fVar7; - float fVar8; - - iVar5 = -1; - iVar2 = 0; - if (ptr_bgdata_portals->offset_portal != NULL) { - fVar8 = flt_80058D60; - iVar4 = iVar5; - iVar3 = 0; - do { - lVar1 = proc_7F0B9F14(iVar2,param_1,param_2); - fVar7 = fVar8; - iVar5 = iVar4; - if (lVar1 != 0) { - fVar7 = DAT_80044900; - if (DAT_80044900 < 0.00000000) { - fVar7 = -DAT_80044900; - } - iVar5 = iVar2; - if (fVar8 <= fVar7) { - fVar7 = fVar8; - iVar5 = iVar4; - } - } - fVar8 = fVar7; - iVar2 += 1; - piVar6 = (int *)((int)&ptr_bgdata_portals[1].offset_portal + iVar3); - iVar4 = iVar5; - iVar3 = iVar3 + 8; - } while (*piVar6 != 0); - } - return iVar5; -} - - - -undefined8 proc_7F0B9F14(int param_1,float *param_2,float *param_3) - -{ - int iVar1; - bool bVar2; - bool bVar3; - bg_portal_entry *pbVar4; - u8 *puVar5; - undefined8 uVar6; - int iVar7; - ulonglong uVar8; - bg_portal_data_entry *pbVar9; - int iVar10; - float fVar11; - float fVar12; - float fVar13; - float fVar14; - float fVar15; - float fStack64; - float fStack60; - float fStack56; - float fStack52; - - proc_7F0B96CC(param_1,&fStack64); - bVar3 = false; - bVar2 = false; - fVar13 = (fStack56 * param_2[2] + *param_2 * fStack64 + param_2[1] * fStack60) * - room_data_float1; - fVar11 = (fStack56 * param_3[2] + *param_3 * fStack64 + param_3[1] * fStack60) * - room_data_float1; - if (((fVar13 < fStack52) && (fVar11 < fStack52)) || ((fStack52 < fVar13 && (fStack52 < fVar11))) - ) { - uVar6 = 0; - } - else { - pbVar9 = ptr_bgdata_portals + param_1; - DAT_80044900 = (fVar13 + fVar11) * 0.50000000 - fStack52; - iVar7 = 0; - pbVar4 = pbVar9->offset_portal; - uVar8 = (ulonglong)pbVar4->numPoints; - if (pbVar4->numPoints != 0) { - iVar10 = 1; - while( true ) { - iVar1 = iVar10 % (int)uVar8; - if (uVar8 == 0) { - trap(0x1c00); - } - if ((uVar8 == 0xffffffffffffffff) && ((longlong)iVar10 == -0x80000000)) { - trap(0x1800); - } - fVar14 = (float)(&pbVar4->point)[iVar1].x - - *(float *)((int)&(pbVar4->point).x + iVar7); - fVar11 = (float)(&pbVar9->offset_portal->point)[iVar1].y - - *(float *)((int)&(pbVar9->offset_portal->point).y + iVar7); - fVar15 = (float)(&pbVar9->offset_portal->point)[iVar1].z - - *(float *)((int)&(pbVar9->offset_portal->point).z + iVar7); - fVar12 = fVar11 * (param_3[2] - param_2[2]) - (param_3[1] - param_2[1]) * fVar15; - fVar15 = fVar15 * (*param_3 - *param_2) - (param_3[2] - param_2[2]) * fVar14; - fVar11 = fVar14 * (param_3[1] - param_2[1]) - (*param_3 - *param_2) * fVar11; - if (fVar11 * fVar11 + fVar12 * fVar12 + fVar15 * fVar15 == 0.00000000) { - return 0; - } - puVar5 = &pbVar9->offset_portal->numPoints + iVar7; - if ((param_2[2] * fVar11 + fVar12 * *param_2 + fVar15 * param_2[1]) * - room_data_float1 < - *(float *)(puVar5 + 0xc) * fVar11 + - fVar12 * *(float *)(puVar5 + 4) + fVar15 * *(float *)(puVar5 + 8)) { - if (bVar2) { - return 0; - } - bVar3 = true; - } - else { - bVar2 = true; - if (bVar3) { - return 0; - } - } - pbVar4 = pbVar9->offset_portal; - iVar7 += 0xc; - uVar8 = (ulonglong)pbVar4->numPoints; - if ((longlong)uVar8 <= (longlong)iVar10) break; - iVar10 += 1; - } - } - uVar6 = 2; - if (fVar13 < fStack52) { - uVar6 = 1; - } - } - return uVar6; -} - - - -undefined8 proc_7F0BA26C(int param_1,float *param_2,float *param_3,int param_4) - -{ - int iVar1; - float *pfVar2; - float *pfVar3; - float fVar4; - - iVar1 = 0; - while( true ) { - fVar4 = *param_2; - pfVar2 = (float *)(param_4 + iVar1); - pfVar3 = (float *)(param_1 + iVar1); - iVar1 += 4; - param_2 = param_2 + 1; - if ((fVar4 < *param_3) || (*pfVar2 < *pfVar3)) break; - param_3 = param_3 + 1; - if (iVar1 == 0xc) { - return 1; - } - } - return 0; -} - - - -void proc_7F0BA2D4(float *param_1,float *param_2,int *param_3,int *param_4,int param_5) - -{ - byte bVar1; - bg_portal_data_entry *pbVar3; - float *pfVar4; - ulonglong uVar2; - int *piVar5; - float *pfVar6; - int iVar7; - longlong lVar8; - bg_portal_data_entry *pbVar9; - int iVar10; - bg_portal_entry *pbVar11; - int iVar12; - int iVar13; - ulonglong uVar14; - float fVar15; - float fVar16; - int *piStack92; - float afStack84 [3]; - float afStack72 [3]; - int iStack60; - int iStack44; - float fStack36; - float fStack32; - float fStack28; - float fStack24; - float fStack20; - float fStack16; - - iVar12 = *param_4; - iStack44 = 0; - fStack24 = *param_1 * room_data_float1; - fStack20 = param_1[1] * room_data_float1; - fStack16 = param_1[2] * room_data_float1; - fStack36 = *param_2 * room_data_float1; - fStack32 = param_2[1] * room_data_float1; - iStack60 = iVar12; - fStack28 = param_2[2] * room_data_float1; - do { - iStack60 = iVar12; - if (iStack44 < iVar12) { - piStack92 = param_3 + iStack44; - pbVar3 = ptr_bgdata_portals; - do { - iVar13 = 0; - uVar14 = SEXT48(*piStack92); - if (pbVar3->offset_portal != NULL) { - bVar1 = *(byte *)&pbVar3->controlbytes; - pbVar9 = pbVar3; - do { - if ((bVar1 & 1) == 0) { - if ((uVar14 == (ulonglong)pbVar9->connectedRoom1) || - (uVar14 == (ulonglong)pbVar9->connectedRoom2)) { - afStack72[0] = dword_80044904; - afStack72[1] = DAT_80044908; - afStack72[2] = DAT_8004490c; - lVar8 = 0; - afStack84[0] = DAT_80044910; - afStack84[1] = DAT_80044914; - afStack84[2] = DAT_80044918; - pbVar11 = pbVar9->offset_portal; - if (pbVar11->numPoints != '\0') { - do { - iVar7 = 0; - pfVar6 = afStack72; - pfVar4 = afStack84; - do { - fVar15 = *(float *)((int)&(&pbVar11->point)[(int)lVar8]. - x + iVar7); - iVar7 += 4; - if (fVar15 < *pfVar6) { - *pfVar6 = fVar15; - fVar16 = *pfVar4; - } - else { - fVar16 = *pfVar4; - } - pfVar6 = pfVar6 + 1; - if (fVar16 < fVar15) { - *pfVar4 = fVar15; - } - pfVar4 = pfVar4 + 1; - pbVar11 = pbVar9->offset_portal; - } while (pfVar4 != afStack72); - lVar8 = (longlong)((int)lVar8 + 1); - } while (lVar8 < (longlong)(ulonglong)pbVar11->numPoints); - } - lVar8 = proc_7F0BA26C((int)afStack72,afStack84,&fStack24, - (int)&fStack36); - if (lVar8 != 0) { - iVar10 = 0; - iVar7 = (int)&ptr_bgdata_portals->offset_portal + iVar13; - uVar2 = (ulonglong)*(byte *)(iVar7 + 4); - if (uVar14 == uVar2) { - uVar2 = (ulonglong)*(byte *)(iVar7 + 5); - } - piVar5 = param_3; - if (0 < iVar12) { - do { - if (uVar2 == (longlong)*piVar5) break; - iVar10 += 1; - piVar5 = piVar5 + 1; - } while (iVar10 != iVar12); - } - if (iVar10 == iVar12) { - if (iVar12 < param_5) { - param_3[iVar12] = (int)uVar2; - iVar12 += 1; - } - if (param_5 <= iVar12) { - *param_4 = iVar12; - return; - } - } - } - pbVar9 = (bg_portal_data_entry *) - ((int)&ptr_bgdata_portals->offset_portal + iVar13); - pbVar11 = pbVar9[1].offset_portal; - pbVar3 = ptr_bgdata_portals; - } - else { - pbVar11 = pbVar9[1].offset_portal; - } - } - else { - pbVar11 = pbVar9[1].offset_portal; - } - iVar13 += 8; - if (pbVar11 == NULL) break; - bVar1 = *(byte *)&pbVar9[1].controlbytes; - pbVar9 = pbVar9 + 1; - } while( true ); - } - iStack44 += 1; - piStack92 = piStack92 + 1; - } while (iStack44 < iStack60); - } - if (iVar12 == iStack60) { - *param_4 = iVar12; - return; - } - iStack60 = iVar12; - } while( true ); -} - - - -void proc_7F0BA5C0(int *param_1,int *param_2) - -{ - u64 *puVar1; - int iVar2; - int iVar3; - - if (param_1 < param_2) { - do { - if (dword_80044940[0]._0_4_ != 0) { - iVar3 = *param_1; - iVar2 = dword_80044940[0]._0_4_; - puVar1 = dword_80044940; - while( true ) { - if (iVar3 == iVar2) { - if (param_1[1] == *(int *)((int)puVar1 + 4)) { - *param_1 = *(int *)(puVar1 + 1); - param_1[1] = *(int *)((int)puVar1 + 0xc); - iVar2 = *(int *)(puVar1 + 2); - } - else { - iVar2 = *(int *)(puVar1 + 2); - } - } - else { - iVar2 = *(int *)(puVar1 + 2); - } - puVar1 = puVar1 + 2; - if (iVar2 == 0) break; - iVar3 = *param_1; - } - } - param_1 = param_1 + 2; - } while (param_1 < param_2); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0ba668) overlaps instruction at (ram,0x7f0ba664) -// - -void proc_7F0BA640(int *param_1,int *param_2,int param_3) - -{ - char cVar1; - int *piVar2; - int iVar3; - int iVar4; - - if ((param_2 != NULL) && (param_1 < param_2)) goto code_r0x7f0ba66c; - if (param_2 == NULL) { - cVar1 = *(char *)param_1; - while (cVar1 != -0x48) { -code_r0x7f0ba66c: - do { - piVar2 = (int *)(&off_80044D88)[param_3]; - iVar3 = *piVar2; - if (iVar3 != 0) { - iVar4 = *param_1; - while( true ) { - if (iVar4 == iVar3) { - if (param_1[1] == piVar2[1]) { - dword_80044DB0 += 1; - *param_1 = piVar2[2]; - param_1[1] = piVar2[3]; - iVar3 = piVar2[4]; - } - else { - iVar3 = piVar2[4]; - } - } - else { - iVar3 = piVar2[4]; - } - piVar2 = piVar2 + 4; - if (iVar3 == 0) break; - iVar4 = *param_1; - } - } - param_1 = param_1 + 2; - } while ((param_2 != NULL) && (param_1 < param_2)); - if (param_2 != NULL) { - return; - } - cVar1 = *(char *)param_1; - } - } - return; -} - - - -void proc_7F0BA720(void) - -{ - return; -} - - - -undefined4 * get_ptr_currentdata(void) - -{ - return &ptr_current_data; -} - - - -f32 get_near_fog_value(void) - -{ - return (f32)near_fog_value; -} - - - -float square_near_fog_value(void) - -{ - return near_fog_value * near_fog_value; -} - - - -void copy_table1_env_to_current(void) - -{ - int in_a0_lo; - f32 fVar1; - float fVar2; - float fVar3; - float fStack8; - float fStack4; - - set_page_height(*(f32 *)(in_a0_lo + 4),*(f32 *)(in_a0_lo + 8)); - video_related_27(&fStack8); - fVar1 = proc_7F0B4878(); - fStack8 = fStack8 / (float)fVar1; - bg_dif_light = (float)*(int *)(in_a0_lo + 0x20) / 1000.00000000; - ptr_nearfog_enviroment_values = in_a0_lo + 0xc; - buffer_far_ambiant = (float)*(int *)(in_a0_lo + 0x24) / 1000.00000000; - fVar3 = fStack4 / (float)fVar1 - fStack8; - buffer_far_pervasiveness = *(float *)(in_a0_lo + 4) / (float)fVar1; - far_fog = *(float *)(in_a0_lo + 8) / (float)fVar1; - fVar2 = 128.00000000 / (buffer_far_ambiant - bg_dif_light); - if (*(float *)(in_a0_lo + 0xc) == 0.00000000) { - ptr_nearfog_enviroment_values = 0; - } - near_fog_value = fStack8 + fVar3 * buffer_far_ambiant; - near_fog_times_intensity = fStack8 + fVar3 * bg_dif_light; - ptr_current_data = *(undefined4 *)(in_a0_lo + 0x20); - DAT_80044dd0 = *(undefined4 *)(in_a0_lo + 0x24); - DAT_80044dd4 = *(undefined *)(in_a0_lo + 0x28); - DAT_80044dd5 = *(undefined *)(in_a0_lo + 0x29); - DAT_80044dd6 = *(undefined *)(in_a0_lo + 0x2a); - DAT_80044dd7 = *(undefined *)(in_a0_lo + 0x2b); - DAT_80044dd8 = *(undefined4 *)(in_a0_lo + 0x2c); - DAT_80044ddc = *(undefined2 *)(in_a0_lo + 0x30); - DAT_80044de0 = *(undefined4 *)(in_a0_lo + 0x34); - DAT_80044de4 = *(undefined4 *)(in_a0_lo + 0x38); - DAT_80044de8 = *(undefined4 *)(in_a0_lo + 0x3c); - DAT_80044dec = *(undefined *)(in_a0_lo + 0x40); - DAT_80044df0 = *(undefined4 *)(in_a0_lo + 0x44); - DAT_80044df4 = *(undefined2 *)(in_a0_lo + 0x48); - DAT_80044df8 = *(undefined4 *)(in_a0_lo + 0x4c); - DAT_80044dfc = *(undefined4 *)(in_a0_lo + 0x50); - DAT_80044e00 = *(undefined4 *)(in_a0_lo + 0x54); - DAT_80044e04 = *(undefined4 *)(in_a0_lo + 0x58); - sky_enabled = 1; - DAT_800825d8 = ((-fVar2 * far_fog * (buffer_far_pervasiveness + 1.00000000)) / - (far_fog - buffer_far_pervasiveness)) / 255.00000000; - DAT_800825dc = (((far_fog + 1.00000000) * fVar2) / (far_fog - buffer_far_pervasiveness) + - ((0.50000000 - bg_dif_light) * 256.00000000) / - (buffer_far_ambiant - bg_dif_light)) / 255.00000000; - return; -} - - - -void copy_table2_env_to_current(int param_1) - -{ - DAT_80044dd4 = *(undefined *)(param_1 + 4); - DAT_80044dd5 = *(undefined *)(param_1 + 5); - DAT_80044dd6 = *(undefined *)(param_1 + 6); - DAT_80044dd7 = *(undefined *)(param_1 + 7); - DAT_80044dd8 = *(undefined4 *)(param_1 + 8); - DAT_80044ddc = *(undefined2 *)(param_1 + 0xc); - DAT_80044de0 = *(undefined4 *)(param_1 + 0x10); - DAT_80044de4 = *(undefined4 *)(param_1 + 0x14); - DAT_80044de8 = *(undefined4 *)(param_1 + 0x18); - DAT_80044dec = *(undefined *)(param_1 + 0x1c); - DAT_80044df0 = *(undefined4 *)(param_1 + 0x20); - DAT_80044df4 = *(undefined2 *)(param_1 + 0x24); - DAT_80044df8 = *(undefined4 *)(param_1 + 0x28); - DAT_80044dfc = *(undefined4 *)(param_1 + 0x2c); - DAT_80044e00 = *(undefined4 *)(param_1 + 0x30); - DAT_80044e04 = *(undefined4 *)(param_1 + 0x34); - return; -} - - - -void proc_7F0BAA5C(void) - -{ - return; -} - - - -void load_enviroment(int param_1,int param_2) - -{ - s32 sVar1; - u32 uVar2; - fog_element *pfVar3; - fog_element *pfVar4; - fog_element2 *pfVar5; - fog_element2 *pfVar6; - - sVar1 = get_num_players(); - if (sVar1 == 1) { - sVar1 = 0; - } - near_fog_value = default_near_fog; - near_fog_times_intensity = 0.00000000; - if (param_2 != 0) { - pfVar3 = fog_tables; - uVar2 = fog_tables[0].stageID; - while (uVar2 != 0) { - if (param_1 + 900U == uVar2) { - env_table_match_end = pfVar3 + 1; - env_table_hit = pfVar3; - env_table_match_start = pfVar3; - copy_table1_env_to_current(); - return; - } - uVar2 = pfVar3[1].stageID; - pfVar3 = pfVar3 + 1; - } - } - pfVar3 = fog_tables; - if (fog_tables[0].stageID != 0) { - uVar2 = fog_tables[0].stageID; - pfVar4 = pfVar3; - do { - if (param_1 + sVar1 * 100 == uVar2) { - env_table_match_end = pfVar4 + 1; - env_table_hit = pfVar4; - env_table_match_start = pfVar4; - copy_table1_env_to_current(); - return; - } - uVar2 = pfVar4[1].stageID; - pfVar4 = pfVar4 + 1; - } while (uVar2 != 0); - } - if ((1 < sVar1) && (fog_tables[0].stageID != 0)) { - uVar2 = fog_tables[0].stageID; - do { - if (sVar1 * 100 == uVar2) { - env_table_match_end = pfVar3 + 1; - env_table_hit = pfVar3; - env_table_match_start = pfVar3; - copy_table1_env_to_current(); - return; - } - uVar2 = pfVar3[1].stageID; - pfVar3 = pfVar3 + 1; - } while (uVar2 != 0); - } - set_page_height(15.00000000,(f32)flt_80058D74); - sky_enabled = 0; - pfVar6 = NULL; - pfVar5 = fog_tables2; - uVar2 = fog_tables2[0].stageID; - while (uVar2 != 0) { - if (param_1 == uVar2) { - uVar2 = pfVar5[1].stageID; - pfVar6 = pfVar5; - } - else { - uVar2 = pfVar5[1].stageID; - } - pfVar5 = pfVar5 + 1; - } - if (pfVar6 == NULL) { - pfVar6 = fog_tables2; - } - copy_table2_env_to_current((int)pfVar6); - env_table_hit = NULL; - return; -} - - - -void switch_to_solosky2(float param_1) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - undefined4 *puVar3; - undefined4 *puVar4; - undefined4 *puVar5; - undefined4 *puVar6; - float fVar7; - float fVar8; - - puVar1 = env_table_match_start; - puVar4 = env_table_match_start + 0x15; - puVar2 = &DAT_800825f8; - puVar6 = env_table_match_start; - do { - puVar5 = puVar6; - puVar3 = puVar2; - puVar6 = puVar5 + 3; - *puVar3 = *puVar5; - puVar3[1] = puVar5[1]; - puVar3[2] = puVar5[2]; - puVar2 = puVar3 + 3; - } while (puVar6 != puVar4); - puVar3[3] = *puVar6; - puVar3[4] = puVar5[4]; - DAT_800825fc = (float)puVar1[1] + - param_1 * (*(float *)(env_table_match_end + 4) - (float)puVar1[1]); - DAT_80082600 = (float)puVar1[2] + - param_1 * (*(float *)(env_table_match_end + 8) - (float)puVar1[2]); - DAT_80082618 = (int)((float)puVar1[8] + - param_1 * ((float)*(int *)(env_table_match_end + 0x20) - (float)puVar1[8])); - DAT_8008261c = (int)((float)puVar1[9] + - param_1 * ((float)*(int *)(env_table_match_end + 0x24) - (float)puVar1[9])); - fVar8 = (float)(uint)*(byte *)(puVar1 + 10); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar7 = (float)(uint)*(byte *)(env_table_match_end + 0x28); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = fVar8 + param_1 * (fVar7 - fVar8); - if (false) { - fVar7 = ROUND(fVar8); - } - else { - fVar7 = FLOOR(fVar8); - } - DAT_80082620 = (byte)(int)fVar7; - if (false) { - if (false) { - fVar8 = ROUND(fVar8 - 2147483648.00000000); - } - else { - fVar8 = FLOOR(fVar8 - 2147483648.00000000); - } - if (false) goto LAB_7f0bae60; - DAT_80082620 = (byte)(int)fVar8; - } - else { - if ((int)fVar7 < 0) { -LAB_7f0bae60: - DAT_80082620 = 0xff; - } - } - fVar8 = (float)(uint)*(byte *)((int)puVar1 + 0x29); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - DAT_80082620 &= 0xf8; - fVar7 = (float)(uint)*(byte *)(env_table_match_end + 0x29); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = fVar8 + param_1 * (fVar7 - fVar8); - if (false) { - fVar7 = ROUND(fVar8); - } - else { - fVar7 = FLOOR(fVar8); - } - DAT_80082621 = (byte)(int)fVar7; - if (false) { - if (false) { - fVar8 = ROUND(fVar8 - 2147483648.00000000); - } - else { - fVar8 = FLOOR(fVar8 - 2147483648.00000000); - } - if (false) goto LAB_7f0baf44; - DAT_80082621 = (byte)(int)fVar8; - } - else { - if ((int)fVar7 < 0) { -LAB_7f0baf44: - DAT_80082621 = 0xff; - } - } - DAT_80082621 &= 0xf8; - fVar8 = (float)(uint)*(byte *)((int)puVar1 + 0x2a); - if (false) { - fVar8 = fVar8 + 4294967296.00000000; - } - fVar7 = (float)(uint)*(byte *)(env_table_match_end + 0x2a); - if (false) { - fVar7 = fVar7 + 4294967296.00000000; - } - fVar8 = fVar8 + param_1 * (fVar7 - fVar8); - if (false) { - fVar7 = ROUND(fVar8); - } - else { - fVar7 = FLOOR(fVar8); - } - DAT_80082622 = (byte)(int)fVar7; - if (false) { - if (false) { - fVar8 = ROUND(fVar8 - 2147483648.00000000); - } - else { - fVar8 = FLOOR(fVar8 - 2147483648.00000000); - } - if (true) { - DAT_80082622 = (byte)(int)fVar8; - goto LAB_7f0bb040; - } - } - else { - if (-1 < (int)fVar7) goto LAB_7f0bb040; - } - DAT_80082622 = 0xff; -LAB_7f0bb040: - DAT_80082622 &= 0xf8; - copy_table1_env_to_current(); - return; -} - - - -undefined4 * proc_7F0BB070(undefined4 *param_1,longlong param_2) - -{ - int iVar1; - int iVar2; - - if (sky_enabled != 0) { - if (param_2 == 0) { - *param_1 = 0xf8000000; - param_1[1] = (uint)DAT_80044dd4 << 0x18 | (uint)DAT_80044dd5 << 0x10 | - (uint)DAT_80044dd6 << 8 | 0xff; - param_1[2] = 0xbc000008; - iVar1 = DAT_80044dd0 - ptr_current_data; - iVar2 = ptr_current_data * -0x100 + 0x1f400; - param_1[3] = 0x1f400 / iVar1 << 0x10 | iVar2 / iVar1 & 0xffffU; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (false)) { - trap(0x1800); - } - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - else { - *param_1 = 0xf8000000; - param_1[1] = (uint)DAT_80044dd4 << 0x18 | (uint)DAT_80044dd5 << 0x10 | - (uint)DAT_80044dd6 << 8 | 0xff; - param_1[2] = 0xbc000008; - iVar1 = DAT_80044dd0 - ptr_current_data; - iVar2 = ptr_current_data * -0x100 + 0x1f400; - param_1[3] = 0x1f400 / iVar1 << 0x10 | iVar2 / iVar1 & 0xffffU; - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (false)) { - trap(0x1800); - } - if (iVar1 == 0) { - trap(0x1c00); - } - if ((iVar1 == -1) && (iVar2 == -0x80000000)) { - trap(0x1800); - } - } - param_1[5] = 0x10000; - param_1[4] = 0xb7000000; - param_1[7] = 0x20; - param_1[6] = 0xba000402; - return param_1 + 8; - } - return param_1; -} - - - -undefined4 * proc_7F0BB298(undefined4 *param_1) - -{ - if (sky_enabled == 0) { - return param_1; - } - *param_1 = 0xb6000000; - param_1[1] = 0x10000; - return param_1 + 2; -} - - - -undefined8 proc_7F0BB2C8(float *param_1,float param_2) - -{ - undefined8 uVar1; - xyzpoint *pxVar2; - float *pfVar3; - float in_a1_lo; - - if (sky_enabled == 0) { - uVar1 = 1; - } - else { - pxVar2 = get_BONDdata_position(); - pfVar3 = (float *)get_BONDdata_field_10CC(); - uVar1 = 1; - if (near_fog_value + in_a1_lo < - pfVar3[2] * (param_1[2] - (float)pxVar2->z) + - (*param_1 - (float)pxVar2->x) * *pfVar3 + (param_1[1] - (float)pxVar2->y) * pfVar3[1]) { - uVar1 = 0; - } - } - return uVar1; -} - - - -undefined4 return_nearfog_values(void) - -{ - return ptr_nearfog_enviroment_values; -} - - - -undefined8 if_sky_present_convert_values(int param_1,float *param_2) - -{ - float fVar1; - - if (sky_enabled == 0) { - return 2; - } - if (0.00000000 <= *(float *)(param_1 + 0x18)) { - fVar1 = (float)(uint)DAT_80044dd4; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - *param_2 = fVar1 / 255.00000000; - fVar1 = (float)(uint)DAT_80044dd5; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - param_2[1] = fVar1 / 255.00000000; - fVar1 = (float)(uint)DAT_80044dd6; - if (false) { - fVar1 = fVar1 + 4294967296.00000000; - } - param_2[2] = fVar1 / 255.00000000; - param_2[3] = DAT_800825d8 / *(float *)(param_1 + 0x18) + DAT_800825dc; - if (0.00000000 <= param_2[3]) { - if (param_2[3] <= 1.00000000) { - return 1; - } - return 0; - } - return 2; - } - return 2; -} - - - -void init_lightfixture_tables(void) - -{ - lightfixture *plVar1; - undefined2 *puVar2; - - plVar1 = light_fixture_table; - do { - plVar1 = plVar1 + 1; - plVar1->index = 0; - plVar1 = plVar1; - } while (plVar1 < (lightfixture *)&cur_entry_lightfixture_table); - puVar2 = &DAT_80082b18; - do { - puVar2 = puVar2 + 8; - puVar2[2] = 0; - puVar2[4] = 0; - puVar2[6] = 0; - *puVar2 = 0; - puVar2 = puVar2; - } while (puVar2 != (undefined2 *)&DAT_80083318); - dword_80046030 = 0; - return; -} - - - -int get_index_of_current_entry_in_init_lightfixture_table(void) - -{ - lightfixture *plVar1; - int iVar2; - - plVar1 = light_fixture_table; - iVar2 = 0; - while( true ) { - if (plVar1->index == 0) { - return iVar2; - } - if (plVar1[1].index == 0) { - return iVar2 + 1; - } - if (plVar1[2].index == 0) { - return iVar2 + 2; - } - if (plVar1[3].index == 0) break; - iVar2 += 4; - plVar1 = plVar1 + 4; - if (iVar2 == 100) { - return 100; - } - } - return iVar2 + 3; -} - - - -void add_entry_to_init_lightfixture_table(Gfx *DL) - -{ - int iVar1; - - iVar1 = get_index_of_current_entry_in_init_lightfixture_table(); - cur_entry_lightfixture_table = (short)iVar1; - iVar1 = (int)cur_entry_lightfixture_table; - if (cur_entry_lightfixture_table != 100) { - light_fixture_table[iVar1].index = index_of_cur_entry_lightfixture_table; - light_fixture_table[iVar1].ptr_start_pertinent_DL = DL; - } - return; -} - - - -void save_ptrDL_enpoint_to_current_init_lightfixture_table(int param_1) - -{ - if (cur_entry_lightfixture_table != 100) { - light_fixture_table[cur_entry_lightfixture_table].ptr_end_pertinent_DL = param_1; - } - return; -} - - - -undefined8 check_if_imageID_is_light(longlong imageID) - -{ - if ((((((imageID != 0xc9) && (imageID != 0xcb)) && (imageID != 0xcd)) && - ((imageID != 0xfc && (imageID != 0xfe)))) && - ((imageID != 0xff && ((imageID != 0x100 && (imageID != 0x1ac)))))) && - ((imageID != 0x3d6 && (imageID != 0x567)))) { - return 0; - } - return 1; -} - - - -uint return_ptr_vertex_of_entry_room(char *entry,int room) - -{ - uint uVar1; - char *pcVar2; - char cVar3; - - if (*entry != '\x04') { - cVar3 = entry[-8]; - pcVar2 = entry; - while (entry = pcVar2 + -8, cVar3 != '\x04') { - cVar3 = pcVar2[-0x10]; - pcVar2 = entry; - } - } - uVar1 = *(uint *)(entry + 4); - if ((uVar1 & 0xff000000) == 0xe000000) { - uVar1 = (int)roominformationblock[room].ptr_point_index + (uVar1 & 0xffffff); - } - return uVar1; -} - - - -void proc_7F0BB6F4(undefined8 param_1,ulonglong param_2) - -{ - if (param_2 < 5) { - // WARNING: Could not recover jumptable at 0x7f0bb70c. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700EF63C)[(int)param_2])(); - return; - } - return; -} - - - -void proc_7F0BB874(undefined8 param_1,ulonglong param_2,int param_3,undefined2 *param_4, - undefined2 *param_5,undefined2 *param_6) - -{ - uint uVar1; - int iStack12; - int iStack8; - int iStack4; - - proc_7F0BB6F4(param_1,param_2); - uVar1 = return_ptr_vertex_of_entry_room((char *)param_1,param_3); - *param_4 = *(undefined2 *)(uVar1 + iStack4 * 0x10); - param_4[1] = *(undefined2 *)(uVar1 + iStack4 * 0x10 + 2); - param_4[2] = *(undefined2 *)(uVar1 + iStack4 * 0x10 + 4); - *param_5 = *(undefined2 *)(uVar1 + iStack8 * 0x10); - param_5[1] = *(undefined2 *)(uVar1 + iStack8 * 0x10 + 2); - param_5[2] = *(undefined2 *)(uVar1 + iStack8 * 0x10 + 4); - *param_6 = *(undefined2 *)(uVar1 + iStack12 * 0x10); - param_6[1] = *(undefined2 *)(uVar1 + iStack12 * 0x10 + 2); - param_6[2] = *(undefined2 *)(uVar1 + iStack12 * 0x10 + 4); - return; -} - - - -void proc_7F0BB978(ulonglong param_1) - -{ - ushort uVar1; - void *pvVar2; - void *pvVar3; - ushort *puVar4; - - pvVar2 = roominformationblock[(int)param_1].ptr_point_index; - puVar4 = &DAT_80082b18; - uVar1 = DAT_80082b18; - while( true ) { - if (param_1 == (ulonglong)uVar1) { - pvVar3 = (void *)((int)pvVar2 + (uint)puVar4[1] * 0x10); - *(byte *)((int)pvVar3 + 0xc) = *(byte *)((int)pvVar3 + 0xc) >> 2; - pvVar3 = (void *)((int)pvVar2 + (uint)puVar4[1] * 0x10); - *(byte *)((int)pvVar3 + 0xd) = *(byte *)((int)pvVar3 + 0xd) >> 2; - pvVar3 = (void *)((int)pvVar2 + (uint)puVar4[1] * 0x10); - *(byte *)((int)pvVar3 + 0xe) = *(byte *)((int)pvVar3 + 0xe) >> 2; - pvVar3 = (void *)((int)pvVar2 + (uint)puVar4[1] * 0x10); - *(byte *)((int)pvVar3 + 0xf) = *(byte *)((int)pvVar3 + 0xf) >> 2; - } - puVar4 = puVar4 + 2; - if (puVar4 == (ushort *)&DAT_80083318) break; - uVar1 = *puVar4; - } - return; -} - - - -void proc_7F0BBA20(int param_1,ulonglong param_2) - -{ - void *pvVar1; - int iVar2; - longlong lVar3; - - lVar3 = proc_7F0BBADC(param_1,param_2); - iVar2 = dword_80046030; - if (lVar3 == 0) { - pvVar1 = roominformationblock[(int)param_2].ptr_point_index; - (&DAT_80082b18)[dword_80046030 * 2] = (short)param_2; - (&DAT_80082b1a)[iVar2 * 2] = (short)((uint)(param_1 - (int)pvVar1) >> 4); - *(byte *)(param_1 + 0xc) = *(byte *)(param_1 + 0xc) >> 2; - *(byte *)(param_1 + 0xd) = *(byte *)(param_1 + 0xd) >> 2; - *(byte *)(param_1 + 0xe) = *(byte *)(param_1 + 0xe) >> 2; - *(byte *)(param_1 + 0xf) = *(byte *)(param_1 + 0xf) >> 2; - dword_80046030 += 1; - if (0x1ff < dword_80046030) { - dword_80046030 = 0; - } - } - return; -} - - - -undefined8 proc_7F0BBADC(int param_1,ulonglong param_2) - -{ - ushort uVar1; - ushort *puVar2; - ulonglong uVar3; - - uVar3 = SEXT48((int)((uint)(param_1 - (int)roominformationblock[(int)param_2].ptr_point_index) - >> 4)); - puVar2 = &DAT_80082b18; - uVar1 = DAT_80082b18; - while( true ) { - if (param_2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[1]) { - return 1; - } - uVar1 = puVar2[2]; - } - else { - uVar1 = puVar2[2]; - } - if (param_2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[3]) { - return 1; - } - uVar1 = puVar2[4]; - } - else { - uVar1 = puVar2[4]; - } - if (param_2 == (ulonglong)uVar1) { - if (uVar3 == (ulonglong)puVar2[5]) { - return 1; - } - uVar1 = puVar2[6]; - } - else { - uVar1 = puVar2[6]; - } - if ((param_2 == (ulonglong)uVar1) && (uVar3 == (ulonglong)puVar2[7])) break; - puVar2 = puVar2 + 8; - if (puVar2 == (ushort *)&DAT_80083318) { - return 0; - } - uVar1 = *puVar2; - } - return 1; -} - - - -void proc_7F0BBBA8(undefined8 param_1,ulonglong param_2,int param_3) - -{ - uint uVar1; - int iStack16; - int iStack12; - int iStack8; - - proc_7F0BB6F4(param_1,param_2); - uVar1 = return_ptr_vertex_of_entry_room((char *)param_1,param_3); - proc_7F0BBA20(iStack8 * 0x10 + uVar1,(longlong)param_3); - proc_7F0BBA20(iStack12 * 0x10 + uVar1,(longlong)param_3); - proc_7F0BBA20(iStack16 * 0x10 + uVar1,(longlong)param_3); - return; -} - - - -int proc_7F0BBC30(undefined8 param_1,ulonglong param_2,int param_3) - -{ - uint uVar4; - undefined8 uVar1; - undefined8 uVar2; - undefined8 uVar3; - int iStack16; - int iStack12; - int iStack8; - - proc_7F0BB6F4(param_1,param_2); - uVar4 = return_ptr_vertex_of_entry_room((char *)param_1,param_3); - uVar1 = proc_7F0BBADC(iStack12 * 0x10 + uVar4,(longlong)param_3); - uVar2 = proc_7F0BBADC(iStack8 * 0x10 + uVar4,(longlong)param_3); - uVar3 = proc_7F0BBADC(iStack16 * 0x10 + uVar4,(longlong)param_3); - return (int)uVar3 + (int)uVar2 + (int)uVar1; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 proc_7F0BBCCC(void) - -{ - ushort uVar1; - short *psVar2; - short *in_a0_lo; - ulonglong in_a1; - int iVar3; - int iVar4; - int iVar5; - ushort *puVar6; - f32 fVar7; - - puVar6 = &DAT_80082b18; - uVar1 = DAT_80082b18; - do { - if (in_a1 == (ulonglong)uVar1) { - psVar2 = (short *)((uint)puVar6[1] * 0x10 + - (int)roominformationblock[(int)in_a1].ptr_point_index); - iVar3 = (int)*psVar2 - (int)*in_a0_lo; - iVar4 = (int)psVar2[1] - (int)in_a0_lo[1]; - iVar5 = (int)psVar2[2] - (int)in_a0_lo[2]; - if (iVar3 < 0) { - iVar3 = -iVar3; - } - if (iVar4 < 0) { - iVar4 = -iVar4; - } - if (iVar5 < 0) { - iVar5 = -iVar5; - } - fVar7 = proc_7F0B483C(); - if (iVar3 + iVar4 + iVar5 < (int)((float)fVar7 * 100.00000000)) { - return 1; - } - } - puVar6 = puVar6 + 2; - if (puVar6 == (ushort *)&DAT_80083318) { - return 0; - } - uVar1 = *puVar6; - } while( true ); -} - - - -void proc_7F0BBE0C(ulonglong param_1,ulonglong param_2,short param_3) - -{ - short sVar1; - Gfx *pGVar2; - bool bVar3; - int iVar6; - char cVar7; - longlong lVar4; - ulonglong uVar5; - ulonglong uVar8; - int iVar9; - lightfixture *plVar10; - int iVar12; - ulonglong uVar11; - char *pcVar13; - int iVar14; - int iVar15; - int iVar16; - int iVar17; - float fVar18; - f32 fVar19; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float fStack112; - float fStack108; - float fStack104; - float fStack100; - float fStack96; - float fStack92; - float fStack88; - float fStack84; - float fStack80; - short sStack74; - short sStack68; - undefined2 auStack48 [4]; - undefined2 auStack40 [4]; - undefined2 auStack32 [4]; - short sStack24; - short sStack22; - short sStack20; - short sStack16; - short sStack14; - short sStack12; - short sStack8; - short sStack6; - short sStack4; - - plVar10 = light_fixture_table; - sVar1 = light_fixture_table[0].index; - while (((param_3 != sVar1 || - (param_1 < (ulonglong)(longlong)(int)plVar10->ptr_start_pertinent_DL)) || - ((ulonglong)(longlong)plVar10->ptr_end_pertinent_DL <= param_1))) { - plVar10 = plVar10 + 1; - if (plVar10 == (lightfixture *)&cur_entry_lightfixture_table) { - return; - } - sVar1 = plVar10->index; - } - iVar6 = proc_7F0BBC30(param_1,param_2,(int)sVar1); - if (iVar6 == 0) { - proc_7F0BBBA8(param_1,param_2,(int)plVar10->index); - proc_7F0BB874(param_1,param_2,(int)plVar10->index,&sStack8,&sStack16,&sStack24); - iVar6 = ((int)sStack8 - (int)sStack16) * 0x10000 >> 0x10; - iVar14 = ((int)sStack8 - (int)sStack24) * 0x10000 >> 0x10; - iVar9 = ((int)sStack6 - (int)sStack14) * 0x10000 >> 0x10; - sStack68 = sStack14 - sStack22; - iVar17 = ((int)sStack16 - (int)sStack24) * 0x10000 >> 0x10; - iVar12 = ((int)sStack4 - (int)sStack12) * 0x10000 >> 0x10; - iVar16 = ((int)sStack4 - (int)sStack20) * 0x10000 >> 0x10; - iVar15 = ((int)sStack6 - (int)sStack22) * 0x10000 >> 0x10; - sStack74 = sStack12 - sStack20; - fVar18 = sqrtf((float)(iVar6 * iVar6 + iVar9 * iVar9 + iVar12 * iVar12)); - fVar19 = proc_7F0B4830(); - fStack80 = 10.00000000 / ((float)fVar19 * fVar18); - fVar18 = sqrtf((float)(iVar14 * iVar14 + iVar15 * iVar15 + iVar16 * iVar16)); - fVar19 = proc_7F0B4830(); - fStack84 = 10.00000000 / ((float)fVar19 * fVar18); - fVar18 = sqrtf((float)(iVar17 * iVar17 + (int)sStack68 * (int)sStack68 + - (int)sStack74 * (int)sStack74)); - fVar19 = proc_7F0B4830(); - fStack88 = 10.00000000 / ((float)fVar19 * fVar18); - proc_7F0BCA34((int)plVar10->index,&fStack100); - fVar18 = 0.00000000; - if (true) { - do { - fVar19 = proc_7F0B4830(); - fStack112 = fStack100 + - ((float)(int)sStack16 + (float)iVar6 * fVar18) * (float)fVar19; - fVar19 = proc_7F0B4830(); - fStack108 = fStack96 + - ((float)(int)sStack14 + (float)iVar9 * fVar18) * (float)fVar19; - fVar19 = proc_7F0B4830(); - fStack104 = fStack92 + - ((float)(int)sStack12 + (float)iVar12 * fVar18) * (float)fVar19; - proc_7F0A2160(&fStack112,0,extraout_f12); - fVar18 = fVar18 + fStack80; - } while (fVar18 < 1.00000000); - } - fVar18 = 0.00000000; - if (true) { - do { - fVar19 = proc_7F0B4830(); - fStack112 = fStack100 + - ((float)(int)sStack24 + (float)iVar14 * fVar18) * (float)fVar19; - fVar19 = proc_7F0B4830(); - fStack108 = fStack96 + - ((float)(int)sStack22 + (float)iVar15 * fVar18) * (float)fVar19; - fVar19 = proc_7F0B4830(); - fStack104 = fStack92 + - ((float)(int)sStack20 + (float)iVar16 * fVar18) * (float)fVar19; - proc_7F0A2160(&fStack112,0,extraout_f12_00); - fVar18 = fVar18 + fStack84; - } while (fVar18 < 1.00000000); - } - fVar18 = 0.00000000; - if (true) { - iVar6 = (int)sStack68; - iVar9 = (int)sStack74; - do { - fVar19 = proc_7F0B4830(); - fStack112 = fStack100 + - ((float)(int)sStack24 + (float)iVar17 * fVar18) * (float)fVar19; - fVar19 = proc_7F0B4830(); - fStack108 = fStack96 + - ((float)(int)sStack22 + (float)iVar6 * fVar18) * (float)fVar19; - fVar19 = proc_7F0B4830(); - fStack104 = fStack92 + - ((float)(int)sStack20 + (float)iVar9 * fVar18) * (float)fVar19; - proc_7F0A2160(&fStack112,0,extraout_f12_01); - fVar18 = fVar18 + fStack88; - } while (fVar18 < 1.00000000); - pGVar2 = plVar10->ptr_start_pertinent_DL; - } - else { - pGVar2 = plVar10->ptr_start_pertinent_DL; - } - uVar11 = SEXT48((int)pGVar2); - uVar8 = SEXT48(plVar10->ptr_end_pertinent_DL); - if (uVar11 < uVar8) { - cVar7 = *(char *)pGVar2; - while( true ) { - bVar3 = false; - if (cVar7 == -0x41) { - proc_7F0BB874(uVar11,0,(int)plVar10->index,auStack32,auStack40,auStack48); - lVar4 = proc_7F0BBCCC(); - if (lVar4 == 0) { - lVar4 = proc_7F0BBCCC(); - if (lVar4 == 0) { - lVar4 = proc_7F0BBCCC(); - if (lVar4 != 0) { - bVar3 = true; - } - } - else { - bVar3 = true; - } - } - else { - bVar3 = true; - } - if (bVar3) { - proc_7F0BBBA8(uVar11,0,(int)plVar10->index); - } - uVar8 = SEXT48(plVar10->ptr_end_pertinent_DL); - } - else { - uVar5 = 0; - if (cVar7 == -0x4f) { - do { - uVar5 = SEXT48((int)uVar5 + 1); - bVar3 = false; - proc_7F0BB874(uVar11,uVar5,(int)plVar10->index,auStack32,auStack40, - auStack48); - lVar4 = proc_7F0BBCCC(); - if (lVar4 == 0) { - lVar4 = proc_7F0BBCCC(); - if (lVar4 == 0) { - lVar4 = proc_7F0BBCCC(); - if (lVar4 != 0) { - bVar3 = true; - } - } - else { - bVar3 = true; - } - } - else { - bVar3 = true; - } - if (bVar3) { - proc_7F0BBBA8(uVar11,uVar5,(int)plVar10->index); - } - } while (uVar5 != 4); - uVar8 = SEXT48(plVar10->ptr_end_pertinent_DL); - } - } - pcVar13 = (char *)((int)uVar11 + 8); - uVar11 = SEXT48((int)pcVar13); - if (uVar8 <= uVar11) break; - cVar7 = *pcVar13; - } - } - } - return; -} - - - -void proc_7F0BC4C4(short param_1) - -{ - lightfixture *plVar1; - short sVar2; - - plVar1 = light_fixture_table; - sVar2 = light_fixture_table[0].index; - while( true ) { - if (param_1 == sVar2) { - plVar1->index = 0; - sVar2 = plVar1[1].index; - } - else { - sVar2 = plVar1[1].index; - } - if (param_1 == sVar2) { - plVar1[1].index = 0; - sVar2 = plVar1[2].index; - } - else { - sVar2 = plVar1[2].index; - } - if (param_1 == sVar2) { - plVar1[2].index = 0; - sVar2 = plVar1[3].index; - } - else { - sVar2 = plVar1[3].index; - } - if (param_1 == sVar2) { - plVar1[3].index = 0; - } - plVar1 = plVar1 + 4; - if (plVar1 == (lightfixture *)&cur_entry_lightfixture_table) break; - sVar2 = plVar1->index; - } - index_of_cur_entry_lightfixture_table = param_1; - return; -} - - - -void proc_7F0BC530(void) - -{ - Player *pPVar1; - s32 sVar2; - undefined4 *puVar3; - int iVar4; - undefined4 *puVar5; - undefined1 *puVar6; - int iVar7; - Player **ppPVar8; - room_index *prVar9; - - iVar7 = 0; - sVar2 = get_num_players(); - if (0 < sVar2) { - ppPVar8 = ptr_BONDdata_p1; - pPVar1 = ptr_BONDdata_p1[0]; - while( true ) { - iVar7 += 1; - ppPVar8 = ppPVar8 + 1; - pPVar1->field_108C = -1; - sVar2 = get_num_players(); - if (sVar2 <= iVar7) break; - pPVar1 = *ppPVar8; - } - } - puVar5 = &DAT_80083450; - puVar6 = &DAT_80083320; - puVar3 = &DAT_80083900; - do { - puVar3 = puVar3 + 1; - *puVar5 = 0xffffffff; - *puVar6 = 2; - *puVar3 = 0xffffffff; - puVar5 = puVar5 + 1; - puVar6 = puVar6 + 1; - puVar3 = puVar3; - } while (puVar3 < &DAT_80083db0); - iVar7 = get_max_num_rooms(); - if (0 < iVar7) { - iVar7 = 1; - prVar9 = roominformationblock; - while( true ) { - prVar9->field_36 = -1; - iVar4 = get_max_num_rooms(); - if (iVar4 <= iVar7) break; - iVar7 += 1; - prVar9 = prVar9 + 1; - } - } - return; -} - - - -void proc_7F0BC624(int param_1) - -{ - pPlayer->field_108C = param_1; - return; -} - - - -void proc_7F0BC634(int param_1,int param_2) - -{ - roominformationblock[param_2].field_36 = (short)param_1; - (&DAT_80083450)[param_1] = param_2; - return; -} - - - -void proc_7F0BC660(int param_1,int param_2) - -{ - roominformationblock[param_2].field_36 = -1; - (&DAT_80083450)[param_1] = 0xffffffff; - return; -} - - - -void proc_7F0BC690(int param_1) - -{ - if ((&DAT_80083450)[param_1] != -1) { - proc_7F0BC660(param_1,(&DAT_80083450)[param_1]); - } - (&DAT_80083320)[param_1] = 2; - (&DAT_80083900)[param_1] = 0xffffffff; - return; -} - - - -int proc_7F0BC6F0(void) - -{ - byte bVar1; - byte *pbVar2; - int iVar3; - - pbVar2 = &DAT_80083320; - iVar3 = 0; - while( true ) { - if (*pbVar2 < 2) { - bVar1 = pbVar2[1]; - } - else { - if ((&DAT_80083900)[iVar3] == -1) { - return iVar3; - } - bVar1 = pbVar2[1]; - } - if (bVar1 < 2) { - bVar1 = pbVar2[2]; - } - else { - if ((&DAT_80083904)[iVar3] == -1) { - return iVar3 + 1; - } - bVar1 = pbVar2[2]; - } - if (bVar1 < 2) { - bVar1 = pbVar2[3]; - } - else { - if ((&DAT_80083908)[iVar3] == -1) { - return iVar3 + 2; - } - bVar1 = pbVar2[3]; - } - if ((1 < bVar1) && ((&DAT_8008390c)[iVar3] == -1)) break; - iVar3 += 4; - pbVar2 = pbVar2 + 4; - if (iVar3 == 300) { - return 0; - } - } - return iVar3 + 3; -} - - - -void proc_7F0BC7D4(void) - -{ - int iVar1; - int *piVar2; - byte bVar3; - - piVar2 = &DAT_80083900; - iVar1 = 0; - do { - if ((-1 < *piVar2) && - (bVar3 = (&DAT_80083320)[iVar1] + 1, (&DAT_80083320)[iVar1] = bVar3, 1 < bVar3)) { - proc_7F0BC690(iVar1); - } - iVar1 += 1; - piVar2 = piVar2 + 1; - } while (iVar1 != 300); - return; -} - - - -longlong proc_7F0BC85C(int param_1) - -{ - short sVar1; - int iVar2; - bg_room_data *pbVar3; - longlong lVar4; - float afStack68 [5]; - float fStack48; - float fStack28; - float fStack20; - float fStack16; - float fStack12; - - sVar1 = roominformationblock[param_1].field_36; - lVar4 = (longlong)sVar1; - if ((lVar4 == -1) || (pPlayer->field_108C != (&DAT_80083900)[sVar1])) { - if (lVar4 != -1) { - proc_7F0BC660((int)sVar1,param_1); - } - iVar2 = proc_7F0BC6F0(); - lVar4 = (longlong)iVar2; - proc_7F0BC634(iVar2,param_1); - (&DAT_80083320)[iVar2] = 0; - (&DAT_80083900)[iVar2] = pPlayer->field_108C; - guMtxIdentF_unrolled((float (*) [4] [4])afStack68); - afStack68[0] = room_data_float2; - fStack48 = room_data_float2; - fStack28 = room_data_float2; - pbVar3 = ptr_bgdata_room_fileposition_list + param_1; - fStack20 = (float)pbVar3->pPointTableBin * room_data_float2 - - (float)pPlayer->current_model_xpos; - fStack16 = (float)pbVar3->pPriMappingBin * room_data_float2 - - (float)pPlayer->current_model_ypos; - fStack12 = (float)pbVar3->pSecMappingBin * room_data_float2 - - (float)pPlayer->current_model_zpos; - proc_7F058C9C((int)afStack68,(uint *)(&DAT_80083db0 + iVar2 * 0x40)); - } - else { - (&DAT_80083320)[sVar1] = 0; - } - return lVar4; -} - - - -undefined4 * proc_7F0BC9C4(undefined4 *param_1,int param_2) - -{ - longlong lVar1; - - lVar1 = proc_7F0BC85C(param_2); - *param_1 = 0x1020040; - *(undefined **)(param_1 + 1) = &DAT_80083db0 + (int)lVar1 * 0x40; - return param_1 + 2; -} - - - -int proc_7F0BCA14(int param_1) - -{ - return (int)&ptr_bgdata_room_fileposition_list[param_1].pPointTableBin; -} - - - -void proc_7F0BCA34(int index,float *param_2) - -{ - *param_2 = (float)ptr_bgdata_room_fileposition_list[index].pPointTableBin * room_data_float2; - param_2[1] = (float)ptr_bgdata_room_fileposition_list[index].pPriMappingBin * room_data_float2; - param_2[2] = (float)ptr_bgdata_room_fileposition_list[index].pSecMappingBin * room_data_float2; - return; -} - - - -void load_resource(u8 *ptrdata,u32 bytes,fileentry *srcfile,resource_lookup_data_entry *lookupdata) - -{ - u8 *puVar1; - u8 buffer [8448]; - u8 *source; - - if (bytes == 0) { - romCopy((char *)ptrdata,(char *)srcfile->hw_address,lookupdata->rom_size); - } - else { - source = ptrdata + (bytes - (lookupdata->rom_size + 7 & 0xfffffff8)); - if ((u8 *)((int)&i + 3U) < source + -(int)ptrdata) { - romCopy((char *)source,(char *)srcfile->hw_address,lookupdata->rom_size); - puVar1 = decompressdata(source,ptrdata,buffer); - *(u8 **)&lookupdata->pc_remaining = puVar1; - } - else { - lookupdata->pc_remaining = 0; - } - } - return; -} - - - -void load_resource_from_indy - (u8 *ptrdata,u32 bytes,fileentry *srcfile,resource_lookup_data_entry *lookupdata) - -{ - u8 *size; - u8 buffer [8448]; - u8 *pPayload; - - if (bytes == 0) { - indy_load_resource(srcfile->filename,ptrdata); - } - else { - check_file_found_on_indy(srcfile->filename,&lookupdata->pc_size); - pPayload = ptrdata + (bytes - (lookupdata->pc_size + 7 & 0xfffffff8)); - if ((u8 *)((int)&i + 3U) < pPayload + -(int)ptrdata) { - indy_load_resource(srcfile->filename,pPayload); - if ((*pPayload == rz_header_1[0][0]) && (pPayload[1] == rz_header_1[1][1])) { - size = decompressdata(pPayload,ptrdata,buffer); - } - else { - _bcopy(pPayload,ptrdata,lookupdata->pc_size); - size = (u8 *)lookupdata->pc_size; - } - *(u8 **)&lookupdata->pc_remaining = size; - } - else { - lookupdata->pc_remaining = 0; - } - } - return; -} - - - -void ob_c_debug_setup(void) - -{ - resource_lookup_data_entry *lookupentry; - resource_lookup_data_entry *nextlookup; - int file_count; - fileentry *filetable_entry; - - get_ptr_debug_notice_list_entry(&ob_c_debug_notice_list_entry,"ob_c_debug"); - filetable_entry = file_resource_table; - file_count = file_entry_max + -1; - if (1 < file_count) { - lookupentry = resource_lookup_data_array + 1; - do { - 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->buffer_remaining = 0; - lookupentry = nextlookup; - } while (nextlookup < resource_lookup_data_array + file_count); - } - return; -} - - - -void _load_rom_index_to_membank(int index,longlong param_2,int size,byte bank) - -{ - load_rom_resource_index_to_membank(index,param_2,size,bank); - return; -} - - - -undefined * _load_resource_index_to_membank(int fileid,longlong param_2,undefined *param_3,int bank) - -{ - undefined *in_v0_lo; - - load_resource_index_to_buffer(fileid,param_2,param_3,bank); - return in_v0_lo; -} - - - -u8 * _load_resource_named_to_membank(byte *filename,int param_2,int size,byte bank) - -{ - int index; - u8 *puVar1; - - index = get_index_num_of_named_resource(filename); - puVar1 = load_rom_resource_index_to_membank(index,(longlong)param_2,size,bank); - return puVar1; -} - - - -u8 * _load_resource_named_to_buffer(byte *filename,int param_2,undefined *param_3,int param_4) - -{ - u8 *index; - - index = (u8 *)get_index_num_of_named_resource(filename); - load_resource_index_to_buffer((int)index,(longlong)param_2,param_3,param_4); - return index; -} - - - -void load_bg_bytes_at_offset_to_membank(byte *bgname,char *src,int offset,int 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 < (uint)(offset + len)) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - romCopy(src,(char *)(file_resource_table[index].hw_address + offset),len); - } - return; -} - - - -u8 * load_rom_resource_index_to_membank(int index,longlong param_2,int size,byte bank) - -{ - u32 bytes; - u8 *ptrdata; - resource_lookup_data_entry *lookupdata; - - if (((param_2 == 0) || (param_2 == 1)) || (param_2 == 2)) { - bytes = resource_lookup_data_array[index].pc_remaining; - if (bytes == 0) { - bytes = memGetBankSizeLeft(bank); - resource_lookup_data_array[index].pc_remaining = bytes; - } - ptrdata = (u8 *)mempAllocBytesInBank(bytes,bank); - bytes = resource_lookup_data_array[index].pc_remaining; - resource_lookup_data_array[index].buffer_remaining = bytes; - if (file_resource_table[index].hw_address == 0) { - load_resource_from_indy - (ptrdata,bytes,file_resource_table + index,resource_lookup_data_array + index) - ; - } - else { - load_resource(ptrdata,bytes,file_resource_table + index, - resource_lookup_data_array + index); - } - if ((int)param_2 != 0) { - memAddEntryOfSizeToBank - (ptrdata,resource_lookup_data_array[index].pc_remaining,(uint)bank); - } - } - else { - lookupdata = resource_lookup_data_array + index; - bytes = resource_lookup_data_array[index].pc_remaining; - if (bytes == 0) { - bytes = lookupdata->rom_size; - if (bytes == 0) { - bytes = resource_lookup_data_array[index].pc_size; - resource_lookup_data_array[index].pc_remaining = bytes; - } - else { - resource_lookup_data_array[index].pc_remaining = bytes; - } - } - ptrdata = (u8 *)mempAllocBytesInBank(bytes,bank); - resource_lookup_data_array[index].buffer_remaining = - resource_lookup_data_array[index].pc_remaining; - if (file_resource_table[index].hw_address == 0) { - load_resource_from_indy(ptrdata,0,file_resource_table + index,lookupdata); - } - else { - load_resource(ptrdata,0,file_resource_table + index,lookupdata); - } - if (size == 0) { - resource_lookup_data_array[index].loaded_bank = bank; - } - } - return ptrdata; -} - - - -void load_resource_index_to_buffer(int index,longlong param_2,u8 *ptrdata,int bytes) - -{ - resource_lookup_data_entry *lookupdata; - - lookupdata = resource_lookup_data_array + index; - if (resource_lookup_data_array[index].pc_remaining == 0) { - if (lookupdata->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 = lookupdata->rom_size; - } - } - if (((param_2 == 0) || (param_2 == 1)) || (param_2 == 2)) { - if (file_resource_table[index].hw_address == 0) { - resource_lookup_data_array[index].buffer_remaining = bytes; - load_resource_from_indy(ptrdata,bytes,file_resource_table + index,lookupdata); - } - else { - resource_lookup_data_array[index].buffer_remaining = bytes; - load_resource(ptrdata,bytes,file_resource_table + index,lookupdata); - } - } - else { - if (file_resource_table[index].hw_address == 0) { - load_resource_from_indy(ptrdata,0,file_resource_table + index,lookupdata); - } - else { - load_resource(ptrdata,0,file_resource_table + index,lookupdata); - } - } - return; -} - - - -s32 get_pc_remaining_buffer_for_index(int index) - -{ - return resource_lookup_data_array[index].pc_remaining; -} - - - -u32 get_rom_remaining_buffer_for_index(int param_1) - -{ - return resource_lookup_data_array[param_1].buffer_remaining; -} - - - -void proc_7F0BD138(int index,u8 *ptrdata,int size,longlong param_4) - -{ - resource_lookup_data_array[index].pc_remaining = size; - resource_lookup_data_array[index].buffer_remaining = size; - if (param_4 != 0) { - memAddEntryOfSizeToBank(ptrdata,size,4); - } - return; -} - - - -s32 get_pc_buffer_remaining_value(byte *name) - -{ - int index; - - index = get_index_num_of_named_resource(name); - return resource_lookup_data_array[index].pc_remaining; -} - - - -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; - } - } - return; -} - - - -void proc_7F0BD234(void) - -{ - something_mem_bank_a0(5); - return; -} - - - -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; - *(byte **)&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].buffer_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; -} - - - -void removed_handle_filetable_entry(int param_1) - -{ - return; -} - - - -void removed_loop_handle_filetable_entries(void) - -{ - int index; - - index = 1; - if (1 < file_entry_max) { - do { - removed_handle_filetable_entry(index); - index += 1; - } while (index < file_entry_max); - } - return; -} - - - -void removed_loop_filetableentries(void) - -{ - int entry; - - entry = 2; - if (1 < file_entry_max) { - while (entry < file_entry_max) { - entry += 1; - } - } - return; -} - - - -void proc_7F0BD410(void) - -{ - resource_lookup_data_entry *prVar1; - - if (1 < file_entry_max) { - prVar1 = (resource_lookup_data_entry *)0x800888d8; - while (prVar1 < resource_lookup_data_array + file_entry_max) { - prVar1 = prVar1 + 1; - } - } - return; -} - - - -void something_with_dyn_c_debug(void) - -{ - get_ptr_debug_notice_list_entry(&dyn_c_debug_notice_list_entry,"dyn_c_debug"); - return; -} - - - -void set_vtx_gfx_mem_alloc(void) - -{ - byte *__nptr; - s32 sVar1; - long lVar2; - - __nptr = check_token(1,(byte *)"-mgfx"); - if (__nptr != NULL) { - sVar1 = get_num_players(); - __nptr = check_token(1,(byte *)"-mgfx"); - lVar2 = strtol((char *)__nptr,NULL,0); - (&dyn_c_debug_notice_list_entry)[sVar1] = (undefined *)(lVar2 << 10); - } - __nptr = check_token(1,(byte *)"-mvtx"); - if (__nptr != NULL) { - sVar1 = get_num_players(); - __nptr = check_token(1,(byte *)"-mvtx"); - lVar2 = strtol((char *)__nptr,NULL,0); - (&dword_800482F0)[sVar1] = (undefined *)(lVar2 << 10); - } - sVar1 = get_num_players(); - ptr_mgfx0_alloc_start = - mempAllocBytesInBank((int)(&dyn_c_debug_notice_list_entry)[sVar1] << 1,'\x04'); - sVar1 = get_num_players(); - ptr_mgfx1_alloc_start = (&dyn_c_debug_notice_list_entry)[sVar1] + ptr_mgfx0_alloc_start; - sVar1 = get_num_players(); - ptr_mgfx_end = (&dyn_c_debug_notice_list_entry)[sVar1] + (int)ptr_mgfx1_alloc_start; - sVar1 = get_num_players(); - ptr_mvtx0_alloc_start = - (undefined *)mempAllocBytesInBank((int)(&dword_800482F0)[sVar1] << 1,'\x04'); - sVar1 = get_num_players(); - ptr_mvtx1_alloc_start = ptr_mvtx0_alloc_start + (int)(&dword_800482F0)[sVar1]; - sVar1 = get_num_players(); - ptr_mvtx_end = (&dword_800482F0)[sVar1] + (int)ptr_mvtx1_alloc_start; - ptr_mvtx_cur_pos = ptr_mvtx0_alloc_start; - bank_in_mgfx_alloc_table = 0; - DAT_8008c254 = 0; - return; -} - - - -Gfx * get_ptr_displaylist(void) - -{ - DAT_8008c254 = 1; - return (Gfx *)(&ptr_mgfx0_alloc_start)[bank_in_mgfx_alloc_table]; -} - - - -int allocate_something_in_mgfx(int param_1) - -{ - return (&ptr_mgfx1_alloc_start)[bank_in_mgfx_alloc_table] - param_1 >> 3; -} - - - -void proc_7F0BD6C4(int param_1) - -{ - ptr_mvtx_cur_pos = ptr_mvtx_cur_pos + param_1 * 0x10; - return; -} - - - -void proc_7F0BD6E0(void) - -{ - ptr_mvtx_cur_pos = ptr_mvtx_cur_pos + 0x40; - return; -} - - - -void proc_7F0BD6F8(int param_1) - -{ - ptr_mvtx_cur_pos = ptr_mvtx_cur_pos + param_1 * 0x10; - return; -} - - - -void proc_7F0BD714(int param_1) - -{ - ptr_mvtx_cur_pos = ptr_mvtx_cur_pos + ((param_1 + 0xfU | 0xf) ^ 0xf); - return; -} - - - -void allocate_something_in_mvtx(void) - -{ - ptr_mvtx_cur_pos = (undefined *)(&ptr_mvtx0_alloc_start)[bank_in_mgfx_alloc_table ^ 1]; - bank_in_mgfx_alloc_table = bank_in_mgfx_alloc_table ^ 1; - DAT_8008c254 = 0; - return; -} - - - -void removed_debug_routine(int param_1) - -{ - return; -} - - - -int num_microcode_cmds_that_fit(int ptr_DLtarget) - -{ - return (&ptr_mgfx1_alloc_start)[bank_in_mgfx_alloc_table] - ptr_DLtarget >> 3; -} - - - -int proc_7F0BD7A4(void) - -{ - return (&ptr_mvtx1_alloc_start)[bank_in_mgfx_alloc_table] - (int)ptr_mvtx_cur_pos; -} - - - -char * compute_membar_display_string(char *string,int commandsused,int commandsavailable) - -{ - char *pcVar1; - - pcVar1 = (char *)strlen(string); - return pcVar1; -} - - - -char * draw_membars(void) - -{ - char *pcVar1; - int in_a0_lo; - - compute_membar_display_string - ("=========================", - (int)(float)((&ptr_mgfx1_alloc_start)[bank_in_mgfx_alloc_table] - in_a0_lo >> 3), - (int)(float)((int)((&ptr_mgfx1_alloc_start)[bank_in_mgfx_alloc_table] - - (&ptr_mgfx0_alloc_start)[bank_in_mgfx_alloc_table]) >> 3)); - pcVar1 = compute_membar_display_string - ("=========================", - (int)(float)((&ptr_mvtx1_alloc_start)[bank_in_mgfx_alloc_table] - - (int)ptr_mvtx_cur_pos), - (int)(float)((&ptr_mvtx1_alloc_start)[bank_in_mgfx_alloc_table] - - (&ptr_mvtx0_alloc_start)[bank_in_mgfx_alloc_table])); - return pcVar1; -} - - - -undefined4 proc_7F0BD8F0(void) - -{ - return dword_800483C0; -} - - - -void proc_7F0BD8FC(undefined4 param_1) - -{ - dword_800483C0 = param_1; - return; -} - - - -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; - ptr_jfont_DL = (void *)mempAllocBytesInBank(0xc0,'\x06'); - romCopy((char *)ptr_jfont_DL,unknown,0xc0); - return; -} - - - -void playrandommusictrack1(void) - -{ - u32 uVar1; - - uVar1 = get_random_value(); - musictrack1_playing = uVar1 % 0x3d + M_INTRO; - musicTrack1Play(musictrack1_playing); - return; -} - - - -void playmusictrack1(MUSIC_TRACKS track) - -{ - musictrack1_playing = track; - musicTrack1Play(track); - return; -} - - - -void music_append_play_solo_death_short(void) - -{ - musictrack1_playing = (int)(musictrack1_playing + M_SHORT_SOLO_DEATH) % 0x3f; - if (musictrack1_playing == M_NONE) { - musictrack1_playing = M_SHORT_SOLO_DEATH; - } - musicTrack1Play(musictrack1_playing); - return; -} - - - -void music_append_play_endtheme(void) - -{ - musictrack1_playing = (int)(musictrack1_playing + M_END_SOMETHING) % 0x3f; - if (musictrack1_playing == M_NONE) { - musictrack1_playing = M_END_SOMETHING; - } - musicTrack1Play(musictrack1_playing); - return; -} - - - -void proc_7F0BDA84(void) - -{ - MUSIC_TRACKS track; - - track = getmusictrack_or_randomtrack(stagenum); - playmusictrack1(track); - return; -} - - - -void stage_load(LEVELID stagenum) - -{ - u32 uVar1; - int iVar2; - undefined4 time; - s32 sVar3; - u32 cheatindex; - int player; - PLAYER_ID playernum; - u8 *pcheat; - playerperm *ppVar4; - playerperm *ppVar5; - playerperm *ppVar6; - f32 fVar7; - - dword_800483C0 = 1; - controls_locked_flag = 0; - clock_timer = 1; - global_timer_delta = 1.00000000; - dword_80048380 = 0; - global_timer = 0; - dword_80048388 = 0; - dword_8004838C = 0; - dword_80048390 = 0; - dword_80048394 = 0; - cur_mp_sec = 0.00000000; - dword_800483B0 = 0; - stage_time_sec = 0.00000000; - dword_800483A0 = 0; - stagenum = stagenum; - music_related_39(1.00000000); - musicTrack1Vol(0x7fff); - musicTrack2Vol(0x7fff); - musicTrack3Vol(0x7fff); - proc_7F0C1364(); - proc_7F005534(1); - set_mt_tex_alloc(); - proc_7F0A47D4(); - load_prepare_global_image_bank(); - load_font_tables(); - if (stagenum == LEVELID_TITLE) { - init_menus_or_reset(); - } - else { - newcheatunlocked = 0; - if (((stagenum != 0x5a) && (dword_80048394 == 0)) && (0 < clock_timer)) { - pcheat = CHEATS_ACTIVE_ARRAY; - cheatindex = 1; - if (append_cheat_sp != FALSE) { - do { - if ((*pcheat != '\0') && - (uVar1 = is_cheat_index_equal_to_1C(cheatindex), uVar1 != 0)) { - turn_on_cheat_for_players(cheatindex); - } - cheatindex += 1; - pcheat = pcheat + 1; - } while (cheatindex != 0x4b); - } - } - load_bg_file(stagenum); - store_stagenum_to_copyof_stagenum(stagenum); - init_watch_at_start_of_stage(); - sub_GAME_7F0C11FC((s16)stagenum); - ppVar5 = player1_playerdata; - ppVar6 = ppVar5; - do { - sVar3 = get_num_players(); - player = 0; - if (sVar3 == 1) { - ppVar5->autoaim = '\0'; - ppVar5->sight = '\0'; - ppVar5->handicap = 1.00000000; - ppVar5->player_perspective_height = 1.00000000; - } - else { - ppVar4 = player1_playerdata; - do { - iVar2 = get_scenario(); - if (iVar2 == 4) { - ppVar4->handicap = 200.00000000; - } - else { - fVar7 = get_player_mp_handicap(player); - *(f32 *)&ppVar4->handicap = fVar7; - } - fVar7 = get_player_mp_char_height(player); - player += 1; - *(f32 *)&ppVar4->player_perspective_height = fVar7; - ppVar4 = ppVar4 + 1; - } while (player != 4); - time = get_mp_timelimit(); - set_mp_time(time); - time = get_mp_pointlimit(); - set_mp_point(time); - copy_aim_settings_to_playerdata(); - } - ppVar5->drawplayercount = 0; - ppVar5->backshotcount = 0; - ppVar5->fastest2kills = 0x7fffffff; - ppVar5->slowest2kills = 0; - ppVar5->most_killed_one_life = 0; - ppVar5->most_killed_one_time = 0; - ppVar5->longestlife = 0; - ppVar5->shortestlife = 0x7fffffff; - ppVar5->order_out_in_yolt = '\0'; - ppVar5->flag_counter = 0; - ppVar5->distance = 0.00000000; - ppVar5->armourcount = 0.00000000; - ppVar4 = ppVar6 + 1; - ppVar5 = ppVar5 + 1; - ppVar6->kills[3] = 0; - ppVar6->kills[2] = 0; - ppVar6->kills[1] = 0; - ppVar6->kills[0] = 0; - ppVar6 = ppVar4; - } while (ppVar4 != (playerperm *)&pPlayer); - } - something_with_stage_objectives(); - unpause_game(); - proc_7F09B820(); - proc_7F005450(); - proc_7F005520(); - init_load_objpos_table(); - reinit_between_menus(); - init_sound_effects_registers(); - initguards(); - set_new_rand_head_bodies(); - proplvreset2((longlong)stagenum); - alloc_explosion_smoke_casing_scorch_impact_buffers(); - proc_7F007180(); - proc_7F007290(); - proc_7F0072B0(); - if (stagenum == 0x5a) { - disable_onscreen_cheat_text(); - } - else { - init_path_table_links(); - something_with_ejected_cartridges(); - playernum = PLAYER1; - sVar3 = get_num_players(); - if (0 < sVar3) { - do { - set_cur_player(playernum); - proc_7F0061F0(); - init_player_BONDdata_stats(); - init_player_BONDdata(); - load_camera_intro_type_values(); - proc_7F0798B8(); - sets_a_bunch_of_BONDdata_values_to_default(); - disable_onscreen_cheat_text(); - playernum += PLAYER2; - sVar3 = get_num_players(); - } while ((int)playernum < sVar3); - } - set_cur_player(PLAYER1); - } - proc_7F005534(0); - remove_viewport_buffer(); - setVideoWidthHeightToMode('\x01'); - flt_80048368 = 1.00000000; - set_controls_locked_flag(0); - return; -} - - - -STAGENUM proc_7F0BDF04(void) - -{ - return stagenum; -} - - - -undefined4 proc_7F0BDF10(longlong param_1) - -{ - undefined8 uVar1; - u32 uVar3; - u32 uVar4; - ulonglong uVar2; - - if (param_1 != 0) { - uVar1 = proc_7F0B9DE4(param_1); - DAT_800483d0 = DAT_800483d4; - DAT_800483d4 = DAT_800483d8; - DAT_800483d8 = DAT_800483dc; - DAT_800483dc = DAT_800483e0; - uVar3 = get_controller_buttons_held('\0',A_BUTTON); - uVar4 = get_controller_buttons_held('\x01',A_BUTTON); - DAT_800483e0 = uVar4 | uVar3 & 0xffff; - if (DAT_800483dc != DAT_800483e0) { - dword_800483C0 ^= 1; - } - if (DAT_800483d0 != DAT_800483d4) { - dword_800483C0 ^= 1; - } - proc_7F0B9DF4(); - return (int)uVar1; - } - uVar3 = get_controller_buttons_pressed('\0',L_JPAD); - uVar4 = get_controller_buttons_pressed('\x01',L_JPAD); - if (((uVar4 | uVar3 & 0xffff) != 0) && (DAT_800483cc += -1, DAT_800483cc < 0)) { - DAT_800483cc = 0; - } - uVar3 = get_controller_buttons_pressed('\0',R_JPAD); - uVar4 = get_controller_buttons_pressed('\x01',R_JPAD); - if ((uVar4 | uVar3 & 0xffff) != 0) { - DAT_800483cc += 1; - } - uVar3 = get_controller_buttons_held('\0',R_TRIG); - uVar4 = get_controller_buttons_held('\x01',R_TRIG); - if ((uVar4 | uVar3 & 0xffff) != 0) { - uVar3 = get_controller_buttons_held('\0',L_TRIG); - uVar4 = get_controller_buttons_held('\x01',L_TRIG); - if ((uVar4 | uVar3 & 0xffff) != 0) { - uVar3 = get_controller_buttons_pressed('\0',D_JPAD); - if (uVar3 == 0) { - return 0; - } - proc_7F0B9B64(DAT_800483cc); - return 0; - } - } - uVar3 = get_controller_buttons_held('\0',R_TRIG); - uVar4 = get_controller_buttons_held('\x01',R_TRIG); - if ((uVar4 | uVar3 & 0xffff) == 0) { - uVar3 = get_controller_buttons_held('\0',L_TRIG); - uVar4 = get_controller_buttons_held('\x01',L_TRIG); - if ((uVar4 | uVar3 & 0xffff) == 0) { - uVar3 = get_controller_buttons_pressed('\0',D_JPAD); - uVar4 = get_controller_buttons_pressed('\x01',D_JPAD); - if ((uVar4 | uVar3 & 0xffff) != 0) { - proc_7F0B9A7C(DAT_800483cc); - } - uVar3 = get_controller_buttons_pressed('\0',U_JPAD); - uVar4 = get_controller_buttons_pressed('\x01',U_JPAD); - if ((uVar4 | uVar3 & 0xffff) != 0) { - proc_7F0B9A2C(DAT_800483cc); - } - } - else { - uVar3 = get_controller_buttons_pressed('\0',D_JPAD); - uVar4 = get_controller_buttons_pressed('\x01',D_JPAD); - if (((uVar4 | uVar3 & 0xffff) != 0) && (uVar2 = proc_7F0B9B04(DAT_800483cc), uVar2 != 0) - ) { - proc_7F0B9B44(DAT_800483cc); - } - uVar3 = get_controller_buttons_pressed('\0',U_JPAD); - uVar4 = get_controller_buttons_pressed('\x01',U_JPAD); - if (((uVar4 | uVar3 & 0xffff) != 0) && (uVar2 = proc_7F0B9B04(DAT_800483cc), uVar2 == 0) - ) { - proc_7F0B9B24(DAT_800483cc); - return 0; - } - } - } - else { - uVar3 = get_controller_buttons_pressed('\0',D_JPAD); - uVar4 = get_controller_buttons_pressed('\x01',D_JPAD); - if (((uVar4 | uVar3 & 0xffff) != 0) && (uVar2 = proc_7F0B9AE4(DAT_800483cc), uVar2 == 0)) { - proc_7F0B9DBC(DAT_800483cc,0); - } - uVar3 = get_controller_buttons_pressed('\0',U_JPAD); - uVar4 = get_controller_buttons_pressed('\x01',U_JPAD); - if (((uVar4 | uVar3 & 0xffff) != 0) && (uVar2 = proc_7F0B9AE4(DAT_800483cc), uVar2 != 0)) { - proc_7F0B9DBC(DAT_800483cc,1); - return 0; - } - } - return 0; -} - - - -uint * proc_7F0BE30C(Gfx *param_1) - -{ - u32 uVar3; - uint *puVar4; - short sVar12; - short sVar13; - Gfx *pGVar5; - s32 sVar6; - PLAYER_ID playernum; - undefined8 uVar1; - int iVar7; - longlong lVar2; - BOOL BVar8; - byte *pbVar9; - int *piVar10; - uint uVar11; - int iVar14; - Gfx *pGStackX0; - - *(undefined4 *)param_1 = 0xbc000006; - *(undefined4 *)((int)param_1 + 4) = 0; - pGStackX0 = param_1 + 2; - *(undefined4 *)(param_1 + 1) = 0xbc000406; - uVar3 = osVirtualToPhysical(ptr_jfont_DL); - *(u32 *)((int)param_1 + 0xc) = uVar3; - *(undefined4 *)((int)pGStackX0 + 4) = 0x1000040; - *(undefined4 *)pGStackX0 = 0x6000000; - pGVar5 = pGStackX0 + 2; - *(undefined4 *)((int)pGStackX0 + 0xc) = 0x1000020; - *(undefined4 *)(pGStackX0 + 1) = 0x6000000; - pGStackX0 = pGVar5; - if (stagenum == 0x5a) { - pGStackX0 = (Gfx *)proc_70003EB4((undefined4 *)pGVar5); - puVar4 = proc_70003C58((uint *)pGStackX0); - pGStackX0 = (Gfx *)(puVar4 + 2); - *puVar4 = 0xed000000; - sVar12 = get_video2_settings_txtClipW(); - sVar13 = get_video2_settings_txtClipH(); - pGVar5 = (Gfx *)(int)sVar13; - puVar4[1] = (int)((float)(int)sVar13 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar12 * 4.00000000) & 0xfffU) << 0xc; - menu_jump_constructor_handler(pGStackX0); - pGStackX0 = pGVar5; - } - else { - sVar6 = get_num_players(); - *(undefined4 *)pGStackX0 = 0xbc000404; - *(undefined4 *)((int)pGStackX0 + 4) = 2; - *(undefined4 *)((int)pGStackX0 + 0xc) = 2; - *(undefined4 *)(pGStackX0 + 1) = 0xbc000c04; - *(undefined4 *)(pGStackX0 + 2) = 0xbc001404; - *(undefined4 *)((int)pGStackX0 + 0x14) = 0xfffe; - pGVar5 = pGStackX0 + 4; - iVar14 = 0; - *(undefined4 *)((int)pGStackX0 + 0x1c) = 0xfffe; - *(undefined4 *)(pGStackX0 + 3) = 0xbc001c04; - pGStackX0 = pGVar5; - if (0 < sVar6) { - do { - playernum = proc_7F09B528(iVar14); - set_cur_player(playernum); - set_video2_width_height(pPlayer->viewx,pPlayer->viewy); - set_video2_ulx_uly(pPlayer->viewleft,pPlayer->viewtop); - setvideo_far(pPlayer->fovy); - video_related_21(pPlayer->aspect); - pGStackX0 = (Gfx *)proc_70003EB4((undefined4 *)pGStackX0); - pGStackX0 = (Gfx *)proc_70003C58((uint *)pGStackX0); - uVar3 = get_debug_render_raster(); - if (uVar3 == 0) { - pGStackX0 = (Gfx *)proc_7F091580(pGStackX0); - } - uVar3 = get_debug_render_raster(); - if (uVar3 == 1) { - uVar1 = proc_7F0B2D48((longlong)(int)pGStackX0); - pGStackX0 = (Gfx *)(uint *)uVar1; - } - uVar3 = get_debug_render_raster(); - if (uVar3 == 2) { - pGStackX0 = (Gfx *)proc_7F087A08(pGStackX0); - } - pGStackX0 = (Gfx *)setupscreensfornumplayers((undefined4 *)pGStackX0); - pGStackX0 = (Gfx *)proc_7F094488(); - proc_7F0B4884(); - determing_type_of_object_and_detection(); - proc_7F03A240(); - proc_7F03D78C(); - proc_7F03C294(); - iVar7 = proc_7F089F38(); - if ((iVar7 != 0) && (lVar2 = proc_7F03C4F0(), lVar2 != 0)) { - attempt_reload_item_in_hand(0); - attempt_reload_item_in_hand(1); - } - proc_7F03D0D4(); - pGStackX0 = (Gfx *)proc_7F0B4E40((undefined4 *)pGStackX0); - BVar8 = getdebug_portal_flag(); - if (BVar8 != FALSE) { - pGStackX0 = (Gfx *)proc_7F0BDF10((longlong)(int)pGStackX0); - } - BVar8 = get_turbo_mode_flag(); - if (BVar8 != FALSE) { - uVar1 = stan_problems_removed((longlong)(int)pGStackX0); - pGStackX0 = (Gfx *)(undefined4 *)uVar1; - } - BVar8 = get_debug_stanhit_flag(); - if (BVar8 != FALSE) { - uVar1 = proc_7F0B3034((longlong)(int)pGStackX0); - pGStackX0 = (Gfx *)(int)uVar1; - uVar1 = write_stan_tiles_in_yellow(uVar1); - pGStackX0 = (Gfx *)(undefined4 *)uVar1; - } - BVar8 = get_debug_stanregion_flag(); - if (BVar8 != FALSE) { - uVar1 = proc_7F0B3034((longlong)(int)pGStackX0); - pGStackX0 = (Gfx *)(int)uVar1; - uVar1 = stan_region_removed(uVar1); - pGStackX0 = (Gfx *)(undefined4 *)uVar1; - } - pbVar9 = check_token(1,(byte *)"-stanshow_"); - if (pbVar9 != NULL) { - pbVar9 = check_token(1,(byte *)"-stanshow_"); - piVar10 = stanMatchTileName(pbVar9); - if (piVar10 != NULL) { - uVar1 = proc_7F0B3034((longlong)(int)pGStackX0); - pGStackX0 = (Gfx *)(int)uVar1; - uVar1 = proc_7F0B3024(uVar1); - pGStackX0 = (Gfx *)(undefined4 *)uVar1; - } - } - pbVar9 = check_token(2,(byte *)"-stanshow_"); - if (pbVar9 != NULL) { - pbVar9 = check_token(2,(byte *)"-stanshow_"); - piVar10 = stanMatchTileName(pbVar9); - if (piVar10 != NULL) { - uVar1 = proc_7F0B3034((longlong)(int)pGStackX0); - pGStackX0 = (Gfx *)(int)uVar1; - uVar1 = proc_7F0B3024(uVar1); - pGStackX0 = (Gfx *)(undefined4 *)uVar1; - } - } - pbVar9 = check_token(3,(byte *)"-stanshow_"); - if (pbVar9 != NULL) { - pbVar9 = check_token(3,(byte *)"-stanshow_"); - piVar10 = stanMatchTileName(pbVar9); - if (piVar10 != NULL) { - uVar1 = proc_7F0B3034((longlong)(int)pGStackX0); - pGStackX0 = (Gfx *)(int)uVar1; - uVar1 = proc_7F0B3024(uVar1); - pGStackX0 = (Gfx *)(undefined4 *)uVar1; - } - } - uVar3 = get_debug_limit_controller_input(); - proc_7F022E24((uint)(uVar3 == 8)); - pGStackX0 = (Gfx *)proc_7F049B58((undefined4 *)pGStackX0); - proc_7F0A4824((longlong)(int)register0x000000ec,1); - pGStackX0 = (Gfx *)proc_7F0A2C44((undefined4 *)pGStackX0); - pGStackX0 = (Gfx *)proc_7F0A0034((undefined4 *)pGStackX0); - uVar11 = cheatCheckIfOn(cheats_cheat_infinite_ammo); - if (uVar11 != 0) { - set_max_ammo_for_cur_player(); - } - uVar3 = get_debug_render_raster(); - if (uVar3 == 2) { - pGStackX0 = (Gfx *)maybe_mp_interface(); - } - else { - uVar1 = proc_7F08BCB8((longlong)(int)pGStackX0); - pGStackX0 = (Gfx *)(uint *)uVar1; - } - pGStackX0 = (Gfx *)mp_watch_menu_display((uint *)pGStackX0); - iVar14 += 1; - } while (iVar14 < sVar6); - } - } - pGVar5 = pGStackX0; - *(uint *)pGStackX0 = 0xed000000; - pGStackX0 = pGStackX0 + 1; - sVar12 = get_video2_settings_txtClipW(); - sVar13 = get_video2_settings_txtClipH(); - *(uint *)((int)pGVar5 + 4) = - (int)((float)(int)sVar13 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar12 * 4.00000000) & 0xfffU) << 0xc; - return (uint *)pGStackX0; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -void proc_7F0BE8D0(void) - -{ - f32 fVar1; - f32 fVar2; - float fVar3; - float fVar4; - - if (difficulty_0 == 0) { - fVar1 = get_BONDdata_watch_health(); - fVar2 = get_BONDdata_watch_armor(); - fVar3 = 1.00000000; - fVar4 = (float)fVar2 + (float)fVar1; - if (fVar4 <= 0.12500000) { - fVar3 = 0.50000000; - } - else { - if (fVar4 <= flt_8005B73C) { - fVar3 = ((fVar4 - 0.12500000) * 0.50000000) / flt_8005B740 + 0.50000000; - } - } - flt_80030B14 = 2.00000000; - ai_damage_modifier = (f32)(fVar3 * 0.50000000); - flt_80030B18 = 2.00000000; - flt_80030B24 = 2.00000000; - ai_accuracy_modifier = (f32)flt_8005B744; - ai_health_modifier = 2.00000000; - dword_80040178 = (f32)(fVar3 * 0.25000000); - difficulty = 1.50000000; - solo_ammo_multiplier = 2.00000000; - ai_reaction_speed = (f32)flt_8005B748; - flt_80030B1C = (float)ai_damage_modifier; - flt_80030B20 = (float)ai_damage_modifier; - } - else { - if (difficulty_0 == 1) { - flt_80030B14 = 1.00000000; - flt_80030B18 = 1.00000000; - flt_80030B1C = 0.75000000; - flt_80030B20 = 0.75000000; - flt_80030B24 = 1.00000000; - ai_accuracy_modifier = 0.75000000; - ai_damage_modifier = 0.75000000; - ai_health_modifier = 1.00000000; - dword_80040178 = 0.75000000; - difficulty = 0.75000000; - solo_ammo_multiplier = 1.50000000; - ai_reaction_speed = 0.50000000; - } - else { - if (difficulty_0 == 2) { - flt_80030B14 = 1.00000000; - flt_80030B18 = 1.00000000; - flt_80030B1C = 1.00000000; - flt_80030B20 = 1.00000000; - flt_80030B24 = 1.00000000; - ai_accuracy_modifier = 1.00000000; - ai_damage_modifier = 1.00000000; - ai_health_modifier = 1.00000000; - dword_80040178 = 1.00000000; - difficulty = (f32)flt_8005B74C; - solo_ammo_multiplier = 1.00000000; - ai_reaction_speed = 1.00000000; - } - else { - if (difficulty_0 == 3) { - flt_80030B14 = 1.00000000; - flt_80030B18 = 1.00000000; - flt_80030B1C = 1.00000000; - flt_80030B20 = 1.00000000; - flt_80030B24 = 1.00000000; - ai_accuracy_modifier = 1.00000000; - ai_damage_modifier = 1.00000000; - ai_health_modifier = 1.00000000; - dword_80040178 = 1.00000000; - difficulty = 1.00000000; - solo_ammo_multiplier = 1.00000000; - ai_reaction_speed = 1.00000000; - } - } - } - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0bf074) overlaps instruction at (ram,0x7f0bf070) -// - -void manage_mp_game(void) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - Player *pPVar4; - u32 uVar6; - s32 sVar7; - int iVar8; - int iVar9; - ulonglong uVar5; - BOOL BVar10; - u8 *puVar11; - u32 cheatindex; - Player **ppPVar12; - uint uVar13; - int *piVar14; - undefined8 extraout_a0; - int iVar15; - undefined8 extraout_a1; - char cVar16; - char cVar17; - uint uVar18; - int iVar19; - int iVar20; - int iStack364; - int iStack360; - PLAYER_ID PStack28; - - mp_tlb_related(); - if (controls_locked_flag == 0) { - iVar8 = get_ispaused(); - if (iVar8 == 0) { - clock_timer = speedgraphframes; - dword_80048380 += 1; - } - else { - clock_timer = 0; - } - } - else { - clock_timer = 0; - } - global_timer_delta = (float)clock_timer; - global_timer += clock_timer; - if (((stagenum != 0x5a) && (dword_80048394 == 0)) && (0 < clock_timer)) { - puVar11 = CHEATS_ACTIVE_ARRAY; - cheatindex = 1; - if (append_cheat_sp != FALSE) { - do { - if ((*puVar11 != '\0') && - (uVar6 = is_cheat_index_equal_to_1C(cheatindex), uVar6 == 0)) { - turn_on_cheat_for_players(cheatindex); - } - cheatindex += 1; - puVar11 = puVar11 + 1; - } while (cheatindex != 0x4b); - } - } - sVar7 = get_num_players(); - if ((1 < sVar7) && (stagenum != 0x5a)) { - iVar8 = get_mission_state(); - if (iVar8 == 6) { - sVar7 = get_num_players(); - iVar8 = 0; - iVar19 = 0; - iVar9 = 0; - if (0 < sVar7) { - ppPVar12 = ptr_BONDdata_p1; - do { - pPVar4 = *ppPVar12; - iVar8 += 1; - ppPVar12 = ppPVar12 + 1; - if ((pPVar4->bonddead != 0) && (iVar19 += 1, pPVar4->field_424 != 0)) { - iVar9 += 1; - } - sVar7 = get_num_players(); - } while (iVar8 < sVar7); - } - if ((0 < iVar19) && (iVar19 == iVar9)) { - set_missionstate(1); - } - } - iVar8 = dword_80048394; - if (0 < mp_time) { - iVar19 = clock_timer + dword_80048394; - if ((dword_80048394 < mp_time + -0xe10) && (mp_time + -0xe10 <= iVar19)) { - PStack28 = PLAYER1; - sVar7 = get_num_players(); - if (0 < sVar7) { - do { - set_cur_player(PStack28); - display_string_in_lower_left_corner("One minute left"); - PStack28 += PLAYER2; - sVar7 = get_num_players(); - } while ((int)PStack28 < sVar7); - } - } - if (((mp_time + -600 <= iVar19) && (dword_800483A0 == NULL)) && - (iVar9 = get_controls_locked_flag(), iVar9 == 0)) { - play_sfx_a1(ptr_sfx_buf,0xa1,(ALSndPlayer *)&dword_800483A0); - } - iVar9 = get_controls_locked_flag(); - if (((iVar9 != 0) && (dword_800483A0 != NULL)) && - (uVar5 = sfxGetArg0Unk3F(dword_800483A0), uVar5 != 0)) { - sfxDeactivate((int)dword_800483A0); - } - if ((iVar8 < mp_time) && (mp_time <= iVar19)) { - proc_7F0C2530(0); - } - } - if ((0 < mp_point) && (clock_timer != 0)) { - sVar7 = get_num_players(); - iVar8 = 0; - iVar19 = 0; - uVar13 = 0; - if (0 < sVar7) { - ppPVar12 = ptr_BONDdata_p1; - do { - pPVar4 = *ppPVar12; - if ((pPVar4->bonddead != 0) && - (((pPVar4->field_424 == 0 || (pPVar4->field_428 == 0)) || - (0.00000000 <= pPVar4->timer_for_fade)))) { - iVar8 += 1; - } - iVar9 = get_points_for_mp_player(uVar13); - if (mp_point <= iVar9) { - iVar19 += 1; - } - uVar13 += 1; - ppPVar12 = ppPVar12 + 1; - } while ((int)uVar13 < sVar7); - } - if (0 < iVar19) { - if (iVar8 == 0) { - proc_7F0C2530(0); - } - else { - set_stopplay_flag(); - } - } - } - iVar8 = get_scenario(); - if ((iVar8 == 1) && (clock_timer != 0)) { - uVar13 = get_num_players(); - iVar19 = 0; - iVar9 = 0; - iVar8 = 0; - if (0 < (int)uVar13) { - do { - iVar15 = 0; - cVar17 = '\0'; - cVar16 = '\0'; - uVar18 = 0; - if (0 < (int)uVar13) { - if ((uVar13 & 3) != 0) { - ppPVar12 = ptr_BONDdata_p1; - piVar14 = player1_playerdata[0].shotcount + iVar8; - cVar16 = cVar17; - do { - pPVar4 = *ppPVar12; - uVar18 += 1; - ppPVar12 = ppPVar12 + 1; - if (pPVar4->bonddead == 0) { - cVar16 += '\x01'; - iVar20 = piVar14[9]; - } - else { - iVar20 = piVar14[9]; - } - piVar14 = piVar14 + 0x1c; - iVar15 += iVar20; - } while ((uVar13 & 3) != uVar18); - cVar17 = cVar16; - if (uVar18 == uVar13) goto LAB_7f0bf124; - } - ppPVar12 = ptr_BONDdata_p1 + uVar18; - piVar14 = player1_playerdata[uVar18].shotcount + iVar8; - cVar16 = cVar17; - do { - if ((*ppPVar12)->bonddead == 0) { - cVar16 += '\x01'; - pPVar4 = ppPVar12[1]; - } - else { - pPVar4 = ppPVar12[1]; - } - piVar1 = piVar14 + 9; - if (pPVar4->bonddead == 0) { - cVar16 += '\x01'; - pPVar4 = ppPVar12[2]; - } - else { - pPVar4 = ppPVar12[2]; - } - piVar2 = piVar14 + 0x25; - if (pPVar4->bonddead == 0) { - cVar16 += '\x01'; - pPVar4 = ppPVar12[3]; - } - else { - pPVar4 = ppPVar12[3]; - } - piVar3 = piVar14 + 0x41; - ppPVar12 = ppPVar12 + 4; - if (pPVar4->bonddead == 0) { - cVar16 += '\x01'; - iVar20 = piVar14[0x5d]; - } - else { - iVar20 = piVar14[0x5d]; - } - piVar14 = piVar14 + 0x70; - iVar15 = iVar15 + *piVar1 + *piVar2 + *piVar3 + iVar20; - } while (ppPVar12 != ptr_BONDdata_p1 + uVar13); - } -LAB_7f0bf124: - if (1 < iVar15) { - if (player1_playerdata[iVar8].order_out_in_yolt == '\0') { - player1_playerdata[iVar8].order_out_in_yolt = cVar16 + '\x01'; - } - pPVar4 = ptr_BONDdata_p1[iVar8]; - iVar19 += 1; - if (((pPVar4->field_424 != 0) && (pPVar4->field_428 != 0)) && - (pPVar4->timer_for_fade < 0.00000000)) { - iVar9 += 1; - } - } - iVar8 += 1; - } while (iVar8 < (int)uVar13); - } - if (iVar9 < (int)(uVar13 - 1)) { - if ((int)(uVar13 - 1) <= iVar19) { - set_stopplay_flag(); - } - } - else { - proc_7F0C2530(0); - } - } - } - dword_80048394 += clock_timer; - cur_mp_sec = (float)dword_80048394 / 60.00000000; - dword_800483A8 += clock_timer; - cur_mp_min = (f32)((float)dword_800483A8 / 60.00000000); - cheatindex = 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 (cheatindex == 0) { - dword_80048390 += clock_timer; - if (0x707 < dword_80048390) { - dword_80048388 = 1; - } - } - else { - dword_80048388 = 0; - dword_80048390 = 0; - } - if (dword_80048388 == 0) { - dword_800483B0 += clock_timer; - stage_time_sec = (f32)((float)dword_800483B0 / 60.00000000); - dword_800483B8 += clock_timer; - poweron_time_sec = (f32)((float)dword_800483B8 / 60.00000000); - } - else { - dword_8004838C += clock_timer; - } - set_video2_settings_offset_24(1); - if (stagenum == 0x5a) { - cheat_buttons_mp_related(); - menu_init(extraout_a0,extraout_a1); - something_with_LnameJ(); - } - else { - proc_7F09BBBC(); - proc_7F0BE8D0(); - proc_7F0BC7D4(); - proc_7F092E50(); - proc_7F094438(); - proc_7F0A47FC(); - proc_7F068E6C(); - proc_7F0A28D4(); - proc_7F09FD3C(); - handle_mp_respawn_and_some_things(); - reset_all_music_slots(); - something_with_LnameJ(); - iVar8 = get_debug_joy2detailedit_flag(); - if (((iVar8 != 0) && (DAT_800483c8 == 0)) && - (DAT_800483c8 = mempAllocBytesInBank(0x3000,'\x04'), DAT_800483c8 != 0)) { - iVar8 = 0; - do { - *(undefined *)(DAT_800483c8 + iVar8) = 0xff; - *(byte *)(DAT_800483c8 + iVar8 + 1) = - *(byte *)(DAT_800483c8 + iVar8 + 1) & 0x1f | 0x20; - *(byte *)(DAT_800483c8 + iVar8 + 1) = *(byte *)(DAT_800483c8 + iVar8 + 1) & 0xe3 | 4 - ; - *(undefined *)(DAT_800483c8 + iVar8 + 4) = 0xff; - *(byte *)(DAT_800483c8 + iVar8 + 5) = - *(byte *)(DAT_800483c8 + iVar8 + 5) & 0x1f | 0x20; - *(byte *)(DAT_800483c8 + iVar8 + 5) = *(byte *)(DAT_800483c8 + iVar8 + 5) & 0xe3 | 4 - ; - *(undefined *)(DAT_800483c8 + iVar8 + 8) = 0xff; - *(byte *)(DAT_800483c8 + iVar8 + 9) = - *(byte *)(DAT_800483c8 + iVar8 + 9) & 0x1f | 0x20; - *(byte *)(DAT_800483c8 + iVar8 + 9) = *(byte *)(DAT_800483c8 + iVar8 + 9) & 0xe3 | 4 - ; - *(undefined *)(DAT_800483c8 + iVar8 + 0xc) = 0xff; - *(byte *)(DAT_800483c8 + iVar8 + 0xd) = - *(byte *)(DAT_800483c8 + iVar8 + 0xd) & 0x1f | 0x20; - iVar19 = DAT_800483c8 + iVar8; - iVar8 += 0x10; - *(byte *)(iVar19 + 0xd) = *(byte *)(iVar19 + 0xd) & 0xe3 | 4; - } while (iVar8 != 12000); - } - BVar10 = getdebug_portal_flag(); - if (BVar10 != FALSE) { - proc_7F0BDF10(0); - } - cheatindex = get_debug_limit_controller_input(); - if (cheatindex == 4) { - cheatindex = get_controller_buttons_pressed('\0',L_CBUTTONS); - if (cheatindex != 0) { - removed_7F0AF630(-1); - removed_7F0B2D38(0,0,0); - } - cheatindex = get_controller_buttons_pressed('\0',R_CBUTTONS); - if (cheatindex != 0) { - removed_7F0AF630(1); - removed_7F0B2D38(0,0,0); - } - } - else { - if (cheatindex == 8) { - cheatindex = get_controller_buttons_pressed('\0',L_CBUTTONS); - if (cheatindex != 0) { - proc_7F022E30(); - } - cheatindex = get_controller_buttons_pressed('\0',R_CBUTTONS); - if (cheatindex != 0) { - proc_7F022E90(); - } - cheatindex = get_controller_buttons_pressed('\0',L_TRIG); - if (cheatindex != 0) { - proc_7F022EC8(); - } - cheatindex = get_controller_buttons_held('\0',R_TRIG); - proc_7F022EE0((uint)(cheatindex != 0)); - } - } - } - cheatindex = get_debug_limit_controller_input(); - if (cheatindex == 0xc) { - cheatindex = get_controller_buttons_pressed('\0',L_CBUTTONS|L_JPAD); - if (cheatindex != 0) { - music_append_play_endtheme(); - } - cheatindex = get_controller_buttons_pressed('\0',R_CBUTTONS|R_JPAD); - if (cheatindex != 0) { - music_append_play_solo_death_short(); - } - cheatindex = get_controller_buttons_pressed('\0',D_JPAD); - if (cheatindex != 0) { - musicTrack1Stop(); - } - cheatindex = get_controller_buttons_pressed('\0',B_BUTTON); - if (cheatindex != 0) { - music_related_0(); - } - } - else { - if (cheatindex == 0xd) { - cheatindex = get_controller_buttons_pressed('\0',L_CBUTTONS|L_TRIG|L_JPAD|D_JPAD); - if (cheatindex != 0) { - DAT_800483e4 += -1; - play_sfx_a1(ptr_sfx_buf,DAT_800483e4,NULL); - } - cheatindex = get_controller_buttons_pressed('\0',R_CBUTTONS|R_TRIG|R_JPAD|U_JPAD); - if (cheatindex != 0) { - DAT_800483e4 += 1; - play_sfx_a1(ptr_sfx_buf,DAT_800483e4,NULL); - } - cheatindex = get_controller_buttons_pressed('\0',D_CBUTTONS); - if (cheatindex != 0) { - music_related_30(); - } - cheatindex = get_controller_buttons_pressed('\0',U_CBUTTONS); - if (cheatindex != 0) { - play_sfx_a1(ptr_sfx_buf,DAT_800483e4,NULL); - } - } - else { - if (cheatindex == 0x38) { - iStack360 = get_video_mp_related_8002329C(); - iStack364 = get_video_mp_related_800232A0(); - cheatindex = get_controller_buttons_held('\0',D_CBUTTONS); - if (cheatindex != 0) { - iStack364 += 1; - } - cheatindex = get_controller_buttons_held('\0',U_CBUTTONS); - if (cheatindex != 0) { - iStack364 += -1; - } - cheatindex = get_controller_buttons_held('\0',R_CBUTTONS); - if (cheatindex != 0) { - iStack360 += 1; - } - cheatindex = get_controller_buttons_held('\0',L_CBUTTONS); - if (cheatindex != 0) { - iStack360 += -1; - } - set_video_mp_related_8002329C(iStack360); - set_video_mp_related_800232A0(iStack364); - } - } - } - return; -} - - - -void proc_7F0BF800(void) - -{ - u32 uVar3; - char cVar7; - s32 sVar4; - s32 sVar5; - int iVar6; - ulonglong uVar1; - ITEM_IDS itemheld; - longlong lVar2; - float fVar8; - float fVar9; - - uVar3 = get_cur_playernum(); - cVar7 = (char)uVar3; - cheat_buttons_mp_related(); - uVar3 = get_debug_freeze_processing(); - if (uVar3 == 0) { - uVar3 = get_debug_limit_controller_input(); - if ((uVar3 == 0) || - ((uVar3 = get_debug_limit_controller_input(), uVar3 == 0x3b && (DAT_80036abc < 0)))) { - sVar4 = get_cur_controller_horz_stick_pos(cVar7); - sVar5 = get_cur_controller_vert_stick_pos(cVar7); - uVar3 = get_controller_buttons_held - (cVar7,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); - proc_7F091080((char)sVar4,(char)sVar5,(ushort)uVar3); - } - else { - sVar4 = get_cur_controller_horz_stick_pos(cVar7); - sVar5 = get_cur_controller_vert_stick_pos(cVar7); - proc_7F091080((char)sVar4,(char)sVar5,0); - } - } - else { - if (uVar3 == 1) { - uVar3 = get_debug_limit_controller_input(); - if (uVar3 == 1) { - sVar4 = get_cur_controller_horz_stick_pos(cVar7); - sVar5 = get_cur_controller_vert_stick_pos(cVar7); - uVar3 = get_controller_buttons_held - (cVar7,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); - removed_7F0B2D38((int)(char)sVar4,(int)(char)sVar5,uVar3 & 0xffff); - } - else { - sVar4 = get_cur_controller_horz_stick_pos(cVar7); - sVar5 = get_cur_controller_vert_stick_pos(cVar7); - removed_7F0B2D38((int)(char)sVar4,(int)(char)sVar5,0); - } - } - else { - if (uVar3 == 2) { - uVar3 = get_debug_limit_controller_input(); - if (uVar3 == 2) { - sVar4 = get_cur_controller_horz_stick_pos(cVar7); - sVar5 = get_cur_controller_vert_stick_pos(cVar7); - uVar3 = get_controller_buttons_held - (cVar7,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); - possibly_reset_viewport_options_for_player - ((char)sVar4,(char)sVar5,(ushort)uVar3); - } - else { - sVar4 = get_cur_controller_horz_stick_pos(cVar7); - sVar5 = get_cur_controller_vert_stick_pos(cVar7); - possibly_reset_viewport_options_for_player((char)sVar4,(char)sVar5,0); - } - proc_7F0C2E80(); - } - } - } - fVar8 = *(float *)(pPlayer->position_data_pointer + 8) - (float)pPlayer->field_408; - fVar9 = *(float *)(pPlayer->position_data_pointer + 0x10) - (float)pPlayer->field_410; - fVar8 = sqrtf(fVar8 * fVar8 + fVar9 * fVar9); - pPlayersPerm->distance = pPlayersPerm->distance + fVar8; - iVar6 = get_scenario(); - if (iVar6 == 2) { - uVar1 = proc_7F08CF80(); - if (uVar1 == 0) { - pPlayersPerm->have_token_or_goldengun = '\0'; - } - else { - itemheld = get_item_in_hand(0); - if ((itemheld != ITEM_TOKEN) && - (draw_item_in_hand_has_more_ammo(HAND_RIGHT,ITEM_TOKEN), - pPlayer->when_detonating_mines_is_0 == 2)) { - pPlayer->when_detonating_mines_is_0 = 5; - } - pPlayersPerm->flag_counter = pPlayersPerm->flag_counter + clock_timer; - pPlayersPerm->have_token_or_goldengun = '\x01'; - } - } - else { - iVar6 = get_scenario(); - lVar2 = (longlong)iVar6; - if (lVar2 == 3) { - checkforgoldengun(); - if (lVar2 == 0) { - pPlayersPerm->have_token_or_goldengun = '\0'; - } - else { - pPlayersPerm->have_token_or_goldengun = '\x01'; - } - } - } - return; -} - - - -void unload_stage_text_data(void) - -{ - ulonglong uVar1; - undefined8 uVar2; - - if ((dword_800483A0 != NULL) && (uVar1 = sfxGetArg0Unk3F(dword_800483A0), uVar1 != 0)) { - sfxDeactivate((int)dword_800483A0); - } - if (stagenum != 0x5a) { - uVar2 = get_textbank_number_for_stagenum(stagenum); - blank_text_bank((int)uVar2); - proc_7F007770(); - } - cheatDisableAllCheats(); - unload_loop_all_guards(); - unload_loop_all_sfx(); - unload_loop_all_objects(); - unload_something_7f007920(); - unload_removed_7f007970(); - unload_alarms_something(); - cleanupObjects(); - cleanupObjectives(); - unload_music_related(); - unload_music_related_7F007980(); - setmissionstate_to_zero(); - proc_7F0B47E0(); - return; -} - - - -void set_controls_locked_flag(undefined4 flag) - -{ - controls_locked_flag = flag; - return; -} - - - -undefined4 get_controls_locked_flag(void) - -{ - return controls_locked_flag; -} - - - -DIFFICULTY get_current_difficulty(void) - -{ - return difficulty_0; -} - - - -void set_difficulty(undefined4 param_1) - -{ - difficulty_0 = param_1; - return; -} - - - -void set_mp_time(undefined4 time) - -{ - mp_time = time; - return; -} - - - -void set_mp_point(undefined4 point) - -{ - mp_point = point; - return; -} - - - -f32 get_cur_mp_sec(void) - -{ - return (f32)cur_mp_sec; -} - - - -f32 get_cur_mp_min(void) - -{ - return cur_mp_min; -} - - - -f32 get_stage_time_sec(void) - -{ - return stage_time_sec; -} - - - -f32 get_poweron_time_sec(void) - -{ - return poweron_time_sec; -} - - - -void clear_ramrom_block_buffer_heading_ptrs(void) - -{ - ptr_active_demofile = 0; - ramrom_demo_related_0 = 0; - ramrom_demo_related_1 = 0; - return; -} - - - -undefined4 get_is_ramrom_flag(void) - -{ - return is_ramrom_flag; -} - - - -u32 get_recording_ramrom_flag(void) - -{ - return recording_ramrom_flag; -} - - - -undefined4 interface_menu0B_runstage(void) - -{ - return ramrom_demo_related_4; -} - - - -void finalize_ramrom_on_hw(void) - -{ - undefined *source; - undefined auStack25 [25]; - - source = (undefined *)(((uint)auStack25 | 0xf) ^ 0xf); - *source = 0; - source[1] = 0; - romWrite(source,address_demo_loaded,0x10); - address_demo_loaded = (void *)((int)address_demo_loaded + 4); - ptr_active_demofile = (void *)romCopyAligned(&ramrom_data_target,(void *)0xf00000,0xf0); - *(int *)((int)ptr_active_demofile + 0x7c) = global_timer - clock_timer; - *(int *)((int)ptr_active_demofile + 0x80) = (int)address_demo_loaded + -0xf00000; - romWrite(ptr_active_demofile,(void *)0xf00000,0xf0); - return; -} - - - -void save_ramrom_to_devtool(void) - -{ - int iVar1; - int iVar2; - undefined4 uStack264; - char acStack260 [260]; - - iVar2 = 1; - while( true ) { - sprintf(acStack260,"replay/demo.%d",iVar2); - iVar1 = check_file_found_on_indy(acStack260,&uStack264); - if (iVar1 == 0) break; - iVar2 += 1; - } - sprintf(acStack260,"replay/demo.%d",iVar2); - check_file_exported(acStack260,0xf00000,*(undefined4 *)(ptr_active_demofile + 0x80)); - return; -} - - - -void load_ramrom_from_devtool(void) - -{ - int iVar1; - s32 size; - - iVar1 = check_file_found_on_indy("replay/demo.load",&size); - if (iVar1 != 0) { - indy_load_ramrom_file("replay/demo.load",(u8 *)0xf00000,size); - ptr_active_demofile = romCopyAligned(&ramrom_data_target,(void *)0xf00000,0xe8); - } - return; -} - - - -void record_player_input_as_packet(int param_1,int param_2,int param_3) - -{ - int iVar1; - char *pcVar2; - ushort *puVar3; - int iVar4; - int iVar5; - char cVar6; - int iVar7; - - iVar1 = *(int *)(ptr_active_demofile + 0x18); - iVar7 = 0; - cVar6 = '\0'; - ramrom_demo_related_0 = &DAT_8008c470; - ramrom_demo_related_1 = &DAT_8008c474; - if (param_2 != param_3) { - iVar5 = (param_2 + 1) % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (param_2 + 1 == -0x80000000)) { - trap(0x1800); - } - while( true ) { - iVar4 = 0; - if (0 < iVar1) { - puVar3 = (ushort *)(param_1 + iVar5 * 0x18); - do { - pcVar2 = ramrom_demo_related_1 + iVar4 * 4 + iVar7 * iVar1 * 4; - *pcVar2 = *(char *)(puVar3 + 1); - iVar4 += 1; - pcVar2[1] = *(char *)((int)puVar3 + 3); - pcVar2[2] = (char)*puVar3; - pcVar2[3] = (char)((uint)*puVar3 >> 8); - cVar6 += *pcVar2 + pcVar2[1] + pcVar2[2] + pcVar2[3]; - puVar3 = puVar3 + 3; - } while (iVar4 != iVar1); - } - iVar7 += 1; - if (iVar5 == param_3) break; - iVar4 = iVar5 + 1; - iVar5 = iVar4 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - } - } - ramrom_demo_related_0[1] = (char)iVar7; - *ramrom_demo_related_0 = (char)speedgraphframes; - ramrom_demo_related_0[2] = (char)randseed._4_4_; - iVar7 = iVar1 * 4 * iVar7; - ramrom_demo_related_0[3] = - cVar6 + *ramrom_demo_related_0 + ramrom_demo_related_0[1] + ramrom_demo_related_0[2]; - romWrite(ramrom_demo_related_0,address_demo_loaded,(iVar7 + 0x13U | 0xf) ^ 0xf); - address_demo_loaded = (void *)((int)address_demo_loaded + ((iVar7 + 5U | 1) ^ 1)); - return; -} - - - -int ramrom_replay_handler(int param_1,int param_2) - -{ - byte bVar1; - char cVar2; - int iVar3; - char *pcVar4; - u32 uVar5; - undefined2 *puVar6; - ulonglong uVar7; - char cVar8; - int iVar9; - - bVar1 = ramrom_demo_related_0[1]; - cVar8 = '\0'; - uVar7 = 0; - iVar3 = *(int *)(ptr_active_demofile + 0x18); - if (bVar1 != 0) { - iVar9 = param_2 + 1; - while( true ) { - param_2 = iVar9 % 0x14; - if (false) { - trap(0x1c00); - } - if ((false) && (iVar9 == -0x80000000)) { - trap(0x1800); - } - puVar6 = (undefined2 *)(param_1 + param_2 * 0x18); - iVar9 = 0; - do { - if (iVar9 < iVar3) { - pcVar4 = (char *)((int)uVar7 * iVar3 * 4 + ramrom_demo_related_1 + iVar9 * 4); - *(char *)(puVar6 + 1) = *pcVar4; - *(char *)((int)puVar6 + 3) = pcVar4[1]; - *puVar6 = CONCAT11(pcVar4[3],pcVar4[2]); - cVar8 += *pcVar4 + pcVar4[1] + pcVar4[2] + pcVar4[3]; - } - else { - *(undefined *)(puVar6 + 1) = 0; - *(undefined *)((int)puVar6 + 3) = 0; - *puVar6 = 0; - } - iVar9 += 1; - puVar6 = puVar6 + 3; - } while (iVar9 != 4); - uVar7 = SEXT48((int)uVar7 + 1); - if (uVar7 == (ulonglong)bVar1) break; - iVar9 = param_2 + 1; - } - } - bVar1 = ramrom_demo_related_0[2]; - if (((longlong)randseed._4_4_ & 0xffU) == (ulonglong)bVar1) { - cVar2 = *ramrom_demo_related_0; - } - else { - check_set_cameramode_to_A(); - bVar1 = ramrom_demo_related_0[2]; - cVar2 = *ramrom_demo_related_0; - } - if ((byte)(cVar8 + cVar2 + ramrom_demo_related_0[1] + bVar1) != ramrom_demo_related_0[3]) { - check_set_cameramode_to_A(); - } - controller_7000C930(0); - uVar5 = 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 (uVar5 != 0) { - check_set_cameramode_to_A(); - prev_keypresses = 1; - } - controller_7000C930(1); - return param_2; -} - - - -void iterate_ramrom_entries_handle_camera_out(void) - -{ - byte bVar1; - int iVar2; - - ramrom_demo_related_0 = (byte *)romCopyAligned(&DAT_8008c468,address_demo_loaded,4); - bVar1 = ramrom_demo_related_0[1]; - if (bVar1 != 0) { - ramrom_demo_related_1 = - romCopyAligned(&DAT_8008c48e,(void *)((int)address_demo_loaded + 4), - *(int *)(ptr_active_demofile + 0x18) * 4 * (uint)bVar1); - bVar1 = ramrom_demo_related_0[1]; - } - if ((bVar1 == 0) && (*ramrom_demo_related_0 == 0)) { - check_set_cameramode_to_A(); - } - else { - address_demo_loaded = - (void *)((int)address_demo_loaded + - ((*(int *)(ptr_active_demofile + 0x18) * 4 * (uint)bVar1 + 5 | 1) ^ 1)); - } - proc_7F0C0AA0((uint)*ramrom_demo_related_0); - iVar2 = *(int *)(ptr_active_demofile + 0x7c) + -0x3c; - if ((iVar2 <= global_timer) && (global_timer - clock_timer < iVar2)) { - check_set_cameramode_to_A(); - } - return; -} - - - -void copy_current_ingame_registers_before_ramrom_playback(ramromfilestructure *param_1) - -{ - undefined4 uVar1; - u32 uVar3; - ulonglong uVar2; - - uVar1 = randseed._0_4_; - *(undefined4 *)((int)¶m_1->randomseed + 4) = randseed._4_4_; - *(undefined4 *)¶m_1->randomseed = uVar1; - uVar1 = randomseed._0_4_; - *(undefined4 *)((int)¶m_1->randomizer + 4) = randomseed._4_4_; - *(undefined4 *)¶m_1->randomizer = uVar1; - param_1->mode = gamemode; - param_1->numplayers = selected_num_players; - param_1->scenario = scenario; - param_1->mpstage_sel = MP_stage_selected; - param_1->gamelength = game_length; - uVar3 = get_mp_weapon_set(); - param_1->mp_weapon_set = uVar3; - *(s32 **)¶m_1->p1_mp_char = player_1_char[0]; - *(s32 **)¶m_1->p2_mp_char = player_1_char[1]; - *(s32 **)¶m_1->p3_mp_char = player_1_char[2]; - *(s32 **)¶m_1->p4_mp_char = player_1_char[3]; - param_1->p1_handi = handicap_player1[0]; - param_1->p2_handi = handicap_player1[1]; - param_1->p3_handi = handicap_player1[2]; - param_1->p4_handi = handicap_player1[3]; - param_1->p1_contstyle = controlstyle_player[0]; - param_1->p2_contstyle = controlstyle_player[1]; - param_1->p3_contstyle = controlstyle_player[2]; - param_1->p4_contstyle = controlstyle_player[3]; - param_1->aim_option = aim_sight_adjustment; - uVar2 = get_players_team_or_scenario_item_flag(0); - param_1->p1_flags = (u32)uVar2; - uVar2 = get_players_team_or_scenario_item_flag(1); - param_1->p2_flags = (u32)uVar2; - uVar2 = get_players_team_or_scenario_item_flag(2); - param_1->p3_flags = (u32)uVar2; - uVar2 = get_players_team_or_scenario_item_flag(3); - param_1->p4_flags = (u32)uVar2; - return; -} - - - -void copy_recorded_ramrom_registers_to_proper_place_ingame(ramromfilestructure *demo) - -{ - randseed._0_4_ = *(undefined4 *)&demo->randomseed; - randseed._4_4_ = *(undefined4 *)((int)&demo->randomseed + 4); - randomseed._0_4_ = *(undefined4 *)&demo->randomizer; - randomseed._4_4_ = *(undefined4 *)((int)&demo->randomizer + 4); - gamemode = demo->mode; - selected_num_players = demo->numplayers; - scenario = demo->scenario; - MP_stage_selected = demo->mpstage_sel; - game_length = demo->gamelength; - set_mp_weapon_set(demo->mp_weapon_set); - player_1_char[0] = (s32 *)demo->p1_mp_char; - player_1_char[1] = (s32 *)demo->p2_mp_char; - player_1_char[2] = (s32 *)demo->p3_mp_char; - player_1_char[3] = (s32 *)demo->p4_mp_char; - handicap_player1[0] = demo->p1_handi; - handicap_player1[1] = demo->p2_handi; - handicap_player1[2] = demo->p3_handi; - handicap_player1[3] = demo->p4_handi; - controlstyle_player[0] = demo->p1_contstyle; - controlstyle_player[1] = demo->p2_contstyle; - controlstyle_player[2] = demo->p3_contstyle; - controlstyle_player[3] = demo->p4_contstyle; - aim_sight_adjustment = demo->aim_option; - set_players_team_or_scenario_item_flag(0,(char)demo->p1_flags); - set_players_team_or_scenario_item_flag(1,(char)demo->p2_flags); - set_players_team_or_scenario_item_flag(2,(char)demo->p3_flags); - set_players_team_or_scenario_item_flag(3,(char)demo->p4_flags); - return; -} - - - -void test_if_replaying_or_recording_demos_this_stage_load(LEVELID param_1,DIFFICULTY param_2) - -{ - u64 uVar1; - - if (flag_to_record_ramrom == 0) { - if (ramrom_demo_related_4 != 0) { - DAT_8008c5f8 = 0; - set_selected_difficulty(ptr_active_demofile->difficulty); - set_solo_and_ptr_briefing(ptr_active_demofile->stagenum); - proc_7F01D644((undefined4 *)&ptr_active_demofile->savefile); - copy_current_ingame_registers_before_ramrom_playback(&ramromsettingsbackup); - copy_recorded_ramrom_registers_to_proper_place_ingame(ptr_active_demofile); - is_ramrom_flag = 1; - ramrom_demo_related_3 = 1; - set_disable_all_rumble_and_something - (ramrom_replay_handler,ptr_active_demofile->size_cmds); - controller_7000C930(1); - ramrom_demo_related_4 = 0; - } - } - else { - ptr_active_demofile = &ramrom_data_target; - DAT_8008c5f8 = 0; - ramrom_data_target.stagenum = param_1; - ramrom_data_target.difficulty = param_2; - uVar1 = get_attached_controller_count(); - ptr_active_demofile->size_cmds = (u32)uVar1; - ptr_active_demofile->slotnum = record_slot_num; - proc_7F01D61C((undefined4 *)&ptr_active_demofile->savefile); - copy_current_ingame_registers_before_ramrom_playback(ptr_active_demofile); - recording_ramrom_flag = 1; - ramrom_demo_related_6 = 1; - set_ptr_tlb_ramrom_record(record_player_input_as_packet); - address_demo_loaded = 0xf00000; - romWrite(ptr_active_demofile,(void *)0xf00000,0xf0); - address_demo_loaded += 0xe8; - flag_to_record_ramrom = 0; - } - return; -} - - - -void record_next_movie_to_slot(undefined4 slotnum) - -{ - flag_to_record_ramrom = 1; - record_slot_num = slotnum; - return; -} - - - -void stop_recording_ramrom(void) - -{ - if (ramrom_demo_related_6 != 0) { - finalize_ramrom_on_hw(); - set_ptr_tlb_ramrom_record(0); - ramrom_demo_related_6 = 0; - recording_ramrom_flag = 0; - } - return; -} - - - -void replay_recorded_ramrom_at_address(uint param_1) - -{ - address_demo_loaded = param_1; - ptr_active_demofile = romCopyAligned(&ramrom_data_target,(void *)param_1,0xe8); - address_demo_loaded += 0xe8; - ramrom_demo_related_4 = 1; - set_solo_and_ptr_briefing(*(LEVELID *)(ptr_active_demofile + 0x10)); - set_selected_difficulty(*(DIFFICULTY *)(ptr_active_demofile + 0x14)); - set_menu_to_mode(MENU_RUN_STAGE,1); - return; -} - - - -void replay_recorded_ramrom_from_indy(void) - -{ - replay_recorded_ramrom_at_address(0xf00000); - return; -} - - - -void check_set_cameramode_to_A(void) - -{ - int iVar1; - - iVar1 = get_camera_mode(); - if (iVar1 != 10) { - set_camera_mode(UNK10_CAM); - } - return; -} - - - -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(); - } - return; -} - - - -void select_ramrom_to_play(void) - -{ - u32 uVar1; - ramrom_struct *prVar2; - uint uVar3; - int iVar4; - - uVar1 = check_egypt_completed_any_folder(); - uVar3 = 0; - if ((ramrom_table.dam1.ROMaddress != 0) && (ramrom_table.dam1.is_locked <= (int)uVar1)) { - iVar4 = ramrom_table.dam2.ROMaddress; - prVar2 = &ramrom_table; - while( true ) { - uVar3 += 1; - if ((iVar4 == 0) || ((int)uVar1 < (prVar2->dam2).is_locked)) break; - iVar4 = (prVar2->facility1).ROMaddress; - prVar2 = (ramrom_struct *)&prVar2->dam2; - } - } - uVar1 = get_random_value(); - if (uVar3 == 0) { - trap(0x1c00); - } - replay_recorded_ramrom_at_address((&ramrom_table.dam1)[uVar1 % uVar3].ROMaddress); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0c0a44) overlaps instruction at (ram,0x7f0c0a40) -// - -undefined4 check_ramrom_flags(void) - -{ - int iVar1; - u32 uVar2; - undefined4 uVar3; - - iVar1 = get_is_ramrom_flag(); - if ((iVar1 == 0) && (uVar2 = get_recording_ramrom_flag(), uVar2 == 0)) { - uVar3 = 0; - } - else { - uVar3 = *(undefined4 *)(ptr_active_demofile + 0x88); - } - return uVar3; -} - - - -void store_osgetcount(void) - -{ - copy_of_osgetcount_value_0 = osGetCount(); - copy_of_osgetcount_value_1 = copy_of_osgetcount_value_0; - return; -} - - - -void proc_7F0C0AA0(int param_1) - -{ - uint uVar1; - uint uVar2; - - copy_of_osgetcount_value_0 = copy_of_osgetcount_value_1; - copy_of_osgetcount_value_1 = osGetCount(); - uVar2 = DAT_80048494 + param_1; - uVar1 = uVar2; - if ((int)uVar2 < 0) { - uVar1 = uVar2 + 1; - } - DAT_800484a8 = ((int)uVar1 >> 1) - DAT_800484a0; - dword_80048490 = DAT_80048494; - DAT_80048494 = uVar2; - speedgraphframes = param_1; - DAT_8004849c = DAT_800484a0; - DAT_800484a0 = (int)uVar1 >> 1; - DAT_800484a4 = uVar2 & 1; - return; -} - - - -void proc_7F0C0B4C(void) - -{ - uint uVar1; - u32 uVar2; - - do { - uVar2 = osGetCount(); - uVar1 = ((uVar2 - copy_of_osgetcount_value_1) + 0x5eb61) / 0xbd6c3; - if (false) { - trap(0x1c00); - } - } while (uVar1 < dword_800484B4); - dword_800484B4 = 1; - proc_7F0C0AA0(uVar1); - return; -} - - - -void proc_7F0C0BE4(undefined4 param_1) - -{ - dword_800484B4 = param_1; - return; -} - - - -void proc_7F0C0BF0(void) - -{ - proc_7F0A9358(); - return; -} - - - -void proc_7F0C0C10(void) - -{ - call_sfx_c_700091C8(); - return; -} - - - -undefined4 get_mission_state(void) - -{ - return mission_state; -} - - - -void set_missionstate(ulonglong param_1) - -{ - int iVar1; - - iVar1 = (int)param_1; - switch(mission_state) { - case 0: - if (param_1 < 7) { - mission_state = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c0c8c. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700F4BBC)[iVar1])(); - return; - } - case 1: - if (param_1 < 7) { - mission_state = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c0d40. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700F4C70)[iVar1])(); - return; - } - case 2: - if (param_1 < 7) { - mission_state = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c0e30. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700F4D60)[iVar1])(); - return; - } - case 3: - if (param_1 < 7) { - mission_state = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c0ec8. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700F4DF8)[iVar1])(); - return; - } - case 4: - if (param_1 < 7) { - mission_state = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c1000. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700F4F30)[iVar1])(); - return; - } - case 5: - if (param_1 < 7) { - mission_state = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c10cc. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700F4FFC)[iVar1])(); - return; - } - case 6: - if (param_1 < 7) { - mission_state = iVar1; - // WARNING: Could not recover jumptable at 0x7f0c1174. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_700F50A4)[iVar1])(); - return; - } - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } -} - - - -void sub_GAME_7F0C11FC(s16 param_1) - -{ - short sVar1; - - musicTrack1Stop(); - musicTrack2Stop(); - musicTrack3Stop(); - mission_state = 0; - dword_CODE_bss_8008C600 = (int)param_1; - sVar1 = sub_GAME_7F0D2848(param_1); - if (sVar1 < 0) { - set_missionstate(1); - } - else { - set_missionstate(4); - } - return; -} - - - -void setmissionstate_to_zero(void) - -{ - set_missionstate(0); - return; -} - - - -void proc_7F0C1288(void) - -{ - short sVar1; - - sVar1 = sub_GAME_7F0D2848((short)dword_CODE_bss_8008C600); - if (sVar1 < 0) { - set_missionstate(2); - } - else { - set_missionstate(5); - } - return; -} - - - -void proc_7F0C12CC(void) - -{ - short sVar1; - - sVar1 = sub_GAME_7F0D2848((short)dword_CODE_bss_8008C600); - if (sVar1 < 0) { - set_missionstate(1); - } - else { - set_missionstate(4); - } - return; -} - - - -void proc_7F0C1310(void) - -{ - DAT_8008c604 = mission_state; - set_missionstate(3); - return; -} - - - -void proc_7F0C1340(void) - -{ - set_missionstate((longlong)DAT_8008c604); - return; -} - - - -void proc_7F0C1364(void) - -{ - 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; -} - - - -void reset_all_music_slots(void) - -{ - int iVar1; - bool bVar2; - int iVar3; - int iVar4; - int *piVar5; - undefined4 *puVar6; - undefined4 *puVar7; - int iVar8; - - iVar4 = clock_timer; - bVar2 = false; - puVar6 = music_slot_minutes; - puVar7 = music_slot_active; - iVar8 = 0; - do { - iVar1 = *puVar7; - if (iVar1 == 0) { - if (0 < (int)*puVar6) { - iVar3 = *puVar6; - goto LAB_7f0c1414; - } - } - else { - iVar3 = *puVar6; -LAB_7f0c1414: - piVar5 = (int *)((int)music_slot_seconds + iVar8); - if (iVar3 < iVar4) { - *puVar6 = 0; - } - else { - *puVar6 = iVar3 - iVar4; - } - iVar3 = *piVar5; - if (iVar3 != 0) { - if (iVar3 < iVar4) { - *piVar5 = 0; - } - else { - *piVar5 = iVar3 - iVar4; - } - if (*piVar5 == 0) { - *puVar7 = 0; - } - else { - if ((iVar1 != 0) || (*puVar6 != 0)) { - bVar2 = true; - } - } - } - } - puVar6 = puVar6 + 1; - iVar8 += 4; - puVar7 = puVar7 + 1; - if (puVar6 == music_slot_seconds) { - if (iVar4 != 0) { - iVar4 = get_mission_state(); - if ((iVar4 == 2) || (iVar4 = get_mission_state(), iVar4 == 5)) { - if (!bVar2) { - proc_7F0C12CC(); - } - } - else { - if (bVar2) { - proc_7F0C1288(); - } - } - } - return; - } - } while( true ); -} - - - -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; - } - return; -} - - - -void reset_music_in_slot(u32 param_1) - -{ - if (-1 < (int)param_1) { - music_slot_active[param_1] = 0; - return; - } - 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; -} - - - -undefined8 get_textbank_number_for_stagenum(LEVELID param_1) - -{ - if (true) { - switch(param_1) { - case LEVELID_BUNKER1: - return 0x1e; - case LEVELID_SILO: - return 0x22; - case LEVELID_STATUE: - return 0x23; - case LEVELID_CONTROL: - return 8; - case LEVELID_ARCHIVES: - return 2; - case LEVELID_TRAIN: - return 0x24; - case LEVELID_FRIGATE: - return 0xd; - case LEVELID_BUNKER2: - return 0x1d; - case LEVELID_AZTEC: - return 5; - case LEVELID_STREETS: - return 0x19; - case LEVELID_DEPOT: - return 0xc; - case LEVELID_COMPLEX: - return 0x1a; - case LEVELID_EGYPT: - return 10; - case LEVELID_DAM: - return 0xb; - case LEVELID_FACILITY: - return 3; - case LEVELID_RUNWAY: - return 0x1c; - case LEVELID_SURFACE: - return 0x1f; - case LEVELID_JUNGLE: - return 0x12; - case LEVELID_TEMPLE: - return 0xe; - case LEVELID_CAVERNS: - return 7; - case LEVELID_CRADLE: - return 9; - case LEVELID_SURFACE2: - return 0x20; - case LEVELID_BASEMENT: - return 0x11; - case LEVELID_STACK: - return 4; - case LEVELID_LIBRARY: - return 1; - case LEVELID_CAVES: - return 0x17; - case LEVELID_CUBA: - return 0x14; - } - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -void init_LnameX(void) - -{ - undefined *puVar1; - undefined **ppuVar2; - int iVar3; - - if (j_text_trigger != 0) { - ptr_char_data_buf = (undefined *)mempAllocBytesInBank(0x2e80,'\x06'); - ptr_char_registry = (undefined *)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); - } - iVar3 = j_text_trigger; - ptr_text = 0; - ppuVar2 = (undefined **)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)[iVar3],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; -} - - - -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; -} - - - -// WARNING: Instruction at (ram,0x7f0c1abc) overlaps instruction at (ram,0x7f0c1ab8) -// - -int something_with_LnameX(uint param_1) - -{ - bool bVar1; - ushort uVar3; - undefined *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(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(ptr_char_data_buf + indexto * 0x60, - (char *)(_jfontcharSegmentStart + indexfrom * 0x18),0x60); - puVar2 = ptr_char_data_buf + indexto * 0x60; - } - } - return (int)puVar2; -} - - - -void load_mission_text_bank(u32 param_1) - -{ - u8 *puVar1; - - puVar1 = _load_resource_named_to_membank - ((byte *)(&(&LnameX_lookuptable)[param_1].en_file)[j_text_trigger],1,0x100,4) - ; - *(u8 **)(&ptr_text + param_1) = puVar1; - return; -} - - - -void load_briefing_text_bank(int lnameID,undefined *target,int size) - -{ - u8 *puVar1; - - puVar1 = _load_resource_named_to_buffer - ((byte *)(&(&LnameX_lookuptable)[lnameID].en_file)[j_text_trigger],1,target, - size); - *(u8 **)(&ptr_text + lnameID) = puVar1; - return; -} - - - -void blank_text_bank(int param_1) - -{ - (&ptr_text)[param_1] = 0; - return; -} - - - -u8 * get_textptr_for_textID(TEXTFILESTRINGS id) - -{ - int iVar1; - - iVar1 = *(int *)((&ptr_text)[(int)(short)id >> 10] + ((int)(short)id & 0x3ffU) * 4); - if (iVar1 != 0) { - return (u8 *)(iVar1 + (&ptr_text)[(int)(short)id >> 10]); - } - return NULL; -} - - - -undefined8 MP_menu_page_adv_right(void) - -{ - switch(pPlayer->mpmenumode) { - case 0: - case 1: - case 2: - case 4: - return 1; - case 3: - break; - case 5: - case 6: - case 7: - return 0; - default: - return 0; - } - if (is_gameover_flag == 0) { - return 1; - } - return 0; -} - - - -undefined8 MP_menu_page_adv_left(void) - -{ - switch(pPlayer->mpmenumode) { - case 0: - case 6: - case 7: - return 0; - case 1: - break; - case 2: - case 3: - case 4: - case 5: - return 1; - default: - return 0; - } - if (is_gameover_flag == 0) { - return 0; - } - return 1; -} - - - -s32 check_if_player_is_pressing_anything_right(char param_1) - -{ - int iVar1; - u32 uVar2; - s32 sVar3; - - iVar1 = get_controller_3dstick_L_R(param_1,-2,1); - uVar2 = get_controller_buttons_pressed(param_1,R_CBUTTONS|R_JPAD); - if ((uVar2 != 0) || ((sVar3 = 0, 0 < iVar1 && (pPlayer->mpjoywascentre != 0)))) { - sVar3 = 1; - } - return sVar3; -} - - - -undefined8 check_if_player_is_pressing_anything_left(char param_1) - -{ - int iVar2; - u32 uVar3; - undefined8 uVar1; - - iVar2 = get_controller_3dstick_L_R(param_1,-2,1); - uVar3 = get_controller_buttons_pressed(param_1,L_CBUTTONS|L_JPAD); - if ((uVar3 != 0) || ((uVar1 = 0, iVar2 < -1 && (pPlayer->mpjoywascentre != 0)))) { - uVar1 = 1; - } - return uVar1; -} - - - -int ** play_watch_sfx_beep(void) - -{ - int **in_v0_lo; - - play_sfx_a1(ptr_sfx_buf,0x9f,NULL); - return in_v0_lo; -} - - - -void unpause_game(void) - -{ - stop_play_flag = 0; - is_gameover_flag = 0; - is_paused = 0; - return; -} - - - -undefined4 proc_7F0C2024(int param_1,int param_2,int param_3,int param_4,int param_5) - -{ - u32 uVar1; - undefined4 uVar2; - - if ((param_2 < param_3) || - ((param_3 == param_2 && (uVar1 = get_random_value(), (uVar1 & 1) != 0)))) { - uVar2 = 1; - } - else { - uVar2 = 0; - param_3 = param_2; - } - if (2 < param_1) { - if ((param_3 < param_4) || - ((param_4 == param_3 && (uVar1 = get_random_value(), (uVar1 & 1) != 0)))) { - uVar2 = 2; - param_3 = param_4; - } - if (3 < param_1) { - if (param_3 < param_5) { - uVar2 = 3; - } - else { - if ((param_5 == param_3) && (uVar1 = get_random_value(), (uVar1 & 1) != 0)) { - uVar2 = 3; - } - } - } - } - return uVar2; -} - - - -undefined4 proc_7F0C2114(int param_1,int param_2,int param_3,int param_4,int param_5) - -{ - u32 uVar1; - undefined4 uVar2; - - if ((param_3 < param_2) || - ((param_3 == param_2 && (uVar1 = get_random_value(), (uVar1 & 1) != 0)))) { - uVar2 = 1; - } - else { - uVar2 = 0; - param_3 = param_2; - } - if (2 < param_1) { - if ((param_4 < param_3) || - ((param_4 == param_3 && (uVar1 = get_random_value(), (uVar1 & 1) != 0)))) { - uVar2 = 2; - param_3 = param_4; - } - if (3 < param_1) { - if (param_5 < param_3) { - uVar2 = 3; - } - else { - if ((param_5 == param_3) && (uVar1 = get_random_value(), (uVar1 & 1) != 0)) { - uVar2 = 3; - } - } - } - } - return uVar2; -} - - - -undefined4 proc_7F0C2204(int param_1,float param_2,float param_3,float param_4,float param_5) - -{ - u32 uVar1; - undefined4 uVar2; - float in_a3_lo; - int iVar3; - float in_stack_00000010; - - if ((param_4 < param_5) || - ((param_5 == param_4 && (uVar1 = get_random_value(), (uVar1 & 1) != 0)))) { - uVar2 = 1; - param_4 = param_5; - } - else { - uVar2 = 0; - } - iVar3 = (int)param_4; - if (2 < param_1) { - if (((float)iVar3 < in_a3_lo) || - ((in_a3_lo == (float)iVar3 && (uVar1 = get_random_value(), (uVar1 & 1) != 0)))) { - uVar2 = 2; - iVar3 = (int)in_a3_lo; - } - if (3 < param_1) { - if (in_stack_00000010 <= (float)iVar3) { - if ((in_stack_00000010 == (float)iVar3) && - (uVar1 = get_random_value(), (uVar1 & 1) != 0)) { - uVar2 = 3; - } - } - else { - uVar2 = 3; - } - } - } - return uVar2; -} - - - -undefined4 proc_7F0C234C(int param_1,float param_2,float param_3,float param_4,float param_5) - -{ - u32 uVar1; - undefined4 uVar2; - float in_a3_lo; - int iVar3; - float in_stack_00000010; - - if ((param_5 < param_4) || - ((param_5 == param_4 && (uVar1 = get_random_value(), (uVar1 & 1) != 0)))) { - uVar2 = 1; - param_4 = param_5; - } - else { - uVar2 = 0; - } - iVar3 = (int)param_4; - if (2 < param_1) { - if ((in_a3_lo < (float)iVar3) || - ((in_a3_lo == (float)iVar3 && (uVar1 = get_random_value(), (uVar1 & 1) != 0)))) { - uVar2 = 2; - iVar3 = (int)in_a3_lo; - } - if (3 < param_1) { - if ((float)iVar3 <= in_stack_00000010) { - if ((in_stack_00000010 == (float)iVar3) && - (uVar1 = get_random_value(), (uVar1 & 1) != 0)) { - uVar2 = 3; - } - } - else { - uVar2 = 3; - } - } - } - return uVar2; -} - - - -void proc_7F0C2494(void) - -{ - set_controls_locked_flag(1); - is_paused = 1; - return; -} - - - -undefined8 proc_7F0C24BC(void) - -{ - s32 sVar2; - undefined8 uVar1; - - sVar2 = get_num_players(); - if (sVar2 == 1) { - uVar1 = 1; - } - else { - if (stop_play_flag == 0) { - uVar1 = 1; - if (pPlayer->mpmenuon != 0) { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - return uVar1; -} - - - -void set_stopplay_flag(void) - -{ - stop_play_flag = 1; - return; -} - - - -// WARNING: Instruction at (ram,0x7f0c2c04) overlaps instruction at (ram,0x7f0c2c00) -// - -void proc_7F0C2530(longlong param_1) - -{ - int *piVar1; - int iVar2; - PLAYER_ID PVar3; - int iVar4; - s16 sVar7; - u8 *puVar5; - u32 uVar6; - uint uVar8; - playerperm *ppVar9; - uint uVar10; - PLAYER_ID PVar11; - int *piVar12; - int *piVar15; - ulonglong uVar13; - ulonglong uVar14; - playerperm *ppVar16; - PLAYER_ID playernum; - float fVar17; - float fVar18; - float fVar19; - float extraout_f12; - float extraout_f12_00; - float extraout_f12_01; - float extraout_f12_02; - float extraout_f12_03; - float extraout_f12_04; - float extraout_f14; - float extraout_f14_00; - float extraout_f14_01; - float extraout_f14_02; - float extraout_f14_03; - float extraout_f14_04; - int aiStack252 [4]; - int iStack236; - float afStack232 [2]; - int aiStack224 [2]; - float afStack216 [2]; - uint auStack208 [4]; - int iStack192; - int iStack180; - float fStack176; - float fStack172; - int iStack168; - int iStack164; - float fStack160; - float fStack156; - uint auStack152 [4]; - int iStack136; - int iStack124; - int iStack112; - int iStack108; - int iStack92; - int iStack88; - int iStack84; - int iStack80; - int iStack68; - int iStack56; - int iStack52; - int iStack36; - int iStack32; - PLAYER_ID PStack24; - undefined4 uStack20; - undefined4 auStack16 [4]; - - PVar3 = get_num_players(); - iVar4 = getMissiontime(); - sVar7 = (s16)iVar4; - music_related_30(); - set_missionstate(0); - proc_7F0C0BF0(); - musicTrack1Vol(sVar7); - music1_playing = 0; - musicTrack1Play(M_INTROSWOOSH); - proc_7F0C2494(); - if (param_1 == 0) { - is_gameover_flag = 1; - } - else { - is_gameover_flag = 300; - } - DAT_8008c710 = 1; - DAT_8008c714 = 0x14; - DAT_8008c708 = 0; - DAT_8008c70c = 0; - PStack24 = get_cur_playernum(); - playernum = PLAYER1; - if (0 < (int)PVar3) { - fVar18 = (float)(iVar4 + 1) / flt_8005BC80; - ppVar16 = player1_playerdata; - piVar12 = aiStack252; - do { - PVar11 = PLAYER1; - set_cur_player(playernum); - pPlayer->mpmenuon = 1; - pPlayer->mpmenumode = 3; - pPlayer->ptr_text_first_mp_award = 0; - pPlayer->ptr_text_second_mp_award = 0; - proc_7F08DB08(&uStack20,auStack16); - store_favorite_weapon_current_player(uStack20,auStack16[0]); - iVar4 = get_curplayer_shot_register(0); - *piVar12 = iVar4; - iVar4 = get_curplayer_shot_register(1); - piVar12[1] = iVar4; - piVar12[2] = 0; - piVar12[3] = 0; - piVar12[4] = 0; - iVar4 = get_selected_num_players(); - if (0 < iVar4) { - piVar15 = player1_playerdata[0].shotcount + playernum; - ppVar9 = player1_playerdata + playernum; - iVar4 = piVar12[3]; - while( true ) { - piVar1 = piVar15 + 9; - piVar15 = piVar15 + 0x1c; - piVar12[3] = iVar4 + *piVar1; - if (playernum == PVar11) { - piVar12[4] = piVar12[4] + ppVar9->kills[0]; - } - else { - piVar12[2] = piVar12[2] + ppVar9->kills[0]; - } - PVar11 += PLAYER2; - ppVar9 = (playerperm *)(ppVar9->shotcount + 1); - iVar4 = get_selected_num_players(); - if (iVar4 <= (int)PVar11) break; - iVar4 = piVar12[3]; - } - } - iVar4 = ppVar16->drawplayercount; - piVar12[7] = ppVar16->backshotcount; - piVar12[8] = iVar4; - iVar4 = ppVar16->longestlife; - iVar2 = ppVar16->shortestlife; - playernum += PLAYER2; - fVar19 = ppVar16->distance; - *(float *)(piVar12 + 5) = - ((float)piVar12[2] * 100.00000000) / ((float)*piVar12 + 1.00000000); - *(float *)(piVar12 + 6) = - ((float)piVar12[2] * 100.00000000) / ((float)piVar12[3] + 1.00000000); - fVar17 = ppVar16->armourcount; - piVar12[0xb] = 0; - piVar12[0xc] = iVar4; - piVar12[0xd] = iVar2; - *(float *)(piVar12 + 10) = fVar17; - *(float *)(piVar12 + 9) = (fVar19 / flt_8005BC84) / fVar18; - ppVar16 = ppVar16 + 1; - piVar12 = piVar12 + 0xe; - } while (playernum != PVar3); - } - set_cur_player(PStack24); - iVar4 = proc_7F0C2024(PVar3,iStack236,iStack180,iStack124,iStack68); - if (0 < aiStack252[iVar4 * 0xe + 4]) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 1; - } - iVar4 = proc_7F0C2114(PVar3,aiStack252[0],auStack208[3],auStack152[3],iStack84); - if (aiStack252[iVar4 * 0xe] < 100) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 2; - } - iVar4 = proc_7F0C234C(PVar3,extraout_f12,extraout_f14,afStack216[1],fStack156); - if (afStack216[iVar4 * 0xe + 1] <= 2.00000000) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 4; - } - iVar4 = proc_7F0C2204(PVar3,extraout_f12_00,extraout_f14_00,afStack216[1],fStack156); - if (6.00000000 < afStack216[iVar4 * 0xe + 1]) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 8; - } - iVar4 = proc_7F0C2024(PVar3,aiStack252[1],iStack192,iStack136,iStack80); - if (0 < aiStack252[iVar4 * 0xe + 1]) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x10; - } - iVar4 = proc_7F0C2204(PVar3,extraout_f12_01,extraout_f14_01,afStack232[0],fStack176); - if (0.00000000 < afStack232[iVar4 * 0xe]) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x20; - } - iVar4 = proc_7F0C2204(PVar3,extraout_f12_02,extraout_f14_02,afStack232[1],fStack172); - if (0.00000000 < afStack232[iVar4 * 0xe + 1]) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x40; - } - iVar4 = proc_7F0C234C(PVar3,extraout_f12_03,extraout_f14_03,afStack232[1],fStack172); - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x80; - iVar4 = proc_7F0C2114(PVar3,aiStack224[1],iStack164,iStack108,iStack52); - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x100; - iVar4 = proc_7F0C2204(PVar3,extraout_f12_04,extraout_f14_04,afStack216[0],fStack160); - if (10.00000000 < afStack216[iVar4 * 0xe]) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x200; - } - iVar4 = proc_7F0C2114(PVar3,aiStack224[0],iStack168,iStack112,iStack56); - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x400; - iVar4 = proc_7F0C2024(PVar3,aiStack224[0],iStack168,iStack112,iStack56); - if ((0 < aiStack224[iVar4 * 0xe]) && ((auStack208[iVar4 * 0xe] & 0x400) == 0)) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x800; - } - iVar4 = proc_7F0C2024(PVar3,auStack208[1],auStack152[1],iStack92,iStack36); - if (0 < (int)auStack208[iVar4 * 0xe + 1]) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x2000; - } - iVar4 = proc_7F0C2114(PVar3,auStack208[2],auStack152[2],iStack88,iStack32); - if (0 < (int)auStack208[iVar4 * 0xe + 2]) { - auStack208[iVar4 * 0xe] = auStack208[iVar4 * 0xe] | 0x1000; - } - playernum = PLAYER1; - if (0 < (int)PVar3) { - if ((PVar3 & 1) == 0) { - iVar4 = 0; - } - else { - playernum = PLAYER2; - if (player1_playerdata[0].most_killed_one_time == 4) { - auStack208[0] = auStack208[0] | 0x10000; - } - else { - if (player1_playerdata[0].most_killed_one_time == 3) { - auStack208[0] = auStack208[0] | 0x8000; - } - else { - if (player1_playerdata[0].most_killed_one_time == 2) { - auStack208[0] = auStack208[0] | 0x4000; - } - } - } - iVar4 = 8; - if (PVar3 == PLAYER2) goto LAB_7f0c2d0c; - } - piVar12 = player1_playerdata[0].shotcount + (iVar4 - playernum) * 4; - do { - iVar4 = piVar12[0x16]; - if (iVar4 == 4) { - auStack208[playernum * 0xe] = auStack208[playernum * 0xe] | 0x10000; -LAB_7f0c2c90: - iVar4 = piVar12[0x32]; - } - else { - if (iVar4 == 3) { - auStack208[playernum * 0xe] = auStack208[playernum * 0xe] | 0x8000; - goto LAB_7f0c2c90; - } - if (iVar4 == 2) { - auStack208[playernum * 0xe] = auStack208[playernum * 0xe] | 0x4000; - goto LAB_7f0c2c90; - } - iVar4 = piVar12[0x32]; - } - if (iVar4 == 4) { - auStack152[playernum * 0xe] = auStack152[playernum * 0xe] | 0x10000; - } - else { - if (iVar4 == 3) { - auStack152[playernum * 0xe] = auStack152[playernum * 0xe] | 0x8000; - } - else { - if (iVar4 == 2) { - auStack152[playernum * 0xe] = auStack152[playernum * 0xe] | 0x4000; - } - } - } - playernum += PLAYER3; - piVar12 = piVar12 + 0x38; - } while (playernum != PVar3); - } -LAB_7f0c2d0c: - playernum = PLAYER1; - if (0 < (int)PVar3) { - piVar12 = aiStack252; - do { - uVar13 = 0; - uVar8 = 0x10; - uVar10 = piVar12[0xb]; - while( true ) { - if ((uVar10 & 1 << uVar8) != 0) { - piVar12[0xb] = uVar10 & ~(1 << uVar8); - uVar13 = 1; - puVar5 = get_textptr_for_textID - (*(TEXTFILESTRINGS *)(loaded_text_index + uVar8 * 2)); - *(u8 **)&ptr_BONDdata_p1[playernum]->ptr_text_first_mp_award = puVar5; - uVar10 = piVar12[0xb]; - } - if (uVar10 == 0) { - uVar13 = 1; - } - uVar6 = get_random_value(); - uVar8 = uVar6 % 0x11; - if (false) { - trap(0x1c00); - } - if (uVar13 != 0) break; - uVar10 = piVar12[0xb]; - } - if (uVar13 < 2) { - do { - uVar6 = get_random_value(); - uVar8 = uVar6 % 0x11; - uVar10 = piVar12[0xb]; - if (false) { - trap(0x1c00); - } - uVar14 = uVar13; - if ((uVar10 & 1 << uVar8) != 0) { - piVar12[0xb] = uVar10 & ~(1 << uVar8); - uVar14 = 2; - puVar5 = get_textptr_for_textID - (*(TEXTFILESTRINGS *)(loaded_text_index + uVar8 * 2)); - *(u8 **)&ptr_BONDdata_p1[playernum]->ptr_text_second_mp_award = puVar5; - uVar10 = piVar12[0xb]; - } - uVar13 = uVar14; - if (uVar10 == 0) { - uVar13 = 2; - } - } while (uVar10 != 0 && uVar14 < 2); - } - playernum += PLAYER2; - piVar12 = piVar12 + 0xe; - } while (playernum != PVar3); - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0c3520) overlaps instruction at (ram,0x7f0c351c) -// - -int ** proc_7F0C2E80(void) - -{ - Player *pPVar1; - u32 uVar3; - uint uVar4; - int **ppiVar5; - int iVar6; - s32 sVar7; - longlong lVar2; - int **ppiVar8; - uint uVar9; - uint uVar10; - Player **ppPVar11; - char cStack1; - - uVar3 = get_cur_playernum(); - uVar4 = get_num_players(); - cStack1 = (char)uVar3; - ppiVar5 = (int **)get_controller_3dstick_L_R(cStack1,-2,1); - ppiVar8 = (int **)proc_7F09B4D8(uVar3); - if (((ppiVar8 == NULL) && (ppiVar8 = is_gameover_flag, 1 < (int)is_gameover_flag)) && - (is_gameover_flag = (int **)((int)is_gameover_flag - speedgraphframes), - (int)is_gameover_flag < 1)) { - is_gameover_flag = (int **)((int)&rgba + 1); - } - if (uVar4 == 1) { - return ppiVar8; - } - if ((pPlayer->bonddead != 0) && (is_gameover_flag == NULL)) { - pPlayer->mpmenuon = 0; - pPlayer->healthdisplaytime = 0; - return NULL; - } - if (1 < (int)is_gameover_flag) { - return is_gameover_flag; - } - iVar6 = proc_7F09B4D8(uVar3); - if (iVar6 == 0) { - DAT_8008c70c += speedgraphframes; - DAT_8008c714 += speedgraphframes; - if (0x13 < DAT_8008c70c) { - DAT_8008c70c += -0x14; - DAT_8008c708 = (uint)(DAT_8008c708 == 0); - } - if (0x77 < DAT_8008c714) { - DAT_8008c714 += -0x78; - DAT_8008c710 = (uint)(DAT_8008c710 == 0); - } - } - if (pPlayersPerm->most_killed_one_life < pPlayer->field_29F8) { - pPlayersPerm->most_killed_one_life = pPlayer->field_29F8; - } - iVar6 = getMissiontime(); - if (pPlayersPerm->longestlife < iVar6 - pPlayer->field_29F4) { - iVar6 = getMissiontime(); - pPlayersPerm->longestlife = iVar6 - pPlayer->field_29F4; - iVar6 = pPlayer->mpmenuon; - } - else { - iVar6 = pPlayer->mpmenuon; - } - if (iVar6 == 0) { - uVar3 = get_controller_buttons_pressed(cStack1,START_BUTTON); - if (uVar3 == 0) { - return NULL; - } - ppiVar8 = play_watch_sfx_beep(); - pPlayer->mpmenuon = 1; - pPlayer->mpmenumode = 3; - pPlayer->mpjoywascentre = 1; - pPlayer->apparenthealth = pPlayer->bondhealth; - pPlayer->apparentarmour = pPlayer->bondarmour; - return ppiVar8; - } - sVar7 = check_if_player_is_pressing_anything_right(cStack1); - if ((sVar7 != 0) && (lVar2 = MP_menu_page_adv_right(), lVar2 != 0)) { - play_watch_sfx_beep(); - pPlayer->mpmenumode = pPlayer->mpmenumode + 1; - goto LAB_7f0c350c; - } - lVar2 = check_if_player_is_pressing_anything_left(cStack1); - if ((lVar2 != 0) && (lVar2 = MP_menu_page_adv_left(), lVar2 != 0)) { - play_watch_sfx_beep(); - pPlayer->mpmenumode = pPlayer->mpmenumode + -1; - goto LAB_7f0c350c; - } - sVar7 = check_if_player_is_pressing_anything_right(cStack1); - if ((sVar7 != 0) && (pPlayer->mpmenumode == 6)) { - play_watch_sfx_beep(); - pPlayer->mpquitconfirm = 1; - goto LAB_7f0c350c; - } - lVar2 = check_if_player_is_pressing_anything_left(cStack1); - if ((lVar2 != 0) && (pPlayer->mpmenumode == 6)) { - play_watch_sfx_beep(); - pPlayer->mpquitconfirm = 0; - goto LAB_7f0c350c; - } - uVar3 = get_controller_buttons_pressed(cStack1,A_BUTTON); - if ((uVar3 != 0) && (pPlayer->mpmenumode == 4)) { - play_watch_sfx_beep(); - if (is_paused == 0) { - is_paused = 1; - DAT_8008c71c = get_cur_playernum(); - set_controls_locked_flag(1); - } - else { - uVar3 = get_cur_playernum(); - if (uVar3 == DAT_8008c71c) { - is_paused = 0; - set_controls_locked_flag(0); - } - } - goto LAB_7f0c350c; - } - if (pPlayer->mpmenumode == 7) { - uVar3 = get_controller_buttons_pressed(cStack1,B_BUTTON); - if (uVar3 != 0) { - play_watch_sfx_beep(); - pPlayer->mpmenuon = 1; - pPlayer->mpmenumode = 3; - } - goto LAB_7f0c350c; - } - uVar3 = get_controller_buttons_pressed(cStack1,START_BUTTON|A_BUTTON); - if (((uVar3 == 0) || - (((iVar6 = pPlayer->mpmenumode, iVar6 == 5 || (iVar6 == 6)) && - ((iVar6 != 6 || (pPlayer->mpquitconfirm == 1)))))) && - (uVar3 = get_controller_buttons_pressed(cStack1,B_BUTTON), uVar3 == 0)) { - uVar3 = get_controller_buttons_pressed(cStack1,START_BUTTON|A_BUTTON); - if ((uVar3 == 0) || (pPlayer->mpmenumode != 5)) { - uVar3 = get_controller_buttons_pressed(cStack1,START_BUTTON|A_BUTTON); - if ((uVar3 != 0) && ((pPlayer->mpmenumode == 6 && (pPlayer->mpquitconfirm == 1)))) { - play_watch_sfx_beep(); - pPlayer->mpmenuon = 0; - pPlayer->healthdisplaytime = 0; - proc_7F0C2530(0); - } - } - else { - play_watch_sfx_beep(); - pPlayer->mpmenumode = 6; - pPlayer->mpquitconfirm = 0; - } - goto LAB_7f0c350c; - } - play_watch_sfx_beep(); - if (is_gameover_flag == NULL) { - pPlayer->mpmenuon = 0; - pPlayer->healthdisplaytime = 0x3c; - uVar3 = get_cur_playernum(); - if (uVar3 == DAT_8008c71c) { - is_paused = 0; - set_controls_locked_flag(0); - } - goto LAB_7f0c350c; - } - uVar9 = 0; - uVar10 = 0; - pPlayer->mpmenumode = 7; - if (0 < (int)uVar4) { - if ((uVar4 & 3) != 0) { - ppPVar11 = ptr_BONDdata_p1; - do { - uVar10 += 1; - if ((*ppPVar11)->mpmenumode == 7) { - uVar9 += 1; - } - ppPVar11 = ppPVar11 + 1; - } while ((uVar4 & 3) != uVar10); - if (uVar10 == uVar4) goto LAB_7f0c33f8; - } - ppPVar11 = ptr_BONDdata_p1 + uVar10; - pPVar1 = *ppPVar11; - while( true ) { - if (pPVar1->mpmenumode == 7) { - uVar9 += 1; - pPVar1 = ppPVar11[1]; - } - else { - pPVar1 = ppPVar11[1]; - } - if (pPVar1->mpmenumode == 7) { - uVar9 += 1; - pPVar1 = ppPVar11[2]; - } - else { - pPVar1 = ppPVar11[2]; - } - if (pPVar1->mpmenumode == 7) { - uVar9 += 1; - pPVar1 = ppPVar11[3]; - } - else { - pPVar1 = ppPVar11[3]; - } - ppPVar11 = ppPVar11 + 4; - if (pPVar1->mpmenumode == 7) { - uVar9 += 1; - } - if (ppPVar11 == ptr_BONDdata_p1 + uVar4) break; - pPVar1 = *ppPVar11; - } - } -LAB_7f0c33f8: - if (uVar9 == uVar4) { - set_loaded_stage(LEVELID_TITLE); - } -LAB_7f0c350c: - if ((ppiVar5 == NULL) || (ppiVar5 == (int **)0xffffffff)) { - pPlayer->mpjoywascentre = 1; - } - else { - pPlayer->mpjoywascentre = 0; - } - return ppiVar5; -} - - - -uint * display_text_for_playerdata_on_MP_menu - (uint *param_1,int param_2,uint param_3,undefined8 param_4,undefined4 param_5) - -{ - uint *puVar1; - short sVar2; - short sVar3; - byte abStack24 [8]; - int iStack16; - int iStack12; - uint uStack8; - uint uStack4; - - sprintf((char *)abStack24,"%d",param_4); - proc_7F0AE98C(&iStack16,&iStack12,abStack24,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - uStack4 = param_2 - (iStack12 >> 1); - uStack8 = param_3; - switch(param_5) { - case 0: - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1 = (uint *)(int)sVar3; - en_text_write_stuff(param_1,(int *)&uStack4,(int *)&uStack8,abStack24, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar2,(int)sVar3,0,0); - param_1 = puVar1; - break; - case 1: - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1 = (uint *)(int)sVar3; - jp_text_stuff(param_1,&uStack4,&uStack8,abStack24,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xa0ffa0f0,(uint)&DAT_007000a0,(int)sVar2, - (int)sVar3,0,0); - param_1 = puVar1; - break; - case 2: - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1 = (uint *)(int)sVar3; - en_text_write_stuff(param_1,(int *)&uStack4,(int *)&uStack8,abStack24, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff4040b0, - (int)sVar2,(int)sVar3,0,0); - param_1 = puVar1; - break; - case 3: - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1 = (uint *)(int)sVar3; - jp_text_stuff(param_1,&uStack4,&uStack8,abStack24,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xffa0a0f0,0x700000a0,(int)sVar2,(int)sVar3,0,0); - param_1 = puVar1; - break; - case 4: - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1 = (uint *)(int)sVar3; - en_text_write_stuff(param_1,(int *)&uStack4,(int *)&uStack8,abStack24, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0x4040ffb0, - (int)sVar2,(int)sVar3,0,0); - param_1 = puVar1; - break; - case 5: - sVar2 = get_video2_settings_txtClipW(); - sVar3 = get_video2_settings_txtClipH(); - puVar1 = (uint *)(int)sVar3; - jp_text_stuff(param_1,&uStack4,&uStack8,abStack24,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xa0a0fff0,0x70a0,(int)sVar2,(int)sVar3,0,0); - param_1 = puVar1; - } - return param_1; -} - - - -// WARNING: Instruction at (ram,0x7f0c3bc0) overlaps instruction at (ram,0x7f0c3bbc) -// - -int get_points_for_mp_player(uint param_1) - -{ - char *pcVar1; - char cVar2; - int iVar3; - int iVar4; - int iVar5; - uint uVar6; - undefined4 uVar7; - playerperm *ppVar8; - int *piVar9; - playerperm *ppVar10; - int *piVar11; - int iVar12; - uint uVar13; - int iVar14; - uint uVar15; - playerperm *ppVar16; - int iVar17; - - cVar2 = player1_playerdata[param_1].have_token_or_goldengun; - uVar6 = get_num_players(); - uVar7 = get_scenario(); - iVar12 = 0; - switch(uVar7) { - case 0: - case 3: - case 4: - uVar15 = 0; - if (0 < (int)uVar6) { - if ((uVar6 & 3) != 0) { - do { - if (uVar15 == param_1) { - iVar17 = -player1_playerdata[uVar15].kills[param_1]; - } - else { - iVar17 = player1_playerdata[param_1].kills[uVar15]; - } - iVar12 += iVar17; - uVar15 += 1; - } while ((uVar6 & 3) != uVar15); - if (uVar15 == uVar6) goto LAB_7f0c3af8; - } - do { - if (uVar15 == param_1) { - iVar17 = -player1_playerdata[uVar15].kills[param_1]; - } - else { - iVar17 = player1_playerdata[param_1].kills[uVar15]; - } - if (uVar15 == param_1 - 1) { - iVar14 = -player1_playerdata[uVar15 + 1].kills[param_1]; - } - else { - iVar14 = player1_playerdata[param_1].kills[uVar15 + 1]; - } - if (uVar15 == param_1 - 2) { - iVar3 = -player1_playerdata[uVar15 + 2].kills[param_1]; - } - else { - iVar3 = player1_playerdata[param_1].kills[uVar15 + 2]; - } - if (uVar15 == param_1 - 3) { - iVar4 = -player1_playerdata[uVar15 + 3].kills[param_1]; - } - else { - iVar4 = player1_playerdata[param_1].kills[uVar15 + 3]; - } - iVar12 = iVar12 + iVar17 + iVar14 + iVar3 + iVar4; - uVar15 += 4; - } while (uVar15 != uVar6); - } -LAB_7f0c3af8: - iVar12 += player1_playerdata[param_1].ggkillcount * (uVar6 - 2); - break; - case 1: - iVar12 = 4 - (uint)(byte)player1_playerdata[param_1].order_out_in_yolt; - break; - case 2: - iVar12 = player1_playerdata[param_1].flag_counter; - break; - case 5: - case 6: - case 7: - uVar15 = 0; - if (0 < (int)uVar6) { - ppVar16 = player1_playerdata; - do { - if ((cVar2 == ppVar16->have_token_or_goldengun) && (uVar13 = 0, 0 < (int)uVar6)) { - if ((uVar6 & 3) == 0) { - iVar17 = 0; - } - else { - ppVar10 = player1_playerdata; - ppVar8 = player1_playerdata + uVar15; - do { - pcVar1 = &ppVar10->have_token_or_goldengun; - uVar13 += 1; - ppVar10 = ppVar10 + 1; - if (cVar2 == *pcVar1) { - iVar17 = -ppVar8->kills[0]; - } - else { - iVar17 = ppVar8->kills[0]; - } - iVar12 += iVar17; - ppVar8 = (playerperm *)(ppVar8->shotcount + 1); - } while ((uVar6 & 3) != uVar13); - iVar17 = uVar13 * 8; - if (uVar13 == uVar6) goto LAB_7f0c3c78; - } - iVar14 = uVar13 * 4; - piVar9 = player1_playerdata[uVar15].shotcount + uVar13; - piVar11 = player1_playerdata[0].shotcount + (iVar17 - uVar13) * 4; - do { - iVar14 += 0x10; - if (cVar2 == *(char *)((int)piVar11 + 0x69)) { - iVar17 = -piVar9[9]; - } - else { - iVar17 = piVar9[9]; - } - if (cVar2 == *(char *)((int)piVar11 + 0xd9)) { - iVar3 = -piVar9[10]; - } - else { - iVar3 = piVar9[10]; - } - if (cVar2 == *(char *)((int)piVar11 + 0x149)) { - iVar4 = -piVar9[0xb]; - } - else { - iVar4 = piVar9[0xb]; - } - pcVar1 = (char *)((int)piVar11 + 0x1b9); - piVar11 = piVar11 + 0x70; - if (cVar2 == *pcVar1) { - iVar5 = -piVar9[0xc]; - } - else { - iVar5 = piVar9[0xc]; - } - iVar12 = iVar12 + iVar17 + iVar3 + iVar4 + iVar5; - piVar9 = piVar9 + 4; - } while (iVar14 != uVar6 << 2); - } -LAB_7f0c3c78: - uVar15 += 1; - ppVar16 = ppVar16 + 1; - } while (uVar15 != uVar6); - } - } - return iVar12; -} - - - -// WARNING: Instruction at (ram,0x7f0c3d60) overlaps instruction at (ram,0x7f0c3d5c) -// - -int write_playerrank_to_buffer(char *buffer,uint player) - -{ - undefined4 uVar1; - undefined4 uVar2; - int iVar3; - uint uVar4; - u8 *__format; - uint *puVar5; - uint *puVar6; - uint uVar7; - int iVar8; - int iVar9; - int iVar10; - uint uVar11; - int iVar12; - uint auStack40 [4]; - uint auStack24 [4]; - int iStack8; - int iStack4; - - iStack4 = get_scenario(); - iVar3 = get_num_players(); - uVar11 = 0; - if (0 < iVar3) { - puVar6 = auStack40; - puVar5 = auStack40 + 4; - do { - iStack8 = iVar3; - uVar4 = get_points_for_mp_player(uVar11); - iVar3 = iStack8; - *puVar6 = uVar11; - uVar11 += 1; - puVar6 = puVar6 + 1; - *puVar5 = uVar4; - puVar5 = puVar5 + 1; - } while ((int)uVar11 < iVar3); - } - iVar9 = 0; - if (0 < iVar3) { - iVar10 = iVar3 + -1; - do { - uVar11 = auStack40[0]; - iVar12 = 0; - iVar9 += 1; - if (0 < iVar10) { - if ((iVar3 - 1U & 1) != 0) { - iVar12 = 1; - iVar8 = auStack24[0]; - if (auStack24[0] < auStack24[1]) { - auStack40[0] = auStack40[1]; - auStack40[1] = uVar11; - iVar8 = auStack24[1]; - auStack24[1] = auStack24[0]; - } - auStack24[0] = iVar8; - if (iVar10 == 1) goto LAB_7f0c3df4; - } - iVar8 = iVar12 * 4; - puVar5 = auStack40 + 4 + iVar12; - do { - uVar11 = *puVar5; - uVar4 = puVar5[1]; - if ((int)uVar11 < (int)uVar4) { - uVar1 = *(undefined4 *)((int)auStack40 + iVar8 + 4); - uVar2 = *(undefined4 *)((int)auStack40 + iVar8); - *puVar5 = uVar4; - puVar5[1] = uVar11; - *(undefined4 *)((int)auStack40 + iVar8) = uVar1; - *(undefined4 *)((int)auStack40 + iVar8 + 4) = uVar2; - uVar7 = puVar5[2]; - } - else { - uVar7 = puVar5[2]; - uVar11 = uVar4; - } - if ((int)uVar11 < (int)uVar7) { - uVar1 = *(undefined4 *)((int)auStack40 + iVar8 + 8); - uVar2 = *(undefined4 *)((int)auStack40 + iVar8 + 4); - puVar5[2] = uVar11; - puVar5[1] = uVar7; - *(undefined4 *)((int)auStack40 + iVar8 + 4) = uVar1; - *(undefined4 *)((int)auStack40 + iVar8 + 8) = uVar2; - } - puVar5 = puVar5 + 2; - iVar8 += 8; - } while (puVar5 != auStack40 + 4 + iVar10); - } -LAB_7f0c3df4: - } while (iVar9 != iVar3); - } - iVar9 = 0; - iVar10 = 0; - puVar5 = auStack40; - if (0 < iVar3) { - do { - if (player == *puVar5) break; - iVar10 += 1; - puVar5 = puVar5 + 1; - } while (iVar10 != iVar3); - } - if (-1 < iVar10) { - puVar5 = auStack40 + 4; - puVar6 = puVar5 + iVar10; - do { - if (*puVar5 == *puVar6) break; - iVar9 += 1; - puVar5 = puVar5 + 1; - } while (iVar10 + 1 != iVar9); - } - if (iVar9 == 0) { - __format = get_textptr_for_textID(0xa011); - iStack4 = sprintf(buffer,(char *)__format); - } - else { - if (iVar9 == 1) { - __format = get_textptr_for_textID(0xa012); - iStack4 = sprintf(buffer,(char *)__format); - } - else { - if (iVar9 == 2) { - if ((iStack4 == 5) || (iStack4 == 7)) { - __format = get_textptr_for_textID(0xa012); - iStack4 = sprintf(buffer,(char *)__format); - } - else { - __format = get_textptr_for_textID(0xa013); - iStack4 = sprintf(buffer,(char *)__format); - } - } - else { - if (iVar9 == 3) { - if (iStack4 == 6) { - __format = get_textptr_for_textID(0xa012); - iStack4 = sprintf(buffer,(char *)__format); - } - else { - __format = get_textptr_for_textID(0xa014); - iStack4 = sprintf(buffer,(char *)__format); - } - } - } - } - } - return iStack4; -} - - - -undefined8 true_if_displaying_rank_in_mp(int param_1) - -{ - undefined4 uVar2; - undefined8 uVar1; - - uVar2 = get_scenario(); - switch(uVar2) { - case 0: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - uVar1 = 1; - break; - case 1: - if (param_1 == 0) { - uVar1 = 1; - } - else { - uVar1 = 0; - } - break; - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - return uVar1; -} - - - -undefined8 true_if_displaying_score_in_mp(void) - -{ - undefined4 uVar2; - undefined8 uVar1; - - uVar2 = get_scenario(); - switch(uVar2) { - case 0: - case 3: - case 4: - case 5: - case 6: - case 7: - uVar1 = 1; - break; - case 1: - case 2: - uVar1 = 0; - break; - default: - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - return uVar1; -} - - - -// WARNING: Instruction at (ram,0x7f0c4834) overlaps instruction at (ram,0x7f0c4830) -// -// WARNING: Heritage AFTER dead removal. Example location: r0x80079f88 : 0x7f0c55c4 -// WARNING: Restarted to delay deadcode elimination for space: ram - -uint * mp_watch_menu_display(uint *param_1) - -{ - int *piVar1; - int *piVar2; - int *piVar3; - int *piVar4; - bool bVar5; - uint uVar6; - u32 uVar8; - longlong lVar7; - u8 *puVar9; - u8 *puVar10; - uint *DL; - undefined4 *DL_00; - int iVar11; - uint *DL_01; - byte *pbVar12; - short sVar13; - short sVar14; - int *piVar15; - int iVar16; - int *piStack148; - int iStack136; - int iStack116; - int iStack112; - int iStack108; - int iStack104; - int iStack100; - int iStack96; - int iStack92; - int iStack88; - undefined4 uStack84; - undefined4 uStack80; - undefined4 uStack76; - uint *puStack72; - int iStack68; - int iStack64; - int iStack60; - int iStack56; - char *pcStack52; - int iStack48; - byte abStack44 [16]; - int iStack28; - int aiStack24 [2]; - uint uStack16; - uint uStack12; - uint *puStack8; - u32 uStack4; - - uStack4 = get_cur_playernum(); - DL_01 = (uint *)get_num_players(); - bVar5 = false; - if (DL_01 == (uint *)((int)&rgba + 1)) { - return param_1; - } - if (pPlayer->mpmenuon == 0) { - if (pPlayer->bonddead == 0) { - return param_1; - } - if (pPlayer->field_428 == 0) { - return param_1; - } - if (pPlayer->field_424 == 0) { - return param_1; - } - if (stop_play_flag != 0) { - return param_1; - } - iVar16 = 0; - if (is_gameover_flag != 0) { - return param_1; - } - DL = NULL; - if (0 < (int)DL_01) { - if ((uint *)((uint)DL_01 & 3) != NULL) { - piVar15 = player1_playerdata[0].shotcount + uStack4; - do { - piVar1 = piVar15 + 9; - DL = (uint *)((int)DL + 1); - piVar15 = piVar15 + 0x1c; - iVar16 += *piVar1; - } while ((uint *)((uint)DL_01 & 3) != DL); - if (DL == DL_01) goto LAB_7f0c5f0c; - } - piVar15 = player1_playerdata[(int)DL].shotcount + uStack4; - do { - piVar1 = piVar15 + 9; - piVar2 = piVar15 + 0x25; - piVar3 = piVar15 + 0x41; - piVar4 = piVar15 + 0x5d; - DL = DL + 1; - piVar15 = piVar15 + 0x70; - iVar16 = iVar16 + *piVar1 + *piVar2 + *piVar3 + *piVar4; - } while (DL != DL_01); - } -LAB_7f0c5f0c: - iVar11 = get_scenario(); - if ((iVar11 == 1) && (1 < iVar16)) { - return param_1; - } - DL_01 = proc_7F0B4FB4(param_1); - microcode_constructor(DL_01); - pbVar12 = get_textptr_for_textID(0xa022); - proc_7F0AE98C(&iStack116,&iStack112,pbVar12,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_width(); - iStack104 = (((int)sVar14 >> 1) + (int)sVar13) - (iStack112 >> 1); - sVar13 = get_video2_settings_uly(); - sVar14 = get_video2_settings_height(); - iStack108 = (((int)sVar14 >> 1) + (int)sVar13) - (iStack116 >> 1); - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_00 = (undefined4 *)(int)sVar14; - en_text_write_stuff(DL_01,&iStack104,&iStack108,pbVar12,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xff00b0,(int)sVar13,(int)sVar14,0,0); - DL_01 = combiner_bayer_lod_perspective(DL_00); - return DL_01; - } - puStack8 = DL_01; - microcode_constructor(param_1); - if (puStack8 == (uint *)((int)&rgba + 2)) { - iStack48 = 0x50; - } - else { - iStack48 = 0; - } - switch(pPlayer->mpmenumode) { - case 0: - case 1: - case 2: - case 3: - if (is_gameover_flag == 0) { - pcStack52 = (char *)get_textptr_for_textID(0xa015); - } - else { - if (DAT_8008c710 == 0) { - pcStack52 = (char *)get_textptr_for_textID(0xa017); - } - else { - pcStack52 = (char *)get_textptr_for_textID(0xa016); - } - } - break; - case 4: - if (is_paused == 0) { - pcStack52 = (char *)get_textptr_for_textID(0xa019); - } - else { - pcStack52 = (char *)get_textptr_for_textID(0xa018); - uVar8 = get_cur_playernum(); - if (uVar8 == DAT_8008c71c) { - bVar5 = true; - } - } - break; - case 5: - case 6: - pcStack52 = (char *)get_textptr_for_textID(0xa01a); - sVar13 = get_video2_settings_ulx(); - uStack12 = sVar13 + iStack48 + 0x41; - break; - case 7: - pcStack52 = ""; - } - proc_7F0AE98C(&iStack28,aiStack24,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x16; - if (bVar5) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL = (uint *)(int)sVar14; - jp_text_stuff(DL_01,&uStack12,&uStack16,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xa0ffa0f0,(uint)&DAT_007000a0,(int)sVar13, - (int)sVar14,0,0); - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL = (uint *)(int)sVar14; - en_text_write_stuff(DL_01,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar13,(int)sVar14,0,0); - } - lVar7 = MP_menu_page_adv_left(); - if (lVar7 != 0) { - sVar13 = get_video2_settings_ulx(); - if (is_gameover_flag == 0) { - iStack136 = 0; - } - else { - iStack136 = 10; - } - iStack136 = (sVar13 + iStack48) - iStack136; - uStack12 = iStack136 + 0x28; - if (is_gameover_flag != 0) { - uStack12 = iStack136 + 0x20; - } - sVar13 = get_video2_settings_uly(); - uStack16 = (int)sVar13 + 0x16; - if (DAT_8008c708 == 0) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,(byte *)"<", - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar13,(int)sVar14,0,0); - DL = DL_01; - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - jp_text_stuff(DL,&uStack12,&uStack16,(byte *)"<",(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xa0ffa0f0,(uint)&DAT_007000a0,(int)sVar13, - (int)sVar14,0,0); - DL = DL_01; - } - } - lVar7 = MP_menu_page_adv_right(); - if (lVar7 != 0) { - sVar13 = get_video2_settings_ulx(); - if (is_gameover_flag == 0) { - iStack136 = 0; - } - else { - iStack136 = 10; - } - iVar16 = iStack136 + sVar13 + iStack48; - uStack12 = iVar16 + 0x70; - if (is_gameover_flag != 0) { - uStack12 = iVar16 + 0x78; - } - sVar13 = get_video2_settings_uly(); - uStack16 = (int)sVar13 + 0x16; - if (DAT_8008c708 == 0) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,(byte *)">", - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar13,(int)sVar14,0,0); - DL = DL_01; - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - jp_text_stuff(DL,&uStack12,&uStack16,(byte *)">",(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xa0ffa0f0,(uint)&DAT_007000a0,(int)sVar13, - (int)sVar14,0,0); - DL = DL_01; - } - } - iVar16 = pPlayer->mpmenumode; - if ((iVar16 == 3) || (iVar16 == 4)) { - DL_01 = NULL; - if (0 < (int)puStack8) { - piStack148 = &iStack68; - do { - puStack72 = DL_01; - iVar16 = get_points_for_mp_player((uint)DL_01); - *piStack148 = iVar16; - DL_01 = (uint *)((int)puStack72 + 1); - piStack148 = piStack148 + 1; - } while (DL_01 != puStack8); - } - lVar7 = true_if_displaying_rank_in_mp((uint)(is_gameover_flag == 0 && stop_play_flag == 0)); - if (lVar7 != 0) { - write_playerrank_to_buffer((char *)abStack44,uStack4); - proc_7F0AE98C(&iStack28,aiStack24,abStack44,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x25; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,abStack44, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar13,(int)sVar14,0,0); - DL = DL_01; - } - lVar7 = true_if_displaying_score_in_mp(); - if (lVar7 != 0) { - iStack88 = get_scenario(); - pcStack52 = (char *)get_textptr_for_textID(0xa01b); - proc_7F0AE98C(&iStack28,aiStack24,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x35; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar13,(int)sVar14,0,0); - if ((((iStack88 == 5) || (iStack88 == 6)) || (iStack88 == 7)) || - ((iStack88 == 2 || (iStack88 == 3)))) { - if (player1_playerdata[uStack4].have_token_or_goldengun == '\0') { - uStack76 = 3; - uStack80 = 2; - uStack84 = 4; - } - else { - uStack76 = 5; - uStack80 = 4; - uStack84 = 2; - } - } - else { - uStack76 = 1; - uStack80 = 0; - uStack84 = 0; - } - if (puStack8 == (uint *)((int)&rgba + 2)) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 0) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (player1_playerdata[0].have_token_or_goldengun == - player1_playerdata[uStack4].have_token_or_goldengun) { - iStack136 = uStack80; - } - } - DL_01 = display_text_for_playerdata_on_MP_menu - (DL_01,sVar13 + iStack48 + 0x50,(int)sVar14 + 0x46, - (longlong)iStack68,iStack136); - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 1) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (player1_playerdata[1].have_token_or_goldengun == - player1_playerdata[uStack4].have_token_or_goldengun) { - iStack136 = uStack80; - } - } - DL = display_text_for_playerdata_on_MP_menu - (DL_01,sVar13 + iStack48 + 0x50,(int)sVar14 + 0x56,(longlong)iStack64 - ,iStack136); - } - else { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 0) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (player1_playerdata[0].have_token_or_goldengun == - player1_playerdata[uStack4].have_token_or_goldengun) { - iStack136 = uStack80; - } - } - DL_01 = display_text_for_playerdata_on_MP_menu - (DL_01,sVar13 + iStack48 + 0x40,(int)sVar14 + 0x46, - (longlong)iStack68,iStack136); - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 1) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (player1_playerdata[1].have_token_or_goldengun == - player1_playerdata[uStack4].have_token_or_goldengun) { - iStack136 = uStack80; - } - } - DL_01 = display_text_for_playerdata_on_MP_menu - (DL_01,sVar13 + iStack48 + 0x60,(int)sVar14 + 0x46, - (longlong)iStack64,iStack136); - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 2) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (player1_playerdata[2].have_token_or_goldengun == - player1_playerdata[uStack4].have_token_or_goldengun) { - iStack136 = uStack80; - } - } - DL = display_text_for_playerdata_on_MP_menu - (DL_01,sVar13 + iStack48 + 0x40,(int)sVar14 + 0x56,(longlong)iStack60 - ,iStack136); - if (puStack8 == &i) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - if (uStack4 == 3) { - iStack136 = uStack76; - } - else { - iStack136 = uStack84; - if (player1_playerdata[3].have_token_or_goldengun == - player1_playerdata[uStack4].have_token_or_goldengun) { - iStack136 = uStack80; - } - } - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x60,(int)sVar14 + 0x56, - (longlong)iStack56,iStack136); - } - } - } - } - else { - if (iVar16 == 2) { - lVar7 = true_if_displaying_rank_in_mp - ((uint)(is_gameover_flag == 0 && stop_play_flag == 0)); - if (lVar7 != 0) { - write_playerrank_to_buffer((char *)abStack44,uStack4); - proc_7F0AE98C(&iStack28,aiStack24,abStack44,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x25; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,abStack44, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - 0xff00b0,(int)sVar13,(int)sVar14,0,0); - DL = DL_01; - } - puVar9 = get_textptr_for_textID(0xa01c); - puVar10 = get_textptr_for_textID(0xa01d); - sprintf((char *)abStack44,"%s%d %s",puVar9,uStack4 + 1,puVar10); - proc_7F0AE98C(&iStack28,aiStack24,abStack44,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x35; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,abStack44, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar13,(int)sVar14,0,0); - DL = DL_01; - if (puStack8 == (uint *)((int)&rgba + 2)) { - if (uStack4 != 0) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x50,(int)sVar14 + 0x46, - (longlong)player1_playerdata[uStack4].kills[0],0); - } - uVar6 = uStack4; - if (uStack4 != 1) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x50,(int)sVar14 + 0x56, - (longlong)player1_playerdata[uVar6].kills[1],0); - } - } - else { - if (uStack4 != 0) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x40,(int)sVar14 + 0x46, - (longlong)player1_playerdata[uStack4].kills[0],0); - } - uVar6 = uStack4; - if (uStack4 != 1) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x60,(int)sVar14 + 0x46, - (longlong)player1_playerdata[uVar6].kills[1],0); - } - uVar6 = uStack4; - if (uStack4 != 2) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x40,(int)sVar14 + 0x56, - (longlong)player1_playerdata[uVar6].kills[2],0); - } - uVar6 = uStack4; - if ((puStack8 == &i) && (uStack4 != 3)) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x60,(int)sVar14 + 0x56, - (longlong)player1_playerdata[uVar6].kills[3],0); - } - } - } - else { - if (iVar16 == 1) { - lVar7 = true_if_displaying_rank_in_mp - ((uint)(is_gameover_flag == 0 && stop_play_flag == 0)); - if (lVar7 != 0) { - write_playerrank_to_buffer((char *)abStack44,uStack4); - proc_7F0AE98C(&iStack28,aiStack24,abStack44,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x25; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,abStack44, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - 0xff00b0,(int)sVar13,(int)sVar14,0,0); - DL = DL_01; - } - puVar9 = get_textptr_for_textID(0xa01c); - puVar10 = get_textptr_for_textID(0xa01e); - sprintf((char *)abStack44,"%s%d %s",puVar9,uStack4 + 1,puVar10); - proc_7F0AE98C(&iStack28,aiStack24,abStack44,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x35; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,abStack44, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - 0xff4040b0,(int)sVar13,(int)sVar14,0,0); - DL = DL_01; - if (puStack8 == (uint *)((int)&rgba + 2)) { - if (uStack4 == 0) { - if (0 < player1_playerdata[0].kills[0]) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x50,(int)sVar14 + 0x46, - (longlong)player1_playerdata[0].kills[uStack4],3); - } - } - else { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x50,(int)sVar14 + 0x46, - (longlong)player1_playerdata[0].kills[uStack4],0); - } - uVar6 = uStack4; - if (uStack4 == 1) { - if (0 < player1_playerdata[1].kills[1]) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x50,(int)sVar14 + 0x56, - (longlong)player1_playerdata[1].kills[1],3); - } - } - else { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x50,(int)sVar14 + 0x56, - (longlong)player1_playerdata[1].kills[uVar6],0); - } - } - else { - if (uStack4 == 0) { - if (0 < player1_playerdata[0].kills[0]) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x40,(int)sVar14 + 0x46, - (longlong)player1_playerdata[0].kills[uStack4],3); - } - } - else { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x40,(int)sVar14 + 0x46, - (longlong)player1_playerdata[0].kills[uStack4],0); - } - uVar6 = uStack4; - if (uStack4 == 1) { - if (0 < player1_playerdata[1].kills[1]) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x60,(int)sVar14 + 0x46, - (longlong)player1_playerdata[1].kills[1],3); - } - } - else { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x60,(int)sVar14 + 0x46, - (longlong)player1_playerdata[1].kills[uVar6],0); - } - uVar6 = uStack4; - if (uStack4 == 2) { - if (0 < player1_playerdata[2].kills[2]) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x40,(int)sVar14 + 0x56, - (longlong)player1_playerdata[2].kills[2],3); - } - } - else { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x40,(int)sVar14 + 0x56, - (longlong)player1_playerdata[2].kills[uVar6],0); - } - uVar6 = uStack4; - if (puStack8 == &i) { - if (uStack4 == 3) { - if (0 < player1_playerdata[3].kills[3]) { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x60,(int)sVar14 + 0x56, - (longlong)player1_playerdata[3].kills[3],3); - } - } - else { - sVar13 = get_video2_settings_ulx(); - sVar14 = get_video2_settings_uly(); - DL = display_text_for_playerdata_on_MP_menu - (DL,sVar13 + iStack48 + 0x60,(int)sVar14 + 0x56, - (longlong)player1_playerdata[3].kills[uVar6],0); - } - } - } - } - else { - if (iVar16 != 0) { - iVar16 = pPlayer->mpmenumode; - goto LAB_7f0c5b48; - } - iStack100 = iStack48; - if (2 < (int)puStack8) { - iStack100 = iStack48 + 7; - if ((uStack4 & 1) != 0) { - iStack100 = iStack48 + -7; - } - } - pcStack52 = (char *)get_textptr_for_textID(0xa01f); - proc_7F0AE98C(&iStack92,&iStack96,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack92 >> 1)) + 0x25; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_00 = (undefined4 *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - 0xff00b0,(int)sVar13,(int)sVar14,0,0); - pcStack52 = (char *)getplayerfavoredweapon(uStack4,0); - proc_7F0AE98C(&iStack92,&iStack96,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - if (j_text_trigger == 0) { - iVar16 = 0; - } - else { - iVar16 = 4; - } - uStack16 = ((iVar16 + sVar13) - (iStack92 >> 1)) + 0x35; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL = (uint *)(int)sVar14; - en_text_write_stuff(DL_00,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - 0xff00b0,(int)sVar13,(int)sVar14,0,0); - pbVar12 = (byte *)pPlayer->ptr_text_first_mp_award; - if (pbVar12 != NULL) { - pcStack52 = (char *)pbVar12; - proc_7F0AE98C(&iStack92,&iStack96,pbVar12,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack92 >> 1)) + 0x4b; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - 0xff00b0,(int)sVar13,(int)sVar14,0,0); - DL = DL_01; - } - pbVar12 = (byte *)pPlayer->ptr_text_second_mp_award; - if (pbVar12 != NULL) { - pcStack52 = (char *)pbVar12; - proc_7F0AE98C(&iStack92,&iStack96,pbVar12,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack100) - (iStack96 >> 1)) + 0x50; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack92 >> 1)) + 0x58; - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall, - 0xff00b0,(int)sVar13,(int)sVar14,0,0); - DL = DL_01; - } - } - } - } - iVar16 = pPlayer->mpmenumode; -LAB_7f0c5b48: - if (iVar16 == 6) { - pcStack52 = (char *)get_textptr_for_textID(0xa020); - proc_7F0AE98C(&iStack28,aiStack24,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x36; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x36; - if (pPlayer->mpquitconfirm == 0) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - jp_text_stuff(DL,&uStack12,&uStack16,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xa0ffa0f0,(uint)&DAT_007000a0,(int)sVar13, - (int)sVar14,0,0); - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL_01 = (uint *)(int)sVar14; - en_text_write_stuff(DL,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar13,(int)sVar14,0,0); - } - pcStack52 = (char *)get_textptr_for_textID(0xa021); - proc_7F0AE98C(&iStack28,aiStack24,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int *)ptrFirstFontTableSmall,0); - sVar13 = get_video2_settings_ulx(); - uStack12 = ((sVar13 + iStack48) - (aiStack24[0] >> 1)) + 0x68; - sVar13 = get_video2_settings_uly(); - uStack16 = ((int)sVar13 - (iStack28 >> 1)) + 0x36; - if (pPlayer->mpquitconfirm == 1) { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL = (uint *)(int)sVar14; - jp_text_stuff(DL_01,&uStack12,&uStack16,(byte *)pcStack52,(int)ptrSecondFontTableSmall, - (int)ptrFirstFontTableSmall,0xa0ffa0f0,(uint)&DAT_007000a0,(int)sVar13, - (int)sVar14,0,0); - } - else { - sVar13 = get_video2_settings_txtClipW(); - sVar14 = get_video2_settings_txtClipH(); - DL = (uint *)(int)sVar14; - en_text_write_stuff(DL_01,(int *)&uStack12,(int *)&uStack16,(byte *)pcStack52, - (int)ptrSecondFontTableSmall,(int)ptrFirstFontTableSmall,0xff00b0, - (int)sVar13,(int)sVar14,0,0); - } - } - DL_01 = combiner_bayer_lod_perspective(DL); - return DL_01; -} - - - -ulonglong proc_7F0C6048(void) - -{ - if (is_gameover_flag != 0) { - return 0; - } - return (longlong)pPlayer->mpmenuon | (ulonglong)(0 < pPlayer->healthdisplaytime); -} - - - -undefined4 get_ispaused(void) - -{ - return is_paused; -} - - - -undefined4 * display_red_blue_on_radar(undefined4 *param_1) - -{ - int iVar1; - u32 uVar2; - u32 uVar3; - uint uVar4; - short ulx; - short width; - short uly; - int iVar5; - undefined4 *puVar6; - int iVar7; - int iVar8; - u32 uVar9; - int iVar10; - float fVar11; - float __x; - float fVar12; - float vector1; - float vector2; - float fVar13; - u32 *puStackX0; - - puStackX0 = param_1; - iVar1 = get_scenario(); - uVar2 = get_cur_playernum(); - uVar3 = get_num_players(); - if ((((uVar3 != 1) && (pPlayer->mpmenuon == 0)) && (pPlayer->bonddead == 0)) && - (uVar4 = cheatCheckIfOn(UNUSED_17), uVar4 == 0)) { - ulx = get_video2_settings_ulx(); - width = get_video2_settings_width(); - iVar10 = (int)width + (int)ulx + -0x29; - uly = get_video2_settings_uly(); - puVar6 = (undefined4 *)(int)uly; - iVar5 = (int)uly; - if ((2 < (int)uVar3) && ((uVar2 & 1) == 0)) { - iVar10 = (int)width + (int)ulx + -0x1a; - } - append_image_to_DL((uint **)register0x000000ec,mpradarimages,2,0,2); - microcode_constructor(puStackX0); - *puVar6 = 0xfcffb3ff; - puVar6[1] = 0xff65feff; - puVar6[3] = 0xa0; - puVar6[2] = 0xfa000000; - puVar6[5] = (iVar10 - 0x10U & 0x3ff) << 0xe | (iVar5 + 10) * 4 & 0xfffU; - puVar6[4] = (iVar10 + 0x10U & 0x3ff) << 0xe | 0xe4000000 | (iVar5 + 0x2a) * 4 & 0xfffU; - puVar6[6] = 0xb4000000; - puVar6[7] = 0x100010; - puStackX0 = puVar6 + 10; - puVar6[8] = 0xb3000000; - puVar6[9] = 0x4000400; - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar10 + -2),(longlong)(iVar5 + 0x18), - (longlong)(iVar10 + 2),iVar5 + 0x1c,0x40); - if (((iVar1 == 5) || (iVar1 == 6)) || ((iVar1 == 7 || ((iVar1 == 2 || (iVar1 == 3)))))) { - if (player1_playerdata[uVar2].have_token_or_goldengun == '\0') { - uVar4 = 0xff7777ff; - } - else { - uVar4 = 0x8888ffff; - } - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar10 + -1),(longlong)(iVar5 + 0x19), - (longlong)(iVar10 + 1),iVar5 + 0x1b,uVar4); - } - else { - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar10 + -1),(longlong)(iVar5 + 0x19), - (longlong)(iVar10 + 1),iVar5 + 0x1b,0xffffffa0); - } - uVar9 = 0; - if (0 < (int)uVar3) { - do { - if ((uVar9 != uVar2) && (ptr_BONDdata_p1[uVar9]->bonddead == 0)) { - iVar7 = ptr_BONDdata_p1[uVar9]->position_data_pointer; - vector1 = *(float *)(iVar7 + 8) - *(float *)(pPlayer->position_data_pointer + 8) - ; - vector2 = *(float *)(iVar7 + 0x10) - - *(float *)(pPlayer->position_data_pointer + 0x10); - fVar13 = 16.00000000; - fVar11 = convert_angle_using_inverse((f32)vector1,(f32)vector2); - fVar12 = pPlayer->vv_theta; - __x = (fVar11 * 180.00000000) / flt_8005BD20; - fVar11 = sqrtf(vector1 * vector1 + vector2 * vector2); - fVar11 = fVar11 * 0.00400000; - if (((iVar1 == 5) || (((iVar1 == 6 || (iVar1 == 7)) || (iVar1 == 2)))) || - (iVar1 == 3)) { - if (fVar11 < 16.00000000) { - if (player1_playerdata[uVar9].have_token_or_goldengun == '\0') { - uVar4 = 0xff0000a0; - fVar13 = fVar11; - } - else { - uVar4 = 0x2828ffff; - fVar13 = fVar11; - } - } - else { - fVar13 = 16.00000000; - if (player1_playerdata[uVar9].have_token_or_goldengun == '\0') { - uVar4 = 0xff000060; - } - else { - uVar4 = 0x2828ffb0; - } - } - } - else { - uVar4 = 0xffff0060; - if (fVar11 < 16.00000000) { - uVar4 = 0xffff00a0; - fVar13 = fVar11; - } - } - __x = (__x + fVar12 + 180.00000000) * flt_8005BD24; - fVar11 = sinf(__x); - iVar8 = (int)(fVar11 * fVar13) + iVar10; - fVar11 = cosf(__x); - iVar7 = (int)(fVar11 * fVar13) + iVar5 + 0x1a; - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar8 + -2),(longlong)(iVar7 + -2), - (longlong)(iVar8 + 2),iVar7 + 2,0x40); - puStackX0 = microcode_constructor_related_to_menus - (puStackX0,(longlong)(iVar8 + -1),(longlong)(iVar7 + -1), - (longlong)(iVar8 + 1),iVar7 + 1,uVar4); - } - uVar9 += 1; - } while (uVar9 != uVar3); - } - puStackX0 = combiner_bayer_lod_perspective(puStackX0); - } - return (undefined4 *)puStackX0; -} - - - -void advance_mp_weapon_set_by_one_save_value(void) - -{ - mp_weapon_set = (int)(mp_weapon_set + 1) % 0xe; - return; -} - - - -mp_weaponset_set * get_mpweaponset(void) - -{ - return (mp_weaponset_set *)(mp_weapon_set_text_table + mp_weapon_set); -} - - - -mp_weaponset_weapon * get_ptr_mp_weapon_set_data(void) - -{ - return mp_weapon_set_text_table[mp_weapon_set].entries; -} - - - -void set_mp_weapon_set(u32 param_1) - -{ - mp_weapon_set = param_1; - return; -} - - - -u32 get_mp_weapon_set(void) - -{ - return mp_weapon_set; -} - - - -void nullsub_41(void) - -{ - return; -} - - - -uint image_related_calls_decompressdata - (undefined4 param_1,byte *param_2,int param_3,int param_4,int param_5) - -{ - short sVar1; - ushort uVar2; - bool bVar3; - byte *pbVar4; - short *psVar5; - uint uVar6; - undefined *puVar7; - int iVar8; - ushort *puVar9; - ushort *puVar10; - uint uVar11; - ushort *puVar12; - undefined *puVar13; - int iVar14; - byte *pbVar15; - byte *pbVar16; - ushort auStack11064 [256]; - u8 auStack10552 [8448]; - u8 auStack2104 [2056]; - uint uStack48; - uint uStack36; - uint uStack32; - uint index; - int iStack12; - uint uStack4; - - puVar13 = NULL; - bVar3 = false; - proc_7F0CBF10(param_1); - if ((param_3 == 0) || (iStack12 = param_4, param_4 == 0)) { - iStack12 = 1; - } - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(param_4 << 5) | *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0x1f; - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) = - (byte)(param_3 << 5) & 0x20 | *(byte *)(*(int *)(param_5 + 0xc) + 0xc) & 0xdf; - if ((param_3 != 0) && (bVar3 = true, 0 < DAT_8008d090)) { - psVar5 = &DAT_8008c730; - sVar1 = DAT_8008c730; - while( true ) { - psVar5 = psVar5 + 8; - if ((longlong)(int)(**(uint **)(param_5 + 0xc) >> 0x14) == (longlong)sVar1) { - bVar3 = false; - } - if (&DAT_8008c730 + DAT_8008d090 * 8 <= psVar5) break; - sVar1 = *psVar5; - } - } - index = proc_7F0CBF2C(8); - uStack48 = proc_7F0CBF2C(8); - uStack48 += 1; - if (0 < (int)uStack48) { - puVar12 = auStack11064 + uStack48; - puVar9 = auStack11064; - do { - uVar6 = proc_7F0CBF2C(0x10); - puVar10 = puVar9 + 1; - *puVar9 = (ushort)uVar6; - puVar9 = puVar10; - } while (puVar10 < puVar12); - } - iVar14 = 0; - if (0 < iStack12) { - do { - uStack32 = proc_7F0CBF2C(8); - uStack36 = proc_7F0CBF2C(8); - if (iVar14 == 0) { - *(undefined *)(*(int *)(param_5 + 0xc) + 8) = (char)uStack32; - *(undefined *)(*(int *)(param_5 + 0xc) + 9) = (char)uStack36; - *(char *)(*(int *)(param_5 + 0xc) + 10) = (char)uStack48 + -1; - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(n64imagetypes[index] << 2) & 0x1c | - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0xe3; - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)n64pixelsizes[index] & 3 | - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0xfc; - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) = - (byte)((imgflipvalues[index] >> 0xe) << 6) | - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) & 0x3f; - } - else { - if (bVar3) { - iVar8 = DAT_8008d090 * 0x10 + iVar14; - *(undefined *)((int)&DAT_8008c730 + iVar8 + 1) = (char)uStack32; - (&DAT_8008c738)[iVar8] = (char)uStack36; - } - } - if (0x1000 < (int)(uStack32 * uStack36)) { - return 0; - } - decompressdata(img_curpos,auStack2104,auStack10552); - puVar7 = copy_loaded_image_to_final_mem_location - (auStack2104,uStack32,uStack36,(longlong)(int)index, - param_2 + (int)puVar13); - iVar8 = proc_7F0CE894(); - proc_7F0CBF10(iVar8); - if ((param_3 == 1) && (0 < param_4)) { - proc_7F0CB67C((int)(param_2 + (int)puVar13),uStack32,uStack36,index); - } - iVar14 += 1; - puVar13 = puVar7 + (int)puVar13; - } while (iVar14 != iStack12); - } - uStack4 = 0; - if (bVar3) { - (&DAT_8008c730)[DAT_8008d090 * 8] = (ushort)((uint)**(undefined4 **)(param_5 + 0xc) >> 0x14) - ; - DAT_8008d090 += 1; - if (0x95 < DAT_8008d090) { - DAT_8008d090 = 0; - } - } - if (param_3 == 0) { - if (param_4 < 2) { - if (param_4 == 1) { - uStack4 = 0; - proc_7F0CB67C((int)param_2,uStack32,uStack36,index); - } - } - else { - iVar14 = 1; - uVar6 = uStack32; - pbVar16 = param_2; - uVar11 = uStack36; - if (param_4 >= 2) { - pbVar15 = param_2; - pbVar4 = param_2 + (int)puVar13; - do { - pbVar16 = pbVar4; - iVar8 = proc_7F0C6C70(pbVar15,(int)pbVar16,uVar6,uVar11,index,auStack11064, - uStack48); - if (0x800 < (int)(puVar13 + iVar8)) { - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(iVar14 << 5) | *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0x1f; - pbVar16 = pbVar15; - break; - } - proc_7F0CB67C((int)pbVar15,uVar6,uVar11,index); - iVar14 += 1; - uVar6 = (int)(uVar6 + 1) >> 1; - uVar11 = (int)(uVar11 + 1) >> 1; - puVar13 = puVar13 + iVar8; - pbVar15 = pbVar16; - pbVar4 = pbVar16 + iVar8; - } while (iVar14 != param_4); - } - proc_7F0CB67C((int)pbVar16,uVar6,uVar11,index); - } - } - if (0 < (int)uStack48) { - param_2 = param_2 + (int)puVar13; - if ((uStack48 & 3) != 0) { - puVar9 = auStack11064 + uStack4; - pbVar16 = param_2; - do { - puVar7 = puVar13; - uStack4 += 1; - puVar13 = puVar7 + 2; - *pbVar16 = (byte)((uint)*puVar9 >> 8); - uVar2 = *puVar9; - param_2 = pbVar16 + 2; - puVar9 = puVar9 + 1; - pbVar16[1] = (byte)uVar2; - pbVar16 = param_2; - } while ((uStack48 & 3) != uStack4); - if (uStack4 == uStack48) { - puVar7 = puVar7 + 9; - goto LAB_7f0c6b94; - } - } - puVar9 = auStack11064 + uStack4; - do { - puVar12 = puVar9 + 4; - puVar13 = puVar13 + 8; - *param_2 = (byte)((uint)*puVar9 >> 8); - param_2[1] = (byte)*puVar9; - param_2[2] = (byte)((uint)puVar9[1] >> 8); - param_2[3] = (byte)puVar9[1]; - param_2[4] = (byte)((uint)puVar9[2] >> 8); - param_2[5] = (byte)puVar9[2]; - param_2[6] = (byte)((uint)puVar9[3] >> 8); - param_2[7] = (byte)puVar9[3]; - puVar9 = puVar12; - param_2 = param_2 + 8; - } while (puVar12 != auStack11064 + uStack48); - } - puVar7 = puVar13 + 7; -LAB_7f0c6b94: - return (uint)puVar7 & 0xfffffff8; -} - - - -undefined * -copy_loaded_image_to_final_mem_location - (undefined *param_1,int param_2,int param_3,longlong param_4,undefined *param_5) - -{ - undefined uVar1; - undefined *puVar2; - undefined *puVar3; - int iVar4; - int iVar5; - int iStack16; - - if ((param_4 == 9) || (param_4 == 0xb)) { - iStack16 = 1; - } - else { - if ((param_4 == 10) || (param_4 == 0xc)) { - iStack16 = 2; - } - } - iVar4 = 0; - puVar3 = param_5; - if (0 < param_3) { - do { - iVar5 = 0; - puVar2 = puVar3; - if (0 < param_2) { - do { - uVar1 = *param_1; - iVar5 += iStack16; - puVar3 = puVar2 + 1; - param_1 = param_1 + 1; - *puVar2 = uVar1; - puVar2 = puVar3; - } while (iVar5 < param_2); - } - iVar4 += 1; - puVar3 = (undefined *)((uint)(puVar3 + 7) & 0xfffffff8); - } while (iVar4 != param_3); - } - return puVar3 + -(int)param_5; -} - - - -int proc_7F0C6C70(byte *param_1,int param_2,int param_3,int param_4,int param_5,ushort *param_6, - uint param_7) - -{ - ushort uVar1; - ushort uVar2; - ushort uVar3; - ushort uVar4; - bool bVar5; - int iVar6; - uint uVar7; - uint uVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - byte *pbVar14; - byte *pbVar15; - int iVar16; - int iStack52; - uint uStack16; - uint uStack12; - int iStack8; - - iVar16 = param_4 + 1 >> 1; - if (param_5 == 9) { -LAB_7f0c6cf0: - uStack16 = (param_3 + 1 >> 1) + 7U & 0xff8; - uStack12 = param_3 + 7U & 0xff8; - } - else { - if (param_5 != 10) { - if (param_5 == 0xb) goto LAB_7f0c6cf0; - if (param_5 != 0xc) goto LAB_7f0c6d30; - } - uStack16 = (param_3 + 1 >> 1) + 0xfU & 0xff0; - uStack12 = param_3 + 0xfU & 0xff0; - } -LAB_7f0c6d30: - iStack52 = param_2; - if (param_5 == 9) { - iStack8 = 0; - if (0 < param_4) { - do { - uVar8 = uStack12; - if (param_4 <= iStack8 + 1) { - uVar8 = 0; - } - if (0 < (int)uStack12) { - pbVar15 = param_1 + uVar8; - iVar6 = 1; - iVar12 = 0; - pbVar14 = param_1; - while( true ) { - iVar13 = iVar12; - if (iVar6 < param_3) { - iVar13 = iVar6; - } - uVar1 = param_6[*pbVar14]; - uVar2 = param_6[param_1[iVar13]]; - uVar3 = param_6[*pbVar15]; - uVar4 = param_6[param_1[uVar8 + iVar13]]; - uVar7 = proc_7F0C77AC(param_6,param_7, - (int)(((int)(short)uVar1 >> 0xb & 0x1fU) + - ((int)(short)uVar2 >> 0xb & 0x1fU) + - ((int)(short)uVar3 >> 0xb & 0x1fU) + - ((int)(short)uVar4 >> 0xb & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 >> 6 & 0x1fU) + - ((int)(short)uVar2 >> 6 & 0x1fU) + - ((int)(short)uVar3 >> 6 & 0x1fU) + - ((int)(short)uVar4 >> 6 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 >> 1 & 0x1fU) + - ((int)(short)uVar2 >> 1 & 0x1fU) + - ((int)(short)uVar3 >> 1 & 0x1fU) + - ((int)(short)uVar4 >> 1 & 0x1fU)) >> 2 & 0x1f, - (int)(((int)(short)uVar1 & 1U) + - ((int)(short)uVar2 & 1U) + - ((int)(short)uVar3 & 1U) + - ((int)(short)uVar4 & 1U) + 2) >> 2 & 1); - *(undefined *)(iStack52 + (iVar12 >> 1)) = (char)uVar7; - pbVar14 = pbVar14 + 2; - pbVar15 = pbVar15 + 2; - if ((int)uStack12 <= iVar12 + 2) break; - iVar6 = iVar12 + 3; - iVar12 = iVar12 + 2; - } - } - iStack8 += 2; - iStack52 += uStack16; - param_1 = param_1 + uStack12 * 2; - } while (iStack8 < param_4); - } - iVar12 = iVar16 * uStack16; - } - else { - iVar6 = (int)uStack16 >> 1; - if (param_5 == 10) { - iStack8 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - iVar12 = (int)uStack12 >> 1; - if (param_4 <= iStack8 + 1) { - iVar12 = 0; - } - if (0 < (int)uStack12) { - iVar11 = 0; - while( true ) { - bVar5 = param_3 <= iVar13 + 1; - uVar1 = param_6[(int)(uint)param_1[iVar11] >> 4]; - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - uVar2 = param_6[(int)(uint)param_1[iVar11] >> iVar9 & 0xf]; - uVar3 = param_6[(int)(uint)param_1[iVar11 + iVar12] >> 4]; - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - uVar4 = param_6[(int)(uint)(param_1 + iVar12)[iVar11] >> iVar9 & 0xf]; - uVar8 = proc_7F0C77AC(param_6,param_7, - (int)(((int)(short)uVar1 >> 0xb & 0x1fU) + - ((int)(short)uVar2 >> 0xb & 0x1fU) + - ((int)(short)uVar3 >> 0xb & 0x1fU) + - ((int)(short)uVar4 >> 0xb & 0x1fU)) >> 2 & - 0x1f,(int)(((int)(short)uVar1 >> 6 & 0x1fU) + - ((int)(short)uVar2 >> 6 & 0x1fU) + - ((int)(short)uVar3 >> 6 & 0x1fU) + - ((int)(short)uVar4 >> 6 & 0x1fU)) >> 2 & - 0x1f, - (int)(((int)(short)uVar1 >> 1 & 0x1fU) + - ((int)(short)uVar2 >> 1 & 0x1fU) + - ((int)(short)uVar3 >> 1 & 0x1fU) + - ((int)(short)uVar4 >> 1 & 0x1fU)) >> 2 & 0x1f - ,(int)(((int)(short)uVar1 & 1U) + - ((int)(short)uVar2 & 1U) + - ((int)(short)uVar3 & 1U) + - ((int)(short)uVar4 & 1U) + 2) >> 2 & 1); - iVar11 = iVar13 + 2 >> 1; - pbVar14 = (byte *)(iStack52 + (iVar13 >> 2)); - *pbVar14 = (byte)(uVar8 << 4); - bVar5 = param_3 <= iVar13 + 3; - uVar1 = param_6[(int)(uint)param_1[iVar11] >> 4]; - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - uVar2 = param_6[(int)(uint)param_1[iVar11] >> iVar9 & 0xf]; - uVar3 = param_6[(int)(uint)param_1[iVar11 + iVar12] >> 4]; - if (bVar5) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - uVar4 = param_6[(int)(uint)(param_1 + iVar12)[iVar11] >> iVar9 & 0xf]; - uVar8 = proc_7F0C77AC(param_6,param_7, - (int)(((int)(short)uVar1 >> 0xb & 0x1fU) + - ((int)(short)uVar2 >> 0xb & 0x1fU) + - ((int)(short)uVar3 >> 0xb & 0x1fU) + - ((int)(short)uVar4 >> 0xb & 0x1fU)) >> 2 & - 0x1f,(int)(((int)(short)uVar1 >> 6 & 0x1fU) + - ((int)(short)uVar2 >> 6 & 0x1fU) + - ((int)(short)uVar3 >> 6 & 0x1fU) + - ((int)(short)uVar4 >> 6 & 0x1fU)) >> 2 & - 0x1f, - (int)(((int)(short)uVar1 >> 1 & 0x1fU) + - ((int)(short)uVar2 >> 1 & 0x1fU) + - ((int)(short)uVar3 >> 1 & 0x1fU) + - ((int)(short)uVar4 >> 1 & 0x1fU)) >> 2 & 0x1f - ,(int)(((int)(short)uVar1 & 1U) + - ((int)(short)uVar2 & 1U) + - ((int)(short)uVar3 & 1U) + - ((int)(short)uVar4 & 1U) + 2) >> 2 & 1); - iVar13 += 4; - *pbVar14 = *pbVar14 | (byte)uVar8; - if ((int)uStack12 <= iVar13) break; - iVar11 = iVar13 >> 1; - } - } - iStack8 += 2; - iStack52 += iVar6; - param_1 = param_1 + uStack12; - } while (iStack8 < param_4); - } - iVar12 = iVar6 * iVar16; - } - else { - if (param_5 == 0xb) { - iStack8 = 0; - if (0 < param_4) { - do { - uVar8 = uStack12; - if (param_4 <= iStack8 + 1) { - uVar8 = 0; - } - if (0 < (int)uStack12) { - pbVar15 = param_1 + uVar8; - iVar6 = 1; - iVar12 = 0; - pbVar14 = param_1; - while( true ) { - iVar13 = iVar12; - if (iVar6 < param_3) { - iVar13 = iVar6; - } - uVar7 = proc_7F0C7BD8(param_6,param_7, - (int)(((int)(short)param_6[*pbVar14] >> 8 & - 0xffU) + ((int)(short)param_6[param_1[ - iVar13]] >> 8 & 0xffU) + - ((int)(short)param_6[*pbVar15] >> 8 & 0xffU) + - ((int)(short)param_6[param_1[uVar8 + iVar13]] >> 8 - & 0xffU)) >> 2 & 0xff, - (int)(((int)(short)param_6[*pbVar14] & 0xffU) + - ((int)(short)param_6[param_1[iVar13]] & - 0xffU) + ((int)(short)param_6[*pbVar15] & - 0xffU) + - ((int)(short)param_6[param_1[uVar8 + iVar13] - ] & 0xffU) + 1) >> 2 & - 0xff); - *(undefined *)(iStack52 + (iVar12 >> 1)) = (char)uVar7; - pbVar14 = pbVar14 + 2; - pbVar15 = pbVar15 + 2; - if ((int)uStack12 <= iVar12 + 2) break; - iVar6 = iVar12 + 3; - iVar12 = iVar12 + 2; - } - } - iStack8 += 2; - iStack52 += uStack16; - param_1 = param_1 + uStack12 * 2; - } while (iStack8 < param_4); - } - iVar12 = iVar16 * uStack16; - } - else { - iVar12 = 0; - if (param_5 == 0xc) { - iStack8 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - iVar12 = (int)uStack12 >> 1; - if (param_4 <= iStack8 + 1) { - iVar12 = 0; - } - iVar11 = 0; - if (0 < (int)uStack12) { - while( true ) { - bVar5 = iVar13 + 1 < param_3; - if ((int)(uint)param_1[iVar11] >> bVar5 == 0) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - if ((int)(uint)param_1[iVar11 + iVar12] >> bVar5 == 0) { - iVar10 = 4; - } - else { - iVar10 = 0; - } - uVar8 = proc_7F0C7BD8(param_6,param_7, - (int)(((int)(short)param_6[(int)(uint) - param_1[iVar11] >> 4] >> 8 & 0xffU) + - ((int)(short)param_6[iVar9] >> 8 & 0xffU) + - ((int)(short)param_6[(int)(uint)param_1[iVar11 + - iVar12] >> 4] >> 8 & 0xffU) + - ((int)(short)param_6[iVar10] >> 8 & 0xffU)) >> 2 & - 0xff,(int)(((int)(short)param_6[(int)(uint)param_1 - [iVar11] >> 4] & 0xffU) + - ((int)(short)param_6[iVar9] & 0xffU) + - ((int)(short)param_6[(int)(uint)param_1[iVar11 + - iVar12] >> 4] & 0xffU) + - ((int)(short)param_6[iVar10] & 0xffU) + 1) >> 2 & - 0xff); - iVar11 = iVar13 + 2 >> 1; - pbVar14 = (byte *)(iStack52 + (iVar13 >> 2)); - *pbVar14 = (byte)(uVar8 << 4); - bVar5 = iVar13 + 3 < param_3; - if ((int)(uint)param_1[iVar11] >> bVar5 == 0) { - iVar9 = 4; - } - else { - iVar9 = 0; - } - if ((int)(uint)param_1[iVar11 + iVar12] >> bVar5 == 0) { - iVar10 = 4; - } - else { - iVar10 = 0; - } - uVar8 = proc_7F0C7BD8(param_6,param_7, - (int)(((int)(short)param_6[(int)(uint) - param_1[iVar11] >> 4] >> 8 & 0xffU) + - ((int)(short)param_6[iVar9] >> 8 & 0xffU) + - ((int)(short)param_6[(int)(uint)param_1[iVar11 + - iVar12] >> 4] >> 8 & 0xffU) + - ((int)(short)param_6[iVar10] >> 8 & 0xffU)) >> 2 & - 0xff,(int)(((int)(short)param_6[(int)(uint)param_1 - [iVar11] >> 4] & 0xffU) + - ((int)(short)param_6[iVar9] & 0xffU) + - ((int)(short)param_6[(int)(uint)param_1[iVar11 + - iVar12] >> 4] & 0xffU) + - ((int)(short)param_6[iVar10] & 0xffU) + 1) >> 2 & - 0xff); - iVar13 += 4; - *pbVar14 = *pbVar14 | (byte)uVar8; - if ((int)uStack12 <= iVar13) break; - iVar11 = iVar13 >> 1; - } - } - iStack8 += 2; - iStack52 += iVar6; - param_1 = param_1 + uStack12; - } while (iStack8 < param_4); - } - iVar12 = iVar6 * iVar16; - } - } - } - } - return iVar12; -} - - - -// WARNING: Instruction at (ram,0x7f0c7ab0) overlaps instruction at (ram,0x7f0c7aac) -// - -uint proc_7F0C77AC(ushort *param_1,uint param_2,int param_3,int param_4,int param_5,uint param_6) - -{ - ushort uVar1; - ushort *puVar2; - uint uVar3; - int iVar4; - uint uVar5; - int iVar6; - int iVar7; - int iVar8; - uint uVar9; - ulonglong uVar10; - int iVar11; - int iVar12; - int iVar13; - - uVar3 = 0; - if (0 < (int)param_2) { - if ((param_2 & 3) != 0) { - puVar2 = param_1; - do { - if (((longlong)(int)(param_3 << 0xb | param_4 << 6 | param_5 << 1 | param_6) & - 0xffffU) == (ulonglong)*puVar2) { - return uVar3; - } - uVar3 += 1; - puVar2 = puVar2 + 1; - } while ((param_2 & 3) != uVar3); - if (uVar3 == param_2) goto LAB_7f0c78d8; - } - puVar2 = param_1 + uVar3; - uVar10 = (longlong)(int)(param_3 << 0xb | param_4 << 6 | param_5 << 1 | param_6) & 0xffff; - do { - if (uVar10 == (ulonglong)*puVar2) { - return uVar3; - } - if (uVar10 == (ulonglong)puVar2[1]) { - return uVar3 + 1; - } - if (uVar10 == (ulonglong)puVar2[2]) { - return uVar3 + 2; - } - if (uVar10 == (ulonglong)puVar2[3]) { - return uVar3 + 3; - } - uVar3 += 4; - puVar2 = puVar2 + 4; - } while (uVar3 != param_2); - } -LAB_7f0c78d8: - uVar10 = SEXT48((int)param_6); - iVar6 = param_2 - 1; - iVar11 = iVar6; - if (1 < iVar6) { - iVar8 = param_3 * param_3 + param_4 * param_4 + param_5 * param_5 + param_6 * 0x3c1; - iVar7 = 0; - iVar12 = iVar6; - while( true ) { - iVar4 = iVar12 >> 1; - uVar1 = param_1[iVar4]; - iVar12 = (int)(uint)uVar1 >> 0xb; - uVar3 = (int)(uint)uVar1 >> 6 & 0x1f; - uVar9 = (int)(uint)uVar1 >> 1 & 0x1f; - iVar12 = iVar12 * iVar12 + uVar3 * uVar3 + uVar9 * uVar9 + ((uint)uVar1 & 1) * 0x3c1; - if ((iVar8 <= iVar12) && (iVar11 = iVar4, iVar8 < iVar12)) { - iVar4 = iVar7; - } - if (iVar11 - iVar4 < 2) break; - iVar12 = iVar11 + iVar4; - iVar7 = iVar4; - } - } - uVar3 = iVar11 - 4; - if ((int)uVar3 < 0) { - uVar3 = 0; - } - iVar7 = iVar11 + 4; - if ((int)param_2 <= iVar11 + 4) { - iVar7 = iVar6; - } - iVar11 = 999999; - uVar9 = 0; - if ((int)uVar3 <= iVar7) { - if (((iVar7 - uVar3) + 1 & 1) == 0) { - iVar6 = uVar3 << 1; - } - else { - uVar1 = param_1[uVar3]; - uVar5 = uVar3 + 1; - iVar6 = 0x3c1; - if (uVar10 == ((ulonglong)uVar1 & 1)) { - iVar6 = 0; - } - iVar12 = ((int)(uint)uVar1 >> 0xb) - param_3; - iVar8 = ((int)(uint)uVar1 >> 6 & 0x1fU) - param_4; - iVar4 = ((int)(uint)uVar1 >> 1 & 0x1fU) - param_5; - iVar6 = iVar6 + iVar12 * iVar12 + iVar8 * iVar8 + iVar4 * iVar4; - if (iVar6 < 999999) { - uVar9 = uVar3; - iVar11 = iVar6; - } - iVar6 = uVar5 * 2; - uVar3 = uVar5; - if (iVar7 + 1U == uVar5) { - return uVar9; - } - } - param_1 = (ushort *)((int)param_1 + iVar6); - do { - uVar1 = *param_1; - iVar6 = 0x3c1; - if (uVar10 == ((ulonglong)uVar1 & 1)) { - iVar6 = 0; - } - iVar8 = ((int)(uint)uVar1 >> 0xb) - param_3; - iVar4 = ((int)(uint)uVar1 >> 6 & 0x1fU) - param_4; - iVar13 = ((int)(uint)uVar1 >> 1 & 0x1fU) - param_5; - iVar12 = 0x3c1; - iVar6 = iVar6 + iVar8 * iVar8 + iVar4 * iVar4 + iVar13 * iVar13; - if (iVar6 < iVar11) { - uVar1 = param_1[1]; - uVar9 = uVar3; - } - else { - uVar1 = param_1[1]; - iVar6 = iVar11; - } - if (uVar10 == ((ulonglong)uVar1 & 1)) { - iVar12 = 0; - } - iVar11 = ((int)(uint)uVar1 >> 0xb) - param_3; - iVar8 = ((int)(uint)uVar1 >> 6 & 0x1fU) - param_4; - iVar4 = ((int)(uint)uVar1 >> 1 & 0x1fU) - param_5; - iVar12 = iVar12 + iVar11 * iVar11 + iVar8 * iVar8 + iVar4 * iVar4; - iVar11 = iVar6; - if (iVar12 < iVar6) { - uVar9 = uVar3 + 1; - iVar11 = iVar12; - } - uVar3 += 2; - param_1 = param_1 + 2; - } while (iVar7 + 1U != uVar3); - } - return uVar9; -} - - - -// WARNING: Instruction at (ram,0x7f0c7c34) overlaps instruction at (ram,0x7f0c7c30) -// - -uint proc_7F0C7BD8(ushort *param_1,uint param_2,int param_3,uint param_4) - -{ - ushort *puVar1; - uint uVar2; - int iVar3; - int iVar4; - uint uVar5; - uint uVar6; - int iVar7; - int iVar8; - int iVar9; - int iVar10; - ulonglong uVar11; - - uVar2 = 0; - if (0 < (int)param_2) { - if ((param_2 & 3) != 0) { - puVar1 = param_1; - do { - if (((longlong)(int)(param_3 << 8 | param_4) & 0xffffU) == (ulonglong)*puVar1) { - return uVar2; - } - uVar2 += 1; - puVar1 = puVar1 + 1; - } while ((param_2 & 3) != uVar2); - if (uVar2 == param_2) goto LAB_7f0c7ca8; - } - uVar11 = (longlong)(int)(param_3 << 8 | param_4) & 0xffff; - puVar1 = param_1 + uVar2; - do { - if (uVar11 == (ulonglong)*puVar1) { - return uVar2; - } - if (uVar11 == (ulonglong)puVar1[1]) { - return uVar2 + 1; - } - if (uVar11 == (ulonglong)puVar1[2]) { - return uVar2 + 2; - } - if (uVar11 == (ulonglong)puVar1[3]) { - return uVar2 + 3; - } - uVar2 += 4; - puVar1 = puVar1 + 4; - } while (uVar2 != param_2); - } -LAB_7f0c7ca8: - iVar7 = param_2 - 1; - iVar3 = iVar7; - if (1 < iVar7) { - iVar8 = param_3 * param_3 + param_4 * param_4; - iVar4 = 0; - iVar10 = iVar7; - while( true ) { - iVar9 = iVar10 >> 1; - iVar10 = (int)(uint)param_1[iVar9] >> 8; - uVar2 = (uint)param_1[iVar9] & 0xff; - iVar10 = iVar10 * iVar10 + uVar2 * uVar2; - if ((iVar8 <= iVar10) && (iVar3 = iVar9, iVar8 < iVar10)) { - iVar9 = iVar4; - } - if (iVar3 - iVar9 < 2) break; - iVar10 = iVar3 + iVar9; - iVar4 = iVar9; - } - } - uVar2 = iVar3 - 4; - if ((int)uVar2 < 0) { - uVar2 = 0; - } - uVar6 = 0; - iVar4 = iVar3 + 4; - if ((int)param_2 <= iVar3 + 4) { - iVar4 = iVar7; - } - iVar3 = 999999; - if ((int)uVar2 <= iVar4) { - param_1 = param_1 + uVar2; - uVar5 = uVar6; - do { - iVar7 = ((int)(uint)*param_1 >> 8) - param_3; - iVar10 = ((uint)*param_1 & 0xff) - param_4; - iVar7 = iVar7 * iVar7 + iVar10 * iVar10; - uVar6 = uVar2; - if (iVar3 <= iVar7) { - uVar6 = uVar5; - iVar7 = iVar3; - } - iVar3 = iVar7; - uVar2 += 1; - param_1 = param_1 + 1; - uVar5 = uVar6; - } while (iVar4 + 1U != uVar2); - } - return uVar6; -} - - - -int process_huffman_compressed_images - (undefined4 param_1,uint *param_2,int param_3,int param_4,int param_5) - -{ - short sVar1; - bool bVar2; - uint *puVar3; - short *psVar4; - uint uVar5; - ushort *puVar6; - int iVar7; - uint *puVar8; - undefined uVar9; - undefined uVar10; - int iVar11; - uint index; - int iStack12320; - uint uStack12308; - uint uStack12304; - int iStack12300; - int iStack12296; - uint auStack12288 [1024]; - ushort auStack8192 [4096]; - - iStack12320 = 0; - bVar2 = false; - proc_7F0CBF10(param_1); - if ((param_3 == 0) || (iStack12300 = param_4, param_4 == 0)) { - iStack12300 = 1; - } - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(param_4 << 5) | *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0x1f; - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) = - (byte)(param_3 << 5) & 0x20 | *(byte *)(*(int *)(param_5 + 0xc) + 0xc) & 0xdf; - if (param_3 != 0) { - bVar2 = true; - if (0 < DAT_8008d090) { - psVar4 = &DAT_8008c730; - sVar1 = DAT_8008c730; - bVar2 = true; - while( true ) { - psVar4 = psVar4 + 8; - if ((longlong)(int)(**(uint **)(param_5 + 0xc) >> 0x14) == (longlong)sVar1) { - bVar2 = false; - } - if (&DAT_8008c730 + DAT_8008d090 * 8 <= psVar4) break; - sVar1 = *psVar4; - } - } - } - iStack12296 = 0; - if (0 < iStack12300) { - do { - index = proc_7F0CBF2C(4); - uStack12304 = proc_7F0CBF2C(8); - uStack12308 = proc_7F0CBF2C(8); - uVar5 = proc_7F0CBF2C(4); - uVar9 = (undefined)uStack12304; - uVar10 = (undefined)uStack12308; - if (iStack12296 == 0) { - *(undefined *)(*(int *)(param_5 + 0xc) + 8) = uVar9; - *(undefined *)(*(int *)(param_5 + 0xc) + 9) = uVar10; - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)(n64imagetypes[index] << 2) & 0x1c | - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0xe3; - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) = - (byte)n64pixelsizes[index] & 3 | - *(byte *)(*(int *)(param_5 + 0xc) + 0xb) & 0xfc; - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) = - (byte)((imgflipvalues[index] >> 0xe) << 6) | - *(byte *)(*(int *)(param_5 + 0xc) + 0xc) & 0x3f; - } - else { - if (bVar2) { - iVar11 = DAT_8008d090 * 0x10 + iStack12296; - *(undefined *)((int)&DAT_8008c730 + iVar11 + 1) = uVar9; - (&DAT_8008c738)[iVar11] = uVar10; - } - } - iVar11 = uStack12304 * uStack12308; - if (0x2000 < iVar11) { - return 0; - } - switch(uVar5) { - case 0: - case 1: - iVar11 = image_compression0_expand(); - break; - case 2: - generate_sample_table - ((int)auStack8192,pixelbytecounts[index] * uStack12304 * uStack12308, - (longlong)pixelsamplebits[index]); - if (pixelalphas[index] != 0) { - image_get_alpha_values((undefined *)((int)auStack8192 + iVar11 * 3),iVar11); - } - iVar11 = generate_link_final_image - ((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),index); - break; - case 3: - iVar7 = 0; - if (0 < pixelbytecounts[index]) { - puVar6 = auStack8192; - do { - generate_sample_table((int)puVar6,iVar11,(longlong)pixelsamplebits[index]); - iVar7 += 1; - puVar6 = (ushort *)((int)puVar6 + uStack12304 * uStack12308); - } while (iVar7 < pixelbytecounts[index]); - } - if (pixelalphas[index] != 0) { - image_get_alpha_values((undefined *)((int)auStack8192 + iVar11 * 3),iVar11); - } - iVar11 = generate_link_final_image - ((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),index); - break; - case 4: - type4_7_9_getsamples - ((int)auStack8192,pixelbytecounts[index] * uStack12304 * uStack12308); - if (pixelalphas[index] != 0) { - image_get_alpha_values((undefined *)((int)auStack8192 + iVar11 * 3),iVar11); - } - iVar11 = generate_link_final_image - ((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),index); - break; - case 5: - uVar5 = type5_6_7_getsamples(auStack12288,(longlong)pixelbitcount[index]); - iVar11 = type5_generate_link_final_image - (uStack12304,uStack12308,(int *)((int)param_2 + iStack12320), - (int)auStack12288,uVar5,index); - break; - case 6: - uVar5 = type5_6_7_getsamples(auStack12288,(longlong)pixelbitcount[index]); - generate_sample_table((int)auStack8192,iVar11,(longlong)(int)uVar5); - iVar11 = type6_7_generate_link_final_image - (auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),(int)auStack12288,uVar5, - index); - break; - case 7: - uVar5 = type5_6_7_getsamples(auStack12288,(longlong)pixelbitcount[index]); - type4_7_9_getsamples((int)auStack8192,iVar11); - iVar11 = type6_7_generate_link_final_image - (auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),(int)auStack12288,uVar5, - index); - break; - case 8: - uVar5 = proc_7F0CBF2C(3); - generate_sample_table - ((int)auStack8192,pixelbytecounts[index] * uStack12304 * uStack12308, - (longlong)pixelsamplebits[index]); - type8_9_doohick((int)auStack8192,uStack12304,pixelbytecounts[index] * uStack12308, - uVar5,pixelsamplebits[index]); - if (pixelalphas[index] != 0) { - image_get_alpha_values((undefined *)((int)auStack8192 + iVar11 * 3),iVar11); - } - iVar11 = generate_link_final_image - ((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),index); - break; - case 9: - uVar5 = proc_7F0CBF2C(3); - type4_7_9_getsamples - ((int)auStack8192,pixelbytecounts[index] * uStack12304 * uStack12308); - type8_9_doohick((int)auStack8192,uStack12304,pixelbytecounts[index] * uStack12308, - uVar5,pixelsamplebits[index]); - if (pixelalphas[index] != 0) { - image_get_alpha_values((undefined *)((int)auStack8192 + iVar11 * 3),iVar11); - } - iVar11 = generate_link_final_image - ((int)auStack8192,uStack12304,uStack12308, - (uint *)((int)param_2 + iStack12320),index); - break; - default: - *(undefined *)((int)&DAT_8008c730 + DAT_8008d090 * 0x10 + 1) = uVar9; - (&DAT_8008c738)[DAT_8008d090 * 0x10] = uVar10; - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - if ((param_3 == 1) && (0 < param_4)) { - proc_7F0CB67C((int)param_2 + iStack12320,uStack12304,uStack12308,index); - } - iStack12320 += iVar11 + 7U & 0xfffffff8; - if (img_bitcount == 0) { - img_curpos = img_curpos + 1; - } - else { - img_bitcount = 0; - } - iStack12296 += 1; - } while (iStack12296 != iStack12300); - } - if (bVar2) { - (&DAT_8008c730)[DAT_8008d090 * 8] = (ushort)((uint)**(undefined4 **)(param_5 + 0xc) >> 0x14) - ; - DAT_8008d090 += 1; - if (0x95 < DAT_8008d090) { - DAT_8008d090 = 0; - } - } - if (param_3 == 0) { - if (param_4 < 2) { - if (param_4 == 1) { - proc_7F0CB67C((int)param_2,uStack12304,uStack12308,index); - } - } - else { - iStack12296 = 1; - puVar8 = param_2; - puVar3 = (uint *)((int)param_2 + iStack12320); - if (1 < param_4) { - do { - param_2 = puVar3; - iVar11 = image_decompresion_related - (puVar8,(int)param_2,uStack12304,uStack12308,index); - proc_7F0CB67C((int)puVar8,uStack12304,uStack12308,index); - uStack12304 = (int)(uStack12304 + 1) >> 1; - uStack12308 = (int)(uStack12308 + 1) >> 1; - iStack12296 += 1; - iStack12320 += iVar11; - puVar8 = param_2; - puVar3 = (uint *)((int)param_2 + iVar11); - } while (iStack12296 != param_4); - } - proc_7F0CB67C((int)param_2,uStack12304,uStack12308,index); - } - } - return iStack12320; -} - - - -int image_decompresion_related(uint *param_1,int param_2,int param_3,int param_4,uint param_5) - -{ - byte bVar1; - byte bVar2; - byte bVar3; - byte bVar4; - ushort uVar5; - ushort uVar6; - ushort uVar7; - ushort uVar8; - uint uVar9; - uint uVar10; - uint uVar11; - uint uVar12; - int iVar13; - int iVar14; - int iVar15; - uint *puVar16; - byte *pbVar17; - int iVar18; - uint *puVar19; - uint *puVar20; - uint uVar21; - int iVar22; - int iVar23; - int iVar24; - uint uStack16; - uint uStack12; - - iVar15 = param_4 + 1 >> 1; - switch(param_5) { - case 0: - case 2: - uStack16 = (param_3 + 1 >> 1) + 3U & 0xffc; - uStack12 = param_3 + 3U & 0xffc; - break; - case 1: - case 3: - case 4: - uStack16 = (param_3 + 1 >> 1) + 3U & 0xffc; - uStack12 = param_3 + 3U & 0xffc; - break; - case 5: - case 7: - uStack16 = (param_3 + 1 >> 1) + 7U & 0xff8; - uStack12 = param_3 + 7U & 0xff8; - break; - case 6: - case 8: - uStack16 = (param_3 + 1 >> 1) + 0xfU & 0xff0; - uStack12 = param_3 + 0xfU & 0xff0; - } - if (param_5 < 9) { - iVar13 = (int)uStack12 >> 1; - iVar23 = (int)uStack16 >> 1; - switch(param_5) { - default: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar19 = param_1 + uVar21; - puVar16 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - uVar9 = param_1[iVar24]; - uVar10 = *puVar16; - uVar11 = *puVar19; - uVar12 = (param_1 + uVar21)[iVar24]; - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 2; - puVar19 = puVar19 + 2; - *(uint *)(param_2 + iVar24 * 4) = - ((uVar10 >> 0x18) + (uVar9 >> 0x18) + (uVar11 >> 0x18) + - (uVar12 >> 0x18) >> 2) << 0x18 | - ((uVar10 >> 0x10 & 0xff) + (uVar9 >> 0x10 & 0xff) + - (uVar11 >> 0x10 & 0xff) + (uVar12 >> 0x10 & 0xff) >> 2 & 0xff) << - 0x10 | ((uVar10 >> 8 & 0xff) + (uVar9 >> 8 & 0xff) + - (uVar11 >> 8 & 0xff) + (uVar12 >> 8 & 0xff) >> 2 & 0xff) << - 8 | - (uVar10 & 0xff) + (uVar9 & 0xff) + (uVar11 & 0xff) + - (uVar12 & 0xff) + 1 >> 2 & 0xff; - } while (iVar13 < (int)uStack12); - } - param_2 += uStack16 * 4; - param_1 = param_1 + uStack12 * 2; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16 * 4; - break; - case 1: - case 3: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar20 = (uint *)((int)param_1 + uVar21 * 2); - puVar19 = puVar20; - puVar16 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - uVar5 = *(ushort *)((int)param_1 + iVar24 * 2); - uVar6 = *(ushort *)puVar16; - uVar7 = *(ushort *)puVar19; - uVar8 = *(ushort *)((int)puVar20 + iVar24 * 2); - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 1; - puVar19 = puVar19 + 1; - *(ushort *)(param_2 + iVar24 * 2) = - (ushort)((((int)(uint)uVar6 >> 0xb) + ((int)(uint)uVar5 >> 0xb) + - ((int)(uint)uVar7 >> 0xb) + ((int)(uint)uVar8 >> 0xb) >> - 2) << 0xb) | - (ushort)(((int)(((int)(uint)uVar6 >> 6 & 0x1fU) + - ((int)(uint)uVar5 >> 6 & 0x1fU) + - ((int)(uint)uVar7 >> 6 & 0x1fU) + - ((int)(uint)uVar8 >> 6 & 0x1fU)) >> 2 & 0x1fU) << 6) - | (ushort)(((int)(((int)(uint)uVar6 >> 1 & 0x1fU) + - ((int)(uint)uVar5 >> 1 & 0x1fU) + - ((int)(uint)uVar7 >> 1 & 0x1fU) + - ((int)(uint)uVar8 >> 1 & 0x1fU)) >> 2 & 0x1fU) << - 1) | - (ushort)((int)(((uint)uVar6 & 1) + ((uint)uVar5 & 1) + - ((uint)uVar7 & 1) + ((uint)uVar8 & 1) + 2) >> 2) & 1 - ; - } while (iVar13 < (int)uStack12); - } - param_2 += uStack16 * 2; - param_1 = param_1 + uStack12; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16 * 2; - break; - case 4: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - puVar20 = (uint *)((int)param_1 + uVar21 * 2); - puVar19 = puVar20; - puVar16 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - uVar5 = *(ushort *)((int)param_1 + iVar24 * 2); - uVar6 = *(ushort *)puVar16; - uVar7 = *(ushort *)puVar19; - uVar8 = *(ushort *)((int)puVar20 + iVar24 * 2); - iVar24 = iVar13 >> 1; - iVar13 += 2; - puVar16 = puVar16 + 1; - puVar19 = puVar19 + 1; - *(ushort *)(param_2 + iVar24 * 2) = - (ushort)((((int)(uint)uVar6 >> 8) + ((int)(uint)uVar5 >> 8) + - ((int)(uint)uVar7 >> 8) + ((int)(uint)uVar8 >> 8) >> 2) - << 8) | - (ushort)((int)(((uint)uVar6 & 0xff) + ((uint)uVar5 & 0xff) + - ((uint)uVar7 & 0xff) + ((uint)uVar8 & 0xff) + 1) >> - 2) & 0xff; - } while (iVar13 < (int)uStack12); - } - param_2 += uStack16 * 2; - param_1 = param_1 + uStack12; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16 * 2; - break; - case 5: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - pbVar17 = (byte *)(uVar21 + (int)param_1); - puVar19 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - bVar1 = *(byte *)puVar19; - bVar2 = *pbVar17; - bVar3 = *(byte *)(uVar21 + iVar24 + (int)param_1); - iVar14 = iVar13 >> 1; - iVar13 += 2; - puVar19 = (uint *)((int)puVar19 + 2); - pbVar17 = pbVar17 + 2; - *(byte *)(param_2 + iVar14) = - ((char)((int)(uint)bVar1 >> 4) + - (char)((int)(uint)*(byte *)((int)param_1 + iVar24) >> 4) + - (char)((int)(uint)bVar2 >> 4) + (char)((int)(uint)bVar3 >> 4)) * - '\x04' & 0xf0U | - (byte)((int)(((uint)bVar1 & 0xf) + - ((uint)*(byte *)((int)param_1 + iVar24) & 0xf) + - ((uint)bVar2 & 0xf) + ((uint)bVar3 & 0xf) + 1) >> 2) & - 0xf; - } while (iVar13 < (int)uStack12); - } - param_1 = (uint *)((int)param_1 + uStack12 * 2); - param_2 += uStack16; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16; - break; - case 6: - iVar24 = 0; - if (0 < param_4) { - do { - iVar14 = 0; - if (0 < (int)uStack12) { - do { - iVar18 = iVar14 >> 1; - bVar1 = *(byte *)(iVar18 + (int)param_1); - iVar22 = iVar13; - if (param_4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar2 = *(byte *)(iVar22 + iVar18 + (int)param_1); - bVar3 = ((byte *)(iVar18 + (int)param_1))[1]; - iVar22 = iVar13; - if (param_4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar4 = *(byte *)((int)param_1 + iVar22 + iVar18 + 1); - iVar22 = iVar14 >> 2; - iVar14 += 4; - *(byte *)(param_2 + iVar22) = - ((char)((int)(uint)bVar1 >> 5) + - ((byte)((int)(uint)bVar1 >> 1) & 7) + - (char)((int)(uint)bVar2 >> 5) + - ((byte)((int)(uint)bVar2 >> 1) & 7)) * '\b' & 0xe0 | - (byte)((int)(((int)(uint)bVar3 >> 5) + ((int)(uint)bVar3 >> 1 & 7U) - + ((int)(uint)bVar4 >> 5) + - ((int)(uint)bVar4 >> 1 & 7U)) >> 1) & 0xe | - (((byte)((int)(uint)bVar1 >> 4) & 1) + (bVar1 & 1) + - ((byte)((int)(uint)bVar2 >> 4) & 1) + (bVar2 & 1) + '\x01') * - '\x04' & 0x10 | - (byte)((int)(((int)(uint)bVar3 >> 4 & 1U) + ((uint)bVar3 & 1) + - ((int)(uint)bVar4 >> 4 & 1U) + ((uint)bVar4 & 1) + 1) - >> 2) & 1; - } while (iVar14 < (int)uStack12); - } - iVar24 += 2; - param_2 += iVar23; - param_1 = (uint *)((int)param_1 + uStack12); - } while (iVar24 < param_4); - } - iVar23 *= iVar15; - break; - case 7: - iVar23 = 0; - if (0 < param_4) { - do { - iVar13 = 0; - uVar21 = uStack12; - if (param_4 <= iVar23 + 1) { - uVar21 = 0; - } - iVar23 += 2; - if (0 < (int)uStack12) { - pbVar17 = (byte *)(uVar21 + (int)param_1); - puVar19 = param_1; - do { - iVar24 = iVar13; - if (iVar13 + 1 < param_3) { - iVar24 = iVar13 + 1; - } - bVar1 = *(byte *)puVar19; - bVar2 = *pbVar17; - iVar14 = iVar13 >> 1; - iVar13 += 2; - puVar19 = (uint *)((int)puVar19 + 2); - pbVar17 = pbVar17 + 2; - *(undefined *)(param_2 + iVar14) = - (char)((int)((uint)bVar1 + (uint)*(byte *)((int)param_1 + iVar24) + - (uint)bVar2 + - (uint)*(byte *)(uVar21 + iVar24 + (int)param_1) + 1) - >> 2); - } while (iVar13 < (int)uStack12); - } - param_1 = (uint *)((int)param_1 + uStack12 * 2); - param_2 += uStack16; - } while (iVar23 < param_4); - } - iVar23 = iVar15 * uStack16; - break; - case 8: - iVar24 = 0; - if (0 < param_4) { - do { - iVar14 = 0; - if (0 < (int)uStack12) { - do { - iVar18 = iVar14 >> 1; - bVar1 = *(byte *)(iVar18 + (int)param_1); - iVar22 = iVar13; - if (param_4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar2 = *(byte *)(iVar22 + iVar18 + (int)param_1); - bVar3 = ((byte *)(iVar18 + (int)param_1))[1]; - iVar22 = iVar13; - if (param_4 <= iVar24 + 1) { - iVar22 = 0; - } - bVar4 = *(byte *)((int)param_1 + iVar22 + iVar18 + 1); - iVar22 = iVar14 >> 2; - iVar14 += 4; - *(byte *)(param_2 + iVar22) = - ((char)((int)(uint)bVar1 >> 4) + (bVar1 & 0xf) + - (char)((int)(uint)bVar2 >> 4) + (bVar2 & 0xf)) * '\x04' & 0xf0 | - (byte)((int)(((int)(uint)bVar3 >> 4) + ((uint)bVar3 & 0xf) + - ((int)(uint)bVar4 >> 4) + ((uint)bVar4 & 0xf)) >> 2) & - 0xf; - } while (iVar14 < (int)uStack12); - } - iVar24 += 2; - param_2 += iVar23; - param_1 = (uint *)((int)param_1 + uStack12); - } while (iVar24 < param_4); - } - iVar23 *= iVar15; - } - } - else { - iVar23 = 0; - } - return iVar23; -} - - - -void generate_sample_table(int param_1,int param_2,ulonglong param_3) - -{ - bool bVar1; - bool bVar2; - uint uVar3; - ushort *puVar4; - ushort *puVar5; - ushort *puVar6; - ushort *puVar7; - ushort uVar8; - ulonglong uVar9; - ushort uVar11; - ulonglong uVar10; - ushort uVar12; - ulonglong uVar13; - int iVar15; - ushort uVar16; - ulonglong uVar14; - ushort uVar17; - int iVar18; - ushort *puVar19; - ulonglong uVar20; - ulonglong uVar21; - ushort uVar22; - int iStack12312; - int iStack12308; - ushort auStack12288 [6144]; - - bVar2 = false; - uVar20 = 0; - if (0 < (longlong)param_3) { - puVar19 = auStack12288 + 0x1000; - do { - uVar3 = proc_7F0CBF2C(8); - uVar20 = SEXT48((int)uVar20 + 1); - *puVar19 = (ushort)uVar3; - puVar19 = puVar19 + 1; - } while (uVar20 != param_3); - } - puVar19 = auStack12288; - do { - puVar4 = puVar19 + 2; - *puVar19 = 0xffff; - puVar19[1] = 0xffff; - puVar19 = puVar4; - } while (puVar4 < auStack12288 + 0x1000); - uVar12 = 9999; - uVar8 = 9999; - uVar20 = 0; - if (0 < (longlong)param_3) { - if ((param_3 & 1) != 0) { - if ((auStack12288[4096] < 9999) || (auStack12288[4096] < 9999)) { - iStack12312 = 0; - uVar8 = auStack12288[4096]; - } - uVar20 = 1; - if (param_3 == 1) goto LAB_7f0c9378; - } - puVar19 = auStack12288 + (int)uVar20 + 0x1000; - uVar9 = SEXT48(iStack12312); - uVar13 = SEXT48(iStack12308); - do { - uVar17 = *puVar19; - if (uVar17 < uVar12) { - uVar21 = uVar9; - uVar10 = uVar20; - uVar22 = uVar8; - if (uVar12 <= uVar8) { - uVar21 = uVar20; - uVar10 = uVar13; - uVar22 = uVar17; - uVar17 = uVar12; - } -LAB_7f0c9318: - uVar8 = uVar22; - uVar22 = puVar19[1]; - uVar9 = uVar21; - uVar13 = uVar10; - uVar12 = uVar17; - } - else { - bVar1 = uVar17 < uVar8; - uVar21 = uVar20; - uVar10 = uVar13; - uVar22 = uVar17; - uVar17 = uVar12; - if (bVar1) goto LAB_7f0c9318; - uVar22 = puVar19[1]; - } - iVar18 = (int)uVar20; - if (uVar22 < uVar12) { - if (uVar8 < uVar12) { - uVar13 = SEXT48(iVar18 + 1); - uVar12 = uVar22; - } - else { - uVar9 = SEXT48(iVar18 + 1); - uVar8 = uVar22; - } - } - else { - if (uVar22 < uVar8) { - uVar9 = SEXT48(iVar18 + 1); - uVar8 = uVar22; - } - } - iStack12308 = (int)uVar13; - iStack12312 = (int)uVar9; - uVar20 = SEXT48(iVar18 + 2); - puVar19 = puVar19 + 2; - } while (uVar20 != param_3); - } -LAB_7f0c9378: - uVar20 = SEXT48(iStack12312); - uVar9 = SEXT48(iStack12308); - puVar19 = auStack12288 + 0x1000; - do { - uVar13 = 0; - iVar15 = (int)uVar9; - puVar4 = puVar19 + iVar15; - puVar7 = puVar19 + iStack12312; - iVar18 = (int)uVar20; - uVar17 = (ushort)((uint)*puVar7 + (uint)*puVar4); - puVar6 = auStack12288 + iVar18 * 2; - puVar5 = auStack12288 + iVar15 * 2; - uVar12 = 9999; - uVar8 = 9999; - if ((uint)*puVar7 + (uint)*puVar4 == 0) { - uVar17 = 1; - } - uVar22 = *puVar5; - *puVar4 = 9999; - *puVar7 = 9999; - uVar11 = (ushort)uVar20; - uVar16 = (ushort)uVar9; - if ((short)uVar22 < 0) { - if (-1 < (short)auStack12288[iVar15 * 2 + 1]) { - uVar22 = *puVar6; - goto LAB_7f0c942c; - } - *puVar5 = uVar16 + 10000; - uVar22 = *puVar6; - *puVar4 = uVar17; - uVar21 = uVar9; - if (((short)uVar22 < 0) && ((short)auStack12288[iVar18 * 2 + 1] < 0)) { - auStack12288[iVar15 * 2 + 1] = uVar11 + 10000; - } - else { - auStack12288[iVar15 * 2 + 1] = uVar11; - } - } - else { - uVar22 = *puVar6; -LAB_7f0c942c: - if (((short)uVar22 < 0) && ((short)auStack12288[iVar18 * 2 + 1] < 0)) { - *puVar6 = uVar11 + 10000; - uVar22 = *puVar5; - *puVar7 = uVar17; - uVar21 = uVar20; - if (((short)uVar22 < 0) && ((short)auStack12288[iVar15 * 2 + 1] < 0)) { - auStack12288[iVar18 * 2 + 1] = uVar16 + 10000; - } - else { - auStack12288[iVar18 * 2 + 1] = uVar16; - } - } - else { - uVar21 = 0; - if (((short)auStack12288[0] < 0) && - ((auStack12288[1] < 0 && (0x270e < auStack12288[4096])))) { - iVar18 = 0; - puVar4 = auStack12288; - } - else { - uVar21 = 1; - while( true ) { - while( true ) { - while( true ) { - iVar18 = (int)uVar21; - puVar4 = auStack12288 + iVar18 * 2; - if ((short)*puVar4 < 0) break; - uVar21 = SEXT48(iVar18 + 1); - } - if ((short)auStack12288[iVar18 * 2 + 1] < 0) break; - uVar21 = SEXT48(iVar18 + 1); - } - if (0x270e < puVar19[iVar18]) break; - uVar21 = SEXT48(iVar18 + 1); - } - iVar18 <<= 1; - } - *(ushort *)((int)puVar19 + iVar18) = uVar17; - *puVar4 = uVar16; - puVar4[1] = uVar11; - } - } - if (0 < (longlong)param_3) { - if ((param_3 & 1) == 0) { - iVar18 = 0; - } - else { - uVar13 = 1; - if (auStack12288[4096] < 9999) { - uVar20 = 0; - uVar8 = auStack12288[4096]; - } - else { - if (auStack12288[4096] < 9999) { - uVar20 = 0; - uVar8 = auStack12288[4096]; - } - } - iVar18 = 2; - if (param_3 == 1) goto LAB_7f0c95fc; - } - puVar4 = (ushort *)((int)puVar19 + iVar18); - do { - uVar17 = *puVar4; - if (uVar17 < uVar12) { - uVar10 = uVar20; - uVar14 = uVar13; - uVar22 = uVar8; - if (uVar12 <= uVar8) { - uVar10 = uVar13; - uVar14 = uVar9; - uVar22 = uVar17; - uVar17 = uVar12; - } -LAB_7f0c95a4: - uVar11 = puVar4[1]; - uVar20 = uVar10; - uVar9 = uVar14; - uVar12 = uVar17; - uVar8 = uVar22; - } - else { - bVar1 = uVar17 < uVar8; - uVar10 = uVar13; - uVar14 = uVar9; - uVar22 = uVar17; - uVar17 = uVar12; - if (bVar1) goto LAB_7f0c95a4; - uVar11 = puVar4[1]; - } - iVar18 = (int)uVar13; - if (uVar11 < uVar12) { - if (uVar8 < uVar12) { - uVar9 = SEXT48(iVar18 + 1); - uVar12 = uVar11; - } - else { - uVar20 = SEXT48(iVar18 + 1); - uVar8 = uVar11; - } - } - else { - if (uVar11 < uVar8) { - uVar20 = SEXT48(iVar18 + 1); - uVar8 = uVar11; - } - } - uVar13 = SEXT48(iVar18 + 2); - puVar4 = puVar4 + 2; - } while (uVar13 != param_3); - } -LAB_7f0c95fc: - iVar18 = 0; - if (uVar12 == 9999) { - bVar2 = true; - } - else { - if (uVar8 == 9999) { - bVar2 = true; - } - } - if (bVar2) { - uVar20 = uVar21; - uVar8 = (ushort)uVar21; - if (0 < param_2) { - do { - while ((longlong)uVar20 < 10000) { - uVar3 = proc_7F0CBF2C(1); - iVar15 = (int)uVar20; - uVar20 = (longlong)(short)auStack12288[iVar15 * 2 + uVar3]; - uVar8 = auStack12288[iVar15 * 2 + uVar3]; - } - if ((longlong)param_3 < 0x101) { - *(char *)(param_1 + iVar18) = (char)uVar8 + -0x10; - } - else { - *(short *)(param_1 + iVar18 * 2) = uVar8 + 0xd8f0; - } - iVar18 += 1; - uVar20 = uVar21; - uVar8 = (ushort)uVar21; - } while (iVar18 != param_2); - } - return; - } - iStack12312 = (int)uVar20; - } while( true ); -} - - - -// WARNING: Instruction at (ram,0x7f0c97f8) overlaps instruction at (ram,0x7f0c97f4) -// - -void type4_7_9_getsamples(int param_1,int param_2) - -{ - undefined uVar1; - undefined2 uVar2; - uint bits; - uint bits_00; - uint bits_01; - uint uVar3; - undefined *puVar4; - undefined *puVar5; - undefined2 *puVar6; - undefined2 *puVar7; - undefined2 *puVar8; - int iVar9; - int iVar10; - int iVar11; - int iVar12; - undefined *puVar13; - undefined2 *puVar14; - int iVar15; - int iVar16; - - bits = proc_7F0CBF2C(3); - bits_00 = proc_7F0CBF2C(3); - bits_01 = proc_7F0CBF2C(4); - iVar16 = 0; - iVar9 = bits + bits_00 + bits_01 + 1; - while (0 < iVar9) { - iVar9 = (iVar9 - bits_01) + -1; - iVar16 += 1; - } - iVar9 = 0; - if (0 < param_2) { - do { - uVar3 = proc_7F0CBF2C(1); - if (uVar3 == 0) { - if ((int)bits_01 < 9) { - uVar3 = proc_7F0CBF2C(bits_01); - *(undefined *)(param_1 + iVar9) = (char)uVar3; - iVar9 += 1; - } - else { - uVar3 = proc_7F0CBF2C(bits_01); - *(undefined2 *)(param_1 + iVar9 * 2) = (short)uVar3; - iVar9 += 1; - } - } - else { - uVar3 = proc_7F0CBF2C(bits); - iVar15 = (iVar9 - uVar3) + -1; - uVar3 = proc_7F0CBF2C(bits_00); - iVar11 = uVar3 + iVar16; - if ((int)bits_01 < 9) { - iVar12 = iVar15 + iVar11; - puVar13 = (undefined *)(param_1 + iVar9); - if (iVar15 < iVar12) { - uVar3 = iVar12 - iVar15 & 3; - iVar10 = iVar15; - if (uVar3 != 0) { - puVar4 = (undefined *)(param_1 + iVar15); - puVar5 = puVar13; - do { - uVar1 = *puVar4; - iVar10 += 1; - iVar9 += 1; - puVar13 = puVar5 + 1; - puVar4 = puVar4 + 1; - *puVar5 = uVar1; - puVar5 = puVar13; - } while (uVar3 + iVar15 != iVar10); - if (iVar10 == iVar12) goto LAB_7f0c9834; - } - puVar5 = (undefined *)(param_1 + iVar10); - puVar4 = puVar13; - do { - iVar10 += 4; - iVar9 += 4; - *puVar4 = *puVar5; - puVar13 = puVar4 + 4; - puVar4[1] = puVar5[1]; - puVar4[2] = puVar5[2]; - puVar4[3] = puVar5[3]; - puVar5 = puVar5 + 4; - puVar4 = puVar13; - } while (iVar10 != iVar15 + iVar11); - } -LAB_7f0c9834: - uVar3 = proc_7F0CBF2C(bits_01); - *puVar13 = (char)uVar3; - iVar9 += 1; - } - else { - iVar12 = iVar15 + iVar11; - puVar14 = (undefined2 *)(param_1 + iVar9 * 2); - if (iVar15 < iVar12) { - uVar3 = iVar12 - iVar15 & 3; - iVar10 = iVar15; - if (uVar3 != 0) { - puVar6 = (undefined2 *)(param_1 + iVar15 * 2); - puVar7 = puVar14; - do { - uVar2 = *puVar6; - iVar10 += 1; - iVar9 += 1; - puVar14 = puVar7 + 1; - puVar6 = puVar6 + 1; - *puVar7 = uVar2; - puVar7 = puVar14; - } while (uVar3 + iVar15 != iVar10); - if (iVar10 == iVar12) goto LAB_7f0c98dc; - } - puVar7 = (undefined2 *)(param_1 + iVar10 * 2); - puVar6 = puVar14; - do { - puVar8 = puVar7 + 4; - iVar9 += 4; - *puVar6 = *puVar7; - puVar14 = puVar6 + 4; - puVar6[1] = puVar7[1]; - puVar6[2] = puVar7[2]; - puVar6[3] = puVar7[3]; - puVar7 = puVar8; - puVar6 = puVar14; - } while (puVar8 != (undefined2 *)((iVar15 + iVar11) * 2 + param_1)); - } -LAB_7f0c98dc: - uVar3 = proc_7F0CBF2C(bits_01); - *puVar14 = (short)uVar3; - iVar9 += 1; - } - } - } while (iVar9 < param_2); - } - return; -} - - - -uint type5_6_7_getsamples(uint *param_1,longlong param_2) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - uint bits; - uint uVar4; - - uVar1 = proc_7F0CBF2C(0xb); - bits = (uint)param_2; - if (param_2 < 0x11) { - uVar4 = 0; - if (0 < (int)uVar1) { - do { - uVar2 = proc_7F0CBF2C(bits); - uVar4 += 1; - *(short *)param_1 = (short)uVar2; - param_1 = (uint *)((int)param_1 + 2); - } while (uVar4 != uVar1); - } - } - else { - if (param_2 < 0x19) { - uVar4 = 0; - if (0 < (int)uVar1) { - do { - uVar2 = proc_7F0CBF2C(bits); - uVar4 += 1; - *param_1 = uVar2; - param_1 = param_1 + 1; - } while (uVar4 != uVar1); - } - } - else { - uVar4 = 0; - if (0 < (int)uVar1) { - do { - uVar2 = proc_7F0CBF2C(0x18); - uVar3 = proc_7F0CBF2C(bits - 0x18); - uVar4 += 1; - *param_1 = uVar3 | uVar2 << 8; - param_1 = param_1 + 1; - } while (uVar4 != uVar1); - } - } - } - return uVar1; -} - - - -int proc_7F0C9A24(int param_1) - -{ - int iVar1; - - param_1 += -1; - iVar1 = 0; - while (0 < param_1) { - param_1 >>= 1; - iVar1 += 1; - } - return iVar1; -} - - - -void image_get_alpha_values(undefined *param_1,int param_2) - -{ - uint uVar1; - int iVar2; - - iVar2 = 0; - if (0 < param_2) { - do { - uVar1 = proc_7F0CBF2C(1); - iVar2 += 1; - *param_1 = (char)uVar1; - param_1 = param_1 + 1; - } while (iVar2 != param_2); - } - return; -} - - - -// WARNING: Unknown calling convention yet parameter storage is locked - -undefined8 image_compression0_expand(void) - -{ - undefined8 uVar1; - undefined4 in_a3_hi; - int in_a3_lo; - - if (CONCAT44(in_a3_hi,in_a3_lo) < 9) { - // WARNING: Could not recover jumptable at 0x7f0c9b04. Too many branches - // WARNING: Treating indirect jump as call - uVar1 = (*(code *)(&jpt_700FDA34)[in_a3_lo])(); - return uVar1; - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f0ca6dc) overlaps instruction at (ram,0x7f0ca6d8) -// - -int generate_link_final_image(int param_1,uint param_2,int param_3,uint *param_4,undefined4 param_5) - -{ - undefined *puVar1; - byte bVar2; - undefined uVar3; - char cVar4; - undefined *puVar5; - char *pcVar6; - byte *pbVar7; - char *pcVar8; - uint uVar9; - int iVar10; - int iVar11; - int iVar12; - uint *puVar13; - ushort *puVar14; - undefined2 *puVar15; - undefined *puVar16; - byte *pbVar17; - byte *pbVar18; - byte *pbVar19; - int iVar20; - - iVar12 = 0; - switch(param_5) { - case 0: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - iVar10 = param_2 * param_3; - pbVar17 = (byte *)(param_1 + iVar12); - pbVar19 = (byte *)(param_1 + iVar12 + iVar10 * 2); - pbVar7 = (byte *)(iVar10 * 3 + iVar12 + param_1); - pbVar18 = (byte *)(param_1 + iVar12 + iVar10); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - bVar2 = *pbVar17; - uVar9 += 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - *puVar13 = (uint)*pbVar7 | (uint)bVar2 << 0x18 | (uint)*pbVar18 << 0x10 - | (uint)*pbVar19 << 8; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - pbVar19 = pbVar19 + 1; - puVar13 = puVar13 + 1; - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 4; - if (uVar9 == param_2) goto LAB_7f0c9f80; - } - puVar13 = (uint *)((int)param_4 + iVar10); - do { - uVar9 += 4; - iVar12 += 4; - *puVar13 = (uint)*pbVar7 | (uint)*pbVar17 << 0x18 | (uint)*pbVar18 << 0x10 | - (uint)*pbVar19 << 8; - puVar13[1] = (uint)pbVar7[1] | (uint)pbVar17[1] << 0x18 | - (uint)pbVar18[1] << 0x10 | (uint)pbVar19[1] << 8; - puVar13[2] = (uint)pbVar7[2] | (uint)pbVar17[2] << 0x18 | - (uint)pbVar18[2] << 0x10 | (uint)pbVar19[2] << 8; - puVar13[3] = (uint)pbVar7[3] | (uint)pbVar17[3] << 0x18 | - (uint)pbVar18[3] << 0x10 | (uint)pbVar19[3] << 8; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - pbVar18 = pbVar18 + 4; - pbVar19 = pbVar19 + 4; - puVar13 = puVar13 + 4; - } while (uVar9 != param_2); - } -LAB_7f0c9f80: - iVar11 += 1; - param_4 = param_4 + (param_2 + 3 & 0xffc); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 4; - break; - case 1: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - iVar10 = param_2 * param_3; - pbVar17 = (byte *)(param_1 + iVar12); - pbVar19 = (byte *)(param_1 + iVar12 + iVar10 * 2); - pbVar7 = (byte *)(iVar10 * 3 + iVar12 + param_1); - pbVar18 = (byte *)(param_1 + iVar12 + iVar10); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - bVar2 = *pbVar17; - uVar9 += 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - *(ushort *)puVar13 = - (ushort)*pbVar7 | (ushort)bVar2 << 0xb | (ushort)*pbVar18 << 6 | - (ushort)*pbVar19 << 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - pbVar19 = pbVar19 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == param_2) goto LAB_7f0ca2c0; - } - puVar14 = (ushort *)((int)param_4 + iVar10); - do { - uVar9 += 4; - iVar12 += 4; - *puVar14 = (ushort)*pbVar7 | (ushort)*pbVar17 << 0xb | (ushort)*pbVar18 << 6 - | (ushort)*pbVar19 << 1; - puVar14[1] = (ushort)pbVar7[1] | (ushort)pbVar17[1] << 0xb | - (ushort)pbVar18[1] << 6 | (ushort)pbVar19[1] << 1; - puVar14[2] = (ushort)pbVar7[2] | (ushort)pbVar17[2] << 0xb | - (ushort)pbVar18[2] << 6 | (ushort)pbVar19[2] << 1; - puVar14[3] = (ushort)pbVar7[3] | (ushort)pbVar17[3] << 0xb | - (ushort)pbVar18[3] << 6 | (ushort)pbVar19[3] << 1; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - pbVar18 = pbVar18 + 4; - pbVar19 = pbVar19 + 4; - puVar14 = puVar14 + 4; - } while (uVar9 != param_2); - } -LAB_7f0ca2c0: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 2: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - pbVar17 = (byte *)(param_1 + iVar12); - pbVar18 = (byte *)(param_2 * param_3 * 2 + iVar12 + param_1); - pbVar7 = (byte *)(param_1 + iVar12 + param_2 * param_3); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *puVar13 = (uint)*pbVar18 << 8 | (uint)*pbVar17 << 0x18 | - (uint)*pbVar7 << 0x10 | 0xff; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - puVar13 = puVar13 + 1; - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 4; - if (uVar9 == param_2) goto LAB_7f0ca10c; - } - puVar13 = (uint *)((int)param_4 + iVar10); - do { - uVar9 += 4; - *puVar13 = (uint)*pbVar18 << 8 | (uint)*pbVar17 << 0x18 | - (uint)*pbVar7 << 0x10 | 0xff; - iVar12 += 4; - puVar13[1] = (uint)pbVar18[1] << 8 | (uint)pbVar17[1] << 0x18 | - (uint)pbVar7[1] << 0x10 | 0xff; - puVar13[2] = (uint)pbVar18[2] << 8 | (uint)pbVar17[2] << 0x18 | - (uint)pbVar7[2] << 0x10 | 0xff; - puVar13[3] = (uint)pbVar18[3] << 8 | (uint)pbVar17[3] << 0x18 | - (uint)pbVar7[3] << 0x10 | 0xff; - pbVar18 = pbVar18 + 4; - puVar13 = puVar13 + 4; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - } while (uVar9 != param_2); - } -LAB_7f0ca10c: - iVar11 += 1; - param_4 = param_4 + (param_2 + 3 & 0xffc); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 4; - break; - case 3: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - pbVar17 = (byte *)(param_1 + iVar12); - pbVar18 = (byte *)(param_2 * param_3 * 2 + iVar12 + param_1); - pbVar7 = (byte *)(param_1 + iVar12 + param_2 * param_3); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *(ushort *)puVar13 = - (ushort)*pbVar18 << 1 | (ushort)*pbVar17 << 0xb | - (ushort)*pbVar7 << 6 | 1; - iVar12 += 1; - pbVar17 = pbVar17 + 1; - pbVar7 = pbVar7 + 1; - pbVar18 = pbVar18 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == param_2) goto LAB_7f0ca560; - } - puVar14 = (ushort *)((int)param_4 + iVar10); - do { - uVar9 += 4; - *puVar14 = (ushort)*pbVar18 << 1 | (ushort)*pbVar17 << 0xb | - (ushort)*pbVar7 << 6 | 1; - iVar12 += 4; - puVar14[1] = (ushort)pbVar18[1] << 1 | (ushort)pbVar17[1] << 0xb | - (ushort)pbVar7[1] << 6 | 1; - puVar14[2] = (ushort)pbVar18[2] << 1 | (ushort)pbVar17[2] << 0xb | - (ushort)pbVar7[2] << 6 | 1; - puVar14[3] = (ushort)pbVar18[3] << 1 | (ushort)pbVar17[3] << 0xb | - (ushort)pbVar7[3] << 6 | 1; - pbVar18 = pbVar18 + 4; - puVar14 = puVar14 + 4; - pbVar17 = pbVar17 + 4; - pbVar7 = pbVar7 + 4; - } while (uVar9 != param_2); - } -LAB_7f0ca560: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 4: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - puVar5 = (undefined *)(param_1 + iVar12); - puVar16 = (undefined *)(iVar12 + param_2 * param_3 + param_1); - puVar13 = param_4; - if ((param_2 & 3) == 0) { - iVar10 = 0; - } - else { - do { - uVar9 += 1; - *(ushort *)puVar13 = CONCAT11(*puVar5,*puVar16); - iVar12 += 1; - puVar5 = puVar5 + 1; - puVar16 = puVar16 + 1; - puVar13 = (uint *)((int)puVar13 + 2); - } while ((param_2 & 3) != uVar9); - iVar10 = uVar9 * 2; - if (uVar9 == param_2) goto LAB_7f0ca3d4; - } - puVar15 = (undefined2 *)((int)param_4 + iVar10); - do { - uVar9 += 4; - *puVar15 = CONCAT11(*puVar5,*puVar16); - iVar12 += 4; - puVar15[1] = CONCAT11(puVar5[1],puVar16[1]); - puVar15[2] = CONCAT11(puVar5[2],puVar16[2]); - puVar1 = puVar16 + 3; - puVar16 = puVar16 + 4; - puVar15[3] = CONCAT11(puVar5[3],*puVar1); - puVar15 = puVar15 + 4; - puVar5 = puVar5 + 4; - } while (uVar9 != param_2); - } -LAB_7f0ca3d4: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 5: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - pcVar6 = (char *)(param_1 + iVar12); - pbVar17 = (byte *)(iVar12 + param_2 * param_3 + param_1); - puVar13 = param_4; - if ((param_2 & 3) != 0) { - do { - uVar9 += 1; - *(byte *)puVar13 = *pbVar17 | *pcVar6 << 4; - iVar12 += 1; - pcVar6 = pcVar6 + 1; - pbVar17 = pbVar17 + 1; - puVar13 = (uint *)((int)puVar13 + 1); - } while ((param_2 & 3) != uVar9); - puVar13 = (uint *)((int)param_4 + uVar9); - if (uVar9 == param_2) goto LAB_7f0ca668; - } - do { - uVar9 += 4; - *(byte *)puVar13 = *pbVar17 | *pcVar6 << 4; - iVar12 += 4; - *(byte *)((int)puVar13 + 1) = pbVar17[1] | pcVar6[1] << 4; - *(byte *)((int)puVar13 + 2) = pbVar17[2] | pcVar6[2] << 4; - pbVar7 = pbVar17 + 3; - pbVar17 = pbVar17 + 4; - *(byte *)((int)puVar13 + 3) = *pbVar7 | pcVar6[3] << 4; - pcVar6 = pcVar6 + 4; - puVar13 = puVar13 + 1; - } while (uVar9 != param_2); - } -LAB_7f0ca668: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 7 & 0xff8)); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 7 & 0xff8) * param_3; - break; - case 6: - iVar11 = 0; - if (0 < param_3) { - do { - iVar10 = 0; - if (0 < (int)param_2) { - pcVar8 = (char *)(param_2 * param_3 * 3 + iVar12 + param_1); - pcVar6 = (char *)(param_1 + iVar12); - do { - pbVar17 = (byte *)(pcVar8 + 1); - iVar12 += 2; - cVar4 = *pcVar8; - pcVar8 = pcVar8 + 2; - iVar20 = iVar10 >> 1; - iVar10 += 2; - *(byte *)((int)param_4 + iVar20) = - *pbVar17 | *pcVar6 << 5 | cVar4 << 4 | pcVar6[1] << 1; - pcVar6 = pcVar6 + 2; - } while (iVar10 < (int)param_2); - } - iVar11 += 1; - if ((param_2 & 1) != 0) { - iVar12 += -1; - } - param_4 = (uint *)((int)param_4 + (param_2 + 0xf & 0xff0)); - } while (iVar11 != param_3); - } - param_3 = ((int)(param_2 + 0xf & 0xff0) >> 1) * param_3; - break; - case 7: - iVar11 = 0; - if (0 < param_3) { - do { - uVar9 = 0; - if (0 < (int)param_2) { - puVar5 = (undefined *)(param_1 + iVar12); - puVar13 = param_4; - if ((param_2 & 3) != 0) { - do { - uVar3 = *puVar5; - uVar9 += 1; - iVar12 += 1; - puVar5 = puVar5 + 1; - *(undefined *)puVar13 = uVar3; - puVar13 = (uint *)((int)puVar13 + 1); - } while ((param_2 & 3) != uVar9); - puVar13 = (uint *)((int)param_4 + uVar9); - if (uVar9 == param_2) goto LAB_7f0ca714; - } - do { - uVar9 += 4; - iVar12 += 4; - *(undefined *)puVar13 = *puVar5; - *(undefined *)((int)puVar13 + 1) = puVar5[1]; - *(undefined *)((int)puVar13 + 2) = puVar5[2]; - *(undefined *)((int)puVar13 + 3) = puVar5[3]; - puVar5 = puVar5 + 4; - puVar13 = puVar13 + 1; - } while (uVar9 != param_2); - } -LAB_7f0ca714: - iVar11 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 7 & 0xff8)); - } while (iVar11 != param_3); - } - param_3 = (param_2 + 7 & 0xff8) * param_3; - break; - case 8: - iVar11 = 0; - if (0 < param_3) { - do { - iVar10 = 0; - if (0 < (int)param_2) { - pcVar6 = (char *)(param_1 + iVar12); - do { - iVar12 += 2; - iVar20 = iVar10 >> 1; - iVar10 += 2; - *(byte *)((int)param_4 + iVar20) = pcVar6[1] | *pcVar6 << 4; - pcVar6 = pcVar6 + 2; - } while (iVar10 < (int)param_2); - } - iVar11 += 1; - if ((param_2 & 1) != 0) { - iVar12 += -1; - } - param_4 = (uint *)((int)param_4 + ((int)(param_2 + 0xf & 0xff0) >> 1)); - } while (iVar11 != param_3); - } - param_3 = ((int)(param_2 + 0xf & 0xff0) >> 1) * param_3; - break; - default: - param_3 = 0; - } - return param_3; -} - - - -int type5_generate_link_final_image - (int param_1,int param_2,int *param_3,int param_4,int param_5,undefined4 param_6) - -{ - uint bits; - uint uVar1; - int iVar2; - int *piVar3; - byte *pbVar4; - int iVar5; - - bits = proc_7F0C9A24(param_5); - iVar5 = 0; - switch(param_6) { - case 0: - iVar5 = 0; - if (0 < param_2) { - do { - iVar2 = 0; - piVar3 = param_3; - if (0 < param_1) { - do { - uVar1 = proc_7F0CBF2C(bits); - iVar2 += 1; - *piVar3 = *(int *)(param_4 + uVar1 * 4); - piVar3 = piVar3 + 1; - } while (iVar2 != param_1); - } - iVar5 += 1; - param_3 = param_3 + (param_1 + 3U & 0xffc); - } while (iVar5 != param_2); - } - iVar5 = (param_1 + 3U & 0xffc) * param_2 * 4; - break; - case 1: - case 4: - iVar5 = 0; - if (0 < param_2) { - do { - iVar2 = 0; - piVar3 = param_3; - if (0 < param_1) { - do { - uVar1 = proc_7F0CBF2C(bits); - iVar2 += 1; - *(undefined2 *)piVar3 = *(undefined2 *)(param_4 + uVar1 * 2); - piVar3 = (int *)((int)piVar3 + 2); - } while (iVar2 != param_1); - } - iVar5 += 1; - param_3 = (int *)((int)param_3 + (param_1 + 3U & 0xffc) * 2); - } while (iVar5 != param_2); - } - iVar5 = (param_1 + 3U & 0xffc) * param_2 * 2; - break; - case 2: - iVar5 = 0; - if (0 < param_2) { - do { - iVar2 = 0; - piVar3 = param_3; - if (0 < param_1) { - do { - uVar1 = proc_7F0CBF2C(bits); - iVar2 += 1; - *piVar3 = *(int *)(param_4 + uVar1 * 4) << 8; - piVar3 = piVar3 + 1; - } while (iVar2 != param_1); - } - iVar5 += 1; - param_3 = param_3 + (param_1 + 3U & 0xffc); - } while (iVar5 != param_2); - } - iVar5 = (param_1 + 3U & 0xffc) * param_2 * 4; - break; - case 3: - iVar5 = 0; - if (0 < param_2) { - do { - iVar2 = 0; - piVar3 = param_3; - if (0 < param_1) { - do { - uVar1 = proc_7F0CBF2C(bits); - iVar2 += 1; - *(ushort *)piVar3 = *(short *)(param_4 + uVar1 * 2) << 1 | 1; - piVar3 = (int *)((int)piVar3 + 2); - } while (iVar2 != param_1); - } - iVar5 += 1; - param_3 = (int *)((int)param_3 + (param_1 + 3U & 0xffc) * 2); - } while (iVar5 != param_2); - } - iVar5 = (param_1 + 3U & 0xffc) * param_2 * 2; - break; - case 5: - case 7: - iVar5 = 0; - if (0 < param_2) { - do { - iVar2 = 0; - piVar3 = param_3; - if (0 < param_1) { - do { - uVar1 = proc_7F0CBF2C(bits); - iVar2 += 1; - *(char *)piVar3 = (char)*(undefined2 *)(param_4 + uVar1 * 2); - piVar3 = (int *)((int)piVar3 + 1); - } while (iVar2 != param_1); - } - iVar5 += 1; - param_3 = (int *)((int)param_3 + (param_1 + 7U & 0xff8)); - } while (iVar5 != param_2); - } - iVar5 = (param_1 + 7U & 0xff8) * param_2; - break; - case 6: - case 8: - iVar5 = 0; - if (0 < param_2) { - do { - iVar2 = 0; - if (0 < param_1) { - do { - uVar1 = proc_7F0CBF2C(bits); - pbVar4 = (byte *)((int)param_3 + (iVar2 >> 1)); - *pbVar4 = (char)*(undefined2 *)(param_4 + uVar1 * 2) << 4; - if (iVar2 + 1 < param_1) { - uVar1 = proc_7F0CBF2C(bits); - *pbVar4 = *pbVar4 | *(byte *)(param_4 + uVar1 * 2 + 1); - } - iVar2 += 2; - } while (iVar2 < param_1); - } - iVar5 += 1; - param_3 = (int *)((int)param_3 + ((int)(param_1 + 0xfU & 0xff0) >> 1)); - } while (iVar5 != param_2); - } - iVar5 = ((int)(param_1 + 0xfU & 0xff0) >> 1) * param_2; - } - return iVar5; -} - - - -// WARNING: Instruction at (ram,0x7f0cb448) overlaps instruction at (ram,0x7f0cb444) -// - -int type6_7_generate_link_final_image - (ushort *param_1,uint param_2,int param_3,uint *param_4,int param_5,int param_6, - undefined4 param_7) - -{ - uint uVar1; - int iVar2; - ushort *puVar3; - int iVar4; - uint *puVar5; - undefined4 *puVar6; - undefined2 *puVar7; - ushort *puVar8; - ushort *puStack24; - ushort *puStack20; - - puVar3 = param_1; - if (param_6 < 0x101) { - puVar3 = puStack24; - puStack20 = param_1; - } - iVar4 = 0; - switch(param_7) { - case 0: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - puVar5 = param_4; - if ((param_2 & 3) == 0) { - iVar2 = 0; - } - else { - do { - if (param_6 < 0x101) { - *puVar5 = *(uint *)(param_5 + - (uint)*(byte *)((int)puStack20 + uVar1) * 4); - } - else { - *puVar5 = *(uint *)(param_5 + (uint)puVar3[uVar1] * 4); - } - uVar1 += 1; - puVar5 = puVar5 + 1; - } while ((param_2 & 3) != uVar1); - iVar2 = uVar1 * 4; - if (uVar1 == param_2) goto LAB_7f0cae60; - } - puVar6 = (undefined4 *)((int)param_4 + iVar2); - do { - if (param_6 < 0x101) { - *puVar6 = *(undefined4 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4); - puVar6[1] = *(undefined4 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 4) - ; - puVar6[2] = *(undefined4 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 4) - ; - puVar6[3] = *(undefined4 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 4) - ; - } - else { - *puVar6 = *(undefined4 *)(param_5 + (uint)puVar3[uVar1] * 4); - puVar6[1] = *(undefined4 *)(param_5 + (uint)puVar3[uVar1 + 1] * 4); - puVar6[2] = *(undefined4 *)(param_5 + (uint)puVar3[uVar1 + 2] * 4); - puVar6[3] = *(undefined4 *)(param_5 + (uint)puVar3[uVar1 + 3] * 4); - } - uVar1 += 4; - puVar6 = puVar6 + 4; - } while (uVar1 != param_2); - } -LAB_7f0cae60: - iVar4 += 1; - param_4 = param_4 + (param_2 + 3 & 0xffc); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 3 & 0xffc) * param_3 * 4; - break; - case 1: - case 4: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - if ((param_2 & 3) == 0) { - iVar2 = 0; - } - else { - iVar2 = 0; - puVar5 = param_4; - do { - if (param_6 < 0x101) { - *(undefined2 *)puVar5 = - *(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - } - else { - *(undefined2 *)puVar5 = - *(undefined2 *) - (param_5 + (uint)*(ushort *)((int)puVar3 + iVar2) * 2); - } - uVar1 += 1; - iVar2 += 2; - puVar5 = (uint *)((int)puVar5 + 2); - } while ((param_2 & 3) != uVar1); - iVar2 = uVar1 * 2; - if (uVar1 == param_2) goto LAB_7f0cb23c; - } - puVar7 = (undefined2 *)((int)param_4 + iVar2); - do { - if (param_6 < 0x101) { - *puVar7 = *(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - puVar7[1] = *(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2) - ; - puVar7[2] = *(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 2) - ; - puVar7[3] = *(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 2) - ; - } - else { - *puVar7 = *(undefined2 *) - (param_5 + (uint)*(ushort *)((int)puVar3 + iVar2) * 2); - puVar7[1] = *(undefined2 *) - (param_5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 2) * 2); - puVar7[2] = *(undefined2 *) - (param_5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 4) * 2); - puVar7[3] = *(undefined2 *) - (param_5 + (uint)*(ushort *)((int)puVar3 + iVar2 + 6) * 2); - } - uVar1 += 4; - iVar2 += 8; - puVar7 = puVar7 + 4; - } while (uVar1 != param_2); - } -LAB_7f0cb23c: - iVar4 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 2: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - puVar5 = param_4; - if ((param_2 & 3) == 0) { - iVar2 = 0; - } - else { - do { - if (param_6 < 0x101) { - *puVar5 = *(int *)(param_5 + - (uint)*(byte *)((int)puStack20 + uVar1) * 4) << 8 - | 0xff; - } - else { - *puVar5 = *(int *)(param_5 + (uint)puVar3[uVar1] * 4) << 8 | 0xff; - } - uVar1 += 1; - puVar5 = puVar5 + 1; - } while ((param_2 & 3) != uVar1); - iVar2 = uVar1 * 4; - if (uVar1 == param_2) goto LAB_7f0cb07c; - } - puVar5 = (uint *)((int)param_4 + iVar2); - do { - if (param_6 < 0x101) { - *puVar5 = *(int *)(param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 4 - ) << 8 | 0xff; - puVar5[1] = *(int *)(param_5 + - (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 4) << - 8 | 0xff; - puVar5[2] = *(int *)(param_5 + - (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 4) << - 8 | 0xff; - puVar5[3] = *(int *)(param_5 + - (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 4) << - 8 | 0xff; - } - else { - *puVar5 = *(int *)(param_5 + (uint)puVar3[uVar1] * 4) << 8 | 0xff; - puVar5[1] = *(int *)(param_5 + (uint)puVar3[uVar1 + 1] * 4) << 8 | 0xff; - puVar5[2] = *(int *)(param_5 + (uint)puVar3[uVar1 + 2] * 4) << 8 | 0xff; - puVar5[3] = *(int *)(param_5 + (uint)puVar3[uVar1 + 3] * 4) << 8 | 0xff; - } - uVar1 += 4; - puVar5 = puVar5 + 4; - } while (uVar1 != param_2); - } -LAB_7f0cb07c: - iVar4 += 1; - param_4 = param_4 + (param_2 + 3 & 0xffc); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 3 & 0xffc) * param_3 * 4; - break; - case 3: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - if ((param_2 & 1) == 0) { - iVar2 = 0; - } - else { - uVar1 = 1; - if (param_6 < 0x101) { - *(ushort *)param_4 = - *(short *)(param_5 + (uint)*(byte *)puStack20 * 2) << 1 | 1; - } - else { - *(ushort *)param_4 = *(short *)(param_5 + (uint)*puVar3 * 2) << 1 | 1; - } - iVar2 = 2; - if (param_2 == 1) goto LAB_7f0cb394; - } - puVar8 = (ushort *)((int)param_4 + iVar2); - do { - if (param_6 < 0x101) { - *puVar8 = *(short *)(param_5 + - (uint)*(byte *)((int)puStack20 + uVar1) * 2) << 1 | - 1; - puVar8[1] = *(short *)(param_5 + - (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2) - << 1 | 1; - } - else { - *puVar8 = *(short *)(param_5 + - (uint)*(ushort *)((int)puVar3 + iVar2) * 2) << 1 | 1 - ; - puVar8[1] = *(short *)(param_5 + - (uint)*(ushort *)((int)puVar3 + iVar2 + 2) * 2) << - 1 | 1; - } - uVar1 += 2; - iVar2 += 4; - puVar8 = puVar8 + 2; - } while (uVar1 != param_2); - } -LAB_7f0cb394: - iVar4 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 3 & 0xffc) * 2); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 3 & 0xffc) * param_3 * 2; - break; - case 5: - case 7: - iVar4 = 0; - if (0 < param_3) { - do { - uVar1 = 0; - if (0 < (int)param_2) { - puVar5 = param_4; - if ((param_2 & 3) != 0) { - do { - if (param_6 < 0x101) { - *(char *)puVar5 = - (char)*(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - } - else { - *(char *)puVar5 = - (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1] * 2); - } - uVar1 += 1; - puVar5 = (uint *)((int)puVar5 + 1); - } while ((param_2 & 3) != uVar1); - puVar5 = (uint *)((int)param_4 + uVar1); - if (uVar1 == param_2) goto LAB_7f0cb558; - } - do { - if (param_6 < 0x101) { - *(char *)puVar5 = - (char)*(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1) * 2); - *(undefined *)((int)puVar5 + 1) = - (char)*(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 1) * 2); - *(undefined *)((int)puVar5 + 2) = - (char)*(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 2) * 2); - *(undefined *)((int)puVar5 + 3) = - (char)*(undefined2 *) - (param_5 + (uint)*(byte *)((int)puStack20 + uVar1 + 3) * 2); - } - else { - *(char *)puVar5 = - (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1] * 2); - *(undefined *)((int)puVar5 + 1) = - (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1 + 1] * 2); - *(undefined *)((int)puVar5 + 2) = - (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1 + 2] * 2); - *(undefined *)((int)puVar5 + 3) = - (char)*(undefined2 *)(param_5 + (uint)puVar3[uVar1 + 3] * 2); - } - uVar1 += 4; - puVar5 = puVar5 + 1; - } while (uVar1 != param_2); - } -LAB_7f0cb558: - iVar4 += 1; - param_4 = (uint *)((int)param_4 + (param_2 + 7 & 0xff8)); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = (param_2 + 7 & 0xff8) * param_3; - break; - case 6: - case 8: - iVar4 = 0; - if (0 < param_3) { - do { - iVar2 = 0; - if (0 < (int)param_2) { - do { - if (param_6 < 0x101) { - *(byte *)((int)param_4 + (iVar2 >> 1)) = - (byte)*(undefined2 *) - (param_5 + (uint)((byte *)(iVar2 + (int)puStack20))[1] * 2) - | (char)*(undefined2 *) - (param_5 + (uint)*(byte *)(iVar2 + (int)puStack20) * 2) << - 4; - } - else { - *(byte *)((int)param_4 + (iVar2 >> 1)) = - (byte)*(undefined2 *)(param_5 + (uint)(puVar3 + iVar2)[1] * 2) | - (char)*(undefined2 *)(param_5 + (uint)puVar3[iVar2] * 2) << 4; - } - iVar2 += 2; - } while (iVar2 < (int)param_2); - } - iVar4 += 1; - param_4 = (uint *)((int)param_4 + ((int)(param_2 + 0xf & 0xff0) >> 1)); - puStack20 = (ushort *)((int)puStack20 + param_2); - puVar3 = puVar3 + param_2; - } while (iVar4 != param_3); - } - iVar4 = ((int)(param_2 + 0xf & 0xff0) >> 1) * param_3; - } - return iVar4; -} - - - -// WARNING: Instruction at (ram,0x7f0cb718) overlaps instruction at (ram,0x7f0cb714) -// - -void proc_7F0CB67C(int param_1,int param_2,int param_3,int param_4) - -{ - undefined4 uVar1; - undefined4 uVar2; - undefined4 *puVar3; - int iVar4; - int iVar5; - undefined4 *puVar6; - uint uStack12; - - switch(param_4) { - case 0: - case 2: - uStack12 = param_2 + 3U & 0xffc; - break; - case 1: - case 3: - case 4: - uStack12 = (int)(param_2 + 3U & 0xffc) >> 1; - break; - case 5: - case 7: - case 9: - case 0xb: - uStack12 = (int)(param_2 + 7U & 0xff8) >> 2; - break; - case 6: - case 8: - case 10: - case 0xc: - uStack12 = (int)(param_2 + 0xfU & 0xff0) >> 3; - } - puVar3 = (undefined4 *)(param_1 + uStack12 * 4); - if ((param_4 == 0) || (param_4 == 2)) { - iVar4 = 1; - if (1 < param_3) { - do { - iVar5 = 0; - puVar6 = puVar3; - if (0 < (int)uStack12) { - do { - uVar1 = puVar6[2]; - puVar6[2] = *puVar6; - uVar2 = puVar6[1]; - iVar5 += 4; - *puVar6 = uVar1; - puVar6[1] = puVar6[3]; - puVar6[3] = uVar2; - puVar6 = puVar6 + 4; - } while (iVar5 < (int)uStack12); - } - iVar4 += 2; - puVar3 = puVar3 + uStack12 * 2; - } while (iVar4 < param_3); - } - } - else { - iVar4 = 1; - if (1 < param_3) { - do { - iVar5 = 0; - puVar6 = puVar3; - if (0 < (int)uStack12) { - do { - uVar1 = puVar6[1]; - iVar5 += 2; - puVar6[1] = *puVar6; - *puVar6 = uVar1; - puVar6 = puVar6 + 2; - } while (iVar5 < (int)uStack12); - } - iVar4 += 2; - puVar3 = puVar3 + uStack12 * 2; - } while (iVar4 < param_3); - } - } - return; -} - - - -void type8_9_doohick(int param_1,int param_2,int param_3,undefined4 param_4,int param_5) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - byte *pbVar5; - uint uVar6; - uint uVar7; - uint uVar8; - int iVar9; - - iVar2 = 0; - if (0 < param_3) { - do { - iVar3 = 0; - if (0 < param_2) { - iVar1 = iVar2 * param_2; - pbVar5 = (byte *)(iVar1 + param_1); - do { - iVar4 = (uint)*pbVar5 + param_5 * 2; - if (iVar3 < 1) { - uVar6 = 0; - } - else { - uVar6 = (uint)pbVar5[-1]; - } - uVar7 = 0; - if (0 < iVar2) { - uVar7 = (uint)*(byte *)((iVar2 + -1) * param_2 + iVar3 + param_1); - } - uVar8 = 0; - if ((0 < iVar3) && (0 < iVar2)) { - uVar8 = (uint)*(byte *)((iVar2 + -1) * param_2 + iVar3 + param_1 + -1); - } - switch(param_4) { - case 0: - *(undefined *)(param_1 + iVar1 + iVar3) = - (char)((int)(iVar4 + uVar6) % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 + uVar6 == -0x80000000)) { - trap(0x1800); - } - break; - case 1: - *(undefined *)(param_1 + iVar1 + iVar3) = - (char)((int)(iVar4 + uVar7) % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 + uVar7 == -0x80000000)) { - trap(0x1800); - } - break; - case 2: - *(undefined *)(param_1 + iVar1 + iVar3) = - (char)((int)(iVar4 + uVar8) % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 + uVar8 == -0x80000000)) { - trap(0x1800); - } - break; - case 3: - iVar4 = ((uVar6 + uVar7) - uVar8) + iVar4; - *(undefined *)(param_1 + iVar1 + iVar3) = (char)(iVar4 % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 4: - iVar9 = uVar7 - uVar8; - if (iVar9 < 0) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + uVar6 + iVar4; - *(undefined *)(param_1 + iVar1 + iVar3) = (char)(iVar4 % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 5: - iVar9 = uVar6 - uVar8; - if (iVar9 < 0) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + uVar7 + iVar4; - *(undefined *)(param_1 + iVar1 + iVar3) = (char)(iVar4 % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - break; - case 6: - iVar9 = uVar6 + uVar7; - if (false) { - iVar9 += 1; - } - iVar4 = (iVar9 >> 1) + iVar4; - *(undefined *)(param_1 + iVar1 + iVar3) = (char)(iVar4 % param_5); - if (param_5 == 0) { - trap(0x1c00); - } - if ((param_5 == -1) && (iVar4 == -0x80000000)) { - trap(0x1800); - } - } - iVar3 += 1; - pbVar5 = pbVar5 + 1; - } while (iVar3 != param_2); - } - iVar2 += 1; - } while (iVar2 != param_3); - } - return; -} - - - -void proc_7F0CBAF4(int *param_1,int param_2,int param_3) - -{ - *param_1 = param_2; - param_1[1] = param_2 + param_3; - param_1[2] = param_2; - param_1[3] = param_2 + param_3; - return; -} - - - -uint * proc_7F0CBB0C(uint imageid,undefined4 *buffer) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - - if (buffer == NULL) { - buffer = &ptr_texture_alloc_start; - puVar1 = DAT_8008c724; - } - else { - puVar1 = (uint *)buffer[1]; - } - puVar2 = (uint *)buffer[3]; - if (puVar2 < puVar1) { - uVar3 = *puVar2; - while( true ) { - if (imageid == uVar3 >> 0x14) { - return puVar2; - } - puVar2 = puVar2 + 4; - if (puVar1 <= puVar2) break; - uVar3 = *puVar2; - } - } - return NULL; -} - - - -int proc_7F0CBB64(int param_1) - -{ - return *(int *)(param_1 + 0xc) - *(int *)(param_1 + 8); -} - - - -void check_load_image_to_buffer(char *image,uint *buffer) - -{ - char cVar1; - - if (*image != -0x48) { - cVar1 = *image; - do { - if (cVar1 == -3) { - if (image[4] == -0x55) { - if (image[5] == -0x33) { - load_image_to_buffer((uint *)(image + 4),buffer); - cVar1 = image[8]; - } - else { - cVar1 = image[8]; - } - } - else { - cVar1 = image[8]; - } - } - else { - cVar1 = image[8]; - } - image = image + 8; - } while (cVar1 != -0x48); - } - return; -} - - - -void load_image_to_buffer(uint *image,uint *buffer) - -{ - byte bVar1; - void *pvVar2; - uint *puVar3; - int iVar4; - u32 virttophys_temp; - uint image_load_address; - int img_offset7and0x80; - int img_offset6and0x40; - byte imagebuffer [4000]; - - if (buffer == NULL) { - buffer = &ptr_texture_alloc_start; - } - imageid = *image & 0xffff; - puVar3 = proc_7F0CBB0C(imageid,buffer); - if (puVar3 == NULL) { - osWritebackDCacheAll(); - osInvalDCache(imagebuffer,0x2000); - image_load_address = *(uint *)(image_entries + imageid); - romCopy((char *)imagebuffer,&images + (image_load_address & 0xfffff8), - ((*(uint *)(image_entries + imageid + 1) & 0xffffff) - - (image_load_address & 0xffffff)) + 0x1f & 0xfffffff0); - bVar1 = imagebuffer[image_load_address & 7]; - img_offset7and0x80 = (int)((uint)bVar1 & 0x80) >> 7; - img_offset6and0x40 = (int)((uint)bVar1 & 0x40) >> 6; - if (((img_offset6and0x40 == 0) && (iVar4 = proc_7F0CBB64((int)buffer), iVar4 < 0x10cc)) || - ((img_offset6and0x40 != 0 && (iVar4 = proc_7F0CBB64((int)buffer), iVar4 < 0xa28)))) { - virttophys_temp = osVirtualToPhysical((void *)*buffer); - *image = virttophys_temp; - return; - } - *(short *)((void **)buffer)[2] = (short)imageid; - pvVar2 = ((void **)buffer)[3]; - puVar3 = (uint *)((int)pvVar2 + -0x10); - ((void **)buffer)[2] = (void *)((int)((void **)buffer)[2] + 8); - *(uint **)((void **)buffer + 3) = puVar3; - *(ushort *)puVar3 = (ushort)(imageid << 4) | *(ushort *)puVar3 & 0xf; - *(void **)((int)pvVar2 + -0xc) = ((void **)buffer)[2]; - if (img_offset6and0x40 == 0) { - image_load_address = - process_huffman_compressed_images - (imagebuffer + (image_load_address & 7) + 1,(uint *)((void **)buffer)[2], - img_offset7and0x80,(uint)bVar1 & 0x3f,(int)buffer); - } - else { - image_load_address = - image_related_calls_decompressdata - (imagebuffer + (image_load_address & 7) + 1,(byte *)((void **)buffer)[2], - img_offset7and0x80,(uint)bVar1 & 0x3f,(int)buffer); - } - ((void **)buffer)[2] = (void *)((int)((void **)buffer)[2] + image_load_address); - proc_7F0CBB64((int)buffer); - } - virttophys_temp = osVirtualToPhysical((void *)puVar3[1]); - *image = virttophys_temp; - return; -} - - - -void proc_7F0CBE50(object_header *objheader,uint *buffer) - -{ - int *imgoffset; - longlong numentries; - int entry; - int *curoffset; - longlong i; - - numentries = (longlong)objheader->num_image_entries; - imgoffset = (int *)objheader->offset_img_declaration; - i = 0; - if (0 < numentries) { - entry = 0; - curoffset = imgoffset; - do { - if (*curoffset < 0xbb9) { - load_image_to_buffer((uint *)(entry + (int)imgoffset),buffer); - numentries = (longlong)objheader->num_image_entries; - } - i = (longlong)((int)i + 1); - entry += 0xc; - curoffset = curoffset + 3; - } while (i < numentries); - } - return; -} - - - -void calls_load_image_to_buffer(uint image,uint *buffer) - -{ - uint uStack4; - - uStack4 = image; - load_image_to_buffer(&uStack4,buffer); - return; -} - - - -void proc_7F0CBF10(undefined *param_1) - -{ - img_curpos = param_1; - img_curdatatable = 0; - img_bitcount = 0; - return; -} - - - -uint proc_7F0CBF2C(uint bits) - -{ - byte bVar1; - - if ((int)img_bitcount < (int)bits) { - do { - img_bitcount += 8; - bVar1 = *img_curpos; - img_curpos = img_curpos + 1; - img_curdatatable = (uint)bVar1 | img_curdatatable << 8; - } while ((int)img_bitcount < (int)bits); - } - img_bitcount -= bits; - return img_curdatatable >> (img_bitcount & 0x1f) & (1 << (bits & 0x1f)) - 1U; -} - - - -void load_prepare_global_image_bank(void) - -{ - uint uVar1; - int i; - - uVar1 = mempAllocBytesInBank(0x2400,'\x04'); - pGlobalimagetable = (sGlobalImageTable *)(uVar1 + 0xfff & 0xfffff000); - romCopy((char *)pGlobalimagetable,(char *)&Globalimagetable,0x1400); - base_image_block_address = pGlobalimagetable[-0x19a4].field_0x270 + 0x70; - genericimage = pGlobalimagetable->genericimage; - impactimages = pGlobalimagetable->impactimages; - explosion_smokeimages = pGlobalimagetable->explosion_smokeimages; - scattered_explosions = pGlobalimagetable->scattered_explosions; - flareimage1 = pGlobalimagetable->flareimage1; - flareimage2 = pGlobalimagetable->flareimage2; - flareimage3 = pGlobalimagetable->flareimage3; - flareimage4 = pGlobalimagetable->flareimage4; - flareimage5 = pGlobalimagetable->flareimage5; - 9mmammoimage = pGlobalimagetable->ammo9mmimage; - rifleammoimage = pGlobalimagetable->rifleammoimage; - shotgunammoimage = pGlobalimagetable->shotgunammoimage; - knifeammoimage = pGlobalimagetable->knifeammoimage; - glammoimage = pGlobalimagetable->glammoimage; - rocketammoimage = pGlobalimagetable->rocketammoimage; - genericmineammoimage = pGlobalimagetable->genericmineammoimage; - grenadeammoimage = pGlobalimagetable->grenadeammoimage; - magnumammoimage = pGlobalimagetable->magnumammoimage; - goldengunammoimage = pGlobalimagetable->goldengunammoimage; - remotemineammoimage = pGlobalimagetable->remotemineammoimage; - timedmineammoimage = pGlobalimagetable->timedmineammoimage; - proxmineammoimage = pGlobalimagetable->proxmineammoimage; - tankammoimage = pGlobalimagetable->tankammoimage; - crosshairimage = pGlobalimagetable->crosshairimage; - betacrosshairimage = pGlobalimagetable->betacrosshairimage; - glassoverlayimage = pGlobalimagetable->glassoverlayimage; - monitorimages = pGlobalimagetable->monitorimages; - skywaterimages = pGlobalimagetable->skywaterimages; - mainfolderimages = pGlobalimagetable->mainfolderimages; - mpradarimages = pGlobalimagetable->mpradarimages; - mpcharselimages = pGlobalimagetable->mpcharselimages; - mpstageselimages = pGlobalimagetable->mpstageselimages; - check_load_image_to_buffer((char *)pGlobalimagetable,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000078,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000120,NULL); - check_load_image_to_buffer(base_image_block_address + 0x20001c8,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000270,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000318,NULL); - check_load_image_to_buffer(base_image_block_address + 0x20003c0,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000468,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000510,NULL); - check_load_image_to_buffer(base_image_block_address + 0x20005b8,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000660,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000708,NULL); - check_load_image_to_buffer(base_image_block_address + 0x20007b0,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000858,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000900,NULL); - check_load_image_to_buffer(base_image_block_address + 0x20009a8,NULL); - check_load_image_to_buffer(base_image_block_address + 0x2000a50,NULL); - load_image_to_buffer((uint *)genericimage,NULL); - i = 0; - do { - load_image_to_buffer((uint *)((int)&explosion_smokeimages->index + i),NULL); - i += 0xc; - } while (i < 0x48); - i = 0; - do { - load_image_to_buffer((uint *)((int)&scattered_explosions->index + i),NULL); - i += 0xc; - } while (i != 0x3c); - return; -} - - - -void proc_7F0CC4C0(void) - -{ - return; -} - - - -void proc_7F0CC4C8(void) - -{ - undefined4 *puVar1; - undefined4 *puVar2; - - puVar1 = &DAT_8008d148; - puVar2 = &DAT_8008d2a8; - do { - puVar2 = puVar2 + 0x14; - puVar1[0xb] = 0; - puVar2[5] = 0; - puVar1[0x16] = 0; - puVar2[10] = 0; - puVar1[0x21] = 0; - puVar2[0xf] = 0; - *puVar1 = 0; - *puVar2 = 0; - puVar1 = puVar1 + 0x2c; - puVar2 = puVar2; - } while (puVar2 != (undefined4 *)&DAT_8008d348); - DAT_8008d140 = 0xffffffff; - return; -} - - - -undefined * proc_7F0CC51C(undefined *param_1,int param_2,undefined *param_3) - -{ - undefined uVar1; - undefined *puVar2; - undefined *puVar3; - - puVar3 = param_3; - puVar2 = param_3; - if (0 < param_2) { - do { - uVar1 = *param_1; - param_2 += -1; - puVar3 = puVar2 + 1; - param_1 = param_1 + 1; - *puVar2 = uVar1; - puVar2 = puVar3; - } while (0 < param_2); - } - return puVar3 + -(int)param_3; -} - - - -undefined8 proc_7F0CC548(int param_1) - -{ - if (param_1 != DAT_8008d140) { - DAT_8008d140 = param_1; - return 1; - } - return 0; -} - - - -undefined8 -proc_7F0CC574(int param_1,int param_2,int param_3,int param_4,int param_5,int param_6,int param_7, - int param_8,int param_9,int param_10,int param_11) - -{ - undefined8 uVar1; - int iVar2; - - iVar2 = param_1 * 0x2c; - uVar1 = 0; - if (((((((&DAT_8008d148)[param_1 * 0xb] == 0) || (param_2 != *(int *)(&DAT_8008d14c + iVar2))) - || (param_3 != *(int *)(&DAT_8008d150 + iVar2))) || - ((param_4 != *(int *)(&DAT_8008d154 + iVar2) || - (param_5 != *(int *)(&DAT_8008d158 + iVar2))))) || - ((param_6 != *(int *)(&DAT_8008d15c + iVar2) || - ((param_7 != *(int *)(&DAT_8008d160 + iVar2) || - (param_8 != *(int *)(&DAT_8008d164 + iVar2))))))) || - ((param_9 != *(int *)(&DAT_8008d168 + iVar2) || - ((param_10 != *(int *)(&DAT_8008d16c + iVar2) || - (param_11 != *(int *)(&DAT_8008d170 + iVar2))))))) { - uVar1 = 1; - (&DAT_8008d148)[param_1 * 0xb] = 1; - *(int *)(&DAT_8008d14c + iVar2) = param_2; - *(int *)(&DAT_8008d150 + iVar2) = param_3; - *(int *)(&DAT_8008d154 + iVar2) = param_4; - *(int *)(&DAT_8008d158 + iVar2) = param_5; - *(int *)(&DAT_8008d15c + iVar2) = param_6; - *(int *)(&DAT_8008d160 + iVar2) = param_7; - *(int *)(&DAT_8008d164 + iVar2) = param_8; - *(int *)(&DAT_8008d168 + iVar2) = param_9; - *(int *)(&DAT_8008d16c + iVar2) = param_10; - *(int *)(&DAT_8008d170 + iVar2) = param_11; - } - return uVar1; -} - - - -undefined8 proc_7F0CC690(int param_1,int param_2,int param_3,int param_4,int param_5) - -{ - int iVar1; - undefined8 uVar2; - - iVar1 = param_1 * 0x14; - uVar2 = 0; - if (((((&DAT_8008d2a8)[param_1 * 5] == 0) || (param_2 != *(int *)(&DAT_8008d2ac + iVar1))) || - (param_3 != *(int *)(&DAT_8008d2b0 + iVar1))) || - ((param_4 != *(int *)(&DAT_8008d2b4 + iVar1) || (param_5 != *(int *)(&DAT_8008d2b8 + iVar1))) - )) { - uVar2 = 1; - (&DAT_8008d2a8)[param_1 * 5] = 1; - *(int *)(&DAT_8008d2ac + iVar1) = param_2; - *(int *)(&DAT_8008d2b0 + iVar1) = param_3; - *(int *)(&DAT_8008d2b4 + iVar1) = param_4; - *(int *)(&DAT_8008d2b8 + iVar1) = param_5; - } - return uVar2; -} - - - -ulonglong proc_7F0CC714(uint *param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar3; - ulonglong uVar2; - short *psVar4; - - uVar1 = (ulonglong)*(byte *)(param_1 + 2); - if (param_2 == 0) { - return uVar1; - } - if (-1 < (int)(param_1[3] << 2)) { - uVar2 = 0; - if (0 < (longlong)param_2) { - if ((param_2 & 3) != 0) { - do { - uVar1 = SEXT48((int)uVar1 + 1 >> 1); - uVar2 = SEXT48((int)uVar2 + 1); - } while ((param_2 & 3) != uVar2); - if (uVar2 == param_2) { - return uVar1; - } - } - do { - uVar1 = SEXT48(((((int)uVar1 + 1 >> 1) + 1 >> 1) + 1 >> 1) + 1 >> 1); - uVar2 = SEXT48((int)uVar2 + 4); - } while (uVar2 != param_2); - } - return uVar1; - } - iVar3 = 0; - if (0 < DAT_8008d090) { - psVar4 = &DAT_8008c730; - do { - if ((longlong)(int)(*param_1 >> 0x14) == (longlong)*psVar4) { - return (ulonglong)*(byte *)((int)&DAT_8008c730 + iVar3 * 0x10 + (int)param_2 + 1); - } - iVar3 += 1; - psVar4 = psVar4 + 8; - } while (iVar3 < DAT_8008d090); - } - return 1; -} - - - -ulonglong proc_7F0CC7FC(uint *param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar3; - ulonglong uVar2; - short *psVar4; - - uVar1 = (ulonglong)*(byte *)((int)param_1 + 9); - if (param_2 == 0) { - return uVar1; - } - if (-1 < (int)(param_1[3] << 2)) { - uVar2 = 0; - if (0 < (longlong)param_2) { - if ((param_2 & 3) != 0) { - do { - uVar1 = SEXT48((int)uVar1 + 1 >> 1); - uVar2 = SEXT48((int)uVar2 + 1); - } while ((param_2 & 3) != uVar2); - if (uVar2 == param_2) { - return uVar1; - } - } - do { - uVar1 = SEXT48(((((int)uVar1 + 1 >> 1) + 1 >> 1) + 1 >> 1) + 1 >> 1); - uVar2 = SEXT48((int)uVar2 + 4); - } while (uVar2 != param_2); - } - return uVar1; - } - iVar3 = 0; - if (0 < DAT_8008d090) { - psVar4 = &DAT_8008c730; - do { - if ((longlong)(int)(*param_1 >> 0x14) == (longlong)*psVar4) { - return (ulonglong)(byte)(&DAT_8008c738)[iVar3 * 0x10 + (int)param_2]; - } - iVar3 += 1; - psVar4 = psVar4 + 8; - } while (iVar3 < DAT_8008d090); - } - return 1; -} - - - -int proc_7F0CC8E4(uint *param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar2; - int iVar3; - uint uVar4; - - uVar4 = param_1[2] & 3; - uVar1 = proc_7F0CC714(param_1,param_2); - iVar2 = (int)uVar1; - if (uVar4 == 3) { - iVar3 = iVar2 + 3; - if (iVar3 < 0) { - iVar3 = iVar2 + 6; - } - iVar3 >>= 2; - } - else { - iVar3 = iVar2 + 3; - if (uVar4 == 2) { - if (iVar3 < 0) { - iVar3 = iVar2 + 6; - } - iVar3 >>= 2; - } - else { - iVar3 = iVar2 + 0xf; - if (uVar4 == 1) { - iVar3 = iVar2 + 7; - if (iVar3 < 0) { - iVar3 = iVar2 + 0xe; - } - iVar3 >>= 3; - } - else { - if (iVar3 < 0) { - iVar3 = iVar2 + 0x1e; - } - iVar3 >>= 4; - } - } - } - return iVar3; -} - - - -int proc_7F0CC994(uint *param_1,ulonglong param_2) - -{ - ulonglong uVar1; - int iVar2; - - uVar1 = proc_7F0CC7FC(param_1,param_2); - iVar2 = proc_7F0CC8E4(param_1,(longlong)(int)param_2); - return iVar2 * (int)uVar1; -} - - - -void proc_7F0CC9D4(uint *param_1,undefined4 *param_2,int *param_3) - -{ - int iVar1; - uint uVar2; - ulonglong uVar3; - ulonglong uVar4; - - uVar2 = param_1[2] & 3; - uVar3 = SEXT48((int)(uint)(*(byte *)((int)param_1 + 0xb) >> 5)); - if (uVar3 == 0) { - uVar3 = 1; - } - *param_3 = 0; - if (uVar2 == 3) { - *param_2 = 3; - } - else { - if (uVar2 == 2) { - *param_2 = 2; - } - else { - if (uVar2 == 1) { - *param_2 = 2; - } - else { - *param_2 = 2; - } - } - } - uVar4 = 0; - if (uVar3 != 0) { - do { - iVar1 = proc_7F0CC994(param_1,uVar4); - uVar4 = SEXT48((int)uVar4 + 1); - *param_3 = *param_3 + iVar1 * 4; - } while (uVar4 != uVar3); - } - return; -} - - - -int proc_7F0CCA9C(int param_1) - -{ - int iVar1; - - param_1 += -1; - iVar1 = 0; - if (0 < param_1) { - do { - param_1 >>= 1; - iVar1 += 1; - if (param_1 < 1) { - return iVar1; - } - } while (iVar1 != 8); - } - return iVar1; -} - - - -undefined8 proc_7F0CCACC(longlong param_1) - -{ - if (param_1 == 1) { - return 2; - } - if (param_1 == 2) { - return 1; - } - return 0; -} - - - -int proc_7F0CCAFC(float param_1) - -{ - int iVar1; - - iVar1 = (int)param_1; - if (param_1 <= (float)iVar1) { - return iVar1; - } - return iVar1 + 1; -} - - - -int proc_7F0CCB38(uint *param_1) - -{ - int iVar1; - uint uVar2; - - iVar1 = proc_7F0CC8E4(param_1,0); - uVar2 = param_1[2] & 3; - if (uVar2 == 3) { - iVar1 = proc_7F0CCAFC((2.00000000 / (float)(iVar1 << 2)) * 2048.00000000); - } - else { - if (uVar2 == 2) { - iVar1 = proc_7F0CCAFC((4.00000000 / (float)(iVar1 << 2)) * 2048.00000000); - } - else { - if (uVar2 == 1) { - iVar1 = proc_7F0CCAFC((8.00000000 / (float)(iVar1 << 3)) * 2048.00000000); - } - else { - iVar1 = proc_7F0CCAFC((16.00000000 / (float)(iVar1 << 4)) * 2048.00000000); - } - } - } - return iVar1; -} - - - -uint * proc_7F0CCC50(uint *param_1,uint *param_2,int param_3,uint param_4,uint param_5,uint param_6) - -{ - int iVar4; - int iVar5; - uint uVar6; - longlong lVar1; - undefined8 uVar2; - undefined8 uVar3; - uint uVar7; - uint uVar8; - uint *puVar9; - uint *puVar10; - - uVar7 = *param_2 >> 0x14; - iVar4 = proc_7F0CCA9C((uint)*(byte *)(param_2 + 2)); - iVar5 = proc_7F0CCA9C((uint)*(byte *)((int)param_2 + 9)); - uVar6 = proc_7F0CC8E4(param_2,0); - param_1[1] = 0xffffffff; - *param_1 = (param_6 & 0xff) << 8 | 0xfa000000; - puVar9 = param_1 + 2; - lVar1 = proc_7F0CC548((param_2[3] >> 0x1e) << 0xe); - if (lVar1 != 0) { - *puVar9 = 0xba000e02; - puVar9 = param_1 + 4; - param_1[3] = (param_2[3] >> 0x1e) << 0xe; - } - lVar1 = proc_7F0CC574(0,(param_2[2] << 0x1b) >> 0x1d,param_2[2] & 3,uVar6, - (*(uint *)&image_entries[uVar7].flag3 >> 0x1c) + - uVar6 * ((uint)(byte)image_entries[uVar7].flag3 & 0xf),0,0, - iVar4 - (uint)((byte)image_entries[uVar7].flag4 >> 4), - iVar5 - ((uint)*(ushort *)&image_entries[uVar7].flag3 & 0xf),param_4, - param_5); - puVar10 = puVar9; - if (lVar1 != 0) { - *puVar9 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (param_2[2] & 3) << 0x13 | - (uVar6 & 0x1ff) << 9 | - (*(uint *)&image_entries[uVar7].flag3 >> 0x1c) + - uVar6 * ((uint)(byte)image_entries[uVar7].flag3 & 0xf) & 0x1ff; - puVar10 = puVar9 + 2; - uVar2 = proc_7F0CCACC(0); - uVar3 = proc_7F0CCACC(0); - puVar9[1] = ((uint)uVar3 & 3) << 8 | ((uint)uVar2 & 3) << 0x12 | - (iVar5 - (uint)*(ushort *)&image_entries[uVar7].flag3 & 0xf) << 0xe | - (param_5 & 0xf) << 10 | - (iVar4 - (uint)((byte)image_entries[uVar7].flag4 >> 4) & 0xf) << 4 | - param_4 & 0xf; - } - iVar4 = 0; - if ((param_3 == 2) && (-1 < (int)(param_2[3] << 2))) { - iVar4 = 2; - } - if (param_3 == 2) { - if ((int)(param_2[3] << 2) < 0) { - uVar6 = 0; - } - else { - uVar6 = 2; - } - } - else { - uVar6 = 0; - } - if (param_3 == 2) { - if ((int)(param_2[3] << 2) < 0) { - iVar5 = 0; - } - else { - iVar5 = 2; - } - } - else { - iVar5 = 0; - } - uVar7 = iVar5 + ((uint)*(byte *)(param_2 + 2) - 1) * 4; - if (param_3 == 2) { - if ((int)(param_2[3] << 2) < 0) { - iVar5 = 0; - } - else { - iVar5 = 2; - } - } - else { - iVar5 = 0; - } - uVar8 = iVar5 + ((uint)*(byte *)((int)param_2 + 9) - 1) * 4; - lVar1 = proc_7F0CC690(0,iVar4,uVar6,uVar7,uVar8); - if (lVar1 != 0) { - *puVar10 = iVar4 << 0xc | 0xf2000000U | uVar6; - puVar10[1] = (uVar7 & 0xfff) << 0xc | uVar8 & 0xfff; - puVar10 = puVar10 + 2; - } - return puVar10; -} - - - -uint * proc_7F0CCFBC(uint *param_1,uint *param_2,int param_3,longlong param_4) - -{ - uint uVar1; - byte bVar2; - uint *puVar3; - uint uVar4; - - uVar4 = 0; - bVar2 = *(byte *)(param_3 + 0xb) >> 5; - if (bVar2 != 0) { - uVar4 = (uint)bVar2 - 1; - } - puVar3 = param_1; - if (param_4 == 0) { - uVar1 = *param_2; - *param_2 = uVar1 & 0xffffc7ff; - *param_2 = uVar1 & 0xffffc7ff | uVar4 << 0xb; - } - else { - if (param_2 == NULL) { - param_1[1] = 0xffffffff; - *param_1 = (uVar4 & 7) << 0xb | 0xbb000001; - puVar3 = param_1 + 2; - } - else { - uVar4 = *param_2 & 0xffffc7ff | uVar4 << 0xb; - if (uVar4 != *param_2) { - *param_1 = uVar4; - puVar3 = param_1 + 2; - param_1[1] = param_2[1]; - } - } - } - return puVar3; -} - - - -uint * expland_c0_DL_psuedocommands(uint *command,uint *facemapperimage,uint param_3) - -{ - longlong lVar1; - uint uVar2; - uint uVar3; - uint *puVar4; - uint *puVar5; - uint uStack8; - uint uStack4; - - proc_7F0CC9D4(facemapperimage,&uStack4,(int *)&uStack8); - if (facemapperimage[3] >> 0x1e == 0) { - *command = ((facemapperimage[2] << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | - (uStack4 & 3) << 0x13; - puVar4 = command + 2; - command[1] = facemapperimage[1]; - lVar1 = proc_7F0CC574(7,(facemapperimage[2] << 0x1b) >> 0x1d,uStack4,0,param_3,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = ((facemapperimage[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (uStack4 & 3) << 0x13 | param_3 & 0x1ff; - command[3] = 0x7000000; - puVar4 = command + 4; - } - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = 0xf3000000; - uStack8 -= 1; - if (0x7fe < (int)uStack8) { - uStack8 = 0x7ff; - } - puVar4[3] = (uStack8 & 0xfff) << 0xc | 0x7000000; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - else { - puVar5 = command + 2; - *command = ((facemapperimage[2] << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | - (uStack4 & 3) << 0x13; - command[1] = facemapperimage[1]; - lVar1 = proc_7F0CC574(7,(facemapperimage[2] << 0x1b) >> 0x1d,uStack4,0,param_3,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar5 = ((facemapperimage[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (uStack4 & 3) << 0x13 | param_3 & 0x1ff; - command[3] = 0x7000000; - puVar5 = command + 4; - } - *puVar5 = 0xe6000000; - puVar5[1] = 0; - puVar5[2] = 0xf3000000; - uVar2 = uStack8 - 1; - if (0x7fe < (int)uVar2) { - uVar2 = 0x7ff; - } - puVar5[3] = (uVar2 & 0xfff) << 0xc | 0x7000000; - puVar5[4] = 0xe7000000; - puVar5[5] = 0; - uVar2 = 0x3ff - (uint)*(byte *)((int)facemapperimage + 10); - puVar4 = puVar5 + 6; - if (uStack8 <= uVar2) { - uVar2 = 0; - } - lVar1 = proc_7F0CC574(7,0,0,1,0x100,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = 0xf5000300; - puVar5[7] = 0x7000000; - puVar4 = puVar5 + 8; - } - uVar3 = (uVar2 & 0x3ff) << 2; - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = (uStack8 - uVar2 & 0x3ff) << 0xe | 0xf0000000 | uVar3; - puVar4[3] = ((uint)*(byte *)((int)facemapperimage + 10) + (uStack8 - uVar2) & 0x3ff) << 0xe - | 0x7000000 | uVar3; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - return puVar4 + 6; -} - - - -uint * proc_7F0CD430(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6, - uint param_7) - -{ - ulonglong uVar1; - uint uVar5; - uint uVar6; - uint uVar7; - int iVar8; - longlong lVar2; - undefined8 uVar3; - undefined8 uVar4; - uint uVar9; - int iVar10; - int iVar11; - ulonglong uVar12; - uint *puVar13; - int iVar14; - uint uStack12; - uint uStack4; - - uStack4 = param_7; - uVar9 = (*(byte *)((int)param_2 + 0xb) >> 5) + param_6; - if ((int)param_6 < (int)uVar9) { - uVar12._4_4_ = 0; - uStack12 = param_6; - do { - uVar12 = SEXT48((int)uVar12._4_4_); - uVar1 = proc_7F0CC714(param_2,uVar12); - uVar5 = proc_7F0CCA9C((int)uVar1); - uVar1 = proc_7F0CC7FC(param_2,uVar12); - uVar6 = proc_7F0CCA9C((int)uVar1); - uVar7 = proc_7F0CC8E4(param_2,uVar12); - iVar8 = proc_7F0CC994(param_2,uVar12); - iVar14 = param_2[3] << 2; - lVar2 = proc_7F0CC548((param_2[3] >> 0x1e) << 0xe); - puVar13 = param_1; - if (lVar2 != 0) { - *param_1 = 0xba000e02; - puVar13 = param_1 + 2; - param_1[1] = (param_2[3] >> 0x1e) << 0xe; - } - lVar2 = proc_7F0CC574(uStack12,(param_2[2] << 0x1b) >> 0x1d,param_2[2] & 3,uVar7,uStack4 - ,param_3,param_4,uVar5,uVar6,uVar12._4_4_,uVar12._4_4_); - param_1 = puVar13; - if (lVar2 != 0) { - param_1 = puVar13 + 2; - *puVar13 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | - (param_2[2] & 3) << 0x13 | (uVar7 & 0x1ff) << 9 | uStack4 & 0x1ff; - uVar3 = proc_7F0CCACC((longlong)param_4); - uVar4 = proc_7F0CCACC((longlong)param_3); - puVar13[1] = ((uint)uVar4 & 3) << 8 | (uStack12 & 7) << 0x18 | - ((uint)uVar3 & 3) << 0x12 | (uVar6 & 0xf) << 0xe | - (uVar12._4_4_ & 0xf) << 10 | (uVar5 & 0xf) << 4 | uVar12._4_4_ & 0xf; - } - if (param_5 == 2) { - if (iVar14 < 0) { - iVar10 = 0; - } - else { - iVar10 = 2; - } - } - else { - iVar10 = 0; - } - if (param_5 == 2) { - if (iVar14 < 0) { - uVar5 = 0; - } - else { - uVar5 = 2; - } - } - else { - uVar5 = 0; - } - uVar1 = proc_7F0CC714(param_2,uVar12); - if (param_5 == 2) { - if (iVar14 < 0) { - iVar11 = 0; - } - else { - iVar11 = 2; - } - } - else { - iVar11 = 0; - } - uVar6 = iVar11 + ((int)uVar1 + -1) * 4; - uVar1 = proc_7F0CC7FC(param_2,uVar12); - if (param_5 == 2) { - if (iVar14 < 0) { - iVar14 = 0; - } - else { - iVar14 = 2; - } - } - else { - iVar14 = 0; - } - uVar7 = iVar14 + ((int)uVar1 + -1) * 4; - lVar2 = proc_7F0CC690(uStack12,iVar10,uVar5,uVar6,uVar7); - uVar12._4_4_ += 1; - if (lVar2 != 0) { - *param_1 = iVar10 << 0xc | 0xf2000000U | uVar5; - param_1[1] = (uStack12 & 7) << 0x18 | (uVar6 & 0xfff) << 0xc | uVar7 & 0xfff; - param_1 = param_1 + 2; - } - uStack12 += 1; - uStack4 += iVar8; - } while (uStack12 != uVar9); - } - return param_1; -} - - - -uint * proc_7F0CD7AC(uint *param_1,uint *param_2) - -{ - uint uVar2; - longlong lVar1; - uint uVar3; - uint *puVar4; - uint *puVar5; - uint uStack8; - uint uStack4; - - uVar2 = proc_7F0CCB38(param_2); - proc_7F0CC9D4(param_2,&uStack4,(int *)&uStack8); - if (param_2[3] >> 0x1e == 0) { - *param_1 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | (uStack4 & 3) << 0x13; - puVar4 = param_1 + 2; - param_1[1] = param_2[1]; - lVar1 = proc_7F0CC574(7,(param_2[2] << 0x1b) >> 0x1d,uStack4,0,0,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (uStack4 & 3) << 0x13; - param_1[3] = 0x7000000; - puVar4 = param_1 + 4; - } - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = 0xf3000000; - uStack8 -= 1; - if (0x7fe < (int)uStack8) { - uStack8 = 0x7ff; - } - puVar4[3] = (uStack8 & 0xfff) << 0xc | 0x7000000 | uVar2 & 0xfff; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - else { - puVar5 = param_1 + 2; - *param_1 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xfd000000 | (uStack4 & 3) << 0x13; - param_1[1] = param_2[1]; - lVar1 = proc_7F0CC574(7,(param_2[2] << 0x1b) >> 0x1d,uStack4,0,0,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar5 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (uStack4 & 3) << 0x13; - param_1[3] = 0x7000000; - puVar5 = param_1 + 4; - } - *puVar5 = 0xe6000000; - puVar5[1] = 0; - puVar5[2] = 0xf3000000; - uVar3 = uStack8 - 1; - if (0x7fe < (int)uVar3) { - uVar3 = 0x7ff; - } - puVar5[3] = (uVar3 & 0xfff) << 0xc | 0x7000000 | uVar2 & 0xfff; - puVar5[4] = 0xe7000000; - puVar5[5] = 0; - uVar2 = 0x3ff - (uint)*(byte *)((int)param_2 + 10); - puVar4 = puVar5 + 6; - if (uStack8 <= uVar2) { - uVar2 = 0; - } - lVar1 = proc_7F0CC574(7,0,0,1,0x100,0,0,0,0,0,0); - if (lVar1 != 0) { - *puVar4 = 0xf5000300; - puVar5[7] = 0x7000000; - puVar4 = puVar5 + 8; - } - uVar3 = (uVar2 & 0x3ff) << 2; - *puVar4 = 0xe6000000; - puVar4[1] = 0; - puVar4[2] = (uStack8 - uVar2 & 0x3ff) << 0xe | 0xf0000000 | uVar3; - puVar4[3] = ((uint)*(byte *)((int)param_2 + 10) + (uStack8 - uVar2) & 0x3ff) << 0xe | - 0x7000000 | uVar3; - puVar4[4] = 0xe7000000; - puVar4[5] = 0; - } - return puVar4 + 6; -} - - - -uint * proc_7F0CDB64(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6) - -{ - uint uVar4; - uint uVar5; - uint uVar6; - longlong lVar1; - undefined8 uVar2; - undefined8 uVar3; - int iVar7; - int iVar8; - int iVar9; - uint *puVar10; - uint *puVar11; - - uVar4 = proc_7F0CCA9C((uint)*(byte *)(param_2 + 2)); - uVar5 = proc_7F0CCA9C((uint)*(byte *)((int)param_2 + 9)); - uVar6 = proc_7F0CC8E4(param_2,0); - iVar9 = param_2[3] << 2; - lVar1 = proc_7F0CC548((param_2[3] >> 0x1e) << 0xe); - puVar10 = param_1; - if (lVar1 != 0) { - *param_1 = 0xba000e02; - puVar10 = param_1 + 2; - param_1[1] = (param_2[3] >> 0x1e) << 0xe; - } - lVar1 = proc_7F0CC574(param_6,(param_2[2] << 0x1b) >> 0x1d,param_2[2] & 3,uVar6,0,param_3, - param_4,uVar4,uVar5,0,0); - puVar11 = puVar10; - if (lVar1 != 0) { - puVar11 = puVar10 + 2; - *puVar10 = ((param_2[2] << 0x1b) >> 0x1d) << 0x15 | 0xf5000000 | (param_2[2] & 3) << 0x13 | - (uVar6 & 0x1ff) << 9; - uVar2 = proc_7F0CCACC((longlong)param_4); - uVar3 = proc_7F0CCACC((longlong)param_3); - puVar10[1] = ((uint)uVar3 & 3) << 8 | (param_6 & 7) << 0x18 | ((uint)uVar2 & 3) << 0x12 | - (uVar5 & 0xf) << 0xe | (uVar4 & 0xf) << 4; - } - iVar7 = 0; - if ((param_5 == 2) && (-1 < iVar9)) { - iVar7 = 2; - } - if (param_5 == 2) { - if (iVar9 < 0) { - uVar4 = 0; - } - else { - uVar4 = 2; - } - } - else { - uVar4 = 0; - } - if (param_5 == 2) { - if (iVar9 < 0) { - iVar8 = 0; - } - else { - iVar8 = 2; - } - } - else { - iVar8 = 0; - } - uVar5 = iVar8 + ((uint)*(byte *)(param_2 + 2) - 1) * 4; - if (param_5 == 2) { - if (iVar9 < 0) { - iVar9 = 0; - } - else { - iVar9 = 2; - } - } - else { - iVar9 = 0; - } - uVar6 = iVar9 + ((uint)*(byte *)((int)param_2 + 9) - 1) * 4; - lVar1 = proc_7F0CC690(param_6,iVar7,uVar4,uVar5,uVar6); - if (lVar1 != 0) { - *puVar11 = iVar7 << 0xc | 0xf2000000U | uVar4; - puVar11[1] = (param_6 & 7) << 0x18 | (uVar5 & 0xfff) << 0xc | uVar6 & 0xfff; - puVar11 = puVar11 + 2; - } - return puVar11; -} - - - -uint * proc_7F0CDE18(uint *command,uint *facemapper_entry,int s_flags,int t_flags, - int settilesize_offset) - -{ - uint *puVar1; - - puVar1 = expland_c0_DL_psuedocommands(command,facemapper_entry,0); - puVar1 = proc_7F0CD430(puVar1,facemapper_entry,s_flags,t_flags,settilesize_offset,0,0); - if (*(byte *)((int)facemapper_entry + 0xb) >> 5 == 1) { - puVar1 = proc_7F0CD430(puVar1,facemapper_entry,s_flags,t_flags,settilesize_offset,1,0); - } - return puVar1; -} - - - -uint * proc_7F0CDEA8(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint *param_6, - uint param_7,uint param_8,uint param_9) - -{ - uint uVar1; - uint *puVar2; - - uVar1 = proc_7F0CC994(param_6,0); - puVar2 = proc_7F0CD7AC(param_1,param_6); - *puVar2 = 0xe8000000; - puVar2[1] = 0; - puVar2 = expland_c0_DL_psuedocommands(puVar2 + 2,param_2,uVar1); - puVar2 = proc_7F0CCC50(puVar2,param_6,param_5,param_7,param_8,param_9); - puVar2 = proc_7F0CD430(puVar2,param_2,param_3,param_4,param_5,1,uVar1); - if (*(byte *)((int)param_2 + 0xb) >> 5 == 1) { - puVar2 = proc_7F0CD430(puVar2,param_2,param_3,param_4,param_5,2,uVar1); - } - return puVar2; -} - - - -uint * proc_7F0CDFA8(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6, - uint param_7,uint param_8) - -{ - uint *puVar1; - - puVar1 = expland_c0_DL_psuedocommands(param_1,param_2,0); - puVar1 = proc_7F0CCC50(puVar1,param_2,param_5,param_6,param_7,param_8); - puVar1 = proc_7F0CD430(puVar1,param_2,param_3,param_4,param_5,1,0); - if (*(byte *)((int)param_2 + 0xb) >> 5 == 1) { - puVar1 = proc_7F0CD430(puVar1,param_2,param_3,param_4,param_5,2,0); - } - return puVar1; -} - - - -uint * proc_7F0CE064(uint *param_1,uint *param_2,int param_3,int param_4,int param_5) - -{ - uint *puVar1; - - puVar1 = proc_7F0CD7AC(param_1,param_2); - puVar1 = proc_7F0CDB64(puVar1,param_2,param_3,param_4,param_5,0); - return puVar1; -} - - - -uint * proc_7F0CE0AC(uint *param_1,uint *param_2,int param_3,int param_4,int param_5) - -{ - uint *puVar1; - - puVar1 = proc_7F0CD7AC(param_1,param_2); - puVar1 = proc_7F0CDB64(puVar1,param_2,param_3,param_4,param_5,0); - puVar1 = proc_7F0CDB64(puVar1,param_2,param_3,param_4,param_5,1); - return puVar1; -} - - - -uint * process_microcode_sort_display_modes_expand_image_calls - (uint *param_1,int param_2,uint *param_3,uint *param_4) - -{ - byte bVar1; - bool bVar2; - bool bVar3; - bool bVar4; - Gfx *pGVar5; - uint image; - uint *facemapper_entry; - uint *puVar6; - int *piVar7; - int iVar8; - longlong lVar9; - ulonglong imageID; - uint t_flags; - uint s_flags; - uint uVar10; - uint settilesize_offset; - Gfx *DL; - uint uVar11; - uint uVar12; - int iStack60; - Gfx *pGStack12; - - param_2 >>= 3; - pGStack12 = NULL; - bVar3 = false; - bVar2 = false; - iStack60 = 1; - bVar4 = false; - proc_7F0CC4C8(); - pGVar5 = (Gfx *)param_3; - if (param_4 == NULL) { - param_4 = &ptr_texture_alloc_start; - } - do { - if (param_2 < 1) { - if (bVar4) { - save_ptrDL_enpoint_to_current_init_lightfixture_table(pGVar5); - } - return (uint *)((int)pGVar5 - (int)param_3); - } - bVar1 = *(byte *)param_1; - if (bVar1 < 0xc1) { - if (false) { -switchD_7f0ce1d0_caseD_b2: - image = *param_1; - goto LAB_7f0ce724; - } - DL = pGVar5; - switch(bVar1) { - case 0xb1: - case 0xbf: - iStack60 = 1; - bVar2 = false; - *(uint *)pGVar5 = *param_1; - *(uint *)((int)pGVar5 + 4) = param_1[1]; - DL = pGVar5 + 1; - break; - default: - goto switchD_7f0ce1d0_caseD_b2; - case 0xba: - if (bVar3) { - bVar1 = *(byte *)((int)param_1 + 2); - if (((bVar1 != 0x11) && (bVar1 != 0x14)) && (bVar1 != 0x10)) { - *(uint *)pGVar5 = *param_1; - *(uint *)((int)pGVar5 + 4) = param_1[1]; - DL = pGVar5 + 1; - } - } - else { - *(uint *)pGVar5 = *param_1; - *(uint *)((int)pGVar5 + 4) = param_1[1]; - DL = pGVar5 + 1; - } - break; - case 0xbb: - iStack60 = 0; - *(uint *)pGVar5 = *param_1; - *(uint *)((int)pGVar5 + 4) = param_1[1]; - DL = pGVar5 + 1; - pGStack12 = pGVar5; - break; - case 0xc0: - if (!bVar2) { - *(uint *)pGVar5 = 0xe7000000; - DL = pGVar5 + 1; - *(uint *)((int)pGVar5 + 4) = 0; - bVar2 = true; - } - if (bVar4) { - bVar4 = false; - save_ptrDL_enpoint_to_current_init_lightfixture_table(DL); - image = param_1[1]; - } - else { - image = param_1[1]; - } - imageID = (longlong)(int)image & 0xfff; - image = (uint)imageID; - if ((imageID == (longlong)DAT_800483c4) && (DAT_800483c8 != 0)) { - if (*(char *)(DAT_800483c8 + image * 4) == -1) { - bVar3 = false; - } - else { - bVar3 = true; - } - } - else { - bVar3 = false; - } - calls_load_image_to_buffer(image,param_4); - facemapper_entry = proc_7F0CBB0C(image,param_4); - if (facemapper_entry != NULL) { - lVar9 = (longlong)iStack60; - iStack60 = 0; - DL = (Gfx *)proc_7F0CCFBC((uint *)DL,(uint *)pGStack12,(int)facemapper_entry, - lVar9); - settilesize_offset = *param_1; - switch(settilesize_offset & 7) { - case 0: - s_flags = param_1[1]; - uVar11 = settilesize_offset >> 0x16 & 3; - uVar12 = settilesize_offset >> 0x14 & 3; - t_flags = settilesize_offset >> 0x12 & 3; - uVar10 = settilesize_offset >> 0xe & 0xf; - settilesize_offset = settilesize_offset >> 10 & 0xf; - if (DAT_800483c8 != 0) { - iVar8 = image * 4; - if (*(char *)(DAT_800483c8 + iVar8) == -1) { - *(char *)(DAT_800483c8 + iVar8) = (char)(s_flags >> 0x18); - *(byte *)(DAT_800483c8 + iVar8 + 1) = - ('\x0f' - (char)uVar10) * ' ' | - *(byte *)(DAT_800483c8 + iVar8 + 1) & 0x1f; - *(byte *)(DAT_800483c8 + iVar8 + 1) = - ('\x0f' - (char)settilesize_offset) * '\x04' & 0x1cU | - *(byte *)(DAT_800483c8 + iVar8 + 1) & 0xe3; - } - } - if (bVar3) { - piVar7 = (int *)(DAT_800483c8 + image * 4); - facemapper_entry = - proc_7F0CDFA8((uint *)DL,facemapper_entry,uVar11,uVar12,t_flags, - 0xf - (uint)(*(byte *)((int)piVar7 + 1) >> 5), - 0xf - ((uint)(*piVar7 << 0xb) >> 0x1d), - (uint)*(byte *)piVar7); - *facemapper_entry = 0xba001402; - facemapper_entry[1] = 0x100000; - facemapper_entry[3] = 0x10000; - facemapper_entry[2] = 0xba001001; - facemapper_entry[5] = 0x40000; - facemapper_entry[4] = 0xba001102; - DL = (Gfx *)(facemapper_entry + 6); - } - else { - DL = (Gfx *)proc_7F0CDFA8((uint *)DL,facemapper_entry,uVar11,uVar12, - t_flags,uVar10,settilesize_offset, - s_flags >> 0x18); - } - break; - case 1: - image = param_1[1] >> 0xc & 0xfff; - calls_load_image_to_buffer(image,param_4); - puVar6 = proc_7F0CBB0C(image,param_4); - if (puVar6 != NULL) { - image = *param_1; - DL = (Gfx *)proc_7F0CDEA8((uint *)DL,facemapper_entry,image >> 0x16 & 3, - image >> 0x14 & 3,image >> 0x12 & 3,puVar6, - image >> 0xe & 0xf,image >> 10 & 0xf, - param_1[1] >> 0x18); - } - break; - case 2: - s_flags = settilesize_offset >> 0x16 & 3; - t_flags = settilesize_offset >> 0x14 & 3; - settilesize_offset = settilesize_offset >> 0x12 & 3; - if (bVar3) { - piVar7 = (int *)(DAT_800483c8 + image * 4); - facemapper_entry = - proc_7F0CDFA8((uint *)DL,facemapper_entry,s_flags,t_flags, - settilesize_offset, - 0xf - (uint)(*(byte *)((int)piVar7 + 1) >> 5), - 0xf - ((uint)(*piVar7 << 0xb) >> 0x1d), - (uint)*(byte *)piVar7); - *facemapper_entry = 0xba001402; - facemapper_entry[1] = 0x100000; - facemapper_entry[3] = 0x10000; - facemapper_entry[2] = 0xba001001; - facemapper_entry[5] = 0x40000; - facemapper_entry[4] = 0xba001102; - DL = (Gfx *)(facemapper_entry + 6); - } - else { - DL = (Gfx *)proc_7F0CDE18((uint *)DL,facemapper_entry,s_flags,t_flags, - settilesize_offset); - } - break; - case 3: - DL = (Gfx *)proc_7F0CE0AC((uint *)DL,facemapper_entry, - settilesize_offset >> 0x16 & 3, - settilesize_offset >> 0x14 & 3, - settilesize_offset >> 0x12 & 3); - break; - case 4: - DL = (Gfx *)proc_7F0CE064((uint *)DL,facemapper_entry, - settilesize_offset >> 0x16 & 3, - settilesize_offset >> 0x14 & 3, - settilesize_offset >> 0x12 & 3); - } - if (imageID == 0x5e4) { - DL = (Gfx *)proc_7F09343C((undefined4 *)DL,1); - proc_7F0CC4C8(); - } - if (imageID == 0x5e7) { - DL = (Gfx *)proc_7F09365C((undefined4 *)DL,1); - proc_7F0CC4C8(); - } - lVar9 = check_if_imageID_is_light(imageID); - if (lVar9 != 0) { - bVar4 = true; - add_entry_to_init_lightfixture_table(DL); - } - } - } - } - else { - if (bVar1 == 0xe7) { - bVar2 = true; - *(uint *)pGVar5 = *param_1; - *(uint *)((int)pGVar5 + 4) = param_1[1]; - DL = pGVar5 + 1; - goto LAB_7f0ce738; - } - image = *param_1; -LAB_7f0ce724: - *(uint *)pGVar5 = image; - *(uint *)((int)pGVar5 + 4) = param_1[1]; - DL = pGVar5 + 1; - } -LAB_7f0ce738: - param_1 = param_1 + 2; - param_2 += -1; - pGVar5 = DL; - } while( true ); -} - - - -void proc_7F0CE794(int param_1,int param_2,int param_3) - -{ - undefined4 uVar1; - undefined4 uVar2; - int iVar3; - undefined4 *puVar4; - int iVar5; - int iVar6; - undefined4 *puVar7; - - iVar5 = (param_3 >> 3) + -1; - iVar6 = iVar5 * 8; - puVar7 = (undefined4 *)(iVar6 + param_1); - puVar4 = (undefined4 *)(iVar6 + param_2); - iVar6 = param_3 >> 3; - while (iVar3 = iVar5, iVar6 != 0) { - uVar1 = *puVar7; - uVar2 = puVar7[1]; - puVar7 = puVar7 + -2; - *puVar4 = uVar1; - puVar4[1] = uVar2; - iVar5 = iVar3 + -1; - puVar4 = puVar4 + -2; - iVar6 = iVar3; - } - return; -} - - - -u8 * decompressdata(u8 *source,u8 *target,u8 *buffer) - -{ - DAT_8008d350 = source + 2; - wp_ = NULL; - inptr_ = 0; - DAT_8008d354 = target; - DAT_8008d360 = buffer; - loop_to_decompress_entire_file(); - return wp_; -} - - - -int proc_7F0CE894(void) - -{ - return DAT_8008d350 + inptr_; -} - - - -// WARNING: Instruction at (ram,0x7f0cee30) overlaps instruction at (ram,0x7f0cee2c) -// -// WARNING: Could not reconcile some variable overlaps - -ulonglong proc_7F0CE8B0(int *param_1,uint param_2,uint param_3,int param_4,int param_5,uint *param_6 - ,uint *param_7) - -{ - uint *puVar1; - uint *puVar2; - uint uVar3; - uint *puVar4; - int iVar5; - uint uVar6; - uint uVar7; - uint *puVar8; - uint *puVar9; - uint uVar10; - uint uVar11; - int iVar12; - int iVar13; - uint uVar14; - uint uVar15; - uint uVar16; - int *piVar17; - uint uVar18; - uint uVar19; - uint uStackX4; - uint *puStack1436; - int iStack1412; - uint auStack1404 [18]; - uint auStack1332 [288]; - uint auStack180 [16]; - undefined4 uStack116; - uint uStack112; - uint uStack80; - uint auStack72 [16]; - int aiStack8 [2]; - - uStackX4 = param_2; - bzero(auStack72,0x44); - uVar15 = 1; - uVar18 = uStackX4; - piVar17 = param_1; - if (-(uStackX4 & 3) == 0) goto LAB_7f0ce948; - do { - iVar12 = *piVar17; - uVar18 -= 1; - piVar17 = piVar17 + 1; - puVar4 = auStack72 + iVar12; - *puVar4 = *puVar4 + 1; - } while (-(uStackX4 & 3) + uStackX4 != uVar18); - while (uVar18 != 0) { -LAB_7f0ce948: - uVar18 -= 4; - puVar4 = auStack72 + *piVar17; - *puVar4 = *puVar4 + 1; - puVar4 = auStack72 + piVar17[1]; - *puVar4 = *puVar4 + 1; - puVar4 = auStack72 + piVar17[2]; - *puVar4 = *puVar4 + 1; - puVar4 = auStack72 + piVar17[3]; - *puVar4 = *puVar4 + 1; - piVar17 = piVar17 + 4; - } - puVar4 = auStack72 + 1; - if (uStackX4 == auStack72[0]) { - *param_6 = 0; - *param_7 = 0; - return 0; - } - do { - if (*puVar4 != 0) break; - uVar15 += 1; - puVar4 = puVar4 + 1; - } while (uVar15 != 0x11); - uVar18 = *param_7; - if (*param_7 < uVar15) { - uVar18 = uVar15; - } - uStack80 = 0x10; - piVar17 = aiStack8; - do { - if (*piVar17 != 0) break; - uStack80 -= 1; - piVar17 = piVar17 + -1; - } while (uStack80 != 0); - if (uStack80 < uVar18) { - uVar18 = uStack80; - } - *param_7 = uVar18; - iStack1412 = 1 << (uVar15 & 0x1f); - if (uVar15 < uStack80) { - do { - uVar10 = *puVar4; - puVar4 = puVar4 + 1; - iStack1412 = (iStack1412 - uVar10) * 2; - } while (puVar4 < auStack72 + uStack80); - } - uVar19 = uStack80 - 1; - uVar10 = 0; - iStack1412 -= *piVar17; - *piVar17 = *piVar17 + iStack1412; - auStack1404[1] = 0; - puVar4 = auStack72 + 1; - puVar9 = auStack1404 + 2; - puVar2 = (uint *)(piVar17 + -1); - if (uVar19 != 0) { - if (-(uVar19 & 3) != 0) { - do { - puVar2 = puVar2 + -1; - puVar8 = puVar9 + 1; - uVar10 += *puVar4; - *puVar9 = uVar10; - puVar4 = puVar4 + 1; - puVar9 = puVar8; - } while (auStack72 + -(uVar19 & 3) + uVar19 != puVar2); - if (puVar2 == auStack72) goto LAB_7f0ceb2c; - } - do { - uVar19 = *puVar4; - puVar2 = puVar2 + -4; - *puVar9 = uVar10 + uVar19; - uVar10 = uVar10 + uVar19 + puVar4[1]; - puVar9[1] = uVar10; - uVar10 += puVar4[2]; - puVar9[2] = uVar10; - uVar10 += puVar4[3]; - puVar9[3] = uVar10; - puVar4 = puVar4 + 4; - puVar9 = puVar9 + 4; - } while (puVar2 != auStack72); - } -LAB_7f0ceb2c: - uVar10 = 0; - puVar4 = auStack1332; - iVar12 = *param_1; - while( true ) { - param_1 = param_1 + 1; - if (iVar12 != 0) { - uVar19 = auStack1404[iVar12]; - puVar4[uVar19] = uVar10; - auStack1404[iVar12] = uVar19 + 1; - } - uVar10 += 1; - if (uStackX4 <= uVar10) break; - iVar12 = *param_1; - } - uVar19 = 0; - auStack1404[0] = 0; - iVar12 = -1; - uVar10 = -uVar18; - auStack180[0] = 0; - uVar7 = 0; - uVar6 = 0; - if ((int)uVar15 <= (int)uStack80) { - puStack1436 = auStack72 + uVar15; - do { - iVar13 = iVar12 * 4; - if (*puStack1436 != 0) { - puVar2 = auStack1404 + iVar12; - uVar14 = 1 << (uVar15 + 0x1f & 0x1f); - puVar9 = puVar4; - uVar11 = *puStack1436; - do { - uVar16 = uVar11 - 1; - if ((int)(uVar10 + uVar18) < (int)uVar15) { - uVar3 = uVar10 + uVar18; - puVar4 = (uint *)((int)auStack180 + iVar13); - do { - uVar10 = uVar3; - iVar12 += 1; - iVar13 += 4; - puVar2 = puVar2 + 1; - uVar7 = uStack80 - uVar10; - if (uVar18 < uStack80 - uVar10) { - uVar7 = uVar18; - } - uVar3 = uVar15 - uVar10; - uVar6 = 1 << (uVar3 & 0x1f); - if (uVar11 < uVar6) { - iVar5 = (uVar6 - uVar16) + -1; - puVar8 = auStack72 + uVar15; - while (uVar3 += 1, uVar3 < uVar7) { - puVar1 = puVar8 + 1; - puVar8 = puVar8 + 1; - if ((uint)(iVar5 * 2) <= *puVar1) break; - iVar5 = iVar5 * 2 - *puVar1; - } - } - uVar6 = 1 << (uVar3 & 0x1f); - iVar5 = hufts_ * 8; - hufts_ = hufts_ + uVar6 + 1; - iVar5 += DAT_8008d360; - uVar7 = iVar5 + 8; - *param_6 = uVar7; - *(undefined4 *)(iVar5 + 4) = 0; - param_6 = (uint *)(iVar5 + 4); - puVar4[1] = uVar7; - if (iVar12 != 0) { - *puVar2 = uVar19; - uStack116._1_3_ = CONCAT12((char)uVar18,uStack116._2_2_); - uStack116 = CONCAT13((char)uVar3 + '\x10',uStack116._1_3_); - uStack112 = uVar7; - puVar8 = (uint *)(*puVar4 + (uVar19 >> (uVar10 - uVar18 & 0x1f)) * 8 - ); - *puVar8 = uStack116; - puVar8[1] = uVar7; - } - uVar3 = uVar10 + uVar18; - puVar4 = puVar4 + 1; - } while ((int)(uVar10 + uVar18) < (int)uVar15); - } - uStack116._1_3_ = CONCAT12((char)(uVar15 - uVar10),uStack116._2_2_); - uStack116 = uStack116 & 0xff000000 | (uint)uStack116._1_3_; - if (puVar9 < auStack1332 + uStackX4) { - uVar11 = *puVar9; - if (uVar11 < param_3) { - if (uVar11 < 0x100) { - uStack116 = CONCAT13(0x10,uStack116._1_3_); - } - else { - uStack116 = CONCAT13(0xf,uStack116._1_3_); - } - puVar4 = puVar9 + 1; - uStack112 = uStack112 & 0xffff | *puVar9 << 0x10; - } - else { - puVar4 = puVar9 + 1; - uStack116 = CONCAT13(*(undefined *)((uVar11 - param_3) + param_5), - uStack116._1_3_); - uStack112 = uStack112 & 0xffff | - (uint)*(ushort *)(param_4 + *puVar9 * 2 + param_3 * -2) << - 0x10; - } - } - else { - uStack116 = CONCAT13(99,uStack116._1_3_); - puVar4 = puVar9; - } - uVar11 = uVar19 >> (uVar10 & 0x1f); - if (uVar11 < uVar6) { - do { - puVar9 = (uint *)(uVar7 + uVar11 * 8); - *puVar9 = uStack116; - uVar11 += 1 << (uVar15 - uVar10 & 0x1f); - puVar9[1] = uStack112; - } while (uVar11 < uVar6); - } - uVar3 = uVar19 & uVar14; - uVar11 = uVar14; - while (uVar3 != 0) { - uVar19 ^= uVar11; - uVar3 = uVar19 & uVar11 >> 1; - uVar11 = uVar11 >> 1; - } - uVar19 ^= uVar11; - if ((uVar19 & (1 << (uVar10 & 0x1f)) - 1U) != *puVar2) { - do { - uVar10 -= uVar18; - puVar9 = puVar2 + -1; - iVar12 += -1; - iVar13 += -4; - puVar2 = puVar2 + -1; - } while ((uVar19 & (1 << (uVar10 & 0x1f)) - 1U) != *puVar9); - } - puVar9 = puVar4; - uVar11 = uVar16; - } while (uVar16 != 0); - } - uVar15 += 1; - puStack1436 = puStack1436 + 1; - } while ((int)uVar15 <= (int)uStack80); - } - return (ulonglong)(iStack1412 != 0 && uStack80 != 1); -} - - - -undefined8 proc_7F0CEEF0(int param_1,int param_2,ulonglong param_3,uint param_4) - -{ - byte bVar1; - undefined uVar2; - uint uVar3; - bool bVar4; - undefined *puVar5; - int iVar6; - byte *pbVar7; - uint __n; - ulonglong uVar8; - ulonglong uVar9; - byte *pbVar10; - undefined *puVar11; - ulonglong uVar12; - int iVar13; - uint uVar14; - ulonglong uVar15; - uint uVar16; - uint uVar17; - int iVar18; - - iVar6 = (int)param_3; - uVar12 = SEXT48(bk_); - uVar8 = (ulonglong)zlib_masks[iVar6]; - uVar9 = (ulonglong)zlib_masks[param_4]; - iVar18 = wp_; - uVar16 = bb_; - do { - bVar4 = uVar12 < param_3; - while( true ) { - if (bVar4) { - do { - pbVar7 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - __n = (uint)uVar12; - uVar12 = SEXT48((int)(__n + 8)); - uVar16 |= (uint)*pbVar7 << (__n & 0x1f); - } while (uVar12 < param_3); - } - __n = (uint)uVar12; - pbVar7 = (byte *)((uVar16 & (uint)uVar8) * 8 + param_1); - uVar15 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) { - bVar1 = pbVar7[1]; - } - else { - bVar1 = pbVar7[1]; - while( true ) { - iVar13 = (int)uVar15 + -0x10; - __n = (int)uVar12 - (uint)bVar1; - uVar16 >>= (uint)bVar1 & 0x1f; - while (uVar12 = SEXT48((int)__n), uVar12 < (ulonglong)(longlong)iVar13) { - pbVar10 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar14 = __n & 0x1f; - __n += 8; - uVar16 |= (uint)*pbVar10 << uVar14; - } - pbVar7 = (byte *)((zlib_masks[iVar13] & uVar16) * 8 + *(int *)(pbVar7 + 4)); - uVar15 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) break; - bVar1 = pbVar7[1]; - } - bVar1 = pbVar7[1]; - } - uVar16 >>= (uint)bVar1 & 0x1f; - iVar13 = __n - (uint)bVar1; - uVar12 = SEXT48(iVar13); - if (uVar15 == 0x10) break; - if (uVar15 == 0xf) { - wp_ = iVar18; - bb_ = uVar16; - bk_ = iVar13; - return 0; - } - __n = (uint)uVar15; - while (uVar12 < uVar15) { - pbVar10 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar14 = (uint)uVar12; - iVar13 = uVar14 + 8; - uVar12 = SEXT48(iVar13); - uVar16 |= (uint)*pbVar10 << (uVar14 & 0x1f); - } - uVar14 = iVar13 - __n; - uVar17 = uVar16 >> (__n & 0x1f); - __n = (zlib_masks[__n] & uVar16) + (uint)*(ushort *)(pbVar7 + 4); - while (uVar14 < param_4) { - pbVar7 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar16 = uVar14 & 0x1f; - uVar14 += 8; - uVar17 |= (uint)*pbVar7 << uVar16; - } - pbVar7 = (byte *)((uVar17 & (uint)uVar9) * 8 + param_2); - uVar12 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) { - bVar1 = pbVar7[1]; - } - else { - bVar1 = pbVar7[1]; - while( true ) { - uVar16 = (int)uVar12 - 0x10; - uVar14 -= (uint)bVar1; - uVar17 >>= (uint)bVar1 & 0x1f; - while (uVar14 < uVar16) { - pbVar10 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar3 = uVar14 & 0x1f; - uVar14 += 8; - uVar17 |= (uint)*pbVar10 << uVar3; - } - pbVar7 = (byte *)((zlib_masks[uVar16] & uVar17) * 8 + *(int *)(pbVar7 + 4)); - uVar12 = (ulonglong)*pbVar7; - if (*pbVar7 < 0x11) break; - bVar1 = pbVar7[1]; - } - bVar1 = pbVar7[1]; - } - uVar14 -= (uint)bVar1; - uVar17 >>= (uint)bVar1 & 0x1f; - while ((ulonglong)(longlong)(int)uVar14 < uVar12) { - pbVar10 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar16 = uVar14 & 0x1f; - uVar14 += 8; - uVar17 |= (uint)*pbVar10 << uVar16; - } - uVar16 = (uint)uVar12; - uVar12 = SEXT48((int)(uVar14 - uVar16)); - iVar13 = (iVar18 - (uint)*(ushort *)(pbVar7 + 4)) - (zlib_masks[uVar16] & uVar17); - uVar16 = uVar17 >> (uVar16 & 0x1f); - do { - if ((uint)(iVar18 - iVar13) < __n) { - do { - puVar5 = (undefined *)(DAT_8008d354 + iVar18); - if (((undefined *)(DAT_8008d350 + inptr_) <= puVar5) && - (puVar5 + -(int)(undefined *)(DAT_8008d350 + inptr_) < - (undefined *)0x8000)) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - puVar11 = (undefined *)(iVar13 + DAT_8008d354); - __n -= 1; - iVar13 += 1; - iVar18 += 1; - *puVar5 = *puVar11; - } while (__n != 0); - } - else { - uVar14 = (iVar18 + __n + DAT_8008d354) - 1; - if (((uint)(DAT_8008d350 + inptr_) <= uVar14) && - (uVar14 - (DAT_8008d350 + inptr_) < 0x8000)) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - memcpy((void *)(DAT_8008d354 + iVar18),(void *)(DAT_8008d354 + iVar13),__n); - uVar8 = SEXT48((int)uVar8); - uVar9 = SEXT48((int)uVar9); - param_3 = SEXT48(iVar6); - iVar13 += __n; - iVar18 = iVar18 + __n; - } - __n = 0; - } while (false); - bVar4 = uVar12 < param_3; - } - puVar5 = (undefined *)(DAT_8008d354 + iVar18); - if (puVar5 < (undefined *)(DAT_8008d350 + inptr_)) { - uVar2 = (undefined)*(undefined2 *)(pbVar7 + 4); - } - else { - if (puVar5 + -(int)(undefined *)(DAT_8008d350 + inptr_) < (undefined *)0x8000) { - do { - // WARNING: Do nothing block with infinite loop - } while( true ); - } - uVar2 = (undefined)*(undefined2 *)(pbVar7 + 4); - } - iVar18 += 1; - *puVar5 = uVar2; - } while( true ); -} - - - -undefined8 zlib_decompressor_type0(void) - -{ - uint uVar1; - uint uVar2; - uint uVar3; - uint uVar4; - undefined *puVar5; - byte *pbVar6; - - uVar4 = bk_ - (bk_ & 7); - bb_ >>= bk_ & 7; - while (uVar4 < 0x10) { - pbVar6 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar3 = uVar4 & 0x1f; - uVar4 += 8; - bb_ |= (uint)*pbVar6 << uVar3; - } - uVar4 -= 0x10; - uVar2 = bb_ & 0xffff; - uVar3 = 0; - while (uVar4 < 0x10) { - pbVar6 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar1 = uVar4 & 0x1f; - uVar4 += 8; - uVar3 |= (uint)*pbVar6 << uVar1; - } - bk_ = uVar4 - 0x10; - bb_ = uVar3 >> 0x10; - while( true ) { - if (uVar2 == 0) { - return 0; - } - uVar2 -= 1; - while (bk_ < 8) { - pbVar6 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar4 = bk_ & 0x1f; - bk_ += 8; - bb_ |= (uint)*pbVar6 << uVar4; - } - puVar5 = (undefined *)(DAT_8008d354 + wp_); - if (((undefined *)(DAT_8008d350 + inptr_) <= puVar5) && - (puVar5 + -(int)(undefined *)(DAT_8008d350 + inptr_) < (undefined *)0x8000)) break; - *puVar5 = (char)bb_; - wp_ += 1; - bk_ -= 8; - bb_ = bb_ >> 8; - } - do { - // WARNING: Do nothing block with infinite loop - } while( true ); -} - - - -undefined8 zlib_decompressor_type1(void) - -{ - uint *puVar1; - uint *puVar2; - uint auStack1172 [256]; - uint auStack148 [24]; - uint auStack52 [8]; - uint uStack20; - uint uStack16; - uint uStack12; - uint auStack8 [2]; - - puVar1 = auStack1172; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 8; - puVar1[2] = 8; - puVar1[3] = 8; - *puVar1 = 8; - puVar1 = puVar2; - } while (puVar2 != auStack1172 + 0x90); - if (puVar2 < auStack148) { - do { - puVar2 = puVar1 + 1; - *puVar1 = 9; - puVar1 = puVar2; - } while (puVar2 < auStack148); - } - if (puVar2 < auStack52) { - puVar1 = puVar2; - do { - puVar2 = puVar1 + 1; - *puVar1 = 7; - puVar1 = puVar2; - } while (puVar2 < auStack52); - } - if (puVar2 < &uStack20) { - do { - puVar1 = puVar2 + 1; - *puVar2 = 8; - puVar2 = puVar1; - } while (puVar1 < &uStack20); - } - uStack16 = 7; - proc_7F0CE8B0((int *)auStack1172,0x120,0x101,(int)zlib_lbase,(int)zlib_lextra,auStack8,&uStack16 - ); - auStack1172[1] = 5; - auStack1172[0] = 5; - puVar1 = auStack1172 + 2; - do { - puVar2 = puVar1 + 4; - puVar1[1] = 5; - puVar1[2] = 5; - puVar1[3] = 5; - *puVar1 = 5; - puVar1 = puVar2; - } while (puVar2 != auStack1172 + 0x1e); - uStack20 = 5; - proc_7F0CE8B0((int *)auStack1172,0x1e,0,(int)zlib_dbase,(int)zlib_dextra,&uStack12,&uStack20); - proc_7F0CEEF0(auStack8[0],uStack12,(longlong)(int)uStack16,uStack20); - return 0; -} - - - -undefined8 zlib_decompressor_type2(void) - -{ - byte bVar1; - ushort uVar2; - ushort uVar3; - bool bVar4; - uint *puVar5; - uint uVar6; - int iVar7; - u8 *puVar8; - byte *pbVar9; - ulonglong uVar10; - uint uVar11; - uint uVar12; - uint local_528 [316]; - uint local_38; - uint local_34; - uint local_30; - uint local_2c; - uint local_24; - uint local_20; - uint local_1c; - uint local_18 [6]; - - local_34 = bk_; - uVar6 = bk_; - uVar11 = bb_; - if (bk_ < 5) { - do { - pbVar9 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - local_34 = uVar6 + 8; - uVar11 |= (uint)*pbVar9 << (uVar6 & 0x1f); - uVar6 = local_34; - } while (local_34 < 5); - } - local_34 -= 5; - local_2c = (uVar11 & 0x1f) + 0x101; - uVar11 >>= 5; - while (local_34 < 5) { - pbVar9 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar11 |= (uint)*pbVar9 << uVar6; - } - local_34 -= 5; - local_30 = (uVar11 & 0x1f) + 1; - uVar11 >>= 5; - while (local_34 < 4) { - pbVar9 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar6 = local_34 & 0x1f; - local_34 += 8; - uVar11 |= (uint)*pbVar9 << uVar6; - } - local_38 = uVar11 >> 4; - local_34 -= 4; - uVar6 = 0; - if ((uVar11 & 0xf) != 0xfffffffc) { - puVar8 = zlib_order; - do { - uVar6 += 1; - while (local_34 < 3) { - pbVar9 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar12 = local_34 & 0x1f; - local_34 += 8; - local_38 |= (uint)*pbVar9 << uVar12; - } - bVar1 = *puVar8; - uVar12 = local_38 & 7; - puVar8 = puVar8 + 1; - local_38 >>= 3; - local_528[bVar1] = uVar12; - local_34 -= 3; - } while (uVar6 != (uVar11 & 0xf) + 4); - } - if (uVar6 < 0x13) { - pbVar9 = zlib_order + uVar6; - do { - bVar1 = *pbVar9; - pbVar9 = pbVar9 + 1; - local_528[bVar1] = 0; - } while (pbVar9 < zlib_order + 0x13); - } - local_20 = 7; - proc_7F0CE8B0((int *)local_528,0x13,0x13,0,0,local_18,&local_20); - uVar6 = local_2c + local_30; - uVar2 = zlib_masks[local_20]; - uVar10 = 0; - uVar11 = 0; - bk_ = local_34; - bb_ = local_38; - if (uVar6 != 0) { - do { - while (bk_ < local_20) { - pbVar9 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar12 = bk_ & 0x1f; - bk_ = bk_ + 8; - bb_ = bb_ | (uint)*pbVar9 << uVar12; - } - local_1c = (bb_ & uVar2) * 8 + local_18[0]; - bb_ >>= (uint)*(byte *)(local_1c + 1) & 0x1f; - bk_ -= (uint)*(byte *)(local_1c + 1); - uVar3 = *(ushort *)(local_1c + 4); - if (uVar3 < 0x10) { - local_528[uVar11] = (uint)uVar3; - uVar11 += 1; - uVar10 = (ulonglong)uVar3; -LAB_7f0cfae8: - bVar4 = uVar11 < uVar6; - } - else { - if (uVar3 != 0x10) { - uVar10 = 0; - if (uVar3 == 0x11) { - while (bk_ < 3) { - pbVar9 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar12 = bk_ & 0x1f; - bk_ += 8; - bb_ |= (uint)*pbVar9 << uVar12; - } - uVar12 = bb_ & 7; - bb_ >>= 3; - bk_ -= 3; - iVar7 = uVar12 + 2; - if (uVar12 != 0xfffffffd) { - puVar5 = local_528 + uVar11; - do { - *puVar5 = 0; - uVar11 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar11 < uVar6; - goto LAB_7f0cfaec; - } - } - else { - while (bk_ < 7) { - pbVar9 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar12 = bk_ & 0x1f; - bk_ += 8; - bb_ |= (uint)*pbVar9 << uVar12; - } - uVar12 = bb_ & 0x7f; - bb_ >>= 7; - bk_ -= 7; - iVar7 = uVar12 + 10; - if (uVar12 != 0xfffffff5) { - puVar5 = local_528 + uVar11; - do { - *puVar5 = 0; - uVar11 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - } - } - goto LAB_7f0cfae8; - } - while (bk_ < 2) { - pbVar9 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar12 = bk_ & 0x1f; - bk_ += 8; - bb_ |= (uint)*pbVar9 << uVar12; - } - uVar12 = bb_ & 3; - bb_ >>= 2; - bk_ -= 2; - iVar7 = uVar12 + 2; - if (uVar12 == 0xfffffffd) goto LAB_7f0cfae8; - puVar5 = local_528 + uVar11; - do { - *puVar5 = (uint)uVar10; - uVar11 += 1; - puVar5 = puVar5 + 1; - bVar4 = iVar7 != 0; - iVar7 += -1; - } while (bVar4); - bVar4 = uVar11 < uVar6; - } -LAB_7f0cfaec: - } while (bVar4); - } - local_20 = zlib_data1; - proc_7F0CE8B0((int *)local_528,local_2c,0x101,(int)zlib_lbase,(int)zlib_lextra,local_18, - &local_20); - local_24 = zlib_data2; - proc_7F0CE8B0((int *)(local_528 + local_2c),local_30,0,(int)zlib_dbase,(int)zlib_dextra, - &local_1c,&local_24); - proc_7F0CEEF0(local_18[0],local_1c,(longlong)(int)local_20,local_24); - return 0; -} - - - -undefined8 _inflate_block(uint *param_1) - -{ - uint uVar2; - undefined8 uVar1; - uint uVar3; - byte *pbVar4; - - if (bk_ == 0) { - do { - pbVar4 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar3 = bk_ & 0x1f; - bk_ += 8; - bb_ |= (uint)*pbVar4 << uVar3; - } while (bk_ == 0); - } - bk_ -= 1; - uVar3 = bb_ >> 1; - *param_1 = bb_ & 1; - while (bk_ < 2) { - pbVar4 = (byte *)(DAT_8008d350 + inptr_); - inptr_ += 1; - uVar2 = bk_ & 0x1f; - bk_ += 8; - uVar3 |= (uint)*pbVar4 << uVar2; - } - uVar2 = uVar3 & 3; - bb_ = uVar3 >> 2; - bk_ -= 2; - if (uVar2 == 2) { - uVar1 = zlib_decompressor_type2(); - } - else { - if (uVar2 == 0) { - uVar1 = zlib_decompressor_type0(); - } - else { - if (uVar2 == 1) { - uVar1 = zlib_decompressor_type1(); - } - else { - uVar1 = 2; - } - } - } - return uVar1; -} - - - -longlong loop_to_decompress_entire_file(void) - -{ - longlong lVar1; - uint uVar2; - uint uStack4; - - wp_ = 0; - bk_ = 0; - bb_ = 0; - uVar2 = 0; - do { - hufts_ = 0; - lVar1 = _inflate_block(&uStack4); - if (lVar1 != 0) { - return lVar1; - } - if (uVar2 < hufts_) { - uVar2 = hufts_; - } - } while (uStack4 == 0); - while (7 < bk_) { - bk_ -= 8; - inptr_ += -1; - } - return 0; -} - - - -void something_with_rsp_c_debug(void) - -{ - get_ptr_debug_notice_list_entry(&rsp_c_debug_notice_list_entry,"rsp_c_debug"); - return; -} - - - -void allocate_init_rsp_buffers(void) - -{ - ptr_rsp_buffer_start = (undefined *)mempAllocBytesInBank(0xa000,'\x06'); - ptr_rspbuffer_end = ptr_rsp_buffer_start + 0xa000; - return; -} - - - -void load_rsp_microcode(int param_1,int param_2,undefined8 param_3,undefined4 param_4) - -{ - undefined *puVar1; - undefined *msg; - - msg = fast3d_related_array; - *(undefined4 *)(fast3d_related_array + 0x18) = 0x80020d90; - *(undefined4 *)(msg + 0x1c) = 0xd0; - *(undefined4 *)(msg + 0x20) = 0x80020e60; - *(undefined4 *)(msg + 0x28) = 0x8005c820; - *(undefined **)(msg + 0x38) = ptr_rsp_buffer_start; - puVar1 = ptr_rspbuffer_end; - *(int *)(msg + 0x40) = param_1; - *(int *)(msg + 0x44) = (param_2 - param_1 >> 3) << 3; - *(undefined4 *)(msg + 0x48) = 0x8008d770; - *(undefined4 *)(msg + 0x4c) = 0xba0; - *(undefined **)(msg + 0x3c) = puVar1; - *(undefined4 *)msg = 0; - *(undefined4 *)(msg + 8) = 99; - *(undefined4 *)(msg + 0x50) = 0x8005d9a0; - *(undefined4 *)(msg + 0x54) = param_4; - *(undefined4 *)(msg + 0xc) = *(undefined4 *)(fast3d_related_array + 0x58); - osWritebackDCacheAll(); - osSendMesg(sched_cmdQ,msg,1); - fast3d_related_array = (undefined *)((uint)fast3d_related_array ^ 0x3a0); - return; -} - - - -void init_indy_if_not_ready(void) - -{ - if (indy_ready != TRUE) { - indy_ready = TRUE; - init_indy_if_ready(); - } - return; -} - - - -void dummy7F0CFF64(void) - -{ - return; -} - - - -void init_indy_if_ready(void) - -{ - if (indy_ready != FALSE) { - post_indy__res_cmd_initialize_seq(); - } - return; -} - - - -void indy_load_resource(char *filename,u8 *targetloc) - -{ - undefined auStack16 [4]; - u8 auStack12 [4]; - u8 auStack8 [8]; - - if (indy_ready != FALSE) { - post_indyrescmd_req_filename_size((u8 *)filename,0x400000); - response_indyrescmd_1_8_2(auStack8,auStack12,(u32)auStack16,targetloc); - } - return; -} - - - -void indy_send_capture_data(char *name,undefined *param_2,uint size) - -{ - u8 auStack4 [4]; - - if (indy_ready != FALSE) { - post_indyrescmd_send_capture_data(name,size,(indy_resource_entry *)param_2); - response_indyrescmd_1_A_2(auStack4); - } - return; -} - - - -void indy_load_ramrom_file(char *filename,u8 *target,s32 size) - -{ - u32 uStack12; - u32 uStack8; - u32 uStack4; - - if (indy_ready != FALSE) { - post_indyrescmd_request_ramrom_file(filename,target,size); - response_indyrescmd_1_10_2(&uStack4,&uStack8,&uStack12); - } - return; -} - - - -void check_file_exported(char *param_1,undefined4 param_2,undefined4 param_3) - -{ - u8 auStack4 [4]; - - if (indy_ready != FALSE) { - post_indyrescmd_game_prof_sendfile(param_1,param_3,param_2); - response_indyrescmd_1_E_2(auStack4); - } - return; -} - - - -u8 * check_file_found_on_indy(char *name,undefined4 *size) - -{ - u8 *response; - - if (indy_ready == FALSE) { - response = NULL; - } - else { - post_indyrescmd_game_printf_send(name); - response_indyrescmd_1_6_2((u8 *)&response,(u8 *)size); - } - return response; -} - - - -u32 send_command_string(char *param_1) - -{ - u32 local_4; - - if (indy_ready == FALSE) { - local_4 = 0; - } - else { - post_indyrescmd_1_B_2(param_1); - response_indyrescmd_1_C_2((u8 *)&local_4); - } - return local_4; -} - - - -void proc_7F0D0124(void) - -{ - if (indy_ready != FALSE) { - rmon_debug_returns_neg_1(); - } - return; -} - - - -u32 send_indy_close_port_cmd(void) - -{ - u32 uVar1; - - uVar1 = send_command_string("sleep 5; /etc/killall ghost gload"); - return uVar1; -} - - - -void sub_GAME_7F0D0180(u8 *buffer,u32 size) - -{ - int iVar1; - - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - rmon_debug_stub_0(); - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - return; -} - - - -void proc_7F0D01D0(u8 *buffer,u32 size) - -{ - int iVar1; - - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - removed_7000ceb8(); - iVar1 = 4; - while (iVar1 != 100000) { - iVar1 += 4; - } - return; -} - - - -// WARNING: Instruction at (ram,0x7f0d02cc) overlaps instruction at (ram,0x7f0d02c8) -// - -undefined8 postindyresourcecommand(indy_resource_entry *cmd,u32 size) - -{ - u8 *puVar1; - u32 *puVar2; - uint uVar3; - u32 uVar4; - u8 *buffer; - u8 auStack1280 [4]; - u8 auStack1276 [1276]; - - buffer = auStack1280; - if (((uint)cmd & 7) != 0) { - if (0x500 < size) { - return 0; - } - if (false) { - buffer = auStack1276; - } - puVar1 = buffer; - while (puVar1 < buffer + size) { - puVar2 = &cmd->resourceID; - cmd = (indy_resource_entry *)((int)&cmd->resourceID + 1); - *puVar1 = *(u8 *)puVar2; - puVar1 = puVar1 + 1; - } - if (((indy_status & 0x20) != 0) && (size != 0)) { - if ((size & 3) == 0) { - uVar4 = 4; - } - else { - uVar3 = 1; - while ((size & 3) != uVar3) { - uVar3 += 1; - } - uVar4 = uVar3 + 4; - if (uVar3 == size) goto LAB_7f0d02d8; - } - while (uVar4 != size) { - uVar4 += 4; - } - } -LAB_7f0d02d8: - proc_7F0D01D0(buffer,size + 3 & 0xfffffffc); - return 1; - } - if (((indy_status & 0x20) != 0) && (size != 0)) { - if ((size & 3) == 0) { - uVar4 = 4; - } - else { - uVar3 = 1; - while ((size & 3) != uVar3) { - uVar3 += 1; - } - uVar4 = uVar3 + 4; - if (uVar3 == size) goto LAB_7f0d0338; - } - while (uVar4 != size) { - uVar4 += 4; - } - } -LAB_7f0d0338: - proc_7F0D01D0((u8 *)cmd,size + 3 & 0xfffffffc); - return 1; -} - - - -u32 send2indyresourcecommands - (indy_resource_entry *entry1,uint size1,indy_resource_entry *entry2,uint size2) - -{ - postindyresourcecommand(entry1,size1); - postindyresourcecommand(entry2,size2); - return 1; -} - - - -void post_type1_indyrescmd_sizenextcmd(s32 readsize,s32 writesize) - -{ - indy_resource_entry cmd; - - cmd.resourceID = 0x9abf1623; - cmd.type = 1; - cmd.size = 0x14; - cmd.readsize = readsize; - cmd.writesize = writesize; - postindyresourcecommand(&cmd,0x14); - return; -} - - - -void post_type2_indyrescmd_cmds_rdy_to_proc(s32 readsize,s32 writesize) - -{ - indy_resource_entry iStack20; - - iStack20.resourceID = 0x9abf1623; - iStack20.type = 2; - iStack20.size = 0x14; - iStack20.readsize = readsize; - iStack20.writesize = writesize; - postindyresourcecommand(&iStack20,0x14); - return; -} - - - -void post_type0_indyrescmd_init(s32 readsize,s32 writesize) - -{ - indy_resource_entry command; - - command.resourceID = 0x9abf1623; - command.type = 0; - command.size = 0x14; - command.readsize = readsize; - command.writesize = writesize; - postindyresourcecommand(&command,0x14); - return; -} - - - -void post_type3_indyrescmd(s32 rsize,s32 wsize,char *strptr) - -{ - indy_resource_entry iStack276; - char acStack256 [255]; - undefined uStack1; - - iStack276.resourceID = 0x9abf1623; - iStack276.type = 3; - iStack276.size = 0x114; - iStack276.readsize = rsize; - iStack276.writesize = wsize; - something_with_strings(acStack256,strptr,0x100); - uStack1 = 0; - postindyresourcecommand(&iStack276,0x114); - return; -} - - - -void post_type4_indyrescmd_data_recieved(s32 param_1,s32 param_2,u32 param_3) - -{ - indy_resource_entry_type4 local_18; - - local_18.entry.resourceID = 0x9abf1623; - local_18.entry.type = 4; - local_18.entry.size = 0x18; - local_18.entry.readsize = param_1; - local_18.entry.writesize = param_2; - local_18.data = param_3; - postindyresourcecommand((indy_resource_entry *)&local_18,0x18); - return; -} - - - -void post_type5_indyrescmd_printfsend(s32 param_1,s32 param_2,char *param_3) - -{ - indy_resource_entry iStack276; - char acStack256 [255]; - undefined uStack1; - - iStack276.resourceID = 0x9abf1623; - iStack276.type = 5; - iStack276.size = 0x114; - iStack276.readsize = param_1; - iStack276.writesize = param_2; - something_with_strings(acStack256,param_3,0x100); - uStack1 = 0; - postindyresourcecommand(&iStack276,0x114); - return; -} - - - -void post_type6_indyrescmd_printfrecieved(s32 rsize,s32 wsize,u32 data1,u32 data2) - -{ - indy_resource_entry_type6 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 6; - cmd.entry.size = 0x1c; - cmd.entry.readsize = rsize; - cmd.entry.writesize = wsize; - cmd.data1 = data1; - cmd.data2 = data2; - postindyresourcecommand((indy_resource_entry *)&cmd,0x1c); - return; -} - - - -void post_type7_indyrescmd_log_send(u32 param_1,u32 param_2,u8 *strptr,u32 param_4) - -{ - indy_resource_entry iStack280; - char acStack260 [255]; - undefined uStack5; - u32 uStack4; - - iStack280.resourceID = 0x9abf1623; - iStack280.type = 7; - iStack280.size = 0x118; - iStack280.readsize = param_1; - iStack280.writesize = param_2; - something_with_strings(acStack260,(char *)strptr,0x100); - uStack5 = 0; - uStack4 = param_4; - postindyresourcecommand(&iStack280,0x118); - return; -} - - - -void post_type8_indyrescmd_log_recieved - (s32 rsize,s32 wsize,undefined4 data1,undefined4 data2,uint cmd2size, - indy_resource_entry *cmd2) - -{ - indy_resource_entry cmd; - undefined4 uStack12; - undefined4 uStack8; - uint uStack4; - - cmd.size = (cmd2size + 3 & 0xfffffffc) + 0x20; - cmd.resourceID = 0x9abf1623; - cmd.type = 8; - uStack4 = cmd2size; - cmd.readsize = rsize; - cmd.writesize = wsize; - uStack12 = data1; - uStack8 = data2; - send2indyresourcecommands(&cmd,0x20,cmd2,cmd2size); - return; -} - - - -void post_type9_indyrescmd_app_command_ready - (s32 rsize,s32 wsize,char *strptr,uint size2,indy_resource_entry *cmd2) - -{ - indy_resource_entry iStack276; - char acStack256 [255]; - undefined uStack1; - - iStack276.size = (size2 + 3 & 0xfffffffc) + 0x114; - iStack276.resourceID = 0x9abf1623; - iStack276.type = 9; - iStack276.readsize = rsize; - iStack276.writesize = wsize; - something_with_strings(acStack256,strptr,0x100); - uStack1 = 0; - send2indyresourcecommands(&iStack276,0x114,cmd2,size2); - return; -} - - - -void post_typeA_indyrescmd_app_command_recieved(s32 readsize,s32 writesize,u32 data) - -{ - indy_resource_entry_type4 local_18; - - local_18.entry.resourceID = 0x9abf1623; - local_18.entry.type = 10; - local_18.entry.size = 0x18; - local_18.entry.readsize = readsize; - local_18.entry.writesize = writesize; - local_18.data = data; - postindyresourcecommand((indy_resource_entry *)&local_18,0x18); - return; -} - - - -void post_typeF_indyrescmd_fault_send(u32 rsize,u32 wsize,char *name,u32 filesize,u32 ptarget) - -{ - indy_resource_entry iStack284; - char acStack264 [255]; - undefined uStack9; - u32 uStack8; - u32 uStack4; - - iStack284.resourceID = 0x9abf1623; - iStack284.type = 0xf; - iStack284.size = 0x11c; - iStack284.readsize = rsize; - iStack284.writesize = wsize; - something_with_strings(acStack264,name,0x100); - uStack9 = 0; - uStack4 = ptarget; - uStack8 = filesize; - postindyresourcecommand(&iStack284,0x11c); - return; -} - - - -void post_type10_indyrescmd_fault_ack_by_host - (s32 rsize,s32 wsize,undefined4 param_3,undefined4 param_4,undefined4 param_5) - -{ - indy_resource_entry iStack32; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - iStack32.resourceID = 0x9abf1623; - iStack32.type = 0x10; - iStack32.size = 0x20; - uStack4 = param_5; - iStack32.readsize = rsize; - iStack32.writesize = wsize; - uStack12 = param_3; - uStack8 = param_4; - postindyresourcecommand(&iStack32,0x20); - return; -} - - - -void post_typeD_indyrescmd_prof_send_filename(u32 rsize,u32 wsize,u8 *ptrstr,u32 size,u8 *hwaddress) - -{ - indy_resource_entry iStack284; - char acStack264 [255]; - undefined uStack9; - u32 uStack8; - u8 *puStack4; - - iStack284.resourceID = 0x9abf1623; - iStack284.type = 0xd; - iStack284.size = 0x11c; - iStack284.readsize = rsize; - iStack284.writesize = wsize; - something_with_strings(acStack264,(char *)ptrstr,0x100); - uStack9 = 0; - puStack4 = hwaddress; - uStack8 = size; - postindyresourcecommand(&iStack284,0x11c); - return; -} - - - -void post_typeE_indyrescmd_prof_recv(s32 readsize,s32 writesize,u32 data) - -{ - indy_resource_entry_type4 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 0xe; - cmd.entry.size = 0x18; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data = data; - postindyresourcecommand((indy_resource_entry *)&cmd,0x18); - return; -} - - - -void post_typeB_indyrescmd_host_prof_req(s32 rsize,s32 wsize,char *strptr) - -{ - indy_resource_entry iStack1044; - char acStack1024 [1023]; - undefined uStack1; - - iStack1044.resourceID = 0x9abf1623; - iStack1044.type = 0xb; - iStack1044.size = 0x414; - iStack1044.readsize = rsize; - iStack1044.writesize = wsize; - something_with_strings(acStack1024,strptr,0x400); - uStack1 = 0; - postindyresourcecommand(&iStack1044,0x414); - return; -} - - - -void post_typeC_indyrescmd_prof_send(s32 readsize,s32 writesize,u32 data) - -{ - indy_resource_entry_type4 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 0xc; - cmd.entry.size = 0x18; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data = data; - postindyresourcecommand((indy_resource_entry *)&cmd,0x18); - return; -} - - - -void post_typeA_indyrescmd_app_data_recieved(s32 readsize,s32 writesize,u32 data) - -{ - indy_resource_entry_type4 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 10; - cmd.entry.size = 0x18; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data = data; - postindyresourcecommand((indy_resource_entry *)&cmd,0x18); - return; -} - - - -undefined8 post_indy__res_cmd_initialize_seq(void) - -{ - post_type1_indyrescmd_sizenextcmd(0x14,0x14); - post_type0_indyrescmd_init(0x14,0x14); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_game_data_send(char *strptr) - -{ - post_type1_indyrescmd_sizenextcmd(0x114,0x114); - post_type3_indyrescmd(0x14,0x14,strptr); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_debug_data_recv(u32 data) - -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_type4_indyrescmd_data_recieved(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_game_printf_send(char *strptr) - -{ - post_type1_indyrescmd_sizenextcmd(0x114,0x114); - post_type5_indyrescmd_printfsend(0x14,0x14,strptr); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_debug_printf_recv(u32 data1,u32 data2) - -{ - post_type1_indyrescmd_sizenextcmd(0x1c,0x1c); - post_type6_indyrescmd_printfrecieved(0x14,0x14,data1,data2); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_req_filename_size(u8 *filename,u32 size) - -{ - post_type1_indyrescmd_sizenextcmd(0x118,0x118); - post_type7_indyrescmd_log_send(0x14,0x14,filename,size); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_1_8_2(u32 data1,u32 data2,u32 size2,indy_resource_entry *cmd2) - -{ - post_type1_indyrescmd_sizenextcmd((size2 + 3 & 0xfffffffc) + 0x20,0x20); - post_type8_indyrescmd_log_recieved(0x14,0x14,data1,data2,size2,cmd2); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_send_capture_data(char *string,uint size,indy_resource_entry *data) - -{ - post_type1_indyrescmd_sizenextcmd((size + 3 & 0xfffffffc) + 0x114,0x114); - post_type9_indyrescmd_app_command_ready(0x14,0x14,string,size,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_recv_capture_data_success(u32 data) - -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_typeA_indyrescmd_app_command_recieved(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_request_ramrom_file(char *name,u32 ptarget,u32 filesize) - -{ - post_type1_indyrescmd_sizenextcmd(0x11c,0x11c); - post_typeF_indyrescmd_fault_send(0x14,0x14,name,filesize,ptarget); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_1_10_2(u32 param_1,u32 param_2,u32 param_3) - -{ - post_type1_indyrescmd_sizenextcmd(0x20,0x20); - post_type10_indyrescmd_fault_ack_by_host(0x14,0x14,param_1,param_2,param_3); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_game_prof_sendfile(char *strptr,u8 *phwaddr,u32 size) - -{ - post_type1_indyrescmd_sizenextcmd(0x11c,0x11c); - post_typeD_indyrescmd_prof_send_filename(0x14,0x14,(u8 *)strptr,size,phwaddr); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_host_prof_recv(u32 data) - -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_typeE_indyrescmd_prof_recv(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_1_B_2(char *strptr) - -{ - post_type1_indyrescmd_sizenextcmd(0x414,0x414); - post_typeB_indyrescmd_host_prof_req(0x14,0x14,strptr); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_1_C_2(u32 data) - -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_typeC_indyrescmd_prof_send(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -u32 post_indyrescmd_1_A_2(u32 data) - -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_typeA_indyrescmd_app_data_recieved(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - -// WARNING: Instruction at (ram,0x7f0d101c) overlaps instruction at (ram,0x7f0d1018) -// - -undefined8 post_indyrescmd_read_command(indy_resource_entry *param_1,uint param_2) - -{ - u8 uVar1; - uint uVar2; - uint uVar3; - u8 *buffer; - u8 *puVar4; - u8 auStack1024 [4]; - u8 auStack1020 [1020]; - - buffer = auStack1024; - if (((uint)param_1 & 7) == 0) { - sub_GAME_7F0D0180((u8 *)param_1,param_2 + 3 & 0xfffffffc); - if ((indy_status & 0x10) == 0) { - return 1; - } - if (param_2 != 0) { - if ((param_2 & 3) == 0) { - uVar3 = 4; - } - else { - uVar2 = 1; - while ((param_2 & 3) != uVar2) { - uVar2 += 1; - } - uVar3 = uVar2 + 4; - if (uVar2 == param_2) { - return 1; - } - } - while (uVar3 != param_2) { - uVar3 += 4; - } - } - return 1; - } - if (0x400 < param_2) { - return 0; - } - if (false) { - buffer = auStack1020; - } - sub_GAME_7F0D0180(buffer,param_2 + 3 & 0xfffffffc); - puVar4 = buffer + param_2; - while (buffer < puVar4) { - uVar1 = *buffer; - buffer = buffer + 1; - *(u8 *)¶m_1->resourceID = uVar1; - param_1 = (indy_resource_entry *)((int)¶m_1->resourceID + 1); - } - if (((indy_status & 0x10) != 0) && (param_2 != 0)) { - if ((param_2 & 3) == 0) { - uVar3 = 4; - } - else { - uVar2 = 1; - while ((param_2 & 3) != uVar2) { - uVar2 += 1; - } - uVar3 = uVar2 + 4; - if (uVar2 == param_2) { - return 1; - } - } - while (uVar3 != param_2) { - uVar3 += 4; - } - } - return 1; -} - - - -u32 post_indyrescmd_read_2commands(u8 *buffer1,u32 size1,u8 *buffer2,u32 size2) - -{ - sub_GAME_7F0D0180(buffer1,size1 + 3 & 0xfffffffc); - sub_GAME_7F0D0180(buffer2,size2 + 3 & 0xfffffffc); - return 1; -} - - - -u32 post_indyrescmd_istype1_correctsize(int readsize,int writesize) - -{ - u32 ret; - indy_resource_entry cmd; - - post_indyrescmd_read_command(&cmd,0x14); - if (cmd.resourceID == 0x9abf1623) { - if (cmd.type == 1) { - if (cmd.size == 0x14) { - if ((readsize == 0) || (cmd.readsize == readsize)) { - ret = 1; - if (cmd.writesize != writesize) { - ret = 0; - } - } - else { - ret = 0; - } - } - else { - ret = 0; - } - } - else { - ret = 0; - } - } - else { - ret = 0; - } - return ret; -} - - - -u32 post_indyrescmd_istype2_correctvalue(int readsize,int writesize) - -{ - u32 uVar1; - indy_resource_entry cmd; - - post_indyrescmd_read_command(&cmd,0x14); - if (cmd.resourceID == 0x9abf1623) { - if (cmd.type == 2) { - if (cmd.size == 0x14) { - if (cmd.readsize == readsize) { - uVar1 = 1; - if (cmd.writesize != writesize) { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 post_indyrescmd_istype4_correctvalue(int param_1,int param_2,u8 *response) - -{ - undefined8 uVar1; - indy_resource_entry *local_18; - int iStack20; - int iStack16; - int iStack12; - int iStack8; - undefined4 uStack4; - - post_indyrescmd_read_command((indy_resource_entry *)&local_18,0x18); - if (local_18 == (indy_resource_entry *)0x9abf1623) { - if (iStack20 == 4) { - if (iStack16 == 0x18) { - if (iStack12 == param_1) { - if (iStack8 == param_2) { - uVar1 = 1; - *(undefined4 *)response = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 post_indyrescmd_istype6_correctvalue(int param_1,int param_2,u8 *response1,u8 *response2) - -{ - undefined8 uVar1; - indy_resource_entry *local_1c; - int iStack24; - int iStack20; - int iStack16; - int iStack12; - undefined4 uStack8; - undefined4 uStack4; - - post_indyrescmd_read_command((indy_resource_entry *)&local_1c,0x1c); - if (local_1c == (indy_resource_entry *)0x9abf1623) { - if (iStack24 == 6) { - if (iStack20 == 0x1c) { - if (iStack16 == param_1) { - if (iStack12 == param_2) { - uVar1 = 1; - *(undefined4 *)response1 = uStack8; - *(undefined4 *)response2 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 -post_indyrescmd_istype8_correctvalue - (int param_1,int param_2,u8 *response1,u8 *response2,u32 childsize,u8 *child) - -{ - undefined8 uVar1; - indy_resource_entry *local_20; - int iStack28; - int iStack24; - int iStack20; - int iStack16; - undefined4 uStack12; - undefined4 uStack8; - int iStack4; - - post_indyrescmd_read_command((indy_resource_entry *)&local_20,0x20); - if (local_20 == (indy_resource_entry *)0x9abf1623) { - if (iStack28 == 8) { - if (iStack24 == (iStack4 + 3U & 0xfffffffc) + 0x20) { - if (iStack20 == param_1) { - if (iStack16 == param_2) { - *(undefined4 *)response1 = uStack12; - *(undefined4 *)response2 = uStack8; - *(int *)childsize = iStack4; - post_indyrescmd_read_command - ((indy_resource_entry *)child,iStack4 + 3U & 0xfffffffc); - uVar1 = 1; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 post_indyrescmd_istypeA_correctvalue(int param_1,int param_2,u8 *response) - -{ - undefined8 uVar1; - indy_resource_entry iStack24; - undefined4 uStack4; - - post_indyrescmd_read_command(&iStack24,0x18); - if (iStack24.resourceID == 0x9abf1623) { - if (iStack24.type == 10) { - if (iStack24.size == 0x18) { - if (iStack24.readsize == param_1) { - if (iStack24.writesize == param_2) { - uVar1 = 1; - *(undefined4 *)response = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 -post_indyrescmd_istype10_correctvalue - (int param_1,int param_2,undefined4 *param_3,undefined4 *param_4,undefined4 *param_5) - -{ - undefined8 uVar1; - indy_resource_entry iStack32; - undefined4 uStack12; - undefined4 uStack8; - undefined4 uStack4; - - post_indyrescmd_read_command(&iStack32,0x20); - if (iStack32.resourceID == 0x9abf1623) { - if (iStack32.type == 0x10) { - if (iStack32.size == 0x20) { - if (iStack32.readsize == param_1) { - if (iStack32.writesize == param_2) { - uVar1 = 1; - *param_3 = uStack12; - *param_4 = uStack8; - *param_5 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 post_indyrescmd_istypeE_correctvalue(int param_1,int param_2,u8 *param_3) - -{ - undefined8 uVar1; - indy_resource_entry iStack24; - undefined4 uStack4; - - post_indyrescmd_read_command(&iStack24,0x18); - if (iStack24.resourceID == 0x9abf1623) { - if (iStack24.type == 0xe) { - if (iStack24.size == 0x18) { - if (iStack24.readsize == param_1) { - if (iStack24.writesize == param_2) { - uVar1 = 1; - *(undefined4 *)param_3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -undefined8 post_indyrescmd_istypeC_correctvalue(int param_1,int param_2,u8 *param_3) - -{ - undefined8 uVar1; - indy_resource_entry iStack24; - undefined4 uStack4; - - post_indyrescmd_read_command(&iStack24,0x18); - if (iStack24.resourceID == 0x9abf1623) { - if (iStack24.type == 0xc) { - if (iStack24.size == 0x18) { - if (iStack24.readsize == param_1) { - if (iStack24.writesize == param_2) { - uVar1 = 1; - *(undefined4 *)param_3 = uStack4; - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - } - else { - uVar1 = 0; - } - return uVar1; -} - - - -u32 response_indyrescmd_1_4_2(u8 *response) - -{ - post_indyrescmd_istype1_correctsize(0x18,0x18); - post_indyrescmd_istype4_correctvalue(0x14,0x14,response); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - - -u32 response_indyrescmd_1_6_2(u8 *response1,u8 *response2) - -{ - post_indyrescmd_istype1_correctsize(0x1c,0x1c); - post_indyrescmd_istype6_correctvalue(0x14,0x14,response1,response2); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - - -u32 response_indyrescmd_1_8_2(u8 *response1,u8 *response2,u32 datasize,u8 *data) - -{ - post_indyrescmd_istype1_correctsize(0,0x20); - post_indyrescmd_istype8_correctvalue(0x14,0x14,response1,response2,datasize,data); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - - -u32 response_indyrescmd_1_A_2(u8 *param_1) - -{ - post_indyrescmd_istype1_correctsize(0x18,0x18); - post_indyrescmd_istypeA_correctvalue(0x14,0x14,param_1); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - - -u32 response_indyrescmd_1_10_2(u32 *param_1,u32 *param_2,u32 *param_3) - -{ - post_indyrescmd_istype1_correctsize(0x20,0x20); - post_indyrescmd_istype10_correctvalue(0x14,0x14,param_1,param_2,param_3); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - - -u32 response_indyrescmd_1_E_2(u8 *response) - -{ - post_indyrescmd_istype1_correctsize(0x18,0x18); - post_indyrescmd_istypeE_correctvalue(0x14,0x14,response); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - - -u32 response_indyrescmd_1_C_2(u8 *response) - -{ - post_indyrescmd_istype1_correctsize(0x18,0x18); - post_indyrescmd_istypeC_correctvalue(0x14,0x14,response); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - - -u32 response_indyrescmd_curr_matches_expected(int readsize,int writesize) - -{ - u32 ret; - indy_resource_entry local_14; - - post_indyrescmd_read_command(&local_14,0x14); - if (local_14.resourceID == 0x9abf1623) { - if ((readsize == 0) || (local_14.readsize == readsize)) { - if (writesize == 0) { - ret = 1; - } - else { - if (local_14.writesize == writesize) { - ret = 1; - } - else { - ret = 0; - } - } - } - else { - ret = 0; - } - } - else { - ret = 0; - } - return ret; -} - - - -void something_game_c_debug_related(void) - -{ - get_ptr_debug_notice_list_entry(&game_c_debug_notice_list_entry,"game_c_debug"); - return; -} - - - -void reset_mem_bank_5(void) - -{ - proc_7F0BD234(); - mempResetBank('\x05'); - something_mem_bank_a0(5); - return; -} - - - -void proc_7F0D1A7C(void) - -{ - mempNullNextEntryInBank('\x05'); - something_mem_bank_a0(5); - return; -} - - - -char * get_compile_time(void) - -{ - return "Jun 29 1997 20:46:05"; -} - - - -undefined4 * proc_7F0D1AC0(undefined4 *param_1) - -{ - flt_8004EAF4 = 0.00000000; - flt_8004EAF0 = 0.00000000; - *param_1 = 0xba000c02; - param_1[1] = 0; - param_1[3] = 0xc0; - param_1[2] = 0xba000602; - param_1[5] = 1; - param_1[4] = 0xb6000000; - param_1[6] = 0xe7000000; - param_1[7] = 0; - param_1[8] = 0xba001301; - param_1[9] = 0; - param_1[0xb] = 0x300000; - param_1[10] = 0xba001402; - param_1[0xd] = 0xf0a4000; - param_1[0xc] = 0xb900031d; - param_1[0xf] = 0x800000; - param_1[0xe] = 0xba001701; - return param_1 + 0x10; -} - - - -void proc_7F0D1B94(uint *param_1,float param_2,uint param_3,uint param_4,int param_5) - -{ - int in_stack_00000010; - - proc_7F0D1BD0(param_1,(float)param_3,param_3,param_4,param_5,in_stack_00000010,2); - return; -} - - - -uint * proc_7F0D1BD0(uint *param_1,float param_2,uint param_3,uint param_4,int param_5,int param_6, - int param_7) - -{ - int iVar1; - float fVar2; - uint *puVar3; - uint uVar4; - int iVar5; - uint uVar6; - uint uVar7; - float fVar8; - float fVar9; - int iVar10; - int iVar11; - int in_stack_00000018; - - fVar2 = flt_8004EAF4; - if (0.00000000 < (float)param_3) { - fVar9 = flt_8004EAF4 / 10.00000000; - *param_1 = 0xf7000000; - fVar8 = fVar2 + (float)param_3; - puVar3 = param_1 + 2; - uVar6 = (param_4 & 0xf8) << 8 | (param_5 & 0xf8U) << 3 | param_6 >> 2 & 0x3eU | 1; - param_1[1] = uVar6 << 0x10 | uVar6; - iVar10 = (int)fVar9; - iVar11 = (int)(fVar8 / 10.00000000); - if ((iVar10 <= iVar11) && (iVar10 < 3)) { - iVar5 = iVar10 * 0xdb; - uVar6 = (int)((fVar2 * 219.00000000) / 10.00000000) + iVar10 * -0xdb + 0x32; - iVar1 = iVar10 * -0xdb; - while( true ) { - uVar7 = (int)((fVar8 * 219.00000000) / 10.00000000) + iVar1 + 0x32; - uVar4 = uVar6; - if ((int)uVar6 < 0x32) { - uVar4 = 0x32; - } - iVar5 += 0xdb; - if (0x10d < (int)uVar7) { - uVar7 = 0x10d; - } - if ((int)uVar4 <= (int)uVar7) { - *puVar3 = (uVar7 & 0x3ff) << 0xe | 0xf6000000 | - (param_7 + in_stack_00000018 + iVar10 * 7 + 0x11U & 0x3ff) << 2; - puVar3[1] = (uVar4 & 0x3ff) << 0xe | - (in_stack_00000018 + iVar10 * 7 + 0x12U & 0x3ff) << 2; - puVar3 = puVar3 + 2; - } - iVar10 += 1; - uVar6 -= 0xdb; - if ((iVar11 < iVar10) || (2 < iVar10)) break; - iVar1 = -iVar5; - } - } - flt_8004EAF4 = flt_8004EAF4 + (float)param_3; - param_1 = puVar3; - } - return param_1; -} - - - -void proc_7F0D1DCC(float param_1) - -{ - if (0.00000000 < param_1) { - flt_8004EAF4 = flt_8004EAF4 + param_1; - } - return; -} - - - -void proc_7F0D1DFC(uint *param_1,float param_2,uint param_3,uint param_4,int param_5) - -{ - proc_7F0D1B94(param_1,(float)param_3,(uint)((flt_8004EAF0 + (float)param_3) - flt_8004EAF4), - param_4,param_5); - return; -} - - - -void proc_7F0D1E44(uint *param_1,float param_2,uint param_3,uint param_4,int param_5,int param_6, - int param_7) - -{ - proc_7F0D1BD0(param_1,(float)param_3,(uint)((flt_8004EAF0 + (float)param_3) - flt_8004EAF4), - param_4,param_5,param_6,param_7); - return; -} - - - -uint * proc_7F0D1E98(undefined4 *param_1,undefined8 param_2,undefined8 param_3,int param_4) - -{ - uint uVar1; - uint uVar2; - uint *puVar3; - int iVar4; - int iVar5; - uint uVar6; - uint uVar7; - uint *puVar8; - uint uVar9; - uint uVar10; - float fVar11; - float fVar12; - - fVar11 = flt_8004EAF4 / 10.00000000; - *param_1 = 0xf7000000; - uVar1 = ((uint)param_2 & 0xf8) << 8 | ((uint)param_3 & 0xf8) << 3 | param_4 >> 2 & 0x3eU | 1; - param_1[1] = uVar1 << 0x10 | uVar1; - puVar8 = param_1 + 2; - if (-1 < (int)fVar11) { - uVar2 = 0x15; - uVar1 = 0x12; - do { - uVar6 = (uVar1 & 0x3ff) << 2; - uVar9 = (uVar2 & 0x3ff) << 2; - puVar8[1] = uVar6 | 0xc8000; - *puVar8 = uVar9 | 0xf60c8000; - puVar8[3] = uVar6 | 0x11c000; - puVar8[2] = uVar9 | 0xf611c000; - puVar8[4] = uVar9 | 0xf6174000; - puVar8[5] = uVar6 | 0x174000; - puVar3 = puVar8 + 6; - iVar5 = 3; - uVar10 = 0xf61cc000; - uVar7 = uVar6 | 0x1cc000; - fVar12 = 876.00000000; - iVar4 = iVar5; - puVar8 = puVar3; - if (true) { - do { - *puVar8 = uVar10 | uVar9; - puVar8[1] = uVar7; - uVar10 = ((int)(fVar12 / 10.00000000) + 0x32U & 0x3ff) << 0xe; - puVar8[2] = uVar10 | 0xf6000000 | uVar9; - puVar8[3] = uVar10 | uVar6; - uVar10 = ((int)(((float)(iVar4 + 2) * 219.00000000) / 10.00000000) + 0x32U & - 0x3ff) << 0xe; - iVar5 = iVar4 + 4; - puVar8[4] = uVar10 | 0xf6000000 | uVar9; - puVar8[5] = uVar10 | uVar6; - puVar3 = puVar8 + 8; - uVar10 = ((int)(((float)(iVar4 + 3) * 219.00000000) / 10.00000000) + 0x32U & - 0x3ff) << 0xe; - puVar8[6] = uVar10 | 0xf6000000 | uVar9; - puVar8[7] = uVar10 | uVar6; - uVar7 = ((int)(((float)iVar5 * 219.00000000) / 10.00000000) + 0x32U & 0x3ff) << - 0xe; - uVar10 = uVar7 | 0xf6000000; - uVar7 |= uVar6; - fVar12 = (float)(iVar4 + 5) * 219.00000000; - iVar4 = iVar5; - puVar8 = puVar3; - } while (iVar5 != 7); - } - *puVar3 = uVar10 | uVar9; - puVar3[1] = uVar7; - uVar10 = ((int)(fVar12 / 10.00000000) + 0x32U & 0x3ff) << 0xe; - puVar3[2] = uVar10 | 0xf6000000 | uVar9; - puVar3[3] = uVar10 | uVar6; - uVar10 = ((int)(((float)(iVar5 + 2) * 219.00000000) / 10.00000000) + 0x32U & 0x3ff) << - 0xe; - puVar3[4] = uVar10 | 0xf6000000 | uVar9; - puVar3[5] = uVar10 | uVar6; - puVar8 = puVar3 + 8; - uVar10 = ((int)(((float)(iVar5 + 3) * 219.00000000) / 10.00000000) + 0x32U & 0x3ff) << - 0xe; - puVar3[7] = uVar10 | uVar6; - puVar3[6] = uVar10 | 0xf6000000 | uVar9; - uVar1 += 7; - uVar2 += 7; - } while (((int)uVar1 <= (int)fVar11 * 7 + 0x12) && (uVar1 != 0x27)); - } - return puVar8; -} - - - -void proc_7F0D2320(void) - -{ - flt_8004EAF0 = (float)((int)(flt_8004EAF4 / 10.00000000) * 10 + 10); - flt_8004EAF4 = flt_8004EAF0; - return; -} - - - -void remove_viewport_buffer(void) - -{ - viewport_img = 0; - return; -} - - - -void allocate_viewport_buffer(void) - -{ - s32 sVar1; - uint uVar2; - - if (resolution == 0) { - mainthread._352_4_ = 0x140; - sVar1 = get_num_players(); - if (sVar1 == 1) { - mainthread._356_4_ = 0xf0; - } - else { - mainthread._356_4_ = 0x78; - } - } - else { - mainthread._352_4_ = 0x1b8; - mainthread._356_4_ = 0x14a; - } - uVar2 = mempAllocBytesInBank(mainthread._352_4_ * mainthread._356_4_ * 2 + 0x40,'\x04'); - viewport_img = uVar2 + 0x3f & 0xffffffc0; - return; -} - - - -void proc_7F0D2448(undefined4 param_1,undefined4 param_2,undefined4 param_3) - -{ - viewport_img = param_1; - mainthread._352_4_ = param_2; - mainthread._356_4_ = param_3; - return; -} - - - -undefined4 * proc_7F0D2464(undefined4 *param_1) - -{ - int iVar1; - u32 uVar2; - s32 sVar3; - int iVar4; - - if (viewport_img == 0) { - allocate_viewport_buffer(); - } - uVar2 = get_cur_playernum(); - if ((int)uVar2 < 2) { - sVar3 = get_num_players(); - if (sVar3 == 2) { - uVar2 = get_cur_playernum(); - if (uVar2 == 1) goto LAB_7f0d24c4; - } - iVar4 = 0; - } - else { -LAB_7f0d24c4: - iVar4 = 0x12c00; - } - iVar1 = viewport_img; - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[2] = 0xfe000000; - param_1[3] = iVar1 - iVar4 & 0xffffffc0; - return param_1 + 4; -} - - - -undefined4 * proc_7F0D2518(undefined4 *param_1) - -{ - int iVar1; - short sVar4; - short sVar5; - s32 sVar2; - u32 uVar3; - uint uVar6; - uint uStack4; - - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[2] = 0xb900031d; - param_1[3] = 0; - param_1[4] = mainthread._352_4_ - 1U & 0xfff | 0xff100000; - param_1[5] = viewport_img + -0x80000000; - param_1[7] = 0x300000; - param_1[6] = 0xba001402; - param_1[8] = 0xf7000000; - param_1[9] = 0xfffcfffc; - param_1[10] = 0xed000000; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - param_1[0xb] = (int)((float)(int)sVar5 * 4.00000000) & 0xfffU | - ((int)((float)(int)sVar4 * 4.00000000) & 0xfffU) << 0xc; - sVar2 = get_num_players(); - if (sVar2 < 3) { - uStack4 = 0; - sVar4 = get_video2_settings_txtClipW(); - uVar6 = (int)sVar4 - 1; - } - else { - uVar3 = get_cur_playernum(); - if ((uVar3 == 0) || (uVar3 = get_cur_playernum(), uVar3 == 2)) { - uStack4 = 0; - sVar4 = get_video2_settings_txtClipW(); - iVar1 = (int)sVar4; - if (sVar4 < 0) { - iVar1 += 1; - } - uVar6 = (iVar1 >> 1) - 1; - } - else { - sVar4 = get_video2_settings_txtClipW(); - iVar1 = (int)sVar4; - if (sVar4 < 0) { - iVar1 += 1; - } - uStack4 = iVar1 >> 1; - sVar4 = get_video2_settings_txtClipW(); - uVar6 = (int)sVar4 - 1; - } - } - param_1[0xc] = (uVar6 & 0x3ff) << 0xe | 0xf6000000 | (mainthread._356_4_ - 1U & 0x3ff) << 2; - param_1[0xd] = (uStack4 & 0x3ff) << 0xe; - param_1[0xe] = 0xe7000000; - param_1[0xf] = 0; - return param_1 + 0x10; -} - - - -MUSIC_TRACKS getmusictrack_or_randomtrack(u32 stagenum) - -{ - music_setup *pmVar1; - word *pwVar2; - u32 uVar3; - longlong lVar4; - uint uVar5; - word wVar6; - - if (music_setup_entries[0].stage_id != 0) { - pmVar1 = music_setup_entries; - lVar4 = (longlong)music_setup_entries[0].stage_id; - do { - if ((longlong)(int)stagenum == lVar4) { - wVar6 = pmVar1->main_music; - if (wVar6 == 0xffff) { - uVar5 = 0; - pwVar2 = random_tracks; - wVar6 = random_tracks[1]; - if (random_tracks[0] != 0) { - while( true ) { - uVar5 += 1; - if (wVar6 == 0) break; - wVar6 = pwVar2[2]; - pwVar2 = pwVar2 + 1; - } - } - uVar3 = get_random_value(); - wVar6 = random_tracks[uVar3 % uVar5]; - if (uVar5 == 0) { - trap(0x1c00); - } - } - goto LAB_7f0d283c; - } - lVar4 = (longlong)pmVar1[1].stage_id; - pmVar1 = pmVar1 + 1; - } while (lVar4 != 0); - } - uVar5 = 0; - pwVar2 = random_tracks; - wVar6 = random_tracks[1]; - if (random_tracks[0] != 0) { - while( true ) { - uVar5 += 1; - if (wVar6 == 0) break; - wVar6 = pwVar2[2]; - pwVar2 = pwVar2 + 1; - } - } - uVar3 = get_random_value(); - wVar6 = random_tracks[uVar3 % uVar5]; - if (uVar5 == 0) { - trap(0x1c00); - } -LAB_7f0d283c: - return (MUSIC_TRACKS)(int)(short)wVar6; -} - - - -short sub_GAME_7F0D2848(short param_1) - -{ - music_setup *pmVar1; - short sVar2; - music_setup *pmVar3; - - pmVar3 = music_setup_entries; - sVar2 = music_setup_entries[0].stage_id; - if (music_setup_entries[0].stage_id != 0) { - do { - if (param_1 == sVar2) { - return pmVar3->bg_sound; - } - pmVar1 = pmVar3 + 1; - pmVar3 = pmVar3 + 1; - sVar2 = pmVar1->stage_id; - } while (pmVar1->stage_id != 0); - } - return 0xffff; -} - - - -short proc_7F0D2890(short param_1) - -{ - music_setup *pmVar1; - short sVar2; - music_setup *pmVar3; - - pmVar3 = music_setup_entries; - sVar2 = music_setup_entries[0].stage_id; - if (music_setup_entries[0].stage_id != 0) { - do { - if (param_1 == sVar2) { - return pmVar3->xtrack; - } - pmVar1 = pmVar3 + 1; - pmVar3 = pmVar3 + 1; - sVar2 = pmVar1->stage_id; - } while (pmVar1->stage_id != 0); - } - return 0xffff; -} - - - -void proc_7F0D28E0(int param_1,int param_2,undefined8 param_3,byte *param_4) - -{ - byte bVar1; - byte *pbVar2; - uint uVar3; - uint uVar4; - byte bVar5; - int iVar6; - uint uVar7; - byte bVar8; - byte bVar9; - - uVar3 = (uint)param_3; - bVar5 = *(byte *)((uVar3 << 2 & 0x3e0) + (param_2 >> 3) + param_1 + 0x1800); - uVar4 = (uint)bVar5; - pbVar2 = (byte *)(((uVar3 & 0xc0) << 5 | (uVar3 & 7) << 8 | uVar3 << 2 & 0xe0 | param_2 >> 3) + - param_1); - if (((bVar5 & 0x80) == 0) || (DAT_8004ed04 == '\0')) { - uVar3 = (int)(uint)bVar5 >> 3; - } - else { - uVar3 = uVar4; - uVar4 = (int)(uint)bVar5 >> 3; - } - uVar4 &= 7; - uVar3 &= 7; - iVar6 = 0; - if ((bVar5 & 0x40) == 0) { - uVar4 += 8; - uVar3 += 8; - } - bVar5 = (byte)uVar4; - do { - bVar1 = *pbVar2; - iVar6 += 1; - pbVar2 = pbVar2 + 0x100; - uVar7 = uVar3; - if ((bVar1 & 0x80) != 0) { - uVar7 = uVar4; - } - bVar9 = (byte)uVar3; - bVar8 = bVar9; - if ((bVar1 & 0x40) != 0) { - bVar8 = bVar5; - } - *param_4 = bVar8 | (byte)(uVar7 << 4); - uVar7 = uVar3; - if ((bVar1 & 0x20) != 0) { - uVar7 = uVar4; - } - bVar8 = bVar9; - if ((bVar1 & 0x10) != 0) { - bVar8 = bVar5; - } - param_4[1] = bVar8 | (byte)(uVar7 << 4); - uVar7 = uVar3; - if ((bVar1 & 8) != 0) { - uVar7 = uVar4; - } - bVar8 = bVar9; - if ((bVar1 & 4) != 0) { - bVar8 = bVar5; - } - param_4[2] = bVar8 | (byte)(uVar7 << 4); - uVar7 = uVar3; - if ((bVar1 & 2) != 0) { - uVar7 = uVar4; - } - if ((bVar1 & 1) != 0) { - bVar9 = bVar5; - } - param_4[3] = bVar9 | (byte)(uVar7 << 4); - param_4 = param_4 + 0x20; - } while (iVar6 != 8); - return; -} - - - -void proc_7F0D2A84(int param_1,int param_2) - -{ - int iVar1; - int iVar2; - byte *pbVar3; - longlong lVar4; - longlong lVar5; - int local_8; - - DAT_8004ed08 += 1; - if ((int)(uint)DAT_8004ed08 % 0x19 == 0) { - DAT_8004ed08 = 0; - iVar1 = 0; - do { - *(undefined *)(mainthread._380_4_ + iVar1) = 1; - *(undefined *)(mainthread._380_4_ + iVar1 + 1) = 1; - *(undefined *)(mainthread._380_4_ + iVar1 + 2) = 1; - iVar2 = mainthread._380_4_ + iVar1; - iVar1 += 4; - *(undefined *)(iVar2 + 3) = 1; - } while (iVar1 != 0x300); - DAT_8004ed04 = '\x01' - DAT_8004ed04; - } - local_8 = 0; - do { - iVar1 = 0; - lVar5 = (longlong)(local_8 + 0x40); - do { - lVar4 = (longlong)local_8; - pbVar3 = (byte *)(((local_8 >> 6) * 4 + (iVar1 >> 6)) * 0x800 + param_2); - if (lVar4 < lVar5) { - do { - if (iVar1 < iVar1 + 0x40) { - iVar2 = iVar1; - do { - if (*(char *)((((int)lVar4 >> 3) << 5 | iVar2 >> 3) + mainthread._380_4_ - ) != '\0') { - proc_7F0D28E0(param_1,iVar2,lVar4,pbVar3); - } - iVar2 += 8; - pbVar3 = pbVar3 + 4; - } while (iVar2 < iVar1 + 0x40); - } - lVar4 = (longlong)((int)lVar4 + 8); - pbVar3 = pbVar3 + 0xe0; - } while (lVar4 < lVar5); - } - iVar1 += 0x40; - } while (iVar1 < 0x100); - local_8 = local_8 + 0x40; - } while (lVar5 < 0xc0); - iVar1 = 0; - do { - *(undefined *)(mainthread._380_4_ + iVar1) = 0; - *(undefined *)(mainthread._380_4_ + iVar1 + 1) = 0; - *(undefined *)(mainthread._380_4_ + iVar1 + 2) = 0; - iVar2 = mainthread._380_4_ + iVar1; - iVar1 += 4; - *(undefined *)(iVar2 + 3) = 0; - } while (iVar1 != 0x300); - return; -} - - - -// WARNING: Instruction at (ram,0x7f0d2e2c) overlaps instruction at (ram,0x7f0d2e28) -// - -void spectrum_p1controller_to_kempston(void) - -{ - u32 uVar1; - int iVar2; - int iVar3; - undefined1 *puVar4; - byte bStack13; - int iStack12; - int iStack8; - int iStack4; - - iStack4 = 0; - iStack8 = 0; - iStack12 = 0; - bStack13 = 0; - redirect_to_ramrom_replay_and_record_handlers_if_set(); - uVar1 = get_controller_buttons_held - ('\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); - iVar2 = get_controller_3dstick_L_R('\0',-3,3); - iVar3 = get_controller_3dstick_U_D('\0',-3,3); - byte_8004EC34 = 0xff; - puVar4 = &DAT_8004ec35; - do { - puVar4 = puVar4 + 4; - puVar4[1] = 0xff; - puVar4[2] = 0xff; - puVar4[3] = 0xff; - *puVar4 = 0xff; - puVar4 = puVar4; - } while (puVar4 != (undefined1 *)0x8004ec3d); - if (((uVar1 & 0x202) != 0) || (iVar2 < -1)) { - iStack12 = 1; - } - if (((uVar1 & 0x101) != 0) || (1 < iVar2)) { - bStack13 = 1; - } - if (((uVar1 & 0x808) != 0) || (1 < iVar3)) { - iStack4 = 1; - } - if (((uVar1 & 0x404) != 0) || (iVar3 < -1)) { - iStack8 = 1; - } - if ((mainthread[413] == '\x02') && ((uVar1 & 0xc000) != 0)) { - iStack4 = 1; - } - if (((mainthread[413] == '\x04') || (mainthread[413] == '\a')) && ((uVar1 & 0xc000) != 0)) { - iStack8 = 1; - } - if (((((mainthread[413] == '\0') || (mainthread[413] == '\x01')) || - ((mainthread[413] == '\x06' || ((mainthread[413] == '\t' || (mainthread[413] == '\x04'))))) - ) || (mainthread[413] == '\a')) && ((uVar1 & 0xc000) != 0)) { - byte_8004EC38 &= 0xfe; - } - if (((mainthread[413] == '\x02') || (mainthread[413] == '\b')) && ((uVar1 & 0xc000) != 0)) { - DAT_8004ec37 &= 0xef; - } - if ((mainthread[413] == '\x05') && ((uVar1 & 0xc000) != 0)) { - DAT_8004ec37 &= 0xfb; - } - if (mainthread[413] == '\x03') { - if ((uVar1 & 0xc000) != 0) { - byte_8004EC38 &= 0xef; - } - if ((uVar1 & 0x8000) != 0) { - byte_8004EC34 &= 0xfd; - } - if ((uVar1 & 0x4000) != 0) { - DAT_8004ec3b &= 0xfe; - } - } - if (mainthread[413] == '\x06') { - if ((uVar1 & 0x8000) != 0) { - iStack4 = 1; - } - if ((uVar1 & 0x4000) != 0) { - DAT_8004ec3b &= 0xfe; - } - } - if (mainthread[413] == '\x01') { - if ((uVar1 & 0xc000) != 0) { - byte_8004EC34 &= 0xfd; - } - if ((uVar1 & 0x200) != 0) { - DAT_8004ec37 &= 0xf7; - } - if ((uVar1 & 0x400) != 0) { - DAT_8004ec37 &= 0xef; - } - if ((uVar1 & 0x100) != 0) { - byte_8004EC38 &= 0xef; - } - } - if ((uVar1 & 0x20) != 0) { - iVar2 = 0; - do { - *(undefined *)(mainthread._376_4_ + iVar2) = 0; - *(undefined *)(mainthread._376_4_ + iVar2 + 1) = 0; - *(undefined *)(mainthread._376_4_ + iVar2 + 2) = 0; - iVar3 = mainthread._376_4_ + iVar2; - iVar2 += 4; - *(undefined *)(iVar3 + 3) = 0; - } while (iVar2 != 0x4000); - } - byte_8004EC40 = - ((uVar1 & 0x2000) != 0) << 4 | (byte)(iStack4 << 3) | (byte)(iStack8 << 2) | - (byte)(iStack12 << 1) | bStack13; - return; -} - - - -void init_spectrum_game(byte param_1) - -{ - int iVar1; - uint uVar2; - bool bVar3; - uint uVar4; - int iVar5; - u8 *puVar6; - ushort uVar7; - undefined *puVar8; - int iVar9; - uint uVar10; - u8 *puVar11; - - mainthread._388_4_ = mempAllocBytesInBank(0x100,'\x04'); - uVar4 = 0; - do { - bVar3 = false; - uVar2 = 0; - uVar10 = uVar4; - while( true ) { - uVar2 += 1; - if ((uVar10 & 1) != 0) { - bVar3 = (bool)(bVar3 ^ 1); - } - if (uVar2 == 8) break; - uVar10 = (int)uVar4 >> (uVar2 & 0x1f); - } - if (bVar3) { - *(undefined *)(mainthread._388_4_ + uVar4) = 0; - } - else { - *(undefined *)(mainthread._388_4_ + uVar4) = 4; - } - uVar4 += 1; - } while ((int)uVar4 < 0x100); - mainthread._384_4_ = mempAllocBytesInBank(0x6000,'\x04'); - mainthread._380_4_ = mempAllocBytesInBank(0x300,'\x04'); - iVar5 = 0; - do { - puVar8 = (undefined *)(mainthread._380_4_ + iVar5); - iVar5 += 1; - *puVar8 = 1; - } while (iVar5 < 0x300); - mainthread._376_4_ = mempAllocBytesInBank(0x10000,'\x04'); - mainthread._368_4_ = - _load_resource_named_to_membank((byte *)"em/data/spec_rom.seg.rz",1,0x100,4); - iVar5 = 0; - do { - puVar11 = mainthread._368_4_ + iVar5; - puVar6 = (u8 *)(mainthread._376_4_ + iVar5); - iVar5 += 1; - *puVar6 = *puVar11; - } while (iVar5 < 0x4000); - uVar4 = (int)(char)param_1 & 0xff; - mainthread[413] = param_1; - if (4 < uVar4) { - mainthread[413] = 0; - uVar4 = 0; - } - mainthread._372_4_ = - _load_resource_named_to_membank((&aEmDataSabre_seg_rz_ptr)[uVar4],1,0x100,4); - iVar5 = 0; - do { - *(u8 *)(mainthread._376_4_ + iVar5 + 0x4000) = mainthread._372_4_[iVar5 + 0x1b]; - *(u8 *)(mainthread._376_4_ + iVar5 + 0x4001) = mainthread._372_4_[iVar5 + 0x1c]; - *(u8 *)(mainthread._376_4_ + iVar5 + 0x4002) = mainthread._372_4_[iVar5 + 0x1d]; - iVar1 = iVar5 + 0x1e; - iVar9 = mainthread._376_4_ + iVar5; - iVar5 += 4; - *(u8 *)(iVar9 + 0x4003) = mainthread._372_4_[iVar1]; - } while (iVar5 != 0xc000); - mainthread[410] = (byte)((int)(uint)mainthread._372_4_[0x13] >> 2) & 1; - uVar7 = (ushort)mainthread._372_4_[0x18] * 0x100 + (ushort)mainthread._372_4_[0x17]; - mainthread[412] = mainthread._372_4_[0x19]; - if (mainthread[412] != '\0') { - mainthread[412] += '\x01'; - } - mainthread[392] = mainthread._372_4_[0x16]; - mainthread[393] = mainthread._372_4_[0x15]; - mainthread[394] = mainthread._372_4_[0xe]; - mainthread[395] = mainthread._372_4_[0xd]; - mainthread[396] = mainthread._372_4_[0xc]; - mainthread[397] = mainthread._372_4_[0xb]; - mainthread[398] = mainthread._372_4_[10]; - mainthread[399] = mainthread._372_4_[9]; - mainthread[400] = mainthread._372_4_[8]; - mainthread[401] = mainthread._372_4_[7]; - mainthread[402] = mainthread._372_4_[6]; - mainthread[403] = mainthread._372_4_[5]; - mainthread[404] = mainthread._372_4_[4]; - mainthread[405] = mainthread._372_4_[3]; - mainthread[406] = mainthread._372_4_[2]; - mainthread[407] = mainthread._372_4_[1]; - mainthread[408] = *mainthread._372_4_; - mainthread[409] = mainthread._372_4_[0x14]; - mainthread[411] = mainthread[410]; - mainthread._414_2_ = (ushort)mainthread._372_4_[0x12] * 0x100 + (ushort)mainthread._372_4_[0x11] - ; - mainthread._416_2_ = (ushort)mainthread._372_4_[0x10] * 0x100 + (ushort)mainthread._372_4_[0xf]; - mainthread._418_2_ = uVar7 + 2; - mainthread._420_2_ = - CONCAT11(*(undefined *)(mainthread._376_4_ + uVar7 + 1), - *(undefined *)(uVar7 + mainthread._376_4_)); - return; -} - - - -void run_spectrum_game(void) - -{ - spectrum_p1controller_to_kempston(); - spectrum_hw_emulation(); - proc_7F0D2A84(mainthread._376_4_ + 0x4000,mainthread._384_4_); - return; -} - - - -undefined4 * spectrum_draw_screen(undefined4 *param_1) - -{ - int iVar1; - int iVar2; - int iVar3; - int iVar4; - int iVar5; - int iStack100; - - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[3] = 0x8004ed0c; - param_1[2] = 0xfd100000; - param_1[4] = 0xf5000300; - param_1[5] = 0x7000000; - param_1[6] = 0xe6000000; - param_1[7] = 0; - param_1[8] = 0xf0000000; - param_1[9] = 0x703c000; - param_1[10] = 0xba001301; - param_1[0xb] = 0; - param_1[0xd] = 0xf0a4000; - param_1[0xc] = 0xb900031d; - param_1[0xe] = 0xfcffffff; - param_1[0xf] = 0xfffcf87c; - param_1[0x10] = 0xba000c02; - param_1[0x11] = 0; - param_1[0x13] = 0xffffffff; - param_1[0x12] = 0xbb000001; - param_1 = param_1 + 0x14; - iStack100 = 0; - iVar1 = 0; - do { - iVar3 = iVar1 + 1; - iVar5 = iStack100 << 0xb; - iVar4 = 0; - do { - *param_1 = 0xe7000000; - param_1[1] = 0; - param_1[2] = 0xfd100000; - param_1[3] = iVar5 + mainthread._384_4_; - param_1[5] = 0x7000000; - param_1[4] = 0xf5100000; - param_1[7] = 0; - param_1[6] = 0xe6000000; - param_1[9] = 0x73ff200; - param_1[8] = 0xf3000000; - param_1[0xb] = 0; - param_1[10] = 0xe7000000; - param_1[0xc] = 0xba000e02; - param_1[0xd] = 0x8000; - param_1[0xf] = 0x18060; - iVar2 = iVar4 + 1; - param_1[0xe] = 0xf5400800; - param_1[0x10] = 0xf2000000; - param_1[0x11] = 0x7e07e0; - param_1[0x12] = - (iVar2 * 0x40 + 0x20U & 0x3ff) << 0xe | 0xe4000000 | - (iVar3 * 0x40 + 0x18) * 4 & 0xfffU; - param_1[0x13] = - (iVar4 * 0x40 + 0x20U & 0x3ff) << 0xe | (iVar1 * 0x40 + 0x18) * 4 & 0xfffU; - param_1[0x14] = 0xb4000000; - param_1[0x15] = 0; - iVar5 += 0x800; - param_1[0x16] = 0xb3000000; - param_1[0x17] = 0x4000400; - param_1 = param_1 + 0x18; - iVar4 = iVar2; - } while (iVar2 != 4); - iStack100 += 4; - iVar1 = iVar3; - } while (iVar3 != 3); - return param_1; -} - - - -ulonglong spectrum_input_handling(undefined8 param_1,uint param_2,char param_3) - -{ - int iVar1; - ulonglong uVar2; - uint uVar3; - - param_2 &= 0xff; - if (param_3 == -2) { - uVar2 = 0xff; - iVar1 = 0; - do { - if ((param_2 & 1) == 0) { - uVar2 &= (byte)(&byte_8004EC34)[iVar1]; - } - if ((param_2 >> 1 & 1) == 0) { - uVar2 &= (byte)(&DAT_8004ec35)[iVar1]; - } - uVar3 = param_2 >> 3; - if ((param_2 >> 2 & 1) == 0) { - uVar2 &= (byte)(&DAT_8004ec36)[iVar1]; - } - param_2 >>= 4; - if ((uVar3 & 1) == 0) { - uVar2 &= (byte)(&DAT_8004ec37)[iVar1]; - } - iVar1 += 4; - } while (iVar1 != 8); - return uVar2; - } - if (param_3 == '\x1f') { - return (ulonglong)byte_8004EC40; - } - return 0xff; -} - - - -void dummy7F0D37D4(void) - -{ - return; -} - - - -undefined8 proc_7F0D37DC(undefined8 param_1,undefined8 param_2,char param_3,byte param_4) - -{ - if (param_3 == -2) { - if ((param_4 & 7) != dword_8004ED54._0_1_) { - dword_8004ED54._0_1_ = param_4 & 7; - } - return 0; - } - return 0; -} - - - -// WARNING: Instruction at (ram,0x7f0d39d8) overlaps instruction at (ram,0x7f0d39d4) -// - -void spectrum_hw_emulation(void) - -{ - ushort uVar1; - undefined uVar2; - uint uVar3; - char cStack43; - ushort uStack30; - ushort uStack24; - undefined uStack20; - char cStack19; - - cStack19 = mainthread[410]; - uStack20 = mainthread[411]; - uStack30 = mainthread._418_2_; - uStack24 = mainthread._420_2_; - if ((true) || (cStack43 == '\0')) { - do { - cStack43 = '\x01'; - uVar3 = (uint)uStack24; - uStack24 += 1; - if (true) { - // WARNING: Could not recover jumptable at 0x7f0d3a34. Too many branches - // WARNING: Treating indirect jump as call - (*(code *)(&jpt_70107964)[*(byte *)(uVar3 + mainthread._376_4_)])(); - return; - } - } while ((true) || (false)); - } - uVar1 = uStack24; - if ((false) && ((cStack43 != '\0' && (mainthread[410] != '\0')))) { - uVar1 = uStack24 + 1; - if (*(char *)((uint)uStack24 + mainthread._376_4_) != 'v') { - uVar1 = uStack24; - } - uStack24 = uVar1; - uStack20 = 0; - cStack19 = '\0'; - uVar2 = (undefined)uStack24; - if (((mainthread[412] == '\0') || (mainthread[412] == '\x01')) || - (mainthread[412] == '\x02')) { - uStack30 = mainthread._418_2_ - 2; - if (uStack30 < 0x5b00) { - if (uStack30 < 0x5800) { - if (0x3fff < uStack30) { - *(undefined *)(mainthread._376_4_ + (uint)uStack30) = uVar2; - *(undefined *) - (mainthread._380_4_ + - ((int)((uint)uStack30 & 0x1800) >> 3 | (uint)uStack30 & 0xff)) = 1; - } - } - else { - *(undefined *)(mainthread._376_4_ + (uint)uStack30) = uVar2; - *(undefined *)(mainthread._380_4_ + (uint)uStack30 + -0x5800) = 1; - } - } - else { - *(undefined *)(mainthread._376_4_ + (uint)uStack30) = uVar2; - } - if ((uint)uStack30 + 1 < 0x5b00) { - if ((uint)uStack30 + 1 < 0x5800) { - if (0x3fff < (uint)uStack30 + 1) { - *(undefined *)(mainthread._376_4_ + (uint)uStack30 + 1) = - (char)((uint)uStack24 >> 8); - *(undefined *) - (mainthread._380_4_ + - ((int)((uint)uStack30 + 1 & 0x1800) >> 3 | (uint)uStack30 + 1 & 0xff)) = 1; - } - } - else { - *(undefined *)(mainthread._376_4_ + (uint)uStack30 + 1) = - (char)((uint)uStack24 >> 8); - *(undefined *)(mainthread._380_4_ + (uint)uStack30 + -0x57ff) = 1; - } - } - else { - *(undefined *)(mainthread._376_4_ + (uint)uStack30 + 1) = - (char)((uint)uStack24 >> 8); - } - uStack24 = 0x38; - uVar1 = uStack24; - } - else { - uVar1 = uStack24; - if (mainthread[412] == '\x03') { - uVar3 = (uint)mainthread[408] << 8 | 0xff; - uStack30 = mainthread._418_2_ - 2; - uVar1 = CONCAT11(*(undefined *)(mainthread._376_4_ + uVar3 + 1), - *(undefined *)(uVar3 + mainthread._376_4_)); - if (uStack30 < 0x5b00) { - if (uStack30 < 0x5800) { - if (0x3fff < uStack30) { - *(undefined *)(mainthread._376_4_ + (uint)uStack30) = uVar2; - *(undefined *) - (mainthread._380_4_ + - ((int)((uint)uStack30 & 0x1800) >> 3 | (uint)uStack30 & 0xff)) = 1; - } - } - else { - *(undefined *)(mainthread._376_4_ + (uint)uStack30) = uVar2; - *(undefined *)(mainthread._380_4_ + (uint)uStack30 + -0x5800) = 1; - } - } - else { - *(undefined *)(mainthread._376_4_ + (uint)uStack30) = uVar2; - } - if ((uint)uStack30 + 1 < 0x5b00) { - if ((uint)uStack30 + 1 < 0x5800) { - if (0x3fff < (uint)uStack30 + 1) { - *(undefined *)(mainthread._376_4_ + (uint)uStack30 + 1) = - (char)((uint)uStack24 >> 8); - *(undefined *) - (mainthread._380_4_ + - ((int)((uint)uStack30 + 1 & 0x1800) >> 3 | (uint)uStack30 + 1 & 0xff)) - = 1; - } - } - else { - *(undefined *)(mainthread._376_4_ + (uint)uStack30 + 1) = - (char)((uint)uStack24 >> 8); - *(undefined *)(mainthread._380_4_ + (uint)uStack30 + -0x57ff) = 1; - } - } - else { - *(undefined *)(mainthread._376_4_ + (uint)uStack30 + 1) = - (char)((uint)uStack24 >> 8); - } - } - } - } - uStack24 = uVar1; - mainthread[410] = cStack19; - mainthread[411] = uStack20; - mainthread._418_2_ = uStack30; - mainthread._420_2_ = uStack24; - return; -} - - - -// WARNING: This function may have set the stack pointer - -void entry(void) - -{ - OSThread *pOVar1; - undefined *puVar2; - - pOVar1 = &rmonThread; - puVar2 = &_BSS_SIZE; - do { - puVar2 = puVar2 + -8; - pOVar1->next = NULL; - pOVar1->priority = 0; - pOVar1 = (OSThread *)&pOVar1->queue; - } while (puVar2 != NULL); - boot(); - return; -} - - - -void boot(void) - -{ - setCopReg(0,Index,1,0); - setCopReg(0,EntryLo0,0x1f,0); - setCopReg(0,EntryLo1,1,0); - setCopReg(0,EntryHi,0x70000000,0); - setCopReg(0,PageMask,0x7fe000,0); - TLB_write_indexed_entry(Index,EntryHi,EntryLo0,EntryLo1,PageMask); - init((EVP_PKEY_CTX *)0x70000000); - return; -} - - diff --git a/notes/ghidra/ge007.u.old.elf.h b/notes/ghidra/ge007.u.old.elf.h deleted file mode 100644 index c952afc..0000000 --- a/notes/ghidra/ge007.u.old.elf.h +++ /dev/null @@ -1,20678 +0,0 @@ -typedef unsigned char undefined; - -typedef unsigned char bool; -typedef unsigned char byte; -typedef unsigned int dword; -typedef long double longdouble; -typedef long long longlong; -typedef unsigned long long qword; -typedef signed char schar; -typedef unsigned char uchar; -typedef unsigned int uint; -typedef unsigned long ulong; -typedef unsigned long long ulonglong; -typedef unsigned char undefined1; -typedef unsigned short undefined2; -typedef unsigned int undefined4; -typedef unsigned long long undefined8; -typedef unsigned short ushort; -typedef unsigned short word; -#define unkbyte9 unsigned long long -#define unkbyte10 unsigned long long -#define unkbyte11 unsigned long long -#define unkbyte12 unsigned long long -#define unkbyte13 unsigned long long -#define unkbyte14 unsigned long long -#define unkbyte15 unsigned long long -#define unkbyte16 unsigned long long - -#define unkuint9 unsigned long long -#define unkuint10 unsigned long long -#define unkuint11 unsigned long long -#define unkuint12 unsigned long long -#define unkuint13 unsigned long long -#define unkuint14 unsigned long long -#define unkuint15 unsigned long long -#define unkuint16 unsigned long long - -#define unkint9 long long -#define unkint10 long long -#define unkint11 long long -#define unkint12 long long -#define unkint13 long long -#define unkint14 long long -#define unkint15 long long -#define unkint16 long long - -#define unkfloat1 float -#define unkfloat2 float -#define unkfloat3 float -#define unkfloat5 double -#define unkfloat6 double -#define unkfloat7 double -#define unkfloat9 long double -#define unkfloat11 long double -#define unkfloat12 long double -#define unkfloat13 long double -#define unkfloat14 long double -#define unkfloat15 long double -#define unkfloat16 long double - -#define BADSPACEBASE void -#define code void - -typedef struct save_file save_file, *Psave_file; - -typedef ulong u32; - -typedef uchar u8; - -typedef enum controller_config_type { - 1_1_honey=0, - 1_2_solitaire=1, - 1_3_kissy=2, - 1_4_goodnight=3, - 2_1_plenty=4, - 2_2_galore=5, - 2_3_domino=6, - 2_4_goodhead=7, - screenmode_cinema=8 -} controller_config_type; - -struct save_file { - u32 checksum1; - u32 checksum2; - u8 completion_bitflags; - u8 bitflags; - u8 music_vol; - u8 sfx_vol; - enum controller_config_type controller_config; - u8 options; - u8 unlocked_cheats1; - u8 unlocked_cheats2; - u8 unlocked_cheats3; - u8 padding; - u8 time_dam_agent[5]; - u8 field_0x17[5]; - u8 field_0x1c[5]; - u8 field_0x21[5]; - u8 field_0x26[5]; - u8 field_0x2b[5]; - u8 field_0x30[5]; - u8 field_0x35[5]; - u8 field_0x3a[5]; - u8 field_0x3f[5]; - u8 field_0x44[5]; - u8 field_0x49[5]; - u8 field_0x4e[5]; - u8 field_0x53[5]; - u8 field_0x58[5]; - u8 field_0x5d[3]; -}; - -typedef struct hit_header hit_header, *Phit_header; - -typedef ushort u16; - -struct hit_header { - u16 * pImageIDArray; - u8 * ptrarray2; - u16 imgcount; - u16 count2; -}; - -typedef enum MPSCENARIOS { - SCENARIO_2v1=7, - SCENARIO_2v2=5, - SCENARIO_3v1=6, - SCENARIO_LTK=4, - SCENARIO_MWTGG=3, - SCENARIO_NORMAL=0, - SCENARIO_TLD=2, - SCENARIO_YOLT=1 -} MPSCENARIOS; - -typedef enum Elf32_GPRMask_MIPS { - gpr_a0=16, - gpr_a1=32, - gpr_a2=64, - gpr_a3=128, - gpr_at=2, - gpr_fp=1073741824, - gpr_gp=268435456, - gpr_k0=67108864, - gpr_k1=134217728, - gpr_ra=2147483648, - gpr_s0=65536, - gpr_s1=131072, - gpr_s2=262144, - gpr_s3=524288, - gpr_s4=1048576, - gpr_s5=2097152, - gpr_s6=4194304, - gpr_s7=8388608, - gpr_sp=536870912, - gpr_t0=256, - gpr_t1=512, - gpr_t2=1024, - gpr_t3=2048, - gpr_t4=4096, - gpr_t5=8192, - gpr_t6=16384, - gpr_t7=32768, - gpr_t8=16777216, - gpr_t9=33554432, - gpr_v0=4, - gpr_v1=8, - gpr_zero=1 -} Elf32_GPRMask_MIPS; - -typedef enum HAND { - HAND_LEFT=1, - HAND_RIGHT=0 -} HAND; - -typedef struct sImageTableEntry sImageTableEntry, *PsImageTableEntry; - -struct sImageTableEntry { - u32 index; - u8 width; - u8 height; - u8 level; - u8 format; - u8 depth; - u8 flagsS; - u8 flagsT; - u8 pad; -}; - -typedef struct prop_pos_data prop_pos_data, *Pprop_pos_data; - -struct prop_pos_data { - u16 x; - u16 y; - u16 z; -}; - -typedef struct s_mem_alloc_entry s_mem_alloc_entry, *Ps_mem_alloc_entry; - -typedef long s32; - -struct s_mem_alloc_entry { - s32 addr; - s32 size; -}; - -typedef struct bondstruct_unk_80036634 bondstruct_unk_80036634, *Pbondstruct_unk_80036634; - -typedef float f32; - -struct bondstruct_unk_80036634 { - u32 u32_0x0; - u32 u32_0x4; - u32 u32_0x8; - f32 f32_0xC; - u32 u32_0x10; - u32 u32_0x14; - u32 u32_0x18; - f32 f32_0x1c; - u32 u32_0x20; - u32 u32_0x24; - u32 u32_0x28; -}; - -typedef struct s_pBONDData s_pBONDData, *Ps_pBONDData; - -typedef struct Player Player, *PPlayer; - -typedef enum CUFF_TYPES { - CUFF_BLUE=0, - CUFF_BOILER=3, - CUFF_JUNGLE=2, - CUFF_SNOW=4, - CUFF_TUX=1, - CUFF_TUX6=6, - CUFF_TUX7=7, - CUFF_TUX8=8, - CUFF_WHITE=5 -} CUFF_TYPES; - -typedef struct Player_SubStruct_7D0 Player_SubStruct_7D0, *PPlayer_SubStruct_7D0; - -typedef enum ITEM_IDS { - ITEM_56=86, - ITEM_57=87, - ITEM_AK47=8, - ITEM_AUDIOTAPE=71, - ITEM_AUTOSHOT=16, - ITEM_BLACKBOX=62, - ITEM_BLUEPRINTS=69, - ITEM_BOMBCASE=33, - ITEM_BOMBDEFUSER=39, - ITEM_BRIEFCASE=43, - ITEM_BUG=47, - ITEM_BUGDETECTOR=49, - ITEM_BUNGEE=37, - ITEM_CAMERA=40, - ITEM_CIRCUITBOARD=63, - ITEM_CLIPBOARD=64, - ITEM_CREDITCARD=53, - ITEM_DARKGLASSES=52, - ITEM_DATATHIEF=55, - ITEM_DATTAPE=73, - ITEM_DOORDECODER=38, - ITEM_DOOREXPLODER=42, - ITEM_DOSSIERRED=66, - ITEM_END=89, - ITEM_EXPLOSIVEFLOPPY=50, - ITEM_FIST=1, - ITEM_FLAREPISTOL=35, - ITEM_FNP90=14, - ITEM_GASKEYRING=54, - ITEM_GOLDBAR=79, - ITEM_GOLDENEYEKEY=61, - ITEM_GOLDENGUN=19, - ITEM_GOLDWPPK=21, - ITEM_GRENADE=26, - ITEM_GRENADELAUNCH=24, - ITEM_HEROIN=80, - ITEM_JOYPAD=85, - ITEM_KEYANALYSERCASE=46, - ITEM_KEYBOLT=83, - ITEM_KEYCARD=81, - ITEM_KEYYALE=82, - ITEM_KNIFE=2, - ITEM_LASER=22, - ITEM_LECTRE=77, - ITEM_LOCKEXPLODER=41, - ITEM_M16=13, - ITEM_MAP=70, - ITEM_MICROCAMERA=48, - ITEM_MICROCODE=76, - ITEM_MICROFILM=75, - ITEM_MONEY=78, - ITEM_MP5K=10, - ITEM_MP5KSIL=11, - ITEM_PITONGUN=36, - ITEM_PLANS=67, - ITEM_PLASTIQUE=34, - ITEM_POLARIZEDGLASSES=51, - ITEM_PROXIMITYMINE=28, - ITEM_REMOTEMINE=29, - ITEM_ROCKETLAUNCH=25, - ITEM_RUGER=18, - ITEM_SAFECRACKERCASE=45, - ITEM_SHOTGUN=15, - ITEM_SILVERWPPK=20, - ITEM_SKORPION=7, - ITEM_SNIPERRIFLE=17, - ITEM_SPECTRE=12, - ITEM_SPOOLTAPE=74, - ITEM_SPYFILE=68, - ITEM_STAFFLIST=65, - ITEM_SUIT_LF_HAND=84, - ITEM_TANKSHELLS=32, - ITEM_TASER=31, - ITEM_THROWKNIFE=3, - ITEM_TIMEDMINE=27, - ITEM_TOKEN=88, - ITEM_TRIGGER=30, - ITEM_TT33=6, - ITEM_UNARMED=0, - ITEM_UZI=9, - ITEM_VIDEOTAPE=72, - ITEM_WATCHCOMMUNICATOR=57, - ITEM_WATCHGEIGERCOUNTER=58, - ITEM_WATCHIDENTIFIER=56, - ITEM_WATCHLASER=23, - ITEM_WATCHMAGNETATTRACT=60, - ITEM_WATCHMAGNETREPEL=59, - ITEM_WEAPONCASE=44, - ITEM_WPPK=4, - ITEM_WPPKSIL=5 -} ITEM_IDS; - -typedef struct xyzpoint xyzpoint, *Pxyzpoint; - -struct s_pBONDData { - struct Player * p1; - struct Player * p2; - struct Player * p3; - struct Player * p4; -}; - -struct xyzpoint { - f32 x; - f32 y; - f32 z; -}; - -struct Player_SubStruct_7D0 { - u16 field_7D0; - u16 field_7D2; - u16 field_7D4; - u16 field_7D6; - u16 field_7D8; - u16 field_7DA; - u16 field_7DC; - u16 field_7DE; -}; - -struct Player { - int unknown; - f32 xpos; - f32 ypos; - f32 zpos; - f32 xpos2; - f32 ypos2; - f32 zpos2; - f32 xoffset; - f32 yoffset; - f32 zoffset; - f32 xpos3; - f32 ypos3; - f32 zpos3; - int room_pointer; - f32 current_model_xpos; - f32 current_model_ypos; - f32 current_model_zpos; - f32 previous_model_xpos; - f32 previous_model_ypos; - f32 previous_model_zpos; - f32 current_room_xpos; - f32 current_room_ypos; - f32 current_room_zpos; - int field_5C; - int field_60; - int field_64; - int field_68; - f32 field_6C; - f32 field_70; - f32 clipping_height; - f32 field_78; - f32 field_7C; - f32 field_80; - f32 field_84; - f32 field_88; - int field_8C; - f32 field_90; - int field_94; - f32 field_98; - int crouchposition; - f32 ducking_height_offset; - f32 field_A4; - int position_data_pointer; - int field_AC; - int field_B0; - int zpos_0; - int xpos_0; - int field_BC; - int field_C0; - int zpos_1; - int xpos_1; - int field_CC; - int field_D0; - int ptr_char_objectinstance; - int bonddead; - f32 bondhealth; - f32 bondarmour; - f32 oldhealth; - f32 oldarmour; - f32 apparenthealth; - f32 apparentarmour; - int damageshowtime; - int healthshowtime; - int healthshowmode; - int field_100; - int field_104; - int field_108; - int field_10C; - int movecentrerelease; - int lookaheadcentreenabled; - int automovecentreenabled; - int fastmovecentreenabled; - int automovecentre; - int insightaimmode; - int autoyaimenabled; - float autoaimy; - int autoyaimtime; - int autoyaimtime60; - int autoxaimenabled; - float autoaimx; - int autoxaimtime; - int autoxaimtime60; - float vv_theta; - float speedtheta; - f32 vv_costheta; - f32 vv_sintheta; - float vv_verta; - f32 vv_verta360; - float speedverta; - f32 vv_cosverta; - f32 vv_sinverta; - float speedsideways; - float speedstrafe; - float speedforwards; - f32 speedboost; - int speedmaxtime60; - f32 boost_factor_x; - f32 boost_factor_y; - f32 boost_factor_z; - f32 viewport_alpha; - f32 bondfadetime60; - f32 bondfadetimemax; - f32 bondfadefracold; - f32 bondfadefracnew; - int field_1A0; - int field_1A4; - int field_1A8; - int field_1AC; - int field_1B0; - int field_1B4; - int field_1B8; - int field_1BC; - int field_1C0; - int field_1C4; - int pause_animation_state; - int paused_flag; - int open_close_solo_watch_menu; - f32 field_1D4; - f32 field_1D8; - f32 pause_watch_position; - f32 field_1E0; - f32 field_1E4; - f32 field_1E8; - f32 field_1EC; - f32 field_1F0; - f32 field_1F4; - int field_1F8; - int field_1FC; - int pausing_flag; - f32 pause_starting_angle; - f32 field_208; - f32 pause_target_angle; - f32 field_210; - f32 field_214; - int field_218; - int field_21C; - int step_in_view_watch_animation; - f32 pause_animation_counter; - int field_228; - int field_22C; - int something_with_watch_object_instance; - int field_234; - int field_238; - int field_23C; - int field_240; - int watch_scale_destination; - int field_248; - int field_24C; - int field_250; - int field_254; - int field_258; - int field_25C; - int field_260; - int field_264; - int field_268; - int field_26C; - int field_270; - int field_274; - int field_278; - int field_27C; - int field_280; - int field_284; - int field_288; - int field_28C; - int field_290; - int field_294; - int field_298; - int field_29C; - int field_2A0; - int field_2A4; - int field_2A8; - int field_2AC; - int field_2B0; - int field_2B4; - int field_2B8; - int field_2BC; - int field_2C0; - int field_2C4; - int field_2C8; - int field_2CC; - int field_2D0; - int field_2D4; - int field_2D8; - int field_2DC; - int field_2E0; - int field_2E4; - int field_2E8; - int field_2EC; - int field_2F0; - int field_2F4; - int field_2F8; - int field_2FC; - int field_300; - int field_304; - int field_308; - int field_30C; - int field_310; - int field_314; - int field_318; - int field_31C; - int field_320; - int field_324; - int field_328; - int field_32C; - int field_330; - int field_334; - int field_338; - int field_33C; - int field_340; - int field_344; - int field_348; - int field_34C; - int field_350; - int field_354; - int field_358; - int field_35C; - int field_360; - int field_364; - int field_368; - int field_36C; - int field_370; - int field_374; - int field_378; - int field_37C; - int field_380; - int field_384; - int field_388; - int field_38C; - int field_390; - int field_394; - int field_398; - int field_39C; - int field_3A0; - int field_3A4; - int field_3A8; - int field_3AC; - int field_3B0; - short field_3B4; - short field_3B6; - f32 field_3B8; - f32 field_3BC; - int field_3C0; - f32 field_3C4; - f32 field_3C8; - f32 field_3CC; - u32 tint_red; - u32 tint_green; - u32 tint_blue; - float tint_alpha; - f32 field_3E0; - float timer_for_fade; - int field_3E8; - int field_3EC; - int field_3F0; - int field_3F4; - int field_3F8; - int field_3FC; - f32 field_400; - f32 field_404; - int field_408; - int field_40C; - int field_410; - int field_414; - int field_418; - enum CUFF_TYPES cuff_value; - int field_420; - int field_424; - int field_428; - int field_42C; - int controlstyle; - int field_434; - int field_438; - int field_43C; - int field_440; - int field_444; - int field_448; - int field_44C; - int field_450; - int field_454; - int field_458; - int field_45C; - int field_460; - int field_464; - int field_468; - int field_46C; - int field_470; - int field_474; - int field_478; - int field_47C; - int field_480; - int field_484; - int ptr_tile_printmanpos; - f32 positionx; - int positiony; - int positionz; - int field_498; - int field_49C; - int field_4A0; - int field_4A4; - int field_4A8; - int field_4AC; - int collision_radius; - int field_4B4; - int field_4B8; - int field_4BC; - int field_4C0; - int field_4C4; - int field_4C8; - int field_4CC; - int field_4D0; - int field_4D4; - int room_tile_ptr; - int field_4DC; - int field_4E0; - int field_4E4; - int field_4E8; - f32 field_4EC; - int field_4F0; - f32 field_4F4; - f32 field_4F8; - f32 scaled_velocity; - f32 field_500; - f32 field_504; - f32 field_508; - f32 field_50C; - f32 field_510; - f32 field_514; - f32 field_518; - f32 field_51C; - f32 velocity; - f32 field_524; - f32 field_528; - f32 field_52C; - f32 field_530; - int field_534; - int field_538; - f32 field_53C; - f32 field_540; - f32 field_544; - f32 field_548; - f32 field_54C; - f32 stationary_ground_offset; - f32 field_554; - f32 field_558; - f32 field_55C; - f32 field_560; - f32 field_564; - f32 field_568; - f32 field_56C; - f32 field_570; - f32 field_574; - f32 field_578; - f32 field_57C; - f32 field_580; - f32 field_584; - f32 field_588; - f32 field_58C; - f32 field_590; - int field_594; - int field_598; - int field_59C; - int field_5A0; - int field_5A4; - int field_5A8; - int field_5AC; - int field_5B0; - int field_5B4; - int field_5B8; - int field_5BC; - int field_5C0; - int field_5C4; - int field_5C8; - int field_5CC; - int field_5D0; - int field_5D4; - int field_5D8; - int field_5DC; - int field_5E0; - int field_5E4; - int field_5E8; - int field_5EC; - int field_5F0; - int field_5F4; - int field_5F8; - int field_5FC; - int field_600; - int field_604; - int field_608; - int field_60C; - int field_610; - int field_614; - int field_618; - int field_61C; - int field_620; - int field_624; - int field_628; - int field_62C; - int field_630; - int field_634; - int field_638; - int field_63C; - int field_640; - int field_644; - int field_648; - int field_64C; - int field_650; - int field_654; - int field_658; - int field_65C; - int field_660; - int field_664; - int field_668; - int field_66C; - int field_670; - int field_674; - int field_678; - int field_67C; - int field_680; - int field_684; - int field_688; - int field_68C; - int field_690; - int field_694; - int field_698; - int field_69C; - int field_6A0; - int field_6A4; - int field_6A8; - int field_6AC; - int field_6B0; - int field_6B4; - int field_6B8; - int field_6BC; - int field_6C0; - int field_6C4; - int field_6C8; - int field_6CC; - int field_6D0; - int field_6D4; - int field_6D8; - int field_6DC; - int field_6E0; - int field_6E4; - int field_6E8; - int field_6EC; - int field_6F0; - int field_6F4; - int field_6F8; - int field_6FC; - int field_700; - int field_704; - int field_708; - int field_70C; - int field_710; - int field_714; - int field_718; - int field_71C; - int field_720; - int field_724; - int field_728; - int field_72C; - int field_730; - int field_734; - int field_738; - int field_73C; - int field_740; - int field_744; - int field_748; - int field_74C; - int field_750; - int field_754; - int field_758; - int field_75C; - int field_760; - int field_764; - int field_768; - int field_76C; - int field_770; - int field_774; - int field_778; - int field_77C; - int field_780; - int field_784; - int field_788; - int field_78C; - int field_790; - int field_794; - int field_798; - int field_79C; - int field_7A0; - int field_7A4; - int field_7A8; - int field_7AC; - int field_7B0; - int field_7B4; - int field_7B8; - int field_7BC; - int field_7C0; - int field_7C4; - int field_7C8; - int field_7CC; - struct Player_SubStruct_7D0 field_7D0; - struct Player_SubStruct_7D0 field_7E0; - short viewx; - short viewy; - short viewleft; - short viewtop; - int hand_invisible[2]; - enum ITEM_IDS hand_item[2]; - u8 * ptr_hand_weapon_buffer[2]; - int copy_of_body_obj_header[8]; - int copy_of_right_weapon_obj_header[8]; - int field_850; - int field_854; - int field_858; - int field_85C; - int field_860; - int right_item_related1; - int right_item_related2; - int right_item_related3; - int right_weapon; - int right_weapon_attack; - int previous_right_weapon; - int right_weapon_firing_status; - int field_880; - int field_884; - int field_888; - int field_88C; - int field_890; - int when_detonating_mines_is_0; - int right_weapon_current_animation; - int right_weapon_ammo_in_magazine; - int field_8A0; - int field_8A4; - int field_8A8; - int right_weapon_next_weapon; - int field_8B0; - int right_weapon_animation_trigger; - int field_8B8; - int field_8BC; - int field_8C0; - int field_8C4; - int field_8C8; - int field_8CC; - int field_8D0; - int field_8D4; - int field_8D8; - int field_8DC; - int field_8E0; - int field_8E4; - int field_8E8; - int field_8EC; - int field_8F0; - int field_8F4; - int field_8F8; - int field_8FC; - int field_900; - int field_904; - int field_908; - int field_90C; - int field_910; - int field_914; - int field_918; - int field_91C; - int field_920; - int field_924; - int field_928; - int field_92C; - int field_930; - int field_934; - int field_938; - int field_93C; - int field_940; - int field_944; - int field_948; - int field_94C; - int field_950; - int field_954; - int field_958; - int field_95C; - int field_960; - int field_964; - int field_968; - int field_96C; - int field_970; - int field_974; - int field_978; - int field_97C; - int field_980; - int field_984; - int field_988; - int field_98C; - int field_990; - int field_994; - int field_998; - int field_99C; - int field_9A0; - int field_9A4; - int field_9A8; - int field_9AC; - int field_9B0; - int field_9B4; - int field_9B8; - int field_9BC; - int field_9C0; - int field_9C4; - int field_9C8; - int field_9CC; - int field_9D0; - int field_9D4; - int field_9D8; - int field_9DC; - int field_9E0; - int field_9E4; - int field_9E8; - int field_9EC; - int field_9F0; - int field_9F4; - int field_9F8; - int field_9FC; - int field_A00; - int field_A04; - int field_A08; - int field_A0C; - int field_A10; - int field_A14; - int field_A18; - int field_A1C; - int field_A20; - int field_A24; - int field_A28; - int field_A2C; - int field_A30; - int field_A34; - int field_A38; - int field_A3C; - int field_A40; - int field_A44; - int field_A48; - int field_A4C; - int field_A50; - int field_A54; - int field_A58; - int field_A5C; - int field_A60; - int field_A64; - int field_A68; - int field_A6C; - int field_A70; - int field_A74; - int field_A78; - int field_A7C; - int noise; - int field_A84; - int field_A88; - int field_A8C; - int field_A90; - int field_A94; - int field_A98; - int field_A9C; - int field_AA0; - int field_AA4; - int field_AA8; - int field_AAC; - int field_AB0; - int field_AB4; - int field_AB8; - int field_ABC; - int field_AC0; - int field_AC4; - int field_AC8; - int field_ACC; - int field_AD0; - int field_AD4; - int field_AD8; - int field_ADC; - int field_AE0; - int field_AE4; - int field_AE8; - int field_AEC; - int field_AF0; - int field_AF4; - int field_AF8; - int field_AFC; - int field_B00; - int field_B04; - int field_B08; - int field_B0C; - int field_B10; - int field_B14; - int field_B18; - int field_B1C; - int field_B20; - int field_B24; - int field_B28; - int field_B2C; - int field_B30; - int field_B34; - int field_B38; - int field_B3C; - int field_B40; - int field_B44; - int field_B48; - int field_B4C; - int field_B50; - int field_B54; - int field_B58; - int field_B5C; - int field_B60; - int field_B64; - int field_B68; - int field_B6C; - int field_B70; - int field_B74; - int field_B78; - int field_B7C; - int field_B80; - int field_B84; - int field_B88; - int field_B8C; - int field_B90; - int field_B94; - int field_B98; - int field_B9C; - int field_BA0; - int field_BA4; - int field_BA8; - int field_BAC; - int field_BB0; - int field_BB4; - int field_BB8; - int field_BBC; - int field_BC0; - int field_BC4; - int field_BC8; - int field_BCC; - int field_BD0; - int field_BD4; - int field_BD8; - int field_BDC; - int field_BE0; - int field_BE4; - int field_BE8; - int field_BEC; - int field_BF0; - int field_BF4; - int field_BF8; - int field_BFC; - int field_C00; - int field_C04; - int field_C08; - int left_item_related1; - int left_item_related2; - int left_item_related3; - int left_weapon; - int left_weapon_attack; - int left_weapon_previous; - int left_weapon_firing_status; - int field_C28; - int field_C2C; - int field_C30; - int field_C34; - int field_C38; - int field_C3C; - int left_weapon_animation; - int left_weapon_ammo_in_magazine; - int field_C48; - int field_C4C; - int field_C50; - int left_weapon_next_weapon; - int field_C58; - int left_weapon_animation_trigger; - int field_C60; - int field_C64; - int field_C68; - int field_C6C; - int field_C70; - int field_C74; - int field_C78; - int field_C7C; - int field_C80; - int field_C84; - int field_C88; - int field_C8C; - int field_C90; - int field_C94; - int field_C98; - int field_C9C; - int field_CA0; - int field_CA4; - int field_CA8; - int field_CAC; - int field_CB0; - int field_CB4; - int field_CB8; - int field_CBC; - int field_CC0; - int field_CC4; - int field_CC8; - int field_CCC; - int field_CD0; - int field_CD4; - int field_CD8; - int field_CDC; - int field_CE0; - int field_CE4; - int field_CE8; - int field_CEC; - int field_CF0; - int field_CF4; - int field_CF8; - int field_CFC; - int field_D00; - int field_D04; - int field_D08; - int field_D0C; - int field_D10; - int field_D14; - int field_D18; - int field_D1C; - int field_D20; - int field_D24; - int field_D28; - int field_D2C; - int field_D30; - int field_D34; - int field_D38; - int field_D3C; - int field_D40; - int field_D44; - int field_D48; - int field_D4C; - int field_D50; - int field_D54; - int field_D58; - int field_D5C; - int field_D60; - int field_D64; - int field_D68; - int field_D6C; - int field_D70; - int field_D74; - int field_D78; - int field_D7C; - int field_D80; - int field_D84; - int field_D88; - int field_D8C; - int field_D90; - int field_D94; - int field_D98; - int field_D9C; - int field_DA0; - int field_DA4; - int field_DA8; - int field_DAC; - int field_DB0; - int field_DB4; - int field_DB8; - int field_DBC; - int field_DC0; - int field_DC4; - int field_DC8; - int field_DCC; - int field_DD0; - int field_DD4; - int field_DD8; - int field_DDC; - int field_DE0; - int field_DE4; - int field_DE8; - int field_DEC; - int field_DF0; - int field_DF4; - int field_DF8; - int field_DFC; - int field_E00; - int field_E04; - int field_E08; - int field_E0C; - int field_E10; - int field_E14; - int field_E18; - int field_E1C; - int field_E20; - int field_E24; - int field_E28; - int field_E2C; - int field_E30; - int field_E34; - int field_E38; - int field_E3C; - int field_E40; - int field_E44; - int field_E48; - int field_E4C; - int field_E50; - int field_E54; - int field_E58; - int field_E5C; - int field_E60; - int field_E64; - int field_E68; - int field_E6C; - int field_E70; - int field_E74; - int field_E78; - int field_E7C; - int field_E80; - int field_E84; - int field_E88; - int field_E8C; - int field_E90; - int field_E94; - int field_E98; - int field_E9C; - int field_EA0; - int field_EA4; - int field_EA8; - int field_EAC; - int field_EB0; - int field_EB4; - int field_EB8; - int field_EBC; - int field_EC0; - int field_EC4; - int field_EC8; - int field_ECC; - int field_ED0; - int field_ED4; - int field_ED8; - int field_EDC; - int field_EE0; - int field_EE4; - int field_EE8; - int field_EEC; - int field_EF0; - int field_EF4; - int field_EF8; - int field_EFC; - int field_F00; - int field_F04; - int field_F08; - int field_F0C; - int field_F10; - int field_F14; - int field_F18; - int field_F1C; - int field_F20; - int field_F24; - int field_F28; - int field_F2C; - int field_F30; - int field_F34; - int field_F38; - int field_F3C; - int field_F40; - int field_F44; - int field_F48; - int field_F4C; - int field_F50; - int field_F54; - int field_F58; - int field_F5C; - int field_F60; - int field_F64; - int field_F68; - int field_F6C; - int field_F70; - int field_F74; - int field_F78; - int field_F7C; - int field_F80; - int field_F84; - int field_F88; - int field_F8C; - int field_F90; - int field_F94; - int field_F98; - int field_F9C; - int field_FA0; - int field_FA4; - int field_FA8; - int field_FAC; - int field_FB0; - int field_FB4; - int field_FB8; - int field_FBC; - float field_FC0; - float field_FC4; - int field_FC8; - int field_FCC; - int field_FD0; - int field_FD4; - int field_FD8; - char field_FDC; - char field_FDD; - char field_FDE; - char field_FDF; - int field_FE0; - int field_FE4; - float field_FE8; - float field_FEC; - float field_FF0; - float field_FF4; - f32 field_FF8; - float field_FFC; - float field_1000; - float field_1004; - float field_1008; - f32 field_100C; - float field_1010; - f32 holds_neg_pi; - float field_1018; - int field_101C; - int field_1020; - int field_1024; - int field_1028; - int field_102C; - int field_1030; - int field_1034; - int field_1038; - int field_103C; - int field_1040; - int field_1044; - int field_1048; - int field_104C; - int field_1050; - int field_1054; - int field_1058; - int field_105C; - int copiedgoldeneye; - int somekinda_flags; - int field_1068; - float field_106C; - float field_1070; - float field_1074; - int field_1078; - float field_107C; - float field_1080; - float sniper_zoom; - float camera_zoom; - int field_108C; - float c_screenwidth; - float c_screenheight; - float c_screenleft; - float c_screentop; - float c_perspnear; - float c_perspfovy; - float c_perspaspect; - float c_halfwidth; - float c_halfheight; - f32 c_scalex; - f32 c_scaley; - f32 c_recipscalex; - f32 c_recipscaley; - int field_10C4; - int field_10C8; - int field_10CC; - int field_10D0; - int field_10D4; - int field_10D8; - int field_10DC; - int field_10E0; - int field_10E4; - int field_10E8; - int field_10EC; - f32 c_scalelod60; - f32 c_scalelod; - f32 c_lodscalez; - int c_lodscalezu32; - struct xyzpoint c_cameratopnorm; - struct xyzpoint c_cameraleftnorm; - float screenxminf; - float screenyminf; - float screenxmaxf; - float screenymaxf; - int somekinda_bitflags; - int field_112C; - int ammoheldarr[30]; - int bloodcnt; - int field_11AC; - int field_11B0; - int field_11B4; - int field_11B8; - f32 zoomintime; - f32 zoomintimemax; - f32 zoominfovy; - f32 zoominfovyold; - f32 zoominfovynew; - f32 fovy; - f32 aspect; - int hudmessoff; - int bondmesscnt; - int ptr_inventory_first_in_cycle; - int p_itemcur; - int equipmaxitems; - int equipallguns; - int field_11F0; - int field_11F4; - int index_time_spent_using_item; - int field_11FC; - int field_1200; - int field_1204; - int field_1208; - int field_120C; - int field_1210; - int field_1214; - int field_1218; - int field_121C; - int field_1220; - int field_1224; - int field_1228; - int field_122C; - int field_1230; - int field_1234; - int field_1238; - int field_123C; - int field_1240; - int field_1244; - int field_1248; - int field_124C; - int field_1250; - int field_1254; - int field_1258; - int field_125C; - int field_1260; - int field_1264; - int field_1268; - int field_126C; - int field_1270; - f32 field_1274; - f32 field_1278; - f32 field_127C; - int field_1280; - int players_cur_animation; - f32 field_1288; - int field_128C; - int field_1290; - int field_1294; - int field_1298; - int field_129C; - int field_12A0; - int field_12A4; - int field_12A8; - int field_12AC; - int field_12B0; - char something_with_cheat_text; - char can_display_cheat_text; - char bondinvincible; - char field_12B7; - int healthdamagetype; - int field_12BC; - int field_12C0; - int field_12C4; - int field_12C8; - int field_12CC; - int field_12D0; - int field_12D4; - int field_12D8; - int field_12DC; - int field_12E0; - int field_12E4; - int field_12E8; - int field_12EC; - int field_12F0; - int field_12F4; - int field_12F8; - int field_12FC; - int field_1300; - int field_1304; - int field_1308; - int field_130C; - int field_1310; - int field_1314; - int field_1318; - int field_131C; - int field_1320; - int field_1324; - int field_1328; - int field_132C; - int field_1330; - int field_1334; - int field_1338; - int field_133C; - int field_1340; - int field_1344; - int field_1348; - int field_134C; - int field_1350; - int field_1354; - int field_1358; - int field_135C; - int field_1360; - int field_1364; - int field_1368; - int field_136C; - int field_1370; - int field_1374; - int field_1378; - int field_137C; - int field_1380; - int field_1384; - int field_1388; - int field_138C; - int field_1390; - int field_1394; - int field_1398; - int field_139C; - int field_13A0; - int field_13A4; - int field_13A8; - int field_13AC; - int field_13B0; - int field_13B4; - int field_13B8; - int field_13BC; - int field_13C0; - int field_13C4; - int field_13C8; - int field_13CC; - int field_13D0; - int field_13D4; - int field_13D8; - int field_13DC; - int field_13E0; - int field_13E4; - int field_13E8; - int field_13EC; - int field_13F0; - int field_13F4; - int field_13F8; - int field_13FC; - int field_1400; - int field_1404; - int field_1408; - int field_140C; - int field_1410; - int field_1414; - int field_1418; - int field_141C; - int field_1420; - int field_1424; - int field_1428; - int field_142C; - int field_1430; - int field_1434; - int field_1438; - int field_143C; - int field_1440; - int field_1444; - int field_1448; - int field_144C; - int field_1450; - int field_1454; - int field_1458; - int field_145C; - int field_1460; - int field_1464; - int field_1468; - int field_146C; - int field_1470; - int field_1474; - int field_1478; - int field_147C; - int field_1480; - int field_1484; - int field_1488; - int field_148C; - int field_1490; - int field_1494; - int field_1498; - int field_149C; - int field_14A0; - int field_14A4; - int field_14A8; - int field_14AC; - int field_14B0; - int field_14B4; - int field_14B8; - int field_14BC; - int field_14C0; - int field_14C4; - int field_14C8; - int field_14CC; - int field_14D0; - int field_14D4; - int field_14D8; - int field_14DC; - int field_14E0; - int field_14E4; - int field_14E8; - int field_14EC; - int field_14F0; - int field_14F4; - int field_14F8; - int field_14FC; - int field_1500; - int field_1504; - int field_1508; - int field_150C; - int field_1510; - int field_1514; - int field_1518; - int field_151C; - int field_1520; - int field_1524; - int field_1528; - int field_152C; - int field_1530; - int field_1534; - int field_1538; - int field_153C; - int field_1540; - int field_1544; - int field_1548; - int field_154C; - int field_1550; - int field_1554; - int field_1558; - int field_155C; - int field_1560; - int field_1564; - int field_1568; - int field_156C; - int field_1570; - int field_1574; - int field_1578; - int field_157C; - int field_1580; - int field_1584; - int field_1588; - int field_158C; - int field_1590; - int field_1594; - int related_to_health_display; - int field_159C; - int field_15A0; - int field_15A4; - int field_15A8; - int field_15AC; - int field_15B0; - int field_15B4; - int field_15B8; - int field_15BC; - int field_15C0; - int field_15C4; - int field_15C8; - int field_15CC; - int field_15D0; - int field_15D4; - int field_15D8; - int field_15DC; - int field_15E0; - int field_15E4; - int field_15E8; - int field_15EC; - int field_15F0; - int field_15F4; - int field_15F8; - int field_15FC; - int field_1600; - int field_1604; - int field_1608; - int field_160C; - int field_1610; - int field_1614; - int field_1618; - int field_161C; - int field_1620; - int field_1624; - int field_1628; - int field_162C; - int field_1630; - int field_1634; - int field_1638; - int field_163C; - int field_1640; - int field_1644; - int field_1648; - int field_164C; - int field_1650; - int field_1654; - int field_1658; - int field_165C; - int field_1660; - int field_1664; - int field_1668; - int field_166C; - int field_1670; - int field_1674; - int field_1678; - int field_167C; - int field_1680; - int field_1684; - int field_1688; - int field_168C; - int field_1690; - int field_1694; - int field_1698; - int field_169C; - int field_16A0; - int field_16A4; - int field_16A8; - int field_16AC; - int field_16B0; - int field_16B4; - int field_16B8; - int field_16BC; - int field_16C0; - int field_16C4; - int field_16C8; - int field_16CC; - int field_16D0; - int field_16D4; - int field_16D8; - int field_16DC; - int field_16E0; - int field_16E4; - int field_16E8; - int field_16EC; - int field_16F0; - int field_16F4; - int field_16F8; - int field_16FC; - int field_1700; - int field_1704; - int field_1708; - int field_170C; - int field_1710; - int field_1714; - int field_1718; - int field_171C; - int field_1720; - int field_1724; - int field_1728; - int field_172C; - int field_1730; - int field_1734; - int field_1738; - int field_173C; - int field_1740; - int field_1744; - int field_1748; - int field_174C; - int field_1750; - int field_1754; - int field_1758; - int field_175C; - int field_1760; - int field_1764; - int field_1768; - int field_176C; - int field_1770; - int field_1774; - int field_1778; - int field_177C; - int field_1780; - int field_1784; - int field_1788; - int field_178C; - int field_1790; - int field_1794; - int field_1798; - int field_179C; - int field_17A0; - int field_17A4; - int field_17A8; - int field_17AC; - int field_17B0; - int field_17B4; - int field_17B8; - int field_17BC; - int field_17C0; - int field_17C4; - int field_17C8; - int field_17CC; - int field_17D0; - int field_17D4; - int field_17D8; - int field_17DC; - int field_17E0; - int field_17E4; - int field_17E8; - int field_17EC; - int field_17F0; - int field_17F4; - int field_17F8; - int field_17FC; - int field_1800; - int field_1804; - int field_1808; - int field_180C; - int field_1810; - int field_1814; - int field_1818; - int field_181C; - int field_1820; - int field_1824; - int field_1828; - int field_182C; - int field_1830; - int field_1834; - int field_1838; - int field_183C; - int field_1840; - int field_1844; - int field_1848; - int field_184C; - int field_1850; - int field_1854; - int field_1858; - int field_185C; - int field_1860; - int field_1864; - int field_1868; - int field_186C; - int field_1870; - int field_1874; - int buffer_for_watch_greenbackdrop_vertices; - int field_187C; - int field_1880; - int field_1884; - int field_1888; - int field_188C; - int field_1890; - int field_1894; - int field_1898; - int field_189C; - int field_18A0; - int field_18A4; - int field_18A8; - int field_18AC; - int field_18B0; - int field_18B4; - int field_18B8; - int field_18BC; - int field_18C0; - int field_18C4; - int field_18C8; - int field_18CC; - int field_18D0; - int field_18D4; - int field_18D8; - int field_18DC; - int field_18E0; - int field_18E4; - int field_18E8; - int field_18EC; - int field_18F0; - int field_18F4; - int field_18F8; - int field_18FC; - int field_1900; - int field_1904; - int field_1908; - int field_190C; - int field_1910; - int field_1914; - int field_1918; - int field_191C; - int field_1920; - int field_1924; - int field_1928; - int field_192C; - int field_1930; - int field_1934; - int field_1938; - int field_193C; - int field_1940; - int field_1944; - int field_1948; - int field_194C; - int field_1950; - int field_1954; - int field_1958; - int field_195C; - int field_1960; - int field_1964; - int field_1968; - int field_196C; - int field_1970; - int field_1974; - int field_1978; - int field_197C; - int field_1980; - int field_1984; - int field_1988; - int field_198C; - int field_1990; - int field_1994; - int field_1998; - int field_199C; - int field_19A0; - int field_19A4; - int field_19A8; - int field_19AC; - int field_19B0; - int field_19B4; - int field_19B8; - int field_19BC; - int field_19C0; - int field_19C4; - int field_19C8; - int field_19CC; - int field_19D0; - int field_19D4; - int field_19D8; - int field_19DC; - int field_19E0; - int field_19E4; - int field_19E8; - int field_19EC; - int field_19F0; - int field_19F4; - int field_19F8; - int field_19FC; - int field_1A00; - int field_1A04; - int field_1A08; - int field_1A0C; - int field_1A10; - int field_1A14; - int field_1A18; - int field_1A1C; - int field_1A20; - int field_1A24; - int field_1A28; - int field_1A2C; - int field_1A30; - int field_1A34; - int field_1A38; - int field_1A3C; - int field_1A40; - int field_1A44; - int field_1A48; - int field_1A4C; - int field_1A50; - int field_1A54; - int field_1A58; - int field_1A5C; - int field_1A60; - int field_1A64; - int field_1A68; - int field_1A6C; - int field_1A70; - int field_1A74; - int field_1A78; - int field_1A7C; - int field_1A80; - int field_1A84; - int field_1A88; - int field_1A8C; - int field_1A90; - int field_1A94; - int field_1A98; - int field_1A9C; - int field_1AA0; - int field_1AA4; - int field_1AA8; - int field_1AAC; - int field_1AB0; - int field_1AB4; - int field_1AB8; - int field_1ABC; - int field_1AC0; - int field_1AC4; - int field_1AC8; - int field_1ACC; - int field_1AD0; - int field_1AD4; - int field_1AD8; - int field_1ADC; - int field_1AE0; - int field_1AE4; - int field_1AE8; - int field_1AEC; - int field_1AF0; - int field_1AF4; - int field_1AF8; - int field_1AFC; - int field_1B00; - int field_1B04; - int field_1B08; - int field_1B0C; - int field_1B10; - int field_1B14; - int field_1B18; - int field_1B1C; - int field_1B20; - int field_1B24; - int field_1B28; - int field_1B2C; - int field_1B30; - int field_1B34; - int field_1B38; - int field_1B3C; - int field_1B40; - int field_1B44; - int field_1B48; - int field_1B4C; - int field_1B50; - int field_1B54; - int field_1B58; - int field_1B5C; - int field_1B60; - int field_1B64; - int field_1B68; - int field_1B6C; - int field_1B70; - int field_1B74; - int field_1B78; - int field_1B7C; - int field_1B80; - int field_1B84; - int field_1B88; - int field_1B8C; - int field_1B90; - int field_1B94; - int field_1B98; - int field_1B9C; - int field_1BA0; - int field_1BA4; - int field_1BA8; - int field_1BAC; - int field_1BB0; - int field_1BB4; - int field_1BB8; - int field_1BBC; - int field_1BC0; - int field_1BC4; - int field_1BC8; - int field_1BCC; - int field_1BD0; - int field_1BD4; - int field_1BD8; - int field_1BDC; - int field_1BE0; - int field_1BE4; - int field_1BE8; - int field_1BEC; - int field_1BF0; - int field_1BF4; - int field_1BF8; - int field_1BFC; - int field_1C00; - int field_1C04; - int field_1C08; - int field_1C0C; - int field_1C10; - int field_1C14; - int field_1C18; - int field_1C1C; - int field_1C20; - int field_1C24; - int field_1C28; - int field_1C2C; - int field_1C30; - int field_1C34; - int field_1C38; - int field_1C3C; - int field_1C40; - int field_1C44; - int field_1C48; - int field_1C4C; - int field_1C50; - int field_1C54; - int field_1C58; - int field_1C5C; - int field_1C60; - int field_1C64; - int field_1C68; - int field_1C6C; - int field_1C70; - int field_1C74; - int field_1C78; - int field_1C7C; - int field_1C80; - int field_1C84; - int field_1C88; - int field_1C8C; - int field_1C90; - int field_1C94; - int field_1C98; - int field_1C9C; - int field_1CA0; - int field_1CA4; - int field_1CA8; - int field_1CAC; - int field_1CB0; - int field_1CB4; - int field_1CB8; - int field_1CBC; - int field_1CC0; - int field_1CC4; - int field_1CC8; - int field_1CCC; - int field_1CD0; - int field_1CD4; - int field_1CD8; - int field_1CDC; - int field_1CE0; - int field_1CE4; - int field_1CE8; - int field_1CEC; - int field_1CF0; - int field_1CF4; - int field_1CF8; - int field_1CFC; - int field_1D00; - int field_1D04; - int field_1D08; - int field_1D0C; - int field_1D10; - int field_1D14; - int field_1D18; - int field_1D1C; - int field_1D20; - int field_1D24; - int field_1D28; - int field_1D2C; - int field_1D30; - int field_1D34; - int field_1D38; - int field_1D3C; - int field_1D40; - int field_1D44; - int field_1D48; - int field_1D4C; - int field_1D50; - int field_1D54; - int field_1D58; - int field_1D5C; - int field_1D60; - int field_1D64; - int field_1D68; - int field_1D6C; - int field_1D70; - int field_1D74; - int field_1D78; - int field_1D7C; - int field_1D80; - int field_1D84; - int field_1D88; - int field_1D8C; - int field_1D90; - int field_1D94; - int field_1D98; - int field_1D9C; - int field_1DA0; - int field_1DA4; - int field_1DA8; - int field_1DAC; - int field_1DB0; - int field_1DB4; - int field_1DB8; - int field_1DBC; - int field_1DC0; - int field_1DC4; - int field_1DC8; - int field_1DCC; - int field_1DD0; - int field_1DD4; - int field_1DD8; - int field_1DDC; - int field_1DE0; - int field_1DE4; - int field_1DE8; - int field_1DEC; - int field_1DF0; - int field_1DF4; - int field_1DF8; - int field_1DFC; - int field_1E00; - int field_1E04; - int field_1E08; - int field_1E0C; - int field_1E10; - int field_1E14; - int field_1E18; - int field_1E1C; - int field_1E20; - int field_1E24; - int field_1E28; - int field_1E2C; - int field_1E30; - int field_1E34; - int field_1E38; - int field_1E3C; - int field_1E40; - int field_1E44; - int field_1E48; - int field_1E4C; - int field_1E50; - int field_1E54; - int field_1E58; - int field_1E5C; - int field_1E60; - int field_1E64; - int field_1E68; - int field_1E6C; - int field_1E70; - int field_1E74; - int field_1E78; - int field_1E7C; - int field_1E80; - int field_1E84; - int field_1E88; - int field_1E8C; - int field_1E90; - int field_1E94; - int field_1E98; - int field_1E9C; - int field_1EA0; - int field_1EA4; - int field_1EA8; - int field_1EAC; - int field_1EB0; - int field_1EB4; - int field_1EB8; - int field_1EBC; - int field_1EC0; - int field_1EC4; - int field_1EC8; - int field_1ECC; - int field_1ED0; - int field_1ED4; - int field_1ED8; - int field_1EDC; - int field_1EE0; - int field_1EE4; - int field_1EE8; - int field_1EEC; - int field_1EF0; - int field_1EF4; - int field_1EF8; - int field_1EFC; - int field_1F00; - int field_1F04; - int field_1F08; - int field_1F0C; - int field_1F10; - int field_1F14; - int field_1F18; - int field_1F1C; - int field_1F20; - int field_1F24; - int field_1F28; - int field_1F2C; - int field_1F30; - int field_1F34; - int field_1F38; - int field_1F3C; - int field_1F40; - int field_1F44; - int field_1F48; - int field_1F4C; - int field_1F50; - int field_1F54; - int field_1F58; - int field_1F5C; - int field_1F60; - int field_1F64; - int field_1F68; - int field_1F6C; - int field_1F70; - int field_1F74; - int field_1F78; - int field_1F7C; - int field_1F80; - int field_1F84; - int field_1F88; - int field_1F8C; - int field_1F90; - int field_1F94; - int field_1F98; - int field_1F9C; - int field_1FA0; - int field_1FA4; - int field_1FA8; - int field_1FAC; - int field_1FB0; - int field_1FB4; - int field_1FB8; - int field_1FBC; - int field_1FC0; - int field_1FC4; - int field_1FC8; - int field_1FCC; - int field_1FD0; - int field_1FD4; - int field_1FD8; - int field_1FDC; - int field_1FE0; - int field_1FE4; - int field_1FE8; - int field_1FEC; - int field_1FF0; - int field_1FF4; - int field_1FF8; - int field_1FFC; - int field_2000; - int field_2004; - int field_2008; - int field_200C; - int field_2010; - int field_2014; - int field_2018; - int field_201C; - int field_2020; - int field_2024; - int field_2028; - int field_202C; - int field_2030; - int field_2034; - int field_2038; - int field_203C; - int field_2040; - int field_2044; - int field_2048; - int field_204C; - int field_2050; - int field_2054; - int field_2058; - int field_205C; - int field_2060; - int field_2064; - int field_2068; - int field_206C; - int field_2070; - int field_2074; - int field_2078; - int field_207C; - int field_2080; - int field_2084; - int field_2088; - int field_208C; - int field_2090; - int field_2094; - int field_2098; - int field_209C; - int field_20A0; - int field_20A4; - int field_20A8; - int field_20AC; - int field_20B0; - int field_20B4; - int field_20B8; - int field_20BC; - int field_20C0; - int field_20C4; - int field_20C8; - int field_20CC; - int field_20D0; - int field_20D4; - int field_20D8; - int field_20DC; - int field_20E0; - int field_20E4; - int field_20E8; - int field_20EC; - int field_20F0; - int field_20F4; - int field_20F8; - int field_20FC; - int field_2100; - int field_2104; - int field_2108; - int field_210C; - int field_2110; - int field_2114; - int field_2118; - int field_211C; - int field_2120; - int field_2124; - int field_2128; - int field_212C; - int field_2130; - int field_2134; - int field_2138; - int field_213C; - int field_2140; - int field_2144; - int field_2148; - int field_214C; - int field_2150; - int field_2154; - int field_2158; - int field_215C; - int field_2160; - int field_2164; - int field_2168; - int field_216C; - int field_2170; - int field_2174; - int field_2178; - int field_217C; - int field_2180; - int field_2184; - int field_2188; - int field_218C; - int field_2190; - int field_2194; - int field_2198; - int field_219C; - int field_21A0; - int field_21A4; - int field_21A8; - int field_21AC; - int field_21B0; - int field_21B4; - int field_21B8; - int field_21BC; - int field_21C0; - int field_21C4; - int field_21C8; - int field_21CC; - int field_21D0; - int field_21D4; - int field_21D8; - int field_21DC; - int field_21E0; - int field_21E4; - int field_21E8; - int field_21EC; - int field_21F0; - int field_21F4; - int field_21F8; - int field_21FC; - int field_2200; - int field_2204; - int field_2208; - int field_220C; - int field_2210; - int field_2214; - int field_2218; - int field_221C; - int field_2220; - int field_2224; - int field_2228; - int field_222C; - int field_2230; - int field_2234; - int field_2238; - int field_223C; - int field_2240; - int field_2244; - int field_2248; - int field_224C; - int field_2250; - int field_2254; - int field_2258; - int field_225C; - int field_2260; - int field_2264; - int field_2268; - int field_226C; - int field_2270; - int field_2274; - int field_2278; - int field_227C; - int field_2280; - int field_2284; - int field_2288; - int field_228C; - int field_2290; - int field_2294; - int field_2298; - int field_229C; - int field_22A0; - int field_22A4; - int field_22A8; - int field_22AC; - int field_22B0; - int field_22B4; - int field_22B8; - int field_22BC; - int field_22C0; - int field_22C4; - int field_22C8; - int field_22CC; - int field_22D0; - int field_22D4; - int field_22D8; - int field_22DC; - int field_22E0; - int field_22E4; - int field_22E8; - int field_22EC; - int field_22F0; - int field_22F4; - int field_22F8; - int field_22FC; - int field_2300; - int field_2304; - int field_2308; - int field_230C; - int field_2310; - int field_2314; - int field_2318; - int field_231C; - int field_2320; - int field_2324; - int field_2328; - int field_232C; - int field_2330; - int field_2334; - int field_2338; - int field_233C; - int field_2340; - int field_2344; - int field_2348; - int field_234C; - int field_2350; - int field_2354; - int field_2358; - int field_235C; - int field_2360; - int field_2364; - int field_2368; - int field_236C; - int field_2370; - int field_2374; - int field_2378; - int field_237C; - int field_2380; - int field_2384; - int field_2388; - int field_238C; - int field_2390; - int field_2394; - int field_2398; - int field_239C; - int field_23A0; - int field_23A4; - int field_23A8; - int field_23AC; - int field_23B0; - int field_23B4; - int field_23B8; - int field_23BC; - int field_23C0; - int field_23C4; - int field_23C8; - int field_23CC; - int field_23D0; - int field_23D4; - int field_23D8; - int field_23DC; - int field_23E0; - int field_23E4; - int field_23E8; - int field_23EC; - int field_23F0; - int field_23F4; - int field_23F8; - int field_23FC; - int field_2400; - int field_2404; - int field_2408; - int field_240C; - int field_2410; - int field_2414; - int field_2418; - int field_241C; - int field_2420; - int field_2424; - int field_2428; - int field_242C; - int field_2430; - int field_2434; - int field_2438; - int field_243C; - int field_2440; - int field_2444; - int field_2448; - int field_244C; - int field_2450; - int field_2454; - int field_2458; - int field_245C; - int field_2460; - int field_2464; - int field_2468; - int field_246C; - int field_2470; - int field_2474; - int field_2478; - int field_247C; - int field_2480; - int field_2484; - int field_2488; - int field_248C; - int field_2490; - int field_2494; - int field_2498; - int field_249C; - int field_24A0; - int field_24A4; - int field_24A8; - int field_24AC; - int field_24B0; - int field_24B4; - int field_24B8; - int field_24BC; - int field_24C0; - int field_24C4; - int field_24C8; - int field_24CC; - int field_24D0; - int field_24D4; - int field_24D8; - int field_24DC; - int field_24E0; - int field_24E4; - int field_24E8; - int field_24EC; - int field_24F0; - int field_24F4; - int field_24F8; - int field_24FC; - int field_2500; - int field_2504; - int field_2508; - int field_250C; - int field_2510; - int field_2514; - int field_2518; - int field_251C; - int field_2520; - int field_2524; - int field_2528; - int field_252C; - int field_2530; - int field_2534; - int field_2538; - int field_253C; - int field_2540; - int field_2544; - int field_2548; - int field_254C; - int field_2550; - int field_2554; - int field_2558; - int field_255C; - int field_2560; - int field_2564; - int field_2568; - int field_256C; - int field_2570; - int field_2574; - int field_2578; - int field_257C; - int field_2580; - int field_2584; - int field_2588; - int field_258C; - int field_2590; - int field_2594; - int field_2598; - int field_259C; - int field_25A0; - int field_25A4; - int field_25A8; - int field_25AC; - int field_25B0; - int field_25B4; - int field_25B8; - int field_25BC; - int field_25C0; - int field_25C4; - int field_25C8; - int field_25CC; - int field_25D0; - int field_25D4; - int field_25D8; - int field_25DC; - int field_25E0; - int field_25E4; - int field_25E8; - int field_25EC; - int field_25F0; - int field_25F4; - int field_25F8; - int field_25FC; - int field_2600; - int field_2604; - int field_2608; - int field_260C; - int field_2610; - int field_2614; - int field_2618; - int field_261C; - int field_2620; - int field_2624; - int field_2628; - int field_262C; - int field_2630; - int field_2634; - int field_2638; - int field_263C; - int field_2640; - int field_2644; - int field_2648; - int field_264C; - int field_2650; - int field_2654; - int field_2658; - int field_265C; - int field_2660; - int field_2664; - int field_2668; - int field_266C; - int field_2670; - int field_2674; - int field_2678; - int field_267C; - int field_2680; - int field_2684; - int field_2688; - int field_268C; - int field_2690; - int field_2694; - int field_2698; - int field_269C; - int field_26A0; - int field_26A4; - int field_26A8; - int field_26AC; - int field_26B0; - int field_26B4; - int field_26B8; - int field_26BC; - int field_26C0; - int field_26C4; - int field_26C8; - int field_26CC; - int field_26D0; - int field_26D4; - int field_26D8; - int field_26DC; - int field_26E0; - int field_26E4; - int field_26E8; - int field_26EC; - int field_26F0; - int field_26F4; - int field_26F8; - int field_26FC; - int field_2700; - int field_2704; - int field_2708; - int field_270C; - int field_2710; - int field_2714; - int field_2718; - int field_271C; - int field_2720; - int field_2724; - int field_2728; - int field_272C; - int field_2730; - int field_2734; - int field_2738; - int field_273C; - int field_2740; - int field_2744; - int field_2748; - int field_274C; - int field_2750; - int field_2754; - int field_2758; - int field_275C; - int field_2760; - int field_2764; - int field_2768; - int field_276C; - int field_2770; - int field_2774; - int field_2778; - int field_277C; - int field_2780; - int field_2784; - int field_2788; - int field_278C; - int field_2790; - int field_2794; - int field_2798; - int field_279C; - int field_27A0; - int field_27A4; - int field_27A8; - int field_27AC; - int field_27B0; - int field_27B4; - int field_27B8; - int field_27BC; - int field_27C0; - int field_27C4; - int field_27C8; - int field_27CC; - int field_27D0; - int field_27D4; - int field_27D8; - int field_27DC; - int field_27E0; - int field_27E4; - int field_27E8; - int field_27EC; - int field_27F0; - int field_27F4; - int field_27F8; - int field_27FC; - int field_2800; - int field_2804; - int field_2808; - int field_280C; - int field_2810; - int field_2814; - int field_2818; - int field_281C; - int field_2820; - int field_2824; - int field_2828; - int field_282C; - int field_2830; - int field_2834; - int field_2838; - int field_283C; - int field_2840; - int field_2844; - int field_2848; - int field_284C; - int field_2850; - int field_2854; - int buffer_for_watch_greenbackdrop_DL; - int field_285C; - int field_2860; - int field_2864; - int field_2868; - int field_286C; - int field_2870; - int field_2874; - int field_2878; - int field_287C; - int field_2880; - int field_2884; - int field_2888; - int field_288C; - int field_2890; - int field_2894; - int field_2898; - int field_289C; - int field_28A0; - int field_28A4; - int field_28A8; - int field_28AC; - int field_28B0; - int field_28B4; - int field_28B8; - int field_28BC; - int field_28C0; - int field_28C4; - int field_28C8; - int field_28CC; - int field_28D0; - int field_28D4; - int field_28D8; - int field_28DC; - int field_28E0; - int field_28E4; - int field_28E8; - int field_28EC; - int field_28F0; - int field_28F4; - int field_28F8; - int field_28FC; - int field_2900; - int field_2904; - int field_2908; - int field_290C; - int field_2910; - int field_2914; - int field_2918; - int field_291C; - int field_2920; - int field_2924; - int field_2928; - int field_292C; - int field_2930; - int field_2934; - int field_2938; - int field_293C; - int field_2940; - int field_2944; - int field_2948; - int field_294C; - int field_2950; - int field_2954; - int field_2958; - int field_295C; - int field_2960; - int field_2964; - int field_2968; - int field_296C; - int field_2970; - int field_2974; - int field_2978; - int field_297C; - int field_2980; - int field_2984; - int field_2988; - int field_298C; - int field_2990; - int field_2994; - int field_2998; - int field_299C; - int field_29A0; - int field_29A4; - int field_29A8; - int field_29AC; - int field_29B0; - int field_29B4; - int field_29B8; - f32 field_29BC; - f32 field_29C0; - int mpmenuon; - int mpmenumode; - int mpquitconfirm; - int mpjoywascentre; - int damagetype; - int deathcount; - int num_suicides; - int field_29E0; - int last_kill_time; - int field_29E8; - int field_29EC; - int field_29F0; - int field_29F4; - int field_29F8; - int field_29FC; - int healthdisplaytime; - int field_2A04; - f32 field_2A08; - f32 field_2A0C; - int ptr_text_first_mp_award; - int ptr_text_second_mp_award; - int field_2A18; - int field_2A1C; - int field_2A20; - int field_2A24; - int field_2A28; - int field_2A2C; - int field_2A30; - int field_2A34; - int cur_item_weapon_getname; - f32 actual_health; - f32 actual_armor; - int field_2A44[2]; - f32 field_2A4C; - int lock_hand_model[2]; - int cur_player_control_type_0; - int cur_player_control_type_1; - float cur_player_control_type_2; - int neg_vspacing_for_control_type_entry; - int has_set_control_type_data; - int field_2A6C; - int field_2A70; - int field_2A74; - int field_2A78; - int field_2A7C; -}; - -typedef struct indy_resource_entry indy_resource_entry, *Pindy_resource_entry; - -struct indy_resource_entry { - u32 resourceID; - s32 type; - s32 size; - s32 readsize; - s32 writesize; -}; - -typedef struct s_mempBANK s_mempBANK, *Ps_mempBANK; - -struct s_mempBANK { - s32 bankstart; - s32 nextentry; - s32 bankend; - void * data2; -}; - -typedef struct player_gait_header player_gait_header, *Pplayer_gait_header; - -typedef struct player_gait_object_entry player_gait_object_entry, *Pplayer_gait_object_entry; - -typedef struct player_gait_pos_header player_gait_pos_header, *Pplayer_gait_pos_header; - -typedef struct player_gait_position_entry player_gait_position_entry, *Pplayer_gait_position_entry; - -struct player_gait_object_entry { - u32 field_0x0; - struct player_gait_header * ptr_header; - u32 field_0x8; - u32 field_0xc; -}; - -struct player_gait_position_entry { - float flt_1; - float flt_2; - float flt_3; - u16 field_0xc; - u16 field_0xe; - u16 field_0x10; - u16 field_0x12; - struct player_gait_header * ptr_header; - u32 field_0x18; -}; - -struct player_gait_pos_header { - u8 field_0x0; - u8 type; - u16 field_0x2; - struct player_gait_position_entry * entry; - struct player_gait_header * previous; - void * field_0xc; - void * field_0x10; - struct player_gait_header * next; -}; - -struct player_gait_header { - u8 field_0x0; - u8 type; - u16 field_0x2; - struct player_gait_object_entry * entry; - struct player_gait_header * previous; - void * field_0xc; - void * field_0x10; - struct player_gait_pos_header * next; -}; - -typedef struct LnameX_table_entry LnameX_table_entry, *PLnameX_table_entry; - -struct LnameX_table_entry { - string * extext; - string * jtext; -}; - -typedef struct portal_table_entry portal_table_entry, *Pportal_table_entry; - - -// WARNING! conflicting data type names: /types.h/s32 - /ultratypes.h/s32 - -struct portal_table_entry { - s32 id; - s32 x_min; - s32 y_min; - s32 x_max; - s32 y_max; -}; - -typedef struct resource_lookup_data_entry resource_lookup_data_entry, *Presource_lookup_data_entry; - -struct resource_lookup_data_entry { - u32 rom_size; - s32 pc_remaining; - u32 pc_size; - u32 buffer_remaining; - u8 loaded_bank; - u8 unk_11; - u16 reserved; -}; - -typedef struct firing_anim_struct firing_anim_struct, *Pfiring_anim_struct; - -struct firing_anim_struct { - pointer pointer; - dword anim; - f32 x; - f32 y; - f32 z; -}; - -typedef struct fog_element fog_element, *Pfog_element; - -struct fog_element { - u32 stageID; - f32 blendmultiplier; - f32 farfog; - f32 nearfog; - f32 maxvisrange; - f32 maxobfuscationrange; - f32 minvisrange; - u32 intensity; - u32 dif_in_light; - u32 far_ambiantlight; - u8 red; - u8 green; - u8 blue; - u8 clouds; - f32 cloudrepeat; - u16 skyimageid; - u16 reserved; - f32 cloudred; - f32 cloudgreen; - f32 cloudblue; - u8 iswater; - u8 padding[3]; - f32 waterrepeat; - u16 waterimageid; - u16 reserved2; - f32 waterred; - f32 watergreen; - f32 waterblue; - f32 waterconcavity; -}; - -typedef struct s_mainloop_unk s_mainloop_unk, *Ps_mainloop_unk; - -struct s_mainloop_unk { - undefined4 dword_80024304; - undefined4 dword_80024308; - undefined4 dword_8002430C; - undefined4 dword_80024310; - undefined4 dword_80024314; - undefined4 dword_80024318; - undefined4 dword_8002431C; - undefined4 dword_80024320; -}; - -typedef enum STAGENUM { - SP_STAGE_ARCHIVES=10, - SP_STAGE_AZTEK=18, - SP_STAGE_BUNKER1=4, - SP_STAGE_BUNKER2=8, - SP_STAGE_CAVERNS=16, - SP_STAGE_CONTROL=15, - SP_STAGE_CRADLE=17, - SP_STAGE_DAM=0, - SP_STAGE_DEPOT=12, - SP_STAGE_EGYPT=19, - SP_STAGE_FACILITY=1, - SP_STAGE_FRIGATE=6, - SP_STAGE_JUNGLE=14, - SP_STAGE_MAX=20, - SP_STAGE_RUNWAY=2, - SP_STAGE_SILO=5, - SP_STAGE_STATUE=9, - SP_STAGE_STREETS=11, - SP_STAGE_SURFACE1=3, - SP_STAGE_SURFACE2=7, - SP_STAGE_TRAIN=13 -} STAGENUM; - -typedef enum PLAYER_ID { - PLAYER1=0, - PLAYER2=1, - PLAYER3=2, - PLAYER4=3 -} PLAYER_ID; - -typedef struct indy_read_buf indy_read_buf, *Pindy_read_buf; - - -// WARNING! conflicting data type names: /types.h/u32 - /ultratypes.h/u32 - -struct indy_read_buf { - u32 resourceID; - s32 type; - s32 size; -}; - -typedef struct sfxdata sfxdata, *Psfxdata; - -struct sfxdata { - s32 target_volume; - s32 audio_range_time; - s32 initial_volume; - void * preset_emitter; - void * object_emitter; -}; - -typedef struct ramromfilestructure ramromfilestructure, *Pramromfilestructure; - -typedef double f64; - -typedef enum LEVELID { - LEVELID_ARCHIVES=24, - LEVELID_AZTEC=28, - LEVELID_BASEMENT=45, - LEVELID_BUNKER1=9, - LEVELID_BUNKER2=27, - LEVELID_CAVERNS=39, - LEVELID_CAVES=50, - LEVELID_CITADEL=40, - LEVELID_COMPLEX=31, - LEVELID_CONTROL=23, - LEVELID_CRADLE=41, - LEVELID_CUBA=54, - LEVELID_DAM=33, - LEVELID_DEPOT=30, - LEVELID_EAR=51, - LEVELID_EGYPT=32, - LEVELID_ELD=44, - LEVELID_FACILITY=34, - LEVELID_FRIGATE=26, - LEVELID_JUNGLE=37, - LEVELID_LEE=52, - LEVELID_LIBRARY=48, - LEVELID_LIP=53, - LEVELID_LUE=47, - LEVELID_MAX=57, - LEVELID_NONE=-1, - LEVELID_PAM=56, - LEVELID_RIT=49, - LEVELID_RUNWAY=35, - LEVELID_SHO=42, - LEVELID_SILO=20, - LEVELID_STACK=46, - LEVELID_STATUE=22, - LEVELID_STREETS=29, - LEVELID_SURFACE=36, - LEVELID_SURFACE2=43, - LEVELID_TEMPLE=38, - LEVELID_TITLE=90, - LEVELID_TRAIN=25, - LEVELID_WAX=55 -} LEVELID; - -typedef enum DIFFICULTY { - DIFFICULTY_00=2, - DIFFICULTY_007=3, - DIFFICULTY_AGENT=0, - DIFFICULTY_MULTI=-1, - DIFFICULTY_SECRET=1 -} DIFFICULTY; - -typedef enum GAMEMODE { - GAMEMODE_CHEATS=2, - GAMEMODE_INTRO=-1, - GAMEMODE_MULTI=1, - GAMEMODE_SOLO=0 -} GAMEMODE; - -struct ramromfilestructure { - f64 randomseed; - f64 randomizer; - enum LEVELID stagenum; - enum DIFFICULTY difficulty; - u32 size_cmds; - struct save_file savefile; - f32 totaltime_ms; - u32 filesize; - enum GAMEMODE mode; - u32 slotnum; - u32 numplayers; - u32 scenario; - u32 mpstage_sel; - u32 gamelength; - u32 mp_weapon_set; - u32 p1_mp_char; - u32 p2_mp_char; - u32 p3_mp_char; - u32 p4_mp_char; - u32 p1_handi; - u32 p2_handi; - u32 p3_handi; - u32 p4_handi; - u32 p1_contstyle; - u32 p2_contstyle; - u32 p3_contstyle; - u32 p4_contstyle; - u32 aim_option; - u32 p1_flags; - u32 p2_flags; - u32 p3_flags; - u32 p4_flags; - u32 controlerstatepackets; -}; - -typedef struct s_mem_alloc_table s_mem_alloc_table, *Ps_mem_alloc_table; - -struct s_mem_alloc_table { - struct s_mem_alloc_entry entries[512]; -}; - -typedef struct bg_portal_entry bg_portal_entry, *Pbg_portal_entry; - -struct bg_portal_entry { - u8 numPoints; - u8 padding[3]; - struct xyzpoint point; -}; - -typedef struct bg_data_header bg_data_header, *Pbg_data_header; - -typedef struct bg_room_data bg_room_data, *Pbg_room_data; - -typedef struct bg_portal_data_entry bg_portal_data_entry, *Pbg_portal_data_entry; - -struct bg_data_header { - u32 RESERVED; - struct bg_room_data * pRoomDataTable; - struct bg_portal_data_entry * pPortalDataTable; - void * pGlobalVisCmds; -}; - -struct bg_portal_data_entry { - struct bg_portal_entry * offset_portal; - u8 connectedRoom1; - u8 connectedRoom2; - u16 controlbytes; -}; - -struct bg_room_data { - f32 xpos; - f32 ypos; - f32 zpos; - void * pPointTableBin; - void * pPriMappingBin; - void * pSecMappingBin; -}; - -typedef enum PROPTYPE { - New_Name=0 -} PROPTYPE; - -typedef struct indy_resource_entry_type6 indy_resource_entry_type6, *Pindy_resource_entry_type6; - -struct indy_resource_entry_type6 { - struct indy_resource_entry entry; - u32 data1; - u32 data2; -}; - -typedef struct indy_resource_entry_type3 indy_resource_entry_type3, *Pindy_resource_entry_type3; - -struct indy_resource_entry_type3 { - struct indy_resource_entry entry; - u8 strbuffer[255]; - u32 data; -}; - -typedef struct indy_resource_entry_type4 indy_resource_entry_type4, *Pindy_resource_entry_type4; - -struct indy_resource_entry_type4 { - struct indy_resource_entry entry; - u32 data; -}; - -typedef struct structunknown structunknown, *Pstructunknown; - -struct structunknown { - float field_0x0; - float field_0x4; - float field_0x8; -}; - -typedef struct sfx_register_struct sfx_register_struct, *Psfx_register_struct; - -struct sfx_register_struct { - undefined4 field_0x0; - undefined4 field_0x4; - undefined4 field_0x8; - undefined4 field_0xc; - undefined4 field_0x10; - undefined4 field_0x14; -}; - -typedef enum AMMOTYPES { - AMMO_9MM=1, - AMMO_9MM_2=2, - AMMO_BOMBCASE=16, - AMMO_BUG=20, - AMMO_CAMERA=27, - AMMO_DARTS=14, - AMMO_DYNAMITE=19, - AMMO_EXPLOSIVEPEN=15, - AMMO_FLARE=17, - AMMO_GEKEY=22, - AMMO_GGUN=13, - AMMO_GRENADE=5, - AMMO_GRENADEROUND=11, - AMMO_KNIFE=10, - AMMO_MAGNUM=12, - AMMO_MICRO_CAMERA=21, - AMMO_PITON=18, - AMMO_PLASTIQUE=23, - AMMO_PROXMINE=8, - AMMO_REMOTEMINE=7, - AMMO_RIFLE=3, - AMMO_ROCKETS=6, - AMMO_SHOTGUN=4, - AMMO_TANK=28, - AMMO_TIMEDMINE=9, - AMMO_TOKEN=29, - AMMO_UNK=26, - AMMO_WATCH_LASER=24, - AMMO_WATCH_MAGNET=25 -} AMMOTYPES; - -typedef enum WEAPONID { - CHOP=1, - GOLDGUN=19, - HKNIFE=2, - New_Name=4, - New_Name_(1)=5, - New_Name_(10)=14, - New_Name_(11)=15, - New_Name_(12)=16, - New_Name_(13)=17, - New_Name_(14)=18, - New_Name_(15)=20, - New_Name_(16)=21, - New_Name_(17)=22, - New_Name_(18)=23, - New_Name_(19)=24, - New_Name_(2)=6, - New_Name_(20)=25, - New_Name_(21)=26, - New_Name_(22)=27, - New_Name_(23)=28, - New_Name_(24)=29, - New_Name_(25)=30, - New_Name_(26)=31, - New_Name_(27)=32, - New_Name_(28)=33, - New_Name_(29)=34, - New_Name_(3)=7, - New_Name_(30)=35, - New_Name_(31)=36, - New_Name_(32)=37, - New_Name_(33)=38, - New_Name_(34)=39, - New_Name_(35)=40, - New_Name_(36)=41, - New_Name_(37)=42, - New_Name_(38)=43, - New_Name_(39)=44, - New_Name_(4)=8, - New_Name_(40)=45, - New_Name_(41)=46, - New_Name_(42)=47, - New_Name_(43)=48, - New_Name_(44)=49, - New_Name_(45)=50, - New_Name_(46)=51, - New_Name_(47)=52, - New_Name_(48)=53, - New_Name_(49)=54, - New_Name_(5)=9, - New_Name_(50)=55, - New_Name_(51)=56, - New_Name_(52)=57, - New_Name_(53)=58, - New_Name_(54)=59, - New_Name_(55)=60, - New_Name_(56)=61, - New_Name_(57)=62, - New_Name_(58)=63, - New_Name_(59)=64, - New_Name_(6)=10, - New_Name_(60)=65, - New_Name_(61)=66, - New_Name_(62)=67, - New_Name_(63)=68, - New_Name_(64)=69, - New_Name_(65)=70, - New_Name_(66)=71, - New_Name_(67)=72, - New_Name_(68)=73, - New_Name_(69)=74, - New_Name_(7)=11, - New_Name_(70)=75, - New_Name_(71)=76, - New_Name_(72)=77, - New_Name_(73)=78, - New_Name_(74)=79, - New_Name_(75)=80, - New_Name_(76)=81, - New_Name_(77)=82, - New_Name_(78)=83, - New_Name_(79)=84, - New_Name_(8)=12, - New_Name_(80)=85, - New_Name_(81)=86, - New_Name_(82)=87, - New_Name_(9)=13, - TKNIFE=3, - UNARMED=0 -} WEAPONID; - -typedef enum CAMERAMODE { - FADESWIRL_CAM=2, - FP_CAM=4, - FP_NOINPUT_CAM=8, - INTRO_CAM=1, - MP_CAM=9, - POSEND_CAM=7, - SWIRL_CAM=3, - UNK10_CAM=10, - UNK5_CAM=5, - UNK6_CAM=6 -} CAMERAMODE; - -typedef enum COLORMODE { - 16BIT=1, - 32BIT=0 -} COLORMODE; - -typedef uchar uch; - -typedef struct fog_element2 fog_element2, *Pfog_element2; - -struct fog_element2 { - u32 stageID; - u8 red; - u8 green; - u8 blue; - u8 clouds; - f32 cloudrepeat; - u16 skyimageid; - u16 reserved; - f32 cloudred; - f32 cloudgreen; - f32 cloudblue; - u8 iswater; - u8 padding[3]; - f32 waterrepeat; - u16 waterimageid; - u16 reserved2; - f32 waterred; - f32 watergreen; - f32 waterblue; - f32 waterconcavity; -}; - -typedef enum enumOSEventMsg { - PRE_NMI_MSG=669, - RDP_DONE_MSG=668, - RSP_DONE_MSG=667, - VIDEO_MSG=666 -} enumOSEventMsg; - -typedef enum TEXTFILESTRINGS { - "E R R O R\n"=45097, - "\n"=45099, - "completed\n"=45101, - "failed\n"=45103, - "incomplete\n"=45102, - "no briefing for this mission\n"=45098, - "objective"=45100 -} TEXTFILESTRINGS; - -typedef struct sSecondFontTableController sSecondFontTableController, *PsSecondFontTableController; - -struct sSecondFontTableController { - u8 field_0x0[20]; - u8 field_0x14[24]; - u8 field_0x2c[24]; - u8 font_second_font_table_controller_large[12912]; -}; - -typedef ulong ulg; - -typedef enum SCHEDTASKS { - M_AUDTASK=2, - M_GFXTASK=1, - M_VIDTASK=3 -} SCHEDTASKS; - -typedef struct struct_8007ffa0_entry struct_8007ffa0_entry, *Pstruct_8007ffa0_entry; - -struct struct_8007ffa0_entry { - s32 index; - s32 field_0x4; - f32 field_0x8; - f32 field_0xc; - f32 field_0x10; - f32 field_0x14; - s32 field_0x18; -}; - -typedef enum MUSIC_TRACKS { - M_ARCHIVES=11, - M_ARCHIVESX=37, - M_AZTEC=25, - M_AZTECX=46, - M_BUNKER1=15, - M_BUNKER1X=41, - M_BUNKER2=16, - M_BUNKER2X=42, - M_CITADEL=6, - M_CONTROL=8, - M_CONTROLX=33, - M_CRADLE=19, - M_CRADLEX=48, - M_CUBA=49, - M_DAM=9, - M_DAMX=35, - M_DEATHSOLO=27, - M_DEPOT=4, - M_DEPOTX=32, - M_EGYPTIAN=22, - M_EGYPTIANX=39, - M_EGYPTX=47, - M_ELEVATOR_CONTROL=18, - M_ELEVATOR_WC=21, - M_END_SOMETHING=62, - M_FACILITY=7, - M_FACILITYX=31, - M_FOLDERS=23, - M_FRIGATE=10, - M_FRIGATEX=36, - M_GUITARGLISS=54, - M_INTRO=2, - M_INTROSWOOSH=44, - M_JUNGLE=55, - M_JUNGLEX=43, - M_MPDEATH=58, - M_MPTHEME=5, - M_MPTHEME2=13, - M_MPTHEME3=52, - M_NONE=0, - M_RUNWAY=50, - M_RUNWAYPLANE=51, - M_RUNWAYX=56, - M_SHORT_SOLO_DEATH=1, - M_SILO=12, - M_SILOX=38, - M_STATUE=17, - M_STATUEPART=61, - M_STATUEX=45, - M_STREETS=14, - M_STREETSX=40, - M_SURFACE1=57, - M_SURFACE2=28, - M_SURFACE2END=60, - M_SURFACE2X=59, - M_TRAIN=3, - M_TRAINX=29, - M_UNK=20, - M_UNK2=30, - M_WATCH=24, - M_WATERCAVERNS=26, - M_WATERCAVERNSX=34, - M_WIND=53 -} MUSIC_TRACKS; - -typedef struct sFontTableControllerLarge sFontTableControllerLarge, *PsFontTableControllerLarge; - -typedef struct sFirstFontTableController sFirstFontTableController, *PsFirstFontTableController; - -struct sFirstFontTableController { - undefined1 font_first_font_table_controller_large[676]; -}; - -struct sFontTableControllerLarge { - struct sFirstFontTableController font_first_font_table_controller_large; - struct sSecondFontTableController font_second_font_table_controller_large; -}; - -typedef ushort ush; - -typedef struct headHat headHat, *PheadHat; - -struct headHat { - f32 xoffset; - f32 yoffset; - f32 zoffset; - f32 xsize; - f32 ysize; - f32 zsize; -}; - -typedef enum CHEAT_IDS { - CHEAT_05=5, - CHEAT_ALLGUNS=3, - CHEAT_EXTRA_MP_CHARS=1, - CHEAT_INVINCIBILITY=2, - CHEAT_LINEMODE=7, - CHEAT_MAXAMMO=4, - CHEAT_REMOVE_INVINCIBILITY=6, - NULL=0, - UNLOCK_CHEATS=54, - UNLOCK_STAGES=74, - UNUSED_17=23, - UNUSED_1C=28, - UNUSED_23=35, - UNUSED_24=36, - UNUSED_25=37, - UNUSED_26=38, - UNUSED_27=39, - UNUSED_28=40, - UNUSED_29=41, - UNUSED_2A=42, - UNUSED_2B=43, - UNUSED_2C=44, - UNUSED_2D=45, - UNUSED_2E=46, - UNUSED_2F=47, - UNUSED_30=48, - UNUSED_31=49, - UNUSED_32=50, - UNUSED_33=51, - UNUSED_34=52, - UNUSED_35=53, - UNUSED_37=55, - UNUSED_38=56, - UNUSED_39=57, - UNUSED_3A=58, - UNUSED_3B=59, - UNUSED_3C=60, - UNUSED_3D=61, - UNUSED_3E=62, - UNUSED_3F=63, - UNUSED_40=64, - UNUSED_41=65, - UNUSED_42=66, - UNUSED_43=67, - UNUSED_44=68, - UNUSED_45=69, - UNUSED_46=70, - UNUSED_47=71, - UNUSED_48=72, - UNUSED_49=73, - cheats_cheat_10x_health=16, - cheats_cheat_2x_armor=9, - cheats_cheat_2x_health=8, - cheats_cheat_dk_mode=12, - cheats_cheat_extra_weapons=13, - cheats_cheat_fast=24, - cheats_cheat_goldengun=19, - cheats_cheat_goldpp7=21, - cheats_cheat_infinite_ammo=11, - cheats_cheat_invisibility=10, - cheats_cheat_invisibility_mp=22, - cheats_cheat_laser=18, - cheats_cheat_magnum=17, - cheats_cheat_paintball=15, - cheats_cheat_silverpp7=20, - cheats_cheat_tiny_bond=14, - cheats_debug_2x_grenade_launch=30, - cheats_debug_2x_hunting_knife=33, - cheats_debug_2x_laser=34, - cheats_debug_2x_rcp90=31, - cheats_debug_2x_rockets=29, - cheats_debug_2x_throwing_knife=32, - cheats_debug_fast_ani=26, - cheats_debug_pos=25, - cheats_debug_slow_ani=27 -} CHEAT_IDS; - -typedef struct s_memstarts s_memstarts, *Ps_memstarts; - -struct s_memstarts { - undefined4 bank1start; - undefined4 bank2start; - undefined4 bank3start; - undefined4 bank4start; - undefined4 bank5start; - undefined4 bank6start; - undefined4 bank7start; -}; - -typedef struct s_mempMVALS s_mempMVALS, *Ps_mempMVALS; - -struct s_mempMVALS { - dword field_0x0; - undefined4 dword_80024414; - undefined4 mf; - undefined4 dword_8002441C; - undefined4 ml; - undefined4 dword_80024424; - undefined4 me; - undefined4 dword_8002442C; - undefined4 dword_80024430; -}; - -typedef union union_indy_resource union_indy_resource, *Punion_indy_resource; - -union union_indy_resource { - struct indy_resource_entry field0; - struct indy_resource_entry_type3 field1; - struct indy_resource_entry_type4 field2; - struct indy_resource_entry_type6 field3; -}; - -typedef struct LnameX_name_entry LnameX_name_entry, *PLnameX_name_entry; - -struct LnameX_name_entry { - char * en_file; - char * jp_file; -}; - -typedef struct playerfavoriteweapon playerfavoriteweapon, *Pplayerfavoriteweapon; - -struct playerfavoriteweapon { - u32 right; - u32 left; -}; - -#define OS_TASK_SIZE 64 - -#define OS_TASK_OFF_UBOOT_SZ 12 - -#define OS_TASK_OFF_YIELD_SZ 60 - -#define OS_TASK_OFF_OUTBUFF 40 - -#define OS_TASK_OFF_DATA_SZ 52 - -#define OS_TASK_OFF_YIELD 56 - -#define OS_TASK_OFF_UCODE 16 - -#define OS_TASK_OFF_OUTBUFF_SZ 44 - -#define OS_TASK_OFF_UDATA 24 - -#define OS_TASK_OFF_DATA 48 - -#define OS_TASK_OFF_STACK_SZ 36 - -#define OS_TASK_OFF_UDATA_SZ 28 - -#define OS_TASK_OFF_UCODE_SZ 20 - -#define OS_TASK_OFF_FLAGS 4 - -#define OS_TASK_OFF_TYPE 0 - -#define OS_TASK_OFF_STACK 32 - -#define OS_TASK_OFF_UBOOT 8 - -#define __WORDSIZE 32 - -typedef uint _Sizet; - -#define _D0 0 - -#define _NULL 0 - -#define _DOFF 4 - -#define _DBIAS 1023 - -#define _LONG_DOUBLE 0 - -#define _DLONG 0 - -#define _LBIAS 1023 - -typedef ulonglong u64; - -typedef u64 vu64; - -typedef longlong s64; - -typedef s64 vs64; - -typedef union Mtx Mtx, *PMtx; - -typedef long Mtx_t[4][4]; - -union Mtx { - Mtx_t m; - longlong forc_structure_alignment; -}; - -typedef u16 vu16; - -typedef short s16; - -typedef s16 vs16; - -typedef u8 vu8; - -typedef char s8; - -typedef s8 vs8; - -typedef u32 vu32; - -typedef s32 vs32; - -#define FALSE 0 - -#define TRUE 1 - -#define NULL 0 - -typedef struct rdbPacket rdbPacket, *PrdbPacket; - -typedef union anon__struct_183_bitfield_1 anon__struct_183_bitfield_1, *Panon__struct_183_bitfield_1; - -union anon__struct_183_bitfield_1 { - uint type:6; // : bits 0-5 - uint length:2; // : bits 6-7 -}; - -struct rdbPacket { - union anon__struct_183_bitfield_1 field_0x0; - char buf[3]; -}; - -#define RDB_TYPE_HtoG_KDEBUG 20 - -#define RDB_TYPE_GtoH_RAMROM 9 - -#define RDB_TYPE_GtoH_PRINT 1 - -#define RDB_BASE_REG 3221225472 - -#define RDB_TYPE_INVALID 0 - -#define RDB_WRITE_INTR_REG 3221225480 - -#define DEBUG_COMMAND_MEMORY 1 - -#define RDB_LOG_MAX_BLOCK_SIZE 32768 - -#define RDB_TYPE_HtoG_DATA 16 - -#define PROF_BLOCK_SIZE 2048 - -#define RDB_TYPE_GtoH_FAULT 2 - -#define DEBUG_STATE_RECEIVE 1 - -#define GIO_RDB_BASE_REG 3209166848 - -#define RDB_TYPE_GtoH_DEBUG_READY 11 - -#define RDB_DATA_MAX_BLOCK_SIZE 32768 - -#define RDB_TYPE_GtoH_KDEBUG 12 - -#define RDB_TYPE_GtoH_READY_FOR_DATA 5 - -#define RDB_TYPE_GtoH_DEBUG_DONE 10 - -#define RDB_TYPE_GtoH_DATA_CT 6 - -#define RDB_TYPE_HtoG_LOG_DONE 13 - -#define GIO_RDB_READ_INTR_REG 3209166860 - -#define RDB_BASE_VIRTUAL_ADDR 2147483648 - -#define DEBUG_STATE_INVALID 255 - -#define RDB_TYPE_GtoH_LOG_CT 3 - -#define RDB_PROF_FLUSH_SIG 2 - -#define DEBUG_STATE_NULL 0 - -#define RDB_READ_INTR_REG 3221225484 - -#define GIO_RDB_READ_INTR_BIT 1073741824 - -#define RDB_TYPE_HtoG_DEBUG 14 - -#define RDB_TYPE_GtoH_PROF_DATA 22 - -#define RDB_TYPE_GtoH_DATA 7 - -#define RDB_TYPE_GtoH_LOG 4 - -#define RDB_TYPE_HtoG_REQ_RAMROM 18 - -#define RDB_TYPE_HtoG_FREE_RAMROM 19 - -#define RDB_TYPE_HtoG_DEBUG_CT 15 - -#define DEBUG_COMMAND_NULL 0 - -#define RDB_PROF_ACK_SIG 1 - -#define GIO_RDB_DEBUG_MINOR 2 - -#define DEBUG_COMMAND_REGISTER 2 - -#define GIO_RDB_PRINT_MINOR 1 - -#define RDB_TYPE_HtoG_PROF_SIGNAL 21 - -#define DEBUG_COMMAND_INVALID 255 - -#define RDB_TYPE_HtoG_DATA_DONE 17 - -#define GIO_RDB_WRITE_INTR_BIT 2147483648 - -#define RDB_TYPE_GtoH_DEBUG 8 - -#define GIO_RDB_WRITE_INTR_REG 3209166856 - -typedef struct bitmap bitmap, *Pbitmap; - -typedef struct bitmap Bitmap; - -struct bitmap { - s16 width; - s16 width_img; - s16 s; - s16 t; - void * buf; - s16 actualHeight; - s16 LUToffset; -}; - -typedef struct sprite sprite, *Psprite; - -typedef struct sprite Sprite; - -typedef union Gfx Gfx, *PGfx; - -typedef struct Gwords Gwords, *PGwords; - -struct sprite { - s16 x; - s16 y; - s16 width; - s16 height; - f32 scalex; - f32 scaley; - s16 expx; - s16 expy; - u16 attr; - s16 zdepth; - u8 red; - u8 green; - u8 blue; - u8 alpha; - s16 startTLUT; - s16 nTLUT; - int * LUT; - s16 istart; - s16 istep; - s16 nbitmaps; - s16 ndisplist; - s16 bmheight; - s16 bmHreal; - u8 bmfmt; - u8 bmsiz; - Bitmap * bitmap; - union Gfx * rsp_dl; - union Gfx * rsp_dl_next; - s16 frac_s; - s16 frac_t; -}; - -struct Gwords { - uint w0; - uint w1; -}; - -union Gfx { - struct Gwords words; - longlong force_structure_alignment; -}; - -#define DL_SPRITE_OVERHEAD 24 - -#define SP_FASTCOPY 32 - -#define SP_OVERLAP 64 - -#define SP_CUTOUT 2 - -#define SP_FRACPOS 256 - -#define SP_TEXSHIFT 128 - -#define SP_EXTERN 1024 - -#define SP_TEXSHUF 512 - -#define DL_BM_OVERHEAD 12 - -#define SP_SCALE 16 - -#define SP_TRANSPARENT 1 - -#define SP_Z 8 - -#define SP_HIDDEN 4 - -typedef void * __gnuc_va_list; - -typedef __gnuc_va_list va_list; - -#define SP_DRAM_STACK_SIZE64 128 - -#define SP_UCODE_SIZE 4096 - -#define SP_DRAM_STACK_SIZE8 1024 - -#define SP_UCODE_DATA_SIZE 2048 - -typedef enum AIRCRAFT_ANIMATIONS { - ANIM_helicopter_cradle=0, - ANIM_helicopter_takeoff=2, - ANIM_plane_runway=1 -} AIRCRAFT_ANIMATIONS; - -typedef enum LEVEL_SOLO_SEQUENCE { - SP_LEVEL_ARCHIVES=11, - SP_LEVEL_AZTEC=19, - SP_LEVEL_BUNKER1=5, - SP_LEVEL_BUNKER2=9, - SP_LEVEL_CAVERNS=17, - SP_LEVEL_CONTROL=16, - SP_LEVEL_CRADLE=18, - SP_LEVEL_DAM=1, - SP_LEVEL_DEPOT=13, - SP_LEVEL_EGYPT=20, - SP_LEVEL_FACILITY=2, - SP_LEVEL_FRIGATE=7, - SP_LEVEL_JUNGLE=15, - SP_LEVEL_RUNWAY=3, - SP_LEVEL_SILO=6, - SP_LEVEL_STATUE=10, - SP_LEVEL_STREETS=12, - SP_LEVEL_SURFACE1=4, - SP_LEVEL_SURFACE2=8, - SP_LEVEL_TRAIN=14 -} LEVEL_SOLO_SEQUENCE; - -typedef enum WATCH_BRIEFING_PAGE { - BRIEFING_M=2, - BRIEFING_MONEYPENNY=4, - BRIEFING_OVERVIEW=1, - BRIEFING_Q=3, - BRIEFING_TITLE=0 -} WATCH_BRIEFING_PAGE; - -typedef enum MP_STAGE_SELECTED { - MP_STAGE_ARCHIVES=9, - MP_STAGE_BASEMENT=5, - MP_STAGE_BUNKER=8, - MP_STAGE_CAVERNS=10, - MP_STAGE_CAVES=3, - MP_STAGE_COMPLEX=2, - MP_STAGE_EGYPT=11, - MP_STAGE_FACILITY=7, - MP_STAGE_LIBRARY=4, - MP_STAGE_RANDOM=0, - MP_STAGE_STACK=6, - MP_STAGE_TEMPLE=1 -} MP_STAGE_SELECTED; - -typedef enum CONTROLLER_CONFIG { - CONTROLLER_CONFIG_CINEMA=8, - CONTROLLER_CONFIG_DOMINO=6, - CONTROLLER_CONFIG_GALORE=5, - CONTROLLER_CONFIG_GOODHEAD=7, - CONTROLLER_CONFIG_GOODNIGHT=3, - CONTROLLER_CONFIG_HONEY=0, - CONTROLLER_CONFIG_KISSY=2, - CONTROLLER_CONFIG_PLENTY=4, - CONTROLLER_CONFIG_SOLITARE=1 -} CONTROLLER_CONFIG; - -typedef struct rgba_val rgba_val, *Prgba_val; - -struct rgba_val { - u8 r; - u8 g; - u8 b; - u8 a; -}; - -typedef enum MISSION_BRIEFING { - BRIEF_M=1, - BRIEF_MONEYPENNY=3, - BRIEF_OVERVIEW=0, - BRIEF_Q=2 -} MISSION_BRIEFING; - -typedef enum PROPS { - PROP_ICBM=93, - PROP_ICBM_nose=92, - PROP_ak47mag=121, - PROP_alarm1=0, - PROP_alarm2=1, - PROP_ammo_crate1=3, - PROP_ammo_crate2=4, - PROP_ammo_crate3=5, - PROP_ammo_crate4=6, - PROP_ammo_crate5=7, - PROP_apc=289, - PROP_archsecdoor1=297, - PROP_archsecdoor2=298, - PROP_artic=281, - PROP_artictrailer=286, - PROP_barricade=334, - PROP_bin1=8, - PROP_blotter1=9, - PROP_bodyarmour=115, - PROP_bodyarmourvest=116, - PROP_bollard=339, - PROP_bomb=255, - PROP_book1=10, - PROP_bookshelf1=11, - PROP_borg_crate=87, - PROP_boxcartridges=129, - PROP_boxes2x4=90, - PROP_boxes3x4=89, - PROP_boxes4x4=88, - PROP_brakeunit=120, - PROP_bridge_console1a=12, - PROP_bridge_console1b=13, - PROP_bridge_console2a=14, - PROP_bridge_console2b=15, - PROP_bridge_console3a=16, - PROP_bridge_console3b=17, - PROP_carbmw=301, - PROP_card_box1=18, - PROP_card_box2=19, - PROP_card_box3=20, - PROP_card_box4_lg=21, - PROP_card_box5_lg=22, - PROP_card_box6_lg=23, - PROP_carescort=302, - PROP_cargolf=303, - PROP_carweird=304, - PROP_carzil=305, - PROP_cctv=24, - PROP_chraudiotape=262, - PROP_chrautoshot=207, - PROP_chrblackbox=274, - PROP_chrblueprints=258, - PROP_chrbombcase=226, - PROP_chrbombdefuser=235, - PROP_chrbriefcase=198, - PROP_chrbug=245, - PROP_chrbugdetector=236, - PROP_chrbungee=233, - PROP_chrcamera=238, - PROP_chrcircuitboard=259, - PROP_chrclipboard=269, - PROP_chrcreditcard=250, - PROP_chrdarkglasses=251, - PROP_chrdatathief=253, - PROP_chrdattape=272, - PROP_chrdoordecoder=234, - PROP_chrdoorexploder=240, - PROP_chrdossierred=270, - PROP_chrdynamite=232, - PROP_chrexplosivepen=225, - PROP_chrextinguisher=128, - PROP_chrfingergun=229, - PROP_chrflarepistol=227, - PROP_chrfnp90=197, - PROP_chrgaskeyring=252, - PROP_chrgoldbar=267, - PROP_chrgolden=208, - PROP_chrgoldeneyekey=248, - PROP_chrgoldwppk=231, - PROP_chrgrenade=196, - PROP_chrgrenadelaunch=185, - PROP_chrgrenaderound=203, - PROP_chrheroin=268, - PROP_chrkalash=184, - PROP_chrkeyanalysercase=241, - PROP_chrkeybolt=244, - PROP_chrkeyyale=243, - PROP_chrknife=186, - PROP_chrlaser=187, - PROP_chrlectre=265, - PROP_chrlockexploder=239, - PROP_chrm16=188, - PROP_chrmap=260, - PROP_chrmicrocamera=246, - PROP_chrmicrocode=264, - PROP_chrmicrofilm=263, - PROP_chrmoney=266, - PROP_chrmp5k=189, - PROP_chrmp5ksil=206, - PROP_chrpitongun=228, - PROP_chrplans=256, - PROP_chrplastique=273, - PROP_chrpolarizedglasses=249, - PROP_chrproximitymine=200, - PROP_chrremotemine=199, - PROP_chrrocket=202, - PROP_chrrocketlaunch=211, - PROP_chrruger=190, - PROP_chrsafecrackercase=237, - PROP_chrshotgun=192, - PROP_chrsilverwppk=230, - PROP_chrskorpion=193, - PROP_chrsniperrifle=210, - PROP_chrspectre=194, - PROP_chrspooltape=261, - PROP_chrspyfile=257, - PROP_chrstafflist=271, - PROP_chrtesttube=338, - PROP_chrthrowknife=209, - PROP_chrtimedmine=201, - PROP_chrtt33=205, - PROP_chruzi=195, - PROP_chrvideotape=275, - PROP_chrweaponcase=242, - PROP_chrwppk=191, - PROP_chrwppksil=204, - PROP_chrwristdart=224, - PROP_console1=25, - PROP_console2=26, - PROP_console3=27, - PROP_console_sev2a=32, - PROP_console_sev2b=33, - PROP_console_sev2c=34, - PROP_console_sev2d=35, - PROP_console_sev_GEa=36, - PROP_console_sev_GEb=37, - PROP_console_seva=28, - PROP_console_sevb=29, - PROP_console_sevc=30, - PROP_console_sevd=31, - PROP_cryptdoor1a=170, - PROP_cryptdoor1b=171, - PROP_cryptdoor2a=172, - PROP_cryptdoor2b=173, - PROP_cryptdoor3=174, - PROP_cryptdoor4=175, - PROP_damchaindoor=180, - PROP_damgatedoor=178, - PROP_damtundoor=179, - PROP_depot_door_steel=309, - PROP_depot_gate_entry=308, - PROP_desk1=38, - PROP_desk2=39, - PROP_desk_arecibo1=95, - PROP_desk_lamp2=40, - PROP_dest_engine=99, - PROP_dest_exocet=100, - PROP_dest_gun=101, - PROP_dest_harpoon=102, - PROP_dest_seawolf=103, - PROP_disc_reader=41, - PROP_disk_drive1=42, - PROP_door_azt_chair=331, - PROP_door_azt_desk=329, - PROP_door_azt_desk_top=330, - PROP_door_aztec=327, - PROP_door_dest1=152, - PROP_door_dest2=153, - PROP_door_eyelid=164, - PROP_door_iris=165, - PROP_door_mf=332, - PROP_door_roller1=146, - PROP_door_roller2=147, - PROP_door_roller3=148, - PROP_door_roller4=149, - PROP_door_rollertrain=325, - PROP_door_st_arec1=150, - PROP_door_st_arec2=151, - PROP_door_win=326, - PROP_doorconsole=337, - PROP_doorpanel=336, - PROP_doorprison1=182, - PROP_doorstatgate=183, - PROP_explosionbit=2, - PROP_filing_cabinet1=43, - PROP_flag=333, - PROP_floppy=247, - PROP_fnp90mag=130, - PROP_gas_plant_met1_do1=158, - PROP_gas_plant_sw2_do1=155, - PROP_gas_plant_sw3_do1=156, - PROP_gas_plant_sw4_do1=157, - PROP_gas_plant_sw_do1=154, - PROP_gas_plant_wc_cub1=159, - PROP_gasbarrel=113, - PROP_gasbarrels=114, - PROP_gasplant_clear_door=160, - PROP_gastank=117, - PROP_glassware1=118, - PROP_glassware2=310, - PROP_glassware3=311, - PROP_glassware4=312, - PROP_goldeneyelogo=277, - PROP_goldenshells=131, - PROP_groundgun=299, - PROP_gun_runway1=292, - PROP_hatberet=220, - PROP_hatberetblue=221, - PROP_hatberetred=222, - PROP_hatchbolt=119, - PROP_hatchdoor=177, - PROP_hatchsevx=295, - PROP_hatfurry=212, - PROP_hatfurryblack=214, - PROP_hatfurrybrown=213, - PROP_hathelmet=217, - PROP_hathelmetgrey=218, - PROP_hatmoon=219, - PROP_hatpeaked=223, - PROP_hattbird=215, - PROP_hattbirdbrown=216, - PROP_helicopter=282, - PROP_hind=285, - PROP_jeep=280, - PROP_jerry_can1=44, - PROP_jungle3_tree=108, - PROP_jungle5_tree=318, - PROP_key_holder=294, - PROP_keyboard1=45, - PROP_kit_units1=46, - PROP_labbench=112, - PROP_landmine=313, - PROP_legalpage=319, - PROP_letter_tray1=47, - PROP_locker3=96, - PROP_locker4=97, - PROP_m16mag=122, - PROP_magnumshells=132, - PROP_mainframe1=48, - PROP_mainframe2=49, - PROP_metal_chair1=50, - PROP_metal_crate1=51, - PROP_metal_crate2=52, - PROP_metal_crate3=53, - PROP_metal_crate4=54, - PROP_milcopter=284, - PROP_miltruck=279, - PROP_missile_rack=55, - PROP_missile_rack2=56, - PROP_modembox=335, - PROP_motorbike=287, - PROP_mp5kmag=123, - PROP_nintendologo=276, - PROP_oil_drum1=57, - PROP_oil_drum2=58, - PROP_oil_drum3=59, - PROP_oil_drum5=60, - PROP_oil_drum6=61, - PROP_oil_drum7=62, - PROP_padlock=63, - PROP_palm=109, - PROP_palmtree=110, - PROP_phone1=64, - PROP_plane=291, - PROP_plant1=314, - PROP_plant11=315, - PROP_plant2=316, - PROP_plant2b=111, - PROP_plant3=317, - PROP_radio_unit1=65, - PROP_radio_unit2=66, - PROP_radio_unit3=67, - PROP_radio_unit4=68, - PROP_roofgun=98, - PROP_safe=254, - PROP_safedoor=293, - PROP_sat1_reflect=69, - PROP_satbox=71, - PROP_satdish=70, - PROP_sec_panel=91, - PROP_sev_door=135, - PROP_sev_door3=136, - PROP_sev_door3_wind=137, - PROP_sev_door4_wind=138, - PROP_sev_door_v1=140, - PROP_sev_trislide=139, - PROP_sevdish=296, - PROP_sevdoormetslide=169, - PROP_sevdoornowind=168, - PROP_sevdoorwind=167, - PROP_sevdoorwood=166, - PROP_shuttle=328, - PROP_shuttle_door_l=306, - PROP_shuttle_door_r=307, - PROP_silencer=127, - PROP_silo_lift_door=144, - PROP_silotopdoor=181, - PROP_skorpionmag=124, - PROP_spectremag=125, - PROP_speedboat=290, - PROP_st_pete_room_1i=320, - PROP_st_pete_room_2i=321, - PROP_st_pete_room_3t=322, - PROP_st_pete_room_5c=323, - PROP_st_pete_room_6c=324, - PROP_steel_door1=141, - PROP_steel_door2=142, - PROP_steel_door2b=145, - PROP_steel_door3=143, - PROP_stool1=72, - PROP_swipe_card2=86, - PROP_swivel_chair1=73, - PROP_tank=288, - PROP_tiger=283, - PROP_torpedo_rack=74, - PROP_train_door=161, - PROP_train_door2=162, - PROP_train_door3=163, - PROP_trainextdoor=300, - PROP_tt33mag=134, - PROP_tuning_console1=94, - PROP_tv1=75, - PROP_tv4screen=78, - PROP_tv_holder=76, - PROP_tvscreen=77, - PROP_uzimag=126, - PROP_vertdoor=176, - PROP_walletbond=278, - PROP_window=104, - PROP_window_cor11=107, - PROP_window_lib_lg1=105, - PROP_window_lib_sm1=106, - PROP_wood_lg_crate1=79, - PROP_wood_lg_crate2=80, - PROP_wood_md_crate3=81, - PROP_wood_sm_crate4=82, - PROP_wood_sm_crate5=83, - PROP_wood_sm_crate6=84, - PROP_wooden_table1=85, - PROP_wppkmag=133 -} PROPS; - -typedef enum ANIMATIONS { - ANIM_adjusting_crotch=158, - ANIM_aim_and_blow_one_handed_weapon=149, - ANIM_aim_one_handed_weapon_left=150, - ANIM_aim_one_handed_weapon_left_right=99, - ANIM_aim_one_handed_weapon_right=151, - ANIM_aim_running_left_one_handed_weapon=87, - ANIM_aim_running_one_handed_weapon=85, - ANIM_aim_running_right_one_handed_weapon=86, - ANIM_aim_sprinting_one_handed_weapon=88, - ANIM_aim_walking_left_one_handed_weapon=83, - ANIM_aim_walking_one_handed_weapon=82, - ANIM_aim_walking_right_one_handed_weapon=84, - ANIM_bond_eye_fire=44, - ANIM_bond_eye_fire_alt=176, - ANIM_bond_eye_walk=43, - ANIM_bond_watch=45, - ANIM_cock_one_handed_weapon_and_turn_around=100, - ANIM_cock_one_handed_weapon_turn_around_and_stand_up=102, - ANIM_conversation=152, - ANIM_conversation_cleaned=160, - ANIM_conversation_listener=161, - ANIM_coughing_kneel1=166, - ANIM_coughing_kneel2=167, - ANIM_coughing_standing=165, - ANIM_cradle_fall=180, - ANIM_cradle_jump=179, - ANIM_credits_bond_kissing=181, - ANIM_credits_natalya_kissing=182, - ANIM_dam_jump=177, - ANIM_dancing=170, - ANIM_dancing_one_handed_weapon=171, - ANIM_death_backward_fall_face_up1=28, - ANIM_death_backward_fall_face_up2=37, - ANIM_death_backward_spin_face_down_left=31, - ANIM_death_backward_spin_face_down_right=29, - ANIM_death_backward_spin_face_up_left=32, - ANIM_death_backward_spin_face_up_right=30, - ANIM_death_explosion_back1=133, - ANIM_death_explosion_back2=136, - ANIM_death_explosion_back_left=132, - ANIM_death_explosion_forward=130, - ANIM_death_explosion_forward_face_down=138, - ANIM_death_explosion_forward_right1=135, - ANIM_death_explosion_forward_right2=140, - ANIM_death_explosion_forward_right2_alt=141, - ANIM_death_explosion_forward_right3=142, - ANIM_death_explosion_forward_roll=137, - ANIM_death_explosion_left1=131, - ANIM_death_explosion_left2=139, - ANIM_death_explosion_right=134, - ANIM_death_fetal_position_left=36, - ANIM_death_fetal_position_right=35, - ANIM_death_forward_face_down=26, - ANIM_death_forward_face_down_hard=33, - ANIM_death_forward_face_down_soft=34, - ANIM_death_forward_spin_face_up=27, - ANIM_death_genitalia=22, - ANIM_death_head=56, - ANIM_death_left_leg=57, - ANIM_death_neck=24, - ANIM_death_stagger_back_to_wall=25, - ANIM_draw_one_handed_weapon_and_look_around=97, - ANIM_draw_one_handed_weapon_and_stand_up=98, - ANIM_draw_one_handed_weapon_and_turn_around=103, - ANIM_drop_weapon_and_show_fight_stance=153, - ANIM_extending_left_hand=61, - ANIM_fire_hip=3, - ANIM_fire_hip_forward_one_handed_weapon=70, - ANIM_fire_hip_one_handed_weapon_fast=68, - ANIM_fire_hip_one_handed_weapon_slow=69, - ANIM_fire_jump_to_side_left=52, - ANIM_fire_jump_to_side_right=53, - ANIM_fire_kneel_aiming_down_sights=128, - ANIM_fire_kneel_dual_wield=116, - ANIM_fire_kneel_dual_wield_hands_crossed=119, - ANIM_fire_kneel_dual_wield_hands_crossed_left=120, - ANIM_fire_kneel_dual_wield_hands_crossed_right=121, - ANIM_fire_kneel_dual_wield_left=117, - ANIM_fire_kneel_dual_wield_right=118, - ANIM_fire_kneel_forward_one_handed_weapon_fast=76, - ANIM_fire_kneel_forward_one_handed_weapon_slow=75, - ANIM_fire_kneel_left=9, - ANIM_fire_kneel_left_leg=8, - ANIM_fire_kneel_left_one_handed_weapon=81, - ANIM_fire_kneel_left_one_handed_weapon_fast=80, - ANIM_fire_kneel_left_one_handed_weapon_slow=79, - ANIM_fire_kneel_right=10, - ANIM_fire_kneel_right_leg=7, - ANIM_fire_kneel_right_one_handed_weapon_fast=78, - ANIM_fire_kneel_right_one_handed_weapon_slow=77, - ANIM_fire_roll_left=11, - ANIM_fire_roll_left_fast=13, - ANIM_fire_roll_right1=12, - ANIM_fire_roll_right2=39, - ANIM_fire_running=49, - ANIM_fire_running_dual_wield=110, - ANIM_fire_running_dual_wield_hands_crossed=111, - ANIM_fire_shoulder_left=4, - ANIM_fire_sprinting_dual_wield=112, - ANIM_fire_sprinting_dual_wield_hands_crossed=113, - ANIM_fire_standing=1, - ANIM_fire_standing_aiming_down_sights=127, - ANIM_fire_standing_draw_one_handed_weapon_fast=66, - ANIM_fire_standing_draw_one_handed_weapon_slow=67, - ANIM_fire_standing_dual_wield=122, - ANIM_fire_standing_dual_wield_hands_crossed_left=125, - ANIM_fire_standing_dual_wield_hands_crossed_right=126, - ANIM_fire_standing_dual_wield_left=123, - ANIM_fire_standing_dual_wield_right=124, - ANIM_fire_standing_fast=2, - ANIM_fire_standing_left_one_handed_weapon_fast=74, - ANIM_fire_standing_left_one_handed_weapon_slow=73, - ANIM_fire_standing_one_handed_weapon=65, - ANIM_fire_standing_right_one_handed_weapon=71, - ANIM_fire_step_right_one_handed_weapon=72, - ANIM_fire_throw_grenade=62, - ANIM_fire_turn_right1=5, - ANIM_fire_turn_right2=6, - ANIM_fire_walking=48, - ANIM_fire_walking_dual_wield=108, - ANIM_fire_walking_dual_wield_hands_crossed=109, - ANIM_hit_butt_long=54, - ANIM_hit_butt_short=55, - ANIM_hit_left_arm=16, - ANIM_hit_left_hand=18, - ANIM_hit_left_leg=20, - ANIM_hit_left_shoulder=14, - ANIM_hit_neck=23, - ANIM_hit_right_arm=17, - ANIM_hit_right_hand=19, - ANIM_hit_right_leg=21, - ANIM_hit_right_shoulder=15, - ANIM_hit_taser=129, - ANIM_holster_one_handed_weapon_and_adjust_suit=105, - ANIM_holster_one_handed_weapon_and_cross_arms=101, - ANIM_idle=0, - ANIM_idle_unarmed=106, - ANIM_jogging_one_handed_weapon=89, - ANIM_jump_backwards=60, - ANIM_keyboard_left_hand=174, - ANIM_keyboard_right_hand1=172, - ANIM_keyboard_right_hand2=173, - ANIM_keyboard_right_hand_tapping=175, - ANIM_laughing_in_disbelief=163, - ANIM_look_around=64, - ANIM_null143=143, - ANIM_null144=144, - ANIM_null145=145, - ANIM_null146=146, - ANIM_null169=169, - ANIM_null50=50, - ANIM_null51=51, - ANIM_null91=91, - ANIM_null92=92, - ANIM_null93=93, - ANIM_null94=94, - ANIM_null95=95, - ANIM_null96=96, - ANIM_running=42, - ANIM_running_female=115, - ANIM_running_hands_up=147, - ANIM_scratching_butt=157, - ANIM_scratching_leg=156, - ANIM_side_step_left=38, - ANIM_slide_left=59, - ANIM_slide_right=58, - ANIM_sneeze=159, - ANIM_spotting_bond=63, - ANIM_sprinting=41, - ANIM_sprinting_hands_up=148, - ANIM_sprinting_one_handed_weapon=90, - ANIM_standing_up=168, - ANIM_startled_and_looking_around=162, - ANIM_step_foward_and_hold_one_handed_weapon=104, - ANIM_surface_vent_jump=178, - ANIM_surrendering_armed=46, - ANIM_surrendering_armed_drop_weapon=47, - ANIM_surrendering_unarmed=164, - ANIM_swatting_flies=155, - ANIM_walking=40, - ANIM_walking_female=114, - ANIM_walking_unarmed=107, - ANIM_yawning=154 -} ANIMATIONS; - - -// WARNING! conflicting data type names: /bondgame.h/COLORMODE - /COLORMODE - -typedef enum PROJECTILES { - PROJECTILES_MAX=46, - PROJECTILES_TYPE_BOMBCASE=55, - PROJECTILES_TYPE_BUG=56, - PROJECTILES_TYPE_GE_KEY=58, - PROJECTILES_TYPE_GLAUNCH_ROUND=54, - PROJECTILES_TYPE_GRENADE=48, - PROJECTILES_TYPE_KNIFE=47, - PROJECTILES_TYPE_MICROCAMERA=57, - PROJECTILES_TYPE_PLASTIQUE=59, - PROJECTILES_TYPE_PROX_MINE=50, - PROJECTILES_TYPE_REMOTE_MINE=49, - PROJECTILES_TYPE_ROCKET_ROUND=52, - PROJECTILES_TYPE_ROCKET_ROUND2=53, - PROJECTILES_TYPE_TIMED_MINE=51 -} PROJECTILES; - -typedef enum GENDER { - FEMALE=0, - MALE=1 -} GENDER; - -typedef enum BODIES { - BODY_Arctic_Commando=38, - BODY_Baron_Samedi=12, - BODY_Boris=6, - BODY_Civilian_1_Female=29, - BODY_Civilian_2=33, - BODY_Civilian_3=34, - BODY_Civilian_4=32, - BODY_Female_Mandy=72, - BODY_Female_Marion_Rosika=71, - BODY_Female_Sally=70, - BODY_Female_Vivien=73, - BODY_Formal_Wear=23, - BODY_Helicopter_Pilot=36, - BODY_Janus_Marine=17, - BODY_Janus_Special_Forces=4, - BODY_Jaws=13, - BODY_Jungle_Commando=0, - BODY_Jungle_Fatigues=24, - BODY_Left_Suit_Hand_Floating_Arm=41, - BODY_Male_Alan=43, - BODY_Male_B=50, - BODY_Male_Biker=61, - BODY_Male_Chris=54, - BODY_Male_Dave_Dr_Doak=51, - BODY_Male_Des=53, - BODY_Male_Duncan=47, - BODY_Male_Dwayne=49, - BODY_Male_Graeme=62, - BODY_Male_Grant=52, - BODY_Male_Jim=57, - BODY_Male_Joe=68, - BODY_Male_Joe_Altered=66, - BODY_Male_Joel=64, - BODY_Male_Karl=42, - BODY_Male_Ken=67, - BODY_Male_Lee=55, - BODY_Male_Mark=46, - BODY_Male_Martin=45, - BODY_Male_Mishkin=69, - BODY_Male_Neil=56, - BODY_Male_Pete=44, - BODY_Male_Pierce_Bond_1=74, - BODY_Male_Pierce_Bond_2=75, - BODY_Male_Pierce_Bond_3=76, - BODY_Male_Pierce_Bond_Parka=77, - BODY_Male_Pierce_Bond_Tuxedo=78, - BODY_Male_Robin=58, - BODY_Male_Scott=65, - BODY_Male_Shaun=48, - BODY_Male_Steve_Ellis=63, - BODY_Male_Steve_H=59, - BODY_Male_Terrorist=60, - BODY_Mayday=14, - BODY_Moonraker_Elite_1_Male=39, - BODY_Moonraker_Elite_2_Female=40, - BODY_Natalya_Jungle_Fatigues=79, - BODY_Natalya_Skirt=16, - BODY_Naval_Officer=20, - BODY_Oddjob=15, - BODY_Ourumov=7, - BODY_Parka=25, - BODY_Rosika=27, - BODY_Russian_Commandant=18, - BODY_Russian_Infantry=3, - BODY_Russian_Soldier=2, - BODY_Scientist_1_Male=35, - BODY_Scientist_2_Female=28, - BODY_Siberian_Guard_1_Mishkin=19, - BODY_Siberian_Guard_2=37, - BODY_Siberian_Special_Forces=21, - BODY_Special_Operations_Uniform=22, - BODY_St_Petersburg_Guard=1, - BODY_Trevelyan_006=9, - BODY_Trevelyan_Janus=8, - BODY_Tuxedo=5, - BODY_Unused_Female=26, - BODY_Unused_Male_1=30, - BODY_Unused_Male_2=31, - BODY_Valentin_=10, - BODY_Xenia=11 -} BODIES; - -typedef enum TEXTBANK_LEVEL_INDEX { - LAME=1, - LARCH=2, - LAREC=8, - LARK=3, - LASH=4, - LAZT=5, - LCAT=6, - LCAVE=7, - LCRAD=9, - LCRYP=10, - LDAM=11, - LDEPO=12, - LDEST=13, - LDISH=14, - LEAR=15, - LELD=16, - LGUN=38, - LIMP=17, - LJUN=18, - LLEE=19, - LLEN=20, - LLIP=21, - LLUE=22, - LMISC=44, - LMPMENU=40, - LMPWEAPONS=42, - LNULL=0, - LOAT=23, - LOPTIONS=43, - LPAM=24, - LPETE=25, - LPROPOBJ=41, - LREF=26, - LRIT=27, - LRUN=28, - LSEV=30, - LSEVB=29, - LSEVX=31, - LSEVXB=32, - LSHO=33, - LSILO=34, - LSTAT=35, - LTITLE=39, - LTRA=36, - LWAX=37 -} TEXTBANK_LEVEL_INDEX; - -typedef enum DOORSTATE { - CLOSED=2, - OPEN=1 -} DOORSTATE; - -typedef enum HEADS { - HEAD_Female_Mandy=72, - HEAD_Female_Marion_Rosika=71, - HEAD_Female_Sally=70, - HEAD_Female_Vivien=73, - HEAD_Male_Alan=43, - HEAD_Male_B=50, - HEAD_Male_Biker=61, - HEAD_Male_Chris=54, - HEAD_Male_Dave_Dr_Doak=51, - HEAD_Male_Des=53, - HEAD_Male_Duncan=47, - HEAD_Male_Dwayne=49, - HEAD_Male_Graeme=62, - HEAD_Male_Grant=52, - HEAD_Male_Jim=57, - HEAD_Male_Joe=68, - HEAD_Male_Joe_Altered=66, - HEAD_Male_Joel=64, - HEAD_Male_Karl=42, - HEAD_Male_Ken=67, - HEAD_Male_Lee=55, - HEAD_Male_Mark=46, - HEAD_Male_Martin=45, - HEAD_Male_Mishkin=69, - HEAD_Male_Neil=56, - HEAD_Male_Pete=44, - HEAD_Male_Pierce_Bond_1=74, - HEAD_Male_Pierce_Bond_2=75, - HEAD_Male_Pierce_Bond_3=76, - HEAD_Male_Pierce_Bond_Parka=77, - HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT=78, - HEAD_Male_Robin=58, - HEAD_Male_Scott=65, - HEAD_Male_Shaun=48, - HEAD_Male_Steve_Ellis=63, - HEAD_Male_Steve_H=59, - HEAD_Male_Terrorist=60, - HEAD_Natalya_Jungle_Fatigues=79 -} HEADS; - -typedef enum mission_setup_type { - MISSION_HEADER=1, - MISSION_PART=0 -} mission_setup_type; - -typedef enum LEVEL_INDEX { - LEVEL_INDEX_AME=28, - LEVEL_INDEX_ARCH=4, - LEVEL_INDEX_ARK=14, - LEVEL_INDEX_ASH=26, - LEVEL_INDEX_AZT=8, - LEVEL_INDEX_CAT=20, - LEVEL_INDEX_CAVE=19, - LEVEL_INDEX_CONTROL=3, - LEVEL_INDEX_CRAD=21, - LEVEL_INDEX_CRYP=12, - LEVEL_INDEX_DAM=13, - LEVEL_INDEX_DEPO=10, - LEVEL_INDEX_DEST=6, - LEVEL_INDEX_DISH=18, - LEVEL_INDEX_EAR=31, - LEVEL_INDEX_ELD=24, - LEVEL_INDEX_IMP=25, - LEVEL_INDEX_JUN=17, - LEVEL_INDEX_LEE=32, - LEVEL_INDEX_LEN=34, - LEVEL_INDEX_LIP=33, - LEVEL_INDEX_LUE=27, - LEVEL_INDEX_OAT=30, - LEVEL_INDEX_PAM=36, - LEVEL_INDEX_PETE=9, - LEVEL_INDEX_REF=11, - LEVEL_INDEX_RIT=29, - LEVEL_INDEX_RUN=15, - LEVEL_INDEX_SEVB=7, - LEVEL_INDEX_SEVBUNKER=0, - LEVEL_INDEX_SEVX=16, - LEVEL_INDEX_SEVXB=23, - LEVEL_INDEX_SHO=22, - LEVEL_INDEX_SILO=1, - LEVEL_INDEX_STATUE=2, - LEVEL_INDEX_TRA=5, - LEVEL_INDEX_WAX=35, - LEVEL_INDEX_X=37 -} LEVEL_INDEX; - -typedef enum SCREEN_SIZE { - SCREEN_SIZE_320x240=0, - SCREEN_SIZE_440x330=1 -} SCREEN_SIZE; - -typedef u16 PAD; - -typedef enum MENU { - MENU_007_OPTIONS=9, - MENU_BRIEFING=10, - MENU_CHEAT=21, - MENU_DIFFICULTY=8, - MENU_DISPLAY_CAST=24, - MENU_EYE_INTRO=3, - MENU_FILE_SELECT=5, - MENU_GOLDENEYE_LOGO=4, - MENU_LEGAL_SCREEN=0, - MENU_MISSION_COMPLETE=13, - MENU_MISSION_FAILED=12, - MENU_MISSION_SELECT=7, - MENU_MODE_SELECT=6, - MENU_MP_CHAR_SELECT=15, - MENU_MP_CONTROL_STYLE=17, - MENU_MP_HANDICAP=16, - MENU_MP_OPTIONS=14, - MENU_MP_SCENARIO_SELECT=19, - MENU_MP_STAGE_SELECT=18, - MENU_MP_TEAMS=20, - MENU_NINTENDO_LOGO=1, - MENU_NO_CONTROLLERS=22, - MENU_RAREWARE_LOGO=2, - MENU_RUN_STAGE=11, - MENU_SPECTRUM_EMU=25, - MENU_SWITCH_SCREENS=23 -} MENU; - -#define OBJECTIVES_MAX 10 - - -// WARNING! conflicting data type names: /bondconstants.h/ITEM_IDS - /bondgame.h/ITEM_IDS - -typedef u16 PADEXTRA; - -typedef enum IMAGE_BITDEPTH { - D_16BIT=2, - D_32BIT=3, - D_4BIT=0, - D_8BIT=1 -} IMAGE_BITDEPTH; - -typedef enum CM_FLAGS { - CLAMP=1, - MIRROR=2 -} CM_FLAGS; - -typedef enum RGBA_ENUM { - ALPHA=3, - BLUE=2, - GREEN=1, - RED=0 -} RGBA_ENUM; - -typedef enum ACT_TYPE { - ACT_ANIM=3, - ACT_ARGH=6, - ACT_ATTACK=8, - ACT_ATTACKROLL=10, - ACT_ATTACKWALK=9, - ACT_DEAD=5, - ACT_DIE=4, - ACT_GOPOS=15, - ACT_INIT=0, - ACT_JUMPOUT=12, - ACT_KNEEL=2, - ACT_LOOKATTARGET=17, - ACT_NULL=23, - ACT_PATROL=14, - ACT_PREARGH=7, - ACT_RUNPOS=13, - ACT_SIDESTEP=11, - ACT_STAND=1, - ACT_STARTALARM=19, - ACT_SURPRISED=18, - ACT_SURRENDER=16, - ACT_TEST=22, - ACT_THROWGRENADE=20, - ACT_TURNDIR=21 -} ACT_TYPE; - -typedef enum HANDEDNESS { - LEFT_HAND=1, - RIGHT_HAND=0 -} HANDEDNESS; - - -// WARNING! conflicting data type names: /bondconstants.h/ANIMATIONS - /bondgame.h/ANIMATIONS - - -// WARNING! conflicting data type names: /bondconstants.h/COLORMODE - /COLORMODE - -typedef enum IMAGE_FORMAT { - F_CI=2, - F_I=4, - F_IA=3, - F_RGBA=0, - F_YUV=1 -} IMAGE_FORMAT; - -#define DOOR_LOCK_0 1 - -#define PROPFLAG2_00800000 8388608 - -#define CHR_FREE -1 - -#define DOOR_LOCK_2 4 - -#define DOOR_LOCK_1 2 - -#define DOOR_LOCK_4 16 - -#define DOOR_LOCK_3 8 - -#define DOOR_LOCK_6 64 - -#define CHR_BOND_CINEMA -8 - -#define DOOR_LOCK_5 32 - -#define PROPFLAG_00100000 1048576 - -#define CHRFLAG_NO_AUTOAIM 2048 - -#define CHRFLAG_CULL_USING_HITBOX 8388608 - -#define DOOR_LOCK_7 128 - -#define PROPFLAG_00020000 131072 - -#define PROPFLAG_00000400 1024 - -#define PROPFLAG2_00004000 16384 - -#define CHRFLAG_NO_SHADOW 8192 - -#define PROPFLAG_00000080 128 - -#define PROPFLAG_00008000 32768 - -#define PROPFLAG2_00000400 1024 - -#define PROPFLAG2_00400000 4194304 - -#define CHRFLAG_COUNT_DEATH_AS_CIVILIAN 1048576 - -#define PAD_PRESET 9000 - -#define CHR_PRESET -4 - -#define PROPFLAG2_00020000 131072 - -#define PROPFLAG_00002000 8192 - -#define PROPFLAG_10000000 268435456 - -#define CHRFLAG_INVINCIBLE 16 - -#define CHR_SEE_DIE -5 - -#define CHRFLAG_HIDDEN 1024 - -#define PROPFLAG_00010000 65536 - -#define PROPFLAG2_08000000 134217728 - -#define PROPFLAG2_00000100 256 - -#define CHRFLAG_00000004 4 - -#define CHRFLAG_00000001 1 - -#define CHRFLAG_10000000 268435456 - -#define PROPFLAG2_80000000 2147483648 - -#define CHRFLAG_80000000 2147483648 - -#define CHRFLAG_HAS_BEEN_ON_SCREEN 8 - -#define PROPFLAG2_20000000 536870912 - -#define PROPFLAG_00004000 16384 - -#define PROPFLAG_00000200 512 - -#define CHR_OBJECTIVE -2 - -#define PROPFLAG_00400000 4194304 - -#define CHRFLAG_01000000 16777216 - -#define PROPFLAG2_00000200 512 - -#define CHRFLAG_SUNGLASSES 2 - -#define CHRFLAG_00000020 32 - -#define CHRFLAG_00040000 262144 - -#define PROPFLAG2_00010000 65536 - -#define CHR_CLONE -7 - -#define CHRFLAG_02000000 33554432 - -#define PROPFLAG_08000000 134217728 - -#define CHRFLAG_WAS_DAMAGED 256 - -#define PROPFLAG_80000000 2147483648 - -#define PROPFLAG2_00001000 4096 - -#define CHR_SEE_SHOT -6 - -#define CHRFLAG_00000200 512 - -#define CHRFLAG_00010000 65536 - -#define CHRFLAG_CAN_SHOOT_CHRS 64 - -#define PROPFLAG_00000004 4 - -#define PADEXTRA_START 10000 - -#define CHR_SELF -3 - -#define PROPFLAG_00000800 2048 - -#define PROPFLAG_00000008 8 - -#define PROPFLAG2_00000040 64 - -#define CHRFLAG_INCREASE_SPRINT_SPEED 524288 - -#define PROPFLAG_20000000 536870912 - -#define PROPFLAG_40000000 1073741824 - -#define PROPFLAG_00000001 1 - -#define PROPFLAG_00000002 2 - -#define CHRFLAG_04000000 67108864 - -#define PROPFLAG2_00000010 16 - -#define PROPFLAG2_00000001 1 - -#define PROPFLAG2_00000002 2 - -#define PROPFLAG2_00000004 4 - -#define PROPFLAG2_00000800 2048 - -#define PROPFLAG2_00000008 8 - -#define CHR_CLONED_NUM_START 9000 - -#define PROPFLAG_00200000 2097152 - -#define PROPFLAG2_00000020 32 - -#define PROPFLAG_00000100 256 - -#define PROPFLAG2_01000000 16777216 - -#define GAME_TICKRATE 60 - -#define PROPFLAG_04000000 67108864 - -#define PROPFLAG2_00200000 2097152 - -#define CHRFLAG_LOCK_Y_POS 4096 - -#define PROPFLAG2_00040000 262144 - -#define PROPFLAG_00001000 4096 - -#define PROPFLAG_01000000 16777216 - -#define CHRFLAG_20000000 536870912 - -#define PROPFLAG2_00100000 1048576 - -#define PROPFLAG_00800000 8388608 - -#define CHRFLAG_IGNORE_ANIM_TRANSLATION 16384 - -#define PROPFLAG2_02000000 33554432 - -#define CHRFLAG_00000080 128 - -#define CHRFLAG_00008000 32768 - -#define CHR_SPAWN_NUM_START 5000 - -#define CHRFLAG_40000000 1073741824 - -#define PROPFLAG2_00000080 128 - -#define PROPFLAG2_40000000 1073741824 - -#define PROPFLAG2_00008000 32768 - -#define CHRFLAG_WAS_HIT 2097152 - -#define PROPFLAG_00000040 64 - -#define CHRFLAG_00020000 131072 - -#define PROPFLAG_00080000 524288 - -#define PROPFLAG2_00080000 524288 - -#define PROPFLAG_02000000 33554432 - -#define PROPFLAG_00000010 16 - -#define CHRFLAG_08000000 134217728 - -#define PROPFLAG_00040000 262144 - -#define PROPFLAG2_10000000 268435456 - -#define PROPFLAG2_00002000 8192 - -#define PROPFLAG2_04000000 67108864 - -#define PROPFLAG_00000020 32 - -#define CHRFLAG_00400000 4194304 - -typedef struct IMAGE IMAGE, *PIMAGE; - -struct IMAGE { - ushort imagic; - ushort type; - ushort dim; - ushort xsize; - ushort ysize; - ushort zsize; - ulong min; - ulong max; - ulong wastebytes; - char name[80]; - ulong colormap; - long file; - ushort flags; - short dorev; - short x; - short y; - short z; - short cnt; - ushort * ptr; - ushort * base; - ushort * tmpbuf; - ulong offset; - ulong rleend; - ulong * rowstart; - long * rowsize; -}; - -#define CM_COLORMAP 3 - -#define TYPEMASK 65280 - -#define ITYPE_VERBATIM 0 - -#define ITYPE_RLE 256 - -#define CM_DITHERED 1 - -#define IMAGIC 474 - -#define RLE_NOP 0 - -#define CM_SCREEN 2 - -#define BPPMASK 255 - -#define CM_NORMAL 0 - -typedef struct _Region_s _Region_s, *P_Region_s; - -struct _Region_s { - u8 * r_startBufferAddress; - u8 * r_endAddress; - s32 r_bufferSize; - s32 r_bufferCount; - u16 r_freeList; - u16 r_alignSize; -}; - -typedef struct _Region_s OSRegion; - -#define OS_RG_ALIGN_DEFAULT 8 - -#define MAX_BUFCOUNT 32768 - -#define OS_RG_ALIGN_16B 16 - -#define OS_RG_ALIGN_4B 4 - -#define OS_RG_ALIGN_2B 2 - -#define OS_RG_ALIGN_8B 8 - -#define BUF_FREE_WO_NEXT 32768 - -#define GT_STATE_OFF_VTXCOUNT 8 - -#define GT_STATE_OFF_TRANSFORM 24 - -#define GT_STATE_OFF_RENDSTATE 0 - -#define GT_STATE_OFF_TRICOUNT 10 - -#define GT_STATE_OFF_VTXV0 9 - -#define GT_STATE_SIZE 88 - -#define GT_STATE_OFF_TEXSTATE 4 - -#define GT_STATE_OFF_OTHERMODE 16 - -#define GT_STATE_OFF_RDPCMDS 12 - -#define M_GFXTASK 1 - -#define G_OFF 0 - -#define G_ON 1 - -#define M_VIDTASK 3 - -#define NUM_SEGMENTS 16 - -#define M_AUDTASK 2 - -typedef void (* OSErrorHandler)(s16, s16, ...); - -#define ERR_OSPISTARTDMA_PIMGR 28 - -#define ERR_OSCREATETHREAD_PRI 2 - -#define ERR_OSVISETXSCALE_VALUE 39 - -#define ERR_ALMODDELAYOVERFLOW 133 - -#define ERR_OSVIGETNEXTFRAMEBUFFER 38 - -#define ERR_OSSETTLBASID 13 - -#define ERR_OSVIGETCURRENTFRAMEBUFFER 37 - -#define ERR_ALEVENTNOFREE 124 - -#define ERR_OSPISTARTDMA_DIR 30 - -#define ERR_OSSETTHREADPRI 4 - -#define ERR_OSSETTIME 75 - -#define ERR_OSREADHOST_ADDR 70 - -#define ERR_OSPROFILESTART_TIME 66 - -#define ERR_OSVISETMODE 45 - -#define ERR_ALSYN_NO_UPDATE 106 - -#define ERR_ALSEQSYSEX 119 - -#define ERR_OSFREE_REGION 53 - -#define ERR_OSGETREGIONBUFCOUNT 55 - -#define ERR_OSPISTARTDMA_PRI 29 - -#define ERR_OSMAPTLB_INDEX 10 - -#define ERR_OSCREATEVIMANAGER 49 - -#define ERR_ALSEQMETA 120 - -#define ERR_ALBNKFNEW 113 - -#define ERR_ALCSEQZEROSTATUS 128 - -#define ERR_OSPISTARTDMA_DEVADDR 31 - -#define ERR_OSSETEVENTMESG 9 - -#define ERR_ALHEAPNOFREE 125 - -#define ERR_OSAISETNEXTBUFFER_ADDR 15 - -#define ERR_OSSTARTTHREAD 3 - -#define ERR_OSREADHOST_SIZE 71 - -#define ERR_ALSEQPUNMAP 123 - -#define ERR_OSUNMAPTLB 12 - -#define ERR_OSAISETNEXTBUFFER_SIZE 16 - -#define ERR_ALSNDPSETSOUND 110 - -#define ERR_OSVISWAPBUFFER_VIMGR 48 - -#define ERR_ALSEQNOTMIDI0 115 - -#define ERR_OSPROFILEINIT_STR 61 - -#define ERR_OSPROFILESTART_FLAG 67 - -#define ERR_OSMAPTLB_ASID 11 - -#define ERR_OSCREATETHREAD_SP 1 - -#define ERR_OSGETREGIONBUFSIZE 56 - -#define ERR_OSVISETEVENT 46 - -#define ERR_OSVISETSPECIAL_VALUE 43 - -#define ERR_OSVISETYSCALE_VALUE 41 - -#define ERR_OSPIRAWSTARTDMA_DIR 21 - -#define ERR_OSPIRAWWRITEIO 20 - -#define ERR_OSPROFILESTOP_FLAG 68 - -#define ERR_ALCSEQZEROVEL 129 - -#define ERR_OSMALLOC 52 - -#define ERR_OSSPTASKLOAD_OUTSIZE 59 - -#define ERR_ALSEQNOTMIDI 114 - -#define ERR_OSVIGETCURRENTMODE 36 - -#define ERR_OSPIRAWSTARTDMA_ADDR 23 - -#define ERR_OSCREATEREGION_SIZE 51 - -#define ERR_OSPIRAWSTARTDMA_SIZE 24 - -#define ERR_OSVISETXSCALE_VIMGR 40 - -#define ERR_ALCSPVNOTFREE 130 - -#define ERR_OSJAMMESG 7 - -#define ERR_OSPISTARTDMA_RANGE 34 - -#define ERR_ALSEQPINVALIDPROG 121 - -#define ERR_OSPIWRITEIO 27 - -#define ERR_OSPROFILEINIT_ORD 64 - -#define ERR_OSPROFILEINIT_SIZ 65 - -#define ERR_OSPIREADIO 26 - -#define ERR_OSSPTASKLOAD_YIELD 60 - -#define ERR_OSSTOPTIMER 77 - -#define ERR_OSSENDMESG 6 - -#define ERR_OSPISTARTDMA_ADDR 32 - -#define ERR_OSVISETSPECIAL_VIMGR 44 - -#define ERR_ALSEQTRACKHDR 118 - -#define ERR_OSSPTASKLOAD_DRAM 57 - -#define ERR_OSPROFILESTOP_TIMER 69 - -#define ERR_OSAISETFREQUENCY 14 - -#define ERR_ALSEQP_MAP_VOICE 102 - -#define ERR_OSFREE_ADDR 54 - -#define ERR_OSDPSETNEXTBUFFER_ADDR 17 - -#define ERR_OSDPSETNEXTBUFFER_SIZE 18 - -#define ERR_ALSNDPDELETE 108 - -#define ERR_OSSPTASKLOAD_OUT 58 - -#define ERR_OSPIRAWSTARTDMA_DEVADDR 22 - -#define ERR_OSCREATEMESGQUEUE 5 - -#define ERR_ALSNDPSETPRIORITY 111 - -#define ERR_ALHEAPFIRSTBLOCK 127 - -#define OS_ERROR_MAGIC 1801548921 - -#define ERR_OSPIRAWSTARTDMA_RANGE 25 - -#define ERR_ALSNDPSETPAR 112 - -#define ERR_OSSETTIMER 76 - -#define ERR_OSGETTIME 74 - -#define ERR_ALSEQP_NO_SOUND 100 - -#define ERR_ALSNDPDEALLOCATE 107 - -#define ERR_ALSEQNUMTRACKS 116 - -#define ERR_OSCREATEREGION_ALIGN 50 - -#define ERR_ALSEQP_POLY_VOICE 104 - -#define ERR_OSVISWAPBUFFER_ADDR 47 - -#define ERR_ALSNDP_NO_VOICE 105 - -#define ERR_ALHEAPCORRUPT 126 - -#define ERR_ALSEQTIME 117 - -#define ERR_ALSNDPPLAY 109 - -#define ERR_OSPIRAWREADIO 19 - -#define ERR_OSAISETNEXTBUFFER_ENDADDR 132 - -#define ERR_OSPROFILEINIT_ALN 63 - -#define ERR_OSWRITEHOST_ADDR 72 - -#define ERR_OSWRITEHOST_SIZE 73 - -#define ERR_ALSEQPUNKNOWNMIDI 122 - -#define ERR_OSCREATEPIMANAGER 35 - -#define ERR_ALSEQP_NO_VOICE 101 - -#define ERR_ALSEQOVERRUN 131 - -#define ERR_OSPISTARTDMA_SIZE 33 - -#define ERR_OSPROFILEINIT_CNT 62 - -#define ERR_ALSEQP_OFF_VOICE 103 - -#define ERR_OSRECVMESG 8 - -#define ERR_OSVISETYSCALE_VIMGR 42 - -typedef struct video_settings video_settings, *Pvideo_settings; - -struct video_settings { -}; - -typedef struct OSThread_s OSThread_s, *POSThread_s; - -typedef s32 OSPri; - -typedef s32 OSId; - -typedef struct __OSThreadprofile_s __OSThreadprofile_s, *P__OSThreadprofile_s; - -typedef struct __OSThreadContext __OSThreadContext, *P__OSThreadContext; - -typedef union __OSfp __OSfp, *P__OSfp; - -typedef struct _struct_3 _struct_3, *P_struct_3; - -struct _struct_3 { - f32 f_odd; - f32 f_even; -}; - -union __OSfp { - struct _struct_3 f; -}; - -struct __OSThreadContext { - u64 at; - u64 v0; - u64 v1; - u64 a0; - u64 a1; - u64 a2; - u64 a3; - u64 t0; - u64 t1; - u64 t2; - u64 t3; - u64 t4; - u64 t5; - u64 t6; - u64 t7; - u64 s0; - u64 s1; - u64 s2; - u64 s3; - u64 s4; - u64 s5; - u64 s6; - u64 s7; - u64 t8; - u64 t9; - u64 gp; - u64 sp; - u64 s8; - u64 ra; - u64 lo; - u64 hi; - u32 sr; - u32 pc; - u32 cause; - u32 badvaddr; - u32 rcp; - u32 fpcsr; - union __OSfp fp0; - union __OSfp fp2; - union __OSfp fp4; - union __OSfp fp6; - union __OSfp fp8; - union __OSfp fp10; - union __OSfp fp12; - union __OSfp fp14; - union __OSfp fp16; - union __OSfp fp18; - union __OSfp fp20; - union __OSfp fp22; - union __OSfp fp24; - union __OSfp fp26; - union __OSfp fp28; - union __OSfp fp30; -}; - -struct OSThread_s { - struct OSThread_s * next; - OSPri priority; - struct OSThread_s * * queue; - struct OSThread_s * tlnext; - u16 state; - u16 flags; - OSId id; - int fp; - struct __OSThreadprofile_s * thprof; - struct __OSThreadContext context; -}; - -struct __OSThreadprofile_s { - u32 flag; - u32 count; - u64 time; -}; - -typedef struct OSThread_s OSThread; - -#define OS_PRIORITY_APPMAX 127 - -#define OS_STATE_RUNNING 4 - -#define OS_PRIORITY_RMON 250 - -#define OS_PRIORITY_PIMGR 150 - -#define OS_PRIORITY_IDLE 0 - -#define OS_PRIORITY_MAX 255 - -#define OS_STATE_STOPPED 1 - -#define OS_PRIORITY_VIMGR 254 - -#define OS_STATE_RUNNABLE 2 - -#define OS_STATE_WAITING 8 - -#define OS_PRIORITY_SIMGR 140 - -#define OS_PRIORITY_RMONSPIN 200 - -typedef struct __OSEventState __OSEventState, *P__OSEventState; - -typedef struct OSMesgQueue_s OSMesgQueue_s, *POSMesgQueue_s; - -typedef struct OSMesgQueue_s OSMesgQueue; - -typedef void * OSMesg; - - -// WARNING! conflicting data type names: /os.h/OSThread - /thread.h/OSThread - -struct __OSEventState { - OSMesgQueue * messageQueue; - OSMesg message; -}; - -struct OSMesgQueue_s { - OSThread * mtqueue; - OSThread * fullqueue; - s32 validCount; - s32 first; - s32 msgCount; - OSMesg * msg; -}; - -typedef struct __OSThreadTail __OSThreadTail, *P__OSThreadTail; - - -// WARNING! conflicting data type names: /os.h/OSPri - /thread.h/OSPri - -struct __OSThreadTail { - OSThread * next; - OSPri priority; -}; - -typedef struct guDLPrintCB guDLPrintCB, *PguDLPrintCB; - -struct guDLPrintCB { - int dataSize; - int dlType; - int flags; - u32 paddr; -}; - -typedef struct PositionalLight PositionalLight, *PPositionalLight; - -struct PositionalLight { - float col[3]; - float pos[3]; - float a1; - float a2; -}; - -typedef struct Image Image, *PImage; - -struct Image { - uchar * base; - int fmt; - int siz; - int xsize; - int ysize; - int lsize; - int addr; - int w; - int h; - int s; - int t; -}; - -#define GU_PARSE_GBI_TYPE 1 - -#define GU_PARSE_MEM_BLOCK 4 - -#define GU_PARSEGBI_NONEST 2 - -#define GU_BLINKRDP_HILITE 1 - -#define GU_PARSEGBI_ROWMAJOR 1 - -#define GU_PARSEGBI_ALLMTX 16 - -#define GU_PARSERDP_VERBOSE 1 - -#define GU_PARSE_RDP_TYPE 2 - -#define GU_BLINKRDP_EXTRACT 2 - -#define GU_PARSE_READY 3 - -#define GU_PARSERDP_PRHISTO 4 - -#define FILTER_CLAMP 1 - -#define GU_PARSEGBI_DUMPONLY 32 - -#define GU_PARSEGBI_SHOWDMA 8 - -#define GU_PARSERDP_DUMPONLY 32 - -#define GU_PARSEGBI_FLTMTX 4 - -#define GU_PARSE_ABI_TYPE 5 - -#define GU_PARSERDP_PRAREA 2 - -#define FILTER_WRAP 0 - -#define GU_PARSE_STRING_TYPE 6 - -typedef struct huft huft, *Phuft; - -typedef union _union_2 _union_2, *P_union_2; - -union _union_2 { - ush n; - struct huft * t; -}; - -struct huft { - uch e; - uch b; - union _union_2 v; -}; - -#define BMAX 16 - -#define N_MAX 288 - -typedef struct OSPifRam OSPifRam, *POSPifRam; - -struct OSPifRam { - u32 ramarray[15]; - u32 pifstatus; -}; - -typedef union __OSInodeUnit __OSInodeUnit, *P__OSInodeUnit; - -typedef struct _struct_195 _struct_195, *P_struct_195; - -struct _struct_195 { - u8 bank; - u8 page; -}; - -union __OSInodeUnit { - struct _struct_195 inode_t; - u16 ipage; -}; - -typedef struct __OSContEepromFormat __OSContEepromFormat, *P__OSContEepromFormat; - -struct __OSContEepromFormat { - u8 txsize; - u8 rxsize; - u8 cmd; - u8 address; - u8 data[8]; -}; - -typedef struct __OSContReadFormat __OSContReadFormat, *P__OSContReadFormat; - -struct __OSContReadFormat { - u8 dummy; - u8 txsize; - u8 rxsize; - u8 cmd; - u16 button; - s8 stick_x; - s8 stick_y; -}; - -typedef struct __OSContRamReadFormat __OSContRamReadFormat, *P__OSContRamReadFormat; - -struct __OSContRamReadFormat { - u8 dummy; - u8 txsize; - u8 rxsize; - u8 cmd; - u16 address; - u8 data[32]; - u8 datacrc; -}; - -typedef struct __OSInode __OSInode, *P__OSInode; - -struct __OSInode { - union __OSInodeUnit inode_page[128]; -}; - -typedef struct __OSContRequesFormat __OSContRequesFormat, *P__OSContRequesFormat; - -struct __OSContRequesFormat { - u8 dummy; - u8 txsize; - u8 rxsize; - u8 cmd; - u8 typeh; - u8 typel; - u8 status; - u8 dummy1; -}; - -typedef struct __OSDir __OSDir, *P__OSDir; - -struct __OSDir { - u32 game_code; - u16 company_code; - union __OSInodeUnit start_page; - u8 status; - s8 reserved; - u16 data_sum; - char ext_name[4]; - char game_name[16]; -}; - -typedef struct __OSPackId __OSPackId, *P__OSPackId; - -struct __OSPackId { - u32 repaired; - u32 random; - u64 serial_mid; - u64 serial_low; - u16 deviceid; - u8 banks; - u8 version; - u16 checksum; - u16 inverted_checksum; -}; - -typedef struct __OSInodeCache __OSInodeCache, *P__OSInodeCache; - -struct __OSInodeCache { - struct __OSInode inode; - u8 bank; - u8 map[256]; -}; - -#define CONT_EEPROM_READ 4 - -#define CONT_SETCH 254 - -#define PFS_64K_RAM 2 - -#define PFS_INODE_DIST_MAP 256 - -#define PFS_FORCE 1 - -#define CONT_FORMAT 1 - -#define PFS_ID_1AREA 3 - -#define PFS_EOF 1 - -#define PFS_SECTOR_PER_BANK 32 - -#define EEPROM_WAIT 12000 - -#define PFS_INODE_SIZE_PER_PAGE 128 - -#define PFS_ID_2AREA 4 - -#define FORMAT_END 254 - -#define PFS_ID_3AREA 6 - -#define CONT_RESET 255 - -#define PFS_DELETE 1 - -#define PFS_PAGE_SIZE 256 - -#define PFS_SIZE_LOC 24 - -#define PFS_32K_RAM 1 - -#define CONT_READ 1 - -#define PFS_LABEL_AREA 7 - -#define CONT_RAM_READ 2 - -#define PIFRAMSIZE 16 - -#define PFS_PAGE_NOT_EXIST 2 - -#define CONT_EEPROM_WRITE 5 - -#define PFS_PAGE_NOT_USED 3 - -#define PFS_BANK_LAPPED_BY 8 - -#define CONT_RAM_WRITE 3 - -#define PFS_ID_PAGE 0 - -#define PFS_SECTOR_SIZE 4 - -#define CHANNEL_RESET 253 - -#define CONT_REQUEST 0 - -#define DEF_DIR_PAGES 2 - -#define PFS_ID_0AREA 1 - -#define PFS_WRITTEN 2 - -#define CON_ERR_MASK 192 - -typedef struct debug_processor_error_entry debug_processor_error_entry, *Pdebug_processor_error_entry; - -struct debug_processor_error_entry { - u32 val1; - u32 val2; - void * string; -}; - -typedef struct debug_handler_entry debug_handler_entry, *Pdebug_handler_entry; - -struct debug_handler_entry { - void * address; - char * ptr_name; -}; - -#define RMON_STACKSIZE 4096 - -#define RMON_DBG_BUF_SIZE 2048 - - -// WARNING! conflicting data type names: /message.h/OSMesgQueue_s - /os.h/OSMesgQueue_s - -typedef u32 OSEvent; - - -// WARNING! conflicting data type names: /message.h/OSMesgQueue - /os.h/OSMesgQueue - -#define OS_EVENT_CART 2 - -#define OS_EVENT_VI 7 - -#define OS_EVENT_FAULT 12 - -#define OS_EVENT_AI 6 - -#define OS_EVENT_THREADSTATUS 13 - -#define OS_EVENT_CPU_BREAK 10 - -#define OS_MESG_NOBLOCK 0 - -#define OS_EVENT_PI 8 - -#define OS_EVENT_COUNTER 3 - -#define OS_EVENT_DP 9 - -#define OS_MESG_BLOCK 1 - -#define OS_EVENT_SP 4 - -#define OS_EVENT_SP_BREAK 11 - -#define OS_EVENT_SI 5 - -#define OS_EVENT_PRENMI 14 - -#define OS_EVENT_SW2 1 - -#define OS_EVENT_SW1 0 - -typedef struct OSTimer_str OSTimer_str, *POSTimer_str; - -struct OSTimer_str { - struct OSTimer_str * next; - struct OSTimer_str * prev; - u64 interval; - u64 remaining; - OSMesgQueue * mq; - OSMesg * msg; -}; - -typedef struct OSTimer_str OSTimer; - -typedef u32 OSIntMask; - -typedef struct Elf32_RegInfo_MIPS Elf32_RegInfo_MIPS, *PElf32_RegInfo_MIPS; - -struct Elf32_RegInfo_MIPS { - enum Elf32_GPRMask_MIPS ri_gprmask; - dword field_0x4[4]; - dword ri_gp_value; -}; - -typedef struct Elf32_Sym Elf32_Sym, *PElf32_Sym; - -struct Elf32_Sym { - dword st_name; - dword st_value; - dword st_size; - byte st_info; - byte st_other; - word st_shndx; -}; - -typedef struct Elf32_Shdr Elf32_Shdr, *PElf32_Shdr; - -typedef enum Elf_SectionHeaderType_MIPS { - =1879048203, - SHT_CHECKSUM=1879048184, - SHT_DYNAMIC=6, - SHT_DYNSYM=11, - SHT_FINI_ARRAY=15, - SHT_GNU_ATTRIBUTES=1879048181, - SHT_GNU_HASH=1879048182, - SHT_GNU_LIBLIST=1879048183, - SHT_GNU_verdef=1879048189, - SHT_GNU_verneed=1879048190, - SHT_GNU_versym=1879048191, - SHT_GROUP=17, - SHT_HASH=5, - SHT_INIT_ARRAY=14, - SHT_MIPS_ABIFLAGS=1879048234, - SHT_MIPS_AUXSYM=1879048214, - SHT_MIPS_CONFLICT=1879048194, - SHT_MIPS_CONTENT=1879048204, - SHT_MIPS_DEBUG=1879048197, - SHT_MIPS_DELTACLASS=1879048221, - SHT_MIPS_DELTADECL=1879048223, - SHT_MIPS_DELTAINST=1879048220, - SHT_MIPS_DELTASYM=1879048219, - SHT_MIPS_DENSE=1879048211, - SHT_MIPS_DWARF=1879048222, - SHT_MIPS_EH_REGION=1879048231, - SHT_MIPS_EVENTS=1879048225, - SHT_MIPS_EXTSYM=1879048210, - SHT_MIPS_FDESC=1879048209, - SHT_MIPS_GPTAB=1879048195, - SHT_MIPS_LIBLIST=1879048192, - SHT_MIPS_LINE=1879048217, - SHT_MIPS_LOCSTR=1879048216, - SHT_MIPS_LOCSYM=1879048213, - SHT_MIPS_MSYM=1879048193, - SHT_MIPS_OPTIONS=1879048205, - SHT_MIPS_OPTSYM=1879048215, - SHT_MIPS_PACKAGE=1879048199, - SHT_MIPS_PACKSYM=1879048200, - SHT_MIPS_PDESC=1879048212, - SHT_MIPS_PDR_EXCEPTION=1879048233, - SHT_MIPS_PIXIE=1879048227, - SHT_MIPS_REGINFO=1879048198, - SHT_MIPS_RELD=1879048201, - SHT_MIPS_RFDESC=1879048218, - SHT_MIPS_SHDR=1879048208, - SHT_MIPS_SYMBOL_LIB=1879048224, - SHT_MIPS_TRANSLATE=1879048226, - SHT_MIPS_UCODE=1879048196, - SHT_MIPS_WHIRL=1879048230, - SHT_MIPS_XLATE=1879048228, - SHT_MIPS_XLATE_DEBUG=1879048229, - SHT_MIPS_XLATE_OLD=1879048232, - SHT_NOBITS=8, - SHT_NOTE=7, - SHT_NULL=0, - SHT_PREINIT_ARRAY=16, - SHT_PROGBITS=1, - SHT_REL=9, - SHT_RELA=4, - SHT_SHLIB=10, - SHT_STRTAB=3, - SHT_SUNW_COMDAT=1879048187, - SHT_SUNW_move=1879048186, - SHT_SUNW_syminfo=1879048188, - SHT_SYMTAB=2, - SHT_SYMTAB_SHNDX=18 -} Elf_SectionHeaderType_MIPS; - -struct Elf32_Shdr { - dword sh_name; - enum Elf_SectionHeaderType_MIPS sh_type; - dword sh_flags; - dword sh_addr; - dword sh_offset; - dword sh_size; - dword sh_link; - dword sh_info; - dword sh_addralign; - dword sh_entsize; -}; - -typedef struct Elf32_Phdr Elf32_Phdr, *PElf32_Phdr; - -typedef enum Elf_ProgramHeaderType_MIPS { - PT_DYNAMIC=2, - PT_GNU_EH_FRAME=1685382480, - PT_GNU_RELRO=1685382482, - PT_GNU_STACK=1685382481, - PT_INTERP=3, - PT_LOAD=1, - PT_MIPS_ABIFLAGS=1879048195, - PT_MIPS_OPTIONS=1879048194, - PT_MIPS_REGINFO=1879048192, - PT_MIPS_RTPROC=1879048193, - PT_NOTE=4, - PT_NULL=0, - PT_PHDR=6, - PT_SHLIB=5, - PT_TLS=7 -} Elf_ProgramHeaderType_MIPS; - -struct Elf32_Phdr { - enum Elf_ProgramHeaderType_MIPS p_type; - dword p_offset; - dword p_vaddr; - dword p_paddr; - dword p_filesz; - dword p_memsz; - dword p_flags; - dword p_align; -}; - -typedef struct Elf32_Ehdr Elf32_Ehdr, *PElf32_Ehdr; - -struct Elf32_Ehdr { - byte e_ident_magic_num; - char e_ident_magic_str[3]; - byte e_ident_class; - byte e_ident_data; - byte e_ident_version; - byte e_ident_pad[9]; - word e_type; - word e_machine; - dword e_version; - dword e_entry; - dword e_phoff; - dword e_shoff; - dword e_flags; - word e_ehsize; - word e_phentsize; - word e_phnum; - word e_shentsize; - word e_shnum; - word e_shstrndx; -}; - -#define SAFE_EXP 1023 - -#define _DMASK 32752 - -#define _D3 3 - -#define _D2 2 - -#define _D1 1 - -#define _DNAN 65528 - -#define _DFRAC 15 - -#define _DMAX 2047 - -#define NAN 2 - -#define _DSIGN 32768 - -#define INF 1 - -#define FINITE -1 - -#define HUGE_EXP 1842 - -typedef char * voidp; - -typedef int file_t; - -#define RESERVED 192 - -#define seekable 0 - -#define PACKED 2 - -#define DIST_BUFSIZE 32768 - -#define DEFLATED 8 - -#define WARNING 2 - -#define ORIG_NAME 8 - -#define translate_eol 0 - -#define MAX_MATCH 258 - -#define CONTINUATION 2 - -#define MIN_MATCH 3 - -#define STORED 0 - -#define COMMENT 16 - -#define WSIZE 32768 - -#define MIN_LOOKAHEAD 262 - -#define EXTRA_FIELD 4 - -#define ASCII 1 - -#define INBUFSIZ 32768 - -#define OUTBUF_EXTRA 2048 - -#define OK 0 - -#define MAX_DIST 32506 - -#define ASCII_FLAG 1 - -#define MAX_METHODS 9 - -#define ENCRYPTED 32 - -#define LZHED 3 - -#define NO_FILE -1 - -#define OUTBUFSIZ 16384 - -#define COMPRESSED 1 - -#define INBUF_EXTRA 64 - -#define ERROR 1 - -#define UNKNOWN 65535 - -#define BINARY 0 - -typedef struct OSIoMesg OSIoMesg, *POSIoMesg; - -typedef struct OSIoMesgHdr OSIoMesgHdr, *POSIoMesgHdr; - -typedef struct OSPiHandle_s OSPiHandle_s, *POSPiHandle_s; - -typedef struct OSPiHandle_s OSPiHandle; - -typedef struct __OSTranxInfo __OSTranxInfo, *P__OSTranxInfo; - -typedef struct __OSBlockInfo __OSBlockInfo, *P__OSBlockInfo; - -struct OSIoMesgHdr { - u16 type; - u8 pri; - u8 status; - OSMesgQueue * retQueue; -}; - -struct OSIoMesg { - struct OSIoMesgHdr hdr; - void * dramAddr; - u32 devAddr; - u32 size; - OSPiHandle * piHandle; -}; - -struct __OSBlockInfo { - u32 errStatus; - void * dramAddr; - void * C2Addr; - u32 sectorSize; - u32 C1ErrNum; - u32 C1ErrSector[4]; -}; - -struct __OSTranxInfo { - u32 cmdType; - u16 transferMode; - u16 blockNum; - s32 sectorNum; - u32 devAddr; - u32 bmCtlShadow; - u32 seqCtlShadow; - struct __OSBlockInfo block[2]; -}; - -struct OSPiHandle_s { - struct OSPiHandle_s * next; - u8 type; - u8 latency; - u8 pageSize; - u8 relDuration; - u8 pulse; - u8 domain; - u32 baseAddress; - u32 speed; - struct __OSTranxInfo transferInfo; -}; - -typedef struct OSPiInfo OSPiInfo, *POSPiInfo; - -struct OSPiInfo { - u8 type; - u32 address; -}; - -#define OS_MESG_PRI_HIGH 1 - -#define OS_WRITE 1 - -#define OS_READ 0 - -#define OS_MESG_PRI_NORMAL 0 - -#define DPS_REG_BASE 2753560576 - -#define DPC_REG_BASE 2752512000 - -typedef struct RamRomBuffer RamRomBuffer, *PRamRomBuffer; - -struct RamRomBuffer { - long type; - long length; - long magic; - char userdata[24573]; -}; - -#define RAMROM_BUF_SIZE 4096 - -#define RAMROM_FONTDATA_SIZE 1152 - -#define GAME_APP_DATA_READY 10 - -#define HOST_FAULT_ACK 15 - -#define RAMROM_MSG_ADDR 16752640 - -#define HOST_LOG_ACK 8 - -#define RAMROM_RMON_WRITE_ADDR 16764928 - -#define HOST_PIACCESS_REQ 1 - -#define RAMROM_FONTDATA_OFFSET 2928 - -#define RAMROM_PIF2BOOTSTRAP_OFFSET 4096 - -#define RAMROM_CLOCKRATE_MASK 4294967280 - -#define GAME_PRINTF_SEND 5 - -#define HOST_PROF_ACK 13 - -#define GAME_EXIT 16 - -#define HOST_PROF_REQ 11 - -#define RAMROM_BOOTADDR_OFFSET 8 - -#define HOST_DBG_DATA_ACK 4 - -#define GAME_LOG_SEND 7 - -#define HOST_DBG_CMD_READY 2 - -#define RAMROM_SIZE 16777216 - -#define RAMROM_APP_WRITE_ADDR 16756736 - -#define RAMROM_BOOTSTRAP_OFFSET 64 - -#define HOST_PRINTF_ACK 6 - -#define RAMROM_CLOCKRATE_OFFSET 4 - -#define RAMROM_MSG_SIZE 24576 - -#define RAMROM_RMON_READ_ADDR 16760832 - -#define GAME_FAULT_SEND 14 - -#define RAMROM_PRINTF_ADDR 16769024 - -#define GAME_PROF_SEND 12 - -#define HOST_APP_CMD_READY 9 - -#define RAMROM_LOG_ADDR 16773120 - -#define HOST_DATA_ACK 17 - -#define RAMROM_GAME_OFFSET 4096 - -#define GAME_DBG_DATA_SEND 3 - -#define RAMROM_APP_READ_ADDR 16752640 - -#define RAMROM_RELEASE_OFFSET 12 - - -// WARNING! conflicting data type names: /_CAPTURED_FROM_ge007.u.old.elf/__OSPackId - /CONTROLLER.H/__OSPackId - -typedef struct struct struct, *Pstruct; - -typedef struct OSViMode OSViMode, *POSViMode; - -typedef struct OSViCommonRegs OSViCommonRegs, *POSViCommonRegs; - -typedef struct OSViFieldRegs OSViFieldRegs, *POSViFieldRegs; - -struct struct { - u16 field_0x0; - u16 field_0x2; - void * field_0x4; - struct OSViMode * field_0x8; - u32 field_0xc; - OSMesgQueue * field_0x10; - OSMesg field_0x14; -}; - -struct OSViCommonRegs { - u32 ctrl; - u32 width; - u32 burst; - u32 vSync; - u32 hSync; - u32 leap; - u32 hStart; - u32 xScale; - u32 vCurrent; -}; - -struct OSViFieldRegs { - u32 origin; - u32 yScale; - u32 vStart; - u32 vBurst; - u32 vIntr; -}; - -struct OSViMode { - u8 type; - struct OSViCommonRegs comRegs; - struct OSViFieldRegs fldRegs[2]; -}; - -typedef struct PVoice PVoice, *PPVoice; - -typedef struct ALLink_s ALLink_s, *PALLink_s; - -typedef struct ALLink_s ALLink; - -typedef struct ALVoice_s ALVoice_s, *PALVoice_s; - -typedef struct ALFilter_s ALFilter_s, *PALFilter_s; - -typedef struct ALADPCMFilter ALADPCMFilter, *PALADPCMFilter; - -typedef struct ALResampler ALResampler, *PALResampler; - -typedef struct ALEnvMixer_s ALEnvMixer_s, *PALEnvMixer_s; - -typedef struct PVoice_s PVoice_s, *PPVoice_s; - -typedef struct ALWaveTable_s ALWaveTable_s, *PALWaveTable_s; - -typedef struct ALWaveTable_s ALWaveTable; - -typedef short ADPCM_STATE[16]; - -typedef struct $039A3EC5794421300707C77A911A1BDF $039A3EC5794421300707C77A911A1BDF, *P$039A3EC5794421300707C77A911A1BDF; - -typedef struct $039A3EC5794421300707C77A911A1BDF ALADPCMloop; - -typedef s32 (* ALDMAproc)(s32, s32, void *); - - -// WARNING! conflicting data type names: /_CAPTURED_FROM_ge007.u.old.elf/ALFilter_s - /libaudio.h/ALFilter_s - -typedef short RESAMPLE_STATE[16]; - -typedef struct ALParam_s ALParam_s, *PALParam_s; - -typedef short ENVMIX_STATE[40]; - -typedef union _union_109 _union_109, *P_union_109; - -typedef struct ALADPCMWaveInfo ALADPCMWaveInfo, *PALADPCMWaveInfo; - -typedef struct ALRAWWaveInfo ALRAWWaveInfo, *PALRAWWaveInfo; - - -// WARNING! conflicting data type names: /libaudio.h/ALADPCMloop - /GE Current Master.h/ALADPCMloop - -typedef struct ALADPCMBook ALADPCMBook, *PALADPCMBook; - -typedef struct ALRawLoop ALRawLoop, *PALRawLoop; - -struct PVoice_s { -}; - -struct $039A3EC5794421300707C77A911A1BDF { -}; - -struct ALResampler { - struct ALFilter_s filter; - RESAMPLE_STATE state; - float ratio; - int upitch; - float delta; - int first; - struct ALParam_s * ctrlList; - struct ALParam_s * ctrlTail; -}; - -struct ALFilter_s { -}; - -struct ALADPCMBook { - s32 order; - s32 npredictors; - s16 book[1]; -}; - -struct ALADPCMWaveInfo { - struct ALADPCMloop * loop; - struct ALADPCMBook * book; -}; - -struct ALRAWWaveInfo { - struct ALRawLoop * loop; -}; - -union _union_109 { - struct ALADPCMWaveInfo adpcmWave; - struct ALRAWWaveInfo rawWave; -}; - -struct ALWaveTable_s { - u8 * base; - s32 len; - u8 type; - u8 flags; - union _union_109 waveInfo; -}; - -struct ALLink_s { - struct ALLink_s * next; - struct ALLink_s * prev; -}; - -struct ALVoice_s { - ALLink node; - struct PVoice_s * pvoice; - ALWaveTable * table; - void * clientPrivate; - s16 state; - s16 priority; - s16 fxBus; - s16 unityPitch; -}; - -struct ALEnvMixer_s { - struct ALFilter_s filter; - ENVMIX_STATE state; - short pan; - short volume; - short cvolL; - short cvolR; - short dryamt; - short wetamt; - ushort lratl; - short lratm; - short ltgt; - ushort rratl; - short rratm; - short rtgt; - int delta; - int segEnd; - int first; - struct ALParam_s * ctrlList; - struct ALParam_s * ctrlTail; - struct ALFilter_s * * sources; - int motion; -}; - -struct ALRawLoop { - u32 start; - u32 end; - u32 count; -}; - -struct ALADPCMFilter { - struct ALFilter_s filter; - ADPCM_STATE state[AL_MAX_ADPCM_STATES]; - ALADPCMloop loop; - struct ALWaveTable_s * table; - int bookSize; - ALDMAproc dma; - int current; - int sample; - int lastsam; - int first; - int memin; - int dramstart; -}; - -struct ALParam_s { -}; - -struct PVoice { - ALLink node; - struct ALVoice_s * vvoice; - void * rspCode; - struct ALFilter_s * sourceKnob; - struct ALFilter_s * channelKnob; - struct ALADPCMFilter decoder; - struct ALResampler resampler; - struct ALEnvMixer_s envmixer; -}; - -typedef int * ALSetParam; - -typedef enum DEBUG_MENU_FLAGS { - FLAG_4=4, - FLAG_8=8 -} DEBUG_MENU_FLAGS; - -typedef struct __OSViContext __OSViContext, *P__OSViContext; - -typedef struct __OSViScale __OSViScale, *P__OSViScale; - -struct __OSViScale { - f32 factor; - u16 offset; - undefined field_0x6; - undefined field_0x7; - undefined field_0x8; - undefined field_0x9; -}; - -struct __OSViContext { - u16 state; - u16 retraceCount; - void * framep; - struct OSViMode * modep; - u32 control; - OSMesgQueue * msgq; - OSMesg msg; - struct __OSViScale x; - struct __OSViScale y; - u32 pad; -}; - - -// WARNING! conflicting data type names: /_CAPTURED_FROM_ge007.u.old.elf/debug_handler_entry - /init.h/debug_handler_entry - -typedef enum BOOL { - FALSE=0, - TRUE=1 -} BOOL; - -typedef enum guard_action_type { - None=0, - dying=4, - fade_away=5, - freeze=2, - freeze_anim=17, - gettingshot=6, - limping=7, - look_around=18, - moving=15, - run_roll_fire=10, - sidehop=12, - siderun=13, - sidestep=11, - standing=1, - standstill_fire=8, - surrendering=16, - swattingflies=3, - throw_grenade=20, - trigger_alarm=19, - walk_fire=9, - walk_path=14 -} guard_action_type; - -typedef union Acmd Acmd, *PAcmd; - -typedef union Acmd ALCmdHandler; - -typedef struct Awords Awords, *PAwords; - -typedef struct Aadpcm Aadpcm, *PAadpcm; - -typedef struct Apolef Apolef, *PApolef; - -typedef struct Aclearbuff Aclearbuff, *PAclearbuff; - -typedef struct Aenvelope Aenvelope, *PAenvelope; - -typedef struct Ainterleave Ainterleave, *PAinterleave; - -typedef struct Aloadbuff Aloadbuff, *PAloadbuff; - -typedef struct Aenvmixer Aenvmixer, *PAenvmixer; - -typedef struct Aresample Aresample, *PAresample; - -typedef struct Areverb Areverb, *PAreverb; - -typedef struct Asavebuff Asavebuff, *PAsavebuff; - -typedef struct Asegment Asegment, *PAsegment; - -typedef struct Asetbuff Asetbuff, *PAsetbuff; - -typedef struct Asetvol Asetvol, *PAsetvol; - -typedef struct Admemmove Admemmove, *PAdmemmove; - -typedef struct Aloadadpcm Aloadadpcm, *PAloadadpcm; - -typedef struct Amixer Amixer, *PAmixer; - -typedef struct Asetloop Asetloop, *PAsetloop; - -typedef union anon__struct_76_bitfield_1 anon__struct_76_bitfield_1, *Panon__struct_76_bitfield_1; - -typedef union anon__struct_77_bitfield_1 anon__struct_77_bitfield_1, *Panon__struct_77_bitfield_1; - -typedef union anon__struct_79_bitfield_1 anon__struct_79_bitfield_1, *Panon__struct_79_bitfield_1; - -typedef union anon__struct_79_bitfield_2 anon__struct_79_bitfield_2, *Panon__struct_79_bitfield_2; - -typedef union anon__struct_78_bitfield_1 anon__struct_78_bitfield_1, *Panon__struct_78_bitfield_1; - -typedef union anon__struct_80_bitfield_1 anon__struct_80_bitfield_1, *Panon__struct_80_bitfield_1; - -typedef union anon__struct_80_bitfield_2 anon__struct_80_bitfield_2, *Panon__struct_80_bitfield_2; - -typedef union anon__struct_81_bitfield_1 anon__struct_81_bitfield_1, *Panon__struct_81_bitfield_1; - -typedef union anon__struct_82_bitfield_1 anon__struct_82_bitfield_1, *Panon__struct_82_bitfield_1; - -typedef union anon__struct_85_bitfield_1 anon__struct_85_bitfield_1, *Panon__struct_85_bitfield_1; - -typedef union anon__struct_86_bitfield_1 anon__struct_86_bitfield_1, *Panon__struct_86_bitfield_1; - -typedef union anon__struct_87_bitfield_1 anon__struct_87_bitfield_1, *Panon__struct_87_bitfield_1; - -typedef union anon__struct_88_bitfield_1 anon__struct_88_bitfield_1, *Panon__struct_88_bitfield_1; - -typedef union anon__struct_88_bitfield_2 anon__struct_88_bitfield_2, *Panon__struct_88_bitfield_2; - -typedef union anon__struct_89_bitfield_1 anon__struct_89_bitfield_1, *Panon__struct_89_bitfield_1; - -typedef union anon__struct_89_bitfield_2 anon__struct_89_bitfield_2, *Panon__struct_89_bitfield_2; - -typedef union anon__struct_90_bitfield_1 anon__struct_90_bitfield_1, *Panon__struct_90_bitfield_1; - -typedef union anon__struct_90_bitfield_2 anon__struct_90_bitfield_2, *Panon__struct_90_bitfield_2; - -typedef union anon__struct_91_bitfield_1 anon__struct_91_bitfield_1, *Panon__struct_91_bitfield_1; - -typedef union anon__struct_91_bitfield_2 anon__struct_91_bitfield_2, *Panon__struct_91_bitfield_2; - -typedef union anon__struct_92_bitfield_1 anon__struct_92_bitfield_1, *Panon__struct_92_bitfield_1; - -typedef union anon__struct_83_bitfield_1 anon__struct_83_bitfield_1, *Panon__struct_83_bitfield_1; - -typedef union anon__struct_83_bitfield_2 anon__struct_83_bitfield_2, *Panon__struct_83_bitfield_2; - -typedef union anon__struct_93_bitfield_1 anon__struct_93_bitfield_1, *Panon__struct_93_bitfield_1; - -union anon__struct_78_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint pad1:16; // : bits 16-31 -}; - -union anon__struct_81_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint pad1:24; // : bits 8-31 -}; - -union anon__struct_88_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint pad1:24; // : bits 8-31 -}; - -union anon__struct_91_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint pad1:8; // : bits 8-15 - uint dmemin:16; // : bits 16-31 -}; - -union anon__struct_80_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint pad1:8; // : bits 8-15 - uint pad2:16; // : bits 16-31 -}; - -union anon__struct_80_bitfield_2 { - uint inL:16; // : bits 0-15 - uint inR:16; // : bits 16-31 -}; - -struct Ainterleave { - union anon__struct_80_bitfield_1 field_0x0; - union anon__struct_80_bitfield_2 field_0x4; -}; - -union anon__struct_88_bitfield_2 { - uint pad2:2; // : bits 0-1 - uint number:4; // : bits 2-5 - uint base:24; // : bits 6-29 -}; - -struct Asegment { - union anon__struct_88_bitfield_1 field_0x0; - union anon__struct_88_bitfield_2 field_0x4; -}; - -union anon__struct_91_bitfield_2 { - uint dmemout:16; // : bits 0-15 - uint count:16; // : bits 16-31 -}; - -union anon__struct_77_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint gain:16; // : bits 16-31 -}; - -struct Apolef { - union anon__struct_77_bitfield_1 field_0x0; - uint addr; -}; - -union anon__struct_83_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint gain:16; // : bits 16-31 -}; - -union anon__struct_83_bitfield_2 { - uint dmemi:16; // : bits 0-15 - uint dmemo:16; // : bits 16-31 -}; - -struct Amixer { - union anon__struct_83_bitfield_1 field_0x0; - union anon__struct_83_bitfield_2 field_0x4; -}; - -struct Awords { - uint w0; - uint w1; -}; - -union anon__struct_85_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint pitch:16; // : bits 16-31 -}; - -struct Aresample { - union anon__struct_85_bitfield_1 field_0x0; - uint addr; -}; - -union anon__struct_89_bitfield_2 { - uint dmemout:16; // : bits 0-15 - uint count:16; // : bits 16-31 -}; - -union anon__struct_89_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint dmemin:16; // : bits 16-31 -}; - -struct Asetbuff { - union anon__struct_89_bitfield_1 field_0x0; - union anon__struct_89_bitfield_2 field_0x4; -}; - -struct Aenvelope { - union anon__struct_78_bitfield_1 field_0x0; - uint addr; -}; - -union anon__struct_86_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint pad1:16; // : bits 16-31 -}; - -struct Areverb { - union anon__struct_86_bitfield_1 field_0x0; - uint addr; -}; - -union anon__struct_82_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint pad1:16; // : bits 16-31 -}; - -struct Aenvmixer { - union anon__struct_82_bitfield_1 field_0x0; - uint addr; -}; - -union anon__struct_90_bitfield_2 { - uint voltgt:16; // : bits 0-15 - uint volrate:16; // : bits 16-31 -}; - -union anon__struct_90_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint vol:16; // : bits 16-31 -}; - -struct Asetvol { - union anon__struct_90_bitfield_1 field_0x0; - union anon__struct_90_bitfield_2 field_0x4; -}; - -union anon__struct_76_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint gain:16; // : bits 16-31 -}; - -struct Aadpcm { - union anon__struct_76_bitfield_1 field_0x0; - uint addr; -}; - -struct Admemmove { - union anon__struct_91_bitfield_1 field_0x0; - union anon__struct_91_bitfield_2 field_0x4; -}; - -union anon__struct_92_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint pad1:8; // : bits 8-15 - uint count:16; // : bits 16-31 -}; - -struct Aloadadpcm { - union anon__struct_92_bitfield_1 field_0x0; - uint addr; -}; - -union anon__struct_79_bitfield_2 { - uint pad2:16; // : bits 0-15 - uint count:16; // : bits 16-31 -}; - -union anon__struct_79_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint pad1:8; // : bits 8-15 - uint dmem:16; // : bits 16-31 -}; - -struct Aclearbuff { - union anon__struct_79_bitfield_1 field_0x0; - union anon__struct_79_bitfield_2 field_0x4; -}; - -struct Aloadbuff { - union anon__struct_81_bitfield_1 field_0x0; - uint addr; -}; - -union anon__struct_87_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint pad1:24; // : bits 8-31 -}; - -struct Asavebuff { - union anon__struct_87_bitfield_1 field_0x0; - uint addr; -}; - -union anon__struct_93_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint pad1:8; // : bits 8-15 - uint pad2:16; // : bits 16-31 -}; - -struct Asetloop { - union anon__struct_93_bitfield_1 field_0x0; - uint addr; -}; - -union Acmd { - struct Awords words; - struct Aadpcm adpcm; - struct Apolef polef; - struct Aclearbuff clearbuff; - struct Aenvelope envelope; - struct Ainterleave interleave; - struct Aloadbuff loadbuff; - struct Aenvmixer envmixer; - struct Aresample resample; - struct Areverb reverb; - struct Asavebuff savebuff; - struct Asegment segment; - struct Asetbuff setbuff; - struct Asetvol setvol; - struct Admemmove dmemmove; - struct Aloadadpcm loadadpcm; - struct Amixer mixer; - struct Asetloop setloop; - longlong force_union_align; -}; - -typedef enum enum_179 { - GT_ALPHACOMPARE=1, - GT_ALPHADITHER=4, - GT_CLEAR=0, - GT_COMBKEY=6, - GT_CYCLETYPE=13, - GT_PIPELINE=14, - GT_RENDERMODE=3, - GT_RGBDITHER=5, - GT_TEXTCONV=7, - GT_TEXTDETAIL=11, - GT_TEXTFILT=8, - GT_TEXTLOD=10, - GT_TEXTLUT=9, - GT_TEXTPERSP=12, - GT_ZSRCSEL=2 -} enum_179; - -typedef union gtVtxOut gtVtxOut, *PgtVtxOut; - -typedef struct gtVtxOut_t gtVtxOut_t, *PgtVtxOut_t; - -struct gtVtxOut_t { - short xscrn; - short yscrn; - int zscrn; - short s; - short t; - u8 r; - u8 g; - u8 b; - u8 a; -}; - -union gtVtxOut { - struct gtVtxOut_t v; - longlong force_structure_alignment; -}; - -typedef enum enum_179 gtStateOthermode_t; - -typedef union gtGlobState gtGlobState, *PgtGlobState; - -typedef struct gtGlobState_t gtGlobState_t, *PgtGlobState_t; - -typedef union Vp Vp, *PVp; - -typedef struct Vp_t Vp_t, *PVp_t; - -struct Vp_t { - short vscale[4]; - short vtrans[4]; -}; - -union Vp { - struct Vp_t vp; - longlong force_structure_alignment; -}; - -struct gtGlobState_t { - u16 perspNorm; - u16 pad0; - u32 flag; - union Gfx rdpOthermode; - u32 segBases[16]; - union Vp viewport; - union Gfx * rdpCmds; -}; - -union gtGlobState { - struct gtGlobState_t sp; - longlong force_structure_alignment; -}; - -typedef union gtState gtState, *PgtState; - -typedef struct gtState_t gtState_t, *PgtState_t; - - -// WARNING! conflicting data type names: /gbi.h/Mtx - /types.h/Mtx - -struct gtState_t { - u32 renderState; - u32 textureState; - u8 vtxCount; - u8 vtxV0; - u8 triCount; - u8 flag; - union Gfx * rdpCmds; - union Gfx rdpOthermode; - union Mtx transform; -}; - -union gtState { - struct gtState_t sp; - longlong force_structure_alignment; -}; - -typedef struct gtTriN gtTriN, *PgtTriN; - -struct gtTriN { - u8 v0; - u8 v1; - u8 v2; - u8 flag; -}; - -typedef struct gtStateL_t gtStateL_t, *PgtStateL_t; - -struct gtStateL_t { - u32 renderState; - u32 textureState; - u8 vtxCount; - u8 vtxV0; - u8 triCount; - u8 flag; - union Gfx * rdpCmds; - union Gfx rdpOthermode; -}; - -typedef struct gtGfx_t gtGfx_t, *PgtGfx_t; - -typedef union Vtx Vtx, *PVtx; - -typedef struct Vtx_t Vtx_t, *PVtx_t; - -typedef struct Vtx_tn Vtx_tn, *PVtx_tn; - -struct Vtx_t { - short ob[3]; - ushort flag; - short tc[2]; - uchar cn[4]; -}; - -struct Vtx_tn { - short ob[3]; - ushort flag; - short tc[2]; - char n[3]; - uchar a; -}; - -union Vtx { - struct Vtx_t v; - struct Vtx_tn n; - longlong force_structure_alignment; -}; - -struct gtGfx_t { - union gtGlobState * gstatep; - union gtState * statep; - union Vtx * vtxp; - struct gtTriN * trip; -}; - -typedef union gtGfx gtGfx, *PgtGfx; - -union gtGfx { - struct gtGfx_t obj; - longlong force_structure_alignment; -}; - -typedef union gtStateL gtStateL, *PgtStateL; - -union gtStateL { - struct gtStateL_t sp; - longlong force_structure_alignment; -}; - -#define GT_CULL_BACK 8192 - -#define GT_ZBUFFER 1 - -#define GT_DUMPTURBO_HANGAFTER 64 - -#define GT_FLAG_NO_XFM 2 - -#define GT_FLAG_NOMTX 1 - -#define GT_TEXTURE 2 - -#define GT_DUMPTURBO_NOTEXTURES 128 - -#define GT_FLAG_XFM_ONLY 4 - -#define GT_SHADING_SMOOTH 512 - -typedef struct sGlobalImageTable sGlobalImageTable, *PsGlobalImageTable; - -struct sGlobalImageTable { - char field_0x0[120]; - undefined field_0x78[168]; - undefined field_0x120[168]; - undefined field_0x1c8[168]; - undefined field_0x270[168]; - undefined field_0x318[168]; - undefined field_0x3c0[168]; - undefined field_0x468[168]; - undefined field_0x510[168]; - undefined field_0x5b8[168]; - undefined field_0x660[168]; - undefined field_0x708[168]; - undefined field_0x7b0[168]; - undefined field_0x858[168]; - undefined field_0x900[168]; - undefined field_0x9a8[168]; - undefined field_0xa50[120]; - struct sImageTableEntry genericimage[1]; - struct sImageTableEntry impactimages[20]; - struct sImageTableEntry explosion_smokeimages[6]; - struct sImageTableEntry scattered_explosions[5]; - struct sImageTableEntry flareimage1[1]; - struct sImageTableEntry flareimage2[1]; - struct sImageTableEntry flareimage3[1]; - struct sImageTableEntry flareimage4[1]; - struct sImageTableEntry flareimage5[1]; - struct sImageTableEntry ammo9mmimage[1]; - struct sImageTableEntry rifleammoimage[1]; - struct sImageTableEntry shotgunammoimage[1]; - struct sImageTableEntry knifeammoimage[1]; - struct sImageTableEntry glammoimage[1]; - struct sImageTableEntry rocketammoimage[1]; - struct sImageTableEntry genericmineammoimage[1]; - struct sImageTableEntry grenadeammoimage[1]; - struct sImageTableEntry magnumammoimage[1]; - struct sImageTableEntry goldengunammoimage[1]; - struct sImageTableEntry remotemineammoimage[1]; - struct sImageTableEntry timedmineammoimage[1]; - struct sImageTableEntry proxmineammoimage[1]; - struct sImageTableEntry tankammoimage[1]; - struct sImageTableEntry crosshairimage[1]; - struct sImageTableEntry betacrosshairimage[1]; - struct sImageTableEntry glassoverlayimage[2]; - struct sImageTableEntry monitorimages[50]; - struct sImageTableEntry skywaterimages[3]; - struct sImageTableEntry mainfolderimages[6]; - struct sImageTableEntry mpradarimages[1]; - struct sImageTableEntry mpcharselimages[64]; - struct sImageTableEntry mpstageselimages[17]; -}; - -typedef struct astruct astruct, *Pastruct; - -struct astruct { - undefined field_0x0; - undefined field_0x1; - undefined field_0x2; - undefined field_0x3; - undefined1 txtClipW; // Created by retype action - undefined field_0x5; - undefined1 txtClipH; // Created by retype action - undefined field_0x7; - undefined field_0x8; - undefined field_0x9; - undefined field_0xa; - undefined field_0xb; - undefined field_0xc; - undefined field_0xd; - undefined field_0xe; - undefined field_0xf; - undefined1 aspect; // Created by retype action - undefined field_0x11; - undefined field_0x12; - undefined field_0x13; - undefined field_0x14; - undefined field_0x15; - undefined field_0x16; - undefined field_0x17; - undefined field_0x18; - undefined field_0x19; - undefined field_0x1a; - undefined field_0x1b; - undefined1 width; // Created by retype action - undefined field_0x1d; - undefined1 height; // Created by retype action - undefined field_0x1f; - undefined1 ulx; // Created by retype action - undefined field_0x21; - undefined1 uly; // Created by retype action - undefined field_0x23; - int field_0x24; -}; - -typedef struct vis_command vis_command, *Pvis_command; - -struct vis_command { - byte type; - byte size; - undefined field_0x2; - undefined field_0x3; - int room; -}; - -typedef struct watchMenuObjectiveText watchMenuObjectiveText, *PwatchMenuObjectiveText; - -typedef ushort u16.conflict; - -struct watchMenuObjectiveText { - u8 field_0x0; - u8 field_0x1; - u8 field_0x2; - u8 id; - enum WATCH_BRIEFING_PAGE menu; - u16 reserved; - u16.conflict text; - struct watchMenuObjectiveText * nextentry; -}; - -typedef struct astruct_2 astruct_2, *Pastruct_2; - -struct astruct_2 { - u32 field_0x0; - u32 field_0x4; - float x; - float y; - float z; -}; - -typedef struct astruct_1 astruct_1, *Pastruct_1; - -struct astruct_1 { - undefined field_0x0; - undefined field_0x1; - undefined field_0x2; - undefined field_0x3; - undefined field_0x4; - undefined field_0x5; - undefined field_0x6; - undefined field_0x7; - undefined field_0x8; - undefined field_0x9; - undefined field_0xa; - undefined field_0xb; - undefined field_0xc; - undefined field_0xd; - undefined field_0xe; - undefined field_0xf; - undefined field_0x10; - undefined field_0x11; - undefined field_0x12; - undefined field_0x13; - undefined field_0x14; - undefined field_0x15; - undefined field_0x16; - undefined field_0x17; - undefined field_0x18; - undefined field_0x19; - undefined field_0x1a; - undefined field_0x1b; - undefined field_0x1c; - undefined field_0x1d; - undefined field_0x1e; - undefined field_0x1f; - undefined field_0x20; - undefined field_0x21; - undefined field_0x22; - undefined field_0x23; - undefined field_0x24; - undefined field_0x25; - undefined field_0x26; - undefined field_0x27; - undefined field_0x28; - undefined field_0x29; - undefined field_0x2a; - undefined field_0x2b; - undefined field_0x2c; - undefined field_0x2d; - undefined field_0x2e; - undefined field_0x2f; - undefined field_0x30; - undefined field_0x31; - undefined field_0x32; - undefined field_0x33; - undefined field_0x34; - undefined field_0x35; - undefined field_0x36; - undefined field_0x37; - undefined field_0x38; - undefined field_0x39; - undefined field_0x3a; - undefined field_0x3b; - undefined field_0x3c; - undefined field_0x3d; - undefined field_0x3e; - undefined field_0x3f; - undefined field_0x40; - undefined field_0x41; - undefined field_0x42; - undefined field_0x43; - undefined field_0x44; - undefined field_0x45; - undefined field_0x46; - undefined field_0x47; - undefined field_0x48; - undefined field_0x49; - undefined field_0x4a; - undefined field_0x4b; - undefined field_0x4c; - undefined field_0x4d; - undefined field_0x4e; - undefined field_0x4f; - undefined field_0x50; - undefined field_0x51; - undefined field_0x52; - undefined field_0x53; - undefined field_0x54; - undefined field_0x55; - undefined field_0x56; - undefined field_0x57; - undefined field_0x58; - undefined field_0x59; - undefined field_0x5a; - undefined field_0x5b; - undefined field_0x5c; - undefined field_0x5d; - undefined field_0x5e; - undefined field_0x5f; - undefined field_0x60; - undefined field_0x61; - undefined field_0x62; - undefined field_0x63; - undefined field_0x64; - undefined field_0x65; - undefined field_0x66; - undefined field_0x67; - undefined field_0x68; - undefined field_0x69; - undefined field_0x6a; - undefined field_0x6b; - undefined field_0x6c; - undefined field_0x6d; - undefined field_0x6e; - undefined field_0x6f; - undefined field_0x70; - undefined field_0x71; - undefined field_0x72; - undefined field_0x73; - undefined field_0x74; - undefined field_0x75; - undefined field_0x76; - undefined field_0x77; - undefined field_0x78; - undefined field_0x79; - undefined field_0x7a; - undefined field_0x7b; - undefined field_0x7c; - undefined field_0x7d; - undefined field_0x7e; - undefined field_0x7f; - undefined field_0x80; - undefined field_0x81; - undefined field_0x82; - undefined field_0x83; - undefined field_0x84; - undefined field_0x85; - undefined field_0x86; - undefined field_0x87; - undefined field_0x88; - undefined field_0x89; - undefined field_0x8a; - undefined field_0x8b; - undefined field_0x8c; - undefined field_0x8d; - undefined field_0x8e; - undefined field_0x8f; - undefined field_0x90; - undefined field_0x91; - undefined field_0x92; - undefined field_0x93; - undefined field_0x94; - undefined field_0x95; - undefined field_0x96; - undefined field_0x97; - undefined field_0x98; - undefined field_0x99; - undefined field_0x9a; - undefined field_0x9b; - undefined field_0x9c; - undefined field_0x9d; - undefined field_0x9e; - undefined field_0x9f; - undefined field_0xa0; - undefined field_0xa1; - undefined field_0xa2; - undefined field_0xa3; - undefined field_0xa4; - undefined field_0xa5; - undefined field_0xa6; - undefined field_0xa7; - undefined field_0xa8; - undefined field_0xa9; - undefined field_0xaa; - undefined field_0xab; - undefined field_0xac; - undefined field_0xad; - undefined field_0xae; - undefined field_0xaf; - undefined field_0xb0; - undefined field_0xb1; - undefined field_0xb2; - undefined field_0xb3; - undefined field_0xb4; - undefined field_0xb5; - undefined field_0xb6; - undefined field_0xb7; - undefined field_0xb8; - undefined field_0xb9; - undefined field_0xba; - undefined field_0xbb; - undefined field_0xbc; - undefined field_0xbd; - undefined field_0xbe; - undefined field_0xbf; - undefined field_0xc0; - undefined field_0xc1; - undefined field_0xc2; - undefined field_0xc3; - undefined field_0xc4; - undefined field_0xc5; - undefined field_0xc6; - undefined field_0xc7; - undefined field_0xc8; - undefined field_0xc9; - undefined field_0xca; - undefined field_0xcb; - undefined field_0xcc; - undefined field_0xcd; - undefined field_0xce; - undefined field_0xcf; - undefined field_0xd0; - undefined field_0xd1; - undefined field_0xd2; - undefined field_0xd3; - undefined field_0xd4; - undefined field_0xd5; - undefined field_0xd6; - undefined field_0xd7; - undefined field_0xd8; - undefined field_0xd9; - undefined field_0xda; - undefined field_0xdb; - undefined field_0xdc; - undefined field_0xdd; - undefined field_0xde; - undefined field_0xdf; - undefined field_0xe0; - undefined field_0xe1; - undefined field_0xe2; - undefined field_0xe3; - undefined field_0xe4; - undefined field_0xe5; - undefined field_0xe6; - undefined field_0xe7; - undefined field_0xe8; - undefined field_0xe9; - undefined field_0xea; - undefined field_0xeb; - undefined field_0xec; - undefined field_0xed; - undefined field_0xee; - undefined field_0xef; - undefined field_0xf0; - undefined field_0xf1; - undefined field_0xf2; - undefined field_0xf3; - undefined field_0xf4; - undefined field_0xf5; - undefined field_0xf6; - undefined field_0xf7; - undefined field_0xf8; - undefined field_0xf9; - undefined field_0xfa; - undefined field_0xfb; - undefined field_0xfc; - undefined field_0xfd; - undefined field_0xfe; - undefined field_0xff; - undefined field_0x100; - undefined field_0x101; - undefined field_0x102; - undefined field_0x103; - undefined field_0x104; - undefined field_0x105; - undefined field_0x106; - undefined field_0x107; - undefined field_0x108; - undefined field_0x109; - undefined field_0x10a; - undefined field_0x10b; - undefined field_0x10c; - undefined field_0x10d; - undefined field_0x10e; - undefined field_0x10f; - undefined field_0x110; - undefined field_0x111; - undefined field_0x112; - undefined field_0x113; - undefined field_0x114; - undefined field_0x115; - undefined field_0x116; - undefined field_0x117; - undefined field_0x118; - undefined field_0x119; - undefined field_0x11a; - undefined field_0x11b; - undefined field_0x11c; - undefined field_0x11d; - undefined field_0x11e; - undefined field_0x11f; - undefined field_0x120; - undefined field_0x121; - undefined field_0x122; - undefined field_0x123; - undefined field_0x124; - undefined field_0x125; - undefined field_0x126; - undefined field_0x127; - undefined field_0x128; - undefined field_0x129; - undefined field_0x12a; - undefined field_0x12b; - undefined field_0x12c; - undefined field_0x12d; - undefined field_0x12e; - undefined field_0x12f; - undefined field_0x130; - undefined field_0x131; - undefined field_0x132; - undefined field_0x133; - undefined field_0x134; - undefined field_0x135; - undefined field_0x136; - undefined field_0x137; - undefined field_0x138; - undefined field_0x139; - undefined field_0x13a; - undefined field_0x13b; - undefined field_0x13c; - undefined field_0x13d; - undefined field_0x13e; - undefined field_0x13f; - undefined field_0x140; - undefined field_0x141; - undefined field_0x142; - undefined field_0x143; - undefined field_0x144; - undefined field_0x145; - undefined field_0x146; - undefined field_0x147; - undefined field_0x148; - undefined field_0x149; - undefined field_0x14a; - undefined field_0x14b; - undefined field_0x14c; - undefined field_0x14d; - undefined field_0x14e; - undefined field_0x14f; - undefined field_0x150; - undefined field_0x151; - undefined field_0x152; - undefined field_0x153; - undefined field_0x154; - undefined field_0x155; - undefined field_0x156; - undefined field_0x157; - undefined field_0x158; - undefined field_0x159; - undefined field_0x15a; - undefined field_0x15b; - undefined field_0x15c; - undefined field_0x15d; - undefined field_0x15e; - undefined field_0x15f; - undefined field_0x160; - undefined field_0x161; - undefined field_0x162; - undefined field_0x163; - undefined field_0x164; - undefined field_0x165; - undefined field_0x166; - undefined field_0x167; - undefined field_0x168; - undefined field_0x169; - undefined field_0x16a; - undefined field_0x16b; - undefined field_0x16c; - undefined field_0x16d; - undefined field_0x16e; - undefined field_0x16f; - undefined field_0x170; - undefined field_0x171; - undefined field_0x172; - undefined field_0x173; - undefined field_0x174; - undefined field_0x175; - undefined field_0x176; - undefined field_0x177; - undefined field_0x178; - undefined field_0x179; - undefined field_0x17a; - undefined field_0x17b; - undefined field_0x17c; - undefined field_0x17d; - undefined field_0x17e; - undefined field_0x17f; - undefined field_0x180; - undefined field_0x181; - undefined field_0x182; - undefined field_0x183; - undefined field_0x184; - undefined field_0x185; - undefined field_0x186; - undefined field_0x187; - undefined field_0x188; - undefined field_0x189; - undefined field_0x18a; - undefined field_0x18b; - undefined field_0x18c; - undefined field_0x18d; - undefined field_0x18e; - undefined field_0x18f; - undefined field_0x190; - undefined field_0x191; - undefined field_0x192; - undefined field_0x193; - undefined field_0x194; - undefined field_0x195; - undefined field_0x196; - undefined field_0x197; - undefined field_0x198; - undefined field_0x199; - undefined field_0x19a; - undefined field_0x19b; - undefined field_0x19c; - undefined field_0x19d; - undefined field_0x19e; - undefined field_0x19f; - undefined field_0x1a0; - undefined field_0x1a1; - undefined field_0x1a2; - undefined field_0x1a3; - undefined field_0x1a4; - undefined field_0x1a5; - undefined field_0x1a6; - undefined field_0x1a7; - undefined field_0x1a8; - undefined field_0x1a9; - undefined field_0x1aa; - undefined field_0x1ab; - undefined field_0x1ac; - undefined field_0x1ad; - undefined field_0x1ae; - undefined field_0x1af; - undefined field_0x1b0; - undefined field_0x1b1; - undefined field_0x1b2; - undefined field_0x1b3; - undefined field_0x1b4; - undefined field_0x1b5; - undefined field_0x1b6; - undefined field_0x1b7; - undefined field_0x1b8; - undefined field_0x1b9; - undefined field_0x1ba; - undefined field_0x1bb; - undefined field_0x1bc; - undefined field_0x1bd; - undefined field_0x1be; - undefined field_0x1bf; - undefined field_0x1c0; - undefined field_0x1c1; - undefined field_0x1c2; - undefined field_0x1c3; - undefined field_0x1c4; - undefined field_0x1c5; - undefined field_0x1c6; - undefined field_0x1c7; - undefined field_0x1c8; - undefined field_0x1c9; - undefined field_0x1ca; - undefined field_0x1cb; - undefined field_0x1cc; - undefined field_0x1cd; - undefined field_0x1ce; - undefined field_0x1cf; - undefined field_0x1d0; - undefined field_0x1d1; - undefined field_0x1d2; - undefined field_0x1d3; - undefined field_0x1d4; - undefined field_0x1d5; - undefined field_0x1d6; - undefined field_0x1d7; - undefined field_0x1d8; - undefined field_0x1d9; - undefined field_0x1da; - undefined field_0x1db; - undefined field_0x1dc; - undefined field_0x1dd; - undefined field_0x1de; - undefined field_0x1df; - undefined field_0x1e0; - undefined field_0x1e1; - undefined field_0x1e2; - undefined field_0x1e3; - undefined field_0x1e4; - undefined field_0x1e5; - undefined field_0x1e6; - undefined field_0x1e7; - undefined field_0x1e8; - undefined field_0x1e9; - undefined field_0x1ea; - undefined field_0x1eb; - undefined field_0x1ec; - undefined field_0x1ed; - undefined field_0x1ee; - undefined field_0x1ef; - undefined field_0x1f0; - undefined field_0x1f1; - undefined field_0x1f2; - undefined field_0x1f3; - undefined field_0x1f4; - undefined field_0x1f5; - undefined field_0x1f6; - undefined field_0x1f7; - undefined field_0x1f8; - undefined field_0x1f9; - undefined field_0x1fa; - undefined field_0x1fb; - undefined field_0x1fc; - undefined field_0x1fd; - undefined field_0x1fe; - undefined field_0x1ff; - undefined field_0x200; - undefined field_0x201; - undefined field_0x202; - undefined field_0x203; - undefined field_0x204; - undefined field_0x205; - undefined field_0x206; - undefined field_0x207; - undefined field_0x208; - undefined field_0x209; - undefined field_0x20a; - undefined field_0x20b; - undefined field_0x20c; - undefined field_0x20d; - undefined field_0x20e; - undefined field_0x20f; - undefined field_0x210; - undefined field_0x211; - undefined field_0x212; - undefined field_0x213; - undefined field_0x214; - undefined field_0x215; - undefined field_0x216; - undefined field_0x217; - undefined field_0x218; - undefined field_0x219; - undefined field_0x21a; - undefined field_0x21b; - undefined field_0x21c; - undefined field_0x21d; - undefined field_0x21e; - undefined field_0x21f; - undefined field_0x220; - undefined field_0x221; - undefined field_0x222; - undefined field_0x223; - undefined field_0x224; - undefined field_0x225; - undefined field_0x226; - undefined field_0x227; - undefined field_0x228; - undefined field_0x229; - undefined field_0x22a; - undefined field_0x22b; - undefined field_0x22c; - undefined field_0x22d; - undefined field_0x22e; - undefined field_0x22f; - undefined field_0x230; - undefined field_0x231; - undefined field_0x232; - undefined field_0x233; - undefined field_0x234; - undefined field_0x235; - undefined field_0x236; - undefined field_0x237; - undefined field_0x238; - undefined field_0x239; - undefined field_0x23a; - undefined field_0x23b; - undefined field_0x23c; - undefined field_0x23d; - undefined field_0x23e; - undefined field_0x23f; - undefined field_0x240; - undefined field_0x241; - undefined field_0x242; - undefined field_0x243; - undefined field_0x244; - undefined field_0x245; - undefined field_0x246; - undefined field_0x247; - undefined field_0x248; - undefined field_0x249; - undefined field_0x24a; - undefined field_0x24b; - undefined field_0x24c; - undefined field_0x24d; - undefined field_0x24e; - undefined field_0x24f; - undefined field_0x250; - undefined field_0x251; - undefined field_0x252; - undefined field_0x253; - undefined field_0x254; - undefined field_0x255; - undefined field_0x256; - undefined field_0x257; - undefined field_0x258; - undefined field_0x259; - undefined field_0x25a; - undefined field_0x25b; - undefined field_0x25c; - undefined field_0x25d; - undefined field_0x25e; - undefined field_0x25f; - undefined field_0x260; - undefined field_0x261; - undefined field_0x262; - undefined field_0x263; - undefined field_0x264; - undefined field_0x265; - undefined field_0x266; - undefined field_0x267; - undefined field_0x268; - undefined field_0x269; - undefined field_0x26a; - undefined field_0x26b; - undefined field_0x26c; - undefined field_0x26d; - undefined field_0x26e; - undefined field_0x26f; - undefined field_0x270; - undefined field_0x271; - undefined field_0x272; - undefined field_0x273; - undefined field_0x274; - undefined field_0x275; - undefined field_0x276; - undefined field_0x277; - undefined field_0x278; - undefined field_0x279; - undefined field_0x27a; - undefined field_0x27b; - undefined field_0x27c; - undefined field_0x27d; - undefined field_0x27e; - undefined field_0x27f; - undefined field_0x280; - undefined field_0x281; - undefined field_0x282; - undefined field_0x283; - undefined field_0x284; - undefined field_0x285; - undefined field_0x286; - undefined field_0x287; - undefined field_0x288; - undefined field_0x289; - undefined field_0x28a; - undefined field_0x28b; - undefined field_0x28c; - undefined field_0x28d; - undefined field_0x28e; - undefined field_0x28f; - undefined field_0x290; - undefined field_0x291; - undefined field_0x292; - undefined field_0x293; - undefined field_0x294; - undefined field_0x295; - undefined field_0x296; - undefined field_0x297; - undefined field_0x298; - undefined field_0x299; - undefined field_0x29a; - undefined field_0x29b; - undefined field_0x29c; - undefined field_0x29d; - undefined field_0x29e; - undefined field_0x29f; - undefined field_0x2a0; - undefined field_0x2a1; - undefined field_0x2a2; - undefined field_0x2a3; - undefined field_0x2a4; - undefined field_0x2a5; - undefined field_0x2a6; - undefined field_0x2a7; - undefined field_0x2a8; - undefined field_0x2a9; - undefined field_0x2aa; - undefined field_0x2ab; - undefined field_0x2ac; - undefined field_0x2ad; - undefined field_0x2ae; - undefined field_0x2af; - undefined field_0x2b0; - undefined field_0x2b1; - undefined field_0x2b2; - undefined field_0x2b3; - undefined field_0x2b4; - undefined field_0x2b5; - undefined field_0x2b6; - undefined field_0x2b7; - undefined field_0x2b8; - undefined field_0x2b9; - undefined field_0x2ba; - undefined field_0x2bb; - undefined field_0x2bc; - undefined field_0x2bd; - undefined field_0x2be; - undefined field_0x2bf; - undefined field_0x2c0; - undefined field_0x2c1; - undefined field_0x2c2; - undefined field_0x2c3; - undefined field_0x2c4; - undefined field_0x2c5; - undefined field_0x2c6; - undefined field_0x2c7; - undefined field_0x2c8; - undefined field_0x2c9; - undefined field_0x2ca; - undefined field_0x2cb; - undefined field_0x2cc; - undefined field_0x2cd; - undefined field_0x2ce; - undefined field_0x2cf; - undefined field_0x2d0; - undefined field_0x2d1; - undefined field_0x2d2; - undefined field_0x2d3; - undefined field_0x2d4; - undefined field_0x2d5; - undefined field_0x2d6; - undefined field_0x2d7; - undefined field_0x2d8; - undefined field_0x2d9; - undefined field_0x2da; - undefined field_0x2db; - undefined field_0x2dc; - undefined field_0x2dd; - undefined field_0x2de; - undefined field_0x2df; - undefined field_0x2e0; - undefined field_0x2e1; - undefined field_0x2e2; - undefined field_0x2e3; - undefined field_0x2e4; - undefined field_0x2e5; - undefined field_0x2e6; - undefined field_0x2e7; - undefined field_0x2e8; - undefined field_0x2e9; - undefined field_0x2ea; - undefined field_0x2eb; - undefined field_0x2ec; - undefined field_0x2ed; - undefined field_0x2ee; - undefined field_0x2ef; - undefined field_0x2f0; - undefined field_0x2f1; - undefined field_0x2f2; - undefined field_0x2f3; - undefined field_0x2f4; - undefined field_0x2f5; - undefined field_0x2f6; - undefined field_0x2f7; - undefined field_0x2f8; - undefined field_0x2f9; - undefined field_0x2fa; - undefined field_0x2fb; - undefined field_0x2fc; - undefined field_0x2fd; - undefined field_0x2fe; - undefined field_0x2ff; - undefined field_0x300; - undefined field_0x301; - undefined field_0x302; - undefined field_0x303; - undefined field_0x304; - undefined field_0x305; - undefined field_0x306; - undefined field_0x307; - undefined field_0x308; - undefined field_0x309; - undefined field_0x30a; - undefined field_0x30b; - undefined field_0x30c; - undefined field_0x30d; - undefined field_0x30e; - undefined field_0x30f; - undefined field_0x310; - undefined field_0x311; - undefined field_0x312; - undefined field_0x313; - undefined field_0x314; - undefined field_0x315; - undefined field_0x316; - undefined field_0x317; - undefined field_0x318; - undefined field_0x319; - undefined field_0x31a; - undefined field_0x31b; - undefined field_0x31c; - undefined field_0x31d; - undefined field_0x31e; - undefined field_0x31f; - undefined field_0x320; - undefined field_0x321; - undefined field_0x322; - undefined field_0x323; - undefined field_0x324; - undefined field_0x325; - undefined field_0x326; - undefined field_0x327; - undefined field_0x328; - undefined field_0x329; - undefined field_0x32a; - undefined field_0x32b; - undefined field_0x32c; - undefined field_0x32d; - undefined field_0x32e; - undefined field_0x32f; - undefined field_0x330; - undefined field_0x331; - undefined field_0x332; - undefined field_0x333; - undefined field_0x334; - undefined field_0x335; - undefined field_0x336; - undefined field_0x337; - undefined field_0x338; - undefined field_0x339; - undefined field_0x33a; - undefined field_0x33b; - undefined field_0x33c; - undefined field_0x33d; - undefined field_0x33e; - undefined field_0x33f; - undefined field_0x340; - undefined field_0x341; - undefined field_0x342; - undefined field_0x343; - undefined field_0x344; - undefined field_0x345; - undefined field_0x346; - undefined field_0x347; - undefined field_0x348; - undefined field_0x349; - undefined field_0x34a; - undefined field_0x34b; - undefined field_0x34c; - undefined field_0x34d; - undefined field_0x34e; - undefined field_0x34f; - undefined field_0x350; - undefined field_0x351; - undefined field_0x352; - undefined field_0x353; - undefined field_0x354; - undefined field_0x355; - undefined field_0x356; - undefined field_0x357; - undefined field_0x358; - undefined field_0x359; - undefined field_0x35a; - undefined field_0x35b; - undefined field_0x35c; - undefined field_0x35d; - undefined field_0x35e; - undefined field_0x35f; - undefined field_0x360; - undefined field_0x361; - undefined field_0x362; - undefined field_0x363; - undefined field_0x364; - undefined field_0x365; - undefined field_0x366; - undefined field_0x367; - undefined field_0x368; - undefined field_0x369; - undefined field_0x36a; - undefined field_0x36b; - undefined field_0x36c; - undefined field_0x36d; - undefined field_0x36e; - undefined field_0x36f; - undefined field_0x370; - undefined field_0x371; - undefined field_0x372; - undefined field_0x373; - undefined field_0x374; - undefined field_0x375; - undefined field_0x376; - undefined field_0x377; - undefined field_0x378; - undefined field_0x379; - undefined field_0x37a; - undefined field_0x37b; - undefined field_0x37c; - undefined field_0x37d; - undefined field_0x37e; - undefined field_0x37f; - undefined field_0x380; - undefined field_0x381; - undefined field_0x382; - undefined field_0x383; - undefined field_0x384; - undefined field_0x385; - undefined field_0x386; - undefined field_0x387; - undefined field_0x388; - undefined field_0x389; - undefined field_0x38a; - undefined field_0x38b; - undefined field_0x38c; - undefined field_0x38d; - undefined field_0x38e; - undefined field_0x38f; - undefined field_0x390; - undefined field_0x391; - undefined field_0x392; - undefined field_0x393; - undefined field_0x394; - undefined field_0x395; - undefined field_0x396; - undefined field_0x397; - undefined field_0x398; - undefined field_0x399; - undefined field_0x39a; - undefined field_0x39b; - undefined field_0x39c; - undefined field_0x39d; - undefined field_0x39e; - undefined field_0x39f; - undefined field_0x3a0; - undefined field_0x3a1; - undefined field_0x3a2; - undefined field_0x3a3; - undefined field_0x3a4; - undefined field_0x3a5; - undefined field_0x3a6; - undefined field_0x3a7; - undefined field_0x3a8; - undefined field_0x3a9; - undefined field_0x3aa; - undefined field_0x3ab; - undefined field_0x3ac; - undefined field_0x3ad; - undefined field_0x3ae; - undefined field_0x3af; - undefined field_0x3b0; - undefined field_0x3b1; - undefined field_0x3b2; - undefined field_0x3b3; - undefined field_0x3b4; - undefined field_0x3b5; - undefined field_0x3b6; - undefined field_0x3b7; - undefined field_0x3b8; - undefined field_0x3b9; - undefined field_0x3ba; - undefined field_0x3bb; - undefined field_0x3bc; - undefined field_0x3bd; - undefined field_0x3be; - undefined field_0x3bf; - undefined field_0x3c0; - undefined field_0x3c1; - undefined field_0x3c2; - undefined field_0x3c3; - undefined field_0x3c4; - undefined field_0x3c5; - undefined field_0x3c6; - undefined field_0x3c7; - undefined field_0x3c8; - undefined field_0x3c9; - undefined field_0x3ca; - undefined field_0x3cb; - undefined field_0x3cc; - undefined field_0x3cd; - undefined field_0x3ce; - undefined field_0x3cf; - undefined field_0x3d0; - undefined field_0x3d1; - undefined field_0x3d2; - undefined field_0x3d3; - undefined field_0x3d4; - undefined field_0x3d5; - undefined field_0x3d6; - undefined field_0x3d7; - undefined field_0x3d8; - undefined field_0x3d9; - undefined field_0x3da; - undefined field_0x3db; - undefined field_0x3dc; - undefined field_0x3dd; - undefined field_0x3de; - undefined field_0x3df; - undefined field_0x3e0; - undefined field_0x3e1; - undefined field_0x3e2; - undefined field_0x3e3; - undefined field_0x3e4; - undefined field_0x3e5; - undefined field_0x3e6; - undefined field_0x3e7; - undefined field_0x3e8; - undefined field_0x3e9; - undefined field_0x3ea; - undefined field_0x3eb; - undefined field_0x3ec; - undefined field_0x3ed; - undefined field_0x3ee; - undefined field_0x3ef; - undefined field_0x3f0; - undefined field_0x3f1; - undefined field_0x3f2; - undefined field_0x3f3; - undefined field_0x3f4; - undefined field_0x3f5; - undefined field_0x3f6; - undefined field_0x3f7; - undefined field_0x3f8; - undefined field_0x3f9; - undefined field_0x3fa; - undefined field_0x3fb; - undefined field_0x3fc; - undefined field_0x3fd; - undefined field_0x3fe; - undefined field_0x3ff; - undefined field_0x400; - undefined field_0x401; - undefined field_0x402; - undefined field_0x403; - undefined field_0x404; - undefined field_0x405; - undefined field_0x406; - undefined field_0x407; - undefined field_0x408; - undefined field_0x409; - undefined field_0x40a; - undefined field_0x40b; - undefined field_0x40c; - undefined field_0x40d; - undefined field_0x40e; - undefined field_0x40f; - undefined field_0x410; - undefined field_0x411; - undefined field_0x412; - undefined field_0x413; - undefined field_0x414; - undefined field_0x415; - undefined field_0x416; - undefined field_0x417; - undefined field_0x418; - undefined field_0x419; - undefined field_0x41a; - undefined field_0x41b; - undefined field_0x41c; - undefined field_0x41d; - undefined field_0x41e; - undefined field_0x41f; - undefined field_0x420; - undefined field_0x421; - undefined field_0x422; - undefined field_0x423; - undefined field_0x424; - undefined field_0x425; - undefined field_0x426; - undefined field_0x427; - undefined field_0x428; - undefined field_0x429; - undefined field_0x42a; - undefined field_0x42b; - undefined field_0x42c; - undefined field_0x42d; - undefined field_0x42e; - undefined field_0x42f; - undefined field_0x430; - undefined field_0x431; - undefined field_0x432; - undefined field_0x433; - undefined field_0x434; - undefined field_0x435; - undefined field_0x436; - undefined field_0x437; - undefined field_0x438; - undefined field_0x439; - undefined field_0x43a; - undefined field_0x43b; - undefined field_0x43c; - undefined field_0x43d; - undefined field_0x43e; - undefined field_0x43f; - undefined field_0x440; - undefined field_0x441; - undefined field_0x442; - undefined field_0x443; - undefined field_0x444; - undefined field_0x445; - undefined field_0x446; - undefined field_0x447; - undefined field_0x448; - undefined field_0x449; - undefined field_0x44a; - undefined field_0x44b; - undefined field_0x44c; - undefined field_0x44d; - undefined field_0x44e; - undefined field_0x44f; - undefined field_0x450; - undefined field_0x451; - undefined field_0x452; - undefined field_0x453; - undefined field_0x454; - undefined field_0x455; - undefined field_0x456; - undefined field_0x457; - undefined field_0x458; - undefined field_0x459; - undefined field_0x45a; - undefined field_0x45b; - undefined field_0x45c; - undefined field_0x45d; - undefined field_0x45e; - undefined field_0x45f; - undefined field_0x460; - undefined field_0x461; - undefined field_0x462; - undefined field_0x463; - undefined field_0x464; - undefined field_0x465; - undefined field_0x466; - undefined field_0x467; - undefined field_0x468; - undefined field_0x469; - undefined field_0x46a; - undefined field_0x46b; - undefined field_0x46c; - undefined field_0x46d; - undefined field_0x46e; - undefined field_0x46f; - undefined field_0x470; - undefined field_0x471; - undefined field_0x472; - undefined field_0x473; - undefined field_0x474; - undefined field_0x475; - undefined field_0x476; - undefined field_0x477; - undefined field_0x478; - undefined field_0x479; - undefined field_0x47a; - undefined field_0x47b; - undefined field_0x47c; - undefined field_0x47d; - undefined field_0x47e; - undefined field_0x47f; - undefined field_0x480; - undefined field_0x481; - undefined field_0x482; - undefined field_0x483; - undefined field_0x484; - undefined field_0x485; - undefined field_0x486; - undefined field_0x487; - undefined field_0x488; - undefined field_0x489; - undefined field_0x48a; - undefined field_0x48b; - undefined field_0x48c; - undefined field_0x48d; - undefined field_0x48e; - undefined field_0x48f; - undefined field_0x490; - undefined field_0x491; - undefined field_0x492; - undefined field_0x493; - undefined field_0x494; - undefined field_0x495; - undefined field_0x496; - undefined field_0x497; - undefined field_0x498; - undefined field_0x499; - undefined field_0x49a; - undefined field_0x49b; - undefined field_0x49c; - undefined field_0x49d; - undefined field_0x49e; - undefined field_0x49f; - undefined field_0x4a0; - undefined field_0x4a1; - undefined field_0x4a2; - undefined field_0x4a3; - undefined field_0x4a4; - undefined field_0x4a5; - undefined field_0x4a6; - undefined field_0x4a7; - undefined field_0x4a8; - undefined field_0x4a9; - undefined field_0x4aa; - undefined field_0x4ab; - undefined field_0x4ac; - undefined field_0x4ad; - undefined field_0x4ae; - undefined field_0x4af; - undefined field_0x4b0; - undefined field_0x4b1; - undefined field_0x4b2; - undefined field_0x4b3; - undefined field_0x4b4; - undefined field_0x4b5; - undefined field_0x4b6; - undefined field_0x4b7; - undefined field_0x4b8; - undefined field_0x4b9; - undefined field_0x4ba; - undefined field_0x4bb; - undefined field_0x4bc; - undefined field_0x4bd; - undefined field_0x4be; - undefined field_0x4bf; - undefined field_0x4c0; - undefined field_0x4c1; - undefined field_0x4c2; - undefined field_0x4c3; - undefined field_0x4c4; - undefined field_0x4c5; - undefined field_0x4c6; - undefined field_0x4c7; - undefined field_0x4c8; - undefined field_0x4c9; - undefined field_0x4ca; - undefined field_0x4cb; - undefined field_0x4cc; - undefined field_0x4cd; - undefined field_0x4ce; - undefined field_0x4cf; - undefined field_0x4d0; - undefined field_0x4d1; - undefined field_0x4d2; - undefined field_0x4d3; - undefined field_0x4d4; - undefined field_0x4d5; - undefined field_0x4d6; - undefined field_0x4d7; - undefined field_0x4d8; - undefined field_0x4d9; - undefined field_0x4da; - undefined field_0x4db; - undefined field_0x4dc; - undefined field_0x4dd; - undefined field_0x4de; - undefined field_0x4df; - undefined field_0x4e0; - undefined field_0x4e1; - undefined field_0x4e2; - undefined field_0x4e3; - undefined field_0x4e4; - undefined field_0x4e5; - undefined field_0x4e6; - undefined field_0x4e7; - undefined field_0x4e8; - undefined field_0x4e9; - undefined field_0x4ea; - undefined field_0x4eb; - undefined field_0x4ec; - undefined field_0x4ed; - undefined field_0x4ee; - undefined field_0x4ef; - undefined field_0x4f0; - undefined field_0x4f1; - undefined field_0x4f2; - undefined field_0x4f3; - undefined field_0x4f4; - undefined field_0x4f5; - undefined field_0x4f6; - undefined field_0x4f7; - undefined field_0x4f8; - undefined field_0x4f9; - undefined field_0x4fa; - undefined field_0x4fb; - undefined field_0x4fc; - undefined field_0x4fd; - undefined field_0x4fe; - undefined field_0x4ff; - undefined field_0x500; - undefined field_0x501; - undefined field_0x502; - undefined field_0x503; - undefined field_0x504; - undefined field_0x505; - undefined field_0x506; - undefined field_0x507; - undefined field_0x508; - undefined field_0x509; - undefined field_0x50a; - undefined field_0x50b; - undefined field_0x50c; - undefined field_0x50d; - undefined field_0x50e; - undefined field_0x50f; - undefined field_0x510; - undefined field_0x511; - undefined field_0x512; - undefined field_0x513; - undefined field_0x514; - undefined field_0x515; - undefined field_0x516; - undefined field_0x517; - undefined field_0x518; - undefined field_0x519; - undefined field_0x51a; - undefined field_0x51b; - undefined field_0x51c; - undefined field_0x51d; - undefined field_0x51e; - undefined field_0x51f; - undefined field_0x520; - undefined field_0x521; - undefined field_0x522; - undefined field_0x523; - undefined field_0x524; - undefined field_0x525; - undefined field_0x526; - undefined field_0x527; - undefined field_0x528; - undefined field_0x529; - undefined field_0x52a; - undefined field_0x52b; - undefined field_0x52c; - undefined field_0x52d; - undefined field_0x52e; - undefined field_0x52f; - undefined field_0x530; - undefined field_0x531; - undefined field_0x532; - undefined field_0x533; - undefined field_0x534; - undefined field_0x535; - undefined field_0x536; - undefined field_0x537; - undefined field_0x538; - undefined field_0x539; - undefined field_0x53a; - undefined field_0x53b; - undefined field_0x53c; - undefined field_0x53d; - undefined field_0x53e; - undefined field_0x53f; - undefined field_0x540; - undefined field_0x541; - undefined field_0x542; - undefined field_0x543; - undefined field_0x544; - undefined field_0x545; - undefined field_0x546; - undefined field_0x547; - undefined field_0x548; - undefined field_0x549; - undefined field_0x54a; - undefined field_0x54b; - undefined field_0x54c; - undefined field_0x54d; - undefined field_0x54e; - undefined field_0x54f; - undefined field_0x550; - undefined field_0x551; - undefined field_0x552; - undefined field_0x553; - undefined field_0x554; - undefined field_0x555; - undefined field_0x556; - undefined field_0x557; - undefined field_0x558; - undefined field_0x559; - undefined field_0x55a; - undefined field_0x55b; - undefined field_0x55c; - undefined field_0x55d; - undefined field_0x55e; - undefined field_0x55f; - undefined field_0x560; - undefined field_0x561; - undefined field_0x562; - undefined field_0x563; - undefined field_0x564; - undefined field_0x565; - undefined field_0x566; - undefined field_0x567; - undefined field_0x568; - undefined field_0x569; - undefined field_0x56a; - undefined field_0x56b; - undefined field_0x56c; - undefined field_0x56d; - undefined field_0x56e; - undefined field_0x56f; - undefined field_0x570; - undefined field_0x571; - undefined field_0x572; - undefined field_0x573; - undefined field_0x574; - undefined field_0x575; - undefined field_0x576; - undefined field_0x577; - undefined field_0x578; - undefined field_0x579; - undefined field_0x57a; - undefined field_0x57b; - undefined field_0x57c; - undefined field_0x57d; - undefined field_0x57e; - undefined field_0x57f; - undefined field_0x580; - undefined field_0x581; - undefined field_0x582; - undefined field_0x583; - undefined field_0x584; - undefined field_0x585; - undefined field_0x586; - undefined field_0x587; - undefined field_0x588; - undefined field_0x589; - undefined field_0x58a; - undefined field_0x58b; - undefined field_0x58c; - undefined field_0x58d; - undefined field_0x58e; - undefined field_0x58f; - undefined field_0x590; - undefined field_0x591; - undefined field_0x592; - undefined field_0x593; - undefined field_0x594; - undefined field_0x595; - undefined field_0x596; - undefined field_0x597; - undefined field_0x598; - undefined field_0x599; - undefined field_0x59a; - undefined field_0x59b; - undefined field_0x59c; - undefined field_0x59d; - undefined field_0x59e; - undefined field_0x59f; - undefined field_0x5a0; - undefined field_0x5a1; - undefined field_0x5a2; - undefined field_0x5a3; - undefined field_0x5a4; - undefined field_0x5a5; - undefined field_0x5a6; - undefined field_0x5a7; - undefined field_0x5a8; - undefined field_0x5a9; - undefined field_0x5aa; - undefined field_0x5ab; - undefined field_0x5ac; - undefined field_0x5ad; - undefined field_0x5ae; - undefined field_0x5af; - undefined field_0x5b0; - undefined field_0x5b1; - undefined field_0x5b2; - undefined field_0x5b3; - undefined field_0x5b4; - undefined field_0x5b5; - undefined field_0x5b6; - undefined field_0x5b7; - undefined field_0x5b8; - undefined field_0x5b9; - undefined field_0x5ba; - undefined field_0x5bb; - undefined field_0x5bc; - undefined field_0x5bd; - undefined field_0x5be; - undefined field_0x5bf; - undefined field_0x5c0; - undefined field_0x5c1; - undefined field_0x5c2; - undefined field_0x5c3; - undefined field_0x5c4; - undefined field_0x5c5; - undefined field_0x5c6; - undefined field_0x5c7; - undefined field_0x5c8; - undefined field_0x5c9; - undefined field_0x5ca; - undefined field_0x5cb; - undefined field_0x5cc; - undefined field_0x5cd; - undefined field_0x5ce; - undefined field_0x5cf; - undefined field_0x5d0; - undefined field_0x5d1; - undefined field_0x5d2; - undefined field_0x5d3; - undefined field_0x5d4; - undefined field_0x5d5; - undefined field_0x5d6; - undefined field_0x5d7; - undefined field_0x5d8; - undefined field_0x5d9; - undefined field_0x5da; - undefined field_0x5db; - undefined field_0x5dc; - undefined field_0x5dd; - undefined field_0x5de; - undefined field_0x5df; - undefined field_0x5e0; - undefined field_0x5e1; - undefined field_0x5e2; - undefined field_0x5e3; - undefined field_0x5e4; - undefined field_0x5e5; - undefined field_0x5e6; - undefined field_0x5e7; - undefined field_0x5e8; - undefined field_0x5e9; - undefined field_0x5ea; - undefined field_0x5eb; - undefined field_0x5ec; - undefined field_0x5ed; - undefined field_0x5ee; - undefined field_0x5ef; - undefined field_0x5f0; - undefined field_0x5f1; - undefined field_0x5f2; - undefined field_0x5f3; - undefined field_0x5f4; - undefined field_0x5f5; - undefined field_0x5f6; - undefined field_0x5f7; - undefined field_0x5f8; - undefined field_0x5f9; - undefined field_0x5fa; - undefined field_0x5fb; - undefined field_0x5fc; - undefined field_0x5fd; - undefined field_0x5fe; - undefined field_0x5ff; - undefined field_0x600; - undefined field_0x601; - undefined field_0x602; - undefined field_0x603; - undefined field_0x604; - undefined field_0x605; - undefined field_0x606; - undefined field_0x607; - undefined field_0x608; - undefined field_0x609; - undefined field_0x60a; - undefined field_0x60b; - undefined field_0x60c; - undefined field_0x60d; - undefined field_0x60e; - undefined field_0x60f; - undefined field_0x610; - undefined field_0x611; - undefined field_0x612; - undefined field_0x613; - undefined field_0x614; - undefined field_0x615; - undefined field_0x616; - undefined field_0x617; - undefined field_0x618; - undefined field_0x619; - undefined field_0x61a; - undefined field_0x61b; - undefined field_0x61c; - undefined field_0x61d; - undefined field_0x61e; - undefined field_0x61f; - undefined field_0x620; - undefined field_0x621; - undefined field_0x622; - undefined field_0x623; - undefined field_0x624; - undefined field_0x625; - undefined field_0x626; - undefined field_0x627; - undefined field_0x628; - undefined field_0x629; - undefined field_0x62a; - undefined field_0x62b; - undefined field_0x62c; - undefined field_0x62d; - undefined field_0x62e; - undefined field_0x62f; - undefined field_0x630; - undefined field_0x631; - undefined field_0x632; - undefined field_0x633; - undefined field_0x634; - undefined field_0x635; - undefined field_0x636; - undefined field_0x637; - undefined field_0x638; - undefined field_0x639; - undefined field_0x63a; - undefined field_0x63b; - undefined field_0x63c; - undefined field_0x63d; - undefined field_0x63e; - undefined field_0x63f; - undefined field_0x640; - undefined field_0x641; - undefined field_0x642; - undefined field_0x643; - undefined field_0x644; - undefined field_0x645; - undefined field_0x646; - undefined field_0x647; - undefined field_0x648; - undefined field_0x649; - undefined field_0x64a; - undefined field_0x64b; - undefined field_0x64c; - undefined field_0x64d; - undefined field_0x64e; - undefined field_0x64f; - undefined field_0x650; - undefined field_0x651; - undefined field_0x652; - undefined field_0x653; - undefined field_0x654; - undefined field_0x655; - undefined field_0x656; - undefined field_0x657; - undefined field_0x658; - undefined field_0x659; - undefined field_0x65a; - undefined field_0x65b; - undefined field_0x65c; - undefined field_0x65d; - undefined field_0x65e; - undefined field_0x65f; - undefined field_0x660; - undefined field_0x661; - undefined field_0x662; - undefined field_0x663; - undefined field_0x664; - undefined field_0x665; - undefined field_0x666; - undefined field_0x667; - undefined field_0x668; - undefined field_0x669; - undefined field_0x66a; - undefined field_0x66b; - undefined field_0x66c; - undefined field_0x66d; - undefined field_0x66e; - undefined field_0x66f; - undefined field_0x670; - undefined field_0x671; - undefined field_0x672; - undefined field_0x673; - undefined field_0x674; - undefined field_0x675; - undefined field_0x676; - undefined field_0x677; - undefined field_0x678; - undefined field_0x679; - undefined field_0x67a; - undefined field_0x67b; - undefined field_0x67c; - undefined field_0x67d; - undefined field_0x67e; - undefined field_0x67f; - undefined field_0x680; - undefined field_0x681; - undefined field_0x682; - undefined field_0x683; - undefined field_0x684; - undefined field_0x685; - undefined field_0x686; - undefined field_0x687; - undefined field_0x688; - undefined field_0x689; - undefined field_0x68a; - undefined field_0x68b; - undefined field_0x68c; - undefined field_0x68d; - undefined field_0x68e; - undefined field_0x68f; - undefined field_0x690; - undefined field_0x691; - undefined field_0x692; - undefined field_0x693; - undefined field_0x694; - undefined field_0x695; - undefined field_0x696; - undefined field_0x697; - undefined field_0x698; - undefined field_0x699; - undefined field_0x69a; - undefined field_0x69b; - undefined field_0x69c; - undefined field_0x69d; - undefined field_0x69e; - undefined field_0x69f; - undefined field_0x6a0; - undefined field_0x6a1; - undefined field_0x6a2; - undefined field_0x6a3; - undefined field_0x6a4; - undefined field_0x6a5; - undefined field_0x6a6; - undefined field_0x6a7; - undefined field_0x6a8; - undefined field_0x6a9; - undefined field_0x6aa; - undefined field_0x6ab; - undefined field_0x6ac; - undefined field_0x6ad; - undefined field_0x6ae; - undefined field_0x6af; - undefined field_0x6b0; - undefined field_0x6b1; - undefined field_0x6b2; - undefined field_0x6b3; - undefined field_0x6b4; - undefined field_0x6b5; - undefined field_0x6b6; - undefined field_0x6b7; - undefined field_0x6b8; - undefined field_0x6b9; - undefined field_0x6ba; - undefined field_0x6bb; - undefined field_0x6bc; - undefined field_0x6bd; - undefined field_0x6be; - undefined field_0x6bf; - undefined field_0x6c0; - undefined field_0x6c1; - undefined field_0x6c2; - undefined field_0x6c3; - undefined field_0x6c4; - undefined field_0x6c5; - undefined field_0x6c6; - undefined field_0x6c7; - undefined field_0x6c8; - undefined field_0x6c9; - undefined field_0x6ca; - undefined field_0x6cb; - undefined field_0x6cc; - undefined field_0x6cd; - undefined field_0x6ce; - undefined field_0x6cf; - undefined field_0x6d0; - undefined field_0x6d1; - undefined field_0x6d2; - undefined field_0x6d3; - undefined field_0x6d4; - undefined field_0x6d5; - undefined field_0x6d6; - undefined field_0x6d7; - undefined field_0x6d8; - undefined field_0x6d9; - undefined field_0x6da; - undefined field_0x6db; - undefined field_0x6dc; - undefined field_0x6dd; - undefined field_0x6de; - undefined field_0x6df; - undefined field_0x6e0; - undefined field_0x6e1; - undefined field_0x6e2; - undefined field_0x6e3; - undefined field_0x6e4; - undefined field_0x6e5; - undefined field_0x6e6; - undefined field_0x6e7; - undefined field_0x6e8; - undefined field_0x6e9; - undefined field_0x6ea; - undefined field_0x6eb; - undefined field_0x6ec; - undefined field_0x6ed; - undefined field_0x6ee; - undefined field_0x6ef; - undefined field_0x6f0; - undefined field_0x6f1; - undefined field_0x6f2; - undefined field_0x6f3; - undefined field_0x6f4; - undefined field_0x6f5; - undefined field_0x6f6; - undefined field_0x6f7; - undefined field_0x6f8; - undefined field_0x6f9; - undefined field_0x6fa; - undefined field_0x6fb; - undefined field_0x6fc; - undefined field_0x6fd; - undefined field_0x6fe; - undefined field_0x6ff; - undefined field_0x700; - undefined field_0x701; - undefined field_0x702; - undefined field_0x703; - undefined field_0x704; - undefined field_0x705; - undefined field_0x706; - undefined field_0x707; - undefined field_0x708; - undefined field_0x709; - undefined field_0x70a; - undefined field_0x70b; - undefined field_0x70c; - undefined field_0x70d; - undefined field_0x70e; - undefined field_0x70f; - undefined field_0x710; - undefined field_0x711; - undefined field_0x712; - undefined field_0x713; - undefined field_0x714; - undefined field_0x715; - undefined field_0x716; - undefined field_0x717; - undefined field_0x718; - undefined field_0x719; - undefined field_0x71a; - undefined field_0x71b; - undefined field_0x71c; - undefined field_0x71d; - undefined field_0x71e; - undefined field_0x71f; - undefined field_0x720; - undefined field_0x721; - undefined field_0x722; - undefined field_0x723; - undefined field_0x724; - undefined field_0x725; - undefined field_0x726; - undefined field_0x727; - undefined field_0x728; - undefined field_0x729; - undefined field_0x72a; - undefined field_0x72b; - undefined field_0x72c; - undefined field_0x72d; - undefined field_0x72e; - undefined field_0x72f; - undefined field_0x730; - undefined field_0x731; - undefined field_0x732; - undefined field_0x733; - undefined field_0x734; - undefined field_0x735; - undefined field_0x736; - undefined field_0x737; - undefined field_0x738; - undefined field_0x739; - undefined field_0x73a; - undefined field_0x73b; - undefined field_0x73c; - undefined field_0x73d; - undefined field_0x73e; - undefined field_0x73f; - undefined field_0x740; - undefined field_0x741; - undefined field_0x742; - undefined field_0x743; - undefined field_0x744; - undefined field_0x745; - undefined field_0x746; - undefined field_0x747; - undefined field_0x748; - undefined field_0x749; - undefined field_0x74a; - undefined field_0x74b; - undefined field_0x74c; - undefined field_0x74d; - undefined field_0x74e; - undefined field_0x74f; - undefined field_0x750; - undefined field_0x751; - undefined field_0x752; - undefined field_0x753; - undefined field_0x754; - undefined field_0x755; - undefined field_0x756; - undefined field_0x757; - undefined field_0x758; - undefined field_0x759; - undefined field_0x75a; - undefined field_0x75b; - undefined field_0x75c; - undefined field_0x75d; - undefined field_0x75e; - undefined field_0x75f; - undefined field_0x760; - undefined field_0x761; - undefined field_0x762; - undefined field_0x763; - undefined field_0x764; - undefined field_0x765; - undefined field_0x766; - undefined field_0x767; - undefined field_0x768; - undefined field_0x769; - undefined field_0x76a; - undefined field_0x76b; - undefined field_0x76c; - undefined field_0x76d; - undefined field_0x76e; - undefined field_0x76f; - undefined field_0x770; - undefined field_0x771; - undefined field_0x772; - undefined field_0x773; - undefined field_0x774; - undefined field_0x775; - undefined field_0x776; - undefined field_0x777; - undefined field_0x778; - undefined field_0x779; - undefined field_0x77a; - undefined field_0x77b; - undefined field_0x77c; - undefined field_0x77d; - undefined field_0x77e; - undefined field_0x77f; - undefined field_0x780; - undefined field_0x781; - undefined field_0x782; - undefined field_0x783; - undefined field_0x784; - undefined field_0x785; - undefined field_0x786; - undefined field_0x787; - undefined field_0x788; - undefined field_0x789; - undefined field_0x78a; - undefined field_0x78b; - undefined field_0x78c; - undefined field_0x78d; - undefined field_0x78e; - undefined field_0x78f; - undefined field_0x790; - undefined field_0x791; - undefined field_0x792; - undefined field_0x793; - undefined field_0x794; - undefined field_0x795; - undefined field_0x796; - undefined field_0x797; - undefined field_0x798; - undefined field_0x799; - undefined field_0x79a; - undefined field_0x79b; - undefined field_0x79c; - undefined field_0x79d; - undefined field_0x79e; - undefined field_0x79f; - undefined field_0x7a0; - undefined field_0x7a1; - undefined field_0x7a2; - undefined field_0x7a3; - undefined field_0x7a4; - undefined field_0x7a5; - undefined field_0x7a6; - undefined field_0x7a7; - undefined field_0x7a8; - undefined field_0x7a9; - undefined field_0x7aa; - undefined field_0x7ab; - undefined field_0x7ac; - undefined field_0x7ad; - undefined field_0x7ae; - undefined field_0x7af; - undefined field_0x7b0; - undefined field_0x7b1; - undefined field_0x7b2; - undefined field_0x7b3; - undefined field_0x7b4; - undefined field_0x7b5; - undefined field_0x7b6; - undefined field_0x7b7; - undefined field_0x7b8; - undefined field_0x7b9; - undefined field_0x7ba; - undefined field_0x7bb; - undefined field_0x7bc; - undefined field_0x7bd; - undefined field_0x7be; - undefined field_0x7bf; - undefined field_0x7c0; - undefined field_0x7c1; - undefined field_0x7c2; - undefined field_0x7c3; - undefined field_0x7c4; - undefined field_0x7c5; - undefined field_0x7c6; - undefined field_0x7c7; - undefined field_0x7c8; - undefined field_0x7c9; - undefined field_0x7ca; - undefined field_0x7cb; - undefined field_0x7cc; - undefined field_0x7cd; - undefined field_0x7ce; - undefined field_0x7cf; - undefined field_0x7d0; - undefined field_0x7d1; - undefined field_0x7d2; - undefined field_0x7d3; - undefined field_0x7d4; - undefined field_0x7d5; - undefined field_0x7d6; - undefined field_0x7d7; - undefined field_0x7d8; - undefined field_0x7d9; - undefined field_0x7da; - undefined field_0x7db; - undefined field_0x7dc; - undefined field_0x7dd; - undefined field_0x7de; - undefined field_0x7df; - undefined field_0x7e0; - undefined field_0x7e1; - undefined field_0x7e2; - undefined field_0x7e3; - undefined field_0x7e4; - undefined field_0x7e5; - undefined field_0x7e6; - undefined field_0x7e7; - undefined field_0x7e8; - undefined field_0x7e9; - undefined field_0x7ea; - undefined field_0x7eb; - undefined field_0x7ec; - undefined field_0x7ed; - undefined field_0x7ee; - undefined field_0x7ef; - undefined2 vidwidth; - undefined2 vidheight; - short vidulx; - word viduly; -}; - - -// WARNING! conflicting data type names: /SYNTHINTERNALS.H/ALResampler - /_CAPTURED_FROM_ge007.u.old.elf/ALResampler - - -// WARNING! conflicting data type names: /SYNTHINTERNALS.H/ALEnvMixer_s - /_CAPTURED_FROM_ge007.u.old.elf/ALEnvMixer_s - -typedef struct ALEnvMixer_s ALEnvMixer; - -typedef struct ALSave_s ALSave_s, *PALSave_s; - -typedef struct ALSave_s ALSave; - -typedef struct ALFilter_s ALFilter; - -struct ALSave_s { - ALFilter filter; - s32 dramout; - s32 first; -}; - -typedef struct ALFreeParam ALFreeParam, *PALFreeParam; - -struct ALFreeParam { - struct ALParam_s * next; - s32 delta; - s16 type; - struct PVoice_s * pvoice; -}; - -typedef struct ALParam_s ALParam; - -typedef struct ALDelay ALDelay, *PALDelay; - -typedef struct ALLowPass ALLowPass, *PALLowPass; - -typedef union _union_213 _union_213, *P_union_213; - -typedef short POLEF_STATE[4]; - -struct ALDelay { - u32 input; - u32 output; - s16 ffcoef; - s16 fbcoef; - s16 gain; - f32 rsinc; - f32 rsval; - s32 rsdelta; - f32 rsgain; - struct ALLowPass * lp; - ALResampler * rs; -}; - -union _union_213 { - s16 fccoef[16]; - s64 force_aligned; -}; - -struct ALLowPass { - s16 fc; - s16 fgain; - union _union_213 fcvec; - POLEF_STATE * fstate; - s32 first; -}; - -typedef struct ALAuxBus_s ALAuxBus_s, *PALAuxBus_s; - -typedef struct ALAuxBus_s ALAuxBus; - -struct ALAuxBus_s { -}; - -typedef struct ALFx ALFx, *PALFx; - -typedef s32 (* ALSetFXParam)(void *, s32, void *); - -struct ALFx { - struct ALFilter_s filter; - s16 * base; - s16 * input; - u32 length; - struct ALDelay * delay; - u8 section_count; - ALSetFXParam paramHdl; -}; - -typedef struct ALLoadFilter ALLoadFilter, *PALLoadFilter; - -struct ALLoadFilter { - ALFilter filter; - ADPCM_STATE * state; - ADPCM_STATE * lstate; - struct ALRawLoop loop; - struct ALWaveTable_s * table; - s32 bookSize; - ALDMAproc dma; - void * dmaState; - s32 sample; - s32 lastsam; - s32 first; - s32 memin; -}; - -typedef struct ALMainBus_s ALMainBus_s, *PALMainBus_s; - -typedef struct ALMainBus_s ALMainBus; - -struct ALMainBus_s { -}; - -typedef struct HeapInfo HeapInfo, *PHeapInfo; - -struct HeapInfo { - s32 magic; - s32 size; - u8 * file; - s32 line; - s32 count; - s32 pad0; - s32 pad1; - s32 pad2; -}; - - -// WARNING! conflicting data type names: /SYNTHINTERNALS.H/PVoice - /_CAPTURED_FROM_ge007.u.old.elf/PVoice - - -// WARNING! conflicting data type names: /SYNTHINTERNALS.H/ALSetParam - /_CAPTURED_FROM_ge007.u.old.elf/ALSetParam - -typedef union _union_196 _union_196, *P_union_196; - -union _union_196 { - f32 f; - s32 i; -}; - -typedef union _union_195 _union_195, *P_union_195; - -union _union_195 { - f32 f; - s32 i; -}; - -typedef union _union_194 _union_194, *P_union_194; - -union _union_194 { - f32 f; - s32 i; -}; - -typedef enum enum_191 { - AL_ADPCM=0, - AL_AUXBUS=6, - AL_BUFFER=2, - AL_ENVMIX=4, - AL_FX=5, - AL_MAINBUS=7, - AL_RESAMPLE=1, - AL_SAVE=3 -} enum_191; - -typedef enum enum_190 { - AL_FILTER_ADD_SOURCE=2, - AL_FILTER_ADD_UPDATE=3, - AL_FILTER_FREE_VOICE=0, - AL_FILTER_RESET=4, - AL_FILTER_SET_DRAM=6, - AL_FILTER_SET_FXAMT=16, - AL_FILTER_SET_PAN=12, - AL_FILTER_SET_PITCH=7, - AL_FILTER_SET_SOURCE=1, - AL_FILTER_SET_STATE=10, - AL_FILTER_SET_UNITY_PITCH=8, - AL_FILTER_SET_VOLUME=11, - AL_FILTER_SET_WAVETABLE=5, - AL_FILTER_START=9, - AL_FILTER_START_VOICE=14, - AL_FILTER_START_VOICE_ALT=13, - AL_FILTER_STOP_VOICE=15 -} enum_190; - -typedef struct ALStartParamAlt ALStartParamAlt, *PALStartParamAlt; - -typedef u8 ALPan; - -struct ALStartParamAlt { - struct ALParam_s * next; - s32 delta; - s16 type; - s16 unity; - f32 pitch; - s16 volume; - ALPan pan; - u8 fxMix; - s32 samples; - struct ALWaveTable_s * wave; -}; - -typedef struct ALStartParam ALStartParam, *PALStartParam; - -struct ALStartParam { - struct ALParam_s * next; - s32 delta; - s16 type; - s16 unity; - struct ALWaveTable_s * wave; -}; - -typedef struct ALResampler_s ALResampler_s, *PALResampler_s; - -struct ALResampler_s { - ALFilter filter; - RESAMPLE_STATE * state; - f32 ratio; - s32 upitch; - f32 delta; - s32 first; - ALParam * ctrlList; - ALParam * ctrlTail; - s32 motion; -}; - - -// WARNING! conflicting data type names: /SYNTHINTERNALS.H/ALCmdHandler - /_CAPTURED_FROM_ge007.u.old.elf/ALCmdHandler - -typedef union _union_197 _union_197, *P_union_197; - -union _union_197 { - f32 f; - s32 i; -}; - -#define AL_AUX_R_OUT 2048 - -#define AL_MAIN_R_OUT 1408 - -#define AL_AUX_L_OUT 1728 - -#define AL_MAX_AUX_BUS_SOURCES 8 - -#define AL_MAX_MAIN_BUS_SOURCES 1 - -#define AL_MAX_ADPCM_STATES 3 - -#define AL_DECODER_IN 0 - -#define AL_RESAMPLER_OUT 0 - -#define AL_MAX_AUX_BUS_FX 1 - -#define AL_DECODER_OUT 320 - -#define AL_CACHE_ALIGN 15 - -#define AL_MAX_RSP_SAMPLES 160 - -#define AL_MAIN_L_OUT 1088 - -#define AL_TEMP_0 0 - -#define AL_TEMP_2 640 - -#define AL_TEMP_1 320 - -#define ai_list_end 4 - -#define SPAWN_00001000 4096 - -#define if_door_has_been_opened_before_LENGTH 3 - -#define bond_equip_item_cinema_LENGTH 2 - -#define guard_try_fire_or_aim_at_target_update_LENGTH 6 - -#define screen_fade_from_black_ID 219 - -#define GLIST_FIRE_RAND_ANIM_SUBROUTINE 6 - -#define jump_to_ai_list_LENGTH 4 - -#define guard_runs_to_pad_ID 28 - -#define bond_hide_weapons_ID 237 - -#define if_system_power_time_less_than_ID 116 - -#define bond_killed_in_action_LENGTH 1 - -#define object_flags_2_set_on_LENGTH 6 - -#define guard_kneel_ID 9 - -#define if_level_id_less_than_LENGTH 3 - -#define if_local_byte_1_less_than_ID 132 - -#define trigger_fade_and_exit_level_on_button_press_LENGTH 1 - -#define hud_countdown_start_LENGTH 1 - -#define hud_show_all_and_unlock_controls_and_resume_mission_time_ID 216 - -#define if_bond_y_pos_less_than_LENGTH 4 - -#define if_guard_in_room_with_chr_ID 64 - -#define object_drop_from_chr_LENGTH 2 - -#define guard_set_grenade_probability_LENGTH 2 - -#define ANIM_REVERSE_LOOPING_ANIMATION 128 - -#define camera_look_at_bond_from_pad_LENGTH 3 - -#define if_guard_heard_bond_within_last_10_secs_ID 63 - -#define ai_list_end_ID 4 - -#define ANIM_PLAY_SFX 8 - -#define hud_countdown_hide_LENGTH 1 - -#define if_level_id_greater_than_ID 119 - -#define if_object_exists_LENGTH 3 - -#define if_object_was_activated_ID 92 - -#define SPAWN_02000000 33554432 - -#define goto_next_LENGTH 2 - -#define guard_try_spawning_hat_LENGTH 8 - -#define if_chr_health_greater_than_LENGTH 4 - -#define vehicle_start_path_LENGTH 2 - -#define guard_sprints_to_pad_LENGTH 3 - -#define guard_set_argh_rating_ID 146 - -#define if_item_is_stationary_within_level_LENGTH 3 - -#define guard_try_running_to_chr_position_LENGTH 3 - -#define chr_try_spawning_clone_ID 193 - -#define local_byte_2_subtract_LENGTH 2 - -#define if_local_byte_1_less_than_random_seed_ID 133 - -#define if_guard_distance_to_chr_greater_than_ID 80 - -#define guard_walks_to_pad_ID 30 - -#define SPAWN_SUNGLASSES 1 - -#define guard_set_chr_num_LENGTH 2 - -#define if_chr_distance_to_pad_greater_than_ID 78 - -#define chr_equip_object_LENGTH 3 - -#define if_local_byte_2_less_than_ID 137 - -#define if_chr_distance_to_pad_greater_than_LENGTH 7 - -#define hud_hide_and_lock_controls_and_pause_mission_time_ID 215 - -#define objective_bitfield_set_on_LENGTH 5 - -#define if_level_id_greater_than_LENGTH 3 - -#define guard_try_firing_roll_ID 19 - -#define chr_drop_all_held_items_ID 98 - -#define trigger_fade_and_exit_level_on_button_press_ID 234 - -#define if_guard_hits_less_than_LENGTH 3 - -#define hud_countdown_start_ID 185 - -#define if_chr_does_not_exist_ID 49 - -#define guard_try_spawning_item_LENGTH 9 - -#define if_guard_is_on_screen_ID 66 - -#define guard_looks_around_self_LENGTH 1 - -#define GLIST_END_ROUTINE 1 - -#define if_door_state_equal_LENGTH 4 - -#define object_activate_LENGTH 2 - -#define chr_hit_body_part_with_item_damage_ID 24 - -#define jump_to_ai_list_ID 5 - -#define if_game_difficulty_less_than_LENGTH 3 - -#define object_flags_1_set_on_LENGTH 6 - -#define guard_surrenders_ID 33 - -#define tv_change_screen_bank_ID 208 - -#define if_hud_countdown_less_than_LENGTH 4 - -#define SPAWN_00000100 256 - -#define guard_remove_fade_ID 34 - -#define GLIST_RUN_TO_BOND_SUBROUTINE 8 - -#define if_item_is_attached_to_object_ID 88 - -#define chr_hit_chr_body_part_with_held_item_LENGTH 4 - -#define bond_collect_object_ID 99 - -#define guard_try_running_to_bond_position_ID 40 - -#define guard_play_animation_LENGTH 9 - -#define HIT_RIGHT_HAND 12 - -#define guard_try_walking_to_bond_position_LENGTH 2 - -#define door_set_lock_LENGTH 3 - -#define guard_set_accuracy_rating_LENGTH 2 - -#define if_guard_counter_clockwise_direction_from_bond_greater_than_ID 74 - -#define AI_LIST_OBJ_START 4096 - -#define alarm_on_LENGTH 1 - -#define object_flags_1_set_off_ID 164 - -#define if_bond_health_greater_than_LENGTH 3 - -#define AI_LIST_CHR_START 1025 - -#define if_bond_collected_object_LENGTH 3 - -#define if_room_containing_pad_is_on_screen_ID 68 - -#define if_chr_was_damaged_since_last_check_ID 126 - -#define guard_try_spawning_hat_ID 192 - -#define exit_level_ID 210 - -#define guard_try_throwing_grenade_ID 26 - -#define if_bond_item_total_ammo_less_than_ID 226 - -#define if_chr_bitfield_is_set_on_ID 153 - -#define jump_to_return_ai_list_ID 7 - -#define TARGET_FRONT_OF_CHR 2 - -#define if_chr_health_less_than_LENGTH 4 - -#define guard_try_throwing_grenade_LENGTH 2 - -#define guard_try_sprinting_to_bond_position_LENGTH 2 - -#define HIT_RIGHT_THIGH 6 - -#define chr_remove_item_in_hand_ID 224 - -#define chr_hit_chr_body_part_with_held_item_ID 25 - -#define if_bond_item_total_ammo_less_than_LENGTH 4 - -#define chr_flags_set_on_LENGTH 6 - -#define if_guard_counter_clockwise_direction_from_bond_less_than_ID 73 - -#define local_timer_reset_LENGTH 1 - -#define if_bond_in_room_with_pad_LENGTH 4 - -#define object_destroy_LENGTH 2 - -#define guard_sprints_to_pad_ID 31 - -#define GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE 2 - -#define hud_show_all_and_unlock_controls_and_resume_mission_time_LENGTH 1 - -#define guard_flags_set_on_ID 157 - -#define sfx_stop_channel_ID 201 - -#define if_level_id_less_than_ID 118 - -#define HIT_LEFT_FOOT 1 - -#define removed_command27_LENGTH 2 - -#define guard_set_armour_ID 144 - -#define gas_leak_and_fade_fog_LENGTH 1 - -#define goto_first_ID 1 - -#define chr_remove_instant_ID 35 - -#define if_bond_used_gadget_on_object_LENGTH 3 - -#define if_bond_health_less_than_LENGTH 3 - -#define local_byte_1_set_ID 129 - -#define ANIM_MIRROR 1 - -#define hud_countdown_set_ID 183 - -#define guard_try_firing_run_ID 18 - -#define bond_collect_object_LENGTH 2 - -#define if_random_seed_less_than_LENGTH 3 - -#define if_guard_counter_clockwise_direction_to_bond_greater_than_LENGTH 3 - -#define vehicle_speed_ID 204 - -#define SPAWN_00008000 32768 - -#define HIT_HEAD 8 - -#define SPAWN_40000000 1073741824 - -#define ANIM_UNKNOWN 2 - -#define ANIM_NO_TRANSLATION 64 - -#define chr_drop_all_concealed_items_ID 97 - -#define if_objective_all_completed_LENGTH 2 - -#define vehicle_start_path_ID 203 - -#define if_object_flags_2_is_set_on_LENGTH 7 - -#define if_guard_hits_missed_less_than_LENGTH 3 - -#define object_move_to_pad_ID 101 - -#define removed_command2B_LENGTH 2 - -#define local_timer_reset_start_ID 174 - -#define chr_show_all_LENGTH 1 - -#define DOOR_STATE_OPEN 2 - -#define if_local_byte_2_less_than_random_seed_ID 138 - -#define if_guard_heard_bond_ID 57 - -#define if_sfx_channel_volume_less_than_ID 202 - -#define chr_show_all_ID 222 - -#define if_guard_distance_to_chr_greater_than_LENGTH 5 - -#define if_hud_countdown_has_stopped_LENGTH 2 - -#define guard_set_pad_preset_LENGTH 3 - -#define debug_log_LENGTH 50 - -#define guard_try_walking_to_chr_position_ID 45 - -#define hud_countdown_hide_ID 182 - -#define chr_hide_all_LENGTH 1 - -#define SPAWN_01000000 16777216 - -#define screen_fade_to_black_ID 218 - -#define guard_try_setting_chr_preset_to_guard_within_distance_ID 81 - -#define if_chr_was_shot_since_last_check_ID 248 - -#define guard_set_health_total_LENGTH 3 - -#define HUD_SHOW_TEXT_BOTTOM 2 - -#define HIT_RIGHT_ARM 13 - -#define guard_try_fire_or_aim_at_target_update_ID 22 - -#define if_system_power_time_greater_than_ID 117 - -#define sfx_fade_channel_volume_ID 200 - -#define if_chr_does_not_exist_LENGTH 3 - -#define guard_try_sprinting_to_chr_position_ID 46 - -#define if_number_of_active_players_less_than_ID 225 - -#define GLIST_SPAWN_CLONE_OR_RUN_TO_BOND 11 - -#define guard_runs_to_pad_preset_LENGTH 1 - -#define goto_next_ID 0 - -#define exit_level_LENGTH 1 - -#define if_door_has_been_opened_before_ID 105 - -#define if_folder_actor_is_equal_LENGTH 3 - -#define if_local_byte_2_less_than_random_seed_LENGTH 2 - -#define local_byte_1_subtract_LENGTH 2 - -#define HIT_LEFT_THIGH 3 - -#define if_guard_room_containing_self_is_on_screen_LENGTH 2 - -#define if_item_is_attached_to_object_LENGTH 4 - -#define guard_try_sidestepping_ID 14 - -#define if_guard_sees_bond_LENGTH 2 - -#define if_bond_damage_and_pickups_disabled_ID 243 - -#define if_guard_hits_missed_greater_than_ID 123 - -#define DOOR_STATE_OPENING 8 - -#define guard_try_unknown6E_LENGTH 3 - -#define door_open_LENGTH 2 - -#define ANIM_IDLE_POSE_WHEN_COMPLETE 16 - -#define if_camera_is_in_intro_ID 206 - -#define if_random_seed_less_than_ID 52 - -#define if_guard_and_bond_within_line_of_sight_LENGTH 2 - -#define if_guard_sees_bond_ID 50 - -#define if_alarm_is_on_ID 55 - -#define if_guard_is_firing_ID 232 - -#define ANIM_DEFAULT_INTERPOLATION 16 - -#define SPAWN_20000000 536870912 - -#define if_guard_bitfield_is_set_on_LENGTH 3 - -#define chr_bitfield_set_on_LENGTH 3 - -#define guard_try_fire_or_aim_at_target_LENGTH 6 - -#define guard_set_hearing_scale_LENGTH 3 - -#define hud_countdown_show_ID 181 - -#define chr_flags_set_off_ID 161 - -#define if_object_exists_ID 90 - -#define if_guard_heard_bond_LENGTH 2 - -#define if_chr_dying_or_dead_ID 48 - -#define guard_walks_to_pad_LENGTH 3 - -#define guard_try_sidestepping_LENGTH 2 - -#define local_byte_1_set_LENGTH 2 - -#define music_xtrack_play_ID 244 - -#define alarm_on_ID 37 - -#define local_byte_1_add_ID 130 - -#define ai_list_end_LENGTH 1 - -#define object_flags_2_set_off_ID 167 - -#define sfx_set_channel_volume_LENGTH 6 - -#define guard_remove_fade_LENGTH 1 - -#define if_bond_distance_to_pad_greater_than_LENGTH 6 - -#define guard_try_fire_or_aim_at_target_kneel_ID 21 - -#define if_guard_hits_greater_than_ID 121 - -#define if_guard_hits_less_than_ID 120 - -#define if_guard_flags_is_set_on_ID 159 - -#define DOOR_STATE_CLOSING 4 - -#define if_guard_distance_to_bond_less_than_LENGTH 4 - -#define if_guard_see_another_guard_die_ID 59 - -#define if_local_timer_less_than_ID 179 - -#define if_alarm_is_on_unused_LENGTH 2 - -#define if_chr_health_greater_than_ID 125 - -#define if_local_timer_less_than_LENGTH 5 - -#define object_rocket_launch_LENGTH 2 - -#define if_bond_collected_object_ID 86 - -#define guard_try_facing_target_ID 23 - -#define SPAWN_00004000 16384 - -#define screen_fade_to_black_LENGTH 1 - -#define if_guard_and_bond_within_line_of_sight_ID 60 - -#define sfx_emit_from_pad_LENGTH 6 - -#define SPAWN_04000000 67108864 - -#define if_local_timer_has_stopped_LENGTH 2 - -#define if_bond_distance_to_pad_less_than_LENGTH 6 - -#define alarm_off_ID 38 - -#define TARGET_PAD 8 - -#define if_local_timer_greater_than_LENGTH 5 - -#define if_guard_room_containing_self_is_on_screen_ID 67 - -#define camera_return_to_bond_ID 211 - -#define ANIM_LOOP_HOLD_LAST_FRAME 4 - -#define local_timer_start_LENGTH 1 - -#define GLIST_KEYBOARD_RAND_ANIM_SUBROUTINE 4 - -#define sfx_emit_from_pad_ID 198 - -#define guard_try_running_to_side_LENGTH 2 - -#define TARGET_CHR 4 - -#define guard_raises_arms_LENGTH 1 - -#define guard_try_sprinting_to_chr_position_LENGTH 3 - -#define if_bond_used_gadget_on_object_ID 93 - -#define SPAWN_00400000 4194304 - -#define if_objective_bitfield_is_set_on_ID 156 - -#define local_byte_1_add_LENGTH 2 - -#define if_chr_flags_is_set_on_ID 162 - -#define SPAWN_08000000 134217728 - -#define if_door_lock_equal_LENGTH 4 - -#define sfx_emit_from_object_ID 197 - -#define sfx_play_ID 196 - -#define door_open_ID 102 - -#define if_object_in_room_with_pad_ID 230 - -#define if_chr_flags_is_set_on_LENGTH 7 - -#define if_guard_heard_bond_within_last_10_secs_LENGTH 2 - -#define object_move_to_pad_LENGTH 4 - -#define door_close_LENGTH 2 - -#define if_mission_time_greater_than_LENGTH 4 - -#define SPAWN_00000080 128 - -#define guard_set_armour_LENGTH 3 - -#define if_objective_all_completed_ID 241 - -#define local_timer_reset_start_LENGTH 1 - -#define door_unset_lock_ID 107 - -#define if_guard_counter_clockwise_direction_to_bond_greater_than_ID 72 - -#define credits_roll_LENGTH 1 - -#define sfx_set_channel_volume_ID 199 - -#define guard_flags_set_off_LENGTH 5 - -#define vehicle_speed_LENGTH 5 - -#define chr_try_spawning_clone_LENGTH 5 - -#define if_object_was_activated_LENGTH 3 - -#define text_print_bottom_ID 194 - -#define guard_try_triggering_alarm_at_pad_LENGTH 4 - -#define chr_try_spawning_next_to_unseen_chr_LENGTH 11 - -#define sfx_stop_channel_LENGTH 2 - -#define camera_return_to_bond_LENGTH 1 - -#define if_object_flags_2_is_set_on_ID 168 - -#define gas_leak_and_switch_fog_LENGTH 1 - -#define GLIST_RUN_TO_BOND_AND_FIRE 12 - -#define text_print_bottom_LENGTH 3 - -#define SPAWN_00002000 8192 - -#define bond_set_locked_velocity_LENGTH 3 - -#define if_chr_was_damaged_since_last_check_LENGTH 3 - -#define if_guard_see_another_guard_shot_LENGTH 2 - -#define if_guard_shot_from_bond_missed_LENGTH 2 - -#define bond_killed_in_action_ID 249 - -#define if_camera_is_in_bond_swirl_ID 207 - -#define SPAWN_SUNGLASSES_RANDOM 2 - -#define trigger_explosions_around_bond_LENGTH 1 - -#define if_game_difficulty_greater_than_LENGTH 3 - -#define if_chr_was_shot_since_last_check_LENGTH 3 - -#define chr_try_spawning_at_pad_LENGTH 12 - -#define screen_fade_from_black_LENGTH 1 - -#define bond_hide_weapons_LENGTH 1 - -#define HUD_SHOW_TEXT_TOP 1 - -#define if_chr_distance_to_pad_less_than_LENGTH 7 - -#define local_byte_2_set_LENGTH 2 - -#define if_game_difficulty_less_than_ID 112 - -#define if_door_lock_equal_ID 108 - -#define if_gas_is_leaking_LENGTH 2 - -#define SPAWN_00000040 64 - -#define if_guard_shot_from_bond_missed_ID 70 - -#define goto_first_LENGTH 2 - -#define guard_points_at_bond_ID 12 - -#define local_timer_stop_ID 176 - -#define if_bond_distance_to_pad_greater_than_ID 83 - -#define SPAWN_IGNORE_PAD_SIGHT_CHECK 16 - -#define music_xtrack_play_LENGTH 4 - -#define if_guard_is_targeted_by_bond_LENGTH 2 - -#define object_activate_ID 94 - -#define if_guard_counter_clockwise_direction_to_bond_less_than_ID 71 - -#define guard_set_pad_preset_ID 171 - -#define object_flags_1_set_on_ID 163 - -#define chr_remove_instant_LENGTH 2 - -#define bond_equip_item_cinema_ID 228 - -#define GLIST_REMOVE_CHR 17 - -#define if_bond_in_tank_LENGTH 2 - -#define local_timer_reset_ID 175 - -#define if_hud_countdown_greater_than_LENGTH 4 - -#define if_object_not_destroyed_ID 91 - -#define GLIST_RUN_TO_BOND_AND_FIRE_HALT_CHR_RANDOMLY 13 - -#define door_unset_lock_LENGTH 3 - -#define HIT_RIGHT_SHOULDER 14 - -#define label_LENGTH 2 - -#define guard_runs_to_pad_LENGTH 3 - -#define SPAWN_00000020 32 - -#define if_guard_playing_animation_LENGTH 2 - -#define guard_try_dropping_item_ID 27 - -#define camera_orbit_pad_ID 238 - -#define if_screen_fade_completed_LENGTH 2 - -#define guard_bitfield_set_on_LENGTH 2 - -#define if_chr_dying_or_dead_LENGTH 3 - -#define set_return_ai_list_LENGTH 3 - -#define HIT_LEFT_ARM 10 - -#define if_guard_and_bond_within_partial_line_of_sight_ID 61 - -#define local_byte_2_set_ID 134 - -#define guard_try_hopping_sideways_LENGTH 2 - -#define if_guard_distance_to_bond_less_than_ID 75 - -#define if_camera_is_in_intro_LENGTH 2 - -#define HUD_HIDE_ALL 0 - -#define guard_try_sprinting_to_bond_position_ID 42 - -#define if_credits_has_completed_ID 240 - -#define SPAWN_80000000 2147483648 - -#define SPAWN_00000004 4 - -#define door_open_instant_LENGTH 2 - -#define SPAWN_00000008 8 - -#define guard_surrenders_LENGTH 1 - -#define chr_set_pad_preset_ID 172 - -#define guard_bitfield_set_on_ID 148 - -#define if_hud_countdown_has_stopped_ID 186 - -#define guard_kneel_LENGTH 1 - -#define if_local_byte_2_less_than_LENGTH 3 - -#define GLIST_DETECT_BOND_DEAF_NO_CLONE_NO_IDLE_ANIM 5 - -#define hud_countdown_set_LENGTH 3 - -#define if_guard_in_room_with_chr_LENGTH 3 - -#define if_game_difficulty_greater_than_ID 113 - -#define if_alarm_is_on_LENGTH 2 - -#define guard_raises_arms_ID 250 - -#define HIT_LEFT_LEG 2 - -#define gas_leak_and_fade_fog_ID 251 - -#define if_sfx_channel_volume_less_than_LENGTH 5 - -#define camera_switch_LENGTH 6 - -#define if_guard_is_targeted_by_bond_ID 69 - -#define text_print_top_LENGTH 3 - -#define guard_try_spawning_item_ID 191 - -#define ANIM_TRANSLATION_SCALE_4X 32 - -#define if_number_of_active_players_less_than_LENGTH 3 - -#define guard_set_chr_preset_LENGTH 2 - -#define object_destroy_ID 95 - -#define guard_set_vision_range_LENGTH 2 - -#define AI_LIST_GLOBAL_START 0 - -#define SPAWN_00800000 8388608 - -#define if_door_state_equal_ID 104 - -#define camera_switch_ID 213 - -#define if_credits_has_completed_LENGTH 2 - -#define if_system_power_time_greater_than_LENGTH 4 - -#define if_guard_hits_missed_less_than_ID 122 - -#define if_guard_distance_to_bond_greater_than_LENGTH 4 - -#define if_chr_health_less_than_ID 124 - -#define if_guard_distance_to_bond_greater_than_ID 76 - -#define SPAWN_00000200 512 - -#define if_bond_damage_and_pickups_disabled_LENGTH 2 - -#define if_gas_is_leaking_ID 56 - -#define chr_try_spawning_at_pad_ID 189 - -#define SPAWN_00010000 65536 - -#define chr_hit_body_part_with_item_damage_LENGTH 4 - -#define HIT_RIGHT_FOOT 4 - -#define guard_set_chr_num_ID 142 - -#define if_guard_hits_missed_greater_than_LENGTH 3 - -#define if_guard_see_another_guard_die_LENGTH 2 - -#define if_random_seed_greater_than_LENGTH 3 - -#define if_camera_is_in_bond_swirl_LENGTH 2 - -#define guard_bitfield_set_off_LENGTH 2 - -#define if_chr_in_room_with_pad_LENGTH 5 - -#define guard_set_hearing_scale_ID 139 - -#define chr_set_chr_preset_LENGTH 3 - -#define if_objective_num_complete_LENGTH 3 - -#define guard_try_fire_or_aim_at_target_ID 20 - -#define bond_set_locked_velocity_ID 229 - -#define guard_try_unknown6F_ID 111 - -#define local_timer_stop_LENGTH 1 - -#define guard_bitfield_set_off_ID 149 - -#define HIT_LEFT_HAND 9 - -#define AI_CMDS_TOTAL 253 - -#define if_guard_distance_to_chr_less_than_LENGTH 5 - -#define chr_flags_set_off_LENGTH 6 - -#define tv_change_screen_bank_LENGTH 4 - -#define guard_set_accuracy_rating_ID 147 - -#define object_drop_from_chr_ID 96 - -#define bond_disable_damage_and_pickups_ID 236 - -#define if_random_seed_greater_than_ID 53 - -#define guard_try_firing_roll_LENGTH 2 - -#define guard_try_running_to_bond_position_LENGTH 2 - -#define SPAWN_00100000 1048576 - -#define guard_try_unknown6F_LENGTH 3 - -#define music_xtrack_stop_LENGTH 2 - -#define alarm_off_LENGTH 1 - -#define GLIST_STARTLE_CHR_AND_RUN_TO_BOND_SUBROUTINE 10 - -#define sfx_play_LENGTH 4 - -#define guard_try_hopping_sideways_ID 15 - -#define aircraft_rotor_speed_LENGTH 5 - -#define guard_try_walking_to_bond_position_ID 41 - -#define chr_set_pad_preset_LENGTH 4 - -#define local_timer_start_ID 177 - -#define BITFIELD_DONT_POINT_AT_BOND 1 - -#define objective_bitfield_set_off_LENGTH 5 - -#define local_byte_2_subtract_ID 136 - -#define ai_sleep_ID 3 - -#define chr_try_teleporting_to_pad_ID 217 - -#define if_bond_has_item_equipped_ID 89 - -#define SPAWN_00000400 1024 - -#define SPAWN_00020000 131072 - -#define chr_hide_all_ID 221 - -#define guard_start_patrol_ID 32 - -#define chr_remove_item_in_hand_LENGTH 3 - -#define if_bond_has_item_equipped_LENGTH 3 - -#define hud_countdown_show_LENGTH 1 - -#define if_guard_is_on_screen_LENGTH 2 - -#define HIT_NULL_PART 0 - -#define chr_equip_object_ID 100 - -#define objective_bitfield_set_off_ID 155 - -#define debug_log_ID 173 - -#define chr_set_chr_preset_ID 170 - -#define guard_try_dropping_item_LENGTH 5 - -#define if_item_is_stationary_within_level_ID 87 - -#define if_guard_playing_animation_ID 11 - -#define if_bond_is_dead_ID 235 - -#define HIT_RIGHT_LEG 5 - -#define if_guard_bitfield_is_set_on_ID 150 - -#define if_guard_counter_clockwise_direction_to_bond_less_than_LENGTH 3 - -#define GLIST_RUN_TO_CHR_PADPRESET_AND_ACTIVATE_ALARM 9 - -#define aircraft_rotor_speed_ID 205 - -#define guard_play_animation_ID 10 - -#define if_hud_countdown_greater_than_ID 188 - -#define text_print_top_ID 195 - -#define credits_roll_ID 239 - -#define chr_try_teleporting_to_pad_LENGTH 5 - -#define if_bond_in_room_with_pad_ID 85 - -#define if_mission_time_less_than_ID 114 - -#define object_flags_2_set_off_LENGTH 6 - -#define chr_bitfield_set_on_ID 151 - -#define jump_to_return_ai_list_LENGTH 1 - -#define guard_try_firing_walk_LENGTH 2 - -#define music_xtrack_stop_ID 245 - -#define if_chr_distance_to_pad_less_than_ID 77 - -#define guard_set_speed_rating_LENGTH 2 - -#define guard_animation_stop_ID 8 - -#define if_guard_has_stopped_moving_ID 47 - -#define if_guard_flags_is_set_on_LENGTH 6 - -#define object_rocket_launch_ID 252 - -#define if_guard_hits_greater_than_LENGTH 3 - -#define guard_points_at_bond_LENGTH 1 - -#define GLIST_WAIT_ONE_SECOND_SUBROUTINE 14 - -#define object_flags_1_set_off_LENGTH 6 - -#define DOOR_STATE_CLOSED 1 - -#define chr_drop_all_concealed_items_LENGTH 2 - -#define if_bond_health_greater_than_ID 128 - -#define if_alarm_is_on_unused_ID 54 - -#define if_system_power_time_less_than_LENGTH 4 - -#define GLIST_IDLE_RAND_ANIM_SUBROUTINE 3 - -#define if_local_timer_has_stopped_ID 178 - -#define guard_set_chr_preset_ID 169 - -#define if_local_byte_1_less_than_LENGTH 3 - -#define guard_try_triggering_alarm_at_pad_ID 36 - -#define if_objective_num_complete_ID 109 - -#define if_mission_time_less_than_LENGTH 4 - -#define if_chr_in_room_with_pad_ID 84 - -#define if_guard_and_bond_within_partial_line_of_sight_LENGTH 2 - -#define local_byte_2_add_LENGTH 2 - -#define if_objective_bitfield_is_set_on_LENGTH 6 - -#define if_guard_counter_clockwise_direction_from_bond_greater_than_LENGTH 3 - -#define if_mission_time_greater_than_ID 115 - -#define label_ID 2 - -#define if_guard_was_shot_within_last_10_secs_ID 62 - -#define camera_look_at_bond_from_pad_ID 212 - -#define guard_set_grenade_probability_ID 141 - -#define guard_try_firing_walk_ID 17 - -#define HIT_LEFT_SHOULDER 11 - -#define guard_try_facing_target_LENGTH 6 - -#define guard_flags_set_on_LENGTH 5 - -#define hud_countdown_stop_LENGTH 1 - -#define HIT_PELVIS 7 - -#define if_chr_bitfield_is_set_on_LENGTH 4 - -#define SPAWN_00040000 262144 - -#define if_killed_civilians_greater_than_LENGTH 3 - -#define guard_start_patrol_LENGTH 2 - -#define if_room_containing_pad_is_on_screen_LENGTH 4 - -#define if_guard_has_not_been_seen_ID 65 - -#define HUD_SHOW_HUD_COUNTDOWN 4 - -#define chr_flags_set_on_ID 160 - -#define guard_set_argh_rating_LENGTH 2 - -#define SPAWN_00000800 2048 - -#define local_byte_1_subtract_ID 131 - -#define if_guard_has_not_been_seen_LENGTH 2 - -#define random_generate_seed_ID 51 - -#define door_close_ID 103 - -#define guard_set_health_total_ID 143 - -#define GLIST_AIM_AT_BOND 0 - -#define guard_flags_set_off_ID 158 - -#define if_guard_is_firing_and_unknown_flag_ID 231 - -#define sfx_emit_from_object_LENGTH 5 - -#define guard_set_vision_range_ID 140 - -#define guard_try_running_to_chr_position_ID 44 - -#define if_object_in_room_with_pad_LENGTH 5 - -#define objective_bitfield_set_on_ID 154 - -#define if_guard_is_firing_and_unknown_flag_LENGTH 2 - -#define guard_try_unknown6E_ID 110 - -#define TARGET_BOND 1 - -#define chr_bitfield_set_off_LENGTH 3 - -#define TARGET_AIM_ONLY 32 - -#define bond_equip_item_LENGTH 2 - -#define GLIST_DETECT_BOND_NO_CLONE_NO_IDLE_ANIM 7 - -#define guard_try_setting_chr_preset_to_guard_within_distance_LENGTH 4 - -#define if_killed_civilians_greater_than_ID 247 - -#define if_bond_y_pos_less_than_ID 214 - -#define if_folder_actor_is_equal_ID 242 - -#define GLIST_EXIT_LEVEL 15 - -#define if_guard_see_another_guard_shot_ID 58 - -#define if_screen_fade_completed_ID 220 - -#define if_bond_in_tank_ID 209 - -#define removed_command27_ID 39 - -#define set_return_ai_list_ID 6 - -#define chr_drop_all_held_items_LENGTH 2 - -#define bond_equip_item_ID 227 - -#define if_object_flags_1_is_set_on_LENGTH 7 - -#define guard_looks_around_self_ID 13 - -#define SPAWN_00080000 524288 - -#define if_object_not_destroyed_LENGTH 3 - -#define if_guard_is_firing_LENGTH 2 - -#define if_guard_counter_clockwise_direction_from_bond_less_than_LENGTH 3 - -#define if_local_timer_greater_than_ID 180 - -#define guard_try_firing_run_LENGTH 2 - -#define local_byte_2_add_ID 135 - -#define GLIST_DRAW_DD44_AND_FIRE 16 - -#define if_hud_countdown_less_than_ID 187 - -#define hud_countdown_stop_ID 184 - -#define hud_hide_and_lock_controls_and_pause_mission_time_LENGTH 2 - -#define guard_try_fire_or_aim_at_target_kneel_LENGTH 6 - -#define if_guard_has_stopped_moving_LENGTH 2 - -#define guard_try_running_to_side_ID 16 - -#define SPAWN_00200000 2097152 - -#define door_set_lock_ID 106 - -#define if_object_flags_1_is_set_on_ID 165 - -#define guard_runs_to_pad_preset_ID 29 - -#define TARGET_COMPASS 16 - -#define random_generate_seed_LENGTH 1 - -#define bond_disable_damage_and_pickups_LENGTH 1 - -#define guard_set_speed_rating_ID 145 - -#define if_local_byte_1_less_than_random_seed_LENGTH 2 - -#define removed_command2B_ID 43 - -#define if_bond_is_dead_LENGTH 2 - -#define chr_bitfield_set_off_ID 152 - -#define sfx_fade_channel_volume_LENGTH 6 - -#define if_bond_distance_to_pad_less_than_ID 82 - -#define trigger_explosions_around_bond_ID 246 - -#define object_flags_2_set_on_ID 166 - -#define chr_try_spawning_next_to_unseen_chr_ID 190 - -#define gas_leak_and_switch_fog_ID 233 - -#define ai_sleep_LENGTH 1 - -#define door_open_instant_ID 223 - -#define SPAWN_10000000 268435456 - -#define guard_animation_stop_LENGTH 1 - -#define camera_orbit_pad_LENGTH 13 - -#define guard_try_walking_to_chr_position_LENGTH 3 - -#define HIT_CHEST 15 - -#define if_guard_distance_to_chr_less_than_ID 79 - -#define if_bond_health_less_than_ID 127 - -#define if_guard_was_shot_within_last_10_secs_LENGTH 2 - -#define C0_CONTEXT 4 - -#define ICACHE_LINEMASK 31 - -#define EXC_DBE 28 - -#define C0_CAUSE 13 - -#define CONFIG_EC_1_1 6 - -#define SR_IBIT8 32768 - -#define SR_IBIT3 1024 - -#define SR_IBIT2 512 - -#define SR_IBIT1 256 - -#define TLBINX_INXSHIFT 0 - -#define EXC_BREAK 36 - -#define SR_IBIT7 16384 - -#define SR_IBIT6 8192 - -#define SR_IBIT5 4096 - -#define SR_IBIT4 2048 - -#define CONFIG_BE 32768 - -#define TLBLO_CACHSHIFT 3 - -#define CACHERR_PIDX_MASK 7 - -#define C0_EPC 14 - -#define EXC_INT 0 - -#define TLBLO_EXLWR 40 - -#define C0_SR 12 - -#define TLBHI_NPID 255 - -#define TLBHI_PIDSHIFT 0 - -#define E_VEC 2147484032 - -#define CACHERR_SIDX_MASK 4194296 - -#define TLBLO_NONCOHRNT 24 - -#define SADDRMASK 4294959104 - -#define CAUSE_CEMASK 805306368 - -#define C0_REVMASK 255 - -#define TLBCTXT_VPNMASK 8388592 - -#define K2BASE 3221225472 - -#define EXC_RADE 16 - -#define CAUSE_EXCMASK 124 - -#define SINVALID 0 - -#define CONFIG_IC_SHFT 9 - -#define C0_MAJREVSHIFT 4 - -#define CONFIG_EC_3_2 7 - -#define CONFIG_EC_3_1 1 - -#define TLBCTXT_BASEMASK 4286578688 - -#define C0_BADVADDR 8 - -#define TLBLO_PFNMASK 1073741760 - -#define PADDRMASK 4294967040 - -#define C0_PAGEMASK 5 - -#define TLBCTXT_VPNSHIFT 4 - -#define EXC_WMISS 12 - -#define PSTATEMASK 192 - -#define SR_ERL 4 - -#define C_FILL 20 - -#define CAUSE_IPSHIFT 8 - -#define CONFIG_EC_2_1 0 - -#define SIZE_EXCVEC 128 - -#define C0_MINREVMASK 15 - -#define WATCHLO_ADDRMASK 4294967288 - -#define DCACHE_LINESIZE 16 - -#define PCLEANEXCL 128 - -#define CONFIG_IC 3584 - -#define CONFIG_IB 32 - -#define C0_ENTRYLO0 2 - -#define C0_ENTRYLO1 3 - -#define CONFIG_K0 7 - -#define CACH_SI 2 - -#define CAUSE_SW1 256 - -#define FPCSR_C 8388608 - -#define CAUSE_SW2 512 - -#define CACH_SD 3 - -#define SR_IMASK0 65280 - -#define C0_TAGHI 29 - -#define SR_IMASK7 32768 - -#define C0_PRID 15 - -#define SR_IMASK8 0 - -#define SR_IMASK5 57344 - -#define SR_IMASK6 49152 - -#define SR_IMASK3 63488 - -#define SR_IMASK4 61440 - -#define SR_IMASK1 65024 - -#define SR_IMASK2 64512 - -#define CAUSE_CESHIFT 28 - -#define CAUSE_EXCSHIFT 2 - -#define C0_IMPMASK 65280 - -#define TLBLO_CACHMASK 56 - -#define PINVALID 0 - -#define EXC_FPE 60 - -#define SR_KSU_MASK 24 - -#define SR_KSU_USR 16 - -#define EXC_WATCH 92 - -#define SR_TS 2097152 - -#define CONFIG_DC 448 - -#define CONFIG_DB 16 - -#define C0_MAJREVMASK 240 - -#define WATCHLO_WTRAP 1 - -#define TLBLO_UNCACHED 16 - -#define CONFIG_CU 8 - -#define SR_EXL 2 - -#define CONFIG_CM 2147483648 - -#define SR_SX 64 - -#define SR_CU1 536870912 - -#define SR_UX 32 - -#define SR_CU0 268435456 - -#define SR_CU3 2147483648 - -#define SR_CU2 1073741824 - -#define CONFIG_EC 1879048192 - -#define CONFIG_EB 8192 - -#define NTLBENTRIES 31 - -#define TLBPGMASK_64K 122880 - -#define C0_READI 1 - -#define SR_RP 134217728 - -#define CACHERR_ET 268435456 - -#define SR_RE 33554432 - -#define CACHERR_ES 134217728 - -#define CACHERR_ER 2147483648 - -#define CONFIG_EW 786432 - -#define CACHERR_EI 16777216 - -#define CONFIG_EP 251658240 - -#define CACHERR_EE 67108864 - -#define CONFIG_EM 16384 - -#define CACHERR_ED 536870912 - -#define CACHERR_EC 1073741824 - -#define CACHERR_EB 33554432 - -#define SR_CUMASK 4026531840 - -#define ICACHE_SIZE 16384 - -#define SR_SR 1048576 - -#define C0_RFE 16 - -#define WATCHLO_VALIDMASK 4294967291 - -#define FPCSR_EV 2048 - -#define C0_WRITER 6 - -#define CONFIG_BE_SHFT 15 - -#define FPCSR_EU 256 - -#define FPCSR_EO 512 - -#define C0_WATCHHI 19 - -#define FPCSR_EI 128 - -#define C_CDX 12 - -#define C0_LLADDR 17 - -#define C0_ECC 26 - -#define SR_IE 1 - -#define EXC_CPU 44 - -#define SR_IMASK 65280 - -#define DCACHE_LINEMASK 15 - -#define TLBPGMASK_16K 24576 - -#define C_IWBINV 0 - -#define EXC_II 40 - -#define C0_WRITEI 2 - -#define FPCSR_CZ 32768 - -#define FPCSR_CU 8192 - -#define FPCSR_CV 65536 - -#define FPCSR_CO 16384 - -#define FPCSR_CI 4096 - -#define K1SIZE 536870912 - -#define FPCSR_RM_MASK 3 - -#define TLBRAND_RANDMASK 63 - -#define FPCSR_CE 131072 - -#define CONFIG_SW 1048576 - -#define CONFIG_SS 2097152 - -#define C_IST 8 - -#define K0BASE 2147483648 - -#define KUSIZE 2147483648 - -#define CONFIG_SM 65536 - -#define CONFIG_SC 131072 - -#define CONFIG_SB 12582912 - -#define SR_FR 67108864 - -#define EXC_VCEI 56 - -#define TLBHI_VPN2SHIFT 13 - -#define TLBCTXT_BASEBITS 9 - -#define C_ILT 4 - -#define SCLEANEXCL 4096 - -#define TLBRAND_RANDSHIFT 0 - -#define C0_WATCHLO 18 - -#define SR_KX 128 - -#define PPARITY_MASK 1 - -#define XUT_VEC 2147483776 - -#define C0_INX 0 - -#define CONFIG_NONCOHRNT 3 - -#define PDIRTYEXCL 192 - -#define SADDR_SHIFT 4 - -#define SDIRTYEXCL 5120 - -#define TLBHI_PIDMASK 255 - -#define SSTATEMASK 7168 - -#define KUBASE 0 - -#define EXC_WADE 20 - -#define CONFIG_UNCACHED 2 - -#define TLBLO_D 4 - -#define SR_KSU_SUP 8 - -#define SVINDEXMASK 896 - -#define SR_KSU_KER 0 - -#define C0_TAGLO 28 - -#define UT_VEC 2147483648 - -#define FPCSR_RM_RZ 1 - -#define TLBLO_G 1 - -#define C0_IMPSHIFT 8 - -#define FPCSR_FZ 32 - -#define FPCSR_FS 16777216 - -#define EXC_IBE 24 - -#define FPCSR_RM_RP 2 - -#define K1BASE 2684354560 - -#define FPCSR_FU 8 - -#define FPCSR_RM_RM 3 - -#define FPCSR_FV 64 - -#define FPCSR_RM_RN 0 - -#define FPCSR_FO 16 - -#define TLBLO_V 2 - -#define CACH_PD 1 - -#define EXC_RMISS 8 - -#define CAUSE_BD 2147483648 - -#define FPCSR_FI 4 - -#define CACH_PI 0 - -#define FPCSR_EZ 1024 - -#define C0_WIRED 6 - -#define C0_ENTRYHI 10 - -#define ICACHE_LINESIZE 32 - -#define C_HWB 24 - -#define SR_BEV 4194304 - -#define SECC_MASK 127 - -#define EXC_SYSCALL 32 - -#define CAUSE_IPMASK 65280 - -#define C0_CONFIG 16 - -#define SR_ITS 16777216 - -#define K0SIZE 536870912 - -#define CONFIG_COHRNT_EXLWR 5 - -#define SR_IMASKSHIFT 8 - -#define TLBHI_VPN2MASK 4294959104 - -#define C0_COMPARE 11 - -#define DCACHE_SIZE 8192 - -#define ECC_VEC 2147483904 - -#define C_HWBINV 20 - -#define CONFIG_SB_SHFT 22 - -#define TLBLO_PFNSHIFT 6 - -#define EXC_TRAP 52 - -#define TLBCTXT_BASESHIFT 23 - -#define CONFIG_DC_SHFT 6 - -#define EXC_OV 48 - -#define WATCHLO_RTRAP 2 - -#define C0_COUNT 9 - -#define SR_DE 65536 - -#define EXC_VCED 124 - -#define C_IINV 0 - -#define TLBINX_PROBE 2147483648 - -#define C0_PROBE 8 - -#define WATCHHI_VALIDMASK 15 - -#define EXC_MOD 4 - -#define SR_CH 262144 - -#define TLBWIRED_WIREDMASK 63 - -#define C_HSV 28 - -#define C0_CACHE_ERR 27 - -#define TLBPGMASK_4K 0 - -#define C0_RAND 1 - -#define C0_ERROR_EPC 30 - -#define PADDR_SHIFT 4 - -#define R_VEC 3217031168 - -#define K2SIZE 536870912 - -#define SR_CE 131072 - -#define CACHERR_PIDX_SHIFT 12 - -#define TLBINX_INXMASK 63 - -#define CAUSE_IP3 1024 - -#define CAUSE_IP4 2048 - -#define C_HINV 16 - -#define CAUSE_IP7 16384 - -#define CAUSE_IP8 32768 - -#define CAUSE_IP5 4096 - -#define CAUSE_IP6 8192 - -typedef struct Gtexture Gtexture, *PGtexture; - -struct Gtexture { - uchar cmd; - uchar lodscale; - uchar tile; - uchar on; - ushort s; - ushort t; -}; - -typedef struct Light_t Light_t, *PLight_t; - -struct Light_t { - uchar col[3]; - char pad1; - uchar colc[3]; - char pad2; - char dir[3]; - char pad3; -}; - -typedef struct Gsegment Gsegment, *PGsegment; - -typedef union anon__struct_60_bitfield_1 anon__struct_60_bitfield_1, *Panon__struct_60_bitfield_1; - -typedef union anon__struct_60_bitfield_2 anon__struct_60_bitfield_2, *Panon__struct_60_bitfield_2; - -union anon__struct_60_bitfield_1 { - int cmd:8; // : bits 0-7 - int pad0:8; // : bits 8-15 - int mw_index:8; // : bits 16-23 - int number:8; // : bits 24-31 -}; - -union anon__struct_60_bitfield_2 { - int pad1:8; // : bits 0-7 - int base:24; // : bits 8-31 -}; - -struct Gsegment { - union anon__struct_60_bitfield_1 field_0x0; - union anon__struct_60_bitfield_2 field_0x4; -}; - -typedef struct Gsetcolor Gsetcolor, *PGsetcolor; - -typedef union anon__struct_68_bitfield_1 anon__struct_68_bitfield_1, *Panon__struct_68_bitfield_1; - -union anon__struct_68_bitfield_1 { - int cmd:8; // : bits 0-7 -}; - -struct Gsetcolor { - union anon__struct_68_bitfield_1 field_0x0; - uchar pad; - uchar prim_min_level; - uchar prim_level; - ulong color; -}; - -typedef struct Gtri Gtri, *PGtri; - -typedef union anon__struct_58_bitfield_1 anon__struct_58_bitfield_1, *Panon__struct_58_bitfield_1; - -typedef struct Tri Tri, *PTri; - -union anon__struct_58_bitfield_1 { - int cmd:8; // : bits 0-7 - int pad:24; // : bits 8-31 -}; - -struct Tri { - uchar flag; - uchar v[3]; -}; - -struct Gtri { - union anon__struct_58_bitfield_1 field_0x0; - struct Tri tri; -}; - -typedef struct TexRect TexRect, *PTexRect; - -struct TexRect { - ulong w0; - ulong w1; - ulong w2; - ulong w3; -}; - -typedef struct Gsetcombine Gsetcombine, *PGsetcombine; - -typedef union anon__struct_67_bitfield_1 anon__struct_67_bitfield_1, *Panon__struct_67_bitfield_1; - -typedef union anon__struct_67_bitfield_2 anon__struct_67_bitfield_2, *Panon__struct_67_bitfield_2; - -typedef union anon__struct_67_bitfield_3 anon__struct_67_bitfield_3, *Panon__struct_67_bitfield_3; - -union anon__struct_67_bitfield_1 { - int cmd:8; // : bits 0-7 -}; - -union anon__struct_67_bitfield_2 { - uint muxs0:24; // : bits 0-23 -}; - -union anon__struct_67_bitfield_3 { - uint muxs1:32; // : bits 0-31 -}; - -struct Gsetcombine { - union anon__struct_67_bitfield_1 field_0x0; - union anon__struct_67_bitfield_2 field_0x4; - union anon__struct_67_bitfield_3 field_0x8; -}; - -typedef union anon__struct_69_bitfield_2 anon__struct_69_bitfield_2, *Panon__struct_69_bitfield_2; - -union anon__struct_69_bitfield_2 { - uint pad:8; // : bits 0-7 -}; - -typedef union anon__struct_69_bitfield_3 anon__struct_69_bitfield_3, *Panon__struct_69_bitfield_3; - -union anon__struct_69_bitfield_3 { - int x1:10; // : bits 0-9 - int x1frac:2; // : bits 10-11 - int y1:10; // : bits 12-21 - int y1frac:2; // : bits 22-23 -}; - -typedef union anon__struct_69_bitfield_1 anon__struct_69_bitfield_1, *Panon__struct_69_bitfield_1; - -union anon__struct_69_bitfield_1 { - int cmd:8; // : bits 0-7 - int x0:10; // : bits 8-17 - int x0frac:2; // : bits 18-19 - int y0:10; // : bits 20-29 - int y0frac:2; // : bits 30-31 -}; - -typedef union anon__struct_59_bitfield_3 anon__struct_59_bitfield_3, *Panon__struct_59_bitfield_3; - -union anon__struct_59_bitfield_3 { - uchar param:8; // : bits 0-7 -}; - -typedef union anon__struct_59_bitfield_2 anon__struct_59_bitfield_2, *Panon__struct_59_bitfield_2; - -union anon__struct_59_bitfield_2 { - int pad2:24; // : bits 0-23 -}; - -typedef union anon__struct_59_bitfield_1 anon__struct_59_bitfield_1, *Panon__struct_59_bitfield_1; - -union anon__struct_59_bitfield_1 { - int cmd:8; // : bits 0-7 - int pad1:24; // : bits 8-31 -}; - -typedef struct Gsettile Gsettile, *PGsettile; - -typedef union anon__struct_70_bitfield_1 anon__struct_70_bitfield_1, *Panon__struct_70_bitfield_1; - -typedef union anon__struct_70_bitfield_2 anon__struct_70_bitfield_2, *Panon__struct_70_bitfield_2; - -typedef union anon__struct_70_bitfield_3 anon__struct_70_bitfield_3, *Panon__struct_70_bitfield_3; - -union anon__struct_70_bitfield_1 { - int cmd:8; // : bits 0-7 -}; - -union anon__struct_70_bitfield_2 { - uint fmt:3; // : bits 0-2 - uint siz:2; // : bits 3-4 - uint pad0:1; // : bits 5 - uint line:9; // : bits 6-14 - uint tmem:9; // : bits 15-23 - uint pad1:5; // : bits 24-28 - uint tile:3; // : bits 29-31 -}; - -union anon__struct_70_bitfield_3 { - uint palette:4; // : bits 0-3 - uint ct:1; // : bits 4 - uint mt:1; // : bits 5 - uint maskt:4; // : bits 6-9 - uint shiftt:4; // : bits 10-13 - uint cs:1; // : bits 14 - uint ms:1; // : bits 15 - uint masks:4; // : bits 16-19 - uint shifts:4; // : bits 20-23 -}; - -struct Gsettile { - union anon__struct_70_bitfield_1 field_0x0; - union anon__struct_70_bitfield_2 field_0x4; - union anon__struct_70_bitfield_3 field_0x8; -}; - -typedef struct Gline3D Gline3D, *PGline3D; - -typedef union anon__struct_64_bitfield_1 anon__struct_64_bitfield_1, *Panon__struct_64_bitfield_1; - -union anon__struct_64_bitfield_1 { - int cmd:8; // : bits 0-7 - int pad:24; // : bits 8-31 -}; - -struct Gline3D { - union anon__struct_64_bitfield_1 field_0x0; - struct Tri line; -}; - -typedef struct Gloadtile Gloadtile, *PGloadtile; - -typedef struct Gloadtile Gloadblock; - -typedef union anon__struct_71_bitfield_1 anon__struct_71_bitfield_1, *Panon__struct_71_bitfield_1; - -typedef union anon__struct_71_bitfield_2 anon__struct_71_bitfield_2, *Panon__struct_71_bitfield_2; - -typedef union anon__struct_71_bitfield_3 anon__struct_71_bitfield_3, *Panon__struct_71_bitfield_3; - -typedef union anon__struct_71_bitfield_4 anon__struct_71_bitfield_4, *Panon__struct_71_bitfield_4; - -union anon__struct_71_bitfield_1 { - int cmd:8; // : bits 0-7 -}; - -union anon__struct_71_bitfield_2 { - uint sl:12; // : bits 0-11 - uint tl:12; // : bits 12-23 -}; - -union anon__struct_71_bitfield_3 { - int pad:5; // : bits 0-4 -}; - -union anon__struct_71_bitfield_4 { - uint tile:3; // : bits 0-2 - uint sh:12; // : bits 3-14 - uint th:12; // : bits 15-26 -}; - -struct Gloadtile { - union anon__struct_71_bitfield_1 field_0x0; - union anon__struct_71_bitfield_2 field_0x4; - union anon__struct_71_bitfield_3 field_0x8; - union anon__struct_71_bitfield_4 field_0xc; -}; - -typedef union Ambient Ambient, *PAmbient; - -typedef struct Ambient_t Ambient_t, *PAmbient_t; - -struct Ambient_t { - uchar col[3]; - char pad1; - uchar colc[3]; - char pad2; -}; - -union Ambient { - struct Ambient_t l; - longlong force_structure_alignment[1]; -}; - -typedef struct Gtexrect Gtexrect, *PGtexrect; - -typedef union anon__struct_72_bitfield_1 anon__struct_72_bitfield_1, *Panon__struct_72_bitfield_1; - -typedef union anon__struct_72_bitfield_2 anon__struct_72_bitfield_2, *Panon__struct_72_bitfield_2; - -typedef union anon__struct_72_bitfield_3 anon__struct_72_bitfield_3, *Panon__struct_72_bitfield_3; - -typedef union anon__struct_72_bitfield_4 anon__struct_72_bitfield_4, *Panon__struct_72_bitfield_4; - -union anon__struct_72_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint xl:12; // : bits 8-19 - uint yl:12; // : bits 20-31 -}; - -union anon__struct_72_bitfield_3 { - uint s:16; // : bits 0-15 - uint t:16; // : bits 16-31 -}; - -union anon__struct_72_bitfield_2 { - uint pad1:5; // : bits 0-4 - uint tile:3; // : bits 5-7 - uint xh:12; // : bits 8-19 - uint yh:12; // : bits 20-31 -}; - -union anon__struct_72_bitfield_4 { - uint dsdx:16; // : bits 0-15 - uint dtdy:16; // : bits 16-31 -}; - -struct Gtexrect { - union anon__struct_72_bitfield_1 field_0x0; - union anon__struct_72_bitfield_2 field_0x4; - union anon__struct_72_bitfield_3 field_0x8; - union anon__struct_72_bitfield_4 field_0xc; -}; - -typedef union anon__struct_62_bitfield_1 anon__struct_62_bitfield_1, *Panon__struct_62_bitfield_1; - -union anon__struct_62_bitfield_1 { - int cmd:8; // : bits 0-7 - int pad0:8; // : bits 8-15 - int sft:8; // : bits 16-23 - int len:8; // : bits 24-31 -}; - -typedef union Light Light, *PLight; - -union Light { - struct Light_t l; - longlong force_structure_alignment[2]; -}; - -typedef union anon__struct_62_bitfield_2 anon__struct_62_bitfield_2, *Panon__struct_62_bitfield_2; - -union anon__struct_62_bitfield_2 { - uint data:32; // : bits 0-31 -}; - -typedef union uSprite uSprite, *PuSprite; - -typedef struct uSprite_t uSprite_t, *PuSprite_t; - -struct uSprite_t { - void * SourceImagePointer; - void * TlutPointer; - short Stride; - short SubImageWidth; - short SubImageHeight; - char SourceImageType; - char SourceImageBitSize; - short ScaleX; - short ScaleY; - char FlipTextureX; - char FlipTextureY; - short SourceImageOffsetS; - short SourceImageOffsetT; - short PScreenX; - short PScreenY; - char dummy[2]; -}; - -union uSprite { - struct uSprite_t s; - longlong force_structure_allignment[4]; -}; - -typedef struct Lightsn Lightsn, *PLightsn; - -struct Lightsn { - union Ambient a; - union Light l[7]; -}; - -typedef struct Gfillrect Gfillrect, *PGfillrect; - -struct Gfillrect { - union anon__struct_69_bitfield_1 field_0x0; - union anon__struct_69_bitfield_2 field_0x4; - union anon__struct_69_bitfield_3 field_0x8; -}; - -typedef struct LookAt LookAt, *PLookAt; - -struct LookAt { - union Light l[2]; -}; - -typedef union anon__struct_57_bitfield_2 anon__struct_57_bitfield_2, *Panon__struct_57_bitfield_2; - -union anon__struct_57_bitfield_2 { - uint par:8; // : bits 0-7 - uint len:16; // : bits 8-23 -}; - -typedef union anon__struct_66_bitfield_2 anon__struct_66_bitfield_2, *Panon__struct_66_bitfield_2; - -union anon__struct_66_bitfield_2 { - uint fmt:3; // : bits 0-2 - uint siz:2; // : bits 3-4 - uint pad:7; // : bits 5-11 - uint wd:12; // : bits 12-23 -}; - -typedef union anon__struct_57_bitfield_1 anon__struct_57_bitfield_1, *Panon__struct_57_bitfield_1; - -union anon__struct_57_bitfield_1 { - int cmd:8; // : bits 0-7 -}; - -typedef union anon__struct_66_bitfield_1 anon__struct_66_bitfield_1, *Panon__struct_66_bitfield_1; - -union anon__struct_66_bitfield_1 { - int cmd:8; // : bits 0-7 -}; - -typedef struct Gloadtile Gsettilesize; - -typedef struct Lights0 Lights0, *PLights0; - -struct Lights0 { - union Ambient a; - union Light l[1]; -}; - -typedef struct Lights3 Lights3, *PLights3; - -struct Lights3 { - union Ambient a; - union Light l[3]; -}; - -typedef struct Lights4 Lights4, *PLights4; - -struct Lights4 { - union Ambient a; - union Light l[4]; -}; - -typedef struct Gsetimg Gsetimg, *PGsetimg; - -struct Gsetimg { - union anon__struct_66_bitfield_1 field_0x0; - union anon__struct_66_bitfield_2 field_0x4; - uint dram; -}; - -typedef struct Lights1 Lights1, *PLights1; - -struct Lights1 { - union Ambient a; - union Light l[1]; -}; - -typedef struct Lights2 Lights2, *PLights2; - -struct Lights2 { - union Ambient a; - union Light l[2]; -}; - -typedef struct Lights7 Lights7, *PLights7; - -struct Lights7 { - union Ambient a; - union Light l[7]; -}; - -typedef struct Lights5 Lights5, *PLights5; - -struct Lights5 { - union Ambient a; - union Light l[5]; -}; - -typedef struct Lights6 Lights6, *PLights6; - -struct Lights6 { - union Ambient a; - union Light l[6]; -}; - -typedef struct GsetothermodeL GsetothermodeL, *PGsetothermodeL; - -typedef union anon__struct_61_bitfield_1 anon__struct_61_bitfield_1, *Panon__struct_61_bitfield_1; - -typedef union anon__struct_61_bitfield_2 anon__struct_61_bitfield_2, *Panon__struct_61_bitfield_2; - -union anon__struct_61_bitfield_1 { - int cmd:8; // : bits 0-7 - int pad0:8; // : bits 8-15 - int sft:8; // : bits 16-23 - int len:8; // : bits 24-31 -}; - -union anon__struct_61_bitfield_2 { - uint data:32; // : bits 0-31 -}; - -struct GsetothermodeL { - union anon__struct_61_bitfield_1 field_0x0; - union anon__struct_61_bitfield_2 field_0x4; -}; - -typedef struct GsetothermodeH GsetothermodeH, *PGsetothermodeH; - -struct GsetothermodeH { - union anon__struct_62_bitfield_1 field_0x0; - union anon__struct_62_bitfield_2 field_0x4; -}; - -typedef struct Gloadtile Gloadtlut; - -typedef struct Gdma Gdma, *PGdma; - -struct Gdma { - union anon__struct_57_bitfield_1 field_0x0; - union anon__struct_57_bitfield_2 field_0x4; - uint addr; -}; - -typedef union anon__struct_65_bitfield_1 anon__struct_65_bitfield_1, *Panon__struct_65_bitfield_1; - -union anon__struct_65_bitfield_1 { - int cmd:8; // : bits 0-7 - int pad1:24; // : bits 8-31 -}; - -typedef struct Hilite_t Hilite_t, *PHilite_t; - -struct Hilite_t { - int x1; - int y1; - int x2; - int y2; -}; - -typedef struct Gpopmtx Gpopmtx, *PGpopmtx; - -struct Gpopmtx { - union anon__struct_59_bitfield_1 field_0x0; - union anon__struct_59_bitfield_2 field_0x4; - union anon__struct_59_bitfield_3 field_0x8; -}; - -typedef union Hilite Hilite, *PHilite; - -union Hilite { - struct Hilite_t h; - long force_alignmnet[4]; -}; - -typedef struct Gperspnorm Gperspnorm, *PGperspnorm; - -struct Gperspnorm { - union anon__struct_65_bitfield_1 field_0x0; - short pad2; - short scale; -}; - -#define G_LOADBLOCK 243 - -#define G_DMACMDSIZ 128 - -#define G_MWO_NUMLIGHT 0 - -#define G_TX_LOADTILE 7 - -#define G_CYC_FILL 3145728 - -#define G_IM_FMT_IA 3 - -#define G_TEXTURE_SCALE_FRAC 16 - -#define G_BL_CLR_MEM 1 - -#define G_MOVEMEM 3 - -#define G_CCMUX_K4 7 - -#define G_MWO_aLIGHT_5 128 - -#define G_CCMUX_K5 15 - -#define G_MWO_aLIGHT_4 96 - -#define G_MWO_aLIGHT_7 192 - -#define G_MWO_aLIGHT_6 160 - -#define G_MWO_aLIGHT_8 224 - -#define G_TRI_SHADE_ZBUFF 205 - -#define G_ACMUX_0 7 - -#define G_MDSFT_TEXTCONV 9 - -#define G_AD_NOTPATTERN 16 - -#define G_RM_NOOP2 0 - -#define G_ACMUX_1 6 - -#define G_IM_SIZ_4b 0 - -#define G_MDSFT_CYCLETYPE 20 - -#define G_SETSCISSOR 237 - -#define G_PM_1PRIMITIVE 8388608 - -#define ZMODE_XLU 2048 - -#define G_MWO_CLIP_RNY 12 - -#define ZMODE_DEC 3072 - -#define G_MWO_CLIP_RNX 4 - -#define G_MWO_MATRIX_YX_YY_I 8 - -#define G_MWO_aLIGHT_1 0 - -#define G_MTX_MODELVIEW 0 - -#define G_MWO_aLIGHT_3 64 - -#define G_MWO_aLIGHT_2 32 - -#define G_TP_PERSP 524288 - -#define G_TX_CLAMP 2 - -#define G_TT_IA16 49152 - -#define G_POPMTX -67 - -#define G_TX_NOMIRROR 0 - -#define G_CD_DISABLE 192 - -#define G_MWO_MATRIX_YX_YY_F 40 - -#define G_RDPTILESYNC 232 - -#define G_PM_NPRIMITIVE 0 - -#define G_CYC_2CYCLE 1048576 - -#define G_MDSFT_COMBKEY 8 - -#define G_IM_SIZ_16b_SHIFT 0 - -#define G_CULLDL -66 - -#define FR_POS_FRUSTRATIO_2 65534 - -#define FR_POS_FRUSTRATIO_3 65533 - -#define G_RDPPIPESYNC 231 - -#define FR_POS_FRUSTRATIO_1 65535 - -#define G_MDSFT_BLENDER 16 - -#define G_MWO_CLIP_RPY 28 - -#define G_MWO_CLIP_RPX 20 - -#define G_ACMUX_PRIMITIVE 3 - -#define G_CCMUX_CENTER 6 - -#define G_SETKEYR 235 - -#define G_CCMUX_COMBINED_ALPHA 7 - -#define G_IM_SIZ_8b_SHIFT 1 - -#define G_MWO_MATRIX_WZ_WW_F 60 - -#define G_MDSFT_TEXTLOD 16 - -#define G_CK_KEY 256 - -#define G_MWO_MATRIX_WZ_WW_I 28 - -#define FR_POS_FRUSTRATIO_6 65530 - -#define FR_POS_FRUSTRATIO_4 65532 - -#define FR_POS_FRUSTRATIO_5 65531 - -#define G_CD_MAGICSQ 0 - -#define G_IM_SIZ_32b_INCR 0 - -#define G_CCMUX_PRIM_LOD_FRAC 14 - -#define G_IMMFIRST -65 - -#define G_MDSFT_COLORDITHER 22 - -#define G_TEXRECT 228 - -#define G_BL_A_SHADE 2 - -#define G_IM_FMT_YUV 1 - -#define G_CK_NONE 0 - -#define G_MTX 1 - -#define G_IM_SIZ_8b 1 - -#define G_TC_CONV 0 - -#define G_MV_TXTATT 150 - -#define G_ACMUX_SHADE 4 - -#define G_MWO_MATRIX_XZ_XW_F 36 - -#define CVG_DST_SAVE 768 - -#define G_DL_PUSH 0 - -#define G_MWO_MATRIX_XZ_XW_I 4 - -#define G_TEXTURE_GEN 262144 - -#define G_RDPCMDSIZ 64 - -#define G_SETCONVERT 236 - -#define G_CCMUX_NOISE 7 - -#define G_CCMUX_ENV_ALPHA 12 - -#define G_AC_THRESHOLD 1 - -#define G_IM_FMT_I 4 - -#define BOWTIE_VAL 0 - -#define G_MTX_PROJECTION 1 - -#define FORCE_BL 16384 - -#define G_CLIPPING 8388608 - -#define G_MWO_POINT_RGBA 16 - -#define G_IM_SIZ_32b_LINE_BYTES 2 - -#define G_IM_SIZ_8b_LINE_BYTES 1 - -#define G_IM_SIZ_4b_LINE_BYTES 0 - -#define CVG_X_ALPHA 4096 - -#define G_TD_SHARPEN 131072 - -#define G_LIGHTING 131072 - -#define CVG_DST_WRAP 256 - -#define G_SHADE 4 - -#define G_MTX_PUSH 4 - -#define G_MAXZ 1023 - -#define G_RDP_TRI_FILL_MASK 8 - -#define G_SETGEOMETRYMODE -73 - -#define G_TRI_FILL_ZBUFF 201 - -#define G_IM_FMT_CI 2 - -#define G_IM_SIZ_8b_INCR 1 - -#define G_MWO_bLIGHT_3 68 - -#define G_MWO_bLIGHT_4 100 - -#define G_MWO_bLIGHT_1 4 - -#define G_TX_NOMASK 0 - -#define G_MWO_bLIGHT_2 36 - -#define G_MDSFT_TEXTLUT 14 - -#define G_IM_SIZ_8b_BYTES 1 - -#define G_SETCIMG 255 - -#define G_VTX 4 - -#define G_MWO_bLIGHT_7 196 - -#define G_MWO_bLIGHT_8 228 - -#define G_MWO_bLIGHT_5 132 - -#define G_MWO_bLIGHT_6 164 - -#define G_MDSFT_PIPELINE 23 - -#define G_RDPHALF_2 -77 - -#define G_CULL_BOTH 12288 - -#define G_CCMUX_0 31 - -#define G_TX_LDBLK_MAX_TXL 2047 - -#define G_CCMUX_1 6 - -#define G_RDPHALF_1 -76 - -#define G_SHADING_SMOOTH 512 - -#define G_CCMUX_SHADE 4 - -#define G_SPRITE2D 9 - -#define G_CCMUX_ENVIRONMENT 5 - -#define G_CULL_FRONT 4096 - -#define G_LOADTILE 244 - -#define G_FOG 65536 - -#define G_SETPRIMDEPTH 238 - -#define G_MV_LOOKATX 132 - -#define G_MV_LOOKATY 130 - -#define G_SC_NON_INTERLACE 0 - -#define G_MDSFT_BLENDMASK 0 - -#define G_MW_FOG 8 - -#define G_CD_ENABLE 128 - -#define G_TEXTURE_ENABLE 2 - -#define G_MDSFT_RENDERMODE 3 - -#define G_MWO_MATRIX_ZZ_ZW_I 20 - -#define G_MWO_MATRIX_ZZ_ZW_F 52 - -#define G_BL_1MA 0 - -#define G_SPNOOP 0 - -#define G_TF_BILERP 8192 - -#define G_SETZIMG 254 - -#define G_MV_VIEWPORT 128 - -#define G_NOOP 192 - -#define Z_UPD 32 - -#define G_ENDDL -72 - -#define G_ROTATE_FRAC 16 - -#define G_SETTILESIZE 242 - -#define G_RM_NOOP 0 - -#define G_RESERVED2 7 - -#define G_TD_DETAIL 262144 - -#define G_RESERVED3 8 - -#define G_RESERVED0 2 - -#define G_RESERVED1 5 - -#define G_CLEARGEOMETRYMODE -74 - -#define G_BL_A_FOG 1 - -#define G_BL_CLR_FOG 3 - -#define G_MW_SEGMENT 6 - -#define Z_CMP 16 - -#define AA_EN 8 - -#define G_LOADTLUT 240 - -#define NUMLIGHTS_5 5 - -#define NUMLIGHTS_4 4 - -#define NUMLIGHTS_7 7 - -#define NUMLIGHTS_6 6 - -#define G_MWO_MATRIX_YZ_YW_F 44 - -#define NUMLIGHTS_1 1 - -#define NUMLIGHTS_0 1 - -#define NUMLIGHTS_3 3 - -#define G_MWO_MATRIX_YZ_YW_I 12 - -#define NUMLIGHTS_2 2 - -#define G_SETOTHERMODE_H.conflict 186 - -#define G_SETFILLCOLOR 247 - -#define G_DL 6 - -#define G_BL_CLR_BL 2 - -#define G_CYC_COPY 2097152 - -#define G_MWO_SEGMENT_A 10 - -#define CLR_ON_CVG 128 - -#define G_RDP_ADDR_FIXUP 3 - -#define G_SETFOGCOLOR 248 - -#define G_MWO_SEGMENT_8 8 - -#define G_MWO_SEGMENT_9 9 - -#define G_MWO_SEGMENT_6 6 - -#define G_MWO_SEGMENT_7 7 - -#define G_MWO_SEGMENT_4 4 - -#define G_MWO_SEGMENT_5 5 - -#define G_MWO_SEGMENT_2 2 - -#define G_MWO_SEGMENT_3 3 - -#define G_MWO_SEGMENT_0 0 - -#define G_IMMCMDSIZ 64 - -#define G_MWO_SEGMENT_1 1 - -#define G_ACMUX_LOD_FRACTION 0 - -#define G_IM_SIZ_16b_TILE_BYTES 2 - -#define G_ACMUX_COMBINED 0 - -#define G_TL_TILE 0 - -#define G_MDSFT_TEXTPERSP 19 - -#define G_ACMUX_ENVIRONMENT 5 - -#define G_IM_SIZ_8b_TILE_BYTES 1 - -#define G_MWO_MATRIX_WX_WY_I 24 - -#define G_ACMUX_TEXEL1 2 - -#define G_SC_EVEN_INTERLACE 2 - -#define G_MDSFT_TEXTFILT 12 - -#define G_IM_SIZ_16b 2 - -#define LIGHT_6 6 - -#define LIGHT_5 5 - -#define G_TL_LOD 65536 - -#define LIGHT_8 8 - -#define LIGHT_7 7 - -#define LIGHT_2 2 - -#define LIGHT_1 1 - -#define G_IM_SIZ_4b_TILE_BYTES 0 - -#define LIGHT_4 4 - -#define G_MWO_SEGMENT_F 15 - -#define G_ACMUX_TEXEL0 1 - -#define G_MW_CLIP 4 - -#define LIGHT_3 3 - -#define G_MWO_SEGMENT_D 13 - -#define G_SCALE_FRAC 8 - -#define G_MWO_SEGMENT_E 14 - -#define G_MWO_SEGMENT_B 11 - -#define G_IM_SIZ_32b_TILE_BYTES 2 - -#define G_TT_NONE 0 - -#define G_MWO_SEGMENT_C 12 - -#define G_AD_PATTERN 0 - -#define G_TX_RENDERTILE 0 - -#define G_IM_SIZ_8b_LOAD_BLOCK 2 - -#define G_SC_ODD_INTERLACE 3 - -#define G_IM_SIZ_4b_LOAD_BLOCK 2 - -#define G_CD_NOISE 128 - -#define G_TRI_FILL 200 - -#define G_FILLRECT 246 - -#define G_SETPRIMCOLOR 250 - -#define G_TEXRECTFLIP 229 - -#define G_MWO_MATRIX_WX_WY_F 56 - -#define G_MDSFT_ZSRCSEL 2 - -#define G_RDPSETOTHERMODE 239 - -#define G_IM_SIZ_16b_LINE_BYTES 2 - -#define G_TRI_SHADE_TXTR_ZBUFF 207 - -#define G_TF_POINT 0 - -#define G_CCMUX_SCALE 6 - -#define G_MWO_MATRIX_ZX_ZY_I 16 - -#define TEX_EDGE 0 - -#define G_MOVEWORD -68 - -#define G_RM_PASS 201850880 - -#define G_MAXFBZ 16383 - -#define CVG_DST_CLAMP 0 - -#define G_RDPFULLSYNC 233 - -#define G_DL_NOPUSH 1 - -#define G_CCMUX_COMBINED 0 - -#define G_TX_WRAP 0 - -#define G_MWO_POINT_ST 20 - -#define G_TRI_TXTR_ZBUFF 203 - -#define G_TRI1 -65 - -#define ZMODE_INTER 1024 - -#define G_SETOTHERMODE_L.conflict 185 - -#define G_MDSFT_ALPHACOMPARE 0 - -#define G_IM_SIZ_32b_SHIFT 0 - -#define G_AC_DITHER 3 - -#define G_TC_FILTCONV 2560 - -#define G_MTX_LOAD 2 - -#define G_CCMUX_PRIMITIVE 3 - -#define G_MW_LIGHTCOL 10 - -#define G_MW_POINTS 12 - -#define G_TC_FILT 3072 - -#define G_IM_SIZ_4b_INCR 3 - -#define G_MDSFT_ALPHADITHER 4 - -#define G_CCMUX_SHADE_ALPHA 11 - -#define ZMODE_OPA 0 - -#define G_BL_A_MEM 1 - -#define G_MWO_MATRIX_ZX_ZY_F 48 - -#define G_TP_NONE 0 - -#define G_SETOTHERMODE_H -70 - -#define FR_NEG_FRUSTRATIO_6 6 - -#define G_RDP_TRI_TXTR_MASK 2 - -#define FR_NEG_FRUSTRATIO_5 5 - -#define G_SETOTHERMODE_L -71 - -#define FR_NEG_FRUSTRATIO_4 4 - -#define FR_NEG_FRUSTRATIO_3 3 - -#define FR_NEG_FRUSTRATIO_2 2 - -#define FR_NEG_FRUSTRATIO_1 1 - -#define G_MWO_MATRIX_XX_XY_I 0 - -#define G_TX_DXT_FRAC 11 - -#define G_TT_RGBA16 32768 - -#define G_ZS_PIXEL 0 - -#define G_MW_MATRIX 0 - -#define G_CCMUX_PRIMITIVE_ALPHA 10 - -#define G_LOD 1048576 - -#define G_TRI_SHADE 204 - -#define G_MV_L5 144 - -#define G_CYC_1CYCLE 0 - -#define G_MV_L4 142 - -#define G_MV_L3 140 - -#define G_SETCOMBINE 252 - -#define G_MV_L2 138 - -#define G_IM_SIZ_16b_LOAD_BLOCK 2 - -#define G_MV_L7 148 - -#define G_MV_L6 146 - -#define G_CCMUX_LOD_FRACTION 13 - -#define G_RDP_TRI_ZBUFF_MASK 1 - -#define G_TEXTURE -69 - -#define G_TEXTURE_IMAGE_FRAC 2 - -#define G_MW_NUMLIGHT 2 - -#define G_TD_CLAMP 0 - -#define G_MDSFT_TEXTDETAIL 17 - -#define G_IM_FMT_RGBA 0 - -#define G_SETTILE 245 - -#define G_CCMUX_TEXEL1_ALPHA 9 - -#define G_BL_A_IN 0 - -#define G_MV_L1 136 - -#define G_MV_L0 134 - -#define G_IM_SIZ_32b 3 - -#define G_AD_DISABLE 48 - -#define G_IM_SIZ_4b_BYTES 0 - -#define IM_RD 64 - -#define G_IM_SIZ_16b_BYTES 2 - -#define G_CCMUX_TEXEL1 2 - -#define G_CCMUX_TEXEL0 1 - -#define G_BL_CLR_IN 0 - -#define G_CD_BAYER 64 - -#define G_SETENVCOLOR 251 - -#define G_MV_MATRIX_4 156 - -#define G_MWO_POINT_ZSCREEN 28 - -#define G_RDPLOADSYNC 230 - -#define G_ZS_PRIM 4 - -#define G_MDSFT_RGBDITHER 6 - -#define G_RDPHALF_CONT -78 - -#define G_RM_FOG_SHADE_A 3355443200 - -#define G_AC_NONE 0 - -#define G_IM_SIZ_4b_SHIFT 2 - -#define G_MV_MATRIX_3 154 - -#define G_TF_AVERAGE 12288 - -#define G_MV_MATRIX_2 152 - -#define G_MV_MATRIX_1 158 - -#define G_CCMUX_TEXEL0_ALPHA 8 - -#define G_TX_NOLOD 0 - -#define G_MW_PERSPNORM 14 - -#define G_SETKEYGB 234 - -#define G_IM_SIZ_32b_LOAD_BLOCK 3 - -#define G_SETBLENDCOLOR 249 - -#define G_SETTIMG 253 - -#define G_CV_K2 -89 - -#define G_CV_K1 -43 - -#define G_CV_K0 175 - -#define G_RM_FOG_PRIM_A 3288334336 - -#define G_BL_0 3 - -#define G_TRI_SHADE_TXTR 206 - -#define G_LINE3D -75 - -#define G_BL_1 2 - -#define G_TEXTURE_GEN_LINEAR 524288 - -#define G_CV_K5 42 - -#define G_TX_MIRROR 1 - -#define G_CV_K4 114 - -#define G_CV_K3 222 - -#define G_RDP_TRI_SHADE_MASK 4 - -#define G_IM_SIZ_16b_INCR 0 - -#define G_TRI_TXTR 202 - -#define ALPHA_CVG_SEL 8192 - -#define CVG_DST_FULL 512 - -#define G_CULL_BACK 8192 - -#define G_MTX_NOPUSH 0 - -#define G_MTX_MUL 0 - -#define G_IM_SIZ_32b_BYTES 4 - -#define G_AD_NOISE 32 - -#define G_IM_SIZ_DD 5 - -#define G_ACMUX_PRIM_LOD_FRAC 6 - -#define G_MWO_FOG 0 - -#define G_MWO_POINT_XYSCREEN 24 - -#define G_MWO_MATRIX_XX_XY_F 32 - -#define G_ZBUFFER 1 - -typedef ulong size_t; - -typedef struct exception exception, *Pexception; - -struct exception { - int anonymous_0; - int anonymous_1; - void * error; -}; - -typedef struct c_itementry c_itementry, *Pc_itementry; - -typedef struct object_header object_header, *Pobject_header; - -typedef struct object_standard object_standard, *Pobject_standard; - -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 c_itementry { - struct object_header * header; - void * filename; - float anonymous_1; - float anonymous_2; - int anonymous_3; -}; - -struct object_header { - int offset_obj_table; - struct object_standard * ptr_archetype; - int offset_obj_offset_block; - short num_offset_entries; - short num_object_grps; - float anonymous_4; - short num_table_entries; - short num_image_entries; - int offset_img_declaration; - int is_loaded_in_mem; -}; - -typedef struct $732F89B2624665A943E52F38E86E4CBC $732F89B2624665A943E52F38E86E4CBC, *P$732F89B2624665A943E52F38E86E4CBC; - -struct $732F89B2624665A943E52F38E86E4CBC { -}; - -typedef struct fileentry fileentry, *Pfileentry; - -struct fileentry { - s32 index; - string * filename; - s32 hw_address; -}; - -typedef enum KSEG { -} KSEG; - -typedef struct $B84834CAACFDCE10B1334219ADA11FDA $B84834CAACFDCE10B1334219ADA11FDA, *P$B84834CAACFDCE10B1334219ADA11FDA; - -typedef struct $B84834CAACFDCE10B1334219ADA11FDA ALGlobals; - -typedef struct ALSynth ALSynth, *PALSynth; - -typedef struct ALPlayer_s ALPlayer_s, *PALPlayer_s; - -typedef struct ALPlayer_s ALPlayer; - -typedef ALDMAproc (* ALDMANew)(void *); - -typedef struct ALHeap ALHeap, *PALHeap; - -typedef s32 ALMicroTime; - -typedef ALMicroTime (* ALVoiceHandler)(void *); - -struct ALSynth { - ALPlayer * head; - ALLink pFreeList; - ALLink pAllocList; - ALLink pLameList; - s32 paramSamples; - s32 curSamples; - ALDMANew dma; - struct ALHeap * heap; - struct ALParam_s * paramList; - struct ALMainBus_s * mainBus; - struct ALAuxBus_s * auxBus; - struct ALFilter_s * outputFilter; - s32 numPVoices; - s32 maxAuxBusses; - s32 outputRate; - s32 maxOutSamples; -}; - -struct $B84834CAACFDCE10B1334219ADA11FDA { - struct ALSynth drvr; -}; - -struct ALHeap { - u8 * base; - u8 * cur; - s32 len; - s32 count; -}; - -struct ALPlayer_s { - struct ALPlayer_s * next; - void * clientData; - ALVoiceHandler handler; - ALMicroTime callTime; - s32 samplesLeft; -}; - -typedef struct p_itementry p_itementry, *Pp_itementry; - -typedef struct PitemZ_header PitemZ_header, *PPitemZ_header; - -typedef struct item_related item_related, *Pitem_related; - -struct item_related { - short num_entries_in_block; - short field_2; - struct prop_pos_data * ptr_block; - short total_cmd_indexval; - short field_A; -}; - -struct PitemZ_header { - int microcode_entry_num; - struct item_related * anonymous_1; - short anonymous_2; - short field_E; - float drawdistance; - float anonymous_4; - int anonymous_5; - int anonymous_6; - int anonymous_7; -}; - -struct p_itementry { - struct PitemZ_header * header; - void * filename; - float scale; -}; - -typedef struct lightfixture lightfixture, *Plightfixture; - -struct lightfixture { - short index; - short RESERVED; - union Gfx * ptr_start_pertinent_DL; - int ptr_end_pertinent_DL; -}; - -typedef struct weapon_firing_animation_table weapon_firing_animation_table, *Pweapon_firing_animation_table; - -struct weapon_firing_animation_table { - s32 anonymous_0; - f32 anonymous_1; - f32 anonymous_2; - f32 anonymous_3; - f32 anonymous_4; - f32 anonymous_5; - f32 anonymous_6; - f32 anonymous_7; - f32 anonymous_8; - f32 anonymous_9; - f32 anonymous_10; - f32 anonymous_11; - f32 anonymous_12; - f32 anonymous_13; - f32 anonymous_14; - f32 anonymous_15; - f32 anonymous_16; - f32 anonymous_17; -}; - -typedef struct Gitemheader Gitemheader, *PGitemheader; - -typedef struct model_data model_data, *Pmodel_data; - -struct Gitemheader { - int offset_objtable; - struct model_data * guntype_modeldata; - int offset_objblock; - short num05soffset_entries; - short num_objgroups; - float drawdistance; - u16 num_entries; - u16 num_images; - int offset_imgdecl; - u32 isloaded; -}; - -struct model_data { - u32 anonymous_0; - struct prop_pos_data * anonymous_1; - u32 anonymous_2; -}; - -typedef struct mp_weaponset_weapon mp_weaponset_weapon, *Pmp_weaponset_weapon; - -struct mp_weaponset_weapon { - int anonymous_0; - int anonymous_1; - float anonymous_2; - int anonymous_3; - int anonymous_4; - int anonymous_5; -}; - -typedef struct ramrom_struct ramrom_struct, *Pramrom_struct; - -typedef struct ramrom_entry ramrom_entry, *Pramrom_entry; - -struct ramrom_entry { - int ROMaddress; - int is_locked; -}; - -struct ramrom_struct { - struct ramrom_entry dam1; - struct ramrom_entry dam2; - struct ramrom_entry facility1; - struct ramrom_entry facility2; - struct ramrom_entry facility3; - struct ramrom_entry runway1; - struct ramrom_entry runway2; - struct ramrom_entry bunker1_1; - struct ramrom_entry bunker1_2; - struct ramrom_entry silo1; - struct ramrom_entry silo2; - struct ramrom_entry frigate1; - struct ramrom_entry frigate2; - struct ramrom_entry train; - struct ramrom_entry null; -}; - -typedef struct $9574A80C820E0B95666ECD0A99E160BE $9574A80C820E0B95666ECD0A99E160BE, *P$9574A80C820E0B95666ECD0A99E160BE; - -typedef struct $9574A80C820E0B95666ECD0A99E160BE ALSeqData; - -struct $9574A80C820E0B95666ECD0A99E160BE { - u8 * offset; -}; - -typedef struct mp_stage_playercount mp_stage_playercount, *Pmp_stage_playercount; - -struct mp_stage_playercount { - short stage; - char min; - char max; -}; - -typedef struct music_setup music_setup, *Pmusic_setup; - -struct music_setup { - short stage_id; - short main_music; - short bg_sound; - short xtrack; -}; - -typedef struct MP_game_length_settings MP_game_length_settings, *PMP_game_length_settings; - -struct MP_game_length_settings { - u16 text_preset; - u16 padding; - int time; - int points; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/ALVoiceHandler - /libaudio.h/ALVoiceHandler - -typedef struct memoryallocation memoryallocation, *Pmemoryallocation; - -struct memoryallocation { - int number; - void * string; -}; - -typedef struct $62F109188EB304B8EC258AA93B51CC96 $62F109188EB304B8EC258AA93B51CC96, *P$62F109188EB304B8EC258AA93B51CC96; - -struct $62F109188EB304B8EC258AA93B51CC96 { -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/rgba_val - /bondgame.h/rgba_val - - -// WARNING! conflicting data type names: /GE Current Master.h/LEVEL_SOLO_SEQUENCE - /bondgame.h/LEVEL_SOLO_SEQUENCE - -typedef struct mcm_layout mcm_layout, *Pmcm_layout; - -struct mcm_layout { - int xpos; - int ypos; -}; - -typedef struct GUARDdata GUARDdata, *PGUARDdata; - -struct GUARDdata { - u16 chrnum; - char accuracyrating; - char speedrating; - char firecount.left; - char firecount.right; - char headnum; - enum guard_action_type actiontype; - char sleep; - char invalidmove; - char numclosearghs; - char numarghs; - char fadealpha; - char field_D; - char field_E; - char bodynum; - char beligerancy; - char field_11; - short special_bitflags; - int guard_bitflags; - int POSdata_pointer; - int MODELdata_pointer; - int pertains_to_action61; - f32 chrwidth; - int chrheight; - int bond_position; - int field_30; - short field_34; - char field_36; - char field_37; - char field_38; - char field_39; - char field_3A; - char field_3B; - int path_target_position; - int field_40; - int field_44; - int field_48; - int field_4C; - int field_50; - int field_54; - char type_of_motion; - char distance_counter_or_something; - short distance_to_target; - int field_5C; - int target_position; - int field_64; - int field_68; - int field_6C; - int path_segment_coverage; - int path_segment_length; - int field_78; - int field_7C; - int field_80; - int field_84; - int field_88; - int field_8C; - int field_90; - int segment_coverage; - int segment_length; - int field_9C; - int field_A0; - float field_A4; - float field_A8; - float clipping_height; - float field_B0; - float field_B4; - float field_B8; - struct xyzpoint prevpos; - int field_C8; - int field_CC; - float reaction_time; - int last_bond_detection_time; - float field_D8; - float field_DC; - float field_E0; - int lastshooter; - int timeshooter; - float hearingscale; - int field_F0; - char field_F4; - char field_F5; - char field_F6; - char field_F7; - char field_F8; - char field_F9; - char field_FA; - char field_FB; - int damage; - f32 maxdamage; - int action_block_pointer; - short action_block_offset; - short action_block_return; - char userbyte1; - char userbyte2; - char guardtype_bitflags_scientist; - char randomvalue; - int loopcounter; - short preset_of_2328_object_to_interact_with; - short FC_target; - short FA_target; - short FB_target; - int field_11C; - int field_120; - int field_124; - int field_128; - int field_12C; - int field_130; - int field_134; - int field_138; - float field_13C; - float field_140; - float field_144; - float field_148; - float field_14C; - int field_150; - int field_154; - int field_158; - int field_15C; - int handle_positiondata[2]; - int ptr_SEbuffer1; - int ptr_SEbuffer2; - int ptr_SEbuffer3; - int ptr_SEbuffer4; - int field_178; - int field_17C; - char field_180; - char field_181; - char field_182; - char field_183; - int field_184; - int field_188; - int field_18C; - int field_190; - int field_194; - int field_198; - int field_19C; - int field_1A0; - int field_1A4; - int field_1A8; - char field_1AC; - char field_1AD; - char field_1AE; - char field_1AF; - int field_1B0; - int field_1B4; - int field_1B8; - int field_1BC; - int field_1C0; - int field_1C4; - int field_1C8; - int field_1CC; - int field_1D0; - int field_1D4; - int handle_positiondata_hat; -}; - -typedef struct intro_animation intro_animation, *Pintro_animation; - -struct intro_animation { - enum ANIMATIONS animID; - float startframeoffset; - float playback_speed; - int camera_preset; -}; - -typedef struct $4BEAA6302150DFF77A6D6B5C2F812979 $4BEAA6302150DFF77A6D6B5C2F812979, *P$4BEAA6302150DFF77A6D6B5C2F812979; - -struct $4BEAA6302150DFF77A6D6B5C2F812979 { - float col[3]; - float pos[3]; - float a1; - float a2; -}; - -typedef struct playerperm playerperm, *Pplayerperm; - -struct playerperm { - int shotcount[7]; - int killcount; - int ggkillcount; - int kills[4]; - int drawplayercount; - float distance; - int backshotcount; - float armourcount; - int fastest2kills; - int slowest2kills; - int longestlife; - s32 shortestlife; - int most_killed_one_life; - int most_killed_one_time; - float handicap; - int flag_counter; - float player_perspective_height; - char order_out_in_yolt; - char have_token_or_goldengun; - char autoaim; - char sight; - int killed_civilians; -}; - -typedef struct $B24B31290AB3F51AC02030577BB60BEE $B24B31290AB3F51AC02030577BB60BEE, *P$B24B31290AB3F51AC02030577BB60BEE; - -struct $B24B31290AB3F51AC02030577BB60BEE { -}; - -typedef struct $1D3114E51680E29F8350BFE921C29711 $1D3114E51680E29F8350BFE921C29711, *P$1D3114E51680E29F8350BFE921C29711; - -typedef struct $1D3114E51680E29F8350BFE921C29711 ALKeyMap; - -struct $1D3114E51680E29F8350BFE921C29711 { - u8 velocityMin; - u8 velocityMax; - u8 keyMin; - u8 keyMax; - u8 keyBase; - s8 detune; -}; - -typedef struct enviroment_struct enviroment_struct, *Penviroment_struct; - -struct enviroment_struct { - int index; - float anonymous_0; - float anonymous_1; - float anonymous_2; - float anonymous_3; - float anonymous_4; - int anonymous_5; - int anonymous_6; - int anonymous_7; - int anonymous_8; - int anonymous_9; - float anonymous_10; - int anonymous_11; - float anonymous_12; - float anonymous_13; - float anonymous_14; - int anonymous_15; - float anonymous_16; - int anonymous_17; - int anonymous_18; - float anonymous_19; - float anonymous_20; - float anonymous_21; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/BODIES - /bondgame.h/BODIES - -typedef struct $2903A050EBC6442F98207E1AE6ED2D96 $2903A050EBC6442F98207E1AE6ED2D96, *P$2903A050EBC6442F98207E1AE6ED2D96; - -typedef struct $2903A050EBC6442F98207E1AE6ED2D96 ALSndPlayer; - -typedef struct ALEventQueue ALEventQueue, *PALEventQueue; - -typedef struct ALEvent ALEvent, *PALEvent; - -typedef union _union_144 _union_144, *P_union_144; - -typedef struct ALMIDIEvent ALMIDIEvent, *PALMIDIEvent; - -typedef struct ALTempoEvent ALTempoEvent, *PALTempoEvent; - -typedef struct ALEndEvent ALEndEvent, *PALEndEvent; - -typedef struct ALNoteEvent ALNoteEvent, *PALNoteEvent; - -typedef struct ALVolumeEvent ALVolumeEvent, *PALVolumeEvent; - -typedef struct ALSeqpLoopEvent ALSeqpLoopEvent, *PALSeqpLoopEvent; - -typedef struct ALSeqpVolEvent ALSeqpVolEvent, *PALSeqpVolEvent; - -typedef struct ALSeqpPriorityEvent ALSeqpPriorityEvent, *PALSeqpPriorityEvent; - -typedef struct ALSeqpSeqEvent ALSeqpSeqEvent, *PALSeqpSeqEvent; - -typedef struct ALSeqpBankEvent ALSeqpBankEvent, *PALSeqpBankEvent; - -typedef struct ALOscEvent ALOscEvent, *PALOscEvent; - -typedef struct ALSeqMarker ALSeqMarker, *PALSeqMarker; - -typedef struct ALBank_s ALBank_s, *PALBank_s; - -typedef struct ALBank_s ALBank; - -typedef struct ALVoiceState_s ALVoiceState_s, *PALVoiceState_s; - -typedef struct ALInstrument ALInstrument, *PALInstrument; - -typedef struct ALVoice_s ALVoice; - -typedef struct ALSound_s ALSound_s, *PALSound_s; - -typedef struct ALSound_s ALSound; - -typedef struct ALEnvelope ALEnvelope, *PALEnvelope; - - -// WARNING! conflicting data type names: /libaudio.h/ALKeyMap - /GE Current Master.h/ALKeyMap - -struct ALSeqpSeqEvent { - void * seq; -}; - -struct ALVolumeEvent { - struct ALVoice_s * voice; - ALMicroTime delta; - u8 vol; -}; - -struct ALSeqpPriorityEvent { - u8 chan; - u8 priority; -}; - -struct ALSeqpBankEvent { - ALBank * bank; -}; - -struct ALMIDIEvent { - s32 ticks; - u8 status; - u8 byte1; - u8 byte2; - u32 duration; -}; - -struct ALOscEvent { - struct ALVoiceState_s * vs; - void * oscState; - u8 chan; -}; - -struct ALTempoEvent { - s32 ticks; - u8 status; - u8 type; - u8 len; - u8 byte1; - u8 byte2; - u8 byte3; -}; - -struct ALSeqpLoopEvent { - struct ALSeqMarker * start; - struct ALSeqMarker * end; - s32 count; -}; - -struct ALNoteEvent { - struct ALVoice_s * voice; -}; - -struct ALEndEvent { - s32 ticks; - u8 status; - u8 type; - u8 len; -}; - -struct ALSeqpVolEvent { - s16 vol; -}; - -union _union_144 { - struct ALMIDIEvent midi; - struct ALTempoEvent tempo; - struct ALEndEvent end; - struct ALNoteEvent note; - struct ALVolumeEvent vol; - struct ALSeqpLoopEvent loop; - struct ALSeqpVolEvent spvol; - struct ALSeqpPriorityEvent sppriority; - struct ALSeqpSeqEvent spseq; - struct ALSeqpBankEvent spbank; - struct ALOscEvent osc; -}; - -struct ALEvent { - s16 type; - union _union_144 msg; -}; - -struct ALBank_s { - s16 instCount; - u8 flags; - u8 pad; - s32 sampleRate; - struct ALInstrument * percussion; - struct ALInstrument * instArray[1]; -}; - -struct ALInstrument { - u8 volume; - ALPan pan; - u8 priority; - u8 flags; - u8 tremType; - u8 tremRate; - u8 tremDepth; - u8 tremDelay; - u8 vibType; - u8 vibRate; - u8 vibDepth; - u8 vibDelay; - s16 bendRange; - s16 soundCount; - ALSound * soundArray[1]; -}; - -struct ALEventQueue { - ALLink freeList; - ALLink allocList; - s32 eventCount; -}; - -struct ALVoiceState_s { - struct ALVoiceState_s * next; - ALVoice voice; - ALSound * sound; - ALMicroTime envEndTime; - f32 pitch; - f32 vibrato; - u8 envGain; - u8 channel; - u8 key; - u8 velocity; - u8 envPhase; - u8 phase; - u8 tremelo; - u8 flags; -}; - -struct ALEnvelope { - ALMicroTime attackTime; - ALMicroTime decayTime; - ALMicroTime releaseTime; - u8 attackVolume; - u8 decayVolume; -}; - -struct ALSound_s { - struct ALEnvelope * envelope; - struct ALKeyMap * keyMap; - ALWaveTable * wavetable; - ALPan samplePan; - u8 sampleVolume; - u8 flags; -}; - -struct ALSeqMarker { - u8 * curPtr; - s32 lastTicks; - s32 curTicks; - s16 lastStatus; -}; - -struct $2903A050EBC6442F98207E1AE6ED2D96 { - ALPlayer node; - struct ALEventQueue evtq; - struct ALEvent nextEvent; - struct ALSynth * drvr; - void * sndState; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/PROJECTILES - /bondgame.h/PROJECTILES - -typedef struct solo_target_times solo_target_times, *Psolo_target_times; - -struct solo_target_times { - short agent_time; - short secret_agent_time; - short OO_agent_time; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/video_settings - /video.h/video_settings - - -// WARNING! conflicting data type names: /GE Current Master.h/LEVEL_INDEX - /bondgame.h/LEVEL_INDEX - -typedef struct ejected_cart ejected_cart, *Pejected_cart; - -struct ejected_cart { - struct Gitemheader * header; - u8 * text; -}; - -typedef struct mission_folder_setup mission_folder_setup, *Pmission_folder_setup; - -struct mission_folder_setup { - void * string_ptr; - short folder_text_preset; - short icon_text_preset; - int stage_id; - int unknown; - int type; - int mission_num; - void * briefing_name_ptr; -}; - -typedef struct MP_selectable_chars MP_selectable_chars, *PMP_selectable_chars; - - -// WARNING! conflicting data type names: /GE Current Master.h/HEADS - /bondgame.h/HEADS - -struct MP_selectable_chars { - short text_preset; - char gender; - char select_photo; - short body; - enum HEADS head; - f32 pov; -}; - -typedef struct $DD54060F307CC511C1231C522D614BD1 $DD54060F307CC511C1231C522D614BD1, *P$DD54060F307CC511C1231C522D614BD1; - -struct $DD54060F307CC511C1231C522D614BD1 { - uchar * base; - int fmt; - int siz; - int xsize; - int ysize; - int lsize; - int addr; - int w; - int h; - int s; - int t; -}; - -typedef struct explosion_death_animation explosion_death_animation, *Pexplosion_death_animation; - -struct explosion_death_animation { - int anonymous_0; - int anonymous_1; - float anonymous_2; - float anonymous_3; - float anonymous_4; - float anonymous_5; - float anonymous_6; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/ALDMAproc - /libaudio.h/ALDMAproc - -typedef struct $5B527B901AC7720CA636E505FD36A43E $5B527B901AC7720CA636E505FD36A43E, *P$5B527B901AC7720CA636E505FD36A43E; - -typedef struct $5B527B901AC7720CA636E505FD36A43E ALCSeqMarker; - -struct $5B527B901AC7720CA636E505FD36A43E { - u8 * curLoc[16]; - u8 * curBUPtr[16]; - u8 curBULen[16]; - u8 lastStatus[16]; -}; - -typedef struct MP_sight_aim_settings MP_sight_aim_settings, *PMP_sight_aim_settings; - -struct MP_sight_aim_settings { - char anonymous_0; - char field_1; - char sight; - char autoaim; -}; - -typedef struct $4131C7287544E0031FFD60902D16EE66 $4131C7287544E0031FFD60902D16EE66, *P$4131C7287544E0031FFD60902D16EE66; - -struct $4131C7287544E0031FFD60902D16EE66 { -}; - -typedef struct mp_weapon_set_text_entry mp_weapon_set_text_entry, *Pmp_weapon_set_text_entry; - -struct mp_weapon_set_text_entry { - char anonymous_0; - char field_1; - char field_2; - char field_3; - struct mp_weaponset_weapon * entries; -}; - -typedef struct room_index room_index, *Proom_index; - -struct room_index { - short bitflags; - char model_bin_loaded; - char bitflags2; - void * ptr_point_index; - void * ptr_expanded_mapping_info; - void * ptr_secondary_expanded_mapping_info; - int csize_point_index_binary; - int csize_primary_DL_binary; - int csize_secondary_DL_binary; - int usize_point_index_binary; - int usize_primary_DL_binary; - int usize_secondary_DL_binary; - int cur_room_totalsize; - void * ptr_unique_collision_points; - int bitflags3; - char room_loaded_mask; - char field_35; - short field_36; - float minxbounds; - float minybounds; - float minzbounds; - float maxxbounds; - float maxybounds; - float maxzbounds; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/vu32 - /types.h/vu32 - -typedef struct weapon_stats weapon_stats, *Pweapon_stats; - -struct weapon_stats { - float field_0; - struct xyzpoint position; - float field_0x10; - float field_0x14; - float field_0x18; - enum AMMOTYPES ammotype; - short mag_size; - short time_between_shots; - char objects_shoot_through; - char field_25; - short sound; - struct Gitemheader * ptr_cartridge_struct; - float destruction_amount; - float inaccuracy; - float zoom; - float field_0x38; - float field_0x3c; - float sway; - int recoilspeed; - float recoil_back; - float recoil_up; - float bolt_recoil_back; - float loudness; - float loudness2; - float field_0x5c; - float field_0x60; - float field_0x64; - int field_68; - int bitflags; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/ALDMANew - /libaudio.h/ALDMANew - - -// WARNING! conflicting data type names: /GE Current Master.h/RamRomBuffer - /ramrom.h/RamRomBuffer - -typedef struct resource_lookup_data resource_lookup_data, *Presource_lookup_data; - -struct resource_lookup_data { - int ROM_filesize; - int temp_copy_remaining; - int temp_filesize_PC_file; - int remaining_buf_size; - char membank_loaded_to; - char field_11; - short RESERVED; -}; - -typedef struct $9B76E6653943F067895E1B40895EE2D1 $9B76E6653943F067895E1B40895EE2D1, *P$9B76E6653943F067895E1B40895EE2D1; - -struct $9B76E6653943F067895E1B40895EE2D1 { - struct ALADPCMloop * loop; - struct ALADPCMBook * book; -}; - -typedef struct MP_controller_configuration_menu MP_controller_configuration_menu, *PMP_controller_configuration_menu; - -struct MP_controller_configuration_menu { - char anonymous_0; - char field_1; - char field_2; - char field_3; -}; - -typedef struct intro_char intro_char, *Pintro_char; - -struct intro_char { - int body; - int head; - short text1; - short text2; - short text3; - short RESERVED; - int flag; -}; - -typedef struct $4FA29701263D2EF277B845E0B6B9C553 $4FA29701263D2EF277B845E0B6B9C553, *P$4FA29701263D2EF277B845E0B6B9C553; - -struct $4FA29701263D2EF277B845E0B6B9C553 { - short type; - char misc[30]; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/ALEnvelope - /libaudio.h/ALEnvelope - -typedef struct TLB_manager_table TLB_manager_table, *PTLB_manager_table; - -typedef struct TLB_manager_table_entry TLB_manager_table_entry, *PTLB_manager_table_entry; - -struct TLB_manager_table_entry { - int context_value; - int pagenum; - longlong reserved; -}; - -struct TLB_manager_table { - struct TLB_manager_table_entry entry[128]; -}; - -typedef struct $732F89B2624665A943E52F38E86E4CBC OSLogFileHdr; - -typedef struct image_entry image_entry, *Pimage_entry; - -struct image_entry { - char flag1; - char flag2; - short size; - char flag3; - char flag4; - char flag5; - char flag6; -}; - -typedef struct tile_rgb tile_rgb, *Ptile_rgb; - -struct tile_rgb { - u8 red; - u8 green; - u8 blue; -}; - -typedef enum BODY_MODELS { - BODY_MODELS_0=0, - BODY_MODELS_1=1, - BODY_MODELS_10=16, - BODY_MODELS_11=17, - BODY_MODELS_12=18, - BODY_MODELS_13=19, - BODY_MODELS_14=20, - BODY_MODELS_15=21, - BODY_MODELS_17=23, - BODY_MODELS_18=24, - BODY_MODELS_1A=26, - BODY_MODELS_1B=27, - BODY_MODELS_1C=28, - BODY_MODELS_1D=29, - BODY_MODELS_1E=30, - BODY_MODELS_1F=31, - BODY_MODELS_2=2, - BODY_MODELS_20=32, - BODY_MODELS_21=33, - BODY_MODELS_22=34, - BODY_MODELS_23=35, - BODY_MODELS_24=36, - BODY_MODELS_25=37, - BODY_MODELS_26=38, - BODY_MODELS_27=39, - BODY_MODELS_28=40, - BODY_MODELS_29=-1, - BODY_MODELS_3=3, - BODY_MODELS_4=4, - BODY_MODELS_5=5, - BODY_MODELS_6=6, - BODY_MODELS_7=7, - BODY_MODELS_8=8, - BODY_MODELS_9=9, - BODY_MODELS_A=10, - BODY_MODELS_B=11, - BODY_MODELS_C=12, - BODY_MODELS_D=13, - BODY_MODELS_E=14, - BODY_MODELS_F=15, - BOILER_SUIT=22, - JUNGLE_SUIT=0, - SNOWSUIT=25 -} BODY_MODELS; - -typedef struct mp_stage_setup mp_stage_setup, *Pmp_stage_setup; - -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; -}; - -typedef struct $3DC209F5817990864D0852F5D77FEFB7 $3DC209F5817990864D0852F5D77FEFB7, *P$3DC209F5817990864D0852F5D77FEFB7; - -struct $3DC209F5817990864D0852F5D77FEFB7 { -}; - -typedef struct struct_1 struct_1, *Pstruct_1; - -struct struct_1 { - int anonymous_0; - float anonymous_1; - float anonymous_2; - float anonymous_3; - float anonymous_4; - float anonymous_5; - float anonymous_6; - float anonymous_7; - float anonymous_8; - float anonymous_9; - float anonymous_10; - float anonymous_11; - float anonymous_12; - float anonymous_13; - float anonymous_14; - float anonymous_15; - float anonymous_16; - float anonymous_17; -}; - -typedef struct struct_0 struct_0, *Pstruct_0; - -struct struct_0 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - void * anonymous_5; - int anonymous_6; -}; - -typedef struct struct_5 struct_5, *Pstruct_5; - -struct struct_5 { - int anonymous_0; - void * anonymous_1; - int anonymous_2; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/vs32 - /types.h/vs32 - -typedef struct struct_4 struct_4, *Pstruct_4; - -struct struct_4 { - int anonymous_0; - float anonymous_1; - float anonymous_2; - float anonymous_3; -}; - -typedef struct object_animation_controller object_animation_controller, *Pobject_animation_controller; - -struct object_animation_controller { - void * ptranimation; - u16 offsettocurcmd; - u16 waitcounter; - u32 imagenum; - f32 rotation; - f32 curzoomx; - f32 startzoomx; - f32 zoomxtimer; - f32 initialzoomx; - f32 finalzoomx; - f32 curzoomy; - f32 startzoomy; - f32 zoomytimer; - f32 initialzoomy; - f32 finalzoomy; - f32 curhorizontalpos; - f32 starthorscroll; - f32 horscrolltimer; - f32 horinitpos; - f32 horfinalpos; - f32 curverpos; - f32 startverscroll; - f32 verscrolltimer; - f32 verinitpos; - f32 verfinalpos; - u8 curredcomponant; - u8 initredcomponant; - u8 finalredcomponant; - u8 curgreencomponant; - u8 initgreencomponant; - u8 finalgreencomponant; - u8 curbluecomponant; - u8 initbluecomponant; - u8 finalbluecomponant; - u8 curalphacomponant; - u8 initalphacomponant; - u8 finalalphacomponant; - f32 startcolorshift; - f32 colorshifttimer; -}; - -typedef struct struct_6 struct_6, *Pstruct_6; - -struct struct_6 { - int anonymous_0; - char anonymous_1; - char field_5; - char field_6; - char field_7; - void * anonymous_2; - int anonymous_3; -}; - -typedef struct struct_9 struct_9, *Pstruct_9; - -struct struct_9 { - void * address; - void * ptr_name; -}; - -typedef struct explosion_animation explosion_animation, *Pexplosion_animation; - -struct explosion_animation { - void * direction; - int count; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/object_standard - /bondtypes.h/object_standard - -typedef struct MP_handicap_menu MP_handicap_menu, *PMP_handicap_menu; - -struct MP_handicap_menu { - short text_preset; - short padding; - float damage_modifier; -}; - -typedef struct struck_animation_table struck_animation_table, *Pstruck_animation_table; - -struct struck_animation_table { - int anonymous_0; - int anonymous_1; - float anonymous_2; - float anonymous_3; - int anonymous_4; - float anonymous_5; - float anonymous_6; -}; - -typedef enum OS_SC { -} OS_SC; - -typedef struct $3875EDF92ACCFC55C5A87BF2DE611375 $3875EDF92ACCFC55C5A87BF2DE611375, *P$3875EDF92ACCFC55C5A87BF2DE611375; - -typedef struct $3875EDF92ACCFC55C5A87BF2DE611375 ALSeqPlayer; - -typedef struct ALSeq_s ALSeq_s, *PALSeq_s; - -typedef struct ALSeq_s ALSeq; - -typedef struct ALChanState ALChanState, *PALChanState; - -typedef struct ALVoiceState_s ALVoiceState; - -typedef ALMicroTime (* ALOscInit)(void * *, f32 *, u8, u8, u8, u8); - -typedef ALMicroTime (* ALOscUpdate)(void *, f32 *); - -typedef void (* ALOscStop)(void *); - -typedef u8 ALFxId; - -struct ALSeq_s { - u8 * base; - u8 * trackStart; - u8 * curPtr; - s32 lastTicks; - s32 len; - f32 qnpt; - s16 division; - s16 lastStatus; -}; - -struct ALChanState { - struct ALInstrument * instrument; - s16 bendRange; - ALFxId fxId; - ALPan pan; - u8 priority; - u8 vol; - u8 fxmix; - u8 sustain; - f32 pitchBend; -}; - -struct $3875EDF92ACCFC55C5A87BF2DE611375 { - ALPlayer node; - struct ALSynth * drvr; - ALSeq * target; - ALBank * bank; - u16 chanMask; - s16 vol; - u8 maxChannels; - u8 debugFlags; - struct ALEvent nextEvent; - struct ALEventQueue evtq; - struct ALChanState * chanState; - ALVoiceState * vAllocHead; - ALVoiceState * vAllocTail; - ALVoiceState * vFreeList; - ALOscInit initOsc; - ALOscUpdate updateOsc; - ALOscStop stopOsc; - struct ALSeqMarker * loopStart; - struct ALSeqMarker * loopEnd; -}; - -typedef struct $8A2C38822146935C7EE1F49BBD28923A $8A2C38822146935C7EE1F49BBD28923A, *P$8A2C38822146935C7EE1F49BBD28923A; - -struct $8A2C38822146935C7EE1F49BBD28923A { - u8 * base; - u8 * cur; -}; - -typedef struct $4DC9E63407FE56118E8436A326234A26 $4DC9E63407FE56118E8436A326234A26, *P$4DC9E63407FE56118E8436A326234A26; - -typedef struct OSScMsg OSScMsg, *POSScMsg; - -typedef struct SCClient_s SCClient_s, *PSCClient_s; - -typedef struct SCClient_s OSScClient; - -typedef struct OSScTask_s OSScTask_s, *POSScTask_s; - -typedef struct OSScTask_s OSScTask; - -typedef union OSTask OSTask, *POSTask; - -typedef struct OSTask_t OSTask_t, *POSTask_t; - -struct OSTask_t { - u32 type; - u32 flags; - u64 * ucode_boot; - u32 ucode_boot_size; - u64 * ucode; - u32 ucode_size; - u64 * ucode_data; - u32 ucode_data_size; - u64 * dram_stack; - u32 dram_stack_size; - u64 * output_buff; - u64 * output_buff_size; - u64 * data_ptr; - u32 data_size; - u64 * yield_data_ptr; - u32 yield_data_size; -}; - -union OSTask { - struct OSTask_t t; - longlong force_structure_alignment; -}; - -struct SCClient_s { - struct SCClient_s * next; - OSMesgQueue * msgQ; -}; - -struct OSScMsg { - short type; - char misc[30]; -}; - -struct OSScTask_s { - struct OSScTask_s * next; - u32 state; - u32 flags; - void * framebuffer; - union OSTask list; - OSMesgQueue * msgQ; - OSMesg msg; -}; - -struct $4DC9E63407FE56118E8436A326234A26 { - struct OSScMsg retraceMsg; - struct OSScMsg prenmiMsg; - OSMesgQueue interruptQ; - OSMesg intBuf[8]; - OSMesgQueue cmdQ; - OSMesg cmdMsgBuf[8]; - OSThread thread; - OSScClient * clientList; - OSScTask * audioListHead; - OSScTask * gfxListHead; - OSScTask * audioListTail; - OSScTask * gfxListTail; - OSScTask * curRSPTask; - OSScTask * curRDPTask; -}; - -typedef struct $31E12A8E501C96F6AFEABF3D9309C7AB $31E12A8E501C96F6AFEABF3D9309C7AB, *P$31E12A8E501C96F6AFEABF3D9309C7AB; - -struct $31E12A8E501C96F6AFEABF3D9309C7AB { -}; - -typedef struct animation_something animation_something, *Panimation_something; - -struct animation_something { - int anonymous_0; - int field_4; - int field_8; - int field_C; - int field_10; - int field_14; - int field_18; - struct struck_animation_table * field_1C; - int field_20; - struct struck_animation_table * field_24; - int field_28; -}; - -typedef struct mp_weaponset_set mp_weaponset_set, *Pmp_weaponset_set; - -struct mp_weaponset_set { - struct mp_weaponset_weapon weaponsetarray[8]; -}; - -typedef enum $115CA7B869C920C2EED53D2D8B5DF62E { - AL_ADPCM_WAVE=0, - AL_RAW16_WAVE=1 -} $115CA7B869C920C2EED53D2D8B5DF62E; - -typedef struct $62F109188EB304B8EC258AA93B51CC96 OSLog; - -typedef struct $BC3F5F751EBDF5236FD20B6F16C102B1 $BC3F5F751EBDF5236FD20B6F16C102B1, *P$BC3F5F751EBDF5236FD20B6F16C102B1; - -typedef struct $BC3F5F751EBDF5236FD20B6F16C102B1 ALSeqFile; - - -// WARNING! conflicting data type names: /libaudio.h/ALSeqData - /GE Current Master.h/ALSeqData - -struct $BC3F5F751EBDF5236FD20B6F16C102B1 { - s16 revision; - s16 seqCount; - struct ALSeqData seqArray[1]; -}; - -typedef struct struct_17 struct_17, *Pstruct_17; - -struct struct_17 { - int anonymous_0; - int anonymous_1; - int anonymous_2; -}; - -typedef struct struct_18 struct_18, *Pstruct_18; - -struct struct_18 { - int BONDdata_item_control_blocks_initdata; - int field_4; - int field_8; - int field_C; - int field_10; - int field_14; - int field_18; - int field_1C; - int field_20; - int field_24; - int field_28; - int field_2C; - int field_30; - int field_34; - int field_38; - int field_3C; - int field_40; - int field_44; - int field_48; - int field_4C; - int field_50; - int field_54; - int field_58; - int field_5C; - int field_60; - int field_64; - int field_68; - int field_6C; - int field_70; - int field_74; - int field_78; - float field_7C; - int field_80; - int field_84; - int field_88; - int field_8C; - float field_90; - int field_94; - int field_98; - int field_9C; - int field_A0; - float field_A4; - int field_A8; - int field_AC; - int field_B0; - int field_B4; - float field_B8; - int field_BC; - int field_C0; - int field_C4; - int field_C8; - int field_CC; - int field_D0; - float field_D4; - int field_D8; - float field_DC; - int field_E0; - int field_E4; - int field_E8; - int field_EC; - int field_F0; - int field_F4; - float field_F8; - int field_FC; - float field_100; - int field_104; - int field_108; - int field_10C; - int field_110; - int field_114; - int field_118; - int field_11C; - int field_120; - int field_124; - int field_128; - int field_12C; - int field_130; - int field_134; - int field_138; - int field_13C; - float field_140; - int field_144; - int field_148; - float field_14C; - int field_150; - int field_154; - float field_158; - int field_15C; - int field_160; - float field_164; - int field_168; - float field_16C; - int field_170; - int field_174; - float field_178; - int field_17C; - int field_180; - float field_184; - int field_188; - int field_18C; - float field_190; - int field_194; - int field_198; - int field_19C; - float field_1A0; - float field_1A4; - int field_1A8; - int field_1AC; - int field_1B0; - int field_1B4; - int field_1B8; - int field_1BC; - int field_1C0; - int field_1C4; - int field_1C8; - int field_1CC; - float field_1D0; - int field_1D4; - int field_1D8; - int field_1DC; - int field_1E0; - int field_1E4; - int field_1E8; - int field_1EC; - int field_1F0; - int field_1F4; - int field_1F8; - int field_1FC; - int field_200; - int field_204; - int field_208; - int field_20C; - int field_210; - int field_214; - int field_218; - int field_21C; - int field_220; - int field_224; - int field_228; - int field_22C; - int field_230; - int field_234; - int field_238; - int field_23C; - int field_240; - int field_244; - int field_248; - int field_24C; - int field_250; - int field_254; - int field_258; - int field_25C; - int field_260; - int field_264; - int field_268; - int field_26C; - int field_270; - int field_274; - int field_278; - int field_27C; - int field_280; - int field_284; - int field_288; - int field_28C; - int field_290; - int field_294; - int field_298; - int field_29C; - int field_2A0; - int field_2A4; - int field_2A8; - int field_2AC; - int field_2B0; - int field_2B4; - int field_2B8; - int field_2BC; - int field_2C0; - int field_2C4; - int field_2C8; - int field_2CC; - int field_2D0; - int field_2D4; - int field_2D8; - int field_2DC; - int field_2E0; - int field_2E4; - int field_2E8; - int field_2EC; - int field_2F0; - int field_2F4; - int field_2F8; - int field_2FC; - int field_300; - int field_304; - int field_308; - int field_30C; - int field_310; - int field_314; - int field_318; - int field_31C; - int field_320; - int field_324; - int field_328; - int field_32C; - int field_330; - int field_334; - int field_338; - int field_33C; - int field_340; - int field_344; - int field_348; - int field_34C; - int field_350; - int field_354; - int field_358; - int field_35C; - int field_360; - int field_364; - int field_368; - int field_36C; - int field_370; - int field_374; - int field_378; - int field_37C; - int field_380; - int field_384; - int field_388; - int field_38C; - int field_390; - int field_394; - int field_398; - int field_39C; - int field_3A0; - int field_3A4; - int anonymous_0; -}; - -typedef struct struct_19 struct_19, *Pstruct_19; - -struct struct_19 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - int anonymous_5; - int anonymous_6; - int anonymous_7; -}; - -typedef enum controller_buttons { - A_BUTTON=32768, - B_BUTTON=16384, - DUMMY_1=128, - DUMMY_2=64, - D_CBUTTONS=4, - D_JPAD=1024, - L_CBUTTONS=2, - L_JPAD=512, - L_TRIG=32, - NONE=0, - R_CBUTTONS=1, - R_JPAD=256, - R_TRIG=16, - START_BUTTON=4096, - U_CBUTTONS=8, - U_JPAD=2048, - Z_TRIG=8192 -} controller_buttons; - -typedef struct struct_13 struct_13, *Pstruct_13; - -struct struct_13 { - void * anonymous_0; - int anonymous_1; -}; - -typedef struct struct_14 struct_14, *Pstruct_14; - -struct struct_14 { - int anonymous_0; - void * anonymous_1; - void * anonymous_2; - void * anonymous_3; - void * anonymous_4; - void * anonymous_5; -}; - -typedef struct struct_15 struct_15, *Pstruct_15; - -struct struct_15 { - char anonymous_0; - char field_1; - char field_2; - char field_3; - void * anonymous_1; - int anonymous_2; - int anonymous_3; -}; - -typedef struct struct_16 struct_16, *Pstruct_16; - -struct struct_16 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - int anonymous_5; - void * anonymous_6; -}; - -typedef struct struct_10 struct_10, *Pstruct_10; - -struct struct_10 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - short anonymous_3; - short field_E; - int anonymous_4; - int anonymous_5; - int anonymous_6; - int field_1C; -}; - -typedef struct struct_11 struct_11, *Pstruct_11; - -struct struct_11 { - int anonymous_0; - int anonymous_1; -}; - -typedef struct struct_12 struct_12, *Pstruct_12; - -struct struct_12 { - int anonymous_0; - char anonymous_1; - char anonymous_2; - char anonymous_3; - char anonymous_4; - int anonymous_5; - int anonymous_6; - void * anonymous_7; -}; - -typedef struct displaylist displaylist, *Pdisplaylist; - -struct displaylist { - int rdp_pipesync_U; - int rdp_pipesync_L; - int rsp_uc05_setothermode_h_U; - int rsp_uc05_setothermode_h_L; - int field_10; - int field_14; - int field_18; - int field_1C; -}; - -typedef struct $4DC9E63407FE56118E8436A326234A26 OSSched; - -typedef struct $1E48F79B8290AAF3593C164F3AF34576 $1E48F79B8290AAF3593C164F3AF34576, *P$1E48F79B8290AAF3593C164F3AF34576; - -typedef struct $1E48F79B8290AAF3593C164F3AF34576 ALSndpConfig; - -struct $1E48F79B8290AAF3593C164F3AF34576 { - struct ALHeap * heap; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/ALRawLoop - /libaudio.h/ALRawLoop - -typedef struct $329C5B53EB9FEB10BAB0FE888CF3CA8C $329C5B53EB9FEB10BAB0FE888CF3CA8C, *P$329C5B53EB9FEB10BAB0FE888CF3CA8C; - -struct $329C5B53EB9FEB10BAB0FE888CF3CA8C { - int type; - int length; - int magic; - char userdata[24564]; -}; - -typedef struct struct_20 struct_20, *Pstruct_20; - -struct struct_20 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - int anonymous_5; - int anonymous_6; - int anonymous_7; - int anonymous_8; - int anonymous_9; - int anonymous_10; - int anonymous_11; - int anonymous_12; - int anonymous_13; - int anonymous_14; - int anonymous_15; - int anonymous_16; - int anonymous_17; - int anonymous_18; - void * anonymous_19; -}; - -typedef struct struct_21 struct_21, *Pstruct_21; - -struct struct_21 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - int anonymous_5; - int anonymous_6; - int anonymous_7; - int anonymous_8; - int anonymous_9; - int anonymous_10; -}; - -typedef struct $4D1BF14BE913BD460FFC9CE94281257F $4D1BF14BE913BD460FFC9CE94281257F, *P$4D1BF14BE913BD460FFC9CE94281257F; - -struct $4D1BF14BE913BD460FFC9CE94281257F { - u8 maxChannels; - u8 debugFlags; - struct ALHeap * heap; - void * initOsc; - void * updateOsc; - void * stopOsc; -}; - -typedef struct struct_22 struct_22, *Pstruct_22; - -struct struct_22 { - int fast3d_related; - int field_4; - int field_8; - int field_C; - int field_10; - int field_14; - int field_18; - int field_1C; - int field_20; - int field_24; - int field_28; - int field_2C; - void * field_30; - int field_34; - int field_38; - int field_3C; - int field_40; - int field_44; - int field_48; - int field_4C; - int field_50; - int field_54; - int field_58; - int field_5C; -}; - -typedef struct struct_23 struct_23, *Pstruct_23; - -struct struct_23 { - float anonymous_0; - float anonymous_1; - float anonymous_2; - float anonymous_3; - int field_10; - int field_14; -}; - -typedef struct stderr stderr, *Pstderr; - -struct stderr { - int unknown; - int enable; - int activated; - int permitted; -}; - -typedef struct $A6BB81027E0A18168D58CC4F88C0D058 $A6BB81027E0A18168D58CC4F88C0D058, *P$A6BB81027E0A18168D58CC4F88C0D058; - -struct $A6BB81027E0A18168D58CC4F88C0D058 { -}; - -typedef struct legal_screen_text legal_screen_text, *Plegal_screen_text; - -struct legal_screen_text { - int h_pos; - int v_pos; - int flag; - int flag2; - short txtID; - short anonymous_5; -}; - -typedef struct $EF3ACF09A692D55A7037B16E3DC74014 $EF3ACF09A692D55A7037B16E3DC74014, *P$EF3ACF09A692D55A7037B16E3DC74014; - -struct $EF3ACF09A692D55A7037B16E3DC74014 { - u16 argCount; - u16 eventID; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/ALADPCMBook - /libaudio.h/ALADPCMBook - -typedef struct $FB5AB5E3B9B01BC4F889CA5C39D284F7 $FB5AB5E3B9B01BC4F889CA5C39D284F7, *P$FB5AB5E3B9B01BC4F889CA5C39D284F7; - -struct $FB5AB5E3B9B01BC4F889CA5C39D284F7 { - struct ALRawLoop * loop; -}; - -typedef struct sound_related_table sound_related_table, *Psound_related_table; - -struct sound_related_table { - int field_0; - int field_4; - int field_8; - int field_C; - int field_10; - int field_14; - int field_18; - int field_1C; - int field_20; - int field_24; -}; - -typedef struct $06EEA20094C84D54E40B4D9293011B48 $06EEA20094C84D54E40B4D9293011B48, *P$06EEA20094C84D54E40B4D9293011B48; - -struct $06EEA20094C84D54E40B4D9293011B48 { -}; - -typedef struct $1B6B96FDBA53C58847AE432534475AD7 $1B6B96FDBA53C58847AE432534475AD7, *P$1B6B96FDBA53C58847AE432534475AD7; - -struct $1B6B96FDBA53C58847AE432534475AD7 { -}; - -typedef struct levelentry levelentry, *Plevelentry; - -struct levelentry { - int levelID; - string * bg_seg_filename; - string * bg_stan_filename; - f32 levelscale; - float visibility; - float unknownfloat; -}; - -typedef struct $698E1586F824213C2C7D30F8DE84E678 $698E1586F824213C2C7D30F8DE84E678, *P$698E1586F824213C2C7D30F8DE84E678; - -struct $698E1586F824213C2C7D30F8DE84E678 { - void * dmaproc; - struct ALHeap * heap; - ALFxId fxType; -}; - -typedef struct $0120AC1DF4EE79E1F66D1E961D6B23AA $0120AC1DF4EE79E1F66D1E961D6B23AA, *P$0120AC1DF4EE79E1F66D1E961D6B23AA; - -struct $0120AC1DF4EE79E1F66D1E961D6B23AA { - u8 attackVolume; - u8 decayVolume; -}; - -typedef struct $698E1586F824213C2C7D30F8DE84E678 ALSynConfig; - -typedef struct $EF3ACF09A692D55A7037B16E3DC74014 OSLogItem; - -typedef struct displaymode displaymode, *Pdisplaymode; - -struct displaymode { - char anonymous_0; - char field_1; - short field_2; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - int anonymous_5; - int anonymous_6; - int anonymous_7; - int anonymous_8; - int anonymous_9; - int anonymous_10; - int anonymous_11; - int anonymous_12; - int anonymous_13; - int anonymous_14; - int anonymous_15; - int anonymous_16; - int anonymous_17; - int anonymous_18; - int anonymous_19; -}; - -typedef enum LOGIC { -} LOGIC; - - -// WARNING! conflicting data type names: /GE Current Master.h/ITEM_IDS - /bondgame.h/ITEM_IDS - - -// WARNING! conflicting data type names: /GE Current Master.h/ALHeap - /libaudio.h/ALHeap - -typedef struct $4D1BF14BE913BD460FFC9CE94281257F ALSeqpConfig; - -typedef struct struc_3 struc_3, *Pstruc_3; - -struct struc_3 { - int anonymous_0; - short anonymous_1; - short anonymous_2; - float anonymous_3; - float anonymous_4; - float aspect; - float anonymous_6; - short anonymous_7; - short anonymous_8; - short anonymous_9; - short anonymous_10; - int anonymous_11; - int anonymous_12; - int anonymous_13; -}; - -typedef struct $1ACCFE7BBF73F7F736AAAE9683E0ED58 $1ACCFE7BBF73F7F736AAAE9683E0ED58, *P$1ACCFE7BBF73F7F736AAAE9683E0ED58; - -struct $1ACCFE7BBF73F7F736AAAE9683E0ED58 { - int dataSize; - int dlType; - int flags; -}; - -typedef struct $35766A9B07B6F07DD8AC188CB6DFE885 $35766A9B07B6F07DD8AC188CB6DFE885, *P$35766A9B07B6F07DD8AC188CB6DFE885; - -struct $35766A9B07B6F07DD8AC188CB6DFE885 { - s16 book[1]; -}; - -typedef struct gitem_data_struct gitem_data_struct, *Pgitem_data_struct; - -struct gitem_data_struct { - struct Gitemheader * item_header; - string * item_file_name; - u32 no_model; - struct weapon_stats * item_weapon_stats; - short upper_watch_text; - short lower_watch_text; - float watch_pos_x; - float watch_pos_y; - float watch_pos_z; - float x_rotation; - float y_rotation; - short weapon_of_choice_text; - short watch_equipment_text; - float equip_watch_x; - float equip_watch_y; - float equip_watch_z; -}; - -typedef struct save_data save_data, *Psave_data; - -struct save_data { - int chksum1; - int chksum2; - char completion_bitflags; - char flag_007; - char music_vol; - char sfx_vol; - char controller_config; - char options; - char unlocked_cheats_1; - char unlocked_cheats_2; - char unlocked_cheats_3; - char field_11; - char agent_dam_time; - char field_13; - char field_14; - char field_15; - char field_16; - char agent_bunker1_time; - char field_18; - char field_19; - char field_1A; - char field_1B; - char agent_bunker2_time; - char field_1D; - char field_1E; - char field_1F; - char field_20; - char agent_depot_time; - char field_22; - char field_23; - char field_24; - char field_25; - char agent_caverns_time; - char field_27; - char field_28; - char field_29; - char field_2A; - char secretagent_dam_time; - char field_2C; - char field_2D; - char field_2E; - char field_2F; - char secretagent_bunker1_time; - char field_31; - char field_32; - char field_33; - char field_34; - char secretagent_bunker2_time; - char field_36; - char field_37; - char field_38; - char field_39; - char secretagent_depot_time; - char field_3B; - char field_3C; - char field_3D; - char field_3E; - char secretagent_caverns_time; - char field_40; - char field_41; - char field_42; - char field_43; - char agent00_dam_time; - char field_45; - char field_46; - char field_47; - char field_48; - char agent00_bunker1_time; - char field_4A; - char field_4B; - char field_4C; - char field_4D; - char agent00_bunker2_time; - char field_4F; - char field_50; - char field_51; - char field_52; - char agent00_depot_time; - char field_54; - char field_55; - char field_56; - char field_57; - char agent00_caverns_time; - char field_59; - char field_5A; - char field_5B; - char field_5C; - char unused1; - char unused2; - char unused3; -}; - - -// WARNING! conflicting data type names: /GE Current Master.h/guDLPrintCB - /gu.h/guDLPrintCB - -typedef struct point_table point_table, *Ppoint_table; - -struct point_table { - short x; - short y; - short z; - short reserved; - short s_val; - short t_val; - char red; - char green; - char blue; - char alpha; -}; - - -// WARNING! conflicting data type names: /sched.h/OSSched - /GE Current Master.h/OSSched - -typedef enum enum { - PRE_NMI_MSG=669, - RDP_DONE_MSG=668, - RSP_DONE_MSG=667, - VIDEO_MSG=666 -} enum; - -#define OS_SC_RETRACE_MSG 1 - -#define OS_SC_LAST_TASK 32 - -#define OS_SC_RDP_DONE_MSG 3 - -#define OS_SC_RCP_MASK 3 - -#define OS_SC_PRE_NMI_MSG 4 - -#define OS_SC_DONE_MSG 2 - -#define OS_SC_LAST_MSG 4 - -#define OS_SC_TYPE_MASK 7 - -#define OS_SC_SWAPBUFFER 64 - -#define OS_SC_MAX_MESGS 8 - -#define OS_SC_NEEDS_RSP 2 - -#define OS_SC_STACKSIZE 8192 - -#define OS_SC_PARALLEL_TASK 16 - -#define OS_SC_DRAM_DLIST 4 - -#define OS_SC_NEEDS_RDP 1 - - -// WARNING! conflicting data type names: /memp.h/s_mempBANK - /s_mempBANK - -typedef struct s_mempMEMSTARTS s_mempMEMSTARTS, *Ps_mempMEMSTARTS; - -struct s_mempMEMSTARTS { - s32 bank1start; - s32 bank2start; - s32 bank3start; - s32 bank4start; - s32 bank5start; - s32 bank6start; - s32 bank7start; -}; - - -// WARNING! conflicting data type names: /memp.h/s_mempMVALS - /s_mempMVALS - - -// WARNING! conflicting data type names: /ultralog.h/OSLog - /GE Current Master.h/OSLog - - -// WARNING! conflicting data type names: /ultralog.h/OSLogItem - /GE Current Master.h/OSLogItem - - -// WARNING! conflicting data type names: /ultralog.h/OSLogFileHdr - /GE Current Master.h/OSLogFileHdr - -#define OS_LOG_MAGIC 544434803 - -#define OS_LOG_MAX_ARGS 16 - -#define OS_LOG_VERSION 1 - -typedef u32 OSYieldResult; - -#define M_TASK_FLAG0 1 - -#define SPSTATUS_SIGNAL7_SET 16384 - -#define M_TASK_FLAG1 2 - -#define SPSTATUS_SIGNAL3_SET 1024 - -#define OS_YIELD_DATA_SIZE 2304 - -#define M_HVQTASK 6 - -#define SPSTATUS_SET_SSTEP 64 - -#define SPSTATUS_SIGNAL5_SET 4096 - -#define SPSTATUS_IO_FULL 16 - -#define SPSTATUS_SIGNAL1_SET 256 - -#define SPSTATUS_SET_INTR 16 - -#define OS_TASK_YIELDED 1 - -#define OS_TASK_DP_WAIT 2 - -#define SPSTATUS_SINGLE_STEP 32 - -#define SPSTATUS_SET_HALT 2 - -#define SPSTATUS_DMA_FULL 8 - -#define SPSTATUS_CLEAR_BROKE 4 - -#define SPSTATUS_SIGNAL6_SET 8192 - -#define SPSTATUS_INTERRUPT_ON_BREAK 64 - -#define SPSTATUS_CLEAR_INTR 8 - -#define SPSTATUS_DMA_BUSY 4 - -#define SPSTATUS_CLEAR_SSTEP 32 - -#define SPSTATUS_SIGNAL4_SET 2048 - -#define SPSTATUS_CLEAR_INTR_ON_BREAK 128 - -#define M_HVQMTASK 7 - -#define OS_TASK_USR3 128 - -#define OS_TASK_USR2 64 - -#define OS_TASK_USR1 32 - -#define SPSTATUS_BROKE 2 - -#define SPSTATUS_CLEAR_HALT 1 - -#define SPSTATUS_SIGNAL0_SET 128 - -#define SPSTATUS_SET_SIGNAL6 8388608 - -#define SPSTATUS_SET_SIGNAL5 1048576 - -#define OS_YIELD_AUDIO_SIZE 1024 - -#define SPSTATUS_SET_SIGNAL7 33554432 - -#define SPSTATUS_SET_SIGNAL2 16384 - -#define SPSTATUS_SET_SIGNAL1 4096 - -#define SPSTATUS_SET_SIGNAL4 262144 - -#define SPSTATUS_SET_SIGNAL3 65536 - -#define SPSTATUS_HALT 1 - -#define SPSTATUS_SIGNAL2_SET 512 - -#define SPSTATUS_CLEAR_SIGNAL2 8192 - -#define SPSTATUS_CLEAR_SIGNAL3 32768 - -#define SPSTATUS_CLEAR_SIGNAL4 131072 - -#define SPSTATUS_CLEAR_SIGNAL5 524288 - -#define SPSTATUS_CLEAR_SIGNAL0 512 - -#define SPSTATUS_CLEAR_SIGNAL1 2048 - -#define SPSTATUS_SET_SIGNAL0 1024 - -#define SPSTATUS_CLEAR_SIGNAL6 2097152 - -#define SPSTATUS_CLEAR_SIGNAL7 16777216 - -#define SPSTATUS_SET_INTR_ON_BREAK 256 - -#define OS_TASK_USR0 16 - -typedef struct lldiv_t lldiv_t, *Plldiv_t; - -struct lldiv_t { - longlong quot; - longlong rem; -}; - -typedef struct ldiv_t ldiv_t, *Pldiv_t; - -struct ldiv_t { - long quot; - long rem; -}; - -typedef struct OSEepromUnknownStruct0 OSEepromUnknownStruct0, *POSEepromUnknownStruct0; - -struct OSEepromUnknownStruct0 { - u16 unk00; - u16 unk01; -}; - -typedef struct amConfig amConfig, *PamConfig; - -struct amConfig { - u32 outputRate; - u32 framesPerField; - u32 maxACMDSize; -}; - -#define DMA_BUFFER_LENGTH 2048 - -#define MAX_SEQ_LENGTH 20000 - -#define NUM_DMA_BUFFERS 24 - -#define MAX_UPDATES 32 - -#define EXTRA_SAMPLES 80 - -#define QUIT_MSG 10 - -#define AUDIO_STACKSIZE 8192 - -#define MAX_EVENTS 32 - -#define AUDIO_HEAP_SIZE 300000 - -#define NUM_DMA_MESSAGES 32 - -#define NUM_OUTPUT_BUFFERS 3 - -#define FRAME_LAG 1 - -#define OUTPUT_RATE 44100 - -#define NUM_ACMD_LISTS 2 - -#define MAX_RSP_CMDS 4096 - -#define MAX_MESGS 8 - -#define MAX_VOICES 22 - -#define UP_CELLNL 32 - -#define UP_MAXCELLS 50 - -#define UP_MAXPVERTS 16 - -#define UP_OBNL 32 - -typedef struct AMDMAState AMDMAState, *PAMDMAState; - -typedef struct AMDMABuffer AMDMABuffer, *PAMDMABuffer; - -struct AMDMABuffer { - ALLink node; - u32 startAddr; - u32 lastFrame; - char * ptr; -}; - -struct AMDMAState { - u8 initialized; - struct AMDMABuffer * firstUsed; - struct AMDMABuffer * firstFree; -}; - -typedef struct AudioInfo_s AudioInfo_s, *PAudioInfo_s; - -typedef struct AudioInfo_s AudioInfo; - -typedef union AudioMsg AudioMsg, *PAudioMsg; - -typedef struct _struct_197 _struct_197, *P_struct_197; - -typedef struct _struct_198 _struct_198, *P_struct_198; - -struct _struct_198 { - short type; - struct AudioInfo_s * info; -}; - -struct _struct_197 { - short type; -}; - -union AudioMsg { - struct _struct_197 gen; - struct _struct_198 done; - struct OSScMsg app; -}; - -struct AudioInfo_s { - short * data; - short frameSamples; - OSScTask task; - union AudioMsg msg; -}; - -typedef struct AMAudioMgr AMAudioMgr, *PAMAudioMgr; - - -// WARNING! conflicting data type names: /libaudio.h/ALGlobals - /GE Current Master.h/ALGlobals - -struct AMAudioMgr { - union Acmd * ACMDList[2]; - AudioInfo * audioInfo[3]; - OSThread thread; - OSMesgQueue audioFrameMsgQ; - OSMesg audioFrameMsgBuf[8]; - OSMesgQueue audioReplyMsgQ; - OSMesg audioReplyMsgBuf[8]; - struct ALGlobals g; -}; - -typedef struct evp_pkey_ctx_st evp_pkey_ctx_st, *Pevp_pkey_ctx_st; - -typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; - -struct evp_pkey_ctx_st { -}; - - -// WARNING! conflicting data type names: /vi.h/OSViFieldRegs - /os.h/OSViFieldRegs - - -// WARNING! conflicting data type names: /vi.h/OSViCommonRegs - /os.h/OSViCommonRegs - -typedef struct OSViContext OSViContext, *POSViContext; - - -// WARNING! conflicting data type names: /vi.h/OSViMode - /os.h/OSViMode - -struct OSViContext { - u16 unk00; - u16 retraceCount; - void * buffer; - struct OSViMode * unk08; - u32 features; - OSMesgQueue * mq; - OSMesg * msg; - u32 unk18; - u32 unk1c; - u32 unk20; - f32 unk24; - u16 unk28; - u32 unk2c; -}; - -#define OS_VI_PAL_HPF2 27 - -#define OS_VI_MPAL_HPN1 36 - -#define OS_VI_PAL_HPF1 23 - -#define OS_VI_MPAL_HPN2 40 - -#define OS_VI_UNK100 256 - -#define OS_VI_NTSC_LAN1 2 - -#define OS_VI_NTSC_LAN2 6 - -#define OS_VI_FPAL_LAN2 48 - -#define OS_VI_FPAL_LAN1 44 - -#define OS_VI_PAL_HPN2 26 - -#define OS_VI_PAL_HPN1 22 - -#define OS_VI_MPAL_HPF1 37 - -#define OS_VI_MPAL_HPF2 41 - -#define OS_VI_NTSC_LAF1 3 - -#define OS_VI_NTSC_LAF2 7 - -#define OS_VI_GAMMA_DITHER 4 - -#define OS_VI_FPAL_LAF2 49 - -#define OS_VI_NTSC_HPF2 13 - -#define OS_VI_FPAL_LAF1 45 - -#define OS_VI_DIVOT 16 - -#define OS_VI_NTSC_HPF1 9 - -#define OS_VI_NTSC_HPN2 12 - -#define OS_VI_NTSC_HPN1 8 - -#define OS_VI_GAMMA 8 - -#define OS_VI_GAMMA_ON 1 - -#define OS_VI_UNK200 512 - -#define OS_VI_FPAL_HPN2 54 - -#define OS_VI_FPAL_HPN1 50 - -#define OS_VI_FPAL_HPF2 55 - -#define OS_VI_FPAL_HPF1 51 - -#define OS_VI_PAL_LAF1 17 - -#define OS_VI_MPAL_LAN1 30 - -#define OS_VI_MPAL_LAN2 34 - -#define OS_VI_PAL_LAF2 21 - -#define OS_VI_GAMMA_DITHER_ON 4 - -#define OS_VI_PAL_LAN1 16 - -#define OS_VI_MPAL_LAF1 31 - -#define OS_VI_PAL_LAN2 20 - -#define OS_VI_MPAL_LAF2 35 - -#define OS_VI_MPAL_LPN1 28 - -#define OS_VI_PAL_LPF2 19 - -#define OS_VI_PAL_LPF1 15 - -#define OS_VI_MPAL_LPN2 32 - -#define OS_VI_MPAL_LPF1 29 - -#define OS_VI_PAL_LPN2 18 - -#define OS_VI_PAL_LPN1 14 - -#define OS_VI_DITHER_FILTER_OFF 128 - -#define OS_VI_MPAL_LPF2 33 - -#define OS_VI_FPAL_HAN1 52 - -#define OS_VI_DIVOT_OFF 32 - -#define OS_VI_FPAL_HAF1 53 - -#define OS_VI_GAMMA_DITHER_OFF 8 - -#define OS_VI_GAMMA_OFF 2 - -#define OS_VI_MPAL_HAF1 39 - -#define OS_VI_DITHER_FILTER 65536 - -#define OS_VI_DIVOT_ON 16 - -#define OS_VI_NTSC_LPN1 0 - -#define OS_VI_NTSC_LPN2 4 - -#define OS_VI_FPAL_LPN2 46 - -#define OS_VI_FPAL_LPN1 42 - -#define OS_VI_NTSC_LPF1 1 - -#define OS_VI_NTSC_LPF2 5 - -#define OS_VI_NTSC_HAF1 11 - -#define OS_VI_FPAL_LPF2 47 - -#define OS_VI_FPAL_LPF1 43 - -#define OS_VI_NTSC_HAN1 10 - -#define OS_VI_DITHER_FILTER_ON 64 - -#define OS_VI_PAL_HAF1 25 - -#define OS_VI_MPAL_HAN1 38 - -#define OS_VI_PAL_HAN1 24 - -#define TV_TYPE_PAL 0 - -#define RESET_TYPE_BOOT_DISK 2 - -#define TV_TYPE_MPAL 2 - -#define RESET_TYPE_COLD_RESET 0 - -#define TV_TYPE_NTSC 1 - -#define RESET_TYPE_NMI 1 - -#define LOG_SCHEDULE_GFX_TASK 101 - -#define LOG_RDP_DONE 102 - -#define INIT_PRIORITY 10 - -#define STACKSIZEBYTES 8192 - -#define UTIL_PRIORITY 1 - -#define LOG_RETRACE 103 - -#define DMA_QUEUE_SIZE 200 - -#define NUM_FIELDS 1 - -#define STATIC_SEGMENT 1 - -#define GAME_PRIORITY 10 - -#define AUDIO_PRIORITY 12 - -#define SIMPLE_CONTROLLER_MSG 5 - -#define LOG_INTR 104 - -#define DYNAMIC_SEGMENT 2 - -#define SCHEDULER_PRIORITY 13 - - -// WARNING! conflicting data type names: /ultratypes.h/vs64 - /types.h/vs64 - - -// WARNING! conflicting data type names: /ultratypes.h/vu16 - /types.h/vu16 - - -// WARNING! conflicting data type names: /ultratypes.h/vs8 - /types.h/vs8 - - -// WARNING! conflicting data type names: /ultratypes.h/vu8 - /types.h/vu8 - - -// WARNING! conflicting data type names: /ultratypes.h/vu32 - /types.h/vu32 - - -// WARNING! conflicting data type names: /ultratypes.h/vu64 - /types.h/vu64 - - -// WARNING! conflicting data type names: /ultratypes.h/vs16 - /types.h/vs16 - - -// WARNING! conflicting data type names: /ultratypes.h/vs32 - /types.h/vs32 - - -// WARNING! conflicting data type names: /mema.h/s_mem_alloc_table - /s_mem_alloc_table - - -// WARNING! conflicting data type names: /mema.h/s_mem_alloc_entry - /s_mem_alloc_entry - -#define R_JPAD 256 - -#define A_BUTTON 32768 - -#define L_CBUTTONS 2 - -#define U_JPAD 2048 - -#define Z_TRIG 8192 - -#define D_CBUTTONS 4 - -#define B_BUTTON 16384 - -#define D_JPAD 1024 - -#define START_BUTTON 4096 - -#define R_CBUTTONS 1 - -#define U_CBUTTONS 8 - -#define DUMMY_1 128 - -#define DUMMY_2 64 - -#define R_TRIG 16 - -#define L_TRIG 32 - -#define L_JPAD 512 - -typedef struct Apan Apan, *PApan; - -typedef union anon__struct_84_bitfield_1 anon__struct_84_bitfield_1, *Panon__struct_84_bitfield_1; - -union anon__struct_84_bitfield_1 { - uint cmd:8; // : bits 0-7 - uint flags:8; // : bits 8-15 - uint dmem2:16; // : bits 16-31 -}; - -struct Apan { - union anon__struct_84_bitfield_1 field_0x0; - uint addr; -}; - -#define A_MAIN 0 - -#define A_CONTINUE 0 - -#define ADPCMFSIZE 16 - -#define A_SETBUFF 8 - -#define A_LOOP 2 - -#define A_MIXER 12 - -#define A_SAVEBUFF 6 - -#define A_POLEF 14 - -#define A_INIT 1 - -#define ACMD_SIZE 32 - -#define A_LEFT 2 - -#define A_SPNOOP 0 - -#define A_LOADBUFF 4 - -#define A_DMEMMOVE 10 - -#define ADPCMVSIZE 8 - -#define A_AUX 8 - -#define A_RIGHT 0 - -#define A_CLEARBUFF 2 - -#define A_NOAUX 0 - -#define A_SEGMENT 7 - -#define A_OUT 2 - -#define A_LOADADPCM 11 - -#define A_VOL 4 - -#define A_MIX 16 - -#define UNITY_PITCH 32768 - -#define A_RATE 0 - -#define A_INTERLEAVE 13 - -#define A_SETLOOP 15 - -#define A_SETVOL 9 - -#define A_ENVMIXER 3 - -#define A_ADPCM 1 - -#define A_RESAMPLE 5 - -typedef struct Dynamic Dynamic, *PDynamic; - -struct Dynamic { - union Mtx projection; - union Mtx viewing; - union Mtx bg_model; - union Mtx logo_scale; - union Mtx logo_rotate; - union Mtx logo_trans; - union Gfx glist[512]; -}; - -typedef union GFXMsg GFXMsg, *PGFXMsg; - -typedef struct _struct_193 _struct_193, *P_struct_193; - -typedef struct _struct_194 _struct_194, *P_struct_194; - -struct _struct_193 { - short type; -}; - -struct _struct_194 { - short type; -}; - -union GFXMsg { - struct _struct_193 gen; - struct _struct_194 done; - struct OSScMsg app; -}; - -typedef struct GFXInfo GFXInfo, *PGFXInfo; - -struct GFXInfo { - OSScTask task; - struct Dynamic dp; - union GFXMsg msg; - u16 * cfb; -}; - -#define SCREEN_WD 320 - -#define SCREEN_HT 240 - -#define GFX_DL_BUF_SIZE 6000 - -typedef struct OSProf OSProf, *POSProf; - -struct OSProf { - u16 * histo_base; - u32 histo_size; - u32 * text_start; - u32 * text_end; -}; - - -// WARNING! conflicting data type names: /os.h/OSThread_s - /thread.h/OSThread_s - -typedef struct OSPfsState OSPfsState, *POSPfsState; - -struct OSPfsState { - u32 file_size; - u32 game_code; - u16 company_code; - char ext_name[4]; - char game_name[16]; -}; - -typedef u32 OSHWIntr; - -typedef struct OSContPad OSContPad, *POSContPad; - -struct OSContPad { - u16 button; - s8 stick_x; - s8 stick_y; - u8 errno; -}; - - -// WARNING! conflicting data type names: /os.h/__OSBlockInfo - /pi.h/__OSBlockInfo - -typedef struct OSContRamIo OSContRamIo, *POSContRamIo; - -struct OSContRamIo { - void * address; - u8 databuffer[32]; - u8 addressCrc; - u8 dataCrc; - u8 errno; -}; - -typedef struct OSDevMgr OSDevMgr, *POSDevMgr; - - -// WARNING! conflicting data type names: /os.h/OSPiHandle - /pi.h/OSPiHandle - -struct OSDevMgr { - s32 active; - OSThread * thread; - OSMesgQueue * cmdQueue; - OSMesgQueue * evtQueue; - OSMesgQueue * acsQueue; - s32 (* dma)(s32, u32, void *, u32); - s32 (* edma)(OSPiHandle *, s32, u32, void *, u32); -}; - -typedef struct OSPfs OSPfs, *POSPfs; - -struct OSPfs { - int status; - OSMesgQueue * queue; - int channel; - u8 id[32]; - u8 label[32]; - int version; - int dir_size; - int inode_table; - int minode_table; - int dir_table; - int inode_start_page; - u8 banks; - u8 activebank; -}; - -typedef struct OSTimer_s OSTimer_s, *POSTimer_s; - -typedef u64 OSTime; - -struct OSTimer_s { - struct OSTimer_s * next; - struct OSTimer_s * prev; - OSTime interval; - OSTime value; - OSMesgQueue * mq; - OSMesg msg; -}; - - -// WARNING! conflicting data type names: /os.h/OSId - /thread.h/OSId - - -// WARNING! conflicting data type names: /os.h/OSIoMesgHdr - /pi.h/OSIoMesgHdr - -typedef struct OSContStatus OSContStatus, *POSContStatus; - -struct OSContStatus { - u16 type; - u8 status; - u8 errno; -}; - -typedef enum enumOSEvent { - OS_EVENT_AI=6, - OS_EVENT_CART=2, - OS_EVENT_COUNTER=3, - OS_EVENT_CPU_BREAK=10, - OS_EVENT_DP=9, - OS_EVENT_FAULT=12, - OS_EVENT_PI=8, - OS_EVENT_PRENMI=14, - OS_EVENT_RDB_READ_OK=15, - OS_EVENT_SI=5, - OS_EVENT_SP=4, - OS_EVENT_SP_BREAK=11, - OS_EVENT_SW1=0, - OS_EVENT_SW2=1, - OS_EVENT_THREADSTATUS=13, - OS_EVENT_VI=7 -} enumOSEvent; - - -// WARNING! conflicting data type names: /os.h/OSIoMesg - /pi.h/OSIoMesg - - -// WARNING! conflicting data type names: /os.h/__OSThreadContext - /thread.h/__OSThreadContext - - -// WARNING! conflicting data type names: /os.h/OSPiHandle_s - /pi.h/OSPiHandle_s - - -// WARNING! conflicting data type names: /os.h/OSTimer - /time.h/OSTimer - -typedef struct _struct_2 _struct_2, *P_struct_2; - -struct _struct_2 { - f32 f_odd; - f32 f_even; -}; - - -// WARNING! conflicting data type names: /os.h/OSEvent - /message.h/OSEvent - - -// WARNING! conflicting data type names: /os.h/__OSTranxInfo - /pi.h/__OSTranxInfo - - -// WARNING! conflicting data type names: /os.h/OSPiInfo - /pi.h/OSPiInfo - - -// WARNING! conflicting data type names: /os.h/__OSfp - /thread.h/__OSfp - -typedef u32 OSPageMask; - - -// WARNING! conflicting data type names: /os.h/OSIntMask - /interrupt.h/OSIntMask - -#define OS_MESG_TYPE_BASE 10 - -#define OS_FLAG_FAULT 2 - -#define OS_MESG_TYPE_LOOPBACK 10 - -#define CONT_RELATIVE 2 - -#define OS_EVENT_RDB_DATA_DONE 17 - -#define CONT_START 4096 - -#define CONT_EEPROM 32768 - -#define LEO_BLOCK_MODE 1 - -#define OS_VI_BIT_32PIXEL 128 - -#define PFS_ERR_ID_FATAL 10 - -#define OS_IM_PI 1049601 - -#define PFS_ERR_INVALID 5 - -#define OS_SIM_STACKSIZE 4096 - -#define OS_MESG_TYPE_DMAWRITE 12 - -#define OS_VI_BIT_NONINTERLACE 1 - -#define BLOCKSIZE 32 - -#define EEPROM_MAXBLOCKS 64 - -#define MAXCONTROLLERS 4 - -#define OS_VI_BIT_16PIXEL 64 - -#define OS_PM_1M 2088960 - -#define OS_IM_SP 66561 - -#define BOOT_ADDRESS_COSIM 2147491840 - -#define CONT_OVERRUN_ERROR 4 - -#define OS_IM_ALL 4194049 - -#define PFS_ERR_EXIST 9 - -#define OS_IM_CPU 65281 - -#define OS_APP_NMI_BUFSIZE 64 - -#define OS_MESG_TYPE_EDMAWRITE 16 - -#define PFS_ERR_BAD_DATA 6 - -#define BOOT_ADDRESS_INDY 2282749952 - -#define OS_TV_PAL 0 - -#define PFS_ERR_NOPACK 1 - -#define OS_PM_16M 33546240 - -#define PFS_INITIALIZED 1 - -#define OS_PM_16K 24576 - -#define OS_NUM_EVENTS.conflict 15 - -#define OS_IM_SI 132097 - -#define OS_MESG_TYPE_COUNTER 14 - -#define PFS_WRITE 1 - -#define OS_PM_256K 516096 - -#define LEO_SECTOR_MODE 3 - -#define OS_VI_BIT_LORES 256 - -#define CONT_DOWN 1024 - -#define OS_IM_VI 525313 - -#define PFS_MAX_BANKS 62 - -#define CONT_UP 2048 - -#define OS_IM_RDBREAD 17409 - -#define CONT_ABSOLUTE 1 - -#define OS_VIM_STACKSIZE 4096 - -#define OS_IM_SW2 1537 - -#define OS_IM_SW1 1281 - -#define PFS_ERR_NEW_PACK 2 - -#define OS_MESG_TYPE_VRETRACE 13 - -#define OS_IM_PRENMI 5121 - -#define PFS_FILE_NAME_LEN 16 - -#define PFS_DIR_FULL 8 - -#define OS_OTHERS 2 - -#define OS_EVENT_RDB_LOG_DONE 16 - -#define PFS_ERR_INCONSISTENT 3 - -#define PROF_MIN_INTERVAL 50 - -#define PFS_FILE_EXT_LEN 4 - -#define CONT_CARD_ON 1 - -#define OS_VI_BIT_ANTIALIAS 16 - -#define PFS_READ 0 - -#define PFS_DATA_FULL 7 - -#define EEPROM_BLOCK_SIZE 8 - -#define OS_EVENT_RDB_ACK_PROF 22 - -#define CONT_NO_RESPONSE_ERROR 8 - -#define CONT_ADDR_CRC_ER 4 - -#define OS_VI_BIT_PAL 2048 - -#define CONT_E 8 - -#define CONT_F 1 - -#define CONT_G 8192 - -#define CONT_A 32768 - -#define OS_TV_NTSC 1 - -#define CONT_B 16384 - -#define CONT_C 2 - -#define CONT_RIGHT 256 - -#define CONT_D 4 - -#define OS_VI_BIT_NORMALINTERLACE 4 - -#define OS_EVENT_RDB_REQ_RAMROM 18 - -#define CONT_L 32 - -#define CONT_R 16 - -#define OS_EVENT_RDB_READ_DONE 15 - -#define OS_FLAG_CPU_BREAK 1 - -#define OS_PM_4M 8380416 - -#define OS_PM_64K 122880 - -#define OS_PM_4K 0 - -#define OS_VI_BIT_HIRES 512 - -#define OS_EVENT_RDB_FLUSH_PROF 21 - -#define PFS_ONE_PAGE 8 - -#define CONT_LEFT 512 - -#define LEO_TRACK_MODE 2 - -#define RCP_IMASKSHIFT 16 - -#define OS_MESG_TYPE_EDMAREAD 15 - -#define OS_VI_BIT_DEFLICKINTERLACE 8 - -#define PFS_ERR_CONTRFAIL 4 - -#define OS_IM_DP 2098177 - -#define BOOT_ADDRESS_ULTRA 2147484672 - -#define CONT_CARD_PULL 2 - -#define CONT_EEPROM_BUSY 128 - -#define OS_VI_BIT_INTERLACE 2 - -#define OS_NUM_EVENTS 23 - -#define OS_IM_CART 3073 - -#define OS_MIN_STACKSIZE 72 - -#define OS_IM_AI 263169 - -#define OS_VI_BIT_NTSC 1024 - -#define OS_MESG_TYPE_DMAREAD 11 - -#define OS_IM_NONE 1 - -#define OS_EVENT_RDB_DBG_DONE 20 - -#define OS_EVENT_RDB_FREE_RAMROM 19 - -#define OS_VI_BIT_POINTSAMPLE 32 - -#define RCP_IMASK 4128768 - -#define PFS_CORRUPTED 2 - -#define PFS_CREATE 2 - -#define BOOT_ADDRESS_EMU 536936448 - -#define OS_PIM_STACKSIZE 4096 - -#define CONT_JOYPORT 4 - -#define PFS_ERR_DEVICE 11 - -#define OS_IM_COUNTER 33793 - -#define OS_TV_MPAL 2 - -#define OS_IM_RDBWRITE 9217 - -#define SP_CLR_YIELDED 2048 - -#define VI_TIMING_REG 71303188 - -#define GIO_GIO_INTR_REG 402653184 - -#define VI_H_SYNC_REG 71303196 - -#define RDRAM_ACTIVE_MODE 1 - -#define DPS_TBIST_CHECK 1 - -#define PI_DOM_PWD_OFS 4 - -#define DPC_STATUS_FLUSH 4 - -#define PI_SET_RESET 1 - -#define VI_CTRL_GAMMA_DITHER_ON 4 - -#define RDRAM_0_END 2097151 - -#define AI_PAL_MIN_FREQ 3050 - -#define PI_STATUS_ERROR 4 - -#define SP_SET_YIELD 1024 - -#define SP_CLR_BROKE 4 - -#define RDRAM_END 4194303 - -#define DPS_TBIST_DONE 4 - -#define VI_V_SYNC_REG 71303192 - -#define PI_CART_ADDR_REG 73400324 - -#define RDRAM_DEVICE_MANUF_REG 66060324 - -#define CHNL_ERR_NORESP 128 - -#define SP_IMEM_START 67112960 - -#define MI_INTR_MASK_CLR_DP 1024 - -#define VI_H_SYNC_LEAP_REG 71303200 - -#define SP_STATUS_IO_FULL 16 - -#define SP_IBIST_REG 67633156 - -#define SP_CLR_TASKDONE 8192 - -#define DPC_PIPEBUSY_REG 68157464 - -#define MI_SET_EBUS 1024 - -#define DEVICE_TYPE_BULK 1 - -#define MI_INTR_MASK_SP 1 - -#define MI_BASE_REG 70254592 - -#define RDRAM_0_BASE_ADDRESS 0 - -#define MI_INTR_PI 16 - -#define SP_DMEM_START 67108864 - -#define SP_STATUS_HALT 1 - -#define MI_CLR_DP_INTR 2048 - -#define RDRAM_0_CONFIG 0 - -#define RDRAM_MIN_INTERVAL_REG 66060316 - -#define MI_INTR_MASK_SI 2 - -#define AI_MIN_BIT_RATE 2 - -#define DPC_CLOCK_REG 68157456 - -#define PIF_ROM_START 532676608 - -#define RI_REFRESH_REG 74448912 - -#define VI_CTRL_TYPE_16 2 - -#define AI_MPAL_MAX_FREQ 368000 - -#define MI_INTR_MASK_SET_PI 512 - -#define SP_SET_TASKDONE 16384 - -#define DPC_CURRENT_REG 68157448 - -#define VI_CONTROL_REG 71303168 - -#define MI_CLR_RDRAM 4096 - -#define SI_DRAM_ADDR_REG 75497472 - -#define AI_NTSC_MIN_FREQ 3000 - -#define SI_BASE_REG 75497472 - -#define DPC_CLR_TMEM_CTR 64 - -#define PI_BSD_DOM1_LAT_REG 73400340 - -#define SP_MEM_ADDR_REG 67371008 - -#define MI_CLR_INIT 128 - -#define DPC_CLR_XBUS_DMEM_DMA 1 - -#define MI_INTR_MASK_PI 16 - -#define VI_CTRL_TYPE_32 3 - -#define DPC_END_REG 68157444 - -#define MI_INTR_SP 1 - -#define SP_CLR_SSTEP 32 - -#define MI_INTR_SI 2 - -#define VI_V_INTR_REG 71303180 - -#define PI_STATUS_REG 73400336 - -#define DPS_TBIST_CLEAR 4 - -#define SP_IBIST_GO 2 - -#define VI_V_BURST_REG 71303212 - -#define PI_DOM_PGS_OFS 8 - -#define SP_STATUS_DMA_FULL 8 - -#define MI_SET_INIT 256 - -#define PI_DMA_BUFFER_SIZE 128 - -#define MI_INTR_VI 8 - -#define PI_DOM2_ADDR1 83886080 - -#define MI_INTR_MASK_DP 32 - -#define PI_DOM2_ADDR2 134217728 - -#define MI_INTR_MASK_SET_DP 2048 - -#define SP_SET_YIELDED 4096 - -#define VI_ORIGIN_REG 71303172 - -#define MI_MODE_RDRAM 512 - -#define RDRAM_DELAY_REG 66060296 - -#define AI_CONTROL_DMA_ON 1 - -#define DPC_CLR_FLUSH 16 - -#define SP_SET_HALT 2 - -#define RDRAM_0_DEVICE_ID 0 - -#define PI_STATUS_CLR_INTR 2 - -#define AI_STATUS_FIFO_FULL 2147483648 - -#define SI_STATUS_DMA_BUSY 1 - -#define VI_V_CURRENT_LINE_REG 71303184 - -#define MI_CLR_EBUS 512 - -#define PI_DOM_RLS_OFS 12 - -#define PI_RD_LEN_REG 73400328 - -#define SP_DRAM_ADDR_REG 67371012 - -#define MI_INTR_MASK_CLR_SP 1 - -#define RDRAM_1_DEVICE_ID 1 - -#define RI_CURRENT_LOAD_REG 74448904 - -#define PI_STATUS_DMA_BUSY 1 - -#define PI_STATUS_IO_BUSY 2 - -#define VI_V_VIDEO_REG 71303208 - -#define CHNL_ERR_FRAME 128 - -#define SP_SEMAPHORE_REG 67371036 - -#define MI_INTR_MASK_CLR_SI 4 - -#define AI_MAX_DAC_RATE 16384 - -#define SP_SET_SSTEP 64 - -#define SI_STATUS_RD_BUSY 2 - -#define GIO_GIO_SYNC_REG 402654208 - -#define SP_CLR_INTR_BREAK 128 - -#define RI_SELECT_REG 74448908 - -#define DPC_SET_FLUSH 32 - -#define RDRAM_START 0 - -#define VI_INTR_REG 71303180 - -#define RDRAM_ADDR_SELECT_REG 66060320 - -#define SP_STATUS_INTR_BREAK 64 - -#define AI_STATUS_REG 72351756 - -#define SP_IBIST_CHECK 1 - -#define SP_DMA_DMEM 0 - -#define SP_CLR_HALT 1 - -#define DPC_CLR_CMD_CTR 256 - -#define AI_PAL_MAX_FREQ 376000 - -#define AI_CONTROL_REG 72351752 - -#define RDRAM_RESET_MODE 0 - -#define DPC_STATUS_PIPE_BUSY 32 - -#define SP_STATUS_YIELD 128 - -#define VI_BASE_REG 71303168 - -#define DPS_BUFTEST_ADDR_REG 69206024 - -#define RDRAM_STANDBY_MODE 2 - -#define MI_NOOP_REG 70254596 - -#define AI_STATUS_DMA_BUSY 1073741824 - -#define SP_STATUS_SIG0 128 - -#define SP_STATUS_SIG1 256 - -#define SP_STATUS_SIG6 8192 - -#define GIO_BASE_REG 402653184 - -#define SP_STATUS_SIG7 16384 - -#define SP_STATUS_SIG4 2048 - -#define DPC_STATUS_REG 68157452 - -#define SP_STATUS_SIG5 4096 - -#define SI_STATUS_DMA_ERROR 8 - -#define SP_STATUS_SIG2 512 - -#define SP_STATUS_SIG3 1024 - -#define PIF_ROM_END 532678591 - -#define MI_INTR_MASK_CLR_PI 256 - -#define DPS_BASE_REG 69206016 - -#define DPC_STATUS_DMA_BUSY 256 - -#define PI_WR_LEN_REG 73400332 - -#define SP_PC_REG 67633152 - -#define GIO_CART_INTR_REG 402655232 - -#define DPC_STATUS_CBUF_READY 128 - -#define DPC_STATUS_TMEM_BUSY 16 - -#define PI_BSD_DOM2_PGS_REG 73400364 - -#define DPC_CLR_FREEZE 4 - -#define AI_MAX_BIT_RATE 16 - -#define DPC_BUFBUSY_REG 68157460 - -#define SP_DMA_IMEM 4096 - -#define AI_BASE_REG 72351744 - -#define RI_MODE_REG 74448896 - -#define RI_BASE_REG 74448896 - -#define VI_LEAP_REG 71303200 - -#define PI_DOM_LAT_OFS 0 - -#define VI_MPAL_CLOCK 48628316 - -#define MI_INTR_MASK_CLR_VI 64 - -#define DEVICE_TYPE_CART 0 - -#define CHNL_ERR_COLLISION 64 - -#define DPC_STATUS_XBUS_DMEM_DMA 1 - -#define RDRAM_DEVICE_TYPE_REG 66060288 - -#define MI_SET_RDRAM 8192 - -#define DPC_SET_FREEZE 8 - -#define PIF_RAM_END 532678655 - -#define MI_MODE_EBUS 256 - -#define DPC_STATUS_CMD_BUSY 64 - -#define AI_MIN_DAC_RATE 132 - -#define DPC_CLR_PIPE_CTR 128 - -#define AI_DACRATE_REG 72351760 - -#define SP_BASE_REG 67371008 - -#define SP_DMA_FULL_REG 67371028 - -#define PI_DOM1_ADDR3 533725184 - -#define RDRAM_GLOBAL_CONFIG 524288 - -#define PI_DOM1_ADDR2 268435456 - -#define MI_VERSION_REG 70254596 - -#define PI_DOM1_ADDR1 100663296 - -#define AI_MPAL_MIN_FREQ 3000 - -#define AI_NTSC_MAX_FREQ 368000 - -#define VI_H_VIDEO_REG 71303204 - -#define RDRAM_1_CONFIG 1024 - -#define VI_WIDTH_REG 71303176 - -#define SP_STATUS_DMA_BUSY 4 - -#define VI_CTRL_DIVOT_ON 16 - -#define VI_CTRL_DITHER_FILTER_ON 65536 - -#define RI_WERROR_REG 74448924 - -#define VI_PAL_CLOCK 49656530 - -#define PI_BSD_DOM2_RLS_REG 73400368 - -#define DPS_TBIST_GO 2 - -#define RI_CONFIG_REG 74448900 - -#define PI_CLR_INTR 2 - -#define DPC_TMEM_REG 68157468 - -#define VI_CTRL_GAMMA_ON 8 - -#define RDRAM_DEVICE_ID_REG 66060292 - -#define PI_STATUS_RESET 1 - -#define SP_IBIST_FAILED 120 - -#define MI_INTR_MASK_SET_AI 32 - -#define SP_WR_LEN_REG 67371020 - -#define SP_DMA_BUSY_REG 67371032 - -#define AI_LEN_REG 72351748 - -#define AI_DRAM_ADDR_REG 72351744 - -#define SI_STATUS_INTERRUPT 4096 - -#define PI_DRAM_ADDR_REG 73400320 - -#define MI_INTR_MASK_AI 4 - -#define SP_STATUS_BROKE 2 - -#define VI_H_START_REG 71303204 - -#define SP_SET_SIG5 1048576 - -#define SP_SET_SIG4 262144 - -#define SP_SET_SIG3 65536 - -#define SP_SET_SIG2 16384 - -#define SP_SET_SIG1 4096 - -#define SP_SET_SIG0 1024 - -#define VI_NTSC_CLOCK 48681812 - -#define DEVICE_TYPE_64DD 2 - -#define MI_INTR_AI 4 - -#define MI_INTR_REG 70254600 - -#define VI_Y_SCALE_REG 71303220 - -#define RDRAM_CONFIG_REG 66060288 - -#define RDRAM_REF_ROW_REG 66060308 - -#define DPC_STATUS_END_VALID 512 - -#define SP_SET_SIG7 16777216 - -#define SP_SET_SIG6 4194304 - -#define DPC_STATUS_START_GCLK 8 - -#define MI_INTR_MASK_SET_VI 128 - -#define RI_COUNT_REG 74448912 - -#define SI_PIF_ADDR_RD64B_REG 75497476 - -#define MI_INTR_MASK_REG 70254604 - -#define MI_MODE_INIT 128 - -#define SP_SET_INTR 16 - -#define SP_STATUS_TASKDONE 512 - -#define PI_BSD_DOM2_PWD_REG 73400360 - -#define DPC_START_REG 68157440 - -#define VI_X_SCALE_REG 71303216 - -#define VI_CTRL_SERRATE_ON 64 - -#define SP_CLR_SIG7 8388608 - -#define SP_IBIST_DONE 4 - -#define SP_CLR_SIG5 524288 - -#define SP_CLR_SIG6 2097152 - -#define SP_CLR_SIG3 32768 - -#define SP_CLR_SIG4 131072 - -#define SP_CLR_SIG1 2048 - -#define SP_CLR_SIG2 8192 - -#define SP_CLR_SIG0 512 - -#define SP_STATUS_REG 67371024 - -#define CHNL_ERR_OVERRUN 64 - -#define SP_DMEM_END 67112959 - -#define MI_INIT_MODE_REG 70254592 - -#define VI_STATUS_REG 71303168 - -#define MI_INTR_MASK_VI 8 - -#define VI_CTRL_ANTIALIAS_MASK 768 - -#define SI_STATUS_REG 75497496 - -#define DPC_STATUS_FREEZE 2 - -#define PI_DOMAIN1_REG 73400340 - -#define RDRAM_1_BASE_ADDRESS 2097152 - -#define RI_LATENCY_REG 74448916 - -#define VI_CURRENT_REG 71303184 - -#define DPS_BUFTEST_DATA_REG 69206028 - -#define CHNL_ERR_MASK 192 - -#define RDRAM_RAS_INTERVAL_REG 66060312 - -#define VI_H_WIDTH_REG 71303176 - -#define SP_SET_INTR_BREAK 256 - -#define DPS_TBIST_FAILED 2040 - -#define MI_MODE_REG 70254592 - -#define DPS_TBIST_REG 69206016 - -#define MI_INTR_MASK_SET_SI 8 - -#define DPC_CLR_CLOCK_CTR 512 - -#define RDRAM_MODE_REG 66060300 - -#define VI_DRAM_ADDR_REG 71303172 - -#define MI_INTR_MASK_SET_SP 2 - -#define SP_IBIST_CLEAR 4 - -#define MI_INTR_DP 32 - -#define DPC_BASE_REG 68157440 - -#define RDRAM_REF_INTERVAL_REG 66060304 - -#define SI_PIF_ADDR_WR64B_REG 75497488 - -#define RI_RERROR_REG 74448920 - -#define RDRAM_1_START 2097152 - -#define RDRAM_LENGTH 2097152 - -#define SP_CLR_YIELD 512 - -#define RDRAM_1_END 4194303 - -#define DPC_SET_XBUS_DMEM_DMA 2 - -#define VI_V_START_REG 71303208 - -#define PIF_RAM_START 532678592 - -#define PI_BSD_DOM2_LAT_REG 73400356 - -#define RDRAM_0_START 0 - -#define SP_IMEM_END 67117055 - -#define SP_RD_LEN_REG 67371016 - -#define MI_INTR_MASK_CLR_AI 16 - -#define AI_BITRATE_REG 72351764 - -#define PI_BSD_DOM1_PWD_REG 73400344 - -#define PI_DOMAIN2_REG 73400356 - -#define DPS_TEST_MODE_REG 69206020 - -#define PI_BSD_DOM1_PGS_REG 73400348 - -#define SP_STATUS_SSTEP 32 - -#define PI_BSD_DOM1_RLS_REG 73400352 - -#define VI_BURST_REG 71303188 - -#define RDRAM_BASE_REG 66060288 - -#define SP_CLR_INTR 8 - -#define DPC_STATUS_START_VALID 1024 - -#define SP_STATUS_YIELDED 256 - -#define PI_BASE_REG 73400320 - -#define AI_CONTROL_DMA_OFF 0 - -typedef struct _Pft _Pft, *P_Pft; - -typedef union _union_225 _union_225, *P_union_225; - - -// WARNING! conflicting data type names: /XSTDIO.H/size_t - /stddef.h/size_t - -typedef double ldouble; - -union _union_225 { - longlong ll; - ldouble ld; -}; - -struct _Pft { - union _union_225 v; - char * s; - int n0; - int nz0; - int n1; - int nz1; - int n2; - int nz2; - int prec; - int width; - size_t nchar; - uint flags; - char qual; -}; - -#define _WMAX 999 - -#define _FZE 16 - -#define _FNO 8 - -#define _FSP 1 - -#define _FPL 2 - -#define _FMI 4 - - -// WARNING! conflicting data type names: /tlb.h/OSPageMask - /os.h/OSPageMask - -#define TASKBASELO 4224 - -#define DRAM_STACK_LO 64512 - -#define RSP_DMEM_BASE 67108864 - -#define RSP_IMEM_BASE 67112960 - -#define TASKBASEHI 1024 - -#define DRAM_STACK_HI 31 - -#define rsp_TRIG_BASEHI 4097 - -#define rsp_TRIG_BASELO 0 - -#define rsp_TRIG_BASE 268500992 - -#define _RSP_H_ 1 - -#define RDP_BUFF_HI 8192 - -#define RSP_SCRATCH_BASE 536870912 - -#define DCACHEBASEHI 1024 - -#define RDP_BUFF_LO 0 - -#define DCACHEBASELO 0 - -#define RSPBOOTBASEHI 1024 - -#define RSPBOOTBASELO 4096 - -#define rsp_DRAM_STACK_HI 32 - -#define rsp_DRAM_STACK_LO 0 - - -// WARNING! conflicting data type names: /bondtypes.h/sImageTableEntry - /sImageTableEntry - -typedef struct objective_entry objective_entry, *Pobjective_entry; - - -// WARNING! conflicting data type names: /bondtypes.h/watchMenuObjectiveText - /auto_structs/watchMenuObjectiveText - -struct objective_entry { - u32 id; - enum WATCH_BRIEFING_PAGE menu; - u16 reserved; - u16 text; - struct watchMenuObjectiveText * nextentry; -}; - -typedef struct CHRdata CHRdata, *PCHRdata; - -struct CHRdata { - u16 chrnum; - s8 accuracyrating; - s8 speedrating; - u8 firecountleft; - u8 firecountright; - s8 headnum; - s8 actiontype; - s8 sleep; - s8 invalidmove; - s8 numclosearghs; - s8 numarghs; - u8 fadealpha; - s8 arghrating; - s8 aimendcount; - s8 bodynum; - u8 grenadeprob; - s8 flinchcnt; - s16 hidden; - s32 chrflags; - void * pad; - void * model; - void * field_20; - f32 chrwidth; - f32 chrheight; - void * bondpos; - int field_30; - short field_34; - char field_36; - char field_37; - char field_38; - char field_39; - char field_3A; - char field_3B; - int path_target_position; - int field_40; - int field_44; - int field_48; - int field_4C; - int field_50; - int field_54; - char type_of_motion; - char distance_counter_or_something; - short distance_to_target; - int field_5C; - int target_position; - int field_64; - int field_68; - int field_6C; - int path_segment_coverage; - int path_segment_length; - int field_78; - int field_7C; - int field_80; - int field_84; - int field_88; - int field_8C; - int field_90; - int segment_coverage; - int segment_length; - int field_9C; - int field_A0; - f32 sumground; - f32 manground; - f32 ground; - f32 fallspeed[3]; - f32 prevpos[3]; - s32 lastwalk60; - s32 lastmoveok60; - f32 visionrange; - s32 lastseetarget60; - f32 lastvisibletarg[3]; - void * field_E4; - s32 timeshooter; - f32 hearingscale; - s32 lastheartarget60; - u8 shadecol[4]; - u8 nextcol[4]; - f32 damage; - f32 maxdamage; - void * ailist; - u16 aioffset; - u16 aireturnlist; - u8 flags; - u8 flags2; - u8 BITFIELD; - u8 random; - s32 timer60; - u16 padpreset1; - u16 chrpreset1; - u16 chrseeshot; - u16 chrseedie; - f32 field_11C[2]; - f32 field_124[2]; - f32 field_12C[2]; - int field_134; - int field_138; - f32 shotbondsum; - f32 aimuplshoulder; - f32 aimuprshoulder; - f32 aimupback; - f32 aimsideback; - f32 aimendlshoulder; - f32 aimendrshoulder; - f32 aimendback; - f32 aimendsideback; - int * handle_positiondata[2]; - int * ptr_SEbuffer1; - int * ptr_SEbuffer2; - int * ptr_SEbuffer3; - int * ptr_SEbuffer4; - int field_178; - int field_17C; - char field_180; - char field_181; - char field_182; - char field_183; - int field_184; - int field_188; - int field_18C; - int field_190; - int field_194; - int field_198; - int field_19C; - int field_1A0; - int field_1A4; - int field_1A8; - char field_1AC; - char field_1AD; - char field_1AE; - char field_1AF; - int field_1B0; - int field_1B4; - int field_1B8; - int field_1BC; - int field_1C0; - int field_1C4; - int field_1C8; - int field_1CC; - int field_1D0; - int field_1D4; - int * handle_positiondata_hat; -}; - -typedef struct rgba_valf32 rgba_valf32, *Prgba_valf32; - -struct rgba_valf32 { - f32 r; - f32 g; - f32 b; - f32 a; -}; - - -// WARNING! conflicting data type names: /bondtypes.h/sGlobalImageTable - /auto_structs/sGlobalImageTable - -#define MIN_PART 3 - -#define OS_CODE 3 - -#define RECORD_IO 0 - -#define MAX_SUFFIX 30 - -typedef s16 ALSndId; - - -// WARNING! conflicting data type names: /libaudio.h/ALSeqPlayer - /GE Current Master.h/ALSeqPlayer - -typedef struct ALCMidiHdr ALCMidiHdr, *PALCMidiHdr; - -struct ALCMidiHdr { - u32 trackOffset[16]; - u32 division; -}; - - -// WARNING! conflicting data type names: /libaudio.h/ALSeqFile - /GE Current Master.h/ALSeqFile - - -// WARNING! conflicting data type names: /libaudio.h/ALSndPlayer - /GE Current Master.h/ALSndPlayer - -typedef enum AL_MIDIstatus { - AL_MIDI_ActiveSensing=254, - AL_MIDI_ChannelMask=15, - AL_MIDI_ChannelModeSelect=176, - AL_MIDI_ChannelPressure=208, - AL_MIDI_ChannelVoice=128, - AL_MIDI_Continue=251, - AL_MIDI_ControlChange=176, - AL_MIDI_EOX=247, - AL_MIDI_Meta=255, - AL_MIDI_NoteOff=128, - AL_MIDI_NoteOn=144, - AL_MIDI_PitchBendChange=224, - AL_MIDI_PolyKeyPressure=160, - AL_MIDI_ProgramChange=192, - AL_MIDI_SongPositionPointer=242, - AL_MIDI_SongSelect=243, - AL_MIDI_Start=250, - AL_MIDI_StatusMask=240, - AL_MIDI_Stop=252, - AL_MIDI_SysEx=240, - AL_MIDI_SystemCommon=241, - AL_MIDI_SystemRealTime=248, - AL_MIDI_SystemReset=255, - AL_MIDI_TimeCodeQuarterFrame=241, - AL_MIDI_TimingClock=248, - AL_MIDI_TuneRequest=246, - AL_MIDI_Undefined1=244, - AL_MIDI_Undefined2=245, - AL_MIDI_Undefined3=249, - AL_MIDI_Undefined4=253 -} AL_MIDIstatus; - - -// WARNING! conflicting data type names: /libaudio.h/ALSndpConfig - /GE Current Master.h/ALSndpConfig - -typedef struct ALCSeq_s ALCSeq_s, *PALCSeq_s; - -struct ALCSeq_s { - struct ALCMidiHdr * base; - u32 validTracks; - f32 qnpt; - u32 lastTicks; - u32 lastDeltaTicks; - u32 deltaFlag; - u8 * curLoc[16]; - u8 * curBUPtr[16]; - u8 curBULen[16]; - u8 lastStatus[16]; - u32 evtDeltaTicks[16]; -}; - -typedef struct ALVoiceConfig_s ALVoiceConfig_s, *PALVoiceConfig_s; - -struct ALVoiceConfig_s { - s16 priority; - s16 fxBus; - u8 unityPitch; -}; - -typedef struct ALVoiceConfig_s ALVoiceConfig; - -typedef struct ALCSPlayer ALCSPlayer, *PALCSPlayer; - -typedef struct ALCSeq_s ALCSeq; - -struct ALCSPlayer { - ALPlayer node; - struct ALSynth * drvr; - ALCSeq * target; - ALMicroTime curTime; - ALBank * bank; - s32 uspt; - s32 nextDelta; - s32 state; - u16 chanMask; - s16 vol; - u8 maxChannels; - u8 debugFlags; - struct ALEvent nextEvent; - struct ALEventQueue evtq; - ALMicroTime frameTime; - struct ALChanState * chanState; - ALVoiceState * vAllocHead; - ALVoiceState * vAllocTail; - ALVoiceState * vFreeList; - ALOscInit initOsc; - ALOscUpdate updateOsc; - ALOscStop stopOsc; -}; - -typedef void * ALFxRef; - -typedef struct ALBankFile ALBankFile, *PALBankFile; - -struct ALBankFile { - s16 revision; - s16 bankCount; - ALBank * bankArray[1]; -}; - -typedef struct ALEventListItem ALEventListItem, *PALEventListItem; - -struct ALEventListItem { - ALLink node; - ALMicroTime delta; - struct ALEvent evt; -}; - -typedef enum ALMsg { - AL_CSP_LOOPEND=20, - AL_CSP_LOOPSTART=19, - AL_CSP_NOTEOFF_EVT=21, - AL_NOTE_END_EVT=5, - AL_SEQP_API_EVT=9, - AL_SEQP_BANK_EVT=14, - AL_SEQP_ENV_EVT=6, - AL_SEQP_LOOP_EVT=11, - AL_SEQP_META_EVT=7, - AL_SEQP_MIDI_EVT=2, - AL_SEQP_PLAY_EVT=15, - AL_SEQP_PRIORITY_EVT=12, - AL_SEQP_PROG_EVT=8, - AL_SEQP_SEQ_EVT=13, - AL_SEQP_STOPPING_EVT=17, - AL_SEQP_STOP_EVT=16, - AL_SEQP_VOL_EVT=10, - AL_SEQ_END_EVT=4, - AL_SEQ_MIDI_EVT=1, - AL_SEQ_REF_EVT=0, - AL_TEMPO_EVT=3, - AL_TRACK_END=18, - AL_TREM_OSC_EVT=22, - AL_VIB_OSC_EVT=23 -} ALMsg; - - -// WARNING! conflicting data type names: /libaudio.h/ALSeqpConfig - /GE Current Master.h/ALSeqpConfig - - -// WARNING! conflicting data type names: /libaudio.h/ALSynConfig - /GE Current Master.h/ALSynConfig - -typedef enum enum_100 { - AL_ADPCM_WAVE=0, - AL_RAW16_WAVE=1 -} enum_100; - - -// WARNING! conflicting data type names: /libaudio.h/ALCSeqMarker - /GE Current Master.h/ALCSeqMarker - -typedef enum AL_MIDIctrl { - AL_MIDI_FX1_CTRL=91, - AL_MIDI_FX3_CTRL=93, - AL_MIDI_FX_CTRL_0=20, - AL_MIDI_FX_CTRL_1=21, - AL_MIDI_FX_CTRL_2=22, - AL_MIDI_FX_CTRL_3=23, - AL_MIDI_FX_CTRL_4=24, - AL_MIDI_FX_CTRL_5=25, - AL_MIDI_FX_CTRL_6=26, - AL_MIDI_FX_CTRL_7=27, - AL_MIDI_FX_CTRL_8=28, - AL_MIDI_FX_CTRL_9=29, - AL_MIDI_PAN_CTRL=10, - AL_MIDI_PRIORITY_CTRL=16, - AL_MIDI_SUSTAIN_CTRL=64, - AL_MIDI_VOLUME_CTRL=7 -} AL_MIDIctrl; - -typedef enum AL_MIDImeta { - AL_MIDI_META_EOT=47, - AL_MIDI_META_TEMPO=81 -} AL_MIDImeta; - -#define AL_PAN_LEFT 0 - -#define AL_MAX_PRIORITY 127 - -#define AL_PLAYING 1 - -#define AL_SUSTAIN 63 - -#define AL_PHASE_SUSTREL 4 - -#define AL_FX_CUSTOM 6 - -#define AL_FX_BIGROOM 2 - -#define AL_STOPPED 0 - -#define AL_PAN_RIGHT 127 - -#define AL_FX_FLANGE 4 - -#define AL_PHASE_NOTEON 0 - -#define AL_VOL_FULL 127 - -#define AL_DEFAULT_FXMIX 0 - -#define AL_PHASE_RELEASE 3 - -#define AL_USEC_PER_FRAME 16000 - -#define AL_CMIDI_CNTRL_LOOPEND 103 - -#define AL_PAN_CENTER 64 - -#define AL_CMIDI_CNTRL_LOOPSTART 102 - -#define AL_DEFAULT_PRIORITY 5 - -#define AL_STOPPING 2 - -#define AL_EVTQ_END 2147483647 - -#define AL_CMIDI_LOOPEND_CODE 45 - -#define AL_CMIDI_BLOCK_CODE 254 - -#define NO_VOICE_ERR_MASK 4 - -#define AL_PHASE_ATTACK 0 - -#define AL_FX_BUFFER_SIZE 8192 - -#define AL_GAIN_CHANGE_TIME 1000 - -#define AL_DEFAULT_VOICE 0 - -#define AL_PHASE_DECAY 1 - -#define AL_HEAP_MAGIC 544434803 - -#define AL_MAX_CHANNELS 16 - -#define NO_SOUND_ERR_MASK 1 - -#define AL_FRAME_INIT -1 - -#define AL_KEY_MAX 127 - -#define AL_FX_NONE 0 - -#define AL_CMIDI_LOOPSTART_CODE 46 - -#define AL_FX_CHORUS 3 - -#define AL_FX_SMALLROOM 1 - -#define NOTE_OFF_ERR_MASK 2 - -#define AL_HEAP_DEBUG 1 - -#define AL_CMIDI_CNTRL_LOOPCOUNT_BIG 105 - -#define AL_FX_ECHO 5 - -#define AL_KEY_MIN 0 - -#define AL_CMIDI_CNTRL_LOOPCOUNT_SM 104 - -#define AL_PHASE_SUSTAIN 2 - -#define AL_HEAP_INIT 0 - -#define DG_TINYMON_READ_OP 1 - -#define PI_BASE_REG_UPPER 1120 - -#define DG_RAMROM_CMD_READY 3 - -#define GIO_BASE_REG_UPPER 6144 - -#define DG_RAMROM_CMD_DONE 4 - -#define GIO_SYNC_REG_OFFSET 1024 - -#define DG_RAMROM_REQUEST 1 - -#define CART_INTR_REG_OFFSET 2048 - -#define PI_STATUS_REG_OFFSET 16 - -#define DG_CARTREG_MASK 63 - -#define RAMROM_BASE_UPPER 4096 - -#define DG_TINYMON_DMA_READ_OP 3 - -#define GIO_BASE_REG_UPPER_K1 47104 - -#define PIFMON_WRITE_ADDR 264241200 - -#define DG_TINYMON_DMA_WRITE_OP 4 - -#define RAMROM_BASE_UPPER_K1 45056 - -#define DG_RAMROM_GRANT 2 - -#define GIO_INTR_REG_OFFSET 0 - -#define DG_TINYMON_WRITE_OP 2 - -#define PI_BASE_REG_UPPER_K1 42080 - - - - -u32 * get_cdata_vaddr(void); -u32 * get_cdata_rom_start(void); -u32 * get_cdata_rom_end(void); -u32 * get_RareZipASMRomstart(void); -u32 get_RareZipASMRomend(void); -void jump_decompressfile(int source,int target,int buffer); -int init(EVP_PKEY_CTX *ctx); -void * set_stack_entry(void *stack,s32 size); -void set_hw_address_and_unknown(void); -void thread1_idle(void); -void start_idle_thread(void); -void start_rmon_thread(void); -void init_scheduler(void); -void main_entry(void); -void setuplastentryofdebughandler(void); -void activate_stderr(BOOL flag); -void enable_stderr(BOOL flag); -void permit_stderr(BOOL flag); -void setUserCompareValue(u32 value); -void CheckDisplayErrorBuffer(void *frameBufPtr); -void CheckDisplayErrorBufferEvery16Frames(u32 framecount); -void setcurrentcount(void); -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 __scMain(OSSched *sc); -void __scHandleRetrace(OSSched *sc); -void __scHandleRSP(OSSched *sc); -void * get_counters(void); -void __scHandleRDP(OSSched *sc); -OSScTask * *__scTaskReady(OSScTask *__return_storage_ptr__,OSScTask *t); -s32 __scTaskComplete(OSSched *sc,OSScTask *t); -void __scAppendList(OSSched *sc,OSScTask *t); -void __scExec(OSSched *sc,OSScTask *sp,OSScTask *dp); -void __scYield(OSSched *sc); -s32 __scSchedule(OSSched *sc,OSScTask **sp,OSScTask **dp,s32 availRCP); -void osMapTLBRdb(void); -void establish_TLB_buffer_management_table(void); -u32 mp_tlb_related(void); -s32 return_TLB_index_for_entry(int param_1); -void find_remove_TLB_entry(int entry); -void remove_TLB_entry_from_table(int param_1); -void translate_load_rom_from_TLBaddress(void *address); -undefined * getptr_TLBallocatedblock(void); -u32 return_tlb_random_value(void); -void resolve_TLBaddress_for_InvalidHit(void); -void set_hardwire_TLB_to_2(void); -void amCreateAudioMgr(ALSynConfig *c,OSPri priority,amConfig *amc); -void startaudithread(void); -void _amMain(void); -u32 __amHandleFrameMsg(AudioInfo *info,AudioInfo *lastInfo); -void __amHandleDoneMsg(AudioInfo *info); -s32 __amDMA(s32 addr,s32 len,void *state); -ALDMAproc __amDmaNew(AMDMAState **state); -void __clearAudioDMA(void); -void displaylist_related(void); -void video_related_1(void); -void video_related_2(void); -void video_related_3(uint param_1); -undefined4 * display_speed_graph(void); -void video_DL_related_4(void); -void init_video_settings(void); -void init_both_video_buffers(void); -void video_store_A0_plus_2_to_off_D_800232BC(int param_1); -void video_related_7(void); -void video_related_8(void); -void video_related_9(float param_1); -void receive_vi_c_msgs(int msgcount); -void setVideoWidthHeightToMode(char videomode); -void set_coloroutputmode_16bit(void); -void set_coloroutputmode_32bit(void); -u8 * get_video_settings2_frameb(void); -u8 * get_video_settings1_frameb(void); -void set_video_settings2_frameb(u8 *framebuffer); -ulonglong get_80060824(void); -uint * proc_70003C58(uint *param_1); -undefined4 * proc_70003EB4(undefined4 *param_1); -undefined4 * insert_generic_fillrect(undefined4 *param_1); -uint * setupscreensfornumplayers(undefined4 *param_1); -void set_video_mp_related_800232A0(s32 param_1); -s32 get_video_mp_related_800232A0(void); -void set_video_mp_related_8002329C(undefined4 param_1); -undefined4 get_video_mp_related_8002329C(void); -void set_video2_settings_offset_18_1A(short param_1,short param_2); -short get_video2_settings_offset_18(void); -short get_video2_settings_offset_1A(void); -void set_video2_text_clip_size(short txtClipW,short txtClipH); -s16 get_video2_settings_txtClipW(void); -short get_video2_settings_txtClipH(void); -void set_video2_width_height(short width,short height); -short get_video2_settings_width(void); -short get_video2_settings_height(void); -void set_video2_ulx_uly(short ulx,short uly); -short get_video2_settings_ulx(void); -short get_video2_settings_uly(void); -void set_video2_settings_offset_24(int param_1); -void setvideo_far(f32 param_1); -void video_related_21(f32 param_1); -undefined4 video_related_23(void); -void video_related_24(float param_1,float param_2,float param_3); -void set_page_height(f32 aspect,f32 height); -void video_related_27(undefined4 *param_1); -undefined4 * set_setfillcolor(undefined4 *DL,uint red,uint green,int blue); -void indy_grab_jpg_16bit(void); -void indy_grab_jpg_32bit(void); -void indy_grab_rgb_16bit(void); -void indy_grab_rgb_32bit(void); -int * return_match_in_debug_notice_list(char *name,char *data); -void get_entry_of_size_in_debug_notice_list(int size); -void add_new_entry_to_debug_notice_list(dword name,dword data); -void add_debug_notice_deb_c_debug(void); -void get_ptr_debug_notice_list_entry(void *data,char *name); -void scan_debug_notice_list_till_NULL(void); -void proc_70004EBC(void); -void debug_removed(undefined4 param_1,undefined4 param_2,undefined4 param_3); -void init_tlb(void); -void translate_7F_address(void *param_1); -int debug_related_8(uint *op_cur,uint *op_start,int fn_sp,undefined4 *fn_reg); -BOOL was_opcode_a_jal_r_within_70000450_70020D90(u32 *function); -int return_strlen(char *str); -uint indy_file_get_address_subsequent_data(int hardware_address); -undefined8 scan_load_resourceID_from_indy_read_buf(uint resourceID); -ulonglong is_valid_indy_read_buf_resourceID(void); -void debug_indy_stub(void); -void debug_indy_stub_0(void); -void debug_indy_stub_1(void); -undefined4 return_indy_read_buf_resourceID(void); -uint debug_sp_related_11(void *addressspace,u32 entrynum); -uint debug_sp_related_12(void *addressspace,u32 entrynum); -BOOL _is_normal_single_precision_float(f32 fnum); -void is_normal_single_precision_float(undefined8 target,uint float); -void set_normality_of_single_precision_floats(u64 target,f32 param_2,f32 param_3,f32 param_4,f32 param_5); -void proc_70005628(void); -void write_char_to_pos_stderr(int xpos,int ypos,byte letter); -u32 __osRdbSend(u8 *buf,u32 size,u32 type); -void scroll_stderr_oneline(longlong ypos); -void print_to_vidbuff1(int xpos,int ypos,byte char); -void set_ptr_video_buffers(uint *buffer1,uint *buffer2); -void set_video_buffer_pointers(void); -void write_stderr_to_buffer(void *buffer); -s32 return_last_RA_saved_to_stack(undefined4 param_1); -void romCreateMesgQueue(void); -void doRomCopy(void *target,void *source,u32 size); -void romReceiveMesg(void); -void romCopy(char *src,char *dest,int len); -s32 romCopyAligned(void *target,void *source,s32 length); -void doRomWrite(void *source,void *target,u32 size); -void romWrite(void *source,void *target,u32 size); -void init_mainthread_data(void); -void enable_show_mem_use_flag(void); -void mem_bars_flag_toggle(void); -void setup_gamevalues_and_launchmainloop(void); -void mainloop(void); -void run_title_stage(void); -void set_loaded_stage(LEVELID stage); -LEVELID get_stage_num(void); -void return_to_title_from_level_end(void); -undefined4 get_debug_parse_flag(void); -void something_with_boss_c_debug(void); -void audio_related(void *datatable,int numsamples); -void setupaudio(void); -void musicTrack1Play(MUSIC_TRACKS track); -void musicTrack1Stop(void); -ulonglong get_music1vol(void); -void musicTrack1Vol(s16 param_1); -void music_related_0(void); -void music_related_1(f32 rate); -void music_related_3(float rate,s32 param_2,short length); -void music_related_2nd_block(int param_1); -void musicTrack2Stop(void); -ulonglong get_music2vol(void); -void musicTrack2Vol(s16 param_1); -void music_related_5(void); -void music_related_6(float param_1); -void music_related_8(float param_1,undefined8 param_2,short param_3); -void music_related_3rd_block(int param_1); -void musicTrack3Stop(void); -ulonglong get_music3vol(void); -void musicTrack3Vol(ulonglong param_1); -void music_related_10(void); -void music_related_11(float param_1); -void music_related_13(float param_1,undefined8 param_2,short param_3); -void music_related_15(void); -void music_related_16(uint *param_1); -ALMicroTime _sndpVoiceHandler(ALSndPlayer *node); -void _handleEvent(ALSndPlayer *sndp,u32 *event); -void music_related_19(int **param_1); -void music_related_20(int param_1); -void _removeEvents(ALEventQueue *evtq,u32 *state); -uint music_related_22(short *param_1,short *param_2); -ALLink * music_related_23(void *buffer,ALLink_s *param_2); -void music_related_24(int **param_1); -void music_related_25(int param_1,undefined param_2); -ulonglong sfxGetArg0Unk3F(ALLink_s *param_1); -void play_sfx_a1(void *buffer,short entry,ALSndPlayer *data); -void sfxDeactivate(int param_1); -void music_related_29(byte param_1); -void music_related_30(void); -void music_related_32(void); -void music_related_34(void); -void music_related_36(longlong param_1,s16 param_2,undefined4 param_3); -u32 sfx_c_700091C8(void); -void music_related_38(ulonglong param_1); -void music_related_39(f32 param_1); -ulonglong music_related_40(uint param_1); -void music_related_42(ulonglong param_1,ulonglong param_2); -void something_with_memp_c_debug(void); -void mempCheckMemflagTokens(int bstart,int bsize); -void mempSetBankStarts(int *banks); -uint mempAllocBytesInBank(u32 bytes,u8 bank); -u32 memAddEntryOfSizeToBank(u8 *ptrdata,int size,uint bank); -void nulled_list_all8_mem_alloc_banks_sizes(void); -s32 memGetBankSizeLeft(u8 bank); -uint memAllocPackedBytesInBank(uint param_1); -void mempResetBank(u8 bank); -void mempNullNextEntryInBank(u8 bank); -void memaSwap(u8 *a,u8 *b); -void memaMerge(int param_1,undefined4 *param_2); -s32 memaSortMergeEntries(s_mem_alloc_table *param_1); -void memaSortMergeAllEntries(void); -s_mem_alloc_entry * memaFindOpening(s_mem_alloc_table *param_1); -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); -int mem_related_something_find_first(uint size); -int mem_related_something_find_first_0(int addr,uint size); -void mem_related_model_room_buffers_0(u32 addr,u32 size); -void mem_related_allocated_table_related(void); -float mem_related_something_first_related(void); -void generate_list_alloc_mem(void); -void memaGenerateListsBeforeAfterMerge(void); -void mem_related_something_first_related_0(undefined *param_1); -uint mem_related_0(void); -u32 mem_related_1(int addr,u32 length,u32 maxsize); -u32 get_random_value(void); -void increment_random_num(longlong param_1); -u32 lotsa_shifting_random_related(ulonglong *param_1); -byte * check_string_something(byte *param_1); -char * strtok(char *__s,char *__delim); -void check_boot_switches(void); -byte * check_token(int param_1,byte *param_2); -char * textpointer_load_parse_something(char *param_1,char *param_2); -char * something_with_strings(char *param_1,char *param_2,int size); -void string_append_from_obseg_textbank(char *buffer,char *textfiletext); -undefined8 something_with_strings_0(byte *param_1,char *param_2); -void dummy7000A890(void); -undefined8 string_related(byte *param_1,byte *param_2,longlong param_3); -u8 strtol_related(u8 param_1); -u8 strtol_related_0(u8 param_1); -u8 strtol_related_1(u8 param_1); -ulonglong strtol_related_2(char param_1); -long strtol(char *__nptr,char **__endptr,int __base); -int proutSprintf(void *s,char *buf,size_t n); -int sprintf(char *__s,char *__format,...); -void start_pi_manager(void); -void removed_7000ad30(void); -void something_with_vi_c_debug(void); -undefined8 removed_7000AD80(undefined4 param_1,undefined4 param_2); -undefined8 removed_7000AD90(undefined4 param_1,undefined4 param_2); -void removed_7000ada0(void); -void removed_7000ada8(void); -void debug_text_related_2(void); -void display_text_to_coord(int x,int y,char char); -void debugMenuSetTextPOStoOffset(void); -void blank_debug_buffer_chars(void); -void removed_7000af84(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4); -int something_debug_info_related(int param_1); -void set_final_debug_text_positions(s32 xadjust,s32 yadjust); -void set_debug_text_color(s32 red,s32 blue,s32 green,s32 alpha); -void set_color_speedgraph(int red,int green,int blue,int alpha); -void write_char_to_screen(byte character); -void debug_printcharatpos(int x,int y,byte letter); -void write_string_stdout(u8 *string); -void debug_text_related(int x,int y,byte *character); -uint * read_screen_display_block_and_write_chars(uint *param_1); -void something_with_joy_c_debug(void); -void test_controller_presence(void); -s32 osPfsChecker(OSPfs *param_1); -void controller_7000B734(uint param_1); -void controller_check_for_rumble_maybe(void); -u64 get_attached_controller_count(void); -ulonglong get_num_controllers_plugged_in(void); -void controller_rumble_related(void); -void set_disable_all_rumble_and_something(undefined4 param_1,undefined4 param_2); -void set_ptr_tlb_ramrom_record(undefined4 param_1); -void probably_ramrom_related(int param_1); -void redirect_to_ramrom_replay_and_record_handlers_if_set(void); -longlong controllerSchedulerRelated(void); -s32 get_cur_controller_horz_stick_pos(char param_1); -undefined controller_7000C174(char param_1); -s32 get_cur_controller_vert_stick_pos(char param_1); -undefined controller_7000C284(char param_1); -u32 get_controller_buttons_held(char param_1,controller_buttons param_2); -u32 get_controller_buttons_pressed(char param_1,controller_buttons param_2); -void proc_7000C430(char *param_1,uint param_2); -void proc_7000C470(void); -int get_controller_3dstick_L_R(char param_1,int param_2,int param_3); -int get_controller_3dstick_U_D(char param_1,int param_2,int param_3); -float controller_7000C59C(char param_1,float param_2,float param_3); -float controller_7000C60C(char param_1,float param_2,float param_3); -void controller_7000C67C(void); -void controller_7000C6BC(void); -s32 save_7000C6FC(void); -int save_7000C734(byte param_1,undefined *param_2); -int save_7000C778(byte param_1,undefined *param_2); -s32 save_7000C7BC(byte param_1,save_file *param_2,int param_3); -s32 save_7000C808(byte address,u8 *buffer,int length); -void controller_7000C854(int param_1,s32 param_2); -void reset_cont_rumble_detect(void); -void controller_7000C930(int param_1); -int controller_7000C954(void); -int send_rumble_off_to_PIF(int param_1); -int controller_7000CAAC(int param_1); -void controller_7000CBDC(uint channel,uint param_2,undefined *param_3,undefined4 *param_4); -int controller_7000CD38(OSMesgQueue *mq,undefined4 *param_2,uint channel); -void rmon_entry(void); -BOOL rmon_debug_is_final_build(void); -s32 rmon_debug_returns_neg_1(void); -void removed_7000ceb8(void); -void rmon_debug_stub_0(void); -void removed_7000cec8(void); -void removed_7000ced0(void); -void removed_7000ced8(void); -void removed_7000cee0(void); -void * proutSyncPrintf(void *str,char *buf,size_t n); -void osSyncPrintf(char *fmt,...); -s32 osPiRawStartDma(s32 direction,u32 devAddr,void *dramAddr,u32 size); -u32 osPiGetStatus(void); -void osInitialize(void); -void osWritebackDCacheAll(void); -void osInvalICache(void *addr,int nbytes); -void osUnmapTLB(int index); -u32 __osGetFpcCsr(void); -u32 __osSetFpcCsr(u32 param_1); -void osCreateThread(OSThread *t,OSId id,void *entry,void *arg,void *sp,OSPri p); -void osStartThread(OSThread *t); -void osCreateMesgQueue(OSMesgQueue *mq,OSMesg *msg,s32 msgCount); -void osStopThread(OSThread *t); -void osSetThreadPri(OSThread *t,OSPri p); -u32 osGetCount(void); -void osCreateViManager(OSPri pri); -void viMgrMain(int param_1); -void osCreateViManager_sub(undefined param_1,undefined param_2,undefined param_3,undefined param_4,undefined param_5,undefined param_6,undefined4 param_7,undefined4 param_8); -void osSetEventMesg(OSEvent param_1,OSMesgQueue *param_2,OSMesg param_3); -void osViSetEvent(OSMesgQueue *mq,OSMesg m,u32 retraceCount); -OSIntMask osSetIntMask(OSIntMask param_1); -s32 osRecvMesg(OSMesgQueue *mq,OSMesg *msg,s32 flags); -s32 osSendMesg(OSMesgQueue *mq,OSMesg msg,s32 flags); -undefined8 FUN_7000df3c(void); -void osViSetMode(OSViMode *modep); -void osViSetXScale(f32 value); -void osViSetYScale(f32 value); -void osViRepeatLine(char param_1); -void osViBlack(u32 active); -OSYieldResult osSpTaskYielded(OSTask *tp); -void osDpGetCounters(u32 *array); -void * osViGetCurrentFramebuffer(void); -void * osViGetNextFramebuffer(void); -void osViSwapBuffer(void *frameBufPtr); -void osDpSetStatus(u32 data); -OSTask * _VirtualToPhysicalTask(OSTask *intp); -void osSpTaskLoad(OSTask *intp); -void osSpTaskStartGo(OSTask *tp); -s32 osDpSetNextBuffer(void *bufPtr,u64 size); -void osSpTaskYield(void); -u32 __osGetTLBHi(s32 index); -u32 osVirtualToPhysical(void *virtualAddress); -s32 osAiSetFrequency(u32 frequency); -void alUnlink(ALLink *a); -void alLink(ALLink *a,ALLink *b); -void alClose(ALGlobals *glob); -void alInit(ALGlobals *g,ALSynConfig *c); -void *alHeapDBAlloc(u8 *file,s32 line,ALHeap *hp,s32 num,s32 size); -OSTime osGetTime(void); -longlong __ull_rshift(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4); -longlong __ull_rem(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4); -ulonglong __ull_div(undefined4 left_u,undefined4 left_l,undefined4 right_u,undefined4 right_l); -longlong __ll_lshift(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4); -longlong __ll_rem(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4); -longlong __ll_div(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4); -longlong __ll_mul(undefined4 left_u,undefined4 left_l,undefined4 right_u,undefined4 right_l); -void __ull_divremi(ulonglong *param_1,ulonglong *param_2,undefined4 param_3,undefined4 param_4,short param_5); -undefined4 __ll_mod(undefined4 param_1,undefined4 param_2,int param_3,undefined4 param_4); -longlong __ll_lshift(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4); -s32 osAiSetNextBuffer(void *bufPtr,u32 size); -undefined4 osAiGetLength(void); -void dummy7000EFBC(void); -int _timeToSamples(ALSynth *synth,int micros); -void _freePVoice(ALSynth *drvr,PVoice *pvoice); -void _collectPVoices(ALSynth *drvr); -void __freeParam(ALParam *param); -ALParam *__allocParam(void); -void dummy7000F100(void); -Acmd * alAudioFrame(Acmd *cmdList,s32 *cmdLen,s16 *outBuf,s32 outLen); -void alSynNew(ALSynth *drvr,ALSynConfig *c); -s32 osPiStartDma(OSIoMesg *mb,s32 priority,s32 direction,u32 devAddr,void *dramAddr,u32 size,OSMesgQueue *mq); -void osViSetSpecialFeatures(u32 func); -void _bcopy(void *__src,void *__dest,size_t __n); -void guPerspective(Mtx *m,u16 *perspNorm,float fovy,float aspect,float near,float far,float scale); -void guMtxF2L(float mf [4] [4],Mtx *m); -void guMtxIdentF(float mf [4] [4]); -void guMtxIdent(Mtx *m); -void guMtxL2F(float mf[4][4],Mtx *m); -OSThread * __osGetCurrFaultedThread(void); -void __osExceptionPreamble(void); -void __osException(void); -void FUN_7001067c(void); -void send_mesg(void); -void handle_CpU(void); -void __osEnqueueAndYield(OSThread **queue); -void __osEnqueueThread(OSThread **queue,OSThread *new); -OSThread * __osPopThread(OSThread *list); -undefined8 __osDispatchThread(void); -undefined8 __osDispatchThreadSave(void); -void __osCleanupThread(void); -void __osDequeueThread(OSThread **queue,OSThread *t); -void osYieldThread(void); -void osInvalDCache(void *addr,int nbytes); -void osWritebackDCache(void *addr,s32 nbytes); -int osSetTimer(OSTimer *t,OSTime value,OSTime interval,OSMesgQueue *mq,OSMesg msg); -void alHeapInit(ALHeap *hp,u8 *base,s32 len); -void removed_70010D70(void); -void removed_70010D78(void); -void _bnkfPatchInst(ALInstrument *inst,s32 offset,s32 table); -void removed_70010E6C(void); -void alBnkfNew(ALBankFile *file,char *table); -void alSeqFileNew(ALSeqFile *file,u8 *base); -void __CSPPostNextSeqEvent(ALCSPlayer *seqp); -void __setUsptFromTempo(ALCSPlayer *seqp,f32 tempo); -void proc_70011064(void); -void __CSPRepostEvent(ALEventQueue *evtq,ALEventListItem *item); -void __CSPHandleMIDIMsg(ALCSPlayer *seqp,ALEvent *event); -void proc_70011A64(void); -void __CSPHandleNextSeqEvent(ALCSPlayer *seqp); -void alCSPNew(ALCSPlayer *seqp,ALSeqpConfig *c); -void alCSPSetBank(ALCSPlayer *seqp,ALBank *b); -s32 alCSPGetState(ALCSPlayer *seqp); -void alCSeqGetLoc(ALCSeq *seq,ALCSeqMarker *marker); -void alCSeqSetLoc(ALCSeq *seq,ALCSeqMarker *m); -u8 __getTrackByte(ALCSeq *seq,u32 track); -u32 __readVarLen(ALCSeq *seq,u32 track); -void proc_7001249C(void); -u32 __alCSeqGetTrackEvent(ALCSeq *seq,u32 track,ALEvent *event); -void alCSeqNew(ALCSeq *seq,u8 *ptr); -void alCSeqNewMarker(ALCSeq *seq,ALCSeqMarker *m,u32 ticks); -s32 alCSeqGetTicks(ALCSeq *seq); -u32 alCSeqSecToTicks(ALCSeq *seq,f32 sec,u32 tempo); -f32 alCSeqTicksToSec(ALCSeq *seq,s32 ticks,u32 tempo); -char __alCSeqNextDelta(ALCSeq *seq,s32 *pDeltaTicks); -void alCSPSetSeq(ALCSPlayer *seqp,ALCSeq *seq); -void alCSPPlay(ALCSPlayer *seqp); -void alSeqpStop(ALSeqPlayer *seqp); -void alCSPSetVol(ALCSPlayer *seqp,s16 vol); -void alEvtqFlushType(ALEventQueue *evtq,s16 type); -void alEvtqFlush(ALEventQueue *evtq); -void alEvtqPostEvent(ALEventQueue *evtq,ALEvent *evt,ALMicroTime delta); -ALMicroTime alEvtqNextEvent(ALEventQueue *evtq,ALEvent *evt); -void alEvtqNew(ALEventQueue *evtq,ALEventListItem *items,s32 itemCount); -void alSynAddPlayer(ALSynth *drvr,ALPlayer *client); -s32 _allocatePVoice(int param_1,int **param_2,short param_3); -s32 alSynAllocVoice(ALSynth *drvr,ALVoice *voice,ALVoiceConfig *vc); -void alSynSetVol(ALSynth *synth,ALVoice *v,s16 volume,ALMicroTime t); -void alSynStartVoice(ALSynth *synth,ALVoice *voice,ALWaveTable *table); -void alSynSetPan(ALSynth *synth,ALVoice *v,u8 pan); -void alSynSetPitch(ALSynth *synth,ALVoice *v,f32 pitch); -void alSynSetFXMix(ALSynth *synth,ALVoice *v,u8 fxmix); -void alSynStopVoice(ALSynth *synth,ALVoice *v); -void alSynFreeVoice(ALSynth *drvr,ALVoice *voice); -f32 alCents2Ratio(s32 cents); -s32 osPiReadIo(u32 devAddr,u32 *data); -void * memcpy(void *__dest,void *__src,size_t __n); -size_t strlen(char *__s); -char * strchr(char *__s,int __c); -void _Putfld(undefined8 param_1,ulonglong param_2,uint **param_3,int param_4); -byte * _Printf(undefined *param_1,longlong param_2,byte *param_3,uint *param_4); -void osCreatePiManager(OSPri pri,OSMesgQueue *cmdQ,OSMesg *cmdBuf,s32 cmdMsgCnt); -s32 osPfsInit(OSMesgQueue *queue,OSPfs *pfs,int channel); -s32 __osPfsGetStatus(OSMesgQueue *queue,int channel); -s32 osContInit(OSMesgQueue *mq,u8 *bitpattern,OSContStatus *data); -void __osContGetInitData(u8 *pattern,OSContStatus *data); -void __osPackRequestData(u8 cmd); -s32 osContStartQuery(OSMesgQueue *mq); -void osContGetQuery(OSContStatus *data); -s32 osContStartReadData(OSMesgQueue *mq); -void osContGetReadData(OSContPad *data); -void __osPackReadData(void); -s32 osEepromProbe(OSMesgQueue *mq); -s32 osEepromRead(OSMesgQueue *mq,u8 address,u8 *buffer); -void __osPackEepReadData(u8 address); -s32 osEepromWrite(OSMesgQueue *mq,u8 address,u8 *buffer); -void __osPackEepWriteData(u8 address,u8 *buffer); -s32 __osEepStatus(OSMesgQueue *mq,OSContStatus *data); -s32 osEepromLongRead(OSMesgQueue *mq,u8 address,u8 *buffer,int length); -s32 osEepromLongWrite(OSMesgQueue *mq,u8 address,u8 *buffer,int length); -s32 osPfsIsPlug(OSMesgQueue *queue,u8 *pattern); -void __osPfsRequestData(u8 cmd); -void __osPfsGetInitData(u8 *pattern,OSContStatus *data); -void __osSiCreateAccessQueue(void); -void __osSiGetAccess(void); -void __osSiRelAccess(void); -s32 __osSiRawStartDma(s32 direction,void *dramAddr); -u8 __osContAddressCrc(u16 addr); -u8 __osContDataCrc(u8 *data); -s32 __osContRamWrite(OSMesgQueue *mq,int channel,u16 address,u8 *buffer,int force); -void __osPackRamWriteData(int channel,u16 address,u8 *buffer); -s32 __osContRamRead(OSMesgQueue *mq,int channel,u16 address,u8 *buffer); -void __osPackRamReadData(int channel,u16 address); -void guAlignF(float mf [4] [4],float a,float x,float y,float z); -void guAlign(Mtx *m,float a,float x,float y,float z); -void guOrthoF(float mf [4] [4],float l,float r,float b,float t,float n,float f,float scale); -void guOrtho(Mtx *m,float l,float r,float b,float t,float n,float f,float scale); -short coss(ushort x); -short sins(ushort x); -void guTranslateF(float mf[4][4],float x,float y,float z); -void guTranslate(Mtx *m,float x,float y,float z); -int _bcmp(void *__s1,void *__s2,size_t __n); -void guScaleF(float mf[4][4],float x,float y,float z); -void guScale(Mtx *m,float x,float y,float z); -void guLookAtReflectF(float mf [4] [4],LookAt *l,float xEye,float yEye,float zEye,float xAt,float yAt,float zAt,float xUp,float yUp,float zUp); -void guLookAtReflect(Mtx *m,LookAt *l,float xEye,float yEye,float zEye,float xAt,float yAt,float zAt,float xUp,float yUp,float zUp); -void guLookAtF(float mf [4] [4],float xEye,float yEye,float zEye,float xAt,float yAt,float zAt,float xUp,float yUp,float zUp); -void guLookAt(Mtx *m,float xEye,float yEye,float zEye,float xAt,float yAt,float zAt,float xUp,float yUp,float zUp); -void guRotateF(float mf [4] [4],float a,float x,float y,float z); -void guRotate(Mtx *m,float a,float x,float y,float z); -longlong __d_to_ll(double param_1); -longlong __f_to_ll(float param_1); -longlong __d_to_ull(double param_1); -longlong __f_to_ull(float param_1); -double __ll_to_d(undefined4 param_1,undefined4 param_2); -float __ll_to_f(undefined4 param_1,undefined4 param_2); -double __ull_to_d(int param_1,undefined4 param_2); -float __ull_to_f(int param_1,undefined4 param_2); -void __osSetSR(u32 param_1); -u32 __osGetSR(void); -s32 __osSiRawReadIo(u32 devAddr,u32 *data); -s32 __osSpRawWriteIo(u32 param_1,u32 param_2); -s32 osPiRawReadIo(u32 devAddr,u32 *data); -void bzero(void *__s,size_t __n); -void __osSetHWIntrRoutine(OSHWIntr interrupt,s32 *handler); -s32 __osLeoInterrupt(void); -void __osLeoAbnormalResume(void); -void __osLeoResume(void); -u32 __osDisableInt(void); -void __osRestoreInt(u32 mask); -void __osTimerServicesInit(void); -void __osTimerInterrupt(void); -void __osSetTimerIntr(OSTime tim); -OSTime __osInsertTimer(OSTimer *t); -OSPri osGetThreadPri(OSThread *t); -void __osViInit(void); -__OSViContext * __osViGetCurrentContext(void); -void __osViSwapContext(void); -u32 __osSpGetStatus(void); -void __osSpSetStatus(u32 data); -s32 __osSpSetPc(u32 data); -s32 __osSpRawStartDma(s32 direction,u32 devAddr,void *dramAddr,u32 size); -int __osSpDeviceBusy(void); -ulonglong __osDpDeviceBusy(void); -u32 __osProbeTLB(void *vaddr); -void alSynDelete(ALSynth *drvr); -ulonglong __osAiDeviceBusy(void); -void alSaveNew(ALSave *f); -void alMainBusNew(ALMainBus *m,void *sources,int maxSources); -void alAuxBusNew(ALAuxBus *m,void *sources,int maxSources); -void alResampleNew(ALResampler *r,ALHeap *hp); -void alLoadNew(ALLoadFilter *f,ALDMANew dmaNew,ALHeap *hp); -void alEnvmixerNew(ALEnvMixer *e,ALHeap *hp); -void init_lpfilter(undefined8 param_1,short *param_2); -void alFxNew(ALFx *r,ALSynConfig *c,ALHeap *hp); -ALFxRef *alSynAllocFX(ALSynth *s,s16 bus,ALSynConfig *c,ALHeap *hp); -s32 alMainBusParam(void *filter,s32 paramID,void *param); -longlong *alMainBusPull(void *filter,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p); -s32 alLoadParam(void *filter,s32 paramID,void *param); -longlong *alRaw16Pull(void *filter,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p); -uint * proc_7001A030(void); -uint * alAdpcmPull(int param_1,short *param_2,uint param_3,undefined8 param_4,uint *param_5); -s32 alResampleParam(void *filter,s32 paramID,void *param); -uint * alResamplePull(int *param_1,short *param_2,longlong param_3,undefined8 param_4,uint *param_5); -float _ldexpf(float __x,int __exponent); -float _frexpf(float __x,int *__exponent); -s32 alEnvmixerParam(void *filter,s32 paramID,void *param); -int proc_7001AAF4(float param_1,float param_2,longlong param_3,undefined2 *param_4); -Acmd * _pullSubFrame(void *filter,s16 *inp,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p); -void proc_7001AE54(void); -Acmd * *alEnvmixerPull(void *f,s16 *outp,s32 out,s32 sampleOffset,Acmd *p); -s32 alAuxBusParam(void *filter,s32 paramID,void *param); -Acmd * *alAuxBusPull(void *f,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p); -s32 alSaveParam(void *filter,s32 paramID,void *param); -longlong *alSavePull(void *filter,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p); -s32 osJamMesg(OSMesgQueue *mq,OSMesg msg,s32 flags); -OSMesgQueue * osPiGetCmdQueue(void); -ulonglong proc_7001B830(void); -ulonglong proc_7001B9A0(void); -void osDestroyThread(OSThread *t); -void __setInstChanState(int param_1,undefined *param_2,int param_3); -void __resetPerfChanState(int param_1,int param_2); -void __initFromBank(int param_1,int param_2); -void proc_7001BDE8(void); -int __vsDelta(int param_1,int param_2); -undefined2 __vsVol(int param_1,int param_2); -void __seqpReleaseVoice(int param_1,int *param_2,int *param_3); -undefined8 __voiceNeedsNoteKill(int param_1,int *param_2,int param_3); -void __unmapVoice(int param_1,int param_2); -void __postNextSeqEvent(int param_1); -void proc_7001C1BC(int param_1,int param_2); -uint __vsPan(int param_1,int param_2); -undefined4 * *__lookupVoice(int param_1,char param_2,char param_3); -undefined4 * *__mapVoice(int param_1,undefined param_2,undefined param_3,undefined param_4); -int __lookupSoundQuick(int param_1,byte param_2,byte param_3,uint param_4); -void __handleMIDIMsg(ALSeqPlayer *seqp,ALEvent *event); -void proc_7001CC74(void); -ALMicroTime __seqpVoiceHandler(void *node); -void __seqpStopOsc(int param_1,int *param_2); -void __initChanState(int param_1); -void alSeqpNew(ALSeqPlayer *seqp,ALSeqpConfig *c); -void alSynStartVoiceParams(ALSynth *s,ALVoice *v,ALWaveTable *w,f32 pitch,s16 vol,ALPan pan,u8 fxmix,ALMicroTime t); -void alCopy(void *src,void *dest,s32 len); -void __osPiCreateAccessQueue(void); -void __osPiGetAccess(void); -void __osPiRelAccess(void); -void _Litob(_Pft *px,char code); -void _Genld(_Pft *px,char code,char *p,short nsig,short xexp); -void dummy7001DFD8(void); -void _Ldtob(_Pft *px,char code); -s32 osEPiRawStartDma(OSPiHandle *pihandle,s32 direction,u32 devAddr,void *dramAddr,u32 size); -void __osDevMgrMain(void *arg); -void proc_7001E9B0(undefined param_1,undefined param_2,undefined param_3,undefined param_4,undefined param_5,undefined param_6,undefined param_7,undefined4 param_8); -u16 __osSumcalc(u8 *ptr,int length); -s32 __osIdCheckSum(u16 *ptr,u16 *csum,u16 *icsum); -int __osRepairPackId(int param_1,int param_2,undefined4 *param_3); -int __osCheckPackId(int param_1,byte *param_2); -s32 __osGetId(OSPfs *pfs); -s32 __osCheckId(OSPfs *pfs); -s32 __osPfsRWInode(OSPfs *pfs,__OSInode *inode,u8 flag,u8 bank); -s32 __osPfsSelectBank(OSPfs *pfs); -int __osSiDeviceBusy(void); -void guNormalize(float *x,float *y,float *z); -float sqrtf(float __x); -OSPiHandle * osLeoDiskInit(void); -void __osSetCompare(u32 param_1); -void alFilterNew(ALFilter *f,ALCmdHandler h,ALSetParam s,int type); -ulonglong _doModFunc(void); -uint * *_filterBuffer(int param_1,uint param_2,uint param_3,uint *param_4); -undefined4 * *_saveBuffer(int param_1,uint param_2,int param_3,int param_4,undefined4 *param_5); -uint * *_loadBuffer(int param_1,uint param_2,uint param_3,int param_4,uint *param_5); -uint * *_loadOutputBuffer(int param_1,int *param_2,uint param_3,undefined8 param_4,uint *param_5); -s32 alFxParamHdl(void *filter,s32 paramID,void *param); -s32 alFxParam(void *filter,s32 paramID,void *param); -longlong *alFxPull(void *filter,s16 *outp,s32 outCount,s32 sampleOffset,Acmd *p); -uint * alFxParam(int *param_1,undefined8 param_2,undefined8 param_3,undefined param_4,undefined4 param_5,undefined param_6,undefined param_7,undefined param_8,undefined4 param_9,undefined param_10,undefined4 param_11,undefined4 param_12); -uint * alFxPull(int param_1,undefined param_2,undefined param_3,undefined param_4,undefined4 param_5,undefined param_6,undefined param_7,undefined param_8,undefined4 param_9,undefined4 param_10,undefined4 param_11,undefined4 param_12,undefined4 param_13,undefined4 param_14,undefined4 param_15,undefined4 param_16,undefined4 param_17,undefined4 param_18,undefined4 param_19,undefined4 param_20,undefined4 param_21); -void alSeqGetLoc(ALSeq *seq,ALSeqMarker *m); -void alSeqSetLoc(ALSeq *seq,ALSeqMarker *m); -s32 alSeqGetTicks(ALSeq *seq); -void dummy70020560(void); -s32 readVarLen(ALSeq *seq); -void alSeqNextEvent(ALSeq *seq,ALEvent *event); -void alSeqNewMarker(ALSeq *seq,ALSeqMarker *m,u32 ticks); -u32 alSeqSecToTicks(ALSeq *seq,f32 sec,u32 tempo); -f32 alSeqTicksToSec(ALSeq *seq,s32 ticks,u32 tempo); -ulonglong __alSeqNextDelta(int *param_1,undefined4 *param_2); -s32 read32(ALSeq *seq); -s16 read16(ALSeq *seq); -void alSeqNew(ALSeq *seq,u8 *ptr,s32 len); -void alSynSetPriority(ALSynth *s,ALVoice *voice,s16 priority); -lldiv_t * lldiv(lldiv_t *__return_storage_ptr__,longlong __numer,longlong __denom); -ldiv_t ldiv(long __numer,long __denom); -void __osResetGlobalIntMask(OSHWIntr interrupt); -s32 osEPiRawWriteIo(OSPiHandle *pihandle,u32 devAddr,u32 data); -int huft_build(char b,char n,char s,char d,undefined e,undefined t,undefined m); -int inflate_codes(char tl,char td,char bl,char bd); -int inflate_stored(void); -int inflate_fixed(void); -int inflate_dynamic(void); -int inflate_block(char e); -int inflate(void); -void decompress.entry(int source,int target,int buffer); -void initGameData(void); -void init_weapon_animation_groups_maybe(void); -void reset_counter_rand_body_head(void); -uint proc_7F0001F0(int param_1,int param_2,int param_3); -int proc_7F000290(int param_1,int param_2,int param_3); -int proc_7F00032C(int *param_1); -void proc_7F00046C(int **param_1); -int proc_7F0004D0(int *param_1); -void somethingwith_weapon_animation_groups(void); -void proc_7F000980(void); -void proc_7F0009A0(void); -void removed_7f0009d0(void); -void proc_7F0009E0(undefined4 param_1,undefined4 param_2,undefined4 param_3); -void expand_ani_table_entries(int **param_1); -void alloc_load_expand_ani_table(void); -void setup_ptr_playergait(void); -void set_gu_scale(void); -void removed_7f000bc0(void); -void image_entries_load(void); -void alloc_intro_matrices(void); -void init_menus_or_reset(void); -void initguards(void); -void alloc_init_GUARDdata_entries(int guard_count); -void set_new_rand_head_bodies(void); -void init_obj_register_difficulty_vals(void); -void alloc_false_GUARDdata_to_exec_global_action(void); -void debug_object_load_all_models(void); -void debug_weapon_load_table(void); -void init_sound_effects_registers(void); -void init_load_objpos_table(void); -void alloc_lookup_buffers(void); -void reinit_between_menus(void); -void proc_7F001910(int param_1); -void proc_7F001928(int param_1); -void proc_7F001940(int param_1); -void write_monitor_ani_control_blocks(void); -void initialize_temp_mine_table(void); -int load_proptype(PROPTYPE param_1); -void proc_7F001BD4(float *param_1,float *param_2); -void prepare_load_objects(undefined8 param_1,ushort *param_2); -void expand_08_obj_set_guard_MP_weapons(int param_1,ushort *param_2); -void expand_type_0D_MP_weapon_expansion_routine(undefined8 param_1,ushort *param_2); -void expand_type_04_object(undefined8 param_1,ushort *param_2); -void expand_type_06_object(undefined8 param_1,ushort *param_2); -void expand_type_0D_object_autoturret(undefined8 param_1,ushort *param_2); -void expand_type_0C_object(undefined8 param_1,ushort *param_2); -void expand_type_0A_object(int param_1,ushort *param_2,int param_3); -void expand_type_0B_object(int param_1,ushort *param_2); -void proc_7F00324C(void); -void expand_type_01_object(void); -void proplvreset2(longlong levelid); -void something_with_stage_objectives(void); -void set_parent_cur_tag_entry(int param_1); -void setup_briefing_text_entry_parent(int param_1); -void add_ptr_to_objective(int param_1); -void set_parent_cur_obj_enter_room(int param_1); -void set_parent_cur_obj_deposited_in_room(int param_1); -void set_parent_cur_obj_photograph(int param_1); -void something_with_ejected_cartridges(void); -void init_player_BONDdata_stats(void); -void proc_7F005450(void); -void proc_7F005520(void); -void proc_7F005534(undefined4 param_1); -void proc_7F005540(int param_1); -void proc_7F005624(int param_1); -ulonglong set_weapon_model_generated_thrown_object(undefined4 param_1); -void load_camera_intro_type_values(void); -void proc_7F0061F0(void); -void alloc_additional_item_slots(int additionalentries); -void proc_7F0062C0(int param_1,int param_2,int param_3,int *param_4); -void sets_a_bunch_of_BONDdata_values_to_default(void); -ulonglong init_pathtable_something(float *param_1,byte *param_2,int **param_3); -void init_path_table_links(void); -void alloc_explosion_smoke_casing_scorch_impact_buffers(void); -void proc_7F007180(void); -void proc_7F007290(void); -void proc_7F0072B0(void); -void disable_onscreen_cheat_text(void); -void set_mt_tex_alloc(void); -void unload_loop_all_guards(void); -void unload_loop_all_sfx(void); -void unload_alarms_something(void); -void cleanupObjects(void); -void cleanupObjectives(void); -void unload_music_related(void); -void proc_7F007770(void); -void unload_loop_all_objects(void); -void unload_something_7f007920(void); -void unload_removed_7f007970(void); -void unload_music_related_7F007980(void); -undefined4 * something_with_gunbarrel_and_rareware_logo_matrix_manip(undefined4 *displaylist); -undefined4 * insert_sight_backdrop_eye_intro(undefined4 *param_1); -undefined4 * proc_7F007CC8(undefined4 *param_1,int param_2,int *param_3,int *param_4); -undefined4 * insert_sniper_sight_eye_intro(undefined4 *param_1); -undefined4 * proc_7F007E70(undefined4 *param_1,uint param_2); -undefined4 proc_7F007F30(void); -void insert_bond_eye_intro(undefined4 *param_1); -undefined4 *load_display_rare_logo(undefined4 *param_1,undefined8 param_2,undefined8 param_3,int param_4,uint param_5); -void proc_7F008B58(ulonglong param_1); -void retrieve_display_rareware_logo(undefined4 *param_1); -ulonglong proc_7F008DD0(void); -void proc_7F008DE4(ushort **param_1,int *param_2); -void proc_7F008E80(short *param_1,int param_2); -void proc_7F00920C(void); -longlong proc_7F009254(longlong param_1); -ulonglong proc_7F009744(void); -uint * write_text_at_abs_coord(uint *param_1,uint *param_2,uint *param_3,byte *param_4,int param_5,int param_6,uint param_7,int param_8,int param_9,int param_10,int param_11); -ulonglong check_if_cheat_available(u32 cheat); -int getplayerfavoredweapon(int param_1,int param_2); -int menu_control_stick_tracking(void); -undefined4 load_draw_selected_icon_folder_select(undefined4 param_1); -uint * add_tab1_start(undefined4 *param_1); -undefined8 isontab1(void); -uint * add_tab3_previous(undefined4 *param_1); -undefined8 isontab3(void); -void set_cursor_pos_tab2(void); -uint * add_tab2_next(undefined4 *param_1); -undefined8 isontab2(void); -void init_menu00_legalscreen(void); -void update_menu00_legalscreen(void); -void interface_menu00_legalscreen(void); -uint * display_aligned_white_text_to_screen(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5,byte *param_6,int param_7,int param_8); -void constructor_menu00_legalscreen(Gfx *param_1); -void reset_menutimer(void); -void dummy7F00AAF8(void); -void interface_menu17_switchscreens(void); -void constructor_menu17_switchscreens(Gfx *param_1); -void init_menu01_nintendo(void); -void update_menu01_nintendo(void); -void interface_menu01_nintendo(void); -void constructor_menu01_nintendo(Gfx *param_1); -int ** init_menu02_rareware(void); -void update_menu02_rareware(void); -void interface_menu02_rareware(void); -void constructor_menu02_rareware(Gfx *param_1); -void init_menu03_eyeintro(void); -void update_menu_03_eyeintro(void); -void interface_menu03_eyeintro(void); -void constructor_menu03_eyeintro(Gfx *param_1); -void init_menu04_goldeneyelogo(void); -void update_menu04_goldeneyelogo(void); -void interface_menu04_goldeneyelogo(void); -void constructor_menu04_goldeneyelogo(Gfx *param_1); -void disable_all_switches(int param_1); -void set_item_visibility_in_objinstance(int objinstance,int item,undefined4 mode); -void select_load_bond_picture(int objinstance,u32 bondID); -void load_walletbond(void); -void proc_7F00B990(void); -void init_menu05_filesel(void); -void update_menu05_filesel(void); -int get_chapter_briefing_entry(int briefing); -void toggle_deletion_menu_for_folder(int param_1); -void interface_menu05_filesel(void); -int get_ptr_difficulty_name(DIFFICULTY difficulty); -void constructor_menu05_filesel(Gfx *param_1); -void init_menu06_modesel(void); -void update_menu06_modesel(void); -void interface_menu06_modesel(void); -undefined4 proc_7F00D5E8(undefined4 param_1); -void set_menu_cursor_pos_to_setting(int setting); -void constructor_menu06_modesel(Gfx *param_1); -int pull_and_display_text_for_folder_a0(LEVELID param_1); -BOOL check_if_stage_completed_on_difficulty(int stage,DIFFICULTY difficulty); -longlong get_highest_unlocked_difficulty_for_level(longlong stage); -void init_menu07_missionsel(void); -void update_menu07_missionsel(void); -void interface_menu07_missionsel(void); -void set_cursor_to_stage_solo(longlong param_1); -void constructor_menu07_missionsel(Gfx *param_1); -void init_menu08_difficulty(void); -void update_menu08_difficulty(void); -void interface_menu08_difficulty(void); -uint * print_current_solo_briefing_stage_name(uint *param_1,byte *param_2); -void set_cursor_pos_difficulty(int difficulty); -void constructor_menu08_difficulty(Gfx *param_1); -void init_menu09_007options(void); -void update_menu09_007options(void); -void interface_menu09_007options(void); -void constructor_menu09_007options(Gfx *param_1); -u32 get_player_control_style(int playernum); -BOOL check_if_mp_stage_unlocked(int stage); -void select_game_length(void); -void copy_aim_settings_to_playerdata(void); -void advance_aim_settings_selection(void); -void unlock_mp_chars(void); -u32 get_selected_num_players(void); -HEADS get_player_mp_char_head(int player); -u8 get_player_mp_char_gender(int player); -BODIES get_player_mp_char_body(int player); -f32 get_player_mp_handicap(int player); -f32 get_player_mp_char_height(int player); -int get_mp_timelimit(void); -int get_mp_pointlimit(void); -void reset_mp_options_for_scenario(MPSCENARIOS scenarioid); -void init_mp_options_for_scenario(u32 numplayers); -void init_menu0E_mpoptions(void); -void update_menu0E_mpoptions(void); -void interface_menu0E_mpoptions(void); -void constructor_menu0E_mpoptions(Gfx *param_1); -BOOL hasPlayerSelectedMPChar(int playerchar); -void init_menu0f_mpcharsel(void); -void update_menu0F_mpcharsel(void); -void interface_menu0F_mpcharsel(void); -int proc_7F0122A8(int param_1,int param_2,int param_3); -undefined4 * proc_7F01231C(void); -void constructor_menu0F_mpcharsel(Gfx *param_1); -void init_menu10_mphandicap(void); -void update_menu10_mphandicap(void); -void interface_menu10_mphandicap(void); -void constructor_menu10_mphandicap(Gfx *param_1); -void init_menu11_mpcontrol(void); -void update_menu11_mpcontrols(void); -void interface_menu11_mpcontrols(void); -void constructor_menu11_mpcontrol(Gfx *param_1); -void init_menu12_mpstage(void); -void update_menu12_mpstage(void); -void interface_menu12_mpstage(void); -void constructor_menu12_mpstage(Gfx *param_1); -MPSCENARIOS get_scenario(void); -void init_menu13_mpscenariosel(void); -void update_menu13_mpscenario(void); -void interface_menu13_mpscenario(void); -void constructor_menu13_mpscenario(Gfx *param_1); -ulonglong get_players_team_or_scenario_item_flag(int player); -void set_players_team_or_scenario_item_flag(int player,char flag); -void init_menu14_mpteamsel(void); -void update_menu14_mpteams(void); -ulonglong interface_menu14_mpteams(void); -void constructor_menu14_mpteams(Gfx *param_1); -void set_briefing_page(WATCH_BRIEFING_PAGE page); -void load_briefing_text_for_stage(void); -void init_menu0A_briefing(void); -void update_menu0A_briefing(void); -void interface_menu0A_briefing(void); -uint * print_objectives_and_status_to_menu(uint *param_1,int param_2,byte *param_3,int param_4); -void constructor_menu0A_briefing(Gfx *param_1); -void init_menu0B_runstage(void); -void init_menu0C_missionfailed(void); -void update_menu0C_missionfailed(void); -void interface_menu0C_missionfailed(void); -undefined8 proc_7F01631C(void); -void constructor_menu0C_missionfailed(Gfx *param_1); -void init_menu0D_missioncomplete(void); -void update_menu0D_missioncomplete(void); -void interface_menu0D_missioncomplete(void); -void constructor_menu0D_missioncomplete(Gfx *param_1); -void init_menu15_cheat(void); -void update_menu15_cheat(void); -void interface_menu15_cheat(void); -void constructor_menu15_cheat(Gfx *param_1); -void init_menu16_nocontroller(void); -void update_menu16_nocontrollers(void); -void interface_menu16_nocontrollers(void); -void constructor_menu16_nocontrollers(Gfx *param_1); -void do_extended_cast_display(longlong param_1); -void init_menu18_displaycast(void); -void update_menu18_displaycast(void); -void interface_menu18_displaycast(void); -void constructor_menu18_displaycast(Gfx *param_1); -void init_menu19_spectrum(void); -void update_menu19_spectrum(void); -void interface_menu19_spectrum(void); -void constructor_menu19_spectrum(Gfx *param_1); -void set_menu_to_mode(MENU param_1,u32 param_2); -MENU get_currentmenu(void); -void menu_init(undefined8 param_1,undefined8 param_2); -void menu_jump_constructor_handler(Gfx *DL); -void proc_7F01B0E0(ushort *param_1,byte *param_2); -void proc_7F01B134(ushort *param_1,ushort *param_2); -void proc_7F01B1C8(ushort *param_1,byte *param_2); -undefined4 *proc_7F01B240(undefined4 *param_1,int param_2,longlong param_3,int *param_4,int *param_5); -undefined4 * proc_7F01B6E0(undefined4 *param_1,int param_2,int param_3); -void proc_7F01BAE0(short *param_1,int param_2); -uint * proc_7F01BFF8(uint *param_1,uint param_2,int param_3); -undefined4 * insert_imageDL(Gfx *param_1); -undefined4 * proc_7F01C1A4(undefined4 *param_1); -ulonglong die_blood_image_routine(void); -undefined4 * proc_7F01C400(undefined4 *param_1); -undefined4 * proc_7F01C670(undefined4 *param_1); -undefined4 * proc_7F01CA18(undefined4 *param_1); -byte * decrypt_bleeding_animation_data(char *param_1,byte param_2,uint param_3,byte *param_4,char *param_5); -void proc_7F01CC94(byte *param_1,short param_2,byte *param_3); -void proc_7F01CCEC(int param_1,uint param_2,uint param_3,int param_4,byte param_5); -void proc_7F01CEEC(int param_1,int param_2,int param_3); -void proc_7F01D02C(int param_1,int param_2,int param_3); -void proc_7F01D16C(undefined *param_1,int param_2,int param_3,undefined *param_4); -byte * proc_7F01D1C0(byte *param_1,int param_2,int param_3,byte *param_4); -f32 get_007_reaction_speed(void); -f32 get_007_health_mod(void); -f32 get_007_damage_mod(void); -f32 get_007_accuracy_mod(void); -void end_of_mission_briefing(void); -void sub_GAME_7F01D500(void); -void deleteCurrentSelectedFolder(void); -void copyCurrentEEPROMtoStack(void); -u8 getSelectedFolderBond(void); -void set_selected_folder_num(u32 foldernum); -void set_selected_difficulty(DIFFICULTY difficulty); -void set_solo_and_ptr_briefing(LEVELID level); -void proc_7F01D61C(undefined4 *param_1); -void proc_7F01D644(undefined4 *param_1); -void store_favorite_weapon_current_player(u32 right,u32 left); -undefined4 proc_7F01D6C0(void); -void proc_7F01D6E0(void); -int proc_7F01D758(uint *param_1); -void proc_7F01D7A0(uint *param_1); -void proc_7F01D840(uint *param_1); -u32 getEEPROMFoldernum(save_file *eeprom); -void setEEPROMtoFoldernum(save_file *eeprom,byte folder); -int set_eeprom_flag_0x18(save_file *folder); -void reset_eeprom_flag_0x18(save_file *folder,int value); -int get_selected_bond(save_file *folder); -void set_selected_bond(save_file *folder,int bond); -ulonglong check_if_eeprom_flag_set_0x80(save_file *folder); -void toggle_eeprom_flag_set_0x80(save_file *folder,longlong mode); -ulonglong get_eeprom_stage_complete_time_for_difficulty(save_file *eepromfile,STAGENUM stage,DIFFICULTY difficulty); -void proc_7F01DAE4(int param_1,longlong param_2,longlong param_3,longlong param_4); -BOOL doesSaveHaveStageCompletedOnDifficulty(save_file *folder,STAGENUM stage,DIFFICULTY difficulty); -void proc_7F01DCB0(int param_1,longlong param_2,longlong param_3,int param_4); -ulonglong check_if_cheat_unlocked(save_file *folder,longlong cheat); -void proc_7F01DD74(int param_1,longlong param_2); -save_file * getEEPROMforFoldernum(u32 foldernum); -int proc_7F01DE50(void); -void proc_7F01DEB4(int param_1); -void proc_7F01DF90(void); -BOOL check_if_valid_folder_num(int folder); -s32 isStageUnlockedAtDifficulty(int foldernum,STAGENUM stageid,DIFFICULTY difficulty); -void proc_7F01E504(uint *param_1,undefined4 *param_2); -void unlock_stage_in_folder_on_difficulty(int folder,longlong stagenum,longlong selecteddifficulty,int maxtime); -void proc_7F01E760(u32 folder,CHEAT_IDS cheat); -void get_highest_stage_difficulty_completed_in_folder(int foldernum,STAGENUM *stagenum,DIFFICULTY *difficulty); -u32 check_egypt_completed_in_folder(int folder); -u32 check_egypt_completed_any_folder(void); -u32 check_cradle_completed_in_folder(u32 folder); -u32 check_aztec_completed_in_folder_secret_00(u32 folder); -u32 check_egypt_completed_in_folder_00(int folder); -u32 check_cradle_completed_any_folder(void); -BOOL check_aztec_completed_any_folder_secret_00(void); -BOOL check_egypt_completed_any_folder_00(void); -u32 removed_would_have_returned_bond_for_folder_num(u32 folder); -void set_selected_bond_to_folder(u32 folder,u32 bond); -void proc_7F01EBF4(void); -void proc_7F01EBFC(void); -void delete_eeprom_folder(int foldernum); -void proc_7F01ED10(ulonglong param_1); -void proc_7F01EDA0(ulonglong param_1); -void update_eeprom_to_current_solo_watch_settings(save_file *eepromsave); -void get_screen_ratio_settings_for_mpgame_from_folder(int folder); -void delete_update_eeprom_file(int folder); -void copy_eeprom_to_stack_set_folder_num(int foldernum); -void copy_eeprom_from_to(int from,int to); -void copy_eepromfile_a0_from_a1_to_buffer(longlong param_1,save_file *param_2); -BOOL is007ModeUnlockedinFolder(u32 foldernum); -undefined4 get_numguards(void); -void get_ptr_allocated_block_for_weapon_vertices(int param_1); -void set_show_patrols_flag(BOOL flag); -undefined4 get_show_patrols_flag(void); -undefined4 proc_7F01F574(void); -void set_or_unset_GUARDdata_flag(GUARDdata *guard,int param_2); -int proc_7F01F614(int param_1,int param_2,float *param_3,float *param_4,int param_5); -undefined8 proc_7F01FC10(int param_1,float *param_2,float *param_3,float *param_4); -int get_next_available_guardID(void); -void proc_7F020018(void); -f32 get_guard_health(GUARDdata *param_1); -void guard_calc_final_damage_recieved(GUARDdata *guard,u32 damage); -float proc_7F020090(GUARDdata *param_1); -u32 init_GUARDdata_with_set_values(u32 param_1,u32 param_2,u32 param_3,u32 param_4); -int replace_GUARDdata_with_actual_values(u32 param_1,u32 param_2,u32 param_3,undefined4 param_4,undefined4 param_5); -void disable_sounds_attached_to_player_then_something(int param_1); -void animation_speed_related(f32 rate); -f32 get_animation_rate(void); -void proc_7F0205F0(int param_1); -void proc_7F0206D4(int param_1); -float proc_7F020794(int param_1); -void proc_7F02083C(int param_1,float *param_2); -void proc_7F020D94(int param_1); -void proc_7F020E40(int param_1,uint param_2,undefined4 param_3,undefined4 param_4); -ulonglong proc_7F020EF0(char *param_1,uint param_2,undefined4 param_3,undefined4 param_4); -void proc_7F021B20(int param_1); -void proc_7F021BB4(undefined *param_1); -void proc_7F021BD8(undefined *param_1); -longlong proc_7F021BFC(char *param_1,uint *param_2,uint param_3); -void proc_7F022078(int param_1,longlong param_2,float *param_3,undefined4 *param_4); -void proc_7F0221DC(int param_1,int param_2,ushort *param_3,float *param_4); -void proc_7F022648(int param_1,float *param_2,undefined4 param_3,undefined4 param_4); -void proc_7F022980(float *param_1,float *param_2); -void removed_tooklevelscale(f32 param_1); -void proc_7F022E24(undefined4 param_1); -void proc_7F022E30(void); -void proc_7F022E90(void); -void proc_7F022EC8(void); -void proc_7F022EE0(undefined4 param_1); -void proc_7F022EEC(void); -GUARDdata * check_if_guardnum_loaded_get_ptr_GUARDdata(short guardnum); -int something_with_weaponpos_of_guarddata_hand(GUARDdata *guard,int hand); -int is_weapon_in_guarddata_hand(GUARDdata *guard,int hand); -void proc_7F02308C(int param_1,int *param_2,undefined4 *param_3,float *param_4,float *param_5); -void proc_7F023160(int param_1,undefined4 *param_2,float *param_3,undefined4 *param_4); -undefined4 proc_7F023188(int param_1); -undefined8 proc_7F023194(int param_1,float *param_2,float *param_3,float *param_4); -ulonglong load_body_head_if_not_loaded(int model); -uint maybe_load_models_for_guards(int body,int head,object_header *bodyheader,object_header *headheader,int sunglasses,uint object_controller); -uint setup_chr_instance(int body,int head,object_header *body_header,object_header *head_header,int sunglasses); -uint retrieve_header_for_body_and_head(int body,int head,ulonglong bitflags); -undefined4 get_current_random_body(void); -undefined4 select_psuedorandom_heads(int param_1); -u32 get_random_head(int bodyID); -void expand_09_characters(void); -ulonglong check_if_item_held_like_pistol(int param_1); -void proc_7F023948(int param_1,float param_2); -void proc_7F023A94(int param_1,float param_2); -undefined4 proc_7F023B5C(void); -int proc_7F023BC0(void); -undefined4 proc_7F023C54(void); -void proc_7F023CB8(void); -void proc_7F023E14(int param_1,float param_2); -void proc_7F023E48(int param_1); -void actor_kneel(void); -void perform_animation_for_actor(GUARDdata *guard,int param_2,int param_3,int param_4,byte param_5,int param_6); -void proc_7F024150(int param_1); -void throw_weapon_in_guard_hand(void); -void proc_7F024334(void); -void actor_shuffle_feet(void); -void proc_7F0244AC(void); -void proc_7F024548(void); -void proc_7F024648(int param_1); -void proc_7F0247B8(int param_1); -void proc_7F024800(void); -void proc_7F024A84(void); -void proc_7F024CF8(int param_1,float *param_2); -void proc_7F024F00(int param_1); -void proc_7F024F8C(int param_1); -float proc_7F0250BC(void); -void proc_7F02516C(int param_1,int param_2,int param_3,int *param_4,uint param_5,undefined4 param_6,undefined4 param_7); -void proc_7F025560(int param_1,uint param_2,undefined4 param_3); -void proc_7F0256F0(int param_1,uint param_2,undefined4 param_3); -void proc_7F02587C(int param_1,longlong param_2); -void proc_7F025C40(void); -void proc_7F026130(float *param_1,float *param_2,float *param_3,float *param_4,float *param_5); -void proc_7F02624C(float *param_1,float *param_2,float *param_3); -void proc_7F026298(float *param_1,float *param_2,float *param_3); -float proc_7F026364(int param_1,float param_2,float param_3,float param_4,float param_5,undefined4 param_6); -undefined proc_7F0264B0(int param_1,float param_2,float param_3); -void proc_7F026508(void); -undefined4 proc_7F026F30(void); -void proc_7F027060(int param_1); -undefined8 proc_7F02727C(void); -undefined8 proc_7F027804(void); -int * proc_7F027BF4(int param_1); -ulonglong proc_7F027C60(int param_1); -float proc_7F027C84(float *param_1,int *param_2); -int * proc_7F027CD4(float *param_1,undefined4 param_2); -void proc_7F027DB0(int param_1,float *param_2,int param_3); -void proc_7F027E70(int param_1,float *param_2); -void proc_7F027E90(int param_1,undefined *param_2,float *param_3); -void proc_7F027F20(int param_1,undefined4 *param_2,undefined4 *param_3); -float proc_7F027FA8(int param_1); -int proc_7F028144(int param_1); -void proc_7F0281F4(int param_1); -void proc_7F0281FC(int param_1); -void proc_7F02828C(int param_1); -void proc_7F0282E0(int param_1); -int proc_7F028348(int param_1,int *param_2,int param_3); -int proc_7F0283FC(int param_1,int param_2); -int proc_7F028474(int param_1); -void proc_7F028494(int param_1); -void proc_7F0284DC(int param_1); -undefined8 proc_7F028510(float *param_1,int param_2); -void proc_7F028600(int param_1,undefined *param_2,float param_3,float *param_4,int param_5); -void proc_7F028894(int param_1,float *param_2); -void proc_7F028A5C(int param_1,int param_2,int param_3); -void proc_7F028DA0(int param_1); -undefined8 proc_7F028DDC(int param_1,float *param_2,undefined4 param_3,char param_4); -void proc_7F028FAC(int param_1); -void proc_7F0290F8(int param_1,int **param_2); -void proc_7F029298(int param_1); -undefined4 proc_7F0292A8(short *param_1,undefined4 *param_2,int param_3); -undefined4 proc_7F0294BC(int param_1); -undefined4 proc_7F0295D0(int param_1,undefined4 *param_2,int param_3); -undefined4 proc_7F02969C(void); -undefined4 proc_7F029760(int param_1); -undefined4 proc_7F02982C(int param_1,float *param_2,float *param_3); -undefined4 proc_7F029A94(int param_1,float *param_2,float param_3); -undefined4 proc_7F029AF0(int param_1,float *param_2); -void proc_7F029BB0(int param_1); -void proc_7F029C00(int param_1); -undefined8 proc_7F029C5C(void); -ulonglong proc_7F029D70(void); -void proc_7F02A044(int param_1,int param_2,float *param_3); -undefined4 proc_7F02A0EC(int param_1,int param_2,float param_3); -void proc_7F02A15C(int param_1,uint param_2,float *param_3,undefined4 param_4); -undefined4 proc_7F02A1E8(int param_1,uint param_2,float param_3); -undefined8 true_if_actor_is_dying_fading_limping_shot(GUARDdata *actor); -s32 true_if_actor_dying_fading(GUARDdata *chr); -undefined8 proc_7F02A2C8(void); -undefined8 proc_7F02A428(void); -undefined8 proc_7F02A588(int param_1); -undefined8 proc_7F02A704(int param_1); -undefined8 proc_7F02A7F8(int param_1); -ulonglong proc_7F02A8EC(int param_1); -undefined8 proc_7F02AA1C(int param_1,uint param_2,undefined4 param_3); -undefined8 proc_7F02AA88(int param_1,uint param_2,undefined4 param_3); -undefined8 proc_7F02AAF4(int param_1,undefined4 param_2,undefined4 param_3); -undefined8 proc_7F02AB44(int param_1,undefined4 param_2,undefined4 param_3); -undefined8 proc_7F02ABB4(int param_1,longlong param_2,char param_3); -undefined8 proc_7F02AD54(int param_1,longlong param_2); -void proc_7F02AD98(void); -void proc_7F02B4E0(int param_1); -void proc_7F02B4E8(void); -void proc_7F02B638(int param_1); -void proc_7F02B774(int param_1); -void proc_7F02B800(undefined2 *param_1,longlong param_2); -void proc_7F02B9A4(void); -void proc_7F02BC80(void); -void proc_7F02BD20(void); -void proc_7F02BDA4(void); -void proc_7F02BE00(void); -void proc_7F02BE58(void); -void proc_7F02BEA8(void); -void proc_7F02BF24(void); -void proc_7F02BFE4(int param_1,int param_2,int param_3); -float proc_7F02C190(void); -float proc_7F02C27C(int param_1); -undefined4 proc_7F02C2B0(void); -undefined4 proc_7F02C4C0(short *param_1,int param_2,int param_3,int param_4,float param_5); -void proc_7F02D048(int param_1,int param_2,longlong param_3,longlong param_4,float param_5); -void proc_7F02D0F8(int param_1); -void proc_7F02D118(int param_1,int param_2,undefined4 param_3); -longlong proc_7F02D148(int param_1,int param_2); -void proc_7F02D184(int param_1); -void proc_7F02D1C4(int param_1,longlong param_2,longlong param_3); -undefined4 proc_7F02D244(float param_1); -void proc_7F02D2E4(int param_1,uint *param_2,undefined4 *param_3,int param_4); -undefined8 proc_7F02D630(int param_1,int param_2,float *param_3); -void proc_7F02D734(short *param_1,int param_2); -void proc_7F02E26C(short *param_1); -undefined8 proc_7F02E2E0(void); -void proc_7F02E3B8(void); -void proc_7F02E4C0(void); -void proc_7F02EBFC(void); -void proc_7F02EEE0(void); -void proc_7F02F3F8(void); -void proc_7F02F5A4(void); -void proc_7F02F688(void); -uint proc_7F02F690(int param_1,float *param_2,int param_3,float *param_4); -void proc_7F02F888(void); -undefined8 proc_7F02FC34(float *param_1,float *param_2,float *param_3,float param_4); -undefined8 proc_7F02FD50(float *param_1,float *param_2,float *param_3,float param_4); -void proc_7F02FE78(void); -undefined4 proc_7F030128(int param_1,undefined4 *param_2,int param_3,undefined4 *param_4,int param_5,undefined4 param_6); -undefined4 proc_7F0301FC(int param_1,float *param_2,u32 param_3,float *param_4,float param_5,float param_6); -undefined4 proc_7F0304AC(int param_1,undefined4 *param_2,int param_3,undefined4 *param_4,undefined4 *param_5,int param_6,undefined4 param_7); -void proc_7F0305E0(int param_1,float *param_2,u32 param_3,float *param_4,float *param_5,float param_6,undefined4 param_7); -void proc_7F03074C(float *param_1,float *param_2,float *param_3); -undefined4 proc_7F03081C(int param_1,float *param_2,u32 param_3,float *param_4,float *param_5,float *param_6,float param_7,float param_8,undefined4 param_9); -undefined4 proc_7F030D70(int param_1,float *param_2,u32 param_3,float *param_4,float *param_5,float *param_6,float param_7,float param_8,undefined4 param_9); -ulonglong proc_7F03130C(int param_1,float *param_2,longlong param_3,float *param_4,float param_5,int param_6,undefined4 *param_7,int param_8,float param_9,int param_10,int param_11); -void proc_7F0315A4(int param_1,float *param_2,undefined8 param_3,char *param_4); -void proc_7F032088(void); -void proc_7F032548(int param_1); -void proc_7F0326BC(int param_1); -void proc_7F03291C(void); -undefined8 proc_7F032B68(int param_1); -undefined8 proc_7F032BA0(int param_1); -float proc_7F032BD8(void); -void proc_7F032C4C(undefined4 param_1); -int proc_7F032C78(short *param_1,ulonglong param_2,longlong param_3,undefined4 *param_4); -float proc_7F032D70(int param_1); -void proc_7F032DE4(int param_1); -void proc_7F032E48(int param_1,short param_2); -ulonglong proc_7F032EFC(int param_1,short param_2); -short proc_7F032F94(int param_1,short param_2); -longlong proc_7F032FAC(short *param_1,longlong param_2); -int proc_7F033040(short *param_1,longlong param_2); -float proc_7F0330C4(short *param_1,longlong param_2); -void proc_7F033154(int param_1,short param_2); -void proc_7F033218(int param_1,byte param_2); -void proc_7F03322C(int param_1,byte param_2); -ulonglong proc_7F033244(int param_1,byte param_2); -void proc_7F033260(short *param_1,longlong param_2,byte param_3); -void proc_7F033290(short *param_1,longlong param_2,byte param_3); -ulonglong proc_7F0332C0(short *param_1,longlong param_2,byte param_3); -void proc_7F0332FC(undefined8 param_1,uint param_2); -void proc_7F033318(undefined8 param_1,uint param_2); -ulonglong proc_7F033338(undefined8 param_1,uint param_2); -ulonglong proc_7F033354(int param_1); -ulonglong proc_7F033364(int param_1); -undefined8 proc_7F0333A0(int param_1); -void proc_7F0333C4(int param_1); -float proc_7F0333D8(int param_1); -ulonglong proc_7F0333F8(int param_1); -ulonglong proc_7F033490(int param_1); -undefined8 proc_7F0334A0(int param_1,char param_2); -undefined8 proc_7F03350C(short *param_1,int param_2,char param_3); -undefined proc_7F0335A4(int param_1); -undefined proc_7F0335AC(int param_1); -ulonglong proc_7F0335B4(int param_1); -ulonglong proc_7F0335C4(int param_1); -ulonglong proc_7F0335D4(int param_1); -ulonglong proc_7F033610(int param_1); -ulonglong proc_7F03364C(int param_1); -ulonglong proc_7F033688(int param_1); -ulonglong proc_7F0336C4(int param_1); -ulonglong proc_7F033700(int param_1,int param_2,int param_3,int param_4,byte param_5,int param_6); -void proc_7F033760(void); -undefined8 proc_7F033780(int *param_1,float *param_2,float param_3); -longlong proc_7F033834(float *param_1,undefined4 param_2,float param_3,char param_4); -undefined8 proc_7F033998(void); -ulonglong proc_7F033AAC(int param_1,ulonglong param_2); -undefined8 proc_7F033B38(undefined2 *param_1,float param_2); -void proc_7F033CF4(short *param_1,longlong param_2); -void proc_7F033D1C(short *param_1,longlong param_2,int param_3); -void proc_7F033D5C(int param_1,short param_2); -void proc_7F033D84(short *param_1,longlong param_2,short param_3); -undefined8 proc_7F033DC4(int param_1); -longlong proc_7F033EAC(float *param_1,int param_2); -undefined8 proc_7F033F48(float *param_1,int *param_2,float param_3,longlong param_4); -longlong proc_7F03415C(int param_1,uint param_2,float *param_3,int param_4,float param_5,int param_6,uint param_7); -void proc_7F034258(int param_1,int param_2,uint param_3,short param_4,uint param_5,uint param_6); -undefined8 proc_7F034308(void); -undefined8 proc_7F034388(short *param_1,longlong param_2,short param_3); -undefined8 proc_7F03444C(int param_1,short param_2); -undefined8 proc_7F0344FC(void); -undefined8 proc_7F034508(void); -undefined8 proc_7F034514(int param_1,short param_2); -undefined8 proc_7F03457C(void); -undefined8 proc_7F0346FC(int param_1,int param_2,char param_3); -void proc_7F0347A0(int param_1); -void loop_set_sound_effect_all_slots(void); -int ** proc_7F034924(longlong param_1,short param_2); -void proc_7F0349BC(longlong param_1); -int get_length_of_action_block(int param_1,int param_2); -undefined * proc_7F035244(undefined *param_1,undefined4 *param_2); -int proc_7F0352F0(undefined *param_1,int param_2,char param_3); -undefined * proc_7F035398(undefined *param_1); -int * get_ptr_path_for_pathnum(ulonglong pathnum); -void proc_7F03A240(void); -void set_stateflag_0x04_for_posdata(int param_1); -void unset_stateflag_0x04_for_posdata(int param_1); -object_standard * get_ptr_obj_pos_list_current_entry(void); -object_standard * remove_last_obj_pos_data_entry(void); -void set_last_obj_pos_data(object_standard *param_1); -void set_current_objposdata_plus_0x28(object_standard *param_1); -void proc_7F03A4F0(int param_1); -void proc_7F03A538(int param_1); -void proc_7F03A5A4(int param_1,int param_2); -void proc_7F03A5D0(int param_1); -undefined8 proc_7F03A62C(undefined8 param_1,char *param_2,longlong param_3); -longlong proc_7F03A6F4(longlong param_1,uint param_2,longlong param_3); -undefined8 proc_7F03A97C(int param_1,float *param_2,float *param_3); -void proc_7F03AA44(void); -uint proc_7F03AB58(void); -ulonglong proc_7F03ADF4(byte param_1,float *param_2,float *param_3,float *param_4,float *param_5,int param_6,float *param_7); -int proc_7F03AF5C(void); -void proc_7F03B15C(undefined8 param_1); -void proc_7F03B9C0(int param_1,undefined4 param_2,float param_3,float param_4,undefined4 param_5,undefined4 *param_6,undefined4 *param_7,undefined4 param_8,undefined4 param_9,int param_10,int param_11); -void proc_7F03BDEC(undefined4 param_1,longlong param_2); -void proc_7F03C0F0(undefined8 param_1); -void proc_7F03C294(void); -void proc_7F03C2BC(char *param_1,longlong param_2); -undefined4 proc_7F03C3FC(void); -undefined8 proc_7F03C4F0(void); -undefined4 proc_7F03C574(int param_1); -void handle_mp_respawn_and_some_things(void); -void determing_type_of_object_and_detection(void); -void proc_7F03CB8C(char *param_1,uint *param_2); -void proc_7F03CC20(char *param_1,int **param_2,undefined4 *param_3,float *param_4,float *param_5); -void proc_7F03CCB0(char *param_1,int **param_2,undefined4 *param_3); -undefined8 proc_7F03CCD8(float *param_1,float *param_2,uint param_3); -void proc_7F03CF88(char *param_1,undefined4 *param_2,float *param_3,undefined4 *param_4); -ulonglong proc_7F03CFE8(byte *param_1); -void proc_7F03D058(char *param_1,longlong param_2); -void proc_7F03D0D4(void); -float proc_7F03D188(void); -void proc_7F03D78C(void); -ulonglong proc_7F03D9EC(int param_1); -undefined4 proc_7F03DA50(char *param_1,uint param_2); -undefined8 proc_7F03DB70(int *param_1,int *param_2); -undefined8 proc_7F03DBCC(short param_1,int param_2); -int proc_7F03DCB8(int param_1,longlong param_2); -void proc_7F03DD9C(int param_1,short param_2); -void proc_7F03DE94(int param_1,short param_2); -void proc_7F03E134(char *param_1); -void proc_7F03E18C(int param_1); -void proc_7F03E210(int param_1); -void proc_7F03E27C(char *param_1,float *param_2,float *param_3,float param_4); -void proc_7F03E3FC(int *param_1); -void proc_7F03E4F0(void); -void removed_debug_roomblocks_feature(void); -void proc_7F03E6A0(int param_1); -undefined8 proc_7F03E718(int param_1); -undefined8 proc_7F03E7AC(int param_1); -void proc_7F03E830(int param_1); -undefined4 proc_7F03E85C(int param_1); -undefined4 proc_7F03E864(int param_1); -undefined4 proc_7F03E86C(int param_1); -undefined4 proc_7F03E874(int param_1); -float proc_7F03E87C(int param_1,float *param_2); -float proc_7F03E91C(int param_1,float *param_2); -float proc_7F03E9BC(int param_1,int param_2); -float proc_7F03EA5C(int param_1,int param_2); -float proc_7F03EAFC(int param_1,int param_2); -float proc_7F03EB9C(int param_1,int param_2); -void proc_7F03EC3C(int param_1,int param_2,undefined4 *param_3); -void proc_7F03ECC0(float param_1,undefined8 param_2,undefined8 param_3,float param_4,undefined8 param_5,float param_6,float param_7,float *param_8,float *param_9,uint *param_10); -void proc_7F03F540(undefined8 param_1,undefined8 param_2,float *param_3,uint *param_4); -undefined8 proc_7F03F598(float *param_1,float param_2,float *param_3); -void proc_7F03F748(int param_1,float *param_2,float *param_3,longlong param_4); -void proc_7F03F90C(int param_1,float *param_2,float *param_3,float *param_4,float *param_5); -void proc_7F03F948(float *param_1,float *param_2,undefined4 *param_3,float *param_4,float *param_5); -int scan_position_data_table_for_normal_object_at_preset(short param_1); -undefined4 proc_7F03FAB0(float *param_1,ulonglong param_2); -void proc_7F03FB70(uint *param_1); -void proc_7F03FBFC(undefined4 *param_1); -undefined4 * proc_7F03FC80(void); -void proc_7F03FDA8(int param_1); -void proc_7F03FE14(int param_1); -void proc_7F03FE88(uint *param_1); -int proc_7F03FE98(void); -int proc_7F03FF60(int param_1); -int do_something_if_object_destroyed(int param_1); -undefined4 proc_7F03FFF8(int *param_1); -undefined4 proc_7F040078(int param_1); -void proc_7F04009C(int param_1,byte *param_2); -void proc_7F0402B4(int param_1,byte *param_2); -void proc_7F040310(byte *param_1,byte *param_2); -void proc_7F040384(int *param_1,longlong param_2,float *param_3); -void proc_7F040484(int param_1); -undefined *init_standard_object(object_standard *objdata,object_header *modelheader,object_standard *targetposdata,uint controller); -undefined * init_object_no_default_pos_controller(object_standard *object,object_header *header); -undefined * proc_7F04071C(int param_1); -void proc_7F040754(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4); -void proc_7F0407F4(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4); -void proc_7F04088C(void); -void proc_7F040BA0(void); -void proc_7F040CF0(int param_1); -void proc_7F040D98(object_standard *param_1,int param_2,longlong param_3); -void proc_7F041024(object_standard *param_1,int param_2); -undefined4 proc_7F041044(int param_1); -undefined8 proc_7F041074(float *param_1,float *param_2,float *param_3,float param_4); -undefined8 proc_7F041160(int param_1,float *param_2,float *param_3,float *param_4,float *param_5,int *param_6,ushort **param_7); -undefined8 proc_7F041400(char *param_1,float *param_2,float *param_3,float *param_4,float *param_5,float *param_6,float *param_7); -ulonglong proc_7F0417DC(int param_1,float *param_2,float *param_3,float *param_4,float param_5,float *param_6,float *param_7,float *param_8,float *param_9,float *param_10,int *param_11,ushort **param_12); -undefined8 proc_7F0419E4(int param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,float param_5,float *param_6,float *param_7,float *param_8,float *param_9,float *param_10); -undefined8 proc_7F041BB8(int param_1,float *param_2,float *param_3,float param_4,float *param_5,float *param_6,float *param_7,float *param_8,float *param_9); -longlong proc_7F041E0C(char *param_1,undefined8 param_2,float *param_3,ulonglong param_4,float *param_5,float *param_6,int *param_7); -int handles_projectile_motion(int param_1,float *param_2,float *param_3,float *param_4,int param_5,int param_6); -undefined4 proc_7F042A0C(void); -int proc_7F042EB4(int param_1,float *param_2,float *param_3,float *param_4,int param_5,int param_6); -void proc_7F042F18(float *param_1,float param_2,float *param_3,float param_4,float param_5,float param_6); -void proc_7F04310C(float *param_1,float param_2,float *param_3,float param_4,float param_5,float param_6); -void proc_7F0431E4(int param_1,float *param_2); -void proc_7F043650(int param_1); -void proc_7F043838(float *param_1,int param_2); -void proc_7F0439B8(void); -undefined8 proc_7F043A6C(int param_1,int param_2,int param_3,ushort *param_4); -void generate_explosion_at_position(object_header *object,uint param_2,undefined8 param_3,undefined4 param_4); -void handle_thrown_explosive_detonation(object_header *param_1); -void proc_7F044200(int param_1); -void proc_7F04424C(object_header *param_1); -void proc_7F0442DC(object_header *param_1); -undefined8 proc_7F044414(float *param_1,int param_2,float *param_3,uint param_4); -undefined8 proc_7F0446B8(float *param_1,uint param_2,float *param_3,uint param_4); -undefined8 proc_7F044718(undefined8 param_1,undefined8 param_2,float *param_3,int param_4); -undefined8 proc_7F0448A8(void); -int proc_7F044B38(undefined8 param_1); -int proc_7F0451DC(float *param_1,float param_2,float param_3,float param_4); -undefined4 * proc_7F049B58(undefined4 *param_1); -void set_ptr_monitor_img_to_obj_ani_slot(undefined4 *slot,undefined4 image); -void set_ptr_monitor_img_to_obj_ani_slot(undefined4 *param_1,undefined4 param_2); -void save_img_index_to_obj_ani_slot(int slot,undefined4 index); -uint * process_monitor_animation_microcode(void); -void proc_7F04AC20(int param_1,int param_2,uint param_3); -longlong proc_7F04B150(char *param_1,uint *param_2,uint param_3); -ushort * proc_7F04B478(int param_1); -undefined8 proc_7F04B590(int param_1,int param_2); -void proc_7F04B610(int param_1,int param_2); -void proc_7F04BCDC(int param_1,float *param_2); -void proc_7F04BFD0(int param_1,undefined4 param_2); -void proc_7F04C044(int param_1); -undefined8 proc_7F04C130(int param_1,uint param_2,undefined4 param_3,undefined4 param_4); -void proc_7F04CA44(int param_1,undefined8 param_2); -void proc_7F04CD04(object_header *param_1,undefined8 param_2); -void object_explosion_related(object_standard *param_1,float *param_2,int param_3); -undefined4 proc_7F04D16C(float *param_1,float *param_2,float *param_3,uint *param_4,uint *param_5,int param_6,float *param_7); -int proc_7F04D9B0(int param_1,ushort *param_2,float *param_3,float *param_4,float *param_5,int *param_6,ushort **param_7); -void proc_7F04DCB4(object_standard *param_1); -void proc_7F04DD68(object_standard *param_1); -void proc_7F04DE18(object_standard *param_1); -void proc_7F04DEFC(int param_1,float param_2,undefined8 param_3,undefined8 param_4,int param_5); -undefined8 check_if_destroyable_object_type(int param_1); -undefined8 check_if_collectable_object(int objdata); -undefined8 check_if_destroyable_not_invincible(int object); -void proc_7F04E0CC(int param_1,float param_2,float *param_3,int param_4,int param_5); -void maybe_detonate_object(object_standard *objdata,float param_2,float *param_3,int param_4,int param_5); -void proc_7F04E720(object_standard *param_1,float *param_2); -void proc_7F04E9BC(object_standard *param_1,float *param_2); -void proc_7F04EA68(float *param_1,float *param_2); -ulonglong check_if_object_has_not_been_destroyed(int param_1); -undefined8 proc_7F04EF58(int param_1); -undefined4 proc_7F04F170(char *param_1); -void proc_7F04F218(int param_1,longlong param_2); -void proc_7F04F244(int param_1,int *param_2,undefined4 *param_3,undefined4 *param_4,undefined4 *param_5); -void append_text_picked_up(u8 *buffer,u8 *param_2,u8 *param_3); -void append_text_ammo_amount_word(u8 *buffer,AMMOTYPES ammotype,u32 amount); -void apped_text_ammotype(u8 *buffer,AMMOTYPES ammotype,u32 amount); -void set_sound_effect_for_ammo_collection(AMMOTYPES ammotype); -void set_sound_effect_for_weapontype_collection(ITEM_IDS weapontype); -void prepare_ammo_type_collection_text(u8 *finaltext,AMMOTYPES ammotype,u32 quantity); -void display_text_when_ammo_collected(AMMOTYPES ammotype,u32 amount); -void add_ammo_to_inventory(AMMOTYPES ammotype,int amount,int doplaysound,int dodisplaytext); -uint get_ammo_in_magazine(int objdata); -uint ammo_collected_from_weapon(void *objdata); -void generate_language_specific_text_for_weapon(char *finalstring,ITEM_IDS itemtype); -void display_text_for_weapon_in_lower_left_corner(ITEM_IDS weaponid); -undefined8 collect_or_interact_object(char *param_1,int param_2); -void object_collectability_routine(object_standard *param_1); -undefined8 proc_7F050D30(int param_1,undefined4 *param_2,float *param_3,float *param_4); -void proc_7F050DE8(int param_1); -undefined *proc_7F050F50(ushort *param_1,int param_2,ushort **param_3,undefined *param_4,uint param_5); -void proc_7F051028(ushort *param_1,int param_2); -void proc_7F051084(ushort *param_1,int param_2); -void proc_7F0510C0(undefined2 *param_1,int item,uint param_3); -int proc_7F05126C(int param_1,longlong param_2,int param_3); -int proc_7F051588(void); -int proc_7F0515B0(longlong param_1,longlong param_2,int param_3); -int proc_7F0518A8(void); -object_standard * proc_7F0518D0(void); -void trigger_remote_mine_detonation(void); -int check_if_entry_is_collectable(char type,char *objposdata); -int check_if_item_deposited(char item); -void add_obj_to_temp_proxmine_table(undefined4 *objdata); -void remove_obj_from_temp_proxmine_table(undefined4 *objdata); -void detonate_proxmine_within_range(xyzpoint *xyzpos); -void check_guard_detonate_proxmine(void); -void link_objects(int *objdata1,int *objdata2); -undefined *complete_object_data_block_return_position_entry(int *objdata,int *modelheader,int *targetposdata,int controller); -undefined * proc_7F051DD8(int param_1,ushort **param_2); -undefined8 proc_7F051E1C(int param_1,int param_2); -undefined *proc_7F051F30(ushort *param_1,int param_2,ushort **param_3,undefined *param_4,uint param_5); -undefined * proc_7F051FD4(ushort *param_1,int param_2); -undefined * proc_7F052030(ushort *param_1,int param_2); -undefined4 * create_new_item_instance_of_model(int model,int iteminstance); -void set_0x4_in_runtime_flags_for_item_in_guards_hand(int *GUARDdata,int hand); -undefined *create_held_weapon(undefined2 *param_1,int param_2,undefined param_3,uint param_4,undefined4 *param_5,ushort **param_6); -undefined *actor_draws_weapon_with_model(undefined2 *param_1,int param_2,undefined param_3,uint param_4); -void proc_7F0523F8(int param_1,int param_2,int **param_3); -void redirect_object_collectability_routines(void); -void proc_7F052574(int param_1,undefined4 param_2); -longlong proc_7F052604(int param_1); -undefined8 get_hat_model(int param_1); -void proc_7F0526EC(int param_1,float *param_2); -void proc_7F052B00(int param_1); -void proc_7F052D8C(int param_1); -void proc_7F053598(int param_1); -void proc_7F0535C4(int param_1); -undefined *initialize_door(int *stdobject,int *xyzpos,int matrix,int *tile,int param_5,int *runtimexyzpos); -int proc_7F0537B8(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5); -int proc_7F053894(float *param_1,float param_2,float param_3); -void proc_7F05396C(int param_1,float *param_2,float param_3,float param_4); -int proc_7F0539B8(float param_1,undefined8 param_2,undefined8 param_3); -void proc_7F0539E4(float *param_1); -void sub_GAME_7F053A10(int param_1,float *param_2); -void proc_7F053A3C(void); -void proc_7F053B10(int param_1); -void play_door_opening_soundeffect_0(int param_1); -void play_door_opening_soundeffect_(int param_1); -void play_door_closing_soundeffect_0(int param_1); -void play_door_closing_soundeffect_1(int param_1); -void set_door_state(int *objdata,DOORSTATE state); -void proc_7F0547DC(int param_1); -void proc_7F05480C(int param_1); -void proc_7F05487C(int param_1); -void proc_7F0548A4(int param_1,int param_2); -void proc_7F054988(int param_1,longlong param_2); -ulonglong proc_7F054A20(int param_1); -longlong proc_7F054A64(char *param_1,float *param_2); -int proc_7F054B80(int param_1); -undefined4 proc_7F054C58(void); -uint proc_7F054D6C(char *param_1,float *param_2,float param_3,int param_4); -undefined8 proc_7F054EA8(int param_1); -void proc_7F054FB4(int param_1); -void proc_7F05522C(int param_1,float *param_2,float *param_3,int param_4); -undefined4 proc_7F0555F8(int param_1,int param_2); -int proc_7F055804(char *param_1); -void proc_7F05599C(int param_1); -undefined8 proc_7F055A70(int param_1,int param_2); -void proc_7F055B78(int param_1,int param_2); -undefined8 proc_7F055C40(int param_1); -void start_alarm(void); -void deactivate_alarm_sound_effect(void); -void stop_alarm(void); -s32 is_alarm_on(void); -void init_trigger_toxic_gas_effect(undefined4 *param_1); -void proc_7F055EF8(void); -u32 check_if_toxic_gas_activated(void); -void handle_gas_damage(void); -void set_unset_clock_lock_bits(int clocklockbits,int flag); -u32 is_clock_drawn_onscreen(void); -void set_clock_time(f32 time); -f32 get_clock_time(void); -void set_clock_enable(int enable); -undefined4 get_clock_enable(void); -void if_enabled_reset_clock(void); -undefined4 * proc_7F056210(undefined4 *param_1); -void handle_alarm_gas_timer_calldamage(void); -void proc_7F056690(void); -void drop_inventory(void); -undefined8 proc_7F056850(undefined4 *param_1,longlong param_2,float param_3,undefined4 *param_4,undefined4 *param_5); -u32 get_size_of_setup_object_type(u8 *object); -int proc_7F056A88(int param_1); -int proc_7F056B1C(object_standard *param_1); -int proc_7F056BA8(int param_1); -u32 load_model(int modelid); -void proc_7F056CA0(int param_1); -int proc_7F056EA0(undefined8 param_1,int param_2); -int proc_7F056F08(ulonglong param_1,int *param_2,int *param_3,longlong param_4,int param_5,int param_6); -int proc_7F057080(short param_1); -int get_handle_to_tagged_object(int object); -char * get_ptr_text_for_watch_breifing_page(WATCH_BRIEFING_PAGE page); -u32 add_objective(void); -u8 * get_text_for_objective(int objective); -DIFFICULTY get_difficulty_for_objective(int objective); -int get_status_of_objective(s32 objective); -u32 check_objectives_complete(void); -void display_objective_status_text_on_status_change(void); -void proc_7F057744(ulonglong param_1); -void proc_7F0577E8(int param_1,ulonglong param_2); -void objectiveHandlePhotograph(void); -void proc_7F057AC0(float *param_1); -void proc_7F057C14(float *param_1,float *param_2); -void proc_7F057D44(float *param_1,float *param_2,float param_3); -void proc_7F057D88(float *param_1,float *param_2,float param_3); -void sub_GAME_7F057DF8(float *param_1,float *param_2,int param_3); -void proc_7F057E58(float *param_1,float *param_2,float *param_3,float *param_4,int param_5); -float cosf(float __x); -float sinf(float __x); -void guMtxIdentF_unrolled(float (*param_1) [4] [4]); -void proc_7F058020(float (*param_1) [4] [4],float (*param_2) [4]); -void proc_7F058068(float *param_1,float *param_2); -void sub_GAME_7F058098(float *param_1,float *param_2); -void proc_7F0580C8(float *param_1,float *param_2,int param_3); -void proc_7F05818C(float *param_1,float *param_2,int param_3); -void proc_7F058274(float *param_1,float *param_2,float *param_3); -void proc_7F058380(float *param_1,float *param_2,float *param_3); -void proc_7F0583D8(float *param_1,float *param_2); -void proc_7F058418(float *param_1,float *param_2,float *param_3); -void proc_7F058474(float *param_1,float *param_2); -void proc_7F0584D0(float *param_1,float param_2,float *param_3); -void proc_7F058570(float param_1,undefined8 param_2,undefined4 *param_3); -void proc_7F0585FC(float param_1,undefined8 param_2,float *param_3); -void proc_7F058688(float param_1,undefined8 param_2,float *param_3); -void proc_7F058714(float *param_1,float *param_2); -void proc_7F058860(float *param_1,float *param_2); -void proc_7F05892C(undefined4 *param_1,float *param_2,float *param_3); -void init_something_copy_posdata_to_it(xyzpoint *posdata,int *dest); -void copies_first_3_floats_from_a0_to_a1_plus_0x30(xyzpoint *posdata,int dest); -void proc_7F0589B4(float param_1,undefined8 param_2,float *param_3); -void proc_7F0589E4(float param_1,undefined8 param_2,int param_3); -void proc_7F058A14(float param_1,undefined8 param_2,int param_3); -void proc_7F058A4C(float param_1,undefined8 param_2,int param_3); -void matrix_multiply_A1_by_F12(float param_1,undefined8 param_2,float *param_3); -void proc_7F058B10(float param_1,undefined8 param_2,float *param_3); -void proc_7F058B80(float param_1,undefined8 param_2,int param_3); -void proc_7F058BB8(float param_1,undefined8 param_2,float *param_3); -void proc_7F058C4C(float param_1); -void proc_7F058C64(void); -void proc_7F058C88(void); -void proc_7F058C9C(int param_1,uint *param_2); -void proc_7F058E78(uint *param_1,int param_2); -void proc_7F059044(float *param_1,int *param_2); -void proc_7F05914C(int *param_1,float *param_2); -void proc_7F059244(int param_1,uint *param_2); -void proc_7F059334(uint *param_1,int param_2); -void proc_7F059424(float *param_1,float param_2,float param_3,float param_4,float param_5,float param_6,float param_7,float param_8,float param_9,float param_10); -void proc_7F059694(float *param_1,float param_2,float param_3,float param_4,float param_5,float param_6,float param_7,float param_8,float param_9,float param_10); -void proc_7F059708(float *param_1,float param_2,float param_3,float param_4,float param_5,float param_6,float param_7,float param_8,float param_9,float param_10); -void proc_7F059908(float *param_1,float param_2,float param_3,float param_4,float param_5,float param_6,float param_7,float param_8,float param_9,float param_10); -uint proc_7F05997C(float param_1,float param_2); -void proc_7F059A48(float *param_1,undefined2 *param_2,float param_3,float param_4,float param_5,float param_6,float param_7); -void proc_7F059B58(float *param_1,float a,float x,float y,float z); -void proc_7F059CE8(float *param_1,float param_2,float param_3,float param_4,float param_5); -void proc_7F059D30(void); -void proc_7F059D38(undefined4 *param_1,undefined4 *param_2); -void proc_7F059DAC(float *param_1,float *param_2); -void proc_7F059E64(float *param_1,float *param_2); -void proc_7F059FB8(float *param_1,float *param_2); -void proc_7F05A250(undefined8 param_1,undefined8 param_2); -void proc_7F05A310(undefined8 param_1,undefined8 param_2); -float proc_7F05A774(undefined8 param_1,undefined8 param_2); -float proc_7F05A928(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6,float param_7,float param_8,float param_9,float param_10,float param_11); -float proc_7F05A9B8(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6); -void proc_7F05A9E0(float param_1); -float convert_angle_using_inverse(f32 vector1,f32 vector2); -int proc_7F05AB70(uint param_1); -uint proc_7F05ABF0(short param_1); -short proc_7F05AC44(short param_1); -float proc_7F05ACB0(float param_1); -float proc_7F05AD5C(float param_1); -void proc_7F05AE00(float *param_1,float *param_2,float param_3,float *param_4); -float proc_7F05AE50(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6,float param_7); -void proc_7F05AEFC(float *param_1,float *param_2,float *param_3,float *param_4,float param_5,float *param_6); -void proc_7F05B024(float *param_1,float *param_2,float *param_3,float *param_4,float param_5,float param_6,float *param_7); -float proc_7F05B154(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6,float param_7); -void proc_7F05B1D4(ushort *param_1,float *param_2); -void proc_7F05B3F4(float *param_1,float *param_2); -void proc_7F05B528(float param_1,undefined8 param_2,float *param_3); -void proc_7F05B57C(float param_1,undefined8 param_2,float *param_3); -void proc_7F05B5D4(float param_1,undefined8 param_2,float *param_3); -void proc_7F05B628(float *param_1,float *param_2); -void proc_7F05B798(float *param_1,float *param_2); -void proc_7F05B9B4(float *param_1,float *param_2,float *param_3); -void proc_7F05BA08(float *param_1,float *param_2,float param_3,float *param_4); -void proc_7F05BC68(float *param_1,float param_2,float *param_3); -void proc_7F05BE10(float *param_1,float *param_2); -void proc_7F05BE88(float *param_1,float *param_2,float *param_3); -void proc_7F05BF8C(float *param_1,float *param_2); -void proc_7F05BFD4(float *param_1,undefined4 *param_2); -void proc_7F05C068(int param_1,float *param_2); -void proc_7F05C138(float *param_1,float *param_2,float *param_3,float *param_4); -void proc_7F05C250(float *param_1,float *param_2,float *param_3,float *param_4,float param_5,float *param_6); -void proc_7F05C2F0(float *param_1,float *param_2,float *param_3,float *param_4,float param_5,float *param_6); -float truncf(float __x); -int proc_7F05C3D8(float param_1); -float proc_7F05C440(float param_1); -int proc_7F05C4B8(float param_1); -void set_cartridges_eject(u32 param_1); -undefined4 get_cartridges_eject(void); -void nullsub_73(void); -void proc_7F05C540(float *param_1); -void proc_7F05C594(float *param_1); -void proc_7F05C614(void); -void proc_7F05C6B8(void); -undefined8 proc_7F05C6FC(int param_1,float param_2,float *param_3,int param_4); -weapon_stats * get_ptr_item_statistics(ITEM_IDS item); -void copy_item_in_hand(xyzpoint *param_1); -void copy_item_in_hand_to_main_list(undefined4 *param_1); -void unknown_takes_playerhand(int hand); -ulonglong proc_7F05CEBC(int param_1); -ITEM_IDS get_itemtype_in_hand(HAND hand); -Gitemheader * get_ptr_itemheader_in_hand(HAND hand); -u8 * getPlayerWeaponBufferForHand(HAND hand); -u32 getSizeBufferWeaponInHand(HAND param_1); -void remove_item_in_hand(HAND hand); -void place_item_in_hand_swap_and_make_visible(HAND hand,ITEM_IDS item); -char * get_ptr_item_text_call_line(int item); -Gitemheader * get_ptr_weapon_model_header_line(int weapon); -int getCurrentWeaponOrItem(void); -void used_to_load_1st_person_model_on_demand(int param_1); -longlong proc_7F05D334(longlong param_1,int param_2); -ITEM_IDS get_next_weapon_in_cycle_for_hand(HAND hand,s32 direction); -void likely_change_weapon_in_hand(HAND hand,int weapon,s32 direction); -void proc_7F05D610(int param_1); -void proc_7F05D650(int param_1); -void proc_7F05D690(void); -void advance_through_inventory(void); -void backstep_through_inventory(void); -void autoadvance_on_deplete_all_ammo(void); -void draw_item_in_hand_has_more_ammo(HAND hand,ITEM_IDS item); -void attempt_reload_item_in_hand(int hand); -ITEM_IDS get_item_in_hand(int hand); -void draw_item_in_hand(int param_1,int param_2); -ITEM_IDS return_ammo_in_hand(HAND hand); -void proc_7F05DA8C(int param_1,int param_2); -void proc_7F05DAE4(int param_1); -void remove_hands_item(HAND param_1,int param_2); -undefined get_hands_firing_status(int hand); -f32 proc_7F05DCB8(int param_1); -f32 proc_7F05DCE8(longlong param_1); -weapon_stats * proc_7F05DD38(void); -void camera_sniper_zoom(float zoom); -void proc_7F05DE94(float param_1); -weapon_stats * proc_7F05DF84(int param_1); -weapon_stats * proc_7F05DFA8(int param_1); -undefined proc_7F05DFCC(int param_1); -ulonglong proc_7F05DFF0(int param_1); -ulonglong proc_7F05E014(int param_1); -ulonglong proc_7F05E038(int param_1); -BOOL check_if_have_ammo_for_item(int item); -uint check_special_attributes(int item,uint mask); -void proc_7F05E0E4(void); -void proc_7F05E5F0(float param_1); -ITEM_IDS get_value_if_watch_is_on_hand_or_not(int hand); -int * proc_7F05E6B4(void); -void proc_7F05E808(int param_1); -void proc_7F05E83C(int param_1); -void proc_7F05E978(int param_1,undefined4 param_2); -void proc_7F05EA94(int param_1,undefined4 param_2); -void proc_7F05EB0C(int param_1,undefined4 *param_2,undefined4 param_3,float *param_4,undefined4 *param_5,undefined4 *param_6,undefined4 param_7); -void proc_7F05EC1C(void); -void proc_7F05EE24(int param_1); -void proc_7F05F09C(int param_1); -void generate_player_thrown_object(int param_1); -void proc_7F05F73C(int param_1); -void proc_7F05F928(int param_1); -void proc_7F05FA7C(int param_1); -void proc_7F05FB00(int param_1); -int ** proc_7F05FB64(int param_1); -void handles_firing_or_throwing_weapon_in_hand(HAND hand); -void proc_7F061920(void); -void proc_7F061948(undefined *param_1,int param_2,float *param_3,float *param_4); -void proc_7F061BF4(int param_1); -undefined4 * proc_7F061E18(undefined4 *param_1,char *param_2,int param_3); -void proc_7F062B00(char *param_1); -void proc_7F062BE4(undefined4 *param_1); -undefined4 *set_enviro_fog_for_items_in_solo_watch_menu(undefined4 *DL,longlong param_2,float *buffer,int param_4,int rgba); -undefined4 * proc_7F0634D8(undefined4 *param_1,longlong param_2,float *param_3,int param_4); -undefined4 * proc_7F0634FC(undefined4 *param_1,longlong param_2,float *param_3); -void proc_7F06351C(undefined4 *param_1,float *param_2,float *param_3,float *param_4,undefined4 *param_5,float *param_6,float *param_7); -undefined4 proc_7F06359C(undefined4 param_1,float *param_2,longlong param_3,longlong param_4,int param_5,char *param_6); -undefined4 proc_7F064364(undefined4 param_1,float *param_2,longlong param_3,int param_4,char *param_5); -undefined4 * proc_7F0643A0(void); -void recall_joy2_hits_edit_detail_edit_flag(void); -void proc_7F064720(float *param_1); -void recall_joy2_hits_edit_flag(int param_1,float *param_2,int param_3); -void proc_7F064934(longlong param_1); -undefined4 proc_7F0649AC(longlong param_1); -void proc_7F0649D8(int param_1); -void proc_7F066E64(void); -int get_keyanalyzer_flag(void); -void proc_7F066F08(void); -f32 get_vertical_position_solo_watch_menu_main_page_for_item(int item); -f32 get_lateral_position_solo_watch_menu_main_page_for_item(int item); -f32 get_depth_on_solo_watch_menu_page_for_item(int item); -f32 get_zrotation_solo_watch_menu_for_item(int item); -f32 get_xrotation_solo_watch_menu_for_item(int item); -f32 get_45_degree_angle(void); -int get_ptr_first_title_line_item(int item); -int get_ptr_second_title_line_item(int item); -int get_ptr_short_watch_text_for_item(int item); -int get_ptr_long_watch_text_for_item(int item); -f32 get_45_degree_angle_0(void); -f32 get_horizontal_offset_on_solo_watch_menu_for_item(int item); -f32 get_vertical_offset_on_solo_watch_menu_for_item(int item); -f32 get_depth_offset_solo_watch_menu_inventory_page_for_item(int item); -undefined4 proc_7F067174(int param_1); -void proc_7F0671A4(void); -ulonglong proc_7F0673B4(int param_1); -void proc_7F067420(int param_1); -void proc_7F067AA4(int param_1); -void proc_7F067AB4(void); -void proc_7F067B4C(undefined4 *param_1); -void caclulate_gun_crosshair_position_rotation(void); -void proc_7F067F58(undefined4 param_1,undefined4 param_2); -void proc_7F067FBC(undefined4 param_1,undefined4 param_2); -void proc_7F068008(undefined4 *param_1,undefined4 *param_2); -void proc_7F06802C(void); -void proc_7F0680D4(float *param_1); -void proc_7F068190(undefined4 *param_1,float *param_2); -void proc_7F0681CC(void); -undefined * proc_7F068420(undefined4 param_1,undefined4 *param_2); -void proc_7F068508(int param_1,undefined4 param_2); -void proc_7F068D20(float *param_1); -void proc_7F068E6C(void); -void proc_7F068EC4(int param_1,undefined4 *param_2); -void proc_7F06908C(undefined4 *param_1); -void set_unset_ammo_on_screen_setting(int flags,int isset); -void give_cur_player_ammo(AMMOTYPES type,int amount); -int check_cur_player_ammo_amount_in_inventory(AMMOTYPES type); -int check_cur_player_ammo_amount_total(int type); -int get_max_ammo_for_type(AMMOTYPES type); -void set_max_ammo_for_cur_player(void); -int get_ammo_in_hands_magazine(int hand); -int get_ammo_in_hands_weapon(int hand); -AMMOTYPES get_ammo_type_for_weapon(ITEM_IDS weapon); -int get_ammo_count_for_weapon(int weapon); -void add_ammo_to_weapon(int weapon,int ammo); -undefined4 get_max_ammo_for_weapon(int weapon); -undefined4 *microcode_generation_ammo_related(int *buffer,int *imagedeclaration,f32 hpos,f32 param_4,f32 vpos,f32 param_6,f32 voffset,int param_8,int red,int green,int blue,int alpha); -void set_rgba_redirect_generate_microcode(int *buffer,int *imagedeclaration,f32 param_3,f32 param_4,f32 hoffset,f32 param_6,f32 voffset,int param_8); -uint * proc_7F069A50(undefined4 *param_1,byte *param_2,uint param_3,int param_4,uint param_5,int param_6,int param_7); -uint * display_ammo_total_in_a1(undefined4 *param_1,undefined8 param_2,uint param_3,int param_4,uint param_5,int param_6,int param_7); -u32 * generate_ammo_total_microcode(void); -undefined4 * proc_7F06A334(undefined4 *param_1); -void set_unset_bitflags(int bitflags,int flag); -void proc_7F06A5E4(uint **param_1); -void inc_curplayer_hitcount_with_weapon(int weapon,int hitcount); -int get_curplayer_shot_register(int statsregister); -void inc_cur_civilian_casualties(void); -int get_civilian_casualties(void); -void increment_num_kills_display_text_in_MP(void); -int get_curplay_killcount(void); -void increment_num_times_killed_MwtGC(void); -int get_times_killed_mwtgx(void); -void increment_num_deaths(void); -int get_curplayer_numdeaths(void); -void increment_num_suicides_display_MP(void); -int get_curplayer_numsuicides(void); -void proc_7F06ABB0(int *DL,float *xypos,float *width,int height,int rotateleft90,int fliph,int flipv,int red); -void display_image_at_on_screen_coord(int *DL,int *xypos,f32 wdivh,int width,int height,int rotateleft90,int fliph,int flipv,int red,int green,int blue,int alpha,int format,int param_14); -int * proc_7F06B120(int *param_1,int param_2); -void proc_7F06B248(int param_1); -void proc_7F06B29C(int *param_1); -int proc_7F06BB28(int param_1); -void drawjointlist(int param_1,uint *param_2,undefined4 param_3,int param_4); -undefined4 probably_damage_detail_blood_effect_related(int **param_1,float *param_2,float *param_3,int *param_4,ushort **param_5); -undefined4 proc_7F06C010(int **param_1,float *param_2,float *param_3,int *param_4,ushort **param_5); -ulonglong proc_7F06C060(int param_1,int param_2); -uint get_obj_instance_controller_for_header(object_header *objheader); -void set_obj_instance_scale_to_zero(int *ptrobjinstance); -uint get_aircraft_obj_instance_controller(object_header *objheader); -void proc_7F06C3B4(int param_1,ushort *param_2,ushort **param_3); -void set_aircraft_obj_inst_scale_to_zero(int *objinstance); -void set_80036084(s32 param_1); -void set_flt_80036088(f32 param_1); -void proc_7F06C418(undefined4 *param_1,undefined4 *param_2); -void set_8003608C(undefined4 param_1); -void return_null(void); -void proc_7F06C474(int param_1,float *param_2,undefined4 param_3,undefined4 param_4); -void proc_7F06C550(int param_1,float *param_2,undefined4 param_3,undefined4 param_4); -undefined2 proc_7F06C570(ushort *param_1,longlong param_2); -int proc_7F06C660(int objinst,ushort *param_2,longlong param_3); -int getsubmatrix(int objinst,uint param_2,undefined4 param_3,undefined4 param_4); -void proc_7F06C710(int param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4); -float proc_7F06C768(int param_1,uint param_2,undefined4 param_3,undefined4 param_4); -int extract_id_from_object_structure_microcode(int objinst,ushort *partdesc); -void getpartoffset(longlong objinst,ushort *partdesc,undefined4 *param_3,undefined4 param_4); -void setpartoffset(longlong objinst,ushort *partedesc,float *param_3,undefined4 param_4); -void getsuboffset(int objinst,undefined4 *param_2,undefined4 param_3,undefined4 param_4); -void setsuboffset(int objinst,xyzpoint *param_2); -ushort ** getsubroty(int objinst,uint param_2,undefined4 param_3,undefined4 param_4); -void setsubroty(int objinst,float param_2,float param_3,undefined4 param_4); -void set_obj_instance_controller_scale(int instancecontroller,f32 scale); -void proc_7F06CE84(int param_1,undefined4 param_2); -float getjointsize(int objinst,ushort *param_2,undefined8 param_3,undefined4 param_4); -float getinstsize(int objinst,uint param_2,undefined4 param_3,undefined4 param_4); -void proc_7F06D07C(float *param_1,float *param_2,float param_3); -float proc_7F06D0CC(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5); -void proc_7F06D160(undefined8 param_1,undefined8 param_2,float param_3); -uint proc_7F06D1CC(int param_1,int param_2,int param_3); -uint proc_7F06D2E4(int param_1,longlong param_2,int param_3,int param_4,int param_5,short *param_6); -float proc_7F06D3F4(int param_1,longlong param_2,int param_3,int param_4,int param_5,float *param_6); -void proc_7F06D490(int param_1,ushort *param_2); -void subcalcpos(int objanim,uint param_2,undefined4 param_3,undefined4 param_4); -void process_01_group_heading(float **param_1,int objinst,ushort *partdesc); -void proc_7F06D8B0(void); -void proc_7F06DB5C(float **param_1,int param_2,ushort *param_3,float *param_4); -uint proc_7F06DE04(int param_1,uint param_2,uint param_3); -void proc_7F06DEC0(int param_1,longlong param_2,int param_3,int param_4,int param_5,float *param_6); -void process_02_position(float **param_1,int param_2,ushort *param_3); -void proc_7F06E2B8(void); -float proc_7F06E540(int param_1,longlong param_2,int param_3,int param_4,int param_5); -void process_03_unknown(undefined4 param_1,int param_2,int param_3); -void process_15_subposition(float **param_1,int param_2,int param_3); -void process_08_distance_triggers(void); -void proc_7F06E970(int param_1,ushort *param_2); -void process_12_handle_switch(int param_1,ushort *param_2); -void process_17_pointer_to_head(int param_1,ushort *param_2); -void proc_7F06EA54(int param_1,longlong param_2); -void proc_7F06EB10(int param_1,ushort *param_2); -void process_09_head_hat_placement_interlink(int param_1,ushort *param_2); -void process_07_unknown(int param_1,ushort *param_2); -void proc_7F06EEA4(undefined8 param_1,int param_2); -void proc_7F06EFC4(int param_1); -void proc_7F06F0D0(float **param_1,int param_2); -void instcalcmatrices(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4); -void subcalcmatrices(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4); -undefined4 proc_7F06F5AC(int param_1); -undefined proc_7F06F5B4(int param_1); -undefined4 proc_7F06F5BC(int param_1); -float proc_7F06F5C4(int param_1); -undefined4 proc_7F06F610(int param_1); -float proc_7F06F618(int param_1); -undefined4 proc_7F06F640(int param_1); -longlong proc_7F06F66C(longlong param_1,int param_2,float param_3); -void proc_7F06F780(int param_1,float param_2); -void proc_7F06F878(int param_1,undefined4 param_2,undefined param_3,float param_4,float param_5,undefined4 param_6); -void proc_7F06FC4C(int param_1,undefined4 param_2,undefined param_3,float param_4,undefined4 param_5,float param_6,int param_7); -void proc_7F06FCA8(int param_1,undefined4 param_2,undefined param_3,float param_4,undefined4 param_5,float param_6); -void proc_7F06FCFC(undefined4 *param_1,undefined4 *param_2); -void proc_7F06FDCC(int param_1,undefined4 param_2,undefined4 param_3); -void proc_7F06FDE8(int param_1,float param_2); -void proc_7F06FE3C(int param_1,undefined4 param_2); -void proc_7F06FE44(int param_1,undefined4 param_2); -void proc_7F06FE4C(int param_1,undefined4 param_2,float param_3); -void proc_7F06FE90(int param_1,float param_2,float param_3); -void proc_7F06FF18(int param_1,undefined4 param_2,float param_3); -void proc_7F06FF5C(int param_1,undefined4 param_2); -void proc_7F06FF64(int param_1,float param_2); -void proc_7F070090(int param_1,float param_2,float param_3); -void proc_7F0701D4(undefined4 param_1); -undefined4 proc_7F0701E0(void); -void proc_7F0701EC(int param_1,float param_2,float param_3,float param_4,float param_5); -void proc_7F070AEC(int param_1,int param_2,int param_3); -void proc_7F070F80(int param_1); -void proc_7F071030(int param_1,longlong param_2); -void proc_7F071B44(int param_1,longlong param_2); -void proc_7F072644(int param_1); -void proc_7F0726F8(int param_1); -void proc_7F072784(int param_1,int param_2); -void proc_7F072984(int param_1,int param_2,ushort *param_3); -void proc_7F072C10(void); -void dorottex(int param_1,uint param_2,undefined4 param_3,undefined4 param_4); -void proc_7F073038(int param_1,uint *param_2,int param_3); -void proc_7F07306C(void); -void dotube(int param_1,int param_2,ushort *param_3); -void proc_7F0737EC(void); -void proc_7F0737FC(void); -void dogfnegx(int param_1,int param_2,ushort *param_3); -void proc_7F073FC8(undefined4 param_1); -void doshadow(int param_1,int param_2,ushort *param_3); -void proc_7F074514(void); -void proc_7F074524(void); -void proc_7F074534(int param_1,int param_2,ushort *param_3); -void subdraw(int param_1,uint param_2,undefined4 param_3,undefined4 param_4); -void proc_7F074790(float **param_1,uint param_2,undefined4 param_3,undefined4 param_4); -undefined8 proc_7F0747D0(int param_1,float *param_2,float *param_3,float *param_4); -void proc_7F074C68(int param_1,ushort *param_2,float *param_3,float *param_4); -undefined8 proc_7F074CAC(int param_1,ushort *param_2,float *param_3,float *param_4); -undefined4 proc_7F0752FC(int param_1,float *param_2,float *param_3,ushort **param_4); -undefined4 proc_7F07549C(int param_1,float *param_2,float *param_3,ushort **param_4); -uint proc_7F0754BC(int *param_1,int param_2); -void proc_7F0755B0(void); -void convert_obj_microcode_offset_to_rdram_addr(ushort *param_1,int param_2,int param_3); -void proc_7F075A90(object_header *objheader,int param_2,int param_3); -void proc_7F075B08(void); -uint set_microcode_entry_numbers(ushort *param_1); -void set_objuse_flag_compute_grp_nums_set_obj_loaded(object_header *objheader); -void unknown_object_microcode_handler(int param_1,ushort *param_2); -void proc_7F075F68(int param_1,ushort **param_2,undefined4 param_3); -void proc_7F075FAC(int param_1,ushort **param_2,undefined4 param_3); -void proc_7F076030(int param_1,int param_2,ushort *param_3,ushort **param_4); -void proc_7F0760C4(object_header *objheader,ushort **param_2,int *param_3); -void proc_7F07623C(object_header *objheader,ushort *param_2,int param_3,int param_4); -void proc_7F0762E0(object_header *objheader,u8 *objectstring,int targetloc,uint *buffer); -void load_object_fill_header(object_header *objheader,u8 *recallstring,int targetloc,int sizeleft,int buffer); -void load_object_into_memory(object_header *header,u8 *recallstring); -void load_object_into_memory_unused_maybe(object_header *header,int *recallstring,int targetloc,int sizeleft); -s32 is_less_than_certain_power_of_2(int number); -int ceil8000(int width); -int ceil4000(int width); -int ceil2000(int width); -int ceil1000(int width); -int proc_7F0767D8(int param_1,int param_2,int param_3); -int proc_7F076848(int param_1,int param_2,int param_3); -int proc_7F0768B8(int param_1,int param_2,int param_3); -int proc_7F076928(int param_1,int param_2,int param_3); -void generate_microcode_for_othermode_setting(undefined4 *DL,int param_2,longlong param_3,longlong bowtie); -void append_image_to_DL(uint **DLtarget,sImageTableEntry *imgcall,int param_3,longlong bowtie,uint ul_s_t); -void proc_7F077BB8(s32 param_1,s32 param_2,s32 param_3); -void proc_7F077BD0(void); -void set_BONDdata_screensize(float width,float height); -void set_ulx_uly(f32 ulx,f32 uly); -void sub_GAME_7F077C30(f32 pnear,f32 pfovy,f32 paspect); -void proc_7F077C5C(void); -void proc_7F077EEC(float *param_1,float *param_2,float param_3); -void proc_7F077FB4(float *param_1,float param_2,float *param_3); -void proc_7F077FF4(float *param_1,float *param_2); -void proc_7F078060(float *param_1,float *param_2); -void proc_7F0780F0(float *param_1,float param_2,float *param_3); -void proc_7F078140(float *param_1,float *param_2,float param_3,float param_4,float param_5); -void proc_7F078258(float *param_1,float *param_2,float param_3,float param_4); -void set_BONDdata_field_10C4(int param_1); -int get_BONDdata_field_10C4(void); -void set_BONDdata_field_10C8(int param_1); -int get_BONDdata_field_10C8(void); -void set_BONDdata_field_10D8(int param_1); -int get_BONDdata_field_10D8(void); -void set_BONDdata_field_10E0(int param_1); -int get_BONDdata_field_10E0(void); -void copy_BONDdata_field_10CC_to_10E8_set_10CC(int param_1); -int get_BONDdata_field_10CC(void); -void set_BONDdata_field_10DC(int param_1); -int get_BONDdata_field_10DC(void); -int get_BONDdata_field_10E8(void); -void set_BONDdata_field_10D0(int param_1); -int get_BONDdata_field_10D0(void); -void proc_7F078424(int param_1); -int get_BONDdata_field_10D4(void); -int get_BONDdata_field_10EC(void); -void set_BONDdata_field_10E4(int param_1); -int get_BONDdata_field_10E4(void); -f32 getPlayer_c_lodscalez(void); -int getPlayer_c_lodscalezu32(void); -f32 getPlayer_c_screenwidth(void); -f32 getPlayer_c_screenheight(void); -f32 getPlayer_c_screenleft(void); -f32 getPlayer_c_screentop(void); -f32 getPlayer_c_perspfovy(void); -f32 getPlayer_c_perspaspect(void); -void setpointtocameratopnorm(xyzpoint *param_1); -void setpointtocameratopnorminvertedy(xyzpoint *param_1); -void setpointtocameraleftnorm(xyzpoint *param_1); -void setpointtocameraleftnorminvertedx(xyzpoint *param_1); -f32 getPlayer_c_perspnear(void); -void proc_7F0785DC(void); -void proc_7F078950(xyzpoint *param_1,undefined4 *param_2); -void proc_7F078980(undefined4 *param_1,undefined4 *param_2); -void proc_7F0789B0(undefined4 *param_1,undefined4 *param_2); -void proc_7F0789E0(undefined4 *param_1,undefined4 *param_2); -void proc_7F078A10(undefined4 *param_1,undefined4 *param_2); -undefined8 proc_7F078A58(float *param_1,float param_2); -undefined8 proc_7F078BF4(float *param_1,float param_2,float *param_3); -uint proc_7F0790F0(void); -void init_player_BONDdata(void); -void proc_7F0798B8(void); -void proc_7F079988(int param_1); -void change_crouch_position(int position); -int proc_7F0799F0(void); -int proc_7F079A1C(int param_1); -void proc_7F079A50(int param_1); -void proc_7F079A60(float *param_1,float *param_2,float *param_3,int param_4,float *param_5); -void solo_char_load(void); -void maybe_solo_intro_camera_handler(void); -CAMERAMODE get_camera_mode(void); -longlong proc_7F07A534(undefined4 param_1,float *param_2,char *param_3,float *param_4,u32 param_5,float param_6); -void set_camera_mode(CAMERAMODE param_1); -void proc_7F07B1A4(void); -void proc_7F07B2A0(int param_1,float param_2,float *param_3,float *param_4); -void proc_7F07B56C(void); -void proc_7F07C540(int param_1); -void set_BONDdata_lookahead_setting(int param_1); -int get_BONDdata_lookahead_setting(void); -void set_BONDdata_autoaim_y(int param_1); -ulonglong get_BONDdata_autoaim_y(void); -void redirect_get_BONDdata_autoaim(void); -int get_BONDdata_is_aiming(void); -void proc_7F07C5F0(int param_1,float param_2); -void set_BONDdata_autoaim_x(int param_1); -ulonglong get_BONDdata_autoaim_x(void); -void redirect_get_BONDdata_autoaim_x(void); -void proc_7F07C6C8(int param_1,float param_2); -void change_player_pos_to_target(int *target_posblock,int *src_pos,int *tile); -void proc_7F07C7B4(void); -void proc_7F07C888(float *param_1,float *param_2,float param_3); -longlong proc_7F07CA2C(undefined8 param_1,f32 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,undefined4 param_6,undefined4 *param_7,undefined4 *param_8); -undefined4 proc_7F07CAC8(float *param_1,undefined4 param_2,float param_3,undefined4 *param_4,undefined4 *param_5); -void proc_7F07CDA8(float *param_1,undefined4 param_2,float param_3); -undefined8 related_printmanpos(float *param_1,float param_2,undefined4 *param_3); -BOOL get_intank_flag(void); -undefined4 get_ptr_for_players_tank(void); -void proc_7F07CEB0(float *param_1); -undefined4 proc_7F07CF80(void); -undefined4 proc_7F07CF8C(void); -ulonglong proc_7F07D234(undefined4 *param_1,float *param_2,float *param_3); -undefined8 proc_7F07D2B4(float *param_1,float *param_2,float *param_3,float *param_4,float *param_5); -undefined8 proc_7F07D4C0(float *param_1,float *param_2,float *param_3); -undefined8 proc_7F07D61C(float *param_1,float *param_2,float *param_3); -undefined4 proc_7F07D954(undefined4 param_1); -void proc_7F07D960(float *param_1,int param_2); -void proc_7F07DE64(int param_1); -void proc_7F07DE9C(int param_1); -void proc_7F07DEFC(void); -float proc_7F07DF28(longlong param_1); -void proc_7F07E010(undefined4 param_1); -void proc_7F07E03C(undefined4 param_1); -ulonglong proc_7F07E068(void); -void proc_7F07E090(void); -float proc_7F07E388(void); -void trigger_watch_zoom(f32 final,f32 time); -Player * proc_7F07E438(void); -void proc_7F07E46C(void); -void proc_7F07E504(void); -void zoom_to_watch_on_open(void); -void zoom_from_watch_on_exit(void); -ulonglong check_watch_page_transistion_running(void); -void proc_7F07E62C(void); -float proc_7F07E740(void); -void proc_7F07E7CC(void); -void proc_7F07E8B0(float param_1); -void proc_7F07E910(float param_1); -void proc_7F07E964(void); -float proc_7F07EA78(void); -void set_BONDdata_paused_flag(int ispaused); -int get_BONDdata_paused_flag(void); -void proc_7F07EAF0(void); -void probably_look_at_watch(void); -void set_open_close_solo_watch_menu_to_1(void); -void trigger_solo_watch_menu(longlong param_1); -void proc_7F07FCC4(longlong param_1); -void proc_7F07FE1C(longlong param_1); -float proc_7F07FF74(void); -void proc_7F080010(void); -float proc_7F080228(void); -void proc_7F0802C4(void); -undefined4 * proc_7F0804E0(undefined4 *param_1); -void proc_7F0807B0(u32 param_1,u32 param_2,u32 param_3,float param_4); -void proc_7F0807E0(undefined4 param_1,undefined8 param_2,int param_3,int param_4,f32 param_5,undefined param_6,undefined param_7,undefined param_8,undefined param_9,undefined param_10,undefined4 param_11); -void fade_to_over_seconds(f32 seconds,f32 fadeto); -ulonglong check_if_fade_to_black_complete(void); -void proc_7F0808BC(void); -void set_curplayer_fade(f32 timer,f32 finalamount); -void proc_7F080A80(void); -void proc_7F080B34(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5); -float proc_7F080D60(undefined8 param_1,undefined4 param_2,undefined4 param_3); -void proc_7F080DF8(void); -void proc_7F081478(void); -void proc_7F081790(void); -void controller_gameplay_interaction(void); -void proc_7F083FC8(void); -void proc_7F084360(void); -void MoveBond(char param_1,char param_2,ushort param_3,ushort param_4); -void proc_7F086990(undefined8 param_1,undefined8 param_2,ushort param_3,ushort param_4); -int getWidth320or440(void); -int getHeight330or240(void); -s32 get_curplayer_viewport_width(void); -undefined8 get_curplayer_viewport_ulx(void); -int get_curplayer_viewport_height(void); -int get_curplayer_viewport_uly(void); -void possibly_reset_viewport_options_for_player(char param_1,char param_2,ushort param_3); -void proc_7F0875E4(s32 roomindex); -void store_BONDdata_curpos_to_previous(void); -void proc_7F0876C4(float *param_1,float *param_2,float *param_3); -undefined4 proc_7F087A08(undefined4 param_1); -void seems_to_load_cuff_microcode(void *instance,Gitemheader *header,void *param_3); -undefined4 * proc_7F087E74(undefined4 *param_1); -undefined4 * proc_7F088618(undefined4 *param_1); -void proc_7F0888E8(void); -undefined4 * proc_7F088CD8(undefined4 *param_1); -undefined4 * maybe_mp_interface(void); -undefined8 write_stan_tiles_in_yellow(undefined8 param_1); -void proc_7F089718(float param_1); -void proc_7F08976C(undefined4 param_1); -f32 proc_7F089778(int param_1); -float proc_7F089780(int param_1); -int get_curplayer_positiondata(void); -void kill_current_player(void); -int proc_7F0898E8(void); -void record_damage_kills(f32 arg0,f32 arg1,f32 arg2,s32 arg3,f32 arg4); -void proc_7F089E4C(f32 param_1,float param_2,f32 param_3); -ulonglong check_if_bond_is_invincible(void); -ulonglong check_if_healthbar_timer_greater_than_0(void); -f32 get_BONDdata_bondfadefracnew(void); -float get_curplay_horizontal_rotation_in_degrees(void); -float get_curplay_vertical_rotation_in_degrees(void); -int proc_7F089F38(void); -void set_bondata_invincible_flag(char flag); -ulonglong get_bondata_invincible_flag(void); -void set_invisible_to_guards_flag(BOOL param_1); -BOOL get_invisible_to_guards_flag(void); -void set_obj_collision_flag(int flag); -BOOL get_obj_collision_flag(void); -ulonglong get_cur_players_room(void); -xyzpoint * get_BONDdata_position(void); -int * get_BONDdata_position3(void); -int proc_7F08A02C(void); -void proc_7F08A03C(int param_1,int param_2); -void proc_7F08A0B0(int param_1,int **param_2,undefined4 *param_3,float *param_4,float *param_5); -void proc_7F08A19C(void); -void proc_7F08A274(int param_1,undefined4 *param_2,float *param_3,undefined4 *param_4); -f32 get_BONDdata_watch_health(void); -f32 get_BONDdata_watch_armor(void); -void add_BONDdata_watch_armor(f32 amount); -void reset_intro_camera_message_dialogs_for_BONDdata(void); -void proc_7F08A380(uint param_1); -void set_flags_in_BONDdata_stationary_intro_cam(uint param_1); -void proc_7F08A3B4(undefined4 param_1,undefined4 param_2); -void display_string_in_lower_left_corner(char *text,...); -void proc_7F08A4E4(void); -undefined4 * proc_7F08A5FC(undefined4 *param_1); -void proc_7F08A900(void); -void proc_7F08A928(uint param_1); -void proc_7F08A944(uint param_1); -void display_string_at_top_of_screen(char *text); -void proc_7F08A9F8(void); -u32 * print_player_xyz_info(void); -undefined4 proc_7F08B0F0(char *param_1); -undefined8 proc_7F08BCB8(undefined8 param_1); -undefined8 proc_7F08BCC0(char *param_1,undefined8 param_2,uint param_3); -undefined4 * proc_7F08BCF4(undefined4 *param_1); -void proc_7F08BD18(uint *param_1); -void proc_7F08BD48(undefined4 *param_1,int param_2); -void proc_7F08BDC4(uint *param_1); -void proc_7F08BE2C(undefined4 *param_1,int param_2); -void proc_7F08BEEC(float *param_1,int param_2); -int getMissiontime(void); -void trigger_explosions_around_player(int delay); -void reinit_BONDdata_inventory(void); -void proc_7F08C054(int *param_1); -void add_additional_weapon_slot_to_player_inventory_documentation_guess(int *param_1); -void reorder_inventory_ptrs_based_on_id_code(undefined4 *param_1); -int get_ptr_next_available_weapon(void); -void set_BONDdata_allguns_flag(int param_1); -int get_BONDdata_allguns_flag(void); -int * get_ptr_inventory_item(ITEM_IDS item); -BOOL is_weapon_in_inv(ITEM_IDS item); -int * get_ptr_inventory_for_item_in_hand(int item,int hand); -ulonglong is_item_for_hand_in_inventory(int item,int hand); -ulonglong check_if_item_available(ITEM_IDS weaponid); -ulonglong check_if_item_for_hand_available(ITEM_IDS item,int hand); -BOOL add_item_to_inventory(ITEM_IDS item); -undefined8 add_doubles_item_to_inventory(int right,int left); -int proc_7F08C570(char param_1); -void proc_7F08C61C(longlong param_1); -undefined8 proc_7F08C724(int param_1); -ulonglong proc_7F08C764(char *param_1); -void proc_7F08C86C(int *nextright,int *nextleft,s32 direction); -void proc_7F08CB10(int *param_1,int *param_2,longlong param_3); -undefined8 proc_7F08CE70(uint param_1); -undefined8 proc_7F08CF0C(void); -ulonglong proc_7F08CF80(void); -void checkforgoldengun(void); -undefined8 proc_7F08CFE0(int param_1); -int proc_7F08D038(void); -int * proc_7F08D108(int param_1); -int proc_7F08D21C(int param_1); -int proc_7F08D25C(int param_1); -int proc_7F08D2A8(int param_1); -int proc_7F08D340(int param_1); -int proc_7F08D434(int param_1); -int proc_7F08D528(int param_1); -int proc_7F08D550(int param_1); -int proc_7F08D578(int param_1); -int proc_7F08D5A0(int param_1); -int proc_7F08D5C8(int param_1); -int proc_7F08D6BC(int param_1); -int proc_7F08D7B0(int param_1); -int proc_7F08D7D8(int param_1); -int proc_7F08D800(int param_1); -int proc_7F08D828(int param_1); -int proc_7F08D850(int param_1); -int proc_7F08D878(int param_1); -void proc_7F08D8A0(int param_1); -int proc_7F08D8C0(void); -void proc_7F08D8D0(int param_1); -void proc_7F08D8E0(void); -int proc_7F08D95C(int param_1); -int proc_7F08D9A4(int param_1); -void proc_7F08D9EC(int param_1,int param_2); -void proc_7F08DB08(undefined4 *param_1,undefined4 *param_2); -void proc_7F08DBB0(void); -void proc_7F08DBC8(void); -void proc_7F08DE48(float *param_1); -void proc_7F08DF44(float *param_1,float *param_2); -void proc_7F08E164(float param_1); -void proc_7F08E240(float param_1,float param_2); -void proc_7F08E8BC(float param_1); -void proc_7F08EA48(undefined4 param_1,undefined param_2,float param_3,float param_4); -void proc_7F08EAB8(float param_1); -float proc_7F08EAF8(void); -int * proc_7F08EBD0(float *param_1); -int * proc_7F08EC8C(float *param_1,undefined8 param_2,int *param_3); -int proc_7F08ED60(int *param_1,int param_2); -void proc_7F08EDB4(int *param_1,undefined4 param_2); -undefined8 proc_7F08EE00(int **param_1,int *param_2); -longlong proc_7F08EE70(int param_1,int param_2,int **param_3,longlong param_4); -undefined4 proc_7F08EF1C(int param_1,int **param_2,int **param_3); -int proc_7F08EFA0(int **param_1,int **param_2,int **param_3,longlong param_4); -int proc_7F08F090(int *param_1,int param_2,int param_3); -void proc_7F08F0E8(int *param_1,undefined4 param_2,int param_3); -undefined8 proc_7F08F138(int *param_1,int param_2,int param_3); -void proc_7F08F1D8(int param_1,int param_2,longlong param_3); -void proc_7F08F2CC(int param_1,int param_2); -int proc_7F08F350(int param_1,int param_2,int *param_3,longlong param_4); -void proc_7F08F438(int param_1,int param_2,int *param_3,int *param_4); -int proc_7F08F4F0(int param_1,int param_2,int *param_3,longlong param_4); -void proc_7F08F67C(void); -int proc_7F08F6B0(int *param_1,int param_2); -int proc_7F08F908(int *param_1,int param_2); -int proc_7F08FB90(int param_1,int param_2); -void proc_7F08FD1C(void); -void nullsub_32(void); -void proc_7F08FE08(undefined4 param_1); -void init_debug_menu_values(char *strings,mcm_layout *positions,u32 *columns); -undefined4 print_debug_mcm_to_stdout(undefined4 counter); -void proc_7F09000C(void); -u32 get_highlighted_debug_option(void); -void set_highlighted_debug_option(u32 option); -void gotoAboveDebugOption(void); -void gotoBelowDebugOption(void); -void gotoRightDebugOption(void); -void gotoLeftDebugOption(void); -void display_debug_menu_text_onscreen(void); -void handle_debug_stanview(void); -void handle_debug_bondview(void); -void handle_debug_case_2(void); -void removed_do_debug_profile_flag_false(void); -void removed_do_debug_profile_flag_true(void); -void debug_menu_processor(u32 stick_h,u32 stick_v,controller_buttons button_held,controller_buttons button_pressed); -u32 get_debug_render_raster(void); -u32 get_debug_freeze_processing(void); -u32 get_debug_limit_controller_input(void); -void set_debug_limit_controller_input(void); -BOOL get_memusage_display_flag(void); -BOOL get_debug_do_draw_bg(void); -BOOL get_debug_do_draw_obj(void); -BOOL get_debug_stanhit_flag(void); -BOOL get_debug_stanregion_flag(void); -BOOL get_turbo_mode_flag(void); -BOOL get_debug_man_pos_flag(void); -BOOL get_debug_testingmanpos_flag(void); -void set_debug_testingmanpos_flag(BOOL flag); -BOOL get_debug_joy2skyedit_flag(void); -BOOL get_debug_joy2hitsedit_flag(void); -BOOL get_debug_joy2detailedit_flag(void); -BOOL get_debug_explosioninfo_flag(void); -BOOL get_debug_prroomloads_flag(void); -BOOL get_linemode_flag(void); -void set_linemode_flag(BOOL param_1); -BOOL get_debug_007_unlock_flag(void); -BOOL get_debug_enable_agent_levels_flag(void); -BOOL get_debug_enable_all_levels_flag(void); -BOOL get_debug_fast_bond_flag(void); -void set_debug_fast_bond_flag(BOOL param_1); -BOOL get_debug_all_obj_complete_flag(void); -BOOL getdebug_portal_flag(void); -BOOL get_debug_chrnum_flag(void); -BOOL get_debug_gunwatchpos_flag(void); -BOOL get_debug_profile_flag(void); -BOOL get_debug_taskgrab_val(void); -void proc_7F091080(char param_1,char param_2,ushort param_3); -undefined4 proc_7F091580(undefined4 param_1); -void proc_7F0915BC(float param_1); -void handle_debug_intropos(void); -void handle_debug_worldpos(void); -void stanStoreBondCoord(void); -int cheatButton_7F091740(controller_buttons *param_1); -void cheatButton_7F09177C(void); -void cheat_buttons_mp_related(void); -u32 is_cheat_index_equal_to_1C(u32 cheatindex); -u32 cheatCheckIfMPCheat(CHEAT_IDS cheat); -void turn_on_cheat_for_players(u32 cheatindex); -void handle_cheats_turned_on(CHEAT_IDS cheat); -void cheatDisplayMessageActivateCheat(CHEAT_IDS cheat); -void cheatDisableAllCheats(void); -int cheatGetMenuTextPointer(CHEAT_IDS cheat); -uint cheatCheckIfOn(CHEAT_IDS cheat); -void set_DKMode(s32 param_1); -undefined8 proc_7F092890(short *param_1,short *param_2,short *param_3,float *param_4,float *param_5,float *param_6,float *param_7,float *param_8); -void proc_7F092E50(void); -undefined4 * proc_7F09343C(undefined4 *param_1,longlong param_2); -undefined4 * proc_7F09365C(undefined4 *param_1,longlong param_2); -void proc_7F093880(void); -undefined8 proc_7F0938FC(float *param_1,float *param_2,float *param_3); -undefined8 proc_7F093A78(float *param_1,float *param_2,float *param_3); -void proc_7F093BFC(float *param_1,float *param_2,float *param_3); -float proc_7F093C48(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5); -float addpoint5tofloat(float param_1); -void proc_7F093CB0(int param_1,float param_2); -void proc_7F093FA4(int param_1,float param_2); -uint proc_7F094298(float param_1); -void store_stagenum_to_copyof_stagenum(STAGENUM stagenum); -void proc_7F094438(void); -uint * proc_7F094488(void); -void proc_7F097388(float *param_1,float *param_2,uint param_3,float param_4,float param_5,float *param_6); -ulonglong proc_7F0977B4(int param_1,int param_2); -undefined4 *proc_7F097818(undefined4 *param_1,int param_2,int param_3,int param_4,float param_5,int param_6); -undefined4 *proc_7F098A2C(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5,float param_6); -void default_player_perspective_and_height(void); -void reset_play_data_ptrs(void); -void init_player_data_ptrs_construct_viewports(int playercount); -s32 get_num_players(void); -void initBONDdataforPlayer(PLAYER_ID player); -void set_cur_player(PLAYER_ID playernum); -u32 get_cur_playernum(void); -void proc_7F09B15C(int position_data_pointer); -void set_cur_player_screen_size(short width,short height); -void set_cur_player_viewport_size(short ulx,short uly); -void set_cur_player_fovy(f32 fovy); -void set_cur_player_aspect(f32 aspect); -f32 get_cur_player_fovy(void); -s32 proc_7F09B244(ITEM_IDS param_1); -void proc_7F09B368(int param_1); -longlong proc_7F09B398(uint param_1); -void proc_7F09B41C(void); -int proc_7F09B4D8(int param_1); -int proc_7F09B528(int param_1); -void proc_7F09B600(byte *param_1,byte *param_2,uint *param_3); -undefined4 proc_7F09B740(void); -void proc_7F09B788(u64 param_1); -void removed_7f09b7a0(void); -void proc_7F09B7A8(void); -void proc_7F09B7E4(void); -void proc_7F09B820(void); -void proc_7F09BAC4(int param_1,int param_2); -void proc_7F09BBBC(void); -int proc_7F09BE4C(longlong param_1,longlong param_2,int param_3,int param_4); -void proc_7F09C044(uint param_1); -void proc_7F09C250(int param_1,float *param_2,int param_3,undefined4 param_4,int param_5,undefined param_6,char *param_7,int param_8); -void proc_7F09C7AC(void); -void proc_7F09C7C4(float *param_1,float *param_2,float *param_3); -void proc_7F09C9D8(char *param_1,float param_2,float param_3); -undefined8 proc_7F09CEE8(char *param_1); -undefined8 proc_7F09D4EC(int param_1); -longlong proc_7F09D5A0(char *param_1,longlong param_2,longlong param_3); -undefined4 * proc_7F09D82C(float *param_1,undefined4 *param_2,float *param_3); -undefined4 * proc_7F09DDA4(int param_1,float *param_2,undefined4 *param_3,float *param_4); -void proc_7F09E700(undefined4 *param_1,int param_2,short param_3,char *param_4,int param_5); -undefined8 proc_7F09E8AC(char *param_1); -undefined8 proc_7F09EF9C(int param_1); -longlong proc_7F09F03C(char *param_1,longlong param_2,longlong param_3); -void proc_7F09F254(float *param_1,float param_2,float param_3,float param_4,float param_5); -void proc_7F09FD3C(void); -undefined4 * proc_7F0A0034(undefined4 *param_1); -void proc_7F0A027C(float *param_1,float param_2,short param_3); -undefined4 * proc_7F0A0AB4(undefined4 *param_1); -int proc_7F0A0C74(float param_1); -void proc_7F0A0CCC(int param_1,char param_2); -void proc_7F0A0D90(int param_1); -void proc_7F0A0E98(int param_1); -void proc_7F0A108C(float *param_1,float *param_2,short param_3,short param_4,int param_5,char param_6,undefined param_7); -undefined4 * proc_7F0A1A94(undefined4 *param_1,int param_2,uint param_3); -void proc_7F0A1D78(undefined4 *param_1); -void proc_7F0A1DA0(float *param_1,float *param_2,float *param_3,float *param_4,float param_5,float param_6,float param_7,float param_8); -void proc_7F0A2160(undefined4 *param_1,undefined4 param_2,float param_3); -void proc_7F0A28D4(void); -undefined4 * proc_7F0A2C44(undefined4 *param_1); -void proc_7F0A2F30(short *param_1,undefined8 param_2,longlong param_3,float param_4); -undefined4 * proc_7F0A3330(undefined4 *param_1,int param_2,longlong param_3); -void proc_7F0A33F8(short *param_1,int param_2,float param_3,longlong param_4); -undefined4 * proc_7F0A3978(undefined4 *param_1,int param_2,undefined8 param_3,longlong param_4); -short * proc_7F0A3AB8(short *param_1,short param_2,short param_3,short param_4,short param_5,short param_6,short param_7); -undefined4 * proc_7F0A3B40(undefined4 *param_1,undefined4 param_2); -void proc_7F0A3B70(int param_1,undefined *param_2); -void proc_7F0A3BA4(int param_1,undefined *param_2); -void proc_7F0A3BD8(void); -void proc_7F0A3C08(undefined4 *param_1,undefined4 *param_2,int param_3,float param_4,short param_5); -undefined4 * proc_7F0A3E1C(undefined4 *param_1,int param_2,float param_3,short param_4); -void proc_7F0A3EA0(void); -void proc_7F0A3F04(void); -void proc_7F0A4528(undefined8 param_1,undefined8 param_2); -float proc_7F0A4594(int param_1); -void proc_7F0A45D8(void); -undefined4 *proc_7F0A4600(undefined4 *param_1,undefined4 *param_2,int param_3,float param_4,float param_5,undefined2 param_6); -void proc_7F0A46A0(void); -void proc_7F0A4768(undefined8 param_1,undefined8 param_2); -void proc_7F0A47D4(void); -void proc_7F0A47FC(void); -void proc_7F0A4824(undefined8 param_1,undefined8 param_2); -void proc_7F0A4860(void); -void init_watch_at_start_of_stage(void); -void controller_deadzone_related(void); -void proc_7F0A4B40(undefined4 *param_1); -u32 controllerCheckControllerTypesAllowed(void); -s32 cur_player_get_control_type(void); -void cur_player_set_control_type(int type); -u32 get_cur_player_look_vertical_inverted(void); -void set_cur_player_look_vertical_inverted(u32 param_1); -u32 cur_player_get_autoaim(void); -void cur.player.set.autoaim(u32 param_1); -undefined4 cur.player.get.lookahead(void); -void cur.player.set.lookahead(undefined4 param_1); -undefined4 cur.player.get.aim.control(void); -void cur.player.set.aim.control(undefined4 param_1); -undefined4 cur.player.get.sight.onscreen.control(void); -void cur.player.set.sight.onscreen.control(undefined4 param_1); -undefined4 cur.player.get.ammo.onscreen.setting(void); -void cur.player.set.ammo.onscreen.setting(undefined4 param_1); -undefined4 cur.player.get.screen.setting(void); -void cur.player.set.screen.setting(undefined4 param_1); -undefined4 get.screen_ratio(void); -void set.screen_ratio(undefined4 param_1); -int ** proc_7F0A4EF8(void); -void sub_GAME_7F0A4F44(void); -u32 is_holding_greater_than_2E_left_on_stick(void); -u32 is_holding_greater_than_2E_right_on_stick(void); -u32 get_controlstick_lr_enabled(void); -void set_controlstick_lr_disabled(void); -bool sub_GAME_7F0A4FB0(void); -bool proc_7F0A4FEC(void); -ulonglong is_holding_greater_than_2E_up_on_stick(void); -ulonglong is_holding_greater_than_2E_down_on_stick(void); -undefined4 get_D_80040AE0(void); -void set_D_80040AE0_0(void); -ulonglong sub_GAME_7F0A5088(void); -ulonglong sub_GAME_7F0A50C4(void); -ulonglong is_holding_less_than_10_up_on_stick(void); -ulonglong is_holding_less_than_10_down_on_stick(void); -undefined4 get_D_80040AE4(void); -void set_D_80040AE4_0(void); -ulonglong proc_7F0A5160(void); -ulonglong proc_7F0A519C(void); -void sub_GAME_7F0A51D8(void); -void proc_7F0A5210(void); -void proc_7F0A526C(void); -void proc_7F0A53D8(void); -void proc_7F0A5504(void); -void proc_7F0A55C4(void); -void proc_7F0A56A4(void); -void proc_7F0A5784(void); -void sub_GAME_7F0A5860(void); -void proc_7F0A5900(void); -void proc_7F0A5998(void); -void sub_GAME_7F0A5A64(void); -void sub_GAME_7F0A5AF4(void); -void proc_7F0A5B80(void); -void proc_7F0A611C(float *controltype_2,int *controltype_0,int param_3,int *negvspacing,int *controltype_1,undefined4 *controltype_set,int param_7,int param_8,int param_9); -void proc_7F0A6618(void); -void proc_7F0A66A0(void); -void proc_7F0A672C(void); -void proc_7F0A67BC(void); -void proc_7F0A684C(void); -void proc_7F0A68D8(short *param_1); -void proc_7F0A69A8(void); -float proc_7F0A6A2C(float param_1); -void proc_7F0A6A80(void); -undefined4 * proc_7F0A6EE8(undefined4 *param_1); -void proc_7F0A70AC(int param_1,int param_2); -u32 * proc_7F0A714C(u32 *DL,u32 param_2,u32 param_3); -void proc_7F0A77A8(undefined8 param_1,undefined8 param_2); -void proc_7F0A77C8(undefined4 *param_1); -void proc_7F0A7C18(undefined4 *param_1); -u32 stub_return_param_7F0A7DBC(u32 param_1); -uint * proc_7F0A7DC4(undefined4 *param_1); -void debug_gun_watch_move_related(void); -void proc_7F0A830C(undefined8 param_1,undefined8 param_2); -int ** proc_7F0A8378(void); -uint * debug_gun_watch_move_related2(undefined8 param_1,undefined8 param_2); -uint * proc_7F0A8B10(undefined8 param_1,u32 param_2); -void proc_7F0A8D40(undefined2 *param_1,float param_2,int param_3); -void proc_7F0A8ED0(ushort *param_1); -undefined4 * proc_7F0A8FEC(void); -void call_sfx_c_700091C8(void); -void proc_7F0A91A0(ulonglong param_1); -undefined4 * proc_7F0A91C8(void); -u16 proc_7F0A9358(void); -void proc_7F0A9364(ushort param_1); -void proc_7F0A9398(undefined4 *param_1,uint param_2,uint param_3,byte *param_4,uint param_5,int param_6,uint param_7,int param_8,int param_9,uint param_10,int param_11); -float sub_GAME_7F0A95C4(float param_1,float param_2,float param_3); -undefined8 proc_7F0A9610(void); -void proc_7F0A9684(char param_1,int *param_2,float *param_3,float *param_4); -uint * proc_7F0A97D0(undefined4 *param_1); -uint * proc_7F0A9AB8(undefined4 *param_1); -void sub_GAME_7F0AA7C8(u32 *DisplayList); -void proc_7F0AADC0(u32 *DL); -void zero_D_80040998(void); -void zero_D_8004099C(void); -void zero_D_800409A4(void); -u32 return_arg0_7F0AB4B0(u32 param_1); -void proc_7F0AB4B8(u32 *DL,u32 param_2); -void set_pparam1toparam2_disablejoylr_playsfx(u32 *param_1,u32 param_2); -ulonglong proc_7F0AB7D8(int param_1); -uint * proc_7F0AB908(undefined4 *param_1,uint param_2,int param_3,longlong param_4); -uint * proc_7F0ABC1C(undefined4 *param_1); -uint * proc_7F0ABDFC(undefined8 param_1,undefined8 param_2); -int proc_7F0AC0E8(char *param_1); -char * proc_7F0AC120(char *param_1); -uint * proc_7F0AC168(undefined8 param_1,undefined8 param_2); -longlong proc_7F0ACA28(longlong param_1,int param_2,int param_3); -void null_init_main_7f0acb70(void); -void setTextSpacingInverted(int spacing); -void setTextOrientation(s32 param_1); -void setTextWordWrap(s32 param_1); -void setTextOverlapCorrection(s32 param_1); -void load_font_tables(void); -void microcode_constructor(u32 *DL); -undefined4 * combiner_bayer_lod_perspective(undefined4 *DL); -undefined4 *draw_blackbox_to_screen(undefined4 *param_1,uint *param_2,uint *param_3,uint *param_4,uint *param_5); -undefined4 *microcode_constructor_related_to_menus(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,uint param_5,uint param_6); -uint * construct_fontchar_microcode(void *DL,int xpos,int ypos,void *ptr_tbl2entry,void *ptr_unk,void *ptr_tbl1,int ulx,int uly,int lrx,int lry,int unk); -void en_text_write_stuff(undefined4 *param_1,int *param_2,int *param_3,byte *param_4,int param_5,int param_6,uint param_7,int param_8,int param_9,int param_10,int param_11); -uint * proc_7F0ADDAC(uint *param_1,uint *param_2,int *param_3,uint *param_4,int param_5,int param_6,int param_7,uint param_8,uint param_9,uint param_10,int param_11,int param_12,int param_13); -uint * proc_7F0AE45C(uint *param_1,uint param_2,int param_3,int param_4,int param_5,uint param_6,int param_7,int param_8); -void jp_text_stuff(uint *param_1,uint *param_2,uint *param_3,byte *param_4,int param_5,int param_6,uint param_7,uint param_8,int param_9,int param_10,int param_11,int param_12); -void proc_7F0AE98C(int *param_1,int *param_2,byte *param_3,int param_4,int *param_5,int param_6); -void find_width_word_in_string(int max_width,byte *text,byte *textbuffer,int secondfonttable,int *firstfonttable); -void proc_7F0AEF0C(u32 param_1,u32 param_2,u32 param_3,u32 param_4); -u32 sub_GAME_7F0AEF20(u32 param_1,u32 param_2); -f32 proc_7F0AEF30(f32 param_1); -char * proc_7F0AEF3C(ushort *param_1); -char * proc_7F0AEFE0(ushort *param_1); -undefined8 proc_7F0AF000(void); -void something_stan_c_debug_related(void); -void proc_7F0AF038(void); -int * proc_7F0AF20C(float *param_1,byte *param_2,float *param_3); -void proc_7F0AF5B8(int param_1); -void removed_7F0AF630(int param_1); -int proc_7F0AF638(ushort *param_1,uint param_2,ushort **param_3); -ulonglong proc_7F0AF760(int param_1); -int * proc_7F0AF808(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6); -void proc_7F0AF924(int param_1,float *param_2); -void proc_7F0AFA1C(int param_1,undefined8 param_2,float *param_3); -float proc_7F0AFB1C(float *param_1,float *param_2); -int * proc_7F0AFB78(float *param_1,undefined4 *param_2,float *param_3,float param_4); -float proc_7F0AFD1C(int param_1,int param_2,float param_3,float param_4); -float proc_7F0AFE70(int param_1,longlong param_2,float param_3,float param_4); -undefined proc_7F0AFFCC(int param_1,int param_2,float param_3,float param_4); -undefined proc_7F0B0018(int param_1,longlong param_2,float param_3,float param_4); -void proc_7F0B0064(int param_1,int param_2,float param_3,float param_4); -float proc_7F0B00C4(int param_1,int param_2,float param_3,float param_4); -float proc_7F0B0140(int param_1,int param_2,float param_3,float param_4); -ulonglong proc_7F0B0198(int param_1,int param_2,float param_3,float param_4); -undefined8 proc_7F0B02D8(void); -u32 proc_7F0B036C(u32 param_1,f32 param_2,f32 param_3); -float proc_7F0B0400(int param_1,longlong param_2,float param_3,float param_4); -undefined8 proc_7F0B0518(int param_1,float param_2,float param_3); -undefined8 proc_7F0B05C0(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6); -ulonglong proc_7F0B0688(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6,float param_7,float param_8,float param_9,float param_10); -uint proc_7F0B07BC(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6,float param_7,float param_8,float param_9,float param_10,int param_11); -undefined8 proc_7F0B0914(int *param_1,float param_2,float param_3,float param_4,float param_5,undefined *param_6,float param_7); -void proc_7F0B0BE4(int *param_1,float param_2,float param_3,float param_4,float param_5); -void proc_7F0B0C24(int *param_1,float param_2,float param_3,float param_4,float param_5,undefined *param_6,undefined4 *param_7,undefined4 param_8); -void proc_7F0B0C98(int param_1,undefined8 param_2,uint **param_3); -void proc_7F0B0CEC(int param_1,undefined8 param_2,uint **param_3); -int proc_7F0B0D0C(int param_1,float param_2,float param_3,int *param_4,float param_5,float param_6,uint *param_7,int param_8); -undefined4 proc_7F0B0E24(u32 *param_1,f32 param_2,f32 param_3,f32 param_4); -char * proc_7F0B1410(int param_1,float param_2,float param_3,float param_4,float param_5,uint param_6); -float proc_7F0B16C4(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6,float param_7,float param_8); -void proc_7F0B1794(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6); -ulonglong proc_7F0B17E4(float param_1,float param_2,undefined8 param_3,undefined8 param_4,float param_5,float param_6,float param_7,float param_8); -longlong proc_7F0B18B8(void); -void proc_7F0B1CC4(void); -undefined4 proc_7F0B1CE0(void); -undefined4 proc_7F0B1CEC(void); -void proc_7F0B1CF8(int param_1,int param_2,float *param_3,float *param_4); -undefined8 proc_7F0B1DDC(int *param_1,float param_2,float param_3,float param_4,undefined *param_5,undefined *param_6,undefined *param_7,code *param_8); -void proc_7F0B20D0(int *param_1,float param_2,float param_3,float param_4); -undefined8 proc_7F0B2110(int param_1,int **param_2); -undefined8 proc_7F0B2194(undefined8 param_1,undefined8 param_2,int param_3); -undefined8 proc_7F0B21B0(int *param_1,float param_2,float param_3,float param_4,float param_5,undefined4 *param_6,undefined4 param_7); -undefined8 proc_7F0B2244(int param_1,undefined4 *param_2); -undefined8 proc_7F0B2274(int param_1,int param_2,undefined param_3,undefined param_4,undefined param_5,undefined4 *param_6); -uint proc_7F0B2314(int *param_1,float param_2,float param_3,float param_4,undefined4 *param_5); -undefined4 proc_7F0B239C(undefined4 *param_1); -undefined4 proc_7F0B23A4(int param_1); -void proc_7F0B23AC(int param_1,undefined8 param_2,float *param_3); -void proc_7F0B2420(int *param_1,int *param_2,int param_3); -undefined8 proc_7F0B260C(int param_1,int param_2,undefined param_3,undefined param_4,undefined param_5,float *param_6); -void proc_7F0B26B8(int *param_1,float param_2,float param_3,float param_4,float param_5); -int proc_7F0B2718(int param_1,undefined *param_2); -undefined8 proc_7F0B28B0(float *param_1,float *param_2); -void proc_7F0B2950(float param_1); -ulonglong proc_7F0B2970(void); -void copy_tile_RGB_as_24bit(int *tile,int posx,int posz,tile_rgb *target); -void proc_7F0B2C74(int param_1,float *param_2); -float proc_7F0B2D14(int param_1); -void removed_7F0B2D38(u32 param_1,u32 param_2,u32 param_3); -undefined8 proc_7F0B2D48(undefined8 param_1); -void proc_7F0B2D50(byte *param_1,ushort *param_2,byte *param_3); -int * stanMatchTileName(byte *param_1); -void proc_7F0B2F00(int **param_1); -void load_stan(int param_1,int param_2,int param_3); -ulonglong proc_7F0B2FD8(int param_1); -uint proc_7F0B2FE0(int param_1); -void proc_7F0B3004(int param_1); -undefined8 proc_7F0B3024(undefined8 param_1); -undefined8 proc_7F0B3034(undefined8 param_1); -undefined8 stan_problems_removed(undefined8 param_1); -undefined4 proc_7F0B3044(int param_1); -undefined8 stan_region_removed(undefined8 param_1); -void proc_7F0B3138(undefined8 param_1,undefined8 param_2,f32 param_3,f32 param_4,undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9); -void proc_7F0B31A4(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8); -float proc_7F0B3200(float *param_1,float *param_2,float *param_3,float *param_4); -float proc_7F0B32D8(float *param_1,float *param_2,float *param_3); -float proc_7F0B33DC(float *param_1,float *param_2,float *param_3,float *param_4); -void something_with_bg_c_debug(void); -void proc_7F0B37EC(void); -void proc_7F0B38B4(byte param_1,byte *param_2); -uint proc_7F0B39BC(int param_1,int param_2,float *param_3,uint param_4); -void proc_7F0B3B04(int param_1); -int proc_7F0B3B20(void); -void proc_7F0B3BC4(void); -undefined8 proc_7F0B3C0C(int param_1,int *param_2); -longlong proc_7F0B3C8C(longlong param_1); -int proc_7F0B4034(int param_1); -int proc_7F0B4084(int param_1); -int proc_7F0B40D4(int param_1); -void load_bg_file(STAGENUM stagenum); -void proc_7F0B47E0(void); -void proc_7F0B4810(float param_1); -f32 proc_7F0B4830(void); -f32 proc_7F0B483C(void); -float proc_7F0B4848(void); -f32 proc_7F0B4878(void); -void proc_7F0B4884(void); -void proc_7F0B4A50(char *param_1,char param_2); -void proc_7F0B4AB4(float *param_1,float *param_2,byte *param_3,int param_4,uint *param_5,int *param_6,int param_7); -undefined4 * proc_7F0B4E40(undefined4 *param_1); -f32 proc_7F0B4F9C(int param_1); -uint * proc_7F0B4FB4(uint *param_1); -uint * proc_7F0B4FF4(uint *param_1,float param_2,float param_3,float param_4,float param_5); -uint * proc_7F0B5058(uint *param_1,longlong param_2,longlong param_3,int param_4,int param_5); -void proc_7F0B5168(void); -undefined8 proc_7F0B519C(float *param_1,float *param_2); -undefined8 proc_7F0B5208(int param_1,float *param_2); -ulonglong proc_7F0B5488(float *param_1,float *param_2); -ulonglong proc_7F0B5528(int param_1,float param_2,float *param_3); -s32 proc_7F0B5864(void); -uint * proc_7F0B5B14(uint *param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5); -uint * proc_7F0B5B60(uint *param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5); -undefined8 vis_is_inline_of_sight(float *param_1,float *param_2); -void proc_7F0B5CC0(float *param_1,float *param_2); -void proc_7F0B5D58(undefined4 *param_1,undefined4 *param_2); -char * print_port(undefined8 param_1); -char * printroom(undefined8 param_1); -u32 get_max_num_rooms(void); -ulonglong proc_7F0B5E50(int param_1); -ulonglong proc_7F0B5E6C(int param_1); -int proc_7F0B5E88(int param_1); -void generate_room_load_string(void); -u8 * decompressdata_with_8448buffer(int source,u8 *target); -int proc_7F0B5FAC(int param_1,int param_2,int param_3); -uint * proc_7F0B609C(int param_1,uint *param_2,int param_3); -uint * proc_7F0B61DC(int param_1,uint *param_2,int param_3); -ulonglong proc_7F0B6314(int param_1); -void proc_7F0B6368(int param_1); -void proc_7F0B65C4(int param_1); -void unload_rooms(void); -void proc_7F0B66E8(void); -undefined4 * proc_7F0B677C(undefined4 *param_1,int param_2); -undefined4 * proc_7F0B6898(undefined4 *param_1,int param_2); -void proc_7F0B6994(int param_1); -undefined8 proc_7F0B6CEC(float *param_1,float *param_2,int *param_3,int *param_4); -undefined4 proc_7F0B7010(float *param_1,float *param_2,float *param_3,short *param_4,int param_5,float *param_6); -int proc_7F0B7A78(float *param_1,float *param_2,int param_3,float *param_4); -void proc_7F0B7D94(void); -ulonglong proc_7F0B7DA8(int param_1); -void proc_7F0B7DE4(undefined4 param_1,uint param_2,int param_3,int param_4,undefined4 *param_5); -undefined8 proc_7F0B7EE4(int *param_1); -undefined8 proc_7F0B7F84(undefined8 param_1,int param_2,int param_3,int param_4,float *param_5); -undefined8 push_arg_to_table(undefined8 param_1); -undefined4 pull_arg_from_stack(void); -undefined4 proc_7F0B83E4(int param_1); -byte * parse_global_vis_command_list(vis_command *cmd,uint mode); -byte * proc_7F0B8A24(byte *param_1); -void proc_7F0B8A6C(void); -uint * proc_7F0B8D78(longlong param_1); -int proc_7F0B8DF4(ulonglong param_1,int param_2,int param_3); -int proc_7F0B8E98(uint *param_1,int param_2); -int proc_7F0B8EFC(ulonglong param_1,int *param_2,int param_3); -undefined8 proc_7F0B8FD0(ulonglong param_1,ulonglong param_2); -float proc_7F0B9040(int param_1,float param_2,float param_3); -void proc_7F0B908C(void); -void proc_7F0B92B4(int param_1,float *param_2); -void proc_7F0B9338(int param_1); -int proc_7F0B95D8(ulonglong param_1); -void proc_7F0B96CC(int param_1,float *param_2); -ulonglong proc_7F0B993C(int param_1); -float proc_7F0B9990(int param_1); -ulonglong proc_7F0B9A14(int param_1); -void proc_7F0B9A2C(int param_1); -void proc_7F0B9A7C(int param_1); -ulonglong proc_7F0B9AE4(int param_1); -ulonglong proc_7F0B9B04(int param_1); -void proc_7F0B9B24(int param_1); -void proc_7F0B9B44(int param_1); -void proc_7F0B9B64(int param_1); -void proc_7F0B9B94(int param_1); -int proc_7F0B9CC8(ulonglong param_1,ulonglong param_2,float *param_3,float *param_4); -void proc_7F0B9DBC(int param_1,longlong param_2); -undefined8 proc_7F0B9DE4(undefined8 param_1); -void proc_7F0B9DF4(void); -void proc_7F0B9DFC(void); -int proc_7F0B9E04(float *param_1,float *param_2); -undefined8 proc_7F0B9F14(int param_1,float *param_2,float *param_3); -undefined8 proc_7F0BA26C(int param_1,float *param_2,float *param_3,int param_4); -void proc_7F0BA2D4(float *param_1,float *param_2,int *param_3,int *param_4,int param_5); -void proc_7F0BA5C0(int *param_1,int *param_2); -void proc_7F0BA640(int *param_1,int *param_2,int param_3); -void proc_7F0BA720(void); -undefined4 * get_ptr_currentdata(void); -f32 get_near_fog_value(void); -float square_near_fog_value(void); -void copy_table1_env_to_current(void); -void copy_table2_env_to_current(int param_1); -void proc_7F0BAA5C(void); -void load_enviroment(int param_1,int param_2); -void switch_to_solosky2(float param_1); -undefined4 * proc_7F0BB070(undefined4 *param_1,longlong param_2); -undefined4 * proc_7F0BB298(undefined4 *param_1); -undefined8 proc_7F0BB2C8(float *param_1,float param_2); -undefined4 return_nearfog_values(void); -undefined8 if_sky_present_convert_values(int param_1,float *param_2); -void init_lightfixture_tables(void); -int get_index_of_current_entry_in_init_lightfixture_table(void); -void add_entry_to_init_lightfixture_table(Gfx *DL); -void save_ptrDL_enpoint_to_current_init_lightfixture_table(int param_1); -undefined8 check_if_imageID_is_light(longlong imageID); -uint return_ptr_vertex_of_entry_room(char *entry,int room); -void proc_7F0BB6F4(undefined8 param_1,ulonglong param_2); -void proc_7F0BB874(undefined8 param_1,ulonglong param_2,int param_3,undefined2 *param_4,undefined2 *param_5,undefined2 *param_6); -void proc_7F0BB978(ulonglong param_1); -void proc_7F0BBA20(int param_1,ulonglong param_2); -undefined8 proc_7F0BBADC(int param_1,ulonglong param_2); -void proc_7F0BBBA8(undefined8 param_1,ulonglong param_2,int param_3); -int proc_7F0BBC30(undefined8 param_1,ulonglong param_2,int param_3); -undefined8 proc_7F0BBCCC(void); -void proc_7F0BBE0C(ulonglong param_1,ulonglong param_2,short param_3); -void proc_7F0BC4C4(short param_1); -void proc_7F0BC530(void); -void proc_7F0BC624(int param_1); -void proc_7F0BC634(int param_1,int param_2); -void proc_7F0BC660(int param_1,int param_2); -void proc_7F0BC690(int param_1); -int proc_7F0BC6F0(void); -void proc_7F0BC7D4(void); -longlong proc_7F0BC85C(int param_1); -undefined4 * proc_7F0BC9C4(undefined4 *param_1,int param_2); -int proc_7F0BCA14(int param_1); -void proc_7F0BCA34(int index,float *param_2); -void load_resource(u8 *ptrdata,u32 bytes,fileentry *srcfile,resource_lookup_data_entry *lookupdata); -void load_resource_from_indy(u8 *ptrdata,u32 bytes,fileentry *srcfile,resource_lookup_data_entry *lookupdata); -void ob_c_debug_setup(void); -void _load_rom_index_to_membank(int index,longlong param_2,int size,byte bank); -undefined * _load_resource_index_to_membank(int fileid,longlong param_2,undefined *param_3,int bank); -u8 * _load_resource_named_to_membank(byte *filename,int param_2,int size,byte bank); -u8 * _load_resource_named_to_buffer(byte *filename,int param_2,undefined *param_3,int param_4); -void load_bg_bytes_at_offset_to_membank(byte *bgname,char *src,int offset,int len); -u8 * load_rom_resource_index_to_membank(int index,longlong param_2,int size,byte bank); -void load_resource_index_to_buffer(int index,longlong param_2,u8 *ptrdata,int bytes); -s32 get_pc_remaining_buffer_for_index(int index); -u32 get_rom_remaining_buffer_for_index(int param_1); -void proc_7F0BD138(int index,u8 *ptrdata,int size,longlong param_4); -s32 get_pc_buffer_remaining_value(byte *name); -void something_mem_bank_a0(byte param_1); -void proc_7F0BD234(void); -int get_index_num_of_named_resource(byte *filename); -void removed_handle_filetable_entry(int param_1); -void removed_loop_handle_filetable_entries(void); -void removed_loop_filetableentries(void); -void proc_7F0BD410(void); -void something_with_dyn_c_debug(void); -void set_vtx_gfx_mem_alloc(void); -Gfx * get_ptr_displaylist(void); -int allocate_something_in_mgfx(int param_1); -void proc_7F0BD6C4(int param_1); -void proc_7F0BD6E0(void); -void proc_7F0BD6F8(int param_1); -void proc_7F0BD714(int param_1); -void allocate_something_in_mvtx(void); -void removed_debug_routine(int param_1); -int num_microcode_cmds_that_fit(int ptr_DLtarget); -int proc_7F0BD7A4(void); -char * compute_membar_display_string(char *string,int commandsused,int commandsavailable); -char * draw_membars(void); -undefined4 proc_7F0BD8F0(void); -void proc_7F0BD8FC(undefined4 param_1); -void something_with_lvl_c_debug(void); -void playrandommusictrack1(void); -void playmusictrack1(MUSIC_TRACKS track); -void music_append_play_solo_death_short(void); -void music_append_play_endtheme(void); -void proc_7F0BDA84(void); -void stage_load(LEVELID stagenum); -STAGENUM proc_7F0BDF04(void); -undefined4 proc_7F0BDF10(longlong param_1); -uint * proc_7F0BE30C(Gfx *param_1); -void proc_7F0BE8D0(void); -void manage_mp_game(void); -void proc_7F0BF800(void); -void unload_stage_text_data(void); -void set_controls_locked_flag(undefined4 flag); -undefined4 get_controls_locked_flag(void); -DIFFICULTY get_current_difficulty(void); -void set_difficulty(undefined4 param_1); -void set_mp_time(undefined4 time); -void set_mp_point(undefined4 point); -f32 get_cur_mp_sec(void); -f32 get_cur_mp_min(void); -f32 get_stage_time_sec(void); -f32 get_poweron_time_sec(void); -void clear_ramrom_block_buffer_heading_ptrs(void); -undefined4 get_is_ramrom_flag(void); -u32 get_recording_ramrom_flag(void); -undefined4 interface_menu0B_runstage(void); -void finalize_ramrom_on_hw(void); -void save_ramrom_to_devtool(void); -void load_ramrom_from_devtool(void); -void record_player_input_as_packet(int param_1,int param_2,int param_3); -int ramrom_replay_handler(int param_1,int param_2); -void iterate_ramrom_entries_handle_camera_out(void); -void copy_current_ingame_registers_before_ramrom_playback(ramromfilestructure *param_1); -void copy_recorded_ramrom_registers_to_proper_place_ingame(ramromfilestructure *demo); -void test_if_replaying_or_recording_demos_this_stage_load(LEVELID param_1,DIFFICULTY param_2); -void record_next_movie_to_slot(undefined4 slotnum); -void stop_recording_ramrom(void); -void replay_recorded_ramrom_at_address(uint param_1); -void replay_recorded_ramrom_from_indy(void); -void check_set_cameramode_to_A(void); -void stop_demo_playback(void); -void select_ramrom_to_play(void); -undefined4 check_ramrom_flags(void); -void store_osgetcount(void); -void proc_7F0C0AA0(int param_1); -void proc_7F0C0B4C(void); -void proc_7F0C0BE4(undefined4 param_1); -void proc_7F0C0BF0(void); -void proc_7F0C0C10(void); -undefined4 get_mission_state(void); -void set_missionstate(ulonglong param_1); -void sub_GAME_7F0C11FC(s16 param_1); -void setmissionstate_to_zero(void); -void proc_7F0C1288(void); -void proc_7F0C12CC(void); -void proc_7F0C1310(void); -void proc_7F0C1340(void); -void proc_7F0C1364(void); -void reset_all_music_slots(void); -void set_musicslot_time(int slot,int min,int sec); -void reset_music_in_slot(u32 param_1); -undefined8 get_textbank_number_for_stagenum(LEVELID param_1); -void init_LnameX(void); -void something_with_LnameJ(void); -int something_with_LnameX(uint param_1); -void load_mission_text_bank(u32 param_1); -void load_briefing_text_bank(int lnameID,undefined *target,int size); -void blank_text_bank(int param_1); -u8 * get_textptr_for_textID(TEXTFILESTRINGS id); -undefined8 MP_menu_page_adv_right(void); -undefined8 MP_menu_page_adv_left(void); -s32 check_if_player_is_pressing_anything_right(char param_1); -undefined8 check_if_player_is_pressing_anything_left(char param_1); -int ** play_watch_sfx_beep(void); -void unpause_game(void); -undefined4 proc_7F0C2024(int param_1,int param_2,int param_3,int param_4,int param_5); -undefined4 proc_7F0C2114(int param_1,int param_2,int param_3,int param_4,int param_5); -undefined4 proc_7F0C2204(int param_1,float param_2,float param_3,float param_4,float param_5); -undefined4 proc_7F0C234C(int param_1,float param_2,float param_3,float param_4,float param_5); -void proc_7F0C2494(void); -undefined8 proc_7F0C24BC(void); -void set_stopplay_flag(void); -void proc_7F0C2530(longlong param_1); -int ** proc_7F0C2E80(void); -uint * display_text_for_playerdata_on_MP_menu(uint *param_1,int param_2,uint param_3,undefined8 param_4,undefined4 param_5); -int get_points_for_mp_player(uint param_1); -int write_playerrank_to_buffer(char *buffer,uint player); -undefined8 true_if_displaying_rank_in_mp(int param_1); -undefined8 true_if_displaying_score_in_mp(void); -uint * mp_watch_menu_display(uint *param_1); -ulonglong proc_7F0C6048(void); -undefined4 get_ispaused(void); -undefined4 * display_red_blue_on_radar(undefined4 *param_1); -void advance_mp_weapon_set_by_one_save_value(void); -mp_weaponset_set * get_mpweaponset(void); -mp_weaponset_weapon * get_ptr_mp_weapon_set_data(void); -void set_mp_weapon_set(u32 param_1); -u32 get_mp_weapon_set(void); -void nullsub_41(void); -uint image_related_calls_decompressdata(undefined4 param_1,byte *param_2,int param_3,int param_4,int param_5); -undefined *copy_loaded_image_to_final_mem_location(undefined *param_1,int param_2,int param_3,longlong param_4,undefined *param_5); -int proc_7F0C6C70(byte *param_1,int param_2,int param_3,int param_4,int param_5,ushort *param_6,uint param_7); -uint proc_7F0C77AC(ushort *param_1,uint param_2,int param_3,int param_4,int param_5,uint param_6); -uint proc_7F0C7BD8(ushort *param_1,uint param_2,int param_3,uint param_4); -int process_huffman_compressed_images(undefined4 param_1,uint *param_2,int param_3,int param_4,int param_5); -int image_decompresion_related(uint *param_1,int param_2,int param_3,int param_4,uint param_5); -void generate_sample_table(int param_1,int param_2,ulonglong param_3); -void type4_7_9_getsamples(int param_1,int param_2); -uint type5_6_7_getsamples(uint *param_1,longlong param_2); -int proc_7F0C9A24(int param_1); -void image_get_alpha_values(undefined *param_1,int param_2); -undefined8 image_compression0_expand(void); -int generate_link_final_image(int param_1,uint param_2,int param_3,uint *param_4,undefined4 param_5); -int type5_generate_link_final_image(int param_1,int param_2,int *param_3,int param_4,int param_5,undefined4 param_6); -int type6_7_generate_link_final_image(ushort *param_1,uint param_2,int param_3,uint *param_4,int param_5,int param_6,undefined4 param_7); -void proc_7F0CB67C(int param_1,int param_2,int param_3,int param_4); -void type8_9_doohick(int param_1,int param_2,int param_3,undefined4 param_4,int param_5); -void proc_7F0CBAF4(int *param_1,int param_2,int param_3); -uint * proc_7F0CBB0C(uint imageid,undefined4 *buffer); -int proc_7F0CBB64(int param_1); -void check_load_image_to_buffer(char *image,uint *buffer); -void load_image_to_buffer(uint *image,uint *buffer); -void proc_7F0CBE50(object_header *objheader,uint *buffer); -void calls_load_image_to_buffer(uint image,uint *buffer); -void proc_7F0CBF10(undefined *param_1); -uint proc_7F0CBF2C(uint bits); -void load_prepare_global_image_bank(void); -void proc_7F0CC4C0(void); -void proc_7F0CC4C8(void); -undefined * proc_7F0CC51C(undefined *param_1,int param_2,undefined *param_3); -undefined8 proc_7F0CC548(int param_1); -undefined8 proc_7F0CC574(int param_1,int param_2,int param_3,int param_4,int param_5,int param_6,int param_7,int param_8,int param_9,int param_10,int param_11); -undefined8 proc_7F0CC690(int param_1,int param_2,int param_3,int param_4,int param_5); -ulonglong proc_7F0CC714(uint *param_1,ulonglong param_2); -ulonglong proc_7F0CC7FC(uint *param_1,ulonglong param_2); -int proc_7F0CC8E4(uint *param_1,ulonglong param_2); -int proc_7F0CC994(uint *param_1,ulonglong param_2); -void proc_7F0CC9D4(uint *param_1,undefined4 *param_2,int *param_3); -int proc_7F0CCA9C(int param_1); -undefined8 proc_7F0CCACC(longlong param_1); -int proc_7F0CCAFC(float param_1); -int proc_7F0CCB38(uint *param_1); -uint * proc_7F0CCC50(uint *param_1,uint *param_2,int param_3,uint param_4,uint param_5,uint param_6); -uint * proc_7F0CCFBC(uint *param_1,uint *param_2,int param_3,longlong param_4); -uint * expland_c0_DL_psuedocommands(uint *command,uint *facemapperimage,uint param_3); -uint * proc_7F0CD430(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6,uint param_7); -uint * proc_7F0CD7AC(uint *param_1,uint *param_2); -uint * proc_7F0CDB64(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6); -uint * proc_7F0CDE18(uint *command,uint *facemapper_entry,int s_flags,int t_flags,int settilesize_offset); -uint * proc_7F0CDEA8(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint *param_6,uint param_7,uint param_8,uint param_9); -uint * proc_7F0CDFA8(uint *param_1,uint *param_2,int param_3,int param_4,int param_5,uint param_6,uint param_7,uint param_8); -uint * proc_7F0CE064(uint *param_1,uint *param_2,int param_3,int param_4,int param_5); -uint * proc_7F0CE0AC(uint *param_1,uint *param_2,int param_3,int param_4,int param_5); -uint * process_microcode_sort_display_modes_expand_image_calls(uint *param_1,int param_2,uint *param_3,uint *param_4); -void proc_7F0CE794(int param_1,int param_2,int param_3); -u8 * decompressdata(u8 *source,u8 *target,u8 *buffer); -int proc_7F0CE894(void); -ulonglong proc_7F0CE8B0(int *param_1,uint param_2,uint param_3,int param_4,int param_5,uint *param_6,uint *param_7); -undefined8 proc_7F0CEEF0(int param_1,int param_2,ulonglong param_3,uint param_4); -undefined8 zlib_decompressor_type0(void); -undefined8 zlib_decompressor_type1(void); -undefined8 zlib_decompressor_type2(void); -undefined8 _inflate_block(uint *param_1); -longlong loop_to_decompress_entire_file(void); -void something_with_rsp_c_debug(void); -void allocate_init_rsp_buffers(void); -void load_rsp_microcode(int param_1,int param_2,undefined8 param_3,undefined4 param_4); -void init_indy_if_not_ready(void); -void dummy7F0CFF64(void); -void init_indy_if_ready(void); -void indy_load_resource(char *filename,u8 *targetloc); -void indy_send_capture_data(char *name,undefined *param_2,uint size); -void indy_load_ramrom_file(char *filename,u8 *target,s32 size); -void check_file_exported(char *param_1,undefined4 param_2,undefined4 param_3); -u8 * check_file_found_on_indy(char *name,undefined4 *size); -u32 send_command_string(char *param_1); -void proc_7F0D0124(void); -u32 send_indy_close_port_cmd(void); -void sub_GAME_7F0D0180(u8 *buffer,u32 size); -void proc_7F0D01D0(u8 *buffer,u32 size); -undefined8 postindyresourcecommand(indy_resource_entry *cmd,u32 size); -u32 send2indyresourcecommands(indy_resource_entry *entry1,uint size1,indy_resource_entry *entry2,uint size2); -void post_type1_indyrescmd_sizenextcmd(s32 readsize,s32 writesize); -void post_type2_indyrescmd_cmds_rdy_to_proc(s32 readsize,s32 writesize); -void post_type0_indyrescmd_init(s32 readsize,s32 writesize); -void post_type3_indyrescmd(s32 rsize,s32 wsize,char *strptr); -void post_type4_indyrescmd_data_recieved(s32 param_1,s32 param_2,u32 param_3); -void post_type5_indyrescmd_printfsend(s32 param_1,s32 param_2,char *param_3); -void post_type6_indyrescmd_printfrecieved(s32 rsize,s32 wsize,u32 data1,u32 data2); -void post_type7_indyrescmd_log_send(u32 param_1,u32 param_2,u8 *strptr,u32 param_4); -void post_type8_indyrescmd_log_recieved(s32 rsize,s32 wsize,undefined4 data1,undefined4 data2,uint cmd2size,indy_resource_entry *cmd2); -void post_type9_indyrescmd_app_command_ready(s32 rsize,s32 wsize,char *strptr,uint size2,indy_resource_entry *cmd2); -void post_typeA_indyrescmd_app_command_recieved(s32 readsize,s32 writesize,u32 data); -void post_typeF_indyrescmd_fault_send(u32 rsize,u32 wsize,char *name,u32 filesize,u32 ptarget); -void post_type10_indyrescmd_fault_ack_by_host(s32 rsize,s32 wsize,undefined4 param_3,undefined4 param_4,undefined4 param_5); -void post_typeD_indyrescmd_prof_send_filename(u32 rsize,u32 wsize,u8 *ptrstr,u32 size,u8 *hwaddress); -void post_typeE_indyrescmd_prof_recv(s32 readsize,s32 writesize,u32 data); -void post_typeB_indyrescmd_host_prof_req(s32 rsize,s32 wsize,char *strptr); -void post_typeC_indyrescmd_prof_send(s32 readsize,s32 writesize,u32 data); -void post_typeA_indyrescmd_app_data_recieved(s32 readsize,s32 writesize,u32 data); -undefined8 post_indy__res_cmd_initialize_seq(void); -u32 post_indyrescmd_game_data_send(char *strptr); -u32 post_indyrescmd_debug_data_recv(u32 data); -u32 post_indyrescmd_game_printf_send(char *strptr); -u32 post_indyrescmd_debug_printf_recv(u32 data1,u32 data2); -u32 post_indyrescmd_req_filename_size(u8 *filename,u32 size); -u32 post_indyrescmd_1_8_2(u32 data1,u32 data2,u32 size2,indy_resource_entry *cmd2); -u32 post_indyrescmd_send_capture_data(char *string,uint size,indy_resource_entry *data); -u32 post_indyrescmd_recv_capture_data_success(u32 data); -u32 post_indyrescmd_request_ramrom_file(char *name,u32 ptarget,u32 filesize); -u32 post_indyrescmd_1_10_2(u32 param_1,u32 param_2,u32 param_3); -u32 post_indyrescmd_game_prof_sendfile(char *strptr,u8 *phwaddr,u32 size); -u32 post_indyrescmd_host_prof_recv(u32 data); -u32 post_indyrescmd_1_B_2(char *strptr); -u32 post_indyrescmd_1_C_2(u32 data); -u32 post_indyrescmd_1_A_2(u32 data); -undefined8 post_indyrescmd_read_command(indy_resource_entry *param_1,uint param_2); -u32 post_indyrescmd_read_2commands(u8 *buffer1,u32 size1,u8 *buffer2,u32 size2); -u32 post_indyrescmd_istype1_correctsize(int readsize,int writesize); -u32 post_indyrescmd_istype2_correctvalue(int readsize,int writesize); -undefined8 post_indyrescmd_istype4_correctvalue(int param_1,int param_2,u8 *response); -undefined8 post_indyrescmd_istype6_correctvalue(int param_1,int param_2,u8 *response1,u8 *response2); -undefined8 post_indyrescmd_istype8_correctvalue(int param_1,int param_2,u8 *response1,u8 *response2,u32 childsize,u8 *child); -undefined8 post_indyrescmd_istypeA_correctvalue(int param_1,int param_2,u8 *response); -undefined8 post_indyrescmd_istype10_correctvalue(int param_1,int param_2,undefined4 *param_3,undefined4 *param_4,undefined4 *param_5); -undefined8 post_indyrescmd_istypeE_correctvalue(int param_1,int param_2,u8 *param_3); -undefined8 post_indyrescmd_istypeC_correctvalue(int param_1,int param_2,u8 *param_3); -u32 response_indyrescmd_1_4_2(u8 *response); -u32 response_indyrescmd_1_6_2(u8 *response1,u8 *response2); -u32 response_indyrescmd_1_8_2(u8 *response1,u8 *response2,u32 datasize,u8 *data); -u32 response_indyrescmd_1_A_2(u8 *param_1); -u32 response_indyrescmd_1_10_2(u32 *param_1,u32 *param_2,u32 *param_3); -u32 response_indyrescmd_1_E_2(u8 *response); -u32 response_indyrescmd_1_C_2(u8 *response); -u32 response_indyrescmd_curr_matches_expected(int readsize,int writesize); -void something_game_c_debug_related(void); -void reset_mem_bank_5(void); -void proc_7F0D1A7C(void); -char * get_compile_time(void); -undefined4 * proc_7F0D1AC0(undefined4 *param_1); -void proc_7F0D1B94(uint *param_1,float param_2,uint param_3,uint param_4,int param_5); -uint * proc_7F0D1BD0(uint *param_1,float param_2,uint param_3,uint param_4,int param_5,int param_6,int param_7); -void proc_7F0D1DCC(float param_1); -void proc_7F0D1DFC(uint *param_1,float param_2,uint param_3,uint param_4,int param_5); -void proc_7F0D1E44(uint *param_1,float param_2,uint param_3,uint param_4,int param_5,int param_6,int param_7); -uint * proc_7F0D1E98(undefined4 *param_1,undefined8 param_2,undefined8 param_3,int param_4); -void proc_7F0D2320(void); -void remove_viewport_buffer(void); -void allocate_viewport_buffer(void); -void proc_7F0D2448(undefined4 param_1,undefined4 param_2,undefined4 param_3); -undefined4 * proc_7F0D2464(undefined4 *param_1); -undefined4 * proc_7F0D2518(undefined4 *param_1); -MUSIC_TRACKS getmusictrack_or_randomtrack(u32 stagenum); -short sub_GAME_7F0D2848(short param_1); -short proc_7F0D2890(short param_1); -void proc_7F0D28E0(int param_1,int param_2,undefined8 param_3,byte *param_4); -void proc_7F0D2A84(int param_1,int param_2); -void spectrum_p1controller_to_kempston(void); -void init_spectrum_game(byte param_1); -void run_spectrum_game(void); -undefined4 * spectrum_draw_screen(undefined4 *param_1); -ulonglong spectrum_input_handling(undefined8 param_1,uint param_2,char param_3); -void dummy7F0D37D4(void); -undefined8 proc_7F0D37DC(undefined8 param_1,undefined8 param_2,char param_3,byte param_4); -void spectrum_hw_emulation(void); -void entry(void); -void boot(void); -void rspbootTextStart(void) - diff --git a/notes/split_list.txt b/notes/split_list.txt deleted file mode 100644 index 2154438..0000000 --- a/notes/split_list.txt +++ /dev/null @@ -1,4519 +0,0 @@ - # once this list is complete, ill integrate into the yaml and script the split - # i guess i could do a yaml per address range for file.... - ############################### - # created by makerom - - [0x80000400, "_start"] - - ############################### - # codesegment.o - # boot0.s - # .text - - [0x80000450, "boot"] - - [0x700004BC, "get_rodata_vaddr"] - - [0x700004C8, "get_cdataSegmentRomStart"] - - [0x700004D4, "get_cdataSegmentRomEnd"] - - [0x700004E0, "get_rarezipSegmentRomStart"] - - [0x700004EC, "get_rarezipSegmentRomEnd"] - - [0x700004F8, "jump_decompressfile"] - - # boot1.s - # .text - - [0x70000510, "boot1"] - - [0x700006A8, "generate_main_thread"] - - [0x700006F0, "grow_stack"] - - [0x700006FC, "set_hw_address_and_unknown"] - - [0x70000718, "idle_entry"] - - [0x70000738, "start_idle_thread"] - - [0x70000790, "start_rmon_thread"] - - [0x700007EC, "setup_message_queue_for_scheduler"] - - [0x7000089C, "main_entry"] - - [0x70000908, "setuplastentryofdebughandler"] - - # std_err_flags.s - # .text - - [0x70000970, "set_stderr.activated"] - - [0x7000097C, "set_stderr.enable"] - - [0x70000988, "set_stderr.permitted"] - - [0x70000994, "set_user.Compare"] - - # scheduler.s - # .text - - [0x700009A0, "testtodisplaystderrandupdatecount"] - - [0x700009F8, "testtodisplaystderrorevery16thframe"] - - [0x70000A88, "osCreateLog"] - - [0x70000AAC, "osCreateScheduler"] - - [0x70000C14, "osScAddClient"] - - [0x70000C70, "osScRemoveClient"] - - [0x70000CF8, "osScGetCmdQ"] - - [0x70000D00, "__scMain"] - - [0x70000EB4, "__scHandleRetrace"] - - [0x70001014, "__scHandleRSP"] - - [0x7000111C, "setcountertarget"] - - [0x70001128, "__scHandleRDP"] - - [0x700011E0, "__scTaskReady"] - - [0x70001230, "__scTaskComplete"] - - [0x700013D8, "__scAppendList"] - - [0x70001440, "__scExec"] - - [0x70001560, "__scYield"] - - [0x7000159C, "__scSchedule"] - - # osMapTLBRdb.s - # .text - - [0x70001780, "osMapTLBRdb"] - - # tlb_buffer_management.s - # .text - - [0x700017E0, "establish_TLB_buffer_management_table"] - - [0x70001898, "mp_tlb_related"] - - # tlb_index.s - # .text - - [0x700018C0, "return_TLB_index_for_entry"] - - # tlb_load_remove.s - # .text - - [0x70001920, "find_remove_TLB_entry"] - - [0x70001954, "remove_TLB_entry_from_table"] - - [0x700019D8, "translate_load_rom_from_TLBaddress"] - - [0x70001AF8, "return_ptr_TLBmemory"] - - # tlb_random.s - # .text - - [0x70001B10, "return_tlb_random_value"] - - # tlb_resolve.s - # .text - - [0x70001B60, "resolve_TLBaddress_for_InvalidHit"] - - # tlb_set_hardwire.s - # .text - - [0x70001BB0, "set_hardwire_TLB_to_2"] - - # init_audi.s - # .text - - [0x70001BD0, "init_audi"] - - [0x70001F58, "startaudithread"] - - [0x70001F7C, "audi_entry"] - - [0x70002244, "process_audio_packet"] - - [0x700023E4, "audi_length_related"] - - [0x70002424, "audi_related_2"] - - [0x700025D8, "audi_related_3"] - - [0x70002610, "audi_related_4"] - - # speed_graph.s - # .text - - [0x70002730, "displaylist_related"] - - [0x700027A4, "video_related_1"] - - [0x70002810, "video_related_2"] - - [0x70002854, "video_related_3"] - - [0x70002958, "display_speed_graph"] - - [0x70002CD8, "video_DL_related_4"] - - # video.s - # .text - - [0x70003060, "init_video_settings"] - - [0x70003124, "init_both_video_buffers"] - - [0x70003190, "video_related_6"] - - [0x700031A0, "video_related_7"] - - [0x70003298, "video_related_8"] - - [0x70003B04, "video_related_9"] - - [0x70003B64, "receive_vi_c_msgs"] - - [0x70003BB0, "setVideoWidthHeightToMode"] - - [0x70003C00, "coloroutputmode_1"] - - [0x70003C10, "coloroutputmode_0"] - - [0x70003C1C, "get_video2buf_offset28"] - - [0x70003C2C, "get_video1buf_offset28"] - - [0x70003C3C, "set_video2buf_offset28"] - - [0x70003C4C, "get_80060824"] - - [0x70003C58, "video_related_F"] - - [0x70003EB4, "video_related_10"] - - [0x70003EF8, "insert_generic_fillrect"] - - [0x70003F64, "setupscreensfornumplayers"] - - [0x70004384, "set_video_mp_related_800232A0"] - - [0x70004390, "get_video_mp_related_800232A0"] - - [0x7000439C, "set_video_mp_related_8002329C"] - - [0x700043A8, "get_video_mp_related_8002329C"] - - [0x700043B4, "set_video2_settings_offset_18_1A"] - - [0x700043D8, "get_video2_settings_offset_18"] - - [0x700043E8, "get_video2_settings_offset_1A"] - - [0x700043F8, "set_video2_text_clip_size"] - - [0x7000441C, "get_video2_settings_txtClipW"] - - [0x7000442C, "get_video2_settings_txtClipH"] - - [0x7000443C, "set_video2_width_height"] - - [0x7000449C, "get_video2_settings_width"] - - [0x700044AC, "get_video2_settings_height"] - - [0x700044BC, "set_video2_ulx_uly"] - - [0x70004514, "get_video2_settings_ulx"] - - [0x70004524, "get_video2_settings_uly"] - - [0x70004534, "set_video2_settings_offset_24"] - - [0x70004544, "video_related_1F"] - - [0x70004590, "video_related_21"] - - [0x700045DC, "video_related_23"] - - [0x700045EC, "video_related_24"] - - [0x70004650, "set_page_height"] - - [0x700046AC, "video_related_27"] - - [0x700046D0, "set_setfillcolor"] - - [0x70004758, "indy_grab_jpg_16bit"] - - [0x700048D4, "indy_grab_jpg_32bit"] - - [0x70004A60, "indy_grab_rgb_16bit"] - - [0x70004BB4, "indy_grab_rgb_32bit"] - - # debug_notice_list_handler.s - # .text - - [0x70004D20, "return_match_in_debug.notice.list"] - - [0x70004D80, "get_entry_of_size_in_debug.notice.list"] - - [0x70004DE0, "add_new_entry_to_debug.notice.list"] - - [0x70004E2C, "add_debug.notice_deb_c_debug"] - - [0x70004E60, "get_ptr_debug.notice.list_entry"] - - [0x70004E98, "scan_debug.notice.list_till_NULL"] - - [0x70004EC4, "debug_removed"] - - # tlb_init_indy_load.s - # .text - - [0x70004EE0, "init_tlb"] - - [0x70004F54, "translate_7F_address"] - - [0x700050AC, "debug_related_8"] - - [0x700051E0, "was_opcode_within_70000450_70020D90"] - - [0x70005258, "return_strlen"] - - [0x70005294, "indy_file_get_address_subsequent_data"] - - [0x70005340, "scan_load_resourceID_from_indy.read.buf"] - - [0x700053C8, "is_valid_indy.read.buf.resourceID"] - - [0x700053FC, "debug_indy_stub"] - - [0x70005404, "debug_indy_stub_0"] - - [0x7000540C, "debug_indy_stub_1"] - - [0x70005414, "return_indy.read.buf.resourceID"] - - # debug_sp_related.s - # .text - - [0x70005420, "debug_sp_related_11"] - - [0x700054E4, "debug_sp_related_12"] - - # normal_float_handler.s - # .text - - [0x70005560, "_is_normal_single_precision_float"] - - [0x700055A4, "is_normal_single_precision_float"] - - [0x700055C8, "set_normality_of_single_precision_floats"] - - # std_err_handler.s - # .text - - [0x70005630, "write_char_to_pos_stderr"] - - [0x700056BC, "__osRdbSend"] - - [0x700057CC, "scroll_stderr_oneline"] - - [0x7000585C, "print_to_vidbuff1"] - - [0x70005984, "set_ptr_video_buffers"] - - [0x700059A4, "set_video_buffer_pointers"] - - [0x700059D0, "write_stderr_to_buffer"] - - # error_handler_last_ra_on_stack.s - # .text - - [0x70005B10, "return_last_RA_saved_to_stack"] - - # load_file.s - # .text - - [0x70005B60, "creates_a_message_queue_for_memory"] - - [0x70005B90, "read_bytes_from_hw_to_rdram"] - - [0x70005BF0, "receive_memoryMesg"] - - [0x70005C1C, "romCopy"] - - [0x70005C44, "romCopyAligned"] - - [0x70005CA8, "write_rdram_to_hw"] - - [0x70005D08, "romWrite"] - - # main.s - # .text - - [0x70005D30, "init_mainthread_data"] - - [0x70005FF4, "enable_show_mem_use_flag"] - - [0x70006004, "mem_bars_flag_toggle"] - - [0x7000601C, "setup_gamevalues_and_launchmainloop"] - - [0x70006060, "mainloop"] - - [0x70006930, "run_title_stage"] - - [0x70006950, "set_loaded_stage"] - - [0x7000695C, "get_stage_num"] - - [0x70006968, "return_to_title_from_level_end"] - - [0x700069B4, "get_debug_parse_flag"] - - [0x700069C0, "something_with_boss_c_debug"] - - # music1.s - # .text - - [0x700069F0, "audio_related"] - - [0x70006A30, "setupaudio"] - - [0x70006E7C, "musicTrack1Play"] - - [0x70006FD0, "musicTrack1Stop"] - - [0x70007030, "get_music1len"] - - [0x7000703C, "musicTrack1Vol"] - - [0x700070A0, "musicTrack1Tempo"] - - [0x700070F8, "music_related_1"] - - [0x70007168, "music_related_3"] - - [0x70007204, "musicTrack2Play"] - - [0x70007358, "musicTrack2Stop"] - - [0x700073B8, "get_music2len"] - - [0x700073C4, "musicTrack2Vol"] - - [0x70007428, "music_related_5"] - - [0x70007480, "music_related_6"] - - [0x700074F0, "music_related_8"] - - [0x7000758C, "music_related_3rd_block"] - - [0x700076E0, "musicTrack3Stop"] - - [0x70007740, "get_music3len"] - - [0x7000774C, "musicTrack3Vol"] - - [0x700077B0, "music_related_10"] - - [0x70007808, "music_related_11"] - - [0x70007878, "music_related_13"] - - [0x70007914, "music_related_15"] - - # music2.s - # .text - - [0x70007B20, "music_related_16"] - - [0x70007DDC, "music_related_17"] - - [0x70007E80, "music_related_18"] - - [0x70008948, "music_related_19"] - - [0x700089C4, "music_related_20"] - - [0x70008A30, "music_related_21"] - - [0x70008AF0, "music_related_22"] - - [0x70008B70, "music_related_23"] - - [0x70008D04, "music_related_24"] - - [0x70008DD8, "music_related_25"] - - [0x70008DF0, "sfxGetArg0Unk3F"] - - [0x70008E08, "play_sfx_a1"] - - [0x70009020, "sfxSetArg0Unk3EPostEvent"] - - [0x7000906C, "music_related_29"] - - [0x70009124, "music_related_30"] - - [0x70009144, "music_related_32"] - - [0x70009164, "music_related_34"] - - [0x70009184, "music_related_36"] - - [0x700091C8, "music_related_37"] - - [0x700091E8, "music_related_38"] - - [0x70009238, "music_related_39"] - - [0x70009264, "music_related_41"] - - [0x70009284, "music_related_42"] - - # memp.s - # .text - - [0x70009380, "something_with_memp_c_debug"] - - [0x700093AC, "check_memflag_tokens"] - - [0x70009514, "memp_related_0"] - - [0x70009720, "allocate_bytes_in_bank"] - - [0x70009804, "memp_related_1"] - - [0x700098F0, "nulled_list_all8_mem_alloc_banks_sizes"] - - [0x70009910, "memp_related_3"] - - [0x70009970, "memp_related_4"] - - [0x7000999C, "reset_mem_bank_a0"] - - [0x700099C4, "memp_related_6"] - - # mema.s - # .text - - [0x70009A10, "swap_entries"] - - [0x70009A34, "merge_alloc_entries"] - - [0x70009A50, "sort_merge_entries_in_alloc_table"] - - [0x70009B18, "memp_related_7"] - - [0x70009B60, "mem_related"] - - [0x70009C74, "mem_related_model_room_buffers"] - - [0x70009D6C, "something_with_mema_c_debug"] - - [0x70009D98, "reset_memtable_base_allocation"] - - [0x70009E10, "mem_related_calls_sort_merge_entries"] - - [0x70009E34, "mem_related_something_find_first"] - - [0x70009FA8, "mem_related_something_find_first_0"] - - [0x7000A020, "mem_related_model_room_buffers_0"] - - [0x7000A040, "mem_related_allocated_table_related"] - - [0x7000A064, "mem_related_something_first_related"] - - [0x7000A100, "generate_list_alloc_mem"] - - [0x7000A29C, "generate_lists_before_after_mem_merge"] - - [0x7000A2F8, "mem_related_something_first_related_0"] - - [0x7000A370, "mem_related_0"] - - [0x7000A3DC, "mem_related_1"] - - # random.s - # .text - - [0x7000A450, "random_related"] - - [0x7000A498, "increment_random_num"] - - [0x7000A4AC, "lotsa_shifting_random_related"] - - # checktoken.s - # .text - - [0x7000A4F0, "check_string_something"] - - [0x7000A58C, "strtok"] - - [0x7000A5C0, "check_boot_switches"] - - [0x7000A6A0, "check_token"] - - # string_stuff.s - # .text - - [0x7000A770, "textpointer_load_parse_something"] - - [0x7000A7A0, "something_with_strings"] - - [0x7000A7FC, "string_load_parse_something"] - - [0x7000A84C, "something_with_strings_0"] - - [0x7000A898, "string_related"] - - [0x7000A8F8, "strtol_related"] - - [0x7000A930, "strtol_related_0"] - - [0x7000A950, "strtol_related_1"] - - [0x7000A98C, "strtol_related_2"] - - [0x7000A9E0, "strtol"] - - # sprintf.s - # .text - - [0x7000AC70, "proutSprintf"] - - [0x7000AC94, "sprintf"] - - # vi_c.s - # .text - - [0x7000ACF0, "start_pi_manager"] - - [0x7000AD30, "start_nulled_entry"] - - [0x7000AD38, "something_with_vi_c_debug"] - - # dummied_7000AD80.s - # .text - - [0x7000AD80, "dummied_function"] - - [0x7000AD90, "dummied_function_0"] - - [0x7000ADA0, "null_function"] - - [0x7000ADA8, "null_init_main_0"] - - # debug.s - # .text - - [0x7000ADB0, "debug_text_related_2"] - - [0x7000ADD0, "display_text_to_coord"] - - [0x7000AEDC, "debug_menu_text_related"] - - [0x7000AF00, "blank_debug_buffer_chars"] - - [0x7000AF84, "stubbed_function"] - - [0x7000AF98, "something_debug_info_related"] - - [0x7000B040, "set_final_debug_text_positions"] - - [0x7000B06C, "set_debug_text_color"] - - [0x7000B098, "set_color_speedgraph"] - - [0x7000B0C4, "write_char_to_screen"] - - [0x7000B1C0, "debug_text_related_0"] - - [0x7000B1E8, "write_string_stdout"] - - [0x7000B230, "debug_text_related"] - - [0x7000B27C, "read_screen_display_block_and_write_chars"] - - # .s - # .text - - [0x7000B560, "something_with_joy_c_debug"] - - [0x7000B6AC, "test_controller_presence"] - - [0x7000B728, "osPfsChecker"] - - [0x7000B734, "controller_7000B734"] - - [0x7000B810, "controller_check_for_rumble_maybe"] - - [0x7000B9F8, "controller_finding_controller_maybe"] - - [0x7000BA70, "get_num_controllers_plugged_in"] - - [0x7000BA7C, "controller_rumble_related"] - - [0x7000BBA8, "set_disable_all_rumble_and_something"] - - [0x7000BBBC, "set_ptr_tlb_ramrom_record"] - - [0x7000BBC8, "probably_ramrom_related"] - - [0x7000BD0C, "redirect_to_ramrom_replay_and_record_handlers_if_set"] - - [0x7000BD88, "controller_7000BD88"] - - [0x7000C0EC, "get_cur.controller_horz.stick.pos"] - - [0x7000C174, "controller_7000C174"] - - [0x7000C1FC, "get_cur.controller_vert.stick.pos"] - - [0x7000C284, "controller_7000C284"] - - [0x7000C30C, "get_controller_buttons_held"] - - [0x7000C3AC, "get_controller_buttons_pressed"] - - [0x7000C430, "controller_7000C430"] - - [0x7000C470, "controller_7000C470"] - - [0x7000C4B4, "get_controller_3dstick_L_R"] - - [0x7000C528, "get_controller_3dstick_U_D"] - - [0x7000C59C, "controller_7000C59C"] - - [0x7000C60C, "controller_7000C60C"] - - [0x7000C67C, "controller_7000C67C"] - - [0x7000C6BC, "controller_7000C6BC"] - - [0x7000C6FC, "save_7000C6FC"] - - [0x7000C734, "save_7000C734"] - - [0x7000C778, "save_7000C778"] - - [0x7000C7BC, "save_7000C7BC"] - - [0x7000C808, "save_7000C808"] - - [0x7000C854, "controller_7000C854"] - - [0x7000C8DC, "reset_cont_rumble_detect"] - - [0x7000C930, "controller_7000C930"] - - [0x7000C954, "controller_7000C954"] - - # .s - # .text - - [0x7000C980, "send_rumble_off_to_PIF"] - - [0x7000CAAC, "controller_7000CAAC"] - - [0x7000CBDC, "controller_7000CBDC"] - - [0x7000CD38, "controller_7000CD38"] - - # .s - # .text - - [0x7000CEA0, "rmonMain"] - - [0x7000CEA8, "rmon_debug_is_final_build"] - - [0x7000CEB0, "rmon_debug_returns_neg_1"] - - [0x7000CEB8, "rmon_debug_stub"] - - [0x7000CEC0, "rmon_debug_stub_0"] - - [0x7000CEC8, "rmon_debug_stub_1"] - - [0x7000CED0, "rmon_debug_stub_2"] - - [0x7000CED8, "rmon_debug_stub_3"] - - [0x7000CEE0, "rmon_debug_stub_4"] - - [0x7000CEE8, "proutSyncPrintf"] - - [0x7000CF44, "osSyncPrintf"] - - # libultra - # .text - - [0x7000CF90, "osPiRawStartDma"] - - [0x7000D070, "osPiGetStatus"] - - [0x7000D080, "osInitialize"] - - [0x7000D320, "osWritebackDCacheAll"] - - [0x7000D350, "osInvalICache"] - - [0x7000D3D0, "osUnmapTLB"] - - [0x7000D410, "__osGetFpcCsr"] - - [0x7000D420, "__osSetFpcCsr"] - - [0x7000D430, "osCreateThread"] - - [0x7000D580, "osStartThread"] - - [0x7000D6D0, "osCreateMesgQueue"] - - [0x7000D740, "osStopThread"] - - [0x7000D800, "osSetThreadPri"] - - [0x7000D8E0, "osGetCount"] - - [0x7000D8F0, "osCreateViManager"] - - [0x7000DA78, "viMgrMain"] - - [0x7000DC30, "osCreateViManager_sub"] - - [0x7000DC50, "osSetEventMesg"] - - [0x7000DCC0, "osViSetEvent"] - - [0x7000DD30, "osSetIntMask"] - - [0x7000DDD0, "osRecvMesg"] - - [0x7000DF10, "osSendMesg"] - - [0x7000E060, "osViSetMode"] - - [0x7000E0D0, "osViSetXScale"] - - [0x7000E200, "osViSetYScale"] - - [0x7000E260, "osViRepeatLine"] - - [0x7000E2D0, "osViBlack"] - - [0x7000E340, "osSpTaskYielded"] - - [0x7000E3C0, "osDpGetCounters"] - - [0x7000E410, "osViGetCurrentFramebuffer"] - - [0x7000E450, "osViGetNextFramebuffer"] - - [0x7000E490, "osViSwapBuffer"] - - [0x7000E4E0, "osDpSetStatus"] - - [0x7000E4F0, "_VirtualToPhysicalTask"] - - [0x7000E60C, "osSpTaskLoad"] - - [0x7000E76C, "osSpTaskStartGo"] - - [0x7000E7B0, "osDpSetNextBuffer"] - - [0x7000E860, "osSpTaskYield"] - - [0x7000E880, "__osGetTLBHi"] - - [0x7000E8B0, "osVirtualToPhysical"] - - [0x7000E930, "osAiSetFrequency"] - - [0x7000EA90, "alUnlink"] - - [0x7000EAC0, "alLink"] - - [0x7000EAE4, "alClose"] - - [0x7000EB1C, "alInit"] - - [0x7000EB50, "alHeapDBAlloc"] - - [0x7000EBB0, "osGetTime"] - - [0x7000EC40, "__ull_rshift"] - - [0x7000EC6C, "__ull_rem"] - - [0x7000ECA8, "ull_div"] - - [0x7000ECE4, "__ll_lshift"] - - [0x7000ED10, "__ll_rem"] - - [0x7000ED4C, "__ll_div"] - - [0x7000EDA8, "__ll_mul"] - - [0x7000EDD8, "__ull_divremi"] - - [0x7000EE38, "__ll_mod"] - - [0x7000EED4, "__ll_rshift"] - - [0x7000EF00, "osAiSetNextBuffer"] - - [0x7000EFB0, "osAiGetLength"] - - [0x7000EFC8, "_timeToSamples"] - - [0x7000F020, "_freePVoice"] - - [0x7000F058, "_collectPVoices"] - - [0x7000F0B8, "__freeParam"] - - [0x7000F0D0, "__allocParam"] - - [0x7000F108, "alAudioFrame"] - - [0x7000F3A0, "alSynNew"] - - [0x7000F6A0, "osPiStartDma"] - - [0x7000F7B0, "osViSetSpecialFeatures"] - - [0x7000F970, "_bcopy"] - - [0x7000FC80, "guPerspectiveF"] - - [0x7000FEB0, "guPerspective"] - - [0x7000FF10, "guMtxF2L"] - - [0x70010010, "guMtxIdentF"] - - [0x70010098, "guMtxIdent"] - - [0x700100C8, "guMtxL2F"] - - [0x70010180, "ultra_70010180"] - - [0x70010190, "__osExceptionPreamble"] - - [0x700101A0, "__osException"] - - [0x70010390, "next_interrupt"] - - [0x700103C8, "IP6_Hdlr"] - - [0x700103D4, "IP7_Hdlr"] - - [0x700103E0, "counter"] - - [0x70010400, "cart"] - - [0x70010454, "rcp"] - - [0x70010594, "prenmi"] - - [0x700105F0, "sw2"] - - [0x70010610, "swl"] - - [0x70010648, "redispatch"] - - [0x7001067C, "enqueueRunning"] - - [0x700106C4, "send_mesg"] - - [0x70010778, "handle_CpU"] - - [0x700107AC, "__osEnqueueAndYield"] - - [0x700108AC, "__osEnqueueThread"] - - [0x700108F4, "__osPopThread"] - - [0x70010904, "__osDispatchThread"] - - [0x70010924, "__osDispatchThreadSave"] - - [0x70010A80, "__osCleanupThread"] - - [0x70010A90, "__osDequeueThread"] - - [0x70010AD0, "osYieldThread"] - - [0x70010B20, "osInvalDCache"] - - [0x70010BD0, "osWritebackDCache"] - - [0x70010C50, "osSetTimer"] - - [0x70010D30, "alHeapInit"] - - [0x70010D80, "ultra_70010D80"] - - [0x70010E74, "alBnkfNew"] - - [0x70010F78, "alSeqFileNew"] - - [0x70010FC0, "__CSPPostNextSeqEvent"] - - [0x70011030, "ultra_70011030"] - - [0x7001106C, "ultra_7001106C"] - - [0x7001123C, "ultra_7001123C"] - - [0x70011A6C, "ultra_70011A6C"] - - [0x70012080, "alCSPNew"] - - [0x700121F0, "alSeqpSetBank"] - - [0x70012230, "ultra_70012230"] - - [0x70012240, "alCSeqGetLoc"] - - [0x700122E0, "alCSeqSetLoc"] - - [0x70012380, "ultra_70012380"] - - [0x70012444, "ultra_70012444"] - - [0x700124A4, "alCSeqNextEvent"] - - [0x7001279C, "alCSeqNew"] - - [0x700128B0, "alCSeqNewMarker"] - - [0x70012A1C, "alCSeqGetTicks"] - - [0x70012A24, "alCSeqSecToTicks"] - - [0x70012B20, "alCSeqTicksToSec"] - - [0x70012B8C, "__alCSeqNextDelta"] - - [0x70012D00, "unknown_libname_63"] - - [0x70012D40, "unknown_libname_64"] - - [0x70012D70, "unknown_libname_65"] - - [0x70012DA0, "unknown_libname_66"] - - [0x70012DE0, "alEvtqFlushType"] - - [0x70012E8C, "alEvtqFlush"] - - [0x70012EFC, "alEvtqPostEvent"] - - [0x70013020, "alEvtqNextEvent"] - - [0x700130AC, "alEvtqNew"] - - [0x70013120, "alSynAddPlayer"] - - [0x70013170, "_allocatePVoice"] - - [0x70013258, "alSynAllocVoice"] - - [0x700133A0, "alSynSetVol"] - - [0x70013440, "alSynStartVoice"] - - [0x700134D0, "alSynSetPan"] - - [0x70013560, "alSynSetPitch"] - - [0x700135F0, "alSynSetFXMix"] - - [0x70013690, "alSynStopVoice"] - - [0x70013710, "alSynFreeVoice"] - - [0x700137C0, "alCents2Ratio"] - - [0x70013810, "osPiReadIo"] - - [0x70013850, "memcpy"] - - [0x7001387C, "strlen"] - - [0x700138A4, "strchr"] - - [0x700138F0, "_Putfld"] - - [0x70013F60, "_Printf"] - - [0x700145B0, "osCreatePiManager"] - - [0x70014740, "osPfsInit"] - - [0x700147F4, "__osPfsGetStatus"] - - [0x70014900, "osContInit"] - - [0x70014AF8, "__osContGetInitData"] - - [0x70014BC8, "__osPackRequestData"] - - [0x70014CC0, "osContStartQuery"] - - [0x70014D44, "osContGetQuery"] - - [0x70014D70, "osContStartReadData"] - - [0x70014E34, "osContGetReadData"] - - [0x70014EDC, "osContReadData_sub"] - - [0x70014FD0, "osEepromProbe"] - - [0x70015040, "osEepromRead"] - - [0x70015230, "osEepromRead_sub"] - - [0x70015340, "osEepromWrite"] - - [0x700154F0, "osEepromWrite_sub"] - - [0x700155FC, "__osEepStatus"] - - [0x70015820, "osEepromLongRead"] - - [0x70015960, "osEepromLongWrite"] - - [0x70015AA0, "osPfsIsPlug"] - - [0x70015C40, "__osPfsRequestData"] - - [0x70015D3C, "__osPfsGetInitData"] - - [0x70015E10, "__osSiCreateAccessQueue"] - - [0x70015E60, "__osSiGetAccess"] - - [0x70015EA4, "__osSiRelAccess"] - - [0x70015ED0, "__osSiRawStartDma"] - - [0x70015F80, "__osContAddressCrc"] - - [0x70016030, "__osContDataCrc"] - - [0x70016100, "__osContRamWrite"] - - [0x70016330, "__osContRamWrite_sub"] - - [0x700164B0, "__osContRamRead"] - - [0x700166F4, "__osContRamRead_sub"] - - [0x70016860, "guAlignF"] - - [0x70016A20, "guAlign"] - - [0x70016A70, "guOrthoF"] - - [0x70016BC4, "guOrtho"] - - [0x70016C30, "coss"] - - [0x70016C60, "sins"] - - [0x70016CD0, "guTranslateF"] - - [0x70016D18, "guTranslate"] - - [0x70016D70, "_bcmp"] - - [0x70016E90, "guScaleF"] - - [0x70016EE4, "guScale"] - - [0x70016F30, "guLookAtReflectF"] - - [0x70017370, "guLookAtReflect"] - - [0x700173F0, "guLookAtF"] - - [0x700176A8, "guLookAt"] - - [0x70017720, "guRotateF"] - - [0x700178B4, "guRotate"] - - [0x70017910, "__d_to_ll"] - - [0x7001792C, "__f_to_ll"] - - [0x70017948, "__d_to_ull"] - - [0x700179E8, "__f_to_ull"] - - [0x70017A84, "__ll_to_d"] - - [0x70017A9C, "__ll_to_f"] - - [0x70017AB4, "__ull_to_d"] - - [0x70017AE8, "__ull_to_f"] - - [0x70017B20, "__osSetSR"] - - [0x70017B30, "__osGetSR"] - - [0x70017B40, "__osSiRawReadIo"] - - [0x70017B90, "__osSiRawWriteIo"] - - [0x70017BE0, "osPiRawReadIo"] - - [0x70017C40, "_blkclr"] - - [0x70017CE0, "__osSetHWIntrRoutine"] - - [0x70017D30, "__osLeoInterrupt"] - - [0x70018414, "__osLeoInterrupt_sub1"] - - [0x700184FC, "__osLeoInterrupt_sub2"] - - [0x700185F0, "__osDisableInt"] - - [0x70018610, "__osRestoreInt"] - - [0x70018630, "__osTimerServicesInit"] - - [0x700186BC, "__osTimerInterrupt"] - - [0x70018834, "__osSetTimerIntr"] - - [0x700188A8, "__osInsertTimer"] - - [0x70018A30, "osGetThreadPri"] - - [0x70018A50, "__osViInit"] - - [0x70018B60, "__osViGetCurrentContext"] - - [0x70018B70, "__osViSwapContext"] - - [0x70018ED0, "__osSpGetStatus"] - - [0x70018EE0, "__osSpSetStatus"] - - [0x70018EF0, "__osSpSetPc"] - - [0x70018F30, "__osSpRawStartDma"] - - [0x70018FC0, "__osSpDeviceBusy"] - - [0x70018FF0, "__osDpDeviceBusy"] - - [0x70019020, "__osProbeTLB"] - - [0x700190E0, "alSynDelete"] - - [0x700190F0, "__osAiDeviceBusy"] - - [0x70019120, "alSaveNew"] - - [0x70019164, "alMainBusNew"] - - [0x700191B8, "alAuxBusNew"] - - [0x7001920C, "alResampleNew"] - - [0x70019294, "alLoadNew"] - - [0x7001933C, "alEnvmixerNew"] - - [0x700193E0, "init_lpfilter"] - - [0x70019480, "alFxNew"] - - [0x700198C0, "alSynAllocFX"] - - [0x70019960, "alMainBusParam"] - - [0x70019990, "alMainBusPull"] - - [0x70019AB0, "alLoadParam"] - - [0x70019C84, "alRaw16Pull"] - - [0x7001A030, "ultra_7001A030"] - - [0x7001A15C, "alAdpcmPull"] - - [0x7001A600, "alResampleParam"] - - [0x7001A6EC, "alResamplePull"] - - [0x7001A900, "_ldexpf"] - - [0x7001A928, "_frexpf"] - - [0x7001AA14, "alEnvmixerParam"] - - [0x7001AAF4, "ultra_7001AAF4"] - - [0x7001ABB4, "ultra_7001ABB4"] - - [0x7001AE5C, "alEnvmixerPull"] - - [0x7001B4E0, "ultra_7001B4E0"] - - [0x7001B510, "ultra_7001B510"] - - [0x7001B5F0, "alSaveParam"] - - [0x7001B624, "alSavePull"] - - [0x7001B6B0, "osJamMesg"] - - [0x7001B800, "osPiGetCmdQueue"] - - [0x7001B830, "ultra_7001B830"] - - [0x7001B9A0, "ultra_7001B9A0"] - - [0x7001BB60, "osDestroyThread"] - - [0x7001BC60, "__setInstChanState"] - - [0x7001BCB4, "__resetPerfChanState"] - - [0x7001BD34, "__initFromBank"] - - [0x7001BDF0, "__vsDelta"] - - [0x7001BE14, "__vsVol"] - - [0x7001BE9C, "__seqpReleaseVoice"] - - [0x7001BFC8, "__voiceNeedsNoteKill"] - - [0x7001C070, "__unmapVoice"] - - [0x7001C0E0, "__postNextSeqEvent"] - - [0x7001C1BC, "__handleMetaMsg"] - - [0x7001C234, "__vsPan"] - - [0x7001C27C, "__lookupVoice"] - - [0x7001C2F0, "__mapVoice"] - - [0x7001C360, "__lookupSoundQuick"] - - [0x7001C45C, "__handleMIDIMsg"] - - [0x7001CC7C, "__seqpVoiceHandler"] - - [0x7001D2A0, "__seqpStopOsc"] - - [0x7001D300, "unknown_libname_37"] - - [0x7001D32C, "unknown_libname_38"] - - [0x7001D338, "unknown_libname_39"] - - [0x7001D35C, "unknown_libname_40"] - - [0x7001D38C, "unknown_libname_41"] - - [0x7001D3A0, "unknown_libname_42"] - - [0x7001D3A4, "__initChanState"] - - [0x7001D414, "alSeqpNew"] - - [0x7001D5A0, "alSynStartVoiceParams"] - - [0x7001D690, "alCopy"] - - [0x7001D710, "__osPiCreateAccessQueue"] - - [0x7001D760, "__osPiGetAccess"] - - [0x7001D7A4, "__osPiRelAccess"] - - [0x7001D7D0, "_Litob"] - - [0x7001DA70, "xldtob_sub0"] - - [0x7001DFE0, "_Ldtob"] - - [0x7001E530, "osEPiRawStartDma"] - - [0x7001E610, "__osDevMgrMain"] - - [0x7001E9C0, "__osSumcalc"] - - [0x7001EA1C, "__osIdCheckSum"] - - [0x7001EA84, "__osRepairPackId"] - - [0x7001EE9C, "__osCheckPackId"] - - [0x7001F034, "__osGetId"] - - [0x7001F290, "__osCheckId"] - - [0x7001F38C, "__osPfsRWInode"] - - [0x7001F6AC, "__osPfsSelectBank"] - - [0x7001F720, "__osSiDeviceBusy"] - - [0x7001F750, "guNormalize"] - - [0x7001F7E0, "sqrtf"] - - [0x7001F7F0, "osLeoDiskInit"] - - [0x7001F8E0, "__osSetCompare"] - - [0x7001F8F0, "alFilterNew"] - - [0x7001F910, "_doModFunc"] - - [0x7001F9B8, "_filterBuffer"] - - [0x7001FA70, "_saveBuffer"] - - [0x7001FBF8, "_loadBuffer"] - - [0x7001FD84, "_loadOutputBuffer"] - - [0x7001FFA8, "alFxParamHdl"] - - [0x700201C0, "alFxParam"] - - [0x700201D8, "alFxPull"] - - [0x70020520, "alSeqGetLoc"] - - [0x7002053C, "alSeqSetLoc"] - - [0x70020558, "alSeqGetTicks"] - - [0x70020568, "readVarLen"] - - [0x700205B4, "alSeqNextEvent"] - - [0x70020738, "alSeqNewMarker"] - - [0x70020858, "alSeqSecToTicks:"] - - [0x7002093C, "alSeqTicksToSec"] - - [0x70020990, "__alSeqNextDelta"] - - [0x700209E8, "read32"] - - [0x70020A38, "read16"] - - [0x70020A68, "alSeqNew"] - - [0x70020B40, "alSynSetPriority"] - - [0x70020B50, "lldiv"] - - [0x70020C50, "ldiv"] - - [0x70020CE0, "__osResetGlobalIntMask"] - - [0x70020D40, "osEPiRawWriteIo"] - - - ############################### - #rzsegment.o - #rzsegment.s - #.text - - [0x70200000, "decompress.buildtable"] - - [0x70200654, "decompress.inflate"] - - [0x70200A48, "decompress.type0"] - - [0x70200B9C, "decompress.type1"] - - [0x70200D04, "decompress.type2"] - - [0x70201228, "decompress.table"] - - [0x70201348, "decompress.start"] - - [0x7020141C, "decompress.entry"] - #.data - - [0x70201480, "rarezip.ptrsource"] - - [0x70201484, "rarezip.ptrtarget"] - - [0x70201488, "rarezip.curoffset"] - - [0x7020148C, "rarezip.decompressed_count"] - - [0x70201490, "rarezip.ptrbuffer"] - - [0x70201494, "rarezip.order"] - - [0x702014A8, "rarezip.lbase"] - - [0x702014E8, "rarezip.lextra"] - - [0x70201508, "rarezip.dbase"] - - [0x70201544, "rarezip.dextra"] - - [0x70201564, "rarezip.sample"] - - [0x70201568, "rarezip.bitsinsample"] - - [0x7020156C, "rarezip.masks"] - - [0x70201590, "rarezip.data1"] - - [0x70201594, "rarezip.data2"] - - [0x70201598, "rarezip.data3"] - - - ############################### - #gamesegment.o - #gamesegment.s - #.text - - [0x7F000000, "zero_basic_data"] - - # .s - # .text - - [0x7F0000E0, "init_weapon_animation_groups_maybe"] - - # .text - - [0x7F000110, "reset_counter_rand_body_head"] - - [0x7F0001F0, "sub_CODE_7F0001F0"] - - [0x7F000290, "sub_CODE_7F000290"] - - [0x7F00032C, "sub_CODE_7F00032C"] - - [0x7F00046C, "sub_CODE_7F00046C"] - - [0x7F0004D0, "sub_CODE_7F0004D0"] - - [0x7F000518, "somethingwith_weapon_animation_groups"] - - [0x7F000980, "sub_CODE_7F000980"] - - [0x7F0009A0, "sub_CODE_7F0009A0"] - - # .text - - [0x7F0009D0, "null_init_main_3"] - - # .s - # .text - - [0x7F0009E0, "sub_CODE_7F0009E0"] - - # .s - # .text - - [0x7F000A00, "expand_ani_table_entries"] - - [0x7F000AAC, "alloc_load_expand_ani_table"] - - # .s - # .text - - [0x7F000B60, "sub_CODE_7F000B60"] - - # .s - # .text - - [0x7F000B80, "set_gu_scale"] - - # .s - # .text - - [0x7F000BC0, "null_init_main_2"] - - # .s - # .text - - [0x7F000BD0, "image_related"] - - # .s - # .text - - [0x7F000C70, "alloc_intro_matrices"] - - # .s - # .text - - [0x7F000D20, "init_menus_or_reset"] - - # .s - # .text - - [0x7F000E40, "sub_CODE_7F000E40"] - - [0x7F000EB8, "alloc_init_GUARDdata_entries"] - - [0x7F000F50, "set_new_rand_head_bodies"] - - # .s - # .text - - [0x7F001020, "init_obj_register_difficulty_vals"] - - [0x7F00105C, "alloc_false_GUARDdata_to_exec_global_action"] - - [0x7F001258, "debug_object_load_all_models"] - - [0x7F00140C, "debug_weapon_load_table"] - - # .text - - [0x7F0014B0, "init_sound_effects_registers"] - - [0x7F0014E0, "sub_CODE_7F0014E0"] - - [0x7F0015D0, "alloc_lookup_buffers"] - - [0x7F001750, "reinit_between_menus"] - - [0x7F001910, "sub_CODE_7F001910"] - - [0x7F001928, "sub_CODE_7F001928"] - - [0x7F001940, "sub_CODE_7F001940"] - - [0x7F001958, "write_monitor_ani_control_blocks"] - - [0x7F001B08, "initialize_80071E00_to_80071E78"] - - # .text - - [0x7F001B50, "load_proptype"] - - [0x7F001BD4, "sub_CODE_7F001BD4"] - - [0x7F001D9C, "prepare_load_objects"] - - [0x7F002738, "expand_08_obj_set_guard_MP_weapons"] - - [0x7F00296C, "def_7F002854"] - - [0x7F0029A8, "MP_weapon_expansion_routine"] - - [0x7F002A1C, "jmp_prepare_load_objects"] - - [0x7F002A3C, "sub_CODE_7F002A3C"] - - [0x7F002C58, "expand_type_0D_object_autoturret"] - - [0x7F002E1C, "jmp_prepare_load_objects_0"] - - [0x7F002E3C, "sub_CODE_7F002E3C"] - - [0x7F0030D0, "sub_CODE_7F0030D0"] - - [0x7F00324C, "sub_CODE_7F00324C"] - - [0x7F003480, "sub_CODE_7F003480"] - - [0x7F003BF0, "stage_loading_setup_objparse_cleanupafter"] - - [0x7F004388, "actor_attr_expand"] - - [0x7F0043BC, "actor_expand"] - - [0x7F0043E0, "door_expand"] - - [0x7F004410, "door_scale_expand"] - - [0x7F004434, "item_expand"] - - [0x7F004468, "key_expand"] - - [0x7F00449C, "hat_expand"] - - [0x7F0044D0, "surv_camera_expand"] - - [0x7F004500, "autogun_expand"] - - [0x7F004530, "rack_expand"] - - [0x7F004560, "single_screen_display_expand"] - - [0x7F004590, "multi_screen_display_expand"] - - [0x7F0045C0, "body_armor_expand"] - - [0x7F004614, "type2F_tinted_glass"] - - [0x7F004730, "obj_03_expand"] - - [0x7F004760, "ammo_box_expand"] - - [0x7F004814, "type2D_tank"] - - [0x7F0048A4, "type27_wheeled_vehicle"] - - [0x7F004954, "type28_aircraft"] - - [0x7F0049CC, "tag_expand"] - - [0x7F004A00, "type25_rename"] - - [0x7F004A34, "type23_solo_brief_text"] - - [0x7F004A44, "type2E_viewport_pos"] - - [0x7F004AC4, "type17_objective_expand"] - - [0x7F004AD4, "type20_subobjective_expand"] - - [0x7F004AE4, "type21_subobjective_expand"] - - [0x7F004AF4, "type1E_subobjective_expand"] - - [0x7F004AFC, "other_obj_expand"] - - # .text - - [0x7F004EC0, "something_with_stage_objectives"] - - [0x7F004F88, "set_parent_cur_tag_entry"] - - [0x7F004FA0, "setup_briefing_text_entry_parent"] - - [0x7F004FB8, "add_ptr_to_objective"] - - [0x7F004FF4, "set_parent_cur_obj_enter_room"] - - [0x7F00500C, "set_parent_cur_obj_deposited_in_room"] - - [0x7F005024, "set_parent_cur_obj_photograph"] - - # .text - - [0x7F005040, "something_with_ejected_cartridges"] - - [0x7F0050D0, "init_player_BONDdata_stats"] - - # .text - - [0x7F005450, "sub_CODE_7F005450"] - - # .text - - [0x7F005520, "zero_contents_of_80036070_74"] - - [0x7F005534, "set_contents_of_80036078"] - - [0x7F005540, "sub_CODE_7F005540"] - - [0x7F005624, "sub_CODE_7F005624"] - - [0x7F005710, "set_weapon_model_generated_thrown_object"] - - [0x7F005740, "throwingknife"] - - [0x7F005748, "grenade_launch_round"] - - [0x7F005750, "rocket"] - - [0x7F005758, "grenade"] - - [0x7F005760, "timed_mine"] - - [0x7F005768, "prox_mine"] - - [0x7F005770, "remote_mine"] - - [0x7F005778, "rocket_0"] - - [0x7F005780, "bombcase"] - - [0x7F005788, "plastique"] - - [0x7F005790, "bug"] - - [0x7F005798, "microcamera"] - - [0x7F00579C, "default"] - - [0x7F0057C4, "load_camera_intro_type_values"] - - [0x7F005A7C, "spawn_point"] - - [0x7F005AF0, "weapon"] - - [0x7F005B78, "ammo"] - - [0x7F005BA0, "swirling_intro_cam"] - - [0x7F005C28, "intro_ani"] - - [0x7F005C3C, "cuff_char"] - - [0x7F005C50, "fixed_cam"] - - [0x7F005D14, "watch_time"] - - [0x7F005D8C, "credits"] - - [0x7F005DE0, "def_7F005A74"] - - # .text - - [0x7F0061F0, "sub_CODE_7F0061F0"] - - [0x7F00625C, "alloc_init_1EplusA0_inventroy_entries"] - - [0x7F0062C0, "sub_CODE_7F0062C0"] - - [0x7F00638C, "sets_a_bunch_of_BONDdata_values_to_default"] - - [0x7F0067C0, "sub_CODE_7F0067C0"] - - # .text - - [0x7F006890, "init_path_table_links"] - - # .text - - [0x7F006D90, "alloc_explosion_smoke_casing_scorch_impact_buffers"] - - [0x7F007180, "sub_CODE_7F007180"] - - # .text - - [0x7F007290, "sub_CODE_7F007290"] - - [0x7F0072B0, "sub_CODE_7F0072B0"] - - [0x7F0072F8, "disable_onscreen_cheat_text"] - - # .text - - [0x7F007320, "set_mt_tex_alloc"] - - # .text - - [0x7F0073B0, "sub_CODE_7F0073B0"] - - # .s - # .text - - [0x7F007460, "sub_CODE_7F007460"] - - # .s - # .text - - [0x7F0074D0, "sub_CODE_7F0074D0"] - - # .s - # .text - - [0x7F007500, "sub_CODE_7F007500"] - - [0x7F007590, "sub_CODE_7F007590"] - - # .s - # .text - - [0x7F007700, "sub_CODE_7F007700"] - - # .s - # .text - - [0x7F007770, "sub_CODE_7F007770"] - - # .s - # .text - - [0x7F007800, "sub_CODE_7F007800"] - - # .s - # .text - - [0x7F007920, "sub_CODE_7F007920"] - - # .s - # .text - - [0x7F007970, "sub_CODE_7F007970"] - - # .s - # .text - - [0x7F007980, "sub_CODE_7F007980"] - - # .s - # .text - - [0x7F007A40, "something_with_gunbarrel_and_rareware_logo_matrix_manip"] - - [0x7F007B94, "insert_sight_backdrop_eye_intro"] - - [0x7F007CC8, "sub_CODE_7F007CC8"] - - [0x7F007D8C, "insert_sniper_sight_eye_intro"] - - [0x7F007E70, "sub_CODE_7F007E70"] - - [0x7F007F30, "sub_CODE_7F007F30"] - - [0x7F0082C8, "insert_bond_eye_intro"] - - [0x7F0084C0, "load_display_rare_logo"] - - [0x7F008B58, "sub_CODE_7F008B58"] - - [0x7F008BDC, "retrieve_display_rareware_logo"] - - [0x7F008DD0, "sub_CODE_7F008DD0"] - - [0x7F008DE4, "sub_CODE_7F008DE4"] - - [0x7F008E80, "sub_CODE_7F008E80"] - - [0x7F00920C, "sub_CODE_7F00920C"] - - [0x7F009254, "sub_CODE_7F009254"] - - [0x7F009730, "def_7F00929C"] - - [0x7F009744, "sub_CODE_7F009744"] - - # .s - # .text - - [0x7F009760, "write_text_at_abs_coord"] - - [0x7F009848, "check_if_cheat_available"] - - [0x7F009874, "default_nonmenucheats"] - - [0x7F00987C, "cheat_invincible"] - - [0x7F00989C, "cheat_allguns"] - - [0x7F0098BC, "cheat_noradar"] - - [0x7F0098DC, "cheat_fast"] - - [0x7F0098FC, "cheat_invisible"] - - [0x7F00991C, "cheat_infinite_ammo"] - - [0x7F00993C, "cheat_dk_mode"] - - [0x7F00995C, "cheat_tinybond"] - - [0x7F00997C, "cheat_slow"] - - [0x7F00999C, "cheat_paintball"] - - [0x7F0099BC, "cheat_silverpp7"] - - [0x7F0099DC, "cheat_goldpp7"] - - [0x7F0099FC, "cheat_enemyrockets"] - - [0x7F009A1C, "cheat_2xrocket"] - - [0x7F009A3C, "cheat_2xgrenadelauncher"] - - [0x7F009A5C, "cheat_2xrcp90"] - - [0x7F009A7C, "cheat_2xthrowingknife"] - - [0x7F009A9C, "cheat_2xhuntingknife"] - - [0x7F009ABC, "cheat_2xlaser"] - - [0x7F009ADC, "cheat_turbo"] - - [0x7F009AFC, "cheat_unlockcradle"] - - [0x7F009B10, "cheat_unlockaztec"] - - [0x7F009B24, "cheat_unlockegypt"] - - [0x7F009B38, "def_7F00986C"] - - [0x7F009B50, "getplayerfavoredweapon"] - - [0x7F009B84, "menu_control_stick_tracking"] - - [0x7F009F08, "load_draw_selected_icon_folder_select"] - - [0x7F00A080, "add_tab1_start"] - - [0x7F00A1E4, "isontab1"] - - [0x7F00A238, "add_tab3_previous"] - - [0x7F00A39C, "isontab3"] - - [0x7F00A3F0, "set_cursor_pos_tab2"] - - [0x7F00A414, "add_tab2_next"] - - [0x7F00A578, "isontab2"] - - [0x7F00A5E8, "init_menu00_legalscreen"] - - [0x7F00A6B0, "update_menu00_legalscreen"] - - [0x7F00A6DC, "interface_menu00_legalscreen"] - - [0x7F00A7E4, "display_aligned_white_text_to_screen"] - - [0x7F00A8E0, "constructor_menu00_legalscreen"] - - [0x7F00AAEC, "reset_menutimer"] - - [0x7F00AAF8, "sub_CODE_7F00AAF8"] - - [0x7F00AB00, "interface_menu17_switchscreens"] - - [0x7F00ABA8, "constructor_menu17_switchscreens"] - - [0x7F00ABC8, "init_menu01_nintendo"] - - [0x7F00ACA4, "update_menu01_nintendo"] - - [0x7F00ACC8, "interface_menu01_nintendo"] - - [0x7F00AD98, "constructor_menu01_nintendo"] - - [0x7F00B064, "init_menu02_rarelogo"] - - [0x7F00B0A4, "update_menu02_rareware"] - - [0x7F00B0AC, "interface_menu02_rareware"] - - [0x7F00B134, "constructor_menu02_rareware"] - - [0x7F00B154, "init_menu03_eyeintro"] - - [0x7F00B190, "update_menu_03_eye"] - - [0x7F00B1B0, "interface_menu03_eye"] - - [0x7F00B238, "constructor_menu03_eye"] - - [0x7F00B258, "init_menu04_goldeneyelogo"] - - [0x7F00B304, "update_menu04_goldeneye"] - - [0x7F00B330, "interface_menu04_goldeneyelogo"] - - [0x7F00B47C, "constructor_menu04_goldeneyelogo"] - - [0x7F00B724, "disable_all_switches"] - - [0x7F00B7C0, "set_item_visibility_in_objinstance"] - - [0x7F00B808, "select_load_bond_picture"] - - [0x7F00B8AC, "load_walletbond"] - - [0x7F00B990, "sub_CODE_7F00B990"] - - [0x7F00B9E8, "init_menu05_fileselect"] - - [0x7F00BAE0, "update_menu05_filesel"] - - [0x7F00BB1C, "get_chapter_briefing_entry"] - - [0x7F00BB68, "toggle_deletion_menu_for_folder"] - - [0x7F00BBCC, "interface_menu05_fileselect"] - - [0x7F00C384, "get_ptr_difficulty_name"] - - [0x7F00C408, "constructor_menu05_fileselect"] - - [0x7F00D250, "init_menu06_modeselect"] - - [0x7F00D290, "update_menu06_modesel"] - - [0x7F00D298, "interface_menu06_modesel"] - - [0x7F00D5E8, "sub_CODE_7F00D5E8"] - - [0x7F00D7FC, "set_menu_cursor_pos_to_setting"] - - [0x7F00D828, "constructor_menu06_modesel"] - - [0x7F00DCC0, "pull_and_display_text_for_folder_a0"] - - [0x7F00DD0C, "check_if_stage_completed_on_difficulty"] - - [0x7F00DD60, "get_highest_unlocked_difficulty_for_level"] - - [0x7F00DE50, "init_menu07_missionselect"] - - [0x7F00DEB0, "update_menu07_missionsel"] - - [0x7F00DEB8, "interface_menu07_missionsel"] - - [0x7F00E3E0, "set_cursor_to_stage_solo"] - - [0x7F00E458, "constructor_menu07_missionsel"] - - [0x7F00E780, "init_menu08_difficultyselect"] - - [0x7F00E7B8, "update_menu08_difficulty"] - - [0x7F00E7C0, "interface_menu08_difficulty"] - - [0x7F00EABC, "print_current_solo_briefing_stage_name"] - - [0x7F00ED64, "set_cursor_pos_difficulty"] - - [0x7F00ED98, "constructor_menu08_difficulty"] - - [0x7F00F300, "init_menu09_007difficultyselect"] - - [0x7F00F36C, "update_menu09_007options"] - - [0x7F00F374, "interface_menu09_007options"] - - [0x7F00F798, "constructor_menu09_007options"] - - [0x7F0100BC, "get_player_control_style"] - - [0x7F0100D0, "check_if_mp_stage_unlocked"] - - [0x7F010170, "select_game_length"] - - [0x7F0101D8, "copy_aim_settings_to_playerdata"] - - [0x7F01023C, "advance_aim_settings_selection"] - - [0x7F010280, "unlock_all_mp_chars"] - - [0x7F010290, "get_selected_num_players"] - - [0x7F0102BC, "get_player_mp_char_head"] - - [0x7F01030C, "get_player_mp_char_gender"] - - [0x7F01035C, "get_player_mp_char_body"] - - [0x7F0103AC, "get_player_mp_handicap"] - - [0x7F0103D0, "get_player_mp_char_height"] - - [0x7F010420, "get_time_div_selected_length"] - - [0x7F010444, "get_score_div_selected_length"] - - [0x7F010468, "reset_mp_options_for_scenario"] - - [0x7F0105F8, "def_7F0104D4"] - - [0x7F010608, "init_mp_options_for_scenario"] - - [0x7F01073C, "init_menu0E_mpoptions"] - - [0x7F010840, "update_menu0E_mpoptions"] - - [0x7F010848, "interface_menu0E_mpoptions"] - - [0x7F010F10, "constructor_menu0E_mpoptions"] - - [0x7F011BD8, "get_players_who_have_selected_mp_char"] - - [0x7F011C3C, "init_menu0f_mpcharsel"] - - [0x7F011ECC, "update_menu0F_mpcharsel"] - - [0x7F011ED4, "interface_menu0F_mpcharsel"] - - [0x7F0122A8, "sub_CODE_7F0122A8"] - - [0x7F01231C, "sub_CODE_7F01231C"] - - [0x7F012794, "constructor_menu0F_mpcharsel"] - - [0x7F012E30, "init_menu10_mphandicap"] - - [0x7F012EBC, "update_menu10_mphandicap"] - - [0x7F012EC4, "interface_menu10_mphandicap"] - - [0x7F01317C, "constructor_menu10_mphandicap"] - - [0x7F013574, "init_menu11_mpcontrol"] - - [0x7F013600, "update_menu11_mpcontrols"] - - [0x7F013608, "interface_menu11_mpcontrols"] - - [0x7F013980, "constructor_menu11_mpcontrol"] - - [0x7F013D78, "init_menu12_mpstage"] - - [0x7F013DCC, "update_menu12_mpstage"] - - [0x7F013DD4, "interface_menu12_mpstage"] - - [0x7F014050, "constructor_menu12_mpstage"] - - [0x7F014758, "get_scenario"] - - [0x7F014764, "init_menu13_mpscenariosel"] - - [0x7F0147B0, "update_menu13_mpscenario"] - - [0x7F0147B8, "interface_menu13_mpscenario"] - - [0x7F014A48, "constructor_menu13_mpscenario"] - - [0x7F014C88, "get_players_team_or_scenario_item_flag"] - - [0x7F014CA4, "set_players_team_or_scenario_item_flag"] - - [0x7F014CC0, "init_menu14_mpteamsel"] - - [0x7F014D40, "update_menu14_mpteams"] - - [0x7F014D48, "interface_menu14_mpteams"] - - [0x7F015138, "constructor_menu14_mpteams"] - - [0x7F015510, "set_briefing_page"] - - [0x7F015520, "load_briefing_text_for_stage"] - - [0x7F0155F4, "init_menu0A_briefing"] - - [0x7F015640, "update_menu0A_briefing"] - - [0x7F01569C, "interface_menu0A_briefing"] - - [0x7F015A08, "print_objectives_and_status_to_menu"] - - [0x7F015D74, "constructor_menu0A_briefing"] - - [0x7F015E60, "def_7F015E0C"] - - [0x7F016064, "init_menu0B_runstage"] - - [0x7F016094, "init_menu0C_missionfailed"] - - [0x7F016108, "update_menu0C_missionfailed"] - - [0x7F016110, "interface_menu0C_missionfailed"] - - [0x7F01631C, "sub_CODE_7F01631C"] - - [0x7F0163EC, "constructor_menu0C_missionfailed"] - - [0x7F01667C, "init_menu0D_missioncomplete"] - - [0x7F0166D0, "update_menu0D_missioncomplete"] - - [0x7F0166D8, "interface_menu0D_missioncomplete"] - - [0x7F016A08, "constructor_menu0D_missioncomplete"] - - [0x7F017B50, "init_menu15_cheat"] - - [0x7F017BF4, "update_menu15_cheat"] - - [0x7F017C88, "interface_menu15_cheat"] - - [0x7F017F5C, "constructor_menu15_cheat"] - - [0x7F018438, "init_menu16_nocontroller"] - - [0x7F018440, "update_menu16_nocontrollers"] - - [0x7F018448, "interface_menu16_nocontrollers"] - - [0x7F018450, "constructor_menu16_nocontrollers"] - - [0x7F018670, "do_extended_cast_display"] - - [0x7F01869C, "init_menu18_displaycast"] - - [0x7F01881C, "set_body_default"] - - [0x7F018830, "set_body_jungle"] - - [0x7F018844, "set_body_snowsuit"] - - [0x7F018858, "set_body_5"] - - [0x7F0188C0, "set_body_mp_choice_maybe"] - - [0x7F018F18, "update_menu18_displaycast"] - - [0x7F018F60, "interface_menu18_displaycast"] - - [0x7F019328, "constructor_menu18_displaycast"] - - [0x7F01A39C, "init_menu19_spectrum"] - - [0x7F01A480, "update_menu19_spectrum"] - - [0x7F01A488, "interface_menu19_spectrum"] - - [0x7F01A4E0, "constructor_menu19_spectrum"] - - [0x7F01A5D4, "set_menu_to_mode"] - - [0x7F01A610, "get_currentmenu"] - - [0x7F01A61C, "menu_init"] - - [0x7F01A7D4, "menu_legal_screen_update"] - - [0x7F01A7F0, "menu_nintendo_logo_update"] - - [0x7F01A80C, "menu_rareware_logo_update"] - - [0x7F01A828, "menu_eye_intro_update"] - - [0x7F01A844, "menu_goldeneye_logo_update"] - - [0x7F01A860, "menu_file_select_update"] - - [0x7F01A87C, "menu_mode_select_update"] - - [0x7F01A898, "menu_mission_select_update"] - - [0x7F01A8B4, "menu_difficulty_update"] - - [0x7F01A8D0, "menu_007_options_update"] - - [0x7F01A8EC, "menu_briefing_update"] - - [0x7F01A908, "menu_mission_failed_update"] - - [0x7F01A924, "menu_mission_complete_update"] - - [0x7F01A940, "menu_mp_options_update"] - - [0x7F01A95C, "menu_mp_scenario_select_update"] - - [0x7F01A978, "menu_mp_char_select_update"] - - [0x7F01A994, "menu_mp_teams_update"] - - [0x7F01A9B0, "menu_mp_handicap_update"] - - [0x7F01A9CC, "menu_mp_control_style_update"] - - [0x7F01A9E8, "menu_mp_stage_select_update"] - - [0x7F01AA04, "menu_cheat_update"] - - [0x7F01AA20, "menu_no_controllers_update"] - - [0x7F01AA3C, "menu_display_cast_update"] - - [0x7F01AA58, "menu_spectrum_emu_update"] - - [0x7F01AA70, "menu_switch_screen_update"] - - [0x7F01AAC8, "menu_legal_screen_init"] - - [0x7F01AADC, "menu_nintendo_logo_init"] - - [0x7F01AAF0, "menu_rareware_logo_init"] - - [0x7F01AB04, "menu_eye_intro_init"] - - [0x7F01AB18, "menu_goldeneye_logo_init"] - - [0x7F01AB2C, "menu_file_select_init"] - - [0x7F01AB40, "menu_mode_select_init"] - - [0x7F01AB54, "menu_mission_select_init"] - - [0x7F01AB68, "menu_difficulty_init"] - - [0x7F01AB7C, "menu_007_options_init"] - - [0x7F01AB90, "menu_briefing_init"] - - [0x7F01ABA4, "menu_runstage_init"] - - [0x7F01ABB8, "menu_mission_failed_init"] - - [0x7F01ABCC, "menu_mission_complete_init"] - - [0x7F01ABE0, "menu_mp_options_init"] - - [0x7F01ABF4, "menu_mp_scenario_select_init"] - - [0x7F01AC08, "menu_mp_char_select_init"] - - [0x7F01AC1C, "menu_mp_teams_init"] - - [0x7F01AC30, "menu_mp_handicap_init"] - - [0x7F01AC44, "menu_mp_control_style_init"] - - [0x7F01AC58, "menu_mp_stage_select_init"] - - [0x7F01AC6C, "menu_cheat_init"] - - [0x7F01AC80, "menu_no_controllers_init"] - - [0x7F01AC94, "menu_display_cast_init"] - - [0x7F01ACA8, "menu_spectrum_emu_init"] - - [0x7F01ACB8, "menu_switch_screens_init"] - - [0x7F01ACDC, "menu00_legal_interface"] - - [0x7F01ACEC, "menu17_switchscreen_interface"] - - [0x7F01ACFC, "menu01_nintendo_interface"] - - [0x7F01AD0C, "menu02_rareware_interface"] - - [0x7F01AD1C, "menu03_eye_interface"] - - [0x7F01AD2C, "menu04_goldeneye_interface"] - - [0x7F01AD3C, "menu05_filesel_interface"] - - [0x7F01AD4C, "menu06_modesel_interface"] - - [0x7F01AD5C, "menu07_missionsel_interface"] - - [0x7F01AD6C, "menu08_difficulty_interface"] - - [0x7F01AD7C, "menu09_007options_interface"] - - [0x7F01AD8C, "menu0A_briefing_interface"] - - [0x7F01AD9C, "menu0C_missionfailed_interface"] - - [0x7F01ADAC, "menu0D_missioncomplete_interface"] - - [0x7F01ADBC, "menu0E_mpoptions_interface"] - - [0x7F01ADCC, "menu13_mpscenario_interface"] - - [0x7F01ADDC, "menu0F_mpcharsel_interface"] - - [0x7F01ADEC, "menu14_mpteams_interface"] - - [0x7F01ADFC, "menu10_mphandicap_interface"] - - [0x7F01AE0C, "menu11_mpcontrol_interface"] - - [0x7F01AE1C, "menu12_mpstage_interface"] - - [0x7F01AE2C, "menu15_cheat_interface"] - - [0x7F01AE3C, "menu16_nocontrollers_interface"] - - [0x7F01AE4C, "menu18_displaycast_interface"] - - [0x7F01AE5C, "menu19_spectrum_interface"] - - [0x7F01AE6C, "menu0B_runstage_interface"] - - [0x7F01AEFC, "menu_jump_constructor_handler"] - - [0x7F01AF34, "menu00_legal_constructor"] - - [0x7F01AF44, "menu17_switchscreens_constructor"] - - [0x7F01AF54, "menu01_nintendo_constructor"] - - [0x7F01AF64, "menu02_rareware_constructor"] - - [0x7F01AF74, "menu03_eyeintro_constructor"] - - [0x7F01AF84, "menu04_goldeneye_constructor"] - - [0x7F01AF94, "menu05_fileselect_constructor"] - - [0x7F01AFA4, "menu06_modesel_constructor"] - - [0x7F01AFB4, "menu07_missionsel_constructor"] - - [0x7F01AFC4, "menu08_difficulty_constructor"] - - [0x7F01AFD4, "menu09_007options_constructor"] - - [0x7F01AFE4, "menu0A_briefing_constructor"] - - [0x7F01AFF4, "menu0C_missionfailed_constructor"] - - [0x7F01B004, "menu0D_missioncomplete_constructor"] - - [0x7F01B014, "menu0E_mpoptions_constructor"] - - [0x7F01B024, "menu13_mpscenario_constructor"] - - [0x7F01B034, "menu0F_mpcharsel_constructor"] - - [0x7F01B044, "menu14_mpteams_constructor"] - - [0x7F01B054, "menu10_mphandicap_constructor"] - - [0x7F01B064, "menu11_mpcontrol_constructor"] - - [0x7F01B074, "menu12_mpstage_constructor"] - - [0x7F01B084, "menu15_cheat_constructor"] - - [0x7F01B094, "menu16_nocontrollers_constructor"] - - [0x7F01B0A4, "menu18_displaycast_constructor"] - - [0x7F01B0B4, "menu19_spectrum_constructor"] - - [0x7F01B0C0, "menu0B_runstage_constructor"] - - # .s - # .text - - [0x7F01B0E0, "sub_CODE_7F01B0E0"] - - [0x7F01B134, "sub_CODE_7F01B134"] - - [0x7F01B1C8, "sub_CODE_7F01B1C8"] - - [0x7F01B230, "sub_CODE_7F01B230"] - - # .s - # .text - - [0x7F01B240, "sub_CODE_7F01B240"] - - [0x7F01B6E0, "sub_CODE_7F01B6E0"] - - # .s - # .text - - [0x7F01BAE0, "sub_CODE_7F01BAE0"] - - [0x7F01BFF8, "sub_CODE_7F01BFF8"] - - [0x7F01C0D0, "insert_imageDL"] - - [0x7F01C1A4, "sub_CODE_7F01C1A4"] - - [0x7F01C284, "die_blood_image_routine"] - - [0x7F01C400, "sub_CODE_7F01C400"] - - [0x7F01C670, "sub_CODE_7F01C670"] - - [0x7F01CA18, "sub_CODE_7F01CA18"] - - # .s - # .text - - [0x7F01CAE0, "decrypt_bleeding_animation_data"] - - [0x7F01CC94, "sub_CODE_7F01CC94"] - - [0x7F01CCEC, "sub_CODE_7F01CCEC"] - - [0x7F01CEEC, "sub_CODE_7F01CEEC"] - - [0x7F01D02C, "sub_CODE_7F01D02C"] - - [0x7F01D16C, "sub_CODE_7F01D16C"] - - [0x7F01D1C0, "sub_CODE_7F01D1C0"] - - # .s - # .text - - [0x7F01D2B0, "get_007_reaction_speed"] - - [0x7F01D2E8, "get_007_health_mod"] - - [0x7F01D324, "get_007_damage_mod"] - - [0x7F01D360, "get_007_accuracy_mod"] - - [0x7F01D39C, "end_of_mission_briefing"] - - [0x7F01D500, "sub_CODE_7F01D500"] - - [0x7F01D524, "sub_CODE_7F01D524"] - - [0x7F01D548, "sub_CODE_7F01D548"] - - [0x7F01D56C, "getSelectedFolderBond"] - - [0x7F01D590, "set_selected_folder_num"] - - [0x7F01D59C, "set_selected_difficulty"] - - [0x7F01D5EC, "set_solo_and_ptr_briefing"] - - [0x7F01D61C, "sub_CODE_7F01D61C"] - - [0x7F01D644, "sub_CODE_7F01D644"] - - [0x7F01D680, "store_favorite_weapon_current_player"] - - [0x7F01D6C0, "sub_CODE_7F01D6C0"] - - [0x7F01D6E0, "sub_CODE_7F01D6E0"] - - [0x7F01D758, "sub_CODE_7F01D758"] - - [0x7F01D7A0, "sub_CODE_7F01D7A0"] - - [0x7F01D840, "sub_CODE_7F01D840"] - - [0x7F01D8C8, "get_foldernum_of_eeprom"] - - [0x7F01D8D8, "set_eeprom_to_folder_num"] - - [0x7F01D8F4, "set_eeprom_flag_0x18"] - - [0x7F01D904, "reset_eeprom_flag_0x18"] - - [0x7F01D924, "get_selected_bond"] - - [0x7F01D934, "set_selected_bond"] - - [0x7F01D954, "check_if_eeprom_flag_set_0x80"] - - [0x7F01D964, "toggle_eeprom_flag_set_0x80"] - - [0x7F01D990, "get_eeprom_stage_complete_time_for_difficulty"] - - [0x7F01DAE4, "sub_CODE_7F01DAE4"] - - [0x7F01DC60, "get_eeprom_stage_completed_for_difficulty"] - - [0x7F01DCB0, "sub_CODE_7F01DCB0"] - - [0x7F01DD20, "check_if_cheat_unlocked"] - - [0x7F01DD74, "sub_CODE_7F01DD74"] - - [0x7F01DDC4, "get_save_folder_ptr"] - - [0x7F01DE50, "sub_CODE_7F01DE50"] - - [0x7F01DEB4, "sub_CODE_7F01DEB4"] - - [0x7F01DF90, "sub_CODE_7F01DF90"] - - [0x7F01E28C, "check_if_valid_folder_num"] - - [0x7F01E2C0, "check_unlock_complete_for_eeprom_stagecomplete_difficulty"] - - [0x7F01E504, "sub_CODE_7F01E504"] - - [0x7F01E5F8, "unlock_stage_in_folder_on_difficulty"] - - [0x7F01E760, "sub_CODE_7F01E760"] - - [0x7F01E874, "get_highest_stage_difficulty_completed_in_folder"] - - [0x7F01E914, "check_egypt_completed_in_folder"] - - [0x7F01E998, "check_egypt_completed_any_folder"] - - [0x7F01E9F4, "check_cradle_completed_in_folder"] - - [0x7F01EA5C, "check_aztec_completed_in_folder_secret_00"] - - [0x7F01EAA8, "check_egypt_completed_in_folder_00"] - - [0x7F01EAD0, "check_cradle_completed_any_folder"] - - [0x7F01EB20, "check_aztec_completed_any_folder_secret_00"] - - [0x7F01EB70, "check_egypt_completed_any_folder_00"] - - [0x7F01EBC0, "removed_would_have_returned_bond_for_folder_num"] - - [0x7F01EBCC, "set_selected_bond_to_folder"] - - [0x7F01EBF4, "sub_CODE_7F01EBF4"] - - [0x7F01EBFC, "sub_CODE_7F01EBFC"] - - [0x7F01EC04, "delete_eeprom_folder"] - - [0x7F01ED10, "sub_CODE_7F01ED10"] - - [0x7F01EDA0, "sub_CODE_7F01EDA0"] - - [0x7F01EF10, "update_eeprom_to_current_solo_watch_settings"] - - [0x7F01F030, "get_screen_ratio_settings_for_mpgame_from_folder"] - - [0x7F01F184, "delete_update_eeprom_file"] - - [0x7F01F29C, "copy_eeprom_to_stack_set_folder_num"] - - [0x7F01F394, "copy_eeprom_from_to"] - - [0x7F01F45C, "copy_eepromfile_a0_from_a1_to_buffer"] - - [0x7F01F4A0, "check_for_007_mode_unlocked"] - - [0x7F01F530, "get_numguards"] - - [0x7F01F53C, "get_ptr_allocated_block_for_vertices"] - - [0x7F01F55C, "set_show_patrols_flag"] - - [0x7F01F568, "get_show_patrols_flag"] - - [0x7F01F574, "sub_CODE_7F01F574"] - - [0x7F01F5E8, "set_or_unset_GUARDdata_flag"] - - [0x7F01F614, "sub_CODE_7F01F614"] - - [0x7F01FC10, "sub_CODE_7F01FC10"] - - [0x7F01FFC0, "get_next_available_guardID"] - - [0x7F020018, "sub_CODE_7F020018"] - - [0x7F02004C, "sub_CODE_7F02004C"] - - [0x7F020054, "sub_CODE_7F020054"] - - [0x7F020090, "sub_CODE_7F020090"] - - [0x7F0200BC, "init_GUARDdata_with_set_values"] - - [0x7F0203B8, "replace_GUARDdata_with_actual_values"] - - [0x7F020414, "disable_sounds_attached_to_player_then_something"] - - [0x7F020540, "animation_speed_related"] - - [0x7F0205E4, "get_animation_rate"] - - [0x7F0205F0, "sub_CODE_7F0205F0"] - - [0x7F0206D4, "sub_CODE_7F0206D4"] - - [0x7F020794, "sub_CODE_7F020794"] - - [0x7F02083C, "sub_CODE_7F02083C"] - - [0x7F020D94, "sub_CODE_7F020D94"] - - [0x7F020E40, "sub_CODE_7F020E40"] - - [0x7F020EF0, "sub_CODE_7F020EF0"] - - [0x7F021B20, "sub_CODE_7F021B20"] - - [0x7F021BB4, "sub_CODE_7F021BB4"] - - [0x7F021BD8, "sub_CODE_7F021BD8"] - - [0x7F021BFC, "sub_CODE_7F021BFC"] - - [0x7F022078, "sub_CODE_7F022078"] - - [0x7F0221DC, "sub_CODE_7F0221DC"] - - [0x7F022648, "sub_CODE_7F022648"] - - [0x7F022980, "sub_CODE_7F022980"] - - [0x7F022E1C, "sub_CODE_7F022E1C"] - - [0x7F022E24, "sub_CODE_7F022E24"] - - [0x7F022E30, "sub_CODE_7F022E30"] - - [0x7F022E90, "sub_CODE_7F022E90"] - - [0x7F022EC8, "sub_CODE_7F022EC8"] - - [0x7F022EE0, "sub_CODE_7F022EE0"] - - [0x7F022EEC, "sub_CODE_7F022EEC"] - - [0x7F022FC8, "check_if_guardnum_loaded_get_ptr_GUARDdata"] - - [0x7F02302C, "something_with_weaponpos_of_guarddata_hand"] - - [0x7F02303C, "is_weapon_in_guarddata_hand"] - - [0x7F02308C, "sub_CODE_7F02308C"] - - [0x7F023160, "sub_CODE_7F023160"] - - [0x7F023188, "sub_CODE_7F023188"] - - [0x7F023194, "sub_CODE_7F023194"] - - [0x7F023290, "load_body_head_if_not_loaded"] - - [0x7F0232E8, "maybe_load_models_for_guards"] - - [0x7F0234A8, "sub_CODE_7F0234A8"] - - [0x7F0234D0, "retrieve_header_for_body_and_head"] - - [0x7F023590, "get_current_random_body"] - - [0x7F0235AC, "select_psuedorandom_heads"] - - [0x7F023660, "get_random_head"] - - [0x7F02370C, "expand_09_characters"] - - [0x7F023910, "check_if_item_held_like_pistol"] - - [0x7F023948, "sub_CODE_7F023948"] - - [0x7F023A94, "sub_CODE_7F023A94"] - - [0x7F023B5C, "sub_CODE_7F023B5C"] - - [0x7F023BC0, "sub_CODE_7F023BC0"] - - [0x7F023C54, "sub_CODE_7F023C54"] - - [0x7F023CB8, "sub_CODE_7F023CB8"] - - [0x7F023E14, "sub_CODE_7F023E14"] - - [0x7F023E48, "sub_CODE_7F023E48"] - - [0x7F023E74, "actor_kneel"] - - [0x7F023FE4, "perform_animation_for_actor"] - - [0x7F024150, "sub_CODE_7F024150"] - - [0x7F024238, "throw_weapon_in_guard_hand"] - - [0x7F024334, "sub_CODE_7F024334"] - - [0x7F024418, "actor_shuffle_feet"] - - [0x7F0244AC, "actor_fawn_on_shoulder"] - - [0x7F024548, "actor_look_flustered"] - - [0x7F024648, "actor_throw_weapon_surrender"] - - [0x7F0247B8, "actor_fade_away"] - - [0x7F024800, "sub_CODE_7F024800"] - - [0x7F024A84, "sub_CODE_7F024A84"] - - [0x7F024CF8, "sub_CODE_7F024CF8"] - - [0x7F024F00, "sub_CODE_7F024F00"] - - [0x7F024F8C, "sub_CODE_7F024F8C"] - - [0x7F0250BC, "sub_CODE_7F0250BC"] - - [0x7F02516C, "sub_CODE_7F02516C"] - - [0x7F025560, "sub_CODE_7F025560"] - - [0x7F0256F0, "sub_CODE_7F0256F0"] - - [0x7F02587C, "sub_CODE_7F02587C"] - - [0x7F025C40, "sub_CODE_7F025C40"] - - [0x7F026130, "sub_CODE_7F026130"] - - [0x7F02624C, "sub_CODE_7F02624C"] - - [0x7F026298, "sub_CODE_7F026298"] - - [0x7F026364, "sub_CODE_7F026364"] - - [0x7F0264B0, "sub_CODE_7F0264B0"] - - [0x7F026508, "triggered_on_shot_hit"] - - [0x7F026F30, "sub_CODE_7F026F30"] - - [0x7F027060, "play_sound_for_shot_actor"] - - [0x7F02727C, "handles_shot_actors"] - - [0x7F027804, "sub_CODE_7F027804"] - - [0x7F027BF4, "get_ptrpreset_in_table_matching_tile"] - - [0x7F027C60, "check_if_any_path_preset_lies_on_tile"] - - [0x7F027C84, "sub_CODE_7F027C84"] - - [0x7F027CD4, "sub_CODE_7F027CD4"] - - [0x7F027DB0, "sub_CODE_7F027DB0"] - - [0x7F027E70, "sub_CODE_7F027E70"] - - [0x7F027E90, "sub_CODE_7F027E90"] - - [0x7F027F20, "sub_CODE_7F027F20"] - - [0x7F027FA8, "sub_CODE_7F027FA8"] - - [0x7F028144, "sub_CODE_7F028144"] - - [0x7F0281F4, "sub_CODE_7F0281F4"] - - [0x7F0281FC, "sub_CODE_7F0281FC"] - - [0x7F02828C, "sub_CODE_7F02828C"] - - [0x7F0282E0, "sub_CODE_7F0282E0"] - - [0x7F028348, "sub_CODE_7F028348"] - - [0x7F0283FC, "sub_CODE_7F0283FC"] - - [0x7F028474, "sub_CODE_7F028474"] - - [0x7F028494, "sub_CODE_7F028494"] - - [0x7F0284DC, "sub_CODE_7F0284DC"] - - [0x7F028510, "sub_CODE_7F028510"] - - [0x7F028600, "sub_CODE_7F028600"] - - [0x7F028894, "sub_CODE_7F028894"] - - [0x7F028A5C, "get_sound_at_range"] - - [0x7F028DA0, "play_hit_soundeffect_and_proper_volume"] - - [0x7F028DDC, "plot_course_for_actor"] - - [0x7F028FAC, "sub_CODE_7F028FAC"] - - [0x7F0290F8, "set_actor_on_path"] - - [0x7F029298, "update_GUARDdata_timer_to_current"] - - [0x7F0292A8, "sub_CODE_7F0292A8"] - - [0x7F0294BC, "sub_CODE_7F0294BC"] - - [0x7F0295D0, "check_if_position_in_same_room"] - - [0x7F02969C, "sub_CODE_7F02969C"] - - [0x7F029760, "sub_CODE_7F029760"] - - [0x7F02982C, "sub_CODE_7F02982C"] - - [0x7F029A94, "sub_CODE_7F029A94"] - - [0x7F029AF0, "sub_CODE_7F029AF0"] - - [0x7F029BB0, "sub_CODE_7F029BB0"] - - [0x7F029C00, "sub_CODE_7F029C00"] - - [0x7F029C5C, "check_if_actor_stationary"] - - [0x7F029D70, "sub_CODE_7F029D70"] - - [0x7F02A044, "sub_CODE_7F02A044"] - - [0x7F02A0EC, "sub_CODE_7F02A0EC"] - - [0x7F02A15C, "sub_CODE_7F02A15C"] - - [0x7F02A1E8, "sub_CODE_7F02A1E8"] - - [0x7F02A258, "true_if_actor_dying_fading_limping_shot"] - - [0x7F02A2A4, "true_if_actor_dying_fading"] - - [0x7F02A2C8, "actor_steps_sideways"] - - [0x7F02A428, "actor_hops_sideways"] - - [0x7F02A588, "actor_runs_sideways"] - - [0x7F02A704, "actor_walks_and_fires"] - - [0x7F02A7F8, "actor_runs_and_fires"] - - [0x7F02A8EC, "actor_rolls_fires_crouched"] - - [0x7F02AA1C, "actor_aim_at_actor"] - - [0x7F02AA88, "actor_kneel_aim_at_actor"] - - [0x7F02AAF4, "sub_CODE_7F02AAF4"] - - [0x7F02AB44, "check_set_actor_standing_still"] - - [0x7F02ABB4, "actor_moves_to_preset_at_speed"] - - [0x7F02AD54, "if_actor_able_set_on_path"] - - [0x7F02AD98, "sub_CODE_7F02AD98"] - - [0x7F02B4E0, "actor_reset_sleep"] - - [0x7F02B4E8, "sub_CODE_7F02B4E8"] - - [0x7F02B638, "sub_CODE_7F02B638"] - - [0x7F02B774, "manage_guard_fade"] - - [0x7F02B800, "sub_CODE_7F02B800"] - - [0x7F02B9A4, "guard_body_hit_sfx"] - - [0x7F02BC80, "sub_CODE_7F02BC80"] - - [0x7F02BD20, "sub_CODE_7F02BD20"] - - [0x7F02BDA4, "sub_CODE_7F02BDA4"] - - [0x7F02BE00, "sub_CODE_7F02BE00"] - - [0x7F02BE58, "sub_CODE_7F02BE58"] - - [0x7F02BEA8, "sub_CODE_7F02BEA8"] - - [0x7F02BF24, "sub_CODE_7F02BF24"] - - [0x7F02BFE4, "sub_CODE_7F02BFE4"] - - [0x7F02C190, "sub_CODE_7F02C190"] - - [0x7F02C27C, "sub_CODE_7F02C27C"] - - [0x7F02C2B0, "sub_CODE_7F02C2B0"] - - [0x7F02C4C0, "sub_CODE_7F02C4C0"] - - [0x7F02D048, "sub_CODE_7F02D048"] - - [0x7F02D0F8, "sub_CODE_7F02D0F8"] - - [0x7F02D118, "sub_CODE_7F02D118"] - - [0x7F02D148, "sub_CODE_7F02D148"] - - [0x7F02D184, "sub_CODE_7F02D184"] - - [0x7F02D1C4, "sub_CODE_7F02D1C4"] - - [0x7F02D244, "sub_CODE_7F02D244"] - - [0x7F02D2E4, "sub_CODE_7F02D2E4"] - - [0x7F02D630, "sub_CODE_7F02D630"] - - [0x7F02D734, "sub_CODE_7F02D734"] - - [0x7F02E1D4, "weapon_guard_fires_bullet_projectile"] - - [0x7F02E1E0, "weapon_guard_fires_bullet_no_projectile"] - - [0x7F02E26C, "sub_CODE_7F02E26C"] - - [0x7F02E2E0, "sub_CODE_7F02E2E0"] - - [0x7F02E3B8, "sub_CODE_7F02E3B8"] - - [0x7F02E4C0, "sub_CODE_7F02E4C0"] - - [0x7F02EBFC, "sub_CODE_7F02EBFC"] - - [0x7F02EEE0, "sub_CODE_7F02EEE0"] - - [0x7F02F3F8, "sub_CODE_7F02F3F8"] - - [0x7F02F5A4, "sub_CODE_7F02F5A4"] - - [0x7F02F688, "sub_CODE_7F02F688"] - - [0x7F02F690, "sub_CODE_7F02F690"] - - [0x7F02F888, "sub_CODE_7F02F888"] - - [0x7F02FC34, "sub_CODE_7F02FC34"] - - [0x7F02FD50, "sub_CODE_7F02FD50"] - - [0x7F02FE78, "sub_CODE_7F02FE78"] - - [0x7F030128, "sub_CODE_7F030128"] - - [0x7F0301FC, "sub_CODE_7F0301FC"] - - [0x7F0304AC, "sub_CODE_7F0304AC"] - - [0x7F0305E0, "sub_CODE_7F0305E0"] - - [0x7F03074C, "sub_CODE_7F03074C"] - - [0x7F03081C, "sub_CODE_7F03081C"] - - [0x7F030D70, "sub_CODE_7F030D70"] - - [0x7F03130C, "sub_CODE_7F03130C"] - - [0x7F0315A4, "sub_CODE_7F0315A4"] - - [0x7F032088, "sub_CODE_7F032088"] - - [0x7F032548, "sub_CODE_7F032548"] - - [0x7F0326BC, "manage_actions"] - - [0x7F0328E0, "def_7F032780"] - - [0x7F03291C, "sub_CODE_7F03291C"] - - [0x7F032B68, "sub_CODE_7F032B68"] - - [0x7F032BA0, "sub_CODE_7F032BA0"] - - [0x7F032BD8, "get_distance_actor_to_position"] - - [0x7F032C4C, "sub_CODE_7F032C4C"] - - [0x7F032C78, "sub_CODE_7F032C78"] - - [0x7F032D70, "get_angle_between_actor_cur.player"] - - [0x7F032DE4, "sub_CODE_7F032DE4"] - - [0x7F032E48, "sub_CODE_7F032E48"] - - [0x7F032EFC, "check_if_room_for_preset_loaded"] - - [0x7F032F94, "sub_CODE_7F032F94"] - - [0x7F032FAC, "sub_CODE_7F032FAC"] - - [0x7F033040, "get_handle_for_guard_id"] - - [0x7F0330C4, "get_distance_between_actor_and_actorID"] - - [0x7F033154, "get_distance_between_actor_and_preset"] - - [0x7F033218, "sub_CODE_7F033218"] - - [0x7F03322C, "sub_CODE_7F03322C"] - - [0x7F033244, "sub_CODE_7F033244"] - - [0x7F033260, "sub_CODE_7F033260"] - - [0x7F033290, "sub_CODE_7F033290"] - - [0x7F0332C0, "sub_CODE_7F0332C0"] - - [0x7F0332FC, "toggle_objective_bitflags"] - - [0x7F033318, "untoggle_objective_bitflags"] - - [0x7F033338, "check_if_objective_bitflags_set"] - - [0x7F033354, "check_if_actor_02_flag_set"] - - [0x7F033364, "check_if_able_to_then_surrender"] - - [0x7F0333A0, "sub_CODE_7F0333A0"] - - [0x7F0333C4, "reset_and_start_loop_counter"] - - [0x7F0333D8, "get_loop_counter_time_in_seconds"] - - [0x7F0333F8, "sub_CODE_7F0333F8"] - - [0x7F033490, "check_if_actor_invisible"] - - [0x7F0334A0, "actor_move_to_curplayer_at_speed"] - - [0x7F03350C, "actor_move_to_actorID_at_speed"] - - [0x7F0335A4, "get_times_actor_shot"] - - [0x7F0335AC, "get_num_shots_near_actor"] - - [0x7F0335B4, "check_if_actor_FA_target_set"] - - [0x7F0335C4, "check_if_actor_FB_target_set"] - - [0x7F0335D4, "sub_CODE_7F0335D4"] - - [0x7F033610, "check_if_able_to_then_shuffle_feet"] - - [0x7F03364C, "check_if_able_to_then_fawn_on_shoulder"] - - [0x7F033688, "check_if_able_to_then_look_flustered"] - - [0x7F0336C4, "check_if_able_to_then_kneel"] - - [0x7F033700, "check_if_able_to_then_perform_animation"] - - [0x7F033760, "alarm_timer_related"] - - [0x7F033780, "sub_CODE_7F033780"] - - [0x7F033834, "sub_CODE_7F033834"] - - [0x7F033998, "check_2328_preset_set_with_method"] - - [0x7F033AAC, "sub_CODE_7F033AAC"] - - [0x7F033B38, "sub_CODE_7F033B38"] - - [0x7F033CF4, "sub_CODE_7F033CF4"] - - [0x7F033D1C, "sub_CODE_7F033D1C"] - - [0x7F033D5C, "sub_CODE_7F033D5C"] - - [0x7F033D84, "sub_CODE_7F033D84"] - - [0x7F033DC4, "sub_CODE_7F033DC4"] - - [0x7F033EAC, "sub_CODE_7F033EAC"] - - [0x7F033F48, "sub_CODE_7F033F48"] - - [0x7F03415C, "actionblock_guard_constructor_BDBE"] - - [0x7F034258, "guard_constructor_BD"] - - [0x7F034308, "guard_constructor_BE"] - - [0x7F034388, "check_if_actorID_is_at_preset"] - - [0x7F03444C, "check_if_actor_is_at_preset"] - - [0x7F0344FC, "removed_animation_routine_27"] - - [0x7F034508, "removed_animation_routine_2B"] - - [0x7F034514, "sub_CODE_7F034514"] - - [0x7F03457C, "actor_draws_throws_grenade_at_player_if_possible"] - - [0x7F0346FC, "actor_drops_itemtype_setting_timer"] - - # .s - # .text - - [0x7F0347A0, "set_sound_effect_source_to_location"] - - [0x7F0348E4, "loop_set_sound_effect_all_slots"] - - [0x7F034924, "set_sound_effect_to_slot"] - - [0x7F0349BC, "sub_CODE_7F0349BC"] - - [0x7F0349FC, "get_length_of_action_block"] - - [0x7F034A24, "action00_length"] - - [0x7F034A2C, "action01_length"] - - [0x7F0351FC, "actionFC_length"] - - [0x7F035204, "actionAD_length"] - - [0x7F035238, "invalid_type"] - - [0x7F035244, "sub_CODE_7F035244"] - - [0x7F0352F0, "true_if_sucessfully_performing_action"] - - [0x7F035398, "sub_CODE_7F035398"] - - [0x7F035434, "get_ptr_path_for_pathnum"] - - [0x7F035484, "parse_handle_actionblocks"] - - [0x7F0355B4, "action00_Return_Value_Loop_(2)"] - - [0x7F0355D0, "action01_Go_To_Beginning,_Then_Return_Value_Loop_(2)"] - - [0x7F0355EC, "action02_Resume_If_Return_Value_Loop_Met_(2)"] - - [0x7F0355F8, "action03_Leave_The_Routine,_But_When_Return_Continue_From_Spot_(1)"] - - [0x7F03563C, "action05_Jump_To_Function_(4)"] - - [0x7F0356B0, "action06_Set_Return_Subroutine_(for_0007_Command)"]_(3)"] - - [0x7F03570C, "action07_Jump_to_Return_Subroutine_(1)"] - - [0x7F035768, "action08_Reset_Animation_(1)"] - - [0x7F03577C, "action09_Guard_Kneels_(1)"] - - [0x7F035790, "action0A_Animation_(9)"] - - [0x7F03589C, "action0B_If_Guard_Wasting_Time_(Swatting_Flies)"],_Return_Value_Loop_(2)"] - - [0x7F0358D0, "action0C_Guard_Gestures_(1)"] - - [0x7F0358E4, "action0D_Guard_Looks_Around_When_Shot_At_(1)"] - - [0x7F0358F8, "action2F_When_Guard_Stops_Moving,_Return_Value_Loop_(2)"] - - [0x7F03592C, "action30_Detect_If_Guard_Killed,_Return_Value_Loop_If_So_(3)"] - - [0x7F035974, "action31_If_Guard_ID_Finished_Death_Animation,_Return_Value_Loop_(3)"] - - [0x7F0359B4, "action32_If_Bond_In_Sight,_Return_Value_Loop_(2)"] - - [0x7F0359E8, "action0E_Guard_Steps_Sideways,_Return_Value_Loop_(2)"] - - [0x7F035A1C, "action0F_Guard_Hops_Sideways,_Return_Value_Loop_(2)"] - - [0x7F035A50, "action10_Guard_Runs_Sideways,_Return_Value_Loop_(2)"] - - [0x7F035A84, "action11_Guard_Walks_Firing,_Return_Value_Loop_(2)"] - - [0x7F035AB8, "action12_Guard_Runs_Firing,_Return_Value_Loop_(2)"] - - [0x7F035AEC, "action13_Guard_Rolls_On_Ground_Then_Fires_Crouched,_Return_Value_Loop_(2)"] - - [0x7F035B20, "action14_Guard_Aims,_Shoots_at_Bond/Guard/Pad,_Return_Value_Loop_(6)"] - - [0x7F035B74, "action15_Guard_Kneels/Aims,_Shoots_at_Bond/Guard/Pad,_Return_Value_Loop_(6)"] - - [0x7F035BC8, "actionE7_If_Guard_Moving_And_Shooting,_Return_Value_Loop_(2)"] - - [0x7F035C1C, "actionE8_If_Guard_Is_Shooting,_Return_Value_Loop_(2)"] - - [0x7F035C50, "action16_Guard_Shoots_Guards_(Without_Animation_Change)"],_Return_Value_Loop_(6)"] - - [0x7F035CA4, "action17_Guard_Constantly_Angles_To_Face,_Return_Value_Loop_(6)"] - - [0x7F035CF8, "action18_Shoot_Guard_ID_In_Style_With_Weapon_Type_#_(4)"] - - [0x7F035D5C, "action19_Guard_ID1_Shoots_Guard_ID2_In_Style_(4)"] - - [0x7F035E78, "action1A_Guard_Throws_Grenade,_Return_Value_Loop_(2)"] - - [0x7F035EAC, "action1B_Drop_Weapon_Inventory_#,_Return_Value_Loop_(5)"] - - [0x7F035EF8, "action21_Guard_Surrenders_(1)"] - - [0x7F035F0C, "action22_Guard_Set_To_Move_Fades_And_Disappear_(1)"] - - [0x7F035F20, "action23_Eliminate_Guard_ID_(2)"] - - [0x7F035F54, "action24_Activate_Object_At_Preset,_Return_Value_Loop_If_Successful_(4)"] - - [0x7F035F9C, "action25_Sound_Alarm_(1)"] - - [0x7F035FB0, "action26_Turn_Off_Alarm_(1)"] - - [0x7F035FC4, "action27_Return_False_(Invalid_Type)"]_(2)"] - - [0x7F035FF8, "action28_Jog_To_Bond,_Return_Loop_When_Reached_Bond_(2)"] - - [0x7F036030, "action29_Walk_To_Bond,_Return_Loop_When_Reached_Bond_(2)"] - - [0x7F036068, "action2A_Run_To_Bond,_Return_Loop_When_Reached_Bond_(2)"] - - [0x7F0360A0, "action2B_Return_False_(Invalid_Type)"]_(2)"] - - [0x7F0360D4, "action2C_Jog_To_Character_Position,_Return_Value_Loop_On_Arrival_(3)"] - - [0x7F036110, "action2D_Walk_To_Character_Position,_Return_Value_Loop_On_Arrival_(3)"] - - [0x7F03614C, "action2E_Run_To_Character_Position,_Return_Value_Loop_On_Arrival_(3)"] - - [0x7F036188, "action33_Seed_Random_Byte_(1)"] - - [0x7F0361A0, "action34_If_Seeded_Byte_<_Value,_Go_Into_Return_Value_Loop_(3)"] - - [0x7F0361DC, "action35_If_Seeded_Byte_>_Value,_Go_Into_Return_Value_Loop_(3)"] - - [0x7F036218, "action1C_Guard_Jogs_To_Preset_(3)"] - - [0x7F036244, "action1D_Guard_Jogs_To_Predefined_Preset_(2328)"]_(1)"] - - [0x7F036260, "action1E_Guard_Walks_To_Preset_(3)"] - - [0x7F03628C, "action1F_Guard_Runs__To_Preset_(3)"] - - [0x7F0362B8, "action20_Activate_Path_(2)"] - - [0x7F0362D8, "action36_If_Alarm_Activated,_Return_Value_Loop_(Plus_Stack)"]_(2)"] - - [0x7F03630C, "action37_If_Alarm_Activated,_Return_Value_Loop_(2)"] - - [0x7F036340, "action38_If_Toxic_Gas_Released,_Return_Value_Loop_(2)"] - - [0x7F036374, "action39_If_Guard_Heard_Gunfire,_Return_Value_Loop_(2)"] - - [0x7F0363A8, "action3A_If_Bond_Shoots_Another_Guard,_Return_Value_Loop_(2)"] - - [0x7F0363DC, "action3B_If_Guard_Killed_In_Front_Of_Guard,_Return_Value_Loop_(2)"] - - [0x7F036410, "action3C_If_Guard_Within_Firing_Range,_Return_Value_Loop_(2)"] - - [0x7F036444, "action3D_<<<_Unused_/_Unknown_>>>_(2)"] - - [0x7F036478, "action3E_If_Shot_Current_Guard,_Return_Value_Loop_(2)"] - - [0x7F0364AC, "action3F_If_Heard_Bond,_Return_Value_Loop_(2)"] - - [0x7F0364E0, "action40_If_Another_Guard_In_Same_Room_As_Guard_ID,_Return_Value_Loop_(3)"] - - [0x7F036540, "action41_If_Guard_Has_Been_On_Screen,_Return_Value_Loop_(2)"] - - [0x7F036578, "action42_If_Current_Guard_On_Screen_In_Loaded_Room,_Return_Value_Loop_(2)"] - - [0x7F0365B4, "action43_If_Guard_In_A_Room_Currently_Loaded,_Return_Value_Loop_(2)"] - - [0x7F0365F4, "action44_If_Room_Containing_Preset_Is_Loaded,_Return_Value_Loop_(4)"] - - [0x7F03663C, "action45_Go_To_Return_Value_Loop,_If_Bond_Has_Guard_At_Gunpoint_(2)"] - - [0x7F036670, "action46_If_Fired_A_Shot,_Return_Value_Loop_(2)"] - - [0x7F0366A4, "action47_If_Distance_Between_Bond_And_Guard_<_Value,_Return_Value_Loop_(3)"] - - [0x7F036718, "action48_If_Distance_Between_Bond_And_Guard_>_Value,_Return_Value_Loop_(3)"] - - [0x7F03678C, "action49_Test_if_Actor_and_Player_CCW_Angle_Less_Than_Value,_Return_Value_Loop_(Unused)"]_(3)"] - - [0x7F036800, "action4A_Test_if_Actor_and_Player_CCW_Angle_Greater_Than_Value,_Return_Value_Loop_(Unused)"]_(3)"] - - [0x7F036874, "action4B_Return_Value_Loop_If_Within_Proximity_Of_Bond_(4)"] - - [0x7F0368DC, "action4C_Return_Value_Loop_If_Not_Within_Proximity_Of_Bond_(4)"] - - [0x7F036944, "action4D_When_Guard_Within_Proximity_Of_Preset,_Return_Value_Loop_(7)"] - - [0x7F0369D4, "action4E_When_Guard_Not_Within_Proximity_Of_Preset,_Return_Value_Loop_(7)"] - - [0x7F036A64, "action4F_If_Current_Guard_Is_Within_Units_Of_Guard_ID,_Return_Value_Loop_(5)"] - - [0x7F036AD0, "action50_If_Current_Guard_Is_Not_Within_Units_Of_Guard_ID,_Return_Value_Loop_(5)"] - - [0x7F036B3C, "action51_Set_Closest_Guard_Within_Units_As_Guard_ID_FC,_Then_Return_Value_Loop_If_Successful_(4)"] - - [0x7F036B98, "action52_Go_Into_Return_Value_Loop_If_Within_Units_Of_Preset_(6)"] - - [0x7F036C10, "action53_Go_Into_Return_Value_Loop_If_Not_Within_Units_Of_Preset_(6)"] - - [0x7F036C88, "action54_Go_Into_Return_Value_Loop_If_Guard_Is_At_Preset_(5)"] - - [0x7F036CD4, "action55_Go_Into_Return_Value_Loop_If_Entered_Room_with_Preset_(4)"] - - [0x7F036D1C, "action56_Go_Into_Return_Value_Loop_If_16_Object_#_Collected_(3)"] - - [0x7F036D6C, "action57_Go_Into_Return_Value_Loop_If_Specified_Weapon_Deposited_(3)"] - - [0x7F036DA0, "action58_Go_Into_Return_Value_Loop_If_Specified_Weapon_Deposited_On_16-Object_(4)"] - - [0x7F036E2C, "action59_Go_Into_Return_Value_Loop_If_Specified_Weapon_Is_Out_(3)"] - - [0x7F036E78, "action5A_Go_Into_Return_Value_Loop_If_Type_16_Object_#_Loaded_(3)"] - - [0x7F036EBC, "action5B_Go_Into_Return_Value_Loop_If_16_Object_#_Not_Destroyed_(3)"] - - [0x7F036F0C, "action5C_Go_Into_Return_Value_Loop_If_16_Object_#_Activated_(3)"] - - [0x7F036F70, "action5D_Go_Into_Return_Value_Loop_If_Gadget_Used_On_16_Object_#_(3)"] - - [0x7F036FD0, "action5E_16_Object_Activates_(2)"] - - [0x7F037038, "action5F_16_Object_Explodes_(2)"] - - [0x7F0370B4, "action60_Guard_Drops_16_Object_#_(2)"] - - [0x7F037118, "action61_Kill_Guard_#_(2)"] - - [0x7F03714C, "action62_Guard_#_Throws_Equipment_(2)"] - - [0x7F0371BC, "action63_Guard_Gives_Bond_16_Object_#_(2)"] - - [0x7F0371FC, "action64_Type_16_Object_Equipped_On_Guard_(3)"] - - [0x7F0372A0, "action65_Object_Moved_To_Preset_(4)"] - - [0x7F0373BC, "action66_Open_Door_(2)"] - - [0x7F037400, "action67_Close_Door_(2)"] - - [0x7F037444, "action68_Check_Door_Status,_Return_Value_Loop_If_Met_(4)"] - - [0x7F037518, "action69_If_16_Object_Is_Valid_Door,_Return_Value_Loop_(3)"] - - [0x7F03757C, "action6A_Set_Bits_To_Lock_On_Type_16_Door_(3)"] - - [0x7F0375C0, "action6B_Unset_Bits_To_Lock_On_Type_16_Door_(3)"] - - [0x7F037608, "action6C_If_Tagged_Locked_Door_16_Objects_Toggled,_Return_Value_Loop_(4)"] - - [0x7F037678, "action6D_If_Objective_#_Complete,_Return_Value_Loop_(3)"] - - [0x7F0376C8, "action6E_If_Guard_2328_Preset,_Return_Value_Loop_(3)"] - - [0x7F037700, "action6F_If_Guard_2328_Preset_Set,_Return_Value_Loop_(3)"] - - [0x7F037738, "action78_Go_To_Return_Value_Loop,_If_Guard_Shot_<_Amount_(3)"] - - [0x7F037778, "action79_Go_To_Return_Value_Loop,_If_Guard_Shot_>_Amount_(3)"] - - [0x7F0377B8, "action7A_Go_To_Return_Value_Loop,_If_Number_Near-Miss_Gunshots_<_Value_(3)"] - - [0x7F0377F8, "action7B_Go_To_Return_Value_Loop,_If_Number_Near-Miss_Gunshots_>_Value_(3)"] - - [0x7F037838, "action7C_If_Guard_Health_Below_Value,_Return_Value_Loop_(4)"] - - [0x7F0378C4, "action7D_If_Guard_Health_Above_Value,_Return_Value_Loop_(4)"] - - [0x7F037950, "action7E_If_Guard_#'s_Bitflag_01000000_Set,_Return_Value_Loop_(3)"] - - [0x7F0379AC, "action7F_If_Health_Below_Value,_Return_Value_Loop_(3)"] - - [0x7F037A20, "action80_If_Health_Above_Value,_Return_Value_Loop_(3)"] - - [0x7F037A94, "action70_Go_Into_Return_Value_Loop_Difficulty_<_Value_(3)"] - - [0x7F037AD4, "action71_Go_Into_Return_Value_Loop_If_Difficulty_>_Value_(3)"] - - [0x7F037B14, "action72_Go_To_Return_Value_Loop,_If_Time_<_Value_(4)"] - - [0x7F037B74, "action73_Go_To_Return_Value_Loop,_If_Time_>_Value_(4)"] - - [0x7F037BD4, "action74_Go_To_Return_Value_Loop,_If_Power_On_Time_<_Value_(4)"] - - [0x7F037C38, "action75_Go_To_Return_Value_Loop,_If_Power_On_Time_>_Value_(4)"] - - [0x7F037C9C, "action76_Go_To_Return_Value_Loop,_If_Stage_Number_<_Value_(3)"] - - [0x7F037CDC, "action77_Go_To_Return_Value_Loop,_If_Stage_Number_>_Value_(3)"] - - [0x7F037D1C, "action81_Set_User_Byte_#1_(2)"] - - [0x7F037D30, "action82_Add_Value_To_User_Byte_#1_(Max_To_FF)"]_(2)"] - - [0x7F037D70, "action83_Subtract_Value_To_User_Byte_#1_(Min_To_0)"]_(2)"] - - [0x7F037DA4, "action84_If_Value_>_User_Byte_#1,_Return_Value_Loop_(3)"] - - [0x7F037DE0, "action85_If_User_Byte_#1_<_Random_Value,_Return_Value_Loop_(2)"] - - [0x7F037E1C, "action86_Set_User_Byte_#2_(2)"] - - [0x7F037E30, "action87_Add_Value_To_User_Byte_#2_(Max_To_FF)"]_(2)"] - - [0x7F037E70, "action88_Subtract_Value_To_User_Byte_#2_(Min_To_0)"]_(2)"] - - [0x7F037EA4, "action89_If_Value_>_User_Byte_#2,_Return_Value_Loop_(3)"] - - [0x7F037EE0, "action8A_If_User_Byte_#2_<_Random_Value,_Return_Value_Loop_(2)"] - - [0x7F037F1C, "action8B_Set_Guard_Hearing_Distance_(3)"] - - [0x7F037F50, "action8C_Set_Guard_Visible_Distance_(2)"] - - [0x7F037F80, "action8D_Set_Guard_Grenade_Probability_(2)"] - - [0x7F037F94, "action8E_Set_Guard_ID_(2)"] - - [0x7F037FA8, "action8F_Set_Guard_Health_(3)"] - - [0x7F037FE8, "action90_Set_Guard_Armor_Amount_(3)"] - - [0x7F038028, "action91_Set_Character_Reaction_Speed_(2)"] - - [0x7F03803C, "action92_Set_Character_Injury_Recovery_Speed_(2)"] - - [0x7F038050, "action93_Set_Character_Accuracy_(2)"] - - [0x7F038064, "action94_Mask_Guard_Type_With_Value_(2)"] - - [0x7F03807C, "action95_Unmask_Guard_Type_With_Value_(2)"] - - [0x7F038094, "action96_If_Guard_Type_Value_Is_Set,_Return_Value_Loop_(3)"] - - [0x7F0380CC, "action97_Mask_Guard_Type_Flags_With_Value_(3)"] - - [0x7F0380E8, "action98_Unmask_Guard_Type_Flags_With_Value_(3)"] - - [0x7F038104, "action99_If_Guard_Type_Flags_Set,_Return_Value_Loop_(4)"] - - [0x7F038140, "action9A_Set_Objective_Bits_(5)"] - - [0x7F03817C, "action9B_Unset_Objective_Value_(5)"] - - [0x7F0381B8, "action9C_Check_If_Objective_Value,_Return_Loop_If_So_(6)"] - - [0x7F038214, "action9D_Set_Guard_Bit_Tags_(5)"] - - [0x7F038254, "action9E_Unset_Guard_Bit_Tags_(5)"] - - [0x7F038298, "action9F_Check_Guard_Bits,_If_Same_Return_Value_Loop_(6)"] - - [0x7F0382F4, "actionA0_Set_Guard_ID_Bits_(6)"] - - [0x7F038344, "actionA1_Unset_Guard_ID_Bits_(6)"] - - [0x7F038398, "actionA2_Check_Guard_Bits,_If_Same_Return_Value_Loop_(7)"] - - [0x7F03840C, "actionA3_Set_State_Bits_16_Type_Object_(6)"] - - [0x7F038464, "actionA4_Unset_State_Bits_16_Type_Object_(6)"] - - [0x7F0384C0, "actionA5_Check_State_Bits_16_Type_Object,_If_Same_Return_Value_Loop_(7)"] - - [0x7F03853C, "actionA6_Set_16-Object_States_More_(6)"] - - [0x7F038594, "actionA7_Unset_16-Object_States_More_(6)"] - - [0x7F0385F0, "actionA8_Check_16-Object_States_More,_If_Same_Return_Value_Loop_(7)"] - - [0x7F03866C, "actionA9_Sets_To_Guard_ID_Fc_Current_Guard_(2)"] - - [0x7F038684, "actionAA_Sets_FC_Value_For_Guard_ID_To_Guard_ID_(3)"] - - [0x7F0386A0, "actionAB_Set_Current_Guard's_2328_Value_To_Preset_(3)"] - - [0x7F0386EC, "actionAC_Set_Guard_ID_#'S_2328_Value_To_Preset_(4)"] - - [0x7F038718, "actionAD_Debug_Comment_(20)"] - - [0x7F038730, "actionAE_Reset_Cycle_Counter_And_Enable_It_(1)"] - - [0x7F038744, "actionAF_Reset_Cycle_Counter_(1)"] - - [0x7F038754, "actionB0_Disable_Cycle_Counter_(1)"] - - [0x7F03876C, "actionB1_Enable_Cycle_Counter_(1)"] - - [0x7F038784, "actionB2_Check_Cycle_Counter_Enable_Status_(2)"] - - [0x7F0387BC, "actionB3_If_Cycle_Counter_<_Value,_Return_Value_Loop_(5)"] - - [0x7F038840, "actionB4_If_Cycle_Counter_>_Value,_Return_Value_Loop_(5)"] - - [0x7F0388C4, "actionB5_Show_Timer_(1)"] - - [0x7F0388DC, "actionB6_Hide_Timer_(Silent_Countdown!)"]_(1)"] - - [0x7F0388F4, "actionB7_Set_Timer_X_Seconds__(Doesn't_Show_Timer_Yet)"]_(3)"] - - [0x7F038928, "actionB8_Stop_Timer_(1)"] - - [0x7F03893C, "actionB9_Start_Timer_(1)"] - - [0x7F038950, "actionBA_Check_Timer_Enabled_Status,_Return_Value_Loop_If_Enabled_(2)"] - - [0x7F038984, "actionBB_Detect_If_Timer_Below_Certain_Point_(Return_Value_Loop_If_So)"]_(4)"] - - [0x7F0389E8, "actionBC_Detect_If_Timer_Above_Certain_Point_(Return_Value_Loop_If_So)"]_(4)"] - - [0x7F038A4C, "actionBD_Spawn_Guard_(C)"] - - [0x7F038AF4, "actionBE_Respawn_Guard_with_ID_(B)"] - - [0x7F038B7C, "actionBF_Spawn_Weapon_(9)"] - - [0x7F038C80, "actionC0_Spawn_Hat_(8)"] - - [0x7F038D10, "actionC1_Guard_ID_Does_Action_Value_If_Heard_A_Lot_Of_Gunfire,_Return_Value_Loop_When_Complete_(5)"] - - [0x7F038EC8, "actionC2_Display_Text_Preset_Bottom_Screen_(3)"] - - [0x7F038EF0, "actionC3_Display_Text_Preset_Top_Screen_(3)"] - - [0x7F038F18, "actionC4_Play_Sound_Effect_#_In_Slot_#_(0-7)"]_(4)"] - - [0x7F038F44, "actionC9_Shut_Off_Sound_In_Slot_Number_(2)"] - - [0x7F038F58, "actionC7_Sound_In_Slot_#_Crecendos_To_Volume_Over_Milliseconds_(6)"] - - [0x7F039008, "actionC8_Sound_In_Slot_#_Fades_To_Volume_Over_Milliseconds_(6)"] - - [0x7F0390C4, "actionC5_Emanate_Sound_In_Slot_#_From_16_Object,_With_Audible_Range_Value_(5)"] - - [0x7F039160, "actionC6_Emanate_Sound_In_Slot_#_From_Preset,_With_Audible_Range_Value_(6)"] - - [0x7F039260, "actionCA_If_Value_>_Volume_(7FFF_Max)"],_Return_Value_Loop_(5)"] - - [0x7F0392D4, "actionCB_Set_Object_Path_(27_Type_Object)"]_(2)"] - - [0x7F0392FC, "actionCC_Set_Speed_Moving_Vehicle_(27_Type_Object)"]_(5)"] - - [0x7F039360, "actionCD_Set_Speed_Aircraft_Rotor_(5)"] - - [0x7F0393BC, "actionCE_Detect_If_Currently_In_Intro_Camera,_Return_Value_Loop_If_So_(2)"] - - [0x7F039408, "actionCF_Detect_If_Currently_In_Intro_Swirl,_Return_Value_Loop_If_So_(2)"] - - [0x7F039440, "actionD0_Change_Animation_Type_Of_Type_16_Monitor_(4)"] - - [0x7F0394CC, "actionD1_If_Bond_In_Tank,_Return_Value_Loop_(2)"] - - [0x7F039504, "actionD2_Exit_Level_(1)"] - - [0x7F039550, "actionD3_Return_From_Camera_Scene_(1)"] - - [0x7F039564, "actionD4_Camera_Looks_At_Bond_From_Preset_(3)"] - - [0x7F0395F0, "actionD5_Go_To_Camera_Position_(6)"] - - [0x7F039670, "actionD6_If_Less_Than_Elevation,_Return_Value_Loop_(4)"] - - [0x7F0396DC, "actionD7_Disable_Text_(Variable)"]_(2)"] - - [0x7F039750, "actionD8_Enable_All_On-Screen_Displays_(1)"] - - [0x7F03979C, "actionD9_Guard_ID_Moved_To_Preset_(Return_Loop_If_Successful)"]_(5)"] - - [0x7F039964, "actionDA_Fade_Out_From_Cut-Scene_(1)"] - - [0x7F0399A4, "actionDB_Fade_In_From_Black_(Reset_DA)"]_(1)"] - - [0x7F0399E0, "actionDC_Return_Value_Loop_When_Fade_Complete_(2)"] - - [0x7F039A24, "actionDD_Remove_All_Guards_(1)"] - - [0x7F039A80, "actionDE_Bring_Removed_Guards_Back_(1)"] - - [0x7F039AD4, "actionDF_Open_Type-16_Door_(Used_Cut-Scenes)"]_(2)"] - - [0x7F039B30, "actionE0_Guard_ID_Draws_Weapon_#_(3)"] - - [0x7F039B58, "actionE1_If_Fewer_than_This_Many_Players_Playing,_Return_Value_Loop_(3)"] - - [0x7F039B98, "actionE2_If_Ammo_Value_In_Type_Is_Less_Than_Value,_Return_Value_Loop_(4)"] - - [0x7F039BD8, "actionE3_Draw_Weapon_From_Inventory_(In-Game)"]_(2)"] - - [0x7F039BFC, "actionE4_Draw_Weapon_From_Inventory_(Cut-Scene)"]_(2)"] - - [0x7F039C20, "actionE5_Set_Bond's_Speed_(3)"] - - [0x7F039C5C, "actionE6_If_16-Object_And_Preset_Are_In_Same_Room,_Return_Value_Loop_(5)"] - - [0x7F039D2C, "actionE9_Instantly_Switch_Sky_To_Sky_2_(1)"] - - [0x7F039D48, "actionEA_Stop_Game_Time_(1)"] - - [0x7F039D6C, "actionEB_If_Key_Pressed,_Return_Value_Loop_(2)"] - - [0x7F039DA8, "actionEC_Disable_Player_Pickups_(1)"] - - [0x7F039DC0, "actionED_Hide_First_Person_Display_(1)"] - - [0x7F039DDC, "actionEE_Cuba_Circular_Camera_Aim_(D)"] - - [0x7F039EE8, "actionEF_Trigger_Credits_(1)"] - - [0x7F039F00, "actionF0_Return_Value_Loop_If_Credits_Completed_(2)"] - - [0x7F039F38, "actionF1_If_All_Objectives_Complete,_Return_Value_Loop_(2)"] - - [0x7F039F6C, "actionF2_Check_Current_Folder_Bond,_Return_Value_Loop_(3)"] - - [0x7F039FA8, "actionF3_If_Player_Pickups_Disabled,_Return_Value_Loop_(2)"] - - [0x7F039FE0, "actionF4_Plays_Value_#1-Theme_Slot_(0-3)"]_For_Value_#2_Seconds_(4)"] - - [0x7F03A004, "actionF5_Turn_Off_Music_In_Slot_#_(0-3)"]_(2)"] - - [0x7F03A020, "actionF6_Trigger_Explosions_Around_Bond_(1)"] - - [0x7F03A034, "actionF7_If_Number_Of_Hostages/Scientists_Killed,_Return_Value_Loop_(3)"] - - [0x7F03A074, "actionF8_If_Guard_ID_00200000_Flag_Set,_Unset_And_Return_(3)"] - - [0x7F03A0D4, "actionF9_Set_Killed_In_Action,_Automatic_Mission_Failure_(1)"] - - [0x7F03A0EC, "actionFA_Guard_Fawns_On_Shoulder_(1)"] - - [0x7F03A100, "actionFB_Switch_To_Sky_Value_#_And_Activate_Gas_Containers_If_Exist_(1)"] - - [0x7F03A134, "actionFC_Launch_Shuttle_(2)"] - - [0x7F03A200, "action04_Terminator_(1)"] - - [0x7F03A240, "sub_CODE_7F03A240"] - - [0x7F03A404, "set_stateflag_0x04_for_posdata"] - - [0x7F03A414, "unset_stateflag_0x04_for_posdata"] - - [0x7F03A424, "get_ptr_obj_pos_list_current_entry"] - - [0x7F03A430, "remove_last_obj.pos.data_entry"] - - [0x7F03A484, "set_last_obj.pos.data"] - - [0x7F03A4A4, "set_current_objposdata_plus_0x28"] - - [0x7F03A4F0, "sub_CODE_7F03A4F0"] - - [0x7F03A538, "sub_CODE_7F03A538"] - - [0x7F03A5A4, "sub_CODE_7F03A5A4"] - - [0x7F03A5D0, "sub_CODE_7F03A5D0"] - - [0x7F03A62C, "sub_CODE_7F03A62C"] - - [0x7F03A6F4, "sub_CODE_7F03A6F4"] - - [0x7F03A97C, "sub_CODE_7F03A97C"] - - [0x7F03AA44, "sub_CODE_7F03AA44"] - - [0x7F03AB58, "sub_CODE_7F03AB58"] - - [0x7F03ADF4, "sub_CODE_7F03ADF4"] - - [0x7F03AF5C, "sub_CODE_7F03AF5C"] - - [0x7F03B15C, "sub_CODE_7F03B15C"] - - [0x7F03B9C0, "sub_CODE_7F03B9C0"] - - [0x7F03BDEC, "sub_CODE_7F03BDEC"] - - [0x7F03C0F0, "sub_CODE_7F03C0F0"] - - [0x7F03C294, "sub_CODE_7F03C294"] - - [0x7F03C2BC, "sub_CODE_7F03C2BC"] - - [0x7F03C3FC, "sub_CODE_7F03C3FC"] - - [0x7F03C4F0, "sub_CODE_7F03C4F0"] - - [0x7F03C550, "def_7F03C52C"] - - [0x7F03C574, "sub_CODE_7F03C574"] - - [0x7F03C648, "handle_mp_respawn_and_some_things"] - - [0x7F03CA30, "determing_type_of_object_and_detection"] - - [0x7F03CB8C, "sub_CODE_7F03CB8C"] - - [0x7F03CC20, "sub_CODE_7F03CC20"] - - [0x7F03CCB0, "sub_CODE_7F03CCB0"] - - [0x7F03CCD8, "sub_CODE_7F03CCD8"] - - [0x7F03CF88, "sub_CODE_7F03CF88"] - - [0x7F03CFE8, "sub_CODE_7F03CFE8"] - - [0x7F03D058, "sub_CODE_7F03D058"] - - [0x7F03D0D4, "sub_CODE_7F03D0D4"] - - [0x7F03D160, "def_7F03D13C"] - - [0x7F03D188, "sub_CODE_7F03D188"] - - [0x7F03D78C, "sub_CODE_7F03D78C"] - - [0x7F03D9EC, "sub_CODE_7F03D9EC"] - - [0x7F03DA50, "sub_CODE_7F03DA50"] - - [0x7F03DB70, "sub_CODE_7F03DB70"] - - [0x7F03DBCC, "sub_CODE_7F03DBCC"] - - [0x7F03DCB8, "sub_CODE_7F03DCB8"] - - [0x7F03DD9C, "sub_CODE_7F03DD9C"] - - [0x7F03DE94, "sub_CODE_7F03DE94"] - - [0x7F03E134, "sub_CODE_7F03E134"] - - [0x7F03E18C, "sub_CODE_7F03E18C"] - - [0x7F03E210, "sub_CODE_7F03E210"] - - [0x7F03E27C, "sub_CODE_7F03E27C"] - - [0x7F03E3FC, "sub_CODE_7F03E3FC"] - - [0x7F03E4F0, "sub_CODE_7F03E4F0"] - - [0x7F03E698, "removed_debug_roomblocks_feature"] - - [0x7F03E6A0, "sub_CODE_7F03E6A0"] - - [0x7F03E718, "sub_CODE_7F03E718"] - - [0x7F03E7AC, "sub_CODE_7F03E7AC"] - - [0x7F03E830, "sub_CODE_7F03E830"] - - [0x7F03E85C, "sub_CODE_7F03E85C"] - - [0x7F03E864, "sub_CODE_7F03E864"] - - [0x7F03E86C, "sub_CODE_7F03E86C"] - - [0x7F03E874, "sub_CODE_7F03E874"] - - [0x7F03E87C, "sub_CODE_7F03E87C"] - - [0x7F03E91C, "sub_CODE_7F03E91C"] - - [0x7F03E9BC, "sub_CODE_7F03E9BC"] - - [0x7F03EA5C, "sub_CODE_7F03EA5C"] - - [0x7F03EAFC, "sub_CODE_7F03EAFC"] - - [0x7F03EB9C, "sub_CODE_7F03EB9C"] - - [0x7F03EC3C, "sub_CODE_7F03EC3C"] - - [0x7F03ECC0, "sub_CODE_7F03ECC0"] - - [0x7F03F540, "sub_CODE_7F03F540"] - - [0x7F03F598, "sub_CODE_7F03F598"] - - [0x7F03F748, "sub_CODE_7F03F748"] - - [0x7F03F90C, "sub_CODE_7F03F90C"] - - [0x7F03F948, "sub_CODE_7F03F948"] - - [0x7F03FA44, "scan_position_data_table_for_normal_object_at_preset"] - - [0x7F03FAB0, "sub_CODE_7F03FAB0"] - - [0x7F03FB70, "sub_CODE_7F03FB70"] - - [0x7F03FBFC, "sub_CODE_7F03FBFC"] - - [0x7F03FC80, "sub_CODE_7F03FC80"] - - [0x7F03FDA8, "sub_CODE_7F03FDA8"] - - [0x7F03FE14, "sub_CODE_7F03FE14"] - - [0x7F03FE88, "sub_CODE_7F03FE88"] - - [0x7F03FE98, "sub_CODE_7F03FE98"] - - [0x7F03FF60, "sub_CODE_7F03FF60"] - - [0x7F03FFC0, "do_something_if_object_destroyed"] - - [0x7F03FFF8, "sub_CODE_7F03FFF8"] - - [0x7F040078, "sub_CODE_7F040078"] - - [0x7F04009C, "set_color_shading_from_tile"] - - [0x7F0402B4, "sub_CODE_7F0402B4"] - - [0x7F040310, "update_color_shading"] - - [0x7F040384, "sub_CODE_7F040384"] - - [0x7F040484, "sub_CODE_7F040484"] - - [0x7F04054C, "init_standard_object"] - - [0x7F0406F8, "sub_CODE_7F0406F8"] - - [0x7F04071C, "sub_CODE_7F04071C"] - - [0x7F040754, "sub_CODE_7F040754"] - - [0x7F0407F4, "sub_CODE_7F0407F4"] - - [0x7F04088C, "sub_CODE_7F04088C"] - - [0x7F040BA0, "sub_CODE_7F040BA0"] - - [0x7F040CF0, "sub_CODE_7F040CF0"] - - [0x7F040D98, "sub_CODE_7F040D98"] - - [0x7F041024, "sub_CODE_7F041024"] - - [0x7F041044, "if_a0_plus_3_is_4_then_10_else_20"] - - [0x7F041074, "sub_CODE_7F041074"] - - [0x7F041160, "sub_CODE_7F041160"] - - [0x7F041400, "sub_CODE_7F041400"] - - [0x7F0417DC, "sub_CODE_7F0417DC"] - - [0x7F0419E4, "sub_CODE_7F0419E4"] - - [0x7F041BB8, "sub_CODE_7F041BB8"] - - [0x7F041E0C, "sub_CODE_7F041E0C"] - - [0x7F04224C, "handles_projectile_motion"] - - [0x7F042A0C, "sub_CODE_7F042A0C"] - - [0x7F042EB4, "sub_CODE_7F042EB4"] - - [0x7F042F18, "sub_CODE_7F042F18"] - - [0x7F04310C, "sub_CODE_7F04310C"] - - [0x7F0431E4, "sub_CODE_7F0431E4"] - - [0x7F043650, "sub_CODE_7F043650"] - - [0x7F043838, "sub_CODE_7F043838"] - - [0x7F0439B8, "sub_CODE_7F0439B8"] - - [0x7F043A6C, "sub_CODE_7F043A6C"] - - [0x7F043B7C, "generate_explosion_at_position"] - - [0x7F043D70, "handle_thrown_explosive_detonation"] - - [0x7F044200, "sub_CODE_7F044200"] - - [0x7F04424C, "sub_CODE_7F04424C"] - - [0x7F0442DC, "sub_CODE_7F0442DC"] - - [0x7F044414, "sub_CODE_7F044414"] - - [0x7F0446B8, "sub_CODE_7F0446B8"] - - [0x7F044718, "sub_CODE_7F044718"] - - [0x7F0448A8, "sub_CODE_7F0448A8"] - - [0x7F044B38, "sub_CODE_7F044B38"] - - [0x7F0451DC, "sub_CODE_7F0451DC"] - - [0x7F0452D4, "object_interaction"] - - [0x7F049B58, "sub_CODE_7F049B58"] - - [0x7F049C8C, "save_ptr_monitor_ani_code_to_obj_ani_slot"] - - [0x7F049C98, "set_ptr_monitor_img_to_obj_ani_slot"] - - [0x7F049F28, "def_7F049CC0"] - - [0x7F049F40, "save_img_index_to_obj_ani_slot"] - - [0x7F049F48, "process_monitor_animation_microcode"] - - [0x7F04A024, "command00_reset_scroll_shift"] - - [0x7F04A038, "command01_horizontal_scroll"] - - [0x7F04A094, "command02_vertical_scroll"] - - [0x7F04A0F0, "command03_horizontal_pos"] - - [0x7F04A148, "command04_vertical_pos"] - - [0x7F04A1A0, "command05_zoomx"] - - [0x7F04A1F8, "command06_zoomy"] - - [0x7F04A250, "command07_use_image_from_global_monitor_table"] - - [0x7F04A274, "command08_halt_processing_for_time"] - - [0x7F04A2C4, "command09_jump"] - - [0x7F04A2E0, "command0A_jump_conditional"] - - [0x7F04A338, "command0B_restart"] - - [0x7F04A340, "command0C_break"] - - [0x7F04A348, "command0D_colour_transition"] - - [0x7F04A3CC, "command0E_set_rotation"] - - [0x7F04A3F4, "command0F_rotate"] - - [0x7F04A468, "def_7F04A01C"] - - [0x7F04AC20, "sub_CODE_7F04AC20"] - - [0x7F04B150, "sub_CODE_7F04B150"] - - [0x7F04B478, "sub_CODE_7F04B478"] - - [0x7F04B590, "sub_CODE_7F04B590"] - - [0x7F04B610, "sub_CODE_7F04B610"] - - [0x7F04BCDC, "sub_CODE_7F04BCDC"] - - [0x7F04BFD0, "sub_CODE_7F04BFD0"] - - [0x7F04C044, "sub_CODE_7F04C044"] - - [0x7F04C130, "sub_CODE_7F04C130"] - - [0x7F04CA44, "sub_CODE_7F04CA44"] - - [0x7F04CD04, "sub_CODE_7F04CD04"] - - [0x7F04CE0C, "object_explosion_related"] - - [0x7F04D16C, "sub_CODE_7F04D16C"] - - [0x7F04D9B0, "sub_CODE_7F04D9B0"] - - [0x7F04DB0C, "def_7F04DA40"] - - [0x7F04DCB4, "sub_CODE_7F04DCB4"] - - [0x7F04DD68, "sub_CODE_7F04DD68"] - - [0x7F04DE18, "sub_CODE_7F04DE18"] - - [0x7F04DEFC, "sub_CODE_7F04DEFC"] - - [0x7F04DFD0, "check_if_destroyable_object_type"] - - [0x7F04DFF8, "destroyable_object"] - - [0x7F04E000, "nondestroyable_object"] - - [0x7F04E00C, "check_if_collectable_object"] - - [0x7F04E034, "collectable_object"] - - [0x7F04E03C, "notcollectable_object"] - - [0x7F04E048, "check_if_destroyable_not_invincible"] - - [0x7F04E0CC, "sub_CODE_7F04E0CC"] - - [0x7F04E108, "maybe_detonate_object"] - - [0x7F04E720, "sub_CODE_7F04E720"] - - [0x7F04E9BC, "sub_CODE_7F04E9BC"] - - [0x7F04EA68, "sub_CODE_7F04EA68"] - - [0x7F04EF34, "check_if_object_has_not_been_destroyed"] - - [0x7F04EF58, "sub_CODE_7F04EF58"] - - [0x7F04F170, "sub_CODE_7F04F170"] - - [0x7F04F218, "sub_CODE_7F04F218"] - - [0x7F04F244, "sub_CODE_7F04F244"] - - [0x7F04F2B4, "append_text_picked_up"] - - [0x7F04F2EC, "append_text_ammo_amount_word"] - - [0x7F04F31C, "text_some"] - - [0x7F04F338, "text_a"] - - [0x7F04F37C, "text_an"] - - [0x7F04F3C0, "text_the"] - - [0x7F04F3FC, "text_NONE"] - - [0x7F04F40C, "apped_text_ammotype"] - - [0x7F04F544, "text_pickup_shotgun_cartridge"] - - [0x7F04F560, "text_pickup_magnum_bullet"] - - [0x7F04F57C, "text_pickup_golden_bullet"] - - [0x7F04F598, "text_pickup_hand_grenade"] - - [0x7F04F5B4, "text_pickup_grenade_round"] - - [0x7F04F5D0, "text_pickup_rocket"] - - [0x7F04F5EC, "text_pickup_remote_mine"] - - [0x7F04F608, "text_pickup_proximity_mine"] - - [0x7F04F624, "text_pickup_timed_mine"] - - [0x7F04F640, "text_pickup_dart"] - - [0x7F04F65C, "text_pickup_explosive_pen"] - - [0x7F04F678, "text_pickup_explosive_case"] - - [0x7F04F694, "text_pickup_flare"] - - [0x7F04F6B0, "text_pickup_piton"] - - [0x7F04F6CC, "text_pickup_bug"] - - [0x7F04F6E8, "text_pickup_micro_camera"] - - [0x7F04F704, "text_pickup_goldeneye_key"] - - [0x7F04F720, "text_pickup_token"] - - [0x7F04F73C, "text_pickup_plastique"] - - [0x7F04F750, "pluralize_multiples"] - - [0x7F04F788, "set_sound_effect_for_ammo_collection"] - - [0x7F04F7B4, "ammo_sfx_pickup_firearm"] - - [0x7F04F7D0, "ammo_sfx_pickup_mine"] - - [0x7F04F7EC, "ammo_sfx_pickup_knife"] - - [0x7F04F800, "ammo_sfx_pickup_default"] - - [0x7F04F810, "set_sound_effect_for_weapontype_collection"] - - [0x7F04F920, "display_ammo_type_collection_text"] - - [0x7F04F9F8, "display_text_when_ammo_collected"] - - [0x7F04FA68, "add_ammo_to_inventory"] - - [0x7F04FC3C, "get_ammo_in_magazine"] - - [0x7F04FC70, "magazine_has_10_rounds_type1"] - - [0x7F04FC78, "magazine_has_10_rounds_type2"] - - [0x7F04FC80, "magazine_has_10_rounds_type3"] - - [0x7F04FC88, "magazine_has_5_rounds_type4"] - - [0x7F04FC90, "magazine_has_5_rounds_typeC"] - - [0x7F04FC98, "magazine_has_3_rounds_typeD"] - - [0x7F04FCA0, "magazine_has_4_rounds_typeE"] - - [0x7F04FCA4, "magazine_has_default_ammo_rounds"] - - [0x7F04FCF8, "ammo_collected_from_weapon"] - - [0x7F04FD50, "weapon_has_10_rounds_type1"] - - [0x7F04FD58, "weapon_has_10_rounds_type2"] - - [0x7F04FD60, "weapon_has_10_rounds_type3"] - - [0x7F04FD68, "weapon_has_5_rounds_type4"] - - [0x7F04FD70, "weapon_has_5_rounds_typeC"] - - [0x7F04FD78, "weapon_has_3_rounds_typeD"] - - [0x7F04FD80, "weapon_has_4_rounds_typeE"] - - [0x7F04FD88, "weapon_has_3_rounds_typeB"] - - [0x7F04FD8C, "weapon_has_default_ammo"] - - [0x7F04FDE0, "generate_language_specific_text_for_weapon"] - - [0x7F04FE7C, "weapon_collect_msg_BLANK"] - - [0x7F04FE9C, "weapon_collect_msg_a_hunting_knife"] - - [0x7F04FEB8, "weapon_collect_msg_a_pp7"] - - [0x7F04FED4, "weapon_collect_msg_a_silenced_pp7"] - - [0x7F04FEF0, "weapon_collect_msg_a_dd44"] - - [0x7F04FF0C, "weapon_collect_msg_a_klobb"] - - [0x7F04FF28, "weapon_collect_msg_a_kf7"] - - [0x7F04FF44, "weapon_collect_msg_a_zmg"] - - [0x7F04FF60, "weapon_collect_msg_a_d5k"] - - [0x7F04FF7C, "weapon_collect_msg_a_silenced_d5k"] - - [0x7F04FF98, "weapon_collect_msg_a_phantom"] - - [0x7F04FFB4, "weapon_collect_msg_a_ar33"] - - [0x7F04FFD0, "weapon_collect_msg_a_rcp90"] - - [0x7F04FFEC, "weapon_collect_msg_a_shotgun"] - - [0x7F050008, "weapon_collect_msg_an_auto_shotgun"] - - [0x7F050024, "weapon_collect_msg_a_sniper"] - - [0x7F050040, "weapon_collect_msg_a_grenade_launcher"] - - [0x7F05005C, "weapon_collect_msg_a_rocket_launcher"] - - [0x7F050078, "weapon_collect_msg_a_cougar_magnum"] - - [0x7F050094, "weapon_collect_msg_a_golden_gun"] - - [0x7F0500B0, "weapon_collect_msg_a_moonraker_laser"] - - [0x7F0500CC, "weapon_collect_msg_a_flare_pistol"] - - [0x7F0500E8, "weapon_collect_msg_a_piton_gun"] - - [0x7F050104, "weapon_collect_msg_a_silver_pp7"] - - [0x7F050120, "weapon_collect_msg_a_gold_pp7"] - - [0x7F05013C, "weapon_collect_msg_a_keycard"] - - [0x7F050158, "weapon_collect_msg_a_yale_key"] - - [0x7F050174, "weapon_collect_msg_a_bolt_key"] - - [0x7F050190, "weapon_collect_msg_a_new_weapon"] - - [0x7F050224, "display_text_for_weapon_in_lower_left_corner"] - - [0x7F050250, "collect_or_interact_object"] - - [0x7F0502C4, "interact_key_object"] - - [0x7F050310, "interact_magazine_object"] - - [0x7F050338, "interact_ammobox_object"] - - [0x7F0503DC, "interact_weapon_object"] - - [0x7F0505B4, "interact_bodyarmor_object"] - - [0x7F05062C, "interact_default_object"] - - [0x7F0506DC, "object_collectability_routines"] - - [0x7F050D30, "sub_CODE_7F050D30"] - - [0x7F050DE8, "sub_CODE_7F050DE8"] - - [0x7F050F50, "sub_CODE_7F050F50"] - - [0x7F051028, "sub_CODE_7F051028"] - - [0x7F051084, "sub_CODE_7F051084"] - - [0x7F0510C0, "sub_CODE_7F0510C0"] - - [0x7F05126C, "sub_CODE_7F05126C"] - - [0x7F051588, "sub_CODE_7F051588"] - - [0x7F0515B0, "sub_CODE_7F0515B0"] - - [0x7F0518A8, "sub_CODE_7F0518A8"] - - [0x7F0518D0, "sub_CODE_7F0518D0"] - - [0x7F051A18, "trigger_remote_mine_detonation"] - - [0x7F051A68, "check_if_entry_is_collectable"] - - [0x7F051AEC, "check_if_item_deposited"] - - [0x7F051B5C, "add_obj_to_temp_proxmine_table"] - - [0x7F051B94, "remove_obj_from_temp_proxmine_table"] - - [0x7F051BCC, "detonate_proxmine_within_range"] - - [0x7F051CC8, "sub_CODE_7F051CC8"] - - [0x7F051D74, "link_objects"] - - [0x7F051D90, "complete_object_data_block_return_position_entry"] - - [0x7F051DD8, "sub_CODE_7F051DD8"] - - [0x7F051E1C, "sub_CODE_7F051E1C"] - - [0x7F051F30, "sub_CODE_7F051F30"] - - [0x7F051FD4, "sub_CODE_7F051FD4"] - - [0x7F052030, "sub_CODE_7F052030"] - - [0x7F05206C, "create_new_item_instance_of_model"] - - [0x7F0521E8, "set_0x4_in_runtime_flags_for_item_in_guards_hand"] - - [0x7F052214, "something_with_generating_object"] - - [0x7F0523D4, "actor_draws_weapon_with_model"] - - [0x7F0523F8, "sub_CODE_7F0523F8"] - - [0x7F052554, "redirect_object_collectability_routines"] - - [0x7F052574, "sub_CODE_7F052574"] - - [0x7F052604, "sub_CODE_7F052604"] - - [0x7F052684, "get_hat_model"] - - [0x7F0526B4, "model_hat_fur"] - - [0x7F0526BC, "model_hat_greencap"] - - [0x7F0526C4, "model_hat_combat_helmet"] - - [0x7F0526CC, "model_hat_moonraker_headgear"] - - [0x7F0526D4, "model_hat_beret"] - - [0x7F0526DC, "model_hat_officerhat"] - - [0x7F0526E4, "model_hat_default"] - - [0x7F0526EC, "sub_CODE_7F0526EC"] - - [0x7F052B00, "sub_CODE_7F052B00"] - - [0x7F052D8C, "sub_CODE_7F052D8C"] - - [0x7F053598, "sub_CODE_7F053598"] - - [0x7F0535C4, "sub_CODE_7F0535C4"] - - [0x7F0535F0, "initialize_door"] - - [0x7F0537B8, "sub_CODE_7F0537B8"] - - [0x7F053894, "sub_CODE_7F053894"] - - [0x7F05396C, "sub_CODE_7F05396C"] - - [0x7F0539B8, "sub_CODE_7F0539B8"] - - [0x7F0539E4, "sub_CODE_7F0539E4"] - - [0x7F053A10, "sub_CODE_7F053A10"] - - [0x7F053A3C, "sub_CODE_7F053A3C"] - - [0x7F053B10, "sub_CODE_7F053B10"] - - [0x7F053B78, "play_door_opening_soundeffect_0"] - - [0x7F053F2C, "def_7F053BE4"] - - [0x7F053F64, "play_door_opening_soundeffect_1"] - - [0x7F05428C, "def_7F053FD0"] - - [0x7F0542C4, "play_door_closing_soundeffect_0"] - - [0x7F054484, "def_7F054300"] - - [0x7F0544B8, "play_door_closing_soundeffect_1"] - - [0x7F054718, "def_7F0544F4"] - - [0x7F05474C, "sub_CODE_7F05474C"] - - [0x7F0547DC, "sub_CODE_7F0547DC"] - - [0x7F05480C, "sub_CODE_7F05480C"] - - [0x7F05487C, "sub_CODE_7F05487C"] - - [0x7F0548A4, "sub_CODE_7F0548A4"] - - [0x7F054988, "set_door_state"] - - [0x7F054A20, "sub_CODE_7F054A20"] - - [0x7F054A64, "sub_CODE_7F054A64"] - - [0x7F054B80, "sub_CODE_7F054B80"] - - [0x7F054C58, "sub_CODE_7F054C58"] - - [0x7F054D6C, "sub_CODE_7F054D6C"] - - [0x7F054EA8, "sub_CODE_7F054EA8"] - - [0x7F054FB4, "sub_CODE_7F054FB4"] - - [0x7F05522C, "sub_CODE_7F05522C"] - - [0x7F0555F8, "sub_CODE_7F0555F8"] - - [0x7F055804, "sub_CODE_7F055804"] - - [0x7F05599C, "sub_CODE_7F05599C"] - - [0x7F055A70, "sub_CODE_7F055A70"] - - [0x7F055B78, "sub_CODE_7F055B78"] - - [0x7F055C40, "sub_CODE_7F055C40"] - - [0x7F055DC8, "start_alarm"] - - [0x7F055DEC, "deactivate_alarm_sound_effect"] - - [0x7F055E2C, "stop_alarm"] - - [0x7F055E50, "is_alarm_on"] - - [0x7F055E64, "init_trigger_toxic_gas_effect"] - - [0x7F055EF8, "sub_CODE_7F055EF8"] - - [0x7F055F38, "check_if_toxic_gas_activated"] - - [0x7F055F64, "sub_CODE_7F055F64"] - - [0x7F056160, "set_unset_clock_lock_bits"] - - [0x7F05619C, "is_clock_drawn_onscreen"] - - [0x7F0561B0, "set_clock_time"] - - [0x7F0561BC, "get_clock_time"] - - [0x7F0561C8, "set_clock_enable"] - - [0x7F0561D4, "get_clock_enable"] - - [0x7F0561E0, "sub_CODE_7F0561E0"] - - [0x7F056210, "sub_CODE_7F056210"] - - [0x7F0565F0, "sub_CODE_7F0565F0"] - - [0x7F056690, "sub_CODE_7F056690"] - - [0x7F05677C, "drop_inventory"] - - # .s - # .text - - [0x7F056850, "sub_CODE_7F056850"] - - [0x7F0568F4, "get_size_of_setup_object_type"] - - [0x7F05691C, "object_size_type_09"] - - [0x7F056924, "object_size_type_01"] - - [0x7F05692C, "object_size_type_02"] - - [0x7F056934, "object_size_type_03"] - - [0x7F05693C, "object_size_type_2A"] - - [0x7F056944, "object_size_type_2F"] - - [0x7F05694C, "object_size_type_2B"] - - [0x7F056954, "object_size_type_24"] - - [0x7F05695C, "object_size_type_04"] - - [0x7F056964, "object_size_type_05"] - - [0x7F05696C, "object_size_type_06"] - - [0x7F056974, "object_size_type_07"] - - [0x7F05697C, "object_size_type_08"] - - [0x7F056984, "object_size_type_0A"] - - [0x7F05698C, "object_size_type_0B"] - - [0x7F056994, "object_size_type_0C"] - - [0x7F05699C, "object_size_type_0D"] - - [0x7F0569A4, "object_size_type_0E"] - - [0x7F0569AC, "object_size_type_11"] - - [0x7F0569B4, "object_size_type_12"] - - [0x7F0569BC, "object_size_type_13"] - - [0x7F0569C4, "object_size_type_2C"] - - [0x7F0569CC, "object_size_type_14"] - - [0x7F0569D4, "object_size_type_15"] - - [0x7F0569DC, "object_size_type_16"] - - [0x7F0569E4, "object_size_type_25"] - - [0x7F0569EC, "object_size_type_17"] - - [0x7F0569F4, "object_size_type_18"] - - [0x7F0569FC, "object_size_type_19"] - - [0x7F056A04, "object_size_type_1A"] - - [0x7F056A0C, "object_size_type_1B"] - - [0x7F056A14, "object_size_type_1C"] - - [0x7F056A1C, "object_size_type_1D"] - - [0x7F056A24, "object_size_type_1E"] - - [0x7F056A2C, "object_size_type_1F"] - - [0x7F056A34, "object_size_type_20"] - - [0x7F056A3C, "object_size_type_21"] - - [0x7F056A44, "object_size_type_22"] - - [0x7F056A4C, "object_size_type_23"] - - [0x7F056A54, "object_size_type_26"] - - [0x7F056A5C, "object_size_type_27"] - - [0x7F056A64, "object_size_type_28"] - - [0x7F056A6C, "object_size_type_2D"] - - [0x7F056A74, "object_size_type_2E"] - - [0x7F056A7C, "object_size_type_default"] - - [0x7F056A88, "sub_CODE_7F056A88"] - - [0x7F056B1C, "sub_CODE_7F056B1C"] - - [0x7F056BA8, "sub_CODE_7F056BA8"] - - [0x7F056C38, "load_model"] - - [0x7F056CA0, "sub_CODE_7F056CA0"] - - [0x7F056EA0, "sub_CODE_7F056EA0"] - - [0x7F056EF4, "def_7F056EDC"] - - [0x7F056F08, "sub_CODE_7F056F08"] - - # .s - # .text - - [0x7F057080, "sub_CODE_7F057080"] - - [0x7F0570C0, "get_handle_to_tagged_object"] - - [0x7F057104, "get_ptr_text_for_watch_breifing_page"] - - [0x7F0571A8, "add_objective"] - - [0x7F0571B8, "get_text_for_objective"] - - [0x7F057204, "get_difficulty_for_objective"] - - [0x7F057238, "get_status_of_objective"] - - [0x7F0572C4, "objective_microcode_type_19_destroy_object"] - - [0x7F0572F8, "objective_microcode_type_1A_complete_if_true"] - - [0x7F057314, "objective_microcode_type_1B_fail_if_true"] - - [0x7F057330, "objective_microcode_type_1C_collect_object"] - - [0x7F05737C, "objective_microcode_type_1D_deposit_object"] - - [0x7F0573B0, "objective_microcode_type_1E_photograph_object"] - - [0x7F0573FC, "objective_microcode_type_20_enter_room"] - - [0x7F057410, "objective_microcode_type_21_deposit_object_in_room"] - - [0x7F057424, "objective_microcode_type_22_use_key_analyzer_on_object"] - - [0x7F057438, "objective_microcode_type_17_18_1F_default"] - - [0x7F0574B8, "check_objectives_complete"] - - [0x7F057540, "display_objective_status_text_on_status_change"] - - [0x7F057744, "sub_CODE_7F057744"] - - [0x7F0577E8, "sub_CODE_7F0577E8"] - - [0x7F057898, "sub_CODE_7F057898"] - - [0x7F057AC0, "sub_CODE_7F057AC0"] - - [0x7F057C14, "sub_CODE_7F057C14"] - - [0x7F057D44, "sub_CODE_7F057D44"] - - [0x7F057D88, "sub_CODE_7F057D88"] - - [0x7F057DF8, "sub_CODE_7F057DF8"] - - [0x7F057E58, "sub_CODE_7F057E58"] - - [0x7F057EA0, "cosf"] - - [0x7F057EAC, "sinf"] - - # .s - # .text - - [0x7F057FD0, "init_0x40_bytes_data_at_address_last_word_1.0"] - - [0x7F058020, "sub_CODE_7F058020"] - - [0x7F058068, "sub_CODE_7F058068"] - - [0x7F058098, "sub_CODE_7F058098"] - - [0x7F0580C8, "sub_CODE_7F0580C8"] - - [0x7F05818C, "sub_CODE_7F05818C"] - - [0x7F058274, "sub_CODE_7F058274"] - - [0x7F058380, "sub_CODE_7F058380"] - - [0x7F0583D8, "sub_CODE_7F0583D8"] - - [0x7F058418, "sub_CODE_7F058418"] - - [0x7F058474, "sub_CODE_7F058474"] - - [0x7F0584D0, "sub_CODE_7F0584D0"] - - [0x7F058570, "sub_CODE_7F058570"] - - [0x7F0585FC, "sub_CODE_7F0585FC"] - - [0x7F058688, "sub_CODE_7F058688"] - - [0x7F058714, "sub_CODE_7F058714"] - - [0x7F058860, "sub_CODE_7F058860"] - - [0x7F05892C, "sub_CODE_7F05892C"] - - [0x7F058964, "init_something_copy_posdata_to_it"] - - [0x7F058998, "copies_first_3_floats_from_a0_to_a1_plus_0x30"] - - [0x7F0589B4, "sub_CODE_7F0589B4"] - - [0x7F0589E4, "sub_CODE_7F0589E4"] - - [0x7F058A14, "sub_CODE_7F058A14"] - - [0x7F058A4C, "sub_CODE_7F058A4C"] - - [0x7F058A7C, "matrix_multiply_A1_by_F12"] - - [0x7F058B10, "sub_CODE_7F058B10"] - - [0x7F058B80, "sub_CODE_7F058B80"] - - [0x7F058BB8, "sub_CODE_7F058BB8"] - - [0x7F058C4C, "sub_CODE_7F058C4C"] - - [0x7F058C64, "sub_CODE_7F058C64"] - - [0x7F058C88, "sub_CODE_7F058C88"] - - [0x7F058C9C, "sub_CODE_7F058C9C"] - - [0x7F058E78, "sub_CODE_7F058E78"] - - [0x7F059044, "sub_CODE_7F059044"] - - [0x7F05914C, "sub_CODE_7F05914C"] - - [0x7F059244, "sub_CODE_7F059244"] - - [0x7F059334, "sub_CODE_7F059334"] - - [0x7F059424, "sub_CODE_7F059424"] - - [0x7F059694, "sub_CODE_7F059694"] - - [0x7F059708, "sub_CODE_7F059708"] - - [0x7F059908, "sub_CODE_7F059908"] - - [0x7F05997C, "sub_CODE_7F05997C"] - - [0x7F059A48, "sub_CODE_7F059A48"] - - [0x7F059B58, "sub_CODE_7F059B58"] - - [0x7F059CE8, "sub_CODE_7F059CE8"] - - [0x7F059D30, "sub_CODE_7F059D30"] - - [0x7F059D38, "sub_CODE_7F059D38"] - - [0x7F059DAC, "sub_CODE_7F059DAC"] - - [0x7F059E64, "sub_CODE_7F059E64"] - - [0x7F059FB8, "sub_CODE_7F059FB8"] - - [0x7F05A250, "sub_CODE_7F05A250"] - - [0x7F05A310, "sub_CODE_7F05A310"] - - [0x7F05A774, "sub_CODE_7F05A774"] - - [0x7F05A928, "sub_CODE_7F05A928"] - - [0x7F05A9B8, "sub_CODE_7F05A9B8"] - - # .s - # .text - - [0x7F05A9E0, "sub_CODE_7F05A9E0"] - - # .s - # .text - - [0x7F05AA30, "convert_angle_using_inverse"] - - # .s - # .text - - [0x7F05AB70, "sub_CODE_7F05AB70"] - - [0x7F05ABF0, "sub_CODE_7F05ABF0"] - - [0x7F05AC44, "sub_CODE_7F05AC44"] - - # .s - # .text - - [0x7F05ACB0, "sub_CODE_7F05ACB0"] - - [0x7F05AD5C, "sub_CODE_7F05AD5C"] - - # .s - # .text - - [0x7F05AE00, "sub_CODE_7F05AE00"] - - [0x7F05AE50, "sub_CODE_7F05AE50"] - - [0x7F05AEFC, "sub_CODE_7F05AEFC"] - - [0x7F05B024, "sub_CODE_7F05B024"] - - [0x7F05B154, "sub_CODE_7F05B154"] - - # .s - # .text - - [0x7F05B1E0, "sub_CODE_7F05B1E0"] - - [0x7F05B3F4, "sub_CODE_7F05B3F4"] - - [0x7F05B528, "sub_CODE_7F05B528"] - - [0x7F05B57C, "sub_CODE_7F05B57C"] - - [0x7F05B5D4, "sub_CODE_7F05B5D4"] - - [0x7F05B628, "sub_CODE_7F05B628"] - - [0x7F05B798, "sub_CODE_7F05B798"] - - [0x7F05B9B4, "sub_CODE_7F05B9B4"] - - [0x7F05BA08, "sub_CODE_7F05BA08"] - - [0x7F05BC68, "sub_CODE_7F05BC68"] - - [0x7F05BE10, "sub_CODE_7F05BE10"] - - [0x7F05BE88, "sub_CODE_7F05BE88"] - - [0x7F05BF8C, "sub_CODE_7F05BF8C"] - - [0x7F05BFD4, "sub_CODE_7F05BFD4"] - - [0x7F05C068, "sub_CODE_7F05C068"] - - [0x7F05C138, "sub_CODE_7F05C138"] - - [0x7F05C250, "sub_CODE_7F05C250"] - - [0x7F05C2F0, "sub_CODE_7F05C2F0"] - - # .s - # .text - - [0x7F05C360, "truncf"] - - [0x7F05C3D8, "sub_CODE_7F05C3D8"] - - # .s - # .text - - [0x7F05C440, "sub_CODE_7F05C440"] - - [0x7F05C4B8, "sub_CODE_7F05C4B8"] - - # .s - # .text - - [0x7F05C520, "sub_CODE_7F05C520"] - - [0x7F05C52C, "sub_CODE_7F05C52C"] - - [0x7F05C538, "nullsub_73"] - - [0x7F05C540, "sub_CODE_7F05C540"] - - [0x7F05C594, "sub_CODE_7F05C594"] - - [0x7F05C614, "sub_CODE_7F05C614"] - - [0x7F05C6B8, "sub_CODE_7F05C6B8"] - - [0x7F05C6FC, "sub_CODE_7F05C6FC"] - - [0x7F05C8B4, "get_ptr_item_statistics"] - - [0x7F05C8F0, "copy_item_in_hand"] - - [0x7F05C938, "copy_item_in_hand_to_main_list"] - - [0x7F05C980, "unknown_takes_playerhand"] - - [0x7F05CEBC, "sub_CODE_7F05CEBC"] - - [0x7F05CF00, "get_itemtype_in_hand"] - - [0x7F05CF18, "get_ptr_itemheader_in_hand"] - - [0x7F05CF30, "sub_CODE_7F05CF30"] - - [0x7F05CF48, "sub_CODE_7F05CF48"] - - [0x7F05CF5C, "remove_item_in_hand"] - - [0x7F05CFA4, "place_item_in_hand_swap_and_make_visible"] - - [0x7F05D018, "get_ptr_item_text_call_line"] - - [0x7F05D048, "get_ptr_weapon_model_header_line"] - - [0x7F05D078, "sub_CODE_7F05D078"] - - [0x7F05D088, "used_to_load_1st_person_model_on_demand"] - - [0x7F05D334, "sub_CODE_7F05D334"] - - [0x7F05D434, "get_next_weapon_in_cycle_for_hand"] - - [0x7F05D4E0, "sub_CODE_7F05D4E0"] - - [0x7F05D610, "sub_CODE_7F05D610"] - - [0x7F05D650, "sub_CODE_7F05D650"] - - [0x7F05D690, "sub_CODE_7F05D690"] - - [0x7F05D6D0, "advance_through_inventory"] - - [0x7F05D768, "backstep_through_inventory"] - - [0x7F05D800, "autoadvance_on_deplete_all_ammo"] - - [0x7F05D914, "draw_item_in_hand_has_more_ammo"] - - [0x7F05D964, "attempt_reload_item_in_hand"] - - [0x7F05D9D0, "get_item_in_hand"] - - [0x7F05DA00, "draw_item_in_hand"] - - [0x7F05DA44, "return_ammo_in_hand"] - - [0x7F05DA8C, "sub_CODE_7F05DA8C"] - - [0x7F05DAE4, "sub_CODE_7F05DAE4"] - - [0x7F05DB54, "remove_hands_item"] - - [0x7F05DC88, "get_hands_firing_status"] - - [0x7F05DCB8, "sub_CODE_7F05DCB8"] - - [0x7F05DCE8, "sub_CODE_7F05DCE8"] - - [0x7F05DD38, "sub_CODE_7F05DD38"] - - [0x7F05DDA4, "sub_CODE_7F05DDA4"] - - [0x7F05DE94, "sub_CODE_7F05DE94"] - - [0x7F05DF84, "sub_CODE_7F05DF84"] - - [0x7F05DFA8, "sub_CODE_7F05DFA8"] - - [0x7F05DFCC, "sub_CODE_7F05DFCC"] - - [0x7F05DFF0, "sub_CODE_7F05DFF0"] - - [0x7F05E014, "sub_CODE_7F05E014"] - - [0x7F05E038, "sub_CODE_7F05E038"] - - [0x7F05E05C, "check_if_have_ammo_for_item"] - - [0x7F05E0B4, "check_special_attributes"] - - [0x7F05E0E4, "sub_CODE_7F05E0E4"] - - [0x7F05E5F0, "sub_CODE_7F05E5F0"] - - [0x7F05E664, "get_value_if_watch_is_on_hand_or_not"] - - [0x7F05E6B4, "sub_CODE_7F05E6B4"] - - [0x7F05E808, "sub_CODE_7F05E808"] - - [0x7F05E83C, "sub_CODE_7F05E83C"] - - [0x7F05E978, "sub_CODE_7F05E978"] - - [0x7F05EA94, "sub_CODE_7F05EA94"] - - [0x7F05EB0C, "sub_CODE_7F05EB0C"] - - [0x7F05EC1C, "sub_CODE_7F05EC1C"] - - [0x7F05EE24, "sub_CODE_7F05EE24"] - - [0x7F05F09C, "sub_CODE_7F05F09C"] - - [0x7F05F358, "generate_player_thrown_object"] - - [0x7F05F564, "thrown_item_proximity_mine"] - - [0x7F05F56C, "thrown_item_timed_mine"] - - [0x7F05F574, "thrown_item_bombcase"] - - [0x7F05F57C, "thrown_item_bug"] - - [0x7F05F584, "thrown_item_micro_camera"] - - [0x7F05F58C, "thrown_item_GE_key"] - - [0x7F05F594, "thrown_item_plastique"] - - [0x7F05F598, "create_instance"] - - [0x7F05F5D0, "generate_temp_remote_mine"] - - [0x7F05F5F8, "generate_temp_proximity_mine"] - - [0x7F05F620, "generate_temp_timed_mine"] - - [0x7F05F648, "generate_temp_bombcase"] - - [0x7F05F670, "generate_temp_static_thrown"] - - [0x7F05F67C, "generate_temp_default"] - - [0x7F05F73C, "sub_CODE_7F05F73C"] - - [0x7F05F928, "sub_CODE_7F05F928"] - - [0x7F05FA7C, "sub_CODE_7F05FA7C"] - - [0x7F05FB00, "sub_CODE_7F05FB00"] - - [0x7F05FB64, "sub_CODE_7F05FB64"] - - [0x7F05FFC8, "handles_firing_or_throwing_weapon_in_hand"] - - [0x7F0617B4, "weapon_bullet_type_pistol"] - - [0x7F0617CC, "weapon_bullet_type_none"] - - [0x7F0617D4, "weapon_bullet_type_shotgun_mine"] - - [0x7F061920, "sub_CODE_7F061920"] - - [0x7F061948, "sub_CODE_7F061948"] - - [0x7F061BF4, "sub_CODE_7F061BF4"] - - [0x7F061E18, "sub_CODE_7F061E18"] - - [0x7F062B00, "sub_CODE_7F062B00"] - - [0x7F062BE4, "sub_CODE_7F062BE4"] - - [0x7F063004, "set_enviro_fog_for_items_in_solo_watch_menu"] - - [0x7F0634D8, "sub_CODE_7F0634D8"] - - [0x7F0634FC, "sub_CODE_7F0634FC"] - - [0x7F06351C, "sub_CODE_7F06351C"] - - [0x7F06359C, "sub_CODE_7F06359C"] - - [0x7F064364, "sub_CODE_7F064364"] - - [0x7F0643A0, "sub_CODE_7F0643A0"] - - [0x7F06441C, "recall_joy2_hits_edit_detail_edit_flag"] - - [0x7F064720, "sub_CODE_7F064720"] - - [0x7F064774, "recall_joy2_hits_edit_flag"] - - [0x7F064934, "sub_CODE_7F064934"] - - [0x7F0649AC, "sub_CODE_7F0649AC"] - - [0x7F0649D8, "sub_CODE_7F0649D8"] - - [0x7F064B28, "handle_weapon_id_values_possibly_1st_person_animation"] - - [0x7F064DD0, "Weapon_function_magnum"] - - [0x7F064DF4, "Weapon_function_camera"] - - [0x7F064E54, "Weapon_function_guns"] - - [0x7F064E68, "Weapon_function_throwable_item"] - - [0x7F064E7C, "Weapon_function_hunting_knife"] - - [0x7F064EAC, "Weapon_function_grenades"] - - [0x7F064EEC, "Weapon_function_slapper"] - - [0x7F064F1C, "Weapon_function_throwing_knife"] - - [0x7F064F30, "Weapon_function_tazer"] - - [0x7F064F7C, "Weapon_function_key"] - - [0x7F064F90, "Weapon_function_collectible"] - - [0x7F064FE8, "Weapon_shooting_watch_magnet"] - - [0x7F065034, "Weapon_shooting_pistol"] - - [0x7F0650C4, "Weapon_shooting_machinegun"] - - [0x7F0651D0, "Weapon_shooting_noammo"] - - [0x7F06520C, "Weapon_shooting_tazer"] - - [0x7F06528C, "Weapon_shooting_throwable"] - - [0x7F065E54, "weapon_playsfx_F2"] - - [0x7F065E70, "weapon_playsfx_knife"] - - [0x7F065E8C, "weapon_playsfx_mine"] - - [0x7F065EA8, "weapon_playsfx_gun"] - - [0x7F065EBC, "weapon_switchstyle_NONE"] - - [0x7F0661AC, "weapon_reload_gun_sfx"] - - [0x7F0661C0, "weapon_reload_none_sfx"] - - [0x7F066E64, "sub_CODE_7F066E64"] - - [0x7F066EF8, "get_keyanalyzer_flag"] - - [0x7F066F08, "sub_CODE_7F066F08"] - - [0x7F066FA4, "get_vertical_position_solo_watch_menu_main_page_for_item"] - - [0x7F066FC0, "get_lateral_position_solo_watch_menu_main_page_for_item"] - - [0x7F066FDC, "get_depth_on_solo_watch_menu_page_for_item"] - - [0x7F066FF8, "get_zrotation_solo_watch_menu_for_item"] - - [0x7F067014, "get_xrotation_solo_watch_menu_for_item"] - - [0x7F067030, "get_45_degree_angle"] - - [0x7F067040, "get_ptr_first_title_line_item"] - - [0x7F067074, "get_ptr_second_title_line_item"] - - [0x7F0670A8, "get_ptr_short_watch_text_for_item"] - - [0x7F0670DC, "get_ptr_long_watch_text_for_item"] - - [0x7F067110, "get_45_degree_angle_0"] - - [0x7F067120, "get_horizontal_offset_on_solo_watch_menu_for_item"] - - [0x7F06713C, "get_vertical_offset_on_solo_watch_menu_for_item"] - - [0x7F067158, "get_depth_offset_solo_watch_menu_inventory_page_for_item"] - - [0x7F067174, "sub_CODE_7F067174"] - - [0x7F0671A4, "sub_CODE_7F0671A4"] - - [0x7F0673B4, "sub_CODE_7F0673B4"] - - [0x7F067420, "sub_CODE_7F067420"] - - [0x7F067AA4, "sub_CODE_7F067AA4"] - - [0x7F067AB4, "sub_CODE_7F067AB4"] - - [0x7F067B4C, "sub_CODE_7F067B4C"] - - [0x7F067B94, "sub_CODE_7F067B94"] - - [0x7F067F58, "sub_CODE_7F067F58"] - - [0x7F067FBC, "sub_CODE_7F067FBC"] - - [0x7F068008, "sub_CODE_7F068008"] - - [0x7F06802C, "sub_CODE_7F06802C"] - - [0x7F0680D4, "sub_CODE_7F0680D4"] - - [0x7F068190, "sub_CODE_7F068190"] - - [0x7F0681CC, "sub_CODE_7F0681CC"] - - [0x7F068420, "sub_CODE_7F068420"] - - [0x7F068508, "sub_CODE_7F068508"] - - [0x7F068D20, "sub_CODE_7F068D20"] - - [0x7F068E6C, "sub_CODE_7F068E6C"] - - [0x7F068EC4, "sub_CODE_7F068EC4"] - - [0x7F06908C, "sub_CODE_7F06908C"] - - [0x7F0690F4, "set_unset_ammo_on_screen_setting"] - - [0x7F069130, "give_cur_player_ammo"] - - [0x7F069240, "check_cur_player_ammo_amount_in_inventory"] - - [0x7F069258, "check_cur_player_ammo_amount_total"] - - [0x7F0692D4, "get_max_ammo_for_type"] - - [0x7F0692F0, "set_max_ammo_for_cur_player"] - - [0x7F069344, "get_ammo_in_hands_magazine"] - - [0x7F069374, "get_ammo_in_hands_weapon"] - - [0x7F06942C, "get_ammo_type_for_weapon"] - - [0x7F069450, "get_ammo_count_for_weapon"] - - [0x7F069484, "add_ammo_to_weapon"] - - [0x7F0694B0, "get_max_ammo_for_weapon"] - - [0x7F0694E8, "microcode_generation_ammo_related"] - - [0x7F0699E4, "set_rgba_redirect_generate_microcode"] - - [0x7F069A50, "some_kind_of_display_routine"] - - [0x7F069C8C, "display_ammo_total_in_a1"] - - [0x7F069CF4, "generate_ammo_total_microcode"] - - [0x7F06A334, "sub_CODE_7F06A334"] - - [0x7F06A5A8, "set_unset_bitflags"] - - [0x7F06A5E4, "sub_CODE_7F06A5E4"] - - [0x7F06A6F8, "inc_curplayer_hitcount_with_weapon"] - - [0x7F06A740, "get_curplayer_shot_register"] - - [0x7F06A758, "inc_cur_civilian_casualties"] - - [0x7F06A770, "get_civilian_casualties"] - - [0x7F06A780, "increment_num_kills_display_text_in_MP"] - - [0x7F06A924, "get_curplay_killcount"] - - [0x7F06A934, "increment_num_times_killed_MwtGC"] - - [0x7F06A94C, "get_times_killed_mwtgx"] - - [0x7F06A95C, "increment_num_deaths"] - - [0x7F06AA08, "get_curplayer_numdeaths"] - - [0x7F06AA18, "increment_num_suicides_display_MP"] - - [0x7F06ABA0, "get_curplayer_numsuicides"] - - [0x7F06ABB0, "sub_CODE_7F06ABB0"] - - [0x7F06AFE8, "display_image_at_on_screen_coord"] - - # .s - # .text - - [0x7F06B120, "sub_CODE_7F06B120"] - - [0x7F06B188, "def_7F06B16C"] - - [0x7F06B248, "sub_CODE_7F06B248"] - - [0x7F06B29C, "sub_CODE_7F06B29C"] - - [0x7F06B6A4, "def_7F06B2F4"] - - [0x7F06BB28, "sub_CODE_7F06BB28"] - - [0x7F06BC0C, "drawjointlist"] - - [0x7F06BD68, "def_7F06BD3C"] - - [0x7F06BE00, "probably_damage_detail_blood_effect_related"] - - [0x7F06BFC8, "def_7F06BEEC"] - - [0x7F06C010, "sub_CODE_7F06C010"] - - [0x7F06C060, "sub_CODE_7F06C060"] - - [0x7F06C094, "get_obj.instance.controller_for_header"] - - [0x7F06C234, "set_obj.instance_scale_to_zero"] - - [0x7F06C23C, "get_aircraft_obj.instance.controller"] - - [0x7F06C3B4, "sub_CODE_7F06C3B4"] - - [0x7F06C3F8, "set_aircraft_obj.inst_scale_to_zero"] - - [0x7F06C400, "set_80036084"] - - [0x7F06C40C, "set_float_80036088"] - - [0x7F06C418, "sub_CODE_7F06C418"] - - [0x7F06C460, "set_8003608C"] - - [0x7F06C46C, "return_null"] - - [0x7F06C474, "sub_CODE_7F06C474"] - - [0x7F06C550, "sub_CODE_7F06C550"] - - [0x7F06C570, "sub_CODE_7F06C570"] - - [0x7F06C660, "sub_CODE_7F06C660"] - - [0x7F06C6A0, "getsubmatrix"] - - [0x7F06C710, "sub_CODE_7F06C710"] - - [0x7F06C768, "sub_CODE_7F06C768"] - - [0x7F06C79C, "extract_id_from_object_structure_microcode"] - - [0x7F06C840, "def_7F06C7D0"] - - [0x7F06C898, "getpartoffset"] - - [0x7F06C9D0, "setpartoffset"] - - [0x7F06CB98, "getsuboffset"] - - [0x7F06CC0C, "setsuboffset"] - - [0x7F06CC80, "getsubroty"] - - [0x7F06CD3C, "setsubroty"] - - [0x7F06CE78, "set_obj_instance_controller_scale"] - - [0x7F06CE84, "sub_CODE_7F06CE84"] - - [0x7F06CE90, "getjointsize"] - - [0x7F06CFE8, "def_7F06CEF0"] - - [0x7F06D00C, "getinstsize"] - - [0x7F06D07C, "sub_CODE_7F06D07C"] - - [0x7F06D0CC, "sub_CODE_7F06D0CC"] - - [0x7F06D160, "sub_CODE_7F06D160"] - - [0x7F06D1CC, "sub_CODE_7F06D1CC"] - - [0x7F06D2E4, "sub_CODE_7F06D2E4"] - - [0x7F06D3F4, "sub_CODE_7F06D3F4"] - - [0x7F06D490, "sub_CODE_7F06D490"] - - [0x7F06D6B0, "subcalcpos"] - - [0x7F06D738, "process_01_group_heading"] - - [0x7F06D8B0, "sub_CODE_7F06D8B0"] - - [0x7F06DB5C, "sub_CODE_7F06DB5C"] - - [0x7F06DE04, "sub_CODE_7F06DE04"] - - [0x7F06DEC0, "sub_CODE_7F06DEC0"] - - [0x7F06E0A0, "process_02_position"] - - [0x7F06E2B8, "sub_CODE_7F06E2B8"] - - [0x7F06E540, "sub_CODE_7F06E540"] - - [0x7F06E64C, "process_03_unknown"] - - [0x7F06E7A8, "process_15_subposition"] - - [0x7F06E858, "process_08_distance_triggers"] - - [0x7F06E970, "sub_CODE_7F06E970"] - - [0x7F06E9BC, "process_12_handle_switch"] - - [0x7F06EA08, "process_17_pointer_to_head"] - - [0x7F06EA54, "sub_CODE_7F06EA54"] - - [0x7F06EB10, "sub_CODE_7F06EB10"] - - [0x7F06EB3C, "process_09_head_hat_placement_interlink"] - - [0x7F06ECF8, "process_07_unknown"] - - [0x7F06EEA4, "sub_CODE_7F06EEA4"] - - [0x7F06EF4C, "def_7F06EEF4"] - - [0x7F06EFC4, "sub_CODE_7F06EFC4"] - - [0x7F06F078, "def_7F06F00C"] - - [0x7F06F0D0, "sub_CODE_7F06F0D0"] - - [0x7F06F1EC, "def_7F06F120"] - - [0x7F06F248, "instcalcmatrices"] - - [0x7F06F2F8, "subcalcmatrices"] - - [0x7F06F5AC, "sub_CODE_7F06F5AC"] - - [0x7F06F5B4, "sub_CODE_7F06F5B4"] - - [0x7F06F5BC, "sub_CODE_7F06F5BC"] - - [0x7F06F5C4, "sub_CODE_7F06F5C4"] - - [0x7F06F610, "sub_CODE_7F06F610"] - - [0x7F06F618, "sub_CODE_7F06F618"] - - [0x7F06F640, "sub_CODE_7F06F640"] - - [0x7F06F66C, "sub_CODE_7F06F66C"] - - [0x7F06F780, "sub_CODE_7F06F780"] - - [0x7F06F878, "sub_CODE_7F06F878"] - - [0x7F06FC4C, "sub_CODE_7F06FC4C"] - - [0x7F06FCA8, "sub_CODE_7F06FCA8"] - - [0x7F06FCFC, "sub_CODE_7F06FCFC"] - - [0x7F06FDCC, "sub_CODE_7F06FDCC"] - - [0x7F06FDE8, "sub_CODE_7F06FDE8"] - - [0x7F06FE3C, "sub_CODE_7F06FE3C"] - - [0x7F06FE44, "sub_CODE_7F06FE44"] - - [0x7F06FE4C, "sub_CODE_7F06FE4C"] - - [0x7F06FE90, "sub_CODE_7F06FE90"] - - [0x7F06FF18, "sub_CODE_7F06FF18"] - - [0x7F06FF5C, "sub_CODE_7F06FF5C"] - - [0x7F06FF64, "sub_CODE_7F06FF64"] - - [0x7F070090, "sub_CODE_7F070090"] - - [0x7F0701D4, "sub_CODE_7F0701D4"] - - [0x7F0701E0, "sub_CODE_7F0701E0"] - - [0x7F0701EC, "sub_CODE_7F0701EC"] - - [0x7F070AEC, "sub_CODE_7F070AEC"] - - [0x7F070F80, "sub_CODE_7F070F80"] - - [0x7F071030, "sub_CODE_7F071030"] - - [0x7F071B44, "sub_CODE_7F071B44"] - - [0x7F072644, "sub_CODE_7F072644"] - - [0x7F0726F8, "sub_CODE_7F0726F8"] - - [0x7F072784, "sub_CODE_7F072784"] - - [0x7F072984, "sub_CODE_7F072984"] - - [0x7F072C10, "sub_CODE_7F072C10"] - - [0x7F072C20, "dorottex:"] - - [0x7F073038, "sub_CODE_7F073038"] - - [0x7F07306C, "sub_CODE_7F07306C"] - - [0x7F07307C, "dotube"] - - [0x7F0737EC, "sub_CODE_7F0737EC"] - - [0x7F0737FC, "sub_CODE_7F0737FC"] - - [0x7F07380C, "dogfnegx"] - - [0x7F073FC8, "sub_CODE_7F073FC8"] - - [0x7F073FD4, "doshadow"] - - [0x7F074514, "sub_CODE_7F074514"] - - [0x7F074524, "sub_CODE_7F074524"] - - [0x7F074534, "sub_CODE_7F074534"] - - [0x7F074674, "def_7F074564"] - - [0x7F074684, "subdraw"] - - [0x7F074790, "sub_CODE_7F074790"] - - [0x7F0747D0, "sub_CODE_7F0747D0"] - - [0x7F074C68, "sub_CODE_7F074C68"] - - [0x7F074CAC, "sub_CODE_7F074CAC"] - - [0x7F0752FC, "sub_CODE_7F0752FC"] - - [0x7F075470, "def_7F0753C4"] - - [0x7F07549C, "sub_CODE_7F07549C"] - - [0x7F0754BC, "sub_CODE_7F0754BC"] - - [0x7F0755B0, "sub_CODE_7F0755B0"] - - [0x7F0755DC, "convert_obj_microcode_offset_to_rdram_addr"] - - [0x7F075A44, "def_7F075670"] - - [0x7F075A90, "sub_CODE_7F075A90"] - - [0x7F075B08, "sub_CODE_7F075B08"] - - [0x7F075B1C, "set_microcode_entry_numbers"] - - [0x7F075C84, "def_7F075B60"] - - [0x7F075CF4, "set_objuse_flag_compute_grp_nums_set_obj_loaded"] - - [0x7F075D2C, "unknown_object_microcode_handler"] - - [0x7F075EF4, "def_7F075D80"] - - [0x7F075F68, "sub_CODE_7F075F68"] - - [0x7F075FAC, "sub_CODE_7F075FAC"] - - [0x7F076030, "sub_CODE_7F076030"] - - [0x7F0760C4, "sub_CODE_7F0760C4"] - - [0x7F0761CC, "def_7F076120"] - - [0x7F07623C, "sub_CODE_7F07623C"] - - [0x7F0762E0, "sub_CODE_7F0762E0"] - - [0x7F0764A4, "load_object_fill_header"] - - [0x7F07654C, "load_object_into_memory"] - - [0x7F076574, "load_object_into_memory_unused_maybe"] - - # .s - # .text - - [0x7F0765A0, "is_less_than_certain_power_of_2"] - - [0x7F076648, "ceil8000"] - - [0x7F0766AC, "ceil4000"] - - [0x7F076710, "ceil2000"] - - [0x7F076774, "ceil1000"] - - [0x7F0767D8, "sub_CODE_7F0767D8"] - - [0x7F076848, "sub_CODE_7F076848"] - - [0x7F0768B8, "sub_CODE_7F0768B8"] - - [0x7F076928, "sub_CODE_7F076928"] - - [0x7F076998, "generate_microcode_for_othermode_setting"] - - [0x7F076D68, "likely_generate_DL_for_image_declaration"] - - [0x7F077BB8, "sub_CODE_7F077BB8"] - - # .s - # .text - - [0x7F077BD0, "nullsub_75"] - - [0x7F077BD8, "set_BONDdata_screensize"] - - [0x7F077C14, "sub_CODE_7F077C14"] - - [0x7F077C30, "sub_CODE_7F077C30"] - - [0x7F077C5C, "sub_CODE_7F077C5C"] - - [0x7F077EEC, "sub_CODE_7F077EEC"] - - [0x7F077FB4, "sub_CODE_7F077FB4"] - - [0x7F077FF4, "sub_CODE_7F077FF4"] - - [0x7F078060, "sub_CODE_7F078060"] - - [0x7F0780F0, "sub_CODE_7F0780F0"] - - [0x7F078140, "sub_CODE_7F078140"] - - [0x7F078258, "sub_CODE_7F078258"] - - [0x7F078324, "set_BONDdata_field_10C4"] - - [0x7F078334, "get_BONDdata_field_10C4"] - - [0x7F078344, "set_BONDdata_field_10C8"] - - [0x7F078354, "get_BONDdata_field_10C8"] - - [0x7F078364, "set_BONDdata_field_10D8"] - - [0x7F078374, "get_BONDdata_field_10D8"] - - [0x7F078384, "set_BONDdata_field_10E0"] - - [0x7F078394, "get_BONDdata_field_10E0"] - - [0x7F0783A4, "copy_BONDdata_field_10CC_to_10E8_set_10CC"] - - [0x7F0783C4, "get_BONDdata_field_10CC"] - - [0x7F0783D4, "set_BONDdata_field_10DC"] - - [0x7F0783E4, "get_BONDdata_field_10DC"] - - [0x7F0783F4, "sub_CODE_7F0783F4"] - - [0x7F078404, "sub_CODE_7F078404"] - - [0x7F078414, "sub_CODE_7F078414"] - - [0x7F078424, "sub_CODE_7F078424"] - - [0x7F078444, "sub_CODE_7F078444"] - - [0x7F078454, "sub_CODE_7F078454"] - - [0x7F078464, "sub_CODE_7F078464"] - - [0x7F078474, "sub_CODE_7F078474"] - - [0x7F078484, "sub_CODE_7F078484"] - - [0x7F078494, "sub_CODE_7F078494"] - - [0x7F0784A4, "sub_CODE_7F0784A4"] - - [0x7F0784B4, "sub_CODE_7F0784B4"] - - [0x7F0784C4, "sub_CODE_7F0784C4"] - - [0x7F0784D4, "sub_CODE_7F0784D4"] - - [0x7F0784E4, "sub_CODE_7F0784E4"] - - [0x7F0784F4, "sub_CODE_7F0784F4"] - - [0x7F078504, "sub_CODE_7F078504"] - - [0x7F078534, "sub_CODE_7F078534"] - - [0x7F078568, "sub_CODE_7F078568"] - - [0x7F078598, "sub_CODE_7F078598"] - - [0x7F0785CC, "sub_CODE_7F0785CC"] - - [0x7F0785DC, "sub_CODE_7F0785DC"] - - [0x7F078950, "sub_CODE_7F078950"] - - [0x7F078980, "sub_CODE_7F078980"] - - [0x7F0789B0, "sub_CODE_7F0789B0"] - - [0x7F0789E0, "sub_CODE_7F0789E0"] - - [0x7F078A10, "sub_CODE_7F078A10"] - - [0x7F078A58, "sub_CODE_7F078A58"] - - [0x7F078BF4, "sub_CODE_7F078BF4"] - - [0x7F0790F0, "sub_CODE_7F0790F0"] - - [0x7F0793EC, "init_player_BONDdata"] - - [0x7F0798B8, "sub_CODE_7F0798B8"] - - [0x7F079988, "sub_CODE_7F079988"] - - [0x7F0799AC, "sub_CODE_7F0799AC"] - - [0x7F0799F0, "sub_CODE_7F0799F0"] - - [0x7F079A1C, "sub_CODE_7F079A1C"] - - [0x7F079A50, "sub_CODE_7F079A50"] - - [0x7F079A60, "sub_CODE_7F079A60"] - - [0x7F079CF0, "solo_char_load"] - - [0x7F079E00, "cuff_3_boiler"] - - [0x7F079E0C, "cuff_2_jungle"] - - [0x7F079E18, "cuff_4_snowsuit"] - - [0x7F079E24, "cuff_1_brosnan"] - - [0x7F079E30, "cuff_5_connery"] - - [0x7F079E3C, "cuff_6_moore"] - - [0x7F079E48, "cuff_7_dalton"] - - [0x7F079E54, "cuff_8_variable_bond_head"] - - [0x7F079EF4, "boiler_bond_head_set"] - - [0x7F079F00, "jungle_head_set"] - - [0x7F079F0C, "brosnan_tux_head_set"] - - [0x7F079F18, "connery_head_set"] - - [0x7F079F24, "moore_head_set"] - - [0x7F079F30, "dalton_head_set"] - - [0x7F079F3C, "variable_body_head"] - - [0x7F07A4A0, "maybe_solo_intro_camera_handler"] - - [0x7F07A528, "get_camera_mode"] - - [0x7F07A534, "sub_CODE_7F07A534"] - - [0x7F07A9B8, "set_camera_mode"] - - [0x7F07B1A4, "sub_CODE_7F07B1A4"] - - [0x7F07B2A0, "sub_CODE_7F07B2A0"] - - [0x7F07B56C, "sub_CODE_7F07B56C"] - - [0x7F07C540, "sub_CODE_7F07C540"] - - [0x7F07C550, "set_BONDdata_lookahead_setting"] - - [0x7F07C560, "get_BONDdata_lookahead_setting"] - - [0x7F07C570, "set_BONDdata_autoaim_y"] - - [0x7F07C580, "get_BONDdata_autoaim_y"] - - [0x7F07C5C0, "redirect_get_BONDdata_autoaim_y"] - - [0x7F07C5E0, "get_BONDdata_is_aiming"] - - [0x7F07C5F0, "sub_CODE_7F07C5F0"] - - [0x7F07C658, "set_BONDdata_autoaim_x"] - - [0x7F07C668, "get_BONDdata_autoaim_x"] - - [0x7F07C6A8, "redirect_get_BONDdata_autoaim_x"] - - [0x7F07C6C8, "sub_CODE_7F07C6C8"] - - [0x7F07C730, "change_player_pos_to_target"] - - [0x7F07C7B4, "sub_CODE_7F07C7B4"] - - [0x7F07C888, "sub_CODE_7F07C888"] - - [0x7F07CA2C, "sub_CODE_7F07CA2C"] - - [0x7F07CAC8, "sub_CODE_7F07CAC8"] - - [0x7F07CDA8, "sub_CODE_7F07CDA8"] - - [0x7F07CDD4, "sub_CODE_7F07CDD4"] - - [0x7F07CE78, "get_intank_flag"] - - [0x7F07CE84, "get_ptr_for_players_tank"] - - [0x7F07CEB0, "sub_CODE_7F07CEB0"] - - [0x7F07CF80, "sub_CODE_7F07CF80"] - - [0x7F07CF8C, "sub_CODE_7F07CF8C"] - - [0x7F07D234, "sub_CODE_7F07D234"] - - [0x7F07D2B4, "sub_CODE_7F07D2B4"] - - [0x7F07D4C0, "sub_CODE_7F07D4C0"] - - [0x7F07D61C, "sub_CODE_7F07D61C"] - - [0x7F07D954, "sub_CODE_7F07D954"] - - [0x7F07D960, "sub_CODE_7F07D960"] - - [0x7F07DE64, "sub_CODE_7F07DE64"] - - [0x7F07DE9C, "sub_CODE_7F07DE9C"] - - [0x7F07DEFC, "sub_CODE_7F07DEFC"] - - [0x7F07DF28, "sub_CODE_7F07DF28"] - - [0x7F07E010, "sub_CODE_7F07E010"] - - [0x7F07E03C, "sub_CODE_7F07E03C"] - - [0x7F07E068, "sub_CODE_7F07E068"] - - [0x7F07E090, "sub_CODE_7F07E090"] - - [0x7F07E388, "sub_CODE_7F07E388"] - - [0x7F07E400, "trigger_watch_zoom"] - - [0x7F07E438, "sub_CODE_7F07E438"] - - [0x7F07E46C, "sub_CODE_7F07E46C"] - - [0x7F07E504, "sub_CODE_7F07E504"] - - [0x7F07E52C, "zoom_to_watch_on_open"] - - [0x7F07E594, "zoom_from_watch_on_exit"] - - [0x7F07E5FC, "check_watch_page_transistion_running"] - - [0x7F07E62C, "sub_CODE_7F07E62C"] - - [0x7F07E740, "sub_CODE_7F07E740"] - - [0x7F07E7CC, "sub_CODE_7F07E7CC"] - - [0x7F07E8B0, "sub_CODE_7F07E8B0"] - - [0x7F07E910, "sub_CODE_7F07E910"] - - [0x7F07E964, "sub_CODE_7F07E964"] - - [0x7F07EA78, "sub_CODE_7F07EA78"] - - [0x7F07EAD0, "set_BONDdata_paused_flag"] - - [0x7F07EAE0, "get_BONDdata_paused_flag"] - - [0x7F07EAF0, "sub_CODE_7F07EAF0"] - - [0x7F07EC54, "sub_CODE_7F07EC54"] - - [0x7F07F860, "sub_CODE_7F07F860"] - - [0x7F07F874, "trigger_solo_watch_menu"] - - [0x7F07FCC4, "sub_CODE_7F07FCC4"] - - [0x7F07FE1C, "sub_CODE_7F07FE1C"] - - [0x7F07FF74, "sub_CODE_7F07FF74"] - - [0x7F080010, "sub_CODE_7F080010"] - - [0x7F080228, "sub_CODE_7F080228"] - - [0x7F0802C4, "sub_CODE_7F0802C4"] - - [0x7F0804E0, "sub_CODE_7F0804E0"] - - [0x7F0807B0, "sub_CODE_7F0807B0"] - - [0x7F0807E0, "sub_CODE_7F0807E0"] - - [0x7F080858, "fade_to_over_seconds"] - - [0x7F08088C, "check_if_fade_to_black_complete"] - - [0x7F0808BC, "sub_CODE_7F0808BC"] - - [0x7F080A10, "set_curplayer_fade"] - - [0x7F080A80, "sub_CODE_7F080A80"] - - [0x7F080B34, "sub_CODE_7F080B34"] - - [0x7F080D60, "sub_CODE_7F080D60"] - - [0x7F080DF8, "sub_CODE_7F080DF8"] - - [0x7F081478, "sub_CODE_7F081478"] - - [0x7F081790, "sub_CODE_7F081790"] - - [0x7F081974, "controller_gameplay_interaction"] - - [0x7F083FC8, "sub_CODE_7F083FC8"] - - [0x7F084360, "sub_CODE_7F084360"] - - [0x7F084648, "MoveBond"] - - [0x7F086990, "sub_CODE_7F086990"] - - [0x7F086BF8, "sub_CODE_7F086BF8"] - - [0x7F086C1C, "sub_CODE_7F086C1C"] - - [0x7F086C40, "get_curplayer_viewport_width"] - - [0x7F086CC4, "get_curplayer_viewport_ulx"] - - [0x7F086D24, "get_curplayer_viewport_height"] - - [0x7F086E38, "get_curplayer_viewport_uly"] - - [0x7F086F9C, "possibly_reset_viewport_options_for_player"] - - [0x7F0875E4, "sub_CODE_7F0875E4"] - - [0x7F087664, "store_BONDdata_curpos_to_previous"] - - [0x7F0876C4, "sub_CODE_7F0876C4"] - - [0x7F087A08, "sub_CODE_7F087A08"] - - [0x7F087C14, "seems_to_load_cuff_microcode"] - - [0x7F087E74, "sub_CODE_7F087E74"] - - [0x7F088618, "sub_CODE_7F088618"] - - [0x7F0888E8, "mp_respawn_handler"] - - [0x7F088BE8, "mp_spawntype_spawn"] - - [0x7F088BF0, "mp_spawntype_weapon"] - - [0x7F088C30, "mp_spawntype_ammo"] - - [0x7F088C58, "mp_spawntype_intro_swirly"] - - [0x7F088C60, "mp_spawntype_intro_anim"] - - [0x7F088C68, "mp_spawntype_handcuff"] - - [0x7F088C70, "mp_spawntype_intro_camera"] - - [0x7F088C78, "mp_spawntype_default"] - - [0x7F088CD8, "sub_CODE_7F088CD8"] - - [0x7F089208, "maybe_mp_interface"] - - [0x7F0896C0, "write_stan_tiles_in_yellow"] - - [0x7F089718, "sub_CODE_7F089718"] - - [0x7F08976C, "sub_CODE_7F08976C"] - - [0x7F089778, "sub_CODE_7F089778"] - - [0x7F089780, "sub_CODE_7F089780"] - - [0x7F089798, "get_curplayer_positiondata"] - - [0x7F0897A8, "kill_current_player"] - - [0x7F0898E8, "sub_CODE_7F0898E8"] - - [0x7F08991C, "record_damage_kills"] - - [0x7F089E4C, "sub_CODE_7F089E4C"] - - [0x7F089EA4, "check_if_bond_is_invincible"] - - [0x7F089EBC, "check_if_healthbar_timer_greater_than_0"] - - [0x7F089ED4, "get_BONDdata_field19C"] - - [0x7F089EE4, "get_curplay_horizontal_rotation_in_degrees"] - - [0x7F089F10, "get_curplay_vertical_rotation_in_degrees"] - - [0x7F089F38, "sub_CODE_7F089F38"] - - [0x7F089F48, "set_bondata_invincible_flag"] - - [0x7F089F58, "get_bondata_invincible_flag"] - - [0x7F089F68, "set_invisible_to_guards_flag"] - - [0x7F089F74, "get_invisible_to_guards_flag"] - - [0x7F089F80, "set_obj_collision_flag"] - - [0x7F089F8C, "get_obj_collision_flag"] - - [0x7F089F98, "get_cur_players_room"] - - [0x7F089FD4, "get_BONDdata_position"] - - [0x7F08A000, "get_BONDdata_position3"] - - [0x7F08A02C, "get_BONDdata_field408"] - - [0x7F08A03C, "sub_CODE_7F08A03C"] - - [0x7F08A0B0, "sub_CODE_7F08A0B0"] - - [0x7F08A19C, "sub_CODE_7F08A19C"] - - [0x7F08A274, "sub_CODE_7F08A274"] - - [0x7F08A2EC, "get_BONDdata_watch_health"] - - [0x7F08A2FC, "get_BONDdata_watch_armor"] - - [0x7F08A30C, "add_BONDdata_watch_armor"] - - [0x7F08A330, "reset_intro_camera_message_dialogs_for_BONDdata"] - - [0x7F08A380, "unset_flags_in_BONDdata_stationary_intro_cam"] - - [0x7F08A39C, "set_flags_in_BONDdata_stationary_intro_cam"] - - [0x7F08A3B4, "sub_CODE_7F08A3B4"] - - [0x7F08A3C8, "display_string_in_lower_left_corner"] - - [0x7F08A4E4, "sub_CODE_7F08A4E4"] - - [0x7F08A5FC, "sub_CODE_7F08A5FC"] - - [0x7F08A900, "sub_CODE_7F08A900"] - - [0x7F08A928, "sub_CODE_7F08A928"] - - [0x7F08A944, "sub_CODE_7F08A944"] - - [0x7F08A95C, "display_string_at_top_of_screen"] - - [0x7F08A9F8, "sub_CODE_7F08A9F8"] - - [0x7F08AAE8, "sub_CODE_7F08AAE8"] - - [0x7F08B0F0, "sub_CODE_7F08B0F0"] - - [0x7F08BCB8, "sub_CODE_7F08BCB8"] - - [0x7F08BCC0, "sub_CODE_7F08BCC0"] - - [0x7F08BCF4, "sub_CODE_7F08BCF4"] - - [0x7F08BD18, "sub_CODE_7F08BD18"] - - [0x7F08BD48, "sub_CODE_7F08BD48"] - - [0x7F08BDC4, "sub_CODE_7F08BDC4"] - - [0x7F08BE2C, "sub_CODE_7F08BE2C"] - - [0x7F08BEEC, "sub_CODE_7F08BEEC"] - - [0x7F08BFB8, "sub_CODE_7F08BFB8"] - - [0x7F08BFC4, "trigger_explosions_around_player"] - - [0x7F08BFF0, "reinit_BONDdata_inventory"] - - [0x7F08C054, "sub_CODE_7F08C054"] - - [0x7F08C194, "add_additional_weapon_slot_to_player_inventory_documentation_guess"] - - [0x7F08C1FC, "reorder_inventory_ptrs_based_on_id_code"] - - [0x7F08C244, "get_ptr_next_available_weapon"] - - [0x7F08C29C, "set_BONDdata_allguns_flag"] - - [0x7F08C2AC, "get_BONDdata_allguns_flag"] - - [0x7F08C2BC, "get_ptr_inventory_item"] - - [0x7F08C314, "is_weapon_in_inv"] - - [0x7F08C338, "get_ptr_inventory_for_item_in_hand"] - - [0x7F08C39C, "is_item_for_hand_in_inventory"] - - [0x7F08C3C0, "check_if_item_available"] - - [0x7F08C40C, "check_if_item_for_hand_available"] - - [0x7F08C488, "add_item_to_inventory"] - - [0x7F08C50C, "add_doubles_item_to_inventory"] - - [0x7F08C570, "sub_CODE_7F08C570"] - - [0x7F08C61C, "sub_CODE_7F08C61C"] - - [0x7F08C724, "sub_CODE_7F08C724"] - - [0x7F08C764, "sub_CODE_7F08C764"] - - [0x7F08C86C, "sub_CODE_7F08C86C"] - - [0x7F08CB10, "sub_CODE_7F08CB10"] - - [0x7F08CE70, "sub_CODE_7F08CE70"] - - [0x7F08CF0C, "sub_CODE_7F08CF0C"] - - [0x7F08CF80, "sub_CODE_7F08CF80"] - - [0x7F08CFC0, "sub_CODE_7F08CFC0"] - - [0x7F08CFE0, "sub_CODE_7F08CFE0"] - - [0x7F08D038, "sub_CODE_7F08D038"] - - [0x7F08D108, "sub_CODE_7F08D108"] - - [0x7F08D21C, "sub_CODE_7F08D21C"] - - [0x7F08D25C, "sub_CODE_7F08D25C"] - - [0x7F08D2A8, "sub_CODE_7F08D2A8"] - - [0x7F08D340, "sub_CODE_7F08D340"] - - [0x7F08D434, "sub_CODE_7F08D434"] - - [0x7F08D528, "sub_CODE_7F08D528"] - - [0x7F08D550, "sub_CODE_7F08D550"] - - [0x7F08D578, "sub_CODE_7F08D578"] - - [0x7F08D5A0, "sub_CODE_7F08D5A0"] - - [0x7F08D5C8, "sub_CODE_7F08D5C8"] - - [0x7F08D6BC, "sub_CODE_7F08D6BC"] - - [0x7F08D7B0, "sub_CODE_7F08D7B0"] - - [0x7F08D7D8, "sub_CODE_7F08D7D8"] - - [0x7F08D800, "sub_CODE_7F08D800"] - - [0x7F08D828, "sub_CODE_7F08D828"] - - [0x7F08D850, "sub_CODE_7F08D850"] - - [0x7F08D878, "sub_CODE_7F08D878"] - - [0x7F08D8A0, "sub_CODE_7F08D8A0"] - - [0x7F08D8C0, "sub_CODE_7F08D8C0"] - - [0x7F08D8D0, "sub_CODE_7F08D8D0"] - - [0x7F08D8E0, "sub_CODE_7F08D8E0"] - - [0x7F08D95C, "sub_CODE_7F08D95C"] - - [0x7F08D9A4, "sub_CODE_7F08D9A4"] - - [0x7F08D9EC, "sub_CODE_7F08D9EC"] - - [0x7F08DB08, "sub_CODE_7F08DB08"] - - # .s - # .text - - [0x7F08DBB0, "sub_CODE_7F08DBB0"] - - [0x7F08DBC8, "sub_CODE_7F08DBC8"] - - [0x7F08DE48, "sub_CODE_7F08DE48"] - - [0x7F08DF44, "sub_CODE_7F08DF44"] - - [0x7F08E164, "sub_CODE_7F08E164"] - - [0x7F08E240, "sub_CODE_7F08E240"] - - [0x7F08E8BC, "sub_CODE_7F08E8BC"] - - [0x7F08EA48, "sub_CODE_7F08EA48"] - - [0x7F08EAB8, "sub_CODE_7F08EAB8"] - - [0x7F08EAF8, "sub_CODE_7F08EAF8"] - - [0x7F08EBD0, "sub_CODE_7F08EBD0"] - - [0x7F08EC8C, "sub_CODE_7F08EC8C"] - - [0x7F08ED60, "sub_CODE_7F08ED60"] - - [0x7F08EDB4, "sub_CODE_7F08EDB4"] - - [0x7F08EE00, "sub_CODE_7F08EE00"] - - [0x7F08EE70, "sub_CODE_7F08EE70"] - - [0x7F08EF1C, "sub_CODE_7F08EF1C"] - - [0x7F08EFA0, "sub_CODE_7F08EFA0"] - - [0x7F08F090, "sub_CODE_7F08F090"] - - [0x7F08F0E8, "sub_CODE_7F08F0E8"] - - [0x7F08F138, "sub_CODE_7F08F138"] - - [0x7F08F1D8, "sub_CODE_7F08F1D8"] - - [0x7F08F2CC, "sub_CODE_7F08F2CC"] - - [0x7F08F350, "sub_CODE_7F08F350"] - - [0x7F08F438, "sub_CODE_7F08F438"] - - [0x7F08F4F0, "sub_CODE_7F08F4F0"] - - [0x7F08F67C, "sub_CODE_7F08F67C"] - - [0x7F08F6B0, "sub_CODE_7F08F6B0"] - - [0x7F08F908, "sub_CODE_7F08F908"] - - [0x7F08FB90, "sub_CODE_7F08FB90"] - - [0x7F08FD1C, "sub_CODE_7F08FD1C"] - - # .s - # .text - - [0x7F08FE00, "nullsub_32"] - - [0x7F08FE08, "sub_CODE_7F08FE08"] - - [0x7F08FE14, "init_debug_menu_values"] - - [0x7F08FE74, "print_debug_mcm_to_stdout"] - - [0x7F09000C, "sub_CODE_7F09000C"] - - [0x7F0901B0, "get_highlighted_debug_option"] - - [0x7F0901BC, "sub_CODE_7F0901BC"] - - [0x7F0901C8, "sub_CODE_7F0901C8"] - - [0x7F090248, "sub_CODE_7F090248"] - - [0x7F0902C0, "sub_CODE_7F0902C0"] - - [0x7F09039C, "sub_CODE_7F09039C"] - - # .s - # .text - - [0x7F090490, "display_debug_menu_text_onscreen"] - - [0x7F0904C4, "sub_CODE_7F0904C4"] - - [0x7F090508, "sub_CODE_7F090508"] - - [0x7F09054C, "sub_CODE_7F09054C"] - - [0x7F090590, "unknown_libname_68"] - - [0x7F090598, "nullsub_35"] - - [0x7F0905A0, "debug_menu_processor"] - - [0x7F090778, "debug_stanview"] - - [0x7F090788, "debug_bondview"] - - [0x7F0907A8, "debug_level"] - - [0x7F0907D0, "debug_scale"] - - [0x7F0907E4, "debug_selectanim"] - - [0x7F0907F8, "debug_gunpos"] - - [0x7F09080C, "debug_flashcolor"] - - [0x7F090820, "debug_hitcolor"] - - [0x7F090848, "debug_screenpos"] - - [0x7F09085C, "debug_music"] - - [0x7F090870, "portal_close_inf_approx"] - - [0x7F090888, "debug_sfx"] - - [0x7F09089C, "debug_invincible"] - - [0x7F0908B4, "debug_visible"] - - [0x7F0908CC, "debug_collisions"] - - [0x7F0908E4, "debug_allguns"] - - [0x7F090934, "debug_maxammo"] - - [0x7F090990, "debug_displayspeed"] - - [0x7F0909B8, "debug_dodrawbg"] - - [0x7F0909D0, "debug_dodrawobj"] - - [0x7F0909E8, "debug_stanhit"] - - [0x7F090A00, "debug_stanregion"] - - [0x7F090A18, "debug_turbo"] - - [0x7F090A30, "debug_printmanpos"] - - [0x7F090A48, "debug_testingmanpos"] - - [0x7F090A60, "debug_playtitle"] - - [0x7F090A70, "debug_bonddie"] - - [0x7F090A80, "debug_prroomloads"] - - [0x7F090A98, "debug_showmemuse"] - - [0x7F090AA8, "debug_showmembars"] - - [0x7F090AB8, "debug_grabrgb"] - - [0x7F090ADC, "debug_grabjpeg"] - - [0x7F090B00, "debug_taskgrab"] - - [0x7F090B18, "debug_recordramrom"] - - [0x7F090B28, "debug_ramrom_record1"] - - [0x7F090B38, "debug_ramrom_record2"] - - [0x7F090B48, "debug_ramrom_record3"] - - [0x7F090B58, "debug_replayramrom"] - - [0x7F090B68, "debug_saveramrom"] - - [0x7F090B78, "debug_loadramrom"] - - [0x7F090B88, "debug_autoyaim"] - - [0x7F090BA0, "debug_autoxaim"] - - [0x7F090BB8, "debug_007"] - - [0x7F090BD0, "debug_agent"] - - [0x7F090BE8, "debug_all"] - - [0x7F090C00, "fast_bond_debug"] - - [0x7F090C18, "debug_objectives"] - - [0x7F090C30, "debug_showpatrols"] - - [0x7F090C48, "debug_intro"] - - [0x7F090C58, "debug_intropos"] - - [0x7F090C78, "debug_worldpos"] - - [0x7F090D18, "debug_chrkeypos"] - - [0x7F090D2C, "debug_chrnum"] - - [0x7F090D44, "debug_viscvc"] - - [0x7F090D5C, "debug_joy2skyedit"] - - [0x7F090D74, "debug_joy2hitsedit"] - - [0x7F090D8C, "debug_joy2detailedit"] - - [0x7F090DA4, "debug_explosioninfo"] - - [0x7F090DBC, "debug_magicfog"] - - [0x7F090DD0, "debug_fog"] - - [0x7F090DE4, "debug_gunwatchpos"] - - [0x7F090DFC, "debug_roomblocks"] - - [0x7F090E0C, "debug_profile"] - - [0x7F090E44, "debug_objload"] - - [0x7F090E54, "debug_weaponload"] - - [0x7F090E64, "debug_introedit"] - - [0x7F090E74, "def_7F090770"] - - [0x7F090EB0, "def_7F090EA8"] - - [0x7F090EFC, "get_debug_render_raster"] - - [0x7F090F08, "get_debug_freeze_processing"] - - [0x7F090F14, "get_debug_limit_controller_input"] - - [0x7F090F20, "set_debug_limit_controller_input"] - - [0x7F090F34, "get_memusage_display_flag"] - - [0x7F090F40, "get_debug_do_draw_bg"] - - [0x7F090F4C, "get_debug_do_draw_obj"] - - [0x7F090F58, "get_debug_stanhit_flag"] - - [0x7F090F64, "get_debug_stanregion_flag"] - - [0x7F090F70, "get_turbo_mode_flag"] - - [0x7F090F7C, "get_debug_man_pos_flag"] - - [0x7F090F88, "get_debug_testingmanpos_flag"] - - [0x7F090F94, "set_debug_testingmanpos_flag"] - - [0x7F090FA0, "get_debug_joy2skyedit_flag"] - - [0x7F090FAC, "get_debug_joy2hitsedit_flag"] - - [0x7F090FB8, "get_debug_joy2detailedit_flag"] - - [0x7F090FC4, "get_debug_explosioninfo_flag"] - - [0x7F090FD0, "get_debug_prroomloads_flag"] - - [0x7F090FDC, "get_debug_VisCVG_flag"] - - [0x7F090FE8, "set_debug_VisCVG_flag"] - - [0x7F090FF4, "get_debug_007_unlock_flag"] - - [0x7F091000, "get_debug_enable_agent_levels_flag"] - - [0x7F09100C, "get_debug_enable_all_levels_flag"] - - [0x7F091018, "get_debug_fast_bond_flag"] - - [0x7F091024, "set_debug_fast_bond_flag"] - - [0x7F091030, "get_debug_all_obj_complete_flag"] - - [0x7F09103C, "get_debug_portal_flag"] - - [0x7F091048, "get_debug_chrnum_flag"] - - [0x7F091054, "get_debug_gunwatchpos_flag"] - - [0x7F091060, "get_debug_profile_flag"] - - [0x7F09106C, "get_debug_taskgrab_val"] - - # .s - # .text - - [0x7F091080, "sub_CODE_7F091080"] - - [0x7F091580, "sub_CODE_7F091580"] - - [0x7F0915BC, "sub_CODE_7F0915BC"] - - [0x7F091618, "sub_CODE_7F091618"] - - [0x7F09166C, "sub_CODE_7F09166C"] - - [0x7F0916F4, "sub_CODE_7F0916F4"] - - # .s - # .text - - [0x7F091740, "sub_CODE_7F091740"] - - [0x7F09177C, "sub_CODE_7F09177C"] - - [0x7F09193C, "sub_CODE_7F09193C"] - - [0x7F091A5C, "sub_CODE_7F091A5C"] - - [0x7F091A78, "sub_CODE_7F091A78"] - - [0x7F091AAC, "sub_CODE_7F091AAC"] - - [0x7F091B64, "sub_CODE_7F091B64"] - - [0x7F091C10, "cheats_cheat_extra_mp_chars"] - - [0x7F091C20, "cheats_cheat_invincibility"] - - [0x7F091C50, "cheats_cheat_allguns"] - - [0x7F091C80, "cheats_cheat_max_ammo"] - - [0x7F091CA0, "cheats_cheat_deactivate_invincibility"] - - [0x7F091D28, "cheats_cheat_linemode"] - - [0x7F091D38, "cheats_cheat_2x_health"] - - [0x7F091DB8, "cheats_cheat_2x_armor"] - - [0x7F091E2C, "cheats_cheat_invisibility"] - - [0x7F091E5C, "cheats_cheat_infinite_ammo"] - - [0x7F091E74, "cheats_cheat_dk_mode"] - - [0x7F091E94, "cheats_cheat_extra_weapons"] - - [0x7F091F5C, "cheats_cheat_tiny_bond"] - - [0x7F091FDC, "cheats_cheat_paintball"] - - [0x7F091FF4, "cheats_cheat_10x_health"] - - [0x7F092068, "cheats_cheat_magnum"] - - [0x7F092098, "cheats_cheat_laser"] - - [0x7F0920B4, "cheats_cheat_goldengun"] - - [0x7F0920E4, "cheats_cheat_silverpp7"] - - [0x7F092114, "cheats_cheat_goldpp7"] - - [0x7F092144, "cheats_cheat_invisibility_mp"] - - [0x7F092160, "cheats_cheat_fast"] - - [0x7F092190, "cheats_debug_pos"] - - [0x7F0921B0, "cheats_debug_fast_ani"] - - [0x7F0921FC, "cheats_debug_slow_ani"] - - [0x7F092248, "cheats_debug_2x_rockets"] - - [0x7F092278, "cheats_debug_2x_grenade_launch"] - - [0x7F0922A8, "cheats_debug_2x_rcp90"] - - [0x7F0922D8, "cheats_debug_2x_throwing_knife"] - - [0x7F092308, "cheats_debug_2x_hunting_knife"] - - [0x7F092324, "cheats_debug_2x_laser"] - - [0x7F092340, "cheats_debug_unlockcheat"] - - [0x7F092380, "cheats_debug_unlocklevel"] - - [0x7F092428, "cheats_debug_return_saved_ra"] - - [0x7F092438, "sub_CODE_7F092438"] - - [0x7F0924D8, "cheat_button_invincibility"] - - [0x7F092508, "cheat_button_all_guns"] - - [0x7F092538, "cheat_button_line_mode"] - - [0x7F092548, "cheat_button_unknown"] - - [0x7F092578, "cheat_button_infinite_ammo"] - - [0x7F092590, "cheat_button_dkmode"] - - [0x7F0925B0, "cheat_button_unknown_0"] - - [0x7F092630, "cheat_button_paintball"] - - [0x7F092648, "cheat_button_mp_invis"] - - [0x7F092668, "cheat_button_fast_mode"] - - [0x7F092698, "cheat_button_debug_mode"] - - [0x7F0926B0, "cheat_button_default"] - - [0x7F0926C0, "sub_CODE_7F0926C0"] - - [0x7F092774, "sub_CODE_7F092774"] - - [0x7F0927BC, "sub_CODE_7F0927BC"] - - [0x7F0927F4, "sub_CODE_7F0927F4"] - - # .s - # .text - - [0x7F092890, "sub_CODE_7F092890"] - - # .s - # .text - - [0x7F092E50, "sub_CODE_7F092E50"] - - [0x7F09343C, "sub_CODE_7F09343C"] - - [0x7F09365C, "sub_CODE_7F09365C"] - - # .s - # .text - - [0x7F093880, "sub_CODE_7F093880"] - - [0x7F0938FC, "sub_CODE_7F0938FC"] - - [0x7F093A78, "sub_CODE_7F093A78"] - - [0x7F093BFC, "sub_CODE_7F093BFC"] - - [0x7F093C48, "sub_CODE_7F093C48"] - - [0x7F093C88, "sub_CODE_7F093C88"] - - [0x7F093CB0, "sub_CODE_7F093CB0"] - - [0x7F093FA4, "sub_CODE_7F093FA4"] - - [0x7F094298, "sub_CODE_7F094298"] - - [0x7F09442C, "sub_CODE_7F09442C"] - - [0x7F094438, "sub_CODE_7F094438"] - - [0x7F094488, "sub_CODE_7F094488"] - - [0x7F0957A4, "def_7F094A38"] - - [0x7F096E20, "def_7F095E0C"] - - [0x7F097388, "sub_CODE_7F097388"] - - [0x7F0977B4, "sub_CODE_7F0977B4"] - - [0x7F097818, "sub_CODE_7F097818"] - - [0x7F098A2C, "sub_CODE_7F098A2C"] - - [0x7F09A2E0, "default_player_perspective_and_height"] - - [0x7F09A32C, "reset_play_data_ptrs"] - - [0x7F09A38C, "init_player_data_ptrs_construct_viewports"] - - [0x7F09A464, "get_num_players"] - - [0x7F09A4BC, "sub_CODE_7F09A4BC"] - - [0x7F09B10C, "set_cur.player"] - - [0x7F09B150, "get_cur.playernum"] - - [0x7F09B15C, "sub_CODE_7F09B15C"] - - [0x7F09B1DC, "set_cur.player_screen_size"] - - [0x7F09B1F8, "set_cur.player_viewport_size"] - - [0x7F09B214, "sub_CODE_7F09B214"] - - [0x7F09B224, "sub_CODE_7F09B224"] - - [0x7F09B234, "sub_CODE_7F09B234"] - - [0x7F09B244, "sub_CODE_7F09B244"] - - [0x7F09B284, "weapon_multi_hunting_knife"] - - [0x7F09B28C, "weapon_multi_pp7"] - - [0x7F09B294, "weapon_multi_klobb"] - - [0x7F09B29C, "weapon_multi_kf7"] - - [0x7F09B2A4, "weapon_multi_zmg"] - - [0x7F09B2AC, "weapon_multi_d5k"] - - [0x7F09B2B4, "weapon_multi_phantom"] - - [0x7F09B2BC, "weapon_multi_ar33"] - - [0x7F09B2C4, "weapon_multi_rcp90"] - - [0x7F09B2CC, "weapon_multi_shotgun"] - - [0x7F09B2D4, "weapon_multi_grenade_laun"] - - [0x7F09B2DC, "weapon_multi_hand"] - - [0x7F09B2E4, "weapon_multi_remote"] - - [0x7F09B2EC, "weapon_multi_prox"] - - [0x7F09B2F4, "weapon_multi_timed"] - - [0x7F09B2FC, "weapon_multi_cougar"] - - [0x7F09B304, "weapon_multi_moonraker"] - - [0x7F09B30C, "weapon_multi_sniper"] - - [0x7F09B314, "weapon_multi_d5k_silent"] - - [0x7F09B31C, "weapon_multi_dd44"] - - [0x7F09B324, "weapon_multi_pp7_silent"] - - [0x7F09B32C, "weapon_multi_throwing_knife"] - - [0x7F09B334, "weapon_multi_auto_shot"] - - [0x7F09B33C, "weapon_multi_rocket_launch"] - - [0x7F09B344, "weapon_multi_goldengun"] - - [0x7F09B34C, "weapon_multi_pp7_special1"] - - [0x7F09B354, "weapon_multi_pp7_special2"] - - [0x7F09B360, "weapon_multi_none"] - - [0x7F09B368, "sub_CODE_7F09B368"] - - [0x7F09B398, "sub_CODE_7F09B398"] - - [0x7F09B41C, "sub_CODE_7F09B41C"] - - [0x7F09B4D8, "sub_CODE_7F09B4D8"] - - [0x7F09B528, "sub_CODE_7F09B528"] - - # .s - # .text - - [0x7F09B600, "sub_CODE_7F09B600"] - - # .s - # .text - - [0x7F09B740, "sub_CODE_7F09B740"] - - [0x7F09B788, "sub_CODE_7F09B788"] - - # .s - # .text - - [0x7F09B7A0, "null_init_main_1"] - - [0x7F09B7A8, "sub_CODE_7F09B7A8"] - - [0x7F09B7E4, "sub_CODE_7F09B7E4"] - - [0x7F09B820, "sub_CODE_7F09B820"] - - [0x7F09BAC4, "sub_CODE_7F09BAC4"] - - [0x7F09BBBC, "sub_CODE_7F09BBBC"] - - [0x7F09BE4C, "sub_CODE_7F09BE4C"] - - [0x7F09C044, "sub_CODE_7F09C044"] - - # .s - # .text - - [0x7F09C250, "sub_CODE_7F09C250"] - - [0x7F09C7AC, "sub_CODE_7F09C7AC"] - - [0x7F09C7C4, "sub_CODE_7F09C7C4"] - - [0x7F09C9D8, "sub_CODE_7F09C9D8"] - - [0x7F09CEE8, "sub_CODE_7F09CEE8"] - - [0x7F09D4EC, "sub_CODE_7F09D4EC"] - - [0x7F09D5A0, "sub_CODE_7F09D5A0"] - - [0x7F09D82C, "sub_CODE_7F09D82C"] - - [0x7F09DDA4, "sub_CODE_7F09DDA4"] - - [0x7F09E700, "sub_CODE_7F09E700"] - - [0x7F09E8AC, "sub_CODE_7F09E8AC"] - - [0x7F09EF9C, "sub_CODE_7F09EF9C"] - - [0x7F09F03C, "sub_CODE_7F09F03C"] - - [0x7F09F254, "sub_CODE_7F09F254"] - - [0x7F09FD3C, "sub_CODE_7F09FD3C"] - - [0x7F0A0034, "sub_CODE_7F0A0034"] - - [0x7F0A027C, "sub_CODE_7F0A027C"] - - [0x7F0A0AB4, "sub_CODE_7F0A0AB4"] - - [0x7F0A0C74, "sub_CODE_7F0A0C74"] - - [0x7F0A0CCC, "sub_CODE_7F0A0CCC"] - - [0x7F0A0D90, "sub_CODE_7F0A0D90"] - - [0x7F0A0E98, "sub_CODE_7F0A0E98"] - - [0x7F0A108C, "sub_CODE_7F0A108C"] - - [0x7F0A1A94, "sub_CODE_7F0A1A94"] - - [0x7F0A1D78, "sub_CODE_7F0A1D78"] - - # .s - # .text - - [0x7F0A1DA0, "sub_CODE_7F0A1DA0"] - - [0x7F0A2160, "sub_CODE_7F0A2160"] - - [0x7F0A28D4, "sub_CODE_7F0A28D4"] - - [0x7F0A2C44, "sub_CODE_7F0A2C44"] - - [0x7F0A2F30, "sub_CODE_7F0A2F30"] - - [0x7F0A3330, "sub_CODE_7F0A3330"] - - [0x7F0A33F8, "sub_CODE_7F0A33F8"] - - [0x7F0A3978, "sub_CODE_7F0A3978"] - - [0x7F0A3AB8, "sub_CODE_7F0A3AB8"] - - [0x7F0A3B40, "sub_CODE_7F0A3B40"] - - [0x7F0A3B70, "sub_CODE_7F0A3B70"] - - [0x7F0A3BA4, "sub_CODE_7F0A3BA4"] - - [0x7F0A3BD8, "sub_CODE_7F0A3BD8"] - - [0x7F0A3C08, "sub_CODE_7F0A3C08"] - - [0x7F0A3E1C, "sub_CODE_7F0A3E1C"] - - [0x7F0A3EA0, "sub_CODE_7F0A3EA0"] - - [0x7F0A3F04, "sub_CODE_7F0A3F04"] - - [0x7F0A4528, "sub_CODE_7F0A4528"] - - [0x7F0A4594, "sub_CODE_7F0A4594"] - - [0x7F0A45D8, "sub_CODE_7F0A45D8"] - - [0x7F0A4600, "sub_CODE_7F0A4600"] - - [0x7F0A46A0, "sub_CODE_7F0A46A0"] - - [0x7F0A4768, "sub_CODE_7F0A4768"] - - [0x7F0A47D4, "sub_CODE_7F0A47D4"] - - [0x7F0A47FC, "sub_CODE_7F0A47FC"] - - [0x7F0A4824, "sub_CODE_7F0A4824"] - - # .s - # .text - - [0x7F0A4860, "nullsub_46"] - - [0x7F0A4868, "init_watch_at_start_of_stage"] - - [0x7F0A4A98, "sub_CODE_7F0A4A98"] - - [0x7F0A4B40, "sub_CODE_7F0A4B40"] - - [0x7F0A4D74, "sub_CODE_7F0A4D74"] - - [0x7F0A4DC0, "cur.player.get.control_type"] - - [0x7F0A4DD0, "cur.player.set.control_type"] - - [0x7F0A4E38, "get_cur.player.look.vertical.inverted"] - - [0x7F0A4E44, "set_cur.player.look.vertical.inverted"] - - [0x7F0A4E50, "cur.player.get.autoaim"] - - [0x7F0A4E5C, "cur.player.set.autoaim"] - - [0x7F0A4E68, "cur.player.get.lookahead"] - - [0x7F0A4E74, "cur.player.set.lookahead"] - - [0x7F0A4E80, "cur.player.get.aim.control"] - - [0x7F0A4E8C, "cur.player.set.aim.control"] - - [0x7F0A4E98, "cur.player.get.sight.onscreen.control"] - - [0x7F0A4EA4, "cur.player.set.sight.onscreen.control"] - - [0x7F0A4EB0, "cur.player.get.ammo.onscreen.setting"] - - [0x7F0A4EBC, "cur.player.set.ammo.onscreen.setting"] - - [0x7F0A4EC8, "cur.player.get.screen.setting"] - - [0x7F0A4ED4, "cur.player.set.screen.setting"] - - [0x7F0A4EE0, "get.screen_ratio"] - - [0x7F0A4EEC, "set.screen_ratio"] - - [0x7F0A4EF8, "sub_CODE_7F0A4EF8"] - - [0x7F0A4F44, "sub_CODE_7F0A4F44"] - - [0x7F0A4F50, "is_holding_greater_than_2E_left_on_stick"] - - [0x7F0A4F74, "is_holding_greater_than_2E_right_on_stick"] - - [0x7F0A4F98, "get.controlstick_lr_enabled"] - - [0x7F0A4FA4, "set.controlstick_lr_enabled"] - - [0x7F0A4FB0, "sub_CODE_7F0A4FB0"] - - [0x7F0A4FEC, "sub_CODE_7F0A4FEC"] - - [0x7F0A5028, "sub_CODE_7F0A5028"] - - [0x7F0A504C, "sub_CODE_7F0A504C"] - - [0x7F0A5070, "sub_CODE_7F0A5070"] - - [0x7F0A507C, "sub_CODE_7F0A507C"] - - [0x7F0A5088, "sub_CODE_7F0A5088"] - - [0x7F0A50C4, "sub_CODE_7F0A50C4"] - - [0x7F0A5100, "sub_CODE_7F0A5100"] - - [0x7F0A5124, "sub_CODE_7F0A5124"] - - [0x7F0A5148, "sub_CODE_7F0A5148"] - - [0x7F0A5154, "sub_CODE_7F0A5154"] - - [0x7F0A5160, "sub_CODE_7F0A5160"] - - [0x7F0A519C, "sub_CODE_7F0A519C"] - - [0x7F0A51D8, "sub_CODE_7F0A51D8"] - - [0x7F0A5210, "sub_CODE_7F0A5210"] - - [0x7F0A526C, "sub_CODE_7F0A526C"] - - [0x7F0A53D8, "sub_CODE_7F0A53D8"] - - [0x7F0A5504, "sub_CODE_7F0A5504"] - - [0x7F0A55C4, "sub_CODE_7F0A55C4"] - - [0x7F0A56A4, "sub_CODE_7F0A56A4"] - - [0x7F0A5784, "sub_CODE_7F0A5784"] - - [0x7F0A5860, "sub_CODE_7F0A5860"] - - [0x7F0A5900, "sub_CODE_7F0A5900"] - - [0x7F0A5998, "sub_CODE_7F0A5998"] - - [0x7F0A5A64, "sub_CODE_7F0A5A64"] - - [0x7F0A5AF4, "sub_CODE_7F0A5AF4"] - - [0x7F0A5B80, "sub_CODE_7F0A5B80"] - - [0x7F0A611C, "sub_CODE_7F0A611C"] - - [0x7F0A6618, "sub_CODE_7F0A6618"] - - [0x7F0A66A0, "sub_CODE_7F0A66A0"] - - [0x7F0A672C, "sub_CODE_7F0A672C"] - - [0x7F0A67BC, "sub_CODE_7F0A67BC"] - - [0x7F0A684C, "sub_CODE_7F0A684C"] - - [0x7F0A68D8, "sub_CODE_7F0A68D8"] - - [0x7F0A69A8, "sub_CODE_7F0A69A8"] - - [0x7F0A6A2C, "sub_CODE_7F0A6A2C"] - - [0x7F0A6A80, "sub_CODE_7F0A6A80"] - - [0x7F0A6EB0, "def_7F0A6E80"] - - [0x7F0A6ED8, "def_7F0A6DFC"] - - [0x7F0A6EE8, "sub_CODE_7F0A6EE8"] - - [0x7F0A70AC, "sub_CODE_7F0A70AC"] - - [0x7F0A714C, "sub_CODE_7F0A714C"] - - [0x7F0A77A8, "sub_CODE_7F0A77A8"] - - [0x7F0A77C8, "sub_CODE_7F0A77C8"] - - [0x7F0A7C18, "sub_CODE_7F0A7C18"] - - [0x7F0A7DBC, "sub_CODE_7F0A7DBC"] - - [0x7F0A7DC4, "sub_CODE_7F0A7DC4"] - - [0x7F0A7EA8, "debug_gun_watch_move_related"] - - [0x7F0A830C, "sub_CODE_7F0A830C"] - - [0x7F0A8378, "sub_CODE_7F0A8378"] - - [0x7F0A8424, "debug_gun_watch_move_related2"] - - [0x7F0A8B10, "sub_CODE_7F0A8B10"] - - [0x7F0A8D40, "sub_CODE_7F0A8D40"] - - [0x7F0A8ED0, "sub_CODE_7F0A8ED0"] - - [0x7F0A8FEC, "sub_CODE_7F0A8FEC"] - - [0x7F0A9180, "sub_CODE_7F0A9180"] - - [0x7F0A91A0, "sub_CODE_7F0A91A0"] - - [0x7F0A91C8, "sub_CODE_7F0A91C8"] - - [0x7F0A9358, "sub_CODE_7F0A9358"] - - [0x7F0A9364, "sub_CODE_7F0A9364"] - - [0x7F0A9398, "sub_CODE_7F0A9398"] - - [0x7F0A95C4, "sub_CODE_7F0A95C4"] - - [0x7F0A9610, "sub_CODE_7F0A9610"] - - [0x7F0A9684, "sub_CODE_7F0A9684"] - - [0x7F0A97D0, "sub_CODE_7F0A97D0"] - - [0x7F0A9AB8, "sub_CODE_7F0A9AB8"] - - [0x7F0AA7C8, "sub_CODE_7F0AA7C8"] - - [0x7F0AADC0, "sub_CODE_7F0AADC0"] - - [0x7F0AB48C, "sub_CODE_7F0AB48C"] - - [0x7F0AB498, "sub_CODE_7F0AB498"] - - [0x7F0AB4A4, "sub_CODE_7F0AB4A4"] - - [0x7F0AB4B0, "sub_CODE_7F0AB4B0"] - - [0x7F0AB4B8, "sub_CODE_7F0AB4B8"] - - [0x7F0AB7A4, "sub_CODE_7F0AB7A4"] - - [0x7F0AB7D8, "sub_CODE_7F0AB7D8"] - - [0x7F0AB908, "sub_CODE_7F0AB908"] - - [0x7F0ABC1C, "sub_CODE_7F0ABC1C"] - - [0x7F0ABDFC, "sub_CODE_7F0ABDFC"] - - [0x7F0AC0E8, "sub_CODE_7F0AC0E8"] - - [0x7F0AC120, "sub_CODE_7F0AC120"] - - [0x7F0AC168, "sub_CODE_7F0AC168"] - - [0x7F0AC8EC, "def_7F0AC3B0"] - - [0x7F0ACA28, "sub_CODE_7F0ACA28"] - - [0x7F0ACB5C, "def_7F0ACAC8"] - - [0x7F0ACB70, "null_init_main"] - - [0x7F0ACB78, "sub_CODE_7F0ACB78"] - - [0x7F0ACB88, "sub_CODE_7F0ACB88"] - - [0x7F0ACB94, "sub_CODE_7F0ACB94"] - - [0x7F0ACBA0, "sub_CODE_7F0ACBA0"] - - [0x7F0ACBAC, "load_font_tables"] - - [0x7F0ACD98, "microcode_constructor"] - - [0x7F0ACEF0, "combiner_bayer_lod_perspective"] - - [0x7F0ACF4C, "draw_blackbox_to_screen"] - - [0x7F0AD014, "microcode_constructor_related_to_menus"] - - [0x7F0AD0F8, "sub_CODE_7F0AD0F8"] - - [0x7F0ADABC, "en_text_write_stuff"] - - [0x7F0ADDAC, "sub_CODE_7F0ADDAC"] - - [0x7F0AE45C, "sub_CODE_7F0AE45C"] - - [0x7F0AE6EC, "jp_text_write_stuff"] - - [0x7F0AE98C, "sub_CODE_7F0AE98C"] - - [0x7F0AEB64, "sub_CODE_7F0AEB64"] - - [0x7F0AEF0C, "sub_CODE_7F0AEF0C"] - - [0x7F0AEF20, "sub_CODE_7F0AEF20"] - - # .s - # .text - - [0x7F0AEF30, "sub_CODE_7F0AEF30"] - - [0x7F0AEF3C, "sub_CODE_7F0AEF3C"] - - [0x7F0AEFE0, "sub_CODE_7F0AEFE0"] - - [0x7F0AF000, "sub_CODE_7F0AF000"] - - [0x7F0AF00C, "something_stan_c_debug_related"] - - [0x7F0AF038, "sub_CODE_7F0AF038"] - - [0x7F0AF20C, "sub_CODE_7F0AF20C"] - - [0x7F0AF5B8, "sub_CODE_7F0AF5B8"] - - [0x7F0AF630, "sub_CODE_7F0AF630"] - - [0x7F0AF638, "sub_CODE_7F0AF638"] - - [0x7F0AF760, "sub_CODE_7F0AF760"] - - [0x7F0AF808, "sub_CODE_7F0AF808"] - - [0x7F0AF924, "sub_CODE_7F0AF924"] - - [0x7F0AFA1C, "sub_CODE_7F0AFA1C"] - - [0x7F0AFB1C, "sub_CODE_7F0AFB1C"] - - [0x7F0AFB78, "sub_CODE_7F0AFB78"] - - [0x7F0AFD1C, "sub_CODE_7F0AFD1C"] - - [0x7F0AFE70, "sub_CODE_7F0AFE70"] - - [0x7F0AFFCC, "sub_CODE_7F0AFFCC"] - - [0x7F0B0018, "sub_CODE_7F0B0018"] - - [0x7F0B0064, "sub_CODE_7F0B0064"] - - [0x7F0B00C4, "sub_CODE_7F0B00C4"] - - [0x7F0B0140, "sub_CODE_7F0B0140"] - - [0x7F0B0198, "sub_CODE_7F0B0198"] - - [0x7F0B02D8, "sub_CODE_7F0B02D8"] - - [0x7F0B036C, "sub_CODE_7F0B036C"] - - [0x7F0B0400, "sub_CODE_7F0B0400"] - - [0x7F0B0518, "sub_CODE_7F0B0518"] - - [0x7F0B05C0, "sub_CODE_7F0B05C0"] - - [0x7F0B0688, "sub_CODE_7F0B0688"] - - [0x7F0B07BC, "sub_CODE_7F0B07BC"] - - [0x7F0B0914, "sub_CODE_7F0B0914"] - - [0x7F0B0BE4, "sub_CODE_7F0B0BE4"] - - [0x7F0B0C24, "sub_CODE_7F0B0C24"] - - [0x7F0B0C98, "sub_CODE_7F0B0C98"] - - [0x7F0B0CEC, "sub_CODE_7F0B0CEC"] - - [0x7F0B0D0C, "sub_CODE_7F0B0D0C"] - - [0x7F0B0E24, "sub_CODE_7F0B0E24"] - - [0x7F0B1410, "sub_CODE_7F0B1410"] - - [0x7F0B16C4, "sub_CODE_7F0B16C4"] - - [0x7F0B1794, "sub_CODE_7F0B1794"] - - [0x7F0B17E4, "sub_CODE_7F0B17E4"] - - [0x7F0B18B8, "sub_CODE_7F0B18B8"] - - [0x7F0B1CC4, "sub_CODE_7F0B1CC4"] - - [0x7F0B1CE0, "sub_CODE_7F0B1CE0"] - - [0x7F0B1CEC, "sub_CODE_7F0B1CEC"] - - [0x7F0B1CF8, "sub_CODE_7F0B1CF8"] - - [0x7F0B1DDC, "sub_CODE_7F0B1DDC"] - - [0x7F0B20D0, "sub_CODE_7F0B20D0"] - - [0x7F0B2110, "sub_CODE_7F0B2110"] - - [0x7F0B2194, "sub_CODE_7F0B2194"] - - [0x7F0B21B0, "sub_CODE_7F0B21B0"] - - [0x7F0B2244, "sub_CODE_7F0B2244"] - - [0x7F0B2274, "sub_CODE_7F0B2274"] - - [0x7F0B2314, "sub_CODE_7F0B2314"] - - [0x7F0B239C, "sub_CODE_7F0B239C"] - - [0x7F0B23A4, "sub_CODE_7F0B23A4"] - - [0x7F0B23AC, "sub_CODE_7F0B23AC"] - - [0x7F0B2420, "sub_CODE_7F0B2420"] - - [0x7F0B260C, "sub_CODE_7F0B260C"] - - [0x7F0B26B8, "sub_CODE_7F0B26B8"] - - [0x7F0B2718, "sub_CODE_7F0B2718"] - - [0x7F0B28B0, "sub_CODE_7F0B28B0"] - - [0x7F0B2950, "sub_CODE_7F0B2950"] - - [0x7F0B2970, "sub_CODE_7F0B2970"] - - [0x7F0B2C2C, "copy_tile_RGB_as_24bit"] - - [0x7F0B2C74, "sub_CODE_7F0B2C74"] - - [0x7F0B2D14, "sub_CODE_7F0B2D14"] - - [0x7F0B2D38, "sub_CODE_7F0B2D38"] - - [0x7F0B2D48, "sub_CODE_7F0B2D48"] - - [0x7F0B2D50, "sub_CODE_7F0B2D50"] - - [0x7F0B2E58, "sub_CODE_7F0B2E58"] - - [0x7F0B2F00, "sub_CODE_7F0B2F00"] - - [0x7F0B2F2C, "stanDetermineEOF"] - - [0x7F0B2FD8, "sub_CODE_7F0B2FD8"] - - [0x7F0B2FE0, "sub_CODE_7F0B2FE0"] - - [0x7F0B3004, "sub_CODE_7F0B3004"] - - [0x7F0B3024, "sub_CODE_7F0B3024"] - - [0x7F0B3034, "sub_CODE_7F0B3034"] - - [0x7F0B303C, "sub_CODE_7F0B303C"] - - [0x7F0B3044, "sub_CODE_7F0B3044"] - - [0x7F0B312C, "sub_CODE_7F0B312C"] - - [0x7F0B3138, "sub_CODE_7F0B3138"] - - [0x7F0B31A4, "sub_CODE_7F0B31A4"] - - # .text - - [0x7F0B3200, "sub_CODE_7F0B3200"] - - [0x7F0B32D8, "sub_CODE_7F0B32D8"] - - [0x7F0B33DC, "sub_CODE_7F0B33DC"] - - # .s - # .text - - [0x7F0B37C0, "something_with_bg_c_debug"] - - [0x7F0B37EC, "sub_CODE_7F0B37EC"] - - [0x7F0B38B4, "sub_CODE_7F0B38B4"] - - [0x7F0B39BC, "sub_CODE_7F0B39BC"] - - [0x7F0B3B04, "sub_CODE_7F0B3B04"] - - [0x7F0B3B20, "sub_CODE_7F0B3B20"] - - [0x7F0B3BC4, "sub_CODE_7F0B3BC4"] - - [0x7F0B3C0C, "sub_CODE_7F0B3C0C"] - - [0x7F0B3C8C, "sub_CODE_7F0B3C8C"] - - [0x7F0B4034, "sub_CODE_7F0B4034"] - - [0x7F0B4084, "sub_CODE_7F0B4084"] - - [0x7F0B40D4, "sub_CODE_7F0B40D4"] - - [0x7F0B4124, "sub_CODE_7F0B4124"] - - [0x7F0B47E0, "sub_CODE_7F0B47E0"] - - [0x7F0B4810, "sub_CODE_7F0B4810"] - - [0x7F0B4830, "sub_CODE_7F0B4830"] - - [0x7F0B483C, "sub_CODE_7F0B483C"] - - [0x7F0B4848, "sub_CODE_7F0B4848"] - - [0x7F0B4878, "sub_CODE_7F0B4878"] - - [0x7F0B4884, "sub_CODE_7F0B4884"] - - [0x7F0B491C, "def_7F0B490C"] - - [0x7F0B4A50, "sub_CODE_7F0B4A50"] - - [0x7F0B4AB4, "sub_CODE_7F0B4AB4"] - - [0x7F0B4E40, "sub_CODE_7F0B4E40"] - - [0x7F0B4F9C, "sub_CODE_7F0B4F9C"] - - [0x7F0B4FB4, "sub_CODE_7F0B4FB4"] - - [0x7F0B4FF4, "sub_CODE_7F0B4FF4"] - - [0x7F0B5058, "sub_CODE_7F0B5058"] - - [0x7F0B5168, "sub_CODE_7F0B5168"] - - [0x7F0B519C, "sub_CODE_7F0B519C"] - - [0x7F0B5208, "sub_CODE_7F0B5208"] - - [0x7F0B5488, "sub_CODE_7F0B5488"] - - [0x7F0B5528, "sub_CODE_7F0B5528"] - - [0x7F0B5864, "sub_CODE_7F0B5864"] - - [0x7F0B5B14, "sub_CODE_7F0B5B14"] - - [0x7F0B5B60, "sub_CODE_7F0B5B60"] - - [0x7F0B5BDC, "vis_is_inline_of_sight"] - - [0x7F0B5CC0, "sub_CODE_7F0B5CC0"] - - [0x7F0B5D58, "copy_4_floats_a1_to_a0"] - - [0x7F0B5D7C, "sub_CODE_7F0B5D7C"] - - [0x7F0B5DE0, "sub_CODE_7F0B5DE0"] - - [0x7F0B5E44, "sub_CODE_7F0B5E44"] - - [0x7F0B5E50, "sub_CODE_7F0B5E50"] - - [0x7F0B5E6C, "sub_CODE_7F0B5E6C"] - - [0x7F0B5E88, "sub_CODE_7F0B5E88"] - - [0x7F0B5ED8, "generate_room_load_string"] - - [0x7F0B5F8C, "sub_CODE_7F0B5F8C"] - - [0x7F0B5FAC, "sub_CODE_7F0B5FAC"] - - [0x7F0B609C, "sub_CODE_7F0B609C"] - - [0x7F0B61DC, "sub_CODE_7F0B61DC"] - - [0x7F0B6314, "sub_CODE_7F0B6314"] - - [0x7F0B6368, "sub_CODE_7F0B6368"] - - [0x7F0B65C4, "sub_CODE_7F0B65C4"] - - [0x7F0B667C, "sub_CODE_7F0B667C"] - - [0x7F0B66E8, "sub_CODE_7F0B66E8"] - - [0x7F0B677C, "sub_CODE_7F0B677C"] - - [0x7F0B6898, "sub_CODE_7F0B6898"] - - [0x7F0B6994, "sub_CODE_7F0B6994"] - - [0x7F0B6CEC, "sub_CODE_7F0B6CEC"] - - [0x7F0B7010, "sub_CODE_7F0B7010"] - - [0x7F0B7A78, "sub_CODE_7F0B7A78"] - - [0x7F0B7D94, "sub_CODE_7F0B7D94"] - - [0x7F0B7DA8, "sub_CODE_7F0B7DA8"] - - [0x7F0B7DE4, "sub_CODE_7F0B7DE4"] - - [0x7F0B7EE4, "sub_CODE_7F0B7EE4"] - - [0x7F0B7F84, "sub_CODE_7F0B7F84"] - - [0x7F0B8374, "push_arg_to_table"] - - [0x7F0B83B0, "pull_arg_from_stack"] - - [0x7F0B83E4, "sub_CODE_7F0B83E4"] - - [0x7F0B8414, "parse_global_vis_command_list"] - - [0x7F0B84D0, "break"] - - [0x7F0B84D8, "push_to_stack"] - - [0x7F0B84F8, "pull_from_stack"] - - [0x7F0B8518, "and_merge_last_two_on_stack"] - - [0x7F0B8548, "or_merge_last_two_on_stack"] - - [0x7F0B8578, "not_merge_last_two_on_stack"] - - [0x7F0B85A0, "carrot_merge_last_two_on_stack"] - - [0x7F0B85D0, "push_tf_if_in_range_rooms"] - - [0x7F0B8614, "force_visible"] - - [0x7F0B8654, "match_portal_vis"] - - [0x7F0B86A8, "visible_if_seen_through_portal"] - - [0x7F0B8714, "not_visible_if_seen_through_portal"] - - [0x7F0B8788, "add_visible_room"] - - [0x7F0B87F4, "disable_room"] - - [0x7F0B8828, "disable_room_range"] - - [0x7F0B8884, "preload_room"] - - [0x7F0B88B8, "preload_room_range"] - - [0x7F0B8914, "remove_vis"] - - [0x7F0B8930, "if_statement"] - - [0x7F0B8954, "endif_continue_exec"] - - [0x7F0B896C, "dont_exec_commands_even_on_return"] - - [0x7F0B8990, "if_statement_pull_from_stack"] - - [0x7F0B89C8, "toggle_exec_vs_ro"] - - [0x7F0B89E0, "endif"] - - [0x7F0B89F0, "invalid_type_terminate"] - - [0x7F0B8A24, "sub_CODE_7F0B8A24"] - - [0x7F0B8A6C, "sub_CODE_7F0B8A6C"] - - [0x7F0B8D78, "sub_CODE_7F0B8D78"] - - [0x7F0B8DF4, "sub_CODE_7F0B8DF4"] - - [0x7F0B8E98, "sub_CODE_7F0B8E98"] - - [0x7F0B8EFC, "sub_CODE_7F0B8EFC"] - - [0x7F0B8FD0, "sub_CODE_7F0B8FD0"] - - [0x7F0B9040, "sub_CODE_7F0B9040"] - - [0x7F0B908C, "sub_CODE_7F0B908C"] - - [0x7F0B92B4, "sub_CODE_7F0B92B4"] - - [0x7F0B9338, "sub_CODE_7F0B9338"] - - [0x7F0B95D8, "sub_CODE_7F0B95D8"] - - [0x7F0B96CC, "sub_CODE_7F0B96CC"] - - [0x7F0B993C, "sub_CODE_7F0B993C"] - - [0x7F0B9990, "sub_CODE_7F0B9990"] - - [0x7F0B9A14, "sub_CODE_7F0B9A14"] - - [0x7F0B9A2C, "sub_CODE_7F0B9A2C"] - - [0x7F0B9A7C, "sub_CODE_7F0B9A7C"] - - [0x7F0B9AE4, "sub_CODE_7F0B9AE4"] - - [0x7F0B9B04, "sub_CODE_7F0B9B04"] - - [0x7F0B9B24, "sub_CODE_7F0B9B24"] - - [0x7F0B9B44, "sub_CODE_7F0B9B44"] - - [0x7F0B9B64, "sub_CODE_7F0B9B64"] - - [0x7F0B9B94, "sub_CODE_7F0B9B94"] - - [0x7F0B9CC8, "sub_CODE_7F0B9CC8"] - - [0x7F0B9DBC, "sub_CODE_7F0B9DBC"] - - [0x7F0B9DE4, "sub_CODE_7F0B9DE4"] - - [0x7F0B9DF4, "sub_CODE_7F0B9DF4"] - - [0x7F0B9DFC, "sub_CODE_7F0B9DFC"] - - [0x7F0B9E04, "sub_CODE_7F0B9E04"] - - [0x7F0B9F14, "sub_CODE_7F0B9F14"] - - [0x7F0BA26C, "sub_CODE_7F0BA26C"] - - [0x7F0BA2D4, "sub_CODE_7F0BA2D4"] - - [0x7F0BA5C0, "sub_CODE_7F0BA5C0"] - - [0x7F0BA640, "sub_CODE_7F0BA640"] - - # .s - # .text - - [0x7F0BA720, "sub_CODE_7F0BA720"] - - [0x7F0BA72C, "sub_CODE_7F0BA72C"] - - [0x7F0BA738, "sub_CODE_7F0BA738"] - - [0x7F0BA744, "square_near_fog_value"] - - [0x7F0BA758, "copy_table1_env_to_current"] - - [0x7F0BA9D0, "copy_table2_env_to_current"] - - [0x7F0BAA5C, "sub_CODE_7F0BAA5C"] - - [0x7F0BAA64, "load_enviroment"] - - [0x7F0BACA8, "switch_to_solosky2"] - - [0x7F0BB070, "sub_CODE_7F0BB070"] - - [0x7F0BB298, "sub_CODE_7F0BB298"] - - [0x7F0BB2C8, "sub_CODE_7F0BB2C8"] - - [0x7F0BB398, "return_nearfog_values"] - - [0x7F0BB3A4, "if_sky_present_convert_values"] - - # .s - # .text - - [0x7F0BB4D0, "init_lightfixture_tables"] - - [0x7F0BB524, "get_index_of_current_entry_in_init_lightfixture_table"] - - [0x7F0BB59C, "add_entry_to_init_lightfixture_table"] - - [0x7F0BB600, "save_ptrDL_enpoint_to_current_init_lightfixture_table"] - - [0x7F0BB630, "check_if_imageID_is_light"] - - [0x7F0BB694, "return_ptr_vertex_of_entry_room"] - - [0x7F0BB6F4, "sub_CODE_7F0BB6F4"] - - [0x7F0BB86C, "def_7F0BB70C"] - - [0x7F0BB874, "sub_CODE_7F0BB874"] - - [0x7F0BB978, "sub_CODE_7F0BB978"] - - [0x7F0BBA20, "sub_CODE_7F0BBA20"] - - [0x7F0BBADC, "sub_CODE_7F0BBADC"] - - [0x7F0BBBA8, "sub_CODE_7F0BBBA8"] - - [0x7F0BBC30, "sub_CODE_7F0BBC30"] - - [0x7F0BBCCC, "sub_CODE_7F0BBCCC"] - - [0x7F0BBE0C, "sub_CODE_7F0BBE0C"] - - [0x7F0BC4C4, "sub_CODE_7F0BC4C4"] - - # .s - # .text - - [0x7F0BC530, "sub_CODE_7F0BC530"] - - [0x7F0BC624, "sub_CODE_7F0BC624"] - - [0x7F0BC634, "sub_CODE_7F0BC634"] - - [0x7F0BC660, "sub_CODE_7F0BC660"] - - [0x7F0BC690, "sub_CODE_7F0BC690"] - - [0x7F0BC6F0, "sub_CODE_7F0BC6F0"] - - [0x7F0BC7D4, "sub_CODE_7F0BC7D4"] - - [0x7F0BC85C, "sub_CODE_7F0BC85C"] - - [0x7F0BC9C4, "sub_CODE_7F0BC9C4"] - - [0x7F0BCA14, "sub_CODE_7F0BCA14"] - - [0x7F0BCA34, "sub_CODE_7F0BCA34"] - - # .s - # .text - - [0x7F0BCAA0, "load_resource"] - - [0x7F0BCB34, "load_resource_from_indy"] - - [0x7F0BCC28, "ob_c_debug_setup"] - - [0x7F0BCCBC, "_load_rom_index_to_membank"] - - [0x7F0BCCE4, "_load_resource_index_to_membank"] - - [0x7F0BCD04, "_load_resource_named_to_membank"] - - [0x7F0BCD40, "_load_resource_named_to_buffer"] - - [0x7F0BCD7C, "load_bg_bytes_at_offset_to_membank"] - - [0x7F0BCE0C, "load_rom_resource_index_to_membank"] - - [0x7F0BCFE0, "load_resource_index_to_buffer"] - - [0x7F0BD100, "get_temp_remaining_buffer_for_index"] - - [0x7F0BD11C, "get_remaining_buffer_for_index"] - - [0x7F0BD138, "sub_CODE_7F0BD138"] - - [0x7F0BD188, "sub_CODE_7F0BD188"] - - [0x7F0BD1BC, "something_mem_bank_a0"] - - [0x7F0BD234, "sub_CODE_7F0BD234"] - - [0x7F0BD254, "get_index_num_of_named_resource"] - - [0x7F0BD384, "sub_CODE_7F0BD384"] - - [0x7F0BD38C, "sub_CODE_7F0BD38C"] - - [0x7F0BD3E4, "sub_CODE_7F0BD3E4"] - - [0x7F0BD410, "sub_CODE_7F0BD410"] - - # .text - - [0x7F0BD460, "something_with_dyn_c_debug"] - - [0x7F0BD48C, "set_vtx_gfx_mem_alloc"] - - [0x7F0BD674, "get_ptr_displaylist"] - - [0x7F0BD69C, "allocate_something_in_mgfx"] - - [0x7F0BD6C4, "sub_CODE_7F0BD6C4"] - - [0x7F0BD6E0, "sub_CODE_7F0BD6E0"] - - [0x7F0BD6F8, "sub_CODE_7F0BD6F8"] - - [0x7F0BD714, "sub_CODE_7F0BD714"] - - [0x7F0BD738, "allocate_something_in_mvtx"] - - [0x7F0BD774, "removed_debug_routine"] - - [0x7F0BD77C, "num_microcode_cmds_that_fit"] - - [0x7F0BD7A4, "sub_CODE_7F0BD7A4"] - - [0x7F0BD7CC, "compute_membar_display_string"] - - [0x7F0BD810, "draw_membars"] - - # .s - # .text - - [0x7F0BD8F0, "sub_CODE_7F0BD8F0"] - - [0x7F0BD8FC, "sub_CODE_7F0BD8FC"] - - [0x7F0BD908, "something_with_lvl_c_debug"] - - [0x7F0BD984, "sub_CODE_7F0BD984"] - - [0x7F0BD9C4, "sub_CODE_7F0BD9C4"] - - [0x7F0BD9EC, "sub_CODE_7F0BD9EC"] - - [0x7F0BDA38, "sub_CODE_7F0BDA38"] - - [0x7F0BDA84, "sub_CODE_7F0BDA84"] - - [0x7F0BDAB0, "stage_load"] - - [0x7F0BDF04, "sub_CODE_7F0BDF04"] - - [0x7F0BDF10, "sub_CODE_7F0BDF10"] - - [0x7F0BE30C, "sub_CODE_7F0BE30C"] - - [0x7F0BE8D0, "sub_CODE_7F0BE8D0"] - - [0x7F0BEB88, "manage_mp_game"] - - [0x7F0BF800, "sub_CODE_7F0BF800"] - - [0x7F0BFB20, "unload_stage_text_data"] - - [0x7F0BFBF8, "set_controls_locked_flag"] - - [0x7F0BFC04, "get_controls_locked_flag"] - - [0x7F0BFC10, "get_current_difficulty"] - - [0x7F0BFC1C, "set_difficulty"] - - [0x7F0BFC28, "set_mp_time"] - - [0x7F0BFC34, "set_mp_point"] - - [0x7F0BFC40, "get_cur_mp_sec"] - - [0x7F0BFC4C, "get_cur_mp_min"] - - [0x7F0BFC58, "get_stage_time_sec"] - - [0x7F0BFC64, "get_poweron_time_sec"] - - [0x7F0BFC70, "clear_ramrom_block_buffer_heading_ptrs"] - - [0x7F0BFC8C, "get_is_ramrom_flag"] - - [0x7F0BFC98, "get_recording_ramrom_flag"] - - [0x7F0BFCA4, "interface_menu0B_runstage"] - - [0x7F0BFCB0, "finalize_ramrom_on_hw"] - - [0x7F0BFD60, "save_ramrom_to_devtool"] - - [0x7F0BFE00, "load_ramrom_from_devtool"] - - [0x7F0BFE5C, "record_player_input_as_packet"] - - [0x7F0C0080, "ramrom_replay_handler"] - - [0x7F0C0268, "iterate_ramrom_entries_handle_camera_out"] - - [0x7F0C03A8, "copy_current_ingame_registers_before_ramrom_playback"] - - [0x7F0C04F4, "copy_recorded_ramrom_registers_to_proper_place_ingame"] - - [0x7F0C0640, "test_if_recording_demos_this_stage_load"] - - [0x7F0C07BC, "setRamRomRecordSlot"] - - [0x7F0C07D4, "stop_recording_ramrom"] - - [0x7F0C081C, "replay_recorded_ramrom_at_address"] - - [0x7F0C08A8, "replay_recorded_ramrom_from_indy"] - - [0x7F0C08C8, "ensureCameraModeA"] - - [0x7F0C08FC, "stop_demo_playback"] - - [0x7F0C0970, "select_ramrom_to_play"] - - [0x7F0C0A20, "check_ramrom_flags"] - - # .s - # .text - - [0x7F0C0A70, "store_osgetcount"] - - [0x7F0C0AA0, "sub_CODE_7F0C0AA0"] - - [0x7F0C0B4C, "sub_CODE_7F0C0B4C"] - - [0x7F0C0BE4, "sub_CODE_7F0C0BE4"] - - [0x7F0C0BF0, "sub_CODE_7F0C0BF0"] - - [0x7F0C0C10, "sub_CODE_7F0C0C10"] - - [0x7F0C0C30, "sub_CODE_7F0C0C30"] - - [0x7F0C0C3C, "sub_CODE_7F0C0C3C"] - - [0x7F0C11FC, "sub_CODE_7F0C11FC"] - - [0x7F0C1268, "sub_CODE_7F0C1268"] - - [0x7F0C1288, "sub_CODE_7F0C1288"] - - [0x7F0C12CC, "sub_CODE_7F0C12CC"] - - [0x7F0C1310, "sub_CODE_7F0C1310"] - - [0x7F0C1340, "sub_CODE_7F0C1340"] - - [0x7F0C1364, "sub_CODE_7F0C1364"] - - [0x7F0C13C8, "reset_all_music_slots"] - - [0x7F0C14FC, "set_musicslot_time"] - - [0x7F0C1558, "reset_music_in_slot"] - - # .s - # .text - - [0x7F0C15E0, "get_textbank_number_for_stagenum"] - - [0x7F0C16DC, "stagetext_loop"] - - [0x7F0C16EC, "init_LnameX"] - - [0x7F0C1940, "something_with_LnameJ"] - - [0x7F0C1A30, "something_with_LnameX"] - - [0x7F0C1D08, "load_mission_text_bank"] - - [0x7F0C1D64, "load_briefing_text_bank"] - - [0x7F0C1DC4, "blank_text_bank"] - - [0x7F0C1DD8, "get_textptr_for_textID"] - - # .s - # .text - - [0x7F0C1E20, "check_can_advance_right_on_mpmenu"] - - [0x7F0C1E50, "page_adv_right_yes"] - - [0x7F0C1E58, "page_adv_right_no"] - - [0x7F0C1E60, "page_adv_right_gameover"] - - [0x7F0C1E8C, "check_can_advance_left_on_mpmenu"] - - [0x7F0C1EBC, "page_adv_left_yes"] - - [0x7F0C1EC4, "page_adv_left_no"] - - [0x7F0C1ECC, "page_adv_left_gameover"] - - [0x7F0C1EF0, "def_7F0C1EB4"] - - [0x7F0C1EF8, "check_if_player_is_pressing_anything_right"] - - [0x7F0C1F68, "check_if_player_is_pressing_anything_left"] - - [0x7F0C1FDC, "play_watch_sfx_beep"] - - [0x7F0C2008, "unpause_game"] - - [0x7F0C2024, "sub_CODE_7F0C2024"] - - [0x7F0C2114, "sub_CODE_7F0C2114"] - - [0x7F0C2204, "sub_CODE_7F0C2204"] - - [0x7F0C234C, "sub_CODE_7F0C234C"] - - [0x7F0C2494, "sub_CODE_7F0C2494"] - - [0x7F0C24BC, "sub_CODE_7F0C24BC"] - - [0x7F0C2520, "set_stopplay_flag"] - - [0x7F0C2530, "sub_CODE_7F0C2530"] - - [0x7F0C2E80, "sub_CODE_7F0C2E80"] - - [0x7F0C35A0, "display_text_for_playerdata_on_MP_menu"] - - [0x7F0C3634, "green_text_normal"] - - [0x7F0C369C, "green_text_highlighted"] - - [0x7F0C3710, "red_text_normal"] - - [0x7F0C3778, "red_text_highlighted"] - - [0x7F0C37EC, "blue_text_normal"] - - [0x7F0C3854, "blue_text_highlighted"] - - [0x7F0C38C0, "def_7F0C362C"] - - [0x7F0C38D8, "get_points_for_mp_player"] - - [0x7F0C3954, "num_player_kills"] - - [0x7F0C3B14, "num_deaths"] - - [0x7F0C3B24, "time_with_flag"] - - [0x7F0C3B2C, "team_player_kills"] - - [0x7F0C3C80, "def_7F0C394C"] - - [0x7F0C3C94, "write_playerrank_to_buffer"] - - [0x7F0C3F5C, "true_if_displaying_rank_in_mp"] - - [0x7F0C3F8C, "not_yolt"] - - [0x7F0C3F94, "yolt"] - - [0x7F0C3FB4, "def_7F0C3F84"] - - [0x7F0C3FCC, "true_if_displaying_score_in_mp"] - - [0x7F0C3FFC, "not_yolt_tld"] - - [0x7F0C4004, "yolt_tld"] - - [0x7F0C400C, "def_7F0C3FF4"] - - [0x7F0C4024, "mp_watch_menu_display"] - - [0x7F0C40C8, "text_play"] - - [0x7F0C4118, "text_blank"] - - [0x7F0C4128, "text_pause_unpause"] - - [0x7F0C4170, "text_exit"] - - [0x7F0C4190, "def_7F0C40C0"] - - [0x7F0C6048, "sub_CODE_7F0C6048"] - - [0x7F0C6080, "sub_CODE_7F0C6080"] - - # .s - # .text - - [0x7F0C6090, "display_red_blue_on_radar"] - - # .s - # .text - - [0x7F0C65D0, "advance_mp_weapon_set_by_one_save_value"] - - [0x7F0C65F8, "get_ptr_current_mp_weapon_set_text_code"] - - [0x7F0C6614, "get_ptr_mp_weapon_set_data"] - - [0x7F0C6630, "set_mp_weapon_set"] - - [0x7F0C663C, "get_mp_weapon_set"] - - # .s - # .text - - [0x7F0C6650, "nullsub_41"] - - [0x7F0C6658, "image_related_calls_decompressdata"] - - [0x7F0C6BC8, "copy_loaded_image_to_final_mem_location"] - - [0x7F0C6C70, "sub_CODE_7F0C6C70"] - - [0x7F0C77AC, "sub_CODE_7F0C77AC"] - - [0x7F0C7BD8, "sub_CODE_7F0C7BD8"] - - [0x7F0C7DFC, "process_huffman_compressed_images"] - - [0x7F0C805C, "huffman_type0_1"] - - [0x7F0C8084, "huffman_type2"] - - [0x7F0C8120, "huffman_type3"] - - [0x7F0C81D8, "huffman_type4"] - - [0x7F0C8268, "huffman_type5"] - - [0x7F0C82B8, "huffman_type6"] - - [0x7F0C8324, "huffman_type7"] - - [0x7F0C838C, "huffman_type8"] - - [0x7F0C8464, "huffman_type9"] - - [0x7F0C8534, "def_7F0C8054"] - - [0x7F0C8754, "image_decompresion_related"] - - [0x7F0C8858, "def_7F0C87C4"] - - [0x7F0C91A0, "def_7F0C8874"] - - [0x7F0C91D0, "generate_sample_table"] - - [0x7F0C96BC, "type4_7_9_getsamples"] - - [0x7F0C9920, "type5_6_7_getsamples"] - - [0x7F0C9A24, "sub_CODE_7F0C9A24"] - - [0x7F0C9A48, "image_get_alpha_values"] - - [0x7F0C9A9C, "image_compression0_expand"] - - [0x7F0C9D74, "def_7F0C9B04"] - - [0x7F0C9DA4, "generate_link_final_image"] - - [0x7F0CA874, "def_7F0C9DF0"] - - [0x7F0CA890, "type5_generate_link_final_image"] - - [0x7F0CAC28, "def_7F0CA900"] - - [0x7F0CAC58, "type6_7_generate_link_final_image"] - - [0x7F0CB668, "def_7F0CACBC"] - - [0x7F0CB67C, "sub_CODE_7F0CB67C"] - - [0x7F0CB700, "def_7F0CB6A0"] - - [0x7F0CB7E0, "type8_9_doohick"] - - [0x7F0CBAC8, "def_7F0CB8A0"] - - [0x7F0CBAF4, "sub_CODE_7F0CBAF4"] - - [0x7F0CBB0C, "sub_CODE_7F0CBB0C"] - - [0x7F0CBB64, "sub_CODE_7F0CBB64"] - - [0x7F0CBB74, "sub_CODE_7F0CBB74"] - - [0x7F0CBC18, "load_image_to_buffer"] - - [0x7F0CBE50, "sub_CODE_7F0CBE50"] - - [0x7F0CBEE8, "sub_CODE_7F0CBEE8"] - - # .s - # .text - - [0x7F0CBF10, "sub_CODE_7F0CBF10"] - - [0x7F0CBF2C, "sub_CODE_7F0CBF2C"] - - [0x7F0CBFB0, "load_prepare_global_image_bank"] - - # .s - # .text - - [0x7F0CC4C0, "nullsub_47"] - - [0x7F0CC4C8, "sub_CODE_7F0CC4C8"] - - [0x7F0CC51C, "sub_CODE_7F0CC51C"] - - [0x7F0CC548, "sub_CODE_7F0CC548"] - - [0x7F0CC574, "sub_CODE_7F0CC574"] - - [0x7F0CC690, "sub_CODE_7F0CC690"] - - [0x7F0CC714, "sub_CODE_7F0CC714"] - - [0x7F0CC7FC, "sub_CODE_7F0CC7FC"] - - [0x7F0CC8E4, "sub_CODE_7F0CC8E4"] - - [0x7F0CC994, "sub_CODE_7F0CC994"] - - [0x7F0CC9D4, "sub_CODE_7F0CC9D4"] - - [0x7F0CCA9C, "sub_CODE_7F0CCA9C"] - - [0x7F0CCACC, "sub_CODE_7F0CCACC"] - - [0x7F0CCAFC, "sub_CODE_7F0CCAFC"] - - [0x7F0CCB38, "sub_CODE_7F0CCB38"] - - [0x7F0CCC50, "sub_CODE_7F0CCC50"] - - [0x7F0CCFBC, "sub_CODE_7F0CCFBC"] - - [0x7F0CD078, "expland_c0_DL_psuedocommands"] - - [0x7F0CD430, "sub_CODE_7F0CD430"] - - [0x7F0CD7AC, "sub_CODE_7F0CD7AC"] - - [0x7F0CDB64, "sub_CODE_7F0CDB64"] - - [0x7F0CDE18, "sub_CODE_7F0CDE18"] - - [0x7F0CDEA8, "sub_CODE_7F0CDEA8"] - - [0x7F0CDFA8, "sub_CODE_7F0CDFA8"] - - [0x7F0CE064, "sub_CODE_7F0CE064"] - - [0x7F0CE0AC, "sub_CODE_7F0CE0AC"] - - [0x7F0CE118, "process_microcode_sort_display_modes_expand_image_calls"] - - [0x7F0CE5F0, "def_7F0CE2B4"] - - [0x7F0CE794, "sub_CODE_7F0CE794"] - - # .s - # .text - - [0x7F0CE7F0, "decompressdata"] - - [0x7F0CE894, "sub_CODE_7F0CE894"] - - # .s - # .text - - [0x7F0CE8B0, "sub_CODE_7F0CE8B0"] - - [0x7F0CEEF0, "sub_CODE_7F0CEEF0"] - - [0x7F0CF38C, "zlib_decompressor_type0"] - - [0x7F0CF528, "zlib_decompressor_type1"] - - [0x7F0CF690, "zlib_decompressor_type2"] - - [0x7F0CFBB4, "select_zlib_decompression_routine"] - - [0x7F0CFCD4, "loop_to_decompress_entire_file"] - - # .s - # .text - - [0x7F0CFDB0, "something_with_rsp_c_debug"] - - [0x7F0CFDDC, "allocate_init_rsp_buffers"] - - [0x7F0CFE18, "load_rsp_microcode"] - - # .s - # .text - - [0x7F0CFF30, "init_indy_if_not_ready"] - - [0x7F0CFF64, "nullsub_48"] - - [0x7F0CFF6C, "init_indy_if_ready"] - - [0x7F0CFF9C, "indy_load_resource"] - - [0x7F0CFFE0, "indy_send_capture_data"] - - [0x7F0D001C, "indy_loadfile"] - - [0x7F0D005C, "check_file_exported"] - - [0x7F0D0098, "check_file_found_on_indy"] - - [0x7F0D00E0, "response_from_command_string"] - - [0x7F0D0124, "sub_CODE_7F0D0124"] - - [0x7F0D0154, "send_indy_close_port_cmd"] - - [0x7F0D0170, "nullsub_49"] - - # .s - # .text - - [0x7F0D0180, "sub_CODE_7F0D0180"] - - [0x7F0D01D0, "sub_CODE_7F0D01D0"] - - [0x7F0D0220, "sub_CODE_7F0D0220"] - - [0x7F0D0358, "sub_CODE_7F0D0358"] - - [0x7F0D038C, "sub_CODE_7F0D038C"] - - [0x7F0D03D4, "sub_CODE_7F0D03D4"] - - [0x7F0D041C, "sub_CODE_7F0D041C"] - - [0x7F0D0460, "sub_CODE_7F0D0460"] - - [0x7F0D04C4, "sub_CODE_7F0D04C4"] - - [0x7F0D0514, "sub_CODE_7F0D0514"] - - [0x7F0D0578, "sub_CODE_7F0D0578"] - - [0x7F0D05D0, "sub_CODE_7F0D05D0"] - - [0x7F0D0644, "sub_CODE_7F0D0644"] - - [0x7F0D06C0, "sub_CODE_7F0D06C0"] - - [0x7F0D0740, "sub_CODE_7F0D0740"] - - [0x7F0D0790, "sub_CODE_7F0D0790"] - - [0x7F0D080C, "sub_CODE_7F0D080C"] - - [0x7F0D086C, "sub_CODE_7F0D086C"] - - [0x7F0D08E8, "sub_CODE_7F0D08E8"] - - [0x7F0D0938, "sub_CODE_7F0D0938"] - - [0x7F0D099C, "sub_CODE_7F0D099C"] - - [0x7F0D09EC, "sub_CODE_7F0D09EC"] - - [0x7F0D0A3C, "post_indy..res.cmd_initialize"] - - [0x7F0D0A7C, "sub_CODE_7F0D0A7C"] - - [0x7F0D0AC4, "sub_CODE_7F0D0AC4"] - - [0x7F0D0B0C, "sub_CODE_7F0D0B0C"] - - [0x7F0D0B54, "sub_CODE_7F0D0B54"] - - [0x7F0D0BA4, "sub_CODE_7F0D0BA4"] - - [0x7F0D0BF4, "sub_CODE_7F0D0BF4"] - - [0x7F0D0C68, "post_indy..res.cmd_send_capture_data"] - - [0x7F0D0CD0, "sub_CODE_7F0D0CD0"] - - [0x7F0D0D18, "post_indy..res.cmd_request_ramrom_file"] - - [0x7F0D0D74, "sub_CODE_7F0D0D74"] - - [0x7F0D0DD0, "sub_CODE_7F0D0DD0"] - - [0x7F0D0E2C, "sub_CODE_7F0D0E2C"] - - [0x7F0D0E74, "sub_CODE_7F0D0E74"] - - [0x7F0D0EBC, "sub_CODE_7F0D0EBC"] - - [0x7F0D0F04, "sub_CODE_7F0D0F04"] - - [0x7F0D0F4C, "sub_CODE_7F0D0F4C"] - - [0x7F0D10A8, "sub_CODE_7F0D10A8"] - - [0x7F0D1100, "sub_CODE_7F0D1100"] - - [0x7F0D11AC, "sub_CODE_7F0D11AC"] - - [0x7F0D1248, "sub_CODE_7F0D1248"] - - [0x7F0D12F4, "sub_CODE_7F0D12F4"] - - [0x7F0D13B0, "sub_CODE_7F0D13B0"] - - [0x7F0D1498, "sub_CODE_7F0D1498"] - - [0x7F0D1544, "sub_CODE_7F0D1544"] - - [0x7F0D160C, "sub_CODE_7F0D160C"] - - [0x7F0D16B8, "sub_CODE_7F0D16B8"] - - [0x7F0D1764, "sub_CODE_7F0D1764"] - - [0x7F0D17AC, "sub_CODE_7F0D17AC"] - - [0x7F0D17FC, "sub_CODE_7F0D17FC"] - - [0x7F0D1864, "sub_CODE_7F0D1864"] - - [0x7F0D18AC, "sub_CODE_7F0D18AC"] - - [0x7F0D1908, "sub_CODE_7F0D1908"] - - [0x7F0D1950, "sub_CODE_7F0D1950"] - - [0x7F0D1998, "sub_CODE_7F0D1998"] - - # .text - - [0x7F0D1A20, "something_game_c_debug_related"] - - [0x7F0D1A4C, "reset_mem_bank_5"] - - [0x7F0D1A7C, "sub_CODE_7F0D1A7C"] - - # .s - # .text - - [0x7F0D1AB0, "get_compile_time"] - - # .s - # .text - - [0x7F0D1AC0, "sub_CODE_7F0D1AC0"] - - [0x7F0D1B94, "sub_CODE_7F0D1B94"] - - [0x7F0D1BD0, "sub_CODE_7F0D1BD0"] - - [0x7F0D1DCC, "sub_CODE_7F0D1DCC"] - - [0x7F0D1DFC, "sub_CODE_7F0D1DFC"] - - [0x7F0D1E44, "sub_CODE_7F0D1E44"] - - [0x7F0D1E98, "sub_CODE_7F0D1E98"] - - [0x7F0D2320, "sub_CODE_7F0D2320"] - - # .s - # .text - - [0x7F0D2380, "remove_viewport_buffer"] - - [0x7F0D238C, "allocate_viewport_buffer"] - - [0x7F0D2448, "sub_CODE_7F0D2448"] - - [0x7F0D2464, "sub_CODE_7F0D2464"] - - [0x7F0D2518, "sub_CODE_7F0D2518"] - - # .s - # .text - - [0x7F0D2720, "sub_CODE_7F0D2720"] - - [0x7F0D2848, "sub_CODE_7F0D2848"] - - [0x7F0D2890, "sub_CODE_7F0D2890"] - - # .s - # .text - - [0x7F0D28E0, "sub_CODE_7F0D28E0"] - - [0x7F0D2A84, "sub_CODE_7F0D2A84"] - - [0x7F0D2C84, "spectrum_p1controller_to_kempston"] - - [0x7F0D2FC4, "init_spectrum_game"] - - [0x7F0D3374, "run_spectrum_game"] - - [0x7F0D33B4, "spectrum_draw_screen"] - - [0x7F0D36D8, "spectrum_input_handling"] - - [0x7F0D37D4, "nullsub_50"] - - [0x7F0D37DC, "sub_CODE_7F0D37DC"] diff --git a/readme.md b/readme.md deleted file mode 100644 index 13fb113..0000000 --- a/readme.md +++ /dev/null @@ -1,67 +0,0 @@ -This is a working Goldeneye 007 decompilation! - -## Setup -The only requirements for Ubuntu 16.04 and 18.04 should be -``` -sudo apt install binutils-mips-linux-gnu make -``` -Place a USA rom in project root named -``` -baserom.u.z64 -``` -followed by -``` -./extract_baserom.u.sh && make -``` -For J support also place a baserom.j.z64 in root and run: -``` -./extract_baserom.u.sh && ./extract_diff.j.sh && make VERSION=JP -``` - -If you are upgrading from an old repo, run: -``` -./clean_baserom.sh && ./extract_baserom.u.sh && make clean && make -``` - -The extract and clean scripts support switches: -``` -name_baserom.sh files -name_baserom.sh images -``` -to do just one or the other, default is both - -## Project Structure - -``` -goldeneye_src -├── assets: game assets -│   ├── font: font data -│   ├── images: image data -│   │   └── split: split image data -│   ├── music: music data -│   ├── obseg: animation data -│   │   ├── bg: bg data -│   │   ├── brief: briefing data -│   │   ├── chr: c model data -│   │   ├── gun: g model data -│   │   ├── prop: p model data -│   │   ├── setup: setup data -│   │   ├── stan: stan data -│   │   └── text: text data -│   └── ramrom: demo data -├── bin: files that haven't been touched -├── build: output directory -├── ge007_libultra: to be merged with libreultra -├── include: header files -├── lib: SDK library code -├── notes: documentation -├── src: C source code for game -│   ├── game: core ge specific code 0x7f000000 range -│   ├── libultra: currently used libultra.s -│   └── rarezip: statically linked initial decompression code -└── tools: build tools -``` - -This decompilation was only made possible thanks to many awesome 00 Agents who will be revealed only if they wish. - -GE and PD documentation made by Zoinkity diff --git a/rename_sym.sh b/rename_sym.sh deleted file mode 100755 index 20ed834..0000000 --- a/rename_sym.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -if [ "$#" -ne "2" ]; -then - echo "usage: $0 old_name new_name" - exit 1 -fi - -echo "Replace $1 with $2?" -read -grep -rl "$1" asm/*.s asm/code/*.s asm/libultra/*.s asm/game/*.s asm/rarezip/*.s src/*.c src/*.h include/*.h undefined_syms.txt sym_bss.txt notes/ge007.u.yaml include/globals.inc | xargs sed -i "s/\b$1\b/$2/g" diff --git a/src/_start.s b/src/_start.s deleted file mode 100644 index b0149f3..0000000 --- a/src/_start.s +++ /dev/null @@ -1,40 +0,0 @@ -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .text, "ax" -.include "macros.inc" - -# zoinkity note: -# 1000 80000400 memset (blanks) 8005D2E0 - 8008E360, sets SP->803AB410, JR to 80000450 -# technically, this is used in bootcode and used prior to TLB registration - -glabel _start -/* 001000 80000400 3C088006 */ lui $t0, %hi(_bssSegmentStart) -/* 001004 80000404 3C090003 */ lui $t1, %hi(_bssSegmentSize) # lui $t1, 3 -/* 001008 80000408 2508D2E0 */ addiu $t0, %lo(_bssSegmentStart) # addiu $t0, $t0, -0x2d20 -/* 00100C 8000040C 35291080 */ ori $t1, %lo(_bssSegmentSize) # ori $t1, $t1, 0x1080 -.L80000410: -/* 001010 80000410 2129FFF8 */ addi $t1, $t1, -8 -/* 001014 80000414 AD000000 */ sw $zero, ($t0) -/* 001018 80000418 AD000004 */ sw $zero, 4($t0) -/* 00101C 8000041C 1520FFFC */ bnez $t1, .L80000410 -/* 001020 80000420 21080008 */ addi $t0, $t0, 8 -/* 001024 80000424 3C0A8000 */ lui $t2, %hi(_boot_function) -/* 001028 80000428 3C1D803B */ lui $sp, %hi(sp_rmon) # $sp, 0x803b -/* 00102C 8000042C 254A0450 */ addiu $t2, %lo(_boot_function) # addiu $t2, $t2, 0x450 -/* 001030 80000430 01400008 */ jr $t2 -/* 001034 80000434 27BDB410 */ addiu $sp, %lo(sp_rmon) # addiu $sp, $sp, -0x4bf0 -/* 001038 80000438 00000000 */ nop -/* 00103C 8000043C 00000000 */ nop -/* 001040 80000440 00000000 */ nop -/* 001044 80000444 00000000 */ nop -/* 001048 80000448 00000000 */ nop -/* 00104C 8000044C 00000000 */ nop - -#hack to get us to first function of file boot0 using vaddr of 0x80000450 - _boot_function: - -.section .data -.section .rodata -.section .bss diff --git a/src/aspboot.s b/src/aspboot.s deleted file mode 100644 index dd0fd11..0000000 --- a/src/aspboot.s +++ /dev/null @@ -1,55 +0,0 @@ -# Goldeneye 007 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# 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 aspMainTextStart -.incbin "/bin/aspboot.text.bin" -/*D:80023044*/ -glabel unknown_init_val -.word 2 - -glabel cart_hw_address -.word 0x10000000 - -glabel debug_handler_table -.word sp_boot, aBoot -.word sp_rmon, aRmon -.word sp_idle, aIdle -.word sp_shed, aShed -.word sp_main, aMain -.word sp_audi, aAudi -.word 0, 0 -.word 0, 0 - -.section .rodata -glabel aBoot -.word 0x626F6F74, 0x00000000 - -glabel aRmon -.word 0x726D6F6E, 0x00000000 - -glabel aIdle -.word 0x69646C65, 0x00000000 - -glabel aShed -.word 0x73686564, 0x00000000 - -glabel aMain -.word 0x6D61696E, 0x00000000 - -glabel aAudi -.word 0x61756469, 0x00000000 - - -.section .data -glabel aspMainDataStart -.incbin "/bin/aspboot.data.bin" -.section .rodata -.section .bss diff --git a/src/audi.c b/src/audi.c deleted file mode 100644 index ddc9459..0000000 --- a/src/audi.c +++ /dev/null @@ -1,1370 +0,0 @@ -//FIXME i still need data/bss love. -#include "ultra64.h" -#include "sched.h" -#include "audi.h" - -/** - * @file audi.c - * This file contains audio code. - */ - -u32 D_800230F0 = 0; -u32 audFrameCt = 0; -u32 nextDMA = 0; -u32 curAcmdList = 0; -u64 D_80023100[]= { - {0x000600001900}, - {0x0000000000A0}, - {0x2666FFFFD99A}, - {0x000000000000}, - {0x000000000000}, - {0x00A000000140}, - {0x2666FFFFD99A}, - {0x2B8400000000}, - {0x000000002500}, - {0x032000000A00}, - {0x4000FFFFC000}, - {0x11EB00000000}, - {0x000000003000}, - {0x0C80000015E0}, - {0x4000FFFFC000}, - {0x11EB00000000}, - {0x000000003500}, - {0x0D20000012C0}, - {0x2000FFFFE000}, - {0x000000000000}, - {0x000000004000}, - {0x000000001720}, - {0x32C8FFFFCD38}, - {0x00000000017C}, - {0x000A00004500}, -}; - -s32 firstTime = 1; - - -/*bss needs fixing */ -s32 dword_CODE_bss_8005E4B0[2]; -s32 dword_CODE_bss_8005E4B8[2]; -s32 dword_CODE_bss_8005E4C0; -s32 dword_CODE_bss_8005E4C4; -s32 dword_CODE_bss_8005E4C8; -s32 dword_CODE_bss_8005E4CC; -s32 dword_CODE_bss_8005E4D0[2]; -s32 dword_CODE_bss_8005E4D8[2]; -char dword_CODE_bss_8005E4E0[0x38]; -//8005e518 -char _am[0x284]; - - - - - - -//8005e7a0 -OSScClient audi_client[2]; -//8005e7b0 -s32 dmaState_initialized; -s32 dmaState_firstUsed; -s32 dmaState_firstFree[2]; -char dmaBuffs[0x500]; -s32 minFrameSize; -s32 frameSize; -s32 maxFrameSize; -s32 cmdLen; - -OSIoMesg audDMAIOMesgBuf[0x40]; -OSMesgQueue audDMAMessageQ; -char audDMAMessageBuf[0x108]; - - -/** - * 29D0 70001BD0 - */ -#ifdef NONMATCHING -void amCreateAudioMgr(void *arg0) -{ - ? sp48; - f32 temp_f0; - s32 temp_ret; - s32 temp_s2; - u32 temp_s0; - u32 temp_t0; - u32 temp_t9; - u32 temp_v1; - void *temp_s0_2; - void *temp_s1; - void *temp_t0_2; - void *temp_t7; - u32 phi_v1; - u32 phi_v1_2; - void *phi_t7; - void *phi_t0; - void *phi_s0; - s32 phi_s0_2; - void *phi_s1; - s32 phi_s2; - void *phi_s0_3; - - arg0->unk10 = &__amDmaNew; - temp_ret = osAiSetFrequency(0x5622); - arg0->unk18 = temp_ret; - temp_f0 = (f32) (temp_ret * 2) / 60.0f; - temp_t9 = (u32) temp_f0; - frameSize = temp_t9; - temp_t0 = temp_t9 + 1; - phi_v1 = temp_t9; - if ((f32) temp_t9 < temp_f0) - { - frameSize = temp_t0; - phi_v1 = temp_t0; - } - phi_v1_2 = phi_v1; - if ((phi_v1 & 0xf) != 0) - { - temp_v1 = (phi_v1 & -0x10) + 0x10; - frameSize = temp_v1; - phi_v1_2 = temp_v1; - } - minFrameSize = (s32) (phi_v1_2 + -0x10); - maxFrameSize = (s32) (phi_v1_2 + 0x35); - if (arg0->unk1C == 6) - { - phi_t7 = &D_80023100; - phi_t0 = &sp48; -loop_6: - temp_t7 = phi_t7 + 0xc; - temp_t0_2 = phi_t0 + 0xc; - temp_t0_2->unk-C = (?32) *phi_t7; - temp_t0_2->unk-8 = (?32) temp_t7->unk-8; - temp_t0_2->unk-4 = (?32) temp_t7->unk-4; - phi_t7 = temp_t7; - phi_t0 = temp_t0_2; - if (temp_t7 != (&D_80023100 + 0xc0)) - { - goto loop_6; - } - temp_t0_2->unk0 = (?32) temp_t7->unk0; - temp_t0_2->unk4 = (?32) temp_t7->unk4; - arg0->unk20 = &sp48; - alInit(&_am+0x238, arg0); - } - else - { - alInit(&_am+0x238, arg0); - } - phi_s0 = &_am; -loop_10: - phi_s0->unk8 = alHeapDBAlloc(0, 0, arg0->unk14, 1, 0x60); - temp_s0 = phi_s0 + 4; - *phi_s0->unk8 = alHeapDBAlloc(0, 0, arg0->unk14, 1, (s32) (maxFrameSize * 4)); - phi_s0 = temp_s0; - if (temp_s0 < &_am+0xC) - { - goto loop_10; - } - osCreateMesgQueue(&_am+0x200, &_am+0x218, 8); - osCreateMesgQueue(&_am+0x1C8, &_am+0x1E0, 8); - osCreateMesgQueue(&audDMAMessageQ, &audDMAMessageBuf, 0x40); - dmaBuffs.unk4 = 0; - dmaBuffs.unk0 = 0; - phi_s0_2 = dmaBuffs + 0xe; - phi_s1 = &dmaBuffs; - phi_s2 = 0; -loop_12: - alLink(phi_s0_2, phi_s1); - temp_s2 = phi_s2 + 1; - temp_s1 = phi_s1 + 0x14; - temp_s1->unk-4 = alHeapDBAlloc(0, 0, arg0->unk14, 1, 0x200); - phi_s0_2 = phi_s0_2 + 0x14; - phi_s1 = temp_s1; - phi_s2 = temp_s2; - if (temp_s2 < 0x3f) - { - goto loop_12; - } - temp_s1->unk10 = alHeapDBAlloc(0, 0, arg0->unk14, 1, 0x200); - phi_s0_3 = &_am; -loop_14: - temp_s0_2 = phi_s0_3 + 4; - temp_s0_2->unk-4 = alHeapDBAlloc(0, 0, arg0->unk14, 1, 0x5dc0); - phi_s0_3 = temp_s0_2; - if (temp_s0_2 != &_am+0x8) - { - goto loop_14; - } - osCreateThread(&_am+0x18, 4, &_amMain, 0, set_stack_entry(&sp_audi, 0x1000), 0x14); -} -#else -GLOBAL_ASM( -.text -glabel amCreateAudioMgr -/* 0027D0 70001BD0 27BDFEE8 */ addiu $sp, $sp, -0x118 -/* 0027D4 70001BD4 AFB3002C */ sw $s3, 0x2c($sp) -/* 0027D8 70001BD8 3C0E7000 */ lui $t6, %hi(__amDmaNew) # $t6, 0x7000 -/* 0027DC 70001BDC AFBF0034 */ sw $ra, 0x34($sp) -/* 0027E0 70001BE0 AFB40030 */ sw $s4, 0x30($sp) -/* 0027E4 70001BE4 AFB20028 */ sw $s2, 0x28($sp) -/* 0027E8 70001BE8 AFB10024 */ sw $s1, 0x24($sp) -/* 0027EC 70001BEC AFB00020 */ sw $s0, 0x20($sp) -/* 0027F0 70001BF0 25CE25D8 */ addiu $t6, %lo(__amDmaNew) # addiu $t6, $t6, 0x25d8 -/* 0027F4 70001BF4 00809825 */ move $s3, $a0 -/* 0027F8 70001BF8 AC8E0010 */ sw $t6, 0x10($a0) -/* 0027FC 70001BFC 0C003A4C */ jal osAiSetFrequency -/* 002800 70001C00 24045622 */ li $a0, 22050 -/* 002804 70001C04 00027840 */ sll $t7, $v0, 1 -/* 002808 70001C08 448F2000 */ mtc1 $t7, $f4 -/* 00280C 70001C0C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 002810 70001C10 44814000 */ mtc1 $at, $f8 -/* 002814 70001C14 468021A0 */ cvt.s.w $f6, $f4 -/* 002818 70001C18 24190001 */ li $t9, 1 -/* 00281C 70001C1C 3C048006 */ lui $a0, %hi(frameSize) -/* 002820 70001C20 3C148006 */ lui $s4, %hi(maxFrameSize) -/* 002824 70001C24 2484ECC4 */ addiu $a0, %lo(frameSize) # addiu $a0, $a0, -0x133c -/* 002828 70001C28 AE620018 */ sw $v0, 0x18($s3) -/* 00282C 70001C2C 46083003 */ div.s $f0, $f6, $f8 -/* 002830 70001C30 2694ECC8 */ addiu $s4, %lo(maxFrameSize) # addiu $s4, $s4, -0x1338 -/* 002834 70001C34 4458F800 */ cfc1 $t8, $31 -/* 002838 70001C38 44D9F800 */ ctc1 $t9, $31 -/* 00283C 70001C3C 00000000 */ nop -/* 002840 70001C40 460002A4 */ cvt.w.s $f10, $f0 -/* 002844 70001C44 4459F800 */ cfc1 $t9, $31 -/* 002848 70001C48 00000000 */ nop -/* 00284C 70001C4C 33390078 */ andi $t9, $t9, 0x78 -/* 002850 70001C50 13200012 */ beqz $t9, .L70001C9C -/* 002854 70001C54 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 002858 70001C58 44815000 */ mtc1 $at, $f10 -/* 00285C 70001C5C 24190001 */ li $t9, 1 -/* 002860 70001C60 460A0281 */ sub.s $f10, $f0, $f10 -/* 002864 70001C64 44D9F800 */ ctc1 $t9, $31 -/* 002868 70001C68 00000000 */ nop -/* 00286C 70001C6C 460052A4 */ cvt.w.s $f10, $f10 -/* 002870 70001C70 4459F800 */ cfc1 $t9, $31 -/* 002874 70001C74 00000000 */ nop -/* 002878 70001C78 33390078 */ andi $t9, $t9, 0x78 -/* 00287C 70001C7C 17200005 */ bnez $t9, .L70001C94 -/* 002880 70001C80 00000000 */ nop -/* 002884 70001C84 44195000 */ mfc1 $t9, $f10 -/* 002888 70001C88 3C018000 */ lui $at, 0x8000 -/* 00288C 70001C8C 10000007 */ b .L70001CAC -/* 002890 70001C90 0321C825 */ or $t9, $t9, $at -.L70001C94: -/* 002894 70001C94 10000005 */ b .L70001CAC -/* 002898 70001C98 2419FFFF */ li $t9, -1 -.L70001C9C: -/* 00289C 70001C9C 44195000 */ mfc1 $t9, $f10 -/* 0028A0 70001CA0 00000000 */ nop -/* 0028A4 70001CA4 0720FFFB */ bltz $t9, .L70001C94 -/* 0028A8 70001CA8 00000000 */ nop -.L70001CAC: -/* 0028AC 70001CAC 03201825 */ move $v1, $t9 -/* 0028B0 70001CB0 44D8F800 */ ctc1 $t8, $31 -/* 0028B4 70001CB4 44838000 */ mtc1 $v1, $f16 -/* 0028B8 70001CB8 AC990000 */ sw $t9, ($a0) -/* 0028BC 70001CBC 07210005 */ bgez $t9, .L70001CD4 -/* 0028C0 70001CC0 468084A0 */ cvt.s.w $f18, $f16 -/* 0028C4 70001CC4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0028C8 70001CC8 44812000 */ mtc1 $at, $f4 -/* 0028CC 70001CCC 00000000 */ nop -/* 0028D0 70001CD0 46049480 */ add.s $f18, $f18, $f4 -.L70001CD4: -/* 0028D4 70001CD4 4600903C */ c.lt.s $f18, $f0 -/* 0028D8 70001CD8 00000000 */ nop -/* 0028DC 70001CDC 45000003 */ bc1f .L70001CEC -/* 0028E0 70001CE0 24680001 */ addiu $t0, $v1, 1 -/* 0028E4 70001CE4 AC880000 */ sw $t0, ($a0) -/* 0028E8 70001CE8 01001825 */ move $v1, $t0 -.L70001CEC: -/* 0028EC 70001CEC 3069000F */ andi $t1, $v1, 0xf -/* 0028F0 70001CF0 11200004 */ beqz $t1, .L70001D04 -/* 0028F4 70001CF4 2401FFF0 */ li $at, -16 -/* 0028F8 70001CF8 00615024 */ and $t2, $v1, $at -/* 0028FC 70001CFC 25430010 */ addiu $v1, $t2, 0x10 -/* 002900 70001D00 AC830000 */ sw $v1, ($a0) -.L70001D04: -/* 002904 70001D04 246CFFF0 */ addiu $t4, $v1, -0x10 -/* 002908 70001D08 3C018006 */ lui $at, %hi(minFrameSize) -/* 00290C 70001D0C AC2CECC0 */ sw $t4, %lo(minFrameSize)($at) -/* 002910 70001D10 246D0035 */ addiu $t5, $v1, 0x35 -/* 002914 70001D14 AE8D0000 */ sw $t5, ($s4) -/* 002918 70001D18 926E001C */ lbu $t6, 0x1c($s3) -/* 00291C 70001D1C 24010006 */ li $at, 6 -/* 002920 70001D20 3C048006 */ lui $a0, %hi(_am+0x238) -/* 002924 70001D24 15C1001A */ bne $t6, $at, .L70001D90 -/* 002928 70001D28 2484E750 */ addiu $a0, %lo(_am+0x238) # addiu $a0, $a0, -0x18b0 -/* 00292C 70001D2C 3C0F8002 */ lui $t7, %hi(D_80023100) -/* 002930 70001D30 27A20048 */ addiu $v0, $sp, 0x48 -/* 002934 70001D34 25EF3100 */ addiu $t7, %lo(D_80023100) # addiu $t7, $t7, 0x3100 -/* 002938 70001D38 25F900C0 */ addiu $t9, $t7, 0xc0 -/* 00293C 70001D3C 00404025 */ move $t0, $v0 -.L70001D40: -/* 002940 70001D40 8DE10000 */ lw $at, ($t7) -/* 002944 70001D44 25EF000C */ addiu $t7, $t7, 0xc -/* 002948 70001D48 2508000C */ addiu $t0, $t0, 0xc -/* 00294C 70001D4C AD01FFF4 */ sw $at, -0xc($t0) -/* 002950 70001D50 8DE1FFF8 */ lw $at, -8($t7) -/* 002954 70001D54 AD01FFF8 */ sw $at, -8($t0) -/* 002958 70001D58 8DE1FFFC */ lw $at, -4($t7) -/* 00295C 70001D5C 15F9FFF8 */ bne $t7, $t9, .L70001D40 -/* 002960 70001D60 AD01FFFC */ sw $at, -4($t0) -/* 002964 70001D64 8DE10000 */ lw $at, ($t7) -/* 002968 70001D68 3C048006 */ lui $a0, %hi(_am+0x238) -/* 00296C 70001D6C 2484E750 */ addiu $a0, %lo(_am+0x238) # addiu $a0, $a0, -0x18b0 -/* 002970 70001D70 AD010000 */ sw $at, ($t0) -/* 002974 70001D74 8DF90004 */ lw $t9, 4($t7) -/* 002978 70001D78 02602825 */ move $a1, $s3 -/* 00297C 70001D7C AD190004 */ sw $t9, 4($t0) -/* 002980 70001D80 0C003AC7 */ jal alInit -/* 002984 70001D84 AE620020 */ sw $v0, 0x20($s3) -/* 002988 70001D88 10000003 */ b .L70001D98 -/* 00298C 70001D8C 00000000 */ nop -.L70001D90: -/* 002990 70001D90 0C003AC7 */ jal alInit -/* 002994 70001D94 02602825 */ move $a1, $s3 -.L70001D98: -/* 002998 70001D98 3C108006 */ lui $s0, %hi(_am) -/* 00299C 70001D9C 3C118006 */ lui $s1, %hi(_am+0xC) -/* 0029A0 70001DA0 2631E524 */ addiu $s1, %lo(_am+0xC) # addiu $s1, $s1, -0x1adc -/* 0029A4 70001DA4 2610E518 */ addiu $s0, %lo(_am) # addiu $s0, $s0, -0x1ae8 -.L70001DA8: -/* 0029A8 70001DA8 8E660014 */ lw $a2, 0x14($s3) -/* 0029AC 70001DAC 24090060 */ li $t1, 96 -/* 0029B0 70001DB0 AFA90010 */ sw $t1, 0x10($sp) -/* 0029B4 70001DB4 00002025 */ move $a0, $zero -/* 0029B8 70001DB8 00002825 */ move $a1, $zero -/* 0029BC 70001DBC 0C003AD4 */ jal alHeapDBAlloc -/* 0029C0 70001DC0 24070001 */ li $a3, 1 -/* 0029C4 70001DC4 8E8A0000 */ lw $t2, ($s4) -/* 0029C8 70001DC8 AE020008 */ sw $v0, 8($s0) -/* 0029CC 70001DCC 8E660014 */ lw $a2, 0x14($s3) -/* 0029D0 70001DD0 000A5880 */ sll $t3, $t2, 2 -/* 0029D4 70001DD4 AFAB0010 */ sw $t3, 0x10($sp) -/* 0029D8 70001DD8 00002025 */ move $a0, $zero -/* 0029DC 70001DDC 00002825 */ move $a1, $zero -/* 0029E0 70001DE0 0C003AD4 */ jal alHeapDBAlloc -/* 0029E4 70001DE4 24070001 */ li $a3, 1 -/* 0029E8 70001DE8 8E0C0008 */ lw $t4, 8($s0) -/* 0029EC 70001DEC 26100004 */ addiu $s0, $s0, 4 -/* 0029F0 70001DF0 0211082B */ sltu $at, $s0, $s1 -/* 0029F4 70001DF4 1420FFEC */ bnez $at, .L70001DA8 -/* 0029F8 70001DF8 AD820000 */ sw $v0, ($t4) -/* 0029FC 70001DFC 3C048006 */ lui $a0, %hi(_am+0x200) -/* 002A00 70001E00 3C058006 */ lui $a1, %hi(_am+0x218) -/* 002A04 70001E04 24A5E730 */ addiu $a1, %lo(_am+0x218) # addiu $a1, $a1, -0x18d0 -/* 002A08 70001E08 2484E718 */ addiu $a0, %lo(_am+0x200) # addiu $a0, $a0, -0x18e8 -/* 002A0C 70001E0C 0C0035B4 */ jal osCreateMesgQueue -/* 002A10 70001E10 24060008 */ li $a2, 8 -/* 002A14 70001E14 3C048006 */ lui $a0, %hi(_am+0x1C8) -/* 002A18 70001E18 3C058006 */ lui $a1, %hi(_am+0x1E0) -/* 002A1C 70001E1C 24A5E6F8 */ addiu $a1, %lo(_am+0x1E0) # addiu $a1, $a1, -0x1908 -/* 002A20 70001E20 2484E6E0 */ addiu $a0, %lo(_am+0x1C8) # addiu $a0, $a0, -0x1920 -/* 002A24 70001E24 0C0035B4 */ jal osCreateMesgQueue -/* 002A28 70001E28 24060008 */ li $a2, 8 -/* 002A2C 70001E2C 3C048006 */ lui $a0, %hi(audDMAMessageQ) -/* 002A30 70001E30 3C058006 */ lui $a1, %hi(audDMAMessageBuf) -/* 002A34 70001E34 24A5F2E8 */ addiu $a1, %lo(audDMAMessageBuf) # addiu $a1, $a1, -0xd18 -/* 002A38 70001E38 2484F2D0 */ addiu $a0, %lo(audDMAMessageQ) # addiu $a0, $a0, -0xd30 -/* 002A3C 70001E3C 0C0035B4 */ jal osCreateMesgQueue -/* 002A40 70001E40 24060040 */ li $a2, 64 -/* 002A44 70001E44 3C028006 */ lui $v0, %hi(dmaBuffs) -/* 002A48 70001E48 2442E7C0 */ addiu $v0, %lo(dmaBuffs) # addiu $v0, $v0, -0x1840 -/* 002A4C 70001E4C 3C118006 */ lui $s1, %hi(dmaBuffs) -/* 002A50 70001E50 3C108006 */ lui $s0, %hi(dmaBuffs+20) -/* 002A54 70001E54 AC400004 */ sw $zero, 4($v0) -/* 002A58 70001E58 AC400000 */ sw $zero, ($v0) -/* 002A5C 70001E5C 2610E7D4 */ addiu $s0, $s0, %lo(dmaBuffs+20) -/* 002A60 70001E60 2631E7C0 */ addiu $s1, %lo(dmaBuffs) # addiu $s1, $s1, -0x1840 -/* 002A64 70001E64 00009025 */ move $s2, $zero -.L70001E68: -/* 002A68 70001E68 02002025 */ move $a0, $s0 -/* 002A6C 70001E6C 0C003AB0 */ jal alLink -/* 002A70 70001E70 02202825 */ move $a1, $s1 -/* 002A74 70001E74 8E660014 */ lw $a2, 0x14($s3) -/* 002A78 70001E78 240D0200 */ li $t5, 512 -/* 002A7C 70001E7C AFAD0010 */ sw $t5, 0x10($sp) -/* 002A80 70001E80 00002025 */ move $a0, $zero -/* 002A84 70001E84 00002825 */ move $a1, $zero -/* 002A88 70001E88 0C003AD4 */ jal alHeapDBAlloc -/* 002A8C 70001E8C 24070001 */ li $a3, 1 -/* 002A90 70001E90 26520001 */ addiu $s2, $s2, 1 -/* 002A94 70001E94 2A41003F */ slti $at, $s2, 0x3f -/* 002A98 70001E98 26310014 */ addiu $s1, $s1, 0x14 -/* 002A9C 70001E9C 26100014 */ addiu $s0, $s0, 0x14 -/* 002AA0 70001EA0 1420FFF1 */ bnez $at, .L70001E68 -/* 002AA4 70001EA4 AE22FFFC */ sw $v0, -4($s1) -/* 002AA8 70001EA8 8E660014 */ lw $a2, 0x14($s3) -/* 002AAC 70001EAC 240E0200 */ li $t6, 512 -/* 002AB0 70001EB0 AFAE0010 */ sw $t6, 0x10($sp) -/* 002AB4 70001EB4 00002025 */ move $a0, $zero -/* 002AB8 70001EB8 00002825 */ move $a1, $zero -/* 002ABC 70001EBC 0C003AD4 */ jal alHeapDBAlloc -/* 002AC0 70001EC0 24070001 */ li $a3, 1 -/* 002AC4 70001EC4 AE220010 */ sw $v0, 0x10($s1) -/* 002AC8 70001EC8 3C118006 */ lui $s1, %hi(_am+0x8) -/* 002ACC 70001ECC 3C108006 */ lui $s0, %hi(_am) -/* 002AD0 70001ED0 2610E518 */ addiu $s0, %lo(_am) # addiu $s0, $s0, -0x1ae8 -/* 002AD4 70001ED4 2631E520 */ addiu $s1, %lo(_am+0x8) # addiu $s1, $s1, -0x1ae0 -.L70001ED8: -/* 002AD8 70001ED8 8E660014 */ lw $a2, 0x14($s3) -/* 002ADC 70001EDC 24185DC0 */ li $t8, 24000 -/* 002AE0 70001EE0 AFB80010 */ sw $t8, 0x10($sp) -/* 002AE4 70001EE4 00002025 */ move $a0, $zero -/* 002AE8 70001EE8 00002825 */ move $a1, $zero -/* 002AEC 70001EEC 0C003AD4 */ jal alHeapDBAlloc -/* 002AF0 70001EF0 24070001 */ li $a3, 1 -/* 002AF4 70001EF4 26100004 */ addiu $s0, $s0, 4 -/* 002AF8 70001EF8 1611FFF7 */ bne $s0, $s1, .L70001ED8 -/* 002AFC 70001EFC AE02FFFC */ sw $v0, -4($s0) -/* 002B00 70001F00 3C04803B */ lui $a0, %hi(sp_audi) # $a0, 0x803b -/* 002B04 70001F04 24843950 */ addiu $a0, %lo(sp_audi) # addiu $a0, $a0, 0x3950 -/* 002B08 70001F08 0C0001BC */ jal set_stack_entry -/* 002B0C 70001F0C 24051000 */ li $a1, 4096 -/* 002B10 70001F10 3C048006 */ lui $a0, %hi(_am+0x18) -/* 002B14 70001F14 3C067000 */ lui $a2, %hi(_amMain) # $a2, 0x7000 -/* 002B18 70001F18 24190014 */ li $t9, 20 -/* 002B1C 70001F1C AFB90014 */ sw $t9, 0x14($sp) -/* 002B20 70001F20 24C61F7C */ addiu $a2, %lo(_amMain) # addiu $a2, $a2, 0x1f7c -/* 002B24 70001F24 2484E530 */ addiu $a0, %lo(_am+0x18) # addiu $a0, $a0, -0x1ad0 -/* 002B28 70001F28 24050004 */ li $a1, 4 -/* 002B2C 70001F2C 00003825 */ move $a3, $zero -/* 002B30 70001F30 0C00350C */ jal osCreateThread -/* 002B34 70001F34 AFA20010 */ sw $v0, 0x10($sp) -/* 002B38 70001F38 8FBF0034 */ lw $ra, 0x34($sp) -/* 002B3C 70001F3C 8FB00020 */ lw $s0, 0x20($sp) -/* 002B40 70001F40 8FB10024 */ lw $s1, 0x24($sp) -/* 002B44 70001F44 8FB20028 */ lw $s2, 0x28($sp) -/* 002B48 70001F48 8FB3002C */ lw $s3, 0x2c($sp) -/* 002B4C 70001F4C 8FB40030 */ lw $s4, 0x30($sp) -/* 002B50 70001F50 03E00008 */ jr $ra -/* 002B54 70001F54 27BD0118 */ addiu $sp, $sp, 0x118 -) -#endif - -/** - * 2B58 70001F58 - * insert sound manager thread - * redirect to 7000D580: A0=8005E530 - */ -#ifdef NONMATCHING -void startaudiThread(void) { - osStartThread(&_am+0x18); -} -#else -GLOBAL_ASM( -glabel startaudiThread -/* 002B58 70001F58 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 002B5C 70001F5C AFBF0014 */ sw $ra, 0x14($sp) -/* 002B60 70001F60 3C048006 */ lui $a0, %hi(_am+0x18) -/* 002B64 70001F64 0C003560 */ jal osStartThread -/* 002B68 70001F68 2484E530 */ addiu $a0, $a0, %lo(_am+0x18) -/* 002B6C 70001F6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 002B70 70001F70 27BD0018 */ addiu $sp, $sp, 0x18 -/* 002B74 70001F74 03E00008 */ jr $ra -/* 002B78 70001F78 00000000 */ nop -) -#endif - -/** - * 2B7C 70001F7C - */ -#ifdef NONMATCHING -void _amMain(s32 arg0) -{ - void *sp64; - ?32 sp60; - u32 sp54; - s32 sp50; - u32 sp4C; - s32 sp48; - u32 sp44; - u32 sp40; - ? temp_ret; - s32 temp_s1; - ? temp_ret_2; - u32 temp_t8; - u32 temp_t9; - ? temp_ret_3; - u32 temp_t7; - s32 phi_s1; - s32 phi_s2; - s32 phi_s2_2; - - sp64 = NULL; - sp60 = 0; - osScAddClient(&sc, &audi_client, &_am+0x1C8, 1); - phi_s1 = 0; - phi_s2_2 = 0; -loop_1: - osRecvMesg(&_am+0x1C8, &sp64, 1); - if (*sp64 != 1) - { - if (*sp64 != 5) - { - if (*sp64 != 0xa) - { - phi_s2 = phi_s2_2; - phi_s1 = phi_s1; - } - else - { - phi_s2 = 1; - phi_s1 = phi_s1; - } - } - else - { - phi_s2 = 1; - phi_s1 = phi_s1; - } - } - else - { - temp_ret = osGetTime(*sp64); - dword_CODE_bss_8005E4D8 = temp_ret; - dword_CODE_bss_8005E4D8.unk4 = temp_ret; - video_related_3(0x30000); - _amHandleFrameMsg((0x80060000 + (((u32) audFrameCt % 3U) * 4))->unk-1AE0, sp60); - temp_s1 = (phi_s1 + 1); - video_related_3(0x60000); - temp_ret_2 = osGetTime(); - dword_CODE_bss_8005E4E0 = temp_ret_2; - temp_t8 = ((temp_ret_2 - dword_CODE_bss_8005E4D8) - (temp_ret_2 < (u32) dword_CODE_bss_8005E4D8.unk4)); - dword_CODE_bss_8005E4E0.unk4 = temp_ret_2; - temp_t9 = (temp_ret_2 - dword_CODE_bss_8005E4D8.unk4); - dword_CODE_bss_8005E4C0 = temp_t9; - dword_CODE_bss_8005E4C0 = temp_t8; - sp44 = temp_t9; - sp40 = temp_t8; - sp50 = temp_ret_2; - sp54 = temp_ret_2; - sp48 = (s32) dword_CODE_bss_8005E4D8; - sp4C = (u32) dword_CODE_bss_8005E4D8.unk4; - if ((temp_s1 % 0xf0) == 0) - { - temp_ret_3 = __ull_div(dword_CODE_bss_8005E4D0, dword_CODE_bss_8005E4D0.unk4, 0, 0xf0); - dword_CODE_bss_8005E4CC = temp_ret_3; - dword_CODE_bss_8005E4CC = temp_ret_3; - sp44 = (u32) (dword_CODE_bss_8005E4E0.unk4 - dword_CODE_bss_8005E4D8.unk4); - dword_CODE_bss_8005E4B8.unk4 = 0U; - dword_CODE_bss_8005E4B8 = 0U; - dword_CODE_bss_8005E4D0.unk4 = 0; - sp40 = (u32) ((dword_CODE_bss_8005E4E0 - dword_CODE_bss_8005E4D8) - ((u32) dword_CODE_bss_8005E4E0.unk4 < (u32) dword_CODE_bss_8005E4D8.unk4)); - dword_CODE_bss_8005E4D0 = 0; - } - else - { - temp_t7 = (dword_CODE_bss_8005E4D0.unk4 + sp54); - dword_CODE_bss_8005E4D0.unk4 = (s32) (temp_t7 - sp4C); - dword_CODE_bss_8005E4D0 = (s32) (((((temp_t7 < sp54) + dword_CODE_bss_8005E4D0) + sp50) - sp48) - (temp_t7 < sp4C)); - } - if (sp40 >= (u32) dword_CODE_bss_8005E4B8) - { - if (((u32) dword_CODE_bss_8005E4B8 < sp40) || ((u32) dword_CODE_bss_8005E4B8.unk4 < sp44)) - { - dword_CODE_bss_8005E4B8 = sp40; - dword_CODE_bss_8005E4B8.unk4 = sp44; - } - else - { - - } - } - osRecvMesg(&_am+0x200, &sp60, 1); - __amHandleDoneMsg(sp60); - phi_s2 = phi_s2_2; - phi_s1 = temp_s1; - } - phi_s2_2 = phi_s2; - if (phi_s2 == 0) - { - goto loop_1; - } - alClose(&_am+0x238); -} -#else -GLOBAL_ASM( -.text -glabel _amMain -/* 002B7C 70001F7C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 002B80 70001F80 AFB60030 */ sw $s6, 0x30($sp) -/* 002B84 70001F84 3C168006 */ lui $s6, %hi(_am+0x1C8) -/* 002B88 70001F88 AFA40070 */ sw $a0, 0x70($sp) -/* 002B8C 70001F8C 26D6E6E0 */ addiu $s6, %lo(_am+0x1C8) # addiu $s6, $s6, -0x1920 -/* 002B90 70001F90 AFBF003C */ sw $ra, 0x3c($sp) -/* 002B94 70001F94 AFB20020 */ sw $s2, 0x20($sp) -/* 002B98 70001F98 AFB1001C */ sw $s1, 0x1c($sp) -/* 002B9C 70001F9C 3C048006 */ lui $a0, %hi(sc) -/* 002BA0 70001FA0 3C058006 */ lui $a1, %hi(audi_client) -/* 002BA4 70001FA4 AFBE0038 */ sw $fp, 0x38($sp) -/* 002BA8 70001FA8 AFB70034 */ sw $s7, 0x34($sp) -/* 002BAC 70001FAC AFB5002C */ sw $s5, 0x2c($sp) -/* 002BB0 70001FB0 AFB40028 */ sw $s4, 0x28($sp) -/* 002BB4 70001FB4 AFB30024 */ sw $s3, 0x24($sp) -/* 002BB8 70001FB8 AFB00018 */ sw $s0, 0x18($sp) -/* 002BBC 70001FBC 00008825 */ move $s1, $zero -/* 002BC0 70001FC0 00009025 */ move $s2, $zero -/* 002BC4 70001FC4 AFA00064 */ sw $zero, 0x64($sp) -/* 002BC8 70001FC8 AFA00060 */ sw $zero, 0x60($sp) -/* 002BCC 70001FCC 24A5E7A0 */ addiu $a1, %lo(audi_client) # addiu $a1, $a1, -0x1860 -/* 002BD0 70001FD0 2484DA40 */ addiu $a0, %lo(sc) # addiu $a0, $a0, -0x25c0 -/* 002BD4 70001FD4 02C03025 */ move $a2, $s6 -/* 002BD8 70001FD8 0C000305 */ jal osScAddClient -/* 002BDC 70001FDC 24070001 */ li $a3, 1 -/* 002BE0 70001FE0 3C158006 */ lui $s5, %hi(dword_CODE_bss_8005E4E0) -/* 002BE4 70001FE4 3C148006 */ lui $s4, %hi(dword_CODE_bss_8005E4D8) -/* 002BE8 70001FE8 3C138006 */ lui $s3, %hi(dword_CODE_bss_8005E4B8) -/* 002BEC 70001FEC 3C108006 */ lui $s0, %hi(dword_CODE_bss_8005E4D0) -/* 002BF0 70001FF0 2610E4D0 */ addiu $s0, %lo(dword_CODE_bss_8005E4D0) # addiu $s0, $s0, -0x1b30 -/* 002BF4 70001FF4 2673E4B8 */ addiu $s3, %lo(dword_CODE_bss_8005E4B8) # addiu $s3, $s3, -0x1b48 -/* 002BF8 70001FF8 2694E4D8 */ addiu $s4, %lo(dword_CODE_bss_8005E4D8) # addiu $s4, $s4, -0x1b28 -/* 002BFC 70001FFC 26B5E4E0 */ addiu $s5, %lo(dword_CODE_bss_8005E4E0) # addiu $s5, $s5, -0x1b20 -/* 002C00 70002000 241E0001 */ li $fp, 1 -/* 002C04 70002004 27B70064 */ addiu $s7, $sp, 0x64 -/* 002C08 70002008 02C02025 */ move $a0, $s6 -.L7000200C: -/* 002C0C 7000200C 02E02825 */ move $a1, $s7 -/* 002C10 70002010 0C003774 */ jal osRecvMesg -/* 002C14 70002014 03C03025 */ move $a2, $fp -/* 002C18 70002018 8FAE0064 */ lw $t6, 0x64($sp) -/* 002C1C 7000201C 24010005 */ li $at, 5 -/* 002C20 70002020 85C40000 */ lh $a0, ($t6) -/* 002C24 70002024 109E0007 */ beq $a0, $fp, .L70002044 -/* 002C28 70002028 00000000 */ nop -/* 002C2C 7000202C 10810071 */ beq $a0, $at, .L700021F4 -/* 002C30 70002030 2401000A */ li $at, 10 -/* 002C34 70002034 50810072 */ beql $a0, $at, .L70002200 -/* 002C38 70002038 03C09025 */ move $s2, $fp -/* 002C3C 7000203C 10000070 */ b .L70002200 -/* 002C40 70002040 00000000 */ nop -.L70002044: -/* 002C44 70002044 0C003AEC */ jal osGetTime -/* 002C48 70002048 00000000 */ nop -/* 002C4C 7000204C AE820000 */ sw $v0, ($s4) -/* 002C50 70002050 AE830004 */ sw $v1, 4($s4) -/* 002C54 70002054 0C000A15 */ jal video_related_3 -/* 002C58 70002058 3C040003 */ lui $a0, 3 -/* 002C5C 7000205C 3C0F8002 */ lui $t7, %hi(audFrameCt) -/* 002C60 70002060 8DEF30F4 */ lw $t7, %lo(audFrameCt)($t7) -/* 002C64 70002064 24010003 */ li $at, 3 -/* 002C68 70002068 3C048006 */ lui $a0, %hi(_am+8) -/* 002C6C 7000206C 01E1001B */ divu $zero, $t7, $at -/* 002C70 70002070 0000C010 */ mfhi $t8 -/* 002C74 70002074 0018C880 */ sll $t9, $t8, 2 -/* 002C78 70002078 00992021 */ addu $a0, $a0, $t9 -/* 002C7C 7000207C 8C84E520 */ lw $a0, %lo(_am+8)($a0) -/* 002C80 70002080 0C000891 */ jal _amHandleFrameMsg -/* 002C84 70002084 8FA50060 */ lw $a1, 0x60($sp) -/* 002C88 70002088 26310001 */ addiu $s1, $s1, 1 -/* 002C8C 7000208C 0C000A15 */ jal video_related_3 -/* 002C90 70002090 3C040006 */ lui $a0, 6 -/* 002C94 70002094 0C003AEC */ jal osGetTime -/* 002C98 70002098 00000000 */ nop -/* 002C9C 7000209C 8E8A0000 */ lw $t2, ($s4) -/* 002CA0 700020A0 8E8B0004 */ lw $t3, 4($s4) -/* 002CA4 700020A4 AEA20000 */ sw $v0, ($s5) -/* 002CA8 700020A8 004AC023 */ subu $t8, $v0, $t2 -/* 002CAC 700020AC 006B082B */ sltu $at, $v1, $t3 -/* 002CB0 700020B0 0301C023 */ subu $t8, $t8, $at -/* 002CB4 700020B4 AEA30004 */ sw $v1, 4($s5) -/* 002CB8 700020B8 3C018006 */ lui $at, %hi(dword_CODE_bss_8005E4C0) -/* 002CBC 700020BC 006BC823 */ subu $t9, $v1, $t3 -/* 002CC0 700020C0 AC39E4C4 */ sw $t9, %lo(dword_CODE_bss_8005E4C4)($at) -/* 002CC4 700020C4 AC38E4C0 */ sw $t8, %lo(dword_CODE_bss_8005E4C0)($at) -/* 002CC8 700020C8 240100F0 */ li $at, 240 -/* 002CCC 700020CC 0221001A */ div $zero, $s1, $at -/* 002CD0 700020D0 00004010 */ mfhi $t0 -/* 002CD4 700020D4 AFB90044 */ sw $t9, 0x44($sp) -/* 002CD8 700020D8 AFB80040 */ sw $t8, 0x40($sp) -/* 002CDC 700020DC AFA20050 */ sw $v0, 0x50($sp) -/* 002CE0 700020E0 AFA30054 */ sw $v1, 0x54($sp) -/* 002CE4 700020E4 AFAA0048 */ sw $t2, 0x48($sp) -/* 002CE8 700020E8 1500001C */ bnez $t0, .L7000215C -/* 002CEC 700020EC AFAB004C */ sw $t3, 0x4c($sp) -/* 002CF0 700020F0 8E040000 */ lw $a0, ($s0) -/* 002CF4 700020F4 8E050004 */ lw $a1, 4($s0) -/* 002CF8 700020F8 24060000 */ li $a2, 0 -/* 002CFC 700020FC 0C003B2A */ jal __ull_div -/* 002D00 70002100 240700F0 */ li $a3, 240 -/* 002D04 70002104 3C018006 */ lui $at, %hi(dword_CODE_bss_8005E4CC) -/* 002D08 70002108 AC22E4C8 */ sw $v0, %lo(dword_CODE_bss_8005E4C8)($at) -/* 002D0C 7000210C AC23E4CC */ sw $v1, %lo(dword_CODE_bss_8005E4CC)($at) -/* 002D10 70002110 8E990004 */ lw $t9, 4($s4) -/* 002D14 70002114 8E980000 */ lw $t8, ($s4) -/* 002D18 70002118 8EAF0004 */ lw $t7, 4($s5) -/* 002D1C 7000211C 8EAE0000 */ lw $t6, ($s5) -/* 002D20 70002120 240A0000 */ li $t2, 0 -/* 002D24 70002124 01F9082B */ sltu $at, $t7, $t9 -/* 002D28 70002128 01D84023 */ subu $t0, $t6, $t8 -/* 002D2C 7000212C 01014023 */ subu $t0, $t0, $at -/* 002D30 70002130 240B0000 */ li $t3, 0 -/* 002D34 70002134 240C0000 */ li $t4, 0 -/* 002D38 70002138 240D0000 */ li $t5, 0 -/* 002D3C 7000213C 01F94823 */ subu $t1, $t7, $t9 -/* 002D40 70002140 AFA90044 */ sw $t1, 0x44($sp) -/* 002D44 70002144 AE6D0004 */ sw $t5, 4($s3) -/* 002D48 70002148 AE6C0000 */ sw $t4, ($s3) -/* 002D4C 7000214C AE0B0004 */ sw $t3, 4($s0) -/* 002D50 70002150 AFA80040 */ sw $t0, 0x40($sp) -/* 002D54 70002154 10000011 */ b .L7000219C -/* 002D58 70002158 AE0A0000 */ sw $t2, ($s0) -.L7000215C: -/* 002D5C 7000215C 8E0B0004 */ lw $t3, 4($s0) -/* 002D60 70002160 8FAD0054 */ lw $t5, 0x54($sp) -/* 002D64 70002164 8E0A0000 */ lw $t2, ($s0) -/* 002D68 70002168 8FAC0050 */ lw $t4, 0x50($sp) -/* 002D6C 7000216C 016D7821 */ addu $t7, $t3, $t5 -/* 002D70 70002170 8FB80048 */ lw $t8, 0x48($sp) -/* 002D74 70002174 8FB9004C */ lw $t9, 0x4c($sp) -/* 002D78 70002178 01ED082B */ sltu $at, $t7, $t5 -/* 002D7C 7000217C 002A7021 */ addu $t6, $at, $t2 -/* 002D80 70002180 01CC7021 */ addu $t6, $t6, $t4 -/* 002D84 70002184 01D84023 */ subu $t0, $t6, $t8 -/* 002D88 70002188 01F9082B */ sltu $at, $t7, $t9 -/* 002D8C 7000218C 01014023 */ subu $t0, $t0, $at -/* 002D90 70002190 01F94823 */ subu $t1, $t7, $t9 -/* 002D94 70002194 AE090004 */ sw $t1, 4($s0) -/* 002D98 70002198 AE080000 */ sw $t0, ($s0) -.L7000219C: -/* 002D9C 7000219C 8E6A0000 */ lw $t2, ($s3) -/* 002DA0 700021A0 8FAC0040 */ lw $t4, 0x40($sp) -/* 002DA4 700021A4 8E6B0004 */ lw $t3, 4($s3) -/* 002DA8 700021A8 8FAD0044 */ lw $t5, 0x44($sp) -/* 002DAC 700021AC 018A082B */ sltu $at, $t4, $t2 -/* 002DB0 700021B0 14200008 */ bnez $at, .L700021D4 -/* 002DB4 700021B4 3C048006 */ lui $a0, %hi(_am+0x200) -/* 002DB8 700021B8 014C082B */ sltu $at, $t2, $t4 -/* 002DBC 700021BC 14200003 */ bnez $at, .L700021CC -/* 002DC0 700021C0 016D082B */ sltu $at, $t3, $t5 -/* 002DC4 700021C4 10200003 */ beqz $at, .L700021D4 -/* 002DC8 700021C8 00000000 */ nop -.L700021CC: -/* 002DCC 700021CC AE6C0000 */ sw $t4, ($s3) -/* 002DD0 700021D0 AE6D0004 */ sw $t5, 4($s3) -.L700021D4: -/* 002DD4 700021D4 2484E718 */ addiu $a0, %lo(_am+0x200) # addiu $a0, $a0, -0x18e8 -/* 002DD8 700021D8 27A50060 */ addiu $a1, $sp, 0x60 -/* 002DDC 700021DC 0C003774 */ jal osRecvMesg -/* 002DE0 700021E0 03C03025 */ move $a2, $fp -/* 002DE4 700021E4 0C0008F9 */ jal __amHandleDoneMsg -/* 002DE8 700021E8 8FA40060 */ lw $a0, 0x60($sp) -/* 002DEC 700021EC 10000004 */ b .L70002200 -/* 002DF0 700021F0 00000000 */ nop -.L700021F4: -/* 002DF4 700021F4 10000002 */ b .L70002200 -/* 002DF8 700021F8 03C09025 */ move $s2, $fp -/* 002DFC 700021FC 03C09025 */ move $s2, $fp -.L70002200: -/* 002E00 70002200 5240FF82 */ beql $s2, $zero, .L7000200C -/* 002E04 70002204 02C02025 */ move $a0, $s6 -/* 002E08 70002208 3C048006 */ lui $a0, %hi(_am+0x238) -/* 002E0C 7000220C 0C003AB9 */ jal alClose -/* 002E10 70002210 2484E750 */ addiu $a0, %lo(_am+0x238) # addiu $a0, $a0, -0x18b0 -/* 002E14 70002214 8FBF003C */ lw $ra, 0x3c($sp) -/* 002E18 70002218 8FB00018 */ lw $s0, 0x18($sp) -/* 002E1C 7000221C 8FB1001C */ lw $s1, 0x1c($sp) -/* 002E20 70002220 8FB20020 */ lw $s2, 0x20($sp) -/* 002E24 70002224 8FB30024 */ lw $s3, 0x24($sp) -/* 002E28 70002228 8FB40028 */ lw $s4, 0x28($sp) -/* 002E2C 7000222C 8FB5002C */ lw $s5, 0x2c($sp) -/* 002E30 70002230 8FB60030 */ lw $s6, 0x30($sp) -/* 002E34 70002234 8FB70034 */ lw $s7, 0x34($sp) -/* 002E38 70002238 8FBE0038 */ lw $fp, 0x38($sp) -/* 002E3C 7000223C 03E00008 */ jr $ra -/* 002E40 70002240 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - -/** - * 2E44 70002244 - * accepts: A0=, A1=p->audio packet - */ -#ifdef NONMATCHING -void _amHandleFrameMsg(void *arg0, s32 arg1, void *argB) { - s32 sp24; - - // Node 0 - __clearAudioDMA(); - sp24 = osVirtualToPhysical(*arg0); - if (argB != 0) - { - // Node 1 - osAiSetNextBuffer(*argB, (argB->unk4 * 4)); - } - // Node 2 - arg0->unk4 = (s16) (((frameSize - (osAiGetLength() >> 2)) + 0x35) & 0xfff0); - if (arg0->unk4 < ((s32) (minFrameSize << 0x10) >> 0x10)) - { - // Node 3 - arg0->unk4 = (s16) minFrameSize; - } - // Node 4 - arg0->unk8 = 0; - arg0->unk58 = &_am+0x200; - arg0->unk5C = arg0; - arg0->unk10 = 2; - arg0->unk48 = (?32) *(&_am + (curAcmdList * 4)); - arg0->unk4C = (s32) (((s32) (alAudioFrame((0x80060000 + (curAcmdList * 4))->unk-1AE8, &cmdLen, sp24, arg0->unk4) - *(&_am + (curAcmdList * 4))) >> 3) * 8); - arg0->unk18 = 2; - arg0->unk20 = &rspbootTextStart; - arg0->unk24 = (s32) (&gsp3DTextStart - &rspbootTextStart); - arg0->unk1C = 0; - arg0->unk28 = &aspMainTextStart; - arg0->unk30 = &aspMainDataStart; - arg0->unk34 = 0x800; - arg0->unk50 = 0; - arg0->unk54 = 0; - osSendMesg(osScGetCmdQ(&sc, &rspbootTextStart, &curAcmdList, &_am), (arg0 + 8), 0); - curAcmdList = (s32) (curAcmdList ^ 1); - return; - // (possible return value: osSendMesg(osScGetCmdQ(&sc, &rspbootTextStart, &curAcmdList, &_am), (arg0 + 8), 0)) -} -#else -GLOBAL_ASM( -.text -glabel _amHandleFrameMsg -/* 002E44 70002244 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 002E48 70002248 AFBF001C */ sw $ra, 0x1c($sp) -/* 002E4C 7000224C AFB00018 */ sw $s0, 0x18($sp) -/* 002E50 70002250 00808025 */ move $s0, $a0 -/* 002E54 70002254 0C000984 */ jal __clearAudioDMA -/* 002E58 70002258 AFA5002C */ sw $a1, 0x2c($sp) -/* 002E5C 7000225C 0C003A2C */ jal osVirtualToPhysical -/* 002E60 70002260 8E040000 */ lw $a0, ($s0) -/* 002E64 70002264 8FA3002C */ lw $v1, 0x2c($sp) -/* 002E68 70002268 AFA20024 */ sw $v0, 0x24($sp) -/* 002E6C 7000226C 10600006 */ beqz $v1, .L70002288 -/* 002E70 70002270 00000000 */ nop -/* 002E74 70002274 84650004 */ lh $a1, 4($v1) -/* 002E78 70002278 8C640000 */ lw $a0, ($v1) -/* 002E7C 7000227C 00057080 */ sll $t6, $a1, 2 -/* 002E80 70002280 0C003BC0 */ jal osAiSetNextBuffer -/* 002E84 70002284 01C02825 */ move $a1, $t6 -.L70002288: -/* 002E88 70002288 0C003BEC */ jal osAiGetLength -/* 002E8C 7000228C 00000000 */ nop -/* 002E90 70002290 3C0F8006 */ lui $t7, %hi(frameSize) -/* 002E94 70002294 8DEFECC4 */ lw $t7, %lo(frameSize)($t7) -/* 002E98 70002298 0002C082 */ srl $t8, $v0, 2 -/* 002E9C 7000229C 3C038006 */ lui $v1, %hi(minFrameSize) -/* 002EA0 700022A0 01F8C823 */ subu $t9, $t7, $t8 -/* 002EA4 700022A4 27280035 */ addiu $t0, $t9, 0x35 -/* 002EA8 700022A8 3109FFF0 */ andi $t1, $t0, 0xfff0 -/* 002EAC 700022AC A6090004 */ sh $t1, 4($s0) -/* 002EB0 700022B0 8C63ECC0 */ lw $v1, %lo(minFrameSize)($v1) -/* 002EB4 700022B4 86070004 */ lh $a3, 4($s0) -/* 002EB8 700022B8 3C0C8002 */ lui $t4, %hi(curAcmdList) -/* 002EBC 700022BC 00035400 */ sll $t2, $v1, 0x10 -/* 002EC0 700022C0 000A5C03 */ sra $t3, $t2, 0x10 -/* 002EC4 700022C4 00EB082A */ slt $at, $a3, $t3 -/* 002EC8 700022C8 10200003 */ beqz $at, .L700022D8 -/* 002ECC 700022CC 3C048006 */ lui $a0, %hi(_am) -/* 002ED0 700022D0 A6030004 */ sh $v1, 4($s0) -/* 002ED4 700022D4 86070004 */ lh $a3, 4($s0) -.L700022D8: -/* 002ED8 700022D8 8D8C30FC */ lw $t4, %lo(curAcmdList)($t4) -/* 002EDC 700022DC 3C058006 */ lui $a1, %hi(cmdLen) -/* 002EE0 700022E0 24A5ECCC */ addiu $a1, %lo(cmdLen) # addiu $a1, $a1, -0x1334 -/* 002EE4 700022E4 000C6880 */ sll $t5, $t4, 2 -/* 002EE8 700022E8 008D2021 */ addu $a0, $a0, $t5 -/* 002EEC 700022EC 8C84E518 */ lw $a0, %lo(_am)($a0) -/* 002EF0 700022F0 0C003C42 */ jal alAudioFrame -/* 002EF4 700022F4 8FA60024 */ lw $a2, 0x24($sp) -/* 002EF8 700022F8 3C0E8006 */ lui $t6, %hi(_am+0x200) -/* 002EFC 700022FC 24030002 */ li $v1, 2 -/* 002F00 70002300 3C068002 */ lui $a2, %hi(curAcmdList) -/* 002F04 70002304 25CEE718 */ addiu $t6, %lo(_am+0x200) # addiu $t6, $t6, -0x18e8 -/* 002F08 70002308 24C630FC */ addiu $a2, %lo(curAcmdList) # addiu $a2, $a2, 0x30fc -/* 002F0C 7000230C AE000008 */ sw $zero, 8($s0) -/* 002F10 70002310 AE0E0058 */ sw $t6, 0x58($s0) -/* 002F14 70002314 AE10005C */ sw $s0, 0x5c($s0) -/* 002F18 70002318 AE030010 */ sw $v1, 0x10($s0) -/* 002F1C 7000231C 8CCF0000 */ lw $t7, ($a2) -/* 002F20 70002320 3C078006 */ lui $a3, %hi(_am) -/* 002F24 70002324 24E7E518 */ addiu $a3, %lo(_am) # addiu $a3, $a3, -0x1ae8 -/* 002F28 70002328 000FC080 */ sll $t8, $t7, 2 -/* 002F2C 7000232C 00F8C821 */ addu $t9, $a3, $t8 -/* 002F30 70002330 8F280000 */ lw $t0, ($t9) -/* 002F34 70002334 3C058002 */ lui $a1, %hi(rspbootTextStart) -/* 002F38 70002338 3C188002 */ lui $t8, %hi(gsp3DTextStart) -/* 002F3C 7000233C AE080048 */ sw $t0, 0x48($s0) -/* 002F40 70002340 8CC90000 */ lw $t1, ($a2) -/* 002F44 70002344 24A50D90 */ addiu $a1, %lo(rspbootTextStart) # addiu $a1, $a1, 0xd90 -/* 002F48 70002348 27180E60 */ addiu $t8, %lo(gsp3DTextStart) # addiu $t8, $t8, 0xe60 -/* 002F4C 7000234C 00095080 */ sll $t2, $t1, 2 -/* 002F50 70002350 00EA5821 */ addu $t3, $a3, $t2 -/* 002F54 70002354 8D6C0000 */ lw $t4, ($t3) -/* 002F58 70002358 3C088002 */ lui $t0, %hi(aspMainTextStart) -/* 002F5C 7000235C 3C098006 */ lui $t1, %hi(aspMainDataStart) -/* 002F60 70002360 004C6823 */ subu $t5, $v0, $t4 -/* 002F64 70002364 000D70C3 */ sra $t6, $t5, 3 -/* 002F68 70002368 000E78C0 */ sll $t7, $t6, 3 -/* 002F6C 7000236C 0305C823 */ subu $t9, $t8, $a1 -/* 002F70 70002370 25082280 */ addiu $t0, %lo(aspMainTextStart) # addiu $t0, $t0, 0x2280 -/* 002F74 70002374 2529D020 */ addiu $t1, %lo(aspMainDataStart) # addiu $t1, $t1, -0x2fe0 -/* 002F78 70002378 240A0800 */ li $t2, 2048 -/* 002F7C 7000237C 3C048006 */ lui $a0, %hi(sc) -/* 002F80 70002380 AE0F004C */ sw $t7, 0x4c($s0) -/* 002F84 70002384 AE030018 */ sw $v1, 0x18($s0) -/* 002F88 70002388 AE050020 */ sw $a1, 0x20($s0) -/* 002F8C 7000238C AE190024 */ sw $t9, 0x24($s0) -/* 002F90 70002390 AE00001C */ sw $zero, 0x1c($s0) -/* 002F94 70002394 AE080028 */ sw $t0, 0x28($s0) -/* 002F98 70002398 AE090030 */ sw $t1, 0x30($s0) -/* 002F9C 7000239C AE0A0034 */ sw $t2, 0x34($s0) -/* 002FA0 700023A0 AE000050 */ sw $zero, 0x50($s0) -/* 002FA4 700023A4 AE000054 */ sw $zero, 0x54($s0) -/* 002FA8 700023A8 0C00033E */ jal osScGetCmdQ -/* 002FAC 700023AC 2484DA40 */ addiu $a0, %lo(sc) # addiu $a0, $a0, -0x25c0 -/* 002FB0 700023B0 00402025 */ move $a0, $v0 -/* 002FB4 700023B4 26050008 */ addiu $a1, $s0, 8 -/* 002FB8 700023B8 0C0037C4 */ jal osSendMesg -/* 002FBC 700023BC 00003025 */ move $a2, $zero -/* 002FC0 700023C0 3C038002 */ lui $v1, %hi(curAcmdList) -/* 002FC4 700023C4 246330FC */ addiu $v1, %lo(curAcmdList) # addiu $v1, $v1, 0x30fc -/* 002FC8 700023C8 8C6B0000 */ lw $t3, ($v1) -/* 002FCC 700023CC 8FBF001C */ lw $ra, 0x1c($sp) -/* 002FD0 700023D0 8FB00018 */ lw $s0, 0x18($sp) -/* 002FD4 700023D4 396C0001 */ xori $t4, $t3, 1 -/* 002FD8 700023D8 AC6C0000 */ sw $t4, ($v1) -/* 002FDC 700023DC 03E00008 */ jr $ra -/* 002FE0 700023E0 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -/** - * 2FE4 700023E4 - */ -#ifdef NONMATCHING -void __amHandleDoneMsg(AudioInfo *info) { - int samplesLeft; - - samplesLeft = osAiGetLength(); - if ((samplesLeft >> 2 == 0) && (firstTime == 0)) { - firstTime = 0; - } -} -#else -GLOBAL_ASM( -.text -glabel __amHandleDoneMsg -/* 002FE4 700023E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 002FE8 700023E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 002FEC 700023EC 0C003BEC */ jal osAiGetLength -/* 002FF0 700023F0 AFA40018 */ sw $a0, 0x18($sp) -/* 002FF4 700023F4 00027083 */ sra $t6, $v0, 2 -/* 002FF8 700023F8 15C00006 */ bnez $t6, .L70002414 -/* 002FFC 700023FC 3C0F8002 */ lui $t7, %hi(firstTime) -/* 003000 70002400 8DEF31C8 */ lw $t7, %lo(firstTime)($t7) -/* 003004 70002404 3C018002 */ lui $at, %hi(firstTime) -/* 003008 70002408 55E00003 */ bnezl $t7, .L70002418 -/* 00300C 7000240C 8FBF0014 */ lw $ra, 0x14($sp) -/* 003010 70002410 AC2031C8 */ sw $zero, %lo(firstTime)($at) -.L70002414: -/* 003014 70002414 8FBF0014 */ lw $ra, 0x14($sp) -.L70002418: -/* 003018 70002418 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00301C 7000241C 03E00008 */ jr $ra -/* 003020 70002420 00000000 */ nop -) -#endif - -/** - * 3024 70002424 - */ -#ifdef NONMATCHING -s32 __amDMA(u32 arg0, s32 arg1, ? arg2, s32 arg14) { - s32 sp30; - s32 sp48; - ?32 sp4C; - s32 temp_t2; - s32 temp_a3; - - // Node 0 - temp_t2 = (arg0 & 1); - sp48 = temp_t2; - if (dmaState_initialized.unk4 != 0) - { - loop_1: - // Node 1 - if (arg0 >= (u32) dmaState_initialized.unk4->unk8) - { - // Node 2 - if ((dmaState_initialized.unk4->unk8 + 0x200) >= (arg0 + arg1)) - { - // Node 3 - dmaState_initialized.unk4->unkC = (?32) audFrameCt; - osVirtualToPhysical(((dmaState_initialized.unk4->unk10 + arg0) - dmaState_initialized.unk4->unk8), dmaState_initialized.unk4, arg0); - return; - // (possible return value: osVirtualToPhysical(((dmaState_initialized.unk4->unk10 + arg0) - dmaState_initialized.unk4->unk8), dmaState_initialized.unk4, arg0)) - } - // Node 4 - if (*dmaState_initialized.unk4 != 0) - { - goto loop_1; - } - } - } - // Node 5 - if (dmaState_initialized.unk8 == 0) - { - // Node 6 - if (NULL == 0) - { - // Node 7 - } - // Node 8 - sp30 = temp_t2; - osVirtualToPhysical(NULL->unk10, NULL, arg0); - } - else - { - // Node 9 - dmaState_initialized.unk8 = (void *) *dmaState_initialized.unk8; - alUnlink(dmaState_initialized.unk8, NULL, arg0); - if (sp38 != 0) - { - // Node 10 - alLink(dmaState_initialized.unk8, sp38, sp38, arg14); - } - else - { - // Node 11 - if (dmaState_initialized.unk4 != 0) - { - // Node 12 - dmaState_initialized.unk4 = (void *) dmaState_initialized.unk8; - *dmaState_initialized.unk8 = (void *) dmaState_initialized.unk4; - dmaState_initialized.unk8->unk4 = 0; - dmaState_initialized.unk4->unk4 = (void *) dmaState_initialized.unk8; - } - else - { - // Node 13 - dmaState_initialized.unk4 = (void *) dmaState_initialized.unk8; - *dmaState_initialized.unk8 = NULL; - dmaState_initialized.unk8->unk4 = 0; - } - } - // Node 14 - temp_a3 = (arg14 - sp48); - dmaState_initialized.unk8->unk8 = temp_a3; - dmaState_initialized.unk8->unkC = (?32) audFrameCt; - nextDMA = (s32) (nextDMA + 1); - sp4C = (?32) dmaState_initialized.unk8->unk10; - osPiStartDma(((nextDMA * 0x18) + &audDMAIOMesgBuf), 1, 0, temp_a3, (?32) dmaState_initialized.unk8->unk10, 0x200, &audDMAMessageQ); - osVirtualToPhysical(sp4C); - } - // Node 15 - return; - // (possible return value: (osVirtualToPhysical(sp4C) + sp48)) -} -#else -GLOBAL_ASM( -.text -glabel __amDMA -/* 003024 70002424 3C098006 */ lui $t1, %hi(dmaState_initialized) -/* 003028 70002428 2529E7B0 */ addiu $t1, %lo(dmaState_initialized) # addiu $t1, $t1, -0x1850 -/* 00302C 7000242C 8D280004 */ lw $t0, 4($t1) -/* 003030 70002430 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 003034 70002434 AFB00028 */ sw $s0, 0x28($sp) -/* 003038 70002438 AFA60058 */ sw $a2, 0x58($sp) -/* 00303C 7000243C 308A0001 */ andi $t2, $a0, 1 -/* 003040 70002440 AFBF002C */ sw $ra, 0x2c($sp) -/* 003044 70002444 00803825 */ move $a3, $a0 -/* 003048 70002448 00003025 */ move $a2, $zero -/* 00304C 7000244C AFAA0048 */ sw $t2, 0x48($sp) -/* 003050 70002450 11000015 */ beqz $t0, .L700024A8 -/* 003054 70002454 01008025 */ move $s0, $t0 -/* 003058 70002458 8E020008 */ lw $v0, 8($s0) -.L7000245C: -/* 00305C 7000245C 00E57021 */ addu $t6, $a3, $a1 -/* 003060 70002460 00E2082B */ sltu $at, $a3, $v0 -/* 003064 70002464 14200010 */ bnez $at, .L700024A8 -/* 003068 70002468 24430200 */ addiu $v1, $v0, 0x200 -/* 00306C 7000246C 006E082A */ slt $at, $v1, $t6 -/* 003070 70002470 1420000A */ bnez $at, .L7000249C -/* 003074 70002474 02003025 */ move $a2, $s0 -/* 003078 70002478 8E180010 */ lw $t8, 0x10($s0) -/* 00307C 7000247C 3C0F8002 */ lui $t7, %hi(audFrameCt) -/* 003080 70002480 8DEF30F4 */ lw $t7, %lo(audFrameCt)($t7) -/* 003084 70002484 0307C821 */ addu $t9, $t8, $a3 -/* 003088 70002488 03222023 */ subu $a0, $t9, $v0 -/* 00308C 7000248C 0C003A2C */ jal osVirtualToPhysical -/* 003090 70002490 AE0F000C */ sw $t7, 0xc($s0) -/* 003094 70002494 1000004C */ b .L700025C8 -/* 003098 70002498 8FBF002C */ lw $ra, 0x2c($sp) -.L7000249C: -/* 00309C 7000249C 8E100000 */ lw $s0, ($s0) -/* 0030A0 700024A0 5600FFEE */ bnezl $s0, .L7000245C -/* 0030A4 700024A4 8E020008 */ lw $v0, 8($s0) -.L700024A8: -/* 0030A8 700024A8 8D300008 */ lw $s0, 8($t1) -/* 0030AC 700024AC 1600000A */ bnez $s0, .L700024D8 -/* 0030B0 700024B0 02002025 */ move $a0, $s0 -/* 0030B4 700024B4 54C00003 */ bnezl $a2, .L700024C4 -/* 0030B8 700024B8 8CC40010 */ lw $a0, 0x10($a2) -/* 0030BC 700024BC 01003025 */ move $a2, $t0 -/* 0030C0 700024C0 8CC40010 */ lw $a0, 0x10($a2) -.L700024C4: -/* 0030C4 700024C4 0C003A2C */ jal osVirtualToPhysical -/* 0030C8 700024C8 AFAA0030 */ sw $t2, 0x30($sp) -/* 0030CC 700024CC 8FAA0030 */ lw $t2, 0x30($sp) -/* 0030D0 700024D0 1000003C */ b .L700025C4 -/* 0030D4 700024D4 004A1021 */ addu $v0, $v0, $t2 -.L700024D8: -/* 0030D8 700024D8 8E0B0000 */ lw $t3, ($s0) -/* 0030DC 700024DC AFA70050 */ sw $a3, 0x50($sp) -/* 0030E0 700024E0 AFA60038 */ sw $a2, 0x38($sp) -/* 0030E4 700024E4 0C003AA4 */ jal alUnlink -/* 0030E8 700024E8 AD2B0008 */ sw $t3, 8($t1) -/* 0030EC 700024EC 8FA60038 */ lw $a2, 0x38($sp) -/* 0030F0 700024F0 3C098006 */ lui $t1, %hi(dmaState_initialized) -/* 0030F4 700024F4 2529E7B0 */ addiu $t1, %lo(dmaState_initialized) # addiu $t1, $t1, -0x1850 -/* 0030F8 700024F8 10C00007 */ beqz $a2, .L70002518 -/* 0030FC 700024FC 8FA70050 */ lw $a3, 0x50($sp) -/* 003100 70002500 02002025 */ move $a0, $s0 -/* 003104 70002504 00C02825 */ move $a1, $a2 -/* 003108 70002508 0C003AB0 */ jal alLink -/* 00310C 7000250C AFA70050 */ sw $a3, 0x50($sp) -/* 003110 70002510 1000000C */ b .L70002544 -/* 003114 70002514 8FA70050 */ lw $a3, 0x50($sp) -.L70002518: -/* 003118 70002518 8D280004 */ lw $t0, 4($t1) -/* 00311C 7000251C 51000007 */ beql $t0, $zero, .L7000253C -/* 003120 70002520 AD300004 */ sw $s0, 4($t1) -/* 003124 70002524 AD300004 */ sw $s0, 4($t1) -/* 003128 70002528 AE080000 */ sw $t0, ($s0) -/* 00312C 7000252C AE000004 */ sw $zero, 4($s0) -/* 003130 70002530 10000004 */ b .L70002544 -/* 003134 70002534 AD100004 */ sw $s0, 4($t0) -/* 003138 70002538 AD300004 */ sw $s0, 4($t1) -.L7000253C: -/* 00313C 7000253C AE000000 */ sw $zero, ($s0) -/* 003140 70002540 AE000004 */ sw $zero, 4($s0) -.L70002544: -/* 003144 70002544 8FAC0048 */ lw $t4, 0x48($sp) -/* 003148 70002548 3C0D8002 */ lui $t5, %hi(audFrameCt) -/* 00314C 7000254C 3C088002 */ lui $t0, %hi(nextDMA) -/* 003150 70002550 00EC3823 */ subu $a3, $a3, $t4 -/* 003154 70002554 AE070008 */ sw $a3, 8($s0) -/* 003158 70002558 8DAD30F4 */ lw $t5, %lo(audFrameCt)($t5) -/* 00315C 7000255C 250830F8 */ addiu $t0, %lo(nextDMA) # addiu $t0, $t0, 0x30f8 -/* 003160 70002560 8E030010 */ lw $v1, 0x10($s0) -/* 003164 70002564 AE0D000C */ sw $t5, 0xc($s0) -/* 003168 70002568 8D020000 */ lw $v0, ($t0) -/* 00316C 7000256C 3C0F8006 */ lui $t7, %hi(audDMAIOMesgBuf) -/* 003170 70002570 3C198006 */ lui $t9, %hi(audDMAMessageQ) -/* 003174 70002574 00027080 */ sll $t6, $v0, 2 -/* 003178 70002578 01C27023 */ subu $t6, $t6, $v0 -/* 00317C 7000257C 000E70C0 */ sll $t6, $t6, 3 -/* 003180 70002580 2739F2D0 */ addiu $t9, %lo(audDMAMessageQ) # addiu $t9, $t9, -0xd30 -/* 003184 70002584 25EFECD0 */ addiu $t7, %lo(audDMAIOMesgBuf) # addiu $t7, $t7, -0x1330 -/* 003188 70002588 24180200 */ li $t8, 512 -/* 00318C 7000258C 244B0001 */ addiu $t3, $v0, 1 -/* 003190 70002590 AD0B0000 */ sw $t3, ($t0) -/* 003194 70002594 AFB80014 */ sw $t8, 0x14($sp) -/* 003198 70002598 01CF2021 */ addu $a0, $t6, $t7 -/* 00319C 7000259C AFB90018 */ sw $t9, 0x18($sp) -/* 0031A0 700025A0 24050001 */ li $a1, 1 -/* 0031A4 700025A4 00003025 */ move $a2, $zero -/* 0031A8 700025A8 AFA3004C */ sw $v1, 0x4c($sp) -/* 0031AC 700025AC 0C003DA8 */ jal osPiStartDma -/* 0031B0 700025B0 AFA30010 */ sw $v1, 0x10($sp) -/* 0031B4 700025B4 0C003A2C */ jal osVirtualToPhysical -/* 0031B8 700025B8 8FA4004C */ lw $a0, 0x4c($sp) -/* 0031BC 700025BC 8FAC0048 */ lw $t4, 0x48($sp) -/* 0031C0 700025C0 004C1021 */ addu $v0, $v0, $t4 -.L700025C4: -/* 0031C4 700025C4 8FBF002C */ lw $ra, 0x2c($sp) -.L700025C8: -/* 0031C8 700025C8 8FB00028 */ lw $s0, 0x28($sp) -/* 0031CC 700025CC 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0031D0 700025D0 03E00008 */ jr $ra -/* 0031D4 700025D4 00000000 */ nop -) -#endif - -/** - * 31D8 700025D8 - */ -#ifdef NONMATCHING -void *__amDmaNew(void *arg0) { - // Node 0 - if (dmaState_initialized == 0) - { - // Node 1 - dmaState_initialized.unk4 = 0; - dmaState_initialized.unk8 = &dmaBuffs; - dmaState_initialized = (u8)1; - } - // Node 2 - *arg0 = &dmaState_initialized; - return; - // (possible return value: &__amDMA) -} -#else -GLOBAL_ASM( -.text -glabel __amDmaNew -/* 0031D8 700025D8 3C038006 */ lui $v1, %hi(dmaState_initialized) -/* 0031DC 700025DC 2463E7B0 */ addiu $v1, %lo(dmaState_initialized) # addiu $v1, $v1, -0x1850 -/* 0031E0 700025E0 906E0000 */ lbu $t6, ($v1) -/* 0031E4 700025E4 3C027000 */ lui $v0, %hi(__amDMA) # $v0, 0x7000 -/* 0031E8 700025E8 3C0F8006 */ lui $t7, %hi(dmaBuffs) -/* 0031EC 700025EC 15C00006 */ bnez $t6, .L70002608 -/* 0031F0 700025F0 24422424 */ addiu $v0, %lo(__amDMA) # addiu $v0, $v0, 0x2424 -/* 0031F4 700025F4 25EFE7C0 */ addiu $t7, %lo(dmaBuffs) # addiu $t7, $t7, -0x1840 -/* 0031F8 700025F8 24180001 */ li $t8, 1 -/* 0031FC 700025FC AC600004 */ sw $zero, 4($v1) -/* 003200 70002600 AC6F0008 */ sw $t7, 8($v1) -/* 003204 70002604 A0780000 */ sb $t8, ($v1) -.L70002608: -/* 003208 70002608 03E00008 */ jr $ra -/* 00320C 7000260C AC830000 */ sw $v1, ($a0) -) -#endif - -/** - * 3210 70002610 - */ -#ifdef NONMATCHING -void __clearAudioDMA(void) { - ?32 sp40; - - // Node 0 - sp40 = 0; - if (nextDMA != 0) - { - // Node 1 - // Node 2 - osRecvMesg(&audDMAMessageQ, &sp40, 0); - if ((u32) (0 + 1) < (u32) nextDMA) - { - goto loop_2; - } - } - // Node 3 - if (dmaState_initialized.unk4 != 0) - { - loop_4: - // Node 4 - if ((u32) (dmaState_initialized.unk4->unkC + 1) < (u32) audFrameCt) - { - // Node 5 - if (dmaState_initialized.unk4 == dmaState_initialized.unk4) - { - // Node 6 - dmaState_initialized.unk4 = (void *) *dmaState_initialized.unk4; - } - // Node 7 - alUnlink(dmaState_initialized.unk4); - if (dmaState_initialized.unk8 != 0) - { - // Node 8 - alLink(dmaState_initialized.unk4, dmaState_initialized.unk8); - } - else - { - // Node 9 - dmaState_initialized.unk8 = (void *) dmaState_initialized.unk4; - *dmaState_initialized.unk4 = NULL; - dmaState_initialized.unk4->unk4 = 0; - } - } - // Node 10 - if (*dmaState_initialized.unk4 != 0) - { - goto loop_4; - } - } - // Node 11 - nextDMA = 0U; - audFrameCt = (u32) (audFrameCt + 1); - return; - // (function likely void) -} -#else -GLOBAL_ASM( -.text -glabel __clearAudioDMA -/* 003210 70002610 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 003214 70002614 AFB40028 */ sw $s4, 0x28($sp) -/* 003218 70002618 3C148002 */ lui $s4, %hi(nextDMA) -/* 00321C 7000261C 269430F8 */ addiu $s4, %lo(nextDMA) # addiu $s4, $s4, 0x30f8 -/* 003220 70002620 8E8E0000 */ lw $t6, ($s4) -/* 003224 70002624 AFB00018 */ sw $s0, 0x18($sp) -/* 003228 70002628 AFBF002C */ sw $ra, 0x2c($sp) -/* 00322C 7000262C AFB30024 */ sw $s3, 0x24($sp) -/* 003230 70002630 AFB20020 */ sw $s2, 0x20($sp) -/* 003234 70002634 AFB1001C */ sw $s1, 0x1c($sp) -/* 003238 70002638 AFA00040 */ sw $zero, 0x40($sp) -/* 00323C 7000263C 11C0000D */ beqz $t6, .L70002674 -/* 003240 70002640 00008025 */ move $s0, $zero -/* 003244 70002644 3C118006 */ lui $s1, %hi(audDMAMessageQ) -/* 003248 70002648 2631F2D0 */ addiu $s1, %lo(audDMAMessageQ) # addiu $s1, $s1, -0xd30 -/* 00324C 7000264C 27B20040 */ addiu $s2, $sp, 0x40 -/* 003250 70002650 02202025 */ move $a0, $s1 -.L70002654: -/* 003254 70002654 02402825 */ move $a1, $s2 -/* 003258 70002658 0C003774 */ jal osRecvMesg -/* 00325C 7000265C 00003025 */ move $a2, $zero -/* 003260 70002660 8E8F0000 */ lw $t7, ($s4) -/* 003264 70002664 26100001 */ addiu $s0, $s0, 1 -/* 003268 70002668 020F082B */ sltu $at, $s0, $t7 -/* 00326C 7000266C 5420FFF9 */ bnezl $at, .L70002654 -/* 003270 70002670 02202025 */ move $a0, $s1 -.L70002674: -/* 003274 70002674 3C128006 */ lui $s2, %hi(dmaState_initialized) -/* 003278 70002678 2652E7B0 */ addiu $s2, %lo(dmaState_initialized) # addiu $s2, $s2, -0x1850 -/* 00327C 7000267C 8E500004 */ lw $s0, 4($s2) -/* 003280 70002680 3C138002 */ lui $s3, %hi(audFrameCt) -/* 003284 70002684 267330F4 */ addiu $s3, %lo(audFrameCt) # addiu $s3, $s3, 0x30f4 -/* 003288 70002688 1200001A */ beqz $s0, .L700026F4 -/* 00328C 7000268C 00000000 */ nop -.L70002690: -/* 003290 70002690 8E19000C */ lw $t9, 0xc($s0) -/* 003294 70002694 8E780000 */ lw $t8, ($s3) -/* 003298 70002698 8E020000 */ lw $v0, ($s0) -/* 00329C 7000269C 27280001 */ addiu $t0, $t9, 1 -/* 0032A0 700026A0 0118082B */ sltu $at, $t0, $t8 -/* 0032A4 700026A4 10200011 */ beqz $at, .L700026EC -/* 0032A8 700026A8 00408825 */ move $s1, $v0 -/* 0032AC 700026AC 8E490004 */ lw $t1, 4($s2) -/* 0032B0 700026B0 16090002 */ bne $s0, $t1, .L700026BC -/* 0032B4 700026B4 00000000 */ nop -/* 0032B8 700026B8 AE420004 */ sw $v0, 4($s2) -.L700026BC: -/* 0032BC 700026BC 0C003AA4 */ jal alUnlink -/* 0032C0 700026C0 02002025 */ move $a0, $s0 -/* 0032C4 700026C4 8E450008 */ lw $a1, 8($s2) -/* 0032C8 700026C8 50A00006 */ beql $a1, $zero, .L700026E4 -/* 0032CC 700026CC AE500008 */ sw $s0, 8($s2) -/* 0032D0 700026D0 0C003AB0 */ jal alLink -/* 0032D4 700026D4 02002025 */ move $a0, $s0 -/* 0032D8 700026D8 10000004 */ b .L700026EC -/* 0032DC 700026DC 00000000 */ nop -/* 0032E0 700026E0 AE500008 */ sw $s0, 8($s2) -.L700026E4: -/* 0032E4 700026E4 AE000000 */ sw $zero, ($s0) -/* 0032E8 700026E8 AE000004 */ sw $zero, 4($s0) -.L700026EC: -/* 0032EC 700026EC 1620FFE8 */ bnez $s1, .L70002690 -/* 0032F0 700026F0 02208025 */ move $s0, $s1 -.L700026F4: -/* 0032F4 700026F4 3C138002 */ lui $s3, %hi(audFrameCt) -/* 0032F8 700026F8 267330F4 */ addiu $s3, %lo(audFrameCt) # addiu $s3, $s3, 0x30f4 -/* 0032FC 700026FC 8E6A0000 */ lw $t2, ($s3) -/* 003300 70002700 8FBF002C */ lw $ra, 0x2c($sp) -/* 003304 70002704 AE800000 */ sw $zero, ($s4) -/* 003308 70002708 254B0001 */ addiu $t3, $t2, 1 -/* 00330C 7000270C AE6B0000 */ sw $t3, ($s3) -/* 003310 70002710 8FB30024 */ lw $s3, 0x24($sp) -/* 003314 70002714 8FB40028 */ lw $s4, 0x28($sp) -/* 003318 70002718 8FB00018 */ lw $s0, 0x18($sp) -/* 00331C 7000271C 8FB1001C */ lw $s1, 0x1c($sp) -/* 003320 70002720 8FB20020 */ lw $s2, 0x20($sp) -/* 003324 70002724 03E00008 */ jr $ra -/* 003328 70002728 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - diff --git a/src/audi.h b/src/audi.h deleted file mode 100644 index 6e1102d..0000000 --- a/src/audi.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _AUDI_H_ -#define _AUDI_H_ - -void amCreateAudioMgr(void); -void startaudiThread(void); - -#endif diff --git a/src/bondaicommands.h b/src/bondaicommands.h deleted file mode 100644 index 6bd6db5..0000000 --- a/src/bondaicommands.h +++ /dev/null @@ -1,3908 +0,0 @@ -#ifndef _BONDAICOMMANDS_H_ -#define _BONDAICOMMANDS_H_ -#include "ultra64.h" - -#define chararray16(input) (input & 0xFF00) >> 8, input & 0x00FF -#define chararray24(input) (input & 0xFF0000) >> 16, (input & 0x00FF00) >> 8, input & 0x0000FF -#define chararray32(input) (input & 0xFF000000) >> 24, (input & 0x00FF0000) >> 16, (input & 0x0000FF00) >> 8, input & 0x000000FF - -/*============================================================================= -// chr ai commands reference -// programmed by mark edmonds and martin hollis -//============================================================================= -// terminology: -// chr character -// obj objective -// list list of ai commands - list must end with 04 command -// glist global list -// chr ai lists 0401-04FF range -// obj ai lists 1000-10FF range -// global ai lists 0000-0011 range -//============================================================================= -// ai list intro -//============================================================================= -// ai list are a list of ai commands that are executed from top to bottom. -// they are used to control guard ai (fire, chase, go to position, etc) and -// objective ai (objective logic, mission fail state, spawning guards, etc) -//============================================================================= -// character ai list info -//============================================================================= -// chr ai lists drive the gameplay, such as attacking/chasing player. a chr ai -// list will not execute until a guard is assigned that list (unlike obj lists). -// multiple guards can use the same ai list - each guard is treated as a independent -// thread with their own instance of unique data -//============================================================================= -// objective ai list info -//============================================================================= -// each obj ai list (10XX) will have with a obj ai assigned at at level start. -// obj ai lists run continuously in the background without a guard attached. -// they still have a chr struct but lack a model/position in the level, they are -// commonly used for level scripting (objectives) or monitoring guard spawns. -// obj ai lists cannot run guard commands due to the lack of level presence -//============================================================================= -// global ai list info -//============================================================================= -// global ai lists are 0x11 useful lists accessible with every level. the above -// lists (chr/obj) are unique to each level setup file, compared to global lists -// which are accessible throughout the entire game. they contain generic ai lists -// used for most levels -//============================================================================= -// ai command note -//============================================================================= -// commands with guard/vehicle/aircraft prefix are exclusive to chr ai lists, -// they can't be executed by obj ai lists (10XX) or it will crash! commands with -// chr prefix can be used by obj/chr ai lists - exceptions to this rule are detailed -// within the command description -//============================================================================= -// ai commands with chr number argument -//============================================================================= -// most commands with a chr prefix use a chr number argument. for the most part, -// this can be used with any loaded chr num and it will work fine. there is however -// one exception to this and that is special chr num ID CHR_BOND_CINEMA. this ID -// only works when bond has a third person model assigned (intro/exit cutscene). -// only use CHR_BOND_CINEMA for intro/exit cutscene specific logic -//============================================================================= -// vehicle/aircraft ai command -//============================================================================= -// 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 -//============================================================================= -// ai commands with label argument -//============================================================================= -// most commands will have a label argument in their function description. this -// is used when a command has a false/true state. for example, the run to bond -// command (28) has goto label argument. when the command is executed, it will -// check if the guard is able to run to bond. if for some reason the command fails -// (bond is unreachable/guard is dying/etc) then the command will not goto label -// and the next command will be executed. the most common use of commands with -// goto labels are jumping out of an infinite loop - for an example check global -// ai list GLIST_STARTLE_CHR_AND_RUN_TO_BOND_SUBROUTINE -//===========================================================================*/ - -#define AI_LIST_GLOBAL_START 0x0000 -#define AI_LIST_CHR_START 0x0401 -#define AI_LIST_OBJ_START 0x1000 - -#define AI_CMDS_TOTAL (object_rocket_launch_ID + 1) - -/*============================================================================= -// global ai lists - glists -//===========================================================================*/ -#define GLIST_AIM_AT_BOND 0x0000 // continuously aim at bond with weapon -#define GLIST_END_ROUTINE 0x0001 // end routine (loop forever) -#define GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE 0x0002 // wait for bond detection (spawn clone when heard bond) -#define GLIST_IDLE_RAND_ANIM_SUBROUTINE 0x0003 // play idle animation (subroutine) -#define GLIST_KEYBOARD_RAND_ANIM_SUBROUTINE 0x0004 // play use keyboard animation (subroutine) -#define GLIST_DETECT_BOND_DEAF_NO_CLONE_NO_IDLE_ANIM 0x0005 // wait for bond detection (deaf/no clones/no idling) -#define GLIST_FIRE_RAND_ANIM_SUBROUTINE 0x0006 // fire at bond with random animation (subroutine) -#define GLIST_DETECT_BOND_NO_CLONE_NO_IDLE_ANIM 0x0007 // wait for bond detection (no clones/no idling) -#define GLIST_RUN_TO_BOND_SUBROUTINE 0x0008 // run to bond and fire (subroutine) -#define GLIST_RUN_TO_CHR_PADPRESET_AND_ACTIVATE_ALARM 0x0009 // run to chr->padpreset1 and activate alarm -#define GLIST_STARTLE_CHR_AND_RUN_TO_BOND_SUBROUTINE 0x000A // startle character (subroutine) -#define GLIST_SPAWN_CLONE_OR_RUN_TO_BOND 0x000B // if chr has been seen, run to bond - else spawn clone -#define GLIST_RUN_TO_BOND_AND_FIRE 0x000C // run to bond and fire -#define GLIST_RUN_TO_BOND_AND_FIRE_HALT_CHR_RANDOMLY 0x000D // forever chase bond and fire (halt randomly) -#define GLIST_WAIT_ONE_SECOND_SUBROUTINE 0x000E // wait for one second (subroutine) -#define GLIST_EXIT_LEVEL 0x000F // exit level -#define GLIST_DRAW_DD44_AND_FIRE 0x0010 // draw dd44 and fire -#define GLIST_REMOVE_CHR 0x0011 // remove chr -/*===========================================================================*/ - -/*============================================================================= -// command bitfield flags and common settings -//===========================================================================*/ -// command 0A - animation flags -#define ANIM_MIRROR 0x01 // mirror animation -#define ANIM_UNKNOWN 0x02 // ?? (cancels no translation flag) -#define ANIM_LOOP_HOLD_LAST_FRAME 0x04 // loop/hold last frame (required for reverse flag) -#define ANIM_PLAY_SFX 0x08 // play sneeze sfx with animation 9F (triggers 50% of the time) -#define ANIM_IDLE_POSE_WHEN_COMPLETE 0x10 // idle pose after animation has completed (does not work with looping animations) -#define ANIM_TRANSLATION_SCALE_4X 0x20 // translation scale multiplier x4 (used for dam and cradle cinema) -#define ANIM_NO_TRANSLATION 0x40 // no translation -#define ANIM_REVERSE_LOOPING_ANIMATION 0x80 // reverse animation (only for looped animations) - -#define ANIM_DEFAULT_INTERPOLATION 0x10 // use this if interpolation value isn't important - -// command 14/15/16/17 - target flags -#define TARGET_BOND 0x0001 // set target to bond (ignores target argument) -#define TARGET_FRONT_OF_CHR 0x0002 // set target to front of chr -#define TARGET_CHR 0x0004 // set target type to chr_num -#define TARGET_PAD 0x0008 // set target type to pad -#define TARGET_COMPASS 0x0010 // set target to compass direction (hex) N: 0000 E: C000 S: 8000: W: 4000 -#define TARGET_AIM_ONLY 0x0020 // aim at target instead of firing - -// command 18/19 - target body part values -#define HIT_NULL_PART 0x00 // null part, no reaction - 1x damage -#define HIT_LEFT_FOOT 0x01 // left foot - 1x damage -#define HIT_LEFT_LEG 0x02 // left leg - 1x damage -#define HIT_LEFT_THIGH 0x03 // left thigh - 1x damage -#define HIT_RIGHT_FOOT 0x04 // right foot - 1x damage -#define HIT_RIGHT_LEG 0x05 // right leg - 1x damage -#define HIT_RIGHT_THIGH 0x06 // right thigh - 1x damage -#define HIT_PELVIS 0x07 // pelvis - 1x damage -#define HIT_HEAD 0x08 // head - 4x damage -#define HIT_LEFT_HAND 0x09 // left hand - 1x damage -#define HIT_LEFT_ARM 0x0A // left arm - 1x damage -#define HIT_LEFT_SHOULDER 0x0B // left shoulder - 1x damage -#define HIT_RIGHT_HAND 0x0C // right hand - 1x damage -#define HIT_RIGHT_ARM 0x0D // right arm - 1x damage -#define HIT_RIGHT_SHOULDER 0x0E // right shoulder - 1x damage -#define HIT_CHEST 0x0F // chest - 2x damage - -// command 68 - door states -#define DOOR_STATE_CLOSED 0x01 // closed -#define DOOR_STATE_OPEN 0x02 // opened -#define DOOR_STATE_CLOSING 0x04 // closing -#define DOOR_STATE_OPENING 0x08 // opening - -// command BD/BE - spawn flags -#define SPAWN_SUNGLASSES 0x00000001 // sunglasses -#define SPAWN_SUNGLASSES_RANDOM 0x00000002 // sunglasses (random, 50% of the time) -#define SPAWN_00000004 0x00000004 // unknown -#define SPAWN_00000008 0x00000008 // unknown -#define SPAWN_IGNORE_PAD_SIGHT_CHECK 0x00000010 // ignore check for pad within view (force spawn) -#define SPAWN_00000020 0x00000020 // unknown -#define SPAWN_00000040 0x00000040 // unknown -#define SPAWN_00000080 0x00000080 // unknown -#define SPAWN_00000100 0x00000100 // unknown -#define SPAWN_00000200 0x00000200 // unknown -#define SPAWN_00000400 0x00000400 // unknown -#define SPAWN_00000800 0x00000800 // unknown -#define SPAWN_00001000 0x00001000 // unknown -#define SPAWN_00002000 0x00002000 // unknown -#define SPAWN_00004000 0x00004000 // unknown -#define SPAWN_00008000 0x00008000 // unknown -#define SPAWN_00010000 0x00010000 // unknown -#define SPAWN_00020000 0x00020000 // unknown -#define SPAWN_00040000 0x00040000 // unknown -#define SPAWN_00080000 0x00080000 // unknown -#define SPAWN_00100000 0x00100000 // unknown -#define SPAWN_00200000 0x00200000 // unknown -#define SPAWN_00400000 0x00400000 // unknown -#define SPAWN_00800000 0x00800000 // unknown -#define SPAWN_01000000 0x01000000 // unknown -#define SPAWN_02000000 0x02000000 // unknown -#define SPAWN_04000000 0x04000000 // unknown -#define SPAWN_08000000 0x08000000 // unknown -#define SPAWN_10000000 0x10000000 // unknown -#define SPAWN_20000000 0x20000000 // unknown -#define SPAWN_40000000 0x40000000 // unknown -#define SPAWN_80000000 0x80000000 // unknown - -// command D7 - hud flags -#define HUD_HIDE_ALL 0x00 // hide all -#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 -/*===========================================================================*/ - -/*============================================================================= -// ai command shortcuts -//===========================================================================*/ -#define goto_loop_start(label_id) \ - label(label_id) \ - ai_sleep - -#define goto_loop_repeat(label) \ - goto_first(label) - -#define goto_loop_infinite(label_id) \ - label(label_id) \ - ai_sleep \ - goto_first(label_id) - -#define random_generate_greater_than(byte, label) \ - random_generate_seed \ - if_random_seed_greater_than(byte, label) - -#define random_generate_less_than(byte, label) \ - random_generate_seed \ - if_random_seed_less_than(byte, label) - -#define if_guard_meters_to_bond_less_than(distance, label) \ - if_guard_distance_to_bond_less_than((distance * 10U), label) - -#define if_guard_meters_to_bond_greater_than(distance, label) \ - if_guard_distance_to_bond_greater_than((distance * 10U), label) - -#define if_chr_meters_to_pad_less_than(chr_num, distance, pad, label) \ - if_chr_distance_to_pad_less_than(chr_num, (distance * 10U), pad, label) - -#define if_chr_meters_to_pad_greater_than(chr_num, distance, pad, label) \ - if_chr_distance_to_pad_greater_than(chr_num, (distance * 10U), pad, label) - -#define if_guard_meters_to_chr_less_than(distance, chr_num, label) \ - if_guard_distance_to_chr_less_than((distance * 10U), chr_num, label) - -#define if_guard_meters_to_chr_greater_than(distance, chr_num, label) \ - if_guard_distance_to_chr_greater_than((distance * 10U), chr_num, label) - -#define guard_try_setting_chr_preset_to_guard_within_meters(distance, label) \ - guard_try_setting_chr_preset_to_guard_within_distance((distance * 10U), label) - -#define if_bond_meters_to_pad_less_than(distance, pad, label) \ - if_bond_distance_to_pad_less_than((distance * 10U), pad, label) - -#define if_bond_meters_to_pad_greater_than(distance, pad, label) \ - if_bond_distance_to_pad_greater_than((distance * 10U), pad, label) - -#define debug_log_end \ - '\0', - -#define if_local_timer_seconds_less_than(seconds, label) \ - if_local_timer_less_than((SECS_TO_TIMER60(seconds)), label) - -#define if_local_timer_seconds_greater_than(seconds, label) \ - if_local_timer_greater_than((SECS_TO_TIMER60(seconds)), label) - -#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 -/*===========================================================================*/ - -/*============================================================================= -// ai commands macros and information -//============================================================================= -// name and description per command, please read carefully when creating new -// ai lists. ensure that you don't cause loops without a ai_sleep command or else -// command parser will never release and game will softlock -//===========================================================================*/ - -/*============================================================================= -// name: goto_next -// command id: 00 -// info: goto the next label (command 02) - skips all commands between command -// and goto label - continues executing after found label -//===========================================================================*/ -#define goto_next_ID 0x00 -#define goto_next_LENGTH 0x02 -#define goto_next(label) \ - goto_next_ID, \ - label, - -/*============================================================================= -// name: goto_first -// command id: 01 -// info: like goto_next, but it starts scanning label from start of list -//===========================================================================*/ -#define goto_first_ID 0x01 -#define goto_first_LENGTH 0x02 -#define goto_first(label) \ - goto_first_ID, \ - label, - -/*============================================================================= -// name: label -// command id: 02 -// info: label marker for ai list - used for all commands that return true -//===========================================================================*/ -#define label_ID 0x02 -#define label_LENGTH 0x02 -#define label(id) \ - label_ID, \ - id, - -/*============================================================================= -// name: ai_sleep -// command id: 03 -// info: halt the ai list - frees engine to start executing next ai list until -// all lists have been executed for game tick. -//============================================================================= -// note: offscreen/idle guards will take 14 game ticks instead of 1 tick on ai_sleep -//===========================================================================*/ -#define ai_sleep_ID 0x03 -#define ai_sleep_LENGTH 0x01 -#define ai_sleep \ - ai_sleep_ID, - -/*============================================================================= -// name: ai_list_end -// command id: 04 -// 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 -// finished tasks -//===========================================================================*/ -#define ai_list_end_ID 0x04 -#define ai_list_end_LENGTH 0x01 -#define ai_list_end \ - ai_list_end_ID - -/*============================================================================= -// name: jump_to_ai_list -// command id: 05 -// info: set chr num's current ai list program counter to beginning of a list -//============================================================================= -// note: not recommended to goto an obj list (10XX) -//===========================================================================*/ -#define jump_to_ai_list_ID 0x05 -#define jump_to_ai_list_LENGTH 0x04 -#define jump_to_ai_list(chr_num, ai_list) \ - jump_to_ai_list_ID, \ - chr_num, \ - chararray16(ai_list), - -/*============================================================================= -// name: set_return_ai_list -// command id: 06 -// info: store a list ptr in current chr struct - used for command 07 return -//============================================================================= -// note: not recommended to set stored list to an obj list (10XX) -//===========================================================================*/ -#define set_return_ai_list_ID 0x06 -#define set_return_ai_list_LENGTH 0x03 -#define set_return_ai_list(ai_list) \ - set_return_ai_list_ID, \ - chararray16(ai_list), - -/*============================================================================= -// name: jump_to_return_ai_list -// command id: 07 -// info: jump the return ai list set in chr struct - pointer set by command 06. -// used for subroutine lists. if list pointer isn't set, game will crash -//============================================================================= -// note: after return, set chr->aioffset to top of ai list -//===========================================================================*/ -#define jump_to_return_ai_list_ID 0x07 -#define jump_to_return_ai_list_LENGTH 0x01 -#define jump_to_return_ai_list \ - jump_to_return_ai_list_ID, - -/*============================================================================= -// name: guard_animation_stop -// command id: 08 -// info: reset guard back to idle pose - can be used to stop guards in place -//===========================================================================*/ -#define guard_animation_stop_ID 0x08 -#define guard_animation_stop_LENGTH 0x01 -#define guard_animation_stop \ - guard_animation_stop_ID, - -/*============================================================================= -// name: guard_kneel -// command id: 09 -// info: make guard kneel on one knee -//===========================================================================*/ -#define guard_kneel_ID 0x09 -#define guard_kneel_LENGTH 0x01 -#define guard_kneel \ - guard_kneel_ID, - -/*============================================================================= -// name: guard_play_animation -// command id: 0A -// info: set guard to playback animation -//============================================================================= -// arguments: -// start/end set to -1/-1 will playback the entire animation length. -// interpolation time will set how long it will take to transition from the previous state. -// if interpolation time is too low it may crash! - use 0x10 if unsure. -// start/end keyframe uses animation 30 tick units - interpolation use 60 tick units. -// use ANIM_# flags for bitfield argument -//===========================================================================*/ -#define guard_play_animation_ID 0x0A -#define guard_play_animation_LENGTH 0x09 -#define guard_play_animation(animation_id, start_time30, end_time30, bitfield, interpol_time60) \ - guard_play_animation_ID, \ - chararray16(animation_id), \ - chararray16(start_time30), \ - chararray16(end_time30), \ - bitfield, \ - interpol_time60, - -/*============================================================================= -// name: if_guard_playing_animation -// command id: 0B -// info: if guard is in animation playback state (ACT_ANIM), goto label -//===========================================================================*/ -#define if_guard_playing_animation_ID 0x0B -#define if_guard_playing_animation_LENGTH 0x02 -#define if_guard_playing_animation(label) \ - if_guard_playing_animation_ID, \ - label, - -/*============================================================================= -// name: guard_points_at_bond -// command id: 0C -// info: guard points if bond is directly in front of guard, else command is ignored -//============================================================================= -// note: global ai list GLIST_FIRE_RAND_ANIM_SUBROUTINE skips this command if -// bitfield flag BITFIELD_DONT_POINT_AT_BOND is on -//===========================================================================*/ -#define guard_points_at_bond_ID 0x0C -#define guard_points_at_bond_LENGTH 0x01 -#define guard_points_at_bond \ - guard_points_at_bond_ID, - -/*============================================================================= -// name: guard_looks_around_self -// command id: 0D -// info: set guard to playback animation - used when shots land near guard -//===========================================================================*/ -#define guard_looks_around_self_ID 0x0D -#define guard_looks_around_self_LENGTH 0x01 -#define guard_looks_around_self \ - guard_looks_around_self_ID, - -/*============================================================================= -// name: guard_try_sidestepping -// command id: 0E -// info: trigger guard to sidestep, goto label if successful -//============================================================================= -// note: direction is random -//===========================================================================*/ -#define guard_try_sidestepping_ID 0x0E -#define guard_try_sidestepping_LENGTH 0x02 -#define guard_try_sidestepping(label) \ - guard_try_sidestepping_ID, \ - label, - -/*============================================================================= -// name: guard_try_hopping_sideways -// command id: 0F -// info: trigger guard to hop sideways, goto label if successful -//============================================================================= -// note: direction is random -//===========================================================================*/ -#define guard_try_hopping_sideways_ID 0x0F -#define guard_try_hopping_sideways_LENGTH 0x02 -#define guard_try_hopping_sideways(label) \ - guard_try_hopping_sideways_ID, \ - label, - -/*============================================================================= -// name: guard_try_running_to_side -// command id: 10 -// info: trigger guard to run sideways of bond, goto label if successful -//============================================================================= -// note: direction is random -//===========================================================================*/ -#define guard_try_running_to_side_ID 0x10 -#define guard_try_running_to_side_LENGTH 0x02 -#define guard_try_running_to_side(label) \ - guard_try_running_to_side_ID, \ - label, - -/*============================================================================= -// name: guard_try_firing_walk -// command id: 11 -// info: trigger guard to walk and fire at bond, goto label if successful -//============================================================================= -// note: bond needs to be at long distance away from guard to work -//===========================================================================*/ -#define guard_try_firing_walk_ID 0x11 -#define guard_try_firing_walk_LENGTH 0x02 -#define guard_try_firing_walk(label) \ - guard_try_firing_walk_ID, \ - label, - -/*============================================================================= -// name: guard_try_firing_run -// command id: 12 -// info: trigger guard to run and fire at bond, goto label if successful -//============================================================================= -// note: bond needs to be at long distance away from guard to work -//===========================================================================*/ -#define guard_try_firing_run_ID 0x12 -#define guard_try_firing_run_LENGTH 0x02 -#define guard_try_firing_run(label) \ - guard_try_firing_run_ID, \ - label, - -/*============================================================================= -// name: guard_try_firing_roll -// command id: 13 -// info: trigger guard to roll on ground then fire at bond, goto label if successful -//============================================================================= -// note: bond cannot be too close to guard or it won't work -//===========================================================================*/ -#define guard_try_firing_roll_ID 0x13 -#define guard_try_firing_roll_LENGTH 0x02 -#define guard_try_firing_roll(label) \ - guard_try_firing_roll_ID, \ - label, - -/*============================================================================= -// name: guard_try_fire_or_aim_at_target -// command id: 14 -// info: make guard aim/fire their weapon at target, goto label if successful -//============================================================================= -// note: bitfield argument is used to set the target type (pad/bond/chr). -// use TARGET_# flags for bitfield argument -//===========================================================================*/ -#define guard_try_fire_or_aim_at_target_ID 0x14 -#define guard_try_fire_or_aim_at_target_LENGTH 0x06 -#define guard_try_fire_or_aim_at_target(bitfield, target, label) \ - guard_try_fire_or_aim_at_target_ID, \ - chararray16(bitfield), \ - chararray16(target), \ - label, - -/*============================================================================= -// name: guard_try_fire_or_aim_at_target_kneel -// command id: 15 -// info: make guard kneel and aim/fire their weapon at target, goto label if successful -//============================================================================= -// note: bitfield argument is used to set the target type (pad/bond/chr). -// use TARGET_# flags for bitfield argument -//===========================================================================*/ -#define guard_try_fire_or_aim_at_target_kneel_ID 0x15 -#define guard_try_fire_or_aim_at_target_kneel_LENGTH 0x06 -#define guard_try_fire_or_aim_at_target_kneel(bitfield, target, label) \ - guard_try_fire_or_aim_at_target_kneel_ID, \ - chararray16(bitfield), \ - chararray16(target), \ - label, - -/*============================================================================= -// name: guard_try_fire_or_aim_at_target_update -// 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. -// bitfield argument is used to set the target type (pad/bond/chr). -// use TARGET_# flags for bitfield argument -//===========================================================================*/ -#define guard_try_fire_or_aim_at_target_update_ID 0x16 -#define guard_try_fire_or_aim_at_target_update_LENGTH 0x06 -#define guard_try_fire_or_aim_at_target_update(bitfield, target, label) \ - guard_try_fire_or_aim_at_target_update_ID, \ - chararray16(bitfield), \ - chararray16(target), \ - label, - -/*============================================================================= -// name: guard_try_facing_target -// 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. -// 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 -//===========================================================================*/ -#define guard_try_facing_target_ID 0x17 -#define guard_try_facing_target_LENGTH 0x06 -#define guard_try_facing_target(bitfield, target, label) \ - guard_try_facing_target_ID, \ - chararray16(bitfield), \ - chararray16(target), \ - label, - -/*============================================================================= -// name: chr_hit_body_part_with_item_damage -// command id: 18 -// info: hit chr's body part with item's damage, play reaction to hit location -//============================================================================= -// note: command does not trigger item's fire sfx. item's damage uses body part -// damage modifier. use HIT_# define for hit part number -//===========================================================================*/ -#define chr_hit_body_part_with_item_damage_ID 0x18 -#define chr_hit_body_part_with_item_damage_LENGTH 0x04 -#define chr_hit_body_part_with_item_damage(chr_num, part_num, item_num) \ - chr_hit_body_part_with_item_damage_ID, \ - chr_num, \ - part_num, \ - item_num, - -/*============================================================================= -// name: chr_hit_chr_body_part_with_held_item -// command id: 19 -// info: chr hits chr's body part with held item, play reaction to hit location -//============================================================================= -// note: command does not trigger item's fire sfx or chr firing animation. -// item's damage uses body part damage modifier. use HIT_# define for hit part number -//===========================================================================*/ -#define chr_hit_chr_body_part_with_held_item_ID 0x19 -#define chr_hit_chr_body_part_with_held_item_LENGTH 0x04 -#define chr_hit_chr_body_part_with_held_item(chr_num, chr_num_target, part_num) \ - chr_hit_chr_body_part_with_held_item_ID, \ - chr_num, \ - chr_num_target, \ - part_num, - -/*============================================================================= -// name: guard_try_throwing_grenade -// command id: 1A -// info: trigger guard to throw a grenade at bond, goto label if successful -//============================================================================= -// note: a rng byte is generated and compared again chr->grenadeprob, if rng byte -// is less than grenadeprob throw grenade and goto label, else do nothing. -// chr->grenadeprob default is 0 - to change use setup object 12 or command 8D -//===========================================================================*/ -#define guard_try_throwing_grenade_ID 0x1A -#define guard_try_throwing_grenade_LENGTH 0x02 -#define guard_try_throwing_grenade(label) \ - guard_try_throwing_grenade_ID, \ - label, - -/*============================================================================= -// name: guard_try_dropping_item -// command id: 1B -// info: spawn and drop item with prop model from guard, goto label if successful -//============================================================================= -// note: dropped item uses item type (08) with model number - they can be picked up. -// grenade/mines will be dropped live - this is used for cradle (list #0411) -//===========================================================================*/ -#define guard_try_dropping_item_ID 0x1B -#define guard_try_dropping_item_LENGTH 0x05 -#define guard_try_dropping_item(prop_num, item_num, label) \ - guard_try_dropping_item_ID, \ - chararray16(prop_num), \ - item_num, \ - label, - -/*============================================================================= -// name: guard_runs_to_pad -// command id: 1C -// info: makes the guard run to pad -//===========================================================================*/ -#define guard_runs_to_pad_ID 0x1C -#define guard_runs_to_pad_LENGTH 0x03 -#define guard_runs_to_pad(pad) \ - guard_runs_to_pad_ID, \ - chararray16(pad), - -/*============================================================================= -// name: guard_runs_to_pad_preset -// command id: 1D -// info: makes the guard run to guard->padpreset1 (PAD_PRESET - 9000) -//===========================================================================*/ -#define guard_runs_to_pad_preset_ID 0x1D -#define guard_runs_to_pad_preset_LENGTH 0x01 -#define guard_runs_to_pad_preset \ - guard_runs_to_pad_preset_ID, - -/*============================================================================= -// name: guard_walks_to_pad -// command id: 1E -// info: makes the guard walk to pad -//===========================================================================*/ -#define guard_walks_to_pad_ID 0x1E -#define guard_walks_to_pad_LENGTH 0x03 -#define guard_walks_to_pad(pad) \ - guard_walks_to_pad_ID, \ - chararray16(pad), - -/*============================================================================= -// name: guard_sprints_to_pad -// command id: 1F -// info: makes the guard sprint to pad -//===========================================================================*/ -#define guard_sprints_to_pad_ID 0x1F -#define guard_sprints_to_pad_LENGTH 0x03 -#define guard_sprints_to_pad(pad) \ - guard_sprints_to_pad_ID, \ - chararray16(pad), - -/*============================================================================= -// name: guard_start_patrol -// command id: 20 -// info: makes guard walk a predefined path within setup -//============================================================================= -// 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 -#define guard_start_patrol(path_num) \ - guard_start_patrol_ID, \ - path_num, - -/*============================================================================= -// name: guard_surrenders -// command id: 21 -// info: makes a guard surrender and drop all attached and held items -//============================================================================= -// note: will not drop items embedded within guard -//===========================================================================*/ -#define guard_surrenders_ID 0x21 -#define guard_surrenders_LENGTH 0x01 -#define guard_surrenders \ - guard_surrenders_ID, - -/*============================================================================= -// name: guard_remove_fade -// command id: 22 -// info: sets guard to fade away - fade time is 90 ticks (1.5 seconds). when -// the fade finishes, automatically remove guard -//============================================================================= -// note: guard collision is ignored during fade - will not drop items -//===========================================================================*/ -#define guard_remove_fade_ID 0x22 -#define guard_remove_fade_LENGTH 0x01 -#define guard_remove_fade \ - guard_remove_fade_ID, - -/*============================================================================= -// name: chr_remove_instant -// command id: 23 -// info: instantly remove chr unlike above command -//============================================================================= -// note: will not drop items -//===========================================================================*/ -#define chr_remove_instant_ID 0x23 -#define chr_remove_instant_LENGTH 0x02 -#define chr_remove_instant(chr_num) \ - chr_remove_instant_ID, \ - chr_num, - -/*============================================================================= -// name: guard_try_triggering_alarm_at_pad -// command id: 24 -// info: guard activates alarm assigned to pad, goto label if successful -//============================================================================= -// note: command doesn't care what object type is at pad, as long as the object -// isn't destroyed. command also checks if guard is alive before activating alarm. -// when triggering alarm, guard will be set to state ACT_STARTALARM and play animation -//===========================================================================*/ -#define guard_try_triggering_alarm_at_pad_ID 0x24 -#define guard_try_triggering_alarm_at_pad_LENGTH 0x04 -#define guard_try_triggering_alarm_at_pad(pad, label) \ - guard_try_triggering_alarm_at_pad_ID, \ - chararray16(pad), \ - label, - -/*============================================================================= -// name: alarm_on -// command id: 25 -// info: activates alarm -//===========================================================================*/ -#define alarm_on_ID 0x25 -#define alarm_on_LENGTH 0x01 -#define alarm_on \ - alarm_on_ID, - -/*============================================================================= -// name: alarm_off -// command id: 26 -// info: deactivates alarm -//===========================================================================*/ -#define alarm_off_ID 0x26 -#define alarm_off_LENGTH 0x01 -#define alarm_off \ - alarm_off_ID, - -/*============================================================================= -// name: removed_command27 -// command id: 27 -// info: command no longer exists, never goto label -//===========================================================================*/ -#define removed_command27_ID 0x27 -#define removed_command27_LENGTH 0x02 -#define removed_command27(label) \ - removed_command27_ID, \ - label, - -/*============================================================================= -// name: guard_try_running_to_bond_position -// command id: 28 -// info: if guard is able to run to bond, goto label -//============================================================================= -// note: don't goto label if guard can't run to bond (guard has died) or bond is -// at an unreachable area (no navigation pads in area) -//===========================================================================*/ -#define guard_try_running_to_bond_position_ID 0x28 -#define guard_try_running_to_bond_position_LENGTH 0x02 -#define guard_try_running_to_bond_position(label) \ - guard_try_running_to_bond_position_ID, \ - label, - -/*============================================================================= -// name: guard_try_walking_to_bond_position -// command id: 29 -// info: if guard is able to walk to bond, goto label -//============================================================================= -// note: don't goto label if guard can't walk to bond (guard has died) or bond is -// at an unreachable area (no navigation pads in area) -//===========================================================================*/ -#define guard_try_walking_to_bond_position_ID 0x29 -#define guard_try_walking_to_bond_position_LENGTH 0x02 -#define guard_try_walking_to_bond_position(label) \ - guard_try_walking_to_bond_position_ID, \ - label, - -/*============================================================================= -// name: guard_try_sprinting_to_bond_position -// command id: 2A -// info: if guard is able to sprint to bond, goto label -//============================================================================= -// note: don't goto label if guard can't sprint to bond (guard has died) or bond -// is at an unreachable area (no navigation pads in area) -//===========================================================================*/ -#define guard_try_sprinting_to_bond_position_ID 0x2A -#define guard_try_sprinting_to_bond_position_LENGTH 0x02 -#define guard_try_sprinting_to_bond_position(label) \ - guard_try_sprinting_to_bond_position_ID, \ - label, - -/*============================================================================= -// name: removed_command2B -// command id: 2B -// info: command no longer exists, never goto label -//===========================================================================*/ -#define removed_command2B_ID 0x2B -#define removed_command2B_LENGTH 0x02 -#define removed_command2B(label) \ - removed_command2B_ID, \ - label, - -/*============================================================================= -// name: guard_try_running_to_chr_position -// command id: 2C -// info: if guard is able to run to chr, goto label -//============================================================================= -// note: don't goto label if guard can't run to chr (guard has died) or chr is -// at an unreachable area (no navigation pads in area) or chr doesn't exist -//===========================================================================*/ -#define guard_try_running_to_chr_position_ID 0x2C -#define guard_try_running_to_chr_position_LENGTH 0x03 -#define guard_try_running_to_chr_position(chr_num, label) \ - guard_try_running_to_chr_position_ID, \ - chr_num, \ - label, - -/*============================================================================= -// name: guard_try_walking_to_chr_position -// command id: 2D -// info: if guard is able to walk to chr, goto label -//============================================================================= -// note: don't goto label if guard can't walk to chr (guard has died) or chr is -// at an unreachable area (no navigation pads in area) or chr doesn't exist -//===========================================================================*/ -#define guard_try_walking_to_chr_position_ID 0x2D -#define guard_try_walking_to_chr_position_LENGTH 0x03 -#define guard_try_walking_to_chr_position(chr_num, label) \ - guard_try_walking_to_chr_position_ID, \ - chr_num, \ - label, - -/*============================================================================= -// name: guard_try_sprinting_to_chr_position -// command id: 2E -// info: if guard is able to sprint to chr, goto label -//============================================================================= -// note: don't goto label if guard can't sprint to chr (guard has died) or chr -// is at an unreachable area (no navigation pads in area) or chr doesn't exist -//===========================================================================*/ -#define guard_try_sprinting_to_chr_position_ID 0x2E -#define guard_try_sprinting_to_chr_position_LENGTH 0x03 -#define guard_try_sprinting_to_chr_position(chr_num, label) \ - guard_try_sprinting_to_chr_position_ID, \ - chr_num, \ - label, - -/*============================================================================= -// name: if_guard_has_stopped_moving -// command id: 2F -// info: if guard has stopped moving, goto label -//============================================================================= -// note: check if guard isn't looking for bond or if guard has finished moving -// to destination -//===========================================================================*/ -#define if_guard_has_stopped_moving_ID 0x2F -#define if_guard_has_stopped_moving_LENGTH 0x02 -#define if_guard_has_stopped_moving(label) \ - if_guard_has_stopped_moving_ID, \ - label, - -/*============================================================================= -// name: if_chr_dying_or_dead -// command id: 30 -// info: if chr has died (or in dying state), goto label -//===========================================================================*/ -#define if_chr_dying_or_dead_ID 0x30 -#define if_chr_dying_or_dead_LENGTH 0x03 -#define if_chr_dying_or_dead(chr_num, label) \ - if_chr_dying_or_dead_ID, \ - chr_num, \ - label, - -/*============================================================================= -// name: if_chr_does_not_exist -// command id: 31 -// info: if chr doesn't exist (died and faded/not spawned), goto label -//============================================================================= -// note: this command is used to check if chr has finished dying animation and -// faded away, or chr num is free -//===========================================================================*/ -#define if_chr_does_not_exist_ID 0x31 -#define if_chr_does_not_exist_LENGTH 0x03 -#define if_chr_does_not_exist(chr_num, label) \ - if_chr_does_not_exist_ID, \ - chr_num, \ - label, - -/*============================================================================= -// name: if_guard_sees_bond -// command id: 32 -// info: check vision for bond, goto label if spotted bond -//============================================================================= -// note: uses chr->visionrange while checking for bond. once bond has been spotted, -// check if bond and guard are within line of sight (ignores facing direction). -// if bond breaks line of sight, do not goto label. if bond has broken line of -// sight for more than 10 seconds, reset spotted bond state -//===========================================================================*/ -#define if_guard_sees_bond_ID 0x32 -#define if_guard_sees_bond_LENGTH 0x02 -#define if_guard_sees_bond(label) \ - if_guard_sees_bond_ID, \ - label, - -/*============================================================================= -// name: random_generate_seed -// command id: 33 -// info: generate a random byte and store to chr->random -//============================================================================= -// note: random byte range is 00-FF (unsigned) -//===========================================================================*/ -#define random_generate_seed_ID 0x33 -#define random_generate_seed_LENGTH 0x01 -#define random_generate_seed \ - random_generate_seed_ID, - -/*============================================================================= -// name: if_random_seed_less_than -// command id: 34 -// info: if chr->random < byte, goto label -//============================================================================= -// note: compare is unsigned -//===========================================================================*/ -#define if_random_seed_less_than_ID 0x34 -#define if_random_seed_less_than_LENGTH 0x03 -#define if_random_seed_less_than(byte, label) \ - if_random_seed_less_than_ID, \ - byte, \ - label, - -/*============================================================================= -// name: if_random_seed_greater_than -// command id: 35 -// info: if chr->random > byte, goto label -//============================================================================= -// note: compare is unsigned -//===========================================================================*/ -#define if_random_seed_greater_than_ID 0x35 -#define if_random_seed_greater_than_LENGTH 0x03 -#define if_random_seed_greater_than(byte, label) \ - if_random_seed_greater_than_ID, \ - byte, \ - label, - -/*============================================================================= -// name: if_alarm_is_on_unused -// command id: 36 -// info: if alarm is activated, goto label -//============================================================================= -// note: this command works but is unused in retail game, use command 37 instead -//===========================================================================*/ -#define if_alarm_is_on_unused_ID 0x36 -#define if_alarm_is_on_unused_LENGTH 0x02 -#define if_alarm_is_on_unused(label) \ - if_alarm_is_on_unused_ID, \ - label, - -/*============================================================================= -// name: if_alarm_is_on -// command id: 37 -// info: if alarm is activated, goto label -//===========================================================================*/ -#define if_alarm_is_on_ID 0x37 -#define if_alarm_is_on_LENGTH 0x02 -#define if_alarm_is_on(label) \ - if_alarm_is_on_ID, \ - label, - -/*============================================================================= -// name: if_gas_is_leaking -// command id: 38 -// info: if gas leak event triggered, goto label -//============================================================================= -// note: once gas leak event has started, always goto label -//===========================================================================*/ -#define if_gas_is_leaking_ID 0x38 -#define if_gas_is_leaking_LENGTH 0x02 -#define if_gas_is_leaking(label) \ - if_gas_is_leaking_ID, \ - label, - -/*============================================================================= -// name: if_guard_heard_bond -// command id: 39 -// info: if guard heard bond fire weapon, goto label -//============================================================================= -// note: uses chr->hearingscale while listening for bond. to check if bond has -// shot within the last 10 seconds, use command 3F -//===========================================================================*/ -#define if_guard_heard_bond_ID 0x39 -#define if_guard_heard_bond_LENGTH 0x02 -#define if_guard_heard_bond(label) \ - if_guard_heard_bond_ID, \ - label, - -/*============================================================================= -// name: if_guard_see_another_guard_shot -// command id: 3A -// info: if guard sees another guard shot (from anyone), goto label -//============================================================================= -// note: guard friendly fire (if flagged) will trigger this command to goto label. -// command checks if chr->chrseeshot is set to valid chrnum (not -1). does not -// work with shot invincible/armoured guards -//===========================================================================*/ -#define if_guard_see_another_guard_shot_ID 0x3A -#define if_guard_see_another_guard_shot_LENGTH 0x02 -#define if_guard_see_another_guard_shot(label) \ - if_guard_see_another_guard_shot_ID, \ - label, - -/*============================================================================= -// name: if_guard_see_another_guard_die -// command id: 3B -// info: if guard sees another guard die (from anyone), goto label -//============================================================================= -// note: when a guard in sight switches to ACT_DIE/ACT_DEAD, goto label. -// command checks if chr->chrseedie is set to valid chrnum (not -1) -//===========================================================================*/ -#define if_guard_see_another_guard_die_ID 0x3B -#define if_guard_see_another_guard_die_LENGTH 0x02 -#define if_guard_see_another_guard_die(label) \ - if_guard_see_another_guard_die_ID, \ - label, - -/*============================================================================= -// name: if_guard_and_bond_within_line_of_sight -// command id: 3C -// info: if guard and bond are within line of sight, goto label -//============================================================================= -// note: line of sight uses clipping - ignores facing direction of bond/guard. -// if prop/guard is in the way do not goto label. does not use chr->visionrange -// for line of sight check. use command 32 to check using chr->visionrange and -// command 42 to account for bond's view -//===========================================================================*/ -#define if_guard_and_bond_within_line_of_sight_ID 0x3C -#define if_guard_and_bond_within_line_of_sight_LENGTH 0x02 -#define if_guard_and_bond_within_line_of_sight(label) \ - if_guard_and_bond_within_line_of_sight_ID, \ - label, - -/*============================================================================= -// name: if_guard_and_bond_within_partial_line_of_sight -// command id: 3D -// info: if guard and bond are within partial line of sight, goto label -//============================================================================= -// note: unused command, functions like above but only goto label if bond is -// half occluded by clipping (not blocked or within full view) -//===========================================================================*/ -#define if_guard_and_bond_within_partial_line_of_sight_ID 0x3D -#define if_guard_and_bond_within_partial_line_of_sight_LENGTH 0x02 -#define if_guard_and_bond_within_partial_line_of_sight(label) \ - if_guard_and_bond_within_partial_line_of_sight_ID, \ - label, - -/*============================================================================= -// name: if_guard_was_shot_within_last_10_secs -// command id: 3E -// info: if guard was shot (from anyone) within the last 10 seconds, goto label -//============================================================================= -// note: command will not count guard as shot if they are invincible/have armour -//===========================================================================*/ -#define if_guard_was_shot_within_last_10_secs_ID 0x3E -#define if_guard_was_shot_within_last_10_secs_LENGTH 0x02 -#define if_guard_was_shot_within_last_10_secs(label) \ - if_guard_was_shot_within_last_10_secs_ID, \ - label, - -/*============================================================================= -// name: if_guard_heard_bond_within_last_10_secs -// command id: 3F -// info: if guard heard bond fire weapon within the last 10 seconds, goto label -//============================================================================= -// note: uses chr->hearingscale while listening for bond. to check if bond has -// now fired weapon instead of within the last 10 seconds, use command 39 -//===========================================================================*/ -#define if_guard_heard_bond_within_last_10_secs_ID 0x3F -#define if_guard_heard_bond_within_last_10_secs_LENGTH 0x02 -#define if_guard_heard_bond_within_last_10_secs(label) \ - if_guard_heard_bond_within_last_10_secs_ID, \ - label, - -/*============================================================================= -// name: if_guard_in_room_with_chr -// command id: 40 -// info: if guard is in same room with chr, goto label -//===========================================================================*/ -#define if_guard_in_room_with_chr_ID 0x40 -#define if_guard_in_room_with_chr_LENGTH 0x03 -#define if_guard_in_room_with_chr(chr_num, label) \ - if_guard_in_room_with_chr_ID, \ - chr_num, \ - label, - -/*============================================================================= -// name: if_guard_has_not_been_seen -// command id: 41 -// info: if guard has not been seen before on screen, goto label -//============================================================================= -// note: when bond has seen guard, it will add a flag to chr->chrflags. -// the seen flag will be kept true for duration of level -//===========================================================================*/ -#define if_guard_has_not_been_seen_ID 0x41 -#define if_guard_has_not_been_seen_LENGTH 0x02 -#define if_guard_has_not_been_seen(label) \ - if_guard_has_not_been_seen_ID, \ - label, - -/*============================================================================= -// name: if_guard_is_on_screen -// command id: 42 -// info: if guard is currently being rendered on screen, goto label -//============================================================================= -// note: portals will affect this command's output. if guard is being culled -// off screen, command will not goto label -//===========================================================================*/ -#define if_guard_is_on_screen_ID 0x42 -#define if_guard_is_on_screen_LENGTH 0x02 -#define if_guard_is_on_screen(label) \ - if_guard_is_on_screen_ID, \ - label, - -/*============================================================================= -// name: if_guard_room_containing_self_is_on_screen -// command id: 43 -// info: if the room containing guard is being rendered on screen, goto label -//============================================================================= -// note: only checks if room is being rendered, not if bond can see guard. -// to check if guard is being rendered use command 42 instead. -//===========================================================================*/ -#define if_guard_room_containing_self_is_on_screen_ID 0x43 -#define if_guard_room_containing_self_is_on_screen_LENGTH 0x02 -#define if_guard_room_containing_self_is_on_screen(label) \ - if_guard_room_containing_self_is_on_screen_ID, \ - label, - -/*============================================================================= -// name: if_room_containing_pad_is_on_screen -// command id: 44 -// info: if room containing pad is being rendered on screen, goto label -//============================================================================= -// note: only checks if room is being rendered, not if bond can see inside room -//===========================================================================*/ -#define if_room_containing_pad_is_on_screen_ID 0x44 -#define if_room_containing_pad_is_on_screen_LENGTH 0x04 -#define if_room_containing_pad_is_on_screen(pad, label) \ - if_room_containing_pad_is_on_screen_ID, \ - chararray16(pad), \ - label, - -/*============================================================================= -// name: if_guard_is_targeted_by_bond -// command id: 45 -// info: if bond is looking/aiming at guard, goto label -//============================================================================= -// note: also checks if crosshair is aiming at guard -//===========================================================================*/ -#define if_guard_is_targeted_by_bond_ID 0x45 -#define if_guard_is_targeted_by_bond_LENGTH 0x02 -#define if_guard_is_targeted_by_bond(label) \ - if_guard_is_targeted_by_bond_ID, \ - label, - -/*============================================================================= -// name: if_guard_shot_from_bond_missed -// command id: 46 -// info: if bond's shot missed/landed near guard, goto label -//============================================================================= -// note: command will sometimes goto label if guard was shot - use command -// 3E instead to check if guard was shot recently (more consistent) -//===========================================================================*/ -#define if_guard_shot_from_bond_missed_ID 0x46 -#define if_guard_shot_from_bond_missed_LENGTH 0x02 -#define if_guard_shot_from_bond_missed(label) \ - if_guard_shot_from_bond_missed_ID, \ - label, - -/*============================================================================= -// name: if_guard_counter_clockwise_direction_to_bond_less_than -// command id: 47 -// info: if guard's counter-clockwise direction to bond < direction argument, goto label -//============================================================================= -// note: direction input (hex): -// 00: no rotation, never goto label because degrees are always above 0 -// 40: bond and guard within 9-to-12 o'clock (90 degrees) -// 80: bond is on guard's left-side (180 degrees) -// C0: bond and guard within 3-to-12 o'clock (270 degrees) -// FF: full rotation, always goto label except for a tiny degree (0-359 degrees) -//===========================================================================*/ -#define if_guard_counter_clockwise_direction_to_bond_less_than_ID 0x47 -#define if_guard_counter_clockwise_direction_to_bond_less_than_LENGTH 0x03 -#define if_guard_counter_clockwise_direction_to_bond_less_than(direction, label) \ - if_guard_counter_clockwise_direction_to_bond_less_than_ID, \ - direction, \ - label, - -/*============================================================================= -// name: if_guard_counter_clockwise_direction_to_bond_greater_than -// command id: 48 -// info: if guard's counter-clockwise direction to bond > direction argument, goto label -//============================================================================= -// note: direction input (hex): -// FF: no rotation, never goto label except for a tiny degree (0-1 degrees) -// C0: bond and guard within 12-to-3 o'clock (90 degrees) -// 80: bond on guard's right-side (180 degrees) -// 40: bond and guard within 12-to-9 o'clock (270 degrees) -// 00: full rotation, always goto label -//===========================================================================*/ -#define if_guard_counter_clockwise_direction_to_bond_greater_than_ID 0x48 -#define if_guard_counter_clockwise_direction_to_bond_greater_than_LENGTH 0x03 -#define if_guard_counter_clockwise_direction_to_bond_greater_than(direction, label) \ - if_guard_counter_clockwise_direction_to_bond_greater_than_ID, \ - direction, \ - label, - -/*============================================================================= -// name: if_guard_counter_clockwise_direction_from_bond_less_than -// command id: 49 -// info: if bond's counter-clockwise direction to guard < direction argument, goto label -//============================================================================= -// note: direction input (hex): -// 00: no rotation, never goto label because degrees are always above 0 -// 40: guard and bond within 9-to-12 o'clock (90 degrees) -// 80: guard is on bond's left-side (180 degrees) -// C0: guard and bond within 3-to-12 o'clock (270 degrees) -// FF: full rotation, always goto label except for a tiny degree (0-359 degrees) -//===========================================================================*/ -#define if_guard_counter_clockwise_direction_from_bond_less_than_ID 0x49 -#define if_guard_counter_clockwise_direction_from_bond_less_than_LENGTH 0x03 -#define if_guard_counter_clockwise_direction_from_bond_less_than(direction, label) \ - if_guard_counter_clockwise_direction_from_bond_less_than_ID, \ - direction, \ - label, - -/*============================================================================= -// name: if_guard_counter_clockwise_direction_from_bond_greater_than -// command id: 4A -// info: if bond's counter-clockwise direction to guard > direction argument, goto label -//============================================================================= -// note: direction input (hex): -// FF: no rotation, never goto label except for a tiny degree (0-1 degrees) -// C0: guard and bond within 12-to-3 o'clock (90 degrees) -// 80: guard on bond's right-side (180 degrees) -// 40: guard and bond within 12-to-9 o'clock (270 degrees) -// 00: full rotation, always goto label -//===========================================================================*/ -#define if_guard_counter_clockwise_direction_from_bond_greater_than_ID 0x4A -#define if_guard_counter_clockwise_direction_from_bond_greater_than_LENGTH 0x03 -#define if_guard_counter_clockwise_direction_from_bond_greater_than(direction, label) \ - if_guard_counter_clockwise_direction_from_bond_greater_than_ID, \ - direction, \ - label, - -/*============================================================================= -// name: if_guard_distance_to_bond_less_than -// command id: 4B -// info: if guard's distance to bond < distance argument, goto label -//============================================================================= -// note: argument scale is 10 units per meter -//===========================================================================*/ -#define if_guard_distance_to_bond_less_than_ID 0x4B -#define if_guard_distance_to_bond_less_than_LENGTH 0x04 -#define if_guard_distance_to_bond_less_than(distance, label) \ - if_guard_distance_to_bond_less_than_ID, \ - chararray16(distance), \ - label, - -/*============================================================================= -// name: if_guard_distance_to_bond_greater_than -// command id: 4C -// info: if guard's distance to bond > distance argument, goto label -//============================================================================= -// note: argument scale is 10 units per meter -//===========================================================================*/ -#define if_guard_distance_to_bond_greater_than_ID 0x4C -#define if_guard_distance_to_bond_greater_than_LENGTH 0x04 -#define if_guard_distance_to_bond_greater_than(distance, label) \ - if_guard_distance_to_bond_greater_than_ID, \ - chararray16(distance), \ - label, - -/*============================================================================= -// name: if_chr_distance_to_pad_less_than -// command id: 4D -// info: if chr's distance to pad < distance argument, goto label -//============================================================================= -// note: argument scale is 10 units per meter -//===========================================================================*/ -#define if_chr_distance_to_pad_less_than_ID 0x4D -#define if_chr_distance_to_pad_less_than_LENGTH 0x07 -#define if_chr_distance_to_pad_less_than(chr_num, distance, pad, label) \ - if_chr_distance_to_pad_less_than_ID, \ - chr_num, \ - chararray16(distance), \ - chararray16(pad), \ - label, - -/*============================================================================= -// name: if_chr_distance_to_pad_greater_than -// command id: 4E -// info: if chr's distance to pad > distance argument, goto label -//============================================================================= -// note: argument scale is 10 units per meter -//===========================================================================*/ -#define if_chr_distance_to_pad_greater_than_ID 0x4E -#define if_chr_distance_to_pad_greater_than_LENGTH 0x07 -#define if_chr_distance_to_pad_greater_than(chr_num, distance, pad, label) \ - if_chr_distance_to_pad_greater_than_ID, \ - chr_num, \ - chararray16(distance), \ - chararray16(pad), \ - label, - -/*============================================================================= -// name: if_guard_distance_to_chr_less_than -// command id: 4F -// info: if guard's distance to chr < distance argument, goto label -//============================================================================= -// note: argument scale is 10 units per meter -//===========================================================================*/ -#define if_guard_distance_to_chr_less_than_ID 0x4F -#define if_guard_distance_to_chr_less_than_LENGTH 0x05 -#define if_guard_distance_to_chr_less_than(distance, chr_num, label) \ - if_guard_distance_to_chr_less_than_ID, \ - chararray16(distance), \ - chr_num, \ - label, - -/*============================================================================= -// name: if_guard_distance_to_chr_greater_than -// command id: 50 -// info: if guard's distance to chr > distance argument, goto label -//============================================================================= -// note: argument scale is 10 units per meter -//===========================================================================*/ -#define if_guard_distance_to_chr_greater_than_ID 0x50 -#define if_guard_distance_to_chr_greater_than_LENGTH 0x05 -#define if_guard_distance_to_chr_greater_than(distance, chr_num, label) \ - if_guard_distance_to_chr_greater_than_ID, \ - chararray16(distance), \ - chr_num, \ - label, - -/*============================================================================= -// name: guard_try_setting_chr_preset_to_guard_within_distance -// command id: 51 -// info: if guard's distance to any chr < distance argument, set chr->padpreset1 -// to found guard's chrnum and goto label -//============================================================================= -// note: argument scale is 10 units per meter. command does not pick the closest -// found chr, but whoever was first found within the distance argument. if no -// guards were found within distance range, do not goto label -//===========================================================================*/ -#define guard_try_setting_chr_preset_to_guard_within_distance_ID 0x51 -#define guard_try_setting_chr_preset_to_guard_within_distance_LENGTH 0x04 -#define guard_try_setting_chr_preset_to_guard_within_distance(distance, label) \ - guard_try_setting_chr_preset_to_guard_within_distance_ID, \ - chararray16(distance), \ - label, - -/*============================================================================= -// name: if_bond_distance_to_pad_less_than -// command id: 52 -// info: if bond's distance to pad < distance argument, goto label -//============================================================================= -// note: argument scale is 10 units per meter -//===========================================================================*/ -#define if_bond_distance_to_pad_less_than_ID 0x52 -#define if_bond_distance_to_pad_less_than_LENGTH 0x06 -#define if_bond_distance_to_pad_less_than(distance, pad, label) \ - if_bond_distance_to_pad_less_than_ID, \ - chararray16(distance), \ - chararray16(pad), \ - label, - -/*============================================================================= -// name: if_bond_distance_to_pad_greater_than -// command id: 53 -// info: if bond's distance to pad > distance argument, goto label -//============================================================================= -// note: argument scale is 10 units per meter -//===========================================================================*/ -#define if_bond_distance_to_pad_greater_than_ID 0x53 -#define if_bond_distance_to_pad_greater_than_LENGTH 0x06 -#define if_bond_distance_to_pad_greater_than(distance, pad, label) \ - if_bond_distance_to_pad_greater_than_ID, \ - chararray16(distance), \ - chararray16(pad), \ - label, - -/*============================================================================= -// name: if_chr_in_room_with_pad -// command id: 54 -// info: if chr id in same room with pad, goto label -//===========================================================================*/ -#define if_chr_in_room_with_pad_ID 0x54 -#define if_chr_in_room_with_pad_LENGTH 0x05 -#define if_chr_in_room_with_pad(chr_num, pad, label) \ - if_chr_in_room_with_pad_ID, \ - chr_num, \ - chararray16(pad), \ - label, - -/*============================================================================= -// name: if_bond_in_room_with_pad -// command id: 55 -// info: if bond in same room with pad, goto label -//===========================================================================*/ -#define if_bond_in_room_with_pad_ID 0x55 -#define if_bond_in_room_with_pad_LENGTH 0x04 -#define if_bond_in_room_with_pad(pad, label) \ - if_bond_in_room_with_pad_ID, \ - chararray16(pad), \ - label, - -/*============================================================================= -// name: if_bond_collected_object -// command id: 56 -// info: if bond collected tagged object, goto label -//===========================================================================*/ -#define if_bond_collected_object_ID 0x56 -#define if_bond_collected_object_LENGTH 0x03 -#define if_bond_collected_object(object_tag, label) \ - if_bond_collected_object_ID, \ - object_tag, \ - label, - -/*============================================================================= -// name: if_item_is_stationary_within_level -// command id: 57 -// info: if item exists in level and is stationary (not moving/in mid-air), goto label -//============================================================================= -// note: used to check if bond threw an item in level. also checks if item was -// attached to an object (item is stationary within level). so make sure command -// 58 takes priority over command 57 when using both commands -//===========================================================================*/ -#define if_item_is_stationary_within_level_ID 0x57 -#define if_item_is_stationary_within_level_LENGTH 0x03 -#define if_item_is_stationary_within_level(item_num, label) \ - if_item_is_stationary_within_level_ID, \ - item_num, \ - label, - -/*============================================================================= -// name: if_item_is_attached_to_object -// command id: 58 -// info: if item was thrown onto tagged object, goto label -//============================================================================= -// note: used to check if bond threw an item onto a tagged object. if used with -// command 57, make sure command 58 take priority over command 57 -//===========================================================================*/ -#define if_item_is_attached_to_object_ID 0x58 -#define if_item_is_attached_to_object_LENGTH 0x04 -#define if_item_is_attached_to_object(item_num, object_tag, label) \ - if_item_is_attached_to_object_ID, \ - item_num, \ - object_tag, \ - label, - -/*============================================================================= -// name: if_bond_has_item_equipped -// command id: 59 -// info: if bond has an item equipped (currently held), goto label -//===========================================================================*/ -#define if_bond_has_item_equipped_ID 0x59 -#define if_bond_has_item_equipped_LENGTH 0x03 -#define if_bond_has_item_equipped(item_num, label) \ - if_bond_has_item_equipped_ID, \ - item_num, \ - label, - -/*============================================================================= -// name: if_object_exists -// command id: 5A -// info: if tagged object exists in level, goto label -//===========================================================================*/ -#define if_object_exists_ID 0x5A -#define if_object_exists_LENGTH 0x03 -#define if_object_exists(object_tag, label) \ - if_object_exists_ID, \ - object_tag, \ - label, - -/*============================================================================= -// name: if_object_not_destroyed -// command id: 5B -// info: if tagged object is not destroyed, goto label -//===========================================================================*/ -#define if_object_not_destroyed_ID 0x5B -#define if_object_not_destroyed_LENGTH 0x03 -#define if_object_not_destroyed(object_tag, label) \ - if_object_not_destroyed_ID, \ - object_tag, \ - label, - -/*============================================================================= -// name: if_object_was_activated -// command id: 5C -// info: if tagged object was activated since last check, goto label -//============================================================================= -// note: when executed, it will clear tagged object's activated flag. only bond -// and command 5E can activate tagged objects. bond cannot activate destroyed -// objects -//===========================================================================*/ -#define if_object_was_activated_ID 0x5C -#define if_object_was_activated_LENGTH 0x03 -#define if_object_was_activated(object_tag, label) \ - if_object_was_activated_ID, \ - object_tag, \ - label, - -/*============================================================================= -// name: if_bond_used_gadget_on_object -// command id: 5D -// info: if bond used a gadget item on a tagged object since last check, goto label -//============================================================================= -// note: gadgets are a pre-defined list of items set to gadget flag: -// ITEM_BOMBDEFUSER -// ITEM_DATATHIEF -// ITEM_DOORDECODER -// ITEM_EXPLOSIVEFLOPPY -// ITEM_DATTAPE -//===========================================================================*/ -#define if_bond_used_gadget_on_object_ID 0x5D -#define if_bond_used_gadget_on_object_LENGTH 0x03 -#define if_bond_used_gadget_on_object(object_tag, label) \ - if_bond_used_gadget_on_object_ID, \ - object_tag, \ - label, - -/*============================================================================= -// name: object_activate -// command id: 5E -// info: activate a tagged object -//============================================================================= -// note: command does not check if object has been destroyed -//===========================================================================*/ -#define object_activate_ID 0x5E -#define object_activate_LENGTH 0x02 -#define object_activate(object_tag) \ - object_activate_ID, \ - object_tag, - -/*============================================================================= -// name: object_destroy -// command id: 5F -// info: destroy/explode a tagged object -//============================================================================= -// note: only works if object is not destroyed. cannot destroy invincible objects -//===========================================================================*/ -#define object_destroy_ID 0x5F -#define object_destroy_LENGTH 0x02 -#define object_destroy(object_tag) \ - object_destroy_ID, \ - object_tag, - -/*============================================================================= -// name: object_drop_from_chr -// command id: 60 -// info: drop tagged object held/attached to chr -//============================================================================= -// 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_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, - -/*============================================================================= -// name: chr_drop_all_concealed_items -// command id: 61 -// info: make chr drop all concealed attachments -//============================================================================= -// note: item must be attached to chr, to drop held items use command 62. embedded -// objects will not drop, only works with attached objects. props can be damaged -// on drop -//===========================================================================*/ -#define chr_drop_all_concealed_items_ID 0x61 -#define chr_drop_all_concealed_items_LENGTH 0x02 -#define chr_drop_all_concealed_items(chr_num) \ - chr_drop_all_concealed_items_ID, \ - chr_num, - -/*============================================================================= -// name: chr_drop_all_held_items -// command id: 62 -// info: make chr drop all held items -//============================================================================= -// note: items must be held by chr, to drop concealed attachments use command 61. -// embedded objects will not drop, only works with attached objects -//===========================================================================*/ -#define chr_drop_all_held_items_ID 0x62 -#define chr_drop_all_held_items_LENGTH 0x02 -#define chr_drop_all_held_items(chr_num) \ - chr_drop_all_held_items_ID, \ - chr_num, - -/*============================================================================= -// name: bond_collect_object -// command id: 63 -// info: force bond to instantly collect a tagged object -//============================================================================= -// note: does not trigger bottom text telling player they collected an item -//===========================================================================*/ -#define bond_collect_object_ID 0x63 -#define bond_collect_object_LENGTH 0x02 -#define bond_collect_object(object_tag) \ - bond_collect_object_ID, \ - object_tag, - -/*============================================================================= -// name: chr_equip_object -// command id: 64 -// info: makes chr hold tagged object -//============================================================================= -// note: if chr's hands are occupied, object will be equipped as an concealed -// attachment. but if tagged object's handedness flag is free on guard then -// guard will equip weapon. tagged object's prop must have a holding position -// command within the model file -//===========================================================================*/ -#define chr_equip_object_ID 0x64 -#define chr_equip_object_LENGTH 0x03 -#define chr_equip_object(object_tag, chr_num) \ - chr_equip_object_ID, \ - object_tag, \ - chr_num, - -/*============================================================================= -// name: object_move_to_pad -// command id: 65 -// info: move object to pad -//============================================================================= -// note: if object is assigned to padextra type, then object scale will be lost -// after moving to target pad. object will inherit rotation from target pad -//===========================================================================*/ -#define object_move_to_pad_ID 0x65 -#define object_move_to_pad_LENGTH 0x04 -#define object_move_to_pad(object_tag, pad) \ - object_move_to_pad_ID, \ - object_tag, \ - chrarray16(pad), - -/*============================================================================= -// name: door_open -// command id: 66 -// info: open tagged door -//============================================================================= -// note: open tagged door even if locked -//===========================================================================*/ -#define door_open_ID 0x66 -#define door_open_LENGTH 0x02 -#define door_open(object_tag) \ - door_open_ID, \ - object_tag, - -/*============================================================================= -// name: door_close -// command id: 67 -// info: close tagged door -//===========================================================================*/ -#define door_close_ID 0x67 -#define door_close_LENGTH 0x02 -#define door_close(object_tag) \ - door_close_ID, \ - object_tag, - -/*============================================================================= -// name: if_door_state_equal -// command id: 68 -// info: if tagged door state matches any of bitfield argument, goto label -//============================================================================= -// note: use DOOR_STATE_# flags for door state argument. flags can be combined -//===========================================================================*/ -#define if_door_state_equal_ID 0x68 -#define if_door_state_equal_LENGTH 0x04 -#define if_door_state_equal(object_tag, door_state, label) \ - if_door_state_equal_ID, \ - object_tag, \ - door_state, \ - label, - -/*============================================================================= -// name: if_door_has_been_opened_before -// command id: 69 -// info: if tagged door has been opened before, goto label -//============================================================================= -// note: if tagged door is open by default in setup, then it must be closed before -// it will check if opened again -//===========================================================================*/ -#define if_door_has_been_opened_before_ID 0x69 -#define if_door_has_been_opened_before_LENGTH 0x03 -#define if_door_has_been_opened_before(object_tag, label) \ - if_door_has_been_opened_before_ID, \ - object_tag, \ - label, - -/*============================================================================= -// name: door_set_lock -// command id: 6A -// info: set tagged door's lock with flags -//============================================================================= -// note: use DOOR_LOCK_# flags for lock argument. lock flags are same as used -// within setup for doors and keys -//===========================================================================*/ -#define door_set_lock_ID 0x6A -#define door_set_lock_LENGTH 0x03 -#define door_set_lock(object_tag, lock_flag) \ - door_set_lock_ID, \ - object_tag, \ - lock_flag, - -/*============================================================================= -// name: door_unset_lock -// command id: 6B -// info: unset tagged door's lock with flags -//============================================================================= -// note: use DOOR_LOCK_# flags for lock argument. lock flags are same as used -// within setup for doors and keys -//===========================================================================*/ -#define door_unset_lock_ID 0x6B -#define door_unset_lock_LENGTH 0x03 -#define door_unset_lock(object_tag, lock_flag) \ - door_unset_lock_ID, \ - object_tag, \ - lock_flag, - -/*============================================================================= -// name: if_door_lock_equal -// command id: 6C -// info: if tagged door's lock flags matches any lock flag argument, goto label -//============================================================================= -// note: use DOOR_LOCK_# flags for lock argument. lock flags are same as used -// within setup for doors and keys -//===========================================================================*/ -#define if_door_lock_equal_ID 0x6C -#define if_door_lock_equal_LENGTH 0x04 -#define if_door_lock_equal(object_tag, lock_flag, label) \ - if_door_lock_equal_ID, \ - object_tag, \ - lock_flag, \ - label, - -/*============================================================================= -// name: if_objective_num_complete -// command id: 6D -// info: if objective # completed, goto label -//============================================================================= -// note: ignores difficulty settings. for example - if game on agent and player -// completes an unlisted 00 agent objective, checking that objective num will -// goto label -//===========================================================================*/ -#define if_objective_num_complete_ID 0x6D -#define if_objective_num_complete_LENGTH 0x03 -#define if_objective_num_complete(obj_num, label) \ - if_objective_num_complete_ID, \ - obj_num, \ - label, - -/*============================================================================= -// name: guard_try_unknown6E -// command id: 6E -// info: unknown command, goto label -//============================================================================= -// note: sets chr->padpreset1 -// bitfield (hex): -// 0001: sets to nearest pad to path to bond -// 0004: ??? -// 0008: ??? -// 0010: ??? -// 0020: ??? -//===========================================================================*/ -#define guard_try_unknown6E_ID 0x6E -#define guard_try_unknown6E_LENGTH 0x03 -#define guard_try_unknown6E(unknown_flag, label) \ - guard_try_unknown6E_ID, \ - unknown_flag, \ - label, - -/*============================================================================= -// name: guard_try_unknown6F -// command id: 6F -// info: unknown command, goto label -//============================================================================= -// note: sets chr->padpreset1 -// bitfield (hex): -// 0001: set to nearest pad in direction of bond -// 0004: ??? -// 0008: ??? -// 0010: ??? -// 0020: ??? -//===========================================================================*/ -#define guard_try_unknown6F_ID 0x6F -#define guard_try_unknown6F_LENGTH 0x03 -#define guard_try_unknown6F(unknown_flag, label) \ - guard_try_unknown6F_ID, \ - unknown_flag, \ - label, - -/*============================================================================= -// name: if_game_difficulty_less_than -// command id: 70 -// info: if current difficulty < difficulty argument, goto label -//============================================================================= -// note: provided argument will compare the following difficult settings -// 01: agent only -// 02: agent/secret agent -// 03: agent/secret agent/00 agent -//===========================================================================*/ -#define if_game_difficulty_less_than_ID 0x70 -#define if_game_difficulty_less_than_LENGTH 0x03 -#define if_game_difficulty_less_than(argument, label) \ - if_game_difficulty_less_than_ID, \ - argument, \ - label, - -/*============================================================================= -// name: if_game_difficulty_greater_than -// command id: 71 -// info: if current difficulty > difficulty argument, goto label -//============================================================================= -// note: provided argument will compare the following difficult settings -// 00: secret agent/00 agent/007 -// 01: 00 agent/007 -// 02: 007 only -//===========================================================================*/ -#define if_game_difficulty_greater_than_ID 0x71 -#define if_game_difficulty_greater_than_LENGTH 0x03 -#define if_game_difficulty_greater_than(argument, label) \ - if_game_difficulty_greater_than_ID, \ - argument, \ - label, - -/*============================================================================= -// name: if_mission_time_less_than -// command id: 72 -// info: if current mission time (in seconds) < seconds argument, goto label -//============================================================================= -// note: converts (unsigned) seconds to float and compares against mission timer -//===========================================================================*/ -#define if_mission_time_less_than_ID 0x72 -#define if_mission_time_less_than_LENGTH 0x04 -#define if_mission_time_less_than(seconds, label) \ - if_mission_time_less_than_ID, \ - chararray16(seconds), \ - label, - -/*============================================================================= -// name: if_mission_time_greater_than -// command id: 73 -// info: if current mission time (in seconds) > seconds argument, goto label -//============================================================================= -// note: converts (unsigned) seconds to float and compares against mission timer -//===========================================================================*/ -#define if_mission_time_greater_than_ID 0x73 -#define if_mission_time_greater_than_LENGTH 0x04 -#define if_mission_time_greater_than(seconds, label) \ - if_mission_time_greater_than_ID, \ - chararray16(seconds), \ - label, - -/*============================================================================= -// name: if_system_power_time_less_than -// command id: 74 -// info: if system powered on time (in minutes) < minutes argument, goto label -//============================================================================= -// note: converts (unsigned) minutes to float and compares against system time -//===========================================================================*/ -#define if_system_power_time_less_than_ID 0x74 -#define if_system_power_time_less_than_LENGTH 0x04 -#define if_system_power_time_less_than(minutes, label) \ - if_system_power_time_less_than_ID, \ - chararray16(minutes), \ - label, - -/*============================================================================= -// name: if_system_power_time_greater_than -// command id: 75 -// info: if system powered on time (in minutes) > minutes argument, goto label -//============================================================================= -// note: converts (unsigned) minutes to float and compares against system time -//===========================================================================*/ -#define if_system_power_time_greater_than_ID 0x75 -#define if_system_power_time_greater_than_LENGTH 0x04 -#define if_system_power_time_greater_than(minutes, label) \ - if_system_power_time_greater_than_ID, \ - chararray16(minutes), \ - label, - -/*============================================================================= -// name: if_level_id_less_than -// command id: 76 -// info: if current level id < level id argument, goto label -//============================================================================= -// note: level id uses LEVELID enum values, not briefing menu stage number -//===========================================================================*/ -#define if_level_id_less_than_ID 0x76 -#define if_level_id_less_than_LENGTH 0x03 -#define if_level_id_less_than(level_id, label) \ - if_level_id_less_than_ID, \ - level_id, \ - label, - -/*============================================================================= -// name: if_level_id_greater_than -// command id: 77 -// info: if current level id > level id argument, goto label -//============================================================================= -// note: level id uses LEVELID enum values, not briefing menu stage number -//===========================================================================*/ -#define if_level_id_greater_than_ID 0x77 -#define if_level_id_greater_than_LENGTH 0x03 -#define if_level_id_greater_than(level_id, label) \ - if_level_id_greater_than_ID, \ - level_id, \ - label, - -/*============================================================================= -// name: if_guard_hits_less_than -// command id: 78 -// info: if guard's hits taken < hit_num, goto label -//============================================================================= -// note: compares signed byte against chr->numarghs. hits count even if guard -// is invincible -//===========================================================================*/ -#define if_guard_hits_less_than_ID 0x78 -#define if_guard_hits_less_than_LENGTH 0x03 -#define if_guard_hits_less_than(hit_num, label) \ - if_guard_hits_less_than_ID, \ - hit_num, \ - label, - -/*============================================================================= -// name: if_guard_hits_greater_than -// command id: 79 -// info: if guard's hits taken > hit_num, goto label -//============================================================================= -// note: compares signed byte against chr->numarghs. hits count even if guard -// is invincible -//===========================================================================*/ -#define if_guard_hits_greater_than_ID 0x79 -#define if_guard_hits_greater_than_LENGTH 0x03 -#define if_guard_hits_greater_than(hit_num, label) \ - if_guard_hits_greater_than_ID, \ - hit_num, \ - label, - -/*============================================================================= -// name: if_guard_hits_missed_less_than -// command id: 7A -// info: if bond's shot missed/landed near guard total < missed_num, goto label -//============================================================================= -// note: compares signed byte against chr->numclosearghs -//===========================================================================*/ -#define if_guard_hits_missed_less_than_ID 0x7A -#define if_guard_hits_missed_less_than_LENGTH 0x03 -#define if_guard_hits_missed_less_than(missed_num, label) \ - if_guard_hits_missed_less_than_ID, \ - missed_num, \ - label, - -/*============================================================================= -// name: if_guard_hits_missed_greater_than -// command id: 7B -// info: if bond's shot missed/landed near guard total > missed_num, goto label -//============================================================================= -// note: compares signed byte argument against chr->numclosearghs -//===========================================================================*/ -#define if_guard_hits_missed_greater_than_ID 0x7B -#define if_guard_hits_missed_greater_than_LENGTH 0x03 -#define if_guard_hits_missed_greater_than(missed_num, label) \ - if_guard_hits_missed_greater_than_ID, \ - missed_num, \ - label, - -/*============================================================================= -// name: if_chr_health_less_than -// command id: 7C -// info: if chr's health < health argument, goto label -//============================================================================= -// note: argument is unsigned. converted to float and compares different between -// chr->maxdamage - chr->damage. default guard health is 40 (0x28), or after -// float conversion 4.0f. armour is tested -//===========================================================================*/ -#define if_chr_health_less_than_ID 0x7C -#define if_chr_health_less_than_LENGTH 0x04 -#define if_chr_health_less_than(chr_num, health, label) \ - if_chr_health_less_than_ID, \ - chr_num, \ - health, \ - label, - -/*============================================================================= -// name: if_chr_health_greater_than -// command id: 7D -// info: if chr's health > health argument, goto label -//============================================================================= -// note: argument is unsigned. converted to float and compares different between -// chr->maxdamage - chr->damage. default guard health is 40 (0x28), or after -// float conversion 4.0f. armour is tested -//===========================================================================*/ -#define if_chr_health_greater_than_ID 0x7D -#define if_chr_health_greater_than_LENGTH 0x04 -#define if_chr_health_greater_than(chr_num, health, label) \ - if_chr_health_greater_than_ID, \ - chr_num, \ - health, \ - label, - -/*============================================================================= -// name: if_chr_was_damaged_since_last_check -// command id: 7E -// info: if chr has taken damage since last check, goto label -//============================================================================= -// note: checks chr->chrflags if CHRFLAG_WAS_DAMAGED is set. if true, unset flag -// and goto label. CHRFLAG_WAS_DAMAGED is set if guard took damage (not invincible) -//===========================================================================*/ -#define if_chr_was_damaged_since_last_check_ID 0x7E -#define if_chr_was_damaged_since_last_check_LENGTH 0x03 -#define if_chr_was_damaged_since_last_check(chr_num, label) \ - if_chr_was_damaged_since_last_check_ID, \ - chr_num, \ - label, - -/*============================================================================= -// name: if_bond_health_less_than -// command id: 7F -// info: if bond's health < health argument, goto label -//============================================================================= -// note: does not check armour. health argument is unsigned, argument range is -// between 00 and FF, with FF equal to 100% health -//===========================================================================*/ -#define if_bond_health_less_than_ID 0x7F -#define if_bond_health_less_than_LENGTH 0x03 -#define if_bond_health_less_than(health, label) \ - if_bond_health_less_than_ID, \ - health, \ - label, - -/*============================================================================= -// name: if_bond_health_greater_than -// command id: 80 -// info: if bond's health > health argument, goto label -//============================================================================= -// note: does not check armour. health argument is unsigned, argument range is -// between 00 and FF, with FF equal to 100% health -//===========================================================================*/ -#define if_bond_health_greater_than_ID 0x80 -#define if_bond_health_greater_than_LENGTH 0x03 -#define if_bond_health_greater_than(health, label) \ - if_bond_health_greater_than_ID, \ - health, \ - label, - -/*============================================================================= -// name: local_byte_1_set -// command id: 81 -// info: set chr->flags byte value to byte argument -//============================================================================= -// note: argument is unsigned. this is a private byte that is stored in chr struct. -// it can be used for anything. default value is 0 -//===========================================================================*/ -#define local_byte_1_set_ID 0x81 -#define local_byte_1_set_LENGTH 0x02 -#define local_byte_1_set(set_byte) \ - local_byte_1_set_ID, \ - set_byte, - -/*============================================================================= -// name: local_byte_1_add -// command id: 82 -// info: add byte argument to chr->flags byte value -//============================================================================= -// note: argument is unsigned, add value is clamped at 0xFF (255 dec). this is -// a private byte that is stored in chr struct. it can be used for anything. -// default value is 0 -//===========================================================================*/ -#define local_byte_1_add_ID 0x82 -#define local_byte_1_add_LENGTH 0x02 -#define local_byte_1_add(add_byte) \ - local_byte_1_add_ID, \ - add_byte, - -/*============================================================================= -// name: local_byte_1_subtract -// command id: 83 -// info: subtract byte argument from chr->flags byte value -//============================================================================= -// note: argument is unsigned, subtract value is clamped at 0. this is a private -// byte that is stored in chr struct. it can be used for anything. default value is 0 -//===========================================================================*/ -#define local_byte_1_subtract_ID 0x83 -#define local_byte_1_subtract_LENGTH 0x02 -#define local_byte_1_subtract(subtract_byte) \ - local_byte_1_subtract_ID, \ - subtract_byte, - -/*============================================================================= -// name: if_local_byte_1_less_than -// command id: 84 -// info: if chr->flags byte value < byte argument, goto label -//============================================================================= -// note: argument is unsigned. this is a private byte that is stored in chr struct. -// it can be used for anything. default value is 0 -//===========================================================================*/ -#define if_local_byte_1_less_than_ID 0x84 -#define if_local_byte_1_less_than_LENGTH 0x03 -#define if_local_byte_1_less_than(compare_byte, label) \ - if_local_byte_1_less_than_ID, \ - compare_byte, \ - label, - -/*============================================================================= -// name: if_local_byte_1_less_than_random_seed -// command id: 85 -// info: if chr->flags byte value < chr->random, goto label -//============================================================================= -// note: chr->random must be pre-generated by command 33 before comparing. this -// is a private byte that is stored in chr struct. it can be used for anything. -// default value is 0 -//===========================================================================*/ -#define if_local_byte_1_less_than_random_seed_ID 0x85 -#define if_local_byte_1_less_than_random_seed_LENGTH 0x02 -#define if_local_byte_1_less_than_random_seed(label) \ - if_local_byte_1_less_than_random_seed_ID, \ - label, - -/*============================================================================= -// name: local_byte_2_set -// command id: 86 -// info: set chr->flags2 byte value to byte argument -//============================================================================= -// note: argument is unsigned. this is a private byte that is stored in chr struct. -// it can be used for anything. default value is 0 -//===========================================================================*/ -#define local_byte_2_set_ID 0x86 -#define local_byte_2_set_LENGTH 0x02 -#define local_byte_2_set(set_byte) \ - local_byte_2_set_ID, \ - set_byte, - -/*============================================================================= -// name: local_byte_2_add -// command id: 87 -// info: add byte argument to chr->flags2 byte value -//============================================================================= -// note: argument is unsigned, add value is clamped at 0xFF (255 dec). this is -// a private byte that is stored in chr struct. it can be used for anything. -// default value is 0 -//===========================================================================*/ -#define local_byte_2_add_ID 0x87 -#define local_byte_2_add_LENGTH 0x02 -#define local_byte_2_add(add_byte) \ - local_byte_2_add_ID, \ - add_byte, - -/*============================================================================= -// name: local_byte_2_subtract -// command id: 88 -// info: subtract byte argument from chr->flags2 byte value -//============================================================================= -// note: argument is unsigned, subtract value is clamped at 0. this is a private -// byte that is stored in chr struct. it can be used for anything. default value is 0 -//===========================================================================*/ -#define local_byte_2_subtract_ID 0x88 -#define local_byte_2_subtract_LENGTH 0x02 -#define local_byte_2_subtract(subtract_byte) \ - local_byte_2_subtract_ID, \ - subtract_byte, - -/*============================================================================= -// name: if_local_byte_2_less_than -// command id: 89 -// info: if chr->flags2 byte value < byte argument, goto label -//============================================================================= -// note: argument is unsigned. this is a private byte that is stored in chr struct. -// it can be used for anything. default value is 0 -//===========================================================================*/ -#define if_local_byte_2_less_than_ID 0x89 -#define if_local_byte_2_less_than_LENGTH 0x03 -#define if_local_byte_2_less_than(compare_byte, label) \ - if_local_byte_2_less_than_ID, \ - compare_byte, \ - label, - -/*============================================================================= -// name: if_local_byte_2_less_than_random_seed -// command id: 8A -// info: if chr->flags2 byte value < chr->random, goto label -//============================================================================= -// note: chr->random must be pre-generated by command 33 before comparing. this -// is a private byte that is stored in chr struct. it can be used for anything. -// default value is 0 -//===========================================================================*/ -#define if_local_byte_2_less_than_random_seed_ID 0x8A -#define if_local_byte_2_less_than_random_seed_LENGTH 0x02 -#define if_local_byte_2_less_than_random_seed(label) \ - if_local_byte_2_less_than_random_seed_ID, \ - label, - -/*============================================================================= -// name: guard_set_hearing_scale -// command id: 8B -// info: set guard's hearing scale - the higher the value, the further away guard -// can hear bond's gunfire -//============================================================================= -// note: sets to chr->hearingscale. default value is 0x03E8 (1000 dec). argument -// is converted to float and divided by 1000 before setting to hearingscale -//===========================================================================*/ -#define guard_set_hearing_scale_ID 0x8B -#define guard_set_hearing_scale_LENGTH 0x03 -#define guard_set_hearing_scale(hearing_scale) \ - guard_set_hearing_scale_ID, \ - chararray16(hearing_scale), - -/*============================================================================= -// name: guard_set_vision_range -// command id: 8C -// info: set guard's vision range - the smaller the value, the longer the guard -// takes to detect bond with command 32. does not affect firing distance -//============================================================================= -// note: sets to chr->visionrange. default value is 0x0064 (100 dec). argument -// is unsigned and converted to float before setting to hearingscale -//===========================================================================*/ -#define guard_set_vision_range_ID 0x8C -#define guard_set_vision_range_LENGTH 0x02 -#define guard_set_vision_range(vision_range) \ - guard_set_vision_range_ID, \ - vision_range, - -/*============================================================================= -// name: guard_set_grenade_probability -// command id: 8D -// info: set guard's grenade probability - used for rng comparison by command 1A. -// the higher the value, the likelyhood of guard throwing a grenade -//============================================================================= -// note: sets to chr->grenadeprob - 0 by default. argument is unsigned. the only -// way to make guards throw grenades is by using this command or assigning setup -// object 0x12 to chr -//===========================================================================*/ -#define guard_set_grenade_probability_ID 0x8D -#define guard_set_grenade_probability_LENGTH 0x02 -#define guard_set_grenade_probability(grenade_prob) \ - guard_set_grenade_probability_ID, \ - grenade_prob, - -/*============================================================================= -// name: guard_set_chr_num -// command id: 8E -// info: set guard's chr num -//============================================================================= -// note: sets to chr->chrnum - commonly used for respawning guards -//===========================================================================*/ -#define guard_set_chr_num_ID 0x8E -#define guard_set_chr_num_LENGTH 0x02 -#define guard_set_chr_num(chr_num) \ - guard_set_chr_num_ID, \ - chr_num, - -/*============================================================================= -// 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. -//============================================================================= -// 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. -// if difficulty mode 007 is active, command will use 007 health modifier -//===========================================================================*/ -#define guard_set_health_total_ID 0x8F -#define guard_set_health_total_LENGTH 0x03 -#define guard_set_health_total(total_health) \ - guard_set_health_total_ID, \ - chararray16(total_health), - -/*============================================================================= -// name: guard_set_armour -// command id: 90 -// info: set guard's armour value - the higher the value, the higher the armour. -// armoured guards will not show hit reactions. they also don't instantly die -// from explosions, instead taking damaged based on how close they are to explosions -// like bond. to any setup designers reading this, please use armour sparingly! -//============================================================================= -// note: subtracts from chr->damage - negative damage means guard has armour. -// instead of storing armour as a separate chr variable, we reuse the current -// damage and read negative damage as armour. technically this command should -// be titled 'guard_remove_damage' but its used mostly for adding armour to guards. -// argument is converted to float and divided by 10 before subtracting chr->damage. -// if difficulty mode 007 is active, command will use 007 health modifier. -// argument is unsigned - 0xFFFF will be set to 6553.5f armour, or -6553.5f damage -//===========================================================================*/ -#define guard_set_armour_ID 0x90 -#define guard_set_armour_LENGTH 0x03 -#define guard_set_armour(armour_value) \ - guard_set_armour_ID, \ - chararray16(armour_value), - -/*============================================================================= -// name: guard_set_speed_rating -// command id: 91 -// info: set guard's speed rating - controls how quickly the guard animates. -//============================================================================= -// 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/below -// 100 or it may crash -//===========================================================================*/ -#define guard_set_speed_rating_ID 0x91 -#define guard_set_speed_rating_LENGTH 0x02 -#define guard_set_speed_rating(speed_rating) \ - guard_set_speed_rating_ID, \ - speed_rating, - -/*============================================================================= -// name: guard_set_argh_rating -// command id: 92 -// info: set guard's argh rating - controls how quickly the guard recovers from -// being shot. range is -128 to 127 (127 show almost no hit reaction) -//============================================================================= -// note: sets to chr->arghrating. default value is 0 - argument is signed. -// negative values will make guard animate slower - this affects firing animations. -// command does not use 007 reaction speed modifier -//===========================================================================*/ -#define guard_set_argh_rating_ID 0x92 -#define guard_set_argh_rating_LENGTH 0x02 -#define guard_set_argh_rating(speed_rating) \ - guard_set_argh_rating_ID, \ - speed_rating, - -/*============================================================================= -// name: guard_set_accuracy_rating -// command id: 93 -// info: set guard's accuracy rating - controls how accurately the guard fires -// their weapon -//============================================================================= -// note: sets to chr->accuracyrating. default value is 0 and ranges from -128 -// to 127, argument is signed byte. command does not use 007 accuracy modifier -//===========================================================================*/ -#define guard_set_accuracy_rating_ID 0x93 -#define guard_set_accuracy_rating_LENGTH 0x02 -#define guard_set_accuracy_rating(accuracy_rating) \ - guard_set_accuracy_rating_ID, \ - accuracy_rating, - -/*============================================================================= -// name: guard_bitfield_set_on -// command id: 94 -// info: set chr->BITFIELD on -//============================================================================= -// note: can be used to store a custom flag per chr, useful for missions. global -// lists use flag 01, which is defined as BITFIELD_DONT_POINT_AT_BOND. other bits -// are free to use for setup's ai lists. can be used by obj ai lists, obj lists -// are free to utilize the entire spectrum of flags -//===========================================================================*/ -#define guard_bitfield_set_on_ID 0x94 -#define guard_bitfield_set_on_LENGTH 0x02 -#define guard_bitfield_set_on(bitfield) \ - guard_bitfield_set_on_ID, \ - bitfield, - -/*============================================================================= -// name: guard_bitfield_set_off -// command id: 95 -// info: set chr->BITFIELD off -//============================================================================= -// note: can be used to store a custom flag per chr, useful for missions. global -// lists use flag 01, which is defined as BITFIELD_DONT_POINT_AT_BOND. other bits -// are free to use for setup's ai lists. can be used by obj ai lists, obj lists -// are free to utilize the entire spectrum of flags -//===========================================================================*/ -#define guard_bitfield_set_off_ID 0x95 -#define guard_bitfield_set_off_LENGTH 0x02 -#define guard_bitfield_set_off(bitfield) \ - guard_bitfield_set_off_ID, \ - bitfield, - -/*============================================================================= -// name: if_guard_bitfield_is_set_on -// command id: 96 -// info: if bits is set on in chr->BITFIELD, goto label -//============================================================================= -// note: can be used by obj ai lists, obj lists are free to utilize the entire -// spectrum of flags -//===========================================================================*/ -#define if_guard_bitfield_is_set_on_ID 0x96 -#define if_guard_bitfield_is_set_on_LENGTH 0x03 -#define if_guard_bitfield_is_set_on(bitfield, label) \ - if_guard_bitfield_is_set_on_ID, \ - bitfield, \ - label, - -/*============================================================================= -// name: chr_bitfield_set_on -// command id: 97 -// info: set chr->BITFIELD on -//============================================================================= -// note: can be used to store a custom flag per chr, useful for missions. global -// lists use flag 01, which is defined as BITFIELD_DONT_POINT_AT_BOND. other bits -// are free to use for setup's ai lists -//===========================================================================*/ -#define chr_bitfield_set_on_ID 0x97 -#define chr_bitfield_set_on_LENGTH 0x03 -#define chr_bitfield_set_on(chr_num, bitfield) \ - chr_bitfield_set_on_ID, \ - chr_num, \ - bitfield, - -/*============================================================================= -// name: chr_bitfield_set_off -// command id: 98 -// info: set chr->BITFIELD off -//============================================================================= -// note: can be used to store a custom flag per chr, useful for missions. global -// lists use flag 01, which is defined as BITFIELD_DONT_POINT_AT_BOND. other bits -// are free to use for setup's ai lists -//===========================================================================*/ -#define chr_bitfield_set_off_ID 0x98 -#define chr_bitfield_set_off_LENGTH 0x03 -#define chr_bitfield_set_off(chr_num, bitfield) \ - chr_bitfield_set_off_ID, \ - chr_num, \ - bitfield, - -/*============================================================================= -// name: if_chr_bitfield_is_set_on -// command id: 99 -// info: if bits is set on in chr->BITFIELD, goto label -//===========================================================================*/ -#define if_chr_bitfield_is_set_on_ID 0x99 -#define if_chr_bitfield_is_set_on_LENGTH 0x04 -#define if_chr_bitfield_is_set_on(chr_num, bitfield, label) \ - if_chr_bitfield_is_set_on_ID, \ - chr_num, \ - bitfield, \ - label, - -/*============================================================================= -// name: objective_bitfield_set_on -// command id: 9A -// info: set bits in objective bitfield on -//============================================================================= -// 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. 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 -#define objective_bitfield_set_on(bitfield) \ - objective_bitfield_set_on_ID, \ - chararray32(bitfield) - -/*============================================================================= -// name: objective_bitfield_set_off -// command id: 9B -// info: set bits in objective bitfield off -//============================================================================= -// 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. 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 -#define objective_bitfield_set_off(bitfield) \ - objective_bitfield_set_off_ID, \ - chararray32(bitfield) - -/*============================================================================= -// name: if_objective_bitfield_is_set_on -// command id: 9C -// info: if bits in objective bitfield are set on, goto label -//============================================================================= -// note: can check multiple flags at once -//===========================================================================*/ -#define if_objective_bitfield_is_set_on_ID 0x9C -#define if_objective_bitfield_is_set_on_LENGTH 0x06 -#define if_objective_bitfield_is_set_on(bitfield, label) \ - if_objective_bitfield_is_set_on_ID, \ - chararray32(bitfield), \ - label, - -/*============================================================================= -// name: guard_flags_set_on -// command id: 9D -// info: set chr->chrflags on -//============================================================================= -// note: chr->chrflags are not ai list or setup exclusive, they are controlled -// by many parts of the engine. bitfield uses CHRFLAG_# defines. command can be -// used by obj ai lists, obj lists are free to utilize the entire spectrum of flags -//===========================================================================*/ -#define guard_flags_set_on_ID 0x9D -#define guard_flags_set_on_LENGTH 0x05 -#define guard_flags_set_on(bitfield) \ - guard_flags_set_on_ID, \ - chararray32(bitfield), - -/*============================================================================= -// name: guard_flags_set_off -// command id: 9E -// info: set chr->chrflags off -//============================================================================= -// note: chr->chrflags are not ai list or setup exclusive, they are controlled -// by many parts of the engine. bitfield uses CHRFLAG_# defines. can be used by -// obj ai lists, obj lists are free to utilize the entire spectrum of flags -//===========================================================================*/ -#define guard_flags_set_off_ID 0x9E -#define guard_flags_set_off_LENGTH 0x05 -#define guard_flags_set_off(bitfield) \ - guard_flags_set_off_ID, \ - chararray32(bitfield), - -/*============================================================================= -// name: if_guard_flags_is_set_on -// command id: 9F -// info: if bits is set on in chr->chrflags, goto label -//============================================================================= -// note: chr->chrflags are not ai list or setup exclusive, they are controlled -// by many parts of the engine. bitfield uses CHRFLAG_# defines. can be used by -// obj ai lists, obj lists are free to utilize the entire spectrum of flags -//===========================================================================*/ -#define if_guard_flags_is_set_on_ID 0x9F -#define if_guard_flags_is_set_on_LENGTH 0x06 -#define if_guard_flags_is_set_on(bitfield, label) \ - if_guard_flags_is_set_on_ID, \ - chararray32(bitfield), \ - label, - -/*============================================================================= -// name: chr_flags_set_on -// command id: A0 -// info: set chr->chrflags on -//============================================================================= -// note: chr->chrflags are not ai list or setup exclusive, they are controlled -// by many parts of the engine. bitfield uses CHRFLAG_# defines -//===========================================================================*/ -#define chr_flags_set_on_ID 0xA0 -#define chr_flags_set_on_LENGTH 0x06 -#define chr_flags_set_on(chr_num, bitfield) \ - chr_flags_set_on_ID, \ - chr_num, \ - chararray32(bitfield), - -/*============================================================================= -// name: chr_flags_set_off -// command id: A1 -// info: set chr->chrflags off -//============================================================================= -// note: chr->chrflags are not ai list or setup exclusive, they are controlled -// by many parts of the engine. bitfield uses CHRFLAG_# defines -//===========================================================================*/ -#define chr_flags_set_off_ID 0xA1 -#define chr_flags_set_off_LENGTH 0x06 -#define chr_flags_set_off(chr_num, bitfield) \ - chr_flags_set_off_ID, \ - chr_num, \ - chararray32(bitfield), - -/*============================================================================= -// name: if_chr_flags_is_set_on -// command id: A2 -// info: if bits is set on in chr->chrflags, goto label -//============================================================================= -// note: chr->chrflags are not ai list or setup exclusive, they are controlled -// by many parts of the engine. bitfield uses CHRFLAG_# defines -//===========================================================================*/ -#define if_chr_flags_is_set_on_ID 0xA2 -#define if_chr_flags_is_set_on_LENGTH 0x07 -#define if_chr_flags_is_set_on(chr_num, bitfield, label) \ - if_chr_flags_is_set_on_ID, \ - chr_num, \ - chararray32(bitfield), \ - label, - -/*============================================================================= -// name: object_flags_1_set_on -// command id: A3 -// info: set object->propflags on -//============================================================================= -// note: bitfield uses PROPFLAG_# defines -//===========================================================================*/ -#define object_flags_1_set_on_ID 0xA3 -#define object_flags_1_set_on_LENGTH 0x06 -#define object_flags_1_set_on(object_tag, bitfield) \ - object_flags_1_set_on_ID, \ - object_tag, \ - chararray32(bitfield), - -/*============================================================================= -// name: object_flags_1_set_off -// command id: A4 -// info: set object->propflags off -//============================================================================= -// note: bitfield uses PROPFLAG_# defines -//===========================================================================*/ -#define object_flags_1_set_off_ID 0xA4 -#define object_flags_1_set_off_LENGTH 0x06 -#define object_flags_1_set_off(object_tag, bitfield) \ - object_flags_1_set_off_ID, \ - object_tag, \ - chararray32(bitfield), - -/*============================================================================= -// name: if_object_flags_1_is_set_on -// command id: A5 -// info: if bits is set on in object->propflags, goto label -//============================================================================= -// note: bitfield uses PROPFLAG_# defines -//===========================================================================*/ -#define if_object_flags_1_is_set_on_ID 0xA5 -#define if_object_flags_1_is_set_on_LENGTH 0x07 -#define if_object_flags_1_is_set_on(object_tag, bitfield, label) \ - if_object_flags_1_is_set_on_ID, \ - object_tag, \ - chararray32(bitfield), \ - label, - -/*============================================================================= -// name: object_flags_2_set_on -// command id: A6 -// info: set object->propflags2 on -//============================================================================= -// note: bitfield uses PROPFLAG2_# defines -//===========================================================================*/ -#define object_flags_2_set_on_ID 0xA6 -#define object_flags_2_set_on_LENGTH 0x06 -#define object_flags_2_set_on(object_tag, bitfield) \ - object_flags_2_set_on_ID, \ - object_tag, \ - chararray32(bitfield), - -/*============================================================================= -// name: object_flags_2_set_off -// command id: A7 -// info: set object->propflags2 off -//============================================================================= -// note: bitfield uses PROPFLAG2_# defines -//===========================================================================*/ -#define object_flags_2_set_off_ID 0xA7 -#define object_flags_2_set_off_LENGTH 0x06 -#define object_flags_2_set_off(object_tag, bitfield) \ - object_flags_2_set_off_ID, \ - object_tag, \ - chararray32(bitfield), - -/*============================================================================= -// name: if_object_flags_2_is_set_on -// command id: A8 -// info: if bits is set on in object->propflags2, goto label -//============================================================================= -// note: bitfield uses PROPFLAG2_# defines -//===========================================================================*/ -#define if_object_flags_2_is_set_on_ID 0xA8 -#define if_object_flags_2_is_set_on_LENGTH 0x07 -#define if_object_flags_2_is_set_on(object_tag, bitfield, label) \ - if_object_flags_2_is_set_on_ID, \ - object_tag, \ - chararray32(bitfield), \ - label, - -/*============================================================================= -// name: guard_set_chr_preset -// command id: A9 -// info: set guard->chrpreset1 to chr_preset -//============================================================================= -// note: can be used by obj ai lists -//===========================================================================*/ -#define guard_set_chr_preset_ID 0xA9 -#define guard_set_chr_preset_LENGTH 0x02 -#define guard_set_chr_preset(chr_preset) \ - guard_set_chr_preset_ID, \ - chr_preset, - -/*============================================================================= -// name: chr_set_chr_preset -// command id: AA -// info: set chr->chrpreset1 to chr_preset -//===========================================================================*/ -#define chr_set_chr_preset_ID 0xAA -#define chr_set_chr_preset_LENGTH 0x03 -#define chr_set_chr_preset(chr_num, chr_preset) \ - chr_set_chr_preset_ID, \ - chr_num, \ - chr_preset, - -/*============================================================================= -// name: guard_set_pad_preset -// command id: AB -// info: set guard->padpreset1 to pad_preset -//============================================================================= -// note: can be used by obj ai lists -//===========================================================================*/ -#define guard_set_pad_preset_ID 0xAB -#define guard_set_pad_preset_LENGTH 0x03 -#define guard_set_pad_preset(chr_preset) \ - guard_set_pad_preset_ID, \ - chrarray16(pad_preset), - -/*============================================================================= -// name: chr_set_pad_preset -// command id: AC -// info: set chr->padpreset1 to pad_preset -//===========================================================================*/ -#define chr_set_pad_preset_ID 0xAC -#define chr_set_pad_preset_LENGTH 0x04 -#define chr_set_pad_preset(chr_num, chr_preset) \ - chr_set_pad_preset_ID, \ - chr_num, \ - chrarray16(pad_preset), - -/*============================================================================= -// name: debug_log -// command id: AD -// info: debug comment -//============================================================================= -// note: may have originally printed to stderr on host sgi devkit. command is -// variable length must end with null terminator character '\0' (debug_log_end) -//===========================================================================*/ -#define debug_log_ID 0xAD -#define debug_log_LENGTH 0x32 // max length -#define debug_log \ - debug_log_ID, - -/*============================================================================= -// name: local_timer_reset_start -// command id: AE -// info: reset and start chr->timer60 -//============================================================================= -// note: local timer is different to hud countdown. local timer is unique for each chr, -// while hud countdown is global for the entire mission. chr->timer60 only counts up -//===========================================================================*/ -#define local_timer_reset_start_ID 0xAE -#define local_timer_reset_start_LENGTH 0x01 -#define local_timer_reset_start \ - local_timer_reset_start_ID, - -/*============================================================================= -// name: local_timer_reset -// command id: AF -// info: reset chr->timer60 -//============================================================================= -// note: local timer is different to hud countdown. local timer is unique for each chr, -// while hud countdown is global for the entire mission. chr->timer60 only counts up -//===========================================================================*/ -#define local_timer_reset_ID 0xAF -#define local_timer_reset_LENGTH 0x01 -#define local_timer_reset \ - local_timer_reset_ID, - -/*============================================================================= -// name: local_timer_stop -// command id: B0 -// info: pauses chr->timer60 (does not reset value) -//============================================================================= -// note: local timer is different to hud countdown. local timer is unique for each chr, -// while hud countdown is global for the entire mission. chr->timer60 only counts up -//===========================================================================*/ -#define local_timer_stop_ID 0xB0 -#define local_timer_stop_LENGTH 0x01 -#define local_timer_stop \ - local_timer_stop_ID, - -/*============================================================================= -// name: local_timer_start -// command id: B1 -// info: start chr->timer60 (does not reset value) -//============================================================================= -// note: local timer is different to hud countdown. local timer is unique for each chr, -// while hud countdown is global for the entire mission. chr->timer60 only counts up -//===========================================================================*/ -#define local_timer_start_ID 0xB1 -#define local_timer_start_LENGTH 0x01 -#define local_timer_start \ - local_timer_start_ID, - -/*============================================================================= -// name: if_local_timer_has_stopped -// command id: B2 -// info: if chr->timer60 is not active (paused), goto label -//============================================================================= -// note: by default, chr->timer60 is inactive -//===========================================================================*/ -#define if_local_timer_has_stopped_ID 0xB2 -#define if_local_timer_has_stopped_LENGTH 0x02 -#define if_local_timer_has_stopped(label) \ - if_local_timer_has_stopped_ID, \ - label, - -/*============================================================================= -// name: if_local_timer_less_than -// command id: B3 -// info: if chr->timer60 < time60, goto label -//============================================================================= -// note: time60 argument is converted to float from unsigned int and compared. -// chr->timer60 only counts up -//===========================================================================*/ -#define if_local_timer_less_than_ID 0xB3 -#define if_local_timer_less_than_LENGTH 0x05 -#define if_local_timer_less_than(time60, label) \ - if_local_timer_less_than_ID, \ - chararray24(time60), \ - label, - -/*============================================================================= -// name: if_local_timer_greater_than -// command id: B4 -// info: if chr->timer60 > time60, goto label -//============================================================================= -// note: time60 argument is converted to float from unsigned int and compared. -// chr->timer60 only counts up -//===========================================================================*/ -#define if_local_timer_greater_than_ID 0xB4 -#define if_local_timer_greater_than_LENGTH 0x05 -#define if_local_timer_greater_than(time60, label) \ - if_local_timer_greater_than_ID, \ - chararray24(time60), \ - label, - -/*============================================================================= -// name: hud_countdown_show -// command id: B5 -//============================================================================= -// info: shows the hud countdown -//===========================================================================*/ -#define hud_countdown_show_ID 0xB5 -#define hud_countdown_show_LENGTH 0x01 -#define hud_countdown_show \ - hud_countdown_show_ID, - -/*============================================================================= -// name: hud_countdown_hide -// command id: B6 -// info: hides the hud countdown -//============================================================================= -// note: can be used as a hidden global timer for objective logic -//===========================================================================*/ -#define hud_countdown_hide_ID 0xB6 -#define hud_countdown_hide_LENGTH 0x01 -#define hud_countdown_hide \ - hud_countdown_hide_ID, - -/*============================================================================= -// name: hud_countdown_set -// command id: B7 -// info: set the hud countdown -//============================================================================= -// note: to make the timer count up, set to 0 and start timer -//===========================================================================*/ -#define hud_countdown_set_ID 0xB7 -#define hud_countdown_set_LENGTH 0x03 -#define hud_countdown_set(seconds) \ - hud_countdown_set_ID, \ - chararray16(seconds), - -/*============================================================================= -// name: hud_countdown_stop -// command id: B8 -// info: stops the hud countdown -//===========================================================================*/ -#define hud_countdown_stop_ID 0xB8 -#define hud_countdown_stop_LENGTH 0x01 -#define hud_countdown_stop \ - hud_countdown_stop_ID, - -/*============================================================================= -// name: hud_countdown_start -// command id: B9 -// info: start the hud countdown -//===========================================================================*/ -#define hud_countdown_start_ID 0xB9 -#define hud_countdown_start_LENGTH 0x01 -#define hud_countdown_start \ - hud_countdown_start_ID, - -/*============================================================================= -// name: if_hud_countdown_has_stopped -// command id: BA -// info: if hud countdown isn't active (paused), goto label -//============================================================================= -// note: by default, hud countdown is inactive -//===========================================================================*/ -#define if_hud_countdown_has_stopped_ID 0xBA -#define if_hud_countdown_has_stopped_LENGTH 0x02 -#define if_hud_countdown_has_stopped(label) \ - if_hud_countdown_has_stopped_ID, \ - label, - -/*============================================================================= -// name: if_hud_countdown_less_than -// command id: BB -// info: if hud countdown < seconds, goto label -//============================================================================= -// note: if seconds argument is 0, it will only goto label if timer is less than -// zero (counting up). seconds value is unsigned and can't test negative values -//===========================================================================*/ -#define if_hud_countdown_less_than_ID 0xBB -#define if_hud_countdown_less_than_LENGTH 0x04 -#define if_hud_countdown_less_than(seconds, label) \ - if_hud_countdown_less_than_ID, \ - chararray16(seconds), \ - label, - -/*============================================================================= -// name: if_hud_countdown_greater_than -// command id: BC -// info: if hud countdown > seconds, goto label -//============================================================================= -// note: if seconds argument is 0, it will only goto label if timer is greater than -// zero (counting down). seconds value is unsigned and can't test negative values -//===========================================================================*/ -#define if_hud_countdown_greater_than_ID 0xBC -#define if_hud_countdown_greater_than_LENGTH 0x04 -#define if_hud_countdown_greater_than(seconds, label) \ - if_hud_countdown_greater_than_ID, \ - chararray16(seconds), \ - label, - -/*============================================================================= -// name: chr_try_spawning_at_pad -// command id: BD -// info: spawn chr at pad, goto label if successful -//============================================================================= -// note: if out of memory/can't spawn chr, do not got label. if pad is blocked, -// attempt to spawn chr around pad. bitfield uses SPAWN_# defines -//===========================================================================*/ -#define chr_try_spawning_at_pad_ID 0xBD -#define chr_try_spawning_at_pad_LENGTH 0x0C -#define chr_try_spawning_at_pad(body_num, head_num, pad, ai_list, bitfield, label) \ - chr_try_spawning_at_pad_ID, \ - body_num, \ - head_num, \ - chararray16(pad), \ - chararray16(ai_list), \ - chararray32(bitfield), \ - label, - -/*============================================================================= -// name: chr_try_spawning_next_to_unseen_chr -// command id: BE -// info: spawn a chr next to another chr, goto label if successful -//============================================================================= -// note: if out of memory/can't spawn chr, do not got label. bitfield uses SPAWN_# defines. -// target chr must still exist in level or else command will crash. command will -// not spawn chr if target chr has been seen before (CHRFLAG_HAS_BEEN_ON_SCREEN) -//===========================================================================*/ -#define chr_try_spawning_next_to_unseen_chr_ID 0xBE -#define chr_try_spawning_next_to_unseen_chr_LENGTH 0x0B -#define chr_try_spawning_next_to_unseen_chr(body_num, head_num, chr_num_target, ai_list, bitfield, label) \ - chr_try_spawning_next_to_unseen_chr_ID, \ - body_num, \ - head_num, \ - chr_num_target, \ - chararray16(ai_list), \ - chararray32(bitfield), \ - label, - -/*============================================================================= -// name: guard_try_spawning_item -// command id: BF -// info: spawn weapon for guard, goto label if successful -//============================================================================= -// note: if out of memory/can't spawn item/hands occupied, do not got label. -// spawned prop must have a holding position command within the model file, -// else use conceal flag so guard does not attempt to hold prop -//===========================================================================*/ -#define guard_try_spawning_item_ID 0xBF -#define guard_try_spawning_item_LENGTH 0x09 -#define guard_try_spawning_item(prop_num, item_num, prop_bitfield, label) \ - guard_try_spawning_item_ID, \ - chararray16(prop_num), \ - item_num, \ - chararray32(prop_bitfield), \ - label, - -/*============================================================================= -// name: guard_try_spawning_hat -// command id: C0 -// info: spawn hat for guard, goto label if successful -//============================================================================= -// note: if out of memory/can't spawn item/already have hat, do not got label. -// spawned hat must have a holding position command within the model file -//===========================================================================*/ -#define guard_try_spawning_hat_ID 0xC0 -#define guard_try_spawning_hat_LENGTH 0x08 -#define guard_try_spawning_hat(prop_num, prop_bitfield, label) \ - guard_try_spawning_hat_ID, \ - chararray16(prop_num), \ - chararray32(prop_bitfield), \ - label, - -/*============================================================================= -// name: chr_try_spawning_clone -// command id: C1 -// info: if guard has clone flag on, spawn a new guard - goto label if successful -//============================================================================= -// note: clone flag is stored in chr->chrflags which is assigned at setup init. -// newly spawned guard is placed in front of original guard -//===========================================================================*/ -#define chr_try_spawning_clone_ID 0xC1 -#define chr_try_spawning_clone_LENGTH 0x05 -#define chr_try_spawning_clone(chr_num, ai_list, label) \ - chr_try_spawning_clone_ID, \ - chr_num, \ - chararray16(ai_list), \ - label, - -/*============================================================================= -// name: text_print_bottom -// command id: C2 -// info: print text slot to bottom left part of screen (where pickup text is located) -//============================================================================= -// note: if text slot is not currently allocated in memory, game will softlock. -// expects string to end with \n character -//===========================================================================*/ -#define text_print_bottom_ID 0xC2 -#define text_print_bottom_LENGTH 0x03 -#define text_print_bottom(text_slot) \ - text_print_bottom_ID, \ - chrarray16(text_slot), - -/*============================================================================= -// name: text_print_top -// command id: C3 -// info: print text slot to top part of screen -//============================================================================= -// note: if text slot is not currently allocated in memory, game will softlock. -// ensure that end of text has a \n character or text background will be misaligned -//===========================================================================*/ -#define text_print_top_ID 0xC3 -#define text_print_top_LENGTH 0x03 -#define text_print_top(text_slot) \ - text_print_top_ID, \ - chrarray16(text_slot), - -/*============================================================================= -// name: sfx_play -// command id: C4 -// info: play a sound effect -//============================================================================= -// note: channel argument range is 0-7. use a channel if you plan on modifying -// sfx volume with commands C5-CA. if you don't plan on doing this, use a invalid -// channel such as -1. this will play the sfx but not bother initializing channel -// data for commands C5-CA. if a sfx is already occupying channel, retriggering -// sfx will overwrite old sfx slot data and no longer can be used by commands C5-CA -//===========================================================================*/ -#define sfx_play_ID 0xC4 -#define sfx_play_LENGTH 0x04 -#define sfx_play(sound_num, channel_num) \ - sfx_play_ID, \ - chrarray16(sound_num), \ - channel_num, - -/*============================================================================= -// name: sfx_emit_from_object -// command id: C5 -// info: set a occupied sfx channel to emit from a tagged object -//============================================================================= -// note: panning is not calculated (mono), only affects volume. decay argument -// is number of ticks to fully transition from max volume to target volume -//===========================================================================*/ -#define sfx_emit_from_object_ID 0xC5 -#define sfx_emit_from_object_LENGTH 0x05 -#define sfx_emit_from_object(channel_num, object_tag, vol_decay_time60) \ - sfx_emit_from_object_ID, \ - channel_num, \ - object_tag, \ - chararray16(vol_decay_time60), - -/*============================================================================= -// name: sfx_emit_from_pad -// command id: C6 -// info: set a occupied sfx channel to emit from a pad -//============================================================================= -// note: panning is not calculated (mono), only affects volume. decay argument -// is number of ticks to fully transition from max volume to target volume -//===========================================================================*/ -#define sfx_emit_from_pad_ID 0xC6 -#define sfx_emit_from_pad_LENGTH 0x06 -#define sfx_emit_from_pad(channel_num, pad, vol_decay_time60) \ - sfx_emit_from_pad_ID, \ - channel_num, \ - chararray16(pad), \ - chararray16(vol_decay_time60), - -/*============================================================================= -// name: sfx_set_channel_volume -// command id: C7 -// info: set occupied sfx channel's volume -//============================================================================= -// note: time argument is number of ticks to fade between current volume to -// target volume. volume argument is signed. range is 0x0000-0x7FFF -//===========================================================================*/ -#define sfx_set_channel_volume_ID 0xC7 -#define sfx_set_channel_volume_LENGTH 0x06 -#define sfx_set_channel_volume(channel_num, target_volume, transition_time60) \ - sfx_set_channel_volume_ID, \ - channel_num, \ - chararray16(target_volume), \ - chararray16(transition_time60), - -/*============================================================================= -// name: sfx_fade_channel_volume -// command id: C8 -// info: fade out occupied sfx channel's volume by volume percent -//============================================================================= -// note: time argument is number of ticks to fade between current volume to -// target volume. volume argument is signed. range is 0x0000-0x7FFF (0-100%) -//===========================================================================*/ -#define sfx_fade_channel_volume_ID 0xC8 -#define sfx_fade_channel_volume_LENGTH 0x06 -#define sfx_fade_channel_volume(channel_num, fade_volume_percent, fade_time60) \ - sfx_fade_channel_volume_ID, \ - channel_num, \ - chararray16(fade_volume_percent), \ - chararray16(fade_time60), - -/*============================================================================= -// name: sfx_stop_channel -// command id: C9 -// info: stop playing sfx in occupied sfx channel -//===========================================================================*/ -#define sfx_stop_channel_ID 0xC9 -#define sfx_stop_channel_LENGTH 0x02 -#define sfx_stop_channel(channel_num) \ - sfx_stop_channel_ID, \ - channel_num, - -/*============================================================================= -// name: if_sfx_channel_volume_less_than -// command id: CA -// info: if sfx channel's volume is < volume argument, goto label -//============================================================================= -// note: if sfx channel is free (no audio playing), goto label. volume argument -// is signed. range is 0x0000-0x7FFF -//===========================================================================*/ -#define if_sfx_channel_volume_less_than_ID 0xCA -#define if_sfx_channel_volume_less_than_LENGTH 0x05 -#define if_sfx_channel_volume_less_than(channel_num, volume, label) \ - if_sfx_channel_volume_less_than_ID, \ - channel_num, \ - chararray16(volume), \ - label, - -/*============================================================================= -// name: vehicle_start_path -// command id: CB -// info: makes vehicle follow a predefined path within setup -//===========================================================================*/ -#define vehicle_start_path_ID 0xCB -#define vehicle_start_path_LENGTH 0x02 -#define vehicle_start_path(path_num) \ - vehicle_start_path_ID, \ - path_num, - -/*============================================================================= -// name: vehicle_speed -// command id: CC -// info: sets vehicle speed, usually paired with command CB -//============================================================================= -// note: arguments are unsigned. 1000 units = 1 meter per second travel speed. -// acceleration_time60 is number of game ticks to reach top speed (lower = faster) -//===========================================================================*/ -#define vehicle_speed_ID 0xCC -#define vehicle_speed_LENGTH 0x05 -#define vehicle_speed(top_speed, acceleration_time60) \ - vehicle_speed_ID, \ - chararray16(top_speed), \ - chararray16(acceleration_time60), - -/*============================================================================= -// name: aircraft_rotor_speed -// command id: CD -// info: sets aircraft's rotor speed -//============================================================================= -// note: arguments are unsigned. argument scale is 10 units per degree, per tick. -// acceleration_time60 is number of game ticks to reach top speed (lower = faster) -//===========================================================================*/ -#define aircraft_rotor_speed_ID 0xCD -#define aircraft_rotor_speed_LENGTH 0x05 -#define aircraft_rotor_speed(rotor_speed, acceleration_time60) \ - aircraft_rotor_speed_ID, \ - chararray16(rotor_speed), \ - chararray16(acceleration_time60), - -/*============================================================================= -// name: if_camera_is_in_intro -// command id: CE -// info: if camera mode equal to INTRO_CAM/FADESWIRL_CAM (viewing mission intro), -// goto label -//============================================================================= -// note: if setup lacks intro camera structs, intro will be skipped -//===========================================================================*/ -#define if_camera_is_in_intro_ID 0xCE -#define if_camera_is_in_intro_LENGTH 0x02 -#define if_camera_is_in_intro(label) \ - if_camera_is_in_intro_ID, \ - label, - -/*============================================================================= -// name: if_camera_is_in_bond_swirl -// command id: CF -// info: if camera mode equal to SWIRL_CAM (moving to back of bond's head), goto label -//============================================================================= -// note: if setup lacks swirl points, intro swirl will be skipped -//===========================================================================*/ -#define if_camera_is_in_bond_swirl_ID 0xCF -#define if_camera_is_in_bond_swirl_LENGTH 0x02 -#define if_camera_is_in_bond_swirl(label) \ - if_camera_is_in_bond_swirl_ID, \ - label, - -/*============================================================================= -// name: tv_change_screen_bank -// command id: D0 -// info: change the screen bank of a tagged tv monitor -//============================================================================= -// note: if tagged object has multiple screens, use screen index argument to set. -// if tagged object has one screen, screen index is ignored -//===========================================================================*/ -#define tv_change_screen_bank_ID 0xD0 -#define tv_change_screen_bank_LENGTH 0x04 -#define tv_change_screen_bank(object_tag, screen_index, screen_bank) \ - tv_change_screen_bank_ID, \ - object_tag, \ - screen_index, \ - screen_bank, - -/*============================================================================= -// name: if_bond_in_tank -// command id: D1 -// info: if bond is controlling tank, goto label -//===========================================================================*/ -#define if_bond_in_tank_ID 0xD1 -#define if_bond_in_tank_LENGTH 0x02 -#define if_bond_in_tank(label) \ - if_bond_in_tank_ID, \ - label, - -/*============================================================================= -// name: exit_level -// command id: D2 -// info: exits the level -//============================================================================= -// 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 -//===========================================================================*/ -#define exit_level_ID 0xD2 -#define exit_level_LENGTH 0x01 -#define exit_level \ - exit_level_ID, - -/*============================================================================= -// name: camera_return_to_bond -// command id: D3 -// info: switch back to first person view -//============================================================================= -// 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 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 -#define camera_return_to_bond \ - camera_return_to_bond_ID, - -/*============================================================================= -// name: camera_look_at_bond_from_pad -// command id: D4 -// info: change view to pad and look at bond -//============================================================================= -// 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 -#define camera_look_at_bond_from_pad(pad) \ - camera_look_at_bond_from_pad_ID, \ - chararray16(pad), - -/*============================================================================= -// name: camera_switch -// command id: D5 -// info: change view to tagged camera's position and rotation -//============================================================================= -// 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. -// mission time is paused while in third person -//===========================================================================*/ -#define camera_switch_ID 0xD5 -#define camera_switch_LENGTH 0x06 -#define camera_switch(object_tag, look_at_bond_flag, unused_flag) \ - camera_switch_ID, \ - object_tag, \ - chararray16(look_at_bond_flag), \ - chararray16(unused_flag), - -/*============================================================================= -// name: if_bond_y_pos_less_than -// command id: D6 -// info: if bond's y axis position < position argument, goto label -//============================================================================= -// note: checks if bond's y axis is below the provided argument. command uses -// world units. argument is signed and scale is 1:1 to in-game position. -// bond's point of view is accounted for by command (like debug manpos) -//===========================================================================*/ -#define if_bond_y_pos_less_than_ID 0xD6 -#define if_bond_y_pos_less_than_LENGTH 0x04 -#define if_bond_y_pos_less_than(y_pos, label) \ - if_bond_y_pos_less_than_ID, \ - chararray16(y_pos), \ - label, - -/*============================================================================= -// name: hud_hide_and_lock_controls_and_pause_mission_time -// command id: D7 -// 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/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_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_and_unlock_controls_and_resume_mission_time -// command id: D8 -// info: show all hud elements, unlock player control and resume mission time -//============================================================================= -// note: should only be executed after D7 command -//===========================================================================*/ -#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 -// command id: D9 -// info: teleport chr to pad, goto label if successful -//===========================================================================*/ -#define chr_try_teleporting_to_pad_ID 0xD9 -#define chr_try_teleporting_to_pad_LENGTH 0x05 -#define chr_try_teleporting_to_pad(chr_num, pad, label) \ - chr_try_teleporting_to_pad_ID, \ - chr_num, \ - chrarray16(pad), \ - label, - -/*============================================================================= -// name: screen_fade_to_black -// command id: DA -// info: fades the screen out to black -//============================================================================= -// note: fade duration is 1 second -//===========================================================================*/ -#define screen_fade_to_black_ID 0xDA -#define screen_fade_to_black_LENGTH 0x01 -#define screen_fade_to_black \ - screen_fade_to_black_ID, - -/*============================================================================= -// name: screen_fade_from_black -// command id: DB -// info: fades the screen from black -//============================================================================= -// note: fade duration is 1 second -//===========================================================================*/ -#define screen_fade_from_black_ID 0xDB -#define screen_fade_from_black_LENGTH 0x01 -#define screen_fade_from_black \ - screen_fade_from_black_ID, - -/*============================================================================= -// name: if_screen_fade_completed -// command id: DC -// info: when screen fade has completed (from/to black), goto label -//============================================================================= -// note: fade duration is 1 second -//===========================================================================*/ -#define if_screen_fade_completed_ID 0xDC -#define if_screen_fade_completed_LENGTH 0x02 -#define if_screen_fade_completed(label) \ - if_screen_fade_completed_ID, \ - label, - -/*============================================================================= -// name: chr_hide_all -// command id: DD -// info: hide all characters in level - including bond's third person model. -// execute this before switching to exit camera or bond will disappear -//============================================================================= -// note: hidden characters will halt their ai list execution until unhidden -//===========================================================================*/ -#define chr_hide_all_ID 0xDD -#define chr_hide_all_LENGTH 0x01 -#define chr_hide_all \ - chr_hide_all_ID, - -/*============================================================================= -// name: chr_show_all -// command id: DE -// info: show all characters previously hidden by command DD -//===========================================================================*/ -#define chr_show_all_ID 0xDE -#define chr_show_all_LENGTH 0x01 -#define chr_show_all \ - chr_show_all_ID, - -/*============================================================================= -// name: door_open_instant -// command id: DF -// info: instantly open tagged door -//============================================================================= -// note: mostly used for cutscenes, doesn't trigger door opening sfx. open tagged -// door even if locked -//===========================================================================*/ -#define door_open_instant_ID 0xDF -#define door_open_instant_LENGTH 0x02 -#define door_open_instant(object_tag) \ - door_open_instant_ID, \ - object_tag, - -/*============================================================================= -// name: chr_remove_item_in_hand -// command id: E0 -// info: remove the item held by hand index -//============================================================================= -// note: does not drop item, instead clears holding item flag for hand index -//===========================================================================*/ -#define chr_remove_item_in_hand_ID 0xE0 -#define chr_remove_item_in_hand_LENGTH 0x03 -#define chr_remove_item_in_hand(chr_num, hand_index) \ - chr_remove_item_in_hand_ID, \ - chr_num, \ - hand_index, - -/*============================================================================= -// name: if_number_of_active_players_less_than -// command id: E1 -// info: if the number of active players < argument, goto label -//============================================================================= -// note: single player always has a total of active players set to 1 -//===========================================================================*/ -#define if_number_of_active_players_less_than_ID 0xE1 -#define if_number_of_active_players_less_than_LENGTH 0x03 -#define if_number_of_active_players_less_than(number, label) \ - if_number_of_active_players_less_than_ID, \ - number, \ - label, - -/*============================================================================= -// name: if_bond_item_total_ammo_less_than -// command id: E2 -// info: if bond's total ammo for item < ammo_total argument, goto label -//============================================================================= -// note: ammo_total argument is signed. total ammo also accounts for loaded gun -//===========================================================================*/ -#define if_bond_item_total_ammo_less_than_ID 0xE2 -#define if_bond_item_total_ammo_less_than_LENGTH 0x04 -#define if_bond_item_total_ammo_less_than(item_num, ammo_total, label) \ - if_bond_item_total_ammo_less_than_ID, \ - item_num, \ - ammo_total, \ - label, - -/*============================================================================= -// name: bond_equip_item -// command id: E3 -// info: forces bond to equip an item - only works in first person -//============================================================================= -// note: can be used for any item, even if bond doesn't have it in inventory -//===========================================================================*/ -#define bond_equip_item_ID 0xE3 -#define bond_equip_item_LENGTH 0x02 -#define bond_equip_item(item_num) \ - bond_equip_item_ID, \ - item_num, - -/*============================================================================= -// name: bond_equip_item_cinema -// command id: E4 -// info: forces bond to equip an item - only works in third person (cinema) -//============================================================================= -// note: can be used for any item, even if bond doesn't have it in inventory -//===========================================================================*/ -#define bond_equip_item_cinema_ID 0xE4 -#define bond_equip_item_cinema_LENGTH 0x02 -#define bond_equip_item_cinema(item_num) \ - bond_equip_item_cinema_ID, \ - item_num, - -/*============================================================================= -// name: bond_set_locked_velocity -// command id: E5 -// info: forces bond to move in X/Z direction -//============================================================================= -// note: only works when bond has been locked by command D7. used for dam jump. -// argument is signed and scale is 1:1 to in-game position. speed is number of -// world units per tick -//===========================================================================*/ -#define bond_set_locked_velocity_ID 0xE5 -#define bond_set_locked_velocity_LENGTH 0x03 -#define bond_set_locked_velocity(x_speed60, z_speed60) \ - bond_set_locked_velocity_ID, \ - x_speed60, \ - z_speed60, - -/*============================================================================= -// name: if_object_in_room_with_pad -// command id: E6 -// info: if tagged object in the same room with pad, goto label -//===========================================================================*/ -#define if_object_in_room_with_pad_ID 0xE6 -#define if_object_in_room_with_pad_LENGTH 0x05 -#define if_object_in_room_with_pad(object_tag, pad, label) \ - if_object_in_room_with_pad_ID, \ - object_tag, \ - chrarray16(pad), \ - label, - -/*============================================================================= -// name: if_guard_is_firing_and_unknown_flag -// command id: E7 -// info: if guard is in firing state (ACT_ATTACK) and chr->field_4C | 0x40, goto label -//===========================================================================*/ -#define if_guard_is_firing_and_unknown_flag_ID 0xE7 -#define if_guard_is_firing_and_unknown_flag_LENGTH 0x02 -#define if_guard_is_firing_and_unknown_flag(label) \ - if_guard_is_firing_and_unknown_flag_ID, \ - label, - -/*============================================================================= -// name: if_guard_is_firing -// command id: E8 -// info: if guard is in firing state (ACT_ATTACK), goto label -//===========================================================================*/ -#define if_guard_is_firing_ID 0xE8 -#define if_guard_is_firing_LENGTH 0x02 -#define if_guard_is_firing(label) \ - if_guard_is_firing_ID, \ - label, - -/*============================================================================= -// name: gas_leak_and_switch_fog -// command id: E9 -// info: trigger gas leak event and instantly switch fog to the next fog's slot -//============================================================================= -// note: this command triggers a gas leak. for the level egypt, this command -// will not trigger a gas leak, but instead will only switch the fog. this -// command can't be stopped after executing. level must have a fog assigned -// or will crash! -//===========================================================================*/ -#define gas_leak_and_switch_fog_ID 0xE9 -#define gas_leak_and_switch_fog_LENGTH 0x01 -#define gas_leak_and_switch_fog \ - gas_leak_and_switch_fog_ID, - -/*============================================================================= -// name: trigger_fade_and_exit_level_on_button_press -// command id: EA -// 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 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 -// command id: EB -// info: if bond has died/been killed, goto label -//===========================================================================*/ -#define if_bond_is_dead_ID 0xEB -#define if_bond_is_dead_LENGTH 0x02 -#define if_bond_is_dead(label) \ - if_bond_is_dead_ID, \ - label, - -/*============================================================================= -// name: bond_disable_damage_and_pickups -// command id: EC -// info: disables bond damage and ability to pick up items -//============================================================================= -// note: commonly used for level exit ai lists - prevents bond dying after -// triggering exit cutscene. use command F3 to check if flag is set on -//===========================================================================*/ -#define bond_disable_damage_and_pickups_ID 0xEC -#define bond_disable_damage_and_pickups_LENGTH 0x01 -#define bond_disable_damage_and_pickups \ - bond_disable_damage_and_pickups_ID, - -/*============================================================================= -// name: bond_hide_weapons -// command id: ED -// info: set bond's left/right weapons to be invisible -//===========================================================================*/ -#define bond_hide_weapons_ID 0xED -#define bond_hide_weapons_LENGTH 0x01 -#define bond_hide_weapons \ - bond_hide_weapons_ID, - -/*============================================================================= -// name: camera_orbit_pad -// command id: EE -// info: change view to orbit a pad with set speed -//============================================================================= -// 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 -// orbit_speed: speed to orbit around pad, argument is signed. unit format uses -// compass direction like target commands (14-17). generally stick -// to a low range as it is used for delta timing (0100-FF00) -// pad: pad for camera to target and orbit around -// 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 -#define camera_orbit_pad(lat_distance, vert_distance, orbit_speed60, pad, y_pos_offset, initial_rotation) \ - camera_orbit_pad_ID, \ - chararray16(lat_distance), \ - chararray16(vert_distance), \ - chararray16(orbit_speed60), \ - chararray16(pad), \ - chararray16(y_pos_offset), \ - chararray16(initial_rotation), - -/*============================================================================= -// name: credits_roll -// command id: EF -// info: trigger credits crawl -//============================================================================= -// note: credits text and positions are stored in setup intro struct -//===========================================================================*/ -#define credits_roll_ID 0xEF -#define credits_roll_LENGTH 0x01 -#define credits_roll \ - credits_roll_ID, - -/*============================================================================= -// name: if_credits_has_completed -// command id: F0 -// info: credits crawl has finished, goto label -//===========================================================================*/ -#define if_credits_has_completed_ID 0xF0 -#define if_credits_has_completed_LENGTH 0x02 -#define if_credits_has_completed(label) \ - if_credits_has_completed_ID, \ - label, - -/*============================================================================= -// name: if_objective_all_completed -// command id: F1 -// info: if all objectives for current difficulty has been completed, goto label -//============================================================================= -// note: uses objective difficulty settings within setup, briefing file settings -// are not referenced. ensure both setup and briefing files are consistent -//===========================================================================*/ -#define if_objective_all_completed_ID 0xF1 -#define if_objective_all_completed_LENGTH 0x02 -#define if_objective_all_completed(label) \ - if_objective_all_completed_ID, \ - label, - -/*============================================================================= -// name: if_folder_actor_is_equal -// command id: F2 -// info: if current bond equal to folder actor index, goto label -//============================================================================= -// note: in retail release only index 0 works. originally this would have checked -// which bond (brosnan/connery/moore/dalton) is currently used, with each briefing -// folder using a different bond likeness in-game. however rare didn't have the -// license to use the other actor's faces so this feature was removed. -// command is only used for cuba (credits) -//===========================================================================*/ -#define if_folder_actor_is_equal_ID 0xF2 -#define if_folder_actor_is_equal_LENGTH 0x03 -#define if_folder_actor_is_equal(bond_actor_index, label) \ - if_folder_actor_is_equal_ID, \ - bond_actor_index, \ - label, - -/*============================================================================= -// name: if_bond_damage_and_pickups_disabled -// command id: F3 -// info: if bond damage and ability to pick up items disabled, goto label -//============================================================================= -// note: used to check when bond has exited level, usually to stop guards from -// spawning during mission cinema. use command EC to set state on -//===========================================================================*/ -#define if_bond_damage_and_pickups_disabled_ID 0xF3 -#define if_bond_damage_and_pickups_disabled_LENGTH 0x02 -#define if_bond_damage_and_pickups_disabled(label) \ - if_bond_damage_and_pickups_disabled_ID, \ - label, - -/*============================================================================= -// name: music_xtrack_play -// command id: F4 -// info: play level's x track for duration -//============================================================================= -// note: seconds arguments are unsigned, available music slots range is 0-3. -// stopped duration argument is used by command F5. when using F5 to stop a music -// slot, the xtrack will continue to play until this or total time reaches 0. -// if you don't want this to happen, set the seconds stopped duration argument to 0 -//===========================================================================*/ -#define music_xtrack_play_ID 0xF4 -#define music_xtrack_play_LENGTH 0x04 -#define music_xtrack_play(music_slot, seconds_stopped_duration, seconds_total_duration) \ - music_xtrack_play_ID, \ - music_slot, \ - seconds_stopped_duration, \ - seconds_total_duration, - -/*============================================================================= -// name: music_xtrack_stop -// command id: F5 -// info: stop currently playing x track in slot -//============================================================================= -// note: music slots range is 0-3. use slot -1 to stop all xtrack slots instantly. -// when stopping a music slot, it will let the track continue to play until the -// seconds stopped duration time or total time (set by command F4) reaches zero. -// this is ignored when using music slot -1 -//===========================================================================*/ -#define music_xtrack_stop_ID 0xF5 -#define music_xtrack_stop_LENGTH 0x02 -#define music_xtrack_stop(music_slot) \ - music_xtrack_stop_ID, \ - music_slot, - -/*============================================================================= -// name: trigger_explosions_around_bond -// command id: F6 -// info: triggers explosions around the player, will continue forever -//============================================================================= -// note: does not trigger level exit or killed in action state -//===========================================================================*/ -#define trigger_explosions_around_bond_ID 0xF6 -#define trigger_explosions_around_bond_LENGTH 0x01 -#define trigger_explosions_around_bond \ - trigger_explosions_around_bond_ID, - -/*============================================================================= -// name: if_killed_civilians_greater_than -// command id: F7 -// info: if total civilians killed > argument, goto label -//============================================================================= -// note: guards flagged with CHRFLAG_COUNT_DEATH_AS_CIVILIAN will count towards -// total when killed. usually set for scientists/civilians/innocent NPCs -//===========================================================================*/ -#define if_killed_civilians_greater_than_ID 0xF7 -#define if_killed_civilians_greater_than_LENGTH 0x03 -#define if_killed_civilians_greater_than(civilians_killed, label) \ - if_killed_civilians_greater_than_ID, \ - civilians_killed, \ - label, - -/*============================================================================= -// name: if_chr_was_shot_since_last_check -// command id: F8 -// info: if chr was shot since last check, goto label -//============================================================================= -// note: checks chr->chrflags if CHRFLAG_WAS_HIT is set. if true, unset flag and -// goto label. CHRFLAG_WAS_HIT is set even if guard is invincible -//===========================================================================*/ -#define if_chr_was_shot_since_last_check_ID 0xF8 -#define if_chr_was_shot_since_last_check_LENGTH 0x03 -#define if_chr_was_shot_since_last_check(chr_num, label) \ - if_chr_was_shot_since_last_check_ID, \ - chr_num, \ - label, - -/*============================================================================= -// name: bond_killed_in_action -// command id: F9 -// info: sets briefing status to killed in action, automatic mission failure -//============================================================================= -// note: does not kill the player, only changes the mission status -//===========================================================================*/ -#define bond_killed_in_action_ID 0xF9 -#define bond_killed_in_action_LENGTH 0x01 -#define bond_killed_in_action \ - bond_killed_in_action_ID, - -/*============================================================================= -// name: guard_raises_arms -// command id: FA -// info: makes guard raise their arms for half a second -//===========================================================================*/ -#define guard_raises_arms_ID 0xFA -#define guard_raises_arms_LENGTH 0x01 -#define guard_raises_arms \ - guard_raises_arms_ID, - -/*============================================================================= -// name: gas_leak_and_fade_fog -// command id: FB -// info: trigger gas leak event and slowly transition fog to the next fog's slot -//============================================================================= -// note: this command triggers a gas leak. for the level egypt, this command -// will not trigger a gas leak, but instead will only transition the fog. -// this command can't be stopped after executing. level must have a fog assigned -// or will crash! -//===========================================================================*/ -#define gas_leak_and_fade_fog_ID 0xFB -#define gas_leak_and_fade_fog_LENGTH 0x01 -#define gas_leak_and_fade_fog \ - gas_leak_and_fade_fog_ID, - -/*============================================================================= -// name: object_rocket_launch -// command id: FC -// info: launch a tagged object like a rocket -//============================================================================= -// note: if tagged object can't be turned upright, object will be destroyed instead. -// can be used to drop attached props -//===========================================================================*/ -#define object_rocket_launch_ID 0xFC -#define object_rocket_launch_LENGTH 0x02 -#define object_rocket_launch(object_tag) \ - object_rocket_launch_ID, \ - object_tag, - -#endif diff --git a/src/bondconstants.h b/src/bondconstants.h deleted file mode 100644 index ae25bf6..0000000 --- a/src/bondconstants.h +++ /dev/null @@ -1,1386 +0,0 @@ -#ifndef _BONDCONSTANTS_H_ -#define _BONDCONSTANTS_H_ -#include "ultra64.h" - -#define GAME_TICKRATE 60 -#define SECS_TO_TIMER60(SECS) (SECS * GAME_TICKRATE) -#define MINS_TO_TIMER60(MINS) (SECS_TO_TIMER60(MINS * GAME_TICKRATE)) - -/* special chr num IDs */ -#define CHR_BOND_CINEMA -8 /* only works when bond has a third person model (intro/exit cutscene) */ -#define CHR_CLONE -7 -#define CHR_SEE_SHOT -6 /* stored as chr->chrseeshot */ -#define CHR_SEE_DIE -5 /* stored as chr->chrseedie */ -#define CHR_PRESET -4 /* stored as chr->chrpreset1 */ -#define CHR_SELF -3 - -/* private chr ID, cannot be accessed with ai commands */ -#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 10000 /* default chr num for cloed guards with ai command C1 */ - -#define PAD_PRESET 9000 /* stored as chr->padpreset1 */ - -#define OBJECTIVES_MAX 10 - -typedef u16 PAD; -typedef u16 PADEXTRA; - -#define PADEXTRA_START 10000 -#define PADEX(PAD) (PAD + PADEXTRA_START) /* used for setups */ - -typedef enum RGBA_ENUM { - RED = 0, - GREEN, - BLUE, - ALPHA -} RGBA_ENUM; - -typedef enum MISSION_BRIEFING { - BRIEF_OVERVIEW = 0, - BRIEF_M, - BRIEF_Q, - BRIEF_MONEYPENNY -} MISSION_BRIEFING; - -typedef enum DIFFICULTY { - DIFFICULTY_AGENT = 0, - DIFFICULTY_SECRET, - DIFFICULTY_00, - DIFFICULTY_007, - DIFFICULTY_MULTI = 0xFFFFFFFF -} DIFFICULTY; - -typedef enum LEVELID { - LEVELID_BUNKER1 = 0x9, - LEVELID_SILO = 0x14, - LEVELID_STATUE = 0x16, - LEVELID_CONTROL = 0x17, - LEVELID_ARCHIVES = 0x18, - LEVELID_TRAIN = 0x19, - LEVELID_FRIGATE = 0x1A, - LEVELID_BUNKER2 = 0x1B, - LEVELID_AZTEC = 0x1C, - LEVELID_STREETS = 0x1D, - LEVELID_DEPOT = 0x1E, - LEVELID_COMPLEX = 0x1F, - LEVELID_EGYPT = 0x20, - LEVELID_DAM = 0x21, - LEVELID_FACILITY = 0x22, - LEVELID_RUNWAY = 0x23, - LEVELID_SURFACE = 0x24, - LEVELID_JUNGLE = 0x25, - LEVELID_TEMPLE = 0x26, - LEVELID_CAVERNS = 0x27, - LEVELID_CITADEL = 0x28, - LEVELID_CRADLE = 0x29, - LEVELID_SHO = 0x2A, - LEVELID_SURFACE2 = 0x2B, - LEVELID_ELD = 0x2C, - LEVELID_BASEMENT = 0x2D, - LEVELID_STACK = 0x2E, - LEVELID_LUE = 0x2F, - LEVELID_LIBRARY = 0x30, - LEVELID_RIT = 0x31, - LEVELID_CAVES = 0x32, - LEVELID_EAR = 0x33, - LEVELID_LEE = 0x34, - LEVELID_LIP = 0x35, - LEVELID_CUBA = 0x36, - LEVELID_WAX = 0x37, - LEVELID_PAM = 0x38, - LEVELID_MAX = 0x39, - LEVELID_TITLE = 0x5A, - LEVELID_NONE = 0xFFFFFFFF -} LEVELID; - -typedef enum LEVEL_SOLO_SEQUENCE -{ - SP_LEVEL_DAM = 0x1, - SP_LEVEL_FACILITY, - SP_LEVEL_RUNWAY, - SP_LEVEL_SURFACE1, - SP_LEVEL_BUNKER1, - SP_LEVEL_SILO, - SP_LEVEL_FRIGATE, - SP_LEVEL_SURFACE2, - SP_LEVEL_BUNKER2, - SP_LEVEL_STATUE, - SP_LEVEL_ARCHIVES, - SP_LEVEL_STREETS, - SP_LEVEL_DEPOT, - SP_LEVEL_TRAIN, - SP_LEVEL_JUNGLE, - SP_LEVEL_CONTROL, - SP_LEVEL_CAVERNS, - SP_LEVEL_CRADLE, - SP_LEVEL_AZTEC, - SP_LEVEL_EGYPT -} LEVEL_SOLO_SEQUENCE; - -typedef enum LEVEL_INDEX -{ - LEVEL_INDEX_SEVBUNKER = 0x0, - LEVEL_INDEX_SILO = 0x1, - LEVEL_INDEX_STATUE = 0x2, - LEVEL_INDEX_CONTROL = 0x3, - LEVEL_INDEX_ARCH = 0x4, - LEVEL_INDEX_TRA = 0x5, - LEVEL_INDEX_DEST = 0x6, - LEVEL_INDEX_SEVB = 0x7, - LEVEL_INDEX_AZT = 0x8, - LEVEL_INDEX_PETE = 0x9, - LEVEL_INDEX_DEPO = 0xA, - LEVEL_INDEX_REF = 0xB, - LEVEL_INDEX_CRYP = 0xC, - LEVEL_INDEX_DAM = 0xD, - LEVEL_INDEX_ARK = 0xE, - LEVEL_INDEX_RUN = 0xF, - LEVEL_INDEX_SEVX = 0x10, - LEVEL_INDEX_JUN = 0x11, - LEVEL_INDEX_DISH = 0x12, - LEVEL_INDEX_CAVE = 0x13, - LEVEL_INDEX_CAT = 0x14, - LEVEL_INDEX_CRAD = 0x15, - LEVEL_INDEX_SHO = 0x16, - LEVEL_INDEX_SEVXB = 0x17, - LEVEL_INDEX_ELD = 0x18, - LEVEL_INDEX_IMP = 0x19, - LEVEL_INDEX_ASH = 0x1A, - LEVEL_INDEX_LUE = 0x1B, - LEVEL_INDEX_AME = 0x1C, - LEVEL_INDEX_RIT = 0x1D, - LEVEL_INDEX_OAT = 0x1E, - LEVEL_INDEX_EAR = 0x1F, - LEVEL_INDEX_LEE = 0x20, - LEVEL_INDEX_LIP = 0x21, - LEVEL_INDEX_LEN = 0x22, - LEVEL_INDEX_WAX = 0x23, - LEVEL_INDEX_PAM = 0x24, - LEVEL_INDEX_X = 0x25 -} LEVEL_INDEX; - -/* language file to slot allocation */ -#define TEXT(TEXTBANK, TEXTSLOT) ((TEXTBANK * 0x0400U) + TEXTSLOT) - -typedef enum TEXTBANK_LEVEL_INDEX -{ - LNULL = 0, /* Null (unused) */ - LAME, /* Library (multi) */ - LARCH, /* Archives */ - LARK, /* Facility */ - LASH, /* Stack (multi) */ - LAZT, /* Aztec */ - LCAT, /* Citadel (multi) */ - LCAVE, /* Caverns */ - LAREC, /* Control */ - LCRAD, /* Cradle */ - LCRYP, /* Egypt */ - LDAM, /* Dam */ - LDEPO, /* Depot */ - LDEST, /* Frigate */ - LDISH, /* Temple (multi) */ - LEAR, /* Ear (unused) */ - LELD, /* Eld (unused) */ - LIMP, /* Basement (multi) */ - LJUN, /* Jungle */ - LLEE, /* Lee (unused) */ - LLEN, /* Cuba */ - LLIP, /* Lip (unused) */ - LLUE, /* Lue (unused) */ - LOAT, /* Cave (multi) */ - LPAM, /* Pam (unused) */ - LPETE, /* Streets */ - LREF, /* Complex (multi) */ - LRIT, /* Rit (unused) */ - LRUN, /* Runway */ - LSEVB, /* Bunker 2 */ - LSEV, /* Bunker 1 */ - LSEVX, /* Surface 1 */ - LSEVXB, /* Surface 2 */ - LSHO, /* Sho (unused) */ - LSILO, /* Silo */ - LSTAT, /* Statue */ - LTRA, /* Train */ - LWAX, /* Wax (unused) */ - LGUN, /* Guns */ - LTITLE, /* Stage and menu titles */ - LMPMENU, /* Multi menus */ - LPROPOBJ, /* In-game pickups */ - LMPWEAPONS, /* Multi weapon select */ - LOPTIONS, /* Solo in-game menus */ - LMISC /* Cheat options */ -} TEXTBANK_LEVEL_INDEX; - -typedef enum MP_STAGE_SELECTED { - MP_STAGE_RANDOM = 0x0, - MP_STAGE_TEMPLE = 0x1, - MP_STAGE_COMPLEX = 0x2, - MP_STAGE_CAVES = 0x3, - MP_STAGE_LIBRARY = 0x4, - MP_STAGE_BASEMENT = 0x5, - MP_STAGE_STACK = 0x6, - MP_STAGE_FACILITY = 0x7, - MP_STAGE_BUNKER = 0x8, - MP_STAGE_ARCHIVES = 0x9, - MP_STAGE_CAVERNS = 0xA, - MP_STAGE_EGYPT = 0xB -} MP_STAGE_SELECTED; - -typedef enum GENDER {FEMALE=0, MALE } GENDER; - -typedef enum BODIES { - BODY_Jungle_Commando = 0x0, - BODY_St_Petersburg_Guard = 0x1, - BODY_Russian_Soldier = 0x2, - BODY_Russian_Infantry = 0x3, - BODY_Janus_Special_Forces = 0x4, - BODY_Tuxedo = 0x5, - BODY_Boris = 0x6, - BODY_Ourumov = 0x7, - BODY_Trevelyan_Janus = 0x8, - BODY_Trevelyan_006 = 0x9, - BODY_Valentin_ = 0xA, - BODY_Xenia = 0xB, - BODY_Baron_Samedi = 0xC, - BODY_Jaws = 0xD, - BODY_Mayday = 0xE, - BODY_Oddjob = 0xF, - BODY_Natalya_Skirt = 0x10, - BODY_Janus_Marine = 0x11, - BODY_Russian_Commandant = 0x12, - BODY_Siberian_Guard_1_Mishkin = 0x13, - BODY_Naval_Officer = 0x14, - BODY_Siberian_Special_Forces = 0x15, - BODY_Special_Operations_Uniform = 0x16, - BODY_Formal_Wear = 0x17, - BODY_Jungle_Fatigues = 0x18, - BODY_Parka = 0x19, - BODY_Unused_Female = 0x1A, - BODY_Rosika = 0x1B, - BODY_Scientist_2_Female = 0x1C, - BODY_Civilian_1_Female = 0x1D, - BODY_Unused_Male_1 = 0x1E, - BODY_Unused_Male_2 = 0x1F, - BODY_Civilian_4 = 0x20, - BODY_Civilian_2 = 0x21, - BODY_Civilian_3 = 0x22, - BODY_Scientist_1_Male = 0x23, - BODY_Helicopter_Pilot = 0x24, - BODY_Siberian_Guard_2 = 0x25, - BODY_Arctic_Commando = 0x26, - BODY_Moonraker_Elite_1_Male = 0x27, - BODY_Moonraker_Elite_2_Female = 0x28, - BODY_Left_Suit_Hand_Floating_Arm = 0x29, - BODY_Male_Karl = 0x2A, - BODY_Male_Alan = 0x2B, - BODY_Male_Pete = 0x2C, - BODY_Male_Martin = 0x2D, - BODY_Male_Mark = 0x2E, - BODY_Male_Duncan = 0x2F, - BODY_Male_Shaun = 0x30, - BODY_Male_Dwayne = 0x31, - BODY_Male_B = 0x32, - BODY_Male_Dave_Dr_Doak = 0x33, - BODY_Male_Grant = 0x34, - BODY_Male_Des = 0x35, - BODY_Male_Chris = 0x36, - BODY_Male_Lee = 0x37, - BODY_Male_Neil = 0x38, - BODY_Male_Jim = 0x39, - BODY_Male_Robin = 0x3A, - BODY_Male_Steve_H = 0x3B, - BODY_Male_Terrorist = 0x3C, - BODY_Male_Biker = 0x3D, - BODY_Male_Graeme = 0x3E, - BODY_Male_Steve_Ellis = 0x3F, - BODY_Male_Joel = 0x40, - BODY_Male_Scott = 0x41, - BODY_Male_Joe_Altered = 0x42, - BODY_Male_Ken = 0x43, - BODY_Male_Joe = 0x44, - BODY_Male_Mishkin = 0x45, - BODY_Female_Sally = 0x46, - BODY_Female_Marion_Rosika = 0x47, - BODY_Female_Mandy = 0x48, - BODY_Female_Vivien = 0x49, - BODY_Male_Pierce_Bond_1 = 0x4A, - BODY_Male_Pierce_Bond_2 = 0x4B, - BODY_Male_Pierce_Bond_3 = 0x4C, - BODY_Male_Pierce_Bond_Parka = 0x4D, - BODY_Male_Pierce_Bond_Tuxedo = 0x4E, - BODY_Natalya_Jungle_Fatigues = 0x4F -} BODIES; - -typedef enum HEADS { - HEAD_Male_Karl = 0x2A, - HEAD_Male_Alan = 0x2B, - HEAD_Male_Pete = 0x2C, - HEAD_Male_Martin = 0x2D, - HEAD_Male_Mark = 0x2E, - HEAD_Male_Duncan = 0x2F, - HEAD_Male_Shaun = 0x30, - HEAD_Male_Dwayne = 0x31, - HEAD_Male_B = 0x32, - HEAD_Male_Dave_Dr_Doak = 0x33, - HEAD_Male_Grant = 0x34, - HEAD_Male_Des = 0x35, - HEAD_Male_Chris = 0x36, - HEAD_Male_Lee = 0x37, - HEAD_Male_Neil = 0x38, - HEAD_Male_Jim = 0x39, - HEAD_Male_Robin = 0x3A, - HEAD_Male_Steve_H = 0x3B, - HEAD_Male_Terrorist = 0x3C, - HEAD_Male_Biker = 0x3D, - HEAD_Male_Graeme = 0x3E, - HEAD_Male_Steve_Ellis = 0x3F, - HEAD_Male_Joel = 0x40, - HEAD_Male_Scott = 0x41, - HEAD_Male_Joe_Altered = 0x42, - HEAD_Male_Ken = 0x43, - HEAD_Male_Joe = 0x44, - HEAD_Male_Mishkin = 0x45, - HEAD_Female_Sally = 0x46, - HEAD_Female_Marion_Rosika = 0x47, - HEAD_Female_Mandy = 0x48, - HEAD_Female_Vivien = 0x49, - HEAD_Male_Pierce_Bond_1 = 0x4A, - HEAD_Male_Pierce_Bond_2 = 0x4B, - HEAD_Male_Pierce_Bond_3 = 0x4C, - HEAD_Male_Pierce_Bond_Parka = 0x4D, - HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT = 0x4E, - HEAD_Natalya_Jungle_Fatigues = 0x4F -} HEADS; - -typedef enum mission_setup_type { - MISSION_PART = 0, - MISSION_HEADER -} mission_setup_type; - -typedef enum MUSIC_TRACKS { - M_ARCHIVES = 11, - M_ARCHIVESX = 37, - M_AZTEC = 25, - M_AZTECX = 46, - M_BUNKER1 = 15, - M_BUNKER1X = 41, - M_BUNKER2 = 16, - M_BUNKER2X = 42, - M_CITADEL = 6, - M_CONTROL = 8, - M_CONTROLX = 33, - M_CRADLE = 19, - M_CRADLEX = 48, - M_CUBA = 49, - M_DAM = 9, - M_DAMX = 35, - M_DEATHSOLO = 27, - M_DEPOT = 4, - M_DEPOTX = 32, - M_EGYPTIAN = 22, - M_EGYPTIANX = 39, - M_EGYPTX = 47, - M_ELEVATOR_CONTROL = 18, - M_ELEVATOR_WC = 21, - M_END_SOMETHING = 62, - M_FACILITY = 7, - M_FACILITYX = 31, - M_FOLDERS = 23, - M_FRIGATE = 10, - M_FRIGATEX = 36, - M_GUITARGLISS = 54, - M_INTRO = 2, - M_INTROSWOOSH = 44, - M_JUNGLE = 55, - M_JUNGLEX = 43, - M_MPDEATH = 58, - M_MPTHEME = 5, - M_MPTHEME2 = 13, - M_MPTHEME3 = 52, - M_NONE = 0, - M_RUNWAY = 50, - M_RUNWAYPLANE = 51, - M_RUNWAYX = 56, - M_SHORT_SOLO_DEATH = 1, - M_SILO = 12, - M_SILOX = 38, - M_STATUE = 17, - M_STATUEPART = 61, - M_STATUEX = 45, - M_STREETS = 14, - M_STREETSX = 40, - M_SURFACE1 = 57, - M_SURFACE2 = 28, - M_SURFACE2END = 60, - M_SURFACE2X = 59, - M_TRAIN = 3, - M_TRAINX = 29, - M_UNK = 20, - M_UNK2 = 30, - M_WATCH = 24, - M_WATERCAVERNS = 26, - M_WATERCAVERNSX = 34, - M_WIND = 53 -} MUSIC_TRACKS; - -typedef enum GAMEMODE { - GAMEMODE_SOLO = 0x0, - GAMEMODE_MULTI, - GAMEMODE_CHEATS, - GAMEMODE_INTRO = 0xFFFFFFFF -} GAMEMODE; - -typedef enum MPSCENARIOS { - SCENARIO_NORMAL=0, - SCENARIO_YOLT, - SCENARIO_TLD, - SCENARIO_MWTGG, - SCENARIO_LTK, - SCENARIO_2v2, - SCENARIO_3v1, - SCENARIO_2v1 -} MPSCENARIOS; - -typedef enum WATCH_BRIEFING_PAGE { - BRIEFING_TITLE = 0x0, - BRIEFING_OVERVIEW, - BRIEFING_M, - BRIEFING_Q, - BRIEFING_MONEYPENNY -} WATCH_BRIEFING_PAGE; - -typedef enum MENU { - MENU_LEGAL_SCREEN = 0x0, - MENU_NINTENDO_LOGO, - MENU_RAREWARE_LOGO, - MENU_EYE_INTRO, - MENU_GOLDENEYE_LOGO, - MENU_FILE_SELECT, - MENU_MODE_SELECT, - MENU_MISSION_SELECT, - MENU_DIFFICULTY, - MENU_007_OPTIONS, - MENU_BRIEFING, - MENU_RUN_STAGE, - MENU_MISSION_FAILED, - MENU_MISSION_COMPLETE, - MENU_MP_OPTIONS, - MENU_MP_CHAR_SELECT, - MENU_MP_HANDICAP, - MENU_MP_CONTROL_STYLE, - MENU_MP_STAGE_SELECT, - MENU_MP_SCENARIO_SELECT, - MENU_MP_TEAMS, - MENU_CHEAT, - MENU_NO_CONTROLLERS, - MENU_SWITCH_SCREENS, - MENU_DISPLAY_CAST, - MENU_SPECTRUM_EMU -} MENU; - -typedef enum CONTROLLER_CONFIG -{ - CONTROLLER_CONFIG_HONEY = 0x0, - CONTROLLER_CONFIG_SOLITARE, - CONTROLLER_CONFIG_KISSY, - CONTROLLER_CONFIG_GOODNIGHT, - CONTROLLER_CONFIG_PLENTY, - CONTROLLER_CONFIG_GALORE, - CONTROLLER_CONFIG_DOMINO, - CONTROLLER_CONFIG_GOODHEAD, - CONTROLLER_CONFIG_CINEMA -} CONTROLLER_CONFIG; - -typedef enum CUFF_TYPES -{ - CUFF_BLUE = 0x0, - CUFF_TUX, - CUFF_JUNGLE, - CUFF_BOILER, - CUFF_SNOW, - CUFF_WHITE, - CUFF_TUX6, - CUFF_TUX7, - CUFF_TUX8 -} CUFF_TYPES; - -typedef enum ITEM_IDS -{ - ITEM_UNARMED = 0x0, - ITEM_FIST = 0x1, - ITEM_KNIFE = 0x2, - ITEM_THROWKNIFE = 0x3, - ITEM_WPPK = 0x4, - ITEM_WPPKSIL = 0x5, - ITEM_TT33 = 0x6, - ITEM_SKORPION = 0x7, - ITEM_AK47 = 0x8, - ITEM_UZI = 0x9, - ITEM_MP5K = 0xA, - ITEM_MP5KSIL = 0xB, - ITEM_SPECTRE = 0xC, - ITEM_M16 = 0xD, - ITEM_FNP90 = 0xE, - ITEM_SHOTGUN = 0xF, - ITEM_AUTOSHOT = 0x10, - ITEM_SNIPERRIFLE = 0x11, - ITEM_RUGER = 0x12, - ITEM_GOLDENGUN = 0x13, - ITEM_SILVERWPPK = 0x14, - ITEM_GOLDWPPK = 0x15, - ITEM_LASER = 0x16, - ITEM_WATCHLASER = 0x17, - ITEM_GRENADELAUNCH = 0x18, - ITEM_ROCKETLAUNCH = 0x19, - ITEM_GRENADE = 0x1A, - ITEM_TIMEDMINE = 0x1B, - ITEM_PROXIMITYMINE = 0x1C, - ITEM_REMOTEMINE = 0x1D, - ITEM_TRIGGER = 0x1E, - ITEM_TASER = 0x1F, - ITEM_TANKSHELLS = 0x20, - ITEM_BOMBCASE = 0x21, - ITEM_PLASTIQUE = 0x22, - ITEM_FLAREPISTOL = 0x23, - ITEM_PITONGUN = 0x24, - ITEM_BUNGEE = 0x25, - ITEM_DOORDECODER = 0x26, - ITEM_BOMBDEFUSER = 0x27, - ITEM_CAMERA = 0x28, - ITEM_LOCKEXPLODER = 0x29, - ITEM_DOOREXPLODER = 0x2A, - ITEM_BRIEFCASE = 0x2B, - ITEM_WEAPONCASE = 0x2C, - ITEM_SAFECRACKERCASE = 0x2D, - ITEM_KEYANALYSERCASE = 0x2E, - ITEM_BUG = 0x2F, - ITEM_MICROCAMERA = 0x30, - ITEM_BUGDETECTOR = 0x31, - ITEM_EXPLOSIVEFLOPPY = 0x32, - ITEM_POLARIZEDGLASSES = 0x33, - ITEM_DARKGLASSES = 0x34, - ITEM_CREDITCARD = 0x35, - ITEM_GASKEYRING = 0x36, - ITEM_DATATHIEF = 0x37, - ITEM_WATCHIDENTIFIER = 0x38, - ITEM_WATCHCOMMUNICATOR = 0x39, - ITEM_WATCHGEIGERCOUNTER = 0x3A, - ITEM_WATCHMAGNETREPEL = 0x3B, - ITEM_WATCHMAGNETATTRACT = 0x3C, - ITEM_GOLDENEYEKEY = 0x3D, - ITEM_BLACKBOX = 0x3E, - ITEM_CIRCUITBOARD = 0x3F, - ITEM_CLIPBOARD = 0x40, - ITEM_STAFFLIST = 0x41, - ITEM_DOSSIERRED = 0x42, - ITEM_PLANS = 0x43, - ITEM_SPYFILE = 0x44, - ITEM_BLUEPRINTS = 0x45, - ITEM_MAP = 0x46, - ITEM_AUDIOTAPE = 0x47, - ITEM_VIDEOTAPE = 0x48, - ITEM_DATTAPE = 0x49, - ITEM_SPOOLTAPE = 0x4A, - ITEM_MICROFILM = 0x4B, - ITEM_MICROCODE = 0x4C, - ITEM_LECTRE = 0x4D, - ITEM_MONEY = 0x4E, - ITEM_GOLDBAR = 0x4F, - ITEM_HEROIN = 0x50, - ITEM_KEYCARD = 0x51, - ITEM_KEYYALE = 0x52, - ITEM_KEYBOLT = 0x53, - ITEM_SUIT_LF_HAND = 0x54, - ITEM_JOYPAD = 0x55, - ITEM_56 = 0x56, - ITEM_57 = 0x57, - ITEM_TOKEN = 0x58 -} ITEM_IDS; - -typedef enum PROPS { - PROP_alarm1 = 0, /* Beta Alarm / Default Multi Weapon */ - PROP_alarm2 = 1, /* Alarm */ - PROP_explosionbit = 2, /* White Pyramid (Explosion Bit) */ - PROP_ammo_crate1 = 3, /* Ammo Crate (Brown w/ Edge Brace, 6x240 Black) */ - PROP_ammo_crate2 = 4, /* Ammo Crate (Brown w/ Center Brace, 12x8 Black) */ - PROP_ammo_crate3 = 5, /* Ammo Crate (Green w/ Center Brace, 12x8 Brown) */ - PROP_ammo_crate4 = 6, /* Ammo Crate (Green w/ Edge Brace, 6x8 White) */ - PROP_ammo_crate5 = 7, /* Ammo Crate (Green w/ Double Brace, 24x60 Black) */ - PROP_bin1 = 8, /* Rusted Trash Bin */ - PROP_blotter1 = 9, /* Desk Blotter */ - PROP_book1 = 10, /* Red Book */ - PROP_bookshelf1 = 11, /* Bookshelf */ - PROP_bridge_console1a = 12, /* Bridge Console w/ Monitor, Navigation + Keyboard 1A */ - PROP_bridge_console1b = 13, /* Bridge Console w/ Navigation 1B */ - PROP_bridge_console2a = 14, /* Bridge Console w/ Navigation, Monitor + Keyboard 2A */ - PROP_bridge_console2b = 15, /* Bridge Console w/ Various Controls 2B */ - PROP_bridge_console3a = 16, /* Bridge Console w/ Monitor, Navigation + Keyboard 3A */ - PROP_bridge_console3b = 17, /* Bridge Console w/ Monitor, Keyboard + Navigation 3B */ - PROP_card_box1 = 18, /* Cardboard Box, Kapto|Enb */ - PROP_card_box2 = 19, /* Cardboard Box, Red Arrow, Bahko */ - PROP_card_box3 = 20, /* Cardboard Box, Scrawled Text, Bahah */ - PROP_card_box4_lg = 21, /* Cardboard Box, Three Seams */ - PROP_card_box5_lg = 22, /* Cardboard Box, Two Seams, Bahah */ - PROP_card_box6_lg = 23, /* Cardboard Box, Bahko */ - PROP_cctv = 24, /* Surveillance Camera */ - PROP_console1 = 25, /* Double Screen Consoles w/ Keyboards */ - PROP_console2 = 26, /* Double Screen Consoles w/ Left Keyboard */ - PROP_console3 = 27, /* Double Screen Consoles w/ Right Keyboard */ - PROP_console_seva = 28, /* Console w/ Keyboard */ - PROP_console_sevb = 29, /* Console w/ Monitor + Keyboard */ - PROP_console_sevc = 30, /* Console w/ Switches */ - PROP_console_sevd = 31, /* Console w/ Five Gauges */ - PROP_console_sev2a = 32, /* Console w/ Four Faders */ - PROP_console_sev2b = 33, /* Console w/ Monitor, Keyboard + Switches */ - PROP_console_sev2c = 34, /* Console w/ Three Gauges */ - PROP_console_sev2d = 35, /* Console w/ Pressure Gauge */ - PROP_console_sev_GEa = 36, /* Console w/ GoldenEye Key Slot */ - PROP_console_sev_GEb = 37, /* Console w/ Faders + Pressure Gauge */ - PROP_desk1 = 38, /* Desk w/ Kickplate */ - PROP_desk2 = 39, /* Desk */ - PROP_desk_lamp2 = 40, /* Desk Lamp */ - PROP_disc_reader = 41, /* External Hard Drive */ - PROP_disk_drive1 = 42, /* Floppy Disc Drive */ - PROP_filing_cabinet1 = 43, /* Filing Cabinet */ - PROP_jerry_can1 = 44, /* Jerrycan (Fuel Container) */ - PROP_keyboard1 = 45, /* Computer Keyboard */ - PROP_kit_units1 = 46, /* Kitchen Cabinets */ - PROP_letter_tray1 = 47, /* Letter Tray */ - PROP_mainframe1 = 48, /* Mainframe, Basic */ - PROP_mainframe2 = 49, /* Mainframe, Advanced */ - PROP_metal_chair1 = 50, /* Chair (Metal) */ - PROP_metal_crate1 = 51, /* Metal Crate, 6 Top Corner */ - PROP_metal_crate2 = 52, /* Metal Crate, 6 Bottom Corner */ - PROP_metal_crate3 = 53, /* Metal Crate, Toxic Materials */ - PROP_metal_crate4 = 54, /* Metal Crate, Double Stripe - Class D1 Hazard */ - PROP_missile_rack = 55, /* Naval Harpoon Missile in Containment Rack */ - PROP_missile_rack2 = 56, /* Naval Harpoon Missiles in Containment Racks x4 */ - PROP_oil_drum1 = 57, /* Oil Drum, Single Stripe, Ribbed */ - PROP_oil_drum2 = 58, /* Oil Drum, Single Stripe, Ribbed - Class D1 Hazard */ - PROP_oil_drum3 = 59, /* Oil Drum, Single Stripe, Ribbed - Toxic Materials */ - PROP_oil_drum5 = 60, /* Oil Drum, Double Stripe - Toxic Materials */ - PROP_oil_drum6 = 61, /* Oil Drum - Toxic Materials */ - PROP_oil_drum7 = 62, /* Oil Drum, Double Dashes - Class D1 Hazard */ - PROP_padlock = 63, /* Padlock */ - PROP_phone1 = 64, /* Telephone */ - PROP_radio_unit1 = 65, /* Radio Tuner w/ 1 Knob + 2 Gauges */ - PROP_radio_unit2 = 66, /* Radio Tuner w/ 1 Knob + 5 Gauges */ - PROP_radio_unit3 = 67, /* Radio Tuner w/ 3 Knobs + 5 Gauges */ - PROP_radio_unit4 = 68, /* Radio Tuner w/ 3 Knobs + 2 Gauges */ - PROP_sat1_reflect = 69, /* GoldenEye Satellite */ - PROP_satdish = 70, /* Satellite Dish (Arkangelsk) */ - PROP_satbox = 71, /* Uplink Box */ - PROP_stool1 = 72, /* Wooden Stool */ - PROP_swivel_chair1 = 73, /* Swivel Chair */ - PROP_torpedo_rack = 74, /* Naval Torpedo Rack x3 */ - PROP_tv1 = 75, /* Television Monitor */ - PROP_tv_holder = 76, /* Hanging Monitor Rack */ - PROP_tvscreen = 77, /* Wall Monitor Screen */ - PROP_tv4screen = 78, /* Wall Monitor Screens, 4-in-1 */ - PROP_wood_lg_crate1 = 79, /* Wooden Crate w/ #4 Label, Bahah */ - PROP_wood_lg_crate2 = 80, /* Wooden Crate, Darker Shading, Kapto|Enb */ - PROP_wood_md_crate3 = 81, /* Wooden Crates x8, Bahko */ - PROP_wood_sm_crate4 = 82, /* Wooden Crate w/ #2 Label, Bahko */ - PROP_wood_sm_crate5 = 83, /* Wooden Crate w/ #4 Label, Darker Shading, Bahah */ - PROP_wood_sm_crate6 = 84, /* Wooden Crate w/ UP Arrow, Kapto|Enb */ - PROP_wooden_table1 = 85, /* Wooden Table */ - PROP_swipe_card2 = 86, /* Keycard */ - PROP_borg_crate = 87, /* Blue and Gold Printed Circuit Cube (Borg Crate) */ - PROP_boxes4x4 = 88, /* Metal Crate Stack, 4x4 */ - PROP_boxes3x4 = 89, /* Metal Crate Stack, 3x4 */ - PROP_boxes2x4 = 90, /* Metal Crate Stack, 2x4 */ - PROP_sec_panel = 91, /* Security Card Panel */ - PROP_ICBM_nose = 92, /* Silo Missile (ICBM), Nose Cone Only */ - PROP_ICBM = 93, /* Silo Missile (ICBM) */ - PROP_tuning_console1 = 94, /* Dual Consoles on Castors */ - PROP_desk_arecibo1 = 95, /* Computer Work Desk */ - PROP_locker3 = 96, /* Lockers, Single Venting */ - PROP_locker4 = 97, /* Lockers, Double Venting */ - PROP_roofgun = 98, /* Ceiling Mounted Drone Gun */ - PROP_dest_engine = 99, /* Frigate Engine */ - PROP_dest_exocet = 100, /* Naval MK 29 Missile Launcher (Exocet) */ - PROP_dest_gun = 101, /* Naval 100 mm Gun Turret (TR 100) */ - PROP_dest_harpoon = 102, /* Naval MK 141 Launch Canisters (Harpoon) */ - PROP_dest_seawolf = 103, /* Naval MK 26 Dual Missile Launcher (Seawolf) */ - PROP_window = 104, /* Window Glass */ - PROP_window_lib_lg1 = 105, /* Window Glass, Lattice Frame, 4x10 (single-sided) */ - PROP_window_lib_sm1 = 106, /* Window Glass, Lattice Frame, 4x3 (double-sided) */ - PROP_window_cor11 = 107, /* Window Glass, Lattice Frame, 4x4 (single-sided) */ - PROP_jungle3_tree = 108, /* Jungle Large Tree */ - PROP_palm = 109, /* Jungle Palm Tree */ - PROP_palmtree = 110, /* Jungle Palm Tree, Resprouting After Loss of Fronds */ - PROP_plant2b = 111, /* Jungle Plant, Low Shrub */ - PROP_labbench = 112, /* Laboratory Table w/ Sink Drains */ - PROP_gasbarrel = 113, /* White Bin */ - PROP_gasbarrels = 114, /* White Bins x4 */ - PROP_bodyarmour = 115, /* Body Armor */ - PROP_bodyarmourvest = 116, /* Body Armor (Vest) */ - PROP_gastank = 117, /* Bottling Tank */ - PROP_glassware1 = 118, /* Glass Cup */ - PROP_hatchbolt = 119, /* Metallic Securing Strip (Hatch Bolt) */ - PROP_brakeunit = 120, /* Train Brake Controller */ - PROP_ak47mag = 121, /* Gun Magazine (KF7 Soviet) */ - PROP_m16mag = 122, /* Gun Magazine (AR33 Assault Rifle) */ - PROP_mp5kmag = 123, /* Gun Magazine (D5K Deutsche) */ - PROP_skorpionmag = 124, /* Gun Magazine (Klobb) */ - PROP_spectremag = 125, /* Gun Magazine (Phantom) */ - PROP_uzimag = 126, /* Gun Magazine (ZMG (9mm)) */ - PROP_silencer = 127, /* Silencer */ - PROP_chrextinguisher = 128, /* Fire Extinguisher */ - PROP_boxcartridges = 129, /* Box of Shells (Shotgun Cartridges) */ - PROP_fnp90mag = 130, /* Gun Magazine (RC-P90) */ - PROP_goldenshells = 131, /* Box of Shells (Golden Gun Bullets) */ - PROP_magnumshells = 132, /* Box of Shells (Magnum Rounds) */ - PROP_wppkmag = 133, /* Gun Magazine (PP7) */ - PROP_tt33mag = 134, /* Gun Magazine (DD44 Dostovei) */ - PROP_sev_door = 135, /* Grey Containment Door w/ Caution Stripes and Window */ - PROP_sev_door3 = 136, /* Grey Electronic Door w/ LEFT Arrow */ - PROP_sev_door3_wind = 137, /* BETA Electronic Door w/ LEFT Arrow and Fake Window */ - PROP_sev_door4_wind = 138, /* Grey Electronic Door w/ LEFT Arrow and Window */ - PROP_sev_trislide = 139, /* Glass Door w/ Stone Frame */ - PROP_sev_door_v1 = 140, /* Grey Electronic Door w/ UP Arrow */ - PROP_steel_door1 = 141, /* Silver Corrugated Door w/ Caution Stripes */ - PROP_steel_door2 = 142, /* Rusty Door w/ Handle */ - PROP_steel_door3 = 143, /* Double Cross Brace Door */ - PROP_silo_lift_door = 144, /* Elevator Door */ - PROP_steel_door2b = 145, /* Rusty Door w/o Handle */ - PROP_door_roller1 = 146, /* Blue Bay Door w/ Caution Stripes */ - PROP_door_roller2 = 147, /* Blue Bay Door w/ Venting and Caution Stripes */ - PROP_door_roller3 = 148, /* Blue Bay Door w/ Venting and Caution Stripes */ - PROP_door_roller4 = 149, /* Cargo Bay Door w/ UP Arrow and Transportation Stripes */ - PROP_door_st_arec1 = 150, /* Blue Corrugated Door w/ Transportation Stripes */ - PROP_door_st_arec2 = 151, /* Blue Reversed Corrugated Door w/ Transportation Stripes */ - PROP_door_dest1 = 152, /* Grey Frigate Door w/ Indents and Caution Stripes */ - PROP_door_dest2 = 153, /* Grey Frigate Door w/ Indents, Caution Stripes and KEEP CLEAR Label */ - PROP_gas_plant_sw_do1 = 154, /* Grey Swinging Door w/ Blue Stripe */ - PROP_gas_plant_sw2_do1 = 155, /* Grey Swinging Door, Darker */ - PROP_gas_plant_sw3_do1 = 156, /* Grey Swinging Door, Lighter */ - PROP_gas_plant_sw4_do1 = 157, /* Light Wooden Door (Looks Like Sand) */ - PROP_gas_plant_met1_do1 = 158, /* Brown Electronic Door */ - PROP_gas_plant_wc_cub1 = 159, /* Bathroom Stall Door */ - PROP_gasplant_clear_door = 160, /* Laboratory Glass Door */ - PROP_train_door = 161, /* Dark Wooden Door */ - PROP_train_door2 = 162, /* Dark Wooden Door w/ Window */ - PROP_train_door3 = 163, /* Dark Wooden Door w/ Window + Shutter */ - PROP_door_eyelid = 164, /* Eyelid Door */ - PROP_door_iris = 165, /* Iris Door */ - PROP_sevdoorwood = 166, /* Cabin Door */ - PROP_sevdoorwind = 167, /* Weathered Swinging Door w/ Window */ - PROP_sevdoornowind = 168, /* Weathered Swinging Door */ - PROP_sevdoormetslide = 169, /* Brown Corrugated Electronic Door */ - PROP_cryptdoor1a = 170, /* Stone Door w/ Prints (Set A) */ - PROP_cryptdoor1b = 171, /* Sand Door w/ Damage (Set A) */ - PROP_cryptdoor2a = 172, /* Stone Door w/ Prints, Darker (Set B) */ - PROP_cryptdoor2b = 173, /* Sand Door w/ Damage, Darker (Set B) */ - PROP_cryptdoor3 = 174, /* Egyptian Moving Wall */ - PROP_cryptdoor4 = 175, /* Brown Sand Door (Temple) */ - PROP_vertdoor = 176, /* Blast Door (Control) */ - PROP_hatchdoor = 177, /* Train Floor Hatch */ - PROP_damgatedoor = 178, /* Security Gate (Dam) */ - PROP_damtundoor = 179, /* Tunnel Flood Door (Dam) */ - PROP_damchaindoor = 180, /* Mesh Gate */ - PROP_silotopdoor = 181, /* Launch Tube Ceiling Shutter (Silo) */ - PROP_doorprison1 = 182, /* Cell Door */ - PROP_doorstatgate = 183, /* Park Gate */ - PROP_chrkalash = 184, /* KF7 Soviet */ - PROP_chrgrenadelaunch = 185, /* Grenade Launcher */ - PROP_chrknife = 186, /* Hunting Knife */ - PROP_chrlaser = 187, /* Moonraker Laser */ - PROP_chrm16 = 188, /* AR33 Assault Rifle */ - PROP_chrmp5k = 189, /* D5K Deutsche */ - PROP_chrruger = 190, /* Cougar Magnum */ - PROP_chrwppk = 191, /* PP7 Special Issue */ - PROP_chrshotgun = 192, /* Shotgun */ - PROP_chrskorpion = 193, /* Klobb */ - PROP_chrspectre = 194, /* Phantom */ - PROP_chruzi = 195, /* ZMG (9mm) */ - PROP_chrgrenade = 196, /* Hand Grenade */ - PROP_chrfnp90 = 197, /* RC-P90 */ - PROP_chrbriefcase = 198, /* Briefcase */ - PROP_chrremotemine = 199, /* Remote Mine */ - PROP_chrproximitymine = 200, /* Proximity Mine */ - PROP_chrtimedmine = 201, /* Timed Mine */ - PROP_chrrocket = 202, /* Rocket */ - PROP_chrgrenaderound = 203, /* Grenade Round */ - PROP_chrwppksil = 204, /* PP7 (Silenced) */ - PROP_chrtt33 = 205, /* DD44 Dostovei */ - PROP_chrmp5ksil = 206, /* D5K (Silenced) */ - PROP_chrautoshot = 207, /* Automatic Shotgun */ - PROP_chrgolden = 208, /* Golden Gun */ - PROP_chrthrowknife = 209, /* Throwing Knife */ - PROP_chrsniperrifle = 210, /* Sniper Rifle */ - PROP_chrrocketlaunch = 211, /* Rocket Launcher */ - PROP_hatfurry = 212, /* Fur Hat, Blue */ - PROP_hatfurrybrown = 213, /* Fur Hat, Brown */ - PROP_hatfurryblack = 214, /* Fur Hat, Black */ - PROP_hattbird = 215, /* Side Cap, Light Green */ - PROP_hattbirdbrown = 216, /* Side Cap, Dark Green */ - PROP_hathelmet = 217, /* Combat Helmet, Green */ - PROP_hathelmetgrey = 218, /* Combat Helmet, Grey */ - PROP_hatmoon = 219, /* Elite Headgear */ - PROP_hatberet = 220, /* Special Forces Beret, Black */ - PROP_hatberetblue = 221, /* Special Forces Beret, Navy */ - PROP_hatberetred = 222, /* Special Forces Beret, Burgundy */ - PROP_hatpeaked = 223, /* Officer's Peaked Visor Cap */ - PROP_chrwristdart = 224, /* Pchrwristdart (BETA) */ - PROP_chrexplosivepen = 225, /* Pchrexplosivepen (BETA) */ - PROP_chrbombcase = 226, /* Bomb Case (Briefcase Laying Down) */ - PROP_chrflarepistol = 227, /* Pchrflarepistol (BETA Pickup) */ - PROP_chrpitongun = 228, /* Pchrpitongun (BETA Pickup) */ - PROP_chrfingergun = 229, /* Pchrfingergun (BETA Pickup) */ - PROP_chrsilverwppk = 230, /* Pchrsilverwppk (BETA Pickup) */ - PROP_chrgoldwppk = 231, /* Pchrgoldwppk (BETA Pickup) */ - PROP_chrdynamite = 232, /* Pchrdynamite (BETA Pickup) */ - PROP_chrbungee = 233, /* Pchrbungee (BETA Pickup) */ - PROP_chrdoordecoder = 234, /* Door Decoder */ - PROP_chrbombdefuser = 235, /* Bomb Defuser */ - PROP_chrbugdetector = 236, /* Pchrbugdetector (BETA Pickup) */ - PROP_chrsafecrackercase = 237, /* Safe Cracker Case (Briefcase Laying Down) */ - PROP_chrcamera = 238, /* Photo Camera (007) */ - PROP_chrlockexploder = 239, /* Pchrlockexploder (BETA Pickup) */ - PROP_chrdoorexploder = 240, /* Pchrdoorexploder (BETA Pickup) */ - PROP_chrkeyanalysercase = 241, /* Key Analyzer Case (Briefcase Laying Down) */ - PROP_chrweaponcase = 242, /* Weapon Case (Briefcase Standing Up) */ - PROP_chrkeyyale = 243, /* Yale Key */ - PROP_chrkeybolt = 244, /* Bolt Key */ - PROP_chrbug = 245, /* Covert Modem / Tracker Bug */ - PROP_chrmicrocamera = 246, /* Micro Camera */ - PROP_floppy = 247, /* Floppy Disc */ - PROP_chrgoldeneyekey = 248, /* GoldenEye Key */ - PROP_chrpolarizedglasses = 249, /* Polarized Glasses */ - PROP_chrcreditcard = 250, /* Pchrcreditcard (BETA Pickup) */ - PROP_chrdarkglasses = 251, /* Pchrdarkglasses (BETA Pickup) */ - PROP_chrgaskeyring = 252, /* Gas Keyring */ - PROP_chrdatathief = 253, /* Datathief */ - PROP_safe = 254, /* Safe Body */ - PROP_bomb = 255, /* Pbomb (BETA Pickup) */ - PROP_chrplans = 256, /* Plans (Briefing Folder) */ - PROP_chrspyfile = 257, /* Pchrspyfile (BETA Pickup) */ - PROP_chrblueprints = 258, /* Pirate Blueprints */ - PROP_chrcircuitboard = 259, /* Circuitboard */ - PROP_chrmap = 260, /* Bunker Expansion Plans */ - PROP_chrspooltape = 261, /* Pchrspooltape (BETA Pickup) */ - PROP_chraudiotape = 262, /* Audiotape */ - PROP_chrmicrofilm = 263, /* Pchrmicrofilm (BETA Pickup) */ - PROP_chrmicrocode = 264, /* Pchrmicrocode (BETA Pickup) */ - PROP_chrlectre = 265, /* Pchrlectre (BETA Pickup) */ - PROP_chrmoney = 266, /* Pchrmoney (BETA Pickup) */ - PROP_chrgoldbar = 267, /* Pchrgoldbar (BETA Pickup) */ - PROP_chrheroin = 268, /* Pchrheroin (BETA Pickup) */ - PROP_chrclipboard = 269, /* Clipboard */ - PROP_chrdossierred = 270, /* Red Dossier */ - PROP_chrstafflist = 271, /* Staff List */ - PROP_chrdattape = 272, /* DAT */ - PROP_chrplastique = 273, /* Plastique */ - PROP_chrblackbox = 274, /* Black Box (Orange Flight Recorder) */ - PROP_chrvideotape = 275, /* CCTV Tape (GoldenEye VHS) */ - PROP_nintendologo = 276, /* Nintendo Logo */ - PROP_goldeneyelogo = 277, /* GoldenEye Logo */ - PROP_walletbond = 278, /* Classified Folder w/ Royal Crest (Folder Menus) */ - PROP_miltruck = 279, /* Supply Truck */ - PROP_jeep = 280, /* Military Jeep */ - PROP_artic = 281, /* Red Prime Mover */ - PROP_helicopter = 282, /* Transport Helicopter w/ Natalya */ - PROP_tiger = 283, /* Pirate Euro Chopper */ - PROP_milcopter = 284, /* Hound Helicopter */ - PROP_hind = 285, /* Soviet Camouflage Chopper */ - PROP_artictrailer = 286, /* Black Trailer */ - PROP_motorbike = 287, /* Motorbike */ - PROP_tank = 288, /* Tank */ - PROP_apc = 289, /* Armored Personnel Carrier */ - PROP_speedboat = 290, /* Speedboat */ - PROP_plane = 291, /* Aeroplane */ - PROP_gun_runway1 = 292, /* Heavy Gun Emplacement */ - PROP_safedoor = 293, /* Safe Door */ - PROP_key_holder = 294, /* Key Rack */ - PROP_hatchsevx = 295, /* Grating (Ventshaft Hatch) */ - PROP_sevdish = 296, /* Satellite Dish (Severnaya) */ - PROP_archsecdoor1 = 297, /* Archives Moving Wall (Dark) */ - PROP_archsecdoor2 = 298, /* Archives Moving Wall (Light) */ - PROP_groundgun = 299, /* Free Standing Drone Gun */ - PROP_trainextdoor = 300, /* Train Exterior Door */ - PROP_carbmw = 301, /* White Car #1 (BMW) */ - PROP_carescort = 302, /* White Car #2 (Escort) */ - PROP_cargolf = 303, /* White Car #3 (Golf) */ - PROP_carweird = 304, /* Red Car (Cadillac) */ - PROP_carzil = 305, /* Ourumov's Car (ZIL) */ - PROP_shuttle_door_l = 306, /* Exhaust Bay Doors, Left Side */ - PROP_shuttle_door_r = 307, /* Exhaust Bay Doors, Right Side */ - PROP_depot_gate_entry = 308, /* Metallic Gate w/ Red Star */ - PROP_depot_door_steel = 309, /* Rusty Door w/ Handle (Lo-Res) */ - PROP_glassware2 = 310, /* Beaker w/ Blue Topper */ - PROP_glassware3 = 311, /* Erlenmeyer Flask */ - PROP_glassware4 = 312, /* Set of Five Beakers */ - PROP_landmine = 313, /* Land Mine */ - PROP_plant1 = 314, /* Jungle Plant, Withered and Dying */ - PROP_plant11 = 315, /* Jungle Plant, Turning Colour */ - PROP_plant2 = 316, /* Jungle Plant, Healthy and Thick */ - PROP_plant3 = 317, /* Jungle Plant, Tall Leaves */ - PROP_jungle5_tree = 318, /* Jungle Tree, Moss Covered */ - PROP_legalpage = 319, /* GoldenEye Certification Screen */ - PROP_st_pete_room_1i = 320, /* Roads and Buildings #1 (stretch of road) */ - PROP_st_pete_room_2i = 321, /* Roads and Buildings #2 (stretch of road) */ - PROP_st_pete_room_3t = 322, /* Roads and Buildings #3 (intersection) */ - PROP_st_pete_room_5c = 323, /* Roads and Buildings #4 (street corner) */ - PROP_st_pete_room_6c = 324, /* Roads and Buildings #5 (street corner) */ - PROP_door_rollertrain = 325, /* Roller Door */ - PROP_door_win = 326, /* Glass Sliding Door (Aztec) */ - PROP_door_aztec = 327, /* Stone Sliding Door (Aztec) */ - PROP_shuttle = 328, /* Moonraker Shuttle */ - PROP_door_azt_desk = 329, /* Boardroom Table (Aztec Exhaust Bay) */ - PROP_door_azt_desk_top = 330, /* Boardroom Table Extension (Aztec Exhaust Bay) */ - PROP_door_azt_chair = 331, /* Boardroom Chair (Aztec Exhaust Bay) */ - PROP_door_mf = 332, /* Mainframe Door */ - PROP_flag = 333, /* Flag Tag Token */ - PROP_barricade = 334, /* Road Barricade */ - PROP_modembox = 335, /* Covert Modem Connection Screen */ - PROP_doorpanel = 336, /* Sliding Door Activation Switch */ - PROP_doorconsole = 337, /* Console w/ Activation Light */ - PROP_chrtesttube = 338, /* Glass Test Tube */ - PROP_bollard = 339 /* Bollard */ -} PROPS; - -typedef enum PROJECTILES -{ - PROJECTILES_MAX = 0x2E, - PROJECTILES_TYPE_KNIFE = PROP_chrknife, - PROJECTILES_TYPE_GRENADE = PROP_chrgrenade, - PROJECTILES_TYPE_REMOTE_MINE = PROP_chrremotemine, - PROJECTILES_TYPE_PROX_MINE = PROP_chrproximitymine, - PROJECTILES_TYPE_TIMED_MINE = PROP_chrtimedmine, - PROJECTILES_TYPE_ROCKET_ROUND = PROP_chrrocket, - PROJECTILES_TYPE_ROCKET_ROUND2 = PROP_chrrocket, - PROJECTILES_TYPE_GLAUNCH_ROUND = PROP_chrgrenaderound, - PROJECTILES_TYPE_BOMBCASE = PROP_chrbombcase, - PROJECTILES_TYPE_BUG = PROP_chrbug, - PROJECTILES_TYPE_MICROCAMERA = PROP_chrmicrocamera, - PROJECTILES_TYPE_GE_KEY = PROP_chrgoldeneyekey, - PROJECTILES_TYPE_PLASTIQUE = PROP_chrplastique -} PROJECTILES; - -typedef enum AMMOTYPES { - AMMO_9MM = 1, - AMMO_9MM_2 = 2, - AMMO_RIFLE = 3, - AMMO_SHOTGUN = 4, - AMMO_GRENADE = 5, - AMMO_ROCKETS = 6, - AMMO_REMOTEMINE = 7, - AMMO_PROXMINE = 8, - AMMO_TIMEDMINE = 9, - AMMO_KNIFE = 10, - AMMO_GRENADEROUND = 11, - AMMO_MAGNUM = 12, - AMMO_GGUN = 13, - AMMO_DARTS = 14, - AMMO_EXPLOSIVEPEN = 15, - AMMO_BOMBCASE = 16, - AMMO_FLARE = 17, - AMMO_PITON = 18, - AMMO_DYNAMITE = 19, - AMMO_BUG = 20, - AMMO_MICRO_CAMERA = 21, - AMMO_GEKEY = 22, - AMMO_PLASTIQUE = 23, - AMMO_WATCH_LASER = 24, - AMMO_WATCH_MAGNET = 25, - AMMO_UNK = 26, - AMMO_CAMERA = 27, - AMMO_TANK = 28, - AMMO_TOKEN = 29 -} AMMOTYPES; - -typedef enum DOORSTATE -{ - OPEN = 0x1, - CLOSED = 0x2 -} DOORSTATE; - -typedef enum SCREEN_SIZE -{ - SCREEN_SIZE_320x240 = 0x0, - SCREEN_SIZE_440x330 = 0x1 -} SCREEN_SIZE; - -typedef enum COLORMODE -{ - MODE_32BIT = 0x0, - MODE_16BIT = 0x1 -} COLORMODE; - -typedef enum CAMERAMODE { - INTRO_CAM = 1, - FADESWIRL_CAM, - SWIRL_CAM, - FP_CAM, - UNK5_CAM, - UNK6_CAM, - POSEND_CAM, - FP_NOINPUT_CAM, - MP_CAM, - 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 */ -/* note: animations are double handed weapon (KF7) unless specified (unarmed, one_handed_weapon, dual_wield) */ -typedef enum ANIMATIONS { - ANIM_idle = 0, - ANIM_fire_standing = 1, - ANIM_fire_standing_fast = 2, - ANIM_fire_hip = 3, - ANIM_fire_shoulder_left = 4, - ANIM_fire_turn_right1 = 5, - ANIM_fire_turn_right2 = 6, - ANIM_fire_kneel_right_leg = 7, - ANIM_fire_kneel_left_leg = 8, - ANIM_fire_kneel_left = 9, - ANIM_fire_kneel_right = 10, - ANIM_fire_roll_left = 11, - ANIM_fire_roll_right1 = 12, - ANIM_fire_roll_left_fast = 13, - ANIM_hit_left_shoulder = 14, - ANIM_hit_right_shoulder = 15, - ANIM_hit_left_arm = 16, - ANIM_hit_right_arm = 17, - ANIM_hit_left_hand = 18, - ANIM_hit_right_hand = 19, - ANIM_hit_left_leg = 20, - ANIM_hit_right_leg = 21, - ANIM_death_genitalia = 22, /* thank you mr. botwood, here is your award */ - ANIM_hit_neck = 23, - ANIM_death_neck = 24, - ANIM_death_stagger_back_to_wall = 25, - ANIM_death_forward_face_down = 26, - ANIM_death_forward_spin_face_up = 27, - ANIM_death_backward_fall_face_up1 = 28, - ANIM_death_backward_spin_face_down_right = 29, - ANIM_death_backward_spin_face_up_right = 30, - ANIM_death_backward_spin_face_down_left = 31, - ANIM_death_backward_spin_face_up_left = 32, - ANIM_death_forward_face_down_hard = 33, - ANIM_death_forward_face_down_soft = 34, - ANIM_death_fetal_position_right = 35, - ANIM_death_fetal_position_left = 36, - ANIM_death_backward_fall_face_up2 = 37, - ANIM_side_step_left = 38, - ANIM_fire_roll_right2 = 39, - ANIM_walking = 40, - ANIM_sprinting = 41, - ANIM_running = 42, - ANIM_bond_eye_walk = 43, - ANIM_bond_eye_fire = 44, - ANIM_bond_watch = 45, - ANIM_surrendering_armed = 46, - ANIM_surrendering_armed_drop_weapon = 47, - ANIM_fire_walking = 48, - ANIM_fire_running = 49, - ANIM_null50 = 50, /* invalid slot */ - ANIM_null51 = 51, /* invalid slot */ - ANIM_fire_jump_to_side_left = 52, - ANIM_fire_jump_to_side_right = 53, - ANIM_hit_butt_long = 54, - ANIM_hit_butt_short = 55, - ANIM_death_head = 56, - ANIM_death_left_leg = 57, - ANIM_slide_right = 58, - ANIM_slide_left = 59, - ANIM_jump_backwards = 60, - ANIM_extending_left_hand = 61, - ANIM_fire_throw_grenade = 62, - ANIM_spotting_bond = 63, /* used by chr ai command guard_points_at_bond */ - ANIM_look_around = 64, /* used by chr ai command guard_animation_looks_around_self */ - ANIM_fire_standing_one_handed_weapon = 65, - ANIM_fire_standing_draw_one_handed_weapon_fast = 66, - ANIM_fire_standing_draw_one_handed_weapon_slow = 67, - ANIM_fire_hip_one_handed_weapon_fast = 68, - ANIM_fire_hip_one_handed_weapon_slow = 69, - ANIM_fire_hip_forward_one_handed_weapon = 70, - ANIM_fire_standing_right_one_handed_weapon = 71, - ANIM_fire_step_right_one_handed_weapon = 72, - ANIM_fire_standing_left_one_handed_weapon_slow = 73, - ANIM_fire_standing_left_one_handed_weapon_fast = 74, - ANIM_fire_kneel_forward_one_handed_weapon_slow = 75, - ANIM_fire_kneel_forward_one_handed_weapon_fast = 76, - ANIM_fire_kneel_right_one_handed_weapon_slow = 77, - ANIM_fire_kneel_right_one_handed_weapon_fast = 78, - ANIM_fire_kneel_left_one_handed_weapon_slow = 79, - ANIM_fire_kneel_left_one_handed_weapon_fast = 80, - ANIM_fire_kneel_left_one_handed_weapon = 81, - ANIM_aim_walking_one_handed_weapon = 82, - ANIM_aim_walking_left_one_handed_weapon = 83, - ANIM_aim_walking_right_one_handed_weapon = 84, - ANIM_aim_running_one_handed_weapon = 85, - ANIM_aim_running_right_one_handed_weapon = 86, - ANIM_aim_running_left_one_handed_weapon = 87, - ANIM_aim_sprinting_one_handed_weapon = 88, - ANIM_running_one_handed_weapon = 89, - ANIM_sprinting_one_handed_weapon = 90, - ANIM_null91 = 91, /* invalid slot */ - ANIM_null92 = 92, /* invalid slot */ - ANIM_null93 = 93, /* invalid slot */ - ANIM_null94 = 94, /* invalid slot */ - ANIM_null95 = 95, /* invalid slot */ - ANIM_null96 = 96, /* invalid slot */ - ANIM_draw_one_handed_weapon_and_look_around = 97, - ANIM_draw_one_handed_weapon_and_stand_up = 98, - ANIM_aim_one_handed_weapon_left_right = 99, - ANIM_cock_one_handed_weapon_and_turn_around = 100, - 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_forward_and_hold_one_handed_weapon = 104, - ANIM_holster_one_handed_weapon_and_adjust_suit = 105, - ANIM_idle_unarmed = 106, - ANIM_walking_unarmed = 107, - ANIM_fire_walking_dual_wield = 108, - ANIM_fire_walking_dual_wield_hands_crossed = 109, - ANIM_fire_running_dual_wield = 110, - ANIM_fire_running_dual_wield_hands_crossed = 111, - ANIM_fire_sprinting_dual_wield = 112, - ANIM_fire_sprinting_dual_wield_hands_crossed = 113, - ANIM_walking_female = 114, - ANIM_running_female = 115, - ANIM_fire_kneel_dual_wield = 116, - ANIM_fire_kneel_dual_wield_left = 117, - ANIM_fire_kneel_dual_wield_right = 118, - ANIM_fire_kneel_dual_wield_hands_crossed = 119, - ANIM_fire_kneel_dual_wield_hands_crossed_left = 120, - ANIM_fire_kneel_dual_wield_hands_crossed_right = 121, - ANIM_fire_standing_dual_wield = 122, - ANIM_fire_standing_dual_wield_left = 123, - ANIM_fire_standing_dual_wield_right = 124, - ANIM_fire_standing_dual_wield_hands_crossed_left = 125, - ANIM_fire_standing_dual_wield_hands_crossed_right = 126, - ANIM_fire_standing_aiming_down_sights = 127, - ANIM_fire_kneel_aiming_down_sights = 128, - ANIM_hit_taser = 129, /* unused tazer boy hit reaction */ - ANIM_death_explosion_forward = 130, - ANIM_death_explosion_left1 = 131, - ANIM_death_explosion_back_left = 132, - ANIM_death_explosion_back1 = 133, - ANIM_death_explosion_right = 134, - ANIM_death_explosion_forward_right1 = 135, - ANIM_death_explosion_back2 = 136, - ANIM_death_explosion_forward_roll = 137, - ANIM_death_explosion_forward_face_down = 138, - ANIM_death_explosion_left2 = 139, - ANIM_death_explosion_forward_right2 = 140, - ANIM_death_explosion_forward_right2_alt = 141, /* copy of right2 with different fall */ - ANIM_death_explosion_forward_right3 = 142, - ANIM_null143 = 143, /* invalid slot */ - ANIM_null144 = 144, /* invalid slot */ - ANIM_null145 = 145, /* invalid slot */ - ANIM_null146 = 146, /* invalid slot */ - ANIM_running_hands_up = 147, - ANIM_sprinting_hands_up = 148, - ANIM_aim_and_blow_one_handed_weapon = 149, /* reversed animation? */ - ANIM_aim_one_handed_weapon_left = 150, - ANIM_aim_one_handed_weapon_right = 151, - ANIM_conversation = 152, - ANIM_drop_weapon_and_show_fight_stance = 153, /* orthodox stance woo */ - ANIM_yawning = 154, - ANIM_swatting_flies = 155, - ANIM_scratching_leg = 156, - ANIM_scratching_butt = 157, - ANIM_adjusting_crotch = 158, - ANIM_sneeze = 159, - ANIM_conversation_cleaned = 160, /* cleaned up copy of ANIM_conversation (compare left wrist) */ - ANIM_conversation_listener = 161, - ANIM_startled_and_looking_around = 162, - ANIM_laughing_in_disbelief = 163, - ANIM_surrendering_unarmed = 164, - ANIM_coughing_standing = 165, - ANIM_coughing_kneel1 = 166, - ANIM_coughing_kneel2 = 167, - ANIM_standing_up = 168, - ANIM_null169 = 169, /* invalid slot */ - ANIM_dancing = 170, - ANIM_dancing_one_handed_weapon = 171, - ANIM_keyboard_right_hand1 = 172, - ANIM_keyboard_right_hand2 = 173, - ANIM_keyboard_left_hand = 174, - ANIM_keyboard_right_hand_tapping = 175, - ANIM_bond_eye_fire_alt = 176, /* unused */ - ANIM_dam_jump = 177, - ANIM_surface_vent_jump = 178, - ANIM_cradle_jump = 179, - ANIM_cradle_fall = 180, - ANIM_credits_bond_kissing = 181, - ANIM_credits_natalya_kissing = 182 -} ANIMATIONS; - -typedef enum AIRCRAFT_ANIMATIONS { - ANIM_helicopter_cradle = 0, - ANIM_plane_runway = 1, - ANIM_helicopter_takeoff = 2 -} AIRCRAFT_ANIMATIONS; - -typedef enum HANDEDNESS { - RIGHT_HAND = 0, - LEFT_HAND = 1 -} HANDEDNESS; - -// used by characters -typedef enum ACT_TYPE { - ACT_INIT = 0, - ACT_STAND, - ACT_KNEEL, - ACT_ANIM, - ACT_DIE, - ACT_DEAD, - ACT_ARGH, - ACT_PREARGH, - ACT_ATTACK, - ACT_ATTACKWALK, - ACT_ATTACKROLL, - ACT_SIDESTEP, - ACT_JUMPOUT, - ACT_RUNPOS, - ACT_PATROL, - ACT_GOPOS, - ACT_SURRENDER, - ACT_LOOKATTARGET, - ACT_SURPRISED, - ACT_STARTALARM, - ACT_THROWGRENADE, - ACT_TURNDIR, - ACT_TEST, - ACT_NULL -} ACT_TYPE; - -// character flags -#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 -#define CHRFLAG_CAN_SHOOT_CHRS 0x00000040 // can shoot other guards -#define CHRFLAG_00000080 0x00000080 // unknown -#define CHRFLAG_WAS_DAMAGED 0x00000100 // chr has taken damage (not invincible) -#define CHRFLAG_00000200 0x00000200 // unknown -#define CHRFLAG_HIDDEN 0x00000400 // hidden -#define CHRFLAG_NO_AUTOAIM 0x00000800 // no autoaim -#define CHRFLAG_LOCK_Y_POS 0x00001000 // lock y position (no gravity, used for dam/cradle jump) -#define CHRFLAG_NO_SHADOW 0x00002000 // no shadow -#define CHRFLAG_IGNORE_ANIM_TRANSLATION 0x00004000 // ignore animation translation -#define CHRFLAG_00008000 0x00008000 // unknown -#define CHRFLAG_00010000 0x00010000 // unknown -#define CHRFLAG_00020000 0x00020000 // unknown -#define CHRFLAG_00040000 0x00040000 // unknown -#define CHRFLAG_INCREASE_SPRINT_SPEED 0x00080000 // increase sprinting speed (used by trevelyan) -#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_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 -#define CHRFLAG_08000000 0x08000000 // unknown -#define CHRFLAG_10000000 0x10000000 // unknown -#define CHRFLAG_20000000 0x20000000 // unknown -#define CHRFLAG_40000000 0x40000000 // unknown -#define CHRFLAG_80000000 0x80000000 // unknown - -// prop/object flags -#define PROPFLAG_00000001 0x00000001 // unknown -#define PROPFLAG_00000002 0x00000002 // unknown -#define PROPFLAG_00000004 0x00000004 // unknown -#define PROPFLAG_00000008 0x00000008 // unknown -#define PROPFLAG_00000010 0x00000010 // unknown -#define PROPFLAG_00000020 0x00000020 // unknown -#define PROPFLAG_00000040 0x00000040 // unknown -#define PROPFLAG_00000080 0x00000080 // unknown -#define PROPFLAG_00000100 0x00000100 // unknown -#define PROPFLAG_00000200 0x00000200 // unknown -#define PROPFLAG_00000400 0x00000400 // unknown -#define PROPFLAG_00000800 0x00000800 // unknown -#define PROPFLAG_00001000 0x00001000 // unknown -#define PROPFLAG_00002000 0x00002000 // unknown -#define PROPFLAG_00004000 0x00004000 // unknown -#define PROPFLAG_00008000 0x00008000 // unknown -#define PROPFLAG_00010000 0x00010000 // unknown -#define PROPFLAG_00020000 0x00020000 // unknown -#define PROPFLAG_00040000 0x00040000 // unknown -#define PROPFLAG_00080000 0x00080000 // unknown -#define PROPFLAG_00100000 0x00100000 // unknown -#define PROPFLAG_00200000 0x00200000 // unknown -#define PROPFLAG_00400000 0x00400000 // unknown -#define PROPFLAG_00800000 0x00800000 // unknown -#define PROPFLAG_01000000 0x01000000 // unknown -#define PROPFLAG_02000000 0x02000000 // unknown -#define PROPFLAG_04000000 0x04000000 // unknown -#define PROPFLAG_08000000 0x08000000 // unknown -#define PROPFLAG_10000000 0x10000000 // unknown -#define PROPFLAG_20000000 0x20000000 // unknown -#define PROPFLAG_40000000 0x40000000 // unknown -#define PROPFLAG_80000000 0x80000000 // unknown - -#define PROPFLAG2_00000001 0x00000001 // unknown -#define PROPFLAG2_00000002 0x00000002 // unknown -#define PROPFLAG2_00000004 0x00000004 // unknown -#define PROPFLAG2_00000008 0x00000008 // unknown -#define PROPFLAG2_00000010 0x00000010 // unknown -#define PROPFLAG2_00000020 0x00000020 // unknown -#define PROPFLAG2_00000040 0x00000040 // unknown -#define PROPFLAG2_00000080 0x00000080 // unknown -#define PROPFLAG2_00000100 0x00000100 // unknown -#define PROPFLAG2_00000200 0x00000200 // unknown -#define PROPFLAG2_00000400 0x00000400 // unknown -#define PROPFLAG2_00000800 0x00000800 // unknown -#define PROPFLAG2_00001000 0x00001000 // unknown -#define PROPFLAG2_00002000 0x00002000 // unknown -#define PROPFLAG2_00004000 0x00004000 // unknown -#define PROPFLAG2_00008000 0x00008000 // unknown -#define PROPFLAG2_00010000 0x00010000 // unknown -#define PROPFLAG2_00020000 0x00020000 // unknown -#define PROPFLAG2_00040000 0x00040000 // unknown -#define PROPFLAG2_00080000 0x00080000 // unknown -#define PROPFLAG2_00100000 0x00100000 // unknown -#define PROPFLAG2_00200000 0x00200000 // unknown -#define PROPFLAG2_00400000 0x00400000 // unknown -#define PROPFLAG2_00800000 0x00800000 // unknown -#define PROPFLAG2_01000000 0x01000000 // unknown -#define PROPFLAG2_02000000 0x02000000 // unknown -#define PROPFLAG2_04000000 0x04000000 // unknown -#define PROPFLAG2_08000000 0x08000000 // unknown -#define PROPFLAG2_10000000 0x10000000 // unknown -#define PROPFLAG2_20000000 0x20000000 // unknown -#define PROPFLAG2_40000000 0x40000000 // unknown -#define PROPFLAG2_80000000 0x80000000 // unknown - -// door lock flags -#define DOOR_LOCK_0 0x01 -#define DOOR_LOCK_1 0x02 -#define DOOR_LOCK_2 0x04 -#define DOOR_LOCK_3 0x08 -#define DOOR_LOCK_4 0x10 -#define DOOR_LOCK_5 0x20 -#define DOOR_LOCK_6 0x40 -#define DOOR_LOCK_7 0x80 - -#endif diff --git a/src/bondgame.h b/src/bondgame.h deleted file mode 100644 index f08c3c7..0000000 --- a/src/bondgame.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef _BOND_H_ -#define _BOND_H_ -#include "ultra64.h" - -extern u8 cfb_16_a[]; -extern u8 cfb_16_b[]; - -extern u32 *_codeSegmentStart; -extern u32 *_codeSegmentEnd; -extern u32 *_codeSegmentRomStart; -extern u32 *_codeSegmentRomEnd; - -extern u32 *_csegmentSegmentStart; -extern u32 *_csegmentSegmentEnd; -extern u32 *_cdataSegmentRomStart; -extern u32 *_cdataSegmentRomEnd; - -extern u32 *_rarezipSegmentVaddrStart; -extern u32 *_rarezipSegmentVaddrEnd; -extern u32 *_rarezipSegmentRomStart; -extern u32 *_rarezipSegmentRomEnd; - -extern u32 *_gameSegmentVaddrStart; -extern u32 *_gameSegmentVaddrEnd; -extern u32 *_gameSegmentRomStart; -extern u32 *_gameSegmentRomEnd; - - -extern u8 sp_boot[]; -extern u8 sp_rmon[]; -extern u8 sp_idle[]; -extern u8 sp_shed[]; -extern u8 sp_main[]; -extern u8 sp_audi[]; -extern u8 sp_debug[]; - -#include "bondaicommands.h" // game ai commands -#include "bondconstants.h" // game constants -#include "bondtypes.h" // game structs and types - -#endif diff --git a/src/bondtypes.h b/src/bondtypes.h deleted file mode 100644 index adab431..0000000 --- a/src/bondtypes.h +++ /dev/null @@ -1,322 +0,0 @@ -#ifndef _BONDTYPES_H_ -#define _BONDTYPES_H_ -#include "ultra64.h" -#include "bondconstants.h" -struct rgba_val{ - u8 r; - u8 g; - u8 b; - u8 a; -}; - -struct rgba_valf32{ - f32 r; - f32 g; - f32 b; - f32 a; -}; - -typedef struct CHRdata CHRdata, *PCHRdata; - -/* unfinished struct, WIP */ -struct CHRdata { - u16 chrnum; - s8 accuracyrating; - s8 speedrating; - u8 firecountleft; - u8 firecountright; - s8 headnum; - s8 actiontype; - s8 sleep; - s8 invalidmove; - s8 numclosearghs; - s8 numarghs; - u8 fadealpha; - s8 arghrating; - s8 aimendcount; - s8 bodynum; - /* 0x0010 */ - u8 grenadeprob; - s8 flinchcnt; - s16 hidden; - s32 chrflags; - void * pad; - void * model; - /* 0x0020 */ - void * field_20; - f32 chrwidth; - f32 chrheight; - void * bondpos; /* HACK - reused as fadeout counter on death, checks if pointer at 7F02B774 */ - /* 0x0030 */ - int field_30; - short field_34; - char field_36; - char field_37; - char field_38; - char field_39; - char field_3A; - char field_3B; - int path_target_position; - /* 0x0040 */ - int field_40; - int field_44; - int field_48; - int field_4C; - /* 0x0050 */ - int field_50; - int field_54; - char type_of_motion; - char distance_counter_or_something; - short distance_to_target; - int field_5C; - /* 0x0060 */ - int target_position; - int field_64; - int field_68; - int field_6C; - /* 0x0070 */ - int path_segment_coverage; - int path_segment_length; - int field_78; - int field_7C; - /* 0x0080 */ - int field_80; - int field_84; - int field_88; - int field_8C; - /* 0x0090 */ - int field_90; - int segment_coverage; - int segment_length; - int field_9C; - /* 0x00A0 */ - int field_A0; - f32 sumground; - f32 manground; - f32 ground; - /* 0x00B0 */ - f32 fallspeed[3]; - f32 prevpos[3]; - /* 0x00B8 */ - s32 lastwalk60; - s32 lastmoveok60; - /* 0x00D0 */ - f32 visionrange; - s32 lastseetarget60; - f32 lastvisibletarg[3]; - /* 0x00E4 */ - void * field_E4; - s32 timeshooter; - f32 hearingscale; - /* 0x00F0 */ - s32 lastheartarget60; - u8 shadecol[4]; - u8 nextcol[4]; - f32 damage; - /* 0x0100 */ - f32 maxdamage; - void * ailist; - u16 aioffset; - u16 aireturnlist; - u8 flags; /* used by ai commands 81-85 */ - u8 flags2; /* used by ai commands 86-8A */ - u8 BITFIELD; - u8 random; - /* 0x0110 */ - s32 timer60; - u16 padpreset1; /* ID PAD_PRESET */ - u16 chrpreset1; /* ID CHR_PRESET */ - u16 chrseeshot; /* ID CHR_SEE_SHOT - ignores invincible/armoured guards */ - u16 chrseedie; /* ID CHR_SEE_DIE */ - /* 0x011C */ - f32 field_11C[2]; - f32 field_124[2]; - f32 field_12C[2]; - /* 0x0134 */ - int field_134; - int field_138; - f32 shotbondsum; - /* 0x0140 */ - f32 aimuplshoulder; - f32 aimuprshoulder; - f32 aimupback; - f32 aimsideback; - /* 0x0150 */ - f32 aimendlshoulder; - f32 aimendrshoulder; - f32 aimendback; - f32 aimendsideback; - /* 0x0160 */ - int * handle_positiondata[2]; - int * ptr_SEbuffer1; - int * ptr_SEbuffer2; - /* 0x0170 */ - int * ptr_SEbuffer3; - int * ptr_SEbuffer4; - int field_178; - int field_17C; - /* 0x0180 */ - char field_180; - char field_181; - char field_182; - char field_183; - int field_184; - int field_188; - int field_18C; - /* 0x0190 */ - int field_190; - int field_194; - int field_198; - int field_19C; - /* 0x01A0 */ - int field_1A0; - int field_1A4; - int field_1A8; - char field_1AC; - char field_1AD; - char field_1AE; - char field_1AF; - /* 0x01B0 */ - int field_1B0; - int field_1B4; - int field_1B8; - int field_1BC; - /* 0x01C0 */ - int field_1C0; - int field_1C4; - int field_1C8; - int field_1CC; - /* 0x01D0 */ - int field_1D0; - int field_1D4; - 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/boot.c b/src/boot.c deleted file mode 100644 index 93ed246..0000000 --- a/src/boot.c +++ /dev/null @@ -1,108 +0,0 @@ -#include -#include "boot.h" -#include "bondgame.h" -#include "rarezip/rarezip.h" - -/** - * @file boot.c - * This file sets up initial tlb mapping then jumps to boot1. - * - * In particular, it: - * - also contains functions that grab segment addresses - * - will likely always be asm as it manipulates tlb directly - */ - - -/** - * 1050 70000450 registers 70000000-70400000 in TLB, JR to 70000510 - * technically, this is used in bootcode and used prior to TLB registration - */ -GLOBAL_ASM( -glabel boot -/* 001050 70000450 24020001 */ li $v0, 1 -/* 001054 70000454 24030000 */ li $v1, 0 -/* 001058 70000458 24040000 */ li $a0, 0 -/* 00105C 7000045C 3C057000 */ lui $a1, 0x7000 -/* 001060 70000460 2406001F */ li $a2, 31 -/* 001064 70000464 24070001 */ li $a3, 1 -/* 001068 70000468 3C08007F */ lui $t0, (0x007FE000 >> 16) # lui $t0, 0x7f -/* 00106C 7000046C 3508E000 */ ori $t0, (0x007FE000 & 0xFFFF) # ori $t0, $t0, 0xe000 -/* 001070 70000470 40820000 */ mtc0 $v0, $0 -/* 001074 70000474 00031B02 */ srl $v1, $v1, 0xc -/* 001078 70000478 00031980 */ sll $v1, $v1, 6 -/* 00107C 7000047C 00661821 */ addu $v1, $v1, $a2 -/* 001080 70000480 40831000 */ mtc0 $v1, $2 -/* 001084 70000484 00042302 */ srl $a0, $a0, 0xc -/* 001088 70000488 00042180 */ sll $a0, $a0, 6 -/* 00108C 7000048C 00872021 */ addu $a0, $a0, $a3 -/* 001090 70000490 40841800 */ mtc0 $a0, $3 -/* 001094 70000494 00052342 */ srl $a0, $a1, 0xd -/* 001098 70000498 00042340 */ sll $a0, $a0, 0xd -/* 00109C 7000049C 40845000 */ mtc0 $a0, $10 -/* 0010A0 700004A0 40882800 */ mtc0 $t0, $5 -/* 0010A4 700004A4 00000000 */ nop -/* 0010A8 700004A8 42000002 */ tlbwi -/* 0010AC 700004AC 3C0A7000 */ lui $t2, %hi(init) # $t2, 0x7000 -/* 0010B0 700004B0 254A0510 */ addiu $t2, %lo(init) # addiu $t2, $t2, 0x510 -/* 0010B4 700004B4 01400008 */ jr $t2 -/* 0010B8 700004B8 00000000 */ nop -) - -/** - * Due to alignments the following functions are included here - * these could have been assembly originally, or more likely part - * of the code inserted by the custom makerom rare created - */ - -/** - *10BC 700004BC V0=80020D90: target address for 21990 (USA) - */ -u32 *get_csegmentSegmentStart(void) -{ - return &_csegmentSegmentStart; -} - -/** - *10C8 700004C8 V0=21990: ROM address of main compressed block (USA) - */ -u32 *get_cdataSegmentRomStart(void) -{ - return &_cdataSegmentRomStart; -} - -/** - *10D4 700004D4 V0=33590: ROM address of 70200000 RareZip ASM [33590-34B30 ROM] (USA) - */ -u32 *get_cdataSegmentRomEnd(void) -{ - return &_cdataSegmentRomEnd; -} - -/** - *10E0 700004E0 V0=33590: ROM address of 70200000 RareZip ASM [33590-34B30 ROM] (USA) - */ -u32 *get_rarezipSegmentRomStart(void) -{ - return &_rarezipSegmentRomStart; -} - -/** - *10EC 700004EC V0=34B30: ROM address of 7F- TLB routines (USA) - */ -u32 *get_rarezipSegmentRomEnd(void) -{ - return &_rarezipSegmentRomEnd; -} - -/** - * 10F8 700004F8 redirect to 7020141C: decompression routine - * accepts: A0=p->source, A1=p->target, A2=p->buffer - * sets A3=7020141C, then jumps to address - */ -GLOBAL_ASM( -glabel jump_decompressfile -/* 0010F8 700004F8 3C077020 */ lui $a3, %hi(decompress_entry) # $a3, 0x7020 -/* 0010FC 700004FC 24E7141C */ addiu $a3, %lo(decompress_entry) # addiu $a3, $a3, 0x141c -/* 001100 70000500 00E00008 */ jr $a3 -/* 001104 70000504 00000000 */ nop -) diff --git a/src/boot.h b/src/boot.h deleted file mode 100644 index a1a8dbc..0000000 --- a/src/boot.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _BOOT_H_ -#define _BOOT_H_ -#include - -u32 *get_csegmentSegmentStart(void); -u32 *get_cdataSegmentRomStart(void); -u32 *get_cdataSegmentRomEnd(void); -u32 *get_rarezipSegmentRomStart(void); -u32 *get_rarezipSegmentRomEnd(void); -u32 jump_decompressfile(u32 source, u32 target, u32 buffer); - -#endif diff --git a/src/bootcode.s b/src/bootcode.s deleted file mode 100644 index 9dafb26..0000000 --- a/src/bootcode.s +++ /dev/null @@ -1,791 +0,0 @@ -# Super Mario 64 (J) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# 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" -/* 000040 00000000 40806800 */ mtc0 $zero, $13 -/* 000044 00000004 40804800 */ mtc0 $zero, $9 -/* 000048 00000008 40805800 */ mtc0 $zero, $11 -/* 00004C 0000000C 3C08A470 */ lui $t0, 0xa470 -/* 000050 00000010 25080000 */ addiu $t0, $t0, 0 -/* 000054 00000014 8D09000C */ lw $t1, 0xc($t0) -/* 000058 00000018 152000ED */ bnez $t1, .L000003D0 -/* 00005C 0000001C 00000000 */ nop -/* 000060 00000020 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 000064 00000024 AFB30000 */ sw $s3, ($sp) -/* 000068 00000028 AFB40004 */ sw $s4, 4($sp) -/* 00006C 0000002C AFB50008 */ sw $s5, 8($sp) -/* 000070 00000030 AFB6000C */ sw $s6, 0xc($sp) -/* 000074 00000034 AFB70010 */ sw $s7, 0x10($sp) -/* 000078 00000038 3C08A470 */ lui $t0, 0xa470 -/* 00007C 0000003C 25080000 */ addiu $t0, $t0, 0 -/* 000080 00000040 3C0AA3F8 */ lui $t2, %hi(0xA3F80004) # $t2, 0xa3f8 -/* 000084 00000044 3C0BA3F0 */ lui $t3, 0xa3f0 -/* 000088 00000048 3C0CA430 */ lui $t4, 0xa430 -/* 00008C 0000004C 258C0000 */ addiu $t4, $t4, 0 -/* 000090 00000050 34090040 */ ori $t1, $zero, 64 -/* 000094 00000054 AD090004 */ sw $t1, 4($t0) -/* 000098 00000058 24111F40 */ li $s1, 8000 -.L0000005C: -/* 00009C 0000005C 00000000 */ nop -/* 0000A0 00000060 2231FFFF */ addi $s1, $s1, -1 -/* 0000A4 00000064 1620FFFD */ bnez $s1, .L0000005C -/* 0000A8 00000068 00000000 */ nop -/* 0000AC 0000006C AD000008 */ sw $zero, 8($t0) -/* 0000B0 00000070 24090014 */ ori $t1, $zero, 20 -/* 0000B4 00000074 AD09000C */ sw $t1, 0xc($t0) -/* 0000B8 00000078 AD000000 */ sw $zero, ($t0) -/* 0000BC 0000007C 24110004 */ li $s1, 4 -.L00000080: -/* 0000C0 00000080 00000000 */ nop -/* 0000C4 00000084 2231FFFF */ addi $s1, $s1, -1 -/* 0000C8 00000088 1620FFFD */ bnez $s1, .L00000080 -/* 0000CC 0000008C 00000000 */ nop -/* 0000D0 00000090 3209000E */ ori $t1, $zero, 14 -/* 0000D4 00000094 AD090000 */ sw $t1, ($t0) -/* 0000D8 00000098 24110020 */ li $s1, 32 -.L0000009C: -/* 0000DC 0000009C 2231FFFF */ addi $s1, $s1, -1 -/* 0000E0 000000A0 1620FFFE */ bnez $s1, .L0000009C -/* 0000E4 000000A4 3409010F */ ori $t1, $zero, 271 -/* 0000E8 000000A8 AD890000 */ sw $t1, ($t4) -/* 0000EC 000000AC 3C091808 */ lui $t1, (0x18082838 >> 16) # lui $t1, 0x1808 -/* 0000F0 000000B0 35292838 */ ori $t1, (0x18082838 & 0xFFFF) # ori $t1, $t1, 0x2838 -/* 0000F4 000000B4 AD490008 */ sw $t1, %lo(0xA3F80008)($t2) -/* 0000F8 000000B8 AD400014 */ sw $zero, %lo(0xA3F80014)($t2) -/* 0000FC 000000BC 3C098000 */ lui $t1, 0x8000 -/* 000100 000000C0 AD490004 */ sw $t1, %lo(0xA3F80004)($t2) -/* 000104 000000C4 00006825 */ move $t5, $zero -/* 000108 000000C8 00007025 */ move $t6, $zero -/* 00010C 000000CC 3C0FA3F0 */ lui $t7, %hi(0xA3F00018) # $t7, 0xa3f0 -/* 000110 000000D0 0000C025 */ move $t8, $zero -/* 000114 000000D4 3C19A3F0 */ lui $t9, 0xa3f0 -/* 000118 000000D8 3C16A000 */ lui $s6, 0xa000 -/* 00011C 000000DC 0000B825 */ move $s7, $zero -/* 000120 000000E0 3C06A3F0 */ lui $a2, 0xa3f0 -/* 000124 000000E4 3C07A000 */ lui $a3, 0xa000 -/* 000128 000000E8 00009025 */ move $s2, $zero -/* 00012C 000000EC 3C14A000 */ lui $s4, 0xa000 -/* 000130 000000F0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 000134 000000F4 03A0F025 */ move $fp, $sp -/* 000138 000000F8 3C10A430 */ lui $s0, %hi(0xA4300004) # $s0, 0xa430 -/* 00013C 000000FC 8E100004 */ lw $s0, %lo(0xA4300004)($s0) -/* 000140 00000100 3C110101 */ lui $s1, 0x0101 # $s1, 0x101 -/* 000144 00000104 26310101 */ addiu $s1, 0x0101 # addiu $s1, $s1, 0x101 -/* 000148 00000108 16110005 */ bne $s0, $s1, .L00000120 -/* 00014C 0000010C 00000000 */ nop -/* 000150 00000110 24100200 */ li $s0, 512 -/* 000154 00000114 35714000 */ ori $s1, $t3, 0x4000 -/* 000158 00000118 10000003 */ b .L00000128 -/* 00015C 0000011C 00000000 */ nop -.L00000120: -/* 000160 00000120 24100400 */ li $s0, 1024 -/* 000164 00000124 35718000 */ ori $s1, $t3, 0x8000 -.L00000128: -/* 000168 00000128 AE2E0004 */ sw $t6, 4($s1) -/* 00016C 0000012C 25F5000C */ addiu $s5, $t7, 0xc -/* 000170 00000130 0D0001DE */ jal func_04000778 -/* 000174 00000134 00000000 */ nop -/* 000178 00000138 10400038 */ beqz $v0, .L0000021C -/* 00017C 0000013C 00000000 */ nop -/* 000180 00000140 AFA20000 */ sw $v0, ($sp) -/* 000184 00000144 24092000 */ li $t1, 8192 -/* 000188 00000148 AD890000 */ sw $t1, ($t4) -/* 00018C 0000014C 8DEB0000 */ lw $t3, ($t7) -/* 000190 00000150 3C08F0FF */ lui $t0, 0xf0ff -/* 000194 00000154 01685824 */ and $t3, $t3, $t0 -/* 000198 00000158 AFAB0004 */ sw $t3, 4($sp) -/* 00019C 0000015C 23BD0008 */ addi $sp, $sp, 8 -/* 0001A0 00000160 24091000 */ li $t1, 4096 -/* 0001A4 00000164 AD890000 */ sw $t1, ($t4) -/* 0001A8 00000168 3C08B019 */ lui $t0, 0xb019 -/* 0001AC 0000016C 1568000C */ bne $t3, $t0, .L000001A0 -/* 0001B0 00000170 00000000 */ nop -/* 0001B4 00000174 3C080800 */ lui $t0, 0x800 -/* 0001B8 00000178 0308C020 */ add $t8, $t8, $t0 -/* 0001BC 0000017C 0330C820 */ add $t9, $t9, $s0 -/* 0001C0 00000180 0330C820 */ add $t9, $t9, $s0 -/* 0001C4 00000184 3C080020 */ lui $t0, 0x20 -/* 0001C8 00000188 02C8B020 */ add $s6, $s6, $t0 -/* 0001CC 0000018C 0288A020 */ add $s4, $s4, $t0 -/* 0001D0 00000190 00129040 */ sll $s2, $s2, 1 -/* 0001D4 00000194 22520001 */ addi $s2, $s2, 1 -/* 0001D8 00000198 10000003 */ b .L000001A8 -/* 0001DC 0000019C 00000000 */ nop -.L000001A0: -/* 0001E0 000001A0 3C080010 */ lui $t0, 0x10 -/* 0001E4 000001A4 0288A020 */ add $s4, $s4, $t0 -.L000001A8: -/* 0001E8 000001A8 24082000 */ li $t0, 8192 -/* 0001EC 000001AC AD880000 */ sw $t0, ($t4) -/* 0001F0 000001B0 8DE90024 */ lw $t1, %lo(0xA3F00024)($t7) -/* 0001F4 000001B4 8DFA0000 */ lw $k0, ($t7) -/* 0001F8 000001B8 24081000 */ li $t0, 4096 -/* 0001FC 000001BC AD880000 */ sw $t0, ($t4) -/* 000200 000001C0 3129FFFF */ andi $t1, $t1, 0xffff -/* 000204 000001C4 24080500 */ li $t0, 1280 -/* 000208 000001C8 15280009 */ bne $t1, $t0, .L000001F0 -/* 00020C 000001CC 00000000 */ nop -/* 000210 000001D0 3C1B0100 */ lui $k1, 0x100 -/* 000214 000001D4 035BD024 */ and $k0, $k0, $k1 -/* 000218 000001D8 17400005 */ bnez $k0, .L000001F0 -/* 00021C 000001DC 00000000 */ nop -/* 000220 000001E0 3C08101C */ lui $t0, (0x101C0A04 >> 16) # lui $t0, 0x101c -/* 000224 000001E4 35080A04 */ ori $t0, (0x101C0A04 & 0xFFFF) # ori $t0, $t0, 0xa04 -/* 000228 000001E8 ADE80018 */ sw $t0, %lo(0xA3F00018)($t7) -/* 00022C 000001EC 10000003 */ b .L000001FC -.L000001F0: -/* 000230 000001F0 3C08080C */ lui $t0, (0x080C1204 >> 16) # lui $t0, 0x80c -/* 000234 000001F4 35081204 */ ori $t0, (0x080C1204 & 0xFFFF) # ori $t0, $t0, 0x1204 -/* 000238 000001F8 ADE80018 */ sw $t0, %lo(0xA3F00018)($t7) -.L000001FC: -/* 00023C 000001FC 3C080800 */ lui $t0, 0x800 -/* 000240 00000200 01C87020 */ add $t6, $t6, $t0 -/* 000244 00000204 01F07820 */ add $t7, $t7, $s0 -/* 000248 00000208 01F07820 */ add $t7, $t7, $s0 -/* 00024C 0000020C 25AD0001 */ addiu $t5, $t5, 1 -/* 000250 00000210 2DA80008 */ sltiu $t0, $t5, 8 -/* 000254 00000214 1500FFC4 */ bnez $t0, .L00000128 -/* 000258 00000218 00000000 */ nop -.L0000021C: -/* 00025C 0000021C 3C08C400 */ lui $t0, 0xc400 -/* 000260 00000220 AD48000C */ sw $t0, %lo(0xA3F8000C)($t2) -/* 000264 00000224 3C088000 */ lui $t0, 0x8000 -/* 000268 00000228 AD480004 */ sw $t0, %lo(0xA3F80004)($t2) -/* 00026C 0000022C 03C0E825 */ move $sp, $fp -/* 000270 00000230 00001825 */ move $v1, $zero -.L00000234: -/* 000274 00000234 8FA90004 */ lw $t1, 4($sp) -/* 000278 00000238 3C08B009 */ lui $t0, 0xb009 -/* 00027C 0000023C 15280016 */ bne $t1, $t0, .L00000298 -/* 000280 00000240 00000000 */ nop -/* 000284 00000244 AE380004 */ sw $t8, 4($s1) -/* 000288 00000248 2735000C */ addiu $s5, $t9, 0xc -/* 00028C 0000024C 8FA40000 */ lw $a0, ($sp) -/* 000290 00000250 23BD0008 */ addi $sp, $sp, 8 -/* 000294 00000254 24050001 */ li $a1, 1 -/* 000298 00000258 0D000290 */ jal func_04000A40 -/* 00029C 0000025C 00000000 */ nop -/* 0002A0 00000260 8EC80000 */ lw $t0, ($s6) -/* 0002A4 00000264 3C080008 */ lui $t0, 8 -/* 0002A8 00000268 01164020 */ add $t0, $t0, $s6 -/* 0002AC 0000026C 8D090000 */ lw $t1, ($t0) -/* 0002B0 00000270 8EC80000 */ lw $t0, ($s6) -/* 0002B4 00000274 3C080008 */ lui $t0, 8 -/* 0002B8 00000278 01164020 */ add $t0, $t0, $s6 -/* 0002BC 0000027C 8D090000 */ lw $t1, ($t0) -/* 0002C0 00000280 3C080400 */ lui $t0, 0x400 -/* 0002C4 00000284 01C87020 */ add $t6, $t6, $t0 -/* 0002C8 00000288 0330C820 */ add $t9, $t9, $s0 -/* 0002CC 0000028C 3C080010 */ lui $t0, 0x10 -/* 0002D0 00000290 02C8B020 */ add $s6, $s6, $t0 -/* 0002D4 00000294 10000021 */ b .L0000031C -.L00000298: -/* 0002D8 00000298 AE370004 */ sw $s7, 4($s1) -/* 0002DC 0000029C 24D5000C */ addiu $s5, $a2, 0xc -/* 0002E0 000002A0 8FA40000 */ lw $a0, ($sp) -/* 0002E4 000002A4 23BD0008 */ addi $sp, $sp, 8 -/* 0002E8 000002A8 24050001 */ li $a1, 1 -/* 0002EC 000002AC 0D000290 */ jal func_04000A40 -/* 0002F0 000002B0 00000000 */ nop -/* 0002F4 000002B4 8CE80000 */ lw $t0, ($a3) -/* 0002F8 000002B8 3C080008 */ lui $t0, 8 -/* 0002FC 000002BC 01074020 */ add $t0, $t0, $a3 -/* 000300 000002C0 8D090000 */ lw $t1, ($t0) -/* 000304 000002C4 3C080010 */ lui $t0, 0x10 -/* 000308 000002C8 01074020 */ add $t0, $t0, $a3 -/* 00030C 000002CC 8D090000 */ lw $t1, ($t0) -/* 000310 000002D0 3C080018 */ lui $t0, 0x18 -/* 000314 000002D4 01074020 */ add $t0, $t0, $a3 -/* 000318 000002D8 8D090000 */ lw $t1, ($t0) -/* 00031C 000002DC 8CE80000 */ lw $t0, ($a3) -/* 000320 000002E0 3C080008 */ lui $t0, 8 -/* 000324 000002E4 01074020 */ add $t0, $t0, $a3 -/* 000328 000002E8 8D090000 */ lw $t1, ($t0) -/* 00032C 000002EC 3C080010 */ lui $t0, 0x10 -/* 000330 000002F0 01074020 */ add $t0, $t0, $a3 -/* 000334 000002F4 8D090000 */ lw $t1, ($t0) -/* 000338 000002F8 3C080018 */ lui $t0, 0x18 -/* 00033C 000002FC 01074020 */ add $t0, $t0, $a3 -/* 000340 00000300 8D090000 */ lw $t1, ($t0) -/* 000344 00000304 3C080800 */ lui $t0, 0x800 -/* 000348 00000308 02E8B820 */ add $s7, $s7, $t0 -/* 00034C 0000030C 00D03020 */ add $a2, $a2, $s0 -/* 000350 00000310 00D03020 */ add $a2, $a2, $s0 -/* 000354 00000314 3C080020 */ lui $t0, 0x20 -/* 000358 00000318 00E83820 */ add $a3, $a3, $t0 -.L0000031C: -/* 00035C 0000031C 24630001 */ addiu $v1, $v1, 1 -/* 000360 00000320 006D402A */ slt $t0, $v1, $t5 -/* 000364 00000324 1500FFC3 */ bnez $t0, .L00000234 -/* 000368 00000328 00000000 */ nop -/* 00036C 0000032C 3C0AA470 */ lui $t2, %hi(0xA4700010) # $t2, 0xa470 -/* 000370 00000330 001294C0 */ sll $s2, $s2, 0x13 -/* 000374 00000334 3C090006 */ lui $t1, (0x00063634 >> 16) # lui $t1, 6 -/* 000378 00000338 35293634 */ ori $t1, (0x00063634 & 0xFFFF) # ori $t1, $t1, 0x3634 -/* 00037C 0000033C 01324825 */ or $t1, $t1, $s2 -/* 000380 00000340 AD490010 */ sw $t1, %lo(0xA4700010)($t2) -/* 000384 00000344 8D490010 */ lw $t1, %lo(0xA4700010)($t2) -/* 000388 00000348 3C08A000 */ lui $t0, %hi(0xA0000018) # $t0, 0xa000 -/* 00038C 0000034C 35080300 */ ori $t0, (0xA0000300 & 0xFFFF) # ori $t0, $t0, 0x300 -/* 000390 00000350 3C090FFF */ lui $t1, (0x0FFFFFFF >> 16) # lui $t1, 0xfff -/* 000394 00000354 3529FFFF */ ori $t1, (0x0FFFFFFF & 0xFFFF) # ori $t1, $t1, 0xffff -/* 000398 00000358 02C9B024 */ and $s6, $s6, $t1 -/* 00039C 0000035C AD160018 */ sw $s6, %lo(0xA0000018)($t0) -/* 0003A0 00000360 03C0E825 */ move $sp, $fp -/* 0003A4 00000364 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0003A8 00000368 8FB30000 */ lw $s3, ($sp) -/* 0003AC 0000036C 8FB40004 */ lw $s4, 4($sp) -/* 0003B0 00000370 8FB50008 */ lw $s5, 8($sp) -/* 0003B4 00000374 8FB6000C */ lw $s6, 0xc($sp) -/* 0003B8 00000378 8FB70010 */ lw $s7, 0x10($sp) -/* 0003BC 0000037C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0003C0 00000380 3C088000 */ lui $t0, 0x8000 -/* 0003C4 00000384 25080000 */ addiu $t0, $t0, 0 -/* 0003C8 00000388 25094000 */ addiu $t1, $t0, 0x4000 -/* 0003CC 0000038C 2529FFE0 */ addiu $t1, $t1, -0x20 -/* 0003D0 00000390 4080E000 */ mtc0 $zero, $28 -/* 0003D4 00000394 4080E800 */ mtc0 $zero, $29 -.L00000398: -/* 0003D8 00000398 BD080000 */ cache 8, ($t0) -/* 0003DC 0000039C 0109082B */ sltu $at, $t0, $t1 -/* 0003E0 000003A0 1420FFFD */ bnez $at, .L00000398 -/* 0003E4 000003A4 25080020 */ addiu $t0, $t0, 0x20 -/* 0003E8 000003A8 3C088000 */ lui $t0, 0x8000 -/* 0003EC 000003AC 25080000 */ addiu $t0, $t0, 0 -/* 0003F0 000003B0 25092000 */ addiu $t1, $t0, 0x2000 -/* 0003F4 000003B4 2529FFF0 */ addiu $t1, $t1, -0x10 -.L000003B8: -/* 0003F8 000003B8 BD090000 */ cache 9, ($t0) -/* 0003FC 000003BC 0109082B */ sltu $at, $t0, $t1 -/* 000400 000003C0 1420FFFD */ bnez $at, .L000003B8 -/* 000404 000003C4 25080010 */ addiu $t0, $t0, 0x10 -/* 000408 000003C8 10000013 */ b .L00000418 -/* 00040C 000003CC 00000000 */ nop -.L000003D0: -/* 000410 000003D0 3C088000 */ lui $t0, 0x8000 -/* 000414 000003D4 25080000 */ addiu $t0, $t0, 0 -/* 000418 000003D8 25094000 */ addiu $t1, $t0, 0x4000 -/* 00041C 000003DC 2529FFE0 */ addiu $t1, $t1, -0x20 -/* 000420 000003E0 4080E000 */ mtc0 $zero, $28 -/* 000424 000003E4 4080E800 */ mtc0 $zero, $29 -.L000003E8: -/* 000428 000003E8 BD080000 */ cache 8, ($t0) -/* 00042C 000003EC 0109082B */ sltu $at, $t0, $t1 -/* 000430 000003F0 1420FFFD */ bnez $at, .L000003E8 -/* 000434 000003F4 25080020 */ addiu $t0, $t0, 0x20 -/* 000438 000003F8 3C088000 */ lui $t0, 0x8000 -/* 00043C 000003FC 25080000 */ addiu $t0, $t0, 0 -/* 000440 00000400 25092000 */ addiu $t1, $t0, 0x2000 -/* 000444 00000404 2529FFF0 */ addiu $t1, $t1, -0x10 -.L00000408: -/* 000448 00000408 BD010000 */ cache 1, ($t0) -/* 00044C 0000040C 0109082B */ sltu $at, $t0, $t1 -/* 000450 00000410 1420FFFD */ bnez $at, .L00000408 -/* 000454 00000414 25080010 */ addiu $t0, $t0, 0x10 -.L00000418: -/* 000458 00000418 3C0AA400 */ lui $t2, 0xa400 -/* 00045C 0000041C 254A0000 */ addiu $t2, $t2, 0 -/* 000460 00000420 3C0BFFF0 */ lui $t3, 0xfff0 -/* 000464 00000424 3C090010 */ lui $t1, 0x0010 # $t1, 0x10 -/* 000468 00000428 014B5024 */ and $t2, $t2, $t3 -/* 00046C 0000042C 3C08A400 */ lui $t0, %hi(0xA40004C0) # $t0, 0xa400 -/* 000470 00000430 2529FFFF */ addiu $t1, -1 # addiu $t1, $t1, -1 -/* 000474 00000434 3C0BA400 */ lui $t3, %hi(0xA4000774) # $t3, 0xa400 -/* 000478 00000438 250804C0 */ addiu $t0, %lo(0xA40004C0) # addiu $t0, $t0, 0x4c0 -/* 00047C 0000043C 256B0774 */ addiu $t3, %lo(0xA4000774) # addiu $t3, $t3, 0x774 -/* 000480 00000440 01094024 */ and $t0, $t0, $t1 -/* 000484 00000444 01695824 */ and $t3, $t3, $t1 -/* 000488 00000448 3C09A000 */ lui $t1, 0xa000 -/* 00048C 0000044C 010A4025 */ or $t0, $t0, $t2 -/* 000490 00000450 016A5825 */ or $t3, $t3, $t2 -/* 000494 00000454 25290000 */ addiu $t1, $t1, 0 -.L00000458: -/* 000498 00000458 8D0D0000 */ lw $t5, ($t0) -/* 00049C 0000045C 25080004 */ addiu $t0, $t0, 4 -/* 0004A0 00000460 010B082B */ sltu $at, $t0, $t3 -/* 0004A4 00000464 25290004 */ addiu $t1, $t1, 4 -/* 0004A8 00000468 1420FFFB */ bnez $at, .L00000458 -/* 0004AC 0000046C AD2DFFFC */ sw $t5, -4($t1) -/* 0004B0 00000470 3C0C8000 */ lui $t4, 0x8000 -/* 0004B4 00000474 258C0000 */ addiu $t4, $t4, 0 -/* 0004B8 00000478 01800008 */ jr $t4 -/* 0004BC 0000047C 00000000 */ nop -/* 0004C0 00000480 3C0BB000 */ lui $t3, %hi(0xB0000008) # $t3, 0xb000 -/* 0004C4 00000484 8D690008 */ lw $t1, %lo(0xB0000008)($t3) -/* 0004C8 00000488 3C0A1FFF */ lui $t2, (0x1FFFFFFF >> 16) # lui $t2, 0x1fff -/* 0004CC 0000048C 354AFFFF */ ori $t2, (0x1FFFFFFF & 0xFFFF) # ori $t2, $t2, 0xffff -/* 0004D0 00000490 3C01A460 */ lui $at, 0xa460 -/* 0004D4 00000494 012A4824 */ and $t1, $t1, $t2 -/* 0004D8 00000498 AC290000 */ sw $t1, ($at) -/* 0004DC 0000049C 3C08A460 */ lui $t0, %hi(0xA4600010) # $t0, 0xa460 -.L000004A0: -/* 0004E0 000004A0 8D080010 */ lw $t0, %lo(0xA4600010)($t0) -/* 0004E4 000004A4 31080002 */ andi $t0, $t0, 2 -/* 0004E8 000004A8 5500FFFD */ bnezl $t0, .L000004A0 -/* 0004EC 000004AC 3C08A460 */ lui $t0, 0xa460 -/* 0004F0 000004B0 24081000 */ li $t0, 4096 -/* 0004F4 000004B4 010B4020 */ add $t0, $t0, $t3 -/* 0004F8 000004B8 010A4024 */ and $t0, $t0, $t2 -/* 0004FC 000004BC 3C01A460 */ lui $at, %hi(0xA4600004) # $at, 0xa460 -/* 000500 000004C0 AC280004 */ sw $t0, %lo(0xA4600004)($at) -/* 000504 000004C4 3C0A0010 */ lui $t2, 0x0010 # $t2, 0x10 -/* 000508 000004C8 254AFFFF */ addiu $t2, 0xFFFF # addiu $t2, $t2, -1 -/* 00050C 000004CC 3C01A460 */ lui $at, %hi(0xA460000C) # $at, 0xa460 -/* 000510 000004D0 AC2A000C */ sw $t2, %lo(0xA460000C)($at) - -.L000004D4: -/* 000514 000004D4 00000000 */ nop -/* 000518 000004D8 00000000 */ nop -/* 00051C 000004DC 00000000 */ nop -/* 000520 000004E0 00000000 */ nop -/* 000524 000004E4 00000000 */ nop -/* 000528 000004E8 00000000 */ nop -/* 00052C 000004EC 00000000 */ nop -/* 000530 000004F0 00000000 */ nop -/* 000534 000004F4 00000000 */ nop -/* 000538 000004F8 00000000 */ nop -/* 00053C 000004FC 00000000 */ nop -/* 000540 00000500 00000000 */ nop -/* 000544 00000504 00000000 */ nop -/* 000548 00000508 00000000 */ nop -/* 00054C 0000050C 00000000 */ nop -/* 000550 00000510 00000000 */ nop -/* 000554 00000514 00000000 */ nop -/* 000558 00000518 00000000 */ nop -/* 00055C 0000051C 00000000 */ nop -/* 000560 00000520 00000000 */ nop -/* 000564 00000524 00000000 */ nop -/* 000568 00000528 00000000 */ nop -/* 00056C 0000052C 00000000 */ nop -/* 000570 00000530 00000000 */ nop -/* 000574 00000534 00000000 */ nop -/* 000578 00000538 00000000 */ nop -/* 00057C 0000053C 00000000 */ nop -/* 000580 00000540 00000000 */ nop -/* 000584 00000544 3C0BA460 */ lui $t3, %hi(0xA4600010) # $t3, 0xa460 -/* 000588 00000548 8D6B0010 */ lw $t3, %lo(0xA4600010)($t3) -/* 00058C 0000054C 316B0001 */ andi $t3, $t3, 1 -/* 000590 00000550 1560FFE0 */ bnez $t3, .L000004D4 -/* 000594 00000554 00000000 */ nop -/* 000598 00000558 3C0BB000 */ lui $t3, %hi(0xB0000008) # $t3, 0xb000 -/* 00059C 0000055C 8D640008 */ lw $a0, %lo(0xB0000008)($t3) -/* 0005A0 00000560 02C02825 */ move $a1, $s6 -/* 0005A4 00000564 3C015D58 */ lui $at, (0x5D588B65 >> 16) # lui $at, 0x5d58 -/* 0005A8 00000568 34218B65 */ ori $at, (0x5D588B65 & 0xFFFF) # ori $at, $at, 0x8b65 -/* 0005AC 0000056C 00A10019 */ multu $a1, $at -/* 0005B0 00000570 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0005B4 00000574 AFBF001C */ sw $ra, 0x1c($sp) -/* 0005B8 00000578 AFB00014 */ sw $s0, 0x14($sp) -/* 0005BC 0000057C 3C1F0010 */ lui $ra, 0x10 -/* 0005C0 00000580 00001825 */ move $v1, $zero -/* 0005C4 00000584 00004025 */ move $t0, $zero -/* 0005C8 00000588 00804825 */ move $t1, $a0 -/* 0005CC 0000058C 240D0020 */ li $t5, 32 -/* 0005D0 00000590 00001012 */ mflo $v0 -/* 0005D4 00000594 24420001 */ addiu $v0, $v0, 1 -/* 0005D8 00000598 00403825 */ move $a3, $v0 -/* 0005DC 0000059C 00405025 */ move $t2, $v0 -/* 0005E0 000005A0 00405825 */ move $t3, $v0 -/* 0005E4 000005A4 00408025 */ move $s0, $v0 -/* 0005E8 000005A8 00403025 */ move $a2, $v0 -/* 0005EC 000005AC 00406025 */ move $t4, $v0 -.L000005B0: -/* 0005F0 000005B0 8D220000 */ lw $v0, ($t1) -/* 0005F4 000005B4 00E21821 */ addu $v1, $a3, $v0 -/* 0005F8 000005B8 0067082B */ sltu $at, $v1, $a3 -/* 0005FC 000005BC 10200002 */ beqz $at, .L000005C8 -/* 000600 000005C0 00602825 */ move $a1, $v1 -/* 000604 000005C4 254A0001 */ addiu $t2, $t2, 1 -.L000005C8: -/* 000608 000005C8 3043001F */ andi $v1, $v0, 0x1f -/* 00060C 000005CC 01A37823 */ subu $t7, $t5, $v1 -/* 000610 000005D0 01E2C006 */ srlv $t8, $v0, $t7 -/* 000614 000005D4 00627004 */ sllv $t6, $v0, $v1 -/* 000618 000005D8 01D82025 */ or $a0, $t6, $t8 -/* 00061C 000005DC 00C2082B */ sltu $at, $a2, $v0 -/* 000620 000005E0 00A03825 */ move $a3, $a1 -/* 000624 000005E4 01625826 */ xor $t3, $t3, $v0 -/* 000628 000005E8 10200004 */ beqz $at, .L000005FC -/* 00062C 000005EC 02048021 */ addu $s0, $s0, $a0 -/* 000630 000005F0 00E2C826 */ xor $t9, $a3, $v0 -/* 000634 000005F4 10000002 */ b .L00000600 -/* 000638 000005F8 03263026 */ xor $a2, $t9, $a2 -.L000005FC: -/* 00063C 000005FC 00C43026 */ xor $a2, $a2, $a0 -.L00000600: -/* 000640 00000600 25080004 */ addiu $t0, $t0, 4 -/* 000644 00000604 00507826 */ xor $t7, $v0, $s0 -/* 000648 00000608 25290004 */ addiu $t1, $t1, 4 -/* 00064C 0000060C 151FFFE8 */ bne $t0, $ra, .L000005B0 -/* 000650 00000610 01EC6021 */ addu $t4, $t7, $t4 -/* 000654 00000614 00EA7026 */ xor $t6, $a3, $t2 -/* 000658 00000618 01CB3826 */ xor $a3, $t6, $t3 -/* 00065C 0000061C 0206C026 */ xor $t8, $s0, $a2 -/* 000660 00000620 030C8026 */ xor $s0, $t8, $t4 -/* 000664 00000624 3C0BB000 */ lui $t3, %hi(0xB0000014) # $t3, 0xb000 -/* 000668 00000628 8D680010 */ lw $t0, %lo(0xB0000010)($t3) -/* 00066C 0000062C 14E80006 */ bne $a3, $t0, .L00000648 -/* 000670 00000630 00000000 */ nop -/* 000674 00000634 8D680014 */ lw $t0, %lo(0xB0000014)($t3) -/* 000678 00000638 16080003 */ bne $s0, $t0, .L00000648 -/* 00067C 0000063C 00000000 */ nop -/* 000680 00000640 04110003 */ bal func_00000650 -/* 000684 00000644 00000000 */ nop -glabel func_00000648 -.L00000648: -/* 000688 00000648 0411FFFF */ bal func_00000648 -/* 00068C 0000064C 00000000 */ nop -glabel func_00000650 -/* 000690 00000650 3C09A408 */ lui $t1, 0xa408 -/* 000694 00000654 8D290000 */ lw $t1, ($t1) -/* 000698 00000658 8FB00014 */ lw $s0, 0x14($sp) -/* 00069C 0000065C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0006A0 00000660 11200006 */ beqz $t1, .L0000067C -/* 0006A4 00000664 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0006A8 00000668 240A0041 */ li $t2, 65 -/* 0006AC 0000066C 3C01A404 */ lui $at, %hi(0xA4040010) # $at, 0xa404 -/* 0006B0 00000670 AC2A0010 */ sw $t2, %lo(0xA4040010)($at) -/* 0006B4 00000674 3C01A408 */ lui $at, 0xa408 -/* 0006B8 00000678 AC200000 */ sw $zero, ($at) -.L0000067C: -/* 0006BC 0000067C 3C0B00AA */ lui $t3, (0x00AAAAAE >> 16) # lui $t3, 0xaa -/* 0006C0 00000680 356BAAAE */ ori $t3, (0x00AAAAAE & 0xFFFF) # ori $t3, $t3, 0xaaae -/* 0006C4 00000684 3C01A404 */ lui $at, %hi(0xA4040010) # $at, 0xa404 -/* 0006C8 00000688 AC2B0010 */ sw $t3, %lo(0xA4040010)($at) -/* 0006CC 0000068C 3C01A430 */ lui $at, %hi(0xA430000C) # $at, 0xa430 -/* 0006D0 00000690 24080555 */ li $t0, 1365 -/* 0006D4 00000694 AC28000C */ sw $t0, %lo(0xA430000C)($at) -/* 0006D8 00000698 3C01A480 */ lui $at, %hi(0xA4800018) # $at, 0xa480 -/* 0006DC 0000069C AC200018 */ sw $zero, %lo(0xA4800018)($at) -/* 0006E0 000006A0 3C01A450 */ lui $at, %hi(0xA450000C) # $at, 0xa450 -/* 0006E4 000006A4 AC20000C */ sw $zero, %lo(0xA450000C)($at) -/* 0006E8 000006A8 3C01A430 */ lui $at, 0xa430 -/* 0006EC 000006AC 24090800 */ li $t1, 2048 -/* 0006F0 000006B0 AC290000 */ sw $t1, ($at) -/* 0006F4 000006B4 24090002 */ li $t1, 2 -/* 0006F8 000006B8 3C01A460 */ lui $at, %hi(0xA4600010) # $at, 0xa460 -/* 0006FC 000006BC 3C08A000 */ lui $t0, %hi(0xA0000008) # $t0, 0xa000 -/* 000700 000006C0 35080300 */ ori $t0, (0xA0000300 & 0xFFFF) # ori $t0, $t0, 0x300 -/* 000704 000006C4 AC290010 */ sw $t1, %lo(0xA4600010)($at) -/* 000708 000006C8 AD170014 */ sw $s7, %lo(0xA0000014)($t0) -/* 00070C 000006CC AD15000C */ sw $s5, %lo(0xA000000C)($t0) -/* 000710 000006D0 AD130004 */ sw $s3, %lo(0xA0000004)($t0) -/* 000714 000006D4 12600004 */ beqz $s3, .L000006E8 -/* 000718 000006D8 AD140000 */ sw $s4, ($t0) -/* 00071C 000006DC 3C09A600 */ lui $t1, 0xa600 -/* 000720 000006E0 10000003 */ b .L000006F0 -/* 000724 000006E4 25290000 */ addiu $t1, $t1, 0 -.L000006E8: -/* 000728 000006E8 3C09B000 */ lui $t1, 0xb000 -/* 00072C 000006EC 25290000 */ addiu $t1, $t1, 0 -.L000006F0: -/* 000730 000006F0 AD090008 */ sw $t1, %lo(0xA0000008)($t0) -/* 000734 000006F4 3C08A400 */ lui $t0, 0xa400 -/* 000738 000006F8 25080000 */ addiu $t0, $t0, 0 -/* 00073C 000006FC 21091000 */ addi $t1, $t0, 0x1000 -.L00000700: -/* 000740 00000700 25080004 */ addiu $t0, $t0, 4 -/* 000744 00000704 1509FFFE */ bne $t0, $t1, .L00000700 -/* 000748 00000708 AD00FFFC */ sw $zero, -4($t0) -/* 00074C 0000070C 3C08A400 */ lui $t0, %hi(0xA4001000) # $t0, 0xa400 -/* 000750 00000710 25081000 */ addiu $t0, %lo(0xA4001000) # addiu $t0, $t0, 0x1000 -/* 000754 00000714 21091000 */ addi $t1, $t0, 0x1000 -.L00000718: -/* 000758 00000718 25080004 */ addiu $t0, $t0, 4 -/* 00075C 0000071C 1509FFFE */ bne $t0, $t1, .L00000718 -/* 000760 00000720 AD00FFFC */ sw $zero, -4($t0) -/* 000764 00000724 3C0BB000 */ lui $t3, %hi(0xB0000008) # $t3, 0xb000 -/* 000768 00000728 8D690008 */ lw $t1, %lo(0xB0000008)($t3) -/* 00076C 0000072C 01200008 */ jr $t1 -/* 000770 00000730 00000000 */ nop -/* 000774 00000734 00000000 */ nop -glabel func_04000778 -/* 000778 00000738 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 00077C 0000073C AFB00040 */ sw $s0, 0x40($sp) -/* 000780 00000740 AFB10044 */ sw $s1, 0x44($sp) -/* 000784 00000744 00008825 */ move $s1, $zero -/* 000788 00000748 00008025 */ move $s0, $zero -/* 00078C 0000074C AFA20000 */ sw $v0, ($sp) -/* 000790 00000750 AFA30004 */ sw $v1, 4($sp) -/* 000794 00000754 AFA40008 */ sw $a0, 8($sp) -/* 000798 00000758 AFA5000C */ sw $a1, 0xc($sp) -/* 00079C 0000075C AFA60010 */ sw $a2, 0x10($sp) -/* 0007A0 00000760 AFA70014 */ sw $a3, 0x14($sp) -/* 0007A4 00000764 AFA80018 */ sw $t0, 0x18($sp) -/* 0007A8 00000768 AFA9001C */ sw $t1, 0x1c($sp) -/* 0007AC 0000076C AFAA0020 */ sw $t2, 0x20($sp) -/* 0007B0 00000770 AFAB0024 */ sw $t3, 0x24($sp) -/* 0007B4 00000774 AFAC0028 */ sw $t4, 0x28($sp) -/* 0007B8 00000778 AFAD002C */ sw $t5, 0x2c($sp) -/* 0007BC 0000077C AFAE0030 */ sw $t6, 0x30($sp) -/* 0007C0 00000780 AFAF0034 */ sw $t7, 0x34($sp) -/* 0007C4 00000784 AFB80038 */ sw $t8, 0x38($sp) -/* 0007C8 00000788 AFB9003C */ sw $t9, 0x3c($sp) -/* 0007CC 0000078C AFB20048 */ sw $s2, 0x48($sp) -/* 0007D0 00000790 AFB3004C */ sw $s3, 0x4c($sp) -/* 0007D4 00000794 AFB40050 */ sw $s4, 0x50($sp) -/* 0007D8 00000798 AFB50054 */ sw $s5, 0x54($sp) -/* 0007DC 0000079C AFB60058 */ sw $s6, 0x58($sp) -/* 0007E0 000007A0 AFB7005C */ sw $s7, 0x5c($sp) -/* 0007E4 000007A4 AFBE0060 */ sw $fp, 0x60($sp) -/* 0007E8 000007A8 AFBF0064 */ sw $ra, 0x64($sp) -.L000007AC: -/* 0007EC 000007AC 0D000220 */ jal func_04000880 -/* 0007F0 000007B0 00000000 */ nop -/* 0007F4 000007B4 26100001 */ addiu $s0, $s0, 1 -/* 0007F8 000007B8 2A090004 */ slti $t1, $s0, 4 -/* 0007FC 000007BC 1520FFFB */ bnez $t1, .L000007AC -/* 000800 000007C0 02228821 */ addu $s1, $s1, $v0 -/* 000804 000007C4 00112082 */ srl $a0, $s1, 2 -/* 000808 000007C8 0D000290 */ jal func_04000A40 -/* 00080C 000007CC 24050001 */ li $a1, 1 -/* 000810 000007D0 8FBF0064 */ lw $ra, 0x64($sp) -/* 000814 000007D4 00111082 */ srl $v0, $s1, 2 -/* 000818 000007D8 8FB10044 */ lw $s1, 0x44($sp) -/* 00081C 000007DC 8FA30004 */ lw $v1, 4($sp) -/* 000820 000007E0 8FA40008 */ lw $a0, 8($sp) -/* 000824 000007E4 8FA5000C */ lw $a1, 0xc($sp) -/* 000828 000007E8 8FA60010 */ lw $a2, 0x10($sp) -/* 00082C 000007EC 8FA70014 */ lw $a3, 0x14($sp) -/* 000830 000007F0 8FA80018 */ lw $t0, 0x18($sp) -/* 000834 000007F4 8FA9001C */ lw $t1, 0x1c($sp) -/* 000838 000007F8 8FAA0020 */ lw $t2, 0x20($sp) -/* 00083C 000007FC 8FAB0024 */ lw $t3, 0x24($sp) -/* 000840 00000800 8FAC0028 */ lw $t4, 0x28($sp) -/* 000844 00000804 8FAD002C */ lw $t5, 0x2c($sp) -/* 000848 00000808 8FAE0030 */ lw $t6, 0x30($sp) -/* 00084C 0000080C 8FAF0034 */ lw $t7, 0x34($sp) -/* 000850 00000810 8FB80038 */ lw $t8, 0x38($sp) -/* 000854 00000814 8FB9003C */ lw $t9, 0x3c($sp) -/* 000858 00000818 8FB00040 */ lw $s0, 0x40($sp) -/* 00085C 0000081C 8FB20048 */ lw $s2, 0x48($sp) -/* 000860 00000820 8FB3004C */ lw $s3, 0x4c($sp) -/* 000864 00000824 8FB40050 */ lw $s4, 0x50($sp) -/* 000868 00000828 8FB50054 */ lw $s5, 0x54($sp) -/* 00086C 0000082C 8FB60058 */ lw $s6, 0x58($sp) -/* 000870 00000830 8FB7005C */ lw $s7, 0x5c($sp) -/* 000874 00000834 8FBE0060 */ lw $fp, 0x60($sp) -/* 000878 00000838 03E00008 */ jr $ra -/* 00087C 0000083C 27BD00A0 */ addiu $sp, $sp, 0xa0 - -glabel func_04000880 -/* 000880 00000840 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 000884 00000844 AFBF001C */ sw $ra, 0x1c($sp) -/* 000888 00000848 00004825 */ move $t1, $zero -/* 00088C 0000084C 00005825 */ move $t3, $zero -/* 000890 00000850 00006025 */ move $t4, $zero -.L00000854: -/* 000894 00000854 299A0040 */ slti $k0, $t4, 0x40 -/* 000898 00000858 53400018 */ beql $k0, $zero, .L000008BC -/* 00089C 0000085C 00001025 */ move $v0, $zero -/* 0008A0 00000860 0D000243 */ jal func_0400090C -/* 0008A4 00000864 01802025 */ move $a0, $t4 -/* 0008A8 00000868 58400008 */ blezl $v0, .L0000088C -/* 0008AC 0000086C 293A0050 */ slti $k0, $t1, 0x50 -/* 0008B0 00000870 0049D023 */ subu $k0, $v0, $t1 -/* 0008B4 00000874 034C0019 */ multu $k0, $t4 -/* 0008B8 00000878 00404825 */ move $t1, $v0 -/* 0008BC 0000087C 0000D012 */ mflo $k0 -/* 0008C0 00000880 017A5821 */ addu $t3, $t3, $k0 -/* 0008C4 00000884 00000000 */ nop -/* 0008C8 00000888 293A0050 */ slti $k0, $t1, 0x50 -.L0000088C: -/* 0008CC 0000088C 1740FFF1 */ bnez $k0, .L00000854 -/* 0008D0 00000890 258C0001 */ addiu $t4, $t4, 1 -/* 0008D4 00000894 000B2080 */ sll $a0, $t3, 2 -/* 0008D8 00000898 008B2023 */ subu $a0, $a0, $t3 -/* 0008DC 0000089C 00042080 */ sll $a0, $a0, 2 -/* 0008E0 000008A0 008B2023 */ subu $a0, $a0, $t3 -/* 0008E4 000008A4 00042040 */ sll $a0, $a0, 1 -/* 0008E8 000008A8 0D000260 */ jal func_04000980 -/* 0008EC 000008AC 2484FC90 */ addiu $a0, $a0, -0x370 -/* 0008F0 000008B0 10000003 */ b .L000008C0 -/* 0008F4 000008B4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0008F8 000008B8 00001025 */ move $v0, $zero -.L000008BC: -/* 0008FC 000008BC 8FBF001C */ lw $ra, 0x1c($sp) -.L000008C0: -/* 000900 000008C0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 000904 000008C4 03E00008 */ jr $ra -/* 000908 000008C8 00000000 */ nop - -glabel func_0400090C -/* 00090C 000008CC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 000910 000008D0 AFBF001C */ sw $ra, 0x1c($sp) -/* 000914 000008D4 00001025 */ move $v0, $zero -/* 000918 000008D8 0D000290 */ jal func_04000A40 -/* 00091C 000008DC 24050002 */ li $a1, 2 -/* 000920 000008E0 0000F025 */ move $fp, $zero -/* 000924 000008E4 241AFFFF */ li $k0, -1 -.L000008E8: -/* 000928 000008E8 AE9A0004 */ sw $k0, 4($s4) -/* 00092C 000008EC 8E830004 */ lw $v1, 4($s4) -/* 000930 000008F0 AE9A0000 */ sw $k0, ($s4) -/* 000934 000008F4 AE9A0000 */ sw $k0, ($s4) -/* 000938 000008F8 0000E025 */ move $gp, $zero -/* 00093C 000008FC 00031C02 */ srl $v1, $v1, 0x10 -.L00000900: -/* 000940 00000900 307A0001 */ andi $k0, $v1, 1 -/* 000944 00000904 53400003 */ beql $k0, $zero, .L00000914 -/* 000948 00000908 279C0001 */ addiu $gp, $gp, 1 -/* 00094C 0000090C 24420001 */ addiu $v0, $v0, 1 -/* 000950 00000910 279C0001 */ addiu $gp, $gp, 1 -.L00000914: -/* 000954 00000914 2B9A0008 */ slti $k0, $gp, 8 -/* 000958 00000918 1740FFF9 */ bnez $k0, .L00000900 -/* 00095C 0000091C 00031842 */ srl $v1, $v1, 1 -/* 000960 00000920 27DE0001 */ addiu $fp, $fp, 1 -/* 000964 00000924 2BDA000A */ slti $k0, $fp, 0xa -/* 000968 00000928 5740FFEF */ bnezl $k0, .L000008E8 -/* 00096C 0000092C 241AFFFF */ li $k0, -1 -/* 000970 00000930 8FBF001C */ lw $ra, 0x1c($sp) -/* 000974 00000934 27BD0028 */ addiu $sp, $sp, 0x28 -/* 000978 00000938 03E00008 */ jr $ra -/* 00097C 0000093C 00000000 */ nop -glabel func_04000980 -/* 000980 00000940 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 000984 00000944 AFBF001C */ sw $ra, 0x1c($sp) -/* 000988 00000948 AFA40020 */ sw $a0, 0x20($sp) -/* 00098C 0000094C A3A00027 */ sb $zero, 0x27($sp) -/* 000990 00000950 00004025 */ move $t0, $zero -/* 000994 00000954 00005025 */ move $t2, $zero -/* 000998 00000958 340DC800 */ li $t5, 51200 -/* 00099C 0000095C 00007025 */ move $t6, $zero -/* 0009A0 00000960 29DA0040 */ slti $k0, $t6, 0x40 -.L00000964: -/* 0009A4 00000964 57400004 */ bnezl $k0, .L00000978 -/* 0009A8 00000968 01C02025 */ move $a0, $t6 -/* 0009AC 0000096C 10000020 */ b .L000009F0 -/* 0009B0 00000970 00001025 */ move $v0, $zero -/* 0009B4 00000974 01C02025 */ move $a0, $t6 -.L00000978: -/* 0009B8 00000978 0D000290 */ jal func_04000A40 -/* 0009BC 0000097C 24050001 */ li $a1, 1 -/* 0009C0 00000980 0D0002B4 */ jal func_04000AD0 -/* 0009C4 00000984 27A40027 */ addiu $a0, $sp, 0x27 -/* 0009C8 00000988 0D0002B4 */ jal func_04000AD0 -/* 0009CC 0000098C 27A40027 */ addiu $a0, $sp, 0x27 -/* 0009D0 00000990 93BA0027 */ lbu $k0, 0x27($sp) -/* 0009D4 00000994 241B0320 */ li $k1, 800 -/* 0009D8 00000998 8FA40020 */ lw $a0, 0x20($sp) -/* 0009DC 0000099C 035B0019 */ multu $k0, $k1 -/* 0009E0 000009A0 00004012 */ mflo $t0 -/* 0009E4 000009A4 0104D023 */ subu $k0, $t0, $a0 -/* 0009E8 000009A8 07430003 */ bgezl $k0, .L000009B8 -/* 0009EC 000009AC 034DD82A */ slt $k1, $k0, $t5 -/* 0009F0 000009B0 0088D023 */ subu $k0, $a0, $t0 -/* 0009F4 000009B4 034DD82A */ slt $k1, $k0, $t5 -.L000009B8: -/* 0009F8 000009B8 53600004 */ beql $k1, $zero, .L000009CC -/* 0009FC 000009BC 8FA40020 */ lw $a0, 0x20($sp) -/* 000A00 000009C0 03406825 */ move $t5, $k0 -/* 000A04 000009C4 01C05025 */ move $t2, $t6 -/* 000A08 000009C8 8FA40020 */ lw $a0, 0x20($sp) -.L000009CC: -/* 000A0C 000009CC 0104D82A */ slt $k1, $t0, $a0 -/* 000A10 000009D0 53600006 */ beql $k1, $zero, .L000009EC -/* 000A14 000009D4 014E1021 */ addu $v0, $t2, $t6 -/* 000A18 000009D8 25CE0001 */ addiu $t6, $t6, 1 -/* 000A1C 000009DC 29DB0041 */ slti $k1, $t6, 0x41 -/* 000A20 000009E0 5760FFE0 */ bnezl $k1, .L00000964 -/* 000A24 000009E4 29DA0040 */ slti $k0, $t6, 0x40 -/* 000A28 000009E8 014E1021 */ addu $v0, $t2, $t6 -.L000009EC: -/* 000A2C 000009EC 00021042 */ srl $v0, $v0, 1 -.L000009F0: -/* 000A30 000009F0 8FBF001C */ lw $ra, 0x1c($sp) -/* 000A34 000009F4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 000A38 000009F8 03E00008 */ jr $ra -/* 000A3C 000009FC 00000000 */ nop - -glabel func_04000A40 -/* 000A40 00000A00 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 000A44 00000A04 308400FF */ andi $a0, $a0, 0xff -/* 000A48 00000A08 241B0001 */ li $k1, 1 -/* 000A4C 00000A0C 3884003F */ xori $a0, $a0, 0x3f -/* 000A50 00000A10 AFBF001C */ sw $ra, 0x1c($sp) -/* 000A54 00000A14 14BB0003 */ bne $a1, $k1, .L00000A24 -/* 000A58 00000A18 3C0F4600 */ lui $t7, 0x4600 -/* 000A5C 00000A1C 3C1A8000 */ lui $k0, 0x8000 -/* 000A60 00000A20 01FA7825 */ or $t7, $t7, $k0 -.L00000A24: -/* 000A64 00000A24 309A0001 */ andi $k0, $a0, 1 -/* 000A68 00000A28 001AD180 */ sll $k0, $k0, 6 -/* 000A6C 00000A2C 01FA7825 */ or $t7, $t7, $k0 -/* 000A70 00000A30 309A0002 */ andi $k0, $a0, 2 -/* 000A74 00000A34 001AD340 */ sll $k0, $k0, 0xd -/* 000A78 00000A38 01FA7825 */ or $t7, $t7, $k0 -/* 000A7C 00000A3C 309A0004 */ andi $k0, $a0, 4 -/* 000A80 00000A40 001AD500 */ sll $k0, $k0, 0x14 -/* 000A84 00000A44 01FA7825 */ or $t7, $t7, $k0 -/* 000A88 00000A48 309A0008 */ andi $k0, $a0, 8 -/* 000A8C 00000A4C 001AD100 */ sll $k0, $k0, 4 -/* 000A90 00000A50 01FA7825 */ or $t7, $t7, $k0 -/* 000A94 00000A54 309A0010 */ andi $k0, $a0, 0x10 -/* 000A98 00000A58 001AD2C0 */ sll $k0, $k0, 0xb -/* 000A9C 00000A5C 01FA7825 */ or $t7, $t7, $k0 -/* 000AA0 00000A60 309A0020 */ andi $k0, $a0, 0x20 -/* 000AA4 00000A64 001AD480 */ sll $k0, $k0, 0x12 -/* 000AA8 00000A68 01FA7825 */ or $t7, $t7, $k0 -/* 000AAC 00000A6C 241B0001 */ li $k1, 1 -/* 000AB0 00000A70 14BB0003 */ bne $a1, $k1, .L00000A80 -/* 000AB4 00000A74 AEAF0000 */ sw $t7, ($s5) -/* 000AB8 00000A78 3C1AA430 */ lui $k0, 0xa430 -/* 000ABC 00000A7C AF400000 */ sw $zero, ($k0) -.L00000A80: -/* 000AC0 00000A80 8FBF001C */ lw $ra, 0x1c($sp) -/* 000AC4 00000A84 27BD0028 */ addiu $sp, $sp, 0x28 -/* 000AC8 00000A88 03E00008 */ jr $ra -/* 000ACC 00000A8C 00000000 */ nop - -glabel func_04000AD0 -/* 000AD0 00000A90 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 000AD4 00000A94 AFBF001C */ sw $ra, 0x1c($sp) -/* 000AD8 00000A98 241A2000 */ li $k0, 8192 -/* 000ADC 00000A9C 3C1BA430 */ lui $k1, 0xa430 -/* 000AE0 00000AA0 AF7A0000 */ sw $k0, ($k1) -/* 000AE4 00000AA4 0000F025 */ move $fp, $zero -/* 000AE8 00000AA8 8EBE0000 */ lw $fp, ($s5) -/* 000AEC 00000AAC 241A1000 */ li $k0, 4096 -/* 000AF0 00000AB0 AF7A0000 */ sw $k0, ($k1) -/* 000AF4 00000AB4 241B0040 */ li $k1, 64 -/* 000AF8 00000AB8 037ED824 */ and $k1, $k1, $fp -/* 000AFC 00000ABC 001BD982 */ srl $k1, $k1, 6 -/* 000B00 00000AC0 0000D025 */ move $k0, $zero -/* 000B04 00000AC4 035BD025 */ or $k0, $k0, $k1 -/* 000B08 00000AC8 241B4000 */ li $k1, 16384 -/* 000B0C 00000ACC 037ED824 */ and $k1, $k1, $fp -/* 000B10 00000AD0 001BDB42 */ srl $k1, $k1, 0xd -/* 000B14 00000AD4 035BD025 */ or $k0, $k0, $k1 -/* 000B18 00000AD8 3C1B0040 */ lui $k1, 0x40 -/* 000B1C 00000ADC 037ED824 */ and $k1, $k1, $fp -/* 000B20 00000AE0 001BDD02 */ srl $k1, $k1, 0x14 -/* 000B24 00000AE4 035BD025 */ or $k0, $k0, $k1 -/* 000B28 00000AE8 241B0080 */ li $k1, 128 -/* 000B2C 00000AEC 037ED824 */ and $k1, $k1, $fp -/* 000B30 00000AF0 001BD902 */ srl $k1, $k1, 4 -/* 000B34 00000AF4 035BD025 */ or $k0, $k0, $k1 -/* 000B38 00000AF8 341B8000 */ li $k1, 32768 -/* 000B3C 00000AFC 037ED824 */ and $k1, $k1, $fp -/* 000B40 00000B00 001BDAC2 */ srl $k1, $k1, 0xb -/* 000B44 00000B04 035BD025 */ or $k0, $k0, $k1 -/* 000B48 00000B08 3C1B0080 */ lui $k1, 0x80 -/* 000B4C 00000B0C 037ED824 */ and $k1, $k1, $fp -/* 000B50 00000B10 001BDC82 */ srl $k1, $k1, 0x12 -/* 000B54 00000B14 035BD025 */ or $k0, $k0, $k1 -/* 000B58 00000B18 A09A0000 */ sb $k0, ($a0) -/* 000B5C 00000B1C 8FBF001C */ lw $ra, 0x1c($sp) -/* 000B60 00000B20 27BD0028 */ addiu $sp, $sp, 0x28 -/* 000B64 00000B24 03E00008 */ jr $ra -/* 000B68 00000B28 00000000 */ nop -/* 000B6C 00000B2C 00000000 */ nop - -.incbin "bin/bootcode_font.bin" diff --git a/src/boss.c b/src/boss.c deleted file mode 100644 index 638f9c1..0000000 --- a/src/boss.c +++ /dev/null @@ -1,1316 +0,0 @@ -#include "ultra64.h" -#include "ramrom.h" -#include "boss.h" -#include "bondgame.h" -#include "game/debugmenu_090490.h" -#include "game/room_model_buffer.h" - -/** - * @file boss.c - * This file contains the main game loop code. - */ - -/* data */ -u32 boss_c_ptr_debug_notice_list_entry = 0; -s32 debug_and_update_stage_flag = 0; -LEVELID current_stage_num = LEVELID_TITLE; -u32 current_m_malloc_value = 0x234800; -u32 current_ma_malloc_value = 0x4B000; -s32 show_mem_use_flag = 0; -s32 show_mem_bars_flag = 0; - -struct memallocstring -{ - s32 id; - void *string; -} memallocstringtable[] = { -{ 0x21, "-ml0 -me0 -mgfx70 -mvtx50 -mt625 -ma275"}, -{ 0x22, "-ml0 -me0 -mgfx70 -mvtx50 -mt650 -ma160"}, -{ 0x23, "-ml0 -me0 -mgfx100 -mvtx50 -mt610 -ma300"}, -{ 0x24, "-ml0 -me0 -mgfx70 -mvtx50 -mt600 -ma300"}, -{ 9, "-ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma150"}, -{ 0x14, "-ml0 -me0 -mgfx70 -mvtx50 -mt660 -ma150"}, -{ 0x1A, "-ml0 -me0 -mgfx70 -mvtx50 -mt750 -ma225"}, -{ 0x2B, "-ml0 -me0 -mgfx100 -mvtx50 -mt550 -ma350"}, -{ 0x1B, "-ml0 -me0 -mgfx100 -mvtx50 -mt725 -ma150"}, -{ 0x16, "-ml0 -me0 -mgfx70 -mvtx50 -mt750 -ma220"}, -{ 0x18, "-ml0 -me0 -mgfx70 -mvtx50 -mt600 -ma250"}, -{ 0x1D, "-ml0 -me0 -mgfx60 -mvtx40 -mt635 -ma290"}, -{ 0x1E, "-ml0 -me0 -mgfx60 -mvtx50 -mt710 -ma300"}, -{ 0x19, "-ml0 -me0 -mgfx100 -mvtx50 -mt600 -ma200"}, -{ 0x25, "-ml0 -me0 -mgfx70 -mvtx50 -mt500 -ma200"}, -{ 0x17, "-ml0 -me0 -mgfx70 -mvtx50 -mt671 -ma200"}, -{ 0x29, "-ml0 -me0 -mgfx100 -mvtx50 -mt650 -ma250"}, -{ 0x27, "-ml0 -me0 -mgfx100 -mvtx50 -mt530 -ma250"}, -{ 0x1C, "-ml0 -me0 -mgfx60 -mvtx40 -mt855 -ma135"}, -{ 0x20, "-ml0 -me0 -mgfx100 -mvtx50 -mt600 -ma250"}, -{ 0x28, "-ml0 -me0 -mgfx100 -mvtx50 -mt650 -ma150"}, -{ 0x36, "-ml0 -me0 -mgfx100 -mvtx50 -mt300 -ma300"}, -{ 0x5A, "-ml0 -me0 -mgfx80 -mvtx20 -mt646 -ma001"}, -{ 0x5B, "-ml0 -me0 -mgfx60 -mvtx20 -mt500 -ma001"}, -{ 0x63, "-ml0 -me0 -mgfx60 -mvtx20 -mt500 -ma001"}, -{ 0x26, "-ml0 -me0 -mgfx130 -mvtx100 -mt390 -ma100"}, -{ 0x1F, "-ml0 -me0 -mgfx130 -mvtx100 -mt400 -ma100"}, -{ 0x30, "-ml0 -me0 -mgfx130 -mvtx100 -mt400 -ma100"}, -{ 0x2D, "-ml0 -me0 -mgfx130 -mvtx100 -mt400 -ma100"}, -{ 0x2E, "-ml0 -me0 -mgfx130 -mvtx100 -mt400 -ma100"}, -{ 0x32, "-ml0 -me0 -mgfx130 -mvtx100 -mt400 -ma300"}, -{ 0x1AB, "-ml0 -me0 -mgfx130 -mvtx100 -mt550 -ma170"}, -{ 0x1A8, "-ml0 -me0 -mgfx80 -mvtx100 -mt550 -ma250"}, -{ 0x1B7, "-ml0 -me0 -mgfx130 -mvtx100 -mt440 -ma220"}, -{ 0x1B2, "-ml0 -me0 -mgfx90 -mvtx100 -mt550 -ma230"}, -{ 0x1B0, "-ml0 -me0 -mgfx110 -mvtx100 -mt350 -ma400"}, -{ 0x0, "-ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400"}, -{ 0x0, }, -{ 0x0, }, -{ 0x0, } -}; - -LEVELID loadedstage = LEVELID_NONE; -s32 debug_feature_flag = 0; -s32 D_80024304 = 0x20000; -s32 D_80024308 = 0; -s32 D_8002430C = 0; -s32 D_80024310 = 0; -s32 D_80024314 = 0; -s32 D_80024318 = 0; -s32 D_8002431C = 0; -s32 D_80024320 = 0; -s32 taskgrab_ramdump_num = 1; - -/* rodata */ - -//const char aLevel_[] = "-level_"; -//const char aMl0Me0Mgfx100Mvtx50Mt700Ma400_1[] = " -ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400"; -//const char aM[] = "-m"; -//const char aM_1[] = "-m"; - -//***moved to mainloop -//const char aLevel__0[] = "-level_"; -//const char aLevel__1[] = "-level_"; -//const char aHard[] = "-hard"; -//const char aHard_1[] = "-hard"; -//const char aHard_2[] = "-hard"; -//const char aMa[] = "-ma"; -//const char aMa_0[] = "-ma"; -//const char aU64_taskgrab_D_core[] = "u64.taskgrab.%d.core"; - -/** - * 6930 70005D30 - * ??? - uses "-level_", "-m" strings - */ -#define OS_USEC_TO_CYCLES(n) (((u64)(n)*(osClockRate))/1000000LL) - -void init_mainthread_data(void) -{ - OSMesg bossmsg; - OSTimer bosstimer; - OSMesgQueue bossmq; - u32 temp_s0; - u32 unused; - s32 i; - - - add_debug_notice_deb_c_debug(); - romCreateMesgQueue(); - establish_TLB_buffer_management_table(); - image_entries_load(); - something_with_memp_c_debug(); - something_with_mema_c_debug(); - something_with_bg_c_debug(); - something_with_vi_c_debug(); - init_video_settings(); - init_indy_if_not_ready(); - debug_and_update_stage_flag = rmon_debug_is_final_build(); - ob_c_debug_setup(); - something_with_rsp_c_debug(); - something_with_dyn_c_debug(); - something_with_joy_c_debug(); - osCreateMesgQueue(&bossmq, &bossmsg, 1); - - for (i = 0; i != 4; i++) - { - osSetTimer(&bosstimer, OS_USEC_TO_CYCLES(100000), 0, &bossmq, &bossmsg); - osRecvMesg(&bossmq, &bossmsg, 1); - if (i == 1) - { - test_controller_presence(); - } - else if (i >= 2) - { - redirect_to_ramrom_replay_and_record_handlers_if_set(); - } - } - - if (check_token(1, "-level_") == 0) - { - debug_and_update_stage_flag = 1; - } - something_stan_c_debug_related(); - something_game_c_debug_related(); - if (debug_and_update_stage_flag != 0) - { - strtok(" -ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400"); - } - if (check_token(1, "-m") != 0) - { - current_m_malloc_value = (s32) (strtol(check_token(1, "-m"), 0, 0) << 0xa); - } - temp_s0 = (osVirtualToPhysical(&room_model_buffer) | 0x80000000); - 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_7f0acb70(); - null_init_main_0(); - default_player_perspective_and_height(); - store_osgetcount(); - null_init_main_1(); - displaylist_related(); - set_gu_scale(); - null_init_main_2(); - sub_GAME_7F000980(); - alloc_load_expand_ani_table(); - init_weapon_animation_groups_maybe(); - reset_counter_rand_body_head(); - null_init_main_3(); - sub_GAME_7F000B60(); - initGameData(); - sub_GAME_7F01D6E0(); - clear_ramrom_block_buffer_heading_ptrs(); -} - -/** - * 6BF4 70005FF4 - * 1 ->"show mem use" debug memory display [800241B4]; fry AT,T6 - */ -void enable_show_mem_use_flag(void) { - show_mem_use_flag=TRUE; -} - -/** - * 6C04 70006004 - * toggle "show mem bars" [800241B8]; fries V0,T6,T7 - */ -void mem_bars_flag_toggle(void) { - show_mem_bars_flag = show_mem_bars_flag ^ 1; -} - -/** - * 6C1C 7000601C - * loads primary resources and starts main program loop - * this is infinite. Loops unconditionally: JAL 70006060 - */ -void setup_gamevalues_and_launchmainloop(void) { - init_mainthread_data(); - allocate_init_rsp_buffers(); - setupaudio(); - while(1){ - mainloop(); - } -} - - - -/** - * 6C60 70006060 - * main program loop - * 70006090 tests memstring for "-level_##" - * 700060DC if not title, tests memstring for "-hard#" - * 70006160 follows... - * 700061FC test if debug console unconnected [800241A4] - * 700062EC follows... - * 700062FC tests memstring for "-ma" - * 7000633C allocates "-ma" bytes to mem bank 4 - * 7000635C reset player data pointers - * 70006364 offsets stage number based on number of players unless main menu - * 700063A0 parses and sets memory allocation, loads stage, etc. - * ... - * 70006708 displays memory usage when active - * 70006724 displays in-game debugger when active - * 7000674C writes a full sync, end display list combo - * 7000676C display mem use when active [800241B4] - * 700067A8 display mem bars when active [800241B8] - * 700067C0 follows... - * 700067D8 tests if "u64.taskgrab.#.core" activated and dumps memory - * 70006854 follows... (700068BC - stop demos) - */ -#ifdef NONMATCHING -void mainloop(void) -{ - s32 sp1DC; - void *sp1D4; - ? sp1B4; - s32 sp1AC; - s32 sp1A4; - ? sp5C; - ? sp58; - void *sp48; - s32 temp_a0; - s32 temp_a1; - s32 temp_a2; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_s0; - s32 temp_s0_2; - s32 temp_s0_3; - s32 temp_s1; - s32 temp_s3; - s32 temp_s3_2; - s32 temp_v0_3; - s32 temp_v0_4; - s32 temp_v1; - s32 temp_v1_2; - s32 temp_v1_3; - void *temp_s3_3; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_5; - s32 phi_v1; - void *phi_v0; - s32 phi_s0; - s32 phi_s0_2; - s32 phi_v1_2; - void *phi_v0_2; - s32 phi_s0_3; - s32 phi_s1; - u32 phi_fp; - s32 phi_s1_2; - s32 phi_s3; - s32 phi_s3_2; - void *phi_s3_3; - s32 phi_v0_3; - u32 phi_fp_2; - s32 phi_s0_4; - s32 phi_s0_5; - - sp1DC = 0; - reset_mem_bank_5(); - if (check_token(1, "-level_") != 0) - { - temp_ret = check_token(1, "-level_"); - current_stage_num = (s32) ((temp_ret->unk1 + (temp_ret->unk0 * 0xa)) + -0x210); - } - if (current_stage_num != 0x5a) - { - sub_GAME_7F01DF90(); - set_selected_folder_num(0); - set_selected_difficulty(0); - set_solo_and_ptr_briefing(current_stage_num); - if (check_token(1, "-hard") != 0) - { - set_selected_difficulty(*check_token(1, "-hard") + -0x30); - set_difficulty(*check_token(1, "-hard") + -0x30); - } - } - increment_random_num(osGetCount()); -loop_6: - sp1D4 = NULL; - sp1B4.unk0 = (?32) D_80024304.unk0; - sp1B4.unk4 = (?32) D_80024304.unk4; - sp1B4.unkC = (?32) D_80024304.unkC; - sp1B4.unk8 = (?32) D_80024304.unk8; - sp1B4.unk10 = (?32) D_80024304.unk10; - sp1B4.unk14 = (?32) D_80024304.unk14; - sp1B4.unk1C = (?32) D_80024304.unk1C; - sp1B4.unk18 = (?32) D_80024304.unk18; - sp1AC = 0; - test_if_recording_demos_this_stage_load(current_stage_num, get_current_difficulty()); - if (debug_and_update_stage_flag != 0) - { - phi_s0_2 = -1; - if (current_stage_num != 0x5a) - { - phi_s0_2 = -1; - if (get_selected_num_players() >= 2) - { - phi_s0 = 0; - if (memallocstringtable != 0) - { - temp_v0 = 0x80020000 + 0x41bc; - phi_v1 = *temp_v0; - phi_v0 = temp_v0; - phi_s0_4 = 0; -loop_11: - phi_s0 = phi_s0_4; - if ((current_stage_num + 0x190) != phi_v1) - { - temp_v1 = phi_v0->unk8; - temp_s0 = phi_s0_4 + 1; - phi_v1 = temp_v1; - phi_v0 = phi_v0 + 8; - phi_s0 = temp_s0; - phi_s0_4 = temp_s0; - if (temp_v1 != 0) - { - goto loop_11; - } - } - } - phi_s0_2 = phi_s0; - if (*(&memallocstringtable + (phi_s0 * 8)) == 0) - { - phi_s0_2 = -1; - } - } - } - phi_s0_3 = phi_s0_2; - if (phi_s0_2 < 0) - { - phi_s0_3 = 0; - if (memallocstringtable != 0) - { - temp_v0_2 = 0x80020000 + 0x41bc; - phi_v1_2 = *temp_v0_2; - phi_v0_2 = temp_v0_2; - phi_s0_5 = 0; -loop_18: - phi_s0_3 = phi_s0_5; - if (current_stage_num != phi_v1_2) - { - temp_v1_2 = phi_v0_2->unk8; - temp_s0_2 = phi_s0_5 + 1; - phi_v1_2 = temp_v1_2; - phi_v0_2 = phi_v0_2 + 8; - phi_s0_3 = temp_s0_2; - phi_s0_5 = temp_s0_2; - if (temp_v1_2 != 0) - { - goto loop_18; - } - } - } - } - strtok((&memallocstringtable + (phi_s0_3 * 8))->unk4, &memallocstringtable); - } - 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); - } - mempInitMallocTable(mempAllocBytesInBank(current_ma_malloc_value, 4), current_ma_malloc_value); - reset_play_data_ptrs(); - phi_s1 = 0; - if (current_stage_num != 0x5a) - { - phi_s1 = 1; - if (get_selected_num_players() >= 2) - { - phi_s1 = get_selected_num_players(); - } - } - init_player_data_ptrs_construct_viewports(phi_s1); - set_vtx_gfx_mem_alloc(); - test_controller_presence(); - stage_load(current_stage_num); - init_both_video_buffers(); - debug_text_related_2(); - sub_GAME_7F0C0B4C(); - video_related_2(); - if (osRecvMesg(&gfxFrameMsgQ, &sp1D4, 0) == 0) - { -loop_27: - if (osRecvMesg(&gfxFrameMsgQ, &sp1D4, 0) == 0) - { - goto loop_27; - } - } - phi_fp = 0U; - if (loadedstage < 0) - { -loop_29: - osRecvMesg(&gfxFrameMsgQ, &sp1D4, 1); - if (*sp1D4 != 1) - { - if (*sp1D4 != 2) - { - if (*sp1D4 != 5) - { - phi_v0_3 = loadedstage; - phi_fp_2 = phi_fp; - } - else - { - phi_v0_3 = (void *)0x80020000->unk42FC; - phi_fp_2 = 4U; - } - } - else - { - phi_v0_3 = (void *)0x80020000->unk42FC; - phi_fp_2 = phi_fp; - } - } - else - { - if ((u32) (osGetCount() - copy_of_osgetcount_value_1) < 0x5eb61U) - { - phi_v0_3 = loadedstage; - phi_fp_2 = phi_fp; - } - else - { - phi_v0_3 = (void *)0x80020000->unk42FC; - phi_fp_2 = phi_fp; - if ((void *)0x80020000->unk42FC < 0) - { - phi_v0_3 = (void *)0x80020000->unk42FC; - phi_fp_2 = phi_fp; - if ((u32) phi_fp < 2U) - { - sp48 = &sp1B4; - if (get_is_ramrom_flag() != 0) - { - iterate_ramrom_entries_handle_camera_out(); - } - else - { - sub_GAME_7F0C0B4C(); - } - video_DL_related_4(); - video_related_2(); - video_related_3(0x20000); - redirect_to_ramrom_replay_and_record_handlers_if_set(); - permit_stderr(0); - temp_ret_2 = get_ptr_displaylist(); - sp1A4 = temp_ret_2; - if (debug_feature_flag != 0) - { - debug_feature_flag = debug_menu_processor((s32) (((s32) (get_cur_controller_horz_stick_pos(0) << 0x18) >> 0x18) << 0x18) >> 0x18, (s32) (((s32) (get_cur_controller_vert_stick_pos(0) << 0x18) >> 0x18) << 0x18) >> 0x18, (get_controller_buttons_held(0, 0xffff) & 0xffff) & 0xffff, get_controller_buttons_pressed(0, 0xffff) & 0xffff); - } - manage_mp_game(); - sub_GAME_7F09B41C(); - if (current_stage_num != 0x5a) - { - phi_s1_2 = 0; - if (get_num_players() > 0) - { -loop_44: - set_cur_player(sub_GAME_7F09B528(phi_s1_2)); - set_video2_width_height(pPlayer->unk7F0, pPlayer->unk7F2); - set_video2_ulx_uly(pPlayer->viewleft, pPlayer->viewtop); - sub_GAME_7F0BF800(); - temp_s1 = phi_s1_2 + 1; - phi_s1_2 = temp_s1; - if (temp_s1 < get_num_players()) - { - goto loop_44; - } - } - } - temp_s3 = sub_GAME_7F0BE30C(temp_ret_2); - phi_s3 = temp_s3; - if (get_debug_VisCVG_flag() != 0) - { // Lets Visualise the Coverage Value used for Scilohete Anti-Ailising (edges) (done on the VI), also produces a cool looking linemode - providing AA is working. - temp_v0_3 = temp_s3; - // glistp = glist //make pointer to gfx list - temp_s3 = temp_s3 + 8; - temp_v1_3 = temp_s3; //increment pointer by SizeOf(gfx) - temp_v0_3->unk0 = 0xe7000000; - temp_v0_3->unk4 = 0; - //gDPPipesync(glistp++); - temp_s3 = temp_s3 + 8; - temp_a0 = temp_s3; - temp_s3 = temp_s3 + 8; - temp_v1_3->unk0 = 0xba001402; - temp_v1_3->unk4 = 0; - //gDPSetCycleType(glistp++, 2CYCLE); - temp_a1 = temp_s3; - temp_s3 = temp_s3 + 8; - temp_a0->unk0 = 0xf9000000; - temp_a0->unk4 = -1; - temp_a2 = temp_s3; - temp_s3 = temp_s3 + 8; - temp_a1->unk0 = 0xee000000; - temp_a1->unk4 = -1; - temp_v0_4 = temp_s3; - temp_s3 = temp_s3 + 8; - temp_a2->unk4 = 4; - temp_a2->unk0 = 0xb9000201; - //gDPSetAlphaCompare(glistp++); - temp_s0_3 = temp_s3; - temp_v0_4->unk0 = 0xb900031d; - temp_v0_4->unk4 = 0xfa54040; - //gDPSetRenderMode(glistp++, ); - - //above would most likly look like - //glistp = glist; - //gDPPipesync(glistp++); - //gDPSetCycleType(glistp++, 2CYCLE); - // ...etc - - temp_s0_3->unk0 = (s32) (((((get_video2_settings_txtClipH() + -1) & 0x3ff) * 4) | 0xf6000000) | (((((s32) (get_video2_settings_txtClipW(temp_a0, temp_a1, temp_a2, -1) << 0x10) >> 0x10) + -1) & 0x3ff) << 0xe)); - temp_s0_3->unk4 = 0; - phi_s3 = temp_s3 + 8; - } - temp_s3_2 = read_screen_display_block_and_write_chars(phi_s3); - phi_s3_2 = temp_s3_2; - if (get_memusage_display_flag() != 0) - { - phi_s3_2 = display_speed_graph(temp_s3_2); - } - phi_s3_3 = (void *) phi_s3_2; - if (debug_feature_flag != 0) - { - display_debug_menu_text_onscreen(); - phi_s3_3 = print_debug_mcm_to_stdout(phi_s3_2); - } - temp_v0_5 = phi_s3_3; - temp_s3_3 = phi_s3_3 + 8; - temp_v0_5->unk0 = 0xe9000000; - temp_v0_5->unk4 = 0; - temp_s3_3->unk0 = 0xb8000000; - temp_s3_3->unk4 = 0; - temp_s3_3 = temp_s3_3 + 8; - if (show_mem_use_flag != 0) - { - nulled_mempLoopAllMemBanks(); - memaGenerateListsBeforeAfterMerge(); - removed_debug_routine(temp_s3_3); - nullsub_41(0); - show_mem_use_flag = 0; - } - if (show_mem_bars_flag != 0) - { - draw_membars(temp_s3_3); - } - allocate_something_in_mgfx(temp_s3_3); - allocate_something_in_mvtx(); - video_related_8(); - if (get_debug_taskgrab_val() != 0) - { - if (get_controller_buttons_pressed(0, 0xc000) != 0) - { - if (get_controller_buttons_held(0, 0xc000) == 0xc000) - { -loop_58: - sprintf(&sp5C, &aU64_taskgrab_D_core, taskgrab_ramdump_num); - if (check_file_found_on_indy(&sp5C, &sp58) != 0) - { - taskgrab_ramdump_num = (s32) (taskgrab_ramdump_num + 1); - goto loop_58; - } - indy_send_capture_data(&sp5C, 0x80000000, 0x400000); - } - } - } - load_rsp_microcode(sp1A4, temp_s3_3, 0, sp48); - mem_related_calls_sort_merge_entries(); - sp1AC = (s32) (sp1AC ^ 1); - video_related_3(0x10000); - phi_v0_3 = loadedstage; - phi_fp_2 = phi_fp; - } - } - } - } - phi_fp = phi_fp_2; - if (phi_v0_3 < 0) - { - goto loop_29; - } - phi_fp = phi_fp_2; - if (phi_fp_2 != 0) - { - goto loop_29; - } - } - unload_stage_text_data(); - stop_demo_playback(); - mempNullNextEntryInBank(4); - something_mem_bank_a0(4); - current_stage_num = (?32) loadedstage; - loadedstage = -1; - if (sp1DC == 0) - { - goto loop_6; - } - sub_GAME_7F0D1A7C(); -} -#else -GLOBAL_ASM( - -.rdata -glabel aLevel__0 -.word 0x2d6c6576, 0x656c5f00 /*"-level_"*/ -glabel aLevel__1 -.word 0x2d6c6576, 0x656c5f00 /*"-level_"*/ -glabel aHard -.word 0x2d686172, 0x64000000 /*"-hard"*/ -glabel aHard_1 -.word 0x2d686172, 0x64000000 /*"-hard"*/ -glabel aHard_2 -.word 0x2d686172, 0x64000000 /*"-hard"*/ -glabel aMa -.word 0x2d6d6100 /*"-ma"*/ -glabel aMa_0 -.word 0x2d6d6100 /*"-ma"*/ -glabel aU64_taskgrab_D_core -.word 0x7536342e, 0x7461736b, 0x67726162, 0x2e25642e, 0x636f7265, 0x00000000 /*"u64.taskgrab.%d.core"*/ - -.text -glabel mainloop -/* 006C60 70006060 27BDFE20 */ addiu $sp, $sp, -0x1e0 -/* 006C64 70006064 AFBF003C */ sw $ra, 0x3c($sp) -/* 006C68 70006068 AFBE0038 */ sw $fp, 0x38($sp) -/* 006C6C 7000606C AFB70034 */ sw $s7, 0x34($sp) -/* 006C70 70006070 AFB60030 */ sw $s6, 0x30($sp) -/* 006C74 70006074 AFB5002C */ sw $s5, 0x2c($sp) -/* 006C78 70006078 AFB40028 */ sw $s4, 0x28($sp) -/* 006C7C 7000607C AFB30024 */ sw $s3, 0x24($sp) -/* 006C80 70006080 AFB20020 */ sw $s2, 0x20($sp) -/* 006C84 70006084 AFB1001C */ sw $s1, 0x1c($sp) -/* 006C88 70006088 AFB00018 */ sw $s0, 0x18($sp) -/* 006C8C 7000608C 0FC34693 */ jal reset_mem_bank_5 -/* 006C90 70006090 AFA001DC */ sw $zero, 0x1dc($sp) -/* 006C94 70006094 3C058003 */ lui $a1, %hi(aLevel__0) -/* 006C98 70006098 24A59104 */ addiu $a1, %lo(aLevel__0) # addiu $a1, $a1, -0x6efc -/* 006C9C 7000609C 0C0029A8 */ jal check_token -/* 006CA0 700060A0 24040001 */ li $a0, 1 -/* 006CA4 700060A4 1040000D */ beqz $v0, .L700060DC -/* 006CA8 700060A8 24040001 */ li $a0, 1 -/* 006CAC 700060AC 3C058003 */ lui $a1, %hi(aLevel__1) -/* 006CB0 700060B0 0C0029A8 */ jal check_token -/* 006CB4 700060B4 24A5910C */ addiu $a1, %lo(aLevel__1) # addiu $a1, $a1, -0x6ef4 -/* 006CB8 700060B8 904F0000 */ lbu $t7, ($v0) -/* 006CBC 700060BC 904E0001 */ lbu $t6, 1($v0) -/* 006CC0 700060C0 3C018002 */ lui $at, %hi(current_stage_num) -/* 006CC4 700060C4 000FC080 */ sll $t8, $t7, 2 -/* 006CC8 700060C8 030FC021 */ addu $t8, $t8, $t7 -/* 006CCC 700060CC 0018C040 */ sll $t8, $t8, 1 -/* 006CD0 700060D0 01D8C821 */ addu $t9, $t6, $t8 -/* 006CD4 700060D4 2728FDF0 */ addiu $t0, $t9, -0x210 -/* 006CD8 700060D8 AC2841A8 */ sw $t0, %lo(current_stage_num)($at) -.L700060DC: -/* 006CDC 700060DC 3C098002 */ lui $t1, %hi(current_stage_num) -/* 006CE0 700060E0 8D2941A8 */ lw $t1, %lo(current_stage_num)($t1) -/* 006CE4 700060E4 2401005A */ li $at, 90 -/* 006CE8 700060E8 1121001D */ beq $t1, $at, .L70006160 -/* 006CEC 700060EC 00000000 */ nop -/* 006CF0 700060F0 0FC077E4 */ jal sub_GAME_7F01DF90 -/* 006CF4 700060F4 00000000 */ nop -/* 006CF8 700060F8 0FC07564 */ jal set_selected_folder_num -/* 006CFC 700060FC 00002025 */ move $a0, $zero -/* 006D00 70006100 0FC07567 */ jal set_selected_difficulty -/* 006D04 70006104 00002025 */ move $a0, $zero -/* 006D08 70006108 3C048002 */ lui $a0, %hi(current_stage_num) -/* 006D0C 7000610C 0FC0757B */ jal set_solo_and_ptr_briefing -/* 006D10 70006110 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0) -/* 006D14 70006114 3C058003 */ lui $a1, %hi(aHard) -/* 006D18 70006118 24A59114 */ addiu $a1, %lo(aHard) # addiu $a1, $a1, -0x6eec -/* 006D1C 7000611C 0C0029A8 */ jal check_token -/* 006D20 70006120 24040001 */ li $a0, 1 -/* 006D24 70006124 1040000E */ beqz $v0, .L70006160 -/* 006D28 70006128 24040001 */ li $a0, 1 -/* 006D2C 7000612C 3C058003 */ lui $a1, %hi(aHard_1) -/* 006D30 70006130 0C0029A8 */ jal check_token -/* 006D34 70006134 24A5911C */ addiu $a1, %lo(aHard_1) # addiu $a1, $a1, -0x6ee4 -/* 006D38 70006138 90440000 */ lbu $a0, ($v0) -/* 006D3C 7000613C 0FC07567 */ jal set_selected_difficulty -/* 006D40 70006140 2484FFD0 */ addiu $a0, $a0, -0x30 -/* 006D44 70006144 3C058003 */ lui $a1, %hi(aHard_2) -/* 006D48 70006148 24A59124 */ addiu $a1, %lo(aHard_2) # addiu $a1, $a1, -0x6edc -/* 006D4C 7000614C 0C0029A8 */ jal check_token -/* 006D50 70006150 24040001 */ li $a0, 1 -/* 006D54 70006154 90440000 */ lbu $a0, ($v0) -/* 006D58 70006158 0FC2FF07 */ jal set_difficulty -/* 006D5C 7000615C 2484FFD0 */ addiu $a0, $a0, -0x30 -.L70006160: -/* 006D60 70006160 0C003638 */ jal osGetCount -/* 006D64 70006164 00000000 */ nop -/* 006D68 70006168 0C002926 */ jal increment_random_num -/* 006D6C 7000616C 00402025 */ move $a0, $v0 -/* 006D70 70006170 3C168003 */ lui $s6, %hi(aU64_taskgrab_D_core) -/* 006D74 70006174 3C158008 */ lui $s5, %hi(pPlayer) -/* 006D78 70006178 26B5A0B0 */ addiu $s5, %lo(pPlayer) # addiu $s5, $s5, -0x5f50 -/* 006D7C 7000617C 26D69134 */ addiu $s6, %lo(aU64_taskgrab_D_core) # addiu $s6, $s6, -0x6ecc -/* 006D80 70006180 27B70058 */ addiu $s7, $sp, 0x58 -/* 006D84 70006184 27B4005C */ addiu $s4, $sp, 0x5c -/* 006D88 70006188 8FB301A8 */ lw $s3, 0x1a8($sp) -.L7000618C: -/* 006D8C 7000618C 3C0B8002 */ lui $t3, %hi(D_80024304) -/* 006D90 70006190 AFA001D4 */ sw $zero, 0x1d4($sp) -/* 006D94 70006194 256B4304 */ addiu $t3, %lo(D_80024304) # addiu $t3, $t3, 0x4304 -/* 006D98 70006198 8D610000 */ lw $at, ($t3) -/* 006D9C 7000619C 8D6F0004 */ lw $t7, 4($t3) -/* 006DA0 700061A0 27AA01B4 */ addiu $t2, $sp, 0x1b4 -/* 006DA4 700061A4 AD410000 */ sw $at, ($t2) -/* 006DA8 700061A8 AD4F0004 */ sw $t7, 4($t2) -/* 006DAC 700061AC 8D6F000C */ lw $t7, 0xc($t3) -/* 006DB0 700061B0 8D610008 */ lw $at, 8($t3) -/* 006DB4 700061B4 0000F025 */ move $fp, $zero -/* 006DB8 700061B8 AD4F000C */ sw $t7, 0xc($t2) -/* 006DBC 700061BC AD410008 */ sw $at, 8($t2) -/* 006DC0 700061C0 8D610010 */ lw $at, 0x10($t3) -/* 006DC4 700061C4 8D6F0014 */ lw $t7, 0x14($t3) -/* 006DC8 700061C8 00008825 */ move $s1, $zero -/* 006DCC 700061CC AD410010 */ sw $at, 0x10($t2) -/* 006DD0 700061D0 AD4F0014 */ sw $t7, 0x14($t2) -/* 006DD4 700061D4 8D6F001C */ lw $t7, 0x1c($t3) -/* 006DD8 700061D8 8D610018 */ lw $at, 0x18($t3) -/* 006DDC 700061DC AD4F001C */ sw $t7, 0x1c($t2) -/* 006DE0 700061E0 AD410018 */ sw $at, 0x18($t2) -/* 006DE4 700061E4 0FC2FF04 */ jal get_current_difficulty -/* 006DE8 700061E8 AFA001AC */ sw $zero, 0x1ac($sp) -/* 006DEC 700061EC 3C048002 */ lui $a0, %hi(current_stage_num) -/* 006DF0 700061F0 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0) -/* 006DF4 700061F4 0FC30190 */ jal test_if_recording_demos_this_stage_load -/* 006DF8 700061F8 00402825 */ move $a1, $v0 -/* 006DFC 700061FC 3C0E8002 */ lui $t6, %hi(debug_and_update_stage_flag) -/* 006E00 70006200 8DCE41A4 */ lw $t6, %lo(debug_and_update_stage_flag)($t6) -/* 006E04 70006204 3C188002 */ lui $t8, %hi(current_stage_num) -/* 006E08 70006208 11C00038 */ beqz $t6, .L700062EC -/* 006E0C 7000620C 00000000 */ nop -/* 006E10 70006210 8F1841A8 */ lw $t8, %lo(current_stage_num)($t8) -/* 006E14 70006214 2401005A */ li $at, 90 -/* 006E18 70006218 2410FFFF */ li $s0, -1 -/* 006E1C 7000621C 1301001D */ beq $t8, $at, .L70006294 -/* 006E20 70006220 00000000 */ nop -/* 006E24 70006224 0FC040A4 */ jal get_selected_num_players -/* 006E28 70006228 00000000 */ nop -/* 006E2C 7000622C 28410002 */ slti $at, $v0, 2 -/* 006E30 70006230 14200018 */ bnez $at, .L70006294 -/* 006E34 70006234 3C058002 */ lui $a1, %hi(memallocstringtable) -/* 006E38 70006238 24A541BC */ addiu $a1, %lo(memallocstringtable) # addiu $a1, $a1, 0x41bc -/* 006E3C 7000623C 8CB90000 */ lw $t9, ($a1) -/* 006E40 70006240 00008025 */ move $s0, $zero -/* 006E44 70006244 3C048002 */ lui $a0, %hi(current_stage_num) -/* 006E48 70006248 1320000C */ beqz $t9, .L7000627C -/* 006E4C 7000624C 3C088002 */ lui $t0, %hi(memallocstringtable) -/* 006E50 70006250 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0) -/* 006E54 70006254 250241BC */ addiu $v0, $t0, %lo(memallocstringtable) -/* 006E58 70006258 8C430000 */ lw $v1, ($v0) -/* 006E5C 7000625C 24840190 */ addiu $a0, $a0, 0x190 -.L70006260: -/* 006E60 70006260 50830007 */ beql $a0, $v1, .L70006280 -/* 006E64 70006264 001048C0 */ sll $t1, $s0, 3 -/* 006E68 70006268 8C430008 */ lw $v1, 8($v0) -/* 006E6C 7000626C 26100001 */ addiu $s0, $s0, 1 -/* 006E70 70006270 24420008 */ addiu $v0, $v0, 8 -/* 006E74 70006274 1460FFFA */ bnez $v1, .L70006260 -/* 006E78 70006278 00000000 */ nop -.L7000627C: -/* 006E7C 7000627C 001048C0 */ sll $t1, $s0, 3 -.L70006280: -/* 006E80 70006280 00A96821 */ addu $t5, $a1, $t1 -/* 006E84 70006284 8DAC0000 */ lw $t4, ($t5) -/* 006E88 70006288 15800002 */ bnez $t4, .L70006294 -/* 006E8C 7000628C 00000000 */ nop -/* 006E90 70006290 2410FFFF */ li $s0, -1 -.L70006294: -/* 006E94 70006294 3C058002 */ lui $a1, %hi(memallocstringtable) -/* 006E98 70006298 06010010 */ bgez $s0, .L700062DC -/* 006E9C 7000629C 24A541BC */ addiu $a1, %lo(memallocstringtable) # addiu $a1, $a1, 0x41bc -/* 006EA0 700062A0 8CAA0000 */ lw $t2, ($a1) -/* 006EA4 700062A4 00008025 */ move $s0, $zero -/* 006EA8 700062A8 3C048002 */ lui $a0, %hi(current_stage_num) -/* 006EAC 700062AC 1140000B */ beqz $t2, .L700062DC -/* 006EB0 700062B0 3C0B8002 */ lui $t3, %hi(memallocstringtable) -/* 006EB4 700062B4 256241BC */ addiu $v0, $t3, %lo(memallocstringtable) -/* 006EB8 700062B8 8C430000 */ lw $v1, ($v0) -/* 006EBC 700062BC 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0) -.L700062C0: -/* 006EC0 700062C0 50830007 */ beql $a0, $v1, .L700062E0 -/* 006EC4 700062C4 001078C0 */ sll $t7, $s0, 3 -/* 006EC8 700062C8 8C430008 */ lw $v1, 8($v0) -/* 006ECC 700062CC 26100001 */ addiu $s0, $s0, 1 -/* 006ED0 700062D0 24420008 */ addiu $v0, $v0, 8 -/* 006ED4 700062D4 1460FFFA */ bnez $v1, .L700062C0 -/* 006ED8 700062D8 00000000 */ nop -.L700062DC: -/* 006EDC 700062DC 001078C0 */ sll $t7, $s0, 3 -.L700062E0: -/* 006EE0 700062E0 00AF7021 */ addu $t6, $a1, $t7 -/* 006EE4 700062E4 0C002963 */ jal strtok -/* 006EE8 700062E8 8DC40004 */ lw $a0, 4($t6) -.L700062EC: -/* 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 -/* 006EFC 700062FC 3C058003 */ lui $a1, %hi(aMa) -/* 006F00 70006300 24A5912C */ addiu $a1, %lo(aMa) # addiu $a1, $a1, -0x6ed4 -/* 006F04 70006304 0C0029A8 */ jal check_token -/* 006F08 70006308 24040001 */ li $a0, 1 -/* 006F0C 7000630C 1040000B */ beqz $v0, .L7000633C -/* 006F10 70006310 24040001 */ li $a0, 1 -/* 006F14 70006314 3C058003 */ lui $a1, %hi(aMa_0) -/* 006F18 70006318 0C0029A8 */ jal check_token -/* 006F1C 7000631C 24A59130 */ addiu $a1, %lo(aMa_0) # addiu $a1, $a1, -0x6ed0 -/* 006F20 70006320 00402025 */ move $a0, $v0 -/* 006F24 70006324 00002825 */ move $a1, $zero -/* 006F28 70006328 0C002A78 */ jal strtol -/* 006F2C 7000632C 00003025 */ move $a2, $zero -/* 006F30 70006330 0002C280 */ sll $t8, $v0, 0xa -/* 006F34 70006334 3C018002 */ lui $at, %hi(current_ma_malloc_value) -/* 006F38 70006338 AC3841B0 */ sw $t8, %lo(current_ma_malloc_value)($at) -.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 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 mempInitMallocTable -/* 006F58 70006358 00402025 */ move $a0, $v0 -/* 006F5C 7000635C 0FC268CB */ jal reset_play_data_ptrs -/* 006F60 70006360 00000000 */ nop -/* 006F64 70006364 3C198002 */ lui $t9, %hi(current_stage_num) -/* 006F68 70006368 8F3941A8 */ lw $t9, %lo(current_stage_num)($t9) -/* 006F6C 7000636C 2401005A */ li $at, 90 -/* 006F70 70006370 13210009 */ beq $t9, $at, .L70006398 -/* 006F74 70006374 00000000 */ nop -/* 006F78 70006378 0FC040A4 */ jal get_selected_num_players -/* 006F7C 7000637C 24110001 */ li $s1, 1 -/* 006F80 70006380 28410002 */ slti $at, $v0, 2 -/* 006F84 70006384 14200004 */ bnez $at, .L70006398 -/* 006F88 70006388 00000000 */ nop -/* 006F8C 7000638C 0FC040A4 */ jal get_selected_num_players -/* 006F90 70006390 00000000 */ nop -/* 006F94 70006394 00408825 */ move $s1, $v0 -.L70006398: -/* 006F98 70006398 0FC268E3 */ jal init_player_data_ptrs_construct_viewports -/* 006F9C 7000639C 02202025 */ move $a0, $s1 -/* 006FA0 700063A0 0FC2F523 */ jal set_vtx_gfx_mem_alloc -/* 006FA4 700063A4 00000000 */ nop -/* 006FA8 700063A8 0C002DAB */ jal test_controller_presence -/* 006FAC 700063AC 00000000 */ nop -/* 006FB0 700063B0 3C048002 */ lui $a0, %hi(current_stage_num) -/* 006FB4 700063B4 0FC2F6AC */ jal stage_load -/* 006FB8 700063B8 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0) -/* 006FBC 700063BC 0C000C49 */ jal init_both_video_buffers -/* 006FC0 700063C0 00000000 */ nop -/* 006FC4 700063C4 0C002B6C */ jal debug_text_related_2 -/* 006FC8 700063C8 00000000 */ nop -/* 006FCC 700063CC 0FC302D3 */ jal sub_GAME_7F0C0B4C -/* 006FD0 700063D0 00000000 */ nop -/* 006FD4 700063D4 0C000A04 */ jal video_related_2 -/* 006FD8 700063D8 00000000 */ nop -/* 006FDC 700063DC 3C048006 */ lui $a0, %hi(gfxFrameMsgQ) -/* 006FE0 700063E0 2484D9A0 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, -0x2660 -/* 006FE4 700063E4 27A501D4 */ addiu $a1, $sp, 0x1d4 -/* 006FE8 700063E8 0C003774 */ jal osRecvMesg -/* 006FEC 700063EC 00003025 */ move $a2, $zero -/* 006FF0 700063F0 14400007 */ bnez $v0, .L70006410 -.L700063F4: -/* 006FF4 700063F4 3C048006 */ lui $a0, %hi(gfxFrameMsgQ) -/* 006FF8 700063F8 2484D9A0 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, -0x2660 -/* 006FFC 700063FC 27A501D4 */ addiu $a1, $sp, 0x1d4 -/* 007000 70006400 0C003774 */ jal osRecvMesg -/* 007004 70006404 00003025 */ move $a2, $zero -/* 007008 70006408 1040FFFA */ beqz $v0, .L700063F4 -/* 00700C 7000640C 00000000 */ nop -.L70006410: -/* 007010 70006410 3C088002 */ lui $t0, %hi(loadedstage) -/* 007014 70006414 8D0842FC */ lw $t0, %lo(loadedstage)($t0) -/* 007018 70006418 05010126 */ bgez $t0, .L700068B4 -.L7000641C: -/* 00701C 7000641C 3C048006 */ lui $a0, %hi(gfxFrameMsgQ) -/* 007020 70006420 2484D9A0 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, -0x2660 -/* 007024 70006424 27A501D4 */ addiu $a1, $sp, 0x1d4 -/* 007028 70006428 0C003774 */ jal osRecvMesg -/* 00702C 7000642C 24060001 */ li $a2, 1 -/* 007030 70006430 8FA901D4 */ lw $t1, 0x1d4($sp) -/* 007034 70006434 24010001 */ li $at, 1 -/* 007038 70006438 85230000 */ lh $v1, ($t1) -/* 00703C 7000643C 10610009 */ beq $v1, $at, .L70006464 -/* 007040 70006440 24010002 */ li $at, 2 -/* 007044 70006444 10610112 */ beq $v1, $at, .L70006890 -/* 007048 70006448 3C028002 */ lui $v0, %hi(loadedstage) -/* 00704C 7000644C 24010005 */ li $at, 5 -/* 007050 70006450 10610112 */ beq $v1, $at, .L7000689C -/* 007054 70006454 3C028002 */ lui $v0, %hi(loadedstage) -/* 007058 70006458 3C028002 */ lui $v0, %hi(loadedstage) -/* 00705C 7000645C 10000111 */ b .L700068A4 -/* 007060 70006460 8C4242FC */ lw $v0, %lo(loadedstage)($v0) -.L70006464: -/* 007064 70006464 0C003638 */ jal osGetCount -/* 007068 70006468 00000000 */ nop -/* 00706C 7000646C 3C0D8005 */ lui $t5, %hi(copy_of_osgetcount_value_1) -/* 007070 70006470 8DAD84B0 */ lw $t5, %lo(copy_of_osgetcount_value_1)($t5) -/* 007074 70006474 3C010005 */ lui $at, (0x0005EB61 >> 16) # lui $at, 5 -/* 007078 70006478 3421EB61 */ ori $at, (0x0005EB61 & 0xFFFF) # ori $at, $at, 0xeb61 -/* 00707C 7000647C 004D1823 */ subu $v1, $v0, $t5 -/* 007080 70006480 0061082B */ sltu $at, $v1, $at -/* 007084 70006484 10200004 */ beqz $at, .L70006498 -/* 007088 70006488 3C028002 */ lui $v0, %hi(loadedstage) -/* 00708C 7000648C 3C028002 */ lui $v0, %hi(loadedstage) -/* 007090 70006490 10000104 */ b .L700068A4 -/* 007094 70006494 8C4242FC */ lw $v0, %lo(loadedstage)($v0) -.L70006498: -/* 007098 70006498 8C4242FC */ lw $v0, %lo(loadedstage)($v0) -/* 00709C 7000649C 2FC10002 */ sltiu $at, $fp, 2 -/* 0070A0 700064A0 04410100 */ bgez $v0, .L700068A4 -/* 0070A4 700064A4 00000000 */ nop -/* 0070A8 700064A8 102000FE */ beqz $at, .L700068A4 -/* 0070AC 700064AC 27AC01B4 */ addiu $t4, $sp, 0x1b4 -/* 0070B0 700064B0 0FC2FF23 */ jal get_is_ramrom_flag -/* 0070B4 700064B4 AFAC0048 */ sw $t4, 0x48($sp) -/* 0070B8 700064B8 10400005 */ beqz $v0, .L700064D0 -/* 0070BC 700064BC 00000000 */ nop -/* 0070C0 700064C0 0FC3009A */ jal iterate_ramrom_entries_handle_camera_out -/* 0070C4 700064C4 00000000 */ nop -/* 0070C8 700064C8 10000003 */ b .L700064D8 -/* 0070CC 700064CC 00000000 */ nop -.L700064D0: -/* 0070D0 700064D0 0FC302D3 */ jal sub_GAME_7F0C0B4C -/* 0070D4 700064D4 00000000 */ nop -.L700064D8: -/* 0070D8 700064D8 0C000B36 */ jal video_DL_related_4 -/* 0070DC 700064DC 00000000 */ nop -/* 0070E0 700064E0 0C000A04 */ jal video_related_2 -/* 0070E4 700064E4 00000000 */ nop -/* 0070E8 700064E8 0C000A15 */ jal video_related_3 -/* 0070EC 700064EC 3C040002 */ lui $a0, 2 -/* 0070F0 700064F0 0C002F43 */ jal redirect_to_ramrom_replay_and_record_handlers_if_set -/* 0070F4 700064F4 00000000 */ nop -/* 0070F8 700064F8 0C000262 */ jal permit_stderr -/* 0070FC 700064FC 00002025 */ move $a0, $zero -/* 007100 70006500 0FC2F59D */ jal get_ptr_displaylist -/* 007104 70006504 00000000 */ nop -/* 007108 70006508 3C0A8002 */ lui $t2, %hi(debug_feature_flag) -/* 00710C 7000650C 8D4A4300 */ lw $t2, %lo(debug_feature_flag)($t2) -/* 007110 70006510 AFA201A4 */ sw $v0, 0x1a4($sp) -/* 007114 70006514 00409825 */ move $s3, $v0 -/* 007118 70006518 1140001D */ beqz $t2, .L70006590 -/* 00711C 7000651C 00000000 */ nop -/* 007120 70006520 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 007124 70006524 00002025 */ move $a0, $zero -/* 007128 70006528 00028600 */ sll $s0, $v0, 0x18 -/* 00712C 7000652C 00105E03 */ sra $t3, $s0, 0x18 -/* 007130 70006530 01608025 */ move $s0, $t3 -/* 007134 70006534 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 007138 70006538 00002025 */ move $a0, $zero -/* 00713C 7000653C 00028E00 */ sll $s1, $v0, 0x18 -/* 007140 70006540 00117E03 */ sra $t7, $s1, 0x18 -/* 007144 70006544 01E08825 */ move $s1, $t7 -/* 007148 70006548 00002025 */ move $a0, $zero -/* 00714C 7000654C 0C0030C3 */ jal get_controller_buttons_held -/* 007150 70006550 3405FFFF */ li $a1, 65535 -/* 007154 70006554 3052FFFF */ andi $s2, $v0, 0xffff -/* 007158 70006558 00002025 */ move $a0, $zero -/* 00715C 7000655C 0C0030EB */ jal get_controller_buttons_pressed -/* 007160 70006560 3405FFFF */ li $a1, 65535 -/* 007164 70006564 00102600 */ sll $a0, $s0, 0x18 -/* 007168 70006568 00112E00 */ sll $a1, $s1, 0x18 -/* 00716C 7000656C 0005C603 */ sra $t8, $a1, 0x18 -/* 007170 70006570 00047603 */ sra $t6, $a0, 0x18 -/* 007174 70006574 01C02025 */ move $a0, $t6 -/* 007178 70006578 03002825 */ move $a1, $t8 -/* 00717C 7000657C 3246FFFF */ andi $a2, $s2, 0xffff -/* 007180 70006580 0FC24168 */ jal debug_menu_processor -/* 007184 70006584 3047FFFF */ andi $a3, $v0, 0xffff -/* 007188 70006588 3C018002 */ lui $at, %hi(debug_feature_flag) -/* 00718C 7000658C AC224300 */ sw $v0, %lo(debug_feature_flag)($at) -.L70006590: -/* 007190 70006590 0FC2FAE2 */ jal manage_mp_game -/* 007194 70006594 00000000 */ nop -/* 007198 70006598 0FC26D07 */ jal sub_GAME_7F09B41C -/* 00719C 7000659C 00000000 */ nop -/* 0071A0 700065A0 3C198002 */ lui $t9, %hi(current_stage_num) -/* 0071A4 700065A4 8F3941A8 */ lw $t9, %lo(current_stage_num)($t9) -/* 0071A8 700065A8 2401005A */ li $at, 90 -/* 0071AC 700065AC 13210018 */ beq $t9, $at, .L70006610 -/* 0071B0 700065B0 00000000 */ nop -/* 0071B4 700065B4 0FC26919 */ jal get_num_players -/* 0071B8 700065B8 00008825 */ move $s1, $zero -/* 0071BC 700065BC 18400014 */ blez $v0, .L70006610 -/* 0071C0 700065C0 00000000 */ nop -.L700065C4: -/* 0071C4 700065C4 0FC26D4A */ jal sub_GAME_7F09B528 -/* 0071C8 700065C8 02202025 */ move $a0, $s1 -/* 0071CC 700065CC 0FC26C43 */ jal set_cur_player -/* 0071D0 700065D0 00402025 */ move $a0, $v0 -/* 0071D4 700065D4 8EB00000 */ lw $s0, ($s5) -/* 0071D8 700065D8 860407F0 */ lh $a0, 0x7f0($s0) -/* 0071DC 700065DC 0C00110F */ jal set_video2_width_height -/* 0071E0 700065E0 860507F2 */ lh $a1, 0x7f2($s0) -/* 0071E4 700065E4 8EB00000 */ lw $s0, ($s5) -/* 0071E8 700065E8 860407F4 */ lh $a0, 0x7f4($s0) -/* 0071EC 700065EC 0C00112F */ jal set_video2_ulx_uly -/* 0071F0 700065F0 860507F6 */ lh $a1, 0x7f6($s0) -/* 0071F4 700065F4 0FC2FE00 */ jal sub_GAME_7F0BF800 -/* 0071F8 700065F8 00000000 */ nop -/* 0071FC 700065FC 0FC26919 */ jal get_num_players -/* 007200 70006600 26310001 */ addiu $s1, $s1, 1 -/* 007204 70006604 0222082A */ slt $at, $s1, $v0 -/* 007208 70006608 1420FFEE */ bnez $at, .L700065C4 -/* 00720C 7000660C 00000000 */ nop -.L70006610: -/* 007210 70006610 0FC2F8C3 */ jal sub_GAME_7F0BE30C -/* 007214 70006614 02602025 */ move $a0, $s3 -/* 007218 70006618 0FC243F7 */ jal get_debug_VisCVG_flag -/* 00721C 7000661C 00409825 */ move $s3, $v0 -/* 007220 70006620 10400037 */ beqz $v0, .L70006700 -/* 007224 70006624 2407FFFF */ li $a3, -1 -/* 007228 70006628 02601025 */ move $v0, $s3 -/* 00722C 7000662C 26730008 */ addiu $s3, $s3, 8 -/* 007230 70006630 3C08E700 */ lui $t0, 0xe700 -/* 007234 70006634 02601825 */ move $v1, $s3 -/* 007238 70006638 AC480000 */ sw $t0, ($v0) -/* 00723C 7000663C AC400004 */ sw $zero, 4($v0) -/* 007240 70006640 26730008 */ addiu $s3, $s3, 8 -/* 007244 70006644 3C09BA00 */ lui $t1, (0xBA001402 >> 16) # lui $t1, 0xba00 -/* 007248 70006648 02602025 */ move $a0, $s3 -/* 00724C 7000664C 35291402 */ ori $t1, (0xBA001402 & 0xFFFF) # ori $t1, $t1, 0x1402 -/* 007250 70006650 26730008 */ addiu $s3, $s3, 8 -/* 007254 70006654 AC690000 */ sw $t1, ($v1) -/* 007258 70006658 AC600004 */ sw $zero, 4($v1) -/* 00725C 7000665C 02602825 */ move $a1, $s3 -/* 007260 70006660 3C0DF900 */ lui $t5, 0xf900 -/* 007264 70006664 26730008 */ addiu $s3, $s3, 8 -/* 007268 70006668 AC8D0000 */ sw $t5, 0($a0) -/* 00726C 7000666C AC870004 */ sw $a3, 4($a0) -/* 007270 70006670 02603025 */ move $a2, $s3 -/* 007274 70006674 3C0CEE00 */ lui $t4, 0xee00 -/* 007278 70006678 26730008 */ addiu $s3, $s3, 8 -/* 00727C 7000667C ACAC0000 */ sw $t4, ($a1) -/* 007280 70006680 ACA70004 */ sw $a3, 4($a1) -/* 007284 70006684 3C0AB900 */ lui $t2, (0xB9000201 >> 16) # lui $t2, 0xb900 -/* 007288 70006688 02601025 */ move $v0, $s3 -/* 00728C 7000668C 354A0201 */ ori $t2, (0xB9000201 & 0xFFFF) # ori $t2, $t2, 0x201 -/* 007290 70006690 240B0004 */ li $t3, 4 -/* 007294 70006694 26730008 */ addiu $s3, $s3, 8 -/* 007298 70006698 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 00729C 7000669C 3C0E0FA5 */ lui $t6, (0x0FA54040 >> 16) # lui $t6, 0xfa5 -/* 0072A0 700066A0 ACCB0004 */ sw $t3, 4($a2) -/* 0072A4 700066A4 ACCA0000 */ sw $t2, ($a2) -/* 0072A8 700066A8 35CE4040 */ ori $t6, (0x0FA54040 & 0xFFFF) # ori $t6, $t6, 0x4040 -/* 0072AC 700066AC 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0072B0 700066B0 02608025 */ move $s0, $s3 -/* 0072B4 700066B4 AC4F0000 */ sw $t7, ($v0) -/* 0072B8 700066B8 AC4E0004 */ sw $t6, 4($v0) -/* 0072BC 700066BC 0C001107 */ jal get_video2_settings_txtClipW -/* 0072C0 700066C0 26730008 */ addiu $s3, $s3, 8 -/* 0072C4 700066C4 00028C00 */ sll $s1, $v0, 0x10 -/* 0072C8 700066C8 0011C403 */ sra $t8, $s1, 0x10 -/* 0072CC 700066CC 0C00110B */ jal get_video2_settings_txtClipH -/* 0072D0 700066D0 03008825 */ move $s1, $t8 -/* 0072D4 700066D4 2459FFFF */ addiu $t9, $v0, -1 -/* 0072D8 700066D8 332803FF */ andi $t0, $t9, 0x3ff -/* 0072DC 700066DC 262CFFFF */ addiu $t4, $s1, -1 -/* 0072E0 700066E0 318A03FF */ andi $t2, $t4, 0x3ff -/* 0072E4 700066E4 00084880 */ sll $t1, $t0, 2 -/* 0072E8 700066E8 3C01F600 */ lui $at, 0xf600 -/* 0072EC 700066EC 01216825 */ or $t5, $t1, $at -/* 0072F0 700066F0 000A5B80 */ sll $t3, $t2, 0xe -/* 0072F4 700066F4 01AB7825 */ or $t7, $t5, $t3 -/* 0072F8 700066F8 AE0F0000 */ sw $t7, ($s0) -/* 0072FC 700066FC AE000004 */ sw $zero, 4($s0) -.L70006700: -/* 007300 70006700 0C002C9F */ jal read_screen_display_block_and_write_chars -/* 007304 70006704 02602025 */ move $a0, $s3 -/* 007308 70006708 0FC243CD */ jal get_memusage_display_flag -/* 00730C 7000670C 00409825 */ move $s3, $v0 -/* 007310 70006710 10400004 */ beqz $v0, .L70006724 -/* 007314 70006714 00000000 */ nop -/* 007318 70006718 0C000A56 */ jal display_speed_graph -/* 00731C 7000671C 02602025 */ move $a0, $s3 -/* 007320 70006720 00409825 */ move $s3, $v0 -.L70006724: -/* 007324 70006724 3C0E8002 */ lui $t6, %hi(debug_feature_flag) -/* 007328 70006728 8DCE4300 */ lw $t6, %lo(debug_feature_flag)($t6) -/* 00732C 7000672C 51C00007 */ beql $t6, $zero, .L7000674C -/* 007330 70006730 02601025 */ move $v0, $s3 -/* 007334 70006734 0FC24124 */ jal display_debug_menu_text_onscreen -/* 007338 70006738 00000000 */ nop -/* 00733C 7000673C 0FC23F9D */ jal print_debug_mcm_to_stdout -/* 007340 70006740 02602025 */ move $a0, $s3 -/* 007344 70006744 00409825 */ move $s3, $v0 -/* 007348 70006748 02601025 */ move $v0, $s3 -.L7000674C: -/* 00734C 7000674C 26730008 */ addiu $s3, $s3, 8 -/* 007350 70006750 3C18E900 */ lui $t8, 0xe900 -/* 007354 70006754 AC580000 */ sw $t8, ($v0) -/* 007358 70006758 AC400004 */ sw $zero, 4($v0) -/* 00735C 7000675C 02601825 */ move $v1, $s3 -/* 007360 70006760 3C19B800 */ lui $t9, 0xb800 -/* 007364 70006764 AC790000 */ sw $t9, ($v1) -/* 007368 70006768 AC600004 */ sw $zero, 4($v1) -/* 00736C 7000676C 3C088002 */ lui $t0, %hi(show_mem_use_flag) -/* 007370 70006770 8D0841B4 */ lw $t0, %lo(show_mem_use_flag)($t0) -/* 007374 70006774 26730008 */ addiu $s3, $s3, 8 -/* 007378 70006778 1100000B */ beqz $t0, .L700067A8 -/* 00737C 7000677C 00000000 */ nop -/* 007380 70006780 0C00263C */ jal nulled_mempLoopAllMemBanks -/* 007384 70006784 00000000 */ nop -/* 007388 70006788 0C0028A7 */ jal memaGenerateListsBeforeAfterMerge -/* 00738C 7000678C 00000000 */ nop -/* 007390 70006790 0FC2F5DD */ jal removed_debug_routine -/* 007394 70006794 02602025 */ move $a0, $s3 -/* 007398 70006798 0FC31994 */ jal nullsub_41 -/* 00739C 7000679C 00002025 */ move $a0, $zero -/* 0073A0 700067A0 3C018002 */ lui $at, %hi(show_mem_use_flag) -/* 0073A4 700067A4 AC2041B4 */ sw $zero, %lo(show_mem_use_flag)($at) -.L700067A8: -/* 0073A8 700067A8 3C098002 */ lui $t1, %hi(show_mem_bars_flag) -/* 0073AC 700067AC 8D2941B8 */ lw $t1, %lo(show_mem_bars_flag)($t1) -/* 0073B0 700067B0 11200003 */ beqz $t1, .L700067C0 -/* 0073B4 700067B4 00000000 */ nop -/* 0073B8 700067B8 0FC2F604 */ jal draw_membars -/* 0073BC 700067BC 02602025 */ move $a0, $s3 -.L700067C0: -/* 0073C0 700067C0 0FC2F5A7 */ jal allocate_something_in_mgfx -/* 0073C4 700067C4 02602025 */ move $a0, $s3 -/* 0073C8 700067C8 0FC2F5CE */ jal allocate_something_in_mvtx -/* 0073CC 700067CC 00000000 */ nop -/* 0073D0 700067D0 0C000CA6 */ jal video_related_8 -/* 0073D4 700067D4 00000000 */ nop -/* 0073D8 700067D8 0FC2441B */ jal get_debug_taskgrab_val -/* 0073DC 700067DC 00000000 */ nop -/* 0073E0 700067E0 1040001C */ beqz $v0, .L70006854 -/* 0073E4 700067E4 00002025 */ move $a0, $zero -/* 0073E8 700067E8 0C0030EB */ jal get_controller_buttons_pressed -/* 0073EC 700067EC 3405C000 */ li $a1, 49152 -/* 0073F0 700067F0 10400018 */ beqz $v0, .L70006854 -/* 0073F4 700067F4 00002025 */ move $a0, $zero -/* 0073F8 700067F8 0C0030C3 */ jal get_controller_buttons_held -/* 0073FC 700067FC 3405C000 */ li $a1, 49152 -/* 007400 70006800 3401C000 */ li $at, 49152 -/* 007404 70006804 14410013 */ bne $v0, $at, .L70006854 -.L70006808: -/* 007408 70006808 3C068002 */ lui $a2, %hi(taskgrab_ramdump_num) -/* 00740C 7000680C 8CC64324 */ lw $a2, %lo(taskgrab_ramdump_num)($a2) -/* 007410 70006810 02802025 */ move $a0, $s4 -/* 007414 70006814 0C002B25 */ jal sprintf -/* 007418 70006818 02C02825 */ move $a1, $s6 -/* 00741C 7000681C 02802025 */ move $a0, $s4 -/* 007420 70006820 0FC34026 */ jal check_file_found_on_indy -/* 007424 70006824 02E02825 */ move $a1, $s7 -/* 007428 70006828 10400006 */ beqz $v0, .L70006844 -/* 00742C 7000682C 3C068002 */ lui $a2, %hi(taskgrab_ramdump_num) -/* 007430 70006830 8CC64324 */ lw $a2, %lo(taskgrab_ramdump_num)($a2) -/* 007434 70006834 3C018002 */ lui $at, %hi(taskgrab_ramdump_num) -/* 007438 70006838 24C60001 */ addiu $a2, $a2, 1 -/* 00743C 7000683C 1000FFF2 */ b .L70006808 -/* 007440 70006840 AC264324 */ sw $a2, %lo(taskgrab_ramdump_num)($at) -.L70006844: -/* 007444 70006844 02802025 */ move $a0, $s4 -/* 007448 70006848 3C058000 */ lui $a1, 0x8000 -/* 00744C 7000684C 0FC33FF8 */ jal indy_send_capture_data -/* 007450 70006850 3C060040 */ lui $a2, 0x40 -.L70006854: -/* 007454 70006854 8FA401A4 */ lw $a0, 0x1a4($sp) -/* 007458 70006858 02602825 */ move $a1, $s3 -/* 00745C 7000685C 00003025 */ move $a2, $zero -/* 007460 70006860 0FC33F86 */ jal load_rsp_microcode -/* 007464 70006864 8FA70048 */ lw $a3, 0x48($sp) -/* 007468 70006868 0C002784 */ jal mem_related_calls_sort_merge_entries -/* 00746C 7000686C 27DE0001 */ addiu $fp, $fp, 1 -/* 007470 70006870 8FAC01AC */ lw $t4, 0x1ac($sp) -/* 007474 70006874 3C040001 */ lui $a0, 1 -/* 007478 70006878 398A0001 */ xori $t2, $t4, 1 -/* 00747C 7000687C 0C000A15 */ jal video_related_3 -/* 007480 70006880 AFAA01AC */ sw $t2, 0x1ac($sp) -/* 007484 70006884 3C028002 */ lui $v0, %hi(loadedstage) -/* 007488 70006888 10000006 */ b .L700068A4 -/* 00748C 7000688C 8C4242FC */ lw $v0, %lo(loadedstage)($v0) -.L70006890: -/* 007490 70006890 27DEFFFF */ addiu $fp, $fp, -1 -/* 007494 70006894 10000003 */ b .L700068A4 -/* 007498 70006898 8C4242FC */ lw $v0, %lo(loadedstage)($v0) -.L7000689C: -/* 00749C 7000689C 241E0004 */ li $fp, 4 -/* 0074A0 700068A0 8C4242FC */ lw $v0, %lo(loadedstage)($v0) -.L700068A4: -/* 0074A4 700068A4 0440FEDD */ bltz $v0, .L7000641C -/* 0074A8 700068A8 00000000 */ nop -/* 0074AC 700068AC 17C0FEDB */ bnez $fp, .L7000641C -/* 0074B0 700068B0 00000000 */ nop -.L700068B4: -/* 0074B4 700068B4 0FC2FEC8 */ jal unload_stage_text_data -/* 0074B8 700068B8 00000000 */ nop -/* 0074BC 700068BC 0FC3023F */ jal stop_demo_playback -/* 0074C0 700068C0 00000000 */ nop -/* 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 -/* 0074D4 700068D4 3C028002 */ lui $v0, %hi(loadedstage) -/* 0074D8 700068D8 244242FC */ addiu $v0, %lo(loadedstage) # addiu $v0, $v0, 0x42fc -/* 0074DC 700068DC 8C4D0000 */ lw $t5, ($v0) -/* 0074E0 700068E0 8FAF01DC */ lw $t7, 0x1dc($sp) -/* 0074E4 700068E4 3C018002 */ lui $at, %hi(current_stage_num) -/* 0074E8 700068E8 240BFFFF */ li $t3, -1 -/* 0074EC 700068EC AC2D41A8 */ sw $t5, %lo(current_stage_num)($at) -/* 0074F0 700068F0 11E0FE26 */ beqz $t7, .L7000618C -/* 0074F4 700068F4 AC4B0000 */ sw $t3, ($v0) -/* 0074F8 700068F8 0FC3469F */ jal sub_GAME_7F0D1A7C -/* 0074FC 700068FC AFB301A8 */ sw $s3, 0x1a8($sp) -/* 007500 70006900 8FBF003C */ lw $ra, 0x3c($sp) -/* 007504 70006904 8FB00018 */ lw $s0, 0x18($sp) -/* 007508 70006908 8FB1001C */ lw $s1, 0x1c($sp) -/* 00750C 7000690C 8FB20020 */ lw $s2, 0x20($sp) -/* 007510 70006910 8FB30024 */ lw $s3, 0x24($sp) -/* 007514 70006914 8FB40028 */ lw $s4, 0x28($sp) -/* 007518 70006918 8FB5002C */ lw $s5, 0x2c($sp) -/* 00751C 7000691C 8FB60030 */ lw $s6, 0x30($sp) -/* 007520 70006920 8FB70034 */ lw $s7, 0x34($sp) -/* 007524 70006924 8FBE0038 */ lw $fp, 0x38($sp) -/* 007528 70006928 03E00008 */ jr $ra -/* 00752C 7000692C 27BD01E0 */ addiu $sp, $sp, 0x1e0 -) -#endif - -/** - * 7530 70006930 - * run title [0x5A->loaded stage#]; fry AT - * redirect to 70006950: A0=0x5A - */ -void run_title_stage(void) { - set_loaded_stage(LEVELID_TITLE); -} - -/** - * 7550 70006950 - * A0->loaded stage# [800242FC]; fry AT - * 0x5A jumps to folder select - * 0x5B - * 0x63 - */ -void set_loaded_stage(LEVELID stage){ - loadedstage = stage; -} - -/** - * 755C 7000695C - * V0= stage# [800241A8] - */ -LEVELID get_stage_num(){ - return current_stage_num; -} - -/** - * 7568 70006968 - * return to title screen from stage - */ -void return_to_title_from_level_end(void) { -#ifdef VERSION_JP - display_objective_status_text_on_status_change(); - FUN_7f057a40(); -#endif - if ((get_stage_num() != LEVELID_CUBA) && (check_objectives_complete() != 0x0)) { - end_of_mission_briefing(); - } - run_title_stage(); -} - -/** - * 75B4 700069B4 - * V0=state of debug menu (1:on; 0:off) [80024300] - */ -s32 get_debug_parse_flag(void) { - return debug_feature_flag; -} - -/** - * 75C0 700069C0 - * V0= p->debug.notice.list entry for boss_c_debug using data at 800241A0 - */ -void something_with_boss_c_debug(void) { - get_ptr_debug_notice_list_entry(&boss_c_ptr_debug_notice_list_entry, "boss_c_debug"); -} - - diff --git a/src/boss.h b/src/boss.h deleted file mode 100644 index e80cff3..0000000 --- a/src/boss.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _BOSS_H_ -#define _BOSS_H_ -#include -#include "bondgame.h" - -void set_loaded_stage(LEVELID stage); -void something_with_boss_c_debug(void); - -#endif diff --git a/src/c_data_filler.c b/src/c_data_filler.c deleted file mode 100644 index b19b20c..0000000 --- a/src/c_data_filler.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "ultra64.h" -#include "c_data_filler.h" - -u8 c_data_array[0x11c00] = {0}; - diff --git a/src/c_data_filler.h b/src/c_data_filler.h deleted file mode 100644 index e982621..0000000 --- a/src/c_data_filler.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _C_DATA_FILLER_H_ -#define _C_DATA_FILLER_H_ -#include - -extern u8 c_data_array[0x11c00]; - -#endif diff --git a/src/cfb.c b/src/cfb.c deleted file mode 100644 index af2fd9e..0000000 --- a/src/cfb.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" - -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 deleted file mode 100644 index d5270f6..0000000 --- a/src/deb.c +++ /dev/null @@ -1,278 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" -#include "ramrom.h" -#include "deb.h" - -/** - * @file deb.c - * This file contains debug related code. - * - * In particular, it seems to handle debug_notice_list - */ - -/* bss */ -extern char dword_CODE_bss_80060890[0x400]; - - - -/* data */ -u32 D_800232E0[] = {0, 0}; -u32 debug_notice_list[] = {0, 0, 0, 0}; -char * debug_notice_list_data = &dword_CODE_bss_80060890; - - - - - -/** - * 5920 70004D20 - * V0=p->match in debug.notice.list [800232E8] or NULL if not found - * accepts: A0=p->name, A1=p->data - */ -#ifdef NONMATCHING -void *return_match_in_debug_notice_list(s32 arg0) -{ - void *temp_s0; - void *phi_s0; - - phi_s0 = debug_notice_list; - if (debug_notice_list != 0) - { -loop_1: - if (something_with_strings_0(phi_s0->unk8, arg0) == 0) - { - return phi_s0; - } - temp_s0 = phi_s0->unk0; - phi_s0 = temp_s0; - if (temp_s0 != 0) - { - goto loop_1; - } - } - return NULL; -} -#else -GLOBAL_ASM( -.text -glabel return_match_in_debug_notice_list -/* 005920 70004D20 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 005924 70004D24 AFB00014 */ sw $s0, 0x14($sp) -/* 005928 70004D28 3C108002 */ lui $s0, %hi(debug_notice_list) -/* 00592C 70004D2C 8E1032E8 */ lw $s0, %lo(debug_notice_list)($s0) -/* 005930 70004D30 AFB10018 */ sw $s1, 0x18($sp) -/* 005934 70004D34 00808825 */ move $s1, $a0 -/* 005938 70004D38 1200000B */ beqz $s0, .L70004D68 -/* 00593C 70004D3C AFBF001C */ sw $ra, 0x1c($sp) -/* 005940 70004D40 8E040008 */ lw $a0, 8($s0) -.L70004D44: -/* 005944 70004D44 0C002A13 */ jal something_with_strings_0 -/* 005948 70004D48 02202825 */ move $a1, $s1 -/* 00594C 70004D4C 54400004 */ bnezl $v0, .L70004D60 -/* 005950 70004D50 8E100000 */ lw $s0, ($s0) -/* 005954 70004D54 10000005 */ b .L70004D6C -/* 005958 70004D58 02001025 */ move $v0, $s0 -/* 00595C 70004D5C 8E100000 */ lw $s0, ($s0) -.L70004D60: -/* 005960 70004D60 5600FFF8 */ bnezl $s0, .L70004D44 -/* 005964 70004D64 8E040008 */ lw $a0, 8($s0) -.L70004D68: -/* 005968 70004D68 00001025 */ move $v0, $zero -.L70004D6C: -/* 00596C 70004D6C 8FBF001C */ lw $ra, 0x1c($sp) -/* 005970 70004D70 8FB00014 */ lw $s0, 0x14($sp) -/* 005974 70004D74 8FB10018 */ lw $s1, 0x18($sp) -/* 005978 70004D78 03E00008 */ jr $ra -/* 00597C 70004D7C 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - -/** - * 5980 70004D80 - * V0=p->entry of size A0 allocated in debug.notice.list; entry allocated in block 6 on failure - * accepts: A0=size - */ -#ifdef NONMATCHING -u32 get_entry_of_size_in_debug_notice_list(s32 arg0) -{ - u32 temp_v0; - - temp_v0 = (debug_notice_list_data + arg0); - if (&thread_video_manager_debugthread >= temp_v0) - { - debug_notice_list_data = temp_v0; - return debug_notice_list_data; - } - debug_notice_list_data = (u32) (temp_v0 - arg0); - return mempAllocBytesInBank(6); -} -#else -GLOBAL_ASM( -.text -glabel get_entry_of_size_in_debug_notice_list -/* 005980 70004D80 3C028002 */ lui $v0, %hi(debug_notice_list_data) -/* 005984 70004D84 8C4232F8 */ lw $v0, %lo(debug_notice_list_data)($v0) -/* 005988 70004D88 3C0E8006 */ lui $t6, %hi(thread_video_manager_debugthread) -/* 00598C 70004D8C 25CE0C90 */ addiu $t6, %lo(thread_video_manager_debugthread) # addiu $t6, $t6, 0xc90 -/* 005990 70004D90 00401825 */ move $v1, $v0 -/* 005994 70004D94 00441021 */ addu $v0, $v0, $a0 -/* 005998 70004D98 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00599C 70004D9C 01C2082B */ sltu $at, $t6, $v0 -/* 0059A0 70004DA0 10200008 */ beqz $at, .L70004DC4 -/* 0059A4 70004DA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 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 mempAllocBytesInBank -/* 0059B8 70004DB8 24050006 */ li $a1, 6 -/* 0059BC 70004DBC 10000005 */ b .L70004DD4 -/* 0059C0 70004DC0 8FBF0014 */ lw $ra, 0x14($sp) -.L70004DC4: -/* 0059C4 70004DC4 3C018002 */ lui $at, %hi(debug_notice_list_data) -/* 0059C8 70004DC8 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at) -/* 0059CC 70004DCC 00601025 */ move $v0, $v1 -/* 0059D0 70004DD0 8FBF0014 */ lw $ra, 0x14($sp) -.L70004DD4: -/* 0059D4 70004DD4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0059D8 70004DD8 03E00008 */ jr $ra -/* 0059DC 70004DDC 00000000 */ nop -) -#endif - - - - -/** - * 59E0 70004DE0 - * V0=p->new entry added in debug.notice.list - * accepts: A0=p->name, A1=p->data - */ -#ifdef NONMATCHING -void add_new_entry_to_debug_notice_list(s32 arg0, s32 arg1) -{ - ? temp_ret; - - temp_ret = get_entry_of_size_in_debug_notice_list(0x10); - *temp_ret = (s32) debug_notice_list; - temp_ret->unk4 = arg1; - temp_ret->unk8 = arg0; - debug_notice_list = temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel add_new_entry_to_debug_notice_list -/* 0059E0 70004DE0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0059E4 70004DE4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0059E8 70004DE8 AFA40018 */ sw $a0, 0x18($sp) -/* 0059EC 70004DEC AFA5001C */ sw $a1, 0x1c($sp) -/* 0059F0 70004DF0 0C001360 */ jal get_entry_of_size_in_debug_notice_list -/* 0059F4 70004DF4 24040010 */ li $a0, 16 -/* 0059F8 70004DF8 3C038002 */ lui $v1, %hi(debug_notice_list) -/* 0059FC 70004DFC 246332E8 */ addiu $v1, %lo(debug_notice_list) # addiu $v1, $v1, 0x32e8 -/* 005A00 70004E00 8C6E0000 */ lw $t6, ($v1) -/* 005A04 70004E04 AC4E0000 */ sw $t6, ($v0) -/* 005A08 70004E08 8FAF001C */ lw $t7, 0x1c($sp) -/* 005A0C 70004E0C AC4F0004 */ sw $t7, 4($v0) -/* 005A10 70004E10 8FB80018 */ lw $t8, 0x18($sp) -/* 005A14 70004E14 AC580008 */ sw $t8, 8($v0) -/* 005A18 70004E18 8FBF0014 */ lw $ra, 0x14($sp) -/* 005A1C 70004E1C AC620000 */ sw $v0, ($v1) -/* 005A20 70004E20 27BD0018 */ addiu $sp, $sp, 0x18 -/* 005A24 70004E24 03E00008 */ jr $ra -/* 005A28 70004E28 00000000 */ nop -) -#endif - - - - -/** - * 5A2C 70004E2C - * V0= p->debug.notice.list entry for boss_c_debug using data at 800241A0 - */ -void add_debug_notice_deb_c_debug(void) -{ - get_ptr_debug_notice_list_entry(&D_800232E0, "deb_c_debug"); - init_tlb(); -} - - -/** - * 5A60 70004E60 - * V0=p->debug.notice.list entry for name A1 and data A0; generates if not found - * accepts: A0=p->data, A1=p->name - */ -void get_ptr_debug_notice_list_entry(void* data, char * string) -{ - if (return_match_in_debug_notice_list(string) == 0) - { - add_new_entry_to_debug_notice_list(string, data); - } -} - - - -/** - * 5A98 70004E98 - * V0=0; scan debug.notice.list until a NULL pointer - * likely this would have executed some function for each entry... - */ -#ifdef NONMATCHING -void *scan_debug_notice_list_till_NULL(void) -{ - void *temp_v0; - void *phi_v0; - - phi_v0 = debug_notice_list; - if (debug_notice_list != 0) - { -loop_1: - temp_v0 = *phi_v0; - phi_v0 = temp_v0; - if (temp_v0 != 0) - { - goto loop_1; - } - } - return debug_notice_list; -} -#else -GLOBAL_ASM( -.text -glabel scan_debug_notice_list_till_NULL -/* 005A98 70004E98 3C028002 */ lui $v0, %hi(debug_notice_list) -/* 005A9C 70004E9C 8C4232E8 */ lw $v0, %lo(debug_notice_list)($v0) -/* 005AA0 70004EA0 10400004 */ beqz $v0, .L70004EB4 -/* 005AA4 70004EA4 00000000 */ nop -/* 005AA8 70004EA8 8C420000 */ lw $v0, ($v0) -.L70004EAC: -/* 005AAC 70004EAC 5440FFFF */ bnezl $v0, .L70004EAC -/* 005AB0 70004EB0 8C420000 */ lw $v0, ($v0) -.L70004EB4: -/* 005AB4 70004EB4 03E00008 */ jr $ra -/* 005AB8 70004EB8 00000000 */ nop -) -#endif - - - -/** - * 5ABC 70004EBC - * unconditional return - */ -void debug_stubbed_70004EBC(void) -{ - return; -} - -/** - * 5AC4 70004EC4 - * A0->SP+0, A1->SP+4, A2->SP+8 - */ -void debug_removed(s32 arg0, s32 arg1, s32 arg2) -{ - return; -} - - diff --git a/src/deb.h b/src/deb.h deleted file mode 100644 index 3300cd2..0000000 --- a/src/deb.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _DEB_H_ -#define _DEB_H_ - -#include "ultra64.h" - -void get_ptr_debug_notice_list_entry(void *arg0, char *string); - -#endif diff --git a/src/deb_print.c b/src/deb_print.c deleted file mode 100644 index e1d7268..0000000 --- a/src/deb_print.c +++ /dev/null @@ -1,712 +0,0 @@ -#include "ultra64.h" -#include "deb_print.h" -#include "bondgame.h" - -/** - * @file deb_print.c - * This file contains the stderr manager. - */ - -//im just padding -u32 D_80023300 = 0; - - -struct debug_processor_error_entry debug_processor_error_table[] = { -{0x80000000, 0x80000000, "BD"}, -{0x8000, 0x8000, "IP8"}, -{0x4000, 0x4000, "IP7"}, -{0x2000, 0x2000, "IP6"}, -{0x1000, 0x1000, "IP5"}, -{0x800, 0x800, "IP4"}, -{0x400, 0x400, "IP3"}, -{0x200, 0x200, "IP2"}, -{0x100, 0x100, "IP1"}, -{0x7C, 0, "Int"}, -{0x7C, 4, "TLBmod"}, -{0x7C, 8, "TLBload"}, -{0x7C, 0xC, "TLBstore"}, -{0x7C, 0x10, "Address error on load or instruction fetch"}, -{0x7C, 0x14, "Address error on store"}, -{0x7C, 0x18, "Bus error exception on instruction fetch"}, -{0x7C, 0x1C, "Bus error exception on data reference"}, -{0x7C, 0x20, "Syscall"}, -{0x7C, 0x24, "Brk"}, -{0x7C, 0x28, "Reserved instruction"}, -{0x7C, 0x2C, "Cop unusable"}, -{0x7C, 0x30, "Overflow"}, -{0x7C, 0x34, "Trap"}, -{0x7C, 0x38, "Virtual coherency exception on intruction fetch"}, -{0x7C, 0x3C, "Fp exception"}, -{0x7C, 0x5C, "Watchpoint"}, -{0x7C, 0x7C, "Virtual coherency exception on data reference"}, -{0, 0, ""}, -{0x80000000, 0x80000000, "CU3"}, -{0x40000000, 0x40000000, "CU2"}, -{0x20000000, 0x20000000, "CU1"}, -{0x10000000, 0x10000000, "CU0"}, -{0x8000000, 0x8000000, "RP"}, -{0x4000000, 0x4000000, "FR"}, -{0x2000000, 0x2000000, "RE"}, -{0x400000, 0x400000, "BEV"}, -{0x200000, 0x200000, "TS"}, -{0x100000, 0x100000, "SR"}, -{0x40000, 0x40000, "CH"}, -{0x20000, 0x20000, "CE"}, -{0x10000, 0x10000, "DE"}, -{0x8000, 0x8000, "IM8"}, -{0x4000, 0x4000, "IM7"}, -{0x2000, 0x2000, "IM6"}, -{0x1000, 0x1000, "IM5"}, -{0x800, 0x800, "IM4"}, -{0x400, 0x400, "IM3"}, -{0x200, 0x200, "IM2"}, -{0x100, 0x100, "IM1"}, -{0x80, 0x80, "KX"}, -{0x40, 0x40, "SX"}, -{0x20, 0x20, "UX"}, -{0x18, 0x10, "USR"}, -{0x18, 8, "SUP"}, -{0x18, 0, "KER"}, -{4, 4, "ERL"}, -{2, 2, "EXL"}, -{1, 1, "IE"}, -{0, 0, ""}, -{0x1000000, 0x1000000, "FS"}, -{0x800000, 0x800000, "C"}, -{0x20000, 0x20000, "Unimplemented"}, -{0x10000, 0x10000, "Invalid op"}, -{0x8000, 0x8000, "/ by 0.0"}, -{0x4000, 0x4000, "Overflow"}, -{0x2000, 0x2000, "Underflow"}, -{0x1000, 0x1000, "Inexact op"}, -{0x800, 0x800, "EV"}, -{0x400, 0x400, "EZ"}, -{0x200, 0x200, "EO"}, -{0x100, 0x100, "EU"}, -{0x80, 0x80, "EI"}, -{0x40, 0x40, "FV"}, -{0x20, 0x20, "FZ"}, -{0x10, 0x10, "FO"}, -{8, 8, "FU"}, -{4, 4, "FI"}, -{3, 0, "RN"}, -{3, 1, "RZ"}, -{3, 2, "RP"}, -{3, 3, "RM"}, -{0, 0, ""} }; - -void *stack_ptrs_1[] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi}; -void *stack_ptrs_2[] = {&sp_idle, &sp_shed, &sp_main, &sp_audi, &sp_debug}; -void *stack_ptrs_3[] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi}; - -char stderr_buffer[2280] = {0x0}; - - -//split more here likely -u32 std_error_font_bitcode[] = { -0x00000000, 0x22220200, 0x55000000, 0x5F5F500, 0x27427200, -0x05124500, 0x34255300, 0x22000000, 0x24444420, 0x42222240, -0x06F6F600, 0x272000, 0x240, 0x70000, 0x200, -0x11224480, 0x25555200, 0x26222700, 0x25125700, 0x61211600, -0x33557300, 0x64611600, 0x24655200, 0x71112200, 0x25755200, -0x25531600, 0x200200, 0x200640, 0x1242100, 0x707000, - 0x4212400, 0x7120200, 0x25FF5700, 0x2557D00, 0x6575E00, - 0x7445300, 0x7555600, 0x7565700, 0x7564400, 0x7C95700, - 0x5575500, 0x7222700, 0x3111600, 0x5665500, 0x4445F00, - 0xDFF9D00, 0xF777D00, 0x7DD5700, 0x7564600, 0x7995770, - 0x7565500, 0x7461E00, 0x7222200, 0xD999600, 0xD552200, - 0xDF77500, 0xD625500, 0x5622600, 0x7125700, 0x32222230, -0x44222110, 0x62222260, 0x25000000, 0x700, 0x42200000, - 0x67D700, 0x44755700, 0x788600, 0x117DD700, 0x6FC700, -0x32722700, 0x7DD730, 0x44755500, 0x2622700, 0x2711130, -0x44766500, 0x62222700, 0xFFFF00, 0x755D00, 0x6DD600, - 0x755740, 0x799710, 0x744600, 0x775700, 0x2722300, - 0x555700, 0x552200, 0x577500, 0x562500, 0x552220, - 0x703700, 0x12242210, 0x2222220, 0x42212240, 0x5A0000 }; - -void *ptr_videobuffer1 = 0; -void *ptr_videobuffer2 = 0; - -u32 padding_80024184[4] = 0; - - - - -/** - * 6230 70005630 - * write char A2 to (A0,A1) in stderr - * accepts: A0=xpos, A1=ypos, A2=char - */ -#ifdef NONMATCHING -void write_char_to_pos_stderr(int xpos,int ypos,u8 letter) { - if ((letter == 9) || (letter == 10)) { - letter = 0; - } - if (((letter != 0) && (letter < 0x20)) || (0x7e < letter)) { - letter = 0x3f; - } - if (((-1 < xpos) && (xpos < 0x48)) && ((-1 < ypos && (ypos < 0x20)))) { - stderr_buffer[ypos * 0x47 + xpos] = letter; - } - return; -} -#else -GLOBAL_ASM( -.text -glabel write_char_to_pos_stderr -/* 006230 70005630 30CE00FF */ andi $t6, $a2, 0xff -/* 006234 70005634 AFA60008 */ sw $a2, 8($sp) -/* 006238 70005638 24010009 */ li $at, 9 -/* 00623C 7000563C 01C03025 */ move $a2, $t6 -/* 006240 70005640 11C10004 */ beq $t6, $at, .L70005654 -/* 006244 70005644 01C01025 */ move $v0, $t6 -/* 006248 70005648 2401000A */ li $at, 10 -/* 00624C 7000564C 15C10003 */ bne $t6, $at, .L7000565C -/* 006250 70005650 00000000 */ nop -.L70005654: -/* 006254 70005654 00003025 */ move $a2, $zero -/* 006258 70005658 00001025 */ move $v0, $zero -.L7000565C: -/* 00625C 7000565C 18400002 */ blez $v0, .L70005668 -/* 006260 70005660 28410020 */ slti $at, $v0, 0x20 -/* 006264 70005664 14200003 */ bnez $at, .L70005674 -.L70005668: -/* 006268 70005668 2841007F */ slti $at, $v0, 0x7f -/* 00626C 7000566C 14200002 */ bnez $at, .L70005678 -/* 006270 70005670 00000000 */ nop -.L70005674: -/* 006274 70005674 2406003F */ li $a2, 63 -.L70005678: -/* 006278 70005678 0480000E */ bltz $a0, .L700056B4 -/* 00627C 7000567C 28810048 */ slti $at, $a0, 0x48 -/* 006280 70005680 1020000C */ beqz $at, .L700056B4 -/* 006284 70005684 00000000 */ nop -/* 006288 70005688 04A0000A */ bltz $a1, .L700056B4 -/* 00628C 7000568C 28A10020 */ slti $at, $a1, 0x20 -/* 006290 70005690 10200008 */ beqz $at, .L700056B4 -/* 006294 70005694 000578C0 */ sll $t7, $a1, 3 -/* 006298 70005698 01E57821 */ addu $t7, $t7, $a1 -/* 00629C 7000569C 000F78C0 */ sll $t7, $t7, 3 -/* 0062A0 700056A0 01E57823 */ subu $t7, $t7, $a1 -/* 0062A4 700056A4 01E4C021 */ addu $t8, $t7, $a0 -/* 0062A8 700056A8 3C018002 */ lui $at, %hi(stderr_buffer) -/* 0062AC 700056AC 00380821 */ addu $at, $at, $t8 -/* 0062B0 700056B0 A0263718 */ sb $a2, %lo(stderr_buffer)($at) -.L700056B4: -/* 0062B4 700056B4 03E00008 */ jr $ra -/* 0062B8 700056B8 00000000 */ nop -) -#endif - - - - -/** - * 62BC 700056BC - * write char A0 to stderr - * accepts: A0=char - */ -#ifdef NONMATCHING -void __osRdbSend(void) { - -} -#else -GLOBAL_ASM( -.text -glabel __osRdbSend -/* 0062BC 700056BC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0062C0 700056C0 308600FF */ andi $a2, $a0, 0xff -/* 0062C4 700056C4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0062C8 700056C8 AFB00018 */ sw $s0, 0x18($sp) -/* 0062CC 700056CC AFA40028 */ sw $a0, 0x28($sp) -/* 0062D0 700056D0 10C00039 */ beqz $a2, .L700057B8 -/* 0062D4 700056D4 00C01025 */ move $v0, $a2 -/* 0062D8 700056D8 24010009 */ li $at, 9 -/* 0062DC 700056DC 14C1000A */ bne $a2, $at, .L70005708 -/* 0062E0 700056E0 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0) -/* 0062E4 700056E4 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8 -.L700056E8: -/* 0062E8 700056E8 0C0015AF */ jal __osRdbSend -/* 0062EC 700056EC 24040020 */ li $a0, 32 -/* 0062F0 700056F0 8E0E0000 */ lw $t6, ($s0) -/* 0062F4 700056F4 31CF0007 */ andi $t7, $t6, 7 -/* 0062F8 700056F8 15E0FFFB */ bnez $t7, .L700056E8 -/* 0062FC 700056FC 00000000 */ nop -/* 006300 70005700 1000002E */ b .L700057BC -/* 006304 70005704 8FBF001C */ lw $ra, 0x1c($sp) -.L70005708: -/* 006308 70005708 2401000A */ li $at, 10 -/* 00630C 7000570C 14410008 */ bne $v0, $at, .L70005730 -/* 006310 70005710 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4) -/* 006314 70005714 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc -/* 006318 70005718 8C780000 */ lw $t8, ($v1) -/* 00631C 7000571C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0) -/* 006320 70005720 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8 -/* 006324 70005724 27190001 */ addiu $t9, $t8, 1 -/* 006328 70005728 AC790000 */ sw $t9, ($v1) -/* 00632C 7000572C AE000000 */ sw $zero, ($s0) -.L70005730: -/* 006330 70005730 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4) -/* 006334 70005734 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc -/* 006338 70005738 8C650000 */ lw $a1, ($v1) -/* 00633C 7000573C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0) -/* 006340 70005740 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8 -/* 006344 70005744 28A1001F */ slti $at, $a1, 0x1f -/* 006348 70005748 1420000A */ bnez $at, .L70005774 -/* 00634C 7000574C 24A4FFE2 */ addiu $a0, $a1, -0x1e -/* 006350 70005750 AFA20024 */ sw $v0, 0x24($sp) -/* 006354 70005754 0C0015F3 */ jal scroll_stderr_oneline -/* 006358 70005758 A3A6002B */ sb $a2, 0x2b($sp) -/* 00635C 7000575C 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4) -/* 006360 70005760 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc -/* 006364 70005764 2408001E */ li $t0, 30 -/* 006368 70005768 8FA20024 */ lw $v0, 0x24($sp) -/* 00636C 7000576C 93A6002B */ lbu $a2, 0x2b($sp) -/* 006370 70005770 AC680000 */ sw $t0, ($v1) -.L70005774: -/* 006374 70005774 2401000A */ li $at, 10 -/* 006378 70005778 50410010 */ beql $v0, $at, .L700057BC -/* 00637C 7000577C 8FBF001C */ lw $ra, 0x1c($sp) -/* 006380 70005780 8E040000 */ lw $a0, ($s0) -/* 006384 70005784 0C00158C */ jal write_char_to_pos_stderr -/* 006388 70005788 8C650000 */ lw $a1, ($v1) -/* 00638C 7000578C 8E090000 */ lw $t1, ($s0) -/* 006390 70005790 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4) -/* 006394 70005794 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc -/* 006398 70005798 252A0001 */ addiu $t2, $t1, 1 -/* 00639C 7000579C 29410047 */ slti $at, $t2, 0x47 -/* 0063A0 700057A0 14200005 */ bnez $at, .L700057B8 -/* 0063A4 700057A4 AE0A0000 */ sw $t2, ($s0) -/* 0063A8 700057A8 8C6C0000 */ lw $t4, ($v1) -/* 0063AC 700057AC AE000000 */ sw $zero, ($s0) -/* 0063B0 700057B0 258D0001 */ addiu $t5, $t4, 1 -/* 0063B4 700057B4 AC6D0000 */ sw $t5, ($v1) -.L700057B8: -/* 0063B8 700057B8 8FBF001C */ lw $ra, 0x1c($sp) -.L700057BC: -/* 0063BC 700057BC 8FB00018 */ lw $s0, 0x18($sp) -/* 0063C0 700057C0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0063C4 700057C4 03E00008 */ jr $ra -/* 0063C8 700057C8 00000000 */ nop -) -#endif - - - - -/** - * 63CC 700057CC - * scroll stderr down one line - * accepts: A0=ypos - */ -#ifdef NONMATCHING -s32 scroll_stderr_oneline(s32 arg0) { - void *temp_a1_2; - void *temp_a1; - - // Node 0 - if (0 < arg0) - { - // Node 1 - // Node 2 - // Node 3 - temp_a1_2 = (&stderr_buffer + 3); - stderr_buffer = (s8) stderr_buffer.unk47; - stderr_buffer.unk1 = (s8) stderr_buffer.unk48; - stderr_buffer.unk2 = (s8) stderr_buffer.unk49; - // Node 4 - temp_a1 = (temp_a1_2 + 4); - temp_a1->unk-3 = (s8) temp_a1_2->unk48; - temp_a1->unk-2 = (s8) temp_a1_2->unk49; - temp_a1->unk-1 = (s8) temp_a1_2->unk4A; - temp_a1->unk-4 = (s8) temp_a1_2->unk47; - if ((3 + 4) != 0x47) - { - goto loop_4; - } - // Node 5 - if ((&stderr_buffer + 0x47) != (stderr_buffer + 0x899)) - { - goto loop_3; - } - // Node 6 - if (0 < (arg0 + -1)) - { - goto loop_2; - } - } - // (possible return value: (0 < arg0)) -} -#else -GLOBAL_ASM( -.text -glabel scroll_stderr_oneline -/* 0063CC 700057CC 0004102A */ slt $v0, $zero, $a0 -/* 0063D0 700057D0 10400020 */ beqz $v0, .L70005854 -/* 0063D4 700057D4 2484FFFF */ addiu $a0, $a0, -1 -/* 0063D8 700057D8 3C088002 */ lui $t0, %hi(stderr_buffer + 0x899) -/* 0063DC 700057DC 25083FB1 */ addiu $t0, %lo(stderr_buffer + 0x899) # addiu $t0, $t0, 0x3fb1 -/* 0063E0 700057E0 24070047 */ li $a3, 71 -.L700057E4: -/* 0063E4 700057E4 3C0E8002 */ lui $t6, %hi(stderr_buffer) -/* 0063E8 700057E8 25C63718 */ addiu $a2, $t6, %lo(stderr_buffer) -/* 0063EC 700057EC 00C01825 */ move $v1, $a2 -.L700057F0: -/* 0063F0 700057F0 90CF0047 */ lbu $t7, 0x47($a2) -/* 0063F4 700057F4 90D80048 */ lbu $t8, 0x48($a2) -/* 0063F8 700057F8 90D90049 */ lbu $t9, 0x49($a2) -/* 0063FC 700057FC 24020003 */ li $v0, 3 -/* 006400 70005800 24650003 */ addiu $a1, $v1, 3 -/* 006404 70005804 A0CF0000 */ sb $t7, ($a2) -/* 006408 70005808 A0D80001 */ sb $t8, 1($a2) -/* 00640C 7000580C A0D90002 */ sb $t9, 2($a2) -.L70005810: -/* 006410 70005810 90AA0048 */ lbu $t2, 0x48($a1) -/* 006414 70005814 90AB0049 */ lbu $t3, 0x49($a1) -/* 006418 70005818 90AC004A */ lbu $t4, 0x4a($a1) -/* 00641C 7000581C 90A90047 */ lbu $t1, 0x47($a1) -/* 006420 70005820 24420004 */ addiu $v0, $v0, 4 -/* 006424 70005824 24A50004 */ addiu $a1, $a1, 4 -/* 006428 70005828 A0AAFFFD */ sb $t2, -3($a1) -/* 00642C 7000582C A0ABFFFE */ sb $t3, -2($a1) -/* 006430 70005830 A0ACFFFF */ sb $t4, -1($a1) -/* 006434 70005834 1447FFF6 */ bne $v0, $a3, .L70005810 -/* 006438 70005838 A0A9FFFC */ sb $t1, -4($a1) -/* 00643C 7000583C 24C60047 */ addiu $a2, $a2, 0x47 -/* 006440 70005840 14C8FFEB */ bne $a2, $t0, .L700057F0 -/* 006444 70005844 24630047 */ addiu $v1, $v1, 0x47 -/* 006448 70005848 0004102A */ slt $v0, $zero, $a0 -/* 00644C 7000584C 1440FFE5 */ bnez $v0, .L700057E4 -/* 006450 70005850 2484FFFF */ addiu $a0, $a0, -1 -.L70005854: -/* 006454 70005854 03E00008 */ jr $ra -/* 006458 70005858 00000000 */ nop -) -#endif - - - - -/** - * 645C 7000585C - * print char A2 to stderr screen position (A0,A1) in video buffer 1 - * accepts: A0=xpos, A1=ypos, A2=char - */ -#ifdef NONMATCHING -void print_to_vidbuff1(s32 arg0, s32 arg1, ? arg2, s32 arg6, s32 arg7, s32 arg8) { - s32 temp_at; - void *temp_a0; - void *temp_v1; - void *temp_v1_2; - void *temp_v1_3; - void *temp_v1_4; - - // Node 0 - if (arg8 == 0) - { - // Node 1 - } - // Node 2 - temp_at = (arg8 < 0x7f); - if (temp_at == 0) - { - // Node 3 - if (temp_at != 0) - { - // Node 4 - temp_a0 = (0x80020000 + (arg8 * 4)); - temp_v1 = (((arg6 * 2) + ptr_videobuffer1) + ((arg7 * get_video2_settings_txtClipW()) * 2)); - // Node 5 - if ((temp_a0->unk3F80 & 0x80000000) != 0) - { - // Node 6 - *temp_v1 = (u16)0xffff; - } - else - { - // Node 7 - *temp_v1 = (u16)1; - } - // Node 8 - temp_v1_2 = (temp_v1 + 2); - if (((temp_a0->unk3F80 * 2) & 0x80000000) != 0) - { - // Node 9 - *temp_v1_2 = (u16)0xffff; - } - else - { - // Node 10 - *temp_v1_2 = (u16)1; - } - // Node 11 - temp_v1_3 = (temp_v1_2 + 2); - if (((temp_a0->unk3F80 * 4) & 0x80000000) != 0) - { - // Node 12 - *temp_v1_3 = (u16)0xffff; - } - else - { - // Node 13 - *temp_v1_3 = (u16)1; - } - // Node 14 - temp_v1_4 = (temp_v1_3 + 2); - if (((temp_a0->unk3F80 * 8) & 0x80000000) != 0) - { - // Node 15 - *temp_v1_4 = (u16)0xffff; - } - else - { - // Node 16 - *temp_v1_4 = (u16)1; - } - // Node 17 - if ((0 + 1) != 7) - { - goto loop_5; - } - } - } - // (possible return value: get_video2_settings_txtClipW()) -} - -#else -GLOBAL_ASM( -.text -glabel print_to_vidbuff1 -/* 00645C 7000585C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 006460 70005860 AFBF0014 */ sw $ra, 0x14($sp) -/* 006464 70005864 AFA40018 */ sw $a0, 0x18($sp) -/* 006468 70005868 AFA5001C */ sw $a1, 0x1c($sp) -/* 00646C 7000586C 0C001107 */ jal get_video2_settings_txtClipW -/* 006470 70005870 AFA60020 */ sw $a2, 0x20($sp) -/* 006474 70005874 93A50023 */ lbu $a1, 0x23($sp) -/* 006478 70005878 54A00003 */ bnezl $a1, .L70005888 -/* 00647C 7000587C 28A10020 */ slti $at, $a1, 0x20 -/* 006480 70005880 24050020 */ li $a1, 32 -/* 006484 70005884 28A10020 */ slti $at, $a1, 0x20 -.L70005888: -/* 006488 70005888 1420003A */ bnez $at, .L70005974 -/* 00648C 7000588C 28A1007F */ slti $at, $a1, 0x7f -/* 006490 70005890 10200038 */ beqz $at, .L70005974 -/* 006494 70005894 8FAE0018 */ lw $t6, 0x18($sp) -/* 006498 70005898 8FAB001C */ lw $t3, 0x1c($sp) -/* 00649C 7000589C 3C188002 */ lui $t8, %hi(ptr_videobuffer1) -/* 0064A0 700058A0 8F18417C */ lw $t8, %lo(ptr_videobuffer1)($t8) -/* 0064A4 700058A4 01620019 */ multu $t3, $v0 -/* 0064A8 700058A8 000E7840 */ sll $t7, $t6, 1 -/* 0064AC 700058AC 00057080 */ sll $t6, $a1, 2 -/* 0064B0 700058B0 3C048002 */ lui $a0, %hi(stderr_buffer+0x868) -/* 0064B4 700058B4 008E2021 */ addu $a0, $a0, $t6 -/* 0064B8 700058B8 01F8C821 */ addu $t9, $t7, $t8 -/* 0064BC 700058BC 8C843F80 */ lw $a0, %lo(stderr_buffer+0x868)($a0) -/* 0064C0 700058C0 3C058000 */ lui $a1, 0x8000 -/* 0064C4 700058C4 00004025 */ move $t0, $zero -/* 0064C8 700058C8 00024840 */ sll $t1, $v0, 1 -/* 0064CC 700058CC 00006012 */ mflo $t4 -/* 0064D0 700058D0 000C6840 */ sll $t5, $t4, 1 -/* 0064D4 700058D4 032D1821 */ addu $v1, $t9, $t5 -/* 0064D8 700058D8 240A0007 */ li $t2, 7 -/* 0064DC 700058DC 24070001 */ li $a3, 1 -/* 0064E0 700058E0 3406FFFF */ li $a2, 65535 -.L700058E4: -/* 0064E4 700058E4 00857824 */ and $t7, $a0, $a1 -/* 0064E8 700058E8 11E00003 */ beqz $t7, .L700058F8 -/* 0064EC 700058EC 0004C040 */ sll $t8, $a0, 1 -/* 0064F0 700058F0 10000002 */ b .L700058FC -/* 0064F4 700058F4 A4660000 */ sh $a2, ($v1) -.L700058F8: -/* 0064F8 700058F8 A4670000 */ sh $a3, ($v1) -.L700058FC: -/* 0064FC 700058FC 03055824 */ and $t3, $t8, $a1 -/* 006500 70005900 24630002 */ addiu $v1, $v1, 2 -/* 006504 70005904 11600003 */ beqz $t3, .L70005914 -/* 006508 70005908 03002025 */ move $a0, $t8 -/* 00650C 7000590C 10000002 */ b .L70005918 -/* 006510 70005910 A4660000 */ sh $a2, ($v1) -.L70005914: -/* 006514 70005914 A4670000 */ sh $a3, ($v1) -.L70005918: -/* 006518 70005918 00046040 */ sll $t4, $a0, 1 -/* 00651C 7000591C 0185C824 */ and $t9, $t4, $a1 -/* 006520 70005920 01802025 */ move $a0, $t4 -/* 006524 70005924 13200003 */ beqz $t9, .L70005934 -/* 006528 70005928 24630002 */ addiu $v1, $v1, 2 -/* 00652C 7000592C 10000002 */ b .L70005938 -/* 006530 70005930 A4660000 */ sh $a2, ($v1) -.L70005934: -/* 006534 70005934 A4670000 */ sh $a3, ($v1) -.L70005938: -/* 006538 70005938 00046840 */ sll $t5, $a0, 1 -/* 00653C 7000593C 01A57024 */ and $t6, $t5, $a1 -/* 006540 70005940 01A02025 */ move $a0, $t5 -/* 006544 70005944 11C00003 */ beqz $t6, .L70005954 -/* 006548 70005948 24630002 */ addiu $v1, $v1, 2 -/* 00654C 7000594C 10000002 */ b .L70005958 -/* 006550 70005950 A4660000 */ sh $a2, ($v1) -.L70005954: -/* 006554 70005954 A4670000 */ sh $a3, ($v1) -.L70005958: -/* 006558 70005958 24630002 */ addiu $v1, $v1, 2 -/* 00655C 7000595C 25080001 */ addiu $t0, $t0, 1 -/* 006560 70005960 00047840 */ sll $t7, $a0, 1 -/* 006564 70005964 00691821 */ addu $v1, $v1, $t1 -/* 006568 70005968 01E02025 */ move $a0, $t7 -/* 00656C 7000596C 150AFFDD */ bne $t0, $t2, .L700058E4 -/* 006570 70005970 2463FFF8 */ addiu $v1, $v1, -8 -.L70005974: -/* 006574 70005974 8FBF0014 */ lw $ra, 0x14($sp) -/* 006578 70005978 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00657C 7000597C 03E00008 */ jr $ra -/* 006580 70005980 00000000 */ nop -) -#endif - - - - -/** - * 6584 70005984 - * set pointers to video buffers 1 & 2 to A0 and A1, respectively - * sets values to uncached addresses - * A0 | A0000000 -> 8002417C - * A1 | A0000000 -> 80024180 - */ -#ifdef NONMATCHING -void set_ptr_video_buffers(s32 arg0, s32 arg1) { - ptr_videobuffer1 = (s32) (arg0 | 0xa0000000); - ptr_videobuffer2 = (s32) (arg1 | 0xa0000000); -} - -#else -GLOBAL_ASM( -.text -glabel set_ptr_video_buffers -/* 006584 70005984 3C02A000 */ lui $v0, 0xa000 -/* 006588 70005988 00827025 */ or $t6, $a0, $v0 -/* 00658C 7000598C 3C018002 */ lui $at, %hi(ptr_videobuffer1) -/* 006590 70005990 AC2E417C */ sw $t6, %lo(ptr_videobuffer1)($at) -/* 006594 70005994 3C018002 */ lui $at, %hi(ptr_videobuffer2) -/* 006598 70005998 00A27825 */ or $t7, $a1, $v0 -/* 00659C 7000599C 03E00008 */ jr $ra -/* 0065A0 700059A0 AC2F4180 */ sw $t7, %lo(ptr_videobuffer2)($at) -) -#endif - - - -/** - * 65A4 700059A4 - * set pointers to video buffers 1 & 2 - * calls 70005984: A0=803B5000, A1=803DA800 - */ -void set_video_buffer_pointers(void) { - set_ptr_video_buffers(&cfb_16_a, &cfb_16_b); -} - - - - - -/** - * 65D0 700059D0 - * write stderr to video buffer A0 - * accepts: A0=p->video buffer - */ -#ifdef NONMATCHING -void write_stderr_to_buffer(void) { - -} -#else -GLOBAL_ASM( -.text -glabel write_stderr_to_buffer -/* 0065D0 700059D0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0065D4 700059D4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0065D8 700059D8 AFB00018 */ sw $s0, 0x18($sp) -/* 0065DC 700059DC 00808025 */ move $s0, $a0 -/* 0065E0 700059E0 AFBE0038 */ sw $fp, 0x38($sp) -/* 0065E4 700059E4 AFB70034 */ sw $s7, 0x34($sp) -/* 0065E8 700059E8 AFB60030 */ sw $s6, 0x30($sp) -/* 0065EC 700059EC AFB5002C */ sw $s5, 0x2c($sp) -/* 0065F0 700059F0 AFB40028 */ sw $s4, 0x28($sp) -/* 0065F4 700059F4 AFB30024 */ sw $s3, 0x24($sp) -/* 0065F8 700059F8 AFB20020 */ sw $s2, 0x20($sp) -/* 0065FC 700059FC 0C001669 */ jal set_video_buffer_pointers -/* 006600 70005A00 AFB1001C */ sw $s1, 0x1c($sp) -/* 006604 70005A04 3C01A000 */ lui $at, 0xa000 -/* 006608 70005A08 02017025 */ or $t6, $s0, $at -/* 00660C 70005A0C 3C018002 */ lui $at, %hi(ptr_videobuffer1) -/* 006610 70005A10 0C001107 */ jal get_video2_settings_txtClipW -/* 006614 70005A14 AC2E417C */ sw $t6, %lo(ptr_videobuffer1)($at) -/* 006618 70005A18 2450FFF3 */ addiu $s0, $v0, -0xd -/* 00661C 70005A1C 06010003 */ bgez $s0, .L70005A2C -/* 006620 70005A20 00107883 */ sra $t7, $s0, 2 -/* 006624 70005A24 26010003 */ addiu $at, $s0, 3 -/* 006628 70005A28 00017883 */ sra $t7, $at, 2 -.L70005A2C: -/* 00662C 70005A2C 0C00110B */ jal get_video2_settings_txtClipH -/* 006630 70005A30 01E08025 */ move $s0, $t7 -/* 006634 70005A34 2443FFF6 */ addiu $v1, $v0, -0xa -/* 006638 70005A38 24010007 */ li $at, 7 -/* 00663C 70005A3C 0061001A */ div $zero, $v1, $at -/* 006640 70005A40 00001812 */ mflo $v1 -/* 006644 70005A44 247EFFFF */ addiu $fp, $v1, -1 -/* 006648 70005A48 1BC00023 */ blez $fp, .L70005AD8 -/* 00664C 70005A4C 0000A825 */ move $s5, $zero -/* 006650 70005A50 2616FFFB */ addiu $s6, $s0, -5 -/* 006654 70005A54 2417001F */ li $s7, 31 -/* 006658 70005A58 24140130 */ li $s4, 304 -.L70005A5C: -/* 00665C 70005A5C 1AC00018 */ blez $s6, .L70005AC0 -/* 006660 70005A60 00008080 */ sll $s0, $zero, 2 -/* 006664 70005A64 0015C8C0 */ sll $t9, $s5, 3 -/* 006668 70005A68 0335C821 */ addu $t9, $t9, $s5 -/* 00666C 70005A6C 0019C8C0 */ sll $t9, $t9, 3 -/* 006670 70005A70 001590C0 */ sll $s2, $s5, 3 -/* 006674 70005A74 3C098002 */ lui $t1, %hi(stderr_buffer) -/* 006678 70005A78 25293718 */ addiu $t1, %lo(stderr_buffer) # addiu $t1, $t1, 0x3718 -/* 00667C 70005A7C 02559023 */ subu $s2, $s2, $s5 -/* 006680 70005A80 0335C823 */ subu $t9, $t9, $s5 -/* 006684 70005A84 00169880 */ sll $s3, $s6, 2 -/* 006688 70005A88 26730014 */ addiu $s3, $s3, 0x14 -/* 00668C 70005A8C 03298821 */ addu $s1, $t9, $t1 -/* 006690 70005A90 26520007 */ addiu $s2, $s2, 7 -/* 006694 70005A94 26100014 */ addiu $s0, $s0, 0x14 -/* 006698 70005A98 02002025 */ move $a0, $s0 -.L70005A9C: -/* 00669C 70005A9C 02402825 */ move $a1, $s2 -/* 0066A0 70005AA0 0C001617 */ jal print_to_vidbuff1 -/* 0066A4 70005AA4 92260000 */ lbu $a2, ($s1) -/* 0066A8 70005AA8 26100004 */ addiu $s0, $s0, 4 -/* 0066AC 70005AAC 0213082A */ slt $at, $s0, $s3 -/* 0066B0 70005AB0 10200003 */ beqz $at, .L70005AC0 -/* 0066B4 70005AB4 26310001 */ addiu $s1, $s1, 1 -/* 0066B8 70005AB8 5614FFF8 */ bnel $s0, $s4, .L70005A9C -/* 0066BC 70005ABC 02002025 */ move $a0, $s0 -.L70005AC0: -/* 0066C0 70005AC0 26B50001 */ addiu $s5, $s5, 1 -/* 0066C4 70005AC4 02BE082A */ slt $at, $s5, $fp -/* 0066C8 70005AC8 50200004 */ beql $at, $zero, .L70005ADC -/* 0066CC 70005ACC 8FBF003C */ lw $ra, 0x3c($sp) -/* 0066D0 70005AD0 16B7FFE2 */ bne $s5, $s7, .L70005A5C -/* 0066D4 70005AD4 00000000 */ nop -.L70005AD8: -/* 0066D8 70005AD8 8FBF003C */ lw $ra, 0x3c($sp) -.L70005ADC: -/* 0066DC 70005ADC 8FB00018 */ lw $s0, 0x18($sp) -/* 0066E0 70005AE0 8FB1001C */ lw $s1, 0x1c($sp) -/* 0066E4 70005AE4 8FB20020 */ lw $s2, 0x20($sp) -/* 0066E8 70005AE8 8FB30024 */ lw $s3, 0x24($sp) -/* 0066EC 70005AEC 8FB40028 */ lw $s4, 0x28($sp) -/* 0066F0 70005AF0 8FB5002C */ lw $s5, 0x2c($sp) -/* 0066F4 70005AF4 8FB60030 */ lw $s6, 0x30($sp) -/* 0066F8 70005AF8 8FB70034 */ lw $s7, 0x34($sp) -/* 0066FC 70005AFC 8FBE0038 */ lw $fp, 0x38($sp) -/* 006700 70005B00 03E00008 */ jr $ra -/* 006704 70005B04 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif diff --git a/src/deb_print.h b/src/deb_print.h deleted file mode 100644 index 6de0cb1..0000000 --- a/src/deb_print.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _DEBUG_PRINT_H_ -#define _DEBUG_PRINT_H_ - -#include "ultra64.h" - -//im just padding -extern u32 D_80023300; - -struct debug_processor_error_entry -{ - u32 val1; - u32 val2; - void *string; -}; - -extern struct debug_processor_error_entry debug_processor_error_table[]; -void *stack_ptrs_1[]; -void *stack_ptrs_2[]; -void *stack_ptrs_3[]; -char stderr_buffer[2280]; - -#endif diff --git a/src/deb_video.c b/src/deb_video.c deleted file mode 100644 index 5540171..0000000 --- a/src/deb_video.c +++ /dev/null @@ -1,891 +0,0 @@ -//FIXME my c code is modtly copy/paste from mips_to_c -#include "ultra64.h" -#include "bondgame.h" -#include "deb_video.h" - -/** - * @file deb_video.c - * This file contains code to handle tlb paging. - * - * I should probably be renamed... - */ - -//bss -char thread_video_manager_debugthread[0x6B0]; -char tlbStack[0x2300]; -OSMesgQueue thread5_MesgQ; -u32 thread5_MesgBuf; -OSThread *ptr_tlbthread_maybe; -u32 dword_CODE_bss_80063660; -u32 *current_indy_read_buf_resourceID; -u32 *ptr_indy_read_buf_string1; -u32 *ptr_indy_read_buf_string2; -char indy_read_buffer[0x60]; - - -/** - * 5AE0 70004EE0 - */ -void init_tlb(void) { - set_video_buffer_pointers(); - osCreateMesgQueue(&thread5_MesgQ, &thread5_MesgBuf, 1); - osCreateThread(&thread_video_manager_debugthread, 5, &thread5_translate_7F_address, 0, &tlbStack, 0x28); - osStartThread(&thread_video_manager_debugthread); -} - - - - - -/** - * 5B54 70004F54 - */ -#ifdef NONMATCHING -void thread5_translate_7F_address(void) { - -} -#else -GLOBAL_ASM( -.text -glabel thread5_translate_7F_address -/* 005B54 70004F54 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 005B58 70004F58 AFB70030 */ sw $s7, 0x30($sp) -/* 005B5C 70004F5C 3C178006 */ lui $s7, %hi(thread5_MesgQ) -/* 005B60 70004F60 26F73640 */ addiu $s7, %lo(thread5_MesgQ) # addiu $s7, $s7, 0x3640 -/* 005B64 70004F64 AFBF0034 */ sw $ra, 0x34($sp) -/* 005B68 70004F68 AFA40040 */ sw $a0, 0x40($sp) -/* 005B6C 70004F6C AFB6002C */ sw $s6, 0x2c($sp) -/* 005B70 70004F70 AFB50028 */ sw $s5, 0x28($sp) -/* 005B74 70004F74 AFB40024 */ sw $s4, 0x24($sp) -/* 005B78 70004F78 AFB30020 */ sw $s3, 0x20($sp) -/* 005B7C 70004F7C AFB2001C */ sw $s2, 0x1c($sp) -/* 005B80 70004F80 AFB10018 */ sw $s1, 0x18($sp) -/* 005B84 70004F84 AFB00014 */ sw $s0, 0x14($sp) -/* 005B88 70004F88 AFA0003C */ sw $zero, 0x3c($sp) -/* 005B8C 70004F8C 2404000C */ li $a0, 12 -/* 005B90 70004F90 02E02825 */ move $a1, $s7 -/* 005B94 70004F94 0C003714 */ jal osSetEventMesg -/* 005B98 70004F98 24060010 */ li $a2, 16 -/* 005B9C 70004F9C 3C018006 */ lui $at, %hi(dword_CODE_bss_80063660) -/* 005BA0 70004FA0 3C168002 */ lui $s6, %hi(__osRunQueue) -/* 005BA4 70004FA4 AC203660 */ sw $zero, %lo(dword_CODE_bss_80063660)($at) -/* 005BA8 70004FA8 26D67728 */ addiu $s6, %lo(__osRunQueue) # addiu $s6, $s6, 0x7728 -/* 005BAC 70004FAC 2415000A */ li $s5, 10 -/* 005BB0 70004FB0 3C14FFC0 */ lui $s4, 0xffc0 -/* 005BB4 70004FB4 3C137F00 */ lui $s3, 0x7f00 -/* 005BB8 70004FB8 24120008 */ li $s2, 8 -/* 005BBC 70004FBC 27B1003C */ addiu $s1, $sp, 0x3c -.L70004FC0: -/* 005BC0 70004FC0 02E02025 */ move $a0, $s7 -.L70004FC4: -/* 005BC4 70004FC4 02202825 */ move $a1, $s1 -/* 005BC8 70004FC8 0C003774 */ jal osRecvMesg -/* 005BCC 70004FCC 24060001 */ li $a2, 1 -/* 005BD0 70004FD0 0C00374C */ jal osSetIntMask -/* 005BD4 70004FD4 24040001 */ li $a0, 1 -/* 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 -/* 005BE8 70004FE8 AC22365C */ sw $v0, %lo(ptr_tlbthread_maybe)($at) -/* 005BEC 70004FEC 8C4E0120 */ lw $t6, 0x120($v0) -/* 005BF0 70004FF0 3C088006 */ lui $t0, %hi(ptr_tlbthread_maybe) -/* 005BF4 70004FF4 31CF007C */ andi $t7, $t6, 0x7c -/* 005BF8 70004FF8 164F0018 */ bne $s2, $t7, .L7000505C -/* 005BFC 70004FFC 00000000 */ nop -/* 005C00 70005000 8C580124 */ lw $t8, 0x124($v0) -/* 005C04 70005004 0314C824 */ and $t9, $t8, $s4 -/* 005C08 70005008 16790014 */ bne $s3, $t9, .L7000505C -/* 005C0C 7000500C 00000000 */ nop -/* 005C10 70005010 8D08365C */ lw $t0, %lo(ptr_tlbthread_maybe)($t0) -/* 005C14 70005014 0C000676 */ jal translate_load_rom_from_TLBaddress -/* 005C18 70005018 8D040124 */ lw $a0, 0x124($t0) -/* 005C1C 7000501C 3C098006 */ lui $t1, %hi(ptr_tlbthread_maybe) -/* 005C20 70005020 8D29365C */ lw $t1, %lo(ptr_tlbthread_maybe)($t1) -/* 005C24 70005024 3C0A8006 */ lui $t2, %hi(ptr_tlbthread_maybe) -/* 005C28 70005028 3C058006 */ lui $a1, %hi(ptr_tlbthread_maybe) -/* 005C2C 7000502C A5350010 */ sh $s5, 0x10($t1) -/* 005C30 70005030 8D4A365C */ lw $t2, %lo(ptr_tlbthread_maybe)($t2) -/* 005C34 70005034 02C02025 */ move $a0, $s6 -/* 005C38 70005038 A5400012 */ sh $zero, 0x12($t2) -/* 005C3C 7000503C 0C00422B */ jal __osEnqueueThread -/* 005C40 70005040 8CA5365C */ lw $a1, %lo(ptr_tlbthread_maybe)($a1) -/* 005C44 70005044 0C00374C */ jal osSetIntMask -/* 005C48 70005048 02002025 */ move $a0, $s0 -/* 005C4C 7000504C 0C0042B4 */ jal osYieldThread -/* 005C50 70005050 00000000 */ nop -/* 005C54 70005054 1000FFDB */ b .L70004FC4 -/* 005C58 70005058 02E02025 */ move $a0, $s7 -.L7000505C: -/* 005C5C 7000505C 0C00374C */ jal osSetIntMask -/* 005C60 70005060 02002025 */ move $a0, $s0 -.L70005064: -/* 005C64 70005064 1000FFFF */ b .L70005064 -/* 005C68 70005068 00000000 */ nop -/* 005C6C 7000506C 00000000 */ nop -/* 005C70 70005070 00000000 */ nop -/* 005C74 70005074 00000000 */ nop -/* 005C78 70005078 00000000 */ nop -/* 005C7C 7000507C 00000000 */ nop -/* 005C80 70005080 8FBF0034 */ lw $ra, 0x34($sp) -/* 005C84 70005084 8FB00014 */ lw $s0, 0x14($sp) -/* 005C88 70005088 8FB10018 */ lw $s1, 0x18($sp) -/* 005C8C 7000508C 8FB2001C */ lw $s2, 0x1c($sp) -/* 005C90 70005090 8FB30020 */ lw $s3, 0x20($sp) -/* 005C94 70005094 8FB40024 */ lw $s4, 0x24($sp) -/* 005C98 70005098 8FB50028 */ lw $s5, 0x28($sp) -/* 005C9C 7000509C 8FB6002C */ lw $s6, 0x2c($sp) -/* 005CA0 700050A0 8FB70030 */ lw $s7, 0x30($sp) -/* 005CA4 700050A4 03E00008 */ jr $ra -/* 005CA8 700050A8 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - -/** - * 5CAC 700050AC - * V0= SP, A3=SP usage within function range (A1,A0) with initial SP A2 - * accepts: A0=p->opcode.cur, A1=p->opcode.start, A2=SP w/i function, A3=p->register buffer - */ -#ifdef NONMATCHING -void debug_related_8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel debug_related_8 -/* 005CAC 700050AC 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 005CB0 700050B0 AFA40010 */ sw $a0, 0x10($sp) -/* 005CB4 700050B4 AFB1000C */ sw $s1, 0xc($sp) -/* 005CB8 700050B8 AFB00008 */ sw $s0, 8($sp) -/* 005CBC 700050BC 00C01825 */ move $v1, $a2 -/* 005CC0 700050C0 00001025 */ move $v0, $zero -/* 005CC4 700050C4 00004025 */ move $t0, $zero -/* 005CC8 700050C8 24040020 */ li $a0, 32 -/* 005CCC 700050CC 00004825 */ move $t1, $zero -/* 005CD0 700050D0 00E05025 */ move $t2, $a3 -.L700050D4: -/* 005CD4 700050D4 25290004 */ addiu $t1, $t1, 4 -/* 005CD8 700050D8 AD400000 */ sw $zero, ($t2) -/* 005CDC 700050DC AD400004 */ sw $zero, 4($t2) -/* 005CE0 700050E0 AD400008 */ sw $zero, 8($t2) -/* 005CE4 700050E4 AD40000C */ sw $zero, 0xc($t2) -/* 005CE8 700050E8 1524FFFA */ bne $t1, $a0, .L700050D4 -/* 005CEC 700050EC 254A0010 */ addiu $t2, $t2, 0x10 -/* 005CF0 700050F0 8FA40010 */ lw $a0, 0x10($sp) -/* 005CF4 700050F4 3C1103E0 */ lui $s1, (0x03E00008 >> 16) # lui $s1, 0x3e0 -/* 005CF8 700050F8 36310008 */ ori $s1, (0x03E00008 & 0xFFFF) # ori $s1, $s1, 8 -/* 005CFC 700050FC 0085082B */ sltu $at, $a0, $a1 -/* 005D00 70005100 1420002D */ bnez $at, .L700051B8 -/* 005D04 70005104 2410001F */ li $s0, 31 -/* 005D08 70005108 3C0DFFE0 */ lui $t5, 0xffe0 -/* 005D0C 7000510C 3C0CAFA0 */ lui $t4, 0xafa0 -/* 005D10 70005110 3C0BFFFF */ lui $t3, 0xffff -/* 005D14 70005114 3C0A27BD */ lui $t2, 0x27bd -/* 005D18 70005118 8C890000 */ lw $t1, ($a0) -.L7000511C: -/* 005D1C 7000511C 2484FFFC */ addiu $a0, $a0, -4 -/* 005D20 70005120 0085082B */ sltu $at, $a0, $a1 -/* 005D24 70005124 012B7824 */ and $t7, $t1, $t3 -/* 005D28 70005128 154F000B */ bne $t2, $t7, .L70005158 -/* 005D2C 7000512C 012DC024 */ and $t8, $t1, $t5 -/* 005D30 70005130 0009C400 */ sll $t8, $t1, 0x10 -/* 005D34 70005134 0018CC03 */ sra $t9, $t8, 0x10 -/* 005D38 70005138 1F20001F */ bgtz $t9, .L700051B8 -/* 005D3C 7000513C 24020001 */ li $v0, 1 -/* 005D40 70005140 00197083 */ sra $t6, $t9, 2 -/* 005D44 70005144 000E7880 */ sll $t7, $t6, 2 -/* 005D48 70005148 11000019 */ beqz $t0, .L700051B0 -/* 005D4C 7000514C 006F1823 */ subu $v1, $v1, $t7 -/* 005D50 70005150 10000019 */ b .L700051B8 -/* 005D54 70005154 00000000 */ nop -.L70005158: -/* 005D58 70005158 15980013 */ bne $t4, $t8, .L700051A8 -/* 005D5C 7000515C 00093402 */ srl $a2, $t1, 0x10 -/* 005D60 70005160 30D9001F */ andi $t9, $a2, 0x1f -/* 005D64 70005164 00097C00 */ sll $t7, $t1, 0x10 -/* 005D68 70005168 000FC403 */ sra $t8, $t7, 0x10 -/* 005D6C 7000516C 03203025 */ move $a2, $t9 -/* 005D70 70005170 0018C883 */ sra $t9, $t8, 2 -/* 005D74 70005174 00197080 */ sll $t6, $t9, 2 -/* 005D78 70005178 0006C080 */ sll $t8, $a2, 2 -/* 005D7C 7000517C 00F8C821 */ addu $t9, $a3, $t8 -/* 005D80 70005180 01C37821 */ addu $t7, $t6, $v1 -/* 005D84 70005184 16060002 */ bne $s0, $a2, .L70005190 -/* 005D88 70005188 AF2F0000 */ sw $t7, ($t9) -/* 005D8C 7000518C 24080001 */ li $t0, 1 -.L70005190: -/* 005D90 70005190 10400007 */ beqz $v0, .L700051B0 -/* 005D94 70005194 00000000 */ nop -/* 005D98 70005198 11000005 */ beqz $t0, .L700051B0 -/* 005D9C 7000519C 00000000 */ nop -/* 005DA0 700051A0 10000005 */ b .L700051B8 -/* 005DA4 700051A4 00000000 */ nop -.L700051A8: -/* 005DA8 700051A8 11310003 */ beq $t1, $s1, .L700051B8 -/* 005DAC 700051AC 00000000 */ nop -.L700051B0: -/* 005DB0 700051B0 5020FFDA */ beql $at, $zero, .L7000511C -/* 005DB4 700051B4 8C890000 */ lw $t1, ($a0) -.L700051B8: -/* 005DB8 700051B8 10400005 */ beqz $v0, .L700051D0 -/* 005DBC 700051BC 8FB00008 */ lw $s0, 8($sp) -/* 005DC0 700051C0 51000004 */ beql $t0, $zero, .L700051D4 -/* 005DC4 700051C4 00001025 */ move $v0, $zero -/* 005DC8 700051C8 10000002 */ b .L700051D4 -/* 005DCC 700051CC 00601025 */ move $v0, $v1 -.L700051D0: -/* 005DD0 700051D0 00001025 */ move $v0, $zero -.L700051D4: -/* 005DD4 700051D4 8FB1000C */ lw $s1, 0xc($sp) -/* 005DD8 700051D8 03E00008 */ jr $ra -/* 005DDC 700051DC 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - -/** - * 5DE0 700051E0 - * V0=TRUE if opcode that set RA A0 was a JAL or JALR type within bounds (70000450,70020D90) - * accepts: A0=p->70-mapped TLB function, presumably from RA - */ -#ifdef NONMATCHING -void was_opcode_In_70000450_70020D90(u32 * function) -{ - if ((function & 3) == 0) && (function >= &_codeSegmentStart) && (&_codeSegmentEnd >= function) { - if ((function[-2] & 0xfc00003c) == 9) - { - return 1; - } - if ((function[] & 0xfc000000) == 0xc000000) - { - return 1; - } - } - return 0; -} -#else -GLOBAL_ASM( -.text -glabel was_opcode_In_70000450_70020D90 -/* 005DE0 700051E0 308E0003 */ andi $t6, $a0, 3 -/* 005DE4 700051E4 15C00019 */ bnez $t6, .L7000524C -/* 005DE8 700051E8 3C0F7000 */ lui $t7, %hi(_codeSegmentStart) # $t7, 0x7000 -/* 005DEC 700051EC 25EF0450 */ addiu $t7, %lo(_codeSegmentStart) # addiu $t7, $t7, 0x450 -/* 005DF0 700051F0 008F082B */ sltu $at, $a0, $t7 -/* 005DF4 700051F4 14200015 */ bnez $at, .L7000524C -/* 005DF8 700051F8 3C187002 */ lui $t8, %hi(_codeSegmentEnd) # $t8, 0x7002 -/* 005DFC 700051FC 27180D90 */ addiu $t8, %lo(_codeSegmentEnd) # addiu $t8, $t8, 0xd90 -/* 005E00 70005200 0304082B */ sltu $at, $t8, $a0 -/* 005E04 70005204 54200012 */ bnezl $at, .L70005250 -/* 005E08 70005208 00001025 */ move $v0, $zero -/* 005E0C 7000520C 8C82FFF8 */ lw $v0, -8($a0) -/* 005E10 70005210 3C01FC00 */ lui $at, (0xFC00003C >> 16) # lui $at, 0xfc00 -/* 005E14 70005214 3421003C */ ori $at, (0xFC00003C & 0xFFFF) # ori $at, $at, 0x3c -/* 005E18 70005218 0041C824 */ and $t9, $v0, $at -/* 005E1C 7000521C 24010009 */ li $at, 9 -/* 005E20 70005220 57210004 */ bnel $t9, $at, .L70005234 -/* 005E24 70005224 3C01FC00 */ lui $at, 0xfc00 -/* 005E28 70005228 03E00008 */ jr $ra -/* 005E2C 7000522C 24020001 */ li $v0, 1 - -/* 005E30 70005230 3C01FC00 */ lui $at, 0xfc00 -.L70005234: -/* 005E34 70005234 00414024 */ and $t0, $v0, $at -/* 005E38 70005238 3C010C00 */ lui $at, 0xc00 -/* 005E3C 7000523C 55010004 */ bnel $t0, $at, .L70005250 -/* 005E40 70005240 00001025 */ move $v0, $zero -/* 005E44 70005244 03E00008 */ jr $ra -/* 005E48 70005248 24020001 */ li $v0, 1 - -.L7000524C: -/* 005E4C 7000524C 00001025 */ move $v0, $zero -.L70005250: -/* 005E50 70005250 03E00008 */ jr $ra -/* 005E54 70005254 00000000 */ nop -) -#endif - - - - -/** - * 5E58 70005258 - * V0= strlen(A0); used exclusively for scanning ind.rea.buf - * accepts: A0=p->string - */ -#ifdef NONMATCHING -s32 return_strlen(void *arg0) -{ - s32 temp_v1; - s32 phi_v1; - void *phi_a0; - s32 phi_v1_2; - - phi_v1 = 0; - phi_a0 = (arg0 + 1); - phi_v1_2 = 0; - if (*arg0 != 0) - { -loop_1: - temp_v1 = (phi_v1 + 1); - phi_v1_2 = temp_v1; - if (temp_v1 < 0x100) - { - phi_v1 = temp_v1; - phi_a0 = (phi_a0 + 1); - phi_v1_2 = temp_v1; - if (*phi_a0 != 0) - { - goto loop_1; - } - } - } - return phi_v1_2; -} -#else -GLOBAL_ASM( -.text -glabel return_strlen -/* 005E58 70005258 90820000 */ lbu $v0, ($a0) -/* 005E5C 7000525C 00001825 */ move $v1, $zero -/* 005E60 70005260 24840001 */ addiu $a0, $a0, 1 -/* 005E64 70005264 10400009 */ beqz $v0, .L7000528C -/* 005E68 70005268 00000000 */ nop -/* 005E6C 7000526C 24630001 */ addiu $v1, $v1, 1 -.L70005270: -/* 005E70 70005270 28610100 */ slti $at, $v1, 0x100 -/* 005E74 70005274 10200005 */ beqz $at, .L7000528C -/* 005E78 70005278 00000000 */ nop -/* 005E7C 7000527C 90820000 */ lbu $v0, ($a0) -/* 005E80 70005280 24840001 */ addiu $a0, $a0, 1 -/* 005E84 70005284 5440FFFA */ bnezl $v0, .L70005270 -/* 005E88 70005288 24630001 */ addiu $v1, $v1, 1 -.L7000528C: -/* 005E8C 7000528C 03E00008 */ jr $ra -/* 005E90 70005290 00601025 */ move $v0, $v1 -) -#endif - - - -/** - * 5E94 70005294 - * V0= total size of one word, two strings at hardware A0 - * accepts: A0=hardware address - */ -#ifdef NONMATCHING -s32 indy_file_get_address_subsequent_data(s32 arg0) { - s32 sp18; - s32 temp_v1; - s32 phi_a0; - - // Node 0 - romCopy(&indy_read_buffer, arg0, 0x60); - current_indy_read_buf_resourceID = (?32) indy_read_buffer; - ptr_indy_read_buf_string1 = &indy_read_buffer; - ptr_indy_read_buf_string2 = (s32) ((return_strlen(&indy_read_buffer) + ptr_indy_read_buf_string1) + 1); - sp18 = return_strlen(ptr_indy_read_buf_string1); - temp_v1 = (((return_strlen(ptr_indy_read_buf_string2) + arg0) + sp18) + 6); - phi_a0 = temp_v1; - if ((temp_v1 & 3) != 0) - { - // Node 1 - phi_a0 = ((temp_v1 | 3) + 1); - } - // Node 2 - return phi_a0; -} -#else -GLOBAL_ASM( -.text -glabel indy_file_get_address_subsequent_data -/* 005E94 70005294 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 005E98 70005298 AFA40020 */ sw $a0, 0x20($sp) -/* 005E9C 7000529C AFBF0014 */ sw $ra, 0x14($sp) -/* 005EA0 700052A0 3C048006 */ lui $a0, %hi(indy_read_buffer) -/* 005EA4 700052A4 24843670 */ addiu $a0, %lo(indy_read_buffer) # addiu $a0, $a0, 0x3670 -/* 005EA8 700052A8 8FA50020 */ lw $a1, 0x20($sp) -/* 005EAC 700052AC 0C001707 */ jal romCopy -/* 005EB0 700052B0 24060060 */ li $a2, 96 -/* 005EB4 700052B4 3C0E8006 */ lui $t6, %hi(indy_read_buffer) -/* 005EB8 700052B8 8DCE3670 */ lw $t6, %lo(indy_read_buffer)($t6) -/* 005EBC 700052BC 3C028006 */ lui $v0, %hi(ptr_indy_read_buf_string1) -/* 005EC0 700052C0 3C018006 */ lui $at, %hi(current_indy_read_buf_resourceID) -/* 005EC4 700052C4 3C0F8006 */ lui $t7, %hi(indy_read_buffer+4) -/* 005EC8 700052C8 24423668 */ addiu $v0, %lo(ptr_indy_read_buf_string1) # addiu $v0, $v0, 0x3668 -/* 005ECC 700052CC 25E43674 */ addiu $a0, $t7, %lo(indy_read_buffer+4) -/* 005ED0 700052D0 AC2E3664 */ sw $t6, %lo(current_indy_read_buf_resourceID)($at) -/* 005ED4 700052D4 0C001496 */ jal return_strlen -/* 005ED8 700052D8 AC440000 */ sw $a0, ($v0) -/* 005EDC 700052DC 3C048006 */ lui $a0, %hi(ptr_indy_read_buf_string1) -/* 005EE0 700052E0 8C843668 */ lw $a0, %lo(ptr_indy_read_buf_string1)($a0) -/* 005EE4 700052E4 3C018006 */ lui $at, %hi(ptr_indy_read_buf_string2) -/* 005EE8 700052E8 0044C021 */ addu $t8, $v0, $a0 -/* 005EEC 700052EC 27190001 */ addiu $t9, $t8, 1 -/* 005EF0 700052F0 0C001496 */ jal return_strlen -/* 005EF4 700052F4 AC39366C */ sw $t9, %lo(ptr_indy_read_buf_string2)($at) -/* 005EF8 700052F8 3C048006 */ lui $a0, %hi(ptr_indy_read_buf_string2) -/* 005EFC 700052FC 8C84366C */ lw $a0, %lo(ptr_indy_read_buf_string2)($a0) -/* 005F00 70005300 0C001496 */ jal return_strlen -/* 005F04 70005304 AFA20018 */ sw $v0, 0x18($sp) -/* 005F08 70005308 8FA80020 */ lw $t0, 0x20($sp) -/* 005F0C 7000530C 8FAA0018 */ lw $t2, 0x18($sp) -/* 005F10 70005310 8FBF0014 */ lw $ra, 0x14($sp) -/* 005F14 70005314 00484821 */ addu $t1, $v0, $t0 -/* 005F18 70005318 012A1821 */ addu $v1, $t1, $t2 -/* 005F1C 7000531C 24630006 */ addiu $v1, $v1, 6 -/* 005F20 70005320 306B0003 */ andi $t3, $v1, 3 -/* 005F24 70005324 11600003 */ beqz $t3, .L70005334 -/* 005F28 70005328 00602025 */ move $a0, $v1 -/* 005F2C 7000532C 34640003 */ ori $a0, $v1, 3 -/* 005F30 70005330 24840001 */ addiu $a0, $a0, 1 -.L70005334: -/* 005F34 70005334 00801025 */ move $v0, $a0 -/* 005F38 70005338 03E00008 */ jr $ra -/* 005F3C 7000533C 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -/** - * 5F40 70005340 - * scan for and load resourceID A0 from indy.read.buf - * accepts: A0=resourceID - */ -#ifdef NONMATCHING -void scan_load_resourceID_from_indy_read_buf(void) { - -} -#else -GLOBAL_ASM( -.text -glabel scan_load_resourceID_from_indy_read_buf -/* 005F40 70005340 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 005F44 70005344 AFB30020 */ sw $s3, 0x20($sp) -/* 005F48 70005348 AFB2001C */ sw $s2, 0x1c($sp) -/* 005F4C 7000534C 3C0200E0 */ lui $v0, 0xe0 -/* 005F50 70005350 34530004 */ ori $s3, $v0, 4 -/* 005F54 70005354 AFB10018 */ sw $s1, 0x18($sp) -/* 005F58 70005358 AFB00014 */ sw $s0, 0x14($sp) -/* 005F5C 7000535C 3C128006 */ lui $s2, %hi(current_indy_read_buf_resourceID) -/* 005F60 70005360 00808825 */ move $s1, $a0 -/* 005F64 70005364 AFBF0024 */ sw $ra, 0x24($sp) -/* 005F68 70005368 02608025 */ move $s0, $s3 -/* 005F6C 7000536C 26523664 */ addiu $s2, %lo(current_indy_read_buf_resourceID) # addiu $s2, $s2, 0x3664 -.L70005370: -/* 005F70 70005370 0C0014A5 */ jal indy_file_get_address_subsequent_data -/* 005F74 70005374 02002025 */ move $a0, $s0 -/* 005F78 70005378 8E430000 */ lw $v1, ($s2) -/* 005F7C 7000537C 0223082B */ sltu $at, $s1, $v1 -/* 005F80 70005380 14200007 */ bnez $at, .L700053A0 -/* 005F84 70005384 00000000 */ nop -/* 005F88 70005388 14600003 */ bnez $v1, .L70005398 -/* 005F8C 7000538C 02009825 */ move $s3, $s0 -/* 005F90 70005390 10000006 */ b .L700053AC -/* 005F94 70005394 00001025 */ move $v0, $zero -.L70005398: -/* 005F98 70005398 1000FFF5 */ b .L70005370 -/* 005F9C 7000539C 00408025 */ move $s0, $v0 -.L700053A0: -/* 005FA0 700053A0 0C0014A5 */ jal indy_file_get_address_subsequent_data -/* 005FA4 700053A4 02602025 */ move $a0, $s3 -/* 005FA8 700053A8 24020001 */ li $v0, 1 -.L700053AC: -/* 005FAC 700053AC 8FBF0024 */ lw $ra, 0x24($sp) -/* 005FB0 700053B0 8FB00014 */ lw $s0, 0x14($sp) -/* 005FB4 700053B4 8FB10018 */ lw $s1, 0x18($sp) -/* 005FB8 700053B8 8FB2001C */ lw $s2, 0x1c($sp) -/* 005FBC 700053BC 8FB30020 */ lw $s3, 0x20($sp) -/* 005FC0 700053C0 03E00008 */ jr $ra -/* 005FC4 700053C4 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - -/** - * 5FC8 700053C8 - * V0= TRUE if valid indy.read.buf.resourceID [matches 826475BE] - */ -#ifdef NONMATCHING -u32 is_valid_indy_read_buf_resourceID(void) -{ - indy_file_get_address_subsequent_data(0xe00000); - return ((u32) (current_indy_read_buf_resourceID ^ 0x826475be) < 1U); -} -#else -GLOBAL_ASM( -.text -glabel is_valid_indy_read_buf_resourceID -/* 005FC8 700053C8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 005FCC 700053CC AFBF0014 */ sw $ra, 0x14($sp) -/* 005FD0 700053D0 0C0014A5 */ jal indy_file_get_address_subsequent_data -/* 005FD4 700053D4 3C0400E0 */ lui $a0, 0xe0 -/* 005FD8 700053D8 3C028006 */ lui $v0, %hi(current_indy_read_buf_resourceID) -/* 005FDC 700053DC 8C423664 */ lw $v0, %lo(current_indy_read_buf_resourceID)($v0) -/* 005FE0 700053E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 005FE4 700053E4 3C018264 */ lui $at, (0x826475BE >> 16) # lui $at, 0x8264 -/* 005FE8 700053E8 342175BE */ ori $at, (0x826475BE & 0xFFFF) # ori $at, $at, 0x75be -/* 005FEC 700053EC 00417026 */ xor $t6, $v0, $at -/* 005FF0 700053F0 2DC20001 */ sltiu $v0, $t6, 1 -/* 005FF4 700053F4 03E00008 */ jr $ra -/* 005FF8 700053F8 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -/** - * 5FFC 700053FC - * unconditional return - */ -void debug_indy_stub(void) { - return; -} - -/** - * 6004 70005404 - * unconditional return - */ -void debug_indy_stub_0(void) { - return; -} - -/** - * 600C 7000540C - * unconditional return - */ -void debug_indy_stub_1(void) { - return; -} - -/** - * 6014 70005414 - * V0= indy.read.buf.resourceID [80063664] - */ -u32 * return_indy_read_buf_resourceID(void) { - return current_indy_read_buf_resourceID; -} - -/** - * 6020 70005420 - * V0=hardcoded SP for debug thread A1, corrected for address range A0 - * accepts: A0=p->address space, A1=entry# - */ -#ifdef NONMATCHING -s32 debug_sp_related_11(u32 arg0, u32 arg1) -{ - ? sp1C; - ? sp8; - s32 temp_v0; - void *temp_t8; - - sp1C = (?32) stack_ptrs_1; - sp1C.unk4 = (?32) stack_ptrs_1.unk4; - sp1C.unk8 = (?32) stack_ptrs_1.unk8; - sp1C.unkC = (?32) stack_ptrs_1.unkC; - sp1C.unk10 = (?32) stack_ptrs_1.unk10; - sp8 = (?32) stack_ptrs_2; - sp8.unk4 = (?32) stack_ptrs_2.unk4; - sp8.unk8 = (?32) stack_ptrs_2.unk8; - sp8.unkC = (?32) stack_ptrs_2.unkC; - sp8.unk10 = (?32) stack_ptrs_2.unk10; - if (arg1 <= 0) - { - return 0; - } - temp_v0 = (arg1 * 4); - if (arg1 >= 6U) - { - return 0; - } - temp_t8 = (&sp8 + temp_v0); - if (arg0 < 0x80000000U) - { - return ((arg0 & 0xf0000000) | (*temp_t8 - *(&sp1C + temp_v0))); - } - return *temp_t8; -} -#else -GLOBAL_ASM( -.text -glabel debug_sp_related_11 -/* 006020 70005420 3C0E8002 */ lui $t6, %hi(stack_ptrs_1) -/* 006024 70005424 25CE36DC */ addiu $t6, %lo(stack_ptrs_1) # addiu $t6, $t6, 0x36dc -/* 006028 70005428 8DC10000 */ lw $at, ($t6) -/* 00602C 7000542C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 006030 70005430 27A7001C */ addiu $a3, $sp, 0x1c -/* 006034 70005434 ACE10000 */ sw $at, ($a3) -/* 006038 70005438 8DD90004 */ lw $t9, 4($t6) -/* 00603C 7000543C 3C098002 */ lui $t1, %hi(stack_ptrs_2) -/* 006040 70005440 252936F0 */ addiu $t1, %lo(stack_ptrs_2) # addiu $t1, $t1, 0x36f0 -/* 006044 70005444 ACF90004 */ sw $t9, 4($a3) -/* 006048 70005448 8DC10008 */ lw $at, 8($t6) -/* 00604C 7000544C 27A80008 */ addiu $t0, $sp, 8 -/* 006050 70005450 00803025 */ move $a2, $a0 -/* 006054 70005454 ACE10008 */ sw $at, 8($a3) -/* 006058 70005458 8DD9000C */ lw $t9, 0xc($t6) -/* 00605C 7000545C ACF9000C */ sw $t9, 0xc($a3) -/* 006060 70005460 8DC10010 */ lw $at, 0x10($t6) -/* 006064 70005464 ACE10010 */ sw $at, 0x10($a3) -/* 006068 70005468 8D210000 */ lw $at, ($t1) -/* 00606C 7000546C AD010000 */ sw $at, ($t0) -/* 006070 70005470 8D2C0004 */ lw $t4, 4($t1) -/* 006074 70005474 AD0C0004 */ sw $t4, 4($t0) -/* 006078 70005478 8D210008 */ lw $at, 8($t1) -/* 00607C 7000547C AD010008 */ sw $at, 8($t0) -/* 006080 70005480 8D2C000C */ lw $t4, 0xc($t1) -/* 006084 70005484 AD0C000C */ sw $t4, 0xc($t0) -/* 006088 70005488 8D210010 */ lw $at, 0x10($t1) -/* 00608C 7000548C 18A00004 */ blez $a1, .L700054A0 -/* 006090 70005490 AD010010 */ sw $at, 0x10($t0) -/* 006094 70005494 2CA10006 */ sltiu $at, $a1, 6 -/* 006098 70005498 14200003 */ bnez $at, .L700054A8 -/* 00609C 7000549C 00051080 */ sll $v0, $a1, 2 -.L700054A0: -/* 0060A0 700054A0 1000000E */ b .L700054DC -/* 0060A4 700054A4 00001025 */ move $v0, $zero -.L700054A8: -/* 0060A8 700054A8 3C018000 */ lui $at, 0x8000 -/* 0060AC 700054AC 00E26821 */ addu $t5, $a3, $v0 -/* 0060B0 700054B0 0102C021 */ addu $t8, $t0, $v0 -/* 0060B4 700054B4 00C1082B */ sltu $at, $a2, $at -/* 0060B8 700054B8 8DA30000 */ lw $v1, ($t5) -/* 0060BC 700054BC 14200003 */ bnez $at, .L700054CC -/* 0060C0 700054C0 8F040000 */ lw $a0, ($t8) -/* 0060C4 700054C4 10000005 */ b .L700054DC -/* 0060C8 700054C8 00801025 */ move $v0, $a0 -.L700054CC: -/* 0060CC 700054CC 3C01F000 */ lui $at, 0xf000 -/* 0060D0 700054D0 00C17824 */ and $t7, $a2, $at -/* 0060D4 700054D4 00837023 */ subu $t6, $a0, $v1 -/* 0060D8 700054D8 01EE1025 */ or $v0, $t7, $t6 -.L700054DC: -/* 0060DC 700054DC 03E00008 */ jr $ra -/* 0060E0 700054E0 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -/** - * 60E4 700054E4 - * V0=hardcoded SP for debug thread A1, corrected for address range A0 - * accepts: A0=p->address space, A1=entry# - */ -#ifdef NONMATCHING -s32 debug_sp_related_12(u32 arg0, u32 arg1) { - u32 sp4; - - // Node 0 - sp4 = (?32) stack_ptrs_3; - sp4.unk4 = (?32) stack_ptrs_3.unk4; - sp4.unk8 = (?32) stack_ptrs_3.unk8; - sp4.unkC = (?32) stack_ptrs_3.unkC; - sp4.unk10 = (?32) stack_ptrs_3.unk10; - if (arg1 <= 0) - { - // Node 2 - return; - // (possible return value: 0) - } - // Node 1 - if (arg1 >= 6U) - { - // Node 2 - return; - // (possible return value: 0) - } - // Node 3 - if (arg0 >= 0x80000000U) - { - // Node 4 - return; - // (possible return value: *(&sp4 + (arg1 * 4))) - } - // Node 5 - return; - // (possible return value: (arg0 & 0xf0000000)) -} -#else -GLOBAL_ASM( -.text -glabel debug_sp_related_12 -/* 0060E4 700054E4 3C0E8002 */ lui $t6, %hi(stack_ptrs_3) -/* 0060E8 700054E8 25CE3704 */ addiu $t6, %lo(stack_ptrs_3) # addiu $t6, $t6, 0x3704 -/* 0060EC 700054EC 8DC10000 */ lw $at, ($t6) -/* 0060F0 700054F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0060F4 700054F4 27A20004 */ addiu $v0, $sp, 4 -/* 0060F8 700054F8 AC410000 */ sw $at, ($v0) -/* 0060FC 700054FC 8DD90004 */ lw $t9, 4($t6) -/* 006100 70005500 AC590004 */ sw $t9, 4($v0) -/* 006104 70005504 8DC10008 */ lw $at, 8($t6) -/* 006108 70005508 AC410008 */ sw $at, 8($v0) -/* 00610C 7000550C 8DD9000C */ lw $t9, 0xc($t6) -/* 006110 70005510 AC59000C */ sw $t9, 0xc($v0) -/* 006114 70005514 8DC10010 */ lw $at, 0x10($t6) -/* 006118 70005518 18A00004 */ blez $a1, .L7000552C -/* 00611C 7000551C AC410010 */ sw $at, 0x10($v0) -/* 006120 70005520 2CA10006 */ sltiu $at, $a1, 6 -/* 006124 70005524 14200003 */ bnez $at, .L70005534 -/* 006128 70005528 00054080 */ sll $t0, $a1, 2 -.L7000552C: -/* 00612C 7000552C 1000000A */ b .L70005558 -/* 006130 70005530 00001025 */ move $v0, $zero -.L70005534: -/* 006134 70005534 3C018000 */ lui $at, 0x8000 -/* 006138 70005538 00484821 */ addu $t1, $v0, $t0 -/* 00613C 7000553C 0081082B */ sltu $at, $a0, $at -/* 006140 70005540 14200003 */ bnez $at, .L70005550 -/* 006144 70005544 8D230000 */ lw $v1, ($t1) -/* 006148 70005548 10000003 */ b .L70005558 -/* 00614C 7000554C 00601025 */ move $v0, $v1 -.L70005550: -/* 006150 70005550 3C01F000 */ lui $at, 0xf000 -/* 006154 70005554 00811024 */ and $v0, $a0, $at -.L70005558: -/* 006158 70005558 03E00008 */ jr $ra -/* 00615C 7000555C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - -//maybe newfile, falls on 0 address and logically does different things - -/** - * 6160 70005560 - * V0= TRUE if F12 a normal single precision float - * accepts: F12= single-precision float - */ -#ifdef NONMATCHING -s32 _is_normal_single_precision_float(f32 arg0) { - // Node 0 - if ((u32) (arg0 & 0x7fffff) >= 1U) - { - // Node 1 - if (0U < (u32) ((arg0 >> 0x17) & 0xff)) - { - // Node 2 - return; - // (possible return value: (0U < (u32) (((arg0 >> 0x17) & 0xff) ^ 0xff))) - } - } - // (possible return value: ((u32) (arg0 & 0x7fffff) < 1U)) -} -#else -GLOBAL_ASM( -.text -glabel _is_normal_single_precision_float -/* 006160 70005560 E7AC0000 */ swc1 $f12, ($sp) -/* 006164 70005564 8FA40000 */ lw $a0, ($sp) -/* 006168 70005568 3C01007F */ lui $at, (0x007FFFFF >> 16) # lui $at, 0x7f -/* 00616C 7000556C 3421FFFF */ ori $at, (0x007FFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 006170 70005570 00811024 */ and $v0, $a0, $at -/* 006174 70005574 2C4E0001 */ sltiu $t6, $v0, 1 -/* 006178 70005578 15C00008 */ bnez $t6, .L7000559C -/* 00617C 7000557C 01C01025 */ move $v0, $t6 -/* 006180 70005580 00041DC2 */ srl $v1, $a0, 0x17 -/* 006184 70005584 306F00FF */ andi $t7, $v1, 0xff -/* 006188 70005588 000F102B */ sltu $v0, $zero, $t7 -/* 00618C 7000558C 10400003 */ beqz $v0, .L7000559C -/* 006190 70005590 00000000 */ nop -/* 006194 70005594 39E200FF */ xori $v0, $t7, 0xff -/* 006198 70005598 0002102B */ sltu $v0, $zero, $v0 -.L7000559C: -/* 00619C 7000559C 03E00008 */ jr $ra -/* 0061A0 700055A0 00000000 */ nop -) -#endif - - - - -/** - * 61A4 700055A4 - * V0= TRUE if A1 a normal single precision float; would have set result as short at A0 - * accepts: A0=(unused) p->target, A1=single-precision float - */ -#ifdef NONMATCHING -void is_normal_single_precision_float(s32 arg0, s32 arg1) { - _is_normal_single_precision_float(arg1); -} -#else -GLOBAL_ASM( -.text -glabel is_normal_single_precision_float -/* 0061A4 700055A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0061A8 700055A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0061AC 700055AC 44856000 */ mtc1 $a1, $f12 -/* 0061B0 700055B0 0C001558 */ jal _is_normal_single_precision_float -/* 0061B4 700055B4 AFA40018 */ sw $a0, 0x18($sp) -/* 0061B8 700055B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0061BC 700055BC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0061C0 700055C0 03E00008 */ jr $ra -/* 0061C4 700055C4 00000000 */ nop -) -#endif - - - - - -/** - * 61C8 700055C8 - * removed: set normality of single-precision floats A1, A2, A3, SP+10 in table at A0 - */ -#ifdef NONMATCHING -void set_normality_of_single_precision_floats(s32 arg0, s32 arg1, ? arg2, ? arg3, s32 arg6, ? arg8, ? arg9, ? argA) { - // Node 0 - is_normal_single_precision_float(arg1, arg1); - is_normal_single_precision_float((arg6 + 2), arg8); - is_normal_single_precision_float((arg6 + 4), arg9); - is_normal_single_precision_float((arg6 + 6), argA); - return; - // (possible return value: is_normal_single_precision_float((arg6 + 6), argA)) -} -#else -GLOBAL_ASM( -.text -glabel set_normality_of_single_precision_floats -/* 0061C8 700055C8 44856000 */ mtc1 $a1, $f12 -/* 0061CC 700055CC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0061D0 700055D0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0061D4 700055D4 44056000 */ mfc1 $a1, $f12 -/* 0061D8 700055D8 AFA40018 */ sw $a0, 0x18($sp) -/* 0061DC 700055DC AFA60020 */ sw $a2, 0x20($sp) -/* 0061E0 700055E0 0C001569 */ jal is_normal_single_precision_float -/* 0061E4 700055E4 AFA70024 */ sw $a3, 0x24($sp) -/* 0061E8 700055E8 8FA40018 */ lw $a0, 0x18($sp) -/* 0061EC 700055EC 8FA50020 */ lw $a1, 0x20($sp) -/* 0061F0 700055F0 0C001569 */ jal is_normal_single_precision_float -/* 0061F4 700055F4 24840002 */ addiu $a0, $a0, 2 -/* 0061F8 700055F8 8FA40018 */ lw $a0, 0x18($sp) -/* 0061FC 700055FC 8FA50024 */ lw $a1, 0x24($sp) -/* 006200 70005600 0C001569 */ jal is_normal_single_precision_float -/* 006204 70005604 24840004 */ addiu $a0, $a0, 4 -/* 006208 70005608 8FA40018 */ lw $a0, 0x18($sp) -/* 00620C 7000560C 8FA50028 */ lw $a1, 0x28($sp) -/* 006210 70005610 0C001569 */ jal is_normal_single_precision_float -/* 006214 70005614 24840006 */ addiu $a0, $a0, 6 -/* 006218 70005618 8FBF0014 */ lw $ra, 0x14($sp) -/* 00621C 7000561C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 006220 70005620 03E00008 */ jr $ra -/* 006224 70005624 00000000 */ nop -) -#endif - -/** - * 6228 70005628 - * unconditional return - */ -void debug_indy_stub_2(void) { - return; -} - - diff --git a/src/deb_video.h b/src/deb_video.h deleted file mode 100644 index c7f3311..0000000 --- a/src/deb_video.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _DEB_VIDEO_H_ -#define _DEB_VIDEO_H_ - -#include "ultra64.h" - -void thread5_translate_7F_address(void); - -#endif \ No newline at end of file diff --git a/src/debug_getlastRA.c b/src/debug_getlastRA.c deleted file mode 100644 index 5841675..0000000 --- a/src/debug_getlastRA.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "ultra64.h" - -/** - * @file debug_getlastRA.c - * This file contains code to get last return address on stack. - */ - - -/** - * 6710 70005B10 - * V0=value of RA previously saved to the stack or -1 if impossible to retrieve - * Searches backward from caller for last instance of RA saved to stack. - */ -#ifdef NONMATCHING -s32 return_last_RA_saved_to_stack(undefined4 param_1) { - uint uVar1; - uint *unaff_retaddr; - s32 auStackX0 [4]; - - while( true ) { - uVar1 = *unaff_retaddr >> 0x10; - if (uVar1 == 0x27bd) { - return -1; - } - if (uVar1 == 0xafbf) break; - unaff_retaddr = unaff_retaddr + -1; - } - return *(s32 *)((int)auStackX0 + (int)(short)*unaff_retaddr); -} -#else -GLOBAL_ASM( -.text -glabel return_last_RA_saved_to_stack -/* 006710 70005B10 03E02025 */ move $a0, $ra -/* 006714 70005B14 2402FFFF */ li $v0, -1 -glabel .L70005B18 -/* 006718 70005B18 8C880000 */ lw $t0, ($a0) -/* 00671C 70005B1C 240A27BD */ li $t2, 10173 -/* 006720 70005B20 00084C02 */ srl $t1, $t0, 0x10 -/* 006724 70005B24 112A000A */ beq $t1, $t2, .L70005B50 -/* 006728 70005B28 00000000 */ nop -/* 00672C 70005B2C 340AAFBF */ li $t2, 44991 -/* 006730 70005B30 512A0004 */ beql $t1, $t2, .L70005B44 -/* 006734 70005B34 00085400 */ sll $t2, $t0, 0x10 -/* 006738 70005B38 080016C6 */ j .L70005B18 -/* 00673C 70005B3C 2484FFFC */ addiu $a0, $a0, -4 -/* 006740 70005B40 00085400 */ sll $t2, $t0, 0x10 -.L70005B44: -/* 006744 70005B44 000A5403 */ sra $t2, $t2, 0x10 -/* 006748 70005B48 015D5020 */ add $t2, $t2, $sp -/* 00674C 70005B4C 8D420000 */ lw $v0, ($t2) -.L70005B50: -/* 006750 70005B50 03E00008 */ jr $ra -/* 006754 70005B54 00000000 */ nop -) -#endif \ No newline at end of file diff --git a/src/debugmenu.c b/src/debugmenu.c deleted file mode 100644 index b044127..0000000 --- a/src/debugmenu.c +++ /dev/null @@ -1,1102 +0,0 @@ -#include "ultra64.h" -#include "debugmenu.h" -#include "vi.h" - -u32 image_resource[] = { - 0, 0x227A00, 0x7A348B, 0x223434, 0x115811, 0x696900, 0, 0x9C00, - 0x4600, 0x460000, 0x4600, 0, 0, 0, 0, 0x46, - 0x229C11, 0x346900, 0x229C11, 0x699C11, 0x5834, 0xADAD34, 0x118B34, 0x9CAD7A, - 0x229C11, 0x229C11, 0, 0, 0, 0, 0, 0x113411, - 0, 0x46CE00, 0xAD58DE, 0x466969, 0x9C9C69, 0x8B8B00, 0x469C00, 0x22CE00, - 0x583400, 0x345800, 0x7ACE69, 0x5800, 0, 0, 0, 0x3446, - 0x8B007A, 0x588B00, 0x8B008B, 0x22007A, 0x119C69, 0x8B0000, 0x9C1100, 0x22008B, - 0x8B007A, 0x8B007A, 0, 0, 0x225869, 0,0x69582200, 0x9C698B, - 0, 0x46CE00, 0x222258, 0xDEEF7A, 0xAD1111, 0x69EF9C, 0x8B0000, 0x460000, - 0x8B0000, 0x8B00, 0x58CE34, 0x8B00, 0, 0, 0, 0x8B00, - 0x8B008B, 0x8B00, 0x11007A, 0x118B46, 0x58467A, 0xCEAD22, 0x9C8B00, 0x117A, - 0x698B46, 0x8B00AD, 0x34AD00, 0x34AD00,0x228B4600,0x8B8B8B8B, 0x468B22, 0x11008B, - 0, 0x7A00, 0, 0x9C9C00, 0x118B34,0x22ADBD46, 0x8B8B34, 0, - 0x8B0000, 0x8B00, 0x7A2269,0x22ADEF9C, 0,0x22ADADAD, 0, 0x226900, - 0x8B008B, 0x8B00, 0x7A00, 0x117A, 0x9C347A, 0x8B, 0xCE117A, 0x2269, - 0x8B227A, 0x229C8B, 0x1100, 0x1100,0xAD580000,0x34343434, 0x58AD, 0xBD34, - 0, 0x112200, 0,0x22DEDE22, 0xCE5858, 0x46468B, 0x8BAD00, 0, - 0x8B0000, 0x8B00, 0, 0x8B00, 0x3400, 0, 0x2200, 0x691100, - 0x8B008B, 0x8B00, 0x691158, 0x11008B, 0x7A9CAD,0x1122008B, 0x8B008B, 0x8B00, - 0x8B008B, 0x227A, 0x2200, 0x2200,0x228B4600,0x8B8B8B8B, 0x468B22, 0x6900, - 0, 0x228B00, 0, 0x8B8B00, 0x34BD00, 0x119C46, 0x7A6969, 0, - 0x583400, 0x345800, 0, 0x5800, 0x11FF00, 0, 0x228B00, 0x8B0000, - 0x349C22, 0x8BCE69,0x22BDAD8B, 0x7A9C11, 0x8B8B,0x118B9C11, 0x349C22, 0x5800, - 0x349C11, 0x588B11, 0x228B00, 0x69AD00, 0x225869, 0,0x69582200, 0xBD00, - 0, 0, 0, 0x464600, 0x4600, 0, 0, 0, - 0x4600, 0x460000, 0, 0, 0x583400, 0, 0,0x58340000, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0x8B0000, 0, 0, 0, 0, - 0x229C11, 0x221100,0x11223400, 0x3411,0x11342200, 0x343422, 0x343422, 0x2222, - 0x220022, 0x342222, 0x3434, 0x341122,0x22341100,0x11110022,0x22221134, 0x2200, - 0x343411, 0x3400, 0x343411, 0x113411, 0x343434,0x11341134,0x11220034,0x34220034, -0x11340022,0x11220034, 0x223422, 0x8B34, 0x460000, 0x587A00, 0x5800, 0, -0x348B008B, 0x69BD00,0x11DE7A58, 0xAD69DE,0x22CE7A9C,0x11CE7AAD,0x11CE7AAD, 0xAD7ADE, -0x22CE00CE, 0x69CE58, 0x8BCE,0x22CE22CE,0x46CE4600,0x7ABD00FF,0x58FF46CE, 0xAD7A9C, -0x11CE7A7A, 0xAD7A8B,0x22CE7A7A,0x118B7ABD,0x469CCECE,0x8B8B34CE,0x8B8B00BD,0xBD8B22BD, -0x58CE00CE,0x22BD00CE, 0xBD7AAD, 0x8B00, 0x7A1100, 0x8B00, 0x694658, 0, -0x468B7ABD, 0x588B22, 0x8B008B,0x46460011, 0x8B007A,0x118B3458, 0x8B3458,0x46460011, - 0x8B008B, 0x8B00, 0x117A, 0x8B7A11, 0x8B0000,0x589C58BD,0x11AD698B,0x4646007A, -0x118B007A,0x5846007A,0x118B007A,0x46580011,0x34228B46,0x6934008B, 0x7A008B,0x58348B7A, -0x11696946, 0x695846, 0x113458, 0x8B00, 0x116900, 0x8B00, 0x110011, 0, -0x468B8B9C, 0x9C228B, 0xDEAD7A,0x58340000, 0x8B007A,0x11DEAD00, 0xDEAD00,0x583400AD, -0x46DEADBD, 0x8B00,0x3411117A, 0xDEAD00, 0x8B0000,0x5846AD7A,0x118B8B8B,0x5834007A, -0x11DEAD34,0x5834007A,0x11DEDE46, 0x58AD34, 0x8B00,0x5834008B, 0x8B117A, 0xBDDE8B, - 0x22AD00, 0x11BD00, 0x226900, 0x8B00, 0x8B00, 0x8B00, 0, 0, -0x348B348B,0x469C8BAD, 0x8B007A,0x347A0058, 0x8B009C, 0x8B008B, 0x8B0000,0x228B007A, - 0x8B008B, 0x8B00,0x46462269, 0x8B117A, 0x8B007A,0x6934347A,0x118B34DE,0x118B009C, - 0x8B0000,0x228B009C, 0x8B117A,0x3434008B, 0x8B00,0x4646008B, 0x22CE00, 0xADBD8B, - 0x8B007A, 0x8B00, 0x8B0058, 0x8B00, 0x3446, 0x8B00, 0, 0, - 0x697A9C,0x7A9C00BD,0x69CEAD58, 0x58AD58,0x22BDAD34,0x22CEAD8B,0x22BD2200, 0x58AD58, -0x22AD00CE, 0x8BBD7A, 0x7A7A00,0x22BD228B,0x69BDADBD,0x8B9C00BD,0x69CE227A, 0x58AD34, -0x22CE6900, 0x9CEF69,0x22BD2258,0x7A9C9C22, 0x46CE34, 0x7AAD11, 0x5800, 0x580058, -0x22AD00CE, 0x58BD34, 0xAD9C9C, 0x8B00, 0x8B, 0x8B00, 0,0x22222222, - 0x2211, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0x58588B, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0xCE34, 0x7A,0x1158AD00, 0,0x7A7A7A7A, - 0x693400, 0,0x22690000, 0, 0x8B, 0, 0x589C,0x11000000, -0x22690000, 0x1100, 0x1100,0x22690000, 0x8B7A00, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0x4646, 0x4600, 0x464600, 0, 0, - 0x46AD00, 0, 0x8B0000, 0, 0x8B, 0, 0x116900, 0, - 0x8B0000, 0x6900, 0x6900, 0x8B0000, 0x8B00, 0, 0, 0, - 0, 0, 0, 0, 0x226900, 0, 0, 0, - 0, 0, 0, 0x8B00, 0x8B00, 0x8B00, 0, 0, - 0x5800, 0x8B9C34, 0xCEAD69, 0x7AAD9C, 0x8BADBD, 0x7AAD34, 0x9CDE7A, 0x8B9CCE, -0x11CEAD69, 0x589C00, 0x8BAD69, 0x8BAD69, 0x8B00,0x7AAD9C9C,0x22CEAD69, 0x7AAD34, -0x22CEAD69, 0x8B9CDE,0x22DE9C69, 0x7AAD9C, 0x9CDE7A,0x118B00AD,0x11CE00DE,0x34CE00DE, -0x22CE34AD,0x22CE00DE, 0xBD9CAD, 0x8B00, 0x8B00, 0x8B00,0x229C347A, 0, - 0, 0x9CAD7A, 0x8B007A,0x69340034,0x4634009C,0x46CE9CBD, 0x226900,0x4646008B, - 0x8B008B, 0x8B00, 0x7A, 0xDE7A00, 0x8B00,0x46468B69,0x119C008B,0x4646008B, - 0x8B0069,0x5846008B, 0x8B0000, 0x8B7A58, 0x226900, 0x8B008B, 0x7A117A, 0x8B8B8B, - 0x58BD00, 0x8B008B, 0x464646, 0x467A00, 0x8B00, 0x8B46,0x7A349C22, 0, - 0,0x4634227A, 0x9C007A,0x58460022,0x4646009C,0x34460034, 0x226900,0x3446009C, - 0x8B008B, 0x8B00, 0x7A, 0x8B6911, 0x8B00,0x46468B69,0x118B008B,0x3458008B, - 0xAD0069,0x584600AD, 0x8B0000, 0x69348B, 0x226911, 0x8B009C, 0x11DE00, 0xADBD8B, - 0x699C11, 0x469C34, 0x225858, 0x8B00, 0x8B00, 0x8B00, 0, 0, - 0,0x119C8BCE,0x22ADAD58, 0x7A9C46, 0x69ADAD,0x1169AD46, 0x8BBD7A, 0x69ADAD, -0x22AD00BD,0x118BCE69, 0x7A,0x227A34CE, 0x8BBD7A,0x7A699C46,0x69BD00CE, 0x7A9C22, - 0xBD9C58, 0x69ADAD,0x22CE9C34, 0x8BAD58, 0x9C8B, 0x699CAD,0x11005800, 0x580069, -0x11BD349C, 0x9C00, 0xADAD9C, 0x8B00, 0x8B00, 0x8B00, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0x8B, - 0, 0, 0x4646, 0, 0, 0, 0, 0, - 0x8B0000, 0x8B, 0, 0, 0, 0, 0, 0, - 0, 0x226900, 0, 0x8B46, 0x8B00, 0x467A00, 0, 0 -}; - -s32 debug_menu_x_pos_offset = 5; -s32 debug_menu_y_pos_offset = 1; -s32 debug_menu_x_text_pos = 0x18; -s32 debug_menu_y_text_pos = 0x10; - -u32 stdout_display_list[] = { - 0xE7000000, 0, //gsDPPipeSync(), - 0xBA001402, 0, //gsDPSetCycleType(G_CYC_1CYCLE), - 0xBA000602, 0xC0, //gsDPSetTextureLOD - 0xB900031D,0x500A4240, //gsDPSetRenderMode - 0xFC30B261,0x5566DB6D, //gsDPSetCombineMode - 0xBA001301, 0, //gsDPSetTextureLOD - 0xB9000002, 0, //gsDPSetRenderMode - 0xFD700000,&image_resource[0], //gsDPSetTextureImage - 0xF5700000, 0x7000000, //gsDPSetTile - 0xE6000000, 0, //gsDPLoadSync(), - 0xF3000000, 0x753F080, //gsDPLoadBlock - 0xE7000000, 0, //gsDPPipeSync(), - 0xF5682000, 0, //gsDPSetTile - 0xF2000000, 0x1FC050, //gsDPSetTileSize - 0xE6000000, 0, //gsDPLoadSync(), - 0xB8000000, 0 //gsSPEndDisplayList(), -}; - -u32 stdout_debug_menu_screen_buffer[1400] = {0}; -u32 stdout_primary_color_table[64] = {0}; -u32 stdout_environment_color_table[64] = {0}; - -char *string_formatting[] = {0, -"\x1B[31m\x1B[40m", "\x1B[37m\x1B[40m", -"\x1B[32m\x1B[40m", "\x1B[33m\x1B[40m", -"\x1B[34m\x1B[40m", "\x1B[35m\x1B[40m", -"\x1B[36m\x1B[40m", "\x1B[37m\x1B[44m", -"\x1B[31m\x1B[44m", "\x1B[32m\x1B[44m", -"\x1B[33m\x1B[44m", "\x1B[30m\x1B[44m", -"\x1B[35m\x1B[44m", "\x1B[36m\x1B[44m", -"\x1B[37m\x1B[41m", "\x1B[30m\x1B[41m", -"\x1B[32m\x1B[41m", "\x1B[33m\x1B[41m", -"\x1B[34m\x1B[41m", "\x1B[35m\x1B[41m", -"\x1B[36m\x1B[41m", "\x1B[37m\x1B[45m", -"\x1B[31m\x1B[45m", "\x1B[32m\x1B[45m", -"\x1B[33m\x1B[45m", "\x1B[34m\x1B[45m", -"\x1B[30m\x1B[45m", "\x1B[36m\x1B[45m", -"\x1B[37m\x1B[42m", "\x1B[31m\x1B[42m", -"\x1B[30m\x1B[42m", "\x1B[33m\x1B[42m"}; - - - -u64 end_displaylist_command = 0xB800000000000000; -u64 blank_C0_command =0xC000000000000000; -u32 stdout_primary_color = 0xFA000000; -u32 debug_text_color = 0xFFFFFF00; -u32 debug_text_bg_color = 0xFB000000; -u32 speedgraph_color = 0; -u32 D_800268B8 = 0xFF; - - - - - -u32 dummied_function_7000AD80(s32 arg0, s32 arg1) -{ - return 0; -} - - -u32 dummied_function_7000AD90(s32 arg0, s32 arg1) -{ - return 0; -} - - -void null_function_7000ADA0(void) -{ -//empty -} - - -void null_init_main_0(void) -{ -//empty -} - - -void debug_text_related_2(void) -{ - blank_debug_buffer_chars(); -} - - - - - - -#ifdef NONMATCHING -s32 display_text_to_coord(s32 arg0, s32 arg1, s32 arg2) { - s32 temp_a0; - void *temp_t5; - void *temp_t8; - s32 temp_t7; - s32 temp_t5_2; - void *temp_v1; - - // Node 0 - // Node 1 - if ((debug_text_color != stdout_primary_color_table.unk4) || (debug_text_bg_color.unk4 != (&stdout_environment_color_table + 0)->unk4)) - { - // Node 3 - if ((0 + 1) < 0x20) - { - goto loop_1; - } - // Node 4 - temp_a0 = (string_formatting * 8); - temp_t5 = (temp_a0 + &stdout_primary_color_table); - *temp_t5 = (?32) stdout_primary_color; - temp_t8 = (&stdout_environment_color_table + temp_a0); - temp_t7 = (string_formatting + 1); - temp_t5->unk4 = (?32) stdout_primary_color.unk4; - *temp_t8 = (?32) debug_text_bg_color; - temp_t8->unk4 = (s32) debug_text_bg_color.unk4; - temp_t5_2 = (temp_t7 & 0x1f); - if (temp_t7 < 0) - { - // Node 5 - if (temp_t5_2 != 0) - { - // Node 6 - } - } - // Node 7 - string_formatting = temp_t5_2; - } - else - { - - } - // Node 8 - temp_v1 = (((arg0 * 0x46) + (arg1 * 2)) + &stdout_debug_menu_screen_buffer); - *temp_v1 = (s8) (arg2 & 0xff); - temp_v1->unk1 = temp_t5_2; - return; - // (possible return value: temp_t5_2) -} - -#else -GLOBAL_ASM( -.text -glabel display_text_to_coord -/* 00B9D0 7000ADD0 AFA60008 */ sw $a2, 8($sp) -/* 00B9D4 7000ADD4 30CE00FF */ andi $t6, $a2, 0xff -/* 00B9D8 7000ADD8 3C038002 */ lui $v1, %hi(debug_text_color) -/* 00B9DC 7000ADDC 3C088002 */ lui $t0, %hi(stdout_primary_color_table) -/* 00B9E0 7000ADE0 3C0A8002 */ lui $t2, %hi(stdout_environment_color_table) -/* 00B9E4 7000ADE4 3C098002 */ lui $t1, %hi(debug_text_bg_color) -/* 00B9E8 7000ADE8 01C03025 */ move $a2, $t6 -/* 00B9EC 7000ADEC AFA40000 */ sw $a0, ($sp) -/* 00B9F0 7000ADF0 252968B0 */ addiu $t1, %lo(debug_text_bg_color) # addiu $t1, $t1, 0x68b0 -/* 00B9F4 7000ADF4 254A6710 */ addiu $t2, %lo(stdout_environment_color_table) # addiu $t2, $t2, 0x6710 -/* 00B9F8 7000ADF8 25086610 */ addiu $t0, %lo(stdout_primary_color_table) # addiu $t0, $t0, 0x6610 -/* 00B9FC 7000ADFC 8C6368AC */ lw $v1, %lo(debug_text_color)($v1) -/* 00BA00 7000AE00 00001025 */ move $v0, $zero -/* 00BA04 7000AE04 00003825 */ move $a3, $zero -.L7000AE08: -/* 00BA08 7000AE08 8D0F0004 */ lw $t7, 4($t0) -/* 00BA0C 7000AE0C 25080008 */ addiu $t0, $t0, 8 -/* 00BA10 7000AE10 0147C821 */ addu $t9, $t2, $a3 -/* 00BA14 7000AE14 546F0006 */ bnel $v1, $t7, .L7000AE30 -/* 00BA18 7000AE18 24420001 */ addiu $v0, $v0, 1 -/* 00BA1C 7000AE1C 8D380004 */ lw $t8, 4($t1) -/* 00BA20 7000AE20 8F2B0004 */ lw $t3, 4($t9) -/* 00BA24 7000AE24 530B0020 */ beql $t8, $t3, .L7000AEA8 -/* 00BA28 7000AE28 8FAE0000 */ lw $t6, ($sp) -/* 00BA2C 7000AE2C 24420001 */ addiu $v0, $v0, 1 -.L7000AE30: -/* 00BA30 7000AE30 28410020 */ slti $at, $v0, 0x20 -/* 00BA34 7000AE34 1420FFF4 */ bnez $at, .L7000AE08 -/* 00BA38 7000AE38 24E70008 */ addiu $a3, $a3, 8 -/* 00BA3C 7000AE3C 3C078002 */ lui $a3, %hi(string_formatting) -/* 00BA40 7000AE40 24E76810 */ addiu $a3, %lo(string_formatting) # addiu $a3, $a3, 0x6810 -/* 00BA44 7000AE44 8CE30000 */ lw $v1, ($a3) -/* 00BA48 7000AE48 3C0E8002 */ lui $t6, %hi(stdout_primary_color) -/* 00BA4C 7000AE4C 25CE68A8 */ addiu $t6, %lo(stdout_primary_color) # addiu $t6, $t6, 0x68a8 -/* 00BA50 7000AE50 8DC10000 */ lw $at, ($t6) -/* 00BA54 7000AE54 3C0C8002 */ lui $t4, %hi(stdout_primary_color_table) -/* 00BA58 7000AE58 258C6610 */ addiu $t4, %lo(stdout_primary_color_table) # addiu $t4, $t4, 0x6610 -/* 00BA5C 7000AE5C 000320C0 */ sll $a0, $v1, 3 -/* 00BA60 7000AE60 008C6821 */ addu $t5, $a0, $t4 -/* 00BA64 7000AE64 ADA10000 */ sw $at, ($t5) -/* 00BA68 7000AE68 8DD90004 */ lw $t9, 4($t6) -/* 00BA6C 7000AE6C 0144C021 */ addu $t8, $t2, $a0 -/* 00BA70 7000AE70 246F0001 */ addiu $t7, $v1, 1 -/* 00BA74 7000AE74 ADB90004 */ sw $t9, 4($t5) -/* 00BA78 7000AE78 8D210000 */ lw $at, ($t1) -/* 00BA7C 7000AE7C AF010000 */ sw $at, ($t8) -/* 00BA80 7000AE80 8D2C0004 */ lw $t4, 4($t1) -/* 00BA84 7000AE84 AF0C0004 */ sw $t4, 4($t8) -/* 00BA88 7000AE88 05E10004 */ bgez $t7, .L7000AE9C -/* 00BA8C 7000AE8C 31ED001F */ andi $t5, $t7, 0x1f -/* 00BA90 7000AE90 11A00002 */ beqz $t5, .L7000AE9C -/* 00BA94 7000AE94 00000000 */ nop -/* 00BA98 7000AE98 25ADFFE0 */ addiu $t5, $t5, -0x20 -.L7000AE9C: -/* 00BA9C 7000AE9C ACED0000 */ sw $t5, ($a3) -/* 00BAA0 7000AEA0 01A01025 */ move $v0, $t5 -/* 00BAA4 7000AEA4 8FAE0000 */ lw $t6, ($sp) -.L7000AEA8: -/* 00BAA8 7000AEA8 00055840 */ sll $t3, $a1, 1 -/* 00BAAC 7000AEAC 3C0C8002 */ lui $t4, %hi(stdout_debug_menu_screen_buffer) -/* 00BAB0 7000AEB0 000EC8C0 */ sll $t9, $t6, 3 -/* 00BAB4 7000AEB4 032EC821 */ addu $t9, $t9, $t6 -/* 00BAB8 7000AEB8 0019C880 */ sll $t9, $t9, 2 -/* 00BABC 7000AEBC 032EC823 */ subu $t9, $t9, $t6 -/* 00BAC0 7000AEC0 0019C840 */ sll $t9, $t9, 1 -/* 00BAC4 7000AEC4 032BC021 */ addu $t8, $t9, $t3 -/* 00BAC8 7000AEC8 258C5030 */ addiu $t4, %lo(stdout_debug_menu_screen_buffer) # addiu $t4, $t4, 0x5030 -/* 00BACC 7000AECC 030C1821 */ addu $v1, $t8, $t4 -/* 00BAD0 7000AED0 A0660000 */ sb $a2, ($v1) -/* 00BAD4 7000AED4 03E00008 */ jr $ra -/* 00BAD8 7000AED8 A0620001 */ sb $v0, 1($v1) -) -#endif - - - - -void debugMenuSetTextPOStoOffset(void) -{ - debug_menu_x_text_pos = debug_menu_x_pos_offset; - debug_menu_y_text_pos = debug_menu_y_pos_offset; -} - - - - -void blank_debug_buffer_chars(void) -{ - int x; - int y; - - for (y = 0; y < 0x23; y++) - { - for (x = 0; x < 0x50; x++) - { - display_text_to_coord(x,y,'\0'); - } - } - debugMenuSetTextPOStoOffset(); - null_function_7000ADA0(); - string_formatting[0] = NULL; -} - - - - -void stubbed_function_7000AF84(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - return; -} - - - - - - -#ifdef NONMATCHING -void something_debug_info_related(s32 arg0) -{ - s32 temp_s0; - s32 temp_s0_2; - s32 phi_s3; - s32 phi_s0; - s32 phi_s1; - s32 phi_s0_2; - - phi_s3 = arg0 + 0x21; - phi_s1 = 0x21; -loop_1: - if ((phi_s3 >= 0) && (phi_s3 < 0x23)) - { -loop_3: - stubbed_function_7000AF84(phi_s0, phi_s3, phi_s0, phi_s1); - temp_s0 = phi_s0 + 1; - phi_s0 = temp_s0; - if (temp_s0 != 0x50) - { - goto loop_3; - } - } - else - { - phi_s0_2 = 0; -loop_6: - display_text_to_coord(phi_s0_2, phi_s1, 0); - temp_s0_2 = phi_s0_2 + 1; - phi_s0_2 = temp_s0_2; - if (temp_s0_2 != 0x50) - { - goto loop_6; - } - } - phi_s3 = phi_s3 - 1; - phi_s1 = phi_s1 - 1; - if (phi_s1 != 0) - { - goto loop_1; - } -} -#else -GLOBAL_ASM( -.text -glabel something_debug_info_related -/* 00BB98 7000AF98 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00BB9C 7000AF9C AFB30020 */ sw $s3, 0x20($sp) -/* 00BBA0 7000AFA0 AFB2001C */ sw $s2, 0x1c($sp) -/* 00BBA4 7000AFA4 AFB10018 */ sw $s1, 0x18($sp) -/* 00BBA8 7000AFA8 AFBF0024 */ sw $ra, 0x24($sp) -/* 00BBAC 7000AFAC AFB00014 */ sw $s0, 0x14($sp) -/* 00BBB0 7000AFB0 24110021 */ li $s1, 33 -/* 00BBB4 7000AFB4 24120050 */ li $s2, 80 -/* 00BBB8 7000AFB8 24930021 */ addiu $s3, $a0, 0x21 -.L7000AFBC: -/* 00BBBC 7000AFBC 0660000D */ bltz $s3, .L7000AFF4 -/* 00BBC0 7000AFC0 2A610023 */ slti $at, $s3, 0x23 -/* 00BBC4 7000AFC4 1020000B */ beqz $at, .L7000AFF4 -/* 00BBC8 7000AFC8 00008025 */ move $s0, $zero -/* 00BBCC 7000AFCC 02002025 */ move $a0, $s0 -.L7000AFD0: -/* 00BBD0 7000AFD0 02602825 */ move $a1, $s3 -/* 00BBD4 7000AFD4 02003025 */ move $a2, $s0 -/* 00BBD8 7000AFD8 0C002BE1 */ jal stubbed_function_7000AF84 -/* 00BBDC 7000AFDC 02203825 */ move $a3, $s1 -/* 00BBE0 7000AFE0 26100001 */ addiu $s0, $s0, 1 -/* 00BBE4 7000AFE4 5612FFFA */ bnel $s0, $s2, .L7000AFD0 -/* 00BBE8 7000AFE8 02002025 */ move $a0, $s0 -/* 00BBEC 7000AFEC 1000000A */ b .L7000B018 -/* 00BBF0 7000AFF0 02201025 */ move $v0, $s1 -.L7000AFF4: -/* 00BBF4 7000AFF4 00008025 */ move $s0, $zero -/* 00BBF8 7000AFF8 02002025 */ move $a0, $s0 -.L7000AFFC: -/* 00BBFC 7000AFFC 02202825 */ move $a1, $s1 -/* 00BC00 7000B000 0C002B74 */ jal display_text_to_coord -/* 00BC04 7000B004 00003025 */ move $a2, $zero -/* 00BC08 7000B008 26100001 */ addiu $s0, $s0, 1 -/* 00BC0C 7000B00C 5612FFFB */ bnel $s0, $s2, .L7000AFFC -/* 00BC10 7000B010 02002025 */ move $a0, $s0 -/* 00BC14 7000B014 02201025 */ move $v0, $s1 -.L7000B018: -/* 00BC18 7000B018 2673FFFF */ addiu $s3, $s3, -1 -/* 00BC1C 7000B01C 1620FFE7 */ bnez $s1, .L7000AFBC -/* 00BC20 7000B020 2631FFFF */ addiu $s1, $s1, -1 -/* 00BC24 7000B024 8FBF0024 */ lw $ra, 0x24($sp) -/* 00BC28 7000B028 8FB00014 */ lw $s0, 0x14($sp) -/* 00BC2C 7000B02C 8FB10018 */ lw $s1, 0x18($sp) -/* 00BC30 7000B030 8FB2001C */ lw $s2, 0x1c($sp) -/* 00BC34 7000B034 8FB30020 */ lw $s3, 0x20($sp) -/* 00BC38 7000B038 03E00008 */ jr $ra -/* 00BC3C 7000B03C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void set_final_debug_text_positions(s32 xadjust,s32 yadjust) -{ - debug_menu_x_text_pos = xadjust + debug_menu_x_pos_offset; - debug_menu_y_text_pos = yadjust + debug_menu_y_pos_offset; -} -#else -GLOBAL_ASM( -.text -glabel set_final_debug_text_positions -/* 00BC40 7000B040 3C0E8002 */ lui $t6, %hi(debug_menu_x_pos_offset) -/* 00BC44 7000B044 8DCE4FA0 */ lw $t6, %lo(debug_menu_x_pos_offset)($t6) -/* 00BC48 7000B048 3C0F8002 */ lui $t7, %hi(debug_menu_y_pos_offset) -/* 00BC4C 7000B04C 8DEF4FA4 */ lw $t7, %lo(debug_menu_y_pos_offset)($t7) -/* 00BC50 7000B050 3C018002 */ lui $at, %hi(debug_menu_x_text_pos) -/* 00BC54 7000B054 008E2021 */ addu $a0, $a0, $t6 -/* 00BC58 7000B058 AC244FA8 */ sw $a0, %lo(debug_menu_x_text_pos)($at) -/* 00BC5C 7000B05C 3C018002 */ lui $at, %hi(debug_menu_y_text_pos) -/* 00BC60 7000B060 00AF2821 */ addu $a1, $a1, $t7 -/* 00BC64 7000B064 03E00008 */ jr $ra -/* 00BC68 7000B068 AC254FAC */ sw $a1, %lo(debug_menu_y_text_pos)($at) -) -#endif - - - - - - -void set_debug_text_color(s32 red,s32 blue,s32 green,s32 alpha) -{ - debug_text_color = red << 0x18 | blue << 0x10 | green << 8 | 0xffU - alpha; -} - - -void set_color_speedgraph(s32 red,s32 green,s32 blue,s32 alpha) -{ - speedgraph_color = red << 0x18 | green << 0x10 | blue << 8 | 0xffU - alpha; -} - - - - - -#ifdef NONMATCHING -void write_char_to_screen(u8 character) - -{ - short txtClipW; - short txtClipH; - int start_pos; - - txtClipW = get_video2_settings_txtClipW(); - start_pos = (int)txtClipW + -0xd; - if (start_pos < 0) { - start_pos = (int)txtClipW + -10; - } - txtClipH = get_video2_settings_txtClipH(); - if ((character == 0) || ((0x1f < character && (character < 0x7f)))) { - display_text_to_coord(debug_menu_x_text_pos,debug_menu_y_text_pos,character); - } - debug_menu_x_text_pos += 1; - if (((character == 0xd) || (character == 10)) || (start_pos >> 2 <= debug_menu_x_text_pos)) { - debug_menu_y_text_pos += 1; - debug_menu_x_text_pos = debug_menu_x_pos_offset; - if (((int)txtClipH + -10) / 7 <= debug_menu_y_text_pos) { - debug_menu_y_text_pos = debug_menu_y_pos_offset; - } - } -} -#else -GLOBAL_ASM( -.text -glabel write_char_to_screen -/* 00BCC4 7000B0C4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00BCC8 7000B0C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 00BCCC 7000B0CC 0C001107 */ jal get_video2_settings_txtClipW -/* 00BCD0 7000B0D0 AFA40028 */ sw $a0, 0x28($sp) -/* 00BCD4 7000B0D4 244EFFF3 */ addiu $t6, $v0, -0xd -/* 00BCD8 7000B0D8 05C10003 */ bgez $t6, .L7000B0E8 -/* 00BCDC 7000B0DC 000E7883 */ sra $t7, $t6, 2 -/* 00BCE0 7000B0E0 25C10003 */ addiu $at, $t6, 3 -/* 00BCE4 7000B0E4 00017883 */ sra $t7, $at, 2 -.L7000B0E8: -/* 00BCE8 7000B0E8 0C00110B */ jal get_video2_settings_txtClipH -/* 00BCEC 7000B0EC AFAF0024 */ sw $t7, 0x24($sp) -/* 00BCF0 7000B0F0 2448FFF6 */ addiu $t0, $v0, -0xa -/* 00BCF4 7000B0F4 24010007 */ li $at, 7 -/* 00BCF8 7000B0F8 0101001A */ div $zero, $t0, $at -/* 00BCFC 7000B0FC 93A6002B */ lbu $a2, 0x2b($sp) -/* 00BD00 7000B100 00004012 */ mflo $t0 -/* 00BD04 7000B104 3C028002 */ lui $v0, %hi(debug_menu_x_text_pos) -/* 00BD08 7000B108 10C00005 */ beqz $a2, .L7000B120 -/* 00BD0C 7000B10C 00C01825 */ move $v1, $a2 -/* 00BD10 7000B110 28610020 */ slti $at, $v1, 0x20 -/* 00BD14 7000B114 1420000C */ bnez $at, .L7000B148 -/* 00BD18 7000B118 2861007F */ slti $at, $v1, 0x7f -/* 00BD1C 7000B11C 1020000A */ beqz $at, .L7000B148 -.L7000B120: -/* 00BD20 7000B120 3C078002 */ lui $a3, %hi(debug_menu_y_text_pos) -/* 00BD24 7000B124 24E74FAC */ addiu $a3, %lo(debug_menu_y_text_pos) # addiu $a3, $a3, 0x4fac -/* 00BD28 7000B128 24424FA8 */ addiu $v0, %lo(debug_menu_x_text_pos) # addiu $v0, $v0, 0x4fa8 -/* 00BD2C 7000B12C 8C440000 */ lw $a0, ($v0) -/* 00BD30 7000B130 8CE50000 */ lw $a1, ($a3) -/* 00BD34 7000B134 AFA3001C */ sw $v1, 0x1c($sp) -/* 00BD38 7000B138 0C002B74 */ jal display_text_to_coord -/* 00BD3C 7000B13C AFA80020 */ sw $t0, 0x20($sp) -/* 00BD40 7000B140 8FA3001C */ lw $v1, 0x1c($sp) -/* 00BD44 7000B144 8FA80020 */ lw $t0, 0x20($sp) -.L7000B148: -/* 00BD48 7000B148 3C028002 */ lui $v0, %hi(debug_menu_x_text_pos) -/* 00BD4C 7000B14C 24424FA8 */ addiu $v0, %lo(debug_menu_x_text_pos) # addiu $v0, $v0, 0x4fa8 -/* 00BD50 7000B150 8C590000 */ lw $t9, ($v0) -/* 00BD54 7000B154 3C078002 */ lui $a3, %hi(debug_menu_y_text_pos) -/* 00BD58 7000B158 2401000D */ li $at, 13 -/* 00BD5C 7000B15C 27290001 */ addiu $t1, $t9, 1 -/* 00BD60 7000B160 24E74FAC */ addiu $a3, %lo(debug_menu_y_text_pos) # addiu $a3, $a3, 0x4fac -/* 00BD64 7000B164 10610007 */ beq $v1, $at, .L7000B184 -/* 00BD68 7000B168 AC490000 */ sw $t1, ($v0) -/* 00BD6C 7000B16C 2401000A */ li $at, 10 -/* 00BD70 7000B170 10610004 */ beq $v1, $at, .L7000B184 -/* 00BD74 7000B174 8FAB0024 */ lw $t3, 0x24($sp) -/* 00BD78 7000B178 012B082A */ slt $at, $t1, $t3 -/* 00BD7C 7000B17C 5420000D */ bnezl $at, .L7000B1B4 -/* 00BD80 7000B180 8FBF0014 */ lw $ra, 0x14($sp) -.L7000B184: -/* 00BD84 7000B184 8CED0000 */ lw $t5, ($a3) -/* 00BD88 7000B188 3C0C8002 */ lui $t4, %hi(debug_menu_x_pos_offset) -/* 00BD8C 7000B18C 8D8C4FA0 */ lw $t4, %lo(debug_menu_x_pos_offset)($t4) -/* 00BD90 7000B190 25AE0001 */ addiu $t6, $t5, 1 -/* 00BD94 7000B194 01C8082A */ slt $at, $t6, $t0 -/* 00BD98 7000B198 ACEE0000 */ sw $t6, ($a3) -/* 00BD9C 7000B19C 14200004 */ bnez $at, .L7000B1B0 -/* 00BDA0 7000B1A0 AC4C0000 */ sw $t4, ($v0) -/* 00BDA4 7000B1A4 3C188002 */ lui $t8, %hi(debug_menu_y_pos_offset) -/* 00BDA8 7000B1A8 8F184FA4 */ lw $t8, %lo(debug_menu_y_pos_offset)($t8) -/* 00BDAC 7000B1AC ACF80000 */ sw $t8, ($a3) -.L7000B1B0: -/* 00BDB0 7000B1B0 8FBF0014 */ lw $ra, 0x14($sp) -.L7000B1B4: -/* 00BDB4 7000B1B4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00BDB8 7000B1B8 03E00008 */ jr $ra -/* 00BDBC 7000B1BC 00000000 */ nop -) -#endif - - - - -void debug_printcharatpos(int x,int y, u8 character) -{ - set_final_debug_text_positions(x,y); - write_char_to_screen(character); -} - - - -#ifdef NONMATCHING -void write_string_stdout(void *arg0) -{ - void *temp_s1; - s32 phi_s0; - void *phi_s1; - - phi_s0 = *arg0; - phi_s1 = arg0; - if (*arg0 != 0) - { -loop_1: - temp_s1 = phi_s1 + 1; - write_char_to_screen(phi_s0 & 0xff); - phi_s0 = *temp_s1; - phi_s1 = temp_s1; - if (*temp_s1 != 0) - { - goto loop_1; - } - } -} -#else -GLOBAL_ASM( -.text -glabel write_string_stdout -/* 00BDE8 7000B1E8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00BDEC 7000B1EC AFBF001C */ sw $ra, 0x1c($sp) -/* 00BDF0 7000B1F0 AFB10018 */ sw $s1, 0x18($sp) -/* 00BDF4 7000B1F4 AFB00014 */ sw $s0, 0x14($sp) -/* 00BDF8 7000B1F8 90900000 */ lbu $s0, ($a0) -/* 00BDFC 7000B1FC 00808825 */ move $s1, $a0 -/* 00BE00 7000B200 12000006 */ beqz $s0, .L7000B21C -/* 00BE04 7000B204 320400FF */ andi $a0, $s0, 0xff -.L7000B208: -/* 00BE08 7000B208 0C002C31 */ jal write_char_to_screen -/* 00BE0C 7000B20C 26310001 */ addiu $s1, $s1, 1 -/* 00BE10 7000B210 92300000 */ lbu $s0, ($s1) -/* 00BE14 7000B214 5600FFFC */ bnezl $s0, .L7000B208 -/* 00BE18 7000B218 320400FF */ andi $a0, $s0, 0xff -.L7000B21C: -/* 00BE1C 7000B21C 8FBF001C */ lw $ra, 0x1c($sp) -/* 00BE20 7000B220 8FB00014 */ lw $s0, 0x14($sp) -/* 00BE24 7000B224 8FB10018 */ lw $s1, 0x18($sp) -/* 00BE28 7000B228 03E00008 */ jr $ra -/* 00BE2C 7000B22C 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -void debug_text_related(void *arg2) -{ - void *temp_s1; - s32 phi_s0; - void *phi_s1; - - set_final_debug_text_positions(); - phi_s0 = *arg2; - phi_s1 = arg2; - if (*arg2 != 0) - { -loop_1: - temp_s1 = phi_s1 + 1; - write_char_to_screen(phi_s0 & 0xff); - phi_s0 = *temp_s1; - phi_s1 = temp_s1; - if (*temp_s1 != 0) - { - goto loop_1; - } - } -} -#else -GLOBAL_ASM( -.text -glabel debug_text_related -/* 00BE30 7000B230 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00BE34 7000B234 AFBF001C */ sw $ra, 0x1c($sp) -/* 00BE38 7000B238 AFB10018 */ sw $s1, 0x18($sp) -/* 00BE3C 7000B23C 00C08825 */ move $s1, $a2 -/* 00BE40 7000B240 0C002C10 */ jal set_final_debug_text_positions -/* 00BE44 7000B244 AFB00014 */ sw $s0, 0x14($sp) -/* 00BE48 7000B248 92300000 */ lbu $s0, ($s1) -/* 00BE4C 7000B24C 12000006 */ beqz $s0, .L7000B268 -/* 00BE50 7000B250 320400FF */ andi $a0, $s0, 0xff -.L7000B254: -/* 00BE54 7000B254 0C002C31 */ jal write_char_to_screen -/* 00BE58 7000B258 26310001 */ addiu $s1, $s1, 1 -/* 00BE5C 7000B25C 92300000 */ lbu $s0, ($s1) -/* 00BE60 7000B260 5600FFFC */ bnezl $s0, .L7000B254 -/* 00BE64 7000B264 320400FF */ andi $a0, $s0, 0xff -.L7000B268: -/* 00BE68 7000B268 8FBF001C */ lw $ra, 0x1c($sp) -/* 00BE6C 7000B26C 8FB00014 */ lw $s0, 0x14($sp) -/* 00BE70 7000B270 8FB10018 */ lw $s1, 0x18($sp) -/* 00BE74 7000B274 03E00008 */ jr $ra -/* 00BE78 7000B278 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -void *read_screen_display_block_and_write_chars(void *arg0) -{ - s32 sp40; - s32 temp_a0; - s32 temp_a0_2; - s32 temp_a1; - s32 temp_a1_2; - s32 temp_a2; - s32 temp_s1; - s32 temp_s3; - s32 temp_s5; - s32 temp_t0; - s32 temp_v0; - s32 temp_v1; - s32 temp_v1_2; - s32 temp_v1_3; - s32 temp_v1_4; - void *temp_a1_3; - void *temp_s0; - void *temp_s0_2; - void *temp_t5; - void *temp_t8; - void *temp_v0_2; - void *phi_a0; - s32 phi_a2; - s32 phi_a1; - s32 phi_t0; - s32 phi_a2_2; - void *phi_s1; - void *phi_s2; - s32 phi_s4; - void *phi_s0; - void *phi_s0_2; - s32 phi_s1_2; - s32 phi_s5; - void *phi_s0_3; - void *phi_s1_3; - void *phi_s1_4; - s32 phi_s4_2; - s32 phi_s4_3; - - phi_t0 = 0; - phi_a2 = -1; - phi_s1_4 = arg0; -loop_1: - temp_a1 = 0x80020000 + 0x5030; - phi_a0 = phi_t0 + temp_a1; - phi_a1 = temp_a1; -loop_2: - temp_a1_2 = phi_a1 + 0x46; - temp_v1 = phi_a0->unk1; - phi_a2_2 = phi_a2; - phi_s1 = phi_s1_4; - if (phi_a0->unk0 != 0) - { - phi_a2_2 = phi_a2; - phi_s1_3 = phi_s1_4; - if (temp_v1 != phi_a2) - { - phi_a2_2 = temp_v1; - phi_s1_3 = phi_s1_4 + 0x10; - } - phi_s1 = phi_s1_3 + 0x18; - } - phi_a0 = phi_a0 + 0x46; - phi_a2 = phi_a2_2; - phi_a1 = temp_a1_2; - phi_s1_4 = phi_s1; - if (temp_a1_2 != &stdout_primary_color_table) - { - goto loop_2; - } - temp_t0 = phi_t0 + 2; - phi_t0 = temp_t0; - phi_a2 = phi_a2_2; - phi_s1_4 = phi_s1; - if (temp_t0 < 0x46) - { - goto loop_1; - } - temp_a0 = phi_s1 - arg0; - temp_v1_2 = num_microcode_cmds_that_fit(arg0, temp_a1_2, phi_a2_2, &stdout_primary_color_table) + -0x800; - if (temp_a0 <= 0) - { - return arg0; - } - if (temp_v1_2 <= 0) - { - D_800268B8 = 0; -block_15: - } - else - { - if (temp_v1_2 < temp_a0) - { - D_800268B8 = (s32) ((s32) (temp_v1_2 * 0xff) / temp_a0); - } - else - { - D_800268B8 = 0x100; - goto block_15; - } - } - arg0->unk0 = 0x6000000; - arg0->unk4 = &stdout_display_list; - sp40 = 0; - phi_s5 = 0; - phi_s4 = -1; - phi_s0 = arg0 + 8; -loop_17: - phi_s2 = sp40 + &stdout_debug_menu_screen_buffer; - phi_s1_2 = 0; -loop_18: - temp_s3 = phi_s2->unk0; - temp_v1_3 = phi_s2->unk1; - phi_s0_3 = phi_s0; - phi_s4_2 = phi_s4; - if (temp_s3 != 0) - { - temp_v0 = temp_v1_3 * 8; - phi_s0_2 = phi_s0; - phi_s4_3 = phi_s4; - if (temp_v1_3 != phi_s4) - { - temp_t5 = &stdout_primary_color_table + temp_v0; - temp_t8 = &stdout_environment_color_table + temp_v0; - temp_s0 = phi_s0 + 0x10; - temp_s0->unk-10 = (?32) temp_t5->unk0; - temp_s0->unk-C = (?32) temp_t5->unk4; - temp_s0->unk-8 = (?32) temp_t8->unk0; - temp_s0->unk-4 = (?32) temp_t8->unk4; - phi_s0_2 = temp_s0; - phi_s4_3 = temp_v1_3; - } - phi_s0_3 = phi_s0_2; - phi_s4_2 = phi_s4_3; - if ((u32) (get_random_value() & 0xff) < (u32) D_800268B8) - { - temp_v0_2 = phi_s0_2; - phi_s0_3 = phi_s0_2; - phi_s4_2 = phi_s4_3; - if (num_microcode_cmds_that_fit(phi_s0_2) >= 0x400) - { - temp_v1_4 = phi_s1_2 * 0x10; - temp_a0_2 = ((phi_s5 * 8) - phi_s5) * 4; - temp_a2 = temp_s3 + -0x20; - temp_s0_2 = phi_s0_2 + 8; - temp_a1_3 = temp_s0_2; - temp_v0_2->unk0 = (s32) (((((temp_v1_4 + 0x10) & 0xfff) << 0xc) | 0xe4000000) | ((temp_a0_2 + 0x1c) & 0xfff)); - temp_v0_2->unk4 = (s32) (((temp_v1_4 & 0xfff) << 0xc) | (temp_a0_2 & 0xfff)); - temp_s0_2 = temp_s0_2 + 8; - temp_a1_3->unk0 = 0xb4000000; - temp_a1_3->unk4 = (s32) (((temp_a2 & 0x1f) << 0x17) | (((temp_a2 >> 5) * 0xe0) & 0xffff)); - temp_s0_2->unk0 = 0xb3000000; - temp_s0_2->unk4 = 0x4000400; - phi_s0_3 = temp_s0_2 + 8; - phi_s4_2 = phi_s4_3; - } - } - } - temp_s1 = phi_s1_2 + 1; - phi_s2 = phi_s2 + 0x46; - phi_s4 = phi_s4_2; - phi_s0 = phi_s0_3; - phi_s1_2 = temp_s1; - if (temp_s1 != 0x50) - { - goto loop_18; - } - temp_s5 = phi_s5 + 1; - sp40 = (s32) (sp40 + 2); - phi_s5 = temp_s5; - phi_s4 = phi_s4_2; - phi_s0 = phi_s0_3; - if (temp_s5 != 0x23) - { - goto loop_17; - } - return phi_s0_3; -} -#else -GLOBAL_ASM( -.text -glabel read_screen_display_block_and_write_chars -/* 00BE7C 7000B27C 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 00BE80 7000B280 AFB5002C */ sw $s5, 0x2c($sp) -/* 00BE84 7000B284 AFB1001C */ sw $s1, 0x1c($sp) -/* 00BE88 7000B288 AFB00018 */ sw $s0, 0x18($sp) -/* 00BE8C 7000B28C 3C078002 */ lui $a3, %hi(stdout_primary_color_table) -/* 00BE90 7000B290 00808025 */ move $s0, $a0 -/* 00BE94 7000B294 AFBF003C */ sw $ra, 0x3c($sp) -/* 00BE98 7000B298 AFBE0038 */ sw $fp, 0x38($sp) -/* 00BE9C 7000B29C AFB70034 */ sw $s7, 0x34($sp) -/* 00BEA0 7000B2A0 AFB60030 */ sw $s6, 0x30($sp) -/* 00BEA4 7000B2A4 AFB40028 */ sw $s4, 0x28($sp) -/* 00BEA8 7000B2A8 AFB30024 */ sw $s3, 0x24($sp) -/* 00BEAC 7000B2AC AFB20020 */ sw $s2, 0x20($sp) -/* 00BEB0 7000B2B0 00808825 */ move $s1, $a0 -/* 00BEB4 7000B2B4 2406FFFF */ li $a2, -1 -/* 00BEB8 7000B2B8 24E76610 */ addiu $a3, %lo(stdout_primary_color_table) # addiu $a3, $a3, 0x6610 -/* 00BEBC 7000B2BC 0000A825 */ move $s5, $zero -/* 00BEC0 7000B2C0 00004025 */ move $t0, $zero -.L7000B2C4: -/* 00BEC4 7000B2C4 3C0E8002 */ lui $t6, %hi(stdout_debug_menu_screen_buffer) -/* 00BEC8 7000B2C8 25C55030 */ addiu $a1, $t6, %lo(stdout_debug_menu_screen_buffer) -/* 00BECC 7000B2CC 01052021 */ addu $a0, $t0, $a1 -.L7000B2D0: -/* 00BED0 7000B2D0 90820000 */ lbu $v0, ($a0) -/* 00BED4 7000B2D4 24A50046 */ addiu $a1, $a1, 0x46 -/* 00BED8 7000B2D8 90830001 */ lbu $v1, 1($a0) -/* 00BEDC 7000B2DC 10400006 */ beqz $v0, .L7000B2F8 -/* 00BEE0 7000B2E0 00000000 */ nop -/* 00BEE4 7000B2E4 50660004 */ beql $v1, $a2, .L7000B2F8 -/* 00BEE8 7000B2E8 26310018 */ addiu $s1, $s1, 0x18 -/* 00BEEC 7000B2EC 26310010 */ addiu $s1, $s1, 0x10 -/* 00BEF0 7000B2F0 00603025 */ move $a2, $v1 -/* 00BEF4 7000B2F4 26310018 */ addiu $s1, $s1, 0x18 -.L7000B2F8: -/* 00BEF8 7000B2F8 14A7FFF5 */ bne $a1, $a3, .L7000B2D0 -/* 00BEFC 7000B2FC 24840046 */ addiu $a0, $a0, 0x46 -/* 00BF00 7000B300 25080002 */ addiu $t0, $t0, 2 -/* 00BF04 7000B304 29010046 */ slti $at, $t0, 0x46 -/* 00BF08 7000B308 1420FFEE */ bnez $at, .L7000B2C4 -/* 00BF0C 7000B30C 00000000 */ nop -/* 00BF10 7000B310 0FC2F5DF */ jal num_microcode_cmds_that_fit -/* 00BF14 7000B314 02002025 */ move $a0, $s0 -/* 00BF18 7000B318 02302023 */ subu $a0, $s1, $s0 -/* 00BF1C 7000B31C 1C800003 */ bgtz $a0, .L7000B32C -/* 00BF20 7000B320 2443F800 */ addiu $v1, $v0, -0x800 -/* 00BF24 7000B324 10000080 */ b .L7000B528 -/* 00BF28 7000B328 02001025 */ move $v0, $s0 -.L7000B32C: -/* 00BF2C 7000B32C 1C600004 */ bgtz $v1, .L7000B340 -/* 00BF30 7000B330 2414FFFF */ li $s4, -1 -/* 00BF34 7000B334 3C018002 */ lui $at, %hi(D_800268B8) -/* 00BF38 7000B338 10000017 */ b .L7000B398 -/* 00BF3C 7000B33C AC2068B8 */ sw $zero, %lo(D_800268B8)($at) -.L7000B340: -/* 00BF40 7000B340 0064082A */ slt $at, $v1, $a0 -/* 00BF44 7000B344 10200011 */ beqz $at, .L7000B38C -/* 00BF48 7000B348 00037A00 */ sll $t7, $v1, 8 -/* 00BF4C 7000B34C 01E37823 */ subu $t7, $t7, $v1 -/* 00BF50 7000B350 01E4001A */ div $zero, $t7, $a0 -/* 00BF54 7000B354 14800002 */ bnez $a0, .L7000B360 -/* 00BF58 7000B358 00000000 */ nop -/* 00BF5C 7000B35C 0007000D */ break 7 -.L7000B360: -/* 00BF60 7000B360 2401FFFF */ li $at, -1 -/* 00BF64 7000B364 14810004 */ bne $a0, $at, .L7000B378 -/* 00BF68 7000B368 3C018000 */ lui $at, 0x8000 -/* 00BF6C 7000B36C 15E10002 */ bne $t7, $at, .L7000B378 -/* 00BF70 7000B370 00000000 */ nop -/* 00BF74 7000B374 0006000D */ break 6 -.L7000B378: -/* 00BF78 7000B378 3C018002 */ lui $at, %hi(D_800268B8) -/* 00BF7C 7000B37C 0000C012 */ mflo $t8 -/* 00BF80 7000B380 AC3868B8 */ sw $t8, %lo(D_800268B8)($at) -/* 00BF84 7000B384 10000005 */ b .L7000B39C -/* 00BF88 7000B388 02001025 */ move $v0, $s0 -.L7000B38C: -/* 00BF8C 7000B38C 24190100 */ li $t9, 256 -/* 00BF90 7000B390 3C018002 */ lui $at, %hi(D_800268B8) -/* 00BF94 7000B394 AC3968B8 */ sw $t9, %lo(D_800268B8)($at) -.L7000B398: -/* 00BF98 7000B398 02001025 */ move $v0, $s0 -.L7000B39C: -/* 00BF9C 7000B39C 3C0A8002 */ lui $t2, %hi(stdout_display_list) -/* 00BFA0 7000B3A0 254A4FB0 */ addiu $t2, %lo(stdout_display_list) # addiu $t2, $t2, 0x4fb0 -/* 00BFA4 7000B3A4 3C090600 */ lui $t1, 0x600 -/* 00BFA8 7000B3A8 AC490000 */ sw $t1, ($v0) -/* 00BFAC 7000B3AC AC4A0004 */ sw $t2, 4($v0) -/* 00BFB0 7000B3B0 3C1E8002 */ lui $fp, %hi(stdout_environment_color_table) -/* 00BFB4 7000B3B4 3C178002 */ lui $s7, %hi(stdout_primary_color_table) -/* 00BFB8 7000B3B8 26100008 */ addiu $s0, $s0, 8 -/* 00BFBC 7000B3BC 26F76610 */ addiu $s7, %lo(stdout_primary_color_table) # addiu $s7, $s7, 0x6610 -/* 00BFC0 7000B3C0 27DE6710 */ addiu $fp, %lo(stdout_environment_color_table) # addiu $fp, $fp, 0x6710 -/* 00BFC4 7000B3C4 AFA00040 */ sw $zero, 0x40($sp) -/* 00BFC8 7000B3C8 0000A825 */ move $s5, $zero -/* 00BFCC 7000B3CC 24160050 */ li $s6, 80 -.L7000B3D0: -/* 00BFD0 7000B3D0 8FAB0040 */ lw $t3, 0x40($sp) -/* 00BFD4 7000B3D4 3C0C8002 */ lui $t4, %hi(stdout_debug_menu_screen_buffer) -/* 00BFD8 7000B3D8 258C5030 */ addiu $t4, %lo(stdout_debug_menu_screen_buffer) # addiu $t4, $t4, 0x5030 -/* 00BFDC 7000B3DC 00008825 */ move $s1, $zero -/* 00BFE0 7000B3E0 016C9021 */ addu $s2, $t3, $t4 -.L7000B3E4: -/* 00BFE4 7000B3E4 92530000 */ lbu $s3, ($s2) -/* 00BFE8 7000B3E8 92430001 */ lbu $v1, 1($s2) -/* 00BFEC 7000B3EC 52600045 */ beql $s3, $zero, .L7000B504 -/* 00BFF0 7000B3F0 26310001 */ addiu $s1, $s1, 1 -/* 00BFF4 7000B3F4 1074000D */ beq $v1, $s4, .L7000B42C -/* 00BFF8 7000B3F8 000310C0 */ sll $v0, $v1, 3 -/* 00BFFC 7000B3FC 02E26821 */ addu $t5, $s7, $v0 -/* 00C000 7000B400 8DA10000 */ lw $at, ($t5) -/* 00C004 7000B404 03C2C021 */ addu $t8, $fp, $v0 -/* 00C008 7000B408 26100010 */ addiu $s0, $s0, 0x10 -/* 00C00C 7000B40C AE01FFF0 */ sw $at, -0x10($s0) -/* 00C010 7000B410 8DAF0004 */ lw $t7, 4($t5) -/* 00C014 7000B414 0060A025 */ move $s4, $v1 -/* 00C018 7000B418 AE0FFFF4 */ sw $t7, -0xc($s0) -/* 00C01C 7000B41C 8F010000 */ lw $at, ($t8) -/* 00C020 7000B420 AE01FFF8 */ sw $at, -8($s0) -/* 00C024 7000B424 8F090004 */ lw $t1, 4($t8) -/* 00C028 7000B428 AE09FFFC */ sw $t1, -4($s0) -.L7000B42C: -/* 00C02C 7000B42C 0C002914 */ jal get_random_value -/* 00C030 7000B430 00000000 */ nop -/* 00C034 7000B434 3C0B8002 */ lui $t3, %hi(D_800268B8) -/* 00C038 7000B438 8D6B68B8 */ lw $t3, %lo(D_800268B8)($t3) -/* 00C03C 7000B43C 304A00FF */ andi $t2, $v0, 0xff -/* 00C040 7000B440 014B082B */ sltu $at, $t2, $t3 -/* 00C044 7000B444 5020002F */ beql $at, $zero, .L7000B504 -/* 00C048 7000B448 26310001 */ addiu $s1, $s1, 1 -/* 00C04C 7000B44C 0FC2F5DF */ jal num_microcode_cmds_that_fit -/* 00C050 7000B450 02002025 */ move $a0, $s0 -/* 00C054 7000B454 28410400 */ slti $at, $v0, 0x400 -/* 00C058 7000B458 14200029 */ bnez $at, .L7000B500 -/* 00C05C 7000B45C 02001025 */ move $v0, $s0 -/* 00C060 7000B460 00111900 */ sll $v1, $s1, 4 -/* 00C064 7000B464 001520C0 */ sll $a0, $s5, 3 -/* 00C068 7000B468 00952023 */ subu $a0, $a0, $s5 -/* 00C06C 7000B46C 246C0010 */ addiu $t4, $v1, 0x10 -/* 00C070 7000B470 318E0FFF */ andi $t6, $t4, 0xfff -/* 00C074 7000B474 00042080 */ sll $a0, $a0, 2 -/* 00C078 7000B478 306A0FFF */ andi $t2, $v1, 0xfff -/* 00C07C 7000B47C 000A5B00 */ sll $t3, $t2, 0xc -/* 00C080 7000B480 000E6B00 */ sll $t5, $t6, 0xc -/* 00C084 7000B484 2499001C */ addiu $t9, $a0, 0x1c -/* 00C088 7000B488 308C0FFF */ andi $t4, $a0, 0xfff -/* 00C08C 7000B48C 3C01E400 */ lui $at, 0xe400 -/* 00C090 7000B490 2666FFE0 */ addiu $a2, $s3, -0x20 -/* 00C094 7000B494 00065143 */ sra $t2, $a2, 5 -/* 00C098 7000B498 01A17825 */ or $t7, $t5, $at -/* 00C09C 7000B49C 016C7025 */ or $t6, $t3, $t4 -/* 00C0A0 7000B4A0 33380FFF */ andi $t8, $t9, 0xfff -/* 00C0A4 7000B4A4 01F84825 */ or $t1, $t7, $t8 -/* 00C0A8 7000B4A8 000A58C0 */ sll $t3, $t2, 3 -/* 00C0AC 7000B4AC 016A5823 */ subu $t3, $t3, $t2 -/* 00C0B0 7000B4B0 26100008 */ addiu $s0, $s0, 8 -/* 00C0B4 7000B4B4 02002825 */ move $a1, $s0 -/* 00C0B8 7000B4B8 000B5940 */ sll $t3, $t3, 5 -/* 00C0BC 7000B4BC AC490000 */ sw $t1, ($v0) -/* 00C0C0 7000B4C0 30D8001F */ andi $t8, $a2, 0x1f -/* 00C0C4 7000B4C4 AC4E0004 */ sw $t6, 4($v0) -/* 00C0C8 7000B4C8 00184DC0 */ sll $t1, $t8, 0x17 -/* 00C0CC 7000B4CC 316CFFFF */ andi $t4, $t3, 0xffff -/* 00C0D0 7000B4D0 26100008 */ addiu $s0, $s0, 8 -/* 00C0D4 7000B4D4 3C0DB400 */ lui $t5, 0xb400 -/* 00C0D8 7000B4D8 ACAD0000 */ sw $t5, ($a1) -/* 00C0DC 7000B4DC 02003825 */ move $a3, $s0 -/* 00C0E0 7000B4E0 012C7025 */ or $t6, $t1, $t4 -/* 00C0E4 7000B4E4 ACAE0004 */ sw $t6, 4($a1) -/* 00C0E8 7000B4E8 3C190400 */ lui $t9, (0x04000400 >> 16) # lui $t9, 0x400 -/* 00C0EC 7000B4EC 37390400 */ ori $t9, (0x04000400 & 0xFFFF) # ori $t9, $t9, 0x400 -/* 00C0F0 7000B4F0 3C0DB300 */ lui $t5, 0xb300 -/* 00C0F4 7000B4F4 ACED0000 */ sw $t5, ($a3) -/* 00C0F8 7000B4F8 ACF90004 */ sw $t9, 4($a3) -/* 00C0FC 7000B4FC 26100008 */ addiu $s0, $s0, 8 -.L7000B500: -/* 00C100 7000B500 26310001 */ addiu $s1, $s1, 1 -.L7000B504: -/* 00C104 7000B504 1636FFB7 */ bne $s1, $s6, .L7000B3E4 -/* 00C108 7000B508 26520046 */ addiu $s2, $s2, 0x46 -/* 00C10C 7000B50C 8FAF0040 */ lw $t7, 0x40($sp) -/* 00C110 7000B510 26B50001 */ addiu $s5, $s5, 1 -/* 00C114 7000B514 24010023 */ li $at, 35 -/* 00C118 7000B518 25F80002 */ addiu $t8, $t7, 2 -/* 00C11C 7000B51C 16A1FFAC */ bne $s5, $at, .L7000B3D0 -/* 00C120 7000B520 AFB80040 */ sw $t8, 0x40($sp) -/* 00C124 7000B524 02001025 */ move $v0, $s0 -.L7000B528: -/* 00C128 7000B528 8FBF003C */ lw $ra, 0x3c($sp) -/* 00C12C 7000B52C 8FB00018 */ lw $s0, 0x18($sp) -/* 00C130 7000B530 8FB1001C */ lw $s1, 0x1c($sp) -/* 00C134 7000B534 8FB20020 */ lw $s2, 0x20($sp) -/* 00C138 7000B538 8FB30024 */ lw $s3, 0x24($sp) -/* 00C13C 7000B53C 8FB40028 */ lw $s4, 0x28($sp) -/* 00C140 7000B540 8FB5002C */ lw $s5, 0x2c($sp) -/* 00C144 7000B544 8FB60030 */ lw $s6, 0x30($sp) -/* 00C148 7000B548 8FB70034 */ lw $s7, 0x34($sp) -/* 00C14C 7000B54C 8FBE0038 */ lw $fp, 0x38($sp) -/* 00C150 7000B550 03E00008 */ jr $ra -/* 00C154 7000B554 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif diff --git a/src/debugmenu.h b/src/debugmenu.h deleted file mode 100644 index e4e00c5..0000000 --- a/src/debugmenu.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _DEBUGMENU_H_ -#define _DEBUGMENU_H_ - -#include -void blank_debug_buffer_chars(void); - -#endif diff --git a/src/decompressbuffer.c b/src/decompressbuffer.c deleted file mode 100644 index cc9d6ad..0000000 --- a/src/decompressbuffer.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "ultra64.h" - -u8 _decompressBuffer[0xAB400]; diff --git a/src/game/bg.c b/src/game/bg.c deleted file mode 100644 index 28d065a..0000000 --- a/src/game/bg.c +++ /dev/null @@ -1,12517 +0,0 @@ -#include "ultra64.h" -#include "game/bg.h" - -// bss -//CODE.bss:8007BF90 -s32 ptr_bg_data; -//CODE.bss:8007BF94 -s32 ptr_clipping; -//CODE.bss:8007BF98 -s32 dword_CODE_bss_8007BF98; -/* -CODE.bss:8007BF9C .align 4 -*/ -//CODE.bss:8007BFA0 -char list_visible_rooms_in_cur_global_vis_packet[0x98]; -//CODE.bss:8007C038 -s32 num_visible_rooms_in_cur_global_vis_packet; -/* -CODE.bss:8007C03C .align 4 -*/ -//CODE.bss:8007C040 -char dword_CODE_bss_8007C040[0x60]; -//CODE.bss:8007C0A0 -char dword_CODE_bss_8007C0A0[0x60]; -//CODE.bss:8007C100 -char dword_CODE_bss_8007C100[0x3E80]; -//CODE.bss:8007FF80 -s32 ptr_bgdata_portals; -//CODE.bss:8007FF84 -s32 ptr_bgdata_offsets; -//CODE.bss:8007FF88 -s32 dword_CODE_bss_8007FF88; -//CODE.bss:8007FF8C -s32 ptr_bgdata_room_fileposition_list; -//CODE.bss:8007FF90 -s32 dword_CODE_bss_8007FF90; -//CODE.bss:8007FF94 -s32 dword_CODE_bss_8007FF94; -//CODE.bss:8007FF98 -s32 dword_CODE_bss_8007FF98; - -//CODE.bss:8007FF9C -s32 dword_CODE_bss_8007FF9C; - -//CODE.bss:8007FFA0 -s32 dword_CODE_bss_8007FFA0; - -//CODE.bss:8007FFA4 -char dword_CODE_bss_8007FFA4; -char dword_CODE_bss_8007FFA5; -char dword_CODE_bss_8007FFA6; -char dword_CODE_bss_8007FFA7; -char dword_CODE_bss_8007FFA8[0x1658]; -//CODE.bss:80081600 -char dword_CODE_bss_80081600[0x18]; -//CODE.bss:80081618 -char table_for_portals[0xFA8]; - - -// data -//D:800413F0 -s32 *ptr_bg_c_debug_debug_notice_list = 0; -//D:800413F4 -f32 room_data_float1 = 1.0; -//D:800413F8 -f32 room_data_float2 = 1.0; -//D:800413FC -f32 D_800413FC = 1.0; -//D:80041400 -s32 D_80041400 = 1; -//D:80041404 -s32 D_80041404 = 1; -//D:80041408 -s32 D_80041408 = 1; -//D:8004140C -s32 D_8004140C = -1; -//D:80041410 -s32 D_80041410 = -1; - -//D:80041414 -u32 D_80041414 = 0; - -//D:80041418 -u32 D_80041418[] = {0, 0, 0}; -//D:80041424 -u8 room_information[0x50] = {0}; -//D:80041474 -u8 D_80041474[0x50] = {0}; - -//D:800414C4 -u8 D_800414C4[0x50] = {0}; -//D:80041514 -u8 D_80041514[0x50] = {0}; -//D:80041564 -u8 D_80041564[0x50] = {0}; -//D:800415B4 -u8 D_800415B4[0x50] = {0}; -//D:80041604 -u8 D_80041604[0x50] = {0}; -//D:80041654 -u8 D_80041654[0x50] = {0}; -//D:800416A4 -u8 D_800416A4[0x50] = {0}; -//D:800416F4 -u8 D_800416F4[0x50] = {0}; -//D:80041744 -u8 D_80041744[0x50] = {0}; -//D:80041794 -u8 D_80041794[0x50] = {0}; -//D:800417E4 -u8 D_800417E4[0x50] = {0}; -//D:80041834 -u8 D_80041834[0x50] = {0}; -//D:80041884 -u8 D_80041884[0x50] = {0}; -//D:800418D4 -u8 D_800418D4[0x50] = {0}; -//D:80041924 -u8 D_80041924[0x50] = {0}; -//D:80041974 -u8 D_80041974[0x50] = {0}; -//D:800419C4 -u8 D_800419C4[0x50] = {0}; -//D:80041A14 -u8 D_80041A14[0x50] = {0}; -//D:80041A64 -u8 D_80041A64[0x50] = {0}; -//D:80041AB4 -u8 D_80041AB4[0x50] = {0}; -//D:80041B04 -u8 D_80041B04[0x50] = {0}; -//D:80041B54 -u8 D_80041B54[0x50] = {0}; -//D:80041BA4 -u8 D_80041BA4[0x50] = {0}; -//D:80041BF4 -u8 D_80041BF4[0x50] = {0}; -//D:80041C44 -u8 D_80041C44[0x50] = {0}; -//D:80041C94 -u8 D_80041C94[0x50] = {0}; -//D:80041CE4 -u8 D_80041CE4[0x50] = {0}; -//D:80041D34 -u8 D_80041D34[0x50] = {0}; -//D:80041D84 -u8 D_80041D84[0x50] = {0}; -//D:80041DD4 -u8 D_80041DD4[0x50] = {0}; -//D:80041E24 -u8 D_80041E24[0x50] = {0}; -//D:80041E74 -u8 D_80041E74[0x50] = {0}; -//D:80041EC4 -u8 D_80041EC4[0x50] = {0}; -//D:80041F14 -u8 D_80041F14[0x50] = {0}; -//D:80041F64 -u8 D_80041F64[0x50] = {0}; -//D:80041FB4 -u8 D_80041FB4[0x50] = {0}; -//D:80042004 -u8 D_80042004[0x50] = {0}; -//D:80042054 -u8 D_80042054[0x50] = {0}; -//D:800420A4 -u8 D_800420A4[0x50] = {0}; -//D:800420F4 -u8 D_800420F4[0x50] = {0}; -//D:80042144 -u8 D_80042144[0x50] = {0}; -//D:80042194 -u8 D_80042194[0x50] = {0}; -//D:800421E4 -u8 D_800421E4[0x50] = {0}; -//D:80042234 -u8 D_80042234[0x50] = {0}; -//D:80042284 -u8 D_80042284[0x50] = {0}; -//D:800422D4 -u8 D_800422D4[0x50] = {0}; -//D:80042324 -u8 D_80042324[0x50] = {0}; -//D:80042374 -u8 D_80042374[0x50] = {0}; -//D:800423C4 -u8 D_800423C4[0x50] = {0}; -//D:80042414 -u8 D_80042414[0x50] = {0}; -//D:80042464 -u8 D_80042464[0x50] = {0}; -//D:800424B4 -u8 D_800424B4[0x50] = {0}; -//D:80042504 -u8 D_80042504[0x50] = {0}; -//D:80042554 -u8 D_80042554[0x50] = {0}; -//D:800425A4 -u8 D_800425A4[0x50] = {0}; -//D:800425F4 -u8 D_800425F4[0x50] = {0}; -//D:80042644 -u8 D_80042644[0x50] = {0}; -//D:80042694 -u8 D_80042694[0x50] = {0}; -//D:800426E4 -u8 D_800426E4[0x50] = {0}; -//D:80042734 -u8 D_80042734[0x50] = {0}; -//D:80042784 -u8 D_80042784[0x50] = {0}; -//D:800427D4 -u8 D_800427D4[0x50] = {0}; -//D:80042824 -u8 D_80042824[0x50] = {0}; -//D:80042874 -u8 D_80042874[0x50] = {0}; -//D:800428C4 -u8 D_800428C4[0x50] = {0}; -//D:80042914 -u8 D_80042914[0x50] = {0}; -//D:80042964 -u8 D_80042964[0x50] = {0}; -//D:800429B4 -u8 D_800429B4[0x50] = {0}; -//D:80042A04 -u8 D_80042A04[0x50] = {0}; -//D:80042A54 -u8 D_80042A54[0x50] = {0}; -//D:80042AA4 -u8 D_80042AA4[0x50] = {0}; -//D:80042AF4 -u8 D_80042AF4[0x50] = {0}; -//D:80042B44 -u8 D_80042B44[0x50] = {0}; -//D:80042B94 -u8 D_80042B94[0x50] = {0}; -//D:80042BE4 -u8 D_80042BE4[0x50] = {0}; -//D:80042C34 -u8 D_80042C34[0x50] = {0}; -//D:80042C84 -u8 D_80042C84[0x50] = {0}; -//D:80042CD4 -u8 D_80042CD4[0x50] = {0}; -//D:80042D24 -u8 D_80042D24[0x50] = {0}; -//D:80042D74 -u8 D_80042D74[0x50] = {0}; -//D:80042DC4 -u8 D_80042DC4[0x50] = {0}; -//D:80042E14 -u8 D_80042E14[0x50] = {0}; -//D:80042E64 -u8 D_80042E64[0x50] = {0}; -//D:80042EB4 -u8 D_80042EB4[0x50] = {0}; -//D:80042F04 -u8 D_80042F04[0x50] = {0}; -//D:80042F54 -u8 D_80042F54[0x50] = {0}; -//D:80042FA4 -u8 D_80042FA4[0x50] = {0}; -//D:80042FF4 -u8 D_80042FF4[0x50] = {0}; -//D:80043044 -u8 D_80043044[0x50] = {0}; -//D:80043094 -u8 D_80043094[0x50] = {0}; -//D:800430E4 -u8 D_800430E4[0x50] = {0}; -//D:80043134 -u8 D_80043134[0x50] = {0}; -//D:80043184 -u8 D_80043184[0x50] = {0}; -//D:800431D4 -u8 D_800431D4[0x50] = {0}; -//D:80043224 -u8 D_80043224[0x50] = {0}; -//D:80043274 -u8 D_80043274[0x50] = {0}; -//D:800432C4 -u8 D_800432C4[0x50] = {0}; -//D:80043314 -u8 D_80043314[0x50] = {0}; -//D:80043364 -u8 D_80043364[0x50] = {0}; -//D:800433B4 -u8 D_800433B4[0x50] = {0}; -//D:80043404 -u8 D_80043404[0x50] = {0}; -//D:80043454 -u8 D_80043454[0x50] = {0}; -//D:800434A4 -u8 D_800434A4[0x50] = {0}; -//D:800434F4 -u8 D_800434F4[0x50] = {0}; -//D:80043544 -u8 D_80043544[0x50] = {0}; -//D:80043594 -u8 D_80043594[0x50] = {0}; -//D:800435E4 -u8 D_800435E4[0x50] = {0}; -//D:80043634 -u8 D_80043634[0x50] = {0}; -//D:80043684 -u8 D_80043684[0x50] = {0}; -//D:800436D4 -u8 D_800436D4[0x50] = {0}; -//D:80043724 -u8 D_80043724[0x50] = {0}; -//D:80043774 -u8 D_80043774[0x50] = {0}; -//D:800437C4 -u8 D_800437C4[0x50] = {0}; -//D:80043814 -u8 D_80043814[0x50] = {0}; -//D:80043864 -u8 D_80043864[0x50] = {0}; -//D:800438B4 -u8 D_800438B4[0x50] = {0}; -//D:80043904 -u8 D_80043904[0x50] = {0}; -//D:80043954 -u8 D_80043954[0x50] = {0}; -//D:800439A4 -u8 D_800439A4[0x50] = {0}; -//D:800439F4 -u8 D_800439F4[0x50] = {0}; -//D:80043A44 -u8 D_80043A44[0x50] = {0}; -//D:80043A94 -u8 D_80043A94[0x50] = {0}; -//D:80043AE4 -u8 D_80043AE4[0x50] = {0}; -//D:80043B34 -u8 D_80043B34[0x50] = {0}; -//D:80043B84 -u8 D_80043B84[0x50] = {0}; -//D:80043BD4 -u8 D_80043BD4[0x50] = {0}; -//D:80043C24 -u8 D_80043C24[0x50] = {0}; -//D:80043C74 -u8 D_80043C74[0x50] = {0}; -//D:80043CC4 -u8 D_80043CC4[0x50] = {0}; -//D:80043D14 -u8 D_80043D14[0x50] = {0}; -//D:80043D64 -u8 D_80043D64[0x50] = {0}; -//D:80043DB4 -u8 D_80043DB4[0x50] = {0}; -//D:80043E04 -u8 D_80043E04[0x50] = {0}; -//D:80043E54 -u8 D_80043E54[0x50] = {0}; -//D:80043EA4 -u8 D_80043EA4[0x50] = {0}; -//D:80043EF4 -u8 D_80043EF4[0x50] = {0}; -//D:80043F44 -u8 D_80043F44[0x50] = {0}; -//D:80043F94 -u8 D_80043F94[0x50] = {0}; -//D:80043FE4 -u8 D_80043FE4[0x50] = {0}; -//D:80044034 -u8 D_80044034[0x50] = {0}; -//D:80044084 -u8 D_80044084[0x50] = {0}; -//D:800440D4 -u8 D_800440D4[0x50] = {0}; -//D:80044124 -u8 D_80044124[0x50] = {0}; -//D:80044174 -u8 D_80044174[0x50] = {0}; -//D:800441C4 -u8 D_800441C4[0x50] = {0}; -//D:80044214 -u8 D_80044214[0x50] = {0}; -//D:80044264 -u8 D_80044264[0x50] = {0}; -//D:800442B4 -u32 D_800442B4[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -//D:800442F4 -s32 MaxNumRooms = 0x96 ; -//D:800442F8 -s32 D_800442F8 = 0; -//D:800442FC -s32 D_800442FC[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; -//D:800443C4 -s32 D_800443C4[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -//D:8004448C -struct levelentry levelinfotable[] = { - {LEVELID_BUNKER1, "bg/bg_sev_all_p.seg", "Tbg_sev_all_p_stanZ", 0.53931433, 1.0, 23.148148}, - {LEVELID_SILO, "bg/bg_silo_all_p.seg", "Tbg_silo_all_p_stanZ", 0.47256002, 1.0, 29.069}, - {LEVELID_STATUE, "bg/bg_stat_all_p.seg", "Tbg_stat_all_p_stanZ", 0.107202865, 1.0, 0.0801}, - {LEVELID_CONTROL, "bg/bg_arec_all_p.seg", "Tbg_arec_all_p_stanZ", 0.49886572, 1.0, 80.645164}, - {LEVELID_ARCHIVES, "bg/bg_arch_all_p.seg", "Tbg_arch_all_p_stanZ", 0.50678575, 1.0, 54.347824}, - {LEVELID_TRAIN, "bg/bg_tra_all_p.seg", "Tbg_tra_all_p_stanZ", 0.15019713, 1.0, 19.53125}, - {LEVELID_FRIGATE, "bg/bg_dest_all_p.seg", "Tbg_dest_all_p_stanZ", 0.44757429, 1.0, 36.764706}, - {LEVELID_BUNKER2, "bg/bg_sevb_all_p.seg", "Tbg_sevb_all_p_stanZ", 0.53931433, 1.0, 23.148148}, - {LEVELID_AZTEC, "bg/bg_azt_all_p.seg", "Tbg_azt_all_p_stanZ", 0.35300568, 1.0, 52.083332}, - {LEVELID_STREETS, "bg/bg_pete_all_p.seg", "Tbg_pete_all_p_stanZ", 0.34187999, 1.0, 42.372883}, - {LEVELID_DEPOT, "bg/bg_depo_all_p.seg", "Tbg_depo_all_p_stanZ", 0.21847887, 1.0, 17.605633}, - {LEVELID_COMPLEX, "bg/bg_ref_all_p.seg", "Tbg_ref_all_p_stanZ", 0.94285715, 1.0, 37.878788}, - {LEVELID_EGYPT, "bg/bg_cryp_all_p.seg", "Tbg_cryp_all_p_stanZ", 0.25608, 1.0, 23.584906}, - {LEVELID_DAM, "bg/bg_dam_all_p.seg", "Tbg_dam_all_p_stanZ", 0.23363999, 0.2, 100.0}, - {LEVELID_FACILITY, "bg/bg_ark_all_p.seg", "Tbg_ark_all_p_stanZ", 1.20648, 1.0, 64.102562}, - {LEVELID_RUNWAY, "bg/bg_run_all_p.seg", "Tbg_run_all_p_stanZ", 0.089571431, 1.0, 4.5537338}, - {LEVELID_SURFACE, "bg/bg_sevx_all_p.seg", "Tbg_sevx_all_p_stanZ", 0.45445713, 0.2, 22.603975}, - {LEVELID_JUNGLE, "bg/bg_jun_all_p.seg", "Tbg_jun_all_p_stanZ", 0.094662853, 1.0, 6.6844921}, - {LEVELID_TEMPLE, "bg/bg_dish_all_p.seg", "Tbg_dish_all_p_stanZ", 0.47142857, 1.0, 147.05882}, - {LEVELID_CAVERNS, "bg/bg_cave_all_p.seg", "Tbg_cave_all_p_stanZ", 0.26824287, 1.0, 13.44086}, - {LEVELID_CITADEL, "bg/bg_cat_all_p.seg", "Tbg_cat_all_p_stanZ", 0.76852286, 1.0, 38.461536}, - {LEVELID_CRADLE, "bg/bg_crad_all_p.seg", "Tbg_crad_all_p_stanZ", 0.23571429, 1.0, 43.103451}, - {LEVELID_SHO, "bg/bg_sho_all_p.seg", "Tbg_sho_all_p_stanZ", 0.528, 1.0, 21.18644}, - {LEVELID_SURFACE2, "bg/bg_sevx_all_p.seg", "Tbg_sevx_all_p_stanZ", 0.45445713, 0.2, 22.603975}, - {LEVELID_ELD, "bg/bg_eld_all_p.seg", "Tbg_eld_all_p_stanZ", 0.94285715, 1.0, 10.123456}, - {LEVELID_BASEMENT, "bg/bg_ame_all_p.seg", "Tbg_ame_all_p_stanZ", 0.65999997, 1.0, 37.878788}, - {LEVELID_STACK, "bg/bg_ame_all_p.seg", "Tbg_ame_all_p_stanZ", 0.65999997, 1.0, 37.878788}, - {LEVELID_LUE, "bg/bg_lue_all_p.seg", "Tbg_lue_all_p_stanZ", 0.94285715, 1.0, 10.123456}, - {LEVELID_LIBRARY, "bg/bg_ame_all_p.seg", "Tbg_ame_all_p_stanZ", 0.65999997, 1.0, 37.878788}, - {LEVELID_RIT, "bg/bg_rit_all_p.seg", "Tbg_rit_all_p_stanZ", 0.94285715, 1.0, 10.123456}, - {LEVELID_CAVES, "bg/bg_oat_all_p.seg", "Tbg_oat_all_p_stanZ", 0.14142857, 1.0, 10.123456}, - {LEVELID_EAR, "bg/bg_ear_all_p.seg", "Tbg_ear_all_p_stanZ", 0.94285715, 1.0, 10.123456}, - {LEVELID_LEE, "bg/bg_lee_all_p.seg", "Tbg_lee_all_p_stanZ", 0.94285715, 1.0, 10.123456}, - {LEVELID_LIP, "bg/bg_lip_all_p.seg", "Tbg_lip_all_p_stanZ", 0.94285715, 1.0, 10.123456}, - {LEVELID_CUBA, "bg/bg_len_all_p.seg", "Tbg_len_all_p_stanZ", 0.094662853, 1.0, 6.6844921}, - {LEVELID_WAX, "bg/bg_wax_all_p.seg", "Tbg_wax_all_p_stanZ", 0.94285715, 1.0, 10.123456}, - {LEVELID_PAM, "bg/bg_pam_all_p.seg", "Tbg_pam_all_p_stanZ", 0.94285715, 1.0, 10.123456}, - {LEVELID_MAX, "bg/bgx.seg", "TbgxZ", 0.94285715, 1.0, 1.0} -}; - -//D:8004481C -u32 D_8004481C[] = {0x1000100, 0}; -//D:80044824 -u32 D_80044824[] = {0x32C2E32, 0x373E3F4E, 0x56595D72, 0x76797AFF, 0x11003AFF}; -//D:80044838 -s32 current_room_maybe = 1; -//D:8004483C -s32 NumberOfRoomsDrawn = 0; -//back for now to build till rom is compiling and this can be determined -//D:80044840 -u32 GlobalLight[] = {0x96969600, 0x96969600, 0xFFFFFF00, 0xFFFFFF00, 0x4D4D2E00, 0}; -//Lights1 GlobalLight = gdSPDefLights1( -// 150,150,150 /* ambient color grey */ //D:80044840 -// 255,255,255,77,77,46 /* white light from the upper west-south-west (42 up, 244') */ //D:80044848 -//); -// OR -//Lights1 GlobalLight = { 255,255,255, 0xff, /* diffuse */ -// 77,77,46, 0, /* direction */ -// 150,150,150 , 0xff /* ambient */ -//}; //to be honest, while this looks simpler but Im confused at the order... -// Light has Ambient first then directional, its stored in mem this way too, so why is this declaired diffuse then ambient (taken from topgun.c) -//At the end of the day though, whichever is the same as bin should be used, even if the first is as SDK wants (Def Lights) - - -//D:80044858 -s32 D_80044858 = 0; -//D:8004485C -s32 D_8004485C = 1; -//D:80044860 -s32 D_80044860 = 0; -//D:80044864 -s32 D_80044864 = 0; -//D:80044868 -s32 D_80044868 = 0x7FFF; -//D:8004486C -s32 D_8004486C = 0x7FFF; -//D:80044870 -s32 D_80044870 = 0x7FFF; -//D:80044874 -s32 D_80044874 = 0xFFFF8000; -//D:80044878 -s32 D_80044878 = 0xFFFF8000; -//D:8004487C -s32 D_8004487C = 0xFFFF8000; -//D:80044880 -s32 D_80044880 = 0x7FFF; -//D:80044884 -s32 D_80044884 = 0x7FFF; -//D:80044888 -s32 D_80044888 = 0x7FFF; -//D:8004488C -s32 D_8004488C = 0xFFFF8000; -//D:80044890 -s32 D_80044890 = 0xFFFF8000; -//D:80044894 -s32 D_80044894 = 0xFFFF8000; -//D:80044898 -s32 D_80044898 = 0; -//D:8004489C -s32 D_8004489C = 0xF; -//D:800448A0 -s32 D_800448A0 = 0; -//D:800448A4 -s32 D_800448A4 = 0; -//D:800448A8 -s32 D_800448A8[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:800448F8 -s32 D_800448F8 = 0; -//D:800448FC -s32 current_visibility = 0; -//D:80044900 -s32 D_80044900 = 0; - -//D:80044904 -s32 D_80044904 = 0x7F7FFFFF; -//D:80044908 -s32 D_80044908 = 0x7F7FFFFF; -//D:8004490C -s32 D_8004490C = 0x7F7FFFFF; -//D:80044910 -s32 D_80044910 = 0xFF7FFFFF; -//D:80044914 -s32 D_80044914 = 0xFF7FFFFF; -//D:80044918 -s32 D_80044918 = 0xFF7FFFFF; -//D:8004491C -u32 D_8004491C = 0; -//D:80044920 -u32 D_80044920 = 0; -//D:80044924 -u32 D_80044924 = 0; - - -// RenderMode/Combiner Look-Up-Tables -// Looks for value on left, and replaces with correct value on right -// eg 0x0C192078 = C8112078, or had they used macros gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2 ) -// The reason for this LUT is to dynamicly change the rendermode and combiner to FOG / NoFog or any other setting they might have wanted to test during development as it applies during runtime -/*Reminder: - 1cycle combiners repeat both cycles gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) - ( - )* + , ( - )* + - G_CC_MODULATERGBA2 COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0 -*/ -/* -//New Defines to be added to gbi.h -#define ModulateRGB_EnvA TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT //custom combiner for triangle alpha -#define ModulateRGB_EnvA2 COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT //custom combiner for triangle alpha -#define ModulateRGBA_EnvA TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0 //custom combiner for Texture*triangle alpha -#define ModulateRGBA_EnvA2 COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0 //custom combiner for texture*triangle alpha -#define SHADE_EnvA 0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT //custom combiner for triangle alpha -#define TLRGB_ATile1 TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0 -*/ -//D:80044928 -Gfx D_80044928[] = { - 0xFC26A004, 0x1F1093FF, 0xFC232DFF, 0xFFFFFE38, - //gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2), - //gDPSetCombineLERP(TEXEL1, 0, COMBINED_ALPHA, 0, TEXEL1, 0, PRIM_LOD_FRAC, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED), - 0x0,0x0 -}; - -//D:80044940 - Primary -Gfx D_80044940[] = { - 0xB900031D, 0x0C192078, 0xB900031D, 0xC8112078, - 0xB900031D, 0x0C182078, 0xB900031D, 0xC8102078, - 0xB900031D, 0x0C192D58, 0xB900031D, 0xC8112D58, - 0xB900031D, 0x0C184DD8, 0xB900031D, 0xC8104DD8, - 0xB900031D, 0x0C1849D8, 0xB900031D, 0xC81049D8, - 0xB900031D, 0x0C193078, 0xB900031D, 0xC8113078, - 0xB900031D, 0x0C192048, 0xB900031D, 0xC8112048, - 0xB900031D, 0x0C182048, 0xB900031D, 0xC8102048, - - /* - //Add FOG to all rendermodes - //Standard HiQuality Surface to Standard Fogable HiQuality Surface - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), - //Terrain to Fogable Terrain - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_TERR2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_TERR2), - //Standard DECAL to FOG DECAL - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_DECAL2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_DECAL2), - //Transparent DECAL to FOG Transparent DECAL - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_DECAL2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2), - //Transparent Surface to FOG Transparent Surface - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2), - // Billboard Cut-out to FOG Billboard Cut-out - eg, Mario Tree or Depot lamp - // See PGDLists\Transparent Textures.htm for more info - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2), - //Standard Z-Less OPA to Standard FOG Z-Less OPA - gDPSetRenderMode(G_RM_PASS, G_RM_AA_OPA_SURF2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_OPA_SURF2), - //Z-Less OPA Terrain to Z-Less Fog OPA Terrain - gDPSetRenderMode(G_RM_PASS, G_RM_AA_OPA_TERR2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_OPA_TERR2), - */ -0x0, 0x0 -}; - -//D:800449C8 - Secondary -Gfx D_800449C8[] = { - 0xB900031D, 0x0C184DD8, 0xB900031D, 0xC8104DD8, - 0xB900031D, 0x0C1849D8, 0xB900031D, 0xC81049D8, - 0xB900031D, 0x0C193078, 0xB900031D, 0xC8113078, - 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1F1493FF, - 0xFC121824, 0xFF33FFFF, 0xFC121A24, 0xFF37FFFF, - 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC93FD, - 0xFC127E24, 0xFFFFF9FC, 0xFC127E24, 0xFFFFFBFD, - 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1F1493FF, - 0xFC121824, 0xFF33FFFF, 0xFC121A24, 0xFF37FFFF, - 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC93FD, - 0xFC127E24, 0xFFFFF9FC, 0xFC127E24, 0xFFFFFBFD, - 0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7A38, - 0xFCFFFFFF, 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7B3D, - 0xFC26E404, 0x1F10FFFF, 0xFC26E404, 0x1F14FFFF, - /* - //Add FOG to Rendermodes - //Transparent DECAL to FOG Transparent DECAL - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_DECAL2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2), - //Transparent Surface to FOG Transparent Surface - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2), - // Billboard Cut-out to FOG Billboard Cut-out - eg, Mario Tree or Depot lamp - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2), gDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2), - - // Swap all refrences to Shade in Alpha to Environment - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA), - gDPSetCombineMode(G_CC_SHADE, G_CC_PASS2) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_PASS2), - gDPSetCombineMode(G_CC_SHADE, G_CC_SHADE) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_SHADE_EnvA), - // This one is an oddball... its extra here AND is weird using Tile1 only for Alpha - gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGBA) , gDPSetCombineMode(TLRGB_ATile1, ModulateRGB_EnvA2), - */ - 0x0, 0x0 -}; - -//D:80044AB0 -// Loaded once on first time entering level, only once ever -u64 D_80044AB0[] = { - 0xFC26A0041F1093FF, 0xFC26A0041F1493FF, - 0xFC121824FF33FFFF, 0xFC121A24FF37FFFF, - 0xFC26A0041FFC93FC, 0xFC26A0041FFC93FD, - 0xFC127E24FFFFF9FC, 0xFC127E24FFFFFBFD, - 0xFC26A0041F1093FF, 0xFC26A0041F1493FF, - 0xFC121824FF33FFFF, 0xFC121A24FF37FFFF, - 0xFC26A0041FFC93FC, 0xFC26A0041FFC93FD, - 0xFC127E24FFFFF9FC, 0xFC127E24FFFFFBFD, - 0xFCFFFFFFFFFE7838, 0xFCFFFFFFFFFE7A38, - 0xFCFFFFFFFFFE793C, 0xFCFFFFFFFFFE7B3D, - /* - // Swap all refrences to Shade in Alpha to Environment - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA), - gDPSetCombineMode(G_CC_SHADE, G_CC_PASS2) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_PASS2), - gDPSetCombineMode(G_CC_SHADE, G_CC_SHADE) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_SHADE_EnvA), - */ - 0x0 -}; - -//D:80044B58 -// Loaded once on first time entering level, only once ever -u64 D_80044B58[] = { - 0xFC26A0041F1093FF, 0xFC26A0041F1493FF, - 0xFC121824FF33FFFF, 0xFC121A24FF37FFFF, - 0xFC26A0041FFC93FC, 0xFC26A0041FFC93FD, - 0xFC127E24FFFFF9FC, 0xFC127E24FFFFFBFD, - 0xFC26A0041F1093FF, 0xFC26A0041F1493FF, - 0xFC121824FF33FFFF, 0xFC121A24FF37FFFF, - 0xFC26A0041FFC93FC, 0xFC26A0041FFC93FD, - 0xFC127E24FFFFF9FC, 0xFC127E24FFFFFBFD, - 0xFCFFFFFFFFFE7838, 0xFCFFFFFFFFFE7A38, - 0xFCFFFFFFFFFE793C, 0xFCFFFFFFFFFE7B3D, - /* - // Swap all refrences to Shade in Alpha to Environment - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB2) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineMode(G_CC_TRILERP, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB2) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_SHADE, G_CC_PASS2) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_PASS2), - gDPSetCombineMode(G_CC_SHADE, G_CC_SHADE2) , gDPSetCombineMode(G_CC_SHADE_EnvA, G_CC_SHADE_EnvA2), - */ - 0x0 -}; - -//D:80044C00 -u64 D_80044C00[] = { - 0xB900031D005049D8, 0xB900031D00553078, - 0xB900031D0C1849D8, 0xB900031D0C193078, - /* - //Transparent 1Cycle to BillBoard 1Cycle - gDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2), - //Transparent Surface to Billboard - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2), - */ - 0x0 -}; - -//D:80044C28 -//water -u64 D_80044C28[] = { - 0xB900031D00552078, 0xB900031D00502078, - 0xB900031D0C192078, 0xB900031D0C182078, - /* - //1 Cycle Opa to Particle - gDPSetRenderMode(RM_AA_ZB_OPA_SURF, RM_AA_ZB_OPA_SURF2), gDPSetRenderMode(G_RM_AA_ZB_PCL_SURF, G_RM_AA_ZB_PCL_SURF2), - //2 cycle Opa to Particle - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2), gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_PCL_SURF2), - */ - 0x0 -}; - -//D:80044C50 -u64 D_80044C50[] = { - 0xB900031D0C1849D8, 0xB900031D0C184B50, - /* - //Transparent to Cloud (Saves AA - Stops Jaggies from appearing behind BillBoard) - gDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), gDPSetRenderMode(G_RM_PASS, G_RM_ZB_CLD_SURF2), - */ - 0x0 -}; - -//D:80044C68 -//(Wallet Bond - Main Menu) -u64 D_80044C68[] = { - 0xBA00140200000000, 0xBA00140200100000, //1Cycle --> 2Cycle - 0xB900031D00502048, 0xB900031D08D02048, - 0xFC127E24FFFFF9FC, 0xFC127FFFFFFFF838, - /* - //1 Cycle particle Surface to 2 Cycle colour + 1-a*Fog ??? - gsDPSetCycleType(G_CYC_2CYCLE), - gDPSetRenderMode(G_RM_AA_PCL_SURF, G_RM_AA_PCL_SURF2), gDPSetRenderMode(AA_EN | IM_RD | CVG_DST_CLAMP | ALPHA_CVG_SEL | ZMODE_OPA | GBL_c1(G_BL_CLR_IN, G_BL_A_SHADE, G_BL_CLR_FOG, G_BL_1MA) | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_PASS2), gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2), - */ - 0x0 -}; - -//D:80044CA0 -u64 D_80044CA0[] = { - 0xFC127E24FFFFF9FC, 0xFC137E26FFFFFBFD, - 0xFC121824FF33FFFF, 0xFC131A26FF37FFFF, - 0xFC127E24FFFFF9FC, 0xFC137E26FFFFFBFD, - 0xFC121824FF33FFFF, 0xFC131A26FF37FFFF, - 0xFCFFFFFFFFFE793C, 0xFC637EC6FFFFFBFD, - 0xFC26A0041FFC93FC, 0xFC26A0061FFC93FD, - 0xFC26A0041F1093FF, 0xFC26A0061F1493FF, - 0xFC26A0041FFC93FC, 0xFC26A0061FFC93FD, - 0xFC26A0041F1093FF, 0xFC26A0061F1493FF, - 0xFC26E4041FFCFFFC, 0xFC26E4061FFCFFFD, - 0xFC26E4041F10FFFF, 0xFC26E4061F14FFFF, - 0xFC26E4041FFCFFFC, 0xFC26E4061FFCFFFD, - 0xFC26E4041F10FFFF, 0xFC26E4061F14FFFF, - 0xFCFFFFFFFFFE7838, 0xFC637FFFFFFFFA38, - /* - gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB2) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB2) , gDPSetCombineMode(ModulateRGB_EnvA, ModulateRGB_EnvA2), - gDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA2) , gDPSetCombineMode(ModulateRGBA_EnvA, ModulateRGBA_EnvA2), - gDPSetCombineMode(G_CC_SHADE, G_CC_SHADE2), gDPSetCombineLERP(CENTER, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT, CENTER, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, COMBINED_ALPHA, 0, COMBINED, 0, ENVIRONMENT, 0), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGB2) , gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT), - gDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATERGBA2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, COMBINED_ALPHA, 0, COMBINED, 0, ENVIRONMENT, 0), - gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGB2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT), - gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGBA2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, COMBINED_ALPHA, 0, COMBINED, 0, ENVIRONMENT, 0), - gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGB2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT), - gDPSetCombineMode(TLRGB_ATile1, G_CC_MODULATERGBA2), gDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, COMBINED_ALPHA, 0, COMBINED, 0, ENVIRONMENT, 0), - gDPSetCombineMode(G_CC_SHADE, G_CC_PASS2), gDPSetCombineLERP(CENTER, 0, COMBINED_ALPHA, 0, 0, 0, 0, ENVIRONMENT 0, 0, 0, COMBINED, 0, 0, 0, COMBINED), - */ - 0x0 -}; - -//D:80044D88 -s32 *ptrDynamic_CC_RM_LUT[] = { - &D_80044928, &D_80044940, &D_80044C00, &D_80044C28, &D_80044C50, - &D_800449C8, &D_80044AB0, &D_80044B58, &D_80044C68, &D_80044CA0 -}; -//D:80044DB0 -s32 D_80044DB0 = 0; - - -// rodata - - - - -void something_with_bg_c_debug(void) { - get_ptr_debug_notice_list_entry(&ptr_bg_c_debug_debug_notice_list, "bg_c_debug"); -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B37EC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B37EC -/* 0E831C 7F0B37EC 3C028004 */ lui $v0, %hi(D_80044824) -/* 0E8320 7F0B37F0 3C038004 */ lui $v1, %hi(current_room_maybe) -/* 0E8324 7F0B37F4 3C088008 */ lui $t0, %hi(ptr_bgdata_portals) -/* 0E8328 7F0B37F8 3C078004 */ lui $a3, %hi(D_80041400) -/* 0E832C 7F0B37FC 24424824 */ addiu $v0, %lo(D_80044824) # addiu $v0, $v0, 0x4824 -/* 0E8330 7F0B3800 24634838 */ addiu $v1, %lo(current_room_maybe) # addiu $v1, $v1, 0x4838 -/* 0E8334 7F0B3804 24E71400 */ addiu $a3, %lo(D_80041400) # addiu $a3, $a3, 0x1400 -/* 0E8338 7F0B3808 2508FF80 */ addiu $t0, %lo(ptr_bgdata_portals) # addiu $t0, $t0, -0x80 -/* 0E833C 7F0B380C 240900FF */ li $t1, 255 -/* 0E8340 7F0B3810 8CEE0000 */ lw $t6, ($a3) -.L7F0B3814: -/* 0E8344 7F0B3814 904F0000 */ lbu $t7, ($v0) -/* 0E8348 7F0B3818 24420001 */ addiu $v0, $v0, 1 -/* 0E834C 7F0B381C 55CF001C */ bnel $t6, $t7, .L7F0B3890 -/* 0E8350 7F0B3820 904F0002 */ lbu $t7, 2($v0) -/* 0E8354 7F0B3824 90440000 */ lbu $a0, ($v0) -/* 0E8358 7F0B3828 90580001 */ lbu $t8, 1($v0) -.L7F0B382C: -/* 0E835C 7F0B382C 308500FF */ andi $a1, $a0, 0xff -/* 0E8360 7F0B3830 00A03025 */ move $a2, $a1 -/* 0E8364 7F0B3834 0305082A */ slt $at, $t8, $a1 -/* 0E8368 7F0B3838 5420000F */ bnezl $at, .L7F0B3878 -/* 0E836C 7F0B383C 90440002 */ lbu $a0, 2($v0) -/* 0E8370 7F0B3840 8D190000 */ lw $t9, ($t0) -.L7F0B3844: -/* 0E8374 7F0B3844 000650C0 */ sll $t2, $a2, 3 -/* 0E8378 7F0B3848 24A50001 */ addiu $a1, $a1, 1 -/* 0E837C 7F0B384C 032A2021 */ addu $a0, $t9, $t2 -/* 0E8380 7F0B3850 908B0006 */ lbu $t3, 6($a0) -/* 0E8384 7F0B3854 30A600FF */ andi $a2, $a1, 0xff -/* 0E8388 7F0B3858 00C02825 */ move $a1, $a2 -/* 0E838C 7F0B385C 356C0002 */ ori $t4, $t3, 2 -/* 0E8390 7F0B3860 A08C0006 */ sb $t4, 6($a0) -/* 0E8394 7F0B3864 904E0001 */ lbu $t6, 1($v0) -/* 0E8398 7F0B3868 01C6082A */ slt $at, $t6, $a2 -/* 0E839C 7F0B386C 5020FFF5 */ beql $at, $zero, .L7F0B3844 -/* 0E83A0 7F0B3870 8D190000 */ lw $t9, ($t0) -/* 0E83A4 7F0B3874 90440002 */ lbu $a0, 2($v0) -.L7F0B3878: -/* 0E83A8 7F0B3878 24420002 */ addiu $v0, $v0, 2 -/* 0E83AC 7F0B387C 5524FFEB */ bnel $t1, $a0, .L7F0B382C -/* 0E83B0 7F0B3880 90580001 */ lbu $t8, 1($v0) -/* 0E83B4 7F0B3884 10000006 */ b .L7F0B38A0 -/* 0E83B8 7F0B3888 24420001 */ addiu $v0, $v0, 1 -/* 0E83BC 7F0B388C 904F0002 */ lbu $t7, 2($v0) -.L7F0B3890: -/* 0E83C0 7F0B3890 24420002 */ addiu $v0, $v0, 2 -/* 0E83C4 7F0B3894 552FFFFE */ bnel $t1, $t7, .L7F0B3890 -/* 0E83C8 7F0B3898 904F0002 */ lbu $t7, 2($v0) -/* 0E83CC 7F0B389C 24420001 */ addiu $v0, $v0, 1 -.L7F0B38A0: -/* 0E83D0 7F0B38A0 0043082B */ sltu $at, $v0, $v1 -/* 0E83D4 7F0B38A4 5420FFDB */ bnezl $at, .L7F0B3814 -/* 0E83D8 7F0B38A8 8CEE0000 */ lw $t6, ($a3) -/* 0E83DC 7F0B38AC 03E00008 */ jr $ra -/* 0E83E0 7F0B38B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B38B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B38B4 -/* 0E83E4 7F0B38B4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E83E8 7F0B38B8 AFB00014 */ sw $s0, 0x14($sp) -/* 0E83EC 7F0B38BC AFBF001C */ sw $ra, 0x1c($sp) -/* 0E83F0 7F0B38C0 AFB10018 */ sw $s1, 0x18($sp) -/* 0E83F4 7F0B38C4 00A08025 */ move $s0, $a1 -/* 0E83F8 7F0B38C8 90A20000 */ lbu $v0, ($a1) -/* 0E83FC 7F0B38CC 308300FF */ andi $v1, $a0, 0xff -/* 0E8400 7F0B38D0 02002025 */ move $a0, $s0 -.L7F0B38D4: -/* 0E8404 7F0B38D4 1062000B */ beq $v1, $v0, .L7F0B3904 -/* 0E8408 7F0B38D8 00000000 */ nop -/* 0E840C 7F0B38DC 92020001 */ lbu $v0, 1($s0) -/* 0E8410 7F0B38E0 26100001 */ addiu $s0, $s0, 1 -/* 0E8414 7F0B38E4 1440FFFB */ bnez $v0, .L7F0B38D4 -/* 0E8418 7F0B38E8 00000000 */ nop -/* 0E841C 7F0B38EC 920E0001 */ lbu $t6, 1($s0) -.L7F0B38F0: -/* 0E8420 7F0B38F0 26100001 */ addiu $s0, $s0, 1 -/* 0E8424 7F0B38F4 55C0FFFE */ bnezl $t6, .L7F0B38F0 -/* 0E8428 7F0B38F8 920E0001 */ lbu $t6, 1($s0) -/* 0E842C 7F0B38FC 10000027 */ b .L7F0B399C -/* 0E8430 7F0B3900 26100001 */ addiu $s0, $s0, 1 -.L7F0B3904: -/* 0E8434 7F0B3904 3C118008 */ lui $s1, %hi(pPlayer) -/* 0E8438 7F0B3908 00808025 */ move $s0, $a0 -/* 0E843C 7F0B390C 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 0E8440 7F0B3910 90820000 */ lbu $v0, ($a0) -/* 0E8444 7F0B3914 8E250000 */ lw $a1, ($s1) -.L7F0B3918: -/* 0E8448 7F0B3918 00402025 */ move $a0, $v0 -/* 0E844C 7F0B391C 0FC2D482 */ jal sub_GAME_7F0B5208 -/* 0E8450 7F0B3920 24A51118 */ addiu $a1, $a1, 0x1118 -/* 0E8454 7F0B3924 10400006 */ beqz $v0, .L7F0B3940 -/* 0E8458 7F0B3928 00002825 */ move $a1, $zero -/* 0E845C 7F0B392C 8E260000 */ lw $a2, ($s1) -/* 0E8460 7F0B3930 92040000 */ lbu $a0, ($s0) -/* 0E8464 7F0B3934 24070001 */ li $a3, 1 -/* 0E8468 7F0B3938 0FC2CE6F */ jal sub_GAME_7F0B39BC -/* 0E846C 7F0B393C 24C61118 */ addiu $a2, $a2, 0x1118 -.L7F0B3940: -/* 0E8470 7F0B3940 92020001 */ lbu $v0, 1($s0) -/* 0E8474 7F0B3944 26100001 */ addiu $s0, $s0, 1 -/* 0E8478 7F0B3948 5440FFF3 */ bnezl $v0, .L7F0B3918 -/* 0E847C 7F0B394C 8E250000 */ lw $a1, ($s1) -/* 0E8480 7F0B3950 26100001 */ addiu $s0, $s0, 1 -/* 0E8484 7F0B3954 92020000 */ lbu $v0, ($s0) -/* 0E8488 7F0B3958 8E250000 */ lw $a1, ($s1) -.L7F0B395C: -/* 0E848C 7F0B395C 00402025 */ move $a0, $v0 -/* 0E8490 7F0B3960 0FC2D482 */ jal sub_GAME_7F0B5208 -/* 0E8494 7F0B3964 24A51118 */ addiu $a1, $a1, 0x1118 -/* 0E8498 7F0B3968 10400006 */ beqz $v0, .L7F0B3984 -/* 0E849C 7F0B396C 00002825 */ move $a1, $zero -/* 0E84A0 7F0B3970 8E260000 */ lw $a2, ($s1) -/* 0E84A4 7F0B3974 92040000 */ lbu $a0, ($s0) -/* 0E84A8 7F0B3978 24070001 */ li $a3, 1 -/* 0E84AC 7F0B397C 0FC2CE6F */ jal sub_GAME_7F0B39BC -/* 0E84B0 7F0B3980 24C61118 */ addiu $a2, $a2, 0x1118 -.L7F0B3984: -/* 0E84B4 7F0B3984 92020001 */ lbu $v0, 1($s0) -/* 0E84B8 7F0B3988 26100001 */ addiu $s0, $s0, 1 -/* 0E84BC 7F0B398C 5440FFF3 */ bnezl $v0, .L7F0B395C -/* 0E84C0 7F0B3990 8E250000 */ lw $a1, ($s1) -/* 0E84C4 7F0B3994 10000005 */ b .L7F0B39AC -/* 0E84C8 7F0B3998 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0B399C: -/* 0E84CC 7F0B399C 92020000 */ lbu $v0, ($s0) -/* 0E84D0 7F0B39A0 5440FFCC */ bnezl $v0, .L7F0B38D4 -/* 0E84D4 7F0B39A4 02002025 */ move $a0, $s0 -/* 0E84D8 7F0B39A8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0B39AC: -/* 0E84DC 7F0B39AC 8FB00014 */ lw $s0, 0x14($sp) -/* 0E84E0 7F0B39B0 8FB10018 */ lw $s1, 0x18($sp) -/* 0E84E4 7F0B39B4 03E00008 */ jr $ra -/* 0E84E8 7F0B39B8 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B39BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B39BC -/* 0E84EC 7F0B39BC 00047080 */ sll $t6, $a0, 2 -/* 0E84F0 7F0B39C0 01C47021 */ addu $t6, $t6, $a0 -/* 0E84F4 7F0B39C4 3C0F8004 */ lui $t7, %hi(D_80041414) -/* 0E84F8 7F0B39C8 25EF1414 */ addiu $t7, %lo(D_80041414) # addiu $t7, $t7, 0x1414 -/* 0E84FC 7F0B39CC 000E7100 */ sll $t6, $t6, 4 -/* 0E8500 7F0B39D0 01CF1021 */ addu $v0, $t6, $t7 -/* 0E8504 7F0B39D4 90590034 */ lbu $t9, 0x34($v0) -/* 0E8508 7F0B39D8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0E850C 7F0B39DC AFB00018 */ sw $s0, 0x18($sp) -/* 0E8510 7F0B39E0 24180001 */ li $t8, 1 -/* 0E8514 7F0B39E4 00808025 */ move $s0, $a0 -/* 0E8518 7F0B39E8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0E851C 7F0B39EC AFA7003C */ sw $a3, 0x3c($sp) -/* 0E8520 7F0B39F0 13200003 */ beqz $t9, .L7F0B3A00 -/* 0E8524 7F0B39F4 A0580000 */ sb $t8, ($v0) -/* 0E8528 7F0B39F8 1000003D */ b .L7F0B3AF0 -/* 0E852C 7F0B39FC 00001025 */ move $v0, $zero -.L7F0B3A00: -/* 0E8530 7F0B3A00 3C078004 */ lui $a3, %hi(NumberOfRoomsDrawn) -/* 0E8534 7F0B3A04 24E7483C */ addiu $a3, %lo(NumberOfRoomsDrawn) # addiu $a3, $a3, 0x483c -/* 0E8538 7F0B3A08 8CE40000 */ lw $a0, ($a3) -/* 0E853C 7F0B3A0C 00001025 */ move $v0, $zero -/* 0E8540 7F0B3A10 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_8007FFA0) -/* 0E8544 7F0B3A14 18800023 */ blez $a0, .L7F0B3AA4 -/* 0E8548 7F0B3A18 000460C0 */ sll $t4, $a0, 3 -/* 0E854C 7F0B3A1C 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007FFA0) -/* 0E8550 7F0B3A20 2463FFA0 */ addiu $v1, %lo(dword_CODE_bss_8007FFA0) # addiu $v1, $v1, -0x60 -.L7F0B3A24: -/* 0E8554 7F0B3A24 8C680000 */ lw $t0, ($v1) -/* 0E8558 7F0B3A28 24420001 */ addiu $v0, $v0, 1 -/* 0E855C 7F0B3A2C 0044082A */ slt $at, $v0, $a0 -/* 0E8560 7F0B3A30 1608001A */ bne $s0, $t0, .L7F0B3A9C -/* 0E8564 7F0B3A34 00000000 */ nop -/* 0E8568 7F0B3A38 8C690004 */ lw $t1, 4($v1) -/* 0E856C 7F0B3A3C 00C02025 */ move $a0, $a2 -/* 0E8570 7F0B3A40 0125082A */ slt $at, $t1, $a1 -/* 0E8574 7F0B3A44 50200003 */ beql $at, $zero, .L7F0B3A54 -/* 0E8578 7F0B3A48 24650008 */ addiu $a1, $v1, 8 -/* 0E857C 7F0B3A4C AC650004 */ sw $a1, 4($v1) -/* 0E8580 7F0B3A50 24650008 */ addiu $a1, $v1, 8 -.L7F0B3A54: -/* 0E8584 7F0B3A54 AFA30020 */ sw $v1, 0x20($sp) -/* 0E8588 7F0B3A58 0FC2D730 */ jal sub_GAME_7F0B5CC0 -/* 0E858C 7F0B3A5C AFA60038 */ sw $a2, 0x38($sp) -/* 0E8590 7F0B3A60 8FA60038 */ lw $a2, 0x38($sp) -/* 0E8594 7F0B3A64 8FA30020 */ lw $v1, 0x20($sp) -/* 0E8598 7F0B3A68 8FAA003C */ lw $t2, 0x3c($sp) -/* 0E859C 7F0B3A6C C4C40000 */ lwc1 $f4, ($a2) -/* 0E85A0 7F0B3A70 8C620018 */ lw $v0, 0x18($v1) -/* 0E85A4 7F0B3A74 E4640008 */ swc1 $f4, 8($v1) -/* 0E85A8 7F0B3A78 C4C60004 */ lwc1 $f6, 4($a2) -/* 0E85AC 7F0B3A7C 004A5825 */ or $t3, $v0, $t2 -/* 0E85B0 7F0B3A80 E466000C */ swc1 $f6, 0xc($v1) -/* 0E85B4 7F0B3A84 C4C80008 */ lwc1 $f8, 8($a2) -/* 0E85B8 7F0B3A88 E4680010 */ swc1 $f8, 0x10($v1) -/* 0E85BC 7F0B3A8C C4CA000C */ lwc1 $f10, 0xc($a2) -/* 0E85C0 7F0B3A90 AC6B0018 */ sw $t3, 0x18($v1) -/* 0E85C4 7F0B3A94 10000016 */ b .L7F0B3AF0 -/* 0E85C8 7F0B3A98 E46A0014 */ swc1 $f10, 0x14($v1) -.L7F0B3A9C: -/* 0E85CC 7F0B3A9C 1420FFE1 */ bnez $at, .L7F0B3A24 -/* 0E85D0 7F0B3AA0 2463001C */ addiu $v1, $v1, 0x1c -.L7F0B3AA4: -/* 0E85D4 7F0B3AA4 01846023 */ subu $t4, $t4, $a0 -/* 0E85D8 7F0B3AA8 000C6080 */ sll $t4, $t4, 2 -/* 0E85DC 7F0B3AAC 25ADFFA0 */ addiu $t5, %lo(dword_CODE_bss_8007FFA0) # addiu $t5, $t5, -0x60 -/* 0E85E0 7F0B3AB0 018D1821 */ addu $v1, $t4, $t5 -/* 0E85E4 7F0B3AB4 AC700000 */ sw $s0, ($v1) -/* 0E85E8 7F0B3AB8 AC650004 */ sw $a1, 4($v1) -/* 0E85EC 7F0B3ABC C4D00000 */ lwc1 $f16, ($a2) -/* 0E85F0 7F0B3AC0 8FAE003C */ lw $t6, 0x3c($sp) -/* 0E85F4 7F0B3AC4 248F0001 */ addiu $t7, $a0, 1 -/* 0E85F8 7F0B3AC8 E4700008 */ swc1 $f16, 8($v1) -/* 0E85FC 7F0B3ACC C4D20004 */ lwc1 $f18, 4($a2) -/* 0E8600 7F0B3AD0 00001025 */ move $v0, $zero -/* 0E8604 7F0B3AD4 E472000C */ swc1 $f18, 0xc($v1) -/* 0E8608 7F0B3AD8 C4C40008 */ lwc1 $f4, 8($a2) -/* 0E860C 7F0B3ADC E4640010 */ swc1 $f4, 0x10($v1) -/* 0E8610 7F0B3AE0 C4C6000C */ lwc1 $f6, 0xc($a2) -/* 0E8614 7F0B3AE4 ACEF0000 */ sw $t7, ($a3) -/* 0E8618 7F0B3AE8 AC6E0018 */ sw $t6, 0x18($v1) -/* 0E861C 7F0B3AEC E4660014 */ swc1 $f6, 0x14($v1) -.L7F0B3AF0: -/* 0E8620 7F0B3AF0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E8624 7F0B3AF4 8FB00018 */ lw $s0, 0x18($sp) -/* 0E8628 7F0B3AF8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0E862C 7F0B3AFC 03E00008 */ jr $ra -/* 0E8630 7F0B3B00 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B3B04(s32 arg0) { - // Node 0 - *((D_80041414 + 3) + (arg0 * 0x50)) = (u8)0; - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3B04 -/* 0E8634 7F0B3B04 00047080 */ sll $t6, $a0, 2 -/* 0E8638 7F0B3B08 01C47021 */ addu $t6, $t6, $a0 -/* 0E863C 7F0B3B0C 000E7100 */ sll $t6, $t6, 4 -/* 0E8640 7F0B3B10 3C018004 */ lui $at, %hi(D_80041414+0x3) -/* 0E8644 7F0B3B14 002E0821 */ addu $at, $at, $t6 -/* 0E8648 7F0B3B18 03E00008 */ jr $ra -/* 0E864C 7F0B3B1C A0201417 */ sb $zero, %lo(D_80041414+0x3)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B3B20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3B20 -/* 0E8650 7F0B3B20 3C0E8004 */ lui $t6, %hi(D_80041414+0x3) -/* 0E8654 7F0B3B24 91CE1417 */ lbu $t6, %lo(D_80041414+0x3)($t6) -/* 0E8658 7F0B3B28 3C0F8004 */ lui $t7, %hi(room_information+0x43) -/* 0E865C 7F0B3B2C 11C00003 */ beqz $t6, .L7F0B3B3C -/* 0E8660 7F0B3B30 00000000 */ nop -/* 0E8664 7F0B3B34 03E00008 */ jr $ra -/* 0E8668 7F0B3B38 00001025 */ move $v0, $zero - -.L7F0B3B3C: -/* 0E866C 7F0B3B3C 91EF1467 */ lbu $t7, %lo(room_information+0x43)($t7) -/* 0E8670 7F0B3B40 3C028004 */ lui $v0, %hi(D_80041474+0x40) -/* 0E8674 7F0B3B44 244214B4 */ addiu $v0, %lo(D_80041474+0x40) # addiu $v0, $v0, 0x14b4 -/* 0E8678 7F0B3B48 11E00003 */ beqz $t7, .L7F0B3B58 -/* 0E867C 7F0B3B4C 24030002 */ li $v1, 2 -/* 0E8680 7F0B3B50 03E00008 */ jr $ra -/* 0E8684 7F0B3B54 24020001 */ li $v0, 1 - -.L7F0B3B58: -/* 0E8688 7F0B3B58 24040096 */ li $a0, 150 -.L7F0B3B5C: -/* 0E868C 7F0B3B5C 90580003 */ lbu $t8, 3($v0) -/* 0E8690 7F0B3B60 53000004 */ beql $t8, $zero, .L7F0B3B74 -/* 0E8694 7F0B3B64 90590053 */ lbu $t9, 0x53($v0) -/* 0E8698 7F0B3B68 03E00008 */ jr $ra -/* 0E869C 7F0B3B6C 00601025 */ move $v0, $v1 - -/* 0E86A0 7F0B3B70 90590053 */ lbu $t9, 0x53($v0) -.L7F0B3B74: -/* 0E86A4 7F0B3B74 53200004 */ beql $t9, $zero, .L7F0B3B88 -/* 0E86A8 7F0B3B78 904800A3 */ lbu $t0, 0xa3($v0) -/* 0E86AC 7F0B3B7C 03E00008 */ jr $ra -/* 0E86B0 7F0B3B80 24620001 */ addiu $v0, $v1, 1 - -/* 0E86B4 7F0B3B84 904800A3 */ lbu $t0, 0xa3($v0) -.L7F0B3B88: -/* 0E86B8 7F0B3B88 51000004 */ beql $t0, $zero, .L7F0B3B9C -/* 0E86BC 7F0B3B8C 904900F3 */ lbu $t1, 0xf3($v0) -/* 0E86C0 7F0B3B90 03E00008 */ jr $ra -/* 0E86C4 7F0B3B94 24620002 */ addiu $v0, $v1, 2 - -/* 0E86C8 7F0B3B98 904900F3 */ lbu $t1, 0xf3($v0) -.L7F0B3B9C: -/* 0E86CC 7F0B3B9C 51200004 */ beql $t1, $zero, .L7F0B3BB0 -/* 0E86D0 7F0B3BA0 24630004 */ addiu $v1, $v1, 4 -/* 0E86D4 7F0B3BA4 03E00008 */ jr $ra -/* 0E86D8 7F0B3BA8 24620003 */ addiu $v0, $v1, 3 - -/* 0E86DC 7F0B3BAC 24630004 */ addiu $v1, $v1, 4 -.L7F0B3BB0: -/* 0E86E0 7F0B3BB0 1464FFEA */ bne $v1, $a0, .L7F0B3B5C -/* 0E86E4 7F0B3BB4 24420140 */ addiu $v0, $v0, 0x140 -/* 0E86E8 7F0B3BB8 2402FFFF */ li $v0, -1 -/* 0E86EC 7F0B3BBC 03E00008 */ jr $ra -/* 0E86F0 7F0B3BC0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0B3BC4(void) { - void *temp_v1; - void *phi_v1; - - // Node 0 - NumberOfRoomsDrawn = 0; - D_80041414+0x3 = (u8)0; - room_information+0x43 = (u8)0; - phi_v1 = &D_80041474+0x40; -loop_1: - // Node 1 - temp_v1 = (phi_v1 + 0x140); - temp_v1->unk-13D = (u8)0; - temp_v1->unk-ED = (u8)0; - temp_v1->unk-9D = (u8)0; - temp_v1->unk-4D = (u8)0; - phi_v1 = temp_v1; - if (temp_v1 != &MaxNumRooms) - { - goto loop_1; - } - // Node 2 - return &MaxNumRooms; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3BC4 -/* 0E86F4 7F0B3BC4 3C018004 */ lui $at, %hi(NumberOfRoomsDrawn) -/* 0E86F8 7F0B3BC8 AC20483C */ sw $zero, %lo(NumberOfRoomsDrawn)($at) -/* 0E86FC 7F0B3BCC 3C018004 */ lui $at, %hi(D_80041414+0x3) -/* 0E8700 7F0B3BD0 A0201417 */ sb $zero, %lo(D_80041414+0x3)($at) -/* 0E8704 7F0B3BD4 3C018004 */ lui $at, %hi(room_information+0x43) -/* 0E8708 7F0B3BD8 3C038004 */ lui $v1, %hi(D_80041474+0x40) -/* 0E870C 7F0B3BDC 3C028004 */ lui $v0, %hi(MaxNumRooms) -/* 0E8710 7F0B3BE0 244242F4 */ addiu $v0, %lo(MaxNumRooms) # addiu $v0, $v0, 0x42f4 -/* 0E8714 7F0B3BE4 246314B4 */ addiu $v1, %lo(D_80041474+0x40) # addiu $v1, $v1, 0x14b4 -/* 0E8718 7F0B3BE8 A0201467 */ sb $zero, %lo(room_information+0x43)($at) -.L7F0B3BEC: -/* 0E871C 7F0B3BEC 24630140 */ addiu $v1, $v1, 0x140 -/* 0E8720 7F0B3BF0 A060FEC3 */ sb $zero, -0x13d($v1) -/* 0E8724 7F0B3BF4 A060FF13 */ sb $zero, -0xed($v1) -/* 0E8728 7F0B3BF8 A060FF63 */ sb $zero, -0x9d($v1) -/* 0E872C 7F0B3BFC 1462FFFB */ bne $v1, $v0, .L7F0B3BEC -/* 0E8730 7F0B3C00 A060FFB3 */ sb $zero, -0x4d($v1) -/* 0E8734 7F0B3C04 03E00008 */ jr $ra -/* 0E8738 7F0B3C08 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B3C0C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3C0C -/* 0E873C 7F0B3C0C 3C038004 */ lui $v1, %hi(NumberOfRoomsDrawn) -/* 0E8740 7F0B3C10 8C63483C */ lw $v1, %lo(NumberOfRoomsDrawn)($v1) -/* 0E8744 7F0B3C14 00A03025 */ move $a2, $a1 -/* 0E8748 7F0B3C18 3C058008 */ lui $a1, %hi(dword_CODE_bss_8007FFA0) -/* 0E874C 7F0B3C1C 18600013 */ blez $v1, .L7F0B3C6C -/* 0E8750 7F0B3C20 00001025 */ move $v0, $zero -/* 0E8754 7F0B3C24 24A5FFA0 */ addiu $a1, %lo(dword_CODE_bss_8007FFA0) # addiu $a1, $a1, -0x60 -.L7F0B3C28: -/* 0E8758 7F0B3C28 8CAE0000 */ lw $t6, ($a1) -/* 0E875C 7F0B3C2C 24420001 */ addiu $v0, $v0, 1 -/* 0E8760 7F0B3C30 0043082A */ slt $at, $v0, $v1 -/* 0E8764 7F0B3C34 148E000B */ bne $a0, $t6, .L7F0B3C64 -/* 0E8768 7F0B3C38 00000000 */ nop -/* 0E876C 7F0B3C3C C4A40008 */ lwc1 $f4, 8($a1) -/* 0E8770 7F0B3C40 24020001 */ li $v0, 1 -/* 0E8774 7F0B3C44 E4C40000 */ swc1 $f4, ($a2) -/* 0E8778 7F0B3C48 C4A6000C */ lwc1 $f6, 0xc($a1) -/* 0E877C 7F0B3C4C E4C60004 */ swc1 $f6, 4($a2) -/* 0E8780 7F0B3C50 C4A80010 */ lwc1 $f8, 0x10($a1) -/* 0E8784 7F0B3C54 E4C80008 */ swc1 $f8, 8($a2) -/* 0E8788 7F0B3C58 C4AA0014 */ lwc1 $f10, 0x14($a1) -/* 0E878C 7F0B3C5C 03E00008 */ jr $ra -/* 0E8790 7F0B3C60 E4CA000C */ swc1 $f10, 0xc($a2) - -.L7F0B3C64: -/* 0E8794 7F0B3C64 1420FFF0 */ bnez $at, .L7F0B3C28 -/* 0E8798 7F0B3C68 24A5001C */ addiu $a1, $a1, 0x1c -.L7F0B3C6C: -/* 0E879C 7F0B3C6C 44800000 */ mtc1 $zero, $f0 -/* 0E87A0 7F0B3C70 00001025 */ move $v0, $zero -/* 0E87A4 7F0B3C74 E4C00000 */ swc1 $f0, ($a2) -/* 0E87A8 7F0B3C78 E4C00004 */ swc1 $f0, 4($a2) -/* 0E87AC 7F0B3C7C E4C00008 */ swc1 $f0, 8($a2) -/* 0E87B0 7F0B3C80 E4C0000C */ swc1 $f0, 0xc($a2) -/* 0E87B4 7F0B3C84 03E00008 */ jr $ra -/* 0E87B8 7F0B3C88 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B3C8C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3C8C -/* 0E87BC 7F0B3C8C 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0E87C0 7F0B3C90 3C028004 */ lui $v0, %hi(NumberOfRoomsDrawn) -/* 0E87C4 7F0B3C94 8C42483C */ lw $v0, %lo(NumberOfRoomsDrawn)($v0) -/* 0E87C8 7F0B3C98 AFB70038 */ sw $s7, 0x38($sp) -/* 0E87CC 7F0B3C9C AFB60034 */ sw $s6, 0x34($sp) -/* 0E87D0 7F0B3CA0 AFB0001C */ sw $s0, 0x1c($sp) -/* 0E87D4 7F0B3CA4 3C1705F5 */ lui $s7, (0x05F5E0FF >> 16) # lui $s7, 0x5f5 -/* 0E87D8 7F0B3CA8 00808025 */ move $s0, $a0 -/* 0E87DC 7F0B3CAC AFBF003C */ sw $ra, 0x3c($sp) -/* 0E87E0 7F0B3CB0 AFB50030 */ sw $s5, 0x30($sp) -/* 0E87E4 7F0B3CB4 AFB4002C */ sw $s4, 0x2c($sp) -/* 0E87E8 7F0B3CB8 AFB30028 */ sw $s3, 0x28($sp) -/* 0E87EC 7F0B3CBC AFB20024 */ sw $s2, 0x24($sp) -/* 0E87F0 7F0B3CC0 AFB10020 */ sw $s1, 0x20($sp) -/* 0E87F4 7F0B3CC4 36F7E0FF */ ori $s7, (0x05F5E0FF & 0xFFFF) # ori $s7, $s7, 0xe0ff -/* 0E87F8 7F0B3CC8 18400014 */ blez $v0, .L7F0B3D1C -/* 0E87FC 7F0B3CCC 0000B025 */ move $s6, $zero -/* 0E8800 7F0B3CD0 000278C0 */ sll $t7, $v0, 3 -/* 0E8804 7F0B3CD4 01E27823 */ subu $t7, $t7, $v0 -/* 0E8808 7F0B3CD8 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_8007FFA0) -/* 0E880C 7F0B3CDC 25D2FFA0 */ addiu $s2, $t6, %lo(dword_CODE_bss_8007FFA0) -/* 0E8810 7F0B3CE0 000F7880 */ sll $t7, $t7, 2 -/* 0E8814 7F0B3CE4 01F22021 */ addu $a0, $t7, $s2 -/* 0E8818 7F0B3CE8 8E430004 */ lw $v1, 4($s2) -.L7F0B3CEC: -/* 0E881C 7F0B3CEC 2652001C */ addiu $s2, $s2, 0x1c -/* 0E8820 7F0B3CF0 02C3082A */ slt $at, $s6, $v1 -/* 0E8824 7F0B3CF4 50200003 */ beql $at, $zero, .L7F0B3D04 -/* 0E8828 7F0B3CF8 0077082A */ slt $at, $v1, $s7 -/* 0E882C 7F0B3CFC 0060B025 */ move $s6, $v1 -/* 0E8830 7F0B3D00 0077082A */ slt $at, $v1, $s7 -.L7F0B3D04: -/* 0E8834 7F0B3D04 50200003 */ beql $at, $zero, .L7F0B3D14 -/* 0E8838 7F0B3D08 0244082B */ sltu $at, $s2, $a0 -/* 0E883C 7F0B3D0C 0060B825 */ move $s7, $v1 -/* 0E8840 7F0B3D10 0244082B */ sltu $at, $s2, $a0 -.L7F0B3D14: -/* 0E8844 7F0B3D14 5420FFF5 */ bnezl $at, .L7F0B3CEC -/* 0E8848 7F0B3D18 8E430004 */ lw $v1, 4($s2) -.L7F0B3D1C: -/* 0E884C 7F0B3D1C 02D7082A */ slt $at, $s6, $s7 -/* 0E8850 7F0B3D20 1420005C */ bnez $at, .L7F0B3E94 -/* 0E8854 7F0B3D24 02E0A825 */ move $s5, $s7 -/* 0E8858 7F0B3D28 26D80001 */ addiu $t8, $s6, 1 -/* 0E885C 7F0B3D2C 3C140103 */ lui $s4, (0x01030040 >> 16) # lui $s4, 0x103 -/* 0E8860 7F0B3D30 36940040 */ ori $s4, (0x01030040 & 0xFFFF) # ori $s4, $s4, 0x40 -/* 0E8864 7F0B3D34 AFB80044 */ sw $t8, 0x44($sp) -.L7F0B3D38: -/* 0E8868 7F0B3D38 18400052 */ blez $v0, .L7F0B3E84 -/* 0E886C 7F0B3D3C 00009825 */ move $s3, $zero -/* 0E8870 7F0B3D40 3C128008 */ lui $s2, %hi(dword_CODE_bss_8007FFA0) -/* 0E8874 7F0B3D44 2652FFA0 */ addiu $s2, %lo(dword_CODE_bss_8007FFA0) # addiu $s2, $s2, -0x60 -.L7F0B3D48: -/* 0E8878 7F0B3D48 8E590004 */ lw $t9, 4($s2) -/* 0E887C 7F0B3D4C 02008825 */ move $s1, $s0 -/* 0E8880 7F0B3D50 56B90049 */ bnel $s5, $t9, .L7F0B3E78 -/* 0E8884 7F0B3D54 26730001 */ addiu $s3, $s3, 1 -/* 0E8888 7F0B3D58 26100008 */ addiu $s0, $s0, 8 -/* 0E888C 7F0B3D5C 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 0E8890 7F0B3D60 AE340000 */ sw $s4, ($s1) -/* 0E8894 7F0B3D64 0C003A2C */ jal osVirtualToPhysical -/* 0E8898 7F0B3D68 00402025 */ move $a0, $v0 -/* 0E889C 7F0B3D6C AE220004 */ sw $v0, 4($s1) -/* 0E88A0 7F0B3D70 0FC2ECA6 */ jal sub_GAME_7F0BB298 -/* 0E88A4 7F0B3D74 02002025 */ move $a0, $s0 -/* 0E88A8 7F0B3D78 0FC243D3 */ jal get_debug_do_draw_obj -/* 0E88AC 7F0B3D7C 00408025 */ move $s0, $v0 -/* 0E88B0 7F0B3D80 5040000A */ beql $v0, $zero, .L7F0B3DAC -/* 0E88B4 7F0B3D84 02008825 */ move $s1, $s0 -/* 0E88B8 7F0B3D88 0FC2F63C */ jal sub_GAME_7F0BD8F0 -/* 0E88BC 7F0B3D8C 00000000 */ nop -/* 0E88C0 7F0B3D90 10400005 */ beqz $v0, .L7F0B3DA8 -/* 0E88C4 7F0B3D94 02002025 */ move $a0, $s0 -/* 0E88C8 7F0B3D98 8E450000 */ lw $a1, ($s2) -/* 0E88CC 7F0B3D9C 0FC0E9BD */ jal sub_GAME_7F03A6F4 -/* 0E88D0 7F0B3DA0 00003025 */ move $a2, $zero -/* 0E88D4 7F0B3DA4 00408025 */ move $s0, $v0 -.L7F0B3DA8: -/* 0E88D8 7F0B3DA8 02008825 */ move $s1, $s0 -.L7F0B3DAC: -/* 0E88DC 7F0B3DAC AE340000 */ sw $s4, ($s1) -/* 0E88E0 7F0B3DB0 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 0E88E4 7F0B3DB4 26100008 */ addiu $s0, $s0, 8 -/* 0E88E8 7F0B3DB8 0C003A2C */ jal osVirtualToPhysical -/* 0E88EC 7F0B3DBC 00402025 */ move $a0, $v0 -/* 0E88F0 7F0B3DC0 AE220004 */ sw $v0, 4($s1) -/* 0E88F4 7F0B3DC4 C6440014 */ lwc1 $f4, 0x14($s2) -/* 0E88F8 7F0B3DC8 8E470010 */ lw $a3, 0x10($s2) -/* 0E88FC 7F0B3DCC 8E46000C */ lw $a2, 0xc($s2) -/* 0E8900 7F0B3DD0 8E450008 */ lw $a1, 8($s2) -/* 0E8904 7F0B3DD4 02002025 */ move $a0, $s0 -/* 0E8908 7F0B3DD8 0FC2D3FD */ jal sub_GAME_7F0B4FF4 -/* 0E890C 7F0B3DDC E7A40010 */ swc1 $f4, 0x10($sp) -/* 0E8910 7F0B3DE0 00402025 */ move $a0, $v0 -/* 0E8914 7F0B3DE4 0FC2EC1C */ jal sub_GAME_7F0BB070 -/* 0E8918 7F0B3DE8 00002825 */ move $a1, $zero -/* 0E891C 7F0B3DEC 0FC243D0 */ jal get_debug_do_draw_bg -/* 0E8920 7F0B3DF0 00408025 */ move $s0, $v0 -/* 0E8924 7F0B3DF4 50400009 */ beql $v0, $zero, .L7F0B3E1C -/* 0E8928 7F0B3DF8 02008825 */ move $s1, $s0 -/* 0E892C 7F0B3DFC 0FC2F63C */ jal sub_GAME_7F0BD8F0 -/* 0E8930 7F0B3E00 00000000 */ nop -/* 0E8934 7F0B3E04 10400004 */ beqz $v0, .L7F0B3E18 -/* 0E8938 7F0B3E08 02002025 */ move $a0, $s0 -/* 0E893C 7F0B3E0C 0FC2D9DF */ jal sub_GAME_7F0B677C -/* 0E8940 7F0B3E10 8E450000 */ lw $a1, ($s2) -/* 0E8944 7F0B3E14 00408025 */ move $s0, $v0 -.L7F0B3E18: -/* 0E8948 7F0B3E18 02008825 */ move $s1, $s0 -.L7F0B3E1C: -/* 0E894C 7F0B3E1C AE340000 */ sw $s4, ($s1) -/* 0E8950 7F0B3E20 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 0E8954 7F0B3E24 26100008 */ addiu $s0, $s0, 8 -/* 0E8958 7F0B3E28 0C003A2C */ jal osVirtualToPhysical -/* 0E895C 7F0B3E2C 00402025 */ move $a0, $v0 -/* 0E8960 7F0B3E30 AE220004 */ sw $v0, 4($s1) -/* 0E8964 7F0B3E34 0FC2ECA6 */ jal sub_GAME_7F0BB298 -/* 0E8968 7F0B3E38 02002025 */ move $a0, $s0 -/* 0E896C 7F0B3E3C 0FC243D3 */ jal get_debug_do_draw_obj -/* 0E8970 7F0B3E40 00408025 */ move $s0, $v0 -/* 0E8974 7F0B3E44 10400009 */ beqz $v0, .L7F0B3E6C -/* 0E8978 7F0B3E48 00000000 */ nop -/* 0E897C 7F0B3E4C 0FC2F63C */ jal sub_GAME_7F0BD8F0 -/* 0E8980 7F0B3E50 00000000 */ nop -/* 0E8984 7F0B3E54 10400005 */ beqz $v0, .L7F0B3E6C -/* 0E8988 7F0B3E58 02002025 */ move $a0, $s0 -/* 0E898C 7F0B3E5C 8E450000 */ lw $a1, ($s2) -/* 0E8990 7F0B3E60 0FC0E9BD */ jal sub_GAME_7F03A6F4 -/* 0E8994 7F0B3E64 24060002 */ li $a2, 2 -/* 0E8998 7F0B3E68 00408025 */ move $s0, $v0 -.L7F0B3E6C: -/* 0E899C 7F0B3E6C 3C028004 */ lui $v0, %hi(NumberOfRoomsDrawn) -/* 0E89A0 7F0B3E70 8C42483C */ lw $v0, %lo(NumberOfRoomsDrawn)($v0) -/* 0E89A4 7F0B3E74 26730001 */ addiu $s3, $s3, 1 -.L7F0B3E78: -/* 0E89A8 7F0B3E78 0262082A */ slt $at, $s3, $v0 -/* 0E89AC 7F0B3E7C 1420FFB2 */ bnez $at, .L7F0B3D48 -/* 0E89B0 7F0B3E80 2652001C */ addiu $s2, $s2, 0x1c -.L7F0B3E84: -/* 0E89B4 7F0B3E84 8FA80044 */ lw $t0, 0x44($sp) -/* 0E89B8 7F0B3E88 26B50001 */ addiu $s5, $s5, 1 -/* 0E89BC 7F0B3E8C 1515FFAA */ bne $t0, $s5, .L7F0B3D38 -/* 0E89C0 7F0B3E90 00000000 */ nop -.L7F0B3E94: -/* 0E89C4 7F0B3E94 3C140103 */ lui $s4, (0x01030040 >> 16) # lui $s4, 0x103 -/* 0E89C8 7F0B3E98 36940040 */ ori $s4, (0x01030040 & 0xFFFF) # ori $s4, $s4, 0x40 -/* 0E89CC 7F0B3E9C 0FC2ECA6 */ jal sub_GAME_7F0BB298 -/* 0E89D0 7F0B3EA0 02002025 */ move $a0, $s0 -/* 0E89D4 7F0B3EA4 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 0E89D8 7F0B3EA8 00402025 */ move $a0, $v0 -/* 0E89DC 7F0B3EAC 00408825 */ move $s1, $v0 -/* 0E89E0 7F0B3EB0 24500008 */ addiu $s0, $v0, 8 -/* 0E89E4 7F0B3EB4 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 0E89E8 7F0B3EB8 AC540000 */ sw $s4, ($v0) -/* 0E89EC 7F0B3EBC 0C003A2C */ jal osVirtualToPhysical -/* 0E89F0 7F0B3EC0 00402025 */ move $a0, $v0 -/* 0E89F4 7F0B3EC4 0FC2F63C */ jal sub_GAME_7F0BD8F0 -/* 0E89F8 7F0B3EC8 AE220004 */ sw $v0, 4($s1) -/* 0E89FC 7F0B3ECC 10400006 */ beqz $v0, .L7F0B3EE8 -/* 0E8A00 7F0B3ED0 00000000 */ nop -/* 0E8A04 7F0B3ED4 0FC282AD */ jal sub_GAME_7F0A0AB4 -/* 0E8A08 7F0B3ED8 02002025 */ move $a0, $s0 -/* 0E8A0C 7F0B3EDC 0FC2875E */ jal sub_GAME_7F0A1D78 -/* 0E8A10 7F0B3EE0 00402025 */ move $a0, $v0 -/* 0E8A14 7F0B3EE4 00408025 */ move $s0, $v0 -.L7F0B3EE8: -/* 0E8A18 7F0B3EE8 3C028004 */ lui $v0, %hi(NumberOfRoomsDrawn) -/* 0E8A1C 7F0B3EEC 02D7082A */ slt $at, $s6, $s7 -/* 0E8A20 7F0B3EF0 8C42483C */ lw $v0, %lo(NumberOfRoomsDrawn)($v0) -/* 0E8A24 7F0B3EF4 14200043 */ bnez $at, .L7F0B4004 -/* 0E8A28 7F0B3EF8 02C0A825 */ move $s5, $s6 -/* 0E8A2C 7F0B3EFC 26F6FFFF */ addiu $s6, $s7, -1 -.L7F0B3F00: -/* 0E8A30 7F0B3F00 1840003D */ blez $v0, .L7F0B3FF8 -/* 0E8A34 7F0B3F04 00009825 */ move $s3, $zero -/* 0E8A38 7F0B3F08 3C128008 */ lui $s2, %hi(dword_CODE_bss_8007FFA0) -/* 0E8A3C 7F0B3F0C 2652FFA0 */ addiu $s2, %lo(dword_CODE_bss_8007FFA0) # addiu $s2, $s2, -0x60 -.L7F0B3F10: -/* 0E8A40 7F0B3F10 8E490004 */ lw $t1, 4($s2) -/* 0E8A44 7F0B3F14 02008825 */ move $s1, $s0 -/* 0E8A48 7F0B3F18 56A90034 */ bnel $s5, $t1, .L7F0B3FEC -/* 0E8A4C 7F0B3F1C 26730001 */ addiu $s3, $s3, 1 -/* 0E8A50 7F0B3F20 26100008 */ addiu $s0, $s0, 8 -/* 0E8A54 7F0B3F24 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 0E8A58 7F0B3F28 AE340000 */ sw $s4, ($s1) -/* 0E8A5C 7F0B3F2C 0C003A2C */ jal osVirtualToPhysical -/* 0E8A60 7F0B3F30 00402025 */ move $a0, $v0 -/* 0E8A64 7F0B3F34 AE220004 */ sw $v0, 4($s1) -/* 0E8A68 7F0B3F38 C6460014 */ lwc1 $f6, 0x14($s2) -/* 0E8A6C 7F0B3F3C 8E470010 */ lw $a3, 0x10($s2) -/* 0E8A70 7F0B3F40 8E46000C */ lw $a2, 0xc($s2) -/* 0E8A74 7F0B3F44 8E450008 */ lw $a1, 8($s2) -/* 0E8A78 7F0B3F48 02002025 */ move $a0, $s0 -/* 0E8A7C 7F0B3F4C 0FC2D3FD */ jal sub_GAME_7F0B4FF4 -/* 0E8A80 7F0B3F50 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0E8A84 7F0B3F54 00402025 */ move $a0, $v0 -/* 0E8A88 7F0B3F58 0FC2EC1C */ jal sub_GAME_7F0BB070 -/* 0E8A8C 7F0B3F5C 24050001 */ li $a1, 1 -/* 0E8A90 7F0B3F60 0FC243D0 */ jal get_debug_do_draw_bg -/* 0E8A94 7F0B3F64 00408025 */ move $s0, $v0 -/* 0E8A98 7F0B3F68 50400009 */ beql $v0, $zero, .L7F0B3F90 -/* 0E8A9C 7F0B3F6C 02008825 */ move $s1, $s0 -/* 0E8AA0 7F0B3F70 0FC2F63C */ jal sub_GAME_7F0BD8F0 -/* 0E8AA4 7F0B3F74 00000000 */ nop -/* 0E8AA8 7F0B3F78 10400004 */ beqz $v0, .L7F0B3F8C -/* 0E8AAC 7F0B3F7C 02002025 */ move $a0, $s0 -/* 0E8AB0 7F0B3F80 0FC2DA26 */ jal sub_GAME_7F0B6898 -/* 0E8AB4 7F0B3F84 8E450000 */ lw $a1, ($s2) -/* 0E8AB8 7F0B3F88 00408025 */ move $s0, $v0 -.L7F0B3F8C: -/* 0E8ABC 7F0B3F8C 02008825 */ move $s1, $s0 -.L7F0B3F90: -/* 0E8AC0 7F0B3F90 AE340000 */ sw $s4, ($s1) -/* 0E8AC4 7F0B3F94 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 0E8AC8 7F0B3F98 26100008 */ addiu $s0, $s0, 8 -/* 0E8ACC 7F0B3F9C 0C003A2C */ jal osVirtualToPhysical -/* 0E8AD0 7F0B3FA0 00402025 */ move $a0, $v0 -/* 0E8AD4 7F0B3FA4 AE220004 */ sw $v0, 4($s1) -/* 0E8AD8 7F0B3FA8 0FC2ECA6 */ jal sub_GAME_7F0BB298 -/* 0E8ADC 7F0B3FAC 02002025 */ move $a0, $s0 -/* 0E8AE0 7F0B3FB0 0FC243D3 */ jal get_debug_do_draw_obj -/* 0E8AE4 7F0B3FB4 00408025 */ move $s0, $v0 -/* 0E8AE8 7F0B3FB8 10400009 */ beqz $v0, .L7F0B3FE0 -/* 0E8AEC 7F0B3FBC 00000000 */ nop -/* 0E8AF0 7F0B3FC0 0FC2F63C */ jal sub_GAME_7F0BD8F0 -/* 0E8AF4 7F0B3FC4 00000000 */ nop -/* 0E8AF8 7F0B3FC8 10400005 */ beqz $v0, .L7F0B3FE0 -/* 0E8AFC 7F0B3FCC 02002025 */ move $a0, $s0 -/* 0E8B00 7F0B3FD0 8E450000 */ lw $a1, ($s2) -/* 0E8B04 7F0B3FD4 0FC0E9BD */ jal sub_GAME_7F03A6F4 -/* 0E8B08 7F0B3FD8 24060001 */ li $a2, 1 -/* 0E8B0C 7F0B3FDC 00408025 */ move $s0, $v0 -.L7F0B3FE0: -/* 0E8B10 7F0B3FE0 3C028004 */ lui $v0, %hi(NumberOfRoomsDrawn) -/* 0E8B14 7F0B3FE4 8C42483C */ lw $v0, %lo(NumberOfRoomsDrawn)($v0) -/* 0E8B18 7F0B3FE8 26730001 */ addiu $s3, $s3, 1 -.L7F0B3FEC: -/* 0E8B1C 7F0B3FEC 0262082A */ slt $at, $s3, $v0 -/* 0E8B20 7F0B3FF0 1420FFC7 */ bnez $at, .L7F0B3F10 -/* 0E8B24 7F0B3FF4 2652001C */ addiu $s2, $s2, 0x1c -.L7F0B3FF8: -/* 0E8B28 7F0B3FF8 26B5FFFF */ addiu $s5, $s5, -1 -/* 0E8B2C 7F0B3FFC 16B6FFC0 */ bne $s5, $s6, .L7F0B3F00 -/* 0E8B30 7F0B4000 00000000 */ nop -.L7F0B4004: -/* 0E8B34 7F0B4004 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E8B38 7F0B4008 02001025 */ move $v0, $s0 -/* 0E8B3C 7F0B400C 8FB0001C */ lw $s0, 0x1c($sp) -/* 0E8B40 7F0B4010 8FB10020 */ lw $s1, 0x20($sp) -/* 0E8B44 7F0B4014 8FB20024 */ lw $s2, 0x24($sp) -/* 0E8B48 7F0B4018 8FB30028 */ lw $s3, 0x28($sp) -/* 0E8B4C 7F0B401C 8FB4002C */ lw $s4, 0x2c($sp) -/* 0E8B50 7F0B4020 8FB50030 */ lw $s5, 0x30($sp) -/* 0E8B54 7F0B4024 8FB60034 */ lw $s6, 0x34($sp) -/* 0E8B58 7F0B4028 8FB70038 */ lw $s7, 0x38($sp) -/* 0E8B5C 7F0B402C 03E00008 */ jr $ra -/* 0E8B60 7F0B4030 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B4034(s32 arg0) { - s32 temp_v1; - void *phi_a0; - s32 phi_v1; - s32 phi_v1_2; - - // Node 0 - phi_v1 = arg0; - if ((ptr_bgdata_room_fileposition_list + (arg0 * 0x18))->unk4 == 0) - { - // Node 1 - phi_a0 = (ptr_bgdata_room_fileposition_list + (arg0 * 0x18)); - phi_v1_2 = arg0; -loop_2: - // Node 2 - temp_v1 = (phi_v1_2 + 1); - phi_a0 = (phi_a0 + 0x18); - phi_v1 = temp_v1; - phi_v1_2 = temp_v1; - if (phi_a0->unk1C == 0) - { - goto loop_2; - } - } - // Node 3 - return phi_v1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4034 -/* 0E8B64 7F0B4034 3C028008 */ lui $v0, %hi(ptr_bgdata_room_fileposition_list) -/* 0E8B68 7F0B4038 8C42FF8C */ lw $v0, %lo(ptr_bgdata_room_fileposition_list)($v0) -/* 0E8B6C 7F0B403C 00047080 */ sll $t6, $a0, 2 -/* 0E8B70 7F0B4040 01C47023 */ subu $t6, $t6, $a0 -/* 0E8B74 7F0B4044 000E70C0 */ sll $t6, $t6, 3 -/* 0E8B78 7F0B4048 004E7821 */ addu $t7, $v0, $t6 -/* 0E8B7C 7F0B404C 8DF80004 */ lw $t8, 4($t7) -/* 0E8B80 7F0B4050 0004C880 */ sll $t9, $a0, 2 -/* 0E8B84 7F0B4054 00801825 */ move $v1, $a0 -/* 0E8B88 7F0B4058 17000008 */ bnez $t8, .L7F0B407C -/* 0E8B8C 7F0B405C 0324C823 */ subu $t9, $t9, $a0 -/* 0E8B90 7F0B4060 0019C8C0 */ sll $t9, $t9, 3 -/* 0E8B94 7F0B4064 00592021 */ addu $a0, $v0, $t9 -/* 0E8B98 7F0B4068 8C88001C */ lw $t0, 0x1c($a0) -.L7F0B406C: -/* 0E8B9C 7F0B406C 24630001 */ addiu $v1, $v1, 1 -/* 0E8BA0 7F0B4070 24840018 */ addiu $a0, $a0, 0x18 -/* 0E8BA4 7F0B4074 5100FFFD */ beql $t0, $zero, .L7F0B406C -/* 0E8BA8 7F0B4078 8C88001C */ lw $t0, 0x1c($a0) -.L7F0B407C: -/* 0E8BAC 7F0B407C 03E00008 */ jr $ra -/* 0E8BB0 7F0B4080 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B4084(s32 arg0) { - s32 temp_v1; - void *phi_a0; - s32 phi_v1; - s32 phi_v1_2; - - // Node 0 - phi_v1 = arg0; - if ((ptr_bgdata_room_fileposition_list + (arg0 * 0x18))->unk8 == 0) - { - // Node 1 - phi_a0 = (ptr_bgdata_room_fileposition_list + (arg0 * 0x18)); - phi_v1_2 = arg0; -loop_2: - // Node 2 - temp_v1 = (phi_v1_2 + 1); - phi_a0 = (phi_a0 + 0x18); - phi_v1 = temp_v1; - phi_v1_2 = temp_v1; - if (phi_a0->unk20 == 0) - { - goto loop_2; - } - } - // Node 3 - return phi_v1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4084 -/* 0E8BB4 7F0B4084 3C028008 */ lui $v0, %hi(ptr_bgdata_room_fileposition_list) -/* 0E8BB8 7F0B4088 8C42FF8C */ lw $v0, %lo(ptr_bgdata_room_fileposition_list)($v0) -/* 0E8BBC 7F0B408C 00047080 */ sll $t6, $a0, 2 -/* 0E8BC0 7F0B4090 01C47023 */ subu $t6, $t6, $a0 -/* 0E8BC4 7F0B4094 000E70C0 */ sll $t6, $t6, 3 -/* 0E8BC8 7F0B4098 004E7821 */ addu $t7, $v0, $t6 -/* 0E8BCC 7F0B409C 8DF80008 */ lw $t8, 8($t7) -/* 0E8BD0 7F0B40A0 0004C880 */ sll $t9, $a0, 2 -/* 0E8BD4 7F0B40A4 00801825 */ move $v1, $a0 -/* 0E8BD8 7F0B40A8 17000008 */ bnez $t8, .L7F0B40CC -/* 0E8BDC 7F0B40AC 0324C823 */ subu $t9, $t9, $a0 -/* 0E8BE0 7F0B40B0 0019C8C0 */ sll $t9, $t9, 3 -/* 0E8BE4 7F0B40B4 00592021 */ addu $a0, $v0, $t9 -/* 0E8BE8 7F0B40B8 8C880020 */ lw $t0, 0x20($a0) -.L7F0B40BC: -/* 0E8BEC 7F0B40BC 24630001 */ addiu $v1, $v1, 1 -/* 0E8BF0 7F0B40C0 24840018 */ addiu $a0, $a0, 0x18 -/* 0E8BF4 7F0B40C4 5100FFFD */ beql $t0, $zero, .L7F0B40BC -/* 0E8BF8 7F0B40C8 8C880020 */ lw $t0, 0x20($a0) -.L7F0B40CC: -/* 0E8BFC 7F0B40CC 03E00008 */ jr $ra -/* 0E8C00 7F0B40D0 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B40D4(s32 arg0) { - s32 temp_v1; - void *phi_a0; - s32 phi_v1; - s32 phi_v1_2; - - // Node 0 - phi_v1 = arg0; - if (*(ptr_bgdata_room_fileposition_list + (arg0 * 0x18)) == 0) - { - // Node 1 - phi_a0 = (ptr_bgdata_room_fileposition_list + (arg0 * 0x18)); - phi_v1_2 = arg0; -loop_2: - // Node 2 - temp_v1 = (phi_v1_2 + 1); - phi_a0 = (phi_a0 + 0x18); - phi_v1 = temp_v1; - phi_v1_2 = temp_v1; - if (phi_a0->unk18 == 0) - { - goto loop_2; - } - } - // Node 3 - return phi_v1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B40D4 -/* 0E8C04 7F0B40D4 3C028008 */ lui $v0, %hi(ptr_bgdata_room_fileposition_list) -/* 0E8C08 7F0B40D8 8C42FF8C */ lw $v0, %lo(ptr_bgdata_room_fileposition_list)($v0) -/* 0E8C0C 7F0B40DC 00047080 */ sll $t6, $a0, 2 -/* 0E8C10 7F0B40E0 01C47023 */ subu $t6, $t6, $a0 -/* 0E8C14 7F0B40E4 000E70C0 */ sll $t6, $t6, 3 -/* 0E8C18 7F0B40E8 004E7821 */ addu $t7, $v0, $t6 -/* 0E8C1C 7F0B40EC 8DF80000 */ lw $t8, ($t7) -/* 0E8C20 7F0B40F0 0004C880 */ sll $t9, $a0, 2 -/* 0E8C24 7F0B40F4 00801825 */ move $v1, $a0 -/* 0E8C28 7F0B40F8 17000008 */ bnez $t8, .L7F0B411C -/* 0E8C2C 7F0B40FC 0324C823 */ subu $t9, $t9, $a0 -/* 0E8C30 7F0B4100 0019C8C0 */ sll $t9, $t9, 3 -/* 0E8C34 7F0B4104 00592021 */ addu $a0, $v0, $t9 -/* 0E8C38 7F0B4108 8C880018 */ lw $t0, 0x18($a0) -.L7F0B410C: -/* 0E8C3C 7F0B410C 24630001 */ addiu $v1, $v1, 1 -/* 0E8C40 7F0B4110 24840018 */ addiu $a0, $a0, 0x18 -/* 0E8C44 7F0B4114 5100FFFD */ beql $t0, $zero, .L7F0B410C -/* 0E8C48 7F0B4118 8C880018 */ lw $t0, 0x18($a0) -.L7F0B411C: -/* 0E8C4C 7F0B411C 03E00008 */ jr $ra -/* 0E8C50 7F0B4120 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void load_bg_file(STAGENUM stagenum) -{ - -} -#else -GLOBAL_ASM( -.text -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) -/* 0E8C60 7F0B4130 AFB00018 */ sw $s0, 0x18($sp) -/* 0E8C64 7F0B4134 26521400 */ addiu $s2, %lo(D_80041400) # addiu $s2, $s2, 0x1400 -/* 0E8C68 7F0B4138 3C108004 */ lui $s0, %hi(D_80041414) -/* 0E8C6C 7F0B413C 3C028004 */ lui $v0, %hi(MaxNumRooms) -/* 0E8C70 7F0B4140 AFBF003C */ sw $ra, 0x3c($sp) -/* 0E8C74 7F0B4144 AFBE0038 */ sw $fp, 0x38($sp) -/* 0E8C78 7F0B4148 AFB70034 */ sw $s7, 0x34($sp) -/* 0E8C7C 7F0B414C AFB60030 */ sw $s6, 0x30($sp) -/* 0E8C80 7F0B4150 AFB5002C */ sw $s5, 0x2c($sp) -/* 0E8C84 7F0B4154 AFB40028 */ sw $s4, 0x28($sp) -/* 0E8C88 7F0B4158 AFB30024 */ sw $s3, 0x24($sp) -/* 0E8C8C 7F0B415C AFB1001C */ sw $s1, 0x1c($sp) -/* 0E8C90 7F0B4160 AE400000 */ sw $zero, ($s2) -/* 0E8C94 7F0B4164 244242F4 */ addiu $v0, %lo(MaxNumRooms) # addiu $v0, $v0, 0x42f4 -/* 0E8C98 7F0B4168 26101414 */ addiu $s0, %lo(D_80041414) # addiu $s0, $s0, 0x1414 -.L7F0B416C: -/* 0E8C9C 7F0B416C 26100050 */ addiu $s0, $s0, 0x50 -/* 0E8CA0 7F0B4170 0202082B */ sltu $at, $s0, $v0 -/* 0E8CA4 7F0B4174 1420FFFD */ bnez $at, .L7F0B416C -/* 0E8CA8 7F0B4178 AE00FFDC */ sw $zero, -0x24($s0) -/* 0E8CAC 7F0B417C 3C028004 */ lui $v0, %hi(levelinfotable) -/* 0E8CB0 7F0B4180 2442448C */ addiu $v0, %lo(levelinfotable) # addiu $v0, $v0, 0x448c -/* 0E8CB4 7F0B4184 00008825 */ move $s1, $zero -.L7F0B4188: -/* 0E8CB8 7F0B4188 8C4E0000 */ lw $t6, ($v0) -/* 0E8CBC 7F0B418C 548E0003 */ bnel $a0, $t6, .L7F0B419C -/* 0E8CC0 7F0B4190 26310001 */ addiu $s1, $s1, 1 -/* 0E8CC4 7F0B4194 AE510000 */ sw $s1, ($s2) -/* 0E8CC8 7F0B4198 26310001 */ addiu $s1, $s1, 1 -.L7F0B419C: -/* 0E8CCC 7F0B419C 2A210026 */ slti $at, $s1, 0x26 -/* 0E8CD0 7F0B41A0 1420FFF9 */ bnez $at, .L7F0B4188 -/* 0E8CD4 7F0B41A4 24420018 */ addiu $v0, $v0, 0x18 -/* 0E8CD8 7F0B41A8 0FC2ED34 */ jal init_lightfixture_tables -/* 0E8CDC 7F0B41AC AFA400B8 */ sw $a0, 0xb8($sp) -/* 0E8CE0 7F0B41B0 8E580000 */ lw $t8, ($s2) -/* 0E8CE4 7F0B41B4 24140018 */ li $s4, 24 -/* 0E8CE8 7F0B41B8 3C118004 */ lui $s1, %hi(levelinfotable) -/* 0E8CEC 7F0B41BC 03140019 */ multu $t8, $s4 -/* 0E8CF0 7F0B41C0 2631448C */ addiu $s1, %lo(levelinfotable) # addiu $s1, $s1, 0x448c -/* 0E8CF4 7F0B41C4 3C178008 */ lui $s7, %hi(ptr_bg_data) -/* 0E8CF8 7F0B41C8 26F7BF90 */ addiu $s7, %lo(ptr_bg_data) # addiu $s7, $s7, -0x4070 -/* 0E8CFC 7F0B41CC 27A50070 */ addiu $a1, $sp, 0x70 -/* 0E8D00 7F0B41D0 AEE50000 */ sw $a1, ($s7) -/* 0E8D04 7F0B41D4 00003025 */ move $a2, $zero -/* 0E8D08 7F0B41D8 24070040 */ li $a3, 64 -/* 0E8D0C 7F0B41DC 0000C812 */ mflo $t9 -/* 0E8D10 7F0B41E0 02394021 */ addu $t0, $s1, $t9 -/* 0E8D14 7F0B41E4 0FC2F35F */ jal load_bg_bytes_at_offset_to_membank -/* 0E8D18 7F0B41E8 8D040004 */ lw $a0, 4($t0) -/* 0E8D1C 7F0B41EC 8EE20000 */ lw $v0, ($s7) -/* 0E8D20 7F0B41F0 3C168008 */ lui $s6, %hi(ptr_bgdata_offsets) -/* 0E8D24 7F0B41F4 26D6FF84 */ addiu $s6, %lo(ptr_bgdata_offsets) # addiu $s6, $s6, -0x7c -/* 0E8D28 7F0B41F8 AEC20000 */ sw $v0, ($s6) -/* 0E8D2C 7F0B41FC 8C4A0004 */ lw $t2, 4($v0) -/* 0E8D30 7F0B4200 3C13F100 */ lui $s3, 0xf100 -/* 0E8D34 7F0B4204 3C158008 */ lui $s5, %hi(ptr_bgdata_room_fileposition_list) -/* 0E8D38 7F0B4208 01425821 */ addu $t3, $t2, $v0 -/* 0E8D3C 7F0B420C 26B5FF8C */ addiu $s5, %lo(ptr_bgdata_room_fileposition_list) # addiu $s5, $s5, -0x74 -/* 0E8D40 7F0B4210 01736021 */ addu $t4, $t3, $s3 -/* 0E8D44 7F0B4214 AEAC0000 */ sw $t4, ($s5) -/* 0E8D48 7F0B4218 8D900018 */ lw $s0, 0x18($t4) -/* 0E8D4C 7F0B421C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0E8D50 7F0B4220 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0E8D54 7F0B4224 02017024 */ and $t6, $s0, $at -/* 0E8D58 7F0B4228 25D0FFFF */ addiu $s0, $t6, -1 -/* 0E8D5C 7F0B422C 360F000F */ ori $t7, $s0, 0xf -/* 0E8D60 7F0B4230 25F00001 */ addiu $s0, $t7, 1 -/* 0E8D64 7F0B4234 02002025 */ move $a0, $s0 -/* 0E8D68 7F0B4238 0C0025C8 */ jal mempAllocBytesInBank -/* 0E8D6C 7F0B423C 24050004 */ li $a1, 4 -/* 0E8D70 7F0B4240 8E580000 */ lw $t8, ($s2) -/* 0E8D74 7F0B4244 AEE20000 */ sw $v0, ($s7) -/* 0E8D78 7F0B4248 00402825 */ move $a1, $v0 -/* 0E8D7C 7F0B424C 03140019 */ multu $t8, $s4 -/* 0E8D80 7F0B4250 00003025 */ move $a2, $zero -/* 0E8D84 7F0B4254 02003825 */ move $a3, $s0 -/* 0E8D88 7F0B4258 0000C812 */ mflo $t9 -/* 0E8D8C 7F0B425C 02394021 */ addu $t0, $s1, $t9 -/* 0E8D90 7F0B4260 0FC2F35F */ jal load_bg_bytes_at_offset_to_membank -/* 0E8D94 7F0B4264 8D040004 */ lw $a0, 4($t0) -/* 0E8D98 7F0B4268 8E490000 */ lw $t1, ($s2) -/* 0E8D9C 7F0B426C 24050002 */ li $a1, 2 -/* 0E8DA0 7F0B4270 00003025 */ move $a2, $zero -/* 0E8DA4 7F0B4274 01340019 */ multu $t1, $s4 -/* 0E8DA8 7F0B4278 24070004 */ li $a3, 4 -/* 0E8DAC 7F0B427C 00005012 */ mflo $t2 -/* 0E8DB0 7F0B4280 022A5821 */ addu $t3, $s1, $t2 -/* 0E8DB4 7F0B4284 0FC2F341 */ jal _load_resource_named_to_membank -/* 0E8DB8 7F0B4288 8D640008 */ lw $a0, 8($t3) -/* 0E8DBC 7F0B428C 3C108008 */ lui $s0, %hi(ptr_clipping) -/* 0E8DC0 7F0B4290 2610BF94 */ addiu $s0, %lo(ptr_clipping) # addiu $s0, $s0, -0x406c -/* 0E8DC4 7F0B4294 AE020000 */ sw $v0, ($s0) -/* 0E8DC8 7F0B4298 00402025 */ move $a0, $v0 -/* 0E8DCC 7F0B429C 00002825 */ move $a1, $zero -/* 0E8DD0 7F0B42A0 0FC2CBCB */ jal stanDetermineEOF -/* 0E8DD4 7F0B42A4 00403025 */ move $a2, $v0 -/* 0E8DD8 7F0B42A8 0FC2BD6E */ jal stanLoadFile -/* 0E8DDC 7F0B42AC 8E040000 */ lw $a0, ($s0) -/* 0E8DE0 7F0B42B0 8E4C0000 */ lw $t4, ($s2) -/* 0E8DE4 7F0B42B4 01940019 */ multu $t4, $s4 -/* 0E8DE8 7F0B42B8 00006812 */ mflo $t5 -/* 0E8DEC 7F0B42BC 022D7021 */ addu $t6, $s1, $t5 -/* 0E8DF0 7F0B42C0 0FC2D204 */ jal sub_GAME_7F0B4810 -/* 0E8DF4 7F0B42C4 C5CC000C */ lwc1 $f12, 0xc($t6) -/* 0E8DF8 7F0B42C8 8E4F0000 */ lw $t7, ($s2) -/* 0E8DFC 7F0B42CC 01F40019 */ multu $t7, $s4 -/* 0E8E00 7F0B42D0 0000C012 */ mflo $t8 -/* 0E8E04 7F0B42D4 0238C821 */ addu $t9, $s1, $t8 -/* 0E8E08 7F0B42D8 0FC2CA54 */ jal sub_GAME_7F0B2950 -/* 0E8E0C 7F0B42DC C72C000C */ lwc1 $f12, 0xc($t9) -/* 0E8E10 7F0B42E0 8E480000 */ lw $t0, ($s2) -/* 0E8E14 7F0B42E4 01140019 */ multu $t0, $s4 -/* 0E8E18 7F0B42E8 00004812 */ mflo $t1 -/* 0E8E1C 7F0B42EC 02295021 */ addu $t2, $s1, $t1 -/* 0E8E20 7F0B42F0 0FC2456F */ jal sub_GAME_7F0915BC -/* 0E8E24 7F0B42F4 C54C000C */ lwc1 $f12, 0xc($t2) -/* 0E8E28 7F0B42F8 8E4B0000 */ lw $t3, ($s2) -/* 0E8E2C 7F0B42FC 01740019 */ multu $t3, $s4 -/* 0E8E30 7F0B4300 00006012 */ mflo $t4 -/* 0E8E34 7F0B4304 022C6821 */ addu $t5, $s1, $t4 -/* 0E8E38 7F0B4308 0FC08B87 */ jal sub_GAME_7F022E1C -/* 0E8E3C 7F0B430C C5AC000C */ lwc1 $f12, 0xc($t5) -/* 0E8E40 7F0B4310 8E4E0000 */ lw $t6, ($s2) -/* 0E8E44 7F0B4314 3C108004 */ lui $s0, %hi(D_800413FC) -/* 0E8E48 7F0B4318 261013FC */ addiu $s0, %lo(D_800413FC) # addiu $s0, $s0, 0x13fc -/* 0E8E4C 7F0B431C 01D40019 */ multu $t6, $s4 -/* 0E8E50 7F0B4320 00007812 */ mflo $t7 -/* 0E8E54 7F0B4324 022FC021 */ addu $t8, $s1, $t7 -/* 0E8E58 7F0B4328 C7040010 */ lwc1 $f4, 0x10($t8) -/* 0E8E5C 7F0B432C E6040000 */ swc1 $f4, ($s0) -/* 0E8E60 7F0B4330 0FC225DB */ jal sub_GAME_7F08976C -/* 0E8E64 7F0B4334 C60C0000 */ lwc1 $f12, ($s0) -/* 0E8E68 7F0B4338 0FC16313 */ jal sub_GAME_7F058C4C -/* 0E8E6C 7F0B433C C60C0000 */ lwc1 $f12, ($s0) -/* 0E8E70 7F0B4340 8EE20000 */ lw $v0, ($s7) -/* 0E8E74 7F0B4344 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007BF98) -/* 0E8E78 7F0B4348 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007FF88) -/* 0E8E7C 7F0B434C 8C590000 */ lw $t9, ($v0) -/* 0E8E80 7F0B4350 2484FF88 */ addiu $a0, %lo(dword_CODE_bss_8007FF88) # addiu $a0, $a0, -0x78 -/* 0E8E84 7F0B4354 2463BF98 */ addiu $v1, %lo(dword_CODE_bss_8007BF98) # addiu $v1, $v1, -0x4068 -/* 0E8E88 7F0B4358 24080001 */ li $t0, 1 -/* 0E8E8C 7F0B435C AC880000 */ sw $t0, ($a0) -/* 0E8E90 7F0B4360 1720010E */ bnez $t9, .L7F0B479C -/* 0E8E94 7F0B4364 AC790000 */ sw $t9, ($v1) -/* 0E8E98 7F0B4368 240A0002 */ li $t2, 2 -/* 0E8E9C 7F0B436C AC8A0000 */ sw $t2, ($a0) -/* 0E8EA0 7F0B4370 AEC20000 */ sw $v0, ($s6) -/* 0E8EA4 7F0B4374 8C4B0004 */ lw $t3, 4($v0) -/* 0E8EA8 7F0B4378 3C168004 */ lui $s6, %hi(MaxNumRooms) -/* 0E8EAC 7F0B437C 26D642F4 */ addiu $s6, %lo(MaxNumRooms) # addiu $s6, $s6, 0x42f4 -/* 0E8EB0 7F0B4380 01626021 */ addu $t4, $t3, $v0 -/* 0E8EB4 7F0B4384 01936821 */ addu $t5, $t4, $s3 -/* 0E8EB8 7F0B4388 AEAD0000 */ sw $t5, ($s5) -/* 0E8EBC 7F0B438C AEC00000 */ sw $zero, ($s6) -/* 0E8EC0 7F0B4390 8DAE001C */ lw $t6, 0x1c($t5) -/* 0E8EC4 7F0B4394 00402825 */ move $a1, $v0 -/* 0E8EC8 7F0B4398 11C00008 */ beqz $t6, .L7F0B43BC -/* 0E8ECC 7F0B439C 25A40018 */ addiu $a0, $t5, 0x18 -/* 0E8ED0 7F0B43A0 8ECF0000 */ lw $t7, ($s6) -.L7F0B43A4: -/* 0E8ED4 7F0B43A4 24840018 */ addiu $a0, $a0, 0x18 -/* 0E8ED8 7F0B43A8 25F80001 */ addiu $t8, $t7, 1 -/* 0E8EDC 7F0B43AC AED80000 */ sw $t8, ($s6) -/* 0E8EE0 7F0B43B0 8C990004 */ lw $t9, 4($a0) -/* 0E8EE4 7F0B43B4 5720FFFB */ bnezl $t9, .L7F0B43A4 -/* 0E8EE8 7F0B43B8 8ECF0000 */ lw $t7, ($s6) -.L7F0B43BC: -/* 0E8EEC 7F0B43BC 8CA80008 */ lw $t0, 8($a1) -/* 0E8EF0 7F0B43C0 3C1E8008 */ lui $fp, %hi(ptr_bgdata_portals) -/* 0E8EF4 7F0B43C4 27DEFF80 */ addiu $fp, %lo(ptr_bgdata_portals) # addiu $fp, $fp, -0x80 -/* 0E8EF8 7F0B43C8 01024821 */ addu $t1, $t0, $v0 -/* 0E8EFC 7F0B43CC 01335021 */ addu $t2, $t1, $s3 -/* 0E8F00 7F0B43D0 AFCA0000 */ sw $t2, ($fp) -/* 0E8F04 7F0B43D4 8CA3000C */ lw $v1, 0xc($a1) -/* 0E8F08 7F0B43D8 14600004 */ bnez $v1, .L7F0B43EC -/* 0E8F0C 7F0B43DC 3C128008 */ lui $s2, %hi(dword_CODE_bss_8007FF90) -/* 0E8F10 7F0B43E0 2652FF90 */ addiu $s2, %lo(dword_CODE_bss_8007FF90) # addiu $s2, $s2, -0x70 -/* 0E8F14 7F0B43E4 1000000F */ b .L7F0B4424 -/* 0E8F18 7F0B43E8 AE400000 */ sw $zero, ($s2) -.L7F0B43EC: -/* 0E8F1C 7F0B43EC 3C128008 */ lui $s2, %hi(dword_CODE_bss_8007FF90) -/* 0E8F20 7F0B43F0 00625821 */ addu $t3, $v1, $v0 -/* 0E8F24 7F0B43F4 2652FF90 */ addiu $s2, %lo(dword_CODE_bss_8007FF90) # addiu $s2, $s2, -0x70 -/* 0E8F28 7F0B43F8 01736021 */ addu $t4, $t3, $s3 -/* 0E8F2C 7F0B43FC AE4C0000 */ sw $t4, ($s2) -/* 0E8F30 7F0B4400 8CA40010 */ lw $a0, 0x10($a1) -/* 0E8F34 7F0B4404 3C018008 */ lui $at, %hi(dword_CODE_bss_8007FF94) -/* 0E8F38 7F0B4408 14800004 */ bnez $a0, .L7F0B441C -/* 0E8F3C 7F0B440C 00826821 */ addu $t5, $a0, $v0 -/* 0E8F40 7F0B4410 3C018008 */ lui $at, %hi(dword_CODE_bss_8007FF94) -/* 0E8F44 7F0B4414 10000003 */ b .L7F0B4424 -/* 0E8F48 7F0B4418 AC20FF94 */ sw $zero, %lo(dword_CODE_bss_8007FF94)($at) -.L7F0B441C: -/* 0E8F4C 7F0B441C 01B37021 */ addu $t6, $t5, $s3 -/* 0E8F50 7F0B4420 AC2EFF94 */ sw $t6, %lo(dword_CODE_bss_8007FF94)($at) -.L7F0B4424: -/* 0E8F54 7F0B4424 8FC40000 */ lw $a0, ($fp) -/* 0E8F58 7F0B4428 00008025 */ move $s0, $zero -/* 0E8F5C 7F0B442C 8C8F0000 */ lw $t7, ($a0) -/* 0E8F60 7F0B4430 00801025 */ move $v0, $a0 -/* 0E8F64 7F0B4434 11E0000B */ beqz $t7, .L7F0B4464 -/* 0E8F68 7F0B4438 01E01825 */ move $v1, $t7 -/* 0E8F6C 7F0B443C 8EF80000 */ lw $t8, ($s7) -.L7F0B4440: -/* 0E8F70 7F0B4440 26100008 */ addiu $s0, $s0, 8 -/* 0E8F74 7F0B4444 0078C821 */ addu $t9, $v1, $t8 -/* 0E8F78 7F0B4448 03334021 */ addu $t0, $t9, $s3 -/* 0E8F7C 7F0B444C AC480000 */ sw $t0, ($v0) -/* 0E8F80 7F0B4450 8FC90000 */ lw $t1, ($fp) -/* 0E8F84 7F0B4454 01301021 */ addu $v0, $t1, $s0 -/* 0E8F88 7F0B4458 8C430000 */ lw $v1, ($v0) -/* 0E8F8C 7F0B445C 5460FFF8 */ bnezl $v1, .L7F0B4440 -/* 0E8F90 7F0B4460 8EF80000 */ lw $t8, ($s7) -.L7F0B4464: -/* 0E8F94 7F0B4464 8E440000 */ lw $a0, ($s2) -/* 0E8F98 7F0B4468 50800019 */ beql $a0, $zero, .L7F0B44D0 -/* 0E8F9C 7F0B446C 8ED90000 */ lw $t9, ($s6) -/* 0E8FA0 7F0B4470 908A0000 */ lbu $t2, ($a0) -/* 0E8FA4 7F0B4474 00008025 */ move $s0, $zero -/* 0E8FA8 7F0B4478 00801825 */ move $v1, $a0 -/* 0E8FAC 7F0B447C 11400013 */ beqz $t2, .L7F0B44CC -/* 0E8FB0 7F0B4480 314200FF */ andi $v0, $t2, 0xff -/* 0E8FB4 7F0B4484 24110064 */ li $s1, 100 -.L7F0B4488: -/* 0E8FB8 7F0B4488 5622000C */ bnel $s1, $v0, .L7F0B44BC -/* 0E8FBC 7F0B448C 90620008 */ lbu $v0, 8($v1) -/* 0E8FC0 7F0B4490 8C6B0004 */ lw $t3, 4($v1) -/* 0E8FC4 7F0B4494 8EEC0000 */ lw $t4, ($s7) -/* 0E8FC8 7F0B4498 016C6821 */ addu $t5, $t3, $t4 -/* 0E8FCC 7F0B449C 0FC2D7A2 */ jal sub_GAME_7F0B5E88 -/* 0E8FD0 7F0B44A0 01B32021 */ addu $a0, $t5, $s3 -/* 0E8FD4 7F0B44A4 8E4E0000 */ lw $t6, ($s2) -/* 0E8FD8 7F0B44A8 01D07821 */ addu $t7, $t6, $s0 -/* 0E8FDC 7F0B44AC ADE20004 */ sw $v0, 4($t7) -/* 0E8FE0 7F0B44B0 8E580000 */ lw $t8, ($s2) -/* 0E8FE4 7F0B44B4 03101821 */ addu $v1, $t8, $s0 -/* 0E8FE8 7F0B44B8 90620008 */ lbu $v0, 8($v1) -.L7F0B44BC: -/* 0E8FEC 7F0B44BC 26100008 */ addiu $s0, $s0, 8 -/* 0E8FF0 7F0B44C0 24630008 */ addiu $v1, $v1, 8 -/* 0E8FF4 7F0B44C4 1440FFF0 */ bnez $v0, .L7F0B4488 -/* 0E8FF8 7F0B44C8 00000000 */ nop -.L7F0B44CC: -/* 0E8FFC 7F0B44CC 8ED90000 */ lw $t9, ($s6) -.L7F0B44D0: -/* 0E9000 7F0B44D0 3C108004 */ lui $s0, %hi(room_information+0x40) -/* 0E9004 7F0B44D4 26101464 */ addiu $s0, %lo(room_information+0x40) # addiu $s0, $s0, 0x1464 -/* 0E9008 7F0B44D8 2B210002 */ slti $at, $t9, 2 -/* 0E900C 7F0B44DC 14200064 */ bnez $at, .L7F0B4670 -/* 0E9010 7F0B44E0 24110001 */ li $s1, 1 -/* 0E9014 7F0B44E4 8EA40000 */ lw $a0, ($s5) -/* 0E9018 7F0B44E8 24130018 */ li $s3, 24 -/* 0E901C 7F0B44EC 2417FFFF */ li $s7, -1 -/* 0E9020 7F0B44F0 24840018 */ addiu $a0, $a0, 0x18 -.L7F0B44F4: -/* 0E9024 7F0B44F4 A2000002 */ sb $zero, 2($s0) -/* 0E9028 7F0B44F8 A2000035 */ sb $zero, 0x35($s0) -/* 0E902C 7F0B44FC 8C880004 */ lw $t0, 4($a0) -/* 0E9030 7F0B4500 26320001 */ addiu $s2, $s1, 1 -/* 0E9034 7F0B4504 51000020 */ beql $t0, $zero, .L7F0B4588 -/* 0E9038 7F0B4508 AE000014 */ sw $zero, 0x14($s0) -/* 0E903C 7F0B450C 26320001 */ addiu $s2, $s1, 1 -/* 0E9040 7F0B4510 0FC2D00D */ jal sub_GAME_7F0B4034 -/* 0E9044 7F0B4514 02402025 */ move $a0, $s2 -/* 0E9048 7F0B4518 02202025 */ move $a0, $s1 -/* 0E904C 7F0B451C 0FC2D021 */ jal sub_GAME_7F0B4084 -/* 0E9050 7F0B4520 AFA20068 */ sw $v0, 0x68($sp) -/* 0E9054 7F0B4524 8FA50068 */ lw $a1, 0x68($sp) -/* 0E9058 7F0B4528 0045082A */ slt $at, $v0, $a1 -/* 0E905C 7F0B452C 1420000B */ bnez $at, .L7F0B455C -/* 0E9060 7F0B4530 00000000 */ nop -/* 0E9064 7F0B4534 00B40019 */ multu $a1, $s4 -/* 0E9068 7F0B4538 8EA30000 */ lw $v1, ($s5) -/* 0E906C 7F0B453C 00732021 */ addu $a0, $v1, $s3 -/* 0E9070 7F0B4540 8C8C0004 */ lw $t4, 4($a0) -/* 0E9074 7F0B4544 00004812 */ mflo $t1 -/* 0E9078 7F0B4548 00695021 */ addu $t2, $v1, $t1 -/* 0E907C 7F0B454C 8D4B0004 */ lw $t3, 4($t2) -/* 0E9080 7F0B4550 016C6823 */ subu $t5, $t3, $t4 -/* 0E9084 7F0B4554 1000000C */ b .L7F0B4588 -/* 0E9088 7F0B4558 AE0D0014 */ sw $t5, 0x14($s0) -.L7F0B455C: -/* 0E908C 7F0B455C 00540019 */ multu $v0, $s4 -/* 0E9090 7F0B4560 8EA30000 */ lw $v1, ($s5) -/* 0E9094 7F0B4564 00732021 */ addu $a0, $v1, $s3 -/* 0E9098 7F0B4568 8C990004 */ lw $t9, 4($a0) -/* 0E909C 7F0B456C 00007012 */ mflo $t6 -/* 0E90A0 7F0B4570 006E7821 */ addu $t7, $v1, $t6 -/* 0E90A4 7F0B4574 8DF80008 */ lw $t8, 8($t7) -/* 0E90A8 7F0B4578 03194023 */ subu $t0, $t8, $t9 -/* 0E90AC 7F0B457C 10000002 */ b .L7F0B4588 -/* 0E90B0 7F0B4580 AE080014 */ sw $t0, 0x14($s0) -/* 0E90B4 7F0B4584 AE000014 */ sw $zero, 0x14($s0) -.L7F0B4588: -/* 0E90B8 7F0B4588 8C890008 */ lw $t1, 8($a0) -/* 0E90BC 7F0B458C 5120001E */ beql $t1, $zero, .L7F0B4608 -/* 0E90C0 7F0B4590 AE000018 */ sw $zero, 0x18($s0) -/* 0E90C4 7F0B4594 0FC2D00D */ jal sub_GAME_7F0B4034 -/* 0E90C8 7F0B4598 02402025 */ move $a0, $s2 -/* 0E90CC 7F0B459C 00408825 */ move $s1, $v0 -/* 0E90D0 7F0B45A0 0FC2D021 */ jal sub_GAME_7F0B4084 -/* 0E90D4 7F0B45A4 02402025 */ move $a0, $s2 -/* 0E90D8 7F0B45A8 0051082A */ slt $at, $v0, $s1 -/* 0E90DC 7F0B45AC 1420000B */ bnez $at, .L7F0B45DC -/* 0E90E0 7F0B45B0 00000000 */ nop -/* 0E90E4 7F0B45B4 02340019 */ multu $s1, $s4 -/* 0E90E8 7F0B45B8 8EA30000 */ lw $v1, ($s5) -/* 0E90EC 7F0B45BC 00732021 */ addu $a0, $v1, $s3 -/* 0E90F0 7F0B45C0 8C8D0008 */ lw $t5, 8($a0) -/* 0E90F4 7F0B45C4 00005012 */ mflo $t2 -/* 0E90F8 7F0B45C8 006A5821 */ addu $t3, $v1, $t2 -/* 0E90FC 7F0B45CC 8D6C0004 */ lw $t4, 4($t3) -/* 0E9100 7F0B45D0 018D7023 */ subu $t6, $t4, $t5 -/* 0E9104 7F0B45D4 1000000C */ b .L7F0B4608 -/* 0E9108 7F0B45D8 AE0E0018 */ sw $t6, 0x18($s0) -.L7F0B45DC: -/* 0E910C 7F0B45DC 00540019 */ multu $v0, $s4 -/* 0E9110 7F0B45E0 8EA30000 */ lw $v1, ($s5) -/* 0E9114 7F0B45E4 00732021 */ addu $a0, $v1, $s3 -/* 0E9118 7F0B45E8 8C880008 */ lw $t0, 8($a0) -/* 0E911C 7F0B45EC 00007812 */ mflo $t7 -/* 0E9120 7F0B45F0 006FC021 */ addu $t8, $v1, $t7 -/* 0E9124 7F0B45F4 8F190008 */ lw $t9, 8($t8) -/* 0E9128 7F0B45F8 03284823 */ subu $t1, $t9, $t0 -/* 0E912C 7F0B45FC 10000002 */ b .L7F0B4608 -/* 0E9130 7F0B4600 AE090018 */ sw $t1, 0x18($s0) -/* 0E9134 7F0B4604 AE000018 */ sw $zero, 0x18($s0) -.L7F0B4608: -/* 0E9138 7F0B4608 8C8A0000 */ lw $t2, ($a0) -/* 0E913C 7F0B460C 5140000F */ beql $t2, $zero, .L7F0B464C -/* 0E9140 7F0B4610 AE000010 */ sw $zero, 0x10($s0) -/* 0E9144 7F0B4614 0FC2D035 */ jal sub_GAME_7F0B40D4 -/* 0E9148 7F0B4618 02402025 */ move $a0, $s2 -/* 0E914C 7F0B461C 00540019 */ multu $v0, $s4 -/* 0E9150 7F0B4620 8EA30000 */ lw $v1, ($s5) -/* 0E9154 7F0B4624 8EC50000 */ lw $a1, ($s6) -/* 0E9158 7F0B4628 00732021 */ addu $a0, $v1, $s3 -/* 0E915C 7F0B462C 8C8E0000 */ lw $t6, ($a0) -/* 0E9160 7F0B4630 00005812 */ mflo $t3 -/* 0E9164 7F0B4634 006B6021 */ addu $t4, $v1, $t3 -/* 0E9168 7F0B4638 8D8D0000 */ lw $t5, ($t4) -/* 0E916C 7F0B463C 01AE7823 */ subu $t7, $t5, $t6 -/* 0E9170 7F0B4640 10000003 */ b .L7F0B4650 -/* 0E9174 7F0B4644 AE0F0010 */ sw $t7, 0x10($s0) -/* 0E9178 7F0B4648 AE000010 */ sw $zero, 0x10($s0) -.L7F0B464C: -/* 0E917C 7F0B464C 8EC50000 */ lw $a1, ($s6) -.L7F0B4650: -/* 0E9180 7F0B4650 0245082A */ slt $at, $s2, $a1 -/* 0E9184 7F0B4654 02408825 */ move $s1, $s2 -/* 0E9188 7F0B4658 26100050 */ addiu $s0, $s0, 0x50 -/* 0E918C 7F0B465C 26730018 */ addiu $s3, $s3, 0x18 -/* 0E9190 7F0B4660 24840018 */ addiu $a0, $a0, 0x18 -/* 0E9194 7F0B4664 1420FFA3 */ bnez $at, .L7F0B44F4 -/* 0E9198 7F0B4668 AE17FFD8 */ sw $s7, -0x28($s0) -/* 0E919C 7F0B466C 24110001 */ li $s1, 1 -.L7F0B4670: -/* 0E91A0 7F0B4670 0FC2F14C */ jal sub_GAME_7F0BC530 -/* 0E91A4 7F0B4674 00000000 */ nop -/* 0E91A8 7F0B4678 8ED80000 */ lw $t8, ($s6) -/* 0E91AC 7F0B467C 2B010002 */ slti $at, $t8, 2 -/* 0E91B0 7F0B4680 54200009 */ bnezl $at, .L7F0B46A8 -/* 0E91B4 7F0B4684 8FC40000 */ lw $a0, ($fp) -.L7F0B4688: -/* 0E91B8 7F0B4688 0FC2E4CE */ jal sub_GAME_7F0B9338 -/* 0E91BC 7F0B468C 02202025 */ move $a0, $s1 -/* 0E91C0 7F0B4690 8ED90000 */ lw $t9, ($s6) -/* 0E91C4 7F0B4694 26310001 */ addiu $s1, $s1, 1 -/* 0E91C8 7F0B4698 0239082A */ slt $at, $s1, $t9 -/* 0E91CC 7F0B469C 1420FFFA */ bnez $at, .L7F0B4688 -/* 0E91D0 7F0B46A0 00000000 */ nop -/* 0E91D4 7F0B46A4 8FC40000 */ lw $a0, ($fp) -.L7F0B46A8: -/* 0E91D8 7F0B46A8 3C038004 */ lui $v1, %hi(D_800443C4) -/* 0E91DC 7F0B46AC 246343C4 */ addiu $v1, %lo(D_800443C4) # addiu $v1, $v1, 0x43c4 -/* 0E91E0 7F0B46B0 8C820000 */ lw $v0, ($a0) -/* 0E91E4 7F0B46B4 00008825 */ move $s1, $zero -/* 0E91E8 7F0B46B8 00008025 */ move $s0, $zero -/* 0E91EC 7F0B46BC 10400010 */ beqz $v0, .L7F0B4700 -/* 0E91F0 7F0B46C0 00000000 */ nop -/* 0E91F4 7F0B46C4 02202025 */ move $a0, $s1 -.L7F0B46C8: -/* 0E91F8 7F0B46C8 0FC2E64F */ jal sub_GAME_7F0B993C -/* 0E91FC 7F0B46CC AFA3004C */ sw $v1, 0x4c($sp) -/* 0E9200 7F0B46D0 8FC40000 */ lw $a0, ($fp) -/* 0E9204 7F0B46D4 8FA3004C */ lw $v1, 0x4c($sp) -/* 0E9208 7F0B46D8 26100008 */ addiu $s0, $s0, 8 -/* 0E920C 7F0B46DC 00904021 */ addu $t0, $a0, $s0 -/* 0E9210 7F0B46E0 A0620000 */ sb $v0, ($v1) -/* 0E9214 7F0B46E4 8D090000 */ lw $t1, ($t0) -/* 0E9218 7F0B46E8 26310001 */ addiu $s1, $s1, 1 -/* 0E921C 7F0B46EC 24630001 */ addiu $v1, $v1, 1 -/* 0E9220 7F0B46F0 5520FFF5 */ bnezl $t1, .L7F0B46C8 -/* 0E9224 7F0B46F4 02202025 */ move $a0, $s1 -/* 0E9228 7F0B46F8 00008825 */ move $s1, $zero -/* 0E922C 7F0B46FC 8C820000 */ lw $v0, ($a0) -.L7F0B4700: -/* 0E9230 7F0B4700 1040000B */ beqz $v0, .L7F0B4730 -/* 0E9234 7F0B4704 00008025 */ move $s0, $zero -.L7F0B4708: -/* 0E9238 7F0B4708 0FC2E6E5 */ jal sub_GAME_7F0B9B94 -/* 0E923C 7F0B470C 02202025 */ move $a0, $s1 -/* 0E9240 7F0B4710 8FC40000 */ lw $a0, ($fp) -/* 0E9244 7F0B4714 26100008 */ addiu $s0, $s0, 8 -/* 0E9248 7F0B4718 26310001 */ addiu $s1, $s1, 1 -/* 0E924C 7F0B471C 00905021 */ addu $t2, $a0, $s0 -/* 0E9250 7F0B4720 8D4B0000 */ lw $t3, ($t2) -/* 0E9254 7F0B4724 1560FFF8 */ bnez $t3, .L7F0B4708 -/* 0E9258 7F0B4728 00000000 */ nop -/* 0E925C 7F0B472C 00008825 */ move $s1, $zero -.L7F0B4730: -/* 0E9260 7F0B4730 8ECC0000 */ lw $t4, ($s6) -/* 0E9264 7F0B4734 5980000A */ blezl $t4, .L7F0B4760 -/* 0E9268 7F0B4738 8C8E0000 */ lw $t6, ($a0) -.L7F0B473C: -/* 0E926C 7F0B473C 0FC2E576 */ jal sub_GAME_7F0B95D8 -/* 0E9270 7F0B4740 02202025 */ move $a0, $s1 -/* 0E9274 7F0B4744 8ECD0000 */ lw $t5, ($s6) -/* 0E9278 7F0B4748 26310001 */ addiu $s1, $s1, 1 -/* 0E927C 7F0B474C 022D082A */ slt $at, $s1, $t5 -/* 0E9280 7F0B4750 1420FFFA */ bnez $at, .L7F0B473C -/* 0E9284 7F0B4754 00000000 */ nop -/* 0E9288 7F0B4758 8FC40000 */ lw $a0, ($fp) -/* 0E928C 7F0B475C 8C8E0000 */ lw $t6, ($a0) -.L7F0B4760: -/* 0E9290 7F0B4760 00008025 */ move $s0, $zero -/* 0E9294 7F0B4764 00801025 */ move $v0, $a0 -/* 0E9298 7F0B4768 11C0000A */ beqz $t6, .L7F0B4794 -/* 0E929C 7F0B476C 00000000 */ nop -/* 0E92A0 7F0B4770 904F0006 */ lbu $t7, 6($v0) -.L7F0B4774: -/* 0E92A4 7F0B4774 26100008 */ addiu $s0, $s0, 8 -/* 0E92A8 7F0B4778 31F800FE */ andi $t8, $t7, 0xfe -/* 0E92AC 7F0B477C A0580006 */ sb $t8, 6($v0) -/* 0E92B0 7F0B4780 8FD90000 */ lw $t9, ($fp) -/* 0E92B4 7F0B4784 03301021 */ addu $v0, $t9, $s0 -/* 0E92B8 7F0B4788 8C480000 */ lw $t0, ($v0) -/* 0E92BC 7F0B478C 5500FFF9 */ bnezl $t0, .L7F0B4774 -/* 0E92C0 7F0B4790 904F0006 */ lbu $t7, 6($v0) -.L7F0B4794: -/* 0E92C4 7F0B4794 0FC2CDFB */ jal sub_GAME_7F0B37EC -/* 0E92C8 7F0B4798 00000000 */ nop -.L7F0B479C: -/* 0E92CC 7F0B479C 0FC2EA97 */ jal sub_GAME_7F0BAA5C -/* 0E92D0 7F0B47A0 8FA400B8 */ lw $a0, 0xb8($sp) -/* 0E92D4 7F0B47A4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E92D8 7F0B47A8 240900C8 */ li $t1, 200 -/* 0E92DC 7F0B47AC 3C018004 */ lui $at, %hi(D_800442F8) -/* 0E92E0 7F0B47B0 8FB00018 */ lw $s0, 0x18($sp) -/* 0E92E4 7F0B47B4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0E92E8 7F0B47B8 8FB20020 */ lw $s2, 0x20($sp) -/* 0E92EC 7F0B47BC 8FB30024 */ lw $s3, 0x24($sp) -/* 0E92F0 7F0B47C0 8FB40028 */ lw $s4, 0x28($sp) -/* 0E92F4 7F0B47C4 8FB5002C */ lw $s5, 0x2c($sp) -/* 0E92F8 7F0B47C8 8FB60030 */ lw $s6, 0x30($sp) -/* 0E92FC 7F0B47CC 8FB70034 */ lw $s7, 0x34($sp) -/* 0E9300 7F0B47D0 8FBE0038 */ lw $fp, 0x38($sp) -/* 0E9304 7F0B47D4 AC2942F8 */ sw $t1, %lo(D_800442F8)($at) -/* 0E9308 7F0B47D8 03E00008 */ jr $ra -/* 0E930C 7F0B47DC 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B47E0(void) { - sub_GAME_7F0B667C(); - sub_GAME_7F058C4C(1.0); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B47E0 -/* 0E9310 7F0B47E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E9314 7F0B47E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E9318 7F0B47E8 0FC2D99F */ jal sub_GAME_7F0B667C -/* 0E931C 7F0B47EC 00000000 */ nop -/* 0E9320 7F0B47F0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E9324 7F0B47F4 44816000 */ mtc1 $at, $f12 -/* 0E9328 7F0B47F8 0FC16313 */ jal sub_GAME_7F058C4C -/* 0E932C 7F0B47FC 00000000 */ nop -/* 0E9330 7F0B4800 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E9334 7F0B4804 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E9338 7F0B4808 03E00008 */ jr $ra -/* 0E933C 7F0B480C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B4810(f32 arg0) { - room_data_float1 = arg0; - room_data_float2 = (f32) (1.0f / arg0); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4810 -/* 0E9340 7F0B4810 3C018004 */ lui $at, %hi(room_data_float1) -/* 0E9344 7F0B4814 E42C13F4 */ swc1 $f12, %lo(room_data_float1)($at) -/* 0E9348 7F0B4818 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E934C 7F0B481C 44812000 */ mtc1 $at, $f4 -/* 0E9350 7F0B4820 3C018004 */ lui $at, %hi(room_data_float2) -/* 0E9354 7F0B4824 460C2183 */ div.s $f6, $f4, $f12 -/* 0E9358 7F0B4828 03E00008 */ jr $ra -/* 0E935C 7F0B482C E42613F8 */ swc1 $f6, %lo(room_data_float2)($at) -) -#endif - - - - - - -f32 get_room_data_float2(void){ - return room_data_float2; -} - -f32 get_room_data_float1(void){ - return room_data_float1; -} - - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B4848(void) { - void *temp_v0; - - temp_v0 = ((D_80041400 * 0x18) + &levelinfotable); - return (temp_v0->unk14 / temp_v0->unkC); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4848 -/* 0E9378 7F0B4848 3C0E8004 */ lui $t6, %hi(D_80041400) -/* 0E937C 7F0B484C 8DCE1400 */ lw $t6, %lo(D_80041400)($t6) -/* 0E9380 7F0B4850 3C188004 */ lui $t8, %hi(levelinfotable) -/* 0E9384 7F0B4854 2718448C */ addiu $t8, %lo(levelinfotable) # addiu $t8, $t8, 0x448c -/* 0E9388 7F0B4858 000E7880 */ sll $t7, $t6, 2 -/* 0E938C 7F0B485C 01EE7823 */ subu $t7, $t7, $t6 -/* 0E9390 7F0B4860 000F78C0 */ sll $t7, $t7, 3 -/* 0E9394 7F0B4864 01F81021 */ addu $v0, $t7, $t8 -/* 0E9398 7F0B4868 C4440014 */ lwc1 $f4, 0x14($v0) -/* 0E939C 7F0B486C C446000C */ lwc1 $f6, 0xc($v0) -/* 0E93A0 7F0B4870 03E00008 */ jr $ra -/* 0E93A4 7F0B4874 46062003 */ div.s $f0, $f4, $f6 -) -#endif - - - - - -f32 sub_GAME_7F0B4878(void) { - return D_800413FC; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B4884(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80058C58*/ -glabel jpt_80058C58 -.word .L7F0B4914 -.word .L7F0B4914 -.word .L7F0B4914 -.word .L7F0B491C -.word .L7F0B491C -.word .L7F0B491C -.word .L7F0B4914 -.word .L7F0B491C -.word .L7F0B4914 - -.text -glabel sub_GAME_7F0B4884 -/* 0E93B4 7F0B4884 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0E93B8 7F0B4888 AFBF003C */ sw $ra, 0x3c($sp) -/* 0E93BC 7F0B488C AFB60030 */ sw $s6, 0x30($sp) -/* 0E93C0 7F0B4890 3C018008 */ lui $at, %hi(num_visible_rooms_in_cur_global_vis_packet) -/* 0E93C4 7F0B4894 AFBE0038 */ sw $fp, 0x38($sp) -/* 0E93C8 7F0B4898 AFB70034 */ sw $s7, 0x34($sp) -/* 0E93CC 7F0B489C AFB5002C */ sw $s5, 0x2c($sp) -/* 0E93D0 7F0B48A0 AFB40028 */ sw $s4, 0x28($sp) -/* 0E93D4 7F0B48A4 AFB30024 */ sw $s3, 0x24($sp) -/* 0E93D8 7F0B48A8 AFB20020 */ sw $s2, 0x20($sp) -/* 0E93DC 7F0B48AC AFB1001C */ sw $s1, 0x1c($sp) -/* 0E93E0 7F0B48B0 AFB00018 */ sw $s0, 0x18($sp) -/* 0E93E4 7F0B48B4 2416FFFF */ li $s6, -1 -/* 0E93E8 7F0B48B8 0FC26C54 */ jal get_cur_playernum -/* 0E93EC 7F0B48BC AC20C038 */ sw $zero, %lo(num_visible_rooms_in_cur_global_vis_packet)($at) -/* 0E93F0 7F0B48C0 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 0E93F4 7F0B48C4 00402025 */ move $a0, $v0 -/* 0E93F8 7F0B48C8 14400003 */ bnez $v0, .L7F0B48D8 -/* 0E93FC 7F0B48CC 00000000 */ nop -/* 0E9400 7F0B48D0 0FC2D9BA */ jal sub_GAME_7F0B66E8 -/* 0E9404 7F0B48D4 00000000 */ nop -.L7F0B48D8: -/* 0E9408 7F0B48D8 0FC1E94A */ jal get_camera_mode -/* 0E940C 7F0B48DC 00000000 */ nop -/* 0E9410 7F0B48E0 3C038004 */ lui $v1, %hi(D_800442F8) -/* 0E9414 7F0B48E4 244FFFFF */ addiu $t7, $v0, -1 -/* 0E9418 7F0B48E8 246342F8 */ addiu $v1, %lo(D_800442F8) # addiu $v1, $v1, 0x42f8 -/* 0E941C 7F0B48EC 240E0003 */ li $t6, 3 -/* 0E9420 7F0B48F0 2DE10009 */ sltiu $at, $t7, 9 -/* 0E9424 7F0B48F4 10200009 */ beqz $at, .L7F0B491C -/* 0E9428 7F0B48F8 AC6E0000 */ sw $t6, ($v1) -/* 0E942C 7F0B48FC 000F7880 */ sll $t7, $t7, 2 -/* 0E9430 7F0B4900 3C018006 */ lui $at, %hi(jpt_80058C58) -/* 0E9434 7F0B4904 002F0821 */ addu $at, $at, $t7 -/* 0E9438 7F0B4908 8C2F8C58 */ lw $t7, %lo(jpt_80058C58)($at) -.L7F0B490C: -/* 0E943C 7F0B490C 01E00008 */ jr $t7 -/* 0E9440 7F0B4910 00000000 */ nop -.L7F0B4914: -/* 0E9444 7F0B4914 241800C8 */ li $t8, 200 -/* 0E9448 7F0B4918 AC780000 */ sw $t8, ($v1) -def_7F0B490C: -.L7F0B491C: -/* 0E944C 7F0B491C 0FC227E6 */ jal get_cur_players_room -/* 0E9450 7F0B4920 00000000 */ nop -/* 0E9454 7F0B4924 3C018004 */ lui $at, %hi(current_room_maybe) -/* 0E9458 7F0B4928 00409825 */ move $s3, $v0 -/* 0E945C 7F0B492C 0FC227F5 */ jal get_BONDdata_position -/* 0E9460 7F0B4930 AC224838 */ sw $v0, %lo(current_room_maybe)($at) -/* 0E9464 7F0B4934 0FC22800 */ jal get_BONDdata_position3 -/* 0E9468 7F0B4938 0040A025 */ move $s4, $v0 -/* 0E946C 7F0B493C 3C038008 */ lui $v1, %hi(ptr_bgdata_portals) -/* 0E9470 7F0B4940 0040A825 */ move $s5, $v0 -/* 0E9474 7F0B4944 8C63FF80 */ lw $v1, %lo(ptr_bgdata_portals)($v1) -/* 0E9478 7F0B4948 0000B825 */ move $s7, $zero -/* 0E947C 7F0B494C 241E000B */ li $fp, 11 -/* 0E9480 7F0B4950 8C790000 */ lw $t9, ($v1) -.L7F0B4954: -/* 0E9484 7F0B4954 3C128004 */ lui $s2, %hi(D_800443C4) -/* 0E9488 7F0B4958 265243C4 */ addiu $s2, %lo(D_800443C4) # addiu $s2, $s2, 0x43c4 -/* 0E948C 7F0B495C 13200025 */ beqz $t9, .L7F0B49F4 -/* 0E9490 7F0B4960 00008025 */ move $s0, $zero -/* 0E9494 7F0B4964 00008825 */ move $s1, $zero -/* 0E9498 7F0B4968 00601025 */ move $v0, $v1 -.L7F0B496C: -/* 0E949C 7F0B496C 92480000 */ lbu $t0, ($s2) -/* 0E94A0 7F0B4970 5500001B */ bnezl $t0, .L7F0B49E0 -/* 0E94A4 7F0B4974 8C4E0008 */ lw $t6, 8($v0) -/* 0E94A8 7F0B4978 52160019 */ beql $s0, $s6, .L7F0B49E0 -/* 0E94AC 7F0B497C 8C4E0008 */ lw $t6, 8($v0) -/* 0E94B0 7F0B4980 90490004 */ lbu $t1, 4($v0) -/* 0E94B4 7F0B4984 02002025 */ move $a0, $s0 -/* 0E94B8 7F0B4988 02802825 */ move $a1, $s4 -/* 0E94BC 7F0B498C 12690004 */ beq $s3, $t1, .L7F0B49A0 -/* 0E94C0 7F0B4990 00000000 */ nop -/* 0E94C4 7F0B4994 904A0005 */ lbu $t2, 5($v0) -/* 0E94C8 7F0B4998 166A000D */ bne $s3, $t2, .L7F0B49D0 -/* 0E94CC 7F0B499C 00000000 */ nop -.L7F0B49A0: -/* 0E94D0 7F0B49A0 0FC2E7C5 */ jal sub_GAME_7F0B9F14 -/* 0E94D4 7F0B49A4 02A03025 */ move $a2, $s5 -/* 0E94D8 7F0B49A8 10400009 */ beqz $v0, .L7F0B49D0 -/* 0E94DC 7F0B49AC 3C038008 */ lui $v1, %hi(ptr_bgdata_portals) -/* 0E94E0 7F0B49B0 8C63FF80 */ lw $v1, %lo(ptr_bgdata_portals)($v1) -/* 0E94E4 7F0B49B4 0200B025 */ move $s6, $s0 -/* 0E94E8 7F0B49B8 00711021 */ addu $v0, $v1, $s1 -/* 0E94EC 7F0B49BC 904C0004 */ lbu $t4, 4($v0) -/* 0E94F0 7F0B49C0 904B0005 */ lbu $t3, 5($v0) -/* 0E94F4 7F0B49C4 026C6826 */ xor $t5, $s3, $t4 -/* 0E94F8 7F0B49C8 1000000A */ b .L7F0B49F4 -/* 0E94FC 7F0B49CC 016D9826 */ xor $s3, $t3, $t5 -.L7F0B49D0: -/* 0E9500 7F0B49D0 3C038008 */ lui $v1, %hi(ptr_bgdata_portals) -/* 0E9504 7F0B49D4 8C63FF80 */ lw $v1, %lo(ptr_bgdata_portals)($v1) -/* 0E9508 7F0B49D8 00711021 */ addu $v0, $v1, $s1 -/* 0E950C 7F0B49DC 8C4E0008 */ lw $t6, 8($v0) -.L7F0B49E0: -/* 0E9510 7F0B49E0 26100001 */ addiu $s0, $s0, 1 -/* 0E9514 7F0B49E4 26520001 */ addiu $s2, $s2, 1 -/* 0E9518 7F0B49E8 26310008 */ addiu $s1, $s1, 8 -/* 0E951C 7F0B49EC 15C0FFDF */ bnez $t6, .L7F0B496C -/* 0E9520 7F0B49F0 24420008 */ addiu $v0, $v0, 8 -.L7F0B49F4: -/* 0E9524 7F0B49F4 001078C0 */ sll $t7, $s0, 3 -/* 0E9528 7F0B49F8 006FC021 */ addu $t8, $v1, $t7 -/* 0E952C 7F0B49FC 8F190000 */ lw $t9, ($t8) -/* 0E9530 7F0B4A00 26F70001 */ addiu $s7, $s7, 1 -/* 0E9534 7F0B4A04 13200003 */ beqz $t9, .L7F0B4A14 -/* 0E9538 7F0B4A08 00000000 */ nop -/* 0E953C 7F0B4A0C 56FEFFD1 */ bnel $s7, $fp, .L7F0B4954 -/* 0E9540 7F0B4A10 8C790000 */ lw $t9, ($v1) -.L7F0B4A14: -/* 0E9544 7F0B4A14 3C018004 */ lui $at, %hi(current_room_maybe) -/* 0E9548 7F0B4A18 0FC2E29B */ jal sub_GAME_7F0B8A6C -/* 0E954C 7F0B4A1C AC334838 */ sw $s3, %lo(current_room_maybe)($at) -/* 0E9550 7F0B4A20 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E9554 7F0B4A24 8FB00018 */ lw $s0, 0x18($sp) -/* 0E9558 7F0B4A28 8FB1001C */ lw $s1, 0x1c($sp) -/* 0E955C 7F0B4A2C 8FB20020 */ lw $s2, 0x20($sp) -/* 0E9560 7F0B4A30 8FB30024 */ lw $s3, 0x24($sp) -/* 0E9564 7F0B4A34 8FB40028 */ lw $s4, 0x28($sp) -/* 0E9568 7F0B4A38 8FB5002C */ lw $s5, 0x2c($sp) -/* 0E956C 7F0B4A3C 8FB60030 */ lw $s6, 0x30($sp) -/* 0E9570 7F0B4A40 8FB70034 */ lw $s7, 0x34($sp) -/* 0E9574 7F0B4A44 8FBE0038 */ lw $fp, 0x38($sp) -/* 0E9578 7F0B4A48 03E00008 */ jr $ra -/* 0E957C 7F0B4A4C 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B4A50(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4A50 -/* 0E9580 7F0B4A50 AFA50004 */ sw $a1, 4($sp) -/* 0E9584 7F0B4A54 908E0000 */ lbu $t6, ($a0) -/* 0E9588 7F0B4A58 240800FF */ li $t0, 255 -/* 0E958C 7F0B4A5C 30A600FF */ andi $a2, $a1, 0xff -/* 0E9590 7F0B4A60 110E000C */ beq $t0, $t6, .L7F0B4A94 -/* 0E9594 7F0B4A64 00001025 */ move $v0, $zero -/* 0E9598 7F0B4A68 00801821 */ addu $v1, $a0, $zero -/* 0E959C 7F0B4A6C 90850000 */ lbu $a1, ($a0) -/* 0E95A0 7F0B4A70 00C03825 */ move $a3, $a2 -.L7F0B4A74: -/* 0E95A4 7F0B4A74 10E5000D */ beq $a3, $a1, .L7F0B4AAC -/* 0E95A8 7F0B4A78 24420001 */ addiu $v0, $v0, 1 -/* 0E95AC 7F0B4A7C 28410010 */ slti $at, $v0, 0x10 -/* 0E95B0 7F0B4A80 10200004 */ beqz $at, .L7F0B4A94 -/* 0E95B4 7F0B4A84 24630001 */ addiu $v1, $v1, 1 -/* 0E95B8 7F0B4A88 90650000 */ lbu $a1, ($v1) -/* 0E95BC 7F0B4A8C 1505FFF9 */ bne $t0, $a1, .L7F0B4A74 -/* 0E95C0 7F0B4A90 00000000 */ nop -.L7F0B4A94: -/* 0E95C4 7F0B4A94 2841000F */ slti $at, $v0, 0xf -/* 0E95C8 7F0B4A98 10200004 */ beqz $at, .L7F0B4AAC -/* 0E95CC 7F0B4A9C 00821821 */ addu $v1, $a0, $v0 -/* 0E95D0 7F0B4AA0 240F00FF */ li $t7, 255 -/* 0E95D4 7F0B4AA4 A0660000 */ sb $a2, ($v1) -/* 0E95D8 7F0B4AA8 A06F0001 */ sb $t7, 1($v1) -.L7F0B4AAC: -/* 0E95DC 7F0B4AAC 03E00008 */ jr $ra -/* 0E95E0 7F0B4AB0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B4AB4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4AB4 -/* 0E95E4 7F0B4AB4 27BDFEA0 */ addiu $sp, $sp, -0x160 -/* 0E95E8 7F0B4AB8 AFB5002C */ sw $s5, 0x2c($sp) -/* 0E95EC 7F0B4ABC 3C158008 */ lui $s5, %hi(ptr_bgdata_portals) -/* 0E95F0 7F0B4AC0 26B5FF80 */ addiu $s5, %lo(ptr_bgdata_portals) # addiu $s5, $s5, -0x80 -/* 0E95F4 7F0B4AC4 8EA80000 */ lw $t0, ($s5) -/* 0E95F8 7F0B4AC8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0E95FC 7F0B4ACC AFBE0038 */ sw $fp, 0x38($sp) -/* 0E9600 7F0B4AD0 AFB70034 */ sw $s7, 0x34($sp) -/* 0E9604 7F0B4AD4 AFB60030 */ sw $s6, 0x30($sp) -/* 0E9608 7F0B4AD8 AFB40028 */ sw $s4, 0x28($sp) -/* 0E960C 7F0B4ADC AFB30024 */ sw $s3, 0x24($sp) -/* 0E9610 7F0B4AE0 AFB20020 */ sw $s2, 0x20($sp) -/* 0E9614 7F0B4AE4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0E9618 7F0B4AE8 AFB00018 */ sw $s0, 0x18($sp) -/* 0E961C 7F0B4AEC AFA7016C */ sw $a3, 0x16c($sp) -/* 0E9620 7F0B4AF0 8D0E0000 */ lw $t6, ($t0) -/* 0E9624 7F0B4AF4 00809825 */ move $s3, $a0 -/* 0E9628 7F0B4AF8 00A0A025 */ move $s4, $a1 -/* 0E962C 7F0B4AFC 11C00013 */ beqz $t6, .L7F0B4B4C -/* 0E9630 7F0B4B00 00C0B025 */ move $s6, $a2 -/* 0E9634 7F0B4B04 27B1005C */ addiu $s1, $sp, 0x5c -/* 0E9638 7F0B4B08 00009025 */ move $s2, $zero -/* 0E963C 7F0B4B0C AFA0012C */ sw $zero, 0x12c($sp) -/* 0E9640 7F0B4B10 8FA4012C */ lw $a0, 0x12c($sp) -.L7F0B4B14: -/* 0E9644 7F0B4B14 02602825 */ move $a1, $s3 -/* 0E9648 7F0B4B18 0FC2E7C5 */ jal sub_GAME_7F0B9F14 -/* 0E964C 7F0B4B1C 02803025 */ move $a2, $s4 -/* 0E9650 7F0B4B20 A2220000 */ sb $v0, ($s1) -/* 0E9654 7F0B4B24 8FAF012C */ lw $t7, 0x12c($sp) -/* 0E9658 7F0B4B28 8EA80000 */ lw $t0, ($s5) -/* 0E965C 7F0B4B2C 26520008 */ addiu $s2, $s2, 8 -/* 0E9660 7F0B4B30 25F80001 */ addiu $t8, $t7, 1 -/* 0E9664 7F0B4B34 AFB8012C */ sw $t8, 0x12c($sp) -/* 0E9668 7F0B4B38 0112C821 */ addu $t9, $t0, $s2 -/* 0E966C 7F0B4B3C 8F290000 */ lw $t1, ($t9) -/* 0E9670 7F0B4B40 26310001 */ addiu $s1, $s1, 1 -/* 0E9674 7F0B4B44 5520FFF3 */ bnezl $t1, .L7F0B4B14 -/* 0E9678 7F0B4B48 8FA4012C */ lw $a0, 0x12c($sp) -.L7F0B4B4C: -/* 0E967C 7F0B4B4C 27A30150 */ addiu $v1, $sp, 0x150 -/* 0E9680 7F0B4B50 02C02025 */ move $a0, $s6 -/* 0E9684 7F0B4B54 27A20158 */ addiu $v0, $sp, 0x158 -.L7F0B4B58: -/* 0E9688 7F0B4B58 908A0000 */ lbu $t2, ($a0) -/* 0E968C 7F0B4B5C 24630001 */ addiu $v1, $v1, 1 -/* 0E9690 7F0B4B60 0062082B */ sltu $at, $v1, $v0 -/* 0E9694 7F0B4B64 24840001 */ addiu $a0, $a0, 1 -/* 0E9698 7F0B4B68 1420FFFB */ bnez $at, .L7F0B4B58 -/* 0E969C 7F0B4B6C A06AFFFF */ sb $t2, -1($v1) -/* 0E96A0 7F0B4B70 02C02025 */ move $a0, $s6 -/* 0E96A4 7F0B4B74 27A20130 */ addiu $v0, $sp, 0x130 -/* 0E96A8 7F0B4B78 27A30138 */ addiu $v1, $sp, 0x138 -.L7F0B4B7C: -/* 0E96AC 7F0B4B7C 908B0000 */ lbu $t3, ($a0) -/* 0E96B0 7F0B4B80 24420001 */ addiu $v0, $v0, 1 -/* 0E96B4 7F0B4B84 0043082B */ sltu $at, $v0, $v1 -/* 0E96B8 7F0B4B88 24840001 */ addiu $a0, $a0, 1 -/* 0E96BC 7F0B4B8C 1420FFFB */ bnez $at, .L7F0B4B7C -/* 0E96C0 7F0B4B90 A04BFFFF */ sb $t3, -1($v0) -/* 0E96C4 7F0B4B94 93AC0150 */ lbu $t4, 0x150($sp) -/* 0E96C8 7F0B4B98 240500FF */ li $a1, 255 -/* 0E96CC 7F0B4B9C AFA00124 */ sw $zero, 0x124($sp) -/* 0E96D0 7F0B4BA0 10AC0009 */ beq $a1, $t4, .L7F0B4BC8 -/* 0E96D4 7F0B4BA4 27BE0160 */ addiu $fp, $sp, 0x160 -/* 0E96D8 7F0B4BA8 27A30150 */ addiu $v1, $sp, 0x150 -/* 0E96DC 7F0B4BAC 27A20160 */ addiu $v0, $sp, 0x160 -/* 0E96E0 7F0B4BB0 906D0001 */ lbu $t5, 1($v1) -.L7F0B4BB4: -/* 0E96E4 7F0B4BB4 24630001 */ addiu $v1, $v1, 1 -/* 0E96E8 7F0B4BB8 50AD0004 */ beql $a1, $t5, .L7F0B4BCC -/* 0E96EC 7F0B4BBC AFA00124 */ sw $zero, 0x124($sp) -/* 0E96F0 7F0B4BC0 5462FFFC */ bnel $v1, $v0, .L7F0B4BB4 -/* 0E96F4 7F0B4BC4 906D0001 */ lbu $t5, 1($v1) -.L7F0B4BC8: -/* 0E96F8 7F0B4BC8 AFA00124 */ sw $zero, 0x124($sp) -.L7F0B4BCC: -/* 0E96FC 7F0B4BCC 24170002 */ li $s7, 2 -/* 0E9700 7F0B4BD0 24160001 */ li $s6, 1 -/* 0E9704 7F0B4BD4 27B40130 */ addiu $s4, $sp, 0x130 -/* 0E9708 7F0B4BD8 27B30140 */ addiu $s3, $sp, 0x140 -.L7F0B4BDC: -/* 0E970C 7F0B4BDC 240E00FF */ li $t6, 255 -/* 0E9710 7F0B4BE0 A3AE0140 */ sb $t6, 0x140($sp) -/* 0E9714 7F0B4BE4 AFA0012C */ sw $zero, 0x12c($sp) -/* 0E9718 7F0B4BE8 8D0F0000 */ lw $t7, ($t0) -/* 0E971C 7F0B4BEC 00009025 */ move $s2, $zero -/* 0E9720 7F0B4BF0 01001825 */ move $v1, $t0 -/* 0E9724 7F0B4BF4 51E0003D */ beql $t7, $zero, .L7F0B4CEC -/* 0E9728 7F0B4BF8 93A40140 */ lbu $a0, 0x140($sp) -/* 0E972C 7F0B4BFC 93B80150 */ lbu $t8, 0x150($sp) -.L7F0B4C00: -/* 0E9730 7F0B4C00 8FB9012C */ lw $t9, 0x12c($sp) -/* 0E9734 7F0B4C04 27A9005C */ addiu $t1, $sp, 0x5c -/* 0E9738 7F0B4C08 10B8002E */ beq $a1, $t8, .L7F0B4CC4 -/* 0E973C 7F0B4C0C 03298821 */ addu $s1, $t9, $t1 -/* 0E9740 7F0B4C10 27AA0150 */ addiu $t2, $sp, 0x150 -/* 0E9744 7F0B4C14 000A8021 */ addu $s0, $zero, $t2 -/* 0E9748 7F0B4C18 92220000 */ lbu $v0, ($s1) -.L7F0B4C1C: -/* 0E974C 7F0B4C1C 16C20011 */ bne $s6, $v0, .L7F0B4C64 -/* 0E9750 7F0B4C20 00000000 */ nop -/* 0E9754 7F0B4C24 906B0004 */ lbu $t3, 4($v1) -/* 0E9758 7F0B4C28 920C0000 */ lbu $t4, ($s0) -/* 0E975C 7F0B4C2C 02602025 */ move $a0, $s3 -/* 0E9760 7F0B4C30 156C000C */ bne $t3, $t4, .L7F0B4C64 -/* 0E9764 7F0B4C34 00000000 */ nop -/* 0E9768 7F0B4C38 0FC2D294 */ jal sub_GAME_7F0B4A50 -/* 0E976C 7F0B4C3C 90650005 */ lbu $a1, 5($v1) -/* 0E9770 7F0B4C40 8EAD0000 */ lw $t5, ($s5) -/* 0E9774 7F0B4C44 02802025 */ move $a0, $s4 -/* 0E9778 7F0B4C48 01B27021 */ addu $t6, $t5, $s2 -/* 0E977C 7F0B4C4C 0FC2D294 */ jal sub_GAME_7F0B4A50 -/* 0E9780 7F0B4C50 91C50005 */ lbu $a1, 5($t6) -/* 0E9784 7F0B4C54 8EA80000 */ lw $t0, ($s5) -/* 0E9788 7F0B4C58 A2200000 */ sb $zero, ($s1) -/* 0E978C 7F0B4C5C 300200FF */ andi $v0, $zero, 0xff -/* 0E9790 7F0B4C60 01121821 */ addu $v1, $t0, $s2 -.L7F0B4C64: -/* 0E9794 7F0B4C64 56E20011 */ bnel $s7, $v0, .L7F0B4CAC -/* 0E9798 7F0B4C68 920A0001 */ lbu $t2, 1($s0) -/* 0E979C 7F0B4C6C 906F0005 */ lbu $t7, 5($v1) -/* 0E97A0 7F0B4C70 92180000 */ lbu $t8, ($s0) -/* 0E97A4 7F0B4C74 02602025 */ move $a0, $s3 -/* 0E97A8 7F0B4C78 55F8000C */ bnel $t7, $t8, .L7F0B4CAC -/* 0E97AC 7F0B4C7C 920A0001 */ lbu $t2, 1($s0) -/* 0E97B0 7F0B4C80 0FC2D294 */ jal sub_GAME_7F0B4A50 -/* 0E97B4 7F0B4C84 90650004 */ lbu $a1, 4($v1) -/* 0E97B8 7F0B4C88 8EB90000 */ lw $t9, ($s5) -/* 0E97BC 7F0B4C8C 02802025 */ move $a0, $s4 -/* 0E97C0 7F0B4C90 03324821 */ addu $t1, $t9, $s2 -/* 0E97C4 7F0B4C94 0FC2D294 */ jal sub_GAME_7F0B4A50 -/* 0E97C8 7F0B4C98 91250004 */ lbu $a1, 4($t1) -/* 0E97CC 7F0B4C9C 8EA80000 */ lw $t0, ($s5) -/* 0E97D0 7F0B4CA0 A2200000 */ sb $zero, ($s1) -/* 0E97D4 7F0B4CA4 01121821 */ addu $v1, $t0, $s2 -/* 0E97D8 7F0B4CA8 920A0001 */ lbu $t2, 1($s0) -.L7F0B4CAC: -/* 0E97DC 7F0B4CAC 240100FF */ li $at, 255 -/* 0E97E0 7F0B4CB0 26100001 */ addiu $s0, $s0, 1 -/* 0E97E4 7F0B4CB4 51410004 */ beql $t2, $at, .L7F0B4CC8 -/* 0E97E8 7F0B4CB8 8FAB012C */ lw $t3, 0x12c($sp) -/* 0E97EC 7F0B4CBC 561EFFD7 */ bnel $s0, $fp, .L7F0B4C1C -/* 0E97F0 7F0B4CC0 92220000 */ lbu $v0, ($s1) -.L7F0B4CC4: -/* 0E97F4 7F0B4CC4 8FAB012C */ lw $t3, 0x12c($sp) -.L7F0B4CC8: -/* 0E97F8 7F0B4CC8 26520008 */ addiu $s2, $s2, 8 -/* 0E97FC 7F0B4CCC 24630008 */ addiu $v1, $v1, 8 -/* 0E9800 7F0B4CD0 256C0001 */ addiu $t4, $t3, 1 -/* 0E9804 7F0B4CD4 AFAC012C */ sw $t4, 0x12c($sp) -/* 0E9808 7F0B4CD8 8C6D0000 */ lw $t5, ($v1) -/* 0E980C 7F0B4CDC 240500FF */ li $a1, 255 -/* 0E9810 7F0B4CE0 55A0FFC7 */ bnezl $t5, .L7F0B4C00 -/* 0E9814 7F0B4CE4 93B80150 */ lbu $t8, 0x150($sp) -/* 0E9818 7F0B4CE8 93A40140 */ lbu $a0, 0x140($sp) -.L7F0B4CEC: -/* 0E981C 7F0B4CEC 27A30150 */ addiu $v1, $sp, 0x150 -/* 0E9820 7F0B4CF0 27A20140 */ addiu $v0, $sp, 0x140 -/* 0E9824 7F0B4CF4 14A40003 */ bne $a1, $a0, .L7F0B4D04 -/* 0E9828 7F0B4CF8 00000000 */ nop -/* 0E982C 7F0B4CFC 10000015 */ b .L7F0B4D54 -/* 0E9830 7F0B4D00 93A20150 */ lbu $v0, 0x150($sp) -.L7F0B4D04: -/* 0E9834 7F0B4D04 904E0000 */ lbu $t6, ($v0) -/* 0E9838 7F0B4D08 24420001 */ addiu $v0, $v0, 1 -/* 0E983C 7F0B4D0C 27AF0150 */ addiu $t7, $sp, 0x150 -/* 0E9840 7F0B4D10 004F082B */ sltu $at, $v0, $t7 -/* 0E9844 7F0B4D14 24630001 */ addiu $v1, $v1, 1 -/* 0E9848 7F0B4D18 1420FFFA */ bnez $at, .L7F0B4D04 -/* 0E984C 7F0B4D1C A06EFFFF */ sb $t6, -1($v1) -/* 0E9850 7F0B4D20 10A40009 */ beq $a1, $a0, .L7F0B4D48 -/* 0E9854 7F0B4D24 AFA00124 */ sw $zero, 0x124($sp) -/* 0E9858 7F0B4D28 02601025 */ move $v0, $s3 -/* 0E985C 7F0B4D2C 90580001 */ lbu $t8, 1($v0) -.L7F0B4D30: -/* 0E9860 7F0B4D30 24420001 */ addiu $v0, $v0, 1 -/* 0E9864 7F0B4D34 27B90150 */ addiu $t9, $sp, 0x150 -/* 0E9868 7F0B4D38 10B80003 */ beq $a1, $t8, .L7F0B4D48 -/* 0E986C 7F0B4D3C 00000000 */ nop -/* 0E9870 7F0B4D40 5459FFFB */ bnel $v0, $t9, .L7F0B4D30 -/* 0E9874 7F0B4D44 90580001 */ lbu $t8, 1($v0) -.L7F0B4D48: -/* 0E9878 7F0B4D48 14A4FFA4 */ bne $a1, $a0, .L7F0B4BDC -/* 0E987C 7F0B4D4C AFA00124 */ sw $zero, 0x124($sp) -/* 0E9880 7F0B4D50 93A20150 */ lbu $v0, 0x150($sp) -.L7F0B4D54: -/* 0E9884 7F0B4D54 10A20011 */ beq $a1, $v0, .L7F0B4D9C -/* 0E9888 7F0B4D58 8FA90124 */ lw $t1, 0x124($sp) -/* 0E988C 7F0B4D5C 8FAB016C */ lw $t3, 0x16c($sp) -/* 0E9890 7F0B4D60 27AA0150 */ addiu $t2, $sp, 0x150 -/* 0E9894 7F0B4D64 012A1821 */ addu $v1, $t1, $t2 -/* 0E9898 7F0B4D68 90620000 */ lbu $v0, ($v1) -/* 0E989C 7F0B4D6C 01692021 */ addu $a0, $t3, $t1 -/* 0E98A0 7F0B4D70 A0820000 */ sb $v0, ($a0) -.L7F0B4D74: -/* 0E98A4 7F0B4D74 8FAD0124 */ lw $t5, 0x124($sp) -/* 0E98A8 7F0B4D78 24630001 */ addiu $v1, $v1, 1 -/* 0E98AC 7F0B4D7C 24840001 */ addiu $a0, $a0, 1 -/* 0E98B0 7F0B4D80 25AE0001 */ addiu $t6, $t5, 1 -/* 0E98B4 7F0B4D84 29C10007 */ slti $at, $t6, 7 -/* 0E98B8 7F0B4D88 10200004 */ beqz $at, .L7F0B4D9C -/* 0E98BC 7F0B4D8C AFAE0124 */ sw $t6, 0x124($sp) -/* 0E98C0 7F0B4D90 90620000 */ lbu $v0, ($v1) -/* 0E98C4 7F0B4D94 54A2FFF7 */ bnel $a1, $v0, .L7F0B4D74 -/* 0E98C8 7F0B4D98 A0820000 */ sb $v0, ($a0) -.L7F0B4D9C: -/* 0E98CC 7F0B4D9C 8FB8016C */ lw $t8, 0x16c($sp) -/* 0E98D0 7F0B4DA0 8FB90124 */ lw $t9, 0x124($sp) -/* 0E98D4 7F0B4DA4 8FA60178 */ lw $a2, 0x178($sp) -/* 0E98D8 7F0B4DA8 240F00FF */ li $t7, 255 -/* 0E98DC 7F0B4DAC 03194821 */ addu $t1, $t8, $t9 -/* 0E98E0 7F0B4DB0 A12F0000 */ sb $t7, ($t1) -/* 0E98E4 7F0B4DB4 18C00013 */ blez $a2, .L7F0B4E04 -/* 0E98E8 7F0B4DB8 AFA00124 */ sw $zero, 0x124($sp) -/* 0E98EC 7F0B4DBC 93AA0130 */ lbu $t2, 0x130($sp) -/* 0E98F0 7F0B4DC0 27A20130 */ addiu $v0, $sp, 0x130 -/* 0E98F4 7F0B4DC4 8FA40170 */ lw $a0, 0x170($sp) -/* 0E98F8 7F0B4DC8 50AA000F */ beql $a1, $t2, .L7F0B4E08 -/* 0E98FC 7F0B4DCC 8FAD0124 */ lw $t5, 0x124($sp) -/* 0E9900 7F0B4DD0 90430000 */ lbu $v1, ($v0) -/* 0E9904 7F0B4DD4 AC830000 */ sw $v1, ($a0) -.L7F0B4DD8: -/* 0E9908 7F0B4DD8 8FAB0124 */ lw $t3, 0x124($sp) -/* 0E990C 7F0B4DDC 24420001 */ addiu $v0, $v0, 1 -/* 0E9910 7F0B4DE0 24840004 */ addiu $a0, $a0, 4 -/* 0E9914 7F0B4DE4 256C0001 */ addiu $t4, $t3, 1 -/* 0E9918 7F0B4DE8 0186082A */ slt $at, $t4, $a2 -/* 0E991C 7F0B4DEC 10200005 */ beqz $at, .L7F0B4E04 -/* 0E9920 7F0B4DF0 AFAC0124 */ sw $t4, 0x124($sp) -/* 0E9924 7F0B4DF4 90430000 */ lbu $v1, ($v0) -/* 0E9928 7F0B4DF8 240100FF */ li $at, 255 -/* 0E992C 7F0B4DFC 5461FFF6 */ bnel $v1, $at, .L7F0B4DD8 -/* 0E9930 7F0B4E00 AC830000 */ sw $v1, ($a0) -.L7F0B4E04: -/* 0E9934 7F0B4E04 8FAD0124 */ lw $t5, 0x124($sp) -.L7F0B4E08: -/* 0E9938 7F0B4E08 8FAE0174 */ lw $t6, 0x174($sp) -/* 0E993C 7F0B4E0C ADCD0000 */ sw $t5, ($t6) -/* 0E9940 7F0B4E10 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E9944 7F0B4E14 8FBE0038 */ lw $fp, 0x38($sp) -/* 0E9948 7F0B4E18 8FB70034 */ lw $s7, 0x34($sp) -/* 0E994C 7F0B4E1C 8FB60030 */ lw $s6, 0x30($sp) -/* 0E9950 7F0B4E20 8FB5002C */ lw $s5, 0x2c($sp) -/* 0E9954 7F0B4E24 8FB40028 */ lw $s4, 0x28($sp) -/* 0E9958 7F0B4E28 8FB30024 */ lw $s3, 0x24($sp) -/* 0E995C 7F0B4E2C 8FB20020 */ lw $s2, 0x20($sp) -/* 0E9960 7F0B4E30 8FB1001C */ lw $s1, 0x1c($sp) -/* 0E9964 7F0B4E34 8FB00018 */ lw $s0, 0x18($sp) -/* 0E9968 7F0B4E38 03E00008 */ jr $ra -/* 0E996C 7F0B4E3C 27BD0160 */ addiu $sp, $sp, 0x160 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B4E40(void *arg0) { - void *temp_v1; - void *temp_a1; - void *temp_a2; - void *temp_a0; - void *temp_v0; - void *phi_a0; - - // Node 0 - temp_v1 = (arg0 + 8); - *arg0 = 0xbc000002; - arg0->unk4 = 0x80000040; - temp_a1 = (temp_v1 + 8); - *temp_v1 = 0x3860010; - temp_v1->unk4 = &GlobalLight.l[0];// D_80044848; - temp_a2 = (temp_a1 + 8); - *temp_a1 = 0x3880010; - temp_a1->unk4 = &//GlobalLight.a; //D_80044840; - *temp_a2 = 0x3840010; - sp20->unk4 = sub_GAME_7F078474((temp_a2 + 8), temp_a1, temp_a2); - *arg0 = 0x3820010; - sp1C->unk4 = (s32) (sub_GAME_7F078474((arg0 + 8), arg0, sp20) + 0x10); - *arg0 = 0xbc003c06; - arg0->unk4 = (s32) ptr_bg_data; - temp_a0 = (arg0 + 8); - if (dword_CODE_bss_8007FF88 == 1) - { - // Node 1 - *temp_a0 = 0x6000000; - temp_a0->unk4 = (?32) dword_CODE_bss_8007BF98; - phi_a0 = (temp_a0 + 8); - } - else - { - // Node 2 - phi_a0 = sub_GAME_7F0BB298(sub_GAME_7F0B4FB4(sub_GAME_7F0B8D78(sub_GAME_7F0BB070(temp_a0, 0)))); - } - // Node 3 - temp_v0 = phi_a0; - *temp_v0 = 0x1030040; - temp_v0->unk4 = (?32) m; - return sub_GAME_7F08BCF4((phi_a0 + 8)); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4E40 -/* 0E9970 7F0B4E40 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0E9974 7F0B4E44 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E9978 7F0B4E48 00801025 */ move $v0, $a0 -/* 0E997C 7F0B4E4C 3C0EBC00 */ lui $t6, (0xBC000002 >> 16) # lui $t6, 0xbc00 -/* 0E9980 7F0B4E50 3C0F8000 */ lui $t7, (0x80000040 >> 16) -/* 0E9984 7F0B4E54 35EF0040 */ ori $t7, (0x80000040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 0E9988 7F0B4E58 35CE0002 */ ori $t6, (0xBC000002 & 0xFFFF) # ori $t6, $t6, 2 -/* 0E998C 7F0B4E5C 24830008 */ addiu $v1, $a0, 8 -/* 0E9990 7F0B4E60 AC4E0000 */ sw $t6, ($v0) -/* 0E9994 7F0B4E64 AC4F0004 */ sw $t7, 4($v0) -/* 0E9998 7F0B4E68 3C180386 */ lui $t8, (0x03860010 >> 16) # lui $t8, 0x386 -/* 0E999C 7F0B4E6C 3C198004 */ lui $t9, %hi(GlobalLight+0x8) -/* 0E99A0 7F0B4E70 27394848 */ addiu $t9, %lo(GlobalLight+0x8) # addiu $t9, $t9, 0x4848 -/* 0E99A4 7F0B4E74 37180010 */ ori $t8, (0x03860010 & 0xFFFF) # ori $t8, $t8, 0x10 -/* 0E99A8 7F0B4E78 24650008 */ addiu $a1, $v1, 8 -/* 0E99AC 7F0B4E7C AC780000 */ sw $t8, ($v1) -/* 0E99B0 7F0B4E80 AC790004 */ sw $t9, 4($v1) -/* 0E99B4 7F0B4E84 3C080388 */ lui $t0, (0x03880010 >> 16) # lui $t0, 0x388 -/* 0E99B8 7F0B4E88 3C098004 */ lui $t1, %hi(GlobalLight) -/* 0E99BC 7F0B4E8C 25294840 */ addiu $t1, %lo(GlobalLight) # addiu $t1, $t1, 0x4840 -/* 0E99C0 7F0B4E90 35080010 */ ori $t0, (0x03880010 & 0xFFFF) # ori $t0, $t0, 0x10 -/* 0E99C4 7F0B4E94 24A60008 */ addiu $a2, $a1, 8 -/* 0E99C8 7F0B4E98 3C0A0384 */ lui $t2, (0x03840010 >> 16) # lui $t2, 0x384 -/* 0E99CC 7F0B4E9C ACA80000 */ sw $t0, ($a1) -/* 0E99D0 7F0B4EA0 ACA90004 */ sw $t1, 4($a1) -/* 0E99D4 7F0B4EA4 354A0010 */ ori $t2, (0x03840010 & 0xFFFF) # ori $t2, $t2, 0x10 -/* 0E99D8 7F0B4EA8 ACCA0000 */ sw $t2, ($a2) -/* 0E99DC 7F0B4EAC 24C40008 */ addiu $a0, $a2, 8 -/* 0E99E0 7F0B4EB0 AFA40030 */ sw $a0, 0x30($sp) -/* 0E99E4 7F0B4EB4 0FC1E11D */ jal sub_GAME_7F078474 -/* 0E99E8 7F0B4EB8 AFA60020 */ sw $a2, 0x20($sp) -/* 0E99EC 7F0B4EBC 8FA50030 */ lw $a1, 0x30($sp) -/* 0E99F0 7F0B4EC0 8FA60020 */ lw $a2, 0x20($sp) -/* 0E99F4 7F0B4EC4 3C0B0382 */ lui $t3, (0x03820010 >> 16) # lui $t3, 0x382 -/* 0E99F8 7F0B4EC8 356B0010 */ ori $t3, (0x03820010 & 0xFFFF) # ori $t3, $t3, 0x10 -/* 0E99FC 7F0B4ECC ACC20004 */ sw $v0, 4($a2) -/* 0E9A00 7F0B4ED0 ACAB0000 */ sw $t3, ($a1) -/* 0E9A04 7F0B4ED4 24A40008 */ addiu $a0, $a1, 8 -/* 0E9A08 7F0B4ED8 AFA40030 */ sw $a0, 0x30($sp) -/* 0E9A0C 7F0B4EDC 0FC1E11D */ jal sub_GAME_7F078474 -/* 0E9A10 7F0B4EE0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0E9A14 7F0B4EE4 8FA40030 */ lw $a0, 0x30($sp) -/* 0E9A18 7F0B4EE8 8FA5001C */ lw $a1, 0x1c($sp) -/* 0E9A1C 7F0B4EEC 244C0010 */ addiu $t4, $v0, 0x10 -/* 0E9A20 7F0B4EF0 3C0DBC00 */ lui $t5, (0xBC003C06 >> 16) # lui $t5, 0xbc00 -/* 0E9A24 7F0B4EF4 35AD3C06 */ ori $t5, (0xBC003C06 & 0xFFFF) # ori $t5, $t5, 0x3c06 -/* 0E9A28 7F0B4EF8 00801825 */ move $v1, $a0 -/* 0E9A2C 7F0B4EFC ACAC0004 */ sw $t4, 4($a1) -/* 0E9A30 7F0B4F00 AC6D0000 */ sw $t5, ($v1) -/* 0E9A34 7F0B4F04 3C0E8008 */ lui $t6, %hi(ptr_bg_data) -/* 0E9A38 7F0B4F08 8DCEBF90 */ lw $t6, %lo(ptr_bg_data)($t6) -/* 0E9A3C 7F0B4F0C 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_8007FF88) -/* 0E9A40 7F0B4F10 24010001 */ li $at, 1 -/* 0E9A44 7F0B4F14 AC6E0004 */ sw $t6, 4($v1) -/* 0E9A48 7F0B4F18 8DEFFF88 */ lw $t7, %lo(dword_CODE_bss_8007FF88)($t7) -/* 0E9A4C 7F0B4F1C 24840008 */ addiu $a0, $a0, 8 -/* 0E9A50 7F0B4F20 00801025 */ move $v0, $a0 -/* 0E9A54 7F0B4F24 15E10007 */ bne $t7, $at, .L7F0B4F44 -/* 0E9A58 7F0B4F28 3C180600 */ lui $t8, 0x600 -/* 0E9A5C 7F0B4F2C AC580000 */ sw $t8, ($v0) -/* 0E9A60 7F0B4F30 3C198008 */ lui $t9, %hi(dword_CODE_bss_8007BF98) -/* 0E9A64 7F0B4F34 8F39BF98 */ lw $t9, %lo(dword_CODE_bss_8007BF98)($t9) -/* 0E9A68 7F0B4F38 24840008 */ addiu $a0, $a0, 8 -/* 0E9A6C 7F0B4F3C 1000000A */ b .L7F0B4F68 -/* 0E9A70 7F0B4F40 AC590004 */ sw $t9, 4($v0) -.L7F0B4F44: -/* 0E9A74 7F0B4F44 0FC2EC1C */ jal sub_GAME_7F0BB070 -/* 0E9A78 7F0B4F48 00002825 */ move $a1, $zero -/* 0E9A7C 7F0B4F4C 0FC2E35E */ jal sub_GAME_7F0B8D78 -/* 0E9A80 7F0B4F50 00402025 */ move $a0, $v0 -/* 0E9A84 7F0B4F54 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 0E9A88 7F0B4F58 00402025 */ move $a0, $v0 -/* 0E9A8C 7F0B4F5C 0FC2ECA6 */ jal sub_GAME_7F0BB298 -/* 0E9A90 7F0B4F60 00402025 */ move $a0, $v0 -/* 0E9A94 7F0B4F64 00402025 */ move $a0, $v0 -.L7F0B4F68: -/* 0E9A98 7F0B4F68 3C080103 */ lui $t0, (0x01030040 >> 16) # lui $t0, 0x103 -/* 0E9A9C 7F0B4F6C 35080040 */ ori $t0, (0x01030040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 0E9AA0 7F0B4F70 00801025 */ move $v0, $a0 -/* 0E9AA4 7F0B4F74 AC480000 */ sw $t0, ($v0) -/* 0E9AA8 7F0B4F78 3C098006 */ lui $t1, %hi(m) -/* 0E9AAC 7F0B4F7C 8D290820 */ lw $t1, %lo(m)($t1) -/* 0E9AB0 7F0B4F80 24840008 */ addiu $a0, $a0, 8 -/* 0E9AB4 7F0B4F84 0FC22F3D */ jal sub_GAME_7F08BCF4 -/* 0E9AB8 7F0B4F88 AC490004 */ sw $t1, 4($v0) -/* 0E9ABC 7F0B4F8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E9AC0 7F0B4F90 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0E9AC4 7F0B4F94 03E00008 */ jr $ra -/* 0E9AC8 7F0B4F98 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B4F9C(s32 arg0) { - return (dword_CODE_bss_8007FF94 + (arg0 * 4))->unk4; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4F9C -/* 0E9ACC 7F0B4F9C 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_8007FF94) -/* 0E9AD0 7F0B4FA0 8DCEFF94 */ lw $t6, %lo(dword_CODE_bss_8007FF94)($t6) -/* 0E9AD4 7F0B4FA4 00047880 */ sll $t7, $a0, 2 -/* 0E9AD8 7F0B4FA8 01CFC021 */ addu $t8, $t6, $t7 -/* 0E9ADC 7F0B4FAC 03E00008 */ jr $ra -/* 0E9AE0 7F0B4FB0 C7000004 */ lwc1 $f0, 4($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B4FB4(void) { - return sub_GAME_7F0B5058(pPlayer->viewleft, pPlayer->viewtop, (pPlayer->viewleft + pPlayer->unk7F0), (s32) (pPlayer->viewtop + pPlayer->unk7F2)); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4FB4 -/* 0E9AE4 7F0B4FB4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0E9AE8 7F0B4FB8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0E9AEC 7F0B4FBC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E9AF0 7F0B4FC0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0E9AF4 7F0B4FC4 844F07F2 */ lh $t7, 0x7f2($v0) -/* 0E9AF8 7F0B4FC8 844607F6 */ lh $a2, 0x7f6($v0) -/* 0E9AFC 7F0B4FCC 844E07F0 */ lh $t6, 0x7f0($v0) -/* 0E9B00 7F0B4FD0 844507F4 */ lh $a1, 0x7f4($v0) -/* 0E9B04 7F0B4FD4 00CFC021 */ addu $t8, $a2, $t7 -/* 0E9B08 7F0B4FD8 AFB80010 */ sw $t8, 0x10($sp) -/* 0E9B0C 7F0B4FDC 0FC2D416 */ jal sub_GAME_7F0B5058 -/* 0E9B10 7F0B4FE0 00AE3821 */ addu $a3, $a1, $t6 -/* 0E9B14 7F0B4FE4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E9B18 7F0B4FE8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0E9B1C 7F0B4FEC 03E00008 */ jr $ra -/* 0E9B20 7F0B4FF0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B4FF4(s32 arg0, s32 arg1, f32 arg2, ? arg3, ? arg4) { - s32 sp20; - - sp20 = sub_GAME_7F05C4B8(arg3); - return sub_GAME_7F0B5058(arg0, (s32) arg1, (s32) arg2, sp20, sub_GAME_7F05C4B8(arg4)); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B4FF4 -/* 0E9B24 7F0B4FF4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E9B28 7F0B4FF8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0E9B2C 7F0B4FFC 44876000 */ mtc1 $a3, $f12 -/* 0E9B30 7F0B5000 AFA40028 */ sw $a0, 0x28($sp) -/* 0E9B34 7F0B5004 AFA5002C */ sw $a1, 0x2c($sp) -/* 0E9B38 7F0B5008 0FC1712E */ jal sub_GAME_7F05C4B8 -/* 0E9B3C 7F0B500C AFA60030 */ sw $a2, 0x30($sp) -/* 0E9B40 7F0B5010 AFA20020 */ sw $v0, 0x20($sp) -/* 0E9B44 7F0B5014 0FC1712E */ jal sub_GAME_7F05C4B8 -/* 0E9B48 7F0B5018 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 0E9B4C 7F0B501C C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 0E9B50 7F0B5020 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 0E9B54 7F0B5024 8FA40028 */ lw $a0, 0x28($sp) -/* 0E9B58 7F0B5028 4600218D */ trunc.w.s $f6, $f4 -/* 0E9B5C 7F0B502C 8FA70020 */ lw $a3, 0x20($sp) -/* 0E9B60 7F0B5030 AFA20010 */ sw $v0, 0x10($sp) -/* 0E9B64 7F0B5034 4600428D */ trunc.w.s $f10, $f8 -/* 0E9B68 7F0B5038 44053000 */ mfc1 $a1, $f6 -/* 0E9B6C 7F0B503C 44065000 */ mfc1 $a2, $f10 -/* 0E9B70 7F0B5040 0FC2D416 */ jal sub_GAME_7F0B5058 -/* 0E9B74 7F0B5044 00000000 */ nop -/* 0E9B78 7F0B5048 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E9B7C 7F0B504C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E9B80 7F0B5050 03E00008 */ jr $ra -/* 0E9B84 7F0B5054 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5058(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5058 -/* 0E9B88 7F0B5058 3C028008 */ lui $v0, %hi(pPlayer) -/* 0E9B8C 7F0B505C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0E9B90 7F0B5060 AFA40000 */ sw $a0, ($sp) -/* 0E9B94 7F0B5064 AFA7000C */ sw $a3, 0xc($sp) -/* 0E9B98 7F0B5068 844307F4 */ lh $v1, 0x7f4($v0) -/* 0E9B9C 7F0B506C 00A3082A */ slt $at, $a1, $v1 -/* 0E9BA0 7F0B5070 50200003 */ beql $at, $zero, .L7F0B5080 -/* 0E9BA4 7F0B5074 844407F6 */ lh $a0, 0x7f6($v0) -/* 0E9BA8 7F0B5078 00602825 */ move $a1, $v1 -/* 0E9BAC 7F0B507C 844407F6 */ lh $a0, 0x7f6($v0) -.L7F0B5080: -/* 0E9BB0 7F0B5080 44852000 */ mtc1 $a1, $f4 -/* 0E9BB4 7F0B5084 00C4082A */ slt $at, $a2, $a0 -/* 0E9BB8 7F0B5088 10200002 */ beqz $at, .L7F0B5094 -/* 0E9BBC 7F0B508C 468021A0 */ cvt.s.w $f6, $f4 -/* 0E9BC0 7F0B5090 00803025 */ move $a2, $a0 -.L7F0B5094: -/* 0E9BC4 7F0B5094 844E07F0 */ lh $t6, 0x7f0($v0) -/* 0E9BC8 7F0B5098 8FAF000C */ lw $t7, 0xc($sp) -/* 0E9BCC 7F0B509C 44868000 */ mtc1 $a2, $f16 -/* 0E9BD0 7F0B50A0 006E3821 */ addu $a3, $v1, $t6 -/* 0E9BD4 7F0B50A4 00EF082A */ slt $at, $a3, $t7 -/* 0E9BD8 7F0B50A8 10200002 */ beqz $at, .L7F0B50B4 -/* 0E9BDC 7F0B50AC 468084A0 */ cvt.s.w $f18, $f16 -/* 0E9BE0 7F0B50B0 AFA7000C */ sw $a3, 0xc($sp) -.L7F0B50B4: -/* 0E9BE4 7F0B50B4 845807F2 */ lh $t8, 0x7f2($v0) -/* 0E9BE8 7F0B50B8 8FA70010 */ lw $a3, 0x10($sp) -/* 0E9BEC 7F0B50BC 00981821 */ addu $v1, $a0, $t8 -/* 0E9BF0 7F0B50C0 0067082A */ slt $at, $v1, $a3 -/* 0E9BF4 7F0B50C4 50200003 */ beql $at, $zero, .L7F0B50D4 -/* 0E9BF8 7F0B50C8 3C014080 */ lui $at, 0x4080 -/* 0E9BFC 7F0B50CC 00603825 */ move $a3, $v1 -/* 0E9C00 7F0B50D0 3C014080 */ li $at, 0x40800000 # 4.000000 -.L7F0B50D4: -/* 0E9C04 7F0B50D4 44810000 */ mtc1 $at, $f0 -/* 0E9C08 7F0B50D8 8FA30000 */ lw $v1, ($sp) -/* 0E9C0C 7F0B50DC 3C01ED00 */ lui $at, 0xed00 -/* 0E9C10 7F0B50E0 46003202 */ mul.s $f8, $f6, $f0 -/* 0E9C14 7F0B50E4 24680008 */ addiu $t0, $v1, 8 -/* 0E9C18 7F0B50E8 AFA80000 */ sw $t0, ($sp) -/* 0E9C1C 7F0B50EC 46009102 */ mul.s $f4, $f18, $f0 -/* 0E9C20 7F0B50F0 4600428D */ trunc.w.s $f10, $f8 -/* 0E9C24 7F0B50F4 4600218D */ trunc.w.s $f6, $f4 -/* 0E9C28 7F0B50F8 440A5000 */ mfc1 $t2, $f10 -/* 0E9C2C 7F0B50FC 44872000 */ mtc1 $a3, $f4 -/* 0E9C30 7F0B5100 440F3000 */ mfc1 $t7, $f6 -/* 0E9C34 7F0B5104 314B0FFF */ andi $t3, $t2, 0xfff -/* 0E9C38 7F0B5108 000B6300 */ sll $t4, $t3, 0xc -/* 0E9C3C 7F0B510C 01816825 */ or $t5, $t4, $at -/* 0E9C40 7F0B5110 31F80FFF */ andi $t8, $t7, 0xfff -/* 0E9C44 7F0B5114 01B8C825 */ or $t9, $t5, $t8 -/* 0E9C48 7F0B5118 AC790000 */ sw $t9, ($v1) -/* 0E9C4C 7F0B511C 8FA8000C */ lw $t0, 0xc($sp) -/* 0E9C50 7F0B5120 468021A0 */ cvt.s.w $f6, $f4 -/* 0E9C54 7F0B5124 44884000 */ mtc1 $t0, $f8 -/* 0E9C58 7F0B5128 00000000 */ nop -/* 0E9C5C 7F0B512C 468042A0 */ cvt.s.w $f10, $f8 -/* 0E9C60 7F0B5130 46005402 */ mul.s $f16, $f10, $f0 -/* 0E9C64 7F0B5134 00000000 */ nop -/* 0E9C68 7F0B5138 46003202 */ mul.s $f8, $f6, $f0 -/* 0E9C6C 7F0B513C 4600848D */ trunc.w.s $f18, $f16 -/* 0E9C70 7F0B5140 4600428D */ trunc.w.s $f10, $f8 -/* 0E9C74 7F0B5144 440A9000 */ mfc1 $t2, $f18 -/* 0E9C78 7F0B5148 440F5000 */ mfc1 $t7, $f10 -/* 0E9C7C 7F0B514C 314B0FFF */ andi $t3, $t2, 0xfff -/* 0E9C80 7F0B5150 000B6300 */ sll $t4, $t3, 0xc -/* 0E9C84 7F0B5154 31ED0FFF */ andi $t5, $t7, 0xfff -/* 0E9C88 7F0B5158 018DC025 */ or $t8, $t4, $t5 -/* 0E9C8C 7F0B515C AC780004 */ sw $t8, 4($v1) -/* 0E9C90 7F0B5160 03E00008 */ jr $ra -/* 0E9C94 7F0B5164 8FA20000 */ lw $v0, ($sp) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B5168(void) { - void *temp_v1; - void *phi_v1; - - // Node 0 - phi_v1 = &table_for_portals; -loop_1: - // Node 1 - temp_v1 = (phi_v1 + 0x50); - temp_v1->unk-3C = -1; - temp_v1->unk-28 = -1; - temp_v1->unk-14 = -1; - temp_v1->unk-50 = -1; - phi_v1 = temp_v1; - if (temp_v1 != &table_for_portals+0xFA0) - { - goto loop_1; - } - // Node 2 - return -1; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5168 -/* 0E9C98 7F0B5168 3C038008 */ lui $v1, %hi(table_for_portals) -/* 0E9C9C 7F0B516C 3C048008 */ lui $a0, %hi(table_for_portals+0xFA0) -/* 0E9CA0 7F0B5170 248425B8 */ addiu $a0, %lo(table_for_portals+0xFA0) # addiu $a0, $a0, 0x25b8 -/* 0E9CA4 7F0B5174 24631618 */ addiu $v1, %lo(table_for_portals) # addiu $v1, $v1, 0x1618 -/* 0E9CA8 7F0B5178 2402FFFF */ li $v0, -1 -.L7F0B517C: -/* 0E9CAC 7F0B517C 24630050 */ addiu $v1, $v1, 0x50 -/* 0E9CB0 7F0B5180 AC62FFC4 */ sw $v0, -0x3c($v1) -/* 0E9CB4 7F0B5184 AC62FFD8 */ sw $v0, -0x28($v1) -/* 0E9CB8 7F0B5188 AC62FFEC */ sw $v0, -0x14($v1) -/* 0E9CBC 7F0B518C 1464FFFB */ bne $v1, $a0, .L7F0B517C -/* 0E9CC0 7F0B5190 AC62FFB0 */ sw $v0, -0x50($v1) -/* 0E9CC4 7F0B5194 03E00008 */ jr $ra -/* 0E9CC8 7F0B5198 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B519C(void *arg0, void *arg1) { - // Node 0 - if (*arg1 <= *arg0) - { - // Node 1 - if (*arg0 <= arg1->unk8) - { - // Node 2 - if (arg1->unk4 <= arg0->unk4) - { - // Node 3 - if (arg0->unk4 <= arg1->unkC) - { - // Node 4 - return 1; - } - } - } - } - // Node 5 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B519C -/* 0E9CCC 7F0B519C C4800000 */ lwc1 $f0, ($a0) -/* 0E9CD0 7F0B51A0 C4A40000 */ lwc1 $f4, ($a1) -/* 0E9CD4 7F0B51A4 00001025 */ move $v0, $zero -/* 0E9CD8 7F0B51A8 4600203E */ c.le.s $f4, $f0 -/* 0E9CDC 7F0B51AC 00000000 */ nop -/* 0E9CE0 7F0B51B0 45000013 */ bc1f .L7F0B5200 -/* 0E9CE4 7F0B51B4 00000000 */ nop -/* 0E9CE8 7F0B51B8 C4A60008 */ lwc1 $f6, 8($a1) -/* 0E9CEC 7F0B51BC 4606003E */ c.le.s $f0, $f6 -/* 0E9CF0 7F0B51C0 00000000 */ nop -/* 0E9CF4 7F0B51C4 4500000E */ bc1f .L7F0B5200 -/* 0E9CF8 7F0B51C8 00000000 */ nop -/* 0E9CFC 7F0B51CC C4800004 */ lwc1 $f0, 4($a0) -/* 0E9D00 7F0B51D0 C4A80004 */ lwc1 $f8, 4($a1) -/* 0E9D04 7F0B51D4 4600403E */ c.le.s $f8, $f0 -/* 0E9D08 7F0B51D8 00000000 */ nop -/* 0E9D0C 7F0B51DC 45000008 */ bc1f .L7F0B5200 -/* 0E9D10 7F0B51E0 00000000 */ nop -/* 0E9D14 7F0B51E4 C4AA000C */ lwc1 $f10, 0xc($a1) -/* 0E9D18 7F0B51E8 460A003E */ c.le.s $f0, $f10 -/* 0E9D1C 7F0B51EC 00000000 */ nop -/* 0E9D20 7F0B51F0 45000003 */ bc1f .L7F0B5200 -/* 0E9D24 7F0B51F4 00000000 */ nop -/* 0E9D28 7F0B51F8 03E00008 */ jr $ra -/* 0E9D2C 7F0B51FC 24020001 */ li $v0, 1 - -.L7F0B5200: -/* 0E9D30 7F0B5200 03E00008 */ jr $ra -/* 0E9D34 7F0B5204 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5208(s32 arg0, void *arg1) { - ? sp3C; - f32 sp40; - f32 sp5C; - f32 sp60; - f32 sp64; - f32 sp68; - s32 sp74; - ? temp_ret; - s32 temp_v1; - s32 phi_v1; - void *phi_a2; - s32 phi_s6; - s32 phi_s1; - s32 phi_s2; - s32 phi_s3; - s32 phi_s4; - s32 phi_s5; - s32 phi_s6_2; - s32 phi_s1_2; - s32 phi_s2_2; - s32 phi_s3_2; - s32 phi_s4_2; - s32 phi_s5_2; - s32 phi_s1_3; - s32 phi_s2_3; - s32 phi_s3_3; - - // Node 0 - video_related_27(&sp3C); - sp40 = (f32) (sp40 / D_800413FC); - phi_v1 = 0; - phi_a2 = ((arg0 * 0x50) + &D_80041414); - phi_s6_2 = 0; - phi_s4_2 = 0; - phi_s5_2 = 0; - phi_s1_3 = 0; - phi_s2_3 = 0; - phi_s3_3 = 0; -loop_1: - // Node 1 - if ((phi_v1 & 1) != 0) - { - // Node 2 - sp5C = (f32) phi_a2->unk38; - } - else - { - // Node 3 - sp5C = (f32) phi_a2->unk44; - } - // Node 4 - if ((phi_v1 & 2) != 0) - { - // Node 5 - sp60 = (f32) phi_a2->unk3C; - } - else - { - // Node 6 - sp60 = (f32) phi_a2->unk48; - } - // Node 7 - if ((phi_v1 & 4) != 0) - { - // Node 8 - sp64 = (f32) phi_a2->unk40; - } - else - { - // Node 9 - sp64 = (f32) phi_a2->unk4C; - } - // Node 10 - sp74 = (s32) phi_v1; - temp_ret = sub_GAME_7F0B5488(&sp5C, &sp68, phi_a2); - if (temp_ret == 0) - { - // Node 11 - phi_s1 = phi_s1_3; - if (sp40 <= -sp70) - { - // Node 12 - phi_s1 = (phi_s1_3 + 1); - } - // Node 13 - phi_s2 = phi_s2_3; - if (*arg1 <= sp68) - { - // Node 14 - phi_s2 = (phi_s2_3 + 1); - } - // Node 15 - phi_s3 = phi_s3_3; - if (sp68 <= arg1->unk8) - { - // Node 16 - phi_s3 = (phi_s3_3 + 1); - } - // Node 17 - phi_s4 = phi_s4_2; - if (arg1->unk4 <= sp6C) - { - // Node 18 - phi_s4 = (phi_s4_2 + 1); - } - // Node 19 - phi_s5 = phi_s5_2; - if (sp6C <= arg1->unkC) - { - // Node 20 - phi_s5 = (phi_s5_2 + 1); - } - // Node 21 - phi_s6 = (phi_s6_2 + 1); - } - else - { - // Node 22 - phi_s1_2 = phi_s1_3; - if (sp40 <= -sp70) - { - // Node 23 - phi_s1_2 = (phi_s1_3 + 1); - } - // Node 24 - if (sp68 <= *arg1) - { - // Node 25 - phi_s2_2 = (phi_s2_3 + 1); - phi_s3_2 = phi_s3_3; - } - else - { - // Node 26 - phi_s2_2 = phi_s2_3; - phi_s3_2 = phi_s3_3; - if (arg1->unk8 <= sp68) - { - // Node 27 - phi_s2_2 = phi_s2_3; - phi_s3_2 = (phi_s3_3 + 1); - } - } - // Node 28 - if (sp6C <= arg1->unk4) - { - // Node 29 - phi_s6 = phi_s6_2; - phi_s1 = phi_s1_2; - phi_s2 = phi_s2_2; - phi_s3 = phi_s3_2; - phi_s4 = (phi_s4_2 + 1); - phi_s5 = phi_s5_2; - } - else - { - // Node 30 - phi_s6 = phi_s6_2; - phi_s1 = phi_s1_2; - phi_s2 = phi_s2_2; - phi_s3 = phi_s3_2; - phi_s4 = phi_s4_2; - phi_s5 = phi_s5_2; - if (arg1->unkC <= sp6C) - { - // Node 31 - phi_s6 = phi_s6_2; - phi_s1 = phi_s1_2; - phi_s2 = phi_s2_2; - phi_s3 = phi_s3_2; - phi_s4 = phi_s4_2; - phi_s5 = (phi_s5_2 + 1); - } - } - } - // Node 32 - temp_v1 = (phi_v1 + 1); - phi_v1 = temp_v1; - phi_a2 = sp38; - phi_s6_2 = phi_s6; - phi_s4_2 = phi_s4; - phi_s5_2 = phi_s5; - phi_s1_3 = phi_s1; - phi_s2_3 = phi_s2; - phi_s3_3 = phi_s3; - if (temp_v1 != 8) - { - goto loop_1; - } - // Node 33 - if ((((((phi_s6 == 8) || (phi_s1 == 8)) || (phi_s2 == 8)) || (phi_s3 == 8)) || (phi_s4 == 8)) || (phi_s5 == 8)) - { - // Node 39 - } - else - { - - } - // Node 40 - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5208 -/* 0E9D38 7F0B5208 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0E9D3C 7F0B520C AFBF0034 */ sw $ra, 0x34($sp) -/* 0E9D40 7F0B5210 AFB60030 */ sw $s6, 0x30($sp) -/* 0E9D44 7F0B5214 AFB5002C */ sw $s5, 0x2c($sp) -/* 0E9D48 7F0B5218 AFB40028 */ sw $s4, 0x28($sp) -/* 0E9D4C 7F0B521C AFB30024 */ sw $s3, 0x24($sp) -/* 0E9D50 7F0B5220 AFB20020 */ sw $s2, 0x20($sp) -/* 0E9D54 7F0B5224 AFB1001C */ sw $s1, 0x1c($sp) -/* 0E9D58 7F0B5228 AFB00018 */ sw $s0, 0x18($sp) -/* 0E9D5C 7F0B522C AFA40078 */ sw $a0, 0x78($sp) -/* 0E9D60 7F0B5230 00A08025 */ move $s0, $a1 -/* 0E9D64 7F0B5234 00008825 */ move $s1, $zero -/* 0E9D68 7F0B5238 0000B025 */ move $s6, $zero -/* 0E9D6C 7F0B523C 00009025 */ move $s2, $zero -/* 0E9D70 7F0B5240 00009825 */ move $s3, $zero -/* 0E9D74 7F0B5244 0000A025 */ move $s4, $zero -/* 0E9D78 7F0B5248 0000A825 */ move $s5, $zero -/* 0E9D7C 7F0B524C 0C0011AB */ jal video_related_27 -/* 0E9D80 7F0B5250 27A4003C */ addiu $a0, $sp, 0x3c -/* 0E9D84 7F0B5254 3C018004 */ lui $at, %hi(D_800413FC) -/* 0E9D88 7F0B5258 C42613FC */ lwc1 $f6, %lo(D_800413FC)($at) -/* 0E9D8C 7F0B525C C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0E9D90 7F0B5260 8FAE0078 */ lw $t6, 0x78($sp) -/* 0E9D94 7F0B5264 3C188004 */ lui $t8, %hi(D_80041414) -/* 0E9D98 7F0B5268 46062203 */ div.s $f8, $f4, $f6 -/* 0E9D9C 7F0B526C 000E7880 */ sll $t7, $t6, 2 -/* 0E9DA0 7F0B5270 01EE7821 */ addu $t7, $t7, $t6 -/* 0E9DA4 7F0B5274 000F7900 */ sll $t7, $t7, 4 -/* 0E9DA8 7F0B5278 27181414 */ addiu $t8, %lo(D_80041414) # addiu $t8, $t8, 0x1414 -/* 0E9DAC 7F0B527C 01F83021 */ addu $a2, $t7, $t8 -/* 0E9DB0 7F0B5280 00001825 */ move $v1, $zero -/* 0E9DB4 7F0B5284 E7A80040 */ swc1 $f8, 0x40($sp) -/* 0E9DB8 7F0B5288 30790001 */ andi $t9, $v1, 1 -.L7F0B528C: -/* 0E9DBC 7F0B528C 13200004 */ beqz $t9, .L7F0B52A0 -/* 0E9DC0 7F0B5290 30680002 */ andi $t0, $v1, 2 -/* 0E9DC4 7F0B5294 C4CA0038 */ lwc1 $f10, 0x38($a2) -/* 0E9DC8 7F0B5298 10000003 */ b .L7F0B52A8 -/* 0E9DCC 7F0B529C E7AA005C */ swc1 $f10, 0x5c($sp) -.L7F0B52A0: -/* 0E9DD0 7F0B52A0 C4D00044 */ lwc1 $f16, 0x44($a2) -/* 0E9DD4 7F0B52A4 E7B0005C */ swc1 $f16, 0x5c($sp) -.L7F0B52A8: -/* 0E9DD8 7F0B52A8 11000004 */ beqz $t0, .L7F0B52BC -/* 0E9DDC 7F0B52AC 30690004 */ andi $t1, $v1, 4 -/* 0E9DE0 7F0B52B0 C4D2003C */ lwc1 $f18, 0x3c($a2) -/* 0E9DE4 7F0B52B4 10000003 */ b .L7F0B52C4 -/* 0E9DE8 7F0B52B8 E7B20060 */ swc1 $f18, 0x60($sp) -.L7F0B52BC: -/* 0E9DEC 7F0B52BC C4C40048 */ lwc1 $f4, 0x48($a2) -/* 0E9DF0 7F0B52C0 E7A40060 */ swc1 $f4, 0x60($sp) -.L7F0B52C4: -/* 0E9DF4 7F0B52C4 11200004 */ beqz $t1, .L7F0B52D8 -/* 0E9DF8 7F0B52C8 27A4005C */ addiu $a0, $sp, 0x5c -/* 0E9DFC 7F0B52CC C4C60040 */ lwc1 $f6, 0x40($a2) -/* 0E9E00 7F0B52D0 10000003 */ b .L7F0B52E0 -/* 0E9E04 7F0B52D4 E7A60064 */ swc1 $f6, 0x64($sp) -.L7F0B52D8: -/* 0E9E08 7F0B52D8 C4C8004C */ lwc1 $f8, 0x4c($a2) -/* 0E9E0C 7F0B52DC E7A80064 */ swc1 $f8, 0x64($sp) -.L7F0B52E0: -/* 0E9E10 7F0B52E0 27A50068 */ addiu $a1, $sp, 0x68 -/* 0E9E14 7F0B52E4 AFA30074 */ sw $v1, 0x74($sp) -/* 0E9E18 7F0B52E8 0FC2D522 */ jal sub_GAME_7F0B5488 -/* 0E9E1C 7F0B52EC AFA60038 */ sw $a2, 0x38($sp) -/* 0E9E20 7F0B52F0 8FA30074 */ lw $v1, 0x74($sp) -/* 0E9E24 7F0B52F4 8FA60038 */ lw $a2, 0x38($sp) -/* 0E9E28 7F0B52F8 14400025 */ bnez $v0, .L7F0B5390 -/* 0E9E2C 7F0B52FC 24070008 */ li $a3, 8 -/* 0E9E30 7F0B5300 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 0E9E34 7F0B5304 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 0E9E38 7F0B5308 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 0E9E3C 7F0B530C 46005407 */ neg.s $f16, $f10 -/* 0E9E40 7F0B5310 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 0E9E44 7F0B5314 4610903E */ c.le.s $f18, $f16 -/* 0E9E48 7F0B5318 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 0E9E4C 7F0B531C 45020003 */ bc1fl .L7F0B532C -/* 0E9E50 7F0B5320 C6060000 */ lwc1 $f6, ($s0) -/* 0E9E54 7F0B5324 26310001 */ addiu $s1, $s1, 1 -/* 0E9E58 7F0B5328 C6060000 */ lwc1 $f6, ($s0) -.L7F0B532C: -/* 0E9E5C 7F0B532C 4604303E */ c.le.s $f6, $f4 -/* 0E9E60 7F0B5330 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0E9E64 7F0B5334 45020003 */ bc1fl .L7F0B5344 -/* 0E9E68 7F0B5338 C6080008 */ lwc1 $f8, 8($s0) -/* 0E9E6C 7F0B533C 26520001 */ addiu $s2, $s2, 1 -/* 0E9E70 7F0B5340 C6080008 */ lwc1 $f8, 8($s0) -.L7F0B5344: -/* 0E9E74 7F0B5344 4608503E */ c.le.s $f10, $f8 -/* 0E9E78 7F0B5348 00000000 */ nop -/* 0E9E7C 7F0B534C 45020003 */ bc1fl .L7F0B535C -/* 0E9E80 7F0B5350 C6120004 */ lwc1 $f18, 4($s0) -/* 0E9E84 7F0B5354 26730001 */ addiu $s3, $s3, 1 -/* 0E9E88 7F0B5358 C6120004 */ lwc1 $f18, 4($s0) -.L7F0B535C: -/* 0E9E8C 7F0B535C 4610903E */ c.le.s $f18, $f16 -/* 0E9E90 7F0B5360 00000000 */ nop -/* 0E9E94 7F0B5364 45020003 */ bc1fl .L7F0B5374 -/* 0E9E98 7F0B5368 C604000C */ lwc1 $f4, 0xc($s0) -/* 0E9E9C 7F0B536C 26940001 */ addiu $s4, $s4, 1 -/* 0E9EA0 7F0B5370 C604000C */ lwc1 $f4, 0xc($s0) -.L7F0B5374: -/* 0E9EA4 7F0B5374 4604303E */ c.le.s $f6, $f4 -/* 0E9EA8 7F0B5378 00000000 */ nop -/* 0E9EAC 7F0B537C 45000002 */ bc1f .L7F0B5388 -/* 0E9EB0 7F0B5380 00000000 */ nop -/* 0E9EB4 7F0B5384 26B50001 */ addiu $s5, $s5, 1 -.L7F0B5388: -/* 0E9EB8 7F0B5388 10000025 */ b .L7F0B5420 -/* 0E9EBC 7F0B538C 26D60001 */ addiu $s6, $s6, 1 -.L7F0B5390: -/* 0E9EC0 7F0B5390 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 0E9EC4 7F0B5394 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 0E9EC8 7F0B5398 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 0E9ECC 7F0B539C 46004287 */ neg.s $f10, $f8 -/* 0E9ED0 7F0B53A0 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 0E9ED4 7F0B53A4 460A803E */ c.le.s $f16, $f10 -/* 0E9ED8 7F0B53A8 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 0E9EDC 7F0B53AC 45020003 */ bc1fl .L7F0B53BC -/* 0E9EE0 7F0B53B0 C6120000 */ lwc1 $f18, ($s0) -/* 0E9EE4 7F0B53B4 26310001 */ addiu $s1, $s1, 1 -/* 0E9EE8 7F0B53B8 C6120000 */ lwc1 $f18, ($s0) -.L7F0B53BC: -/* 0E9EEC 7F0B53BC 4612203E */ c.le.s $f4, $f18 -/* 0E9EF0 7F0B53C0 C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 0E9EF4 7F0B53C4 45020004 */ bc1fl .L7F0B53D8 -/* 0E9EF8 7F0B53C8 C6080008 */ lwc1 $f8, 8($s0) -/* 0E9EFC 7F0B53CC 10000007 */ b .L7F0B53EC -/* 0E9F00 7F0B53D0 26520001 */ addiu $s2, $s2, 1 -/* 0E9F04 7F0B53D4 C6080008 */ lwc1 $f8, 8($s0) -.L7F0B53D8: -/* 0E9F08 7F0B53D8 4606403E */ c.le.s $f8, $f6 -/* 0E9F0C 7F0B53DC 00000000 */ nop -/* 0E9F10 7F0B53E0 45020003 */ bc1fl .L7F0B53F0 -/* 0E9F14 7F0B53E4 C60A0004 */ lwc1 $f10, 4($s0) -/* 0E9F18 7F0B53E8 26730001 */ addiu $s3, $s3, 1 -.L7F0B53EC: -/* 0E9F1C 7F0B53EC C60A0004 */ lwc1 $f10, 4($s0) -.L7F0B53F0: -/* 0E9F20 7F0B53F0 460A803E */ c.le.s $f16, $f10 -/* 0E9F24 7F0B53F4 00000000 */ nop -/* 0E9F28 7F0B53F8 45020004 */ bc1fl .L7F0B540C -/* 0E9F2C 7F0B53FC C604000C */ lwc1 $f4, 0xc($s0) -/* 0E9F30 7F0B5400 10000007 */ b .L7F0B5420 -/* 0E9F34 7F0B5404 26940001 */ addiu $s4, $s4, 1 -/* 0E9F38 7F0B5408 C604000C */ lwc1 $f4, 0xc($s0) -.L7F0B540C: -/* 0E9F3C 7F0B540C 4612203E */ c.le.s $f4, $f18 -/* 0E9F40 7F0B5410 00000000 */ nop -/* 0E9F44 7F0B5414 45020003 */ bc1fl .L7F0B5424 -/* 0E9F48 7F0B5418 24630001 */ addiu $v1, $v1, 1 -/* 0E9F4C 7F0B541C 26B50001 */ addiu $s5, $s5, 1 -.L7F0B5420: -/* 0E9F50 7F0B5420 24630001 */ addiu $v1, $v1, 1 -.L7F0B5424: -/* 0E9F54 7F0B5424 5467FF99 */ bnel $v1, $a3, .L7F0B528C -/* 0E9F58 7F0B5428 30790001 */ andi $t9, $v1, 1 -/* 0E9F5C 7F0B542C 12C7000B */ beq $s6, $a3, .L7F0B545C -/* 0E9F60 7F0B5430 8FB00018 */ lw $s0, 0x18($sp) -/* 0E9F64 7F0B5434 12270009 */ beq $s1, $a3, .L7F0B545C -/* 0E9F68 7F0B5438 00000000 */ nop -/* 0E9F6C 7F0B543C 12470007 */ beq $s2, $a3, .L7F0B545C -/* 0E9F70 7F0B5440 00000000 */ nop -/* 0E9F74 7F0B5444 12670005 */ beq $s3, $a3, .L7F0B545C -/* 0E9F78 7F0B5448 00000000 */ nop -/* 0E9F7C 7F0B544C 12870003 */ beq $s4, $a3, .L7F0B545C -/* 0E9F80 7F0B5450 00000000 */ nop -/* 0E9F84 7F0B5454 16A70003 */ bne $s5, $a3, .L7F0B5464 -/* 0E9F88 7F0B5458 24020001 */ li $v0, 1 -.L7F0B545C: -/* 0E9F8C 7F0B545C 10000001 */ b .L7F0B5464 -/* 0E9F90 7F0B5460 00001025 */ move $v0, $zero -.L7F0B5464: -/* 0E9F94 7F0B5464 8FBF0034 */ lw $ra, 0x34($sp) -/* 0E9F98 7F0B5468 8FB1001C */ lw $s1, 0x1c($sp) -/* 0E9F9C 7F0B546C 8FB20020 */ lw $s2, 0x20($sp) -/* 0E9FA0 7F0B5470 8FB30024 */ lw $s3, 0x24($sp) -/* 0E9FA4 7F0B5474 8FB40028 */ lw $s4, 0x28($sp) -/* 0E9FA8 7F0B5478 8FB5002C */ lw $s5, 0x2c($sp) -/* 0E9FAC 7F0B547C 8FB60030 */ lw $s6, 0x30($sp) -/* 0E9FB0 7F0B5480 03E00008 */ jr $ra -/* 0E9FB4 7F0B5484 27BD0078 */ addiu $sp, $sp, 0x78 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5488(void *arg0, void *arg1) { - // Node 0 - *arg1 = (f32) (*arg0 * room_data_float2); - arg1->unk4 = (f32) (arg0->unk4 * room_data_float2); - arg1->unk8 = (f32) (arg0->unk8 * room_data_float2); - sub_GAME_7F058474(get_BONDdata_field_10CC(), arg1, arg0); - sub_GAME_7F078060(arg1, arg1); - if (0.0f < arg1->unk8) - { - // Node 1 - } - // Node 2 - return 1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5488 -/* 0E9FB8 7F0B5488 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E9FBC 7F0B548C AFBF001C */ sw $ra, 0x1c($sp) -/* 0E9FC0 7F0B5490 AFB00018 */ sw $s0, 0x18($sp) -/* 0E9FC4 7F0B5494 00A08025 */ move $s0, $a1 -/* 0E9FC8 7F0B5498 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0E9FCC 7F0B549C AFA40020 */ sw $a0, 0x20($sp) -/* 0E9FD0 7F0B54A0 8FA60020 */ lw $a2, 0x20($sp) -/* 0E9FD4 7F0B54A4 3C038004 */ lui $v1, %hi(room_data_float2) -/* 0E9FD8 7F0B54A8 246313F8 */ addiu $v1, %lo(room_data_float2) # addiu $v1, $v1, 0x13f8 -/* 0E9FDC 7F0B54AC C4660000 */ lwc1 $f6, ($v1) -/* 0E9FE0 7F0B54B0 C4C40000 */ lwc1 $f4, ($a2) -/* 0E9FE4 7F0B54B4 00402025 */ move $a0, $v0 -/* 0E9FE8 7F0B54B8 02002825 */ move $a1, $s0 -/* 0E9FEC 7F0B54BC 46062202 */ mul.s $f8, $f4, $f6 -/* 0E9FF0 7F0B54C0 E6080000 */ swc1 $f8, ($s0) -/* 0E9FF4 7F0B54C4 C4700000 */ lwc1 $f16, ($v1) -/* 0E9FF8 7F0B54C8 C4CA0004 */ lwc1 $f10, 4($a2) -/* 0E9FFC 7F0B54CC 46105482 */ mul.s $f18, $f10, $f16 -/* 0EA000 7F0B54D0 E6120004 */ swc1 $f18, 4($s0) -/* 0EA004 7F0B54D4 C4660000 */ lwc1 $f6, ($v1) -/* 0EA008 7F0B54D8 C4C40008 */ lwc1 $f4, 8($a2) -/* 0EA00C 7F0B54DC 46062202 */ mul.s $f8, $f4, $f6 -/* 0EA010 7F0B54E0 0FC1611D */ jal sub_GAME_7F058474 -/* 0EA014 7F0B54E4 E6080008 */ swc1 $f8, 8($s0) -/* 0EA018 7F0B54E8 02002025 */ move $a0, $s0 -/* 0EA01C 7F0B54EC 0FC1E018 */ jal sub_GAME_7F078060 -/* 0EA020 7F0B54F0 02002825 */ move $a1, $s0 -/* 0EA024 7F0B54F4 44805000 */ mtc1 $zero, $f10 -/* 0EA028 7F0B54F8 C6100008 */ lwc1 $f16, 8($s0) -/* 0EA02C 7F0B54FC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0EA030 7F0B5500 24020001 */ li $v0, 1 -/* 0EA034 7F0B5504 4610503C */ c.lt.s $f10, $f16 -/* 0EA038 7F0B5508 00000000 */ nop -/* 0EA03C 7F0B550C 45000003 */ bc1f .L7F0B551C -/* 0EA040 7F0B5510 00000000 */ nop -/* 0EA044 7F0B5514 10000001 */ b .L7F0B551C -/* 0EA048 7F0B5518 00001025 */ move $v0, $zero -.L7F0B551C: -/* 0EA04C 7F0B551C 8FB00018 */ lw $s0, 0x18($sp) -/* 0EA050 7F0B5520 03E00008 */ jr $ra -/* 0EA054 7F0B5524 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5528(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058C7C -.word 0x3f666666 /*0.89999998*/ -.text -glabel sub_GAME_7F0B5528 -/* 0EA058 7F0B5528 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 0EA05C 7F0B552C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0EA060 7F0B5530 4485A000 */ mtc1 $a1, $f20 -/* 0EA064 7F0B5534 AFBF0054 */ sw $ra, 0x54($sp) -/* 0EA068 7F0B5538 AFB60048 */ sw $s6, 0x48($sp) -/* 0EA06C 7F0B553C 00C0B025 */ move $s6, $a2 -/* 0EA070 7F0B5540 AFBE0050 */ sw $fp, 0x50($sp) -/* 0EA074 7F0B5544 AFB7004C */ sw $s7, 0x4c($sp) -/* 0EA078 7F0B5548 AFB50044 */ sw $s5, 0x44($sp) -/* 0EA07C 7F0B554C AFB40040 */ sw $s4, 0x40($sp) -/* 0EA080 7F0B5550 AFB3003C */ sw $s3, 0x3c($sp) -/* 0EA084 7F0B5554 AFB20038 */ sw $s2, 0x38($sp) -/* 0EA088 7F0B5558 AFB10034 */ sw $s1, 0x34($sp) -/* 0EA08C 7F0B555C AFB00030 */ sw $s0, 0x30($sp) -/* 0EA090 7F0B5560 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0EA094 7F0B5564 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0EA098 7F0B5568 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0EA09C 7F0B556C AFA400B0 */ sw $a0, 0xb0($sp) -/* 0EA0A0 7F0B5570 AFA200AC */ sw $v0, 0xac($sp) -/* 0EA0A4 7F0B5574 241E0001 */ li $fp, 1 -/* 0EA0A8 7F0B5578 0C0011AB */ jal video_related_27 -/* 0EA0AC 7F0B557C 27A40098 */ addiu $a0, $sp, 0x98 -/* 0EA0B0 7F0B5580 3C018004 */ lui $at, %hi(D_800413FC) -/* 0EA0B4 7F0B5584 C42613FC */ lwc1 $f6, %lo(D_800413FC)($at) -/* 0EA0B8 7F0B5588 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0EA0BC 7F0B558C 3C138008 */ lui $s3, %hi(ptr_bgdata_portals) -/* 0EA0C0 7F0B5590 8FB500B0 */ lw $s5, 0xb0($sp) -/* 0EA0C4 7F0B5594 46062203 */ div.s $f8, $f4, $f6 -/* 0EA0C8 7F0B5598 2673FF80 */ addiu $s3, %lo(ptr_bgdata_portals) # addiu $s3, $s3, -0x80 -/* 0EA0CC 7F0B559C 8E6F0000 */ lw $t7, ($s3) -/* 0EA0D0 7F0B55A0 001570C0 */ sll $t6, $s5, 3 -/* 0EA0D4 7F0B55A4 01C0A825 */ move $s5, $t6 -/* 0EA0D8 7F0B55A8 01EEC021 */ addu $t8, $t7, $t6 -/* 0EA0DC 7F0B55AC 00009025 */ move $s2, $zero -/* 0EA0E0 7F0B55B0 02C08025 */ move $s0, $s6 -/* 0EA0E4 7F0B55B4 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 0EA0E8 7F0B55B8 8F020000 */ lw $v0, ($t8) -/* 0EA0EC 7F0B55BC 90440000 */ lbu $a0, ($v0) -/* 0EA0F0 7F0B55C0 5880004E */ blezl $a0, .L7F0B56FC -/* 0EA0F4 7F0B55C4 4480B000 */ mtc1 $zero, $f22 -/* 0EA0F8 7F0B55C8 3C018006 */ lui $at, %hi(D_80058C7C) -/* 0EA0FC 7F0B55CC 3C148004 */ lui $s4, %hi(room_data_float2) -/* 0EA100 7F0B55D0 4480B000 */ mtc1 $zero, $f22 -/* 0EA104 7F0B55D4 269413F8 */ addiu $s4, %lo(room_data_float2) # addiu $s4, $s4, 0x13f8 -/* 0EA108 7F0B55D8 C4388C7C */ lwc1 $f24, %lo(D_80058C7C)($at) -/* 0EA10C 7F0B55DC 00008825 */ move $s1, $zero -/* 0EA110 7F0B55E0 27B70080 */ addiu $s7, $sp, 0x80 -/* 0EA114 7F0B55E4 0051C821 */ addu $t9, $v0, $s1 -.L7F0B55E8: -/* 0EA118 7F0B55E8 C72A0004 */ lwc1 $f10, 4($t9) -/* 0EA11C 7F0B55EC 4616A032 */ c.eq.s $f20, $f22 -/* 0EA120 7F0B55F0 02E02825 */ move $a1, $s7 -/* 0EA124 7F0B55F4 E60A0000 */ swc1 $f10, ($s0) -/* 0EA128 7F0B55F8 8E680000 */ lw $t0, ($s3) -/* 0EA12C 7F0B55FC 01154821 */ addu $t1, $t0, $s5 -/* 0EA130 7F0B5600 8D2A0000 */ lw $t2, ($t1) -/* 0EA134 7F0B5604 01515821 */ addu $t3, $t2, $s1 -/* 0EA138 7F0B5608 C5720008 */ lwc1 $f18, 8($t3) -/* 0EA13C 7F0B560C E6120004 */ swc1 $f18, 4($s0) -/* 0EA140 7F0B5610 8E6C0000 */ lw $t4, ($s3) -/* 0EA144 7F0B5614 01956821 */ addu $t5, $t4, $s5 -/* 0EA148 7F0B5618 8DAE0000 */ lw $t6, ($t5) -/* 0EA14C 7F0B561C 01D17821 */ addu $t7, $t6, $s1 -/* 0EA150 7F0B5620 C5E4000C */ lwc1 $f4, 0xc($t7) -/* 0EA154 7F0B5624 45010012 */ bc1t .L7F0B5670 -/* 0EA158 7F0B5628 E6040008 */ swc1 $f4, 8($s0) -/* 0EA15C 7F0B562C 0FC2E5B3 */ jal sub_GAME_7F0B96CC -/* 0EA160 7F0B5630 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0EA164 7F0B5634 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 0EA168 7F0B5638 C6060000 */ lwc1 $f6, ($s0) -/* 0EA16C 7F0B563C C6040004 */ lwc1 $f4, 4($s0) -/* 0EA170 7F0B5640 46144282 */ mul.s $f10, $f8, $f20 -/* 0EA174 7F0B5644 460A3480 */ add.s $f18, $f6, $f10 -/* 0EA178 7F0B5648 E6120000 */ swc1 $f18, ($s0) -/* 0EA17C 7F0B564C C7A80084 */ lwc1 $f8, 0x84($sp) -/* 0EA180 7F0B5650 C6120008 */ lwc1 $f18, 8($s0) -/* 0EA184 7F0B5654 46144182 */ mul.s $f6, $f8, $f20 -/* 0EA188 7F0B5658 46062280 */ add.s $f10, $f4, $f6 -/* 0EA18C 7F0B565C E60A0004 */ swc1 $f10, 4($s0) -/* 0EA190 7F0B5660 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 0EA194 7F0B5664 46144102 */ mul.s $f4, $f8, $f20 -/* 0EA198 7F0B5668 46049180 */ add.s $f6, $f18, $f4 -/* 0EA19C 7F0B566C E6060008 */ swc1 $f6, 8($s0) -.L7F0B5670: -/* 0EA1A0 7F0B5670 C60A0000 */ lwc1 $f10, ($s0) -/* 0EA1A4 7F0B5674 C6880000 */ lwc1 $f8, ($s4) -/* 0EA1A8 7F0B5678 C6040004 */ lwc1 $f4, 4($s0) -/* 0EA1AC 7F0B567C 02002825 */ move $a1, $s0 -/* 0EA1B0 7F0B5680 46085482 */ mul.s $f18, $f10, $f8 -/* 0EA1B4 7F0B5684 C6080008 */ lwc1 $f8, 8($s0) -/* 0EA1B8 7F0B5688 E6120000 */ swc1 $f18, ($s0) -/* 0EA1BC 7F0B568C C6860000 */ lwc1 $f6, ($s4) -/* 0EA1C0 7F0B5690 46062282 */ mul.s $f10, $f4, $f6 -/* 0EA1C4 7F0B5694 E60A0004 */ swc1 $f10, 4($s0) -/* 0EA1C8 7F0B5698 C6920000 */ lwc1 $f18, ($s4) -/* 0EA1CC 7F0B569C 46124102 */ mul.s $f4, $f8, $f18 -/* 0EA1D0 7F0B56A0 E6040008 */ swc1 $f4, 8($s0) -/* 0EA1D4 7F0B56A4 0FC1611D */ jal sub_GAME_7F058474 -/* 0EA1D8 7F0B56A8 8FA400AC */ lw $a0, 0xac($sp) -/* 0EA1DC 7F0B56AC C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0EA1E0 7F0B56B0 C6120008 */ lwc1 $f18, 8($s0) -/* 0EA1E4 7F0B56B4 46003287 */ neg.s $f10, $f6 -/* 0EA1E8 7F0B56B8 46185202 */ mul.s $f8, $f10, $f24 -/* 0EA1EC 7F0B56BC 4612403C */ c.lt.s $f8, $f18 -/* 0EA1F0 7F0B56C0 00000000 */ nop -/* 0EA1F4 7F0B56C4 45020003 */ bc1fl .L7F0B56D4 -/* 0EA1F8 7F0B56C8 8E780000 */ lw $t8, ($s3) -/* 0EA1FC 7F0B56CC 0000F025 */ move $fp, $zero -/* 0EA200 7F0B56D0 8E780000 */ lw $t8, ($s3) -.L7F0B56D4: -/* 0EA204 7F0B56D4 26520001 */ addiu $s2, $s2, 1 -/* 0EA208 7F0B56D8 2631000C */ addiu $s1, $s1, 0xc -/* 0EA20C 7F0B56DC 0315C821 */ addu $t9, $t8, $s5 -/* 0EA210 7F0B56E0 8F220000 */ lw $v0, ($t9) -/* 0EA214 7F0B56E4 2610000C */ addiu $s0, $s0, 0xc -/* 0EA218 7F0B56E8 90440000 */ lbu $a0, ($v0) -/* 0EA21C 7F0B56EC 0244082A */ slt $at, $s2, $a0 -/* 0EA220 7F0B56F0 5420FFBD */ bnezl $at, .L7F0B55E8 -/* 0EA224 7F0B56F4 0051C821 */ addu $t9, $v0, $s1 -/* 0EA228 7F0B56F8 4480B000 */ mtc1 $zero, $f22 -.L7F0B56FC: -/* 0EA22C 7F0B56FC 13C00003 */ beqz $fp, .L7F0B570C -/* 0EA230 7F0B5700 00803825 */ move $a3, $a0 -/* 0EA234 7F0B5704 10000048 */ b .L7F0B5828 -/* 0EA238 7F0B5708 00001025 */ move $v0, $zero -.L7F0B570C: -/* 0EA23C 7F0B570C 18800045 */ blez $a0, .L7F0B5824 -/* 0EA240 7F0B5710 00009025 */ move $s2, $zero -/* 0EA244 7F0B5714 02C08025 */ move $s0, $s6 -/* 0EA248 7F0B5718 2406000C */ li $a2, 12 -.L7F0B571C: -/* 0EA24C 7F0B571C 26450001 */ addiu $a1, $s2, 1 -/* 0EA250 7F0B5720 00A4001A */ div $zero, $a1, $a0 -/* 0EA254 7F0B5724 C6100008 */ lwc1 $f16, 8($s0) -/* 0EA258 7F0B5728 00001810 */ mfhi $v1 -/* 0EA25C 7F0B572C 00A09025 */ move $s2, $a1 -/* 0EA260 7F0B5730 4610B03C */ c.lt.s $f22, $f16 -/* 0EA264 7F0B5734 14800002 */ bnez $a0, .L7F0B5740 -/* 0EA268 7F0B5738 00000000 */ nop -/* 0EA26C 7F0B573C 0007000D */ break 7 -.L7F0B5740: -/* 0EA270 7F0B5740 2401FFFF */ li $at, -1 -/* 0EA274 7F0B5744 14810004 */ bne $a0, $at, .L7F0B5758 -/* 0EA278 7F0B5748 3C018000 */ lui $at, 0x8000 -/* 0EA27C 7F0B574C 14A10002 */ bne $a1, $at, .L7F0B5758 -/* 0EA280 7F0B5750 00000000 */ nop -/* 0EA284 7F0B5754 0006000D */ break 6 -.L7F0B5758: -/* 0EA288 7F0B5758 4502000A */ bc1fl .L7F0B5784 -/* 0EA28C 7F0B575C 4616803E */ c.le.s $f16, $f22 -/* 0EA290 7F0B5760 00660019 */ multu $v1, $a2 -/* 0EA294 7F0B5764 00004012 */ mflo $t0 -/* 0EA298 7F0B5768 02C81021 */ addu $v0, $s6, $t0 -/* 0EA29C 7F0B576C C44E0008 */ lwc1 $f14, 8($v0) -/* 0EA2A0 7F0B5770 4616703E */ c.le.s $f14, $f22 -/* 0EA2A4 7F0B5774 00000000 */ nop -/* 0EA2A8 7F0B5778 4503000E */ bc1tl .L7F0B57B4 -/* 0EA2AC 7F0B577C 46107181 */ sub.s $f6, $f14, $f16 -/* 0EA2B0 7F0B5780 4616803E */ c.le.s $f16, $f22 -.L7F0B5784: -/* 0EA2B4 7F0B5784 00000000 */ nop -/* 0EA2B8 7F0B5788 45020024 */ bc1fl .L7F0B581C -/* 0EA2BC 7F0B578C 00A4082A */ slt $at, $a1, $a0 -/* 0EA2C0 7F0B5790 00660019 */ multu $v1, $a2 -/* 0EA2C4 7F0B5794 00004812 */ mflo $t1 -/* 0EA2C8 7F0B5798 02C91021 */ addu $v0, $s6, $t1 -/* 0EA2CC 7F0B579C C44E0008 */ lwc1 $f14, 8($v0) -/* 0EA2D0 7F0B57A0 460EB03C */ c.lt.s $f22, $f14 -/* 0EA2D4 7F0B57A4 00000000 */ nop -/* 0EA2D8 7F0B57A8 4502001C */ bc1fl .L7F0B581C -/* 0EA2DC 7F0B57AC 00A4082A */ slt $at, $a1, $a0 -/* 0EA2E0 7F0B57B0 46107181 */ sub.s $f6, $f14, $f16 -.L7F0B57B4: -/* 0EA2E4 7F0B57B4 C6000000 */ lwc1 $f0, ($s0) -/* 0EA2E8 7F0B57B8 C44A0000 */ lwc1 $f10, ($v0) -/* 0EA2EC 7F0B57BC 46008107 */ neg.s $f4, $f16 -/* 0EA2F0 7F0B57C0 00E60019 */ multu $a3, $a2 -/* 0EA2F4 7F0B57C4 46062303 */ div.s $f12, $f4, $f6 -/* 0EA2F8 7F0B57C8 3C0B8008 */ lui $t3, %hi(ptr_bgdata_portals) -/* 0EA2FC 7F0B57CC 24E70001 */ addiu $a3, $a3, 1 -/* 0EA300 7F0B57D0 46005201 */ sub.s $f8, $f10, $f0 -/* 0EA304 7F0B57D4 00005012 */ mflo $t2 -/* 0EA308 7F0B57D8 02CA1821 */ addu $v1, $s6, $t2 -/* 0EA30C 7F0B57DC 2463000C */ addiu $v1, $v1, 0xc -/* 0EA310 7F0B57E0 460C4482 */ mul.s $f18, $f8, $f12 -/* 0EA314 7F0B57E4 46009100 */ add.s $f4, $f18, $f0 -/* 0EA318 7F0B57E8 E464FFF4 */ swc1 $f4, -0xc($v1) -/* 0EA31C 7F0B57EC C4460004 */ lwc1 $f6, 4($v0) -/* 0EA320 7F0B57F0 C6020004 */ lwc1 $f2, 4($s0) -/* 0EA324 7F0B57F4 E476FFFC */ swc1 $f22, -4($v1) -/* 0EA328 7F0B57F8 46023281 */ sub.s $f10, $f6, $f2 -/* 0EA32C 7F0B57FC 460C5202 */ mul.s $f8, $f10, $f12 -/* 0EA330 7F0B5800 46024480 */ add.s $f18, $f8, $f2 -/* 0EA334 7F0B5804 E472FFF8 */ swc1 $f18, -8($v1) -/* 0EA338 7F0B5808 8D6BFF80 */ lw $t3, %lo(ptr_bgdata_portals)($t3) -/* 0EA33C 7F0B580C 01756021 */ addu $t4, $t3, $s5 -/* 0EA340 7F0B5810 8D8D0000 */ lw $t5, ($t4) -/* 0EA344 7F0B5814 91A40000 */ lbu $a0, ($t5) -/* 0EA348 7F0B5818 00A4082A */ slt $at, $a1, $a0 -.L7F0B581C: -/* 0EA34C 7F0B581C 1420FFBF */ bnez $at, .L7F0B571C -/* 0EA350 7F0B5820 2610000C */ addiu $s0, $s0, 0xc -.L7F0B5824: -/* 0EA354 7F0B5824 00E01025 */ move $v0, $a3 -.L7F0B5828: -/* 0EA358 7F0B5828 8FBF0054 */ lw $ra, 0x54($sp) -/* 0EA35C 7F0B582C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0EA360 7F0B5830 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0EA364 7F0B5834 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0EA368 7F0B5838 8FB00030 */ lw $s0, 0x30($sp) -/* 0EA36C 7F0B583C 8FB10034 */ lw $s1, 0x34($sp) -/* 0EA370 7F0B5840 8FB20038 */ lw $s2, 0x38($sp) -/* 0EA374 7F0B5844 8FB3003C */ lw $s3, 0x3c($sp) -/* 0EA378 7F0B5848 8FB40040 */ lw $s4, 0x40($sp) -/* 0EA37C 7F0B584C 8FB50044 */ lw $s5, 0x44($sp) -/* 0EA380 7F0B5850 8FB60048 */ lw $s6, 0x48($sp) -/* 0EA384 7F0B5854 8FB7004C */ lw $s7, 0x4c($sp) -/* 0EA388 7F0B5858 8FBE0050 */ lw $fp, 0x50($sp) -/* 0EA38C 7F0B585C 03E00008 */ jr $ra -/* 0EA390 7F0B5860 27BD00B0 */ addiu $sp, $sp, 0xb0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5864(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5864 -/* 0EA394 7F0B5864 27BDFE90 */ addiu $sp, $sp, -0x170 -/* 0EA398 7F0B5868 00047080 */ sll $t6, $a0, 2 -/* 0EA39C 7F0B586C 01C47021 */ addu $t6, $t6, $a0 -/* 0EA3A0 7F0B5870 3C0F8008 */ lui $t7, %hi(table_for_portals) -/* 0EA3A4 7F0B5874 AFB5003C */ sw $s5, 0x3c($sp) -/* 0EA3A8 7F0B5878 25EF1618 */ addiu $t7, %lo(table_for_portals) # addiu $t7, $t7, 0x1618 -/* 0EA3AC 7F0B587C 000E7080 */ sll $t6, $t6, 2 -/* 0EA3B0 7F0B5880 01CFA821 */ addu $s5, $t6, $t7 -/* 0EA3B4 7F0B5884 8EB80000 */ lw $t8, ($s5) -/* 0EA3B8 7F0B5888 AFB60040 */ sw $s6, 0x40($sp) -/* 0EA3BC 7F0B588C AFB00028 */ sw $s0, 0x28($sp) -/* 0EA3C0 7F0B5890 00808025 */ move $s0, $a0 -/* 0EA3C4 7F0B5894 00A0B025 */ move $s6, $a1 -/* 0EA3C8 7F0B5898 AFBF0044 */ sw $ra, 0x44($sp) -/* 0EA3CC 7F0B589C AFB40038 */ sw $s4, 0x38($sp) -/* 0EA3D0 7F0B58A0 AFB30034 */ sw $s3, 0x34($sp) -/* 0EA3D4 7F0B58A4 AFB20030 */ sw $s2, 0x30($sp) -/* 0EA3D8 7F0B58A8 AFB1002C */ sw $s1, 0x2c($sp) -/* 0EA3DC 7F0B58AC F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0EA3E0 7F0B58B0 0700000B */ bltz $t8, .L7F0B58E0 -/* 0EA3E4 7F0B58B4 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0EA3E8 7F0B58B8 C6A40004 */ lwc1 $f4, 4($s5) -/* 0EA3EC 7F0B58BC E4A40000 */ swc1 $f4, ($a1) -/* 0EA3F0 7F0B58C0 C6A60008 */ lwc1 $f6, 8($s5) -/* 0EA3F4 7F0B58C4 E4A60004 */ swc1 $f6, 4($a1) -/* 0EA3F8 7F0B58C8 C6A8000C */ lwc1 $f8, 0xc($s5) -/* 0EA3FC 7F0B58CC E4A80008 */ swc1 $f8, 8($a1) -/* 0EA400 7F0B58D0 C6AA0010 */ lwc1 $f10, 0x10($s5) -/* 0EA404 7F0B58D4 E4AA000C */ swc1 $f10, 0xc($a1) -/* 0EA408 7F0B58D8 10000082 */ b .L7F0B5AE4 -/* 0EA40C 7F0B58DC 8EA20000 */ lw $v0, ($s5) -.L7F0B58E0: -/* 0EA410 7F0B58E0 0FC2E664 */ jal sub_GAME_7F0B9990 -/* 0EA414 7F0B58E4 02002025 */ move $a0, $s0 -/* 0EA418 7F0B58E8 27B10080 */ addiu $s1, $sp, 0x80 -/* 0EA41C 7F0B58EC 44050000 */ mfc1 $a1, $f0 -/* 0EA420 7F0B58F0 46000586 */ mov.s $f22, $f0 -/* 0EA424 7F0B58F4 02203025 */ move $a2, $s1 -/* 0EA428 7F0B58F8 0FC2D54A */ jal sub_GAME_7F0B5528 -/* 0EA42C 7F0B58FC 02002025 */ move $a0, $s0 -/* 0EA430 7F0B5900 4480A000 */ mtc1 $zero, $f20 -/* 0EA434 7F0B5904 0002C880 */ sll $t9, $v0, 2 -/* 0EA438 7F0B5908 00409825 */ move $s3, $v0 -/* 0EA43C 7F0B590C 4616A03C */ c.lt.s $f20, $f22 -/* 0EA440 7F0B5910 0322C823 */ subu $t9, $t9, $v0 -/* 0EA444 7F0B5914 02002025 */ move $a0, $s0 -/* 0EA448 7F0B5918 45020008 */ bc1fl .L7F0B593C -/* 0EA44C 7F0B591C 00009025 */ move $s2, $zero -/* 0EA450 7F0B5920 4600B107 */ neg.s $f4, $f22 -/* 0EA454 7F0B5924 0019C880 */ sll $t9, $t9, 2 -/* 0EA458 7F0B5928 44052000 */ mfc1 $a1, $f4 -/* 0EA45C 7F0B592C 0FC2D54A */ jal sub_GAME_7F0B5528 -/* 0EA460 7F0B5930 02393021 */ addu $a2, $s1, $t9 -/* 0EA464 7F0B5934 02629821 */ addu $s3, $s3, $v0 -/* 0EA468 7F0B5938 00009025 */ move $s2, $zero -.L7F0B593C: -/* 0EA46C 7F0B593C 1A600039 */ blez $s3, .L7F0B5A24 -/* 0EA470 7F0B5940 00008825 */ move $s1, $zero -/* 0EA474 7F0B5944 27B00080 */ addiu $s0, $sp, 0x80 -/* 0EA478 7F0B5948 27B40078 */ addiu $s4, $sp, 0x78 -.L7F0B594C: -/* 0EA47C 7F0B594C C6060008 */ lwc1 $f6, 8($s0) -/* 0EA480 7F0B5950 C7AE0074 */ lwc1 $f14, 0x74($sp) -/* 0EA484 7F0B5954 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 0EA488 7F0B5958 4614303E */ c.le.s $f6, $f20 -/* 0EA48C 7F0B595C C7B20070 */ lwc1 $f18, 0x70($sp) -/* 0EA490 7F0B5960 C7B60068 */ lwc1 $f22, 0x68($sp) -/* 0EA494 7F0B5964 02002025 */ move $a0, $s0 -/* 0EA498 7F0B5968 45020024 */ bc1fl .L7F0B59FC -/* 0EA49C 7F0B596C 26310001 */ addiu $s1, $s1, 1 -/* 0EA4A0 7F0B5970 0FC1E018 */ jal sub_GAME_7F078060 -/* 0EA4A4 7F0B5974 02802825 */ move $a1, $s4 -/* 0EA4A8 7F0B5978 16400006 */ bnez $s2, .L7F0B5994 -/* 0EA4AC 7F0B597C C7A20078 */ lwc1 $f2, 0x78($sp) -/* 0EA4B0 7F0B5980 C7B60078 */ lwc1 $f22, 0x78($sp) -/* 0EA4B4 7F0B5984 C7B0007C */ lwc1 $f16, 0x7c($sp) -/* 0EA4B8 7F0B5988 4600B486 */ mov.s $f18, $f22 -/* 0EA4BC 7F0B598C 10000019 */ b .L7F0B59F4 -/* 0EA4C0 7F0B5990 46008386 */ mov.s $f14, $f16 -.L7F0B5994: -/* 0EA4C4 7F0B5994 C7B60068 */ lwc1 $f22, 0x68($sp) -/* 0EA4C8 7F0B5998 C7B20070 */ lwc1 $f18, 0x70($sp) -/* 0EA4CC 7F0B599C C7AC007C */ lwc1 $f12, 0x7c($sp) -/* 0EA4D0 7F0B59A0 4616103C */ c.lt.s $f2, $f22 -/* 0EA4D4 7F0B59A4 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 0EA4D8 7F0B59A8 C7AE0074 */ lwc1 $f14, 0x74($sp) -/* 0EA4DC 7F0B59AC 45020003 */ bc1fl .L7F0B59BC -/* 0EA4E0 7F0B59B0 4602903C */ c.lt.s $f18, $f2 -/* 0EA4E4 7F0B59B4 46001586 */ mov.s $f22, $f2 -/* 0EA4E8 7F0B59B8 4602903C */ c.lt.s $f18, $f2 -.L7F0B59BC: -/* 0EA4EC 7F0B59BC 00000000 */ nop -/* 0EA4F0 7F0B59C0 45020003 */ bc1fl .L7F0B59D0 -/* 0EA4F4 7F0B59C4 4610603C */ c.lt.s $f12, $f16 -/* 0EA4F8 7F0B59C8 46001486 */ mov.s $f18, $f2 -/* 0EA4FC 7F0B59CC 4610603C */ c.lt.s $f12, $f16 -.L7F0B59D0: -/* 0EA500 7F0B59D0 00000000 */ nop -/* 0EA504 7F0B59D4 45020003 */ bc1fl .L7F0B59E4 -/* 0EA508 7F0B59D8 460C703C */ c.lt.s $f14, $f12 -/* 0EA50C 7F0B59DC 46006406 */ mov.s $f16, $f12 -/* 0EA510 7F0B59E0 460C703C */ c.lt.s $f14, $f12 -.L7F0B59E4: -/* 0EA514 7F0B59E4 00000000 */ nop -/* 0EA518 7F0B59E8 45020003 */ bc1fl .L7F0B59F8 -/* 0EA51C 7F0B59EC 26520001 */ addiu $s2, $s2, 1 -/* 0EA520 7F0B59F0 46006386 */ mov.s $f14, $f12 -.L7F0B59F4: -/* 0EA524 7F0B59F4 26520001 */ addiu $s2, $s2, 1 -.L7F0B59F8: -/* 0EA528 7F0B59F8 26310001 */ addiu $s1, $s1, 1 -.L7F0B59FC: -/* 0EA52C 7F0B59FC 2610000C */ addiu $s0, $s0, 0xc -/* 0EA530 7F0B5A00 E7AE0074 */ swc1 $f14, 0x74($sp) -/* 0EA534 7F0B5A04 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 0EA538 7F0B5A08 E7B20070 */ swc1 $f18, 0x70($sp) -/* 0EA53C 7F0B5A0C 1633FFCF */ bne $s1, $s3, .L7F0B594C -/* 0EA540 7F0B5A10 E7B60068 */ swc1 $f22, 0x68($sp) -/* 0EA544 7F0B5A14 E7AE0074 */ swc1 $f14, 0x74($sp) -/* 0EA548 7F0B5A18 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 0EA54C 7F0B5A1C E7B20070 */ swc1 $f18, 0x70($sp) -/* 0EA550 7F0B5A20 E7B60068 */ swc1 $f22, 0x68($sp) -.L7F0B5A24: -/* 0EA554 7F0B5A24 C7AE0074 */ lwc1 $f14, 0x74($sp) -/* 0EA558 7F0B5A28 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 0EA55C 7F0B5A2C C7B20070 */ lwc1 $f18, 0x70($sp) -/* 0EA560 7F0B5A30 16400006 */ bnez $s2, .L7F0B5A4C -/* 0EA564 7F0B5A34 C7B60068 */ lwc1 $f22, 0x68($sp) -/* 0EA568 7F0B5A38 E7B40074 */ swc1 $f20, 0x74($sp) -/* 0EA56C 7F0B5A3C E7B4006C */ swc1 $f20, 0x6c($sp) -/* 0EA570 7F0B5A40 E7B40070 */ swc1 $f20, 0x70($sp) -/* 0EA574 7F0B5A44 10000015 */ b .L7F0B5A9C -/* 0EA578 7F0B5A48 E7B40068 */ swc1 $f20, 0x68($sp) -.L7F0B5A4C: -/* 0EA57C 7F0B5A4C 4616903E */ c.le.s $f18, $f22 -/* 0EA580 7F0B5A50 E7AE0074 */ swc1 $f14, 0x74($sp) -/* 0EA584 7F0B5A54 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 0EA588 7F0B5A58 E7B20070 */ swc1 $f18, 0x70($sp) -/* 0EA58C 7F0B5A5C 45010005 */ bc1t .L7F0B5A74 -/* 0EA590 7F0B5A60 E7B60068 */ swc1 $f22, 0x68($sp) -/* 0EA594 7F0B5A64 4610703E */ c.le.s $f14, $f16 -/* 0EA598 7F0B5A68 E7AE0074 */ swc1 $f14, 0x74($sp) -/* 0EA59C 7F0B5A6C E7B0006C */ swc1 $f16, 0x6c($sp) -/* 0EA5A0 7F0B5A70 4500000A */ bc1f .L7F0B5A9C -.L7F0B5A74: -/* 0EA5A4 7F0B5A74 3C028008 */ lui $v0, %hi(pPlayer) -/* 0EA5A8 7F0B5A78 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0EA5AC 7F0B5A7C C4481118 */ lwc1 $f8, 0x1118($v0) -/* 0EA5B0 7F0B5A80 E7A80068 */ swc1 $f8, 0x68($sp) -/* 0EA5B4 7F0B5A84 C44A111C */ lwc1 $f10, 0x111c($v0) -/* 0EA5B8 7F0B5A88 E7AA006C */ swc1 $f10, 0x6c($sp) -/* 0EA5BC 7F0B5A8C C4441120 */ lwc1 $f4, 0x1120($v0) -/* 0EA5C0 7F0B5A90 E7A40070 */ swc1 $f4, 0x70($sp) -/* 0EA5C4 7F0B5A94 C4461124 */ lwc1 $f6, 0x1124($v0) -/* 0EA5C8 7F0B5A98 E7A60074 */ swc1 $f6, 0x74($sp) -.L7F0B5A9C: -/* 0EA5CC 7F0B5A9C C7A80068 */ lwc1 $f8, 0x68($sp) -/* 0EA5D0 7F0B5AA0 02401025 */ move $v0, $s2 -/* 0EA5D4 7F0B5AA4 E6C80000 */ swc1 $f8, ($s6) -/* 0EA5D8 7F0B5AA8 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0EA5DC 7F0B5AAC C6C80000 */ lwc1 $f8, ($s6) -/* 0EA5E0 7F0B5AB0 E6CA0004 */ swc1 $f10, 4($s6) -/* 0EA5E4 7F0B5AB4 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0EA5E8 7F0B5AB8 E6C40008 */ swc1 $f4, 8($s6) -/* 0EA5EC 7F0B5ABC C7A60074 */ lwc1 $f6, 0x74($sp) -/* 0EA5F0 7F0B5AC0 E6C6000C */ swc1 $f6, 0xc($s6) -/* 0EA5F4 7F0B5AC4 E6A80004 */ swc1 $f8, 4($s5) -/* 0EA5F8 7F0B5AC8 C6CA0004 */ lwc1 $f10, 4($s6) -/* 0EA5FC 7F0B5ACC E6AA0008 */ swc1 $f10, 8($s5) -/* 0EA600 7F0B5AD0 C6C40008 */ lwc1 $f4, 8($s6) -/* 0EA604 7F0B5AD4 E6A4000C */ swc1 $f4, 0xc($s5) -/* 0EA608 7F0B5AD8 C6C6000C */ lwc1 $f6, 0xc($s6) -/* 0EA60C 7F0B5ADC AEB20000 */ sw $s2, ($s5) -/* 0EA610 7F0B5AE0 E6A60010 */ swc1 $f6, 0x10($s5) -.L7F0B5AE4: -/* 0EA614 7F0B5AE4 8FBF0044 */ lw $ra, 0x44($sp) -/* 0EA618 7F0B5AE8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0EA61C 7F0B5AEC D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0EA620 7F0B5AF0 8FB00028 */ lw $s0, 0x28($sp) -/* 0EA624 7F0B5AF4 8FB1002C */ lw $s1, 0x2c($sp) -/* 0EA628 7F0B5AF8 8FB20030 */ lw $s2, 0x30($sp) -/* 0EA62C 7F0B5AFC 8FB30034 */ lw $s3, 0x34($sp) -/* 0EA630 7F0B5B00 8FB40038 */ lw $s4, 0x38($sp) -/* 0EA634 7F0B5B04 8FB5003C */ lw $s5, 0x3c($sp) -/* 0EA638 7F0B5B08 8FB60040 */ lw $s6, 0x40($sp) -/* 0EA63C 7F0B5B0C 03E00008 */ jr $ra -/* 0EA640 7F0B5B10 27BD0170 */ addiu $sp, $sp, 0x170 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B5B14(void *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - // Node 0 - arg0->unk4 = (s32) (((arg1 & 0x3ff) << 0xe) | ((arg2 & 0x3ff) * 4)); - *arg0 = (s32) (((((arg3 + 1) & 0x3ff) << 0xe) | 0xf6000000) | (((arg4 + 1) & 0x3ff) * 4)); - return (arg0 + 8); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5B14 -/* 0EA644 7F0B5B14 8FA80010 */ lw $t0, 0x10($sp) -/* 0EA648 7F0B5B18 24EE0001 */ addiu $t6, $a3, 1 -/* 0EA64C 7F0B5B1C 31CF03FF */ andi $t7, $t6, 0x3ff -/* 0EA650 7F0B5B20 000FC380 */ sll $t8, $t7, 0xe -/* 0EA654 7F0B5B24 3C01F600 */ lui $at, 0xf600 -/* 0EA658 7F0B5B28 25090001 */ addiu $t1, $t0, 1 -/* 0EA65C 7F0B5B2C 312A03FF */ andi $t2, $t1, 0x3ff -/* 0EA660 7F0B5B30 0301C825 */ or $t9, $t8, $at -/* 0EA664 7F0B5B34 30CF03FF */ andi $t7, $a2, 0x3ff -/* 0EA668 7F0B5B38 30AD03FF */ andi $t5, $a1, 0x3ff -/* 0EA66C 7F0B5B3C 000D7380 */ sll $t6, $t5, 0xe -/* 0EA670 7F0B5B40 000FC080 */ sll $t8, $t7, 2 -/* 0EA674 7F0B5B44 000A5880 */ sll $t3, $t2, 2 -/* 0EA678 7F0B5B48 032B6025 */ or $t4, $t9, $t3 -/* 0EA67C 7F0B5B4C 01D84025 */ or $t0, $t6, $t8 -/* 0EA680 7F0B5B50 AC880004 */ sw $t0, 4($a0) -/* 0EA684 7F0B5B54 AC8C0000 */ sw $t4, ($a0) -/* 0EA688 7F0B5B58 03E00008 */ jr $ra -/* 0EA68C 7F0B5B5C 24820008 */ addiu $v0, $a0, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5B60(s32 arg1, ? arg2, ? arg3, ?32 arg4) { - // Node 0 - return sub_GAME_7F0B5B14(sub_GAME_7F0B5B14(sub_GAME_7F0B5B14(sub_GAME_7F0B5B14(), arg3, arg2, arg3, arg4), arg1, arg4, arg3), arg1, arg2, arg1, arg4); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5B60 -/* 0EA690 7F0B5B60 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0EA694 7F0B5B64 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EA698 7F0B5B68 AFA50024 */ sw $a1, 0x24($sp) -/* 0EA69C 7F0B5B6C AFA7002C */ sw $a3, 0x2c($sp) -/* 0EA6A0 7F0B5B70 AFA60010 */ sw $a2, 0x10($sp) -/* 0EA6A4 7F0B5B74 0FC2D6C5 */ jal sub_GAME_7F0B5B14 -/* 0EA6A8 7F0B5B78 AFA60028 */ sw $a2, 0x28($sp) -/* 0EA6AC 7F0B5B7C 8FA5002C */ lw $a1, 0x2c($sp) -/* 0EA6B0 7F0B5B80 8FAE0030 */ lw $t6, 0x30($sp) -/* 0EA6B4 7F0B5B84 00402025 */ move $a0, $v0 -/* 0EA6B8 7F0B5B88 8FA60028 */ lw $a2, 0x28($sp) -/* 0EA6BC 7F0B5B8C 00A03825 */ move $a3, $a1 -/* 0EA6C0 7F0B5B90 0FC2D6C5 */ jal sub_GAME_7F0B5B14 -/* 0EA6C4 7F0B5B94 AFAE0010 */ sw $t6, 0x10($sp) -/* 0EA6C8 7F0B5B98 8FA60030 */ lw $a2, 0x30($sp) -/* 0EA6CC 7F0B5B9C 00402025 */ move $a0, $v0 -/* 0EA6D0 7F0B5BA0 8FA50024 */ lw $a1, 0x24($sp) -/* 0EA6D4 7F0B5BA4 8FA7002C */ lw $a3, 0x2c($sp) -/* 0EA6D8 7F0B5BA8 0FC2D6C5 */ jal sub_GAME_7F0B5B14 -/* 0EA6DC 7F0B5BAC AFA60010 */ sw $a2, 0x10($sp) -/* 0EA6E0 7F0B5BB0 8FA70024 */ lw $a3, 0x24($sp) -/* 0EA6E4 7F0B5BB4 8FB80030 */ lw $t8, 0x30($sp) -/* 0EA6E8 7F0B5BB8 00402025 */ move $a0, $v0 -/* 0EA6EC 7F0B5BBC 8FA60028 */ lw $a2, 0x28($sp) -/* 0EA6F0 7F0B5BC0 00E02825 */ move $a1, $a3 -/* 0EA6F4 7F0B5BC4 0FC2D6C5 */ jal sub_GAME_7F0B5B14 -/* 0EA6F8 7F0B5BC8 AFB80010 */ sw $t8, 0x10($sp) -/* 0EA6FC 7F0B5BCC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0EA700 7F0B5BD0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0EA704 7F0B5BD4 03E00008 */ jr $ra -/* 0EA708 7F0B5BD8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 vis_is_inline_of_sight(void *arg0, void *arg1) { - // Node 0 - if (*arg1 < *arg0) - { - // Node 1 - *arg0 = (f32) *arg0; - } - else - { - // Node 2 - *arg0 = (f32) *arg1; - } - // Node 3 - if (arg1->unk4 < arg0->unk4) - { - // Node 4 - arg0->unk4 = (f32) arg0->unk4; - } - else - { - // Node 5 - arg0->unk4 = (f32) arg1->unk4; - } - // Node 6 - if (arg0->unk8 < arg1->unk8) - { - // Node 7 - arg0->unk8 = (f32) arg0->unk8; - } - else - { - // Node 8 - arg0->unk8 = (f32) arg1->unk8; - } - // Node 9 - if (arg0->unkC < arg1->unkC) - { - // Node 10 - arg0->unkC = (f32) arg0->unkC; - } - else - { - // Node 11 - arg0->unkC = (f32) arg1->unkC; - } - // Node 12 - if (arg0->unk8 <= *arg0) - { - // Node 13 - *arg0 = (f32) arg0->unk8; - return arg0->unk8; - } - // Node 14 - if (arg0->unkC <= arg0->unk4) - { - // Node 15 - arg0->unk4 = (f32) arg0->unkC; - return 0.0f; - } - // Node 16 - return 1.401298464324817e-45f; -} -#else -GLOBAL_ASM( -.text -glabel vis_is_inline_of_sight -/* 0EA70C 7F0B5BDC C4A00000 */ lwc1 $f0, ($a1) -/* 0EA710 7F0B5BE0 C4820000 */ lwc1 $f2, ($a0) -/* 0EA714 7F0B5BE4 4602003C */ c.lt.s $f0, $f2 -/* 0EA718 7F0B5BE8 00000000 */ nop -/* 0EA71C 7F0B5BEC 45020004 */ bc1fl .L7F0B5C00 -/* 0EA720 7F0B5BF0 E4800000 */ swc1 $f0, ($a0) -/* 0EA724 7F0B5BF4 10000002 */ b .L7F0B5C00 -/* 0EA728 7F0B5BF8 E4820000 */ swc1 $f2, ($a0) -/* 0EA72C 7F0B5BFC E4800000 */ swc1 $f0, ($a0) -.L7F0B5C00: -/* 0EA730 7F0B5C00 C4A00004 */ lwc1 $f0, 4($a1) -/* 0EA734 7F0B5C04 C4820004 */ lwc1 $f2, 4($a0) -/* 0EA738 7F0B5C08 00001025 */ move $v0, $zero -/* 0EA73C 7F0B5C0C 4602003C */ c.lt.s $f0, $f2 -/* 0EA740 7F0B5C10 00000000 */ nop -/* 0EA744 7F0B5C14 45020004 */ bc1fl .L7F0B5C28 -/* 0EA748 7F0B5C18 E4800004 */ swc1 $f0, 4($a0) -/* 0EA74C 7F0B5C1C 10000002 */ b .L7F0B5C28 -/* 0EA750 7F0B5C20 E4820004 */ swc1 $f2, 4($a0) -/* 0EA754 7F0B5C24 E4800004 */ swc1 $f0, 4($a0) -.L7F0B5C28: -/* 0EA758 7F0B5C28 C4800008 */ lwc1 $f0, 8($a0) -/* 0EA75C 7F0B5C2C C4A20008 */ lwc1 $f2, 8($a1) -/* 0EA760 7F0B5C30 4602003C */ c.lt.s $f0, $f2 -/* 0EA764 7F0B5C34 00000000 */ nop -/* 0EA768 7F0B5C38 45020004 */ bc1fl .L7F0B5C4C -/* 0EA76C 7F0B5C3C E4820008 */ swc1 $f2, 8($a0) -/* 0EA770 7F0B5C40 10000002 */ b .L7F0B5C4C -/* 0EA774 7F0B5C44 E4800008 */ swc1 $f0, 8($a0) -/* 0EA778 7F0B5C48 E4820008 */ swc1 $f2, 8($a0) -.L7F0B5C4C: -/* 0EA77C 7F0B5C4C C480000C */ lwc1 $f0, 0xc($a0) -/* 0EA780 7F0B5C50 C4A2000C */ lwc1 $f2, 0xc($a1) -/* 0EA784 7F0B5C54 4602003C */ c.lt.s $f0, $f2 -/* 0EA788 7F0B5C58 00000000 */ nop -/* 0EA78C 7F0B5C5C 45020004 */ bc1fl .L7F0B5C70 -/* 0EA790 7F0B5C60 E482000C */ swc1 $f2, 0xc($a0) -/* 0EA794 7F0B5C64 10000002 */ b .L7F0B5C70 -/* 0EA798 7F0B5C68 E480000C */ swc1 $f0, 0xc($a0) -/* 0EA79C 7F0B5C6C E482000C */ swc1 $f2, 0xc($a0) -.L7F0B5C70: -/* 0EA7A0 7F0B5C70 C4800008 */ lwc1 $f0, 8($a0) -/* 0EA7A4 7F0B5C74 C4840000 */ lwc1 $f4, ($a0) -/* 0EA7A8 7F0B5C78 4604003E */ c.le.s $f0, $f4 -/* 0EA7AC 7F0B5C7C 00000000 */ nop -/* 0EA7B0 7F0B5C80 45020004 */ bc1fl .L7F0B5C94 -/* 0EA7B4 7F0B5C84 C480000C */ lwc1 $f0, 0xc($a0) -/* 0EA7B8 7F0B5C88 03E00008 */ jr $ra -/* 0EA7BC 7F0B5C8C E4800000 */ swc1 $f0, ($a0) - -/* 0EA7C0 7F0B5C90 C480000C */ lwc1 $f0, 0xc($a0) -.L7F0B5C94: -/* 0EA7C4 7F0B5C94 C4860004 */ lwc1 $f6, 4($a0) -/* 0EA7C8 7F0B5C98 24020001 */ li $v0, 1 -/* 0EA7CC 7F0B5C9C 4606003E */ c.le.s $f0, $f6 -/* 0EA7D0 7F0B5CA0 00000000 */ nop -/* 0EA7D4 7F0B5CA4 45000004 */ bc1f .L7F0B5CB8 -/* 0EA7D8 7F0B5CA8 00000000 */ nop -/* 0EA7DC 7F0B5CAC E4800004 */ swc1 $f0, 4($a0) -/* 0EA7E0 7F0B5CB0 03E00008 */ jr $ra -/* 0EA7E4 7F0B5CB4 00001025 */ move $v0, $zero - -.L7F0B5CB8: -/* 0EA7E8 7F0B5CB8 03E00008 */ jr $ra -/* 0EA7EC 7F0B5CBC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B5CC0(void *arg0, void *arg1) { - // Node 0 - if (*arg0 < *arg1) - { - // Node 1 - *arg0 = (f32) *arg0; - } - else - { - // Node 2 - *arg0 = (f32) *arg1; - } - // Node 3 - if (arg0->unk4 < arg1->unk4) - { - // Node 4 - arg0->unk4 = (f32) arg0->unk4; - } - else - { - // Node 5 - arg0->unk4 = (f32) arg1->unk4; - } - // Node 6 - if (arg1->unk8 < arg0->unk8) - { - // Node 7 - arg0->unk8 = (f32) arg0->unk8; - } - else - { - // Node 8 - arg0->unk8 = (f32) arg1->unk8; - } - // Node 9 - if (arg1->unkC < arg0->unkC) - { - // Node 10 - arg0->unkC = (f32) arg0->unkC; - return arg1->unkC; - } - // Node 11 - arg0->unkC = (f32) arg1->unkC; - return arg1->unkC; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5CC0 -/* 0EA7F0 7F0B5CC0 C4800000 */ lwc1 $f0, ($a0) -/* 0EA7F4 7F0B5CC4 C4A20000 */ lwc1 $f2, ($a1) -/* 0EA7F8 7F0B5CC8 4602003C */ c.lt.s $f0, $f2 -/* 0EA7FC 7F0B5CCC 00000000 */ nop -/* 0EA800 7F0B5CD0 45020004 */ bc1fl .L7F0B5CE4 -/* 0EA804 7F0B5CD4 E4820000 */ swc1 $f2, ($a0) -/* 0EA808 7F0B5CD8 10000002 */ b .L7F0B5CE4 -/* 0EA80C 7F0B5CDC E4800000 */ swc1 $f0, ($a0) -/* 0EA810 7F0B5CE0 E4820000 */ swc1 $f2, ($a0) -.L7F0B5CE4: -/* 0EA814 7F0B5CE4 C4800004 */ lwc1 $f0, 4($a0) -/* 0EA818 7F0B5CE8 C4A20004 */ lwc1 $f2, 4($a1) -/* 0EA81C 7F0B5CEC 4602003C */ c.lt.s $f0, $f2 -/* 0EA820 7F0B5CF0 00000000 */ nop -/* 0EA824 7F0B5CF4 45020004 */ bc1fl .L7F0B5D08 -/* 0EA828 7F0B5CF8 E4820004 */ swc1 $f2, 4($a0) -/* 0EA82C 7F0B5CFC 10000002 */ b .L7F0B5D08 -/* 0EA830 7F0B5D00 E4800004 */ swc1 $f0, 4($a0) -/* 0EA834 7F0B5D04 E4820004 */ swc1 $f2, 4($a0) -.L7F0B5D08: -/* 0EA838 7F0B5D08 C4A00008 */ lwc1 $f0, 8($a1) -/* 0EA83C 7F0B5D0C C4820008 */ lwc1 $f2, 8($a0) -/* 0EA840 7F0B5D10 4602003C */ c.lt.s $f0, $f2 -/* 0EA844 7F0B5D14 00000000 */ nop -/* 0EA848 7F0B5D18 45020004 */ bc1fl .L7F0B5D2C -/* 0EA84C 7F0B5D1C E4800008 */ swc1 $f0, 8($a0) -/* 0EA850 7F0B5D20 10000002 */ b .L7F0B5D2C -/* 0EA854 7F0B5D24 E4820008 */ swc1 $f2, 8($a0) -/* 0EA858 7F0B5D28 E4800008 */ swc1 $f0, 8($a0) -.L7F0B5D2C: -/* 0EA85C 7F0B5D2C C4A0000C */ lwc1 $f0, 0xc($a1) -/* 0EA860 7F0B5D30 C482000C */ lwc1 $f2, 0xc($a0) -/* 0EA864 7F0B5D34 4602003C */ c.lt.s $f0, $f2 -/* 0EA868 7F0B5D38 00000000 */ nop -/* 0EA86C 7F0B5D3C 45020004 */ bc1fl .L7F0B5D50 -/* 0EA870 7F0B5D40 E480000C */ swc1 $f0, 0xc($a0) -/* 0EA874 7F0B5D44 03E00008 */ jr $ra -/* 0EA878 7F0B5D48 E482000C */ swc1 $f2, 0xc($a0) - -/* 0EA87C 7F0B5D4C E480000C */ swc1 $f0, 0xc($a0) -.L7F0B5D50: -/* 0EA880 7F0B5D50 03E00008 */ jr $ra -/* 0EA884 7F0B5D54 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void copy_4_floats_a1_to_a0(void *arg0, void *arg1) { - // Node 0 - *arg0 = (f32) *arg1; - arg0->unk4 = (f32) arg1->unk4; - arg0->unk8 = (f32) arg1->unk8; - arg0->unkC = (f32) arg1->unkC; - return; -} -#else -GLOBAL_ASM( -.text -glabel copy_4_floats_a1_to_a0 -/* 0EA888 7F0B5D58 C4A40000 */ lwc1 $f4, ($a1) -/* 0EA88C 7F0B5D5C E4840000 */ swc1 $f4, ($a0) -/* 0EA890 7F0B5D60 C4A60004 */ lwc1 $f6, 4($a1) -/* 0EA894 7F0B5D64 E4860004 */ swc1 $f6, 4($a0) -/* 0EA898 7F0B5D68 C4A80008 */ lwc1 $f8, 8($a1) -/* 0EA89C 7F0B5D6C E4880008 */ swc1 $f8, 8($a0) -/* 0EA8A0 7F0B5D70 C4AA000C */ lwc1 $f10, 0xc($a1) -/* 0EA8A4 7F0B5D74 03E00008 */ jr $ra -/* 0EA8A8 7F0B5D78 E48A000C */ swc1 $f10, 0xc($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5D7C(s32 arg0) { - s32 temp_hi; - - // Node 0 - temp_hi = ((s32) (D_80044860 + 1) % 0xa); - D_80044860 = temp_hi; - sprintf(((temp_hi * 9) + &dword_CODE_bss_8007C040), "PORT%d", arg0); - return sp1C; -} -#else -GLOBAL_ASM( -.rdata -/*D:80058C48*/ -glabel aPortD -/*"PORT%d"*/ -.word 0x504F5254, 0x25640000 - - - -.text -glabel sub_GAME_7F0B5D7C -/* 0EA8AC 7F0B5D7C 3C028004 */ lui $v0, %hi(D_80044860) -/* 0EA8B0 7F0B5D80 8C424860 */ lw $v0, %lo(D_80044860)($v0) -/* 0EA8B4 7F0B5D84 2401000A */ li $at, 10 -/* 0EA8B8 7F0B5D88 3C188008 */ lui $t8, %hi(dword_CODE_bss_8007C040) -/* 0EA8BC 7F0B5D8C 24420001 */ addiu $v0, $v0, 1 -/* 0EA8C0 7F0B5D90 0041001A */ div $zero, $v0, $at -/* 0EA8C4 7F0B5D94 00007010 */ mfhi $t6 -/* 0EA8C8 7F0B5D98 000E78C0 */ sll $t7, $t6, 3 -/* 0EA8CC 7F0B5D9C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0EA8D0 7F0B5DA0 00803025 */ move $a2, $a0 -/* 0EA8D4 7F0B5DA4 01EE7821 */ addu $t7, $t7, $t6 -/* 0EA8D8 7F0B5DA8 2718C040 */ addiu $t8, %lo(dword_CODE_bss_8007C040) # addiu $t8, $t8, -0x3fc0 -/* 0EA8DC 7F0B5DAC AFBF0014 */ sw $ra, 0x14($sp) -/* 0EA8E0 7F0B5DB0 01F82021 */ addu $a0, $t7, $t8 -/* 0EA8E4 7F0B5DB4 3C018004 */ lui $at, %hi(D_80044860) -/* 0EA8E8 7F0B5DB8 3C058006 */ lui $a1, %hi(aPortD) -/* 0EA8EC 7F0B5DBC AFA4001C */ sw $a0, 0x1c($sp) -/* 0EA8F0 7F0B5DC0 24A58C48 */ addiu $a1, %lo(aPortD) # addiu $a1, $a1, -0x73b8 -/* 0EA8F4 7F0B5DC4 0C002B25 */ jal sprintf -/* 0EA8F8 7F0B5DC8 AC2E4860 */ sw $t6, %lo(D_80044860)($at) -/* 0EA8FC 7F0B5DCC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EA900 7F0B5DD0 8FA2001C */ lw $v0, 0x1c($sp) -/* 0EA904 7F0B5DD4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0EA908 7F0B5DD8 03E00008 */ jr $ra -/* 0EA90C 7F0B5DDC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5DE0(s32 arg0) { - s32 temp_hi; - - // Node 0 - temp_hi = ((s32) (D_80044864 + 1) % 0xa); - D_80044864 = temp_hi; - sprintf(((temp_hi * 9) + &dword_CODE_bss_8007C0A0), "ROOM%d", arg0); - return sp1C; -} -#else -GLOBAL_ASM( -.rdata -/*D:80058C50*/ -glabel aRoomD -/*"ROOM%d"*/ -.word 0x524F4F4D, 0x25640000 - -.text -glabel sub_GAME_7F0B5DE0 -/* 0EA910 7F0B5DE0 3C028004 */ lui $v0, %hi(D_80044864) -/* 0EA914 7F0B5DE4 8C424864 */ lw $v0, %lo(D_80044864)($v0) -/* 0EA918 7F0B5DE8 2401000A */ li $at, 10 -/* 0EA91C 7F0B5DEC 3C188008 */ lui $t8, %hi(dword_CODE_bss_8007C0A0) -/* 0EA920 7F0B5DF0 24420001 */ addiu $v0, $v0, 1 -/* 0EA924 7F0B5DF4 0041001A */ div $zero, $v0, $at -/* 0EA928 7F0B5DF8 00007010 */ mfhi $t6 -/* 0EA92C 7F0B5DFC 000E78C0 */ sll $t7, $t6, 3 -/* 0EA930 7F0B5E00 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0EA934 7F0B5E04 00803025 */ move $a2, $a0 -/* 0EA938 7F0B5E08 01EE7821 */ addu $t7, $t7, $t6 -/* 0EA93C 7F0B5E0C 2718C0A0 */ addiu $t8, %lo(dword_CODE_bss_8007C0A0) # addiu $t8, $t8, -0x3f60 -/* 0EA940 7F0B5E10 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EA944 7F0B5E14 01F82021 */ addu $a0, $t7, $t8 -/* 0EA948 7F0B5E18 3C018004 */ lui $at, %hi(D_80044864) -/* 0EA94C 7F0B5E1C 3C058006 */ lui $a1, %hi(aRoomD) -/* 0EA950 7F0B5E20 AFA4001C */ sw $a0, 0x1c($sp) -/* 0EA954 7F0B5E24 24A58C50 */ addiu $a1, %lo(aRoomD) # addiu $a1, $a1, -0x73b0 -/* 0EA958 7F0B5E28 0C002B25 */ jal sprintf -/* 0EA95C 7F0B5E2C AC2E4864 */ sw $t6, %lo(D_80044864)($at) -/* 0EA960 7F0B5E30 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EA964 7F0B5E34 8FA2001C */ lw $v0, 0x1c($sp) -/* 0EA968 7F0B5E38 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0EA96C 7F0B5E3C 03E00008 */ jr $ra -/* 0EA970 7F0B5E40 00000000 */ nop -) -#endif - - - - - - -s32 getMaxNumRooms(void) { - return MaxNumRooms; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5E50(s32 arg0) { - return *(&D_80041414 + (arg0 * 0x50)); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5E50 -/* 0EA980 7F0B5E50 00047080 */ sll $t6, $a0, 2 -/* 0EA984 7F0B5E54 01C47021 */ addu $t6, $t6, $a0 -/* 0EA988 7F0B5E58 000E7100 */ sll $t6, $t6, 4 -/* 0EA98C 7F0B5E5C 3C028004 */ lui $v0, %hi(D_80041414) -/* 0EA990 7F0B5E60 004E1021 */ addu $v0, $v0, $t6 -/* 0EA994 7F0B5E64 03E00008 */ jr $ra -/* 0EA998 7F0B5E68 90421414 */ lbu $v0, %lo(D_80041414)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5E6C(s32 arg0) { - return *(&D_80041414+0x1 + (arg0 * 0x50)); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5E6C -/* 0EA99C 7F0B5E6C 00047080 */ sll $t6, $a0, 2 -/* 0EA9A0 7F0B5E70 01C47021 */ addu $t6, $t6, $a0 -/* 0EA9A4 7F0B5E74 000E7100 */ sll $t6, $t6, 4 -/* 0EA9A8 7F0B5E78 3C028004 */ lui $v0, %hi(D_80041414+0x1) -/* 0EA9AC 7F0B5E7C 004E1021 */ addu $v0, $v0, $t6 -/* 0EA9B0 7F0B5E80 03E00008 */ jr $ra -/* 0EA9B4 7F0B5E84 90421415 */ lbu $v0, %lo(D_80041414+0x1)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B5E88(s32 arg0) { - s32 temp_a2; - s32 phi_a2; - s32 phi_v1; - void *phi_a1; - - // Node 0 - if (*ptr_bgdata_portals != 0) - { - // Node 1 - phi_a2 = *ptr_bgdata_portals; - phi_v1 = 0; - phi_a1 = ptr_bgdata_portals; -loop_2: - // Node 2 - if (arg0 == phi_a2) - { - // Node 3 - return phi_v1; - } - // Node 4 - temp_a2 = phi_a1->unk8; - phi_a2 = temp_a2; - phi_v1 = (phi_v1 + 1); - phi_a1 = (phi_a1 + 8); - if (temp_a2 != 0) - { - goto loop_2; - } - } - // Node 5 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5E88 -/* 0EA9B8 7F0B5E88 3C028008 */ lui $v0, %hi(ptr_bgdata_portals) -/* 0EA9BC 7F0B5E8C 8C42FF80 */ lw $v0, %lo(ptr_bgdata_portals)($v0) -/* 0EA9C0 7F0B5E90 00001825 */ move $v1, $zero -/* 0EA9C4 7F0B5E94 8C4E0000 */ lw $t6, ($v0) -/* 0EA9C8 7F0B5E98 00402825 */ move $a1, $v0 -/* 0EA9CC 7F0B5E9C 51C0000C */ beql $t6, $zero, .L7F0B5ED0 -/* 0EA9D0 7F0B5EA0 00001025 */ move $v0, $zero -/* 0EA9D4 7F0B5EA4 8C460000 */ lw $a2, ($v0) -.L7F0B5EA8: -/* 0EA9D8 7F0B5EA8 54860004 */ bnel $a0, $a2, .L7F0B5EBC -/* 0EA9DC 7F0B5EAC 8CA60008 */ lw $a2, 8($a1) -/* 0EA9E0 7F0B5EB0 03E00008 */ jr $ra -/* 0EA9E4 7F0B5EB4 00601025 */ move $v0, $v1 - -/* 0EA9E8 7F0B5EB8 8CA60008 */ lw $a2, 8($a1) -.L7F0B5EBC: -/* 0EA9EC 7F0B5EBC 24630001 */ addiu $v1, $v1, 1 -/* 0EA9F0 7F0B5EC0 24A50008 */ addiu $a1, $a1, 8 -/* 0EA9F4 7F0B5EC4 14C0FFF8 */ bnez $a2, .L7F0B5EA8 -/* 0EA9F8 7F0B5EC8 00000000 */ nop -/* 0EA9FC 7F0B5ECC 00001025 */ move $v0, $zero -.L7F0B5ED0: -/* 0EAA00 7F0B5ED0 03E00008 */ jr $ra -/* 0EAA04 7F0B5ED4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void generate_room_load_string(void) { - ? sp29; - ? temp_ret; - void *phi_v1; - s32 phi_a0; - void *phi_v0; - s32 phi_a0_2; - s32 phi_a0_3; - - // Node 0 - temp_ret = get_debug_prroomloads_flag(); - if (temp_ret != 0) - { - // Node 1 - phi_a0_3 = 1; - if (MaxNumRooms >= 2) - { - // Node 2 - phi_v1 = &room_information+0x40; - phi_a0 = 1; - phi_v0 = &sp29; -loop_3: - // Node 3 - if (phi_v1->unk2 != 0) - { - // Node 4 - *phi_v0 = (s8) (((s32) phi_a0 % 0xa) + 0x30); - phi_a0_2 = (phi_a0 + 1); - } - else - { - // Node 5 - *phi_v0 = (u8)0x2e; - phi_a0_2 = (phi_a0 + 1); - } - // Node 6 - phi_v1 = (phi_v1 + 0x50); - phi_a0 = phi_a0_2; - phi_v0 = (phi_v0 + 1); - phi_a0_3 = phi_a0_2; - if (phi_a0_2 < MaxNumRooms) - { - goto loop_3; - } - } - // Node 7 - (sp + phi_a0_3)->unk28 = (u8)0; - } - // Node 8 - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel generate_room_load_string -/* 0EAA08 7F0B5ED8 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0EAA0C 7F0B5EDC AFBF0014 */ sw $ra, 0x14($sp) -/* 0EAA10 7F0B5EE0 0FC243F4 */ jal get_debug_prroomloads_flag -/* 0EAA14 7F0B5EE4 00000000 */ nop -/* 0EAA18 7F0B5EE8 10400024 */ beqz $v0, .L7F0B5F7C -/* 0EAA1C 7F0B5EEC 3C078004 */ lui $a3, %hi(MaxNumRooms) -/* 0EAA20 7F0B5EF0 8CE742F4 */ lw $a3, %lo(MaxNumRooms)($a3) -/* 0EAA24 7F0B5EF4 3C038004 */ lui $v1, %hi(room_information+0x40) -/* 0EAA28 7F0B5EF8 24631464 */ addiu $v1, %lo(room_information+0x40) # addiu $v1, $v1, 0x1464 -/* 0EAA2C 7F0B5EFC 28E10002 */ slti $at, $a3, 2 -/* 0EAA30 7F0B5F00 1420001C */ bnez $at, .L7F0B5F74 -/* 0EAA34 7F0B5F04 24040001 */ li $a0, 1 -/* 0EAA38 7F0B5F08 27A20029 */ addiu $v0, $sp, 0x29 -/* 0EAA3C 7F0B5F0C 2406002E */ li $a2, 46 -/* 0EAA40 7F0B5F10 2405000A */ li $a1, 10 -.L7F0B5F14: -/* 0EAA44 7F0B5F14 906E0002 */ lbu $t6, 2($v1) -/* 0EAA48 7F0B5F18 24630050 */ addiu $v1, $v1, 0x50 -/* 0EAA4C 7F0B5F1C 51C00011 */ beql $t6, $zero, .L7F0B5F64 -/* 0EAA50 7F0B5F20 A0460000 */ sb $a2, ($v0) -/* 0EAA54 7F0B5F24 0085001A */ div $zero, $a0, $a1 -/* 0EAA58 7F0B5F28 00007810 */ mfhi $t7 -/* 0EAA5C 7F0B5F2C 25F80030 */ addiu $t8, $t7, 0x30 -/* 0EAA60 7F0B5F30 14A00002 */ bnez $a1, .L7F0B5F3C -/* 0EAA64 7F0B5F34 00000000 */ nop -/* 0EAA68 7F0B5F38 0007000D */ break 7 -.L7F0B5F3C: -/* 0EAA6C 7F0B5F3C 2401FFFF */ li $at, -1 -/* 0EAA70 7F0B5F40 14A10004 */ bne $a1, $at, .L7F0B5F54 -/* 0EAA74 7F0B5F44 3C018000 */ lui $at, 0x8000 -/* 0EAA78 7F0B5F48 14810002 */ bne $a0, $at, .L7F0B5F54 -/* 0EAA7C 7F0B5F4C 00000000 */ nop -/* 0EAA80 7F0B5F50 0006000D */ break 6 -.L7F0B5F54: -/* 0EAA84 7F0B5F54 A0580000 */ sb $t8, ($v0) -/* 0EAA88 7F0B5F58 10000003 */ b .L7F0B5F68 -/* 0EAA8C 7F0B5F5C 24840001 */ addiu $a0, $a0, 1 -/* 0EAA90 7F0B5F60 A0460000 */ sb $a2, ($v0) -.L7F0B5F64: -/* 0EAA94 7F0B5F64 24840001 */ addiu $a0, $a0, 1 -.L7F0B5F68: -/* 0EAA98 7F0B5F68 0087082A */ slt $at, $a0, $a3 -/* 0EAA9C 7F0B5F6C 1420FFE9 */ bnez $at, .L7F0B5F14 -/* 0EAAA0 7F0B5F70 24420001 */ addiu $v0, $v0, 1 -.L7F0B5F74: -/* 0EAAA4 7F0B5F74 03A4C821 */ addu $t9, $sp, $a0 -/* 0EAAA8 7F0B5F78 A3200028 */ sb $zero, 0x28($t9) -.L7F0B5F7C: -/* 0EAAAC 7F0B5F7C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EAAB0 7F0B5F80 27BD00C0 */ addiu $sp, $sp, 0xc0 -/* 0EAAB4 7F0B5F84 03E00008 */ jr $ra -/* 0EAAB8 7F0B5F88 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5F8C(void) { - ? sp18; - - // Node 0 - return decompressdata(&sp18); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5F8C -/* 0EAABC 7F0B5F8C 27BDDEE8 */ addiu $sp, $sp, -0x2118 -/* 0EAAC0 7F0B5F90 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EAAC4 7F0B5F94 0FC339FC */ jal decompressdata -/* 0EAAC8 7F0B5F98 27A60018 */ addiu $a2, $sp, 0x18 -/* 0EAACC 7F0B5F9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EAAD0 7F0B5FA0 27BD2118 */ addiu $sp, $sp, 0x2118 -/* 0EAAD4 7F0B5FA4 03E00008 */ jr $ra -/* 0EAAD8 7F0B5FA8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B5FAC(s32 arg0, s32 arg1, s32 arg2) { - void *sp1C; - void *temp_v1; - s32 temp_t9; - ? temp_ret; - - // Node 0 - temp_v1 = ((arg0 * 0x50) + &D_80041414); - temp_t9 = ((temp_v1->unk10 + 0xf) & -0x10); - if (arg2 >= (temp_t9 + 0x20)) - { - // Node 2 - sp1C = temp_v1; - load_bg_bytes_at_offset_to_membank(*(&levelinfotable + (D_80041400 * 0x18)), ((arg2 - temp_t9) + arg1), (((*(ptr_bgdata_room_fileposition_list + (arg0 * 0x18)) + ptr_bg_data) - ptr_bg_data) + 0xf1000000), temp_t9); - temp_ret = sub_GAME_7F0B5F8C(sp18, arg1); - temp_v1->unk1C = temp_ret; - temp_v1->unk4 = arg1; - // Node 3 - return temp_ret; - } - // Node 1 - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B5FAC -/* 0EAADC 7F0B5FAC 00047880 */ sll $t7, $a0, 2 -/* 0EAAE0 7F0B5FB0 01E47821 */ addu $t7, $t7, $a0 -/* 0EAAE4 7F0B5FB4 3C188004 */ lui $t8, %hi(D_80041414) -/* 0EAAE8 7F0B5FB8 27181414 */ addiu $t8, %lo(D_80041414) # addiu $t8, $t8, 0x1414 -/* 0EAAEC 7F0B5FBC 000F7900 */ sll $t7, $t7, 4 -/* 0EAAF0 7F0B5FC0 01F81821 */ addu $v1, $t7, $t8 -/* 0EAAF4 7F0B5FC4 8C670010 */ lw $a3, 0x10($v1) -/* 0EAAF8 7F0B5FC8 2401FFF0 */ li $at, -16 -/* 0EAAFC 7F0B5FCC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0EAB00 7F0B5FD0 24E7000F */ addiu $a3, $a3, 0xf -/* 0EAB04 7F0B5FD4 00E1C824 */ and $t9, $a3, $at -/* 0EAB08 7F0B5FD8 272A0020 */ addiu $t2, $t9, 0x20 -/* 0EAB0C 7F0B5FDC 00CA082A */ slt $at, $a2, $t2 -/* 0EAB10 7F0B5FE0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EAB14 7F0B5FE4 AFA40030 */ sw $a0, 0x30($sp) -/* 0EAB18 7F0B5FE8 AFA50034 */ sw $a1, 0x34($sp) -/* 0EAB1C 7F0B5FEC AFA60038 */ sw $a2, 0x38($sp) -/* 0EAB20 7F0B5FF0 10200003 */ beqz $at, .L7F0B6000 -/* 0EAB24 7F0B5FF4 03203825 */ move $a3, $t9 -/* 0EAB28 7F0B5FF8 10000024 */ b .L7F0B608C -/* 0EAB2C 7F0B5FFC 2402FFFF */ li $v0, -1 -.L7F0B6000: -/* 0EAB30 7F0B6000 8FAC0030 */ lw $t4, 0x30($sp) -/* 0EAB34 7F0B6004 24080018 */ li $t0, 24 -/* 0EAB38 7F0B6008 3C198004 */ lui $t9, %hi(D_80041400) -/* 0EAB3C 7F0B600C 01880019 */ multu $t4, $t0 -/* 0EAB40 7F0B6010 8F391400 */ lw $t9, %lo(D_80041400)($t9) -/* 0EAB44 7F0B6014 3C0B8008 */ lui $t3, %hi(ptr_bgdata_room_fileposition_list) -/* 0EAB48 7F0B6018 8D6BFF8C */ lw $t3, %lo(ptr_bgdata_room_fileposition_list)($t3) -/* 0EAB4C 7F0B601C 3C028008 */ lui $v0, %hi(ptr_bg_data) -/* 0EAB50 7F0B6020 8C42BF90 */ lw $v0, %lo(ptr_bg_data)($v0) -/* 0EAB54 7F0B6024 8FAA0038 */ lw $t2, 0x38($sp) -/* 0EAB58 7F0B6028 3C048004 */ lui $a0, %hi(levelinfotable) -/* 0EAB5C 7F0B602C 3C01F100 */ lui $at, 0xf100 -/* 0EAB60 7F0B6030 01476023 */ subu $t4, $t2, $a3 -/* 0EAB64 7F0B6034 00006812 */ mflo $t5 -/* 0EAB68 7F0B6038 016D7021 */ addu $t6, $t3, $t5 -/* 0EAB6C 7F0B603C 8DCF0000 */ lw $t7, ($t6) -/* 0EAB70 7F0B6040 03280019 */ multu $t9, $t0 -/* 0EAB74 7F0B6044 8FAB0034 */ lw $t3, 0x34($sp) -/* 0EAB78 7F0B6048 01E2C021 */ addu $t8, $t7, $v0 -/* 0EAB7C 7F0B604C 03023023 */ subu $a2, $t8, $v0 -/* 0EAB80 7F0B6050 018B2821 */ addu $a1, $t4, $t3 -/* 0EAB84 7F0B6054 00C13021 */ addu $a2, $a2, $at -/* 0EAB88 7F0B6058 AFA50018 */ sw $a1, 0x18($sp) -/* 0EAB8C 7F0B605C AFA3001C */ sw $v1, 0x1c($sp) -/* 0EAB90 7F0B6060 00004812 */ mflo $t1 -/* 0EAB94 7F0B6064 00892021 */ addu $a0, $a0, $t1 -/* 0EAB98 7F0B6068 0FC2F35F */ jal load_bg_bytes_at_offset_to_membank -/* 0EAB9C 7F0B606C 8C844490 */ lw $a0, %lo(levelinfotable+4)($a0) -/* 0EABA0 7F0B6070 8FA40018 */ lw $a0, 0x18($sp) -/* 0EABA4 7F0B6074 0FC2D7E3 */ jal sub_GAME_7F0B5F8C -/* 0EABA8 7F0B6078 8FA50034 */ lw $a1, 0x34($sp) -/* 0EABAC 7F0B607C 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EABB0 7F0B6080 8FAD0034 */ lw $t5, 0x34($sp) -/* 0EABB4 7F0B6084 AC62001C */ sw $v0, 0x1c($v1) -/* 0EABB8 7F0B6088 AC6D0004 */ sw $t5, 4($v1) -.L7F0B608C: -/* 0EABBC 7F0B608C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EABC0 7F0B6090 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0EABC4 7F0B6094 03E00008 */ jr $ra -/* 0EABC8 7F0B6098 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B609C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B609C -/* 0EABCC 7F0B609C 00047880 */ sll $t7, $a0, 2 -/* 0EABD0 7F0B60A0 01E47821 */ addu $t7, $t7, $a0 -/* 0EABD4 7F0B60A4 3C188004 */ lui $t8, %hi(D_80041414) -/* 0EABD8 7F0B60A8 27181414 */ addiu $t8, %lo(D_80041414) # addiu $t8, $t8, 0x1414 -/* 0EABDC 7F0B60AC 000F7900 */ sll $t7, $t7, 4 -/* 0EABE0 7F0B60B0 01F84021 */ addu $t0, $t7, $t8 -/* 0EABE4 7F0B60B4 8D070014 */ lw $a3, 0x14($t0) -/* 0EABE8 7F0B60B8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0EABEC 7F0B60BC 2401FFF0 */ li $at, -16 -/* 0EABF0 7F0B60C0 24E7000F */ addiu $a3, $a3, 0xf -/* 0EABF4 7F0B60C4 00E1C824 */ and $t9, $a3, $at -/* 0EABF8 7F0B60C8 272A0020 */ addiu $t2, $t9, 0x20 -/* 0EABFC 7F0B60CC AFB00014 */ sw $s0, 0x14($sp) -/* 0EAC00 7F0B60D0 00CA082A */ slt $at, $a2, $t2 -/* 0EAC04 7F0B60D4 00A08025 */ move $s0, $a1 -/* 0EAC08 7F0B60D8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EAC0C 7F0B60DC AFB10018 */ sw $s1, 0x18($sp) -/* 0EAC10 7F0B60E0 AFA40038 */ sw $a0, 0x38($sp) -/* 0EAC14 7F0B60E4 AFA60040 */ sw $a2, 0x40($sp) -/* 0EAC18 7F0B60E8 10200003 */ beqz $at, .L7F0B60F8 -/* 0EAC1C 7F0B60EC 03203825 */ move $a3, $t9 -/* 0EAC20 7F0B60F0 10000035 */ b .L7F0B61C8 -/* 0EAC24 7F0B60F4 2402FFFF */ li $v0, -1 -.L7F0B60F8: -/* 0EAC28 7F0B60F8 8FAC0038 */ lw $t4, 0x38($sp) -/* 0EAC2C 7F0B60FC 24030018 */ li $v1, 24 -/* 0EAC30 7F0B6100 3C198004 */ lui $t9, %hi(D_80041400) -/* 0EAC34 7F0B6104 01830019 */ multu $t4, $v1 -/* 0EAC38 7F0B6108 8F391400 */ lw $t9, %lo(D_80041400)($t9) -/* 0EAC3C 7F0B610C 3C0B8008 */ lui $t3, %hi(ptr_bgdata_room_fileposition_list) -/* 0EAC40 7F0B6110 8D6BFF8C */ lw $t3, %lo(ptr_bgdata_room_fileposition_list)($t3) -/* 0EAC44 7F0B6114 3C028008 */ lui $v0, %hi(ptr_bg_data) -/* 0EAC48 7F0B6118 8C42BF90 */ lw $v0, %lo(ptr_bg_data)($v0) -/* 0EAC4C 7F0B611C 8FAA0040 */ lw $t2, 0x40($sp) -/* 0EAC50 7F0B6120 3C048004 */ lui $a0, %hi(levelinfotable) -/* 0EAC54 7F0B6124 3C01F100 */ lui $at, 0xf100 -/* 0EAC58 7F0B6128 01476023 */ subu $t4, $t2, $a3 -/* 0EAC5C 7F0B612C 00006812 */ mflo $t5 -/* 0EAC60 7F0B6130 016D7021 */ addu $t6, $t3, $t5 -/* 0EAC64 7F0B6134 8DCF0004 */ lw $t7, 4($t6) -/* 0EAC68 7F0B6138 03230019 */ multu $t9, $v1 -/* 0EAC6C 7F0B613C 01908821 */ addu $s1, $t4, $s0 -/* 0EAC70 7F0B6140 01E2C021 */ addu $t8, $t7, $v0 -/* 0EAC74 7F0B6144 03023023 */ subu $a2, $t8, $v0 -/* 0EAC78 7F0B6148 00C13021 */ addu $a2, $a2, $at -/* 0EAC7C 7F0B614C 02202825 */ move $a1, $s1 -/* 0EAC80 7F0B6150 AFA80020 */ sw $t0, 0x20($sp) -/* 0EAC84 7F0B6154 00004812 */ mflo $t1 -/* 0EAC88 7F0B6158 00892021 */ addu $a0, $a0, $t1 -/* 0EAC8C 7F0B615C 0FC2F35F */ jal load_bg_bytes_at_offset_to_membank -/* 0EAC90 7F0B6160 8C844490 */ lw $a0, %lo(levelinfotable+4)($a0) -/* 0EAC94 7F0B6164 02202025 */ move $a0, $s1 -/* 0EAC98 7F0B6168 0FC2D7E3 */ jal sub_GAME_7F0B5F8C -/* 0EAC9C 7F0B616C 02002825 */ move $a1, $s0 -/* 0EACA0 7F0B6170 8FAB0040 */ lw $t3, 0x40($sp) -/* 0EACA4 7F0B6174 00408825 */ move $s1, $v0 -/* 0EACA8 7F0B6178 02002025 */ move $a0, $s0 -/* 0EACAC 7F0B617C 01626823 */ subu $t5, $t3, $v0 -/* 0EACB0 7F0B6180 01B02821 */ addu $a1, $t5, $s0 -/* 0EACB4 7F0B6184 AFA50028 */ sw $a1, 0x28($sp) -/* 0EACB8 7F0B6188 0FC339E5 */ jal sub_GAME_7F0CE794 -/* 0EACBC 7F0B618C 00403025 */ move $a2, $v0 -/* 0EACC0 7F0B6190 0FC2F131 */ jal sub_GAME_7F0BC4C4 -/* 0EACC4 7F0B6194 8FA40038 */ lw $a0, 0x38($sp) -/* 0EACC8 7F0B6198 8FA40028 */ lw $a0, 0x28($sp) -/* 0EACCC 7F0B619C 02202825 */ move $a1, $s1 -/* 0EACD0 7F0B61A0 02003025 */ move $a2, $s0 -/* 0EACD4 7F0B61A4 0FC33846 */ jal process_microcode_sort_display_modes_expand_image_calls -/* 0EACD8 7F0B61A8 00003825 */ move $a3, $zero -/* 0EACDC 7F0B61AC 0222082A */ slt $at, $s1, $v0 -/* 0EACE0 7F0B61B0 10200002 */ beqz $at, .L7F0B61BC -/* 0EACE4 7F0B61B4 8FA30020 */ lw $v1, 0x20($sp) -/* 0EACE8 7F0B61B8 00408825 */ move $s1, $v0 -.L7F0B61BC: -/* 0EACEC 7F0B61BC AC700008 */ sw $s0, 8($v1) -/* 0EACF0 7F0B61C0 AC710020 */ sw $s1, 0x20($v1) -/* 0EACF4 7F0B61C4 02201025 */ move $v0, $s1 -.L7F0B61C8: -/* 0EACF8 7F0B61C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0EACFC 7F0B61CC 8FB00014 */ lw $s0, 0x14($sp) -/* 0EAD00 7F0B61D0 8FB10018 */ lw $s1, 0x18($sp) -/* 0EAD04 7F0B61D4 03E00008 */ jr $ra -/* 0EAD08 7F0B61D8 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B61DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B61DC -/* 0EAD0C 7F0B61DC 00047880 */ sll $t7, $a0, 2 -/* 0EAD10 7F0B61E0 01E47821 */ addu $t7, $t7, $a0 -/* 0EAD14 7F0B61E4 3C188004 */ lui $t8, %hi(D_80041414) -/* 0EAD18 7F0B61E8 27181414 */ addiu $t8, %lo(D_80041414) # addiu $t8, $t8, 0x1414 -/* 0EAD1C 7F0B61EC 000F7900 */ sll $t7, $t7, 4 -/* 0EAD20 7F0B61F0 01F84021 */ addu $t0, $t7, $t8 -/* 0EAD24 7F0B61F4 8D070018 */ lw $a3, 0x18($t0) -/* 0EAD28 7F0B61F8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0EAD2C 7F0B61FC 2401FFF0 */ li $at, -16 -/* 0EAD30 7F0B6200 24E7000F */ addiu $a3, $a3, 0xf -/* 0EAD34 7F0B6204 00E1C824 */ and $t9, $a3, $at -/* 0EAD38 7F0B6208 272A0020 */ addiu $t2, $t9, 0x20 -/* 0EAD3C 7F0B620C AFB10018 */ sw $s1, 0x18($sp) -/* 0EAD40 7F0B6210 00CA082A */ slt $at, $a2, $t2 -/* 0EAD44 7F0B6214 00A08825 */ move $s1, $a1 -/* 0EAD48 7F0B6218 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EAD4C 7F0B621C AFB00014 */ sw $s0, 0x14($sp) -/* 0EAD50 7F0B6220 AFA40038 */ sw $a0, 0x38($sp) -/* 0EAD54 7F0B6224 AFA60040 */ sw $a2, 0x40($sp) -/* 0EAD58 7F0B6228 10200003 */ beqz $at, .L7F0B6238 -/* 0EAD5C 7F0B622C 03203825 */ move $a3, $t9 -/* 0EAD60 7F0B6230 10000033 */ b .L7F0B6300 -/* 0EAD64 7F0B6234 2402FFFF */ li $v0, -1 -.L7F0B6238: -/* 0EAD68 7F0B6238 8FAC0038 */ lw $t4, 0x38($sp) -/* 0EAD6C 7F0B623C 24030018 */ li $v1, 24 -/* 0EAD70 7F0B6240 3C198004 */ lui $t9, %hi(D_80041400) -/* 0EAD74 7F0B6244 01830019 */ multu $t4, $v1 -/* 0EAD78 7F0B6248 8F391400 */ lw $t9, %lo(D_80041400)($t9) -/* 0EAD7C 7F0B624C 3C0B8008 */ lui $t3, %hi(ptr_bgdata_room_fileposition_list) -/* 0EAD80 7F0B6250 8D6BFF8C */ lw $t3, %lo(ptr_bgdata_room_fileposition_list)($t3) -/* 0EAD84 7F0B6254 3C028008 */ lui $v0, %hi(ptr_bg_data) -/* 0EAD88 7F0B6258 8C42BF90 */ lw $v0, %lo(ptr_bg_data)($v0) -/* 0EAD8C 7F0B625C 8FAA0040 */ lw $t2, 0x40($sp) -/* 0EAD90 7F0B6260 3C048004 */ lui $a0, %hi(levelinfotable) -/* 0EAD94 7F0B6264 3C01F100 */ lui $at, 0xf100 -/* 0EAD98 7F0B6268 01476023 */ subu $t4, $t2, $a3 -/* 0EAD9C 7F0B626C 00006812 */ mflo $t5 -/* 0EADA0 7F0B6270 016D7021 */ addu $t6, $t3, $t5 -/* 0EADA4 7F0B6274 8DCF0008 */ lw $t7, 8($t6) -/* 0EADA8 7F0B6278 03230019 */ multu $t9, $v1 -/* 0EADAC 7F0B627C 01918021 */ addu $s0, $t4, $s1 -/* 0EADB0 7F0B6280 01E2C021 */ addu $t8, $t7, $v0 -/* 0EADB4 7F0B6284 03023023 */ subu $a2, $t8, $v0 -/* 0EADB8 7F0B6288 00C13021 */ addu $a2, $a2, $at -/* 0EADBC 7F0B628C 02002825 */ move $a1, $s0 -/* 0EADC0 7F0B6290 AFA80020 */ sw $t0, 0x20($sp) -/* 0EADC4 7F0B6294 00004812 */ mflo $t1 -/* 0EADC8 7F0B6298 00892021 */ addu $a0, $a0, $t1 -/* 0EADCC 7F0B629C 0FC2F35F */ jal load_bg_bytes_at_offset_to_membank -/* 0EADD0 7F0B62A0 8C844490 */ lw $a0, %lo(levelinfotable+4)($a0) -/* 0EADD4 7F0B62A4 02002025 */ move $a0, $s0 -/* 0EADD8 7F0B62A8 0FC2D7E3 */ jal sub_GAME_7F0B5F8C -/* 0EADDC 7F0B62AC 02202825 */ move $a1, $s1 -/* 0EADE0 7F0B62B0 8FAB0040 */ lw $t3, 0x40($sp) -/* 0EADE4 7F0B62B4 00408025 */ move $s0, $v0 -/* 0EADE8 7F0B62B8 02202025 */ move $a0, $s1 -/* 0EADEC 7F0B62BC 01626823 */ subu $t5, $t3, $v0 -/* 0EADF0 7F0B62C0 01B12821 */ addu $a1, $t5, $s1 -/* 0EADF4 7F0B62C4 AFA50028 */ sw $a1, 0x28($sp) -/* 0EADF8 7F0B62C8 0FC339E5 */ jal sub_GAME_7F0CE794 -/* 0EADFC 7F0B62CC 00403025 */ move $a2, $v0 -/* 0EAE00 7F0B62D0 8FA40028 */ lw $a0, 0x28($sp) -/* 0EAE04 7F0B62D4 02002825 */ move $a1, $s0 -/* 0EAE08 7F0B62D8 02203025 */ move $a2, $s1 -/* 0EAE0C 7F0B62DC 0FC33846 */ jal process_microcode_sort_display_modes_expand_image_calls -/* 0EAE10 7F0B62E0 00003825 */ move $a3, $zero -/* 0EAE14 7F0B62E4 0202082A */ slt $at, $s0, $v0 -/* 0EAE18 7F0B62E8 10200002 */ beqz $at, .L7F0B62F4 -/* 0EAE1C 7F0B62EC 8FA30020 */ lw $v1, 0x20($sp) -/* 0EAE20 7F0B62F0 00408025 */ move $s0, $v0 -.L7F0B62F4: -/* 0EAE24 7F0B62F4 AC71000C */ sw $s1, 0xc($v1) -/* 0EAE28 7F0B62F8 AC700024 */ sw $s0, 0x24($v1) -/* 0EAE2C 7F0B62FC 02001025 */ move $v0, $s0 -.L7F0B6300: -/* 0EAE30 7F0B6300 8FBF001C */ lw $ra, 0x1c($sp) -/* 0EAE34 7F0B6304 8FB00014 */ lw $s0, 0x14($sp) -/* 0EAE38 7F0B6308 8FB10018 */ lw $s1, 0x18($sp) -/* 0EAE3C 7F0B630C 03E00008 */ jr $ra -/* 0EAE40 7F0B6310 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B6314(s32 arg0) { - void *temp_v0; - - // Node 0 - temp_v0 = ((arg0 * 0x50) + &D_80041414); - temp_v0->unk35 = (u8)1; - if (temp_v0->unk2 != 0) - { - // Node 2 - // Node 3 - return 0; - } - // Node 1 - sub_GAME_7F0B6368(); - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B6314 -/* 0EAE44 7F0B6314 00047080 */ sll $t6, $a0, 2 -/* 0EAE48 7F0B6318 01C47021 */ addu $t6, $t6, $a0 -/* 0EAE4C 7F0B631C 3C0F8004 */ lui $t7, %hi(D_80041414) -/* 0EAE50 7F0B6320 25EF1414 */ addiu $t7, %lo(D_80041414) # addiu $t7, $t7, 0x1414 -/* 0EAE54 7F0B6324 000E7100 */ sll $t6, $t6, 4 -/* 0EAE58 7F0B6328 01CF1021 */ addu $v0, $t6, $t7 -/* 0EAE5C 7F0B632C 90590002 */ lbu $t9, 2($v0) -/* 0EAE60 7F0B6330 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0EAE64 7F0B6334 24180001 */ li $t8, 1 -/* 0EAE68 7F0B6338 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EAE6C 7F0B633C 17200005 */ bnez $t9, .L7F0B6354 -/* 0EAE70 7F0B6340 A0580035 */ sb $t8, 0x35($v0) -/* 0EAE74 7F0B6344 0FC2D8DA */ jal sub_GAME_7F0B6368 -/* 0EAE78 7F0B6348 00000000 */ nop -/* 0EAE7C 7F0B634C 10000002 */ b .L7F0B6358 -/* 0EAE80 7F0B6350 24020001 */ li $v0, 1 -.L7F0B6354: -/* 0EAE84 7F0B6354 00001025 */ move $v0, $zero -.L7F0B6358: -/* 0EAE88 7F0B6358 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EAE8C 7F0B635C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0EAE90 7F0B6360 03E00008 */ jr $ra -/* 0EAE94 7F0B6364 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B6368(s32 rooms) { - void *sp1C; - s32 sp20; - s32 sp28; - s32 sp2C; - void *temp_v1; - ? temp_ret; - void *temp_v1_2; - ? temp_ret_2; - ? temp_ret_3; - void *temp_v1_5; - ? temp_ret_4; - void *temp_v1_6; - s32 temp_t1; - s32 temp_a0; - void *temp_v1_3; - s32 temp_a0_2; - void *temp_v1_4; - void *phi_v1; - s32 phi_a3; - s32 phi_a3_2; - void *phi_v1_2; - void *phi_v1_3; - - // Node 0 - if (rooms < MaxNumRooms) - { - // Node 1 - temp_v1 = ((rooms * 0x50) + &D_80041414); - if (temp_v1->unk2 == 0) - { - // Node 2 - if (temp_v1->unk28 > 0) - { - // Node 3 - sp2C = (s32) temp_v1->unk28; - sp1C = temp_v1; - sp28 = 0; - if (get_debug_joy2detailedit_flag(0) != 0) - { - // Node 4 - sp2C = (s32) (sp2C + 0x400); - } - } - else - { - // Node 5 - sp1C = temp_v1; - sp2C = mem_related_0(0); - } - // Node 6 - sp1C = (void *) temp_v1; - temp_ret = mem_related_something_find_first(sp2C, sp28); - temp_v1_2 = temp_v1; - sp20 = temp_ret; - if (temp_ret != 0) - { - // Node 7 - if (temp_v1_2->unk10 != 0) - { - // Node 8 - sp1C = temp_v1_2; - temp_ret_2 = sub_GAME_7F0B5FAC(rooms, temp_ret, sp2C, sp28); - if (temp_ret_2 >= 0) - { - // Node 9 - sp1C = temp_v1_2; - sp28 = temp_ret_2; - sub_GAME_7F0BB978(rooms, sp28); - } - } - else - { - // Node 10 - temp_v1_2->unk4 = 0; - temp_v1_2->unk1C = 0; - } - // Node 11 - phi_v1 = temp_v1_2; - phi_a3 = sp28; - if (temp_v1_2->unk14 != 0) - { - // Node 12 - sp1C = (void *) temp_v1_2; - temp_ret_3 = sub_GAME_7F0B609C(rooms, (sp20 + sp28), (sp2C - sp28), sp28); - temp_v1_5 = temp_v1_2; - phi_v1 = temp_v1_5; - phi_a3 = sp28; - if (temp_ret_3 >= 0) - { - // Node 13 - phi_v1 = temp_v1_5; - phi_a3 = (sp28 + temp_ret_3); - } - } - // Node 14 - if (phi_v1->unk18 != 0) - { - // Node 15 - sp1C = (void *) phi_v1; - temp_ret_4 = sub_GAME_7F0B61DC(rooms, (sp20 + phi_a3), (sp2C - phi_a3), phi_a3); - temp_v1_6 = phi_v1; - phi_a3_2 = sp28; - phi_v1_2 = temp_v1_6; - if (temp_ret_4 > 0) - { - // Node 16 - phi_a3_2 = (sp28 + temp_ret_4); - phi_v1_2 = temp_v1_6; - } - } - else - { - // Node 17 - phi_v1->unkC = 0; - phi_a3_2 = phi_a3; - phi_v1_2 = phi_v1; - } - // Node 18 - temp_t1 = ((phi_a3_2 + 0x20) & -0x10); - phi_v1_2->unk28 = temp_t1; - phi_v1_2->unk2 = (u8)1; - phi_v1_3 = phi_v1_2; - if (sp2C != temp_t1) - { - // Node 19 - sp1C = (void *) phi_v1_2; - mem_related_1(sp20, sp2C, temp_t1, phi_a3_2); - phi_v1_3 = phi_v1_2; - } - // Node 20 - if (sky_enabled != 0) - { - // Node 21 - temp_a0 = phi_v1_3->unk8; - sp1C = (void *) phi_v1_3; - sub_GAME_7F0BA640(temp_a0, (phi_v1_3->unk20 + temp_a0), 1); - temp_v1_3 = phi_v1_3; - if (temp_v1_3->unkC != 0) - { - // Node 22 - sub_GAME_7F0BA640(temp_v1_3->unkC, (temp_v1_3->unk24 + temp_v1_3->unkC), 5); - } - } - else - { - // Node 23 - temp_a0_2 = phi_v1_3->unk8; - sp1C = (void *) phi_v1_3; - sub_GAME_7F0BA640(temp_a0_2, (phi_v1_3->unk20 + temp_a0_2), 6); - temp_v1_4 = phi_v1_3; - if (temp_v1_4->unkC != 0) - { - // Node 24 - sub_GAME_7F0BA640(temp_v1_4->unkC, (temp_v1_4->unk24 + temp_v1_4->unkC), 7); - } - } - // Node 25 - sub_GAME_7F0B6994(rooms); - generate_room_load_string(); - } - } - } - // Node 26 - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B6368 -/* 0EAE98 7F0B6368 3C0F8004 */ lui $t7, %hi(MaxNumRooms) -/* 0EAE9C 7F0B636C 8DEF42F4 */ lw $t7, %lo(MaxNumRooms)($t7) -/* 0EAEA0 7F0B6370 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0EAEA4 7F0B6374 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EAEA8 7F0B6378 008F082A */ slt $at, $a0, $t7 -/* 0EAEAC 7F0B637C AFA40030 */ sw $a0, 0x30($sp) -/* 0EAEB0 7F0B6380 1020008C */ beqz $at, .L7F0B65B4 -/* 0EAEB4 7F0B6384 00003825 */ move $a3, $zero -/* 0EAEB8 7F0B6388 0004C880 */ sll $t9, $a0, 2 -/* 0EAEBC 7F0B638C 0324C821 */ addu $t9, $t9, $a0 -/* 0EAEC0 7F0B6390 3C088004 */ lui $t0, %hi(D_80041414) -/* 0EAEC4 7F0B6394 25081414 */ addiu $t0, %lo(D_80041414) # addiu $t0, $t0, 0x1414 -/* 0EAEC8 7F0B6398 0019C900 */ sll $t9, $t9, 4 -/* 0EAECC 7F0B639C 03281821 */ addu $v1, $t9, $t0 -/* 0EAED0 7F0B63A0 90690002 */ lbu $t1, 2($v1) -/* 0EAED4 7F0B63A4 55200084 */ bnezl $t1, .L7F0B65B8 -/* 0EAED8 7F0B63A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EAEDC 7F0B63AC 8C620028 */ lw $v0, 0x28($v1) -/* 0EAEE0 7F0B63B0 5840000D */ blezl $v0, .L7F0B63E8 -/* 0EAEE4 7F0B63B4 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EAEE8 7F0B63B8 AFA2002C */ sw $v0, 0x2c($sp) -/* 0EAEEC 7F0B63BC AFA3001C */ sw $v1, 0x1c($sp) -/* 0EAEF0 7F0B63C0 0FC243EE */ jal get_debug_joy2detailedit_flag -/* 0EAEF4 7F0B63C4 AFA00028 */ sw $zero, 0x28($sp) -/* 0EAEF8 7F0B63C8 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EAEFC 7F0B63CC 1040000B */ beqz $v0, .L7F0B63FC -/* 0EAF00 7F0B63D0 8FA70028 */ lw $a3, 0x28($sp) -/* 0EAF04 7F0B63D4 8FAA002C */ lw $t2, 0x2c($sp) -/* 0EAF08 7F0B63D8 254B0400 */ addiu $t3, $t2, 0x400 -/* 0EAF0C 7F0B63DC 10000007 */ b .L7F0B63FC -/* 0EAF10 7F0B63E0 AFAB002C */ sw $t3, 0x2c($sp) -/* 0EAF14 7F0B63E4 AFA3001C */ sw $v1, 0x1c($sp) -.L7F0B63E8: -/* 0EAF18 7F0B63E8 0C0028DC */ jal mem_related_0 -/* 0EAF1C 7F0B63EC AFA70028 */ sw $a3, 0x28($sp) -/* 0EAF20 7F0B63F0 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EAF24 7F0B63F4 8FA70028 */ lw $a3, 0x28($sp) -/* 0EAF28 7F0B63F8 AFA2002C */ sw $v0, 0x2c($sp) -.L7F0B63FC: -/* 0EAF2C 7F0B63FC 8FA4002C */ lw $a0, 0x2c($sp) -/* 0EAF30 7F0B6400 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EAF34 7F0B6404 0C00278D */ jal mem_related_something_find_first -/* 0EAF38 7F0B6408 AFA70028 */ sw $a3, 0x28($sp) -/* 0EAF3C 7F0B640C 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EAF40 7F0B6410 8FA70028 */ lw $a3, 0x28($sp) -/* 0EAF44 7F0B6414 10400067 */ beqz $v0, .L7F0B65B4 -/* 0EAF48 7F0B6418 AFA20020 */ sw $v0, 0x20($sp) -/* 0EAF4C 7F0B641C 8C6C0010 */ lw $t4, 0x10($v1) -/* 0EAF50 7F0B6420 8FA40030 */ lw $a0, 0x30($sp) -/* 0EAF54 7F0B6424 00402825 */ move $a1, $v0 -/* 0EAF58 7F0B6428 1180000E */ beqz $t4, .L7F0B6464 -/* 0EAF5C 7F0B642C 8FA6002C */ lw $a2, 0x2c($sp) -/* 0EAF60 7F0B6430 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EAF64 7F0B6434 0FC2D7EB */ jal sub_GAME_7F0B5FAC -/* 0EAF68 7F0B6438 AFA70028 */ sw $a3, 0x28($sp) -/* 0EAF6C 7F0B643C 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EAF70 7F0B6440 0440000A */ bltz $v0, .L7F0B646C -/* 0EAF74 7F0B6444 8FA70028 */ lw $a3, 0x28($sp) -/* 0EAF78 7F0B6448 8FA40030 */ lw $a0, 0x30($sp) -/* 0EAF7C 7F0B644C AFA3001C */ sw $v1, 0x1c($sp) -/* 0EAF80 7F0B6450 0FC2EE5E */ jal sub_GAME_7F0BB978 -/* 0EAF84 7F0B6454 AFA20028 */ sw $v0, 0x28($sp) -/* 0EAF88 7F0B6458 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EAF8C 7F0B645C 10000003 */ b .L7F0B646C -/* 0EAF90 7F0B6460 8FA70028 */ lw $a3, 0x28($sp) -.L7F0B6464: -/* 0EAF94 7F0B6464 AC600004 */ sw $zero, 4($v1) -/* 0EAF98 7F0B6468 AC60001C */ sw $zero, 0x1c($v1) -.L7F0B646C: -/* 0EAF9C 7F0B646C 8C6D0014 */ lw $t5, 0x14($v1) -/* 0EAFA0 7F0B6470 8FAE0020 */ lw $t6, 0x20($sp) -/* 0EAFA4 7F0B6474 8FA40030 */ lw $a0, 0x30($sp) -/* 0EAFA8 7F0B6478 11A0000A */ beqz $t5, .L7F0B64A4 -/* 0EAFAC 7F0B647C 01C72821 */ addu $a1, $t6, $a3 -/* 0EAFB0 7F0B6480 8FAF002C */ lw $t7, 0x2c($sp) -/* 0EAFB4 7F0B6484 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EAFB8 7F0B6488 AFA70028 */ sw $a3, 0x28($sp) -/* 0EAFBC 7F0B648C 0FC2D827 */ jal sub_GAME_7F0B609C -/* 0EAFC0 7F0B6490 01E73023 */ subu $a2, $t7, $a3 -/* 0EAFC4 7F0B6494 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EAFC8 7F0B6498 04400002 */ bltz $v0, .L7F0B64A4 -/* 0EAFCC 7F0B649C 8FA70028 */ lw $a3, 0x28($sp) -/* 0EAFD0 7F0B64A0 00E23821 */ addu $a3, $a3, $v0 -.L7F0B64A4: -/* 0EAFD4 7F0B64A4 8C780018 */ lw $t8, 0x18($v1) -/* 0EAFD8 7F0B64A8 8FB90020 */ lw $t9, 0x20($sp) -/* 0EAFDC 7F0B64AC 8FA40030 */ lw $a0, 0x30($sp) -/* 0EAFE0 7F0B64B0 1300000B */ beqz $t8, .L7F0B64E0 -/* 0EAFE4 7F0B64B4 03272821 */ addu $a1, $t9, $a3 -/* 0EAFE8 7F0B64B8 8FA8002C */ lw $t0, 0x2c($sp) -/* 0EAFEC 7F0B64BC AFA3001C */ sw $v1, 0x1c($sp) -/* 0EAFF0 7F0B64C0 AFA70028 */ sw $a3, 0x28($sp) -/* 0EAFF4 7F0B64C4 0FC2D877 */ jal sub_GAME_7F0B61DC -/* 0EAFF8 7F0B64C8 01073023 */ subu $a2, $t0, $a3 -/* 0EAFFC 7F0B64CC 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EB000 7F0B64D0 18400004 */ blez $v0, .L7F0B64E4 -/* 0EB004 7F0B64D4 8FA70028 */ lw $a3, 0x28($sp) -/* 0EB008 7F0B64D8 10000002 */ b .L7F0B64E4 -/* 0EB00C 7F0B64DC 00E23821 */ addu $a3, $a3, $v0 -.L7F0B64E0: -/* 0EB010 7F0B64E0 AC60000C */ sw $zero, 0xc($v1) -.L7F0B64E4: -/* 0EB014 7F0B64E4 8FAB002C */ lw $t3, 0x2c($sp) -/* 0EB018 7F0B64E8 24E20020 */ addiu $v0, $a3, 0x20 -/* 0EB01C 7F0B64EC 2401FFF0 */ li $at, -16 -/* 0EB020 7F0B64F0 00414824 */ and $t1, $v0, $at -/* 0EB024 7F0B64F4 240A0001 */ li $t2, 1 -/* 0EB028 7F0B64F8 AC690028 */ sw $t1, 0x28($v1) -/* 0EB02C 7F0B64FC 11690007 */ beq $t3, $t1, .L7F0B651C -/* 0EB030 7F0B6500 A06A0002 */ sb $t2, 2($v1) -/* 0EB034 7F0B6504 8FA40020 */ lw $a0, 0x20($sp) -/* 0EB038 7F0B6508 01602825 */ move $a1, $t3 -/* 0EB03C 7F0B650C 01203025 */ move $a2, $t1 -/* 0EB040 7F0B6510 0C0028F7 */ jal mem_related_1 -/* 0EB044 7F0B6514 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EB048 7F0B6518 8FA3001C */ lw $v1, 0x1c($sp) -.L7F0B651C: -/* 0EB04C 7F0B651C 3C0C8008 */ lui $t4, %hi(sky_enabled) -/* 0EB050 7F0B6520 8D8C25C0 */ lw $t4, %lo(sky_enabled)($t4) -/* 0EB054 7F0B6524 24060006 */ li $a2, 6 -/* 0EB058 7F0B6528 51800012 */ beql $t4, $zero, .L7F0B6574 -/* 0EB05C 7F0B652C 8C640008 */ lw $a0, 8($v1) -/* 0EB060 7F0B6530 8C640008 */ lw $a0, 8($v1) -/* 0EB064 7F0B6534 8C6D0020 */ lw $t5, 0x20($v1) -/* 0EB068 7F0B6538 24060001 */ li $a2, 1 -/* 0EB06C 7F0B653C AFA3001C */ sw $v1, 0x1c($sp) -/* 0EB070 7F0B6540 0FC2E990 */ jal sub_GAME_7F0BA640 -/* 0EB074 7F0B6544 01A42821 */ addu $a1, $t5, $a0 -/* 0EB078 7F0B6548 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EB07C 7F0B654C 8C64000C */ lw $a0, 0xc($v1) -/* 0EB080 7F0B6550 10800014 */ beqz $a0, .L7F0B65A4 -/* 0EB084 7F0B6554 00000000 */ nop -/* 0EB088 7F0B6558 8C6E0024 */ lw $t6, 0x24($v1) -/* 0EB08C 7F0B655C 24060005 */ li $a2, 5 -/* 0EB090 7F0B6560 0FC2E990 */ jal sub_GAME_7F0BA640 -/* 0EB094 7F0B6564 01C42821 */ addu $a1, $t6, $a0 -/* 0EB098 7F0B6568 1000000E */ b .L7F0B65A4 -/* 0EB09C 7F0B656C 00000000 */ nop -/* 0EB0A0 7F0B6570 8C640008 */ lw $a0, 8($v1) -.L7F0B6574: -/* 0EB0A4 7F0B6574 8C6F0020 */ lw $t7, 0x20($v1) -/* 0EB0A8 7F0B6578 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EB0AC 7F0B657C 0FC2E990 */ jal sub_GAME_7F0BA640 -/* 0EB0B0 7F0B6580 01E42821 */ addu $a1, $t7, $a0 -/* 0EB0B4 7F0B6584 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EB0B8 7F0B6588 8C64000C */ lw $a0, 0xc($v1) -/* 0EB0BC 7F0B658C 10800005 */ beqz $a0, .L7F0B65A4 -/* 0EB0C0 7F0B6590 00000000 */ nop -/* 0EB0C4 7F0B6594 8C780024 */ lw $t8, 0x24($v1) -/* 0EB0C8 7F0B6598 24060007 */ li $a2, 7 -/* 0EB0CC 7F0B659C 0FC2E990 */ jal sub_GAME_7F0BA640 -/* 0EB0D0 7F0B65A0 03042821 */ addu $a1, $t8, $a0 -.L7F0B65A4: -/* 0EB0D4 7F0B65A4 0FC2DA65 */ jal sub_GAME_7F0B6994 -/* 0EB0D8 7F0B65A8 8FA40030 */ lw $a0, 0x30($sp) -/* 0EB0DC 7F0B65AC 0FC2D7B6 */ jal generate_room_load_string -/* 0EB0E0 7F0B65B0 00000000 */ nop -.L7F0B65B4: -/* 0EB0E4 7F0B65B4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0B65B8: -/* 0EB0E8 7F0B65B8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0EB0EC 7F0B65BC 03E00008 */ jr $ra -/* 0EB0F0 7F0B65C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B65C4(s32 arg0) { - void *temp_s0; - - // Node 0 - temp_s0 = ((arg0 * 0x50) + &D_80041414); - if (temp_s0->unk2C != 0) - { - // Node 1 - mem_related_model_room_buffers_0(temp_s0->unk2C, (((temp_s0->unk30 * 0x1c) + 0xf) & -0x10), temp_s0->unk2C); - temp_s0->unk2C = 0; - } - // Node 2 - if (temp_s0->unk28 > 0) - { - // Node 3 - if (temp_s0->unk4 != 0) - { - // Node 4 - mem_related_model_room_buffers_0(temp_s0->unk4, temp_s0->unk28); - temp_s0->unk4 = 0; - } - else - { - // Node 5 - mem_related_model_room_buffers_0(temp_s0->unk8, temp_s0->unk28); - temp_s0->unk4 = 0; - } - // Node 6 - temp_s0->unk8 = 0; - temp_s0->unkC = 0; - } - // Node 7 - temp_s0->unk2 = (u8)0; - return generate_room_load_string(); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B65C4 -/* 0EB0F4 7F0B65C4 00047080 */ sll $t6, $a0, 2 -/* 0EB0F8 7F0B65C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0EB0FC 7F0B65CC 01C47021 */ addu $t6, $t6, $a0 -/* 0EB100 7F0B65D0 3C0F8004 */ lui $t7, %hi(D_80041414) -/* 0EB104 7F0B65D4 AFB00018 */ sw $s0, 0x18($sp) -/* 0EB108 7F0B65D8 25EF1414 */ addiu $t7, %lo(D_80041414) # addiu $t7, $t7, 0x1414 -/* 0EB10C 7F0B65DC 000E7100 */ sll $t6, $t6, 4 -/* 0EB110 7F0B65E0 01CF8021 */ addu $s0, $t6, $t7 -/* 0EB114 7F0B65E4 8E06002C */ lw $a2, 0x2c($s0) -/* 0EB118 7F0B65E8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EB11C 7F0B65EC 50C0000D */ beql $a2, $zero, .L7F0B6624 -/* 0EB120 7F0B65F0 8E020028 */ lw $v0, 0x28($s0) -/* 0EB124 7F0B65F4 86050030 */ lh $a1, 0x30($s0) -/* 0EB128 7F0B65F8 2401FFF0 */ li $at, -16 -/* 0EB12C 7F0B65FC 00C02025 */ move $a0, $a2 -/* 0EB130 7F0B6600 0005C0C0 */ sll $t8, $a1, 3 -/* 0EB134 7F0B6604 0305C023 */ subu $t8, $t8, $a1 -/* 0EB138 7F0B6608 0018C080 */ sll $t8, $t8, 2 -/* 0EB13C 7F0B660C 2705000F */ addiu $a1, $t8, 0xf -/* 0EB140 7F0B6610 00A1C824 */ and $t9, $a1, $at -/* 0EB144 7F0B6614 0C002808 */ jal mem_related_model_room_buffers_0 -/* 0EB148 7F0B6618 03202825 */ move $a1, $t9 -/* 0EB14C 7F0B661C AE00002C */ sw $zero, 0x2c($s0) -/* 0EB150 7F0B6620 8E020028 */ lw $v0, 0x28($s0) -.L7F0B6624: -/* 0EB154 7F0B6624 1840000E */ blez $v0, .L7F0B6660 -/* 0EB158 7F0B6628 00000000 */ nop -/* 0EB15C 7F0B662C 8E040004 */ lw $a0, 4($s0) -/* 0EB160 7F0B6630 00402825 */ move $a1, $v0 -/* 0EB164 7F0B6634 10800005 */ beqz $a0, .L7F0B664C -/* 0EB168 7F0B6638 00000000 */ nop -/* 0EB16C 7F0B663C 0C002808 */ jal mem_related_model_room_buffers_0 -/* 0EB170 7F0B6640 00402825 */ move $a1, $v0 -/* 0EB174 7F0B6644 10000004 */ b .L7F0B6658 -/* 0EB178 7F0B6648 AE000004 */ sw $zero, 4($s0) -.L7F0B664C: -/* 0EB17C 7F0B664C 0C002808 */ jal mem_related_model_room_buffers_0 -/* 0EB180 7F0B6650 8E040008 */ lw $a0, 8($s0) -/* 0EB184 7F0B6654 AE000004 */ sw $zero, 4($s0) -.L7F0B6658: -/* 0EB188 7F0B6658 AE000008 */ sw $zero, 8($s0) -/* 0EB18C 7F0B665C AE00000C */ sw $zero, 0xc($s0) -.L7F0B6660: -/* 0EB190 7F0B6660 0FC2D7B6 */ jal generate_room_load_string -/* 0EB194 7F0B6664 A2000002 */ sb $zero, 2($s0) -/* 0EB198 7F0B6668 8FBF001C */ lw $ra, 0x1c($sp) -/* 0EB19C 7F0B666C 8FB00018 */ lw $s0, 0x18($sp) -/* 0EB1A0 7F0B6670 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0EB1A4 7F0B6674 03E00008 */ jr $ra -/* 0EB1A8 7F0B6678 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B667C(void) { - s32 temp_s1; - void *phi_s0; - s32 phi_s1; - s32 phi_v0; - s32 phi_return; - s32 phi_return_2; - - // Node 0 - phi_return = MaxNumRooms; - if (MaxNumRooms >= 2) - { - // Node 1 - phi_s0 = &room_information+0x40; - phi_s1 = 1; - phi_v0 = MaxNumRooms; - phi_return_2 = MaxNumRooms; -loop_2: - // Node 2 - if (phi_s0->unk2 != 0) - { - // Node 3 - sub_GAME_7F0B65C4(phi_s1); - phi_v0 = MaxNumRooms; - phi_return_2 = MaxNumRooms; - } - // Node 4 - temp_s1 = (phi_s1 + 1); - phi_s0 = (phi_s0 + 0x50); - phi_s1 = temp_s1; - phi_return = phi_return_2; - phi_v0 = phi_v0; - phi_return_2 = phi_return_2; - if (temp_s1 < phi_v0) - { - goto loop_2; - } - } - // Node 5 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B667C -/* 0EB1AC 7F0B667C 3C028004 */ lui $v0, %hi(MaxNumRooms) -/* 0EB1B0 7F0B6680 8C4242F4 */ lw $v0, %lo(MaxNumRooms)($v0) -/* 0EB1B4 7F0B6684 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0EB1B8 7F0B6688 AFB10018 */ sw $s1, 0x18($sp) -/* 0EB1BC 7F0B668C 28410002 */ slti $at, $v0, 2 -/* 0EB1C0 7F0B6690 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EB1C4 7F0B6694 AFB00014 */ sw $s0, 0x14($sp) -/* 0EB1C8 7F0B6698 1420000E */ bnez $at, .L7F0B66D4 -/* 0EB1CC 7F0B669C 24110001 */ li $s1, 1 -/* 0EB1D0 7F0B66A0 3C108004 */ lui $s0, %hi(room_information+0x40) -/* 0EB1D4 7F0B66A4 26101464 */ addiu $s0, %lo(room_information+0x40) # addiu $s0, $s0, 0x1464 -.L7F0B66A8: -/* 0EB1D8 7F0B66A8 920E0002 */ lbu $t6, 2($s0) -/* 0EB1DC 7F0B66AC 51C00006 */ beql $t6, $zero, .L7F0B66C8 -/* 0EB1E0 7F0B66B0 26310001 */ addiu $s1, $s1, 1 -/* 0EB1E4 7F0B66B4 0FC2D971 */ jal sub_GAME_7F0B65C4 -/* 0EB1E8 7F0B66B8 02202025 */ move $a0, $s1 -/* 0EB1EC 7F0B66BC 3C028004 */ lui $v0, %hi(MaxNumRooms) -/* 0EB1F0 7F0B66C0 8C4242F4 */ lw $v0, %lo(MaxNumRooms)($v0) -/* 0EB1F4 7F0B66C4 26310001 */ addiu $s1, $s1, 1 -.L7F0B66C8: -/* 0EB1F8 7F0B66C8 0222082A */ slt $at, $s1, $v0 -/* 0EB1FC 7F0B66CC 1420FFF6 */ bnez $at, .L7F0B66A8 -/* 0EB200 7F0B66D0 26100050 */ addiu $s0, $s0, 0x50 -.L7F0B66D4: -/* 0EB204 7F0B66D4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0EB208 7F0B66D8 8FB00014 */ lw $s0, 0x14($sp) -/* 0EB20C 7F0B66DC 8FB10018 */ lw $s1, 0x18($sp) -/* 0EB210 7F0B66E0 03E00008 */ jr $ra -/* 0EB214 7F0B66E4 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B66E8(void) { - s8 temp_v0; - s32 temp_s1; - void *phi_s0; - s32 phi_s1; - s32 phi_v1; - s32 phi_v1_2; - - // Node 0 - if (MaxNumRooms >= 2) - { - // Node 1 - phi_s0 = &room_information+0x40; - phi_s1 = 1; - phi_v1_2 = MaxNumRooms; -loop_2: - // Node 2 - phi_v1 = phi_v1_2; - if (phi_s0->unk35 == 0) - { - // Node 3 - temp_v0 = phi_s0->unk2; - if (4 == temp_v0) - { - // Node 4 - sub_GAME_7F0B65C4(phi_s1); - phi_v1 = MaxNumRooms; - } - else - { - // Node 5 - phi_v1 = phi_v1_2; - if (temp_v0 != 0) - { - // Node 6 - phi_s0->unk2 = (s8) (temp_v0 + 1); - phi_v1 = phi_v1_2; - } - } - } - // Node 7 - temp_s1 = (phi_s1 + 1); - phi_s0 = (phi_s0 + 0x50); - phi_s1 = temp_s1; - phi_v1_2 = phi_v1; - if (temp_s1 < phi_v1) - { - goto loop_2; - } - } - // Node 8 - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B66E8 -/* 0EB218 7F0B66E8 3C038004 */ lui $v1, %hi(MaxNumRooms) -/* 0EB21C 7F0B66EC 8C6342F4 */ lw $v1, %lo(MaxNumRooms)($v1) -/* 0EB220 7F0B66F0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0EB224 7F0B66F4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0EB228 7F0B66F8 28610002 */ slti $at, $v1, 2 -/* 0EB22C 7F0B66FC AFBF0024 */ sw $ra, 0x24($sp) -/* 0EB230 7F0B6700 AFB20020 */ sw $s2, 0x20($sp) -/* 0EB234 7F0B6704 AFB00018 */ sw $s0, 0x18($sp) -/* 0EB238 7F0B6708 14200016 */ bnez $at, .L7F0B6764 -/* 0EB23C 7F0B670C 24110001 */ li $s1, 1 -/* 0EB240 7F0B6710 3C108004 */ lui $s0, %hi(room_information+0x40) -/* 0EB244 7F0B6714 26101464 */ addiu $s0, %lo(room_information+0x40) # addiu $s0, $s0, 0x1464 -/* 0EB248 7F0B6718 24120004 */ li $s2, 4 -.L7F0B671C: -/* 0EB24C 7F0B671C 920E0035 */ lbu $t6, 0x35($s0) -/* 0EB250 7F0B6720 55C0000D */ bnezl $t6, .L7F0B6758 -/* 0EB254 7F0B6724 26310001 */ addiu $s1, $s1, 1 -/* 0EB258 7F0B6728 92020002 */ lbu $v0, 2($s0) -/* 0EB25C 7F0B672C 16420006 */ bne $s2, $v0, .L7F0B6748 -/* 0EB260 7F0B6730 00000000 */ nop -/* 0EB264 7F0B6734 0FC2D971 */ jal sub_GAME_7F0B65C4 -/* 0EB268 7F0B6738 02202025 */ move $a0, $s1 -/* 0EB26C 7F0B673C 3C038004 */ lui $v1, %hi(MaxNumRooms) -/* 0EB270 7F0B6740 10000004 */ b .L7F0B6754 -/* 0EB274 7F0B6744 8C6342F4 */ lw $v1, %lo(MaxNumRooms)($v1) -.L7F0B6748: -/* 0EB278 7F0B6748 10400002 */ beqz $v0, .L7F0B6754 -/* 0EB27C 7F0B674C 244F0001 */ addiu $t7, $v0, 1 -/* 0EB280 7F0B6750 A20F0002 */ sb $t7, 2($s0) -.L7F0B6754: -/* 0EB284 7F0B6754 26310001 */ addiu $s1, $s1, 1 -.L7F0B6758: -/* 0EB288 7F0B6758 0223082A */ slt $at, $s1, $v1 -/* 0EB28C 7F0B675C 1420FFEF */ bnez $at, .L7F0B671C -/* 0EB290 7F0B6760 26100050 */ addiu $s0, $s0, 0x50 -.L7F0B6764: -/* 0EB294 7F0B6764 8FBF0024 */ lw $ra, 0x24($sp) -/* 0EB298 7F0B6768 8FB00018 */ lw $s0, 0x18($sp) -/* 0EB29C 7F0B676C 8FB1001C */ lw $s1, 0x1c($sp) -/* 0EB2A0 7F0B6770 8FB20020 */ lw $s2, 0x20($sp) -/* 0EB2A4 7F0B6774 03E00008 */ jr $ra -/* 0EB2A8 7F0B6778 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B677C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B677C -/* 0EB2AC 7F0B677C 3C0E8004 */ lui $t6, %hi(MaxNumRooms) -/* 0EB2B0 7F0B6780 8DCE42F4 */ lw $t6, %lo(MaxNumRooms)($t6) -/* 0EB2B4 7F0B6784 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0EB2B8 7F0B6788 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EB2BC 7F0B678C 00AE082A */ slt $at, $a1, $t6 -/* 0EB2C0 7F0B6790 00803825 */ move $a3, $a0 -/* 0EB2C4 7F0B6794 14200003 */ bnez $at, .L7F0B67A4 -/* 0EB2C8 7F0B6798 00A03025 */ move $a2, $a1 -/* 0EB2CC 7F0B679C 1000003A */ b .L7F0B6888 -/* 0EB2D0 7F0B67A0 00801025 */ move $v0, $a0 -.L7F0B67A4: -/* 0EB2D4 7F0B67A4 3C0F8004 */ lui $t7, %hi(D_8004485C) -/* 0EB2D8 7F0B67A8 8DEF485C */ lw $t7, %lo(D_8004485C)($t7) -/* 0EB2DC 7F0B67AC 3C188004 */ lui $t8, %hi(D_80044858) -/* 0EB2E0 7F0B67B0 2401000A */ li $at, 10 -/* 0EB2E4 7F0B67B4 15E00005 */ bnez $t7, .L7F0B67CC -/* 0EB2E8 7F0B67B8 00064880 */ sll $t1, $a2, 2 -/* 0EB2EC 7F0B67BC 00C1001A */ div $zero, $a2, $at -/* 0EB2F0 7F0B67C0 8F184858 */ lw $t8, %lo(D_80044858)($t8) -/* 0EB2F4 7F0B67C4 0000C810 */ mfhi $t9 -/* 0EB2F8 7F0B67C8 1719002E */ bne $t8, $t9, .L7F0B6884 -.L7F0B67CC: -/* 0EB2FC 7F0B67CC 01264821 */ addu $t1, $t1, $a2 -/* 0EB300 7F0B67D0 3C0A8004 */ lui $t2, %hi(D_80041414) -/* 0EB304 7F0B67D4 254A1414 */ addiu $t2, %lo(D_80041414) # addiu $t2, $t2, 0x1414 -/* 0EB308 7F0B67D8 00094900 */ sll $t1, $t1, 4 -/* 0EB30C 7F0B67DC 012A1821 */ addu $v1, $t1, $t2 -/* 0EB310 7F0B67E0 90620002 */ lbu $v0, 2($v1) -/* 0EB314 7F0B67E4 3C088004 */ lui $t0, %hi(D_800442F8) -/* 0EB318 7F0B67E8 250842F8 */ addiu $t0, %lo(D_800442F8) # addiu $t0, $t0, 0x42f8 -/* 0EB31C 7F0B67EC 1440000E */ bnez $v0, .L7F0B6828 -/* 0EB320 7F0B67F0 00000000 */ nop -/* 0EB324 7F0B67F4 8D050000 */ lw $a1, ($t0) -/* 0EB328 7F0B67F8 00C02025 */ move $a0, $a2 -/* 0EB32C 7F0B67FC 18A0000A */ blez $a1, .L7F0B6828 -/* 0EB330 7F0B6800 24ABFFFF */ addiu $t3, $a1, -1 -/* 0EB334 7F0B6804 AD0B0000 */ sw $t3, ($t0) -/* 0EB338 7F0B6808 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EB33C 7F0B680C AFA6002C */ sw $a2, 0x2c($sp) -/* 0EB340 7F0B6810 0FC2D8DA */ jal sub_GAME_7F0B6368 -/* 0EB344 7F0B6814 AFA70028 */ sw $a3, 0x28($sp) -/* 0EB348 7F0B6818 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EB34C 7F0B681C 8FA6002C */ lw $a2, 0x2c($sp) -/* 0EB350 7F0B6820 8FA70028 */ lw $a3, 0x28($sp) -/* 0EB354 7F0B6824 90620002 */ lbu $v0, 2($v1) -.L7F0B6828: -/* 0EB358 7F0B6828 14400003 */ bnez $v0, .L7F0B6838 -/* 0EB35C 7F0B682C 00E02025 */ move $a0, $a3 -/* 0EB360 7F0B6830 10000015 */ b .L7F0B6888 -/* 0EB364 7F0B6834 00E01025 */ move $v0, $a3 -.L7F0B6838: -/* 0EB368 7F0B6838 00C02825 */ move $a1, $a2 -/* 0EB36C 7F0B683C 0FC2F271 */ jal sub_GAME_7F0BC9C4 -/* 0EB370 7F0B6840 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EB374 7F0B6844 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EB378 7F0B6848 3C0CBC00 */ lui $t4, (0xBC003806 >> 16) # lui $t4, 0xbc00 -/* 0EB37C 7F0B684C 358C3806 */ ori $t4, (0xBC003806 & 0xFFFF) # ori $t4, $t4, 0x3806 -/* 0EB380 7F0B6850 AC4C0000 */ sw $t4, ($v0) -/* 0EB384 7F0B6854 8C6D0004 */ lw $t5, 4($v1) -/* 0EB388 7F0B6858 3C048000 */ lui $a0, 0x8000 -/* 0EB38C 7F0B685C 3C0F0600 */ lui $t7, 0x600 -/* 0EB390 7F0B6860 01A47021 */ addu $t6, $t5, $a0 -/* 0EB394 7F0B6864 AC4E0004 */ sw $t6, 4($v0) -/* 0EB398 7F0B6868 AC4F0008 */ sw $t7, 8($v0) -/* 0EB39C 7F0B686C 8C780008 */ lw $t8, 8($v1) -/* 0EB3A0 7F0B6870 24090001 */ li $t1, 1 -/* 0EB3A4 7F0B6874 24470010 */ addiu $a3, $v0, 0x10 -/* 0EB3A8 7F0B6878 0304C821 */ addu $t9, $t8, $a0 -/* 0EB3AC 7F0B687C AC59000C */ sw $t9, 0xc($v0) -/* 0EB3B0 7F0B6880 A0690002 */ sb $t1, 2($v1) -.L7F0B6884: -/* 0EB3B4 7F0B6884 00E01025 */ move $v0, $a3 -.L7F0B6888: -/* 0EB3B8 7F0B6888 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EB3BC 7F0B688C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0EB3C0 7F0B6890 03E00008 */ jr $ra -/* 0EB3C4 7F0B6894 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B6898(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B6898 -/* 0EB3C8 7F0B6898 3C0E8004 */ lui $t6, %hi(MaxNumRooms) -/* 0EB3CC 7F0B689C 8DCE42F4 */ lw $t6, %lo(MaxNumRooms)($t6) -/* 0EB3D0 7F0B68A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0EB3D4 7F0B68A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EB3D8 7F0B68A8 00AE082A */ slt $at, $a1, $t6 -/* 0EB3DC 7F0B68AC 14200003 */ bnez $at, .L7F0B68BC -/* 0EB3E0 7F0B68B0 00803025 */ move $a2, $a0 -/* 0EB3E4 7F0B68B4 10000033 */ b .L7F0B6984 -/* 0EB3E8 7F0B68B8 00801025 */ move $v0, $a0 -.L7F0B68BC: -/* 0EB3EC 7F0B68BC 00057880 */ sll $t7, $a1, 2 -/* 0EB3F0 7F0B68C0 01E57821 */ addu $t7, $t7, $a1 -/* 0EB3F4 7F0B68C4 3C188004 */ lui $t8, %hi(D_80041414) -/* 0EB3F8 7F0B68C8 27181414 */ addiu $t8, %lo(D_80041414) # addiu $t8, $t8, 0x1414 -/* 0EB3FC 7F0B68CC 000F7900 */ sll $t7, $t7, 4 -/* 0EB400 7F0B68D0 01F81821 */ addu $v1, $t7, $t8 -/* 0EB404 7F0B68D4 8C79000C */ lw $t9, 0xc($v1) -/* 0EB408 7F0B68D8 3C088004 */ lui $t0, %hi(D_8004485C) -/* 0EB40C 7F0B68DC 17200003 */ bnez $t9, .L7F0B68EC -/* 0EB410 7F0B68E0 00000000 */ nop -/* 0EB414 7F0B68E4 10000027 */ b .L7F0B6984 -/* 0EB418 7F0B68E8 00C01025 */ move $v0, $a2 -.L7F0B68EC: -/* 0EB41C 7F0B68EC 8D08485C */ lw $t0, %lo(D_8004485C)($t0) -/* 0EB420 7F0B68F0 3C098004 */ lui $t1, %hi(D_80044858) -/* 0EB424 7F0B68F4 2401000A */ li $at, 10 -/* 0EB428 7F0B68F8 55000007 */ bnezl $t0, .L7F0B6918 -/* 0EB42C 7F0B68FC 906B0002 */ lbu $t3, 2($v1) -/* 0EB430 7F0B6900 00A1001A */ div $zero, $a1, $at -/* 0EB434 7F0B6904 8D294858 */ lw $t1, %lo(D_80044858)($t1) -/* 0EB438 7F0B6908 00005010 */ mfhi $t2 -/* 0EB43C 7F0B690C 552A001D */ bnel $t1, $t2, .L7F0B6984 -/* 0EB440 7F0B6910 00C01025 */ move $v0, $a2 -/* 0EB444 7F0B6914 906B0002 */ lbu $t3, 2($v1) -.L7F0B6918: -/* 0EB448 7F0B6918 00C02025 */ move $a0, $a2 -/* 0EB44C 7F0B691C 51600015 */ beql $t3, $zero, .L7F0B6974 -/* 0EB450 7F0B6920 00A02025 */ move $a0, $a1 -/* 0EB454 7F0B6924 0FC2F271 */ jal sub_GAME_7F0BC9C4 -/* 0EB458 7F0B6928 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EB45C 7F0B692C 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EB460 7F0B6930 3C0CBC00 */ lui $t4, (0xBC003806 >> 16) # lui $t4, 0xbc00 -/* 0EB464 7F0B6934 358C3806 */ ori $t4, (0xBC003806 & 0xFFFF) # ori $t4, $t4, 0x3806 -/* 0EB468 7F0B6938 AC4C0000 */ sw $t4, ($v0) -/* 0EB46C 7F0B693C 8C6D0004 */ lw $t5, 4($v1) -/* 0EB470 7F0B6940 3C048000 */ lui $a0, 0x8000 -/* 0EB474 7F0B6944 3C0F0600 */ lui $t7, 0x600 -/* 0EB478 7F0B6948 01A47021 */ addu $t6, $t5, $a0 -/* 0EB47C 7F0B694C AC4E0004 */ sw $t6, 4($v0) -/* 0EB480 7F0B6950 AC4F0008 */ sw $t7, 8($v0) -/* 0EB484 7F0B6954 8C78000C */ lw $t8, 0xc($v1) -/* 0EB488 7F0B6958 24080001 */ li $t0, 1 -/* 0EB48C 7F0B695C 24460010 */ addiu $a2, $v0, 0x10 -/* 0EB490 7F0B6960 0304C821 */ addu $t9, $t8, $a0 -/* 0EB494 7F0B6964 AC59000C */ sw $t9, 0xc($v0) -/* 0EB498 7F0B6968 10000005 */ b .L7F0B6980 -/* 0EB49C 7F0B696C A0680002 */ sb $t0, 2($v1) -/* 0EB4A0 7F0B6970 00A02025 */ move $a0, $a1 -.L7F0B6974: -/* 0EB4A4 7F0B6974 0FC2D8DA */ jal sub_GAME_7F0B6368 -/* 0EB4A8 7F0B6978 AFA60028 */ sw $a2, 0x28($sp) -/* 0EB4AC 7F0B697C 8FA60028 */ lw $a2, 0x28($sp) -.L7F0B6980: -/* 0EB4B0 7F0B6980 00C01025 */ move $v0, $a2 -.L7F0B6984: -/* 0EB4B4 7F0B6984 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EB4B8 7F0B6988 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0EB4BC 7F0B698C 03E00008 */ jr $ra -/* 0EB4C0 7F0B6990 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B6994(s32 arg0) { - s32 sp24; - s32 sp3C; - s32 sp44; - void *temp_a1; - s32 temp_v1_8; - s32 temp_t8; - ? temp_ret; - void *temp_a0; - s32 temp_t2; - s32 temp_a2; - void *temp_v1; - s32 temp_a3; - s32 temp_v1_2; - s32 temp_a2_2; - s32 temp_v1_3; - s32 temp_v1_4; - s32 temp_v1_5; - s32 temp_v1_6; - s32 temp_v1_7; - s32 temp_v1_9; - s32 phi_v1; - void *phi_t3; - s32 phi_t5; - s32 phi_v1_2; - s16 phi_ra; - s32 phi_t5_2; - void *phi_v1_3; - s32 phi_a2; - void *phi_t3_2; - void *phi_a1; - s32 phi_a2_2; - s32 phi_t5_3; - s32 phi_t5_4; - - // Node 0 - temp_a1 = ((arg0 * 0x50) + &D_80041414); - if (temp_a1->unk2C == 0) - { - // Node 1 - sp44 = (s32) temp_a1->unk4; - phi_t5 = 0; - if (-0x48 != *temp_a1->unk8) - { - // Node 2 - phi_v1 = *temp_a1->unk8; - phi_t3 = temp_a1->unk8; - phi_t5_4 = 0; -loop_3: - // Node 3 - phi_t5_3 = phi_t5_4; - if (4 == phi_v1) - { - // Node 4 - phi_t5_3 = (phi_t5_4 + 1); - } - // Node 5 - temp_v1_8 = phi_t3->unk8; - phi_v1 = temp_v1_8; - phi_t3 = (phi_t3 + 8); - phi_t5 = phi_t5_3; - phi_t5_4 = phi_t5_3; - if (-0x48 != temp_v1_8) - { - goto loop_3; - } - } - // Node 6 - temp_t8 = (((((phi_t5 * 8) - phi_t5) * 4) + 0xf) & -0x10); - sp24 = temp_t8; - sp3C = (s32) phi_t5; - temp_ret = mem_related_something_find_first(temp_t8, temp_a1, temp_a1->unk8); - if (temp_ret != 0) - { - // Node 7 - sp28->unk2C = temp_ret; - sp28->unk30 = (s16) phi_t5; - if (-0x48 != *sp48) - { - // Node 8 - phi_v1_2 = *sp48; - phi_ra = (u16)0; - phi_t5_2 = 0; - phi_t3_2 = sp48; -loop_9: - // Node 9 - phi_t5_2 = phi_t5_2; - if (4 == phi_v1_2) - { - // Node 10 - temp_a0 = (temp_ret + (((phi_t5_2 * 8) - phi_t5_2) * 4)); - *temp_a0 = (s16) phi_ra; - temp_t2 = (arg0 * 0x18); - phi_v1_3 = (temp_ret + (((phi_t5_2 * 8) - phi_t5_2) * 4)); - phi_a2 = 0; -loop_11: - // Node 11 - temp_a2 = (phi_a2 + 1); - temp_v1 = (phi_v1_3 + 4); - *temp_v1 = 0x7fff; - temp_v1->unkC = -0x8000; - phi_v1_3 = temp_v1; - phi_a2 = temp_a2; - if (temp_a2 < 3) - { - goto loop_11; - } - // Node 12 - temp_a3 = ((((u32) phi_t3_2->unk1 >> 4) & 0xf) + 1); - if (temp_a3 > 0) - { - // Node 13 - phi_a1 = ((phi_t3_2->unk4 & 0xffffff) + sp44); - phi_a2_2 = 0; -loop_14: - // Node 14 - temp_v1_2 = *phi_a1; - temp_a2_2 = (phi_a2_2 + 1); - if (temp_v1_2 < temp_a0->unk4) - { - // Node 15 - temp_a0->unk4 = temp_v1_2; - } - // Node 16 - temp_v1_3 = phi_a1->unk2; - if (temp_v1_3 < temp_a0->unk8) - { - // Node 17 - temp_a0->unk8 = temp_v1_3; - } - // Node 18 - temp_v1_4 = phi_a1->unk4; - if (temp_v1_4 < temp_a0->unkC) - { - // Node 19 - temp_a0->unkC = temp_v1_4; - } - // Node 20 - temp_v1_5 = *phi_a1; - if (temp_a0->unk10 < temp_v1_5) - { - // Node 21 - temp_a0->unk10 = temp_v1_5; - } - // Node 22 - temp_v1_6 = phi_a1->unk2; - if (temp_a0->unk14 < temp_v1_6) - { - // Node 23 - temp_a0->unk14 = temp_v1_6; - } - // Node 24 - temp_v1_7 = phi_a1->unk4; - if (temp_a0->unk18 < temp_v1_7) - { - // Node 25 - temp_a0->unk18 = temp_v1_7; - } - // Node 26 - phi_a1 = (phi_a1 + 0x10); - phi_a2_2 = temp_a2_2; - if (temp_a2_2 != temp_a3) - { - goto loop_14; - } - } - // Node 27 - if (temp_a0->unk4 == temp_a0->unk10) - { - // Node 28 - temp_a0->unk10 = (s32) (temp_a0->unk10 + 1); - } - // Node 29 - if (temp_a0->unk8 == temp_a0->unk14) - { - // Node 30 - temp_a0->unk14 = (s32) (temp_a0->unk14 + 1); - } - // Node 31 - if (temp_a0->unkC == temp_a0->unk18) - { - // Node 32 - temp_a0->unk18 = (s32) (temp_a0->unk18 + 1); - } - // Node 33 - temp_a0->unk4 = (s32) (temp_a0->unk4 + (s32) (ptr_bgdata_room_fileposition_list + temp_t2)->unkC); - temp_a0->unk8 = (s32) (temp_a0->unk8 + (s32) (ptr_bgdata_room_fileposition_list + temp_t2)->unk10); - temp_a0->unkC = (s32) (temp_a0->unkC + (s32) (ptr_bgdata_room_fileposition_list + temp_t2)->unk14); - temp_a0->unk10 = (s32) (temp_a0->unk10 + (s32) (ptr_bgdata_room_fileposition_list + temp_t2)->unkC); - temp_a0->unk14 = (s32) (temp_a0->unk14 + (s32) (ptr_bgdata_room_fileposition_list + temp_t2)->unk10); - temp_a0->unk18 = (s32) (temp_a0->unk18 + (s32) (ptr_bgdata_room_fileposition_list + temp_t2)->unk14); - phi_t5_2 = (phi_t5_2 + 1); - } - // Node 34 - temp_v1_9 = phi_t3_2->unk8; - phi_v1_2 = temp_v1_9; - phi_ra = (phi_ra + 1); - phi_t3_2 = (phi_t3_2 + 8); - if (-0x48 != temp_v1_9) - { - goto loop_9; - } - } - } - } - // Node 35 - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B6994 -/* 0EB4C4 7F0B6994 00047880 */ sll $t7, $a0, 2 -/* 0EB4C8 7F0B6998 01E47821 */ addu $t7, $t7, $a0 -/* 0EB4CC 7F0B699C 3C188004 */ lui $t8, %hi(D_80041414) -/* 0EB4D0 7F0B69A0 27181414 */ addiu $t8, %lo(D_80041414) # addiu $t8, $t8, 0x1414 -/* 0EB4D4 7F0B69A4 000F7900 */ sll $t7, $t7, 4 -/* 0EB4D8 7F0B69A8 01F82821 */ addu $a1, $t7, $t8 -/* 0EB4DC 7F0B69AC 8CB9002C */ lw $t9, 0x2c($a1) -/* 0EB4E0 7F0B69B0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0EB4E4 7F0B69B4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EB4E8 7F0B69B8 AFB10018 */ sw $s1, 0x18($sp) -/* 0EB4EC 7F0B69BC AFB00014 */ sw $s0, 0x14($sp) -/* 0EB4F0 7F0B69C0 172000C5 */ bnez $t9, .L7F0B6CD8 -/* 0EB4F4 7F0B69C4 AFA40050 */ sw $a0, 0x50($sp) -/* 0EB4F8 7F0B69C8 8CAE0004 */ lw $t6, 4($a1) -/* 0EB4FC 7F0B69CC 8CA60008 */ lw $a2, 8($a1) -/* 0EB500 7F0B69D0 2410FFB8 */ li $s0, -72 -/* 0EB504 7F0B69D4 AFAE0044 */ sw $t6, 0x44($sp) -/* 0EB508 7F0B69D8 80CF0000 */ lb $t7, ($a2) -/* 0EB50C 7F0B69DC 00006825 */ move $t5, $zero -/* 0EB510 7F0B69E0 2401FFF0 */ li $at, -16 -/* 0EB514 7F0B69E4 120F000A */ beq $s0, $t7, .L7F0B6A10 -/* 0EB518 7F0B69E8 00C05825 */ move $t3, $a2 -/* 0EB51C 7F0B69EC 80C30000 */ lb $v1, ($a2) -/* 0EB520 7F0B69F0 24110004 */ li $s1, 4 -.L7F0B69F4: -/* 0EB524 7F0B69F4 56230003 */ bnel $s1, $v1, .L7F0B6A04 -/* 0EB528 7F0B69F8 81630008 */ lb $v1, 8($t3) -/* 0EB52C 7F0B69FC 25AD0001 */ addiu $t5, $t5, 1 -/* 0EB530 7F0B6A00 81630008 */ lb $v1, 8($t3) -.L7F0B6A04: -/* 0EB534 7F0B6A04 256B0008 */ addiu $t3, $t3, 8 -/* 0EB538 7F0B6A08 1603FFFA */ bne $s0, $v1, .L7F0B69F4 -/* 0EB53C 7F0B6A0C 00000000 */ nop -.L7F0B6A10: -/* 0EB540 7F0B6A10 000D20C0 */ sll $a0, $t5, 3 -/* 0EB544 7F0B6A14 008D2023 */ subu $a0, $a0, $t5 -/* 0EB548 7F0B6A18 00042080 */ sll $a0, $a0, 2 -/* 0EB54C 7F0B6A1C 2484000F */ addiu $a0, $a0, 0xf -/* 0EB550 7F0B6A20 0081C024 */ and $t8, $a0, $at -/* 0EB554 7F0B6A24 24110004 */ li $s1, 4 -/* 0EB558 7F0B6A28 03002025 */ move $a0, $t8 -/* 0EB55C 7F0B6A2C AFB80024 */ sw $t8, 0x24($sp) -/* 0EB560 7F0B6A30 AFA50028 */ sw $a1, 0x28($sp) -/* 0EB564 7F0B6A34 AFA60048 */ sw $a2, 0x48($sp) -/* 0EB568 7F0B6A38 0C00278D */ jal mem_related_something_find_first -/* 0EB56C 7F0B6A3C AFAD003C */ sw $t5, 0x3c($sp) -/* 0EB570 7F0B6A40 8FA50028 */ lw $a1, 0x28($sp) -/* 0EB574 7F0B6A44 8FA60048 */ lw $a2, 0x48($sp) -/* 0EB578 7F0B6A48 104000A3 */ beqz $v0, .L7F0B6CD8 -/* 0EB57C 7F0B6A4C 8FAD003C */ lw $t5, 0x3c($sp) -/* 0EB580 7F0B6A50 ACA2002C */ sw $v0, 0x2c($a1) -/* 0EB584 7F0B6A54 A4AD0030 */ sh $t5, 0x30($a1) -/* 0EB588 7F0B6A58 80D90000 */ lb $t9, ($a2) -/* 0EB58C 7F0B6A5C 00006825 */ move $t5, $zero -/* 0EB590 7F0B6A60 0000F825 */ move $ra, $zero -/* 0EB594 7F0B6A64 1219009C */ beq $s0, $t9, .L7F0B6CD8 -/* 0EB598 7F0B6A68 00C05825 */ move $t3, $a2 -/* 0EB59C 7F0B6A6C 3C0C8008 */ lui $t4, %hi(ptr_bgdata_room_fileposition_list) -/* 0EB5A0 7F0B6A70 258CFF8C */ addiu $t4, %lo(ptr_bgdata_room_fileposition_list) # addiu $t4, $t4, -0x74 -/* 0EB5A4 7F0B6A74 80C30000 */ lb $v1, ($a2) -/* 0EB5A8 7F0B6A78 24098000 */ li $t1, -32768 -/* 0EB5AC 7F0B6A7C 24087FFF */ li $t0, 32767 -.L7F0B6A80: -/* 0EB5B0 7F0B6A80 16230090 */ bne $s1, $v1, .L7F0B6CC4 -/* 0EB5B4 7F0B6A84 000D70C0 */ sll $t6, $t5, 3 -/* 0EB5B8 7F0B6A88 01CD7023 */ subu $t6, $t6, $t5 -/* 0EB5BC 7F0B6A8C 000E7080 */ sll $t6, $t6, 2 -/* 0EB5C0 7F0B6A90 004E2021 */ addu $a0, $v0, $t6 -/* 0EB5C4 7F0B6A94 A49F0000 */ sh $ra, ($a0) -/* 0EB5C8 7F0B6A98 8FAA0050 */ lw $t2, 0x50($sp) -/* 0EB5CC 7F0B6A9C 000DC0C0 */ sll $t8, $t5, 3 -/* 0EB5D0 7F0B6AA0 030DC023 */ subu $t8, $t8, $t5 -/* 0EB5D4 7F0B6AA4 000A7880 */ sll $t7, $t2, 2 -/* 0EB5D8 7F0B6AA8 0018C080 */ sll $t8, $t8, 2 -/* 0EB5DC 7F0B6AAC 01EA7823 */ subu $t7, $t7, $t2 -/* 0EB5E0 7F0B6AB0 000F50C0 */ sll $t2, $t7, 3 -/* 0EB5E4 7F0B6AB4 00581821 */ addu $v1, $v0, $t8 -/* 0EB5E8 7F0B6AB8 00003025 */ move $a2, $zero -.L7F0B6ABC: -/* 0EB5EC 7F0B6ABC 24C60001 */ addiu $a2, $a2, 1 -/* 0EB5F0 7F0B6AC0 28C10003 */ slti $at, $a2, 3 -/* 0EB5F4 7F0B6AC4 24630004 */ addiu $v1, $v1, 4 -/* 0EB5F8 7F0B6AC8 AC680000 */ sw $t0, ($v1) -/* 0EB5FC 7F0B6ACC 1420FFFB */ bnez $at, .L7F0B6ABC -/* 0EB600 7F0B6AD0 AC69000C */ sw $t1, 0xc($v1) -/* 0EB604 7F0B6AD4 91670001 */ lbu $a3, 1($t3) -/* 0EB608 7F0B6AD8 8D6F0004 */ lw $t7, 4($t3) -/* 0EB60C 7F0B6ADC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0EB610 7F0B6AE0 0007C902 */ srl $t9, $a3, 4 -/* 0EB614 7F0B6AE4 332E000F */ andi $t6, $t9, 0xf -/* 0EB618 7F0B6AE8 8FB90044 */ lw $t9, 0x44($sp) -/* 0EB61C 7F0B6AEC 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0EB620 7F0B6AF0 25C70001 */ addiu $a3, $t6, 1 -/* 0EB624 7F0B6AF4 01E1C024 */ and $t8, $t7, $at -/* 0EB628 7F0B6AF8 00003025 */ move $a2, $zero -/* 0EB62C 7F0B6AFC 18E00029 */ blez $a3, .L7F0B6BA4 -/* 0EB630 7F0B6B00 03191821 */ addu $v1, $t8, $t9 -/* 0EB634 7F0B6B04 00602825 */ move $a1, $v1 -.L7F0B6B08: -/* 0EB638 7F0B6B08 84A30000 */ lh $v1, ($a1) -/* 0EB63C 7F0B6B0C 8C8E0004 */ lw $t6, 4($a0) -/* 0EB640 7F0B6B10 24C60001 */ addiu $a2, $a2, 1 -/* 0EB644 7F0B6B14 006E082A */ slt $at, $v1, $t6 -/* 0EB648 7F0B6B18 50200003 */ beql $at, $zero, .L7F0B6B28 -/* 0EB64C 7F0B6B1C 84A30002 */ lh $v1, 2($a1) -/* 0EB650 7F0B6B20 AC830004 */ sw $v1, 4($a0) -/* 0EB654 7F0B6B24 84A30002 */ lh $v1, 2($a1) -.L7F0B6B28: -/* 0EB658 7F0B6B28 8C8F0008 */ lw $t7, 8($a0) -/* 0EB65C 7F0B6B2C 006F082A */ slt $at, $v1, $t7 -/* 0EB660 7F0B6B30 50200003 */ beql $at, $zero, .L7F0B6B40 -/* 0EB664 7F0B6B34 84A30004 */ lh $v1, 4($a1) -/* 0EB668 7F0B6B38 AC830008 */ sw $v1, 8($a0) -/* 0EB66C 7F0B6B3C 84A30004 */ lh $v1, 4($a1) -.L7F0B6B40: -/* 0EB670 7F0B6B40 8C98000C */ lw $t8, 0xc($a0) -/* 0EB674 7F0B6B44 0078082A */ slt $at, $v1, $t8 -/* 0EB678 7F0B6B48 50200003 */ beql $at, $zero, .L7F0B6B58 -/* 0EB67C 7F0B6B4C 84A30000 */ lh $v1, ($a1) -/* 0EB680 7F0B6B50 AC83000C */ sw $v1, 0xc($a0) -/* 0EB684 7F0B6B54 84A30000 */ lh $v1, ($a1) -.L7F0B6B58: -/* 0EB688 7F0B6B58 8C990010 */ lw $t9, 0x10($a0) -/* 0EB68C 7F0B6B5C 0323082A */ slt $at, $t9, $v1 -/* 0EB690 7F0B6B60 50200003 */ beql $at, $zero, .L7F0B6B70 -/* 0EB694 7F0B6B64 84A30002 */ lh $v1, 2($a1) -/* 0EB698 7F0B6B68 AC830010 */ sw $v1, 0x10($a0) -/* 0EB69C 7F0B6B6C 84A30002 */ lh $v1, 2($a1) -.L7F0B6B70: -/* 0EB6A0 7F0B6B70 8C8E0014 */ lw $t6, 0x14($a0) -/* 0EB6A4 7F0B6B74 01C3082A */ slt $at, $t6, $v1 -/* 0EB6A8 7F0B6B78 50200003 */ beql $at, $zero, .L7F0B6B88 -/* 0EB6AC 7F0B6B7C 84A30004 */ lh $v1, 4($a1) -/* 0EB6B0 7F0B6B80 AC830014 */ sw $v1, 0x14($a0) -/* 0EB6B4 7F0B6B84 84A30004 */ lh $v1, 4($a1) -.L7F0B6B88: -/* 0EB6B8 7F0B6B88 8C8F0018 */ lw $t7, 0x18($a0) -/* 0EB6BC 7F0B6B8C 01E3082A */ slt $at, $t7, $v1 -/* 0EB6C0 7F0B6B90 10200002 */ beqz $at, .L7F0B6B9C -/* 0EB6C4 7F0B6B94 00000000 */ nop -/* 0EB6C8 7F0B6B98 AC830018 */ sw $v1, 0x18($a0) -.L7F0B6B9C: -/* 0EB6CC 7F0B6B9C 14C7FFDA */ bne $a2, $a3, .L7F0B6B08 -/* 0EB6D0 7F0B6BA0 24A50010 */ addiu $a1, $a1, 0x10 -.L7F0B6BA4: -/* 0EB6D4 7F0B6BA4 8C830010 */ lw $v1, 0x10($a0) -/* 0EB6D8 7F0B6BA8 8C980004 */ lw $t8, 4($a0) -/* 0EB6DC 7F0B6BAC 24790001 */ addiu $t9, $v1, 1 -/* 0EB6E0 7F0B6BB0 57030003 */ bnel $t8, $v1, .L7F0B6BC0 -/* 0EB6E4 7F0B6BB4 8C830014 */ lw $v1, 0x14($a0) -/* 0EB6E8 7F0B6BB8 AC990010 */ sw $t9, 0x10($a0) -/* 0EB6EC 7F0B6BBC 8C830014 */ lw $v1, 0x14($a0) -.L7F0B6BC0: -/* 0EB6F0 7F0B6BC0 8C8E0008 */ lw $t6, 8($a0) -/* 0EB6F4 7F0B6BC4 246F0001 */ addiu $t7, $v1, 1 -/* 0EB6F8 7F0B6BC8 55C30003 */ bnel $t6, $v1, .L7F0B6BD8 -/* 0EB6FC 7F0B6BCC 8C83000C */ lw $v1, 0xc($a0) -/* 0EB700 7F0B6BD0 AC8F0014 */ sw $t7, 0x14($a0) -/* 0EB704 7F0B6BD4 8C83000C */ lw $v1, 0xc($a0) -.L7F0B6BD8: -/* 0EB708 7F0B6BD8 8C850018 */ lw $a1, 0x18($a0) -/* 0EB70C 7F0B6BDC 14650003 */ bne $v1, $a1, .L7F0B6BEC -/* 0EB710 7F0B6BE0 24B80001 */ addiu $t8, $a1, 1 -/* 0EB714 7F0B6BE4 AC980018 */ sw $t8, 0x18($a0) -/* 0EB718 7F0B6BE8 8C83000C */ lw $v1, 0xc($a0) -.L7F0B6BEC: -/* 0EB71C 7F0B6BEC 8D8E0000 */ lw $t6, ($t4) -/* 0EB720 7F0B6BF0 8C990004 */ lw $t9, 4($a0) -/* 0EB724 7F0B6BF4 8C980008 */ lw $t8, 8($a0) -/* 0EB728 7F0B6BF8 01CA7821 */ addu $t7, $t6, $t2 -/* 0EB72C 7F0B6BFC C5E4000C */ lwc1 $f4, 0xc($t7) -/* 0EB730 7F0B6C00 25AD0001 */ addiu $t5, $t5, 1 -/* 0EB734 7F0B6C04 4600218D */ trunc.w.s $f6, $f4 -/* 0EB738 7F0B6C08 440E3000 */ mfc1 $t6, $f6 -/* 0EB73C 7F0B6C0C 00000000 */ nop -/* 0EB740 7F0B6C10 032E7821 */ addu $t7, $t9, $t6 -/* 0EB744 7F0B6C14 AC8F0004 */ sw $t7, 4($a0) -/* 0EB748 7F0B6C18 8D990000 */ lw $t9, ($t4) -/* 0EB74C 7F0B6C1C 032A7021 */ addu $t6, $t9, $t2 -/* 0EB750 7F0B6C20 C5C80010 */ lwc1 $f8, 0x10($t6) -/* 0EB754 7F0B6C24 4600428D */ trunc.w.s $f10, $f8 -/* 0EB758 7F0B6C28 44195000 */ mfc1 $t9, $f10 -/* 0EB75C 7F0B6C2C 00000000 */ nop -/* 0EB760 7F0B6C30 03197021 */ addu $t6, $t8, $t9 -/* 0EB764 7F0B6C34 AC8E0008 */ sw $t6, 8($a0) -/* 0EB768 7F0B6C38 8D8F0000 */ lw $t7, ($t4) -/* 0EB76C 7F0B6C3C 01EAC021 */ addu $t8, $t7, $t2 -/* 0EB770 7F0B6C40 C7100014 */ lwc1 $f16, 0x14($t8) -/* 0EB774 7F0B6C44 8C980010 */ lw $t8, 0x10($a0) -/* 0EB778 7F0B6C48 4600848D */ trunc.w.s $f18, $f16 -/* 0EB77C 7F0B6C4C 440E9000 */ mfc1 $t6, $f18 -/* 0EB780 7F0B6C50 00000000 */ nop -/* 0EB784 7F0B6C54 006E7821 */ addu $t7, $v1, $t6 -/* 0EB788 7F0B6C58 AC8F000C */ sw $t7, 0xc($a0) -/* 0EB78C 7F0B6C5C 8D990000 */ lw $t9, ($t4) -/* 0EB790 7F0B6C60 8C8F0014 */ lw $t7, 0x14($a0) -/* 0EB794 7F0B6C64 032A7021 */ addu $t6, $t9, $t2 -/* 0EB798 7F0B6C68 C5C4000C */ lwc1 $f4, 0xc($t6) -/* 0EB79C 7F0B6C6C 4600218D */ trunc.w.s $f6, $f4 -/* 0EB7A0 7F0B6C70 44193000 */ mfc1 $t9, $f6 -/* 0EB7A4 7F0B6C74 00000000 */ nop -/* 0EB7A8 7F0B6C78 03197021 */ addu $t6, $t8, $t9 -/* 0EB7AC 7F0B6C7C AC8E0010 */ sw $t6, 0x10($a0) -/* 0EB7B0 7F0B6C80 8D980000 */ lw $t8, ($t4) -/* 0EB7B4 7F0B6C84 8C8E0018 */ lw $t6, 0x18($a0) -/* 0EB7B8 7F0B6C88 030AC821 */ addu $t9, $t8, $t2 -/* 0EB7BC 7F0B6C8C C7280010 */ lwc1 $f8, 0x10($t9) -/* 0EB7C0 7F0B6C90 4600428D */ trunc.w.s $f10, $f8 -/* 0EB7C4 7F0B6C94 44185000 */ mfc1 $t8, $f10 -/* 0EB7C8 7F0B6C98 00000000 */ nop -/* 0EB7CC 7F0B6C9C 01F8C821 */ addu $t9, $t7, $t8 -/* 0EB7D0 7F0B6CA0 AC990014 */ sw $t9, 0x14($a0) -/* 0EB7D4 7F0B6CA4 8D8F0000 */ lw $t7, ($t4) -/* 0EB7D8 7F0B6CA8 01EAC021 */ addu $t8, $t7, $t2 -/* 0EB7DC 7F0B6CAC C7100014 */ lwc1 $f16, 0x14($t8) -/* 0EB7E0 7F0B6CB0 4600848D */ trunc.w.s $f18, $f16 -/* 0EB7E4 7F0B6CB4 440F9000 */ mfc1 $t7, $f18 -/* 0EB7E8 7F0B6CB8 00000000 */ nop -/* 0EB7EC 7F0B6CBC 01CFC021 */ addu $t8, $t6, $t7 -/* 0EB7F0 7F0B6CC0 AC980018 */ sw $t8, 0x18($a0) -.L7F0B6CC4: -/* 0EB7F4 7F0B6CC4 81630008 */ lb $v1, 8($t3) -/* 0EB7F8 7F0B6CC8 27FF0001 */ addiu $ra, $ra, 1 -/* 0EB7FC 7F0B6CCC 256B0008 */ addiu $t3, $t3, 8 -/* 0EB800 7F0B6CD0 1603FF6B */ bne $s0, $v1, .L7F0B6A80 -/* 0EB804 7F0B6CD4 00000000 */ nop -.L7F0B6CD8: -/* 0EB808 7F0B6CD8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0EB80C 7F0B6CDC 8FB00014 */ lw $s0, 0x14($sp) -/* 0EB810 7F0B6CE0 8FB10018 */ lw $s1, 0x18($sp) -/* 0EB814 7F0B6CE4 03E00008 */ jr $ra -/* 0EB818 7F0B6CE8 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B6CEC(void *arg0, void *arg1, void *arg2, void *arg3) { - f32 sp0; - f32 sp4; - f32 sp20; - f32 sp30; - f32 sp34; - f32 sp60; - f32 sp64; - f32 sp68; - f32 sp6C; - f32 sp70; - f32 sp74; - f32 temp_f6; - f32 temp_f16_2; - f32 temp_f14; - f32 temp_f2; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f18; - f32 temp_f12; - f32 temp_f16; - f32 phi_f14; - f32 phi_f16; - f32 phi_f0; - f32 phi_f2; - f32 phi_f14_2; - f32 phi_f12; - f32 phi_f0_2; - f32 phi_f18; - f32 phi_f2_2; - f32 phi_f16_2; - f32 phi_f0_3; - f32 phi_f18_2; - f32 phi_f12_2; - f32 phi_f2_3; - f32 phi_f18_3; - f32 phi_f0_4; - f32 phi_f14_3; - f32 phi_f12_3; - - // Node 0 - temp_f6 = (f32) *arg2; - sp6C = temp_f6; - sp70 = (f32) arg2->unk4; - sp74 = (f32) arg2->unk8; - sp60 = (f32) *arg3; - sp64 = (f32) arg3->unk4; - sp68 = (f32) arg3->unk8; - temp_f16_2 = (sp60 - *arg0); - temp_f14 = (temp_f6 - *arg0); - phi_f14 = temp_f14; - phi_f16 = temp_f16_2; - phi_f18 = *arg1; - if (*arg1 < 0.0f) - { - // Node 1 - phi_f14 = -temp_f14; - phi_f16 = -temp_f16_2; - phi_f18 = -*arg1; - } - // Node 2 - if (phi_f14 < 0.0f) - { - // Node 3 - if (phi_f16 < 0.0f) - { - // Node 4 - return 1; - } - } - // Node 5 - phi_f14_2 = phi_f14; - phi_f16_2 = phi_f16; - if (phi_f16 < phi_f14) - { - // Node 6 - phi_f14_2 = phi_f16; - phi_f16_2 = phi_f14; - } - // Node 7 - sp4 = (f32) arg0->unk4; - temp_f2 = (sp64 - sp4); - temp_f0 = (sp70 - sp4); - phi_f0 = temp_f0; - phi_f2 = temp_f2; - phi_f12 = arg1->unk4; - if (arg1->unk4 < 0.0f) - { - // Node 8 - phi_f0 = -temp_f0; - phi_f2 = -temp_f2; - phi_f12 = -arg1->unk4; - } - // Node 9 - if (phi_f0 < 0.0f) - { - // Node 10 - if (phi_f2 < 0.0f) - { - // Node 11 - return 1; - } - } - // Node 12 - phi_f0_2 = phi_f0; - phi_f2_2 = phi_f2; - if (phi_f2 < phi_f0) - { - // Node 13 - sp20 = (f32) phi_f0; - phi_f0_2 = phi_f2; - phi_f2_2 = sp20; - } - // Node 14 - sp4 = (f32) (phi_f14_2 * phi_f12); - sp0 = (f32) (phi_f0_2 * phi_f18); - if (sp0 < sp4) - { - // Node 15 - temp_f0_2 = (phi_f2_2 * phi_f18); - if (temp_f0_2 < sp4) - { - // Node 16 - return 1; - } - // Node 17 - sp30 = (f32) phi_f18; - sp4 = (f32) (phi_f16_2 * phi_f12); - phi_f0_3 = temp_f0_2; - } - else - { - // Node 18 - if ((phi_f16_2 * phi_f12) < sp0) - { - // Node 19 - return 1; - } - // Node 20 - sp34 = (f32) phi_f0_2; - sp0 = (f32) (phi_f2_2 * phi_f18); - phi_f0_3 = sp0; - } - // Node 21 - if (sp4 < phi_f0_3) - { - // Node 22 - phi_f0_4 = phi_f16_2; - phi_f14_3 = phi_f18; - } - else - { - // Node 23 - phi_f0_4 = phi_f2_2; - phi_f14_3 = phi_f12; - } - // Node 24 - temp_f18 = (sp74 - arg0->unk8); - temp_f12 = (sp68 - arg0->unk8); - phi_f18_2 = temp_f18; - phi_f12_2 = temp_f12; - phi_f2_3 = arg1->unk8; - if (arg1->unk8 < 0.0f) - { - // Node 25 - phi_f18_2 = -temp_f18; - phi_f12_2 = -temp_f12; - phi_f2_3 = -arg1->unk8; - } - // Node 26 - if (phi_f18_2 < 0.0f) - { - // Node 27 - if (phi_f12_2 < 0.0f) - { - // Node 28 - return 1; - } - } - // Node 29 - phi_f18_3 = phi_f18_2; - phi_f12_3 = phi_f12_2; - if (phi_f12_2 < phi_f18_2) - { - // Node 30 - phi_f18_3 = phi_f12_2; - phi_f12_3 = phi_f18_2; - } - // Node 31 - temp_f16 = (sp34 * phi_f2_3); - if (temp_f16 < (phi_f18_3 * sp30)) - { - // Node 32 - if ((phi_f0_4 * phi_f2_3) >= (phi_f18_3 * phi_f14_3)) - { - // Node 36 - // Node 37 - return 1; - } - // Node 33 - return 1; - } - // Node 34 - if ((phi_f12_3 * sp30) >= temp_f16) - { - // Node 36 - // Node 37 - return 1; - } - // Node 35 - return 1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B6CEC -/* 0EB81C 7F0B6CEC 8CCE0000 */ lw $t6, ($a2) -/* 0EB820 7F0B6CF0 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0EB824 7F0B6CF4 448E2000 */ mtc1 $t6, $f4 -/* 0EB828 7F0B6CF8 00000000 */ nop -/* 0EB82C 7F0B6CFC 468021A0 */ cvt.s.w $f6, $f4 -/* 0EB830 7F0B6D00 E7A6006C */ swc1 $f6, 0x6c($sp) -/* 0EB834 7F0B6D04 8CCF0004 */ lw $t7, 4($a2) -/* 0EB838 7F0B6D08 448F4000 */ mtc1 $t7, $f8 -/* 0EB83C 7F0B6D0C 00000000 */ nop -/* 0EB840 7F0B6D10 468042A0 */ cvt.s.w $f10, $f8 -/* 0EB844 7F0B6D14 E7AA0070 */ swc1 $f10, 0x70($sp) -/* 0EB848 7F0B6D18 8CD80008 */ lw $t8, 8($a2) -/* 0EB84C 7F0B6D1C 44982000 */ mtc1 $t8, $f4 -/* 0EB850 7F0B6D20 00000000 */ nop -/* 0EB854 7F0B6D24 468021A0 */ cvt.s.w $f6, $f4 -/* 0EB858 7F0B6D28 E7A60074 */ swc1 $f6, 0x74($sp) -/* 0EB85C 7F0B6D2C 8CF90000 */ lw $t9, ($a3) -/* 0EB860 7F0B6D30 44994000 */ mtc1 $t9, $f8 -/* 0EB864 7F0B6D34 00000000 */ nop -/* 0EB868 7F0B6D38 468042A0 */ cvt.s.w $f10, $f8 -/* 0EB86C 7F0B6D3C E7AA0060 */ swc1 $f10, 0x60($sp) -/* 0EB870 7F0B6D40 8CE80004 */ lw $t0, 4($a3) -/* 0EB874 7F0B6D44 44882000 */ mtc1 $t0, $f4 -/* 0EB878 7F0B6D48 00000000 */ nop -/* 0EB87C 7F0B6D4C 468021A0 */ cvt.s.w $f6, $f4 -/* 0EB880 7F0B6D50 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 0EB884 7F0B6D54 E7A60064 */ swc1 $f6, 0x64($sp) -/* 0EB888 7F0B6D58 8CE90008 */ lw $t1, 8($a3) -/* 0EB88C 7F0B6D5C C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0EB890 7F0B6D60 44894000 */ mtc1 $t1, $f8 -/* 0EB894 7F0B6D64 00000000 */ nop -/* 0EB898 7F0B6D68 468042A0 */ cvt.s.w $f10, $f8 -/* 0EB89C 7F0B6D6C 44804000 */ mtc1 $zero, $f8 -/* 0EB8A0 7F0B6D70 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 0EB8A4 7F0B6D74 C4B20000 */ lwc1 $f18, ($a1) -/* 0EB8A8 7F0B6D78 C4800000 */ lwc1 $f0, ($a0) -/* 0EB8AC 7F0B6D7C 44805000 */ mtc1 $zero, $f10 -/* 0EB8B0 7F0B6D80 4608903C */ c.lt.s $f18, $f8 -/* 0EB8B4 7F0B6D84 46002401 */ sub.s $f16, $f4, $f0 -/* 0EB8B8 7F0B6D88 45000004 */ bc1f .L7F0B6D9C -/* 0EB8BC 7F0B6D8C 46003381 */ sub.s $f14, $f6, $f0 -/* 0EB8C0 7F0B6D90 46009487 */ neg.s $f18, $f18 -/* 0EB8C4 7F0B6D94 46007387 */ neg.s $f14, $f14 -/* 0EB8C8 7F0B6D98 46008407 */ neg.s $f16, $f16 -.L7F0B6D9C: -/* 0EB8CC 7F0B6D9C 460A703C */ c.lt.s $f14, $f10 -/* 0EB8D0 7F0B6DA0 00000000 */ nop -/* 0EB8D4 7F0B6DA4 4502000A */ bc1fl .L7F0B6DD0 -/* 0EB8D8 7F0B6DA8 460E803C */ c.lt.s $f16, $f14 -/* 0EB8DC 7F0B6DAC 44802000 */ mtc1 $zero, $f4 -/* 0EB8E0 7F0B6DB0 00000000 */ nop -/* 0EB8E4 7F0B6DB4 4604803C */ c.lt.s $f16, $f4 -/* 0EB8E8 7F0B6DB8 00000000 */ nop -/* 0EB8EC 7F0B6DBC 45020004 */ bc1fl .L7F0B6DD0 -/* 0EB8F0 7F0B6DC0 460E803C */ c.lt.s $f16, $f14 -/* 0EB8F4 7F0B6DC4 10000090 */ b .L7F0B7008 -/* 0EB8F8 7F0B6DC8 00001025 */ move $v0, $zero -/* 0EB8FC 7F0B6DCC 460E803C */ c.lt.s $f16, $f14 -.L7F0B6DD0: -/* 0EB900 7F0B6DD0 00000000 */ nop -/* 0EB904 7F0B6DD4 45020005 */ bc1fl .L7F0B6DEC -/* 0EB908 7F0B6DD8 C4860004 */ lwc1 $f6, 4($a0) -/* 0EB90C 7F0B6DDC 46007006 */ mov.s $f0, $f14 -/* 0EB910 7F0B6DE0 46008386 */ mov.s $f14, $f16 -/* 0EB914 7F0B6DE4 46000406 */ mov.s $f16, $f0 -/* 0EB918 7F0B6DE8 C4860004 */ lwc1 $f6, 4($a0) -.L7F0B6DEC: -/* 0EB91C 7F0B6DEC C4AC0004 */ lwc1 $f12, 4($a1) -/* 0EB920 7F0B6DF0 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 0EB924 7F0B6DF4 E7A60004 */ swc1 $f6, 4($sp) -/* 0EB928 7F0B6DF8 44803000 */ mtc1 $zero, $f6 -/* 0EB92C 7F0B6DFC C7AA0004 */ lwc1 $f10, 4($sp) -/* 0EB930 7F0B6E00 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0EB934 7F0B6E04 4606603C */ c.lt.s $f12, $f6 -/* 0EB938 7F0B6E08 460A4081 */ sub.s $f2, $f8, $f10 -/* 0EB93C 7F0B6E0C 44804000 */ mtc1 $zero, $f8 -/* 0EB940 7F0B6E10 45000004 */ bc1f .L7F0B6E24 -/* 0EB944 7F0B6E14 460A2001 */ sub.s $f0, $f4, $f10 -/* 0EB948 7F0B6E18 46006307 */ neg.s $f12, $f12 -/* 0EB94C 7F0B6E1C 46000007 */ neg.s $f0, $f0 -/* 0EB950 7F0B6E20 46001087 */ neg.s $f2, $f2 -.L7F0B6E24: -/* 0EB954 7F0B6E24 4608003C */ c.lt.s $f0, $f8 -/* 0EB958 7F0B6E28 00000000 */ nop -/* 0EB95C 7F0B6E2C 4502000A */ bc1fl .L7F0B6E58 -/* 0EB960 7F0B6E30 4600103C */ c.lt.s $f2, $f0 -/* 0EB964 7F0B6E34 44802000 */ mtc1 $zero, $f4 -/* 0EB968 7F0B6E38 00000000 */ nop -/* 0EB96C 7F0B6E3C 4604103C */ c.lt.s $f2, $f4 -/* 0EB970 7F0B6E40 00000000 */ nop -/* 0EB974 7F0B6E44 45020004 */ bc1fl .L7F0B6E58 -/* 0EB978 7F0B6E48 4600103C */ c.lt.s $f2, $f0 -/* 0EB97C 7F0B6E4C 1000006E */ b .L7F0B7008 -/* 0EB980 7F0B6E50 00001025 */ move $v0, $zero -/* 0EB984 7F0B6E54 4600103C */ c.lt.s $f2, $f0 -.L7F0B6E58: -/* 0EB988 7F0B6E58 460C7182 */ mul.s $f6, $f14, $f12 -/* 0EB98C 7F0B6E5C 45000004 */ bc1f .L7F0B6E70 -/* 0EB990 7F0B6E60 00000000 */ nop -/* 0EB994 7F0B6E64 E7A00020 */ swc1 $f0, 0x20($sp) -/* 0EB998 7F0B6E68 46001006 */ mov.s $f0, $f2 -/* 0EB99C 7F0B6E6C C7A20020 */ lwc1 $f2, 0x20($sp) -.L7F0B6E70: -/* 0EB9A0 7F0B6E70 46120282 */ mul.s $f10, $f0, $f18 -/* 0EB9A4 7F0B6E74 E7A60004 */ swc1 $f6, 4($sp) -/* 0EB9A8 7F0B6E78 C7A40004 */ lwc1 $f4, 4($sp) -/* 0EB9AC 7F0B6E7C E7AA0000 */ swc1 $f10, ($sp) -/* 0EB9B0 7F0B6E80 C7A80000 */ lwc1 $f8, ($sp) -/* 0EB9B4 7F0B6E84 4604403C */ c.lt.s $f8, $f4 -/* 0EB9B8 7F0B6E88 00000000 */ nop -/* 0EB9BC 7F0B6E8C 4500000D */ bc1f .L7F0B6EC4 -/* 0EB9C0 7F0B6E90 00000000 */ nop -/* 0EB9C4 7F0B6E94 46121002 */ mul.s $f0, $f2, $f18 -/* 0EB9C8 7F0B6E98 4604003C */ c.lt.s $f0, $f4 -/* 0EB9CC 7F0B6E9C 00000000 */ nop -/* 0EB9D0 7F0B6EA0 45000003 */ bc1f .L7F0B6EB0 -/* 0EB9D4 7F0B6EA4 00000000 */ nop -/* 0EB9D8 7F0B6EA8 10000057 */ b .L7F0B7008 -/* 0EB9DC 7F0B6EAC 00001025 */ move $v0, $zero -.L7F0B6EB0: -/* 0EB9E0 7F0B6EB0 460C8282 */ mul.s $f10, $f16, $f12 -/* 0EB9E4 7F0B6EB4 E7AE0034 */ swc1 $f14, 0x34($sp) -/* 0EB9E8 7F0B6EB8 E7B20030 */ swc1 $f18, 0x30($sp) -/* 0EB9EC 7F0B6EBC 1000000F */ b .L7F0B6EFC -/* 0EB9F0 7F0B6EC0 E7AA0004 */ swc1 $f10, 4($sp) -.L7F0B6EC4: -/* 0EB9F4 7F0B6EC4 460C8382 */ mul.s $f14, $f16, $f12 -/* 0EB9F8 7F0B6EC8 C7A60000 */ lwc1 $f6, ($sp) -/* 0EB9FC 7F0B6ECC 4606703C */ c.lt.s $f14, $f6 -/* 0EBA00 7F0B6ED0 00000000 */ nop -/* 0EBA04 7F0B6ED4 45000003 */ bc1f .L7F0B6EE4 -/* 0EBA08 7F0B6ED8 00000000 */ nop -/* 0EBA0C 7F0B6EDC 1000004A */ b .L7F0B7008 -/* 0EBA10 7F0B6EE0 00001025 */ move $v0, $zero -.L7F0B6EE4: -/* 0EBA14 7F0B6EE4 46121202 */ mul.s $f8, $f2, $f18 -/* 0EBA18 7F0B6EE8 E7A00034 */ swc1 $f0, 0x34($sp) -/* 0EBA1C 7F0B6EEC E7AC0030 */ swc1 $f12, 0x30($sp) -/* 0EBA20 7F0B6EF0 E7AE0004 */ swc1 $f14, 4($sp) -/* 0EBA24 7F0B6EF4 E7A80000 */ swc1 $f8, ($sp) -/* 0EBA28 7F0B6EF8 C7A00000 */ lwc1 $f0, ($sp) -.L7F0B6EFC: -/* 0EBA2C 7F0B6EFC C7A40004 */ lwc1 $f4, 4($sp) -/* 0EBA30 7F0B6F00 44804000 */ mtc1 $zero, $f8 -/* 0EBA34 7F0B6F04 4600203C */ c.lt.s $f4, $f0 -/* 0EBA38 7F0B6F08 44802000 */ mtc1 $zero, $f4 -/* 0EBA3C 7F0B6F0C 45020005 */ bc1fl .L7F0B6F24 -/* 0EBA40 7F0B6F10 46001006 */ mov.s $f0, $f2 -/* 0EBA44 7F0B6F14 46008006 */ mov.s $f0, $f16 -/* 0EBA48 7F0B6F18 10000003 */ b .L7F0B6F28 -/* 0EBA4C 7F0B6F1C 46009386 */ mov.s $f14, $f18 -/* 0EBA50 7F0B6F20 46001006 */ mov.s $f0, $f2 -.L7F0B6F24: -/* 0EBA54 7F0B6F24 46006386 */ mov.s $f14, $f12 -.L7F0B6F28: -/* 0EBA58 7F0B6F28 C4A20008 */ lwc1 $f2, 8($a1) -/* 0EBA5C 7F0B6F2C C4900008 */ lwc1 $f16, 8($a0) -/* 0EBA60 7F0B6F30 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 0EBA64 7F0B6F34 4608103C */ c.lt.s $f2, $f8 -/* 0EBA68 7F0B6F38 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 0EBA6C 7F0B6F3C 46103481 */ sub.s $f18, $f6, $f16 -/* 0EBA70 7F0B6F40 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0EBA74 7F0B6F44 45000004 */ bc1f .L7F0B6F58 -/* 0EBA78 7F0B6F48 46105301 */ sub.s $f12, $f10, $f16 -/* 0EBA7C 7F0B6F4C 46001087 */ neg.s $f2, $f2 -/* 0EBA80 7F0B6F50 46009487 */ neg.s $f18, $f18 -/* 0EBA84 7F0B6F54 46006307 */ neg.s $f12, $f12 -.L7F0B6F58: -/* 0EBA88 7F0B6F58 4604903C */ c.lt.s $f18, $f4 -/* 0EBA8C 7F0B6F5C C7A80030 */ lwc1 $f8, 0x30($sp) -/* 0EBA90 7F0B6F60 4502000A */ bc1fl .L7F0B6F8C -/* 0EBA94 7F0B6F64 4612603C */ c.lt.s $f12, $f18 -/* 0EBA98 7F0B6F68 44805000 */ mtc1 $zero, $f10 -/* 0EBA9C 7F0B6F6C 00000000 */ nop -/* 0EBAA0 7F0B6F70 460A603C */ c.lt.s $f12, $f10 -/* 0EBAA4 7F0B6F74 00000000 */ nop -/* 0EBAA8 7F0B6F78 45020004 */ bc1fl .L7F0B6F8C -/* 0EBAAC 7F0B6F7C 4612603C */ c.lt.s $f12, $f18 -/* 0EBAB0 7F0B6F80 10000021 */ b .L7F0B7008 -/* 0EBAB4 7F0B6F84 00001025 */ move $v0, $zero -/* 0EBAB8 7F0B6F88 4612603C */ c.lt.s $f12, $f18 -.L7F0B6F8C: -/* 0EBABC 7F0B6F8C 00000000 */ nop -/* 0EBAC0 7F0B6F90 45000004 */ bc1f .L7F0B6FA4 -/* 0EBAC4 7F0B6F94 00000000 */ nop -/* 0EBAC8 7F0B6F98 46009406 */ mov.s $f16, $f18 -/* 0EBACC 7F0B6F9C 46006486 */ mov.s $f18, $f12 -/* 0EBAD0 7F0B6FA0 46008306 */ mov.s $f12, $f16 -.L7F0B6FA4: -/* 0EBAD4 7F0B6FA4 46023402 */ mul.s $f16, $f6, $f2 -/* 0EBAD8 7F0B6FA8 00000000 */ nop -/* 0EBADC 7F0B6FAC 46089102 */ mul.s $f4, $f18, $f8 -/* 0EBAE0 7F0B6FB0 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 0EBAE4 7F0B6FB4 4604803C */ c.lt.s $f16, $f4 -/* 0EBAE8 7F0B6FB8 00000000 */ nop -/* 0EBAEC 7F0B6FBC 4500000A */ bc1f .L7F0B6FE8 -/* 0EBAF0 7F0B6FC0 00000000 */ nop -/* 0EBAF4 7F0B6FC4 46020282 */ mul.s $f10, $f0, $f2 -/* 0EBAF8 7F0B6FC8 00000000 */ nop -/* 0EBAFC 7F0B6FCC 460E9182 */ mul.s $f6, $f18, $f14 -/* 0EBB00 7F0B6FD0 4606503C */ c.lt.s $f10, $f6 -/* 0EBB04 7F0B6FD4 00000000 */ nop -/* 0EBB08 7F0B6FD8 4500000A */ bc1f .L7F0B7004 -/* 0EBB0C 7F0B6FDC 00000000 */ nop -/* 0EBB10 7F0B6FE0 10000009 */ b .L7F0B7008 -/* 0EBB14 7F0B6FE4 00001025 */ move $v0, $zero -.L7F0B6FE8: -/* 0EBB18 7F0B6FE8 46086102 */ mul.s $f4, $f12, $f8 -/* 0EBB1C 7F0B6FEC 4610203C */ c.lt.s $f4, $f16 -/* 0EBB20 7F0B6FF0 00000000 */ nop -/* 0EBB24 7F0B6FF4 45020004 */ bc1fl .L7F0B7008 -/* 0EBB28 7F0B6FF8 24020001 */ li $v0, 1 -/* 0EBB2C 7F0B6FFC 10000002 */ b .L7F0B7008 -/* 0EBB30 7F0B7000 00001025 */ move $v0, $zero -.L7F0B7004: -/* 0EBB34 7F0B7004 24020001 */ li $v0, 1 -.L7F0B7008: -/* 0EBB38 7F0B7008 03E00008 */ jr $ra -/* 0EBB3C 7F0B700C 27BD0078 */ addiu $sp, $sp, 0x78 -) -#endif - - - - - -#ifdef NONMATCHING -?32 sub_GAME_7F0B7010(void *arg0, s32 arg1, ?32 arg2, void *arg3, s32 arg4, void *arg5) { - s32 sp54; - void *sp64; - s32 sp80; - s32 sp84; - s32 sp88; - s32 sp8C; - s32 sp90; - s32 sp94; - s32 sp9C; - s32 spA0; - s32 spA4; - ? spA8; - s32 spC8; - s32 spCC; - s32 spD0; - s32 spD4; - s32 spD8; - s32 spDC; - s32 spE4; - s32 spE8; - s32 spEC; - s32 spF0; - f32 spF8; - ?32 sp12C; - void *temp_t0; - void *temp_s3; - s32 temp_t2; - s32 temp_s1; - void *temp_a0; - void *temp_v1; - void *temp_v0; - void *temp_v0_4; - u32 temp_v0_5; - void *temp_a0_2; - void *temp_v1_2; - void *temp_v0_2; - void *temp_v0_6; - u32 temp_v0_7; - s32 temp_s5; - s32 temp_v0_3; - s32 phi_v0; - void *phi_s3; - void *phi_a0; - void *phi_v0_2; - void *phi_v0_3; - s16 phi_s0; - s32 phi_s5; - void *phi_a0_2; - void *phi_t0; - void *phi_v0_4; - void *phi_v0_5; - s16 phi_s0_2; - void *phi_t0_2; - - // Node 0 - temp_t0 = ((arg4 * 0x50) + &D_80041414); - temp_s3 = ((*arg3 * 8) + temp_t0->unk8); - spF0 = 0x7fffffff; - sp12C = 0; - temp_t2 = (temp_s3->unk1 & 0xf); - temp_s1 = ((temp_s3->unk4 & 0xffffff) + temp_t0->unk4); - if (temp_s3->unk8 != 4) - { - // Node 1 - if (temp_s3->unk8 != -0x48) - { - // Node 2 - sp64 = temp_t0; - phi_v0 = temp_s3->unk8; - phi_s3 = (temp_s3 + 8); - phi_t0_2 = &spA8; -loop_3: - // Node 3 - if (phi_v0 == -0x41) - { - // Node 4 - spD4 = (?32) D_80044868; - spD4.unk4 = (?32) D_80044868.unk4; - spD4.unk8 = (?32) D_80044868.unk8; - spC8 = (?32) D_80044874; - spC8.unk4 = (?32) D_80044874.unk4; - spC8.unk8 = (?32) D_80044874.unk8; - spE4 = (s32) (((s32) phi_s3->unk5 / 0xa) - temp_t2); - spE8 = (s32) (((s32) phi_s3->unk6 / 0xa) - temp_t2); - spEC = (s32) (((s32) phi_s3->unk7 / 0xa) - temp_t2); - sp54 = (s32) (arg4 * 0x18); - phi_a0 = &spE4; -loop_5: - // Node 5 - temp_a0 = (phi_a0 + 4); - temp_v1 = (temp_s1 + (*phi_a0 * 0x10)); - if (*temp_v1 < spD4) - { - // Node 6 - spD4 = (s32) *temp_v1; - } - // Node 7 - if (spC8 < *temp_v1) - { - // Node 8 - spC8 = (s32) *temp_v1; - } - // Node 9 - if (temp_v1->unk2 < spD8) - { - // Node 10 - spD8 = (s32) temp_v1->unk2; - } - // Node 11 - if (spCC < temp_v1->unk2) - { - // Node 12 - spCC = (s32) temp_v1->unk2; - } - // Node 13 - if (temp_v1->unk4 < spDC) - { - // Node 14 - spDC = (s32) temp_v1->unk4; - } - // Node 15 - if (spD0 < temp_v1->unk4) - { - // Node 16 - spD0 = (s32) temp_v1->unk4; - } - // Node 17 - phi_a0 = temp_a0; - if (temp_a0 != &spF0) - { - goto loop_5; - } - // Node 18 - temp_v0 = (ptr_bgdata_room_fileposition_list + sp54); - spD4 = (s32) (spD4 + (s32) temp_v0->unkC); - spD8 = (s32) (spD8 + (s32) temp_v0->unk10); - spDC = (s32) (spDC + (s32) temp_v0->unk14); - spC8 = (s32) (spC8 + (s32) temp_v0->unkC); - spCC = (s32) (spCC + (s32) temp_v0->unk10); - spD0 = (s32) (spD0 + (s32) temp_v0->unk14); - phi_t0_2 = &spA8; - if (sub_GAME_7F0B6CEC(arg0, arg2, &spD4, &spC8) != 0) - { - // Node 19 - phi_t0_2 = &spA8; - if (sub_GAME_7F092890((temp_s1 + (spE4 * 0x10)), (temp_s1 + (spE8 * 0x10)), (temp_s1 + (spEC * 0x10)), ((sp54 + ptr_bgdata_room_fileposition_list) + 0xc), arg0, arg1, arg2, &spF8) != 0) - { - // Node 20 - temp_v0_4 = phi_s3; - sp12C = 1; - phi_v0_3 = temp_v0_4; - if (0xfd != *phi_s3) - { - // Node 21 - phi_v0_2 = temp_v0_4; - phi_v0_3 = temp_v0_4; - if ((u32) sp64->unk8 < (u32) phi_s3) - { -loop_22: - // Node 22 - temp_v0_5 = (phi_v0_2 + -8); - phi_v0_3 = temp_v0_5; - if (0xfd != phi_v0_2->unk-8) - { - // Node 23 - phi_v0_2 = temp_v0_5; - phi_v0_3 = temp_v0_5; - if ((u32) sp64->unk8 < temp_v0_5) - { - goto loop_22; - } - } - } - } - // Node 24 - if (phi_v0_3 == sp64->unk8) - { - // Node 25 - phi_s0 = (u16)-1; - } - else - { - // Node 26 - phi_s0 = *((phi_v0_3->unk4 + -8) | 0x80000000); - } - // Node 27 - if (check_if_imageID_is_light(phi_s0, ((s32) sp100 - (s32) arg0->unk8), arg0) != 0) - { - // Node 28 - } - // Node 29 - phi_t0_2 = &spA8; - if (0x4fd != 0) - { - // Node 30 - phi_t0_2 = &spA8; - if (phi_s0 != 0x4fd) - { - // Node 31 - *arg5 = spF8; - arg5->unk4 = spFC; - arg5->unk8 = sp100; - arg5->unkC = sp104; - arg5->unk10 = sp108; - arg5->unk14 = sp10C; - arg5->unk18 = (s32) ((spE4 * 0x10) + temp_s1); - arg5->unk1C = (s32) ((spE8 * 0x10) + temp_s1); - arg5->unk2A = (s16) phi_s0; - arg5->unk24 = (void *) phi_s3; - arg5->unk20 = (s32) ((spEC * 0x10) + temp_s1); - arg5->unk28 = (u16)0; - phi_t0_2 = &spA8; - } - } - } - } - } - else - { - // Node 32 - phi_t0_2 = phi_t0_2; - if (phi_v0 == -0x4f) - { - // Node 33 - sp54 = (s32) (arg4 * 0x18); - phi_s5 = 0; - phi_t0 = phi_t0_2; -loop_34: - // Node 34 - sp8C = (?32) D_80044880; - sp8C.unk4 = (?32) D_80044880.unk4; - sp8C.unk8 = (?32) D_80044880.unk8; - sp80 = (?32) D_8004488C; - sp80.unk4 = (?32) D_8004488C.unk4; - sp80.unk8 = (?32) D_8004488C.unk8; - if (phi_s5 == 0) - { - // Node 35 - sp9C = (s32) ((phi_s3->unk4 & 0xf) - temp_t2); - spA0 = (s32) (((u32) phi_s3->unk7 >> 4) - temp_t2); - spA4 = (s32) ((*phi_s3 & 0xf) - temp_t2); - } - else - { - // Node 36 - if (phi_s5 == 1) - { - // Node 37 - sp9C = (s32) ((phi_s3->unk6 & 0xf) - temp_t2); - spA0 = (s32) (((u32) phi_s3->unk6 >> 0xc) - temp_t2); - spA4 = (s32) (((u32) phi_s3->unk3 >> 4) - temp_t2); - } - else - { - // Node 38 - if (phi_s5 == 2) - { - // Node 39 - sp9C = (s32) ((phi_s3->unk4 & 0xf) - temp_t2); - spA0 = (s32) (((u32) phi_s3->unk5 >> 4) - temp_t2); - spA4 = (s32) ((phi_s3->unk2 & 0xf) - temp_t2); - } - else - { - // Node 40 - sp9C = (s32) ((phi_s3->unk4 & 0xf) - temp_t2); - spA0 = (s32) (((u32) phi_s3->unk4 >> 0x1c) - temp_t2); - spA4 = (s32) (((u32) phi_s3->unk2 >> 0xc) - temp_t2); - } - } - } - // Node 41 - phi_a0_2 = &sp9C; -loop_42: - // Node 42 - temp_a0_2 = (phi_a0_2 + 4); - temp_v1_2 = (temp_s1 + (*phi_a0_2 * 0x10)); - if (*temp_v1_2 < sp8C) - { - // Node 43 - sp8C = (s32) *temp_v1_2; - } - // Node 44 - if (sp80 < *temp_v1_2) - { - // Node 45 - sp80 = (s32) *temp_v1_2; - } - // Node 46 - if (temp_v1_2->unk2 < sp90) - { - // Node 47 - sp90 = (s32) temp_v1_2->unk2; - } - // Node 48 - if (sp84 < temp_v1_2->unk2) - { - // Node 49 - sp84 = (s32) temp_v1_2->unk2; - } - // Node 50 - if (temp_v1_2->unk4 < sp94) - { - // Node 51 - sp94 = (s32) temp_v1_2->unk4; - } - // Node 52 - if (sp88 < temp_v1_2->unk4) - { - // Node 53 - sp88 = (s32) temp_v1_2->unk4; - } - // Node 54 - phi_a0_2 = temp_a0_2; - if (temp_a0_2 != phi_t0) - { - goto loop_42; - } - // Node 55 - temp_v0_2 = (ptr_bgdata_room_fileposition_list + sp54); - sp8C = (s32) (sp8C + (s32) temp_v0_2->unkC); - sp90 = (s32) (sp90 + (s32) temp_v0_2->unk10); - sp94 = (s32) (sp94 + (s32) temp_v0_2->unk14); - sp80 = (s32) (sp80 + (s32) temp_v0_2->unkC); - sp84 = (s32) (sp84 + (s32) temp_v0_2->unk10); - sp88 = (s32) (sp88 + (s32) temp_v0_2->unk14); - if (sub_GAME_7F0B6CEC(arg0, arg2, &sp8C, &sp80) != 0) - { - // Node 56 - if (sub_GAME_7F092890((temp_s1 + (sp9C * 0x10)), (temp_s1 + (spA0 * 0x10)), (temp_s1 + (spA4 * 0x10)), ((sp54 + ptr_bgdata_room_fileposition_list) + 0xc), arg0, arg1, arg2, &spF8) != 0) - { - // Node 57 - temp_v0_6 = phi_s3; - sp12C = 1; - phi_v0_5 = temp_v0_6; - if (0xfd != *phi_s3) - { - // Node 58 - phi_v0_4 = temp_v0_6; - phi_v0_5 = temp_v0_6; - if ((u32) sp64->unk8 < (u32) phi_s3) - { -loop_59: - // Node 59 - temp_v0_7 = (phi_v0_4 + -8); - phi_v0_5 = temp_v0_7; - if (0xfd != phi_v0_4->unk-8) - { - // Node 60 - phi_v0_4 = temp_v0_7; - phi_v0_5 = temp_v0_7; - if ((u32) sp64->unk8 < temp_v0_7) - { - goto loop_59; - } - } - } - } - // Node 61 - if (phi_v0_5 == sp64->unk8) - { - // Node 62 - phi_s0_2 = (u16)-1; - } - else - { - // Node 63 - phi_s0_2 = *((phi_v0_5->unk4 + -8) | 0x80000000); - } - // Node 64 - if (check_if_imageID_is_light(phi_s0_2, ((s32) sp100 - (s32) arg0->unk8), arg0) != 0) - { - // Node 65 - } - // Node 66 - if (0x4fd != 0) - { - // Node 67 - if (phi_s0_2 != 0x4fd) - { - // Node 68 - *arg5 = spF8; - arg5->unk4 = spFC; - arg5->unk8 = sp100; - arg5->unkC = sp104; - arg5->unk10 = sp108; - arg5->unk14 = sp10C; - arg5->unk18 = (s32) ((sp9C * 0x10) + temp_s1); - arg5->unk1C = (s32) ((spA0 * 0x10) + temp_s1); - arg5->unk2A = (s16) phi_s0_2; - arg5->unk24 = (void *) phi_s3; - arg5->unk20 = (s32) ((spA4 * 0x10) + temp_s1); - arg5->unk28 = (s16) (phi_s5 + 1); - } - } - } - } - // Node 69 - temp_s5 = (phi_s5 + 1); - phi_s5 = temp_s5; - phi_t0 = &spA8; - phi_t0_2 = &spA8; - if (temp_s5 != 4) - { - goto loop_34; - } - } - } - // Node 70 - temp_v0_3 = phi_s3->unk8; - if (temp_v0_3 != -0x48) - { - // Node 71 - phi_v0 = temp_v0_3; - phi_s3 = (phi_s3 + 8); - if (temp_v0_3 != -0x48) - { - goto loop_3; - } - } - } - } - // Node 72 - return sp12C; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B7010 -/* 0EBB40 7F0B7010 27BDFEC0 */ addiu $sp, $sp, -0x140 -/* 0EBB44 7F0B7014 8FAE0150 */ lw $t6, 0x150($sp) -/* 0EBB48 7F0B7018 3C188004 */ lui $t8, %hi(D_80041414) -/* 0EBB4C 7F0B701C AFBF004C */ sw $ra, 0x4c($sp) -/* 0EBB50 7F0B7020 000E7880 */ sll $t7, $t6, 2 -/* 0EBB54 7F0B7024 01EE7821 */ addu $t7, $t7, $t6 -/* 0EBB58 7F0B7028 AFBE0048 */ sw $fp, 0x48($sp) -/* 0EBB5C 7F0B702C AFB70044 */ sw $s7, 0x44($sp) -/* 0EBB60 7F0B7030 AFB60040 */ sw $s6, 0x40($sp) -/* 0EBB64 7F0B7034 AFB5003C */ sw $s5, 0x3c($sp) -/* 0EBB68 7F0B7038 AFB40038 */ sw $s4, 0x38($sp) -/* 0EBB6C 7F0B703C AFB30034 */ sw $s3, 0x34($sp) -/* 0EBB70 7F0B7040 AFB20030 */ sw $s2, 0x30($sp) -/* 0EBB74 7F0B7044 AFB1002C */ sw $s1, 0x2c($sp) -/* 0EBB78 7F0B7048 AFB00028 */ sw $s0, 0x28($sp) -/* 0EBB7C 7F0B704C AFA40140 */ sw $a0, 0x140($sp) -/* 0EBB80 7F0B7050 AFA50144 */ sw $a1, 0x144($sp) -/* 0EBB84 7F0B7054 AFA60148 */ sw $a2, 0x148($sp) -/* 0EBB88 7F0B7058 000F7900 */ sll $t7, $t7, 4 -/* 0EBB8C 7F0B705C 27181414 */ addiu $t8, %lo(D_80041414) # addiu $t8, $t8, 0x1414 -/* 0EBB90 7F0B7060 84F90000 */ lh $t9, ($a3) -/* 0EBB94 7F0B7064 01F84021 */ addu $t0, $t7, $t8 -/* 0EBB98 7F0B7068 8D130008 */ lw $s3, 8($t0) -/* 0EBB9C 7F0B706C 001948C0 */ sll $t1, $t9, 3 -/* 0EBBA0 7F0B7070 3C0D7FFF */ lui $t5, (0x7FFFFFFF >> 16) # lui $t5, 0x7fff -/* 0EBBA4 7F0B7074 01339821 */ addu $s3, $t1, $s3 -/* 0EBBA8 7F0B7078 8E6B0004 */ lw $t3, 4($s3) -/* 0EBBAC 7F0B707C 92770001 */ lbu $s7, 1($s3) -/* 0EBBB0 7F0B7080 35ADFFFF */ ori $t5, (0x7FFFFFFF & 0xFFFF) # ori $t5, $t5, 0xffff -/* 0EBBB4 7F0B7084 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0EBBB8 7F0B7088 AFAD00F0 */ sw $t5, 0xf0($sp) -/* 0EBBBC 7F0B708C AFA0012C */ sw $zero, 0x12c($sp) -/* 0EBBC0 7F0B7090 82620008 */ lb $v0, 8($s3) -/* 0EBBC4 7F0B7094 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0EBBC8 7F0B7098 8D030004 */ lw $v1, 4($t0) -/* 0EBBCC 7F0B709C 01616024 */ and $t4, $t3, $at -/* 0EBBD0 7F0B70A0 24010004 */ li $at, 4 -/* 0EBBD4 7F0B70A4 32EA000F */ andi $t2, $s7, 0xf -/* 0EBBD8 7F0B70A8 0140B825 */ move $s7, $t2 -/* 0EBBDC 7F0B70AC 26730008 */ addiu $s3, $s3, 8 -/* 0EBBE0 7F0B70B0 10410264 */ beq $v0, $at, .L7F0B7A44 -/* 0EBBE4 7F0B70B4 01838821 */ addu $s1, $t4, $v1 -/* 0EBBE8 7F0B70B8 2401FFB8 */ li $at, -72 -/* 0EBBEC 7F0B70BC 10410261 */ beq $v0, $at, .L7F0B7A44 -/* 0EBBF0 7F0B70C0 241600FD */ li $s6, 253 -/* 0EBBF4 7F0B70C4 AFA80064 */ sw $t0, 0x64($sp) -/* 0EBBF8 7F0B70C8 27A800A8 */ addiu $t0, $sp, 0xa8 -/* 0EBBFC 7F0B70CC 8FB40154 */ lw $s4, 0x154($sp) -/* 0EBC00 7F0B70D0 2401FFBF */ li $at, -65 -.L7F0B70D4: -/* 0EBC04 7F0B70D4 1441011F */ bne $v0, $at, .L7F0B7554 -/* 0EBC08 7F0B70D8 3C0E8004 */ lui $t6, %hi(D_80044868) -/* 0EBC0C 7F0B70DC 25CE4868 */ addiu $t6, %lo(D_80044868) # addiu $t6, $t6, 0x4868 -/* 0EBC10 7F0B70E0 8DC10000 */ lw $at, ($t6) -/* 0EBC14 7F0B70E4 27A600D4 */ addiu $a2, $sp, 0xd4 -/* 0EBC18 7F0B70E8 3C198004 */ lui $t9, %hi(D_80044874) -/* 0EBC1C 7F0B70EC ACC10000 */ sw $at, ($a2) -/* 0EBC20 7F0B70F0 8DD80004 */ lw $t8, 4($t6) -/* 0EBC24 7F0B70F4 27394874 */ addiu $t9, %lo(D_80044874) # addiu $t9, $t9, 0x4874 -/* 0EBC28 7F0B70F8 27A700C8 */ addiu $a3, $sp, 0xc8 -/* 0EBC2C 7F0B70FC ACD80004 */ sw $t8, 4($a2) -/* 0EBC30 7F0B7100 8DC10008 */ lw $at, 8($t6) -/* 0EBC34 7F0B7104 2405000A */ li $a1, 10 -/* 0EBC38 7F0B7108 00001025 */ move $v0, $zero -/* 0EBC3C 7F0B710C ACC10008 */ sw $at, 8($a2) -/* 0EBC40 7F0B7110 8F210000 */ lw $at, ($t9) -/* 0EBC44 7F0B7114 27A400E4 */ addiu $a0, $sp, 0xe4 -/* 0EBC48 7F0B7118 ACE10000 */ sw $at, ($a3) -/* 0EBC4C 7F0B711C 8F2A0004 */ lw $t2, 4($t9) -/* 0EBC50 7F0B7120 ACEA0004 */ sw $t2, 4($a3) -/* 0EBC54 7F0B7124 8F210008 */ lw $at, 8($t9) -/* 0EBC58 7F0B7128 ACE10008 */ sw $at, 8($a3) -/* 0EBC5C 7F0B712C 926B0005 */ lbu $t3, 5($s3) -/* 0EBC60 7F0B7130 0165001A */ div $zero, $t3, $a1 -/* 0EBC64 7F0B7134 00006012 */ mflo $t4 -/* 0EBC68 7F0B7138 01976823 */ subu $t5, $t4, $s7 -/* 0EBC6C 7F0B713C AFAD00E4 */ sw $t5, 0xe4($sp) -/* 0EBC70 7F0B7140 926F0006 */ lbu $t7, 6($s3) -/* 0EBC74 7F0B7144 14A00002 */ bnez $a1, .L7F0B7150 -/* 0EBC78 7F0B7148 00000000 */ nop -/* 0EBC7C 7F0B714C 0007000D */ break 7 -.L7F0B7150: -/* 0EBC80 7F0B7150 2401FFFF */ li $at, -1 -/* 0EBC84 7F0B7154 14A10004 */ bne $a1, $at, .L7F0B7168 -/* 0EBC88 7F0B7158 3C018000 */ lui $at, 0x8000 -/* 0EBC8C 7F0B715C 15610002 */ bne $t3, $at, .L7F0B7168 -/* 0EBC90 7F0B7160 00000000 */ nop -/* 0EBC94 7F0B7164 0006000D */ break 6 -.L7F0B7168: -/* 0EBC98 7F0B7168 01E5001A */ div $zero, $t7, $a1 -/* 0EBC9C 7F0B716C 00007012 */ mflo $t6 -/* 0EBCA0 7F0B7170 01D7C023 */ subu $t8, $t6, $s7 -/* 0EBCA4 7F0B7174 AFB800E8 */ sw $t8, 0xe8($sp) -/* 0EBCA8 7F0B7178 92690007 */ lbu $t1, 7($s3) -/* 0EBCAC 7F0B717C 14A00002 */ bnez $a1, .L7F0B7188 -/* 0EBCB0 7F0B7180 00000000 */ nop -/* 0EBCB4 7F0B7184 0007000D */ break 7 -.L7F0B7188: -/* 0EBCB8 7F0B7188 2401FFFF */ li $at, -1 -/* 0EBCBC 7F0B718C 14A10004 */ bne $a1, $at, .L7F0B71A0 -/* 0EBCC0 7F0B7190 3C018000 */ lui $at, 0x8000 -/* 0EBCC4 7F0B7194 15E10002 */ bne $t7, $at, .L7F0B71A0 -/* 0EBCC8 7F0B7198 00000000 */ nop -/* 0EBCCC 7F0B719C 0006000D */ break 6 -.L7F0B71A0: -/* 0EBCD0 7F0B71A0 0125001A */ div $zero, $t1, $a1 -/* 0EBCD4 7F0B71A4 8FAB0150 */ lw $t3, 0x150($sp) -/* 0EBCD8 7F0B71A8 0000C812 */ mflo $t9 -/* 0EBCDC 7F0B71AC 03375023 */ subu $t2, $t9, $s7 -/* 0EBCE0 7F0B71B0 000B6080 */ sll $t4, $t3, 2 -/* 0EBCE4 7F0B71B4 018B6023 */ subu $t4, $t4, $t3 -/* 0EBCE8 7F0B71B8 000C60C0 */ sll $t4, $t4, 3 -/* 0EBCEC 7F0B71BC AFAA00EC */ sw $t2, 0xec($sp) -/* 0EBCF0 7F0B71C0 AFAC0054 */ sw $t4, 0x54($sp) -/* 0EBCF4 7F0B71C4 14A00002 */ bnez $a1, .L7F0B71D0 -/* 0EBCF8 7F0B71C8 00000000 */ nop -/* 0EBCFC 7F0B71CC 0007000D */ break 7 -.L7F0B71D0: -/* 0EBD00 7F0B71D0 2401FFFF */ li $at, -1 -/* 0EBD04 7F0B71D4 14A10004 */ bne $a1, $at, .L7F0B71E8 -/* 0EBD08 7F0B71D8 3C018000 */ lui $at, 0x8000 -/* 0EBD0C 7F0B71DC 15210002 */ bne $t1, $at, .L7F0B71E8 -/* 0EBD10 7F0B71E0 00000000 */ nop -/* 0EBD14 7F0B71E4 0006000D */ break 6 -.L7F0B71E8: -/* 0EBD18 7F0B71E8 8C8D0000 */ lw $t5, ($a0) -.L7F0B71EC: -/* 0EBD1C 7F0B71EC 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0EBD20 7F0B71F0 24840004 */ addiu $a0, $a0, 4 -/* 0EBD24 7F0B71F4 000D7900 */ sll $t7, $t5, 4 -/* 0EBD28 7F0B71F8 022F1821 */ addu $v1, $s1, $t7 -/* 0EBD2C 7F0B71FC 84620000 */ lh $v0, ($v1) -/* 0EBD30 7F0B7200 27AC00F0 */ addiu $t4, $sp, 0xf0 -/* 0EBD34 7F0B7204 004E082A */ slt $at, $v0, $t6 -/* 0EBD38 7F0B7208 50200004 */ beql $at, $zero, .L7F0B721C -/* 0EBD3C 7F0B720C 8FB800C8 */ lw $t8, 0xc8($sp) -/* 0EBD40 7F0B7210 AFA200D4 */ sw $v0, 0xd4($sp) -/* 0EBD44 7F0B7214 84620000 */ lh $v0, ($v1) -/* 0EBD48 7F0B7218 8FB800C8 */ lw $t8, 0xc8($sp) -.L7F0B721C: -/* 0EBD4C 7F0B721C 0302082A */ slt $at, $t8, $v0 -/* 0EBD50 7F0B7220 50200003 */ beql $at, $zero, .L7F0B7230 -/* 0EBD54 7F0B7224 84620002 */ lh $v0, 2($v1) -/* 0EBD58 7F0B7228 AFA200C8 */ sw $v0, 0xc8($sp) -/* 0EBD5C 7F0B722C 84620002 */ lh $v0, 2($v1) -.L7F0B7230: -/* 0EBD60 7F0B7230 8FA900D8 */ lw $t1, 0xd8($sp) -/* 0EBD64 7F0B7234 0049082A */ slt $at, $v0, $t1 -/* 0EBD68 7F0B7238 50200004 */ beql $at, $zero, .L7F0B724C -/* 0EBD6C 7F0B723C 8FB900CC */ lw $t9, 0xcc($sp) -/* 0EBD70 7F0B7240 AFA200D8 */ sw $v0, 0xd8($sp) -/* 0EBD74 7F0B7244 84620002 */ lh $v0, 2($v1) -/* 0EBD78 7F0B7248 8FB900CC */ lw $t9, 0xcc($sp) -.L7F0B724C: -/* 0EBD7C 7F0B724C 0322082A */ slt $at, $t9, $v0 -/* 0EBD80 7F0B7250 50200003 */ beql $at, $zero, .L7F0B7260 -/* 0EBD84 7F0B7254 84620004 */ lh $v0, 4($v1) -/* 0EBD88 7F0B7258 AFA200CC */ sw $v0, 0xcc($sp) -/* 0EBD8C 7F0B725C 84620004 */ lh $v0, 4($v1) -.L7F0B7260: -/* 0EBD90 7F0B7260 8FAA00DC */ lw $t2, 0xdc($sp) -/* 0EBD94 7F0B7264 004A082A */ slt $at, $v0, $t2 -/* 0EBD98 7F0B7268 50200004 */ beql $at, $zero, .L7F0B727C -/* 0EBD9C 7F0B726C 8FAB00D0 */ lw $t3, 0xd0($sp) -/* 0EBDA0 7F0B7270 AFA200DC */ sw $v0, 0xdc($sp) -/* 0EBDA4 7F0B7274 84620004 */ lh $v0, 4($v1) -/* 0EBDA8 7F0B7278 8FAB00D0 */ lw $t3, 0xd0($sp) -.L7F0B727C: -/* 0EBDAC 7F0B727C 0162082A */ slt $at, $t3, $v0 -/* 0EBDB0 7F0B7280 10200002 */ beqz $at, .L7F0B728C -/* 0EBDB4 7F0B7284 00000000 */ nop -/* 0EBDB8 7F0B7288 AFA200D0 */ sw $v0, 0xd0($sp) -.L7F0B728C: -/* 0EBDBC 7F0B728C 548CFFD7 */ bnel $a0, $t4, .L7F0B71EC -/* 0EBDC0 7F0B7290 8C8D0000 */ lw $t5, ($a0) -/* 0EBDC4 7F0B7294 3C0D8008 */ lui $t5, %hi(ptr_bgdata_room_fileposition_list) -/* 0EBDC8 7F0B7298 8DADFF8C */ lw $t5, %lo(ptr_bgdata_room_fileposition_list)($t5) -/* 0EBDCC 7F0B729C 8FAF0054 */ lw $t7, 0x54($sp) -/* 0EBDD0 7F0B72A0 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0EBDD4 7F0B72A4 8FAA00D8 */ lw $t2, 0xd8($sp) -/* 0EBDD8 7F0B72A8 01AF1021 */ addu $v0, $t5, $t7 -/* 0EBDDC 7F0B72AC C444000C */ lwc1 $f4, 0xc($v0) -/* 0EBDE0 7F0B72B0 8FAF00DC */ lw $t7, 0xdc($sp) -/* 0EBDE4 7F0B72B4 8FA40140 */ lw $a0, 0x140($sp) -/* 0EBDE8 7F0B72B8 4600218D */ trunc.w.s $f6, $f4 -/* 0EBDEC 7F0B72BC 8FA50148 */ lw $a1, 0x148($sp) -/* 0EBDF0 7F0B72C0 44093000 */ mfc1 $t1, $f6 -/* 0EBDF4 7F0B72C4 00000000 */ nop -/* 0EBDF8 7F0B72C8 01C9C821 */ addu $t9, $t6, $t1 -/* 0EBDFC 7F0B72CC AFB900D4 */ sw $t9, 0xd4($sp) -/* 0EBE00 7F0B72D0 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0EBE04 7F0B72D4 8FB900C8 */ lw $t9, 0xc8($sp) -/* 0EBE08 7F0B72D8 4600428D */ trunc.w.s $f10, $f8 -/* 0EBE0C 7F0B72DC 440C5000 */ mfc1 $t4, $f10 -/* 0EBE10 7F0B72E0 00000000 */ nop -/* 0EBE14 7F0B72E4 014C6821 */ addu $t5, $t2, $t4 -/* 0EBE18 7F0B72E8 AFAD00D8 */ sw $t5, 0xd8($sp) -/* 0EBE1C 7F0B72EC C4500014 */ lwc1 $f16, 0x14($v0) -/* 0EBE20 7F0B72F0 8FAD00CC */ lw $t5, 0xcc($sp) -/* 0EBE24 7F0B72F4 4600848D */ trunc.w.s $f18, $f16 -/* 0EBE28 7F0B72F8 440E9000 */ mfc1 $t6, $f18 -/* 0EBE2C 7F0B72FC 00000000 */ nop -/* 0EBE30 7F0B7300 01EE4821 */ addu $t1, $t7, $t6 -/* 0EBE34 7F0B7304 AFA900DC */ sw $t1, 0xdc($sp) -/* 0EBE38 7F0B7308 C444000C */ lwc1 $f4, 0xc($v0) -/* 0EBE3C 7F0B730C 8FA900D0 */ lw $t1, 0xd0($sp) -/* 0EBE40 7F0B7310 4600218D */ trunc.w.s $f6, $f4 -/* 0EBE44 7F0B7314 440A3000 */ mfc1 $t2, $f6 -/* 0EBE48 7F0B7318 00000000 */ nop -/* 0EBE4C 7F0B731C 032A6021 */ addu $t4, $t9, $t2 -/* 0EBE50 7F0B7320 AFAC00C8 */ sw $t4, 0xc8($sp) -/* 0EBE54 7F0B7324 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0EBE58 7F0B7328 4600428D */ trunc.w.s $f10, $f8 -/* 0EBE5C 7F0B732C 440F5000 */ mfc1 $t7, $f10 -/* 0EBE60 7F0B7330 00000000 */ nop -/* 0EBE64 7F0B7334 01AF7021 */ addu $t6, $t5, $t7 -/* 0EBE68 7F0B7338 AFAE00CC */ sw $t6, 0xcc($sp) -/* 0EBE6C 7F0B733C C4500014 */ lwc1 $f16, 0x14($v0) -/* 0EBE70 7F0B7340 4600848D */ trunc.w.s $f18, $f16 -/* 0EBE74 7F0B7344 44199000 */ mfc1 $t9, $f18 -/* 0EBE78 7F0B7348 00000000 */ nop -/* 0EBE7C 7F0B734C 01395021 */ addu $t2, $t1, $t9 -/* 0EBE80 7F0B7350 0FC2DB3B */ jal sub_GAME_7F0B6CEC -/* 0EBE84 7F0B7354 AFAA00D0 */ sw $t2, 0xd0($sp) -/* 0EBE88 7F0B7358 104001B3 */ beqz $v0, .L7F0B7A28 -/* 0EBE8C 7F0B735C 27A800A8 */ addiu $t0, $sp, 0xa8 -/* 0EBE90 7F0B7360 8FAC00E4 */ lw $t4, 0xe4($sp) -/* 0EBE94 7F0B7364 8FAD00E8 */ lw $t5, 0xe8($sp) -/* 0EBE98 7F0B7368 3C198008 */ lui $t9, %hi(ptr_bgdata_room_fileposition_list) -/* 0EBE9C 7F0B736C 000CC100 */ sll $t8, $t4, 4 -/* 0EBEA0 7F0B7370 8F39FF8C */ lw $t9, %lo(ptr_bgdata_room_fileposition_list)($t9) -/* 0EBEA4 7F0B7374 8FAE00EC */ lw $t6, 0xec($sp) -/* 0EBEA8 7F0B7378 8FA90054 */ lw $t1, 0x54($sp) -/* 0EBEAC 7F0B737C 02382021 */ addu $a0, $s1, $t8 -/* 0EBEB0 7F0B7380 8FB80148 */ lw $t8, 0x148($sp) -/* 0EBEB4 7F0B7384 8FAC0144 */ lw $t4, 0x144($sp) -/* 0EBEB8 7F0B7388 8FAA0140 */ lw $t2, 0x140($sp) -/* 0EBEBC 7F0B738C 000D7900 */ sll $t7, $t5, 4 -/* 0EBEC0 7F0B7390 27AD00F8 */ addiu $t5, $sp, 0xf8 -/* 0EBEC4 7F0B7394 000E5900 */ sll $t3, $t6, 4 -/* 0EBEC8 7F0B7398 01393821 */ addu $a3, $t1, $t9 -/* 0EBECC 7F0B739C 24E7000C */ addiu $a3, $a3, 0xc -/* 0EBED0 7F0B73A0 022B3021 */ addu $a2, $s1, $t3 -/* 0EBED4 7F0B73A4 AFAD001C */ sw $t5, 0x1c($sp) -/* 0EBED8 7F0B73A8 022F2821 */ addu $a1, $s1, $t7 -/* 0EBEDC 7F0B73AC AFB80018 */ sw $t8, 0x18($sp) -/* 0EBEE0 7F0B73B0 AFAC0014 */ sw $t4, 0x14($sp) -/* 0EBEE4 7F0B73B4 0FC24A24 */ jal sub_GAME_7F092890 -/* 0EBEE8 7F0B73B8 AFAA0010 */ sw $t2, 0x10($sp) -/* 0EBEEC 7F0B73BC 1040019A */ beqz $v0, .L7F0B7A28 -/* 0EBEF0 7F0B73C0 27A800A8 */ addiu $t0, $sp, 0xa8 -/* 0EBEF4 7F0B73C4 8FA60140 */ lw $a2, 0x140($sp) -/* 0EBEF8 7F0B73C8 C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 0EBEFC 7F0B73CC C7B000FC */ lwc1 $f16, 0xfc($sp) -/* 0EBF00 7F0B73D0 C4C80000 */ lwc1 $f8, ($a2) -/* 0EBF04 7F0B73D4 4600218D */ trunc.w.s $f6, $f4 -/* 0EBF08 7F0B73D8 C4C40004 */ lwc1 $f4, 4($a2) -/* 0EBF0C 7F0B73DC 02601025 */ move $v0, $s3 -/* 0EBF10 7F0B73E0 4600428D */ trunc.w.s $f10, $f8 -/* 0EBF14 7F0B73E4 440E3000 */ mfc1 $t6, $f6 -/* 0EBF18 7F0B73E8 C7A80100 */ lwc1 $f8, 0x100($sp) -/* 0EBF1C 7F0B73EC 4600848D */ trunc.w.s $f18, $f16 -/* 0EBF20 7F0B73F0 44095000 */ mfc1 $t1, $f10 -/* 0EBF24 7F0B73F4 C4D00008 */ lwc1 $f16, 8($a2) -/* 0EBF28 7F0B73F8 4600218D */ trunc.w.s $f6, $f4 -/* 0EBF2C 7F0B73FC 01C91823 */ subu $v1, $t6, $t1 -/* 0EBF30 7F0B7400 00630019 */ multu $v1, $v1 -/* 0EBF34 7F0B7404 440A9000 */ mfc1 $t2, $f18 -/* 0EBF38 7F0B7408 44183000 */ mfc1 $t8, $f6 -/* 0EBF3C 7F0B740C 4600428D */ trunc.w.s $f10, $f8 -/* 0EBF40 7F0B7410 8FAB0064 */ lw $t3, 0x64($sp) -/* 0EBF44 7F0B7414 01582023 */ subu $a0, $t2, $t8 -/* 0EBF48 7F0B7418 4600848D */ trunc.w.s $f18, $f16 -/* 0EBF4C 7F0B741C 440F5000 */ mfc1 $t7, $f10 -/* 0EBF50 7F0B7420 24180001 */ li $t8, 1 -/* 0EBF54 7F0B7424 AFB8012C */ sw $t8, 0x12c($sp) -/* 0EBF58 7F0B7428 00004812 */ mflo $t1 -/* 0EBF5C 7F0B742C 440E9000 */ mfc1 $t6, $f18 -/* 0EBF60 7F0B7430 926D0000 */ lbu $t5, ($s3) -/* 0EBF64 7F0B7434 00840019 */ multu $a0, $a0 -/* 0EBF68 7F0B7438 01EE2823 */ subu $a1, $t7, $t6 -/* 0EBF6C 7F0B743C 8FAE0064 */ lw $t6, 0x64($sp) -/* 0EBF70 7F0B7440 0000C812 */ mflo $t9 -/* 0EBF74 7F0B7444 01396021 */ addu $t4, $t1, $t9 -/* 0EBF78 7F0B7448 00000000 */ nop -/* 0EBF7C 7F0B744C 00A50019 */ multu $a1, $a1 -/* 0EBF80 7F0B7450 00005012 */ mflo $t2 -/* 0EBF84 7F0B7454 018A9021 */ addu $s2, $t4, $t2 -/* 0EBF88 7F0B7458 12CD000C */ beq $s6, $t5, .L7F0B748C -/* 0EBF8C 7F0B745C 0240F025 */ move $fp, $s2 -/* 0EBF90 7F0B7460 8D630008 */ lw $v1, 8($t3) -/* 0EBF94 7F0B7464 0073082B */ sltu $at, $v1, $s3 -/* 0EBF98 7F0B7468 50200009 */ beql $at, $zero, .L7F0B7490 -/* 0EBF9C 7F0B746C 8DC90008 */ lw $t1, 8($t6) -/* 0EBFA0 7F0B7470 904FFFF8 */ lbu $t7, -8($v0) -.L7F0B7474: -/* 0EBFA4 7F0B7474 2442FFF8 */ addiu $v0, $v0, -8 -/* 0EBFA8 7F0B7478 0062082B */ sltu $at, $v1, $v0 -/* 0EBFAC 7F0B747C 52CF0004 */ beql $s6, $t7, .L7F0B7490 -/* 0EBFB0 7F0B7480 8DC90008 */ lw $t1, 8($t6) -/* 0EBFB4 7F0B7484 5420FFFB */ bnezl $at, .L7F0B7474 -/* 0EBFB8 7F0B7488 904FFFF8 */ lbu $t7, -8($v0) -.L7F0B748C: -/* 0EBFBC 7F0B748C 8DC90008 */ lw $t1, 8($t6) -.L7F0B7490: -/* 0EBFC0 7F0B7490 54490004 */ bnel $v0, $t1, .L7F0B74A4 -/* 0EBFC4 7F0B7494 8C430004 */ lw $v1, 4($v0) -/* 0EBFC8 7F0B7498 10000006 */ b .L7F0B74B4 -/* 0EBFCC 7F0B749C 2410FFFF */ li $s0, -1 -/* 0EBFD0 7F0B74A0 8C430004 */ lw $v1, 4($v0) -.L7F0B74A4: -/* 0EBFD4 7F0B74A4 3C018000 */ lui $at, 0x8000 -/* 0EBFD8 7F0B74A8 2463FFF8 */ addiu $v1, $v1, -8 -/* 0EBFDC 7F0B74AC 0061C825 */ or $t9, $v1, $at -/* 0EBFE0 7F0B74B0 97300000 */ lhu $s0, ($t9) -.L7F0B74B4: -/* 0EBFE4 7F0B74B4 0FC2ED8C */ jal check_if_imageID_is_light -/* 0EBFE8 7F0B74B8 02002025 */ move $a0, $s0 -/* 0EBFEC 7F0B74BC 10400002 */ beqz $v0, .L7F0B74C8 -/* 0EBFF0 7F0B74C0 27A800A8 */ addiu $t0, $sp, 0xa8 -/* 0EBFF4 7F0B74C4 265EFFFC */ addiu $fp, $s2, -4 -.L7F0B74C8: -/* 0EBFF8 7F0B74C8 8FAC00F0 */ lw $t4, 0xf0($sp) -/* 0EBFFC 7F0B74CC 03CC082A */ slt $at, $fp, $t4 -/* 0EC000 7F0B74D0 10200155 */ beqz $at, .L7F0B7A28 -/* 0EC004 7F0B74D4 240104FD */ li $at, 1277 -/* 0EC008 7F0B74D8 52010154 */ beql $s0, $at, .L7F0B7A2C -/* 0EC00C 7F0B74DC 82620008 */ lb $v0, 8($s3) -/* 0EC010 7F0B74E0 C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 0EC014 7F0B74E4 AFBE00F0 */ sw $fp, 0xf0($sp) -/* 0EC018 7F0B74E8 E6840000 */ swc1 $f4, ($s4) -/* 0EC01C 7F0B74EC C7A600FC */ lwc1 $f6, 0xfc($sp) -/* 0EC020 7F0B74F0 E6860004 */ swc1 $f6, 4($s4) -/* 0EC024 7F0B74F4 C7A80100 */ lwc1 $f8, 0x100($sp) -/* 0EC028 7F0B74F8 E6880008 */ swc1 $f8, 8($s4) -/* 0EC02C 7F0B74FC C7AA0104 */ lwc1 $f10, 0x104($sp) -/* 0EC030 7F0B7500 E68A000C */ swc1 $f10, 0xc($s4) -/* 0EC034 7F0B7504 C7B00108 */ lwc1 $f16, 0x108($sp) -/* 0EC038 7F0B7508 E6900010 */ swc1 $f16, 0x10($s4) -/* 0EC03C 7F0B750C C7B2010C */ lwc1 $f18, 0x10c($sp) -/* 0EC040 7F0B7510 E6920014 */ swc1 $f18, 0x14($s4) -/* 0EC044 7F0B7514 8FAA00E4 */ lw $t2, 0xe4($sp) -/* 0EC048 7F0B7518 000AC100 */ sll $t8, $t2, 4 -/* 0EC04C 7F0B751C 03116821 */ addu $t5, $t8, $s1 -/* 0EC050 7F0B7520 AE8D0018 */ sw $t5, 0x18($s4) -/* 0EC054 7F0B7524 8FAB00E8 */ lw $t3, 0xe8($sp) -/* 0EC058 7F0B7528 000B7900 */ sll $t7, $t3, 4 -/* 0EC05C 7F0B752C 01F17021 */ addu $t6, $t7, $s1 -/* 0EC060 7F0B7530 AE8E001C */ sw $t6, 0x1c($s4) -/* 0EC064 7F0B7534 8FA900EC */ lw $t1, 0xec($sp) -/* 0EC068 7F0B7538 A690002A */ sh $s0, 0x2a($s4) -/* 0EC06C 7F0B753C AE930024 */ sw $s3, 0x24($s4) -/* 0EC070 7F0B7540 0009C900 */ sll $t9, $t1, 4 -/* 0EC074 7F0B7544 03316021 */ addu $t4, $t9, $s1 -/* 0EC078 7F0B7548 AE8C0020 */ sw $t4, 0x20($s4) -/* 0EC07C 7F0B754C 10000136 */ b .L7F0B7A28 -/* 0EC080 7F0B7550 A6800028 */ sh $zero, 0x28($s4) -.L7F0B7554: -/* 0EC084 7F0B7554 2401FFB1 */ li $at, -79 -/* 0EC088 7F0B7558 14410133 */ bne $v0, $at, .L7F0B7A28 -/* 0EC08C 7F0B755C 8FAA0150 */ lw $t2, 0x150($sp) -/* 0EC090 7F0B7560 000AC080 */ sll $t8, $t2, 2 -/* 0EC094 7F0B7564 030AC023 */ subu $t8, $t8, $t2 -/* 0EC098 7F0B7568 0018C0C0 */ sll $t8, $t8, 3 -/* 0EC09C 7F0B756C AFB80054 */ sw $t8, 0x54($sp) -/* 0EC0A0 7F0B7570 0000A825 */ move $s5, $zero -.L7F0B7574: -/* 0EC0A4 7F0B7574 3C0B8004 */ lui $t3, %hi(D_80044880) -/* 0EC0A8 7F0B7578 256B4880 */ addiu $t3, %lo(D_80044880) # addiu $t3, $t3, 0x4880 -/* 0EC0AC 7F0B757C 8D610000 */ lw $at, ($t3) -/* 0EC0B0 7F0B7580 27AD008C */ addiu $t5, $sp, 0x8c -/* 0EC0B4 7F0B7584 8D690004 */ lw $t1, 4($t3) -/* 0EC0B8 7F0B7588 ADA10000 */ sw $at, ($t5) -/* 0EC0BC 7F0B758C 8D610008 */ lw $at, 8($t3) -/* 0EC0C0 7F0B7590 3C0C8004 */ lui $t4, %hi(D_8004488C) -/* 0EC0C4 7F0B7594 258C488C */ addiu $t4, %lo(D_8004488C) # addiu $t4, $t4, 0x488c -/* 0EC0C8 7F0B7598 ADA90004 */ sw $t1, 4($t5) -/* 0EC0CC 7F0B759C ADA10008 */ sw $at, 8($t5) -/* 0EC0D0 7F0B75A0 8D810000 */ lw $at, ($t4) -/* 0EC0D4 7F0B75A4 27B90080 */ addiu $t9, $sp, 0x80 -/* 0EC0D8 7F0B75A8 8D8E0004 */ lw $t6, 4($t4) -/* 0EC0DC 7F0B75AC AF210000 */ sw $at, ($t9) -/* 0EC0E0 7F0B75B0 8D810008 */ lw $at, 8($t4) -/* 0EC0E4 7F0B75B4 AF2E0004 */ sw $t6, 4($t9) -/* 0EC0E8 7F0B75B8 16A0000E */ bnez $s5, .L7F0B75F4 -/* 0EC0EC 7F0B75BC AF210008 */ sw $at, 8($t9) -/* 0EC0F0 7F0B75C0 8E6F0004 */ lw $t7, 4($s3) -/* 0EC0F4 7F0B75C4 31ED000F */ andi $t5, $t7, 0xf -/* 0EC0F8 7F0B75C8 01B75823 */ subu $t3, $t5, $s7 -/* 0EC0FC 7F0B75CC AFAB009C */ sw $t3, 0x9c($sp) -/* 0EC100 7F0B75D0 92690007 */ lbu $t1, 7($s3) -/* 0EC104 7F0B75D4 0009C102 */ srl $t8, $t1, 4 -/* 0EC108 7F0B75D8 03175023 */ subu $t2, $t8, $s7 -/* 0EC10C 7F0B75DC AFAA00A0 */ sw $t2, 0xa0($sp) -/* 0EC110 7F0B75E0 8E790000 */ lw $t9, ($s3) -/* 0EC114 7F0B75E4 332C000F */ andi $t4, $t9, 0xf -/* 0EC118 7F0B75E8 01977023 */ subu $t6, $t4, $s7 -/* 0EC11C 7F0B75EC 1000002D */ b .L7F0B76A4 -/* 0EC120 7F0B75F0 AFAE00A4 */ sw $t6, 0xa4($sp) -.L7F0B75F4: -/* 0EC124 7F0B75F4 24010001 */ li $at, 1 -/* 0EC128 7F0B75F8 56A1000F */ bnel $s5, $at, .L7F0B7638 -/* 0EC12C 7F0B75FC 24010002 */ li $at, 2 -/* 0EC130 7F0B7600 926F0006 */ lbu $t7, 6($s3) -/* 0EC134 7F0B7604 31ED000F */ andi $t5, $t7, 0xf -/* 0EC138 7F0B7608 01B75823 */ subu $t3, $t5, $s7 -/* 0EC13C 7F0B760C AFAB009C */ sw $t3, 0x9c($sp) -/* 0EC140 7F0B7610 96690006 */ lhu $t1, 6($s3) -/* 0EC144 7F0B7614 0009C302 */ srl $t8, $t1, 0xc -/* 0EC148 7F0B7618 03175023 */ subu $t2, $t8, $s7 -/* 0EC14C 7F0B761C AFAA00A0 */ sw $t2, 0xa0($sp) -/* 0EC150 7F0B7620 92790003 */ lbu $t9, 3($s3) -/* 0EC154 7F0B7624 00196102 */ srl $t4, $t9, 4 -/* 0EC158 7F0B7628 01977023 */ subu $t6, $t4, $s7 -/* 0EC15C 7F0B762C 1000001D */ b .L7F0B76A4 -/* 0EC160 7F0B7630 AFAE00A4 */ sw $t6, 0xa4($sp) -/* 0EC164 7F0B7634 24010002 */ li $at, 2 -.L7F0B7638: -/* 0EC168 7F0B7638 56A1000F */ bnel $s5, $at, .L7F0B7678 -/* 0EC16C 7F0B763C 926F0004 */ lbu $t7, 4($s3) -/* 0EC170 7F0B7640 966F0004 */ lhu $t7, 4($s3) -/* 0EC174 7F0B7644 31ED000F */ andi $t5, $t7, 0xf -/* 0EC178 7F0B7648 01B75823 */ subu $t3, $t5, $s7 -/* 0EC17C 7F0B764C AFAB009C */ sw $t3, 0x9c($sp) -/* 0EC180 7F0B7650 92690005 */ lbu $t1, 5($s3) -/* 0EC184 7F0B7654 0009C102 */ srl $t8, $t1, 4 -/* 0EC188 7F0B7658 03175023 */ subu $t2, $t8, $s7 -/* 0EC18C 7F0B765C AFAA00A0 */ sw $t2, 0xa0($sp) -/* 0EC190 7F0B7660 92790002 */ lbu $t9, 2($s3) -/* 0EC194 7F0B7664 332C000F */ andi $t4, $t9, 0xf -/* 0EC198 7F0B7668 01977023 */ subu $t6, $t4, $s7 -/* 0EC19C 7F0B766C 1000000D */ b .L7F0B76A4 -/* 0EC1A0 7F0B7670 AFAE00A4 */ sw $t6, 0xa4($sp) -/* 0EC1A4 7F0B7674 926F0004 */ lbu $t7, 4($s3) -.L7F0B7678: -/* 0EC1A8 7F0B7678 31ED000F */ andi $t5, $t7, 0xf -/* 0EC1AC 7F0B767C 01B75823 */ subu $t3, $t5, $s7 -/* 0EC1B0 7F0B7680 AFAB009C */ sw $t3, 0x9c($sp) -/* 0EC1B4 7F0B7684 8E690004 */ lw $t1, 4($s3) -/* 0EC1B8 7F0B7688 0009C702 */ srl $t8, $t1, 0x1c -/* 0EC1BC 7F0B768C 03175023 */ subu $t2, $t8, $s7 -/* 0EC1C0 7F0B7690 AFAA00A0 */ sw $t2, 0xa0($sp) -/* 0EC1C4 7F0B7694 96790002 */ lhu $t9, 2($s3) -/* 0EC1C8 7F0B7698 00196302 */ srl $t4, $t9, 0xc -/* 0EC1CC 7F0B769C 01977023 */ subu $t6, $t4, $s7 -/* 0EC1D0 7F0B76A0 AFAE00A4 */ sw $t6, 0xa4($sp) -.L7F0B76A4: -/* 0EC1D4 7F0B76A4 27A4009C */ addiu $a0, $sp, 0x9c -/* 0EC1D8 7F0B76A8 8C8F0000 */ lw $t7, ($a0) -.L7F0B76AC: -/* 0EC1DC 7F0B76AC 8FAB008C */ lw $t3, 0x8c($sp) -/* 0EC1E0 7F0B76B0 24840004 */ addiu $a0, $a0, 4 -/* 0EC1E4 7F0B76B4 000F6900 */ sll $t5, $t7, 4 -/* 0EC1E8 7F0B76B8 022D1821 */ addu $v1, $s1, $t5 -/* 0EC1EC 7F0B76BC 84620000 */ lh $v0, ($v1) -/* 0EC1F0 7F0B76C0 004B082A */ slt $at, $v0, $t3 -/* 0EC1F4 7F0B76C4 50200004 */ beql $at, $zero, .L7F0B76D8 -/* 0EC1F8 7F0B76C8 8FA90080 */ lw $t1, 0x80($sp) -/* 0EC1FC 7F0B76CC AFA2008C */ sw $v0, 0x8c($sp) -/* 0EC200 7F0B76D0 84620000 */ lh $v0, ($v1) -/* 0EC204 7F0B76D4 8FA90080 */ lw $t1, 0x80($sp) -.L7F0B76D8: -/* 0EC208 7F0B76D8 0122082A */ slt $at, $t1, $v0 -/* 0EC20C 7F0B76DC 50200003 */ beql $at, $zero, .L7F0B76EC -/* 0EC210 7F0B76E0 84620002 */ lh $v0, 2($v1) -/* 0EC214 7F0B76E4 AFA20080 */ sw $v0, 0x80($sp) -/* 0EC218 7F0B76E8 84620002 */ lh $v0, 2($v1) -.L7F0B76EC: -/* 0EC21C 7F0B76EC 8FB80090 */ lw $t8, 0x90($sp) -/* 0EC220 7F0B76F0 0058082A */ slt $at, $v0, $t8 -/* 0EC224 7F0B76F4 50200004 */ beql $at, $zero, .L7F0B7708 -/* 0EC228 7F0B76F8 8FAA0084 */ lw $t2, 0x84($sp) -/* 0EC22C 7F0B76FC AFA20090 */ sw $v0, 0x90($sp) -/* 0EC230 7F0B7700 84620002 */ lh $v0, 2($v1) -/* 0EC234 7F0B7704 8FAA0084 */ lw $t2, 0x84($sp) -.L7F0B7708: -/* 0EC238 7F0B7708 0142082A */ slt $at, $t2, $v0 -/* 0EC23C 7F0B770C 50200003 */ beql $at, $zero, .L7F0B771C -/* 0EC240 7F0B7710 84620004 */ lh $v0, 4($v1) -/* 0EC244 7F0B7714 AFA20084 */ sw $v0, 0x84($sp) -/* 0EC248 7F0B7718 84620004 */ lh $v0, 4($v1) -.L7F0B771C: -/* 0EC24C 7F0B771C 8FB90094 */ lw $t9, 0x94($sp) -/* 0EC250 7F0B7720 0059082A */ slt $at, $v0, $t9 -/* 0EC254 7F0B7724 50200004 */ beql $at, $zero, .L7F0B7738 -/* 0EC258 7F0B7728 8FAC0088 */ lw $t4, 0x88($sp) -/* 0EC25C 7F0B772C AFA20094 */ sw $v0, 0x94($sp) -/* 0EC260 7F0B7730 84620004 */ lh $v0, 4($v1) -/* 0EC264 7F0B7734 8FAC0088 */ lw $t4, 0x88($sp) -.L7F0B7738: -/* 0EC268 7F0B7738 0182082A */ slt $at, $t4, $v0 -/* 0EC26C 7F0B773C 10200002 */ beqz $at, .L7F0B7748 -/* 0EC270 7F0B7740 00000000 */ nop -/* 0EC274 7F0B7744 AFA20088 */ sw $v0, 0x88($sp) -.L7F0B7748: -/* 0EC278 7F0B7748 5488FFD8 */ bnel $a0, $t0, .L7F0B76AC -/* 0EC27C 7F0B774C 8C8F0000 */ lw $t7, ($a0) -/* 0EC280 7F0B7750 3C0E8008 */ lui $t6, %hi(ptr_bgdata_room_fileposition_list) -/* 0EC284 7F0B7754 8DCEFF8C */ lw $t6, %lo(ptr_bgdata_room_fileposition_list)($t6) -/* 0EC288 7F0B7758 8FAF0054 */ lw $t7, 0x54($sp) -/* 0EC28C 7F0B775C 8FAD008C */ lw $t5, 0x8c($sp) -/* 0EC290 7F0B7760 8FAA0090 */ lw $t2, 0x90($sp) -/* 0EC294 7F0B7764 01CF1021 */ addu $v0, $t6, $t7 -/* 0EC298 7F0B7768 C444000C */ lwc1 $f4, 0xc($v0) -/* 0EC29C 7F0B776C 8FAF0094 */ lw $t7, 0x94($sp) -/* 0EC2A0 7F0B7770 8FA40140 */ lw $a0, 0x140($sp) -/* 0EC2A4 7F0B7774 4600218D */ trunc.w.s $f6, $f4 -/* 0EC2A8 7F0B7778 8FA50148 */ lw $a1, 0x148($sp) -/* 0EC2AC 7F0B777C 27A6008C */ addiu $a2, $sp, 0x8c -/* 0EC2B0 7F0B7780 27A70080 */ addiu $a3, $sp, 0x80 -/* 0EC2B4 7F0B7784 44093000 */ mfc1 $t1, $f6 -/* 0EC2B8 7F0B7788 00000000 */ nop -/* 0EC2BC 7F0B778C 01A9C021 */ addu $t8, $t5, $t1 -/* 0EC2C0 7F0B7790 AFB8008C */ sw $t8, 0x8c($sp) -/* 0EC2C4 7F0B7794 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0EC2C8 7F0B7798 8FB80080 */ lw $t8, 0x80($sp) -/* 0EC2CC 7F0B779C 4600428D */ trunc.w.s $f10, $f8 -/* 0EC2D0 7F0B77A0 440C5000 */ mfc1 $t4, $f10 -/* 0EC2D4 7F0B77A4 00000000 */ nop -/* 0EC2D8 7F0B77A8 014C7021 */ addu $t6, $t2, $t4 -/* 0EC2DC 7F0B77AC AFAE0090 */ sw $t6, 0x90($sp) -/* 0EC2E0 7F0B77B0 C4500014 */ lwc1 $f16, 0x14($v0) -/* 0EC2E4 7F0B77B4 8FAE0084 */ lw $t6, 0x84($sp) -/* 0EC2E8 7F0B77B8 4600848D */ trunc.w.s $f18, $f16 -/* 0EC2EC 7F0B77BC 440D9000 */ mfc1 $t5, $f18 -/* 0EC2F0 7F0B77C0 00000000 */ nop -/* 0EC2F4 7F0B77C4 01ED4821 */ addu $t1, $t7, $t5 -/* 0EC2F8 7F0B77C8 AFA90094 */ sw $t1, 0x94($sp) -/* 0EC2FC 7F0B77CC C444000C */ lwc1 $f4, 0xc($v0) -/* 0EC300 7F0B77D0 8FA90088 */ lw $t1, 0x88($sp) -/* 0EC304 7F0B77D4 4600218D */ trunc.w.s $f6, $f4 -/* 0EC308 7F0B77D8 440A3000 */ mfc1 $t2, $f6 -/* 0EC30C 7F0B77DC 00000000 */ nop -/* 0EC310 7F0B77E0 030A6021 */ addu $t4, $t8, $t2 -/* 0EC314 7F0B77E4 AFAC0080 */ sw $t4, 0x80($sp) -/* 0EC318 7F0B77E8 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0EC31C 7F0B77EC 4600428D */ trunc.w.s $f10, $f8 -/* 0EC320 7F0B77F0 440F5000 */ mfc1 $t7, $f10 -/* 0EC324 7F0B77F4 00000000 */ nop -/* 0EC328 7F0B77F8 01CF6821 */ addu $t5, $t6, $t7 -/* 0EC32C 7F0B77FC AFAD0084 */ sw $t5, 0x84($sp) -/* 0EC330 7F0B7800 C4500014 */ lwc1 $f16, 0x14($v0) -/* 0EC334 7F0B7804 4600848D */ trunc.w.s $f18, $f16 -/* 0EC338 7F0B7808 44189000 */ mfc1 $t8, $f18 -/* 0EC33C 7F0B780C 00000000 */ nop -/* 0EC340 7F0B7810 01385021 */ addu $t2, $t1, $t8 -/* 0EC344 7F0B7814 0FC2DB3B */ jal sub_GAME_7F0B6CEC -/* 0EC348 7F0B7818 AFAA0088 */ sw $t2, 0x88($sp) -/* 0EC34C 7F0B781C 1040007E */ beqz $v0, .L7F0B7A18 -/* 0EC350 7F0B7820 27A800A8 */ addiu $t0, $sp, 0xa8 -/* 0EC354 7F0B7824 8FAC009C */ lw $t4, 0x9c($sp) -/* 0EC358 7F0B7828 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 0EC35C 7F0B782C 3C188008 */ lui $t8, %hi(ptr_bgdata_room_fileposition_list) -/* 0EC360 7F0B7830 000C5900 */ sll $t3, $t4, 4 -/* 0EC364 7F0B7834 8F18FF8C */ lw $t8, %lo(ptr_bgdata_room_fileposition_list)($t8) -/* 0EC368 7F0B7838 8FAD00A4 */ lw $t5, 0xa4($sp) -/* 0EC36C 7F0B783C 8FA90054 */ lw $t1, 0x54($sp) -/* 0EC370 7F0B7840 022B2021 */ addu $a0, $s1, $t3 -/* 0EC374 7F0B7844 8FAB0148 */ lw $t3, 0x148($sp) -/* 0EC378 7F0B7848 8FAC0144 */ lw $t4, 0x144($sp) -/* 0EC37C 7F0B784C 8FAA0140 */ lw $t2, 0x140($sp) -/* 0EC380 7F0B7850 000E7900 */ sll $t7, $t6, 4 -/* 0EC384 7F0B7854 27AE00F8 */ addiu $t6, $sp, 0xf8 -/* 0EC388 7F0B7858 000DC900 */ sll $t9, $t5, 4 -/* 0EC38C 7F0B785C 01383821 */ addu $a3, $t1, $t8 -/* 0EC390 7F0B7860 24E7000C */ addiu $a3, $a3, 0xc -/* 0EC394 7F0B7864 02393021 */ addu $a2, $s1, $t9 -/* 0EC398 7F0B7868 AFAE001C */ sw $t6, 0x1c($sp) -/* 0EC39C 7F0B786C 022F2821 */ addu $a1, $s1, $t7 -/* 0EC3A0 7F0B7870 AFAB0018 */ sw $t3, 0x18($sp) -/* 0EC3A4 7F0B7874 AFAC0014 */ sw $t4, 0x14($sp) -/* 0EC3A8 7F0B7878 0FC24A24 */ jal sub_GAME_7F092890 -/* 0EC3AC 7F0B787C AFAA0010 */ sw $t2, 0x10($sp) -/* 0EC3B0 7F0B7880 10400065 */ beqz $v0, .L7F0B7A18 -/* 0EC3B4 7F0B7884 27A800A8 */ addiu $t0, $sp, 0xa8 -/* 0EC3B8 7F0B7888 8FA60140 */ lw $a2, 0x140($sp) -/* 0EC3BC 7F0B788C C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 0EC3C0 7F0B7890 C7B000FC */ lwc1 $f16, 0xfc($sp) -/* 0EC3C4 7F0B7894 C4C80000 */ lwc1 $f8, ($a2) -/* 0EC3C8 7F0B7898 4600218D */ trunc.w.s $f6, $f4 -/* 0EC3CC 7F0B789C C4C40004 */ lwc1 $f4, 4($a2) -/* 0EC3D0 7F0B78A0 02601025 */ move $v0, $s3 -/* 0EC3D4 7F0B78A4 4600428D */ trunc.w.s $f10, $f8 -/* 0EC3D8 7F0B78A8 440D3000 */ mfc1 $t5, $f6 -/* 0EC3DC 7F0B78AC C7A80100 */ lwc1 $f8, 0x100($sp) -/* 0EC3E0 7F0B78B0 4600848D */ trunc.w.s $f18, $f16 -/* 0EC3E4 7F0B78B4 44095000 */ mfc1 $t1, $f10 -/* 0EC3E8 7F0B78B8 C4D00008 */ lwc1 $f16, 8($a2) -/* 0EC3EC 7F0B78BC 4600218D */ trunc.w.s $f6, $f4 -/* 0EC3F0 7F0B78C0 01A91823 */ subu $v1, $t5, $t1 -/* 0EC3F4 7F0B78C4 00630019 */ multu $v1, $v1 -/* 0EC3F8 7F0B78C8 440A9000 */ mfc1 $t2, $f18 -/* 0EC3FC 7F0B78CC 440B3000 */ mfc1 $t3, $f6 -/* 0EC400 7F0B78D0 4600428D */ trunc.w.s $f10, $f8 -/* 0EC404 7F0B78D4 8FB90064 */ lw $t9, 0x64($sp) -/* 0EC408 7F0B78D8 014B2023 */ subu $a0, $t2, $t3 -/* 0EC40C 7F0B78DC 4600848D */ trunc.w.s $f18, $f16 -/* 0EC410 7F0B78E0 440F5000 */ mfc1 $t7, $f10 -/* 0EC414 7F0B78E4 240B0001 */ li $t3, 1 -/* 0EC418 7F0B78E8 AFAB012C */ sw $t3, 0x12c($sp) -/* 0EC41C 7F0B78EC 00004812 */ mflo $t1 -/* 0EC420 7F0B78F0 440D9000 */ mfc1 $t5, $f18 -/* 0EC424 7F0B78F4 926E0000 */ lbu $t6, ($s3) -/* 0EC428 7F0B78F8 00840019 */ multu $a0, $a0 -/* 0EC42C 7F0B78FC 01ED2823 */ subu $a1, $t7, $t5 -/* 0EC430 7F0B7900 8FAD0064 */ lw $t5, 0x64($sp) -/* 0EC434 7F0B7904 0000C012 */ mflo $t8 -/* 0EC438 7F0B7908 01386021 */ addu $t4, $t1, $t8 -/* 0EC43C 7F0B790C 00000000 */ nop -/* 0EC440 7F0B7910 00A50019 */ multu $a1, $a1 -/* 0EC444 7F0B7914 00005012 */ mflo $t2 -/* 0EC448 7F0B7918 018A9021 */ addu $s2, $t4, $t2 -/* 0EC44C 7F0B791C 12CE000C */ beq $s6, $t6, .L7F0B7950 -/* 0EC450 7F0B7920 0240F025 */ move $fp, $s2 -/* 0EC454 7F0B7924 8F230008 */ lw $v1, 8($t9) -/* 0EC458 7F0B7928 0073082B */ sltu $at, $v1, $s3 -/* 0EC45C 7F0B792C 50200009 */ beql $at, $zero, .L7F0B7954 -/* 0EC460 7F0B7930 8DA90008 */ lw $t1, 8($t5) -/* 0EC464 7F0B7934 904FFFF8 */ lbu $t7, -8($v0) -.L7F0B7938: -/* 0EC468 7F0B7938 2442FFF8 */ addiu $v0, $v0, -8 -/* 0EC46C 7F0B793C 0062082B */ sltu $at, $v1, $v0 -/* 0EC470 7F0B7940 52CF0004 */ beql $s6, $t7, .L7F0B7954 -/* 0EC474 7F0B7944 8DA90008 */ lw $t1, 8($t5) -/* 0EC478 7F0B7948 5420FFFB */ bnezl $at, .L7F0B7938 -/* 0EC47C 7F0B794C 904FFFF8 */ lbu $t7, -8($v0) -.L7F0B7950: -/* 0EC480 7F0B7950 8DA90008 */ lw $t1, 8($t5) -.L7F0B7954: -/* 0EC484 7F0B7954 54490004 */ bnel $v0, $t1, .L7F0B7968 -/* 0EC488 7F0B7958 8C430004 */ lw $v1, 4($v0) -/* 0EC48C 7F0B795C 10000006 */ b .L7F0B7978 -/* 0EC490 7F0B7960 2410FFFF */ li $s0, -1 -/* 0EC494 7F0B7964 8C430004 */ lw $v1, 4($v0) -.L7F0B7968: -/* 0EC498 7F0B7968 3C018000 */ lui $at, 0x8000 -/* 0EC49C 7F0B796C 2463FFF8 */ addiu $v1, $v1, -8 -/* 0EC4A0 7F0B7970 0061C025 */ or $t8, $v1, $at -/* 0EC4A4 7F0B7974 97100000 */ lhu $s0, ($t8) -.L7F0B7978: -/* 0EC4A8 7F0B7978 0FC2ED8C */ jal check_if_imageID_is_light -/* 0EC4AC 7F0B797C 02002025 */ move $a0, $s0 -/* 0EC4B0 7F0B7980 10400002 */ beqz $v0, .L7F0B798C -/* 0EC4B4 7F0B7984 27A800A8 */ addiu $t0, $sp, 0xa8 -/* 0EC4B8 7F0B7988 265EFFFC */ addiu $fp, $s2, -4 -.L7F0B798C: -/* 0EC4BC 7F0B798C 8FAC00F0 */ lw $t4, 0xf0($sp) -/* 0EC4C0 7F0B7990 03CC082A */ slt $at, $fp, $t4 -/* 0EC4C4 7F0B7994 10200020 */ beqz $at, .L7F0B7A18 -/* 0EC4C8 7F0B7998 240104FD */ li $at, 1277 -/* 0EC4CC 7F0B799C 5201001F */ beql $s0, $at, .L7F0B7A1C -/* 0EC4D0 7F0B79A0 26B50001 */ addiu $s5, $s5, 1 -/* 0EC4D4 7F0B79A4 C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 0EC4D8 7F0B79A8 AFBE00F0 */ sw $fp, 0xf0($sp) -/* 0EC4DC 7F0B79AC E6840000 */ swc1 $f4, ($s4) -/* 0EC4E0 7F0B79B0 C7A600FC */ lwc1 $f6, 0xfc($sp) -/* 0EC4E4 7F0B79B4 E6860004 */ swc1 $f6, 4($s4) -/* 0EC4E8 7F0B79B8 C7A80100 */ lwc1 $f8, 0x100($sp) -/* 0EC4EC 7F0B79BC E6880008 */ swc1 $f8, 8($s4) -/* 0EC4F0 7F0B79C0 C7AA0104 */ lwc1 $f10, 0x104($sp) -/* 0EC4F4 7F0B79C4 E68A000C */ swc1 $f10, 0xc($s4) -/* 0EC4F8 7F0B79C8 C7B00108 */ lwc1 $f16, 0x108($sp) -/* 0EC4FC 7F0B79CC E6900010 */ swc1 $f16, 0x10($s4) -/* 0EC500 7F0B79D0 C7B2010C */ lwc1 $f18, 0x10c($sp) -/* 0EC504 7F0B79D4 E6920014 */ swc1 $f18, 0x14($s4) -/* 0EC508 7F0B79D8 8FAA009C */ lw $t2, 0x9c($sp) -/* 0EC50C 7F0B79DC 000A5900 */ sll $t3, $t2, 4 -/* 0EC510 7F0B79E0 01717021 */ addu $t6, $t3, $s1 -/* 0EC514 7F0B79E4 AE8E0018 */ sw $t6, 0x18($s4) -/* 0EC518 7F0B79E8 8FB900A0 */ lw $t9, 0xa0($sp) -/* 0EC51C 7F0B79EC 26AA0001 */ addiu $t2, $s5, 1 -/* 0EC520 7F0B79F0 00197900 */ sll $t7, $t9, 4 -/* 0EC524 7F0B79F4 01F16821 */ addu $t5, $t7, $s1 -/* 0EC528 7F0B79F8 AE8D001C */ sw $t5, 0x1c($s4) -/* 0EC52C 7F0B79FC 8FA900A4 */ lw $t1, 0xa4($sp) -/* 0EC530 7F0B7A00 A690002A */ sh $s0, 0x2a($s4) -/* 0EC534 7F0B7A04 AE930024 */ sw $s3, 0x24($s4) -/* 0EC538 7F0B7A08 0009C100 */ sll $t8, $t1, 4 -/* 0EC53C 7F0B7A0C 03116021 */ addu $t4, $t8, $s1 -/* 0EC540 7F0B7A10 AE8C0020 */ sw $t4, 0x20($s4) -/* 0EC544 7F0B7A14 A68A0028 */ sh $t2, 0x28($s4) -.L7F0B7A18: -/* 0EC548 7F0B7A18 26B50001 */ addiu $s5, $s5, 1 -.L7F0B7A1C: -/* 0EC54C 7F0B7A1C 24010004 */ li $at, 4 -/* 0EC550 7F0B7A20 16A1FED4 */ bne $s5, $at, .L7F0B7574 -/* 0EC554 7F0B7A24 00000000 */ nop -.L7F0B7A28: -/* 0EC558 7F0B7A28 82620008 */ lb $v0, 8($s3) -.L7F0B7A2C: -/* 0EC55C 7F0B7A2C 24010004 */ li $at, 4 -/* 0EC560 7F0B7A30 26730008 */ addiu $s3, $s3, 8 -/* 0EC564 7F0B7A34 10410003 */ beq $v0, $at, .L7F0B7A44 -/* 0EC568 7F0B7A38 2401FFB8 */ li $at, -72 -/* 0EC56C 7F0B7A3C 5441FDA5 */ bnel $v0, $at, .L7F0B70D4 -/* 0EC570 7F0B7A40 2401FFBF */ li $at, -65 -.L7F0B7A44: -/* 0EC574 7F0B7A44 8FBF004C */ lw $ra, 0x4c($sp) -/* 0EC578 7F0B7A48 8FA2012C */ lw $v0, 0x12c($sp) -/* 0EC57C 7F0B7A4C 8FB00028 */ lw $s0, 0x28($sp) -/* 0EC580 7F0B7A50 8FB1002C */ lw $s1, 0x2c($sp) -/* 0EC584 7F0B7A54 8FB20030 */ lw $s2, 0x30($sp) -/* 0EC588 7F0B7A58 8FB30034 */ lw $s3, 0x34($sp) -/* 0EC58C 7F0B7A5C 8FB40038 */ lw $s4, 0x38($sp) -/* 0EC590 7F0B7A60 8FB5003C */ lw $s5, 0x3c($sp) -/* 0EC594 7F0B7A64 8FB60040 */ lw $s6, 0x40($sp) -/* 0EC598 7F0B7A68 8FB70044 */ lw $s7, 0x44($sp) -/* 0EC59C 7F0B7A6C 8FBE0048 */ lw $fp, 0x48($sp) -/* 0EC5A0 7F0B7A70 03E00008 */ jr $ra -/* 0EC5A4 7F0B7A74 27BD0140 */ addiu $sp, $sp, 0x140 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B7A78(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B7A78 -/* 0EC5A8 7F0B7A78 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 0EC5AC 7F0B7A7C 3C0E7FFF */ lui $t6, (0x7FFFFFFF >> 16) # lui $t6, 0x7fff -/* 0EC5B0 7F0B7A80 35CEFFFF */ ori $t6, (0x7FFFFFFF & 0xFFFF) # ori $t6, $t6, 0xffff -/* 0EC5B4 7F0B7A84 AFBF0044 */ sw $ra, 0x44($sp) -/* 0EC5B8 7F0B7A88 AFBE0040 */ sw $fp, 0x40($sp) -/* 0EC5BC 7F0B7A8C AFB7003C */ sw $s7, 0x3c($sp) -/* 0EC5C0 7F0B7A90 AFB60038 */ sw $s6, 0x38($sp) -/* 0EC5C4 7F0B7A94 AFB50034 */ sw $s5, 0x34($sp) -/* 0EC5C8 7F0B7A98 AFB40030 */ sw $s4, 0x30($sp) -/* 0EC5CC 7F0B7A9C AFB3002C */ sw $s3, 0x2c($sp) -/* 0EC5D0 7F0B7AA0 AFB20028 */ sw $s2, 0x28($sp) -/* 0EC5D4 7F0B7AA4 AFB10024 */ sw $s1, 0x24($sp) -/* 0EC5D8 7F0B7AA8 AFB00020 */ sw $s0, 0x20($sp) -/* 0EC5DC 7F0B7AAC AFA600E0 */ sw $a2, 0xe0($sp) -/* 0EC5E0 7F0B7AB0 AFA0006C */ sw $zero, 0x6c($sp) -/* 0EC5E4 7F0B7AB4 AFAE0074 */ sw $t6, 0x74($sp) -/* 0EC5E8 7F0B7AB8 3C018004 */ lui $at, %hi(room_data_float1) -/* 0EC5EC 7F0B7ABC C42013F4 */ lwc1 $f0, %lo(room_data_float1)($at) -/* 0EC5F0 7F0B7AC0 C4840000 */ lwc1 $f4, ($a0) -/* 0EC5F4 7F0B7AC4 0006C080 */ sll $t8, $a2, 2 -/* 0EC5F8 7F0B7AC8 0306C021 */ addu $t8, $t8, $a2 -/* 0EC5FC 7F0B7ACC 46002182 */ mul.s $f6, $f4, $f0 -/* 0EC600 7F0B7AD0 3C198004 */ lui $t9, %hi(D_80041414) -/* 0EC604 7F0B7AD4 27391414 */ addiu $t9, %lo(D_80041414) # addiu $t9, $t9, 0x1414 -/* 0EC608 7F0B7AD8 0018C100 */ sll $t8, $t8, 4 -/* 0EC60C 7F0B7ADC 03194021 */ addu $t0, $t8, $t9 -/* 0EC610 7F0B7AE0 8D02002C */ lw $v0, 0x2c($t0) -/* 0EC614 7F0B7AE4 00E08825 */ move $s1, $a3 -/* 0EC618 7F0B7AE8 E7A600C4 */ swc1 $f6, 0xc4($sp) -/* 0EC61C 7F0B7AEC C4880004 */ lwc1 $f8, 4($a0) -/* 0EC620 7F0B7AF0 46004282 */ mul.s $f10, $f8, $f0 -/* 0EC624 7F0B7AF4 E7AA00C8 */ swc1 $f10, 0xc8($sp) -/* 0EC628 7F0B7AF8 C4900008 */ lwc1 $f16, 8($a0) -/* 0EC62C 7F0B7AFC 46008482 */ mul.s $f18, $f16, $f0 -/* 0EC630 7F0B7B00 E7B200CC */ swc1 $f18, 0xcc($sp) -/* 0EC634 7F0B7B04 C4A40000 */ lwc1 $f4, ($a1) -/* 0EC638 7F0B7B08 46002182 */ mul.s $f6, $f4, $f0 -/* 0EC63C 7F0B7B0C E7A600B8 */ swc1 $f6, 0xb8($sp) -/* 0EC640 7F0B7B10 C4A80004 */ lwc1 $f8, 4($a1) -/* 0EC644 7F0B7B14 C7A400B8 */ lwc1 $f4, 0xb8($sp) -/* 0EC648 7F0B7B18 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 0EC64C 7F0B7B1C 46004282 */ mul.s $f10, $f8, $f0 -/* 0EC650 7F0B7B20 46062201 */ sub.s $f8, $f4, $f6 -/* 0EC654 7F0B7B24 C7A600CC */ lwc1 $f6, 0xcc($sp) -/* 0EC658 7F0B7B28 E7AA00BC */ swc1 $f10, 0xbc($sp) -/* 0EC65C 7F0B7B2C C4B00008 */ lwc1 $f16, 8($a1) -/* 0EC660 7F0B7B30 C7AA00BC */ lwc1 $f10, 0xbc($sp) -/* 0EC664 7F0B7B34 E7A800AC */ swc1 $f8, 0xac($sp) -/* 0EC668 7F0B7B38 46008482 */ mul.s $f18, $f16, $f0 -/* 0EC66C 7F0B7B3C C7B000C8 */ lwc1 $f16, 0xc8($sp) -/* 0EC670 7F0B7B40 E7B200C0 */ swc1 $f18, 0xc0($sp) -/* 0EC674 7F0B7B44 C7A400C0 */ lwc1 $f4, 0xc0($sp) -/* 0EC678 7F0B7B48 46105481 */ sub.s $f18, $f10, $f16 -/* 0EC67C 7F0B7B4C 46062201 */ sub.s $f8, $f4, $f6 -/* 0EC680 7F0B7B50 E7B200B0 */ swc1 $f18, 0xb0($sp) -/* 0EC684 7F0B7B54 14400003 */ bnez $v0, .L7F0B7B64 -/* 0EC688 7F0B7B58 E7A800B4 */ swc1 $f8, 0xb4($sp) -/* 0EC68C 7F0B7B5C 10000081 */ b .L7F0B7D64 -/* 0EC690 7F0B7B60 00001025 */ move $v0, $zero -.L7F0B7B64: -/* 0EC694 7F0B7B64 85030030 */ lh $v1, 0x30($t0) -/* 0EC698 7F0B7B68 0000A025 */ move $s4, $zero -/* 0EC69C 7F0B7B6C 00409825 */ move $s3, $v0 -/* 0EC6A0 7F0B7B70 1860005A */ blez $v1, .L7F0B7CDC -/* 0EC6A4 7F0B7B74 24550004 */ addiu $s5, $v0, 4 -/* 0EC6A8 7F0B7B78 24560010 */ addiu $s6, $v0, 0x10 -/* 0EC6AC 7F0B7B7C A7A300D2 */ sh $v1, 0xd2($sp) -/* 0EC6B0 7F0B7B80 AFA80058 */ sw $t0, 0x58($sp) -/* 0EC6B4 7F0B7B84 27BE00AC */ addiu $fp, $sp, 0xac -/* 0EC6B8 7F0B7B88 27B700C4 */ addiu $s7, $sp, 0xc4 -.L7F0B7B8C: -/* 0EC6BC 7F0B7B8C 02E02025 */ move $a0, $s7 -/* 0EC6C0 7F0B7B90 03C02825 */ move $a1, $fp -/* 0EC6C4 7F0B7B94 02A03025 */ move $a2, $s5 -/* 0EC6C8 7F0B7B98 0FC2DB3B */ jal sub_GAME_7F0B6CEC -/* 0EC6CC 7F0B7B9C 02C03825 */ move $a3, $s6 -/* 0EC6D0 7F0B7BA0 10400047 */ beqz $v0, .L7F0B7CC0 -/* 0EC6D4 7F0B7BA4 02E02025 */ move $a0, $s7 -/* 0EC6D8 7F0B7BA8 8FA900E0 */ lw $t1, 0xe0($sp) -/* 0EC6DC 7F0B7BAC 27AA007C */ addiu $t2, $sp, 0x7c -/* 0EC6E0 7F0B7BB0 AFAA0014 */ sw $t2, 0x14($sp) -/* 0EC6E4 7F0B7BB4 27A500B8 */ addiu $a1, $sp, 0xb8 -/* 0EC6E8 7F0B7BB8 03C03025 */ move $a2, $fp -/* 0EC6EC 7F0B7BBC 02603825 */ move $a3, $s3 -/* 0EC6F0 7F0B7BC0 0FC2DC04 */ jal sub_GAME_7F0B7010 -/* 0EC6F4 7F0B7BC4 AFA90010 */ sw $t1, 0x10($sp) -/* 0EC6F8 7F0B7BC8 1040003D */ beqz $v0, .L7F0B7CC0 -/* 0EC6FC 7F0B7BCC C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0EC700 7F0B7BD0 C7B000C4 */ lwc1 $f16, 0xc4($sp) -/* 0EC704 7F0B7BD4 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 0EC708 7F0B7BD8 C7A800C8 */ lwc1 $f8, 0xc8($sp) -/* 0EC70C 7F0B7BDC 46105481 */ sub.s $f18, $f10, $f16 -/* 0EC710 7F0B7BE0 24090001 */ li $t1, 1 -/* 0EC714 7F0B7BE4 AFA9006C */ sw $t1, 0x6c($sp) -/* 0EC718 7F0B7BE8 46083281 */ sub.s $f10, $f6, $f8 -/* 0EC71C 7F0B7BEC 87A400A6 */ lh $a0, 0xa6($sp) -/* 0EC720 7F0B7BF0 4600910D */ trunc.w.s $f4, $f18 -/* 0EC724 7F0B7BF4 C7B20084 */ lwc1 $f18, 0x84($sp) -/* 0EC728 7F0B7BF8 4600540D */ trunc.w.s $f16, $f10 -/* 0EC72C 7F0B7BFC 44022000 */ mfc1 $v0, $f4 -/* 0EC730 7F0B7C00 C7A400CC */ lwc1 $f4, 0xcc($sp) -/* 0EC734 7F0B7C04 00420019 */ multu $v0, $v0 -/* 0EC738 7F0B7C08 44038000 */ mfc1 $v1, $f16 -/* 0EC73C 7F0B7C0C 46049181 */ sub.s $f6, $f18, $f4 -/* 0EC740 7F0B7C10 4600320D */ trunc.w.s $f8, $f6 -/* 0EC744 7F0B7C14 00007012 */ mflo $t6 -/* 0EC748 7F0B7C18 44054000 */ mfc1 $a1, $f8 -/* 0EC74C 7F0B7C1C 00000000 */ nop -/* 0EC750 7F0B7C20 00630019 */ multu $v1, $v1 -/* 0EC754 7F0B7C24 00007812 */ mflo $t7 -/* 0EC758 7F0B7C28 01CFC021 */ addu $t8, $t6, $t7 -/* 0EC75C 7F0B7C2C 00000000 */ nop -/* 0EC760 7F0B7C30 00A50019 */ multu $a1, $a1 -/* 0EC764 7F0B7C34 0000C812 */ mflo $t9 -/* 0EC768 7F0B7C38 03199021 */ addu $s2, $t8, $t9 -/* 0EC76C 7F0B7C3C 0FC2ED8C */ jal check_if_imageID_is_light -/* 0EC770 7F0B7C40 02408025 */ move $s0, $s2 -/* 0EC774 7F0B7C44 10400002 */ beqz $v0, .L7F0B7C50 -/* 0EC778 7F0B7C48 8FAA0074 */ lw $t2, 0x74($sp) -/* 0EC77C 7F0B7C4C 2650FFFC */ addiu $s0, $s2, -4 -.L7F0B7C50: -/* 0EC780 7F0B7C50 020A082A */ slt $at, $s0, $t2 -/* 0EC784 7F0B7C54 5020001B */ beql $at, $zero, .L7F0B7CC4 -/* 0EC788 7F0B7C58 87B900D2 */ lh $t9, 0xd2($sp) -/* 0EC78C 7F0B7C5C C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0EC790 7F0B7C60 AFB00074 */ sw $s0, 0x74($sp) -/* 0EC794 7F0B7C64 E62A0000 */ swc1 $f10, ($s1) -/* 0EC798 7F0B7C68 C7B00080 */ lwc1 $f16, 0x80($sp) -/* 0EC79C 7F0B7C6C E6300004 */ swc1 $f16, 4($s1) -/* 0EC7A0 7F0B7C70 C7B20084 */ lwc1 $f18, 0x84($sp) -/* 0EC7A4 7F0B7C74 E6320008 */ swc1 $f18, 8($s1) -/* 0EC7A8 7F0B7C78 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0EC7AC 7F0B7C7C E624000C */ swc1 $f4, 0xc($s1) -/* 0EC7B0 7F0B7C80 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 0EC7B4 7F0B7C84 E6260010 */ swc1 $f6, 0x10($s1) -/* 0EC7B8 7F0B7C88 C7A80090 */ lwc1 $f8, 0x90($sp) -/* 0EC7BC 7F0B7C8C E6280014 */ swc1 $f8, 0x14($s1) -/* 0EC7C0 7F0B7C90 8FAB0094 */ lw $t3, 0x94($sp) -/* 0EC7C4 7F0B7C94 AE2B0018 */ sw $t3, 0x18($s1) -/* 0EC7C8 7F0B7C98 8FAC0098 */ lw $t4, 0x98($sp) -/* 0EC7CC 7F0B7C9C AE2C001C */ sw $t4, 0x1c($s1) -/* 0EC7D0 7F0B7CA0 8FAD009C */ lw $t5, 0x9c($sp) -/* 0EC7D4 7F0B7CA4 AE2D0020 */ sw $t5, 0x20($s1) -/* 0EC7D8 7F0B7CA8 87AE00A6 */ lh $t6, 0xa6($sp) -/* 0EC7DC 7F0B7CAC A62E002A */ sh $t6, 0x2a($s1) -/* 0EC7E0 7F0B7CB0 8FAF00A0 */ lw $t7, 0xa0($sp) -/* 0EC7E4 7F0B7CB4 AE2F0024 */ sw $t7, 0x24($s1) -/* 0EC7E8 7F0B7CB8 87B800A4 */ lh $t8, 0xa4($sp) -/* 0EC7EC 7F0B7CBC A6380028 */ sh $t8, 0x28($s1) -.L7F0B7CC0: -/* 0EC7F0 7F0B7CC0 87B900D2 */ lh $t9, 0xd2($sp) -.L7F0B7CC4: -/* 0EC7F4 7F0B7CC4 26940001 */ addiu $s4, $s4, 1 -/* 0EC7F8 7F0B7CC8 2673001C */ addiu $s3, $s3, 0x1c -/* 0EC7FC 7F0B7CCC 26B5001C */ addiu $s5, $s5, 0x1c -/* 0EC800 7F0B7CD0 1699FFAE */ bne $s4, $t9, .L7F0B7B8C -/* 0EC804 7F0B7CD4 26D6001C */ addiu $s6, $s6, 0x1c -/* 0EC808 7F0B7CD8 8FA80058 */ lw $t0, 0x58($sp) -.L7F0B7CDC: -/* 0EC80C 7F0B7CDC 8FA9006C */ lw $t1, 0x6c($sp) -/* 0EC810 7F0B7CE0 51200020 */ beql $t1, $zero, .L7F0B7D64 -/* 0EC814 7F0B7CE4 8FA2006C */ lw $v0, 0x6c($sp) -/* 0EC818 7F0B7CE8 8E220024 */ lw $v0, 0x24($s1) -/* 0EC81C 7F0B7CEC 240400F5 */ li $a0, 245 -/* 0EC820 7F0B7CF0 904A0000 */ lbu $t2, ($v0) -/* 0EC824 7F0B7CF4 508A000D */ beql $a0, $t2, .L7F0B7D2C -/* 0EC828 7F0B7CF8 8D0C0008 */ lw $t4, 8($t0) -/* 0EC82C 7F0B7CFC 8D030008 */ lw $v1, 8($t0) -/* 0EC830 7F0B7D00 0062082B */ sltu $at, $v1, $v0 -/* 0EC834 7F0B7D04 50200009 */ beql $at, $zero, .L7F0B7D2C -/* 0EC838 7F0B7D08 8D0C0008 */ lw $t4, 8($t0) -/* 0EC83C 7F0B7D0C 904BFFF8 */ lbu $t3, -8($v0) -.L7F0B7D10: -/* 0EC840 7F0B7D10 2442FFF8 */ addiu $v0, $v0, -8 -/* 0EC844 7F0B7D14 0062082B */ sltu $at, $v1, $v0 -/* 0EC848 7F0B7D18 508B0004 */ beql $a0, $t3, .L7F0B7D2C -/* 0EC84C 7F0B7D1C 8D0C0008 */ lw $t4, 8($t0) -/* 0EC850 7F0B7D20 5420FFFB */ bnezl $at, .L7F0B7D10 -/* 0EC854 7F0B7D24 904BFFF8 */ lbu $t3, -8($v0) -/* 0EC858 7F0B7D28 8D0C0008 */ lw $t4, 8($t0) -.L7F0B7D2C: -/* 0EC85C 7F0B7D2C 544C0006 */ bnel $v0, $t4, .L7F0B7D48 -/* 0EC860 7F0B7D30 904D0001 */ lbu $t5, 1($v0) -/* 0EC864 7F0B7D34 2402FFFF */ li $v0, -1 -/* 0EC868 7F0B7D38 A622002C */ sh $v0, 0x2c($s1) -/* 0EC86C 7F0B7D3C 10000008 */ b .L7F0B7D60 -/* 0EC870 7F0B7D40 A622002E */ sh $v0, 0x2e($s1) -/* 0EC874 7F0B7D44 904D0001 */ lbu $t5, 1($v0) -.L7F0B7D48: -/* 0EC878 7F0B7D48 000D7142 */ srl $t6, $t5, 5 -/* 0EC87C 7F0B7D4C A62E002C */ sh $t6, 0x2c($s1) -/* 0EC880 7F0B7D50 8C4F0000 */ lw $t7, ($v0) -/* 0EC884 7F0B7D54 000FC2C0 */ sll $t8, $t7, 0xb -/* 0EC888 7F0B7D58 0018CF82 */ srl $t9, $t8, 0x1e -/* 0EC88C 7F0B7D5C A639002E */ sh $t9, 0x2e($s1) -.L7F0B7D60: -/* 0EC890 7F0B7D60 8FA2006C */ lw $v0, 0x6c($sp) -.L7F0B7D64: -/* 0EC894 7F0B7D64 8FBF0044 */ lw $ra, 0x44($sp) -/* 0EC898 7F0B7D68 8FB00020 */ lw $s0, 0x20($sp) -/* 0EC89C 7F0B7D6C 8FB10024 */ lw $s1, 0x24($sp) -/* 0EC8A0 7F0B7D70 8FB20028 */ lw $s2, 0x28($sp) -/* 0EC8A4 7F0B7D74 8FB3002C */ lw $s3, 0x2c($sp) -/* 0EC8A8 7F0B7D78 8FB40030 */ lw $s4, 0x30($sp) -/* 0EC8AC 7F0B7D7C 8FB50034 */ lw $s5, 0x34($sp) -/* 0EC8B0 7F0B7D80 8FB60038 */ lw $s6, 0x38($sp) -/* 0EC8B4 7F0B7D84 8FB7003C */ lw $s7, 0x3c($sp) -/* 0EC8B8 7F0B7D88 8FBE0040 */ lw $fp, 0x40($sp) -/* 0EC8BC 7F0B7D8C 03E00008 */ jr $ra -/* 0EC8C0 7F0B7D90 27BD00D8 */ addiu $sp, $sp, 0xd8 -) -#endif - - - - - - -void sub_GAME_7F0B7D94(void) { - D_800448A0 = 0; - D_800448A4 = 0; -} - - - - - - -#ifdef NONMATCHING -s8 sub_GAME_7F0B7DA8(s32 arg0) { - void *temp_v0; - s8 temp_t8; - s8 phi_a1; - - // Node 0 - temp_v0 = ((arg0 * 0x50) + &D_80041414); - phi_a1 = temp_v0->unk3; - if (temp_v0->unk3 < 0xff) - { - // Node 1 - temp_t8 = (temp_v0->unk3 + 1); - temp_v0->unk3 = temp_t8; - phi_a1 = (temp_t8 & 0xff); - } - // Node 2 - return phi_a1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B7DA8 -/* 0EC8D8 7F0B7DA8 00047080 */ sll $t6, $a0, 2 -/* 0EC8DC 7F0B7DAC 01C47021 */ addu $t6, $t6, $a0 -/* 0EC8E0 7F0B7DB0 3C0F8004 */ lui $t7, %hi(D_80041414) -/* 0EC8E4 7F0B7DB4 25EF1414 */ addiu $t7, %lo(D_80041414) # addiu $t7, $t7, 0x1414 -/* 0EC8E8 7F0B7DB8 000E7100 */ sll $t6, $t6, 4 -/* 0EC8EC 7F0B7DBC 01CF1021 */ addu $v0, $t6, $t7 -/* 0EC8F0 7F0B7DC0 90430003 */ lbu $v1, 3($v0) -/* 0EC8F4 7F0B7DC4 286100FF */ slti $at, $v1, 0xff -/* 0EC8F8 7F0B7DC8 10200004 */ beqz $at, .L7F0B7DDC -/* 0EC8FC 7F0B7DCC 00602825 */ move $a1, $v1 -/* 0EC900 7F0B7DD0 24780001 */ addiu $t8, $v1, 1 -/* 0EC904 7F0B7DD4 A0580003 */ sb $t8, 3($v0) -/* 0EC908 7F0B7DD8 330500FF */ andi $a1, $t8, 0xff -.L7F0B7DDC: -/* 0EC90C 7F0B7DDC 03E00008 */ jr $ra -/* 0EC910 7F0B7DE0 00A01025 */ move $v0, $a1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B7DE4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, void *arg4) { - void *sp1C; - void *temp_v1; - void *temp_v0; - s32 temp_a0; - s32 phi_a0; - - // Node 0 - temp_v1 = ((D_800448A0 << 5) + &dword_CODE_bss_8007C100); - if ((arg3 < 2) || (sub_GAME_7F0B7DA8(((temp_v0->unk4 ^ temp_v0->unk5) ^ arg1)) < 9)) - { - // Node 2 - *temp_v1 = arg0; - temp_v1->unk4 = arg1; - temp_v1->unkC = (s32) arg3; - temp_v1->unk8 = arg2; - temp_v1->unk10 = (f32) *arg4; - temp_v1->unk14 = (f32) arg4->unk4; - temp_v1->unk18 = (f32) arg4->unk8; - temp_v1->unk1C = (f32) arg4->unkC; - temp_a0 = (*&D_800448A0 + 1); - *&D_800448A0 = temp_a0; - phi_a0 = temp_a0; - if (temp_a0 == 0x1f4) - { - // Node 3 - *&D_800448A0 = 0; - phi_a0 = 0; - } - // Node 4 - if (D_800448A4 == phi_a0) - { - // Node 5 - *&D_800448A0 = (s32) (phi_a0 + -1); - } - } - else - { - - } - // Node 6 - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B7DE4 -/* 0EC914 7F0B7DE4 3C088004 */ lui $t0, %hi(D_800448A0) -/* 0EC918 7F0B7DE8 250848A0 */ addiu $t0, %lo(D_800448A0) # addiu $t0, $t0, 0x48a0 -/* 0EC91C 7F0B7DEC 8D0E0000 */ lw $t6, ($t0) -/* 0EC920 7F0B7DF0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0EC924 7F0B7DF4 3C188008 */ lui $t8, %hi(dword_CODE_bss_8007C100) -/* 0EC928 7F0B7DF8 2718C100 */ addiu $t8, %lo(dword_CODE_bss_8007C100) # addiu $t8, $t8, -0x3f00 -/* 0EC92C 7F0B7DFC 28E10002 */ slti $at, $a3, 2 -/* 0EC930 7F0B7E00 000E7940 */ sll $t7, $t6, 5 -/* 0EC934 7F0B7E04 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EC938 7F0B7E08 AFA40020 */ sw $a0, 0x20($sp) -/* 0EC93C 7F0B7E0C AFA50024 */ sw $a1, 0x24($sp) -/* 0EC940 7F0B7E10 AFA60028 */ sw $a2, 0x28($sp) -/* 0EC944 7F0B7E14 14200012 */ bnez $at, .L7F0B7E60 -/* 0EC948 7F0B7E18 01F81821 */ addu $v1, $t7, $t8 -/* 0EC94C 7F0B7E1C 3C198008 */ lui $t9, %hi(ptr_bgdata_portals) -/* 0EC950 7F0B7E20 8F39FF80 */ lw $t9, %lo(ptr_bgdata_portals)($t9) -/* 0EC954 7F0B7E24 000650C0 */ sll $t2, $a2, 3 -/* 0EC958 7F0B7E28 032A1021 */ addu $v0, $t9, $t2 -/* 0EC95C 7F0B7E2C 904B0004 */ lbu $t3, 4($v0) -/* 0EC960 7F0B7E30 904C0005 */ lbu $t4, 5($v0) -/* 0EC964 7F0B7E34 AFA7002C */ sw $a3, 0x2c($sp) -/* 0EC968 7F0B7E38 AFA3001C */ sw $v1, 0x1c($sp) -/* 0EC96C 7F0B7E3C 016C6826 */ xor $t5, $t3, $t4 -/* 0EC970 7F0B7E40 0FC2DF6A */ jal sub_GAME_7F0B7DA8 -/* 0EC974 7F0B7E44 01A52026 */ xor $a0, $t5, $a1 -/* 0EC978 7F0B7E48 3C088004 */ lui $t0, %hi(D_800448A0) -/* 0EC97C 7F0B7E4C 28410009 */ slti $at, $v0, 9 -/* 0EC980 7F0B7E50 250848A0 */ addiu $t0, %lo(D_800448A0) # addiu $t0, $t0, 0x48a0 -/* 0EC984 7F0B7E54 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EC988 7F0B7E58 1020001E */ beqz $at, .L7F0B7ED4 -/* 0EC98C 7F0B7E5C 8FA7002C */ lw $a3, 0x2c($sp) -.L7F0B7E60: -/* 0EC990 7F0B7E60 8FAF0020 */ lw $t7, 0x20($sp) -/* 0EC994 7F0B7E64 8FA20030 */ lw $v0, 0x30($sp) -/* 0EC998 7F0B7E68 240101F4 */ li $at, 500 -/* 0EC99C 7F0B7E6C AC6F0000 */ sw $t7, ($v1) -/* 0EC9A0 7F0B7E70 8FB80024 */ lw $t8, 0x24($sp) -/* 0EC9A4 7F0B7E74 3C0B8004 */ lui $t3, %hi(D_800448A4) -/* 0EC9A8 7F0B7E78 AC780004 */ sw $t8, 4($v1) -/* 0EC9AC 7F0B7E7C 8FA90028 */ lw $t1, 0x28($sp) -/* 0EC9B0 7F0B7E80 AC67000C */ sw $a3, 0xc($v1) -/* 0EC9B4 7F0B7E84 AC690008 */ sw $t1, 8($v1) -/* 0EC9B8 7F0B7E88 C4440000 */ lwc1 $f4, ($v0) -/* 0EC9BC 7F0B7E8C E4640010 */ swc1 $f4, 0x10($v1) -/* 0EC9C0 7F0B7E90 C4460004 */ lwc1 $f6, 4($v0) -/* 0EC9C4 7F0B7E94 E4660014 */ swc1 $f6, 0x14($v1) -/* 0EC9C8 7F0B7E98 C4480008 */ lwc1 $f8, 8($v0) -/* 0EC9CC 7F0B7E9C E4680018 */ swc1 $f8, 0x18($v1) -/* 0EC9D0 7F0B7EA0 C44A000C */ lwc1 $f10, 0xc($v0) -/* 0EC9D4 7F0B7EA4 E46A001C */ swc1 $f10, 0x1c($v1) -/* 0EC9D8 7F0B7EA8 8D190000 */ lw $t9, ($t0) -/* 0EC9DC 7F0B7EAC 27240001 */ addiu $a0, $t9, 1 -/* 0EC9E0 7F0B7EB0 14810003 */ bne $a0, $at, .L7F0B7EC0 -/* 0EC9E4 7F0B7EB4 AD040000 */ sw $a0, ($t0) -/* 0EC9E8 7F0B7EB8 AD000000 */ sw $zero, ($t0) -/* 0EC9EC 7F0B7EBC 00002025 */ move $a0, $zero -.L7F0B7EC0: -/* 0EC9F0 7F0B7EC0 8D6B48A4 */ lw $t3, %lo(D_800448A4)($t3) -/* 0EC9F4 7F0B7EC4 248CFFFF */ addiu $t4, $a0, -1 -/* 0EC9F8 7F0B7EC8 55640003 */ bnel $t3, $a0, .L7F0B7ED8 -/* 0EC9FC 7F0B7ECC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0ECA00 7F0B7ED0 AD0C0000 */ sw $t4, ($t0) -.L7F0B7ED4: -/* 0ECA04 7F0B7ED4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0B7ED8: -/* 0ECA08 7F0B7ED8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0ECA0C 7F0B7EDC 03E00008 */ jr $ra -/* 0ECA10 7F0B7EE0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B7EE4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B7EE4 -/* 0ECA14 7F0B7EE4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0ECA18 7F0B7EE8 3C038004 */ lui $v1, %hi(D_800448A4) -/* 0ECA1C 7F0B7EEC 246348A4 */ addiu $v1, %lo(D_800448A4) # addiu $v1, $v1, 0x48a4 -/* 0ECA20 7F0B7EF0 3C188004 */ lui $t8, %hi(D_800448A0) -/* 0ECA24 7F0B7EF4 8F1848A0 */ lw $t8, %lo(D_800448A0)($t8) -/* 0ECA28 7F0B7EF8 8C680000 */ lw $t0, ($v1) -/* 0ECA2C 7F0B7EFC AFBF001C */ sw $ra, 0x1c($sp) -/* 0ECA30 7F0B7F00 AFA40028 */ sw $a0, 0x28($sp) -/* 0ECA34 7F0B7F04 8C8F0000 */ lw $t7, ($a0) -/* 0ECA38 7F0B7F08 0008C940 */ sll $t9, $t0, 5 -/* 0ECA3C 7F0B7F0C 17080003 */ bne $t8, $t0, .L7F0B7F1C -/* 0ECA40 7F0B7F10 AFAF0020 */ sw $t7, 0x20($sp) -/* 0ECA44 7F0B7F14 10000017 */ b .L7F0B7F74 -/* 0ECA48 7F0B7F18 00001025 */ move $v0, $zero -.L7F0B7F1C: -/* 0ECA4C 7F0B7F1C 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007C100) -/* 0ECA50 7F0B7F20 2529C100 */ addiu $t1, %lo(dword_CODE_bss_8007C100) # addiu $t1, $t1, -0x3f00 -/* 0ECA54 7F0B7F24 03291021 */ addu $v0, $t9, $t1 -/* 0ECA58 7F0B7F28 8C450004 */ lw $a1, 4($v0) -/* 0ECA5C 7F0B7F2C 8C460008 */ lw $a2, 8($v0) -/* 0ECA60 7F0B7F30 8C47000C */ lw $a3, 0xc($v0) -/* 0ECA64 7F0B7F34 244A0010 */ addiu $t2, $v0, 0x10 -/* 0ECA68 7F0B7F38 AFAA0010 */ sw $t2, 0x10($sp) -/* 0ECA6C 7F0B7F3C 0FC2DFE1 */ jal sub_GAME_7F0B7F84 -/* 0ECA70 7F0B7F40 8FA40020 */ lw $a0, 0x20($sp) -/* 0ECA74 7F0B7F44 3C038004 */ lui $v1, %hi(D_800448A4) -/* 0ECA78 7F0B7F48 246348A4 */ addiu $v1, %lo(D_800448A4) # addiu $v1, $v1, 0x48a4 -/* 0ECA7C 7F0B7F4C 8C6B0000 */ lw $t3, ($v1) -/* 0ECA80 7F0B7F50 240101F4 */ li $at, 500 -/* 0ECA84 7F0B7F54 00402025 */ move $a0, $v0 -/* 0ECA88 7F0B7F58 256C0001 */ addiu $t4, $t3, 1 -/* 0ECA8C 7F0B7F5C 15810002 */ bne $t4, $at, .L7F0B7F68 -/* 0ECA90 7F0B7F60 AC6C0000 */ sw $t4, ($v1) -/* 0ECA94 7F0B7F64 AC600000 */ sw $zero, ($v1) -.L7F0B7F68: -/* 0ECA98 7F0B7F68 8FAE0028 */ lw $t6, 0x28($sp) -/* 0ECA9C 7F0B7F6C 24020001 */ li $v0, 1 -/* 0ECAA0 7F0B7F70 ADC40000 */ sw $a0, ($t6) -.L7F0B7F74: -/* 0ECAA4 7F0B7F74 8FBF001C */ lw $ra, 0x1c($sp) -/* 0ECAA8 7F0B7F78 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0ECAAC 7F0B7F7C 03E00008 */ jr $ra -/* 0ECAB0 7F0B7F80 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B7F84(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B7F84 -/* 0ECAB4 7F0B7F84 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0ECAB8 7F0B7F88 3C028004 */ lui $v0, %hi(D_80044898) -/* 0ECABC 7F0B7F8C 24424898 */ addiu $v0, %lo(D_80044898) # addiu $v0, $v0, 0x4898 -/* 0ECAC0 7F0B7F90 8C4E0000 */ lw $t6, ($v0) -/* 0ECAC4 7F0B7F94 AFB40030 */ sw $s4, 0x30($sp) -/* 0ECAC8 7F0B7F98 AFB3002C */ sw $s3, 0x2c($sp) -/* 0ECACC 7F0B7F9C AFB20028 */ sw $s2, 0x28($sp) -/* 0ECAD0 7F0B7FA0 28E10065 */ slti $at, $a3, 0x65 -/* 0ECAD4 7F0B7FA4 25CF0001 */ addiu $t7, $t6, 1 -/* 0ECAD8 7F0B7FA8 00809025 */ move $s2, $a0 -/* 0ECADC 7F0B7FAC 00E09825 */ move $s3, $a3 -/* 0ECAE0 7F0B7FB0 00C0A025 */ move $s4, $a2 -/* 0ECAE4 7F0B7FB4 AFBF0034 */ sw $ra, 0x34($sp) -/* 0ECAE8 7F0B7FB8 AFB10024 */ sw $s1, 0x24($sp) -/* 0ECAEC 7F0B7FBC AFB00020 */ sw $s0, 0x20($sp) -/* 0ECAF0 7F0B7FC0 AFA50084 */ sw $a1, 0x84($sp) -/* 0ECAF4 7F0B7FC4 14200003 */ bnez $at, .L7F0B7FD4 -/* 0ECAF8 7F0B7FC8 AC4F0000 */ sw $t7, ($v0) -/* 0ECAFC 7F0B7FCC 100000E1 */ b .L7F0B8354 -/* 0ECB00 7F0B7FD0 00801025 */ move $v0, $a0 -.L7F0B7FD4: -/* 0ECB04 7F0B7FD4 3C188004 */ lui $t8, %hi(D_8004489C) -/* 0ECB08 7F0B7FD8 8F18489C */ lw $t8, %lo(D_8004489C)($t8) -/* 0ECB0C 7F0B7FDC 0313082A */ slt $at, $t8, $s3 -/* 0ECB10 7F0B7FE0 50200004 */ beql $at, $zero, .L7F0B7FF4 -/* 0ECB14 7F0B7FE4 2A610010 */ slti $at, $s3, 0x10 -/* 0ECB18 7F0B7FE8 100000DA */ b .L7F0B8354 -/* 0ECB1C 7F0B7FEC 02401025 */ move $v0, $s2 -/* 0ECB20 7F0B7FF0 2A610010 */ slti $at, $s3, 0x10 -.L7F0B7FF4: -/* 0ECB24 7F0B7FF4 14200003 */ bnez $at, .L7F0B8004 -/* 0ECB28 7F0B7FF8 3C198008 */ lui $t9, %hi(ptr_bgdata_portals) -/* 0ECB2C 7F0B7FFC 100000D5 */ b .L7F0B8354 -/* 0ECB30 7F0B8000 02401025 */ move $v0, $s2 -.L7F0B8004: -/* 0ECB34 7F0B8004 8F39FF80 */ lw $t9, %lo(ptr_bgdata_portals)($t9) -/* 0ECB38 7F0B8008 001410C0 */ sll $v0, $s4, 3 -/* 0ECB3C 7F0B800C 3C0B8004 */ lui $t3, %hi(D_800442FC) -/* 0ECB40 7F0B8010 03224021 */ addu $t0, $t9, $v0 -/* 0ECB44 7F0B8014 91090006 */ lbu $t1, 6($t0) -/* 0ECB48 7F0B8018 256B42FC */ addiu $t3, %lo(D_800442FC) # addiu $t3, $t3, 0x42fc -/* 0ECB4C 7F0B801C 028B1821 */ addu $v1, $s4, $t3 -/* 0ECB50 7F0B8020 312A0001 */ andi $t2, $t1, 1 -/* 0ECB54 7F0B8024 51400004 */ beql $t2, $zero, .L7F0B8038 -/* 0ECB58 7F0B8028 AFA20044 */ sw $v0, 0x44($sp) -/* 0ECB5C 7F0B802C 100000C9 */ b .L7F0B8354 -/* 0ECB60 7F0B8030 02401025 */ move $v0, $s2 -/* 0ECB64 7F0B8034 AFA20044 */ sw $v0, 0x44($sp) -.L7F0B8038: -/* 0ECB68 7F0B8038 0FC227F5 */ jal get_BONDdata_position -/* 0ECB6C 7F0B803C AFA3003C */ sw $v1, 0x3c($sp) -/* 0ECB70 7F0B8040 00408025 */ move $s0, $v0 -/* 0ECB74 7F0B8044 02802025 */ move $a0, $s4 -/* 0ECB78 7F0B8048 0FC2E5B3 */ jal sub_GAME_7F0B96CC -/* 0ECB7C 7F0B804C 27A50054 */ addiu $a1, $sp, 0x54 -/* 0ECB80 7F0B8050 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 0ECB84 7F0B8054 C6060000 */ lwc1 $f6, ($s0) -/* 0ECB88 7F0B8058 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 0ECB8C 7F0B805C C6100004 */ lwc1 $f16, 4($s0) -/* 0ECB90 7F0B8060 46062202 */ mul.s $f8, $f4, $f6 -/* 0ECB94 7F0B8064 C6060008 */ lwc1 $f6, 8($s0) -/* 0ECB98 7F0B8068 3C018004 */ lui $at, %hi(room_data_float1) -/* 0ECB9C 7F0B806C 46105482 */ mul.s $f18, $f10, $f16 -/* 0ECBA0 7F0B8070 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0ECBA4 7F0B8074 02802025 */ move $a0, $s4 -/* 0ECBA8 7F0B8078 460A3402 */ mul.s $f16, $f6, $f10 -/* 0ECBAC 7F0B807C 46124100 */ add.s $f4, $f8, $f18 -/* 0ECBB0 7F0B8080 C43213F4 */ lwc1 $f18, %lo(room_data_float1)($at) -/* 0ECBB4 7F0B8084 46048200 */ add.s $f8, $f16, $f4 -/* 0ECBB8 7F0B8088 46124082 */ mul.s $f2, $f8, $f18 -/* 0ECBBC 7F0B808C 0FC2E664 */ jal sub_GAME_7F0B9990 -/* 0ECBC0 7F0B8090 E7A20050 */ swc1 $f2, 0x50($sp) -/* 0ECBC4 7F0B8094 3C0C8008 */ lui $t4, %hi(ptr_bgdata_portals) -/* 0ECBC8 7F0B8098 8D8CFF80 */ lw $t4, %lo(ptr_bgdata_portals)($t4) -/* 0ECBCC 7F0B809C 8FAD0044 */ lw $t5, 0x44($sp) -/* 0ECBD0 7F0B80A0 8FAE0084 */ lw $t6, 0x84($sp) -/* 0ECBD4 7F0B80A4 C7A20050 */ lwc1 $f2, 0x50($sp) -/* 0ECBD8 7F0B80A8 018D1021 */ addu $v0, $t4, $t5 -/* 0ECBDC 7F0B80AC 90430004 */ lbu $v1, 4($v0) -/* 0ECBE0 7F0B80B0 55C3000B */ bnel $t6, $v1, .L7F0B80E0 -/* 0ECBE4 7F0B80B4 46001100 */ add.s $f4, $f2, $f0 -/* 0ECBE8 7F0B80B8 46001181 */ sub.s $f6, $f2, $f0 -/* 0ECBEC 7F0B80BC C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 0ECBF0 7F0B80C0 90510005 */ lbu $s1, 5($v0) -/* 0ECBF4 7F0B80C4 4606503E */ c.le.s $f10, $f6 -/* 0ECBF8 7F0B80C8 00000000 */ nop -/* 0ECBFC 7F0B80CC 4502000D */ bc1fl .L7F0B8104 -/* 0ECC00 7F0B80D0 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0ECC04 7F0B80D4 1000009F */ b .L7F0B8354 -/* 0ECC08 7F0B80D8 02401025 */ move $v0, $s2 -/* 0ECC0C 7F0B80DC 46001100 */ add.s $f4, $f2, $f0 -.L7F0B80E0: -/* 0ECC10 7F0B80E0 C7B00060 */ lwc1 $f16, 0x60($sp) -/* 0ECC14 7F0B80E4 00608825 */ move $s1, $v1 -/* 0ECC18 7F0B80E8 4610203E */ c.le.s $f4, $f16 -/* 0ECC1C 7F0B80EC 00000000 */ nop -/* 0ECC20 7F0B80F0 45020004 */ bc1fl .L7F0B8104 -/* 0ECC24 7F0B80F4 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0ECC28 7F0B80F8 10000096 */ b .L7F0B8354 -/* 0ECC2C 7F0B80FC 02401025 */ move $v0, $s2 -/* 0ECC30 7F0B8100 C7A80060 */ lwc1 $f8, 0x60($sp) -.L7F0B8104: -/* 0ECC34 7F0B8104 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 0ECC38 7F0B8108 46004481 */ sub.s $f18, $f8, $f0 -/* 0ECC3C 7F0B810C 4602903C */ c.lt.s $f18, $f2 -/* 0ECC40 7F0B8110 00000000 */ nop -/* 0ECC44 7F0B8114 45020012 */ bc1fl .L7F0B8160 -/* 0ECC48 7F0B8118 904F0006 */ lbu $t7, 6($v0) -/* 0ECC4C 7F0B811C 46003280 */ add.s $f10, $f6, $f0 -/* 0ECC50 7F0B8120 460A103C */ c.lt.s $f2, $f10 -/* 0ECC54 7F0B8124 00000000 */ nop -/* 0ECC58 7F0B8128 4502000D */ bc1fl .L7F0B8160 -/* 0ECC5C 7F0B812C 904F0006 */ lbu $t7, 6($v0) -/* 0ECC60 7F0B8130 3C028008 */ lui $v0, %hi(pPlayer) -/* 0ECC64 7F0B8134 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0ECC68 7F0B8138 C4501118 */ lwc1 $f16, 0x1118($v0) -/* 0ECC6C 7F0B813C E7B00070 */ swc1 $f16, 0x70($sp) -/* 0ECC70 7F0B8140 C444111C */ lwc1 $f4, 0x111c($v0) -/* 0ECC74 7F0B8144 E7A40074 */ swc1 $f4, 0x74($sp) -/* 0ECC78 7F0B8148 C4481120 */ lwc1 $f8, 0x1120($v0) -/* 0ECC7C 7F0B814C E7A80078 */ swc1 $f8, 0x78($sp) -/* 0ECC80 7F0B8150 C4521124 */ lwc1 $f18, 0x1124($v0) -/* 0ECC84 7F0B8154 10000042 */ b .L7F0B8260 -/* 0ECC88 7F0B8158 E7B2007C */ swc1 $f18, 0x7c($sp) -/* 0ECC8C 7F0B815C 904F0006 */ lbu $t7, 6($v0) -.L7F0B8160: -/* 0ECC90 7F0B8160 27A50070 */ addiu $a1, $sp, 0x70 -/* 0ECC94 7F0B8164 02802025 */ move $a0, $s4 -/* 0ECC98 7F0B8168 31F80002 */ andi $t8, $t7, 2 -/* 0ECC9C 7F0B816C 13000021 */ beqz $t8, .L7F0B81F4 -/* 0ECCA0 7F0B8170 00000000 */ nop -/* 0ECCA4 7F0B8174 0FC2D619 */ jal sub_GAME_7F0B5864 -/* 0ECCA8 7F0B8178 02802025 */ move $a0, $s4 -/* 0ECCAC 7F0B817C 14400003 */ bnez $v0, .L7F0B818C -/* 0ECCB0 7F0B8180 3C198008 */ lui $t9, %hi(ptr_bgdata_portals) -/* 0ECCB4 7F0B8184 10000073 */ b .L7F0B8354 -/* 0ECCB8 7F0B8188 02401025 */ move $v0, $s2 -.L7F0B818C: -/* 0ECCBC 7F0B818C 8F39FF80 */ lw $t9, %lo(ptr_bgdata_portals)($t9) -/* 0ECCC0 7F0B8190 8FA80044 */ lw $t0, 0x44($sp) -/* 0ECCC4 7F0B8194 8FAC0084 */ lw $t4, 0x84($sp) -/* 0ECCC8 7F0B8198 27A50070 */ addiu $a1, $sp, 0x70 -/* 0ECCCC 7F0B819C 03281021 */ addu $v0, $t9, $t0 -/* 0ECCD0 7F0B81A0 90490005 */ lbu $t1, 5($v0) -/* 0ECCD4 7F0B81A4 904A0004 */ lbu $t2, 4($v0) -/* 0ECCD8 7F0B81A8 012A5826 */ xor $t3, $t1, $t2 -/* 0ECCDC 7F0B81AC 016C8826 */ xor $s1, $t3, $t4 -/* 0ECCE0 7F0B81B0 0FC2D482 */ jal sub_GAME_7F0B5208 -/* 0ECCE4 7F0B81B4 02202025 */ move $a0, $s1 -/* 0ECCE8 7F0B81B8 14400003 */ bnez $v0, .L7F0B81C8 -/* 0ECCEC 7F0B81BC 00000000 */ nop -/* 0ECCF0 7F0B81C0 10000064 */ b .L7F0B8354 -/* 0ECCF4 7F0B81C4 02401025 */ move $v0, $s2 -.L7F0B81C8: -/* 0ECCF8 7F0B81C8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0ECCFC 7F0B81CC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0ECD00 7F0B81D0 C4461118 */ lwc1 $f6, 0x1118($v0) -/* 0ECD04 7F0B81D4 E7A60070 */ swc1 $f6, 0x70($sp) -/* 0ECD08 7F0B81D8 C44A111C */ lwc1 $f10, 0x111c($v0) -/* 0ECD0C 7F0B81DC E7AA0074 */ swc1 $f10, 0x74($sp) -/* 0ECD10 7F0B81E0 C4501120 */ lwc1 $f16, 0x1120($v0) -/* 0ECD14 7F0B81E4 E7B00078 */ swc1 $f16, 0x78($sp) -/* 0ECD18 7F0B81E8 C4441124 */ lwc1 $f4, 0x1124($v0) -/* 0ECD1C 7F0B81EC 1000000E */ b .L7F0B8228 -/* 0ECD20 7F0B81F0 E7A4007C */ swc1 $f4, 0x7c($sp) -.L7F0B81F4: -/* 0ECD24 7F0B81F4 0FC2D619 */ jal sub_GAME_7F0B5864 -/* 0ECD28 7F0B81F8 27A50070 */ addiu $a1, $sp, 0x70 -/* 0ECD2C 7F0B81FC 14400003 */ bnez $v0, .L7F0B820C -/* 0ECD30 7F0B8200 27A40070 */ addiu $a0, $sp, 0x70 -/* 0ECD34 7F0B8204 10000053 */ b .L7F0B8354 -/* 0ECD38 7F0B8208 02401025 */ move $v0, $s2 -.L7F0B820C: -/* 0ECD3C 7F0B820C 0FC2D6F7 */ jal vis_is_inline_of_sight -/* 0ECD40 7F0B8210 8FA50090 */ lw $a1, 0x90($sp) -/* 0ECD44 7F0B8214 3C058008 */ lui $a1, %hi(pPlayer) -/* 0ECD48 7F0B8218 8CA5A0B0 */ lw $a1, %lo(pPlayer)($a1) -/* 0ECD4C 7F0B821C 27A40070 */ addiu $a0, $sp, 0x70 -/* 0ECD50 7F0B8220 0FC2D6F7 */ jal vis_is_inline_of_sight -/* 0ECD54 7F0B8224 24A51118 */ addiu $a1, $a1, 0x1118 -.L7F0B8228: -/* 0ECD58 7F0B8228 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 0ECD5C 7F0B822C C7B20078 */ lwc1 $f18, 0x78($sp) -/* 0ECD60 7F0B8230 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 0ECD64 7F0B8234 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0ECD68 7F0B8238 4608903E */ c.le.s $f18, $f8 -/* 0ECD6C 7F0B823C 00000000 */ nop -/* 0ECD70 7F0B8240 45010005 */ bc1t .L7F0B8258 -/* 0ECD74 7F0B8244 00000000 */ nop -/* 0ECD78 7F0B8248 4606503E */ c.le.s $f10, $f6 -/* 0ECD7C 7F0B824C 00000000 */ nop -/* 0ECD80 7F0B8250 45020004 */ bc1fl .L7F0B8264 -/* 0ECD84 7F0B8254 8FAD003C */ lw $t5, 0x3c($sp) -.L7F0B8258: -/* 0ECD88 7F0B8258 1000003E */ b .L7F0B8354 -/* 0ECD8C 7F0B825C 02401025 */ move $v0, $s2 -.L7F0B8260: -/* 0ECD90 7F0B8260 8FAD003C */ lw $t5, 0x3c($sp) -.L7F0B8264: -/* 0ECD94 7F0B8264 A1B30000 */ sb $s3, ($t5) -/* 0ECD98 7F0B8268 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0ECD9C 7F0B826C C7B00070 */ lwc1 $f16, 0x70($sp) -/* 0ECDA0 7F0B8270 C7B2007C */ lwc1 $f18, 0x7c($sp) -/* 0ECDA4 7F0B8274 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0ECDA8 7F0B8278 4604803C */ c.lt.s $f16, $f4 -/* 0ECDAC 7F0B827C 00000000 */ nop -/* 0ECDB0 7F0B8280 45000013 */ bc1f .L7F0B82D0 -/* 0ECDB4 7F0B8284 00000000 */ nop -/* 0ECDB8 7F0B8288 4612403C */ c.lt.s $f8, $f18 -/* 0ECDBC 7F0B828C 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0ECDC0 7F0B8290 8FAF0044 */ lw $t7, 0x44($sp) -/* 0ECDC4 7F0B8294 4500000E */ bc1f .L7F0B82D0 -/* 0ECDC8 7F0B8298 00000000 */ nop -/* 0ECDCC 7F0B829C 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0ECDD0 7F0B82A0 02202025 */ move $a0, $s1 -/* 0ECDD4 7F0B82A4 02602825 */ move $a1, $s3 -/* 0ECDD8 7F0B82A8 01CFC021 */ addu $t8, $t6, $t7 -/* 0ECDDC 7F0B82AC 93070006 */ lbu $a3, 6($t8) -/* 0ECDE0 7F0B82B0 27A60070 */ addiu $a2, $sp, 0x70 -/* 0ECDE4 7F0B82B4 30F90002 */ andi $t9, $a3, 2 -/* 0ECDE8 7F0B82B8 0FC2CE6F */ jal sub_GAME_7F0B39BC -/* 0ECDEC 7F0B82BC 03203825 */ move $a3, $t9 -/* 0ECDF0 7F0B82C0 10400005 */ beqz $v0, .L7F0B82D8 -/* 0ECDF4 7F0B82C4 3C048008 */ lui $a0, %hi(ptr_bgdata_portals) -/* 0ECDF8 7F0B82C8 10000022 */ b .L7F0B8354 -/* 0ECDFC 7F0B82CC 02401025 */ move $v0, $s2 -.L7F0B82D0: -/* 0ECE00 7F0B82D0 10000020 */ b .L7F0B8354 -/* 0ECE04 7F0B82D4 02401025 */ move $v0, $s2 -.L7F0B82D8: -/* 0ECE08 7F0B82D8 8C84FF80 */ lw $a0, %lo(ptr_bgdata_portals)($a0) -/* 0ECE0C 7F0B82DC 00008025 */ move $s0, $zero -/* 0ECE10 7F0B82E0 00001825 */ move $v1, $zero -/* 0ECE14 7F0B82E4 8C880000 */ lw $t0, ($a0) -/* 0ECE18 7F0B82E8 00801025 */ move $v0, $a0 -/* 0ECE1C 7F0B82EC 51000019 */ beql $t0, $zero, .L7F0B8354 -/* 0ECE20 7F0B82F0 02401025 */ move $v0, $s2 -.L7F0B82F4: -/* 0ECE24 7F0B82F4 52140012 */ beql $s0, $s4, .L7F0B8340 -/* 0ECE28 7F0B82F8 8C4D0008 */ lw $t5, 8($v0) -/* 0ECE2C 7F0B82FC 90490004 */ lbu $t1, 4($v0) -/* 0ECE30 7F0B8300 02402025 */ move $a0, $s2 -/* 0ECE34 7F0B8304 02202825 */ move $a1, $s1 -/* 0ECE38 7F0B8308 12290003 */ beq $s1, $t1, .L7F0B8318 -/* 0ECE3C 7F0B830C 02003025 */ move $a2, $s0 -/* 0ECE40 7F0B8310 904A0005 */ lbu $t2, 5($v0) -/* 0ECE44 7F0B8314 162A0009 */ bne $s1, $t2, .L7F0B833C -.L7F0B8318: -/* 0ECE48 7F0B8318 27AB0070 */ addiu $t3, $sp, 0x70 -/* 0ECE4C 7F0B831C AFAB0010 */ sw $t3, 0x10($sp) -/* 0ECE50 7F0B8320 26670001 */ addiu $a3, $s3, 1 -/* 0ECE54 7F0B8324 0FC2DF79 */ jal sub_GAME_7F0B7DE4 -/* 0ECE58 7F0B8328 AFA30040 */ sw $v1, 0x40($sp) -/* 0ECE5C 7F0B832C 3C0C8008 */ lui $t4, %hi(ptr_bgdata_portals) -/* 0ECE60 7F0B8330 8D8CFF80 */ lw $t4, %lo(ptr_bgdata_portals)($t4) -/* 0ECE64 7F0B8334 8FA30040 */ lw $v1, 0x40($sp) -/* 0ECE68 7F0B8338 01831021 */ addu $v0, $t4, $v1 -.L7F0B833C: -/* 0ECE6C 7F0B833C 8C4D0008 */ lw $t5, 8($v0) -.L7F0B8340: -/* 0ECE70 7F0B8340 26100001 */ addiu $s0, $s0, 1 -/* 0ECE74 7F0B8344 24630008 */ addiu $v1, $v1, 8 -/* 0ECE78 7F0B8348 15A0FFEA */ bnez $t5, .L7F0B82F4 -/* 0ECE7C 7F0B834C 24420008 */ addiu $v0, $v0, 8 -/* 0ECE80 7F0B8350 02401025 */ move $v0, $s2 -.L7F0B8354: -/* 0ECE84 7F0B8354 8FBF0034 */ lw $ra, 0x34($sp) -/* 0ECE88 7F0B8358 8FB00020 */ lw $s0, 0x20($sp) -/* 0ECE8C 7F0B835C 8FB10024 */ lw $s1, 0x24($sp) -/* 0ECE90 7F0B8360 8FB20028 */ lw $s2, 0x28($sp) -/* 0ECE94 7F0B8364 8FB3002C */ lw $s3, 0x2c($sp) -/* 0ECE98 7F0B8368 8FB40030 */ lw $s4, 0x30($sp) -/* 0ECE9C 7F0B836C 03E00008 */ jr $ra -/* 0ECEA0 7F0B8370 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -s32 push_arg_to_table(s32 arg0) { - // Node 0 - *(&D_800448A8 + (D_800448F8 * 4)) = arg0; - D_800448F8 = (s32) ((s32) (D_800448F8 + 1) % 0x14); - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel push_arg_to_table -/* 0ECEA4 7F0B8374 3C058004 */ lui $a1, %hi(D_800448F8) -/* 0ECEA8 7F0B8378 24A548F8 */ addiu $a1, %lo(D_800448F8) # addiu $a1, $a1, 0x48f8 -/* 0ECEAC 7F0B837C 8CA30000 */ lw $v1, ($a1) -/* 0ECEB0 7F0B8380 3C018004 */ lui $at, %hi(D_800448A8) -/* 0ECEB4 7F0B8384 00801025 */ move $v0, $a0 -/* 0ECEB8 7F0B8388 00037080 */ sll $t6, $v1, 2 -/* 0ECEBC 7F0B838C 002E0821 */ addu $at, $at, $t6 -/* 0ECEC0 7F0B8390 AC2448A8 */ sw $a0, %lo(D_800448A8)($at) -/* 0ECEC4 7F0B8394 24010014 */ li $at, 20 -/* 0ECEC8 7F0B8398 246F0001 */ addiu $t7, $v1, 1 -/* 0ECECC 7F0B839C 01E1001A */ div $zero, $t7, $at -/* 0ECED0 7F0B83A0 0000C010 */ mfhi $t8 -/* 0ECED4 7F0B83A4 ACB80000 */ sw $t8, ($a1) -/* 0ECED8 7F0B83A8 03E00008 */ jr $ra -/* 0ECEDC 7F0B83AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void pull_arg_from_stack(void) { - s32 temp_hi; - - // Node 0 - temp_hi = ((s32) (D_800448F8 + 0x13) % 0x14); - D_800448F8 = temp_hi; - return *(&D_800448A8 + (temp_hi * 4)); -} -#else -GLOBAL_ASM( -.text -glabel pull_arg_from_stack -/* 0ECEE0 7F0B83B0 3C048004 */ lui $a0, %hi(D_800448F8) -/* 0ECEE4 7F0B83B4 248448F8 */ addiu $a0, %lo(D_800448F8) # addiu $a0, $a0, 0x48f8 -/* 0ECEE8 7F0B83B8 8C8E0000 */ lw $t6, ($a0) -/* 0ECEEC 7F0B83BC 24010014 */ li $at, 20 -/* 0ECEF0 7F0B83C0 3C038004 */ lui $v1, %hi(D_800448A8) -/* 0ECEF4 7F0B83C4 25CF0013 */ addiu $t7, $t6, 0x13 -/* 0ECEF8 7F0B83C8 01E1001A */ div $zero, $t7, $at -/* 0ECEFC 7F0B83CC 0000C010 */ mfhi $t8 -/* 0ECF00 7F0B83D0 00184080 */ sll $t0, $t8, 2 -/* 0ECF04 7F0B83D4 00681821 */ addu $v1, $v1, $t0 -/* 0ECF08 7F0B83D8 AC980000 */ sw $t8, ($a0) -/* 0ECF0C 7F0B83DC 03E00008 */ jr $ra -/* 0ECF10 7F0B83E0 8C6248A8 */ lw $v0, %lo(D_800448A8)($v1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B83E4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B83E4 -/* 0ECF14 7F0B83E4 3C0E8004 */ lui $t6, %hi(D_800448F8) -/* 0ECF18 7F0B83E8 8DCE48F8 */ lw $t6, %lo(D_800448F8)($t6) -/* 0ECF1C 7F0B83EC 24010014 */ li $at, 20 -/* 0ECF20 7F0B83F0 3C028004 */ lui $v0, %hi(D_800448A8) -/* 0ECF24 7F0B83F4 01C47823 */ subu $t7, $t6, $a0 -/* 0ECF28 7F0B83F8 25F80013 */ addiu $t8, $t7, 0x13 -/* 0ECF2C 7F0B83FC 0301001A */ div $zero, $t8, $at -/* 0ECF30 7F0B8400 0000C810 */ mfhi $t9 -/* 0ECF34 7F0B8404 00194080 */ sll $t0, $t9, 2 -/* 0ECF38 7F0B8408 00481021 */ addu $v0, $v0, $t0 -/* 0ECF3C 7F0B840C 03E00008 */ jr $ra -/* 0ECF40 7F0B8410 8C4248A8 */ lw $v0, %lo(D_800448A8)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void parse_global_vis_command_list(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80058C80*/ -glabel jpt_80058C80 -.word if_statement -.word dont_exec_commands_even_on_return -.word endif_continue_exec -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word if_statement_pull_from_stack -.word toggle_exec_vs_ro -.word endif - -/*D:80058CB4*/ -glabel vis_command_jpt -.word break -.word push_to_stack -.word pull_from_stack -.word and_merge_last_two_on_stack -.word or_merge_last_two_on_stack -.word not_merge_last_two_on_stack -.word carrot_merge_last_two_on_stack -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word push_tf_if_in_range_rooms -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word invalid_type_terminate -.word force_visible -.word match_portal_vis -.word add_visible_room -.word remove_vis -.word visible_if_seen_through_portal -.word not_visible_if_seen_through_portal -.word disable_room -.word disable_room_range -.word preload_room -.word preload_room_range -.text -glabel parse_global_vis_command_list -/* 0ECF44 7F0B8414 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0ECF48 7F0B8418 AFB30024 */ sw $s3, 0x24($sp) -/* 0ECF4C 7F0B841C AFB20020 */ sw $s2, 0x20($sp) -/* 0ECF50 7F0B8420 AFB1001C */ sw $s1, 0x1c($sp) -/* 0ECF54 7F0B8424 3C018008 */ lui $at, %hi(dword_CODE_bss_80081600 + 0x10) -/* 0ECF58 7F0B8428 00808825 */ move $s1, $a0 -/* 0ECF5C 7F0B842C 00A09025 */ move $s2, $a1 -/* 0ECF60 7F0B8430 AFBF003C */ sw $ra, 0x3c($sp) -/* 0ECF64 7F0B8434 AFBE0038 */ sw $fp, 0x38($sp) -/* 0ECF68 7F0B8438 AFB70034 */ sw $s7, 0x34($sp) -/* 0ECF6C 7F0B843C AFB60030 */ sw $s6, 0x30($sp) -/* 0ECF70 7F0B8440 AFB5002C */ sw $s5, 0x2c($sp) -/* 0ECF74 7F0B8444 AFB40028 */ sw $s4, 0x28($sp) -/* 0ECF78 7F0B8448 AFB00018 */ sw $s0, 0x18($sp) -/* 0ECF7C 7F0B844C 24130001 */ li $s3, 1 -/* 0ECF80 7F0B8450 14800003 */ bnez $a0, .L7F0B8460 -/* 0ECF84 7F0B8454 AC201610 */ sw $zero, %lo(dword_CODE_bss_80081600 + 0x10)($at) -/* 0ECF88 7F0B8458 10000166 */ b .L7F0B89F4 -/* 0ECF8C 7F0B845C 00801025 */ move $v0, $a0 -.L7F0B8460: -/* 0ECF90 7F0B8460 3C1E8008 */ lui $fp, %hi(pPlayer) -/* 0ECF94 7F0B8464 3C168008 */ lui $s6, %hi(dword_CODE_bss_80081600) -/* 0ECF98 7F0B8468 3C148004 */ lui $s4, %hi(current_visibility) -/* 0ECF9C 7F0B846C 269448FC */ addiu $s4, %lo(current_visibility) # addiu $s4, $s4, 0x48fc -/* 0ECFA0 7F0B8470 26D61600 */ addiu $s6, %lo(dword_CODE_bss_80081600) # addiu $s6, $s6, 0x1600 -/* 0ECFA4 7F0B8474 27DEA0B0 */ addiu $fp, %lo(pPlayer) # addiu $fp, $fp, -0x5f50 -/* 0ECFA8 7F0B8478 24170001 */ li $s7, 1 -/* 0ECFAC 7F0B847C 24150001 */ li $s5, 1 -.L7F0B8480: -/* 0ECFB0 7F0B8480 92240000 */ lbu $a0, ($s1) -.L7F0B8484: -/* 0ECFB4 7F0B8484 28810028 */ slti $at, $a0, 0x28 -/* 0ECFB8 7F0B8488 14200009 */ bnez $at, .L7F0B84B0 -/* 0ECFBC 7F0B848C 248EFFB0 */ addiu $t6, $a0, -0x50 -/* 0ECFC0 7F0B8490 2DC1000D */ sltiu $at, $t6, 0xd -/* 0ECFC4 7F0B8494 10200156 */ beqz $at, .L7F0B89F0 -/* 0ECFC8 7F0B8498 000E7080 */ sll $t6, $t6, 2 -/* 0ECFCC 7F0B849C 3C018006 */ lui $at, %hi(jpt_80058C80) -/* 0ECFD0 7F0B84A0 002E0821 */ addu $at, $at, $t6 -/* 0ECFD4 7F0B84A4 8C2E8C80 */ lw $t6, %lo(jpt_80058C80)($at) -/* 0ECFD8 7F0B84A8 01C00008 */ jr $t6 -/* 0ECFDC 7F0B84AC 00000000 */ nop -.L7F0B84B0: -/* 0ECFE0 7F0B84B0 2C810028 */ sltiu $at, $a0, 0x28 -/* 0ECFE4 7F0B84B4 1020014E */ beqz $at, .L7F0B89F0 -/* 0ECFE8 7F0B84B8 00047880 */ sll $t7, $a0, 2 -/* 0ECFEC 7F0B84BC 3C018006 */ lui $at, %hi(vis_command_jpt) -/* 0ECFF0 7F0B84C0 002F0821 */ addu $at, $at, $t7 -/* 0ECFF4 7F0B84C4 8C2F8CB4 */ lw $t7, %lo(vis_command_jpt)($at) -/* 0ECFF8 7F0B84C8 01E00008 */ jr $t7 -/* 0ECFFC 7F0B84CC 00000000 */ nop -break: -/* 0ED000 7F0B84D0 10000148 */ b .L7F0B89F4 -/* 0ED004 7F0B84D4 02201025 */ move $v0, $s1 -push_to_stack: -/* 0ED008 7F0B84D8 52400004 */ beql $s2, $zero, .L7F0B84EC -/* 0ED00C 7F0B84DC 92380001 */ lbu $t8, 1($s1) -/* 0ED010 7F0B84E0 0FC2E0DD */ jal push_arg_to_table -/* 0ED014 7F0B84E4 8E240004 */ lw $a0, 4($s1) -/* 0ED018 7F0B84E8 92380001 */ lbu $t8, 1($s1) -.L7F0B84EC: -/* 0ED01C 7F0B84EC 0018C8C0 */ sll $t9, $t8, 3 -/* 0ED020 7F0B84F0 1000FFE3 */ b .L7F0B8480 -/* 0ED024 7F0B84F4 02398821 */ addu $s1, $s1, $t9 -pull_from_stack: -/* 0ED028 7F0B84F8 52400004 */ beql $s2, $zero, .L7F0B850C -/* 0ED02C 7F0B84FC 92280001 */ lbu $t0, 1($s1) -/* 0ED030 7F0B8500 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED034 7F0B8504 00000000 */ nop -/* 0ED038 7F0B8508 92280001 */ lbu $t0, 1($s1) -.L7F0B850C: -/* 0ED03C 7F0B850C 000848C0 */ sll $t1, $t0, 3 -/* 0ED040 7F0B8510 1000FFDB */ b .L7F0B8480 -/* 0ED044 7F0B8514 02298821 */ addu $s1, $s1, $t1 -and_merge_last_two_on_stack: -/* 0ED048 7F0B8518 52400008 */ beql $s2, $zero, .L7F0B853C -/* 0ED04C 7F0B851C 922A0001 */ lbu $t2, 1($s1) -/* 0ED050 7F0B8520 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED054 7F0B8524 00000000 */ nop -/* 0ED058 7F0B8528 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED05C 7F0B852C 00408025 */ move $s0, $v0 -/* 0ED060 7F0B8530 0FC2E0DD */ jal push_arg_to_table -/* 0ED064 7F0B8534 00502024 */ and $a0, $v0, $s0 -/* 0ED068 7F0B8538 922A0001 */ lbu $t2, 1($s1) -.L7F0B853C: -/* 0ED06C 7F0B853C 000A58C0 */ sll $t3, $t2, 3 -/* 0ED070 7F0B8540 1000FFCF */ b .L7F0B8480 -/* 0ED074 7F0B8544 022B8821 */ addu $s1, $s1, $t3 -or_merge_last_two_on_stack: -/* 0ED078 7F0B8548 52400008 */ beql $s2, $zero, .L7F0B856C -/* 0ED07C 7F0B854C 922C0001 */ lbu $t4, 1($s1) -/* 0ED080 7F0B8550 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED084 7F0B8554 00000000 */ nop -/* 0ED088 7F0B8558 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED08C 7F0B855C 00408025 */ move $s0, $v0 -/* 0ED090 7F0B8560 0FC2E0DD */ jal push_arg_to_table -/* 0ED094 7F0B8564 00502025 */ or $a0, $v0, $s0 -/* 0ED098 7F0B8568 922C0001 */ lbu $t4, 1($s1) -.L7F0B856C: -/* 0ED09C 7F0B856C 000C68C0 */ sll $t5, $t4, 3 -/* 0ED0A0 7F0B8570 1000FFC3 */ b .L7F0B8480 -/* 0ED0A4 7F0B8574 022D8821 */ addu $s1, $s1, $t5 -not_merge_last_two_on_stack: -/* 0ED0A8 7F0B8578 52400006 */ beql $s2, $zero, .L7F0B8594 -/* 0ED0AC 7F0B857C 922E0001 */ lbu $t6, 1($s1) -/* 0ED0B0 7F0B8580 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED0B4 7F0B8584 00000000 */ nop -/* 0ED0B8 7F0B8588 0FC2E0DD */ jal push_arg_to_table -/* 0ED0BC 7F0B858C 2C440001 */ sltiu $a0, $v0, 1 -/* 0ED0C0 7F0B8590 922E0001 */ lbu $t6, 1($s1) -.L7F0B8594: -/* 0ED0C4 7F0B8594 000E78C0 */ sll $t7, $t6, 3 -/* 0ED0C8 7F0B8598 1000FFB9 */ b .L7F0B8480 -/* 0ED0CC 7F0B859C 022F8821 */ addu $s1, $s1, $t7 -carrot_merge_last_two_on_stack: -/* 0ED0D0 7F0B85A0 52400008 */ beql $s2, $zero, .L7F0B85C4 -/* 0ED0D4 7F0B85A4 92380001 */ lbu $t8, 1($s1) -/* 0ED0D8 7F0B85A8 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED0DC 7F0B85AC 00000000 */ nop -/* 0ED0E0 7F0B85B0 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED0E4 7F0B85B4 00408025 */ move $s0, $v0 -/* 0ED0E8 7F0B85B8 0FC2E0DD */ jal push_arg_to_table -/* 0ED0EC 7F0B85BC 00502026 */ xor $a0, $v0, $s0 -/* 0ED0F0 7F0B85C0 92380001 */ lbu $t8, 1($s1) -.L7F0B85C4: -/* 0ED0F4 7F0B85C4 0018C8C0 */ sll $t9, $t8, 3 -/* 0ED0F8 7F0B85C8 1000FFAD */ b .L7F0B8480 -/* 0ED0FC 7F0B85CC 02398821 */ addu $s1, $s1, $t9 -push_tf_if_in_range_rooms: -/* 0ED100 7F0B85D0 1240000C */ beqz $s2, .L7F0B8604 -/* 0ED104 7F0B85D4 3C028004 */ lui $v0, %hi(current_room_maybe) -/* 0ED108 7F0B85D8 8C424838 */ lw $v0, %lo(current_room_maybe)($v0) -/* 0ED10C 7F0B85DC 8E28000C */ lw $t0, 0xc($s1) -/* 0ED110 7F0B85E0 0048202A */ slt $a0, $v0, $t0 -/* 0ED114 7F0B85E4 38840001 */ xori $a0, $a0, 1 -/* 0ED118 7F0B85E8 10800004 */ beqz $a0, .L7F0B85FC -/* 0ED11C 7F0B85EC 00000000 */ nop -/* 0ED120 7F0B85F0 8E290014 */ lw $t1, 0x14($s1) -/* 0ED124 7F0B85F4 0122202A */ slt $a0, $t1, $v0 -/* 0ED128 7F0B85F8 38840001 */ xori $a0, $a0, 1 -.L7F0B85FC: -/* 0ED12C 7F0B85FC 0FC2E0DD */ jal push_arg_to_table -/* 0ED130 7F0B8600 00000000 */ nop -.L7F0B8604: -/* 0ED134 7F0B8604 922A0001 */ lbu $t2, 1($s1) -/* 0ED138 7F0B8608 000A58C0 */ sll $t3, $t2, 3 -/* 0ED13C 7F0B860C 1000FF9C */ b .L7F0B8480 -/* 0ED140 7F0B8610 022B8821 */ addu $s1, $s1, $t3 -force_visible: -/* 0ED144 7F0B8614 5240000C */ beql $s2, $zero, .L7F0B8648 -/* 0ED148 7F0B8618 922C0001 */ lbu $t4, 1($s1) -/* 0ED14C 7F0B861C 8FC20000 */ lw $v0, ($fp) -/* 0ED150 7F0B8620 C4441118 */ lwc1 $f4, 0x1118($v0) -/* 0ED154 7F0B8624 E6C40000 */ swc1 $f4, ($s6) -/* 0ED158 7F0B8628 C446111C */ lwc1 $f6, 0x111c($v0) -/* 0ED15C 7F0B862C E6C60004 */ swc1 $f6, 4($s6) -/* 0ED160 7F0B8630 C4481120 */ lwc1 $f8, 0x1120($v0) -/* 0ED164 7F0B8634 E6C80008 */ swc1 $f8, 8($s6) -/* 0ED168 7F0B8638 C44A1124 */ lwc1 $f10, 0x1124($v0) -/* 0ED16C 7F0B863C AE800000 */ sw $zero, ($s4) -/* 0ED170 7F0B8640 E6CA000C */ swc1 $f10, 0xc($s6) -/* 0ED174 7F0B8644 922C0001 */ lbu $t4, 1($s1) -.L7F0B8648: -/* 0ED178 7F0B8648 000C68C0 */ sll $t5, $t4, 3 -/* 0ED17C 7F0B864C 1000FF8C */ b .L7F0B8480 -/* 0ED180 7F0B8650 022D8821 */ addu $s1, $s1, $t5 -match_portal_vis: -/* 0ED184 7F0B8654 12400010 */ beqz $s2, .L7F0B8698 -/* 0ED188 7F0B8658 02C02825 */ move $a1, $s6 -/* 0ED18C 7F0B865C 0FC2D619 */ jal sub_GAME_7F0B5864 -/* 0ED190 7F0B8660 8E24000C */ lw $a0, 0xc($s1) -/* 0ED194 7F0B8664 54400004 */ bnezl $v0, .L7F0B8678 -/* 0ED198 7F0B8668 8FC50000 */ lw $a1, ($fp) -/* 0ED19C 7F0B866C 1000000A */ b .L7F0B8698 -/* 0ED1A0 7F0B8670 AE970000 */ sw $s7, ($s4) -/* 0ED1A4 7F0B8674 8FC50000 */ lw $a1, ($fp) -.L7F0B8678: -/* 0ED1A8 7F0B8678 02C02025 */ move $a0, $s6 -/* 0ED1AC 7F0B867C 0FC2D6F7 */ jal vis_is_inline_of_sight -/* 0ED1B0 7F0B8680 24A51118 */ addiu $a1, $a1, 0x1118 -/* 0ED1B4 7F0B8684 54400004 */ bnezl $v0, .L7F0B8698 -/* 0ED1B8 7F0B8688 AE800000 */ sw $zero, ($s4) -/* 0ED1BC 7F0B868C 10000002 */ b .L7F0B8698 -/* 0ED1C0 7F0B8690 AE970000 */ sw $s7, ($s4) -/* 0ED1C4 7F0B8694 AE800000 */ sw $zero, ($s4) -.L7F0B8698: -/* 0ED1C8 7F0B8698 922E0001 */ lbu $t6, 1($s1) -/* 0ED1CC 7F0B869C 000E78C0 */ sll $t7, $t6, 3 -/* 0ED1D0 7F0B86A0 1000FF77 */ b .L7F0B8480 -/* 0ED1D4 7F0B86A4 022F8821 */ addu $s1, $s1, $t7 -visible_if_seen_through_portal: -/* 0ED1D8 7F0B86A8 12400016 */ beqz $s2, .L7F0B8704 -/* 0ED1DC 7F0B86AC 27A50068 */ addiu $a1, $sp, 0x68 -/* 0ED1E0 7F0B86B0 0FC2D619 */ jal sub_GAME_7F0B5864 -/* 0ED1E4 7F0B86B4 8E24000C */ lw $a0, 0xc($s1) -/* 0ED1E8 7F0B86B8 50400013 */ beql $v0, $zero, .L7F0B8708 -/* 0ED1EC 7F0B86BC 92390001 */ lbu $t9, 1($s1) -/* 0ED1F0 7F0B86C0 8FC50000 */ lw $a1, ($fp) -/* 0ED1F4 7F0B86C4 27A40068 */ addiu $a0, $sp, 0x68 -/* 0ED1F8 7F0B86C8 0FC2D6F7 */ jal vis_is_inline_of_sight -/* 0ED1FC 7F0B86CC 24A51118 */ addiu $a1, $a1, 0x1118 -/* 0ED200 7F0B86D0 5040000D */ beql $v0, $zero, .L7F0B8708 -/* 0ED204 7F0B86D4 92390001 */ lbu $t9, 1($s1) -/* 0ED208 7F0B86D8 8E980000 */ lw $t8, ($s4) -/* 0ED20C 7F0B86DC 27A50068 */ addiu $a1, $sp, 0x68 -/* 0ED210 7F0B86E0 02C02025 */ move $a0, $s6 -/* 0ED214 7F0B86E4 13000005 */ beqz $t8, .L7F0B86FC -/* 0ED218 7F0B86E8 00000000 */ nop -/* 0ED21C 7F0B86EC 0FC2D756 */ jal copy_4_floats_a1_to_a0 -/* 0ED220 7F0B86F0 02C02025 */ move $a0, $s6 -/* 0ED224 7F0B86F4 10000003 */ b .L7F0B8704 -/* 0ED228 7F0B86F8 AE800000 */ sw $zero, ($s4) -.L7F0B86FC: -/* 0ED22C 7F0B86FC 0FC2D730 */ jal sub_GAME_7F0B5CC0 -/* 0ED230 7F0B8700 27A50068 */ addiu $a1, $sp, 0x68 -.L7F0B8704: -/* 0ED234 7F0B8704 92390001 */ lbu $t9, 1($s1) -.L7F0B8708: -/* 0ED238 7F0B8708 001940C0 */ sll $t0, $t9, 3 -/* 0ED23C 7F0B870C 1000FF5C */ b .L7F0B8480 -/* 0ED240 7F0B8710 02288821 */ addu $s1, $s1, $t0 -not_visible_if_seen_through_portal: -/* 0ED244 7F0B8714 52400019 */ beql $s2, $zero, .L7F0B877C -/* 0ED248 7F0B8718 922A0001 */ lbu $t2, 1($s1) -/* 0ED24C 7F0B871C 8E890000 */ lw $t1, ($s4) -/* 0ED250 7F0B8720 27A50058 */ addiu $a1, $sp, 0x58 -/* 0ED254 7F0B8724 55200015 */ bnezl $t1, .L7F0B877C -/* 0ED258 7F0B8728 922A0001 */ lbu $t2, 1($s1) -/* 0ED25C 7F0B872C 0FC2D619 */ jal sub_GAME_7F0B5864 -/* 0ED260 7F0B8730 8E24000C */ lw $a0, 0xc($s1) -/* 0ED264 7F0B8734 54400004 */ bnezl $v0, .L7F0B8748 -/* 0ED268 7F0B8738 8FC50000 */ lw $a1, ($fp) -/* 0ED26C 7F0B873C 1000000E */ b .L7F0B8778 -/* 0ED270 7F0B8740 AE970000 */ sw $s7, ($s4) -/* 0ED274 7F0B8744 8FC50000 */ lw $a1, ($fp) -.L7F0B8748: -/* 0ED278 7F0B8748 27A40058 */ addiu $a0, $sp, 0x58 -/* 0ED27C 7F0B874C 0FC2D6F7 */ jal vis_is_inline_of_sight -/* 0ED280 7F0B8750 24A51118 */ addiu $a1, $a1, 0x1118 -/* 0ED284 7F0B8754 14400003 */ bnez $v0, .L7F0B8764 -/* 0ED288 7F0B8758 02C02025 */ move $a0, $s6 -/* 0ED28C 7F0B875C 10000006 */ b .L7F0B8778 -/* 0ED290 7F0B8760 AE970000 */ sw $s7, ($s4) -.L7F0B8764: -/* 0ED294 7F0B8764 0FC2D6F7 */ jal vis_is_inline_of_sight -/* 0ED298 7F0B8768 27A50058 */ addiu $a1, $sp, 0x58 -/* 0ED29C 7F0B876C 54400003 */ bnezl $v0, .L7F0B877C -/* 0ED2A0 7F0B8770 922A0001 */ lbu $t2, 1($s1) -/* 0ED2A4 7F0B8774 AE970000 */ sw $s7, ($s4) -.L7F0B8778: -/* 0ED2A8 7F0B8778 922A0001 */ lbu $t2, 1($s1) -.L7F0B877C: -/* 0ED2AC 7F0B877C 000A58C0 */ sll $t3, $t2, 3 -/* 0ED2B0 7F0B8780 1000FF3F */ b .L7F0B8480 -/* 0ED2B4 7F0B8784 022B8821 */ addu $s1, $s1, $t3 -add_visible_room: -/* 0ED2B8 7F0B8788 52400017 */ beql $s2, $zero, .L7F0B87E8 -/* 0ED2BC 7F0B878C 922F0001 */ lbu $t7, 1($s1) -/* 0ED2C0 7F0B8790 8E8C0000 */ lw $t4, ($s4) -/* 0ED2C4 7F0B8794 02C02825 */ move $a1, $s6 -/* 0ED2C8 7F0B8798 55800013 */ bnezl $t4, .L7F0B87E8 -/* 0ED2CC 7F0B879C 922F0001 */ lbu $t7, 1($s1) -/* 0ED2D0 7F0B87A0 0FC2D482 */ jal sub_GAME_7F0B5208 -/* 0ED2D4 7F0B87A4 8E24000C */ lw $a0, 0xc($s1) -/* 0ED2D8 7F0B87A8 1040000E */ beqz $v0, .L7F0B87E4 -/* 0ED2DC 7F0B87AC 00002825 */ move $a1, $zero -/* 0ED2E0 7F0B87B0 8E24000C */ lw $a0, 0xc($s1) -/* 0ED2E4 7F0B87B4 02C03025 */ move $a2, $s6 -/* 0ED2E8 7F0B87B8 0FC2CE6F */ jal sub_GAME_7F0B39BC -/* 0ED2EC 7F0B87BC 00003825 */ move $a3, $zero -/* 0ED2F0 7F0B87C0 3C038008 */ lui $v1, %hi(num_visible_rooms_in_cur_global_vis_packet) -/* 0ED2F4 7F0B87C4 8C63C038 */ lw $v1, %lo(num_visible_rooms_in_cur_global_vis_packet)($v1) -/* 0ED2F8 7F0B87C8 8E2D000C */ lw $t5, 0xc($s1) -/* 0ED2FC 7F0B87CC 3C018008 */ lui $at, %hi(list_visible_rooms_in_cur_global_vis_packet) -/* 0ED300 7F0B87D0 00230821 */ addu $at, $at, $v1 -/* 0ED304 7F0B87D4 A02DBFA0 */ sb $t5, %lo(list_visible_rooms_in_cur_global_vis_packet)($at) -/* 0ED308 7F0B87D8 3C018008 */ lui $at, %hi(num_visible_rooms_in_cur_global_vis_packet) -/* 0ED30C 7F0B87DC 246E0001 */ addiu $t6, $v1, 1 -/* 0ED310 7F0B87E0 AC2EC038 */ sw $t6, %lo(num_visible_rooms_in_cur_global_vis_packet)($at) -.L7F0B87E4: -/* 0ED314 7F0B87E4 922F0001 */ lbu $t7, 1($s1) -.L7F0B87E8: -/* 0ED318 7F0B87E8 000FC0C0 */ sll $t8, $t7, 3 -/* 0ED31C 7F0B87EC 1000FF24 */ b .L7F0B8480 -/* 0ED320 7F0B87F0 02388821 */ addu $s1, $s1, $t8 -disable_room: -/* 0ED324 7F0B87F4 52400009 */ beql $s2, $zero, .L7F0B881C -/* 0ED328 7F0B87F8 92290001 */ lbu $t1, 1($s1) -/* 0ED32C 7F0B87FC 8E39000C */ lw $t9, 0xc($s1) -/* 0ED330 7F0B8800 3C018004 */ lui $at, %hi(room_information+0x24) -/* 0ED334 7F0B8804 00194080 */ sll $t0, $t9, 2 -/* 0ED338 7F0B8808 01194021 */ addu $t0, $t0, $t9 -/* 0ED33C 7F0B880C 00084100 */ sll $t0, $t0, 4 -/* 0ED340 7F0B8810 00280821 */ addu $at, $at, $t0 -/* 0ED344 7F0B8814 A0351448 */ sb $s5, %lo(room_information+0x24)($at) -/* 0ED348 7F0B8818 92290001 */ lbu $t1, 1($s1) -.L7F0B881C: -/* 0ED34C 7F0B881C 000950C0 */ sll $t2, $t1, 3 -/* 0ED350 7F0B8820 1000FF17 */ b .L7F0B8480 -/* 0ED354 7F0B8824 022A8821 */ addu $s1, $s1, $t2 -disable_room_range: -/* 0ED358 7F0B8828 52400013 */ beql $s2, $zero, .L7F0B8878 -/* 0ED35C 7F0B882C 922F0001 */ lbu $t7, 1($s1) -/* 0ED360 7F0B8830 8E22000C */ lw $v0, 0xc($s1) -/* 0ED364 7F0B8834 8E2B0014 */ lw $t3, 0x14($s1) -/* 0ED368 7F0B8838 3C0D8004 */ lui $t5, %hi(D_80041414) -/* 0ED36C 7F0B883C 00026080 */ sll $t4, $v0, 2 -/* 0ED370 7F0B8840 0162082A */ slt $at, $t3, $v0 -/* 0ED374 7F0B8844 1420000B */ bnez $at, .L7F0B8874 -/* 0ED378 7F0B8848 01826021 */ addu $t4, $t4, $v0 -/* 0ED37C 7F0B884C 000C6100 */ sll $t4, $t4, 4 -/* 0ED380 7F0B8850 25AD1414 */ addiu $t5, %lo(D_80041414) # addiu $t5, $t5, 0x1414 -/* 0ED384 7F0B8854 018D1821 */ addu $v1, $t4, $t5 -/* 0ED388 7F0B8858 A0750034 */ sb $s5, 0x34($v1) -.L7F0B885C: -/* 0ED38C 7F0B885C 8E2E0014 */ lw $t6, 0x14($s1) -/* 0ED390 7F0B8860 24420001 */ addiu $v0, $v0, 1 -/* 0ED394 7F0B8864 24630050 */ addiu $v1, $v1, 0x50 -/* 0ED398 7F0B8868 01C2082A */ slt $at, $t6, $v0 -/* 0ED39C 7F0B886C 5020FFFB */ beql $at, $zero, .L7F0B885C -/* 0ED3A0 7F0B8870 A0750034 */ sb $s5, 0x34($v1) -.L7F0B8874: -/* 0ED3A4 7F0B8874 922F0001 */ lbu $t7, 1($s1) -.L7F0B8878: -/* 0ED3A8 7F0B8878 000FC0C0 */ sll $t8, $t7, 3 -/* 0ED3AC 7F0B887C 1000FF00 */ b .L7F0B8480 -/* 0ED3B0 7F0B8880 02388821 */ addu $s1, $s1, $t8 -preload_room: -/* 0ED3B4 7F0B8884 52400009 */ beql $s2, $zero, .L7F0B88AC -/* 0ED3B8 7F0B8888 92280001 */ lbu $t0, 1($s1) -/* 0ED3BC 7F0B888C 52600007 */ beql $s3, $zero, .L7F0B88AC -/* 0ED3C0 7F0B8890 92280001 */ lbu $t0, 1($s1) -/* 0ED3C4 7F0B8894 0FC2D8C5 */ jal sub_GAME_7F0B6314 -/* 0ED3C8 7F0B8898 8E24000C */ lw $a0, 0xc($s1) -/* 0ED3CC 7F0B889C 2C530001 */ sltiu $s3, $v0, 1 -/* 0ED3D0 7F0B88A0 327900FF */ andi $t9, $s3, 0xff -/* 0ED3D4 7F0B88A4 03209825 */ move $s3, $t9 -/* 0ED3D8 7F0B88A8 92280001 */ lbu $t0, 1($s1) -.L7F0B88AC: -/* 0ED3DC 7F0B88AC 000848C0 */ sll $t1, $t0, 3 -/* 0ED3E0 7F0B88B0 1000FEF3 */ b .L7F0B8480 -/* 0ED3E4 7F0B88B4 02298821 */ addu $s1, $s1, $t1 -preload_room_range: -/* 0ED3E8 7F0B88B8 52400013 */ beql $s2, $zero, .L7F0B8908 -/* 0ED3EC 7F0B88BC 922B0001 */ lbu $t3, 1($s1) -/* 0ED3F0 7F0B88C0 8E30000C */ lw $s0, 0xc($s1) -/* 0ED3F4 7F0B88C4 8E230014 */ lw $v1, 0x14($s1) -/* 0ED3F8 7F0B88C8 0070082A */ slt $at, $v1, $s0 -/* 0ED3FC 7F0B88CC 5420000E */ bnezl $at, .L7F0B8908 -/* 0ED400 7F0B88D0 922B0001 */ lbu $t3, 1($s1) -.L7F0B88D4: -/* 0ED404 7F0B88D4 52600008 */ beql $s3, $zero, .L7F0B88F8 -/* 0ED408 7F0B88D8 26100001 */ addiu $s0, $s0, 1 -/* 0ED40C 7F0B88DC 0FC2D8C5 */ jal sub_GAME_7F0B6314 -/* 0ED410 7F0B88E0 02002025 */ move $a0, $s0 -/* 0ED414 7F0B88E4 2C530001 */ sltiu $s3, $v0, 1 -/* 0ED418 7F0B88E8 326A00FF */ andi $t2, $s3, 0xff -/* 0ED41C 7F0B88EC 01409825 */ move $s3, $t2 -/* 0ED420 7F0B88F0 8E230014 */ lw $v1, 0x14($s1) -/* 0ED424 7F0B88F4 26100001 */ addiu $s0, $s0, 1 -.L7F0B88F8: -/* 0ED428 7F0B88F8 0070082A */ slt $at, $v1, $s0 -/* 0ED42C 7F0B88FC 1020FFF5 */ beqz $at, .L7F0B88D4 -/* 0ED430 7F0B8900 00000000 */ nop -/* 0ED434 7F0B8904 922B0001 */ lbu $t3, 1($s1) -.L7F0B8908: -/* 0ED438 7F0B8908 000B60C0 */ sll $t4, $t3, 3 -/* 0ED43C 7F0B890C 1000FEDC */ b .L7F0B8480 -/* 0ED440 7F0B8910 022C8821 */ addu $s1, $s1, $t4 -remove_vis: -/* 0ED444 7F0B8914 52400003 */ beql $s2, $zero, .L7F0B8924 -/* 0ED448 7F0B8918 922D0001 */ lbu $t5, 1($s1) -/* 0ED44C 7F0B891C AE970000 */ sw $s7, ($s4) -/* 0ED450 7F0B8920 922D0001 */ lbu $t5, 1($s1) -.L7F0B8924: -/* 0ED454 7F0B8924 000D70C0 */ sll $t6, $t5, 3 -/* 0ED458 7F0B8928 1000FED5 */ b .L7F0B8480 -/* 0ED45C 7F0B892C 022E8821 */ addu $s1, $s1, $t6 -if_statement: -/* 0ED460 7F0B8930 922F0001 */ lbu $t7, 1($s1) -/* 0ED464 7F0B8934 02402825 */ move $a1, $s2 -/* 0ED468 7F0B8938 000FC0C0 */ sll $t8, $t7, 3 -/* 0ED46C 7F0B893C 0FC2E105 */ jal parse_global_vis_command_list -/* 0ED470 7F0B8940 03112021 */ addu $a0, $t8, $s1 -/* 0ED474 7F0B8944 90590001 */ lbu $t9, 1($v0) -/* 0ED478 7F0B8948 001940C0 */ sll $t0, $t9, 3 -/* 0ED47C 7F0B894C 1000FECC */ b .L7F0B8480 -/* 0ED480 7F0B8950 00488821 */ addu $s1, $v0, $t0 -endif_continue_exec: -/* 0ED484 7F0B8954 92290001 */ lbu $t1, 1($s1) -/* 0ED488 7F0B8958 3C018008 */ lui $at, %hi(dword_CODE_bss_80081600 + 0x10) -/* 0ED48C 7F0B895C AC201610 */ sw $zero, %lo(dword_CODE_bss_80081600 + 0x10)($at) -/* 0ED490 7F0B8960 000950C0 */ sll $t2, $t1, 3 -/* 0ED494 7F0B8964 10000023 */ b .L7F0B89F4 -/* 0ED498 7F0B8968 022A1021 */ addu $v0, $s1, $t2 -dont_exec_commands_even_on_return: -/* 0ED49C 7F0B896C 922B0001 */ lbu $t3, 1($s1) -/* 0ED4A0 7F0B8970 0012102B */ sltu $v0, $zero, $s2 -/* 0ED4A4 7F0B8974 00009025 */ move $s2, $zero -/* 0ED4A8 7F0B8978 000B60C0 */ sll $t4, $t3, 3 -/* 0ED4AC 7F0B897C 1040FEC0 */ beqz $v0, .L7F0B8480 -/* 0ED4B0 7F0B8980 022C8821 */ addu $s1, $s1, $t4 -/* 0ED4B4 7F0B8984 3C018008 */ lui $at, %hi(dword_CODE_bss_80081600 + 0x10) -/* 0ED4B8 7F0B8988 1000FEBD */ b .L7F0B8480 -/* 0ED4BC 7F0B898C AC371610 */ sw $s7, %lo(dword_CODE_bss_80081600 + 0x10)($at) -if_statement_pull_from_stack: -/* 0ED4C0 7F0B8990 0FC2E0EC */ jal pull_arg_from_stack -/* 0ED4C4 7F0B8994 00000000 */ nop -/* 0ED4C8 7F0B8998 922D0001 */ lbu $t5, 1($s1) -/* 0ED4CC 7F0B899C 00522824 */ and $a1, $v0, $s2 -/* 0ED4D0 7F0B89A0 000D70C0 */ sll $t6, $t5, 3 -/* 0ED4D4 7F0B89A4 0FC2E105 */ jal parse_global_vis_command_list -/* 0ED4D8 7F0B89A8 01D12021 */ addu $a0, $t6, $s1 -/* 0ED4DC 7F0B89AC 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_80081600 + 0x10) -/* 0ED4E0 7F0B89B0 8DEF1610 */ lw $t7, %lo(dword_CODE_bss_80081600 + 0x10)($t7) -/* 0ED4E4 7F0B89B4 00408825 */ move $s1, $v0 -/* 0ED4E8 7F0B89B8 51E0FEB2 */ beql $t7, $zero, .L7F0B8484 -/* 0ED4EC 7F0B89BC 92240000 */ lbu $a0, ($s1) -/* 0ED4F0 7F0B89C0 1000FEAF */ b .L7F0B8480 -/* 0ED4F4 7F0B89C4 00009025 */ move $s2, $zero -toggle_exec_vs_ro: -/* 0ED4F8 7F0B89C8 92390001 */ lbu $t9, 1($s1) -/* 0ED4FC 7F0B89CC 3A580001 */ xori $t8, $s2, 1 -/* 0ED500 7F0B89D0 03009025 */ move $s2, $t8 -/* 0ED504 7F0B89D4 001940C0 */ sll $t0, $t9, 3 -/* 0ED508 7F0B89D8 1000FEA9 */ b .L7F0B8480 -/* 0ED50C 7F0B89DC 02288821 */ addu $s1, $s1, $t0 -endif: -/* 0ED510 7F0B89E0 92290001 */ lbu $t1, 1($s1) -/* 0ED514 7F0B89E4 000950C0 */ sll $t2, $t1, 3 -/* 0ED518 7F0B89E8 10000002 */ b .L7F0B89F4 -/* 0ED51C 7F0B89EC 022A1021 */ addu $v0, $s1, $t2 -invalid_type_terminate: -.L7F0B89F0: -/* 0ED520 7F0B89F0 02201025 */ move $v0, $s1 -.L7F0B89F4: -/* 0ED524 7F0B89F4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0ED528 7F0B89F8 8FB00018 */ lw $s0, 0x18($sp) -/* 0ED52C 7F0B89FC 8FB1001C */ lw $s1, 0x1c($sp) -/* 0ED530 7F0B8A00 8FB20020 */ lw $s2, 0x20($sp) -/* 0ED534 7F0B8A04 8FB30024 */ lw $s3, 0x24($sp) -/* 0ED538 7F0B8A08 8FB40028 */ lw $s4, 0x28($sp) -/* 0ED53C 7F0B8A0C 8FB5002C */ lw $s5, 0x2c($sp) -/* 0ED540 7F0B8A10 8FB60030 */ lw $s6, 0x30($sp) -/* 0ED544 7F0B8A14 8FB70034 */ lw $s7, 0x34($sp) -/* 0ED548 7F0B8A18 8FBE0038 */ lw $fp, 0x38($sp) -/* 0ED54C 7F0B8A1C 03E00008 */ jr $ra -/* 0ED550 7F0B8A20 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B8A24(s32 arg0) { - // Node 0 - current_visibility = 0; - if (arg0 != 0) - { - // Node 2 - sub_GAME_7F0B83E4(0, arg0); - // Node 3 - return parse_global_vis_command_list(arg0, 1); - } - // Node 1 - return parse_global_vis_command_list(arg0, 1); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B8A24 -/* 0ED554 7F0B8A24 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0ED558 7F0B8A28 3C018004 */ lui $at, %hi(current_visibility) -/* 0ED55C 7F0B8A2C AFBF0014 */ sw $ra, 0x14($sp) -/* 0ED560 7F0B8A30 00803025 */ move $a2, $a0 -/* 0ED564 7F0B8A34 14800003 */ bnez $a0, .L7F0B8A44 -/* 0ED568 7F0B8A38 AC2048FC */ sw $zero, %lo(current_visibility)($at) -/* 0ED56C 7F0B8A3C 10000007 */ b .L7F0B8A5C -/* 0ED570 7F0B8A40 00801025 */ move $v0, $a0 -.L7F0B8A44: -/* 0ED574 7F0B8A44 00002025 */ move $a0, $zero -/* 0ED578 7F0B8A48 0FC2E0F9 */ jal sub_GAME_7F0B83E4 -/* 0ED57C 7F0B8A4C AFA60018 */ sw $a2, 0x18($sp) -/* 0ED580 7F0B8A50 8FA40018 */ lw $a0, 0x18($sp) -/* 0ED584 7F0B8A54 0FC2E105 */ jal parse_global_vis_command_list -/* 0ED588 7F0B8A58 24050001 */ li $a1, 1 -.L7F0B8A5C: -/* 0ED58C 7F0B8A5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0ED590 7F0B8A60 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0ED594 7F0B8A64 03E00008 */ jr $ra -/* 0ED598 7F0B8A68 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B8A6C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B8A6C -/* 0ED59C 7F0B8A6C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0ED5A0 7F0B8A70 AFBF0024 */ sw $ra, 0x24($sp) -/* 0ED5A4 7F0B8A74 AFB10020 */ sw $s1, 0x20($sp) -/* 0ED5A8 7F0B8A78 0FC2E423 */ jal sub_GAME_7F0B908C -/* 0ED5AC 7F0B8A7C AFB0001C */ sw $s0, 0x1c($sp) -/* 0ED5B0 7F0B8A80 3C118008 */ lui $s1, %hi(pPlayer) -/* 0ED5B4 7F0B8A84 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 0ED5B8 7F0B8A88 8E220000 */ lw $v0, ($s1) -/* 0ED5BC 7F0B8A8C C4441118 */ lwc1 $f4, 0x1118($v0) -/* 0ED5C0 7F0B8A90 E7A40050 */ swc1 $f4, 0x50($sp) -/* 0ED5C4 7F0B8A94 C446111C */ lwc1 $f6, 0x111c($v0) -/* 0ED5C8 7F0B8A98 E7A60054 */ swc1 $f6, 0x54($sp) -/* 0ED5CC 7F0B8A9C C4481120 */ lwc1 $f8, 0x1120($v0) -/* 0ED5D0 7F0B8AA0 E7A80058 */ swc1 $f8, 0x58($sp) -/* 0ED5D4 7F0B8AA4 C44A1124 */ lwc1 $f10, 0x1124($v0) -/* 0ED5D8 7F0B8AA8 0FC2CEF1 */ jal sub_GAME_7F0B3BC4 -/* 0ED5DC 7F0B8AAC E7AA005C */ swc1 $f10, 0x5c($sp) -/* 0ED5E0 7F0B8AB0 3C028004 */ lui $v0, %hi(D_80041414) -/* 0ED5E4 7F0B8AB4 3C038004 */ lui $v1, %hi(MaxNumRooms) -/* 0ED5E8 7F0B8AB8 246342F4 */ addiu $v1, %lo(MaxNumRooms) # addiu $v1, $v1, 0x42f4 -/* 0ED5EC 7F0B8ABC 24421414 */ addiu $v0, %lo(D_80041414) # addiu $v0, $v0, 0x1414 -.L7F0B8AC0: -/* 0ED5F0 7F0B8AC0 24420050 */ addiu $v0, $v0, 0x50 -/* 0ED5F4 7F0B8AC4 0043082B */ sltu $at, $v0, $v1 -/* 0ED5F8 7F0B8AC8 A040FFB0 */ sb $zero, -0x50($v0) -/* 0ED5FC 7F0B8ACC A040FFB1 */ sb $zero, -0x4f($v0) -/* 0ED600 7F0B8AD0 1420FFFB */ bnez $at, .L7F0B8AC0 -/* 0ED604 7F0B8AD4 A040FFE4 */ sb $zero, -0x1c($v0) -/* 0ED608 7F0B8AD8 3C028004 */ lui $v0, %hi(D_800442FC) -/* 0ED60C 7F0B8ADC 3C038004 */ lui $v1, %hi(D_800443C4) -/* 0ED610 7F0B8AE0 246343C4 */ addiu $v1, %lo(D_800443C4) # addiu $v1, $v1, 0x43c4 -/* 0ED614 7F0B8AE4 244242FC */ addiu $v0, %lo(D_800442FC) # addiu $v0, $v0, 0x42fc -.L7F0B8AE8: -/* 0ED618 7F0B8AE8 24420004 */ addiu $v0, $v0, 4 -/* 0ED61C 7F0B8AEC A040FFFD */ sb $zero, -3($v0) -/* 0ED620 7F0B8AF0 A040FFFE */ sb $zero, -2($v0) -/* 0ED624 7F0B8AF4 A040FFFF */ sb $zero, -1($v0) -/* 0ED628 7F0B8AF8 1443FFFB */ bne $v0, $v1, .L7F0B8AE8 -/* 0ED62C 7F0B8AFC A040FFFC */ sb $zero, -4($v0) -/* 0ED630 7F0B8B00 3C028004 */ lui $v0, %hi(D_80044858) -/* 0ED634 7F0B8B04 24424858 */ addiu $v0, %lo(D_80044858) # addiu $v0, $v0, 0x4858 -/* 0ED638 7F0B8B08 8C4E0000 */ lw $t6, ($v0) -/* 0ED63C 7F0B8B0C 2401000A */ li $at, 10 -/* 0ED640 7F0B8B10 25CF0001 */ addiu $t7, $t6, 1 -/* 0ED644 7F0B8B14 01E1001A */ div $zero, $t7, $at -/* 0ED648 7F0B8B18 0000C010 */ mfhi $t8 -/* 0ED64C 7F0B8B1C AC580000 */ sw $t8, ($v0) -/* 0ED650 7F0B8B20 3C018008 */ lui $at, %hi(dword_CODE_bss_8007FF98) -/* 0ED654 7F0B8B24 AC20FF98 */ sw $zero, %lo(dword_CODE_bss_8007FF98)($at) -/* 0ED658 7F0B8B28 3C018004 */ lui $at, %hi(D_80044898) -/* 0ED65C 7F0B8B2C 0FC2DF65 */ jal sub_GAME_7F0B7D94 -/* 0ED660 7F0B8B30 AC204898 */ sw $zero, %lo(D_80044898)($at) -/* 0ED664 7F0B8B34 0FC2D45A */ jal sub_GAME_7F0B5168 -/* 0ED668 7F0B8B38 00000000 */ nop -/* 0ED66C 7F0B8B3C 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007FF90) -/* 0ED670 7F0B8B40 0FC2E289 */ jal sub_GAME_7F0B8A24 -/* 0ED674 7F0B8B44 8C84FF90 */ lw $a0, %lo(dword_CODE_bss_8007FF90)($a0) -/* 0ED678 7F0B8B48 3C028004 */ lui $v0, %hi(D_80041400) -/* 0ED67C 7F0B8B4C 8C421400 */ lw $v0, %lo(D_80041400)($v0) -/* 0ED680 7F0B8B50 24030015 */ li $v1, 21 -/* 0ED684 7F0B8B54 3C198008 */ lui $t9, %hi(ptr_bgdata_portals) -/* 0ED688 7F0B8B58 10620005 */ beq $v1, $v0, .L7F0B8B70 -/* 0ED68C 7F0B8B5C 00000000 */ nop -/* 0ED690 7F0B8B60 8F39FF80 */ lw $t9, %lo(ptr_bgdata_portals)($t9) -/* 0ED694 7F0B8B64 8F2A0000 */ lw $t2, ($t9) -/* 0ED698 7F0B8B68 15400023 */ bnez $t2, .L7F0B8BF8 -/* 0ED69C 7F0B8B6C 00000000 */ nop -.L7F0B8B70: -/* 0ED6A0 7F0B8B70 14620006 */ bne $v1, $v0, .L7F0B8B8C -/* 0ED6A4 7F0B8B74 24040009 */ li $a0, 9 -/* 0ED6A8 7F0B8B78 8E260000 */ lw $a2, ($s1) -/* 0ED6AC 7F0B8B7C 00002825 */ move $a1, $zero -/* 0ED6B0 7F0B8B80 24070001 */ li $a3, 1 -/* 0ED6B4 7F0B8B84 0FC2CE6F */ jal sub_GAME_7F0B39BC -/* 0ED6B8 7F0B8B88 24C61118 */ addiu $a2, $a2, 0x1118 -.L7F0B8B8C: -/* 0ED6BC 7F0B8B8C 3C0B8004 */ lui $t3, %hi(MaxNumRooms) -/* 0ED6C0 7F0B8B90 8D6B42F4 */ lw $t3, %lo(MaxNumRooms)($t3) -/* 0ED6C4 7F0B8B94 24100001 */ li $s0, 1 -/* 0ED6C8 7F0B8B98 29610002 */ slti $at, $t3, 2 -/* 0ED6CC 7F0B8B9C 14200012 */ bnez $at, .L7F0B8BE8 -/* 0ED6D0 7F0B8BA0 00000000 */ nop -/* 0ED6D4 7F0B8BA4 8E250000 */ lw $a1, ($s1) -.L7F0B8BA8: -/* 0ED6D8 7F0B8BA8 02002025 */ move $a0, $s0 -/* 0ED6DC 7F0B8BAC 0FC2D482 */ jal sub_GAME_7F0B5208 -/* 0ED6E0 7F0B8BB0 24A51118 */ addiu $a1, $a1, 0x1118 -/* 0ED6E4 7F0B8BB4 10400006 */ beqz $v0, .L7F0B8BD0 -/* 0ED6E8 7F0B8BB8 02002025 */ move $a0, $s0 -/* 0ED6EC 7F0B8BBC 8E260000 */ lw $a2, ($s1) -/* 0ED6F0 7F0B8BC0 00002825 */ move $a1, $zero -/* 0ED6F4 7F0B8BC4 24070001 */ li $a3, 1 -/* 0ED6F8 7F0B8BC8 0FC2CE6F */ jal sub_GAME_7F0B39BC -/* 0ED6FC 7F0B8BCC 24C61118 */ addiu $a2, $a2, 0x1118 -.L7F0B8BD0: -/* 0ED700 7F0B8BD0 3C0C8004 */ lui $t4, %hi(MaxNumRooms) -/* 0ED704 7F0B8BD4 8D8C42F4 */ lw $t4, %lo(MaxNumRooms)($t4) -/* 0ED708 7F0B8BD8 26100001 */ addiu $s0, $s0, 1 -/* 0ED70C 7F0B8BDC 020C082A */ slt $at, $s0, $t4 -/* 0ED710 7F0B8BE0 5420FFF1 */ bnezl $at, .L7F0B8BA8 -/* 0ED714 7F0B8BE4 8E250000 */ lw $a1, ($s1) -.L7F0B8BE8: -/* 0ED718 7F0B8BE8 3C048008 */ lui $a0, %hi(ptr_bgdata_portals) -/* 0ED71C 7F0B8BEC 8C84FF80 */ lw $a0, %lo(ptr_bgdata_portals)($a0) -/* 0ED720 7F0B8BF0 10000039 */ b .L7F0B8CD8 -/* 0ED724 7F0B8BF4 8C820000 */ lw $v0, ($a0) -.L7F0B8BF8: -/* 0ED728 7F0B8BF8 14620006 */ bne $v1, $v0, .L7F0B8C14 -/* 0ED72C 7F0B8BFC 24040009 */ li $a0, 9 -/* 0ED730 7F0B8C00 8E260000 */ lw $a2, ($s1) -/* 0ED734 7F0B8C04 00002825 */ move $a1, $zero -/* 0ED738 7F0B8C08 24070001 */ li $a3, 1 -/* 0ED73C 7F0B8C0C 0FC2CE6F */ jal sub_GAME_7F0B39BC -/* 0ED740 7F0B8C10 24C61118 */ addiu $a2, $a2, 0x1118 -.L7F0B8C14: -/* 0ED744 7F0B8C14 8E260000 */ lw $a2, ($s1) -/* 0ED748 7F0B8C18 3C048004 */ lui $a0, %hi(current_room_maybe) -/* 0ED74C 7F0B8C1C 8C844838 */ lw $a0, %lo(current_room_maybe)($a0) -/* 0ED750 7F0B8C20 00002825 */ move $a1, $zero -/* 0ED754 7F0B8C24 24070001 */ li $a3, 1 -/* 0ED758 7F0B8C28 0FC2CE6F */ jal sub_GAME_7F0B39BC -/* 0ED75C 7F0B8C2C 24C61118 */ addiu $a2, $a2, 0x1118 -/* 0ED760 7F0B8C30 3C048008 */ lui $a0, %hi(ptr_bgdata_portals) -/* 0ED764 7F0B8C34 8C84FF80 */ lw $a0, %lo(ptr_bgdata_portals)($a0) -/* 0ED768 7F0B8C38 00008025 */ move $s0, $zero -/* 0ED76C 7F0B8C3C 00001825 */ move $v1, $zero -/* 0ED770 7F0B8C40 8C8D0000 */ lw $t5, ($a0) -/* 0ED774 7F0B8C44 00801025 */ move $v0, $a0 -/* 0ED778 7F0B8C48 11A00016 */ beqz $t5, .L7F0B8CA4 -.L7F0B8C4C: -/* 0ED77C 7F0B8C4C 3C058004 */ lui $a1, %hi(current_room_maybe) -/* 0ED780 7F0B8C50 8CA54838 */ lw $a1, %lo(current_room_maybe)($a1) -/* 0ED784 7F0B8C54 904E0004 */ lbu $t6, 4($v0) -/* 0ED788 7F0B8C58 00002025 */ move $a0, $zero -/* 0ED78C 7F0B8C5C 02003025 */ move $a2, $s0 -/* 0ED790 7F0B8C60 10AE0003 */ beq $a1, $t6, .L7F0B8C70 -/* 0ED794 7F0B8C64 24070001 */ li $a3, 1 -/* 0ED798 7F0B8C68 904F0005 */ lbu $t7, 5($v0) -/* 0ED79C 7F0B8C6C 14AF0008 */ bne $a1, $t7, .L7F0B8C90 -.L7F0B8C70: -/* 0ED7A0 7F0B8C70 27B80050 */ addiu $t8, $sp, 0x50 -/* 0ED7A4 7F0B8C74 AFB80010 */ sw $t8, 0x10($sp) -/* 0ED7A8 7F0B8C78 0FC2DF79 */ jal sub_GAME_7F0B7DE4 -/* 0ED7AC 7F0B8C7C AFA30034 */ sw $v1, 0x34($sp) -/* 0ED7B0 7F0B8C80 3C198008 */ lui $t9, %hi(ptr_bgdata_portals) -/* 0ED7B4 7F0B8C84 8F39FF80 */ lw $t9, %lo(ptr_bgdata_portals)($t9) -/* 0ED7B8 7F0B8C88 8FA30034 */ lw $v1, 0x34($sp) -/* 0ED7BC 7F0B8C8C 03231021 */ addu $v0, $t9, $v1 -.L7F0B8C90: -/* 0ED7C0 7F0B8C90 8C4A0008 */ lw $t2, 8($v0) -/* 0ED7C4 7F0B8C94 26100001 */ addiu $s0, $s0, 1 -/* 0ED7C8 7F0B8C98 24630008 */ addiu $v1, $v1, 8 -/* 0ED7CC 7F0B8C9C 1540FFEB */ bnez $t2, .L7F0B8C4C -/* 0ED7D0 7F0B8CA0 24420008 */ addiu $v0, $v0, 8 -.L7F0B8CA4: -/* 0ED7D4 7F0B8CA4 27B00044 */ addiu $s0, $sp, 0x44 -/* 0ED7D8 7F0B8CA8 AFA00044 */ sw $zero, 0x44($sp) -/* 0ED7DC 7F0B8CAC 0FC2DFB9 */ jal sub_GAME_7F0B7EE4 -/* 0ED7E0 7F0B8CB0 02002025 */ move $a0, $s0 -/* 0ED7E4 7F0B8CB4 10400005 */ beqz $v0, .L7F0B8CCC -/* 0ED7E8 7F0B8CB8 00000000 */ nop -.L7F0B8CBC: -/* 0ED7EC 7F0B8CBC 0FC2DFB9 */ jal sub_GAME_7F0B7EE4 -/* 0ED7F0 7F0B8CC0 02002025 */ move $a0, $s0 -/* 0ED7F4 7F0B8CC4 1440FFFD */ bnez $v0, .L7F0B8CBC -/* 0ED7F8 7F0B8CC8 00000000 */ nop -.L7F0B8CCC: -/* 0ED7FC 7F0B8CCC 3C048008 */ lui $a0, %hi(ptr_bgdata_portals) -/* 0ED800 7F0B8CD0 8C84FF80 */ lw $a0, %lo(ptr_bgdata_portals)($a0) -/* 0ED804 7F0B8CD4 8C820000 */ lw $v0, ($a0) -.L7F0B8CD8: -/* 0ED808 7F0B8CD8 10400022 */ beqz $v0, .L7F0B8D64 -/* 0ED80C 7F0B8CDC 24090001 */ li $t1, 1 -/* 0ED810 7F0B8CE0 3C078004 */ lui $a3, %hi(D_80041414) -/* 0ED814 7F0B8CE4 24E71414 */ addiu $a3, %lo(D_80041414) # addiu $a3, $a3, 0x1414 -/* 0ED818 7F0B8CE8 00801025 */ move $v0, $a0 -/* 0ED81C 7F0B8CEC 24080050 */ li $t0, 80 -/* 0ED820 7F0B8CF0 90430004 */ lbu $v1, 4($v0) -.L7F0B8CF4: -/* 0ED824 7F0B8CF4 90440005 */ lbu $a0, 5($v0) -/* 0ED828 7F0B8CF8 00680019 */ multu $v1, $t0 -/* 0ED82C 7F0B8CFC 00005812 */ mflo $t3 -/* 0ED830 7F0B8D00 00EB2821 */ addu $a1, $a3, $t3 -/* 0ED834 7F0B8D04 90A60000 */ lbu $a2, ($a1) -/* 0ED838 7F0B8D08 10C00009 */ beqz $a2, .L7F0B8D30 -/* 0ED83C 7F0B8D0C 00000000 */ nop -/* 0ED840 7F0B8D10 00880019 */ multu $a0, $t0 -/* 0ED844 7F0B8D14 00006012 */ mflo $t4 -/* 0ED848 7F0B8D18 00EC1821 */ addu $v1, $a3, $t4 -/* 0ED84C 7F0B8D1C 906D0000 */ lbu $t5, ($v1) -/* 0ED850 7F0B8D20 15A00003 */ bnez $t5, .L7F0B8D30 -/* 0ED854 7F0B8D24 00000000 */ nop -/* 0ED858 7F0B8D28 1000000A */ b .L7F0B8D54 -/* 0ED85C 7F0B8D2C A0690001 */ sb $t1, 1($v1) -.L7F0B8D30: -/* 0ED860 7F0B8D30 00880019 */ multu $a0, $t0 -/* 0ED864 7F0B8D34 00007012 */ mflo $t6 -/* 0ED868 7F0B8D38 00EE7821 */ addu $t7, $a3, $t6 -/* 0ED86C 7F0B8D3C 91F80000 */ lbu $t8, ($t7) -/* 0ED870 7F0B8D40 53000005 */ beql $t8, $zero, .L7F0B8D58 -/* 0ED874 7F0B8D44 8C590008 */ lw $t9, 8($v0) -/* 0ED878 7F0B8D48 54C00003 */ bnezl $a2, .L7F0B8D58 -/* 0ED87C 7F0B8D4C 8C590008 */ lw $t9, 8($v0) -/* 0ED880 7F0B8D50 A0A90001 */ sb $t1, 1($a1) -.L7F0B8D54: -/* 0ED884 7F0B8D54 8C590008 */ lw $t9, 8($v0) -.L7F0B8D58: -/* 0ED888 7F0B8D58 24420008 */ addiu $v0, $v0, 8 -/* 0ED88C 7F0B8D5C 5720FFE5 */ bnezl $t9, .L7F0B8CF4 -/* 0ED890 7F0B8D60 90430004 */ lbu $v1, 4($v0) -.L7F0B8D64: -/* 0ED894 7F0B8D64 8FBF0024 */ lw $ra, 0x24($sp) -/* 0ED898 7F0B8D68 8FB0001C */ lw $s0, 0x1c($sp) -/* 0ED89C 7F0B8D6C 8FB10020 */ lw $s1, 0x20($sp) -/* 0ED8A0 7F0B8D70 03E00008 */ jr $ra -/* 0ED8A4 7F0B8D74 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B8D78(s32 arg0, s32 arg1) { - s32 temp_v1; - void *phi_v0; - s32 phi_v1; - s32 phi_a1; - - // Node 0 - phi_a1 = arg1; - if (D_80041400 == 0xd) - { - // Node 1 - phi_a1 = arg1; - if (NumberOfRoomsDrawn > 0) - { - // Node 2 - phi_v0 = &dword_CODE_bss_8007FFA0; - phi_v1 = 0; -loop_3: - // Node 3 - temp_v1 = (phi_v1 + 1); - if (0x23 == *phi_v0) - { - // Node 4 - phi_v0->unk4 = 0; - phi_a1 = 0x23; - } - else - { - // Node 5 - phi_v0 = (phi_v0 + 0x1c); - phi_v1 = temp_v1; - phi_a1 = 0x23; - if (temp_v1 < NumberOfRoomsDrawn) - { - goto loop_3; - } - } - } - } - // Node 6 - sub_GAME_7F0B4FB4(sub_GAME_7F0B3C8C(arg0, phi_a1, arg0)); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B8D78 -/* 0ED8A8 7F0B8D78 3C0E8004 */ lui $t6, %hi(D_80041400) -/* 0ED8AC 7F0B8D7C 8DCE1400 */ lw $t6, %lo(D_80041400)($t6) -/* 0ED8B0 7F0B8D80 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0ED8B4 7F0B8D84 2401000D */ li $at, 13 -/* 0ED8B8 7F0B8D88 AFBF0014 */ sw $ra, 0x14($sp) -/* 0ED8BC 7F0B8D8C 15C10011 */ bne $t6, $at, .L7F0B8DD4 -/* 0ED8C0 7F0B8D90 00803025 */ move $a2, $a0 -/* 0ED8C4 7F0B8D94 3C048004 */ lui $a0, %hi(NumberOfRoomsDrawn) -/* 0ED8C8 7F0B8D98 8C84483C */ lw $a0, %lo(NumberOfRoomsDrawn)($a0) -/* 0ED8CC 7F0B8D9C 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007FFA0) -/* 0ED8D0 7F0B8DA0 2442FFA0 */ addiu $v0, %lo(dword_CODE_bss_8007FFA0) # addiu $v0, $v0, -0x60 -/* 0ED8D4 7F0B8DA4 1880000B */ blez $a0, .L7F0B8DD4 -/* 0ED8D8 7F0B8DA8 00001825 */ move $v1, $zero -/* 0ED8DC 7F0B8DAC 24050023 */ li $a1, 35 -.L7F0B8DB0: -/* 0ED8E0 7F0B8DB0 8C4F0000 */ lw $t7, ($v0) -/* 0ED8E4 7F0B8DB4 24630001 */ addiu $v1, $v1, 1 -/* 0ED8E8 7F0B8DB8 0064082A */ slt $at, $v1, $a0 -/* 0ED8EC 7F0B8DBC 14AF0003 */ bne $a1, $t7, .L7F0B8DCC -/* 0ED8F0 7F0B8DC0 00000000 */ nop -/* 0ED8F4 7F0B8DC4 10000003 */ b .L7F0B8DD4 -/* 0ED8F8 7F0B8DC8 AC400004 */ sw $zero, 4($v0) -.L7F0B8DCC: -/* 0ED8FC 7F0B8DCC 1420FFF8 */ bnez $at, .L7F0B8DB0 -/* 0ED900 7F0B8DD0 2442001C */ addiu $v0, $v0, 0x1c -.L7F0B8DD4: -/* 0ED904 7F0B8DD4 0FC2CF23 */ jal sub_GAME_7F0B3C8C -/* 0ED908 7F0B8DD8 00C02025 */ move $a0, $a2 -/* 0ED90C 7F0B8DDC 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 0ED910 7F0B8DE0 00402025 */ move $a0, $v0 -/* 0ED914 7F0B8DE4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0ED918 7F0B8DE8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0ED91C 7F0B8DEC 03E00008 */ jr $ra -/* 0ED920 7F0B8DF0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B8DF4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B8DF4 -/* 0ED924 7F0B8DF4 3C088008 */ lui $t0, %hi(ptr_bgdata_portals) -/* 0ED928 7F0B8DF8 2508FF80 */ addiu $t0, %lo(ptr_bgdata_portals) # addiu $t0, $t0, -0x80 -/* 0ED92C 7F0B8DFC 8D070000 */ lw $a3, ($t0) -/* 0ED930 7F0B8E00 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0ED934 7F0B8E04 AFB1000C */ sw $s1, 0xc($sp) -/* 0ED938 7F0B8E08 AFB00008 */ sw $s0, 8($sp) -/* 0ED93C 7F0B8E0C 8CEE0000 */ lw $t6, ($a3) -/* 0ED940 7F0B8E10 00A08025 */ move $s0, $a1 -/* 0ED944 7F0B8E14 00C08825 */ move $s1, $a2 -/* 0ED948 7F0B8E18 00001825 */ move $v1, $zero -/* 0ED94C 7F0B8E1C 11C00019 */ beqz $t6, .L7F0B8E84 -/* 0ED950 7F0B8E20 00001025 */ move $v0, $zero -/* 0ED954 7F0B8E24 00002825 */ move $a1, $zero -/* 0ED958 7F0B8E28 00E03025 */ move $a2, $a3 -/* 0ED95C 7F0B8E2C 90CF0004 */ lbu $t7, 4($a2) -.L7F0B8E30: -/* 0ED960 7F0B8E30 0003C880 */ sll $t9, $v1, 2 -/* 0ED964 7F0B8E34 02194821 */ addu $t1, $s0, $t9 -/* 0ED968 7F0B8E38 508F0005 */ beql $a0, $t7, .L7F0B8E50 -/* 0ED96C 7F0B8E3C AD220000 */ sw $v0, ($t1) -/* 0ED970 7F0B8E40 90D80005 */ lbu $t8, 5($a2) -/* 0ED974 7F0B8E44 54980004 */ bnel $a0, $t8, .L7F0B8E58 -/* 0ED978 7F0B8E48 0071082A */ slt $at, $v1, $s1 -/* 0ED97C 7F0B8E4C AD220000 */ sw $v0, ($t1) -.L7F0B8E50: -/* 0ED980 7F0B8E50 24630001 */ addiu $v1, $v1, 1 -/* 0ED984 7F0B8E54 0071082A */ slt $at, $v1, $s1 -.L7F0B8E58: -/* 0ED988 7F0B8E58 54200004 */ bnezl $at, .L7F0B8E6C -/* 0ED98C 7F0B8E5C 8D0A0000 */ lw $t2, ($t0) -/* 0ED990 7F0B8E60 10000009 */ b .L7F0B8E88 -/* 0ED994 7F0B8E64 00601025 */ move $v0, $v1 -/* 0ED998 7F0B8E68 8D0A0000 */ lw $t2, ($t0) -.L7F0B8E6C: -/* 0ED99C 7F0B8E6C 24A50008 */ addiu $a1, $a1, 8 -/* 0ED9A0 7F0B8E70 24420001 */ addiu $v0, $v0, 1 -/* 0ED9A4 7F0B8E74 01453021 */ addu $a2, $t2, $a1 -/* 0ED9A8 7F0B8E78 8CCB0000 */ lw $t3, ($a2) -/* 0ED9AC 7F0B8E7C 5560FFEC */ bnezl $t3, .L7F0B8E30 -/* 0ED9B0 7F0B8E80 90CF0004 */ lbu $t7, 4($a2) -.L7F0B8E84: -/* 0ED9B4 7F0B8E84 00601025 */ move $v0, $v1 -.L7F0B8E88: -/* 0ED9B8 7F0B8E88 8FB00008 */ lw $s0, 8($sp) -/* 0ED9BC 7F0B8E8C 8FB1000C */ lw $s1, 0xc($sp) -/* 0ED9C0 7F0B8E90 03E00008 */ jr $ra -/* 0ED9C4 7F0B8E94 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B8E98(s32 arg0, s32 arg1) { - s32 temp_v1; - void *temp_v0; - s32 temp_at; - void *phi_a2; - void *phi_v0; - s32 phi_v1; - s32 phi_v1_2; - - // Node 0 - phi_v1_2 = 0; - if (num_visible_rooms_in_cur_global_vis_packet > 0) - { - // Node 1 - phi_v1_2 = 0; - if (arg1 > 0) - { - // Node 2 - phi_a2 = (0 + &list_visible_rooms_in_cur_global_vis_packet); - phi_v0 = (arg0 + (0 * 4)); - phi_v1 = 0; -loop_3: - // Node 3 - temp_v1 = (phi_v1 + 1); - temp_v0 = (phi_v0 + 4); - temp_v0->unk-4 = (?32) *phi_a2; - temp_at = (temp_v1 < arg1); - phi_v1_2 = temp_v1; - if (temp_at != 0) - { - // Node 4 - phi_a2 = (phi_a2 + 1); - phi_v0 = temp_v0; - phi_v1 = temp_v1; - phi_v1_2 = temp_v1; - if (temp_at != 0) - { - goto loop_3; - } - } - } - } - // Node 5 - return phi_v1_2; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B8E98 -/* 0ED9C8 7F0B8E98 3C078008 */ lui $a3, %hi(num_visible_rooms_in_cur_global_vis_packet) -/* 0ED9CC 7F0B8E9C 24E7C038 */ addiu $a3, %lo(num_visible_rooms_in_cur_global_vis_packet) # addiu $a3, $a3, -0x3fc8 -/* 0ED9D0 7F0B8EA0 8CEE0000 */ lw $t6, ($a3) -/* 0ED9D4 7F0B8EA4 00001825 */ move $v1, $zero -/* 0ED9D8 7F0B8EA8 19C00012 */ blez $t6, .L7F0B8EF4 -/* 0ED9DC 7F0B8EAC 00000000 */ nop -/* 0ED9E0 7F0B8EB0 18A00010 */ blez $a1, .L7F0B8EF4 -/* 0ED9E4 7F0B8EB4 00007880 */ sll $t7, $zero, 2 -/* 0ED9E8 7F0B8EB8 3C188008 */ lui $t8, %hi(list_visible_rooms_in_cur_global_vis_packet) -/* 0ED9EC 7F0B8EBC 2718BFA0 */ addiu $t8, %lo(list_visible_rooms_in_cur_global_vis_packet) # addiu $t8, $t8, -0x4060 -/* 0ED9F0 7F0B8EC0 00183021 */ addu $a2, $zero, $t8 -/* 0ED9F4 7F0B8EC4 008F1021 */ addu $v0, $a0, $t7 -/* 0ED9F8 7F0B8EC8 90D90000 */ lbu $t9, ($a2) -.L7F0B8ECC: -/* 0ED9FC 7F0B8ECC 24630001 */ addiu $v1, $v1, 1 -/* 0EDA00 7F0B8ED0 24420004 */ addiu $v0, $v0, 4 -/* 0EDA04 7F0B8ED4 AC59FFFC */ sw $t9, -4($v0) -/* 0EDA08 7F0B8ED8 8CE80000 */ lw $t0, ($a3) -/* 0EDA0C 7F0B8EDC 24C60001 */ addiu $a2, $a2, 1 -/* 0EDA10 7F0B8EE0 0068082A */ slt $at, $v1, $t0 -/* 0EDA14 7F0B8EE4 10200003 */ beqz $at, .L7F0B8EF4 -/* 0EDA18 7F0B8EE8 0065082A */ slt $at, $v1, $a1 -/* 0EDA1C 7F0B8EEC 5420FFF7 */ bnezl $at, .L7F0B8ECC -/* 0EDA20 7F0B8EF0 90D90000 */ lbu $t9, ($a2) -.L7F0B8EF4: -/* 0EDA24 7F0B8EF4 03E00008 */ jr $ra -/* 0EDA28 7F0B8EF8 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B8EFC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B8EFC -/* 0EDA2C 7F0B8EFC 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0EDA30 7F0B8F00 3C078008 */ lui $a3, %hi(ptr_bgdata_portals) -/* 0EDA34 7F0B8F04 8CE7FF80 */ lw $a3, %lo(ptr_bgdata_portals)($a3) -/* 0EDA38 7F0B8F08 AFB2000C */ sw $s2, 0xc($sp) -/* 0EDA3C 7F0B8F0C AFB10008 */ sw $s1, 8($sp) -/* 0EDA40 7F0B8F10 AFB00004 */ sw $s0, 4($sp) -/* 0EDA44 7F0B8F14 8CEE0000 */ lw $t6, ($a3) -/* 0EDA48 7F0B8F18 00808025 */ move $s0, $a0 -/* 0EDA4C 7F0B8F1C 00A08825 */ move $s1, $a1 -/* 0EDA50 7F0B8F20 00C09025 */ move $s2, $a2 -/* 0EDA54 7F0B8F24 11C00024 */ beqz $t6, .L7F0B8FB8 -/* 0EDA58 7F0B8F28 00001825 */ move $v1, $zero -/* 0EDA5C 7F0B8F2C 00002025 */ move $a0, $zero -/* 0EDA60 7F0B8F30 00E02825 */ move $a1, $a3 -/* 0EDA64 7F0B8F34 90A20004 */ lbu $v0, 4($a1) -.L7F0B8F38: -/* 0EDA68 7F0B8F38 90A60005 */ lbu $a2, 5($a1) -/* 0EDA6C 7F0B8F3C 14500003 */ bne $v0, $s0, .L7F0B8F4C -/* 0EDA70 7F0B8F40 00000000 */ nop -/* 0EDA74 7F0B8F44 00C01025 */ move $v0, $a2 -/* 0EDA78 7F0B8F48 02003025 */ move $a2, $s0 -.L7F0B8F4C: -/* 0EDA7C 7F0B8F4C 54D00016 */ bnel $a2, $s0, .L7F0B8FA8 -/* 0EDA80 7F0B8F50 8CA90008 */ lw $t1, 8($a1) -/* 0EDA84 7F0B8F54 18600008 */ blez $v1, .L7F0B8F78 -/* 0EDA88 7F0B8F58 00003025 */ move $a2, $zero -/* 0EDA8C 7F0B8F5C 02203825 */ move $a3, $s1 -.L7F0B8F60: -/* 0EDA90 7F0B8F60 8CEF0000 */ lw $t7, ($a3) -/* 0EDA94 7F0B8F64 24C60001 */ addiu $a2, $a2, 1 -/* 0EDA98 7F0B8F68 504F000F */ beql $v0, $t7, .L7F0B8FA8 -/* 0EDA9C 7F0B8F6C 8CA90008 */ lw $t1, 8($a1) -/* 0EDAA0 7F0B8F70 14C3FFFB */ bne $a2, $v1, .L7F0B8F60 -/* 0EDAA4 7F0B8F74 24E70004 */ addiu $a3, $a3, 4 -.L7F0B8F78: -/* 0EDAA8 7F0B8F78 0003C080 */ sll $t8, $v1, 2 -/* 0EDAAC 7F0B8F7C 24630001 */ addiu $v1, $v1, 1 -/* 0EDAB0 7F0B8F80 0238C821 */ addu $t9, $s1, $t8 -/* 0EDAB4 7F0B8F84 0072082A */ slt $at, $v1, $s2 -/* 0EDAB8 7F0B8F88 14200003 */ bnez $at, .L7F0B8F98 -/* 0EDABC 7F0B8F8C AF220000 */ sw $v0, ($t9) -/* 0EDAC0 7F0B8F90 1000000A */ b .L7F0B8FBC -/* 0EDAC4 7F0B8F94 00601025 */ move $v0, $v1 -.L7F0B8F98: -/* 0EDAC8 7F0B8F98 3C088008 */ lui $t0, %hi(ptr_bgdata_portals) -/* 0EDACC 7F0B8F9C 8D08FF80 */ lw $t0, %lo(ptr_bgdata_portals)($t0) -/* 0EDAD0 7F0B8FA0 01042821 */ addu $a1, $t0, $a0 -/* 0EDAD4 7F0B8FA4 8CA90008 */ lw $t1, 8($a1) -.L7F0B8FA8: -/* 0EDAD8 7F0B8FA8 24840008 */ addiu $a0, $a0, 8 -/* 0EDADC 7F0B8FAC 24A50008 */ addiu $a1, $a1, 8 -/* 0EDAE0 7F0B8FB0 5520FFE1 */ bnezl $t1, .L7F0B8F38 -/* 0EDAE4 7F0B8FB4 90A20004 */ lbu $v0, 4($a1) -.L7F0B8FB8: -/* 0EDAE8 7F0B8FB8 00601025 */ move $v0, $v1 -.L7F0B8FBC: -/* 0EDAEC 7F0B8FBC 8FB00004 */ lw $s0, 4($sp) -/* 0EDAF0 7F0B8FC0 8FB10008 */ lw $s1, 8($sp) -/* 0EDAF4 7F0B8FC4 8FB2000C */ lw $s2, 0xc($sp) -/* 0EDAF8 7F0B8FC8 03E00008 */ jr $ra -/* 0EDAFC 7F0B8FCC 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B8FD0(s32 arg0, s32 arg1) { - s32 temp_v0; - s32 temp_v1; - void *phi_a0; - - // Node 0 - phi_a0 = ptr_bgdata_portals; - if (*ptr_bgdata_portals != 0) - { -loop_1: - // Node 1 - temp_v0 = phi_a0->unk4; - temp_v1 = phi_a0->unk5; - if (temp_v0 == arg0) - { - // Node 2 - if (temp_v1 == arg1) - { - // Node 3 - return 1; - } - } - // Node 4 - if (temp_v1 == arg0) - { - // Node 5 - if (temp_v0 == arg1) - { - // Node 6 - return 1; - } - } - // Node 7 - phi_a0 = (phi_a0 + 8); - if (phi_a0->unk8 != 0) - { - goto loop_1; - } - } - // Node 8 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B8FD0 -/* 0EDB00 7F0B8FD0 3C038008 */ lui $v1, %hi(ptr_bgdata_portals) -/* 0EDB04 7F0B8FD4 8C63FF80 */ lw $v1, %lo(ptr_bgdata_portals)($v1) -/* 0EDB08 7F0B8FD8 00803025 */ move $a2, $a0 -/* 0EDB0C 7F0B8FDC 8C6E0000 */ lw $t6, ($v1) -/* 0EDB10 7F0B8FE0 00602025 */ move $a0, $v1 -/* 0EDB14 7F0B8FE4 51C00014 */ beql $t6, $zero, .L7F0B9038 -/* 0EDB18 7F0B8FE8 00001025 */ move $v0, $zero -/* 0EDB1C 7F0B8FEC 90820004 */ lbu $v0, 4($a0) -.L7F0B8FF0: -/* 0EDB20 7F0B8FF0 90830005 */ lbu $v1, 5($a0) -/* 0EDB24 7F0B8FF4 14460005 */ bne $v0, $a2, .L7F0B900C -/* 0EDB28 7F0B8FF8 00000000 */ nop -/* 0EDB2C 7F0B8FFC 14650003 */ bne $v1, $a1, .L7F0B900C -/* 0EDB30 7F0B9000 00000000 */ nop -/* 0EDB34 7F0B9004 03E00008 */ jr $ra -/* 0EDB38 7F0B9008 24020001 */ li $v0, 1 - -.L7F0B900C: -/* 0EDB3C 7F0B900C 54660006 */ bnel $v1, $a2, .L7F0B9028 -/* 0EDB40 7F0B9010 8C8F0008 */ lw $t7, 8($a0) -/* 0EDB44 7F0B9014 54450004 */ bnel $v0, $a1, .L7F0B9028 -/* 0EDB48 7F0B9018 8C8F0008 */ lw $t7, 8($a0) -/* 0EDB4C 7F0B901C 03E00008 */ jr $ra -/* 0EDB50 7F0B9020 24020001 */ li $v0, 1 - -/* 0EDB54 7F0B9024 8C8F0008 */ lw $t7, 8($a0) -.L7F0B9028: -/* 0EDB58 7F0B9028 24840008 */ addiu $a0, $a0, 8 -/* 0EDB5C 7F0B902C 55E0FFF0 */ bnezl $t7, .L7F0B8FF0 -/* 0EDB60 7F0B9030 90820004 */ lbu $v0, 4($a0) -/* 0EDB64 7F0B9034 00001025 */ move $v0, $zero -.L7F0B9038: -/* 0EDB68 7F0B9038 03E00008 */ jr $ra -/* 0EDB6C 7F0B903C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B9040(s32 arg0, s32 arg1, f32 arg2) { - void *temp_v0; - s32 temp_f16; - - // Node 0 - temp_v0 = ((arg0 * 4) + &D_80041404); - temp_f16 = (s32) (((f32) *temp_v0 * arg1) + arg2); - *temp_v0 = temp_f16; - return (f32) temp_f16; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9040 -/* 0EDB70 7F0B9040 3C0F8004 */ lui $t7, %hi(D_80041404) -/* 0EDB74 7F0B9044 25EF1404 */ addiu $t7, %lo(D_80041404) # addiu $t7, $t7, 0x1404 -/* 0EDB78 7F0B9048 00047080 */ sll $t6, $a0, 2 -/* 0EDB7C 7F0B904C 01CF1021 */ addu $v0, $t6, $t7 -/* 0EDB80 7F0B9050 8C580000 */ lw $t8, ($v0) -/* 0EDB84 7F0B9054 44856000 */ mtc1 $a1, $f12 -/* 0EDB88 7F0B9058 44867000 */ mtc1 $a2, $f14 -/* 0EDB8C 7F0B905C 44982000 */ mtc1 $t8, $f4 -/* 0EDB90 7F0B9060 00000000 */ nop -/* 0EDB94 7F0B9064 468021A0 */ cvt.s.w $f6, $f4 -/* 0EDB98 7F0B9068 460C3202 */ mul.s $f8, $f6, $f12 -/* 0EDB9C 7F0B906C 460E4280 */ add.s $f10, $f8, $f14 -/* 0EDBA0 7F0B9070 4600540D */ trunc.w.s $f16, $f10 -/* 0EDBA4 7F0B9074 44098000 */ mfc1 $t1, $f16 -/* 0EDBA8 7F0B9078 00000000 */ nop -/* 0EDBAC 7F0B907C 44899000 */ mtc1 $t1, $f18 -/* 0EDBB0 7F0B9080 AC490000 */ sw $t1, ($v0) -/* 0EDBB4 7F0B9084 03E00008 */ jr $ra -/* 0EDBB8 7F0B9088 46809020 */ cvt.s.w $f0, $f18 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B908C(void) { - s16 sp1E; - f32 sp20; - f32 sp24; - f32 sp28; - f32 sp2C; - - // Node 0 - sp2C = (f32) D_80041404; - sp24 = (f32) D_80041404.unk4; - sp28 = (f32) ((f32) D_8004140C + (f32) get_video2_settings_txtClipW()); - sp20 = (f32) ((f32) D_80041410 + (f32) get_video2_settings_txtClipH()); - pPlayer->unk1118 = (f32) get_video2_settings_ulx(); - if (pPlayer->unk1118 < sp2C) - { - // Node 1 - pPlayer->unk1118 = sp2C; - } - // Node 2 - if (sp28 < pPlayer->unk1118) - { - // Node 3 - pPlayer->unk1118 = sp28; - } - // Node 4 - pPlayer->unk111C = (f32) get_video2_settings_uly(sp28, &pPlayer); - if (pPlayer->unk111C < sp24) - { - // Node 5 - pPlayer->unk111C = sp24; - } - // Node 6 - if (sp20 < pPlayer->unk111C) - { - // Node 7 - pPlayer->unk111C = sp20; - } - // Node 8 - sp1E = get_video2_settings_ulx(sp20, &pPlayer); - pPlayer->unk1120 = (f32) (get_video2_settings_width() + sp1E); - if (pPlayer->unk1120 < sp2C) - { - // Node 9 - pPlayer->unk1120 = sp2C; - } - // Node 10 - if (sp28 < pPlayer->unk1120) - { - // Node 11 - pPlayer->unk1120 = sp28; - } - // Node 12 - sp1E = get_video2_settings_uly(&pPlayer); - pPlayer->unk1124 = (f32) (get_video2_settings_height() + sp1E); - if (pPlayer->unk1124 < sp24) - { - // Node 13 - pPlayer->unk1124 = sp24; - } - // Node 14 - if (sp20 < pPlayer->unk1124) - { - // Node 15 - pPlayer->unk1124 = sp20; - } - // Node 16 - return pPlayer->unk1124; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B908C -/* 0EDBBC 7F0B908C 3C028004 */ lui $v0, %hi(D_80041404) -/* 0EDBC0 7F0B9090 24421404 */ addiu $v0, %lo(D_80041404) # addiu $v0, $v0, 0x1404 -/* 0EDBC4 7F0B9094 8C4E0000 */ lw $t6, ($v0) -/* 0EDBC8 7F0B9098 8C4F0004 */ lw $t7, 4($v0) -/* 0EDBCC 7F0B909C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0EDBD0 7F0B90A0 448E2000 */ mtc1 $t6, $f4 -/* 0EDBD4 7F0B90A4 448F4000 */ mtc1 $t7, $f8 -/* 0EDBD8 7F0B90A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EDBDC 7F0B90AC 468021A0 */ cvt.s.w $f6, $f4 -/* 0EDBE0 7F0B90B0 468042A0 */ cvt.s.w $f10, $f8 -/* 0EDBE4 7F0B90B4 E7A6002C */ swc1 $f6, 0x2c($sp) -/* 0EDBE8 7F0B90B8 0C001107 */ jal get_video2_settings_txtClipW -/* 0EDBEC 7F0B90BC E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0EDBF0 7F0B90C0 3C188004 */ lui $t8, %hi(D_8004140C) -/* 0EDBF4 7F0B90C4 8F18140C */ lw $t8, %lo(D_8004140C)($t8) -/* 0EDBF8 7F0B90C8 44822000 */ mtc1 $v0, $f4 -/* 0EDBFC 7F0B90CC 44988000 */ mtc1 $t8, $f16 -/* 0EDC00 7F0B90D0 468021A0 */ cvt.s.w $f6, $f4 -/* 0EDC04 7F0B90D4 468084A0 */ cvt.s.w $f18, $f16 -/* 0EDC08 7F0B90D8 46069200 */ add.s $f8, $f18, $f6 -/* 0EDC0C 7F0B90DC 0C00110B */ jal get_video2_settings_txtClipH -/* 0EDC10 7F0B90E0 E7A80028 */ swc1 $f8, 0x28($sp) -/* 0EDC14 7F0B90E4 3C198004 */ lui $t9, %hi(D_80041410) -/* 0EDC18 7F0B90E8 8F391410 */ lw $t9, %lo(D_80041410)($t9) -/* 0EDC1C 7F0B90EC 44822000 */ mtc1 $v0, $f4 -/* 0EDC20 7F0B90F0 44995000 */ mtc1 $t9, $f10 -/* 0EDC24 7F0B90F4 468024A0 */ cvt.s.w $f18, $f4 -/* 0EDC28 7F0B90F8 46805420 */ cvt.s.w $f16, $f10 -/* 0EDC2C 7F0B90FC 46128180 */ add.s $f6, $f16, $f18 -/* 0EDC30 7F0B9100 0C001145 */ jal get_video2_settings_ulx -/* 0EDC34 7F0B9104 E7A60020 */ swc1 $f6, 0x20($sp) -/* 0EDC38 7F0B9108 44824000 */ mtc1 $v0, $f8 -/* 0EDC3C 7F0B910C 3C048008 */ lui $a0, %hi(pPlayer) -/* 0EDC40 7F0B9110 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0EDC44 7F0B9114 468042A0 */ cvt.s.w $f10, $f8 -/* 0EDC48 7F0B9118 8C880000 */ lw $t0, ($a0) -/* 0EDC4C 7F0B911C C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 0EDC50 7F0B9120 E50A1118 */ swc1 $f10, 0x1118($t0) -/* 0EDC54 7F0B9124 8C830000 */ lw $v1, ($a0) -/* 0EDC58 7F0B9128 C4601118 */ lwc1 $f0, 0x1118($v1) -/* 0EDC5C 7F0B912C 4602003C */ c.lt.s $f0, $f2 -/* 0EDC60 7F0B9130 00000000 */ nop -/* 0EDC64 7F0B9134 45020005 */ bc1fl .L7F0B914C -/* 0EDC68 7F0B9138 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 0EDC6C 7F0B913C E4621118 */ swc1 $f2, 0x1118($v1) -/* 0EDC70 7F0B9140 8C830000 */ lw $v1, ($a0) -/* 0EDC74 7F0B9144 C4601118 */ lwc1 $f0, 0x1118($v1) -/* 0EDC78 7F0B9148 C7AC0028 */ lwc1 $f12, 0x28($sp) -.L7F0B914C: -/* 0EDC7C 7F0B914C 4600603C */ c.lt.s $f12, $f0 -/* 0EDC80 7F0B9150 00000000 */ nop -/* 0EDC84 7F0B9154 45000002 */ bc1f .L7F0B9160 -/* 0EDC88 7F0B9158 00000000 */ nop -/* 0EDC8C 7F0B915C E46C1118 */ swc1 $f12, 0x1118($v1) -.L7F0B9160: -/* 0EDC90 7F0B9160 0C001149 */ jal get_video2_settings_uly -/* 0EDC94 7F0B9164 00000000 */ nop -/* 0EDC98 7F0B9168 44822000 */ mtc1 $v0, $f4 -/* 0EDC9C 7F0B916C 3C048008 */ lui $a0, %hi(pPlayer) -/* 0EDCA0 7F0B9170 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0EDCA4 7F0B9174 46802420 */ cvt.s.w $f16, $f4 -/* 0EDCA8 7F0B9178 8C890000 */ lw $t1, ($a0) -/* 0EDCAC 7F0B917C C7A20024 */ lwc1 $f2, 0x24($sp) -/* 0EDCB0 7F0B9180 E530111C */ swc1 $f16, 0x111c($t1) -/* 0EDCB4 7F0B9184 8C830000 */ lw $v1, ($a0) -/* 0EDCB8 7F0B9188 C460111C */ lwc1 $f0, 0x111c($v1) -/* 0EDCBC 7F0B918C 4602003C */ c.lt.s $f0, $f2 -/* 0EDCC0 7F0B9190 00000000 */ nop -/* 0EDCC4 7F0B9194 45020005 */ bc1fl .L7F0B91AC -/* 0EDCC8 7F0B9198 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 0EDCCC 7F0B919C E462111C */ swc1 $f2, 0x111c($v1) -/* 0EDCD0 7F0B91A0 8C830000 */ lw $v1, ($a0) -/* 0EDCD4 7F0B91A4 C460111C */ lwc1 $f0, 0x111c($v1) -/* 0EDCD8 7F0B91A8 C7AC0020 */ lwc1 $f12, 0x20($sp) -.L7F0B91AC: -/* 0EDCDC 7F0B91AC 4600603C */ c.lt.s $f12, $f0 -/* 0EDCE0 7F0B91B0 00000000 */ nop -/* 0EDCE4 7F0B91B4 45000002 */ bc1f .L7F0B91C0 -/* 0EDCE8 7F0B91B8 00000000 */ nop -/* 0EDCEC 7F0B91BC E46C111C */ swc1 $f12, 0x111c($v1) -.L7F0B91C0: -/* 0EDCF0 7F0B91C0 0C001145 */ jal get_video2_settings_ulx -/* 0EDCF4 7F0B91C4 00000000 */ nop -/* 0EDCF8 7F0B91C8 0C001127 */ jal get_video2_settings_width -/* 0EDCFC 7F0B91CC A7A2001E */ sh $v0, 0x1e($sp) -/* 0EDD00 7F0B91D0 87AA001E */ lh $t2, 0x1e($sp) -/* 0EDD04 7F0B91D4 3C048008 */ lui $a0, %hi(pPlayer) -/* 0EDD08 7F0B91D8 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0EDD0C 7F0B91DC 004A5821 */ addu $t3, $v0, $t2 -/* 0EDD10 7F0B91E0 448B9000 */ mtc1 $t3, $f18 -/* 0EDD14 7F0B91E4 8C8C0000 */ lw $t4, ($a0) -/* 0EDD18 7F0B91E8 468091A0 */ cvt.s.w $f6, $f18 -/* 0EDD1C 7F0B91EC E5861120 */ swc1 $f6, 0x1120($t4) -/* 0EDD20 7F0B91F0 8C830000 */ lw $v1, ($a0) -/* 0EDD24 7F0B91F4 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 0EDD28 7F0B91F8 C4601120 */ lwc1 $f0, 0x1120($v1) -/* 0EDD2C 7F0B91FC 4608003C */ c.lt.s $f0, $f8 -/* 0EDD30 7F0B9200 00000000 */ nop -/* 0EDD34 7F0B9204 45020005 */ bc1fl .L7F0B921C -/* 0EDD38 7F0B9208 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 0EDD3C 7F0B920C E4681120 */ swc1 $f8, 0x1120($v1) -/* 0EDD40 7F0B9210 8C830000 */ lw $v1, ($a0) -/* 0EDD44 7F0B9214 C4601120 */ lwc1 $f0, 0x1120($v1) -/* 0EDD48 7F0B9218 C7AA0028 */ lwc1 $f10, 0x28($sp) -.L7F0B921C: -/* 0EDD4C 7F0B921C 4600503C */ c.lt.s $f10, $f0 -/* 0EDD50 7F0B9220 00000000 */ nop -/* 0EDD54 7F0B9224 45000002 */ bc1f .L7F0B9230 -/* 0EDD58 7F0B9228 00000000 */ nop -/* 0EDD5C 7F0B922C E46A1120 */ swc1 $f10, 0x1120($v1) -.L7F0B9230: -/* 0EDD60 7F0B9230 0C001149 */ jal get_video2_settings_uly -/* 0EDD64 7F0B9234 00000000 */ nop -/* 0EDD68 7F0B9238 0C00112B */ jal get_video2_settings_height -/* 0EDD6C 7F0B923C A7A2001E */ sh $v0, 0x1e($sp) -/* 0EDD70 7F0B9240 87AD001E */ lh $t5, 0x1e($sp) -/* 0EDD74 7F0B9244 3C048008 */ lui $a0, %hi(pPlayer) -/* 0EDD78 7F0B9248 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0EDD7C 7F0B924C 004D7021 */ addu $t6, $v0, $t5 -/* 0EDD80 7F0B9250 448E2000 */ mtc1 $t6, $f4 -/* 0EDD84 7F0B9254 8C8F0000 */ lw $t7, ($a0) -/* 0EDD88 7F0B9258 46802420 */ cvt.s.w $f16, $f4 -/* 0EDD8C 7F0B925C E5F01124 */ swc1 $f16, 0x1124($t7) -/* 0EDD90 7F0B9260 8C830000 */ lw $v1, ($a0) -/* 0EDD94 7F0B9264 C7B20024 */ lwc1 $f18, 0x24($sp) -/* 0EDD98 7F0B9268 C4601124 */ lwc1 $f0, 0x1124($v1) -/* 0EDD9C 7F0B926C 4612003C */ c.lt.s $f0, $f18 -/* 0EDDA0 7F0B9270 00000000 */ nop -/* 0EDDA4 7F0B9274 45020006 */ bc1fl .L7F0B9290 -/* 0EDDA8 7F0B9278 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0EDDAC 7F0B927C E4721124 */ swc1 $f18, 0x1124($v1) -/* 0EDDB0 7F0B9280 3C038008 */ lui $v1, %hi(pPlayer) -/* 0EDDB4 7F0B9284 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0EDDB8 7F0B9288 C4601124 */ lwc1 $f0, 0x1124($v1) -/* 0EDDBC 7F0B928C C7A60020 */ lwc1 $f6, 0x20($sp) -.L7F0B9290: -/* 0EDDC0 7F0B9290 4600303C */ c.lt.s $f6, $f0 -/* 0EDDC4 7F0B9294 00000000 */ nop -/* 0EDDC8 7F0B9298 45020003 */ bc1fl .L7F0B92A8 -/* 0EDDCC 7F0B929C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EDDD0 7F0B92A0 E4661124 */ swc1 $f6, 0x1124($v1) -/* 0EDDD4 7F0B92A4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0B92A8: -/* 0EDDD8 7F0B92A8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0EDDDC 7F0B92AC 03E00008 */ jr $ra -/* 0EDDE0 7F0B92B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B92B4(s32 arg0, void *arg1) { - void *temp_a2; - s32 temp_v0; - f32 temp_f18; - void *temp_a2_2; - s32 temp_v0_2; - void *temp_v1; - f32 temp_f18_2; - f32 phi_f18; - void *phi_v1; - s32 phi_v0; - f32 phi_f18_2; - void *phi_v1_2; - void *phi_a2; - - // Node 0 - temp_a2 = ((arg0 * 0x50) + &D_80041414); - temp_v0 = (0 + 1); - temp_f18 = ((temp_a2->unk44 + temp_a2->unk38) * 0.5f); - phi_f18 = temp_f18; - phi_v1 = arg1; - phi_v0 = temp_v0; - phi_f18_2 = temp_f18; - phi_v1_2 = arg1; - phi_a2 = temp_a2; - if (temp_v0 != 3) - { -loop_1: - // Node 1 - *phi_v1 = (f32) phi_f18; - temp_a2_2 = (phi_a2 + 4); - temp_v0_2 = (phi_v0 + 1); - temp_v1 = (phi_v1 + 4); - temp_f18_2 = ((phi_a2->unk48 + temp_a2_2->unk38) * 0.5f); - phi_f18 = temp_f18_2; - phi_v1 = temp_v1; - phi_v0 = temp_v0_2; - phi_f18_2 = temp_f18_2; - phi_v1_2 = temp_v1; - phi_a2 = temp_a2_2; - if (temp_v0_2 != 3) - { - goto loop_1; - } - } - // Node 2 - (phi_v1_2 + 4)->unk-4 = (f32) phi_f18_2; - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B92B4 -/* 0EDDE4 7F0B92B4 00047080 */ sll $t6, $a0, 2 -/* 0EDDE8 7F0B92B8 01C47021 */ addu $t6, $t6, $a0 -/* 0EDDEC 7F0B92BC 3C0F8004 */ lui $t7, %hi(D_80041414) -/* 0EDDF0 7F0B92C0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0EDDF4 7F0B92C4 25EF1414 */ addiu $t7, %lo(D_80041414) # addiu $t7, $t7, 0x1414 -/* 0EDDF8 7F0B92C8 000E7100 */ sll $t6, $t6, 4 -/* 0EDDFC 7F0B92CC 44810000 */ mtc1 $at, $f0 -/* 0EDE00 7F0B92D0 01CF3021 */ addu $a2, $t6, $t7 -/* 0EDE04 7F0B92D4 24040003 */ li $a0, 3 -/* 0EDE08 7F0B92D8 00001025 */ move $v0, $zero -/* 0EDE0C 7F0B92DC 00A01825 */ move $v1, $a1 -/* 0EDE10 7F0B92E0 C4D00044 */ lwc1 $f16, 0x44($a2) -/* 0EDE14 7F0B92E4 C4CE0038 */ lwc1 $f14, 0x38($a2) -/* 0EDE18 7F0B92E8 24420001 */ addiu $v0, $v0, 1 -/* 0EDE1C 7F0B92EC 460E8380 */ add.s $f14, $f16, $f14 -/* 0EDE20 7F0B92F0 46007482 */ mul.s $f18, $f14, $f0 -/* 0EDE24 7F0B92F4 5044000C */ beql $v0, $a0, .L7F0B9328 -/* 0EDE28 7F0B92F8 24C60004 */ addiu $a2, $a2, 4 -/* 0EDE2C 7F0B92FC E4720000 */ swc1 $f18, ($v1) -.L7F0B9300: -/* 0EDE30 7F0B9300 C4D00048 */ lwc1 $f16, 0x48($a2) -/* 0EDE34 7F0B9304 24C60004 */ addiu $a2, $a2, 4 -/* 0EDE38 7F0B9308 C4CE0038 */ lwc1 $f14, 0x38($a2) -/* 0EDE3C 7F0B930C 24420001 */ addiu $v0, $v0, 1 -/* 0EDE40 7F0B9310 24630004 */ addiu $v1, $v1, 4 -/* 0EDE44 7F0B9314 460E8380 */ add.s $f14, $f16, $f14 -/* 0EDE48 7F0B9318 46007482 */ mul.s $f18, $f14, $f0 -/* 0EDE4C 7F0B931C 5444FFF8 */ bnel $v0, $a0, .L7F0B9300 -/* 0EDE50 7F0B9320 E4720000 */ swc1 $f18, ($v1) -/* 0EDE54 7F0B9324 24C60004 */ addiu $a2, $a2, 4 -.L7F0B9328: -/* 0EDE58 7F0B9328 24630004 */ addiu $v1, $v1, 4 -/* 0EDE5C 7F0B932C E472FFFC */ swc1 $f18, -4($v1) -/* 0EDE60 7F0B9330 03E00008 */ jr $ra -/* 0EDE64 7F0B9334 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B9338(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9338 -/* 0EDE68 7F0B9338 3C088008 */ lui $t0, %hi(ptr_bgdata_room_fileposition_list) -/* 0EDE6C 7F0B933C 2508FF8C */ addiu $t0, %lo(ptr_bgdata_room_fileposition_list) # addiu $t0, $t0, -0x74 -/* 0EDE70 7F0B9340 8D0E0000 */ lw $t6, ($t0) -/* 0EDE74 7F0B9344 00041080 */ sll $v0, $a0, 2 -/* 0EDE78 7F0B9348 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0EDE7C 7F0B934C 00441023 */ subu $v0, $v0, $a0 -/* 0EDE80 7F0B9350 000210C0 */ sll $v0, $v0, 3 -/* 0EDE84 7F0B9354 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EDE88 7F0B9358 AFB00018 */ sw $s0, 0x18($sp) -/* 0EDE8C 7F0B935C 01C24821 */ addu $t1, $t6, $v0 -/* 0EDE90 7F0B9360 8D2F0000 */ lw $t7, ($t1) -/* 0EDE94 7F0B9364 3C188004 */ lui $t8, %hi(D_80041414) -/* 0EDE98 7F0B9368 00808025 */ move $s0, $a0 -/* 0EDE9C 7F0B936C 15E00035 */ bnez $t7, .L7F0B9444 -/* 0EDEA0 7F0B9370 27181414 */ addiu $t8, %lo(D_80041414) # addiu $t8, $t8, 0x1414 -/* 0EDEA4 7F0B9374 3C188008 */ lui $t8, %hi(dword_CODE_bss_8007B9DC) -/* 0EDEA8 7F0B9378 8F18B9DC */ lw $t8, %lo(dword_CODE_bss_8007B9DC)($t8) -/* 0EDEAC 7F0B937C 0004C880 */ sll $t9, $a0, 2 -/* 0EDEB0 7F0B9380 3C0B8008 */ lui $t3, %hi(dword_CODE_bss_8007B128) -/* 0EDEB4 7F0B9384 0098082A */ slt $at, $a0, $t8 -/* 0EDEB8 7F0B9388 1020008E */ beqz $at, .L7F0B95C4 -/* 0EDEBC 7F0B938C 01795821 */ addu $t3, $t3, $t9 -/* 0EDEC0 7F0B9390 8D6BB128 */ lw $t3, %lo(dword_CODE_bss_8007B128)($t3) -/* 0EDEC4 7F0B9394 00106080 */ sll $t4, $s0, 2 -/* 0EDEC8 7F0B9398 01906021 */ addu $t4, $t4, $s0 -/* 0EDECC 7F0B939C 11600089 */ beqz $t3, .L7F0B95C4 -/* 0EDED0 7F0B93A0 00002025 */ move $a0, $zero -/* 0EDED4 7F0B93A4 00107080 */ sll $t6, $s0, 2 -/* 0EDED8 7F0B93A8 01D07023 */ subu $t6, $t6, $s0 -/* 0EDEDC 7F0B93AC 3C0D8004 */ lui $t5, %hi(D_80041414) -/* 0EDEE0 7F0B93B0 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_8007B358) -/* 0EDEE4 7F0B93B4 25EFB358 */ addiu $t7, %lo(dword_CODE_bss_8007B358) # addiu $t7, $t7, -0x4ca8 -/* 0EDEE8 7F0B93B8 25AD1414 */ addiu $t5, %lo(D_80041414) # addiu $t5, $t5, 0x1414 -/* 0EDEEC 7F0B93BC 000E7080 */ sll $t6, $t6, 2 -/* 0EDEF0 7F0B93C0 000C6100 */ sll $t4, $t4, 4 -/* 0EDEF4 7F0B93C4 018D2821 */ addu $a1, $t4, $t5 -/* 0EDEF8 7F0B93C8 01CF3021 */ addu $a2, $t6, $t7 -/* 0EDEFC 7F0B93CC 2407000C */ li $a3, 12 -.L7F0B93D0: -/* 0EDF00 7F0B93D0 84C20000 */ lh $v0, ($a2) -/* 0EDF04 7F0B93D4 84C30006 */ lh $v1, 6($a2) -/* 0EDF08 7F0B93D8 8D0B0000 */ lw $t3, ($t0) -/* 0EDF0C 7F0B93DC 44822000 */ mtc1 $v0, $f4 -/* 0EDF10 7F0B93E0 44834000 */ mtc1 $v1, $f8 -/* 0EDF14 7F0B93E4 0062C021 */ addu $t8, $v1, $v0 -/* 0EDF18 7F0B93E8 468021A0 */ cvt.s.w $f6, $f4 -/* 0EDF1C 7F0B93EC 00106080 */ sll $t4, $s0, 2 -/* 0EDF20 7F0B93F0 01906023 */ subu $t4, $t4, $s0 -/* 0EDF24 7F0B93F4 000C60C0 */ sll $t4, $t4, 3 -/* 0EDF28 7F0B93F8 016C6821 */ addu $t5, $t3, $t4 -/* 0EDF2C 7F0B93FC 468042A0 */ cvt.s.w $f10, $f8 -/* 0EDF30 7F0B9400 01A47021 */ addu $t6, $t5, $a0 -/* 0EDF34 7F0B9404 24840004 */ addiu $a0, $a0, 4 -/* 0EDF38 7F0B9408 E4A60038 */ swc1 $f6, 0x38($a1) -/* 0EDF3C 7F0B940C 24A50004 */ addiu $a1, $a1, 4 -/* 0EDF40 7F0B9410 24C60002 */ addiu $a2, $a2, 2 -/* 0EDF44 7F0B9414 E4AA0040 */ swc1 $f10, 0x40($a1) -/* 0EDF48 7F0B9418 07010003 */ bgez $t8, .L7F0B9428 -/* 0EDF4C 7F0B941C 0018C843 */ sra $t9, $t8, 1 -/* 0EDF50 7F0B9420 27010001 */ addiu $at, $t8, 1 -/* 0EDF54 7F0B9424 0001C843 */ sra $t9, $at, 1 -.L7F0B9428: -/* 0EDF58 7F0B9428 44998000 */ mtc1 $t9, $f16 -/* 0EDF5C 7F0B942C 00000000 */ nop -/* 0EDF60 7F0B9430 468084A0 */ cvt.s.w $f18, $f16 -/* 0EDF64 7F0B9434 1487FFE6 */ bne $a0, $a3, .L7F0B93D0 -/* 0EDF68 7F0B9438 E5D2000C */ swc1 $f18, 0xc($t6) -/* 0EDF6C 7F0B943C 10000062 */ b .L7F0B95C8 -/* 0EDF70 7F0B9440 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0B9444: -/* 0EDF74 7F0B9444 00107880 */ sll $t7, $s0, 2 -/* 0EDF78 7F0B9448 01F07821 */ addu $t7, $t7, $s0 -/* 0EDF7C 7F0B944C 000F7900 */ sll $t7, $t7, 4 -/* 0EDF80 7F0B9450 01F84021 */ addu $t0, $t7, $t8 -/* 0EDF84 7F0B9454 910A0002 */ lbu $t2, 2($t0) -/* 0EDF88 7F0B9458 02002025 */ move $a0, $s0 -/* 0EDF8C 7F0B945C 5540000C */ bnezl $t2, .L7F0B9490 -/* 0EDF90 7F0B9460 8D060004 */ lw $a2, 4($t0) -/* 0EDF94 7F0B9464 AFA20030 */ sw $v0, 0x30($sp) -/* 0EDF98 7F0B9468 AFA80028 */ sw $t0, 0x28($sp) -/* 0EDF9C 7F0B946C 0FC2D8DA */ jal sub_GAME_7F0B6368 -/* 0EDFA0 7F0B9470 A3AA0037 */ sb $t2, 0x37($sp) -/* 0EDFA4 7F0B9474 3C198008 */ lui $t9, %hi(ptr_bgdata_room_fileposition_list) -/* 0EDFA8 7F0B9478 8F39FF8C */ lw $t9, %lo(ptr_bgdata_room_fileposition_list)($t9) -/* 0EDFAC 7F0B947C 8FA20030 */ lw $v0, 0x30($sp) -/* 0EDFB0 7F0B9480 8FA80028 */ lw $t0, 0x28($sp) -/* 0EDFB4 7F0B9484 93AA0037 */ lbu $t2, 0x37($sp) -/* 0EDFB8 7F0B9488 03224821 */ addu $t1, $t9, $v0 -/* 0EDFBC 7F0B948C 8D060004 */ lw $a2, 4($t0) -.L7F0B9490: -/* 0EDFC0 7F0B9490 8D19001C */ lw $t9, 0x1c($t0) -/* 0EDFC4 7F0B9494 240B7FFF */ li $t3, 32767 -/* 0EDFC8 7F0B9498 240C7FFF */ li $t4, 32767 -/* 0EDFCC 7F0B949C 03263821 */ addu $a3, $t9, $a2 -/* 0EDFD0 7F0B94A0 240D7FFF */ li $t5, 32767 -/* 0EDFD4 7F0B94A4 240E8001 */ li $t6, -32767 -/* 0EDFD8 7F0B94A8 240F8001 */ li $t7, -32767 -/* 0EDFDC 7F0B94AC 24188001 */ li $t8, -32767 -/* 0EDFE0 7F0B94B0 00C7082B */ sltu $at, $a2, $a3 -/* 0EDFE4 7F0B94B4 A7AB0038 */ sh $t3, 0x38($sp) -/* 0EDFE8 7F0B94B8 A7AC003A */ sh $t4, 0x3a($sp) -/* 0EDFEC 7F0B94BC A7AD003C */ sh $t5, 0x3c($sp) -/* 0EDFF0 7F0B94C0 A7AE003E */ sh $t6, 0x3e($sp) -/* 0EDFF4 7F0B94C4 A7AF0040 */ sh $t7, 0x40($sp) -/* 0EDFF8 7F0B94C8 10200017 */ beqz $at, .L7F0B9528 -/* 0EDFFC 7F0B94CC A7B80042 */ sh $t8, 0x42($sp) -/* 0EE000 7F0B94D0 27A5003E */ addiu $a1, $sp, 0x3e -/* 0EE004 7F0B94D4 00C02025 */ move $a0, $a2 -.L7F0B94D8: -/* 0EE008 7F0B94D8 27A30038 */ addiu $v1, $sp, 0x38 -.L7F0B94DC: -/* 0EE00C 7F0B94DC 84820000 */ lh $v0, ($a0) -/* 0EE010 7F0B94E0 846B0000 */ lh $t3, ($v1) -/* 0EE014 7F0B94E4 004B082A */ slt $at, $v0, $t3 -/* 0EE018 7F0B94E8 50200004 */ beql $at, $zero, .L7F0B94FC -/* 0EE01C 7F0B94EC 846C0006 */ lh $t4, 6($v1) -/* 0EE020 7F0B94F0 A4620000 */ sh $v0, ($v1) -/* 0EE024 7F0B94F4 84820000 */ lh $v0, ($a0) -/* 0EE028 7F0B94F8 846C0006 */ lh $t4, 6($v1) -.L7F0B94FC: -/* 0EE02C 7F0B94FC 0182082A */ slt $at, $t4, $v0 -/* 0EE030 7F0B9500 50200003 */ beql $at, $zero, .L7F0B9510 -/* 0EE034 7F0B9504 24630002 */ addiu $v1, $v1, 2 -/* 0EE038 7F0B9508 A4620006 */ sh $v0, 6($v1) -/* 0EE03C 7F0B950C 24630002 */ addiu $v1, $v1, 2 -.L7F0B9510: -/* 0EE040 7F0B9510 1465FFF2 */ bne $v1, $a1, .L7F0B94DC -/* 0EE044 7F0B9514 24840002 */ addiu $a0, $a0, 2 -/* 0EE048 7F0B9518 24C60010 */ addiu $a2, $a2, 0x10 -/* 0EE04C 7F0B951C 00C7082B */ sltu $at, $a2, $a3 -/* 0EE050 7F0B9520 5420FFED */ bnezl $at, .L7F0B94D8 -/* 0EE054 7F0B9524 00C02025 */ move $a0, $a2 -.L7F0B9528: -/* 0EE058 7F0B9528 87AD0038 */ lh $t5, 0x38($sp) -/* 0EE05C 7F0B952C 87AE003A */ lh $t6, 0x3a($sp) -/* 0EE060 7F0B9530 C524000C */ lwc1 $f4, 0xc($t1) -/* 0EE064 7F0B9534 448D3000 */ mtc1 $t5, $f6 -/* 0EE068 7F0B9538 448E9000 */ mtc1 $t6, $f18 -/* 0EE06C 7F0B953C 87AF003C */ lh $t7, 0x3c($sp) -/* 0EE070 7F0B9540 46803220 */ cvt.s.w $f8, $f6 -/* 0EE074 7F0B9544 87B8003E */ lh $t8, 0x3e($sp) -/* 0EE078 7F0B9548 87B90040 */ lh $t9, 0x40($sp) -/* 0EE07C 7F0B954C 87AB0042 */ lh $t3, 0x42($sp) -/* 0EE080 7F0B9550 468091A0 */ cvt.s.w $f6, $f18 -/* 0EE084 7F0B9554 46082280 */ add.s $f10, $f4, $f8 -/* 0EE088 7F0B9558 E50A0038 */ swc1 $f10, 0x38($t0) -/* 0EE08C 7F0B955C C5300010 */ lwc1 $f16, 0x10($t1) -/* 0EE090 7F0B9560 448F5000 */ mtc1 $t7, $f10 -/* 0EE094 7F0B9564 46068100 */ add.s $f4, $f16, $f6 -/* 0EE098 7F0B9568 468054A0 */ cvt.s.w $f18, $f10 -/* 0EE09C 7F0B956C E504003C */ swc1 $f4, 0x3c($t0) -/* 0EE0A0 7F0B9570 C5280014 */ lwc1 $f8, 0x14($t1) -/* 0EE0A4 7F0B9574 44982000 */ mtc1 $t8, $f4 -/* 0EE0A8 7F0B9578 46124400 */ add.s $f16, $f8, $f18 -/* 0EE0AC 7F0B957C 468022A0 */ cvt.s.w $f10, $f4 -/* 0EE0B0 7F0B9580 E5100040 */ swc1 $f16, 0x40($t0) -/* 0EE0B4 7F0B9584 C526000C */ lwc1 $f6, 0xc($t1) -/* 0EE0B8 7F0B9588 44998000 */ mtc1 $t9, $f16 -/* 0EE0BC 7F0B958C 460A3200 */ add.s $f8, $f6, $f10 -/* 0EE0C0 7F0B9590 46808120 */ cvt.s.w $f4, $f16 -/* 0EE0C4 7F0B9594 E5080044 */ swc1 $f8, 0x44($t0) -/* 0EE0C8 7F0B9598 C5320010 */ lwc1 $f18, 0x10($t1) -/* 0EE0CC 7F0B959C 448B4000 */ mtc1 $t3, $f8 -/* 0EE0D0 7F0B95A0 46049180 */ add.s $f6, $f18, $f4 -/* 0EE0D4 7F0B95A4 46804420 */ cvt.s.w $f16, $f8 -/* 0EE0D8 7F0B95A8 E5060048 */ swc1 $f6, 0x48($t0) -/* 0EE0DC 7F0B95AC C52A0014 */ lwc1 $f10, 0x14($t1) -/* 0EE0E0 7F0B95B0 46105480 */ add.s $f18, $f10, $f16 -/* 0EE0E4 7F0B95B4 15400003 */ bnez $t2, .L7F0B95C4 -/* 0EE0E8 7F0B95B8 E512004C */ swc1 $f18, 0x4c($t0) -/* 0EE0EC 7F0B95BC 0FC2D971 */ jal sub_GAME_7F0B65C4 -/* 0EE0F0 7F0B95C0 02002025 */ move $a0, $s0 -.L7F0B95C4: -/* 0EE0F4 7F0B95C4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0B95C8: -/* 0EE0F8 7F0B95C8 8FB00018 */ lw $s0, 0x18($sp) -/* 0EE0FC 7F0B95CC 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0EE100 7F0B95D0 03E00008 */ jr $ra -/* 0EE104 7F0B95D4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B95D8(s32 arg0) { - void *temp_a2; - void *temp_t8; - s32 temp_t0; - void *temp_a2_2; - s32 temp_a1; - void *phi_v1; - void *phi_a2; - s32 phi_a1; - s32 phi_t0; - void *phi_t2; - - // Node 0 - phi_v1 = ptr_bgdata_portals; - if (*ptr_bgdata_portals != 0) - { -loop_1: - // Node 1 - if ((arg0 == phi_v1->unk4) || (arg0 == phi_v1->unk5)) - { - // Node 3 - temp_a2 = *phi_v1; - if (*temp_a2 > 0) - { - // Node 4 - phi_a1 = 0; - phi_a2 = temp_a2; -loop_5: - // Node 5 - phi_t0 = 0; - phi_t2 = ((arg0 * 0x50) + &D_80041414); -loop_6: - // Node 6 - temp_t8 = ((phi_a2 + (((phi_a1 * 4) - phi_a1) * 4)) + phi_t0); - temp_t0 = (phi_t0 + 4); - if (temp_t8->unk4 < phi_t2->unk38) - { - // Node 7 - phi_t2->unk38 = (f32) temp_t8->unk4; - } - // Node 8 - if (phi_t2->unk44 < temp_t8->unk4) - { - // Node 9 - phi_t2->unk44 = (f32) temp_t8->unk4; - } - // Node 10 - temp_a2_2 = *phi_v1; - phi_a2 = temp_a2_2; - phi_t0 = temp_t0; - phi_t2 = (phi_t2 + 4); - if (temp_t0 != 0xc) - { - goto loop_6; - } - // Node 11 - temp_a1 = (phi_a1 + 1); - phi_a1 = temp_a1; - phi_a2 = temp_a2_2; - if (temp_a1 < *temp_a2_2) - { - goto loop_5; - } - } - } - else - { - - } - // Node 12 - phi_v1 = (phi_v1 + 8); - if (phi_v1->unk8 != 0) - { - goto loop_1; - } - } - // Node 13 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B95D8 -/* 0EE108 7F0B95D8 3C058008 */ lui $a1, %hi(ptr_bgdata_portals) -/* 0EE10C 7F0B95DC 8CA5FF80 */ lw $a1, %lo(ptr_bgdata_portals)($a1) -/* 0EE110 7F0B95E0 00001025 */ move $v0, $zero -/* 0EE114 7F0B95E4 240B000C */ li $t3, 12 -/* 0EE118 7F0B95E8 8CAE0000 */ lw $t6, ($a1) -/* 0EE11C 7F0B95EC 00A01825 */ move $v1, $a1 -/* 0EE120 7F0B95F0 11C00034 */ beqz $t6, .L7F0B96C4 -/* 0EE124 7F0B95F4 00000000 */ nop -/* 0EE128 7F0B95F8 906F0004 */ lbu $t7, 4($v1) -.L7F0B95FC: -/* 0EE12C 7F0B95FC 508F0005 */ beql $a0, $t7, .L7F0B9614 -/* 0EE130 7F0B9600 8C660000 */ lw $a2, ($v1) -/* 0EE134 7F0B9604 90780005 */ lbu $t8, 5($v1) -/* 0EE138 7F0B9608 5498002B */ bnel $a0, $t8, .L7F0B96B8 -/* 0EE13C 7F0B960C 8C790008 */ lw $t9, 8($v1) -/* 0EE140 7F0B9610 8C660000 */ lw $a2, ($v1) -.L7F0B9614: -/* 0EE144 7F0B9614 00046080 */ sll $t4, $a0, 2 -/* 0EE148 7F0B9618 01846021 */ addu $t4, $t4, $a0 -/* 0EE14C 7F0B961C 90D90000 */ lbu $t9, ($a2) -/* 0EE150 7F0B9620 000C6100 */ sll $t4, $t4, 4 -/* 0EE154 7F0B9624 00002825 */ move $a1, $zero -/* 0EE158 7F0B9628 1B200022 */ blez $t9, .L7F0B96B4 -/* 0EE15C 7F0B962C 3C0D8004 */ lui $t5, %hi(D_80041414) -/* 0EE160 7F0B9630 25AD1414 */ addiu $t5, %lo(D_80041414) # addiu $t5, $t5, 0x1414 -/* 0EE164 7F0B9634 018D4821 */ addu $t1, $t4, $t5 -/* 0EE168 7F0B9638 00004025 */ move $t0, $zero -.L7F0B963C: -/* 0EE16C 7F0B963C 01205025 */ move $t2, $t1 -.L7F0B9640: -/* 0EE170 7F0B9640 00057080 */ sll $t6, $a1, 2 -/* 0EE174 7F0B9644 01C57023 */ subu $t6, $t6, $a1 -/* 0EE178 7F0B9648 000E7080 */ sll $t6, $t6, 2 -/* 0EE17C 7F0B964C 00CE7821 */ addu $t7, $a2, $t6 -/* 0EE180 7F0B9650 01E8C021 */ addu $t8, $t7, $t0 -/* 0EE184 7F0B9654 C7000004 */ lwc1 $f0, 4($t8) -/* 0EE188 7F0B9658 C5440038 */ lwc1 $f4, 0x38($t2) -/* 0EE18C 7F0B965C 25080004 */ addiu $t0, $t0, 4 -/* 0EE190 7F0B9660 4604003C */ c.lt.s $f0, $f4 -/* 0EE194 7F0B9664 00000000 */ nop -/* 0EE198 7F0B9668 45020004 */ bc1fl .L7F0B967C -/* 0EE19C 7F0B966C C5460044 */ lwc1 $f6, 0x44($t2) -/* 0EE1A0 7F0B9670 E5400038 */ swc1 $f0, 0x38($t2) -/* 0EE1A4 7F0B9674 24420001 */ addiu $v0, $v0, 1 -/* 0EE1A8 7F0B9678 C5460044 */ lwc1 $f6, 0x44($t2) -.L7F0B967C: -/* 0EE1AC 7F0B967C 4600303C */ c.lt.s $f6, $f0 -/* 0EE1B0 7F0B9680 00000000 */ nop -/* 0EE1B4 7F0B9684 45020004 */ bc1fl .L7F0B9698 -/* 0EE1B8 7F0B9688 254A0004 */ addiu $t2, $t2, 4 -/* 0EE1BC 7F0B968C E5400044 */ swc1 $f0, 0x44($t2) -/* 0EE1C0 7F0B9690 24420001 */ addiu $v0, $v0, 1 -/* 0EE1C4 7F0B9694 254A0004 */ addiu $t2, $t2, 4 -.L7F0B9698: -/* 0EE1C8 7F0B9698 150BFFE9 */ bne $t0, $t3, .L7F0B9640 -/* 0EE1CC 7F0B969C 8C660000 */ lw $a2, ($v1) -/* 0EE1D0 7F0B96A0 90C70000 */ lbu $a3, ($a2) -/* 0EE1D4 7F0B96A4 24A50001 */ addiu $a1, $a1, 1 -/* 0EE1D8 7F0B96A8 00A7082A */ slt $at, $a1, $a3 -/* 0EE1DC 7F0B96AC 5420FFE3 */ bnezl $at, .L7F0B963C -/* 0EE1E0 7F0B96B0 00004025 */ move $t0, $zero -.L7F0B96B4: -/* 0EE1E4 7F0B96B4 8C790008 */ lw $t9, 8($v1) -.L7F0B96B8: -/* 0EE1E8 7F0B96B8 24630008 */ addiu $v1, $v1, 8 -/* 0EE1EC 7F0B96BC 5720FFCF */ bnezl $t9, .L7F0B95FC -/* 0EE1F0 7F0B96C0 906F0004 */ lbu $t7, 4($v1) -.L7F0B96C4: -/* 0EE1F4 7F0B96C4 03E00008 */ jr $ra -/* 0EE1F8 7F0B96C8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B96CC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058D54 -.word 0x7f7fffff /*3.4028235e38*/ -glabel D_80058D58 -.word 0xff7fffff /*-3.4028235e38*/ -.text -glabel sub_GAME_7F0B96CC -/* 0EE1FC 7F0B96CC 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0EE200 7F0B96D0 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE204 7F0B96D4 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE208 7F0B96D8 000440C0 */ sll $t0, $a0, 3 -/* 0EE20C 7F0B96DC AFB00020 */ sw $s0, 0x20($sp) -/* 0EE210 7F0B96E0 00A08025 */ move $s0, $a1 -/* 0EE214 7F0B96E4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0EE218 7F0B96E8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0EE21C 7F0B96EC 27A40078 */ addiu $a0, $sp, 0x78 -/* 0EE220 7F0B96F0 27A6006C */ addiu $a2, $sp, 0x6c -/* 0EE224 7F0B96F4 00001025 */ move $v0, $zero -/* 0EE228 7F0B96F8 01C83821 */ addu $a3, $t6, $t0 -/* 0EE22C 7F0B96FC 24C60004 */ addiu $a2, $a2, 4 -/* 0EE230 7F0B9700 00C4082B */ sltu $at, $a2, $a0 -/* 0EE234 7F0B9704 1020000B */ beqz $at, .L7F0B9734 -/* 0EE238 7F0B9708 8CEF0000 */ lw $t7, ($a3) -.L7F0B970C: -/* 0EE23C 7F0B970C 01E21821 */ addu $v1, $t7, $v0 -/* 0EE240 7F0B9710 C4740004 */ lwc1 $f20, 4($v1) -/* 0EE244 7F0B9714 C4720010 */ lwc1 $f18, 0x10($v1) -/* 0EE248 7F0B9718 24C60004 */ addiu $a2, $a2, 4 -/* 0EE24C 7F0B971C 00C4082B */ sltu $at, $a2, $a0 -/* 0EE250 7F0B9720 4612A481 */ sub.s $f18, $f20, $f18 -/* 0EE254 7F0B9724 24420004 */ addiu $v0, $v0, 4 -/* 0EE258 7F0B9728 E4D2FFF8 */ swc1 $f18, -8($a2) -/* 0EE25C 7F0B972C 1420FFF7 */ bnez $at, .L7F0B970C -/* 0EE260 7F0B9730 8CEF0000 */ lw $t7, ($a3) -.L7F0B9734: -/* 0EE264 7F0B9734 01E21821 */ addu $v1, $t7, $v0 -/* 0EE268 7F0B9738 C4740004 */ lwc1 $f20, 4($v1) -/* 0EE26C 7F0B973C C4720010 */ lwc1 $f18, 0x10($v1) -/* 0EE270 7F0B9740 24420004 */ addiu $v0, $v0, 4 -/* 0EE274 7F0B9744 4612A481 */ sub.s $f18, $f20, $f18 -/* 0EE278 7F0B9748 E4D2FFFC */ swc1 $f18, -4($a2) -/* 0EE27C 7F0B974C 00001025 */ move $v0, $zero -/* 0EE280 7F0B9750 27A40060 */ addiu $a0, $sp, 0x60 -/* 0EE284 7F0B9754 27A5006C */ addiu $a1, $sp, 0x6c -/* 0EE288 7F0B9758 24840004 */ addiu $a0, $a0, 4 -/* 0EE28C 7F0B975C 0085082B */ sltu $at, $a0, $a1 -/* 0EE290 7F0B9760 1020000B */ beqz $at, .L7F0B9790 -/* 0EE294 7F0B9764 8CF80000 */ lw $t8, ($a3) -.L7F0B9768: -/* 0EE298 7F0B9768 03021821 */ addu $v1, $t8, $v0 -/* 0EE29C 7F0B976C C474001C */ lwc1 $f20, 0x1c($v1) -/* 0EE2A0 7F0B9770 C4720010 */ lwc1 $f18, 0x10($v1) -/* 0EE2A4 7F0B9774 24840004 */ addiu $a0, $a0, 4 -/* 0EE2A8 7F0B9778 0085082B */ sltu $at, $a0, $a1 -/* 0EE2AC 7F0B977C 4612A481 */ sub.s $f18, $f20, $f18 -/* 0EE2B0 7F0B9780 24420004 */ addiu $v0, $v0, 4 -/* 0EE2B4 7F0B9784 E492FFF8 */ swc1 $f18, -8($a0) -/* 0EE2B8 7F0B9788 1420FFF7 */ bnez $at, .L7F0B9768 -/* 0EE2BC 7F0B978C 8CF80000 */ lw $t8, ($a3) -.L7F0B9790: -/* 0EE2C0 7F0B9790 03021821 */ addu $v1, $t8, $v0 -/* 0EE2C4 7F0B9794 C474001C */ lwc1 $f20, 0x1c($v1) -/* 0EE2C8 7F0B9798 C4720010 */ lwc1 $f18, 0x10($v1) -/* 0EE2CC 7F0B979C 24420004 */ addiu $v0, $v0, 4 -/* 0EE2D0 7F0B97A0 4612A481 */ sub.s $f18, $f20, $f18 -/* 0EE2D4 7F0B97A4 E492FFFC */ swc1 $f18, -4($a0) -/* 0EE2D8 7F0B97A8 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 0EE2DC 7F0B97AC C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 0EE2E0 7F0B97B0 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 0EE2E4 7F0B97B4 460A4102 */ mul.s $f4, $f8, $f10 -/* 0EE2E8 7F0B97B8 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0EE2EC 7F0B97BC 46083282 */ mul.s $f10, $f6, $f8 -/* 0EE2F0 7F0B97C0 460A2181 */ sub.s $f6, $f4, $f10 -/* 0EE2F4 7F0B97C4 E6060000 */ swc1 $f6, ($s0) -/* 0EE2F8 7F0B97C8 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 0EE2FC 7F0B97CC C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0EE300 7F0B97D0 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 0EE304 7F0B97D4 C6100000 */ lwc1 $f16, ($s0) -/* 0EE308 7F0B97D8 46044282 */ mul.s $f10, $f8, $f4 -/* 0EE30C 7F0B97DC C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 0EE310 7F0B97E0 46083102 */ mul.s $f4, $f6, $f8 -/* 0EE314 7F0B97E4 46045181 */ sub.s $f6, $f10, $f4 -/* 0EE318 7F0B97E8 E6060004 */ swc1 $f6, 4($s0) -/* 0EE31C 7F0B97EC C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 0EE320 7F0B97F0 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 0EE324 7F0B97F4 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 0EE328 7F0B97F8 C6120004 */ lwc1 $f18, 4($s0) -/* 0EE32C 7F0B97FC 460A4102 */ mul.s $f4, $f8, $f10 -/* 0EE330 7F0B9800 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 0EE334 7F0B9804 46083282 */ mul.s $f10, $f6, $f8 -/* 0EE338 7F0B9808 460A2181 */ sub.s $f6, $f4, $f10 -/* 0EE33C 7F0B980C 46108202 */ mul.s $f8, $f16, $f16 -/* 0EE340 7F0B9810 00000000 */ nop -/* 0EE344 7F0B9814 46129102 */ mul.s $f4, $f18, $f18 -/* 0EE348 7F0B9818 E6060008 */ swc1 $f6, 8($s0) -/* 0EE34C 7F0B981C C60E0008 */ lwc1 $f14, 8($s0) -/* 0EE350 7F0B9820 AFA80040 */ sw $t0, 0x40($sp) -/* 0EE354 7F0B9824 460E7182 */ mul.s $f6, $f14, $f14 -/* 0EE358 7F0B9828 46044280 */ add.s $f10, $f8, $f4 -/* 0EE35C 7F0B982C 0C007DF8 */ jal sqrtf -/* 0EE360 7F0B9830 460A3300 */ add.s $f12, $f6, $f10 -/* 0EE364 7F0B9834 44804000 */ mtc1 $zero, $f8 -/* 0EE368 7F0B9838 8FA80040 */ lw $t0, 0x40($sp) -/* 0EE36C 7F0B983C 46000506 */ mov.s $f20, $f0 -/* 0EE370 7F0B9840 46080032 */ c.eq.s $f0, $f8 -/* 0EE374 7F0B9844 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0EE378 7F0B9848 00001825 */ move $v1, $zero -/* 0EE37C 7F0B984C 45030005 */ bc1tl .L7F0B9864 -/* 0EE380 7F0B9850 C6060000 */ lwc1 $f6, ($s0) -/* 0EE384 7F0B9854 44812000 */ mtc1 $at, $f4 -/* 0EE388 7F0B9858 00000000 */ nop -/* 0EE38C 7F0B985C 46002503 */ div.s $f20, $f4, $f0 -/* 0EE390 7F0B9860 C6060000 */ lwc1 $f6, ($s0) -.L7F0B9864: -/* 0EE394 7F0B9864 C6080004 */ lwc1 $f8, 4($s0) -/* 0EE398 7F0B9868 3C198008 */ lui $t9, %hi(ptr_bgdata_portals) -/* 0EE39C 7F0B986C 46143282 */ mul.s $f10, $f6, $f20 -/* 0EE3A0 7F0B9870 C6060008 */ lwc1 $f6, 8($s0) -/* 0EE3A4 7F0B9874 3C018006 */ lui $at, %hi(D_80058D54) -/* 0EE3A8 7F0B9878 46144102 */ mul.s $f4, $f8, $f20 -/* 0EE3AC 7F0B987C E60A0000 */ swc1 $f10, ($s0) -/* 0EE3B0 7F0B9880 46143282 */ mul.s $f10, $f6, $f20 -/* 0EE3B4 7F0B9884 E6040004 */ swc1 $f4, 4($s0) -/* 0EE3B8 7F0B9888 E60A0008 */ swc1 $f10, 8($s0) -/* 0EE3BC 7F0B988C 8F39FF80 */ lw $t9, %lo(ptr_bgdata_portals)($t9) -/* 0EE3C0 7F0B9890 C4228D54 */ lwc1 $f2, %lo(D_80058D54)($at) -/* 0EE3C4 7F0B9894 3C018006 */ lui $at, %hi(D_80058D58) -/* 0EE3C8 7F0B9898 03284821 */ addu $t1, $t9, $t0 -/* 0EE3CC 7F0B989C 8D250000 */ lw $a1, ($t1) -/* 0EE3D0 7F0B98A0 C42C8D58 */ lwc1 $f12, %lo(D_80058D58)($at) -/* 0EE3D4 7F0B98A4 90A60000 */ lbu $a2, ($a1) -/* 0EE3D8 7F0B98A8 00A01025 */ move $v0, $a1 -/* 0EE3DC 7F0B98AC 18C0001C */ blez $a2, .L7F0B9920 -/* 0EE3E0 7F0B98B0 00062080 */ sll $a0, $a2, 2 -/* 0EE3E4 7F0B98B4 00862023 */ subu $a0, $a0, $a2 -/* 0EE3E8 7F0B98B8 00042080 */ sll $a0, $a0, 2 -/* 0EE3EC 7F0B98BC C60E0008 */ lwc1 $f14, 8($s0) -/* 0EE3F0 7F0B98C0 C6100000 */ lwc1 $f16, ($s0) -/* 0EE3F4 7F0B98C4 C6120004 */ lwc1 $f18, 4($s0) -.L7F0B98C8: -/* 0EE3F8 7F0B98C8 C4480004 */ lwc1 $f8, 4($v0) -/* 0EE3FC 7F0B98CC C4460008 */ lwc1 $f6, 8($v0) -/* 0EE400 7F0B98D0 2463000C */ addiu $v1, $v1, 0xc -/* 0EE404 7F0B98D4 46104102 */ mul.s $f4, $f8, $f16 -/* 0EE408 7F0B98D8 0064082A */ slt $at, $v1, $a0 -/* 0EE40C 7F0B98DC 46123282 */ mul.s $f10, $f6, $f18 -/* 0EE410 7F0B98E0 C446000C */ lwc1 $f6, 0xc($v0) -/* 0EE414 7F0B98E4 460A2200 */ add.s $f8, $f4, $f10 -/* 0EE418 7F0B98E8 46067102 */ mul.s $f4, $f14, $f6 -/* 0EE41C 7F0B98EC 46082000 */ add.s $f0, $f4, $f8 -/* 0EE420 7F0B98F0 4602003C */ c.lt.s $f0, $f2 -/* 0EE424 7F0B98F4 00000000 */ nop -/* 0EE428 7F0B98F8 45020003 */ bc1fl .L7F0B9908 -/* 0EE42C 7F0B98FC 4600603C */ c.lt.s $f12, $f0 -/* 0EE430 7F0B9900 46000086 */ mov.s $f2, $f0 -/* 0EE434 7F0B9904 4600603C */ c.lt.s $f12, $f0 -.L7F0B9908: -/* 0EE438 7F0B9908 00000000 */ nop -/* 0EE43C 7F0B990C 45000002 */ bc1f .L7F0B9918 -/* 0EE440 7F0B9910 00000000 */ nop -/* 0EE444 7F0B9914 46000306 */ mov.s $f12, $f0 -.L7F0B9918: -/* 0EE448 7F0B9918 1420FFEB */ bnez $at, .L7F0B98C8 -/* 0EE44C 7F0B991C 2442000C */ addiu $v0, $v0, 0xc -.L7F0B9920: -/* 0EE450 7F0B9920 E602000C */ swc1 $f2, 0xc($s0) -/* 0EE454 7F0B9924 E60C0010 */ swc1 $f12, 0x10($s0) -/* 0EE458 7F0B9928 8FBF0024 */ lw $ra, 0x24($sp) -/* 0EE45C 7F0B992C 8FB00020 */ lw $s0, 0x20($sp) -/* 0EE460 7F0B9930 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0EE464 7F0B9934 03E00008 */ jr $ra -/* 0EE468 7F0B9938 27BD0078 */ addiu $sp, $sp, 0x78 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B993C(void) { - f32 sp1C; - - // Node 0 - sub_GAME_7F0B96CC(&sp1C); - if (((sp24 * sp24) + (sp1C * sp1C)) < D_80058D5C) - { - // Node 1 - } - // Node 2 - return 1; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058D5C -.word 0x3f7fbe77 /*0.99900001*/ -.text -glabel sub_GAME_7F0B993C -/* 0EE46C 7F0B993C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0EE470 7F0B9940 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EE474 7F0B9944 0FC2E5B3 */ jal sub_GAME_7F0B96CC -/* 0EE478 7F0B9948 27A5001C */ addiu $a1, $sp, 0x1c -/* 0EE47C 7F0B994C C7A00024 */ lwc1 $f0, 0x24($sp) -/* 0EE480 7F0B9950 C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 0EE484 7F0B9954 3C018006 */ lui $at, %hi(D_80058D5C) -/* 0EE488 7F0B9958 46000102 */ mul.s $f4, $f0, $f0 -/* 0EE48C 7F0B995C C42A8D5C */ lwc1 $f10, %lo(D_80058D5C)($at) -/* 0EE490 7F0B9960 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EE494 7F0B9964 46021182 */ mul.s $f6, $f2, $f2 -/* 0EE498 7F0B9968 24020001 */ li $v0, 1 -/* 0EE49C 7F0B996C 46062200 */ add.s $f8, $f4, $f6 -/* 0EE4A0 7F0B9970 460A403C */ c.lt.s $f8, $f10 -/* 0EE4A4 7F0B9974 00000000 */ nop -/* 0EE4A8 7F0B9978 45000003 */ bc1f .L7F0B9988 -/* 0EE4AC 7F0B997C 00000000 */ nop -/* 0EE4B0 7F0B9980 10000001 */ b .L7F0B9988 -/* 0EE4B4 7F0B9984 00001025 */ move $v0, $zero -.L7F0B9988: -/* 0EE4B8 7F0B9988 03E00008 */ jr $ra -/* 0EE4BC 7F0B998C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B9990(s32 arg0) { - void *temp_t8; - s32 temp_t9; - s32 temp_a0; - f32 temp_f2; - s32 temp_v1; - f32 temp_f2_6; - f32 temp_f2_2; - s32 temp_v1_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f2_5; - s32 phi_v1; - s32 phi_v1_2; - f32 phi_f2; - f32 phi_f2_2; - f32 phi_f2_3; - - // Node 0 - temp_t8 = (ptr_bgdata_portals + (arg0 * 8)); - temp_t9 = (((s32) temp_t8->unk7 >> 4) & 0xf); - temp_a0 = -(s32) (temp_t9 & 3); - temp_f2 = ((f32) (temp_t8->unk7 & 0xf) * 0.25f); - phi_f2 = temp_f2; - if (temp_t9 != 0) - { - // Node 1 - phi_v1 = temp_t9; - phi_v1_2 = temp_t9; - phi_f2_2 = temp_f2; - phi_f2_3 = temp_f2; - if (((temp_a0 == 0) || ((temp_a0 + temp_t9) != temp_v1)) || (temp_v1 != 0)) - { -loop_4: - // Node 4 - temp_f2_2 = (phi_f2_2 + phi_f2_2); - temp_v1_2 = (phi_v1_2 + -4); - temp_f2_3 = (temp_f2_2 + temp_f2_2); - temp_f2_4 = (temp_f2_3 + temp_f2_3); - temp_f2_5 = (temp_f2_4 + temp_f2_4); - phi_v1_2 = temp_v1_2; - phi_f2 = temp_f2_5; - phi_f2_2 = temp_f2_5; - if (temp_v1_2 != 0) - { - goto loop_4; - } - } - else - { - - } - } - // Node 5 - return phi_f2; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9990 -/* 0EE4C0 7F0B9990 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE4C4 7F0B9994 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE4C8 7F0B9998 000478C0 */ sll $t7, $a0, 3 -/* 0EE4CC 7F0B999C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0EE4D0 7F0B99A0 01CFC021 */ addu $t8, $t6, $t7 -/* 0EE4D4 7F0B99A4 93020007 */ lbu $v0, 7($t8) -/* 0EE4D8 7F0B99A8 44814000 */ mtc1 $at, $f8 -/* 0EE4DC 7F0B99AC 3048000F */ andi $t0, $v0, 0xf -/* 0EE4E0 7F0B99B0 44882000 */ mtc1 $t0, $f4 -/* 0EE4E4 7F0B99B4 00022903 */ sra $a1, $v0, 4 -/* 0EE4E8 7F0B99B8 30B9000F */ andi $t9, $a1, 0xf -/* 0EE4EC 7F0B99BC 468021A0 */ cvt.s.w $f6, $f4 -/* 0EE4F0 7F0B99C0 33240003 */ andi $a0, $t9, 3 -/* 0EE4F4 7F0B99C4 03201825 */ move $v1, $t9 -/* 0EE4F8 7F0B99C8 00042023 */ negu $a0, $a0 -/* 0EE4FC 7F0B99CC 46083082 */ mul.s $f2, $f6, $f8 -/* 0EE500 7F0B99D0 1320000E */ beqz $t9, .L7F0B9A0C -/* 0EE504 7F0B99D4 00000000 */ nop -/* 0EE508 7F0B99D8 10800006 */ beqz $a0, .L7F0B99F4 -/* 0EE50C 7F0B99DC 00991021 */ addu $v0, $a0, $t9 -.L7F0B99E0: -/* 0EE510 7F0B99E0 2463FFFF */ addiu $v1, $v1, -1 -/* 0EE514 7F0B99E4 1443FFFE */ bne $v0, $v1, .L7F0B99E0 -/* 0EE518 7F0B99E8 46021080 */ add.s $f2, $f2, $f2 -/* 0EE51C 7F0B99EC 10600007 */ beqz $v1, .L7F0B9A0C -/* 0EE520 7F0B99F0 00000000 */ nop -.L7F0B99F4: -/* 0EE524 7F0B99F4 46021080 */ add.s $f2, $f2, $f2 -/* 0EE528 7F0B99F8 2463FFFC */ addiu $v1, $v1, -4 -/* 0EE52C 7F0B99FC 46021080 */ add.s $f2, $f2, $f2 -/* 0EE530 7F0B9A00 46021080 */ add.s $f2, $f2, $f2 -/* 0EE534 7F0B9A04 1460FFFB */ bnez $v1, .L7F0B99F4 -/* 0EE538 7F0B9A08 46021080 */ add.s $f2, $f2, $f2 -.L7F0B9A0C: -/* 0EE53C 7F0B9A0C 03E00008 */ jr $ra -/* 0EE540 7F0B9A10 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B9A14(s32 arg0) { - // Node 0 - return (ptr_bgdata_portals + (arg0 * 8))->unk7; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9A14 -/* 0EE544 7F0B9A14 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE548 7F0B9A18 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE54C 7F0B9A1C 000478C0 */ sll $t7, $a0, 3 -/* 0EE550 7F0B9A20 01CFC021 */ addu $t8, $t6, $t7 -/* 0EE554 7F0B9A24 03E00008 */ jr $ra -/* 0EE558 7F0B9A28 93020007 */ lbu $v0, 7($t8) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B9A2C(s32 arg0) { - void *temp_v1; - s32 temp_v0; - s32 temp_t8; - s8 phi_v0; - - // Node 0 - temp_v1 = (ptr_bgdata_portals + (arg0 * 8)); - temp_v0 = (temp_v1->unk7 + 1); - if (temp_v1->unk7 >= 0xff) - { - // Node 1 - phi_v0 = (u8)0xff; - } - else - { - // Node 2 - temp_t8 = (temp_v0 & 0xff); - phi_v0 = temp_t8; - if (((temp_t8 >> 4) & 0xf) > 0) - { - // Node 3 - phi_v0 = ((temp_t8 | 8) & 0xff); - } - } - // Node 4 - temp_v1->unk7 = (s8) phi_v0; - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9A2C -/* 0EE55C 7F0B9A2C 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE560 7F0B9A30 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE564 7F0B9A34 000478C0 */ sll $t7, $a0, 3 -/* 0EE568 7F0B9A38 01CF1821 */ addu $v1, $t6, $t7 -/* 0EE56C 7F0B9A3C 90620007 */ lbu $v0, 7($v1) -/* 0EE570 7F0B9A40 284100FF */ slti $at, $v0, 0xff -/* 0EE574 7F0B9A44 14200003 */ bnez $at, .L7F0B9A54 -/* 0EE578 7F0B9A48 24420001 */ addiu $v0, $v0, 1 -/* 0EE57C 7F0B9A4C 10000009 */ b .L7F0B9A74 -/* 0EE580 7F0B9A50 240200FF */ li $v0, 255 -.L7F0B9A54: -/* 0EE584 7F0B9A54 305800FF */ andi $t8, $v0, 0xff -/* 0EE588 7F0B9A58 0018C903 */ sra $t9, $t8, 4 -/* 0EE58C 7F0B9A5C 3328000F */ andi $t0, $t9, 0xf -/* 0EE590 7F0B9A60 19000004 */ blez $t0, .L7F0B9A74 -/* 0EE594 7F0B9A64 03001025 */ move $v0, $t8 -/* 0EE598 7F0B9A68 37020008 */ ori $v0, $t8, 8 -/* 0EE59C 7F0B9A6C 304900FF */ andi $t1, $v0, 0xff -/* 0EE5A0 7F0B9A70 01201025 */ move $v0, $t1 -.L7F0B9A74: -/* 0EE5A4 7F0B9A74 03E00008 */ jr $ra -/* 0EE5A8 7F0B9A78 A0620007 */ sb $v0, 7($v1) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B9A7C(s32 arg0) { - void *temp_v1; - s8 temp_t1; - s8 phi_v0; - - // Node 0 - temp_v1 = (ptr_bgdata_portals + (arg0 * 8)); - if ((((s32) temp_v1->unk7 >> 4) & 0xf) == 0) - { - // Node 1 - phi_v0 = (s8) temp_v1->unk7; - if (temp_v1->unk7 > 0) - { - // Node 2 - phi_v0 = ((temp_v1->unk7 + -1) & 0xff); - } - } - else - { - // Node 3 - temp_t1 = ((temp_v1->unk7 + -1) & 0xff); - phi_v0 = temp_t1; - if ((temp_t1 & 0xf) < 8) - { - // Node 4 - phi_v0 = ((temp_t1 + -8) & 0xff); - } - } - // Node 5 - temp_v1->unk7 = (s8) phi_v0; - return temp_v1->unk7; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9A7C -/* 0EE5AC 7F0B9A7C 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE5B0 7F0B9A80 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE5B4 7F0B9A84 000478C0 */ sll $t7, $a0, 3 -/* 0EE5B8 7F0B9A88 01CF1821 */ addu $v1, $t6, $t7 -/* 0EE5BC 7F0B9A8C 90620007 */ lbu $v0, 7($v1) -/* 0EE5C0 7F0B9A90 0002C103 */ sra $t8, $v0, 4 -/* 0EE5C4 7F0B9A94 3319000F */ andi $t9, $t8, 0xf -/* 0EE5C8 7F0B9A98 17200007 */ bnez $t9, .L7F0B9AB8 -/* 0EE5CC 7F0B9A9C 00402825 */ move $a1, $v0 -/* 0EE5D0 7F0B9AA0 18A0000E */ blez $a1, .L7F0B9ADC -/* 0EE5D4 7F0B9AA4 00000000 */ nop -/* 0EE5D8 7F0B9AA8 2442FFFF */ addiu $v0, $v0, -1 -/* 0EE5DC 7F0B9AAC 304800FF */ andi $t0, $v0, 0xff -/* 0EE5E0 7F0B9AB0 1000000A */ b .L7F0B9ADC -/* 0EE5E4 7F0B9AB4 01001025 */ move $v0, $t0 -.L7F0B9AB8: -/* 0EE5E8 7F0B9AB8 2442FFFF */ addiu $v0, $v0, -1 -/* 0EE5EC 7F0B9ABC 304900FF */ andi $t1, $v0, 0xff -/* 0EE5F0 7F0B9AC0 312A000F */ andi $t2, $t1, 0xf -/* 0EE5F4 7F0B9AC4 29410008 */ slti $at, $t2, 8 -/* 0EE5F8 7F0B9AC8 10200004 */ beqz $at, .L7F0B9ADC -/* 0EE5FC 7F0B9ACC 01201025 */ move $v0, $t1 -/* 0EE600 7F0B9AD0 2522FFF8 */ addiu $v0, $t1, -8 -/* 0EE604 7F0B9AD4 304B00FF */ andi $t3, $v0, 0xff -/* 0EE608 7F0B9AD8 01601025 */ move $v0, $t3 -.L7F0B9ADC: -/* 0EE60C 7F0B9ADC 03E00008 */ jr $ra -/* 0EE610 7F0B9AE0 A0620007 */ sb $v0, 7($v1) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B9AE4(s32 arg0) { - // Node 0 - return ((ptr_bgdata_portals + (arg0 * 8))->unk6 & 1); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9AE4 -/* 0EE614 7F0B9AE4 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE618 7F0B9AE8 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE61C 7F0B9AEC 000478C0 */ sll $t7, $a0, 3 -/* 0EE620 7F0B9AF0 01CFC021 */ addu $t8, $t6, $t7 -/* 0EE624 7F0B9AF4 93020006 */ lbu $v0, 6($t8) -/* 0EE628 7F0B9AF8 30590001 */ andi $t9, $v0, 1 -/* 0EE62C 7F0B9AFC 03E00008 */ jr $ra -/* 0EE630 7F0B9B00 03201025 */ move $v0, $t9 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B9B04(s32 arg0) { - // Node 0 - return ((ptr_bgdata_portals + (arg0 * 8))->unk6 & 2); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9B04 -/* 0EE634 7F0B9B04 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE638 7F0B9B08 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE63C 7F0B9B0C 000478C0 */ sll $t7, $a0, 3 -/* 0EE640 7F0B9B10 01CFC021 */ addu $t8, $t6, $t7 -/* 0EE644 7F0B9B14 93020006 */ lbu $v0, 6($t8) -/* 0EE648 7F0B9B18 30590002 */ andi $t9, $v0, 2 -/* 0EE64C 7F0B9B1C 03E00008 */ jr $ra -/* 0EE650 7F0B9B20 03201025 */ move $v0, $t9 -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0B9B24(s32 arg0) { - void *temp_v0; - - // Node 0 - temp_v0 = (ptr_bgdata_portals + (arg0 * 8)); - temp_v0->unk6 = (s8) (temp_v0->unk6 | 2); - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9B24 -/* 0EE654 7F0B9B24 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE658 7F0B9B28 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE65C 7F0B9B2C 000478C0 */ sll $t7, $a0, 3 -/* 0EE660 7F0B9B30 01CF1021 */ addu $v0, $t6, $t7 -/* 0EE664 7F0B9B34 90580006 */ lbu $t8, 6($v0) -/* 0EE668 7F0B9B38 37190002 */ ori $t9, $t8, 2 -/* 0EE66C 7F0B9B3C 03E00008 */ jr $ra -/* 0EE670 7F0B9B40 A0590006 */ sb $t9, 6($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0B9B44(s32 arg0) { - void *temp_v0; - - // Node 0 - temp_v0 = (ptr_bgdata_portals + (arg0 * 8)); - temp_v0->unk6 = (s8) (temp_v0->unk6 & 0xfd); - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9B44 -/* 0EE674 7F0B9B44 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE678 7F0B9B48 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE67C 7F0B9B4C 000478C0 */ sll $t7, $a0, 3 -/* 0EE680 7F0B9B50 01CF1021 */ addu $v0, $t6, $t7 -/* 0EE684 7F0B9B54 90580006 */ lbu $t8, 6($v0) -/* 0EE688 7F0B9B58 331900FD */ andi $t9, $t8, 0xfd -/* 0EE68C 7F0B9B5C 03E00008 */ jr $ra -/* 0EE690 7F0B9B60 A0590006 */ sb $t9, 6($v0) -) -#endif - - - - - -#ifdef NONMATCHING -s8 sub_GAME_7F0B9B64(s32 arg0) { - s32 temp_v1; - void *temp_a1; - - // Node 0 - temp_v1 = (arg0 * 8); - temp_a1 = (ptr_bgdata_portals + temp_v1); - temp_a1->unk4 = (s8) temp_a1->unk5; - (ptr_bgdata_portals + temp_v1)->unk5 = (s8) temp_a1->unk4; - return temp_a1->unk4; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9B64 -/* 0EE694 7F0B9B64 3C068008 */ lui $a2, %hi(ptr_bgdata_portals) -/* 0EE698 7F0B9B68 24C6FF80 */ addiu $a2, %lo(ptr_bgdata_portals) # addiu $a2, $a2, -0x80 -/* 0EE69C 7F0B9B6C 8CCE0000 */ lw $t6, ($a2) -/* 0EE6A0 7F0B9B70 000418C0 */ sll $v1, $a0, 3 -/* 0EE6A4 7F0B9B74 01C32821 */ addu $a1, $t6, $v1 -/* 0EE6A8 7F0B9B78 90AF0005 */ lbu $t7, 5($a1) -/* 0EE6AC 7F0B9B7C 90A20004 */ lbu $v0, 4($a1) -/* 0EE6B0 7F0B9B80 A0AF0004 */ sb $t7, 4($a1) -/* 0EE6B4 7F0B9B84 8CD80000 */ lw $t8, ($a2) -/* 0EE6B8 7F0B9B88 0303C821 */ addu $t9, $t8, $v1 -/* 0EE6BC 7F0B9B8C 03E00008 */ jr $ra -/* 0EE6C0 7F0B9B90 A3220005 */ sb $v0, 5($t9) -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B9B94(s32 arg0) { - s32 sp24; - ?32 sp28; - f32 sp34; - f32 sp38; - f32 sp3C; - f32 sp48; - f32 sp54; - void *temp_v0; - f32 temp_f0; - f32 phi_f16; - f32 phi_f18; - f32 phi_f14; - s32 phi_v0; - f32 phi_f12; - f32 phi_return; - - // Node 0 - temp_v0 = (ptr_bgdata_portals + (arg0 * 8)); - sp28 = (?32) temp_v0->unk5; - sub_GAME_7F0B92B4(temp_v0->unk4, &sp54); - sub_GAME_7F0B92B4(sp28, &sp48); - sub_GAME_7F0B96CC(arg0, &sp34); - phi_f16 = sp3C; - phi_f18 = sp34; - phi_f14 = sp40; - phi_v0 = 0; - phi_f12 = sp44; - if (sp44 < ((sp5C * sp3C) + ((sp34 * sp54) + (sp38 * sp58)))) - { - // Node 1 - sp24 = 1; - sub_GAME_7F0B9B64(sp44, sp40, arg0); - sp38 = (f32) -sp38; - phi_f16 = -sp3C; - phi_f18 = -sp34; - phi_f14 = -sp44; - phi_v0 = 1; - phi_f12 = -sp40; - } - // Node 2 - sp3C = (f32) phi_f16; - sp34 = (f32) phi_f18; - temp_f0 = ((sp50 * phi_f16) + ((phi_f18 * sp48) + (sp38 * sp4C))); - phi_return = temp_f0; - if (temp_f0 <= phi_f14) - { - // Node 3 - phi_return = temp_f0; - if (phi_v0 != 0) - { - // Node 4 - sp24 = (s32) phi_v0; - phi_return = sub_GAME_7F0B9B64(phi_f12, phi_f14, arg0); - } - } - // Node 5 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9B94 -/* 0EE6C4 7F0B9B94 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE6C8 7F0B9B98 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE6CC 7F0B9B9C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0EE6D0 7F0B9BA0 0004C0C0 */ sll $t8, $a0, 3 -/* 0EE6D4 7F0B9BA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EE6D8 7F0B9BA8 AFA40060 */ sw $a0, 0x60($sp) -/* 0EE6DC 7F0B9BAC 01D81021 */ addu $v0, $t6, $t8 -/* 0EE6E0 7F0B9BB0 90590005 */ lbu $t9, 5($v0) -/* 0EE6E4 7F0B9BB4 90440004 */ lbu $a0, 4($v0) -/* 0EE6E8 7F0B9BB8 27A50054 */ addiu $a1, $sp, 0x54 -/* 0EE6EC 7F0B9BBC 0FC2E4AD */ jal sub_GAME_7F0B92B4 -/* 0EE6F0 7F0B9BC0 AFB90028 */ sw $t9, 0x28($sp) -/* 0EE6F4 7F0B9BC4 8FA40028 */ lw $a0, 0x28($sp) -/* 0EE6F8 7F0B9BC8 0FC2E4AD */ jal sub_GAME_7F0B92B4 -/* 0EE6FC 7F0B9BCC 27A50048 */ addiu $a1, $sp, 0x48 -/* 0EE700 7F0B9BD0 8FA40060 */ lw $a0, 0x60($sp) -/* 0EE704 7F0B9BD4 0FC2E5B3 */ jal sub_GAME_7F0B96CC -/* 0EE708 7F0B9BD8 27A50034 */ addiu $a1, $sp, 0x34 -/* 0EE70C 7F0B9BDC C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0EE710 7F0B9BE0 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 0EE714 7F0B9BE4 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 0EE718 7F0B9BE8 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 0EE71C 7F0B9BEC 46062202 */ mul.s $f8, $f4, $f6 -/* 0EE720 7F0B9BF0 C7B0003C */ lwc1 $f16, 0x3c($sp) -/* 0EE724 7F0B9BF4 C7AC0044 */ lwc1 $f12, 0x44($sp) -/* 0EE728 7F0B9BF8 460A9102 */ mul.s $f4, $f18, $f10 -/* 0EE72C 7F0B9BFC C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0EE730 7F0B9C00 C7AE0040 */ lwc1 $f14, 0x40($sp) -/* 0EE734 7F0B9C04 00001025 */ move $v0, $zero -/* 0EE738 7F0B9C08 8FA40060 */ lw $a0, 0x60($sp) -/* 0EE73C 7F0B9C0C 46082180 */ add.s $f6, $f4, $f8 -/* 0EE740 7F0B9C10 46105102 */ mul.s $f4, $f10, $f16 -/* 0EE744 7F0B9C14 46062080 */ add.s $f2, $f4, $f6 -/* 0EE748 7F0B9C18 4602603C */ c.lt.s $f12, $f2 -/* 0EE74C 7F0B9C1C 00000000 */ nop -/* 0EE750 7F0B9C20 45020012 */ bc1fl .L7F0B9C6C -/* 0EE754 7F0B9C24 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0EE758 7F0B9C28 24020001 */ li $v0, 1 -/* 0EE75C 7F0B9C2C 0FC2E6D9 */ jal sub_GAME_7F0B9B64 -/* 0EE760 7F0B9C30 AFA20024 */ sw $v0, 0x24($sp) -/* 0EE764 7F0B9C34 C7AC0044 */ lwc1 $f12, 0x44($sp) -/* 0EE768 7F0B9C38 C7A00040 */ lwc1 $f0, 0x40($sp) -/* 0EE76C 7F0B9C3C C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0EE770 7F0B9C40 C7B0003C */ lwc1 $f16, 0x3c($sp) -/* 0EE774 7F0B9C44 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 0EE778 7F0B9C48 46006387 */ neg.s $f14, $f12 -/* 0EE77C 7F0B9C4C 46000307 */ neg.s $f12, $f0 -/* 0EE780 7F0B9C50 46004287 */ neg.s $f10, $f8 -/* 0EE784 7F0B9C54 8FA20024 */ lw $v0, 0x24($sp) -/* 0EE788 7F0B9C58 E7AA0038 */ swc1 $f10, 0x38($sp) -/* 0EE78C 7F0B9C5C E7AC0044 */ swc1 $f12, 0x44($sp) -/* 0EE790 7F0B9C60 46008407 */ neg.s $f16, $f16 -/* 0EE794 7F0B9C64 46009487 */ neg.s $f18, $f18 -/* 0EE798 7F0B9C68 C7A40038 */ lwc1 $f4, 0x38($sp) -.L7F0B9C6C: -/* 0EE79C 7F0B9C6C C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 0EE7A0 7F0B9C70 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 0EE7A4 7F0B9C74 E7AE0040 */ swc1 $f14, 0x40($sp) -/* 0EE7A8 7F0B9C78 46062202 */ mul.s $f8, $f4, $f6 -/* 0EE7AC 7F0B9C7C E7B0003C */ swc1 $f16, 0x3c($sp) -/* 0EE7B0 7F0B9C80 E7B20034 */ swc1 $f18, 0x34($sp) -/* 0EE7B4 7F0B9C84 460A9102 */ mul.s $f4, $f18, $f10 -/* 0EE7B8 7F0B9C88 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 0EE7BC 7F0B9C8C 46082180 */ add.s $f6, $f4, $f8 -/* 0EE7C0 7F0B9C90 46105102 */ mul.s $f4, $f10, $f16 -/* 0EE7C4 7F0B9C94 46062000 */ add.s $f0, $f4, $f6 -/* 0EE7C8 7F0B9C98 460E003E */ c.le.s $f0, $f14 -/* 0EE7CC 7F0B9C9C 00000000 */ nop -/* 0EE7D0 7F0B9CA0 45020006 */ bc1fl .L7F0B9CBC -/* 0EE7D4 7F0B9CA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EE7D8 7F0B9CA8 10400003 */ beqz $v0, .L7F0B9CB8 -/* 0EE7DC 7F0B9CAC 8FA40060 */ lw $a0, 0x60($sp) -/* 0EE7E0 7F0B9CB0 0FC2E6D9 */ jal sub_GAME_7F0B9B64 -/* 0EE7E4 7F0B9CB4 AFA20024 */ sw $v0, 0x24($sp) -.L7F0B9CB8: -/* 0EE7E8 7F0B9CB8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0B9CBC: -/* 0EE7EC 7F0B9CBC 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0EE7F0 7F0B9CC0 03E00008 */ jr $ra -/* 0EE7F4 7F0B9CC4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B9CC8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9CC8 -/* 0EE7F8 7F0B9CC8 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0EE7FC 7F0B9CCC AFBE0038 */ sw $fp, 0x38($sp) -/* 0EE800 7F0B9CD0 3C1E8008 */ lui $fp, %hi(ptr_bgdata_portals) -/* 0EE804 7F0B9CD4 27DEFF80 */ addiu $fp, %lo(ptr_bgdata_portals) # addiu $fp, $fp, -0x80 -/* 0EE808 7F0B9CD8 8FC30000 */ lw $v1, ($fp) -/* 0EE80C 7F0B9CDC AFBF003C */ sw $ra, 0x3c($sp) -/* 0EE810 7F0B9CE0 AFB70034 */ sw $s7, 0x34($sp) -/* 0EE814 7F0B9CE4 AFB60030 */ sw $s6, 0x30($sp) -/* 0EE818 7F0B9CE8 AFB5002C */ sw $s5, 0x2c($sp) -/* 0EE81C 7F0B9CEC AFB40028 */ sw $s4, 0x28($sp) -/* 0EE820 7F0B9CF0 AFB30024 */ sw $s3, 0x24($sp) -/* 0EE824 7F0B9CF4 AFB20020 */ sw $s2, 0x20($sp) -/* 0EE828 7F0B9CF8 AFB1001C */ sw $s1, 0x1c($sp) -/* 0EE82C 7F0B9CFC AFB00018 */ sw $s0, 0x18($sp) -/* 0EE830 7F0B9D00 8C6E0000 */ lw $t6, ($v1) -/* 0EE834 7F0B9D04 00809025 */ move $s2, $a0 -/* 0EE838 7F0B9D08 00A09825 */ move $s3, $a1 -/* 0EE83C 7F0B9D0C 00C0B025 */ move $s6, $a2 -/* 0EE840 7F0B9D10 00E0B825 */ move $s7, $a3 -/* 0EE844 7F0B9D14 2414FFFF */ li $s4, -1 -/* 0EE848 7F0B9D18 11C0001B */ beqz $t6, .L7F0B9D88 -/* 0EE84C 7F0B9D1C 00008025 */ move $s0, $zero -/* 0EE850 7F0B9D20 00008825 */ move $s1, $zero -/* 0EE854 7F0B9D24 00601025 */ move $v0, $v1 -/* 0EE858 7F0B9D28 90430004 */ lbu $v1, 4($v0) -.L7F0B9D2C: -/* 0EE85C 7F0B9D2C 16430004 */ bne $s2, $v1, .L7F0B9D40 -/* 0EE860 7F0B9D30 00000000 */ nop -/* 0EE864 7F0B9D34 904F0005 */ lbu $t7, 5($v0) -/* 0EE868 7F0B9D38 526F0006 */ beql $s3, $t7, .L7F0B9D54 -/* 0EE86C 7F0B9D3C 02002025 */ move $a0, $s0 -.L7F0B9D40: -/* 0EE870 7F0B9D40 5663000B */ bnel $s3, $v1, .L7F0B9D70 -/* 0EE874 7F0B9D44 8FD90000 */ lw $t9, ($fp) -/* 0EE878 7F0B9D48 90580005 */ lbu $t8, 5($v0) -/* 0EE87C 7F0B9D4C 16580007 */ bne $s2, $t8, .L7F0B9D6C -/* 0EE880 7F0B9D50 02002025 */ move $a0, $s0 -.L7F0B9D54: -/* 0EE884 7F0B9D54 02C02825 */ move $a1, $s6 -/* 0EE888 7F0B9D58 0FC2E7C5 */ jal sub_GAME_7F0B9F14 -/* 0EE88C 7F0B9D5C 02E03025 */ move $a2, $s7 -/* 0EE890 7F0B9D60 50400003 */ beql $v0, $zero, .L7F0B9D70 -/* 0EE894 7F0B9D64 8FD90000 */ lw $t9, ($fp) -/* 0EE898 7F0B9D68 0200A025 */ move $s4, $s0 -.L7F0B9D6C: -/* 0EE89C 7F0B9D6C 8FD90000 */ lw $t9, ($fp) -.L7F0B9D70: -/* 0EE8A0 7F0B9D70 26310008 */ addiu $s1, $s1, 8 -/* 0EE8A4 7F0B9D74 26100001 */ addiu $s0, $s0, 1 -/* 0EE8A8 7F0B9D78 03311021 */ addu $v0, $t9, $s1 -/* 0EE8AC 7F0B9D7C 8C480000 */ lw $t0, ($v0) -/* 0EE8B0 7F0B9D80 5500FFEA */ bnezl $t0, .L7F0B9D2C -/* 0EE8B4 7F0B9D84 90430004 */ lbu $v1, 4($v0) -.L7F0B9D88: -/* 0EE8B8 7F0B9D88 8FBF003C */ lw $ra, 0x3c($sp) -/* 0EE8BC 7F0B9D8C 02801025 */ move $v0, $s4 -/* 0EE8C0 7F0B9D90 8FB40028 */ lw $s4, 0x28($sp) -/* 0EE8C4 7F0B9D94 8FB00018 */ lw $s0, 0x18($sp) -/* 0EE8C8 7F0B9D98 8FB1001C */ lw $s1, 0x1c($sp) -/* 0EE8CC 7F0B9D9C 8FB20020 */ lw $s2, 0x20($sp) -/* 0EE8D0 7F0B9DA0 8FB30024 */ lw $s3, 0x24($sp) -/* 0EE8D4 7F0B9DA4 8FB5002C */ lw $s5, 0x2c($sp) -/* 0EE8D8 7F0B9DA8 8FB60030 */ lw $s6, 0x30($sp) -/* 0EE8DC 7F0B9DAC 8FB70034 */ lw $s7, 0x34($sp) -/* 0EE8E0 7F0B9DB0 8FBE0038 */ lw $fp, 0x38($sp) -/* 0EE8E4 7F0B9DB4 03E00008 */ jr $ra -/* 0EE8E8 7F0B9DB8 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0B9DBC(s32 arg0, u32 arg1) { - void *temp_v0; - - // Node 0 - temp_v0 = (ptr_bgdata_portals + (arg0 * 8)); - temp_v0->unk6 = (s8) ((temp_v0->unk6 | 1) ^ (0U < arg1)); - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9DBC -/* 0EE8EC 7F0B9DBC 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EE8F0 7F0B9DC0 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EE8F4 7F0B9DC4 000478C0 */ sll $t7, $a0, 3 -/* 0EE8F8 7F0B9DC8 0005402B */ sltu $t0, $zero, $a1 -/* 0EE8FC 7F0B9DCC 01CF1021 */ addu $v0, $t6, $t7 -/* 0EE900 7F0B9DD0 90580006 */ lbu $t8, 6($v0) -/* 0EE904 7F0B9DD4 37190001 */ ori $t9, $t8, 1 -/* 0EE908 7F0B9DD8 03284826 */ xor $t1, $t9, $t0 -/* 0EE90C 7F0B9DDC 03E00008 */ jr $ra -/* 0EE910 7F0B9DE0 A0490006 */ sb $t1, 6($v0) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B9DE4(s32 arg0, s32 arg1, ? arg2) { - // Node 0 - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9DE4 -/* 0EE914 7F0B9DE4 AFA50004 */ sw $a1, 4($sp) -/* 0EE918 7F0B9DE8 AFA60008 */ sw $a2, 8($sp) -/* 0EE91C 7F0B9DEC 03E00008 */ jr $ra -/* 0EE920 7F0B9DF0 00801025 */ move $v0, $a0 -) -#endif - - - - - -void sub_GAME_7F0B9DF4(s32 arg0) { - return; -} - -void sub_GAME_7F0B9DFC(s32 arg0) { - return; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B9E04(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058D60 -.word 0x7f7fffff /*3.4028235e38*/ -.text -glabel sub_GAME_7F0B9E04 -/* 0EE934 7F0B9E04 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0EE938 7F0B9E08 AFB6003C */ sw $s6, 0x3c($sp) -/* 0EE93C 7F0B9E0C 3C168008 */ lui $s6, %hi(ptr_bgdata_portals) -/* 0EE940 7F0B9E10 26D6FF80 */ addiu $s6, %lo(ptr_bgdata_portals) # addiu $s6, $s6, -0x80 -/* 0EE944 7F0B9E14 8ECE0000 */ lw $t6, ($s6) -/* 0EE948 7F0B9E18 AFBF0044 */ sw $ra, 0x44($sp) -/* 0EE94C 7F0B9E1C AFB70040 */ sw $s7, 0x40($sp) -/* 0EE950 7F0B9E20 AFB50038 */ sw $s5, 0x38($sp) -/* 0EE954 7F0B9E24 AFB40034 */ sw $s4, 0x34($sp) -/* 0EE958 7F0B9E28 AFB30030 */ sw $s3, 0x30($sp) -/* 0EE95C 7F0B9E2C AFB2002C */ sw $s2, 0x2c($sp) -/* 0EE960 7F0B9E30 AFB10028 */ sw $s1, 0x28($sp) -/* 0EE964 7F0B9E34 AFB00024 */ sw $s0, 0x24($sp) -/* 0EE968 7F0B9E38 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 0EE96C 7F0B9E3C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0EE970 7F0B9E40 8DCF0000 */ lw $t7, ($t6) -/* 0EE974 7F0B9E44 3C018006 */ lui $at, %hi(D_80058D60) -/* 0EE978 7F0B9E48 0080A025 */ move $s4, $a0 -/* 0EE97C 7F0B9E4C 00A0A825 */ move $s5, $a1 -/* 0EE980 7F0B9E50 2413FFFF */ li $s3, -1 -/* 0EE984 7F0B9E54 00008825 */ move $s1, $zero -/* 0EE988 7F0B9E58 C4348D60 */ lwc1 $f20, %lo(D_80058D60)($at) -/* 0EE98C 7F0B9E5C 11E0001F */ beqz $t7, .L7F0B9EDC -/* 0EE990 7F0B9E60 00008025 */ move $s0, $zero -/* 0EE994 7F0B9E64 3C178004 */ lui $s7, %hi(D_80044900) -/* 0EE998 7F0B9E68 4480B000 */ mtc1 $zero, $f22 -/* 0EE99C 7F0B9E6C 26F74900 */ addiu $s7, %lo(D_80044900) # addiu $s7, $s7, 0x4900 -/* 0EE9A0 7F0B9E70 00009025 */ move $s2, $zero -/* 0EE9A4 7F0B9E74 02002025 */ move $a0, $s0 -.L7F0B9E78: -/* 0EE9A8 7F0B9E78 02802825 */ move $a1, $s4 -/* 0EE9AC 7F0B9E7C 0FC2E7C5 */ jal sub_GAME_7F0B9F14 -/* 0EE9B0 7F0B9E80 02A03025 */ move $a2, $s5 -/* 0EE9B4 7F0B9E84 5040000F */ beql $v0, $zero, .L7F0B9EC4 -/* 0EE9B8 7F0B9E88 8ED80000 */ lw $t8, ($s6) -/* 0EE9BC 7F0B9E8C C6E00000 */ lwc1 $f0, ($s7) -/* 0EE9C0 7F0B9E90 4616003C */ c.lt.s $f0, $f22 -/* 0EE9C4 7F0B9E94 00000000 */ nop -/* 0EE9C8 7F0B9E98 45020003 */ bc1fl .L7F0B9EA8 -/* 0EE9CC 7F0B9E9C 4614003C */ c.lt.s $f0, $f20 -/* 0EE9D0 7F0B9EA0 46000007 */ neg.s $f0, $f0 -/* 0EE9D4 7F0B9EA4 4614003C */ c.lt.s $f0, $f20 -.L7F0B9EA8: -/* 0EE9D8 7F0B9EA8 00000000 */ nop -/* 0EE9DC 7F0B9EAC 45020005 */ bc1fl .L7F0B9EC4 -/* 0EE9E0 7F0B9EB0 8ED80000 */ lw $t8, ($s6) -/* 0EE9E4 7F0B9EB4 02009825 */ move $s3, $s0 -/* 0EE9E8 7F0B9EB8 46000506 */ mov.s $f20, $f0 -/* 0EE9EC 7F0B9EBC 26310001 */ addiu $s1, $s1, 1 -/* 0EE9F0 7F0B9EC0 8ED80000 */ lw $t8, ($s6) -.L7F0B9EC4: -/* 0EE9F4 7F0B9EC4 26520008 */ addiu $s2, $s2, 8 -/* 0EE9F8 7F0B9EC8 26100001 */ addiu $s0, $s0, 1 -/* 0EE9FC 7F0B9ECC 0312C821 */ addu $t9, $t8, $s2 -/* 0EEA00 7F0B9ED0 8F280000 */ lw $t0, ($t9) -/* 0EEA04 7F0B9ED4 5500FFE8 */ bnezl $t0, .L7F0B9E78 -/* 0EEA08 7F0B9ED8 02002025 */ move $a0, $s0 -.L7F0B9EDC: -/* 0EEA0C 7F0B9EDC 8FBF0044 */ lw $ra, 0x44($sp) -/* 0EEA10 7F0B9EE0 02601025 */ move $v0, $s3 -/* 0EEA14 7F0B9EE4 8FB30030 */ lw $s3, 0x30($sp) -/* 0EEA18 7F0B9EE8 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0EEA1C 7F0B9EEC D7B60018 */ ldc1 $f22, 0x18($sp) -/* 0EEA20 7F0B9EF0 8FB00024 */ lw $s0, 0x24($sp) -/* 0EEA24 7F0B9EF4 8FB10028 */ lw $s1, 0x28($sp) -/* 0EEA28 7F0B9EF8 8FB2002C */ lw $s2, 0x2c($sp) -/* 0EEA2C 7F0B9EFC 8FB40034 */ lw $s4, 0x34($sp) -/* 0EEA30 7F0B9F00 8FB50038 */ lw $s5, 0x38($sp) -/* 0EEA34 7F0B9F04 8FB6003C */ lw $s6, 0x3c($sp) -/* 0EEA38 7F0B9F08 8FB70040 */ lw $s7, 0x40($sp) -/* 0EEA3C 7F0B9F0C 03E00008 */ jr $ra -/* 0EEA40 7F0B9F10 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B9F14(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B9F14 -/* 0EEA44 7F0B9F14 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 0EEA48 7F0B9F18 AFB00018 */ sw $s0, 0x18($sp) -/* 0EEA4C 7F0B9F1C 00A08025 */ move $s0, $a1 -/* 0EEA50 7F0B9F20 AFBF001C */ sw $ra, 0x1c($sp) -/* 0EEA54 7F0B9F24 AFA400A0 */ sw $a0, 0xa0($sp) -/* 0EEA58 7F0B9F28 27A50060 */ addiu $a1, $sp, 0x60 -/* 0EEA5C 7F0B9F2C AFA600A8 */ sw $a2, 0xa8($sp) -/* 0EEA60 7F0B9F30 A3A0004B */ sb $zero, 0x4b($sp) -/* 0EEA64 7F0B9F34 0FC2E5B3 */ jal sub_GAME_7F0B96CC -/* 0EEA68 7F0B9F38 A3A0004A */ sb $zero, 0x4a($sp) -/* 0EEA6C 7F0B9F3C 8FA600A8 */ lw $a2, 0xa8($sp) -/* 0EEA70 7F0B9F40 C6100000 */ lwc1 $f16, ($s0) -/* 0EEA74 7F0B9F44 3C018004 */ lui $at, %hi(room_data_float1) -/* 0EEA78 7F0B9F48 C4CA0000 */ lwc1 $f10, ($a2) -/* 0EEA7C 7F0B9F4C C42C13F4 */ lwc1 $f12, %lo(room_data_float1)($at) -/* 0EEA80 7F0B9F50 93AA004B */ lbu $t2, 0x4b($sp) -/* 0EEA84 7F0B9F54 46105181 */ sub.s $f6, $f10, $f16 -/* 0EEA88 7F0B9F58 93AB004A */ lbu $t3, 0x4a($sp) -/* 0EEA8C 7F0B9F5C E7A6008C */ swc1 $f6, 0x8c($sp) -/* 0EEA90 7F0B9F60 C6080004 */ lwc1 $f8, 4($s0) -/* 0EEA94 7F0B9F64 C4C40004 */ lwc1 $f4, 4($a2) -/* 0EEA98 7F0B9F68 46082481 */ sub.s $f18, $f4, $f8 -/* 0EEA9C 7F0B9F6C C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0EEAA0 7F0B9F70 E7B20090 */ swc1 $f18, 0x90($sp) -/* 0EEAA4 7F0B9F74 C6100008 */ lwc1 $f16, 8($s0) -/* 0EEAA8 7F0B9F78 C4CA0008 */ lwc1 $f10, 8($a2) -/* 0EEAAC 7F0B9F7C 46105181 */ sub.s $f6, $f10, $f16 -/* 0EEAB0 7F0B9F80 C7B00064 */ lwc1 $f16, 0x64($sp) -/* 0EEAB4 7F0B9F84 E7A60094 */ swc1 $f6, 0x94($sp) -/* 0EEAB8 7F0B9F88 C6040000 */ lwc1 $f4, ($s0) -/* 0EEABC 7F0B9F8C C60A0004 */ lwc1 $f10, 4($s0) -/* 0EEAC0 7F0B9F90 46082482 */ mul.s $f18, $f4, $f8 -/* 0EEAC4 7F0B9F94 00000000 */ nop -/* 0EEAC8 7F0B9F98 46105182 */ mul.s $f6, $f10, $f16 -/* 0EEACC 7F0B9F9C C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 0EEAD0 7F0B9FA0 46069100 */ add.s $f4, $f18, $f6 -/* 0EEAD4 7F0B9FA4 C6120008 */ lwc1 $f18, 8($s0) -/* 0EEAD8 7F0B9FA8 46125182 */ mul.s $f6, $f10, $f18 -/* 0EEADC 7F0B9FAC 46043480 */ add.s $f18, $f6, $f4 -/* 0EEAE0 7F0B9FB0 C4C60000 */ lwc1 $f6, ($a2) -/* 0EEAE4 7F0B9FB4 460C9382 */ mul.s $f14, $f18, $f12 -/* 0EEAE8 7F0B9FB8 C4D20004 */ lwc1 $f18, 4($a2) -/* 0EEAEC 7F0B9FBC 46083102 */ mul.s $f4, $f6, $f8 -/* 0EEAF0 7F0B9FC0 00000000 */ nop -/* 0EEAF4 7F0B9FC4 46109182 */ mul.s $f6, $f18, $f16 -/* 0EEAF8 7F0B9FC8 C4D20008 */ lwc1 $f18, 8($a2) -/* 0EEAFC 7F0B9FCC 46125402 */ mul.s $f16, $f10, $f18 -/* 0EEB00 7F0B9FD0 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0EEB04 7F0B9FD4 46062200 */ add.s $f8, $f4, $f6 -/* 0EEB08 7F0B9FD8 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0EEB0C 7F0B9FDC 46088100 */ add.s $f4, $f16, $f8 -/* 0EEB10 7F0B9FE0 4606703C */ c.lt.s $f14, $f6 -/* 0EEB14 7F0B9FE4 460C2002 */ mul.s $f0, $f4, $f12 -/* 0EEB18 7F0B9FE8 45000005 */ bc1f .L7F0BA000 -/* 0EEB1C 7F0B9FEC 00000000 */ nop -/* 0EEB20 7F0B9FF0 4606003C */ c.lt.s $f0, $f6 -/* 0EEB24 7F0B9FF4 00000000 */ nop -/* 0EEB28 7F0B9FF8 45010009 */ bc1t .L7F0BA020 -/* 0EEB2C 7F0B9FFC 00000000 */ nop -.L7F0BA000: -/* 0EEB30 7F0BA000 460E503C */ c.lt.s $f10, $f14 -/* 0EEB34 7F0BA004 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0EEB38 7F0BA008 45020008 */ bc1fl .L7F0BA02C -/* 0EEB3C 7F0BA00C 46007480 */ add.s $f18, $f14, $f0 -/* 0EEB40 7F0BA010 4600503C */ c.lt.s $f10, $f0 -/* 0EEB44 7F0BA014 00000000 */ nop -/* 0EEB48 7F0BA018 45020004 */ bc1fl .L7F0BA02C -/* 0EEB4C 7F0BA01C 46007480 */ add.s $f18, $f14, $f0 -.L7F0BA020: -/* 0EEB50 7F0BA020 1000008D */ b .L7F0BA258 -/* 0EEB54 7F0BA024 00001025 */ move $v0, $zero -/* 0EEB58 7F0BA028 46007480 */ add.s $f18, $f14, $f0 -.L7F0BA02C: -/* 0EEB5C 7F0BA02C 44818000 */ mtc1 $at, $f16 -/* 0EEB60 7F0BA030 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 0EEB64 7F0BA034 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 0EEB68 7F0BA038 46109202 */ mul.s $f8, $f18, $f16 -/* 0EEB6C 7F0BA03C 3C0F8008 */ lui $t7, %hi(ptr_bgdata_portals) -/* 0EEB70 7F0BA040 8DEFFF80 */ lw $t7, %lo(ptr_bgdata_portals)($t7) -/* 0EEB74 7F0BA044 3C018004 */ lui $at, %hi(D_80044900) -/* 0EEB78 7F0BA048 000EC0C0 */ sll $t8, $t6, 3 -/* 0EEB7C 7F0BA04C 01F84021 */ addu $t0, $t7, $t8 -/* 0EEB80 7F0BA050 00003825 */ move $a3, $zero -/* 0EEB84 7F0BA054 46044181 */ sub.s $f6, $f8, $f4 -/* 0EEB88 7F0BA058 00002025 */ move $a0, $zero -/* 0EEB8C 7F0BA05C E4264900 */ swc1 $f6, %lo(D_80044900)($at) -/* 0EEB90 7F0BA060 8D020000 */ lw $v0, ($t0) -/* 0EEB94 7F0BA064 90460000 */ lbu $a2, ($v0) -/* 0EEB98 7F0BA068 58C00073 */ blezl $a2, .L7F0BA238 -/* 0EEB9C 7F0BA06C C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 0EEBA0 7F0BA070 44801000 */ mtc1 $zero, $f2 -/* 0EEBA4 7F0BA074 240C000C */ li $t4, 12 -/* 0EEBA8 7F0BA078 24E90001 */ addiu $t1, $a3, 1 -.L7F0BA07C: -/* 0EEBAC 7F0BA07C 0126001A */ div $zero, $t1, $a2 -/* 0EEBB0 7F0BA080 00002810 */ mfhi $a1 -/* 0EEBB4 7F0BA084 00446821 */ addu $t5, $v0, $a0 -/* 0EEBB8 7F0BA088 C5B20004 */ lwc1 $f18, 4($t5) -/* 0EEBBC 7F0BA08C 00AC0019 */ multu $a1, $t4 -/* 0EEBC0 7F0BA090 14C00002 */ bnez $a2, .L7F0BA09C -/* 0EEBC4 7F0BA094 00000000 */ nop -/* 0EEBC8 7F0BA098 0007000D */ break 7 -.L7F0BA09C: -/* 0EEBCC 7F0BA09C 2401FFFF */ li $at, -1 -/* 0EEBD0 7F0BA0A0 14C10004 */ bne $a2, $at, .L7F0BA0B4 -/* 0EEBD4 7F0BA0A4 3C018000 */ lui $at, 0x8000 -/* 0EEBD8 7F0BA0A8 15210002 */ bne $t1, $at, .L7F0BA0B4 -/* 0EEBDC 7F0BA0AC 00000000 */ nop -/* 0EEBE0 7F0BA0B0 0006000D */ break 6 -.L7F0BA0B4: -/* 0EEBE4 7F0BA0B4 00001812 */ mflo $v1 -/* 0EEBE8 7F0BA0B8 0043C821 */ addu $t9, $v0, $v1 -/* 0EEBEC 7F0BA0BC C72A0004 */ lwc1 $f10, 4($t9) -/* 0EEBF0 7F0BA0C0 46125401 */ sub.s $f16, $f10, $f18 -/* 0EEBF4 7F0BA0C4 E7B00074 */ swc1 $f16, 0x74($sp) -/* 0EEBF8 7F0BA0C8 8D020000 */ lw $v0, ($t0) -/* 0EEBFC 7F0BA0CC 00437021 */ addu $t6, $v0, $v1 -/* 0EEC00 7F0BA0D0 00447821 */ addu $t7, $v0, $a0 -/* 0EEC04 7F0BA0D4 C5E40008 */ lwc1 $f4, 8($t7) -/* 0EEC08 7F0BA0D8 C5C80008 */ lwc1 $f8, 8($t6) -/* 0EEC0C 7F0BA0DC 46044181 */ sub.s $f6, $f8, $f4 -/* 0EEC10 7F0BA0E0 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0EEC14 7F0BA0E4 E7A60078 */ swc1 $f6, 0x78($sp) -/* 0EEC18 7F0BA0E8 8D020000 */ lw $v0, ($t0) -/* 0EEC1C 7F0BA0EC C7A80078 */ lwc1 $f8, 0x78($sp) -/* 0EEC20 7F0BA0F0 0043C021 */ addu $t8, $v0, $v1 -/* 0EEC24 7F0BA0F4 0044C821 */ addu $t9, $v0, $a0 -/* 0EEC28 7F0BA0F8 C732000C */ lwc1 $f18, 0xc($t9) -/* 0EEC2C 7F0BA0FC C70A000C */ lwc1 $f10, 0xc($t8) -/* 0EEC30 7F0BA100 46044182 */ mul.s $f6, $f8, $f4 -/* 0EEC34 7F0BA104 E7A80020 */ swc1 $f8, 0x20($sp) -/* 0EEC38 7F0BA108 46125401 */ sub.s $f16, $f10, $f18 -/* 0EEC3C 7F0BA10C C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0EEC40 7F0BA110 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0EEC44 7F0BA114 E7B0007C */ swc1 $f16, 0x7c($sp) -/* 0EEC48 7F0BA118 C7B2007C */ lwc1 $f18, 0x7c($sp) -/* 0EEC4C 7F0BA11C 46125402 */ mul.s $f16, $f10, $f18 -/* 0EEC50 7F0BA120 46103181 */ sub.s $f6, $f6, $f16 -/* 0EEC54 7F0BA124 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0EEC58 7F0BA128 46109482 */ mul.s $f18, $f18, $f16 -/* 0EEC5C 7F0BA12C E7A60050 */ swc1 $f6, 0x50($sp) -/* 0EEC60 7F0BA130 46082102 */ mul.s $f4, $f4, $f8 -/* 0EEC64 7F0BA134 46049481 */ sub.s $f18, $f18, $f4 -/* 0EEC68 7F0BA138 460A4102 */ mul.s $f4, $f8, $f10 -/* 0EEC6C 7F0BA13C C7A80020 */ lwc1 $f8, 0x20($sp) -/* 0EEC70 7F0BA140 E7B20054 */ swc1 $f18, 0x54($sp) -/* 0EEC74 7F0BA144 46088282 */ mul.s $f10, $f16, $f8 -/* 0EEC78 7F0BA148 460A2401 */ sub.s $f16, $f4, $f10 -/* 0EEC7C 7F0BA14C 46063202 */ mul.s $f8, $f6, $f6 -/* 0EEC80 7F0BA150 00000000 */ nop -/* 0EEC84 7F0BA154 46129102 */ mul.s $f4, $f18, $f18 -/* 0EEC88 7F0BA158 E7B00058 */ swc1 $f16, 0x58($sp) -/* 0EEC8C 7F0BA15C 46108182 */ mul.s $f6, $f16, $f16 -/* 0EEC90 7F0BA160 46044280 */ add.s $f10, $f8, $f4 -/* 0EEC94 7F0BA164 460A3000 */ add.s $f0, $f6, $f10 -/* 0EEC98 7F0BA168 46020032 */ c.eq.s $f0, $f2 -/* 0EEC9C 7F0BA16C 00000000 */ nop -/* 0EECA0 7F0BA170 45000003 */ bc1f .L7F0BA180 -/* 0EECA4 7F0BA174 00000000 */ nop -/* 0EECA8 7F0BA178 10000037 */ b .L7F0BA258 -/* 0EECAC 7F0BA17C 00001025 */ move $v0, $zero -.L7F0BA180: -/* 0EECB0 7F0BA180 8D0D0000 */ lw $t5, ($t0) -/* 0EECB4 7F0BA184 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 0EECB8 7F0BA188 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 0EECBC 7F0BA18C 01A41021 */ addu $v0, $t5, $a0 -/* 0EECC0 7F0BA190 C4480004 */ lwc1 $f8, 4($v0) -/* 0EECC4 7F0BA194 C4460008 */ lwc1 $f6, 8($v0) -/* 0EECC8 7F0BA198 46089102 */ mul.s $f4, $f18, $f8 -/* 0EECCC 7F0BA19C 00000000 */ nop -/* 0EECD0 7F0BA1A0 46068282 */ mul.s $f10, $f16, $f6 -/* 0EECD4 7F0BA1A4 C446000C */ lwc1 $f6, 0xc($v0) -/* 0EECD8 7F0BA1A8 460A2200 */ add.s $f8, $f4, $f10 -/* 0EECDC 7F0BA1AC C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0EECE0 7F0BA1B0 46043282 */ mul.s $f10, $f6, $f4 -/* 0EECE4 7F0BA1B4 46085180 */ add.s $f6, $f10, $f8 -/* 0EECE8 7F0BA1B8 E7A6005C */ swc1 $f6, 0x5c($sp) -/* 0EECEC 7F0BA1BC C60A0000 */ lwc1 $f10, ($s0) -/* 0EECF0 7F0BA1C0 460A9202 */ mul.s $f8, $f18, $f10 -/* 0EECF4 7F0BA1C4 C6120004 */ lwc1 $f18, 4($s0) -/* 0EECF8 7F0BA1C8 46128282 */ mul.s $f10, $f16, $f18 -/* 0EECFC 7F0BA1CC C6120008 */ lwc1 $f18, 8($s0) -/* 0EED00 7F0BA1D0 460A4400 */ add.s $f16, $f8, $f10 -/* 0EED04 7F0BA1D4 46049202 */ mul.s $f8, $f18, $f4 -/* 0EED08 7F0BA1D8 46104280 */ add.s $f10, $f8, $f16 -/* 0EED0C 7F0BA1DC 460C5002 */ mul.s $f0, $f10, $f12 -/* 0EED10 7F0BA1E0 4606003C */ c.lt.s $f0, $f6 -/* 0EED14 7F0BA1E4 00000000 */ nop -/* 0EED18 7F0BA1E8 45000007 */ bc1f .L7F0BA208 -/* 0EED1C 7F0BA1EC 00000000 */ nop -/* 0EED20 7F0BA1F0 11600003 */ beqz $t3, .L7F0BA200 -/* 0EED24 7F0BA1F4 00000000 */ nop -/* 0EED28 7F0BA1F8 10000017 */ b .L7F0BA258 -/* 0EED2C 7F0BA1FC 00001025 */ move $v0, $zero -.L7F0BA200: -/* 0EED30 7F0BA200 10000005 */ b .L7F0BA218 -/* 0EED34 7F0BA204 240A0001 */ li $t2, 1 -.L7F0BA208: -/* 0EED38 7F0BA208 11400003 */ beqz $t2, .L7F0BA218 -/* 0EED3C 7F0BA20C 240B0001 */ li $t3, 1 -/* 0EED40 7F0BA210 10000011 */ b .L7F0BA258 -/* 0EED44 7F0BA214 00001025 */ move $v0, $zero -.L7F0BA218: -/* 0EED48 7F0BA218 8D020000 */ lw $v0, ($t0) -/* 0EED4C 7F0BA21C 01203825 */ move $a3, $t1 -/* 0EED50 7F0BA220 2484000C */ addiu $a0, $a0, 0xc -/* 0EED54 7F0BA224 90460000 */ lbu $a2, ($v0) -/* 0EED58 7F0BA228 0126082A */ slt $at, $t1, $a2 -/* 0EED5C 7F0BA22C 5420FF93 */ bnezl $at, .L7F0BA07C -/* 0EED60 7F0BA230 24E90001 */ addiu $t1, $a3, 1 -/* 0EED64 7F0BA234 C7B2006C */ lwc1 $f18, 0x6c($sp) -.L7F0BA238: -/* 0EED68 7F0BA238 24030002 */ li $v1, 2 -/* 0EED6C 7F0BA23C 4612703C */ c.lt.s $f14, $f18 -/* 0EED70 7F0BA240 00000000 */ nop -/* 0EED74 7F0BA244 45000003 */ bc1f .L7F0BA254 -/* 0EED78 7F0BA248 00000000 */ nop -/* 0EED7C 7F0BA24C 10000001 */ b .L7F0BA254 -/* 0EED80 7F0BA250 24030001 */ li $v1, 1 -.L7F0BA254: -/* 0EED84 7F0BA254 00601025 */ move $v0, $v1 -.L7F0BA258: -/* 0EED88 7F0BA258 8FBF001C */ lw $ra, 0x1c($sp) -/* 0EED8C 7F0BA25C 8FB00018 */ lw $s0, 0x18($sp) -/* 0EED90 7F0BA260 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 0EED94 7F0BA264 03E00008 */ jr $ra -/* 0EED98 7F0BA268 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BA26C(s32 arg0, void *arg1, void *arg2, s32 arg3) { - s32 temp_v1; - void *phi_t0; - void *phi_t1; - s32 phi_v1; - - // Node 0 - phi_t0 = arg1; - phi_t1 = arg2; - phi_v1 = 0; -loop_1: - // Node 1 - temp_v1 = (phi_v1 + 4); - if (*phi_t0 < *phi_t1) - { - // Node 3 - return 0; - } - // Node 2 - if (*(arg3 + phi_v1) < *(arg0 + phi_v1)) - { - // Node 3 - return 0; - } - // Node 4 - phi_t0 = (phi_t0 + 4); - phi_t1 = (phi_t1 + 4); - phi_v1 = temp_v1; - if (temp_v1 != 0xc) - { - goto loop_1; - } - // Node 5 - return 1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BA26C -/* 0EED9C 7F0BA26C 00001825 */ move $v1, $zero -/* 0EEDA0 7F0BA270 00A04025 */ move $t0, $a1 -/* 0EEDA4 7F0BA274 00C04825 */ move $t1, $a2 -/* 0EEDA8 7F0BA278 2402000C */ li $v0, 12 -.L7F0BA27C: -/* 0EEDAC 7F0BA27C C5040000 */ lwc1 $f4, ($t0) -/* 0EEDB0 7F0BA280 C5260000 */ lwc1 $f6, ($t1) -/* 0EEDB4 7F0BA284 00E37021 */ addu $t6, $a3, $v1 -/* 0EEDB8 7F0BA288 00837821 */ addu $t7, $a0, $v1 -/* 0EEDBC 7F0BA28C 4606203C */ c.lt.s $f4, $f6 -/* 0EEDC0 7F0BA290 24630004 */ addiu $v1, $v1, 4 -/* 0EEDC4 7F0BA294 25080004 */ addiu $t0, $t0, 4 -/* 0EEDC8 7F0BA298 45010007 */ bc1t .L7F0BA2B8 -/* 0EEDCC 7F0BA29C 00000000 */ nop -/* 0EEDD0 7F0BA2A0 C5C80000 */ lwc1 $f8, ($t6) -/* 0EEDD4 7F0BA2A4 C5EA0000 */ lwc1 $f10, ($t7) -/* 0EEDD8 7F0BA2A8 460A403C */ c.lt.s $f8, $f10 -/* 0EEDDC 7F0BA2AC 00000000 */ nop -/* 0EEDE0 7F0BA2B0 45000003 */ bc1f .L7F0BA2C0 -/* 0EEDE4 7F0BA2B4 00000000 */ nop -.L7F0BA2B8: -/* 0EEDE8 7F0BA2B8 03E00008 */ jr $ra -/* 0EEDEC 7F0BA2BC 00001025 */ move $v0, $zero - -.L7F0BA2C0: -/* 0EEDF0 7F0BA2C0 1462FFEE */ bne $v1, $v0, .L7F0BA27C -/* 0EEDF4 7F0BA2C4 25290004 */ addiu $t1, $t1, 4 -/* 0EEDF8 7F0BA2C8 24020001 */ li $v0, 1 -/* 0EEDFC 7F0BA2CC 03E00008 */ jr $ra -/* 0EEE00 7F0BA2D0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BA2D4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BA2D4 -/* 0EEE04 7F0BA2D4 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0EEE08 7F0BA2D8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0EEE0C 7F0BA2DC AFBE0038 */ sw $fp, 0x38($sp) -/* 0EEE10 7F0BA2E0 AFB70034 */ sw $s7, 0x34($sp) -/* 0EEE14 7F0BA2E4 AFB60030 */ sw $s6, 0x30($sp) -/* 0EEE18 7F0BA2E8 AFB5002C */ sw $s5, 0x2c($sp) -/* 0EEE1C 7F0BA2EC AFB40028 */ sw $s4, 0x28($sp) -/* 0EEE20 7F0BA2F0 AFB30024 */ sw $s3, 0x24($sp) -/* 0EEE24 7F0BA2F4 AFB20020 */ sw $s2, 0x20($sp) -/* 0EEE28 7F0BA2F8 AFB1001C */ sw $s1, 0x1c($sp) -/* 0EEE2C 7F0BA2FC AFB00018 */ sw $s0, 0x18($sp) -/* 0EEE30 7F0BA300 AFA700C4 */ sw $a3, 0xc4($sp) -/* 0EEE34 7F0BA304 3C018004 */ lui $at, %hi(room_data_float1) -/* 0EEE38 7F0BA308 C42013F4 */ lwc1 $f0, %lo(room_data_float1)($at) -/* 0EEE3C 7F0BA30C C4840000 */ lwc1 $f4, ($a0) -/* 0EEE40 7F0BA310 8CF10000 */ lw $s1, ($a3) -/* 0EEE44 7F0BA314 3C1E8004 */ lui $fp, %hi(D_80044904) -/* 0EEE48 7F0BA318 46002182 */ mul.s $f6, $f4, $f0 -/* 0EEE4C 7F0BA31C 00C0A025 */ move $s4, $a2 -/* 0EEE50 7F0BA320 00004025 */ move $t0, $zero -/* 0EEE54 7F0BA324 27DE4904 */ addiu $fp, %lo(D_80044904) # addiu $fp, $fp, 0x4904 -/* 0EEE58 7F0BA328 27B00070 */ addiu $s0, $sp, 0x70 -/* 0EEE5C 7F0BA32C 8FB500C8 */ lw $s5, 0xc8($sp) -/* 0EEE60 7F0BA330 27B60070 */ addiu $s6, $sp, 0x70 -/* 0EEE64 7F0BA334 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0EEE68 7F0BA338 C4880004 */ lwc1 $f8, 4($a0) -/* 0EEE6C 7F0BA33C 27B70064 */ addiu $s7, $sp, 0x64 -/* 0EEE70 7F0BA340 46004282 */ mul.s $f10, $f8, $f0 -/* 0EEE74 7F0BA344 E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 0EEE78 7F0BA348 C4900008 */ lwc1 $f16, 8($a0) -/* 0EEE7C 7F0BA34C 46008482 */ mul.s $f18, $f16, $f0 -/* 0EEE80 7F0BA350 E7B200A8 */ swc1 $f18, 0xa8($sp) -/* 0EEE84 7F0BA354 C4A40000 */ lwc1 $f4, ($a1) -/* 0EEE88 7F0BA358 46002182 */ mul.s $f6, $f4, $f0 -/* 0EEE8C 7F0BA35C E7A60094 */ swc1 $f6, 0x94($sp) -/* 0EEE90 7F0BA360 C4A80004 */ lwc1 $f8, 4($a1) -/* 0EEE94 7F0BA364 46004282 */ mul.s $f10, $f8, $f0 -/* 0EEE98 7F0BA368 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 0EEE9C 7F0BA36C C4B00008 */ lwc1 $f16, 8($a1) -/* 0EEEA0 7F0BA370 AFB1007C */ sw $s1, 0x7c($sp) -/* 0EEEA4 7F0BA374 46008482 */ mul.s $f18, $f16, $f0 -/* 0EEEA8 7F0BA378 E7B2009C */ swc1 $f18, 0x9c($sp) -.L7F0BA37C: -/* 0EEEAC 7F0BA37C 0111082A */ slt $at, $t0, $s1 -/* 0EEEB0 7F0BA380 1020007C */ beqz $at, .L7F0BA574 -/* 0EEEB4 7F0BA384 00087880 */ sll $t7, $t0, 2 -/* 0EEEB8 7F0BA388 028FC021 */ addu $t8, $s4, $t7 -/* 0EEEBC 7F0BA38C 3C028008 */ lui $v0, %hi(ptr_bgdata_portals) -/* 0EEEC0 7F0BA390 8C42FF80 */ lw $v0, %lo(ptr_bgdata_portals)($v0) -/* 0EEEC4 7F0BA394 AFB8005C */ sw $t8, 0x5c($sp) -.L7F0BA398: -/* 0EEEC8 7F0BA398 8C490000 */ lw $t1, ($v0) -/* 0EEECC 7F0BA39C 8FB9005C */ lw $t9, 0x5c($sp) -/* 0EEED0 7F0BA3A0 00009025 */ move $s2, $zero -/* 0EEED4 7F0BA3A4 1120006C */ beqz $t1, .L7F0BA558 -/* 0EEED8 7F0BA3A8 8F330000 */ lw $s3, ($t9) -/* 0EEEDC 7F0BA3AC AFA8008C */ sw $t0, 0x8c($sp) -/* 0EEEE0 7F0BA3B0 00403825 */ move $a3, $v0 -/* 0EEEE4 7F0BA3B4 90EA0006 */ lbu $t2, 6($a3) -.L7F0BA3B8: -/* 0EEEE8 7F0BA3B8 314B0001 */ andi $t3, $t2, 1 -/* 0EEEEC 7F0BA3BC 55600061 */ bnezl $t3, .L7F0BA544 -/* 0EEEF0 7F0BA3C0 8CEA0008 */ lw $t2, 8($a3) -/* 0EEEF4 7F0BA3C4 90EC0004 */ lbu $t4, 4($a3) -/* 0EEEF8 7F0BA3C8 526C0005 */ beql $s3, $t4, .L7F0BA3E0 -/* 0EEEFC 7F0BA3CC 8FC10000 */ lw $at, ($fp) -/* 0EEF00 7F0BA3D0 90ED0005 */ lbu $t5, 5($a3) -/* 0EEF04 7F0BA3D4 566D005B */ bnel $s3, $t5, .L7F0BA544 -/* 0EEF08 7F0BA3D8 8CEA0008 */ lw $t2, 8($a3) -/* 0EEF0C 7F0BA3DC 8FC10000 */ lw $at, ($fp) -.L7F0BA3E0: -/* 0EEF10 7F0BA3E0 8FCF0004 */ lw $t7, 4($fp) -/* 0EEF14 7F0BA3E4 3C188004 */ lui $t8, %hi(D_80044910) -/* 0EEF18 7F0BA3E8 AEC10000 */ sw $at, ($s6) -/* 0EEF1C 7F0BA3EC 8FC10008 */ lw $at, 8($fp) -/* 0EEF20 7F0BA3F0 27184910 */ addiu $t8, %lo(D_80044910) # addiu $t8, $t8, 0x4910 -/* 0EEF24 7F0BA3F4 AECF0004 */ sw $t7, 4($s6) -/* 0EEF28 7F0BA3F8 AEC10008 */ sw $at, 8($s6) -/* 0EEF2C 7F0BA3FC 8F010000 */ lw $at, ($t8) -/* 0EEF30 7F0BA400 00003025 */ move $a2, $zero -/* 0EEF34 7F0BA404 AEE10000 */ sw $at, ($s7) -/* 0EEF38 7F0BA408 8F090004 */ lw $t1, 4($t8) -/* 0EEF3C 7F0BA40C AEE90004 */ sw $t1, 4($s7) -/* 0EEF40 7F0BA410 8F010008 */ lw $at, 8($t8) -/* 0EEF44 7F0BA414 AEE10008 */ sw $at, 8($s7) -/* 0EEF48 7F0BA418 8CE50000 */ lw $a1, ($a3) -/* 0EEF4C 7F0BA41C 90AA0000 */ lbu $t2, ($a1) -/* 0EEF50 7F0BA420 1940001F */ blez $t2, .L7F0BA4A0 -/* 0EEF54 7F0BA424 00002025 */ move $a0, $zero -.L7F0BA428: -/* 0EEF58 7F0BA428 27A30070 */ addiu $v1, $sp, 0x70 -/* 0EEF5C 7F0BA42C 27A20064 */ addiu $v0, $sp, 0x64 -.L7F0BA430: -/* 0EEF60 7F0BA430 00065880 */ sll $t3, $a2, 2 -/* 0EEF64 7F0BA434 01665823 */ subu $t3, $t3, $a2 -/* 0EEF68 7F0BA438 000B5880 */ sll $t3, $t3, 2 -/* 0EEF6C 7F0BA43C 00AB6021 */ addu $t4, $a1, $t3 -/* 0EEF70 7F0BA440 01846821 */ addu $t5, $t4, $a0 -/* 0EEF74 7F0BA444 C5A00004 */ lwc1 $f0, 4($t5) -/* 0EEF78 7F0BA448 C4640000 */ lwc1 $f4, ($v1) -/* 0EEF7C 7F0BA44C 24840004 */ addiu $a0, $a0, 4 -/* 0EEF80 7F0BA450 4604003C */ c.lt.s $f0, $f4 -/* 0EEF84 7F0BA454 00000000 */ nop -/* 0EEF88 7F0BA458 45020003 */ bc1fl .L7F0BA468 -/* 0EEF8C 7F0BA45C C4460000 */ lwc1 $f6, ($v0) -/* 0EEF90 7F0BA460 E4600000 */ swc1 $f0, ($v1) -/* 0EEF94 7F0BA464 C4460000 */ lwc1 $f6, ($v0) -.L7F0BA468: -/* 0EEF98 7F0BA468 24630004 */ addiu $v1, $v1, 4 -/* 0EEF9C 7F0BA46C 4600303C */ c.lt.s $f6, $f0 -/* 0EEFA0 7F0BA470 00000000 */ nop -/* 0EEFA4 7F0BA474 45020003 */ bc1fl .L7F0BA484 -/* 0EEFA8 7F0BA478 24420004 */ addiu $v0, $v0, 4 -/* 0EEFAC 7F0BA47C E4400000 */ swc1 $f0, ($v0) -/* 0EEFB0 7F0BA480 24420004 */ addiu $v0, $v0, 4 -.L7F0BA484: -/* 0EEFB4 7F0BA484 1450FFEA */ bne $v0, $s0, .L7F0BA430 -/* 0EEFB8 7F0BA488 8CE50000 */ lw $a1, ($a3) -/* 0EEFBC 7F0BA48C 90A20000 */ lbu $v0, ($a1) -/* 0EEFC0 7F0BA490 24C60001 */ addiu $a2, $a2, 1 -/* 0EEFC4 7F0BA494 00C2082A */ slt $at, $a2, $v0 -/* 0EEFC8 7F0BA498 5420FFE3 */ bnezl $at, .L7F0BA428 -/* 0EEFCC 7F0BA49C 00002025 */ move $a0, $zero -.L7F0BA4A0: -/* 0EEFD0 7F0BA4A0 02C02025 */ move $a0, $s6 -/* 0EEFD4 7F0BA4A4 02E02825 */ move $a1, $s7 -/* 0EEFD8 7F0BA4A8 27A600A0 */ addiu $a2, $sp, 0xa0 -/* 0EEFDC 7F0BA4AC 0FC2E89B */ jal sub_GAME_7F0BA26C -/* 0EEFE0 7F0BA4B0 27A70094 */ addiu $a3, $sp, 0x94 -/* 0EEFE4 7F0BA4B4 1040001F */ beqz $v0, .L7F0BA534 -/* 0EEFE8 7F0BA4B8 3C0E8008 */ lui $t6, %hi(ptr_bgdata_portals) -/* 0EEFEC 7F0BA4BC 8DCEFF80 */ lw $t6, %lo(ptr_bgdata_portals)($t6) -/* 0EEFF0 7F0BA4C0 00004025 */ move $t0, $zero -/* 0EEFF4 7F0BA4C4 0235082A */ slt $at, $s1, $s5 -/* 0EEFF8 7F0BA4C8 01D23821 */ addu $a3, $t6, $s2 -/* 0EEFFC 7F0BA4CC 90E20004 */ lbu $v0, 4($a3) -/* 0EF000 7F0BA4D0 16620003 */ bne $s3, $v0, .L7F0BA4E0 -/* 0EF004 7F0BA4D4 00401825 */ move $v1, $v0 -/* 0EF008 7F0BA4D8 10000001 */ b .L7F0BA4E0 -/* 0EF00C 7F0BA4DC 90E30005 */ lbu $v1, 5($a3) -.L7F0BA4E0: -/* 0EF010 7F0BA4E0 1A200007 */ blez $s1, .L7F0BA500 -/* 0EF014 7F0BA4E4 02801025 */ move $v0, $s4 -.L7F0BA4E8: -/* 0EF018 7F0BA4E8 8C4F0000 */ lw $t7, ($v0) -/* 0EF01C 7F0BA4EC 106F0004 */ beq $v1, $t7, .L7F0BA500 -/* 0EF020 7F0BA4F0 00000000 */ nop -/* 0EF024 7F0BA4F4 25080001 */ addiu $t0, $t0, 1 -/* 0EF028 7F0BA4F8 1511FFFB */ bne $t0, $s1, .L7F0BA4E8 -/* 0EF02C 7F0BA4FC 24420004 */ addiu $v0, $v0, 4 -.L7F0BA500: -/* 0EF030 7F0BA500 1511000C */ bne $t0, $s1, .L7F0BA534 -/* 0EF034 7F0BA504 00000000 */ nop -/* 0EF038 7F0BA508 10200004 */ beqz $at, .L7F0BA51C -/* 0EF03C 7F0BA50C 0011C880 */ sll $t9, $s1, 2 -/* 0EF040 7F0BA510 0299C021 */ addu $t8, $s4, $t9 -/* 0EF044 7F0BA514 AF030000 */ sw $v1, ($t8) -/* 0EF048 7F0BA518 26310001 */ addiu $s1, $s1, 1 -.L7F0BA51C: -/* 0EF04C 7F0BA51C 0235082A */ slt $at, $s1, $s5 -/* 0EF050 7F0BA520 14200004 */ bnez $at, .L7F0BA534 -/* 0EF054 7F0BA524 00000000 */ nop -/* 0EF058 7F0BA528 8FA900C4 */ lw $t1, 0xc4($sp) -/* 0EF05C 7F0BA52C 10000018 */ b .L7F0BA590 -/* 0EF060 7F0BA530 AD310000 */ sw $s1, ($t1) -.L7F0BA534: -/* 0EF064 7F0BA534 3C028008 */ lui $v0, %hi(ptr_bgdata_portals) -/* 0EF068 7F0BA538 8C42FF80 */ lw $v0, %lo(ptr_bgdata_portals)($v0) -/* 0EF06C 7F0BA53C 00523821 */ addu $a3, $v0, $s2 -/* 0EF070 7F0BA540 8CEA0008 */ lw $t2, 8($a3) -.L7F0BA544: -/* 0EF074 7F0BA544 26520008 */ addiu $s2, $s2, 8 -/* 0EF078 7F0BA548 24E70008 */ addiu $a3, $a3, 8 -/* 0EF07C 7F0BA54C 5540FF9A */ bnezl $t2, .L7F0BA3B8 -/* 0EF080 7F0BA550 90EA0006 */ lbu $t2, 6($a3) -/* 0EF084 7F0BA554 8FA8008C */ lw $t0, 0x8c($sp) -.L7F0BA558: -/* 0EF088 7F0BA558 8FAB005C */ lw $t3, 0x5c($sp) -/* 0EF08C 7F0BA55C 8FAD007C */ lw $t5, 0x7c($sp) -/* 0EF090 7F0BA560 25080001 */ addiu $t0, $t0, 1 -/* 0EF094 7F0BA564 256C0004 */ addiu $t4, $t3, 4 -/* 0EF098 7F0BA568 010D082A */ slt $at, $t0, $t5 -/* 0EF09C 7F0BA56C 1420FF8A */ bnez $at, .L7F0BA398 -/* 0EF0A0 7F0BA570 AFAC005C */ sw $t4, 0x5c($sp) -.L7F0BA574: -/* 0EF0A4 7F0BA574 8FAE007C */ lw $t6, 0x7c($sp) -/* 0EF0A8 7F0BA578 522E0004 */ beql $s1, $t6, .L7F0BA58C -/* 0EF0AC 7F0BA57C 8FAF00C4 */ lw $t7, 0xc4($sp) -/* 0EF0B0 7F0BA580 1000FF7E */ b .L7F0BA37C -/* 0EF0B4 7F0BA584 AFB1007C */ sw $s1, 0x7c($sp) -/* 0EF0B8 7F0BA588 8FAF00C4 */ lw $t7, 0xc4($sp) -.L7F0BA58C: -/* 0EF0BC 7F0BA58C ADF10000 */ sw $s1, ($t7) -.L7F0BA590: -/* 0EF0C0 7F0BA590 8FBF003C */ lw $ra, 0x3c($sp) -/* 0EF0C4 7F0BA594 8FB00018 */ lw $s0, 0x18($sp) -/* 0EF0C8 7F0BA598 8FB1001C */ lw $s1, 0x1c($sp) -/* 0EF0CC 7F0BA59C 8FB20020 */ lw $s2, 0x20($sp) -/* 0EF0D0 7F0BA5A0 8FB30024 */ lw $s3, 0x24($sp) -/* 0EF0D4 7F0BA5A4 8FB40028 */ lw $s4, 0x28($sp) -/* 0EF0D8 7F0BA5A8 8FB5002C */ lw $s5, 0x2c($sp) -/* 0EF0DC 7F0BA5AC 8FB60030 */ lw $s6, 0x30($sp) -/* 0EF0E0 7F0BA5B0 8FB70034 */ lw $s7, 0x34($sp) -/* 0EF0E4 7F0BA5B4 8FBE0038 */ lw $fp, 0x38($sp) -/* 0EF0E8 7F0BA5B8 03E00008 */ jr $ra -/* 0EF0EC 7F0BA5BC 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -u32 sub_GAME_7F0BA5C0(u32 arg0, u32 arg1) { - s32 temp_a0; - u32 temp_v0; - void *phi_v0; - s32 phi_a0; - void *phi_v1; - - // Node 0 - if (arg0 < arg1) - { - // Node 1 - phi_v0 = arg0; -loop_2: - // Node 2 - if (D_80044940 != 0) - { - // Node 3 - phi_a0 = D_80044940; - phi_v1 = &D_80044940; -loop_4: - // Node 4 - if (*phi_v0 == phi_a0) - { - // Node 5 - if (phi_v0->unk4 == phi_v1->unk4) - { - // Node 6 - *phi_v0 = (s32) phi_v1->unk8; - phi_v0->unk4 = (s32) phi_v1->unkC; - } - } - // Node 7 - temp_a0 = phi_v1->unk10; - phi_a0 = temp_a0; - phi_v1 = (phi_v1 + 0x10); - if (temp_a0 != 0) - { - goto loop_4; - } - } - // Node 8 - temp_v0 = (phi_v0 + 8); - phi_v0 = temp_v0; - if (temp_v0 < arg1) - { - goto loop_2; - } - } - // Node 9 - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BA5C0 -/* 0EF0F0 7F0BA5C0 0085082B */ sltu $at, $a0, $a1 -/* 0EF0F4 7F0BA5C4 1020001C */ beqz $at, .L7F0BA638 -/* 0EF0F8 7F0BA5C8 00801025 */ move $v0, $a0 -/* 0EF0FC 7F0BA5CC 3C068004 */ lui $a2, %hi(D_80044940) -/* 0EF100 7F0BA5D0 24C64940 */ addiu $a2, %lo(D_80044940) # addiu $a2, $a2, 0x4940 -/* 0EF104 7F0BA5D4 8CCE0000 */ lw $t6, ($a2) -.L7F0BA5D8: -/* 0EF108 7F0BA5D8 3C0F8004 */ lui $t7, %hi(D_80044940) -/* 0EF10C 7F0BA5DC 25EF4940 */ addiu $t7, %lo(D_80044940) # addiu $t7, $t7, 0x4940 -/* 0EF110 7F0BA5E0 11C00011 */ beqz $t6, .L7F0BA628 -/* 0EF114 7F0BA5E4 00C01825 */ move $v1, $a2 -/* 0EF118 7F0BA5E8 8DE40000 */ lw $a0, ($t7) -/* 0EF11C 7F0BA5EC 8C580000 */ lw $t8, ($v0) -.L7F0BA5F0: -/* 0EF120 7F0BA5F0 5704000A */ bnel $t8, $a0, .L7F0BA61C -/* 0EF124 7F0BA5F4 8C640010 */ lw $a0, 0x10($v1) -/* 0EF128 7F0BA5F8 8C590004 */ lw $t9, 4($v0) -/* 0EF12C 7F0BA5FC 8C680004 */ lw $t0, 4($v1) -/* 0EF130 7F0BA600 57280006 */ bnel $t9, $t0, .L7F0BA61C -/* 0EF134 7F0BA604 8C640010 */ lw $a0, 0x10($v1) -/* 0EF138 7F0BA608 8C610008 */ lw $at, 8($v1) -/* 0EF13C 7F0BA60C AC410000 */ sw $at, ($v0) -/* 0EF140 7F0BA610 8C6A000C */ lw $t2, 0xc($v1) -/* 0EF144 7F0BA614 AC4A0004 */ sw $t2, 4($v0) -/* 0EF148 7F0BA618 8C640010 */ lw $a0, 0x10($v1) -.L7F0BA61C: -/* 0EF14C 7F0BA61C 24630010 */ addiu $v1, $v1, 0x10 -/* 0EF150 7F0BA620 5480FFF3 */ bnezl $a0, .L7F0BA5F0 -/* 0EF154 7F0BA624 8C580000 */ lw $t8, ($v0) -.L7F0BA628: -/* 0EF158 7F0BA628 24420008 */ addiu $v0, $v0, 8 -/* 0EF15C 7F0BA62C 0045082B */ sltu $at, $v0, $a1 -/* 0EF160 7F0BA630 5420FFE9 */ bnezl $at, .L7F0BA5D8 -/* 0EF164 7F0BA634 8CCE0000 */ lw $t6, ($a2) -.L7F0BA638: -/* 0EF168 7F0BA638 03E00008 */ jr $ra -/* 0EF16C 7F0BA63C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BA640(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BA640 /*DynamicCCRMLUT(Int DLSize (a0), Gfx GBICommand(a1), Gfx ReplacementGBICommand (a2))*/ -/* 0EF170 7F0BA640 10A00004 */ beqz $a1, .L7F0BA654 /*if a1 = 0 goto L7F0BA654*/ -/* 0EF174 7F0BA644 00801025 */ move $v0, $a0 /*v0 = a0*/ -/* 0EF178 7F0BA648 0045082B */ sltu $at, $v0, $a1 /*if a1 < v0 then goto L7F0BA668*/ -/* 0EF17C 7F0BA64C 14200006 */ bnez $at, .L7F0BA668 -/* 0EF180 7F0BA650 00000000 */ nop -.L7F0BA654: -/* 0EF184 7F0BA654 14A0002E */ bnez $a1, .L7F0BA710 /*if a1 != 0 goto return*/ -/* 0EF188 7F0BA658 00000000 */ nop -/* 0EF18C 7F0BA65C 808E0000 */ lb $t6, ($a0) /*t6 = byte(a0)*/ -/* 0EF190 7F0BA660 2408FFB8 */ li $t0, -72 /*t0 = 0xB8*/ -/* 0EF194 7F0BA664 110E002A */ beq $t0, $t6, .L7F0BA710 /*if t6 = 0xB8 return (B8 = EndDl())*/ -.L7F0BA668: -/* 0EF198 7F0BA668 3C098004 */ lui $t1, %hi(ptrDynamic_CC_RM_LUT) -/* 0EF19C 7F0BA66C 25294D88 */ addiu $t1, %lo(ptrDynamic_CC_RM_LUT) # addiu $t1, $t1, 0x4d88 -/* 0EF1A0 7F0BA670 00067880 */ sll $t7, $a2, 2 /*t7 = a2 << 2*/ -/* 0EF1A4 7F0BA674 012FC021 */ addu $t8, $t1, $t7 /*t8 = t7 + t1*/ -/* 0EF1A8 7F0BA678 8F030000 */ lw $v1, ($t8) -/* 0EF1AC 7F0BA67C 3C078004 */ lui $a3, %hi(D_80044DB0) -/* 0EF1B0 7F0BA680 8CE74DB0 */ lw $a3, %lo(D_80044DB0)($a3) # 0x4DB0($a3), -/* 0EF1B4 7F0BA684 8C640000 */ lw $a0, ($v1) -/* 0EF1B8 7F0BA688 2408FFB8 */ li $t0, -72 -/* 0EF1BC 7F0BA68C 10800011 */ beqz $a0, .L7F0BA6D4 -/* 0EF1C0 7F0BA690 00000000 */ nop -/* 0EF1C4 7F0BA694 8C590000 */ lw $t9, ($v0) -.L7F0BA698: -/* 0EF1C8 7F0BA698 5724000B */ bnel $t9, $a0, .L7F0BA6C8 -/* 0EF1CC 7F0BA69C 8C640010 */ lw $a0, 0x10($v1) -/* 0EF1D0 7F0BA6A0 8C4A0004 */ lw $t2, 4($v0) -/* 0EF1D4 7F0BA6A4 8C6B0004 */ lw $t3, 4($v1) -/* 0EF1D8 7F0BA6A8 554B0007 */ bnel $t2, $t3, .L7F0BA6C8 -/* 0EF1DC 7F0BA6AC 8C640010 */ lw $a0, 0x10($v1) -/* 0EF1E0 7F0BA6B0 8C610008 */ lw $at, 8($v1) -/* 0EF1E4 7F0BA6B4 24E70001 */ addiu $a3, $a3, 1 -/* 0EF1E8 7F0BA6B8 AC410000 */ sw $at, ($v0) -/* 0EF1EC 7F0BA6BC 8C6D000C */ lw $t5, 0xc($v1) -/* 0EF1F0 7F0BA6C0 AC4D0004 */ sw $t5, 4($v0) -/* 0EF1F4 7F0BA6C4 8C640010 */ lw $a0, 0x10($v1) -.L7F0BA6C8: -/* 0EF1F8 7F0BA6C8 24630010 */ addiu $v1, $v1, 0x10 -/* 0EF1FC 7F0BA6CC 5480FFF2 */ bnezl $a0, .L7F0BA698 -/* 0EF200 7F0BA6D0 8C590000 */ lw $t9, ($v0) -.L7F0BA6D4: -/* 0EF204 7F0BA6D4 10A00006 */ beqz $a1, .L7F0BA6F0 -/* 0EF208 7F0BA6D8 24420008 */ addiu $v0, $v0, 8 -/* 0EF20C 7F0BA6DC 3C018004 */ lui $at, %hi(D_80044DB0) -/* 0EF210 7F0BA6E0 AC274DB0 */ sw $a3, %lo(D_80044DB0)($at) -/* 0EF214 7F0BA6E4 0045082B */ sltu $at, $v0, $a1 -/* 0EF218 7F0BA6E8 1420FFDF */ bnez $at, .L7F0BA668 -/* 0EF21C 7F0BA6EC 00000000 */ nop -.L7F0BA6F0: -/* 0EF220 7F0BA6F0 3C018004 */ lui $at, %hi(D_80044DB0) -/* 0EF224 7F0BA6F4 14A00006 */ bnez $a1, .L7F0BA710 -/* 0EF228 7F0BA6F8 AC274DB0 */ sw $a3, %lo(D_80044DB0)($at) -/* 0EF22C 7F0BA6FC 3C018004 */ lui $at, %hi(D_80044DB0) -/* 0EF230 7F0BA700 AC274DB0 */ sw $a3, %lo(D_80044DB0)($at) -/* 0EF234 7F0BA704 804E0000 */ lb $t6, ($v0) -/* 0EF238 7F0BA708 150EFFD7 */ bne $t0, $t6, .L7F0BA668 -/* 0EF23C 7F0BA70C 00000000 */ nop -.L7F0BA710: -/* 0EF240 7F0BA710 03E00008 */ jr $ra -/* 0EF244 7F0BA714 00000000 */ nop -) -#endif - - - diff --git a/src/game/bg.h b/src/game/bg.h deleted file mode 100644 index 9694c03..0000000 --- a/src/game/bg.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _BG_H_ -#define _BG_H_ -#include "ultra64.h" -#include "bondgame.h" - -struct levelentry -{ - int levelID; - void *bg_seg_filename; - void *bg_stan_filename; - float levelscale; - float visibility; - float unknownfloat; -}; - -#endif diff --git a/src/game/blood_animation.c b/src/game/blood_animation.c deleted file mode 100644 index fa85bfa..0000000 --- a/src/game/blood_animation.c +++ /dev/null @@ -1,933 +0,0 @@ -#include "ultra64.h" - - -char die_blood_image_1[] = { - 0,0x20, 3, 5, 4, 2,0x60,0x21,0x22, 1,0xE0,0xE0,0xE0,0xE0, - 0xE0,0xE0,0xE0,0x60, 3,0x24, 2,0xA0, 2,0xC0, 1,0x22, 0, 3, - 6, 7, 6, 4,0x20, 1, 2,0x23,0x24, 3, 2,0x80,0x21,0xE0, - 0xE0,0xE0,0xE0,0xE0,0xE0,0x60, 5,0x46, 4,0x80,0x24,0xFF, 0, 1, - 3,0xFF,0x80, 3,0x44, 0,0x29, 8, 7,0xFF, 0, 2, 2,0xFF, - 2,0x24,0x25,0x26, 5, 4, 2,0x41, 2, 3, 4, 6,0xFF, 0, - 4, 4,0xFF,0xFF, 0, 5, 2,0xFF,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, - 0,0xFF, 0, 3, 3,0xFF, 7,0x48, 6,0x60,0xFF, 0, 2, 3, - 0xFF, 6, 7,0xFF, 0, 2, 4,0xFF,0x60, 5,0x66, 0, 0xB, 0xA, - 9, 8,0x26,0x47, 8,0x27, 5, 4,0x43, 4, 5, 7, 0xB,0xFF, - 0, 3, 8,0xFF,0xFF, 0, 5, 5,0xFF,0xFF, 0, 5, 4,0xFF, - 0xE0,0x80, 1,0x22, 1,0xE0,0x20, 1,0x22,0x21,0xE0,0xE0, 0,0xFF, - 0, 2, 7,0xFF,0x4A, 9, 7,0x60, 8,0x29,0xFF, 0, 2, 6, - 0xFF,0xFF, 0, 4, 3,0xFF,0xFF, 0, 5, 2,0xFF,0xFF, 0, 5, - 2,0xFF,0xFF, 0, 2, 5,0xFF,0x88, 0, 0xC, 0xB, 0xA,0xE9, 7, - 0x65, 6, 8, 0xF, 0xE, 0xD,0xFF, 0, 5, 7,0xFF,0xFF, 0, 6, - 5,0xFF,0xFF, 0, 6, 4,0xFF,0xE0,0x60, 2,0x43, 2, 1,0xE0, - 0x64, 3,0x22,0x21,0xE0,0x80,0xFF, 0, 5, 5,0xFF, 0xB,0x4C, 0xB, - 9,0x40,0xFF, 0, 4, 5,0xFF, 0xA, 0xB, 0xA,0xFF, 0, 3, 7, - 0xFF,0xFF, 0, 5, 5,0xFF,0xFF, 0, 5, 4,0xFF,0xFF, 0, 4, - 5,0xFF,0xAA, 0,0x2D, 0xC,0xAB, 0xA, 9, 7,0x26, 7, 8,0xFF, - 0xB, 3, 3,0xFF,0x12,0x11,0x10,0xFF, 1, 4, 0xA,0xFF,0xFF, 0, - 6, 8,0xFF,0xFF, 0, 7, 5,0xFF,0xFF, 0, 8, 3,0xFF,0xE0, - 0x20, 1, 4,0x45,0x24, 3,0xA0, 2, 8, 7,0x26, 5,0x24,0x23, - 0x22, 1,0x20,0x41,0x42, 1, 0,0xFF, 0, 6, 5,0xFF,0xFF, 2, - 1, 0xA,0xFF, 0xD,0x4E, 0xD,0xFF, 0, 5, 6,0xFF,0x20,0xFF, 0, - 8, 2,0xFF,0x6C,0xFF, 2, 1, 9,0xFF,0xFF, 0, 5, 7,0xFF, - 0xFF, 0, 5, 7,0xFF,0xCC, 0, 0xF,0x2E,0x8D, 0xC, 0xB, 9,0x28, - 9, 0xB,0x34,0x13,0x12,0x11,0xFF, 2, 5, 9,0xFF,0xFF, 1, 6, - 8,0xFF,0xFF, 1, 7, 5,0xFF,0xFF, 0, 9, 2,0xFF, 0,0x41, - 0x80, 3, 5,0x47,0x26, 5, 4, 3, 1, 0, 1, 2, 0xB, 0xC, - 0xA, 9, 8, 7,0x26,0x25,0x24,0xA3,0x64, 3,0xFF, 2, 6, 4, - 0xFF,0xFF, 3, 2, 9,0xFF,0x2F,0x50, 0xF,0xFF, 0, 6, 8,0xFF, - 0,0xFF, 0, 0xA, 2,0xFF,0xFF, 0, 6, 7,0xFF,0x8E,0xFF, 2, - 3, 9,0xFF,0xFF, 3, 1, 0xA,0xFF,0xCE, 0,0x11,0x30,0x4F,0x2E, - 0xC, 0xB,0x2A, 0xB,0x16,0x17,0x16,0x15,0x14,0x13,0xFF, 4, 3, 0xB, - 0xFF,0xFF, 3, 5, 8,0xFF,0xFF, 2, 6, 7,0xFF,0xFF, 2, 7, - 5,0xFF,0xFF, 2, 8, 2,0xFF,0x43, 2, 1,0x40, 5, 7, 8, - 0x29,0x28,0x27, 6, 5, 4, 5, 0xB, 0xE, 0xF, 0xD, 0xB, 0xA, 9, - 0x28,0x27,0x46,0xA5,0x66,0xFF, 5, 3, 5,0xFF, 0xF,0x10,0x31,0x32, - 0x31,0xFF, 1, 6, 9,0xFF,0xFF, 0, 9, 6,0xFF,0xFF, 0, 9, - 6,0xFF,0xF0,0xD0, 1,0x11,0x30,0x4F, 0xE, 0xD, 0xC,0x2B,0xFF, 0xE, - 6, 3,0xFF,0x38,0x17,0x16,0x14,0x13,0x12,0xFF, 6, 1, 0xB,0xFF, - 0xFF, 5, 3, 9,0xFF,0xFF, 4, 5, 7,0xFF,0xFF, 4, 6, 5, - 0xFF,0x44, 3, 2, 1, 0, 2, 5, 8,0x89,0x28,0x47, 8, 0xC, - 0xF,0x30, 0xE, 0xC, 0xA,0x29,0x28,0x67,0xA6,0x27, 8, 0xC,0x10,0x31, - 0xB2,0xFF, 3, 4, 0xB,0xFF,0xFF, 1, 8, 9,0xFF,0xFF, 3, 4, - 0xB,0xFF,0x91,0x30,0xF1, 4,0x2F,0x2E,0x2D, 0xC,0x4A,0x57,0x16,0x14, - 0x13,0x12,0x11,0x10, 0xF, 0xE,0xFF, 7, 2, 8,0xFF,0xFF, 7, 3, - 6,0xFF,0x23, 2, 1,0x20, 1, 4, 6, 7,0x48,0x47,0x26, 7, - 8, 0xB, 0xE,0x2F, 0xE, 0xB, 0xA, 8,0x27,0xA6,0x85,0x26, 7, 0xA, - 0xE, 0xF,0x30,0xB1,0x10,0xFF, 4, 4, 0xC,0xFF,0x70,0x8F,0xD0, 6, - 0x2E,0x2D, 0xC, 0xB,0x2A,0xFF,0x12, 3, 6,0xFF,0x57,0x15,0x14,0x13, - 0x12,0x11,0x10, 0xF, 0xE, 0xD, 0xC, 0xA, 3, 2, 1,0x20, 2, 4, - 6, 7,0x48,0x47,0x26, 7, 8, 0xB, 0xE, 0xF,0x10, 0xF, 0xD, 0xA, - 9, 8, 7,0x26, 5,0x46,0xA5, 6, 7, 9, 0xD, 0xF,0x50,0xB1, - 0x50,0xEF,0x90, 0xF,0x10, 9,0x2C,0x2B, 0xA, 9, 0xA,0x16,0x17,0x16, - 0x15,0x14,0x13,0x11,0x10, 0xF, 0xE,0x2D, 0xC, 0xB, 0xA, 7, 2, 1, - 0x20, 1, 3, 4, 6,0x47, 6,0xFF, 0xF, 8, 5,0xFF,0x66, 7, - 0xA, 0xC, 0xE, 0xF, 0xE, 0xD, 0xA, 8, 7, 6, 5,0x64, 5,0xC4, - 6, 8, 0xB, 0xD, 0xE,0x4F,0xB0,0x2F,0xEE, 0xE,0x6F,0x4E, 0xB,0x4B, - 0xA, 0xB,0x14,0x16,0x17,0x16,0x15,0x13,0x12,0x11,0x10, 0xF, 0xE, 0xD, - 0x2C, 0xB, 0xA, 8, 4, 1,0x20, 1, 2, 4, 5, 6,0x27,0xFF, - 0x12, 6, 4,0xFF,0xFF,0x11, 6, 7,0xFF,0xFF,0x11, 6, 7,0xFF, - 0x46, 8, 9, 0xC, 0xE,0x2F, 0xE, 0xB, 9, 7, 6, 5,0xE4,0x23, - 0x24, 5, 7, 0xB, 0xD,0x4E,0x4F,0x90,0x2F,0x4E,0x6D,0x2E,0x6F,0x4E, - 0xD,0x2A, 0xB,0x12,0x16,0x17,0x16,0x15,0x14,0x13,0x11,0x10, 0xF, 0xE, - 0x2D, 0xC,0x2B, 0xA, 9, 5, 2,0x20, 1, 2, 4, 5, 6,0x27, - 0xFF,0x15, 1, 9,0xFF,0x13,0xFF,0x15, 1, 0xB,0xFF,0xFF,0x14, 5, - 5,0xFF, 6, 7, 8, 9, 0xB, 0xD,0x2F, 0xE, 0xC, 0xA, 8, 6, - 5, 4,0x23,0x84,0x43, 4, 5, 7, 0xB,0x2D,0x4E,0x8F,0x30,0x2F, - 0x2E,0xCD, 0xE,0x4F,0x6E, 0xF, 0xB, 0xF,0x15,0x56,0x15,0x13,0x12,0x11, - 0x10, 0xF, 0xE, 0xD,0x2C,0x2B, 0xA, 9, 6, 2,0x20, 1, 2, 4, - 5, 6, 7, 0xC,0x12,0x13,0x14,0x13,0x27, 8, 9, 0xB, 0xD, 0xE, - 0xF, 0xE, 0xD, 0xB, 9, 7, 5, 4,0x43,0x84,0x43, 4, 6, 0xB, - 0x4D,0x6E,0xEF, 0xE,0xED,0x2E,0x2F,0x6E,0x11,0x14,0x56,0x15,0x14,0x13, - 0x11,0x10, 0xF, 0xE, 0xD,0x2C,0x4B,0x2A, 7, 3, 1, 0, 1, 2, - 4, 5, 6, 8, 0xE,0x12,0x13,0x14,0x13, 0xD,0x28, 9, 0xB, 0xD, - 0xE, 0xF,0x2E, 0xC, 0xA, 8, 5, 4,0x63,0x64,0x43, 4, 7, 0xB, - 0xC,0x4D,0x8E,0xAF,0x2E,0x2D,0x6C,0x2D,0x2E,0x2F,0x6E,0x13,0x56,0x15, - 0x13,0x12,0x10, 0xF, 0xE,0x2D, 0xC,0x6B,0x2A, 8, 4, 1, 0, 1, - 2, 4, 5, 7, 0xA, 0xF,0x12,0x13,0x34,0x13, 9, 8, 9, 0xB, - 0xD,0x6E, 0xD, 0xC, 0xA, 6, 4, 3,0x22, 3,0x84,0x23, 4, 8, - 0xB, 0xC,0xAD,0x8E,0x4F,0x2E,0x2D,0xAC, 0xD,0xEE,0x16,0x15,0x14,0x13, - 0x11,0x10, 0xE,0x2D, 0xC, 0xB,0x2A,0x89, 8, 4, 1,0x20, 1, 3, - 5, 7, 0xB, 0xF,0x11,0x12,0x33,0x12, 0xA,0x28, 0xA, 0xC,0xCD,0xFF, - 0x20, 4, 4,0xFF,0xFF,0x1B, 8, 6,0xFF,0xFF,0x18, 0xC, 5,0xFF, - 0xFF,0x17, 0xF, 2,0xFF, 1, 2,0xC3, 4, 8, 0xA,0x2B,0xCC,0xED, - 0x2C,0x4B,0x2A,0x2B,0x2C,0xCD,0x18,0x13,0x12,0x10, 0xF, 0xD,0x2C, 0xB, - 0x2A,0xA9, 8, 6, 2, 0, 1, 2, 4, 6, 8, 0xC, 0xF,0x11, - 0x32,0x13,0x32,0x29, 0xA,0x2C,0x4D, 0xE, 0xF,0x11,0x12,0x33,0xFF,0x1A, - 9, 8,0xFF,0xFF,0x1A, 0xB, 6,0xFF, 2,0xA3, 4, 6, 8, 9, - 0xA,0x4B,0xEC,0xAD, 0xC,0x4B,0x6A,0x2B, 0xC,0xCD,0x1C, 0xF, 0xD, 0xB, - 0x2A, 9, 8,0xE7, 6, 5, 3, 0, 1, 2, 3, 5, 8, 0xB, - 0xD, 0xF,0x90, 0xF, 0xC,0x6A,0x2B, 0xC, 0xE, 0xF,0x10,0x71,0xFF,0x1D, - 9, 7,0xFF,0xFF,0x1D, 0xC, 2,0xFF,0x61, 2, 3, 4, 6, 7, - 0x28,0xC9,0xAA,0x2B,0x4A,0x29,0x88,0x29, 0xA,0xCB,0x1F, 0xA, 9,0x28, - 7,0x26,0x45,0x66, 5, 4, 3,0x22, 3, 4, 5, 8, 0xB, 0xD, - 0x2E,0x6F, 0xE, 0xD, 0xA,0x69, 0xA, 0xB, 0xD, 0xE,0x2F,0x70,0xFF,0x21, - 5, 9,0xFF,0xFF,0x20, 9, 6,0xFF,0x20,0x21, 2, 3, 5,0x26, - 0x27,0xE8,0x28,0xC9,0x28,0x27,0x26,0x47, 8,0x29,0x2A,0x4B, 0xA,0x22, - 7,0x26, 5,0x84,0x65,0x24,0x63, 4, 6, 9, 0xA, 0xC,0x2D,0x6E, - 0xD, 0xC, 0xA, 9,0x48, 9, 0xA, 0xC, 0xD,0x4E,0x6F,0x10,0xFF,0x22, - 7, 9,0xFF,0x20, 1, 2,0x23, 4,0x25,0x86,0xE7,0x88,0x27,0x26, - 0x65,0x26, 7,0x28, 9,0x6A, 9,0x25,0x24,0x23,0x22,0x23,0x64,0x23, - 0x42, 3, 5, 7, 8, 9, 0xA, 0xB,0x2C, 0xD,0x4C, 0xB, 9, 8, - 0x47, 8, 9, 0xB,0x2C,0x6D,0x2E, 0xF,0x10,0xFF,0x27, 1, 0xD,0xFF, - 0,0x21,0x22,0x23,0x44,0xE5,0x25,0x46,0x47,0x26,0x45,0x84, 5, 6, - 7, 8,0x29, 0xA,0x49,0x29, 1,0x60,0x21,0x42,0xA1, 2, 4, 5, - 6, 7, 8, 9,0x8A, 9, 8, 7, 6, 5, 4, 5, 6, 7, - 8, 9,0x4A,0x4B, 0xC, 0xD,0x2E, 0xD, 2,0x60,0x41,0x62,0xE3, 3, - 0xC4,0x23,0x42, 1, 2,0xFF,0x2B, 0xB, 3,0xFF,0xFF,0x2C, 9, 4, - 0xFF,0xFF,0x2D, 7, 5,0xFF,0xFF,0x2F, 5, 4,0xFF, 7,0x68,0x27, - 0x2B,0x60,0xFF,0x2C, 0xB, 2,0xFF,0xFF,0x2D, 9, 4,0xFF,0xFF,0x2D, - 8, 5,0xFF,0xFF,0x2D, 8, 5,0xFF, 2,0x81, 2, 3, 4, 5, - 6, 7, 8,0x29,0x2A,0x49, 8, 7, 5,0x24, 5, 6, 7, 8, - 0x29,0x6A, 0xB, 0xC, 0xD,0x4E, 0xC, 3, 1,0x40,0x61,0x62,0xE3,0x24, - 0x45,0x24,0x23,0x22, 1,0xFF,0x2C, 0xA, 4,0xFF,0xFF,0x2D, 8, 7, - 0xFF,0xFF,0x2E, 6, 8,0xFF,0xFF,0x2F, 4, 9,0xFF,0x10, 0xF, 0xE, - 0xB, 9,0x28,0x27,0x2C, 0,0xFF,0x2D, 0xB, 2,0xFF,0xFF,0x2E, 8, - 6,0xFF,0xFF,0x2F, 6, 7,0xFF,0xFF,0x30, 3, 9,0xFF,0x10,0xFF, - 0x31, 2, 9,0xFF,0xFF,0x30, 5, 6,0xFF, 3,0x22,0x23, 4, 5, - 0x26, 7, 8, 9,0x8A,0x29, 8, 7, 6,0x45, 7, 8,0x29,0x6A, - 0x2B, 0xC,0x2E,0x2F, 0xE, 0xC, 3, 2,0x61,0x62,0xC3,0x44,0x25,0x86, - 0x25,0x24,0xFF,0x2F, 8, 2,0xFF,0xFF,0x2F, 6, 7,0xFF,0xFF,0x2F, - 5, 9,0xFF,0xFF,0x30, 3, 0xB,0xFF,0x12,0x31,0x10, 0xF, 0xD, 0xB, - 0xA,0x29, 8,0x2F,0xFF,0x30, 4, 0xA,0xFF,0x6F,0x2E, 0xC,0x63,0x24, - 0x25, 6, 7,0x28,0x29,0x48,0x27, 6, 5,0x24, 5, 6,0x27,0x48, - 0x49, 0xA, 0xB, 0xC,0x6D, 0xC, 8, 2,0xA0,0x41,0x82,0x43,0x24, 5, - 0xE6, 9, 0xC, 0xE, 0xF,0x70, 0xF, 0xE, 0xD, 0xC, 0xA, 9,0x48,0x31, - 0x2F,0x4E, 0xD, 0xC, 8, 5,0x84, 5, 6, 7,0x88,0x27,0x26, 5, - 0x44, 5,0x26,0x27,0x68, 9, 0xA, 0xB, 0xC,0x4D,0x2C, 0xA, 6, 2, - 0xC0,0x21,0x62,0x23, 4, 6,0xE8,0x28, 9, 0xB, 0xD, 0xE, 0xF,0x50, - 0x2F, 0xE, 0xD, 0xC, 0xA, 9,0x28, 9,0x33,0x4E,0x2D, 0xC, 9, 6, - 0x24, 3,0x24, 5, 6, 7,0x68,0x27,0x26,0x25,0x44, 5,0x26,0x47, - 0x48, 9, 0xA, 0xB,0x8C, 0xB, 0xA, 8, 5, 1,0xC0,0x21,0x22,0x23, - 5, 7, 9,0x4A,0x49,0x68, 9, 0xA, 0xC, 0xD, 0xE,0x6F,0x2E,0x2D, - 0xB, 0xA, 9, 8, 9, 0xA,0x34,0x6E, 0xC, 0xA, 6, 5,0x44, 5, - 6, 7, 8,0x49,0x28,0x27,0x46,0x25,0x26,0x27,0x68,0x29, 0xA, 0xB, - 0xC,0x6D,0x2C, 0xB, 0xA, 8, 5, 2,0x21, 0,0x61,0x22, 3, 4, - 5, 7, 9, 0xB,0x4C,0x2B,0x2A,0x49,0x2A, 0xB, 0xD, 0xE, 0xF,0x50, - 0xF,0x4E, 0xD, 0xC, 0xB,0x2A, 0xB, 0xD,0x36,0x2E, 0xD, 0xC, 0xA, 6, - 0x64, 5, 7,0x28, 9,0x28,0x47,0xA6,0x67,0x68, 9, 0xA, 0xB,0xCC, - 0x2B, 0xA, 9, 7, 4, 2,0x21,0x20,0x21,0x22, 3, 4, 5, 7, - 9, 0xB,0x2D, 0xC,0x2B,0x2A,0x69,0x2A, 0xC, 0xD, 0xE,0x6F,0x2E,0x2D, - 0x2C, 0xB, 0xA, 0xB, 0xC, 0xE,0x38,0x4D, 0xA, 6,0x44, 5, 6,0x28, - 0x29,0x28,0xA7,0xFF,0x41, 3, 1,0xFF, 0xE, 0xD, 9,0xA8, 9, 0xA, - 0xD, 0xE,0x2D,0x2C,0x6B,0x2A, 9, 7, 5, 3, 2, 1,0x40,0x21, - 2, 3, 4, 5, 7, 0xA, 0xC,0x4D, 0xC, 0xB,0x2A,0x89,0x2A, 0xC, - 0xD, 0xE,0x4F, 0xE,0x2D,0x4C,0x4B, 0xC, 0xD, 0xF,0x3A,0x4D,0xFF,0x41, - 2, 3,0xFF,0x45, 7, 8,0x49,0x28,0x67, 8, 0xC, 0xE,0x2F, 0xE, - 0xD, 0xA,0x68, 9, 0xB, 0xD, 0xF,0x2E, 0xD, 0xC,0x2B,0x6A,0x29, 8, - 6, 4, 2,0x21,0x20,0x21, 2, 3, 4, 5, 7, 0xA, 0xC, 0xD, - 0x2E, 0xC, 0xB,0x2A,0x29,0x48,0x29, 0xA, 0xC, 0xD, 0xE,0x2F, 0xE,0x2D, - 0x2C,0x6B, 0xC, 0xD, 0xE, 0xF,0x3C,0x6D, 0xC, 0xB, 0xA,0x69,0x68, 9, - 0xA, 0xC, 0xE,0x4F, 0xE, 0xD, 0xB, 9,0x28, 9, 0xB, 0xD, 0xE,0x2F, - 0xE, 0xC, 0xB,0x2A,0x89,0x28, 6, 5, 3, 2,0x21, 0,0x21,0x22, - 4, 5, 7, 0xA, 0xC, 0xD,0x2E, 0xD, 0xC, 0xB, 0xA, 9,0xA8, 9, - 0xA, 0xC, 0xD,0x4E, 0xD,0x2C,0x8B,0x2C, 0xD, 0xE, 0xF,0x3F,0x2C,0x2B, - 0xA,0x29,0xA8, 9, 0xA, 0xB,0x2D,0x2E,0x2D, 0xB, 0xA,0x48, 9, 0xB, - 0xD,0x2E, 0xD, 0xC, 0xB, 9,0x68,0x67,0x26, 4, 3, 1,0x80,0x21, - 2, 4, 6, 8, 0xB, 0xC, 0xD, 0xE, 0xD, 0xC, 0xA, 9, 8,0x27, - 0x66, 7, 8, 0xA, 0xC,0x6D, 0xC, 0xB,0xAA, 0xB,0x2C,0x2D,0x41,0x2B, - 0xA,0x29,0x88,0x29, 0xA, 0xB, 0xC,0x6D,0x2C, 0xB,0x69, 0xB, 0xC, 0xD, - 0xE,0x2D, 0xC, 0xA, 9, 8,0xE7, 6, 5, 3, 2, 1,0x60,0x21, - 2, 4, 6, 8, 0xB, 0xC,0x4E, 0xD, 0xB, 0xA, 9, 8, 7,0x86, - 7, 9, 0xB, 0xC,0x4D, 0xC, 0xB,0x2A,0x49,0x2A, 0xB,0x4C, 0xD,0x43, - 0xA,0x49,0x48,0x29,0x2A, 0xB,0x4C, 0xD,0x4C, 0xB, 0xA,0x49, 0xA, 0xC, - 0x6D, 0xC, 0xB, 9, 8, 7,0x46,0x87, 6, 5, 4, 3, 2,0x21, - 0,0x21, 2, 3, 4, 6, 8, 0xA, 0xC,0x8D, 0xB, 0xA, 8, 7, - 0x26,0x25, 6, 7, 8, 0xB, 0xC,0x6D, 0xB,0x2A,0x69,0x2A,0x2B,0x4C, - 0x46, 8,0x67,0x28,0x29,0xEA, 0xA,0x29, 8,0x29,0xCA, 9, 7, 6, - 0x85, 6,0x27, 8, 7, 6, 4, 3, 2, 1,0x60, 1, 2, 3, - 5, 7, 9,0xEA, 9, 8, 7,0x65, 6, 8,0xEA, 9,0x88, 9, - 0xAA,0x49, 6,0xE7,0xE7,0xE7,0x87, 5,0x24,0x23, 4, 5,0xA7, 6, - 4, 2,0x21,0x60, 1, 2, 4, 6,0xE7,0xA7, 6,0xE7,0xE7,0xE7, - 7,0x4B,0xE5,0xE5,0xE5,0xA5, 4,0x23, 4,0xE5,0x45, 3, 2, 1, - 0x40, 1, 2, 4,0xE5,0xE5,0xE5,0xE5,0xE5,0x25,0x4B,0xE5,0xE5,0xE5, - 0xA5, 4,0x23, 4,0xE5,0x45, 3, 2, 1,0x40, 1, 2, 4,0xE5, - 0xE5,0xE5,0xE5,0xE5,0x25,0x4B,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5, - 0xE5,0xE5,0xE5,0xE5 -}; - -s32 D_8002C50C = 0; - -#ifdef NONMATCHING -void insert_imageDL(void) { - -} -#else -GLOBAL_ASM( -.text -glabel insert_imageDL -/* 050C00 7F01C0D0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 050C04 7F01C0D4 AFB00018 */ sw $s0, 0x18($sp) -/* 050C08 7F01C0D8 AFBF001C */ sw $ra, 0x1c($sp) -/* 050C0C 7F01C0DC 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00 -/* 050C10 7F01C0E0 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402 -/* 050C14 7F01C0E4 3C0F0030 */ lui $t7, 0x30 -/* 050C18 7F01C0E8 AC8F0004 */ sw $t7, 4($a0) -/* 050C1C 7F01C0EC AC8E0000 */ sw $t6, ($a0) -/* 050C20 7F01C0F0 24900008 */ addiu $s0, $a0, 8 -/* 050C24 7F01C0F4 AFB00030 */ sw $s0, 0x30($sp) -/* 050C28 7F01C0F8 0C001107 */ jal get_video2_settings_txtClipW -/* 050C2C 7F01C0FC 26100008 */ addiu $s0, $s0, 8 -/* 050C30 7F01C100 2458FFFF */ addiu $t8, $v0, -1 -/* 050C34 7F01C104 8FA90030 */ lw $t1, 0x30($sp) -/* 050C38 7F01C108 33190FFF */ andi $t9, $t8, 0xfff -/* 050C3C 7F01C10C 3C01FF10 */ lui $at, 0xff10 -/* 050C40 7F01C110 03214025 */ or $t0, $t9, $at -/* 050C44 7F01C114 0C000F07 */ jal get_video_settings2_frameb -/* 050C48 7F01C118 AD280000 */ sw $t0, ($t1) -/* 050C4C 7F01C11C 0C003A2C */ jal osVirtualToPhysical -/* 050C50 7F01C120 00402025 */ move $a0, $v0 -/* 050C54 7F01C124 8FAA0030 */ lw $t2, 0x30($sp) -/* 050C58 7F01C128 02001825 */ move $v1, $s0 -/* 050C5C 7F01C12C 3C0C0001 */ lui $t4, (0x00010001 >> 16) # lui $t4, 1 -/* 050C60 7F01C130 AD420004 */ sw $v0, 4($t2) -/* 050C64 7F01C134 358C0001 */ ori $t4, (0x00010001 & 0xFFFF) # ori $t4, $t4, 1 -/* 050C68 7F01C138 3C0BF700 */ lui $t3, 0xf700 -/* 050C6C 7F01C13C AC6B0000 */ sw $t3, ($v1) -/* 050C70 7F01C140 AC6C0004 */ sw $t4, 4($v1) -/* 050C74 7F01C144 26100008 */ addiu $s0, $s0, 8 -/* 050C78 7F01C148 AFB00028 */ sw $s0, 0x28($sp) -/* 050C7C 7F01C14C 0C001107 */ jal get_video2_settings_txtClipW -/* 050C80 7F01C150 26100008 */ addiu $s0, $s0, 8 -/* 050C84 7F01C154 0C00110B */ jal get_video2_settings_txtClipH -/* 050C88 7F01C158 A7A20022 */ sh $v0, 0x22($sp) -/* 050C8C 7F01C15C 87B90022 */ lh $t9, 0x22($sp) -/* 050C90 7F01C160 244DFFFF */ addiu $t5, $v0, -1 -/* 050C94 7F01C164 8FA30028 */ lw $v1, 0x28($sp) -/* 050C98 7F01C168 31AE03FF */ andi $t6, $t5, 0x3ff -/* 050C9C 7F01C16C 2728FFFF */ addiu $t0, $t9, -1 -/* 050CA0 7F01C170 310903FF */ andi $t1, $t0, 0x3ff -/* 050CA4 7F01C174 000E7880 */ sll $t7, $t6, 2 -/* 050CA8 7F01C178 3C01F600 */ lui $at, 0xf600 -/* 050CAC 7F01C17C 01E1C025 */ or $t8, $t7, $at -/* 050CB0 7F01C180 00095380 */ sll $t2, $t1, 0xe -/* 050CB4 7F01C184 030A5825 */ or $t3, $t8, $t2 -/* 050CB8 7F01C188 AC6B0000 */ sw $t3, ($v1) -/* 050CBC 7F01C18C AC600004 */ sw $zero, 4($v1) -/* 050CC0 7F01C190 8FBF001C */ lw $ra, 0x1c($sp) -/* 050CC4 7F01C194 02001025 */ move $v0, $s0 -/* 050CC8 7F01C198 8FB00018 */ lw $s0, 0x18($sp) -/* 050CCC 7F01C19C 03E00008 */ jr $ra -/* 050CD0 7F01C1A0 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01C1A4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01C1A4 -/* 050CD4 7F01C1A4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 050CD8 7F01C1A8 3C0E0103 */ lui $t6, (0x01030040 >> 16) # lui $t6, 0x103 -/* 050CDC 7F01C1AC AFBF0014 */ sw $ra, 0x14($sp) -/* 050CE0 7F01C1B0 35CE0040 */ ori $t6, (0x01030040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 050CE4 7F01C1B4 AC8E0000 */ sw $t6, ($a0) -/* 050CE8 7F01C1B8 00801825 */ move $v1, $a0 -/* 050CEC 7F01C1BC 24850008 */ addiu $a1, $a0, 8 -/* 050CF0 7F01C1C0 3C048007 */ lui $a0, %hi(matrix_buffer_gunbarrel_0) -/* 050CF4 7F01C1C4 8C84955C */ lw $a0, %lo(matrix_buffer_gunbarrel_0)($a0) -/* 050CF8 7F01C1C8 AFA50020 */ sw $a1, 0x20($sp) -/* 050CFC 7F01C1CC 0C003A2C */ jal osVirtualToPhysical -/* 050D00 7F01C1D0 AFA3001C */ sw $v1, 0x1c($sp) -/* 050D04 7F01C1D4 8FA3001C */ lw $v1, 0x1c($sp) -/* 050D08 7F01C1D8 8FA80020 */ lw $t0, 0x20($sp) -/* 050D0C 7F01C1DC 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102 -/* 050D10 7F01C1E0 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 050D14 7F01C1E4 AC620004 */ sw $v0, 4($v1) -/* 050D18 7F01C1E8 3C188003 */ lui $t8, %hi(D_8002A7D0) -/* 050D1C 7F01C1EC AD0F0000 */ sw $t7, ($t0) -/* 050D20 7F01C1F0 8F18A7D0 */ lw $t8, %lo(D_8002A7D0)($t8) -/* 050D24 7F01C1F4 3C098007 */ lui $t1, %hi(matrix_buffer_rarelogo_2) -/* 050D28 7F01C1F8 8D299564 */ lw $t1, %lo(matrix_buffer_rarelogo_2)($t1) -/* 050D2C 7F01C1FC 25050008 */ addiu $a1, $t0, 8 -/* 050D30 7F01C200 0018C980 */ sll $t9, $t8, 6 -/* 050D34 7F01C204 AFA50020 */ sw $a1, 0x20($sp) -/* 050D38 7F01C208 AFA80018 */ sw $t0, 0x18($sp) -/* 050D3C 7F01C20C 0C003A2C */ jal osVirtualToPhysical -/* 050D40 7F01C210 03292021 */ addu $a0, $t9, $t1 -/* 050D44 7F01C214 8FA30020 */ lw $v1, 0x20($sp) -/* 050D48 7F01C218 8FA80018 */ lw $t0, 0x18($sp) -/* 050D4C 7F01C21C 3C0AE700 */ lui $t2, 0xe700 -/* 050D50 7F01C220 24640008 */ addiu $a0, $v1, 8 -/* 050D54 7F01C224 AD020004 */ sw $v0, 4($t0) -/* 050D58 7F01C228 3C0BBA00 */ lui $t3, (0xBA001402 >> 16) # lui $t3, 0xba00 gDPSetCycleType(2cycle) -/* 050D5C 7F01C22C AC600004 */ sw $zero, 4($v1) -/* 050D60 7F01C230 AC6A0000 */ sw $t2, ($v1) -/* 050D64 7F01C234 356B1402 */ ori $t3, (0xBA001402 & 0xFFFF) # ori $t3, $t3, 0x1402 -/* 050D68 7F01C238 24860008 */ addiu $a2, $a0, 8 -/* 050D6C 7F01C23C AC8B0000 */ sw $t3, ($a0) -/* 050D70 7F01C240 AC800004 */ sw $zero, 4($a0) -/* 050D74 7F01C244 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 gDPSetRenderMode(AAOpaSurf) -/* 050D78 7F01C248 3C0D0055 */ lui $t5, (0x00552048 >> 16) # lui $t5, 0x55 -/* 050D7C 7F01C24C 35AD2048 */ ori $t5, (0x00552048 & 0xFFFF) # ori $t5, $t5, 0x2048 -/* 050D80 7F01C250 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 050D84 7F01C254 ACCC0000 */ sw $t4, ($a2) -/* 050D88 7F01C258 ACCD0004 */ sw $t5, 4($a2) -/* 050D8C 7F01C25C 24C70008 */ addiu $a3, $a2, 8 -/* 050D90 7F01C260 3C0EB700 */ lui $t6, 0xb700 -/* 050D94 7F01C264 240F0204 */ li $t7, 516 -/* 050D98 7F01C268 ACEF0004 */ sw $t7, 4($a3) -/* 050D9C 7F01C26C ACEE0000 */ sw $t6, ($a3) -/* 050DA0 7F01C270 8FBF0014 */ lw $ra, 0x14($sp) -/* 050DA4 7F01C274 24E20008 */ addiu $v0, $a3, 8 -/* 050DA8 7F01C278 27BD0020 */ addiu $sp, $sp, 0x20 -/* 050DAC 7F01C27C 03E00008 */ jr $ra -/* 050DB0 7F01C280 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void die_blood_image_routine(void) { - -} -#else -GLOBAL_ASM( -.text -glabel die_blood_image_routine -/* 050DB4 7F01C284 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 050DB8 7F01C288 AFBF0024 */ sw $ra, 0x24($sp) -/* 050DBC 7F01C28C AFB10020 */ sw $s1, 0x20($sp) -/* 050DC0 7F01C290 14800008 */ bnez $a0, .L7F01C2B4 -/* 050DC4 7F01C294 AFB0001C */ sw $s0, 0x1c($sp) -/* 050DC8 7F01C298 3C118008 */ lui $s1, %hi(pPlayer) -/* 050DCC 7F01C29C 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 050DD0 7F01C2A0 8E2F0000 */ lw $t7, ($s1) -/* 050DD4 7F01C2A4 3C0E8003 */ lui $t6, %hi(die_blood_image_1) -/* 050DD8 7F01C2A8 25CEBB30 */ addiu $t6, %lo(die_blood_image_1) # addiu $t6, $t6, -0x44d0 -/* 050DDC 7F01C2AC 1000000D */ b .L7F01C2E4 -/* 050DE0 7F01C2B0 ADEE11A8 */ sw $t6, 0x11a8($t7) -.L7F01C2B4: -/* 050DE4 7F01C2B4 24010001 */ li $at, 1 -/* 050DE8 7F01C2B8 1481000A */ bne $a0, $at, .L7F01C2E4 -/* 050DEC 7F01C2BC 3C118008 */ lui $s1, %hi(pPlayer) -/* 050DF0 7F01C2C0 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 050DF4 7F01C2C4 8E300000 */ lw $s0, ($s1) -/* 050DF8 7F01C2C8 3C188003 */ lui $t8, %hi(D_8002C50C) -/* 050DFC 7F01C2CC 2718C50C */ addiu $t8, %lo(D_8002C50C) # addiu $t8, $t8, -0x3af4 -/* 050E00 7F01C2D0 8E0211AC */ lw $v0, 0x11ac($s0) -/* 050E04 7F01C2D4 0058082B */ sltu $at, $v0, $t8 -/* 050E08 7F01C2D8 10200002 */ beqz $at, .L7F01C2E4 -/* 050E0C 7F01C2DC 00000000 */ nop -/* 050E10 7F01C2E0 AE0211A8 */ sw $v0, 0x11a8($s0) -.L7F01C2E4: -/* 050E14 7F01C2E4 3C118008 */ lui $s1, %hi(pPlayer) -/* 050E18 7F01C2E8 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 050E1C 7F01C2EC 8E300000 */ lw $s0, ($s1) -/* 050E20 7F01C2F0 24080001 */ li $t0, 1 -/* 050E24 7F01C2F4 24041E00 */ li $a0, 7680 -/* 050E28 7F01C2F8 8E1911B8 */ lw $t9, 0x11b8($s0) -/* 050E2C 7F01C2FC 01194823 */ subu $t1, $t0, $t9 -/* 050E30 7F01C300 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 050E34 7F01C304 AE0911B8 */ sw $t1, 0x11b8($s0) -/* 050E38 7F01C308 8E300000 */ lw $s0, ($s1) -/* 050E3C 7F01C30C 24041E00 */ li $a0, 7680 -/* 050E40 7F01C310 8E0A11B8 */ lw $t2, 0x11b8($s0) -/* 050E44 7F01C314 000A5880 */ sll $t3, $t2, 2 -/* 050E48 7F01C318 020B6021 */ addu $t4, $s0, $t3 -/* 050E4C 7F01C31C 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 050E50 7F01C320 AD8211B0 */ sw $v0, 0x11b0($t4) -/* 050E54 7F01C324 8E2D0000 */ lw $t5, ($s1) -/* 050E58 7F01C328 AFA20030 */ sw $v0, 0x30($sp) -/* 050E5C 7F01C32C 27AE0037 */ addiu $t6, $sp, 0x37 -/* 050E60 7F01C330 8DA411A8 */ lw $a0, 0x11a8($t5) -/* 050E64 7F01C334 AFAE0010 */ sw $t6, 0x10($sp) -/* 050E68 7F01C338 24050050 */ li $a1, 80 -/* 050E6C 7F01C33C 24060060 */ li $a2, 96 -/* 050E70 7F01C340 0FC072B8 */ jal decrypt_bleeding_animation_data -/* 050E74 7F01C344 00403825 */ move $a3, $v0 -/* 050E78 7F01C348 8E2F0000 */ lw $t7, ($s1) -/* 050E7C 7F01C34C 24050050 */ li $a1, 80 -/* 050E80 7F01C350 24060060 */ li $a2, 96 -/* 050E84 7F01C354 ADE211AC */ sw $v0, 0x11ac($t7) -/* 050E88 7F01C358 8E300000 */ lw $s0, ($s1) -/* 050E8C 7F01C35C 8FA40030 */ lw $a0, 0x30($sp) -/* 050E90 7F01C360 8E1811B8 */ lw $t8, 0x11b8($s0) -/* 050E94 7F01C364 00184080 */ sll $t0, $t8, 2 -/* 050E98 7F01C368 0208C821 */ addu $t9, $s0, $t0 -/* 050E9C 7F01C36C 0FC0745B */ jal sub_GAME_7F01D16C -/* 050EA0 7F01C370 8F2711B0 */ lw $a3, 0x11b0($t9) -/* 050EA4 7F01C374 8E300000 */ lw $s0, ($s1) -/* 050EA8 7F01C378 24050050 */ li $a1, 80 -/* 050EAC 7F01C37C 8E0911B8 */ lw $t1, 0x11b8($s0) -/* 050EB0 7F01C380 00095080 */ sll $t2, $t1, 2 -/* 050EB4 7F01C384 020A5821 */ addu $t3, $s0, $t2 -/* 050EB8 7F01C388 8D6411B0 */ lw $a0, 0x11b0($t3) -/* 050EBC 7F01C38C 0FC0740B */ jal sub_GAME_7F01D02C -/* 050EC0 7F01C390 00803025 */ move $a2, $a0 -/* 050EC4 7F01C394 8E300000 */ lw $s0, ($s1) -/* 050EC8 7F01C398 24050050 */ li $a1, 80 -/* 050ECC 7F01C39C 8E0C11B8 */ lw $t4, 0x11b8($s0) -/* 050ED0 7F01C3A0 000C6880 */ sll $t5, $t4, 2 -/* 050ED4 7F01C3A4 020D7021 */ addu $t6, $s0, $t5 -/* 050ED8 7F01C3A8 8DC411B0 */ lw $a0, 0x11b0($t6) -/* 050EDC 7F01C3AC 0FC073BB */ jal sub_GAME_7F01CEEC -/* 050EE0 7F01C3B0 00803025 */ move $a2, $a0 -/* 050EE4 7F01C3B4 8E300000 */ lw $s0, ($s1) -/* 050EE8 7F01C3B8 24051E00 */ li $a1, 7680 -/* 050EEC 7F01C3BC 8E0F11B8 */ lw $t7, 0x11b8($s0) -/* 050EF0 7F01C3C0 000FC080 */ sll $t8, $t7, 2 -/* 050EF4 7F01C3C4 02184021 */ addu $t0, $s0, $t8 -/* 050EF8 7F01C3C8 8D0411B0 */ lw $a0, 0x11b0($t0) -/* 050EFC 7F01C3CC 0FC07325 */ jal sub_GAME_7F01CC94 -/* 050F00 7F01C3D0 00803025 */ move $a2, $a0 -/* 050F04 7F01C3D4 8E390000 */ lw $t9, ($s1) -/* 050F08 7F01C3D8 8FBF0024 */ lw $ra, 0x24($sp) -/* 050F0C 7F01C3DC 3C0A8003 */ lui $t2, %hi(D_8002C50C) -/* 050F10 7F01C3E0 8F2911AC */ lw $t1, 0x11ac($t9) -/* 050F14 7F01C3E4 254AC50C */ addiu $t2, %lo(D_8002C50C) # addiu $t2, $t2, -0x3af4 -/* 050F18 7F01C3E8 8FB10020 */ lw $s1, 0x20($sp) -/* 050F1C 7F01C3EC 8FB0001C */ lw $s0, 0x1c($sp) -/* 050F20 7F01C3F0 012A102B */ sltu $v0, $t1, $t2 -/* 050F24 7F01C3F4 38420001 */ xori $v0, $v0, 1 -/* 050F28 7F01C3F8 03E00008 */ jr $ra -/* 050F2C 7F01C3FC 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01C400(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01C400 -/* 050F30 7F01C400 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 050F34 7F01C404 AFBF001C */ sw $ra, 0x1c($sp) -/* 050F38 7F01C408 AFB00018 */ sw $s0, 0x18($sp) -/* 050F3C 7F01C40C 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H -/* 050F40 7F01C410 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02 -/* 050F44 7F01C414 AC8E0000 */ sw $t6, ($a0) -/* 050F48 7F01C418 AC800004 */ sw $zero, 4($a0) -/* 050F4C 7F01C41C 24830008 */ addiu $v1, $a0, 8 -/* 050F50 7F01C420 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00 -/* 050F54 7F01C424 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02 -/* 050F58 7F01C428 24182000 */ li $t8, 8192 -/* 050F5C 7F01C42C AC780004 */ sw $t8, 4($v1) -/* 050F60 7F01C430 AC6F0000 */ sw $t7, ($v1) -/* 050F64 7F01C434 0FC07069 */ jal sub_GAME_7F01C1A4 -/* 050F68 7F01C438 24640008 */ addiu $a0, $v1, 8 -/* 050F6C 7F01C43C 3C19BB00 */ lui $t9, (0xBB000001 >> 16) # lui $t9, 0xbb00 -/* 050F70 7F01C440 37390001 */ ori $t9, (0xBB000001 & 0xFFFF) # ori $t9, $t9, 1 -/* 050F74 7F01C444 AC590000 */ sw $t9, ($v0) -/* 050F78 7F01C448 3C088000 */ lui $t0, (0x80008000 >> 16) -/* 050F7C 7F01C44C 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900 #gDPSetRenderMode(OpaSurf) -/* 050F80 7F01C450 3C0A0050 */ lui $t2, (0x00504340 >> 16) # lui $t2, 0x50 -/* 050F84 7F01C454 3C0BFC11 */ lui $t3, (0xFC119623 >> 16) # lui $t3, 0xfc11 -/* 050F88 7F01C458 3C0CFF2F */ lui $t4, (0xFF2FFFFF >> 16) # lui $t4, 0xff2f -/* 050F8C 7F01C45C 3C0DBA00 */ lui $t5, (0xBA000602 >> 16) # lui $t5, 0xba00 -/* 050F90 7F01C460 3C0F9600 */ lui $t7, (0x960000B4 >> 16) # lui $t7, 0x9600 -/* 050F94 7F01C464 3C18BA00 */ lui $t8, (0xBA001301 >> 16) # lui $t8, 0xba00 -/* 050F98 7F01C468 35088000 */ ori $t0, (0x80008000 & 0xFFFF) # ori $t0, $t0, 0x8000 -/* 050F9C 7F01C46C 354A4340 */ ori $t2, (0x00504340 & 0xFFFF) # ori $t2, $t2, 0x4340 -/* 050FA0 7F01C470 3529031D */ ori $t1, (0xB900031D & 0xFFFF) # ori $t1, $t1, 0x31d -/* 050FA4 7F01C474 358CFFFF */ ori $t4, (0xFF2FFFFF & 0xFFFF) # ori $t4, $t4, 0xffff -/* 050FA8 7F01C478 356B9623 */ ori $t3, (0xFC119623 & 0xFFFF) # ori $t3, $t3, 0x9623 #setcombine() -/* 050FAC 7F01C47C 35AD0602 */ ori $t5, (0xBA000602 & 0xFFFF) # ori $t5, $t5, 0x602 -/* 050FB0 7F01C480 35EF00B4 */ ori $t7, (0x960000B4 & 0xFFFF) # ori $t7, $t7, 0xb4 -/* 050FB4 7F01C484 3C0EFA00 */ lui $t6, 0xfa00 -/* 050FB8 7F01C488 37181301 */ ori $t8, (0xBA001301 & 0xFFFF) # ori $t8, $t8, 0x1301 -/* 050FBC 7F01C48C 3C19FD90 */ lui $t9, 0xfd90 -/* 050FC0 7F01C490 AC480004 */ sw $t0, 4($v0) -/* 050FC4 7F01C494 AC490008 */ sw $t1, 8($v0) -/* 050FC8 7F01C498 AC4A000C */ sw $t2, 0xc($v0) -/* 050FCC 7F01C49C AC4B0010 */ sw $t3, 0x10($v0) -/* 050FD0 7F01C4A0 AC4C0014 */ sw $t4, 0x14($v0) -/* 050FD4 7F01C4A4 AC4D0018 */ sw $t5, 0x18($v0) -/* 050FD8 7F01C4A8 AC40001C */ sw $zero, 0x1c($v0) -/* 050FDC 7F01C4AC AC4E0020 */ sw $t6, 0x20($v0) -/* 050FE0 7F01C4B0 AC4F0024 */ sw $t7, 0x24($v0) -/* 050FE4 7F01C4B4 AC580028 */ sw $t8, 0x28($v0) -/* 050FE8 7F01C4B8 AC40002C */ sw $zero, 0x2c($v0) -/* 050FEC 7F01C4BC AC590030 */ sw $t9, 0x30($v0) -/* 050FF0 7F01C4C0 3C038008 */ lui $v1, %hi(pPlayer) -/* 050FF4 7F01C4C4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 050FF8 7F01C4C8 3C018000 */ lui $at, 0x8000 -/* 050FFC 7F01C4CC 3C190777 */ lui $t9, (0x0777F156 >> 16) # lui $t9, 0x777 -/* 051000 7F01C4D0 8C6811B8 */ lw $t0, 0x11b8($v1) -/* 051004 7F01C4D4 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708 -/* 051008 7F01C4D8 3C0DF590 */ lui $t5, 0xf590 -/* 05100C 7F01C4DC 00084880 */ sll $t1, $t0, 2 -/* 051010 7F01C4E0 00695021 */ addu $t2, $v1, $t1 -/* 051014 7F01C4E4 8D4B11B0 */ lw $t3, 0x11b0($t2) -/* 051018 7F01C4E8 3C0A0008 */ lui $t2, (0x00080200 >> 16) # lui $t2, 8 -/* 05101C 7F01C4EC 3C09F580 */ lui $t1, (0xF5800C00 >> 16) # lui $t1, 0xf580 -/* 051020 7F01C4F0 01616021 */ addu $t4, $t3, $at -/* 051024 7F01C4F4 AC4C0034 */ sw $t4, 0x34($v0) -/* 051028 7F01C4F8 3C0C0017 */ lui $t4, (0x0017C13C >> 16) # lui $t4, 0x17 -/* 05102C 7F01C4FC 358CC13C */ ori $t4, (0x0017C13C & 0xFFFF) # ori $t4, $t4, 0xc13c -/* 051030 7F01C500 3C0BF200 */ lui $t3, 0xf200 -/* 051034 7F01C504 35290C00 */ ori $t1, (0xF5800C00 & 0xFFFF) # ori $t1, $t1, 0xc00 -/* 051038 7F01C508 354A0200 */ ori $t2, (0x00080200 & 0xFFFF) # ori $t2, $t2, 0x200 -/* 05103C 7F01C50C AC4D0038 */ sw $t5, 0x38($v0) -/* 051040 7F01C510 3C08E700 */ lui $t0, 0xe700 -/* 051044 7F01C514 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200 -/* 051048 7F01C518 3739F156 */ ori $t9, (0x0777F156 & 0xFFFF) # ori $t9, $t9, 0xf156 -/* 05104C 7F01C51C 3C18F300 */ lui $t8, 0xf300 -/* 051050 7F01C520 3C0FE600 */ lui $t7, 0xe600 -/* 051054 7F01C524 AC4F0040 */ sw $t7, 0x40($v0) -/* 051058 7F01C528 AC580048 */ sw $t8, 0x48($v0) -/* 05105C 7F01C52C AC59004C */ sw $t9, 0x4c($v0) -/* 051060 7F01C530 AC4E003C */ sw $t6, 0x3c($v0) -/* 051064 7F01C534 AC480050 */ sw $t0, 0x50($v0) -/* 051068 7F01C538 AC4A005C */ sw $t2, 0x5c($v0) -/* 05106C 7F01C53C AC490058 */ sw $t1, 0x58($v0) -/* 051070 7F01C540 AC4B0060 */ sw $t3, 0x60($v0) -/* 051074 7F01C544 AC4C0064 */ sw $t4, 0x64($v0) -/* 051078 7F01C548 AC400054 */ sw $zero, 0x54($v0) -/* 05107C 7F01C54C AC400044 */ sw $zero, 0x44($v0) -/* 051080 7F01C550 244D0068 */ addiu $t5, $v0, 0x68 -/* 051084 7F01C554 AFAD0030 */ sw $t5, 0x30($sp) -/* 051088 7F01C558 0C001107 */ jal get_video2_settings_txtClipW -/* 05108C 7F01C55C 24500070 */ addiu $s0, $v0, 0x70 -/* 051090 7F01C560 0C00110B */ jal get_video2_settings_txtClipH -/* 051094 7F01C564 A7A20026 */ sh $v0, 0x26($sp) -/* 051098 7F01C568 87A80026 */ lh $t0, 0x26($sp) -/* 05109C 7F01C56C 00027080 */ sll $t6, $v0, 2 -/* 0510A0 7F01C570 8FA50030 */ lw $a1, 0x30($sp) -/* 0510A4 7F01C574 00084880 */ sll $t1, $t0, 2 -/* 0510A8 7F01C578 252AFFFF */ addiu $t2, $t1, -1 -/* 0510AC 7F01C57C 25CFFFFF */ addiu $t7, $t6, -1 -/* 0510B0 7F01C580 31F80FFF */ andi $t8, $t7, 0xfff -/* 0510B4 7F01C584 314B0FFF */ andi $t3, $t2, 0xfff -/* 0510B8 7F01C588 3C01E400 */ lui $at, 0xe400 -/* 0510BC 7F01C58C 0301C825 */ or $t9, $t8, $at -/* 0510C0 7F01C590 000B6300 */ sll $t4, $t3, 0xc -/* 0510C4 7F01C594 032C6825 */ or $t5, $t9, $t4 -/* 0510C8 7F01C598 02001825 */ move $v1, $s0 -/* 0510CC 7F01C59C ACAD0000 */ sw $t5, ($a1) -/* 0510D0 7F01C5A0 ACA00004 */ sw $zero, 4($a1) -/* 0510D4 7F01C5A4 26100008 */ addiu $s0, $s0, 8 -/* 0510D8 7F01C5A8 3C0EB400 */ lui $t6, 0xb400 -/* 0510DC 7F01C5AC AC6E0000 */ sw $t6, ($v1) -/* 0510E0 7F01C5B0 02002025 */ move $a0, $s0 -/* 0510E4 7F01C5B4 AC600004 */ sw $zero, 4($v1) -/* 0510E8 7F01C5B8 3C0FB300 */ lui $t7, 0xb300 -/* 0510EC 7F01C5BC AC8F0000 */ sw $t7, ($a0) -/* 0510F0 7F01C5C0 AFA40028 */ sw $a0, 0x28($sp) -/* 0510F4 7F01C5C4 0C001107 */ jal get_video2_settings_txtClipW -/* 0510F8 7F01C5C8 26100008 */ addiu $s0, $s0, 8 -/* 0510FC 7F01C5CC 0C00110B */ jal get_video2_settings_txtClipH -/* 051100 7F01C5D0 A7A20026 */ sh $v0, 0x26($sp) -/* 051104 7F01C5D4 3C180001 */ lui $t8, (0x00014000 >> 16) # lui $t8, 1 -/* 051108 7F01C5D8 37184000 */ ori $t8, (0x00014000 & 0xFFFF) # ori $t8, $t8, 0x4000 -/* 05110C 7F01C5DC 0302001A */ div $zero, $t8, $v0 -/* 051110 7F01C5E0 00004012 */ mflo $t0 -/* 051114 7F01C5E4 87AA0026 */ lh $t2, 0x26($sp) -/* 051118 7F01C5E8 3C0B0001 */ lui $t3, (0x00018000 >> 16) # lui $t3, 1 -/* 05111C 7F01C5EC 356B8000 */ ori $t3, (0x00018000 & 0xFFFF) # ori $t3, $t3, 0x8000 -/* 051120 7F01C5F0 016A001A */ div $zero, $t3, $t2 -/* 051124 7F01C5F4 14400002 */ bnez $v0, .L7F01C600 -/* 051128 7F01C5F8 00000000 */ nop -/* 05112C 7F01C5FC 0007000D */ break 7 -.L7F01C600: -/* 051130 7F01C600 2401FFFF */ li $at, -1 -/* 051134 7F01C604 14410004 */ bne $v0, $at, .L7F01C618 -/* 051138 7F01C608 3C018000 */ lui $at, 0x8000 -/* 05113C 7F01C60C 17010002 */ bne $t8, $at, .L7F01C618 -/* 051140 7F01C610 00000000 */ nop -/* 051144 7F01C614 0006000D */ break 6 -.L7F01C618: -/* 051148 7F01C618 0000C812 */ mflo $t9 -/* 05114C 7F01C61C 8FAF0028 */ lw $t7, 0x28($sp) -/* 051150 7F01C620 332CFFFF */ andi $t4, $t9, 0xffff -/* 051154 7F01C624 000C6C00 */ sll $t5, $t4, 0x10 -/* 051158 7F01C628 3109FFFF */ andi $t1, $t0, 0xffff -/* 05115C 7F01C62C 012D7025 */ or $t6, $t1, $t5 -/* 051160 7F01C630 ADEE0004 */ sw $t6, 4($t7) -/* 051164 7F01C634 8FBF001C */ lw $ra, 0x1c($sp) -/* 051168 7F01C638 02001025 */ move $v0, $s0 -/* 05116C 7F01C63C 8FB00018 */ lw $s0, 0x18($sp) -/* 051170 7F01C640 15400002 */ bnez $t2, .L7F01C64C -/* 051174 7F01C644 00000000 */ nop -/* 051178 7F01C648 0007000D */ break 7 -.L7F01C64C: -/* 05117C 7F01C64C 2401FFFF */ li $at, -1 -/* 051180 7F01C650 15410004 */ bne $t2, $at, .L7F01C664 -/* 051184 7F01C654 3C018000 */ lui $at, 0x8000 -/* 051188 7F01C658 15610002 */ bne $t3, $at, .L7F01C664 -/* 05118C 7F01C65C 00000000 */ nop -/* 051190 7F01C660 0006000D */ break 6 -.L7F01C664: -/* 051194 7F01C664 27BD0070 */ addiu $sp, $sp, 0x70 -/* 051198 7F01C668 03E00008 */ jr $ra -/* 05119C 7F01C66C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01C670(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01C670 -/* 0511A0 7F01C670 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 0511A4 7F01C674 AFB00014 */ sw $s0, 0x14($sp) -/* 0511A8 7F01C678 AFBF001C */ sw $ra, 0x1c($sp) -/* 0511AC 7F01C67C AFB10018 */ sw $s1, 0x18($sp) -/* 0511B0 7F01C680 24900008 */ addiu $s0, $a0, 8 -/* 0511B4 7F01C684 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H() -/* 0511B8 7F01C688 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02 -/* 0511BC 7F01C68C 02001825 */ move $v1, $s0 -/* 0511C0 7F01C690 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00 -/* 0511C4 7F01C694 AC8E0000 */ sw $t6, ($a0) -/* 0511C8 7F01C698 AC800004 */ sw $zero, 4($a0) -/* 0511CC 7F01C69C 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02 #G_SETOTHERMODE_H() -/* 0511D0 7F01C6A0 26100008 */ addiu $s0, $s0, 8 -/* 0511D4 7F01C6A4 AC6F0000 */ sw $t7, ($v1) -/* 0511D8 7F01C6A8 24182000 */ li $t8, 8192 -/* 0511DC 7F01C6AC 02002825 */ move $a1, $s0 -/* 0511E0 7F01C6B0 AC780004 */ sw $t8, 4($v1) -/* 0511E4 7F01C6B4 26100008 */ addiu $s0, $s0, 8 -/* 0511E8 7F01C6B8 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 #gDPSetCycleType(2Cycle) -/* 0511EC 7F01C6BC 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0511F0 7F01C6C0 02003025 */ move $a2, $s0 -/* 0511F4 7F01C6C4 ACB90000 */ sw $t9, ($a1) -/* 0511F8 7F01C6C8 ACA00004 */ sw $zero, 4($a1) -/* 0511FC 7F01C6CC 26100008 */ addiu $s0, $s0, 8 -/* 051200 7F01C6D0 3C08B700 */ lui $t0, 0xb700 -/* 051204 7F01C6D4 24090204 */ li $t1, 516 -/* 051208 7F01C6D8 ACC90004 */ sw $t1, 4($a2) -/* 05120C 7F01C6DC ACC80000 */ sw $t0, ($a2) -/* 051210 7F01C6E0 02003825 */ move $a3, $s0 -/* 051214 7F01C6E4 26100008 */ addiu $s0, $s0, 8 -/* 051218 7F01C6E8 3C0ABB00 */ lui $t2, (0xBB000001 >> 16) # lui $t2, 0xbb00 -/* 05121C 7F01C6EC 3C0B8000 */ lui $t3, (0x80008000 >> 16) # lui $t3, 0x8000 -/* 051220 7F01C6F0 356B8000 */ ori $t3, (0x80008000 & 0xFFFF) # ori $t3, $t3, 0x8000 -/* 051224 7F01C6F4 354A0001 */ ori $t2, (0xBB000001 & 0xFFFF) # ori $t2, $t2, 1 -/* 051228 7F01C6F8 02001025 */ move $v0, $s0 -/* 05122C 7F01C6FC ACEA0000 */ sw $t2, ($a3) -/* 051230 7F01C700 ACEB0004 */ sw $t3, 4($a3) -/* 051234 7F01C704 26100008 */ addiu $s0, $s0, 8 -/* 051238 7F01C708 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 #gDPSetRenderMode() -/* 05123C 7F01C70C 3C0D0050 */ lui $t5, (0x00504340 >> 16) # lui $t5, 0x50 -/* 051240 7F01C710 35AD4340 */ ori $t5, (0x00504340 & 0xFFFF) # ori $t5, $t5, 0x4340 -/* 051244 7F01C714 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 051248 7F01C718 02001825 */ move $v1, $s0 -/* 05124C 7F01C71C AC4C0000 */ sw $t4, ($v0) -/* 051250 7F01C720 AC4D0004 */ sw $t5, 4($v0) -/* 051254 7F01C724 3C0FFF2F */ lui $t7, (0xFF2FFFFF >> 16) # lui $t7, 0xff2f -/* 051258 7F01C728 3C0EFC11 */ lui $t6, (0xFC119623 >> 16) # lui $t6, 0xfc11 #Setcombine() -/* 05125C 7F01C72C 35CE9623 */ ori $t6, (0xFC119623 & 0xFFFF) # ori $t6, $t6, 0x9623 -/* 051260 7F01C730 35EFFFFF */ ori $t7, (0xFF2FFFFF & 0xFFFF) # ori $t7, $t7, 0xffff -/* 051264 7F01C734 26100008 */ addiu $s0, $s0, 8 -/* 051268 7F01C738 AC6F0004 */ sw $t7, 4($v1) -/* 05126C 7F01C73C AC6E0000 */ sw $t6, ($v1) -/* 051270 7F01C740 02002025 */ move $a0, $s0 -/* 051274 7F01C744 26100008 */ addiu $s0, $s0, 8 -/* 051278 7F01C748 3C18BA00 */ lui $t8, (0xBA000602 >> 16) # lui $t8, 0xba00 #G_SETOTHERMODE_H(envmapping) -/* 05127C 7F01C74C 37180602 */ ori $t8, (0xBA000602 & 0xFFFF) # ori $t8, $t8, 0x602 -/* 051280 7F01C750 02002825 */ move $a1, $s0 -/* 051284 7F01C754 AC980000 */ sw $t8, ($a0) -/* 051288 7F01C758 AC800004 */ sw $zero, 4($a0) -/* 05128C 7F01C75C 26100008 */ addiu $s0, $s0, 8 -/* 051290 7F01C760 3C089600 */ lui $t0, (0x960000B4 >> 16) # lui $t0, 0x9600 -/* 051294 7F01C764 350800B4 */ ori $t0, (0x960000B4 & 0xFFFF) # ori $t0, $t0, 0xb4 -/* 051298 7F01C768 3C19FA00 */ lui $t9, 0xfa00 -/* 05129C 7F01C76C 02003025 */ move $a2, $s0 -/* 0512A0 7F01C770 ACB90000 */ sw $t9, ($a1) -/* 0512A4 7F01C774 ACA80004 */ sw $t0, 4($a1) -/* 0512A8 7F01C778 3C09BA00 */ lui $t1, (0xBA001301 >> 16) # lui $t1, 0xba00 #G_SETOTHERMODE_H() -/* 0512AC 7F01C77C 35291301 */ ori $t1, (0xBA001301 & 0xFFFF) # ori $t1, $t1, 0x1301 -/* 0512B0 7F01C780 26100008 */ addiu $s0, $s0, 8 -/* 0512B4 7F01C784 ACC90000 */ sw $t1, ($a2) -/* 0512B8 7F01C788 ACC00004 */ sw $zero, 4($a2) -/* 0512BC 7F01C78C 02001025 */ move $v0, $s0 -/* 0512C0 7F01C790 3C0AFD90 */ lui $t2, 0xfd90 -/* 0512C4 7F01C794 AC4A0000 */ sw $t2, ($v0) -/* 0512C8 7F01C798 3C038008 */ lui $v1, %hi(pPlayer) -/* 0512CC 7F01C79C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0512D0 7F01C7A0 3C018000 */ lui $at, 0x8000 -/* 0512D4 7F01C7A4 26100008 */ addiu $s0, $s0, 8 -/* 0512D8 7F01C7A8 8C6B11B8 */ lw $t3, 0x11b8($v1) -/* 0512DC 7F01C7AC 02002025 */ move $a0, $s0 -/* 0512E0 7F01C7B0 26100008 */ addiu $s0, $s0, 8 -/* 0512E4 7F01C7B4 000B6080 */ sll $t4, $t3, 2 -/* 0512E8 7F01C7B8 006C6821 */ addu $t5, $v1, $t4 -/* 0512EC 7F01C7BC 8DAE11B0 */ lw $t6, 0x11b0($t5) -/* 0512F0 7F01C7C0 3C190708 */ lui $t9, (0x07080200 >> 16) # lui $t9, 0x708 -/* 0512F4 7F01C7C4 37390200 */ ori $t9, (0x07080200 & 0xFFFF) # ori $t9, $t9, 0x200 -/* 0512F8 7F01C7C8 01C17821 */ addu $t7, $t6, $at -/* 0512FC 7F01C7CC AC4F0004 */ sw $t7, 4($v0) -/* 051300 7F01C7D0 02002825 */ move $a1, $s0 -/* 051304 7F01C7D4 3C18F590 */ lui $t8, 0xf590 -/* 051308 7F01C7D8 AC980000 */ sw $t8, ($a0) -/* 05130C 7F01C7DC 26100008 */ addiu $s0, $s0, 8 -/* 051310 7F01C7E0 AC990004 */ sw $t9, 4($a0) -/* 051314 7F01C7E4 02003025 */ move $a2, $s0 -/* 051318 7F01C7E8 3C08E600 */ lui $t0, 0xe600 -/* 05131C 7F01C7EC ACA80000 */ sw $t0, ($a1) -/* 051320 7F01C7F0 26100008 */ addiu $s0, $s0, 8 -/* 051324 7F01C7F4 ACA00004 */ sw $zero, 4($a1) -/* 051328 7F01C7F8 3C0A0777 */ lui $t2, (0x0777F156 >> 16) # lui $t2, 0x777 -/* 05132C 7F01C7FC 354AF156 */ ori $t2, (0x0777F156 & 0xFFFF) # ori $t2, $t2, 0xf156 -/* 051330 7F01C800 02003825 */ move $a3, $s0 -/* 051334 7F01C804 3C09F300 */ lui $t1, 0xf300 -/* 051338 7F01C808 ACC90000 */ sw $t1, ($a2) -/* 05133C 7F01C80C 26100008 */ addiu $s0, $s0, 8 -/* 051340 7F01C810 ACCA0004 */ sw $t2, 4($a2) -/* 051344 7F01C814 02001025 */ move $v0, $s0 -/* 051348 7F01C818 3C0BE700 */ lui $t3, 0xe700 -/* 05134C 7F01C81C ACEB0000 */ sw $t3, ($a3) -/* 051350 7F01C820 26100008 */ addiu $s0, $s0, 8 -/* 051354 7F01C824 ACE00004 */ sw $zero, 4($a3) -/* 051358 7F01C828 3C0D0008 */ lui $t5, (0x00080200 >> 16) # lui $t5, 8 -/* 05135C 7F01C82C 3C0CF580 */ lui $t4, (0xF5800C00 >> 16) # lui $t4, 0xf580 #settilesize() -/* 051360 7F01C830 358C0C00 */ ori $t4, (0xF5800C00 & 0xFFFF) # ori $t4, $t4, 0xc00 -/* 051364 7F01C834 35AD0200 */ ori $t5, (0x00080200 & 0xFFFF) # ori $t5, $t5, 0x200 -/* 051368 7F01C838 02001825 */ move $v1, $s0 -/* 05136C 7F01C83C AC4D0004 */ sw $t5, 4($v0) -/* 051370 7F01C840 AC4C0000 */ sw $t4, ($v0) -/* 051374 7F01C844 3C0F0017 */ lui $t7, (0x0017C13C >> 16) # lui $t7, 0x17 -/* 051378 7F01C848 35EFC13C */ ori $t7, (0x0017C13C & 0xFFFF) # ori $t7, $t7, 0xc13c -/* 05137C 7F01C84C 3C0EF200 */ lui $t6, 0xf200 -/* 051380 7F01C850 AC6E0000 */ sw $t6, ($v1) -/* 051384 7F01C854 AC6F0004 */ sw $t7, 4($v1) -/* 051388 7F01C858 26100008 */ addiu $s0, $s0, 8 -/* 05138C 7F01C85C AFB00040 */ sw $s0, 0x40($sp) -/* 051390 7F01C860 0C001127 */ jal get_video2_settings_width -/* 051394 7F01C864 26100008 */ addiu $s0, $s0, 8 -/* 051398 7F01C868 0C001145 */ jal get_video2_settings_ulx -/* 05139C 7F01C86C A7A20026 */ sh $v0, 0x26($sp) -/* 0513A0 7F01C870 0C001149 */ jal get_video2_settings_uly -/* 0513A4 7F01C874 A7A20028 */ sh $v0, 0x28($sp) -/* 0513A8 7F01C878 00028C00 */ sll $s1, $v0, 0x10 -/* 0513AC 7F01C87C 0011C403 */ sra $t8, $s1, 0x10 -/* 0513B0 7F01C880 0C00112B */ jal get_video2_settings_height -/* 0513B4 7F01C884 03008825 */ move $s1, $t8 -/* 0513B8 7F01C888 87B90028 */ lh $t9, 0x28($sp) -/* 0513BC 7F01C88C 87A80026 */ lh $t0, 0x26($sp) -/* 0513C0 7F01C890 00517021 */ addu $t6, $v0, $s1 -/* 0513C4 7F01C894 000E7880 */ sll $t7, $t6, 2 -/* 0513C8 7F01C898 03284821 */ addu $t1, $t9, $t0 -/* 0513CC 7F01C89C 00095080 */ sll $t2, $t1, 2 -/* 0513D0 7F01C8A0 254BFFFF */ addiu $t3, $t2, -1 -/* 0513D4 7F01C8A4 25F8FFFF */ addiu $t8, $t7, -1 -/* 0513D8 7F01C8A8 33190FFF */ andi $t9, $t8, 0xfff -/* 0513DC 7F01C8AC 316C0FFF */ andi $t4, $t3, 0xfff -/* 0513E0 7F01C8B0 3C01E400 */ lui $at, 0xe400 -/* 0513E4 7F01C8B4 8FAA0040 */ lw $t2, 0x40($sp) -/* 0513E8 7F01C8B8 03214025 */ or $t0, $t9, $at -/* 0513EC 7F01C8BC 000C6B00 */ sll $t5, $t4, 0xc -/* 0513F0 7F01C8C0 010D4825 */ or $t1, $t0, $t5 -/* 0513F4 7F01C8C4 0C001145 */ jal get_video2_settings_ulx -/* 0513F8 7F01C8C8 AD490000 */ sw $t1, ($t2) -/* 0513FC 7F01C8CC 00028C00 */ sll $s1, $v0, 0x10 -/* 051400 7F01C8D0 00115C03 */ sra $t3, $s1, 0x10 -/* 051404 7F01C8D4 0C001149 */ jal get_video2_settings_uly -/* 051408 7F01C8D8 01608825 */ move $s1, $t3 -/* 05140C 7F01C8DC 00117880 */ sll $t7, $s1, 2 -/* 051410 7F01C8E0 8FAD0040 */ lw $t5, 0x40($sp) -/* 051414 7F01C8E4 31F80FFF */ andi $t8, $t7, 0xfff -/* 051418 7F01C8E8 00026080 */ sll $t4, $v0, 2 -/* 05141C 7F01C8EC 318E0FFF */ andi $t6, $t4, 0xfff -/* 051420 7F01C8F0 0018CB00 */ sll $t9, $t8, 0xc -/* 051424 7F01C8F4 01D94025 */ or $t0, $t6, $t9 -/* 051428 7F01C8F8 02001825 */ move $v1, $s0 -/* 05142C 7F01C8FC ADA80004 */ sw $t0, 4($t5) -/* 051430 7F01C900 26100008 */ addiu $s0, $s0, 8 -/* 051434 7F01C904 3C09B400 */ lui $t1, 0xb400 -/* 051438 7F01C908 AC690000 */ sw $t1, ($v1) -/* 05143C 7F01C90C 02002025 */ move $a0, $s0 -/* 051440 7F01C910 AC600004 */ sw $zero, 4($v1) -/* 051444 7F01C914 3C0AB300 */ lui $t2, 0xb300 -/* 051448 7F01C918 AC8A0000 */ sw $t2, ($a0) -/* 05144C 7F01C91C AFA40038 */ sw $a0, 0x38($sp) -/* 051450 7F01C920 0C001127 */ jal get_video2_settings_width -/* 051454 7F01C924 26100008 */ addiu $s0, $s0, 8 -/* 051458 7F01C928 00028C00 */ sll $s1, $v0, 0x10 -/* 05145C 7F01C92C 00115C03 */ sra $t3, $s1, 0x10 -/* 051460 7F01C930 0C00112B */ jal get_video2_settings_height -/* 051464 7F01C934 01608825 */ move $s1, $t3 -/* 051468 7F01C938 3C0C0001 */ lui $t4, (0x00014000 >> 16) # lui $t4, 1 -/* 05146C 7F01C93C 358C4000 */ ori $t4, (0x00014000 & 0xFFFF) # ori $t4, $t4, 0x4000 -/* 051470 7F01C940 0182001A */ div $zero, $t4, $v0 -/* 051474 7F01C944 00007812 */ mflo $t7 -/* 051478 7F01C948 3C0E0001 */ lui $t6, (0x00018000 >> 16) # lui $t6, 1 -/* 05147C 7F01C94C 35CE8000 */ ori $t6, (0x00018000 & 0xFFFF) # ori $t6, $t6, 0x8000 -/* 051480 7F01C950 01D1001A */ div $zero, $t6, $s1 -/* 051484 7F01C954 14400002 */ bnez $v0, .L7F01C960 -/* 051488 7F01C958 00000000 */ nop -/* 05148C 7F01C95C 0007000D */ break 7 -.L7F01C960: -/* 051490 7F01C960 2401FFFF */ li $at, -1 -/* 051494 7F01C964 14410004 */ bne $v0, $at, .L7F01C978 -/* 051498 7F01C968 3C018000 */ lui $at, 0x8000 -/* 05149C 7F01C96C 15810002 */ bne $t4, $at, .L7F01C978 -/* 0514A0 7F01C970 00000000 */ nop -/* 0514A4 7F01C974 0006000D */ break 6 -.L7F01C978: -/* 0514A8 7F01C978 0000C812 */ mflo $t9 -/* 0514AC 7F01C97C 8FAA0038 */ lw $t2, 0x38($sp) -/* 0514B0 7F01C980 3328FFFF */ andi $t0, $t9, 0xffff -/* 0514B4 7F01C984 00086C00 */ sll $t5, $t0, 0x10 -/* 0514B8 7F01C988 31F8FFFF */ andi $t8, $t7, 0xffff -/* 0514BC 7F01C98C 030D4825 */ or $t1, $t8, $t5 -/* 0514C0 7F01C990 02001825 */ move $v1, $s0 -/* 0514C4 7F01C994 26100008 */ addiu $s0, $s0, 8 -/* 0514C8 7F01C998 AD490004 */ sw $t1, 4($t2) -/* 0514CC 7F01C99C 3C0BE700 */ lui $t3, 0xe700 -/* 0514D0 7F01C9A0 02002025 */ move $a0, $s0 -/* 0514D4 7F01C9A4 AC6B0000 */ sw $t3, ($v1) -/* 0514D8 7F01C9A8 AC600004 */ sw $zero, 4($v1) -/* 0514DC 7F01C9AC 3C0CBA00 */ lui $t4, (0xBA000602 >> 16) # lui $t4, 0xba00 #G_SETOTHERMODE_H() -/* 0514E0 7F01C9B0 16200002 */ bnez $s1, .L7F01C9BC -/* 0514E4 7F01C9B4 00000000 */ nop -/* 0514E8 7F01C9B8 0007000D */ break 7 -.L7F01C9BC: -/* 0514EC 7F01C9BC 2401FFFF */ li $at, -1 -/* 0514F0 7F01C9C0 16210004 */ bne $s1, $at, .L7F01C9D4 -/* 0514F4 7F01C9C4 3C018000 */ lui $at, 0x8000 -/* 0514F8 7F01C9C8 15C10002 */ bne $t6, $at, .L7F01C9D4 -/* 0514FC 7F01C9CC 00000000 */ nop -/* 051500 7F01C9D0 0006000D */ break 6 -.L7F01C9D4: -/* 051504 7F01C9D4 358C0602 */ ori $t4, (0xBA000602 & 0xFFFF) # ori $t4, $t4, 0x602 #G_SETOTHERMODE_H() -/* 051508 7F01C9D8 26100008 */ addiu $s0, $s0, 8 -/* 05150C 7F01C9DC 240F0040 */ li $t7, 64 -/* 051510 7F01C9E0 AC8F0004 */ sw $t7, 4($a0) -/* 051514 7F01C9E4 AC8C0000 */ sw $t4, ($a0) -/* 051518 7F01C9E8 02002825 */ move $a1, $s0 -/* 05151C 7F01C9EC 3C0EBA00 */ lui $t6, (0xBA001301 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H() -/* 051520 7F01C9F0 35CE1301 */ ori $t6, (0xBA001301 & 0xFFFF) # ori $t6, $t6, 0x1301 -/* 051524 7F01C9F4 3C190008 */ lui $t9, 8 -/* 051528 7F01C9F8 ACB90004 */ sw $t9, 4($a1) -/* 05152C 7F01C9FC ACAE0000 */ sw $t6, ($a1) -/* 051530 7F01CA00 8FBF001C */ lw $ra, 0x1c($sp) -/* 051534 7F01CA04 26020008 */ addiu $v0, $s0, 8 -/* 051538 7F01CA08 8FB00014 */ lw $s0, 0x14($sp) -/* 05153C 7F01CA0C 8FB10018 */ lw $s1, 0x18($sp) -/* 051540 7F01CA10 03E00008 */ jr $ra -/* 051544 7F01CA14 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01CA18(Gfx *glistp) //BloodRed_Dl_Setup -{ - sub_GAME_7F01C1A4(); - //1 cycle settings - gDPSetRenderMode(glistp++, G_RM_CLD_SURF, G_RM_CLD_SURF2); - gDPSetCombineMode(glistp++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); - gDPSetPrimColor(glistp++, 0, 0, 150, 00, 00, 180); //dark red - gDPSetColorDither(glistp++, G_CD_MAGICSQ); - - get_video2_settings_txtClipW(); - //... -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01CA18 -/* 051548 7F01CA18 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05154C 7F01CA1C AFBF0014 */ sw $ra, 0x14($sp) -/* 051550 7F01CA20 0FC07069 */ jal sub_GAME_7F01C1A4 -/* 051554 7F01CA24 00000000 */ nop -/* 051558 7F01CA28 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 05155C 7F01CA2C 3C0F0050 */ lui $t7, (0x00504340 >> 16) # lui $t7, 0x50 -/* 051560 7F01CA30 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff -/* 051564 7F01CA34 3C19FFFD */ lui $t9, (0xFFFDF6FB >> 16) # lui $t9, 0xfffd -/* 051568 7F01CA38 3C099600 */ lui $t1, (0x960000B4 >> 16) # lui $t1, 0x9600 -/* 05156C 7F01CA3C 3C0ABA00 */ lui $t2, (0xBA000602 >> 16) # lui $t2, 0xba00 -/* 051570 7F01CA40 35EF4340 */ ori $t7, (0x00504340 & 0xFFFF) # ori $t7, $t7, 0x4340 -/* 051574 7F01CA44 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 051578 7F01CA48 3739F6FB */ ori $t9, (0xFFFDF6FB & 0xFFFF) # ori $t9, $t9, 0xf6fb -/* 05157C 7F01CA4C 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff -/* 051580 7F01CA50 352900B4 */ ori $t1, (0x960000B4 & 0xFFFF) # ori $t1, $t1, 0xb4 -/* 051584 7F01CA54 3C08FA00 */ lui $t0, 0xfa00 -/* 051588 7F01CA58 354A0602 */ ori $t2, (0xBA000602 & 0xFFFF) # ori $t2, $t2, 0x602 -/* 05158C 7F01CA5C AC4E0000 */ sw $t6, ($v0) #$v0 = gfx glist -/* 051590 7F01CA60 AC4F0004 */ sw $t7, 4($v0) -/* 051594 7F01CA64 AC580008 */ sw $t8, 8($v0) -/* 051598 7F01CA68 AC59000C */ sw $t9, 0xc($v0) -/* 05159C 7F01CA6C AC480010 */ sw $t0, 0x10($v0) -/* 0515A0 7F01CA70 AC490014 */ sw $t1, 0x14($v0) -/* 0515A4 7F01CA74 AC4A0018 */ sw $t2, 0x18($v0) -/* 0515A8 7F01CA78 AC40001C */ sw $zero, 0x1c($v0) -/* 0515AC 7F01CA7C 244B0020 */ addiu $t3, $v0, 0x20 -/* 0515B0 7F01CA80 244C0028 */ addiu $t4, $v0, 0x28 -/* 0515B4 7F01CA84 AFAC0030 */ sw $t4, 0x30($sp) -/* 0515B8 7F01CA88 0C001107 */ jal get_video2_settings_txtClipW -/* 0515BC 7F01CA8C AFAB001C */ sw $t3, 0x1c($sp) -/* 0515C0 7F01CA90 0C00110B */ jal get_video2_settings_txtClipH -/* 0515C4 7F01CA94 A7A2001A */ sh $v0, 0x1a($sp) -/* 0515C8 7F01CA98 87B8001A */ lh $t8, 0x1a($sp) -/* 0515CC 7F01CA9C 8FA3001C */ lw $v1, 0x1c($sp) -/* 0515D0 7F01CAA0 304D03FF */ andi $t5, $v0, 0x3ff -/* 0515D4 7F01CAA4 000D7080 */ sll $t6, $t5, 2 -/* 0515D8 7F01CAA8 3C01F600 */ lui $at, 0xf600 -/* 0515DC 7F01CAAC 331903FF */ andi $t9, $t8, 0x3ff -/* 0515E0 7F01CAB0 00194380 */ sll $t0, $t9, 0xe -/* 0515E4 7F01CAB4 01C17825 */ or $t7, $t6, $at -/* 0515E8 7F01CAB8 01E84825 */ or $t1, $t7, $t0 -/* 0515EC 7F01CABC AC690000 */ sw $t1, ($v1) -/* 0515F0 7F01CAC0 AC600004 */ sw $zero, 4($v1) -/* 0515F4 7F01CAC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0515F8 7F01CAC8 8FA20030 */ lw $v0, 0x30($sp) -/* 0515FC 7F01CACC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 051600 7F01CAD0 03E00008 */ jr $ra -/* 051604 7F01CAD4 00000000 */ nop -) -#endif - - - - - - - - diff --git a/src/game/blood_decrypt.c b/src/game/blood_decrypt.c deleted file mode 100644 index 51dc0f6..0000000 --- a/src/game/blood_decrypt.c +++ /dev/null @@ -1,653 +0,0 @@ -#include "ultra64.h" - - - - - -#ifdef NONMATCHING -void decrypt_bleeding_animation_data(void) { - -} -#else -GLOBAL_ASM( -.text -glabel decrypt_bleeding_animation_data -/* 051610 7F01CAE0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 051614 7F01CAE4 AFB30014 */ sw $s3, 0x14($sp) -/* 051618 7F01CAE8 AFB20010 */ sw $s2, 0x10($sp) -/* 05161C 7F01CAEC AFB1000C */ sw $s1, 0xc($sp) -/* 051620 7F01CAF0 AFB00008 */ sw $s0, 8($sp) -/* 051624 7F01CAF4 AFA5001C */ sw $a1, 0x1c($sp) -/* 051628 7F01CAF8 AFA60020 */ sw $a2, 0x20($sp) -/* 05162C 7F01CAFC 90820000 */ lbu $v0, ($a0) -/* 051630 7F01CB00 8FAF0028 */ lw $t7, 0x28($sp) -/* 051634 7F01CB04 00E08025 */ move $s0, $a3 -/* 051638 7F01CB08 30D100FF */ andi $s1, $a2, 0xff -/* 05163C 7F01CB0C 30A900FF */ andi $t1, $a1, 0xff -/* 051640 7F01CB10 24840001 */ addiu $a0, $a0, 1 -/* 051644 7F01CB14 241200FF */ li $s2, 255 -/* 051648 7F01CB18 241300FF */ li $s3, 255 -/* 05164C 7F01CB1C A1E20000 */ sb $v0, ($t7) -/* 051650 7F01CB20 90850000 */ lbu $a1, ($a0) -.L7F01CB24: -/* 051654 7F01CB24 24840001 */ addiu $a0, $a0, 1 -/* 051658 7F01CB28 326600FF */ andi $a2, $s3, 0xff -/* 05165C 7F01CB2C 1645002B */ bne $s2, $a1, .L7F01CBDC -/* 051660 7F01CB30 30B8001F */ andi $t8, $a1, 0x1f -/* 051664 7F01CB34 90830000 */ lbu $v1, ($a0) -/* 051668 7F01CB38 00003825 */ move $a3, $zero -/* 05166C 7F01CB3C 24840001 */ addiu $a0, $a0, 1 -/* 051670 7F01CB40 12430016 */ beq $s2, $v1, .L7F01CB9C -/* 051674 7F01CB44 00602825 */ move $a1, $v1 -.L7F01CB48: -/* 051678 7F01CB48 00E53821 */ addu $a3, $a3, $a1 -/* 05167C 7F01CB4C 2463FFFF */ addiu $v1, $v1, -1 -/* 051680 7F01CB50 30F800FF */ andi $t8, $a3, 0xff -/* 051684 7F01CB54 307900FF */ andi $t9, $v1, 0xff -/* 051688 7F01CB58 0005402A */ slt $t0, $zero, $a1 -/* 05168C 7F01CB5C 03003825 */ move $a3, $t8 -/* 051690 7F01CB60 11000008 */ beqz $t0, .L7F01CB84 -/* 051694 7F01CB64 03201825 */ move $v1, $t9 -.L7F01CB68: -/* 051698 7F01CB68 0003402A */ slt $t0, $zero, $v1 -/* 05169C 7F01CB6C 2463FFFF */ addiu $v1, $v1, -1 -/* 0516A0 7F01CB70 306E00FF */ andi $t6, $v1, 0xff -/* 0516A4 7F01CB74 01C01825 */ move $v1, $t6 -/* 0516A8 7F01CB78 A2060000 */ sb $a2, ($s0) -/* 0516AC 7F01CB7C 1500FFFA */ bnez $t0, .L7F01CB68 -/* 0516B0 7F01CB80 26100001 */ addiu $s0, $s0, 1 -.L7F01CB84: -/* 0516B4 7F01CB84 90830000 */ lbu $v1, ($a0) -/* 0516B8 7F01CB88 38CF00FF */ xori $t7, $a2, 0xff -/* 0516BC 7F01CB8C 31E600FF */ andi $a2, $t7, 0xff -/* 0516C0 7F01CB90 24840001 */ addiu $a0, $a0, 1 -/* 0516C4 7F01CB94 1643FFEC */ bne $s2, $v1, .L7F01CB48 -/* 0516C8 7F01CB98 00602825 */ move $a1, $v1 -.L7F01CB9C: -/* 0516CC 7F01CB9C 00E9402A */ slt $t0, $a3, $t1 -/* 0516D0 7F01CBA0 24E70001 */ addiu $a3, $a3, 1 -/* 0516D4 7F01CBA4 30F900FF */ andi $t9, $a3, 0xff -/* 0516D8 7F01CBA8 11000008 */ beqz $t0, .L7F01CBCC -/* 0516DC 7F01CBAC 03203825 */ move $a3, $t9 -.L7F01CBB0: -/* 0516E0 7F01CBB0 00E9402A */ slt $t0, $a3, $t1 -/* 0516E4 7F01CBB4 24E70001 */ addiu $a3, $a3, 1 -/* 0516E8 7F01CBB8 30EE00FF */ andi $t6, $a3, 0xff -/* 0516EC 7F01CBBC 01C03825 */ move $a3, $t6 -/* 0516F0 7F01CBC0 A2060000 */ sb $a2, ($s0) -/* 0516F4 7F01CBC4 1500FFFA */ bnez $t0, .L7F01CBB0 -/* 0516F8 7F01CBC8 26100001 */ addiu $s0, $s0, 1 -.L7F01CBCC: -/* 0516FC 7F01CBCC 2631FFFF */ addiu $s1, $s1, -1 -/* 051700 7F01CBD0 322F00FF */ andi $t7, $s1, 0xff -/* 051704 7F01CBD4 10000026 */ b .L7F01CC70 -/* 051708 7F01CBD8 01E08825 */ move $s1, $t7 -.L7F01CBDC: -/* 05170C 7F01CBDC 00583821 */ addu $a3, $v0, $t8 -/* 051710 7F01CBE0 00051943 */ sra $v1, $a1, 5 -/* 051714 7F01CBE4 30F900FF */ andi $t9, $a3, 0xff -/* 051718 7F01CBE8 24630001 */ addiu $v1, $v1, 1 -/* 05171C 7F01CBEC 306E00FF */ andi $t6, $v1, 0xff -/* 051720 7F01CBF0 01393023 */ subu $a2, $t1, $t9 -/* 051724 7F01CBF4 022E8823 */ subu $s1, $s1, $t6 -/* 051728 7F01CBF8 30D800FF */ andi $t8, $a2, 0xff -/* 05172C 7F01CBFC 322F00FF */ andi $t7, $s1, 0xff -/* 051730 7F01CC00 01C01825 */ move $v1, $t6 -/* 051734 7F01CC04 01E08825 */ move $s1, $t7 -/* 051738 7F01CC08 0018602A */ slt $t4, $zero, $t8 -/* 05173C 7F01CC0C 270DFFFF */ addiu $t5, $t8, -1 -/* 051740 7F01CC10 0019502A */ slt $t2, $zero, $t9 -/* 051744 7F01CC14 272BFFFF */ addiu $t3, $t9, -1 -.L7F01CC18: -/* 051748 7F01CC18 11400008 */ beqz $t2, .L7F01CC3C -/* 05174C 7F01CC1C 316600FF */ andi $a2, $t3, 0xff -.L7F01CC20: -/* 051750 7F01CC20 0006402A */ slt $t0, $zero, $a2 -/* 051754 7F01CC24 24C6FFFF */ addiu $a2, $a2, -1 -/* 051758 7F01CC28 30D900FF */ andi $t9, $a2, 0xff -/* 05175C 7F01CC2C 03203025 */ move $a2, $t9 -/* 051760 7F01CC30 A2130000 */ sb $s3, ($s0) -/* 051764 7F01CC34 1500FFFA */ bnez $t0, .L7F01CC20 -/* 051768 7F01CC38 26100001 */ addiu $s0, $s0, 1 -.L7F01CC3C: -/* 05176C 7F01CC3C 11800008 */ beqz $t4, .L7F01CC60 -/* 051770 7F01CC40 31A600FF */ andi $a2, $t5, 0xff -.L7F01CC44: -/* 051774 7F01CC44 0006402A */ slt $t0, $zero, $a2 -/* 051778 7F01CC48 24C6FFFF */ addiu $a2, $a2, -1 -/* 05177C 7F01CC4C 30CE00FF */ andi $t6, $a2, 0xff -/* 051780 7F01CC50 01C03025 */ move $a2, $t6 -/* 051784 7F01CC54 A2000000 */ sb $zero, ($s0) -/* 051788 7F01CC58 1500FFFA */ bnez $t0, .L7F01CC44 -/* 05178C 7F01CC5C 26100001 */ addiu $s0, $s0, 1 -.L7F01CC60: -/* 051790 7F01CC60 2463FFFF */ addiu $v1, $v1, -1 -/* 051794 7F01CC64 306F00FF */ andi $t7, $v1, 0xff -/* 051798 7F01CC68 1DE0FFEB */ bgtz $t7, .L7F01CC18 -/* 05179C 7F01CC6C 01E01825 */ move $v1, $t7 -.L7F01CC70: -/* 0517A0 7F01CC70 5E20FFAC */ bgtzl $s1, .L7F01CB24 -/* 0517A4 7F01CC74 90850000 */ lbu $a1, ($a0) -/* 0517A8 7F01CC78 8FB00008 */ lw $s0, 8($sp) -/* 0517AC 7F01CC7C 8FB1000C */ lw $s1, 0xc($sp) -/* 0517B0 7F01CC80 8FB20010 */ lw $s2, 0x10($sp) -/* 0517B4 7F01CC84 8FB30014 */ lw $s3, 0x14($sp) -/* 0517B8 7F01CC88 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0517BC 7F01CC8C 03E00008 */ jr $ra -/* 0517C0 7F01CC90 00801025 */ move $v0, $a0 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01CC94(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01CC94 -/* 0517C4 7F01CC94 AFA50004 */ sw $a1, 4($sp) -/* 0517C8 7F01CC98 30AEFFFF */ andi $t6, $a1, 0xffff -/* 0517CC 7F01CC9C 25C5FFFF */ addiu $a1, $t6, -1 -/* 0517D0 7F01CCA0 30AFFFFF */ andi $t7, $a1, 0xffff -/* 0517D4 7F01CCA4 000E102A */ slt $v0, $zero, $t6 -/* 0517D8 7F01CCA8 1040000E */ beqz $v0, .L7F01CCE4 -/* 0517DC 7F01CCAC 01E02825 */ move $a1, $t7 -.L7F01CCB0: -/* 0517E0 7F01CCB0 90980001 */ lbu $t8, 1($a0) -/* 0517E4 7F01CCB4 90880000 */ lbu $t0, ($a0) -/* 0517E8 7F01CCB8 0005102A */ slt $v0, $zero, $a1 -/* 0517EC 7F01CCBC 24A5FFFF */ addiu $a1, $a1, -1 -/* 0517F0 7F01CCC0 0018C903 */ sra $t9, $t8, 4 -/* 0517F4 7F01CCC4 310900F0 */ andi $t1, $t0, 0xf0 -/* 0517F8 7F01CCC8 03295025 */ or $t2, $t9, $t1 -/* 0517FC 7F01CCCC 30ABFFFF */ andi $t3, $a1, 0xffff -/* 051800 7F01CCD0 A0CA0000 */ sb $t2, ($a2) -/* 051804 7F01CCD4 24C60001 */ addiu $a2, $a2, 1 -/* 051808 7F01CCD8 01602825 */ move $a1, $t3 -/* 05180C 7F01CCDC 1440FFF4 */ bnez $v0, .L7F01CCB0 -/* 051810 7F01CCE0 24840002 */ addiu $a0, $a0, 2 -.L7F01CCE4: -/* 051814 7F01CCE4 03E00008 */ jr $ra -/* 051818 7F01CCE8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01CCEC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01CCEC -/* 05181C 7F01CCEC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 051820 7F01CCF0 30CF00FF */ andi $t7, $a2, 0xff -/* 051824 7F01CCF4 AFBE0024 */ sw $fp, 0x24($sp) -/* 051828 7F01CCF8 AFB70020 */ sw $s7, 0x20($sp) -/* 05182C 7F01CCFC AFB6001C */ sw $s6, 0x1c($sp) -/* 051830 7F01CD00 AFB50018 */ sw $s5, 0x18($sp) -/* 051834 7F01CD04 AFB40014 */ sw $s4, 0x14($sp) -/* 051838 7F01CD08 AFB30010 */ sw $s3, 0x10($sp) -/* 05183C 7F01CD0C AFB2000C */ sw $s2, 0xc($sp) -/* 051840 7F01CD10 AFB10008 */ sw $s1, 8($sp) -/* 051844 7F01CD14 AFB00004 */ sw $s0, 4($sp) -/* 051848 7F01CD18 AFA5002C */ sw $a1, 0x2c($sp) -/* 05184C 7F01CD1C AFA60030 */ sw $a2, 0x30($sp) -/* 051850 7F01CD20 30AE00FF */ andi $t6, $a1, 0xff -/* 051854 7F01CD24 01E01825 */ move $v1, $t7 -/* 051858 7F01CD28 19E00065 */ blez $t7, .L7F01CEC0 -/* 05185C 7F01CD2C 00001025 */ move $v0, $zero -/* 051860 7F01CD30 01C03025 */ move $a2, $t6 -/* 051864 7F01CD34 93AA003B */ lbu $t2, 0x3b($sp) -.L7F01CD38: -/* 051868 7F01CD38 18C0005B */ blez $a2, .L7F01CEA8 -/* 05186C 7F01CD3C 00002825 */ move $a1, $zero -/* 051870 7F01CD40 00460019 */ multu $v0, $a2 -/* 051874 7F01CD44 01405825 */ move $t3, $t2 -/* 051878 7F01CD48 004A6023 */ subu $t4, $v0, $t2 -/* 05187C 7F01CD4C 2470FFFF */ addiu $s0, $v1, -1 -/* 051880 7F01CD50 004A8821 */ addu $s1, $v0, $t2 -/* 051884 7F01CD54 0000F012 */ mflo $fp -/* 051888 7F01CD58 00000000 */ nop -/* 05188C 7F01CD5C 00000000 */ nop -/* 051890 7F01CD60 00004025 */ move $t0, $zero -.L7F01CD64: -/* 051894 7F01CD64 05810003 */ bgez $t4, .L7F01CD74 -/* 051898 7F01CD68 00004825 */ move $t1, $zero -/* 05189C 7F01CD6C 10000004 */ b .L7F01CD80 -/* 0518A0 7F01CD70 00006825 */ move $t5, $zero -.L7F01CD74: -/* 0518A4 7F01CD74 000C6C00 */ sll $t5, $t4, 0x10 -/* 0518A8 7F01CD78 000DC403 */ sra $t8, $t5, 0x10 -/* 0518AC 7F01CD7C 03006825 */ move $t5, $t8 -.L7F01CD80: -/* 0518B0 7F01CD80 0211082A */ slt $at, $s0, $s1 -/* 0518B4 7F01CD84 10200003 */ beqz $at, .L7F01CD94 -/* 0518B8 7F01CD88 02209025 */ move $s2, $s1 -/* 0518BC 7F01CD8C 10000001 */ b .L7F01CD94 -/* 0518C0 7F01CD90 02009025 */ move $s2, $s0 -.L7F01CD94: -/* 0518C4 7F01CD94 024D082A */ slt $at, $s2, $t5 -/* 0518C8 7F01CD98 54200033 */ bnezl $at, .L7F01CE68 -/* 0518CC 7F01CD9C 0008C842 */ srl $t9, $t0, 1 -/* 0518D0 7F01CDA0 00AB9823 */ subu $s3, $a1, $t3 -/* 0518D4 7F01CDA4 24D5FFFF */ addiu $s5, $a2, -1 -/* 0518D8 7F01CDA8 00ABB021 */ addu $s6, $a1, $t3 -.L7F01CDAC: -/* 0518DC 7F01CDAC 06610003 */ bgez $s3, .L7F01CDBC -/* 0518E0 7F01CDB0 02B6082A */ slt $at, $s5, $s6 -/* 0518E4 7F01CDB4 10000004 */ b .L7F01CDC8 -/* 0518E8 7F01CDB8 0000A025 */ move $s4, $zero -.L7F01CDBC: -/* 0518EC 7F01CDBC 0013A400 */ sll $s4, $s3, 0x10 -/* 0518F0 7F01CDC0 0014CC03 */ sra $t9, $s4, 0x10 -/* 0518F4 7F01CDC4 0320A025 */ move $s4, $t9 -.L7F01CDC8: -/* 0518F8 7F01CDC8 10200003 */ beqz $at, .L7F01CDD8 -/* 0518FC 7F01CDCC 02C09025 */ move $s2, $s6 -/* 051900 7F01CDD0 10000001 */ b .L7F01CDD8 -/* 051904 7F01CDD4 02A09025 */ move $s2, $s5 -.L7F01CDD8: -/* 051908 7F01CDD8 0254082A */ slt $at, $s2, $s4 -/* 05190C 7F01CDDC 54200016 */ bnezl $at, .L7F01CE38 -/* 051910 7F01CDE0 25AD0001 */ addiu $t5, $t5, 1 -/* 051914 7F01CDE4 01A60019 */ multu $t5, $a2 -/* 051918 7F01CDE8 0000B812 */ mflo $s7 -/* 05191C 7F01CDEC 00000000 */ nop -/* 051920 7F01CDF0 00000000 */ nop -/* 051924 7F01CDF4 00947021 */ addu $t6, $a0, $s4 -.L7F01CDF8: -/* 051928 7F01CDF8 01D77821 */ addu $t7, $t6, $s7 -/* 05192C 7F01CDFC 91F80000 */ lbu $t8, ($t7) -/* 051930 7F01CE00 26940001 */ addiu $s4, $s4, 1 -/* 051934 7F01CE04 0014CC00 */ sll $t9, $s4, 0x10 -/* 051938 7F01CE08 02B6082A */ slt $at, $s5, $s6 -/* 05193C 7F01CE0C 0019A403 */ sra $s4, $t9, 0x10 -/* 051940 7F01CE10 25080001 */ addiu $t0, $t0, 1 -/* 051944 7F01CE14 10200003 */ beqz $at, .L7F01CE24 -/* 051948 7F01CE18 01384821 */ addu $t1, $t1, $t8 -/* 05194C 7F01CE1C 10000002 */ b .L7F01CE28 -/* 051950 7F01CE20 02A09025 */ move $s2, $s5 -.L7F01CE24: -/* 051954 7F01CE24 02C09025 */ move $s2, $s6 -.L7F01CE28: -/* 051958 7F01CE28 0254082A */ slt $at, $s2, $s4 -/* 05195C 7F01CE2C 5020FFF2 */ beql $at, $zero, .L7F01CDF8 -/* 051960 7F01CE30 00947021 */ addu $t6, $a0, $s4 -/* 051964 7F01CE34 25AD0001 */ addiu $t5, $t5, 1 -.L7F01CE38: -/* 051968 7F01CE38 000D7C00 */ sll $t7, $t5, 0x10 -/* 05196C 7F01CE3C 000FC403 */ sra $t8, $t7, 0x10 -/* 051970 7F01CE40 0211082A */ slt $at, $s0, $s1 -/* 051974 7F01CE44 10200003 */ beqz $at, .L7F01CE54 -/* 051978 7F01CE48 03006825 */ move $t5, $t8 -/* 05197C 7F01CE4C 10000002 */ b .L7F01CE58 -/* 051980 7F01CE50 02009025 */ move $s2, $s0 -.L7F01CE54: -/* 051984 7F01CE54 02209025 */ move $s2, $s1 -.L7F01CE58: -/* 051988 7F01CE58 024D082A */ slt $at, $s2, $t5 -/* 05198C 7F01CE5C 1020FFD3 */ beqz $at, .L7F01CDAC -/* 051990 7F01CE60 00000000 */ nop -/* 051994 7F01CE64 0008C842 */ srl $t9, $t0, 1 -.L7F01CE68: -/* 051998 7F01CE68 03297021 */ addu $t6, $t9, $t1 -/* 05199C 7F01CE6C 01C8001B */ divu $zero, $t6, $t0 -/* 0519A0 7F01CE70 00E5C021 */ addu $t8, $a3, $a1 -/* 0519A4 7F01CE74 24A50001 */ addiu $a1, $a1, 1 -/* 0519A8 7F01CE78 00057400 */ sll $t6, $a1, 0x10 -/* 0519AC 7F01CE7C 031EC821 */ addu $t9, $t8, $fp -/* 0519B0 7F01CE80 000EC403 */ sra $t8, $t6, 0x10 -/* 0519B4 7F01CE84 0306082A */ slt $at, $t8, $a2 -/* 0519B8 7F01CE88 00007812 */ mflo $t7 -/* 0519BC 7F01CE8C 03002825 */ move $a1, $t8 -/* 0519C0 7F01CE90 15000002 */ bnez $t0, .L7F01CE9C -/* 0519C4 7F01CE94 00000000 */ nop -/* 0519C8 7F01CE98 0007000D */ break 7 -.L7F01CE9C: -/* 0519CC 7F01CE9C A32F0000 */ sb $t7, ($t9) -/* 0519D0 7F01CEA0 5420FFB0 */ bnezl $at, .L7F01CD64 -/* 0519D4 7F01CEA4 00004025 */ move $t0, $zero -.L7F01CEA8: -/* 0519D8 7F01CEA8 24420001 */ addiu $v0, $v0, 1 -/* 0519DC 7F01CEAC 00027C00 */ sll $t7, $v0, 0x10 -/* 0519E0 7F01CEB0 000F1403 */ sra $v0, $t7, 0x10 -/* 0519E4 7F01CEB4 0043082A */ slt $at, $v0, $v1 -/* 0519E8 7F01CEB8 1420FF9F */ bnez $at, .L7F01CD38 -/* 0519EC 7F01CEBC 00000000 */ nop -.L7F01CEC0: -/* 0519F0 7F01CEC0 8FB00004 */ lw $s0, 4($sp) -/* 0519F4 7F01CEC4 8FB10008 */ lw $s1, 8($sp) -/* 0519F8 7F01CEC8 8FB2000C */ lw $s2, 0xc($sp) -/* 0519FC 7F01CECC 8FB30010 */ lw $s3, 0x10($sp) -/* 051A00 7F01CED0 8FB40014 */ lw $s4, 0x14($sp) -/* 051A04 7F01CED4 8FB50018 */ lw $s5, 0x18($sp) -/* 051A08 7F01CED8 8FB6001C */ lw $s6, 0x1c($sp) -/* 051A0C 7F01CEDC 8FB70020 */ lw $s7, 0x20($sp) -/* 051A10 7F01CEE0 8FBE0024 */ lw $fp, 0x24($sp) -/* 051A14 7F01CEE4 03E00008 */ jr $ra -/* 051A18 7F01CEE8 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01CEEC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01CEEC -/* 051A1C 7F01CEEC 24A3FFFF */ addiu $v1, $a1, -1 -/* 051A20 7F01CEF0 28610002 */ slti $at, $v1, 2 -/* 051A24 7F01CEF4 24840061 */ addiu $a0, $a0, 0x61 -/* 051A28 7F01CEF8 24C60061 */ addiu $a2, $a2, 0x61 -/* 051A2C 7F01CEFC 14200049 */ bnez $at, .L7F01D024 -/* 051A30 7F01CF00 24020001 */ li $v0, 1 -/* 051A34 7F01CF04 2407005F */ li $a3, 95 -.L7F01CF08: -/* 051A38 7F01CF08 908EFFA0 */ lbu $t6, -0x60($a0) -/* 051A3C 7F01CF0C 908FFFFF */ lbu $t7, -1($a0) -/* 051A40 7F01CF10 90990000 */ lbu $t9, ($a0) -/* 051A44 7F01CF14 9089FF9F */ lbu $t1, -0x61($a0) -/* 051A48 7F01CF18 01CFC021 */ addu $t8, $t6, $t7 -/* 051A4C 7F01CF1C 03194021 */ addu $t0, $t8, $t9 -/* 051A50 7F01CF20 01095021 */ addu $t2, $t0, $t1 -/* 051A54 7F01CF24 254B0002 */ addiu $t3, $t2, 2 -/* 051A58 7F01CF28 000B6083 */ sra $t4, $t3, 2 -/* 051A5C 7F01CF2C A0CC0000 */ sb $t4, ($a2) -/* 051A60 7F01CF30 908E0000 */ lbu $t6, ($a0) -/* 051A64 7F01CF34 908DFFA1 */ lbu $t5, -0x5f($a0) -/* 051A68 7F01CF38 90980001 */ lbu $t8, 1($a0) -/* 051A6C 7F01CF3C 9088FFA0 */ lbu $t0, -0x60($a0) -/* 051A70 7F01CF40 01AE7821 */ addu $t7, $t5, $t6 -/* 051A74 7F01CF44 01F8C821 */ addu $t9, $t7, $t8 -/* 051A78 7F01CF48 03284821 */ addu $t1, $t9, $t0 -/* 051A7C 7F01CF4C 252A0002 */ addiu $t2, $t1, 2 -/* 051A80 7F01CF50 000A5883 */ sra $t3, $t2, 2 -/* 051A84 7F01CF54 A0CB0001 */ sb $t3, 1($a2) -/* 051A88 7F01CF58 24050003 */ li $a1, 3 -/* 051A8C 7F01CF5C 24C60002 */ addiu $a2, $a2, 2 -/* 051A90 7F01CF60 24840002 */ addiu $a0, $a0, 2 -.L7F01CF64: -/* 051A94 7F01CF64 908CFFA0 */ lbu $t4, -0x60($a0) -/* 051A98 7F01CF68 908DFFFF */ lbu $t5, -1($a0) -/* 051A9C 7F01CF6C 908F0000 */ lbu $t7, ($a0) -/* 051AA0 7F01CF70 9099FF9F */ lbu $t9, -0x61($a0) -/* 051AA4 7F01CF74 018D7021 */ addu $t6, $t4, $t5 -/* 051AA8 7F01CF78 01CFC021 */ addu $t8, $t6, $t7 -/* 051AAC 7F01CF7C 03194021 */ addu $t0, $t8, $t9 -/* 051AB0 7F01CF80 25090002 */ addiu $t1, $t0, 2 -/* 051AB4 7F01CF84 00095083 */ sra $t2, $t1, 2 -/* 051AB8 7F01CF88 A0CA0000 */ sb $t2, ($a2) -/* 051ABC 7F01CF8C 908BFFA1 */ lbu $t3, -0x5f($a0) -/* 051AC0 7F01CF90 908C0000 */ lbu $t4, ($a0) -/* 051AC4 7F01CF94 908E0001 */ lbu $t6, 1($a0) -/* 051AC8 7F01CF98 9098FFA0 */ lbu $t8, -0x60($a0) -/* 051ACC 7F01CF9C 016C6821 */ addu $t5, $t3, $t4 -/* 051AD0 7F01CFA0 01AE7821 */ addu $t7, $t5, $t6 -/* 051AD4 7F01CFA4 01F8C821 */ addu $t9, $t7, $t8 -/* 051AD8 7F01CFA8 27280002 */ addiu $t0, $t9, 2 -/* 051ADC 7F01CFAC 00084883 */ sra $t1, $t0, 2 -/* 051AE0 7F01CFB0 A0C90001 */ sb $t1, 1($a2) -/* 051AE4 7F01CFB4 908AFFA2 */ lbu $t2, -0x5e($a0) -/* 051AE8 7F01CFB8 908B0001 */ lbu $t3, 1($a0) -/* 051AEC 7F01CFBC 908D0002 */ lbu $t5, 2($a0) -/* 051AF0 7F01CFC0 908FFFA1 */ lbu $t7, -0x5f($a0) -/* 051AF4 7F01CFC4 014B6021 */ addu $t4, $t2, $t3 -/* 051AF8 7F01CFC8 018D7021 */ addu $t6, $t4, $t5 -/* 051AFC 7F01CFCC 01CFC021 */ addu $t8, $t6, $t7 -/* 051B00 7F01CFD0 27190002 */ addiu $t9, $t8, 2 -/* 051B04 7F01CFD4 00194083 */ sra $t0, $t9, 2 -/* 051B08 7F01CFD8 A0C80002 */ sb $t0, 2($a2) -/* 051B0C 7F01CFDC 908A0002 */ lbu $t2, 2($a0) -/* 051B10 7F01CFE0 9089FFA3 */ lbu $t1, -0x5d($a0) -/* 051B14 7F01CFE4 908C0003 */ lbu $t4, 3($a0) -/* 051B18 7F01CFE8 908EFFA2 */ lbu $t6, -0x5e($a0) -/* 051B1C 7F01CFEC 012A5821 */ addu $t3, $t1, $t2 -/* 051B20 7F01CFF0 016C6821 */ addu $t5, $t3, $t4 -/* 051B24 7F01CFF4 01AE7821 */ addu $t7, $t5, $t6 -/* 051B28 7F01CFF8 25F80002 */ addiu $t8, $t7, 2 -/* 051B2C 7F01CFFC 0018C883 */ sra $t9, $t8, 2 -/* 051B30 7F01D000 24A50004 */ addiu $a1, $a1, 4 -/* 051B34 7F01D004 A0D90003 */ sb $t9, 3($a2) -/* 051B38 7F01D008 24C60004 */ addiu $a2, $a2, 4 -/* 051B3C 7F01D00C 14A7FFD5 */ bne $a1, $a3, .L7F01CF64 -/* 051B40 7F01D010 24840004 */ addiu $a0, $a0, 4 -/* 051B44 7F01D014 24420001 */ addiu $v0, $v0, 1 -/* 051B48 7F01D018 24C60002 */ addiu $a2, $a2, 2 -/* 051B4C 7F01D01C 1443FFBA */ bne $v0, $v1, .L7F01CF08 -/* 051B50 7F01D020 24840002 */ addiu $a0, $a0, 2 -.L7F01D024: -/* 051B54 7F01D024 03E00008 */ jr $ra -/* 051B58 7F01D028 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01D02C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01D02C -/* 051B5C 7F01D02C 24A3FFFF */ addiu $v1, $a1, -1 -/* 051B60 7F01D030 28610002 */ slti $at, $v1, 2 -/* 051B64 7F01D034 24840061 */ addiu $a0, $a0, 0x61 -/* 051B68 7F01D038 24C60061 */ addiu $a2, $a2, 0x61 -/* 051B6C 7F01D03C 14200049 */ bnez $at, .L7F01D164 -/* 051B70 7F01D040 24020001 */ li $v0, 1 -/* 051B74 7F01D044 2407005F */ li $a3, 95 -.L7F01D048: -/* 051B78 7F01D048 908E0060 */ lbu $t6, 0x60($a0) -/* 051B7C 7F01D04C 908F0001 */ lbu $t7, 1($a0) -/* 051B80 7F01D050 90990000 */ lbu $t9, ($a0) -/* 051B84 7F01D054 90890061 */ lbu $t1, 0x61($a0) -/* 051B88 7F01D058 01CFC021 */ addu $t8, $t6, $t7 -/* 051B8C 7F01D05C 03194021 */ addu $t0, $t8, $t9 -/* 051B90 7F01D060 01095021 */ addu $t2, $t0, $t1 -/* 051B94 7F01D064 254B0002 */ addiu $t3, $t2, 2 -/* 051B98 7F01D068 000B6083 */ sra $t4, $t3, 2 -/* 051B9C 7F01D06C A0CC0000 */ sb $t4, ($a2) -/* 051BA0 7F01D070 908E0002 */ lbu $t6, 2($a0) -/* 051BA4 7F01D074 908D0061 */ lbu $t5, 0x61($a0) -/* 051BA8 7F01D078 90980001 */ lbu $t8, 1($a0) -/* 051BAC 7F01D07C 90880062 */ lbu $t0, 0x62($a0) -/* 051BB0 7F01D080 01AE7821 */ addu $t7, $t5, $t6 -/* 051BB4 7F01D084 01F8C821 */ addu $t9, $t7, $t8 -/* 051BB8 7F01D088 03284821 */ addu $t1, $t9, $t0 -/* 051BBC 7F01D08C 252A0002 */ addiu $t2, $t1, 2 -/* 051BC0 7F01D090 000A5883 */ sra $t3, $t2, 2 -/* 051BC4 7F01D094 A0CB0001 */ sb $t3, 1($a2) -/* 051BC8 7F01D098 24050003 */ li $a1, 3 -/* 051BCC 7F01D09C 24C60002 */ addiu $a2, $a2, 2 -/* 051BD0 7F01D0A0 24840002 */ addiu $a0, $a0, 2 -.L7F01D0A4: -/* 051BD4 7F01D0A4 908C0060 */ lbu $t4, 0x60($a0) -/* 051BD8 7F01D0A8 908D0001 */ lbu $t5, 1($a0) -/* 051BDC 7F01D0AC 908F0000 */ lbu $t7, ($a0) -/* 051BE0 7F01D0B0 90990061 */ lbu $t9, 0x61($a0) -/* 051BE4 7F01D0B4 018D7021 */ addu $t6, $t4, $t5 -/* 051BE8 7F01D0B8 01CFC021 */ addu $t8, $t6, $t7 -/* 051BEC 7F01D0BC 03194021 */ addu $t0, $t8, $t9 -/* 051BF0 7F01D0C0 25090002 */ addiu $t1, $t0, 2 -/* 051BF4 7F01D0C4 00095083 */ sra $t2, $t1, 2 -/* 051BF8 7F01D0C8 A0CA0000 */ sb $t2, ($a2) -/* 051BFC 7F01D0CC 908C0002 */ lbu $t4, 2($a0) -/* 051C00 7F01D0D0 908B0061 */ lbu $t3, 0x61($a0) -/* 051C04 7F01D0D4 908E0001 */ lbu $t6, 1($a0) -/* 051C08 7F01D0D8 90980062 */ lbu $t8, 0x62($a0) -/* 051C0C 7F01D0DC 016C6821 */ addu $t5, $t3, $t4 -/* 051C10 7F01D0E0 01AE7821 */ addu $t7, $t5, $t6 -/* 051C14 7F01D0E4 01F8C821 */ addu $t9, $t7, $t8 -/* 051C18 7F01D0E8 27280002 */ addiu $t0, $t9, 2 -/* 051C1C 7F01D0EC 00084883 */ sra $t1, $t0, 2 -/* 051C20 7F01D0F0 A0C90001 */ sb $t1, 1($a2) -/* 051C24 7F01D0F4 908B0003 */ lbu $t3, 3($a0) -/* 051C28 7F01D0F8 908A0062 */ lbu $t2, 0x62($a0) -/* 051C2C 7F01D0FC 908D0002 */ lbu $t5, 2($a0) -/* 051C30 7F01D100 908F0063 */ lbu $t7, 0x63($a0) -/* 051C34 7F01D104 014B6021 */ addu $t4, $t2, $t3 -/* 051C38 7F01D108 018D7021 */ addu $t6, $t4, $t5 -/* 051C3C 7F01D10C 01CFC021 */ addu $t8, $t6, $t7 -/* 051C40 7F01D110 27190002 */ addiu $t9, $t8, 2 -/* 051C44 7F01D114 00194083 */ sra $t0, $t9, 2 -/* 051C48 7F01D118 A0C80002 */ sb $t0, 2($a2) -/* 051C4C 7F01D11C 908A0004 */ lbu $t2, 4($a0) -/* 051C50 7F01D120 90890063 */ lbu $t1, 0x63($a0) -/* 051C54 7F01D124 908C0003 */ lbu $t4, 3($a0) -/* 051C58 7F01D128 908E0064 */ lbu $t6, 0x64($a0) -/* 051C5C 7F01D12C 012A5821 */ addu $t3, $t1, $t2 -/* 051C60 7F01D130 016C6821 */ addu $t5, $t3, $t4 -/* 051C64 7F01D134 01AE7821 */ addu $t7, $t5, $t6 -/* 051C68 7F01D138 25F80002 */ addiu $t8, $t7, 2 -/* 051C6C 7F01D13C 0018C883 */ sra $t9, $t8, 2 -/* 051C70 7F01D140 24A50004 */ addiu $a1, $a1, 4 -/* 051C74 7F01D144 A0D90003 */ sb $t9, 3($a2) -/* 051C78 7F01D148 24C60004 */ addiu $a2, $a2, 4 -/* 051C7C 7F01D14C 14A7FFD5 */ bne $a1, $a3, .L7F01D0A4 -/* 051C80 7F01D150 24840004 */ addiu $a0, $a0, 4 -/* 051C84 7F01D154 24420001 */ addiu $v0, $v0, 1 -/* 051C88 7F01D158 24C60002 */ addiu $a2, $a2, 2 -/* 051C8C 7F01D15C 1443FFBA */ bne $v0, $v1, .L7F01D048 -/* 051C90 7F01D160 24840002 */ addiu $a0, $a0, 2 -.L7F01D164: -/* 051C94 7F01D164 03E00008 */ jr $ra -/* 051C98 7F01D168 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01D16C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01D16C -/* 051C9C 7F01D16C 00A60019 */ multu $a1, $a2 -/* 051CA0 7F01D170 00801825 */ move $v1, $a0 -/* 051CA4 7F01D174 00E04025 */ move $t0, $a3 -/* 051CA8 7F01D178 00855021 */ addu $t2, $a0, $a1 -/* 051CAC 7F01D17C 00001012 */ mflo $v0 -/* 051CB0 7F01D180 00824821 */ addu $t1, $a0, $v0 -/* 051CB4 7F01D184 00000000 */ nop -.L7F01D188: -/* 051CB8 7F01D188 01402025 */ move $a0, $t2 -.L7F01D18C: -/* 051CBC 7F01D18C 906E0000 */ lbu $t6, ($v1) -/* 051CC0 7F01D190 24630001 */ addiu $v1, $v1, 1 -/* 051CC4 7F01D194 0064082B */ sltu $at, $v1, $a0 -/* 051CC8 7F01D198 A10E0000 */ sb $t6, ($t0) -/* 051CCC 7F01D19C 254A0001 */ addiu $t2, $t2, 1 -/* 051CD0 7F01D1A0 1420FFFA */ bnez $at, .L7F01D18C -/* 051CD4 7F01D1A4 01064021 */ addu $t0, $t0, $a2 -/* 051CD8 7F01D1A8 01024023 */ subu $t0, $t0, $v0 -/* 051CDC 7F01D1AC 0069082B */ sltu $at, $v1, $t1 -/* 051CE0 7F01D1B0 1420FFF5 */ bnez $at, .L7F01D188 -/* 051CE4 7F01D1B4 25080001 */ addiu $t0, $t0, 1 -/* 051CE8 7F01D1B8 03E00008 */ jr $ra -/* 051CEC 7F01D1BC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01D1C0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01D1C0 -/* 051CF0 7F01D1C0 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 051CF4 7F01D1C4 240C00FF */ li $t4, 255 -/* 051CF8 7F01D1C8 90880000 */ lbu $t0, ($a0) -/* 051CFC 7F01D1CC 24840001 */ addiu $a0, $a0, 1 -.L7F01D1D0: -/* 051D00 7F01D1D0 90890000 */ lbu $t1, ($a0) -/* 051D04 7F01D1D4 24840001 */ addiu $a0, $a0, 1 -/* 051D08 7F01D1D8 152C001A */ bne $t1, $t4, .L7F01D244 -/* 051D0C 7F01D1DC 240B00FF */ li $t3, 255 -/* 051D10 7F01D1E0 90890000 */ lbu $t1, ($a0) -/* 051D14 7F01D1E4 240A0000 */ li $t2, 0 -/* 051D18 7F01D1E8 112C000C */ beq $t1, $t4, .L7F01D21C -/* 051D1C 7F01D1EC 24840001 */ addiu $a0, $a0, 1 -.L7F01D1F0: -/* 051D20 7F01D1F0 01495021 */ addu $t2, $t2, $t1 -/* 051D24 7F01D1F4 19200005 */ blez $t1, .L7F01D20C -/* 051D28 7F01D1F8 2529FFFF */ addiu $t1, $t1, -1 -.L7F01D1FC: -/* 051D2C 7F01D1FC A0EB0000 */ sb $t3, ($a3) -/* 051D30 7F01D200 24E70001 */ addiu $a3, $a3, 1 -/* 051D34 7F01D204 1D20FFFD */ bgtz $t1, .L7F01D1FC -/* 051D38 7F01D208 2529FFFF */ addiu $t1, $t1, -1 -.L7F01D20C: -/* 051D3C 7F01D20C 90890000 */ lbu $t1, ($a0) -/* 051D40 7F01D210 396B00FF */ xori $t3, $t3, 0xff -/* 051D44 7F01D214 152CFFF6 */ bne $t1, $t4, .L7F01D1F0 -/* 051D48 7F01D218 24840001 */ addiu $a0, $a0, 1 -.L7F01D21C: -/* 051D4C 7F01D21C 0145082A */ slt $at, $t2, $a1 -/* 051D50 7F01D220 10200006 */ beqz $at, .L7F01D23C -/* 051D54 7F01D224 254A0001 */ addiu $t2, $t2, 1 -.L7F01D228: -/* 051D58 7F01D228 A0EB0000 */ sb $t3, ($a3) -/* 051D5C 7F01D22C 24E70001 */ addiu $a3, $a3, 1 -/* 051D60 7F01D230 0145082A */ slt $at, $t2, $a1 -/* 051D64 7F01D234 1420FFFC */ bnez $at, .L7F01D228 -/* 051D68 7F01D238 254A0001 */ addiu $t2, $t2, 1 -.L7F01D23C: -/* 051D6C 7F01D23C 0BC074A7 */ j func_7F01D29C -/* 051D70 7F01D240 24C6FFFF */ addiu $a2, $a2, -1 - -.L7F01D244: -/* 051D74 7F01D244 312A001F */ andi $t2, $t1, 0x1f -/* 051D78 7F01D248 01485021 */ addu $t2, $t2, $t0 -/* 051D7C 7F01D24C 00094942 */ srl $t1, $t1, 5 -/* 051D80 7F01D250 25290001 */ addiu $t1, $t1, 1 -/* 051D84 7F01D254 00C93023 */ subu $a2, $a2, $t1 -.L7F01D258: -/* 051D88 7F01D258 01405825 */ move $t3, $t2 -/* 051D8C 7F01D25C 19600005 */ blez $t3, .L7F01D274 -/* 051D90 7F01D260 256BFFFF */ addiu $t3, $t3, -1 -.L7F01D264: -/* 051D94 7F01D264 A0EC0000 */ sb $t4, ($a3) -/* 051D98 7F01D268 24E70001 */ addiu $a3, $a3, 1 -/* 051D9C 7F01D26C 1D60FFFD */ bgtz $t3, .L7F01D264 -/* 051DA0 7F01D270 256BFFFF */ addiu $t3, $t3, -1 -.L7F01D274: -/* 051DA4 7F01D274 00AA5823 */ subu $t3, $a1, $t2 -/* 051DA8 7F01D278 19600005 */ blez $t3, .L7F01D290 -/* 051DAC 7F01D27C 256BFFFF */ addiu $t3, $t3, -1 -.L7F01D280: -/* 051DB0 7F01D280 A0E00000 */ sb $zero, ($a3) -/* 051DB4 7F01D284 24E70001 */ addiu $a3, $a3, 1 -/* 051DB8 7F01D288 1D60FFFD */ bgtz $t3, .L7F01D280 -/* 051DBC 7F01D28C 256BFFFF */ addiu $t3, $t3, -1 -.L7F01D290: -/* 051DC0 7F01D290 2529FFFF */ addiu $t1, $t1, -1 -/* 051DC4 7F01D294 1D20FFF0 */ bgtz $t1, .L7F01D258 -/* 051DC8 7F01D298 00000000 */ nop -glabel func_7F01D29C -/* 051DCC 7F01D29C 1CC0FFCC */ bgtz $a2, .L7F01D1D0 -/* 051DD0 7F01D2A0 00801025 */ move $v0, $a0 -/* 051DD4 7F01D2A4 03E00008 */ jr $ra -/* 051DD8 7F01D2A8 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - - diff --git a/src/game/bond.c b/src/game/bond.c deleted file mode 100644 index 2c6125a..0000000 --- a/src/game/bond.c +++ /dev/null @@ -1,35745 +0,0 @@ -#include "ultra64.h" -#include "game/bond.h" -#include "game/chr.h" -#include "game/unk_093880.h" -#include "game/textrelated.h" - -// bss -//CODE.bss:80079940 -f32 flt_CODE_bss_80079940; -//CODE.bss:80079944 -f32 flt_CODE_bss_80079944; -//CODE.bss:80079948 -f32 flt_CODE_bss_80079948; -//CODE.bss:8007994C -f32 flt_CODE_bss_8007994C; -//CODE.bss:80079950 -f32 flt_CODE_bss_80079950; -//CODE.bss:80079954 -f32 flt_CODE_bss_80079954; -//CODE.bss:80079958 -f32 flt_CODE_bss_80079958; -//CODE.bss:8007995C -f32 flt_CODE_bss_8007995C; -//CODE.bss:80079960 -f32 flt_CODE_bss_80079960; -//CODE.bss:80079964 -f32 flt_CODE_bss_80079964; -//CODE.bss:80079968 -f32 flt_CODE_bss_80079968; -//CODE.bss:8007996C -f32 flt_CODE_bss_8007996C; -//CODE.bss:80079970 -f32 flt_CODE_bss_80079970; -//CODE.bss:80079974 -f32 flt_CODE_bss_80079974; -//CODE.bss:80079978 -f32 flt_CODE_bss_80079978; -//CODE.bss:8007997C -f32 flt_CODE_bss_8007997C; -//CODE.bss:80079980 -f32 flt_CODE_bss_80079980; -//CODE.bss:80079984 -f32 flt_CODE_bss_80079984; -//CODE.bss:80079988 -f32 flt_CODE_bss_80079988; -//CODE.bss:8007998C -f32 flt_CODE_bss_8007998C; -//CODE.bss:80079990 -f32 flt_CODE_bss_80079990; -//CODE.bss:80079994 -f32 flt_CODE_bss_80079994; -//CODE.bss:80079998 -f32 flt_CODE_bss_80079998; -//CODE.bss:8007999C -s32 dword_CODE_bss_8007999C; -//CODE.bss:800799A0 -s32 dword_CODE_bss_800799A0; -//CODE.bss:800799A4 -s32 dword_CODE_bss_800799A4; -//CODE.bss:800799A8 -f32 flt_CODE_bss_800799A8; -//CODE.bss:800799AC -f32 flt_CODE_bss_800799AC; -//CODE.bss:800799B0 -f32 flt_CODE_bss_800799B0; -//CODE.bss:800799B4 -s32 dword_CODE_bss_800799B4; -//CODE.bss:800799B8 -s32 dword_CODE_bss_800799B8; -//CODE.bss:800799BC -f32 flt_CODE_bss_800799BC; -//CODE.bss:800799C0 -f32 flt_CODE_bss_800799C0; -//CODE.bss:800799C4 -f32 flt_CODE_bss_800799C4; -//CODE.bss:800799C8 -f32 flt_CODE_bss_800799C8; -//CODE.bss:800799CC -f32 flt_CODE_bss_800799CC; -//CODE.bss:800799D0 -f32 flt_CODE_bss_800799D0; -//CODE.bss:800799D4 -f32 flt_CODE_bss_800799D4; -//CODE.bss:800799D8 -f32 flt_CODE_bss_800799D8; -//CODE.bss:800799DC -f32 flt_CODE_bss_800799DC; -//CODE.bss:800799E0 -s32 starting_right_weapon; -//CODE.bss:800799E4 -s32 starting_left_weapon; -//CODE.bss:800799E8 -f32 flt_CODE_bss_800799E8; -//CODE.bss:800799EC -f32 flt_CODE_bss_800799EC; -//CODE.bss:800799F0 -f32 flt_CODE_bss_800799F0; -//CODE.bss:800799F4 -s32 dword_CODE_bss_800799F4; -//CODE.bss:800799F8 -s32 dword_CODE_bss_800799F8; -//CODE.bss:800799FC -s32 dword_CODE_bss_800799FC; -//CODE.bss:80079A00 -f32 flt_CODE_bss_80079A00; -//CODE.bss:80079A04 -f32 flt_CODE_bss_80079A04; -//CODE.bss:80079A08 -f32 flt_CODE_bss_80079A08; -//CODE.bss:80079A0C -f32 flt_CODE_bss_80079A0C; -//CODE.bss:80079A10 -f32 flt_CODE_bss_80079A10; -//CODE.bss:80079A14 -s32 dword_CODE_bss_80079A14; -//CODE.bss:80079A18 -s32 dword_CODE_bss_80079A18; -//CODE.bss:80079A1C -s32 dword_CODE_bss_80079A1C; -//CODE.bss:80079A20 -f32 mission_timer; -//CODE.bss:80079A24 -f32 watch_time_0; -//CODE.bss:80079A28 -char dword_CODE_bss_80079A28[0x200]; -#ifdef VERSION_JP -//CODE.bss:80079Cd8 -char dword_CODE_bss_jp80079Cd8[0x30]; -#endif -//CODE.bss:80079C28 -char dword_CODE_bss_80079C28[0x40]; -//CODE.bss:80079C68 -s32 dword_CODE_bss_80079C68; -//CODE.bss:80079C6C -s32 dword_CODE_bss_80079C6C; -//CODE.bss:80079C70 -char dword_CODE_bss_80079C70[0x130]; -//CODE.bss:80079DA0 -s32 dword_CODE_bss_80079DA0; -//CODE.bss:80079DA4 -s32 dword_CODE_bss_80079DA4; -//CODE.bss:80079DA8 -char dword_CODE_bss_80079DA8[0x20]; -//CODE.bss:80079DC8 -char dword_CODE_bss_80079DC8[0x3C]; -//CODE.bss:80079E04 -s32 flt_CODE_bss_80079E04; -//CODE.bss:80079E08 -s32 flt_CODE_bss_80079E08; -//CODE.bss:80079E0C -s32 flt_CODE_bss_80079E0C; -//CODE.bss:80079E10 -s32 flt_CODE_bss_80079E10; - - -// data -//D:80036420 -s32 D_80036420 = 0; -//D:80036424 -s32 camera_80036424 = 0; -//D:80036428 -s32 resolution = 0; -//D:8003642C -s32 camera_8003642C = 0; -//D:80036430 -s32 camera_80036430 = 0; -//D:80036434 -s32 camera_80036434 = 0; -//D:80036438 -s32 camera_80036438 = 0; -//D:8003643C -s32 D_8003643C = 0; -//D:80036440 -s32 D_80036440 = 0; -//D:80036444 -s32 D_80036444 = 0; -//D:80036448 -s32 in_tank_flag = 0; -//D:8003644C -s32 D_8003644C = 0; -//D:80036450 -s32 ptr_playerstank = 0; -//D:80036454 -s32 D_80036454 = 0; -//D:80036458 -s32 SFX_80036458 = 0; -//D:8003645C -s32 SFX_8003645C = 0; -//D:80036460 -s32 D_80036460 = 0; -//D:80036464 -s32 D_80036464 = 0; -//D:80036468 -s32 D_80036468 = 0; -//D:8003646C -s32 D_8003646C = 0; -//D:80036470 -s32 D_80036470 = 0; -//D:80036474 -s32 D_80036474 = 0; -//D:80036478 -s32 D_80036478 = 0; -//D:8003647C -s32 D_8003647C = 0; -//D:80036480 -s32 D_80036480 = 0; -//D:80036484 -s32 D_80036484 = 0; -//D:80036488 -s32 D_80036488 = 0; -//D:8003648C -s32 D_8003648C = 0; -//D:80036490 -s32 D_80036490 = 0; -//D:80036494 -s32 cameramode = 0; -//D:80036498 -s32 enable_move_after_cinema = 0; -//D:8003649C -s32 D_8003649C = 0; -//D:800364A0 -s32 stop_time_flag = 0; -//D:800364A4 -s32 D_800364A4 = 0; -//D:800364A8 -s32 D_800364A8 = 1; -//D:800364AC -s32 D_800364AC = 0; -//D:800364B0 -s32 D_800364B0 = 1; -//D:800364B4 -s32 disable_player_pickups_flag = 0; -//D:800364B8 -s32 D_800364B8 = 0; -//D:800364BC -s32 D_800364BC = 0; -//D:800364C0 -s32 ptr_random06cam_entry = 0; -//D:800364C4 -s32 invisible_to_guards_flag = 1; -//D:800364C8 -s32 obj_collision_flag = 1; -//D:800364CC -f32 D_800364CC = 1.0; -//D:800364D0 -f32 D_800364D0 = 1.0; -//D:800364D4 -f32 D_800364D4 = 1.0; -//D:800364D8 -s32 D_800364D8[] = { - 0x30B8, 0x31DC, 0x32C8, 0x33AC, 0x34D4, 0x35C8, 0x36D8, 0x384C, 0x39C0, 0x3AF0, 0x3C10, 0x3D04, 0 -}; - -//D:8003650C -s32 D_8003650C = 0; -//D:80036510 -s32 D_80036510 = 0; -//D:80036514 -s32 D_80036514 = 0; - -//D:80036518 -struct struct_4 stage_intro_anim_table[] = { - {0x5744, 95.0, -1.0, 0.02}, - {0x6254, 7.0, 40.0, 0.5}, - {0x78C8, 0.0, -1.0, 0.5}, - {0x7AA8, 0.0, -1.0, 0.5}, - {0x7C4C, 0.0, -1.0, 0.5}, - {0x7D04, 0.0, -1.0, 0.5}, - {0x7F0C, 0.0, -1.0, 0.5}, - {0x7FB4, 0.0, -1.0, 0.5}, - {0xD89C, 0.0, -1.0, 0.5} -}; - -//D:800365A8 -f32 watch_transition_time = 0.90909088; - -//D:800365AC -u32 dummy_08_pp7_obj[] = { - 0x01000008, 0x00bf4000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x3f800000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x3f800000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x3f800000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x3f800000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x447a0000, 0xffffff00, 0xffffff00, - 0x04ffffff -}; -//D:80036630 -u32 D_80036630 = 0; -#ifdef VERSION_US -//D:80036634 -u32 D_80036634[] = { - 0x0, 0xA, 0x3C, 0x3F19999A, - 0x0, 0x5, 0x28, 0x3F800000, - 0xFF, 0xFF, 0xFF, - 0x0, 0xA, 0x3C, 0x3F19999A, - 0x0, 0x5, 0x28, 0x3F800000, - 0xFF, 0xFF, 0xFF, - 0x0, 0xA, 0x32, 0x3F19999A, - 0x0, 0x5, 0x1E, 0x3F4CCCCD, - 0xFF, 0xFF, 0xFF, - 0x0, 0xA, 0x28, 0x3F19999A, - 0x0, 0x5, 0x19, 0x3F19999A, - 0xFF, 0xFF, 0xFF, - 0x0, 0xA, 0x23, 0x3F19999A, - 0x0, 0x5, 0x16, 0x3F0CCCCD, - 0xFF, 0xFF, 0xFF, - 0x0, 0xA, 0x1E, 0x3F19999A, - 0x0, 0x5, 0x13, 0x3F000000, - 0xFF, 0xFF, 0xFF, - 0x0, 0xA, 0x1E, 0x3F19999A, - 0x0, 0x5, 0x11, 0x3EE66666, - 0xFF, 0xFF, 0xFF, - 0x0, 0xA, 0x1E, 0x3F19999A, - 0x0, 0x5, 0xF, 0x3ECCCCCD, - 0xFF, 0xFF, 0xFF -}; -#endif -#ifdef VERSION_JP -//D:80036634 -u32 D_80036634[] = { - 0x0, 0x41200000, 0x42700000, 0x3F19999A, - 0x0, 0x40A00000, 0x42200000, 0x3F800000, - 0xFF, 0xFF, 0xFF, - 0x0, 0x41200000, 0x42700000, 0x3F19999A, - 0x0, 0x40A00000, 0x42200000, 0x3F800000, - 0xFF, 0xFF, 0xFF, - 0x0, 0x41200000, 0x42480000, 0x3F19999A, - 0x0, 0x40A00000, 0x41F00000, 0x3F4CCCCD, - 0xFF, 0xFF, 0xFF, - 0x0, 0x41200000, 0x42200000, 0x3F19999A, - 0x0, 0x40A00000, 0x41C80000, 0x3F19999A, - 0xFF, 0xFF, 0xFF, - 0x0, 0x41200000, 0x420C0000, 0x3F19999A, - 0x0, 0x40A00000, 0x41B00000, 0x3F0CCCCD, - 0xFF, 0xFF, 0xFF, - 0x0, 0x41200000, 0x41F00000, 0x3F19999A, - 0x0, 0x40A00000, 0x41980000, 0x3F000000, - 0xFF, 0xFF, 0xFF, - 0x0, 0x41200000, 0x41F00000, 0x3F19999A, - 0x0, 0x40A00000, 0x41880000, 0x3EE66666, - 0xFF, 0xFF, 0xFF, - 0x0, 0x41200000, 0x41F00000, 0x3F19999A, - 0x0, 0x40A00000, 0x41700000, 0x3ECCCCCD, - 0xFF, 0xFF, 0xFF -}; -#endif -//D:80036794 -u32 D_80036794 = 0; -//D:80036798 -u32 D_80036798 = 0x00000028; - -u32 D_8003679C[] = { - 0x00000064, 0x00000000, 0x0000001E, 0x00000050, - 0x00000000, 0x00000014, 0x0000003C, 0x00000000, - 0x00000014, 0x0000003C, 0x00000000, 0x00000014, - 0x0000003C, 0x00000000, 0x00000014, 0x00000032, - 0x00000000, 0x00000014, 0x00000032, 0x00000000, - 0x00000014, 0x00000032 -}; - -//D:800367F4 -s32 D_800367F4 = 0; -//D:800367F8 -s32 D_800367F8 = 0; -//D:800367FC -s32 D_800367FC = 0; -//D:80036800 -s32 D_80036800 = 0; -//D:80036804 -s32 D_80036804 = 0; -//D:80036808 -s32 D_80036808 = 0; -//D:8003680C -s32 D_8003680C = 0; -//D:80036810 -s32 D_80036810 = 0; -//D:80036814 -s32 D_80036814 = 0x3F800000; -//D:80036818 -s32 D_80036818 = 0; -//D:8003681C -s32 D_8003681C = 0x3F800000; -//D:80036820 -s32 D_80036820 = 0; -//D:80036824 -s32 D_80036824 = 0; -//D:80036828 -s32 D_80036828 = 0; -//D:8003682C -s32 D_8003682C = 0; -//D:80036830 -s32 D_80036830 = 0; -//D:80036834 -s32 D_80036834 = 0; -//D:80036838 -s32 D_80036838 = 0; -//D:8003683C -s32 D_8003683C[] = {0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:80036878 -s32 D_80036878 = 0; -//D:8003687C -s32 D_8003687C = 0; - -//D:80036880 -s32 D_80036880 = 0; -//D:80036884 -s32 D_80036884 = 0; -//D:80036888 -s32 D_80036888 = 0; - -//D:8003688C -s32 D_8003688C = 0; -//D:80036890 -s32 D_80036890 = 0; -//D:80036894 -s32 D_80036894 = 0; -//D:80036898 -s32 status_bar_text_buffer_index = 0; -//D:8003689C -s32 display_statusbar = 0; -#ifndef VERSION_JP -//D:800368A0 -s32 copy_1stfonttable = 0; -//D:800368A4 -s32 copy_2ndfonttable = 0; -#endif -//D:800368A8 -s32 upper_text_buffer_index = 0; -//D:800368AC -s32 display_upper_text_window = 0; -//D:800368B0 -s32 upper_text_window_timer = 0xFFFFFFFF; -s32 D_800368B4 = 0; -//D:800368B8 -u16 D_800368B8[] = {0x6E00, 0x006E, 0x6500, 0x6500, 0x73, 0x6500, 0x7300, 0x0073, 0x7700, 0x7700, 0x6E, 0x7700, 0x6E00, 0x0000, 0x0000, 0x0000}; - -//D:800368D8 -struct firing_anim_struct firing_animation_groups[] = { - {pistol_firing_animation_group1, 0, 0.1, 79.0, 87.0}, - {&D_800306F0, 0, 0.5, 0.0, -1.0}, - {&D_80030738, 0, 0.5, 0.0, -1.0}, - {&D_800308A0, 0, 0.5, 0.0, -1.0}, - {&D_800308E8, 0, 0.5, 0.0, -1.0}, - {crouched_pistol_firing_animation_group1, 0, 0.1, 56.0, 68.0}, - {rifle_firing_animation_group1, 0, 0.050000001, 35.0, 40.0}, - {&D_80030660, 0, 0.5, 0.0, -1.0}, - {&D_800306A8, 0, 0.5, 0.0, -1.0}, - {&D_800308A0, 0, 0.5, 0.0, -1.0}, - {&D_800308E8, 0, 0.5, 0.0, -1.0}, - {crouched_rifle_firing_animation_groupA, 0, 0.1, 45.0, 55.0}, - {NULL, 0x8194, 0.25, 0.0, -1.0}, - {NULL, 0x8204, 0.5, 0.0, -1.0}, - {NULL, 0x777C, 0.5, 0.0, -1.0}, - {&D_800308A0, 0, 0.5, 0.0, -1.0}, - {&D_800308E8, 0, 0.5, 0.0, -1.0}, - {NULL, 0x6C18, 0.050000001, 28.0, 29.0}, - {doubles_firing_animation_group1, 0, 0.1, 32.0, 42.0}, - {&D_80030780, 0, 0.5, 0.0, -1.0}, - {&D_800307C8, 0, 0.5, 0.0, -1.0}, - {&D_800308A0, 0, 0.5, 0.0, -1.0}, - {&D_800308A0, 0, 0.5, 0.0, -1.0}, - {crouched_doubles_firing_animation_group1, 0, 0.1, 37.0, 47.0} -}; - -//D:80036AB8 -s32 D_80036AB8 = 2; -//D:80036ABC -s32 D_80036ABC = 0xFFFFFFFF; -//D:80036AC0 -f32 D_80036AC0 = 1.0; -//D:80036AC4 -f32 D_80036AC4 = 0.1; - -void nullsub_75(void) -{ - return; -} - -void set_BONDdata_screensize(f32 width, f32 height) -{ - pPlayer->c_screenwidth = width; - pPlayer->c_screenheight = height; - pPlayer->c_halfwidth = (f32) (width * 0.5f); - pPlayer->c_halfheight = (f32) (height * 0.5f); -} - -void *set_ulx_uly(f32 ulx, f32 uly) -{ - pPlayer->c_screenleft = ulx; - pPlayer->c_screentop = uly; -} - -void sub_GAME_7F077C30(f32 arg0, f32 arg1, f32 arg2) -{ - pPlayer->c_perspnear = arg0; - pPlayer->c_perspfovy = arg1; - pPlayer->c_perspaspect = arg2; -} - - - - - - -#ifdef NONMATCHING -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 -glabel D_80054FA0 -.word 0x40490fdb /*3.1415927*/ -glabel D_80054FA4 -.word 0x3f060a92 /*0.52359879*/ -glabel D_80054FA8 -.word 0x3f060a92 /*0.52359879*/ -.text -glabel sub_GAME_7F077C5C -/* 0AC78C 7F077C5C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0AC790 7F077C60 AFB00020 */ sw $s0, 0x20($sp) -/* 0AC794 7F077C64 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AC798 7F077C68 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0AC79C 7F077C6C 8E0E0000 */ lw $t6, ($s0) -/* 0AC7A0 7F077C70 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0AC7A4 7F077C74 AFBF0024 */ sw $ra, 0x24($sp) -/* 0AC7A8 7F077C78 3C018005 */ lui $at, %hi(D_80054FA0) -/* 0AC7AC 7F077C7C C4344FA0 */ lwc1 $f20, %lo(D_80054FA0)($at) -/* 0AC7B0 7F077C80 C5C410A4 */ lwc1 $f4, 0x10a4($t6) -/* 0AC7B4 7F077C84 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0AC7B8 7F077C88 44814000 */ mtc1 $at, $f8 -/* 0AC7BC 7F077C8C 46142182 */ mul.s $f6, $f4, $f20 -/* 0AC7C0 7F077C90 0FC15FAB */ jal sinf -/* 0AC7C4 7F077C94 46083303 */ div.s $f12, $f6, $f8 -/* 0AC7C8 7F077C98 8E0F0000 */ lw $t7, ($s0) -/* 0AC7CC 7F077C9C E7A0002C */ swc1 $f0, 0x2c($sp) -/* 0AC7D0 7F077CA0 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0AC7D4 7F077CA4 C5EA10A4 */ lwc1 $f10, 0x10a4($t7) -/* 0AC7D8 7F077CA8 44812000 */ mtc1 $at, $f4 -/* 0AC7DC 7F077CAC 46145482 */ mul.s $f18, $f10, $f20 -/* 0AC7E0 7F077CB0 0FC15FA8 */ jal cosf -/* 0AC7E4 7F077CB4 46049303 */ div.s $f12, $f18, $f4 -/* 0AC7E8 7F077CB8 8E020000 */ lw $v0, ($s0) -/* 0AC7EC 7F077CBC C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 0AC7F0 7F077CC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AC7F4 7F077CC4 C44810B0 */ lwc1 $f8, 0x10b0($v0) -/* 0AC7F8 7F077CC8 4481A000 */ mtc1 $at, $f20 -/* 0AC7FC 7F077CCC 3C018005 */ lui $at, %hi(D_80054FA4) -/* 0AC800 7F077CD0 46080282 */ mul.s $f10, $f0, $f8 -/* 0AC804 7F077CD4 460A3483 */ div.s $f18, $f6, $f10 -/* 0AC808 7F077CD8 E45210B8 */ swc1 $f18, 0x10b8($v0) -/* 0AC80C 7F077CDC 8E020000 */ lw $v0, ($s0) -/* 0AC810 7F077CE0 C44410B8 */ lwc1 $f4, 0x10b8($v0) -/* 0AC814 7F077CE4 C44810A8 */ lwc1 $f8, 0x10a8($v0) -/* 0AC818 7F077CE8 C44A10B0 */ lwc1 $f10, 0x10b0($v0) -/* 0AC81C 7F077CEC 46082182 */ mul.s $f6, $f4, $f8 -/* 0AC820 7F077CF0 C44410AC */ lwc1 $f4, 0x10ac($v0) -/* 0AC824 7F077CF4 460A3482 */ mul.s $f18, $f6, $f10 -/* 0AC828 7F077CF8 46049203 */ div.s $f8, $f18, $f4 -/* 0AC82C 7F077CFC E44810B4 */ swc1 $f8, 0x10b4($v0) -/* 0AC830 7F077D00 8E020000 */ lw $v0, ($s0) -/* 0AC834 7F077D04 C44610B4 */ lwc1 $f6, 0x10b4($v0) -/* 0AC838 7F077D08 4606A283 */ div.s $f10, $f20, $f6 -/* 0AC83C 7F077D0C E44A10BC */ swc1 $f10, 0x10bc($v0) -/* 0AC840 7F077D10 8E020000 */ lw $v0, ($s0) -/* 0AC844 7F077D14 C45210B8 */ lwc1 $f18, 0x10b8($v0) -/* 0AC848 7F077D18 4612A103 */ div.s $f4, $f20, $f18 -/* 0AC84C 7F077D1C E44410C0 */ swc1 $f4, 0x10c0($v0) -/* 0AC850 7F077D20 8E020000 */ lw $v0, ($s0) -/* 0AC854 7F077D24 C44810B8 */ lwc1 $f8, 0x10b8($v0) -/* 0AC858 7F077D28 E44810F4 */ swc1 $f8, 0x10f4($v0) -/* 0AC85C 7F077D2C 0FC15FAB */ jal sinf -/* 0AC860 7F077D30 C42C4FA4 */ lwc1 $f12, %lo(D_80054FA4)($at) -/* 0AC864 7F077D34 3C018005 */ lui $at, %hi(D_80054FA8) -/* 0AC868 7F077D38 C42C4FA8 */ lwc1 $f12, %lo(D_80054FA8)($at) -/* 0AC86C 7F077D3C 0FC15FA8 */ jal cosf -/* 0AC870 7F077D40 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 0AC874 7F077D44 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0AC878 7F077D48 44815000 */ mtc1 $at, $f10 -/* 0AC87C 7F077D4C C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 0AC880 7F077D50 8E180000 */ lw $t8, ($s0) -/* 0AC884 7F077D54 460A0482 */ mul.s $f18, $f0, $f10 -/* 0AC888 7F077D58 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0AC88C 7F077D5C 2419FFFF */ li $t9, -1 -/* 0AC890 7F077D60 24090001 */ li $t1, 1 -/* 0AC894 7F077D64 46123103 */ div.s $f4, $f6, $f18 -/* 0AC898 7F077D68 E70410F0 */ swc1 $f4, 0x10f0($t8) -/* 0AC89C 7F077D6C 8E020000 */ lw $v0, ($s0) -/* 0AC8A0 7F077D70 44812000 */ mtc1 $at, $f4 -/* 0AC8A4 7F077D74 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0AC8A8 7F077D78 C44810F4 */ lwc1 $f8, 0x10f4($v0) -/* 0AC8AC 7F077D7C C44A10F0 */ lwc1 $f10, 0x10f0($v0) -/* 0AC8B0 7F077D80 460A4183 */ div.s $f6, $f8, $f10 -/* 0AC8B4 7F077D84 44814000 */ mtc1 $at, $f8 -/* 0AC8B8 7F077D88 E44610F8 */ swc1 $f6, 0x10f8($v0) -/* 0AC8BC 7F077D8C 8E020000 */ lw $v0, ($s0) -/* 0AC8C0 7F077D90 C45210F8 */ lwc1 $f18, 0x10f8($v0) -/* 0AC8C4 7F077D94 46049082 */ mul.s $f2, $f18, $f4 -/* 0AC8C8 7F077D98 4602403C */ c.lt.s $f8, $f2 -/* 0AC8CC 7F077D9C 00000000 */ nop -/* 0AC8D0 7F077DA0 45020004 */ bc1fl .L7F077DB4 -/* 0AC8D4 7F077DA4 4448F800 */ cfc1 $t0, $31 -/* 0AC8D8 7F077DA8 10000022 */ b .L7F077E34 -/* 0AC8DC 7F077DAC AC5910FC */ sw $t9, 0x10fc($v0) -/* 0AC8E0 7F077DB0 4448F800 */ cfc1 $t0, $31 -.L7F077DB4: -/* 0AC8E4 7F077DB4 44C9F800 */ ctc1 $t1, $31 -/* 0AC8E8 7F077DB8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0AC8EC 7F077DBC 460012A4 */ cvt.w.s $f10, $f2 -/* 0AC8F0 7F077DC0 4449F800 */ cfc1 $t1, $31 -/* 0AC8F4 7F077DC4 00000000 */ nop -/* 0AC8F8 7F077DC8 31290078 */ andi $t1, $t1, 0x78 -/* 0AC8FC 7F077DCC 51200013 */ beql $t1, $zero, .L7F077E1C -/* 0AC900 7F077DD0 44095000 */ mfc1 $t1, $f10 -/* 0AC904 7F077DD4 44815000 */ mtc1 $at, $f10 -/* 0AC908 7F077DD8 24090001 */ li $t1, 1 -/* 0AC90C 7F077DDC 460A1281 */ sub.s $f10, $f2, $f10 -/* 0AC910 7F077DE0 44C9F800 */ ctc1 $t1, $31 -/* 0AC914 7F077DE4 00000000 */ nop -/* 0AC918 7F077DE8 460052A4 */ cvt.w.s $f10, $f10 -/* 0AC91C 7F077DEC 4449F800 */ cfc1 $t1, $31 -/* 0AC920 7F077DF0 00000000 */ nop -/* 0AC924 7F077DF4 31290078 */ andi $t1, $t1, 0x78 -/* 0AC928 7F077DF8 15200005 */ bnez $t1, .L7F077E10 -/* 0AC92C 7F077DFC 00000000 */ nop -/* 0AC930 7F077E00 44095000 */ mfc1 $t1, $f10 -/* 0AC934 7F077E04 3C018000 */ lui $at, 0x8000 -/* 0AC938 7F077E08 10000007 */ b .L7F077E28 -/* 0AC93C 7F077E0C 01214825 */ or $t1, $t1, $at -.L7F077E10: -/* 0AC940 7F077E10 10000005 */ b .L7F077E28 -/* 0AC944 7F077E14 2409FFFF */ li $t1, -1 -/* 0AC948 7F077E18 44095000 */ mfc1 $t1, $f10 -.L7F077E1C: -/* 0AC94C 7F077E1C 00000000 */ nop -/* 0AC950 7F077E20 0520FFFB */ bltz $t1, .L7F077E10 -/* 0AC954 7F077E24 00000000 */ nop -.L7F077E28: -/* 0AC958 7F077E28 44C8F800 */ ctc1 $t0, $31 -/* 0AC95C 7F077E2C AC4910FC */ sw $t1, 0x10fc($v0) -/* 0AC960 7F077E30 00000000 */ nop -.L7F077E34: -/* 0AC964 7F077E34 8E020000 */ lw $v0, ($s0) -/* 0AC968 7F077E38 C44610B0 */ lwc1 $f6, 0x10b0($v0) -/* 0AC96C 7F077E3C C45210B8 */ lwc1 $f18, 0x10b8($v0) -/* 0AC970 7F077E40 46123382 */ mul.s $f14, $f6, $f18 -/* 0AC974 7F077E44 00000000 */ nop -/* 0AC978 7F077E48 460E7102 */ mul.s $f4, $f14, $f14 -/* 0AC97C 7F077E4C E7AE0030 */ swc1 $f14, 0x30($sp) -/* 0AC980 7F077E50 0C007DF8 */ jal sqrtf -/* 0AC984 7F077E54 46142300 */ add.s $f12, $f4, $f20 -/* 0AC988 7F077E58 4600A083 */ div.s $f2, $f20, $f0 -/* 0AC98C 7F077E5C 44804000 */ mtc1 $zero, $f8 -/* 0AC990 7F077E60 8E0A0000 */ lw $t2, ($s0) -/* 0AC994 7F077E64 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 0AC998 7F077E68 E5481100 */ swc1 $f8, 0x1100($t2) -/* 0AC99C 7F077E6C 8E0B0000 */ lw $t3, ($s0) -/* 0AC9A0 7F077E70 46027282 */ mul.s $f10, $f14, $f2 -/* 0AC9A4 7F077E74 E5621104 */ swc1 $f2, 0x1104($t3) -/* 0AC9A8 7F077E78 8E0C0000 */ lw $t4, ($s0) -/* 0AC9AC 7F077E7C E58A1108 */ swc1 $f10, 0x1108($t4) -/* 0AC9B0 7F077E80 8E020000 */ lw $v0, ($s0) -/* 0AC9B4 7F077E84 C44610AC */ lwc1 $f6, 0x10ac($v0) -/* 0AC9B8 7F077E88 C44410B4 */ lwc1 $f4, 0x10b4($v0) -/* 0AC9BC 7F077E8C 46003487 */ neg.s $f18, $f6 -/* 0AC9C0 7F077E90 46049402 */ mul.s $f16, $f18, $f4 -/* 0AC9C4 7F077E94 00000000 */ nop -/* 0AC9C8 7F077E98 46108202 */ mul.s $f8, $f16, $f16 -/* 0AC9CC 7F077E9C E7B00034 */ swc1 $f16, 0x34($sp) -/* 0AC9D0 7F077EA0 0C007DF8 */ jal sqrtf -/* 0AC9D4 7F077EA4 46144300 */ add.s $f12, $f8, $f20 -/* 0AC9D8 7F077EA8 4600A083 */ div.s $f2, $f20, $f0 -/* 0AC9DC 7F077EAC C7B00034 */ lwc1 $f16, 0x34($sp) -/* 0AC9E0 7F077EB0 8E0D0000 */ lw $t5, ($s0) -/* 0AC9E4 7F077EB4 44803000 */ mtc1 $zero, $f6 -/* 0AC9E8 7F077EB8 46008487 */ neg.s $f18, $f16 -/* 0AC9EC 7F077EBC 46001287 */ neg.s $f10, $f2 -/* 0AC9F0 7F077EC0 46029102 */ mul.s $f4, $f18, $f2 -/* 0AC9F4 7F077EC4 E5AA110C */ swc1 $f10, 0x110c($t5) -/* 0AC9F8 7F077EC8 8E0E0000 */ lw $t6, ($s0) -/* 0AC9FC 7F077ECC E5C61110 */ swc1 $f6, 0x1110($t6) -/* 0ACA00 7F077ED0 8E0F0000 */ lw $t7, ($s0) -/* 0ACA04 7F077ED4 E5E41114 */ swc1 $f4, 0x1114($t7) -/* 0ACA08 7F077ED8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0ACA0C 7F077EDC 8FB00020 */ lw $s0, 0x20($sp) -/* 0ACA10 7F077EE0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0ACA14 7F077EE4 03E00008 */ jr $ra -/* 0ACA18 7F077EE8 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F077EEC(void *arg0, void *arg1, f32 arg2) { - f32 sp20; - f32 temp_f14; - f32 temp_f16; - ? temp_ret; - f32 temp_f2; - - // Node 0 - 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); - *arg1 = (f32) (temp_f16 * temp_f2); - arg1->unk4 = (f32) (sp1C * temp_f2); - arg1->unk8 = (f32) (-1.0f * temp_f2); - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F077EEC -/* 0ACA1C 7F077EEC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0ACA20 7F077EF0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0ACA24 7F077EF4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0ACA28 7F077EF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0ACA2C 7F077EFC AFA60030 */ sw $a2, 0x30($sp) -/* 0ACA30 7F077F00 C4840004 */ lwc1 $f4, 4($a0) -/* 0ACA34 7F077F04 C446109C */ lwc1 $f6, 0x109c($v0) -/* 0ACA38 7F077F08 C44A10B0 */ lwc1 $f10, 0x10b0($v0) -/* 0ACA3C 7F077F0C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0ACA40 7F077F10 46062201 */ sub.s $f8, $f4, $f6 -/* 0ACA44 7F077F14 C4860000 */ lwc1 $f6, ($a0) -/* 0ACA48 7F077F18 C44410B8 */ lwc1 $f4, 0x10b8($v0) -/* 0ACA4C 7F077F1C 44810000 */ mtc1 $at, $f0 -/* 0ACA50 7F077F20 46085481 */ sub.s $f18, $f10, $f8 -/* 0ACA54 7F077F24 C44A1098 */ lwc1 $f10, 0x1098($v0) -/* 0ACA58 7F077F28 46049382 */ mul.s $f14, $f18, $f4 -/* 0ACA5C 7F077F2C 460A3201 */ sub.s $f8, $f6, $f10 -/* 0ACA60 7F077F30 C45210AC */ lwc1 $f18, 0x10ac($v0) -/* 0ACA64 7F077F34 C44610B4 */ lwc1 $f6, 0x10b4($v0) -/* 0ACA68 7F077F38 AFA5002C */ sw $a1, 0x2c($sp) -/* 0ACA6C 7F077F3C 46124101 */ sub.s $f4, $f8, $f18 -/* 0ACA70 7F077F40 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 0ACA74 7F077F44 46062402 */ mul.s $f16, $f4, $f6 -/* 0ACA78 7F077F48 00000000 */ nop -/* 0ACA7C 7F077F4C 46108282 */ mul.s $f10, $f16, $f16 -/* 0ACA80 7F077F50 E7B00020 */ swc1 $f16, 0x20($sp) -/* 0ACA84 7F077F54 460E7202 */ mul.s $f8, $f14, $f14 -/* 0ACA88 7F077F58 46085480 */ add.s $f18, $f10, $f8 -/* 0ACA8C 7F077F5C 46000102 */ mul.s $f4, $f0, $f0 -/* 0ACA90 7F077F60 0C007DF8 */ jal sqrtf -/* 0ACA94 7F077F64 46049300 */ add.s $f12, $f18, $f4 -/* 0ACA98 7F077F68 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0ACA9C 7F077F6C C7B00020 */ lwc1 $f16, 0x20($sp) -/* 0ACAA0 7F077F70 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 0ACAA4 7F077F74 46003083 */ div.s $f2, $f6, $f0 -/* 0ACAA8 7F077F78 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0ACAAC 7F077F7C 44819000 */ mtc1 $at, $f18 -/* 0ACAB0 7F077F80 8FA5002C */ lw $a1, 0x2c($sp) -/* 0ACAB4 7F077F84 46028282 */ mul.s $f10, $f16, $f2 -/* 0ACAB8 7F077F88 00000000 */ nop -/* 0ACABC 7F077F8C 46027202 */ mul.s $f8, $f14, $f2 -/* 0ACAC0 7F077F90 00000000 */ nop -/* 0ACAC4 7F077F94 46029102 */ mul.s $f4, $f18, $f2 -/* 0ACAC8 7F077F98 E4AA0000 */ swc1 $f10, ($a1) -/* 0ACACC 7F077F9C E4A80004 */ swc1 $f8, 4($a1) -/* 0ACAD0 7F077FA0 E4A40008 */ swc1 $f4, 8($a1) -/* 0ACAD4 7F077FA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0ACAD8 7F077FA8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0ACADC 7F077FAC 03E00008 */ jr $ra -/* 0ACAE0 7F077FB0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F077FB4(void *arg0, s32 arg1, void *arg2) { - // Node 0 - arg2->unk4 = (f32) ((arg0->unk4 * arg1) * pPlayer->c_scaley); - *arg2 = (f32) ((*arg0 * arg1) * pPlayer->c_scalex); - return &pPlayer; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F077FB4 -/* 0ACAE4 7F077FB4 44856000 */ mtc1 $a1, $f12 -/* 0ACAE8 7F077FB8 C4840004 */ lwc1 $f4, 4($a0) -/* 0ACAEC 7F077FBC 3C028008 */ lui $v0, %hi(pPlayer) -/* 0ACAF0 7F077FC0 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0ACAF4 7F077FC4 460C2182 */ mul.s $f6, $f4, $f12 -/* 0ACAF8 7F077FC8 8C4E0000 */ lw $t6, ($v0) -/* 0ACAFC 7F077FCC C5C810B8 */ lwc1 $f8, 0x10b8($t6) -/* 0ACB00 7F077FD0 46083282 */ mul.s $f10, $f6, $f8 -/* 0ACB04 7F077FD4 E4CA0004 */ swc1 $f10, 4($a2) -/* 0ACB08 7F077FD8 C4900000 */ lwc1 $f16, ($a0) -/* 0ACB0C 7F077FDC 8C4F0000 */ lw $t7, ($v0) -/* 0ACB10 7F077FE0 460C8482 */ mul.s $f18, $f16, $f12 -/* 0ACB14 7F077FE4 C5E410B4 */ lwc1 $f4, 0x10b4($t7) -/* 0ACB18 7F077FE8 46049182 */ mul.s $f6, $f18, $f4 -/* 0ACB1C 7F077FEC 03E00008 */ jr $ra -/* 0ACB20 7F077FF0 E4C60000 */ swc1 $f6, ($a2) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F077FF4(void *arg0, void *arg1) { - f32 temp_f0; - - // Node 0 - temp_f0 = (1.0f / arg0->unk8); - 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 -GLOBAL_ASM( -.text -glabel sub_GAME_7F077FF4 -/* 0ACB24 7F077FF4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0ACB28 7F077FF8 44812000 */ mtc1 $at, $f4 -/* 0ACB2C 7F077FFC C4860008 */ lwc1 $f6, 8($a0) -/* 0ACB30 7F078000 C4880004 */ lwc1 $f8, 4($a0) -/* 0ACB34 7F078004 3C038008 */ lui $v1, %hi(pPlayer) -/* 0ACB38 7F078008 46062003 */ div.s $f0, $f4, $f6 -/* 0ACB3C 7F07800C 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0ACB40 7F078010 8C620000 */ lw $v0, ($v1) -/* 0ACB44 7F078014 C45010C0 */ lwc1 $f16, 0x10c0($v0) -/* 0ACB48 7F078018 C444109C */ lwc1 $f4, 0x109c($v0) -/* 0ACB4C 7F07801C C44610B0 */ lwc1 $f6, 0x10b0($v0) -/* 0ACB50 7F078020 46004282 */ mul.s $f10, $f8, $f0 -/* 0ACB54 7F078024 46062200 */ add.s $f8, $f4, $f6 -/* 0ACB58 7F078028 46105482 */ mul.s $f18, $f10, $f16 -/* 0ACB5C 7F07802C 46089280 */ add.s $f10, $f18, $f8 -/* 0ACB60 7F078030 E4AA0004 */ swc1 $f10, 4($a1) -/* 0ACB64 7F078034 C4920000 */ lwc1 $f18, ($a0) -/* 0ACB68 7F078038 8C620000 */ lw $v0, ($v1) -/* 0ACB6C 7F07803C 46009202 */ mul.s $f8, $f18, $f0 -/* 0ACB70 7F078040 C4501098 */ lwc1 $f16, 0x1098($v0) -/* 0ACB74 7F078044 C44410AC */ lwc1 $f4, 0x10ac($v0) -/* 0ACB78 7F078048 C44A10BC */ lwc1 $f10, 0x10bc($v0) -/* 0ACB7C 7F07804C 46048180 */ add.s $f6, $f16, $f4 -/* 0ACB80 7F078050 460A4402 */ mul.s $f16, $f8, $f10 -/* 0ACB84 7F078054 46103101 */ sub.s $f4, $f6, $f16 -/* 0ACB88 7F078058 03E00008 */ jr $ra -/* 0ACB8C 7F07805C E4A40000 */ swc1 $f4, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F078060(void *arg0, void *arg1) { - f32 phi_f2; - - // Node 0 - if (0.0f == arg0->unk8) - { - // Node 1 - phi_f2 = *(void *)0x80050000; - } - else - { - // Node 2 - phi_f2 = (1.0f / arg0->unk8); - } - // Node 3 - 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; -} - -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054FAC -.word 0xe0ad78ec /*-1.0e20*/ -.text -glabel sub_GAME_7F078060 -/* 0ACB90 7F078060 C4800008 */ lwc1 $f0, 8($a0) -/* 0ACB94 7F078064 44802000 */ mtc1 $zero, $f4 -/* 0ACB98 7F078068 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0ACB9C 7F07806C 46002032 */ c.eq.s $f4, $f0 -/* 0ACBA0 7F078070 00000000 */ nop -/* 0ACBA4 7F078074 45020005 */ bc1fl .L7F07808C -/* 0ACBA8 7F078078 44813000 */ mtc1 $at, $f6 -/* 0ACBAC 7F07807C 3C018005 */ lui $at, %hi(D_80054FAC) -/* 0ACBB0 7F078080 10000004 */ b .L7F078094 -/* 0ACBB4 7F078084 C4224FAC */ lwc1 $f2, %lo(D_80054FAC)($at) -/* 0ACBB8 7F078088 44813000 */ mtc1 $at, $f6 -.L7F07808C: -/* 0ACBBC 7F07808C 00000000 */ nop -/* 0ACBC0 7F078090 46003083 */ div.s $f2, $f6, $f0 -.L7F078094: -/* 0ACBC4 7F078094 C4880004 */ lwc1 $f8, 4($a0) -/* 0ACBC8 7F078098 3C038008 */ lui $v1, %hi(pPlayer) -/* 0ACBCC 7F07809C 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0ACBD0 7F0780A0 46024282 */ mul.s $f10, $f8, $f2 -/* 0ACBD4 7F0780A4 8C620000 */ lw $v0, ($v1) -/* 0ACBD8 7F0780A8 C45010C0 */ lwc1 $f16, 0x10c0($v0) -/* 0ACBDC 7F0780AC C444109C */ lwc1 $f4, 0x109c($v0) -/* 0ACBE0 7F0780B0 C44610B0 */ lwc1 $f6, 0x10b0($v0) -/* 0ACBE4 7F0780B4 46105482 */ mul.s $f18, $f10, $f16 -/* 0ACBE8 7F0780B8 46062200 */ add.s $f8, $f4, $f6 -/* 0ACBEC 7F0780BC 46089280 */ add.s $f10, $f18, $f8 -/* 0ACBF0 7F0780C0 E4AA0004 */ swc1 $f10, 4($a1) -/* 0ACBF4 7F0780C4 C4920000 */ lwc1 $f18, ($a0) -/* 0ACBF8 7F0780C8 8C620000 */ lw $v0, ($v1) -/* 0ACBFC 7F0780CC 46029202 */ mul.s $f8, $f18, $f2 -/* 0ACC00 7F0780D0 C4501098 */ lwc1 $f16, 0x1098($v0) -/* 0ACC04 7F0780D4 C44410AC */ lwc1 $f4, 0x10ac($v0) -/* 0ACC08 7F0780D8 C44A10BC */ lwc1 $f10, 0x10bc($v0) -/* 0ACC0C 7F0780DC 46048180 */ add.s $f6, $f16, $f4 -/* 0ACC10 7F0780E0 460A4402 */ mul.s $f16, $f8, $f10 -/* 0ACC14 7F0780E4 46103101 */ sub.s $f4, $f6, $f16 -/* 0ACC18 7F0780E8 03E00008 */ jr $ra -/* 0ACC1C 7F0780EC E4A40000 */ swc1 $f4, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0780F0(void *arg0, s32 arg1, void *arg2) { - f32 temp_f0; - - // Node 0 - temp_f0 = (1.0f / arg1); - arg2->unk4 = (f32) ((arg0->unk4 * temp_f0) * pPlayer->c_recipscaley); - *arg2 = (f32) ((*arg0 * temp_f0) * pPlayer->c_recipscalex); - return &pPlayer; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0780F0 -/* 0ACC20 7F0780F0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0ACC24 7F0780F4 44856000 */ mtc1 $a1, $f12 -/* 0ACC28 7F0780F8 44812000 */ mtc1 $at, $f4 -/* 0ACC2C 7F0780FC C4860004 */ lwc1 $f6, 4($a0) -/* 0ACC30 7F078100 3C028008 */ lui $v0, %hi(pPlayer) -/* 0ACC34 7F078104 460C2003 */ div.s $f0, $f4, $f12 -/* 0ACC38 7F078108 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0ACC3C 7F07810C 8C4E0000 */ lw $t6, ($v0) -/* 0ACC40 7F078110 C5CA10C0 */ lwc1 $f10, 0x10c0($t6) -/* 0ACC44 7F078114 46003202 */ mul.s $f8, $f6, $f0 -/* 0ACC48 7F078118 00000000 */ nop -/* 0ACC4C 7F07811C 460A4402 */ mul.s $f16, $f8, $f10 -/* 0ACC50 7F078120 E4D00004 */ swc1 $f16, 4($a2) -/* 0ACC54 7F078124 C4920000 */ lwc1 $f18, ($a0) -/* 0ACC58 7F078128 8C4F0000 */ lw $t7, ($v0) -/* 0ACC5C 7F07812C 46009102 */ mul.s $f4, $f18, $f0 -/* 0ACC60 7F078130 C5E610BC */ lwc1 $f6, 0x10bc($t7) -/* 0ACC64 7F078134 46062202 */ mul.s $f8, $f4, $f6 -/* 0ACC68 7F078138 03E00008 */ jr $ra -/* 0ACC6C 7F07813C E4C80000 */ swc1 $f8, ($a2) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F078140(void *arg0, void *arg1, f32 arg2, f32 arg3, f32 arg4) { - f32 sp1C; - f32 sp2C; - f32 sp30; - f32 temp_f14; - f32 temp_f4; - f32 temp_f8; - f32 temp_f2; - - // Node 0 - sp1C = sinf(((arg3 * *(void *)0x80050000) / 360.0f), arg3); - 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->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); - arg1->unk4 = (f32) (sp2C * temp_f2); - arg1->unk8 = (f32) (-1.0f * temp_f2); - return arg1; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054FB0 -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F078140 -/* 0ACC70 7F078140 3C018005 */ lui $at, %hi(D_80054FB0) -/* 0ACC74 7F078144 44877000 */ mtc1 $a3, $f14 -/* 0ACC78 7F078148 C4244FB0 */ lwc1 $f4, %lo(D_80054FB0)($at) -/* 0ACC7C 7F07814C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0ACC80 7F078150 44814000 */ mtc1 $at, $f8 -/* 0ACC84 7F078154 46047182 */ mul.s $f6, $f14, $f4 -/* 0ACC88 7F078158 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0ACC8C 7F07815C AFBF0014 */ sw $ra, 0x14($sp) -/* 0ACC90 7F078160 AFA40038 */ sw $a0, 0x38($sp) -/* 0ACC94 7F078164 AFA5003C */ sw $a1, 0x3c($sp) -/* 0ACC98 7F078168 AFA60040 */ sw $a2, 0x40($sp) -/* 0ACC9C 7F07816C 46083303 */ div.s $f12, $f6, $f8 -/* 0ACCA0 7F078170 0FC15FAB */ jal sinf -/* 0ACCA4 7F078174 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0ACCA8 7F078178 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0ACCAC 7F07817C 0FC15FA8 */ jal cosf -/* 0ACCB0 7F078180 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0ACCB4 7F078184 3C028008 */ lui $v0, %hi(pPlayer) -/* 0ACCB8 7F078188 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0ACCBC 7F07818C C7AA001C */ lwc1 $f10, 0x1c($sp) -/* 0ACCC0 7F078190 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 0ACCC4 7F078194 C44210B0 */ lwc1 $f2, 0x10b0($v0) -/* 0ACCC8 7F078198 8FA30038 */ lw $v1, 0x38($sp) -/* 0ACCCC 7F07819C C45010AC */ lwc1 $f16, 0x10ac($v0) -/* 0ACCD0 7F0781A0 46020102 */ mul.s $f4, $f0, $f2 -/* 0ACCD4 7F0781A4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0ACCD8 7F0781A8 46045383 */ div.s $f14, $f10, $f4 -/* 0ACCDC 7F0781AC C4640004 */ lwc1 $f4, 4($v1) -/* 0ACCE0 7F0781B0 46067202 */ mul.s $f8, $f14, $f6 -/* 0ACCE4 7F0781B4 C446109C */ lwc1 $f6, 0x109c($v0) -/* 0ACCE8 7F0781B8 46024282 */ mul.s $f10, $f8, $f2 -/* 0ACCEC 7F0781BC 46062201 */ sub.s $f8, $f4, $f6 -/* 0ACCF0 7F0781C0 46105483 */ div.s $f18, $f10, $f16 -/* 0ACCF4 7F0781C4 46081281 */ sub.s $f10, $f2, $f8 -/* 0ACCF8 7F0781C8 460E5102 */ mul.s $f4, $f10, $f14 -/* 0ACCFC 7F0781CC E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0ACD00 7F0781D0 C4481098 */ lwc1 $f8, 0x1098($v0) -/* 0ACD04 7F0781D4 C4660000 */ lwc1 $f6, ($v1) -/* 0ACD08 7F0781D8 46083281 */ sub.s $f10, $f6, $f8 -/* 0ACD0C 7F0781DC 46105181 */ sub.s $f6, $f10, $f16 -/* 0ACD10 7F0781E0 46123202 */ mul.s $f8, $f6, $f18 -/* 0ACD14 7F0781E4 00000000 */ nop -/* 0ACD18 7F0781E8 46084282 */ mul.s $f10, $f8, $f8 -/* 0ACD1C 7F0781EC E7A80030 */ swc1 $f8, 0x30($sp) -/* 0ACD20 7F0781F0 46042182 */ mul.s $f6, $f4, $f4 -/* 0ACD24 7F0781F4 44812000 */ mtc1 $at, $f4 -/* 0ACD28 7F0781F8 46065200 */ add.s $f8, $f10, $f6 -/* 0ACD2C 7F0781FC 44815000 */ mtc1 $at, $f10 -/* 0ACD30 7F078200 00000000 */ nop -/* 0ACD34 7F078204 460A2182 */ mul.s $f6, $f4, $f10 -/* 0ACD38 7F078208 0C007DF8 */ jal sqrtf -/* 0ACD3C 7F07820C 46064300 */ add.s $f12, $f8, $f6 -/* 0ACD40 7F078210 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0ACD44 7F078214 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0ACD48 7F078218 8FA2003C */ lw $v0, 0x3c($sp) -/* 0ACD4C 7F07821C 46002083 */ div.s $f2, $f4, $f0 -/* 0ACD50 7F078220 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0ACD54 7F078224 46025202 */ mul.s $f8, $f10, $f2 -/* 0ACD58 7F078228 44815000 */ mtc1 $at, $f10 -/* 0ACD5C 7F07822C E4480000 */ swc1 $f8, ($v0) -/* 0ACD60 7F078230 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 0ACD64 7F078234 46023102 */ mul.s $f4, $f6, $f2 -/* 0ACD68 7F078238 00000000 */ nop -/* 0ACD6C 7F07823C 46025202 */ mul.s $f8, $f10, $f2 -/* 0ACD70 7F078240 E4440004 */ swc1 $f4, 4($v0) -/* 0ACD74 7F078244 E4480008 */ swc1 $f8, 8($v0) -/* 0ACD78 7F078248 8FBF0014 */ lw $ra, 0x14($sp) -/* 0ACD7C 7F07824C 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0ACD80 7F078250 03E00008 */ jr $ra -/* 0ACD84 7F078254 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F078258(void *arg0, void *arg1, f32 arg2, f32 arg3) { - f32 sp20; - f32 temp_f12; - - // Node 0 - sp20 = cosf(((arg2 * D_80054FB4) / 360.0f), arg2); - 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 -GLOBAL_ASM( -.late_rodata -glabel D_80054FB4 -.word 0x40490fdb /*3.1415927*/ -glabel D_80054FB8 -.word 0 -glabel D_80054FBC -.word 0 - -/*D:80054FC0*/ -glabel a8s -/*"%8s"*/ -.word 0x25387300 - -glabel aX4_0f -/*"x %4.0f"*/ -.word 0x78202534 -.word 0x2E306600 - -glabel aY4_0f -/*"y %4.0f"*/ -.word 0x79202534 -.word 0x2E306600 - -glabel aZ4_0f -/*"z %4.0f"*/ -.word 0x7A202534 -.word 0x2E306600 - -glabel aS3d -/*"%s %3d"*/ -.word 0x25732025 -.word 0x33640000 - -.text -glabel sub_GAME_7F078258 -/* 0ACD88 7F078258 3C018005 */ lui $at, %hi(D_80054FB4) -/* 0ACD8C 7F07825C 44867000 */ mtc1 $a2, $f14 -/* 0ACD90 7F078260 C4244FB4 */ lwc1 $f4, %lo(D_80054FB4)($at) -/* 0ACD94 7F078264 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0ACD98 7F078268 44814000 */ mtc1 $at, $f8 -/* 0ACD9C 7F07826C 46047182 */ mul.s $f6, $f14, $f4 -/* 0ACDA0 7F078270 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0ACDA4 7F078274 AFBF0014 */ sw $ra, 0x14($sp) -/* 0ACDA8 7F078278 AFA40030 */ sw $a0, 0x30($sp) -/* 0ACDAC 7F07827C AFA50034 */ sw $a1, 0x34($sp) -/* 0ACDB0 7F078280 AFA7003C */ sw $a3, 0x3c($sp) -/* 0ACDB4 7F078284 46083303 */ div.s $f12, $f6, $f8 -/* 0ACDB8 7F078288 0FC15FA8 */ jal cosf -/* 0ACDBC 7F07828C E7AC001C */ swc1 $f12, 0x1c($sp) -/* 0ACDC0 7F078290 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 0ACDC4 7F078294 0FC15FAB */ jal sinf -/* 0ACDC8 7F078298 E7A00020 */ swc1 $f0, 0x20($sp) -/* 0ACDCC 7F07829C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0ACDD0 7F0782A0 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0ACDD4 7F0782A4 8C620000 */ lw $v0, ($v1) -/* 0ACDD8 7F0782A8 8FA40030 */ lw $a0, 0x30($sp) -/* 0ACDDC 7F0782AC C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 0ACDE0 7F0782B0 C44210B0 */ lwc1 $f2, 0x10b0($v0) -/* 0ACDE4 7F0782B4 C4920008 */ lwc1 $f18, 8($a0) -/* 0ACDE8 7F0782B8 C44610AC */ lwc1 $f6, 0x10ac($v0) -/* 0ACDEC 7F0782BC 46025402 */ mul.s $f16, $f10, $f2 -/* 0ACDF0 7F0782C0 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 0ACDF4 7F0782C4 8FA50034 */ lw $a1, 0x34($sp) -/* 0ACDF8 7F0782C8 46009102 */ mul.s $f4, $f18, $f0 -/* 0ACDFC 7F0782CC 46048303 */ div.s $f12, $f16, $f4 -/* 0ACE00 7F0782D0 C4900004 */ lwc1 $f16, 4($a0) -/* 0ACE04 7F0782D4 460C3202 */ mul.s $f8, $f6, $f12 -/* 0ACE08 7F0782D8 C446109C */ lwc1 $f6, 0x109c($v0) -/* 0ACE0C 7F0782DC 46025482 */ mul.s $f18, $f10, $f2 -/* 0ACE10 7F0782E0 46023280 */ add.s $f10, $f6, $f2 -/* 0ACE14 7F0782E4 460C8102 */ mul.s $f4, $f16, $f12 -/* 0ACE18 7F0782E8 46124383 */ div.s $f14, $f8, $f18 -/* 0ACE1C 7F0782EC 460A2200 */ add.s $f8, $f4, $f10 -/* 0ACE20 7F0782F0 E4A80004 */ swc1 $f8, 4($a1) -/* 0ACE24 7F0782F4 8C620000 */ lw $v0, ($v1) -/* 0ACE28 7F0782F8 C4840000 */ lwc1 $f4, ($a0) -/* 0ACE2C 7F0782FC C4521098 */ lwc1 $f18, 0x1098($v0) -/* 0ACE30 7F078300 C45010AC */ lwc1 $f16, 0x10ac($v0) -/* 0ACE34 7F078304 46109180 */ add.s $f6, $f18, $f16 -/* 0ACE38 7F078308 460E2282 */ mul.s $f10, $f4, $f14 -/* 0ACE3C 7F07830C 460A3201 */ sub.s $f8, $f6, $f10 -/* 0ACE40 7F078310 E4A80000 */ swc1 $f8, ($a1) -/* 0ACE44 7F078314 8FBF0014 */ lw $ra, 0x14($sp) -/* 0ACE48 7F078318 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0ACE4C 7F07831C 03E00008 */ jr $ra -/* 0ACE50 7F078320 00000000 */ nop -) -#endif - - - - - -void set_BONDdata_field_10C4(s32 arg0) { - pPlayer->field_10C4 = arg0; -} - -s32 get_BONDdata_field_10C4(void) { - return pPlayer->field_10C4; -} - -void set_BONDdata_field_10C8(s32 arg0) { - pPlayer->field_10C8 = arg0; -} - -s32 get_BONDdata_field_10C8(void) { - return pPlayer->field_10C8; -} - -void set_BONDdata_field_10D8(s32 arg0) { - pPlayer->field_10D8 = arg0; -} - -s32 get_BONDdata_field_10D8(void) { - return pPlayer->field_10D8; -} - -void set_BONDdata_field_10E0(s32 arg0) { - pPlayer->field_10E0 = arg0; -} - -s32 get_BONDdata_field_10E0(void) { - // Node 0 - return pPlayer->field_10E0; -} - -void *copy_BONDdata_field_10CC_to_10E8_set_10CC(s32 arg0) { - pPlayer->field_10E8 = (s32) pPlayer->field_10CC; - pPlayer->field_10CC = arg0; -} - -s32 get_BONDdata_field_10CC(void) { - return pPlayer->field_10CC; -} - -void set_BONDdata_field_10DC(s32 arg0) { - pPlayer->field_10DC = arg0; -} - -s32 get_BONDdata_field_10DC(void) { - return pPlayer->field_10DC; -} - -s32 sub_GAME_7F0783F4(void) { - return pPlayer->field_10E8; -} - -void sub_GAME_7F078404(s32 arg0) { - pPlayer->field_10D0 = arg0; -} - -s32 sub_GAME_7F078414(void) { - return pPlayer->field_10D0; -} - -void sub_GAME_7F078424(s32 arg0) { - pPlayer->field_10EC = pPlayer->field_10D4; - pPlayer->field_10D4 = arg0; -} - -s32 sub_GAME_7F078444(void) { - return pPlayer->field_10D4; -} - -s32 sub_GAME_7F078454(void) { - return pPlayer->field_10EC; -} - -void sub_GAME_7F078464(s32 arg0) { - pPlayer->field_10E4 = arg0; -} - -s32 sub_GAME_7F078474(void) { - return pPlayer->field_10E4; -} - -f32 getPlayer_c_lodscalez(void) -{ - return pPlayer->c_lodscalez; -} - -u32 getPlayer_c_lodscalezu32(void) -{ - return pPlayer->c_lodscalezu32; -} - -f32 getPlayer_c_screenwidth(void) -{ - return pPlayer->c_screenwidth; -} - -f32 getPlayer_c_screenheight(void) -{ - return pPlayer->c_screenheight; -} - -f32 getPlayer_c_screenleft(void) -{ - return pPlayer->c_screenleft; -} - -f32 getPlayer_c_screentop(void) -{ - return pPlayer->c_screentop; -} - -f32 getPlayer_c_perspfovy(void) -{ - return pPlayer->c_perspfovy; -} - -f32 getPlayer_c_perspaspect(void) -{ - return pPlayer->c_perspaspect; -} - - -#ifdef NONMATCHING -void proc_7F078504(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( -.text -glabel sub_GAME_7F078504 -/* 0AD034 7F078504 3C028008 */ lui $v0, %hi(pPlayer) -/* 0AD038 7F078508 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0AD03C 7F07850C 8C4E0000 */ lw $t6, ($v0) -/* 0AD040 7F078510 C5C41100 */ lwc1 $f4, 0x1100($t6) -/* 0AD044 7F078514 E4840000 */ swc1 $f4, ($a0) -/* 0AD048 7F078518 8C4F0000 */ lw $t7, ($v0) -/* 0AD04C 7F07851C C5E61104 */ lwc1 $f6, 0x1104($t7) -/* 0AD050 7F078520 E4860004 */ swc1 $f6, 4($a0) -/* 0AD054 7F078524 8C580000 */ lw $t8, ($v0) -/* 0AD058 7F078528 C7081108 */ lwc1 $f8, 0x1108($t8) -/* 0AD05C 7F07852C 03E00008 */ jr $ra -/* 0AD060 7F078530 E4880008 */ swc1 $f8, 8($a0) -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F078534 -/* 0AD064 7F078534 3C028008 */ lui $v0, %hi(pPlayer) -/* 0AD068 7F078538 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0AD06C 7F07853C 8C4E0000 */ lw $t6, ($v0) -/* 0AD070 7F078540 C5C41100 */ lwc1 $f4, 0x1100($t6) -/* 0AD074 7F078544 E4840000 */ swc1 $f4, ($a0) -/* 0AD078 7F078548 8C4F0000 */ lw $t7, ($v0) -/* 0AD07C 7F07854C C5E61104 */ lwc1 $f6, 0x1104($t7) -/* 0AD080 7F078550 46003207 */ neg.s $f8, $f6 -/* 0AD084 7F078554 E4880004 */ swc1 $f8, 4($a0) -/* 0AD088 7F078558 8C580000 */ lw $t8, ($v0) -/* 0AD08C 7F07855C C70A1108 */ lwc1 $f10, 0x1108($t8) -/* 0AD090 7F078560 03E00008 */ jr $ra -/* 0AD094 7F078564 E48A0008 */ swc1 $f10, 8($a0) -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F078568 -/* 0AD098 7F078568 3C028008 */ lui $v0, %hi(pPlayer) -/* 0AD09C 7F07856C 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0AD0A0 7F078570 8C4E0000 */ lw $t6, ($v0) -/* 0AD0A4 7F078574 C5C4110C */ lwc1 $f4, 0x110c($t6) -/* 0AD0A8 7F078578 E4840000 */ swc1 $f4, ($a0) -/* 0AD0AC 7F07857C 8C4F0000 */ lw $t7, ($v0) -/* 0AD0B0 7F078580 C5E61110 */ lwc1 $f6, 0x1110($t7) -/* 0AD0B4 7F078584 E4860004 */ swc1 $f6, 4($a0) -/* 0AD0B8 7F078588 8C580000 */ lw $t8, ($v0) -/* 0AD0BC 7F07858C C7081114 */ lwc1 $f8, 0x1114($t8) -/* 0AD0C0 7F078590 03E00008 */ jr $ra -/* 0AD0C4 7F078594 E4880008 */ swc1 $f8, 8($a0) -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F078598 -/* 0AD0C8 7F078598 3C028008 */ lui $v0, %hi(pPlayer) -/* 0AD0CC 7F07859C 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0AD0D0 7F0785A0 8C4E0000 */ lw $t6, ($v0) -/* 0AD0D4 7F0785A4 C5C4110C */ lwc1 $f4, 0x110c($t6) -/* 0AD0D8 7F0785A8 46002187 */ neg.s $f6, $f4 -/* 0AD0DC 7F0785AC E4860000 */ swc1 $f6, ($a0) -/* 0AD0E0 7F0785B0 8C4F0000 */ lw $t7, ($v0) -/* 0AD0E4 7F0785B4 C5E81110 */ lwc1 $f8, 0x1110($t7) -/* 0AD0E8 7F0785B8 E4880004 */ swc1 $f8, 4($a0) -/* 0AD0EC 7F0785BC 8C580000 */ lw $t8, ($v0) -/* 0AD0F0 7F0785C0 C70A1114 */ lwc1 $f10, 0x1114($t8) -/* 0AD0F4 7F0785C4 03E00008 */ jr $ra -/* 0AD0F8 7F0785C8 E48A0008 */ swc1 $f10, 8($a0) -) -#endif - - - - - - -f32 getPlayer_c_perspnear(void) -{ - return pPlayer->c_perspnear; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0785DC(void) -{ - f32 sp28; - f32 sp24; - f32 temp_f14; - 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->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_f16 = -temp_f20; - temp_f18 = -temp_f16; - 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.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 -glabel sub_GAME_7F0785DC -/* 0AD10C 7F0785DC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AD110 7F0785E0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0AD114 7F0785E4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0AD118 7F0785E8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0AD11C 7F0785EC F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0AD120 7F0785F0 C46610B8 */ lwc1 $f6, 0x10b8($v1) -/* 0AD124 7F0785F4 C46410B0 */ lwc1 $f4, 0x10b0($v1) -/* 0AD128 7F0785F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AD12C 7F0785FC 44815000 */ mtc1 $at, $f10 -/* 0AD130 7F078600 46062082 */ mul.s $f2, $f4, $f6 -/* 0AD134 7F078604 00000000 */ nop -/* 0AD138 7F078608 46021202 */ mul.s $f8, $f2, $f2 -/* 0AD13C 7F07860C E7A20024 */ swc1 $f2, 0x24($sp) -/* 0AD140 7F078610 0C007DF8 */ jal sqrtf -/* 0AD144 7F078614 460A4300 */ add.s $f12, $f8, $f10 -/* 0AD148 7F078618 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AD14C 7F07861C 44812000 */ mtc1 $at, $f4 -/* 0AD150 7F078620 C7A20024 */ lwc1 $f2, 0x24($sp) -/* 0AD154 7F078624 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AD158 7F078628 46002503 */ div.s $f20, $f4, $f0 -/* 0AD15C 7F07862C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0AD160 7F078630 3C048008 */ lui $a0, %hi(flt_CODE_bss_80079940) -/* 0AD164 7F078634 24849940 */ addiu $a0, %lo(flt_CODE_bss_80079940) # addiu $a0, $a0, -0x66c0 -/* 0AD168 7F078638 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD16C 7F07863C 3C018008 */ lui $at, %hi(flt_CODE_bss_8007994C) -/* 0AD170 7F078640 3C058008 */ lui $a1, %hi(flt_CODE_bss_80079950) -/* 0AD174 7F078644 C4460020 */ lwc1 $f6, 0x20($v0) -/* 0AD178 7F078648 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0AD17C 7F07864C 24A59950 */ addiu $a1, %lo(flt_CODE_bss_80079950) # addiu $a1, $a1, -0x66b0 -/* 0AD180 7F078650 46141082 */ mul.s $f2, $f2, $f20 -/* 0AD184 7F078654 4600A407 */ neg.s $f16, $f20 -/* 0AD188 7F078658 46008487 */ neg.s $f18, $f16 -/* 0AD18C 7F07865C 46023202 */ mul.s $f8, $f6, $f2 -/* 0AD190 7F078660 00000000 */ nop -/* 0AD194 7F078664 460A9102 */ mul.s $f4, $f18, $f10 -/* 0AD198 7F078668 46044180 */ add.s $f6, $f8, $f4 -/* 0AD19C 7F07866C E4860000 */ swc1 $f6, ($a0) -/* 0AD1A0 7F078670 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD1A4 7F078674 C44A0024 */ lwc1 $f10, 0x24($v0) -/* 0AD1A8 7F078678 C4440014 */ lwc1 $f4, 0x14($v0) -/* 0AD1AC 7F07867C 46025202 */ mul.s $f8, $f10, $f2 -/* 0AD1B0 7F078680 00000000 */ nop -/* 0AD1B4 7F078684 46049182 */ mul.s $f6, $f18, $f4 -/* 0AD1B8 7F078688 46064280 */ add.s $f10, $f8, $f6 -/* 0AD1BC 7F07868C E48A0004 */ swc1 $f10, 4($a0) -/* 0AD1C0 7F078690 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD1C4 7F078694 C4440028 */ lwc1 $f4, 0x28($v0) -/* 0AD1C8 7F078698 C4460018 */ lwc1 $f6, 0x18($v0) -/* 0AD1CC 7F07869C 46022202 */ mul.s $f8, $f4, $f2 -/* 0AD1D0 7F0786A0 00000000 */ nop -/* 0AD1D4 7F0786A4 46069282 */ mul.s $f10, $f18, $f6 -/* 0AD1D8 7F0786A8 C4860000 */ lwc1 $f6, ($a0) -/* 0AD1DC 7F0786AC 460A4100 */ add.s $f4, $f8, $f10 -/* 0AD1E0 7F0786B0 E4840008 */ swc1 $f4, 8($a0) -/* 0AD1E4 7F0786B4 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD1E8 7F0786B8 C4840004 */ lwc1 $f4, 4($a0) -/* 0AD1EC 7F0786BC C4480030 */ lwc1 $f8, 0x30($v0) -/* 0AD1F0 7F0786C0 46083282 */ mul.s $f10, $f6, $f8 -/* 0AD1F4 7F0786C4 C4460034 */ lwc1 $f6, 0x34($v0) -/* 0AD1F8 7F0786C8 46062202 */ mul.s $f8, $f4, $f6 -/* 0AD1FC 7F0786CC C4460038 */ lwc1 $f6, 0x38($v0) -/* 0AD200 7F0786D0 46085100 */ add.s $f4, $f10, $f8 -/* 0AD204 7F0786D4 C48A0008 */ lwc1 $f10, 8($a0) -/* 0AD208 7F0786D8 460A3202 */ mul.s $f8, $f6, $f10 -/* 0AD20C 7F0786DC 46044180 */ add.s $f6, $f8, $f4 -/* 0AD210 7F0786E0 E426994C */ swc1 $f6, %lo(flt_CODE_bss_8007994C)($at) -/* 0AD214 7F0786E4 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD218 7F0786E8 3C018008 */ lui $at, %hi(flt_CODE_bss_8007995C) -/* 0AD21C 7F0786EC C44A0020 */ lwc1 $f10, 0x20($v0) -/* 0AD220 7F0786F0 C4440010 */ lwc1 $f4, 0x10($v0) -/* 0AD224 7F0786F4 46025202 */ mul.s $f8, $f10, $f2 -/* 0AD228 7F0786F8 00000000 */ nop -/* 0AD22C 7F0786FC 46048182 */ mul.s $f6, $f16, $f4 -/* 0AD230 7F078700 46064280 */ add.s $f10, $f8, $f6 -/* 0AD234 7F078704 E4AA0000 */ swc1 $f10, ($a1) -/* 0AD238 7F078708 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD23C 7F07870C C4440024 */ lwc1 $f4, 0x24($v0) -/* 0AD240 7F078710 C4460014 */ lwc1 $f6, 0x14($v0) -/* 0AD244 7F078714 46022202 */ mul.s $f8, $f4, $f2 -/* 0AD248 7F078718 00000000 */ nop -/* 0AD24C 7F07871C 46068282 */ mul.s $f10, $f16, $f6 -/* 0AD250 7F078720 460A4100 */ add.s $f4, $f8, $f10 -/* 0AD254 7F078724 E4A40004 */ swc1 $f4, 4($a1) -/* 0AD258 7F078728 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD25C 7F07872C C4460028 */ lwc1 $f6, 0x28($v0) -/* 0AD260 7F078730 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 0AD264 7F078734 46023202 */ mul.s $f8, $f6, $f2 -/* 0AD268 7F078738 00000000 */ nop -/* 0AD26C 7F07873C 460A8102 */ mul.s $f4, $f16, $f10 -/* 0AD270 7F078740 C4AA0000 */ lwc1 $f10, ($a1) -/* 0AD274 7F078744 46044180 */ add.s $f6, $f8, $f4 -/* 0AD278 7F078748 E4A60008 */ swc1 $f6, 8($a1) -/* 0AD27C 7F07874C 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD280 7F078750 C4A60004 */ lwc1 $f6, 4($a1) -/* 0AD284 7F078754 C4480030 */ lwc1 $f8, 0x30($v0) -/* 0AD288 7F078758 46085102 */ mul.s $f4, $f10, $f8 -/* 0AD28C 7F07875C C44A0034 */ lwc1 $f10, 0x34($v0) -/* 0AD290 7F078760 460A3202 */ mul.s $f8, $f6, $f10 -/* 0AD294 7F078764 C44A0038 */ lwc1 $f10, 0x38($v0) -/* 0AD298 7F078768 46082180 */ add.s $f6, $f4, $f8 -/* 0AD29C 7F07876C C4A40008 */ lwc1 $f4, 8($a1) -/* 0AD2A0 7F078770 46045202 */ mul.s $f8, $f10, $f4 -/* 0AD2A4 7F078774 46064280 */ add.s $f10, $f8, $f6 -/* 0AD2A8 7F078778 E42A995C */ swc1 $f10, %lo(flt_CODE_bss_8007995C)($at) -/* 0AD2AC 7F07877C C46410AC */ lwc1 $f4, 0x10ac($v1) -/* 0AD2B0 7F078780 C46610B4 */ lwc1 $f6, 0x10b4($v1) -/* 0AD2B4 7F078784 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AD2B8 7F078788 46002207 */ neg.s $f8, $f4 -/* 0AD2BC 7F07878C 44812000 */ mtc1 $at, $f4 -/* 0AD2C0 7F078790 46064382 */ mul.s $f14, $f8, $f6 -/* 0AD2C4 7F078794 00000000 */ nop -/* 0AD2C8 7F078798 460E7282 */ mul.s $f10, $f14, $f14 -/* 0AD2CC 7F07879C E7AE0028 */ swc1 $f14, 0x28($sp) -/* 0AD2D0 7F0787A0 0C007DF8 */ jal sqrtf -/* 0AD2D4 7F0787A4 46045300 */ add.s $f12, $f10, $f4 -/* 0AD2D8 7F0787A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AD2DC 7F0787AC 44814000 */ mtc1 $at, $f8 -/* 0AD2E0 7F0787B0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AD2E4 7F0787B4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0AD2E8 7F0787B8 46004503 */ div.s $f20, $f8, $f0 -/* 0AD2EC 7F0787BC C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 0AD2F0 7F0787C0 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD2F4 7F0787C4 3C048008 */ lui $a0, %hi(flt_CODE_bss_80079960) -/* 0AD2F8 7F0787C8 24849960 */ addiu $a0, %lo(flt_CODE_bss_80079960) # addiu $a0, $a0, -0x66a0 -/* 0AD2FC 7F0787CC C4460000 */ lwc1 $f6, ($v0) -/* 0AD300 7F0787D0 C4440020 */ lwc1 $f4, 0x20($v0) -/* 0AD304 7F0787D4 3C018008 */ lui $at, %hi(flt_CODE_bss_8007996C) -/* 0AD308 7F0787D8 3C058008 */ lui $a1, %hi(flt_CODE_bss_80079970) -/* 0AD30C 7F0787DC 24A59970 */ addiu $a1, %lo(flt_CODE_bss_80079970) # addiu $a1, $a1, -0x6690 -/* 0AD310 7F0787E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AD314 7F0787E4 46147382 */ mul.s $f14, $f14, $f20 -/* 0AD318 7F0787E8 4600A407 */ neg.s $f16, $f20 -/* 0AD31C 7F0787EC D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0AD320 7F0787F0 46068282 */ mul.s $f10, $f16, $f6 -/* 0AD324 7F0787F4 46008487 */ neg.s $f18, $f16 -/* 0AD328 7F0787F8 460E2202 */ mul.s $f8, $f4, $f14 -/* 0AD32C 7F0787FC 46085181 */ sub.s $f6, $f10, $f8 -/* 0AD330 7F078800 E4860000 */ swc1 $f6, ($a0) -/* 0AD334 7F078804 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD338 7F078808 C4440004 */ lwc1 $f4, 4($v0) -/* 0AD33C 7F07880C C4480024 */ lwc1 $f8, 0x24($v0) -/* 0AD340 7F078810 46048282 */ mul.s $f10, $f16, $f4 -/* 0AD344 7F078814 00000000 */ nop -/* 0AD348 7F078818 460E4182 */ mul.s $f6, $f8, $f14 -/* 0AD34C 7F07881C 46065101 */ sub.s $f4, $f10, $f6 -/* 0AD350 7F078820 E4840004 */ swc1 $f4, 4($a0) -/* 0AD354 7F078824 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD358 7F078828 C4480008 */ lwc1 $f8, 8($v0) -/* 0AD35C 7F07882C C4460028 */ lwc1 $f6, 0x28($v0) -/* 0AD360 7F078830 46088282 */ mul.s $f10, $f16, $f8 -/* 0AD364 7F078834 00000000 */ nop -/* 0AD368 7F078838 460E3102 */ mul.s $f4, $f6, $f14 -/* 0AD36C 7F07883C C4860000 */ lwc1 $f6, ($a0) -/* 0AD370 7F078840 46045201 */ sub.s $f8, $f10, $f4 -/* 0AD374 7F078844 E4880008 */ swc1 $f8, 8($a0) -/* 0AD378 7F078848 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD37C 7F07884C C4880004 */ lwc1 $f8, 4($a0) -/* 0AD380 7F078850 C44A0030 */ lwc1 $f10, 0x30($v0) -/* 0AD384 7F078854 460A3102 */ mul.s $f4, $f6, $f10 -/* 0AD388 7F078858 C4460034 */ lwc1 $f6, 0x34($v0) -/* 0AD38C 7F07885C 46064282 */ mul.s $f10, $f8, $f6 -/* 0AD390 7F078860 C4460038 */ lwc1 $f6, 0x38($v0) -/* 0AD394 7F078864 460A2200 */ add.s $f8, $f4, $f10 -/* 0AD398 7F078868 C4840008 */ lwc1 $f4, 8($a0) -/* 0AD39C 7F07886C 46043282 */ mul.s $f10, $f6, $f4 -/* 0AD3A0 7F078870 46085180 */ add.s $f6, $f10, $f8 -/* 0AD3A4 7F078874 E426996C */ swc1 $f6, %lo(flt_CODE_bss_8007996C)($at) -/* 0AD3A8 7F078878 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD3AC 7F07887C 3C018008 */ lui $at, %hi(flt_CODE_bss_8007997C) -/* 0AD3B0 7F078880 C4440000 */ lwc1 $f4, ($v0) -/* 0AD3B4 7F078884 C4480020 */ lwc1 $f8, 0x20($v0) -/* 0AD3B8 7F078888 46049282 */ mul.s $f10, $f18, $f4 -/* 0AD3BC 7F07888C 00000000 */ nop -/* 0AD3C0 7F078890 460E4182 */ mul.s $f6, $f8, $f14 -/* 0AD3C4 7F078894 46065101 */ sub.s $f4, $f10, $f6 -/* 0AD3C8 7F078898 E4A40000 */ swc1 $f4, ($a1) -/* 0AD3CC 7F07889C 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD3D0 7F0788A0 C4480004 */ lwc1 $f8, 4($v0) -/* 0AD3D4 7F0788A4 C4460024 */ lwc1 $f6, 0x24($v0) -/* 0AD3D8 7F0788A8 46089282 */ mul.s $f10, $f18, $f8 -/* 0AD3DC 7F0788AC 00000000 */ nop -/* 0AD3E0 7F0788B0 460E3102 */ mul.s $f4, $f6, $f14 -/* 0AD3E4 7F0788B4 46045201 */ sub.s $f8, $f10, $f4 -/* 0AD3E8 7F0788B8 E4A80004 */ swc1 $f8, 4($a1) -/* 0AD3EC 7F0788BC 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD3F0 7F0788C0 C4460008 */ lwc1 $f6, 8($v0) -/* 0AD3F4 7F0788C4 C4440028 */ lwc1 $f4, 0x28($v0) -/* 0AD3F8 7F0788C8 46069282 */ mul.s $f10, $f18, $f6 -/* 0AD3FC 7F0788CC 00000000 */ nop -/* 0AD400 7F0788D0 460E2202 */ mul.s $f8, $f4, $f14 -/* 0AD404 7F0788D4 C4A40000 */ lwc1 $f4, ($a1) -/* 0AD408 7F0788D8 46085181 */ sub.s $f6, $f10, $f8 -/* 0AD40C 7F0788DC E4A60008 */ swc1 $f6, 8($a1) -/* 0AD410 7F0788E0 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD414 7F0788E4 C4A60004 */ lwc1 $f6, 4($a1) -/* 0AD418 7F0788E8 C44A0030 */ lwc1 $f10, 0x30($v0) -/* 0AD41C 7F0788EC 460A2202 */ mul.s $f8, $f4, $f10 -/* 0AD420 7F0788F0 C4440034 */ lwc1 $f4, 0x34($v0) -/* 0AD424 7F0788F4 46043282 */ mul.s $f10, $f6, $f4 -/* 0AD428 7F0788F8 C4440038 */ lwc1 $f4, 0x38($v0) -/* 0AD42C 7F0788FC 460A4180 */ add.s $f6, $f8, $f10 -/* 0AD430 7F078900 C4A80008 */ lwc1 $f8, 8($a1) -/* 0AD434 7F078904 46082282 */ mul.s $f10, $f4, $f8 -/* 0AD438 7F078908 46065100 */ add.s $f4, $f10, $f6 -/* 0AD43C 7F07890C E424997C */ swc1 $f4, %lo(flt_CODE_bss_8007997C)($at) -/* 0AD440 7F078910 8C6210D4 */ lw $v0, 0x10d4($v1) -/* 0AD444 7F078914 3C018008 */ lui $at, %hi(flt_CODE_bss_80079980) -/* 0AD448 7F078918 C4480020 */ lwc1 $f8, 0x20($v0) -/* 0AD44C 7F07891C C44A0030 */ lwc1 $f10, 0x30($v0) -/* 0AD450 7F078920 C4440024 */ lwc1 $f4, 0x24($v0) -/* 0AD454 7F078924 460A4182 */ mul.s $f6, $f8, $f10 -/* 0AD458 7F078928 C4480034 */ lwc1 $f8, 0x34($v0) -/* 0AD45C 7F07892C 46082282 */ mul.s $f10, $f4, $f8 -/* 0AD460 7F078930 C4480038 */ lwc1 $f8, 0x38($v0) -/* 0AD464 7F078934 460A3100 */ add.s $f4, $f6, $f10 -/* 0AD468 7F078938 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0AD46C 7F07893C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0AD470 7F078940 46064282 */ mul.s $f10, $f8, $f6 -/* 0AD474 7F078944 46045200 */ add.s $f8, $f10, $f4 -/* 0AD478 7F078948 03E00008 */ jr $ra -/* 0AD47C 7F07894C E4289980 */ swc1 $f8, %lo(flt_CODE_bss_80079980)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F078950(void *arg0, void *arg1) { - // Node 0 - *arg0 = (f32) flt_CODE_bss_80079940; - arg0->unk4 = (f32) flt_CODE_bss_80079940.unk4; - arg0->unk8 = (f32) flt_CODE_bss_80079940.unk8; - *arg1 = (f32) flt_CODE_bss_8007994C; - return &flt_CODE_bss_80079940; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F078950 -/* 0AD480 7F078950 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079940) -/* 0AD484 7F078954 24429940 */ addiu $v0, %lo(flt_CODE_bss_80079940) # addiu $v0, $v0, -0x66c0 -/* 0AD488 7F078958 C4440000 */ lwc1 $f4, ($v0) -/* 0AD48C 7F07895C 3C018008 */ lui $at, %hi(flt_CODE_bss_8007994C) -/* 0AD490 7F078960 E4840000 */ swc1 $f4, ($a0) -/* 0AD494 7F078964 C4460004 */ lwc1 $f6, 4($v0) -/* 0AD498 7F078968 E4860004 */ swc1 $f6, 4($a0) -/* 0AD49C 7F07896C C4480008 */ lwc1 $f8, 8($v0) -/* 0AD4A0 7F078970 E4880008 */ swc1 $f8, 8($a0) -/* 0AD4A4 7F078974 C42A994C */ lwc1 $f10, %lo(flt_CODE_bss_8007994C)($at) -/* 0AD4A8 7F078978 03E00008 */ jr $ra -/* 0AD4AC 7F07897C E4AA0000 */ swc1 $f10, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F078980(void *arg0, void *arg1) { - // Node 0 - *arg0 = (f32) flt_CODE_bss_80079950; - arg0->unk4 = (f32) flt_CODE_bss_80079950.unk4; - arg0->unk8 = (f32) flt_CODE_bss_80079950.unk8; - *arg1 = (f32) flt_CODE_bss_8007995C; - return &flt_CODE_bss_80079950; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F078980 -/* 0AD4B0 7F078980 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079950) -/* 0AD4B4 7F078984 24429950 */ addiu $v0, %lo(flt_CODE_bss_80079950) # addiu $v0, $v0, -0x66b0 -/* 0AD4B8 7F078988 C4440000 */ lwc1 $f4, ($v0) -/* 0AD4BC 7F07898C 3C018008 */ lui $at, %hi(flt_CODE_bss_8007995C) -/* 0AD4C0 7F078990 E4840000 */ swc1 $f4, ($a0) -/* 0AD4C4 7F078994 C4460004 */ lwc1 $f6, 4($v0) -/* 0AD4C8 7F078998 E4860004 */ swc1 $f6, 4($a0) -/* 0AD4CC 7F07899C C4480008 */ lwc1 $f8, 8($v0) -/* 0AD4D0 7F0789A0 E4880008 */ swc1 $f8, 8($a0) -/* 0AD4D4 7F0789A4 C42A995C */ lwc1 $f10, %lo(flt_CODE_bss_8007995C)($at) -/* 0AD4D8 7F0789A8 03E00008 */ jr $ra -/* 0AD4DC 7F0789AC E4AA0000 */ swc1 $f10, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0789B0(void *arg0, void *arg1) { - // Node 0 - *arg0 = (f32) flt_CODE_bss_80079960; - arg0->unk4 = (f32) flt_CODE_bss_80079960.unk4; - arg0->unk8 = (f32) flt_CODE_bss_80079960.unk8; - *arg1 = (f32) flt_CODE_bss_8007996C; - return &flt_CODE_bss_80079960; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0789B0 -/* 0AD4E0 7F0789B0 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079960) -/* 0AD4E4 7F0789B4 24429960 */ addiu $v0, %lo(flt_CODE_bss_80079960) # addiu $v0, $v0, -0x66a0 -/* 0AD4E8 7F0789B8 C4440000 */ lwc1 $f4, ($v0) -/* 0AD4EC 7F0789BC 3C018008 */ lui $at, %hi(flt_CODE_bss_8007996C) -/* 0AD4F0 7F0789C0 E4840000 */ swc1 $f4, ($a0) -/* 0AD4F4 7F0789C4 C4460004 */ lwc1 $f6, 4($v0) -/* 0AD4F8 7F0789C8 E4860004 */ swc1 $f6, 4($a0) -/* 0AD4FC 7F0789CC C4480008 */ lwc1 $f8, 8($v0) -/* 0AD500 7F0789D0 E4880008 */ swc1 $f8, 8($a0) -/* 0AD504 7F0789D4 C42A996C */ lwc1 $f10, %lo(flt_CODE_bss_8007996C)($at) -/* 0AD508 7F0789D8 03E00008 */ jr $ra -/* 0AD50C 7F0789DC E4AA0000 */ swc1 $f10, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0789E0(void *arg0, void *arg1) { - // Node 0 - *arg0 = (f32) flt_CODE_bss_80079970; - arg0->unk4 = (f32) flt_CODE_bss_80079970.unk4; - arg0->unk8 = (f32) flt_CODE_bss_80079970.unk8; - *arg1 = (f32) flt_CODE_bss_8007997C; - return &flt_CODE_bss_80079970; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0789E0 -/* 0AD510 7F0789E0 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079970) -/* 0AD514 7F0789E4 24429970 */ addiu $v0, %lo(flt_CODE_bss_80079970) # addiu $v0, $v0, -0x6690 -/* 0AD518 7F0789E8 C4440000 */ lwc1 $f4, ($v0) -/* 0AD51C 7F0789EC 3C018008 */ lui $at, %hi(flt_CODE_bss_8007997C) -/* 0AD520 7F0789F0 E4840000 */ swc1 $f4, ($a0) -/* 0AD524 7F0789F4 C4460004 */ lwc1 $f6, 4($v0) -/* 0AD528 7F0789F8 E4860004 */ swc1 $f6, 4($a0) -/* 0AD52C 7F0789FC C4480008 */ lwc1 $f8, 8($v0) -/* 0AD530 7F078A00 E4880008 */ swc1 $f8, 8($a0) -/* 0AD534 7F078A04 C42A997C */ lwc1 $f10, %lo(flt_CODE_bss_8007997C)($at) -/* 0AD538 7F078A08 03E00008 */ jr $ra -/* 0AD53C 7F078A0C E4AA0000 */ swc1 $f10, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F078A10(void *arg0, void *arg1) { - // Node 0 - *arg0 = (f32) pPlayer->field_10D4->unk20; - arg0->unk4 = (f32) pPlayer->field_10D4->unk24; - arg0->unk8 = (f32) pPlayer->field_10D4->unk28; - *arg1 = (f32) flt_CODE_bss_80079980; - return &pPlayer; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F078A10 -/* 0AD540 7F078A10 3C028008 */ lui $v0, %hi(pPlayer) -/* 0AD544 7F078A14 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0AD548 7F078A18 8C4E0000 */ lw $t6, ($v0) -/* 0AD54C 7F078A1C 3C018008 */ lui $at, %hi(flt_CODE_bss_80079980) -/* 0AD550 7F078A20 8DCF10D4 */ lw $t7, 0x10d4($t6) -/* 0AD554 7F078A24 C5E40020 */ lwc1 $f4, 0x20($t7) -/* 0AD558 7F078A28 E4840000 */ swc1 $f4, ($a0) -/* 0AD55C 7F078A2C 8C580000 */ lw $t8, ($v0) -/* 0AD560 7F078A30 8F1910D4 */ lw $t9, 0x10d4($t8) -/* 0AD564 7F078A34 C7260024 */ lwc1 $f6, 0x24($t9) -/* 0AD568 7F078A38 E4860004 */ swc1 $f6, 4($a0) -/* 0AD56C 7F078A3C 8C480000 */ lw $t0, ($v0) -/* 0AD570 7F078A40 8D0910D4 */ lw $t1, 0x10d4($t0) -/* 0AD574 7F078A44 C5280028 */ lwc1 $f8, 0x28($t1) -/* 0AD578 7F078A48 E4880008 */ swc1 $f8, 8($a0) -/* 0AD57C 7F078A4C C42A9980 */ lwc1 $f10, %lo(flt_CODE_bss_80079980)($at) -/* 0AD580 7F078A50 03E00008 */ jr $ra -/* 0AD584 7F078A54 E4AA0000 */ swc1 $f10, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F078A58(void *arg0, s32 arg1) { - // Node 0 - if ((flt_CODE_bss_80079980 + arg1) < ((arg0->unk8 * pPlayer->field_10D4->unk28) + ((pPlayer->field_10D4->unk20 * *arg0) + (pPlayer->field_10D4->unk24 * arg0->unk4)))) - { - // Node 1 - return 0; - } - // Node 2 - if ((flt_CODE_bss_8007996C + arg1) < ((arg0->unk8 * flt_CODE_bss_80079960.unk8) + ((flt_CODE_bss_80079960 * *arg0) + (flt_CODE_bss_80079960.unk4 * arg0->unk4)))) - { - // Node 3 - return 0; - } - // Node 4 - if ((flt_CODE_bss_8007997C + arg1) < ((arg0->unk8 * flt_CODE_bss_80079970.unk8) + ((flt_CODE_bss_80079970 * *arg0) + (flt_CODE_bss_80079970.unk4 * arg0->unk4)))) - { - // Node 5 - return 0; - } - // Node 6 - if ((flt_CODE_bss_8007994C + arg1) < ((arg0->unk8 * flt_CODE_bss_80079940.unk8) + ((flt_CODE_bss_80079940 * *arg0) + (flt_CODE_bss_80079940.unk4 * arg0->unk4)))) - { - // Node 7 - return 0; - } - // Node 8 - if ((flt_CODE_bss_8007995C + arg1) < ((arg0->unk8 * flt_CODE_bss_80079950.unk8) + ((flt_CODE_bss_80079950 * *arg0) + (flt_CODE_bss_80079950.unk4 * arg0->unk4)))) - { - // Node 9 - return 0; - } - // Node 10 - return 1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F078A58 -/* 0AD588 7F078A58 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0AD58C 7F078A5C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0AD590 7F078A60 C4820000 */ lwc1 $f2, ($a0) -/* 0AD594 7F078A64 C48E0004 */ lwc1 $f14, 4($a0) -/* 0AD598 7F078A68 8DC210D4 */ lw $v0, 0x10d4($t6) -/* 0AD59C 7F078A6C C4800008 */ lwc1 $f0, 8($a0) -/* 0AD5A0 7F078A70 3C018008 */ lui $at, %hi(flt_CODE_bss_80079980) -/* 0AD5A4 7F078A74 C4480020 */ lwc1 $f8, 0x20($v0) -/* 0AD5A8 7F078A78 C4500024 */ lwc1 $f16, 0x24($v0) -/* 0AD5AC 7F078A7C 44856000 */ mtc1 $a1, $f12 -/* 0AD5B0 7F078A80 46024282 */ mul.s $f10, $f8, $f2 -/* 0AD5B4 7F078A84 C4480028 */ lwc1 $f8, 0x28($v0) -/* 0AD5B8 7F078A88 C4249980 */ lwc1 $f4, %lo(flt_CODE_bss_80079980)($at) -/* 0AD5BC 7F078A8C 460E8482 */ mul.s $f18, $f16, $f14 -/* 0AD5C0 7F078A90 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079960) -/* 0AD5C4 7F078A94 460C2180 */ add.s $f6, $f4, $f12 -/* 0AD5C8 7F078A98 46080402 */ mul.s $f16, $f0, $f8 -/* 0AD5CC 7F078A9C 24429960 */ addiu $v0, %lo(flt_CODE_bss_80079960) # addiu $v0, $v0, -0x66a0 -/* 0AD5D0 7F078AA0 46125100 */ add.s $f4, $f10, $f18 -/* 0AD5D4 7F078AA4 46048280 */ add.s $f10, $f16, $f4 -/* 0AD5D8 7F078AA8 460A303C */ c.lt.s $f6, $f10 -/* 0AD5DC 7F078AAC 00000000 */ nop -/* 0AD5E0 7F078AB0 45020004 */ bc1fl .L7F078AC4 -/* 0AD5E4 7F078AB4 C4500000 */ lwc1 $f16, ($v0) -/* 0AD5E8 7F078AB8 03E00008 */ jr $ra -/* 0AD5EC 7F078ABC 00001025 */ move $v0, $zero - -/* 0AD5F0 7F078AC0 C4500000 */ lwc1 $f16, ($v0) -.L7F078AC4: -/* 0AD5F4 7F078AC4 C4460004 */ lwc1 $f6, 4($v0) -/* 0AD5F8 7F078AC8 3C018008 */ lui $at, %hi(flt_CODE_bss_8007996C) -/* 0AD5FC 7F078ACC 46028102 */ mul.s $f4, $f16, $f2 -/* 0AD600 7F078AD0 C4500008 */ lwc1 $f16, 8($v0) -/* 0AD604 7F078AD4 C432996C */ lwc1 $f18, %lo(flt_CODE_bss_8007996C)($at) -/* 0AD608 7F078AD8 460E3282 */ mul.s $f10, $f6, $f14 -/* 0AD60C 7F078ADC 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079970) -/* 0AD610 7F078AE0 460C9200 */ add.s $f8, $f18, $f12 -/* 0AD614 7F078AE4 46100182 */ mul.s $f6, $f0, $f16 -/* 0AD618 7F078AE8 24429970 */ addiu $v0, %lo(flt_CODE_bss_80079970) # addiu $v0, $v0, -0x6690 -/* 0AD61C 7F078AEC 460A2480 */ add.s $f18, $f4, $f10 -/* 0AD620 7F078AF0 46123100 */ add.s $f4, $f6, $f18 -/* 0AD624 7F078AF4 4604403C */ c.lt.s $f8, $f4 -/* 0AD628 7F078AF8 00000000 */ nop -/* 0AD62C 7F078AFC 45020004 */ bc1fl .L7F078B10 -/* 0AD630 7F078B00 C4460000 */ lwc1 $f6, ($v0) -/* 0AD634 7F078B04 03E00008 */ jr $ra -/* 0AD638 7F078B08 00001025 */ move $v0, $zero - -/* 0AD63C 7F078B0C C4460000 */ lwc1 $f6, ($v0) -.L7F078B10: -/* 0AD640 7F078B10 C4480004 */ lwc1 $f8, 4($v0) -/* 0AD644 7F078B14 3C018008 */ lui $at, %hi(flt_CODE_bss_8007997C) -/* 0AD648 7F078B18 46023482 */ mul.s $f18, $f6, $f2 -/* 0AD64C 7F078B1C C4460008 */ lwc1 $f6, 8($v0) -/* 0AD650 7F078B20 C42A997C */ lwc1 $f10, %lo(flt_CODE_bss_8007997C)($at) -/* 0AD654 7F078B24 460E4102 */ mul.s $f4, $f8, $f14 -/* 0AD658 7F078B28 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079940) -/* 0AD65C 7F078B2C 460C5400 */ add.s $f16, $f10, $f12 -/* 0AD660 7F078B30 46060202 */ mul.s $f8, $f0, $f6 -/* 0AD664 7F078B34 24429940 */ addiu $v0, %lo(flt_CODE_bss_80079940) # addiu $v0, $v0, -0x66c0 -/* 0AD668 7F078B38 46049280 */ add.s $f10, $f18, $f4 -/* 0AD66C 7F078B3C 460A4480 */ add.s $f18, $f8, $f10 -/* 0AD670 7F078B40 4612803C */ c.lt.s $f16, $f18 -/* 0AD674 7F078B44 00000000 */ nop -/* 0AD678 7F078B48 45020004 */ bc1fl .L7F078B5C -/* 0AD67C 7F078B4C C4480000 */ lwc1 $f8, ($v0) -/* 0AD680 7F078B50 03E00008 */ jr $ra -/* 0AD684 7F078B54 00001025 */ move $v0, $zero - -/* 0AD688 7F078B58 C4480000 */ lwc1 $f8, ($v0) -.L7F078B5C: -/* 0AD68C 7F078B5C C4500004 */ lwc1 $f16, 4($v0) -/* 0AD690 7F078B60 3C018008 */ lui $at, %hi(flt_CODE_bss_8007994C) -/* 0AD694 7F078B64 46024282 */ mul.s $f10, $f8, $f2 -/* 0AD698 7F078B68 C4480008 */ lwc1 $f8, 8($v0) -/* 0AD69C 7F078B6C C424994C */ lwc1 $f4, %lo(flt_CODE_bss_8007994C)($at) -/* 0AD6A0 7F078B70 460E8482 */ mul.s $f18, $f16, $f14 -/* 0AD6A4 7F078B74 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079950) -/* 0AD6A8 7F078B78 460C2180 */ add.s $f6, $f4, $f12 -/* 0AD6AC 7F078B7C 46080402 */ mul.s $f16, $f0, $f8 -/* 0AD6B0 7F078B80 24429950 */ addiu $v0, %lo(flt_CODE_bss_80079950) # addiu $v0, $v0, -0x66b0 -/* 0AD6B4 7F078B84 46125100 */ add.s $f4, $f10, $f18 -/* 0AD6B8 7F078B88 46048280 */ add.s $f10, $f16, $f4 -/* 0AD6BC 7F078B8C 460A303C */ c.lt.s $f6, $f10 -/* 0AD6C0 7F078B90 00000000 */ nop -/* 0AD6C4 7F078B94 45020004 */ bc1fl .L7F078BA8 -/* 0AD6C8 7F078B98 C4500000 */ lwc1 $f16, ($v0) -/* 0AD6CC 7F078B9C 03E00008 */ jr $ra -/* 0AD6D0 7F078BA0 00001025 */ move $v0, $zero - -/* 0AD6D4 7F078BA4 C4500000 */ lwc1 $f16, ($v0) -.L7F078BA8: -/* 0AD6D8 7F078BA8 C4460004 */ lwc1 $f6, 4($v0) -/* 0AD6DC 7F078BAC 3C018008 */ lui $at, %hi(flt_CODE_bss_8007995C) -/* 0AD6E0 7F078BB0 46028102 */ mul.s $f4, $f16, $f2 -/* 0AD6E4 7F078BB4 C4500008 */ lwc1 $f16, 8($v0) -/* 0AD6E8 7F078BB8 C432995C */ lwc1 $f18, %lo(flt_CODE_bss_8007995C)($at) -/* 0AD6EC 7F078BBC 460E3282 */ mul.s $f10, $f6, $f14 -/* 0AD6F0 7F078BC0 24020001 */ li $v0, 1 -/* 0AD6F4 7F078BC4 460C9200 */ add.s $f8, $f18, $f12 -/* 0AD6F8 7F078BC8 46100182 */ mul.s $f6, $f0, $f16 -/* 0AD6FC 7F078BCC 460A2480 */ add.s $f18, $f4, $f10 -/* 0AD700 7F078BD0 46123100 */ add.s $f4, $f6, $f18 -/* 0AD704 7F078BD4 4604403C */ c.lt.s $f8, $f4 -/* 0AD708 7F078BD8 00000000 */ nop -/* 0AD70C 7F078BDC 45000003 */ bc1f .L7F078BEC -/* 0AD710 7F078BE0 00000000 */ nop -/* 0AD714 7F078BE4 03E00008 */ jr $ra -/* 0AD718 7F078BE8 00001025 */ move $v0, $zero - -.L7F078BEC: -/* 0AD71C 7F078BEC 03E00008 */ jr $ra -/* 0AD720 7F078BF0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F078BF4(void *arg0, s32 arg1, void *arg2) -{ - f32 sp7C; - f32 sp78; - f32 sp74; - f32 sp6C; - f32 sp68; - f32 sp64; - f32 sp5C; - f32 sp58; - f32 sp54; - f32 sp4C; - f32 sp48; - f32 sp44; - f32 sp38; - f32 sp34; - f32 temp_f2; - f32 temp_f12; - f32 temp_f2_2; - f32 temp_f14; - f32 temp_f10; - f32 temp_f4; - f32 temp_f18; - f32 temp_f2_3; - f32 temp_f12_2; - f32 temp_f2_4; - f32 temp_f14_2; - f32 temp_f6; - f32 temp_f8; - f32 temp_f4_2; - f32 temp_f2_5; - f32 temp_f12_3; - f32 temp_f2_6; - f32 temp_f14_3; - f32 temp_f8_2; - f32 temp_f18_2; - f32 temp_f4_3; - f32 temp_f2_7; - f32 temp_f12_4; - f32 temp_f2_8; - f32 temp_f14_4; - f32 temp_f6_2; - f32 temp_f10_2; - f32 temp_f18_3; - - if ((flt_CODE_bss_80079980 + arg1) < ((arg0->unk8 * pPlayer->field_10D4->unk28) + ((pPlayer->field_10D4->unk20 * *arg0) + (pPlayer->field_10D4->unk24 * arg0->unk4)))) - { - return 0; - } - 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); - temp_f14 = -temp_f12; - temp_f10 = ((temp_f14 * *pPlayer->field_10D4) - (pPlayer->field_10D4->unk20 * temp_f2_2)); - sp54 = temp_f10; - temp_f4 = ((temp_f14 * pPlayer->field_10D4->unk4) - (pPlayer->field_10D4->unk24 * temp_f2_2)); - sp58 = temp_f4; - temp_f18 = ((temp_f14 * pPlayer->field_10D4->unk8) - (pPlayer->field_10D4->unk28 * temp_f2_2)); - sp5C = temp_f18; - if ((((pPlayer->field_10D4->unk38 * temp_f18) + ((temp_f10 * pPlayer->field_10D4->unk30) + (temp_f4 * pPlayer->field_10D4->unk34))) + arg1) < ((arg0->unk8 * temp_f18) + ((temp_f10 * *arg0) + (temp_f4 * arg0->unk4)))) - { - return 0; - } - 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); - temp_f14_2 = --temp_f12_2; - temp_f6 = ((temp_f14_2 * *pPlayer->field_10D4) - (pPlayer->field_10D4->unk20 * temp_f2_4)); - sp44 = temp_f6; - temp_f8 = ((temp_f14_2 * pPlayer->field_10D4->unk4) - (pPlayer->field_10D4->unk24 * temp_f2_4)); - sp48 = temp_f8; - temp_f4_2 = ((temp_f14_2 * pPlayer->field_10D4->unk8) - (pPlayer->field_10D4->unk28 * temp_f2_4)); - sp4C = temp_f4_2; - if ((((pPlayer->field_10D4->unk38 * temp_f4_2) + ((temp_f6 * pPlayer->field_10D4->unk30) + (temp_f8 * pPlayer->field_10D4->unk34))) + arg1) < ((arg0->unk8 * temp_f4_2) + ((temp_f6 * *arg0) + (temp_f8 * arg0->unk4)))) - { - return 0; - } - 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); - temp_f14_3 = --temp_f12_3; - temp_f8_2 = ((pPlayer->field_10D4->unk20 * temp_f2_6) + (temp_f14_3 * pPlayer->field_10D4->unk10)); - sp74 = temp_f8_2; - temp_f18_2 = ((pPlayer->field_10D4->unk24 * temp_f2_6) + (temp_f14_3 * pPlayer->field_10D4->unk14)); - sp78 = temp_f18_2; - temp_f4_3 = ((pPlayer->field_10D4->unk28 * temp_f2_6) + (temp_f14_3 * pPlayer->field_10D4->unk18)); - sp7C = temp_f4_3; - if ((((pPlayer->field_10D4->unk38 * temp_f4_3) + ((temp_f8_2 * pPlayer->field_10D4->unk30) + (temp_f18_2 * pPlayer->field_10D4->unk34))) + arg1) < ((arg0->unk8 * temp_f4_3) + ((temp_f8_2 * *arg0) + (temp_f18_2 * arg0->unk4)))) - { - return 0; - } - 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); - temp_f14_4 = -temp_f12_4; - temp_f6_2 = ((pPlayer->field_10D4->unk20 * temp_f2_8) + (temp_f14_4 * pPlayer->field_10D4->unk10)); - sp64 = temp_f6_2; - temp_f10_2 = ((pPlayer->field_10D4->unk24 * temp_f2_8) + (temp_f14_4 * pPlayer->field_10D4->unk14)); - sp68 = temp_f10_2; - temp_f18_3 = ((pPlayer->field_10D4->unk28 * temp_f2_8) + (temp_f14_4 * pPlayer->field_10D4->unk18)); - sp6C = temp_f18_3; - if ((((pPlayer->field_10D4->unk38 * temp_f18_3) + ((temp_f6_2 * pPlayer->field_10D4->unk30) + (temp_f10_2 * pPlayer->field_10D4->unk34))) + arg1) < ((arg0->unk8 * temp_f18_3) + ((temp_f6_2 * *arg0) + (temp_f10_2 * arg0->unk4)))) - { - - } - return 1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F078BF4 -/* 0AD724 7F078BF4 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0AD728 7F078BF8 AFB00028 */ sw $s0, 0x28($sp) -/* 0AD72C 7F078BFC 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AD730 7F078C00 8E10A0B0 */ lw $s0, %lo(pPlayer)($s0) -/* 0AD734 7F078C04 AFBF002C */ sw $ra, 0x2c($sp) -/* 0AD738 7F078C08 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0AD73C 7F078C0C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0AD740 7F078C10 AFA60088 */ sw $a2, 0x88($sp) -/* 0AD744 7F078C14 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD748 7F078C18 3C018008 */ lui $at, %hi(flt_CODE_bss_80079980) -/* 0AD74C 7F078C1C 4485B000 */ mtc1 $a1, $f22 -/* 0AD750 7F078C20 C4249980 */ lwc1 $f4, %lo(flt_CODE_bss_80079980)($at) -/* 0AD754 7F078C24 C48A0000 */ lwc1 $f10, ($a0) -/* 0AD758 7F078C28 C4480020 */ lwc1 $f8, 0x20($v0) -/* 0AD75C 7F078C2C 46162180 */ add.s $f6, $f4, $f22 -/* 0AD760 7F078C30 C4440024 */ lwc1 $f4, 0x24($v0) -/* 0AD764 7F078C34 460A4482 */ mul.s $f18, $f8, $f10 -/* 0AD768 7F078C38 C4880004 */ lwc1 $f8, 4($a0) -/* 0AD76C 7F078C3C 8FAE0088 */ lw $t6, 0x88($sp) -/* 0AD770 7F078C40 46082282 */ mul.s $f10, $f4, $f8 -/* 0AD774 7F078C44 C4880008 */ lwc1 $f8, 8($a0) -/* 0AD778 7F078C48 460A9100 */ add.s $f4, $f18, $f10 -/* 0AD77C 7F078C4C C4520028 */ lwc1 $f18, 0x28($v0) -/* 0AD780 7F078C50 46124282 */ mul.s $f10, $f8, $f18 -/* 0AD784 7F078C54 46045200 */ add.s $f8, $f10, $f4 -/* 0AD788 7F078C58 4608303C */ c.lt.s $f6, $f8 -/* 0AD78C 7F078C5C 00000000 */ nop -/* 0AD790 7F078C60 45020004 */ bc1fl .L7F078C74 -/* 0AD794 7F078C64 C5D20000 */ lwc1 $f18, ($t6) -/* 0AD798 7F078C68 1000011B */ b .L7F0790D8 -/* 0AD79C 7F078C6C 00001025 */ move $v0, $zero -/* 0AD7A0 7F078C70 C5D20000 */ lwc1 $f18, ($t6) -.L7F078C74: -/* 0AD7A4 7F078C74 C60A1098 */ lwc1 $f10, 0x1098($s0) -/* 0AD7A8 7F078C78 C60610AC */ lwc1 $f6, 0x10ac($s0) -/* 0AD7AC 7F078C7C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AD7B0 7F078C80 460A9101 */ sub.s $f4, $f18, $f10 -/* 0AD7B4 7F078C84 C61210B4 */ lwc1 $f18, 0x10b4($s0) -/* 0AD7B8 7F078C88 4481A000 */ mtc1 $at, $f20 -/* 0AD7BC 7F078C8C AFA40080 */ sw $a0, 0x80($sp) -/* 0AD7C0 7F078C90 46062201 */ sub.s $f8, $f4, $f6 -/* 0AD7C4 7F078C94 46124082 */ mul.s $f2, $f8, $f18 -/* 0AD7C8 7F078C98 00000000 */ nop -/* 0AD7CC 7F078C9C 46021282 */ mul.s $f10, $f2, $f2 -/* 0AD7D0 7F078CA0 E7A20038 */ swc1 $f2, 0x38($sp) -/* 0AD7D4 7F078CA4 0C007DF8 */ jal sqrtf -/* 0AD7D8 7F078CA8 46145300 */ add.s $f12, $f10, $f20 -/* 0AD7DC 7F078CAC 4600A303 */ div.s $f12, $f20, $f0 -/* 0AD7E0 7F078CB0 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AD7E4 7F078CB4 8E10A0B0 */ lw $s0, %lo(pPlayer)($s0) -/* 0AD7E8 7F078CB8 C7A20038 */ lwc1 $f2, 0x38($sp) -/* 0AD7EC 7F078CBC 8FA40080 */ lw $a0, 0x80($sp) -/* 0AD7F0 7F078CC0 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD7F4 7F078CC4 8FAF0088 */ lw $t7, 0x88($sp) -/* 0AD7F8 7F078CC8 C4440000 */ lwc1 $f4, ($v0) -/* 0AD7FC 7F078CCC C4480020 */ lwc1 $f8, 0x20($v0) -/* 0AD800 7F078CD0 460C1082 */ mul.s $f2, $f2, $f12 -/* 0AD804 7F078CD4 46006387 */ neg.s $f14, $f12 -/* 0AD808 7F078CD8 46047182 */ mul.s $f6, $f14, $f4 -/* 0AD80C 7F078CDC 00000000 */ nop -/* 0AD810 7F078CE0 46024482 */ mul.s $f18, $f8, $f2 -/* 0AD814 7F078CE4 46123281 */ sub.s $f10, $f6, $f18 -/* 0AD818 7F078CE8 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 0AD81C 7F078CEC 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD820 7F078CF0 C4440004 */ lwc1 $f4, 4($v0) -/* 0AD824 7F078CF4 C4460024 */ lwc1 $f6, 0x24($v0) -/* 0AD828 7F078CF8 46047202 */ mul.s $f8, $f14, $f4 -/* 0AD82C 7F078CFC 00000000 */ nop -/* 0AD830 7F078D00 46023482 */ mul.s $f18, $f6, $f2 -/* 0AD834 7F078D04 46124101 */ sub.s $f4, $f8, $f18 -/* 0AD838 7F078D08 E7A40058 */ swc1 $f4, 0x58($sp) -/* 0AD83C 7F078D0C 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD840 7F078D10 C4460008 */ lwc1 $f6, 8($v0) -/* 0AD844 7F078D14 C4520028 */ lwc1 $f18, 0x28($v0) -/* 0AD848 7F078D18 46067202 */ mul.s $f8, $f14, $f6 -/* 0AD84C 7F078D1C 00000000 */ nop -/* 0AD850 7F078D20 46029182 */ mul.s $f6, $f18, $f2 -/* 0AD854 7F078D24 46064481 */ sub.s $f18, $f8, $f6 -/* 0AD858 7F078D28 E7B2005C */ swc1 $f18, 0x5c($sp) -/* 0AD85C 7F078D2C 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD860 7F078D30 C4480030 */ lwc1 $f8, 0x30($v0) -/* 0AD864 7F078D34 46085182 */ mul.s $f6, $f10, $f8 -/* 0AD868 7F078D38 C4480034 */ lwc1 $f8, 0x34($v0) -/* 0AD86C 7F078D3C 46082202 */ mul.s $f8, $f4, $f8 -/* 0AD870 7F078D40 46083180 */ add.s $f6, $f6, $f8 -/* 0AD874 7F078D44 C4480038 */ lwc1 $f8, 0x38($v0) -/* 0AD878 7F078D48 46124202 */ mul.s $f8, $f8, $f18 -/* 0AD87C 7F078D4C 46064400 */ add.s $f16, $f8, $f6 -/* 0AD880 7F078D50 C4860000 */ lwc1 $f6, ($a0) -/* 0AD884 7F078D54 46065282 */ mul.s $f10, $f10, $f6 -/* 0AD888 7F078D58 C4860004 */ lwc1 $f6, 4($a0) -/* 0AD88C 7F078D5C 46168200 */ add.s $f8, $f16, $f22 -/* 0AD890 7F078D60 46062102 */ mul.s $f4, $f4, $f6 -/* 0AD894 7F078D64 46045180 */ add.s $f6, $f10, $f4 -/* 0AD898 7F078D68 C48A0008 */ lwc1 $f10, 8($a0) -/* 0AD89C 7F078D6C 46125102 */ mul.s $f4, $f10, $f18 -/* 0AD8A0 7F078D70 46062280 */ add.s $f10, $f4, $f6 -/* 0AD8A4 7F078D74 460A403C */ c.lt.s $f8, $f10 -/* 0AD8A8 7F078D78 00000000 */ nop -/* 0AD8AC 7F078D7C 45000003 */ bc1f .L7F078D8C -/* 0AD8B0 7F078D80 00000000 */ nop -/* 0AD8B4 7F078D84 100000D4 */ b .L7F0790D8 -/* 0AD8B8 7F078D88 00001025 */ move $v0, $zero -.L7F078D8C: -/* 0AD8BC 7F078D8C C5F20008 */ lwc1 $f18, 8($t7) -/* 0AD8C0 7F078D90 C6041098 */ lwc1 $f4, 0x1098($s0) -/* 0AD8C4 7F078D94 C60810AC */ lwc1 $f8, 0x10ac($s0) -/* 0AD8C8 7F078D98 46049181 */ sub.s $f6, $f18, $f4 -/* 0AD8CC 7F078D9C C60410B4 */ lwc1 $f4, 0x10b4($s0) -/* 0AD8D0 7F078DA0 AFA40080 */ sw $a0, 0x80($sp) -/* 0AD8D4 7F078DA4 46083281 */ sub.s $f10, $f6, $f8 -/* 0AD8D8 7F078DA8 46005487 */ neg.s $f18, $f10 -/* 0AD8DC 7F078DAC 46049082 */ mul.s $f2, $f18, $f4 -/* 0AD8E0 7F078DB0 00000000 */ nop -/* 0AD8E4 7F078DB4 46021182 */ mul.s $f6, $f2, $f2 -/* 0AD8E8 7F078DB8 E7A20038 */ swc1 $f2, 0x38($sp) -/* 0AD8EC 7F078DBC 0C007DF8 */ jal sqrtf -/* 0AD8F0 7F078DC0 46143300 */ add.s $f12, $f6, $f20 -/* 0AD8F4 7F078DC4 4600A303 */ div.s $f12, $f20, $f0 -/* 0AD8F8 7F078DC8 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AD8FC 7F078DCC 8E10A0B0 */ lw $s0, %lo(pPlayer)($s0) -/* 0AD900 7F078DD0 C7A20038 */ lwc1 $f2, 0x38($sp) -/* 0AD904 7F078DD4 8FA40080 */ lw $a0, 0x80($sp) -/* 0AD908 7F078DD8 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD90C 7F078DDC 8FB80088 */ lw $t8, 0x88($sp) -/* 0AD910 7F078DE0 C4480000 */ lwc1 $f8, ($v0) -/* 0AD914 7F078DE4 C4520020 */ lwc1 $f18, 0x20($v0) -/* 0AD918 7F078DE8 460C1082 */ mul.s $f2, $f2, $f12 -/* 0AD91C 7F078DEC 46006387 */ neg.s $f14, $f12 -/* 0AD920 7F078DF0 46007387 */ neg.s $f14, $f14 -/* 0AD924 7F078DF4 46087282 */ mul.s $f10, $f14, $f8 -/* 0AD928 7F078DF8 00000000 */ nop -/* 0AD92C 7F078DFC 46029102 */ mul.s $f4, $f18, $f2 -/* 0AD930 7F078E00 46045181 */ sub.s $f6, $f10, $f4 -/* 0AD934 7F078E04 E7A60044 */ swc1 $f6, 0x44($sp) -/* 0AD938 7F078E08 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD93C 7F078E0C C4480004 */ lwc1 $f8, 4($v0) -/* 0AD940 7F078E10 C44A0024 */ lwc1 $f10, 0x24($v0) -/* 0AD944 7F078E14 46087482 */ mul.s $f18, $f14, $f8 -/* 0AD948 7F078E18 00000000 */ nop -/* 0AD94C 7F078E1C 46025102 */ mul.s $f4, $f10, $f2 -/* 0AD950 7F078E20 46049201 */ sub.s $f8, $f18, $f4 -/* 0AD954 7F078E24 E7A80048 */ swc1 $f8, 0x48($sp) -/* 0AD958 7F078E28 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD95C 7F078E2C C44A0008 */ lwc1 $f10, 8($v0) -/* 0AD960 7F078E30 C4440028 */ lwc1 $f4, 0x28($v0) -/* 0AD964 7F078E34 460A7482 */ mul.s $f18, $f14, $f10 -/* 0AD968 7F078E38 00000000 */ nop -/* 0AD96C 7F078E3C 46022282 */ mul.s $f10, $f4, $f2 -/* 0AD970 7F078E40 460A9101 */ sub.s $f4, $f18, $f10 -/* 0AD974 7F078E44 E7A4004C */ swc1 $f4, 0x4c($sp) -/* 0AD978 7F078E48 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0AD97C 7F078E4C C4520030 */ lwc1 $f18, 0x30($v0) -/* 0AD980 7F078E50 46123282 */ mul.s $f10, $f6, $f18 -/* 0AD984 7F078E54 C4520034 */ lwc1 $f18, 0x34($v0) -/* 0AD988 7F078E58 46124482 */ mul.s $f18, $f8, $f18 -/* 0AD98C 7F078E5C 46125280 */ add.s $f10, $f10, $f18 -/* 0AD990 7F078E60 C4520038 */ lwc1 $f18, 0x38($v0) -/* 0AD994 7F078E64 46049482 */ mul.s $f18, $f18, $f4 -/* 0AD998 7F078E68 460A9400 */ add.s $f16, $f18, $f10 -/* 0AD99C 7F078E6C C48A0000 */ lwc1 $f10, ($a0) -/* 0AD9A0 7F078E70 460A3182 */ mul.s $f6, $f6, $f10 -/* 0AD9A4 7F078E74 C48A0004 */ lwc1 $f10, 4($a0) -/* 0AD9A8 7F078E78 46168480 */ add.s $f18, $f16, $f22 -/* 0AD9AC 7F078E7C 460A4202 */ mul.s $f8, $f8, $f10 -/* 0AD9B0 7F078E80 46083280 */ add.s $f10, $f6, $f8 -/* 0AD9B4 7F078E84 C4860008 */ lwc1 $f6, 8($a0) -/* 0AD9B8 7F078E88 46043202 */ mul.s $f8, $f6, $f4 -/* 0AD9BC 7F078E8C 460A4180 */ add.s $f6, $f8, $f10 -/* 0AD9C0 7F078E90 4606903C */ c.lt.s $f18, $f6 -/* 0AD9C4 7F078E94 00000000 */ nop -/* 0AD9C8 7F078E98 45000003 */ bc1f .L7F078EA8 -/* 0AD9CC 7F078E9C 00000000 */ nop -/* 0AD9D0 7F078EA0 1000008D */ b .L7F0790D8 -/* 0AD9D4 7F078EA4 00001025 */ move $v0, $zero -.L7F078EA8: -/* 0AD9D8 7F078EA8 C7040004 */ lwc1 $f4, 4($t8) -/* 0AD9DC 7F078EAC C608109C */ lwc1 $f8, 0x109c($s0) -/* 0AD9E0 7F078EB0 C61210B0 */ lwc1 $f18, 0x10b0($s0) -/* 0AD9E4 7F078EB4 46082281 */ sub.s $f10, $f4, $f8 -/* 0AD9E8 7F078EB8 C60410B8 */ lwc1 $f4, 0x10b8($s0) -/* 0AD9EC 7F078EBC AFA40080 */ sw $a0, 0x80($sp) -/* 0AD9F0 7F078EC0 460A9181 */ sub.s $f6, $f18, $f10 -/* 0AD9F4 7F078EC4 46043082 */ mul.s $f2, $f6, $f4 -/* 0AD9F8 7F078EC8 00000000 */ nop -/* 0AD9FC 7F078ECC 46021202 */ mul.s $f8, $f2, $f2 -/* 0ADA00 7F078ED0 E7A20034 */ swc1 $f2, 0x34($sp) -/* 0ADA04 7F078ED4 0C007DF8 */ jal sqrtf -/* 0ADA08 7F078ED8 46144300 */ add.s $f12, $f8, $f20 -/* 0ADA0C 7F078EDC 4600A303 */ div.s $f12, $f20, $f0 -/* 0ADA10 7F078EE0 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 0ADA14 7F078EE4 3C108008 */ lui $s0, %hi(pPlayer) -/* 0ADA18 7F078EE8 8E10A0B0 */ lw $s0, %lo(pPlayer)($s0) -/* 0ADA1C 7F078EEC 8FA40080 */ lw $a0, 0x80($sp) -/* 0ADA20 7F078EF0 8FB90088 */ lw $t9, 0x88($sp) -/* 0ADA24 7F078EF4 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0ADA28 7F078EF8 C4520020 */ lwc1 $f18, 0x20($v0) -/* 0ADA2C 7F078EFC C4460010 */ lwc1 $f6, 0x10($v0) -/* 0ADA30 7F078F00 460C1082 */ mul.s $f2, $f2, $f12 -/* 0ADA34 7F078F04 46006387 */ neg.s $f14, $f12 -/* 0ADA38 7F078F08 46007387 */ neg.s $f14, $f14 -/* 0ADA3C 7F078F0C 46029282 */ mul.s $f10, $f18, $f2 -/* 0ADA40 7F078F10 00000000 */ nop -/* 0ADA44 7F078F14 46067102 */ mul.s $f4, $f14, $f6 -/* 0ADA48 7F078F18 46045200 */ add.s $f8, $f10, $f4 -/* 0ADA4C 7F078F1C E7A80074 */ swc1 $f8, 0x74($sp) -/* 0ADA50 7F078F20 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0ADA54 7F078F24 C4520024 */ lwc1 $f18, 0x24($v0) -/* 0ADA58 7F078F28 C44A0014 */ lwc1 $f10, 0x14($v0) -/* 0ADA5C 7F078F2C 46029182 */ mul.s $f6, $f18, $f2 -/* 0ADA60 7F078F30 00000000 */ nop -/* 0ADA64 7F078F34 460A7102 */ mul.s $f4, $f14, $f10 -/* 0ADA68 7F078F38 46043480 */ add.s $f18, $f6, $f4 -/* 0ADA6C 7F078F3C E7B20078 */ swc1 $f18, 0x78($sp) -/* 0ADA70 7F078F40 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0ADA74 7F078F44 C44A0028 */ lwc1 $f10, 0x28($v0) -/* 0ADA78 7F078F48 C4440018 */ lwc1 $f4, 0x18($v0) -/* 0ADA7C 7F078F4C 46025182 */ mul.s $f6, $f10, $f2 -/* 0ADA80 7F078F50 00000000 */ nop -/* 0ADA84 7F078F54 46047282 */ mul.s $f10, $f14, $f4 -/* 0ADA88 7F078F58 460A3100 */ add.s $f4, $f6, $f10 -/* 0ADA8C 7F078F5C E7A4007C */ swc1 $f4, 0x7c($sp) -/* 0ADA90 7F078F60 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0ADA94 7F078F64 C4460030 */ lwc1 $f6, 0x30($v0) -/* 0ADA98 7F078F68 46064282 */ mul.s $f10, $f8, $f6 -/* 0ADA9C 7F078F6C C4460034 */ lwc1 $f6, 0x34($v0) -/* 0ADAA0 7F078F70 46069182 */ mul.s $f6, $f18, $f6 -/* 0ADAA4 7F078F74 46065280 */ add.s $f10, $f10, $f6 -/* 0ADAA8 7F078F78 C4460038 */ lwc1 $f6, 0x38($v0) -/* 0ADAAC 7F078F7C 46043182 */ mul.s $f6, $f6, $f4 -/* 0ADAB0 7F078F80 460A3400 */ add.s $f16, $f6, $f10 -/* 0ADAB4 7F078F84 C48A0000 */ lwc1 $f10, ($a0) -/* 0ADAB8 7F078F88 460A4202 */ mul.s $f8, $f8, $f10 -/* 0ADABC 7F078F8C C48A0004 */ lwc1 $f10, 4($a0) -/* 0ADAC0 7F078F90 46168180 */ add.s $f6, $f16, $f22 -/* 0ADAC4 7F078F94 460A9482 */ mul.s $f18, $f18, $f10 -/* 0ADAC8 7F078F98 46124280 */ add.s $f10, $f8, $f18 -/* 0ADACC 7F078F9C C4880008 */ lwc1 $f8, 8($a0) -/* 0ADAD0 7F078FA0 46044482 */ mul.s $f18, $f8, $f4 -/* 0ADAD4 7F078FA4 460A9200 */ add.s $f8, $f18, $f10 -/* 0ADAD8 7F078FA8 4608303C */ c.lt.s $f6, $f8 -/* 0ADADC 7F078FAC 00000000 */ nop -/* 0ADAE0 7F078FB0 45000003 */ bc1f .L7F078FC0 -/* 0ADAE4 7F078FB4 00000000 */ nop -/* 0ADAE8 7F078FB8 10000047 */ b .L7F0790D8 -/* 0ADAEC 7F078FBC 00001025 */ move $v0, $zero -.L7F078FC0: -/* 0ADAF0 7F078FC0 C724000C */ lwc1 $f4, 0xc($t9) -/* 0ADAF4 7F078FC4 C612109C */ lwc1 $f18, 0x109c($s0) -/* 0ADAF8 7F078FC8 C60610B0 */ lwc1 $f6, 0x10b0($s0) -/* 0ADAFC 7F078FCC 46122281 */ sub.s $f10, $f4, $f18 -/* 0ADB00 7F078FD0 C61210B8 */ lwc1 $f18, 0x10b8($s0) -/* 0ADB04 7F078FD4 AFA40080 */ sw $a0, 0x80($sp) -/* 0ADB08 7F078FD8 460A3201 */ sub.s $f8, $f6, $f10 -/* 0ADB0C 7F078FDC 46004107 */ neg.s $f4, $f8 -/* 0ADB10 7F078FE0 46122082 */ mul.s $f2, $f4, $f18 -/* 0ADB14 7F078FE4 00000000 */ nop -/* 0ADB18 7F078FE8 46021182 */ mul.s $f6, $f2, $f2 -/* 0ADB1C 7F078FEC E7A20034 */ swc1 $f2, 0x34($sp) -/* 0ADB20 7F078FF0 0C007DF8 */ jal sqrtf -/* 0ADB24 7F078FF4 46143300 */ add.s $f12, $f6, $f20 -/* 0ADB28 7F078FF8 4600A303 */ div.s $f12, $f20, $f0 -/* 0ADB2C 7F078FFC C7A20034 */ lwc1 $f2, 0x34($sp) -/* 0ADB30 7F079000 3C108008 */ lui $s0, %hi(pPlayer) -/* 0ADB34 7F079004 8E10A0B0 */ lw $s0, %lo(pPlayer)($s0) -/* 0ADB38 7F079008 8FA40080 */ lw $a0, 0x80($sp) -/* 0ADB3C 7F07900C 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0ADB40 7F079010 C44A0020 */ lwc1 $f10, 0x20($v0) -/* 0ADB44 7F079014 C4440010 */ lwc1 $f4, 0x10($v0) -/* 0ADB48 7F079018 460C1082 */ mul.s $f2, $f2, $f12 -/* 0ADB4C 7F07901C 46006387 */ neg.s $f14, $f12 -/* 0ADB50 7F079020 46025202 */ mul.s $f8, $f10, $f2 -/* 0ADB54 7F079024 00000000 */ nop -/* 0ADB58 7F079028 46047482 */ mul.s $f18, $f14, $f4 -/* 0ADB5C 7F07902C 46124180 */ add.s $f6, $f8, $f18 -/* 0ADB60 7F079030 E7A60064 */ swc1 $f6, 0x64($sp) -/* 0ADB64 7F079034 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0ADB68 7F079038 C44A0024 */ lwc1 $f10, 0x24($v0) -/* 0ADB6C 7F07903C C4480014 */ lwc1 $f8, 0x14($v0) -/* 0ADB70 7F079040 46025102 */ mul.s $f4, $f10, $f2 -/* 0ADB74 7F079044 00000000 */ nop -/* 0ADB78 7F079048 46087482 */ mul.s $f18, $f14, $f8 -/* 0ADB7C 7F07904C 46122280 */ add.s $f10, $f4, $f18 -/* 0ADB80 7F079050 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 0ADB84 7F079054 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0ADB88 7F079058 C4480028 */ lwc1 $f8, 0x28($v0) -/* 0ADB8C 7F07905C C4520018 */ lwc1 $f18, 0x18($v0) -/* 0ADB90 7F079060 46024102 */ mul.s $f4, $f8, $f2 -/* 0ADB94 7F079064 00000000 */ nop -/* 0ADB98 7F079068 46127202 */ mul.s $f8, $f14, $f18 -/* 0ADB9C 7F07906C 46082480 */ add.s $f18, $f4, $f8 -/* 0ADBA0 7F079070 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 0ADBA4 7F079074 8E0210D4 */ lw $v0, 0x10d4($s0) -/* 0ADBA8 7F079078 C4440030 */ lwc1 $f4, 0x30($v0) -/* 0ADBAC 7F07907C 46043202 */ mul.s $f8, $f6, $f4 -/* 0ADBB0 7F079080 C4440034 */ lwc1 $f4, 0x34($v0) -/* 0ADBB4 7F079084 46045102 */ mul.s $f4, $f10, $f4 -/* 0ADBB8 7F079088 46044200 */ add.s $f8, $f8, $f4 -/* 0ADBBC 7F07908C C4440038 */ lwc1 $f4, 0x38($v0) -/* 0ADBC0 7F079090 24020001 */ li $v0, 1 -/* 0ADBC4 7F079094 46122102 */ mul.s $f4, $f4, $f18 -/* 0ADBC8 7F079098 46082400 */ add.s $f16, $f4, $f8 -/* 0ADBCC 7F07909C C4880000 */ lwc1 $f8, ($a0) -/* 0ADBD0 7F0790A0 46083182 */ mul.s $f6, $f6, $f8 -/* 0ADBD4 7F0790A4 C4880004 */ lwc1 $f8, 4($a0) -/* 0ADBD8 7F0790A8 46168100 */ add.s $f4, $f16, $f22 -/* 0ADBDC 7F0790AC 46085282 */ mul.s $f10, $f10, $f8 -/* 0ADBE0 7F0790B0 460A3200 */ add.s $f8, $f6, $f10 -/* 0ADBE4 7F0790B4 C4860008 */ lwc1 $f6, 8($a0) -/* 0ADBE8 7F0790B8 46123282 */ mul.s $f10, $f6, $f18 -/* 0ADBEC 7F0790BC 46085180 */ add.s $f6, $f10, $f8 -/* 0ADBF0 7F0790C0 4606203C */ c.lt.s $f4, $f6 -/* 0ADBF4 7F0790C4 00000000 */ nop -/* 0ADBF8 7F0790C8 45000003 */ bc1f .L7F0790D8 -/* 0ADBFC 7F0790CC 00000000 */ nop -/* 0ADC00 7F0790D0 10000001 */ b .L7F0790D8 -/* 0ADC04 7F0790D4 00001025 */ move $v0, $zero -.L7F0790D8: -/* 0ADC08 7F0790D8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0ADC0C 7F0790DC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0ADC10 7F0790E0 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0ADC14 7F0790E4 8FB00028 */ lw $s0, 0x28($sp) -/* 0ADC18 7F0790E8 03E00008 */ jr $ra -/* 0ADC1C 7F0790EC 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -u32 sub_GAME_7F0790F0(void) -{ - s32 temp_s6; - s32 temp_s2; - s32 temp_s7; - void *temp_t3; - void *temp_t6; - f32 temp_f0; - f32 temp_f2; - s32 temp_s0; - s32 temp_s7_2; - s32 temp_hi; - void *temp_t5; - void *temp_t8; - f32 temp_f0_2; - f32 temp_f2_2; - s32 temp_s0_2; - s32 phi_s0; - s32 phi_s1; - s32 phi_s7; - s32 phi_s1_2; - s32 phi_s7_2; - s32 phi_s0_2; - s32 phi_s1_3; - s32 phi_s7_3; - s32 phi_s1_4; - u32 phi_s3; - s32 phi_s1_5; - s32 phi_s1_6; - s32 phi_s1_7; - s32 phi_s1_8; - - temp_s6 = get_cur_playernum(); - temp_s2 = get_num_players(); - phi_s1_2 = 1; - phi_s7_2 = 0; - if (dword_CODE_bss_80079C68 > 0) - { - phi_s7 = 0; -block_2: - temp_s7 = (phi_s7 + 1); - subroutine_arg0->unk29E0 = (s32) (subroutine_arg0->unk29E0 + 1); - phi_s0 = 0; - phi_s1 = 0; - phi_s1_7 = 0; - if (temp_s2 > 0) - { -block_3: - phi_s1_5 = phi_s1_7; - if (phi_s0 != temp_s6) - { - temp_t3 = (&ptr_BONDdata_p1 + (phi_s0 * 4)); - phi_s1_5 = phi_s1_7; - if ((*temp_t3)->unkA8 != 0) - { - temp_t6 = (&dword_CODE_bss_80079C28 + (((s32) subroutine_arg0->unk29E0 % (s32) dword_CODE_bss_80079C68) * 4)); - temp_f0 = ((*temp_t3)->unkA8->unk8 - **temp_t6); - temp_f2 = ((*temp_t3)->unkA8->unk10 - (*temp_t6)->unk8); - phi_s1_5 = phi_s1_7; - if (sqrtf(((temp_f0 * temp_f0) + (temp_f2 * temp_f2))) < 1000.0f) - { - phi_s1_5 = 1; - } - } - } - temp_s0 = (phi_s0 + 1); - phi_s0 = temp_s0; - phi_s1 = phi_s1_5; - phi_s1_7 = phi_s1_5; - if (temp_s0 != temp_s2) - { - goto block_3; - } - } - phi_s1_2 = phi_s1; - phi_s7_2 = temp_s7; - if (phi_s1 != 0) - { - phi_s7 = temp_s7; - if (temp_s7 < dword_CODE_bss_80079C68) - { - goto block_2; - } - phi_s1_2 = phi_s1; - phi_s7_2 = temp_s7; - } - } - phi_s1_4 = phi_s1_2; - phi_s3 = sp4C; - if (phi_s1_2 != 0) - { - phi_s1_4 = phi_s1_2; - phi_s3 = sp4C; - if (phi_s7_2 < dword_CODE_bss_80079C68) - { - phi_s7_3 = phi_s7_2; -block_14: - temp_s7_2 = (phi_s7_3 + 1); - subroutine_arg0->unk29E0 = (s32) (subroutine_arg0->unk29E0 + 1); - temp_hi = ((s32) subroutine_arg0->unk29E0 % (s32) dword_CODE_bss_80079C68); - phi_s0_2 = 0; - phi_s1_3 = 0; - phi_s1_8 = 0; - if (temp_s2 > 0) - { -block_15: - phi_s1_6 = phi_s1_8; - if (phi_s0_2 != temp_s6) - { - temp_t5 = (&ptr_BONDdata_p1 + (phi_s0_2 * 4)); - phi_s1_6 = phi_s1_8; - if ((*temp_t5)->unkA8 != 0) - { - temp_t8 = (&dword_CODE_bss_80079C28 + (temp_hi * 4)); - temp_f0_2 = ((*temp_t5)->unkA8->unk8 - **temp_t8); - temp_f2_2 = ((*temp_t5)->unkA8->unk10 - (*temp_t8)->unk8); - phi_s1_6 = phi_s1_8; - if (sqrtf(((temp_f0_2 * temp_f0_2) + (temp_f2_2 * temp_f2_2))) < 100.0f) - { - phi_s1_6 = 1; - } - } - } - temp_s0_2 = (phi_s0_2 + 1); - phi_s0_2 = temp_s0_2; - phi_s1_3 = phi_s1_6; - phi_s1_8 = phi_s1_6; - if (temp_s0_2 != temp_s2) - { - goto block_15; - } - } - phi_s1_4 = phi_s1_3; - phi_s3 = temp_hi; - if (phi_s1_3 != 0) - { - phi_s7_3 = temp_s7_2; - phi_s1_4 = phi_s1_3; - phi_s3 = temp_hi; - if (temp_s7_2 < dword_CODE_bss_80079C68) - { - goto block_14; - } - } - } - } - if (phi_s1_4 != 0) - { - phi_s3 = (get_random_value() % (u32) dword_CODE_bss_80079C68); - } - return phi_s3; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0790F0 -/* 0ADC20 7F0790F0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0ADC24 7F0790F4 AFBF0044 */ sw $ra, 0x44($sp) -/* 0ADC28 7F0790F8 AFBE0040 */ sw $fp, 0x40($sp) -/* 0ADC2C 7F0790FC AFB7003C */ sw $s7, 0x3c($sp) -/* 0ADC30 7F079100 AFB60038 */ sw $s6, 0x38($sp) -/* 0ADC34 7F079104 AFB50034 */ sw $s5, 0x34($sp) -/* 0ADC38 7F079108 AFB40030 */ sw $s4, 0x30($sp) -/* 0ADC3C 7F07910C AFB3002C */ sw $s3, 0x2c($sp) -/* 0ADC40 7F079110 AFB20028 */ sw $s2, 0x28($sp) -/* 0ADC44 7F079114 AFB10024 */ sw $s1, 0x24($sp) -/* 0ADC48 7F079118 AFB00020 */ sw $s0, 0x20($sp) -/* 0ADC4C 7F07911C 0FC26C54 */ jal get_cur_playernum -/* 0ADC50 7F079120 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0ADC54 7F079124 0FC26919 */ jal get_num_players -/* 0ADC58 7F079128 0040B025 */ move $s6, $v0 -/* 0ADC5C 7F07912C 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_80079C68) -/* 0ADC60 7F079130 8DCE9C68 */ lw $t6, %lo(dword_CODE_bss_80079C68)($t6) -/* 0ADC64 7F079134 00409025 */ move $s2, $v0 -/* 0ADC68 7F079138 24110001 */ li $s1, 1 -/* 0ADC6C 7F07913C 19C00047 */ blez $t6, .L7F07925C -/* 0ADC70 7F079140 0000B825 */ move $s7, $zero -/* 0ADC74 7F079144 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0ADC78 7F079148 3C1E8008 */ lui $fp, %hi(pPlayer) -/* 0ADC7C 7F07914C 3C158008 */ lui $s5, %hi(dword_CODE_bss_80079C28) -/* 0ADC80 7F079150 3C148008 */ lui $s4, %hi(ptr_BONDdata_p1) -/* 0ADC84 7F079154 4481A000 */ mtc1 $at, $f20 -/* 0ADC88 7F079158 26949EE0 */ addiu $s4, %lo(ptr_BONDdata_p1) # addiu $s4, $s4, -0x6120 -/* 0ADC8C 7F07915C 26B59C28 */ addiu $s5, %lo(dword_CODE_bss_80079C28) # addiu $s5, $s5, -0x63d8 -/* 0ADC90 7F079160 27DEA0B0 */ addiu $fp, %lo(pPlayer) # addiu $fp, $fp, -0x5f50 -/* 0ADC94 7F079164 8FC20000 */ lw $v0, ($fp) -.L7F079168: -/* 0ADC98 7F079168 3C098008 */ lui $t1, %hi(dword_CODE_bss_80079C68) -/* 0ADC9C 7F07916C 26F70001 */ addiu $s7, $s7, 1 -/* 0ADCA0 7F079170 8C4F29E0 */ lw $t7, 0x29e0($v0) -/* 0ADCA4 7F079174 00008825 */ move $s1, $zero -/* 0ADCA8 7F079178 00008025 */ move $s0, $zero -/* 0ADCAC 7F07917C 25F80001 */ addiu $t8, $t7, 1 -/* 0ADCB0 7F079180 AC5829E0 */ sw $t8, 0x29e0($v0) -/* 0ADCB4 7F079184 8FD90000 */ lw $t9, ($fp) -/* 0ADCB8 7F079188 8D299C68 */ lw $t1, %lo(dword_CODE_bss_80079C68)($t1) -/* 0ADCBC 7F07918C 8F2829E0 */ lw $t0, 0x29e0($t9) -/* 0ADCC0 7F079190 0109001A */ div $zero, $t0, $t1 -/* 0ADCC4 7F079194 00009810 */ mfhi $s3 -/* 0ADCC8 7F079198 15200002 */ bnez $t1, .L7F0791A4 -/* 0ADCCC 7F07919C 00000000 */ nop -/* 0ADCD0 7F0791A0 0007000D */ break 7 -.L7F0791A4: -/* 0ADCD4 7F0791A4 2401FFFF */ li $at, -1 -/* 0ADCD8 7F0791A8 15210004 */ bne $t1, $at, .L7F0791BC -/* 0ADCDC 7F0791AC 3C018000 */ lui $at, 0x8000 -/* 0ADCE0 7F0791B0 15010002 */ bne $t0, $at, .L7F0791BC -/* 0ADCE4 7F0791B4 00000000 */ nop -/* 0ADCE8 7F0791B8 0006000D */ break 6 -.L7F0791BC: -/* 0ADCEC 7F0791BC 1A40001F */ blez $s2, .L7F07923C -/* 0ADCF0 7F0791C0 00000000 */ nop -.L7F0791C4: -/* 0ADCF4 7F0791C4 5216001B */ beql $s0, $s6, .L7F079234 -/* 0ADCF8 7F0791C8 26100001 */ addiu $s0, $s0, 1 -/* 0ADCFC 7F0791CC 00105080 */ sll $t2, $s0, 2 -/* 0ADD00 7F0791D0 028A5821 */ addu $t3, $s4, $t2 -/* 0ADD04 7F0791D4 8D6C0000 */ lw $t4, ($t3) -/* 0ADD08 7F0791D8 8D8200A8 */ lw $v0, 0xa8($t4) -/* 0ADD0C 7F0791DC 50400015 */ beql $v0, $zero, .L7F079234 -/* 0ADD10 7F0791E0 26100001 */ addiu $s0, $s0, 1 -/* 0ADD14 7F0791E4 00136880 */ sll $t5, $s3, 2 -/* 0ADD18 7F0791E8 02AD7021 */ addu $t6, $s5, $t5 -/* 0ADD1C 7F0791EC 8DC30000 */ lw $v1, ($t6) -/* 0ADD20 7F0791F0 C4440008 */ lwc1 $f4, 8($v0) -/* 0ADD24 7F0791F4 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0ADD28 7F0791F8 C4660000 */ lwc1 $f6, ($v1) -/* 0ADD2C 7F0791FC C46A0008 */ lwc1 $f10, 8($v1) -/* 0ADD30 7F079200 46062001 */ sub.s $f0, $f4, $f6 -/* 0ADD34 7F079204 460A4081 */ sub.s $f2, $f8, $f10 -/* 0ADD38 7F079208 46000402 */ mul.s $f16, $f0, $f0 -/* 0ADD3C 7F07920C 00000000 */ nop -/* 0ADD40 7F079210 46021482 */ mul.s $f18, $f2, $f2 -/* 0ADD44 7F079214 0C007DF8 */ jal sqrtf -/* 0ADD48 7F079218 46128300 */ add.s $f12, $f16, $f18 -/* 0ADD4C 7F07921C 4614003C */ c.lt.s $f0, $f20 -/* 0ADD50 7F079220 00000000 */ nop -/* 0ADD54 7F079224 45020003 */ bc1fl .L7F079234 -/* 0ADD58 7F079228 26100001 */ addiu $s0, $s0, 1 -/* 0ADD5C 7F07922C 24110001 */ li $s1, 1 -/* 0ADD60 7F079230 26100001 */ addiu $s0, $s0, 1 -.L7F079234: -/* 0ADD64 7F079234 1612FFE3 */ bne $s0, $s2, .L7F0791C4 -/* 0ADD68 7F079238 00000000 */ nop -.L7F07923C: -/* 0ADD6C 7F07923C 12200007 */ beqz $s1, .L7F07925C -/* 0ADD70 7F079240 AFB3004C */ sw $s3, 0x4c($sp) -/* 0ADD74 7F079244 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_80079C68) -/* 0ADD78 7F079248 8DEF9C68 */ lw $t7, %lo(dword_CODE_bss_80079C68)($t7) -/* 0ADD7C 7F07924C 02EF082A */ slt $at, $s7, $t7 -/* 0ADD80 7F079250 5420FFC5 */ bnezl $at, .L7F079168 -/* 0ADD84 7F079254 8FC20000 */ lw $v0, ($fp) -/* 0ADD88 7F079258 AFB3004C */ sw $s3, 0x4c($sp) -.L7F07925C: -/* 0ADD8C 7F07925C 3C148008 */ lui $s4, %hi(ptr_BONDdata_p1) -/* 0ADD90 7F079260 3C158008 */ lui $s5, %hi(dword_CODE_bss_80079C28) -/* 0ADD94 7F079264 3C1E8008 */ lui $fp, %hi(pPlayer) -/* 0ADD98 7F079268 27DEA0B0 */ addiu $fp, %lo(pPlayer) # addiu $fp, $fp, -0x5f50 -/* 0ADD9C 7F07926C 26B59C28 */ addiu $s5, %lo(dword_CODE_bss_80079C28) # addiu $s5, $s5, -0x63d8 -/* 0ADDA0 7F079270 26949EE0 */ addiu $s4, %lo(ptr_BONDdata_p1) # addiu $s4, $s4, -0x6120 -/* 0ADDA4 7F079274 12200044 */ beqz $s1, .L7F079388 -/* 0ADDA8 7F079278 8FB3004C */ lw $s3, 0x4c($sp) -/* 0ADDAC 7F07927C 3C188008 */ lui $t8, %hi(dword_CODE_bss_80079C68) -/* 0ADDB0 7F079280 8F189C68 */ lw $t8, %lo(dword_CODE_bss_80079C68)($t8) -/* 0ADDB4 7F079284 02F8082A */ slt $at, $s7, $t8 -/* 0ADDB8 7F079288 1020003F */ beqz $at, .L7F079388 -/* 0ADDBC 7F07928C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0ADDC0 7F079290 4481A000 */ mtc1 $at, $f20 -/* 0ADDC4 7F079294 00000000 */ nop -/* 0ADDC8 7F079298 8FC20000 */ lw $v0, ($fp) -.L7F07929C: -/* 0ADDCC 7F07929C 3C0B8008 */ lui $t3, %hi(dword_CODE_bss_80079C68) -/* 0ADDD0 7F0792A0 26F70001 */ addiu $s7, $s7, 1 -/* 0ADDD4 7F0792A4 8C5929E0 */ lw $t9, 0x29e0($v0) -/* 0ADDD8 7F0792A8 00008825 */ move $s1, $zero -/* 0ADDDC 7F0792AC 00008025 */ move $s0, $zero -/* 0ADDE0 7F0792B0 27280001 */ addiu $t0, $t9, 1 -/* 0ADDE4 7F0792B4 AC4829E0 */ sw $t0, 0x29e0($v0) -/* 0ADDE8 7F0792B8 8FC90000 */ lw $t1, ($fp) -/* 0ADDEC 7F0792BC 8D6B9C68 */ lw $t3, %lo(dword_CODE_bss_80079C68)($t3) -/* 0ADDF0 7F0792C0 8D2A29E0 */ lw $t2, 0x29e0($t1) -/* 0ADDF4 7F0792C4 014B001A */ div $zero, $t2, $t3 -/* 0ADDF8 7F0792C8 00009810 */ mfhi $s3 -/* 0ADDFC 7F0792CC 15600002 */ bnez $t3, .L7F0792D8 -/* 0ADE00 7F0792D0 00000000 */ nop -/* 0ADE04 7F0792D4 0007000D */ break 7 -.L7F0792D8: -/* 0ADE08 7F0792D8 2401FFFF */ li $at, -1 -/* 0ADE0C 7F0792DC 15610004 */ bne $t3, $at, .L7F0792F0 -/* 0ADE10 7F0792E0 3C018000 */ lui $at, 0x8000 -/* 0ADE14 7F0792E4 15410002 */ bne $t2, $at, .L7F0792F0 -/* 0ADE18 7F0792E8 00000000 */ nop -/* 0ADE1C 7F0792EC 0006000D */ break 6 -.L7F0792F0: -/* 0ADE20 7F0792F0 1A40001F */ blez $s2, .L7F079370 -/* 0ADE24 7F0792F4 00000000 */ nop -.L7F0792F8: -/* 0ADE28 7F0792F8 5216001B */ beql $s0, $s6, .L7F079368 -/* 0ADE2C 7F0792FC 26100001 */ addiu $s0, $s0, 1 -/* 0ADE30 7F079300 00106080 */ sll $t4, $s0, 2 -/* 0ADE34 7F079304 028C6821 */ addu $t5, $s4, $t4 -/* 0ADE38 7F079308 8DAE0000 */ lw $t6, ($t5) -/* 0ADE3C 7F07930C 8DC200A8 */ lw $v0, 0xa8($t6) -/* 0ADE40 7F079310 50400015 */ beql $v0, $zero, .L7F079368 -/* 0ADE44 7F079314 26100001 */ addiu $s0, $s0, 1 -/* 0ADE48 7F079318 00137880 */ sll $t7, $s3, 2 -/* 0ADE4C 7F07931C 02AFC021 */ addu $t8, $s5, $t7 -/* 0ADE50 7F079320 8F030000 */ lw $v1, ($t8) -/* 0ADE54 7F079324 C4440008 */ lwc1 $f4, 8($v0) -/* 0ADE58 7F079328 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0ADE5C 7F07932C C4660000 */ lwc1 $f6, ($v1) -/* 0ADE60 7F079330 C46A0008 */ lwc1 $f10, 8($v1) -/* 0ADE64 7F079334 46062001 */ sub.s $f0, $f4, $f6 -/* 0ADE68 7F079338 460A4081 */ sub.s $f2, $f8, $f10 -/* 0ADE6C 7F07933C 46000402 */ mul.s $f16, $f0, $f0 -/* 0ADE70 7F079340 00000000 */ nop -/* 0ADE74 7F079344 46021482 */ mul.s $f18, $f2, $f2 -/* 0ADE78 7F079348 0C007DF8 */ jal sqrtf -/* 0ADE7C 7F07934C 46128300 */ add.s $f12, $f16, $f18 -/* 0ADE80 7F079350 4614003C */ c.lt.s $f0, $f20 -/* 0ADE84 7F079354 00000000 */ nop -/* 0ADE88 7F079358 45020003 */ bc1fl .L7F079368 -/* 0ADE8C 7F07935C 26100001 */ addiu $s0, $s0, 1 -/* 0ADE90 7F079360 24110001 */ li $s1, 1 -/* 0ADE94 7F079364 26100001 */ addiu $s0, $s0, 1 -.L7F079368: -/* 0ADE98 7F079368 1612FFE3 */ bne $s0, $s2, .L7F0792F8 -/* 0ADE9C 7F07936C 00000000 */ nop -.L7F079370: -/* 0ADEA0 7F079370 12200005 */ beqz $s1, .L7F079388 -/* 0ADEA4 7F079374 3C198008 */ lui $t9, %hi(dword_CODE_bss_80079C68) -/* 0ADEA8 7F079378 8F399C68 */ lw $t9, %lo(dword_CODE_bss_80079C68)($t9) -/* 0ADEAC 7F07937C 02F9082A */ slt $at, $s7, $t9 -/* 0ADEB0 7F079380 5420FFC6 */ bnezl $at, .L7F07929C -/* 0ADEB4 7F079384 8FC20000 */ lw $v0, ($fp) -.L7F079388: -/* 0ADEB8 7F079388 5220000B */ beql $s1, $zero, .L7F0793B8 -/* 0ADEBC 7F07938C 8FBF0044 */ lw $ra, 0x44($sp) -/* 0ADEC0 7F079390 0C002914 */ jal get_random_value -/* 0ADEC4 7F079394 00000000 */ nop -/* 0ADEC8 7F079398 3C088008 */ lui $t0, %hi(dword_CODE_bss_80079C68) -/* 0ADECC 7F07939C 8D089C68 */ lw $t0, %lo(dword_CODE_bss_80079C68)($t0) -/* 0ADED0 7F0793A0 0048001B */ divu $zero, $v0, $t0 -/* 0ADED4 7F0793A4 00009810 */ mfhi $s3 -/* 0ADED8 7F0793A8 15000002 */ bnez $t0, .L7F0793B4 -/* 0ADEDC 7F0793AC 00000000 */ nop -/* 0ADEE0 7F0793B0 0007000D */ break 7 -.L7F0793B4: -/* 0ADEE4 7F0793B4 8FBF0044 */ lw $ra, 0x44($sp) -.L7F0793B8: -/* 0ADEE8 7F0793B8 02601025 */ move $v0, $s3 -/* 0ADEEC 7F0793BC 8FB3002C */ lw $s3, 0x2c($sp) -/* 0ADEF0 7F0793C0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0ADEF4 7F0793C4 8FB00020 */ lw $s0, 0x20($sp) -/* 0ADEF8 7F0793C8 8FB10024 */ lw $s1, 0x24($sp) -/* 0ADEFC 7F0793CC 8FB20028 */ lw $s2, 0x28($sp) -/* 0ADF00 7F0793D0 8FB40030 */ lw $s4, 0x30($sp) -/* 0ADF04 7F0793D4 8FB50034 */ lw $s5, 0x34($sp) -/* 0ADF08 7F0793D8 8FB60038 */ lw $s6, 0x38($sp) -/* 0ADF0C 7F0793DC 8FB7003C */ lw $s7, 0x3c($sp) -/* 0ADF10 7F0793E0 8FBE0040 */ lw $fp, 0x40($sp) -/* 0ADF14 7F0793E4 03E00008 */ jr $ra -/* 0ADF18 7F0793E8 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void init_player_BONDdata(void) -{ - if (get_num_players() >= 2) - { - pPlayer->controlstyle = get_player_control_style(get_cur_playernum()); - cur_player_set_control_type(get_player_control_style(get_cur_playernum())); - } - 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; - pPlayer->field_84 = 0.0f; - pPlayer->field_88 = 0.0f; - pPlayer->field_8C = 0; - pPlayer->field_90 = 0.0f; - pPlayer->field_94 = 0; - pPlayer->field_98 = 0.0f; - pPlayer->field_1274 = 0.0f; - pPlayer->field_1278 = 0.0f; - pPlayer->field_127C = 0.0f; - pPlayer->crouchposition = 2; - pPlayer->field_29FC = 2; - pPlayer->ducking_height_offset = 0.0f; - pPlayer->field_A4 = 0.0f; - pPlayer->field_AC = 1; - pPlayer->field_D0 = 0; - 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->pause_animation_state = 0; - pPlayer->paused_flag = 1; - pPlayer->open_close_solo_watch_menu = 0; - pPlayer->field_1A0 = 0; - 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) - { - pPlayer->vv_verta360 = (f32) (pPlayer->vv_verta360 + 360.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->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->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->time_for_fade = -1.0f; - pPlayer->field_3E8 = 0xff; - pPlayer->field_3EC = 0xff; - pPlayer->field_3F0 = 0xff; - pPlayer->field_3F4 = 0xff; - pPlayer->field_3F8 = 0xff; - pPlayer->field_3FC = 0xff; - pPlayer->field_400 = 0.0f; - pPlayer->field_404 = 0.0f; - pPlayer->viewport_alpha = -1.0f; - pPlayer->bondfadetime60 = -1.0f; - pPlayer->bondfadetimemax = 0.0f; - pPlayer->bondfadefracold = 0.0f; - pPlayer->field_42C = 2; - pPlayer->controlstyle = 0; - pPlayer->pause_starting_angle = 0.0f; - pPlayer->field_208 = 0.0f; - pPlayer->pause_target_angle = 0.0f; - pPlayer->field_210 = 0.0f; - pPlayer->field_214 = 0.0f; - pPlayer->field_218 = 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; - pPlayer->field_2A04 = -1; - pPlayer->field_2A08 = 0.0f; - pPlayer->field_2A0C = 0.0f; - pPlayer->field_2A6C = 0; - pPlayer->field_2A70 = 0; -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel init_player_BONDdata -/* 0ADF1C 7F0793EC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0ADF20 7F0793F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0ADF24 7F0793F4 0FC26919 */ jal get_num_players -/* 0ADF28 7F0793F8 00000000 */ nop -/* 0ADF2C 7F0793FC 28410002 */ slti $at, $v0, 2 -/* 0ADF30 7F079400 1420000E */ bnez $at, .L7F07943C -/* 0ADF34 7F079404 00000000 */ nop -/* 0ADF38 7F079408 0FC26C54 */ jal get_cur_playernum -/* 0ADF3C 7F07940C 00000000 */ nop -/* 0ADF40 7F079410 0FC0402F */ jal get_player_control_style -/* 0ADF44 7F079414 00402025 */ move $a0, $v0 -/* 0ADF48 7F079418 3C038008 */ lui $v1, %hi(pPlayer) -/* 0ADF4C 7F07941C 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0ADF50 7F079420 8C6E0000 */ lw $t6, ($v1) -/* 0ADF54 7F079424 0FC26C54 */ jal get_cur_playernum -/* 0ADF58 7F079428 ADC20430 */ sw $v0, 0x430($t6) -/* 0ADF5C 7F07942C 0FC0402F */ jal get_player_control_style -/* 0ADF60 7F079430 00402025 */ move $a0, $v0 -/* 0ADF64 7F079434 0FC29374 */ jal cur_player_set_control_type -/* 0ADF68 7F079438 00402025 */ move $a0, $v0 -.L7F07943C: -/* 0ADF6C 7F07943C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0ADF70 7F079440 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0ADF74 7F079444 44800000 */ mtc1 $zero, $f0 -/* 0ADF78 7F079448 8C6F0000 */ lw $t7, ($v1) -/* 0ADF7C 7F07944C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0ADF80 7F079450 44811000 */ mtc1 $at, $f2 -/* 0ADF84 7F079454 E5E00038 */ swc1 $f0, 0x38($t7) -/* 0ADF88 7F079458 8C780000 */ lw $t8, ($v1) -/* 0ADF8C 7F07945C 24070002 */ li $a3, 2 -/* 0ADF90 7F079460 24050001 */ li $a1, 1 -/* 0ADF94 7F079464 E700003C */ swc1 $f0, 0x3c($t8) -/* 0ADF98 7F079468 8C790000 */ lw $t9, ($v1) -/* 0ADF9C 7F07946C 2406FFFF */ li $a2, -1 -/* 0ADFA0 7F079470 3C01C080 */ li $at, 0xC0800000 # -4.000000 -/* 0ADFA4 7F079474 E7200040 */ swc1 $f0, 0x40($t9) -/* 0ADFA8 7F079478 8C680000 */ lw $t0, ($v1) -/* 0ADFAC 7F07947C 44812000 */ mtc1 $at, $f4 -/* 0ADFB0 7F079480 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0ADFB4 7F079484 E5000044 */ swc1 $f0, 0x44($t0) -/* 0ADFB8 7F079488 8C690000 */ lw $t1, ($v1) -/* 0ADFBC 7F07948C E5200048 */ swc1 $f0, 0x48($t1) -/* 0ADFC0 7F079490 8C6A0000 */ lw $t2, ($v1) -/* 0ADFC4 7F079494 E540004C */ swc1 $f0, 0x4c($t2) -/* 0ADFC8 7F079498 8C6B0000 */ lw $t3, ($v1) -/* 0ADFCC 7F07949C E5600050 */ swc1 $f0, 0x50($t3) -/* 0ADFD0 7F0794A0 8C6C0000 */ lw $t4, ($v1) -/* 0ADFD4 7F0794A4 E5800054 */ swc1 $f0, 0x54($t4) -/* 0ADFD8 7F0794A8 8C6D0000 */ lw $t5, ($v1) -/* 0ADFDC 7F0794AC E5A00058 */ swc1 $f0, 0x58($t5) -/* 0ADFE0 7F0794B0 8C6E0000 */ lw $t6, ($v1) -/* 0ADFE4 7F0794B4 ADC00000 */ sw $zero, ($t6) -/* 0ADFE8 7F0794B8 8C6F0000 */ lw $t7, ($v1) -/* 0ADFEC 7F0794BC E5E00004 */ swc1 $f0, 4($t7) -/* 0ADFF0 7F0794C0 8C780000 */ lw $t8, ($v1) -/* 0ADFF4 7F0794C4 E7000008 */ swc1 $f0, 8($t8) -/* 0ADFF8 7F0794C8 8C790000 */ lw $t9, ($v1) -/* 0ADFFC 7F0794CC E720000C */ swc1 $f0, 0xc($t9) -/* 0AE000 7F0794D0 8C680000 */ lw $t0, ($v1) -/* 0AE004 7F0794D4 E5000010 */ swc1 $f0, 0x10($t0) -/* 0AE008 7F0794D8 8C690000 */ lw $t1, ($v1) -/* 0AE00C 7F0794DC E5200014 */ swc1 $f0, 0x14($t1) -/* 0AE010 7F0794E0 8C6A0000 */ lw $t2, ($v1) -/* 0AE014 7F0794E4 E5420018 */ swc1 $f2, 0x18($t2) -/* 0AE018 7F0794E8 8C6B0000 */ lw $t3, ($v1) -/* 0AE01C 7F0794EC E560001C */ swc1 $f0, 0x1c($t3) -/* 0AE020 7F0794F0 8C6C0000 */ lw $t4, ($v1) -/* 0AE024 7F0794F4 E5820020 */ swc1 $f2, 0x20($t4) -/* 0AE028 7F0794F8 8C6D0000 */ lw $t5, ($v1) -/* 0AE02C 7F0794FC E5A00024 */ swc1 $f0, 0x24($t5) -/* 0AE030 7F079500 8C6E0000 */ lw $t6, ($v1) -/* 0AE034 7F079504 E5C00028 */ swc1 $f0, 0x28($t6) -/* 0AE038 7F079508 8C6F0000 */ lw $t7, ($v1) -/* 0AE03C 7F07950C E5E0002C */ swc1 $f0, 0x2c($t7) -/* 0AE040 7F079510 8C780000 */ lw $t8, ($v1) -/* 0AE044 7F079514 E7000030 */ swc1 $f0, 0x30($t8) -/* 0AE048 7F079518 8C790000 */ lw $t9, ($v1) -/* 0AE04C 7F07951C AF200034 */ sw $zero, 0x34($t9) -/* 0AE050 7F079520 8C680000 */ lw $t0, ($v1) -/* 0AE054 7F079524 E50003C4 */ swc1 $f0, 0x3c4($t0) -/* 0AE058 7F079528 8C690000 */ lw $t1, ($v1) -/* 0AE05C 7F07952C E52003C8 */ swc1 $f0, 0x3c8($t1) -/* 0AE060 7F079530 8C6A0000 */ lw $t2, ($v1) -/* 0AE064 7F079534 E54203CC */ swc1 $f2, 0x3cc($t2) -/* 0AE068 7F079538 8C6B0000 */ lw $t3, ($v1) -/* 0AE06C 7F07953C E5600084 */ swc1 $f0, 0x84($t3) -/* 0AE070 7F079540 8C6C0000 */ lw $t4, ($v1) -/* 0AE074 7F079544 E5800088 */ swc1 $f0, 0x88($t4) -/* 0AE078 7F079548 8C6D0000 */ lw $t5, ($v1) -/* 0AE07C 7F07954C ADA0008C */ sw $zero, 0x8c($t5) -/* 0AE080 7F079550 8C6E0000 */ lw $t6, ($v1) -/* 0AE084 7F079554 E5C00090 */ swc1 $f0, 0x90($t6) -/* 0AE088 7F079558 8C6F0000 */ lw $t7, ($v1) -/* 0AE08C 7F07955C ADE00094 */ sw $zero, 0x94($t7) -/* 0AE090 7F079560 8C780000 */ lw $t8, ($v1) -/* 0AE094 7F079564 E7000098 */ swc1 $f0, 0x98($t8) -/* 0AE098 7F079568 8C790000 */ lw $t9, ($v1) -/* 0AE09C 7F07956C E7201274 */ swc1 $f0, 0x1274($t9) -/* 0AE0A0 7F079570 8C680000 */ lw $t0, ($v1) -/* 0AE0A4 7F079574 E5001278 */ swc1 $f0, 0x1278($t0) -/* 0AE0A8 7F079578 8C690000 */ lw $t1, ($v1) -/* 0AE0AC 7F07957C E520127C */ swc1 $f0, 0x127c($t1) -/* 0AE0B0 7F079580 8C6A0000 */ lw $t2, ($v1) -/* 0AE0B4 7F079584 AD47009C */ sw $a3, 0x9c($t2) -/* 0AE0B8 7F079588 8C6B0000 */ lw $t3, ($v1) -/* 0AE0BC 7F07958C AD6729FC */ sw $a3, 0x29fc($t3) -/* 0AE0C0 7F079590 8C6C0000 */ lw $t4, ($v1) -/* 0AE0C4 7F079594 E58000A0 */ swc1 $f0, 0xa0($t4) -/* 0AE0C8 7F079598 8C6D0000 */ lw $t5, ($v1) -/* 0AE0CC 7F07959C E5A000A4 */ swc1 $f0, 0xa4($t5) -/* 0AE0D0 7F0795A0 8C6E0000 */ lw $t6, ($v1) -/* 0AE0D4 7F0795A4 ADC500AC */ sw $a1, 0xac($t6) -/* 0AE0D8 7F0795A8 8C6F0000 */ lw $t7, ($v1) -/* 0AE0DC 7F0795AC ADE000D0 */ sw $zero, 0xd0($t7) -/* 0AE0E0 7F0795B0 8C780000 */ lw $t8, ($v1) -/* 0AE0E4 7F0795B4 AF0000D8 */ sw $zero, 0xd8($t8) -/* 0AE0E8 7F0795B8 8C790000 */ lw $t9, ($v1) -/* 0AE0EC 7F0795BC E72200DC */ swc1 $f2, 0xdc($t9) -/* 0AE0F0 7F0795C0 8C680000 */ lw $t0, ($v1) -/* 0AE0F4 7F0795C4 E50000E0 */ swc1 $f0, 0xe0($t0) -/* 0AE0F8 7F0795C8 8C690000 */ lw $t1, ($v1) -/* 0AE0FC 7F0795CC E52200E4 */ swc1 $f2, 0xe4($t1) -/* 0AE100 7F0795D0 8C6A0000 */ lw $t2, ($v1) -/* 0AE104 7F0795D4 E54000E8 */ swc1 $f0, 0xe8($t2) -/* 0AE108 7F0795D8 8C6B0000 */ lw $t3, ($v1) -/* 0AE10C 7F0795DC E56200EC */ swc1 $f2, 0xec($t3) -/* 0AE110 7F0795E0 8C6C0000 */ lw $t4, ($v1) -/* 0AE114 7F0795E4 E58000F0 */ swc1 $f0, 0xf0($t4) -/* 0AE118 7F0795E8 8C6D0000 */ lw $t5, ($v1) -/* 0AE11C 7F0795EC ADA600F4 */ sw $a2, 0xf4($t5) -/* 0AE120 7F0795F0 8C6E0000 */ lw $t6, ($v1) -/* 0AE124 7F0795F4 ADC600F8 */ sw $a2, 0xf8($t6) -/* 0AE128 7F0795F8 8C6F0000 */ lw $t7, ($v1) -/* 0AE12C 7F0795FC ADE001C0 */ sw $zero, 0x1c0($t7) -/* 0AE130 7F079600 8C780000 */ lw $t8, ($v1) -/* 0AE134 7F079604 AF0001C4 */ sw $zero, 0x1c4($t8) -/* 0AE138 7F079608 8C790000 */ lw $t9, ($v1) -/* 0AE13C 7F07960C AF2001C8 */ sw $zero, 0x1c8($t9) -/* 0AE140 7F079610 8C680000 */ lw $t0, ($v1) -/* 0AE144 7F079614 AD0501CC */ sw $a1, 0x1cc($t0) -/* 0AE148 7F079618 8C690000 */ lw $t1, ($v1) -/* 0AE14C 7F07961C AD2001D0 */ sw $zero, 0x1d0($t1) -/* 0AE150 7F079620 8C6A0000 */ lw $t2, ($v1) -/* 0AE154 7F079624 AD4001A0 */ sw $zero, 0x1a0($t2) -/* 0AE158 7F079628 8C6B0000 */ lw $t3, ($v1) -/* 0AE15C 7F07962C E560019C */ swc1 $f0, 0x19c($t3) -/* 0AE160 7F079630 8C6C0000 */ lw $t4, ($v1) -/* 0AE164 7F079634 E580014C */ swc1 $f0, 0x14c($t4) -/* 0AE168 7F079638 8C6D0000 */ lw $t5, ($v1) -/* 0AE16C 7F07963C E5A20150 */ swc1 $f2, 0x150($t5) -/* 0AE170 7F079640 8C6E0000 */ lw $t6, ($v1) -/* 0AE174 7F079644 E5C00154 */ swc1 $f0, 0x154($t6) -/* 0AE178 7F079648 8C6F0000 */ lw $t7, ($v1) -/* 0AE17C 7F07964C E5E40158 */ swc1 $f4, 0x158($t7) -/* 0AE180 7F079650 8C640000 */ lw $a0, ($v1) -/* 0AE184 7F079654 C4860158 */ lwc1 $f6, 0x158($a0) -/* 0AE188 7F079658 E486015C */ swc1 $f6, 0x15c($a0) -/* 0AE18C 7F07965C 8C640000 */ lw $a0, ($v1) -/* 0AE190 7F079660 C48C015C */ lwc1 $f12, 0x15c($a0) -/* 0AE194 7F079664 4600603C */ c.lt.s $f12, $f0 -/* 0AE198 7F079668 00000000 */ nop -/* 0AE19C 7F07966C 45020007 */ bc1fl .L7F07968C -/* 0AE1A0 7F079670 E4800160 */ swc1 $f0, 0x160($a0) -/* 0AE1A4 7F079674 44814000 */ mtc1 $at, $f8 -/* 0AE1A8 7F079678 00000000 */ nop -/* 0AE1AC 7F07967C 46086280 */ add.s $f10, $f12, $f8 -/* 0AE1B0 7F079680 E48A015C */ swc1 $f10, 0x15c($a0) -/* 0AE1B4 7F079684 8C640000 */ lw $a0, ($v1) -/* 0AE1B8 7F079688 E4800160 */ swc1 $f0, 0x160($a0) -.L7F07968C: -/* 0AE1BC 7F07968C 8C780000 */ lw $t8, ($v1) -/* 0AE1C0 7F079690 240200FF */ li $v0, 255 -/* 0AE1C4 7F079694 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0AE1C8 7F079698 E7020164 */ swc1 $f2, 0x164($t8) -/* 0AE1CC 7F07969C 8C790000 */ lw $t9, ($v1) -/* 0AE1D0 7F0796A0 44816000 */ mtc1 $at, $f12 -/* 0AE1D4 7F0796A4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0AE1D8 7F0796A8 E7200168 */ swc1 $f0, 0x168($t9) -/* 0AE1DC 7F0796AC 8C680000 */ lw $t0, ($v1) -/* 0AE1E0 7F0796B0 44818000 */ mtc1 $at, $f16 -/* 0AE1E4 7F0796B4 E500016C */ swc1 $f0, 0x16c($t0) -/* 0AE1E8 7F0796B8 8C690000 */ lw $t1, ($v1) -/* 0AE1EC 7F0796BC E5200170 */ swc1 $f0, 0x170($t1) -/* 0AE1F0 7F0796C0 8C6A0000 */ lw $t2, ($v1) -/* 0AE1F4 7F0796C4 E5400174 */ swc1 $f0, 0x174($t2) -/* 0AE1F8 7F0796C8 8C6B0000 */ lw $t3, ($v1) -/* 0AE1FC 7F0796CC E5602A4C */ swc1 $f0, 0x2a4c($t3) -/* 0AE200 7F0796D0 8C6C0000 */ lw $t4, ($v1) -/* 0AE204 7F0796D4 E5820178 */ swc1 $f2, 0x178($t4) -/* 0AE208 7F0796D8 8C6D0000 */ lw $t5, ($v1) -/* 0AE20C 7F0796DC ADA0017C */ sw $zero, 0x17c($t5) -/* 0AE210 7F0796E0 8C6E0000 */ lw $t6, ($v1) -/* 0AE214 7F0796E4 E5C00180 */ swc1 $f0, 0x180($t6) -/* 0AE218 7F0796E8 8C6F0000 */ lw $t7, ($v1) -/* 0AE21C 7F0796EC E5E00184 */ swc1 $f0, 0x184($t7) -/* 0AE220 7F0796F0 8C780000 */ lw $t8, ($v1) -/* 0AE224 7F0796F4 E7000188 */ swc1 $f0, 0x188($t8) -/* 0AE228 7F0796F8 8C790000 */ lw $t9, ($v1) -/* 0AE22C 7F0796FC AF200104 */ sw $zero, 0x104($t9) -/* 0AE230 7F079700 8C680000 */ lw $t0, ($v1) -/* 0AE234 7F079704 AD000108 */ sw $zero, 0x108($t0) -/* 0AE238 7F079708 8C690000 */ lw $t1, ($v1) -/* 0AE23C 7F07970C AD20010C */ sw $zero, 0x10c($t1) -/* 0AE240 7F079710 8C6A0000 */ lw $t2, ($v1) -/* 0AE244 7F079714 AD400110 */ sw $zero, 0x110($t2) -/* 0AE248 7F079718 8C6B0000 */ lw $t3, ($v1) -/* 0AE24C 7F07971C AD650114 */ sw $a1, 0x114($t3) -/* 0AE250 7F079720 8C6C0000 */ lw $t4, ($v1) -/* 0AE254 7F079724 AD850118 */ sw $a1, 0x118($t4) -/* 0AE258 7F079728 8C6D0000 */ lw $t5, ($v1) -/* 0AE25C 7F07972C ADA0011C */ sw $zero, 0x11c($t5) -/* 0AE260 7F079730 8C6E0000 */ lw $t6, ($v1) -/* 0AE264 7F079734 ADC50120 */ sw $a1, 0x120($t6) -/* 0AE268 7F079738 8C6F0000 */ lw $t7, ($v1) -/* 0AE26C 7F07973C ADE00124 */ sw $zero, 0x124($t7) -/* 0AE270 7F079740 8C780000 */ lw $t8, ($v1) -/* 0AE274 7F079744 AF050128 */ sw $a1, 0x128($t8) -/* 0AE278 7F079748 8C790000 */ lw $t9, ($v1) -/* 0AE27C 7F07974C E720012C */ swc1 $f0, 0x12c($t9) -/* 0AE280 7F079750 8C680000 */ lw $t0, ($v1) -/* 0AE284 7F079754 AD000130 */ sw $zero, 0x130($t0) -/* 0AE288 7F079758 8C690000 */ lw $t1, ($v1) -/* 0AE28C 7F07975C AD260134 */ sw $a2, 0x134($t1) -/* 0AE290 7F079760 8C6A0000 */ lw $t2, ($v1) -/* 0AE294 7F079764 AD450138 */ sw $a1, 0x138($t2) -/* 0AE298 7F079768 8C6B0000 */ lw $t3, ($v1) -/* 0AE29C 7F07976C E560013C */ swc1 $f0, 0x13c($t3) -/* 0AE2A0 7F079770 8C6C0000 */ lw $t4, ($v1) -/* 0AE2A4 7F079774 AD800140 */ sw $zero, 0x140($t4) -/* 0AE2A8 7F079778 8C6D0000 */ lw $t5, ($v1) -/* 0AE2AC 7F07977C ADA60144 */ sw $a2, 0x144($t5) -/* 0AE2B0 7F079780 8C6E0000 */ lw $t6, ($v1) -/* 0AE2B4 7F079784 ADC203D0 */ sw $v0, 0x3d0($t6) -/* 0AE2B8 7F079788 8C6F0000 */ lw $t7, ($v1) -/* 0AE2BC 7F07978C ADE203D4 */ sw $v0, 0x3d4($t7) -/* 0AE2C0 7F079790 8C780000 */ lw $t8, ($v1) -/* 0AE2C4 7F079794 AF0203D8 */ sw $v0, 0x3d8($t8) -/* 0AE2C8 7F079798 8C790000 */ lw $t9, ($v1) -/* 0AE2CC 7F07979C E72003DC */ swc1 $f0, 0x3dc($t9) -/* 0AE2D0 7F0797A0 8C680000 */ lw $t0, ($v1) -/* 0AE2D4 7F0797A4 E50C03E0 */ swc1 $f12, 0x3e0($t0) -/* 0AE2D8 7F0797A8 8C690000 */ lw $t1, ($v1) -/* 0AE2DC 7F0797AC E52C03E4 */ swc1 $f12, 0x3e4($t1) -/* 0AE2E0 7F0797B0 8C6A0000 */ lw $t2, ($v1) -/* 0AE2E4 7F0797B4 AD4203E8 */ sw $v0, 0x3e8($t2) -/* 0AE2E8 7F0797B8 8C6B0000 */ lw $t3, ($v1) -/* 0AE2EC 7F0797BC AD6203EC */ sw $v0, 0x3ec($t3) -/* 0AE2F0 7F0797C0 8C6C0000 */ lw $t4, ($v1) -/* 0AE2F4 7F0797C4 AD8203F0 */ sw $v0, 0x3f0($t4) -/* 0AE2F8 7F0797C8 8C6D0000 */ lw $t5, ($v1) -/* 0AE2FC 7F0797CC ADA203F4 */ sw $v0, 0x3f4($t5) -/* 0AE300 7F0797D0 8C6E0000 */ lw $t6, ($v1) -/* 0AE304 7F0797D4 ADC203F8 */ sw $v0, 0x3f8($t6) -/* 0AE308 7F0797D8 8C6F0000 */ lw $t7, ($v1) -/* 0AE30C 7F0797DC ADE203FC */ sw $v0, 0x3fc($t7) -/* 0AE310 7F0797E0 8C780000 */ lw $t8, ($v1) -/* 0AE314 7F0797E4 E7000400 */ swc1 $f0, 0x400($t8) -/* 0AE318 7F0797E8 8C790000 */ lw $t9, ($v1) -/* 0AE31C 7F0797EC E7200404 */ swc1 $f0, 0x404($t9) -/* 0AE320 7F0797F0 8C680000 */ lw $t0, ($v1) -/* 0AE324 7F0797F4 E50C018C */ swc1 $f12, 0x18c($t0) -/* 0AE328 7F0797F8 8C690000 */ lw $t1, ($v1) -/* 0AE32C 7F0797FC E52C0190 */ swc1 $f12, 0x190($t1) -/* 0AE330 7F079800 8C6A0000 */ lw $t2, ($v1) -/* 0AE334 7F079804 E5400194 */ swc1 $f0, 0x194($t2) -/* 0AE338 7F079808 8C6B0000 */ lw $t3, ($v1) -/* 0AE33C 7F07980C E5600198 */ swc1 $f0, 0x198($t3) -/* 0AE340 7F079810 8C6C0000 */ lw $t4, ($v1) -/* 0AE344 7F079814 AD87042C */ sw $a3, 0x42c($t4) -/* 0AE348 7F079818 8C6D0000 */ lw $t5, ($v1) -/* 0AE34C 7F07981C ADA00430 */ sw $zero, 0x430($t5) -/* 0AE350 7F079820 8C6E0000 */ lw $t6, ($v1) -/* 0AE354 7F079824 E5C00204 */ swc1 $f0, 0x204($t6) -/* 0AE358 7F079828 8C6F0000 */ lw $t7, ($v1) -/* 0AE35C 7F07982C E5E00208 */ swc1 $f0, 0x208($t7) -/* 0AE360 7F079830 8C780000 */ lw $t8, ($v1) -/* 0AE364 7F079834 E700020C */ swc1 $f0, 0x20c($t8) -/* 0AE368 7F079838 8C790000 */ lw $t9, ($v1) -/* 0AE36C 7F07983C E7200210 */ swc1 $f0, 0x210($t9) -/* 0AE370 7F079840 8C680000 */ lw $t0, ($v1) -/* 0AE374 7F079844 E5000214 */ swc1 $f0, 0x214($t0) -/* 0AE378 7F079848 8C690000 */ lw $t1, ($v1) -/* 0AE37C 7F07984C AD200218 */ sw $zero, 0x218($t1) -/* 0AE380 7F079850 8C6A0000 */ lw $t2, ($v1) -/* 0AE384 7F079854 AD400220 */ sw $zero, 0x220($t2) -/* 0AE388 7F079858 8C6B0000 */ lw $t3, ($v1) -/* 0AE38C 7F07985C E5600224 */ swc1 $f0, 0x224($t3) -/* 0AE390 7F079860 8C6C0000 */ lw $t4, ($v1) -/* 0AE394 7F079864 AD800200 */ sw $zero, 0x200($t4) -/* 0AE398 7F079868 8C6D0000 */ lw $t5, ($v1) -/* 0AE39C 7F07986C A5A003B4 */ sh $zero, 0x3b4($t5) -/* 0AE3A0 7F079870 8C6E0000 */ lw $t6, ($v1) -/* 0AE3A4 7F079874 A5C003B6 */ sh $zero, 0x3b6($t6) -/* 0AE3A8 7F079878 8C6F0000 */ lw $t7, ($v1) -/* 0AE3AC 7F07987C E5F029C0 */ swc1 $f16, 0x29c0($t7) -/* 0AE3B0 7F079880 8C780000 */ lw $t8, ($v1) -/* 0AE3B4 7F079884 A7062A04 */ sh $a2, 0x2a04($t8) -/* 0AE3B8 7F079888 8C790000 */ lw $t9, ($v1) -/* 0AE3BC 7F07988C E7202A08 */ swc1 $f0, 0x2a08($t9) -/* 0AE3C0 7F079890 8C680000 */ lw $t0, ($v1) -/* 0AE3C4 7F079894 E5002A0C */ swc1 $f0, 0x2a0c($t0) -/* 0AE3C8 7F079898 8C690000 */ lw $t1, ($v1) -/* 0AE3CC 7F07989C AD202A6C */ sw $zero, 0x2a6c($t1) -/* 0AE3D0 7F0798A0 8C6A0000 */ lw $t2, ($v1) -/* 0AE3D4 7F0798A4 AD402A70 */ sw $zero, 0x2a70($t2) -/* 0AE3D8 7F0798A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AE3DC 7F0798AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AE3E0 7F0798B0 03E00008 */ jr $ra -/* 0AE3E4 7F0798B4 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel init_player_BONDdata -/* 0AE54C 7F0799DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0AE550 7F0799E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0AE554 7F0799E4 0FC26C01 */ jal get_num_players -/* 0AE558 7F0799E8 00000000 */ nop -/* 0AE55C 7F0799EC 28410002 */ slti $at, $v0, 2 -/* 0AE560 7F0799F0 1420000E */ bnez $at, .L7F079A2C -/* 0AE564 7F0799F4 00000000 */ nop -/* 0AE568 7F0799F8 0FC26F3C */ jal get_cur_playernum -/* 0AE56C 7F0799FC 00000000 */ nop -/* 0AE570 7F079A00 0FC0403F */ jal get_player_control_style -/* 0AE574 7F079A04 00402025 */ move $a0, $v0 -/* 0AE578 7F079A08 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0AE57C 7F079A0C 2463A120 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5ee0 -/* 0AE580 7F079A10 8C6E0000 */ lw $t6, ($v1) -/* 0AE584 7F079A14 0FC26F3C */ jal get_cur_playernum -/* 0AE588 7F079A18 ADC20430 */ sw $v0, 0x430($t6) -/* 0AE58C 7F079A1C 0FC0403F */ jal get_player_control_style -/* 0AE590 7F079A20 00402025 */ move $a0, $v0 -/* 0AE594 7F079A24 0FC2965C */ jal cur_player_set_control_type -/* 0AE598 7F079A28 00402025 */ move $a0, $v0 -.L7F079A2C: -/* 0AE59C 7F079A2C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0AE5A0 7F079A30 2463A120 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5ee0 -/* 0AE5A4 7F079A34 44800000 */ mtc1 $zero, $f0 -/* 0AE5A8 7F079A38 8C6F0000 */ lw $t7, ($v1) -/* 0AE5AC 7F079A3C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AE5B0 7F079A40 44811000 */ mtc1 $at, $f2 -/* 0AE5B4 7F079A44 E5E00038 */ swc1 $f0, 0x38($t7) -/* 0AE5B8 7F079A48 8C780000 */ lw $t8, ($v1) -/* 0AE5BC 7F079A4C 24070002 */ li $a3, 2 -/* 0AE5C0 7F079A50 24050001 */ li $a1, 1 -/* 0AE5C4 7F079A54 E700003C */ swc1 $f0, 0x3c($t8) -/* 0AE5C8 7F079A58 8C790000 */ lw $t9, ($v1) -/* 0AE5CC 7F079A5C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0AE5D0 7F079A60 44816000 */ mtc1 $at, $f12 -/* 0AE5D4 7F079A64 E7200040 */ swc1 $f0, 0x40($t9) -/* 0AE5D8 7F079A68 8C680000 */ lw $t0, ($v1) -/* 0AE5DC 7F079A6C 3C01C080 */ li $at, 0xC0800000 # -4.000000 -/* 0AE5E0 7F079A70 44812000 */ mtc1 $at, $f4 -/* 0AE5E4 7F079A74 E5000044 */ swc1 $f0, 0x44($t0) -/* 0AE5E8 7F079A78 8C690000 */ lw $t1, ($v1) -/* 0AE5EC 7F079A7C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0AE5F0 7F079A80 E5200048 */ swc1 $f0, 0x48($t1) -/* 0AE5F4 7F079A84 8C6A0000 */ lw $t2, ($v1) -/* 0AE5F8 7F079A88 E540004C */ swc1 $f0, 0x4c($t2) -/* 0AE5FC 7F079A8C 8C6B0000 */ lw $t3, ($v1) -/* 0AE600 7F079A90 E5600050 */ swc1 $f0, 0x50($t3) -/* 0AE604 7F079A94 8C6C0000 */ lw $t4, ($v1) -/* 0AE608 7F079A98 E5800054 */ swc1 $f0, 0x54($t4) -/* 0AE60C 7F079A9C 8C6D0000 */ lw $t5, ($v1) -/* 0AE610 7F079AA0 E5A00058 */ swc1 $f0, 0x58($t5) -/* 0AE614 7F079AA4 8C6E0000 */ lw $t6, ($v1) -/* 0AE618 7F079AA8 ADC00000 */ sw $zero, ($t6) -/* 0AE61C 7F079AAC 8C6F0000 */ lw $t7, ($v1) -/* 0AE620 7F079AB0 E5E00004 */ swc1 $f0, 4($t7) -/* 0AE624 7F079AB4 8C780000 */ lw $t8, ($v1) -/* 0AE628 7F079AB8 E7000008 */ swc1 $f0, 8($t8) -/* 0AE62C 7F079ABC 8C790000 */ lw $t9, ($v1) -/* 0AE630 7F079AC0 E720000C */ swc1 $f0, 0xc($t9) -/* 0AE634 7F079AC4 8C680000 */ lw $t0, ($v1) -/* 0AE638 7F079AC8 E5000010 */ swc1 $f0, 0x10($t0) -/* 0AE63C 7F079ACC 8C690000 */ lw $t1, ($v1) -/* 0AE640 7F079AD0 E5200014 */ swc1 $f0, 0x14($t1) -/* 0AE644 7F079AD4 8C6A0000 */ lw $t2, ($v1) -/* 0AE648 7F079AD8 E5420018 */ swc1 $f2, 0x18($t2) -/* 0AE64C 7F079ADC 8C6B0000 */ lw $t3, ($v1) -/* 0AE650 7F079AE0 E560001C */ swc1 $f0, 0x1c($t3) -/* 0AE654 7F079AE4 8C6C0000 */ lw $t4, ($v1) -/* 0AE658 7F079AE8 E5820020 */ swc1 $f2, 0x20($t4) -/* 0AE65C 7F079AEC 8C6D0000 */ lw $t5, ($v1) -/* 0AE660 7F079AF0 E5A00024 */ swc1 $f0, 0x24($t5) -/* 0AE664 7F079AF4 8C6E0000 */ lw $t6, ($v1) -/* 0AE668 7F079AF8 E5C00028 */ swc1 $f0, 0x28($t6) -/* 0AE66C 7F079AFC 8C6F0000 */ lw $t7, ($v1) -/* 0AE670 7F079B00 E5E0002C */ swc1 $f0, 0x2c($t7) -/* 0AE674 7F079B04 8C780000 */ lw $t8, ($v1) -/* 0AE678 7F079B08 E7000030 */ swc1 $f0, 0x30($t8) -/* 0AE67C 7F079B0C 8C790000 */ lw $t9, ($v1) -/* 0AE680 7F079B10 AF200034 */ sw $zero, 0x34($t9) -/* 0AE684 7F079B14 8C680000 */ lw $t0, ($v1) -/* 0AE688 7F079B18 E50003C4 */ swc1 $f0, 0x3c4($t0) -/* 0AE68C 7F079B1C 8C690000 */ lw $t1, ($v1) -/* 0AE690 7F079B20 E52003C8 */ swc1 $f0, 0x3c8($t1) -/* 0AE694 7F079B24 8C6A0000 */ lw $t2, ($v1) -/* 0AE698 7F079B28 E54203CC */ swc1 $f2, 0x3cc($t2) -/* 0AE69C 7F079B2C 8C6B0000 */ lw $t3, ($v1) -/* 0AE6A0 7F079B30 E5600084 */ swc1 $f0, 0x84($t3) -/* 0AE6A4 7F079B34 8C6C0000 */ lw $t4, ($v1) -/* 0AE6A8 7F079B38 E5800088 */ swc1 $f0, 0x88($t4) -/* 0AE6AC 7F079B3C 8C6D0000 */ lw $t5, ($v1) -/* 0AE6B0 7F079B40 ADA0008C */ sw $zero, 0x8c($t5) -/* 0AE6B4 7F079B44 8C6E0000 */ lw $t6, ($v1) -/* 0AE6B8 7F079B48 E5C00090 */ swc1 $f0, 0x90($t6) -/* 0AE6BC 7F079B4C 8C6F0000 */ lw $t7, ($v1) -/* 0AE6C0 7F079B50 ADE00094 */ sw $zero, 0x94($t7) -/* 0AE6C4 7F079B54 8C780000 */ lw $t8, ($v1) -/* 0AE6C8 7F079B58 E7000098 */ swc1 $f0, 0x98($t8) -/* 0AE6CC 7F079B5C 8C790000 */ lw $t9, ($v1) -/* 0AE6D0 7F079B60 E7201274 */ swc1 $f0, 0x1274($t9) -/* 0AE6D4 7F079B64 8C680000 */ lw $t0, ($v1) -/* 0AE6D8 7F079B68 E5001278 */ swc1 $f0, 0x1278($t0) -/* 0AE6DC 7F079B6C 8C690000 */ lw $t1, ($v1) -/* 0AE6E0 7F079B70 E520127C */ swc1 $f0, 0x127c($t1) -/* 0AE6E4 7F079B74 8C6A0000 */ lw $t2, ($v1) -/* 0AE6E8 7F079B78 AD47009C */ sw $a3, 0x9c($t2) -/* 0AE6EC 7F079B7C 8C6B0000 */ lw $t3, ($v1) -/* 0AE6F0 7F079B80 AD6729FC */ sw $a3, 0x29fc($t3) -/* 0AE6F4 7F079B84 8C6C0000 */ lw $t4, ($v1) -/* 0AE6F8 7F079B88 E58000A0 */ swc1 $f0, 0xa0($t4) -/* 0AE6FC 7F079B8C 8C6D0000 */ lw $t5, ($v1) -/* 0AE700 7F079B90 E5A000A4 */ swc1 $f0, 0xa4($t5) -/* 0AE704 7F079B94 8C6E0000 */ lw $t6, ($v1) -/* 0AE708 7F079B98 ADC500AC */ sw $a1, 0xac($t6) -/* 0AE70C 7F079B9C 8C6F0000 */ lw $t7, ($v1) -/* 0AE710 7F079BA0 ADE000D0 */ sw $zero, 0xd0($t7) -/* 0AE714 7F079BA4 8C780000 */ lw $t8, ($v1) -/* 0AE718 7F079BA8 AF0000D8 */ sw $zero, 0xd8($t8) -/* 0AE71C 7F079BAC 8C790000 */ lw $t9, ($v1) -/* 0AE720 7F079BB0 E72200DC */ swc1 $f2, 0xdc($t9) -/* 0AE724 7F079BB4 8C680000 */ lw $t0, ($v1) -/* 0AE728 7F079BB8 E50000E0 */ swc1 $f0, 0xe0($t0) -/* 0AE72C 7F079BBC 8C690000 */ lw $t1, ($v1) -/* 0AE730 7F079BC0 E52200E4 */ swc1 $f2, 0xe4($t1) -/* 0AE734 7F079BC4 8C6A0000 */ lw $t2, ($v1) -/* 0AE738 7F079BC8 E54000E8 */ swc1 $f0, 0xe8($t2) -/* 0AE73C 7F079BCC 8C6B0000 */ lw $t3, ($v1) -/* 0AE740 7F079BD0 E56200EC */ swc1 $f2, 0xec($t3) -/* 0AE744 7F079BD4 8C6C0000 */ lw $t4, ($v1) -/* 0AE748 7F079BD8 E58000F0 */ swc1 $f0, 0xf0($t4) -/* 0AE74C 7F079BDC 8C6D0000 */ lw $t5, ($v1) -/* 0AE750 7F079BE0 E5AC00F4 */ swc1 $f12, 0xf4($t5) -/* 0AE754 7F079BE4 8C6E0000 */ lw $t6, ($v1) -/* 0AE758 7F079BE8 E5CC00F8 */ swc1 $f12, 0xf8($t6) -/* 0AE75C 7F079BEC 8C6F0000 */ lw $t7, ($v1) -/* 0AE760 7F079BF0 ADE001C0 */ sw $zero, 0x1c0($t7) -/* 0AE764 7F079BF4 8C780000 */ lw $t8, ($v1) -/* 0AE768 7F079BF8 AF0001C4 */ sw $zero, 0x1c4($t8) -/* 0AE76C 7F079BFC 8C790000 */ lw $t9, ($v1) -/* 0AE770 7F079C00 AF2001C8 */ sw $zero, 0x1c8($t9) -/* 0AE774 7F079C04 8C680000 */ lw $t0, ($v1) -/* 0AE778 7F079C08 AD0501CC */ sw $a1, 0x1cc($t0) -/* 0AE77C 7F079C0C 8C690000 */ lw $t1, ($v1) -/* 0AE780 7F079C10 AD2001D0 */ sw $zero, 0x1d0($t1) -/* 0AE784 7F079C14 8C6A0000 */ lw $t2, ($v1) -/* 0AE788 7F079C18 AD4001A0 */ sw $zero, 0x1a0($t2) -/* 0AE78C 7F079C1C 8C6B0000 */ lw $t3, ($v1) -/* 0AE790 7F079C20 E560019C */ swc1 $f0, 0x19c($t3) -/* 0AE794 7F079C24 8C6C0000 */ lw $t4, ($v1) -/* 0AE798 7F079C28 E580014C */ swc1 $f0, 0x14c($t4) -/* 0AE79C 7F079C2C 8C6D0000 */ lw $t5, ($v1) -/* 0AE7A0 7F079C30 E5A20150 */ swc1 $f2, 0x150($t5) -/* 0AE7A4 7F079C34 8C6E0000 */ lw $t6, ($v1) -/* 0AE7A8 7F079C38 E5C00154 */ swc1 $f0, 0x154($t6) -/* 0AE7AC 7F079C3C 8C6F0000 */ lw $t7, ($v1) -/* 0AE7B0 7F079C40 E5E40158 */ swc1 $f4, 0x158($t7) -/* 0AE7B4 7F079C44 8C640000 */ lw $a0, ($v1) -/* 0AE7B8 7F079C48 C4860158 */ lwc1 $f6, 0x158($a0) -/* 0AE7BC 7F079C4C E486015C */ swc1 $f6, 0x15c($a0) -/* 0AE7C0 7F079C50 8C640000 */ lw $a0, ($v1) -/* 0AE7C4 7F079C54 C48E015C */ lwc1 $f14, 0x15c($a0) -/* 0AE7C8 7F079C58 4600703C */ c.lt.s $f14, $f0 -/* 0AE7CC 7F079C5C 00000000 */ nop -/* 0AE7D0 7F079C60 45020007 */ bc1fl .L7F079C80 -/* 0AE7D4 7F079C64 E4800160 */ swc1 $f0, 0x160($a0) -/* 0AE7D8 7F079C68 44814000 */ mtc1 $at, $f8 -/* 0AE7DC 7F079C6C 00000000 */ nop -/* 0AE7E0 7F079C70 46087280 */ add.s $f10, $f14, $f8 -/* 0AE7E4 7F079C74 E48A015C */ swc1 $f10, 0x15c($a0) -/* 0AE7E8 7F079C78 8C640000 */ lw $a0, ($v1) -/* 0AE7EC 7F079C7C E4800160 */ swc1 $f0, 0x160($a0) -.L7F079C80: -/* 0AE7F0 7F079C80 8C780000 */ lw $t8, ($v1) -/* 0AE7F4 7F079C84 2406FFFF */ li $a2, -1 -/* 0AE7F8 7F079C88 240200FF */ li $v0, 255 -/* 0AE7FC 7F079C8C E7020164 */ swc1 $f2, 0x164($t8) -/* 0AE800 7F079C90 8C790000 */ lw $t9, ($v1) -/* 0AE804 7F079C94 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0AE808 7F079C98 44818000 */ mtc1 $at, $f16 -/* 0AE80C 7F079C9C E7200168 */ swc1 $f0, 0x168($t9) -/* 0AE810 7F079CA0 8C680000 */ lw $t0, ($v1) -/* 0AE814 7F079CA4 E500016C */ swc1 $f0, 0x16c($t0) -/* 0AE818 7F079CA8 8C690000 */ lw $t1, ($v1) -/* 0AE81C 7F079CAC E5200170 */ swc1 $f0, 0x170($t1) -/* 0AE820 7F079CB0 8C6A0000 */ lw $t2, ($v1) -/* 0AE824 7F079CB4 E5400174 */ swc1 $f0, 0x174($t2) -/* 0AE828 7F079CB8 8C6B0000 */ lw $t3, ($v1) -/* 0AE82C 7F079CBC E5602A4C */ swc1 $f0, 0x2a4c($t3) -/* 0AE830 7F079CC0 8C6C0000 */ lw $t4, ($v1) -/* 0AE834 7F079CC4 E5820178 */ swc1 $f2, 0x178($t4) -/* 0AE838 7F079CC8 8C6D0000 */ lw $t5, ($v1) -/* 0AE83C 7F079CCC ADA0017C */ sw $zero, 0x17c($t5) -/* 0AE840 7F079CD0 8C6E0000 */ lw $t6, ($v1) -/* 0AE844 7F079CD4 E5C00180 */ swc1 $f0, 0x180($t6) -/* 0AE848 7F079CD8 8C6F0000 */ lw $t7, ($v1) -/* 0AE84C 7F079CDC E5E00184 */ swc1 $f0, 0x184($t7) -/* 0AE850 7F079CE0 8C780000 */ lw $t8, ($v1) -/* 0AE854 7F079CE4 E7000188 */ swc1 $f0, 0x188($t8) -/* 0AE858 7F079CE8 8C790000 */ lw $t9, ($v1) -/* 0AE85C 7F079CEC AF200104 */ sw $zero, 0x104($t9) -/* 0AE860 7F079CF0 8C680000 */ lw $t0, ($v1) -/* 0AE864 7F079CF4 AD000108 */ sw $zero, 0x108($t0) -/* 0AE868 7F079CF8 8C690000 */ lw $t1, ($v1) -/* 0AE86C 7F079CFC AD20010C */ sw $zero, 0x10c($t1) -/* 0AE870 7F079D00 8C6A0000 */ lw $t2, ($v1) -/* 0AE874 7F079D04 AD400110 */ sw $zero, 0x110($t2) -/* 0AE878 7F079D08 8C6B0000 */ lw $t3, ($v1) -/* 0AE87C 7F079D0C AD650114 */ sw $a1, 0x114($t3) -/* 0AE880 7F079D10 8C6C0000 */ lw $t4, ($v1) -/* 0AE884 7F079D14 AD850118 */ sw $a1, 0x118($t4) -/* 0AE888 7F079D18 8C6D0000 */ lw $t5, ($v1) -/* 0AE88C 7F079D1C ADA0011C */ sw $zero, 0x11c($t5) -/* 0AE890 7F079D20 8C6E0000 */ lw $t6, ($v1) -/* 0AE894 7F079D24 ADC50120 */ sw $a1, 0x120($t6) -/* 0AE898 7F079D28 8C6F0000 */ lw $t7, ($v1) -/* 0AE89C 7F079D2C ADE00124 */ sw $zero, 0x124($t7) -/* 0AE8A0 7F079D30 8C780000 */ lw $t8, ($v1) -/* 0AE8A4 7F079D34 AF050128 */ sw $a1, 0x128($t8) -/* 0AE8A8 7F079D38 8C790000 */ lw $t9, ($v1) -/* 0AE8AC 7F079D3C E720012C */ swc1 $f0, 0x12c($t9) -/* 0AE8B0 7F079D40 8C680000 */ lw $t0, ($v1) -/* 0AE8B4 7F079D44 AD000130 */ sw $zero, 0x130($t0) -/* 0AE8B8 7F079D48 8C690000 */ lw $t1, ($v1) -/* 0AE8BC 7F079D4C AD260134 */ sw $a2, 0x134($t1) -/* 0AE8C0 7F079D50 8C6A0000 */ lw $t2, ($v1) -/* 0AE8C4 7F079D54 AD450138 */ sw $a1, 0x138($t2) -/* 0AE8C8 7F079D58 8C6B0000 */ lw $t3, ($v1) -/* 0AE8CC 7F079D5C E560013C */ swc1 $f0, 0x13c($t3) -/* 0AE8D0 7F079D60 8C6C0000 */ lw $t4, ($v1) -/* 0AE8D4 7F079D64 AD800140 */ sw $zero, 0x140($t4) -/* 0AE8D8 7F079D68 8C6D0000 */ lw $t5, ($v1) -/* 0AE8DC 7F079D6C ADA60144 */ sw $a2, 0x144($t5) -/* 0AE8E0 7F079D70 8C6E0000 */ lw $t6, ($v1) -/* 0AE8E4 7F079D74 ADC203D0 */ sw $v0, 0x3d0($t6) -/* 0AE8E8 7F079D78 8C6F0000 */ lw $t7, ($v1) -/* 0AE8EC 7F079D7C ADE203D4 */ sw $v0, 0x3d4($t7) -/* 0AE8F0 7F079D80 8C780000 */ lw $t8, ($v1) -/* 0AE8F4 7F079D84 AF0203D8 */ sw $v0, 0x3d8($t8) -/* 0AE8F8 7F079D88 8C790000 */ lw $t9, ($v1) -/* 0AE8FC 7F079D8C E72003DC */ swc1 $f0, 0x3dc($t9) -/* 0AE900 7F079D90 8C680000 */ lw $t0, ($v1) -/* 0AE904 7F079D94 E50C03E0 */ swc1 $f12, 0x3e0($t0) -/* 0AE908 7F079D98 8C690000 */ lw $t1, ($v1) -/* 0AE90C 7F079D9C E52C03E4 */ swc1 $f12, 0x3e4($t1) -/* 0AE910 7F079DA0 8C6A0000 */ lw $t2, ($v1) -/* 0AE914 7F079DA4 AD4203E8 */ sw $v0, 0x3e8($t2) -/* 0AE918 7F079DA8 8C6B0000 */ lw $t3, ($v1) -/* 0AE91C 7F079DAC AD6203EC */ sw $v0, 0x3ec($t3) -/* 0AE920 7F079DB0 8C6C0000 */ lw $t4, ($v1) -/* 0AE924 7F079DB4 AD8203F0 */ sw $v0, 0x3f0($t4) -/* 0AE928 7F079DB8 8C6D0000 */ lw $t5, ($v1) -/* 0AE92C 7F079DBC ADA203F4 */ sw $v0, 0x3f4($t5) -/* 0AE930 7F079DC0 8C6E0000 */ lw $t6, ($v1) -/* 0AE934 7F079DC4 ADC203F8 */ sw $v0, 0x3f8($t6) -/* 0AE938 7F079DC8 8C6F0000 */ lw $t7, ($v1) -/* 0AE93C 7F079DCC ADE203FC */ sw $v0, 0x3fc($t7) -/* 0AE940 7F079DD0 8C780000 */ lw $t8, ($v1) -/* 0AE944 7F079DD4 E7000400 */ swc1 $f0, 0x400($t8) -/* 0AE948 7F079DD8 8C790000 */ lw $t9, ($v1) -/* 0AE94C 7F079DDC E7200404 */ swc1 $f0, 0x404($t9) -/* 0AE950 7F079DE0 8C680000 */ lw $t0, ($v1) -/* 0AE954 7F079DE4 E50C018C */ swc1 $f12, 0x18c($t0) -/* 0AE958 7F079DE8 8C690000 */ lw $t1, ($v1) -/* 0AE95C 7F079DEC E52C0190 */ swc1 $f12, 0x190($t1) -/* 0AE960 7F079DF0 8C6A0000 */ lw $t2, ($v1) -/* 0AE964 7F079DF4 E5400194 */ swc1 $f0, 0x194($t2) -/* 0AE968 7F079DF8 8C6B0000 */ lw $t3, ($v1) -/* 0AE96C 7F079DFC E5600198 */ swc1 $f0, 0x198($t3) -/* 0AE970 7F079E00 8C6C0000 */ lw $t4, ($v1) -/* 0AE974 7F079E04 AD87042C */ sw $a3, 0x42c($t4) -/* 0AE978 7F079E08 8C6D0000 */ lw $t5, ($v1) -/* 0AE97C 7F079E0C ADA00430 */ sw $zero, 0x430($t5) -/* 0AE980 7F079E10 8C6E0000 */ lw $t6, ($v1) -/* 0AE984 7F079E14 E5C00204 */ swc1 $f0, 0x204($t6) -/* 0AE988 7F079E18 8C6F0000 */ lw $t7, ($v1) -/* 0AE98C 7F079E1C E5E00208 */ swc1 $f0, 0x208($t7) -/* 0AE990 7F079E20 8C780000 */ lw $t8, ($v1) -/* 0AE994 7F079E24 E700020C */ swc1 $f0, 0x20c($t8) -/* 0AE998 7F079E28 8C790000 */ lw $t9, ($v1) -/* 0AE99C 7F079E2C E7200210 */ swc1 $f0, 0x210($t9) -/* 0AE9A0 7F079E30 8C680000 */ lw $t0, ($v1) -/* 0AE9A4 7F079E34 E5000214 */ swc1 $f0, 0x214($t0) -/* 0AE9A8 7F079E38 8C690000 */ lw $t1, ($v1) -/* 0AE9AC 7F079E3C AD200218 */ sw $zero, 0x218($t1) -/* 0AE9B0 7F079E40 8C6A0000 */ lw $t2, ($v1) -/* 0AE9B4 7F079E44 AD400220 */ sw $zero, 0x220($t2) -/* 0AE9B8 7F079E48 8C6B0000 */ lw $t3, ($v1) -/* 0AE9BC 7F079E4C E5600224 */ swc1 $f0, 0x224($t3) -/* 0AE9C0 7F079E50 8C6C0000 */ lw $t4, ($v1) -/* 0AE9C4 7F079E54 AD800200 */ sw $zero, 0x200($t4) -/* 0AE9C8 7F079E58 8C6D0000 */ lw $t5, ($v1) -/* 0AE9CC 7F079E5C A5A003B4 */ sh $zero, 0x3b4($t5) -/* 0AE9D0 7F079E60 8C6E0000 */ lw $t6, ($v1) -/* 0AE9D4 7F079E64 A5C003B6 */ sh $zero, 0x3b6($t6) -/* 0AE9D8 7F079E68 8C6F0000 */ lw $t7, ($v1) -/* 0AE9DC 7F079E6C E5F029C0 */ swc1 $f16, 0x29c0($t7) -/* 0AE9E0 7F079E70 8C780000 */ lw $t8, ($v1) -/* 0AE9E4 7F079E74 A7062A04 */ sh $a2, 0x2a04($t8) -/* 0AE9E8 7F079E78 8C790000 */ lw $t9, ($v1) -/* 0AE9EC 7F079E7C E7202A08 */ swc1 $f0, 0x2a08($t9) -/* 0AE9F0 7F079E80 8C680000 */ lw $t0, ($v1) -/* 0AE9F4 7F079E84 E5002A0C */ swc1 $f0, 0x2a0c($t0) -/* 0AE9F8 7F079E88 8C690000 */ lw $t1, ($v1) -/* 0AE9FC 7F079E8C AD202A6C */ sw $zero, 0x2a6c($t1) -/* 0AEA00 7F079E90 8C6A0000 */ lw $t2, ($v1) -/* 0AEA04 7F079E94 AD402A70 */ sw $zero, 0x2a70($t2) -/* 0AEA08 7F079E98 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AEA0C 7F079E9C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AEA10 7F079EA0 03E00008 */ jr $ra -/* 0AEA14 7F079EA4 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F0798B8(void) { - ? temp_ret; - ? phi_return; - - // Node 0 - 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; - add_item_to_inventory(1); - temp_ret = get_num_players(); - phi_return = temp_ret; - if (temp_ret >= 2) - { - // Node 1 - draw_item_in_hand_has_more_ammo(1, starting_left_weapon); - phi_return = draw_item_in_hand_has_more_ammo(0, starting_right_weapon); - if (pPlayer->field_D4 == 0) - { - // Node 2 - phi_return = solo_char_load(); - } - } - // Node 3 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0798B8 -/* 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 -/* 0AE3FC 7F0798CC 44813000 */ mtc1 $at, $f6 -/* 0AE400 7F0798D0 C5C40064 */ lwc1 $f4, 0x64($t6) -/* 0AE404 7F0798D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AE408 7F0798D8 44815000 */ mtc1 $at, $f10 -/* 0AE40C 7F0798DC 46062202 */ mul.s $f8, $f4, $f6 -/* 0AE410 7F0798E0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0AE414 7F0798E4 44819000 */ mtc1 $at, $f18 -/* 0AE418 7F0798E8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0AE41C 7F0798EC 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0AE420 7F0798F0 8C4F0000 */ lw $t7, ($v0) -/* 0AE424 7F0798F4 460A4402 */ mul.s $f16, $f8, $f10 -/* 0AE428 7F0798F8 46128101 */ sub.s $f4, $f16, $f18 -/* 0AE42C 7F0798FC E5E429BC */ swc1 $f4, 0x29bc($t7) -/* 0AE430 7F079900 8C580000 */ lw $t8, ($v0) -/* 0AE434 7F079904 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 0AE438 7F079908 AF0029F8 */ sw $zero, 0x29f8($t8) -/* 0AE43C 7F07990C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AE440 7F079910 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AE444 7F079914 8C790000 */ lw $t9, ($v1) -/* 0AE448 7F079918 24040001 */ li $a0, 1 -/* 0AE44C 7F07991C AF2229F4 */ sw $v0, 0x29f4($t9) -/* 0AE450 7F079920 8C680000 */ lw $t0, ($v1) -/* 0AE454 7F079924 0FC23122 */ jal add_item_to_inventory -/* 0AE458 7F079928 AD002A00 */ sw $zero, 0x2a00($t0) -/* 0AE45C 7F07992C 0FC26919 */ jal get_num_players -/* 0AE460 7F079930 00000000 */ nop -/* 0AE464 7F079934 28410002 */ slti $at, $v0, 2 -/* 0AE468 7F079938 1420000F */ bnez $at, .L7F079978 -/* 0AE46C 7F07993C 24040001 */ li $a0, 1 -/* 0AE470 7F079940 3C058008 */ lui $a1, %hi(starting_left_weapon) -/* 0AE474 7F079944 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0AE478 7F079948 8CA599E4 */ lw $a1, %lo(starting_left_weapon)($a1) -/* 0AE47C 7F07994C 3C058008 */ lui $a1, %hi(starting_right_weapon) -/* 0AE480 7F079950 8CA599E0 */ lw $a1, %lo(starting_right_weapon)($a1) -/* 0AE484 7F079954 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0AE488 7F079958 00002025 */ move $a0, $zero -/* 0AE48C 7F07995C 3C098008 */ lui $t1, %hi(pPlayer) -/* 0AE490 7F079960 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0AE494 7F079964 8D2A00D4 */ lw $t2, 0xd4($t1) -/* 0AE498 7F079968 55400004 */ bnezl $t2, .L7F07997C -/* 0AE49C 7F07996C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AE4A0 7F079970 0FC1E73C */ jal solo_char_load -/* 0AE4A4 7F079974 00000000 */ nop -.L7F079978: -/* 0AE4A8 7F079978 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07997C: -/* 0AE4AC 7F07997C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AE4B0 7F079980 03E00008 */ jr $ra -/* 0AE4B4 7F079984 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F079988(s32 arg0) { - // Node 0 - pPlayer->field_1274 = (f32) ((f32) arg0 * 75.0f); - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F079988 -/* 0AE4B8 7F079988 44842000 */ mtc1 $a0, $f4 -/* 0AE4BC 7F07998C 3C014296 */ li $at, 0x42960000 # 75.000000 -/* 0AE4C0 7F079990 44814000 */ mtc1 $at, $f8 -/* 0AE4C4 7F079994 468021A0 */ cvt.s.w $f6, $f4 -/* 0AE4C8 7F079998 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0AE4CC 7F07999C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0AE4D0 7F0799A0 46083282 */ mul.s $f10, $f6, $f8 -/* 0AE4D4 7F0799A4 03E00008 */ jr $ra -/* 0AE4D8 7F0799A8 E5CA1274 */ swc1 $f10, 0x1274($t6) -) -#endif - - - - - - -void change_crouch_position(int position) -{ - pPlayer->crouchposition = pPlayer->crouchposition + position; - if (pPlayer->crouchposition < 0) { - pPlayer->crouchposition = 0; - return; - } - if (2 < pPlayer->crouchposition) { - pPlayer->crouchposition = 2; - } - return; -} - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0799F0(void) { - // Node 0 - if (pPlayer->crouchposition < pPlayer->field_29FC) - { - // Node 1 - return pPlayer->crouchposition; - } - // Node 2 - return pPlayer->field_29FC; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0799F0 -/* 0AE520 7F0799F0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0AE524 7F0799F4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0AE528 7F0799F8 8C43009C */ lw $v1, 0x9c($v0) -/* 0AE52C 7F0799FC 8C4429FC */ lw $a0, 0x29fc($v0) -/* 0AE530 7F079A00 0064082A */ slt $at, $v1, $a0 -/* 0AE534 7F079A04 10200003 */ beqz $at, .L7F079A14 -/* 0AE538 7F079A08 00802825 */ move $a1, $a0 -/* 0AE53C 7F079A0C 03E00008 */ jr $ra -/* 0AE540 7F079A10 00601025 */ move $v0, $v1 - -.L7F079A14: -/* 0AE544 7F079A14 03E00008 */ jr $ra -/* 0AE548 7F079A18 00A01025 */ move $v0, $a1 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F079A1C(s32 arg0) { - void *temp_v0; - - // Node 0 - temp_v0 = (&ptr_BONDdata_p1 + (arg0 * 4)); - if (*temp_v0->unk9C < *temp_v0->unk29FC) - { - // Node 1 - return *temp_v0->unk9C; - } - // Node 2 - return *temp_v0->unk29FC; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F079A1C -/* 0AE54C 7F079A1C 00047080 */ sll $t6, $a0, 2 -/* 0AE550 7F079A20 3C028008 */ lui $v0, %hi(ptr_BONDdata_p1) -/* 0AE554 7F079A24 004E1021 */ addu $v0, $v0, $t6 -/* 0AE558 7F079A28 8C429EE0 */ lw $v0, %lo(ptr_BONDdata_p1)($v0) -/* 0AE55C 7F079A2C 8C43009C */ lw $v1, 0x9c($v0) -/* 0AE560 7F079A30 8C4529FC */ lw $a1, 0x29fc($v0) -/* 0AE564 7F079A34 0065082A */ slt $at, $v1, $a1 -/* 0AE568 7F079A38 10200003 */ beqz $at, .L7F079A48 -/* 0AE56C 7F079A3C 00A02025 */ move $a0, $a1 -/* 0AE570 7F079A40 03E00008 */ jr $ra -/* 0AE574 7F079A44 00601025 */ move $v0, $v1 - -.L7F079A48: -/* 0AE578 7F079A48 03E00008 */ jr $ra -/* 0AE57C 7F079A4C 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -void setptrBONDdata(s32 arg0) { - // Node 0 - *pPlayer = arg0; - return; -} -#else -GLOBAL_ASM( -.text -glabel setptrBONDdata -/* 0AE580 7F079A50 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0AE584 7F079A54 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0AE588 7F079A58 03E00008 */ jr $ra -/* 0AE58C 7F079A5C ADC40000 */ sw $a0, ($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F079A60(void *arg0, void *arg1, void *arg2, s32 arg3, void *arg4) { - s32 sp30; - s32 sp34; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_ret; - void *phi_return; - - // Node 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; - if (sub_GAME_7F0B0BE4(&sp34, *arg4, arg4->unk8, *arg0, (f32) arg0->unk8) != 0) - { - // Node 11 - sub_GAME_7F0B0518(sp34, *arg0, arg0->unk8); - pPlayer->room_pointer = sp34; - } - else - { - // Node 12 - if (pPlayer->room_pointer != 0) - { - // Node 13 - sp30 = (s32) pPlayer->room_pointer; - if (sub_GAME_7F0B0BE4(&sp30, pPlayer->xpos, pPlayer->zpos, *arg0, (f32) arg0->unk8) != 0) - { - // Node 14 - pPlayer->room_pointer = sp30; - } - else - { - // Node 15 - pPlayer->room_pointer = sp34; - } - } - else - { - // Node 16 - pPlayer->room_pointer = sp34; - } - } - // Node 17 - *&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->ypos3 = temp_ret; - phi_return = temp_ret; - } - else - { - - } - // Node 18 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F079A60 -/* 0AE590 7F079A60 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0AE594 7F079A64 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AE598 7F079A68 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AE59C 7F079A6C 8C620000 */ lw $v0, ($v1) -/* 0AE5A0 7F079A70 AFBF0024 */ sw $ra, 0x24($sp) -/* 0AE5A4 7F079A74 AFB00020 */ sw $s0, 0x20($sp) -/* 0AE5A8 7F079A78 AFA5003C */ sw $a1, 0x3c($sp) -/* 0AE5AC 7F079A7C AFA60040 */ sw $a2, 0x40($sp) -/* 0AE5B0 7F079A80 AFA70044 */ sw $a3, 0x44($sp) -/* 0AE5B4 7F079A84 C4840000 */ lwc1 $f4, ($a0) -/* 0AE5B8 7F079A88 C4460004 */ lwc1 $f6, 4($v0) -/* 0AE5BC 7F079A8C 00808025 */ move $s0, $a0 -/* 0AE5C0 7F079A90 8FB90044 */ lw $t9, 0x44($sp) -/* 0AE5C4 7F079A94 46062032 */ c.eq.s $f4, $f6 -/* 0AE5C8 7F079A98 00000000 */ nop -/* 0AE5CC 7F079A9C 45020035 */ bc1fl .L7F079B74 -/* 0AE5D0 7F079AA0 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE5D4 7F079AA4 C4880004 */ lwc1 $f8, 4($a0) -/* 0AE5D8 7F079AA8 C44A0008 */ lwc1 $f10, 8($v0) -/* 0AE5DC 7F079AAC 460A4032 */ c.eq.s $f8, $f10 -/* 0AE5E0 7F079AB0 00000000 */ nop -/* 0AE5E4 7F079AB4 4502002F */ bc1fl .L7F079B74 -/* 0AE5E8 7F079AB8 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE5EC 7F079ABC C4900008 */ lwc1 $f16, 8($a0) -/* 0AE5F0 7F079AC0 C452000C */ lwc1 $f18, 0xc($v0) -/* 0AE5F4 7F079AC4 46128032 */ c.eq.s $f16, $f18 -/* 0AE5F8 7F079AC8 00000000 */ nop -/* 0AE5FC 7F079ACC 45020029 */ bc1fl .L7F079B74 -/* 0AE600 7F079AD0 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE604 7F079AD4 C4A40000 */ lwc1 $f4, ($a1) -/* 0AE608 7F079AD8 C4460010 */ lwc1 $f6, 0x10($v0) -/* 0AE60C 7F079ADC 46062032 */ c.eq.s $f4, $f6 -/* 0AE610 7F079AE0 00000000 */ nop -/* 0AE614 7F079AE4 45020023 */ bc1fl .L7F079B74 -/* 0AE618 7F079AE8 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE61C 7F079AEC C4A80004 */ lwc1 $f8, 4($a1) -/* 0AE620 7F079AF0 C44A0014 */ lwc1 $f10, 0x14($v0) -/* 0AE624 7F079AF4 460A4032 */ c.eq.s $f8, $f10 -/* 0AE628 7F079AF8 00000000 */ nop -/* 0AE62C 7F079AFC 4502001D */ bc1fl .L7F079B74 -/* 0AE630 7F079B00 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE634 7F079B04 C4B00008 */ lwc1 $f16, 8($a1) -/* 0AE638 7F079B08 C4520018 */ lwc1 $f18, 0x18($v0) -/* 0AE63C 7F079B0C 46128032 */ c.eq.s $f16, $f18 -/* 0AE640 7F079B10 00000000 */ nop -/* 0AE644 7F079B14 45020017 */ bc1fl .L7F079B74 -/* 0AE648 7F079B18 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE64C 7F079B1C C4C40000 */ lwc1 $f4, ($a2) -/* 0AE650 7F079B20 C446001C */ lwc1 $f6, 0x1c($v0) -/* 0AE654 7F079B24 46062032 */ c.eq.s $f4, $f6 -/* 0AE658 7F079B28 00000000 */ nop -/* 0AE65C 7F079B2C 45020011 */ bc1fl .L7F079B74 -/* 0AE660 7F079B30 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE664 7F079B34 C4C80004 */ lwc1 $f8, 4($a2) -/* 0AE668 7F079B38 C44A0020 */ lwc1 $f10, 0x20($v0) -/* 0AE66C 7F079B3C 460A4032 */ c.eq.s $f8, $f10 -/* 0AE670 7F079B40 00000000 */ nop -/* 0AE674 7F079B44 4502000B */ bc1fl .L7F079B74 -/* 0AE678 7F079B48 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE67C 7F079B4C C4D00008 */ lwc1 $f16, 8($a2) -/* 0AE680 7F079B50 C4520024 */ lwc1 $f18, 0x24($v0) -/* 0AE684 7F079B54 46128032 */ c.eq.s $f16, $f18 -/* 0AE688 7F079B58 00000000 */ nop -/* 0AE68C 7F079B5C 45020005 */ bc1fl .L7F079B74 -/* 0AE690 7F079B60 8FA20048 */ lw $v0, 0x48($sp) -/* 0AE694 7F079B64 8C580034 */ lw $t8, 0x34($v0) -/* 0AE698 7F079B68 5700005D */ bnezl $t8, .L7F079CE0 -/* 0AE69C 7F079B6C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0AE6A0 7F079B70 8FA20048 */ lw $v0, 0x48($sp) -.L7F079B74: -/* 0AE6A4 7F079B74 AFB90034 */ sw $t9, 0x34($sp) -/* 0AE6A8 7F079B78 C6040008 */ lwc1 $f4, 8($s0) -/* 0AE6AC 7F079B7C 8E070000 */ lw $a3, ($s0) -/* 0AE6B0 7F079B80 8C460008 */ lw $a2, 8($v0) -/* 0AE6B4 7F079B84 8C450000 */ lw $a1, ($v0) -/* 0AE6B8 7F079B88 27A40034 */ addiu $a0, $sp, 0x34 -/* 0AE6BC 7F079B8C 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0AE6C0 7F079B90 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0AE6C4 7F079B94 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AE6C8 7F079B98 1040000B */ beqz $v0, .L7F079BC8 -/* 0AE6CC 7F079B9C 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AE6D0 7F079BA0 8FA40034 */ lw $a0, 0x34($sp) -/* 0AE6D4 7F079BA4 8E050000 */ lw $a1, ($s0) -/* 0AE6D8 7F079BA8 0FC2C146 */ jal sub_GAME_7F0B0518 -/* 0AE6DC 7F079BAC 8E060008 */ lw $a2, 8($s0) -/* 0AE6E0 7F079BB0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AE6E4 7F079BB4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AE6E8 7F079BB8 8C6A0000 */ lw $t2, ($v1) -/* 0AE6EC 7F079BBC 8FA90034 */ lw $t1, 0x34($sp) -/* 0AE6F0 7F079BC0 1000001A */ b .L7F079C2C -/* 0AE6F4 7F079BC4 AD490034 */ sw $t1, 0x34($t2) -.L7F079BC8: -/* 0AE6F8 7F079BC8 8C620000 */ lw $v0, ($v1) -/* 0AE6FC 7F079BCC 27A40030 */ addiu $a0, $sp, 0x30 -/* 0AE700 7F079BD0 8FAF0034 */ lw $t7, 0x34($sp) -/* 0AE704 7F079BD4 8C480034 */ lw $t0, 0x34($v0) -/* 0AE708 7F079BD8 51000014 */ beql $t0, $zero, .L7F079C2C -/* 0AE70C 7F079BDC AC4F0034 */ sw $t7, 0x34($v0) -/* 0AE710 7F079BE0 AFA80030 */ sw $t0, 0x30($sp) -/* 0AE714 7F079BE4 C6060008 */ lwc1 $f6, 8($s0) -/* 0AE718 7F079BE8 8E070000 */ lw $a3, ($s0) -/* 0AE71C 7F079BEC 8C46000C */ lw $a2, 0xc($v0) -/* 0AE720 7F079BF0 8C450004 */ lw $a1, 4($v0) -/* 0AE724 7F079BF4 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0AE728 7F079BF8 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0AE72C 7F079BFC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AE730 7F079C00 10400005 */ beqz $v0, .L7F079C18 -/* 0AE734 7F079C04 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AE738 7F079C08 8FAB0030 */ lw $t3, 0x30($sp) -/* 0AE73C 7F079C0C 8C6C0000 */ lw $t4, ($v1) -/* 0AE740 7F079C10 10000006 */ b .L7F079C2C -/* 0AE744 7F079C14 AD8B0034 */ sw $t3, 0x34($t4) -.L7F079C18: -/* 0AE748 7F079C18 8FAD0034 */ lw $t5, 0x34($sp) -/* 0AE74C 7F079C1C 8C6E0000 */ lw $t6, ($v1) -/* 0AE750 7F079C20 10000002 */ b .L7F079C2C -/* 0AE754 7F079C24 ADCD0034 */ sw $t5, 0x34($t6) -/* 0AE758 7F079C28 AC4F0034 */ sw $t7, 0x34($v0) -.L7F079C2C: -/* 0AE75C 7F079C2C C6080000 */ lwc1 $f8, ($s0) -/* 0AE760 7F079C30 8C780000 */ lw $t8, ($v1) -/* 0AE764 7F079C34 8FA7003C */ lw $a3, 0x3c($sp) -/* 0AE768 7F079C38 8FA80040 */ lw $t0, 0x40($sp) -/* 0AE76C 7F079C3C E7080004 */ swc1 $f8, 4($t8) -/* 0AE770 7F079C40 8C790000 */ lw $t9, ($v1) -/* 0AE774 7F079C44 C60A0004 */ lwc1 $f10, 4($s0) -/* 0AE778 7F079C48 E72A0008 */ swc1 $f10, 8($t9) -/* 0AE77C 7F079C4C 8C690000 */ lw $t1, ($v1) -/* 0AE780 7F079C50 C6100008 */ lwc1 $f16, 8($s0) -/* 0AE784 7F079C54 E530000C */ swc1 $f16, 0xc($t1) -/* 0AE788 7F079C58 8C6A0000 */ lw $t2, ($v1) -/* 0AE78C 7F079C5C C4F20000 */ lwc1 $f18, ($a3) -/* 0AE790 7F079C60 E5520010 */ swc1 $f18, 0x10($t2) -/* 0AE794 7F079C64 8C6B0000 */ lw $t3, ($v1) -/* 0AE798 7F079C68 C4E40004 */ lwc1 $f4, 4($a3) -/* 0AE79C 7F079C6C E5640014 */ swc1 $f4, 0x14($t3) -/* 0AE7A0 7F079C70 8C6C0000 */ lw $t4, ($v1) -/* 0AE7A4 7F079C74 C4E60008 */ lwc1 $f6, 8($a3) -/* 0AE7A8 7F079C78 E5860018 */ swc1 $f6, 0x18($t4) -/* 0AE7AC 7F079C7C 8C6D0000 */ lw $t5, ($v1) -/* 0AE7B0 7F079C80 C5080000 */ lwc1 $f8, ($t0) -/* 0AE7B4 7F079C84 E5A8001C */ swc1 $f8, 0x1c($t5) -/* 0AE7B8 7F079C88 8C6E0000 */ lw $t6, ($v1) -/* 0AE7BC 7F079C8C C50A0004 */ lwc1 $f10, 4($t0) -/* 0AE7C0 7F079C90 E5CA0020 */ swc1 $f10, 0x20($t6) -/* 0AE7C4 7F079C94 8C6F0000 */ lw $t7, ($v1) -/* 0AE7C8 7F079C98 C5100008 */ lwc1 $f16, 8($t0) -/* 0AE7CC 7F079C9C E5F00024 */ swc1 $f16, 0x24($t7) -/* 0AE7D0 7F079CA0 8C620000 */ lw $v0, ($v1) -/* 0AE7D4 7F079CA4 C4520004 */ lwc1 $f18, 4($v0) -/* 0AE7D8 7F079CA8 E4520028 */ swc1 $f18, 0x28($v0) -/* 0AE7DC 7F079CAC 8C620000 */ lw $v0, ($v1) -/* 0AE7E0 7F079CB0 C444000C */ lwc1 $f4, 0xc($v0) -/* 0AE7E4 7F079CB4 E4440030 */ swc1 $f4, 0x30($v0) -/* 0AE7E8 7F079CB8 8C620000 */ lw $v0, ($v1) -/* 0AE7EC 7F079CBC 8C440034 */ lw $a0, 0x34($v0) -/* 0AE7F0 7F079CC0 8C450004 */ lw $a1, 4($v0) -/* 0AE7F4 7F079CC4 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0AE7F8 7F079CC8 8C46000C */ lw $a2, 0xc($v0) -/* 0AE7FC 7F079CCC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AE800 7F079CD0 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AE804 7F079CD4 8C780000 */ lw $t8, ($v1) -/* 0AE808 7F079CD8 E700002C */ swc1 $f0, 0x2c($t8) -/* 0AE80C 7F079CDC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F079CE0: -/* 0AE810 7F079CE0 8FB00020 */ lw $s0, 0x20($sp) -/* 0AE814 7F079CE4 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0AE818 7F079CE8 03E00008 */ jr $ra -/* 0AE81C 7F079CEC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void solo_char_load(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*D:80054FE4*/ -glabel jpt_bondcuff -.word .L7F079EA4 -.word cuff_1_brosnan -.word cuff_2_jungle -.word cuff_3_boiler -.word cuff_4_snowsuit -.word cuff_5_connery -.word cuff_6_moore -.word cuff_7_dalton -.word cuff_8_variable_bond_head - -/*D:80055008*/ -glabel jpt_bondhead -.word .L7F079F84 -.word brosnan_tux_head_set -.word jungle_head_set -.word boiler_bond_head_set -.word .L7F079F84 -.word connery_head_set -.word moore_head_set -.word dalton_head_set -.word variable_body_head - -glabel D_8005502C -.word 0x3f7851ec /*0.97000003*/ -.text -glabel solo_char_load -/* 0AE820 7F079CF0 27BDFEE8 */ addiu $sp, $sp, -0x118 -/* 0AE824 7F079CF4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0AE828 7F079CF8 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 0AE82C 7F079CFC 00000000 */ nop -/* 0AE830 7F079D00 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0AE834 7F079D04 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0AE838 7F079D08 E7A00114 */ swc1 $f0, 0x114($sp) -/* 0AE83C 7F079D0C 8DCF00A8 */ lw $t7, 0xa8($t6) -/* 0AE840 7F079D10 8DE20004 */ lw $v0, 4($t7) -/* 0AE844 7F079D14 544001CA */ bnezl $v0, .L7F07A440 -/* 0AE848 7F079D18 8C4F001C */ lw $t7, 0x1c($v0) -/* 0AE84C 7F079D1C 0FC173CC */ jal getPlayerWeaponBufferForHand -/* 0AE850 7F079D20 00002025 */ move $a0, $zero -/* 0AE854 7F079D24 AFA200F0 */ sw $v0, 0xf0($sp) -/* 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 getSizeBufferWeaponInHand -/* 0AE86C 7F079D3C 00002025 */ move $a0, $zero -/* 0AE870 7F079D40 AFA200E4 */ sw $v0, 0xe4($sp) -/* 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 -/* 0AE884 7F079D54 AFA200E0 */ sw $v0, 0xe0($sp) -/* 0AE888 7F079D58 272C0084 */ addiu $t4, $t9, 0x84 -/* 0AE88C 7F079D5C 27B80054 */ addiu $t8, $sp, 0x54 -.L7F079D60: -/* 0AE890 7F079D60 8F210000 */ lw $at, ($t9) -/* 0AE894 7F079D64 2739000C */ addiu $t9, $t9, 0xc -/* 0AE898 7F079D68 2718000C */ addiu $t8, $t8, 0xc -/* 0AE89C 7F079D6C AF01FFF4 */ sw $at, -0xc($t8) -/* 0AE8A0 7F079D70 8F21FFF8 */ lw $at, -8($t9) -/* 0AE8A4 7F079D74 AF01FFF8 */ sw $at, -8($t8) -/* 0AE8A8 7F079D78 8F21FFFC */ lw $at, -4($t9) -/* 0AE8AC 7F079D7C 172CFFF8 */ bne $t9, $t4, .L7F079D60 -/* 0AE8B0 7F079D80 AF01FFFC */ sw $at, -4($t8) -/* 0AE8B4 7F079D84 8F210000 */ lw $at, ($t9) -/* 0AE8B8 7F079D88 00002025 */ move $a0, $zero -/* 0AE8BC 7F079D8C 0FC17691 */ jal return_ammo_in_hand -/* 0AE8C0 7F079D90 AF010000 */ sw $at, ($t8) -/* 0AE8C4 7F079D94 240D0017 */ li $t5, 23 -/* 0AE8C8 7F079D98 240E004B */ li $t6, 75 -/* 0AE8CC 7F079D9C 3C048008 */ lui $a0, %hi(pPlayer) -/* 0AE8D0 7F079DA0 AFA20048 */ sw $v0, 0x48($sp) -/* 0AE8D4 7F079DA4 AFAD0044 */ sw $t5, 0x44($sp) -/* 0AE8D8 7F079DA8 AFAE0040 */ sw $t6, 0x40($sp) -/* 0AE8DC 7F079DAC AFA00038 */ sw $zero, 0x38($sp) -/* 0AE8E0 7F079DB0 0FC1F799 */ jal sub_GAME_7F07DE64 -/* 0AE8E4 7F079DB4 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0AE8E8 7F079DB8 0FC26919 */ jal get_num_players -/* 0AE8EC 7F079DBC 00000000 */ nop -/* 0AE8F0 7F079DC0 24010001 */ li $at, 1 -/* 0AE8F4 7F079DC4 14410066 */ bne $v0, $at, .L7F079F60 -/* 0AE8F8 7F079DC8 00000000 */ nop -/* 0AE8FC 7F079DCC 0FC0755B */ jal getSelectedFolderBond -/* 0AE900 7F079DD0 00000000 */ nop -/* 0AE904 7F079DD4 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0AE908 7F079DD8 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0AE90C 7F079DDC 8DE3041C */ lw $v1, 0x41c($t7) -/* 0AE910 7F079DE0 2C610009 */ sltiu $at, $v1, 9 -/* 0AE914 7F079DE4 1020002F */ beqz $at, .L7F079EA4 -/* 0AE918 7F079DE8 00035880 */ sll $t3, $v1, 2 -/* 0AE91C 7F079DEC 3C018005 */ lui $at, %hi(jpt_bondcuff) -/* 0AE920 7F079DF0 002B0821 */ addu $at, $at, $t3 -/* 0AE924 7F079DF4 8C2B4FE4 */ lw $t3, %lo(jpt_bondcuff)($at) -/* 0AE928 7F079DF8 01600008 */ jr $t3 -/* 0AE92C 7F079DFC 00000000 */ nop -cuff_3_boiler: -/* 0AE930 7F079E00 240A0016 */ li $t2, 22 -/* 0AE934 7F079E04 10000027 */ b .L7F079EA4 -/* 0AE938 7F079E08 AFAA0044 */ sw $t2, 0x44($sp) -cuff_2_jungle: -/* 0AE93C 7F079E0C 240C0018 */ li $t4, 24 -/* 0AE940 7F079E10 10000024 */ b .L7F079EA4 -/* 0AE944 7F079E14 AFAC0044 */ sw $t4, 0x44($sp) -cuff_4_snowsuit: -/* 0AE948 7F079E18 24190019 */ li $t9, 25 -/* 0AE94C 7F079E1C 10000021 */ b .L7F079EA4 -/* 0AE950 7F079E20 AFB90044 */ sw $t9, 0x44($sp) -cuff_1_brosnan: -/* 0AE954 7F079E24 24180005 */ li $t8, 5 -/* 0AE958 7F079E28 1000001E */ b .L7F079EA4 -/* 0AE95C 7F079E2C AFB80044 */ sw $t8, 0x44($sp) -cuff_5_connery: -/* 0AE960 7F079E30 240D0005 */ li $t5, 5 -/* 0AE964 7F079E34 1000001B */ b .L7F079EA4 -/* 0AE968 7F079E38 AFAD0044 */ sw $t5, 0x44($sp) -cuff_6_moore: -/* 0AE96C 7F079E3C 240E0005 */ li $t6, 5 -/* 0AE970 7F079E40 10000018 */ b .L7F079EA4 -/* 0AE974 7F079E44 AFAE0044 */ sw $t6, 0x44($sp) -cuff_7_dalton: -/* 0AE978 7F079E48 240F0005 */ li $t7, 5 -/* 0AE97C 7F079E4C 10000015 */ b .L7F079EA4 -/* 0AE980 7F079E50 AFAF0044 */ sw $t7, 0x44($sp) -cuff_8_variable_bond_head: -/* 0AE984 7F079E54 1040000C */ beqz $v0, .L7F079E88 -/* 0AE988 7F079E58 240B0005 */ li $t3, 5 -/* 0AE98C 7F079E5C 24010001 */ li $at, 1 -/* 0AE990 7F079E60 1041000B */ beq $v0, $at, .L7F079E90 -/* 0AE994 7F079E64 240A0005 */ li $t2, 5 -/* 0AE998 7F079E68 24010002 */ li $at, 2 -/* 0AE99C 7F079E6C 1041000A */ beq $v0, $at, .L7F079E98 -/* 0AE9A0 7F079E70 240C0005 */ li $t4, 5 -/* 0AE9A4 7F079E74 24010003 */ li $at, 3 -/* 0AE9A8 7F079E78 10410009 */ beq $v0, $at, .L7F079EA0 -/* 0AE9AC 7F079E7C 24190005 */ li $t9, 5 -/* 0AE9B0 7F079E80 10000008 */ b .L7F079EA4 -/* 0AE9B4 7F079E84 00000000 */ nop -.L7F079E88: -/* 0AE9B8 7F079E88 10000006 */ b .L7F079EA4 -/* 0AE9BC 7F079E8C AFAB0044 */ sw $t3, 0x44($sp) -.L7F079E90: -/* 0AE9C0 7F079E90 10000004 */ b .L7F079EA4 -/* 0AE9C4 7F079E94 AFAA0044 */ sw $t2, 0x44($sp) -.L7F079E98: -/* 0AE9C8 7F079E98 10000002 */ b .L7F079EA4 -/* 0AE9CC 7F079E9C AFAC0044 */ sw $t4, 0x44($sp) -.L7F079EA0: -/* 0AE9D0 7F079EA0 AFB90044 */ sw $t9, 0x44($sp) -.L7F079EA4: -/* 0AE9D4 7F079EA4 1040000C */ beqz $v0, .L7F079ED8 -/* 0AE9D8 7F079EA8 2C610009 */ sltiu $at, $v1, 9 -/* 0AE9DC 7F079EAC 24010001 */ li $at, 1 -/* 0AE9E0 7F079EB0 10410025 */ beq $v0, $at, .L7F079F48 -/* 0AE9E4 7F079EB4 2418004E */ li $t8, 78 -/* 0AE9E8 7F079EB8 24010002 */ li $at, 2 -/* 0AE9EC 7F079EBC 10410024 */ beq $v0, $at, .L7F079F50 -/* 0AE9F0 7F079EC0 240D004E */ li $t5, 78 -/* 0AE9F4 7F079EC4 24010003 */ li $at, 3 -/* 0AE9F8 7F079EC8 10410023 */ beq $v0, $at, .L7F079F58 -/* 0AE9FC 7F079ECC 240E004E */ li $t6, 78 -/* 0AEA00 7F079ED0 1000002C */ b .L7F079F84 -/* 0AEA04 7F079ED4 00000000 */ nop -.L7F079ED8: -/* 0AEA08 7F079ED8 1020002A */ beqz $at, .L7F079F84 -/* 0AEA0C 7F079EDC 0003C080 */ sll $t8, $v1, 2 -/* 0AEA10 7F079EE0 3C018005 */ lui $at, %hi(jpt_bondhead) -/* 0AEA14 7F079EE4 00380821 */ addu $at, $at, $t8 -/* 0AEA18 7F079EE8 8C385008 */ lw $t8, %lo(jpt_bondhead)($at) -/* 0AEA1C 7F079EEC 03000008 */ jr $t8 -/* 0AEA20 7F079EF0 00000000 */ nop -boiler_bond_head_set: -/* 0AEA24 7F079EF4 240D004A */ li $t5, 74 -/* 0AEA28 7F079EF8 10000022 */ b .L7F079F84 -/* 0AEA2C 7F079EFC AFAD0040 */ sw $t5, 0x40($sp) -jungle_head_set: -/* 0AEA30 7F079F00 240E004C */ li $t6, 76 -/* 0AEA34 7F079F04 1000001F */ b .L7F079F84 -/* 0AEA38 7F079F08 AFAE0040 */ sw $t6, 0x40($sp) -brosnan_tux_head_set: -/* 0AEA3C 7F079F0C 240F004E */ li $t7, 78 -/* 0AEA40 7F079F10 1000001C */ b .L7F079F84 -/* 0AEA44 7F079F14 AFAF0040 */ sw $t7, 0x40($sp) -connery_head_set: -/* 0AEA48 7F079F18 240B004E */ li $t3, 78 -/* 0AEA4C 7F079F1C 10000019 */ b .L7F079F84 -/* 0AEA50 7F079F20 AFAB0040 */ sw $t3, 0x40($sp) -moore_head_set: -/* 0AEA54 7F079F24 240A004E */ li $t2, 78 -/* 0AEA58 7F079F28 10000016 */ b .L7F079F84 -/* 0AEA5C 7F079F2C AFAA0040 */ sw $t2, 0x40($sp) -dalton_head_set: -/* 0AEA60 7F079F30 240C004E */ li $t4, 78 -/* 0AEA64 7F079F34 10000013 */ b .L7F079F84 -/* 0AEA68 7F079F38 AFAC0040 */ sw $t4, 0x40($sp) -variable_body_head: -/* 0AEA6C 7F079F3C 2419004E */ li $t9, 78 -/* 0AEA70 7F079F40 10000010 */ b .L7F079F84 -/* 0AEA74 7F079F44 AFB90040 */ sw $t9, 0x40($sp) -.L7F079F48: -/* 0AEA78 7F079F48 1000000E */ b .L7F079F84 -/* 0AEA7C 7F079F4C AFB80040 */ sw $t8, 0x40($sp) -.L7F079F50: -/* 0AEA80 7F079F50 1000000C */ b .L7F079F84 -/* 0AEA84 7F079F54 AFAD0040 */ sw $t5, 0x40($sp) -.L7F079F58: -/* 0AEA88 7F079F58 1000000A */ b .L7F079F84 -/* 0AEA8C 7F079F5C AFAE0040 */ sw $t6, 0x40($sp) -.L7F079F60: -/* 0AEA90 7F079F60 0FC26C54 */ jal get_cur_playernum -/* 0AEA94 7F079F64 00000000 */ nop -/* 0AEA98 7F079F68 0FC040AF */ jal get_player_mp_char_head -/* 0AEA9C 7F079F6C 00402025 */ move $a0, $v0 -/* 0AEAA0 7F079F70 0FC26C54 */ jal get_cur_playernum -/* 0AEAA4 7F079F74 AFA20040 */ sw $v0, 0x40($sp) -/* 0AEAA8 7F079F78 0FC040D7 */ jal get_player_mp_char_body -/* 0AEAAC 7F079F7C 00402025 */ move $a0, $v0 -/* 0AEAB0 7F079F80 AFA20044 */ sw $v0, 0x44($sp) -.L7F079F84: -/* 0AEAB4 7F079F84 3C0F8003 */ lui $t7, %hi(cameramode) -/* 0AEAB8 7F079F88 8DEF6494 */ lw $t7, %lo(cameramode)($t7) -/* 0AEABC 7F079F8C 24010003 */ li $at, 3 -/* 0AEAC0 7F079F90 15E10003 */ bne $t7, $at, .L7F079FA0 -/* 0AEAC4 7F079F94 3C0B8008 */ lui $t3, %hi(starting_right_weapon) -/* 0AEAC8 7F079F98 8D6B99E0 */ lw $t3, %lo(starting_right_weapon)($t3) -/* 0AEACC 7F079F9C AFAB0048 */ sw $t3, 0x48($sp) -.L7F079FA0: -/* 0AEAD0 7F079FA0 0FC26919 */ jal get_num_players -/* 0AEAD4 7F079FA4 00000000 */ nop -/* 0AEAD8 7F079FA8 24010001 */ li $at, 1 -/* 0AEADC 7F079FAC 14410083 */ bne $v0, $at, .L7F07A1BC -/* 0AEAE0 7F079FB0 8FAF0044 */ lw $t7, 0x44($sp) -/* 0AEAE4 7F079FB4 0FC173D7 */ jal remove_item_in_hand -/* 0AEAE8 7F079FB8 24040001 */ li $a0, 1 -/* 0AEAEC 7F079FBC 0FC173D7 */ jal remove_item_in_hand -/* 0AEAF0 7F079FC0 00002025 */ move $a0, $zero -/* 0AEAF4 7F079FC4 27A40100 */ addiu $a0, $sp, 0x100 -/* 0AEAF8 7F079FC8 8FA500EC */ lw $a1, 0xec($sp) -/* 0AEAFC 7F079FCC 0FC32EBD */ jal sub_GAME_7F0CBAF4 -/* 0AEB00 7F079FD0 8FA600E0 */ lw $a2, 0xe0($sp) -/* 0AEB04 7F079FD4 0FC173C6 */ jal get_ptr_itemheader_in_hand -/* 0AEB08 7F079FD8 00002025 */ move $a0, $zero -/* 0AEB0C 7F079FDC 8FAA0044 */ lw $t2, 0x44($sp) -/* 0AEB10 7F079FE0 3C198004 */ lui $t9, %hi(c_item_entries) -/* 0AEB14 7F079FE4 2739DE10 */ addiu $t9, %lo(c_item_entries) # addiu $t9, $t9, -0x21f0 -/* 0AEB18 7F079FE8 000A6080 */ sll $t4, $t2, 2 -/* 0AEB1C 7F079FEC 018A6021 */ addu $t4, $t4, $t2 -/* 0AEB20 7F079FF0 000C6080 */ sll $t4, $t4, 2 -/* 0AEB24 7F079FF4 01991821 */ addu $v1, $t4, $t9 -/* 0AEB28 7F079FF8 8C780000 */ lw $t8, ($v1) -/* 0AEB2C 7F079FFC AFA200FC */ sw $v0, 0xfc($sp) -/* 0AEB30 7F07A000 27AB0100 */ addiu $t3, $sp, 0x100 -/* 0AEB34 7F07A004 8F010000 */ lw $at, ($t8) -/* 0AEB38 7F07A008 00402025 */ move $a0, $v0 -/* 0AEB3C 7F07A00C AC410000 */ sw $at, ($v0) -/* 0AEB40 7F07A010 8F0F0004 */ lw $t7, 4($t8) -/* 0AEB44 7F07A014 AC4F0004 */ sw $t7, 4($v0) -/* 0AEB48 7F07A018 8F010008 */ lw $at, 8($t8) -/* 0AEB4C 7F07A01C AC410008 */ sw $at, 8($v0) -/* 0AEB50 7F07A020 8F0F000C */ lw $t7, 0xc($t8) -/* 0AEB54 7F07A024 AC4F000C */ sw $t7, 0xc($v0) -/* 0AEB58 7F07A028 8F010010 */ lw $at, 0x10($t8) -/* 0AEB5C 7F07A02C AC410010 */ sw $at, 0x10($v0) -/* 0AEB60 7F07A030 8F0F0014 */ lw $t7, 0x14($t8) -/* 0AEB64 7F07A034 AC4F0014 */ sw $t7, 0x14($v0) -/* 0AEB68 7F07A038 8F010018 */ lw $at, 0x18($t8) -/* 0AEB6C 7F07A03C AC410018 */ sw $at, 0x18($v0) -/* 0AEB70 7F07A040 8F0F001C */ lw $t7, 0x1c($t8) -/* 0AEB74 7F07A044 AC4F001C */ sw $t7, 0x1c($v0) -/* 0AEB78 7F07A048 AFA30028 */ sw $v1, 0x28($sp) -/* 0AEB7C 7F07A04C AFAB0010 */ sw $t3, 0x10($sp) -/* 0AEB80 7F07A050 8FA700E4 */ lw $a3, 0xe4($sp) -/* 0AEB84 7F07A054 8FA600F0 */ lw $a2, 0xf0($sp) -/* 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 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) -/* 0AEBA4 7F07A074 25EFDE10 */ addiu $t7, %lo(c_item_entries) # addiu $t7, $t7, -0x21f0 -/* 0AEBA8 7F07A078 000DC080 */ sll $t8, $t5, 2 -/* 0AEBAC 7F07A07C 030DC021 */ addu $t8, $t8, $t5 -/* 0AEBB0 7F07A080 0018C080 */ sll $t8, $t8, 2 -/* 0AEBB4 7F07A084 030F1821 */ addu $v1, $t8, $t7 -/* 0AEBB8 7F07A088 8C6B0000 */ lw $t3, ($v1) -/* 0AEBBC 7F07A08C 2448003F */ addiu $t0, $v0, 0x3f -/* 0AEBC0 7F07A090 8FA900F0 */ lw $t1, 0xf0($sp) -/* 0AEBC4 7F07A094 350A003F */ ori $t2, $t0, 0x3f -/* 0AEBC8 7F07A098 8D610000 */ lw $at, ($t3) -/* 0AEBCC 7F07A09C 394C003F */ xori $t4, $t2, 0x3f -/* 0AEBD0 7F07A0A0 2588005F */ addiu $t0, $t4, 0x5f -/* 0AEBD4 7F07A0A4 3519003F */ ori $t9, $t0, 0x3f -/* 0AEBD8 7F07A0A8 012C2021 */ addu $a0, $t1, $t4 -/* 0AEBDC 7F07A0AC 3B28003F */ xori $t0, $t9, 0x3f -/* 0AEBE0 7F07A0B0 AC810000 */ sw $at, ($a0) -/* 0AEBE4 7F07A0B4 8D790004 */ lw $t9, 4($t3) -/* 0AEBE8 7F07A0B8 27AD0100 */ addiu $t5, $sp, 0x100 -/* 0AEBEC 7F07A0BC 01283021 */ addu $a2, $t1, $t0 -/* 0AEBF0 7F07A0C0 AC990004 */ sw $t9, 4($a0) -/* 0AEBF4 7F07A0C4 8D610008 */ lw $at, 8($t3) -/* 0AEBF8 7F07A0C8 AC810008 */ sw $at, 8($a0) -/* 0AEBFC 7F07A0CC 8D79000C */ lw $t9, 0xc($t3) -/* 0AEC00 7F07A0D0 AC99000C */ sw $t9, 0xc($a0) -/* 0AEC04 7F07A0D4 8D610010 */ lw $at, 0x10($t3) -/* 0AEC08 7F07A0D8 AC810010 */ sw $at, 0x10($a0) -/* 0AEC0C 7F07A0DC 8D790014 */ lw $t9, 0x14($t3) -/* 0AEC10 7F07A0E0 AC990014 */ sw $t9, 0x14($a0) -/* 0AEC14 7F07A0E4 8D610018 */ lw $at, 0x18($t3) -/* 0AEC18 7F07A0E8 AC810018 */ sw $at, 0x18($a0) -/* 0AEC1C 7F07A0EC 8D79001C */ lw $t9, 0x1c($t3) -/* 0AEC20 7F07A0F0 AC99001C */ sw $t9, 0x1c($a0) -/* 0AEC24 7F07A0F4 8FAE00E4 */ lw $t6, 0xe4($sp) -/* 0AEC28 7F07A0F8 AFA800E8 */ sw $t0, 0xe8($sp) -/* 0AEC2C 7F07A0FC AFA400F8 */ sw $a0, 0xf8($sp) -/* 0AEC30 7F07A100 AFA30028 */ sw $v1, 0x28($sp) -/* 0AEC34 7F07A104 AFAD0010 */ sw $t5, 0x10($sp) -/* 0AEC38 7F07A108 8C650004 */ lw $a1, 4($v1) -/* 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 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) -/* 0AEC58 7F07A128 8FA400FC */ lw $a0, 0xfc($sp) -/* 0AEC5C 7F07A12C 00431821 */ addu $v1, $v0, $v1 -/* 0AEC60 7F07A130 2463003F */ addiu $v1, $v1, 0x3f -/* 0AEC64 7F07A134 3478003F */ ori $t8, $v1, 0x3f -/* 0AEC68 7F07A138 3B0F003F */ xori $t7, $t8, 0x3f -/* 0AEC6C 7F07A13C 25E300FB */ addiu $v1, $t7, 0xfb -/* 0AEC70 7F07A140 346B003F */ ori $t3, $v1, 0x3f -/* 0AEC74 7F07A144 3979003F */ xori $t9, $t3, 0x3f -/* 0AEC78 7F07A148 018F5021 */ addu $t2, $t4, $t7 -/* 0AEC7C 7F07A14C AFAA0038 */ sw $t2, 0x38($sp) -/* 0AEC80 7F07A150 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 0AEC84 7F07A154 AFB900E8 */ sw $t9, 0xe8($sp) -/* 0AEC88 7F07A158 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 0AEC8C 7F07A15C 8FA400F8 */ lw $a0, 0xf8($sp) -/* 0AEC90 7F07A160 8FA500FC */ lw $a1, 0xfc($sp) -/* 0AEC94 7F07A164 8FAF00F8 */ lw $t7, 0xf8($sp) -/* 0AEC98 7F07A168 8FA300E8 */ lw $v1, 0xe8($sp) -/* 0AEC9C 7F07A16C 84B80014 */ lh $t8, 0x14($a1) -/* 0AECA0 7F07A170 85EC0014 */ lh $t4, 0x14($t7) -/* 0AECA4 7F07A174 8FAE00F0 */ lw $t6, 0xf0($sp) -/* 0AECA8 7F07A178 8FA40038 */ lw $a0, 0x38($sp) -/* 0AECAC 7F07A17C 030C1021 */ addu $v0, $t8, $t4 -/* 0AECB0 7F07A180 2442000A */ addiu $v0, $v0, 0xa -/* 0AECB4 7F07A184 00025080 */ sll $t2, $v0, 2 -/* 0AECB8 7F07A188 01C33021 */ addu $a2, $t6, $v1 -/* 0AECBC 7F07A18C 01431821 */ addu $v1, $t2, $v1 -/* 0AECC0 7F07A190 2463003F */ addiu $v1, $v1, 0x3f -/* 0AECC4 7F07A194 346B003F */ ori $t3, $v1, 0x3f -/* 0AECC8 7F07A198 3979003F */ xori $t9, $t3, 0x3f -/* 0AECCC 7F07A19C AFB900E8 */ sw $t9, 0xe8($sp) -/* 0AECD0 7F07A1A0 0FC1D7EB */ jal sub_GAME_7F075FAC -/* 0AECD4 7F07A1A4 AFA20030 */ sw $v0, 0x30($sp) -/* 0AECD8 7F07A1A8 8FA20030 */ lw $v0, 0x30($sp) -/* 0AECDC 7F07A1AC 8FAE0038 */ lw $t6, 0x38($sp) -/* 0AECE0 7F07A1B0 A5C20002 */ sh $v0, 2($t6) -/* 0AECE4 7F07A1B4 1000001F */ b .L7F07A234 -/* 0AECE8 7F07A1B8 8FA700F8 */ lw $a3, 0xf8($sp) -.L7F07A1BC: -/* 0AECEC 7F07A1BC 000FC080 */ sll $t8, $t7, 2 -/* 0AECF0 7F07A1C0 030FC021 */ addu $t8, $t8, $t7 -/* 0AECF4 7F07A1C4 3C0C8004 */ lui $t4, %hi(c_item_entries) -/* 0AECF8 7F07A1C8 258CDE10 */ addiu $t4, %lo(c_item_entries) # addiu $t4, $t4, -0x21f0 -/* 0AECFC 7F07A1CC 0018C080 */ sll $t8, $t8, 2 -/* 0AED00 7F07A1D0 030C1821 */ addu $v1, $t8, $t4 -/* 0AED04 7F07A1D4 8C6A0000 */ lw $t2, ($v1) -/* 0AED08 7F07A1D8 AFAA00FC */ sw $t2, 0xfc($sp) -/* 0AED0C 7F07A1DC 8D590000 */ lw $t9, ($t2) -/* 0AED10 7F07A1E0 01402025 */ move $a0, $t2 -/* 0AED14 7F07A1E4 57200004 */ bnezl $t9, .L7F07A1F8 -/* 0AED18 7F07A1E8 8FAD0040 */ lw $t5, 0x40($sp) -/* 0AED1C 7F07A1EC 0FC1D953 */ jal load_object_into_memory -/* 0AED20 7F07A1F0 8C650004 */ lw $a1, 4($v1) -/* 0AED24 7F07A1F4 8FAD0040 */ lw $t5, 0x40($sp) -.L7F07A1F8: -/* 0AED28 7F07A1F8 3C0F8004 */ lui $t7, %hi(c_item_entries) -/* 0AED2C 7F07A1FC 25EFDE10 */ addiu $t7, %lo(c_item_entries) # addiu $t7, $t7, -0x21f0 -/* 0AED30 7F07A200 000D7080 */ sll $t6, $t5, 2 -/* 0AED34 7F07A204 01CD7021 */ addu $t6, $t6, $t5 -/* 0AED38 7F07A208 000E7080 */ sll $t6, $t6, 2 -/* 0AED3C 7F07A20C 01CF1821 */ addu $v1, $t6, $t7 -/* 0AED40 7F07A210 8C670000 */ lw $a3, ($v1) -/* 0AED44 7F07A214 8CF80000 */ lw $t8, ($a3) -/* 0AED48 7F07A218 00E02025 */ move $a0, $a3 -/* 0AED4C 7F07A21C 57000006 */ bnezl $t8, .L7F07A238 -/* 0AED50 7F07A220 8FAC0038 */ lw $t4, 0x38($sp) -/* 0AED54 7F07A224 8C650004 */ lw $a1, 4($v1) -/* 0AED58 7F07A228 0FC1D953 */ jal load_object_into_memory -/* 0AED5C 7F07A22C AFA700F8 */ sw $a3, 0xf8($sp) -/* 0AED60 7F07A230 8FA700F8 */ lw $a3, 0xf8($sp) -.L7F07A234: -/* 0AED64 7F07A234 8FAC0038 */ lw $t4, 0x38($sp) -.L7F07A238: -/* 0AED68 7F07A238 8FA40044 */ lw $a0, 0x44($sp) -/* 0AED6C 7F07A23C 8FA50040 */ lw $a1, 0x40($sp) -/* 0AED70 7F07A240 8FA600FC */ lw $a2, 0xfc($sp) -/* 0AED74 7F07A244 AFA00010 */ sw $zero, 0x10($sp) -/* 0AED78 7F07A248 0FC08CBA */ jal maybe_load_models_for_guards -/* 0AED7C 7F07A24C AFAC0014 */ sw $t4, 0x14($sp) -/* 0AED80 7F07A250 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AED84 7F07A254 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AED88 7F07A258 8C6A0000 */ lw $t2, ($v1) -/* 0AED8C 7F07A25C 3C018005 */ lui $at, %hi(D_8005502C) -/* 0AED90 7F07A260 AD4200D4 */ sw $v0, 0xd4($t2) -/* 0AED94 7F07A264 8C790000 */ lw $t9, ($v1) -/* 0AED98 7F07A268 C426502C */ lwc1 $f6, %lo(D_8005502C)($at) -/* 0AED9C 7F07A26C 8F2400D4 */ lw $a0, 0xd4($t9) -/* 0AEDA0 7F07A270 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0AEDA4 7F07A274 46062202 */ mul.s $f8, $f4, $f6 -/* 0AEDA8 7F07A278 44054000 */ mfc1 $a1, $f8 -/* 0AEDAC 7F07A27C 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0AEDB0 7F07A280 00000000 */ nop -/* 0AEDB4 7F07A284 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AEDB8 7F07A288 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0AEDBC 7F07A28C 8FA70114 */ lw $a3, 0x114($sp) -/* 0AEDC0 7F07A290 8C6400A8 */ lw $a0, 0xa8($v1) -/* 0AEDC4 7F07A294 8C6500D4 */ lw $a1, 0xd4($v1) -/* 0AEDC8 7F07A298 8C8B0014 */ lw $t3, 0x14($a0) -/* 0AEDCC 7F07A29C AFA00014 */ sw $zero, 0x14($sp) -/* 0AEDD0 7F07A2A0 24860008 */ addiu $a2, $a0, 8 -/* 0AEDD4 7F07A2A4 0FC0802F */ jal init_GUARDdata_with_set_values -/* 0AEDD8 7F07A2A8 AFAB0010 */ sw $t3, 0x10($sp) -/* 0AEDDC 7F07A2AC 3C078008 */ lui $a3, %hi(pPlayer) -/* 0AEDE0 7F07A2B0 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0AEDE4 7F07A2B4 8CEE0000 */ lw $t6, ($a3) -/* 0AEDE8 7F07A2B8 240D0006 */ li $t5, 6 -/* 0AEDEC 7F07A2BC 8DCF00A8 */ lw $t7, 0xa8($t6) -/* 0AEDF0 7F07A2C0 A1ED0000 */ sb $t5, ($t7) -/* 0AEDF4 7F07A2C4 8CF80000 */ lw $t8, ($a3) -/* 0AEDF8 7F07A2C8 8F0C00A8 */ lw $t4, 0xa8($t8) -/* 0AEDFC 7F07A2CC 8D860004 */ lw $a2, 4($t4) -/* 0AEE00 7F07A2D0 8CCA0014 */ lw $t2, 0x14($a2) -/* 0AEE04 7F07A2D4 35590001 */ ori $t9, $t2, 1 -/* 0AEE08 7F07A2D8 ACD90014 */ sw $t9, 0x14($a2) -/* 0AEE0C 7F07A2DC 8CE30000 */ lw $v1, ($a3) -/* 0AEE10 7F07A2E0 8C6500A8 */ lw $a1, 0xa8($v1) -/* 0AEE14 7F07A2E4 8C6400D4 */ lw $a0, 0xd4($v1) -/* 0AEE18 7F07A2E8 AFA60110 */ sw $a2, 0x110($sp) -/* 0AEE1C 7F07A2EC 0FC1B303 */ jal setsuboffset -/* 0AEE20 7F07A2F0 24A50008 */ addiu $a1, $a1, 8 -/* 0AEE24 7F07A2F4 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0AEE28 7F07A2F8 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0AEE2C 7F07A2FC 8FA50114 */ lw $a1, 0x114($sp) -/* 0AEE30 7F07A300 0FC1B34F */ jal setsubroty -/* 0AEE34 7F07A304 8D6400D4 */ lw $a0, 0xd4($t3) -/* 0AEE38 7F07A308 0FC26C91 */ jal sub_GAME_7F09B244 -/* 0AEE3C 7F07A30C 8FA40048 */ lw $a0, 0x48($sp) -/* 0AEE40 7F07A310 04400045 */ bltz $v0, .L7F07A428 -/* 0AEE44 7F07A314 AFA2004C */ sw $v0, 0x4c($sp) -/* 0AEE48 7F07A318 0FC26919 */ jal get_num_players -/* 0AEE4C 7F07A31C 00000000 */ nop -/* 0AEE50 7F07A320 24010001 */ li $at, 1 -/* 0AEE54 7F07A324 14410035 */ bne $v0, $at, .L7F07A3FC -/* 0AEE58 7F07A328 8FAE00F0 */ lw $t6, 0xf0($sp) -/* 0AEE5C 7F07A32C 8FA200E8 */ lw $v0, 0xe8($sp) -/* 0AEE60 7F07A330 24040001 */ li $a0, 1 -/* 0AEE64 7F07A334 01C26821 */ addu $t5, $t6, $v0 -/* 0AEE68 7F07A338 244200C7 */ addiu $v0, $v0, 0xc7 -/* 0AEE6C 7F07A33C 344F003F */ ori $t7, $v0, 0x3f -/* 0AEE70 7F07A340 39F8003F */ xori $t8, $t7, 0x3f -/* 0AEE74 7F07A344 AFAD00DC */ sw $t5, 0xdc($sp) -/* 0AEE78 7F07A348 0FC173C6 */ jal get_ptr_itemheader_in_hand -/* 0AEE7C 7F07A34C AFB800E8 */ sw $t8, 0xe8($sp) -/* 0AEE80 7F07A350 8FAC004C */ lw $t4, 0x4c($sp) -/* 0AEE84 7F07A354 3C198004 */ lui $t9, %hi(PitemZ_entries) -/* 0AEE88 7F07A358 2739A228 */ addiu $t9, %lo(PitemZ_entries) # addiu $t9, $t9, -0x5dd8 -/* 0AEE8C 7F07A35C 000C5080 */ sll $t2, $t4, 2 -/* 0AEE90 7F07A360 014C5023 */ subu $t2, $t2, $t4 -/* 0AEE94 7F07A364 000A5080 */ sll $t2, $t2, 2 -/* 0AEE98 7F07A368 01591821 */ addu $v1, $t2, $t9 -/* 0AEE9C 7F07A36C 8C6B0000 */ lw $t3, ($v1) -/* 0AEEA0 7F07A370 AFA200F4 */ sw $v0, 0xf4($sp) -/* 0AEEA4 7F07A374 27AD0100 */ addiu $t5, $sp, 0x100 -/* 0AEEA8 7F07A378 8D610000 */ lw $at, ($t3) -/* 0AEEAC 7F07A37C 00402025 */ move $a0, $v0 -/* 0AEEB0 7F07A380 AC410000 */ sw $at, ($v0) -/* 0AEEB4 7F07A384 8D6F0004 */ lw $t7, 4($t3) -/* 0AEEB8 7F07A388 AC4F0004 */ sw $t7, 4($v0) -/* 0AEEBC 7F07A38C 8D610008 */ lw $at, 8($t3) -/* 0AEEC0 7F07A390 AC410008 */ sw $at, 8($v0) -/* 0AEEC4 7F07A394 8D6F000C */ lw $t7, 0xc($t3) -/* 0AEEC8 7F07A398 AC4F000C */ sw $t7, 0xc($v0) -/* 0AEECC 7F07A39C 8D610010 */ lw $at, 0x10($t3) -/* 0AEED0 7F07A3A0 AC410010 */ sw $at, 0x10($v0) -/* 0AEED4 7F07A3A4 8D6F0014 */ lw $t7, 0x14($t3) -/* 0AEED8 7F07A3A8 AC4F0014 */ sw $t7, 0x14($v0) -/* 0AEEDC 7F07A3AC 8D610018 */ lw $at, 0x18($t3) -/* 0AEEE0 7F07A3B0 AC410018 */ sw $at, 0x18($v0) -/* 0AEEE4 7F07A3B4 8D6F001C */ lw $t7, 0x1c($t3) -/* 0AEEE8 7F07A3B8 AC4F001C */ sw $t7, 0x1c($v0) -/* 0AEEEC 7F07A3BC 8FAC00E8 */ lw $t4, 0xe8($sp) -/* 0AEEF0 7F07A3C0 8FAA00E4 */ lw $t2, 0xe4($sp) -/* 0AEEF4 7F07A3C4 8FB800F0 */ lw $t8, 0xf0($sp) -/* 0AEEF8 7F07A3C8 AFA30028 */ sw $v1, 0x28($sp) -/* 0AEEFC 7F07A3CC AFAD0010 */ sw $t5, 0x10($sp) -/* 0AEF00 7F07A3D0 8C650004 */ lw $a1, 4($v1) -/* 0AEF04 7F07A3D4 014C3823 */ subu $a3, $t2, $t4 -/* 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 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) -/* 0AEF24 7F07A3F4 10000004 */ b .L7F07A408 -/* 0AEF28 7F07A3F8 8FAE00DC */ lw $t6, 0xdc($sp) -.L7F07A3FC: -/* 0AEF2C 7F07A3FC AFA000DC */ sw $zero, 0xdc($sp) -/* 0AEF30 7F07A400 AFA000F4 */ sw $zero, 0xf4($sp) -/* 0AEF34 7F07A404 8FAE00DC */ lw $t6, 0xdc($sp) -.L7F07A408: -/* 0AEF38 7F07A408 8FAB00F4 */ lw $t3, 0xf4($sp) -/* 0AEF3C 7F07A40C 8FA40110 */ lw $a0, 0x110($sp) -/* 0AEF40 7F07A410 8FA5004C */ lw $a1, 0x4c($sp) -/* 0AEF44 7F07A414 8FA60048 */ lw $a2, 0x48($sp) -/* 0AEF48 7F07A418 00003825 */ move $a3, $zero -/* 0AEF4C 7F07A41C AFAE0010 */ sw $t6, 0x10($sp) -/* 0AEF50 7F07A420 0FC14885 */ jal something_with_generating_object -/* 0AEF54 7F07A424 AFAB0014 */ sw $t3, 0x14($sp) -.L7F07A428: -/* 0AEF58 7F07A428 8FA40110 */ lw $a0, 0x110($sp) -/* 0AEF5C 7F07A42C 0FC08EA5 */ jal sub_GAME_7F023A94 -/* 0AEF60 7F07A430 24050000 */ li $a1, 0 -/* 0AEF64 7F07A434 10000017 */ b .L7F07A494 -/* 0AEF68 7F07A438 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AEF6C 7F07A43C 8C4F001C */ lw $t7, 0x1c($v0) -.L7F07A440: -/* 0AEF70 7F07A440 00402025 */ move $a0, $v0 -/* 0AEF74 7F07A444 8DF80020 */ lw $t8, 0x20($t7) -/* 0AEF78 7F07A448 57000012 */ bnezl $t8, .L7F07A494 -/* 0AEF7C 7F07A44C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AEF80 7F07A450 8C4C0014 */ lw $t4, 0x14($v0) -/* 0AEF84 7F07A454 24050000 */ li $a1, 0 -/* 0AEF88 7F07A458 358A0001 */ ori $t2, $t4, 1 -/* 0AEF8C 7F07A45C 0FC08EA5 */ jal sub_GAME_7F023A94 -/* 0AEF90 7F07A460 AC4A0014 */ sw $t2, 0x14($v0) -/* 0AEF94 7F07A464 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AEF98 7F07A468 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0AEF9C 7F07A46C 8C6500A8 */ lw $a1, 0xa8($v1) -/* 0AEFA0 7F07A470 8C6400D4 */ lw $a0, 0xd4($v1) -/* 0AEFA4 7F07A474 0FC1B303 */ jal setsuboffset -/* 0AEFA8 7F07A478 24A50008 */ addiu $a1, $a1, 8 -/* 0AEFAC 7F07A47C 3C198008 */ lui $t9, %hi(pPlayer) -/* 0AEFB0 7F07A480 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0AEFB4 7F07A484 8FA50114 */ lw $a1, 0x114($sp) -/* 0AEFB8 7F07A488 0FC1B34F */ jal setsubroty -/* 0AEFBC 7F07A48C 8F2400D4 */ lw $a0, 0xd4($t9) -/* 0AEFC0 7F07A490 8FBF001C */ lw $ra, 0x1c($sp) -.L7F07A494: -/* 0AEFC4 7F07A494 27BD0118 */ addiu $sp, $sp, 0x118 -/* 0AEFC8 7F07A498 03E00008 */ jr $ra -/* 0AEFCC 7F07A49C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -/*D:80054FE4*/ -glabel jpt_bondcuff -.word .Ljp7F07A494 -.word cuff_1_brosnan -.word cuff_2_jungle -.word cuff_3_boiler -.word cuff_4_snowsuit -.word cuff_5_connery -.word cuff_6_moore -.word cuff_7_dalton -.word cuff_8_variable_bond_head - -/*D:80055008*/ -glabel jpt_bondhead -.word .Ljp7F07A574 -.word brosnan_tux_head_set -.word jungle_head_set -.word boiler_bond_head_set -.word .Ljp7F07A574 -.word connery_head_set -.word moore_head_set -.word dalton_head_set -.word variable_body_head - -glabel D_8005502C -.word 0x3f7851ec /*0.97000003*/ -.text -glabel solo_char_load -/* 0AEE50 7F07A2E0 27BDFEE8 */ addiu $sp, $sp, -0x118 -/* 0AEE54 7F07A2E4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0AEE58 7F07A2E8 0FC22987 */ jal get_curplay_horizontal_rotation_in_degrees -/* 0AEE5C 7F07A2EC 00000000 */ nop -/* 0AEE60 7F07A2F0 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0AEE64 7F07A2F4 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0AEE68 7F07A2F8 E7A00114 */ swc1 $f0, 0x114($sp) -/* 0AEE6C 7F07A2FC 8DCF00A8 */ lw $t7, 0xa8($t6) -/* 0AEE70 7F07A300 8DE20004 */ lw $v0, 4($t7) -/* 0AEE74 7F07A304 544001D6 */ bnezl $v0, .Ljp7F07AA60 -/* 0AEE78 7F07A308 8C59001C */ lw $t9, 0x1c($v0) -/* 0AEE7C 7F07A30C 0FC17514 */ jal getPlayerWeaponBufferForHand -/* 0AEE80 7F07A310 00002025 */ move $a0, $zero -/* 0AEE84 7F07A314 AFA200F0 */ sw $v0, 0xf0($sp) -/* 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 getSizeBufferWeaponInHand -/* 0AEE9C 7F07A32C 00002025 */ move $a0, $zero -/* 0AEEA0 7F07A330 AFA200E4 */ sw $v0, 0xe4($sp) -/* 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 -/* 0AEEB4 7F07A344 AFA200E0 */ sw $v0, 0xe0($sp) -/* 0AEEB8 7F07A348 272C0084 */ addiu $t4, $t9, 0x84 -/* 0AEEBC 7F07A34C 27B80054 */ addiu $t8, $sp, 0x54 -.Ljp7F07A350: -/* 0AEEC0 7F07A350 8F210000 */ lw $at, ($t9) -/* 0AEEC4 7F07A354 2739000C */ addiu $t9, $t9, 0xc -/* 0AEEC8 7F07A358 2718000C */ addiu $t8, $t8, 0xc -/* 0AEECC 7F07A35C AF01FFF4 */ sw $at, -0xc($t8) -/* 0AEED0 7F07A360 8F21FFF8 */ lw $at, -8($t9) -/* 0AEED4 7F07A364 AF01FFF8 */ sw $at, -8($t8) -/* 0AEED8 7F07A368 8F21FFFC */ lw $at, -4($t9) -/* 0AEEDC 7F07A36C 172CFFF8 */ bne $t9, $t4, .Ljp7F07A350 -/* 0AEEE0 7F07A370 AF01FFFC */ sw $at, -4($t8) -/* 0AEEE4 7F07A374 8F210000 */ lw $at, ($t9) -/* 0AEEE8 7F07A378 00002025 */ move $a0, $zero -/* 0AEEEC 7F07A37C 0FC177D9 */ jal return_ammo_in_hand -/* 0AEEF0 7F07A380 AF010000 */ sw $at, ($t8) -/* 0AEEF4 7F07A384 240D0017 */ li $t5, 23 -/* 0AEEF8 7F07A388 240E004B */ li $t6, 75 -/* 0AEEFC 7F07A38C 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 -/* 0AEF00 7F07A390 AFA20048 */ sw $v0, 0x48($sp) -/* 0AEF04 7F07A394 AFAD0044 */ sw $t5, 0x44($sp) -/* 0AEF08 7F07A398 AFAE0040 */ sw $t6, 0x40($sp) -/* 0AEF0C 7F07A39C AFA00038 */ sw $zero, 0x38($sp) -/* 0AEF10 7F07A3A0 0FC1F922 */ jal sub_GAME_7F07DE64 -/* 0AEF14 7F07A3A4 8C84A120 */ lw $a0, %lo(pPlayer)($a0) -/* 0AEF18 7F07A3A8 0FC26C01 */ jal get_num_players -/* 0AEF1C 7F07A3AC 00000000 */ nop -/* 0AEF20 7F07A3B0 24010001 */ li $at, 1 -/* 0AEF24 7F07A3B4 14410066 */ bne $v0, $at, .Ljp7F07A550 -/* 0AEF28 7F07A3B8 00000000 */ nop -/* 0AEF2C 7F07A3BC 0FC075C4 */ jal getSelectedFolderBond -/* 0AEF30 7F07A3C0 00000000 */ nop -/* 0AEF34 7F07A3C4 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 0AEF38 7F07A3C8 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 0AEF3C 7F07A3CC 8DE3041C */ lw $v1, 0x41c($t7) -/* 0AEF40 7F07A3D0 2C610009 */ sltiu $at, $v1, 9 -/* 0AEF44 7F07A3D4 1020002F */ beqz $at, .Ljp7F07A494 -/* 0AEF48 7F07A3D8 00035880 */ sll $t3, $v1, 2 -/* 0AEF4C 7F07A3DC 3C018005 */ lui $at, %hi(jpt_bondcuff) -/* 0AEF50 7F07A3E0 002B0821 */ addu $at, $at, $t3 -/* 0AEF54 7F07A3E4 8C2B5014 */ lw $t3, %lo(jpt_bondcuff)($at) -/* 0AEF58 7F07A3E8 01600008 */ jr $t3 -/* 0AEF5C 7F07A3EC 00000000 */ nop -cuff_3_boiler: -/* 0AEF60 7F07A3F0 240A0016 */ li $t2, 22 -/* 0AEF64 7F07A3F4 10000027 */ b .Ljp7F07A494 -/* 0AEF68 7F07A3F8 AFAA0044 */ sw $t2, 0x44($sp) -cuff_2_jungle: -/* 0AEF6C 7F07A3FC 240C0018 */ li $t4, 24 -/* 0AEF70 7F07A400 10000024 */ b .Ljp7F07A494 -/* 0AEF74 7F07A404 AFAC0044 */ sw $t4, 0x44($sp) -cuff_4_snowsuit: -/* 0AEF78 7F07A408 24190019 */ li $t9, 25 -/* 0AEF7C 7F07A40C 10000021 */ b .Ljp7F07A494 -/* 0AEF80 7F07A410 AFB90044 */ sw $t9, 0x44($sp) -cuff_1_brosnan: -/* 0AEF84 7F07A414 24180005 */ li $t8, 5 -/* 0AEF88 7F07A418 1000001E */ b .Ljp7F07A494 -/* 0AEF8C 7F07A41C AFB80044 */ sw $t8, 0x44($sp) -cuff_5_connery: -/* 0AEF90 7F07A420 240D0005 */ li $t5, 5 -/* 0AEF94 7F07A424 1000001B */ b .Ljp7F07A494 -/* 0AEF98 7F07A428 AFAD0044 */ sw $t5, 0x44($sp) -cuff_6_moore: -/* 0AEF9C 7F07A42C 240E0005 */ li $t6, 5 -/* 0AEFA0 7F07A430 10000018 */ b .Ljp7F07A494 -/* 0AEFA4 7F07A434 AFAE0044 */ sw $t6, 0x44($sp) -cuff_7_dalton: -/* 0AEFA8 7F07A438 240F0005 */ li $t7, 5 -/* 0AEFAC 7F07A43C 10000015 */ b .Ljp7F07A494 -/* 0AEFB0 7F07A440 AFAF0044 */ sw $t7, 0x44($sp) -cuff_8_variable_bond_head: -/* 0AEFB4 7F07A444 1040000C */ beqz $v0, .Ljp7F07A478 -/* 0AEFB8 7F07A448 240B0005 */ li $t3, 5 -/* 0AEFBC 7F07A44C 24010001 */ li $at, 1 -/* 0AEFC0 7F07A450 1041000B */ beq $v0, $at, .Ljp7F07A480 -/* 0AEFC4 7F07A454 240A0005 */ li $t2, 5 -/* 0AEFC8 7F07A458 24010002 */ li $at, 2 -/* 0AEFCC 7F07A45C 1041000A */ beq $v0, $at, .Ljp7F07A488 -/* 0AEFD0 7F07A460 240C0005 */ li $t4, 5 -/* 0AEFD4 7F07A464 24010003 */ li $at, 3 -/* 0AEFD8 7F07A468 10410009 */ beq $v0, $at, .Ljp7F07A490 -/* 0AEFDC 7F07A46C 24190005 */ li $t9, 5 -/* 0AEFE0 7F07A470 10000008 */ b .Ljp7F07A494 -/* 0AEFE4 7F07A474 00000000 */ nop -.Ljp7F07A478: -/* 0AEFE8 7F07A478 10000006 */ b .Ljp7F07A494 -/* 0AEFEC 7F07A47C AFAB0044 */ sw $t3, 0x44($sp) -.Ljp7F07A480: -/* 0AEFF0 7F07A480 10000004 */ b .Ljp7F07A494 -/* 0AEFF4 7F07A484 AFAA0044 */ sw $t2, 0x44($sp) -.Ljp7F07A488: -/* 0AEFF8 7F07A488 10000002 */ b .Ljp7F07A494 -/* 0AEFFC 7F07A48C AFAC0044 */ sw $t4, 0x44($sp) -.Ljp7F07A490: -/* 0AF000 7F07A490 AFB90044 */ sw $t9, 0x44($sp) -.Ljp7F07A494: -/* 0AF004 7F07A494 1040000C */ beqz $v0, .Ljp7F07A4C8 -/* 0AF008 7F07A498 2C610009 */ sltiu $at, $v1, 9 -/* 0AF00C 7F07A49C 24010001 */ li $at, 1 -/* 0AF010 7F07A4A0 10410025 */ beq $v0, $at, .Ljp7F07A538 -/* 0AF014 7F07A4A4 2418004E */ li $t8, 78 -/* 0AF018 7F07A4A8 24010002 */ li $at, 2 -/* 0AF01C 7F07A4AC 10410024 */ beq $v0, $at, .Ljp7F07A540 -/* 0AF020 7F07A4B0 240D004E */ li $t5, 78 -/* 0AF024 7F07A4B4 24010003 */ li $at, 3 -/* 0AF028 7F07A4B8 10410023 */ beq $v0, $at, .Ljp7F07A548 -/* 0AF02C 7F07A4BC 240E004E */ li $t6, 78 -/* 0AF030 7F07A4C0 1000002C */ b .Ljp7F07A574 -/* 0AF034 7F07A4C4 00000000 */ nop -.Ljp7F07A4C8: -/* 0AF038 7F07A4C8 1020002A */ beqz $at, .Ljp7F07A574 -/* 0AF03C 7F07A4CC 0003C080 */ sll $t8, $v1, 2 -/* 0AF040 7F07A4D0 3C018005 */ lui $at, %hi(jpt_bondhead) -/* 0AF044 7F07A4D4 00380821 */ addu $at, $at, $t8 -/* 0AF048 7F07A4D8 8C385038 */ lw $t8, %lo(jpt_bondhead)($at) -/* 0AF04C 7F07A4DC 03000008 */ jr $t8 -/* 0AF050 7F07A4E0 00000000 */ nop -boiler_bond_head_set: -/* 0AF054 7F07A4E4 240D004A */ li $t5, 74 -/* 0AF058 7F07A4E8 10000022 */ b .Ljp7F07A574 -/* 0AF05C 7F07A4EC AFAD0040 */ sw $t5, 0x40($sp) -jungle_head_set: -/* 0AF060 7F07A4F0 240E004C */ li $t6, 76 -/* 0AF064 7F07A4F4 1000001F */ b .Ljp7F07A574 -/* 0AF068 7F07A4F8 AFAE0040 */ sw $t6, 0x40($sp) -brosnan_tux_head_set: -/* 0AF06C 7F07A4FC 240F004E */ li $t7, 78 -/* 0AF070 7F07A500 1000001C */ b .Ljp7F07A574 -/* 0AF074 7F07A504 AFAF0040 */ sw $t7, 0x40($sp) -connery_head_set: -/* 0AF078 7F07A508 240B004E */ li $t3, 78 -/* 0AF07C 7F07A50C 10000019 */ b .Ljp7F07A574 -/* 0AF080 7F07A510 AFAB0040 */ sw $t3, 0x40($sp) -moore_head_set: -/* 0AF084 7F07A514 240A004E */ li $t2, 78 -/* 0AF088 7F07A518 10000016 */ b .Ljp7F07A574 -/* 0AF08C 7F07A51C AFAA0040 */ sw $t2, 0x40($sp) -dalton_head_set: -/* 0AF090 7F07A520 240C004E */ li $t4, 78 -/* 0AF094 7F07A524 10000013 */ b .Ljp7F07A574 -/* 0AF098 7F07A528 AFAC0040 */ sw $t4, 0x40($sp) -variable_body_head: -/* 0AF09C 7F07A52C 2419004E */ li $t9, 78 -/* 0AF0A0 7F07A530 10000010 */ b .Ljp7F07A574 -/* 0AF0A4 7F07A534 AFB90040 */ sw $t9, 0x40($sp) -.Ljp7F07A538: -/* 0AF0A8 7F07A538 1000000E */ b .Ljp7F07A574 -/* 0AF0AC 7F07A53C AFB80040 */ sw $t8, 0x40($sp) -.Ljp7F07A540: -/* 0AF0B0 7F07A540 1000000C */ b .Ljp7F07A574 -/* 0AF0B4 7F07A544 AFAD0040 */ sw $t5, 0x40($sp) -.Ljp7F07A548: -/* 0AF0B8 7F07A548 1000000A */ b .Ljp7F07A574 -/* 0AF0BC 7F07A54C AFAE0040 */ sw $t6, 0x40($sp) -.Ljp7F07A550: -/* 0AF0C0 7F07A550 0FC26F3C */ jal get_cur_playernum -/* 0AF0C4 7F07A554 00000000 */ nop -/* 0AF0C8 7F07A558 0FC040BF */ jal get_player_mp_char_head -/* 0AF0CC 7F07A55C 00402025 */ move $a0, $v0 -/* 0AF0D0 7F07A560 0FC26F3C */ jal get_cur_playernum -/* 0AF0D4 7F07A564 AFA20040 */ sw $v0, 0x40($sp) -/* 0AF0D8 7F07A568 0FC040E7 */ jal get_player_mp_char_body -/* 0AF0DC 7F07A56C 00402025 */ move $a0, $v0 -/* 0AF0E0 7F07A570 AFA20044 */ sw $v0, 0x44($sp) -.Ljp7F07A574: -/* 0AF0E4 7F07A574 3C0F8003 */ lui $t7, %hi(cameramode) # $t7, 0x8003 -/* 0AF0E8 7F07A578 8DEF64D4 */ lw $t7, %lo(cameramode)($t7) -/* 0AF0EC 7F07A57C 24010003 */ li $at, 3 -/* 0AF0F0 7F07A580 15E10003 */ bne $t7, $at, .Ljp7F07A590 -/* 0AF0F4 7F07A584 3C0B8008 */ lui $t3, %hi(starting_right_weapon) # $t3, 0x8008 -/* 0AF0F8 7F07A588 8D6B9A20 */ lw $t3, %lo(starting_right_weapon)($t3) -/* 0AF0FC 7F07A58C AFAB0048 */ sw $t3, 0x48($sp) -.Ljp7F07A590: -/* 0AF100 7F07A590 0FC26C01 */ jal get_num_players -/* 0AF104 7F07A594 00000000 */ nop -/* 0AF108 7F07A598 24010001 */ li $at, 1 -/* 0AF10C 7F07A59C 14410082 */ bne $v0, $at, .Ljp7F07A7A8 -/* 0AF110 7F07A5A0 8FAF0044 */ lw $t7, 0x44($sp) -/* 0AF114 7F07A5A4 0FC1751F */ jal remove_item_in_hand -/* 0AF118 7F07A5A8 24040001 */ li $a0, 1 -/* 0AF11C 7F07A5AC 0FC1751F */ jal remove_item_in_hand -/* 0AF120 7F07A5B0 00002025 */ move $a0, $zero -/* 0AF124 7F07A5B4 27A40100 */ addiu $a0, $sp, 0x100 -/* 0AF128 7F07A5B8 8FA500EC */ lw $a1, 0xec($sp) -/* 0AF12C 7F07A5BC 0FC331F5 */ jal sub_GAME_7F0CBAF4 -/* 0AF130 7F07A5C0 8FA600E0 */ lw $a2, 0xe0($sp) -/* 0AF134 7F07A5C4 0FC1750E */ jal get_ptr_itemheader_in_hand -/* 0AF138 7F07A5C8 00002025 */ move $a0, $zero -/* 0AF13C 7F07A5CC 8FAA0044 */ lw $t2, 0x44($sp) -/* 0AF140 7F07A5D0 3C198004 */ lui $t9, %hi(c_item_entries) # $t9, 0x8004 -/* 0AF144 7F07A5D4 2739DE40 */ addiu $t9, %lo(c_item_entries) # addiu $t9, $t9, -0x21c0 -/* 0AF148 7F07A5D8 000A6080 */ sll $t4, $t2, 2 -/* 0AF14C 7F07A5DC 018A6021 */ addu $t4, $t4, $t2 -/* 0AF150 7F07A5E0 000C6080 */ sll $t4, $t4, 2 -/* 0AF154 7F07A5E4 01991821 */ addu $v1, $t4, $t9 -/* 0AF158 7F07A5E8 8C780000 */ lw $t8, ($v1) -/* 0AF15C 7F07A5EC AFA200FC */ sw $v0, 0xfc($sp) -/* 0AF160 7F07A5F0 27AB0100 */ addiu $t3, $sp, 0x100 -/* 0AF164 7F07A5F4 8F010000 */ lw $at, ($t8) -/* 0AF168 7F07A5F8 00402025 */ move $a0, $v0 -/* 0AF16C 7F07A5FC AC410000 */ sw $at, ($v0) -/* 0AF170 7F07A600 8F0F0004 */ lw $t7, 4($t8) -/* 0AF174 7F07A604 AC4F0004 */ sw $t7, 4($v0) -/* 0AF178 7F07A608 8F010008 */ lw $at, 8($t8) -/* 0AF17C 7F07A60C AC410008 */ sw $at, 8($v0) -/* 0AF180 7F07A610 8F0F000C */ lw $t7, 0xc($t8) -/* 0AF184 7F07A614 AC4F000C */ sw $t7, 0xc($v0) -/* 0AF188 7F07A618 8F010010 */ lw $at, 0x10($t8) -/* 0AF18C 7F07A61C AC410010 */ sw $at, 0x10($v0) -/* 0AF190 7F07A620 8F0F0014 */ lw $t7, 0x14($t8) -/* 0AF194 7F07A624 AC4F0014 */ sw $t7, 0x14($v0) -/* 0AF198 7F07A628 8F010018 */ lw $at, 0x18($t8) -/* 0AF19C 7F07A62C AC410018 */ sw $at, 0x18($v0) -/* 0AF1A0 7F07A630 8F0F001C */ lw $t7, 0x1c($t8) -/* 0AF1A4 7F07A634 AC4F001C */ sw $t7, 0x1c($v0) -/* 0AF1A8 7F07A638 AFA30028 */ sw $v1, 0x28($sp) -/* 0AF1AC 7F07A63C AFAB0010 */ sw $t3, 0x10($sp) -/* 0AF1B0 7F07A640 8FA700E4 */ lw $a3, 0xe4($sp) -/* 0AF1B4 7F07A644 8FA600F0 */ lw $a2, 0xf0($sp) -/* 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 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 -/* 0AF1D4 7F07A664 25EFDE40 */ addiu $t7, %lo(c_item_entries) # addiu $t7, $t7, -0x21c0 -/* 0AF1D8 7F07A668 000DC080 */ sll $t8, $t5, 2 -/* 0AF1DC 7F07A66C 030DC021 */ addu $t8, $t8, $t5 -/* 0AF1E0 7F07A670 0018C080 */ sll $t8, $t8, 2 -/* 0AF1E4 7F07A674 030F1821 */ addu $v1, $t8, $t7 -/* 0AF1E8 7F07A678 8C6B0000 */ lw $t3, ($v1) -/* 0AF1EC 7F07A67C 2448003F */ addiu $t0, $v0, 0x3f -/* 0AF1F0 7F07A680 8FA900F0 */ lw $t1, 0xf0($sp) -/* 0AF1F4 7F07A684 350A003F */ ori $t2, $t0, 0x3f -/* 0AF1F8 7F07A688 8D610000 */ lw $at, ($t3) -/* 0AF1FC 7F07A68C 394C003F */ xori $t4, $t2, 0x3f -/* 0AF200 7F07A690 2588005F */ addiu $t0, $t4, 0x5f -/* 0AF204 7F07A694 3519003F */ ori $t9, $t0, 0x3f -/* 0AF208 7F07A698 012C2021 */ addu $a0, $t1, $t4 -/* 0AF20C 7F07A69C 3B28003F */ xori $t0, $t9, 0x3f -/* 0AF210 7F07A6A0 AC810000 */ sw $at, ($a0) -/* 0AF214 7F07A6A4 8D790004 */ lw $t9, 4($t3) -/* 0AF218 7F07A6A8 27AD0100 */ addiu $t5, $sp, 0x100 -/* 0AF21C 7F07A6AC 01283021 */ addu $a2, $t1, $t0 -/* 0AF220 7F07A6B0 AC990004 */ sw $t9, 4($a0) -/* 0AF224 7F07A6B4 8D610008 */ lw $at, 8($t3) -/* 0AF228 7F07A6B8 AC810008 */ sw $at, 8($a0) -/* 0AF22C 7F07A6BC 8D79000C */ lw $t9, 0xc($t3) -/* 0AF230 7F07A6C0 AC99000C */ sw $t9, 0xc($a0) -/* 0AF234 7F07A6C4 8D610010 */ lw $at, 0x10($t3) -/* 0AF238 7F07A6C8 AC810010 */ sw $at, 0x10($a0) -/* 0AF23C 7F07A6CC 8D790014 */ lw $t9, 0x14($t3) -/* 0AF240 7F07A6D0 AC990014 */ sw $t9, 0x14($a0) -/* 0AF244 7F07A6D4 8D610018 */ lw $at, 0x18($t3) -/* 0AF248 7F07A6D8 AC810018 */ sw $at, 0x18($a0) -/* 0AF24C 7F07A6DC 8D79001C */ lw $t9, 0x1c($t3) -/* 0AF250 7F07A6E0 AC99001C */ sw $t9, 0x1c($a0) -/* 0AF254 7F07A6E4 8FAE00E4 */ lw $t6, 0xe4($sp) -/* 0AF258 7F07A6E8 AFA800E8 */ sw $t0, 0xe8($sp) -/* 0AF25C 7F07A6EC AFA400F8 */ sw $a0, 0xf8($sp) -/* 0AF260 7F07A6F0 AFA30028 */ sw $v1, 0x28($sp) -/* 0AF264 7F07A6F4 AFAD0010 */ sw $t5, 0x10($sp) -/* 0AF268 7F07A6F8 8C650004 */ lw $a1, 4($v1) -/* 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 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) -/* 0AF288 7F07A718 8FA400FC */ lw $a0, 0xfc($sp) -/* 0AF28C 7F07A71C 00431821 */ addu $v1, $v0, $v1 -/* 0AF290 7F07A720 2463003F */ addiu $v1, $v1, 0x3f -/* 0AF294 7F07A724 3478003F */ ori $t8, $v1, 0x3f -/* 0AF298 7F07A728 3B0F003F */ xori $t7, $t8, 0x3f -/* 0AF29C 7F07A72C 25E300FB */ addiu $v1, $t7, 0xfb -/* 0AF2A0 7F07A730 346B003F */ ori $t3, $v1, 0x3f -/* 0AF2A4 7F07A734 3979003F */ xori $t9, $t3, 0x3f -/* 0AF2A8 7F07A738 018F5021 */ addu $t2, $t4, $t7 -/* 0AF2AC 7F07A73C AFAA0038 */ sw $t2, 0x38($sp) -/* 0AF2B0 7F07A740 0FC1D8B9 */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 0AF2B4 7F07A744 AFB900E8 */ sw $t9, 0xe8($sp) -/* 0AF2B8 7F07A748 0FC1D8B9 */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 0AF2BC 7F07A74C 8FA400F8 */ lw $a0, 0xf8($sp) -/* 0AF2C0 7F07A750 8FA500FC */ lw $a1, 0xfc($sp) -/* 0AF2C4 7F07A754 8FAF00F8 */ lw $t7, 0xf8($sp) -/* 0AF2C8 7F07A758 8FA300E8 */ lw $v1, 0xe8($sp) -/* 0AF2CC 7F07A75C 84B80014 */ lh $t8, 0x14($a1) -/* 0AF2D0 7F07A760 85EC0014 */ lh $t4, 0x14($t7) -/* 0AF2D4 7F07A764 8FAE00F0 */ lw $t6, 0xf0($sp) -/* 0AF2D8 7F07A768 8FA40038 */ lw $a0, 0x38($sp) -/* 0AF2DC 7F07A76C 030C1021 */ addu $v0, $t8, $t4 -/* 0AF2E0 7F07A770 2442000A */ addiu $v0, $v0, 0xa -/* 0AF2E4 7F07A774 00025080 */ sll $t2, $v0, 2 -/* 0AF2E8 7F07A778 01C33021 */ addu $a2, $t6, $v1 -/* 0AF2EC 7F07A77C 01431821 */ addu $v1, $t2, $v1 -/* 0AF2F0 7F07A780 2463003F */ addiu $v1, $v1, 0x3f -/* 0AF2F4 7F07A784 346B003F */ ori $t3, $v1, 0x3f -/* 0AF2F8 7F07A788 3979003F */ xori $t9, $t3, 0x3f -/* 0AF2FC 7F07A78C AFB900E8 */ sw $t9, 0xe8($sp) -/* 0AF300 7F07A790 0FC1D967 */ jal sub_GAME_7F075FAC -/* 0AF304 7F07A794 AFA20030 */ sw $v0, 0x30($sp) -/* 0AF308 7F07A798 8FA20030 */ lw $v0, 0x30($sp) -/* 0AF30C 7F07A79C 8FAE0038 */ lw $t6, 0x38($sp) -/* 0AF310 7F07A7A0 10000026 */ b .Ljp7F07A83C -/* 0AF314 7F07A7A4 A5C20002 */ sh $v0, 2($t6) -.Ljp7F07A7A8: -/* 0AF318 7F07A7A8 000FC080 */ sll $t8, $t7, 2 -/* 0AF31C 7F07A7AC 030FC021 */ addu $t8, $t8, $t7 -/* 0AF320 7F07A7B0 3C0C8004 */ lui $t4, %hi(c_item_entries) # $t4, 0x8004 -/* 0AF324 7F07A7B4 258CDE40 */ addiu $t4, %lo(c_item_entries) # addiu $t4, $t4, -0x21c0 -/* 0AF328 7F07A7B8 0018C080 */ sll $t8, $t8, 2 -/* 0AF32C 7F07A7BC 030C1821 */ addu $v1, $t8, $t4 -/* 0AF330 7F07A7C0 8C6A0000 */ lw $t2, ($v1) -/* 0AF334 7F07A7C4 AFAA00FC */ sw $t2, 0xfc($sp) -/* 0AF338 7F07A7C8 8D590000 */ lw $t9, ($t2) -/* 0AF33C 7F07A7CC 01402025 */ move $a0, $t2 -/* 0AF340 7F07A7D0 57200006 */ bnezl $t9, .Ljp7F07A7EC -/* 0AF344 7F07A7D4 906D0011 */ lbu $t5, 0x11($v1) -/* 0AF348 7F07A7D8 8C650004 */ lw $a1, 4($v1) -/* 0AF34C 7F07A7DC 0FC1DACF */ jal load_object_into_memory -/* 0AF350 7F07A7E0 AFA30028 */ sw $v1, 0x28($sp) -/* 0AF354 7F07A7E4 8FA30028 */ lw $v1, 0x28($sp) -/* 0AF358 7F07A7E8 906D0011 */ lbu $t5, 0x11($v1) -.Ljp7F07A7EC: -/* 0AF35C 7F07A7EC 8FAF0040 */ lw $t7, 0x40($sp) -/* 0AF360 7F07A7F0 3C0C8004 */ lui $t4, %hi(c_item_entries) # $t4, 0x8004 -/* 0AF364 7F07A7F4 11A00005 */ beqz $t5, .Ljp7F07A80C -/* 0AF368 7F07A7F8 000FC080 */ sll $t8, $t7, 2 -/* 0AF36C 7F07A7FC 240EFFFF */ li $t6, -1 -/* 0AF370 7F07A800 AFAE0040 */ sw $t6, 0x40($sp) -/* 0AF374 7F07A804 1000000D */ b .Ljp7F07A83C -/* 0AF378 7F07A808 AFA000F8 */ sw $zero, 0xf8($sp) -.Ljp7F07A80C: -/* 0AF37C 7F07A80C 030FC021 */ addu $t8, $t8, $t7 -/* 0AF380 7F07A810 0018C080 */ sll $t8, $t8, 2 -/* 0AF384 7F07A814 258CDE40 */ addiu $t4, %lo(c_item_entries) # addiu $t4, $t4, -0x21c0 -/* 0AF388 7F07A818 030C1821 */ addu $v1, $t8, $t4 -/* 0AF38C 7F07A81C 8C640000 */ lw $a0, ($v1) -/* 0AF390 7F07A820 AFA400F8 */ sw $a0, 0xf8($sp) -/* 0AF394 7F07A824 8C8A0000 */ lw $t2, ($a0) -/* 0AF398 7F07A828 55400005 */ bnezl $t2, .Ljp7F07A840 -/* 0AF39C 7F07A82C 8FB90038 */ lw $t9, 0x38($sp) -/* 0AF3A0 7F07A830 8C650004 */ lw $a1, 4($v1) -/* 0AF3A4 7F07A834 0FC1DACF */ jal load_object_into_memory -/* 0AF3A8 7F07A838 AFA400F8 */ sw $a0, 0xf8($sp) -.Ljp7F07A83C: -/* 0AF3AC 7F07A83C 8FB90038 */ lw $t9, 0x38($sp) -.Ljp7F07A840: -/* 0AF3B0 7F07A840 8FA40044 */ lw $a0, 0x44($sp) -/* 0AF3B4 7F07A844 8FA50040 */ lw $a1, 0x40($sp) -/* 0AF3B8 7F07A848 8FA600FC */ lw $a2, 0xfc($sp) -/* 0AF3BC 7F07A84C 8FA700F8 */ lw $a3, 0xf8($sp) -/* 0AF3C0 7F07A850 AFA00010 */ sw $zero, 0x10($sp) -/* 0AF3C4 7F07A854 0FC08D76 */ jal maybe_load_models_for_guards -/* 0AF3C8 7F07A858 AFB90014 */ sw $t9, 0x14($sp) -/* 0AF3CC 7F07A85C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0AF3D0 7F07A860 2463A120 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5ee0 -/* 0AF3D4 7F07A864 8C6B0000 */ lw $t3, ($v1) -/* 0AF3D8 7F07A868 3C018005 */ lui $at, %hi(D_8005502C) # $at, 0x8005 -/* 0AF3DC 7F07A86C AD6200D4 */ sw $v0, 0xd4($t3) -/* 0AF3E0 7F07A870 8C6D0000 */ lw $t5, ($v1) -/* 0AF3E4 7F07A874 C426505C */ lwc1 $f6, %lo(D_8005502C)($at) -/* 0AF3E8 7F07A878 8DA400D4 */ lw $a0, 0xd4($t5) -/* 0AF3EC 7F07A87C C4840014 */ lwc1 $f4, 0x14($a0) -/* 0AF3F0 7F07A880 46062202 */ mul.s $f8, $f4, $f6 -/* 0AF3F4 7F07A884 44054000 */ mfc1 $a1, $f8 -/* 0AF3F8 7F07A888 0FC1B51A */ jal set_obj_instance_controller_scale -/* 0AF3FC 7F07A88C 00000000 */ nop -/* 0AF400 7F07A890 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0AF404 7F07A894 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0AF408 7F07A898 8FA70114 */ lw $a3, 0x114($sp) -/* 0AF40C 7F07A89C 8C6400A8 */ lw $a0, 0xa8($v1) -/* 0AF410 7F07A8A0 8C6500D4 */ lw $a1, 0xd4($v1) -/* 0AF414 7F07A8A4 8C8E0014 */ lw $t6, 0x14($a0) -/* 0AF418 7F07A8A8 AFA00014 */ sw $zero, 0x14($sp) -/* 0AF41C 7F07A8AC 24860008 */ addiu $a2, $a0, 8 -/* 0AF420 7F07A8B0 0FC0809B */ jal init_GUARDdata_with_set_values -/* 0AF424 7F07A8B4 AFAE0010 */ sw $t6, 0x10($sp) -/* 0AF428 7F07A8B8 3C078008 */ lui $a3, %hi(pPlayer) # $a3, 0x8008 -/* 0AF42C 7F07A8BC 24E7A120 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5ee0 -/* 0AF430 7F07A8C0 8CF80000 */ lw $t8, ($a3) -/* 0AF434 7F07A8C4 240F0006 */ li $t7, 6 -/* 0AF438 7F07A8C8 8F0C00A8 */ lw $t4, 0xa8($t8) -/* 0AF43C 7F07A8CC A18F0000 */ sb $t7, ($t4) -/* 0AF440 7F07A8D0 8CEA0000 */ lw $t2, ($a3) -/* 0AF444 7F07A8D4 8D5900A8 */ lw $t9, 0xa8($t2) -/* 0AF448 7F07A8D8 8F260004 */ lw $a2, 4($t9) -/* 0AF44C 7F07A8DC 8CCB0014 */ lw $t3, 0x14($a2) -/* 0AF450 7F07A8E0 356D0001 */ ori $t5, $t3, 1 -/* 0AF454 7F07A8E4 ACCD0014 */ sw $t5, 0x14($a2) -/* 0AF458 7F07A8E8 8CE30000 */ lw $v1, ($a3) -/* 0AF45C 7F07A8EC 8C6500A8 */ lw $a1, 0xa8($v1) -/* 0AF460 7F07A8F0 8C6400D4 */ lw $a0, 0xd4($v1) -/* 0AF464 7F07A8F4 AFA60110 */ sw $a2, 0x110($sp) -/* 0AF468 7F07A8F8 0FC1B47F */ jal setsuboffset -/* 0AF46C 7F07A8FC 24A50008 */ addiu $a1, $a1, 8 -/* 0AF470 7F07A900 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0AF474 7F07A904 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0AF478 7F07A908 8FA50114 */ lw $a1, 0x114($sp) -/* 0AF47C 7F07A90C 0FC1B4CB */ jal setsubroty -/* 0AF480 7F07A910 8DC400D4 */ lw $a0, 0xd4($t6) -/* 0AF484 7F07A914 8FA20110 */ lw $v0, 0x110($sp) -/* 0AF488 7F07A918 8FB80040 */ lw $t8, 0x40($sp) -/* 0AF48C 7F07A91C A0580006 */ sb $t8, 6($v0) -/* 0AF490 7F07A920 8FAF0044 */ lw $t7, 0x44($sp) -/* 0AF494 7F07A924 A04F000F */ sb $t7, 0xf($v0) -/* 0AF498 7F07A928 0FC26F79 */ jal sub_GAME_7F09B244 -/* 0AF49C 7F07A92C 8FA40048 */ lw $a0, 0x48($sp) -/* 0AF4A0 7F07A930 04400045 */ bltz $v0, .Ljp7F07AA48 -/* 0AF4A4 7F07A934 AFA2004C */ sw $v0, 0x4c($sp) -/* 0AF4A8 7F07A938 0FC26C01 */ jal get_num_players -/* 0AF4AC 7F07A93C 00000000 */ nop -/* 0AF4B0 7F07A940 24010001 */ li $at, 1 -/* 0AF4B4 7F07A944 14410035 */ bne $v0, $at, .Ljp7F07AA1C -/* 0AF4B8 7F07A948 8FAC00F0 */ lw $t4, 0xf0($sp) -/* 0AF4BC 7F07A94C 8FA200E8 */ lw $v0, 0xe8($sp) -/* 0AF4C0 7F07A950 24040001 */ li $a0, 1 -/* 0AF4C4 7F07A954 01825021 */ addu $t2, $t4, $v0 -/* 0AF4C8 7F07A958 244200C7 */ addiu $v0, $v0, 0xc7 -/* 0AF4CC 7F07A95C 3459003F */ ori $t9, $v0, 0x3f -/* 0AF4D0 7F07A960 3B2B003F */ xori $t3, $t9, 0x3f -/* 0AF4D4 7F07A964 AFAA00DC */ sw $t2, 0xdc($sp) -/* 0AF4D8 7F07A968 0FC1750E */ jal get_ptr_itemheader_in_hand -/* 0AF4DC 7F07A96C AFAB00E8 */ sw $t3, 0xe8($sp) -/* 0AF4E0 7F07A970 8FAD004C */ lw $t5, 0x4c($sp) -/* 0AF4E4 7F07A974 3C188004 */ lui $t8, %hi(PitemZ_entries) # $t8, 0x8004 -/* 0AF4E8 7F07A978 2718A258 */ addiu $t8, %lo(PitemZ_entries) # addiu $t8, $t8, -0x5da8 -/* 0AF4EC 7F07A97C 000D7080 */ sll $t6, $t5, 2 -/* 0AF4F0 7F07A980 01CD7023 */ subu $t6, $t6, $t5 -/* 0AF4F4 7F07A984 000E7080 */ sll $t6, $t6, 2 -/* 0AF4F8 7F07A988 01D81821 */ addu $v1, $t6, $t8 -/* 0AF4FC 7F07A98C 8C6F0000 */ lw $t7, ($v1) -/* 0AF500 7F07A990 AFA200F4 */ sw $v0, 0xf4($sp) -/* 0AF504 7F07A994 27AA0100 */ addiu $t2, $sp, 0x100 -/* 0AF508 7F07A998 8DE10000 */ lw $at, ($t7) -/* 0AF50C 7F07A99C 00402025 */ move $a0, $v0 -/* 0AF510 7F07A9A0 AC410000 */ sw $at, ($v0) -/* 0AF514 7F07A9A4 8DF90004 */ lw $t9, 4($t7) -/* 0AF518 7F07A9A8 AC590004 */ sw $t9, 4($v0) -/* 0AF51C 7F07A9AC 8DE10008 */ lw $at, 8($t7) -/* 0AF520 7F07A9B0 AC410008 */ sw $at, 8($v0) -/* 0AF524 7F07A9B4 8DF9000C */ lw $t9, 0xc($t7) -/* 0AF528 7F07A9B8 AC59000C */ sw $t9, 0xc($v0) -/* 0AF52C 7F07A9BC 8DE10010 */ lw $at, 0x10($t7) -/* 0AF530 7F07A9C0 AC410010 */ sw $at, 0x10($v0) -/* 0AF534 7F07A9C4 8DF90014 */ lw $t9, 0x14($t7) -/* 0AF538 7F07A9C8 AC590014 */ sw $t9, 0x14($v0) -/* 0AF53C 7F07A9CC 8DE10018 */ lw $at, 0x18($t7) -/* 0AF540 7F07A9D0 AC410018 */ sw $at, 0x18($v0) -/* 0AF544 7F07A9D4 8DF9001C */ lw $t9, 0x1c($t7) -/* 0AF548 7F07A9D8 AC59001C */ sw $t9, 0x1c($v0) -/* 0AF54C 7F07A9DC 8FAD00E8 */ lw $t5, 0xe8($sp) -/* 0AF550 7F07A9E0 8FAE00E4 */ lw $t6, 0xe4($sp) -/* 0AF554 7F07A9E4 8FAB00F0 */ lw $t3, 0xf0($sp) -/* 0AF558 7F07A9E8 AFA30028 */ sw $v1, 0x28($sp) -/* 0AF55C 7F07A9EC AFAA0010 */ sw $t2, 0x10($sp) -/* 0AF560 7F07A9F0 8C650004 */ lw $a1, 4($v1) -/* 0AF564 7F07A9F4 01CD3823 */ subu $a3, $t6, $t5 -/* 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 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) -/* 0AF584 7F07AA14 10000004 */ b .Ljp7F07AA28 -/* 0AF588 7F07AA18 8FAC00DC */ lw $t4, 0xdc($sp) -.Ljp7F07AA1C: -/* 0AF58C 7F07AA1C AFA000DC */ sw $zero, 0xdc($sp) -/* 0AF590 7F07AA20 AFA000F4 */ sw $zero, 0xf4($sp) -/* 0AF594 7F07AA24 8FAC00DC */ lw $t4, 0xdc($sp) -.Ljp7F07AA28: -/* 0AF598 7F07AA28 8FAF00F4 */ lw $t7, 0xf4($sp) -/* 0AF59C 7F07AA2C 8FA40110 */ lw $a0, 0x110($sp) -/* 0AF5A0 7F07AA30 8FA5004C */ lw $a1, 0x4c($sp) -/* 0AF5A4 7F07AA34 8FA60048 */ lw $a2, 0x48($sp) -/* 0AF5A8 7F07AA38 00003825 */ move $a3, $zero -/* 0AF5AC 7F07AA3C AFAC0010 */ sw $t4, 0x10($sp) -/* 0AF5B0 7F07AA40 0FC149C4 */ jal something_with_generating_object -/* 0AF5B4 7F07AA44 AFAF0014 */ sw $t7, 0x14($sp) -.Ljp7F07AA48: -/* 0AF5B8 7F07AA48 8FA40110 */ lw $a0, 0x110($sp) -/* 0AF5BC 7F07AA4C 0FC08F65 */ jal sub_GAME_7F023A94 -/* 0AF5C0 7F07AA50 24050000 */ li $a1, 0 -/* 0AF5C4 7F07AA54 10000017 */ b .Ljp7F07AAB4 -/* 0AF5C8 7F07AA58 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AF5CC 7F07AA5C 8C59001C */ lw $t9, 0x1c($v0) -.Ljp7F07AA60: -/* 0AF5D0 7F07AA60 00402025 */ move $a0, $v0 -/* 0AF5D4 7F07AA64 8F2B0020 */ lw $t3, 0x20($t9) -/* 0AF5D8 7F07AA68 55600012 */ bnezl $t3, .Ljp7F07AAB4 -/* 0AF5DC 7F07AA6C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AF5E0 7F07AA70 8C4D0014 */ lw $t5, 0x14($v0) -/* 0AF5E4 7F07AA74 24050000 */ li $a1, 0 -/* 0AF5E8 7F07AA78 35AE0001 */ ori $t6, $t5, 1 -/* 0AF5EC 7F07AA7C 0FC08F65 */ jal sub_GAME_7F023A94 -/* 0AF5F0 7F07AA80 AC4E0014 */ sw $t6, 0x14($v0) -/* 0AF5F4 7F07AA84 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0AF5F8 7F07AA88 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0AF5FC 7F07AA8C 8C6500A8 */ lw $a1, 0xa8($v1) -/* 0AF600 7F07AA90 8C6400D4 */ lw $a0, 0xd4($v1) -/* 0AF604 7F07AA94 0FC1B47F */ jal setsuboffset -/* 0AF608 7F07AA98 24A50008 */ addiu $a1, $a1, 8 -/* 0AF60C 7F07AA9C 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0AF610 7F07AAA0 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0AF614 7F07AAA4 8FA50114 */ lw $a1, 0x114($sp) -/* 0AF618 7F07AAA8 0FC1B4CB */ jal setsubroty -/* 0AF61C 7F07AAAC 8F0400D4 */ lw $a0, 0xd4($t8) -/* 0AF620 7F07AAB0 8FBF001C */ lw $ra, 0x1c($sp) -.Ljp7F07AAB4: -/* 0AF624 7F07AAB4 27BD0118 */ addiu $sp, $sp, 0x118 -/* 0AF628 7F07AAB8 03E00008 */ jr $ra -/* 0AF62C 7F07AABC 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -void maybe_solo_intro_camera_handler(void) { - // Node 0 - if (pPlayer->field_A8->unk4 != 0) - { - // Node 1 - if (get_num_players() == 1) - { - // Node 2 - disable_sounds_attached_to_player_then_something(pPlayer->field_A8); - pPlayer->field_A8->unk4 = 0; - pPlayer->field_D4 = 0; - camera_80036424 = 1; - sub_GAME_7F07DE9C(pPlayer); - } - } - // Node 3 - return; -} -#else -GLOBAL_ASM( -.text -glabel maybe_solo_intro_camera_handler -/* 0AEFD0 7F07A4A0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AEFD4 7F07A4A4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AEFD8 7F07A4A8 8C6E0000 */ lw $t6, ($v1) -/* 0AEFDC 7F07A4AC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0AEFE0 7F07A4B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0AEFE4 7F07A4B4 8DCF00A8 */ lw $t7, 0xa8($t6) -/* 0AEFE8 7F07A4B8 8DF80004 */ lw $t8, 4($t7) -/* 0AEFEC 7F07A4BC 53000017 */ beql $t8, $zero, .L7F07A51C -/* 0AEFF0 7F07A4C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AEFF4 7F07A4C4 0FC26919 */ jal get_num_players -/* 0AEFF8 7F07A4C8 00000000 */ nop -/* 0AEFFC 7F07A4CC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AF000 7F07A4D0 24010001 */ li $at, 1 -/* 0AF004 7F07A4D4 14410010 */ bne $v0, $at, .L7F07A518 -/* 0AF008 7F07A4D8 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AF00C 7F07A4DC 8C790000 */ lw $t9, ($v1) -/* 0AF010 7F07A4E0 0FC08105 */ jal disable_sounds_attached_to_player_then_something -/* 0AF014 7F07A4E4 8F2400A8 */ lw $a0, 0xa8($t9) -/* 0AF018 7F07A4E8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0AF01C 7F07A4EC 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0AF020 7F07A4F0 8C680000 */ lw $t0, ($v1) -/* 0AF024 7F07A4F4 240B0001 */ li $t3, 1 -/* 0AF028 7F07A4F8 3C018003 */ lui $at, %hi(camera_80036424) -/* 0AF02C 7F07A4FC 8D0900A8 */ lw $t1, 0xa8($t0) -/* 0AF030 7F07A500 AD200004 */ sw $zero, 4($t1) -/* 0AF034 7F07A504 8C6A0000 */ lw $t2, ($v1) -/* 0AF038 7F07A508 AD4000D4 */ sw $zero, 0xd4($t2) -/* 0AF03C 7F07A50C AC2B6424 */ sw $t3, %lo(camera_80036424)($at) -/* 0AF040 7F07A510 0FC1F7A7 */ jal sub_GAME_7F07DE9C -/* 0AF044 7F07A514 8C640000 */ lw $a0, ($v1) -.L7F07A518: -/* 0AF048 7F07A518 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07A51C: -/* 0AF04C 7F07A51C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AF050 7F07A520 03E00008 */ jr $ra -/* 0AF054 7F07A524 00000000 */ nop -) -#endif - - - - - -s32 get_camera_mode(void) { - // Node 0 - return cameramode; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07A534(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055030 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055034 -.word 0x44bb8000 /*1500.0*/ -glabel D_80055038 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005503C -.word 0x3ec90fdb /*0.39269909*/ -glabel D_80055040 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F07A534 -/* 0AF064 7F07A534 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 0AF068 7F07A538 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F4) -/* 0AF06C 7F07A53C AC2499F4 */ sw $a0, %lo(dword_CODE_bss_800799F4)($at) -/* 0AF070 7F07A540 F7BE0058 */ sdc1 $f30, 0x58($sp) -/* 0AF074 7F07A544 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AF078 7F07A548 AFB10064 */ sw $s1, 0x64($sp) -/* 0AF07C 7F07A54C F7BA0048 */ sdc1 $f26, 0x48($sp) -/* 0AF080 7F07A550 4481F000 */ mtc1 $at, $f30 -/* 0AF084 7F07A554 AFB7007C */ sw $s7, 0x7c($sp) -/* 0AF088 7F07A558 AFB60078 */ sw $s6, 0x78($sp) -/* 0AF08C 7F07A55C AFB50074 */ sw $s5, 0x74($sp) -/* 0AF090 7F07A560 AFB40070 */ sw $s4, 0x70($sp) -/* 0AF094 7F07A564 AFB3006C */ sw $s3, 0x6c($sp) -/* 0AF098 7F07A568 AFB20068 */ sw $s2, 0x68($sp) -/* 0AF09C 7F07A56C F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0AF0A0 7F07A570 3C018005 */ lui $at, %hi(D_80055030) -/* 0AF0A4 7F07A574 3C118008 */ lui $s1, %hi(flt_CODE_bss_800799E8) -/* 0AF0A8 7F07A578 4480D000 */ mtc1 $zero, $f26 -/* 0AF0AC 7F07A57C 00A09025 */ move $s2, $a1 -/* 0AF0B0 7F07A580 00E09825 */ move $s3, $a3 -/* 0AF0B4 7F07A584 00C0A025 */ move $s4, $a2 -/* 0AF0B8 7F07A588 AFBF0084 */ sw $ra, 0x84($sp) -/* 0AF0BC 7F07A58C AFBE0080 */ sw $fp, 0x80($sp) -/* 0AF0C0 7F07A590 AFB00060 */ sw $s0, 0x60($sp) -/* 0AF0C4 7F07A594 F7BC0050 */ sdc1 $f28, 0x50($sp) -/* 0AF0C8 7F07A598 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 0AF0CC 7F07A59C F7B60038 */ sdc1 $f22, 0x38($sp) -/* 0AF0D0 7F07A5A0 0000B025 */ move $s6, $zero -/* 0AF0D4 7F07A5A4 AFA000D8 */ sw $zero, 0xd8($sp) -/* 0AF0D8 7F07A5A8 263199E8 */ addiu $s1, %lo(flt_CODE_bss_800799E8) # addiu $s1, $s1, -0x6618 -/* 0AF0DC 7F07A5AC C4345030 */ lwc1 $f20, %lo(D_80055030)($at) -/* 0AF0E0 7F07A5B0 27B500C8 */ addiu $s5, $sp, 0xc8 -/* 0AF0E4 7F07A5B4 8FB700F0 */ lw $s7, 0xf0($sp) -.L7F07A5B8: -/* 0AF0E8 7F07A5B8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0AF0EC 7F07A5BC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0AF0F0 7F07A5C0 3C018005 */ lui $at, %hi(D_80055034) -/* 0AF0F4 7F07A5C4 C4245034 */ lwc1 $f4, %lo(D_80055034)($at) -/* 0AF0F8 7F07A5C8 C5DC04B0 */ lwc1 $f28, 0x4b0($t6) -/* 0AF0FC 7F07A5CC 0000F025 */ move $fp, $zero -/* 0AF100 7F07A5D0 461C2180 */ add.s $f6, $f4, $f28 -/* 0AF104 7F07A5D4 0C002914 */ jal get_random_value -/* 0AF108 7F07A5D8 E7A600D0 */ swc1 $f6, 0xd0($sp) -/* 0AF10C 7F07A5DC 44824000 */ mtc1 $v0, $f8 -/* 0AF110 7F07A5E0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0AF114 7F07A5E4 04410004 */ bgez $v0, .L7F07A5F8 -/* 0AF118 7F07A5E8 468042A0 */ cvt.s.w $f10, $f8 -/* 0AF11C 7F07A5EC 44818000 */ mtc1 $at, $f16 -/* 0AF120 7F07A5F0 00000000 */ nop -/* 0AF124 7F07A5F4 46105280 */ add.s $f10, $f10, $f16 -.L7F07A5F8: -/* 0AF128 7F07A5F8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0AF12C 7F07A5FC 44819000 */ mtc1 $at, $f18 -/* 0AF130 7F07A600 00000000 */ nop -/* 0AF134 7F07A604 46125102 */ mul.s $f4, $f10, $f18 -/* 0AF138 7F07A608 00000000 */ nop -/* 0AF13C 7F07A60C 46142302 */ mul.s $f12, $f4, $f20 -/* 0AF140 7F07A610 16C000CD */ bnez $s6, .L7F07A948 -/* 0AF144 7F07A614 00000000 */ nop -/* 0AF148 7F07A618 E7AC00CC */ swc1 $f12, 0xcc($sp) -.L7F07A61C: -/* 0AF14C 7F07A61C 3C018005 */ lui $at, %hi(D_80055038) -/* 0AF150 7F07A620 C4345038 */ lwc1 $f20, %lo(D_80055038)($at) -/* 0AF154 7F07A624 3C018005 */ lui $at, %hi(D_8005503C) -/* 0AF158 7F07A628 C7AC00CC */ lwc1 $f12, 0xcc($sp) -/* 0AF15C 7F07A62C C426503C */ lwc1 $f6, %lo(D_8005503C)($at) -/* 0AF160 7F07A630 46066300 */ add.s $f12, $f12, $f6 -/* 0AF164 7F07A634 460CA03E */ c.le.s $f20, $f12 -/* 0AF168 7F07A638 00000000 */ nop -/* 0AF16C 7F07A63C 45000002 */ bc1f .L7F07A648 -/* 0AF170 7F07A640 00000000 */ nop -/* 0AF174 7F07A644 46146301 */ sub.s $f12, $f12, $f20 -.L7F07A648: -/* 0AF178 7F07A648 0FC15FAB */ jal sinf -/* 0AF17C 7F07A64C E7AC00CC */ swc1 $f12, 0xcc($sp) -/* 0AF180 7F07A650 E7A000BC */ swc1 $f0, 0xbc($sp) -/* 0AF184 7F07A654 E7BA00C0 */ swc1 $f26, 0xc0($sp) -/* 0AF188 7F07A658 0FC15FA8 */ jal cosf -/* 0AF18C 7F07A65C C7AC00CC */ lwc1 $f12, 0xcc($sp) -/* 0AF190 7F07A660 C7A800BC */ lwc1 $f8, 0xbc($sp) -/* 0AF194 7F07A664 C7B000D0 */ lwc1 $f16, 0xd0($sp) -/* 0AF198 7F07A668 E7A000C4 */ swc1 $f0, 0xc4($sp) -/* 0AF19C 7F07A66C C6520000 */ lwc1 $f18, ($s2) -/* 0AF1A0 7F07A670 46104282 */ mul.s $f10, $f8, $f16 -/* 0AF1A4 7F07A674 C7A800C4 */ lwc1 $f8, 0xc4($sp) -/* 0AF1A8 7F07A678 46125100 */ add.s $f4, $f10, $f18 -/* 0AF1AC 7F07A67C 46104282 */ mul.s $f10, $f8, $f16 -/* 0AF1B0 7F07A680 E7A400B0 */ swc1 $f4, 0xb0($sp) -/* 0AF1B4 7F07A684 C6460004 */ lwc1 $f6, 4($s2) -/* 0AF1B8 7F07A688 E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 0AF1BC 7F07A68C C6520008 */ lwc1 $f18, 8($s2) -/* 0AF1C0 7F07A690 46125100 */ add.s $f4, $f10, $f18 -/* 0AF1C4 7F07A694 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 0AF1C8 7F07A698 E7A400B8 */ swc1 $f4, 0xb8($sp) -/* 0AF1CC 7F07A69C AFB700C8 */ sw $s7, 0xc8($sp) -/* 0AF1D0 7F07A6A0 02802025 */ move $a0, $s4 -/* 0AF1D4 7F07A6A4 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0AF1D8 7F07A6A8 00002825 */ move $a1, $zero -/* 0AF1DC 7F07A6AC 8E650000 */ lw $a1, ($s3) -/* 0AF1E0 7F07A6B0 8E660008 */ lw $a2, 8($s3) -/* 0AF1E4 7F07A6B4 C7A600B8 */ lwc1 $f6, 0xb8($sp) -/* 0AF1E8 7F07A6B8 240F0013 */ li $t7, 19 -/* 0AF1EC 7F07A6BC AFAF0014 */ sw $t7, 0x14($sp) -/* 0AF1F0 7F07A6C0 E7BE0024 */ swc1 $f30, 0x24($sp) -/* 0AF1F4 7F07A6C4 E7BA0020 */ swc1 $f26, 0x20($sp) -/* 0AF1F8 7F07A6C8 E7BE001C */ swc1 $f30, 0x1c($sp) -/* 0AF1FC 7F07A6CC E7BA0018 */ swc1 $f26, 0x18($sp) -/* 0AF200 7F07A6D0 02A02025 */ move $a0, $s5 -/* 0AF204 7F07A6D4 8FA700B0 */ lw $a3, 0xb0($sp) -/* 0AF208 7F07A6D8 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0AF20C 7F07A6DC E7A60010 */ swc1 $f6, 0x10($sp) -/* 0AF210 7F07A6E0 00408025 */ move $s0, $v0 -/* 0AF214 7F07A6E4 02802025 */ move $a0, $s4 -/* 0AF218 7F07A6E8 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0AF21C 7F07A6EC 24050001 */ li $a1, 1 -/* 0AF220 7F07A6F0 16000010 */ bnez $s0, .L7F07A734 -/* 0AF224 7F07A6F4 02602025 */ move $a0, $s3 -/* 0AF228 7F07A6F8 27A500BC */ addiu $a1, $sp, 0xbc -/* 0AF22C 7F07A6FC 0FC098A6 */ jal sub_GAME_7F026298 -/* 0AF230 7F07A700 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 0AF234 7F07A704 C7A800B0 */ lwc1 $f8, 0xb0($sp) -/* 0AF238 7F07A708 C6700000 */ lwc1 $f16, ($s3) -/* 0AF23C 7F07A70C C7AA00B8 */ lwc1 $f10, 0xb8($sp) -/* 0AF240 7F07A710 C6720008 */ lwc1 $f18, 8($s3) -/* 0AF244 7F07A714 46104001 */ sub.s $f0, $f8, $f16 -/* 0AF248 7F07A718 46125081 */ sub.s $f2, $f10, $f18 -/* 0AF24C 7F07A71C 46000102 */ mul.s $f4, $f0, $f0 -/* 0AF250 7F07A720 00000000 */ nop -/* 0AF254 7F07A724 46021182 */ mul.s $f6, $f2, $f2 -/* 0AF258 7F07A728 0C007DF8 */ jal sqrtf -/* 0AF25C 7F07A72C 46062300 */ add.s $f12, $f4, $f6 -/* 0AF260 7F07A730 E7A000D0 */ swc1 $f0, 0xd0($sp) -.L7F07A734: -/* 0AF264 7F07A734 C7A800D0 */ lwc1 $f8, 0xd0($sp) -/* 0AF268 7F07A738 C7AA00F4 */ lwc1 $f10, 0xf4($sp) -/* 0AF26C 7F07A73C 461C4401 */ sub.s $f16, $f8, $f28 -/* 0AF270 7F07A740 4610503E */ c.le.s $f10, $f16 -/* 0AF274 7F07A744 E7B000D0 */ swc1 $f16, 0xd0($sp) -/* 0AF278 7F07A748 4502007A */ bc1fl .L7F07A934 -/* 0AF27C 7F07A74C 27DE0001 */ addiu $fp, $fp, 1 -/* 0AF280 7F07A750 461ED03C */ c.lt.s $f26, $f30 -/* 0AF284 7F07A754 4600F606 */ mov.s $f24, $f30 -/* 0AF288 7F07A758 45020076 */ bc1fl .L7F07A934 -/* 0AF28C 7F07A75C 27DE0001 */ addiu $fp, $fp, 1 -/* 0AF290 7F07A760 56C00074 */ bnezl $s6, .L7F07A934 -/* 0AF294 7F07A764 27DE0001 */ addiu $fp, $fp, 1 -/* 0AF298 7F07A768 460A8481 */ sub.s $f18, $f16, $f10 -/* 0AF29C 7F07A76C E7B20090 */ swc1 $f18, 0x90($sp) -.L7F07A770: -/* 0AF2A0 7F07A770 0C002914 */ jal get_random_value -/* 0AF2A4 7F07A774 00000000 */ nop -/* 0AF2A8 7F07A778 44822000 */ mtc1 $v0, $f4 -/* 0AF2AC 7F07A77C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0AF2B0 7F07A780 04410004 */ bgez $v0, .L7F07A794 -/* 0AF2B4 7F07A784 468021A0 */ cvt.s.w $f6, $f4 -/* 0AF2B8 7F07A788 44814000 */ mtc1 $at, $f8 -/* 0AF2BC 7F07A78C 00000000 */ nop -/* 0AF2C0 7F07A790 46083180 */ add.s $f6, $f6, $f8 -.L7F07A794: -/* 0AF2C4 7F07A794 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0AF2C8 7F07A798 44818000 */ mtc1 $at, $f16 -/* 0AF2CC 7F07A79C C7B20090 */ lwc1 $f18, 0x90($sp) -/* 0AF2D0 7F07A7A0 02802025 */ move $a0, $s4 -/* 0AF2D4 7F07A7A4 46103282 */ mul.s $f10, $f6, $f16 -/* 0AF2D8 7F07A7A8 C7A600F4 */ lwc1 $f6, 0xf4($sp) -/* 0AF2DC 7F07A7AC C7B000BC */ lwc1 $f16, 0xbc($sp) -/* 0AF2E0 7F07A7B0 00002825 */ move $a1, $zero -/* 0AF2E4 7F07A7B4 46125102 */ mul.s $f4, $f10, $f18 -/* 0AF2E8 7F07A7B8 C6520000 */ lwc1 $f18, ($s2) -/* 0AF2EC 7F07A7BC 46182202 */ mul.s $f8, $f4, $f24 -/* 0AF2F0 7F07A7C0 46064000 */ add.s $f0, $f8, $f6 -/* 0AF2F4 7F07A7C4 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 0AF2F8 7F07A7C8 46008282 */ mul.s $f10, $f16, $f0 -/* 0AF2FC 7F07A7CC 46125100 */ add.s $f4, $f10, $f18 -/* 0AF300 7F07A7D0 46003402 */ mul.s $f16, $f6, $f0 -/* 0AF304 7F07A7D4 E6240000 */ swc1 $f4, ($s1) -/* 0AF308 7F07A7D8 C6480004 */ lwc1 $f8, 4($s2) -/* 0AF30C 7F07A7DC E6280004 */ swc1 $f8, 4($s1) -/* 0AF310 7F07A7E0 C64A0008 */ lwc1 $f10, 8($s2) -/* 0AF314 7F07A7E4 AFB700C8 */ sw $s7, 0xc8($sp) -/* 0AF318 7F07A7E8 460A8480 */ add.s $f18, $f16, $f10 -/* 0AF31C 7F07A7EC 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0AF320 7F07A7F0 E6320008 */ swc1 $f18, 8($s1) -/* 0AF324 7F07A7F4 8E650000 */ lw $a1, ($s3) -/* 0AF328 7F07A7F8 8E660008 */ lw $a2, 8($s3) -/* 0AF32C 7F07A7FC C6240008 */ lwc1 $f4, 8($s1) -/* 0AF330 7F07A800 24180013 */ li $t8, 19 -/* 0AF334 7F07A804 AFB80014 */ sw $t8, 0x14($sp) -/* 0AF338 7F07A808 E7BE0024 */ swc1 $f30, 0x24($sp) -/* 0AF33C 7F07A80C E7BA0020 */ swc1 $f26, 0x20($sp) -/* 0AF340 7F07A810 E7BE001C */ swc1 $f30, 0x1c($sp) -/* 0AF344 7F07A814 E7BA0018 */ swc1 $f26, 0x18($sp) -/* 0AF348 7F07A818 02A02025 */ move $a0, $s5 -/* 0AF34C 7F07A81C 8E270000 */ lw $a3, ($s1) -/* 0AF350 7F07A820 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0AF354 7F07A824 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0AF358 7F07A828 00408025 */ move $s0, $v0 -/* 0AF35C 7F07A82C 02802025 */ move $a0, $s4 -/* 0AF360 7F07A830 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0AF364 7F07A834 24050001 */ li $a1, 1 -/* 0AF368 7F07A838 12000033 */ beqz $s0, .L7F07A908 -/* 0AF36C 7F07A83C 02A02025 */ move $a0, $s5 -/* 0AF370 7F07A840 4407E000 */ mfc1 $a3, $f28 -/* 0AF374 7F07A844 2419001F */ li $t9, 31 -/* 0AF378 7F07A848 AFB90010 */ sw $t9, 0x10($sp) -/* 0AF37C 7F07A84C 8E250000 */ lw $a1, ($s1) -/* 0AF380 7F07A850 8E260008 */ lw $a2, 8($s1) -/* 0AF384 7F07A854 E7BA0014 */ swc1 $f26, 0x14($sp) -/* 0AF388 7F07A858 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 0AF38C 7F07A85C E7BE0018 */ swc1 $f30, 0x18($sp) -/* 0AF390 7F07A860 04410029 */ bgez $v0, .L7F07A908 -/* 0AF394 7F07A864 8FA400C8 */ lw $a0, 0xc8($sp) -/* 0AF398 7F07A868 3C014339 */ li $at, 0x43390000 # 185.000000 -/* 0AF39C 7F07A86C 44814000 */ mtc1 $at, $f8 -/* 0AF3A0 7F07A870 8E250000 */ lw $a1, ($s1) -/* 0AF3A4 7F07A874 8E260008 */ lw $a2, 8($s1) -/* 0AF3A8 7F07A878 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0AF3AC 7F07A87C 461C4581 */ sub.s $f22, $f8, $f28 -/* 0AF3B0 7F07A880 0C002914 */ jal get_random_value -/* 0AF3B4 7F07A884 46000506 */ mov.s $f20, $f0 -/* 0AF3B8 7F07A888 44823000 */ mtc1 $v0, $f6 -/* 0AF3BC 7F07A88C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0AF3C0 7F07A890 04410004 */ bgez $v0, .L7F07A8A4 -/* 0AF3C4 7F07A894 46803420 */ cvt.s.w $f16, $f6 -/* 0AF3C8 7F07A898 44815000 */ mtc1 $at, $f10 -/* 0AF3CC 7F07A89C 00000000 */ nop -/* 0AF3D0 7F07A8A0 460A8400 */ add.s $f16, $f16, $f10 -.L7F07A8A4: -/* 0AF3D4 7F07A8A4 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0AF3D8 7F07A8A8 44819000 */ mtc1 $at, $f18 -/* 0AF3DC 7F07A8AC 461CA180 */ add.s $f6, $f20, $f28 -/* 0AF3E0 7F07A8B0 3C01C47A */ li $at, 0xC47A0000 # -1000.000000 -/* 0AF3E4 7F07A8B4 46128102 */ mul.s $f4, $f16, $f18 -/* 0AF3E8 7F07A8B8 00000000 */ nop -/* 0AF3EC 7F07A8BC 46162202 */ mul.s $f8, $f4, $f22 -/* 0AF3F0 7F07A8C0 44812000 */ mtc1 $at, $f4 -/* 0AF3F4 7F07A8C4 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0AF3F8 7F07A8C8 46064280 */ add.s $f10, $f8, $f6 -/* 0AF3FC 7F07A8CC E62A0004 */ swc1 $f10, 4($s1) -/* 0AF400 7F07A8D0 C6520004 */ lwc1 $f18, 4($s2) -/* 0AF404 7F07A8D4 C6300004 */ lwc1 $f16, 4($s1) -/* 0AF408 7F07A8D8 46128001 */ sub.s $f0, $f16, $f18 -/* 0AF40C 7F07A8DC 4600203C */ c.lt.s $f4, $f0 -/* 0AF410 7F07A8E0 00000000 */ nop -/* 0AF414 7F07A8E4 45000008 */ bc1f .L7F07A908 -/* 0AF418 7F07A8E8 00000000 */ nop -/* 0AF41C 7F07A8EC 44814000 */ mtc1 $at, $f8 -/* 0AF420 7F07A8F0 00000000 */ nop -/* 0AF424 7F07A8F4 4608003C */ c.lt.s $f0, $f8 -/* 0AF428 7F07A8F8 00000000 */ nop -/* 0AF42C 7F07A8FC 45020003 */ bc1fl .L7F07A90C -/* 0AF430 7F07A900 3C013E80 */ lui $at, 0x3e80 -/* 0AF434 7F07A904 24160001 */ li $s6, 1 -.L7F07A908: -/* 0AF438 7F07A908 3C013E80 */ li $at, 0x3E800000 # 0.250000 -.L7F07A90C: -/* 0AF43C 7F07A90C 44813000 */ mtc1 $at, $f6 -/* 0AF440 7F07A910 00000000 */ nop -/* 0AF444 7F07A914 4606C601 */ sub.s $f24, $f24, $f6 -/* 0AF448 7F07A918 4618D03C */ c.lt.s $f26, $f24 -/* 0AF44C 7F07A91C 00000000 */ nop -/* 0AF450 7F07A920 45020004 */ bc1fl .L7F07A934 -/* 0AF454 7F07A924 27DE0001 */ addiu $fp, $fp, 1 -/* 0AF458 7F07A928 12C0FF91 */ beqz $s6, .L7F07A770 -/* 0AF45C 7F07A92C 00000000 */ nop -/* 0AF460 7F07A930 27DE0001 */ addiu $fp, $fp, 1 -.L7F07A934: -/* 0AF464 7F07A934 2BC10010 */ slti $at, $fp, 0x10 -/* 0AF468 7F07A938 50200004 */ beql $at, $zero, .L7F07A94C -/* 0AF46C 7F07A93C 8FA200D8 */ lw $v0, 0xd8($sp) -/* 0AF470 7F07A940 12C0FF36 */ beqz $s6, .L7F07A61C -/* 0AF474 7F07A944 00000000 */ nop -.L7F07A948: -/* 0AF478 7F07A948 8FA200D8 */ lw $v0, 0xd8($sp) -.L7F07A94C: -/* 0AF47C 7F07A94C 3C018005 */ lui $at, %hi(D_80055040) -/* 0AF480 7F07A950 C4345040 */ lwc1 $f20, %lo(D_80055040)($at) -/* 0AF484 7F07A954 24420001 */ addiu $v0, $v0, 1 -/* 0AF488 7F07A958 28410081 */ slti $at, $v0, 0x81 -/* 0AF48C 7F07A95C 50200004 */ beql $at, $zero, .L7F07A970 -/* 0AF490 7F07A960 8FBF0084 */ lw $ra, 0x84($sp) -/* 0AF494 7F07A964 12C0FF14 */ beqz $s6, .L7F07A5B8 -/* 0AF498 7F07A968 AFA200D8 */ sw $v0, 0xd8($sp) -/* 0AF49C 7F07A96C 8FBF0084 */ lw $ra, 0x84($sp) -.L7F07A970: -/* 0AF4A0 7F07A970 02C01025 */ move $v0, $s6 -/* 0AF4A4 7F07A974 8FB60078 */ lw $s6, 0x78($sp) -/* 0AF4A8 7F07A978 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 0AF4AC 7F07A97C D7B60038 */ ldc1 $f22, 0x38($sp) -/* 0AF4B0 7F07A980 D7B80040 */ ldc1 $f24, 0x40($sp) -/* 0AF4B4 7F07A984 D7BA0048 */ ldc1 $f26, 0x48($sp) -/* 0AF4B8 7F07A988 D7BC0050 */ ldc1 $f28, 0x50($sp) -/* 0AF4BC 7F07A98C D7BE0058 */ ldc1 $f30, 0x58($sp) -/* 0AF4C0 7F07A990 8FB00060 */ lw $s0, 0x60($sp) -/* 0AF4C4 7F07A994 8FB10064 */ lw $s1, 0x64($sp) -/* 0AF4C8 7F07A998 8FB20068 */ lw $s2, 0x68($sp) -/* 0AF4CC 7F07A99C 8FB3006C */ lw $s3, 0x6c($sp) -/* 0AF4D0 7F07A9A0 8FB40070 */ lw $s4, 0x70($sp) -/* 0AF4D4 7F07A9A4 8FB50074 */ lw $s5, 0x74($sp) -/* 0AF4D8 7F07A9A8 8FB7007C */ lw $s7, 0x7c($sp) -/* 0AF4DC 7F07A9AC 8FBE0080 */ lw $fp, 0x80($sp) -/* 0AF4E0 7F07A9B0 03E00008 */ jr $ra -/* 0AF4E4 7F07A9B4 27BD00E0 */ addiu $sp, $sp, 0xe0 -) -#endif - - - - - -#ifdef NONMATCHING -void set_camera_mode(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_camera_mode -/* 0AF4E8 7F07A9B8 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 0AF4EC 7F07A9BC AFB00028 */ sw $s0, 0x28($sp) -/* 0AF4F0 7F07A9C0 3C108003 */ lui $s0, %hi(cameramode) -/* 0AF4F4 7F07A9C4 26106494 */ addiu $s0, %lo(cameramode) # addiu $s0, $s0, 0x6494 -/* 0AF4F8 7F07A9C8 AE040000 */ sw $a0, ($s0) -/* 0AF4FC 7F07A9CC 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0AF500 7F07A9D0 AC206498 */ sw $zero, %lo(enable_move_after_cinema)($at) -/* 0AF504 7F07A9D4 8E020000 */ lw $v0, ($s0) -/* 0AF508 7F07A9D8 24030001 */ li $v1, 1 -/* 0AF50C 7F07A9DC AFBF002C */ sw $ra, 0x2c($sp) -/* 0AF510 7F07A9E0 14620027 */ bne $v1, $v0, .L7F07AA80 -/* 0AF514 7F07A9E4 24010002 */ li $at, 2 -/* 0AF518 7F07A9E8 3C0E8003 */ lui $t6, %hi(ptr_random06cam_entry) -/* 0AF51C 7F07A9EC 8DCE64C0 */ lw $t6, %lo(ptr_random06cam_entry)($t6) -/* 0AF520 7F07A9F0 11C0001F */ beqz $t6, .L7F07AA70 -/* 0AF524 7F07A9F4 00000000 */ nop -/* 0AF528 7F07A9F8 0FC2FF26 */ jal get_recording_ramrom_flag -/* 0AF52C 7F07A9FC 00000000 */ nop -/* 0AF530 7F07AA00 1440001B */ bnez $v0, .L7F07AA70 -/* 0AF534 7F07AA04 00000000 */ nop -/* 0AF538 7F07AA08 0FC2FF23 */ jal get_is_ramrom_flag -/* 0AF53C 7F07AA0C 00000000 */ nop -/* 0AF540 7F07AA10 14400017 */ bnez $v0, .L7F07AA70 -/* 0AF544 7F07AA14 3C018003 */ lui $at, %hi(D_800364A4) -/* 0AF548 7F07AA18 44802000 */ mtc1 $zero, $f4 -/* 0AF54C 7F07AA1C 00002025 */ move $a0, $zero -/* 0AF550 7F07AA20 00002825 */ move $a1, $zero -/* 0AF554 7F07AA24 00003025 */ move $a2, $zero -/* 0AF558 7F07AA28 3C073F80 */ lui $a3, 0x3f80 -/* 0AF55C 7F07AA2C 0FC201EC */ jal set_rgba_tint -/* 0AF560 7F07AA30 E42464A4 */ swc1 $f4, %lo(D_800364A4)($at) -/* 0AF564 7F07AA34 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0AF568 7F07AA38 44816000 */ mtc1 $at, $f12 -/* 0AF56C 7F07AA3C 44807000 */ mtc1 $zero, $f14 -/* 0AF570 7F07AA40 0FC20216 */ jal fade_to_over_seconds -/* 0AF574 7F07AA44 00000000 */ nop -/* 0AF578 7F07AA48 0C001A57 */ jal get_stage_num -/* 0AF57C 7F07AA4C 00000000 */ nop -/* 0AF580 7F07AA50 00402025 */ move $a0, $v0 -/* 0AF584 7F07AA54 0FC2EA99 */ jal load_enviroment -/* 0AF588 7F07AA58 24050001 */ li $a1, 1 -/* 0AF58C 7F07AA5C 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AF590 7F07AA60 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0AF594 7F07AA64 8E0F0000 */ lw $t7, ($s0) -/* 0AF598 7F07AA68 100001C9 */ b .L7F07B190 -/* 0AF59C 7F07AA6C ADE00034 */ sw $zero, 0x34($t7) -.L7F07AA70: -/* 0AF5A0 7F07AA70 0FC1EA6E */ jal set_camera_mode -/* 0AF5A4 7F07AA74 24040003 */ li $a0, 3 -/* 0AF5A8 7F07AA78 100001C6 */ b .L7F07B194 -/* 0AF5AC 7F07AA7C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07AA80: -/* 0AF5B0 7F07AA80 1441000D */ bne $v0, $at, .L7F07AAB8 -/* 0AF5B4 7F07AA84 00002025 */ move $a0, $zero -/* 0AF5B8 7F07AA88 00002825 */ move $a1, $zero -/* 0AF5BC 7F07AA8C 00003025 */ move $a2, $zero -/* 0AF5C0 7F07AA90 0FC201EC */ jal set_rgba_tint -/* 0AF5C4 7F07AA94 24070000 */ li $a3, 0 -/* 0AF5C8 7F07AA98 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0AF5CC 7F07AA9C 44816000 */ mtc1 $at, $f12 -/* 0AF5D0 7F07AAA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AF5D4 7F07AAA4 44817000 */ mtc1 $at, $f14 -/* 0AF5D8 7F07AAA8 0FC20216 */ jal fade_to_over_seconds -/* 0AF5DC 7F07AAAC 00000000 */ nop -/* 0AF5E0 7F07AAB0 100001B8 */ b .L7F07B194 -/* 0AF5E4 7F07AAB4 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07AAB8: -/* 0AF5E8 7F07AAB8 24010009 */ li $at, 9 -/* 0AF5EC 7F07AABC 54410015 */ bnel $v0, $at, .L7F07AB14 -/* 0AF5F0 7F07AAC0 24010003 */ li $at, 3 -/* 0AF5F4 7F07AAC4 44800000 */ mtc1 $zero, $f0 -/* 0AF5F8 7F07AAC8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E04) -/* 0AF5FC 7F07AACC E4209E04 */ swc1 $f0, %lo(flt_CODE_bss_80079E04)($at) -/* 0AF600 7F07AAD0 3C01C2B4 */ li $at, 0xC2B40000 # -90.000000 -/* 0AF604 7F07AAD4 44813000 */ mtc1 $at, $f6 -/* 0AF608 7F07AAD8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E08) -/* 0AF60C 7F07AADC E4269E08 */ swc1 $f6, %lo(flt_CODE_bss_80079E08)($at) -/* 0AF610 7F07AAE0 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E0C) -/* 0AF614 7F07AAE4 E4209E0C */ swc1 $f0, %lo(flt_CODE_bss_80079E0C)($at) -/* 0AF618 7F07AAE8 3C0142A0 */ li $at, 0x42A00000 # 80.000000 -/* 0AF61C 7F07AAEC 44814000 */ mtc1 $at, $f8 -/* 0AF620 7F07AAF0 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E10) -/* 0AF624 7F07AAF4 0C001A57 */ jal get_stage_num -/* 0AF628 7F07AAF8 E4289E10 */ swc1 $f8, %lo(flt_CODE_bss_80079E10)($at) -/* 0AF62C 7F07AAFC 00402025 */ move $a0, $v0 -/* 0AF630 7F07AB00 0FC2EA99 */ jal load_enviroment -/* 0AF634 7F07AB04 00002825 */ move $a1, $zero -/* 0AF638 7F07AB08 100001A2 */ b .L7F07B194 -/* 0AF63C 7F07AB0C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0AF640 7F07AB10 24010003 */ li $at, 3 -.L7F07AB14: -/* 0AF644 7F07AB14 14410059 */ bne $v0, $at, .L7F07AC7C -/* 0AF648 7F07AB18 00002025 */ move $a0, $zero -/* 0AF64C 7F07AB1C 3C018003 */ lui $at, %hi(D_8003649C) -/* 0AF650 7F07AB20 AC20649C */ sw $zero, %lo(D_8003649C)($at) -/* 0AF654 7F07AB24 00002825 */ move $a1, $zero -/* 0AF658 7F07AB28 00003025 */ move $a2, $zero -/* 0AF65C 7F07AB2C 0FC201EC */ jal set_rgba_tint -/* 0AF660 7F07AB30 3C073F80 */ lui $a3, 0x3f80 -/* 0AF664 7F07AB34 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0AF668 7F07AB38 44816000 */ mtc1 $at, $f12 -/* 0AF66C 7F07AB3C 44807000 */ mtc1 $zero, $f14 -/* 0AF670 7F07AB40 0FC20216 */ jal fade_to_over_seconds -/* 0AF674 7F07AB44 00000000 */ nop -/* 0AF678 7F07AB48 0C001A57 */ jal get_stage_num -/* 0AF67C 7F07AB4C 00000000 */ nop -/* 0AF680 7F07AB50 00402025 */ move $a0, $v0 -/* 0AF684 7F07AB54 0FC2EA99 */ jal load_enviroment -/* 0AF688 7F07AB58 00002825 */ move $a1, $zero -/* 0AF68C 7F07AB5C 3C188003 */ lui $t8, %hi(D_800364AC) -/* 0AF690 7F07AB60 8F1864AC */ lw $t8, %lo(D_800364AC)($t8) -/* 0AF694 7F07AB64 13000041 */ beqz $t8, .L7F07AC6C -/* 0AF698 7F07AB68 00000000 */ nop -/* 0AF69C 7F07AB6C 0FC2FF26 */ jal get_recording_ramrom_flag -/* 0AF6A0 7F07AB70 00000000 */ nop -/* 0AF6A4 7F07AB74 1440003D */ bnez $v0, .L7F07AC6C -/* 0AF6A8 7F07AB78 00000000 */ nop -/* 0AF6AC 7F07AB7C 0FC2FF23 */ jal get_is_ramrom_flag -/* 0AF6B0 7F07AB80 00000000 */ nop -/* 0AF6B4 7F07AB84 14400039 */ bnez $v0, .L7F07AC6C -/* 0AF6B8 7F07AB88 00000000 */ nop -/* 0AF6BC 7F07AB8C 44806000 */ mtc1 $zero, $f12 -/* 0AF6C0 7F07AB90 3C018003 */ lui $at, %hi(D_800364A4) -/* 0AF6C4 7F07AB94 24190001 */ li $t9, 1 -/* 0AF6C8 7F07AB98 E42C64A4 */ swc1 $f12, %lo(D_800364A4)($at) -/* 0AF6CC 7F07AB9C 3C018003 */ lui $at, %hi(D_800364A8) -/* 0AF6D0 7F07ABA0 AC3964A8 */ sw $t9, %lo(D_800364A8)($at) -/* 0AF6D4 7F07ABA4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AF6D8 7F07ABA8 44817000 */ mtc1 $at, $f14 -/* 0AF6DC 7F07ABAC 0FC20284 */ jal set_curplayer_fade -/* 0AF6E0 7F07ABB0 00000000 */ nop -/* 0AF6E4 7F07ABB4 0FC1E73C */ jal solo_char_load -/* 0AF6E8 7F07ABB8 00000000 */ nop -/* 0AF6EC 7F07ABBC 3C088003 */ lui $t0, %hi(D_80036514) -/* 0AF6F0 7F07ABC0 8D086514 */ lw $t0, %lo(D_80036514)($t0) -/* 0AF6F4 7F07ABC4 3C0A8003 */ lui $t2, %hi(stage_intro_anim_table) -/* 0AF6F8 7F07ABC8 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AF6FC 7F07ABCC 254A6518 */ addiu $t2, %lo(stage_intro_anim_table) # addiu $t2, $t2, 0x6518 -/* 0AF700 7F07ABD0 00084900 */ sll $t1, $t0, 4 -/* 0AF704 7F07ABD4 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0AF708 7F07ABD8 012A1021 */ addu $v0, $t1, $t2 -/* 0AF70C 7F07ABDC 8E0D0000 */ lw $t5, ($s0) -/* 0AF710 7F07ABE0 C4400004 */ lwc1 $f0, 4($v0) -/* 0AF714 7F07ABE4 3C0C8007 */ lui $t4, %hi(ptr_animation_table) -/* 0AF718 7F07ABE8 8D8C9538 */ lw $t4, %lo(ptr_animation_table)($t4) -/* 0AF71C 7F07ABEC 8C4B0000 */ lw $t3, ($v0) -/* 0AF720 7F07ABF0 C44C0008 */ lwc1 $f12, 8($v0) -/* 0AF724 7F07ABF4 C442000C */ lwc1 $f2, 0xc($v0) -/* 0AF728 7F07ABF8 44805000 */ mtc1 $zero, $f10 -/* 0AF72C 7F07ABFC 8DA400D4 */ lw $a0, 0xd4($t5) -/* 0AF730 7F07AC00 44070000 */ mfc1 $a3, $f0 -/* 0AF734 7F07AC04 00003025 */ move $a2, $zero -/* 0AF738 7F07AC08 016C2821 */ addu $a1, $t3, $t4 -/* 0AF73C 7F07AC0C E7AC0078 */ swc1 $f12, 0x78($sp) -/* 0AF740 7F07AC10 E7A20010 */ swc1 $f2, 0x10($sp) -/* 0AF744 7F07AC14 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0AF748 7F07AC18 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 0AF74C 7F07AC1C C7AC0078 */ lwc1 $f12, 0x78($sp) -/* 0AF750 7F07AC20 44808000 */ mtc1 $zero, $f16 -/* 0AF754 7F07AC24 00000000 */ nop -/* 0AF758 7F07AC28 460C803C */ c.lt.s $f16, $f12 -/* 0AF75C 7F07AC2C 00000000 */ nop -/* 0AF760 7F07AC30 45020006 */ bc1fl .L7F07AC4C -/* 0AF764 7F07AC34 8E0F0000 */ lw $t7, ($s0) -/* 0AF768 7F07AC38 8E0E0000 */ lw $t6, ($s0) -/* 0AF76C 7F07AC3C 44056000 */ mfc1 $a1, $f12 -/* 0AF770 7F07AC40 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0AF774 7F07AC44 8DC400D4 */ lw $a0, 0xd4($t6) -/* 0AF778 7F07AC48 8E0F0000 */ lw $t7, ($s0) -.L7F07AC4C: -/* 0AF77C 7F07AC4C 24190017 */ li $t9, 23 -/* 0AF780 7F07AC50 8DF800A8 */ lw $t8, 0xa8($t7) -/* 0AF784 7F07AC54 8F020004 */ lw $v0, 4($t8) -/* 0AF788 7F07AC58 A0590007 */ sb $t9, 7($v0) -/* 0AF78C 7F07AC5C A0400008 */ sb $zero, 8($v0) -/* 0AF790 7F07AC60 8E080000 */ lw $t0, ($s0) -/* 0AF794 7F07AC64 1000014A */ b .L7F07B190 -/* 0AF798 7F07AC68 AD000034 */ sw $zero, 0x34($t0) -.L7F07AC6C: -/* 0AF79C 7F07AC6C 0FC1EA6E */ jal set_camera_mode -/* 0AF7A0 7F07AC70 24040004 */ li $a0, 4 -/* 0AF7A4 7F07AC74 10000147 */ b .L7F07B194 -/* 0AF7A8 7F07AC78 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07AC7C: -/* 0AF7AC 7F07AC7C 24010004 */ li $at, 4 -/* 0AF7B0 7F07AC80 5441003A */ bnel $v0, $at, .L7F07AD6C -/* 0AF7B4 7F07AC84 24010005 */ li $at, 5 -/* 0AF7B8 7F07AC88 0C001A57 */ jal get_stage_num -/* 0AF7BC 7F07AC8C 00000000 */ nop -/* 0AF7C0 7F07AC90 24010036 */ li $at, 54 -/* 0AF7C4 7F07AC94 1441000D */ bne $v0, $at, .L7F07ACCC -/* 0AF7C8 7F07AC98 3C098003 */ lui $t1, %hi(D_8003649C) -/* 0AF7CC 7F07AC9C 00002025 */ move $a0, $zero -/* 0AF7D0 7F07ACA0 00002825 */ move $a1, $zero -/* 0AF7D4 7F07ACA4 00003025 */ move $a2, $zero -/* 0AF7D8 7F07ACA8 0FC201EC */ jal set_rgba_tint -/* 0AF7DC 7F07ACAC 3C073F80 */ lui $a3, 0x3f80 -/* 0AF7E0 7F07ACB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AF7E4 7F07ACB4 44817000 */ mtc1 $at, $f14 -/* 0AF7E8 7F07ACB8 44806000 */ mtc1 $zero, $f12 -/* 0AF7EC 7F07ACBC 0FC20216 */ jal fade_to_over_seconds -/* 0AF7F0 7F07ACC0 00000000 */ nop -/* 0AF7F4 7F07ACC4 1000000D */ b .L7F07ACFC -/* 0AF7F8 7F07ACC8 00000000 */ nop -.L7F07ACCC: -/* 0AF7FC 7F07ACCC 8D29649C */ lw $t1, %lo(D_8003649C)($t1) -/* 0AF800 7F07ACD0 00002025 */ move $a0, $zero -/* 0AF804 7F07ACD4 00002825 */ move $a1, $zero -/* 0AF808 7F07ACD8 11200008 */ beqz $t1, .L7F07ACFC -/* 0AF80C 7F07ACDC 00003025 */ move $a2, $zero -/* 0AF810 7F07ACE0 0FC201EC */ jal set_rgba_tint -/* 0AF814 7F07ACE4 3C073F80 */ lui $a3, 0x3f80 -/* 0AF818 7F07ACE8 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0AF81C 7F07ACEC 44816000 */ mtc1 $at, $f12 -/* 0AF820 7F07ACF0 44807000 */ mtc1 $zero, $f14 -/* 0AF824 7F07ACF4 0FC20216 */ jal fade_to_over_seconds -/* 0AF828 7F07ACF8 00000000 */ nop -.L7F07ACFC: -/* 0AF82C 7F07ACFC 0FC26919 */ jal get_num_players -/* 0AF830 7F07AD00 00000000 */ nop -/* 0AF834 7F07AD04 28410002 */ slti $at, $v0, 2 -/* 0AF838 7F07AD08 14200006 */ bnez $at, .L7F07AD24 -/* 0AF83C 7F07AD0C 00000000 */ nop -/* 0AF840 7F07AD10 0C001A57 */ jal get_stage_num -/* 0AF844 7F07AD14 00000000 */ nop -/* 0AF848 7F07AD18 00402025 */ move $a0, $v0 -/* 0AF84C 7F07AD1C 0FC2EA99 */ jal load_enviroment -/* 0AF850 7F07AD20 00002825 */ move $a1, $zero -.L7F07AD24: -/* 0AF854 7F07AD24 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AF858 7F07AD28 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0AF85C 7F07AD2C 8E0A0000 */ lw $t2, ($s0) -/* 0AF860 7F07AD30 3C108008 */ lui $s0, %hi(starting_right_weapon) -/* 0AF864 7F07AD34 261099E0 */ addiu $s0, %lo(starting_right_weapon) # addiu $s0, $s0, -0x6620 -/* 0AF868 7F07AD38 8D4B01C8 */ lw $t3, 0x1c8($t2) -/* 0AF86C 7F07AD3C 24040001 */ li $a0, 1 -/* 0AF870 7F07AD40 15600006 */ bnez $t3, .L7F07AD5C -/* 0AF874 7F07AD44 00000000 */ nop -/* 0AF878 7F07AD48 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0AF87C 7F07AD4C 8E050004 */ lw $a1, 4($s0) -/* 0AF880 7F07AD50 00002025 */ move $a0, $zero -/* 0AF884 7F07AD54 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0AF888 7F07AD58 8E050000 */ lw $a1, ($s0) -.L7F07AD5C: -/* 0AF88C 7F07AD5C 3C018003 */ lui $at, %hi(stop_time_flag) -/* 0AF890 7F07AD60 1000010B */ b .L7F07B190 -/* 0AF894 7F07AD64 AC2064A0 */ sw $zero, %lo(stop_time_flag)($at) -/* 0AF898 7F07AD68 24010005 */ li $at, 5 -.L7F07AD6C: -/* 0AF89C 7F07AD6C 144100CC */ bne $v0, $at, .L7F07B0A0 -/* 0AF8A0 7F07AD70 00002025 */ move $a0, $zero -/* 0AF8A4 7F07AD74 44809000 */ mtc1 $zero, $f18 -/* 0AF8A8 7F07AD78 3C018003 */ lui $at, %hi(D_800364A4) -/* 0AF8AC 7F07AD7C 00002825 */ move $a1, $zero -/* 0AF8B0 7F07AD80 E43264A4 */ swc1 $f18, %lo(D_800364A4)($at) -/* 0AF8B4 7F07AD84 3C018003 */ lui $at, %hi(D_800364A8) -/* 0AF8B8 7F07AD88 AC2364A8 */ sw $v1, %lo(D_800364A8)($at) -/* 0AF8BC 7F07AD8C 00003025 */ move $a2, $zero -/* 0AF8C0 7F07AD90 0FC201EC */ jal set_rgba_tint -/* 0AF8C4 7F07AD94 3C073F80 */ lui $a3, 0x3f80 -/* 0AF8C8 7F07AD98 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0AF8CC 7F07AD9C 44816000 */ mtc1 $at, $f12 -/* 0AF8D0 7F07ADA0 44807000 */ mtc1 $zero, $f14 -/* 0AF8D4 7F07ADA4 0FC20216 */ jal fade_to_over_seconds -/* 0AF8D8 7F07ADA8 00000000 */ nop -/* 0AF8DC 7F07ADAC 3C028003 */ lui $v0, %hi(D_8003648C) -/* 0AF8E0 7F07ADB0 8C42648C */ lw $v0, %lo(D_8003648C)($v0) -/* 0AF8E4 7F07ADB4 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AF8E8 7F07ADB8 3C0C8003 */ lui $t4, %hi(ptr_playerstank) -/* 0AF8EC 7F07ADBC 10400007 */ beqz $v0, .L7F07ADDC -/* 0AF8F0 7F07ADC0 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0AF8F4 7F07ADC4 8D8C6450 */ lw $t4, %lo(ptr_playerstank)($t4) -/* 0AF8F8 7F07ADC8 11800004 */ beqz $t4, .L7F07ADDC -/* 0AF8FC 7F07ADCC 00000000 */ nop -/* 0AF900 7F07ADD0 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AF904 7F07ADD4 1000005C */ b .L7F07AF48 -/* 0AF908 7F07ADD8 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -.L7F07ADDC: -/* 0AF90C 7F07ADDC 3C018003 */ lui $at, %hi(in_tank_flag) -/* 0AF910 7F07ADE0 AC206448 */ sw $zero, %lo(in_tank_flag)($at) -/* 0AF914 7F07ADE4 8E190000 */ lw $t9, ($s0) -/* 0AF918 7F07ADE8 0320C025 */ move $t8, $t9 -/* 0AF91C 7F07ADEC 272F0054 */ addiu $t7, $t9, 0x54 -.L7F07ADF0: -/* 0AF920 7F07ADF0 8F010434 */ lw $at, 0x434($t8) -/* 0AF924 7F07ADF4 2718000C */ addiu $t8, $t8, 0xc -/* 0AF928 7F07ADF8 2739000C */ addiu $t9, $t9, 0xc -/* 0AF92C 7F07ADFC AF21047C */ sw $at, 0x47c($t9) -/* 0AF930 7F07AE00 8F01042C */ lw $at, 0x42c($t8) -/* 0AF934 7F07AE04 AF210480 */ sw $at, 0x480($t9) -/* 0AF938 7F07AE08 8F010430 */ lw $at, 0x430($t8) -/* 0AF93C 7F07AE0C 170FFFF8 */ bne $t8, $t7, .L7F07ADF0 -/* 0AF940 7F07AE10 AF210484 */ sw $at, 0x484($t9) -/* 0AF944 7F07AE14 8E020000 */ lw $v0, ($s0) -/* 0AF948 7F07AE18 C4440414 */ lwc1 $f4, 0x414($v0) -/* 0AF94C 7F07AE1C E4440148 */ swc1 $f4, 0x148($v0) -/* 0AF950 7F07AE20 8E020000 */ lw $v0, ($s0) -/* 0AF954 7F07AE24 C4460418 */ lwc1 $f6, 0x418($v0) -/* 0AF958 7F07AE28 E4460158 */ swc1 $f6, 0x158($v0) -/* 0AF95C 7F07AE2C 8E020000 */ lw $v0, ($s0) -/* 0AF960 7F07AE30 C448048C */ lwc1 $f8, 0x48c($v0) -/* 0AF964 7F07AE34 8C4800A8 */ lw $t0, 0xa8($v0) -/* 0AF968 7F07AE38 E5080008 */ swc1 $f8, 8($t0) -/* 0AF96C 7F07AE3C 8E020000 */ lw $v0, ($s0) -/* 0AF970 7F07AE40 C44A0490 */ lwc1 $f10, 0x490($v0) -/* 0AF974 7F07AE44 8C4900A8 */ lw $t1, 0xa8($v0) -/* 0AF978 7F07AE48 E52A000C */ swc1 $f10, 0xc($t1) -/* 0AF97C 7F07AE4C 8E020000 */ lw $v0, ($s0) -/* 0AF980 7F07AE50 C4500494 */ lwc1 $f16, 0x494($v0) -/* 0AF984 7F07AE54 8C4A00A8 */ lw $t2, 0xa8($v0) -/* 0AF988 7F07AE58 E5500010 */ swc1 $f16, 0x10($t2) -/* 0AF98C 7F07AE5C 8E020000 */ lw $v0, ($s0) -/* 0AF990 7F07AE60 8C4B0488 */ lw $t3, 0x488($v0) -/* 0AF994 7F07AE64 8C4C00A8 */ lw $t4, 0xa8($v0) -/* 0AF998 7F07AE68 0FC205E4 */ jal sub_GAME_7F081790 -/* 0AF99C 7F07AE6C AD8B0014 */ sw $t3, 0x14($t4) -/* 0AF9A0 7F07AE70 44806000 */ mtc1 $zero, $f12 -/* 0AF9A4 7F07AE74 00000000 */ nop -/* 0AF9A8 7F07AE78 44066000 */ mfc1 $a2, $f12 -/* 0AF9AC 7F07AE7C 0FC202CD */ jal sub_GAME_7F080B34 -/* 0AF9B0 7F07AE80 46006386 */ mov.s $f14, $f12 -/* 0AF9B4 7F07AE84 0FC2051E */ jal sub_GAME_7F081478 -/* 0AF9B8 7F07AE88 00000000 */ nop -/* 0AF9BC 7F07AE8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AF9C0 7F07AE90 44817000 */ mtc1 $at, $f14 -/* 0AF9C4 7F07AE94 44806000 */ mtc1 $zero, $f12 -/* 0AF9C8 7F07AE98 0FC20284 */ jal set_curplayer_fade -/* 0AF9CC 7F07AE9C 00000000 */ nop -/* 0AF9D0 7F07AEA0 0FC1E73C */ jal solo_char_load -/* 0AF9D4 7F07AEA4 00000000 */ nop -/* 0AF9D8 7F07AEA8 8E040000 */ lw $a0, ($s0) -/* 0AF9DC 7F07AEAC 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 0AF9E0 7F07AEB0 24840598 */ addiu $a0, $a0, 0x598 -/* 0AF9E4 7F07AEB4 8E040000 */ lw $a0, ($s0) -/* 0AF9E8 7F07AEB8 AFA20038 */ sw $v0, 0x38($sp) -/* 0AF9EC 7F07AEBC 0FC1BD6D */ jal sub_GAME_7F06F5B4 -/* 0AF9F0 7F07AEC0 24840598 */ addiu $a0, $a0, 0x598 -/* 0AF9F4 7F07AEC4 44800000 */ mtc1 $zero, $f0 -/* 0AF9F8 7F07AEC8 8E0E0000 */ lw $t6, ($s0) -/* 0AF9FC 7F07AECC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0AFA00 7F07AED0 44819000 */ mtc1 $at, $f18 -/* 0AFA04 7F07AED4 8DC400D4 */ lw $a0, 0xd4($t6) -/* 0AFA08 7F07AED8 44070000 */ mfc1 $a3, $f0 -/* 0AFA0C 7F07AEDC 8FA50038 */ lw $a1, 0x38($sp) -/* 0AFA10 7F07AEE0 00403025 */ move $a2, $v0 -/* 0AFA14 7F07AEE4 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0AFA18 7F07AEE8 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0AFA1C 7F07AEEC E7B20010 */ swc1 $f18, 0x10($sp) -/* 0AFA20 7F07AEF0 8E0D0000 */ lw $t5, ($s0) -/* 0AFA24 7F07AEF4 24180018 */ li $t8, 24 -/* 0AFA28 7F07AEF8 8DAF00A8 */ lw $t7, 0xa8($t5) -/* 0AFA2C 7F07AEFC 8DE30004 */ lw $v1, 4($t7) -/* 0AFA30 7F07AF00 8C790014 */ lw $t9, 0x14($v1) -/* 0AFA34 7F07AF04 A0780007 */ sb $t8, 7($v1) -/* 0AFA38 7F07AF08 A0600008 */ sb $zero, 8($v1) -/* 0AFA3C 7F07AF0C 37280001 */ ori $t0, $t9, 1 -/* 0AFA40 7F07AF10 AC680014 */ sw $t0, 0x14($v1) -/* 0AFA44 7F07AF14 8E020000 */ lw $v0, ($s0) -/* 0AFA48 7F07AF18 8C4500A8 */ lw $a1, 0xa8($v0) -/* 0AFA4C 7F07AF1C 8C4400D4 */ lw $a0, 0xd4($v0) -/* 0AFA50 7F07AF20 0FC1B303 */ jal setsuboffset -/* 0AFA54 7F07AF24 24A50008 */ addiu $a1, $a1, 8 -/* 0AFA58 7F07AF28 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 0AFA5C 7F07AF2C 00000000 */ nop -/* 0AFA60 7F07AF30 8E090000 */ lw $t1, ($s0) -/* 0AFA64 7F07AF34 44050000 */ mfc1 $a1, $f0 -/* 0AFA68 7F07AF38 0FC1B34F */ jal setsubroty -/* 0AFA6C 7F07AF3C 8D2400D4 */ lw $a0, 0xd4($t1) -/* 0AFA70 7F07AF40 3C028003 */ lui $v0, %hi(D_8003648C) -/* 0AFA74 7F07AF44 8C42648C */ lw $v0, %lo(D_8003648C)($v0) -.L7F07AF48: -/* 0AFA78 7F07AF48 10400017 */ beqz $v0, .L7F07AFA8 -/* 0AFA7C 7F07AF4C 27A50058 */ addiu $a1, $sp, 0x58 -/* 0AFA80 7F07AF50 3C048003 */ lui $a0, %hi(ptr_playerstank) -/* 0AFA84 7F07AF54 8C846450 */ lw $a0, %lo(ptr_playerstank)($a0) -/* 0AFA88 7F07AF58 50800014 */ beql $a0, $zero, .L7F07AFAC -/* 0AFA8C 7F07AF5C 8E020000 */ lw $v0, ($s0) -/* 0AFA90 7F07AF60 AFA40064 */ sw $a0, 0x64($sp) -/* 0AFA94 7F07AF64 C4840008 */ lwc1 $f4, 8($a0) -/* 0AFA98 7F07AF68 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 0AFA9C 7F07AF6C 44810000 */ mtc1 $at, $f0 -/* 0AFAA0 7F07AF70 E7A40058 */ swc1 $f4, 0x58($sp) -/* 0AFAA4 7F07AF74 C486000C */ lwc1 $f6, 0xc($a0) -/* 0AFAA8 7F07AF78 00803025 */ move $a2, $a0 -/* 0AFAAC 7F07AF7C E7A6005C */ swc1 $f6, 0x5c($sp) -/* 0AFAB0 7F07AF80 C4880010 */ lwc1 $f8, 0x10($a0) -/* 0AFAB4 7F07AF84 E7A80060 */ swc1 $f8, 0x60($sp) -/* 0AFAB8 7F07AF88 C48A0008 */ lwc1 $f10, 8($a0) -/* 0AFABC 7F07AF8C E7AA0048 */ swc1 $f10, 0x48($sp) -/* 0AFAC0 7F07AF90 C490000C */ lwc1 $f16, 0xc($a0) -/* 0AFAC4 7F07AF94 E7B0004C */ swc1 $f16, 0x4c($sp) -/* 0AFAC8 7F07AF98 C4920010 */ lwc1 $f18, 0x10($a0) -/* 0AFACC 7F07AF9C E7B20050 */ swc1 $f18, 0x50($sp) -/* 0AFAD0 7F07AFA0 10000014 */ b .L7F07AFF4 -/* 0AFAD4 7F07AFA4 8C830014 */ lw $v1, 0x14($a0) -.L7F07AFA8: -/* 0AFAD8 7F07AFA8 8E020000 */ lw $v0, ($s0) -.L7F07AFAC: -/* 0AFADC 7F07AFAC 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0AFAE0 7F07AFB0 44810000 */ mtc1 $at, $f0 -/* 0AFAE4 7F07AFB4 8C4A00A8 */ lw $t2, 0xa8($v0) -/* 0AFAE8 7F07AFB8 AFAA0064 */ sw $t2, 0x64($sp) -/* 0AFAEC 7F07AFBC C44403C4 */ lwc1 $f4, 0x3c4($v0) -/* 0AFAF0 7F07AFC0 E7A40058 */ swc1 $f4, 0x58($sp) -/* 0AFAF4 7F07AFC4 C44603C8 */ lwc1 $f6, 0x3c8($v0) -/* 0AFAF8 7F07AFC8 E7A6005C */ swc1 $f6, 0x5c($sp) -/* 0AFAFC 7F07AFCC C44803CC */ lwc1 $f8, 0x3cc($v0) -/* 0AFB00 7F07AFD0 E7A80060 */ swc1 $f8, 0x60($sp) -/* 0AFB04 7F07AFD4 C44A048C */ lwc1 $f10, 0x48c($v0) -/* 0AFB08 7F07AFD8 8C4600A8 */ lw $a2, 0xa8($v0) -/* 0AFB0C 7F07AFDC E7AA0048 */ swc1 $f10, 0x48($sp) -/* 0AFB10 7F07AFE0 C4500490 */ lwc1 $f16, 0x490($v0) -/* 0AFB14 7F07AFE4 E7B0004C */ swc1 $f16, 0x4c($sp) -/* 0AFB18 7F07AFE8 C4520494 */ lwc1 $f18, 0x494($v0) -/* 0AFB1C 7F07AFEC E7B20050 */ swc1 $f18, 0x50($sp) -/* 0AFB20 7F07AFF0 8C430488 */ lw $v1, 0x488($v0) -.L7F07AFF4: -/* 0AFB24 7F07AFF4 8FA40064 */ lw $a0, 0x64($sp) -/* 0AFB28 7F07AFF8 27A70048 */ addiu $a3, $sp, 0x48 -/* 0AFB2C 7F07AFFC AFA30010 */ sw $v1, 0x10($sp) -/* 0AFB30 7F07B000 0FC1E94D */ jal sub_GAME_7F07A534 -/* 0AFB34 7F07B004 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0AFB38 7F07B008 10400021 */ beqz $v0, .L7F07B090 -/* 0AFB3C 7F07B00C 3C0B8003 */ lui $t3, %hi(D_80036510) -/* 0AFB40 7F07B010 8D6B6510 */ lw $t3, %lo(D_80036510)($t3) -/* 0AFB44 7F07B014 15600007 */ bnez $t3, .L7F07B034 -/* 0AFB48 7F07B018 00000000 */ nop -/* 0AFB4C 7F07B01C 0C001B9F */ jal musicTrack1Play -/* 0AFB50 7F07B020 2404002C */ li $a0, 44 -/* 0AFB54 7F07B024 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0AFB58 7F07B028 44816000 */ mtc1 $at, $f12 -/* 0AFB5C 7F07B02C 0C00248E */ jal sfx_c_70009238 -/* 0AFB60 7F07B030 00000000 */ nop -.L7F07B034: -/* 0AFB64 7F07B034 3C0C8003 */ lui $t4, %hi(D_8003648C) -/* 0AFB68 7F07B038 8D8C648C */ lw $t4, %lo(D_8003648C)($t4) -/* 0AFB6C 7F07B03C 3C0E8003 */ lui $t6, %hi(ptr_playerstank) -/* 0AFB70 7F07B040 51800054 */ beql $t4, $zero, .L7F07B194 -/* 0AFB74 7F07B044 8FBF002C */ lw $ra, 0x2c($sp) -/* 0AFB78 7F07B048 8DCE6450 */ lw $t6, %lo(ptr_playerstank)($t6) -/* 0AFB7C 7F07B04C 51C00051 */ beql $t6, $zero, .L7F07B194 -/* 0AFB80 7F07B050 8FBF002C */ lw $ra, 0x2c($sp) -/* 0AFB84 7F07B054 0FC26C54 */ jal get_cur_playernum -/* 0AFB88 7F07B058 00000000 */ nop -/* 0AFB8C 7F07B05C 3C048003 */ lui $a0, %hi(ptr_playerstank) -/* 0AFB90 7F07B060 8C846450 */ lw $a0, %lo(ptr_playerstank)($a0) -/* 0AFB94 7F07B064 2407000D */ li $a3, 13 -/* 0AFB98 7F07B068 8C860014 */ lw $a2, 0x14($a0) -/* 0AFB9C 7F07B06C 248D002C */ addiu $t5, $a0, 0x2c -/* 0AFBA0 7F07B070 AFAD0018 */ sw $t5, 0x18($sp) -/* 0AFBA4 7F07B074 AFA0001C */ sw $zero, 0x1c($sp) -/* 0AFBA8 7F07B078 AFA20014 */ sw $v0, 0x14($sp) -/* 0AFBAC 7F07B07C AFA00010 */ sw $zero, 0x10($sp) -/* 0AFBB0 7F07B080 0FC27094 */ jal sub_GAME_7F09C250 -/* 0AFBB4 7F07B084 24850008 */ addiu $a1, $a0, 8 -/* 0AFBB8 7F07B088 10000042 */ b .L7F07B194 -/* 0AFBBC 7F07B08C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07B090: -/* 0AFBC0 7F07B090 0C001A4C */ jal run_title_stage -/* 0AFBC4 7F07B094 00000000 */ nop -/* 0AFBC8 7F07B098 1000003E */ b .L7F07B194 -/* 0AFBCC 7F07B09C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07B0A0: -/* 0AFBD0 7F07B0A0 24010006 */ li $at, 6 -/* 0AFBD4 7F07B0A4 1441000D */ bne $v0, $at, .L7F07B0DC -/* 0AFBD8 7F07B0A8 00002025 */ move $a0, $zero -/* 0AFBDC 7F07B0AC 00002825 */ move $a1, $zero -/* 0AFBE0 7F07B0B0 00003025 */ move $a2, $zero -/* 0AFBE4 7F07B0B4 0FC201EC */ jal set_rgba_tint -/* 0AFBE8 7F07B0B8 24070000 */ li $a3, 0 -/* 0AFBEC 7F07B0BC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0AFBF0 7F07B0C0 44816000 */ mtc1 $at, $f12 -/* 0AFBF4 7F07B0C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AFBF8 7F07B0C8 44817000 */ mtc1 $at, $f14 -/* 0AFBFC 7F07B0CC 0FC20216 */ jal fade_to_over_seconds -/* 0AFC00 7F07B0D0 00000000 */ nop -/* 0AFC04 7F07B0D4 1000002F */ b .L7F07B194 -/* 0AFC08 7F07B0D8 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07B0DC: -/* 0AFC0C 7F07B0DC 24010007 */ li $at, 7 -/* 0AFC10 7F07B0E0 54410009 */ bnel $v0, $at, .L7F07B108 -/* 0AFC14 7F07B0E4 24010008 */ li $at, 8 -/* 0AFC18 7F07B0E8 0FC1E73C */ jal solo_char_load -/* 0AFC1C 7F07B0EC 00000000 */ nop -/* 0AFC20 7F07B0F0 3C108008 */ lui $s0, %hi(pPlayer) -/* 0AFC24 7F07B0F4 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0AFC28 7F07B0F8 8E0F0000 */ lw $t7, ($s0) -/* 0AFC2C 7F07B0FC 10000024 */ b .L7F07B190 -/* 0AFC30 7F07B100 ADE00034 */ sw $zero, 0x34($t7) -/* 0AFC34 7F07B104 24010008 */ li $at, 8 -.L7F07B108: -/* 0AFC38 7F07B108 54410007 */ bnel $v0, $at, .L7F07B128 -/* 0AFC3C 7F07B10C 2401000A */ li $at, 10 -/* 0AFC40 7F07B110 0FC1E928 */ jal maybe_solo_intro_camera_handler -/* 0AFC44 7F07B114 00000000 */ nop -/* 0AFC48 7F07B118 24180004 */ li $t8, 4 -/* 0AFC4C 7F07B11C 1000001C */ b .L7F07B190 -/* 0AFC50 7F07B120 AE180000 */ sw $t8, ($s0) -/* 0AFC54 7F07B124 2401000A */ li $at, 10 -.L7F07B128: -/* 0AFC58 7F07B128 5441001A */ bnel $v0, $at, .L7F07B194 -/* 0AFC5C 7F07B12C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0AFC60 7F07B130 0FC26919 */ jal get_num_players -/* 0AFC64 7F07B134 00008025 */ move $s0, $zero -/* 0AFC68 7F07B138 18400013 */ blez $v0, .L7F07B188 -/* 0AFC6C 7F07B13C 00000000 */ nop -.L7F07B140: -/* 0AFC70 7F07B140 0FC26C43 */ jal set_cur_player -/* 0AFC74 7F07B144 02002025 */ move $a0, $s0 -/* 0AFC78 7F07B148 00002025 */ move $a0, $zero -/* 0AFC7C 7F07B14C 00002825 */ move $a1, $zero -/* 0AFC80 7F07B150 00003025 */ move $a2, $zero -/* 0AFC84 7F07B154 0FC201EC */ jal set_rgba_tint -/* 0AFC88 7F07B158 24070000 */ li $a3, 0 -/* 0AFC8C 7F07B15C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0AFC90 7F07B160 44816000 */ mtc1 $at, $f12 -/* 0AFC94 7F07B164 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AFC98 7F07B168 44817000 */ mtc1 $at, $f14 -/* 0AFC9C 7F07B16C 0FC20216 */ jal fade_to_over_seconds -/* 0AFCA0 7F07B170 00000000 */ nop -/* 0AFCA4 7F07B174 0FC26919 */ jal get_num_players -/* 0AFCA8 7F07B178 26100001 */ addiu $s0, $s0, 1 -/* 0AFCAC 7F07B17C 0202082A */ slt $at, $s0, $v0 -/* 0AFCB0 7F07B180 1420FFEF */ bnez $at, .L7F07B140 -/* 0AFCB4 7F07B184 00000000 */ nop -.L7F07B188: -/* 0AFCB8 7F07B188 0FC26C43 */ jal set_cur_player -/* 0AFCBC 7F07B18C 00002025 */ move $a0, $zero -.L7F07B190: -/* 0AFCC0 7F07B190 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07B194: -/* 0AFCC4 7F07B194 8FB00028 */ lw $s0, 0x28($sp) -/* 0AFCC8 7F07B198 27BD0088 */ addiu $sp, $sp, 0x88 -/* 0AFCCC 7F07B19C 03E00008 */ jr $ra -/* 0AFCD0 7F07B1A0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07B1A4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07B1A4 -/* 0AFCD4 7F07B1A4 3C038003 */ lui $v1, %hi(cameramode) -/* 0AFCD8 7F07B1A8 24636494 */ addiu $v1, %lo(cameramode) # addiu $v1, $v1, 0x6494 -/* 0AFCDC 7F07B1AC 8C620000 */ lw $v0, ($v1) -/* 0AFCE0 7F07B1B0 AC600000 */ sw $zero, ($v1) -/* 0AFCE4 7F07B1B4 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0AFCE8 7F07B1B8 AC206498 */ sw $zero, %lo(enable_move_after_cinema)($at) -/* 0AFCEC 7F07B1BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0AFCF0 7F07B1C0 24010001 */ li $at, 1 -/* 0AFCF4 7F07B1C4 14410005 */ bne $v0, $at, .L7F07B1DC -/* 0AFCF8 7F07B1C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0AFCFC 7F07B1CC 0FC1EA6E */ jal set_camera_mode -/* 0AFD00 7F07B1D0 24040002 */ li $a0, 2 -/* 0AFD04 7F07B1D4 1000002F */ b .L7F07B294 -/* 0AFD08 7F07B1D8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07B1DC: -/* 0AFD0C 7F07B1DC 24010002 */ li $at, 2 -/* 0AFD10 7F07B1E0 54410008 */ bnel $v0, $at, .L7F07B204 -/* 0AFD14 7F07B1E4 24010009 */ li $at, 9 -/* 0AFD18 7F07B1E8 0FC228CC */ jal reset_intro_camera_message_dialogs_for_BONDdata -/* 0AFD1C 7F07B1EC 00000000 */ nop -/* 0AFD20 7F07B1F0 0FC1EA6E */ jal set_camera_mode -/* 0AFD24 7F07B1F4 24040003 */ li $a0, 3 -/* 0AFD28 7F07B1F8 10000026 */ b .L7F07B294 -/* 0AFD2C 7F07B1FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AFD30 7F07B200 24010009 */ li $at, 9 -.L7F07B204: -/* 0AFD34 7F07B204 10410022 */ beq $v0, $at, .L7F07B290 -/* 0AFD38 7F07B208 24010003 */ li $at, 3 -/* 0AFD3C 7F07B20C 5441000D */ bnel $v0, $at, .L7F07B244 -/* 0AFD40 7F07B210 24010004 */ li $at, 4 -/* 0AFD44 7F07B214 0FC1E928 */ jal maybe_solo_intro_camera_handler -/* 0AFD48 7F07B218 00000000 */ nop -/* 0AFD4C 7F07B21C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AFD50 7F07B220 44817000 */ mtc1 $at, $f14 -/* 0AFD54 7F07B224 44806000 */ mtc1 $zero, $f12 -/* 0AFD58 7F07B228 0FC20284 */ jal set_curplayer_fade -/* 0AFD5C 7F07B22C 00000000 */ nop -/* 0AFD60 7F07B230 0FC1EA6E */ jal set_camera_mode -/* 0AFD64 7F07B234 24040004 */ li $a0, 4 -/* 0AFD68 7F07B238 10000016 */ b .L7F07B294 -/* 0AFD6C 7F07B23C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AFD70 7F07B240 24010004 */ li $at, 4 -.L7F07B244: -/* 0AFD74 7F07B244 10410012 */ beq $v0, $at, .L7F07B290 -/* 0AFD78 7F07B248 24010005 */ li $at, 5 -/* 0AFD7C 7F07B24C 54410006 */ bnel $v0, $at, .L7F07B268 -/* 0AFD80 7F07B250 24010006 */ li $at, 6 -/* 0AFD84 7F07B254 0FC1EA6E */ jal set_camera_mode -/* 0AFD88 7F07B258 24040006 */ li $a0, 6 -/* 0AFD8C 7F07B25C 1000000D */ b .L7F07B294 -/* 0AFD90 7F07B260 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AFD94 7F07B264 24010006 */ li $at, 6 -.L7F07B268: -/* 0AFD98 7F07B268 14410009 */ bne $v0, $at, .L7F07B290 -/* 0AFD9C 7F07B26C 3C028003 */ lui $v0, %hi(D_80036510) -/* 0AFDA0 7F07B270 24426510 */ addiu $v0, %lo(D_80036510) # addiu $v0, $v0, 0x6510 -/* 0AFDA4 7F07B274 8C4E0000 */ lw $t6, ($v0) -/* 0AFDA8 7F07B278 25CF0001 */ addiu $t7, $t6, 1 -/* 0AFDAC 7F07B27C 29E10003 */ slti $at, $t7, 3 -/* 0AFDB0 7F07B280 10200003 */ beqz $at, .L7F07B290 -/* 0AFDB4 7F07B284 AC4F0000 */ sw $t7, ($v0) -/* 0AFDB8 7F07B288 0FC1EA6E */ jal set_camera_mode -/* 0AFDBC 7F07B28C 24040005 */ li $a0, 5 -.L7F07B290: -/* 0AFDC0 7F07B290 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07B294: -/* 0AFDC4 7F07B294 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AFDC8 7F07B298 03E00008 */ jr $ra -/* 0AFDCC 7F07B29C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07B2A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07B2A0 -/* 0AFDD0 7F07B2A0 3C088003 */ lui $t0, %hi(D_800364AC) -/* 0AFDD4 7F07B2A4 8D0864AC */ lw $t0, %lo(D_800364AC)($t0) -/* 0AFDD8 7F07B2A8 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0AFDDC 7F07B2AC 00046140 */ sll $t4, $a0, 5 -/* 0AFDE0 7F07B2B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0AFDE4 7F07B2B4 AFB00028 */ sw $s0, 0x28($sp) -/* 0AFDE8 7F07B2B8 AFA60098 */ sw $a2, 0x98($sp) -/* 0AFDEC 7F07B2BC 010C5821 */ addu $t3, $t0, $t4 -/* 0AFDF0 7F07B2C0 44801000 */ mtc1 $zero, $f2 -/* 0AFDF4 7F07B2C4 C5600018 */ lwc1 $f0, 0x18($t3) -/* 0AFDF8 7F07B2C8 00E08025 */ move $s0, $a3 -/* 0AFDFC 7F07B2CC 44856000 */ mtc1 $a1, $f12 -/* 0AFE00 7F07B2D0 4600103C */ c.lt.s $f2, $f0 -/* 0AFE04 7F07B2D4 00047140 */ sll $t6, $a0, 5 -/* 0AFE08 7F07B2D8 27A50054 */ addiu $a1, $sp, 0x54 -/* 0AFE0C 7F07B2DC 2406FFFF */ li $a2, -1 -/* 0AFE10 7F07B2E0 45000002 */ bc1f .L7F07B2EC -/* 0AFE14 7F07B2E4 01C83821 */ addu $a3, $t6, $t0 -/* 0AFE18 7F07B2E8 46006083 */ div.s $f2, $f12, $f0 -.L7F07B2EC: -/* 0AFE1C 7F07B2EC 3C098008 */ lui $t1, %hi(pPlayer) -/* 0AFE20 7F07B2F0 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0AFE24 7F07B2F4 240A0003 */ li $t2, 3 -.L7F07B2F8: -/* 0AFE28 7F07B2F8 00067940 */ sll $t7, $a2, 5 -/* 0AFE2C 7F07B2FC 01E72021 */ addu $a0, $t7, $a3 -/* 0AFE30 7F07B300 00E01025 */ move $v0, $a3 -/* 0AFE34 7F07B304 04C10008 */ bgez $a2, .L7F07B328 -/* 0AFE38 7F07B308 00801825 */ move $v1, $a0 -/* 0AFE3C 7F07B30C 0088082B */ sltu $at, $a0, $t0 -/* 0AFE40 7F07B310 10200003 */ beqz $at, .L7F07B320 -/* 0AFE44 7F07B314 00000000 */ nop -/* 0AFE48 7F07B318 1000000E */ b .L7F07B354 -/* 0AFE4C 7F07B31C 01001025 */ move $v0, $t0 -.L7F07B320: -/* 0AFE50 7F07B320 1000000C */ b .L7F07B354 -/* 0AFE54 7F07B324 00601025 */ move $v0, $v1 -.L7F07B328: -/* 0AFE58 7F07B328 0044082B */ sltu $at, $v0, $a0 -/* 0AFE5C 7F07B32C 5020000A */ beql $at, $zero, .L7F07B358 -/* 0AFE60 7F07B330 8C4D0004 */ lw $t5, 4($v0) -/* 0AFE64 7F07B334 8C580024 */ lw $t8, 0x24($v0) -.L7F07B338: -/* 0AFE68 7F07B338 33190001 */ andi $t9, $t8, 1 -/* 0AFE6C 7F07B33C 57200006 */ bnezl $t9, .L7F07B358 -/* 0AFE70 7F07B340 8C4D0004 */ lw $t5, 4($v0) -/* 0AFE74 7F07B344 24420020 */ addiu $v0, $v0, 0x20 -/* 0AFE78 7F07B348 0043082B */ sltu $at, $v0, $v1 -/* 0AFE7C 7F07B34C 5420FFFA */ bnezl $at, .L7F07B338 -/* 0AFE80 7F07B350 8C580024 */ lw $t8, 0x24($v0) -.L7F07B354: -/* 0AFE84 7F07B354 8C4D0004 */ lw $t5, 4($v0) -.L7F07B358: -/* 0AFE88 7F07B358 24C60001 */ addiu $a2, $a2, 1 -/* 0AFE8C 7F07B35C 31AE0002 */ andi $t6, $t5, 2 -/* 0AFE90 7F07B360 51C00018 */ beql $t6, $zero, .L7F07B3C4 -/* 0AFE94 7F07B364 C4500008 */ lwc1 $f16, 8($v0) -/* 0AFE98 7F07B368 8D230000 */ lw $v1, ($t1) -/* 0AFE9C 7F07B36C C4460008 */ lwc1 $f6, 8($v0) -/* 0AFEA0 7F07B370 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0AFEA4 7F07B374 C46404A0 */ lwc1 $f4, 0x4a0($v1) -/* 0AFEA8 7F07B378 C4700498 */ lwc1 $f16, 0x498($v1) -/* 0AFEAC 7F07B37C 46062202 */ mul.s $f8, $f4, $f6 -/* 0AFEB0 7F07B380 00000000 */ nop -/* 0AFEB4 7F07B384 46105482 */ mul.s $f18, $f10, $f16 -/* 0AFEB8 7F07B388 46124100 */ add.s $f4, $f8, $f18 -/* 0AFEBC 7F07B38C E4A4000C */ swc1 $f4, 0xc($a1) -/* 0AFEC0 7F07B390 C446000C */ lwc1 $f6, 0xc($v0) -/* 0AFEC4 7F07B394 E4A60010 */ swc1 $f6, 0x10($a1) -/* 0AFEC8 7F07B398 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0AFECC 7F07B39C C47004A0 */ lwc1 $f16, 0x4a0($v1) -/* 0AFED0 7F07B3A0 C4440008 */ lwc1 $f4, 8($v0) -/* 0AFED4 7F07B3A4 C4720498 */ lwc1 $f18, 0x498($v1) -/* 0AFED8 7F07B3A8 46105202 */ mul.s $f8, $f10, $f16 -/* 0AFEDC 7F07B3AC 00000000 */ nop -/* 0AFEE0 7F07B3B0 46049182 */ mul.s $f6, $f18, $f4 -/* 0AFEE4 7F07B3B4 46064281 */ sub.s $f10, $f8, $f6 -/* 0AFEE8 7F07B3B8 10000007 */ b .L7F07B3D8 -/* 0AFEEC 7F07B3BC E4AA0014 */ swc1 $f10, 0x14($a1) -/* 0AFEF0 7F07B3C0 C4500008 */ lwc1 $f16, 8($v0) -.L7F07B3C4: -/* 0AFEF4 7F07B3C4 E4B0000C */ swc1 $f16, 0xc($a1) -/* 0AFEF8 7F07B3C8 C452000C */ lwc1 $f18, 0xc($v0) -/* 0AFEFC 7F07B3CC E4B20010 */ swc1 $f18, 0x10($a1) -/* 0AFF00 7F07B3D0 C4440010 */ lwc1 $f4, 0x10($v0) -/* 0AFF04 7F07B3D4 E4A40014 */ swc1 $f4, 0x14($a1) -.L7F07B3D8: -/* 0AFF08 7F07B3D8 14CAFFC7 */ bne $a2, $t2, .L7F07B2F8 -/* 0AFF0C 7F07B3DC 24A5000C */ addiu $a1, $a1, 0xc -/* 0AFF10 7F07B3E0 C5600014 */ lwc1 $f0, 0x14($t3) -/* 0AFF14 7F07B3E4 8FAF0098 */ lw $t7, 0x98($sp) -/* 0AFF18 7F07B3E8 E7A20058 */ swc1 $f2, 0x58($sp) -/* 0AFF1C 7F07B3EC AFAC0040 */ sw $t4, 0x40($sp) -/* 0AFF20 7F07B3F0 E7A20010 */ swc1 $f2, 0x10($sp) -/* 0AFF24 7F07B3F4 27A40060 */ addiu $a0, $sp, 0x60 -/* 0AFF28 7F07B3F8 27A5006C */ addiu $a1, $sp, 0x6c -/* 0AFF2C 7F07B3FC 27A60078 */ addiu $a2, $sp, 0x78 -/* 0AFF30 7F07B400 27A70084 */ addiu $a3, $sp, 0x84 -/* 0AFF34 7F07B404 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0AFF38 7F07B408 0FC16C09 */ jal sub_GAME_7F05B024 -/* 0AFF3C 7F07B40C AFAF0018 */ sw $t7, 0x18($sp) -/* 0AFF40 7F07B410 3C098008 */ lui $t1, %hi(pPlayer) -/* 0AFF44 7F07B414 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0AFF48 7F07B418 8FA20098 */ lw $v0, 0x98($sp) -/* 0AFF4C 7F07B41C 8D380000 */ lw $t8, ($t1) -/* 0AFF50 7F07B420 8FAC0040 */ lw $t4, 0x40($sp) -/* 0AFF54 7F07B424 C4480000 */ lwc1 $f8, ($v0) -/* 0AFF58 7F07B428 C70603C4 */ lwc1 $f6, 0x3c4($t8) -/* 0AFF5C 7F07B42C C7A20058 */ lwc1 $f2, 0x58($sp) -/* 0AFF60 7F07B430 C4500004 */ lwc1 $f16, 4($v0) -/* 0AFF64 7F07B434 46064280 */ add.s $f10, $f8, $f6 -/* 0AFF68 7F07B438 C4480008 */ lwc1 $f8, 8($v0) -/* 0AFF6C 7F07B43C 44807000 */ mtc1 $zero, $f14 -/* 0AFF70 7F07B440 E44A0000 */ swc1 $f10, ($v0) -/* 0AFF74 7F07B444 8D390000 */ lw $t9, ($t1) -/* 0AFF78 7F07B448 C73203C8 */ lwc1 $f18, 0x3c8($t9) -/* 0AFF7C 7F07B44C 3C198003 */ lui $t9, %hi(D_800364AC) -/* 0AFF80 7F07B450 46128100 */ add.s $f4, $f16, $f18 -/* 0AFF84 7F07B454 E4440004 */ swc1 $f4, 4($v0) -/* 0AFF88 7F07B458 8D2D0000 */ lw $t5, ($t1) -/* 0AFF8C 7F07B45C C5A603CC */ lwc1 $f6, 0x3cc($t5) -/* 0AFF90 7F07B460 46064280 */ add.s $f10, $f8, $f6 -/* 0AFF94 7F07B464 E44A0008 */ swc1 $f10, 8($v0) -/* 0AFF98 7F07B468 8D2E0000 */ lw $t6, ($t1) -/* 0AFF9C 7F07B46C C5D003C4 */ lwc1 $f16, 0x3c4($t6) -/* 0AFFA0 7F07B470 E6100000 */ swc1 $f16, ($s0) -/* 0AFFA4 7F07B474 8D2F0000 */ lw $t7, ($t1) -/* 0AFFA8 7F07B478 C5F203C8 */ lwc1 $f18, 0x3c8($t7) -/* 0AFFAC 7F07B47C E6120004 */ swc1 $f18, 4($s0) -/* 0AFFB0 7F07B480 8D380000 */ lw $t8, ($t1) -/* 0AFFB4 7F07B484 C70403CC */ lwc1 $f4, 0x3cc($t8) -/* 0AFFB8 7F07B488 E6040008 */ swc1 $f4, 8($s0) -/* 0AFFBC 7F07B48C 8F3964AC */ lw $t9, %lo(D_800364AC)($t9) -/* 0AFFC0 7F07B490 032C5821 */ addu $t3, $t9, $t4 -/* 0AFFC4 7F07B494 8D6D0004 */ lw $t5, 4($t3) -/* 0AFFC8 7F07B498 31AE0004 */ andi $t6, $t5, 4 -/* 0AFFCC 7F07B49C 55C0000E */ bnezl $t6, .L7F07B4D8 -/* 0AFFD0 7F07B4A0 8D790024 */ lw $t9, 0x24($t3) -/* 0AFFD4 7F07B4A4 8D6F0024 */ lw $t7, 0x24($t3) -/* 0AFFD8 7F07B4A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AFFDC 7F07B4AC 31F80004 */ andi $t8, $t7, 4 -/* 0AFFE0 7F07B4B0 57000006 */ bnezl $t8, .L7F07B4CC -/* 0AFFE4 7F07B4B4 44814000 */ mtc1 $at, $f8 -/* 0AFFE8 7F07B4B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AFFEC 7F07B4BC 44810000 */ mtc1 $at, $f0 -/* 0AFFF0 7F07B4C0 1000000C */ b .L7F07B4F4 -/* 0AFFF4 7F07B4C4 8D2E0000 */ lw $t6, ($t1) -/* 0AFFF8 7F07B4C8 44814000 */ mtc1 $at, $f8 -.L7F07B4CC: -/* 0AFFFC 7F07B4CC 10000008 */ b .L7F07B4F0 -/* 0B0000 7F07B4D0 46024001 */ sub.s $f0, $f8, $f2 -/* 0B0004 7F07B4D4 8D790024 */ lw $t9, 0x24($t3) -.L7F07B4D8: -/* 0B0008 7F07B4D8 332D0004 */ andi $t5, $t9, 4 -/* 0B000C 7F07B4DC 51A00004 */ beql $t5, $zero, .L7F07B4F0 -/* 0B0010 7F07B4E0 46001006 */ mov.s $f0, $f2 -/* 0B0014 7F07B4E4 10000002 */ b .L7F07B4F0 -/* 0B0018 7F07B4E8 46007006 */ mov.s $f0, $f14 -/* 0B001C 7F07B4EC 46001006 */ mov.s $f0, $f2 -.L7F07B4F0: -/* 0B0020 7F07B4F0 8D2E0000 */ lw $t6, ($t1) -.L7F07B4F4: -/* 0B0024 7F07B4F4 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B0028 7F07B4F8 44811000 */ mtc1 $at, $f2 -/* 0B002C 7F07B4FC C5CA04C0 */ lwc1 $f10, 0x4c0($t6) -/* 0B0030 7F07B500 C6060000 */ lwc1 $f6, ($s0) -/* 0B0034 7F07B504 C6080004 */ lwc1 $f8, 4($s0) -/* 0B0038 7F07B508 46025402 */ mul.s $f16, $f10, $f2 -/* 0B003C 7F07B50C 00000000 */ nop -/* 0B0040 7F07B510 46008482 */ mul.s $f18, $f16, $f0 -/* 0B0044 7F07B514 46123100 */ add.s $f4, $f6, $f18 -/* 0B0048 7F07B518 E6040000 */ swc1 $f4, ($s0) -/* 0B004C 7F07B51C 8D2F0000 */ lw $t7, ($t1) -/* 0B0050 7F07B520 C6040008 */ lwc1 $f4, 8($s0) -/* 0B0054 7F07B524 C5EA04C4 */ lwc1 $f10, 0x4c4($t7) -/* 0B0058 7F07B528 46025402 */ mul.s $f16, $f10, $f2 -/* 0B005C 7F07B52C 00000000 */ nop -/* 0B0060 7F07B530 46008182 */ mul.s $f6, $f16, $f0 -/* 0B0064 7F07B534 46064480 */ add.s $f18, $f8, $f6 -/* 0B0068 7F07B538 E6120004 */ swc1 $f18, 4($s0) -/* 0B006C 7F07B53C 8D380000 */ lw $t8, ($t1) -/* 0B0070 7F07B540 C70A04C8 */ lwc1 $f10, 0x4c8($t8) -/* 0B0074 7F07B544 46025402 */ mul.s $f16, $f10, $f2 -/* 0B0078 7F07B548 00000000 */ nop -/* 0B007C 7F07B54C 46008202 */ mul.s $f8, $f16, $f0 -/* 0B0080 7F07B550 46082180 */ add.s $f6, $f4, $f8 -/* 0B0084 7F07B554 E6060008 */ swc1 $f6, 8($s0) -/* 0B0088 7F07B558 8FBF002C */ lw $ra, 0x2c($sp) -/* 0B008C 7F07B55C 8FB00028 */ lw $s0, 0x28($sp) -/* 0B0090 7F07B560 27BD0090 */ addiu $sp, $sp, 0x90 -/* 0B0094 7F07B564 03E00008 */ jr $ra -/* 0B0098 7F07B568 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07B56C(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80055044 -.word 0x43338000 /*179.5*/ -glabel D_80055048 -.word 0x3dcccccd /*0.1*/ -glabel D_8005504C -.word 0x3c75c28f /*0.015*/ -glabel D_80055050 -.word 0x40490fdb /*3.1415927*/ -glabel D_80055054 -.word 0x3da3d70a /*0.079999998*/ -glabel D_80055058 -.word 0x3da3d70a /*0.079999998*/ -glabel D_8005505C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F07B56C -/* 0B009C 7F07B56C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B00A0 7F07B570 3C028003 */ lui $v0, %hi(cameramode) -/* 0B00A4 7F07B574 8C426494 */ lw $v0, %lo(cameramode)($v0) -/* 0B00A8 7F07B578 240B0001 */ li $t3, 1 -/* 0B00AC 7F07B57C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B00B0 7F07B580 AFA40040 */ sw $a0, 0x40($sp) -/* 0B00B4 7F07B584 AFA50044 */ sw $a1, 0x44($sp) -/* 0B00B8 7F07B588 AFA60048 */ sw $a2, 0x48($sp) -/* 0B00BC 7F07B58C 11620004 */ beq $t3, $v0, .L7F07B5A0 -/* 0B00C0 7F07B590 AFA7004C */ sw $a3, 0x4c($sp) -/* 0B00C4 7F07B594 24050002 */ li $a1, 2 -/* 0B00C8 7F07B598 14A200AF */ bne $a1, $v0, .L7F07B858 -/* 0B00CC 7F07B59C 24010009 */ li $at, 9 -.L7F07B5A0: -/* 0B00D0 7F07B5A0 15620059 */ bne $t3, $v0, .L7F07B708 -/* 0B00D4 7F07B5A4 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B00D8 7F07B5A8 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B00DC 7F07B5AC 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B00E0 7F07B5B0 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0B00E4 7F07B5B4 44810000 */ mtc1 $at, $f0 -/* 0B00E8 7F07B5B8 C5420000 */ lwc1 $f2, ($t2) -/* 0B00EC 7F07B5BC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B00F0 7F07B5C0 4600103C */ c.lt.s $f2, $f0 -/* 0B00F4 7F07B5C4 00000000 */ nop -/* 0B00F8 7F07B5C8 45000014 */ bc1f .L7F07B61C -/* 0B00FC 7F07B5CC 00000000 */ nop -/* 0B0100 7F07B5D0 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B0104 7F07B5D4 3C048004 */ lui $a0, %hi(ptrSecondFontTableLarge) -/* 0B0108 7F07B5D8 3C058004 */ lui $a1, %hi(ptrFirstFontTableLarge) -/* 0B010C 7F07B5DC 46041180 */ add.s $f6, $f2, $f4 -/* 0B0110 7F07B5E0 4606003E */ c.le.s $f0, $f6 -/* 0B0114 7F07B5E4 00000000 */ nop -/* 0B0118 7F07B5E8 4500000C */ bc1f .L7F07B61C -/* 0B011C 7F07B5EC 00000000 */ nop -/* 0B0120 7F07B5F0 8C840EB8 */ lw $a0, %lo(ptrSecondFontTableLarge)($a0) -/* 0B0124 7F07B5F4 0FC228ED */ jal sub_GAME_7F08A3B4 -/* 0B0128 7F07B5F8 8CA50EB4 */ lw $a1, %lo(ptrFirstFontTableLarge)($a1) -/* 0B012C 7F07B5FC 3C0E8003 */ lui $t6, %hi(ptr_random06cam_entry) -/* 0B0130 7F07B600 8DCE64C0 */ lw $t6, %lo(ptr_random06cam_entry)($t6) -/* 0B0134 7F07B604 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0B0138 7F07B608 8DC4001C */ lw $a0, 0x1c($t6) -/* 0B013C 7F07B60C 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B0140 7F07B610 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B0144 7F07B614 C5420000 */ lwc1 $f2, ($t2) -/* 0B0148 7F07B618 240B0001 */ li $t3, 1 -.L7F07B61C: -/* 0B014C 7F07B61C 3C0F8003 */ lui $t7, %hi(ptr_random06cam_entry) -/* 0B0150 7F07B620 8DEF64C0 */ lw $t7, %lo(ptr_random06cam_entry)($t7) -/* 0B0154 7F07B624 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B0158 7F07B628 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B015C 7F07B62C 8DE40020 */ lw $a0, 0x20($t7) -/* 0B0160 7F07B630 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0B0164 7F07B634 46081000 */ add.s $f0, $f2, $f8 -/* 0B0168 7F07B638 5080001F */ beql $a0, $zero, .L7F07B6B8 -/* 0B016C 7F07B63C 44816000 */ mtc1 $at, $f12 -/* 0B0170 7F07B640 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0B0174 7F07B644 44816000 */ mtc1 $at, $f12 -/* 0B0178 7F07B648 00000000 */ nop -/* 0B017C 7F07B64C 460C103C */ c.lt.s $f2, $f12 -/* 0B0180 7F07B650 00000000 */ nop -/* 0B0184 7F07B654 4502000F */ bc1fl .L7F07B694 -/* 0B0188 7F07B658 3C0143F0 */ lui $at, 0x43f0 -/* 0B018C 7F07B65C 4600603E */ c.le.s $f12, $f0 -/* 0B0190 7F07B660 00000000 */ nop -/* 0B0194 7F07B664 4502000B */ bc1fl .L7F07B694 -/* 0B0198 7F07B668 3C0143F0 */ lui $at, 0x43f0 -/* 0B019C 7F07B66C 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0B01A0 7F07B670 00000000 */ nop -/* 0B01A4 7F07B674 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B01A8 7F07B678 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B01AC 7F07B67C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B01B0 7F07B680 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 0B01B4 7F07B684 C5420000 */ lwc1 $f2, ($t2) -/* 0B01B8 7F07B688 240B0001 */ li $t3, 1 -/* 0B01BC 7F07B68C 460A1000 */ add.s $f0, $f2, $f10 -/* 0B01C0 7F07B690 3C0143F0 */ li $at, 0x43F00000 # 480.000000 -.L7F07B694: -/* 0B01C4 7F07B694 44812000 */ mtc1 $at, $f4 -/* 0B01C8 7F07B698 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B01CC 7F07B69C 4602203C */ c.lt.s $f4, $f2 -/* 0B01D0 7F07B6A0 00000000 */ nop -/* 0B01D4 7F07B6A4 4500000A */ bc1f .L7F07B6D0 -/* 0B01D8 7F07B6A8 00000000 */ nop -/* 0B01DC 7F07B6AC 10000008 */ b .L7F07B6D0 -/* 0B01E0 7F07B6B0 AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B01E4 7F07B6B4 44816000 */ mtc1 $at, $f12 -.L7F07B6B8: -/* 0B01E8 7F07B6B8 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B01EC 7F07B6BC 4602603C */ c.lt.s $f12, $f2 -/* 0B01F0 7F07B6C0 00000000 */ nop -/* 0B01F4 7F07B6C4 45000002 */ bc1f .L7F07B6D0 -/* 0B01F8 7F07B6C8 00000000 */ nop -/* 0B01FC 7F07B6CC AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -.L7F07B6D0: -/* 0B0200 7F07B6D0 0FC2FF01 */ jal get_controls_locked_flag -/* 0B0204 7F07B6D4 E5400000 */ swc1 $f0, ($t2) -/* 0B0208 7F07B6D8 14400015 */ bnez $v0, .L7F07B730 -/* 0B020C 7F07B6DC 240B0001 */ li $t3, 1 -/* 0B0210 7F07B6E0 97B90046 */ lhu $t9, 0x46($sp) -/* 0B0214 7F07B6E4 97B80042 */ lhu $t8, 0x42($sp) -/* 0B0218 7F07B6E8 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B021C 7F07B6EC 03206027 */ not $t4, $t9 -/* 0B0220 7F07B6F0 030C6824 */ and $t5, $t8, $t4 -/* 0B0224 7F07B6F4 31AEF030 */ andi $t6, $t5, 0xf030 -/* 0B0228 7F07B6F8 11C0000D */ beqz $t6, .L7F07B730 -/* 0B022C 7F07B6FC 00000000 */ nop -/* 0B0230 7F07B700 1000000B */ b .L7F07B730 -/* 0B0234 7F07B704 AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -.L7F07B708: -/* 0B0238 7F07B708 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B023C 7F07B70C 8D2F0000 */ lw $t7, ($t1) -/* 0B0240 7F07B710 44807000 */ mtc1 $zero, $f14 -/* 0B0244 7F07B714 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B0248 7F07B718 C5E603E4 */ lwc1 $f6, 0x3e4($t7) -/* 0B024C 7F07B71C 460E303C */ c.lt.s $f6, $f14 -/* 0B0250 7F07B720 00000000 */ nop -/* 0B0254 7F07B724 45000002 */ bc1f .L7F07B730 -/* 0B0258 7F07B728 00000000 */ nop -/* 0B025C 7F07B72C AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -.L7F07B730: -/* 0B0260 7F07B730 3C028003 */ lui $v0, %hi(ptr_random06cam_entry) -/* 0B0264 7F07B734 244264C0 */ addiu $v0, %lo(ptr_random06cam_entry) # addiu $v0, $v0, 0x64c0 -/* 0B0268 7F07B738 8C590000 */ lw $t9, ($v0) -/* 0B026C 7F07B73C 8FB80048 */ lw $t8, 0x48($sp) -/* 0B0270 7F07B740 C7280004 */ lwc1 $f8, 4($t9) -/* 0B0274 7F07B744 E7080000 */ swc1 $f8, ($t8) -/* 0B0278 7F07B748 8C4C0000 */ lw $t4, ($v0) -/* 0B027C 7F07B74C C58A0008 */ lwc1 $f10, 8($t4) -/* 0B0280 7F07B750 E70A0004 */ swc1 $f10, 4($t8) -/* 0B0284 7F07B754 8C4D0000 */ lw $t5, ($v0) -/* 0B0288 7F07B758 C5A4000C */ lwc1 $f4, 0xc($t5) -/* 0B028C 7F07B75C E7040008 */ swc1 $f4, 8($t8) -/* 0B0290 7F07B760 8C4E0000 */ lw $t6, ($v0) -/* 0B0294 7F07B764 0FC15FA8 */ jal cosf -/* 0B0298 7F07B768 C5CC0014 */ lwc1 $f12, 0x14($t6) -/* 0B029C 7F07B76C 3C0F8003 */ lui $t7, %hi(ptr_random06cam_entry) -/* 0B02A0 7F07B770 8DEF64C0 */ lw $t7, %lo(ptr_random06cam_entry)($t7) -/* 0B02A4 7F07B774 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B02A8 7F07B778 0FC15FAB */ jal sinf -/* 0B02AC 7F07B77C C5EC0010 */ lwc1 $f12, 0x10($t7) -/* 0B02B0 7F07B780 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 0B02B4 7F07B784 8FB90048 */ lw $t9, 0x48($sp) -/* 0B02B8 7F07B788 8FAC004C */ lw $t4, 0x4c($sp) -/* 0B02BC 7F07B78C 46060202 */ mul.s $f8, $f0, $f6 -/* 0B02C0 7F07B790 C72A0000 */ lwc1 $f10, ($t9) -/* 0B02C4 7F07B794 3C0D8003 */ lui $t5, %hi(ptr_random06cam_entry) -/* 0B02C8 7F07B798 460A4100 */ add.s $f4, $f8, $f10 -/* 0B02CC 7F07B79C E5840000 */ swc1 $f4, ($t4) -/* 0B02D0 7F07B7A0 8DAD64C0 */ lw $t5, %lo(ptr_random06cam_entry)($t5) -/* 0B02D4 7F07B7A4 0FC15FAB */ jal sinf -/* 0B02D8 7F07B7A8 C5AC0014 */ lwc1 $f12, 0x14($t5) -/* 0B02DC 7F07B7AC 8FB80048 */ lw $t8, 0x48($sp) -/* 0B02E0 7F07B7B0 8FAE004C */ lw $t6, 0x4c($sp) -/* 0B02E4 7F07B7B4 3C0F8003 */ lui $t7, %hi(ptr_random06cam_entry) -/* 0B02E8 7F07B7B8 C7060004 */ lwc1 $f6, 4($t8) -/* 0B02EC 7F07B7BC 46060200 */ add.s $f8, $f0, $f6 -/* 0B02F0 7F07B7C0 E5C80004 */ swc1 $f8, 4($t6) -/* 0B02F4 7F07B7C4 8DEF64C0 */ lw $t7, %lo(ptr_random06cam_entry)($t7) -/* 0B02F8 7F07B7C8 0FC15FA8 */ jal cosf -/* 0B02FC 7F07B7CC C5EC0014 */ lwc1 $f12, 0x14($t7) -/* 0B0300 7F07B7D0 3C198003 */ lui $t9, %hi(ptr_random06cam_entry) -/* 0B0304 7F07B7D4 8F3964C0 */ lw $t9, %lo(ptr_random06cam_entry)($t9) -/* 0B0308 7F07B7D8 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B030C 7F07B7DC 0FC15FA8 */ jal cosf -/* 0B0310 7F07B7E0 C72C0010 */ lwc1 $f12, 0x10($t9) -/* 0B0314 7F07B7E4 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0B0318 7F07B7E8 8FAC0048 */ lw $t4, 0x48($sp) -/* 0B031C 7F07B7EC 8FAD004C */ lw $t5, 0x4c($sp) -/* 0B0320 7F07B7F0 46040182 */ mul.s $f6, $f0, $f4 -/* 0B0324 7F07B7F4 C58A0008 */ lwc1 $f10, 8($t4) -/* 0B0328 7F07B7F8 8FA30058 */ lw $v1, 0x58($sp) -/* 0B032C 7F07B7FC 3C188003 */ lui $t8, %hi(ptr_random06cam_entry) -/* 0B0330 7F07B800 3C198007 */ lui $t9, %hi(ptr_0xxxpresets) -/* 0B0334 7F07B804 46065201 */ sub.s $f8, $f10, $f6 -/* 0B0338 7F07B808 E5A80008 */ swc1 $f8, 8($t5) -/* 0B033C 7F07B80C 8F1864C0 */ lw $t8, %lo(ptr_random06cam_entry)($t8) -/* 0B0340 7F07B810 8F395D18 */ lw $t9, %lo(ptr_0xxxpresets)($t9) -/* 0B0344 7F07B814 8FAD0054 */ lw $t5, 0x54($sp) -/* 0B0348 7F07B818 8F0E0018 */ lw $t6, 0x18($t8) -/* 0B034C 7F07B81C 000E7880 */ sll $t7, $t6, 2 -/* 0B0350 7F07B820 01EE7823 */ subu $t7, $t7, $t6 -/* 0B0354 7F07B824 000F7880 */ sll $t7, $t7, 2 -/* 0B0358 7F07B828 01EE7823 */ subu $t7, $t7, $t6 -/* 0B035C 7F07B82C 000F7880 */ sll $t7, $t7, 2 -/* 0B0360 7F07B830 01F91021 */ addu $v0, $t7, $t9 -/* 0B0364 7F07B834 8C4C0028 */ lw $t4, 0x28($v0) -/* 0B0368 7F07B838 ADAC0000 */ sw $t4, ($t5) -/* 0B036C 7F07B83C C4440000 */ lwc1 $f4, ($v0) -/* 0B0370 7F07B840 E4640000 */ swc1 $f4, ($v1) -/* 0B0374 7F07B844 C44A0004 */ lwc1 $f10, 4($v0) -/* 0B0378 7F07B848 E46A0004 */ swc1 $f10, 4($v1) -/* 0B037C 7F07B84C C4460008 */ lwc1 $f6, 8($v0) -/* 0B0380 7F07B850 10000337 */ b .L7F07C530 -/* 0B0384 7F07B854 E4660008 */ swc1 $f6, 8($v1) -.L7F07B858: -/* 0B0388 7F07B858 544100B3 */ bnel $v0, $at, .L7F07BB28 -/* 0B038C 7F07B85C 24010003 */ li $at, 3 -/* 0B0390 7F07B860 0FC26C54 */ jal get_cur_playernum -/* 0B0394 7F07B864 00000000 */ nop -/* 0B0398 7F07B868 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 0B039C 7F07B86C 00402025 */ move $a0, $v0 -/* 0B03A0 7F07B870 14400054 */ bnez $v0, .L7F07B9C4 -/* 0B03A4 7F07B874 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B03A8 7F07B878 3C078005 */ lui $a3, %hi(clock_timer) -/* 0B03AC 7F07B87C 8CE78374 */ lw $a3, %lo(clock_timer)($a3) -/* 0B03B0 7F07B880 00001825 */ move $v1, $zero -/* 0B03B4 7F07B884 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E08) -/* 0B03B8 7F07B888 18E0004E */ blez $a3, .L7F07B9C4 -/* 0B03BC 7F07B88C 3C068008 */ lui $a2, %hi(flt_CODE_bss_80079E04) -/* 0B03C0 7F07B890 C42C9E08 */ lwc1 $f12, %lo(flt_CODE_bss_80079E08)($at) -/* 0B03C4 7F07B894 3C018005 */ lui $at, %hi(D_80055044) -/* 0B03C8 7F07B898 C4325044 */ lwc1 $f18, %lo(D_80055044)($at) -/* 0B03CC 7F07B89C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B03D0 7F07B8A0 44818000 */ mtc1 $at, $f16 -/* 0B03D4 7F07B8A4 3C018005 */ lui $at, %hi(D_80055048) -/* 0B03D8 7F07B8A8 3C058008 */ lui $a1, %hi(flt_CODE_bss_80079E0C) -/* 0B03DC 7F07B8AC 3C048008 */ lui $a0, %hi(flt_CODE_bss_80079E08) -/* 0B03E0 7F07B8B0 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079E10) -/* 0B03E4 7F07B8B4 24429E10 */ addiu $v0, %lo(flt_CODE_bss_80079E10) # addiu $v0, $v0, -0x61f0 -/* 0B03E8 7F07B8B8 24849E08 */ addiu $a0, %lo(flt_CODE_bss_80079E08) # addiu $a0, $a0, -0x61f8 -/* 0B03EC 7F07B8BC 24A59E0C */ addiu $a1, %lo(flt_CODE_bss_80079E0C) # addiu $a1, $a1, -0x61f4 -/* 0B03F0 7F07B8C0 C42E5048 */ lwc1 $f14, %lo(D_80055048)($at) -/* 0B03F4 7F07B8C4 24C69E04 */ addiu $a2, %lo(flt_CODE_bss_80079E04) # addiu $a2, $a2, -0x61fc -/* 0B03F8 7F07B8C8 4612603C */ c.lt.s $f12, $f18 -.L7F07B8CC: -/* 0B03FC 7F07B8CC 24630001 */ addiu $v1, $v1, 1 -/* 0B0400 7F07B8D0 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0B0404 7F07B8D4 45020017 */ bc1fl .L7F07B934 -/* 0B0408 7F07B8D8 44812000 */ mtc1 $at, $f4 -/* 0B040C 7F07B8DC 3C01C1A0 */ li $at, 0xC1A00000 # -20.000000 -/* 0B0410 7F07B8E0 44814000 */ mtc1 $at, $f8 -/* 0B0414 7F07B8E4 3C0142DC */ li $at, 0x42DC0000 # 110.000000 -/* 0B0418 7F07B8E8 44815000 */ mtc1 $at, $f10 -/* 0B041C 7F07B8EC 4608603C */ c.lt.s $f12, $f8 -/* 0B0420 7F07B8F0 C4C00000 */ lwc1 $f0, ($a2) -/* 0B0424 7F07B8F4 45020005 */ bc1fl .L7F07B90C -/* 0B0428 7F07B8F8 460C503C */ c.lt.s $f10, $f12 -/* 0B042C 7F07B8FC 460E0100 */ add.s $f4, $f0, $f14 -/* 0B0430 7F07B900 E4C40000 */ swc1 $f4, ($a2) -/* 0B0434 7F07B904 C4C00000 */ lwc1 $f0, ($a2) -/* 0B0438 7F07B908 460C503C */ c.lt.s $f10, $f12 -.L7F07B90C: -/* 0B043C 7F07B90C 00000000 */ nop -/* 0B0440 7F07B910 45020005 */ bc1fl .L7F07B928 -/* 0B0444 7F07B914 46006200 */ add.s $f8, $f12, $f0 -/* 0B0448 7F07B918 460E0181 */ sub.s $f6, $f0, $f14 -/* 0B044C 7F07B91C E4C60000 */ swc1 $f6, ($a2) -/* 0B0450 7F07B920 C4C00000 */ lwc1 $f0, ($a2) -/* 0B0454 7F07B924 46006200 */ add.s $f8, $f12, $f0 -.L7F07B928: -/* 0B0458 7F07B928 10000004 */ b .L7F07B93C -/* 0B045C 7F07B92C E4880000 */ swc1 $f8, ($a0) -/* 0B0460 7F07B930 44812000 */ mtc1 $at, $f4 -.L7F07B934: -/* 0B0464 7F07B934 00000000 */ nop -/* 0B0468 7F07B938 E4840000 */ swc1 $f4, ($a0) -.L7F07B93C: -/* 0B046C 7F07B93C 3C0142A0 */ li $at, 0x42A00000 # 80.000000 -/* 0B0470 7F07B940 44815000 */ mtc1 $at, $f10 -/* 0B0474 7F07B944 C48C0000 */ lwc1 $f12, ($a0) -/* 0B0478 7F07B948 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B047C 7F07B94C 460C503C */ c.lt.s $f10, $f12 -/* 0B0480 7F07B950 00000000 */ nop -/* 0B0484 7F07B954 45020019 */ bc1fl .L7F07B9BC -/* 0B0488 7F07B958 0067082A */ slt $at, $v1, $a3 -/* 0B048C 7F07B95C C4400000 */ lwc1 $f0, ($v0) -/* 0B0490 7F07B960 44813000 */ mtc1 $at, $f6 -/* 0B0494 7F07B964 C4A20000 */ lwc1 $f2, ($a1) -/* 0B0498 7F07B968 3C018005 */ lui $at, %hi(D_8005504C) -/* 0B049C 7F07B96C 4600303C */ c.lt.s $f6, $f0 -/* 0B04A0 7F07B970 00000000 */ nop -/* 0B04A4 7F07B974 45000004 */ bc1f .L7F07B988 -/* 0B04A8 7F07B978 00000000 */ nop -/* 0B04AC 7F07B97C 460E1201 */ sub.s $f8, $f2, $f14 -/* 0B04B0 7F07B980 10000004 */ b .L7F07B994 -/* 0B04B4 7F07B984 E4A80000 */ swc1 $f8, ($a1) -.L7F07B988: -/* 0B04B8 7F07B988 C424504C */ lwc1 $f4, %lo(D_8005504C)($at) -/* 0B04BC 7F07B98C 46041280 */ add.s $f10, $f2, $f4 -/* 0B04C0 7F07B990 E4AA0000 */ swc1 $f10, ($a1) -.L7F07B994: -/* 0B04C4 7F07B994 C4A60000 */ lwc1 $f6, ($a1) -/* 0B04C8 7F07B998 46060200 */ add.s $f8, $f0, $f6 -/* 0B04CC 7F07B99C E4480000 */ swc1 $f8, ($v0) -/* 0B04D0 7F07B9A0 C4440000 */ lwc1 $f4, ($v0) -/* 0B04D4 7F07B9A4 4610203C */ c.lt.s $f4, $f16 -/* 0B04D8 7F07B9A8 00000000 */ nop -/* 0B04DC 7F07B9AC 45020003 */ bc1fl .L7F07B9BC -/* 0B04E0 7F07B9B0 0067082A */ slt $at, $v1, $a3 -/* 0B04E4 7F07B9B4 E4500000 */ swc1 $f16, ($v0) -/* 0B04E8 7F07B9B8 0067082A */ slt $at, $v1, $a3 -.L7F07B9BC: -/* 0B04EC 7F07B9BC 5420FFC3 */ bnezl $at, .L7F07B8CC -/* 0B04F0 7F07B9C0 4612603C */ c.lt.s $f12, $f18 -.L7F07B9C4: -/* 0B04F4 7F07B9C4 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B04F8 7F07B9C8 8D380000 */ lw $t8, ($t1) -/* 0B04FC 7F07B9CC 3C048008 */ lui $a0, %hi(flt_CODE_bss_80079E08) -/* 0B0500 7F07B9D0 24849E08 */ addiu $a0, %lo(flt_CODE_bss_80079E08) # addiu $a0, $a0, -0x61f8 -/* 0B0504 7F07B9D4 C48A0000 */ lwc1 $f10, ($a0) -/* 0B0508 7F07B9D8 C7060148 */ lwc1 $f6, 0x148($t8) -/* 0B050C 7F07B9DC 3C018005 */ lui $at, %hi(D_80055050) -/* 0B0510 7F07B9E0 C4245050 */ lwc1 $f4, %lo(D_80055050)($at) -/* 0B0514 7F07B9E4 46065201 */ sub.s $f8, $f10, $f6 -/* 0B0518 7F07B9E8 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0B051C 7F07B9EC 44813000 */ mtc1 $at, $f6 -/* 0B0520 7F07B9F0 46044282 */ mul.s $f10, $f8, $f4 -/* 0B0524 7F07B9F4 46065303 */ div.s $f12, $f10, $f6 -/* 0B0528 7F07B9F8 0FC15FAB */ jal sinf -/* 0B052C 7F07B9FC E7AC0038 */ swc1 $f12, 0x38($sp) -/* 0B0530 7F07BA00 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079E10) -/* 0B0534 7F07BA04 24429E10 */ addiu $v0, %lo(flt_CODE_bss_80079E10) # addiu $v0, $v0, -0x61f0 -/* 0B0538 7F07BA08 C4480000 */ lwc1 $f8, ($v0) -/* 0B053C 7F07BA0C 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B0540 7F07BA10 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B0544 7F07BA14 46080102 */ mul.s $f4, $f0, $f8 -/* 0B0548 7F07BA18 8D2E0000 */ lw $t6, ($t1) -/* 0B054C 7F07BA1C 8FA30048 */ lw $v1, 0x48($sp) -/* 0B0550 7F07BA20 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 0B0554 7F07BA24 C5CA04B4 */ lwc1 $f10, 0x4b4($t6) -/* 0B0558 7F07BA28 3C018005 */ lui $at, %hi(D_80055054) -/* 0B055C 7F07BA2C 460A2180 */ add.s $f6, $f4, $f10 -/* 0B0560 7F07BA30 E4660000 */ swc1 $f6, ($v1) -/* 0B0564 7F07BA34 C4245054 */ lwc1 $f4, %lo(D_80055054)($at) -/* 0B0568 7F07BA38 C4480000 */ lwc1 $f8, ($v0) -/* 0B056C 7F07BA3C 8D2F0000 */ lw $t7, ($t1) -/* 0B0570 7F07BA40 46044282 */ mul.s $f10, $f8, $f4 -/* 0B0574 7F07BA44 C5E604B8 */ lwc1 $f6, 0x4b8($t7) -/* 0B0578 7F07BA48 460A3200 */ add.s $f8, $f6, $f10 -/* 0B057C 7F07BA4C 0FC15FA8 */ jal cosf -/* 0B0580 7F07BA50 E4680004 */ swc1 $f8, 4($v1) -/* 0B0584 7F07BA54 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079E10) -/* 0B0588 7F07BA58 24429E10 */ addiu $v0, %lo(flt_CODE_bss_80079E10) # addiu $v0, $v0, -0x61f0 -/* 0B058C 7F07BA5C C4440000 */ lwc1 $f4, ($v0) -/* 0B0590 7F07BA60 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B0594 7F07BA64 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B0598 7F07BA68 46040182 */ mul.s $f6, $f0, $f4 -/* 0B059C 7F07BA6C 8D390000 */ lw $t9, ($t1) -/* 0B05A0 7F07BA70 8FAC0048 */ lw $t4, 0x48($sp) -/* 0B05A4 7F07BA74 8FA30058 */ lw $v1, 0x58($sp) -/* 0B05A8 7F07BA78 C72A04BC */ lwc1 $f10, 0x4bc($t9) -/* 0B05AC 7F07BA7C 8FA4004C */ lw $a0, 0x4c($sp) -/* 0B05B0 7F07BA80 3C018005 */ lui $at, %hi(D_80055058) -/* 0B05B4 7F07BA84 460A3200 */ add.s $f8, $f6, $f10 -/* 0B05B8 7F07BA88 240B0001 */ li $t3, 1 -/* 0B05BC 7F07BA8C E5880008 */ swc1 $f8, 8($t4) -/* 0B05C0 7F07BA90 8D2D0000 */ lw $t5, ($t1) -/* 0B05C4 7F07BA94 C5A404B4 */ lwc1 $f4, 0x4b4($t5) -/* 0B05C8 7F07BA98 E4840000 */ swc1 $f4, ($a0) -/* 0B05CC 7F07BA9C 8D380000 */ lw $t8, ($t1) -/* 0B05D0 7F07BAA0 C70604B8 */ lwc1 $f6, 0x4b8($t8) -/* 0B05D4 7F07BAA4 E4860004 */ swc1 $f6, 4($a0) -/* 0B05D8 7F07BAA8 8D2E0000 */ lw $t6, ($t1) -/* 0B05DC 7F07BAAC C5CA04BC */ lwc1 $f10, 0x4bc($t6) -/* 0B05E0 7F07BAB0 E48A0008 */ swc1 $f10, 8($a0) -/* 0B05E4 7F07BAB4 8D2F0000 */ lw $t7, ($t1) -/* 0B05E8 7F07BAB8 8FAD0054 */ lw $t5, 0x54($sp) -/* 0B05EC 7F07BABC 8DF900A8 */ lw $t9, 0xa8($t7) -/* 0B05F0 7F07BAC0 8F2C0014 */ lw $t4, 0x14($t9) -/* 0B05F4 7F07BAC4 ADAC0000 */ sw $t4, ($t5) -/* 0B05F8 7F07BAC8 8D380000 */ lw $t8, ($t1) -/* 0B05FC 7F07BACC C70804B4 */ lwc1 $f8, 0x4b4($t8) -/* 0B0600 7F07BAD0 E4680000 */ swc1 $f8, ($v1) -/* 0B0604 7F07BAD4 C4440000 */ lwc1 $f4, ($v0) -/* 0B0608 7F07BAD8 C4265058 */ lwc1 $f6, %lo(D_80055058)($at) -/* 0B060C 7F07BADC 8D2E0000 */ lw $t6, ($t1) -/* 0B0610 7F07BAE0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0B0614 7F07BAE4 46062282 */ mul.s $f10, $f4, $f6 -/* 0B0618 7F07BAE8 C5C804B8 */ lwc1 $f8, 0x4b8($t6) -/* 0B061C 7F07BAEC 460A4100 */ add.s $f4, $f8, $f10 -/* 0B0620 7F07BAF0 44815000 */ mtc1 $at, $f10 -/* 0B0624 7F07BAF4 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B0628 7F07BAF8 E4640004 */ swc1 $f4, 4($v1) -/* 0B062C 7F07BAFC 8D2F0000 */ lw $t7, ($t1) -/* 0B0630 7F07BB00 C5E604BC */ lwc1 $f6, 0x4bc($t7) -/* 0B0634 7F07BB04 E4660008 */ swc1 $f6, 8($v1) -/* 0B0638 7F07BB08 C4480000 */ lwc1 $f8, ($v0) -/* 0B063C 7F07BB0C 460A403C */ c.lt.s $f8, $f10 -/* 0B0640 7F07BB10 00000000 */ nop -/* 0B0644 7F07BB14 45020287 */ bc1fl .L7F07C534 -/* 0B0648 7F07BB18 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B064C 7F07BB1C 10000284 */ b .L7F07C530 -/* 0B0650 7F07BB20 AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B0654 7F07BB24 24010003 */ li $at, 3 -.L7F07BB28: -/* 0B0658 7F07BB28 144100CB */ bne $v0, $at, .L7F07BE58 -/* 0B065C 7F07BB2C 24030005 */ li $v1, 5 -/* 0B0660 7F07BB30 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B0664 7F07BB34 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B0668 7F07BB38 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B066C 7F07BB3C C4328378 */ lwc1 $f18, %lo(global_timer_delta)($at) -/* 0B0670 7F07BB40 C5440000 */ lwc1 $f4, ($t2) -/* 0B0674 7F07BB44 3C088003 */ lui $t0, %hi(D_800364A8) -/* 0B0678 7F07BB48 250864A8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64a8 -/* 0B067C 7F07BB4C 46122180 */ add.s $f6, $f4, $f18 -/* 0B0680 7F07BB50 8D030000 */ lw $v1, ($t0) -/* 0B0684 7F07BB54 3C048003 */ lui $a0, %hi(D_800364AC) -/* 0B0688 7F07BB58 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B068C 7F07BB5C E5460000 */ swc1 $f6, ($t2) -/* 0B0690 7F07BB60 8C8464AC */ lw $a0, %lo(D_800364AC)($a0) -/* 0B0694 7F07BB64 0003C940 */ sll $t9, $v1, 5 -/* 0B0698 7F07BB68 C5420000 */ lwc1 $f2, ($t2) -/* 0B069C 7F07BB6C 00991021 */ addu $v0, $a0, $t9 -/* 0B06A0 7F07BB70 C4400018 */ lwc1 $f0, 0x18($v0) -/* 0B06A4 7F07BB74 4602003E */ c.le.s $f0, $f2 -/* 0B06A8 7F07BB78 00000000 */ nop -/* 0B06AC 7F07BB7C 45020019 */ bc1fl .L7F07BBE4 -/* 0B06B0 7F07BB80 24650001 */ addiu $a1, $v1, 1 -/* 0B06B4 7F07BB84 8C4C0064 */ lw $t4, 0x64($v0) -.L7F07BB88: -/* 0B06B8 7F07BB88 318D0001 */ andi $t5, $t4, 1 -/* 0B06BC 7F07BB8C 55A00007 */ bnezl $t5, .L7F07BBAC -/* 0B06C0 7F07BB90 E5400000 */ swc1 $f0, ($t2) -/* 0B06C4 7F07BB94 46001201 */ sub.s $f8, $f2, $f0 -/* 0B06C8 7F07BB98 24780001 */ addiu $t8, $v1, 1 -/* 0B06CC 7F07BB9C AD180000 */ sw $t8, ($t0) -/* 0B06D0 7F07BBA0 10000006 */ b .L7F07BBBC -/* 0B06D4 7F07BBA4 E5480000 */ swc1 $f8, ($t2) -/* 0B06D8 7F07BBA8 E5400000 */ swc1 $f0, ($t2) -.L7F07BBAC: -/* 0B06DC 7F07BBAC AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B06E0 7F07BBB0 C4400018 */ lwc1 $f0, 0x18($v0) -/* 0B06E4 7F07BBB4 1000000A */ b .L7F07BBE0 -/* 0B06E8 7F07BBB8 C5420000 */ lwc1 $f2, ($t2) -.L7F07BBBC: -/* 0B06EC 7F07BBBC 8D030000 */ lw $v1, ($t0) -/* 0B06F0 7F07BBC0 C5420000 */ lwc1 $f2, ($t2) -/* 0B06F4 7F07BBC4 00037140 */ sll $t6, $v1, 5 -/* 0B06F8 7F07BBC8 008E1021 */ addu $v0, $a0, $t6 -/* 0B06FC 7F07BBCC C4400018 */ lwc1 $f0, 0x18($v0) -/* 0B0700 7F07BBD0 4602003E */ c.le.s $f0, $f2 -/* 0B0704 7F07BBD4 00000000 */ nop -/* 0B0708 7F07BBD8 4503FFEB */ bc1tl .L7F07BB88 -/* 0B070C 7F07BBDC 8C4C0064 */ lw $t4, 0x64($v0) -.L7F07BBE0: -/* 0B0710 7F07BBE0 24650001 */ addiu $a1, $v1, 1 -.L7F07BBE4: -/* 0B0714 7F07BBE4 00057940 */ sll $t7, $a1, 5 -/* 0B0718 7F07BBE8 008F1021 */ addu $v0, $a0, $t7 -/* 0B071C 7F07BBEC 8C590044 */ lw $t9, 0x44($v0) -/* 0B0720 7F07BBF0 46020281 */ sub.s $f10, $f0, $f2 -/* 0B0724 7F07BBF4 44807000 */ mtc1 $zero, $f14 -/* 0B0728 7F07BBF8 332C0001 */ andi $t4, $t9, 1 -/* 0B072C 7F07BBFC 15800007 */ bnez $t4, .L7F07BC1C -/* 0B0730 7F07BC00 460A7400 */ add.s $f16, $f14, $f10 -.L7F07BC04: -/* 0B0734 7F07BC04 8C4D0064 */ lw $t5, 0x64($v0) -/* 0B0738 7F07BC08 C4440018 */ lwc1 $f4, 0x18($v0) -/* 0B073C 7F07BC0C 24420020 */ addiu $v0, $v0, 0x20 -/* 0B0740 7F07BC10 31B80001 */ andi $t8, $t5, 1 -/* 0B0744 7F07BC14 1300FFFB */ beqz $t8, .L7F07BC04 -/* 0B0748 7F07BC18 46048400 */ add.s $f16, $f16, $f4 -.L7F07BC1C: -/* 0B074C 7F07BC1C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B0750 7F07BC20 44816000 */ mtc1 $at, $f12 -/* 0B0754 7F07BC24 00000000 */ nop -/* 0B0758 7F07BC28 460C803C */ c.lt.s $f16, $f12 -/* 0B075C 7F07BC2C 00000000 */ nop -/* 0B0760 7F07BC30 4500000D */ bc1f .L7F07BC68 -/* 0B0764 7F07BC34 00000000 */ nop -/* 0B0768 7F07BC38 46128180 */ add.s $f6, $f16, $f18 -/* 0B076C 7F07BC3C 4606603E */ c.le.s $f12, $f6 -/* 0B0770 7F07BC40 00000000 */ nop -/* 0B0774 7F07BC44 45000008 */ bc1f .L7F07BC68 -/* 0B0778 7F07BC48 00000000 */ nop -/* 0B077C 7F07BC4C 0FC20284 */ jal set_curplayer_fade -/* 0B0780 7F07BC50 E7B00030 */ swc1 $f16, 0x30($sp) -/* 0B0784 7F07BC54 3C088003 */ lui $t0, %hi(D_800364A8) -/* 0B0788 7F07BC58 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B078C 7F07BC5C 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B0790 7F07BC60 250864A8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64a8 -/* 0B0794 7F07BC64 C7B00030 */ lwc1 $f16, 0x30($sp) -.L7F07BC68: -/* 0B0798 7F07BC68 3C0E8003 */ lui $t6, %hi(D_8003649C) -/* 0B079C 7F07BC6C 8DCE649C */ lw $t6, %lo(D_8003649C)($t6) -/* 0B07A0 7F07BC70 51C0000D */ beql $t6, $zero, .L7F07BCA8 -/* 0B07A4 7F07BC74 3C014270 */ lui $at, 0x4270 -/* 0B07A8 7F07BC78 0FC20223 */ jal check_if_fade_to_black_complete -/* 0B07AC 7F07BC7C E7B00030 */ swc1 $f16, 0x30($sp) -/* 0B07B0 7F07BC80 3C088003 */ lui $t0, %hi(D_800364A8) -/* 0B07B4 7F07BC84 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B07B8 7F07BC88 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B07BC 7F07BC8C 250864A8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64a8 -/* 0B07C0 7F07BC90 240B0001 */ li $t3, 1 -/* 0B07C4 7F07BC94 10400003 */ beqz $v0, .L7F07BCA4 -/* 0B07C8 7F07BC98 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 0B07CC 7F07BC9C 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B07D0 7F07BCA0 AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -.L7F07BCA4: -/* 0B07D4 7F07BCA4 3C014270 */ li $at, 0x42700000 # 60.000000 -.L7F07BCA8: -/* 0B07D8 7F07BCA8 44814000 */ mtc1 $at, $f8 -/* 0B07DC 7F07BCAC 3C0F8003 */ lui $t7, %hi(D_8003649C) -/* 0B07E0 7F07BCB0 4610403C */ c.lt.s $f8, $f16 -/* 0B07E4 7F07BCB4 00000000 */ nop -/* 0B07E8 7F07BCB8 45020036 */ bc1fl .L7F07BD94 -/* 0B07EC 7F07BCBC 8D040000 */ lw $a0, ($t0) -/* 0B07F0 7F07BCC0 8DEF649C */ lw $t7, %lo(D_8003649C)($t7) -/* 0B07F4 7F07BCC4 55E00033 */ bnezl $t7, .L7F07BD94 -/* 0B07F8 7F07BCC8 8D040000 */ lw $a0, ($t0) -/* 0B07FC 7F07BCCC 0FC2FF01 */ jal get_controls_locked_flag -/* 0B0800 7F07BCD0 00000000 */ nop -/* 0B0804 7F07BCD4 3C088003 */ lui $t0, %hi(D_800364A8) -/* 0B0808 7F07BCD8 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B080C 7F07BCDC 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B0810 7F07BCE0 250864A8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64a8 -/* 0B0814 7F07BCE4 1440002A */ bnez $v0, .L7F07BD90 -/* 0B0818 7F07BCE8 240B0001 */ li $t3, 1 -/* 0B081C 7F07BCEC 97AC0046 */ lhu $t4, 0x46($sp) -/* 0B0820 7F07BCF0 97B90042 */ lhu $t9, 0x42($sp) -/* 0B0824 7F07BCF4 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B0828 7F07BCF8 01806827 */ not $t5, $t4 -/* 0B082C 7F07BCFC 032DC024 */ and $t8, $t9, $t5 -/* 0B0830 7F07BD00 330EF030 */ andi $t6, $t8, 0xf030 -/* 0B0834 7F07BD04 11C00022 */ beqz $t6, .L7F07BD90 -/* 0B0838 7F07BD08 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B083C 7F07BD0C 3C018003 */ lui $at, %hi(D_8003649C) -/* 0B0840 7F07BD10 AC2B649C */ sw $t3, %lo(D_8003649C)($at) -/* 0B0844 7F07BD14 8D2F0000 */ lw $t7, ($t1) -/* 0B0848 7F07BD18 00002025 */ move $a0, $zero -/* 0B084C 7F07BD1C 00002825 */ move $a1, $zero -/* 0B0850 7F07BD20 00003025 */ move $a2, $zero -/* 0B0854 7F07BD24 0FC201EC */ jal set_rgba_tint -/* 0B0858 7F07BD28 8DE703DC */ lw $a3, 0x3dc($t7) -/* 0B085C 7F07BD2C 0FC20223 */ jal check_if_fade_to_black_complete -/* 0B0860 7F07BD30 00000000 */ nop -/* 0B0864 7F07BD34 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B0868 7F07BD38 1040000C */ beqz $v0, .L7F07BD6C -/* 0B086C 7F07BD3C 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B0870 7F07BD40 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B0874 7F07BD44 44816000 */ mtc1 $at, $f12 -/* 0B0878 7F07BD48 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B087C 7F07BD4C 44817000 */ mtc1 $at, $f14 -/* 0B0880 7F07BD50 0FC20216 */ jal fade_to_over_seconds -/* 0B0884 7F07BD54 00000000 */ nop -/* 0B0888 7F07BD58 3C088003 */ lui $t0, %hi(D_800364A8) -/* 0B088C 7F07BD5C 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B0890 7F07BD60 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B0894 7F07BD64 1000000A */ b .L7F07BD90 -/* 0B0898 7F07BD68 250864A8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64a8 -.L7F07BD6C: -/* 0B089C 7F07BD6C 8D2C0000 */ lw $t4, ($t1) -/* 0B08A0 7F07BD70 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B08A4 7F07BD74 44817000 */ mtc1 $at, $f14 -/* 0B08A8 7F07BD78 0FC20216 */ jal fade_to_over_seconds -/* 0B08AC 7F07BD7C C58C03E0 */ lwc1 $f12, 0x3e0($t4) -/* 0B08B0 7F07BD80 3C088003 */ lui $t0, %hi(D_800364A8) -/* 0B08B4 7F07BD84 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B08B8 7F07BD88 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B08BC 7F07BD8C 250864A8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64a8 -.L7F07BD90: -/* 0B08C0 7F07BD90 8D040000 */ lw $a0, ($t0) -.L7F07BD94: -/* 0B08C4 7F07BD94 8D450000 */ lw $a1, ($t2) -/* 0B08C8 7F07BD98 8FA60048 */ lw $a2, 0x48($sp) -/* 0B08CC 7F07BD9C 0FC1ECA8 */ jal sub_GAME_7F07B2A0 -/* 0B08D0 7F07BDA0 8FA7004C */ lw $a3, 0x4c($sp) -/* 0B08D4 7F07BDA4 3C088003 */ lui $t0, %hi(D_800364A8) -/* 0B08D8 7F07BDA8 250864A8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64a8 -/* 0B08DC 7F07BDAC 8D0D0000 */ lw $t5, ($t0) -/* 0B08E0 7F07BDB0 3C198003 */ lui $t9, %hi(D_800364AC) -/* 0B08E4 7F07BDB4 8F3964AC */ lw $t9, %lo(D_800364AC)($t9) -/* 0B08E8 7F07BDB8 000DC140 */ sll $t8, $t5, 5 -/* 0B08EC 7F07BDBC 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B08F0 7F07BDC0 03387021 */ addu $t6, $t9, $t8 -/* 0B08F4 7F07BDC4 8DC4001C */ lw $a0, 0x1c($t6) -/* 0B08F8 7F07BDC8 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B08FC 7F07BDCC 3C0C8007 */ lui $t4, %hi(ptr_0xxxpresets) -/* 0B0900 7F07BDD0 04800012 */ bltz $a0, .L7F07BE1C -/* 0B0904 7F07BDD4 00047880 */ sll $t7, $a0, 2 -/* 0B0908 7F07BDD8 01E47823 */ subu $t7, $t7, $a0 -/* 0B090C 7F07BDDC 8D8C5D18 */ lw $t4, %lo(ptr_0xxxpresets)($t4) -/* 0B0910 7F07BDE0 000F7880 */ sll $t7, $t7, 2 -/* 0B0914 7F07BDE4 01E47823 */ subu $t7, $t7, $a0 -/* 0B0918 7F07BDE8 000F7880 */ sll $t7, $t7, 2 -/* 0B091C 7F07BDEC 01EC1021 */ addu $v0, $t7, $t4 -/* 0B0920 7F07BDF0 8C4D0028 */ lw $t5, 0x28($v0) -/* 0B0924 7F07BDF4 8FB90054 */ lw $t9, 0x54($sp) -/* 0B0928 7F07BDF8 8FA30058 */ lw $v1, 0x58($sp) -/* 0B092C 7F07BDFC AF2D0000 */ sw $t5, ($t9) -/* 0B0930 7F07BE00 C44A0000 */ lwc1 $f10, ($v0) -/* 0B0934 7F07BE04 E46A0000 */ swc1 $f10, ($v1) -/* 0B0938 7F07BE08 C4440004 */ lwc1 $f4, 4($v0) -/* 0B093C 7F07BE0C E4640004 */ swc1 $f4, 4($v1) -/* 0B0940 7F07BE10 C4460008 */ lwc1 $f6, 8($v0) -/* 0B0944 7F07BE14 100001C6 */ b .L7F07C530 -/* 0B0948 7F07BE18 E4660008 */ swc1 $f6, 8($v1) -.L7F07BE1C: -/* 0B094C 7F07BE1C 8D380000 */ lw $t8, ($t1) -/* 0B0950 7F07BE20 8FAF0054 */ lw $t7, 0x54($sp) -/* 0B0954 7F07BE24 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0958 7F07BE28 8F0E0488 */ lw $t6, 0x488($t8) -/* 0B095C 7F07BE2C ADEE0000 */ sw $t6, ($t7) -/* 0B0960 7F07BE30 8D2C0000 */ lw $t4, ($t1) -/* 0B0964 7F07BE34 C588048C */ lwc1 $f8, 0x48c($t4) -/* 0B0968 7F07BE38 E4680000 */ swc1 $f8, ($v1) -/* 0B096C 7F07BE3C 8D2D0000 */ lw $t5, ($t1) -/* 0B0970 7F07BE40 C5AA0490 */ lwc1 $f10, 0x490($t5) -/* 0B0974 7F07BE44 E46A0004 */ swc1 $f10, 4($v1) -/* 0B0978 7F07BE48 8D390000 */ lw $t9, ($t1) -/* 0B097C 7F07BE4C C7240494 */ lwc1 $f4, 0x494($t9) -/* 0B0980 7F07BE50 100001B7 */ b .L7F07C530 -/* 0B0984 7F07BE54 E4640008 */ swc1 $f4, 8($v1) -.L7F07BE58: -/* 0B0988 7F07BE58 10620003 */ beq $v1, $v0, .L7F07BE68 -/* 0B098C 7F07BE5C 24010006 */ li $at, 6 -/* 0B0990 7F07BE60 5441009C */ bnel $v0, $at, .L7F07C0D4 -/* 0B0994 7F07BE64 24010007 */ li $at, 7 -.L7F07BE68: -/* 0B0998 7F07BE68 1462003F */ bne $v1, $v0, .L7F07BF68 -/* 0B099C 7F07BE6C 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B09A0 7F07BE70 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B09A4 7F07BE74 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B09A8 7F07BE78 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B09AC 7F07BE7C C5460000 */ lwc1 $f6, ($t2) -/* 0B09B0 7F07BE80 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B09B4 7F07BE84 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B09B8 7F07BE88 46083280 */ add.s $f10, $f6, $f8 -/* 0B09BC 7F07BE8C 8D380000 */ lw $t8, ($t1) -/* 0B09C0 7F07BE90 3C014334 */ lui $at, 0x4334 -/* 0B09C4 7F07BE94 E54A0000 */ swc1 $f10, ($t2) -/* 0B09C8 7F07BE98 8F0400D4 */ lw $a0, 0xd4($t8) -/* 0B09CC 7F07BE9C 50800015 */ beql $a0, $zero, .L7F07BEF4 -/* 0B09D0 7F07BEA0 C5460000 */ lwc1 $f6, ($t2) -/* 0B09D4 7F07BEA4 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 0B09D8 7F07BEA8 00000000 */ nop -/* 0B09DC 7F07BEAC 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B09E0 7F07BEB0 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B09E4 7F07BEB4 8D2E0000 */ lw $t6, ($t1) -/* 0B09E8 7F07BEB8 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B09EC 7F07BEBC 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 0B09F0 7F07BEC0 8DC400D4 */ lw $a0, 0xd4($t6) -/* 0B09F4 7F07BEC4 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0B09F8 7F07BEC8 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B09FC 7F07BECC 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B0A00 7F07BED0 4604003E */ c.le.s $f0, $f4 -/* 0B0A04 7F07BED4 240B0001 */ li $t3, 1 -/* 0B0A08 7F07BED8 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B0A0C 7F07BEDC 45000002 */ bc1f .L7F07BEE8 -/* 0B0A10 7F07BEE0 00000000 */ nop -/* 0B0A14 7F07BEE4 AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -.L7F07BEE8: -/* 0B0A18 7F07BEE8 10000009 */ b .L7F07BF10 -/* 0B0A1C 7F07BEEC 24050002 */ li $a1, 2 -/* 0B0A20 7F07BEF0 C5460000 */ lwc1 $f6, ($t2) -.L7F07BEF4: -/* 0B0A24 7F07BEF4 44814000 */ mtc1 $at, $f8 -/* 0B0A28 7F07BEF8 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B0A2C 7F07BEFC 4606403E */ c.le.s $f8, $f6 -/* 0B0A30 7F07BF00 00000000 */ nop -/* 0B0A34 7F07BF04 45020003 */ bc1fl .L7F07BF14 -/* 0B0A38 7F07BF08 97AC0046 */ lhu $t4, 0x46($sp) -/* 0B0A3C 7F07BF0C AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -.L7F07BF10: -/* 0B0A40 7F07BF10 97AC0046 */ lhu $t4, 0x46($sp) -.L7F07BF14: -/* 0B0A44 7F07BF14 97AF0042 */ lhu $t7, 0x42($sp) -/* 0B0A48 7F07BF18 01806827 */ not $t5, $t4 -/* 0B0A4C 7F07BF1C 01EDC824 */ and $t9, $t7, $t5 -/* 0B0A50 7F07BF20 3338F000 */ andi $t8, $t9, 0xf000 -/* 0B0A54 7F07BF24 13000036 */ beqz $t8, .L7F07C000 -/* 0B0A58 7F07BF28 00000000 */ nop -/* 0B0A5C 7F07BF2C 8D220000 */ lw $v0, ($t1) -/* 0B0A60 7F07BF30 8C4E00D8 */ lw $t6, 0xd8($v0) -/* 0B0A64 7F07BF34 11C00032 */ beqz $t6, .L7F07C000 -/* 0B0A68 7F07BF38 00000000 */ nop -/* 0B0A6C 7F07BF3C 8C4C0424 */ lw $t4, 0x424($v0) -/* 0B0A70 7F07BF40 1180002F */ beqz $t4, .L7F07C000 -/* 0B0A74 7F07BF44 00000000 */ nop -/* 0B0A78 7F07BF48 8C4F0428 */ lw $t7, 0x428($v0) -/* 0B0A7C 7F07BF4C 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B0A80 7F07BF50 11E0002B */ beqz $t7, .L7F07C000 -/* 0B0A84 7F07BF54 00000000 */ nop -/* 0B0A88 7F07BF58 AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B0A8C 7F07BF5C 3C018003 */ lui $at, %hi(D_80036510) -/* 0B0A90 7F07BF60 10000027 */ b .L7F07C000 -/* 0B0A94 7F07BF64 AC256510 */ sw $a1, %lo(D_80036510)($at) -.L7F07BF68: -/* 0B0A98 7F07BF68 24010006 */ li $at, 6 -/* 0B0A9C 7F07BF6C 14410024 */ bne $v0, $at, .L7F07C000 -/* 0B0AA0 7F07BF70 3C0A8003 */ lui $t2, %hi(D_800364A4) -/* 0B0AA4 7F07BF74 254A64A4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64a4 -/* 0B0AA8 7F07BF78 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B0AAC 7F07BF7C C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B0AB0 7F07BF80 C54A0000 */ lwc1 $f10, ($t2) -/* 0B0AB4 7F07BF84 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B0AB8 7F07BF88 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B0ABC 7F07BF8C 46045180 */ add.s $f6, $f10, $f4 -/* 0B0AC0 7F07BF90 8D220000 */ lw $v0, ($t1) -/* 0B0AC4 7F07BF94 44807000 */ mtc1 $zero, $f14 -/* 0B0AC8 7F07BF98 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B0ACC 7F07BF9C E5460000 */ swc1 $f6, ($t2) -/* 0B0AD0 7F07BFA0 C44803E4 */ lwc1 $f8, 0x3e4($v0) -/* 0B0AD4 7F07BFA4 460E403C */ c.lt.s $f8, $f14 -/* 0B0AD8 7F07BFA8 00000000 */ nop -/* 0B0ADC 7F07BFAC 45020003 */ bc1fl .L7F07BFBC -/* 0B0AE0 7F07BFB0 97B90046 */ lhu $t9, 0x46($sp) -/* 0B0AE4 7F07BFB4 AC2B6498 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B0AE8 7F07BFB8 97B90046 */ lhu $t9, 0x46($sp) -.L7F07BFBC: -/* 0B0AEC 7F07BFBC 97AD0042 */ lhu $t5, 0x42($sp) -/* 0B0AF0 7F07BFC0 0320C027 */ not $t8, $t9 -/* 0B0AF4 7F07BFC4 01B87024 */ and $t6, $t5, $t8 -/* 0B0AF8 7F07BFC8 31CCF000 */ andi $t4, $t6, 0xf000 -/* 0B0AFC 7F07BFCC 1180000C */ beqz $t4, .L7F07C000 -/* 0B0B00 7F07BFD0 00000000 */ nop -/* 0B0B04 7F07BFD4 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0B0B08 7F07BFD8 11E00009 */ beqz $t7, .L7F07C000 -/* 0B0B0C 7F07BFDC 00000000 */ nop -/* 0B0B10 7F07BFE0 8C590424 */ lw $t9, 0x424($v0) -/* 0B0B14 7F07BFE4 13200006 */ beqz $t9, .L7F07C000 -/* 0B0B18 7F07BFE8 00000000 */ nop -/* 0B0B1C 7F07BFEC 8C4D0428 */ lw $t5, 0x428($v0) -/* 0B0B20 7F07BFF0 3C018003 */ lui $at, %hi(D_80036510) -/* 0B0B24 7F07BFF4 11A00002 */ beqz $t5, .L7F07C000 -/* 0B0B28 7F07BFF8 00000000 */ nop -/* 0B0B2C 7F07BFFC AC256510 */ sw $a1, %lo(D_80036510)($at) -.L7F07C000: -/* 0B0B30 7F07C000 3C038008 */ lui $v1, %hi(flt_CODE_bss_800799E8) -/* 0B0B34 7F07C004 246399E8 */ addiu $v1, %lo(flt_CODE_bss_800799E8) # addiu $v1, $v1, -0x6618 -/* 0B0B38 7F07C008 C46A0000 */ lwc1 $f10, ($v1) -/* 0B0B3C 7F07C00C 8FB80048 */ lw $t8, 0x48($sp) -/* 0B0B40 7F07C010 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B0B44 7F07C014 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B0B48 7F07C018 E70A0000 */ swc1 $f10, ($t8) -/* 0B0B4C 7F07C01C C4640004 */ lwc1 $f4, 4($v1) -/* 0B0B50 7F07C020 3C058008 */ lui $a1, %hi(dword_CODE_bss_800799F4) -/* 0B0B54 7F07C024 24A599F4 */ addiu $a1, %lo(dword_CODE_bss_800799F4) # addiu $a1, $a1, -0x660c -/* 0B0B58 7F07C028 E7040004 */ swc1 $f4, 4($t8) -/* 0B0B5C 7F07C02C C4660008 */ lwc1 $f6, 8($v1) -/* 0B0B60 7F07C030 E7060008 */ swc1 $f6, 8($t8) -/* 0B0B64 7F07C034 8D220000 */ lw $v0, ($t1) -/* 0B0B68 7F07C038 8CA40000 */ lw $a0, ($a1) -/* 0B0B6C 7F07C03C 8C4E00A8 */ lw $t6, 0xa8($v0) -/* 0B0B70 7F07C040 548E000C */ bnel $a0, $t6, .L7F07C074 -/* 0B0B74 7F07C044 C4860008 */ lwc1 $f6, 8($a0) -/* 0B0B78 7F07C048 C44803C4 */ lwc1 $f8, 0x3c4($v0) -/* 0B0B7C 7F07C04C 8FAC004C */ lw $t4, 0x4c($sp) -/* 0B0B80 7F07C050 E5880000 */ swc1 $f8, ($t4) -/* 0B0B84 7F07C054 8D2F0000 */ lw $t7, ($t1) -/* 0B0B88 7F07C058 C5EA03C8 */ lwc1 $f10, 0x3c8($t7) -/* 0B0B8C 7F07C05C E58A0004 */ swc1 $f10, 4($t4) -/* 0B0B90 7F07C060 8D390000 */ lw $t9, ($t1) -/* 0B0B94 7F07C064 C72403CC */ lwc1 $f4, 0x3cc($t9) -/* 0B0B98 7F07C068 1000000A */ b .L7F07C094 -/* 0B0B9C 7F07C06C E5840008 */ swc1 $f4, 8($t4) -/* 0B0BA0 7F07C070 C4860008 */ lwc1 $f6, 8($a0) -.L7F07C074: -/* 0B0BA4 7F07C074 8FAD004C */ lw $t5, 0x4c($sp) -/* 0B0BA8 7F07C078 E5A60000 */ swc1 $f6, ($t5) -/* 0B0BAC 7F07C07C 8CB80000 */ lw $t8, ($a1) -/* 0B0BB0 7F07C080 C708000C */ lwc1 $f8, 0xc($t8) -/* 0B0BB4 7F07C084 E5A80004 */ swc1 $f8, 4($t5) -/* 0B0BB8 7F07C088 8CAE0000 */ lw $t6, ($a1) -/* 0B0BBC 7F07C08C C5CA0010 */ lwc1 $f10, 0x10($t6) -/* 0B0BC0 7F07C090 E5AA0008 */ swc1 $f10, 8($t5) -.L7F07C094: -/* 0B0BC4 7F07C094 8D2F0000 */ lw $t7, ($t1) -/* 0B0BC8 7F07C098 8FAC0054 */ lw $t4, 0x54($sp) -/* 0B0BCC 7F07C09C 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0BD0 7F07C0A0 8DF90488 */ lw $t9, 0x488($t7) -/* 0B0BD4 7F07C0A4 AD990000 */ sw $t9, ($t4) -/* 0B0BD8 7F07C0A8 8D380000 */ lw $t8, ($t1) -/* 0B0BDC 7F07C0AC C704048C */ lwc1 $f4, 0x48c($t8) -/* 0B0BE0 7F07C0B0 E4640000 */ swc1 $f4, ($v1) -/* 0B0BE4 7F07C0B4 8D2E0000 */ lw $t6, ($t1) -/* 0B0BE8 7F07C0B8 C5C60490 */ lwc1 $f6, 0x490($t6) -/* 0B0BEC 7F07C0BC E4660004 */ swc1 $f6, 4($v1) -/* 0B0BF0 7F07C0C0 8D2D0000 */ lw $t5, ($t1) -/* 0B0BF4 7F07C0C4 C5A80494 */ lwc1 $f8, 0x494($t5) -/* 0B0BF8 7F07C0C8 10000119 */ b .L7F07C530 -/* 0B0BFC 7F07C0CC E4680008 */ swc1 $f8, 8($v1) -/* 0B0C00 7F07C0D0 24010007 */ li $at, 7 -.L7F07C0D4: -/* 0B0C04 7F07C0D4 14410116 */ bne $v0, $at, .L7F07C530 -/* 0B0C08 7F07C0D8 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799F8) -/* 0B0C0C 7F07C0DC 244299F8 */ addiu $v0, %lo(dword_CODE_bss_800799F8) # addiu $v0, $v0, -0x6608 -/* 0B0C10 7F07C0E0 8C440000 */ lw $a0, ($v0) -/* 0B0C14 7F07C0E4 8FAF0048 */ lw $t7, 0x48($sp) -/* 0B0C18 7F07C0E8 10800024 */ beqz $a0, .L7F07C17C -/* 0B0C1C 7F07C0EC 00000000 */ nop -/* 0B0C20 7F07C0F0 C48A0000 */ lwc1 $f10, ($a0) -/* 0B0C24 7F07C0F4 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0C28 7F07C0F8 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B0C2C 7F07C0FC E5EA0000 */ swc1 $f10, ($t7) -/* 0B0C30 7F07C100 8C590000 */ lw $t9, ($v0) -/* 0B0C34 7F07C104 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B0C38 7F07C108 C7240004 */ lwc1 $f4, 4($t9) -/* 0B0C3C 7F07C10C E5E40004 */ swc1 $f4, 4($t7) -/* 0B0C40 7F07C110 8C4C0000 */ lw $t4, ($v0) -/* 0B0C44 7F07C114 C5860008 */ lwc1 $f6, 8($t4) -/* 0B0C48 7F07C118 E5E60008 */ swc1 $f6, 8($t7) -/* 0B0C4C 7F07C11C 8D380000 */ lw $t8, ($t1) -/* 0B0C50 7F07C120 8FAE004C */ lw $t6, 0x4c($sp) -/* 0B0C54 7F07C124 C70803C4 */ lwc1 $f8, 0x3c4($t8) -/* 0B0C58 7F07C128 E5C80000 */ swc1 $f8, ($t6) -/* 0B0C5C 7F07C12C 8D2D0000 */ lw $t5, ($t1) -/* 0B0C60 7F07C130 C5AA03C8 */ lwc1 $f10, 0x3c8($t5) -/* 0B0C64 7F07C134 E5CA0004 */ swc1 $f10, 4($t6) -/* 0B0C68 7F07C138 8D390000 */ lw $t9, ($t1) -/* 0B0C6C 7F07C13C C72403CC */ lwc1 $f4, 0x3cc($t9) -/* 0B0C70 7F07C140 E5C40008 */ swc1 $f4, 8($t6) -/* 0B0C74 7F07C144 8C4C0000 */ lw $t4, ($v0) -/* 0B0C78 7F07C148 8FB80054 */ lw $t8, 0x54($sp) -/* 0B0C7C 7F07C14C 8D8F0028 */ lw $t7, 0x28($t4) -/* 0B0C80 7F07C150 AF0F0000 */ sw $t7, ($t8) -/* 0B0C84 7F07C154 8C4D0000 */ lw $t5, ($v0) -/* 0B0C88 7F07C158 C5A60000 */ lwc1 $f6, ($t5) -/* 0B0C8C 7F07C15C E4660000 */ swc1 $f6, ($v1) -/* 0B0C90 7F07C160 8C590000 */ lw $t9, ($v0) -/* 0B0C94 7F07C164 C7280004 */ lwc1 $f8, 4($t9) -/* 0B0C98 7F07C168 E4680004 */ swc1 $f8, 4($v1) -/* 0B0C9C 7F07C16C 8C4E0000 */ lw $t6, ($v0) -/* 0B0CA0 7F07C170 C5CA0008 */ lwc1 $f10, 8($t6) -/* 0B0CA4 7F07C174 100000EE */ b .L7F07C530 -/* 0B0CA8 7F07C178 E46A0008 */ swc1 $f10, 8($v1) -.L7F07C17C: -/* 0B0CAC 7F07C17C 3C058008 */ lui $a1, %hi(dword_CODE_bss_800799FC) -/* 0B0CB0 7F07C180 24A599FC */ addiu $a1, %lo(dword_CODE_bss_800799FC) # addiu $a1, $a1, -0x6604 -/* 0B0CB4 7F07C184 8CA40000 */ lw $a0, ($a1) -/* 0B0CB8 7F07C188 10800063 */ beqz $a0, .L7F07C318 -/* 0B0CBC 7F07C18C 00000000 */ nop -/* 0B0CC0 7F07C190 8C830018 */ lw $v1, 0x18($a0) -/* 0B0CC4 7F07C194 3C0D8007 */ lui $t5, %hi(ptr_2xxxpresets) -/* 0B0CC8 7F07C198 8FB90048 */ lw $t9, 0x48($sp) -/* 0B0CCC 7F07C19C 28612710 */ slti $at, $v1, 0x2710 -/* 0B0CD0 7F07C1A0 1020000A */ beqz $at, .L7F07C1CC -/* 0B0CD4 7F07C1A4 0003C100 */ sll $t8, $v1, 4 -/* 0B0CD8 7F07C1A8 00036080 */ sll $t4, $v1, 2 -/* 0B0CDC 7F07C1AC 01836023 */ subu $t4, $t4, $v1 -/* 0B0CE0 7F07C1B0 000C6080 */ sll $t4, $t4, 2 -/* 0B0CE4 7F07C1B4 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) -/* 0B0CE8 7F07C1B8 8DEF5D18 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 0B0CEC 7F07C1BC 01836023 */ subu $t4, $t4, $v1 -/* 0B0CF0 7F07C1C0 000C6080 */ sll $t4, $t4, 2 -/* 0B0CF4 7F07C1C4 10000008 */ b .L7F07C1E8 -/* 0B0CF8 7F07C1C8 018F1021 */ addu $v0, $t4, $t7 -.L7F07C1CC: -/* 0B0CFC 7F07C1CC 8DAD5D1C */ lw $t5, %lo(ptr_2xxxpresets)($t5) -/* 0B0D00 7F07C1D0 0303C021 */ addu $t8, $t8, $v1 -/* 0B0D04 7F07C1D4 0018C080 */ sll $t8, $t8, 2 -/* 0B0D08 7F07C1D8 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 0B0D0C 7F07C1DC 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 0B0D10 7F07C1E0 030D1021 */ addu $v0, $t8, $t5 -/* 0B0D14 7F07C1E4 00411021 */ addu $v0, $v0, $at -.L7F07C1E8: -/* 0B0D18 7F07C1E8 C4840004 */ lwc1 $f4, 4($a0) -/* 0B0D1C 7F07C1EC 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0D20 7F07C1F0 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_80079A18) -/* 0B0D24 7F07C1F4 E7240000 */ swc1 $f4, ($t9) -/* 0B0D28 7F07C1F8 8CAE0000 */ lw $t6, ($a1) -/* 0B0D2C 7F07C1FC 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B0D30 7F07C200 2529A0B0 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5f50 -/* 0B0D34 7F07C204 C5C60008 */ lwc1 $f6, 8($t6) -/* 0B0D38 7F07C208 E7260004 */ swc1 $f6, 4($t9) -/* 0B0D3C 7F07C20C 8CAC0000 */ lw $t4, ($a1) -/* 0B0D40 7F07C210 C588000C */ lwc1 $f8, 0xc($t4) -/* 0B0D44 7F07C214 E7280008 */ swc1 $f8, 8($t9) -/* 0B0D48 7F07C218 8FB80054 */ lw $t8, 0x54($sp) -/* 0B0D4C 7F07C21C 8C4F0028 */ lw $t7, 0x28($v0) -/* 0B0D50 7F07C220 AF0F0000 */ sw $t7, ($t8) -/* 0B0D54 7F07C224 C44A0000 */ lwc1 $f10, ($v0) -/* 0B0D58 7F07C228 E46A0000 */ swc1 $f10, ($v1) -/* 0B0D5C 7F07C22C C4440004 */ lwc1 $f4, 4($v0) -/* 0B0D60 7F07C230 E4640004 */ swc1 $f4, 4($v1) -/* 0B0D64 7F07C234 C4460008 */ lwc1 $f6, 8($v0) -/* 0B0D68 7F07C238 E4660008 */ swc1 $f6, 8($v1) -/* 0B0D6C 7F07C23C 8DAD9A18 */ lw $t5, %lo(dword_CODE_bss_80079A18)($t5) -/* 0B0D70 7F07C240 556D000D */ bnel $t3, $t5, .L7F07C278 -/* 0B0D74 7F07C244 8CB80000 */ lw $t8, ($a1) -/* 0B0D78 7F07C248 8D2E0000 */ lw $t6, ($t1) -/* 0B0D7C 7F07C24C 8FAC004C */ lw $t4, 0x4c($sp) -/* 0B0D80 7F07C250 C5C803C4 */ lwc1 $f8, 0x3c4($t6) -/* 0B0D84 7F07C254 E5880000 */ swc1 $f8, ($t4) -/* 0B0D88 7F07C258 8D390000 */ lw $t9, ($t1) -/* 0B0D8C 7F07C25C C72A03C8 */ lwc1 $f10, 0x3c8($t9) -/* 0B0D90 7F07C260 E58A0004 */ swc1 $f10, 4($t4) -/* 0B0D94 7F07C264 8D2F0000 */ lw $t7, ($t1) -/* 0B0D98 7F07C268 C5E403CC */ lwc1 $f4, 0x3cc($t7) -/* 0B0D9C 7F07C26C 100000B0 */ b .L7F07C530 -/* 0B0DA0 7F07C270 E5840008 */ swc1 $f4, 8($t4) -/* 0B0DA4 7F07C274 8CB80000 */ lw $t8, ($a1) -.L7F07C278: -/* 0B0DA8 7F07C278 0FC15FA8 */ jal cosf -/* 0B0DAC 7F07C27C C70C0014 */ lwc1 $f12, 0x14($t8) -/* 0B0DB0 7F07C280 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_800799FC) -/* 0B0DB4 7F07C284 8DAD99FC */ lw $t5, %lo(dword_CODE_bss_800799FC)($t5) -/* 0B0DB8 7F07C288 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B0DBC 7F07C28C 0FC15FAB */ jal sinf -/* 0B0DC0 7F07C290 C5AC0010 */ lwc1 $f12, 0x10($t5) -/* 0B0DC4 7F07C294 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 0B0DC8 7F07C298 8FAE0048 */ lw $t6, 0x48($sp) -/* 0B0DCC 7F07C29C 8FB9004C */ lw $t9, 0x4c($sp) -/* 0B0DD0 7F07C2A0 46060202 */ mul.s $f8, $f0, $f6 -/* 0B0DD4 7F07C2A4 C5CA0000 */ lwc1 $f10, ($t6) -/* 0B0DD8 7F07C2A8 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_800799FC) -/* 0B0DDC 7F07C2AC 460A4100 */ add.s $f4, $f8, $f10 -/* 0B0DE0 7F07C2B0 E7240000 */ swc1 $f4, ($t9) -/* 0B0DE4 7F07C2B4 8DEF99FC */ lw $t7, %lo(dword_CODE_bss_800799FC)($t7) -/* 0B0DE8 7F07C2B8 0FC15FAB */ jal sinf -/* 0B0DEC 7F07C2BC C5EC0014 */ lwc1 $f12, 0x14($t7) -/* 0B0DF0 7F07C2C0 8FAC0048 */ lw $t4, 0x48($sp) -/* 0B0DF4 7F07C2C4 8FB8004C */ lw $t8, 0x4c($sp) -/* 0B0DF8 7F07C2C8 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_800799FC) -/* 0B0DFC 7F07C2CC C5860004 */ lwc1 $f6, 4($t4) -/* 0B0E00 7F07C2D0 46060200 */ add.s $f8, $f0, $f6 -/* 0B0E04 7F07C2D4 E7080004 */ swc1 $f8, 4($t8) -/* 0B0E08 7F07C2D8 8DAD99FC */ lw $t5, %lo(dword_CODE_bss_800799FC)($t5) -/* 0B0E0C 7F07C2DC 0FC15FA8 */ jal cosf -/* 0B0E10 7F07C2E0 C5AC0014 */ lwc1 $f12, 0x14($t5) -/* 0B0E14 7F07C2E4 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_800799FC) -/* 0B0E18 7F07C2E8 8DCE99FC */ lw $t6, %lo(dword_CODE_bss_800799FC)($t6) -/* 0B0E1C 7F07C2EC E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B0E20 7F07C2F0 0FC15FA8 */ jal cosf -/* 0B0E24 7F07C2F4 C5CC0010 */ lwc1 $f12, 0x10($t6) -/* 0B0E28 7F07C2F8 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0B0E2C 7F07C2FC 8FB90048 */ lw $t9, 0x48($sp) -/* 0B0E30 7F07C300 8FAF004C */ lw $t7, 0x4c($sp) -/* 0B0E34 7F07C304 46040182 */ mul.s $f6, $f0, $f4 -/* 0B0E38 7F07C308 C72A0008 */ lwc1 $f10, 8($t9) -/* 0B0E3C 7F07C30C 46065201 */ sub.s $f8, $f10, $f6 -/* 0B0E40 7F07C310 10000087 */ b .L7F07C530 -/* 0B0E44 7F07C314 E5E80008 */ swc1 $f8, 8($t7) -.L7F07C318: -/* 0B0E48 7F07C318 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079A14) -/* 0B0E4C 7F07C31C 8C429A14 */ lw $v0, %lo(dword_CODE_bss_80079A14)($v0) -/* 0B0E50 7F07C320 3C0E8007 */ lui $t6, %hi(ptr_2xxxpresets) -/* 0B0E54 7F07C324 8FAF0054 */ lw $t7, 0x54($sp) -/* 0B0E58 7F07C328 28412710 */ slti $at, $v0, 0x2710 -/* 0B0E5C 7F07C32C 1020000A */ beqz $at, .L7F07C358 -/* 0B0E60 7F07C330 00026900 */ sll $t5, $v0, 4 -/* 0B0E64 7F07C334 00026080 */ sll $t4, $v0, 2 -/* 0B0E68 7F07C338 01826023 */ subu $t4, $t4, $v0 -/* 0B0E6C 7F07C33C 000C6080 */ sll $t4, $t4, 2 -/* 0B0E70 7F07C340 3C188007 */ lui $t8, %hi(ptr_0xxxpresets) -/* 0B0E74 7F07C344 8F185D18 */ lw $t8, %lo(ptr_0xxxpresets)($t8) -/* 0B0E78 7F07C348 01826023 */ subu $t4, $t4, $v0 -/* 0B0E7C 7F07C34C 000C6080 */ sll $t4, $t4, 2 -/* 0B0E80 7F07C350 10000008 */ b .L7F07C374 -/* 0B0E84 7F07C354 01982021 */ addu $a0, $t4, $t8 -.L7F07C358: -/* 0B0E88 7F07C358 8DCE5D1C */ lw $t6, %lo(ptr_2xxxpresets)($t6) -/* 0B0E8C 7F07C35C 01A26821 */ addu $t5, $t5, $v0 -/* 0B0E90 7F07C360 000D6880 */ sll $t5, $t5, 2 -/* 0B0E94 7F07C364 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 0B0E98 7F07C368 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 0B0E9C 7F07C36C 01AE2021 */ addu $a0, $t5, $t6 -/* 0B0EA0 7F07C370 00812021 */ addu $a0, $a0, $at -.L7F07C374: -/* 0B0EA4 7F07C374 8C990028 */ lw $t9, 0x28($a0) -/* 0B0EA8 7F07C378 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0EAC 7F07C37C 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) -/* 0B0EB0 7F07C380 ADF90000 */ sw $t9, ($t7) -/* 0B0EB4 7F07C384 C4840000 */ lwc1 $f4, ($a0) -/* 0B0EB8 7F07C388 24429A00 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x6600 -/* 0B0EBC 7F07C38C E4640000 */ swc1 $f4, ($v1) -/* 0B0EC0 7F07C390 C48A0004 */ lwc1 $f10, 4($a0) -/* 0B0EC4 7F07C394 E46A0004 */ swc1 $f10, 4($v1) -/* 0B0EC8 7F07C398 C4860008 */ lwc1 $f6, 8($a0) -/* 0B0ECC 7F07C39C E4660008 */ swc1 $f6, 8($v1) -/* 0B0ED0 7F07C3A0 AFA40020 */ sw $a0, 0x20($sp) -/* 0B0ED4 7F07C3A4 0FC15FA8 */ jal cosf -/* 0B0ED8 7F07C3A8 C44C0000 */ lwc1 $f12, ($v0) -/* 0B0EDC 7F07C3AC 8FA40020 */ lw $a0, 0x20($sp) -/* 0B0EE0 7F07C3B0 8FAC004C */ lw $t4, 0x4c($sp) -/* 0B0EE4 7F07C3B4 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A10) -/* 0B0EE8 7F07C3B8 C4880000 */ lwc1 $f8, ($a0) -/* 0B0EEC 7F07C3BC 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) -/* 0B0EF0 7F07C3C0 24429A00 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x6600 -/* 0B0EF4 7F07C3C4 E5880000 */ swc1 $f8, ($t4) -/* 0B0EF8 7F07C3C8 C42A9A10 */ lwc1 $f10, %lo(flt_CODE_bss_80079A10)($at) -/* 0B0EFC 7F07C3CC C4840004 */ lwc1 $f4, 4($a0) -/* 0B0F00 7F07C3D0 460A2180 */ add.s $f6, $f4, $f10 -/* 0B0F04 7F07C3D4 E5860004 */ swc1 $f6, 4($t4) -/* 0B0F08 7F07C3D8 0FC15FAB */ jal sinf -/* 0B0F0C 7F07C3DC C44C0000 */ lwc1 $f12, ($v0) -/* 0B0F10 7F07C3E0 8FA40020 */ lw $a0, 0x20($sp) -/* 0B0F14 7F07C3E4 8FB8004C */ lw $t8, 0x4c($sp) -/* 0B0F18 7F07C3E8 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) -/* 0B0F1C 7F07C3EC C4880008 */ lwc1 $f8, 8($a0) -/* 0B0F20 7F07C3F0 24429A00 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x6600 -/* 0B0F24 7F07C3F4 E7080008 */ swc1 $f8, 8($t8) -/* 0B0F28 7F07C3F8 0FC15FAB */ jal sinf -/* 0B0F2C 7F07C3FC C44C0000 */ lwc1 $f12, ($v0) -/* 0B0F30 7F07C400 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) -/* 0B0F34 7F07C404 24429A00 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x6600 -/* 0B0F38 7F07C408 C44C0000 */ lwc1 $f12, ($v0) -/* 0B0F3C 7F07C40C 0FC15FA8 */ jal cosf -/* 0B0F40 7F07C410 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B0F44 7F07C414 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A08) -/* 0B0F48 7F07C418 C42A9A08 */ lwc1 $f10, %lo(flt_CODE_bss_80079A08)($at) -/* 0B0F4C 7F07C41C C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0B0F50 7F07C420 8FA40020 */ lw $a0, 0x20($sp) -/* 0B0F54 7F07C424 8FAD0048 */ lw $t5, 0x48($sp) -/* 0B0F58 7F07C428 460A2182 */ mul.s $f6, $f4, $f10 -/* 0B0F5C 7F07C42C C4880000 */ lwc1 $f8, ($a0) -/* 0B0F60 7F07C430 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A10) -/* 0B0F64 7F07C434 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) -/* 0B0F68 7F07C438 24429A00 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x6600 -/* 0B0F6C 7F07C43C 46064100 */ add.s $f4, $f8, $f6 -/* 0B0F70 7F07C440 E5A40000 */ swc1 $f4, ($t5) -/* 0B0F74 7F07C444 C4289A10 */ lwc1 $f8, %lo(flt_CODE_bss_80079A10)($at) -/* 0B0F78 7F07C448 C48A0004 */ lwc1 $f10, 4($a0) -/* 0B0F7C 7F07C44C 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A0C) -/* 0B0F80 7F07C450 C4249A0C */ lwc1 $f4, %lo(flt_CODE_bss_80079A0C)($at) -/* 0B0F84 7F07C454 46085180 */ add.s $f6, $f10, $f8 -/* 0B0F88 7F07C458 46043280 */ add.s $f10, $f6, $f4 -/* 0B0F8C 7F07C45C E5AA0004 */ swc1 $f10, 4($t5) -/* 0B0F90 7F07C460 0FC15FA8 */ jal cosf -/* 0B0F94 7F07C464 C44C0000 */ lwc1 $f12, ($v0) -/* 0B0F98 7F07C468 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) -/* 0B0F9C 7F07C46C 24429A00 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x6600 -/* 0B0FA0 7F07C470 C44C0000 */ lwc1 $f12, ($v0) -/* 0B0FA4 7F07C474 0FC15FAB */ jal sinf -/* 0B0FA8 7F07C478 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B0FAC 7F07C47C 3C018005 */ lui $at, %hi(D_8005505C) -/* 0B0FB0 7F07C480 C42C505C */ lwc1 $f12, %lo(D_8005505C)($at) -/* 0B0FB4 7F07C484 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A08) -/* 0B0FB8 7F07C488 C4269A08 */ lwc1 $f6, %lo(flt_CODE_bss_80079A08)($at) -/* 0B0FBC 7F07C48C C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 0B0FC0 7F07C490 8FA40020 */ lw $a0, 0x20($sp) -/* 0B0FC4 7F07C494 8FAE0048 */ lw $t6, 0x48($sp) -/* 0B0FC8 7F07C498 46064102 */ mul.s $f4, $f8, $f6 -/* 0B0FCC 7F07C49C C48A0008 */ lwc1 $f10, 8($a0) -/* 0B0FD0 7F07C4A0 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A04) -/* 0B0FD4 7F07C4A4 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) -/* 0B0FD8 7F07C4A8 24429A00 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x6600 -/* 0B0FDC 7F07C4AC 44807000 */ mtc1 $zero, $f14 -/* 0B0FE0 7F07C4B0 46045200 */ add.s $f8, $f10, $f4 -/* 0B0FE4 7F07C4B4 E5C80008 */ swc1 $f8, 8($t6) -/* 0B0FE8 7F07C4B8 C4269A04 */ lwc1 $f6, %lo(flt_CODE_bss_80079A04)($at) -/* 0B0FEC 7F07C4BC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B0FF0 7F07C4C0 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 0B0FF4 7F07C4C4 C4480000 */ lwc1 $f8, ($v0) -/* 0B0FF8 7F07C4C8 460A3102 */ mul.s $f4, $f6, $f10 -/* 0B0FFC 7F07C4CC 46044180 */ add.s $f6, $f8, $f4 -/* 0B1000 7F07C4D0 E4460000 */ swc1 $f6, ($v0) -/* 0B1004 7F07C4D4 C4420000 */ lwc1 $f2, ($v0) -/* 0B1008 7F07C4D8 4602603E */ c.le.s $f12, $f2 -/* 0B100C 7F07C4DC 00000000 */ nop -/* 0B1010 7F07C4E0 45020009 */ bc1fl .L7F07C508 -/* 0B1014 7F07C4E4 460E103C */ c.lt.s $f2, $f14 -/* 0B1018 7F07C4E8 460C1281 */ sub.s $f10, $f2, $f12 -.L7F07C4EC: -/* 0B101C 7F07C4EC E44A0000 */ swc1 $f10, ($v0) -/* 0B1020 7F07C4F0 C4420000 */ lwc1 $f2, ($v0) -/* 0B1024 7F07C4F4 4602603E */ c.le.s $f12, $f2 -/* 0B1028 7F07C4F8 00000000 */ nop -/* 0B102C 7F07C4FC 4503FFFB */ bc1tl .L7F07C4EC -/* 0B1030 7F07C500 460C1281 */ sub.s $f10, $f2, $f12 -/* 0B1034 7F07C504 460E103C */ c.lt.s $f2, $f14 -.L7F07C508: -/* 0B1038 7F07C508 00000000 */ nop -/* 0B103C 7F07C50C 45020009 */ bc1fl .L7F07C534 -/* 0B1040 7F07C510 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B1044 7F07C514 460C1200 */ add.s $f8, $f2, $f12 -.L7F07C518: -/* 0B1048 7F07C518 E4480000 */ swc1 $f8, ($v0) -/* 0B104C 7F07C51C C4420000 */ lwc1 $f2, ($v0) -/* 0B1050 7F07C520 460E103C */ c.lt.s $f2, $f14 -/* 0B1054 7F07C524 00000000 */ nop -/* 0B1058 7F07C528 4503FFFB */ bc1tl .L7F07C518 -/* 0B105C 7F07C52C 460C1200 */ add.s $f8, $f2, $f12 -.L7F07C530: -/* 0B1060 7F07C530 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07C534: -/* 0B1064 7F07C534 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0B1068 7F07C538 03E00008 */ jr $ra -/* 0B106C 7F07C53C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80055044 -.word 0x43338000 /*179.5*/ -glabel D_80055048 -.word 0x3dcccccd /*0.1*/ -glabel D_8005504C -.word 0x3c75c28f /*0.015*/ -glabel D_80055050 -.word 0x40490fdb /*3.1415927*/ -glabel D_80055054 -.word 0x3da3d70a /*0.079999998*/ -glabel D_80055058 -.word 0x3da3d70a /*0.079999998*/ -glabel D_8005505C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F07B56C -/* 0B06FC 7F07BB8C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B0700 7F07BB90 3C028003 */ lui $v0, %hi(cameramode) # $v0, 0x8003 -/* 0B0704 7F07BB94 8C4264D4 */ lw $v0, %lo(cameramode)($v0) -/* 0B0708 7F07BB98 240B0001 */ li $t3, 1 -/* 0B070C 7F07BB9C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B0710 7F07BBA0 AFA40040 */ sw $a0, 0x40($sp) -/* 0B0714 7F07BBA4 AFA50044 */ sw $a1, 0x44($sp) -/* 0B0718 7F07BBA8 AFA60048 */ sw $a2, 0x48($sp) -/* 0B071C 7F07BBAC 11620004 */ beq $t3, $v0, .Ljp7F07BBC0 -/* 0B0720 7F07BBB0 AFA7004C */ sw $a3, 0x4c($sp) -/* 0B0724 7F07BBB4 24050002 */ li $a1, 2 -/* 0B0728 7F07BBB8 14A200B0 */ bne $a1, $v0, .Ljp7F07BE7C -/* 0B072C 7F07BBBC 24010009 */ li $at, 9 -.Ljp7F07BBC0: -/* 0B0730 7F07BBC0 1562005A */ bne $t3, $v0, .Ljp7F07BD2C -/* 0B0734 7F07BBC4 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B0738 7F07BBC8 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B073C 7F07BBCC 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B0740 7F07BBD0 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0B0744 7F07BBD4 44810000 */ mtc1 $at, $f0 -/* 0B0748 7F07BBD8 C5420000 */ lwc1 $f2, ($t2) -/* 0B074C 7F07BBDC 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0B0750 7F07BBE0 4600103C */ c.lt.s $f2, $f0 -/* 0B0754 7F07BBE4 00000000 */ nop -/* 0B0758 7F07BBE8 45000013 */ bc1f .Ljp7F07BC38 -/* 0B075C 7F07BBEC 00000000 */ nop -/* 0B0760 7F07BBF0 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B0764 7F07BBF4 3C0E8003 */ lui $t6, %hi(ptr_random06cam_entry) # $t6, 0x8003 -/* 0B0768 7F07BBF8 3C058004 */ lui $a1, %hi(ptrSecondFontTableLarge) # $a1, 0x8004 -/* 0B076C 7F07BBFC 46041180 */ add.s $f6, $f2, $f4 -/* 0B0770 7F07BC00 3C068004 */ lui $a2, %hi(ptrFirstFontTableLarge) # $a2, 0x8004 -/* 0B0774 7F07BC04 4606003E */ c.le.s $f0, $f6 -/* 0B0778 7F07BC08 00000000 */ nop -/* 0B077C 7F07BC0C 4500000A */ bc1f .Ljp7F07BC38 -/* 0B0780 7F07BC10 00000000 */ nop -/* 0B0784 7F07BC14 8DCE6500 */ lw $t6, %lo(ptr_random06cam_entry)($t6) -/* 0B0788 7F07BC18 8CA50EE8 */ lw $a1, %lo(ptrSecondFontTableLarge)($a1) -/* 0B078C 7F07BC1C 8CC60EE4 */ lw $a2, %lo(ptrFirstFontTableLarge)($a2) -/* 0B0790 7F07BC20 0FC22AB3 */ jal display_string_in_lower_left_corner -/* 0B0794 7F07BC24 8DC4001C */ lw $a0, 0x1c($t6) -/* 0B0798 7F07BC28 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B079C 7F07BC2C 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B07A0 7F07BC30 C5420000 */ lwc1 $f2, ($t2) -/* 0B07A4 7F07BC34 240B0001 */ li $t3, 1 -.Ljp7F07BC38: -/* 0B07A8 7F07BC38 3C0F8003 */ lui $t7, %hi(ptr_random06cam_entry) # $t7, 0x8003 -/* 0B07AC 7F07BC3C 8DEF6500 */ lw $t7, %lo(ptr_random06cam_entry)($t7) -/* 0B07B0 7F07BC40 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0B07B4 7F07BC44 C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B07B8 7F07BC48 8DE40020 */ lw $a0, 0x20($t7) -/* 0B07BC 7F07BC4C 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0B07C0 7F07BC50 46081000 */ add.s $f0, $f2, $f8 -/* 0B07C4 7F07BC54 50800021 */ beql $a0, $zero, .Ljp7F07BCDC -/* 0B07C8 7F07BC58 44816000 */ mtc1 $at, $f12 -/* 0B07CC 7F07BC5C 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0B07D0 7F07BC60 44816000 */ mtc1 $at, $f12 -/* 0B07D4 7F07BC64 00000000 */ nop -/* 0B07D8 7F07BC68 460C103C */ c.lt.s $f2, $f12 -/* 0B07DC 7F07BC6C 00000000 */ nop -/* 0B07E0 7F07BC70 45020011 */ bc1fl .Ljp7F07BCB8 -/* 0B07E4 7F07BC74 3C0143F0 */ lui $at, 0x43f0 -/* 0B07E8 7F07BC78 4600603E */ c.le.s $f12, $f0 -/* 0B07EC 7F07BC7C 3C058004 */ lui $a1, %hi(ptrSecondFontTableLarge) # $a1, 0x8004 -/* 0B07F0 7F07BC80 3C068004 */ lui $a2, %hi(ptrFirstFontTableLarge) # $a2, 0x8004 -/* 0B07F4 7F07BC84 4502000C */ bc1fl .Ljp7F07BCB8 -/* 0B07F8 7F07BC88 3C0143F0 */ lui $at, 0x43f0 -/* 0B07FC 7F07BC8C 8CA50EE8 */ lw $a1, %lo(ptrSecondFontTableLarge)($a1) -/* 0B0800 7F07BC90 0FC22AB3 */ jal display_string_in_lower_left_corner -/* 0B0804 7F07BC94 8CC60EE4 */ lw $a2, %lo(ptrFirstFontTableLarge)($a2) -/* 0B0808 7F07BC98 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B080C 7F07BC9C 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B0810 7F07BCA0 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0B0814 7F07BCA4 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 0B0818 7F07BCA8 C5420000 */ lwc1 $f2, ($t2) -/* 0B081C 7F07BCAC 240B0001 */ li $t3, 1 -/* 0B0820 7F07BCB0 460A1000 */ add.s $f0, $f2, $f10 -/* 0B0824 7F07BCB4 3C0143F0 */ li $at, 0x43F00000 # 480.000000 -.Ljp7F07BCB8: -/* 0B0828 7F07BCB8 44812000 */ mtc1 $at, $f4 -/* 0B082C 7F07BCBC 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B0830 7F07BCC0 4602203C */ c.lt.s $f4, $f2 -/* 0B0834 7F07BCC4 00000000 */ nop -/* 0B0838 7F07BCC8 4500000A */ bc1f .Ljp7F07BCF4 -/* 0B083C 7F07BCCC 00000000 */ nop -/* 0B0840 7F07BCD0 10000008 */ b .Ljp7F07BCF4 -/* 0B0844 7F07BCD4 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B0848 7F07BCD8 44816000 */ mtc1 $at, $f12 -.Ljp7F07BCDC: -/* 0B084C 7F07BCDC 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B0850 7F07BCE0 4602603C */ c.lt.s $f12, $f2 -/* 0B0854 7F07BCE4 00000000 */ nop -/* 0B0858 7F07BCE8 45000002 */ bc1f .Ljp7F07BCF4 -/* 0B085C 7F07BCEC 00000000 */ nop -/* 0B0860 7F07BCF0 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -.Ljp7F07BCF4: -/* 0B0864 7F07BCF4 0FC3021B */ jal get_controls_locked_flag -/* 0B0868 7F07BCF8 E5400000 */ swc1 $f0, ($t2) -/* 0B086C 7F07BCFC 14400015 */ bnez $v0, .Ljp7F07BD54 -/* 0B0870 7F07BD00 240B0001 */ li $t3, 1 -/* 0B0874 7F07BD04 97B90046 */ lhu $t9, 0x46($sp) -/* 0B0878 7F07BD08 97B80042 */ lhu $t8, 0x42($sp) -/* 0B087C 7F07BD0C 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B0880 7F07BD10 03206027 */ not $t4, $t9 -/* 0B0884 7F07BD14 030C6824 */ and $t5, $t8, $t4 -/* 0B0888 7F07BD18 31AEF030 */ andi $t6, $t5, 0xf030 -/* 0B088C 7F07BD1C 11C0000D */ beqz $t6, .Ljp7F07BD54 -/* 0B0890 7F07BD20 00000000 */ nop -/* 0B0894 7F07BD24 1000000B */ b .Ljp7F07BD54 -/* 0B0898 7F07BD28 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -.Ljp7F07BD2C: -/* 0B089C 7F07BD2C 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B08A0 7F07BD30 8D2F0000 */ lw $t7, ($t1) -/* 0B08A4 7F07BD34 44807000 */ mtc1 $zero, $f14 -/* 0B08A8 7F07BD38 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B08AC 7F07BD3C C5E603E4 */ lwc1 $f6, 0x3e4($t7) -/* 0B08B0 7F07BD40 460E303C */ c.lt.s $f6, $f14 -/* 0B08B4 7F07BD44 00000000 */ nop -/* 0B08B8 7F07BD48 45000002 */ bc1f .Ljp7F07BD54 -/* 0B08BC 7F07BD4C 00000000 */ nop -/* 0B08C0 7F07BD50 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -.Ljp7F07BD54: -/* 0B08C4 7F07BD54 3C028003 */ lui $v0, %hi(ptr_random06cam_entry) # $v0, 0x8003 -/* 0B08C8 7F07BD58 24426500 */ addiu $v0, %lo(ptr_random06cam_entry) # addiu $v0, $v0, 0x6500 -/* 0B08CC 7F07BD5C 8C590000 */ lw $t9, ($v0) -/* 0B08D0 7F07BD60 8FB80048 */ lw $t8, 0x48($sp) -/* 0B08D4 7F07BD64 C7280004 */ lwc1 $f8, 4($t9) -/* 0B08D8 7F07BD68 E7080000 */ swc1 $f8, ($t8) -/* 0B08DC 7F07BD6C 8C4C0000 */ lw $t4, ($v0) -/* 0B08E0 7F07BD70 C58A0008 */ lwc1 $f10, 8($t4) -/* 0B08E4 7F07BD74 E70A0004 */ swc1 $f10, 4($t8) -/* 0B08E8 7F07BD78 8C4D0000 */ lw $t5, ($v0) -/* 0B08EC 7F07BD7C C5A4000C */ lwc1 $f4, 0xc($t5) -/* 0B08F0 7F07BD80 E7040008 */ swc1 $f4, 8($t8) -/* 0B08F4 7F07BD84 8C4E0000 */ lw $t6, ($v0) -/* 0B08F8 7F07BD88 0FC160F0 */ jal cosf -/* 0B08FC 7F07BD8C C5CC0014 */ lwc1 $f12, 0x14($t6) -/* 0B0900 7F07BD90 3C0F8003 */ lui $t7, %hi(ptr_random06cam_entry) # $t7, 0x8003 -/* 0B0904 7F07BD94 8DEF6500 */ lw $t7, %lo(ptr_random06cam_entry)($t7) -/* 0B0908 7F07BD98 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B090C 7F07BD9C 0FC160F3 */ jal sinf -/* 0B0910 7F07BDA0 C5EC0010 */ lwc1 $f12, 0x10($t7) -/* 0B0914 7F07BDA4 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 0B0918 7F07BDA8 8FB90048 */ lw $t9, 0x48($sp) -/* 0B091C 7F07BDAC 8FAC004C */ lw $t4, 0x4c($sp) -/* 0B0920 7F07BDB0 46060202 */ mul.s $f8, $f0, $f6 -/* 0B0924 7F07BDB4 C72A0000 */ lwc1 $f10, ($t9) -/* 0B0928 7F07BDB8 3C0D8003 */ lui $t5, %hi(ptr_random06cam_entry) # $t5, 0x8003 -/* 0B092C 7F07BDBC 460A4100 */ add.s $f4, $f8, $f10 -/* 0B0930 7F07BDC0 E5840000 */ swc1 $f4, ($t4) -/* 0B0934 7F07BDC4 8DAD6500 */ lw $t5, %lo(ptr_random06cam_entry)($t5) -/* 0B0938 7F07BDC8 0FC160F3 */ jal sinf -/* 0B093C 7F07BDCC C5AC0014 */ lwc1 $f12, 0x14($t5) -/* 0B0940 7F07BDD0 8FB80048 */ lw $t8, 0x48($sp) -/* 0B0944 7F07BDD4 8FAE004C */ lw $t6, 0x4c($sp) -/* 0B0948 7F07BDD8 3C0F8003 */ lui $t7, %hi(ptr_random06cam_entry) # $t7, 0x8003 -/* 0B094C 7F07BDDC C7060004 */ lwc1 $f6, 4($t8) -/* 0B0950 7F07BDE0 46060200 */ add.s $f8, $f0, $f6 -/* 0B0954 7F07BDE4 E5C80004 */ swc1 $f8, 4($t6) -/* 0B0958 7F07BDE8 8DEF6500 */ lw $t7, %lo(ptr_random06cam_entry)($t7) -/* 0B095C 7F07BDEC 0FC160F0 */ jal cosf -/* 0B0960 7F07BDF0 C5EC0014 */ lwc1 $f12, 0x14($t7) -/* 0B0964 7F07BDF4 3C198003 */ lui $t9, %hi(ptr_random06cam_entry) # $t9, 0x8003 -/* 0B0968 7F07BDF8 8F396500 */ lw $t9, %lo(ptr_random06cam_entry)($t9) -/* 0B096C 7F07BDFC E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B0970 7F07BE00 0FC160F0 */ jal cosf -/* 0B0974 7F07BE04 C72C0010 */ lwc1 $f12, 0x10($t9) -/* 0B0978 7F07BE08 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0B097C 7F07BE0C 8FAC0048 */ lw $t4, 0x48($sp) -/* 0B0980 7F07BE10 8FAD004C */ lw $t5, 0x4c($sp) -/* 0B0984 7F07BE14 46040182 */ mul.s $f6, $f0, $f4 -/* 0B0988 7F07BE18 C58A0008 */ lwc1 $f10, 8($t4) -/* 0B098C 7F07BE1C 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0990 7F07BE20 3C188003 */ lui $t8, %hi(ptr_random06cam_entry) # $t8, 0x8003 -/* 0B0994 7F07BE24 3C198007 */ lui $t9, %hi(ptr_0xxxpresets) # $t9, 0x8007 -/* 0B0998 7F07BE28 46065201 */ sub.s $f8, $f10, $f6 -/* 0B099C 7F07BE2C E5A80008 */ swc1 $f8, 8($t5) -/* 0B09A0 7F07BE30 8F186500 */ lw $t8, %lo(ptr_random06cam_entry)($t8) -/* 0B09A4 7F07BE34 8F395D58 */ lw $t9, %lo(ptr_0xxxpresets)($t9) -/* 0B09A8 7F07BE38 8FAD0054 */ lw $t5, 0x54($sp) -/* 0B09AC 7F07BE3C 8F0E0018 */ lw $t6, 0x18($t8) -/* 0B09B0 7F07BE40 000E7880 */ sll $t7, $t6, 2 -/* 0B09B4 7F07BE44 01EE7823 */ subu $t7, $t7, $t6 -/* 0B09B8 7F07BE48 000F7880 */ sll $t7, $t7, 2 -/* 0B09BC 7F07BE4C 01EE7823 */ subu $t7, $t7, $t6 -/* 0B09C0 7F07BE50 000F7880 */ sll $t7, $t7, 2 -/* 0B09C4 7F07BE54 01F91021 */ addu $v0, $t7, $t9 -/* 0B09C8 7F07BE58 8C4C0028 */ lw $t4, 0x28($v0) -/* 0B09CC 7F07BE5C ADAC0000 */ sw $t4, ($t5) -/* 0B09D0 7F07BE60 C4440000 */ lwc1 $f4, ($v0) -/* 0B09D4 7F07BE64 E4640000 */ swc1 $f4, ($v1) -/* 0B09D8 7F07BE68 C44A0004 */ lwc1 $f10, 4($v0) -/* 0B09DC 7F07BE6C E46A0004 */ swc1 $f10, 4($v1) -/* 0B09E0 7F07BE70 C4460008 */ lwc1 $f6, 8($v0) -/* 0B09E4 7F07BE74 10000337 */ b .Ljp7F07CB54 -/* 0B09E8 7F07BE78 E4660008 */ swc1 $f6, 8($v1) -.Ljp7F07BE7C: -/* 0B09EC 7F07BE7C 544100B3 */ bnel $v0, $at, .Ljp7F07C14C -/* 0B09F0 7F07BE80 24010003 */ li $at, 3 -/* 0B09F4 7F07BE84 0FC26F3C */ jal get_cur_playernum -/* 0B09F8 7F07BE88 00000000 */ nop -/* 0B09FC 7F07BE8C 0FC2701E */ jal sub_GAME_7F09B4D8 -/* 0B0A00 7F07BE90 00402025 */ move $a0, $v0 -/* 0B0A04 7F07BE94 14400054 */ bnez $v0, .Ljp7F07BFE8 -/* 0B0A08 7F07BE98 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B0A0C 7F07BE9C 3C078005 */ lui $a3, %hi(clock_timer) # $a3, 0x8005 -/* 0B0A10 7F07BEA0 8CE783A4 */ lw $a3, %lo(clock_timer)($a3) -/* 0B0A14 7F07BEA4 00001825 */ move $v1, $zero -/* 0B0A18 7F07BEA8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E08) # $at, 0x8008 -/* 0B0A1C 7F07BEAC 18E0004E */ blez $a3, .Ljp7F07BFE8 -/* 0B0A20 7F07BEB0 3C068008 */ lui $a2, %hi(flt_CODE_bss_80079E04) # $a2, 0x8008 -/* 0B0A24 7F07BEB4 C42C9E78 */ lwc1 $f12, %lo(flt_CODE_bss_80079E08)($at) -/* 0B0A28 7F07BEB8 3C018005 */ lui $at, %hi(D_80055044) # $at, 0x8005 -/* 0B0A2C 7F07BEBC C4325074 */ lwc1 $f18, %lo(D_80055044)($at) -/* 0B0A30 7F07BEC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B0A34 7F07BEC4 44818000 */ mtc1 $at, $f16 -/* 0B0A38 7F07BEC8 3C018005 */ lui $at, %hi(D_80055048) -/* 0B0A3C 7F07BECC 3C058008 */ lui $a1, %hi(flt_CODE_bss_80079E0C) # $a1, 0x8008 -/* 0B0A40 7F07BED0 3C048008 */ lui $a0, %hi(flt_CODE_bss_80079E08) # $a0, 0x8008 -/* 0B0A44 7F07BED4 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079E10) # $v0, 0x8008 -/* 0B0A48 7F07BED8 24429E80 */ addiu $v0, %lo(flt_CODE_bss_80079E10) # addiu $v0, $v0, -0x6180 -/* 0B0A4C 7F07BEDC 24849E78 */ addiu $a0, %lo(flt_CODE_bss_80079E08) # addiu $a0, $a0, -0x6188 -/* 0B0A50 7F07BEE0 24A59E7C */ addiu $a1, %lo(flt_CODE_bss_80079E0C) # addiu $a1, $a1, -0x6184 -/* 0B0A54 7F07BEE4 C42E5078 */ lwc1 $f14, %lo(D_80055048)($at) -/* 0B0A58 7F07BEE8 24C69E74 */ addiu $a2, %lo(flt_CODE_bss_80079E04) # addiu $a2, $a2, -0x618c -/* 0B0A5C 7F07BEEC 4612603C */ c.lt.s $f12, $f18 -.Ljp7F07BEF0: -/* 0B0A60 7F07BEF0 24630001 */ addiu $v1, $v1, 1 -/* 0B0A64 7F07BEF4 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0B0A68 7F07BEF8 45020017 */ bc1fl .Ljp7F07BF58 -/* 0B0A6C 7F07BEFC 44812000 */ mtc1 $at, $f4 -/* 0B0A70 7F07BF00 3C01C1A0 */ li $at, 0xC1A00000 # -20.000000 -/* 0B0A74 7F07BF04 44814000 */ mtc1 $at, $f8 -/* 0B0A78 7F07BF08 3C0142DC */ li $at, 0x42DC0000 # 110.000000 -/* 0B0A7C 7F07BF0C 44815000 */ mtc1 $at, $f10 -/* 0B0A80 7F07BF10 4608603C */ c.lt.s $f12, $f8 -/* 0B0A84 7F07BF14 C4C00000 */ lwc1 $f0, ($a2) -/* 0B0A88 7F07BF18 45020005 */ bc1fl .Ljp7F07BF30 -/* 0B0A8C 7F07BF1C 460C503C */ c.lt.s $f10, $f12 -/* 0B0A90 7F07BF20 460E0100 */ add.s $f4, $f0, $f14 -/* 0B0A94 7F07BF24 E4C40000 */ swc1 $f4, ($a2) -/* 0B0A98 7F07BF28 C4C00000 */ lwc1 $f0, ($a2) -/* 0B0A9C 7F07BF2C 460C503C */ c.lt.s $f10, $f12 -.Ljp7F07BF30: -/* 0B0AA0 7F07BF30 00000000 */ nop -/* 0B0AA4 7F07BF34 45020005 */ bc1fl .Ljp7F07BF4C -/* 0B0AA8 7F07BF38 46006200 */ add.s $f8, $f12, $f0 -/* 0B0AAC 7F07BF3C 460E0181 */ sub.s $f6, $f0, $f14 -/* 0B0AB0 7F07BF40 E4C60000 */ swc1 $f6, ($a2) -/* 0B0AB4 7F07BF44 C4C00000 */ lwc1 $f0, ($a2) -/* 0B0AB8 7F07BF48 46006200 */ add.s $f8, $f12, $f0 -.Ljp7F07BF4C: -/* 0B0ABC 7F07BF4C 10000004 */ b .Ljp7F07BF60 -/* 0B0AC0 7F07BF50 E4880000 */ swc1 $f8, ($a0) -/* 0B0AC4 7F07BF54 44812000 */ mtc1 $at, $f4 -.Ljp7F07BF58: -/* 0B0AC8 7F07BF58 00000000 */ nop -/* 0B0ACC 7F07BF5C E4840000 */ swc1 $f4, ($a0) -.Ljp7F07BF60: -/* 0B0AD0 7F07BF60 3C0142A0 */ li $at, 0x42A00000 # 80.000000 -/* 0B0AD4 7F07BF64 44815000 */ mtc1 $at, $f10 -/* 0B0AD8 7F07BF68 C48C0000 */ lwc1 $f12, ($a0) -/* 0B0ADC 7F07BF6C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B0AE0 7F07BF70 460C503C */ c.lt.s $f10, $f12 -/* 0B0AE4 7F07BF74 00000000 */ nop -/* 0B0AE8 7F07BF78 45020019 */ bc1fl .Ljp7F07BFE0 -/* 0B0AEC 7F07BF7C 0067082A */ slt $at, $v1, $a3 -/* 0B0AF0 7F07BF80 C4400000 */ lwc1 $f0, ($v0) -/* 0B0AF4 7F07BF84 44813000 */ mtc1 $at, $f6 -/* 0B0AF8 7F07BF88 C4A20000 */ lwc1 $f2, ($a1) -/* 0B0AFC 7F07BF8C 3C018005 */ lui $at, %hi(D_8005504C) # $at, 0x8005 -/* 0B0B00 7F07BF90 4600303C */ c.lt.s $f6, $f0 -/* 0B0B04 7F07BF94 00000000 */ nop -/* 0B0B08 7F07BF98 45000004 */ bc1f .Ljp7F07BFAC -/* 0B0B0C 7F07BF9C 00000000 */ nop -/* 0B0B10 7F07BFA0 460E1201 */ sub.s $f8, $f2, $f14 -/* 0B0B14 7F07BFA4 10000004 */ b .Ljp7F07BFB8 -/* 0B0B18 7F07BFA8 E4A80000 */ swc1 $f8, ($a1) -.Ljp7F07BFAC: -/* 0B0B1C 7F07BFAC C424507C */ lwc1 $f4, %lo(D_8005504C)($at) -/* 0B0B20 7F07BFB0 46041280 */ add.s $f10, $f2, $f4 -/* 0B0B24 7F07BFB4 E4AA0000 */ swc1 $f10, ($a1) -.Ljp7F07BFB8: -/* 0B0B28 7F07BFB8 C4A60000 */ lwc1 $f6, ($a1) -/* 0B0B2C 7F07BFBC 46060200 */ add.s $f8, $f0, $f6 -/* 0B0B30 7F07BFC0 E4480000 */ swc1 $f8, ($v0) -/* 0B0B34 7F07BFC4 C4440000 */ lwc1 $f4, ($v0) -/* 0B0B38 7F07BFC8 4610203C */ c.lt.s $f4, $f16 -/* 0B0B3C 7F07BFCC 00000000 */ nop -/* 0B0B40 7F07BFD0 45020003 */ bc1fl .Ljp7F07BFE0 -/* 0B0B44 7F07BFD4 0067082A */ slt $at, $v1, $a3 -/* 0B0B48 7F07BFD8 E4500000 */ swc1 $f16, ($v0) -/* 0B0B4C 7F07BFDC 0067082A */ slt $at, $v1, $a3 -.Ljp7F07BFE0: -/* 0B0B50 7F07BFE0 5420FFC3 */ bnezl $at, .Ljp7F07BEF0 -/* 0B0B54 7F07BFE4 4612603C */ c.lt.s $f12, $f18 -.Ljp7F07BFE8: -/* 0B0B58 7F07BFE8 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B0B5C 7F07BFEC 8D380000 */ lw $t8, ($t1) -/* 0B0B60 7F07BFF0 3C048008 */ lui $a0, %hi(flt_CODE_bss_80079E08) # $a0, 0x8008 -/* 0B0B64 7F07BFF4 24849E78 */ addiu $a0, %lo(flt_CODE_bss_80079E08) # addiu $a0, $a0, -0x6188 -/* 0B0B68 7F07BFF8 C48A0000 */ lwc1 $f10, ($a0) -/* 0B0B6C 7F07BFFC C7060148 */ lwc1 $f6, 0x148($t8) -/* 0B0B70 7F07C000 3C018005 */ lui $at, %hi(D_80055050) # $at, 0x8005 -/* 0B0B74 7F07C004 C4245080 */ lwc1 $f4, %lo(D_80055050)($at) -/* 0B0B78 7F07C008 46065201 */ sub.s $f8, $f10, $f6 -/* 0B0B7C 7F07C00C 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0B0B80 7F07C010 44813000 */ mtc1 $at, $f6 -/* 0B0B84 7F07C014 46044282 */ mul.s $f10, $f8, $f4 -/* 0B0B88 7F07C018 46065303 */ div.s $f12, $f10, $f6 -/* 0B0B8C 7F07C01C 0FC160F3 */ jal sinf -/* 0B0B90 7F07C020 E7AC0038 */ swc1 $f12, 0x38($sp) -/* 0B0B94 7F07C024 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079E10) # $v0, 0x8008 -/* 0B0B98 7F07C028 24429E80 */ addiu $v0, %lo(flt_CODE_bss_80079E10) # addiu $v0, $v0, -0x6180 -/* 0B0B9C 7F07C02C C4480000 */ lwc1 $f8, ($v0) -/* 0B0BA0 7F07C030 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B0BA4 7F07C034 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B0BA8 7F07C038 46080102 */ mul.s $f4, $f0, $f8 -/* 0B0BAC 7F07C03C 8D2E0000 */ lw $t6, ($t1) -/* 0B0BB0 7F07C040 8FA30048 */ lw $v1, 0x48($sp) -/* 0B0BB4 7F07C044 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 0B0BB8 7F07C048 C5CA04B4 */ lwc1 $f10, 0x4b4($t6) -/* 0B0BBC 7F07C04C 3C018005 */ lui $at, %hi(D_80055054) # $at, 0x8005 -/* 0B0BC0 7F07C050 460A2180 */ add.s $f6, $f4, $f10 -/* 0B0BC4 7F07C054 E4660000 */ swc1 $f6, ($v1) -/* 0B0BC8 7F07C058 C4245084 */ lwc1 $f4, %lo(D_80055054)($at) -/* 0B0BCC 7F07C05C C4480000 */ lwc1 $f8, ($v0) -/* 0B0BD0 7F07C060 8D2F0000 */ lw $t7, ($t1) -/* 0B0BD4 7F07C064 46044282 */ mul.s $f10, $f8, $f4 -/* 0B0BD8 7F07C068 C5E604B8 */ lwc1 $f6, 0x4b8($t7) -/* 0B0BDC 7F07C06C 460A3200 */ add.s $f8, $f6, $f10 -/* 0B0BE0 7F07C070 0FC160F0 */ jal cosf -/* 0B0BE4 7F07C074 E4680004 */ swc1 $f8, 4($v1) -/* 0B0BE8 7F07C078 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079E10) # $v0, 0x8008 -/* 0B0BEC 7F07C07C 24429E80 */ addiu $v0, %lo(flt_CODE_bss_80079E10) # addiu $v0, $v0, -0x6180 -/* 0B0BF0 7F07C080 C4440000 */ lwc1 $f4, ($v0) -/* 0B0BF4 7F07C084 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B0BF8 7F07C088 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B0BFC 7F07C08C 46040182 */ mul.s $f6, $f0, $f4 -/* 0B0C00 7F07C090 8D390000 */ lw $t9, ($t1) -/* 0B0C04 7F07C094 8FAC0048 */ lw $t4, 0x48($sp) -/* 0B0C08 7F07C098 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0C0C 7F07C09C C72A04BC */ lwc1 $f10, 0x4bc($t9) -/* 0B0C10 7F07C0A0 8FA4004C */ lw $a0, 0x4c($sp) -/* 0B0C14 7F07C0A4 3C018005 */ lui $at, %hi(D_80055058) # $at, 0x8005 -/* 0B0C18 7F07C0A8 460A3200 */ add.s $f8, $f6, $f10 -/* 0B0C1C 7F07C0AC 240B0001 */ li $t3, 1 -/* 0B0C20 7F07C0B0 E5880008 */ swc1 $f8, 8($t4) -/* 0B0C24 7F07C0B4 8D2D0000 */ lw $t5, ($t1) -/* 0B0C28 7F07C0B8 C5A404B4 */ lwc1 $f4, 0x4b4($t5) -/* 0B0C2C 7F07C0BC E4840000 */ swc1 $f4, ($a0) -/* 0B0C30 7F07C0C0 8D380000 */ lw $t8, ($t1) -/* 0B0C34 7F07C0C4 C70604B8 */ lwc1 $f6, 0x4b8($t8) -/* 0B0C38 7F07C0C8 E4860004 */ swc1 $f6, 4($a0) -/* 0B0C3C 7F07C0CC 8D2E0000 */ lw $t6, ($t1) -/* 0B0C40 7F07C0D0 C5CA04BC */ lwc1 $f10, 0x4bc($t6) -/* 0B0C44 7F07C0D4 E48A0008 */ swc1 $f10, 8($a0) -/* 0B0C48 7F07C0D8 8D2F0000 */ lw $t7, ($t1) -/* 0B0C4C 7F07C0DC 8FAD0054 */ lw $t5, 0x54($sp) -/* 0B0C50 7F07C0E0 8DF900A8 */ lw $t9, 0xa8($t7) -/* 0B0C54 7F07C0E4 8F2C0014 */ lw $t4, 0x14($t9) -/* 0B0C58 7F07C0E8 ADAC0000 */ sw $t4, ($t5) -/* 0B0C5C 7F07C0EC 8D380000 */ lw $t8, ($t1) -/* 0B0C60 7F07C0F0 C70804B4 */ lwc1 $f8, 0x4b4($t8) -/* 0B0C64 7F07C0F4 E4680000 */ swc1 $f8, ($v1) -/* 0B0C68 7F07C0F8 C4440000 */ lwc1 $f4, ($v0) -/* 0B0C6C 7F07C0FC C4265088 */ lwc1 $f6, %lo(D_80055058)($at) -/* 0B0C70 7F07C100 8D2E0000 */ lw $t6, ($t1) -/* 0B0C74 7F07C104 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0B0C78 7F07C108 46062282 */ mul.s $f10, $f4, $f6 -/* 0B0C7C 7F07C10C C5C804B8 */ lwc1 $f8, 0x4b8($t6) -/* 0B0C80 7F07C110 460A4100 */ add.s $f4, $f8, $f10 -/* 0B0C84 7F07C114 44815000 */ mtc1 $at, $f10 -/* 0B0C88 7F07C118 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B0C8C 7F07C11C E4640004 */ swc1 $f4, 4($v1) -/* 0B0C90 7F07C120 8D2F0000 */ lw $t7, ($t1) -/* 0B0C94 7F07C124 C5E604BC */ lwc1 $f6, 0x4bc($t7) -/* 0B0C98 7F07C128 E4660008 */ swc1 $f6, 8($v1) -/* 0B0C9C 7F07C12C C4480000 */ lwc1 $f8, ($v0) -/* 0B0CA0 7F07C130 460A403C */ c.lt.s $f8, $f10 -/* 0B0CA4 7F07C134 00000000 */ nop -/* 0B0CA8 7F07C138 45020287 */ bc1fl .Ljp7F07CB58 -/* 0B0CAC 7F07C13C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B0CB0 7F07C140 10000284 */ b .Ljp7F07CB54 -/* 0B0CB4 7F07C144 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B0CB8 7F07C148 24010003 */ li $at, 3 -.Ljp7F07C14C: -/* 0B0CBC 7F07C14C 144100CB */ bne $v0, $at, .Ljp7F07C47C -/* 0B0CC0 7F07C150 24030005 */ li $v1, 5 -/* 0B0CC4 7F07C154 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B0CC8 7F07C158 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B0CCC 7F07C15C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0B0CD0 7F07C160 C43283B4 */ lwc1 $f18, %lo(global_timer_delta)($at) -/* 0B0CD4 7F07C164 C5440000 */ lwc1 $f4, ($t2) -/* 0B0CD8 7F07C168 3C088003 */ lui $t0, %hi(D_800364A8) # $t0, 0x8003 -/* 0B0CDC 7F07C16C 250864E8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64e8 -/* 0B0CE0 7F07C170 46122180 */ add.s $f6, $f4, $f18 -/* 0B0CE4 7F07C174 8D030000 */ lw $v1, ($t0) -/* 0B0CE8 7F07C178 3C048003 */ lui $a0, %hi(D_800364AC) # $a0, 0x8003 -/* 0B0CEC 7F07C17C 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B0CF0 7F07C180 E5460000 */ swc1 $f6, ($t2) -/* 0B0CF4 7F07C184 8C8464EC */ lw $a0, %lo(D_800364AC)($a0) -/* 0B0CF8 7F07C188 0003C940 */ sll $t9, $v1, 5 -/* 0B0CFC 7F07C18C C5420000 */ lwc1 $f2, ($t2) -/* 0B0D00 7F07C190 00991021 */ addu $v0, $a0, $t9 -/* 0B0D04 7F07C194 C4400018 */ lwc1 $f0, 0x18($v0) -/* 0B0D08 7F07C198 4602003E */ c.le.s $f0, $f2 -/* 0B0D0C 7F07C19C 00000000 */ nop -/* 0B0D10 7F07C1A0 45020019 */ bc1fl .Ljp7F07C208 -/* 0B0D14 7F07C1A4 24650001 */ addiu $a1, $v1, 1 -/* 0B0D18 7F07C1A8 8C4C0064 */ lw $t4, 0x64($v0) -.Ljp7F07C1AC: -/* 0B0D1C 7F07C1AC 318D0001 */ andi $t5, $t4, 1 -/* 0B0D20 7F07C1B0 55A00007 */ bnezl $t5, .Ljp7F07C1D0 -/* 0B0D24 7F07C1B4 E5400000 */ swc1 $f0, ($t2) -/* 0B0D28 7F07C1B8 46001201 */ sub.s $f8, $f2, $f0 -/* 0B0D2C 7F07C1BC 24780001 */ addiu $t8, $v1, 1 -/* 0B0D30 7F07C1C0 AD180000 */ sw $t8, ($t0) -/* 0B0D34 7F07C1C4 10000006 */ b .Ljp7F07C1E0 -/* 0B0D38 7F07C1C8 E5480000 */ swc1 $f8, ($t2) -/* 0B0D3C 7F07C1CC E5400000 */ swc1 $f0, ($t2) -.Ljp7F07C1D0: -/* 0B0D40 7F07C1D0 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B0D44 7F07C1D4 C4400018 */ lwc1 $f0, 0x18($v0) -/* 0B0D48 7F07C1D8 1000000A */ b .Ljp7F07C204 -/* 0B0D4C 7F07C1DC C5420000 */ lwc1 $f2, ($t2) -.Ljp7F07C1E0: -/* 0B0D50 7F07C1E0 8D030000 */ lw $v1, ($t0) -/* 0B0D54 7F07C1E4 C5420000 */ lwc1 $f2, ($t2) -/* 0B0D58 7F07C1E8 00037140 */ sll $t6, $v1, 5 -/* 0B0D5C 7F07C1EC 008E1021 */ addu $v0, $a0, $t6 -/* 0B0D60 7F07C1F0 C4400018 */ lwc1 $f0, 0x18($v0) -/* 0B0D64 7F07C1F4 4602003E */ c.le.s $f0, $f2 -/* 0B0D68 7F07C1F8 00000000 */ nop -/* 0B0D6C 7F07C1FC 4503FFEB */ bc1tl .Ljp7F07C1AC -/* 0B0D70 7F07C200 8C4C0064 */ lw $t4, 0x64($v0) -.Ljp7F07C204: -/* 0B0D74 7F07C204 24650001 */ addiu $a1, $v1, 1 -.Ljp7F07C208: -/* 0B0D78 7F07C208 00057940 */ sll $t7, $a1, 5 -/* 0B0D7C 7F07C20C 008F1021 */ addu $v0, $a0, $t7 -/* 0B0D80 7F07C210 8C590044 */ lw $t9, 0x44($v0) -/* 0B0D84 7F07C214 46020281 */ sub.s $f10, $f0, $f2 -/* 0B0D88 7F07C218 44807000 */ mtc1 $zero, $f14 -/* 0B0D8C 7F07C21C 332C0001 */ andi $t4, $t9, 1 -/* 0B0D90 7F07C220 15800007 */ bnez $t4, .Ljp7F07C240 -/* 0B0D94 7F07C224 460A7400 */ add.s $f16, $f14, $f10 -.Ljp7F07C228: -/* 0B0D98 7F07C228 8C4D0064 */ lw $t5, 0x64($v0) -/* 0B0D9C 7F07C22C C4440018 */ lwc1 $f4, 0x18($v0) -/* 0B0DA0 7F07C230 24420020 */ addiu $v0, $v0, 0x20 -/* 0B0DA4 7F07C234 31B80001 */ andi $t8, $t5, 1 -/* 0B0DA8 7F07C238 1300FFFB */ beqz $t8, .Ljp7F07C228 -/* 0B0DAC 7F07C23C 46048400 */ add.s $f16, $f16, $f4 -.Ljp7F07C240: -/* 0B0DB0 7F07C240 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B0DB4 7F07C244 44816000 */ mtc1 $at, $f12 -/* 0B0DB8 7F07C248 00000000 */ nop -/* 0B0DBC 7F07C24C 460C803C */ c.lt.s $f16, $f12 -/* 0B0DC0 7F07C250 00000000 */ nop -/* 0B0DC4 7F07C254 4500000D */ bc1f .Ljp7F07C28C -/* 0B0DC8 7F07C258 00000000 */ nop -/* 0B0DCC 7F07C25C 46128180 */ add.s $f6, $f16, $f18 -/* 0B0DD0 7F07C260 4606603E */ c.le.s $f12, $f6 -/* 0B0DD4 7F07C264 00000000 */ nop -/* 0B0DD8 7F07C268 45000008 */ bc1f .Ljp7F07C28C -/* 0B0DDC 7F07C26C 00000000 */ nop -/* 0B0DE0 7F07C270 0FC20408 */ jal set_curplayer_fade -/* 0B0DE4 7F07C274 E7B00030 */ swc1 $f16, 0x30($sp) -/* 0B0DE8 7F07C278 3C088003 */ lui $t0, %hi(D_800364A8) # $t0, 0x8003 -/* 0B0DEC 7F07C27C 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B0DF0 7F07C280 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B0DF4 7F07C284 250864E8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64e8 -/* 0B0DF8 7F07C288 C7B00030 */ lwc1 $f16, 0x30($sp) -.Ljp7F07C28C: -/* 0B0DFC 7F07C28C 3C0E8003 */ lui $t6, %hi(D_8003649C) # $t6, 0x8003 -/* 0B0E00 7F07C290 8DCE64DC */ lw $t6, %lo(D_8003649C)($t6) -/* 0B0E04 7F07C294 51C0000D */ beql $t6, $zero, .Ljp7F07C2CC -/* 0B0E08 7F07C298 3C014270 */ lui $at, 0x4270 -/* 0B0E0C 7F07C29C 0FC203A7 */ jal check_if_fade_to_black_complete -/* 0B0E10 7F07C2A0 E7B00030 */ swc1 $f16, 0x30($sp) -/* 0B0E14 7F07C2A4 3C088003 */ lui $t0, %hi(D_800364A8) # $t0, 0x8003 -/* 0B0E18 7F07C2A8 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B0E1C 7F07C2AC 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B0E20 7F07C2B0 250864E8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64e8 -/* 0B0E24 7F07C2B4 240B0001 */ li $t3, 1 -/* 0B0E28 7F07C2B8 10400003 */ beqz $v0, .Ljp7F07C2C8 -/* 0B0E2C 7F07C2BC C7B00030 */ lwc1 $f16, 0x30($sp) -/* 0B0E30 7F07C2C0 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B0E34 7F07C2C4 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -.Ljp7F07C2C8: -/* 0B0E38 7F07C2C8 3C014270 */ li $at, 0x42700000 # 60.000000 -.Ljp7F07C2CC: -/* 0B0E3C 7F07C2CC 44814000 */ mtc1 $at, $f8 -/* 0B0E40 7F07C2D0 3C0F8003 */ lui $t7, %hi(D_8003649C) # $t7, 0x8003 -/* 0B0E44 7F07C2D4 4610403C */ c.lt.s $f8, $f16 -/* 0B0E48 7F07C2D8 00000000 */ nop -/* 0B0E4C 7F07C2DC 45020036 */ bc1fl .Ljp7F07C3B8 -/* 0B0E50 7F07C2E0 8D040000 */ lw $a0, ($t0) -/* 0B0E54 7F07C2E4 8DEF64DC */ lw $t7, %lo(D_8003649C)($t7) -/* 0B0E58 7F07C2E8 55E00033 */ bnezl $t7, .Ljp7F07C3B8 -/* 0B0E5C 7F07C2EC 8D040000 */ lw $a0, ($t0) -/* 0B0E60 7F07C2F0 0FC3021B */ jal get_controls_locked_flag -/* 0B0E64 7F07C2F4 00000000 */ nop -/* 0B0E68 7F07C2F8 3C088003 */ lui $t0, %hi(D_800364A8) # $t0, 0x8003 -/* 0B0E6C 7F07C2FC 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B0E70 7F07C300 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B0E74 7F07C304 250864E8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64e8 -/* 0B0E78 7F07C308 1440002A */ bnez $v0, .Ljp7F07C3B4 -/* 0B0E7C 7F07C30C 240B0001 */ li $t3, 1 -/* 0B0E80 7F07C310 97AC0046 */ lhu $t4, 0x46($sp) -/* 0B0E84 7F07C314 97B90042 */ lhu $t9, 0x42($sp) -/* 0B0E88 7F07C318 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B0E8C 7F07C31C 01806827 */ not $t5, $t4 -/* 0B0E90 7F07C320 032DC024 */ and $t8, $t9, $t5 -/* 0B0E94 7F07C324 330EF030 */ andi $t6, $t8, 0xf030 -/* 0B0E98 7F07C328 11C00022 */ beqz $t6, .Ljp7F07C3B4 -/* 0B0E9C 7F07C32C 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B0EA0 7F07C330 3C018003 */ lui $at, %hi(D_8003649C) # $at, 0x8003 -/* 0B0EA4 7F07C334 AC2B64DC */ sw $t3, %lo(D_8003649C)($at) -/* 0B0EA8 7F07C338 8D2F0000 */ lw $t7, ($t1) -/* 0B0EAC 7F07C33C 00002025 */ move $a0, $zero -/* 0B0EB0 7F07C340 00002825 */ move $a1, $zero -/* 0B0EB4 7F07C344 00003025 */ move $a2, $zero -/* 0B0EB8 7F07C348 0FC20370 */ jal set_rgba_tint -/* 0B0EBC 7F07C34C 8DE703DC */ lw $a3, 0x3dc($t7) -/* 0B0EC0 7F07C350 0FC203A7 */ jal check_if_fade_to_black_complete -/* 0B0EC4 7F07C354 00000000 */ nop -/* 0B0EC8 7F07C358 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B0ECC 7F07C35C 1040000C */ beqz $v0, .Ljp7F07C390 -/* 0B0ED0 7F07C360 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B0ED4 7F07C364 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B0ED8 7F07C368 44816000 */ mtc1 $at, $f12 -/* 0B0EDC 7F07C36C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B0EE0 7F07C370 44817000 */ mtc1 $at, $f14 -/* 0B0EE4 7F07C374 0FC2039A */ jal fade_to_over_seconds -/* 0B0EE8 7F07C378 00000000 */ nop -/* 0B0EEC 7F07C37C 3C088003 */ lui $t0, %hi(D_800364A8) # $t0, 0x8003 -/* 0B0EF0 7F07C380 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B0EF4 7F07C384 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B0EF8 7F07C388 1000000A */ b .Ljp7F07C3B4 -/* 0B0EFC 7F07C38C 250864E8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64e8 -.Ljp7F07C390: -/* 0B0F00 7F07C390 8D2C0000 */ lw $t4, ($t1) -/* 0B0F04 7F07C394 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B0F08 7F07C398 44817000 */ mtc1 $at, $f14 -/* 0B0F0C 7F07C39C 0FC2039A */ jal fade_to_over_seconds -/* 0B0F10 7F07C3A0 C58C03E0 */ lwc1 $f12, 0x3e0($t4) -/* 0B0F14 7F07C3A4 3C088003 */ lui $t0, %hi(D_800364A8) # $t0, 0x8003 -/* 0B0F18 7F07C3A8 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B0F1C 7F07C3AC 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B0F20 7F07C3B0 250864E8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64e8 -.Ljp7F07C3B4: -/* 0B0F24 7F07C3B4 8D040000 */ lw $a0, ($t0) -.Ljp7F07C3B8: -/* 0B0F28 7F07C3B8 8D450000 */ lw $a1, ($t2) -/* 0B0F2C 7F07C3BC 8FA60048 */ lw $a2, 0x48($sp) -/* 0B0F30 7F07C3C0 0FC1EE30 */ jal sub_GAME_7F07B2A0 -/* 0B0F34 7F07C3C4 8FA7004C */ lw $a3, 0x4c($sp) -/* 0B0F38 7F07C3C8 3C088003 */ lui $t0, %hi(D_800364A8) # $t0, 0x8003 -/* 0B0F3C 7F07C3CC 250864E8 */ addiu $t0, %lo(D_800364A8) # addiu $t0, $t0, 0x64e8 -/* 0B0F40 7F07C3D0 8D0D0000 */ lw $t5, ($t0) -/* 0B0F44 7F07C3D4 3C198003 */ lui $t9, %hi(D_800364AC) # $t9, 0x8003 -/* 0B0F48 7F07C3D8 8F3964EC */ lw $t9, %lo(D_800364AC)($t9) -/* 0B0F4C 7F07C3DC 000DC140 */ sll $t8, $t5, 5 -/* 0B0F50 7F07C3E0 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B0F54 7F07C3E4 03387021 */ addu $t6, $t9, $t8 -/* 0B0F58 7F07C3E8 8DC4001C */ lw $a0, 0x1c($t6) -/* 0B0F5C 7F07C3EC 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B0F60 7F07C3F0 3C0C8007 */ lui $t4, %hi(ptr_0xxxpresets) # $t4, 0x8007 -/* 0B0F64 7F07C3F4 04800012 */ bltz $a0, .Ljp7F07C440 -/* 0B0F68 7F07C3F8 00047880 */ sll $t7, $a0, 2 -/* 0B0F6C 7F07C3FC 01E47823 */ subu $t7, $t7, $a0 -/* 0B0F70 7F07C400 8D8C5D58 */ lw $t4, %lo(ptr_0xxxpresets)($t4) -/* 0B0F74 7F07C404 000F7880 */ sll $t7, $t7, 2 -/* 0B0F78 7F07C408 01E47823 */ subu $t7, $t7, $a0 -/* 0B0F7C 7F07C40C 000F7880 */ sll $t7, $t7, 2 -/* 0B0F80 7F07C410 01EC1021 */ addu $v0, $t7, $t4 -/* 0B0F84 7F07C414 8C4D0028 */ lw $t5, 0x28($v0) -/* 0B0F88 7F07C418 8FB90054 */ lw $t9, 0x54($sp) -/* 0B0F8C 7F07C41C 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0F90 7F07C420 AF2D0000 */ sw $t5, ($t9) -/* 0B0F94 7F07C424 C44A0000 */ lwc1 $f10, ($v0) -/* 0B0F98 7F07C428 E46A0000 */ swc1 $f10, ($v1) -/* 0B0F9C 7F07C42C C4440004 */ lwc1 $f4, 4($v0) -/* 0B0FA0 7F07C430 E4640004 */ swc1 $f4, 4($v1) -/* 0B0FA4 7F07C434 C4460008 */ lwc1 $f6, 8($v0) -/* 0B0FA8 7F07C438 100001C6 */ b .Ljp7F07CB54 -/* 0B0FAC 7F07C43C E4660008 */ swc1 $f6, 8($v1) -.Ljp7F07C440: -/* 0B0FB0 7F07C440 8D380000 */ lw $t8, ($t1) -/* 0B0FB4 7F07C444 8FAF0054 */ lw $t7, 0x54($sp) -/* 0B0FB8 7F07C448 8FA30058 */ lw $v1, 0x58($sp) -/* 0B0FBC 7F07C44C 8F0E0488 */ lw $t6, 0x488($t8) -/* 0B0FC0 7F07C450 ADEE0000 */ sw $t6, ($t7) -/* 0B0FC4 7F07C454 8D2C0000 */ lw $t4, ($t1) -/* 0B0FC8 7F07C458 C588048C */ lwc1 $f8, 0x48c($t4) -/* 0B0FCC 7F07C45C E4680000 */ swc1 $f8, ($v1) -/* 0B0FD0 7F07C460 8D2D0000 */ lw $t5, ($t1) -/* 0B0FD4 7F07C464 C5AA0490 */ lwc1 $f10, 0x490($t5) -/* 0B0FD8 7F07C468 E46A0004 */ swc1 $f10, 4($v1) -/* 0B0FDC 7F07C46C 8D390000 */ lw $t9, ($t1) -/* 0B0FE0 7F07C470 C7240494 */ lwc1 $f4, 0x494($t9) -/* 0B0FE4 7F07C474 100001B7 */ b .Ljp7F07CB54 -/* 0B0FE8 7F07C478 E4640008 */ swc1 $f4, 8($v1) -.Ljp7F07C47C: -/* 0B0FEC 7F07C47C 10620003 */ beq $v1, $v0, .Ljp7F07C48C -/* 0B0FF0 7F07C480 24010006 */ li $at, 6 -/* 0B0FF4 7F07C484 5441009C */ bnel $v0, $at, .Ljp7F07C6F8 -/* 0B0FF8 7F07C488 24010007 */ li $at, 7 -.Ljp7F07C48C: -/* 0B0FFC 7F07C48C 1462003F */ bne $v1, $v0, .Ljp7F07C58C -/* 0B1000 7F07C490 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B1004 7F07C494 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B1008 7F07C498 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0B100C 7F07C49C C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B1010 7F07C4A0 C5460000 */ lwc1 $f6, ($t2) -/* 0B1014 7F07C4A4 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B1018 7F07C4A8 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B101C 7F07C4AC 46083280 */ add.s $f10, $f6, $f8 -/* 0B1020 7F07C4B0 8D380000 */ lw $t8, ($t1) -/* 0B1024 7F07C4B4 3C014334 */ lui $at, 0x4334 -/* 0B1028 7F07C4B8 E54A0000 */ swc1 $f10, ($t2) -/* 0B102C 7F07C4BC 8F0400D4 */ lw $a0, 0xd4($t8) -/* 0B1030 7F07C4C0 50800015 */ beql $a0, $zero, .Ljp7F07C518 -/* 0B1034 7F07C4C4 C5460000 */ lwc1 $f6, ($t2) -/* 0B1038 7F07C4C8 0FC1BEEB */ jal sub_GAME_7F06F5BC -/* 0B103C 7F07C4CC 00000000 */ nop -/* 0B1040 7F07C4D0 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B1044 7F07C4D4 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B1048 7F07C4D8 8D2E0000 */ lw $t6, ($t1) -/* 0B104C 7F07C4DC E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B1050 7F07C4E0 0FC1BEED */ jal sub_GAME_7F06F5C4 -/* 0B1054 7F07C4E4 8DC400D4 */ lw $a0, 0xd4($t6) -/* 0B1058 7F07C4E8 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0B105C 7F07C4EC 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B1060 7F07C4F0 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B1064 7F07C4F4 4604003E */ c.le.s $f0, $f4 -/* 0B1068 7F07C4F8 240B0001 */ li $t3, 1 -/* 0B106C 7F07C4FC 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 0B1070 7F07C500 45000002 */ bc1f .Ljp7F07C50C -/* 0B1074 7F07C504 00000000 */ nop -/* 0B1078 7F07C508 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -.Ljp7F07C50C: -/* 0B107C 7F07C50C 10000009 */ b .Ljp7F07C534 -/* 0B1080 7F07C510 24050002 */ li $a1, 2 -/* 0B1084 7F07C514 C5460000 */ lwc1 $f6, ($t2) -.Ljp7F07C518: -/* 0B1088 7F07C518 44814000 */ mtc1 $at, $f8 -/* 0B108C 7F07C51C 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B1090 7F07C520 4606403E */ c.le.s $f8, $f6 -/* 0B1094 7F07C524 00000000 */ nop -/* 0B1098 7F07C528 45020003 */ bc1fl .Ljp7F07C538 -/* 0B109C 7F07C52C 97AC0046 */ lhu $t4, 0x46($sp) -/* 0B10A0 7F07C530 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -.Ljp7F07C534: -/* 0B10A4 7F07C534 97AC0046 */ lhu $t4, 0x46($sp) -.Ljp7F07C538: -/* 0B10A8 7F07C538 97AF0042 */ lhu $t7, 0x42($sp) -/* 0B10AC 7F07C53C 01806827 */ not $t5, $t4 -/* 0B10B0 7F07C540 01EDC824 */ and $t9, $t7, $t5 -/* 0B10B4 7F07C544 3338F000 */ andi $t8, $t9, 0xf000 -/* 0B10B8 7F07C548 13000036 */ beqz $t8, .Ljp7F07C624 -/* 0B10BC 7F07C54C 00000000 */ nop -/* 0B10C0 7F07C550 8D220000 */ lw $v0, ($t1) -/* 0B10C4 7F07C554 8C4E00D8 */ lw $t6, 0xd8($v0) -/* 0B10C8 7F07C558 11C00032 */ beqz $t6, .Ljp7F07C624 -/* 0B10CC 7F07C55C 00000000 */ nop -/* 0B10D0 7F07C560 8C4C0424 */ lw $t4, 0x424($v0) -/* 0B10D4 7F07C564 1180002F */ beqz $t4, .Ljp7F07C624 -/* 0B10D8 7F07C568 00000000 */ nop -/* 0B10DC 7F07C56C 8C4F0428 */ lw $t7, 0x428($v0) -/* 0B10E0 7F07C570 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B10E4 7F07C574 11E0002B */ beqz $t7, .Ljp7F07C624 -/* 0B10E8 7F07C578 00000000 */ nop -/* 0B10EC 7F07C57C AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B10F0 7F07C580 3C018003 */ lui $at, %hi(D_80036510) # $at, 0x8003 -/* 0B10F4 7F07C584 10000027 */ b .Ljp7F07C624 -/* 0B10F8 7F07C588 AC256550 */ sw $a1, %lo(D_80036510)($at) -.Ljp7F07C58C: -/* 0B10FC 7F07C58C 24010006 */ li $at, 6 -/* 0B1100 7F07C590 14410024 */ bne $v0, $at, .Ljp7F07C624 -/* 0B1104 7F07C594 3C0A8003 */ lui $t2, %hi(D_800364A4) # $t2, 0x8003 -/* 0B1108 7F07C598 254A64E4 */ addiu $t2, %lo(D_800364A4) # addiu $t2, $t2, 0x64e4 -/* 0B110C 7F07C59C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0B1110 7F07C5A0 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B1114 7F07C5A4 C54A0000 */ lwc1 $f10, ($t2) -/* 0B1118 7F07C5A8 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B111C 7F07C5AC 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B1120 7F07C5B0 46045180 */ add.s $f6, $f10, $f4 -/* 0B1124 7F07C5B4 8D220000 */ lw $v0, ($t1) -/* 0B1128 7F07C5B8 44807000 */ mtc1 $zero, $f14 -/* 0B112C 7F07C5BC 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 0B1130 7F07C5C0 E5460000 */ swc1 $f6, ($t2) -/* 0B1134 7F07C5C4 C44803E4 */ lwc1 $f8, 0x3e4($v0) -/* 0B1138 7F07C5C8 460E403C */ c.lt.s $f8, $f14 -/* 0B113C 7F07C5CC 00000000 */ nop -/* 0B1140 7F07C5D0 45020003 */ bc1fl .Ljp7F07C5E0 -/* 0B1144 7F07C5D4 97B90046 */ lhu $t9, 0x46($sp) -/* 0B1148 7F07C5D8 AC2B64D8 */ sw $t3, %lo(enable_move_after_cinema)($at) -/* 0B114C 7F07C5DC 97B90046 */ lhu $t9, 0x46($sp) -.Ljp7F07C5E0: -/* 0B1150 7F07C5E0 97AD0042 */ lhu $t5, 0x42($sp) -/* 0B1154 7F07C5E4 0320C027 */ not $t8, $t9 -/* 0B1158 7F07C5E8 01B87024 */ and $t6, $t5, $t8 -/* 0B115C 7F07C5EC 31CCF000 */ andi $t4, $t6, 0xf000 -/* 0B1160 7F07C5F0 1180000C */ beqz $t4, .Ljp7F07C624 -/* 0B1164 7F07C5F4 00000000 */ nop -/* 0B1168 7F07C5F8 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0B116C 7F07C5FC 11E00009 */ beqz $t7, .Ljp7F07C624 -/* 0B1170 7F07C600 00000000 */ nop -/* 0B1174 7F07C604 8C590424 */ lw $t9, 0x424($v0) -/* 0B1178 7F07C608 13200006 */ beqz $t9, .Ljp7F07C624 -/* 0B117C 7F07C60C 00000000 */ nop -/* 0B1180 7F07C610 8C4D0428 */ lw $t5, 0x428($v0) -/* 0B1184 7F07C614 3C018003 */ lui $at, %hi(D_80036510) # $at, 0x8003 -/* 0B1188 7F07C618 11A00002 */ beqz $t5, .Ljp7F07C624 -/* 0B118C 7F07C61C 00000000 */ nop -/* 0B1190 7F07C620 AC256550 */ sw $a1, %lo(D_80036510)($at) -.Ljp7F07C624: -/* 0B1194 7F07C624 3C038008 */ lui $v1, %hi(flt_CODE_bss_800799E8) # $v1, 0x8008 -/* 0B1198 7F07C628 24639A28 */ addiu $v1, %lo(flt_CODE_bss_800799E8) # addiu $v1, $v1, -0x65d8 -/* 0B119C 7F07C62C C46A0000 */ lwc1 $f10, ($v1) -/* 0B11A0 7F07C630 8FB80048 */ lw $t8, 0x48($sp) -/* 0B11A4 7F07C634 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B11A8 7F07C638 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B11AC 7F07C63C E70A0000 */ swc1 $f10, ($t8) -/* 0B11B0 7F07C640 C4640004 */ lwc1 $f4, 4($v1) -/* 0B11B4 7F07C644 3C058008 */ lui $a1, %hi(dword_CODE_bss_800799F4) # $a1, 0x8008 -/* 0B11B8 7F07C648 24A59A34 */ addiu $a1, %lo(dword_CODE_bss_800799F4) # addiu $a1, $a1, -0x65cc -/* 0B11BC 7F07C64C E7040004 */ swc1 $f4, 4($t8) -/* 0B11C0 7F07C650 C4660008 */ lwc1 $f6, 8($v1) -/* 0B11C4 7F07C654 E7060008 */ swc1 $f6, 8($t8) -/* 0B11C8 7F07C658 8D220000 */ lw $v0, ($t1) -/* 0B11CC 7F07C65C 8CA40000 */ lw $a0, ($a1) -/* 0B11D0 7F07C660 8C4E00A8 */ lw $t6, 0xa8($v0) -/* 0B11D4 7F07C664 548E000C */ bnel $a0, $t6, .Ljp7F07C698 -/* 0B11D8 7F07C668 C4860008 */ lwc1 $f6, 8($a0) -/* 0B11DC 7F07C66C C44803C4 */ lwc1 $f8, 0x3c4($v0) -/* 0B11E0 7F07C670 8FAC004C */ lw $t4, 0x4c($sp) -/* 0B11E4 7F07C674 E5880000 */ swc1 $f8, ($t4) -/* 0B11E8 7F07C678 8D2F0000 */ lw $t7, ($t1) -/* 0B11EC 7F07C67C C5EA03C8 */ lwc1 $f10, 0x3c8($t7) -/* 0B11F0 7F07C680 E58A0004 */ swc1 $f10, 4($t4) -/* 0B11F4 7F07C684 8D390000 */ lw $t9, ($t1) -/* 0B11F8 7F07C688 C72403CC */ lwc1 $f4, 0x3cc($t9) -/* 0B11FC 7F07C68C 1000000A */ b .Ljp7F07C6B8 -/* 0B1200 7F07C690 E5840008 */ swc1 $f4, 8($t4) -/* 0B1204 7F07C694 C4860008 */ lwc1 $f6, 8($a0) -.Ljp7F07C698: -/* 0B1208 7F07C698 8FAD004C */ lw $t5, 0x4c($sp) -/* 0B120C 7F07C69C E5A60000 */ swc1 $f6, ($t5) -/* 0B1210 7F07C6A0 8CB80000 */ lw $t8, ($a1) -/* 0B1214 7F07C6A4 C708000C */ lwc1 $f8, 0xc($t8) -/* 0B1218 7F07C6A8 E5A80004 */ swc1 $f8, 4($t5) -/* 0B121C 7F07C6AC 8CAE0000 */ lw $t6, ($a1) -/* 0B1220 7F07C6B0 C5CA0010 */ lwc1 $f10, 0x10($t6) -/* 0B1224 7F07C6B4 E5AA0008 */ swc1 $f10, 8($t5) -.Ljp7F07C6B8: -/* 0B1228 7F07C6B8 8D2F0000 */ lw $t7, ($t1) -/* 0B122C 7F07C6BC 8FAC0054 */ lw $t4, 0x54($sp) -/* 0B1230 7F07C6C0 8FA30058 */ lw $v1, 0x58($sp) -/* 0B1234 7F07C6C4 8DF90488 */ lw $t9, 0x488($t7) -/* 0B1238 7F07C6C8 AD990000 */ sw $t9, ($t4) -/* 0B123C 7F07C6CC 8D380000 */ lw $t8, ($t1) -/* 0B1240 7F07C6D0 C704048C */ lwc1 $f4, 0x48c($t8) -/* 0B1244 7F07C6D4 E4640000 */ swc1 $f4, ($v1) -/* 0B1248 7F07C6D8 8D2E0000 */ lw $t6, ($t1) -/* 0B124C 7F07C6DC C5C60490 */ lwc1 $f6, 0x490($t6) -/* 0B1250 7F07C6E0 E4660004 */ swc1 $f6, 4($v1) -/* 0B1254 7F07C6E4 8D2D0000 */ lw $t5, ($t1) -/* 0B1258 7F07C6E8 C5A80494 */ lwc1 $f8, 0x494($t5) -/* 0B125C 7F07C6EC 10000119 */ b .Ljp7F07CB54 -/* 0B1260 7F07C6F0 E4680008 */ swc1 $f8, 8($v1) -/* 0B1264 7F07C6F4 24010007 */ li $at, 7 -.Ljp7F07C6F8: -/* 0B1268 7F07C6F8 14410116 */ bne $v0, $at, .Ljp7F07CB54 -/* 0B126C 7F07C6FC 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799F8) # $v0, 0x8008 -/* 0B1270 7F07C700 24429A38 */ addiu $v0, %lo(dword_CODE_bss_800799F8) # addiu $v0, $v0, -0x65c8 -/* 0B1274 7F07C704 8C440000 */ lw $a0, ($v0) -/* 0B1278 7F07C708 8FAF0048 */ lw $t7, 0x48($sp) -/* 0B127C 7F07C70C 10800024 */ beqz $a0, .Ljp7F07C7A0 -/* 0B1280 7F07C710 00000000 */ nop -/* 0B1284 7F07C714 C48A0000 */ lwc1 $f10, ($a0) -/* 0B1288 7F07C718 8FA30058 */ lw $v1, 0x58($sp) -/* 0B128C 7F07C71C 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B1290 7F07C720 E5EA0000 */ swc1 $f10, ($t7) -/* 0B1294 7F07C724 8C590000 */ lw $t9, ($v0) -/* 0B1298 7F07C728 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B129C 7F07C72C C7240004 */ lwc1 $f4, 4($t9) -/* 0B12A0 7F07C730 E5E40004 */ swc1 $f4, 4($t7) -/* 0B12A4 7F07C734 8C4C0000 */ lw $t4, ($v0) -/* 0B12A8 7F07C738 C5860008 */ lwc1 $f6, 8($t4) -/* 0B12AC 7F07C73C E5E60008 */ swc1 $f6, 8($t7) -/* 0B12B0 7F07C740 8D380000 */ lw $t8, ($t1) -/* 0B12B4 7F07C744 8FAE004C */ lw $t6, 0x4c($sp) -/* 0B12B8 7F07C748 C70803C4 */ lwc1 $f8, 0x3c4($t8) -/* 0B12BC 7F07C74C E5C80000 */ swc1 $f8, ($t6) -/* 0B12C0 7F07C750 8D2D0000 */ lw $t5, ($t1) -/* 0B12C4 7F07C754 C5AA03C8 */ lwc1 $f10, 0x3c8($t5) -/* 0B12C8 7F07C758 E5CA0004 */ swc1 $f10, 4($t6) -/* 0B12CC 7F07C75C 8D390000 */ lw $t9, ($t1) -/* 0B12D0 7F07C760 C72403CC */ lwc1 $f4, 0x3cc($t9) -/* 0B12D4 7F07C764 E5C40008 */ swc1 $f4, 8($t6) -/* 0B12D8 7F07C768 8C4C0000 */ lw $t4, ($v0) -/* 0B12DC 7F07C76C 8FB80054 */ lw $t8, 0x54($sp) -/* 0B12E0 7F07C770 8D8F0028 */ lw $t7, 0x28($t4) -/* 0B12E4 7F07C774 AF0F0000 */ sw $t7, ($t8) -/* 0B12E8 7F07C778 8C4D0000 */ lw $t5, ($v0) -/* 0B12EC 7F07C77C C5A60000 */ lwc1 $f6, ($t5) -/* 0B12F0 7F07C780 E4660000 */ swc1 $f6, ($v1) -/* 0B12F4 7F07C784 8C590000 */ lw $t9, ($v0) -/* 0B12F8 7F07C788 C7280004 */ lwc1 $f8, 4($t9) -/* 0B12FC 7F07C78C E4680004 */ swc1 $f8, 4($v1) -/* 0B1300 7F07C790 8C4E0000 */ lw $t6, ($v0) -/* 0B1304 7F07C794 C5CA0008 */ lwc1 $f10, 8($t6) -/* 0B1308 7F07C798 100000EE */ b .Ljp7F07CB54 -/* 0B130C 7F07C79C E46A0008 */ swc1 $f10, 8($v1) -.Ljp7F07C7A0: -/* 0B1310 7F07C7A0 3C058008 */ lui $a1, %hi(dword_CODE_bss_800799FC) # $a1, 0x8008 -/* 0B1314 7F07C7A4 24A59A3C */ addiu $a1, %lo(dword_CODE_bss_800799FC) # addiu $a1, $a1, -0x65c4 -/* 0B1318 7F07C7A8 8CA40000 */ lw $a0, ($a1) -/* 0B131C 7F07C7AC 10800063 */ beqz $a0, .Ljp7F07C93C -/* 0B1320 7F07C7B0 00000000 */ nop -/* 0B1324 7F07C7B4 8C830018 */ lw $v1, 0x18($a0) -/* 0B1328 7F07C7B8 3C0D8007 */ lui $t5, %hi(ptr_2xxxpresets) # $t5, 0x8007 -/* 0B132C 7F07C7BC 8FB90048 */ lw $t9, 0x48($sp) -/* 0B1330 7F07C7C0 28612710 */ slti $at, $v1, 0x2710 -/* 0B1334 7F07C7C4 1020000A */ beqz $at, .Ljp7F07C7F0 -/* 0B1338 7F07C7C8 0003C100 */ sll $t8, $v1, 4 -/* 0B133C 7F07C7CC 00036080 */ sll $t4, $v1, 2 -/* 0B1340 7F07C7D0 01836023 */ subu $t4, $t4, $v1 -/* 0B1344 7F07C7D4 000C6080 */ sll $t4, $t4, 2 -/* 0B1348 7F07C7D8 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) # $t7, 0x8007 -/* 0B134C 7F07C7DC 8DEF5D58 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 0B1350 7F07C7E0 01836023 */ subu $t4, $t4, $v1 -/* 0B1354 7F07C7E4 000C6080 */ sll $t4, $t4, 2 -/* 0B1358 7F07C7E8 10000008 */ b .Ljp7F07C80C -/* 0B135C 7F07C7EC 018F1021 */ addu $v0, $t4, $t7 -.Ljp7F07C7F0: -/* 0B1360 7F07C7F0 8DAD5D5C */ lw $t5, %lo(ptr_2xxxpresets)($t5) -/* 0B1364 7F07C7F4 0303C021 */ addu $t8, $t8, $v1 -/* 0B1368 7F07C7F8 0018C080 */ sll $t8, $t8, 2 -/* 0B136C 7F07C7FC 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 0B1370 7F07C800 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 0B1374 7F07C804 030D1021 */ addu $v0, $t8, $t5 -/* 0B1378 7F07C808 00411021 */ addu $v0, $v0, $at -.Ljp7F07C80C: -/* 0B137C 7F07C80C C4840004 */ lwc1 $f4, 4($a0) -/* 0B1380 7F07C810 8FA30058 */ lw $v1, 0x58($sp) -/* 0B1384 7F07C814 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_80079A18) # $t5, 0x8008 -/* 0B1388 7F07C818 E7240000 */ swc1 $f4, ($t9) -/* 0B138C 7F07C81C 8CAE0000 */ lw $t6, ($a1) -/* 0B1390 7F07C820 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B1394 7F07C824 2529A120 */ addiu $t1, %lo(pPlayer) # addiu $t1, $t1, -0x5ee0 -/* 0B1398 7F07C828 C5C60008 */ lwc1 $f6, 8($t6) -/* 0B139C 7F07C82C E7260004 */ swc1 $f6, 4($t9) -/* 0B13A0 7F07C830 8CAC0000 */ lw $t4, ($a1) -/* 0B13A4 7F07C834 C588000C */ lwc1 $f8, 0xc($t4) -/* 0B13A8 7F07C838 E7280008 */ swc1 $f8, 8($t9) -/* 0B13AC 7F07C83C 8FB80054 */ lw $t8, 0x54($sp) -/* 0B13B0 7F07C840 8C4F0028 */ lw $t7, 0x28($v0) -/* 0B13B4 7F07C844 AF0F0000 */ sw $t7, ($t8) -/* 0B13B8 7F07C848 C44A0000 */ lwc1 $f10, ($v0) -/* 0B13BC 7F07C84C E46A0000 */ swc1 $f10, ($v1) -/* 0B13C0 7F07C850 C4440004 */ lwc1 $f4, 4($v0) -/* 0B13C4 7F07C854 E4640004 */ swc1 $f4, 4($v1) -/* 0B13C8 7F07C858 C4460008 */ lwc1 $f6, 8($v0) -/* 0B13CC 7F07C85C E4660008 */ swc1 $f6, 8($v1) -/* 0B13D0 7F07C860 8DAD9A58 */ lw $t5, %lo(dword_CODE_bss_80079A18)($t5) -/* 0B13D4 7F07C864 556D000D */ bnel $t3, $t5, .Ljp7F07C89C -/* 0B13D8 7F07C868 8CB80000 */ lw $t8, ($a1) -/* 0B13DC 7F07C86C 8D2E0000 */ lw $t6, ($t1) -/* 0B13E0 7F07C870 8FAC004C */ lw $t4, 0x4c($sp) -/* 0B13E4 7F07C874 C5C803C4 */ lwc1 $f8, 0x3c4($t6) -/* 0B13E8 7F07C878 E5880000 */ swc1 $f8, ($t4) -/* 0B13EC 7F07C87C 8D390000 */ lw $t9, ($t1) -/* 0B13F0 7F07C880 C72A03C8 */ lwc1 $f10, 0x3c8($t9) -/* 0B13F4 7F07C884 E58A0004 */ swc1 $f10, 4($t4) -/* 0B13F8 7F07C888 8D2F0000 */ lw $t7, ($t1) -/* 0B13FC 7F07C88C C5E403CC */ lwc1 $f4, 0x3cc($t7) -/* 0B1400 7F07C890 100000B0 */ b .Ljp7F07CB54 -/* 0B1404 7F07C894 E5840008 */ swc1 $f4, 8($t4) -/* 0B1408 7F07C898 8CB80000 */ lw $t8, ($a1) -.Ljp7F07C89C: -/* 0B140C 7F07C89C 0FC160F0 */ jal cosf -/* 0B1410 7F07C8A0 C70C0014 */ lwc1 $f12, 0x14($t8) -/* 0B1414 7F07C8A4 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_800799FC) # $t5, 0x8008 -/* 0B1418 7F07C8A8 8DAD9A3C */ lw $t5, %lo(dword_CODE_bss_800799FC)($t5) -/* 0B141C 7F07C8AC E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B1420 7F07C8B0 0FC160F3 */ jal sinf -/* 0B1424 7F07C8B4 C5AC0010 */ lwc1 $f12, 0x10($t5) -/* 0B1428 7F07C8B8 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 0B142C 7F07C8BC 8FAE0048 */ lw $t6, 0x48($sp) -/* 0B1430 7F07C8C0 8FB9004C */ lw $t9, 0x4c($sp) -/* 0B1434 7F07C8C4 46060202 */ mul.s $f8, $f0, $f6 -/* 0B1438 7F07C8C8 C5CA0000 */ lwc1 $f10, ($t6) -/* 0B143C 7F07C8CC 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_800799FC) # $t7, 0x8008 -/* 0B1440 7F07C8D0 460A4100 */ add.s $f4, $f8, $f10 -/* 0B1444 7F07C8D4 E7240000 */ swc1 $f4, ($t9) -/* 0B1448 7F07C8D8 8DEF9A3C */ lw $t7, %lo(dword_CODE_bss_800799FC)($t7) -/* 0B144C 7F07C8DC 0FC160F3 */ jal sinf -/* 0B1450 7F07C8E0 C5EC0014 */ lwc1 $f12, 0x14($t7) -/* 0B1454 7F07C8E4 8FAC0048 */ lw $t4, 0x48($sp) -/* 0B1458 7F07C8E8 8FB8004C */ lw $t8, 0x4c($sp) -/* 0B145C 7F07C8EC 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_800799FC) # $t5, 0x8008 -/* 0B1460 7F07C8F0 C5860004 */ lwc1 $f6, 4($t4) -/* 0B1464 7F07C8F4 46060200 */ add.s $f8, $f0, $f6 -/* 0B1468 7F07C8F8 E7080004 */ swc1 $f8, 4($t8) -/* 0B146C 7F07C8FC 8DAD9A3C */ lw $t5, %lo(dword_CODE_bss_800799FC)($t5) -/* 0B1470 7F07C900 0FC160F0 */ jal cosf -/* 0B1474 7F07C904 C5AC0014 */ lwc1 $f12, 0x14($t5) -/* 0B1478 7F07C908 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_800799FC) # $t6, 0x8008 -/* 0B147C 7F07C90C 8DCE9A3C */ lw $t6, %lo(dword_CODE_bss_800799FC)($t6) -/* 0B1480 7F07C910 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B1484 7F07C914 0FC160F0 */ jal cosf -/* 0B1488 7F07C918 C5CC0010 */ lwc1 $f12, 0x10($t6) -/* 0B148C 7F07C91C C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0B1490 7F07C920 8FB90048 */ lw $t9, 0x48($sp) -/* 0B1494 7F07C924 8FAF004C */ lw $t7, 0x4c($sp) -/* 0B1498 7F07C928 46040182 */ mul.s $f6, $f0, $f4 -/* 0B149C 7F07C92C C72A0008 */ lwc1 $f10, 8($t9) -/* 0B14A0 7F07C930 46065201 */ sub.s $f8, $f10, $f6 -/* 0B14A4 7F07C934 10000087 */ b .Ljp7F07CB54 -/* 0B14A8 7F07C938 E5E80008 */ swc1 $f8, 8($t7) -.Ljp7F07C93C: -/* 0B14AC 7F07C93C 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079A14) # $v0, 0x8008 -/* 0B14B0 7F07C940 8C429A54 */ lw $v0, %lo(dword_CODE_bss_80079A14)($v0) -/* 0B14B4 7F07C944 3C0E8007 */ lui $t6, %hi(ptr_2xxxpresets) # $t6, 0x8007 -/* 0B14B8 7F07C948 8FAF0054 */ lw $t7, 0x54($sp) -/* 0B14BC 7F07C94C 28412710 */ slti $at, $v0, 0x2710 -/* 0B14C0 7F07C950 1020000A */ beqz $at, .Ljp7F07C97C -/* 0B14C4 7F07C954 00026900 */ sll $t5, $v0, 4 -/* 0B14C8 7F07C958 00026080 */ sll $t4, $v0, 2 -/* 0B14CC 7F07C95C 01826023 */ subu $t4, $t4, $v0 -/* 0B14D0 7F07C960 000C6080 */ sll $t4, $t4, 2 -/* 0B14D4 7F07C964 3C188007 */ lui $t8, %hi(ptr_0xxxpresets) # $t8, 0x8007 -/* 0B14D8 7F07C968 8F185D58 */ lw $t8, %lo(ptr_0xxxpresets)($t8) -/* 0B14DC 7F07C96C 01826023 */ subu $t4, $t4, $v0 -/* 0B14E0 7F07C970 000C6080 */ sll $t4, $t4, 2 -/* 0B14E4 7F07C974 10000008 */ b .Ljp7F07C998 -/* 0B14E8 7F07C978 01982021 */ addu $a0, $t4, $t8 -.Ljp7F07C97C: -/* 0B14EC 7F07C97C 8DCE5D5C */ lw $t6, %lo(ptr_2xxxpresets)($t6) -/* 0B14F0 7F07C980 01A26821 */ addu $t5, $t5, $v0 -/* 0B14F4 7F07C984 000D6880 */ sll $t5, $t5, 2 -/* 0B14F8 7F07C988 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 0B14FC 7F07C98C 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 0B1500 7F07C990 01AE2021 */ addu $a0, $t5, $t6 -/* 0B1504 7F07C994 00812021 */ addu $a0, $a0, $at -.Ljp7F07C998: -/* 0B1508 7F07C998 8C990028 */ lw $t9, 0x28($a0) -/* 0B150C 7F07C99C 8FA30058 */ lw $v1, 0x58($sp) -/* 0B1510 7F07C9A0 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) # $v0, 0x8008 -/* 0B1514 7F07C9A4 ADF90000 */ sw $t9, ($t7) -/* 0B1518 7F07C9A8 C4840000 */ lwc1 $f4, ($a0) -/* 0B151C 7F07C9AC 24429A40 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x65c0 -/* 0B1520 7F07C9B0 E4640000 */ swc1 $f4, ($v1) -/* 0B1524 7F07C9B4 C48A0004 */ lwc1 $f10, 4($a0) -/* 0B1528 7F07C9B8 E46A0004 */ swc1 $f10, 4($v1) -/* 0B152C 7F07C9BC C4860008 */ lwc1 $f6, 8($a0) -/* 0B1530 7F07C9C0 E4660008 */ swc1 $f6, 8($v1) -/* 0B1534 7F07C9C4 AFA40020 */ sw $a0, 0x20($sp) -/* 0B1538 7F07C9C8 0FC160F0 */ jal cosf -/* 0B153C 7F07C9CC C44C0000 */ lwc1 $f12, ($v0) -/* 0B1540 7F07C9D0 8FA40020 */ lw $a0, 0x20($sp) -/* 0B1544 7F07C9D4 8FAC004C */ lw $t4, 0x4c($sp) -/* 0B1548 7F07C9D8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A10) # $at, 0x8008 -/* 0B154C 7F07C9DC C4880000 */ lwc1 $f8, ($a0) -/* 0B1550 7F07C9E0 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) # $v0, 0x8008 -/* 0B1554 7F07C9E4 24429A40 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x65c0 -/* 0B1558 7F07C9E8 E5880000 */ swc1 $f8, ($t4) -/* 0B155C 7F07C9EC C42A9A50 */ lwc1 $f10, %lo(flt_CODE_bss_80079A10)($at) -/* 0B1560 7F07C9F0 C4840004 */ lwc1 $f4, 4($a0) -/* 0B1564 7F07C9F4 460A2180 */ add.s $f6, $f4, $f10 -/* 0B1568 7F07C9F8 E5860004 */ swc1 $f6, 4($t4) -/* 0B156C 7F07C9FC 0FC160F3 */ jal sinf -/* 0B1570 7F07CA00 C44C0000 */ lwc1 $f12, ($v0) -/* 0B1574 7F07CA04 8FA40020 */ lw $a0, 0x20($sp) -/* 0B1578 7F07CA08 8FB8004C */ lw $t8, 0x4c($sp) -/* 0B157C 7F07CA0C 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) # $v0, 0x8008 -/* 0B1580 7F07CA10 C4880008 */ lwc1 $f8, 8($a0) -/* 0B1584 7F07CA14 24429A40 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x65c0 -/* 0B1588 7F07CA18 E7080008 */ swc1 $f8, 8($t8) -/* 0B158C 7F07CA1C 0FC160F3 */ jal sinf -/* 0B1590 7F07CA20 C44C0000 */ lwc1 $f12, ($v0) -/* 0B1594 7F07CA24 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) # $v0, 0x8008 -/* 0B1598 7F07CA28 24429A40 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x65c0 -/* 0B159C 7F07CA2C C44C0000 */ lwc1 $f12, ($v0) -/* 0B15A0 7F07CA30 0FC160F0 */ jal cosf -/* 0B15A4 7F07CA34 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B15A8 7F07CA38 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A08) # $at, 0x8008 -/* 0B15AC 7F07CA3C C42A9A48 */ lwc1 $f10, %lo(flt_CODE_bss_80079A08)($at) -/* 0B15B0 7F07CA40 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0B15B4 7F07CA44 8FA40020 */ lw $a0, 0x20($sp) -/* 0B15B8 7F07CA48 8FAD0048 */ lw $t5, 0x48($sp) -/* 0B15BC 7F07CA4C 460A2182 */ mul.s $f6, $f4, $f10 -/* 0B15C0 7F07CA50 C4880000 */ lwc1 $f8, ($a0) -/* 0B15C4 7F07CA54 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A10) # $at, 0x8008 -/* 0B15C8 7F07CA58 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) # $v0, 0x8008 -/* 0B15CC 7F07CA5C 24429A40 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x65c0 -/* 0B15D0 7F07CA60 46064100 */ add.s $f4, $f8, $f6 -/* 0B15D4 7F07CA64 E5A40000 */ swc1 $f4, ($t5) -/* 0B15D8 7F07CA68 C4289A50 */ lwc1 $f8, %lo(flt_CODE_bss_80079A10)($at) -/* 0B15DC 7F07CA6C C48A0004 */ lwc1 $f10, 4($a0) -/* 0B15E0 7F07CA70 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A0C) # $at, 0x8008 -/* 0B15E4 7F07CA74 C4249A4C */ lwc1 $f4, %lo(flt_CODE_bss_80079A0C)($at) -/* 0B15E8 7F07CA78 46085180 */ add.s $f6, $f10, $f8 -/* 0B15EC 7F07CA7C 46043280 */ add.s $f10, $f6, $f4 -/* 0B15F0 7F07CA80 E5AA0004 */ swc1 $f10, 4($t5) -/* 0B15F4 7F07CA84 0FC160F0 */ jal cosf -/* 0B15F8 7F07CA88 C44C0000 */ lwc1 $f12, ($v0) -/* 0B15FC 7F07CA8C 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) # $v0, 0x8008 -/* 0B1600 7F07CA90 24429A40 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x65c0 -/* 0B1604 7F07CA94 C44C0000 */ lwc1 $f12, ($v0) -/* 0B1608 7F07CA98 0FC160F3 */ jal sinf -/* 0B160C 7F07CA9C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0B1610 7F07CAA0 3C018005 */ lui $at, %hi(D_8005505C) # $at, 0x8005 -/* 0B1614 7F07CAA4 C42C508C */ lwc1 $f12, %lo(D_8005505C)($at) -/* 0B1618 7F07CAA8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A08) # $at, 0x8008 -/* 0B161C 7F07CAAC C4269A48 */ lwc1 $f6, %lo(flt_CODE_bss_80079A08)($at) -/* 0B1620 7F07CAB0 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 0B1624 7F07CAB4 8FA40020 */ lw $a0, 0x20($sp) -/* 0B1628 7F07CAB8 8FAE0048 */ lw $t6, 0x48($sp) -/* 0B162C 7F07CABC 46064102 */ mul.s $f4, $f8, $f6 -/* 0B1630 7F07CAC0 C48A0008 */ lwc1 $f10, 8($a0) -/* 0B1634 7F07CAC4 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A04) # $at, 0x8008 -/* 0B1638 7F07CAC8 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079A00) # $v0, 0x8008 -/* 0B163C 7F07CACC 24429A40 */ addiu $v0, %lo(flt_CODE_bss_80079A00) # addiu $v0, $v0, -0x65c0 -/* 0B1640 7F07CAD0 44807000 */ mtc1 $zero, $f14 -/* 0B1644 7F07CAD4 46045200 */ add.s $f8, $f10, $f4 -/* 0B1648 7F07CAD8 E5C80008 */ swc1 $f8, 8($t6) -/* 0B164C 7F07CADC C4269A44 */ lwc1 $f6, %lo(flt_CODE_bss_80079A04)($at) -/* 0B1650 7F07CAE0 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0B1654 7F07CAE4 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 0B1658 7F07CAE8 C4480000 */ lwc1 $f8, ($v0) -/* 0B165C 7F07CAEC 460A3102 */ mul.s $f4, $f6, $f10 -/* 0B1660 7F07CAF0 46044180 */ add.s $f6, $f8, $f4 -/* 0B1664 7F07CAF4 E4460000 */ swc1 $f6, ($v0) -/* 0B1668 7F07CAF8 C4420000 */ lwc1 $f2, ($v0) -/* 0B166C 7F07CAFC 4602603E */ c.le.s $f12, $f2 -/* 0B1670 7F07CB00 00000000 */ nop -/* 0B1674 7F07CB04 45020009 */ bc1fl .Ljp7F07CB2C -/* 0B1678 7F07CB08 460E103C */ c.lt.s $f2, $f14 -/* 0B167C 7F07CB0C 460C1281 */ sub.s $f10, $f2, $f12 -.Ljp7F07CB10: -/* 0B1680 7F07CB10 E44A0000 */ swc1 $f10, ($v0) -/* 0B1684 7F07CB14 C4420000 */ lwc1 $f2, ($v0) -/* 0B1688 7F07CB18 4602603E */ c.le.s $f12, $f2 -/* 0B168C 7F07CB1C 00000000 */ nop -/* 0B1690 7F07CB20 4503FFFB */ bc1tl .Ljp7F07CB10 -/* 0B1694 7F07CB24 460C1281 */ sub.s $f10, $f2, $f12 -/* 0B1698 7F07CB28 460E103C */ c.lt.s $f2, $f14 -.Ljp7F07CB2C: -/* 0B169C 7F07CB2C 00000000 */ nop -/* 0B16A0 7F07CB30 45020009 */ bc1fl .Ljp7F07CB58 -/* 0B16A4 7F07CB34 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B16A8 7F07CB38 460C1200 */ add.s $f8, $f2, $f12 -.Ljp7F07CB3C: -/* 0B16AC 7F07CB3C E4480000 */ swc1 $f8, ($v0) -/* 0B16B0 7F07CB40 C4420000 */ lwc1 $f2, ($v0) -/* 0B16B4 7F07CB44 460E103C */ c.lt.s $f2, $f14 -/* 0B16B8 7F07CB48 00000000 */ nop -/* 0B16BC 7F07CB4C 4503FFFB */ bc1tl .Ljp7F07CB3C -/* 0B16C0 7F07CB50 460C1200 */ add.s $f8, $f2, $f12 -.Ljp7F07CB54: -/* 0B16C4 7F07CB54 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F07CB58: -/* 0B16C8 7F07CB58 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0B16CC 7F07CB5C 03E00008 */ jr $ra -/* 0B16D0 7F07CB60 00000000 */ nop -) -#endif - -#endif - - -void sub_GAME_7F07C540(s32 arg0) -{ - pPlayer->field_42C = arg0; -} - -void set_BONDdata_lookahead_setting(s32 arg0) -{ - pPlayer->automovecentreenabled = arg0; -} - -s32 get_BONDdata_lookahead_setting(void) -{ - return pPlayer->automovecentreenabled; -} - -void set_BONDdata_autoaim_y(s32 param_1) -{ - pPlayer->autoyaimenabled = param_1; -} - - - - - - -#ifdef NONMATCHING -s32 get_BONDdata_autoaim_y(void) -{ - if (get_num_players() == 1) { - return pPlayer->autoyaimenabled; - } - else { - return pPlayersPerm->autoaim; - } -} -#else -GLOBAL_ASM( -.text -glabel get_BONDdata_autoaim_y -/* 0B10B0 7F07C580 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B10B4 7F07C584 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B10B8 7F07C588 0FC26919 */ jal get_num_players -/* 0B10BC 7F07C58C 00000000 */ nop -/* 0B10C0 7F07C590 24010001 */ li $at, 1 -/* 0B10C4 7F07C594 14410005 */ bne $v0, $at, .L7F07C5AC -/* 0B10C8 7F07C598 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B10CC 7F07C59C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B10D0 7F07C5A0 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B10D4 7F07C5A4 10000004 */ b .L7F07C5B8 -/* 0B10D8 7F07C5A8 8DC20128 */ lw $v0, 0x128($t6) -.L7F07C5AC: -/* 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 -/* 0B10EC 7F07C5BC 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - - -int redirect_get_BONDdata_autoaim_y(void) { - // Node 0 - return get_BONDdata_autoaim_y(); -} - -s32 get_BONDdata_is_aiming(void) { - return pPlayer->insightaimmode; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07C5F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07C5F0 -/* 0B1120 7F07C5F0 44856000 */ mtc1 $a1, $f12 -/* 0B1124 7F07C5F4 3C058008 */ lui $a1, %hi(pPlayer) -/* 0B1128 7F07C5F8 24A5A0B0 */ addiu $a1, %lo(pPlayer) # addiu $a1, $a1, -0x5f50 -/* 0B112C 7F07C5FC 8CA20000 */ lw $v0, ($a1) -/* 0B1130 7F07C600 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 0B1134 7F07C604 8C430134 */ lw $v1, 0x134($v0) -/* 0B1138 7F07C608 04620006 */ bltzl $v1, .L7F07C624 -/* 0B113C 7F07C60C 8C580130 */ lw $t8, 0x130($v0) -/* 0B1140 7F07C610 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 0B1144 7F07C614 006E7823 */ subu $t7, $v1, $t6 -/* 0B1148 7F07C618 AC4F0134 */ sw $t7, 0x134($v0) -/* 0B114C 7F07C61C 8CA20000 */ lw $v0, ($a1) -/* 0B1150 7F07C620 8C580130 */ lw $t8, 0x130($v0) -.L7F07C624: -/* 0B1154 7F07C624 5098000A */ beql $a0, $t8, .L7F07C650 -/* 0B1158 7F07C628 E44C012C */ swc1 $f12, 0x12c($v0) -/* 0B115C 7F07C62C 8C590134 */ lw $t9, 0x134($v0) -/* 0B1160 7F07C630 2408001E */ li $t0, 30 -/* 0B1164 7F07C634 07210006 */ bgez $t9, .L7F07C650 -/* 0B1168 7F07C638 00000000 */ nop -/* 0B116C 7F07C63C AC480134 */ sw $t0, 0x134($v0) -/* 0B1170 7F07C640 8CA90000 */ lw $t1, ($a1) -/* 0B1174 7F07C644 AD240130 */ sw $a0, 0x130($t1) -/* 0B1178 7F07C648 8CA20000 */ lw $v0, ($a1) -/* 0B117C 7F07C64C E44C012C */ swc1 $f12, 0x12c($v0) -.L7F07C650: -/* 0B1180 7F07C650 03E00008 */ jr $ra -/* 0B1184 7F07C654 00000000 */ nop -) -#endif - - - - - -void set_BONDdata_autoaim_x(s32 param_1) { - pPlayer->autoxaimenabled = param_1; - return; -} - - - - - -#ifdef NONMATCHING -void get_BONDdata_autoaim_x(void) { - // Node 0 - if (get_num_players() != 1) - { - // Node 2 - // Node 3 - return pPlayersPerm->unk6A; - } - // Node 1 - return pPlayersPerm->unk6A; -} -#else -GLOBAL_ASM( -.text -glabel get_BONDdata_autoaim_x -/* 0B1198 7F07C668 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B119C 7F07C66C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B11A0 7F07C670 0FC26919 */ jal get_num_players -/* 0B11A4 7F07C674 00000000 */ nop -/* 0B11A8 7F07C678 24010001 */ li $at, 1 -/* 0B11AC 7F07C67C 14410005 */ bne $v0, $at, .L7F07C694 -/* 0B11B0 7F07C680 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B11B4 7F07C684 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B11B8 7F07C688 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B11BC 7F07C68C 10000004 */ b .L7F07C6A0 -/* 0B11C0 7F07C690 8DC20138 */ lw $v0, 0x138($t6) -.L7F07C694: -/* 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 -/* 0B11D4 7F07C6A4 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -int redirect_get_BONDdata_autoaim_x(void) { - return get_BONDdata_autoaim_x(); -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07C6C8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07C6C8 -/* 0B11F8 7F07C6C8 44856000 */ mtc1 $a1, $f12 -/* 0B11FC 7F07C6CC 3C058008 */ lui $a1, %hi(pPlayer) -/* 0B1200 7F07C6D0 24A5A0B0 */ addiu $a1, %lo(pPlayer) # addiu $a1, $a1, -0x5f50 -/* 0B1204 7F07C6D4 8CA20000 */ lw $v0, ($a1) -/* 0B1208 7F07C6D8 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 0B120C 7F07C6DC 8C430144 */ lw $v1, 0x144($v0) -/* 0B1210 7F07C6E0 04620006 */ bltzl $v1, .L7F07C6FC -/* 0B1214 7F07C6E4 8C580140 */ lw $t8, 0x140($v0) -/* 0B1218 7F07C6E8 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 0B121C 7F07C6EC 006E7823 */ subu $t7, $v1, $t6 -/* 0B1220 7F07C6F0 AC4F0144 */ sw $t7, 0x144($v0) -/* 0B1224 7F07C6F4 8CA20000 */ lw $v0, ($a1) -/* 0B1228 7F07C6F8 8C580140 */ lw $t8, 0x140($v0) -.L7F07C6FC: -/* 0B122C 7F07C6FC 5098000A */ beql $a0, $t8, .L7F07C728 -/* 0B1230 7F07C700 E44C013C */ swc1 $f12, 0x13c($v0) -/* 0B1234 7F07C704 8C590144 */ lw $t9, 0x144($v0) -/* 0B1238 7F07C708 2408001E */ li $t0, 30 -/* 0B123C 7F07C70C 07210006 */ bgez $t9, .L7F07C728 -/* 0B1240 7F07C710 00000000 */ nop -/* 0B1244 7F07C714 AC480144 */ sw $t0, 0x144($v0) -/* 0B1248 7F07C718 8CA90000 */ lw $t1, ($a1) -/* 0B124C 7F07C71C AD240140 */ sw $a0, 0x140($t1) -/* 0B1250 7F07C720 8CA20000 */ lw $v0, ($a1) -/* 0B1254 7F07C724 E44C013C */ swc1 $f12, 0x13c($v0) -.L7F07C728: -/* 0B1258 7F07C728 03E00008 */ jr $ra -/* 0B125C 7F07C72C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 change_player_pos_to_target(void *arg0, void *arg1, ?32 arg2) { - // Node 0 - arg0->unk4 = (f32) *arg1; - arg0->unk8 = (f32) arg1->unk4; - arg0->unkC = (f32) arg1->unk8; - *arg0 = arg2; - arg0->unk50 = arg2; - arg0->unk3C = 0.0f; - arg0->unk40 = 0.0f; - arg0->unk44 = 0.0f; - arg0->unk4C = 0.0f; - arg0->unk10 = 0.0f; - arg0->unk14 = 0.0f; - arg0->unk2C = (f32) arg0->unk4; - arg0->unk1C = (f32) arg0->unk4; - arg0->unk38 = 1.0f; - arg0->unk48 = 1.0f; - arg0->unk18 = 1.0f; - arg0->unk30 = (f32) arg0->unk8; - arg0->unk20 = (f32) arg0->unk8; - arg0->unk34 = (f32) arg0->unkC; - arg0->unk24 = (f32) arg0->unkC; - arg0->unk28 = 30.0f; - return arg0->unk4; -} -#else -GLOBAL_ASM( -.text -glabel change_player_pos_to_target -/* 0B1260 7F07C730 C4A40000 */ lwc1 $f4, ($a1) -/* 0B1264 7F07C734 44808000 */ mtc1 $zero, $f16 -/* 0B1268 7F07C738 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B126C 7F07C73C E4840004 */ swc1 $f4, 4($a0) -/* 0B1270 7F07C740 C4A60004 */ lwc1 $f6, 4($a1) -/* 0B1274 7F07C744 44817000 */ mtc1 $at, $f14 -/* 0B1278 7F07C748 C4800004 */ lwc1 $f0, 4($a0) -/* 0B127C 7F07C74C E4860008 */ swc1 $f6, 8($a0) -/* 0B1280 7F07C750 C4A80008 */ lwc1 $f8, 8($a1) -/* 0B1284 7F07C754 C4820008 */ lwc1 $f2, 8($a0) -/* 0B1288 7F07C758 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B128C 7F07C75C E488000C */ swc1 $f8, 0xc($a0) -/* 0B1290 7F07C760 C48C000C */ lwc1 $f12, 0xc($a0) -/* 0B1294 7F07C764 44815000 */ mtc1 $at, $f10 -/* 0B1298 7F07C768 AC860000 */ sw $a2, ($a0) -/* 0B129C 7F07C76C AC860050 */ sw $a2, 0x50($a0) -/* 0B12A0 7F07C770 E490003C */ swc1 $f16, 0x3c($a0) -/* 0B12A4 7F07C774 E4900040 */ swc1 $f16, 0x40($a0) -/* 0B12A8 7F07C778 E4900044 */ swc1 $f16, 0x44($a0) -/* 0B12AC 7F07C77C E490004C */ swc1 $f16, 0x4c($a0) -/* 0B12B0 7F07C780 E4900010 */ swc1 $f16, 0x10($a0) -/* 0B12B4 7F07C784 E4900014 */ swc1 $f16, 0x14($a0) -/* 0B12B8 7F07C788 E480002C */ swc1 $f0, 0x2c($a0) -/* 0B12BC 7F07C78C E480001C */ swc1 $f0, 0x1c($a0) -/* 0B12C0 7F07C790 E48E0038 */ swc1 $f14, 0x38($a0) -/* 0B12C4 7F07C794 E48E0048 */ swc1 $f14, 0x48($a0) -/* 0B12C8 7F07C798 E48E0018 */ swc1 $f14, 0x18($a0) -/* 0B12CC 7F07C79C E4820030 */ swc1 $f2, 0x30($a0) -/* 0B12D0 7F07C7A0 E4820020 */ swc1 $f2, 0x20($a0) -/* 0B12D4 7F07C7A4 E48C0034 */ swc1 $f12, 0x34($a0) -/* 0B12D8 7F07C7A8 E48C0024 */ swc1 $f12, 0x24($a0) -/* 0B12DC 7F07C7AC 03E00008 */ jr $ra -/* 0B12E0 7F07C7B0 E48A0028 */ swc1 $f10, 0x28($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07C7B4(void) { - ? sp24; - - // Node 0 - if (ptr_playerstank != 0) - { - // Node 1 - sub_GAME_7F0585FC((D_80055060 - D_80036474), ptr_playerstank, &sp24, ptr_playerstank->unk4->unk14->unk8->unk8->unk8->unk4, ptr_playerstank->unk4->unk14->unk8->unk8->unk4->unk4); - flt_CODE_bss_800799A8 = (f32) *sp68; - flt_CODE_bss_800799A8.unk4 = (f32) sp68->unk4; - flt_CODE_bss_800799A8.unk8 = (f32) sp68->unk8; - sub_GAME_7F0583D8(&sp24, &flt_CODE_bss_800799A8, sp68); - flt_CODE_bss_800799A8 = (f32) (flt_CODE_bss_800799A8 + *sp64); - flt_CODE_bss_800799A8.unk4 = (f32) (flt_CODE_bss_800799A8.unk4 + sp64->unk4); - flt_CODE_bss_800799A8.unk8 = (f32) (flt_CODE_bss_800799A8.unk8 + sp64->unk8); - } - // Node 2 - return; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055060 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F07C7B4 -/* 0B12E4 7F07C7B4 3C048003 */ lui $a0, %hi(ptr_playerstank) -/* 0B12E8 7F07C7B8 8C846450 */ lw $a0, %lo(ptr_playerstank)($a0) -/* 0B12EC 7F07C7BC 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0B12F0 7F07C7C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B12F4 7F07C7C4 5080002D */ beql $a0, $zero, .L7F07C87C -/* 0B12F8 7F07C7C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B12FC 7F07C7CC 8C830004 */ lw $v1, 4($a0) -/* 0B1300 7F07C7D0 3C018005 */ lui $at, %hi(D_80055060) -/* 0B1304 7F07C7D4 C4245060 */ lwc1 $f4, %lo(D_80055060)($at) -/* 0B1308 7F07C7D8 8C6E0014 */ lw $t6, 0x14($v1) -/* 0B130C 7F07C7DC 3C018003 */ lui $at, %hi(D_80036474) -/* 0B1310 7F07C7E0 C4266474 */ lwc1 $f6, %lo(D_80036474)($at) -/* 0B1314 7F07C7E4 8DCF0008 */ lw $t7, 8($t6) -/* 0B1318 7F07C7E8 27A50024 */ addiu $a1, $sp, 0x24 -/* 0B131C 7F07C7EC 46062301 */ sub.s $f12, $f4, $f6 -/* 0B1320 7F07C7F0 8DE20008 */ lw $v0, 8($t7) -/* 0B1324 7F07C7F4 8C580008 */ lw $t8, 8($v0) -/* 0B1328 7F07C7F8 8C590004 */ lw $t9, 4($v0) -/* 0B132C 7F07C7FC 8F060004 */ lw $a2, 4($t8) -/* 0B1330 7F07C800 8F270004 */ lw $a3, 4($t9) -/* 0B1334 7F07C804 AFA60068 */ sw $a2, 0x68($sp) -/* 0B1338 7F07C808 0FC1617F */ jal sub_GAME_7F0585FC -/* 0B133C 7F07C80C AFA70064 */ sw $a3, 0x64($sp) -/* 0B1340 7F07C810 8FA60068 */ lw $a2, 0x68($sp) -/* 0B1344 7F07C814 3C058008 */ lui $a1, %hi(flt_CODE_bss_800799A8) -/* 0B1348 7F07C818 24A599A8 */ addiu $a1, %lo(flt_CODE_bss_800799A8) # addiu $a1, $a1, -0x6658 -/* 0B134C 7F07C81C C4C80000 */ lwc1 $f8, ($a2) -/* 0B1350 7F07C820 27A40024 */ addiu $a0, $sp, 0x24 -/* 0B1354 7F07C824 E4A80000 */ swc1 $f8, ($a1) -/* 0B1358 7F07C828 C4CA0004 */ lwc1 $f10, 4($a2) -/* 0B135C 7F07C82C E4AA0004 */ swc1 $f10, 4($a1) -/* 0B1360 7F07C830 C4D00008 */ lwc1 $f16, 8($a2) -/* 0B1364 7F07C834 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0B1368 7F07C838 E4B00008 */ swc1 $f16, 8($a1) -/* 0B136C 7F07C83C 8FA70064 */ lw $a3, 0x64($sp) -/* 0B1370 7F07C840 3C058008 */ lui $a1, %hi(flt_CODE_bss_800799A8) -/* 0B1374 7F07C844 24A599A8 */ addiu $a1, %lo(flt_CODE_bss_800799A8) # addiu $a1, $a1, -0x6658 -/* 0B1378 7F07C848 C4B20000 */ lwc1 $f18, ($a1) -/* 0B137C 7F07C84C C4E40000 */ lwc1 $f4, ($a3) -/* 0B1380 7F07C850 C4A80004 */ lwc1 $f8, 4($a1) -/* 0B1384 7F07C854 46049180 */ add.s $f6, $f18, $f4 -/* 0B1388 7F07C858 C4B20008 */ lwc1 $f18, 8($a1) -/* 0B138C 7F07C85C E4A60000 */ swc1 $f6, ($a1) -/* 0B1390 7F07C860 C4EA0004 */ lwc1 $f10, 4($a3) -/* 0B1394 7F07C864 460A4400 */ add.s $f16, $f8, $f10 -/* 0B1398 7F07C868 E4B00004 */ swc1 $f16, 4($a1) -/* 0B139C 7F07C86C C4E40008 */ lwc1 $f4, 8($a3) -/* 0B13A0 7F07C870 46049180 */ add.s $f6, $f18, $f4 -/* 0B13A4 7F07C874 E4A60008 */ swc1 $f6, 8($a1) -/* 0B13A8 7F07C878 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07C87C: -/* 0B13AC 7F07C87C 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0B13B0 7F07C880 03E00008 */ jr $ra -/* 0B13B4 7F07C884 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F07C888(void *arg0, void *arg1, ? arg2) { - f32 sp1C; - f32 sp20; - f32 sp24; - f32 sp38; - f32 sp3C; - f32 sp40; - f32 sp44; - ? temp_ret; - f32 temp_f6; - f32 temp_f10; - f32 temp_f12; - f32 temp_f2; - f32 temp_f16; - f32 temp_f18; - f32 temp_f8; - f32 temp_f4; - f32 temp_f0; - f32 temp_f2_2; - f32 temp_f10_2; - - // Node 0 - temp_ret = sub_GAME_7F040078(ptr_playerstank->unk4, arg0); - temp_f6 = (temp_ret->unk4 - flt_CODE_bss_800799A8); - sp44 = temp_f6; - temp_f10 = (temp_ret->unk8 - flt_CODE_bss_800799A8); - sp40 = temp_f10; - sp3C = (f32) (temp_ret->unk14 - flt_CODE_bss_800799A8.unk8); - sp38 = (f32) (temp_ret->unk18 - flt_CODE_bss_800799A8.unk8); - temp_f12 = (sinf(arg2, (cosf(arg2) * sp4C->unk14->unk14)) * sp4C->unk14->unk14); - temp_f2 = (-sp3C * temp_f12); - temp_f16 = (sp44 * sp34); - *arg0 = (f32) ((*arg1 + temp_f2) + temp_f16); - temp_f18 = (sp3C * sp34); - temp_f8 = (temp_f6 * temp_f12); - sp24 = temp_f8; - arg0->unk4 = (f32) ((arg1->unk8 + temp_f18) + temp_f8); - temp_f4 = (temp_f10 * sp34); - sp20 = temp_f4; - arg0->unk8 = (f32) ((*arg1 + temp_f2) + temp_f4); - temp_f0 = (sp40 * temp_f12); - arg0->unkC = (f32) ((arg1->unk8 + temp_f18) + temp_f0); - temp_f2_2 = (-sp38 * temp_f12); - arg0->unk10 = (f32) ((*arg1 + temp_f2_2) + sp20); - temp_f10_2 = (sp38 * sp34); - sp1C = temp_f10_2; - arg0->unk14 = (f32) ((arg1->unk8 + temp_f10_2) + temp_f0); - arg0->unk18 = (f32) ((*arg1 + temp_f2_2) + temp_f16); - arg0->unk1C = (f32) ((arg1->unk8 + sp1C) + sp24); - return temp_f0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07C888 -/* 0B13B8 7F07C888 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0B13BC 7F07C88C 3C0E8003 */ lui $t6, %hi(ptr_playerstank) -/* 0B13C0 7F07C890 8DCE6450 */ lw $t6, %lo(ptr_playerstank)($t6) -/* 0B13C4 7F07C894 AFA60058 */ sw $a2, 0x58($sp) -/* 0B13C8 7F07C898 00803025 */ move $a2, $a0 -/* 0B13CC 7F07C89C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B13D0 7F07C8A0 AFA40050 */ sw $a0, 0x50($sp) -/* 0B13D4 7F07C8A4 8DC40004 */ lw $a0, 4($t6) -/* 0B13D8 7F07C8A8 AFA60050 */ sw $a2, 0x50($sp) -/* 0B13DC 7F07C8AC AFA50054 */ sw $a1, 0x54($sp) -/* 0B13E0 7F07C8B0 0FC1001E */ jal sub_GAME_7F040078 -/* 0B13E4 7F07C8B4 AFA4004C */ sw $a0, 0x4c($sp) -/* 0B13E8 7F07C8B8 3C038008 */ lui $v1, %hi(flt_CODE_bss_800799A8) -/* 0B13EC 7F07C8BC 246399A8 */ addiu $v1, %lo(flt_CODE_bss_800799A8) # addiu $v1, $v1, -0x6658 -/* 0B13F0 7F07C8C0 C4600000 */ lwc1 $f0, ($v1) -/* 0B13F4 7F07C8C4 C4440004 */ lwc1 $f4, 4($v0) -/* 0B13F8 7F07C8C8 C4620008 */ lwc1 $f2, 8($v1) -/* 0B13FC 7F07C8CC C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 0B1400 7F07C8D0 46002181 */ sub.s $f6, $f4, $f0 -/* 0B1404 7F07C8D4 E7A60044 */ swc1 $f6, 0x44($sp) -/* 0B1408 7F07C8D8 C4480008 */ lwc1 $f8, 8($v0) -/* 0B140C 7F07C8DC 46004281 */ sub.s $f10, $f8, $f0 -/* 0B1410 7F07C8E0 E7AA0040 */ swc1 $f10, 0x40($sp) -/* 0B1414 7F07C8E4 C4440014 */ lwc1 $f4, 0x14($v0) -/* 0B1418 7F07C8E8 46022181 */ sub.s $f6, $f4, $f2 -/* 0B141C 7F07C8EC E7A6003C */ swc1 $f6, 0x3c($sp) -/* 0B1420 7F07C8F0 C4480018 */ lwc1 $f8, 0x18($v0) -/* 0B1424 7F07C8F4 46024281 */ sub.s $f10, $f8, $f2 -/* 0B1428 7F07C8F8 0FC15FA8 */ jal cosf -/* 0B142C 7F07C8FC E7AA0038 */ swc1 $f10, 0x38($sp) -/* 0B1430 7F07C900 8FAF004C */ lw $t7, 0x4c($sp) -/* 0B1434 7F07C904 C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 0B1438 7F07C908 8DF80014 */ lw $t8, 0x14($t7) -/* 0B143C 7F07C90C C7040014 */ lwc1 $f4, 0x14($t8) -/* 0B1440 7F07C910 46040382 */ mul.s $f14, $f0, $f4 -/* 0B1444 7F07C914 0FC15FAB */ jal sinf -/* 0B1448 7F07C918 E7AE0034 */ swc1 $f14, 0x34($sp) -/* 0B144C 7F07C91C 8FB9004C */ lw $t9, 0x4c($sp) -/* 0B1450 7F07C920 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0B1454 7F07C924 8FA50054 */ lw $a1, 0x54($sp) -/* 0B1458 7F07C928 8F280014 */ lw $t0, 0x14($t9) -/* 0B145C 7F07C92C 46004287 */ neg.s $f10, $f8 -/* 0B1460 7F07C930 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 0B1464 7F07C934 C5060014 */ lwc1 $f6, 0x14($t0) -/* 0B1468 7F07C938 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0B146C 7F07C93C 8FA60050 */ lw $a2, 0x50($sp) -/* 0B1470 7F07C940 46060302 */ mul.s $f12, $f0, $f6 -/* 0B1474 7F07C944 C4A60000 */ lwc1 $f6, ($a1) -/* 0B1478 7F07C948 460C5082 */ mul.s $f2, $f10, $f12 -/* 0B147C 7F07C94C 46023200 */ add.s $f8, $f6, $f2 -/* 0B1480 7F07C950 460E2402 */ mul.s $f16, $f4, $f14 -/* 0B1484 7F07C954 46104280 */ add.s $f10, $f8, $f16 -/* 0B1488 7F07C958 E4CA0000 */ swc1 $f10, ($a2) -/* 0B148C 7F07C95C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0B1490 7F07C960 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 0B1494 7F07C964 460E2482 */ mul.s $f18, $f4, $f14 -/* 0B1498 7F07C968 00000000 */ nop -/* 0B149C 7F07C96C 460C3202 */ mul.s $f8, $f6, $f12 -/* 0B14A0 7F07C970 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0B14A4 7F07C974 C4AA0008 */ lwc1 $f10, 8($a1) -/* 0B14A8 7F07C978 46125100 */ add.s $f4, $f10, $f18 -/* 0B14AC 7F07C97C 46082180 */ add.s $f6, $f4, $f8 -/* 0B14B0 7F07C980 E4C60004 */ swc1 $f6, 4($a2) -/* 0B14B4 7F07C984 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0B14B8 7F07C988 460E5102 */ mul.s $f4, $f10, $f14 -/* 0B14BC 7F07C98C E7A40020 */ swc1 $f4, 0x20($sp) -/* 0B14C0 7F07C990 C4A80000 */ lwc1 $f8, ($a1) -/* 0B14C4 7F07C994 46024180 */ add.s $f6, $f8, $f2 -/* 0B14C8 7F07C998 46043280 */ add.s $f10, $f6, $f4 -/* 0B14CC 7F07C99C E4CA0008 */ swc1 $f10, 8($a2) -/* 0B14D0 7F07C9A0 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 0B14D4 7F07C9A4 C4A60008 */ lwc1 $f6, 8($a1) -/* 0B14D8 7F07C9A8 460C4002 */ mul.s $f0, $f8, $f12 -/* 0B14DC 7F07C9AC 46123100 */ add.s $f4, $f6, $f18 -/* 0B14E0 7F07C9B0 46002280 */ add.s $f10, $f4, $f0 -/* 0B14E4 7F07C9B4 E4CA000C */ swc1 $f10, 0xc($a2) -/* 0B14E8 7F07C9B8 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0B14EC 7F07C9BC C4A40000 */ lwc1 $f4, ($a1) -/* 0B14F0 7F07C9C0 46004187 */ neg.s $f6, $f8 -/* 0B14F4 7F07C9C4 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 0B14F8 7F07C9C8 460C3082 */ mul.s $f2, $f6, $f12 -/* 0B14FC 7F07C9CC 46022280 */ add.s $f10, $f4, $f2 -/* 0B1500 7F07C9D0 46085180 */ add.s $f6, $f10, $f8 -/* 0B1504 7F07C9D4 E4C60010 */ swc1 $f6, 0x10($a2) -/* 0B1508 7F07C9D8 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0B150C 7F07C9DC 460E2282 */ mul.s $f10, $f4, $f14 -/* 0B1510 7F07C9E0 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0B1514 7F07C9E4 C4A80008 */ lwc1 $f8, 8($a1) -/* 0B1518 7F07C9E8 460A4180 */ add.s $f6, $f8, $f10 -/* 0B151C 7F07C9EC 46003100 */ add.s $f4, $f6, $f0 -/* 0B1520 7F07C9F0 E4C40014 */ swc1 $f4, 0x14($a2) -/* 0B1524 7F07C9F4 C4A80000 */ lwc1 $f8, ($a1) -/* 0B1528 7F07C9F8 46024280 */ add.s $f10, $f8, $f2 -/* 0B152C 7F07C9FC 46105180 */ add.s $f6, $f10, $f16 -/* 0B1530 7F07CA00 E4C60018 */ swc1 $f6, 0x18($a2) -/* 0B1534 7F07CA04 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 0B1538 7F07CA08 C4A40008 */ lwc1 $f4, 8($a1) -/* 0B153C 7F07CA0C C7A60024 */ lwc1 $f6, 0x24($sp) -/* 0B1540 7F07CA10 46082280 */ add.s $f10, $f4, $f8 -/* 0B1544 7F07CA14 46065100 */ add.s $f4, $f10, $f6 -/* 0B1548 7F07CA18 E4C4001C */ swc1 $f4, 0x1c($a2) -/* 0B154C 7F07CA1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B1550 7F07CA20 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0B1554 7F07CA24 03E00008 */ jr $ra -/* 0B1558 7F07CA28 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F07CA2C(s32 arg1, f32 arg2, f32 arg3, f32 arg4, ?32 arg5, void *arg6, void *arg7) { - ? temp_ret; - - // Node 0 - temp_ret = sub_GAME_7F0B0E24(arg4, arg5, 0.0f, 1.0f, 0.0f, 1.0f); - if (temp_ret == 0) - { - // Node 1 - if (arg6 != 0) - { - // Node 2 - *arg6 = arg1; - arg6->unk4 = 0.0f; - arg6->unk8 = arg2; - arg7->unk4 = 0.0f; - *arg7 = arg3; - arg7->unk8 = arg4; - } - } - // Node 3 - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07CA2C -/* 0B155C 7F07CA2C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0B1560 7F07CA30 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B1564 7F07CA34 44811000 */ mtc1 $at, $f2 -/* 0B1568 7F07CA38 44800000 */ mtc1 $zero, $f0 -/* 0B156C 7F07CA3C C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0B1570 7F07CA40 8FAE0044 */ lw $t6, 0x44($sp) -/* 0B1574 7F07CA44 AFBF002C */ sw $ra, 0x2c($sp) -/* 0B1578 7F07CA48 AFA50034 */ sw $a1, 0x34($sp) -/* 0B157C 7F07CA4C AFA60038 */ sw $a2, 0x38($sp) -/* 0B1580 7F07CA50 AFA7003C */ sw $a3, 0x3c($sp) -/* 0B1584 7F07CA54 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0B1588 7F07CA58 E7A20024 */ swc1 $f2, 0x24($sp) -/* 0B158C 7F07CA5C E7A40010 */ swc1 $f4, 0x10($sp) -/* 0B1590 7F07CA60 E7A00018 */ swc1 $f0, 0x18($sp) -/* 0B1594 7F07CA64 E7A00020 */ swc1 $f0, 0x20($sp) -/* 0B1598 7F07CA68 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0B159C 7F07CA6C AFAE0014 */ sw $t6, 0x14($sp) -/* 0B15A0 7F07CA70 44800000 */ mtc1 $zero, $f0 -/* 0B15A4 7F07CA74 1440000F */ bnez $v0, .L7F07CAB4 -/* 0B15A8 7F07CA78 00402025 */ move $a0, $v0 -/* 0B15AC 7F07CA7C 8FA30048 */ lw $v1, 0x48($sp) -/* 0B15B0 7F07CA80 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0B15B4 7F07CA84 5060000C */ beql $v1, $zero, .L7F07CAB8 -/* 0B15B8 7F07CA88 8FBF002C */ lw $ra, 0x2c($sp) -/* 0B15BC 7F07CA8C 8FA2004C */ lw $v0, 0x4c($sp) -/* 0B15C0 7F07CA90 E4660000 */ swc1 $f6, ($v1) -/* 0B15C4 7F07CA94 E4600004 */ swc1 $f0, 4($v1) -/* 0B15C8 7F07CA98 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0B15CC 7F07CA9C E4680008 */ swc1 $f8, 8($v1) -/* 0B15D0 7F07CAA0 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 0B15D4 7F07CAA4 E4400004 */ swc1 $f0, 4($v0) -/* 0B15D8 7F07CAA8 E44A0000 */ swc1 $f10, ($v0) -/* 0B15DC 7F07CAAC C7B00040 */ lwc1 $f16, 0x40($sp) -/* 0B15E0 7F07CAB0 E4500008 */ swc1 $f16, 8($v0) -.L7F07CAB4: -/* 0B15E4 7F07CAB4 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07CAB8: -/* 0B15E8 7F07CAB8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0B15EC 7F07CABC 00801025 */ move $v0, $a0 -/* 0B15F0 7F07CAC0 03E00008 */ jr $ra -/* 0B15F4 7F07CAC4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -?32 sub_GAME_7F07CAC8(void *arg0, s32 arg1, f32 arg2, ?32 arg3, ?32 arg4) { - ? sp34; - f32 sp74; - f32 sp7C; - void *sp8C; - ?32 sp94; - ? sp98; - s32 spBC; - f32 temp_f0; - f32 temp_f6; - f32 temp_f16; - f32 temp_f4; - f32 temp_f10; - f32 phi_f0; - f32 phi_f0_2; - - // Node 0 - sp94 = 0; - sub_GAME_7F07C888(&sp98, arg0); - if (ptr_playerstank != 0) - { - // Node 1 - sub_GAME_7F03D058(ptr_playerstank, 0); - } - // Node 2 - if (sub_GAME_7F07CA2C(&spBC, *arg0, arg0->unk8, sp98, sp9C, 0x213, arg3, arg4) != 0) - { - // Node 3 - if (sub_GAME_7F07CA2C(&spBC, sp98, sp9C, spA0, spA4, 0x213, arg3, arg4) != 0) - { - // Node 4 - if (sub_GAME_7F07CA2C(&spBC, spA0, spA4, spA8, spAC, 0x213, arg3, arg4) != 0) - { - // Node 5 - if (sub_GAME_7F07CA2C(&spBC, spA8, spAC, spB0, spB4, 0x213, arg3, arg4) != 0) - { - // Node 6 - if (sub_GAME_7F07CA2C(&spBC, spB0, spB4, sp98, sp9C, 0x213, arg3, arg4) != 0) - { - // Node 7 - sp94 = 1; - if (ptr_playerstank != 0) - { - // Node 8 - sp74 = (f32) ((*ptr_playerstank->unk4->unk14->unk8->unk8->unk10->unk4 + *ptr_playerstank->unk4->unk14->unk8->unk8->unkC->unk4) - *ptr_playerstank->unk4->unk14->unk8->unk8->unk8->unk4); - temp_f0 = (arg2 + D_80036474); - sp7C = (f32) ((ptr_playerstank->unk4->unk14->unk8->unk8->unk10->unk4->unk8 + ptr_playerstank->unk4->unk14->unk8->unk8->unkC->unk4->unk8) - ptr_playerstank->unk4->unk14->unk8->unk8->unk8->unk4->unk8); - phi_f0 = temp_f0; - if (D_80055064 <= temp_f0) - { - // Node 9 - phi_f0 = (temp_f0 - D_80055064); - } - // Node 10 - phi_f0_2 = phi_f0; - if (phi_f0 < 0.0f) - { - // Node 11 - phi_f0_2 = (phi_f0 + D_80055064); - } - // Node 12 - sp8C = (void *) ptr_playerstank->unk4->unk14; - sub_GAME_7F0585FC((D_80055064 - phi_f0_2), ptr_playerstank, &sp34, ptr_playerstank->unk4->unk14->unk8->unk8->unk8->unk4, ptr_playerstank->unk4); - sub_GAME_7F0583D8(&sp34, &sp74); - temp_f6 = (sp74 * ptr_playerstank->unk4->unk14->unk14); - sp74 = temp_f6; - temp_f16 = (sp7C * ptr_playerstank->unk4->unk14->unk14); - sp7C = temp_f16; - temp_f4 = (temp_f6 + *arg0); - sp74 = temp_f4; - spBC = arg1; - temp_f10 = (temp_f16 + arg0->unk8); - sp7C = temp_f10; - if (sub_GAME_7F07CA2C(&spBC, *arg0, arg0->unk8, temp_f4, temp_f10, 0x213, arg3, arg4) == 0) - { - // Node 13 - sp94 = 0; - } - } - } - } - } - } - } - // Node 14 - if (ptr_playerstank != 0) - { - // Node 15 - sub_GAME_7F03D058(ptr_playerstank, 1); - } - // Node 16 - return sp94; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055064 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F07CAC8 -/* 0B15F8 7F07CAC8 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0B15FC 7F07CACC AFBF0024 */ sw $ra, 0x24($sp) -/* 0B1600 7F07CAD0 AFA400C0 */ sw $a0, 0xc0($sp) -/* 0B1604 7F07CAD4 AFA500C4 */ sw $a1, 0xc4($sp) -/* 0B1608 7F07CAD8 AFA500BC */ sw $a1, 0xbc($sp) -/* 0B160C 7F07CADC AFA600C8 */ sw $a2, 0xc8($sp) -/* 0B1610 7F07CAE0 AFA700CC */ sw $a3, 0xcc($sp) -/* 0B1614 7F07CAE4 AFA00094 */ sw $zero, 0x94($sp) -/* 0B1618 7F07CAE8 8FA500C0 */ lw $a1, 0xc0($sp) -/* 0B161C 7F07CAEC 0FC1F222 */ jal sub_GAME_7F07C888 -/* 0B1620 7F07CAF0 27A40098 */ addiu $a0, $sp, 0x98 -/* 0B1624 7F07CAF4 3C048003 */ lui $a0, %hi(ptr_playerstank) -/* 0B1628 7F07CAF8 8C846450 */ lw $a0, %lo(ptr_playerstank)($a0) -/* 0B162C 7F07CAFC 50800004 */ beql $a0, $zero, .L7F07CB10 -/* 0B1630 7F07CB00 8FA200C0 */ lw $v0, 0xc0($sp) -/* 0B1634 7F07CB04 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0B1638 7F07CB08 00002825 */ move $a1, $zero -/* 0B163C 7F07CB0C 8FA200C0 */ lw $v0, 0xc0($sp) -.L7F07CB10: -/* 0B1640 7F07CB10 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0B1644 7F07CB14 8FB800CC */ lw $t8, 0xcc($sp) -/* 0B1648 7F07CB18 8C450000 */ lw $a1, ($v0) -/* 0B164C 7F07CB1C 8C460008 */ lw $a2, 8($v0) -/* 0B1650 7F07CB20 8FB900D0 */ lw $t9, 0xd0($sp) -/* 0B1654 7F07CB24 240F0213 */ li $t7, 531 -/* 0B1658 7F07CB28 AFAF0014 */ sw $t7, 0x14($sp) -/* 0B165C 7F07CB2C 27A400BC */ addiu $a0, $sp, 0xbc -/* 0B1660 7F07CB30 8FA70098 */ lw $a3, 0x98($sp) -/* 0B1664 7F07CB34 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0B1668 7F07CB38 AFB80018 */ sw $t8, 0x18($sp) -/* 0B166C 7F07CB3C 0FC1F28B */ jal sub_GAME_7F07CA2C -/* 0B1670 7F07CB40 AFB9001C */ sw $t9, 0x1c($sp) -/* 0B1674 7F07CB44 1040008D */ beqz $v0, .L7F07CD7C -/* 0B1678 7F07CB48 27A400BC */ addiu $a0, $sp, 0xbc -/* 0B167C 7F07CB4C C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0B1680 7F07CB50 8FAA00CC */ lw $t2, 0xcc($sp) -/* 0B1684 7F07CB54 8FAB00D0 */ lw $t3, 0xd0($sp) -/* 0B1688 7F07CB58 24090213 */ li $t1, 531 -/* 0B168C 7F07CB5C AFA90014 */ sw $t1, 0x14($sp) -/* 0B1690 7F07CB60 8FA50098 */ lw $a1, 0x98($sp) -/* 0B1694 7F07CB64 8FA6009C */ lw $a2, 0x9c($sp) -/* 0B1698 7F07CB68 8FA700A0 */ lw $a3, 0xa0($sp) -/* 0B169C 7F07CB6C E7A60010 */ swc1 $f6, 0x10($sp) -/* 0B16A0 7F07CB70 AFAA0018 */ sw $t2, 0x18($sp) -/* 0B16A4 7F07CB74 0FC1F28B */ jal sub_GAME_7F07CA2C -/* 0B16A8 7F07CB78 AFAB001C */ sw $t3, 0x1c($sp) -/* 0B16AC 7F07CB7C 1040007F */ beqz $v0, .L7F07CD7C -/* 0B16B0 7F07CB80 27A400BC */ addiu $a0, $sp, 0xbc -/* 0B16B4 7F07CB84 C7A800AC */ lwc1 $f8, 0xac($sp) -/* 0B16B8 7F07CB88 8FAD00CC */ lw $t5, 0xcc($sp) -/* 0B16BC 7F07CB8C 8FAE00D0 */ lw $t6, 0xd0($sp) -/* 0B16C0 7F07CB90 240C0213 */ li $t4, 531 -/* 0B16C4 7F07CB94 AFAC0014 */ sw $t4, 0x14($sp) -/* 0B16C8 7F07CB98 8FA500A0 */ lw $a1, 0xa0($sp) -/* 0B16CC 7F07CB9C 8FA600A4 */ lw $a2, 0xa4($sp) -/* 0B16D0 7F07CBA0 8FA700A8 */ lw $a3, 0xa8($sp) -/* 0B16D4 7F07CBA4 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0B16D8 7F07CBA8 AFAD0018 */ sw $t5, 0x18($sp) -/* 0B16DC 7F07CBAC 0FC1F28B */ jal sub_GAME_7F07CA2C -/* 0B16E0 7F07CBB0 AFAE001C */ sw $t6, 0x1c($sp) -/* 0B16E4 7F07CBB4 10400071 */ beqz $v0, .L7F07CD7C -/* 0B16E8 7F07CBB8 27A400BC */ addiu $a0, $sp, 0xbc -/* 0B16EC 7F07CBBC C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 0B16F0 7F07CBC0 8FB800CC */ lw $t8, 0xcc($sp) -/* 0B16F4 7F07CBC4 8FB900D0 */ lw $t9, 0xd0($sp) -/* 0B16F8 7F07CBC8 240F0213 */ li $t7, 531 -/* 0B16FC 7F07CBCC AFAF0014 */ sw $t7, 0x14($sp) -/* 0B1700 7F07CBD0 8FA500A8 */ lw $a1, 0xa8($sp) -/* 0B1704 7F07CBD4 8FA600AC */ lw $a2, 0xac($sp) -/* 0B1708 7F07CBD8 8FA700B0 */ lw $a3, 0xb0($sp) -/* 0B170C 7F07CBDC E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0B1710 7F07CBE0 AFB80018 */ sw $t8, 0x18($sp) -/* 0B1714 7F07CBE4 0FC1F28B */ jal sub_GAME_7F07CA2C -/* 0B1718 7F07CBE8 AFB9001C */ sw $t9, 0x1c($sp) -/* 0B171C 7F07CBEC 10400063 */ beqz $v0, .L7F07CD7C -/* 0B1720 7F07CBF0 27A400BC */ addiu $a0, $sp, 0xbc -/* 0B1724 7F07CBF4 C7B0009C */ lwc1 $f16, 0x9c($sp) -/* 0B1728 7F07CBF8 8FAA00CC */ lw $t2, 0xcc($sp) -/* 0B172C 7F07CBFC 8FAB00D0 */ lw $t3, 0xd0($sp) -/* 0B1730 7F07CC00 24090213 */ li $t1, 531 -/* 0B1734 7F07CC04 AFA90014 */ sw $t1, 0x14($sp) -/* 0B1738 7F07CC08 8FA500B0 */ lw $a1, 0xb0($sp) -/* 0B173C 7F07CC0C 8FA600B4 */ lw $a2, 0xb4($sp) -/* 0B1740 7F07CC10 8FA70098 */ lw $a3, 0x98($sp) -/* 0B1744 7F07CC14 E7B00010 */ swc1 $f16, 0x10($sp) -/* 0B1748 7F07CC18 AFAA0018 */ sw $t2, 0x18($sp) -/* 0B174C 7F07CC1C 0FC1F28B */ jal sub_GAME_7F07CA2C -/* 0B1750 7F07CC20 AFAB001C */ sw $t3, 0x1c($sp) -/* 0B1754 7F07CC24 10400055 */ beqz $v0, .L7F07CD7C -/* 0B1758 7F07CC28 3C048003 */ lui $a0, %hi(ptr_playerstank) -/* 0B175C 7F07CC2C 8C846450 */ lw $a0, %lo(ptr_playerstank)($a0) -/* 0B1760 7F07CC30 240C0001 */ li $t4, 1 -/* 0B1764 7F07CC34 AFAC0094 */ sw $t4, 0x94($sp) -/* 0B1768 7F07CC38 10800050 */ beqz $a0, .L7F07CD7C -/* 0B176C 7F07CC3C 00000000 */ nop -/* 0B1770 7F07CC40 8C870004 */ lw $a3, 4($a0) -/* 0B1774 7F07CC44 44806000 */ mtc1 $zero, $f12 -/* 0B1778 7F07CC48 3C018005 */ lui $at, %hi(D_80055064) -/* 0B177C 7F07CC4C 8CE80014 */ lw $t0, 0x14($a3) -/* 0B1780 7F07CC50 C4225064 */ lwc1 $f2, %lo(D_80055064)($at) -/* 0B1784 7F07CC54 3C018003 */ lui $at, %hi(D_80036474) -/* 0B1788 7F07CC58 8D0D0008 */ lw $t5, 8($t0) -/* 0B178C 7F07CC5C 8DA20008 */ lw $v0, 8($t5) -/* 0B1790 7F07CC60 8C4E000C */ lw $t6, 0xc($v0) -/* 0B1794 7F07CC64 8C4F0010 */ lw $t7, 0x10($v0) -/* 0B1798 7F07CC68 8C580008 */ lw $t8, 8($v0) -/* 0B179C 7F07CC6C 8DC30004 */ lw $v1, 4($t6) -/* 0B17A0 7F07CC70 8DE50004 */ lw $a1, 4($t7) -/* 0B17A4 7F07CC74 8F060004 */ lw $a2, 4($t8) -/* 0B17A8 7F07CC78 C4640000 */ lwc1 $f4, ($v1) -/* 0B17AC 7F07CC7C C4B20000 */ lwc1 $f18, ($a1) -/* 0B17B0 7F07CC80 C4C80000 */ lwc1 $f8, ($a2) -/* 0B17B4 7F07CC84 E7AC0078 */ swc1 $f12, 0x78($sp) -/* 0B17B8 7F07CC88 46049180 */ add.s $f6, $f18, $f4 -/* 0B17BC 7F07CC8C 46083281 */ sub.s $f10, $f6, $f8 -/* 0B17C0 7F07CC90 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 0B17C4 7F07CC94 C4720008 */ lwc1 $f18, 8($v1) -/* 0B17C8 7F07CC98 C4B00008 */ lwc1 $f16, 8($a1) -/* 0B17CC 7F07CC9C C7AA00C8 */ lwc1 $f10, 0xc8($sp) -/* 0B17D0 7F07CCA0 C4C60008 */ lwc1 $f6, 8($a2) -/* 0B17D4 7F07CCA4 46128100 */ add.s $f4, $f16, $f18 -/* 0B17D8 7F07CCA8 C4306474 */ lwc1 $f16, %lo(D_80036474)($at) -/* 0B17DC 7F07CCAC 27A50034 */ addiu $a1, $sp, 0x34 -/* 0B17E0 7F07CCB0 46105000 */ add.s $f0, $f10, $f16 -/* 0B17E4 7F07CCB4 46062201 */ sub.s $f8, $f4, $f6 -/* 0B17E8 7F07CCB8 4600103E */ c.le.s $f2, $f0 -/* 0B17EC 7F07CCBC E7A8007C */ swc1 $f8, 0x7c($sp) -/* 0B17F0 7F07CCC0 45020003 */ bc1fl .L7F07CCD0 -/* 0B17F4 7F07CCC4 460C003C */ c.lt.s $f0, $f12 -/* 0B17F8 7F07CCC8 46020001 */ sub.s $f0, $f0, $f2 -/* 0B17FC 7F07CCCC 460C003C */ c.lt.s $f0, $f12 -.L7F07CCD0: -/* 0B1800 7F07CCD0 00000000 */ nop -/* 0B1804 7F07CCD4 45020003 */ bc1fl .L7F07CCE4 -/* 0B1808 7F07CCD8 46001301 */ sub.s $f12, $f2, $f0 -/* 0B180C 7F07CCDC 46020000 */ add.s $f0, $f0, $f2 -/* 0B1810 7F07CCE0 46001301 */ sub.s $f12, $f2, $f0 -.L7F07CCE4: -/* 0B1814 7F07CCE4 0FC1617F */ jal sub_GAME_7F0585FC -/* 0B1818 7F07CCE8 AFA8008C */ sw $t0, 0x8c($sp) -/* 0B181C 7F07CCEC 27A40034 */ addiu $a0, $sp, 0x34 -/* 0B1820 7F07CCF0 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0B1824 7F07CCF4 27A50074 */ addiu $a1, $sp, 0x74 -/* 0B1828 7F07CCF8 8FA8008C */ lw $t0, 0x8c($sp) -/* 0B182C 7F07CCFC C7B20074 */ lwc1 $f18, 0x74($sp) -/* 0B1830 7F07CD00 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 0B1834 7F07CD04 C5040014 */ lwc1 $f4, 0x14($t0) -/* 0B1838 7F07CD08 8FA200C0 */ lw $v0, 0xc0($sp) -/* 0B183C 7F07CD0C 8FB900C4 */ lw $t9, 0xc4($sp) -/* 0B1840 7F07CD10 46049182 */ mul.s $f6, $f18, $f4 -/* 0B1844 7F07CD14 8FAA00CC */ lw $t2, 0xcc($sp) -/* 0B1848 7F07CD18 8FAB00D0 */ lw $t3, 0xd0($sp) -/* 0B184C 7F07CD1C 24090213 */ li $t1, 531 -/* 0B1850 7F07CD20 27A400BC */ addiu $a0, $sp, 0xbc -/* 0B1854 7F07CD24 E7A60074 */ swc1 $f6, 0x74($sp) -/* 0B1858 7F07CD28 C50A0014 */ lwc1 $f10, 0x14($t0) -/* 0B185C 7F07CD2C 460A4402 */ mul.s $f16, $f8, $f10 -/* 0B1860 7F07CD30 E7B0007C */ swc1 $f16, 0x7c($sp) -/* 0B1864 7F07CD34 C4520000 */ lwc1 $f18, ($v0) -/* 0B1868 7F07CD38 46123100 */ add.s $f4, $f6, $f18 -/* 0B186C 7F07CD3C E7A40074 */ swc1 $f4, 0x74($sp) -/* 0B1870 7F07CD40 C4480008 */ lwc1 $f8, 8($v0) -/* 0B1874 7F07CD44 AFB900BC */ sw $t9, 0xbc($sp) -/* 0B1878 7F07CD48 44072000 */ mfc1 $a3, $f4 -/* 0B187C 7F07CD4C 46088280 */ add.s $f10, $f16, $f8 -/* 0B1880 7F07CD50 E7AA007C */ swc1 $f10, 0x7c($sp) -/* 0B1884 7F07CD54 8C460008 */ lw $a2, 8($v0) -/* 0B1888 7F07CD58 8C450000 */ lw $a1, ($v0) -/* 0B188C 7F07CD5C AFA90014 */ sw $t1, 0x14($sp) -/* 0B1890 7F07CD60 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0B1894 7F07CD64 AFAA0018 */ sw $t2, 0x18($sp) -/* 0B1898 7F07CD68 0FC1F28B */ jal sub_GAME_7F07CA2C -/* 0B189C 7F07CD6C AFAB001C */ sw $t3, 0x1c($sp) -/* 0B18A0 7F07CD70 14400002 */ bnez $v0, .L7F07CD7C -/* 0B18A4 7F07CD74 00000000 */ nop -/* 0B18A8 7F07CD78 AFA00094 */ sw $zero, 0x94($sp) -.L7F07CD7C: -/* 0B18AC 7F07CD7C 3C048003 */ lui $a0, %hi(ptr_playerstank) -/* 0B18B0 7F07CD80 8C846450 */ lw $a0, %lo(ptr_playerstank)($a0) -/* 0B18B4 7F07CD84 50800004 */ beql $a0, $zero, .L7F07CD98 -/* 0B18B8 7F07CD88 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B18BC 7F07CD8C 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0B18C0 7F07CD90 24050001 */ li $a1, 1 -/* 0B18C4 7F07CD94 8FBF0024 */ lw $ra, 0x24($sp) -.L7F07CD98: -/* 0B18C8 7F07CD98 8FA20094 */ lw $v0, 0x94($sp) -/* 0B18CC 7F07CD9C 27BD00C0 */ addiu $sp, $sp, 0xc0 -/* 0B18D0 7F07CDA0 03E00008 */ jr $ra -/* 0B18D4 7F07CDA4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07CDA8(? arg2) { - // Node 0 - return sub_GAME_7F07CAC8(arg2, arg2, 0, 0); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07CDA8 -/* 0B18D8 7F07CDA8 44866000 */ mtc1 $a2, $f12 -/* 0B18DC 7F07CDAC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B18E0 7F07CDB0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B18E4 7F07CDB4 44066000 */ mfc1 $a2, $f12 -/* 0B18E8 7F07CDB8 AFA00010 */ sw $zero, 0x10($sp) -/* 0B18EC 7F07CDBC 0FC1F2B2 */ jal sub_GAME_7F07CAC8 -/* 0B18F0 7F07CDC0 00003825 */ move $a3, $zero -/* 0B18F4 7F07CDC4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B18F8 7F07CDC8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B18FC 7F07CDCC 03E00008 */ jr $ra -/* 0B1900 7F07CDD0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07CDD4(void *arg0, s32 arg1, void *arg2) { - ?32 sp3C; - - // Node 0 - sp3C = (?32) pPlayer->field_488; - if (sub_GAME_7F0B0E24(&sp3C, pPlayer->field_48C, pPlayer->field_494, *arg0, (f32) arg0->unk8, 0, 0.0f, 1.0f, 0.0f, 1.0f) == 0) - { - // Node 3 - // Node 4 - return 0; - } - // Node 1 - if (sub_GAME_7F07CDA8(arg0, sp3C, arg1) == 0) - { - // Node 3 - // Node 4 - return 0; - } - // Node 2 - *arg2 = sp3C; - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07CDD4 -/* 0B1904 7F07CDD4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B1908 7F07CDD8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B190C 7F07CDDC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B1910 7F07CDE0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0B1914 7F07CDE4 AFA40040 */ sw $a0, 0x40($sp) -/* 0B1918 7F07CDE8 AFA50044 */ sw $a1, 0x44($sp) -/* 0B191C 7F07CDEC AFA60048 */ sw $a2, 0x48($sp) -/* 0B1920 7F07CDF0 8C4E0488 */ lw $t6, 0x488($v0) -/* 0B1924 7F07CDF4 8FAF0040 */ lw $t7, 0x40($sp) -/* 0B1928 7F07CDF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B192C 7F07CDFC AFAE003C */ sw $t6, 0x3c($sp) -/* 0B1930 7F07CE00 C5E40008 */ lwc1 $f4, 8($t7) -/* 0B1934 7F07CE04 8C460494 */ lw $a2, 0x494($v0) -/* 0B1938 7F07CE08 8C45048C */ lw $a1, 0x48c($v0) -/* 0B193C 7F07CE0C 8DE70000 */ lw $a3, ($t7) -/* 0B1940 7F07CE10 44811000 */ mtc1 $at, $f2 -/* 0B1944 7F07CE14 44800000 */ mtc1 $zero, $f0 -/* 0B1948 7F07CE18 AFA00014 */ sw $zero, 0x14($sp) -/* 0B194C 7F07CE1C 27A4003C */ addiu $a0, $sp, 0x3c -/* 0B1950 7F07CE20 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0B1954 7F07CE24 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0B1958 7F07CE28 E7A20024 */ swc1 $f2, 0x24($sp) -/* 0B195C 7F07CE2C E7A00018 */ swc1 $f0, 0x18($sp) -/* 0B1960 7F07CE30 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0B1964 7F07CE34 E7A00020 */ swc1 $f0, 0x20($sp) -/* 0B1968 7F07CE38 1040000A */ beqz $v0, .L7F07CE64 -/* 0B196C 7F07CE3C 8FA40040 */ lw $a0, 0x40($sp) -/* 0B1970 7F07CE40 8FA5003C */ lw $a1, 0x3c($sp) -/* 0B1974 7F07CE44 0FC1F36A */ jal sub_GAME_7F07CDA8 -/* 0B1978 7F07CE48 8FA60044 */ lw $a2, 0x44($sp) -/* 0B197C 7F07CE4C 10400005 */ beqz $v0, .L7F07CE64 -/* 0B1980 7F07CE50 8FB8003C */ lw $t8, 0x3c($sp) -/* 0B1984 7F07CE54 8FB90048 */ lw $t9, 0x48($sp) -/* 0B1988 7F07CE58 24020001 */ li $v0, 1 -/* 0B198C 7F07CE5C 10000002 */ b .L7F07CE68 -/* 0B1990 7F07CE60 AF380000 */ sw $t8, ($t9) -.L7F07CE64: -/* 0B1994 7F07CE64 00001025 */ move $v0, $zero -.L7F07CE68: -/* 0B1998 7F07CE68 8FBF002C */ lw $ra, 0x2c($sp) -/* 0B199C 7F07CE6C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0B19A0 7F07CE70 03E00008 */ jr $ra -/* 0B19A4 7F07CE74 00000000 */ nop -) -#endif - - - - -s32 get_intank_flag(void) { - return in_tank_flag; -} - - - - - - -#ifdef NONMATCHING -void get_ptr_for_players_tank(void) { - // Node 0 - if (in_tank_flag == 1) - { - // Node 1 - return ptr_playerstank; - } - // Node 2 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_for_players_tank -/* 0B19B4 7F07CE84 3C0E8003 */ lui $t6, %hi(in_tank_flag) -/* 0B19B8 7F07CE88 8DCE6448 */ lw $t6, %lo(in_tank_flag)($t6) -/* 0B19BC 7F07CE8C 24010001 */ li $at, 1 -/* 0B19C0 7F07CE90 00001025 */ move $v0, $zero -/* 0B19C4 7F07CE94 15C10004 */ bne $t6, $at, .L7F07CEA8 -/* 0B19C8 7F07CE98 00000000 */ nop -/* 0B19CC 7F07CE9C 3C028003 */ lui $v0, %hi(ptr_playerstank) -/* 0B19D0 7F07CEA0 03E00008 */ jr $ra -/* 0B19D4 7F07CEA4 8C426450 */ lw $v0, %lo(ptr_playerstank)($v0) - -.L7F07CEA8: -/* 0B19D8 7F07CEA8 03E00008 */ jr $ra -/* 0B19DC 7F07CEAC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07CEB0(void *arg0) { - f32 sp18; - f32 temp_f14; - ? temp_ret; - f32 phi_f14; - f32 phi_f14_2; - - // Node 0 - temp_f14 = (D_80036464 + D_80036474); - phi_f14 = temp_f14; - if (D_80055068 <= temp_f14) - { - // Node 1 - phi_f14 = (temp_f14 - D_80055068); - } - // Node 2 - phi_f14_2 = phi_f14; - if (phi_f14 < 0.0f) - { - // Node 3 - phi_f14_2 = (phi_f14 + D_80055068); - } - // Node 4 - sp18 = sinf(phi_f14_2, phi_f14_2); - *arg0 = (f32) (cosf(D_8003646C) * -sp18); - arg0->unk4 = sinf(D_8003646C); - sp18 = cosf(sp1C); - temp_ret = cosf(D_8003646C); - arg0->unk8 = (f32) (temp_ret * sp18); - return temp_ret; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055068 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F07CEB0 -/* 0B19E0 7F07CEB0 3C018005 */ lui $at, %hi(D_80055068) -/* 0B19E4 7F07CEB4 C4205068 */ lwc1 $f0, %lo(D_80055068)($at) -/* 0B19E8 7F07CEB8 3C018003 */ lui $at, %hi(D_80036464) -/* 0B19EC 7F07CEBC C4246464 */ lwc1 $f4, %lo(D_80036464)($at) -/* 0B19F0 7F07CEC0 3C018003 */ lui $at, %hi(D_80036474) -/* 0B19F4 7F07CEC4 C4266474 */ lwc1 $f6, %lo(D_80036474)($at) -/* 0B19F8 7F07CEC8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B19FC 7F07CECC 44804000 */ mtc1 $zero, $f8 -/* 0B1A00 7F07CED0 46062380 */ add.s $f14, $f4, $f6 -/* 0B1A04 7F07CED4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B1A08 7F07CED8 AFA40020 */ sw $a0, 0x20($sp) -/* 0B1A0C 7F07CEDC 460E003E */ c.le.s $f0, $f14 -/* 0B1A10 7F07CEE0 00000000 */ nop -/* 0B1A14 7F07CEE4 45020003 */ bc1fl .L7F07CEF4 -/* 0B1A18 7F07CEE8 4608703C */ c.lt.s $f14, $f8 -/* 0B1A1C 7F07CEEC 46007381 */ sub.s $f14, $f14, $f0 -/* 0B1A20 7F07CEF0 4608703C */ c.lt.s $f14, $f8 -.L7F07CEF4: -/* 0B1A24 7F07CEF4 00000000 */ nop -/* 0B1A28 7F07CEF8 45020003 */ bc1fl .L7F07CF08 -/* 0B1A2C 7F07CEFC 46007306 */ mov.s $f12, $f14 -/* 0B1A30 7F07CF00 46007380 */ add.s $f14, $f14, $f0 -/* 0B1A34 7F07CF04 46007306 */ mov.s $f12, $f14 -.L7F07CF08: -/* 0B1A38 7F07CF08 0FC15FAB */ jal sinf -/* 0B1A3C 7F07CF0C E7AE001C */ swc1 $f14, 0x1c($sp) -/* 0B1A40 7F07CF10 3C018003 */ lui $at, %hi(D_8003646C) -/* 0B1A44 7F07CF14 C42C646C */ lwc1 $f12, %lo(D_8003646C)($at) -/* 0B1A48 7F07CF18 0FC15FA8 */ jal cosf -/* 0B1A4C 7F07CF1C E7A00018 */ swc1 $f0, 0x18($sp) -/* 0B1A50 7F07CF20 C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 0B1A54 7F07CF24 8FAE0020 */ lw $t6, 0x20($sp) -/* 0B1A58 7F07CF28 3C018003 */ lui $at, %hi(D_8003646C) -/* 0B1A5C 7F07CF2C 46005407 */ neg.s $f16, $f10 -/* 0B1A60 7F07CF30 46100482 */ mul.s $f18, $f0, $f16 -/* 0B1A64 7F07CF34 E5D20000 */ swc1 $f18, ($t6) -/* 0B1A68 7F07CF38 0FC15FAB */ jal sinf -/* 0B1A6C 7F07CF3C C42C646C */ lwc1 $f12, %lo(D_8003646C)($at) -/* 0B1A70 7F07CF40 8FAF0020 */ lw $t7, 0x20($sp) -/* 0B1A74 7F07CF44 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 0B1A78 7F07CF48 0FC15FA8 */ jal cosf -/* 0B1A7C 7F07CF4C E5E00004 */ swc1 $f0, 4($t7) -/* 0B1A80 7F07CF50 3C018003 */ lui $at, %hi(D_8003646C) -/* 0B1A84 7F07CF54 C42C646C */ lwc1 $f12, %lo(D_8003646C)($at) -/* 0B1A88 7F07CF58 0FC15FA8 */ jal cosf -/* 0B1A8C 7F07CF5C E7A00018 */ swc1 $f0, 0x18($sp) -/* 0B1A90 7F07CF60 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0B1A94 7F07CF64 8FB80020 */ lw $t8, 0x20($sp) -/* 0B1A98 7F07CF68 46040182 */ mul.s $f6, $f0, $f4 -/* 0B1A9C 7F07CF6C E7060008 */ swc1 $f6, 8($t8) -/* 0B1AA0 7F07CF70 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B1AA4 7F07CF74 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B1AA8 7F07CF78 03E00008 */ jr $ra -/* 0B1AAC 7F07CF7C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07CF80(void) { - // Node 0 - return D_8003646C; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07CF80 -/* 0B1AB0 7F07CF80 3C018003 */ lui $at, %hi(D_8003646C) -/* 0B1AB4 7F07CF84 03E00008 */ jr $ra -/* 0B1AB8 7F07CF88 C420646C */ lwc1 $f0, %lo(D_8003646C)($at) -) -#endif - - - - - -#ifdef NONMATCHING -s32 cal_player_collision(void *arg0, void *arg1) { - ? sp3C; - s32 sp7C; - ? sp80; - f32 sp84; - f32 sp88; - ?32 sp8C; - ?32 sp90; - s32 sp94; - void *phi_v1; - - // Node 0 - sp94 = 0; - if ((in_tank_flag == 1) && (dword_CODE_bss_800799B8 != 0)) - { - // Node 2 - sp94 = sub_GAME_7F07CDD4(D_80036464, arg1); - } - else - { - // Node 3 - sp90 = (?32) pPlayer->field_488; - if (obj_collision_flag != 0) - { - // Node 4 - sp8C = 0x1f; - } - else - { - // Node 5 - sp8C = 0; - } - // Node 6 - sub_GAME_7F08A274(pPlayer->field_A8, &sp80, &sp88, &sp84); - if (D_8003644C != 0) - { - // Node 7 - sub_GAME_7F03D058(D_8003644C, 0); - } - // Node 8 - sub_GAME_7F03D058(pPlayer->field_A8, 0); - sp7C = sub_GAME_7F0B2314(&sp90, *arg0, arg0->unk8, sp80, &sp3C); - if (sub_GAME_7F0B239C(&sp3C) != 0) - { - // Node 9 - pPlayer->field_29FC = 0; - } - // Node 10 - 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->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)) - { - // Node 16 - // Node 19 - phi_v1 = pPlayer; - if (ptr_playerstank == 0) - { - // Node 20 - phi_v1 = pPlayer; - if (dword_CODE_bss_8007BA04 != 0) - { - // Node 21 - phi_v1 = pPlayer; - if (*dword_CODE_bss_8007BA04 == 1) - { - // Node 22 - phi_v1 = pPlayer; - if (dword_CODE_bss_8007BA04->unk4->unk3 == &D_8003644C) - { - // Node 23 - D_8003644C = (void *) dword_CODE_bss_8007BA04; - phi_v1 = pPlayer; - } - } - } - } - } - else - { - // Node 17 - *arg1 = sp90; - sp94 = 1; - phi_v1 = pPlayer; - } - } - else - { - // Node 19 - phi_v1 = pPlayer; - if (ptr_playerstank == 0) - { - // Node 20 - phi_v1 = pPlayer; - if (dword_CODE_bss_8007BA04 != 0) - { - // Node 21 - phi_v1 = pPlayer; - if (*dword_CODE_bss_8007BA04 == 1) - { - // Node 22 - phi_v1 = pPlayer; - if (dword_CODE_bss_8007BA04->unk4->unk3 == &D_8003644C) - { - // Node 23 - D_8003644C = (void *) dword_CODE_bss_8007BA04; - phi_v1 = pPlayer; - } - } - } - } - } - } - else - { - // Node 18 - // Node 19 - phi_v1 = pPlayer; - if (ptr_playerstank == 0) - { - // Node 20 - phi_v1 = pPlayer; - if (dword_CODE_bss_8007BA04 != 0) - { - // Node 21 - phi_v1 = pPlayer; - if (*dword_CODE_bss_8007BA04 == 1) - { - // Node 22 - phi_v1 = pPlayer; - if (dword_CODE_bss_8007BA04->unk4->unk3 == &D_8003644C) - { - // Node 23 - D_8003644C = (void *) dword_CODE_bss_8007BA04; - phi_v1 = pPlayer; - } - } - } - } - } - // Node 24 - sub_GAME_7F03D058(phi_v1->unkA8, 1); - if (D_8003644C != 0) - { - // Node 25 - sub_GAME_7F03D058(D_8003644C, 1); - } - } - // Node 26 - return sp94; -} -#else -GLOBAL_ASM( -.text -glabel cal_player_collision -/* 0B1ABC 7F07CF8C 3C0E8003 */ lui $t6, %hi(in_tank_flag) -/* 0B1AC0 7F07CF90 8DCE6448 */ lw $t6, %lo(in_tank_flag)($t6) -/* 0B1AC4 7F07CF94 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 0B1AC8 7F07CF98 24010001 */ li $at, 1 -/* 0B1ACC 7F07CF9C AFBF002C */ sw $ra, 0x2c($sp) -/* 0B1AD0 7F07CFA0 AFA40098 */ sw $a0, 0x98($sp) -/* 0B1AD4 7F07CFA4 AFA5009C */ sw $a1, 0x9c($sp) -/* 0B1AD8 7F07CFA8 15C1000B */ bne $t6, $at, .L7F07CFD8 -/* 0B1ADC 7F07CFAC AFA00094 */ sw $zero, 0x94($sp) -/* 0B1AE0 7F07CFB0 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_800799B8) -/* 0B1AE4 7F07CFB4 8DEF99B8 */ lw $t7, %lo(dword_CODE_bss_800799B8)($t7) -/* 0B1AE8 7F07CFB8 3C058003 */ lui $a1, %hi(D_80036464) -/* 0B1AEC 7F07CFBC 8FA6009C */ lw $a2, 0x9c($sp) -/* 0B1AF0 7F07CFC0 11E00005 */ beqz $t7, .L7F07CFD8 -/* 0B1AF4 7F07CFC4 00000000 */ nop -/* 0B1AF8 7F07CFC8 0FC1F375 */ jal sub_GAME_7F07CDD4 -/* 0B1AFC 7F07CFCC 8CA56464 */ lw $a1, %lo(D_80036464)($a1) -/* 0B1B00 7F07CFD0 10000093 */ b .L7F07D220 -/* 0B1B04 7F07CFD4 AFA20094 */ sw $v0, 0x94($sp) -.L7F07CFD8: -/* 0B1B08 7F07CFD8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B1B0C 7F07CFDC 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B1B10 7F07CFE0 3C198003 */ lui $t9, %hi(obj_collision_flag) -/* 0B1B14 7F07CFE4 8F3964C8 */ lw $t9, %lo(obj_collision_flag)($t9) -/* 0B1B18 7F07CFE8 8C780488 */ lw $t8, 0x488($v1) -/* 0B1B1C 7F07CFEC 27A50080 */ addiu $a1, $sp, 0x80 -/* 0B1B20 7F07CFF0 13200004 */ beqz $t9, .L7F07D004 -/* 0B1B24 7F07CFF4 AFB80090 */ sw $t8, 0x90($sp) -/* 0B1B28 7F07CFF8 2408001F */ li $t0, 31 -/* 0B1B2C 7F07CFFC 10000002 */ b .L7F07D008 -/* 0B1B30 7F07D000 AFA8008C */ sw $t0, 0x8c($sp) -.L7F07D004: -/* 0B1B34 7F07D004 AFA0008C */ sw $zero, 0x8c($sp) -.L7F07D008: -/* 0B1B38 7F07D008 8C6400A8 */ lw $a0, 0xa8($v1) -/* 0B1B3C 7F07D00C 27A60088 */ addiu $a2, $sp, 0x88 -/* 0B1B40 7F07D010 0FC2289D */ jal sub_GAME_7F08A274 -/* 0B1B44 7F07D014 27A70084 */ addiu $a3, $sp, 0x84 -/* 0B1B48 7F07D018 3C048003 */ lui $a0, %hi(D_8003644C) -/* 0B1B4C 7F07D01C 8C84644C */ lw $a0, %lo(D_8003644C)($a0) -/* 0B1B50 7F07D020 10800003 */ beqz $a0, .L7F07D030 -/* 0B1B54 7F07D024 00000000 */ nop -/* 0B1B58 7F07D028 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0B1B5C 7F07D02C 00002825 */ move $a1, $zero -.L7F07D030: -/* 0B1B60 7F07D030 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B1B64 7F07D034 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0B1B68 7F07D038 00002825 */ move $a1, $zero -/* 0B1B6C 7F07D03C 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0B1B70 7F07D040 8D2400A8 */ lw $a0, 0xa8($t1) -/* 0B1B74 7F07D044 8FA20098 */ lw $v0, 0x98($sp) -/* 0B1B78 7F07D048 27AA003C */ addiu $t2, $sp, 0x3c -/* 0B1B7C 7F07D04C 27A40090 */ addiu $a0, $sp, 0x90 -/* 0B1B80 7F07D050 8C450000 */ lw $a1, ($v0) -/* 0B1B84 7F07D054 8C460008 */ lw $a2, 8($v0) -/* 0B1B88 7F07D058 AFAA0010 */ sw $t2, 0x10($sp) -/* 0B1B8C 7F07D05C 0FC2C8C5 */ jal sub_GAME_7F0B2314 -/* 0B1B90 7F07D060 8FA70080 */ lw $a3, 0x80($sp) -/* 0B1B94 7F07D064 AFA2007C */ sw $v0, 0x7c($sp) -/* 0B1B98 7F07D068 0FC2C8E7 */ jal sub_GAME_7F0B239C -/* 0B1B9C 7F07D06C 27A4003C */ addiu $a0, $sp, 0x3c -/* 0B1BA0 7F07D070 10400004 */ beqz $v0, .L7F07D084 -/* 0B1BA4 7F07D074 27A40090 */ addiu $a0, $sp, 0x90 -/* 0B1BA8 7F07D078 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0B1BAC 7F07D07C 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0B1BB0 7F07D080 AD6029FC */ sw $zero, 0x29fc($t3) -.L7F07D084: -/* 0B1BB4 7F07D084 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B1BB8 7F07D088 8FA20098 */ lw $v0, 0x98($sp) -/* 0B1BBC 7F07D08C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B1BC0 7F07D090 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B1BC4 7F07D094 C4440008 */ lwc1 $f4, 8($v0) -/* 0B1BC8 7F07D098 8C470000 */ lw $a3, ($v0) -/* 0B1BCC 7F07D09C 8C65048C */ lw $a1, 0x48c($v1) -/* 0B1BD0 7F07D0A0 8C660494 */ lw $a2, 0x494($v1) -/* 0B1BD4 7F07D0A4 44818000 */ mtc1 $at, $f16 -/* 0B1BD8 7F07D0A8 8FAC008C */ lw $t4, 0x8c($sp) -/* 0B1BDC 7F07D0AC C7A60088 */ lwc1 $f6, 0x88($sp) -/* 0B1BE0 7F07D0B0 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 0B1BE4 7F07D0B4 44805000 */ mtc1 $zero, $f10 -/* 0B1BE8 7F07D0B8 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0B1BEC 7F07D0BC AFAC0014 */ sw $t4, 0x14($sp) -/* 0B1BF0 7F07D0C0 E7B00024 */ swc1 $f16, 0x24($sp) -/* 0B1BF4 7F07D0C4 E7A60018 */ swc1 $f6, 0x18($sp) -/* 0B1BF8 7F07D0C8 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 0B1BFC 7F07D0CC 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0B1C00 7F07D0D0 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 0B1C04 7F07D0D4 10400035 */ beqz $v0, .L7F07D1AC -/* 0B1C08 7F07D0D8 27A40090 */ addiu $a0, $sp, 0x90 -/* 0B1C0C 7F07D0DC 8FA20098 */ lw $v0, 0x98($sp) -/* 0B1C10 7F07D0E0 8FAD008C */ lw $t5, 0x8c($sp) -/* 0B1C14 7F07D0E4 C7B20088 */ lwc1 $f18, 0x88($sp) -/* 0B1C18 7F07D0E8 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 0B1C1C 7F07D0EC 8C450000 */ lw $a1, ($v0) -/* 0B1C20 7F07D0F0 8C460008 */ lw $a2, 8($v0) -/* 0B1C24 7F07D0F4 8FA70080 */ lw $a3, 0x80($sp) -/* 0B1C28 7F07D0F8 AFAD0010 */ sw $t5, 0x10($sp) -/* 0B1C2C 7F07D0FC E7B20014 */ swc1 $f18, 0x14($sp) -/* 0B1C30 7F07D100 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 0B1C34 7F07D104 E7A40018 */ swc1 $f4, 0x18($sp) -/* 0B1C38 7F07D108 04410028 */ bgez $v0, .L7F07D1AC -/* 0B1C3C 7F07D10C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B1C40 7F07D110 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B1C44 7F07D114 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 0B1C48 7F07D118 44813000 */ mtc1 $at, $f6 -/* 0B1C4C 7F07D11C C46800A0 */ lwc1 $f8, 0xa0($v1) -/* 0B1C50 7F07D120 8FAE007C */ lw $t6, 0x7c($sp) -/* 0B1C54 7F07D124 46083032 */ c.eq.s $f6, $f8 -/* 0B1C58 7F07D128 00000000 */ nop -/* 0B1C5C 7F07D12C 45010003 */ bc1t .L7F07D13C -/* 0B1C60 7F07D130 00000000 */ nop -/* 0B1C64 7F07D134 05C1001F */ bgez $t6, .L7F07D1B4 -/* 0B1C68 7F07D138 00000000 */ nop -.L7F07D13C: -/* 0B1C6C 7F07D13C 0FC2C8E9 */ jal sub_GAME_7F0B23A4 -/* 0B1C70 7F07D140 27A4003C */ addiu $a0, $sp, 0x3c -/* 0B1C74 7F07D144 14400011 */ bnez $v0, .L7F07D18C -/* 0B1C78 7F07D148 27A40090 */ addiu $a0, $sp, 0x90 -/* 0B1C7C 7F07D14C 3C188008 */ lui $t8, %hi(pPlayer) -/* 0B1C80 7F07D150 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0B1C84 7F07D154 3C01432F */ li $at, 0x432F0000 # 175.000000 -/* 0B1C88 7F07D158 44818000 */ mtc1 $at, $f16 -/* 0B1C8C 7F07D15C C70A0490 */ lwc1 $f10, 0x490($t8) -/* 0B1C90 7F07D160 8FAF0098 */ lw $t7, 0x98($sp) -/* 0B1C94 7F07D164 8FA70080 */ lw $a3, 0x80($sp) -/* 0B1C98 7F07D168 46105480 */ add.s $f18, $f10, $f16 -/* 0B1C9C 7F07D16C 8DE50000 */ lw $a1, ($t7) -/* 0B1CA0 7F07D170 8DE60008 */ lw $a2, 8($t7) -/* 0B1CA4 7F07D174 0FC2C9AE */ jal sub_GAME_7F0B26B8 -/* 0B1CA8 7F07D178 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0B1CAC 7F07D17C 04400003 */ bltz $v0, .L7F07D18C -/* 0B1CB0 7F07D180 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B1CB4 7F07D184 1000000B */ b .L7F07D1B4 -/* 0B1CB8 7F07D188 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F07D18C: -/* 0B1CBC 7F07D18C 8FB90090 */ lw $t9, 0x90($sp) -/* 0B1CC0 7F07D190 8FA8009C */ lw $t0, 0x9c($sp) -/* 0B1CC4 7F07D194 24090001 */ li $t1, 1 -/* 0B1CC8 7F07D198 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B1CCC 7F07D19C AD190000 */ sw $t9, ($t0) -/* 0B1CD0 7F07D1A0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B1CD4 7F07D1A4 10000015 */ b .L7F07D1FC -/* 0B1CD8 7F07D1A8 AFA90094 */ sw $t1, 0x94($sp) -.L7F07D1AC: -/* 0B1CDC 7F07D1AC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B1CE0 7F07D1B0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F07D1B4: -/* 0B1CE4 7F07D1B4 3C0A8003 */ lui $t2, %hi(ptr_playerstank) -/* 0B1CE8 7F07D1B8 8D4A6450 */ lw $t2, %lo(ptr_playerstank)($t2) -/* 0B1CEC 7F07D1BC 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007BA04) -/* 0B1CF0 7F07D1C0 5540000F */ bnezl $t2, .L7F07D200 -/* 0B1CF4 7F07D1C4 8C6400A8 */ lw $a0, 0xa8($v1) -/* 0B1CF8 7F07D1C8 8C42BA04 */ lw $v0, %lo(dword_CODE_bss_8007BA04)($v0) -/* 0B1CFC 7F07D1CC 5040000C */ beql $v0, $zero, .L7F07D200 -/* 0B1D00 7F07D1D0 8C6400A8 */ lw $a0, 0xa8($v1) -/* 0B1D04 7F07D1D4 904B0000 */ lbu $t3, ($v0) -/* 0B1D08 7F07D1D8 24010001 */ li $at, 1 -/* 0B1D0C 7F07D1DC 55610008 */ bnel $t3, $at, .L7F07D200 -/* 0B1D10 7F07D1E0 8C6400A8 */ lw $a0, 0xa8($v1) -/* 0B1D14 7F07D1E4 8C440004 */ lw $a0, 4($v0) -/* 0B1D18 7F07D1E8 2401002D */ li $at, 45 -/* 0B1D1C 7F07D1EC 908C0003 */ lbu $t4, 3($a0) -/* 0B1D20 7F07D1F0 15810002 */ bne $t4, $at, .L7F07D1FC -/* 0B1D24 7F07D1F4 3C018003 */ lui $at, %hi(D_8003644C) -/* 0B1D28 7F07D1F8 AC22644C */ sw $v0, %lo(D_8003644C)($at) -.L7F07D1FC: -/* 0B1D2C 7F07D1FC 8C6400A8 */ lw $a0, 0xa8($v1) -.L7F07D200: -/* 0B1D30 7F07D200 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0B1D34 7F07D204 24050001 */ li $a1, 1 -/* 0B1D38 7F07D208 3C048003 */ lui $a0, %hi(D_8003644C) -/* 0B1D3C 7F07D20C 8C84644C */ lw $a0, %lo(D_8003644C)($a0) -/* 0B1D40 7F07D210 50800004 */ beql $a0, $zero, .L7F07D224 -/* 0B1D44 7F07D214 8FBF002C */ lw $ra, 0x2c($sp) -/* 0B1D48 7F07D218 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0B1D4C 7F07D21C 24050001 */ li $a1, 1 -.L7F07D220: -/* 0B1D50 7F07D220 8FBF002C */ lw $ra, 0x2c($sp) -.L7F07D224: -/* 0B1D54 7F07D224 8FA20094 */ lw $v0, 0x94($sp) -/* 0B1D58 7F07D228 27BD0098 */ addiu $sp, $sp, 0x98 -/* 0B1D5C 7F07D22C 03E00008 */ jr $ra -/* 0B1D60 7F07D230 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07D234(void *arg0, s32 arg1, ? arg2) { - ?32 sp1C; - - // Node 0 - sub_GAME_7F0B1CC4(); - if (cal_player_collision(arg0, &sp1C) == 0) - { - // Node 2 - sub_GAME_7F0B28B0(arg1, arg2); - // Node 3 - return 0; - } - // Node 1 - pPlayer->field_488 = sp1C; - pPlayer->field_48C = (f32) *arg0; - pPlayer->field_494 = (f32) arg0->unk8; - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07D234 -/* 0B1D64 7F07D234 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B1D68 7F07D238 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B1D6C 7F07D23C AFA40020 */ sw $a0, 0x20($sp) -/* 0B1D70 7F07D240 AFA50024 */ sw $a1, 0x24($sp) -/* 0B1D74 7F07D244 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 0B1D78 7F07D248 AFA60028 */ sw $a2, 0x28($sp) -/* 0B1D7C 7F07D24C 8FA40020 */ lw $a0, 0x20($sp) -/* 0B1D80 7F07D250 0FC1F3E3 */ jal cal_player_collision -/* 0B1D84 7F07D254 27A5001C */ addiu $a1, $sp, 0x1c -/* 0B1D88 7F07D258 1040000E */ beqz $v0, .L7F07D294 -/* 0B1D8C 7F07D25C 8FA40020 */ lw $a0, 0x20($sp) -/* 0B1D90 7F07D260 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B1D94 7F07D264 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B1D98 7F07D268 8C6F0000 */ lw $t7, ($v1) -/* 0B1D9C 7F07D26C 8FAE001C */ lw $t6, 0x1c($sp) -/* 0B1DA0 7F07D270 24020001 */ li $v0, 1 -/* 0B1DA4 7F07D274 ADEE0488 */ sw $t6, 0x488($t7) -/* 0B1DA8 7F07D278 8C780000 */ lw $t8, ($v1) -/* 0B1DAC 7F07D27C C4840000 */ lwc1 $f4, ($a0) -/* 0B1DB0 7F07D280 E704048C */ swc1 $f4, 0x48c($t8) -/* 0B1DB4 7F07D284 8C790000 */ lw $t9, ($v1) -/* 0B1DB8 7F07D288 C4860008 */ lwc1 $f6, 8($a0) -/* 0B1DBC 7F07D28C 10000005 */ b .L7F07D2A4 -/* 0B1DC0 7F07D290 E7260494 */ swc1 $f6, 0x494($t9) -.L7F07D294: -/* 0B1DC4 7F07D294 8FA40024 */ lw $a0, 0x24($sp) -/* 0B1DC8 7F07D298 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 0B1DCC 7F07D29C 8FA50028 */ lw $a1, 0x28($sp) -/* 0B1DD0 7F07D2A0 00001025 */ move $v0, $zero -.L7F07D2A4: -/* 0B1DD4 7F07D2A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B1DD8 7F07D2A8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B1DDC 7F07D2AC 03E00008 */ jr $ra -/* 0B1DE0 7F07D2B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07D2B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07D2B4 -/* 0B1DE4 7F07D2B4 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0B1DE8 7F07D2B8 AFB00018 */ sw $s0, 0x18($sp) -/* 0B1DEC 7F07D2BC 3C108008 */ lui $s0, %hi(pPlayer) -/* 0B1DF0 7F07D2C0 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0B1DF4 7F07D2C4 8E0E0000 */ lw $t6, ($s0) -/* 0B1DF8 7F07D2C8 AFB20020 */ sw $s2, 0x20($sp) -/* 0B1DFC 7F07D2CC AFB1001C */ sw $s1, 0x1c($sp) -/* 0B1E00 7F07D2D0 00A08825 */ move $s1, $a1 -/* 0B1E04 7F07D2D4 00C09025 */ move $s2, $a2 -/* 0B1E08 7F07D2D8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0B1E0C 7F07D2DC AFA40080 */ sw $a0, 0x80($sp) -/* 0B1E10 7F07D2E0 AFA7008C */ sw $a3, 0x8c($sp) -/* 0B1E14 7F07D2E4 27A70074 */ addiu $a3, $sp, 0x74 -/* 0B1E18 7F07D2E8 27A60078 */ addiu $a2, $sp, 0x78 -/* 0B1E1C 7F07D2EC 27A50030 */ addiu $a1, $sp, 0x30 -/* 0B1E20 7F07D2F0 0FC2289D */ jal sub_GAME_7F08A274 -/* 0B1E24 7F07D2F4 8DC400A8 */ lw $a0, 0xa8($t6) -/* 0B1E28 7F07D2F8 8FA30080 */ lw $v1, 0x80($sp) -/* 0B1E2C 7F07D2FC 8E020000 */ lw $v0, ($s0) -/* 0B1E30 7F07D300 27A40050 */ addiu $a0, $sp, 0x50 -/* 0B1E34 7F07D304 C4640000 */ lwc1 $f4, ($v1) -/* 0B1E38 7F07D308 C446048C */ lwc1 $f6, 0x48c($v0) -/* 0B1E3C 7F07D30C 27A50048 */ addiu $a1, $sp, 0x48 -/* 0B1E40 7F07D310 27A60040 */ addiu $a2, $sp, 0x40 -/* 0B1E44 7F07D314 46062201 */ sub.s $f8, $f4, $f6 -/* 0B1E48 7F07D318 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0B1E4C 7F07D31C 27A70038 */ addiu $a3, $sp, 0x38 -/* 0B1E50 7F07D320 E7A8005C */ swc1 $f8, 0x5c($sp) -/* 0B1E54 7F07D324 C46A0008 */ lwc1 $f10, 8($v1) -/* 0B1E58 7F07D328 C4500494 */ lwc1 $f16, 0x494($v0) -/* 0B1E5C 7F07D32C E7A40050 */ swc1 $f4, 0x50($sp) -/* 0B1E60 7F07D330 46105481 */ sub.s $f18, $f10, $f16 -/* 0B1E64 7F07D334 E7B20064 */ swc1 $f18, 0x64($sp) -/* 0B1E68 7F07D338 C446048C */ lwc1 $f6, 0x48c($v0) -/* 0B1E6C 7F07D33C E7A60054 */ swc1 $f6, 0x54($sp) -/* 0B1E70 7F07D340 C4480494 */ lwc1 $f8, 0x494($v0) -/* 0B1E74 7F07D344 C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 0B1E78 7F07D348 E7A80058 */ swc1 $f8, 0x58($sp) -/* 0B1E7C 7F07D34C C62A0000 */ lwc1 $f10, ($s1) -/* 0B1E80 7F07D350 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 0B1E84 7F07D354 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 0B1E88 7F07D358 C6300008 */ lwc1 $f16, 8($s1) -/* 0B1E8C 7F07D35C E7B0004C */ swc1 $f16, 0x4c($sp) -/* 0B1E90 7F07D360 C6520000 */ lwc1 $f18, ($s2) -/* 0B1E94 7F07D364 E7B20040 */ swc1 $f18, 0x40($sp) -/* 0B1E98 7F07D368 C6440008 */ lwc1 $f4, 8($s2) -/* 0B1E9C 7F07D36C E7A60038 */ swc1 $f6, 0x38($sp) -/* 0B1EA0 7F07D370 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 0B1EA4 7F07D374 0FC2CCF7 */ jal sub_GAME_7F0B33DC -/* 0B1EA8 7F07D378 E7A40044 */ swc1 $f4, 0x44($sp) -/* 0B1EAC 7F07D37C C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0B1EB0 7F07D380 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0B1EB4 7F07D384 44811000 */ mtc1 $at, $f2 -/* 0B1EB8 7F07D388 46005402 */ mul.s $f16, $f10, $f0 -/* 0B1EBC 7F07D38C C7A80064 */ lwc1 $f8, 0x64($sp) -/* 0B1EC0 7F07D390 8E020000 */ lw $v0, ($s0) -/* 0B1EC4 7F07D394 27A40068 */ addiu $a0, $sp, 0x68 -/* 0B1EC8 7F07D398 27A5007C */ addiu $a1, $sp, 0x7c -/* 0B1ECC 7F07D39C C444048C */ lwc1 $f4, 0x48c($v0) -/* 0B1ED0 7F07D3A0 46028482 */ mul.s $f18, $f16, $f2 -/* 0B1ED4 7F07D3A4 00000000 */ nop -/* 0B1ED8 7F07D3A8 46004282 */ mul.s $f10, $f8, $f0 -/* 0B1EDC 7F07D3AC 46049180 */ add.s $f6, $f18, $f4 -/* 0B1EE0 7F07D3B0 46025402 */ mul.s $f16, $f10, $f2 -/* 0B1EE4 7F07D3B4 E7A60068 */ swc1 $f6, 0x68($sp) -/* 0B1EE8 7F07D3B8 C4520494 */ lwc1 $f18, 0x494($v0) -/* 0B1EEC 7F07D3BC 46128100 */ add.s $f4, $f16, $f18 -/* 0B1EF0 7F07D3C0 0FC1F3E3 */ jal cal_player_collision -/* 0B1EF4 7F07D3C4 E7A40070 */ swc1 $f4, 0x70($sp) -/* 0B1EF8 7F07D3C8 1040000B */ beqz $v0, .L7F07D3F8 -/* 0B1EFC 7F07D3CC 8FAF007C */ lw $t7, 0x7c($sp) -/* 0B1F00 7F07D3D0 8E180000 */ lw $t8, ($s0) -/* 0B1F04 7F07D3D4 24020001 */ li $v0, 1 -/* 0B1F08 7F07D3D8 AF0F0488 */ sw $t7, 0x488($t8) -/* 0B1F0C 7F07D3DC 8E190000 */ lw $t9, ($s0) -/* 0B1F10 7F07D3E0 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 0B1F14 7F07D3E4 E726048C */ swc1 $f6, 0x48c($t9) -/* 0B1F18 7F07D3E8 8E080000 */ lw $t0, ($s0) -/* 0B1F1C 7F07D3EC C7A80070 */ lwc1 $f8, 0x70($sp) -/* 0B1F20 7F07D3F0 1000002D */ b .L7F07D4A8 -/* 0B1F24 7F07D3F4 E5080494 */ swc1 $f8, 0x494($t0) -.L7F07D3F8: -/* 0B1F28 7F07D3F8 8FB00090 */ lw $s0, 0x90($sp) -/* 0B1F2C 7F07D3FC 8FA4008C */ lw $a0, 0x8c($sp) -/* 0B1F30 7F07D400 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 0B1F34 7F07D404 02002825 */ move $a1, $s0 -/* 0B1F38 7F07D408 8FA3008C */ lw $v1, 0x8c($sp) -/* 0B1F3C 7F07D40C C6300000 */ lwc1 $f16, ($s1) -/* 0B1F40 7F07D410 C46A0000 */ lwc1 $f10, ($v1) -/* 0B1F44 7F07D414 46105032 */ c.eq.s $f10, $f16 -/* 0B1F48 7F07D418 00000000 */ nop -/* 0B1F4C 7F07D41C 45000020 */ bc1f .L7F07D4A0 -/* 0B1F50 7F07D420 00000000 */ nop -/* 0B1F54 7F07D424 C4720004 */ lwc1 $f18, 4($v1) -/* 0B1F58 7F07D428 C6240004 */ lwc1 $f4, 4($s1) -/* 0B1F5C 7F07D42C 46049032 */ c.eq.s $f18, $f4 -/* 0B1F60 7F07D430 00000000 */ nop -/* 0B1F64 7F07D434 4500001A */ bc1f .L7F07D4A0 -/* 0B1F68 7F07D438 00000000 */ nop -/* 0B1F6C 7F07D43C C4660008 */ lwc1 $f6, 8($v1) -/* 0B1F70 7F07D440 C6280008 */ lwc1 $f8, 8($s1) -/* 0B1F74 7F07D444 46083032 */ c.eq.s $f6, $f8 -/* 0B1F78 7F07D448 00000000 */ nop -/* 0B1F7C 7F07D44C 45000014 */ bc1f .L7F07D4A0 -/* 0B1F80 7F07D450 00000000 */ nop -/* 0B1F84 7F07D454 C60A0000 */ lwc1 $f10, ($s0) -/* 0B1F88 7F07D458 C6500000 */ lwc1 $f16, ($s2) -/* 0B1F8C 7F07D45C 46105032 */ c.eq.s $f10, $f16 -/* 0B1F90 7F07D460 00000000 */ nop -/* 0B1F94 7F07D464 4500000E */ bc1f .L7F07D4A0 -/* 0B1F98 7F07D468 00000000 */ nop -/* 0B1F9C 7F07D46C C6120004 */ lwc1 $f18, 4($s0) -/* 0B1FA0 7F07D470 C6440004 */ lwc1 $f4, 4($s2) -/* 0B1FA4 7F07D474 46049032 */ c.eq.s $f18, $f4 -/* 0B1FA8 7F07D478 00000000 */ nop -/* 0B1FAC 7F07D47C 45000008 */ bc1f .L7F07D4A0 -/* 0B1FB0 7F07D480 00000000 */ nop -/* 0B1FB4 7F07D484 C6060008 */ lwc1 $f6, 8($s0) -/* 0B1FB8 7F07D488 C6480008 */ lwc1 $f8, 8($s2) -/* 0B1FBC 7F07D48C 2402FFFF */ li $v0, -1 -/* 0B1FC0 7F07D490 46083032 */ c.eq.s $f6, $f8 -/* 0B1FC4 7F07D494 00000000 */ nop -/* 0B1FC8 7F07D498 45010003 */ bc1t .L7F07D4A8 -/* 0B1FCC 7F07D49C 00000000 */ nop -.L7F07D4A0: -/* 0B1FD0 7F07D4A0 10000001 */ b .L7F07D4A8 -/* 0B1FD4 7F07D4A4 00001025 */ move $v0, $zero -.L7F07D4A8: -/* 0B1FD8 7F07D4A8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B1FDC 7F07D4AC 8FB00018 */ lw $s0, 0x18($sp) -/* 0B1FE0 7F07D4B0 8FB1001C */ lw $s1, 0x1c($sp) -/* 0B1FE4 7F07D4B4 8FB20020 */ lw $s2, 0x20($sp) -/* 0B1FE8 7F07D4B8 03E00008 */ jr $ra -/* 0B1FEC 7F07D4BC 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07D4C0(void *arg0, void *arg1, void *arg2) { - ?32 sp24; - f32 sp28; - f32 sp30; - f32 sp34; - f32 sp3C; - f32 sp44; - f32 sp4C; - f32 temp_f8; - f32 temp_f2; - f32 temp_f4; - f32 temp_f6; - f32 temp_f12; - ? phi_return; - - // Node 0 - sp44 = (f32) (*arg0 - pPlayer->field_48C); - sp4C = (f32) (arg0->unk8 - pPlayer->field_494); - if (*arg1 == *arg2) - { - // Node 1 - phi_return = -1; - if (arg1->unk8 == arg2->unk8) - { - // Node 5 - return phi_return; - } - } - // Node 2 - temp_f8 = (*arg2 - *arg1); - sp34 = temp_f8; - sp3C = (f32) (arg2->unk8 - arg1->unk8); - temp_f2 = (1.0f / sqrtf(((sp3C * sp3C) + (temp_f8 * temp_f8)))); - temp_f4 = (sp34 * temp_f2); - temp_f6 = (sp3C * temp_f2); - sp34 = temp_f4; - sp3C = temp_f6; - temp_f12 = ((temp_f6 * sp4C) + (sp44 * temp_f4)); - sp28 = (f32) ((temp_f4 * temp_f12) + pPlayer->field_48C); - sp30 = (f32) ((temp_f6 * temp_f12) + pPlayer->field_494); - if (cal_player_collision(temp_f12, &sp28, &sp24) == 0) - { - // Node 4 - phi_return = 0; - // Node 5 - return phi_return; - } - // Node 3 - pPlayer->field_488 = sp24; - pPlayer->field_48C = sp28; - pPlayer->field_494 = sp30; - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07D4C0 -/* 0B1FF0 7F07D4C0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B1FF4 7F07D4C4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B1FF8 7F07D4C8 8C620000 */ lw $v0, ($v1) -/* 0B1FFC 7F07D4CC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0B2000 7F07D4D0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B2004 7F07D4D4 C4840000 */ lwc1 $f4, ($a0) -/* 0B2008 7F07D4D8 C446048C */ lwc1 $f6, 0x48c($v0) -/* 0B200C 7F07D4DC 46062201 */ sub.s $f8, $f4, $f6 -/* 0B2010 7F07D4E0 E7A80044 */ swc1 $f8, 0x44($sp) -/* 0B2014 7F07D4E4 C48A0008 */ lwc1 $f10, 8($a0) -/* 0B2018 7F07D4E8 C4500494 */ lwc1 $f16, 0x494($v0) -/* 0B201C 7F07D4EC 46105481 */ sub.s $f18, $f10, $f16 -/* 0B2020 7F07D4F0 E7B2004C */ swc1 $f18, 0x4c($sp) -/* 0B2024 7F07D4F4 C4C20000 */ lwc1 $f2, ($a2) -/* 0B2028 7F07D4F8 C4A00000 */ lwc1 $f0, ($a1) -/* 0B202C 7F07D4FC 46020032 */ c.eq.s $f0, $f2 -/* 0B2030 7F07D500 00000000 */ nop -/* 0B2034 7F07D504 45020009 */ bc1fl .L7F07D52C -/* 0B2038 7F07D508 46001201 */ sub.s $f8, $f2, $f0 -/* 0B203C 7F07D50C C4A40008 */ lwc1 $f4, 8($a1) -/* 0B2040 7F07D510 C4C60008 */ lwc1 $f6, 8($a2) -/* 0B2044 7F07D514 2402FFFF */ li $v0, -1 -/* 0B2048 7F07D518 46062032 */ c.eq.s $f4, $f6 -/* 0B204C 7F07D51C 00000000 */ nop -/* 0B2050 7F07D520 4501003A */ bc1t .L7F07D60C -/* 0B2054 7F07D524 00000000 */ nop -/* 0B2058 7F07D528 46001201 */ sub.s $f8, $f2, $f0 -.L7F07D52C: -/* 0B205C 7F07D52C E7A80034 */ swc1 $f8, 0x34($sp) -/* 0B2060 7F07D530 C4B00008 */ lwc1 $f16, 8($a1) -/* 0B2064 7F07D534 C4CA0008 */ lwc1 $f10, 8($a2) -/* 0B2068 7F07D538 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 0B206C 7F07D53C 46105481 */ sub.s $f18, $f10, $f16 -/* 0B2070 7F07D540 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 0B2074 7F07D544 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0B2078 7F07D548 46042182 */ mul.s $f6, $f4, $f4 -/* 0B207C 7F07D54C 00000000 */ nop -/* 0B2080 7F07D550 46084282 */ mul.s $f10, $f8, $f8 -/* 0B2084 7F07D554 0C007DF8 */ jal sqrtf -/* 0B2088 7F07D558 460A3300 */ add.s $f12, $f6, $f10 -/* 0B208C 7F07D55C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B2090 7F07D560 44818000 */ mtc1 $at, $f16 -/* 0B2094 7F07D564 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 0B2098 7F07D568 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0B209C 7F07D56C 46008083 */ div.s $f2, $f16, $f0 -/* 0B20A0 7F07D570 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0B20A4 7F07D574 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B20A8 7F07D578 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B20AC 7F07D57C 8C620000 */ lw $v0, ($v1) -/* 0B20B0 7F07D580 27A40028 */ addiu $a0, $sp, 0x28 -/* 0B20B4 7F07D584 27A50024 */ addiu $a1, $sp, 0x24 -/* 0B20B8 7F07D588 46029102 */ mul.s $f4, $f18, $f2 -/* 0B20BC 7F07D58C C7B20044 */ lwc1 $f18, 0x44($sp) -/* 0B20C0 7F07D590 46024182 */ mul.s $f6, $f8, $f2 -/* 0B20C4 7F07D594 E7A40034 */ swc1 $f4, 0x34($sp) -/* 0B20C8 7F07D598 460A3402 */ mul.s $f16, $f6, $f10 -/* 0B20CC 7F07D59C E7A6003C */ swc1 $f6, 0x3c($sp) -/* 0B20D0 7F07D5A0 46049202 */ mul.s $f8, $f18, $f4 -/* 0B20D4 7F07D5A4 C452048C */ lwc1 $f18, 0x48c($v0) -/* 0B20D8 7F07D5A8 46088300 */ add.s $f12, $f16, $f8 -/* 0B20DC 7F07D5AC 460C2282 */ mul.s $f10, $f4, $f12 -/* 0B20E0 7F07D5B0 46125400 */ add.s $f16, $f10, $f18 -/* 0B20E4 7F07D5B4 460C3202 */ mul.s $f8, $f6, $f12 -/* 0B20E8 7F07D5B8 E7B00028 */ swc1 $f16, 0x28($sp) -/* 0B20EC 7F07D5BC C4440494 */ lwc1 $f4, 0x494($v0) -/* 0B20F0 7F07D5C0 46044280 */ add.s $f10, $f8, $f4 -/* 0B20F4 7F07D5C4 0FC1F3E3 */ jal cal_player_collision -/* 0B20F8 7F07D5C8 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 0B20FC 7F07D5CC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B2100 7F07D5D0 1040000C */ beqz $v0, .L7F07D604 -/* 0B2104 7F07D5D4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B2108 7F07D5D8 8FAE0024 */ lw $t6, 0x24($sp) -/* 0B210C 7F07D5DC 8C6F0000 */ lw $t7, ($v1) -/* 0B2110 7F07D5E0 24020001 */ li $v0, 1 -/* 0B2114 7F07D5E4 ADEE0488 */ sw $t6, 0x488($t7) -/* 0B2118 7F07D5E8 8C780000 */ lw $t8, ($v1) -/* 0B211C 7F07D5EC C7B20028 */ lwc1 $f18, 0x28($sp) -/* 0B2120 7F07D5F0 E712048C */ swc1 $f18, 0x48c($t8) -/* 0B2124 7F07D5F4 8C790000 */ lw $t9, ($v1) -/* 0B2128 7F07D5F8 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 0B212C 7F07D5FC 10000003 */ b .L7F07D60C -/* 0B2130 7F07D600 E7300494 */ swc1 $f16, 0x494($t9) -.L7F07D604: -/* 0B2134 7F07D604 10000001 */ b .L7F07D60C -/* 0B2138 7F07D608 00001025 */ move $v0, $zero -.L7F07D60C: -/* 0B213C 7F07D60C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B2140 7F07D610 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0B2144 7F07D614 03E00008 */ jr $ra -/* 0B2148 7F07D618 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07D61C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07D61C -/* 0B214C 7F07D61C 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0B2150 7F07D620 AFB30020 */ sw $s3, 0x20($sp) -/* 0B2154 7F07D624 3C138008 */ lui $s3, %hi(pPlayer) -/* 0B2158 7F07D628 2673A0B0 */ addiu $s3, %lo(pPlayer) # addiu $s3, $s3, -0x5f50 -/* 0B215C 7F07D62C 8E6E0000 */ lw $t6, ($s3) -/* 0B2160 7F07D630 AFB2001C */ sw $s2, 0x1c($sp) -/* 0B2164 7F07D634 AFB10018 */ sw $s1, 0x18($sp) -/* 0B2168 7F07D638 AFB00014 */ sw $s0, 0x14($sp) -/* 0B216C 7F07D63C 00808025 */ move $s0, $a0 -/* 0B2170 7F07D640 00A08825 */ move $s1, $a1 -/* 0B2174 7F07D644 00C09025 */ move $s2, $a2 -/* 0B2178 7F07D648 AFBF0024 */ sw $ra, 0x24($sp) -/* 0B217C 7F07D64C 27A60040 */ addiu $a2, $sp, 0x40 -/* 0B2180 7F07D650 27A50030 */ addiu $a1, $sp, 0x30 -/* 0B2184 7F07D654 27A7003C */ addiu $a3, $sp, 0x3c -/* 0B2188 7F07D658 0FC2289D */ jal sub_GAME_7F08A274 -/* 0B218C 7F07D65C 8DC400A8 */ lw $a0, 0xa8($t6) -/* 0B2190 7F07D660 8E620000 */ lw $v0, ($s3) -/* 0B2194 7F07D664 C6040000 */ lwc1 $f4, ($s0) -/* 0B2198 7F07D668 C446048C */ lwc1 $f6, 0x48c($v0) -/* 0B219C 7F07D66C 46062201 */ sub.s $f8, $f4, $f6 -/* 0B21A0 7F07D670 E7A8005C */ swc1 $f8, 0x5c($sp) -/* 0B21A4 7F07D674 C60A0008 */ lwc1 $f10, 8($s0) -/* 0B21A8 7F07D678 C4500494 */ lwc1 $f16, 0x494($v0) -/* 0B21AC 7F07D67C 46105481 */ sub.s $f18, $f10, $f16 -/* 0B21B0 7F07D680 E7B20064 */ swc1 $f18, 0x64($sp) -/* 0B21B4 7F07D684 C6060000 */ lwc1 $f6, ($s0) -/* 0B21B8 7F07D688 C6240000 */ lwc1 $f4, ($s1) -/* 0B21BC 7F07D68C 46062201 */ sub.s $f8, $f4, $f6 -/* 0B21C0 7F07D690 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0B21C4 7F07D694 E7A80050 */ swc1 $f8, 0x50($sp) -/* 0B21C8 7F07D698 C6100008 */ lwc1 $f16, 8($s0) -/* 0B21CC 7F07D69C C62A0008 */ lwc1 $f10, 8($s1) -/* 0B21D0 7F07D6A0 46042002 */ mul.s $f0, $f4, $f4 -/* 0B21D4 7F07D6A4 46105481 */ sub.s $f18, $f10, $f16 -/* 0B21D8 7F07D6A8 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 0B21DC 7F07D6AC E7B20058 */ swc1 $f18, 0x58($sp) -/* 0B21E0 7F07D6B0 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 0B21E4 7F07D6B4 46063202 */ mul.s $f8, $f6, $f6 -/* 0B21E8 7F07D6B8 00000000 */ nop -/* 0B21EC 7F07D6BC 460A5402 */ mul.s $f16, $f10, $f10 -/* 0B21F0 7F07D6C0 46104480 */ add.s $f18, $f8, $f16 -/* 0B21F4 7F07D6C4 4600903E */ c.le.s $f18, $f0 -/* 0B21F8 7F07D6C8 00000000 */ nop -/* 0B21FC 7F07D6CC 45000044 */ bc1f .L7F07D7E0 -/* 0B2200 7F07D6D0 00000000 */ nop -/* 0B2204 7F07D6D4 C6240000 */ lwc1 $f4, ($s1) -/* 0B2208 7F07D6D8 C446048C */ lwc1 $f6, 0x48c($v0) -/* 0B220C 7F07D6DC 46062032 */ c.eq.s $f4, $f6 -/* 0B2210 7F07D6E0 00000000 */ nop -/* 0B2214 7F07D6E4 45020008 */ bc1fl .L7F07D708 -/* 0B2218 7F07D6E8 C6300008 */ lwc1 $f16, 8($s1) -/* 0B221C 7F07D6EC C62A0008 */ lwc1 $f10, 8($s1) -/* 0B2220 7F07D6F0 C4480494 */ lwc1 $f8, 0x494($v0) -/* 0B2224 7F07D6F4 46085032 */ c.eq.s $f10, $f8 -/* 0B2228 7F07D6F8 00000000 */ nop -/* 0B222C 7F07D6FC 4503008E */ bc1tl .L7F07D938 -/* 0B2230 7F07D700 00001025 */ move $v0, $zero -/* 0B2234 7F07D704 C6300008 */ lwc1 $f16, 8($s1) -.L7F07D708: -/* 0B2238 7F07D708 C4520494 */ lwc1 $f18, 0x494($v0) -/* 0B223C 7F07D70C 46128101 */ sub.s $f4, $f16, $f18 -/* 0B2240 7F07D710 46002187 */ neg.s $f6, $f4 -/* 0B2244 7F07D714 E7A60050 */ swc1 $f6, 0x50($sp) -/* 0B2248 7F07D718 C448048C */ lwc1 $f8, 0x48c($v0) -/* 0B224C 7F07D71C C62A0000 */ lwc1 $f10, ($s1) -/* 0B2250 7F07D720 46063482 */ mul.s $f18, $f6, $f6 -/* 0B2254 7F07D724 46085401 */ sub.s $f16, $f10, $f8 -/* 0B2258 7F07D728 E7B00058 */ swc1 $f16, 0x58($sp) -/* 0B225C 7F07D72C C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0B2260 7F07D730 46042282 */ mul.s $f10, $f4, $f4 -/* 0B2264 7F07D734 0C007DF8 */ jal sqrtf -/* 0B2268 7F07D738 46125300 */ add.s $f12, $f10, $f18 -/* 0B226C 7F07D73C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B2270 7F07D740 44814000 */ mtc1 $at, $f8 -/* 0B2274 7F07D744 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 0B2278 7F07D748 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0B227C 7F07D74C 46004083 */ div.s $f2, $f8, $f0 -/* 0B2280 7F07D750 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 0B2284 7F07D754 8E620000 */ lw $v0, ($s3) -/* 0B2288 7F07D758 27A40044 */ addiu $a0, $sp, 0x44 -/* 0B228C 7F07D75C 27A50034 */ addiu $a1, $sp, 0x34 -/* 0B2290 7F07D760 46028182 */ mul.s $f6, $f16, $f2 -/* 0B2294 7F07D764 C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 0B2298 7F07D768 46022282 */ mul.s $f10, $f4, $f2 -/* 0B229C 7F07D76C E7A60050 */ swc1 $f6, 0x50($sp) -/* 0B22A0 7F07D770 46125202 */ mul.s $f8, $f10, $f18 -/* 0B22A4 7F07D774 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0B22A8 7F07D778 46068102 */ mul.s $f4, $f16, $f6 -/* 0B22AC 7F07D77C 46044300 */ add.s $f12, $f8, $f4 -/* 0B22B0 7F07D780 460C3482 */ mul.s $f18, $f6, $f12 -/* 0B22B4 7F07D784 00000000 */ nop -/* 0B22B8 7F07D788 460C5402 */ mul.s $f16, $f10, $f12 -/* 0B22BC 7F07D78C E7B20050 */ swc1 $f18, 0x50($sp) -/* 0B22C0 7F07D790 E7B00058 */ swc1 $f16, 0x58($sp) -/* 0B22C4 7F07D794 C448048C */ lwc1 $f8, 0x48c($v0) -/* 0B22C8 7F07D798 46089100 */ add.s $f4, $f18, $f8 -/* 0B22CC 7F07D79C E7A40044 */ swc1 $f4, 0x44($sp) -/* 0B22D0 7F07D7A0 C4460494 */ lwc1 $f6, 0x494($v0) -/* 0B22D4 7F07D7A4 46068280 */ add.s $f10, $f16, $f6 -/* 0B22D8 7F07D7A8 0FC1F3E3 */ jal cal_player_collision -/* 0B22DC 7F07D7AC E7AA004C */ swc1 $f10, 0x4c($sp) -/* 0B22E0 7F07D7B0 10400060 */ beqz $v0, .L7F07D934 -/* 0B22E4 7F07D7B4 8FAF0034 */ lw $t7, 0x34($sp) -/* 0B22E8 7F07D7B8 8E780000 */ lw $t8, ($s3) -/* 0B22EC 7F07D7BC 24020001 */ li $v0, 1 -/* 0B22F0 7F07D7C0 AF0F0488 */ sw $t7, 0x488($t8) -/* 0B22F4 7F07D7C4 8E790000 */ lw $t9, ($s3) -/* 0B22F8 7F07D7C8 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 0B22FC 7F07D7CC E732048C */ swc1 $f18, 0x48c($t9) -/* 0B2300 7F07D7D0 8E680000 */ lw $t0, ($s3) -/* 0B2304 7F07D7D4 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 0B2308 7F07D7D8 10000057 */ b .L7F07D938 -/* 0B230C 7F07D7DC E5080494 */ swc1 $f8, 0x494($t0) -.L7F07D7E0: -/* 0B2310 7F07D7E0 C6440000 */ lwc1 $f4, ($s2) -/* 0B2314 7F07D7E4 C6100000 */ lwc1 $f16, ($s0) -/* 0B2318 7F07D7E8 46102181 */ sub.s $f6, $f4, $f16 -/* 0B231C 7F07D7EC E7A60050 */ swc1 $f6, 0x50($sp) -/* 0B2320 7F07D7F0 C6120008 */ lwc1 $f18, 8($s0) -/* 0B2324 7F07D7F4 C64A0008 */ lwc1 $f10, 8($s2) -/* 0B2328 7F07D7F8 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 0B232C 7F07D7FC 46125201 */ sub.s $f8, $f10, $f18 -/* 0B2330 7F07D800 E7A80058 */ swc1 $f8, 0x58($sp) -/* 0B2334 7F07D804 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0B2338 7F07D808 46042402 */ mul.s $f16, $f4, $f4 -/* 0B233C 7F07D80C 00000000 */ nop -/* 0B2340 7F07D810 46063282 */ mul.s $f10, $f6, $f6 -/* 0B2344 7F07D814 460A8480 */ add.s $f18, $f16, $f10 -/* 0B2348 7F07D818 4600903E */ c.le.s $f18, $f0 -/* 0B234C 7F07D81C 00000000 */ nop -/* 0B2350 7F07D820 45000044 */ bc1f .L7F07D934 -/* 0B2354 7F07D824 00000000 */ nop -/* 0B2358 7F07D828 C6480000 */ lwc1 $f8, ($s2) -/* 0B235C 7F07D82C C444048C */ lwc1 $f4, 0x48c($v0) -/* 0B2360 7F07D830 46044032 */ c.eq.s $f8, $f4 -/* 0B2364 7F07D834 00000000 */ nop -/* 0B2368 7F07D838 45020008 */ bc1fl .L7F07D85C -/* 0B236C 7F07D83C C64A0008 */ lwc1 $f10, 8($s2) -/* 0B2370 7F07D840 C6460008 */ lwc1 $f6, 8($s2) -/* 0B2374 7F07D844 C4500494 */ lwc1 $f16, 0x494($v0) -/* 0B2378 7F07D848 46103032 */ c.eq.s $f6, $f16 -/* 0B237C 7F07D84C 00000000 */ nop -/* 0B2380 7F07D850 45030039 */ bc1tl .L7F07D938 -/* 0B2384 7F07D854 00001025 */ move $v0, $zero -/* 0B2388 7F07D858 C64A0008 */ lwc1 $f10, 8($s2) -.L7F07D85C: -/* 0B238C 7F07D85C C4520494 */ lwc1 $f18, 0x494($v0) -/* 0B2390 7F07D860 46125201 */ sub.s $f8, $f10, $f18 -/* 0B2394 7F07D864 46004107 */ neg.s $f4, $f8 -/* 0B2398 7F07D868 E7A40050 */ swc1 $f4, 0x50($sp) -/* 0B239C 7F07D86C C450048C */ lwc1 $f16, 0x48c($v0) -/* 0B23A0 7F07D870 C6460000 */ lwc1 $f6, ($s2) -/* 0B23A4 7F07D874 46042482 */ mul.s $f18, $f4, $f4 -/* 0B23A8 7F07D878 46103281 */ sub.s $f10, $f6, $f16 -/* 0B23AC 7F07D87C E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0B23B0 7F07D880 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0B23B4 7F07D884 46084182 */ mul.s $f6, $f8, $f8 -/* 0B23B8 7F07D888 0C007DF8 */ jal sqrtf -/* 0B23BC 7F07D88C 46123300 */ add.s $f12, $f6, $f18 -/* 0B23C0 7F07D890 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B23C4 7F07D894 44818000 */ mtc1 $at, $f16 -/* 0B23C8 7F07D898 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 0B23CC 7F07D89C C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0B23D0 7F07D8A0 46008083 */ div.s $f2, $f16, $f0 -/* 0B23D4 7F07D8A4 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 0B23D8 7F07D8A8 8E620000 */ lw $v0, ($s3) -/* 0B23DC 7F07D8AC 27A40044 */ addiu $a0, $sp, 0x44 -/* 0B23E0 7F07D8B0 27A50034 */ addiu $a1, $sp, 0x34 -/* 0B23E4 7F07D8B4 46025102 */ mul.s $f4, $f10, $f2 -/* 0B23E8 7F07D8B8 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0B23EC 7F07D8BC 46024182 */ mul.s $f6, $f8, $f2 -/* 0B23F0 7F07D8C0 E7A40050 */ swc1 $f4, 0x50($sp) -/* 0B23F4 7F07D8C4 46123402 */ mul.s $f16, $f6, $f18 -/* 0B23F8 7F07D8C8 E7A60058 */ swc1 $f6, 0x58($sp) -/* 0B23FC 7F07D8CC 46045202 */ mul.s $f8, $f10, $f4 -/* 0B2400 7F07D8D0 46088300 */ add.s $f12, $f16, $f8 -/* 0B2404 7F07D8D4 460C2482 */ mul.s $f18, $f4, $f12 -/* 0B2408 7F07D8D8 00000000 */ nop -/* 0B240C 7F07D8DC 460C3282 */ mul.s $f10, $f6, $f12 -/* 0B2410 7F07D8E0 E7B20050 */ swc1 $f18, 0x50($sp) -/* 0B2414 7F07D8E4 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0B2418 7F07D8E8 C450048C */ lwc1 $f16, 0x48c($v0) -/* 0B241C 7F07D8EC 46109200 */ add.s $f8, $f18, $f16 -/* 0B2420 7F07D8F0 E7A80044 */ swc1 $f8, 0x44($sp) -/* 0B2424 7F07D8F4 C4440494 */ lwc1 $f4, 0x494($v0) -/* 0B2428 7F07D8F8 46045180 */ add.s $f6, $f10, $f4 -/* 0B242C 7F07D8FC 0FC1F3E3 */ jal cal_player_collision -/* 0B2430 7F07D900 E7A6004C */ swc1 $f6, 0x4c($sp) -/* 0B2434 7F07D904 1040000B */ beqz $v0, .L7F07D934 -/* 0B2438 7F07D908 8FA90034 */ lw $t1, 0x34($sp) -/* 0B243C 7F07D90C 8E6A0000 */ lw $t2, ($s3) -/* 0B2440 7F07D910 24020001 */ li $v0, 1 -/* 0B2444 7F07D914 AD490488 */ sw $t1, 0x488($t2) -/* 0B2448 7F07D918 8E6B0000 */ lw $t3, ($s3) -/* 0B244C 7F07D91C C7B20044 */ lwc1 $f18, 0x44($sp) -/* 0B2450 7F07D920 E572048C */ swc1 $f18, 0x48c($t3) -/* 0B2454 7F07D924 8E6C0000 */ lw $t4, ($s3) -/* 0B2458 7F07D928 C7B0004C */ lwc1 $f16, 0x4c($sp) -/* 0B245C 7F07D92C 10000002 */ b .L7F07D938 -/* 0B2460 7F07D930 E5900494 */ swc1 $f16, 0x494($t4) -.L7F07D934: -/* 0B2464 7F07D934 00001025 */ move $v0, $zero -.L7F07D938: -/* 0B2468 7F07D938 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B246C 7F07D93C 8FB00014 */ lw $s0, 0x14($sp) -/* 0B2470 7F07D940 8FB10018 */ lw $s1, 0x18($sp) -/* 0B2474 7F07D944 8FB2001C */ lw $s2, 0x1c($sp) -/* 0B2478 7F07D948 8FB30020 */ lw $s3, 0x20($sp) -/* 0B247C 7F07D94C 03E00008 */ jr $ra -/* 0B2480 7F07D950 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F07D954(s32 arg0) { - // Node 0 - return arg0; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07D954 -/* 0B2484 7F07D954 44840000 */ mtc1 $a0, $f0 -/* 0B2488 7F07D958 03E00008 */ jr $ra -/* 0B248C 7F07D95C AFA40000 */ sw $a0, ($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07D960(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07D960 -/* 0B2490 7F07D960 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B2494 7F07D964 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B2498 7F07D968 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0B249C 7F07D96C 8C620000 */ lw $v0, ($v1) -/* 0B24A0 7F07D970 AFBF0024 */ sw $ra, 0x24($sp) -/* 0B24A4 7F07D974 AFB00020 */ sw $s0, 0x20($sp) -/* 0B24A8 7F07D978 AFA500C4 */ sw $a1, 0xc4($sp) -/* 0B24AC 7F07D97C C444048C */ lwc1 $f4, 0x48c($v0) -/* 0B24B0 7F07D980 3C018003 */ lui $at, %hi(D_80036480) -/* 0B24B4 7F07D984 240E0002 */ li $t6, 2 -/* 0B24B8 7F07D988 E4440408 */ swc1 $f4, 0x408($v0) -/* 0B24BC 7F07D98C 8C620000 */ lw $v0, ($v1) -/* 0B24C0 7F07D990 3C078003 */ lui $a3, %hi(D_8003644C) -/* 0B24C4 7F07D994 27A50098 */ addiu $a1, $sp, 0x98 -/* 0B24C8 7F07D998 C4460490 */ lwc1 $f6, 0x490($v0) -/* 0B24CC 7F07D99C E446040C */ swc1 $f6, 0x40c($v0) -/* 0B24D0 7F07D9A0 8C620000 */ lw $v0, ($v1) -/* 0B24D4 7F07D9A4 C4480494 */ lwc1 $f8, 0x494($v0) -/* 0B24D8 7F07D9A8 E4480410 */ swc1 $f8, 0x410($v0) -/* 0B24DC 7F07D9AC 8C620000 */ lw $v0, ($v1) -/* 0B24E0 7F07D9B0 C48A0000 */ lwc1 $f10, ($a0) -/* 0B24E4 7F07D9B4 C450048C */ lwc1 $f16, 0x48c($v0) -/* 0B24E8 7F07D9B8 46105480 */ add.s $f18, $f10, $f16 -/* 0B24EC 7F07D9BC E7B200B4 */ swc1 $f18, 0xb4($sp) -/* 0B24F0 7F07D9C0 C4840008 */ lwc1 $f4, 8($a0) -/* 0B24F4 7F07D9C4 C4460494 */ lwc1 $f6, 0x494($v0) -/* 0B24F8 7F07D9C8 AC206480 */ sw $zero, %lo(D_80036480)($at) -/* 0B24FC 7F07D9CC 46062200 */ add.s $f8, $f4, $f6 -/* 0B2500 7F07D9D0 E7A800BC */ swc1 $f8, 0xbc($sp) -/* 0B2504 7F07D9D4 AC4E29FC */ sw $t6, 0x29fc($v0) -/* 0B2508 7F07D9D8 8CE7644C */ lw $a3, %lo(D_8003644C)($a3) -/* 0B250C 7F07D9DC 10E00084 */ beqz $a3, .L7F07DBF0 -/* 0B2510 7F07D9E0 00E02025 */ move $a0, $a3 -/* 0B2514 7F07D9E4 0FC0F32C */ jal sub_GAME_7F03CCB0 -/* 0B2518 7F07D9E8 27A60094 */ addiu $a2, $sp, 0x94 -/* 0B251C 7F07D9EC 3C0F8003 */ lui $t7, %hi(in_tank_flag) -/* 0B2520 7F07D9F0 8DEF6448 */ lw $t7, %lo(in_tank_flag)($t7) -/* 0B2524 7F07D9F4 24010001 */ li $at, 1 -/* 0B2528 7F07D9F8 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B252C 7F07D9FC 11E1000F */ beq $t7, $at, .L7F07DA3C -/* 0B2530 7F07DA00 8FA50098 */ lw $a1, 0x98($sp) -/* 0B2534 7F07DA04 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0B2538 7F07DA08 8FA60094 */ lw $a2, 0x94($sp) -/* 0B253C 7F07DA0C 0FC0F336 */ jal sub_GAME_7F03CCD8 -/* 0B2540 7F07DA10 2484048C */ addiu $a0, $a0, 0x48c -/* 0B2544 7F07DA14 14400009 */ bnez $v0, .L7F07DA3C -/* 0B2548 7F07DA18 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B254C 7F07DA1C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B2550 7F07DA20 8FA60098 */ lw $a2, 0x98($sp) -/* 0B2554 7F07DA24 8FA70094 */ lw $a3, 0x94($sp) -/* 0B2558 7F07DA28 2444048C */ addiu $a0, $v0, 0x48c -/* 0B255C 7F07DA2C 0FC111C6 */ jal sub_GAME_7F044718 -/* 0B2560 7F07DA30 8C4504B0 */ lw $a1, 0x4b0($v0) -/* 0B2564 7F07DA34 10400064 */ beqz $v0, .L7F07DBC8 -/* 0B2568 7F07DA38 3C058003 */ lui $a1, %hi(ptr_playerstank) -.L7F07DA3C: -/* 0B256C 7F07DA3C 3C078003 */ lui $a3, %hi(D_8003644C) -/* 0B2570 7F07DA40 8CE7644C */ lw $a3, %lo(D_8003644C)($a3) -/* 0B2574 7F07DA44 3C058003 */ lui $a1, %hi(ptr_playerstank) -/* 0B2578 7F07DA48 24A56450 */ addiu $a1, %lo(ptr_playerstank) # addiu $a1, $a1, 0x6450 -/* 0B257C 7F07DA4C 8CE20004 */ lw $v0, 4($a3) -/* 0B2580 7F07DA50 3C0D8003 */ lui $t5, %hi(in_tank_flag) -/* 0B2584 7F07DA54 24010001 */ li $at, 1 -/* 0B2588 7F07DA58 8C580014 */ lw $t8, 0x14($v0) -/* 0B258C 7F07DA5C 00408025 */ move $s0, $v0 -/* 0B2590 7F07DA60 8F190008 */ lw $t9, 8($t8) -/* 0B2594 7F07DA64 8F240008 */ lw $a0, 8($t9) -/* 0B2598 7F07DA68 8C8A0014 */ lw $t2, 0x14($a0) -/* 0B259C 7F07DA6C 8C8B0018 */ lw $t3, 0x18($a0) -/* 0B25A0 7F07DA70 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B25A4 7F07DA74 8D430004 */ lw $v1, 4($t2) -/* 0B25A8 7F07DA78 8D690004 */ lw $t1, 4($t3) -/* 0B25AC 7F07DA7C ACA70000 */ sw $a3, ($a1) -/* 0B25B0 7F07DA80 C470000C */ lwc1 $f16, 0xc($v1) -/* 0B25B4 7F07DA84 C46A0010 */ lwc1 $f10, 0x10($v1) -/* 0B25B8 7F07DA88 8C4C0014 */ lw $t4, 0x14($v0) -/* 0B25BC 7F07DA8C 8DAD6448 */ lw $t5, %lo(in_tank_flag)($t5) -/* 0B25C0 7F07DA90 46105481 */ sub.s $f18, $f10, $f16 -/* 0B25C4 7F07DA94 C5800014 */ lwc1 $f0, 0x14($t4) -/* 0B25C8 7F07DA98 24450084 */ addiu $a1, $v0, 0x84 -/* 0B25CC 7F07DA9C 46009082 */ mul.s $f2, $f18, $f0 -/* 0B25D0 7F07DAA0 51A1000D */ beql $t5, $at, .L7F07DAD8 -/* 0B25D4 7F07DAA4 C5240010 */ lwc1 $f4, 0x10($t1) -/* 0B25D8 7F07DAA8 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0B25DC 7F07DAAC 8C460080 */ lw $a2, 0x80($v0) -/* 0B25E0 7F07DAB0 E7A20080 */ swc1 $f2, 0x80($sp) -/* 0B25E4 7F07DAB4 AFA90084 */ sw $t1, 0x84($sp) -/* 0B25E8 7F07DAB8 0FC0F336 */ jal sub_GAME_7F03CCD8 -/* 0B25EC 7F07DABC 2484048C */ addiu $a0, $a0, 0x48c -/* 0B25F0 7F07DAC0 8FA90084 */ lw $t1, 0x84($sp) -/* 0B25F4 7F07DAC4 1040000B */ beqz $v0, .L7F07DAF4 -/* 0B25F8 7F07DAC8 C7A20080 */ lwc1 $f2, 0x80($sp) -/* 0B25FC 7F07DACC 8E0E0014 */ lw $t6, 0x14($s0) -/* 0B2600 7F07DAD0 C5C00014 */ lwc1 $f0, 0x14($t6) -/* 0B2604 7F07DAD4 C5240010 */ lwc1 $f4, 0x10($t1) -.L7F07DAD8: -/* 0B2608 7F07DAD8 C526000C */ lwc1 $f6, 0xc($t1) -/* 0B260C 7F07DADC 240F0001 */ li $t7, 1 -/* 0B2610 7F07DAE0 3C018003 */ lui $at, %hi(D_80036480) -/* 0B2614 7F07DAE4 46062201 */ sub.s $f8, $f4, $f6 -/* 0B2618 7F07DAE8 AC2F6480 */ sw $t7, %lo(D_80036480)($at) -/* 0B261C 7F07DAEC 46004282 */ mul.s $f10, $f8, $f0 -/* 0B2620 7F07DAF0 460A1080 */ add.s $f2, $f2, $f10 -.L7F07DAF4: -/* 0B2624 7F07DAF4 3C038003 */ lui $v1, %hi(in_tank_flag) -/* 0B2628 7F07DAF8 8C636448 */ lw $v1, %lo(in_tank_flag)($v1) -/* 0B262C 7F07DAFC 3C028003 */ lui $v0, %hi(D_80036454) -/* 0B2630 7F07DB00 24426454 */ addiu $v0, %lo(D_80036454) # addiu $v0, $v0, 0x6454 -/* 0B2634 7F07DB04 14600014 */ bnez $v1, .L7F07DB58 -/* 0B2638 7F07DB08 00000000 */ nop -/* 0B263C 7F07DB0C C4400000 */ lwc1 $f0, ($v0) -/* 0B2640 7F07DB10 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B2644 7F07DB14 4602003C */ c.lt.s $f0, $f2 -/* 0B2648 7F07DB18 00000000 */ nop -/* 0B264C 7F07DB1C 4500000E */ bc1f .L7F07DB58 -/* 0B2650 7F07DB20 00000000 */ nop -/* 0B2654 7F07DB24 44818000 */ mtc1 $at, $f16 -/* 0B2658 7F07DB28 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B265C 7F07DB2C C4328378 */ lwc1 $f18, %lo(global_timer_delta)($at) -/* 0B2660 7F07DB30 46128102 */ mul.s $f4, $f16, $f18 -/* 0B2664 7F07DB34 46040180 */ add.s $f6, $f0, $f4 -/* 0B2668 7F07DB38 E4460000 */ swc1 $f6, ($v0) -/* 0B266C 7F07DB3C C4480000 */ lwc1 $f8, ($v0) -/* 0B2670 7F07DB40 4608103C */ c.lt.s $f2, $f8 -/* 0B2674 7F07DB44 00000000 */ nop -/* 0B2678 7F07DB48 450200C2 */ bc1fl .L7F07DE54 -/* 0B267C 7F07DB4C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B2680 7F07DB50 10000004 */ b .L7F07DB64 -/* 0B2684 7F07DB54 E4420000 */ swc1 $f2, ($v0) -.L7F07DB58: -/* 0B2688 7F07DB58 3C028003 */ lui $v0, %hi(D_80036454) -/* 0B268C 7F07DB5C 24426454 */ addiu $v0, %lo(D_80036454) # addiu $v0, $v0, 0x6454 -/* 0B2690 7F07DB60 E4420000 */ swc1 $f2, ($v0) -.L7F07DB64: -/* 0B2694 7F07DB64 24010001 */ li $at, 1 -/* 0B2698 7F07DB68 14610021 */ bne $v1, $at, .L7F07DBF0 -/* 0B269C 7F07DB6C 3C188008 */ lui $t8, %hi(dword_CODE_bss_800799B8) -/* 0B26A0 7F07DB70 8F1899B8 */ lw $t8, %lo(dword_CODE_bss_800799B8)($t8) -/* 0B26A4 7F07DB74 3C01C214 */ lui $at, 0xc214 -/* 0B26A8 7F07DB78 5700000E */ bnezl $t8, .L7F07DBB4 -/* 0B26AC 7F07DB7C C4500000 */ lwc1 $f16, ($v0) -/* 0B26B0 7F07DB80 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B26B4 7F07DB84 44815000 */ mtc1 $at, $f10 -/* 0B26B8 7F07DB88 3C018008 */ lui $at, %hi(flt_CODE_bss_800799C0) -/* 0B26BC 7F07DB8C C43099C0 */ lwc1 $f16, %lo(flt_CODE_bss_800799C0)($at) -/* 0B26C0 7F07DB90 3C01C214 */ li $at, 0xC2140000 # -37.000000 -/* 0B26C4 7F07DB94 44812000 */ mtc1 $at, $f4 -/* 0B26C8 7F07DB98 46105481 */ sub.s $f18, $f10, $f16 -/* 0B26CC 7F07DB9C C4480000 */ lwc1 $f8, ($v0) -/* 0B26D0 7F07DBA0 46122182 */ mul.s $f6, $f4, $f18 -/* 0B26D4 7F07DBA4 46064280 */ add.s $f10, $f8, $f6 -/* 0B26D8 7F07DBA8 10000011 */ b .L7F07DBF0 -/* 0B26DC 7F07DBAC E44A0000 */ swc1 $f10, ($v0) -/* 0B26E0 7F07DBB0 C4500000 */ lwc1 $f16, ($v0) -.L7F07DBB4: -/* 0B26E4 7F07DBB4 44812000 */ mtc1 $at, $f4 -/* 0B26E8 7F07DBB8 00000000 */ nop -/* 0B26EC 7F07DBBC 46048480 */ add.s $f18, $f16, $f4 -/* 0B26F0 7F07DBC0 1000000B */ b .L7F07DBF0 -/* 0B26F4 7F07DBC4 E4520000 */ swc1 $f18, ($v0) -.L7F07DBC8: -/* 0B26F8 7F07DBC8 24A56450 */ addiu $a1, $a1, %lo(ptr_playerstank) -/* 0B26FC 7F07DBCC 8CB90000 */ lw $t9, ($a1) -/* 0B2700 7F07DBD0 3C028003 */ lui $v0, %hi(D_80036454) -/* 0B2704 7F07DBD4 24426454 */ addiu $v0, %lo(D_80036454) # addiu $v0, $v0, 0x6454 -/* 0B2708 7F07DBD8 13200005 */ beqz $t9, .L7F07DBF0 -/* 0B270C 7F07DBDC 3C018003 */ lui $at, %hi(D_8003644C) -/* 0B2710 7F07DBE0 44804000 */ mtc1 $zero, $f8 -/* 0B2714 7F07DBE4 AC20644C */ sw $zero, %lo(D_8003644C)($at) -/* 0B2718 7F07DBE8 ACA00000 */ sw $zero, ($a1) -/* 0B271C 7F07DBEC E4480000 */ swc1 $f8, ($v0) -.L7F07DBF0: -/* 0B2720 7F07DBF0 27B000B4 */ addiu $s0, $sp, 0xb4 -/* 0B2724 7F07DBF4 02002025 */ move $a0, $s0 -/* 0B2728 7F07DBF8 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 0B272C 7F07DBFC 0FC1F48D */ jal sub_GAME_7F07D234 -/* 0B2730 7F07DC00 27A6009C */ addiu $a2, $sp, 0x9c -/* 0B2734 7F07DC04 14400037 */ bnez $v0, .L7F07DCE4 -/* 0B2738 7F07DC08 02002025 */ move $a0, $s0 -/* 0B273C 7F07DC0C 27AA0068 */ addiu $t2, $sp, 0x68 -/* 0B2740 7F07DC10 AFAA0010 */ sw $t2, 0x10($sp) -/* 0B2744 7F07DC14 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 0B2748 7F07DC18 27A6009C */ addiu $a2, $sp, 0x9c -/* 0B274C 7F07DC1C 0FC1F4AD */ jal sub_GAME_7F07D2B4 -/* 0B2750 7F07DC20 27A70074 */ addiu $a3, $sp, 0x74 -/* 0B2754 7F07DC24 1C400003 */ bgtz $v0, .L7F07DC34 -/* 0B2758 7F07DC28 8FAB00C4 */ lw $t3, 0xc4($sp) -/* 0B275C 7F07DC2C 0441000F */ bgez $v0, .L7F07DC6C -/* 0B2760 7F07DC30 00000000 */ nop -.L7F07DC34: -/* 0B2764 7F07DC34 1160002B */ beqz $t3, .L7F07DCE4 -/* 0B2768 7F07DC38 02002025 */ move $a0, $s0 -/* 0B276C 7F07DC3C 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 0B2770 7F07DC40 0FC1F530 */ jal sub_GAME_7F07D4C0 -/* 0B2774 7F07DC44 27A6009C */ addiu $a2, $sp, 0x9c -/* 0B2778 7F07DC48 1C400026 */ bgtz $v0, .L7F07DCE4 -/* 0B277C 7F07DC4C 02002025 */ move $a0, $s0 -/* 0B2780 7F07DC50 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 0B2784 7F07DC54 0FC1F587 */ jal sub_GAME_7F07D61C -/* 0B2788 7F07DC58 27A6009C */ addiu $a2, $sp, 0x9c -/* 0B278C 7F07DC5C 14400021 */ bnez $v0, .L7F07DCE4 -/* 0B2790 7F07DC60 00000000 */ nop -/* 0B2794 7F07DC64 1000001F */ b .L7F07DCE4 -/* 0B2798 7F07DC68 00000000 */ nop -.L7F07DC6C: -/* 0B279C 7F07DC6C 1440001D */ bnez $v0, .L7F07DCE4 -/* 0B27A0 7F07DC70 02002025 */ move $a0, $s0 -/* 0B27A4 7F07DC74 27AC004C */ addiu $t4, $sp, 0x4c -/* 0B27A8 7F07DC78 AFAC0010 */ sw $t4, 0x10($sp) -/* 0B27AC 7F07DC7C 27A50074 */ addiu $a1, $sp, 0x74 -/* 0B27B0 7F07DC80 27A60068 */ addiu $a2, $sp, 0x68 -/* 0B27B4 7F07DC84 0FC1F4AD */ jal sub_GAME_7F07D2B4 -/* 0B27B8 7F07DC88 27A70058 */ addiu $a3, $sp, 0x58 -/* 0B27BC 7F07DC8C 8FAD00C4 */ lw $t5, 0xc4($sp) -/* 0B27C0 7F07DC90 02002025 */ move $a0, $s0 -/* 0B27C4 7F07DC94 27A50074 */ addiu $a1, $sp, 0x74 -/* 0B27C8 7F07DC98 11A00012 */ beqz $t5, .L7F07DCE4 -/* 0B27CC 7F07DC9C 00000000 */ nop -/* 0B27D0 7F07DCA0 0FC1F530 */ jal sub_GAME_7F07D4C0 -/* 0B27D4 7F07DCA4 27A60068 */ addiu $a2, $sp, 0x68 -/* 0B27D8 7F07DCA8 1C40000E */ bgtz $v0, .L7F07DCE4 -/* 0B27DC 7F07DCAC 02002025 */ move $a0, $s0 -/* 0B27E0 7F07DCB0 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 0B27E4 7F07DCB4 0FC1F530 */ jal sub_GAME_7F07D4C0 -/* 0B27E8 7F07DCB8 27A6009C */ addiu $a2, $sp, 0x9c -/* 0B27EC 7F07DCBC 1C400009 */ bgtz $v0, .L7F07DCE4 -/* 0B27F0 7F07DCC0 02002025 */ move $a0, $s0 -/* 0B27F4 7F07DCC4 27A50074 */ addiu $a1, $sp, 0x74 -/* 0B27F8 7F07DCC8 0FC1F587 */ jal sub_GAME_7F07D61C -/* 0B27FC 7F07DCCC 27A60068 */ addiu $a2, $sp, 0x68 -/* 0B2800 7F07DCD0 14400004 */ bnez $v0, .L7F07DCE4 -/* 0B2804 7F07DCD4 02002025 */ move $a0, $s0 -/* 0B2808 7F07DCD8 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 0B280C 7F07DCDC 0FC1F587 */ jal sub_GAME_7F07D61C -/* 0B2810 7F07DCE0 27A6009C */ addiu $a2, $sp, 0x9c -.L7F07DCE4: -/* 0B2814 7F07DCE4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B2818 7F07DCE8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B281C 7F07DCEC 8C440488 */ lw $a0, 0x488($v0) -/* 0B2820 7F07DCF0 8C45048C */ lw $a1, 0x48c($v0) -/* 0B2824 7F07DCF4 0FC2C146 */ jal sub_GAME_7F0B0518 -/* 0B2828 7F07DCF8 8C460494 */ lw $a2, 0x494($v0) -/* 0B282C 7F07DCFC 1440004A */ bnez $v0, .L7F07DE28 -/* 0B2830 7F07DD00 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B2834 7F07DD04 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B2838 7F07DD08 00004025 */ move $t0, $zero -/* 0B283C 7F07DD0C 8DD00488 */ lw $s0, 0x488($t6) -/* 0B2840 7F07DD10 86060006 */ lh $a2, 6($s0) -.L7F07DD14: -/* 0B2844 7F07DD14 00001825 */ move $v1, $zero -/* 0B2848 7F07DD18 00002025 */ move $a0, $zero -/* 0B284C 7F07DD1C 00067B03 */ sra $t7, $a2, 0xc -/* 0B2850 7F07DD20 31F8000F */ andi $t8, $t7, 0xf -/* 0B2854 7F07DD24 1B00000D */ blez $t8, .L7F07DD5C -/* 0B2858 7F07DD28 02001025 */ move $v0, $s0 -/* 0B285C 7F07DD2C 00001825 */ move $v1, $zero -/* 0B2860 7F07DD30 001828C0 */ sll $a1, $t8, 3 -.L7F07DD34: -/* 0B2864 7F07DD34 9459000E */ lhu $t9, 0xe($v0) -/* 0B2868 7F07DD38 24630008 */ addiu $v1, $v1, 8 -/* 0B286C 7F07DD3C 0065082A */ slt $at, $v1, $a1 -/* 0B2870 7F07DD40 00195103 */ sra $t2, $t9, 4 -/* 0B2874 7F07DD44 11400002 */ beqz $t2, .L7F07DD50 -/* 0B2878 7F07DD48 00000000 */ nop -/* 0B287C 7F07DD4C 24840001 */ addiu $a0, $a0, 1 -.L7F07DD50: -/* 0B2880 7F07DD50 1420FFF8 */ bnez $at, .L7F07DD34 -/* 0B2884 7F07DD54 24420008 */ addiu $v0, $v0, 8 -/* 0B2888 7F07DD58 00001825 */ move $v1, $zero -.L7F07DD5C: -/* 0B288C 7F07DD5C AFA30044 */ sw $v1, 0x44($sp) -/* 0B2890 7F07DD60 AFA4003C */ sw $a0, 0x3c($sp) -/* 0B2894 7F07DD64 0C002914 */ jal get_random_value -/* 0B2898 7F07DD68 AFA80048 */ sw $t0, 0x48($sp) -/* 0B289C 7F07DD6C 8FA4003C */ lw $a0, 0x3c($sp) -/* 0B28A0 7F07DD70 86060006 */ lh $a2, 6($s0) -/* 0B28A4 7F07DD74 8FA30044 */ lw $v1, 0x44($sp) -/* 0B28A8 7F07DD78 0044001B */ divu $zero, $v0, $a0 -/* 0B28AC 7F07DD7C 00065B03 */ sra $t3, $a2, 0xc -/* 0B28B0 7F07DD80 00003810 */ mfhi $a3 -/* 0B28B4 7F07DD84 316C000F */ andi $t4, $t3, 0xf -/* 0B28B8 7F07DD88 8FA80048 */ lw $t0, 0x48($sp) -/* 0B28BC 7F07DD8C 14800002 */ bnez $a0, .L7F07DD98 -/* 0B28C0 7F07DD90 00000000 */ nop -/* 0B28C4 7F07DD94 0007000D */ break 7 -.L7F07DD98: -/* 0B28C8 7F07DD98 00002025 */ move $a0, $zero -/* 0B28CC 7F07DD9C 19800011 */ blez $t4, .L7F07DDE4 -/* 0B28D0 7F07DDA0 01803025 */ move $a2, $t4 -/* 0B28D4 7F07DDA4 02001025 */ move $v0, $s0 -.L7F07DDA8: -/* 0B28D8 7F07DDA8 9445000E */ lhu $a1, 0xe($v0) -/* 0B28DC 7F07DDAC 24630001 */ addiu $v1, $v1, 1 -/* 0B28E0 7F07DDB0 0066082A */ slt $at, $v1, $a2 -/* 0B28E4 7F07DDB4 00056903 */ sra $t5, $a1, 4 -/* 0B28E8 7F07DDB8 11A00008 */ beqz $t5, .L7F07DDDC -/* 0B28EC 7F07DDBC 00000000 */ nop -/* 0B28F0 7F07DDC0 14870005 */ bne $a0, $a3, .L7F07DDD8 -/* 0B28F4 7F07DDC4 3C0F8004 */ lui $t7, %hi(base_ptr_connection_vals) -/* 0B28F8 7F07DDC8 8DEF0F58 */ lw $t7, %lo(base_ptr_connection_vals)($t7) -/* 0B28FC 7F07DDCC 000570C0 */ sll $t6, $a1, 3 -/* 0B2900 7F07DDD0 10000004 */ b .L7F07DDE4 -/* 0B2904 7F07DDD4 01CF8021 */ addu $s0, $t6, $t7 -.L7F07DDD8: -/* 0B2908 7F07DDD8 24840001 */ addiu $a0, $a0, 1 -.L7F07DDDC: -/* 0B290C 7F07DDDC 1420FFF2 */ bnez $at, .L7F07DDA8 -/* 0B2910 7F07DDE0 24420008 */ addiu $v0, $v0, 8 -.L7F07DDE4: -/* 0B2914 7F07DDE4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B2918 7F07DDE8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B291C 7F07DDEC 02002025 */ move $a0, $s0 -/* 0B2920 7F07DDF0 8C45048C */ lw $a1, 0x48c($v0) -/* 0B2924 7F07DDF4 8C460494 */ lw $a2, 0x494($v0) -/* 0B2928 7F07DDF8 0FC2C146 */ jal sub_GAME_7F0B0518 -/* 0B292C 7F07DDFC AFA80048 */ sw $t0, 0x48($sp) -/* 0B2930 7F07DE00 10400005 */ beqz $v0, .L7F07DE18 -/* 0B2934 7F07DE04 8FA80048 */ lw $t0, 0x48($sp) -/* 0B2938 7F07DE08 3C188008 */ lui $t8, %hi(pPlayer) -/* 0B293C 7F07DE0C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0B2940 7F07DE10 10000005 */ b .L7F07DE28 -/* 0B2944 7F07DE14 AF100488 */ sw $s0, 0x488($t8) -.L7F07DE18: -/* 0B2948 7F07DE18 25080001 */ addiu $t0, $t0, 1 -/* 0B294C 7F07DE1C 24010005 */ li $at, 5 -/* 0B2950 7F07DE20 5501FFBC */ bnel $t0, $at, .L7F07DD14 -/* 0B2954 7F07DE24 86060006 */ lh $a2, 6($s0) -.L7F07DE28: -/* 0B2958 7F07DE28 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B295C 7F07DE2C 0FC1F7A7 */ jal sub_GAME_7F07DE9C -/* 0B2960 7F07DE30 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0B2964 7F07DE34 3C198008 */ lui $t9, %hi(pPlayer) -/* 0B2968 7F07DE38 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0B296C 7F07DE3C 8F220488 */ lw $v0, 0x488($t9) -/* 0B2970 7F07DE40 50400004 */ beql $v0, $zero, .L7F07DE54 -/* 0B2974 7F07DE44 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B2978 7F07DE48 0FC15DD1 */ jal sub_GAME_7F057744 -/* 0B297C 7F07DE4C 90440003 */ lbu $a0, 3($v0) -/* 0B2980 7F07DE50 8FBF0024 */ lw $ra, 0x24($sp) -.L7F07DE54: -/* 0B2984 7F07DE54 8FB00020 */ lw $s0, 0x20($sp) -/* 0B2988 7F07DE58 27BD00C0 */ addiu $sp, $sp, 0xc0 -/* 0B298C 7F07DE5C 03E00008 */ jr $ra -/* 0B2990 7F07DE60 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07DE64(void *arg0) { - // Node 0 - arg0->unk2A04 = (u16)-1; - return sub_GAME_7F03DE94(arg0->unkA8, arg0->unk2A04, arg0); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07DE64 -/* 0B2994 7F07DE64 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B2998 7F07DE68 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B299C 7F07DE6C 00803025 */ move $a2, $a0 -/* 0B29A0 7F07DE70 84C52A04 */ lh $a1, 0x2a04($a2) -/* 0B29A4 7F07DE74 8C8400A8 */ lw $a0, 0xa8($a0) -/* 0B29A8 7F07DE78 0FC0F7A5 */ jal sub_GAME_7F03DE94 -/* 0B29AC 7F07DE7C AFA60018 */ sw $a2, 0x18($sp) -/* 0B29B0 7F07DE80 8FA60018 */ lw $a2, 0x18($sp) -/* 0B29B4 7F07DE84 240EFFFF */ li $t6, -1 -/* 0B29B8 7F07DE88 A4CE2A04 */ sh $t6, 0x2a04($a2) -/* 0B29BC 7F07DE8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B29C0 7F07DE90 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B29C4 7F07DE94 03E00008 */ jr $ra -/* 0B29C8 7F07DE98 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07DE9C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07DE9C -/* 0B29CC 7F07DE9C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B29D0 7F07DEA0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B29D4 7F07DEA4 0FC1F799 */ jal sub_GAME_7F07DE64 -/* 0B29D8 7F07DEA8 AFA40018 */ sw $a0, 0x18($sp) -/* 0B29DC 7F07DEAC 8FA60018 */ lw $a2, 0x18($sp) -/* 0B29E0 7F07DEB0 8CC400A8 */ lw $a0, 0xa8($a2) -/* 0B29E4 7F07DEB4 8C850004 */ lw $a1, 4($a0) -/* 0B29E8 7F07DEB8 50A00006 */ beql $a1, $zero, .L7F07DED4 -/* 0B29EC 7F07DEBC 8CC20488 */ lw $v0, 0x488($a2) -/* 0B29F0 7F07DEC0 0FC08365 */ jal sub_GAME_7F020D94 -/* 0B29F4 7F07DEC4 00A02025 */ move $a0, $a1 -/* 0B29F8 7F07DEC8 10000009 */ b .L7F07DEF0 -/* 0B29FC 7F07DECC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B2A00 7F07DED0 8CC20488 */ lw $v0, 0x488($a2) -.L7F07DED4: -/* 0B2A04 7F07DED4 50400006 */ beql $v0, $zero, .L7F07DEF0 -/* 0B2A08 7F07DED8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B2A0C 7F07DEDC 904E0003 */ lbu $t6, 3($v0) -/* 0B2A10 7F07DEE0 A4CE2A04 */ sh $t6, 0x2a04($a2) -/* 0B2A14 7F07DEE4 0FC0F767 */ jal sub_GAME_7F03DD9C -/* 0B2A18 7F07DEE8 84C52A04 */ lh $a1, 0x2a04($a2) -/* 0B2A1C 7F07DEEC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07DEF0: -/* 0B2A20 7F07DEF0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B2A24 7F07DEF4 03E00008 */ jr $ra -/* 0B2A28 7F07DEF8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F07DEFC(void) { - // Node 0 - pPlayer->pause_starting_angle = (f32) pPlayer->vv_verta; - pPlayer->field_210 = 0.0f; - pPlayer->field_218 = 0; - return pPlayer; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07DEFC -/* 0B2A2C 7F07DEFC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B2A30 7F07DF00 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B2A34 7F07DF04 8C620000 */ lw $v0, ($v1) -/* 0B2A38 7F07DF08 44803000 */ mtc1 $zero, $f6 -/* 0B2A3C 7F07DF0C C4440158 */ lwc1 $f4, 0x158($v0) -/* 0B2A40 7F07DF10 E4440204 */ swc1 $f4, 0x204($v0) -/* 0B2A44 7F07DF14 8C6E0000 */ lw $t6, ($v1) -/* 0B2A48 7F07DF18 E5C60210 */ swc1 $f6, 0x210($t6) -/* 0B2A4C 7F07DF1C 8C6F0000 */ lw $t7, ($v1) -/* 0B2A50 7F07DF20 03E00008 */ jr $ra -/* 0B2A54 7F07DF24 ADE00218 */ sw $zero, 0x218($t7) -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F07DF28(s32 arg0) { - void *temp_v1; - void *temp_v0; - f32 temp_f0; - void *phi_v1; - f32 phi_f0; - - // Node 0 - if (arg0 != 0) - { - // Node 1 - pPlayer->field_208 = (f32) pPlayer->vv_verta; - pPlayer->pause_target_angle = -40.0f; - phi_v1 = &pPlayer; - } - else - { - // Node 2 - temp_v1 = (0x80080000 + -0x5f50); - *temp_v1->unk208 = (f32) *temp_v1->unk204; - *temp_v1->unk20C = (f32) *temp_v1->unk158; - phi_v1 = temp_v1; - } - // Node 3 - temp_v0 = *phi_v1; - temp_f0 = (temp_v0->unk208 - temp_v0->unk20C); - phi_f0 = temp_f0; - if (temp_f0 < 0.0f) - { - // Node 4 - phi_f0 = -temp_f0; - } - // Node 5 - if (60.0f <= phi_f0) - { - // Node 6 - return (((((phi_f0 - 60.0f) * 60.0f) * 0.5f) / 60.0f) + 60.0f); - } - // Node 7 - if (phi_f0 <= 0.0f) - { - // Node 8 - return 0.0f; - } - // Node 9 - return ((phi_f0 * 60.0f) / 60.0f); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07DF28 -/* 0B2A58 7F07DF28 1080000B */ beqz $a0, .L7F07DF58 -/* 0B2A5C 7F07DF2C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B2A60 7F07DF30 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B2A64 7F07DF34 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B2A68 7F07DF38 8C620000 */ lw $v0, ($v1) -/* 0B2A6C 7F07DF3C 3C01C220 */ li $at, 0xC2200000 # -40.000000 -/* 0B2A70 7F07DF40 44813000 */ mtc1 $at, $f6 -/* 0B2A74 7F07DF44 C4440158 */ lwc1 $f4, 0x158($v0) -/* 0B2A78 7F07DF48 E4440208 */ swc1 $f4, 0x208($v0) -/* 0B2A7C 7F07DF4C 8C6E0000 */ lw $t6, ($v1) -/* 0B2A80 7F07DF50 10000008 */ b .L7F07DF74 -/* 0B2A84 7F07DF54 E5C6020C */ swc1 $f6, 0x20c($t6) -.L7F07DF58: -/* 0B2A88 7F07DF58 2463A0B0 */ addiu $v1, $v1, %lo(pPlayer) -/* 0B2A8C 7F07DF5C 8C620000 */ lw $v0, ($v1) -/* 0B2A90 7F07DF60 C4480204 */ lwc1 $f8, 0x204($v0) -/* 0B2A94 7F07DF64 E4480208 */ swc1 $f8, 0x208($v0) -/* 0B2A98 7F07DF68 8C620000 */ lw $v0, ($v1) -/* 0B2A9C 7F07DF6C C44A0158 */ lwc1 $f10, 0x158($v0) -/* 0B2AA0 7F07DF70 E44A020C */ swc1 $f10, 0x20c($v0) -.L7F07DF74: -/* 0B2AA4 7F07DF74 8C620000 */ lw $v0, ($v1) -/* 0B2AA8 7F07DF78 44806000 */ mtc1 $zero, $f12 -/* 0B2AAC 7F07DF7C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B2AB0 7F07DF80 C4500208 */ lwc1 $f16, 0x208($v0) -/* 0B2AB4 7F07DF84 C452020C */ lwc1 $f18, 0x20c($v0) -/* 0B2AB8 7F07DF88 44817000 */ mtc1 $at, $f14 -/* 0B2ABC 7F07DF8C 46128001 */ sub.s $f0, $f16, $f18 -/* 0B2AC0 7F07DF90 460C003C */ c.lt.s $f0, $f12 -/* 0B2AC4 7F07DF94 00000000 */ nop -/* 0B2AC8 7F07DF98 45020003 */ bc1fl .L7F07DFA8 -/* 0B2ACC 7F07DF9C 4600703E */ c.le.s $f14, $f0 -/* 0B2AD0 7F07DFA0 46000007 */ neg.s $f0, $f0 -/* 0B2AD4 7F07DFA4 4600703E */ c.le.s $f14, $f0 -.L7F07DFA8: -/* 0B2AD8 7F07DFA8 00000000 */ nop -/* 0B2ADC 7F07DFAC 4502000C */ bc1fl .L7F07DFE0 -/* 0B2AE0 7F07DFB0 460C003E */ c.le.s $f0, $f12 -/* 0B2AE4 7F07DFB4 460E0101 */ sub.s $f4, $f0, $f14 -/* 0B2AE8 7F07DFB8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B2AEC 7F07DFBC 44814000 */ mtc1 $at, $f8 -/* 0B2AF0 7F07DFC0 460E2182 */ mul.s $f6, $f4, $f14 -/* 0B2AF4 7F07DFC4 00000000 */ nop -/* 0B2AF8 7F07DFC8 46083282 */ mul.s $f10, $f6, $f8 -/* 0B2AFC 7F07DFCC 460E5403 */ div.s $f16, $f10, $f14 -/* 0B2B00 7F07DFD0 460E8080 */ add.s $f2, $f16, $f14 -/* 0B2B04 7F07DFD4 03E00008 */ jr $ra -/* 0B2B08 7F07DFD8 46001006 */ mov.s $f0, $f2 - -/* 0B2B0C 7F07DFDC 460C003E */ c.le.s $f0, $f12 -.L7F07DFE0: -/* 0B2B10 7F07DFE0 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B2B14 7F07DFE4 45020005 */ bc1fl .L7F07DFFC -/* 0B2B18 7F07DFE8 44816000 */ mtc1 $at, $f12 -/* 0B2B1C 7F07DFEC 46006086 */ mov.s $f2, $f12 -/* 0B2B20 7F07DFF0 03E00008 */ jr $ra -/* 0B2B24 7F07DFF4 46006006 */ mov.s $f0, $f12 - -/* 0B2B28 7F07DFF8 44816000 */ mtc1 $at, $f12 -.L7F07DFFC: -/* 0B2B2C 7F07DFFC 00000000 */ nop -/* 0B2B30 7F07E000 460C0482 */ mul.s $f18, $f0, $f12 -/* 0B2B34 7F07E004 460C9083 */ div.s $f2, $f18, $f12 -/* 0B2B38 7F07E008 03E00008 */ jr $ra -/* 0B2B3C 7F07E00C 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -void sub_GAME_7F07E010(f32 arg0) { - pPlayer->field_210 = 0.0f; - pPlayer->field_214 = arg0; - pPlayer->field_218 = 1; -} - -void sub_GAME_7F07E03C(f32 arg0) { - pPlayer->field_210 = 0.0f; - pPlayer->field_214 = arg0; - pPlayer->field_218 = 2; -} - - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F07E068(void) { - s32 temp_v0; - - // Node 0 - temp_v0 = (0U < (u32) pPlayer->field_218); - if (temp_v0 != 0) - { - // Node 1 - } - // Node 2 - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E068 -/* 0B2B98 7F07E068 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B2B9C 7F07E06C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B2BA0 7F07E070 8DC30218 */ lw $v1, 0x218($t6) -/* 0B2BA4 7F07E074 0003102B */ sltu $v0, $zero, $v1 -/* 0B2BA8 7F07E078 10400003 */ beqz $v0, .L7F07E088 -/* 0B2BAC 7F07E07C 00000000 */ nop -/* 0B2BB0 7F07E080 38620003 */ xori $v0, $v1, 3 -/* 0B2BB4 7F07E084 0002102B */ sltu $v0, $zero, $v0 -.L7F07E088: -/* 0B2BB8 7F07E088 03E00008 */ jr $ra -/* 0B2BBC 7F07E08C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07E090(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005506C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055070 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055074 -.word 0xbf333333 /*-0.69999999*/ -glabel D_80055078 -.word 0x3f333333 /*0.69999999*/ -.text -glabel sub_GAME_7F07E090 -/* 0B2BC0 7F07E090 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B2BC4 7F07E094 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0B2BC8 7F07E098 8C820000 */ lw $v0, ($a0) -/* 0B2BCC 7F07E09C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B2BD0 7F07E0A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B2BD4 7F07E0A4 C4420158 */ lwc1 $f2, 0x158($v0) -/* 0B2BD8 7F07E0A8 24010001 */ li $at, 1 -/* 0B2BDC 7F07E0AC E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0B2BE0 7F07E0B0 8C430218 */ lw $v1, 0x218($v0) -/* 0B2BE4 7F07E0B4 14610031 */ bne $v1, $at, .L7F07E17C -/* 0B2BE8 7F07E0B8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B2BEC 7F07E0BC C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B2BF0 7F07E0C0 3C018003 */ lui $at, %hi(watch_transition_time) -/* 0B2BF4 7F07E0C4 C42665A8 */ lwc1 $f6, %lo(watch_transition_time)($at) -/* 0B2BF8 7F07E0C8 C44A0210 */ lwc1 $f10, 0x210($v0) -/* 0B2BFC 7F07E0CC 46062202 */ mul.s $f8, $f4, $f6 -/* 0B2C00 7F07E0D0 46085400 */ add.s $f16, $f10, $f8 -/* 0B2C04 7F07E0D4 E4500210 */ swc1 $f16, 0x210($v0) -/* 0B2C08 7F07E0D8 8C820000 */ lw $v0, ($a0) -/* 0B2C0C 7F07E0DC C4400210 */ lwc1 $f0, 0x210($v0) -/* 0B2C10 7F07E0E0 C4420214 */ lwc1 $f2, 0x214($v0) -/* 0B2C14 7F07E0E4 4602003C */ c.lt.s $f0, $f2 -/* 0B2C18 7F07E0E8 00000000 */ nop -/* 0B2C1C 7F07E0EC 4502001C */ bc1fl .L7F07E160 -/* 0B2C20 7F07E0F0 C450020C */ lwc1 $f16, 0x20c($v0) -/* 0B2C24 7F07E0F4 46020383 */ div.s $f14, $f0, $f2 -/* 0B2C28 7F07E0F8 3C018005 */ lui $at, %hi(D_8005506C) -/* 0B2C2C 7F07E0FC C432506C */ lwc1 $f18, %lo(D_8005506C)($at) -/* 0B2C30 7F07E100 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B2C34 7F07E104 44813000 */ mtc1 $at, $f6 -/* 0B2C38 7F07E108 46127102 */ mul.s $f4, $f14, $f18 -/* 0B2C3C 7F07E10C 00000000 */ nop -/* 0B2C40 7F07E110 46062302 */ mul.s $f12, $f4, $f6 -/* 0B2C44 7F07E114 0FC15FA8 */ jal cosf -/* 0B2C48 7F07E118 00000000 */ nop -/* 0B2C4C 7F07E11C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B2C50 7F07E120 44815000 */ mtc1 $at, $f10 -/* 0B2C54 7F07E124 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B2C58 7F07E128 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0B2C5C 7F07E12C 46005201 */ sub.s $f8, $f10, $f0 -/* 0B2C60 7F07E130 8C820000 */ lw $v0, ($a0) -/* 0B2C64 7F07E134 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B2C68 7F07E138 44818000 */ mtc1 $at, $f16 -/* 0B2C6C 7F07E13C C4420208 */ lwc1 $f2, 0x208($v0) -/* 0B2C70 7F07E140 C444020C */ lwc1 $f4, 0x20c($v0) -/* 0B2C74 7F07E144 46104482 */ mul.s $f18, $f8, $f16 -/* 0B2C78 7F07E148 46022181 */ sub.s $f6, $f4, $f2 -/* 0B2C7C 7F07E14C 46123282 */ mul.s $f10, $f6, $f18 -/* 0B2C80 7F07E150 460A1200 */ add.s $f8, $f2, $f10 -/* 0B2C84 7F07E154 10000006 */ b .L7F07E170 -/* 0B2C88 7F07E158 E4480158 */ swc1 $f8, 0x158($v0) -/* 0B2C8C 7F07E15C C450020C */ lwc1 $f16, 0x20c($v0) -.L7F07E160: -/* 0B2C90 7F07E160 240E0003 */ li $t6, 3 -/* 0B2C94 7F07E164 E4500158 */ swc1 $f16, 0x158($v0) -/* 0B2C98 7F07E168 8C8F0000 */ lw $t7, ($a0) -/* 0B2C9C 7F07E16C ADEE0218 */ sw $t6, 0x218($t7) -.L7F07E170: -/* 0B2CA0 7F07E170 8C820000 */ lw $v0, ($a0) -/* 0B2CA4 7F07E174 10000034 */ b .L7F07E248 -/* 0B2CA8 7F07E178 C4420158 */ lwc1 $f2, 0x158($v0) -.L7F07E17C: -/* 0B2CAC 7F07E17C 24010002 */ li $at, 2 -/* 0B2CB0 7F07E180 14610031 */ bne $v1, $at, .L7F07E248 -/* 0B2CB4 7F07E184 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B2CB8 7F07E188 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B2CBC 7F07E18C 3C018003 */ lui $at, %hi(watch_transition_time) -/* 0B2CC0 7F07E190 C42665A8 */ lwc1 $f6, %lo(watch_transition_time)($at) -/* 0B2CC4 7F07E194 C44A0210 */ lwc1 $f10, 0x210($v0) -/* 0B2CC8 7F07E198 46062482 */ mul.s $f18, $f4, $f6 -/* 0B2CCC 7F07E19C 46125200 */ add.s $f8, $f10, $f18 -/* 0B2CD0 7F07E1A0 E4480210 */ swc1 $f8, 0x210($v0) -/* 0B2CD4 7F07E1A4 8C820000 */ lw $v0, ($a0) -/* 0B2CD8 7F07E1A8 C4400210 */ lwc1 $f0, 0x210($v0) -/* 0B2CDC 7F07E1AC C4420214 */ lwc1 $f2, 0x214($v0) -/* 0B2CE0 7F07E1B0 4602003C */ c.lt.s $f0, $f2 -/* 0B2CE4 7F07E1B4 00000000 */ nop -/* 0B2CE8 7F07E1B8 4502001E */ bc1fl .L7F07E234 -/* 0B2CEC 7F07E1BC C4480208 */ lwc1 $f8, 0x208($v0) -/* 0B2CF0 7F07E1C0 46020383 */ div.s $f14, $f0, $f2 -/* 0B2CF4 7F07E1C4 3C018005 */ lui $at, %hi(D_80055070) -/* 0B2CF8 7F07E1C8 C4305070 */ lwc1 $f16, %lo(D_80055070)($at) -/* 0B2CFC 7F07E1CC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B2D00 7F07E1D0 44813000 */ mtc1 $at, $f6 -/* 0B2D04 7F07E1D4 46107102 */ mul.s $f4, $f14, $f16 -/* 0B2D08 7F07E1D8 00000000 */ nop -/* 0B2D0C 7F07E1DC 46062302 */ mul.s $f12, $f4, $f6 -/* 0B2D10 7F07E1E0 0FC15FA8 */ jal cosf -/* 0B2D14 7F07E1E4 00000000 */ nop -/* 0B2D18 7F07E1E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B2D1C 7F07E1EC 44815000 */ mtc1 $at, $f10 -/* 0B2D20 7F07E1F0 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B2D24 7F07E1F4 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0B2D28 7F07E1F8 46005481 */ sub.s $f18, $f10, $f0 -/* 0B2D2C 7F07E1FC 8C820000 */ lw $v0, ($a0) -/* 0B2D30 7F07E200 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B2D34 7F07E204 44814000 */ mtc1 $at, $f8 -/* 0B2D38 7F07E208 C44C020C */ lwc1 $f12, 0x20c($v0) -/* 0B2D3C 7F07E20C C4440208 */ lwc1 $f4, 0x208($v0) -/* 0B2D40 7F07E210 46089402 */ mul.s $f16, $f18, $f8 -/* 0B2D44 7F07E214 460C2181 */ sub.s $f6, $f4, $f12 -/* 0B2D48 7F07E218 46103282 */ mul.s $f10, $f6, $f16 -/* 0B2D4C 7F07E21C 460A6480 */ add.s $f18, $f12, $f10 -/* 0B2D50 7F07E220 E4520158 */ swc1 $f18, 0x158($v0) -/* 0B2D54 7F07E224 8C820000 */ lw $v0, ($a0) -/* 0B2D58 7F07E228 10000007 */ b .L7F07E248 -/* 0B2D5C 7F07E22C C4420158 */ lwc1 $f2, 0x158($v0) -/* 0B2D60 7F07E230 C4480208 */ lwc1 $f8, 0x208($v0) -.L7F07E234: -/* 0B2D64 7F07E234 E4480158 */ swc1 $f8, 0x158($v0) -/* 0B2D68 7F07E238 8C980000 */ lw $t8, ($a0) -/* 0B2D6C 7F07E23C AF000218 */ sw $zero, 0x218($t8) -/* 0B2D70 7F07E240 8C820000 */ lw $v0, ($a0) -/* 0B2D74 7F07E244 C4420158 */ lwc1 $f2, 0x158($v0) -.L7F07E248: -/* 0B2D78 7F07E248 3C01C334 */ li $at, 0xC3340000 # -180.000000 -/* 0B2D7C 7F07E24C 44812000 */ mtc1 $at, $f4 -/* 0B2D80 7F07E250 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0B2D84 7F07E254 3C198005 */ lui $t9, %hi(clock_timer) -/* 0B2D88 7F07E258 4604103C */ c.lt.s $f2, $f4 -/* 0B2D8C 7F07E25C 00000000 */ nop -/* 0B2D90 7F07E260 45020008 */ bc1fl .L7F07E284 -/* 0B2D94 7F07E264 44818000 */ mtc1 $at, $f16 -/* 0B2D98 7F07E268 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B2D9C 7F07E26C 44816000 */ mtc1 $at, $f12 -/* 0B2DA0 7F07E270 00000000 */ nop -/* 0B2DA4 7F07E274 460C1180 */ add.s $f6, $f2, $f12 -/* 0B2DA8 7F07E278 1000000B */ b .L7F07E2A8 -/* 0B2DAC 7F07E27C E4460158 */ swc1 $f6, 0x158($v0) -/* 0B2DB0 7F07E280 44818000 */ mtc1 $at, $f16 -.L7F07E284: -/* 0B2DB4 7F07E284 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B2DB8 7F07E288 4602803E */ c.le.s $f16, $f2 -/* 0B2DBC 7F07E28C 00000000 */ nop -/* 0B2DC0 7F07E290 45000005 */ bc1f .L7F07E2A8 -/* 0B2DC4 7F07E294 00000000 */ nop -/* 0B2DC8 7F07E298 44816000 */ mtc1 $at, $f12 -/* 0B2DCC 7F07E29C 00000000 */ nop -/* 0B2DD0 7F07E2A0 460C1281 */ sub.s $f10, $f2, $f12 -/* 0B2DD4 7F07E2A4 E44A0158 */ swc1 $f10, 0x158($v0) -.L7F07E2A8: -/* 0B2DD8 7F07E2A8 8F398374 */ lw $t9, %lo(clock_timer)($t9) -/* 0B2DDC 7F07E2AC 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B2DE0 7F07E2B0 44816000 */ mtc1 $at, $f12 -/* 0B2DE4 7F07E2B4 1B200030 */ blez $t9, .L7F07E378 -/* 0B2DE8 7F07E2B8 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0B2DEC 7F07E2BC 8C820000 */ lw $v0, ($a0) -/* 0B2DF0 7F07E2C0 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 0B2DF4 7F07E2C4 44803000 */ mtc1 $zero, $f6 -/* 0B2DF8 7F07E2C8 C4520158 */ lwc1 $f18, 0x158($v0) -/* 0B2DFC 7F07E2CC 44815000 */ mtc1 $at, $f10 -/* 0B2E00 7F07E2D0 3C018005 */ lui $at, %hi(D_80055074) -/* 0B2E04 7F07E2D4 46089101 */ sub.s $f4, $f18, $f8 -/* 0B2E08 7F07E2D8 E4440160 */ swc1 $f4, 0x160($v0) -/* 0B2E0C 7F07E2DC 8C820000 */ lw $v0, ($a0) -/* 0B2E10 7F07E2E0 C4400160 */ lwc1 $f0, 0x160($v0) -/* 0B2E14 7F07E2E4 4606003C */ c.lt.s $f0, $f6 -/* 0B2E18 7F07E2E8 00000000 */ nop -/* 0B2E1C 7F07E2EC 45020006 */ bc1fl .L7F07E308 -/* 0B2E20 7F07E2F0 4600503C */ c.lt.s $f10, $f0 -/* 0B2E24 7F07E2F4 460C0400 */ add.s $f16, $f0, $f12 -/* 0B2E28 7F07E2F8 E4500160 */ swc1 $f16, 0x160($v0) -/* 0B2E2C 7F07E2FC 8C820000 */ lw $v0, ($a0) -/* 0B2E30 7F07E300 C4400160 */ lwc1 $f0, 0x160($v0) -/* 0B2E34 7F07E304 4600503C */ c.lt.s $f10, $f0 -.L7F07E308: -/* 0B2E38 7F07E308 00000000 */ nop -/* 0B2E3C 7F07E30C 45000005 */ bc1f .L7F07E324 -/* 0B2E40 7F07E310 00000000 */ nop -/* 0B2E44 7F07E314 460C0481 */ sub.s $f18, $f0, $f12 -/* 0B2E48 7F07E318 E4520160 */ swc1 $f18, 0x160($v0) -/* 0B2E4C 7F07E31C 8C820000 */ lw $v0, ($a0) -/* 0B2E50 7F07E320 C4400160 */ lwc1 $f0, 0x160($v0) -.L7F07E324: -/* 0B2E54 7F07E324 C42C5074 */ lwc1 $f12, %lo(D_80055074)($at) -/* 0B2E58 7F07E328 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B2E5C 7F07E32C C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 0B2E60 7F07E330 3C018005 */ lui $at, %hi(D_80055078) -/* 0B2E64 7F07E334 46021200 */ add.s $f8, $f2, $f2 -/* 0B2E68 7F07E338 46080103 */ div.s $f4, $f0, $f8 -/* 0B2E6C 7F07E33C E4440160 */ swc1 $f4, 0x160($v0) -/* 0B2E70 7F07E340 8C820000 */ lw $v0, ($a0) -/* 0B2E74 7F07E344 C4400160 */ lwc1 $f0, 0x160($v0) -/* 0B2E78 7F07E348 460C003C */ c.lt.s $f0, $f12 -/* 0B2E7C 7F07E34C 00000000 */ nop -/* 0B2E80 7F07E350 45000003 */ bc1f .L7F07E360 -/* 0B2E84 7F07E354 00000000 */ nop -/* 0B2E88 7F07E358 10000007 */ b .L7F07E378 -/* 0B2E8C 7F07E35C E44C0160 */ swc1 $f12, 0x160($v0) -.L7F07E360: -/* 0B2E90 7F07E360 C4225078 */ lwc1 $f2, %lo(D_80055078)($at) -/* 0B2E94 7F07E364 4600103C */ c.lt.s $f2, $f0 -/* 0B2E98 7F07E368 00000000 */ nop -/* 0B2E9C 7F07E36C 45020003 */ bc1fl .L7F07E37C -/* 0B2EA0 7F07E370 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B2EA4 7F07E374 E4420160 */ swc1 $f2, 0x160($v0) -.L7F07E378: -/* 0B2EA8 7F07E378 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07E37C: -/* 0B2EAC 7F07E37C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B2EB0 7F07E380 03E00008 */ jr $ra -/* 0B2EB4 7F07E384 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F07E388(void) { - // Node 0 - if (pPlayer->field_218 == 1) - { - // Node 1 - return (pPlayer->field_210 / pPlayer->field_214); - } - // Node 2 - if (pPlayer->field_218 == 2) - { - // Node 3 - return (1.0f - (pPlayer->field_210 / pPlayer->field_214)); - } - // Node 4 - if (pPlayer->field_218 == 1.0f) - { - // Node 5 - return 1.0f; - } - // Node 6 - return 0.0f; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E388 -/* 0B2EB8 7F07E388 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B2EBC 7F07E38C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B2EC0 7F07E390 24010001 */ li $at, 1 -/* 0B2EC4 7F07E394 8C430218 */ lw $v1, 0x218($v0) -/* 0B2EC8 7F07E398 54610006 */ bnel $v1, $at, .L7F07E3B4 -/* 0B2ECC 7F07E39C 24010002 */ li $at, 2 -/* 0B2ED0 7F07E3A0 C4440210 */ lwc1 $f4, 0x210($v0) -/* 0B2ED4 7F07E3A4 C4460214 */ lwc1 $f6, 0x214($v0) -/* 0B2ED8 7F07E3A8 03E00008 */ jr $ra -/* 0B2EDC 7F07E3AC 46062003 */ div.s $f0, $f4, $f6 - -/* 0B2EE0 7F07E3B0 24010002 */ li $at, 2 -.L7F07E3B4: -/* 0B2EE4 7F07E3B4 54610009 */ bnel $v1, $at, .L7F07E3DC -/* 0B2EE8 7F07E3B8 24010003 */ li $at, 3 -/* 0B2EEC 7F07E3BC C4480210 */ lwc1 $f8, 0x210($v0) -/* 0B2EF0 7F07E3C0 C44A0214 */ lwc1 $f10, 0x214($v0) -/* 0B2EF4 7F07E3C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B2EF8 7F07E3C8 44819000 */ mtc1 $at, $f18 -/* 0B2EFC 7F07E3CC 460A4403 */ div.s $f16, $f8, $f10 -/* 0B2F00 7F07E3D0 03E00008 */ jr $ra -/* 0B2F04 7F07E3D4 46109001 */ sub.s $f0, $f18, $f16 - -/* 0B2F08 7F07E3D8 24010003 */ li $at, 3 -.L7F07E3DC: -/* 0B2F0C 7F07E3DC 14610004 */ bne $v1, $at, .L7F07E3F0 -/* 0B2F10 7F07E3E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B2F14 7F07E3E4 44810000 */ mtc1 $at, $f0 -/* 0B2F18 7F07E3E8 03E00008 */ jr $ra -/* 0B2F1C 7F07E3EC 00000000 */ nop - -.L7F07E3F0: -/* 0B2F20 7F07E3F0 44800000 */ mtc1 $zero, $f0 -/* 0B2F24 7F07E3F4 00000000 */ nop -/* 0B2F28 7F07E3F8 03E00008 */ jr $ra -/* 0B2F2C 7F07E3FC 00000000 */ nop -) -#endif - - - - - - -void trigger_watch_zoom(f32 final,f32 time) -{ - pPlayer->zoomintime = 0.00000000; - pPlayer->zoomintimemax = time; - pPlayer->zoominfovyold = pPlayer->zoominfovy; - pPlayer->zoominfovynew = final; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07E438(void) { - // Node 0 - if (pPlayer->field_11BC < pPlayer->field_11C0) - { - // Node 1 - return pPlayer->field_11CC; - } - // Node 2 - return pPlayer->field_11C4; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E438 -/* 0B2F68 7F07E438 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B2F6C 7F07E43C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B2F70 7F07E440 C44411BC */ lwc1 $f4, 0x11bc($v0) -/* 0B2F74 7F07E444 C44611C0 */ lwc1 $f6, 0x11c0($v0) -/* 0B2F78 7F07E448 4606203C */ c.lt.s $f4, $f6 -/* 0B2F7C 7F07E44C 00000000 */ nop -/* 0B2F80 7F07E450 45020004 */ bc1fl .L7F07E464 -/* 0B2F84 7F07E454 C44011C4 */ lwc1 $f0, 0x11c4($v0) -/* 0B2F88 7F07E458 03E00008 */ jr $ra -/* 0B2F8C 7F07E45C C44011CC */ lwc1 $f0, 0x11cc($v0) - -/* 0B2F90 7F07E460 C44011C4 */ lwc1 $f0, 0x11c4($v0) -.L7F07E464: -/* 0B2F94 7F07E464 03E00008 */ jr $ra -/* 0B2F98 7F07E468 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07E46C(f32 arg0) { - ? temp_ret; - ? phi_return; - - // Node 0 - temp_ret = sub_GAME_7F07E438(); - phi_return = temp_ret; - if (temp_ret == arg0) - { - // Node 4 - // Node 5 - return phi_return; - } - // Node 1 - if (arg0 >= pPlayer->field_11C4) - { - // Node 3 - phi_return = trigger_watch_zoom(arg0, (((arg0 - pPlayer->field_11C4) * 15.0f) / 30.0f)); - // Node 4 - // Node 5 - return phi_return; - } - // Node 2 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E46C -/* 0B2F9C 7F07E46C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B2FA0 7F07E470 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B2FA4 7F07E474 0FC1F90E */ jal sub_GAME_7F07E438 -/* 0B2FA8 7F07E478 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0B2FAC 7F07E47C C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0B2FB0 7F07E480 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B2FB4 7F07E484 460C0032 */ c.eq.s $f0, $f12 -/* 0B2FB8 7F07E488 00000000 */ nop -/* 0B2FBC 7F07E48C 4503001A */ bc1tl .L7F07E4F8 -/* 0B2FC0 7F07E490 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B2FC4 7F07E494 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B2FC8 7F07E498 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0B2FCC 7F07E49C C5C011C4 */ lwc1 $f0, 0x11c4($t6) -/* 0B2FD0 7F07E4A0 4600603C */ c.lt.s $f12, $f0 -/* 0B2FD4 7F07E4A4 00000000 */ nop -/* 0B2FD8 7F07E4A8 4502000C */ bc1fl .L7F07E4DC -/* 0B2FDC 7F07E4AC 46006401 */ sub.s $f16, $f12, $f0 -/* 0B2FE0 7F07E4B0 460C0101 */ sub.s $f4, $f0, $f12 -/* 0B2FE4 7F07E4B4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0B2FE8 7F07E4B8 44813000 */ mtc1 $at, $f6 -/* 0B2FEC 7F07E4BC 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B2FF0 7F07E4C0 44815000 */ mtc1 $at, $f10 -/* 0B2FF4 7F07E4C4 46062202 */ mul.s $f8, $f4, $f6 -/* 0B2FF8 7F07E4C8 0FC1F900 */ jal trigger_watch_zoom -/* 0B2FFC 7F07E4CC 460A4383 */ div.s $f14, $f8, $f10 -/* 0B3000 7F07E4D0 10000009 */ b .L7F07E4F8 -/* 0B3004 7F07E4D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B3008 7F07E4D8 46006401 */ sub.s $f16, $f12, $f0 -.L7F07E4DC: -/* 0B300C 7F07E4DC 44819000 */ mtc1 $at, $f18 -/* 0B3010 7F07E4E0 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B3014 7F07E4E4 44813000 */ mtc1 $at, $f6 -/* 0B3018 7F07E4E8 46128102 */ mul.s $f4, $f16, $f18 -/* 0B301C 7F07E4EC 0FC1F900 */ jal trigger_watch_zoom -/* 0B3020 7F07E4F0 46062383 */ div.s $f14, $f4, $f6 -/* 0B3024 7F07E4F4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07E4F8: -/* 0B3028 7F07E4F8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B302C 7F07E4FC 03E00008 */ jr $ra -/* 0B3030 7F07E500 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07E504(void) { - // Node 0 - return sub_GAME_7F07E46C(60.0f); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E504 -/* 0B3034 7F07E504 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B3038 7F07E508 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B303C 7F07E50C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B3040 7F07E510 44816000 */ mtc1 $at, $f12 -/* 0B3044 7F07E514 0FC1F91B */ jal sub_GAME_7F07E46C -/* 0B3048 7F07E518 00000000 */ nop -/* 0B304C 7F07E51C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B3050 7F07E520 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B3054 7F07E524 03E00008 */ jr $ra -/* 0B3058 7F07E528 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void zoom_to_watch_on_open(void) { - f32 temp_f14; - f32 phi_f14; - - // Node 0 - temp_f14 = (((final - pPlayer->field_11C4) * 45.0f) / D_80055080); - phi_f14 = temp_f14; - if (temp_f14 < 0.0f) - { - // Node 1 - phi_f14 = -temp_f14; - } - // Node 2 - return trigger_watch_zoom(final, phi_f14); -} -#else -GLOBAL_ASM( -.late_rodata -glabel final -.word 0x40bccccd /*5.9000001*/ -glabel D_80055080 -.word 0xc2586666 /*-54.099998*/ -glabel D_80055084 -.word 0xc2586666 /*-54.099998*/ -.text -glabel zoom_to_watch_on_open -/* 0B305C 7F07E52C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B3060 7F07E530 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3064 7F07E534 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B3068 7F07E538 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B306C 7F07E53C 3C018005 */ lui $at, %hi(final) -/* 0B3070 7F07E540 C42C507C */ lwc1 $f12, %lo(final)($at) -/* 0B3074 7F07E544 C5C411C4 */ lwc1 $f4, 0x11c4($t6) -/* 0B3078 7F07E548 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 0B307C 7F07E54C 44814000 */ mtc1 $at, $f8 -/* 0B3080 7F07E550 46046181 */ sub.s $f6, $f12, $f4 -/* 0B3084 7F07E554 3C018005 */ lui $at, %hi(D_80055080) -/* 0B3088 7F07E558 C4305080 */ lwc1 $f16, %lo(D_80055080)($at) -/* 0B308C 7F07E55C 44809000 */ mtc1 $zero, $f18 -/* 0B3090 7F07E560 46083282 */ mul.s $f10, $f6, $f8 -/* 0B3094 7F07E564 46105383 */ div.s $f14, $f10, $f16 -/* 0B3098 7F07E568 4612703C */ c.lt.s $f14, $f18 -/* 0B309C 7F07E56C 00000000 */ nop -/* 0B30A0 7F07E570 45000002 */ bc1f .L7F07E57C -/* 0B30A4 7F07E574 00000000 */ nop -/* 0B30A8 7F07E578 46007387 */ neg.s $f14, $f14 -.L7F07E57C: -/* 0B30AC 7F07E57C 0FC1F900 */ jal trigger_watch_zoom -/* 0B30B0 7F07E580 00000000 */ nop -/* 0B30B4 7F07E584 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B30B8 7F07E588 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B30BC 7F07E58C 03E00008 */ jr $ra -/* 0B30C0 7F07E590 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void zoom_from_watch_on_exit(void) { - f32 temp_f14; - f32 phi_f14; - - // Node 0 - temp_f14 = (((60.0f - pPlayer->field_11C4) * 45.0f) / D_80055084); - phi_f14 = temp_f14; - if (temp_f14 < 0.0f) - { - // Node 1 - phi_f14 = -temp_f14; - } - // Node 2 - return trigger_watch_zoom(60.0f, phi_f14); -} -#else -GLOBAL_ASM( -.text -glabel zoom_from_watch_on_exit -/* 0B30C4 7F07E594 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B30C8 7F07E598 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B30CC 7F07E59C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B30D0 7F07E5A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B30D4 7F07E5A4 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B30D8 7F07E5A8 44816000 */ mtc1 $at, $f12 -/* 0B30DC 7F07E5AC C5C411C4 */ lwc1 $f4, 0x11c4($t6) -/* 0B30E0 7F07E5B0 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 0B30E4 7F07E5B4 44814000 */ mtc1 $at, $f8 -/* 0B30E8 7F07E5B8 46046181 */ sub.s $f6, $f12, $f4 -/* 0B30EC 7F07E5BC 3C018005 */ lui $at, %hi(D_80055084) -/* 0B30F0 7F07E5C0 C4305084 */ lwc1 $f16, %lo(D_80055084)($at) -/* 0B30F4 7F07E5C4 44809000 */ mtc1 $zero, $f18 -/* 0B30F8 7F07E5C8 46083282 */ mul.s $f10, $f6, $f8 -/* 0B30FC 7F07E5CC 46105383 */ div.s $f14, $f10, $f16 -/* 0B3100 7F07E5D0 4612703C */ c.lt.s $f14, $f18 -/* 0B3104 7F07E5D4 00000000 */ nop -/* 0B3108 7F07E5D8 45000002 */ bc1f .L7F07E5E4 -/* 0B310C 7F07E5DC 00000000 */ nop -/* 0B3110 7F07E5E0 46007387 */ neg.s $f14, $f14 -.L7F07E5E4: -/* 0B3114 7F07E5E4 0FC1F900 */ jal trigger_watch_zoom -/* 0B3118 7F07E5E8 00000000 */ nop -/* 0B311C 7F07E5EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B3120 7F07E5F0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B3124 7F07E5F4 03E00008 */ jr $ra -/* 0B3128 7F07E5F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_watch_page_transistion_running(void) { - // Node 0 - if (pPlayer->field_11BC < pPlayer->field_11C0) - { - // Node 1 - } - // Node 2 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel check_watch_page_transistion_running -/* 0B312C 7F07E5FC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3130 7F07E600 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3134 7F07E604 00001025 */ move $v0, $zero -/* 0B3138 7F07E608 C46411BC */ lwc1 $f4, 0x11bc($v1) -/* 0B313C 7F07E60C C46611C0 */ lwc1 $f6, 0x11c0($v1) -/* 0B3140 7F07E610 4606203C */ c.lt.s $f4, $f6 -/* 0B3144 7F07E614 00000000 */ nop -/* 0B3148 7F07E618 45000002 */ bc1f .L7F07E624 -/* 0B314C 7F07E61C 00000000 */ nop -/* 0B3150 7F07E620 24020001 */ li $v0, 1 -.L7F07E624: -/* 0B3154 7F07E624 03E00008 */ jr $ra -/* 0B3158 7F07E628 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07E62C(void) { - f32 temp_f2; - - // Node 0 - if (pPlayer->field_11BC < pPlayer->field_11C0) - { - // Node 1 - if ((pPlayer->pause_animation_state == 0xc) || (pPlayer->pause_animation_state == 0xc)) - { - // Node 3 - pPlayer->field_11BC = (f32) (pPlayer->field_11BC + (f32) D_80048498); - } - else - { - // Node 4 - pPlayer->field_11BC = (f32) (pPlayer->field_11BC + ((f32) D_80048498 * watch_transition_time)); - } - // Node 5 - if (pPlayer->field_11C0 < pPlayer->field_11BC) - { - // Node 6 - pPlayer->field_11BC = (f32) pPlayer->field_11C0; - } - // Node 7 - temp_f2 = pPlayer->field_11C8; - pPlayer->field_11C4 = (f32) (temp_f2 + ((pPlayer->field_11BC * (pPlayer->field_11CC - temp_f2)) / pPlayer->field_11C0)); - } - else - { - // Node 8 - pPlayer->field_11BC = (f32) pPlayer->field_11C0; - pPlayer->field_11C4 = (f32) pPlayer->field_11CC; - } - // Node 9 - set_cur_player_fovy(pPlayer->field_11C4, &pPlayer); - return setvideo_far(pPlayer->field_11C4, &pPlayer); -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E62C -/* 0B315C 7F07E62C 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B3160 7F07E630 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0B3164 7F07E634 8C820000 */ lw $v0, ($a0) -/* 0B3168 7F07E638 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B316C 7F07E63C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B3170 7F07E640 C44011C0 */ lwc1 $f0, 0x11c0($v0) -/* 0B3174 7F07E644 C44C11BC */ lwc1 $f12, 0x11bc($v0) -/* 0B3178 7F07E648 4600603C */ c.lt.s $f12, $f0 -/* 0B317C 7F07E64C 00000000 */ nop -/* 0B3180 7F07E650 4502002C */ bc1fl .L7F07E704 -/* 0B3184 7F07E654 E44011BC */ swc1 $f0, 0x11bc($v0) -/* 0B3188 7F07E658 8C4301C8 */ lw $v1, 0x1c8($v0) -/* 0B318C 7F07E65C 24010005 */ li $at, 5 -/* 0B3190 7F07E660 3C0E8005 */ lui $t6, %hi(D_80048498) -/* 0B3194 7F07E664 10610003 */ beq $v1, $at, .L7F07E674 -/* 0B3198 7F07E668 2401000C */ li $at, 12 -/* 0B319C 7F07E66C 14610008 */ bne $v1, $at, .L7F07E690 -/* 0B31A0 7F07E670 3C0F8005 */ lui $t7, %hi(D_80048498) -.L7F07E674: -/* 0B31A4 7F07E674 8DCE8498 */ lw $t6, %lo(D_80048498)($t6) -/* 0B31A8 7F07E678 448E2000 */ mtc1 $t6, $f4 -/* 0B31AC 7F07E67C 00000000 */ nop -/* 0B31B0 7F07E680 468021A0 */ cvt.s.w $f6, $f4 -/* 0B31B4 7F07E684 46066200 */ add.s $f8, $f12, $f6 -/* 0B31B8 7F07E688 1000000A */ b .L7F07E6B4 -/* 0B31BC 7F07E68C E44811BC */ swc1 $f8, 0x11bc($v0) -.L7F07E690: -/* 0B31C0 7F07E690 8DEF8498 */ lw $t7, %lo(D_80048498)($t7) -/* 0B31C4 7F07E694 3C018003 */ lui $at, %hi(watch_transition_time) -/* 0B31C8 7F07E698 C43265A8 */ lwc1 $f18, %lo(watch_transition_time)($at) -/* 0B31CC 7F07E69C 448F5000 */ mtc1 $t7, $f10 -/* 0B31D0 7F07E6A0 00000000 */ nop -/* 0B31D4 7F07E6A4 46805420 */ cvt.s.w $f16, $f10 -/* 0B31D8 7F07E6A8 46128102 */ mul.s $f4, $f16, $f18 -/* 0B31DC 7F07E6AC 46046180 */ add.s $f6, $f12, $f4 -/* 0B31E0 7F07E6B0 E44611BC */ swc1 $f6, 0x11bc($v0) -.L7F07E6B4: -/* 0B31E4 7F07E6B4 8C820000 */ lw $v0, ($a0) -/* 0B31E8 7F07E6B8 C44011C0 */ lwc1 $f0, 0x11c0($v0) -/* 0B31EC 7F07E6BC C44C11BC */ lwc1 $f12, 0x11bc($v0) -/* 0B31F0 7F07E6C0 460C003C */ c.lt.s $f0, $f12 -/* 0B31F4 7F07E6C4 00000000 */ nop -/* 0B31F8 7F07E6C8 45020006 */ bc1fl .L7F07E6E4 -/* 0B31FC 7F07E6CC C44211C8 */ lwc1 $f2, 0x11c8($v0) -/* 0B3200 7F07E6D0 E44011BC */ swc1 $f0, 0x11bc($v0) -/* 0B3204 7F07E6D4 8C820000 */ lw $v0, ($a0) -/* 0B3208 7F07E6D8 C44C11BC */ lwc1 $f12, 0x11bc($v0) -/* 0B320C 7F07E6DC C44011C0 */ lwc1 $f0, 0x11c0($v0) -/* 0B3210 7F07E6E0 C44211C8 */ lwc1 $f2, 0x11c8($v0) -.L7F07E6E4: -/* 0B3214 7F07E6E4 C44811CC */ lwc1 $f8, 0x11cc($v0) -/* 0B3218 7F07E6E8 46024281 */ sub.s $f10, $f8, $f2 -/* 0B321C 7F07E6EC 460A6402 */ mul.s $f16, $f12, $f10 -/* 0B3220 7F07E6F0 46008483 */ div.s $f18, $f16, $f0 -/* 0B3224 7F07E6F4 46121100 */ add.s $f4, $f2, $f18 -/* 0B3228 7F07E6F8 10000005 */ b .L7F07E710 -/* 0B322C 7F07E6FC E44411C4 */ swc1 $f4, 0x11c4($v0) -/* 0B3230 7F07E700 E44011BC */ swc1 $f0, 0x11bc($v0) -.L7F07E704: -/* 0B3234 7F07E704 8C820000 */ lw $v0, ($a0) -/* 0B3238 7F07E708 C44611CC */ lwc1 $f6, 0x11cc($v0) -/* 0B323C 7F07E70C E44611C4 */ swc1 $f6, 0x11c4($v0) -.L7F07E710: -/* 0B3240 7F07E710 8C980000 */ lw $t8, ($a0) -/* 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 setvideo_far -/* 0B325C 7F07E72C C72C11C4 */ lwc1 $f12, 0x11c4($t9) -/* 0B3260 7F07E730 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B3264 7F07E734 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B3268 7F07E738 03E00008 */ jr $ra -/* 0B326C 7F07E73C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E62C -/* 0B37C0 7F07EC50 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 -/* 0B37C4 7F07EC54 2484A120 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5ee0 -/* 0B37C8 7F07EC58 8C820000 */ lw $v0, ($a0) -/* 0B37CC 7F07EC5C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B37D0 7F07EC60 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B37D4 7F07EC64 C44011C0 */ lwc1 $f0, 0x11c0($v0) -/* 0B37D8 7F07EC68 C44C11BC */ lwc1 $f12, 0x11bc($v0) -/* 0B37DC 7F07EC6C 4600603C */ c.lt.s $f12, $f0 -/* 0B37E0 7F07EC70 00000000 */ nop -/* 0B37E4 7F07EC74 45020026 */ bc1fl .Ljp7F07ED10 -/* 0B37E8 7F07EC78 E44011BC */ swc1 $f0, 0x11bc($v0) -/* 0B37EC 7F07EC7C 8C4301C8 */ lw $v1, 0x1c8($v0) -/* 0B37F0 7F07EC80 24010005 */ li $at, 5 -/* 0B37F4 7F07EC84 10610002 */ beq $v1, $at, .Ljp7F07EC90 -/* 0B37F8 7F07EC88 2401000C */ li $at, 12 -/* 0B37FC 7F07EC8C 14610005 */ bne $v1, $at, .Ljp7F07ECA4 -.Ljp7F07EC90: -/* 0B3800 7F07EC90 3C018005 */ lui $at, %hi(jpD_800484D0) # $at, 0x8005 -/* 0B3804 7F07EC94 C42484D0 */ lwc1 $f4, %lo(jpD_800484D0)($at) -/* 0B3808 7F07EC98 46046180 */ add.s $f6, $f12, $f4 -/* 0B380C 7F07EC9C 10000008 */ b .Ljp7F07ECC0 -/* 0B3810 7F07ECA0 E44611BC */ swc1 $f6, 0x11bc($v0) -.Ljp7F07ECA4: -/* 0B3814 7F07ECA4 3C018005 */ lui $at, %hi(jpD_800484D0) # $at, 0x8005 -/* 0B3818 7F07ECA8 C42884D0 */ lwc1 $f8, %lo(jpD_800484D0)($at) -/* 0B381C 7F07ECAC 3C018003 */ lui $at, %hi(watch_transition_time) # $at, 0x8003 -/* 0B3820 7F07ECB0 C42A65E8 */ lwc1 $f10, %lo(watch_transition_time)($at) -/* 0B3824 7F07ECB4 460A4402 */ mul.s $f16, $f8, $f10 -/* 0B3828 7F07ECB8 46106480 */ add.s $f18, $f12, $f16 -/* 0B382C 7F07ECBC E45211BC */ swc1 $f18, 0x11bc($v0) -.Ljp7F07ECC0: -/* 0B3830 7F07ECC0 8C820000 */ lw $v0, ($a0) -/* 0B3834 7F07ECC4 C44011C0 */ lwc1 $f0, 0x11c0($v0) -/* 0B3838 7F07ECC8 C44C11BC */ lwc1 $f12, 0x11bc($v0) -/* 0B383C 7F07ECCC 460C003C */ c.lt.s $f0, $f12 -/* 0B3840 7F07ECD0 00000000 */ nop -/* 0B3844 7F07ECD4 45020006 */ bc1fl .Ljp7F07ECF0 -/* 0B3848 7F07ECD8 C44211C8 */ lwc1 $f2, 0x11c8($v0) -/* 0B384C 7F07ECDC E44011BC */ swc1 $f0, 0x11bc($v0) -/* 0B3850 7F07ECE0 8C820000 */ lw $v0, ($a0) -/* 0B3854 7F07ECE4 C44C11BC */ lwc1 $f12, 0x11bc($v0) -/* 0B3858 7F07ECE8 C44011C0 */ lwc1 $f0, 0x11c0($v0) -/* 0B385C 7F07ECEC C44211C8 */ lwc1 $f2, 0x11c8($v0) -.Ljp7F07ECF0: -/* 0B3860 7F07ECF0 C44411CC */ lwc1 $f4, 0x11cc($v0) -/* 0B3864 7F07ECF4 46022181 */ sub.s $f6, $f4, $f2 -/* 0B3868 7F07ECF8 46066202 */ mul.s $f8, $f12, $f6 -/* 0B386C 7F07ECFC 46004283 */ div.s $f10, $f8, $f0 -/* 0B3870 7F07ED00 460A1400 */ add.s $f16, $f2, $f10 -/* 0B3874 7F07ED04 10000005 */ b .Ljp7F07ED1C -/* 0B3878 7F07ED08 E45011C4 */ swc1 $f16, 0x11c4($v0) -/* 0B387C 7F07ED0C E44011BC */ swc1 $f0, 0x11bc($v0) -.Ljp7F07ED10: -/* 0B3880 7F07ED10 8C820000 */ lw $v0, ($a0) -/* 0B3884 7F07ED14 C45211CC */ lwc1 $f18, 0x11cc($v0) -/* 0B3888 7F07ED18 E45211C4 */ swc1 $f18, 0x11c4($v0) -.Ljp7F07ED1C: -/* 0B388C 7F07ED1C 8C8E0000 */ lw $t6, ($a0) -/* 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 setvideo_far -/* 0B38A8 7F07ED38 C5EC11C4 */ lwc1 $f12, 0x11c4($t7) -/* 0B38AC 7F07ED3C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B38B0 7F07ED40 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B38B4 7F07ED44 03E00008 */ jr $ra -/* 0B38B8 7F07ED48 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F07E740(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E740 -/* 0B3270 7F07E740 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B3274 7F07E744 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B3278 7F07E748 24010004 */ li $at, 4 -/* 0B327C 7F07E74C 8C4301C8 */ lw $v1, 0x1c8($v0) -/* 0B3280 7F07E750 14610008 */ bne $v1, $at, .L7F07E774 -/* 0B3284 7F07E754 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 0B3288 7F07E758 44811000 */ mtc1 $at, $f2 -/* 0B328C 7F07E75C C44411C0 */ lwc1 $f4, 0x11c0($v0) -/* 0B3290 7F07E760 C44811BC */ lwc1 $f8, 0x11bc($v0) -/* 0B3294 7F07E764 46041181 */ sub.s $f6, $f2, $f4 -/* 0B3298 7F07E768 46083280 */ add.s $f10, $f6, $f8 -/* 0B329C 7F07E76C 03E00008 */ jr $ra -/* 0B32A0 7F07E770 46025003 */ div.s $f0, $f10, $f2 - -.L7F07E774: -/* 0B32A4 7F07E774 24010006 */ li $at, 6 -/* 0B32A8 7F07E778 54610009 */ bnel $v1, $at, .L7F07E7A0 -/* 0B32AC 7F07E77C 24010005 */ li $at, 5 -/* 0B32B0 7F07E780 C45011C0 */ lwc1 $f16, 0x11c0($v0) -/* 0B32B4 7F07E784 C45211BC */ lwc1 $f18, 0x11bc($v0) -/* 0B32B8 7F07E788 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 0B32BC 7F07E78C 44811000 */ mtc1 $at, $f2 -/* 0B32C0 7F07E790 46128101 */ sub.s $f4, $f16, $f18 -/* 0B32C4 7F07E794 03E00008 */ jr $ra -/* 0B32C8 7F07E798 46022003 */ div.s $f0, $f4, $f2 - -/* 0B32CC 7F07E79C 24010005 */ li $at, 5 -.L7F07E7A0: -/* 0B32D0 7F07E7A0 10610002 */ beq $v1, $at, .L7F07E7AC -/* 0B32D4 7F07E7A4 2401000C */ li $at, 12 -/* 0B32D8 7F07E7A8 14610004 */ bne $v1, $at, .L7F07E7BC -.L7F07E7AC: -/* 0B32DC 7F07E7AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B32E0 7F07E7B0 44810000 */ mtc1 $at, $f0 -/* 0B32E4 7F07E7B4 03E00008 */ jr $ra -/* 0B32E8 7F07E7B8 00000000 */ nop - -.L7F07E7BC: -/* 0B32EC 7F07E7BC 44800000 */ mtc1 $zero, $f0 -/* 0B32F0 7F07E7C0 00000000 */ nop -/* 0B32F4 7F07E7C4 03E00008 */ jr $ra -/* 0B32F8 7F07E7C8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07E7CC(void) { - s32 sp24; - ? temp_ret; - - // Node 0 - temp_ret = get_ptr_itemheader_in_hand(1); - sp24 = temp_ret; - set_objuse_flag_compute_grp_nums_set_obj_loaded(temp_ret); - if (sp24->unk14 >= 0x33) - { - // Node 1 - return_null(); - } - // Node 2 - sub_GAME_7F075FAC((pPlayer + 0x230), sp24, (pPlayer + 0x2ec)); - set_obj_instance_controller_scale((pPlayer + 0x230), (c_item_entries+0x33C * D_80055088)); - 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 -GLOBAL_ASM( -.late_rodata -glabel D_80055088 -.word 0x3dccccce /*0.10000001*/ -.text -glabel sub_GAME_7F07E7CC -/* 0B32FC 7F07E7CC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0B3300 7F07E7D0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B3304 7F07E7D4 0FC173C6 */ jal get_ptr_itemheader_in_hand -/* 0B3308 7F07E7D8 24040001 */ li $a0, 1 -/* 0B330C 7F07E7DC AFA20024 */ sw $v0, 0x24($sp) -/* 0B3310 7F07E7E0 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 0B3314 7F07E7E4 00402025 */ move $a0, $v0 -/* 0B3318 7F07E7E8 8FAE0024 */ lw $t6, 0x24($sp) -/* 0B331C 7F07E7EC 85CF0014 */ lh $t7, 0x14($t6) -/* 0B3320 7F07E7F0 29E10033 */ slti $at, $t7, 0x33 -/* 0B3324 7F07E7F4 14200003 */ bnez $at, .L7F07E804 -/* 0B3328 7F07E7F8 00000000 */ nop -/* 0B332C 7F07E7FC 0FC1B11B */ jal return_null -/* 0B3330 7F07E800 00000000 */ nop -.L7F07E804: -/* 0B3334 7F07E804 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B3338 7F07E808 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B333C 7F07E80C 8FA50024 */ lw $a1, 0x24($sp) -/* 0B3340 7F07E810 24440230 */ addiu $a0, $v0, 0x230 -/* 0B3344 7F07E814 0FC1D7EB */ jal sub_GAME_7F075FAC -/* 0B3348 7F07E818 244602EC */ addiu $a2, $v0, 0x2ec -/* 0B334C 7F07E81C 3C018004 */ lui $at, %hi(c_item_entries+0x33C) -/* 0B3350 7F07E820 C424E14C */ lwc1 $f4, %lo(c_item_entries+0x33C)($at) -/* 0B3354 7F07E824 3C018005 */ lui $at, %hi(D_80055088) -/* 0B3358 7F07E828 C4265088 */ lwc1 $f6, %lo(D_80055088)($at) -/* 0B335C 7F07E82C 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B3360 7F07E830 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0B3364 7F07E834 46062202 */ mul.s $f8, $f4, $f6 -/* 0B3368 7F07E838 24840230 */ addiu $a0, $a0, 0x230 -/* 0B336C 7F07E83C 44054000 */ mfc1 $a1, $f8 -/* 0B3370 7F07E840 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0B3374 7F07E844 00000000 */ nop -/* 0B3378 7F07E848 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B337C 7F07E84C 44815000 */ mtc1 $at, $f10 -/* 0B3380 7F07E850 3C018003 */ lui $at, %hi(watch_transition_time) -/* 0B3384 7F07E854 C43065A8 */ lwc1 $f16, %lo(watch_transition_time)($at) -/* 0B3388 7F07E858 44800000 */ mtc1 $zero, $f0 -/* 0B338C 7F07E85C 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B3390 7F07E860 46105482 */ mul.s $f18, $f10, $f16 -/* 0B3394 7F07E864 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 0B3398 7F07E868 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 0B339C 7F07E86C 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0B33A0 7F07E870 3C190000 */ lui $t9, %hi(0x000042C8) # $t9, 0 -/* 0B33A4 7F07E874 273942C8 */ addiu $t9, %lo(0x000042C8) # addiu $t9, $t9, 0x42c8 -/* 0B33A8 7F07E878 44070000 */ mfc1 $a3, $f0 -/* 0B33AC 7F07E87C E7B20010 */ swc1 $f18, 0x10($sp) -/* 0B33B0 7F07E880 00003025 */ move $a2, $zero -/* 0B33B4 7F07E884 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0B33B8 7F07E888 03192821 */ addu $a1, $t8, $t9 -/* 0B33BC 7F07E88C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0B33C0 7F07E890 24840230 */ addiu $a0, $a0, 0x230 -/* 0B33C4 7F07E894 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B33C8 7F07E898 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0B33CC 7F07E89C AD000220 */ sw $zero, 0x220($t0) -/* 0B33D0 7F07E8A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B33D4 7F07E8A4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0B33D8 7F07E8A8 03E00008 */ jr $ra -/* 0B33DC 7F07E8AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F07E8B0(f32 arg0) { - // Node 0 - if (pPlayer->step_in_view_watch_animation == 0) - { - // Node 1 - pPlayer->field_22C = (f32) (20.0f / arg0); - } - else - { - // Node 2 - pPlayer->field_22C = (f32) ((20.0f - pPlayer->field_258) / arg0); - } - // Node 3 - pPlayer->step_in_view_watch_animation = 1; - pPlayer->field_228 = arg0; - return pPlayer; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E8B0 -/* 0B33E0 7F07E8B0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B33E4 7F07E8B4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B33E8 7F07E8B8 8C620000 */ lw $v0, ($v1) -/* 0B33EC 7F07E8BC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B33F0 7F07E8C0 8C4E0220 */ lw $t6, 0x220($v0) -/* 0B33F4 7F07E8C4 55C00008 */ bnezl $t6, .L7F07E8E8 -/* 0B33F8 7F07E8C8 44814000 */ mtc1 $at, $f8 -/* 0B33FC 7F07E8CC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B3400 7F07E8D0 44812000 */ mtc1 $at, $f4 -/* 0B3404 7F07E8D4 00000000 */ nop -/* 0B3408 7F07E8D8 460C2183 */ div.s $f6, $f4, $f12 -/* 0B340C 7F07E8DC 10000006 */ b .L7F07E8F8 -/* 0B3410 7F07E8E0 E446022C */ swc1 $f6, 0x22c($v0) -/* 0B3414 7F07E8E4 44814000 */ mtc1 $at, $f8 -.L7F07E8E8: -/* 0B3418 7F07E8E8 C44A0258 */ lwc1 $f10, 0x258($v0) -/* 0B341C 7F07E8EC 460A4401 */ sub.s $f16, $f8, $f10 -/* 0B3420 7F07E8F0 460C8483 */ div.s $f18, $f16, $f12 -/* 0B3424 7F07E8F4 E452022C */ swc1 $f18, 0x22c($v0) -.L7F07E8F8: -/* 0B3428 7F07E8F8 8C780000 */ lw $t8, ($v1) -/* 0B342C 7F07E8FC 240F0001 */ li $t7, 1 -/* 0B3430 7F07E900 AF0F0220 */ sw $t7, 0x220($t8) -/* 0B3434 7F07E904 8C790000 */ lw $t9, ($v1) -/* 0B3438 7F07E908 03E00008 */ jr $ra -/* 0B343C 7F07E90C E72C0228 */ swc1 $f12, 0x228($t9) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F07E910(f32 arg0) { - // Node 0 - if (pPlayer->step_in_view_watch_animation == 20.0f) - { - // Node 1 - pPlayer->field_22C = (f32) (20.0f / arg0); - } - else - { - // Node 2 - pPlayer->field_22C = (f32) (pPlayer->field_258 / arg0); - } - // Node 3 - pPlayer->step_in_view_watch_animation = 2; - pPlayer->field_228 = arg0; - return pPlayer; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E910 -/* 0B3440 7F07E910 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3444 7F07E914 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B3448 7F07E918 8C620000 */ lw $v0, ($v1) -/* 0B344C 7F07E91C 24010003 */ li $at, 3 -/* 0B3450 7F07E920 8C4E0220 */ lw $t6, 0x220($v0) -/* 0B3454 7F07E924 15C10006 */ bne $t6, $at, .L7F07E940 -/* 0B3458 7F07E928 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B345C 7F07E92C 44812000 */ mtc1 $at, $f4 -/* 0B3460 7F07E930 00000000 */ nop -/* 0B3464 7F07E934 460C2183 */ div.s $f6, $f4, $f12 -/* 0B3468 7F07E938 10000004 */ b .L7F07E94C -/* 0B346C 7F07E93C E446022C */ swc1 $f6, 0x22c($v0) -.L7F07E940: -/* 0B3470 7F07E940 C4480258 */ lwc1 $f8, 0x258($v0) -/* 0B3474 7F07E944 460C4283 */ div.s $f10, $f8, $f12 -/* 0B3478 7F07E948 E44A022C */ swc1 $f10, 0x22c($v0) -.L7F07E94C: -/* 0B347C 7F07E94C 8C780000 */ lw $t8, ($v1) -/* 0B3480 7F07E950 240F0002 */ li $t7, 2 -/* 0B3484 7F07E954 AF0F0220 */ sw $t7, 0x220($t8) -/* 0B3488 7F07E958 8C790000 */ lw $t9, ($v1) -/* 0B348C 7F07E95C 03E00008 */ jr $ra -/* 0B3490 7F07E960 E72C0228 */ swc1 $f12, 0x228($t9) -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F07E964(void) { - void *phi_return; - - // Node 0 - phi_return = pPlayer; - if (pPlayer->step_in_view_watch_animation != 0) - { - // Node 1 - phi_return = pPlayer; - if (3 != pPlayer->step_in_view_watch_animation) - { - // Node 2 - if (pPlayer->step_in_view_watch_animation == 20.0f) - { - // Node 3 - 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->pause_animation_counter = 20.0f; - pPlayer->step_in_view_watch_animation = 3; - } - } - else - { - // Node 5 - if (pPlayer->step_in_view_watch_animation == &global_timer_delta) - { - // Node 6 - 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->pause_animation_counter = 0.0f; - pPlayer->step_in_view_watch_animation = 0; - } - } - } - // Node 8 - phi_return = sub_GAME_7F070090((pPlayer + 0x230), pPlayer->pause_animation_counter, 0); - } - } - // Node 9 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07E964 -/* 0B3494 7F07E964 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B3498 7F07E968 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0B349C 7F07E96C 8C820000 */ lw $v0, ($a0) -/* 0B34A0 7F07E970 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B34A4 7F07E974 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B34A8 7F07E978 8C430220 */ lw $v1, 0x220($v0) -/* 0B34AC 7F07E97C 24050003 */ li $a1, 3 -/* 0B34B0 7F07E980 5060003A */ beql $v1, $zero, .L7F07EA6C -/* 0B34B4 7F07E984 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B34B8 7F07E988 10A30037 */ beq $a1, $v1, .L7F07EA68 -/* 0B34BC 7F07E98C 24010001 */ li $at, 1 -/* 0B34C0 7F07E990 14610018 */ bne $v1, $at, .L7F07E9F4 -/* 0B34C4 7F07E994 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B34C8 7F07E998 44810000 */ mtc1 $at, $f0 -/* 0B34CC 7F07E99C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B34D0 7F07E9A0 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B34D4 7F07E9A4 3C018003 */ lui $at, %hi(watch_transition_time) -/* 0B34D8 7F07E9A8 C42665A8 */ lwc1 $f6, %lo(watch_transition_time)($at) -/* 0B34DC 7F07E9AC C44A022C */ lwc1 $f10, 0x22c($v0) -/* 0B34E0 7F07E9B0 C4520224 */ lwc1 $f18, 0x224($v0) -/* 0B34E4 7F07E9B4 46062202 */ mul.s $f8, $f4, $f6 -/* 0B34E8 7F07E9B8 00000000 */ nop -/* 0B34EC 7F07E9BC 460A4402 */ mul.s $f16, $f8, $f10 -/* 0B34F0 7F07E9C0 46109100 */ add.s $f4, $f18, $f16 -/* 0B34F4 7F07E9C4 E4440224 */ swc1 $f4, 0x224($v0) -/* 0B34F8 7F07E9C8 8C820000 */ lw $v0, ($a0) -/* 0B34FC 7F07E9CC C4460224 */ lwc1 $f6, 0x224($v0) -/* 0B3500 7F07E9D0 4606003C */ c.lt.s $f0, $f6 -/* 0B3504 7F07E9D4 00000000 */ nop -/* 0B3508 7F07E9D8 4500001D */ bc1f .L7F07EA50 -/* 0B350C 7F07E9DC 00000000 */ nop -/* 0B3510 7F07E9E0 E4400224 */ swc1 $f0, 0x224($v0) -/* 0B3514 7F07E9E4 8C8E0000 */ lw $t6, ($a0) -/* 0B3518 7F07E9E8 ADC50220 */ sw $a1, 0x220($t6) -/* 0B351C 7F07E9EC 10000018 */ b .L7F07EA50 -/* 0B3520 7F07E9F0 8C820000 */ lw $v0, ($a0) -.L7F07E9F4: -/* 0B3524 7F07E9F4 24010002 */ li $at, 2 -/* 0B3528 7F07E9F8 14610015 */ bne $v1, $at, .L7F07EA50 -/* 0B352C 7F07E9FC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B3530 7F07EA00 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B3534 7F07EA04 3C018003 */ lui $at, %hi(watch_transition_time) -/* 0B3538 7F07EA08 C42A65A8 */ lwc1 $f10, %lo(watch_transition_time)($at) -/* 0B353C 7F07EA0C C450022C */ lwc1 $f16, 0x22c($v0) -/* 0B3540 7F07EA10 C4460224 */ lwc1 $f6, 0x224($v0) -/* 0B3544 7F07EA14 460A4482 */ mul.s $f18, $f8, $f10 -/* 0B3548 7F07EA18 44800000 */ mtc1 $zero, $f0 -/* 0B354C 7F07EA1C 46109102 */ mul.s $f4, $f18, $f16 -/* 0B3550 7F07EA20 46043201 */ sub.s $f8, $f6, $f4 -/* 0B3554 7F07EA24 E4480224 */ swc1 $f8, 0x224($v0) -/* 0B3558 7F07EA28 8C820000 */ lw $v0, ($a0) -/* 0B355C 7F07EA2C C44A0224 */ lwc1 $f10, 0x224($v0) -/* 0B3560 7F07EA30 4600503C */ c.lt.s $f10, $f0 -/* 0B3564 7F07EA34 00000000 */ nop -/* 0B3568 7F07EA38 45020006 */ bc1fl .L7F07EA54 -/* 0B356C 7F07EA3C 44800000 */ mtc1 $zero, $f0 -/* 0B3570 7F07EA40 E4400224 */ swc1 $f0, 0x224($v0) -/* 0B3574 7F07EA44 8C8F0000 */ lw $t7, ($a0) -/* 0B3578 7F07EA48 ADE00220 */ sw $zero, 0x220($t7) -/* 0B357C 7F07EA4C 8C820000 */ lw $v0, ($a0) -.L7F07EA50: -/* 0B3580 7F07EA50 44800000 */ mtc1 $zero, $f0 -.L7F07EA54: -/* 0B3584 7F07EA54 24440230 */ addiu $a0, $v0, 0x230 -/* 0B3588 7F07EA58 8C450224 */ lw $a1, 0x224($v0) -/* 0B358C 7F07EA5C 44060000 */ mfc1 $a2, $f0 -/* 0B3590 7F07EA60 0FC1C024 */ jal sub_GAME_7F070090 -/* 0B3594 7F07EA64 00000000 */ nop -.L7F07EA68: -/* 0B3598 7F07EA68 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07EA6C: -/* 0B359C 7F07EA6C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B35A0 7F07EA70 03E00008 */ jr $ra -/* 0B35A4 7F07EA74 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07EA78(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07EA78 -/* 0B35A8 7F07EA78 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B35AC 7F07EA7C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B35B0 7F07EA80 24010001 */ li $at, 1 -/* 0B35B4 7F07EA84 8C430220 */ lw $v1, 0x220($v0) -/* 0B35B8 7F07EA88 10610002 */ beq $v1, $at, .L7F07EA94 -/* 0B35BC 7F07EA8C 24010002 */ li $at, 2 -/* 0B35C0 7F07EA90 14610005 */ bne $v1, $at, .L7F07EAA8 -.L7F07EA94: -/* 0B35C4 7F07EA94 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B35C8 7F07EA98 44813000 */ mtc1 $at, $f6 -/* 0B35CC 7F07EA9C C4440224 */ lwc1 $f4, 0x224($v0) -/* 0B35D0 7F07EAA0 03E00008 */ jr $ra -/* 0B35D4 7F07EAA4 46062003 */ div.s $f0, $f4, $f6 - -.L7F07EAA8: -/* 0B35D8 7F07EAA8 24010003 */ li $at, 3 -/* 0B35DC 7F07EAAC 14610004 */ bne $v1, $at, .L7F07EAC0 -/* 0B35E0 7F07EAB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B35E4 7F07EAB4 44810000 */ mtc1 $at, $f0 -/* 0B35E8 7F07EAB8 03E00008 */ jr $ra -/* 0B35EC 7F07EABC 00000000 */ nop - -.L7F07EAC0: -/* 0B35F0 7F07EAC0 44800000 */ mtc1 $zero, $f0 -/* 0B35F4 7F07EAC4 00000000 */ nop -/* 0B35F8 7F07EAC8 03E00008 */ jr $ra -/* 0B35FC 7F07EACC 00000000 */ nop -) -#endif - - - - - -void set_BONDdata_paused_flag(s32 arg0) { - pPlayer->paused_flag = arg0; -} - -s32 get_BONDdata_paused_flag(void) { - return pPlayer->paused_flag; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07EAF0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07EAF0 -/* 0B3620 7F07EAF0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B3624 7F07EAF4 AFBF001C */ sw $ra, 0x1c($sp) -/* 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 check_deactivate_gas_sound -/* 0B3638 7F07EB08 00000000 */ nop -/* 0B363C 7F07EB0C 00008825 */ move $s1, $zero -.L7F07EB10: -/* 0B3640 7F07EB10 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B3644 7F07EB14 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3648 7F07EB18 01D18021 */ addu $s0, $t6, $s1 -/* 0B364C 7F07EB1C 8E040A44 */ lw $a0, 0xa44($s0) -/* 0B3650 7F07EB20 26100870 */ addiu $s0, $s0, 0x870 -/* 0B3654 7F07EB24 50800008 */ beql $a0, $zero, .L7F07EB48 -/* 0B3658 7F07EB28 263103A8 */ addiu $s1, $s1, 0x3a8 -/* 0B365C 7F07EB2C 0C00237C */ jal sfxGetArg0Unk3F -/* 0B3660 7F07EB30 00000000 */ nop -/* 0B3664 7F07EB34 50400004 */ beql $v0, $zero, .L7F07EB48 -/* 0B3668 7F07EB38 263103A8 */ addiu $s1, $s1, 0x3a8 -/* 0B366C 7F07EB3C 0C002408 */ jal sfxDeactivate -/* 0B3670 7F07EB40 8E0401D4 */ lw $a0, 0x1d4($s0) -/* 0B3674 7F07EB44 263103A8 */ addiu $s1, $s1, 0x3a8 -.L7F07EB48: -/* 0B3678 7F07EB48 2A210750 */ slti $at, $s1, 0x750 -/* 0B367C 7F07EB4C 1420FFF0 */ bnez $at, .L7F07EB10 -/* 0B3680 7F07EB50 00000000 */ nop -/* 0B3684 7F07EB54 3C108003 */ lui $s0, %hi(SFX_80036458) -/* 0B3688 7F07EB58 3C118003 */ lui $s1, %hi(D_80036460) -/* 0B368C 7F07EB5C 26316460 */ addiu $s1, %lo(D_80036460) # addiu $s1, $s1, 0x6460 -/* 0B3690 7F07EB60 26106458 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6458 -/* 0B3694 7F07EB64 8E040000 */ lw $a0, ($s0) -.L7F07EB68: -/* 0B3698 7F07EB68 50800008 */ beql $a0, $zero, .L7F07EB8C -/* 0B369C 7F07EB6C 26100004 */ addiu $s0, $s0, 4 -/* 0B36A0 7F07EB70 0C00237C */ jal sfxGetArg0Unk3F -/* 0B36A4 7F07EB74 00000000 */ nop -/* 0B36A8 7F07EB78 50400004 */ beql $v0, $zero, .L7F07EB8C -/* 0B36AC 7F07EB7C 26100004 */ addiu $s0, $s0, 4 -/* 0B36B0 7F07EB80 0C002408 */ jal sfxDeactivate -/* 0B36B4 7F07EB84 8E040000 */ lw $a0, ($s0) -/* 0B36B8 7F07EB88 26100004 */ addiu $s0, $s0, 4 -.L7F07EB8C: -/* 0B36BC 7F07EB8C 5611FFF6 */ bnel $s0, $s1, .L7F07EB68 -/* 0B36C0 7F07EB90 8E040000 */ lw $a0, ($s0) -/* 0B36C4 7F07EB94 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 0B36C8 7F07EB98 00000000 */ nop -/* 0B36CC 7F07EB9C 10400028 */ beqz $v0, .L7F07EC40 -/* 0B36D0 7F07EBA0 00408825 */ move $s1, $v0 -/* 0B36D4 7F07EBA4 92220000 */ lbu $v0, ($s1) -.L7F07EBA8: -/* 0B36D8 7F07EBA8 24010002 */ li $at, 2 -/* 0B36DC 7F07EBAC 10410021 */ beq $v0, $at, .L7F07EC34 -/* 0B36E0 7F07EBB0 24010001 */ li $at, 1 -/* 0B36E4 7F07EBB4 54410020 */ bnel $v0, $at, .L7F07EC38 -/* 0B36E8 7F07EBB8 8E310024 */ lw $s1, 0x24($s1) -/* 0B36EC 7F07EBBC 8E230004 */ lw $v1, 4($s1) -/* 0B36F0 7F07EBC0 24010027 */ li $at, 39 -/* 0B36F4 7F07EBC4 90640003 */ lbu $a0, 3($v1) -/* 0B36F8 7F07EBC8 5481000E */ bnel $a0, $at, .L7F07EC04 -/* 0B36FC 7F07EBCC 24010028 */ li $at, 40 -/* 0B3700 7F07EBD0 8C6400AC */ lw $a0, 0xac($v1) -/* 0B3704 7F07EBD4 00608025 */ move $s0, $v1 -/* 0B3708 7F07EBD8 50800017 */ beql $a0, $zero, .L7F07EC38 -/* 0B370C 7F07EBDC 8E310024 */ lw $s1, 0x24($s1) -/* 0B3710 7F07EBE0 0C00237C */ jal sfxGetArg0Unk3F -/* 0B3714 7F07EBE4 00000000 */ nop -/* 0B3718 7F07EBE8 50400013 */ beql $v0, $zero, .L7F07EC38 -/* 0B371C 7F07EBEC 8E310024 */ lw $s1, 0x24($s1) -/* 0B3720 7F07EBF0 0C002408 */ jal sfxDeactivate -/* 0B3724 7F07EBF4 8E0400AC */ lw $a0, 0xac($s0) -/* 0B3728 7F07EBF8 1000000F */ b .L7F07EC38 -/* 0B372C 7F07EBFC 8E310024 */ lw $s1, 0x24($s1) -/* 0B3730 7F07EC00 24010028 */ li $at, 40 -.L7F07EC04: -/* 0B3734 7F07EC04 5481000C */ bnel $a0, $at, .L7F07EC38 -/* 0B3738 7F07EC08 8E310024 */ lw $s1, 0x24($s1) -/* 0B373C 7F07EC0C 8C6400B0 */ lw $a0, 0xb0($v1) -/* 0B3740 7F07EC10 00608025 */ move $s0, $v1 -/* 0B3744 7F07EC14 50800008 */ beql $a0, $zero, .L7F07EC38 -/* 0B3748 7F07EC18 8E310024 */ lw $s1, 0x24($s1) -/* 0B374C 7F07EC1C 0C00237C */ jal sfxGetArg0Unk3F -/* 0B3750 7F07EC20 00000000 */ nop -/* 0B3754 7F07EC24 50400004 */ beql $v0, $zero, .L7F07EC38 -/* 0B3758 7F07EC28 8E310024 */ lw $s1, 0x24($s1) -/* 0B375C 7F07EC2C 0C002408 */ jal sfxDeactivate -/* 0B3760 7F07EC30 8E0400B0 */ lw $a0, 0xb0($s0) -.L7F07EC34: -/* 0B3764 7F07EC34 8E310024 */ lw $s1, 0x24($s1) -.L7F07EC38: -/* 0B3768 7F07EC38 5620FFDB */ bnezl $s1, .L7F07EBA8 -/* 0B376C 7F07EC3C 92220000 */ lbu $v0, ($s1) -.L7F07EC40: -/* 0B3770 7F07EC40 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B3774 7F07EC44 8FB00014 */ lw $s0, 0x14($sp) -/* 0B3778 7F07EC48 8FB10018 */ lw $s1, 0x18($sp) -/* 0B377C 7F07EC4C 03E00008 */ jr $ra -/* 0B3780 7F07EC50 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07EC54(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F07EC54 -/* 0B3784 7F07EC54 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B3788 7F07EC58 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B378C 7F07EC5C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B3790 7F07EC60 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B3794 7F07EC64 8DC201C8 */ lw $v0, 0x1c8($t6) -/* 0B3798 7F07EC68 504002E8 */ beql $v0, $zero, .L7F07F80C -/* 0B379C 7F07EC6C 24010005 */ li $at, 5 -/* 0B37A0 7F07EC70 0FC17674 */ jal get_item_in_hand -/* 0B37A4 7F07EC74 00002025 */ move $a0, $zero -/* 0B37A8 7F07EC78 3843001E */ xori $v1, $v0, 0x1e -/* 0B37AC 7F07EC7C 2C630001 */ sltiu $v1, $v1, 1 -/* 0B37B0 7F07EC80 14600006 */ bnez $v1, .L7F07EC9C -/* 0B37B4 7F07EC84 AFA3001C */ sw $v1, 0x1c($sp) -/* 0B37B8 7F07EC88 0FC17674 */ jal get_item_in_hand -/* 0B37BC 7F07EC8C 00002025 */ move $a0, $zero -/* 0B37C0 7F07EC90 384F0017 */ xori $t7, $v0, 0x17 -/* 0B37C4 7F07EC94 2DEF0001 */ sltiu $t7, $t7, 1 -/* 0B37C8 7F07EC98 AFAF001C */ sw $t7, 0x1c($sp) -.L7F07EC9C: -/* 0B37CC 7F07EC9C 8FB8001C */ lw $t8, 0x1c($sp) -/* 0B37D0 7F07ECA0 24050011 */ li $a1, 17 -/* 0B37D4 7F07ECA4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B37D8 7F07ECA8 13000002 */ beqz $t8, .L7F07ECB4 -/* 0B37DC 7F07ECAC AFB8003C */ sw $t8, 0x3c($sp) -/* 0B37E0 7F07ECB0 24050023 */ li $a1, 35 -.L7F07ECB4: -/* 0B37E4 7F07ECB4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B37E8 7F07ECB8 3C088005 */ lui $t0, %hi(clock_timer) -/* 0B37EC 7F07ECBC 8D088374 */ lw $t0, %lo(clock_timer)($t0) -/* 0B37F0 7F07ECC0 8C7901C4 */ lw $t9, 0x1c4($v1) -/* 0B37F4 7F07ECC4 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0B37F8 7F07ECC8 24010001 */ li $at, 1 -/* 0B37FC 7F07ECCC 03284821 */ addu $t1, $t9, $t0 -/* 0B3800 7F07ECD0 AC6901C4 */ sw $t1, 0x1c4($v1) -/* 0B3804 7F07ECD4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3808 7F07ECD8 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B380C 7F07ECDC 8C6A01C0 */ lw $t2, 0x1c0($v1) -/* 0B3810 7F07ECE0 254B0001 */ addiu $t3, $t2, 1 -/* 0B3814 7F07ECE4 AC6B01C0 */ sw $t3, 0x1c0($v1) -/* 0B3818 7F07ECE8 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0B381C 7F07ECEC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3820 7F07ECF0 AD800200 */ sw $zero, 0x200($t4) -/* 0B3824 7F07ECF4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3828 7F07ECF8 8C6D01C8 */ lw $t5, 0x1c8($v1) -/* 0B382C 7F07ECFC 15A1003A */ bne $t5, $at, .L7F07EDE8 -/* 0B3830 7F07ED00 00000000 */ nop -/* 0B3834 7F07ED04 AC600200 */ sw $zero, 0x200($v1) -/* 0B3838 7F07ED08 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B383C 7F07ED0C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3840 7F07ED10 24010001 */ li $at, 1 -/* 0B3844 7F07ED14 24040001 */ li $a0, 1 -/* 0B3848 7F07ED18 8DC201C0 */ lw $v0, 0x1c0($t6) -/* 0B384C 7F07ED1C 54410006 */ bnel $v0, $at, .L7F07ED38 -/* 0B3850 7F07ED20 24010002 */ li $at, 2 -/* 0B3854 7F07ED24 0FC17680 */ jal draw_item_in_hand -/* 0B3858 7F07ED28 24050054 */ li $a1, 84 -/* 0B385C 7F07ED2C 1000002E */ b .L7F07EDE8 -/* 0B3860 7F07ED30 00000000 */ nop -/* 0B3864 7F07ED34 24010002 */ li $at, 2 -.L7F07ED38: -/* 0B3868 7F07ED38 14410009 */ bne $v0, $at, .L7F07ED60 -/* 0B386C 7F07ED3C 24040001 */ li $a0, 1 -/* 0B3870 7F07ED40 8FAF001C */ lw $t7, 0x1c($sp) -/* 0B3874 7F07ED44 00002025 */ move $a0, $zero -/* 0B3878 7F07ED48 11E00027 */ beqz $t7, .L7F07EDE8 -/* 0B387C 7F07ED4C 00000000 */ nop -/* 0B3880 7F07ED50 0FC17680 */ jal draw_item_in_hand -/* 0B3884 7F07ED54 00002825 */ move $a1, $zero -/* 0B3888 7F07ED58 10000023 */ b .L7F07EDE8 -/* 0B388C 7F07ED5C 00000000 */ nop -.L7F07ED60: -/* 0B3890 7F07ED60 0FC17691 */ jal return_ammo_in_hand -/* 0B3894 7F07ED64 AFA50038 */ sw $a1, 0x38($sp) -/* 0B3898 7F07ED68 24010054 */ li $at, 84 -/* 0B389C 7F07ED6C 1441001E */ bne $v0, $at, .L7F07EDE8 -/* 0B38A0 7F07ED70 00000000 */ nop -/* 0B38A4 7F07ED74 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B38A8 7F07ED78 24040001 */ li $a0, 1 -/* 0B38AC 7F07ED7C 1040001A */ beqz $v0, .L7F07EDE8 -/* 0B38B0 7F07ED80 8FB8001C */ lw $t8, 0x1c($sp) -/* 0B38B4 7F07ED84 13000008 */ beqz $t8, .L7F07EDA8 -/* 0B38B8 7F07ED88 00000000 */ nop -/* 0B38BC 7F07ED8C 0FC17691 */ jal return_ammo_in_hand -/* 0B38C0 7F07ED90 00002025 */ move $a0, $zero -/* 0B38C4 7F07ED94 14400014 */ bnez $v0, .L7F07EDE8 -/* 0B38C8 7F07ED98 00000000 */ nop -/* 0B38CC 7F07ED9C 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B38D0 7F07EDA0 00002025 */ move $a0, $zero -/* 0B38D4 7F07EDA4 10400010 */ beqz $v0, .L7F07EDE8 -.L7F07EDA8: -/* 0B38D8 7F07EDA8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B38DC 7F07EDAC 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B38E0 7F07EDB0 8FA80038 */ lw $t0, 0x38($sp) -/* 0B38E4 7F07EDB4 24090002 */ li $t1, 2 -/* 0B38E8 7F07EDB8 8C7901C4 */ lw $t9, 0x1c4($v1) -/* 0B38EC 7F07EDBC 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0B38F0 7F07EDC0 0328082A */ slt $at, $t9, $t0 -/* 0B38F4 7F07EDC4 14200008 */ bnez $at, .L7F07EDE8 -/* 0B38F8 7F07EDC8 00000000 */ nop -/* 0B38FC 7F07EDCC AC6901C8 */ sw $t1, 0x1c8($v1) -/* 0B3900 7F07EDD0 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0B3904 7F07EDD4 240A0001 */ li $t2, 1 -/* 0B3908 7F07EDD8 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0B390C 7F07EDDC AD6A01C0 */ sw $t2, 0x1c0($t3) -/* 0B3910 7F07EDE0 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0B3914 7F07EDE4 AD8001C4 */ sw $zero, 0x1c4($t4) -.L7F07EDE8: -/* 0B3918 7F07EDE8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B391C 7F07EDEC 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3920 7F07EDF0 24010002 */ li $at, 2 -/* 0B3924 7F07EDF4 8C6D01C8 */ lw $t5, 0x1c8($v1) -/* 0B3928 7F07EDF8 55A10043 */ bnel $t5, $at, .L7F07EF08 -/* 0B392C 7F07EDFC 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B3930 7F07EE00 AC600200 */ sw $zero, 0x200($v1) -/* 0B3934 7F07EE04 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3938 7F07EE08 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B393C 7F07EE0C 24010001 */ li $at, 1 -/* 0B3940 7F07EE10 24040008 */ li $a0, 8 -/* 0B3944 7F07EE14 8C6E01C0 */ lw $t6, 0x1c0($v1) -/* 0B3948 7F07EE18 55C10026 */ bnel $t6, $at, .L7F07EEB4 -/* 0B394C 7F07EE1C C4640214 */ lwc1 $f4, 0x214($v1) -/* 0B3950 7F07EE20 0FC1A96A */ jal set_unset_bitflags -/* 0B3954 7F07EE24 00002825 */ move $a1, $zero -/* 0B3958 7F07EE28 24040004 */ li $a0, 4 -/* 0B395C 7F07EE2C 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 0B3960 7F07EE30 00002825 */ move $a1, $zero -/* 0B3964 7F07EE34 0FC228E7 */ jal set_flags_in_BONDdata_stationary_intro_cam -/* 0B3968 7F07EE38 24040001 */ li $a0, 1 -/* 0B396C 7F07EE3C 0FC22A51 */ jal sub_GAME_7F08A944 -/* 0B3970 7F07EE40 24040001 */ li $a0, 1 -/* 0B3974 7F07EE44 24040004 */ li $a0, 4 -/* 0B3978 7F07EE48 0FC15858 */ jal set_unset_clock_lock_bits -/* 0B397C 7F07EE4C 00002825 */ move $a1, $zero -/* 0B3980 7F07EE50 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3984 7F07EE54 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3988 7F07EE58 24010002 */ li $at, 2 -/* 0B398C 7F07EE5C 8C640218 */ lw $a0, 0x218($v1) -/* 0B3990 7F07EE60 10800005 */ beqz $a0, .L7F07EE78 -/* 0B3994 7F07EE64 00000000 */ nop -/* 0B3998 7F07EE68 10810003 */ beq $a0, $at, .L7F07EE78 -/* 0B399C 7F07EE6C 24010003 */ li $at, 3 -/* 0B39A0 7F07EE70 54810010 */ bnel $a0, $at, .L7F07EEB4 -/* 0B39A4 7F07EE74 C4640214 */ lwc1 $f4, 0x214($v1) -.L7F07EE78: -/* 0B39A8 7F07EE78 0FC1F7CA */ jal sub_GAME_7F07DF28 -/* 0B39AC 7F07EE7C 24040001 */ li $a0, 1 -/* 0B39B0 7F07EE80 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B39B4 7F07EE84 44811000 */ mtc1 $at, $f2 -/* 0B39B8 7F07EE88 46000306 */ mov.s $f12, $f0 -/* 0B39BC 7F07EE8C 4602003C */ c.lt.s $f0, $f2 -/* 0B39C0 7F07EE90 00000000 */ nop -/* 0B39C4 7F07EE94 45000002 */ bc1f .L7F07EEA0 -/* 0B39C8 7F07EE98 00000000 */ nop -/* 0B39CC 7F07EE9C 46001306 */ mov.s $f12, $f2 -.L7F07EEA0: -/* 0B39D0 7F07EEA0 0FC1F804 */ jal sub_GAME_7F07E010 -/* 0B39D4 7F07EEA4 00000000 */ nop -/* 0B39D8 7F07EEA8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B39DC 7F07EEAC 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B39E0 7F07EEB0 C4640214 */ lwc1 $f4, 0x214($v1) -.L7F07EEB4: -/* 0B39E4 7F07EEB4 C4660210 */ lwc1 $f6, 0x210($v1) -/* 0B39E8 7F07EEB8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B39EC 7F07EEBC 44815000 */ mtc1 $at, $f10 -/* 0B39F0 7F07EEC0 46062201 */ sub.s $f8, $f4, $f6 -/* 0B39F4 7F07EEC4 240F0003 */ li $t7, 3 -/* 0B39F8 7F07EEC8 3C198008 */ lui $t9, %hi(pPlayer) -/* 0B39FC 7F07EECC 460A403C */ c.lt.s $f8, $f10 -/* 0B3A00 7F07EED0 00000000 */ nop -/* 0B3A04 7F07EED4 4502000C */ bc1fl .L7F07EF08 -/* 0B3A08 7F07EED8 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B3A0C 7F07EEDC AC6F01C8 */ sw $t7, 0x1c8($v1) -/* 0B3A10 7F07EEE0 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0B3A14 7F07EEE4 24180001 */ li $t8, 1 -/* 0B3A18 7F07EEE8 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B3A1C 7F07EEEC AF3801C0 */ sw $t8, 0x1c0($t9) -/* 0B3A20 7F07EEF0 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0B3A24 7F07EEF4 0FC1F9F3 */ jal sub_GAME_7F07E7CC -/* 0B3A28 7F07EEF8 AD0001C4 */ sw $zero, 0x1c4($t0) -/* 0B3A2C 7F07EEFC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3A30 7F07EF00 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3A34 7F07EF04 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07EF08: -/* 0B3A38 7F07EF08 24010003 */ li $at, 3 -/* 0B3A3C 7F07EF0C 54410059 */ bnel $v0, $at, .L7F07F074 -/* 0B3A40 7F07EF10 24010004 */ li $at, 4 -/* 0B3A44 7F07EF14 8C6901C0 */ lw $t1, 0x1c0($v1) -/* 0B3A48 7F07EF18 24010001 */ li $at, 1 -/* 0B3A4C 7F07EF1C 55210036 */ bnel $t1, $at, .L7F07EFF8 -/* 0B3A50 7F07EF20 8C620220 */ lw $v0, 0x220($v1) -/* 0B3A54 7F07EF24 8C620220 */ lw $v0, 0x220($v1) -/* 0B3A58 7F07EF28 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B3A5C 7F07EF2C 44817000 */ mtc1 $at, $f14 -/* 0B3A60 7F07EF30 1040000D */ beqz $v0, .L7F07EF68 -/* 0B3A64 7F07EF34 8C640218 */ lw $a0, 0x218($v1) -/* 0B3A68 7F07EF38 24010003 */ li $at, 3 -/* 0B3A6C 7F07EF3C 1041000A */ beq $v0, $at, .L7F07EF68 -/* 0B3A70 7F07EF40 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B3A74 7F07EF44 44818000 */ mtc1 $at, $f16 -/* 0B3A78 7F07EF48 C4720258 */ lwc1 $f18, 0x258($v1) -/* 0B3A7C 7F07EF4C 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B3A80 7F07EF50 44813000 */ mtc1 $at, $f6 -/* 0B3A84 7F07EF54 46128101 */ sub.s $f4, $f16, $f18 -/* 0B3A88 7F07EF58 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B3A8C 7F07EF5C 44815000 */ mtc1 $at, $f10 -/* 0B3A90 7F07EF60 46062202 */ mul.s $f8, $f4, $f6 -/* 0B3A94 7F07EF64 460A4383 */ div.s $f14, $f8, $f10 -.L7F07EF68: -/* 0B3A98 7F07EF68 10800004 */ beqz $a0, .L7F07EF7C -/* 0B3A9C 7F07EF6C 24010002 */ li $at, 2 -/* 0B3AA0 7F07EF70 10810002 */ beq $a0, $at, .L7F07EF7C -/* 0B3AA4 7F07EF74 24010003 */ li $at, 3 -/* 0B3AA8 7F07EF78 1481001A */ bne $a0, $at, .L7F07EFE4 -.L7F07EF7C: -/* 0B3AAC 7F07EF7C 24040001 */ li $a0, 1 -/* 0B3AB0 7F07EF80 0FC1F7CA */ jal sub_GAME_7F07DF28 -/* 0B3AB4 7F07EF84 E7AE0030 */ swc1 $f14, 0x30($sp) -/* 0B3AB8 7F07EF88 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B3ABC 7F07EF8C C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 0B3AC0 7F07EF90 44818000 */ mtc1 $at, $f16 -/* 0B3AC4 7F07EF94 46000306 */ mov.s $f12, $f0 -/* 0B3AC8 7F07EF98 46107081 */ sub.s $f2, $f14, $f16 -/* 0B3ACC 7F07EF9C 4602003C */ c.lt.s $f0, $f2 -/* 0B3AD0 7F07EFA0 00000000 */ nop -/* 0B3AD4 7F07EFA4 45020003 */ bc1fl .L7F07EFB4 -/* 0B3AD8 7F07EFA8 E7AC002C */ swc1 $f12, 0x2c($sp) -/* 0B3ADC 7F07EFAC 46001306 */ mov.s $f12, $f2 -/* 0B3AE0 7F07EFB0 E7AC002C */ swc1 $f12, 0x2c($sp) -.L7F07EFB4: -/* 0B3AE4 7F07EFB4 0FC1F804 */ jal sub_GAME_7F07E010 -/* 0B3AE8 7F07EFB8 E7AE0030 */ swc1 $f14, 0x30($sp) -/* 0B3AEC 7F07EFBC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B3AF0 7F07EFC0 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 0B3AF4 7F07EFC4 44819000 */ mtc1 $at, $f18 -/* 0B3AF8 7F07EFC8 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 0B3AFC 7F07EFCC 46126000 */ add.s $f0, $f12, $f18 -/* 0B3B00 7F07EFD0 4600703C */ c.lt.s $f14, $f0 -/* 0B3B04 7F07EFD4 00000000 */ nop -/* 0B3B08 7F07EFD8 45000002 */ bc1f .L7F07EFE4 -/* 0B3B0C 7F07EFDC 00000000 */ nop -/* 0B3B10 7F07EFE0 46000386 */ mov.s $f14, $f0 -.L7F07EFE4: -/* 0B3B14 7F07EFE4 0FC1FA2C */ jal sub_GAME_7F07E8B0 -/* 0B3B18 7F07EFE8 46007306 */ mov.s $f12, $f14 -/* 0B3B1C 7F07EFEC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3B20 7F07EFF0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3B24 7F07EFF4 8C620220 */ lw $v0, 0x220($v1) -.L7F07EFF8: -/* 0B3B28 7F07EFF8 24010003 */ li $at, 3 -/* 0B3B2C 7F07EFFC 10400003 */ beqz $v0, .L7F07F00C -/* 0B3B30 7F07F000 00000000 */ nop -/* 0B3B34 7F07F004 54410008 */ bnel $v0, $at, .L7F07F028 -/* 0B3B38 7F07F008 240A0001 */ li $t2, 1 -.L7F07F00C: -/* 0B3B3C 7F07F00C 0FC1F81A */ jal sub_GAME_7F07E068 -/* 0B3B40 7F07F010 00000000 */ nop -/* 0B3B44 7F07F014 10400009 */ beqz $v0, .L7F07F03C -/* 0B3B48 7F07F018 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0B3B4C 7F07F01C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3B50 7F07F020 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3B54 7F07F024 240A0001 */ li $t2, 1 -.L7F07F028: -/* 0B3B58 7F07F028 AC6A0200 */ sw $t2, 0x200($v1) -/* 0B3B5C 7F07F02C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3B60 7F07F030 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3B64 7F07F034 1000000E */ b .L7F07F070 -/* 0B3B68 7F07F038 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F03C: -/* 0B3B6C 7F07F03C 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0B3B70 7F07F040 240B0004 */ li $t3, 4 -/* 0B3B74 7F07F044 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B3B78 7F07F048 AD8B01C8 */ sw $t3, 0x1c8($t4) -/* 0B3B7C 7F07F04C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3B80 7F07F050 240D0001 */ li $t5, 1 -/* 0B3B84 7F07F054 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0B3B88 7F07F058 ADCD01C0 */ sw $t5, 0x1c0($t6) -/* 0B3B8C 7F07F05C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0B3B90 7F07F060 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3B94 7F07F064 ADE001C4 */ sw $zero, 0x1c4($t7) -/* 0B3B98 7F07F068 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3B9C 7F07F06C 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F070: -/* 0B3BA0 7F07F070 24010004 */ li $at, 4 -.L7F07F074: -/* 0B3BA4 7F07F074 5441002F */ bnel $v0, $at, .L7F07F134 -/* 0B3BA8 7F07F078 24010005 */ li $at, 5 -/* 0B3BAC 7F07F07C 8C7801C0 */ lw $t8, 0x1c0($v1) -/* 0B3BB0 7F07F080 24010001 */ li $at, 1 -/* 0B3BB4 7F07F084 1701000B */ bne $t8, $at, .L7F07F0B4 -/* 0B3BB8 7F07F088 00000000 */ nop -/* 0B3BBC 7F07F08C 8C79021C */ lw $t9, 0x21c($v1) -/* 0B3BC0 7F07F090 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0B3BC4 7F07F094 240500ED */ li $a1, 237 -/* 0B3BC8 7F07F098 13200006 */ beqz $t9, .L7F07F0B4 -/* 0B3BCC 7F07F09C 00003025 */ move $a2, $zero -/* 0B3BD0 7F07F0A0 0C002382 */ jal play_sfx_a1 -/* 0B3BD4 7F07F0A4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0B3BD8 7F07F0A8 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B3BDC 7F07F0AC 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0B3BE0 7F07F0B0 AD00021C */ sw $zero, 0x21c($t0) -.L7F07F0B4: -/* 0B3BE4 7F07F0B4 0FC1F94B */ jal zoom_to_watch_on_open -/* 0B3BE8 7F07F0B8 00000000 */ nop -/* 0B3BEC 7F07F0BC 0FC1F97F */ jal check_watch_page_transistion_running -/* 0B3BF0 7F07F0C0 00000000 */ nop -/* 0B3BF4 7F07F0C4 10400009 */ beqz $v0, .L7F07F0EC -/* 0B3BF8 7F07F0C8 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0B3BFC 7F07F0CC 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0B3C00 7F07F0D0 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0B3C04 7F07F0D4 24090001 */ li $t1, 1 -/* 0B3C08 7F07F0D8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3C0C 7F07F0DC AD490200 */ sw $t1, 0x200($t2) -/* 0B3C10 7F07F0E0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3C14 7F07F0E4 10000012 */ b .L7F07F130 -/* 0B3C18 7F07F0E8 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F0EC: -/* 0B3C1C 7F07F0EC 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0B3C20 7F07F0F0 240B0005 */ li $t3, 5 -/* 0B3C24 7F07F0F4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B3C28 7F07F0F8 AD8B01C8 */ sw $t3, 0x1c8($t4) -/* 0B3C2C 7F07F0FC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3C30 7F07F100 240D0001 */ li $t5, 1 -/* 0B3C34 7F07F104 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0B3C38 7F07F108 ADCD01C0 */ sw $t5, 0x1c0($t6) -/* 0B3C3C 7F07F10C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0B3C40 7F07F110 3C198008 */ lui $t9, %hi(pPlayer) -/* 0B3C44 7F07F114 24180001 */ li $t8, 1 -/* 0B3C48 7F07F118 ADE001C4 */ sw $zero, 0x1c4($t7) -/* 0B3C4C 7F07F11C 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0B3C50 7F07F120 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3C54 7F07F124 AF38021C */ sw $t8, 0x21c($t9) -/* 0B3C58 7F07F128 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3C5C 7F07F12C 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F130: -/* 0B3C60 7F07F130 24010005 */ li $at, 5 -.L7F07F134: -/* 0B3C64 7F07F134 5441000F */ bnel $v0, $at, .L7F07F174 -/* 0B3C68 7F07F138 2401000C */ li $at, 12 -/* 0B3C6C 7F07F13C 8C6801C0 */ lw $t0, 0x1c0($v1) -/* 0B3C70 7F07F140 24010001 */ li $at, 1 -/* 0B3C74 7F07F144 55010006 */ bnel $t0, $at, .L7F07F160 -/* 0B3C78 7F07F148 24090001 */ li $t1, 1 -/* 0B3C7C 7F07F14C 0FC304C4 */ jal sub_GAME_7F0C1310 -/* 0B3C80 7F07F150 00000000 */ nop -/* 0B3C84 7F07F154 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3C88 7F07F158 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3C8C 7F07F15C 24090001 */ li $t1, 1 -.L7F07F160: -/* 0B3C90 7F07F160 AC690200 */ sw $t1, 0x200($v1) -/* 0B3C94 7F07F164 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3C98 7F07F168 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3C9C 7F07F16C 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B3CA0 7F07F170 2401000C */ li $at, 12 -.L7F07F174: -/* 0B3CA4 7F07F174 14410018 */ bne $v0, $at, .L7F07F1D8 -/* 0B3CA8 7F07F178 240A0001 */ li $t2, 1 -/* 0B3CAC 7F07F17C AC6A0200 */ sw $t2, 0x200($v1) -/* 0B3CB0 7F07F180 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3CB4 7F07F184 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3CB8 7F07F188 240C0006 */ li $t4, 6 -/* 0B3CBC 7F07F18C 240D0001 */ li $t5, 1 -/* 0B3CC0 7F07F190 8C6B01C0 */ lw $t3, 0x1c0($v1) -/* 0B3CC4 7F07F194 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B3CC8 7F07F198 29610003 */ slti $at, $t3, 3 -/* 0B3CCC 7F07F19C 5420000F */ bnezl $at, .L7F07F1DC -/* 0B3CD0 7F07F1A0 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B3CD4 7F07F1A4 AC6C01C8 */ sw $t4, 0x1c8($v1) -/* 0B3CD8 7F07F1A8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3CDC 7F07F1AC 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0B3CE0 7F07F1B0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0B3CE4 7F07F1B4 ADCD01C0 */ sw $t5, 0x1c0($t6) -/* 0B3CE8 7F07F1B8 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0B3CEC 7F07F1BC 240500EE */ li $a1, 238 -/* 0B3CF0 7F07F1C0 00003025 */ move $a2, $zero -/* 0B3CF4 7F07F1C4 ADE001C4 */ sw $zero, 0x1c4($t7) -/* 0B3CF8 7F07F1C8 0C002382 */ jal play_sfx_a1 -/* 0B3CFC 7F07F1CC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0B3D00 7F07F1D0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3D04 7F07F1D4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F07F1D8: -/* 0B3D08 7F07F1D8 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F1DC: -/* 0B3D0C 7F07F1DC 24010006 */ li $at, 6 -/* 0B3D10 7F07F1E0 5441002F */ bnel $v0, $at, .L7F07F2A0 -/* 0B3D14 7F07F1E4 24010007 */ li $at, 7 -/* 0B3D18 7F07F1E8 8C7801C0 */ lw $t8, 0x1c0($v1) -/* 0B3D1C 7F07F1EC 24010001 */ li $at, 1 -/* 0B3D20 7F07F1F0 1701000D */ bne $t8, $at, .L7F07F228 -/* 0B3D24 7F07F1F4 00000000 */ nop -/* 0B3D28 7F07F1F8 0FC1F965 */ jal zoom_from_watch_on_exit -/* 0B3D2C 7F07F1FC 00000000 */ nop -/* 0B3D30 7F07F200 8FB9001C */ lw $t9, 0x1c($sp) -/* 0B3D34 7F07F204 00002025 */ move $a0, $zero -/* 0B3D38 7F07F208 13200005 */ beqz $t9, .L7F07F220 -/* 0B3D3C 7F07F20C 00000000 */ nop -/* 0B3D40 7F07F210 0FC17680 */ jal draw_item_in_hand -/* 0B3D44 7F07F214 00002825 */ move $a1, $zero -/* 0B3D48 7F07F218 10000003 */ b .L7F07F228 -/* 0B3D4C 7F07F21C 00000000 */ nop -.L7F07F220: -/* 0B3D50 7F07F220 0FC176B9 */ jal sub_GAME_7F05DAE4 -/* 0B3D54 7F07F224 00002025 */ move $a0, $zero -.L7F07F228: -/* 0B3D58 7F07F228 0FC1F97F */ jal check_watch_page_transistion_running -/* 0B3D5C 7F07F22C 00000000 */ nop -/* 0B3D60 7F07F230 10400009 */ beqz $v0, .L7F07F258 -/* 0B3D64 7F07F234 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0B3D68 7F07F238 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B3D6C 7F07F23C 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0B3D70 7F07F240 24080001 */ li $t0, 1 -/* 0B3D74 7F07F244 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3D78 7F07F248 AD280200 */ sw $t0, 0x200($t1) -/* 0B3D7C 7F07F24C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3D80 7F07F250 10000012 */ b .L7F07F29C -/* 0B3D84 7F07F254 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F258: -/* 0B3D88 7F07F258 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0B3D8C 7F07F25C 240A0007 */ li $t2, 7 -/* 0B3D90 7F07F260 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 0B3D94 7F07F264 AD6A01C8 */ sw $t2, 0x1c8($t3) -/* 0B3D98 7F07F268 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 0B3D9C 7F07F26C 240C0001 */ li $t4, 1 -/* 0B3DA0 7F07F270 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B3DA4 7F07F274 ADAC01C0 */ sw $t4, 0x1c0($t5) -/* 0B3DA8 7F07F278 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3DAC 7F07F27C 3C188008 */ lui $t8, %hi(pPlayer) -/* 0B3DB0 7F07F280 240F0001 */ li $t7, 1 -/* 0B3DB4 7F07F284 ADC001C4 */ sw $zero, 0x1c4($t6) -/* 0B3DB8 7F07F288 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0B3DBC 7F07F28C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3DC0 7F07F290 AF0F021C */ sw $t7, 0x21c($t8) -/* 0B3DC4 7F07F294 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3DC8 7F07F298 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F29C: -/* 0B3DCC 7F07F29C 24010007 */ li $at, 7 -.L7F07F2A0: -/* 0B3DD0 7F07F2A0 5441003F */ bnel $v0, $at, .L7F07F3A0 -/* 0B3DD4 7F07F2A4 24010008 */ li $at, 8 -/* 0B3DD8 7F07F2A8 8C7901C0 */ lw $t9, 0x1c0($v1) -/* 0B3DDC 7F07F2AC 24010001 */ li $at, 1 -/* 0B3DE0 7F07F2B0 17210024 */ bne $t9, $at, .L7F07F344 -/* 0B3DE4 7F07F2B4 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B3DE8 7F07F2B8 44817000 */ mtc1 $at, $f14 -/* 0B3DEC 7F07F2BC 00002025 */ move $a0, $zero -/* 0B3DF0 7F07F2C0 0FC1F7CA */ jal sub_GAME_7F07DF28 -/* 0B3DF4 7F07F2C4 E7AE0028 */ swc1 $f14, 0x28($sp) -/* 0B3DF8 7F07F2C8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3DFC 7F07F2CC 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3E00 7F07F2D0 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 0B3E04 7F07F2D4 46000306 */ mov.s $f12, $f0 -/* 0B3E08 7F07F2D8 8C620220 */ lw $v0, 0x220($v1) -/* 0B3E0C 7F07F2DC 24010003 */ li $at, 3 -/* 0B3E10 7F07F2E0 5040000A */ beql $v0, $zero, .L7F07F30C -/* 0B3E14 7F07F2E4 3C0141A0 */ lui $at, 0x41a0 -/* 0B3E18 7F07F2E8 10410007 */ beq $v0, $at, .L7F07F308 -/* 0B3E1C 7F07F2EC 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B3E20 7F07F2F0 44813000 */ mtc1 $at, $f6 -/* 0B3E24 7F07F2F4 C4640258 */ lwc1 $f4, 0x258($v1) -/* 0B3E28 7F07F2F8 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B3E2C 7F07F2FC 44815000 */ mtc1 $at, $f10 -/* 0B3E30 7F07F300 46062202 */ mul.s $f8, $f4, $f6 -/* 0B3E34 7F07F304 460A4383 */ div.s $f14, $f8, $f10 -.L7F07F308: -/* 0B3E38 7F07F308 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -.L7F07F30C: -/* 0B3E3C 7F07F30C 44818000 */ mtc1 $at, $f16 -/* 0B3E40 7F07F310 00000000 */ nop -/* 0B3E44 7F07F314 46107080 */ add.s $f2, $f14, $f16 -/* 0B3E48 7F07F318 4602003C */ c.lt.s $f0, $f2 -/* 0B3E4C 7F07F31C 00000000 */ nop -/* 0B3E50 7F07F320 45000002 */ bc1f .L7F07F32C -/* 0B3E54 7F07F324 00000000 */ nop -/* 0B3E58 7F07F328 46001306 */ mov.s $f12, $f2 -.L7F07F32C: -/* 0B3E5C 7F07F32C 0FC1F80F */ jal sub_GAME_7F07E03C -/* 0B3E60 7F07F330 E7AE0028 */ swc1 $f14, 0x28($sp) -/* 0B3E64 7F07F334 0FC1FA44 */ jal sub_GAME_7F07E910 -/* 0B3E68 7F07F338 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 0B3E6C 7F07F33C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3E70 7F07F340 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F07F344: -/* 0B3E74 7F07F344 8C620220 */ lw $v0, 0x220($v1) -/* 0B3E78 7F07F348 24010003 */ li $at, 3 -/* 0B3E7C 7F07F34C 24090008 */ li $t1, 8 -/* 0B3E80 7F07F350 10400008 */ beqz $v0, .L7F07F374 -/* 0B3E84 7F07F354 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0B3E88 7F07F358 10410006 */ beq $v0, $at, .L7F07F374 -/* 0B3E8C 7F07F35C 24080001 */ li $t0, 1 -/* 0B3E90 7F07F360 AC680200 */ sw $t0, 0x200($v1) -/* 0B3E94 7F07F364 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3E98 7F07F368 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3E9C 7F07F36C 1000000B */ b .L7F07F39C -/* 0B3EA0 7F07F370 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F374: -/* 0B3EA4 7F07F374 AC6901C8 */ sw $t1, 0x1c8($v1) -/* 0B3EA8 7F07F378 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0B3EAC 7F07F37C 240A0001 */ li $t2, 1 -/* 0B3EB0 7F07F380 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0B3EB4 7F07F384 AD6A01C0 */ sw $t2, 0x1c0($t3) -/* 0B3EB8 7F07F388 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0B3EBC 7F07F38C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B3EC0 7F07F390 AD8001C4 */ sw $zero, 0x1c4($t4) -/* 0B3EC4 7F07F394 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3EC8 7F07F398 8C6201C8 */ lw $v0, 0x1c8($v1) -.L7F07F39C: -/* 0B3ECC 7F07F39C 24010008 */ li $at, 8 -.L7F07F3A0: -/* 0B3ED0 7F07F3A0 14410069 */ bne $v0, $at, .L7F07F548 -/* 0B3ED4 7F07F3A4 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 0B3ED8 7F07F3A8 AC600200 */ sw $zero, 0x200($v1) -/* 0B3EDC 7F07F3AC 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 0B3EE0 7F07F3B0 24010001 */ li $at, 1 -/* 0B3EE4 7F07F3B4 8DAE01C0 */ lw $t6, 0x1c0($t5) -/* 0B3EE8 7F07F3B8 15C10028 */ bne $t6, $at, .L7F07F45C -/* 0B3EEC 7F07F3BC 00000000 */ nop -/* 0B3EF0 7F07F3C0 0FC17691 */ jal return_ammo_in_hand -/* 0B3EF4 7F07F3C4 24040001 */ li $a0, 1 -/* 0B3EF8 7F07F3C8 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B3EFC 7F07F3CC 0FC17674 */ jal get_item_in_hand -/* 0B3F00 7F07F3D0 24040001 */ li $a0, 1 -/* 0B3F04 7F07F3D4 8FAF001C */ lw $t7, 0x1c($sp) -/* 0B3F08 7F07F3D8 504F000B */ beql $v0, $t7, .L7F07F408 -/* 0B3F0C 7F07F3DC 8FB8003C */ lw $t8, 0x3c($sp) -/* 0B3F10 7F07F3E0 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B3F14 7F07F3E4 24040001 */ li $a0, 1 -/* 0B3F18 7F07F3E8 50400007 */ beql $v0, $zero, .L7F07F408 -/* 0B3F1C 7F07F3EC 8FB8003C */ lw $t8, 0x3c($sp) -/* 0B3F20 7F07F3F0 0FC17674 */ jal get_item_in_hand -/* 0B3F24 7F07F3F4 24040001 */ li $a0, 1 -/* 0B3F28 7F07F3F8 24040001 */ li $a0, 1 -/* 0B3F2C 7F07F3FC 0FC17680 */ jal draw_item_in_hand -/* 0B3F30 7F07F400 00402825 */ move $a1, $v0 -/* 0B3F34 7F07F404 8FB8003C */ lw $t8, 0x3c($sp) -.L7F07F408: -/* 0B3F38 7F07F408 1300004F */ beqz $t8, .L7F07F548 -/* 0B3F3C 7F07F40C 00000000 */ nop -/* 0B3F40 7F07F410 0FC17691 */ jal return_ammo_in_hand -/* 0B3F44 7F07F414 00002025 */ move $a0, $zero -/* 0B3F48 7F07F418 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B3F4C 7F07F41C 0FC17674 */ jal get_item_in_hand -/* 0B3F50 7F07F420 00002025 */ move $a0, $zero -/* 0B3F54 7F07F424 8FB9001C */ lw $t9, 0x1c($sp) -/* 0B3F58 7F07F428 10590047 */ beq $v0, $t9, .L7F07F548 -/* 0B3F5C 7F07F42C 00000000 */ nop -/* 0B3F60 7F07F430 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B3F64 7F07F434 00002025 */ move $a0, $zero -/* 0B3F68 7F07F438 10400043 */ beqz $v0, .L7F07F548 -/* 0B3F6C 7F07F43C 00000000 */ nop -/* 0B3F70 7F07F440 0FC17674 */ jal get_item_in_hand -/* 0B3F74 7F07F444 00002025 */ move $a0, $zero -/* 0B3F78 7F07F448 00002025 */ move $a0, $zero -/* 0B3F7C 7F07F44C 0FC17680 */ jal draw_item_in_hand -/* 0B3F80 7F07F450 00402825 */ move $a1, $v0 -/* 0B3F84 7F07F454 1000003C */ b .L7F07F548 -/* 0B3F88 7F07F458 00000000 */ nop -.L7F07F45C: -/* 0B3F8C 7F07F45C 0FC1F81A */ jal sub_GAME_7F07E068 -/* 0B3F90 7F07F460 00000000 */ nop -/* 0B3F94 7F07F464 14400038 */ bnez $v0, .L7F07F548 -/* 0B3F98 7F07F468 00000000 */ nop -/* 0B3F9C 7F07F46C 0FC17691 */ jal return_ammo_in_hand -/* 0B3FA0 7F07F470 24040001 */ li $a0, 1 -/* 0B3FA4 7F07F474 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B3FA8 7F07F478 0FC17674 */ jal get_item_in_hand -/* 0B3FAC 7F07F47C 24040001 */ li $a0, 1 -/* 0B3FB0 7F07F480 8FA8001C */ lw $t0, 0x1c($sp) -/* 0B3FB4 7F07F484 14480030 */ bne $v0, $t0, .L7F07F548 -/* 0B3FB8 7F07F488 00000000 */ nop -/* 0B3FBC 7F07F48C 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B3FC0 7F07F490 24040001 */ li $a0, 1 -/* 0B3FC4 7F07F494 1040002C */ beqz $v0, .L7F07F548 -/* 0B3FC8 7F07F498 8FA9003C */ lw $t1, 0x3c($sp) -/* 0B3FCC 7F07F49C 1120000D */ beqz $t1, .L7F07F4D4 -/* 0B3FD0 7F07F4A0 00000000 */ nop -/* 0B3FD4 7F07F4A4 0FC17691 */ jal return_ammo_in_hand -/* 0B3FD8 7F07F4A8 00002025 */ move $a0, $zero -/* 0B3FDC 7F07F4AC AFA20018 */ sw $v0, 0x18($sp) -/* 0B3FE0 7F07F4B0 0FC17674 */ jal get_item_in_hand -/* 0B3FE4 7F07F4B4 00002025 */ move $a0, $zero -/* 0B3FE8 7F07F4B8 8FAA0018 */ lw $t2, 0x18($sp) -/* 0B3FEC 7F07F4BC 144A0022 */ bne $v0, $t2, .L7F07F548 -/* 0B3FF0 7F07F4C0 00000000 */ nop -/* 0B3FF4 7F07F4C4 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B3FF8 7F07F4C8 00002025 */ move $a0, $zero -/* 0B3FFC 7F07F4CC 1040001E */ beqz $v0, .L7F07F548 -/* 0B4000 7F07F4D0 00000000 */ nop -.L7F07F4D4: -/* 0B4004 7F07F4D4 0FC176B9 */ jal sub_GAME_7F05DAE4 -/* 0B4008 7F07F4D8 24040001 */ li $a0, 1 -/* 0B400C 7F07F4DC 8FAB003C */ lw $t3, 0x3c($sp) -/* 0B4010 7F07F4E0 51600004 */ beql $t3, $zero, .L7F07F4F4 -/* 0B4014 7F07F4E4 24040008 */ li $a0, 8 -/* 0B4018 7F07F4E8 0FC176B9 */ jal sub_GAME_7F05DAE4 -/* 0B401C 7F07F4EC 00002025 */ move $a0, $zero -/* 0B4020 7F07F4F0 24040008 */ li $a0, 8 -.L7F07F4F4: -/* 0B4024 7F07F4F4 0FC1A96A */ jal set_unset_bitflags -/* 0B4028 7F07F4F8 24050001 */ li $a1, 1 -/* 0B402C 7F07F4FC 24040004 */ li $a0, 4 -/* 0B4030 7F07F500 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 0B4034 7F07F504 24050001 */ li $a1, 1 -/* 0B4038 7F07F508 0FC228E0 */ jal unset_flags_in_BONDdata_stationary_intro_cam -/* 0B403C 7F07F50C 24040001 */ li $a0, 1 -/* 0B4040 7F07F510 0FC22A4A */ jal sub_GAME_7F08A928 -/* 0B4044 7F07F514 24040001 */ li $a0, 1 -/* 0B4048 7F07F518 24040004 */ li $a0, 4 -/* 0B404C 7F07F51C 0FC15858 */ jal set_unset_clock_lock_bits -/* 0B4050 7F07F520 24050001 */ li $a1, 1 -/* 0B4054 7F07F524 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0B4058 7F07F528 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0B405C 7F07F52C 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 0B4060 7F07F530 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B4064 7F07F534 AD8001C8 */ sw $zero, 0x1c8($t4) -/* 0B4068 7F07F538 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 0B406C 7F07F53C ADA001C0 */ sw $zero, 0x1c0($t5) -/* 0B4070 7F07F540 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B4074 7F07F544 ADC001C4 */ sw $zero, 0x1c4($t6) -.L7F07F548: -/* 0B4078 7F07F548 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B407C 7F07F54C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4080 7F07F550 24010009 */ li $at, 9 -/* 0B4084 7F07F554 24040001 */ li $a0, 1 -/* 0B4088 7F07F558 8C6F01C8 */ lw $t7, 0x1c8($v1) -/* 0B408C 7F07F55C 15E10023 */ bne $t7, $at, .L7F07F5EC -/* 0B4090 7F07F560 00000000 */ nop -/* 0B4094 7F07F564 0FC17674 */ jal get_item_in_hand -/* 0B4098 7F07F568 AC600200 */ sw $zero, 0x200($v1) -/* 0B409C 7F07F56C AFA2001C */ sw $v0, 0x1c($sp) -/* 0B40A0 7F07F570 0FC17691 */ jal return_ammo_in_hand -/* 0B40A4 7F07F574 24040001 */ li $a0, 1 -/* 0B40A8 7F07F578 8FB8001C */ lw $t8, 0x1c($sp) -/* 0B40AC 7F07F57C 1058001B */ beq $v0, $t8, .L7F07F5EC -/* 0B40B0 7F07F580 00000000 */ nop -/* 0B40B4 7F07F584 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B40B8 7F07F588 24040001 */ li $a0, 1 -/* 0B40BC 7F07F58C 10400017 */ beqz $v0, .L7F07F5EC -/* 0B40C0 7F07F590 8FB9003C */ lw $t9, 0x3c($sp) -/* 0B40C4 7F07F594 1320000C */ beqz $t9, .L7F07F5C8 -/* 0B40C8 7F07F598 00000000 */ nop -/* 0B40CC 7F07F59C 0FC17674 */ jal get_item_in_hand -/* 0B40D0 7F07F5A0 00002025 */ move $a0, $zero -/* 0B40D4 7F07F5A4 AFA20018 */ sw $v0, 0x18($sp) -/* 0B40D8 7F07F5A8 0FC17691 */ jal return_ammo_in_hand -/* 0B40DC 7F07F5AC 00002025 */ move $a0, $zero -/* 0B40E0 7F07F5B0 8FA80018 */ lw $t0, 0x18($sp) -/* 0B40E4 7F07F5B4 1048000D */ beq $v0, $t0, .L7F07F5EC -/* 0B40E8 7F07F5B8 00000000 */ nop -/* 0B40EC 7F07F5BC 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B40F0 7F07F5C0 00002025 */ move $a0, $zero -/* 0B40F4 7F07F5C4 10400009 */ beqz $v0, .L7F07F5EC -.L7F07F5C8: -/* 0B40F8 7F07F5C8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B40FC 7F07F5CC 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0B4100 7F07F5D0 8C4A0000 */ lw $t2, ($v0) -/* 0B4104 7F07F5D4 24090008 */ li $t1, 8 -/* 0B4108 7F07F5D8 AD4901C8 */ sw $t1, 0x1c8($t2) -/* 0B410C 7F07F5DC 8C4B0000 */ lw $t3, ($v0) -/* 0B4110 7F07F5E0 AD6001C0 */ sw $zero, 0x1c0($t3) -/* 0B4114 7F07F5E4 8C4C0000 */ lw $t4, ($v0) -/* 0B4118 7F07F5E8 AD8001C4 */ sw $zero, 0x1c4($t4) -.L7F07F5EC: -/* 0B411C 7F07F5EC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4120 7F07F5F0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4124 7F07F5F4 2401000A */ li $at, 10 -/* 0B4128 7F07F5F8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B412C 7F07F5FC 8C6D01C8 */ lw $t5, 0x1c8($v1) -/* 0B4130 7F07F600 15A1002D */ bne $t5, $at, .L7F07F6B8 -/* 0B4134 7F07F604 00000000 */ nop -/* 0B4138 7F07F608 AC600200 */ sw $zero, 0x200($v1) -/* 0B413C 7F07F60C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B4140 7F07F610 24010001 */ li $at, 1 -/* 0B4144 7F07F614 8DCF01C0 */ lw $t7, 0x1c0($t6) -/* 0B4148 7F07F618 15E10005 */ bne $t7, $at, .L7F07F630 -/* 0B414C 7F07F61C 00000000 */ nop -/* 0B4150 7F07F620 0FC1F7CA */ jal sub_GAME_7F07DF28 -/* 0B4154 7F07F624 00002025 */ move $a0, $zero -/* 0B4158 7F07F628 0FC1F80F */ jal sub_GAME_7F07E03C -/* 0B415C 7F07F62C 46000306 */ mov.s $f12, $f0 -.L7F07F630: -/* 0B4160 7F07F630 0FC17674 */ jal get_item_in_hand -/* 0B4164 7F07F634 24040001 */ li $a0, 1 -/* 0B4168 7F07F638 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B416C 7F07F63C 0FC17691 */ jal return_ammo_in_hand -/* 0B4170 7F07F640 24040001 */ li $a0, 1 -/* 0B4174 7F07F644 8FB8001C */ lw $t8, 0x1c($sp) -/* 0B4178 7F07F648 1058001B */ beq $v0, $t8, .L7F07F6B8 -/* 0B417C 7F07F64C 00000000 */ nop -/* 0B4180 7F07F650 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B4184 7F07F654 24040001 */ li $a0, 1 -/* 0B4188 7F07F658 10400017 */ beqz $v0, .L7F07F6B8 -/* 0B418C 7F07F65C 8FB9003C */ lw $t9, 0x3c($sp) -/* 0B4190 7F07F660 1320000C */ beqz $t9, .L7F07F694 -/* 0B4194 7F07F664 00000000 */ nop -/* 0B4198 7F07F668 0FC17674 */ jal get_item_in_hand -/* 0B419C 7F07F66C 00002025 */ move $a0, $zero -/* 0B41A0 7F07F670 AFA20018 */ sw $v0, 0x18($sp) -/* 0B41A4 7F07F674 0FC17691 */ jal return_ammo_in_hand -/* 0B41A8 7F07F678 00002025 */ move $a0, $zero -/* 0B41AC 7F07F67C 8FA80018 */ lw $t0, 0x18($sp) -/* 0B41B0 7F07F680 1048000D */ beq $v0, $t0, .L7F07F6B8 -/* 0B41B4 7F07F684 00000000 */ nop -/* 0B41B8 7F07F688 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B41BC 7F07F68C 00002025 */ move $a0, $zero -/* 0B41C0 7F07F690 10400009 */ beqz $v0, .L7F07F6B8 -.L7F07F694: -/* 0B41C4 7F07F694 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B41C8 7F07F698 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0B41CC 7F07F69C 8C4A0000 */ lw $t2, ($v0) -/* 0B41D0 7F07F6A0 24090008 */ li $t1, 8 -/* 0B41D4 7F07F6A4 AD4901C8 */ sw $t1, 0x1c8($t2) -/* 0B41D8 7F07F6A8 8C4B0000 */ lw $t3, ($v0) -/* 0B41DC 7F07F6AC AD6001C0 */ sw $zero, 0x1c0($t3) -/* 0B41E0 7F07F6B0 8C4C0000 */ lw $t4, ($v0) -/* 0B41E4 7F07F6B4 AD8001C4 */ sw $zero, 0x1c4($t4) -.L7F07F6B8: -/* 0B41E8 7F07F6B8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B41EC 7F07F6BC 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B41F0 7F07F6C0 2401000B */ li $at, 11 -/* 0B41F4 7F07F6C4 24040001 */ li $a0, 1 -/* 0B41F8 7F07F6C8 8C6D01C8 */ lw $t5, 0x1c8($v1) -/* 0B41FC 7F07F6CC 15A10024 */ bne $t5, $at, .L7F07F760 -/* 0B4200 7F07F6D0 00000000 */ nop -/* 0B4204 7F07F6D4 0FC17674 */ jal get_item_in_hand -/* 0B4208 7F07F6D8 AC600200 */ sw $zero, 0x200($v1) -/* 0B420C 7F07F6DC AFA2001C */ sw $v0, 0x1c($sp) -/* 0B4210 7F07F6E0 0FC17691 */ jal return_ammo_in_hand -/* 0B4214 7F07F6E4 24040001 */ li $a0, 1 -/* 0B4218 7F07F6E8 8FAE001C */ lw $t6, 0x1c($sp) -/* 0B421C 7F07F6EC 144E001C */ bne $v0, $t6, .L7F07F760 -/* 0B4220 7F07F6F0 00000000 */ nop -/* 0B4224 7F07F6F4 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B4228 7F07F6F8 24040001 */ li $a0, 1 -/* 0B422C 7F07F6FC 10400018 */ beqz $v0, .L7F07F760 -/* 0B4230 7F07F700 8FAF003C */ lw $t7, 0x3c($sp) -/* 0B4234 7F07F704 11E0000C */ beqz $t7, .L7F07F738 -/* 0B4238 7F07F708 00000000 */ nop -/* 0B423C 7F07F70C 0FC17674 */ jal get_item_in_hand -/* 0B4240 7F07F710 00002025 */ move $a0, $zero -/* 0B4244 7F07F714 AFA20018 */ sw $v0, 0x18($sp) -/* 0B4248 7F07F718 0FC17691 */ jal return_ammo_in_hand -/* 0B424C 7F07F71C 00002025 */ move $a0, $zero -/* 0B4250 7F07F720 8FB80018 */ lw $t8, 0x18($sp) -/* 0B4254 7F07F724 1458000E */ bne $v0, $t8, .L7F07F760 -/* 0B4258 7F07F728 00000000 */ nop -/* 0B425C 7F07F72C 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B4260 7F07F730 00002025 */ move $a0, $zero -/* 0B4264 7F07F734 1040000A */ beqz $v0, .L7F07F760 -.L7F07F738: -/* 0B4268 7F07F738 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B426C 7F07F73C 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0B4270 7F07F740 24190001 */ li $t9, 1 -/* 0B4274 7F07F744 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B4278 7F07F748 AD1901C8 */ sw $t9, 0x1c8($t0) -/* 0B427C 7F07F74C 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0B4280 7F07F750 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0B4284 7F07F754 AD2001C0 */ sw $zero, 0x1c0($t1) -/* 0B4288 7F07F758 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0B428C 7F07F75C AD4001C4 */ sw $zero, 0x1c4($t2) -.L7F07F760: -/* 0B4290 7F07F760 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4294 7F07F764 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4298 7F07F768 2401000D */ li $at, 13 -/* 0B429C 7F07F76C 24040001 */ li $a0, 1 -/* 0B42A0 7F07F770 8C6B01C8 */ lw $t3, 0x1c8($v1) -/* 0B42A4 7F07F774 1561001B */ bne $t3, $at, .L7F07F7E4 -/* 0B42A8 7F07F778 00000000 */ nop -/* 0B42AC 7F07F77C 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B42B0 7F07F780 AC600200 */ sw $zero, 0x200($v1) -/* 0B42B4 7F07F784 10400017 */ beqz $v0, .L7F07F7E4 -/* 0B42B8 7F07F788 00000000 */ nop -/* 0B42BC 7F07F78C 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B42C0 7F07F790 00002025 */ move $a0, $zero -/* 0B42C4 7F07F794 10400013 */ beqz $v0, .L7F07F7E4 -/* 0B42C8 7F07F798 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B42CC 7F07F79C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0B42D0 7F07F7A0 24010005 */ li $at, 5 -/* 0B42D4 7F07F7A4 8C620C3C */ lw $v0, 0xc3c($v1) -/* 0B42D8 7F07F7A8 1041000E */ beq $v0, $at, .L7F07F7E4 -/* 0B42DC 7F07F7AC 24010006 */ li $at, 6 -/* 0B42E0 7F07F7B0 1041000C */ beq $v0, $at, .L7F07F7E4 -/* 0B42E4 7F07F7B4 24010007 */ li $at, 7 -/* 0B42E8 7F07F7B8 1041000A */ beq $v0, $at, .L7F07F7E4 -/* 0B42EC 7F07F7BC 24010008 */ li $at, 8 -/* 0B42F0 7F07F7C0 10410008 */ beq $v0, $at, .L7F07F7E4 -/* 0B42F4 7F07F7C4 240C0001 */ li $t4, 1 -/* 0B42F8 7F07F7C8 AC6C01C8 */ sw $t4, 0x1c8($v1) -/* 0B42FC 7F07F7CC 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 0B4300 7F07F7D0 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 0B4304 7F07F7D4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B4308 7F07F7D8 ADA001C0 */ sw $zero, 0x1c0($t5) -/* 0B430C 7F07F7DC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B4310 7F07F7E0 ADC001C4 */ sw $zero, 0x1c4($t6) -.L7F07F7E4: -/* 0B4314 7F07F7E4 0FC1F824 */ jal sub_GAME_7F07E090 -/* 0B4318 7F07F7E8 00000000 */ nop -/* 0B431C 7F07F7EC 0FC1FA59 */ jal sub_GAME_7F07E964 -/* 0B4320 7F07F7F0 00000000 */ nop -/* 0B4324 7F07F7F4 0FC1F98B */ jal sub_GAME_7F07E62C -/* 0B4328 7F07F7F8 00000000 */ nop -/* 0B432C 7F07F7FC 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0B4330 7F07F800 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0B4334 7F07F804 8DE201C8 */ lw $v0, 0x1c8($t7) -/* 0B4338 7F07F808 24010005 */ li $at, 5 -.L7F07F80C: -/* 0B433C 7F07F80C 54410008 */ bnel $v0, $at, .L7F07F830 -/* 0B4340 7F07F810 2401000C */ li $at, 12 -/* 0B4344 7F07F814 0FC2FEFE */ jal set_controls_locked_flag -/* 0B4348 7F07F818 24040001 */ li $a0, 1 -/* 0B434C 7F07F81C 0FC29AA0 */ jal sub_GAME_7F0A6A80 -/* 0B4350 7F07F820 00000000 */ nop -/* 0B4354 7F07F824 1000000B */ b .L7F07F854 -/* 0B4358 7F07F828 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B435C 7F07F82C 2401000C */ li $at, 12 -.L7F07F830: -/* 0B4360 7F07F830 14410005 */ bne $v0, $at, .L7F07F848 -/* 0B4364 7F07F834 00000000 */ nop -/* 0B4368 7F07F838 0FC2FEFE */ jal set_controls_locked_flag -/* 0B436C 7F07F83C 24040001 */ li $a0, 1 -/* 0B4370 7F07F840 10000004 */ b .L7F07F854 -/* 0B4374 7F07F844 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07F848: -/* 0B4378 7F07F848 0FC2FEFE */ jal set_controls_locked_flag -/* 0B437C 7F07F84C 00002025 */ move $a0, $zero -/* 0B4380 7F07F850 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07F854: -/* 0B4384 7F07F854 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0B4388 7F07F858 03E00008 */ jr $ra -/* 0B438C 7F07F85C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F07EC54 -/* 0B3DD0 7F07F260 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0B3DD4 7F07F264 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3DD8 7F07F268 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B3DDC 7F07F26C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B3DE0 7F07F270 8DC201C8 */ lw $v0, 0x1c8($t6) -/* 0B3DE4 7F07F274 504002E9 */ beql $v0, $zero, .Ljp7F07FE1C -/* 0B3DE8 7F07F278 24010005 */ li $at, 5 -/* 0B3DEC 7F07F27C 0FC177BC */ jal get_item_in_hand -/* 0B3DF0 7F07F280 00002025 */ move $a0, $zero -/* 0B3DF4 7F07F284 3843001E */ xori $v1, $v0, 0x1e -/* 0B3DF8 7F07F288 2C630001 */ sltiu $v1, $v1, 1 -/* 0B3DFC 7F07F28C 14600006 */ bnez $v1, .Ljp7F07F2A8 -/* 0B3E00 7F07F290 AFA3001C */ sw $v1, 0x1c($sp) -/* 0B3E04 7F07F294 0FC177BC */ jal get_item_in_hand -/* 0B3E08 7F07F298 00002025 */ move $a0, $zero -/* 0B3E0C 7F07F29C 384F0017 */ xori $t7, $v0, 0x17 -/* 0B3E10 7F07F2A0 2DEF0001 */ sltiu $t7, $t7, 1 -/* 0B3E14 7F07F2A4 AFAF001C */ sw $t7, 0x1c($sp) -.Ljp7F07F2A8: -/* 0B3E18 7F07F2A8 8FB8001C */ lw $t8, 0x1c($sp) -/* 0B3E1C 7F07F2AC 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B3E20 7F07F2B0 13000004 */ beqz $t8, .Ljp7F07F2C4 -/* 0B3E24 7F07F2B4 AFB8003C */ sw $t8, 0x3c($sp) -/* 0B3E28 7F07F2B8 24190023 */ li $t9, 35 -/* 0B3E2C 7F07F2BC 10000003 */ b .Ljp7F07F2CC -/* 0B3E30 7F07F2C0 AFB90038 */ sw $t9, 0x38($sp) -.Ljp7F07F2C4: -/* 0B3E34 7F07F2C4 24080011 */ li $t0, 17 -/* 0B3E38 7F07F2C8 AFA80038 */ sw $t0, 0x38($sp) -.Ljp7F07F2CC: -/* 0B3E3C 7F07F2CC 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3E40 7F07F2D0 3C0A8005 */ lui $t2, %hi(clock_timer) # $t2, 0x8005 -/* 0B3E44 7F07F2D4 8D4A83A4 */ lw $t2, %lo(clock_timer)($t2) -/* 0B3E48 7F07F2D8 8C6901C4 */ lw $t1, 0x1c4($v1) -/* 0B3E4C 7F07F2DC 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0B3E50 7F07F2E0 24010001 */ li $at, 1 -/* 0B3E54 7F07F2E4 012A5821 */ addu $t3, $t1, $t2 -/* 0B3E58 7F07F2E8 AC6B01C4 */ sw $t3, 0x1c4($v1) -/* 0B3E5C 7F07F2EC 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B3E60 7F07F2F0 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3E64 7F07F2F4 8C6C01C0 */ lw $t4, 0x1c0($v1) -/* 0B3E68 7F07F2F8 258D0001 */ addiu $t5, $t4, 1 -/* 0B3E6C 7F07F2FC AC6D01C0 */ sw $t5, 0x1c0($v1) -/* 0B3E70 7F07F300 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3E74 7F07F304 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B3E78 7F07F308 ADC00200 */ sw $zero, 0x200($t6) -/* 0B3E7C 7F07F30C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3E80 7F07F310 8C6F01C8 */ lw $t7, 0x1c8($v1) -/* 0B3E84 7F07F314 15E10038 */ bne $t7, $at, .Ljp7F07F3F8 -/* 0B3E88 7F07F318 00000000 */ nop -/* 0B3E8C 7F07F31C AC600200 */ sw $zero, 0x200($v1) -/* 0B3E90 7F07F320 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B3E94 7F07F324 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B3E98 7F07F328 24010001 */ li $at, 1 -/* 0B3E9C 7F07F32C 24040001 */ li $a0, 1 -/* 0B3EA0 7F07F330 8F0201C0 */ lw $v0, 0x1c0($t8) -/* 0B3EA4 7F07F334 54410006 */ bnel $v0, $at, .Ljp7F07F350 -/* 0B3EA8 7F07F338 24010002 */ li $at, 2 -/* 0B3EAC 7F07F33C 0FC177C8 */ jal draw_item_in_hand -/* 0B3EB0 7F07F340 24050054 */ li $a1, 84 -/* 0B3EB4 7F07F344 1000002C */ b .Ljp7F07F3F8 -/* 0B3EB8 7F07F348 00000000 */ nop -/* 0B3EBC 7F07F34C 24010002 */ li $at, 2 -.Ljp7F07F350: -/* 0B3EC0 7F07F350 14410007 */ bne $v0, $at, .Ljp7F07F370 -/* 0B3EC4 7F07F354 8FB9001C */ lw $t9, 0x1c($sp) -/* 0B3EC8 7F07F358 13200027 */ beqz $t9, .Ljp7F07F3F8 -/* 0B3ECC 7F07F35C 00002025 */ move $a0, $zero -/* 0B3ED0 7F07F360 0FC177C8 */ jal draw_item_in_hand -/* 0B3ED4 7F07F364 00002825 */ move $a1, $zero -/* 0B3ED8 7F07F368 10000023 */ b .Ljp7F07F3F8 -/* 0B3EDC 7F07F36C 00000000 */ nop -.Ljp7F07F370: -/* 0B3EE0 7F07F370 0FC177D9 */ jal return_ammo_in_hand -/* 0B3EE4 7F07F374 24040001 */ li $a0, 1 -/* 0B3EE8 7F07F378 24010054 */ li $at, 84 -/* 0B3EEC 7F07F37C 1441001E */ bne $v0, $at, .Ljp7F07F3F8 -/* 0B3EF0 7F07F380 00000000 */ nop -/* 0B3EF4 7F07F384 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B3EF8 7F07F388 24040001 */ li $a0, 1 -/* 0B3EFC 7F07F38C 1040001A */ beqz $v0, .Ljp7F07F3F8 -/* 0B3F00 7F07F390 8FA8001C */ lw $t0, 0x1c($sp) -/* 0B3F04 7F07F394 11000008 */ beqz $t0, .Ljp7F07F3B8 -/* 0B3F08 7F07F398 00000000 */ nop -/* 0B3F0C 7F07F39C 0FC177D9 */ jal return_ammo_in_hand -/* 0B3F10 7F07F3A0 00002025 */ move $a0, $zero -/* 0B3F14 7F07F3A4 14400014 */ bnez $v0, .Ljp7F07F3F8 -/* 0B3F18 7F07F3A8 00000000 */ nop -/* 0B3F1C 7F07F3AC 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B3F20 7F07F3B0 00002025 */ move $a0, $zero -/* 0B3F24 7F07F3B4 10400010 */ beqz $v0, .Ljp7F07F3F8 -.Ljp7F07F3B8: -/* 0B3F28 7F07F3B8 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B3F2C 7F07F3BC 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3F30 7F07F3C0 8FAA0038 */ lw $t2, 0x38($sp) -/* 0B3F34 7F07F3C4 240B0002 */ li $t3, 2 -/* 0B3F38 7F07F3C8 8C6901C4 */ lw $t1, 0x1c4($v1) -/* 0B3F3C 7F07F3CC 3C0D8008 */ lui $t5, %hi(pPlayer) # $t5, 0x8008 -/* 0B3F40 7F07F3D0 012A082A */ slt $at, $t1, $t2 -/* 0B3F44 7F07F3D4 14200008 */ bnez $at, .Ljp7F07F3F8 -/* 0B3F48 7F07F3D8 00000000 */ nop -/* 0B3F4C 7F07F3DC AC6B01C8 */ sw $t3, 0x1c8($v1) -/* 0B3F50 7F07F3E0 8DADA120 */ lw $t5, %lo(pPlayer)($t5) -/* 0B3F54 7F07F3E4 240C0001 */ li $t4, 1 -/* 0B3F58 7F07F3E8 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0B3F5C 7F07F3EC ADAC01C0 */ sw $t4, 0x1c0($t5) -/* 0B3F60 7F07F3F0 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0B3F64 7F07F3F4 ADC001C4 */ sw $zero, 0x1c4($t6) -.Ljp7F07F3F8: -/* 0B3F68 7F07F3F8 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B3F6C 7F07F3FC 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3F70 7F07F400 24010002 */ li $at, 2 -/* 0B3F74 7F07F404 8C6F01C8 */ lw $t7, 0x1c8($v1) -/* 0B3F78 7F07F408 55E10043 */ bnel $t7, $at, .Ljp7F07F518 -/* 0B3F7C 7F07F40C 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B3F80 7F07F410 AC600200 */ sw $zero, 0x200($v1) -/* 0B3F84 7F07F414 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B3F88 7F07F418 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3F8C 7F07F41C 24010001 */ li $at, 1 -/* 0B3F90 7F07F420 24040008 */ li $a0, 8 -/* 0B3F94 7F07F424 8C7801C0 */ lw $t8, 0x1c0($v1) -/* 0B3F98 7F07F428 57010026 */ bnel $t8, $at, .Ljp7F07F4C4 -/* 0B3F9C 7F07F42C C4640214 */ lwc1 $f4, 0x214($v1) -/* 0B3FA0 7F07F430 0FC1AAE5 */ jal set_unset_bitflags -/* 0B3FA4 7F07F434 00002825 */ move $a1, $zero -/* 0B3FA8 7F07F438 24040004 */ li $a0, 4 -/* 0B3FAC 7F07F43C 0FC1A5B8 */ jal set_unset_ammo_on_screen_setting -/* 0B3FB0 7F07F440 00002825 */ move $a1, $zero -/* 0B3FB4 7F07F444 0FC22AAD */ jal set_flags_in_BONDdata_stationary_intro_cam -/* 0B3FB8 7F07F448 24040001 */ li $a0, 1 -/* 0B3FBC 7F07F44C 0FC22C48 */ jal sub_GAME_7F08A944 -/* 0B3FC0 7F07F450 24040001 */ li $a0, 1 -/* 0B3FC4 7F07F454 24040004 */ li $a0, 4 -/* 0B3FC8 7F07F458 0FC15997 */ jal set_unset_clock_lock_bits -/* 0B3FCC 7F07F45C 00002825 */ move $a1, $zero -/* 0B3FD0 7F07F460 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B3FD4 7F07F464 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B3FD8 7F07F468 24010002 */ li $at, 2 -/* 0B3FDC 7F07F46C 8C640218 */ lw $a0, 0x218($v1) -/* 0B3FE0 7F07F470 10800005 */ beqz $a0, .Ljp7F07F488 -/* 0B3FE4 7F07F474 00000000 */ nop -/* 0B3FE8 7F07F478 10810003 */ beq $a0, $at, .Ljp7F07F488 -/* 0B3FEC 7F07F47C 24010003 */ li $at, 3 -/* 0B3FF0 7F07F480 54810010 */ bnel $a0, $at, .Ljp7F07F4C4 -/* 0B3FF4 7F07F484 C4640214 */ lwc1 $f4, 0x214($v1) -.Ljp7F07F488: -/* 0B3FF8 7F07F488 0FC1F953 */ jal sub_GAME_7F07DF28 -/* 0B3FFC 7F07F48C 24040001 */ li $a0, 1 -/* 0B4000 7F07F490 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B4004 7F07F494 44811000 */ mtc1 $at, $f2 -/* 0B4008 7F07F498 46000306 */ mov.s $f12, $f0 -/* 0B400C 7F07F49C 4602003C */ c.lt.s $f0, $f2 -/* 0B4010 7F07F4A0 00000000 */ nop -/* 0B4014 7F07F4A4 45000002 */ bc1f .Ljp7F07F4B0 -/* 0B4018 7F07F4A8 00000000 */ nop -/* 0B401C 7F07F4AC 46001306 */ mov.s $f12, $f2 -.Ljp7F07F4B0: -/* 0B4020 7F07F4B0 0FC1F98D */ jal sub_GAME_7F07E010 -/* 0B4024 7F07F4B4 00000000 */ nop -/* 0B4028 7F07F4B8 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B402C 7F07F4BC 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4030 7F07F4C0 C4640214 */ lwc1 $f4, 0x214($v1) -.Ljp7F07F4C4: -/* 0B4034 7F07F4C4 C4660210 */ lwc1 $f6, 0x210($v1) -/* 0B4038 7F07F4C8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B403C 7F07F4CC 44815000 */ mtc1 $at, $f10 -/* 0B4040 7F07F4D0 46062201 */ sub.s $f8, $f4, $f6 -/* 0B4044 7F07F4D4 24190003 */ li $t9, 3 -/* 0B4048 7F07F4D8 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B404C 7F07F4DC 460A403C */ c.lt.s $f8, $f10 -/* 0B4050 7F07F4E0 00000000 */ nop -/* 0B4054 7F07F4E4 4502000C */ bc1fl .Ljp7F07F518 -/* 0B4058 7F07F4E8 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B405C 7F07F4EC AC7901C8 */ sw $t9, 0x1c8($v1) -/* 0B4060 7F07F4F0 8D29A120 */ lw $t1, %lo(pPlayer)($t1) -/* 0B4064 7F07F4F4 24080001 */ li $t0, 1 -/* 0B4068 7F07F4F8 3C0A8008 */ lui $t2, %hi(pPlayer) # $t2, 0x8008 -/* 0B406C 7F07F4FC AD2801C0 */ sw $t0, 0x1c0($t1) -/* 0B4070 7F07F500 8D4AA120 */ lw $t2, %lo(pPlayer)($t2) -/* 0B4074 7F07F504 0FC1FB76 */ jal sub_GAME_7F07E7CC -/* 0B4078 7F07F508 AD4001C4 */ sw $zero, 0x1c4($t2) -/* 0B407C 7F07F50C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B4080 7F07F510 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4084 7F07F514 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F518: -/* 0B4088 7F07F518 24010003 */ li $at, 3 -/* 0B408C 7F07F51C 54410059 */ bnel $v0, $at, .Ljp7F07F684 -/* 0B4090 7F07F520 24010004 */ li $at, 4 -/* 0B4094 7F07F524 8C6B01C0 */ lw $t3, 0x1c0($v1) -/* 0B4098 7F07F528 24010001 */ li $at, 1 -/* 0B409C 7F07F52C 55610036 */ bnel $t3, $at, .Ljp7F07F608 -/* 0B40A0 7F07F530 8C620220 */ lw $v0, 0x220($v1) -/* 0B40A4 7F07F534 8C620220 */ lw $v0, 0x220($v1) -/* 0B40A8 7F07F538 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B40AC 7F07F53C 44817000 */ mtc1 $at, $f14 -/* 0B40B0 7F07F540 1040000D */ beqz $v0, .Ljp7F07F578 -/* 0B40B4 7F07F544 8C640218 */ lw $a0, 0x218($v1) -/* 0B40B8 7F07F548 24010003 */ li $at, 3 -/* 0B40BC 7F07F54C 1041000A */ beq $v0, $at, .Ljp7F07F578 -/* 0B40C0 7F07F550 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B40C4 7F07F554 44818000 */ mtc1 $at, $f16 -/* 0B40C8 7F07F558 C4720258 */ lwc1 $f18, 0x258($v1) -/* 0B40CC 7F07F55C 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B40D0 7F07F560 44813000 */ mtc1 $at, $f6 -/* 0B40D4 7F07F564 46128101 */ sub.s $f4, $f16, $f18 -/* 0B40D8 7F07F568 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B40DC 7F07F56C 44815000 */ mtc1 $at, $f10 -/* 0B40E0 7F07F570 46062202 */ mul.s $f8, $f4, $f6 -/* 0B40E4 7F07F574 460A4383 */ div.s $f14, $f8, $f10 -.Ljp7F07F578: -/* 0B40E8 7F07F578 10800004 */ beqz $a0, .Ljp7F07F58C -/* 0B40EC 7F07F57C 24010002 */ li $at, 2 -/* 0B40F0 7F07F580 10810002 */ beq $a0, $at, .Ljp7F07F58C -/* 0B40F4 7F07F584 24010003 */ li $at, 3 -/* 0B40F8 7F07F588 1481001A */ bne $a0, $at, .Ljp7F07F5F4 -.Ljp7F07F58C: -/* 0B40FC 7F07F58C 24040001 */ li $a0, 1 -/* 0B4100 7F07F590 0FC1F953 */ jal sub_GAME_7F07DF28 -/* 0B4104 7F07F594 E7AE0030 */ swc1 $f14, 0x30($sp) -/* 0B4108 7F07F598 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B410C 7F07F59C C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 0B4110 7F07F5A0 44818000 */ mtc1 $at, $f16 -/* 0B4114 7F07F5A4 46000306 */ mov.s $f12, $f0 -/* 0B4118 7F07F5A8 46107081 */ sub.s $f2, $f14, $f16 -/* 0B411C 7F07F5AC 4602003C */ c.lt.s $f0, $f2 -/* 0B4120 7F07F5B0 00000000 */ nop -/* 0B4124 7F07F5B4 45020003 */ bc1fl .Ljp7F07F5C4 -/* 0B4128 7F07F5B8 E7AC002C */ swc1 $f12, 0x2c($sp) -/* 0B412C 7F07F5BC 46001306 */ mov.s $f12, $f2 -/* 0B4130 7F07F5C0 E7AC002C */ swc1 $f12, 0x2c($sp) -.Ljp7F07F5C4: -/* 0B4134 7F07F5C4 0FC1F98D */ jal sub_GAME_7F07E010 -/* 0B4138 7F07F5C8 E7AE0030 */ swc1 $f14, 0x30($sp) -/* 0B413C 7F07F5CC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B4140 7F07F5D0 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 0B4144 7F07F5D4 44819000 */ mtc1 $at, $f18 -/* 0B4148 7F07F5D8 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 0B414C 7F07F5DC 46126000 */ add.s $f0, $f12, $f18 -/* 0B4150 7F07F5E0 4600703C */ c.lt.s $f14, $f0 -/* 0B4154 7F07F5E4 00000000 */ nop -/* 0B4158 7F07F5E8 45000002 */ bc1f .Ljp7F07F5F4 -/* 0B415C 7F07F5EC 00000000 */ nop -/* 0B4160 7F07F5F0 46000386 */ mov.s $f14, $f0 -.Ljp7F07F5F4: -/* 0B4164 7F07F5F4 0FC1FBAF */ jal sub_GAME_7F07E8B0 -/* 0B4168 7F07F5F8 46007306 */ mov.s $f12, $f14 -/* 0B416C 7F07F5FC 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B4170 7F07F600 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4174 7F07F604 8C620220 */ lw $v0, 0x220($v1) -.Ljp7F07F608: -/* 0B4178 7F07F608 24010003 */ li $at, 3 -/* 0B417C 7F07F60C 10400003 */ beqz $v0, .Ljp7F07F61C -/* 0B4180 7F07F610 00000000 */ nop -/* 0B4184 7F07F614 54410008 */ bnel $v0, $at, .Ljp7F07F638 -/* 0B4188 7F07F618 240C0001 */ li $t4, 1 -.Ljp7F07F61C: -/* 0B418C 7F07F61C 0FC1F9A3 */ jal sub_GAME_7F07E068 -/* 0B4190 7F07F620 00000000 */ nop -/* 0B4194 7F07F624 10400009 */ beqz $v0, .Ljp7F07F64C -/* 0B4198 7F07F628 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0B419C 7F07F62C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B41A0 7F07F630 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B41A4 7F07F634 240C0001 */ li $t4, 1 -.Ljp7F07F638: -/* 0B41A8 7F07F638 AC6C0200 */ sw $t4, 0x200($v1) -/* 0B41AC 7F07F63C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B41B0 7F07F640 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B41B4 7F07F644 1000000E */ b .Ljp7F07F680 -/* 0B41B8 7F07F648 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F64C: -/* 0B41BC 7F07F64C 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0B41C0 7F07F650 240D0004 */ li $t5, 4 -/* 0B41C4 7F07F654 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B41C8 7F07F658 ADCD01C8 */ sw $t5, 0x1c8($t6) -/* 0B41CC 7F07F65C 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B41D0 7F07F660 240F0001 */ li $t7, 1 -/* 0B41D4 7F07F664 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 0B41D8 7F07F668 AF0F01C0 */ sw $t7, 0x1c0($t8) -/* 0B41DC 7F07F66C 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 0B41E0 7F07F670 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B41E4 7F07F674 AF2001C4 */ sw $zero, 0x1c4($t9) -/* 0B41E8 7F07F678 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B41EC 7F07F67C 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F680: -/* 0B41F0 7F07F680 24010004 */ li $at, 4 -.Ljp7F07F684: -/* 0B41F4 7F07F684 5441002F */ bnel $v0, $at, .Ljp7F07F744 -/* 0B41F8 7F07F688 24010005 */ li $at, 5 -/* 0B41FC 7F07F68C 8C6801C0 */ lw $t0, 0x1c0($v1) -/* 0B4200 7F07F690 24010001 */ li $at, 1 -/* 0B4204 7F07F694 1501000B */ bne $t0, $at, .Ljp7F07F6C4 -/* 0B4208 7F07F698 00000000 */ nop -/* 0B420C 7F07F69C 8C69021C */ lw $t1, 0x21c($v1) -/* 0B4210 7F07F6A0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0B4214 7F07F6A4 240500ED */ li $a1, 237 -/* 0B4218 7F07F6A8 11200006 */ beqz $t1, .Ljp7F07F6C4 -/* 0B421C 7F07F6AC 00003025 */ move $a2, $zero -/* 0B4220 7F07F6B0 0C002386 */ jal play_sfx_a1 -/* 0B4224 7F07F6B4 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0B4228 7F07F6B8 3C0A8008 */ lui $t2, %hi(pPlayer) # $t2, 0x8008 -/* 0B422C 7F07F6BC 8D4AA120 */ lw $t2, %lo(pPlayer)($t2) -/* 0B4230 7F07F6C0 AD40021C */ sw $zero, 0x21c($t2) -.Ljp7F07F6C4: -/* 0B4234 7F07F6C4 0FC1FAD4 */ jal zoom_to_watch_on_open -/* 0B4238 7F07F6C8 00000000 */ nop -/* 0B423C 7F07F6CC 0FC1FB08 */ jal check_watch_page_transistion_running -/* 0B4240 7F07F6D0 00000000 */ nop -/* 0B4244 7F07F6D4 10400009 */ beqz $v0, .Ljp7F07F6FC -/* 0B4248 7F07F6D8 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0B424C 7F07F6DC 3C0C8008 */ lui $t4, %hi(pPlayer) # $t4, 0x8008 -/* 0B4250 7F07F6E0 8D8CA120 */ lw $t4, %lo(pPlayer)($t4) -/* 0B4254 7F07F6E4 240B0001 */ li $t3, 1 -/* 0B4258 7F07F6E8 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B425C 7F07F6EC AD8B0200 */ sw $t3, 0x200($t4) -/* 0B4260 7F07F6F0 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4264 7F07F6F4 10000012 */ b .Ljp7F07F740 -/* 0B4268 7F07F6F8 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F6FC: -/* 0B426C 7F07F6FC 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0B4270 7F07F700 240D0005 */ li $t5, 5 -/* 0B4274 7F07F704 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B4278 7F07F708 ADCD01C8 */ sw $t5, 0x1c8($t6) -/* 0B427C 7F07F70C 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B4280 7F07F710 240F0001 */ li $t7, 1 -/* 0B4284 7F07F714 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 0B4288 7F07F718 AF0F01C0 */ sw $t7, 0x1c0($t8) -/* 0B428C 7F07F71C 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 0B4290 7F07F720 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0B4294 7F07F724 24080001 */ li $t0, 1 -/* 0B4298 7F07F728 AF2001C4 */ sw $zero, 0x1c4($t9) -/* 0B429C 7F07F72C 8D29A120 */ lw $t1, %lo(pPlayer)($t1) -/* 0B42A0 7F07F730 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B42A4 7F07F734 AD28021C */ sw $t0, 0x21c($t1) -/* 0B42A8 7F07F738 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B42AC 7F07F73C 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F740: -/* 0B42B0 7F07F740 24010005 */ li $at, 5 -.Ljp7F07F744: -/* 0B42B4 7F07F744 5441000F */ bnel $v0, $at, .Ljp7F07F784 -/* 0B42B8 7F07F748 2401000C */ li $at, 12 -/* 0B42BC 7F07F74C 8C6A01C0 */ lw $t2, 0x1c0($v1) -/* 0B42C0 7F07F750 24010001 */ li $at, 1 -/* 0B42C4 7F07F754 55410006 */ bnel $t2, $at, .Ljp7F07F770 -/* 0B42C8 7F07F758 240B0001 */ li $t3, 1 -/* 0B42CC 7F07F75C 0FC307F0 */ jal sub_GAME_7F0C1310 -/* 0B42D0 7F07F760 00000000 */ nop -/* 0B42D4 7F07F764 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B42D8 7F07F768 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B42DC 7F07F76C 240B0001 */ li $t3, 1 -.Ljp7F07F770: -/* 0B42E0 7F07F770 AC6B0200 */ sw $t3, 0x200($v1) -/* 0B42E4 7F07F774 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B42E8 7F07F778 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B42EC 7F07F77C 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B42F0 7F07F780 2401000C */ li $at, 12 -.Ljp7F07F784: -/* 0B42F4 7F07F784 14410018 */ bne $v0, $at, .Ljp7F07F7E8 -/* 0B42F8 7F07F788 240C0001 */ li $t4, 1 -/* 0B42FC 7F07F78C AC6C0200 */ sw $t4, 0x200($v1) -/* 0B4300 7F07F790 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B4304 7F07F794 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4308 7F07F798 240E0006 */ li $t6, 6 -/* 0B430C 7F07F79C 240F0001 */ li $t7, 1 -/* 0B4310 7F07F7A0 8C6D01C0 */ lw $t5, 0x1c0($v1) -/* 0B4314 7F07F7A4 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B4318 7F07F7A8 29A10003 */ slti $at, $t5, 3 -/* 0B431C 7F07F7AC 5420000F */ bnezl $at, .Ljp7F07F7EC -/* 0B4320 7F07F7B0 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B4324 7F07F7B4 AC6E01C8 */ sw $t6, 0x1c8($v1) -/* 0B4328 7F07F7B8 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B432C 7F07F7BC 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 0B4330 7F07F7C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0B4334 7F07F7C4 AF0F01C0 */ sw $t7, 0x1c0($t8) -/* 0B4338 7F07F7C8 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 0B433C 7F07F7CC 240500EE */ li $a1, 238 -/* 0B4340 7F07F7D0 00003025 */ move $a2, $zero -/* 0B4344 7F07F7D4 AF2001C4 */ sw $zero, 0x1c4($t9) -/* 0B4348 7F07F7D8 0C002386 */ jal play_sfx_a1 -/* 0B434C 7F07F7DC 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0B4350 7F07F7E0 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B4354 7F07F7E4 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -.Ljp7F07F7E8: -/* 0B4358 7F07F7E8 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F7EC: -/* 0B435C 7F07F7EC 24010006 */ li $at, 6 -/* 0B4360 7F07F7F0 5441002F */ bnel $v0, $at, .Ljp7F07F8B0 -/* 0B4364 7F07F7F4 24010007 */ li $at, 7 -/* 0B4368 7F07F7F8 8C6801C0 */ lw $t0, 0x1c0($v1) -/* 0B436C 7F07F7FC 24010001 */ li $at, 1 -/* 0B4370 7F07F800 1501000D */ bne $t0, $at, .Ljp7F07F838 -/* 0B4374 7F07F804 00000000 */ nop -/* 0B4378 7F07F808 0FC1FAEE */ jal zoom_from_watch_on_exit -/* 0B437C 7F07F80C 00000000 */ nop -/* 0B4380 7F07F810 8FA9001C */ lw $t1, 0x1c($sp) -/* 0B4384 7F07F814 00002025 */ move $a0, $zero -/* 0B4388 7F07F818 11200005 */ beqz $t1, .Ljp7F07F830 -/* 0B438C 7F07F81C 00000000 */ nop -/* 0B4390 7F07F820 0FC177C8 */ jal draw_item_in_hand -/* 0B4394 7F07F824 00002825 */ move $a1, $zero -/* 0B4398 7F07F828 10000003 */ b .Ljp7F07F838 -/* 0B439C 7F07F82C 00000000 */ nop -.Ljp7F07F830: -/* 0B43A0 7F07F830 0FC17801 */ jal sub_GAME_7F05DAE4 -/* 0B43A4 7F07F834 00002025 */ move $a0, $zero -.Ljp7F07F838: -/* 0B43A8 7F07F838 0FC1FB08 */ jal check_watch_page_transistion_running -/* 0B43AC 7F07F83C 00000000 */ nop -/* 0B43B0 7F07F840 10400009 */ beqz $v0, .Ljp7F07F868 -/* 0B43B4 7F07F844 3C0D8008 */ lui $t5, %hi(pPlayer) # $t5, 0x8008 -/* 0B43B8 7F07F848 3C0B8008 */ lui $t3, %hi(pPlayer) # $t3, 0x8008 -/* 0B43BC 7F07F84C 8D6BA120 */ lw $t3, %lo(pPlayer)($t3) -/* 0B43C0 7F07F850 240A0001 */ li $t2, 1 -/* 0B43C4 7F07F854 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B43C8 7F07F858 AD6A0200 */ sw $t2, 0x200($t3) -/* 0B43CC 7F07F85C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B43D0 7F07F860 10000012 */ b .Ljp7F07F8AC -/* 0B43D4 7F07F864 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F868: -/* 0B43D8 7F07F868 8DADA120 */ lw $t5, %lo(pPlayer)($t5) -/* 0B43DC 7F07F86C 240C0007 */ li $t4, 7 -/* 0B43E0 7F07F870 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 0B43E4 7F07F874 ADAC01C8 */ sw $t4, 0x1c8($t5) -/* 0B43E8 7F07F878 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 0B43EC 7F07F87C 240E0001 */ li $t6, 1 -/* 0B43F0 7F07F880 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B43F4 7F07F884 ADEE01C0 */ sw $t6, 0x1c0($t7) -/* 0B43F8 7F07F888 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B43FC 7F07F88C 3C088008 */ lui $t0, %hi(pPlayer) # $t0, 0x8008 -/* 0B4400 7F07F890 24190001 */ li $t9, 1 -/* 0B4404 7F07F894 AF0001C4 */ sw $zero, 0x1c4($t8) -/* 0B4408 7F07F898 8D08A120 */ lw $t0, %lo(pPlayer)($t0) -/* 0B440C 7F07F89C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B4410 7F07F8A0 AD19021C */ sw $t9, 0x21c($t0) -/* 0B4414 7F07F8A4 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4418 7F07F8A8 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F8AC: -/* 0B441C 7F07F8AC 24010007 */ li $at, 7 -.Ljp7F07F8B0: -/* 0B4420 7F07F8B0 5441003F */ bnel $v0, $at, .Ljp7F07F9B0 -/* 0B4424 7F07F8B4 24010008 */ li $at, 8 -/* 0B4428 7F07F8B8 8C6901C0 */ lw $t1, 0x1c0($v1) -/* 0B442C 7F07F8BC 24010001 */ li $at, 1 -/* 0B4430 7F07F8C0 15210024 */ bne $t1, $at, .Ljp7F07F954 -/* 0B4434 7F07F8C4 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B4438 7F07F8C8 44817000 */ mtc1 $at, $f14 -/* 0B443C 7F07F8CC 00002025 */ move $a0, $zero -/* 0B4440 7F07F8D0 0FC1F953 */ jal sub_GAME_7F07DF28 -/* 0B4444 7F07F8D4 E7AE0028 */ swc1 $f14, 0x28($sp) -/* 0B4448 7F07F8D8 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B444C 7F07F8DC 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4450 7F07F8E0 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 0B4454 7F07F8E4 46000306 */ mov.s $f12, $f0 -/* 0B4458 7F07F8E8 8C620220 */ lw $v0, 0x220($v1) -/* 0B445C 7F07F8EC 24010003 */ li $at, 3 -/* 0B4460 7F07F8F0 5040000A */ beql $v0, $zero, .Ljp7F07F91C -/* 0B4464 7F07F8F4 3C0141A0 */ lui $at, 0x41a0 -/* 0B4468 7F07F8F8 10410007 */ beq $v0, $at, .Ljp7F07F918 -/* 0B446C 7F07F8FC 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0B4470 7F07F900 44813000 */ mtc1 $at, $f6 -/* 0B4474 7F07F904 C4640258 */ lwc1 $f4, 0x258($v1) -/* 0B4478 7F07F908 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0B447C 7F07F90C 44815000 */ mtc1 $at, $f10 -/* 0B4480 7F07F910 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4484 7F07F914 460A4383 */ div.s $f14, $f8, $f10 -.Ljp7F07F918: -/* 0B4488 7F07F918 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -.Ljp7F07F91C: -/* 0B448C 7F07F91C 44818000 */ mtc1 $at, $f16 -/* 0B4490 7F07F920 00000000 */ nop -/* 0B4494 7F07F924 46107080 */ add.s $f2, $f14, $f16 -/* 0B4498 7F07F928 4602003C */ c.lt.s $f0, $f2 -/* 0B449C 7F07F92C 00000000 */ nop -/* 0B44A0 7F07F930 45000002 */ bc1f .Ljp7F07F93C -/* 0B44A4 7F07F934 00000000 */ nop -/* 0B44A8 7F07F938 46001306 */ mov.s $f12, $f2 -.Ljp7F07F93C: -/* 0B44AC 7F07F93C 0FC1F998 */ jal sub_GAME_7F07E03C -/* 0B44B0 7F07F940 E7AE0028 */ swc1 $f14, 0x28($sp) -/* 0B44B4 7F07F944 0FC1FBC7 */ jal sub_GAME_7F07E910 -/* 0B44B8 7F07F948 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 0B44BC 7F07F94C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B44C0 7F07F950 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -.Ljp7F07F954: -/* 0B44C4 7F07F954 8C620220 */ lw $v0, 0x220($v1) -/* 0B44C8 7F07F958 24010003 */ li $at, 3 -/* 0B44CC 7F07F95C 240B0008 */ li $t3, 8 -/* 0B44D0 7F07F960 10400008 */ beqz $v0, .Ljp7F07F984 -/* 0B44D4 7F07F964 3C0D8008 */ lui $t5, %hi(pPlayer) # $t5, 0x8008 -/* 0B44D8 7F07F968 10410006 */ beq $v0, $at, .Ljp7F07F984 -/* 0B44DC 7F07F96C 240A0001 */ li $t2, 1 -/* 0B44E0 7F07F970 AC6A0200 */ sw $t2, 0x200($v1) -/* 0B44E4 7F07F974 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B44E8 7F07F978 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B44EC 7F07F97C 1000000B */ b .Ljp7F07F9AC -/* 0B44F0 7F07F980 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F984: -/* 0B44F4 7F07F984 AC6B01C8 */ sw $t3, 0x1c8($v1) -/* 0B44F8 7F07F988 8DADA120 */ lw $t5, %lo(pPlayer)($t5) -/* 0B44FC 7F07F98C 240C0001 */ li $t4, 1 -/* 0B4500 7F07F990 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0B4504 7F07F994 ADAC01C0 */ sw $t4, 0x1c0($t5) -/* 0B4508 7F07F998 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0B450C 7F07F99C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B4510 7F07F9A0 ADC001C4 */ sw $zero, 0x1c4($t6) -/* 0B4514 7F07F9A4 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4518 7F07F9A8 8C6201C8 */ lw $v0, 0x1c8($v1) -.Ljp7F07F9AC: -/* 0B451C 7F07F9AC 24010008 */ li $at, 8 -.Ljp7F07F9B0: -/* 0B4520 7F07F9B0 14410069 */ bne $v0, $at, .Ljp7F07FB58 -/* 0B4524 7F07F9B4 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 0B4528 7F07F9B8 AC600200 */ sw $zero, 0x200($v1) -/* 0B452C 7F07F9BC 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 0B4530 7F07F9C0 24010001 */ li $at, 1 -/* 0B4534 7F07F9C4 8DF801C0 */ lw $t8, 0x1c0($t7) -/* 0B4538 7F07F9C8 17010028 */ bne $t8, $at, .Ljp7F07FA6C -/* 0B453C 7F07F9CC 00000000 */ nop -/* 0B4540 7F07F9D0 0FC177D9 */ jal return_ammo_in_hand -/* 0B4544 7F07F9D4 24040001 */ li $a0, 1 -/* 0B4548 7F07F9D8 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B454C 7F07F9DC 0FC177BC */ jal get_item_in_hand -/* 0B4550 7F07F9E0 24040001 */ li $a0, 1 -/* 0B4554 7F07F9E4 8FB9001C */ lw $t9, 0x1c($sp) -/* 0B4558 7F07F9E8 5059000B */ beql $v0, $t9, .Ljp7F07FA18 -/* 0B455C 7F07F9EC 8FA8003C */ lw $t0, 0x3c($sp) -/* 0B4560 7F07F9F0 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B4564 7F07F9F4 24040001 */ li $a0, 1 -/* 0B4568 7F07F9F8 50400007 */ beql $v0, $zero, .Ljp7F07FA18 -/* 0B456C 7F07F9FC 8FA8003C */ lw $t0, 0x3c($sp) -/* 0B4570 7F07FA00 0FC177BC */ jal get_item_in_hand -/* 0B4574 7F07FA04 24040001 */ li $a0, 1 -/* 0B4578 7F07FA08 24040001 */ li $a0, 1 -/* 0B457C 7F07FA0C 0FC177C8 */ jal draw_item_in_hand -/* 0B4580 7F07FA10 00402825 */ move $a1, $v0 -/* 0B4584 7F07FA14 8FA8003C */ lw $t0, 0x3c($sp) -.Ljp7F07FA18: -/* 0B4588 7F07FA18 1100004F */ beqz $t0, .Ljp7F07FB58 -/* 0B458C 7F07FA1C 00000000 */ nop -/* 0B4590 7F07FA20 0FC177D9 */ jal return_ammo_in_hand -/* 0B4594 7F07FA24 00002025 */ move $a0, $zero -/* 0B4598 7F07FA28 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B459C 7F07FA2C 0FC177BC */ jal get_item_in_hand -/* 0B45A0 7F07FA30 00002025 */ move $a0, $zero -/* 0B45A4 7F07FA34 8FA9001C */ lw $t1, 0x1c($sp) -/* 0B45A8 7F07FA38 10490047 */ beq $v0, $t1, .Ljp7F07FB58 -/* 0B45AC 7F07FA3C 00000000 */ nop -/* 0B45B0 7F07FA40 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B45B4 7F07FA44 00002025 */ move $a0, $zero -/* 0B45B8 7F07FA48 10400043 */ beqz $v0, .Ljp7F07FB58 -/* 0B45BC 7F07FA4C 00000000 */ nop -/* 0B45C0 7F07FA50 0FC177BC */ jal get_item_in_hand -/* 0B45C4 7F07FA54 00002025 */ move $a0, $zero -/* 0B45C8 7F07FA58 00002025 */ move $a0, $zero -/* 0B45CC 7F07FA5C 0FC177C8 */ jal draw_item_in_hand -/* 0B45D0 7F07FA60 00402825 */ move $a1, $v0 -/* 0B45D4 7F07FA64 1000003C */ b .Ljp7F07FB58 -/* 0B45D8 7F07FA68 00000000 */ nop -.Ljp7F07FA6C: -/* 0B45DC 7F07FA6C 0FC1F9A3 */ jal sub_GAME_7F07E068 -/* 0B45E0 7F07FA70 00000000 */ nop -/* 0B45E4 7F07FA74 14400038 */ bnez $v0, .Ljp7F07FB58 -/* 0B45E8 7F07FA78 00000000 */ nop -/* 0B45EC 7F07FA7C 0FC177D9 */ jal return_ammo_in_hand -/* 0B45F0 7F07FA80 24040001 */ li $a0, 1 -/* 0B45F4 7F07FA84 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B45F8 7F07FA88 0FC177BC */ jal get_item_in_hand -/* 0B45FC 7F07FA8C 24040001 */ li $a0, 1 -/* 0B4600 7F07FA90 8FAA001C */ lw $t2, 0x1c($sp) -/* 0B4604 7F07FA94 144A0030 */ bne $v0, $t2, .Ljp7F07FB58 -/* 0B4608 7F07FA98 00000000 */ nop -/* 0B460C 7F07FA9C 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B4610 7F07FAA0 24040001 */ li $a0, 1 -/* 0B4614 7F07FAA4 1040002C */ beqz $v0, .Ljp7F07FB58 -/* 0B4618 7F07FAA8 8FAB003C */ lw $t3, 0x3c($sp) -/* 0B461C 7F07FAAC 1160000D */ beqz $t3, .Ljp7F07FAE4 -/* 0B4620 7F07FAB0 00000000 */ nop -/* 0B4624 7F07FAB4 0FC177D9 */ jal return_ammo_in_hand -/* 0B4628 7F07FAB8 00002025 */ move $a0, $zero -/* 0B462C 7F07FABC AFA20018 */ sw $v0, 0x18($sp) -/* 0B4630 7F07FAC0 0FC177BC */ jal get_item_in_hand -/* 0B4634 7F07FAC4 00002025 */ move $a0, $zero -/* 0B4638 7F07FAC8 8FAC0018 */ lw $t4, 0x18($sp) -/* 0B463C 7F07FACC 144C0022 */ bne $v0, $t4, .Ljp7F07FB58 -/* 0B4640 7F07FAD0 00000000 */ nop -/* 0B4644 7F07FAD4 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B4648 7F07FAD8 00002025 */ move $a0, $zero -/* 0B464C 7F07FADC 1040001E */ beqz $v0, .Ljp7F07FB58 -/* 0B4650 7F07FAE0 00000000 */ nop -.Ljp7F07FAE4: -/* 0B4654 7F07FAE4 0FC17801 */ jal sub_GAME_7F05DAE4 -/* 0B4658 7F07FAE8 24040001 */ li $a0, 1 -/* 0B465C 7F07FAEC 8FAD003C */ lw $t5, 0x3c($sp) -/* 0B4660 7F07FAF0 51A00004 */ beql $t5, $zero, .Ljp7F07FB04 -/* 0B4664 7F07FAF4 24040008 */ li $a0, 8 -/* 0B4668 7F07FAF8 0FC17801 */ jal sub_GAME_7F05DAE4 -/* 0B466C 7F07FAFC 00002025 */ move $a0, $zero -/* 0B4670 7F07FB00 24040008 */ li $a0, 8 -.Ljp7F07FB04: -/* 0B4674 7F07FB04 0FC1AAE5 */ jal set_unset_bitflags -/* 0B4678 7F07FB08 24050001 */ li $a1, 1 -/* 0B467C 7F07FB0C 24040004 */ li $a0, 4 -/* 0B4680 7F07FB10 0FC1A5B8 */ jal set_unset_ammo_on_screen_setting -/* 0B4684 7F07FB14 24050001 */ li $a1, 1 -/* 0B4688 7F07FB18 0FC22AA6 */ jal unset_flags_in_BONDdata_stationary_intro_cam -/* 0B468C 7F07FB1C 24040001 */ li $a0, 1 -/* 0B4690 7F07FB20 0FC22C41 */ jal sub_GAME_7F08A928 -/* 0B4694 7F07FB24 24040001 */ li $a0, 1 -/* 0B4698 7F07FB28 24040004 */ li $a0, 4 -/* 0B469C 7F07FB2C 0FC15997 */ jal set_unset_clock_lock_bits -/* 0B46A0 7F07FB30 24050001 */ li $a1, 1 -/* 0B46A4 7F07FB34 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0B46A8 7F07FB38 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0B46AC 7F07FB3C 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 0B46B0 7F07FB40 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B46B4 7F07FB44 ADC001C8 */ sw $zero, 0x1c8($t6) -/* 0B46B8 7F07FB48 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 0B46BC 7F07FB4C ADE001C0 */ sw $zero, 0x1c0($t7) -/* 0B46C0 7F07FB50 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B46C4 7F07FB54 AF0001C4 */ sw $zero, 0x1c4($t8) -.Ljp7F07FB58: -/* 0B46C8 7F07FB58 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B46CC 7F07FB5C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B46D0 7F07FB60 24010009 */ li $at, 9 -/* 0B46D4 7F07FB64 24040001 */ li $a0, 1 -/* 0B46D8 7F07FB68 8C7901C8 */ lw $t9, 0x1c8($v1) -/* 0B46DC 7F07FB6C 17210023 */ bne $t9, $at, .Ljp7F07FBFC -/* 0B46E0 7F07FB70 00000000 */ nop -/* 0B46E4 7F07FB74 0FC177BC */ jal get_item_in_hand -/* 0B46E8 7F07FB78 AC600200 */ sw $zero, 0x200($v1) -/* 0B46EC 7F07FB7C AFA2001C */ sw $v0, 0x1c($sp) -/* 0B46F0 7F07FB80 0FC177D9 */ jal return_ammo_in_hand -/* 0B46F4 7F07FB84 24040001 */ li $a0, 1 -/* 0B46F8 7F07FB88 8FA8001C */ lw $t0, 0x1c($sp) -/* 0B46FC 7F07FB8C 1048001B */ beq $v0, $t0, .Ljp7F07FBFC -/* 0B4700 7F07FB90 00000000 */ nop -/* 0B4704 7F07FB94 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B4708 7F07FB98 24040001 */ li $a0, 1 -/* 0B470C 7F07FB9C 10400017 */ beqz $v0, .Ljp7F07FBFC -/* 0B4710 7F07FBA0 8FA9003C */ lw $t1, 0x3c($sp) -/* 0B4714 7F07FBA4 1120000C */ beqz $t1, .Ljp7F07FBD8 -/* 0B4718 7F07FBA8 00000000 */ nop -/* 0B471C 7F07FBAC 0FC177BC */ jal get_item_in_hand -/* 0B4720 7F07FBB0 00002025 */ move $a0, $zero -/* 0B4724 7F07FBB4 AFA20018 */ sw $v0, 0x18($sp) -/* 0B4728 7F07FBB8 0FC177D9 */ jal return_ammo_in_hand -/* 0B472C 7F07FBBC 00002025 */ move $a0, $zero -/* 0B4730 7F07FBC0 8FAA0018 */ lw $t2, 0x18($sp) -/* 0B4734 7F07FBC4 104A000D */ beq $v0, $t2, .Ljp7F07FBFC -/* 0B4738 7F07FBC8 00000000 */ nop -/* 0B473C 7F07FBCC 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B4740 7F07FBD0 00002025 */ move $a0, $zero -/* 0B4744 7F07FBD4 10400009 */ beqz $v0, .Ljp7F07FBFC -.Ljp7F07FBD8: -/* 0B4748 7F07FBD8 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B474C 7F07FBDC 2442A120 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5ee0 -/* 0B4750 7F07FBE0 8C4C0000 */ lw $t4, ($v0) -/* 0B4754 7F07FBE4 240B0008 */ li $t3, 8 -/* 0B4758 7F07FBE8 AD8B01C8 */ sw $t3, 0x1c8($t4) -/* 0B475C 7F07FBEC 8C4D0000 */ lw $t5, ($v0) -/* 0B4760 7F07FBF0 ADA001C0 */ sw $zero, 0x1c0($t5) -/* 0B4764 7F07FBF4 8C4E0000 */ lw $t6, ($v0) -/* 0B4768 7F07FBF8 ADC001C4 */ sw $zero, 0x1c4($t6) -.Ljp7F07FBFC: -/* 0B476C 7F07FBFC 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B4770 7F07FC00 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4774 7F07FC04 2401000A */ li $at, 10 -/* 0B4778 7F07FC08 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B477C 7F07FC0C 8C6F01C8 */ lw $t7, 0x1c8($v1) -/* 0B4780 7F07FC10 15E1002D */ bne $t7, $at, .Ljp7F07FCC8 -/* 0B4784 7F07FC14 00000000 */ nop -/* 0B4788 7F07FC18 AC600200 */ sw $zero, 0x200($v1) -/* 0B478C 7F07FC1C 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B4790 7F07FC20 24010001 */ li $at, 1 -/* 0B4794 7F07FC24 8F1901C0 */ lw $t9, 0x1c0($t8) -/* 0B4798 7F07FC28 17210005 */ bne $t9, $at, .Ljp7F07FC40 -/* 0B479C 7F07FC2C 00000000 */ nop -/* 0B47A0 7F07FC30 0FC1F953 */ jal sub_GAME_7F07DF28 -/* 0B47A4 7F07FC34 00002025 */ move $a0, $zero -/* 0B47A8 7F07FC38 0FC1F998 */ jal sub_GAME_7F07E03C -/* 0B47AC 7F07FC3C 46000306 */ mov.s $f12, $f0 -.Ljp7F07FC40: -/* 0B47B0 7F07FC40 0FC177BC */ jal get_item_in_hand -/* 0B47B4 7F07FC44 24040001 */ li $a0, 1 -/* 0B47B8 7F07FC48 AFA2001C */ sw $v0, 0x1c($sp) -/* 0B47BC 7F07FC4C 0FC177D9 */ jal return_ammo_in_hand -/* 0B47C0 7F07FC50 24040001 */ li $a0, 1 -/* 0B47C4 7F07FC54 8FA8001C */ lw $t0, 0x1c($sp) -/* 0B47C8 7F07FC58 1048001B */ beq $v0, $t0, .Ljp7F07FCC8 -/* 0B47CC 7F07FC5C 00000000 */ nop -/* 0B47D0 7F07FC60 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B47D4 7F07FC64 24040001 */ li $a0, 1 -/* 0B47D8 7F07FC68 10400017 */ beqz $v0, .Ljp7F07FCC8 -/* 0B47DC 7F07FC6C 8FA9003C */ lw $t1, 0x3c($sp) -/* 0B47E0 7F07FC70 1120000C */ beqz $t1, .Ljp7F07FCA4 -/* 0B47E4 7F07FC74 00000000 */ nop -/* 0B47E8 7F07FC78 0FC177BC */ jal get_item_in_hand -/* 0B47EC 7F07FC7C 00002025 */ move $a0, $zero -/* 0B47F0 7F07FC80 AFA20018 */ sw $v0, 0x18($sp) -/* 0B47F4 7F07FC84 0FC177D9 */ jal return_ammo_in_hand -/* 0B47F8 7F07FC88 00002025 */ move $a0, $zero -/* 0B47FC 7F07FC8C 8FAA0018 */ lw $t2, 0x18($sp) -/* 0B4800 7F07FC90 104A000D */ beq $v0, $t2, .Ljp7F07FCC8 -/* 0B4804 7F07FC94 00000000 */ nop -/* 0B4808 7F07FC98 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B480C 7F07FC9C 00002025 */ move $a0, $zero -/* 0B4810 7F07FCA0 10400009 */ beqz $v0, .Ljp7F07FCC8 -.Ljp7F07FCA4: -/* 0B4814 7F07FCA4 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B4818 7F07FCA8 2442A120 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5ee0 -/* 0B481C 7F07FCAC 8C4C0000 */ lw $t4, ($v0) -/* 0B4820 7F07FCB0 240B0008 */ li $t3, 8 -/* 0B4824 7F07FCB4 AD8B01C8 */ sw $t3, 0x1c8($t4) -/* 0B4828 7F07FCB8 8C4D0000 */ lw $t5, ($v0) -/* 0B482C 7F07FCBC ADA001C0 */ sw $zero, 0x1c0($t5) -/* 0B4830 7F07FCC0 8C4E0000 */ lw $t6, ($v0) -/* 0B4834 7F07FCC4 ADC001C4 */ sw $zero, 0x1c4($t6) -.Ljp7F07FCC8: -/* 0B4838 7F07FCC8 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B483C 7F07FCCC 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4840 7F07FCD0 2401000B */ li $at, 11 -/* 0B4844 7F07FCD4 24040001 */ li $a0, 1 -/* 0B4848 7F07FCD8 8C6F01C8 */ lw $t7, 0x1c8($v1) -/* 0B484C 7F07FCDC 15E10024 */ bne $t7, $at, .Ljp7F07FD70 -/* 0B4850 7F07FCE0 00000000 */ nop -/* 0B4854 7F07FCE4 0FC177BC */ jal get_item_in_hand -/* 0B4858 7F07FCE8 AC600200 */ sw $zero, 0x200($v1) -/* 0B485C 7F07FCEC AFA2001C */ sw $v0, 0x1c($sp) -/* 0B4860 7F07FCF0 0FC177D9 */ jal return_ammo_in_hand -/* 0B4864 7F07FCF4 24040001 */ li $a0, 1 -/* 0B4868 7F07FCF8 8FB8001C */ lw $t8, 0x1c($sp) -/* 0B486C 7F07FCFC 1458001C */ bne $v0, $t8, .Ljp7F07FD70 -/* 0B4870 7F07FD00 00000000 */ nop -/* 0B4874 7F07FD04 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B4878 7F07FD08 24040001 */ li $a0, 1 -/* 0B487C 7F07FD0C 10400018 */ beqz $v0, .Ljp7F07FD70 -/* 0B4880 7F07FD10 8FB9003C */ lw $t9, 0x3c($sp) -/* 0B4884 7F07FD14 1320000C */ beqz $t9, .Ljp7F07FD48 -/* 0B4888 7F07FD18 00000000 */ nop -/* 0B488C 7F07FD1C 0FC177BC */ jal get_item_in_hand -/* 0B4890 7F07FD20 00002025 */ move $a0, $zero -/* 0B4894 7F07FD24 AFA20018 */ sw $v0, 0x18($sp) -/* 0B4898 7F07FD28 0FC177D9 */ jal return_ammo_in_hand -/* 0B489C 7F07FD2C 00002025 */ move $a0, $zero -/* 0B48A0 7F07FD30 8FA80018 */ lw $t0, 0x18($sp) -/* 0B48A4 7F07FD34 1448000E */ bne $v0, $t0, .Ljp7F07FD70 -/* 0B48A8 7F07FD38 00000000 */ nop -/* 0B48AC 7F07FD3C 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B48B0 7F07FD40 00002025 */ move $a0, $zero -/* 0B48B4 7F07FD44 1040000A */ beqz $v0, .Ljp7F07FD70 -.Ljp7F07FD48: -/* 0B48B8 7F07FD48 3C0A8008 */ lui $t2, %hi(pPlayer) # $t2, 0x8008 -/* 0B48BC 7F07FD4C 8D4AA120 */ lw $t2, %lo(pPlayer)($t2) -/* 0B48C0 7F07FD50 24090001 */ li $t1, 1 -/* 0B48C4 7F07FD54 3C0B8008 */ lui $t3, %hi(pPlayer) # $t3, 0x8008 -/* 0B48C8 7F07FD58 AD4901C8 */ sw $t1, 0x1c8($t2) -/* 0B48CC 7F07FD5C 8D6BA120 */ lw $t3, %lo(pPlayer)($t3) -/* 0B48D0 7F07FD60 3C0C8008 */ lui $t4, %hi(pPlayer) # $t4, 0x8008 -/* 0B48D4 7F07FD64 AD6001C0 */ sw $zero, 0x1c0($t3) -/* 0B48D8 7F07FD68 8D8CA120 */ lw $t4, %lo(pPlayer)($t4) -/* 0B48DC 7F07FD6C AD8001C4 */ sw $zero, 0x1c4($t4) -.Ljp7F07FD70: -/* 0B48E0 7F07FD70 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B48E4 7F07FD74 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B48E8 7F07FD78 2401000D */ li $at, 13 -/* 0B48EC 7F07FD7C 24040001 */ li $a0, 1 -/* 0B48F0 7F07FD80 8C6D01C8 */ lw $t5, 0x1c8($v1) -/* 0B48F4 7F07FD84 15A1001B */ bne $t5, $at, .Ljp7F07FDF4 -/* 0B48F8 7F07FD88 00000000 */ nop -/* 0B48FC 7F07FD8C 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B4900 7F07FD90 AC600200 */ sw $zero, 0x200($v1) -/* 0B4904 7F07FD94 10400017 */ beqz $v0, .Ljp7F07FDF4 -/* 0B4908 7F07FD98 00000000 */ nop -/* 0B490C 7F07FD9C 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 0B4910 7F07FDA0 00002025 */ move $a0, $zero -/* 0B4914 7F07FDA4 10400013 */ beqz $v0, .Ljp7F07FDF4 -/* 0B4918 7F07FDA8 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0B491C 7F07FDAC 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0B4920 7F07FDB0 24010005 */ li $at, 5 -/* 0B4924 7F07FDB4 8C620C3C */ lw $v0, 0xc3c($v1) -/* 0B4928 7F07FDB8 1041000E */ beq $v0, $at, .Ljp7F07FDF4 -/* 0B492C 7F07FDBC 24010006 */ li $at, 6 -/* 0B4930 7F07FDC0 1041000C */ beq $v0, $at, .Ljp7F07FDF4 -/* 0B4934 7F07FDC4 24010007 */ li $at, 7 -/* 0B4938 7F07FDC8 1041000A */ beq $v0, $at, .Ljp7F07FDF4 -/* 0B493C 7F07FDCC 24010008 */ li $at, 8 -/* 0B4940 7F07FDD0 10410008 */ beq $v0, $at, .Ljp7F07FDF4 -/* 0B4944 7F07FDD4 240E0001 */ li $t6, 1 -/* 0B4948 7F07FDD8 AC6E01C8 */ sw $t6, 0x1c8($v1) -/* 0B494C 7F07FDDC 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 0B4950 7F07FDE0 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 0B4954 7F07FDE4 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B4958 7F07FDE8 ADE001C0 */ sw $zero, 0x1c0($t7) -/* 0B495C 7F07FDEC 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B4960 7F07FDF0 AF0001C4 */ sw $zero, 0x1c4($t8) -.Ljp7F07FDF4: -/* 0B4964 7F07FDF4 0FC1F9AD */ jal sub_GAME_7F07E090 -/* 0B4968 7F07FDF8 00000000 */ nop -/* 0B496C 7F07FDFC 0FC1FBDC */ jal sub_GAME_7F07E964 -/* 0B4970 7F07FE00 00000000 */ nop -/* 0B4974 7F07FE04 0FC1FB14 */ jal sub_GAME_7F07E62C -/* 0B4978 7F07FE08 00000000 */ nop -/* 0B497C 7F07FE0C 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 0B4980 7F07FE10 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 0B4984 7F07FE14 8F2201C8 */ lw $v0, 0x1c8($t9) -/* 0B4988 7F07FE18 24010005 */ li $at, 5 -.Ljp7F07FE1C: -/* 0B498C 7F07FE1C 54410008 */ bnel $v0, $at, .Ljp7F07FE40 -/* 0B4990 7F07FE20 2401000C */ li $at, 12 -/* 0B4994 7F07FE24 0FC3020C */ jal set_controls_locked_flag -/* 0B4998 7F07FE28 24040001 */ li $a0, 1 -/* 0B499C 7F07FE2C 0FC29D88 */ jal sub_GAME_7F0A6A80 -/* 0B49A0 7F07FE30 00000000 */ nop -/* 0B49A4 7F07FE34 1000000B */ b .Ljp7F07FE64 -/* 0B49A8 7F07FE38 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B49AC 7F07FE3C 2401000C */ li $at, 12 -.Ljp7F07FE40: -/* 0B49B0 7F07FE40 14410005 */ bne $v0, $at, .Ljp7F07FE58 -/* 0B49B4 7F07FE44 00000000 */ nop -/* 0B49B8 7F07FE48 0FC3020C */ jal set_controls_locked_flag -/* 0B49BC 7F07FE4C 24040001 */ li $a0, 1 -/* 0B49C0 7F07FE50 10000004 */ b .Ljp7F07FE64 -/* 0B49C4 7F07FE54 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F07FE58: -/* 0B49C8 7F07FE58 0FC3020C */ jal set_controls_locked_flag -/* 0B49CC 7F07FE5C 00002025 */ move $a0, $zero -/* 0B49D0 7F07FE60 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F07FE64: -/* 0B49D4 7F07FE64 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0B49D8 7F07FE68 03E00008 */ jr $ra -/* 0B49DC 7F07FE6C 00000000 */ nop -) -#endif - -#endif - - -void set_open_close_solo_watch_menu_to1(void) { - pPlayer->open_close_solo_watch_menu = 1; -} - - - - - - -#ifdef NONMATCHING -void trigger_solo_watch_menu(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005508C -.word 0x3fd9999a /*1.7*/ -glabel D_80055090 -.word 0x3f8ccccd /*1.1*/ -.text -glabel trigger_solo_watch_menu -/* 0B43A4 7F07F874 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B43A8 7F07F878 AFB40038 */ sw $s4, 0x38($sp) -/* 0B43AC 7F07F87C 3C148008 */ lui $s4, %hi(pPlayer) -/* 0B43B0 7F07F880 2694A0B0 */ addiu $s4, %lo(pPlayer) # addiu $s4, $s4, -0x5f50 -/* 0B43B4 7F07F884 8E830000 */ lw $v1, ($s4) -/* 0B43B8 7F07F888 AFBF003C */ sw $ra, 0x3c($sp) -/* 0B43BC 7F07F88C AFB30034 */ sw $s3, 0x34($sp) -/* 0B43C0 7F07F890 AFB20030 */ sw $s2, 0x30($sp) -/* 0B43C4 7F07F894 AFB1002C */ sw $s1, 0x2c($sp) -/* 0B43C8 7F07F898 AFB00028 */ sw $s0, 0x28($sp) -/* 0B43CC 7F07F89C 8C6201C8 */ lw $v0, 0x1c8($v1) -/* 0B43D0 7F07F8A0 24050001 */ li $a1, 1 -/* 0B43D4 7F07F8A4 14400080 */ bnez $v0, .L7F07FAA8 -/* 0B43D8 7F07F8A8 00000000 */ nop -/* 0B43DC 7F07F8AC 148000FD */ bnez $a0, .L7F07FCA4 -/* 0B43E0 7F07F8B0 3C028003 */ lui $v0, %hi(watch_transition_time) -/* 0B43E4 7F07F8B4 3C018005 */ lui $at, %hi(D_8005508C) -/* 0B43E8 7F07F8B8 C420508C */ lwc1 $f0, %lo(D_8005508C)($at) -/* 0B43EC 7F07F8BC 244265A8 */ addiu $v0, %lo(watch_transition_time) # addiu $v0, $v0, 0x65a8 -/* 0B43F0 7F07F8C0 3C018005 */ lui $at, %hi(D_80055090) -/* 0B43F4 7F07F8C4 C4265090 */ lwc1 $f6, %lo(D_80055090)($at) -/* 0B43F8 7F07F8C8 C4440000 */ lwc1 $f4, ($v0) -/* 0B43FC 7F07F8CC 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4400 7F07F8D0 E4480000 */ swc1 $f8, ($v0) -/* 0B4404 7F07F8D4 C44A0000 */ lwc1 $f10, ($v0) -/* 0B4408 7F07F8D8 460A003C */ c.lt.s $f0, $f10 -/* 0B440C 7F07F8DC 00000000 */ nop -/* 0B4410 7F07F8E0 45000002 */ bc1f .L7F07F8EC -/* 0B4414 7F07F8E4 00000000 */ nop -/* 0B4418 7F07F8E8 E4400000 */ swc1 $f0, ($v0) -.L7F07F8EC: -/* 0B441C 7F07F8EC 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B4420 7F07F8F0 24040001 */ li $a0, 1 -/* 0B4424 7F07F8F4 50400013 */ beql $v0, $zero, .L7F07F944 -/* 0B4428 7F07F8F8 8E8F0000 */ lw $t7, ($s4) -/* 0B442C 7F07F8FC 0FC173AF */ jal sub_GAME_7F05CEBC -/* 0B4430 7F07F900 00002025 */ move $a0, $zero -/* 0B4434 7F07F904 5040000F */ beql $v0, $zero, .L7F07F944 -/* 0B4438 7F07F908 8E8F0000 */ lw $t7, ($s4) -/* 0B443C 7F07F90C 8E830000 */ lw $v1, ($s4) -/* 0B4440 7F07F910 24010005 */ li $at, 5 -/* 0B4444 7F07F914 8C620C3C */ lw $v0, 0xc3c($v1) -/* 0B4448 7F07F918 10410009 */ beq $v0, $at, .L7F07F940 -/* 0B444C 7F07F91C 24010006 */ li $at, 6 -/* 0B4450 7F07F920 10410007 */ beq $v0, $at, .L7F07F940 -/* 0B4454 7F07F924 24010007 */ li $at, 7 -/* 0B4458 7F07F928 10410005 */ beq $v0, $at, .L7F07F940 -/* 0B445C 7F07F92C 24060008 */ li $a2, 8 -/* 0B4460 7F07F930 10C20003 */ beq $a2, $v0, .L7F07F940 -/* 0B4464 7F07F934 24050001 */ li $a1, 1 -/* 0B4468 7F07F938 10000004 */ b .L7F07F94C -/* 0B446C 7F07F93C AC6501C8 */ sw $a1, 0x1c8($v1) -.L7F07F940: -/* 0B4470 7F07F940 8E8F0000 */ lw $t7, ($s4) -.L7F07F944: -/* 0B4474 7F07F944 240E000D */ li $t6, 13 -/* 0B4478 7F07F948 ADEE01C8 */ sw $t6, 0x1c8($t7) -.L7F07F94C: -/* 0B447C 7F07F94C 8E980000 */ lw $t8, ($s4) -/* 0B4480 7F07F950 AF0001C0 */ sw $zero, 0x1c0($t8) -/* 0B4484 7F07F954 8E990000 */ lw $t9, ($s4) -/* 0B4488 7F07F958 0FC1F7BF */ jal sub_GAME_7F07DEFC -/* 0B448C 7F07F95C AF2001C4 */ sw $zero, 0x1c4($t9) -/* 0B4490 7F07F960 0FC1F941 */ jal sub_GAME_7F07E504 -/* 0B4494 7F07F964 00000000 */ nop -/* 0B4498 7F07F968 0FC228BF */ jal get_BONDdata_watch_armor -/* 0B449C 7F07F96C 00000000 */ nop -/* 0B44A0 7F07F970 8E840000 */ lw $a0, ($s4) -/* 0B44A4 7F07F974 44070000 */ mfc1 $a3, $f0 -/* 0B44A8 7F07F978 2405002E */ li $a1, 46 -/* 0B44AC 7F07F97C 24060001 */ li $a2, 1 -/* 0B44B0 7F07F980 0FC28BCC */ jal sub_GAME_7F0A2F30 -/* 0B44B4 7F07F984 248412B8 */ addiu $a0, $a0, 0x12b8 -/* 0B44B8 7F07F988 8E830000 */ lw $v1, ($s4) -/* 0B44BC 7F07F98C 3C018000 */ lui $at, (0x800012B8 >> 16) -/* 0B44C0 7F07F990 342112B8 */ ori $at, (0x800012B8 & 0xFFFF) # ori $at, $at, 0x12b8 -/* 0B44C4 7F07F994 2406002E */ li $a2, 46 -/* 0B44C8 7F07F998 00612821 */ addu $a1, $v1, $at -/* 0B44CC 7F07F99C 0FC28CCC */ jal sub_GAME_7F0A3330 -/* 0B44D0 7F07F9A0 246419F8 */ addiu $a0, $v1, 0x19f8 -/* 0B44D4 7F07F9A4 0FC228BB */ jal get_BONDdata_watch_health -/* 0B44D8 7F07F9A8 00000000 */ nop -/* 0B44DC 7F07F9AC 8E840000 */ lw $a0, ($s4) -/* 0B44E0 7F07F9B0 44070000 */ mfc1 $a3, $f0 -/* 0B44E4 7F07F9B4 2405002E */ li $a1, 46 -/* 0B44E8 7F07F9B8 2406FFFF */ li $a2, -1 -/* 0B44EC 7F07F9BC 0FC28BCC */ jal sub_GAME_7F0A2F30 -/* 0B44F0 7F07F9C0 24841598 */ addiu $a0, $a0, 0x1598 -/* 0B44F4 7F07F9C4 8E830000 */ lw $v1, ($s4) -/* 0B44F8 7F07F9C8 3C018000 */ lui $at, (0x80001598 >> 16) -/* 0B44FC 7F07F9CC 34211598 */ ori $at, (0x80001598 & 0xFFFF) # ori $at, $at, 0x1598 -/* 0B4500 7F07F9D0 2406002E */ li $a2, 46 -/* 0B4504 7F07F9D4 00612821 */ addu $a1, $v1, $at -/* 0B4508 7F07F9D8 0FC28CCC */ jal sub_GAME_7F0A3330 -/* 0B450C 7F07F9DC 24642128 */ addiu $a0, $v1, 0x2128 -/* 0B4510 7F07F9E0 0FC29A6A */ jal sub_GAME_7F0A69A8 -/* 0B4514 7F07F9E4 00000000 */ nop -/* 0B4518 7F07F9E8 8E830000 */ lw $v1, ($s4) -/* 0B451C 7F07F9EC 00008025 */ move $s0, $zero -/* 0B4520 7F07F9F0 24732858 */ addiu $s3, $v1, 0x2858 -/* 0B4524 7F07F9F4 24711878 */ addiu $s1, $v1, 0x1878 -.L7F07F9F8: -/* 0B4528 7F07F9F8 24080014 */ li $t0, 20 -/* 0B452C 7F07F9FC 2409FED5 */ li $t1, -299 -/* 0B4530 7F07FA00 240A0136 */ li $t2, 310 -/* 0B4534 7F07FA04 02209025 */ move $s2, $s1 -/* 0B4538 7F07FA08 AFAA0018 */ sw $t2, 0x18($sp) -/* 0B453C 7F07FA0C AFA90014 */ sw $t1, 0x14($sp) -/* 0B4540 7F07FA10 AFA80010 */ sw $t0, 0x10($sp) -/* 0B4544 7F07FA14 02202025 */ move $a0, $s1 -/* 0B4548 7F07FA18 02002825 */ move $a1, $s0 -/* 0B454C 7F07FA1C 00003025 */ move $a2, $zero -/* 0B4550 7F07FA20 0FC28EAE */ jal sub_GAME_7F0A3AB8 -/* 0B4554 7F07FA24 24070064 */ li $a3, 100 -/* 0B4558 7F07FA28 3C018000 */ lui $at, 0x8000 -/* 0B455C 7F07FA2C 00408825 */ move $s1, $v0 -/* 0B4560 7F07FA30 02412821 */ addu $a1, $s2, $at -/* 0B4564 7F07FA34 0FC28ED0 */ jal sub_GAME_7F0A3B40 -/* 0B4568 7F07FA38 02602025 */ move $a0, $s3 -/* 0B456C 7F07FA3C 2610007D */ addiu $s0, $s0, 0x7d -/* 0B4570 7F07FA40 24010271 */ li $at, 625 -/* 0B4574 7F07FA44 1601FFEC */ bne $s0, $at, .L7F07F9F8 -/* 0B4578 7F07FA48 00409825 */ move $s3, $v0 -/* 0B457C 7F07FA4C 3C10B800 */ lui $s0, 0xb800 -/* 0B4580 7F07FA50 AC500000 */ sw $s0, ($v0) -/* 0B4584 7F07FA54 AC400004 */ sw $zero, 4($v0) -/* 0B4588 7F07FA58 8E830000 */ lw $v1, ($s4) -/* 0B458C 7F07FA5C 240B0014 */ li $t3, 20 -/* 0B4590 7F07FA60 240CFE34 */ li $t4, -460 -/* 0B4594 7F07FA64 246419B8 */ addiu $a0, $v1, 0x19b8 -/* 0B4598 7F07FA68 00809025 */ move $s2, $a0 -/* 0B459C 7F07FA6C AFAC0014 */ sw $t4, 0x14($sp) -/* 0B45A0 7F07FA70 AFAB0010 */ sw $t3, 0x10($sp) -/* 0B45A4 7F07FA74 AFA00018 */ sw $zero, 0x18($sp) -/* 0B45A8 7F07FA78 00002825 */ move $a1, $zero -/* 0B45AC 7F07FA7C 00003025 */ move $a2, $zero -/* 0B45B0 7F07FA80 24070398 */ li $a3, 920 -/* 0B45B4 7F07FA84 0FC28EAE */ jal sub_GAME_7F0A3AB8 -/* 0B45B8 7F07FA88 24732998 */ addiu $s3, $v1, 0x2998 -/* 0B45BC 7F07FA8C 3C018000 */ lui $at, 0x8000 -/* 0B45C0 7F07FA90 02412821 */ addu $a1, $s2, $at -/* 0B45C4 7F07FA94 0FC28ED0 */ jal sub_GAME_7F0A3B40 -/* 0B45C8 7F07FA98 02602025 */ move $a0, $s3 -/* 0B45CC 7F07FA9C AC500000 */ sw $s0, ($v0) -/* 0B45D0 7F07FAA0 10000080 */ b .L7F07FCA4 -/* 0B45D4 7F07FAA4 AC400004 */ sw $zero, 4($v0) -.L7F07FAA8: -/* 0B45D8 7F07FAA8 14A20008 */ bne $a1, $v0, .L7F07FACC -/* 0B45DC 7F07FAAC 24010002 */ li $at, 2 -/* 0B45E0 7F07FAB0 240D0009 */ li $t5, 9 -/* 0B45E4 7F07FAB4 AC6D01C8 */ sw $t5, 0x1c8($v1) -/* 0B45E8 7F07FAB8 8E8E0000 */ lw $t6, ($s4) -/* 0B45EC 7F07FABC ADC001C0 */ sw $zero, 0x1c0($t6) -/* 0B45F0 7F07FAC0 8E8F0000 */ lw $t7, ($s4) -/* 0B45F4 7F07FAC4 10000077 */ b .L7F07FCA4 -/* 0B45F8 7F07FAC8 ADE001C4 */ sw $zero, 0x1c4($t7) -.L7F07FACC: -/* 0B45FC 7F07FACC 14410008 */ bne $v0, $at, .L7F07FAF0 -/* 0B4600 7F07FAD0 24060003 */ li $a2, 3 -/* 0B4604 7F07FAD4 2418000A */ li $t8, 10 -/* 0B4608 7F07FAD8 AC7801C8 */ sw $t8, 0x1c8($v1) -/* 0B460C 7F07FADC 8E990000 */ lw $t9, ($s4) -/* 0B4610 7F07FAE0 AF2001C0 */ sw $zero, 0x1c0($t9) -/* 0B4614 7F07FAE4 8E880000 */ lw $t0, ($s4) -/* 0B4618 7F07FAE8 1000006E */ b .L7F07FCA4 -/* 0B461C 7F07FAEC AD0001C4 */ sw $zero, 0x1c4($t0) -.L7F07FAF0: -/* 0B4620 7F07FAF0 14C20008 */ bne $a2, $v0, .L7F07FB14 -/* 0B4624 7F07FAF4 24070004 */ li $a3, 4 -/* 0B4628 7F07FAF8 24090007 */ li $t1, 7 -/* 0B462C 7F07FAFC AC6901C8 */ sw $t1, 0x1c8($v1) -/* 0B4630 7F07FB00 8E8A0000 */ lw $t2, ($s4) -/* 0B4634 7F07FB04 AD4001C0 */ sw $zero, 0x1c0($t2) -/* 0B4638 7F07FB08 8E8B0000 */ lw $t3, ($s4) -/* 0B463C 7F07FB0C 10000065 */ b .L7F07FCA4 -/* 0B4640 7F07FB10 AD6001C4 */ sw $zero, 0x1c4($t3) -.L7F07FB14: -/* 0B4644 7F07FB14 14E20008 */ bne $a3, $v0, .L7F07FB38 -/* 0B4648 7F07FB18 24010005 */ li $at, 5 -/* 0B464C 7F07FB1C 240C0006 */ li $t4, 6 -/* 0B4650 7F07FB20 AC6C01C8 */ sw $t4, 0x1c8($v1) -/* 0B4654 7F07FB24 8E8D0000 */ lw $t5, ($s4) -/* 0B4658 7F07FB28 ADA001C0 */ sw $zero, 0x1c0($t5) -/* 0B465C 7F07FB2C 8E8E0000 */ lw $t6, ($s4) -/* 0B4660 7F07FB30 1000005C */ b .L7F07FCA4 -/* 0B4664 7F07FB34 ADC001C4 */ sw $zero, 0x1c4($t6) -.L7F07FB38: -/* 0B4668 7F07FB38 54410010 */ bnel $v0, $at, .L7F07FB7C -/* 0B466C 7F07FB3C 2401000C */ li $at, 12 -/* 0B4670 7F07FB40 0FC07549 */ jal deleteCurrentSelectedFolder -/* 0B4674 7F07FB44 00000000 */ nop -/* 0B4678 7F07FB48 0FC304D0 */ jal sub_GAME_7F0C1340 -/* 0B467C 7F07FB4C 00000000 */ nop -/* 0B4680 7F07FB50 8E980000 */ lw $t8, ($s4) -/* 0B4684 7F07FB54 240F000C */ li $t7, 12 -/* 0B4688 7F07FB58 AF0F01C8 */ sw $t7, 0x1c8($t8) -/* 0B468C 7F07FB5C 8E990000 */ lw $t9, ($s4) -/* 0B4690 7F07FB60 AF2001C0 */ sw $zero, 0x1c0($t9) -/* 0B4694 7F07FB64 8E880000 */ lw $t0, ($s4) -/* 0B4698 7F07FB68 AD0001C4 */ sw $zero, 0x1c4($t0) -/* 0B469C 7F07FB6C 8E890000 */ lw $t1, ($s4) -/* 0B46A0 7F07FB70 1000004C */ b .L7F07FCA4 -/* 0B46A4 7F07FB74 AD2001D0 */ sw $zero, 0x1d0($t1) -/* 0B46A8 7F07FB78 2401000C */ li $at, 12 -.L7F07FB7C: -/* 0B46AC 7F07FB7C 10410049 */ beq $v0, $at, .L7F07FCA4 -/* 0B46B0 7F07FB80 24010006 */ li $at, 6 -/* 0B46B4 7F07FB84 5441000C */ bnel $v0, $at, .L7F07FBB8 -/* 0B46B8 7F07FB88 24010007 */ li $at, 7 -/* 0B46BC 7F07FB8C 54800046 */ bnezl $a0, .L7F07FCA8 -/* 0B46C0 7F07FB90 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B46C4 7F07FB94 AC6701C8 */ sw $a3, 0x1c8($v1) -/* 0B46C8 7F07FB98 8E8A0000 */ lw $t2, ($s4) -/* 0B46CC 7F07FB9C AD4001C0 */ sw $zero, 0x1c0($t2) -/* 0B46D0 7F07FBA0 8E8B0000 */ lw $t3, ($s4) -/* 0B46D4 7F07FBA4 0FC29A6A */ jal sub_GAME_7F0A69A8 -/* 0B46D8 7F07FBA8 AD6001C4 */ sw $zero, 0x1c4($t3) -/* 0B46DC 7F07FBAC 1000003E */ b .L7F07FCA8 -/* 0B46E0 7F07FBB0 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B46E4 7F07FBB4 24010007 */ li $at, 7 -.L7F07FBB8: -/* 0B46E8 7F07FBB8 5441000C */ bnel $v0, $at, .L7F07FBEC -/* 0B46EC 7F07FBBC 24060008 */ li $a2, 8 -/* 0B46F0 7F07FBC0 54800039 */ bnezl $a0, .L7F07FCA8 -/* 0B46F4 7F07FBC4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B46F8 7F07FBC8 AC6601C8 */ sw $a2, 0x1c8($v1) -/* 0B46FC 7F07FBCC 8E8C0000 */ lw $t4, ($s4) -/* 0B4700 7F07FBD0 AD8001C0 */ sw $zero, 0x1c0($t4) -/* 0B4704 7F07FBD4 8E8D0000 */ lw $t5, ($s4) -/* 0B4708 7F07FBD8 0FC29A6A */ jal sub_GAME_7F0A69A8 -/* 0B470C 7F07FBDC ADA001C4 */ sw $zero, 0x1c4($t5) -/* 0B4710 7F07FBE0 10000031 */ b .L7F07FCA8 -/* 0B4714 7F07FBE4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B4718 7F07FBE8 24060008 */ li $a2, 8 -.L7F07FBEC: -/* 0B471C 7F07FBEC 14C2000B */ bne $a2, $v0, .L7F07FC1C -/* 0B4720 7F07FBF0 24010009 */ li $at, 9 -/* 0B4724 7F07FBF4 1480002B */ bnez $a0, .L7F07FCA4 -/* 0B4728 7F07FBF8 240E000B */ li $t6, 11 -/* 0B472C 7F07FBFC AC6E01C8 */ sw $t6, 0x1c8($v1) -/* 0B4730 7F07FC00 8E8F0000 */ lw $t7, ($s4) -/* 0B4734 7F07FC04 ADE001C0 */ sw $zero, 0x1c0($t7) -/* 0B4738 7F07FC08 8E980000 */ lw $t8, ($s4) -/* 0B473C 7F07FC0C 0FC29A6A */ jal sub_GAME_7F0A69A8 -/* 0B4740 7F07FC10 AF0001C4 */ sw $zero, 0x1c4($t8) -/* 0B4744 7F07FC14 10000024 */ b .L7F07FCA8 -/* 0B4748 7F07FC18 8FBF003C */ lw $ra, 0x3c($sp) -.L7F07FC1C: -/* 0B474C 7F07FC1C 5441000A */ bnel $v0, $at, .L7F07FC48 -/* 0B4750 7F07FC20 2401000A */ li $at, 10 -/* 0B4754 7F07FC24 54800020 */ bnezl $a0, .L7F07FCA8 -/* 0B4758 7F07FC28 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B475C 7F07FC2C AC6501C8 */ sw $a1, 0x1c8($v1) -/* 0B4760 7F07FC30 8E990000 */ lw $t9, ($s4) -/* 0B4764 7F07FC34 AF2001C0 */ sw $zero, 0x1c0($t9) -/* 0B4768 7F07FC38 8E880000 */ lw $t0, ($s4) -/* 0B476C 7F07FC3C 10000019 */ b .L7F07FCA4 -/* 0B4770 7F07FC40 AD0001C4 */ sw $zero, 0x1c4($t0) -/* 0B4774 7F07FC44 2401000A */ li $at, 10 -.L7F07FC48: -/* 0B4778 7F07FC48 5441000A */ bnel $v0, $at, .L7F07FC74 -/* 0B477C 7F07FC4C 2401000B */ li $at, 11 -/* 0B4780 7F07FC50 54800015 */ bnezl $a0, .L7F07FCA8 -/* 0B4784 7F07FC54 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B4788 7F07FC58 AC6501C8 */ sw $a1, 0x1c8($v1) -/* 0B478C 7F07FC5C 8E890000 */ lw $t1, ($s4) -/* 0B4790 7F07FC60 AD2001C0 */ sw $zero, 0x1c0($t1) -/* 0B4794 7F07FC64 8E8A0000 */ lw $t2, ($s4) -/* 0B4798 7F07FC68 1000000E */ b .L7F07FCA4 -/* 0B479C 7F07FC6C AD4001C4 */ sw $zero, 0x1c4($t2) -/* 0B47A0 7F07FC70 2401000B */ li $at, 11 -.L7F07FC74: -/* 0B47A4 7F07FC74 54410008 */ bnel $v0, $at, .L7F07FC98 -/* 0B47A8 7F07FC78 2401000D */ li $at, 13 -/* 0B47AC 7F07FC7C AC6601C8 */ sw $a2, 0x1c8($v1) -/* 0B47B0 7F07FC80 8E8B0000 */ lw $t3, ($s4) -/* 0B47B4 7F07FC84 AD6001C0 */ sw $zero, 0x1c0($t3) -/* 0B47B8 7F07FC88 8E8C0000 */ lw $t4, ($s4) -/* 0B47BC 7F07FC8C 10000005 */ b .L7F07FCA4 -/* 0B47C0 7F07FC90 AD8001C4 */ sw $zero, 0x1c4($t4) -/* 0B47C4 7F07FC94 2401000D */ li $at, 13 -.L7F07FC98: -/* 0B47C8 7F07FC98 54410003 */ bnel $v0, $at, .L7F07FCA8 -/* 0B47CC 7F07FC9C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B47D0 7F07FCA0 AC6001C8 */ sw $zero, 0x1c8($v1) -.L7F07FCA4: -/* 0B47D4 7F07FCA4 8FBF003C */ lw $ra, 0x3c($sp) -.L7F07FCA8: -/* 0B47D8 7F07FCA8 8FB00028 */ lw $s0, 0x28($sp) -/* 0B47DC 7F07FCAC 8FB1002C */ lw $s1, 0x2c($sp) -/* 0B47E0 7F07FCB0 8FB20030 */ lw $s2, 0x30($sp) -/* 0B47E4 7F07FCB4 8FB30034 */ lw $s3, 0x34($sp) -/* 0B47E8 7F07FCB8 8FB40038 */ lw $s4, 0x38($sp) -/* 0B47EC 7F07FCBC 03E00008 */ jr $ra -/* 0B47F0 7F07FCC0 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07FCC4(s32 arg0) { - // Node 0 - if (arg0 == -1) - { - // Node 1 - pPlayer->speedstrafe = (f32) (pPlayer->speedstrafe - global_timer_delta); - if (pPlayer->speedstrafe < -1.0f) - { - // Node 2 - pPlayer->speedstrafe = -1.0f; - } - } - else - { - // Node 3 - if (arg0 == 1) - { - // Node 4 - pPlayer->speedstrafe = (f32) (pPlayer->speedstrafe + global_timer_delta); - if (1.0f < pPlayer->speedstrafe) - { - // Node 5 - pPlayer->speedstrafe = 1.0f; - } - } - else - { - // Node 6 - if (0.0f < pPlayer->speedstrafe) - { - // Node 7 - pPlayer->speedstrafe = (f32) (pPlayer->speedstrafe - global_timer_delta); - if (pPlayer->speedstrafe < 0.0f) - { - // Node 8 - pPlayer->speedstrafe = 0.0f; - } - } - else - { - // Node 9 - pPlayer->speedstrafe = (f32) (pPlayer->speedstrafe + global_timer_delta); - if (0.0f < pPlayer->speedstrafe) - { - // Node 10 - pPlayer->speedstrafe = 0.0f; - } - } - } - } - // Node 11 - pPlayer->speedsideways = (f32) pPlayer->speedstrafe; - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07FCC4 -/* 0B47F4 7F07FCC4 2401FFFF */ li $at, -1 -/* 0B47F8 7F07FCC8 14810015 */ bne $a0, $at, .L7F07FD20 -/* 0B47FC 7F07FCCC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4800 7F07FCD0 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B4804 7F07FCD4 8C620000 */ lw $v0, ($v1) -/* 0B4808 7F07FCD8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B480C 7F07FCDC 44811000 */ mtc1 $at, $f2 -/* 0B4810 7F07FCE0 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4814 7F07FCE4 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B4818 7F07FCE8 C4440170 */ lwc1 $f4, 0x170($v0) -/* 0B481C 7F07FCEC 46062201 */ sub.s $f8, $f4, $f6 -/* 0B4820 7F07FCF0 E4480170 */ swc1 $f8, 0x170($v0) -/* 0B4824 7F07FCF4 8C620000 */ lw $v0, ($v1) -/* 0B4828 7F07FCF8 C4400170 */ lwc1 $f0, 0x170($v0) -/* 0B482C 7F07FCFC 4602003C */ c.lt.s $f0, $f2 -/* 0B4830 7F07FD00 00000000 */ nop -/* 0B4834 7F07FD04 45000043 */ bc1f .L7F07FE14 -/* 0B4838 7F07FD08 00000000 */ nop -/* 0B483C 7F07FD0C E4420170 */ swc1 $f2, 0x170($v0) -/* 0B4840 7F07FD10 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B4844 7F07FD14 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B4848 7F07FD18 1000003E */ b .L7F07FE14 -/* 0B484C 7F07FD1C C4400170 */ lwc1 $f0, 0x170($v0) -.L7F07FD20: -/* 0B4850 7F07FD20 24010001 */ li $at, 1 -/* 0B4854 7F07FD24 14810016 */ bne $a0, $at, .L7F07FD80 -/* 0B4858 7F07FD28 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B485C 7F07FD2C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4860 7F07FD30 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B4864 7F07FD34 8C620000 */ lw $v0, ($v1) -/* 0B4868 7F07FD38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B486C 7F07FD3C 44811000 */ mtc1 $at, $f2 -/* 0B4870 7F07FD40 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4874 7F07FD44 C4308378 */ lwc1 $f16, %lo(global_timer_delta)($at) -/* 0B4878 7F07FD48 C44A0170 */ lwc1 $f10, 0x170($v0) -/* 0B487C 7F07FD4C 46105480 */ add.s $f18, $f10, $f16 -/* 0B4880 7F07FD50 E4520170 */ swc1 $f18, 0x170($v0) -/* 0B4884 7F07FD54 8C620000 */ lw $v0, ($v1) -/* 0B4888 7F07FD58 C4400170 */ lwc1 $f0, 0x170($v0) -/* 0B488C 7F07FD5C 4600103C */ c.lt.s $f2, $f0 -/* 0B4890 7F07FD60 00000000 */ nop -/* 0B4894 7F07FD64 4500002B */ bc1f .L7F07FE14 -/* 0B4898 7F07FD68 00000000 */ nop -/* 0B489C 7F07FD6C E4420170 */ swc1 $f2, 0x170($v0) -/* 0B48A0 7F07FD70 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B48A4 7F07FD74 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B48A8 7F07FD78 10000026 */ b .L7F07FE14 -/* 0B48AC 7F07FD7C C4400170 */ lwc1 $f0, 0x170($v0) -.L7F07FD80: -/* 0B48B0 7F07FD80 2463A0B0 */ addiu $v1, $v1, %lo(pPlayer) -/* 0B48B4 7F07FD84 8C620000 */ lw $v0, ($v1) -/* 0B48B8 7F07FD88 44801000 */ mtc1 $zero, $f2 -/* 0B48BC 7F07FD8C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B48C0 7F07FD90 C4400170 */ lwc1 $f0, 0x170($v0) -/* 0B48C4 7F07FD94 4600103C */ c.lt.s $f2, $f0 -/* 0B48C8 7F07FD98 00000000 */ nop -/* 0B48CC 7F07FD9C 45000010 */ bc1f .L7F07FDE0 -/* 0B48D0 7F07FDA0 00000000 */ nop -/* 0B48D4 7F07FDA4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B48D8 7F07FDA8 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B48DC 7F07FDAC 46040181 */ sub.s $f6, $f0, $f4 -/* 0B48E0 7F07FDB0 E4460170 */ swc1 $f6, 0x170($v0) -/* 0B48E4 7F07FDB4 8C620000 */ lw $v0, ($v1) -/* 0B48E8 7F07FDB8 C4400170 */ lwc1 $f0, 0x170($v0) -/* 0B48EC 7F07FDBC 4602003C */ c.lt.s $f0, $f2 -/* 0B48F0 7F07FDC0 00000000 */ nop -/* 0B48F4 7F07FDC4 45000013 */ bc1f .L7F07FE14 -/* 0B48F8 7F07FDC8 00000000 */ nop -/* 0B48FC 7F07FDCC E4420170 */ swc1 $f2, 0x170($v0) -/* 0B4900 7F07FDD0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B4904 7F07FDD4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B4908 7F07FDD8 1000000E */ b .L7F07FE14 -/* 0B490C 7F07FDDC C4400170 */ lwc1 $f0, 0x170($v0) -.L7F07FDE0: -/* 0B4910 7F07FDE0 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B4914 7F07FDE4 46080280 */ add.s $f10, $f0, $f8 -/* 0B4918 7F07FDE8 E44A0170 */ swc1 $f10, 0x170($v0) -/* 0B491C 7F07FDEC 8C620000 */ lw $v0, ($v1) -/* 0B4920 7F07FDF0 C4400170 */ lwc1 $f0, 0x170($v0) -/* 0B4924 7F07FDF4 4600103C */ c.lt.s $f2, $f0 -/* 0B4928 7F07FDF8 00000000 */ nop -/* 0B492C 7F07FDFC 45000005 */ bc1f .L7F07FE14 -/* 0B4930 7F07FE00 00000000 */ nop -/* 0B4934 7F07FE04 E4420170 */ swc1 $f2, 0x170($v0) -/* 0B4938 7F07FE08 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B493C 7F07FE0C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B4940 7F07FE10 C4400170 */ lwc1 $f0, 0x170($v0) -.L7F07FE14: -/* 0B4944 7F07FE14 03E00008 */ jr $ra -/* 0B4948 7F07FE18 E440016C */ swc1 $f0, 0x16c($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07FE1C(s32 arg0) { - // Node 0 - if (arg0 == 1) - { - // Node 1 - pPlayer->field_2A4C = (f32) (pPlayer->field_2A4C + global_timer_delta); - if (1.0f < pPlayer->field_2A4C) - { - // Node 2 - pPlayer->field_2A4C = 1.0f; - } - } - else - { - // Node 3 - if (arg0 == -1) - { - // Node 4 - pPlayer->field_2A4C = (f32) (pPlayer->field_2A4C - global_timer_delta); - if (pPlayer->field_2A4C < -1.0f) - { - // Node 5 - pPlayer->field_2A4C = -1.0f; - } - } - else - { - // Node 6 - if (0.0f < pPlayer->field_2A4C) - { - // Node 7 - pPlayer->field_2A4C = (f32) (pPlayer->field_2A4C - global_timer_delta); - if (pPlayer->field_2A4C < 0.0f) - { - // Node 8 - pPlayer->field_2A4C = 0.0f; - } - } - else - { - // Node 9 - pPlayer->field_2A4C = (f32) (pPlayer->field_2A4C + global_timer_delta); - if (0.0f < pPlayer->field_2A4C) - { - // Node 10 - pPlayer->field_2A4C = 0.0f; - } - } - } - } - // Node 11 - pPlayer->speedforwards = (f32) pPlayer->field_2A4C; - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07FE1C -/* 0B494C 7F07FE1C 24010001 */ li $at, 1 -/* 0B4950 7F07FE20 14810015 */ bne $a0, $at, .L7F07FE78 -/* 0B4954 7F07FE24 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4958 7F07FE28 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B495C 7F07FE2C 8C620000 */ lw $v0, ($v1) -/* 0B4960 7F07FE30 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B4964 7F07FE34 44811000 */ mtc1 $at, $f2 -/* 0B4968 7F07FE38 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B496C 7F07FE3C C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B4970 7F07FE40 C4442A4C */ lwc1 $f4, 0x2a4c($v0) -/* 0B4974 7F07FE44 46062200 */ add.s $f8, $f4, $f6 -/* 0B4978 7F07FE48 E4482A4C */ swc1 $f8, 0x2a4c($v0) -/* 0B497C 7F07FE4C 8C620000 */ lw $v0, ($v1) -/* 0B4980 7F07FE50 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -/* 0B4984 7F07FE54 4600103C */ c.lt.s $f2, $f0 -/* 0B4988 7F07FE58 00000000 */ nop -/* 0B498C 7F07FE5C 45000043 */ bc1f .L7F07FF6C -/* 0B4990 7F07FE60 00000000 */ nop -/* 0B4994 7F07FE64 E4422A4C */ swc1 $f2, 0x2a4c($v0) -/* 0B4998 7F07FE68 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B499C 7F07FE6C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B49A0 7F07FE70 1000003E */ b .L7F07FF6C -/* 0B49A4 7F07FE74 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -.L7F07FE78: -/* 0B49A8 7F07FE78 2401FFFF */ li $at, -1 -/* 0B49AC 7F07FE7C 14810016 */ bne $a0, $at, .L7F07FED8 -/* 0B49B0 7F07FE80 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B49B4 7F07FE84 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B49B8 7F07FE88 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B49BC 7F07FE8C 8C620000 */ lw $v0, ($v1) -/* 0B49C0 7F07FE90 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B49C4 7F07FE94 44811000 */ mtc1 $at, $f2 -/* 0B49C8 7F07FE98 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B49CC 7F07FE9C C4308378 */ lwc1 $f16, %lo(global_timer_delta)($at) -/* 0B49D0 7F07FEA0 C44A2A4C */ lwc1 $f10, 0x2a4c($v0) -/* 0B49D4 7F07FEA4 46105481 */ sub.s $f18, $f10, $f16 -/* 0B49D8 7F07FEA8 E4522A4C */ swc1 $f18, 0x2a4c($v0) -/* 0B49DC 7F07FEAC 8C620000 */ lw $v0, ($v1) -/* 0B49E0 7F07FEB0 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -/* 0B49E4 7F07FEB4 4602003C */ c.lt.s $f0, $f2 -/* 0B49E8 7F07FEB8 00000000 */ nop -/* 0B49EC 7F07FEBC 4500002B */ bc1f .L7F07FF6C -/* 0B49F0 7F07FEC0 00000000 */ nop -/* 0B49F4 7F07FEC4 E4422A4C */ swc1 $f2, 0x2a4c($v0) -/* 0B49F8 7F07FEC8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B49FC 7F07FECC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B4A00 7F07FED0 10000026 */ b .L7F07FF6C -/* 0B4A04 7F07FED4 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -.L7F07FED8: -/* 0B4A08 7F07FED8 2463A0B0 */ addiu $v1, $v1, %lo(pPlayer) -/* 0B4A0C 7F07FEDC 8C620000 */ lw $v0, ($v1) -/* 0B4A10 7F07FEE0 44801000 */ mtc1 $zero, $f2 -/* 0B4A14 7F07FEE4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4A18 7F07FEE8 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -/* 0B4A1C 7F07FEEC 4600103C */ c.lt.s $f2, $f0 -/* 0B4A20 7F07FEF0 00000000 */ nop -/* 0B4A24 7F07FEF4 45000010 */ bc1f .L7F07FF38 -/* 0B4A28 7F07FEF8 00000000 */ nop -/* 0B4A2C 7F07FEFC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4A30 7F07FF00 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B4A34 7F07FF04 46040181 */ sub.s $f6, $f0, $f4 -/* 0B4A38 7F07FF08 E4462A4C */ swc1 $f6, 0x2a4c($v0) -/* 0B4A3C 7F07FF0C 8C620000 */ lw $v0, ($v1) -/* 0B4A40 7F07FF10 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -/* 0B4A44 7F07FF14 4602003C */ c.lt.s $f0, $f2 -/* 0B4A48 7F07FF18 00000000 */ nop -/* 0B4A4C 7F07FF1C 45000013 */ bc1f .L7F07FF6C -/* 0B4A50 7F07FF20 00000000 */ nop -/* 0B4A54 7F07FF24 E4422A4C */ swc1 $f2, 0x2a4c($v0) -/* 0B4A58 7F07FF28 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B4A5C 7F07FF2C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B4A60 7F07FF30 1000000E */ b .L7F07FF6C -/* 0B4A64 7F07FF34 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -.L7F07FF38: -/* 0B4A68 7F07FF38 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B4A6C 7F07FF3C 46080280 */ add.s $f10, $f0, $f8 -/* 0B4A70 7F07FF40 E44A2A4C */ swc1 $f10, 0x2a4c($v0) -/* 0B4A74 7F07FF44 8C620000 */ lw $v0, ($v1) -/* 0B4A78 7F07FF48 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -/* 0B4A7C 7F07FF4C 4600103C */ c.lt.s $f2, $f0 -/* 0B4A80 7F07FF50 00000000 */ nop -/* 0B4A84 7F07FF54 45000005 */ bc1f .L7F07FF6C -/* 0B4A88 7F07FF58 00000000 */ nop -/* 0B4A8C 7F07FF5C E4422A4C */ swc1 $f2, 0x2a4c($v0) -/* 0B4A90 7F07FF60 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B4A94 7F07FF64 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B4A98 7F07FF68 C4402A4C */ lwc1 $f0, 0x2a4c($v0) -.L7F07FF6C: -/* 0B4A9C 7F07FF6C 03E00008 */ jr $ra -/* 0B4AA0 7F07FF70 E4400174 */ swc1 $f0, 0x174($v0) -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F07FF74(f32 arg0) { - // Node 0 - if (0.0f < arg0) - { - // Node 1 - return 0.0f; - } - // Node 2 - if (arg0 >= 0.0f) - { - // Node 4 - // Node 5 - return 0.0f; - } - // Node 3 - return 0.0f; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055094 -.word 0xbf333333 /*-0.69999999*/ -glabel D_80055098 -.word 0x3f333333 /*0.69999999*/ -.text -glabel sub_GAME_7F07FF74 -/* 0B4AA4 7F07FF74 44801000 */ mtc1 $zero, $f2 -/* 0B4AA8 7F07FF78 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B4AAC 7F07FF7C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B4AB0 7F07FF80 460C103C */ c.lt.s $f2, $f12 -/* 0B4AB4 7F07FF84 00000000 */ nop -/* 0B4AB8 7F07FF88 4502000D */ bc1fl .L7F07FFC0 -/* 0B4ABC 7F07FF8C 4602603C */ c.lt.s $f12, $f2 -/* 0B4AC0 7F07FF90 0C001177 */ jal video_related_23 -/* 0B4AC4 7F07FF94 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0B4AC8 7F07FF98 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0B4ACC 7F07FF9C 3C018005 */ lui $at, %hi(D_80055094) -/* 0B4AD0 7F07FFA0 C4265094 */ lwc1 $f6, %lo(D_80055094)($at) -/* 0B4AD4 7F07FFA4 460C0102 */ mul.s $f4, $f0, $f12 -/* 0B4AD8 7F07FFA8 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B4ADC 7F07FFAC 44815000 */ mtc1 $at, $f10 -/* 0B4AE0 7F07FFB0 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4AE4 7F07FFB4 10000012 */ b .L7F080000 -/* 0B4AE8 7F07FFB8 460A4003 */ div.s $f0, $f8, $f10 -/* 0B4AEC 7F07FFBC 4602603C */ c.lt.s $f12, $f2 -.L7F07FFC0: -/* 0B4AF0 7F07FFC0 00000000 */ nop -/* 0B4AF4 7F07FFC4 4502000E */ bc1fl .L7F080000 -/* 0B4AF8 7F07FFC8 46001006 */ mov.s $f0, $f2 -/* 0B4AFC 7F07FFCC 0C001177 */ jal video_related_23 -/* 0B4B00 7F07FFD0 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0B4B04 7F07FFD4 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0B4B08 7F07FFD8 3C018005 */ lui $at, %hi(D_80055098) -/* 0B4B0C 7F07FFDC C4245098 */ lwc1 $f4, %lo(D_80055098)($at) -/* 0B4B10 7F07FFE0 46006407 */ neg.s $f16, $f12 -/* 0B4B14 7F07FFE4 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B4B18 7F07FFE8 46100482 */ mul.s $f18, $f0, $f16 -/* 0B4B1C 7F07FFEC 44814000 */ mtc1 $at, $f8 -/* 0B4B20 7F07FFF0 46049182 */ mul.s $f6, $f18, $f4 -/* 0B4B24 7F07FFF4 10000002 */ b .L7F080000 -/* 0B4B28 7F07FFF8 46083003 */ div.s $f0, $f6, $f8 -/* 0B4B2C 7F07FFFC 46001006 */ mov.s $f0, $f2 -.L7F080000: -/* 0B4B30 7F080000 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B4B34 7F080004 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B4B38 7F080008 03E00008 */ jr $ra -/* 0B4B3C 7F08000C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F080010(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005509C -.word 0x3d4ccccd /*0.050000001*/ -glabel D_800550A0 -.word 0x3c4ccccd /*0.0125*/ -glabel D_800550A4 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_800550A8 -.word 0x3c4ccccd /*0.0125*/ -glabel D_800550AC -.word 0x3d4ccccd /*0.050000001*/ -glabel D_800550B0 -.word 0x3d4ccccd /*0.050000001*/ -.text -glabel sub_GAME_7F080010 -/* 0B4B40 7F080010 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B4B44 7F080014 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B4B48 7F080018 0C001177 */ jal video_related_23 -/* 0B4B4C 7F08001C E7AC0020 */ swc1 $f12, 0x20($sp) -/* 0B4B50 7F080020 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B4B54 7F080024 44812000 */ mtc1 $at, $f4 -/* 0B4B58 7F080028 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 0B4B5C 7F08002C 46040383 */ div.s $f14, $f0, $f4 -/* 0B4B60 7F080030 0FC1FFDD */ jal sub_GAME_7F07FF74 -/* 0B4B64 7F080034 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 0B4B68 7F080038 C7A20020 */ lwc1 $f2, 0x20($sp) -/* 0B4B6C 7F08003C 44806000 */ mtc1 $zero, $f12 -/* 0B4B70 7F080040 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4B74 7F080044 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 0B4B78 7F080048 4602603C */ c.lt.s $f12, $f2 -/* 0B4B7C 7F08004C 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B4B80 7F080050 45020023 */ bc1fl .L7F0800E0 -/* 0B4B84 7F080054 460C103C */ c.lt.s $f2, $f12 -/* 0B4B88 7F080058 8C620000 */ lw $v0, ($v1) -/* 0B4B8C 7F08005C 3C018005 */ lui $at, %hi(D_800550A0) -/* 0B4B90 7F080060 C4420160 */ lwc1 $f2, 0x160($v0) -/* 0B4B94 7F080064 4602603C */ c.lt.s $f12, $f2 -/* 0B4B98 7F080068 00000000 */ nop -/* 0B4B9C 7F08006C 4500000B */ bc1f .L7F08009C -/* 0B4BA0 7F080070 00000000 */ nop -/* 0B4BA4 7F080074 3C018005 */ lui $at, %hi(D_8005509C) -/* 0B4BA8 7F080078 C426509C */ lwc1 $f6, %lo(D_8005509C)($at) -/* 0B4BAC 7F08007C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4BB0 7F080080 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B4BB4 7F080084 46083282 */ mul.s $f10, $f6, $f8 -/* 0B4BB8 7F080088 00000000 */ nop -/* 0B4BBC 7F08008C 460E5402 */ mul.s $f16, $f10, $f14 -/* 0B4BC0 7F080090 46101481 */ sub.s $f18, $f2, $f16 -/* 0B4BC4 7F080094 10000009 */ b .L7F0800BC -/* 0B4BC8 7F080098 E4520160 */ swc1 $f18, 0x160($v0) -.L7F08009C: -/* 0B4BCC 7F08009C C42450A0 */ lwc1 $f4, %lo(D_800550A0)($at) -/* 0B4BD0 7F0800A0 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4BD4 7F0800A4 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B4BD8 7F0800A8 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4BDC 7F0800AC 00000000 */ nop -/* 0B4BE0 7F0800B0 460E4282 */ mul.s $f10, $f8, $f14 -/* 0B4BE4 7F0800B4 460A1401 */ sub.s $f16, $f2, $f10 -/* 0B4BE8 7F0800B8 E4500160 */ swc1 $f16, 0x160($v0) -.L7F0800BC: -/* 0B4BEC 7F0800BC 8C620000 */ lw $v0, ($v1) -/* 0B4BF0 7F0800C0 C4520160 */ lwc1 $f18, 0x160($v0) -/* 0B4BF4 7F0800C4 4600903C */ c.lt.s $f18, $f0 -/* 0B4BF8 7F0800C8 00000000 */ nop -/* 0B4BFC 7F0800CC 45020053 */ bc1fl .L7F08021C -/* 0B4C00 7F0800D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B4C04 7F0800D4 10000050 */ b .L7F080218 -/* 0B4C08 7F0800D8 E4400160 */ swc1 $f0, 0x160($v0) -/* 0B4C0C 7F0800DC 460C103C */ c.lt.s $f2, $f12 -.L7F0800E0: -/* 0B4C10 7F0800E0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4C14 7F0800E4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B4C18 7F0800E8 45020025 */ bc1fl .L7F080180 -/* 0B4C1C 7F0800EC 8C620000 */ lw $v0, ($v1) -/* 0B4C20 7F0800F0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4C24 7F0800F4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B4C28 7F0800F8 8C620000 */ lw $v0, ($v1) -/* 0B4C2C 7F0800FC 3C018005 */ lui $at, %hi(D_800550A8) -/* 0B4C30 7F080100 C4420160 */ lwc1 $f2, 0x160($v0) -/* 0B4C34 7F080104 460C103C */ c.lt.s $f2, $f12 -/* 0B4C38 7F080108 00000000 */ nop -/* 0B4C3C 7F08010C 4500000B */ bc1f .L7F08013C -/* 0B4C40 7F080110 00000000 */ nop -/* 0B4C44 7F080114 3C018005 */ lui $at, %hi(D_800550A4) -/* 0B4C48 7F080118 C42450A4 */ lwc1 $f4, %lo(D_800550A4)($at) -/* 0B4C4C 7F08011C 3C018005 */ lui $at, %hi(D_800550A8) -/* 0B4C50 7F080120 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B4C54 7F080124 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4C58 7F080128 00000000 */ nop -/* 0B4C5C 7F08012C 460E4282 */ mul.s $f10, $f8, $f14 -/* 0B4C60 7F080130 460A1400 */ add.s $f16, $f2, $f10 -/* 0B4C64 7F080134 10000009 */ b .L7F08015C -/* 0B4C68 7F080138 E4500160 */ swc1 $f16, 0x160($v0) -.L7F08013C: -/* 0B4C6C 7F08013C C43250A8 */ lwc1 $f18, %lo(D_800550A8)($at) -/* 0B4C70 7F080140 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4C74 7F080144 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B4C78 7F080148 46049182 */ mul.s $f6, $f18, $f4 -/* 0B4C7C 7F08014C 00000000 */ nop -/* 0B4C80 7F080150 460E3202 */ mul.s $f8, $f6, $f14 -/* 0B4C84 7F080154 46081280 */ add.s $f10, $f2, $f8 -/* 0B4C88 7F080158 E44A0160 */ swc1 $f10, 0x160($v0) -.L7F08015C: -/* 0B4C8C 7F08015C 8C620000 */ lw $v0, ($v1) -/* 0B4C90 7F080160 C4500160 */ lwc1 $f16, 0x160($v0) -/* 0B4C94 7F080164 4610003C */ c.lt.s $f0, $f16 -/* 0B4C98 7F080168 00000000 */ nop -/* 0B4C9C 7F08016C 4502002B */ bc1fl .L7F08021C -/* 0B4CA0 7F080170 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B4CA4 7F080174 10000028 */ b .L7F080218 -/* 0B4CA8 7F080178 E4400160 */ swc1 $f0, 0x160($v0) -/* 0B4CAC 7F08017C 8C620000 */ lw $v0, ($v1) -.L7F080180: -/* 0B4CB0 7F080180 3C018005 */ lui $at, %hi(D_800550B0) -/* 0B4CB4 7F080184 C4420160 */ lwc1 $f2, 0x160($v0) -/* 0B4CB8 7F080188 4602003C */ c.lt.s $f0, $f2 -/* 0B4CBC 7F08018C 00000000 */ nop -/* 0B4CC0 7F080190 45000012 */ bc1f .L7F0801DC -/* 0B4CC4 7F080194 00000000 */ nop -/* 0B4CC8 7F080198 3C018005 */ lui $at, %hi(D_800550AC) -/* 0B4CCC 7F08019C C43250AC */ lwc1 $f18, %lo(D_800550AC)($at) -/* 0B4CD0 7F0801A0 3C018005 */ lui $at, %hi(D_800550B0) -/* 0B4CD4 7F0801A4 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B4CD8 7F0801A8 46049182 */ mul.s $f6, $f18, $f4 -/* 0B4CDC 7F0801AC 00000000 */ nop -/* 0B4CE0 7F0801B0 460E3202 */ mul.s $f8, $f6, $f14 -/* 0B4CE4 7F0801B4 46081281 */ sub.s $f10, $f2, $f8 -/* 0B4CE8 7F0801B8 E44A0160 */ swc1 $f10, 0x160($v0) -/* 0B4CEC 7F0801BC 8C620000 */ lw $v0, ($v1) -/* 0B4CF0 7F0801C0 C4500160 */ lwc1 $f16, 0x160($v0) -/* 0B4CF4 7F0801C4 4600803C */ c.lt.s $f16, $f0 -/* 0B4CF8 7F0801C8 00000000 */ nop -/* 0B4CFC 7F0801CC 45000012 */ bc1f .L7F080218 -/* 0B4D00 7F0801D0 00000000 */ nop -/* 0B4D04 7F0801D4 10000010 */ b .L7F080218 -/* 0B4D08 7F0801D8 E4400160 */ swc1 $f0, 0x160($v0) -.L7F0801DC: -/* 0B4D0C 7F0801DC C43250B0 */ lwc1 $f18, %lo(D_800550B0)($at) -/* 0B4D10 7F0801E0 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4D14 7F0801E4 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B4D18 7F0801E8 46049182 */ mul.s $f6, $f18, $f4 -/* 0B4D1C 7F0801EC 00000000 */ nop -/* 0B4D20 7F0801F0 460E3202 */ mul.s $f8, $f6, $f14 -/* 0B4D24 7F0801F4 46081280 */ add.s $f10, $f2, $f8 -/* 0B4D28 7F0801F8 E44A0160 */ swc1 $f10, 0x160($v0) -/* 0B4D2C 7F0801FC 8C620000 */ lw $v0, ($v1) -/* 0B4D30 7F080200 C4500160 */ lwc1 $f16, 0x160($v0) -/* 0B4D34 7F080204 4610003C */ c.lt.s $f0, $f16 -/* 0B4D38 7F080208 00000000 */ nop -/* 0B4D3C 7F08020C 45000002 */ bc1f .L7F080218 -/* 0B4D40 7F080210 00000000 */ nop -/* 0B4D44 7F080214 E4400160 */ swc1 $f0, 0x160($v0) -.L7F080218: -/* 0B4D48 7F080218 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08021C: -/* 0B4D4C 7F08021C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B4D50 7F080220 03E00008 */ jr $ra -/* 0B4D54 7F080224 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING - -f32 sub_GAME_7F080228(f32 arg0) { - // Node 0 - if (0.0f < arg0) - { - // Node 1 - return 0.0f; - } - // Node 2 - if (arg0 >= 0.0f) - { - // Node 4 - // Node 5 - return 0.0f; - } - // Node 3 - return 0.0f; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800550B4 -.word 0xbf333333 /*-0.69999999*/ -glabel D_800550B8 -.word 0x3f333333 /*0.69999999*/ -.text -glabel sub_GAME_7F080228 -/* 0B4D58 7F080228 44801000 */ mtc1 $zero, $f2 -/* 0B4D5C 7F08022C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B4D60 7F080230 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B4D64 7F080234 460C103C */ c.lt.s $f2, $f12 -/* 0B4D68 7F080238 00000000 */ nop -/* 0B4D6C 7F08023C 4502000D */ bc1fl .L7F080274 -/* 0B4D70 7F080240 4602603C */ c.lt.s $f12, $f2 -/* 0B4D74 7F080244 0C001177 */ jal video_related_23 -/* 0B4D78 7F080248 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0B4D7C 7F08024C C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0B4D80 7F080250 3C018005 */ lui $at, %hi(D_800550B4) -/* 0B4D84 7F080254 C42650B4 */ lwc1 $f6, %lo(D_800550B4)($at) -/* 0B4D88 7F080258 460C0102 */ mul.s $f4, $f0, $f12 -/* 0B4D8C 7F08025C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B4D90 7F080260 44815000 */ mtc1 $at, $f10 -/* 0B4D94 7F080264 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4D98 7F080268 10000012 */ b .L7F0802B4 -/* 0B4D9C 7F08026C 460A4003 */ div.s $f0, $f8, $f10 -/* 0B4DA0 7F080270 4602603C */ c.lt.s $f12, $f2 -.L7F080274: -/* 0B4DA4 7F080274 00000000 */ nop -/* 0B4DA8 7F080278 4502000E */ bc1fl .L7F0802B4 -/* 0B4DAC 7F08027C 46001006 */ mov.s $f0, $f2 -/* 0B4DB0 7F080280 0C001177 */ jal video_related_23 -/* 0B4DB4 7F080284 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0B4DB8 7F080288 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0B4DBC 7F08028C 3C018005 */ lui $at, %hi(D_800550B8) -/* 0B4DC0 7F080290 C42450B8 */ lwc1 $f4, %lo(D_800550B8)($at) -/* 0B4DC4 7F080294 46006407 */ neg.s $f16, $f12 -/* 0B4DC8 7F080298 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B4DCC 7F08029C 46100482 */ mul.s $f18, $f0, $f16 -/* 0B4DD0 7F0802A0 44814000 */ mtc1 $at, $f8 -/* 0B4DD4 7F0802A4 46049182 */ mul.s $f6, $f18, $f4 -/* 0B4DD8 7F0802A8 10000002 */ b .L7F0802B4 -/* 0B4DDC 7F0802AC 46083003 */ div.s $f0, $f6, $f8 -/* 0B4DE0 7F0802B0 46001006 */ mov.s $f0, $f2 -.L7F0802B4: -/* 0B4DE4 7F0802B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B4DE8 7F0802B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B4DEC 7F0802BC 03E00008 */ jr $ra -/* 0B4DF0 7F0802C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0802C4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800550BC -.word 0x3d4ccccd /*0.050000001*/ -glabel D_800550C0 -.word 0x3c4ccccd /*0.0125*/ -glabel D_800550C4 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_800550C8 -.word 0x3c4ccccd /*0.0125*/ -glabel D_800550CC -.word 0x3d4ccccd /*0.050000001*/ -glabel D_800550D0 -.word 0x3d4ccccd /*0.050000001*/ -.text -glabel sub_GAME_7F0802C4 -/* 0B4DF4 7F0802C4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B4DF8 7F0802C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B4DFC 7F0802CC 0C001177 */ jal video_related_23 -/* 0B4E00 7F0802D0 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 0B4E04 7F0802D4 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B4E08 7F0802D8 44812000 */ mtc1 $at, $f4 -/* 0B4E0C 7F0802DC C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 0B4E10 7F0802E0 46040383 */ div.s $f14, $f0, $f4 -/* 0B4E14 7F0802E4 0FC2008A */ jal sub_GAME_7F080228 -/* 0B4E18 7F0802E8 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 0B4E1C 7F0802EC C7A20020 */ lwc1 $f2, 0x20($sp) -/* 0B4E20 7F0802F0 44806000 */ mtc1 $zero, $f12 -/* 0B4E24 7F0802F4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4E28 7F0802F8 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 0B4E2C 7F0802FC 4602603C */ c.lt.s $f12, $f2 -/* 0B4E30 7F080300 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B4E34 7F080304 45020023 */ bc1fl .L7F080394 -/* 0B4E38 7F080308 460C103C */ c.lt.s $f2, $f12 -/* 0B4E3C 7F08030C 8C620000 */ lw $v0, ($v1) -/* 0B4E40 7F080310 3C018005 */ lui $at, %hi(D_800550C0) -/* 0B4E44 7F080314 C442014C */ lwc1 $f2, 0x14c($v0) -/* 0B4E48 7F080318 4602603C */ c.lt.s $f12, $f2 -/* 0B4E4C 7F08031C 00000000 */ nop -/* 0B4E50 7F080320 4500000B */ bc1f .L7F080350 -/* 0B4E54 7F080324 00000000 */ nop -/* 0B4E58 7F080328 3C018005 */ lui $at, %hi(D_800550BC) -/* 0B4E5C 7F08032C C42650BC */ lwc1 $f6, %lo(D_800550BC)($at) -/* 0B4E60 7F080330 3C018005 */ lui $at, %hi(D_800550C0) -/* 0B4E64 7F080334 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B4E68 7F080338 46083282 */ mul.s $f10, $f6, $f8 -/* 0B4E6C 7F08033C 00000000 */ nop -/* 0B4E70 7F080340 460E5402 */ mul.s $f16, $f10, $f14 -/* 0B4E74 7F080344 46101481 */ sub.s $f18, $f2, $f16 -/* 0B4E78 7F080348 10000009 */ b .L7F080370 -/* 0B4E7C 7F08034C E452014C */ swc1 $f18, 0x14c($v0) -.L7F080350: -/* 0B4E80 7F080350 C42450C0 */ lwc1 $f4, %lo(D_800550C0)($at) -/* 0B4E84 7F080354 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4E88 7F080358 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B4E8C 7F08035C 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4E90 7F080360 00000000 */ nop -/* 0B4E94 7F080364 460E4282 */ mul.s $f10, $f8, $f14 -/* 0B4E98 7F080368 460A1401 */ sub.s $f16, $f2, $f10 -/* 0B4E9C 7F08036C E450014C */ swc1 $f16, 0x14c($v0) -.L7F080370: -/* 0B4EA0 7F080370 8C620000 */ lw $v0, ($v1) -/* 0B4EA4 7F080374 C452014C */ lwc1 $f18, 0x14c($v0) -/* 0B4EA8 7F080378 4600903C */ c.lt.s $f18, $f0 -/* 0B4EAC 7F08037C 00000000 */ nop -/* 0B4EB0 7F080380 45020054 */ bc1fl .L7F0804D4 -/* 0B4EB4 7F080384 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B4EB8 7F080388 10000051 */ b .L7F0804D0 -/* 0B4EBC 7F08038C E440014C */ swc1 $f0, 0x14c($v0) -/* 0B4EC0 7F080390 460C103C */ c.lt.s $f2, $f12 -.L7F080394: -/* 0B4EC4 7F080394 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4EC8 7F080398 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B4ECC 7F08039C 45020026 */ bc1fl .L7F080438 -/* 0B4ED0 7F0803A0 8C620000 */ lw $v0, ($v1) -/* 0B4ED4 7F0803A4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B4ED8 7F0803A8 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B4EDC 7F0803AC 8C620000 */ lw $v0, ($v1) -/* 0B4EE0 7F0803B0 44802000 */ mtc1 $zero, $f4 -/* 0B4EE4 7F0803B4 3C018005 */ lui $at, %hi(D_800550C8) -/* 0B4EE8 7F0803B8 C442014C */ lwc1 $f2, 0x14c($v0) -/* 0B4EEC 7F0803BC 4604103C */ c.lt.s $f2, $f4 -/* 0B4EF0 7F0803C0 00000000 */ nop -/* 0B4EF4 7F0803C4 4500000B */ bc1f .L7F0803F4 -/* 0B4EF8 7F0803C8 00000000 */ nop -/* 0B4EFC 7F0803CC 3C018005 */ lui $at, %hi(D_800550C4) -/* 0B4F00 7F0803D0 C42650C4 */ lwc1 $f6, %lo(D_800550C4)($at) -/* 0B4F04 7F0803D4 3C018005 */ lui $at, %hi(D_800550C8) -/* 0B4F08 7F0803D8 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B4F0C 7F0803DC 46083282 */ mul.s $f10, $f6, $f8 -/* 0B4F10 7F0803E0 00000000 */ nop -/* 0B4F14 7F0803E4 460E5402 */ mul.s $f16, $f10, $f14 -/* 0B4F18 7F0803E8 46101480 */ add.s $f18, $f2, $f16 -/* 0B4F1C 7F0803EC 10000009 */ b .L7F080414 -/* 0B4F20 7F0803F0 E452014C */ swc1 $f18, 0x14c($v0) -.L7F0803F4: -/* 0B4F24 7F0803F4 C42450C8 */ lwc1 $f4, %lo(D_800550C8)($at) -/* 0B4F28 7F0803F8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4F2C 7F0803FC C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B4F30 7F080400 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4F34 7F080404 00000000 */ nop -/* 0B4F38 7F080408 460E4282 */ mul.s $f10, $f8, $f14 -/* 0B4F3C 7F08040C 460A1400 */ add.s $f16, $f2, $f10 -/* 0B4F40 7F080410 E450014C */ swc1 $f16, 0x14c($v0) -.L7F080414: -/* 0B4F44 7F080414 8C620000 */ lw $v0, ($v1) -/* 0B4F48 7F080418 C452014C */ lwc1 $f18, 0x14c($v0) -/* 0B4F4C 7F08041C 4612003C */ c.lt.s $f0, $f18 -/* 0B4F50 7F080420 00000000 */ nop -/* 0B4F54 7F080424 4502002B */ bc1fl .L7F0804D4 -/* 0B4F58 7F080428 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B4F5C 7F08042C 10000028 */ b .L7F0804D0 -/* 0B4F60 7F080430 E440014C */ swc1 $f0, 0x14c($v0) -/* 0B4F64 7F080434 8C620000 */ lw $v0, ($v1) -.L7F080438: -/* 0B4F68 7F080438 3C018005 */ lui $at, %hi(D_800550D0) -/* 0B4F6C 7F08043C C442014C */ lwc1 $f2, 0x14c($v0) -/* 0B4F70 7F080440 4602003C */ c.lt.s $f0, $f2 -/* 0B4F74 7F080444 00000000 */ nop -/* 0B4F78 7F080448 45000012 */ bc1f .L7F080494 -/* 0B4F7C 7F08044C 00000000 */ nop -/* 0B4F80 7F080450 3C018005 */ lui $at, %hi(D_800550CC) -/* 0B4F84 7F080454 C42450CC */ lwc1 $f4, %lo(D_800550CC)($at) -/* 0B4F88 7F080458 3C018005 */ lui $at, %hi(D_800550D0) -/* 0B4F8C 7F08045C C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B4F90 7F080460 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4F94 7F080464 00000000 */ nop -/* 0B4F98 7F080468 460E4282 */ mul.s $f10, $f8, $f14 -/* 0B4F9C 7F08046C 460A1401 */ sub.s $f16, $f2, $f10 -/* 0B4FA0 7F080470 E450014C */ swc1 $f16, 0x14c($v0) -/* 0B4FA4 7F080474 8C620000 */ lw $v0, ($v1) -/* 0B4FA8 7F080478 C452014C */ lwc1 $f18, 0x14c($v0) -/* 0B4FAC 7F08047C 4600903C */ c.lt.s $f18, $f0 -/* 0B4FB0 7F080480 00000000 */ nop -/* 0B4FB4 7F080484 45000012 */ bc1f .L7F0804D0 -/* 0B4FB8 7F080488 00000000 */ nop -/* 0B4FBC 7F08048C 10000010 */ b .L7F0804D0 -/* 0B4FC0 7F080490 E440014C */ swc1 $f0, 0x14c($v0) -.L7F080494: -/* 0B4FC4 7F080494 C42450D0 */ lwc1 $f4, %lo(D_800550D0)($at) -/* 0B4FC8 7F080498 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B4FCC 7F08049C C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B4FD0 7F0804A0 46062202 */ mul.s $f8, $f4, $f6 -/* 0B4FD4 7F0804A4 00000000 */ nop -/* 0B4FD8 7F0804A8 460E4282 */ mul.s $f10, $f8, $f14 -/* 0B4FDC 7F0804AC 460A1400 */ add.s $f16, $f2, $f10 -/* 0B4FE0 7F0804B0 E450014C */ swc1 $f16, 0x14c($v0) -/* 0B4FE4 7F0804B4 8C620000 */ lw $v0, ($v1) -/* 0B4FE8 7F0804B8 C452014C */ lwc1 $f18, 0x14c($v0) -/* 0B4FEC 7F0804BC 4612003C */ c.lt.s $f0, $f18 -/* 0B4FF0 7F0804C0 00000000 */ nop -/* 0B4FF4 7F0804C4 45000002 */ bc1f .L7F0804D0 -/* 0B4FF8 7F0804C8 00000000 */ nop -/* 0B4FFC 7F0804CC E440014C */ swc1 $f0, 0x14c($v0) -.L7F0804D0: -/* 0B5000 7F0804D0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0804D4: -/* 0B5004 7F0804D4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B5008 7F0804D8 03E00008 */ jr $ra -/* 0B500C 7F0804DC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0804E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0804E0 -/* 0B5010 7F0804E0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B5014 7F0804E4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B5018 7F0804E8 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0B501C 7F0804EC AFB00018 */ sw $s0, 0x18($sp) -/* 0B5020 7F0804F0 3C0E8003 */ lui $t6, %hi(camera_80036430) -/* 0B5024 7F0804F4 8DCE6430 */ lw $t6, %lo(camera_80036430)($t6) -/* 0B5028 7F0804F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B502C 7F0804FC 00808025 */ move $s0, $a0 -/* 0B5030 7F080500 C44003DC */ lwc1 $f0, 0x3dc($v0) -/* 0B5034 7F080504 8C4703D0 */ lw $a3, 0x3d0($v0) -/* 0B5038 7F080508 8C4803D4 */ lw $t0, 0x3d4($v0) -/* 0B503C 7F08050C 15C00004 */ bnez $t6, .L7F080520 -/* 0B5040 7F080510 8C4903D8 */ lw $t1, 0x3d8($v0) -/* 0B5044 7F080514 3C0F8003 */ lui $t7, %hi(camera_80036434) -/* 0B5048 7F080518 8DEF6434 */ lw $t7, %lo(camera_80036434)($t7) -/* 0B504C 7F08051C 11E00005 */ beqz $t7, .L7F080534 -.L7F080520: -/* 0B5050 7F080520 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B5054 7F080524 44810000 */ mtc1 $at, $f0 -/* 0B5058 7F080528 00004825 */ move $t1, $zero -/* 0B505C 7F08052C 00004025 */ move $t0, $zero -/* 0B5060 7F080530 00003825 */ move $a3, $zero -.L7F080534: -/* 0B5064 7F080534 44802000 */ mtc1 $zero, $f4 -/* 0B5068 7F080538 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0B506C 7F08053C 3C0ABA00 */ lui $t2, (0xBA000602 >> 16) # lui $t2, 0xba00 -/* 0B5070 7F080540 4600203C */ c.lt.s $f4, $f0 -/* 0B5074 7F080544 02001025 */ move $v0, $s0 -/* 0B5078 7F080548 3C18E700 */ lui $t8, 0xe700 -/* 0B507C 7F08054C 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0B5080 7F080550 45000092 */ bc1f .L7F08079C -/* 0B5084 7F080554 354A0602 */ ori $t2, (0xBA000602 & 0xFFFF) # ori $t2, $t2, 0x602 -/* 0B5088 7F080558 26100008 */ addiu $s0, $s0, 8 -/* 0B508C 7F08055C 02001825 */ move $v1, $s0 -/* 0B5090 7F080560 AC580000 */ sw $t8, ($v0) -/* 0B5094 7F080564 AC400004 */ sw $zero, 4($v0) -/* 0B5098 7F080568 26100008 */ addiu $s0, $s0, 8 -/* 0B509C 7F08056C 02002025 */ move $a0, $s0 -/* 0B50A0 7F080570 AC600004 */ sw $zero, 4($v1) -/* 0B50A4 7F080574 AC790000 */ sw $t9, ($v1) -/* 0B50A8 7F080578 26100008 */ addiu $s0, $s0, 8 -/* 0B50AC 7F08057C 240B00C0 */ li $t3, 192 -/* 0B50B0 7F080580 AC8B0004 */ sw $t3, 4($a0) -/* 0B50B4 7F080584 AC8A0000 */ sw $t2, ($a0) -/* 0B50B8 7F080588 02002825 */ move $a1, $s0 -/* 0B50BC 7F08058C 3C0CBA00 */ lui $t4, (0xBA001301 >> 16) # lui $t4, 0xba00 -/* 0B50C0 7F080590 358C1301 */ ori $t4, (0xBA001301 & 0xFFFF) # ori $t4, $t4, 0x1301 -/* 0B50C4 7F080594 26100008 */ addiu $s0, $s0, 8 -/* 0B50C8 7F080598 ACAC0000 */ sw $t4, ($a1) -/* 0B50CC 7F08059C 02003025 */ move $a2, $s0 -/* 0B50D0 7F0805A0 3C0DB900 */ lui $t5, (0xB9000002 >> 16) # lui $t5, 0xb900 -/* 0B50D4 7F0805A4 ACA00004 */ sw $zero, 4($a1) -/* 0B50D8 7F0805A8 35AD0002 */ ori $t5, (0xB9000002 & 0xFFFF) # ori $t5, $t5, 2 -/* 0B50DC 7F0805AC 26100008 */ addiu $s0, $s0, 8 -/* 0B50E0 7F0805B0 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0B50E4 7F0805B4 44813000 */ mtc1 $at, $f6 -/* 0B50E8 7F0805B8 ACCD0000 */ sw $t5, ($a2) -/* 0B50EC 7F0805BC 02001025 */ move $v0, $s0 -/* 0B50F0 7F0805C0 3C0EBA00 */ lui $t6, (0xBA001001 >> 16) # lui $t6, 0xba00 -/* 0B50F4 7F0805C4 ACC00004 */ sw $zero, 4($a2) -/* 0B50F8 7F0805C8 35CE1001 */ ori $t6, (0xBA001001 & 0xFFFF) # ori $t6, $t6, 0x1001 -/* 0B50FC 7F0805CC 26100008 */ addiu $s0, $s0, 8 -/* 0B5100 7F0805D0 AC4E0000 */ sw $t6, ($v0) -/* 0B5104 7F0805D4 02001825 */ move $v1, $s0 -/* 0B5108 7F0805D8 46060202 */ mul.s $f8, $f0, $f6 -/* 0B510C 7F0805DC AC400004 */ sw $zero, 4($v0) -/* 0B5110 7F0805E0 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00 -/* 0B5114 7F0805E4 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02 -/* 0B5118 7F0805E8 26100008 */ addiu $s0, $s0, 8 -/* 0B511C 7F0805EC 24182000 */ li $t8, 8192 -/* 0B5120 7F0805F0 AC780004 */ sw $t8, 4($v1) -/* 0B5124 7F0805F4 AC6F0000 */ sw $t7, ($v1) -/* 0B5128 7F0805F8 02002025 */ move $a0, $s0 -/* 0B512C 7F0805FC 26100008 */ addiu $s0, $s0, 8 -/* 0B5130 7F080600 240A0C00 */ li $t2, 3072 -/* 0B5134 7F080604 3C19BA00 */ lui $t9, (0xBA000903 >> 16) # lui $t9, 0xba00 -/* 0B5138 7F080608 37390903 */ ori $t9, (0xBA000903 & 0xFFFF) # ori $t9, $t9, 0x903 -/* 0B513C 7F08060C AC8A0004 */ sw $t2, 4($a0) -/* 0B5140 7F080610 02002825 */ move $a1, $s0 -/* 0B5144 7F080614 3C0BBA00 */ lui $t3, (0xBA000E02 >> 16) # lui $t3, 0xba00 -/* 0B5148 7F080618 AC990000 */ sw $t9, ($a0) -/* 0B514C 7F08061C 356B0E02 */ ori $t3, (0xBA000E02 & 0xFFFF) # ori $t3, $t3, 0xe02 -/* 0B5150 7F080620 26100008 */ addiu $s0, $s0, 8 -/* 0B5154 7F080624 ACAB0000 */ sw $t3, ($a1) -/* 0B5158 7F080628 02003025 */ move $a2, $s0 -/* 0B515C 7F08062C 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 0B5160 7F080630 4600428D */ trunc.w.s $f10, $f8 -/* 0B5164 7F080634 ACA00004 */ sw $zero, 4($a1) -/* 0B5168 7F080638 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 0B516C 7F08063C 26100008 */ addiu $s0, $s0, 8 -/* 0B5170 7F080640 3C0D0050 */ lui $t5, (0x00504340 >> 16) # lui $t5, 0x50 -/* 0B5174 7F080644 35AD4340 */ ori $t5, (0x00504340 & 0xFFFF) # ori $t5, $t5, 0x4340 -/* 0B5178 7F080648 ACCC0000 */ sw $t4, ($a2) -/* 0B517C 7F08064C 02001025 */ move $v0, $s0 -/* 0B5180 7F080650 ACCD0004 */ sw $t5, 4($a2) -/* 0B5184 7F080654 3C0FFFFD */ lui $t7, (0xFFFDF6FB >> 16) # lui $t7, 0xfffd -/* 0B5188 7F080658 3C0EFCFF */ lui $t6, (0xFCFFFFFF >> 16) # lui $t6, 0xfcff -/* 0B518C 7F08065C 310B00FF */ andi $t3, $t0, 0xff -/* 0B5190 7F080660 35CEFFFF */ ori $t6, (0xFCFFFFFF & 0xFFFF) # ori $t6, $t6, 0xffff -/* 0B5194 7F080664 35EFF6FB */ ori $t7, (0xFFFDF6FB & 0xFFFF) # ori $t7, $t7, 0xf6fb -/* 0B5198 7F080668 000B6400 */ sll $t4, $t3, 0x10 -/* 0B519C 7F08066C 440B5000 */ mfc1 $t3, $f10 -/* 0B51A0 7F080670 AC4F0004 */ sw $t7, 4($v0) -/* 0B51A4 7F080674 AC4E0000 */ sw $t6, ($v0) -/* 0B51A8 7F080678 26100008 */ addiu $s0, $s0, 8 -/* 0B51AC 7F08067C 00075600 */ sll $t2, $a3, 0x18 -/* 0B51B0 7F080680 014C6825 */ or $t5, $t2, $t4 -/* 0B51B4 7F080684 02001825 */ move $v1, $s0 -/* 0B51B8 7F080688 312E00FF */ andi $t6, $t1, 0xff -/* 0B51BC 7F08068C 3C18FA00 */ lui $t8, 0xfa00 -/* 0B51C0 7F080690 AC780000 */ sw $t8, ($v1) -/* 0B51C4 7F080694 000E7A00 */ sll $t7, $t6, 8 -/* 0B51C8 7F080698 01AFC025 */ or $t8, $t5, $t7 -/* 0B51CC 7F08069C 316A00FF */ andi $t2, $t3, 0xff -/* 0B51D0 7F0806A0 030A6025 */ or $t4, $t8, $t2 -/* 0B51D4 7F0806A4 AC6C0004 */ sw $t4, 4($v1) -/* 0B51D8 7F0806A8 26100008 */ addiu $s0, $s0, 8 -/* 0B51DC 7F0806AC AFB0003C */ sw $s0, 0x3c($sp) -/* 0B51E0 7F0806B0 0C001127 */ jal get_video2_settings_width -/* 0B51E4 7F0806B4 26100008 */ addiu $s0, $s0, 8 -/* 0B51E8 7F0806B8 0C001145 */ jal get_video2_settings_ulx -/* 0B51EC 7F0806BC A7A20026 */ sh $v0, 0x26($sp) -/* 0B51F0 7F0806C0 0C001149 */ jal get_video2_settings_uly -/* 0B51F4 7F0806C4 A7A20028 */ sh $v0, 0x28($sp) -/* 0B51F8 7F0806C8 0C00112B */ jal get_video2_settings_height -/* 0B51FC 7F0806CC A7A2002A */ sh $v0, 0x2a($sp) -/* 0B5200 7F0806D0 87AE0028 */ lh $t6, 0x28($sp) -/* 0B5204 7F0806D4 87AD0026 */ lh $t5, 0x26($sp) -/* 0B5208 7F0806D8 87B8002A */ lh $t8, 0x2a($sp) -/* 0B520C 7F0806DC 3C01F600 */ lui $at, 0xf600 -/* 0B5210 7F0806E0 01CD7821 */ addu $t7, $t6, $t5 -/* 0B5214 7F0806E4 00585021 */ addu $t2, $v0, $t8 -/* 0B5218 7F0806E8 314C03FF */ andi $t4, $t2, 0x3ff -/* 0B521C 7F0806EC 31F903FF */ andi $t9, $t7, 0x3ff -/* 0B5220 7F0806F0 00195B80 */ sll $t3, $t9, 0xe -/* 0B5224 7F0806F4 000C7080 */ sll $t6, $t4, 2 -/* 0B5228 7F0806F8 8FB9003C */ lw $t9, 0x3c($sp) -/* 0B522C 7F0806FC 01C16825 */ or $t5, $t6, $at -/* 0B5230 7F080700 01AB7825 */ or $t7, $t5, $t3 -/* 0B5234 7F080704 0C001145 */ jal get_video2_settings_ulx -/* 0B5238 7F080708 AF2F0000 */ sw $t7, ($t9) -/* 0B523C 7F08070C 0C001149 */ jal get_video2_settings_uly -/* 0B5240 7F080710 A7A2002A */ sh $v0, 0x2a($sp) -/* 0B5244 7F080714 87AC002A */ lh $t4, 0x2a($sp) -/* 0B5248 7F080718 8FAF003C */ lw $t7, 0x3c($sp) -/* 0B524C 7F08071C 305803FF */ andi $t8, $v0, 0x3ff -/* 0B5250 7F080720 318E03FF */ andi $t6, $t4, 0x3ff -/* 0B5254 7F080724 000E6B80 */ sll $t5, $t6, 0xe -/* 0B5258 7F080728 00185080 */ sll $t2, $t8, 2 -/* 0B525C 7F08072C 014D5825 */ or $t3, $t2, $t5 -/* 0B5260 7F080730 02001825 */ move $v1, $s0 -/* 0B5264 7F080734 ADEB0004 */ sw $t3, 4($t7) -/* 0B5268 7F080738 26100008 */ addiu $s0, $s0, 8 -/* 0B526C 7F08073C 3C19E700 */ lui $t9, 0xe700 -/* 0B5270 7F080740 02002025 */ move $a0, $s0 -/* 0B5274 7F080744 AC790000 */ sw $t9, ($v1) -/* 0B5278 7F080748 AC600004 */ sw $zero, 4($v1) -/* 0B527C 7F08074C 26100008 */ addiu $s0, $s0, 8 -/* 0B5280 7F080750 3C18BA00 */ lui $t8, (0xBA000602 >> 16) # lui $t8, 0xba00 -/* 0B5284 7F080754 37180602 */ ori $t8, (0xBA000602 & 0xFFFF) # ori $t8, $t8, 0x602 -/* 0B5288 7F080758 240C0040 */ li $t4, 64 -/* 0B528C 7F08075C 02002825 */ move $a1, $s0 -/* 0B5290 7F080760 AC8C0004 */ sw $t4, 4($a0) -/* 0B5294 7F080764 AC980000 */ sw $t8, ($a0) -/* 0B5298 7F080768 26100008 */ addiu $s0, $s0, 8 -/* 0B529C 7F08076C 3C0EBA00 */ lui $t6, (0xBA001301 >> 16) # lui $t6, 0xba00 -/* 0B52A0 7F080770 35CE1301 */ ori $t6, (0xBA001301 & 0xFFFF) # ori $t6, $t6, 0x1301 -/* 0B52A4 7F080774 3C0A0008 */ lui $t2, 8 -/* 0B52A8 7F080778 02003025 */ move $a2, $s0 -/* 0B52AC 7F08077C ACAA0004 */ sw $t2, 4($a1) -/* 0B52B0 7F080780 ACAE0000 */ sw $t6, ($a1) -/* 0B52B4 7F080784 3C0DBA00 */ lui $t5, (0xBA001001 >> 16) # lui $t5, 0xba00 -/* 0B52B8 7F080788 35AD1001 */ ori $t5, (0xBA001001 & 0xFFFF) # ori $t5, $t5, 0x1001 -/* 0B52BC 7F08078C 3C0B0001 */ lui $t3, 1 -/* 0B52C0 7F080790 ACCB0004 */ sw $t3, 4($a2) -/* 0B52C4 7F080794 ACCD0000 */ sw $t5, ($a2) -/* 0B52C8 7F080798 26100008 */ addiu $s0, $s0, 8 -.L7F08079C: -/* 0B52CC 7F08079C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B52D0 7F0807A0 02001025 */ move $v0, $s0 -/* 0B52D4 7F0807A4 8FB00018 */ lw $s0, 0x18($sp) -/* 0B52D8 7F0807A8 03E00008 */ jr $ra -/* 0B52DC 7F0807AC 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -void set_rgba_tint(s32 arg0, s32 arg1, s32 arg2, f32 arg3) { - pPlayer->tint_red = arg0; - pPlayer->tint_green = arg1; - pPlayer->tint_blue = arg2; - pPlayer->tint_alpha = arg3; -} - - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0807E0(f32 arg0, s32 arg1, ?32 arg2, ?32 arg3, f32 arg4) { - // Node 0 - pPlayer->field_3E0 = 0.0f; - pPlayer->time_for_fade = arg0; - pPlayer->field_3E8 = (?32) pPlayer->tint_red; - pPlayer->field_3EC = arg1; - pPlayer->field_3F0 = (?32) pPlayer->tint_green; - pPlayer->field_3F4 = arg2; - pPlayer->field_3F8 = (?32) pPlayer->tint_blue; - pPlayer->field_3FC = arg3; - pPlayer->field_400 = (f32) pPlayer->tint_alpha; - pPlayer->field_404 = arg4; - return pPlayer; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0807E0 -/* 0B5310 7F0807E0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B5314 7F0807E4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B5318 7F0807E8 8C6E0000 */ lw $t6, ($v1) -/* 0B531C 7F0807EC 44802000 */ mtc1 $zero, $f4 -/* 0B5320 7F0807F0 00000000 */ nop -/* 0B5324 7F0807F4 E5C403E0 */ swc1 $f4, 0x3e0($t6) -/* 0B5328 7F0807F8 8C6F0000 */ lw $t7, ($v1) -/* 0B532C 7F0807FC E5EC03E4 */ swc1 $f12, 0x3e4($t7) -/* 0B5330 7F080800 8C620000 */ lw $v0, ($v1) -/* 0B5334 7F080804 8C5803D0 */ lw $t8, 0x3d0($v0) -/* 0B5338 7F080808 AC5803E8 */ sw $t8, 0x3e8($v0) -/* 0B533C 7F08080C 8C790000 */ lw $t9, ($v1) -/* 0B5340 7F080810 AF2503EC */ sw $a1, 0x3ec($t9) -/* 0B5344 7F080814 8C620000 */ lw $v0, ($v1) -/* 0B5348 7F080818 8C4803D4 */ lw $t0, 0x3d4($v0) -/* 0B534C 7F08081C AC4803F0 */ sw $t0, 0x3f0($v0) -/* 0B5350 7F080820 8C690000 */ lw $t1, ($v1) -/* 0B5354 7F080824 AD2603F4 */ sw $a2, 0x3f4($t1) -/* 0B5358 7F080828 8C620000 */ lw $v0, ($v1) -/* 0B535C 7F08082C 8C4A03D8 */ lw $t2, 0x3d8($v0) -/* 0B5360 7F080830 AC4A03F8 */ sw $t2, 0x3f8($v0) -/* 0B5364 7F080834 8C6B0000 */ lw $t3, ($v1) -/* 0B5368 7F080838 AD6703FC */ sw $a3, 0x3fc($t3) -/* 0B536C 7F08083C 8C620000 */ lw $v0, ($v1) -/* 0B5370 7F080840 C44603DC */ lwc1 $f6, 0x3dc($v0) -/* 0B5374 7F080844 E4460400 */ swc1 $f6, 0x400($v0) -/* 0B5378 7F080848 8C6C0000 */ lw $t4, ($v1) -/* 0B537C 7F08084C C7A80010 */ lwc1 $f8, 0x10($sp) -/* 0B5380 7F080850 03E00008 */ jr $ra -/* 0B5384 7F080854 E5880404 */ swc1 $f8, 0x404($t4) -) -#endif - - - - - -#ifdef NONMATCHING -void fade_to_over_seconds(f32 arg1) { - // Node 0 - return sub_GAME_7F0807E0(pPlayer->tint_red, pPlayer->tint_green, pPlayer->tint_blue); -} - -#else -GLOBAL_ASM( -.text -glabel fade_to_over_seconds -/* 0B5388 7F080858 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B538C 7F08085C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B5390 7F080860 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B5394 7F080864 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B5398 7F080868 8C4703D8 */ lw $a3, 0x3d8($v0) -/* 0B539C 7F08086C 8C4603D4 */ lw $a2, 0x3d4($v0) -/* 0B53A0 7F080870 8C4503D0 */ lw $a1, 0x3d0($v0) -/* 0B53A4 7F080874 0FC201F8 */ jal sub_GAME_7F0807E0 -/* 0B53A8 7F080878 E7AE0010 */ swc1 $f14, 0x10($sp) -/* 0B53AC 7F08087C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B53B0 7F080880 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B53B4 7F080884 03E00008 */ jr $ra -/* 0B53B8 7F080888 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_fade_to_black_complete(void) { - // Node 0 - if (pPlayer->time_for_fade < 0.0f) - { - // Node 1 - } - // Node 2 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel check_if_fade_to_black_complete -/* 0B53BC 7F08088C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B53C0 7F080890 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B53C4 7F080894 44803000 */ mtc1 $zero, $f6 -/* 0B53C8 7F080898 00001025 */ move $v0, $zero -/* 0B53CC 7F08089C C5C403E4 */ lwc1 $f4, 0x3e4($t6) -/* 0B53D0 7F0808A0 4606203C */ c.lt.s $f4, $f6 -/* 0B53D4 7F0808A4 00000000 */ nop -/* 0B53D8 7F0808A8 45000002 */ bc1f .L7F0808B4 -/* 0B53DC 7F0808AC 00000000 */ nop -/* 0B53E0 7F0808B0 24020001 */ li $v0, 1 -.L7F0808B4: -/* 0B53E4 7F0808B4 03E00008 */ jr $ra -/* 0B53E8 7F0808B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0808BC(void) { - f32 temp_f12; - - // Node 0 - if (0.0f <= pPlayer->time_for_fade) - { - // Node 1 - pPlayer->field_3E0 = (f32) (pPlayer->field_3E0 + global_timer_delta); - if (pPlayer->field_3E0 < pPlayer->time_for_fade) - { - // Node 2 - 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->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; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0808BC -/* 0B53EC 7F0808BC 3C068008 */ lui $a2, %hi(pPlayer) -/* 0B53F0 7F0808C0 24C6A0B0 */ addiu $a2, %lo(pPlayer) # addiu $a2, $a2, -0x5f50 -/* 0B53F4 7F0808C4 8CC20000 */ lw $v0, ($a2) -/* 0B53F8 7F0808C8 44803000 */ mtc1 $zero, $f6 -/* 0B53FC 7F0808CC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B5400 7F0808D0 C44403E4 */ lwc1 $f4, 0x3e4($v0) -/* 0B5404 7F0808D4 4604303E */ c.le.s $f6, $f4 -/* 0B5408 7F0808D8 00000000 */ nop -/* 0B540C 7F0808DC 4500004A */ bc1f .L7F080A08 -/* 0B5410 7F0808E0 00000000 */ nop -/* 0B5414 7F0808E4 C44803E0 */ lwc1 $f8, 0x3e0($v0) -/* 0B5418 7F0808E8 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 0B541C 7F0808EC 460A4400 */ add.s $f16, $f8, $f10 -/* 0B5420 7F0808F0 E45003E0 */ swc1 $f16, 0x3e0($v0) -/* 0B5424 7F0808F4 8CC20000 */ lw $v0, ($a2) -/* 0B5428 7F0808F8 C44203E0 */ lwc1 $f2, 0x3e0($v0) -/* 0B542C 7F0808FC C44003E4 */ lwc1 $f0, 0x3e4($v0) -/* 0B5430 7F080900 4600103C */ c.lt.s $f2, $f0 -/* 0B5434 7F080904 00000000 */ nop -/* 0B5438 7F080908 45020031 */ bc1fl .L7F0809D0 -/* 0B543C 7F08090C C44A0404 */ lwc1 $f10, 0x404($v0) -/* 0B5440 7F080910 46001303 */ div.s $f12, $f2, $f0 -/* 0B5444 7F080914 C44E0400 */ lwc1 $f14, 0x400($v0) -/* 0B5448 7F080918 C4520404 */ lwc1 $f18, 0x404($v0) -/* 0B544C 7F08091C 460E9101 */ sub.s $f4, $f18, $f14 -/* 0B5450 7F080920 460C2182 */ mul.s $f6, $f4, $f12 -/* 0B5454 7F080924 46067200 */ add.s $f8, $f14, $f6 -/* 0B5458 7F080928 E44803DC */ swc1 $f8, 0x3dc($v0) -/* 0B545C 7F08092C 8CC20000 */ lw $v0, ($a2) -/* 0B5460 7F080930 8C4303E8 */ lw $v1, 0x3e8($v0) -/* 0B5464 7F080934 8C4E03EC */ lw $t6, 0x3ec($v0) -/* 0B5468 7F080938 01C37823 */ subu $t7, $t6, $v1 -/* 0B546C 7F08093C 448F5000 */ mtc1 $t7, $f10 -/* 0B5470 7F080940 00000000 */ nop -/* 0B5474 7F080944 46805420 */ cvt.s.w $f16, $f10 -/* 0B5478 7F080948 460C8482 */ mul.s $f18, $f16, $f12 -/* 0B547C 7F08094C 4600910D */ trunc.w.s $f4, $f18 -/* 0B5480 7F080950 44192000 */ mfc1 $t9, $f4 -/* 0B5484 7F080954 00000000 */ nop -/* 0B5488 7F080958 00794021 */ addu $t0, $v1, $t9 -/* 0B548C 7F08095C AC4803D0 */ sw $t0, 0x3d0($v0) -/* 0B5490 7F080960 8CC20000 */ lw $v0, ($a2) -/* 0B5494 7F080964 8C4403F0 */ lw $a0, 0x3f0($v0) -/* 0B5498 7F080968 8C4903F4 */ lw $t1, 0x3f4($v0) -/* 0B549C 7F08096C 01245023 */ subu $t2, $t1, $a0 -/* 0B54A0 7F080970 448A3000 */ mtc1 $t2, $f6 -/* 0B54A4 7F080974 00000000 */ nop -/* 0B54A8 7F080978 46803220 */ cvt.s.w $f8, $f6 -/* 0B54AC 7F08097C 460C4282 */ mul.s $f10, $f8, $f12 -/* 0B54B0 7F080980 4600540D */ trunc.w.s $f16, $f10 -/* 0B54B4 7F080984 440C8000 */ mfc1 $t4, $f16 -/* 0B54B8 7F080988 00000000 */ nop -/* 0B54BC 7F08098C 008C6821 */ addu $t5, $a0, $t4 -/* 0B54C0 7F080990 AC4D03D4 */ sw $t5, 0x3d4($v0) -/* 0B54C4 7F080994 8CC20000 */ lw $v0, ($a2) -/* 0B54C8 7F080998 8C4503F8 */ lw $a1, 0x3f8($v0) -/* 0B54CC 7F08099C 8C4E03FC */ lw $t6, 0x3fc($v0) -/* 0B54D0 7F0809A0 01C57823 */ subu $t7, $t6, $a1 -/* 0B54D4 7F0809A4 448F9000 */ mtc1 $t7, $f18 -/* 0B54D8 7F0809A8 00000000 */ nop -/* 0B54DC 7F0809AC 46809120 */ cvt.s.w $f4, $f18 -/* 0B54E0 7F0809B0 460C2182 */ mul.s $f6, $f4, $f12 -/* 0B54E4 7F0809B4 4600320D */ trunc.w.s $f8, $f6 -/* 0B54E8 7F0809B8 44194000 */ mfc1 $t9, $f8 -/* 0B54EC 7F0809BC 00000000 */ nop -/* 0B54F0 7F0809C0 00B94021 */ addu $t0, $a1, $t9 -/* 0B54F4 7F0809C4 03E00008 */ jr $ra -/* 0B54F8 7F0809C8 AC4803D8 */ sw $t0, 0x3d8($v0) - -/* 0B54FC 7F0809CC C44A0404 */ lwc1 $f10, 0x404($v0) -.L7F0809D0: -/* 0B5500 7F0809D0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B5504 7F0809D4 44818000 */ mtc1 $at, $f16 -/* 0B5508 7F0809D8 E44A03DC */ swc1 $f10, 0x3dc($v0) -/* 0B550C 7F0809DC 8CC20000 */ lw $v0, ($a2) -/* 0B5510 7F0809E0 8C4903EC */ lw $t1, 0x3ec($v0) -/* 0B5514 7F0809E4 AC4903D0 */ sw $t1, 0x3d0($v0) -/* 0B5518 7F0809E8 8CC20000 */ lw $v0, ($a2) -/* 0B551C 7F0809EC 8C4A03F4 */ lw $t2, 0x3f4($v0) -/* 0B5520 7F0809F0 AC4A03D4 */ sw $t2, 0x3d4($v0) -/* 0B5524 7F0809F4 8CC20000 */ lw $v0, ($a2) -/* 0B5528 7F0809F8 8C4B03FC */ lw $t3, 0x3fc($v0) -/* 0B552C 7F0809FC AC4B03D8 */ sw $t3, 0x3d8($v0) -/* 0B5530 7F080A00 8CCC0000 */ lw $t4, ($a2) -/* 0B5534 7F080A04 E59003E4 */ swc1 $f16, 0x3e4($t4) -.L7F080A08: -/* 0B5538 7F080A08 03E00008 */ jr $ra -/* 0B553C 7F080A0C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *set_curplayer_fade(f32 arg0, f32 arg1) { - f32 temp_f8; - f32 phi_f8; - - // Node 0 - if (pPlayer->field_A8->unk4 != 0) - { - // Node 1 - 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) - { - // Node 2 - phi_f8 = (temp_f8 + 4294967296.0f); - } - // Node 3 - pPlayer->bondfadetimemax = (f32) (phi_f8 / 255.0f); - pPlayer->bondfadefracold = arg1; - } - // Node 4 - return pPlayer->field_A8->unk4; -} -#else -GLOBAL_ASM( -.text -glabel set_curplayer_fade -/* 0B5540 7F080A10 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B5544 7F080A14 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0B5548 7F080A18 8C830000 */ lw $v1, ($a0) -/* 0B554C 7F080A1C 8C6E00A8 */ lw $t6, 0xa8($v1) -/* 0B5550 7F080A20 8DC20004 */ lw $v0, 4($t6) -/* 0B5554 7F080A24 10400014 */ beqz $v0, .L7F080A78 -/* 0B5558 7F080A28 00000000 */ nop -/* 0B555C 7F080A2C 44802000 */ mtc1 $zero, $f4 -/* 0B5560 7F080A30 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0B5564 7F080A34 E464018C */ swc1 $f4, 0x18c($v1) -/* 0B5568 7F080A38 8C8F0000 */ lw $t7, ($a0) -/* 0B556C 7F080A3C E5EC0190 */ swc1 $f12, 0x190($t7) -/* 0B5570 7F080A40 9058000C */ lbu $t8, 0xc($v0) -/* 0B5574 7F080A44 44983000 */ mtc1 $t8, $f6 -/* 0B5578 7F080A48 07010004 */ bgez $t8, .L7F080A5C -/* 0B557C 7F080A4C 46803220 */ cvt.s.w $f8, $f6 -/* 0B5580 7F080A50 44815000 */ mtc1 $at, $f10 -/* 0B5584 7F080A54 00000000 */ nop -/* 0B5588 7F080A58 460A4200 */ add.s $f8, $f8, $f10 -.L7F080A5C: -/* 0B558C 7F080A5C 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0B5590 7F080A60 44818000 */ mtc1 $at, $f16 -/* 0B5594 7F080A64 8C990000 */ lw $t9, ($a0) -/* 0B5598 7F080A68 46104483 */ div.s $f18, $f8, $f16 -/* 0B559C 7F080A6C E7320194 */ swc1 $f18, 0x194($t9) -/* 0B55A0 7F080A70 8C880000 */ lw $t0, ($a0) -/* 0B55A4 7F080A74 E50E0198 */ swc1 $f14, 0x198($t0) -.L7F080A78: -/* 0B55A8 7F080A78 03E00008 */ jr $ra -/* 0B55AC 7F080A7C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *update_curplayer_fade(void) { - f32 phi_f12; - - // Node 0 - if (0.0f <= pPlayer->bondfadetime60) - { - // Node 1 - pPlayer->viewport_alpha = (f32) (pPlayer->viewport_alpha + *(void *)0x80050000); - if (pPlayer->viewport_alpha < pPlayer->bondfadetime60) - { - // Node 2 - phi_f12 = (pPlayer->bondfadetimemax + (((pPlayer->bondfadefracold - pPlayer->bondfadetimemax) * pPlayer->viewport_alpha) / pPlayer->bondfadetime60)); - } - else - { - // Node 3 - pPlayer->bondfadetime60 = -1.0f; - phi_f12 = pPlayer->bondfadefracold; - } - // Node 4 - if (pPlayer->field_A8->unk4 != 0) - { - // Node 5 - pPlayer->field_A8->unk4->unkC = (s32) (phi_f12 * 255.0f); - } - } - // Node 6 - return pPlayer; -} -#else -GLOBAL_ASM( -.text -glabel update_curplayer_fade -/* 0B55B0 7F080A80 3C048008 */ lui $a0, %hi(pPlayer) -/* 0B55B4 7F080A84 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0B55B8 7F080A88 8C820000 */ lw $v0, ($a0) -/* 0B55BC 7F080A8C 44803000 */ mtc1 $zero, $f6 -/* 0B55C0 7F080A90 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B55C4 7F080A94 C4440190 */ lwc1 $f4, 0x190($v0) -/* 0B55C8 7F080A98 4604303E */ c.le.s $f6, $f4 -/* 0B55CC 7F080A9C 00000000 */ nop -/* 0B55D0 7F080AA0 45000022 */ bc1f .L7F080B2C -/* 0B55D4 7F080AA4 00000000 */ nop -/* 0B55D8 7F080AA8 C448018C */ lwc1 $f8, 0x18c($v0) -/* 0B55DC 7F080AAC C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 0B55E0 7F080AB0 8C4E00A8 */ lw $t6, 0xa8($v0) -/* 0B55E4 7F080AB4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B55E8 7F080AB8 460A4400 */ add.s $f16, $f8, $f10 -/* 0B55EC 7F080ABC 8DC30004 */ lw $v1, 4($t6) -/* 0B55F0 7F080AC0 E450018C */ swc1 $f16, 0x18c($v0) -/* 0B55F4 7F080AC4 8C820000 */ lw $v0, ($a0) -/* 0B55F8 7F080AC8 C442018C */ lwc1 $f2, 0x18c($v0) -/* 0B55FC 7F080ACC C4400190 */ lwc1 $f0, 0x190($v0) -/* 0B5600 7F080AD0 4600103C */ c.lt.s $f2, $f0 -/* 0B5604 7F080AD4 00000000 */ nop -/* 0B5608 7F080AD8 45020009 */ bc1fl .L7F080B00 -/* 0B560C 7F080ADC 44815000 */ mtc1 $at, $f10 -/* 0B5610 7F080AE0 C44E0194 */ lwc1 $f14, 0x194($v0) -/* 0B5614 7F080AE4 C4520198 */ lwc1 $f18, 0x198($v0) -/* 0B5618 7F080AE8 460E9101 */ sub.s $f4, $f18, $f14 -/* 0B561C 7F080AEC 46022182 */ mul.s $f6, $f4, $f2 -/* 0B5620 7F080AF0 46003203 */ div.s $f8, $f6, $f0 -/* 0B5624 7F080AF4 10000004 */ b .L7F080B08 -/* 0B5628 7F080AF8 46087300 */ add.s $f12, $f14, $f8 -/* 0B562C 7F080AFC 44815000 */ mtc1 $at, $f10 -.L7F080B00: -/* 0B5630 7F080B00 C44C0198 */ lwc1 $f12, 0x198($v0) -/* 0B5634 7F080B04 E44A0190 */ swc1 $f10, 0x190($v0) -.L7F080B08: -/* 0B5638 7F080B08 10600008 */ beqz $v1, .L7F080B2C -/* 0B563C 7F080B0C 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0B5640 7F080B10 44818000 */ mtc1 $at, $f16 -/* 0B5644 7F080B14 00000000 */ nop -/* 0B5648 7F080B18 46106482 */ mul.s $f18, $f12, $f16 -/* 0B564C 7F080B1C 4600910D */ trunc.w.s $f4, $f18 -/* 0B5650 7F080B20 44182000 */ mfc1 $t8, $f4 -/* 0B5654 7F080B24 00000000 */ nop -/* 0B5658 7F080B28 A078000C */ sb $t8, 0xc($v1) -.L7F080B2C: -/* 0B565C 7F080B2C 03E00008 */ jr $ra -/* 0B5660 7F080B30 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F080B34(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel firstperson_weapon_movement_restrictor -.word 0x3c8efa35 /*0.017453292*/ -glabel D_800550D8 -.word 0x3c8efa35 /*0.017453292*/ -.text -glabel sub_GAME_7F080B34 -/* 0B5664 7F080B34 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 0B5668 7F080B38 AFB00038 */ sw $s0, 0x38($sp) -/* 0B566C 7F080B3C 3C108008 */ lui $s0, %hi(pPlayer) -/* 0B5670 7F080B40 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0B5674 7F080B44 4480A000 */ mtc1 $zero, $f20 -/* 0B5678 7F080B48 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0B567C 7F080B4C 8E020000 */ lw $v0, ($s0) -/* 0B5680 7F080B50 AFBF003C */ sw $ra, 0x3c($sp) -/* 0B5684 7F080B54 AFA600D8 */ sw $a2, 0xd8($sp) -/* 0B5688 7F080B58 E7B400CC */ swc1 $f20, 0xcc($sp) -/* 0B568C 7F080B5C 8C4E00D8 */ lw $t6, 0xd8($v0) -/* 0B5690 7F080B60 55C00014 */ bnezl $t6, .L7F080BB4 -/* 0B5694 7F080B64 8C4F0420 */ lw $t7, 0x420($v0) -/* 0B5698 7F080B68 E7AC00D0 */ swc1 $f12, 0xd0($sp) -/* 0B569C 7F080B6C 0FC23A2F */ jal sub_GAME_7F08E8BC -/* 0B56A0 7F080B70 E7AE00D4 */ swc1 $f14, 0xd4($sp) -/* 0B56A4 7F080B74 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 0B56A8 7F080B78 C7AE00D4 */ lwc1 $f14, 0xd4($sp) -/* 0B56AC 7F080B7C 46146032 */ c.eq.s $f12, $f20 -/* 0B56B0 7F080B80 00000000 */ nop -/* 0B56B4 7F080B84 45030005 */ bc1tl .L7F080B9C -/* 0B56B8 7F080B88 46147032 */ c.eq.s $f14, $f20 -/* 0B56BC 7F080B8C 460C7103 */ div.s $f4, $f14, $f12 -/* 0B56C0 7F080B90 10000028 */ b .L7F080C34 -/* 0B56C4 7F080B94 E7A400CC */ swc1 $f4, 0xcc($sp) -/* 0B56C8 7F080B98 46147032 */ c.eq.s $f14, $f20 -.L7F080B9C: -/* 0B56CC 7F080B9C 00000000 */ nop -/* 0B56D0 7F080BA0 45020025 */ bc1fl .L7F080C38 -/* 0B56D4 7F080BA4 C7AC00CC */ lwc1 $f12, 0xcc($sp) -/* 0B56D8 7F080BA8 10000023 */ b .L7F080C38 -/* 0B56DC 7F080BAC C7AC00CC */ lwc1 $f12, 0xcc($sp) -/* 0B56E0 7F080BB0 8C4F0420 */ lw $t7, 0x420($v0) -.L7F080BB4: -/* 0B56E4 7F080BB4 51E0001B */ beql $t7, $zero, .L7F080C24 -/* 0B56E8 7F080BB8 3C013F00 */ lui $at, 0x3f00 -/* 0B56EC 7F080BBC 0C002914 */ jal get_random_value -/* 0B56F0 7F080BC0 00000000 */ nop -/* 0B56F4 7F080BC4 0C002914 */ jal get_random_value -/* 0B56F8 7F080BC8 AFA20044 */ sw $v0, 0x44($sp) -/* 0B56FC 7F080BCC 3C198003 */ lui $t9, %hi(D_8003650C) -/* 0B5700 7F080BD0 8F39650C */ lw $t9, %lo(D_8003650C)($t9) -/* 0B5704 7F080BD4 8FB80044 */ lw $t8, 0x44($sp) -/* 0B5708 7F080BD8 3C0A8003 */ lui $t2, %hi(D_800364D8) -/* 0B570C 7F080BDC 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 0B5710 7F080BE0 0319001B */ divu $zero, $t8, $t9 -/* 0B5714 7F080BE4 00004010 */ mfhi $t0 -/* 0B5718 7F080BE8 00084880 */ sll $t1, $t0, 2 -/* 0B571C 7F080BEC 01495021 */ addu $t2, $t2, $t1 -/* 0B5720 7F080BF0 8D4A64D8 */ lw $t2, %lo(D_800364D8)($t2) -/* 0B5724 7F080BF4 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 0B5728 7F080BF8 4406A000 */ mfc1 $a2, $f20 -/* 0B572C 7F080BFC 17200002 */ bnez $t9, .L7F080C08 -/* 0B5730 7F080C00 00000000 */ nop -/* 0B5734 7F080C04 0007000D */ break 7 -.L7F080C08: -/* 0B5738 7F080C08 30450001 */ andi $a1, $v0, 1 -/* 0B573C 7F080C0C 3C073F80 */ lui $a3, 0x3f80 -/* 0B5740 7F080C10 0FC23A92 */ jal sub_GAME_7F08EA48 -/* 0B5744 7F080C14 014B2021 */ addu $a0, $t2, $t3 -/* 0B5748 7F080C18 8E0C0000 */ lw $t4, ($s0) -/* 0B574C 7F080C1C AD800420 */ sw $zero, 0x420($t4) -/* 0B5750 7F080C20 3C013F00 */ li $at, 0x3F000000 # 0.500000 -.L7F080C24: -/* 0B5754 7F080C24 44816000 */ mtc1 $at, $f12 -/* 0B5758 7F080C28 0FC23AAE */ jal sub_GAME_7F08EAB8 -/* 0B575C 7F080C2C 00000000 */ nop -/* 0B5760 7F080C30 E7B400D8 */ swc1 $f20, 0xd8($sp) -.L7F080C34: -/* 0B5764 7F080C34 C7AC00CC */ lwc1 $f12, 0xcc($sp) -.L7F080C38: -/* 0B5768 7F080C38 0FC23890 */ jal sub_GAME_7F08E240 -/* 0B576C 7F080C3C C7AE00D8 */ lwc1 $f14, 0xd8($sp) -/* 0B5770 7F080C40 8E0D0000 */ lw $t5, ($s0) -/* 0B5774 7F080C44 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B5778 7F080C48 44813000 */ mtc1 $at, $f6 -/* 0B577C 7F080C4C C5A8015C */ lwc1 $f8, 0x15c($t5) -/* 0B5780 7F080C50 3C018005 */ lui $at, %hi(firstperson_weapon_movement_restrictor) -/* 0B5784 7F080C54 C43050D4 */ lwc1 $f16, %lo(firstperson_weapon_movement_restrictor)($at) -/* 0B5788 7F080C58 46083281 */ sub.s $f10, $f6, $f8 -/* 0B578C 7F080C5C 27A5008C */ addiu $a1, $sp, 0x8c -/* 0B5790 7F080C60 46105302 */ mul.s $f12, $f10, $f16 -/* 0B5794 7F080C64 0FC1615C */ jal sub_GAME_7F058570 -/* 0B5798 7F080C68 00000000 */ nop -/* 0B579C 7F080C6C 8E020000 */ lw $v0, ($s0) -/* 0B57A0 7F080C70 4405A000 */ mfc1 $a1, $f20 -/* 0B57A4 7F080C74 4406A000 */ mfc1 $a2, $f20 -/* 0B57A8 7F080C78 C4520508 */ lwc1 $f18, 0x508($v0) -/* 0B57AC 7F080C7C 4407A000 */ mfc1 $a3, $f20 -/* 0B57B0 7F080C80 27A4004C */ addiu $a0, $sp, 0x4c -/* 0B57B4 7F080C84 46009107 */ neg.s $f4, $f18 -/* 0B57B8 7F080C88 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0B57BC 7F080C8C C446050C */ lwc1 $f6, 0x50c($v0) -/* 0B57C0 7F080C90 46003207 */ neg.s $f8, $f6 -/* 0B57C4 7F080C94 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0B57C8 7F080C98 C44A0510 */ lwc1 $f10, 0x510($v0) -/* 0B57CC 7F080C9C 46005407 */ neg.s $f16, $f10 -/* 0B57D0 7F080CA0 E7B00018 */ swc1 $f16, 0x18($sp) -/* 0B57D4 7F080CA4 C4520514 */ lwc1 $f18, 0x514($v0) -/* 0B57D8 7F080CA8 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 0B57DC 7F080CAC C4440518 */ lwc1 $f4, 0x518($v0) -/* 0B57E0 7F080CB0 E7A40020 */ swc1 $f4, 0x20($sp) -/* 0B57E4 7F080CB4 C446051C */ lwc1 $f6, 0x51c($v0) -/* 0B57E8 7F080CB8 0FC16642 */ jal sub_GAME_7F059908 -/* 0B57EC 7F080CBC E7A60024 */ swc1 $f6, 0x24($sp) -/* 0B57F0 7F080CC0 27A4004C */ addiu $a0, $sp, 0x4c -/* 0B57F4 7F080CC4 0FC1601A */ jal sub_GAME_7F058068 -/* 0B57F8 7F080CC8 27A5008C */ addiu $a1, $sp, 0x8c -/* 0B57FC 7F080CCC 8E0E0000 */ lw $t6, ($s0) -/* 0B5800 7F080CD0 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B5804 7F080CD4 44814000 */ mtc1 $at, $f8 -/* 0B5808 7F080CD8 C5CA0148 */ lwc1 $f10, 0x148($t6) -/* 0B580C 7F080CDC 3C018005 */ lui $at, %hi(D_800550D8) -/* 0B5810 7F080CE0 C43250D8 */ lwc1 $f18, %lo(D_800550D8)($at) -/* 0B5814 7F080CE4 460A4401 */ sub.s $f16, $f8, $f10 -/* 0B5818 7F080CE8 27A5004C */ addiu $a1, $sp, 0x4c -/* 0B581C 7F080CEC 46128302 */ mul.s $f12, $f16, $f18 -/* 0B5820 7F080CF0 0FC1617F */ jal sub_GAME_7F0585FC -/* 0B5824 7F080CF4 00000000 */ nop -/* 0B5828 7F080CF8 27A4004C */ addiu $a0, $sp, 0x4c -/* 0B582C 7F080CFC 0FC1601A */ jal sub_GAME_7F058068 -/* 0B5830 7F080D00 27A5008C */ addiu $a1, $sp, 0x8c -/* 0B5834 7F080D04 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 0B5838 7F080D08 8E0F0000 */ lw $t7, ($s0) -/* 0B583C 7F080D0C E5E404C0 */ swc1 $f4, 0x4c0($t7) -/* 0B5840 7F080D10 8E180000 */ lw $t8, ($s0) -/* 0B5844 7F080D14 C7A600B0 */ lwc1 $f6, 0xb0($sp) -/* 0B5848 7F080D18 E70604C4 */ swc1 $f6, 0x4c4($t8) -/* 0B584C 7F080D1C 8E190000 */ lw $t9, ($s0) -/* 0B5850 7F080D20 C7A800B4 */ lwc1 $f8, 0xb4($sp) -/* 0B5854 7F080D24 E72804C8 */ swc1 $f8, 0x4c8($t9) -/* 0B5858 7F080D28 8E080000 */ lw $t0, ($s0) -/* 0B585C 7F080D2C C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 0B5860 7F080D30 E50A04CC */ swc1 $f10, 0x4cc($t0) -/* 0B5864 7F080D34 8E090000 */ lw $t1, ($s0) -/* 0B5868 7F080D38 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 0B586C 7F080D3C E53004D0 */ swc1 $f16, 0x4d0($t1) -/* 0B5870 7F080D40 8E0A0000 */ lw $t2, ($s0) -/* 0B5874 7F080D44 C7B200A4 */ lwc1 $f18, 0xa4($sp) -/* 0B5878 7F080D48 E55204D4 */ swc1 $f18, 0x4d4($t2) -/* 0B587C 7F080D4C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B5880 7F080D50 8FB00038 */ lw $s0, 0x38($sp) -/* 0B5884 7F080D54 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 0B5888 7F080D58 03E00008 */ jr $ra -/* 0B588C 7F080D5C 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F080D60(s32 arg1, ? arg2) { - f32 phi_f2; - - // Node 0 - if (ptr_playerstank != 0) - { - // Node 1 - phi_f2 = (sub_GAME_7F0B2970(arg1, arg2, ptr_playerstank->unk4->unk10->unk14, ptr_playerstank->unk4->unk10->unk8, ptr_playerstank->unk4->unk10->unk10, ptr_playerstank) + D_80036454); - } - else - { - // Node 2 - if (pPlayer->field_2A6C != 0) - { - // Node 3 - phi_f2 = sub_GAME_7F0B2970(arg1, arg2, pPlayer->field_2A70, arg1, arg2, ptr_playerstank); - } - else - { - // Node 4 - phi_f2 = sub_GAME_7F0B2970(arg1, arg2, arg1, arg2, ptr_playerstank); - } - } - // Node 5 - return phi_f2; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F080D60 -/* 0B5890 7F080D60 3C078003 */ lui $a3, %hi(ptr_playerstank) -/* 0B5894 7F080D64 8CE76450 */ lw $a3, %lo(ptr_playerstank)($a3) -/* 0B5898 7F080D68 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B589C 7F080D6C 44856000 */ mtc1 $a1, $f12 -/* 0B58A0 7F080D70 44867000 */ mtc1 $a2, $f14 -/* 0B58A4 7F080D74 10E0000B */ beqz $a3, .L7F080DA4 -/* 0B58A8 7F080D78 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B58AC 7F080D7C 8CE30004 */ lw $v1, 4($a3) -/* 0B58B0 7F080D80 8C620010 */ lw $v0, 0x10($v1) -/* 0B58B4 7F080D84 8C440014 */ lw $a0, 0x14($v0) -/* 0B58B8 7F080D88 8C450008 */ lw $a1, 8($v0) -/* 0B58BC 7F080D8C 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0B58C0 7F080D90 8C460010 */ lw $a2, 0x10($v0) -/* 0B58C4 7F080D94 3C018003 */ lui $at, %hi(D_80036454) -/* 0B58C8 7F080D98 C4246454 */ lwc1 $f4, %lo(D_80036454)($at) -/* 0B58CC 7F080D9C 10000011 */ b .L7F080DE4 -/* 0B58D0 7F080DA0 46040080 */ add.s $f2, $f0, $f4 -.L7F080DA4: -/* 0B58D4 7F080DA4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B58D8 7F080DA8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B58DC 7F080DAC 8C4E2A6C */ lw $t6, 0x2a6c($v0) -/* 0B58E0 7F080DB0 51C00008 */ beql $t6, $zero, .L7F080DD4 -/* 0B58E4 7F080DB4 44056000 */ mfc1 $a1, $f12 -/* 0B58E8 7F080DB8 44056000 */ mfc1 $a1, $f12 -/* 0B58EC 7F080DBC 44067000 */ mfc1 $a2, $f14 -/* 0B58F0 7F080DC0 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0B58F4 7F080DC4 8C442A70 */ lw $a0, 0x2a70($v0) -/* 0B58F8 7F080DC8 10000006 */ b .L7F080DE4 -/* 0B58FC 7F080DCC 46000086 */ mov.s $f2, $f0 -/* 0B5900 7F080DD0 44056000 */ mfc1 $a1, $f12 -.L7F080DD4: -/* 0B5904 7F080DD4 44067000 */ mfc1 $a2, $f14 -/* 0B5908 7F080DD8 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0B590C 7F080DDC 00000000 */ nop -/* 0B5910 7F080DE0 46000086 */ mov.s $f2, $f0 -.L7F080DE4: -/* 0B5914 7F080DE4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B5918 7F080DE8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B591C 7F080DEC 46001006 */ mov.s $f0, $f2 -/* 0B5920 7F080DF0 03E00008 */ jr $ra -/* 0B5924 7F080DF4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F080DF8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800550DC -.word 0x3e2e147c /*0.17000002*/ -glabel D_800550E0 -.word 0x3f547ae1 /*0.82999998*/ -glabel D_800550E4 -.word 0x3e2e147c /*0.17000002*/ -glabel D_800550E8 -.word 0x3f547ae1 /*0.82999998*/ -glabel D_800550EC -.word 0x3fb1c71d /*1.388889*/ -glabel player_gravity_modifier -.word 0x3e8e38e4 /*0.27777779*/ -glabel player_view_gravity_modifier -.word 0x3e8e38e4 /*0.27777779*/ -glabel D_800550F8 -.word 0xc1555555 /*-13.333333*/ -glabel D_800550FC -.word 0x41055555 /*8.333333*/ -glabel D_80055100 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80055104 -.word 0x3e4ccccc /*0.19999999*/ -.text -glabel sub_GAME_7F080DF8 -/* 0B5928 7F080DF8 3C0E8003 */ lui $t6, %hi(in_tank_flag) -/* 0B592C 7F080DFC 8DCE6448 */ lw $t6, %lo(in_tank_flag)($t6) -/* 0B5930 7F080E00 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0B5934 7F080E04 44856000 */ mtc1 $a1, $f12 -/* 0B5938 7F080E08 24010001 */ li $at, 1 -/* 0B593C 7F080E0C AFBF0024 */ sw $ra, 0x24($sp) -/* 0B5940 7F080E10 15C1002C */ bne $t6, $at, .L7F080EC4 -/* 0B5944 7F080E14 AFB00020 */ sw $s0, 0x20($sp) -/* 0B5948 7F080E18 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B594C 7F080E1C 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5950 7F080E20 8D100000 */ lw $s0, ($t0) -/* 0B5954 7F080E24 8E040488 */ lw $a0, 0x488($s0) -/* 0B5958 7F080E28 8E05048C */ lw $a1, 0x48c($s0) -/* 0B595C 7F080E2C 0FC20358 */ jal sub_GAME_7F080D60 -/* 0B5960 7F080E30 8E060494 */ lw $a2, 0x494($s0) -/* 0B5964 7F080E34 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5968 7F080E38 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B596C 7F080E3C 8D0F0000 */ lw $t7, ($t0) -/* 0B5970 7F080E40 3C018005 */ lui $at, %hi(D_800550DC) -/* 0B5974 7F080E44 C42250DC */ lwc1 $f2, %lo(D_800550DC)($at) -/* 0B5978 7F080E48 E5E00074 */ swc1 $f0, 0x74($t7) -/* 0B597C 7F080E4C 8D100000 */ lw $s0, ($t0) -/* 0B5980 7F080E50 3C078005 */ lui $a3, %hi(clock_timer) -/* 0B5984 7F080E54 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c -/* 0B5988 7F080E58 C6040070 */ lwc1 $f4, 0x70($s0) -/* 0B598C 7F080E5C 3C018005 */ lui $at, %hi(D_800550E0) -/* 0B5990 7F080E60 00001825 */ move $v1, $zero -/* 0B5994 7F080E64 46022183 */ div.s $f6, $f4, $f2 -/* 0B5998 7F080E68 E606006C */ swc1 $f6, 0x6c($s0) -/* 0B599C 7F080E6C 8CF80000 */ lw $t8, ($a3) -/* 0B59A0 7F080E70 5B00000F */ blezl $t8, .L7F080EB0 -/* 0B59A4 7F080E74 8D100000 */ lw $s0, ($t0) -/* 0B59A8 7F080E78 C42050E0 */ lwc1 $f0, %lo(D_800550E0)($at) -/* 0B59AC 7F080E7C 8D100000 */ lw $s0, ($t0) -.L7F080E80: -/* 0B59B0 7F080E80 24630001 */ addiu $v1, $v1, 1 -/* 0B59B4 7F080E84 C608006C */ lwc1 $f8, 0x6c($s0) -/* 0B59B8 7F080E88 C6040074 */ lwc1 $f4, 0x74($s0) -/* 0B59BC 7F080E8C 46004282 */ mul.s $f10, $f8, $f0 -/* 0B59C0 7F080E90 46045180 */ add.s $f6, $f10, $f4 -/* 0B59C4 7F080E94 E606006C */ swc1 $f6, 0x6c($s0) -/* 0B59C8 7F080E98 8CF90000 */ lw $t9, ($a3) -/* 0B59CC 7F080E9C 0079082A */ slt $at, $v1, $t9 -/* 0B59D0 7F080EA0 5420FFF7 */ bnezl $at, .L7F080E80 -/* 0B59D4 7F080EA4 8D100000 */ lw $s0, ($t0) -/* 0B59D8 7F080EA8 00001825 */ move $v1, $zero -/* 0B59DC 7F080EAC 8D100000 */ lw $s0, ($t0) -.L7F080EB0: -/* 0B59E0 7F080EB0 44808000 */ mtc1 $zero, $f16 -/* 0B59E4 7F080EB4 C608006C */ lwc1 $f8, 0x6c($s0) -/* 0B59E8 7F080EB8 46024282 */ mul.s $f10, $f8, $f2 -/* 0B59EC 7F080EBC 10000136 */ b .L7F081398 -/* 0B59F0 7F080EC0 E60A0070 */ swc1 $f10, 0x70($s0) -.L7F080EC4: -/* 0B59F4 7F080EC4 10800016 */ beqz $a0, .L7F080F20 -/* 0B59F8 7F080EC8 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B59FC 7F080ECC 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5A00 7F080ED0 8D100000 */ lw $s0, ($t0) -/* 0B5A04 7F080ED4 C6040074 */ lwc1 $f4, 0x74($s0) -/* 0B5A08 7F080ED8 460C2180 */ add.s $f6, $f4, $f12 -/* 0B5A0C 7F080EDC E6060074 */ swc1 $f6, 0x74($s0) -/* 0B5A10 7F080EE0 8D100000 */ lw $s0, ($t0) -/* 0B5A14 7F080EE4 8E040488 */ lw $a0, 0x488($s0) -/* 0B5A18 7F080EE8 8E05048C */ lw $a1, 0x48c($s0) -/* 0B5A1C 7F080EEC 0FC20358 */ jal sub_GAME_7F080D60 -/* 0B5A20 7F080EF0 8E060494 */ lw $a2, 0x494($s0) -/* 0B5A24 7F080EF4 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5A28 7F080EF8 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5A2C 7F080EFC 8D100000 */ lw $s0, ($t0) -/* 0B5A30 7F080F00 C6080074 */ lwc1 $f8, 0x74($s0) -/* 0B5A34 7F080F04 4600403C */ c.lt.s $f8, $f0 -/* 0B5A38 7F080F08 00000000 */ nop -/* 0B5A3C 7F080F0C 45020034 */ bc1fl .L7F080FE0 -/* 0B5A40 7F080F10 8E0C2A6C */ lw $t4, 0x2a6c($s0) -/* 0B5A44 7F080F14 E6000074 */ swc1 $f0, 0x74($s0) -/* 0B5A48 7F080F18 10000030 */ b .L7F080FDC -/* 0B5A4C 7F080F1C 8D100000 */ lw $s0, ($t0) -.L7F080F20: -/* 0B5A50 7F080F20 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5A54 7F080F24 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5A58 7F080F28 8D100000 */ lw $s0, ($t0) -/* 0B5A5C 7F080F2C 27A5005C */ addiu $a1, $sp, 0x5c -/* 0B5A60 7F080F30 27A60058 */ addiu $a2, $sp, 0x58 -/* 0B5A64 7F080F34 8E090488 */ lw $t1, 0x488($s0) -/* 0B5A68 7F080F38 27A70054 */ addiu $a3, $sp, 0x54 -/* 0B5A6C 7F080F3C AFA90060 */ sw $t1, 0x60($sp) -/* 0B5A70 7F080F40 0FC2289D */ jal sub_GAME_7F08A274 -/* 0B5A74 7F080F44 8E0400A8 */ lw $a0, 0xa8($s0) -/* 0B5A78 7F080F48 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5A7C 7F080F4C 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5A80 7F080F50 8D100000 */ lw $s0, ($t0) -/* 0B5A84 7F080F54 8E040488 */ lw $a0, 0x488($s0) -/* 0B5A88 7F080F58 8E05048C */ lw $a1, 0x48c($s0) -/* 0B5A8C 7F080F5C 0FC20358 */ jal sub_GAME_7F080D60 -/* 0B5A90 7F080F60 8E060494 */ lw $a2, 0x494($s0) -/* 0B5A94 7F080F64 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5A98 7F080F68 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5A9C 7F080F6C 8D040000 */ lw $a0, ($t0) -/* 0B5AA0 7F080F70 0FC225E0 */ jal sub_GAME_7F089780 -/* 0B5AA4 7F080F74 E7A00064 */ swc1 $f0, 0x64($sp) -/* 0B5AA8 7F080F78 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5AAC 7F080F7C C7A20064 */ lwc1 $f2, 0x64($sp) -/* 0B5AB0 7F080F80 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5AB4 7F080F84 8D100000 */ lw $s0, ($t0) -/* 0B5AB8 7F080F88 46020280 */ add.s $f10, $f0, $f2 -/* 0B5ABC 7F080F8C 27A40060 */ addiu $a0, $sp, 0x60 -/* 0B5AC0 7F080F90 8E05048C */ lw $a1, 0x48c($s0) -/* 0B5AC4 7F080F94 8E060494 */ lw $a2, 0x494($s0) -/* 0B5AC8 7F080F98 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0B5ACC 7F080F9C 0FC2C9AE */ jal sub_GAME_7F0B26B8 -/* 0B5AD0 7F080FA0 8FA7005C */ lw $a3, 0x5c($sp) -/* 0B5AD4 7F080FA4 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5AD8 7F080FA8 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5ADC 7F080FAC 04400008 */ bltz $v0, .L7F080FD0 -/* 0B5AE0 7F080FB0 C7A20064 */ lwc1 $f2, 0x64($sp) -/* 0B5AE4 7F080FB4 8D0A0000 */ lw $t2, ($t0) -/* 0B5AE8 7F080FB8 C5400074 */ lwc1 $f0, 0x74($t2) -/* 0B5AEC 7F080FBC 4600103C */ c.lt.s $f2, $f0 -/* 0B5AF0 7F080FC0 00000000 */ nop -/* 0B5AF4 7F080FC4 45020003 */ bc1fl .L7F080FD4 -/* 0B5AF8 7F080FC8 8D0B0000 */ lw $t3, ($t0) -/* 0B5AFC 7F080FCC 46000086 */ mov.s $f2, $f0 -.L7F080FD0: -/* 0B5B00 7F080FD0 8D0B0000 */ lw $t3, ($t0) -.L7F080FD4: -/* 0B5B04 7F080FD4 E5620074 */ swc1 $f2, 0x74($t3) -/* 0B5B08 7F080FD8 8D100000 */ lw $s0, ($t0) -.L7F080FDC: -/* 0B5B0C 7F080FDC 8E0C2A6C */ lw $t4, 0x2a6c($s0) -.L7F080FE0: -/* 0B5B10 7F080FE0 44808000 */ mtc1 $zero, $f16 -/* 0B5B14 7F080FE4 5180000F */ beql $t4, $zero, .L7F081024 -/* 0B5B18 7F080FE8 C608007C */ lwc1 $f8, 0x7c($s0) -/* 0B5B1C 7F080FEC C6040070 */ lwc1 $f4, 0x70($s0) -/* 0B5B20 7F080FF0 C6060074 */ lwc1 $f6, 0x74($s0) -/* 0B5B24 7F080FF4 4606203C */ c.lt.s $f4, $f6 -/* 0B5B28 7F080FF8 00000000 */ nop -/* 0B5B2C 7F080FFC 45020009 */ bc1fl .L7F081024 -/* 0B5B30 7F081000 C608007C */ lwc1 $f8, 0x7c($s0) -/* 0B5B34 7F081004 AE002A6C */ sw $zero, 0x2a6c($s0) -/* 0B5B38 7F081008 8D100000 */ lw $s0, ($t0) -/* 0B5B3C 7F08100C 8E0D2A70 */ lw $t5, 0x2a70($s0) -/* 0B5B40 7F081010 AE0D0488 */ sw $t5, 0x488($s0) -/* 0B5B44 7F081014 8D0E0000 */ lw $t6, ($t0) -/* 0B5B48 7F081018 ADC02A70 */ sw $zero, 0x2a70($t6) -/* 0B5B4C 7F08101C 8D100000 */ lw $s0, ($t0) -/* 0B5B50 7F081020 C608007C */ lwc1 $f8, 0x7c($s0) -.L7F081024: -/* 0B5B54 7F081024 C60C0070 */ lwc1 $f12, 0x70($s0) -/* 0B5B58 7F081028 4608803E */ c.le.s $f16, $f8 -/* 0B5B5C 7F08102C 00000000 */ nop -/* 0B5B60 7F081030 45010005 */ bc1t .L7F081048 -/* 0B5B64 7F081034 00000000 */ nop -/* 0B5B68 7F081038 C6000074 */ lwc1 $f0, 0x74($s0) -/* 0B5B6C 7F08103C 4600603C */ c.lt.s $f12, $f0 -/* 0B5B70 7F081040 00000000 */ nop -/* 0B5B74 7F081044 45000024 */ bc1f .L7F0810D8 -.L7F081048: -/* 0B5B78 7F081048 3C018005 */ lui $at, %hi(D_800550E4) -/* 0B5B7C 7F08104C C42250E4 */ lwc1 $f2, %lo(D_800550E4)($at) -/* 0B5B80 7F081050 3C078005 */ lui $a3, %hi(clock_timer) -/* 0B5B84 7F081054 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c -/* 0B5B88 7F081058 46026283 */ div.s $f10, $f12, $f2 -/* 0B5B8C 7F08105C 3C018005 */ lui $at, %hi(D_800550E8) -/* 0B5B90 7F081060 00001825 */ move $v1, $zero -/* 0B5B94 7F081064 E60A006C */ swc1 $f10, 0x6c($s0) -/* 0B5B98 7F081068 8CEF0000 */ lw $t7, ($a3) -/* 0B5B9C 7F08106C 59E0000E */ blezl $t7, .L7F0810A8 -/* 0B5BA0 7F081070 8D100000 */ lw $s0, ($t0) -/* 0B5BA4 7F081074 C42050E8 */ lwc1 $f0, %lo(D_800550E8)($at) -/* 0B5BA8 7F081078 8D100000 */ lw $s0, ($t0) -.L7F08107C: -/* 0B5BAC 7F08107C 24630001 */ addiu $v1, $v1, 1 -/* 0B5BB0 7F081080 C604006C */ lwc1 $f4, 0x6c($s0) -/* 0B5BB4 7F081084 C6080074 */ lwc1 $f8, 0x74($s0) -/* 0B5BB8 7F081088 46002182 */ mul.s $f6, $f4, $f0 -/* 0B5BBC 7F08108C 46083280 */ add.s $f10, $f6, $f8 -/* 0B5BC0 7F081090 E60A006C */ swc1 $f10, 0x6c($s0) -/* 0B5BC4 7F081094 8CF80000 */ lw $t8, ($a3) -/* 0B5BC8 7F081098 0078082A */ slt $at, $v1, $t8 -/* 0B5BCC 7F08109C 5420FFF7 */ bnezl $at, .L7F08107C -/* 0B5BD0 7F0810A0 8D100000 */ lw $s0, ($t0) -/* 0B5BD4 7F0810A4 8D100000 */ lw $s0, ($t0) -.L7F0810A8: -/* 0B5BD8 7F0810A8 C60C0070 */ lwc1 $f12, 0x70($s0) -/* 0B5BDC 7F0810AC C6000074 */ lwc1 $f0, 0x74($s0) -/* 0B5BE0 7F0810B0 4600603C */ c.lt.s $f12, $f0 -/* 0B5BE4 7F0810B4 00000000 */ nop -/* 0B5BE8 7F0810B8 45020008 */ bc1fl .L7F0810DC -/* 0B5BEC 7F0810BC 460C003C */ c.lt.s $f0, $f12 -/* 0B5BF0 7F0810C0 C604006C */ lwc1 $f4, 0x6c($s0) -/* 0B5BF4 7F0810C4 46022182 */ mul.s $f6, $f4, $f2 -/* 0B5BF8 7F0810C8 E6060070 */ swc1 $f6, 0x70($s0) -/* 0B5BFC 7F0810CC 8D100000 */ lw $s0, ($t0) -/* 0B5C00 7F0810D0 C60C0070 */ lwc1 $f12, 0x70($s0) -/* 0B5C04 7F0810D4 C6000074 */ lwc1 $f0, 0x74($s0) -.L7F0810D8: -/* 0B5C08 7F0810D8 460C003C */ c.lt.s $f0, $f12 -.L7F0810DC: -/* 0B5C0C 7F0810DC 3C078005 */ lui $a3, %hi(clock_timer) -/* 0B5C10 7F0810E0 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c -/* 0B5C14 7F0810E4 00001825 */ move $v1, $zero -/* 0B5C18 7F0810E8 4500005D */ bc1f .L7F081260 -/* 0B5C1C 7F0810EC C602007C */ lwc1 $f2, 0x7c($s0) -/* 0B5C20 7F0810F0 AFA0006C */ sw $zero, 0x6c($sp) -/* 0B5C24 7F0810F4 E7A20048 */ swc1 $f2, 0x48($sp) -/* 0B5C28 7F0810F8 0FC24406 */ jal get_debug_fast_bond_flag -/* 0B5C2C 7F0810FC E7AC004C */ swc1 $f12, 0x4c($sp) -/* 0B5C30 7F081100 3C078005 */ lui $a3, %hi(clock_timer) -/* 0B5C34 7F081104 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5C38 7F081108 44808000 */ mtc1 $zero, $f16 -/* 0B5C3C 7F08110C 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5C40 7F081110 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c -/* 0B5C44 7F081114 8FA3006C */ lw $v1, 0x6c($sp) -/* 0B5C48 7F081118 C7AE0048 */ lwc1 $f14, 0x48($sp) -/* 0B5C4C 7F08111C 10400011 */ beqz $v0, .L7F081164 -/* 0B5C50 7F081120 C7B2004C */ lwc1 $f18, 0x4c($sp) -/* 0B5C54 7F081124 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079990) -/* 0B5C58 7F081128 24429990 */ addiu $v0, %lo(flt_CODE_bss_80079990) # addiu $v0, $v0, -0x6670 -/* 0B5C5C 7F08112C C4480000 */ lwc1 $f8, ($v0) -/* 0B5C60 7F081130 46088032 */ c.eq.s $f16, $f8 -/* 0B5C64 7F081134 00000000 */ nop -/* 0B5C68 7F081138 4500000A */ bc1f .L7F081164 -/* 0B5C6C 7F08113C 00000000 */ nop -/* 0B5C70 7F081140 C44A0008 */ lwc1 $f10, 8($v0) -/* 0B5C74 7F081144 3C018005 */ lui $at, %hi(D_800550EC) -/* 0B5C78 7F081148 460A8032 */ c.eq.s $f16, $f10 -/* 0B5C7C 7F08114C 00000000 */ nop -/* 0B5C80 7F081150 45000004 */ bc1f .L7F081164 -/* 0B5C84 7F081154 00000000 */ nop -/* 0B5C88 7F081158 C42450EC */ lwc1 $f4, %lo(D_800550EC)($at) -/* 0B5C8C 7F08115C 10000004 */ b .L7F081170 -/* 0B5C90 7F081160 E7A40040 */ swc1 $f4, 0x40($sp) -.L7F081164: -/* 0B5C94 7F081164 3C018005 */ lui $at, %hi(player_gravity_modifier) -/* 0B5C98 7F081168 C42650F0 */ lwc1 $f6, %lo(player_gravity_modifier)($at) -/* 0B5C9C 7F08116C E7A60040 */ swc1 $f6, 0x40($sp) -.L7F081170: -/* 0B5CA0 7F081170 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B5CA4 7F081174 C42C8378 */ lwc1 $f12, %lo(global_timer_delta)($at) -/* 0B5CA8 7F081178 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 0B5CAC 7F08117C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B5CB0 7F081180 8D100000 */ lw $s0, ($t0) -/* 0B5CB4 7F081184 46086282 */ mul.s $f10, $f12, $f8 -/* 0B5CB8 7F081188 44814000 */ mtc1 $at, $f8 -/* 0B5CBC 7F08118C C6000074 */ lwc1 $f0, 0x74($s0) -/* 0B5CC0 7F081190 460A7081 */ sub.s $f2, $f14, $f10 -/* 0B5CC4 7F081194 46027100 */ add.s $f4, $f14, $f2 -/* 0B5CC8 7F081198 46001386 */ mov.s $f14, $f2 -/* 0B5CCC 7F08119C 46046182 */ mul.s $f6, $f12, $f4 -/* 0B5CD0 7F0811A0 00000000 */ nop -/* 0B5CD4 7F0811A4 46083282 */ mul.s $f10, $f6, $f8 -/* 0B5CD8 7F0811A8 460A9480 */ add.s $f18, $f18, $f10 -/* 0B5CDC 7F0811AC 4600903C */ c.lt.s $f18, $f0 -/* 0B5CE0 7F0811B0 00000000 */ nop -/* 0B5CE4 7F0811B4 45000025 */ bc1f .L7F08124C -/* 0B5CE8 7F0811B8 00000000 */ nop -/* 0B5CEC 7F0811BC C6040070 */ lwc1 $f4, 0x70($s0) -/* 0B5CF0 7F0811C0 3C018005 */ lui $at, %hi(player_view_gravity_modifier) -/* 0B5CF4 7F0811C4 C42850F4 */ lwc1 $f8, %lo(player_view_gravity_modifier)($at) -/* 0B5CF8 7F0811C8 46002381 */ sub.s $f14, $f4, $f0 -/* 0B5CFC 7F0811CC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B5D00 7F0811D0 44812000 */ mtc1 $at, $f4 -/* 0B5D04 7F0811D4 C602007C */ lwc1 $f2, 0x7c($s0) -/* 0B5D08 7F0811D8 460E7180 */ add.s $f6, $f14, $f14 -/* 0B5D0C 7F0811DC E7A0004C */ swc1 $f0, 0x4c($sp) -/* 0B5D10 7F0811E0 AFA3006C */ sw $v1, 0x6c($sp) -/* 0B5D14 7F0811E4 46083282 */ mul.s $f10, $f6, $f8 -/* 0B5D18 7F0811E8 44814000 */ mtc1 $at, $f8 -/* 0B5D1C 7F0811EC 46045183 */ div.s $f6, $f10, $f4 -/* 0B5D20 7F0811F0 46083282 */ mul.s $f10, $f6, $f8 -/* 0B5D24 7F0811F4 00000000 */ nop -/* 0B5D28 7F0811F8 46021102 */ mul.s $f4, $f2, $f2 -/* 0B5D2C 7F0811FC 0C007DF8 */ jal sqrtf -/* 0B5D30 7F081200 460A2300 */ add.s $f12, $f4, $f10 -/* 0B5D34 7F081204 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5D38 7F081208 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5D3C 7F08120C 8D100000 */ lw $s0, ($t0) -/* 0B5D40 7F081210 3C078005 */ lui $a3, %hi(clock_timer) -/* 0B5D44 7F081214 44808000 */ mtc1 $zero, $f16 -/* 0B5D48 7F081218 8E192A6C */ lw $t9, 0x2a6c($s0) -/* 0B5D4C 7F08121C 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c -/* 0B5D50 7F081220 8FA3006C */ lw $v1, 0x6c($sp) -/* 0B5D54 7F081224 C7B2004C */ lwc1 $f18, 0x4c($sp) -/* 0B5D58 7F081228 13200008 */ beqz $t9, .L7F08124C -/* 0B5D5C 7F08122C 46000387 */ neg.s $f14, $f0 -/* 0B5D60 7F081230 AE002A6C */ sw $zero, 0x2a6c($s0) -/* 0B5D64 7F081234 8D100000 */ lw $s0, ($t0) -/* 0B5D68 7F081238 8E092A70 */ lw $t1, 0x2a70($s0) -/* 0B5D6C 7F08123C AE090488 */ sw $t1, 0x488($s0) -/* 0B5D70 7F081240 8D0A0000 */ lw $t2, ($t0) -/* 0B5D74 7F081244 AD402A70 */ sw $zero, 0x2a70($t2) -/* 0B5D78 7F081248 8D100000 */ lw $s0, ($t0) -.L7F08124C: -/* 0B5D7C 7F08124C E6120070 */ swc1 $f18, 0x70($s0) -/* 0B5D80 7F081250 8D0B0000 */ lw $t3, ($t0) -/* 0B5D84 7F081254 E56E007C */ swc1 $f14, 0x7c($t3) -/* 0B5D88 7F081258 8D100000 */ lw $s0, ($t0) -/* 0B5D8C 7F08125C C602007C */ lwc1 $f2, 0x7c($s0) -.L7F081260: -/* 0B5D90 7F081260 4610103C */ c.lt.s $f2, $f16 -/* 0B5D94 7F081264 00000000 */ nop -/* 0B5D98 7F081268 4502002B */ bc1fl .L7F081318 -/* 0B5D9C 7F08126C 8E0F2A6C */ lw $t7, 0x2a6c($s0) -/* 0B5DA0 7F081270 C6060074 */ lwc1 $f6, 0x74($s0) -/* 0B5DA4 7F081274 C6080070 */ lwc1 $f8, 0x70($s0) -/* 0B5DA8 7F081278 3C018005 */ lui $at, %hi(D_800550F8) -/* 0B5DAC 7F08127C 4606403E */ c.le.s $f8, $f6 -/* 0B5DB0 7F081280 00000000 */ nop -/* 0B5DB4 7F081284 45020024 */ bc1fl .L7F081318 -/* 0B5DB8 7F081288 8E0F2A6C */ lw $t7, 0x2a6c($s0) -/* 0B5DBC 7F08128C C42450F8 */ lwc1 $f4, %lo(D_800550F8)($at) -/* 0B5DC0 7F081290 240C000F */ li $t4, 15 -/* 0B5DC4 7F081294 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 0B5DC8 7F081298 4604103C */ c.lt.s $f2, $f4 -/* 0B5DCC 7F08129C 00000000 */ nop -/* 0B5DD0 7F0812A0 45020009 */ bc1fl .L7F0812C8 -/* 0B5DD4 7F0812A4 44810000 */ mtc1 $at, $f0 -/* 0B5DD8 7F0812A8 AE0C008C */ sw $t4, 0x8c($s0) -/* 0B5DDC 7F0812AC 3C01C2B4 */ li $at, 0xC2B40000 # -90.000000 -/* 0B5DE0 7F0812B0 44815000 */ mtc1 $at, $f10 -/* 0B5DE4 7F0812B4 8D0D0000 */ lw $t5, ($t0) -/* 0B5DE8 7F0812B8 E5AA0090 */ swc1 $f10, 0x90($t5) -/* 0B5DEC 7F0812BC 10000013 */ b .L7F08130C -/* 0B5DF0 7F0812C0 8D100000 */ lw $s0, ($t0) -/* 0B5DF4 7F0812C4 44810000 */ mtc1 $at, $f0 -.L7F0812C8: -/* 0B5DF8 7F0812C8 240E000F */ li $t6, 15 -/* 0B5DFC 7F0812CC 4600103C */ c.lt.s $f2, $f0 -/* 0B5E00 7F0812D0 00000000 */ nop -/* 0B5E04 7F0812D4 4502000E */ bc1fl .L7F081310 -/* 0B5E08 7F0812D8 E610007C */ swc1 $f16, 0x7c($s0) -/* 0B5E0C 7F0812DC AE0E008C */ sw $t6, 0x8c($s0) -/* 0B5E10 7F0812E0 8D100000 */ lw $s0, ($t0) -/* 0B5E14 7F0812E4 3C01C2B4 */ li $at, 0xC2B40000 # -90.000000 -/* 0B5E18 7F0812E8 44812000 */ mtc1 $at, $f4 -/* 0B5E1C 7F0812EC C606007C */ lwc1 $f6, 0x7c($s0) -/* 0B5E20 7F0812F0 3C018005 */ lui $at, %hi(D_800550FC) -/* 0B5E24 7F0812F4 46060201 */ sub.s $f8, $f0, $f6 -/* 0B5E28 7F0812F8 C42650FC */ lwc1 $f6, %lo(D_800550FC)($at) -/* 0B5E2C 7F0812FC 46044282 */ mul.s $f10, $f8, $f4 -/* 0B5E30 7F081300 46065203 */ div.s $f8, $f10, $f6 -/* 0B5E34 7F081304 E6080090 */ swc1 $f8, 0x90($s0) -/* 0B5E38 7F081308 8D100000 */ lw $s0, ($t0) -.L7F08130C: -/* 0B5E3C 7F08130C E610007C */ swc1 $f16, 0x7c($s0) -.L7F081310: -/* 0B5E40 7F081310 8D100000 */ lw $s0, ($t0) -/* 0B5E44 7F081314 8E0F2A6C */ lw $t7, 0x2a6c($s0) -.L7F081318: -/* 0B5E48 7F081318 11E0001F */ beqz $t7, .L7F081398 -/* 0B5E4C 7F08131C 02002025 */ move $a0, $s0 -/* 0B5E50 7F081320 0FC225E0 */ jal sub_GAME_7F089780 -/* 0B5E54 7F081324 AFA3006C */ sw $v1, 0x6c($sp) -/* 0B5E58 7F081328 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5E5C 7F08132C 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5E60 7F081330 8D100000 */ lw $s0, ($t0) -/* 0B5E64 7F081334 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 0B5E68 7F081338 8E060494 */ lw $a2, 0x494($s0) -/* 0B5E6C 7F08133C 8E05048C */ lw $a1, 0x48c($s0) -/* 0B5E70 7F081340 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0B5E74 7F081344 8E040488 */ lw $a0, 0x488($s0) -/* 0B5E78 7F081348 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B5E7C 7F08134C 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5E80 7F081350 8D100000 */ lw $s0, ($t0) -/* 0B5E84 7F081354 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 0B5E88 7F081358 3C078005 */ lui $a3, %hi(clock_timer) -/* 0B5E8C 7F08135C C6040070 */ lwc1 $f4, 0x70($s0) -/* 0B5E90 7F081360 44808000 */ mtc1 $zero, $f16 -/* 0B5E94 7F081364 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c -/* 0B5E98 7F081368 460A2180 */ add.s $f6, $f4, $f10 -/* 0B5E9C 7F08136C 8FA3006C */ lw $v1, 0x6c($sp) -/* 0B5EA0 7F081370 4600303C */ c.lt.s $f6, $f0 -/* 0B5EA4 7F081374 00000000 */ nop -/* 0B5EA8 7F081378 45020008 */ bc1fl .L7F08139C -/* 0B5EAC 7F08137C 8CE90000 */ lw $t1, ($a3) -/* 0B5EB0 7F081380 AE002A6C */ sw $zero, 0x2a6c($s0) -/* 0B5EB4 7F081384 8D100000 */ lw $s0, ($t0) -/* 0B5EB8 7F081388 8E182A70 */ lw $t8, 0x2a70($s0) -/* 0B5EBC 7F08138C AE180488 */ sw $t8, 0x488($s0) -/* 0B5EC0 7F081390 8D190000 */ lw $t9, ($t0) -/* 0B5EC4 7F081394 AF202A70 */ sw $zero, 0x2a70($t9) -.L7F081398: -/* 0B5EC8 7F081398 8CE90000 */ lw $t1, ($a3) -.L7F08139C: -/* 0B5ECC 7F08139C 1920002B */ blez $t1, .L7F08144C -/* 0B5ED0 7F0813A0 3C01C090 */ li $at, 0xC0900000 # -4.500000 -/* 0B5ED4 7F0813A4 44816000 */ mtc1 $at, $f12 -/* 0B5ED8 7F0813A8 3C018005 */ lui $at, %hi(D_80055100) -/* 0B5EDC 7F0813AC C4225100 */ lwc1 $f2, %lo(D_80055100)($at) -/* 0B5EE0 7F0813B0 8D100000 */ lw $s0, ($t0) -.L7F0813B4: -/* 0B5EE4 7F0813B4 8E0A008C */ lw $t2, 0x8c($s0) -/* 0B5EE8 7F0813B8 5940000C */ blezl $t2, .L7F0813EC -/* 0B5EEC 7F0813BC C6000090 */ lwc1 $f0, 0x90($s0) -/* 0B5EF0 7F0813C0 C6080084 */ lwc1 $f8, 0x84($s0) -/* 0B5EF4 7F0813C4 C60A0090 */ lwc1 $f10, 0x90($s0) -/* 0B5EF8 7F0813C8 46024102 */ mul.s $f4, $f8, $f2 -/* 0B5EFC 7F0813CC 460A2180 */ add.s $f6, $f4, $f10 -/* 0B5F00 7F0813D0 E6060084 */ swc1 $f6, 0x84($s0) -/* 0B5F04 7F0813D4 8D100000 */ lw $s0, ($t0) -/* 0B5F08 7F0813D8 8E0B008C */ lw $t3, 0x8c($s0) -/* 0B5F0C 7F0813DC 256CFFFF */ addiu $t4, $t3, -1 -/* 0B5F10 7F0813E0 10000015 */ b .L7F081438 -/* 0B5F14 7F0813E4 AE0C008C */ sw $t4, 0x8c($s0) -/* 0B5F18 7F0813E8 C6000090 */ lwc1 $f0, 0x90($s0) -.L7F0813EC: -/* 0B5F1C 7F0813EC 4610003C */ c.lt.s $f0, $f16 -/* 0B5F20 7F0813F0 00000000 */ nop -/* 0B5F24 7F0813F4 4502000D */ bc1fl .L7F08142C -/* 0B5F28 7F0813F8 C6040084 */ lwc1 $f4, 0x84($s0) -/* 0B5F2C 7F0813FC 460C0201 */ sub.s $f8, $f0, $f12 -/* 0B5F30 7F081400 E6080090 */ swc1 $f8, 0x90($s0) -/* 0B5F34 7F081404 8D100000 */ lw $s0, ($t0) -/* 0B5F38 7F081408 C6000090 */ lwc1 $f0, 0x90($s0) -/* 0B5F3C 7F08140C 4600803E */ c.le.s $f16, $f0 -/* 0B5F40 7F081410 00000000 */ nop -/* 0B5F44 7F081414 45020005 */ bc1fl .L7F08142C -/* 0B5F48 7F081418 C6040084 */ lwc1 $f4, 0x84($s0) -/* 0B5F4C 7F08141C E6100090 */ swc1 $f16, 0x90($s0) -/* 0B5F50 7F081420 8D100000 */ lw $s0, ($t0) -/* 0B5F54 7F081424 C6000090 */ lwc1 $f0, 0x90($s0) -/* 0B5F58 7F081428 C6040084 */ lwc1 $f4, 0x84($s0) -.L7F08142C: -/* 0B5F5C 7F08142C 46022282 */ mul.s $f10, $f4, $f2 -/* 0B5F60 7F081430 46005180 */ add.s $f6, $f10, $f0 -/* 0B5F64 7F081434 E6060084 */ swc1 $f6, 0x84($s0) -.L7F081438: -/* 0B5F68 7F081438 8CED0000 */ lw $t5, ($a3) -/* 0B5F6C 7F08143C 24630001 */ addiu $v1, $v1, 1 -/* 0B5F70 7F081440 006D082A */ slt $at, $v1, $t5 -/* 0B5F74 7F081444 5420FFDB */ bnezl $at, .L7F0813B4 -/* 0B5F78 7F081448 8D100000 */ lw $s0, ($t0) -.L7F08144C: -/* 0B5F7C 7F08144C 8D100000 */ lw $s0, ($t0) -/* 0B5F80 7F081450 3C018005 */ lui $at, %hi(D_80055104) -/* 0B5F84 7F081454 C4245104 */ lwc1 $f4, %lo(D_80055104)($at) -/* 0B5F88 7F081458 C6080084 */ lwc1 $f8, 0x84($s0) -/* 0B5F8C 7F08145C 46044282 */ mul.s $f10, $f8, $f4 -/* 0B5F90 7F081460 E60A0088 */ swc1 $f10, 0x88($s0) -/* 0B5F94 7F081464 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B5F98 7F081468 8FB00020 */ lw $s0, 0x20($sp) -/* 0B5F9C 7F08146C 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0B5FA0 7F081470 03E00008 */ jr $ra -/* 0B5FA4 7F081474 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F081478(void) { - ?32 sp28; - ?32 sp2C; - f32 temp_f0_2; - f32 temp_f0; - s32 temp_v1; - f32 phi_f0; - void *phi_v0; - void *phi_v0_2; - s32 phi_v1; - - // Node 0 - 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) - { - // Node 1 - phi_f0 = 30.0f; - } - // Node 2 - pPlayer->field_490 = (f32) (pPlayer->field_70 + phi_f0); - if (((cameramode == 6) || (cameramode == 7)) || (cameramode == 7)) - { - // Node 5 - if (pPlayer->field_D4 == 0) - { - // Node 6 - pPlayer->field_4B4 = (f32) pPlayer->field_48C; - pPlayer->field_4B8 = (f32) pPlayer->field_490; - pPlayer->field_4BC = (f32) pPlayer->field_494; - } - } - else - { - // Node 6 - pPlayer->field_4B4 = (f32) pPlayer->field_48C; - pPlayer->field_4B8 = (f32) pPlayer->field_490; - pPlayer->field_4BC = (f32) pPlayer->field_494; - } - // Node 7 - phi_v0 = pPlayer; - if (pPlayer->bonddead != 0) - { - // Node 8 - temp_f0 = pPlayer->field_29C0; - phi_v0 = pPlayer; - if (0.0f < temp_f0) - { - // Node 9 - pPlayer->field_29C0 = (f32) (temp_f0 - 0.25f); - phi_v0 = pPlayer; - if (pPlayer->field_29C0 < 0.0f) - { - // Node 10 - pPlayer->field_29C0 = 0.0f; - phi_v0 = pPlayer; - } - } - } - // Node 11 - phi_v0_2 = phi_v0; - if (phi_v0->unk158 < 0.0f) - { - // Node 12 - phi_v0->unk4B8 = (f32) (phi_v0->unk4B8 + (-(1.0f - phi_v0->unk164) * phi_v0->unk29C0)); - phi_v0_2 = pPlayer; - } - // Node 13 - stanlinelog_flag = 0; - sp2C = (?32) phi_v0_2->unk488; - sp28 = (?32) stanlinelog_flag; - sub_GAME_7F0B0BE4(&sp2C, phi_v0_2->unk48C, phi_v0_2->unk494, phi_v0_2->unk4B4, (f32) phi_v0_2->unk4BC); - stanlinelog_flag = sp28; - pPlayer->field_4D8 = sp2C; - pPlayer->field_4A4 = (f32) pPlayer->field_4B4; - pPlayer->field_4AC = (f32) pPlayer->field_4BC; - pPlayer->field_4A8 = sub_GAME_7F080D60(pPlayer->field_4D8, pPlayer->field_4B4, pPlayer->field_4BC); - pPlayer->field_A8->unk14 = (?32) pPlayer->field_488; - pPlayer->field_A8->unk8 = (f32) pPlayer->field_48C; - pPlayer->field_A8->unkC = (f32) pPlayer->field_490; - pPlayer->field_A8->unk10 = (f32) pPlayer->field_494; - if (clock_timer > 0) - { - // Node 14 - phi_v1 = 0; -loop_15: - // Node 15 - temp_v1 = (phi_v1 + 1); - pPlayer->field_3B8 = (f32) (pPlayer->field_4B4 + (D_80055108 * pPlayer->field_3B8)); - pPlayer->field_3BC = (f32) (pPlayer->field_4B8 + (D_80055108 * pPlayer->field_3BC)); - pPlayer->field_3C0 = (f32) (pPlayer->field_4BC + (D_80055108 * pPlayer->field_3C0)); - phi_v1 = temp_v1; - if (temp_v1 < clock_timer) - { - goto loop_15; - } - } - // Node 16 - pPlayer->field_3C4 = (f32) (pPlayer->field_3B8 * D_8005510C); - pPlayer->field_3C8 = (f32) (pPlayer->field_3BC * D_8005510C); - pPlayer->field_3CC = (f32) (pPlayer->field_3C0 * D_8005510C); - return pPlayer; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055108 -.word 0x3f666666 /*0.89999998*/ -glabel D_8005510C -.word 0x3dccccd0 /*0.10000002*/ -.text -glabel sub_GAME_7F081478 -/* 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(pPlayersPerm) # addiu $v1, $v1, -0x5f4c -/* 0B5FB8 7F081488 8C6E0000 */ lw $t6, ($v1) -/* 0B5FBC 7F08148C 8D020000 */ lw $v0, ($t0) -/* 0B5FC0 7F081490 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0B5FC4 7F081494 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B5FC8 7F081498 C5C60064 */ lwc1 $f6, 0x64($t6) -/* 0B5FCC 7F08149C C4440500 */ lwc1 $f4, 0x500($v0) -/* 0B5FD0 7F0814A0 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0B5FD4 7F0814A4 44811000 */ mtc1 $at, $f2 -/* 0B5FD8 7F0814A8 46062202 */ mul.s $f8, $f4, $f6 -/* 0B5FDC 7F0814AC 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 0B5FE0 7F0814B0 44815000 */ mtc1 $at, $f10 -/* 0B5FE4 7F0814B4 27A4002C */ addiu $a0, $sp, 0x2c -/* 0B5FE8 7F0814B8 460A4400 */ add.s $f16, $f8, $f10 -/* 0B5FEC 7F0814BC E45029BC */ swc1 $f16, 0x29bc($v0) -/* 0B5FF0 7F0814C0 8D020000 */ lw $v0, ($t0) -/* 0B5FF4 7F0814C4 8C6F0000 */ lw $t7, ($v1) -/* 0B5FF8 7F0814C8 C4520088 */ lwc1 $f18, 0x88($v0) -/* 0B5FFC 7F0814CC C44400A0 */ lwc1 $f4, 0xa0($v0) -/* 0B6000 7F0814D0 C5E80064 */ lwc1 $f8, 0x64($t7) -/* 0B6004 7F0814D4 C45029BC */ lwc1 $f16, 0x29bc($v0) -/* 0B6008 7F0814D8 46049180 */ add.s $f6, $f18, $f4 -/* 0B600C 7F0814DC 46083282 */ mul.s $f10, $f6, $f8 -/* 0B6010 7F0814E0 460A8000 */ add.s $f0, $f16, $f10 -/* 0B6014 7F0814E4 4602003C */ c.lt.s $f0, $f2 -/* 0B6018 7F0814E8 00000000 */ nop -/* 0B601C 7F0814EC 45020003 */ bc1fl .L7F0814FC -/* 0B6020 7F0814F0 C4520070 */ lwc1 $f18, 0x70($v0) -/* 0B6024 7F0814F4 46001006 */ mov.s $f0, $f2 -/* 0B6028 7F0814F8 C4520070 */ lwc1 $f18, 0x70($v0) -.L7F0814FC: -/* 0B602C 7F0814FC 3C038003 */ lui $v1, %hi(cameramode) -/* 0B6030 7F081500 24010005 */ li $at, 5 -/* 0B6034 7F081504 46009100 */ add.s $f4, $f18, $f0 -/* 0B6038 7F081508 E4440490 */ swc1 $f4, 0x490($v0) -/* 0B603C 7F08150C 8C636494 */ lw $v1, %lo(cameramode)($v1) -/* 0B6040 7F081510 10610005 */ beq $v1, $at, .L7F081528 -/* 0B6044 7F081514 24010006 */ li $at, 6 -/* 0B6048 7F081518 10610003 */ beq $v1, $at, .L7F081528 -/* 0B604C 7F08151C 24010007 */ li $at, 7 -/* 0B6050 7F081520 54610006 */ bnel $v1, $at, .L7F08153C -/* 0B6054 7F081524 8D020000 */ lw $v0, ($t0) -.L7F081528: -/* 0B6058 7F081528 8D020000 */ lw $v0, ($t0) -/* 0B605C 7F08152C 8C5800D4 */ lw $t8, 0xd4($v0) -/* 0B6060 7F081530 5700000C */ bnezl $t8, .L7F081564 -/* 0B6064 7F081534 8C5900D8 */ lw $t9, 0xd8($v0) -/* 0B6068 7F081538 8D020000 */ lw $v0, ($t0) -.L7F08153C: -/* 0B606C 7F08153C C446048C */ lwc1 $f6, 0x48c($v0) -/* 0B6070 7F081540 E44604B4 */ swc1 $f6, 0x4b4($v0) -/* 0B6074 7F081544 8D020000 */ lw $v0, ($t0) -/* 0B6078 7F081548 C4480490 */ lwc1 $f8, 0x490($v0) -/* 0B607C 7F08154C E44804B8 */ swc1 $f8, 0x4b8($v0) -/* 0B6080 7F081550 8D020000 */ lw $v0, ($t0) -/* 0B6084 7F081554 C4500494 */ lwc1 $f16, 0x494($v0) -/* 0B6088 7F081558 E45004BC */ swc1 $f16, 0x4bc($v0) -/* 0B608C 7F08155C 8D020000 */ lw $v0, ($t0) -/* 0B6090 7F081560 8C5900D8 */ lw $t9, 0xd8($v0) -.L7F081564: -/* 0B6094 7F081564 3C038004 */ lui $v1, %hi(stanlinelog_flag) -/* 0B6098 7F081568 24630FB4 */ addiu $v1, %lo(stanlinelog_flag) # addiu $v1, $v1, 0xfb4 -/* 0B609C 7F08156C 53200015 */ beql $t9, $zero, .L7F0815C4 -/* 0B60A0 7F081570 44801000 */ mtc1 $zero, $f2 -/* 0B60A4 7F081574 44801000 */ mtc1 $zero, $f2 -/* 0B60A8 7F081578 C44029C0 */ lwc1 $f0, 0x29c0($v0) -/* 0B60AC 7F08157C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0B60B0 7F081580 4600103C */ c.lt.s $f2, $f0 -/* 0B60B4 7F081584 00000000 */ nop -/* 0B60B8 7F081588 4502000E */ bc1fl .L7F0815C4 -/* 0B60BC 7F08158C 44801000 */ mtc1 $zero, $f2 -/* 0B60C0 7F081590 44815000 */ mtc1 $at, $f10 -/* 0B60C4 7F081594 00000000 */ nop -/* 0B60C8 7F081598 460A0481 */ sub.s $f18, $f0, $f10 -/* 0B60CC 7F08159C E45229C0 */ swc1 $f18, 0x29c0($v0) -/* 0B60D0 7F0815A0 8D020000 */ lw $v0, ($t0) -/* 0B60D4 7F0815A4 C44429C0 */ lwc1 $f4, 0x29c0($v0) -/* 0B60D8 7F0815A8 4602203C */ c.lt.s $f4, $f2 -/* 0B60DC 7F0815AC 00000000 */ nop -/* 0B60E0 7F0815B0 45020004 */ bc1fl .L7F0815C4 -/* 0B60E4 7F0815B4 44801000 */ mtc1 $zero, $f2 -/* 0B60E8 7F0815B8 E44229C0 */ swc1 $f2, 0x29c0($v0) -/* 0B60EC 7F0815BC 8D020000 */ lw $v0, ($t0) -/* 0B60F0 7F0815C0 44801000 */ mtc1 $zero, $f2 -.L7F0815C4: -/* 0B60F4 7F0815C4 C4460158 */ lwc1 $f6, 0x158($v0) -/* 0B60F8 7F0815C8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B60FC 7F0815CC 4602303C */ c.lt.s $f6, $f2 -/* 0B6100 7F0815D0 00000000 */ nop -/* 0B6104 7F0815D4 4502000C */ bc1fl .L7F081608 -/* 0B6108 7F0815D8 8C490488 */ lw $t1, 0x488($v0) -/* 0B610C 7F0815DC 44814000 */ mtc1 $at, $f8 -/* 0B6110 7F0815E0 C4500164 */ lwc1 $f16, 0x164($v0) -/* 0B6114 7F0815E4 C44429C0 */ lwc1 $f4, 0x29c0($v0) -/* 0B6118 7F0815E8 46104281 */ sub.s $f10, $f8, $f16 -/* 0B611C 7F0815EC C44804B8 */ lwc1 $f8, 0x4b8($v0) -/* 0B6120 7F0815F0 46005487 */ neg.s $f18, $f10 -/* 0B6124 7F0815F4 46049182 */ mul.s $f6, $f18, $f4 -/* 0B6128 7F0815F8 46064400 */ add.s $f16, $f8, $f6 -/* 0B612C 7F0815FC E45004B8 */ swc1 $f16, 0x4b8($v0) -/* 0B6130 7F081600 8D020000 */ lw $v0, ($t0) -/* 0B6134 7F081604 8C490488 */ lw $t1, 0x488($v0) -.L7F081608: -/* 0B6138 7F081608 8C6A0000 */ lw $t2, ($v1) -/* 0B613C 7F08160C AC600000 */ sw $zero, ($v1) -/* 0B6140 7F081610 AFA9002C */ sw $t1, 0x2c($sp) -/* 0B6144 7F081614 AFAA0028 */ sw $t2, 0x28($sp) -/* 0B6148 7F081618 C44A04BC */ lwc1 $f10, 0x4bc($v0) -/* 0B614C 7F08161C 8C4704B4 */ lw $a3, 0x4b4($v0) -/* 0B6150 7F081620 8C460494 */ lw $a2, 0x494($v0) -/* 0B6154 7F081624 8C45048C */ lw $a1, 0x48c($v0) -/* 0B6158 7F081628 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0B615C 7F08162C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0B6160 7F081630 8FAB0028 */ lw $t3, 0x28($sp) -/* 0B6164 7F081634 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B6168 7F081638 3C018004 */ lui $at, %hi(stanlinelog_flag) -/* 0B616C 7F08163C 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B6170 7F081640 AC2B0FB4 */ sw $t3, %lo(stanlinelog_flag)($at) -/* 0B6174 7F081644 8D0D0000 */ lw $t5, ($t0) -/* 0B6178 7F081648 8FAC002C */ lw $t4, 0x2c($sp) -/* 0B617C 7F08164C ADAC04D8 */ sw $t4, 0x4d8($t5) -/* 0B6180 7F081650 8D020000 */ lw $v0, ($t0) -/* 0B6184 7F081654 C45204B4 */ lwc1 $f18, 0x4b4($v0) -/* 0B6188 7F081658 E45204A4 */ swc1 $f18, 0x4a4($v0) -/* 0B618C 7F08165C 8D020000 */ lw $v0, ($t0) -/* 0B6190 7F081660 C44404BC */ lwc1 $f4, 0x4bc($v0) -/* 0B6194 7F081664 E44404AC */ swc1 $f4, 0x4ac($v0) -/* 0B6198 7F081668 8D020000 */ lw $v0, ($t0) -/* 0B619C 7F08166C 8C4404D8 */ lw $a0, 0x4d8($v0) -/* 0B61A0 7F081670 8C4504B4 */ lw $a1, 0x4b4($v0) -/* 0B61A4 7F081674 0FC20358 */ jal sub_GAME_7F080D60 -/* 0B61A8 7F081678 8C4604BC */ lw $a2, 0x4bc($v0) -/* 0B61AC 7F08167C 3C088008 */ lui $t0, %hi(pPlayer) -/* 0B61B0 7F081680 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B61B4 7F081684 8D0E0000 */ lw $t6, ($t0) -/* 0B61B8 7F081688 3C048005 */ lui $a0, %hi(clock_timer) -/* 0B61BC 7F08168C 24848374 */ addiu $a0, %lo(clock_timer) # addiu $a0, $a0, -0x7c8c -/* 0B61C0 7F081690 E5C004A8 */ swc1 $f0, 0x4a8($t6) -/* 0B61C4 7F081694 8D020000 */ lw $v0, ($t0) -/* 0B61C8 7F081698 00001825 */ move $v1, $zero -/* 0B61CC 7F08169C 3C018005 */ lui $at, %hi(D_80055108) -/* 0B61D0 7F0816A0 8C4F0488 */ lw $t7, 0x488($v0) -/* 0B61D4 7F0816A4 8C5800A8 */ lw $t8, 0xa8($v0) -/* 0B61D8 7F0816A8 AF0F0014 */ sw $t7, 0x14($t8) -/* 0B61DC 7F0816AC 8D020000 */ lw $v0, ($t0) -/* 0B61E0 7F0816B0 C448048C */ lwc1 $f8, 0x48c($v0) -/* 0B61E4 7F0816B4 8C5900A8 */ lw $t9, 0xa8($v0) -/* 0B61E8 7F0816B8 E7280008 */ swc1 $f8, 8($t9) -/* 0B61EC 7F0816BC 8D020000 */ lw $v0, ($t0) -/* 0B61F0 7F0816C0 C4460490 */ lwc1 $f6, 0x490($v0) -/* 0B61F4 7F0816C4 8C4900A8 */ lw $t1, 0xa8($v0) -/* 0B61F8 7F0816C8 E526000C */ swc1 $f6, 0xc($t1) -/* 0B61FC 7F0816CC 8D020000 */ lw $v0, ($t0) -/* 0B6200 7F0816D0 C4500494 */ lwc1 $f16, 0x494($v0) -/* 0B6204 7F0816D4 8C4A00A8 */ lw $t2, 0xa8($v0) -/* 0B6208 7F0816D8 E5500010 */ swc1 $f16, 0x10($t2) -/* 0B620C 7F0816DC 8C8B0000 */ lw $t3, ($a0) -/* 0B6210 7F0816E0 5960001A */ blezl $t3, .L7F08174C -/* 0B6214 7F0816E4 8D020000 */ lw $v0, ($t0) -/* 0B6218 7F0816E8 C4205108 */ lwc1 $f0, %lo(D_80055108)($at) -/* 0B621C 7F0816EC 8D020000 */ lw $v0, ($t0) -.L7F0816F0: -/* 0B6220 7F0816F0 24630001 */ addiu $v1, $v1, 1 -/* 0B6224 7F0816F4 C45203B8 */ lwc1 $f18, 0x3b8($v0) -/* 0B6228 7F0816F8 C44A04B4 */ lwc1 $f10, 0x4b4($v0) -/* 0B622C 7F0816FC 46120102 */ mul.s $f4, $f0, $f18 -/* 0B6230 7F081700 46045200 */ add.s $f8, $f10, $f4 -/* 0B6234 7F081704 E44803B8 */ swc1 $f8, 0x3b8($v0) -/* 0B6238 7F081708 8D020000 */ lw $v0, ($t0) -/* 0B623C 7F08170C C45003BC */ lwc1 $f16, 0x3bc($v0) -/* 0B6240 7F081710 C44604B8 */ lwc1 $f6, 0x4b8($v0) -/* 0B6244 7F081714 46100482 */ mul.s $f18, $f0, $f16 -/* 0B6248 7F081718 46123280 */ add.s $f10, $f6, $f18 -/* 0B624C 7F08171C E44A03BC */ swc1 $f10, 0x3bc($v0) -/* 0B6250 7F081720 8D020000 */ lw $v0, ($t0) -/* 0B6254 7F081724 C44803C0 */ lwc1 $f8, 0x3c0($v0) -/* 0B6258 7F081728 C44404BC */ lwc1 $f4, 0x4bc($v0) -/* 0B625C 7F08172C 46080402 */ mul.s $f16, $f0, $f8 -/* 0B6260 7F081730 46102180 */ add.s $f6, $f4, $f16 -/* 0B6264 7F081734 E44603C0 */ swc1 $f6, 0x3c0($v0) -/* 0B6268 7F081738 8C8C0000 */ lw $t4, ($a0) -/* 0B626C 7F08173C 006C082A */ slt $at, $v1, $t4 -/* 0B6270 7F081740 5420FFEB */ bnezl $at, .L7F0816F0 -/* 0B6274 7F081744 8D020000 */ lw $v0, ($t0) -/* 0B6278 7F081748 8D020000 */ lw $v0, ($t0) -.L7F08174C: -/* 0B627C 7F08174C 3C018005 */ lui $at, %hi(D_8005510C) -/* 0B6280 7F081750 C420510C */ lwc1 $f0, %lo(D_8005510C)($at) -/* 0B6284 7F081754 C45203B8 */ lwc1 $f18, 0x3b8($v0) -/* 0B6288 7F081758 46009282 */ mul.s $f10, $f18, $f0 -/* 0B628C 7F08175C E44A03C4 */ swc1 $f10, 0x3c4($v0) -/* 0B6290 7F081760 8D020000 */ lw $v0, ($t0) -/* 0B6294 7F081764 C44803BC */ lwc1 $f8, 0x3bc($v0) -/* 0B6298 7F081768 46004102 */ mul.s $f4, $f8, $f0 -/* 0B629C 7F08176C E44403C8 */ swc1 $f4, 0x3c8($v0) -/* 0B62A0 7F081770 8D020000 */ lw $v0, ($t0) -/* 0B62A4 7F081774 C45003C0 */ lwc1 $f16, 0x3c0($v0) -/* 0B62A8 7F081778 46008182 */ mul.s $f6, $f16, $f0 -/* 0B62AC 7F08177C E44603CC */ swc1 $f6, 0x3cc($v0) -/* 0B62B0 7F081780 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B62B4 7F081784 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0B62B8 7F081788 03E00008 */ jr $ra -/* 0B62BC 7F08178C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F081790(void) { - f32 phi_f0; - void *phi_v0; - f32 phi_f0_2; - void *phi_v0_2; - void *phi_v0_3; - - // Node 0 - if (pPlayer->vv_verta < -180.0f) - { - // Node 1 -loop_2: - // Node 2 - pPlayer->vv_verta = (f32) (pPlayer->vv_verta + 360.0f); - if (pPlayer->vv_verta < -180.0f) - { - goto loop_2; - } - } - // Node 3 - phi_f0 = pPlayer->vv_verta; - phi_v0 = pPlayer; - phi_f0_2 = pPlayer->vv_verta; - phi_v0_2 = pPlayer; - if (180.0f <= pPlayer->vv_verta) - { -loop_4: - // Node 4 - phi_v0->unk158 = (f32) (phi_f0 - 360.0f); - phi_f0 = pPlayer->vv_verta; - phi_v0 = pPlayer; - phi_f0_2 = pPlayer->vv_verta; - phi_v0_2 = pPlayer; - if (180.0f <= pPlayer->vv_verta) - { - goto loop_4; - } - } - // Node 5 - if (90.0f < phi_f0_2) - { - // Node 6 - phi_v0_2->unk158 = 90.0f; - phi_v0_3 = pPlayer; - } - else - { - // Node 7 - phi_v0_3 = phi_v0_2; - if (phi_f0_2 < -90.0f) - { - // Node 8 - phi_v0_2->unk158 = -90.0f; - phi_v0_3 = pPlayer; - } - } - // Node 9 - 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->vv_verta360 = (f32) (pPlayer->vv_verta360 + 360.0f); - } - // Node 11 - 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->vv_costheta; - return pPlayer; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055110 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055114 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055118 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_8005511C -.word 0x3c8efa35 /*0.017453292*/ -.text -glabel sub_GAME_7F081790 -/* 0B62C0 7F081790 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B62C4 7F081794 AFB00018 */ sw $s0, 0x18($sp) -/* 0B62C8 7F081798 3C108008 */ lui $s0, %hi(pPlayer) -/* 0B62CC 7F08179C 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0B62D0 7F0817A0 8E020000 */ lw $v0, ($s0) -/* 0B62D4 7F0817A4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B62D8 7F0817A8 3C01C334 */ li $at, 0xC3340000 # -180.000000 -/* 0B62DC 7F0817AC 44811000 */ mtc1 $at, $f2 -/* 0B62E0 7F0817B0 C4400158 */ lwc1 $f0, 0x158($v0) -/* 0B62E4 7F0817B4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B62E8 7F0817B8 4602003C */ c.lt.s $f0, $f2 -/* 0B62EC 7F0817BC 00000000 */ nop -/* 0B62F0 7F0817C0 4502000C */ bc1fl .L7F0817F4 -/* 0B62F4 7F0817C4 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0B62F8 7F0817C8 44817000 */ mtc1 $at, $f14 -/* 0B62FC 7F0817CC 00000000 */ nop -/* 0B6300 7F0817D0 460E0100 */ add.s $f4, $f0, $f14 -.L7F0817D4: -/* 0B6304 7F0817D4 E4440158 */ swc1 $f4, 0x158($v0) -/* 0B6308 7F0817D8 8E020000 */ lw $v0, ($s0) -/* 0B630C 7F0817DC C4400158 */ lwc1 $f0, 0x158($v0) -/* 0B6310 7F0817E0 4602003C */ c.lt.s $f0, $f2 -/* 0B6314 7F0817E4 00000000 */ nop -/* 0B6318 7F0817E8 4503FFFA */ bc1tl .L7F0817D4 -/* 0B631C 7F0817EC 460E0100 */ add.s $f4, $f0, $f14 -/* 0B6320 7F0817F0 3C014334 */ li $at, 0x43340000 # 180.000000 -.L7F0817F4: -/* 0B6324 7F0817F4 44811000 */ mtc1 $at, $f2 -/* 0B6328 7F0817F8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B632C 7F0817FC 44817000 */ mtc1 $at, $f14 -/* 0B6330 7F081800 4600103E */ c.le.s $f2, $f0 -/* 0B6334 7F081804 3C0142B4 */ li $at, 0x42B40000 # 90.000000 -/* 0B6338 7F081808 4502000A */ bc1fl .L7F081834 -/* 0B633C 7F08180C 44811000 */ mtc1 $at, $f2 -/* 0B6340 7F081810 460E0181 */ sub.s $f6, $f0, $f14 -.L7F081814: -/* 0B6344 7F081814 E4460158 */ swc1 $f6, 0x158($v0) -/* 0B6348 7F081818 8E020000 */ lw $v0, ($s0) -/* 0B634C 7F08181C C4400158 */ lwc1 $f0, 0x158($v0) -/* 0B6350 7F081820 4600103E */ c.le.s $f2, $f0 -/* 0B6354 7F081824 00000000 */ nop -/* 0B6358 7F081828 4503FFFA */ bc1tl .L7F081814 -/* 0B635C 7F08182C 460E0181 */ sub.s $f6, $f0, $f14 -/* 0B6360 7F081830 44811000 */ mtc1 $at, $f2 -.L7F081834: -/* 0B6364 7F081834 3C01C2B4 */ li $at, 0xC2B40000 # -90.000000 -/* 0B6368 7F081838 4600103C */ c.lt.s $f2, $f0 -/* 0B636C 7F08183C 00000000 */ nop -/* 0B6370 7F081840 45020005 */ bc1fl .L7F081858 -/* 0B6374 7F081844 44811000 */ mtc1 $at, $f2 -/* 0B6378 7F081848 E4420158 */ swc1 $f2, 0x158($v0) -/* 0B637C 7F08184C 10000009 */ b .L7F081874 -/* 0B6380 7F081850 8E020000 */ lw $v0, ($s0) -/* 0B6384 7F081854 44811000 */ mtc1 $at, $f2 -.L7F081858: -/* 0B6388 7F081858 00000000 */ nop -/* 0B638C 7F08185C 4602003C */ c.lt.s $f0, $f2 -/* 0B6390 7F081860 00000000 */ nop -/* 0B6394 7F081864 45000003 */ bc1f .L7F081874 -/* 0B6398 7F081868 00000000 */ nop -/* 0B639C 7F08186C E4420158 */ swc1 $f2, 0x158($v0) -/* 0B63A0 7F081870 8E020000 */ lw $v0, ($s0) -.L7F081874: -/* 0B63A4 7F081874 3C018005 */ lui $at, %hi(D_80055110) -/* 0B63A8 7F081878 C42A5110 */ lwc1 $f10, %lo(D_80055110)($at) -/* 0B63AC 7F08187C C4480148 */ lwc1 $f8, 0x148($v0) -/* 0B63B0 7F081880 460A4302 */ mul.s $f12, $f8, $f10 -/* 0B63B4 7F081884 0FC15FA8 */ jal cosf -/* 0B63B8 7F081888 00000000 */ nop -/* 0B63BC 7F08188C 8E0E0000 */ lw $t6, ($s0) -/* 0B63C0 7F081890 3C018005 */ lui $at, %hi(D_80055114) -/* 0B63C4 7F081894 E5C00150 */ swc1 $f0, 0x150($t6) -/* 0B63C8 7F081898 8E0F0000 */ lw $t7, ($s0) -/* 0B63CC 7F08189C C4325114 */ lwc1 $f18, %lo(D_80055114)($at) -/* 0B63D0 7F0818A0 C5F00148 */ lwc1 $f16, 0x148($t7) -/* 0B63D4 7F0818A4 46128302 */ mul.s $f12, $f16, $f18 -/* 0B63D8 7F0818A8 0FC15FAB */ jal sinf -/* 0B63DC 7F0818AC 00000000 */ nop -/* 0B63E0 7F0818B0 8E180000 */ lw $t8, ($s0) -/* 0B63E4 7F0818B4 44803000 */ mtc1 $zero, $f6 -/* 0B63E8 7F0818B8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B63EC 7F0818BC E7000154 */ swc1 $f0, 0x154($t8) -/* 0B63F0 7F0818C0 8E020000 */ lw $v0, ($s0) -/* 0B63F4 7F0818C4 44817000 */ mtc1 $at, $f14 -/* 0B63F8 7F0818C8 3C018005 */ lui $at, %hi(D_80055118) -/* 0B63FC 7F0818CC C4440158 */ lwc1 $f4, 0x158($v0) -/* 0B6400 7F0818D0 E444015C */ swc1 $f4, 0x15c($v0) -/* 0B6404 7F0818D4 8E020000 */ lw $v0, ($s0) -/* 0B6408 7F0818D8 C442015C */ lwc1 $f2, 0x15c($v0) -/* 0B640C 7F0818DC 4606103C */ c.lt.s $f2, $f6 -/* 0B6410 7F0818E0 00000000 */ nop -/* 0B6414 7F0818E4 45000005 */ bc1f .L7F0818FC -/* 0B6418 7F0818E8 00000000 */ nop -/* 0B641C 7F0818EC 460E1200 */ add.s $f8, $f2, $f14 -/* 0B6420 7F0818F0 E448015C */ swc1 $f8, 0x15c($v0) -/* 0B6424 7F0818F4 8E190000 */ lw $t9, ($s0) -/* 0B6428 7F0818F8 C722015C */ lwc1 $f2, 0x15c($t9) -.L7F0818FC: -/* 0B642C 7F0818FC C42A5118 */ lwc1 $f10, %lo(D_80055118)($at) -/* 0B6430 7F081900 460A1302 */ mul.s $f12, $f2, $f10 -/* 0B6434 7F081904 0FC15FA8 */ jal cosf -/* 0B6438 7F081908 00000000 */ nop -/* 0B643C 7F08190C 8E080000 */ lw $t0, ($s0) -/* 0B6440 7F081910 3C018005 */ lui $at, %hi(D_8005511C) -/* 0B6444 7F081914 E5000164 */ swc1 $f0, 0x164($t0) -/* 0B6448 7F081918 8E090000 */ lw $t1, ($s0) -/* 0B644C 7F08191C C432511C */ lwc1 $f18, %lo(D_8005511C)($at) -/* 0B6450 7F081920 C530015C */ lwc1 $f16, 0x15c($t1) -/* 0B6454 7F081924 46128302 */ mul.s $f12, $f16, $f18 -/* 0B6458 7F081928 0FC15FAB */ jal sinf -/* 0B645C 7F08192C 00000000 */ nop -/* 0B6460 7F081930 8E0A0000 */ lw $t2, ($s0) -/* 0B6464 7F081934 44804000 */ mtc1 $zero, $f8 -/* 0B6468 7F081938 E5400168 */ swc1 $f0, 0x168($t2) -/* 0B646C 7F08193C 8E020000 */ lw $v0, ($s0) -/* 0B6470 7F081940 C4440154 */ lwc1 $f4, 0x154($v0) -/* 0B6474 7F081944 46002187 */ neg.s $f6, $f4 -/* 0B6478 7F081948 E4460498 */ swc1 $f6, 0x498($v0) -/* 0B647C 7F08194C 8E0B0000 */ lw $t3, ($s0) -/* 0B6480 7F081950 E568049C */ swc1 $f8, 0x49c($t3) -/* 0B6484 7F081954 8E020000 */ lw $v0, ($s0) -/* 0B6488 7F081958 C44A0150 */ lwc1 $f10, 0x150($v0) -/* 0B648C 7F08195C E44A04A0 */ swc1 $f10, 0x4a0($v0) -/* 0B6490 7F081960 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B6494 7F081964 8FB00018 */ lw $s0, 0x18($sp) -/* 0B6498 7F081968 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B649C 7F08196C 03E00008 */ jr $ra -/* 0B64A0 7F081970 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void controller_gameplay_interaction(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055120 -.word 0x3d75c290 /*0.060000002*/ -glabel D_80055124 -.word 0x3da3d708 /*0.079999983*/ -glabel D_80055128 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_8005512C -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055130 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055134 -.word 0x3f8a3d71 /*1.08*/ -glabel D_80055138 -.word 0x3c23d70a /*0.0099999998*/ -glabel D_8005513C -.word 0x3c23d70a /*0.0099999998*/ -glabel D_80055140 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055144 -.word 0x3f5dddde /*0.86666667*/ -glabel D_80055148 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_8005514C -.word 0x3e99999a /*0.30000001*/ -glabel D_80055150 -.word 0x3e99999a /*0.30000001*/ -glabel D_80055154 -.word 0x3e99999a /*0.30000001*/ -glabel D_80055158 -.word 0x3f6b851f /*0.92000002*/ -glabel D_8005515C -.word 0x3da3d708 /*0.079999983*/ -glabel D_80055160 -.word 0x3e99999a /*0.30000001*/ -glabel D_80055164 -.word 0x3dcccccd /*0.1*/ -glabel D_80055168 -.word 0x3f266666 /*0.64999998*/ -.text -glabel controller_gameplay_interaction -/* 0B64A4 7F081974 27BDFE40 */ addiu $sp, $sp, -0x1c0 -/* 0B64A8 7F081978 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0B64AC 7F08197C 4480A000 */ mtc1 $zero, $f20 -/* 0B64B0 7F081980 AFBF003C */ sw $ra, 0x3c($sp) -/* 0B64B4 7F081984 AFB00038 */ sw $s0, 0x38($sp) -/* 0B64B8 7F081988 AFA401C0 */ sw $a0, 0x1c0($sp) -/* 0B64BC 7F08198C AFA501C4 */ sw $a1, 0x1c4($sp) -/* 0B64C0 7F081990 AFA601C8 */ sw $a2, 0x1c8($sp) -/* 0B64C4 7F081994 AFA701CC */ sw $a3, 0x1cc($sp) -/* 0B64C8 7F081998 AFA001BC */ sw $zero, 0x1bc($sp) -/* 0B64CC 7F08199C AFA001B8 */ sw $zero, 0x1b8($sp) -/* 0B64D0 7F0819A0 AFA001B4 */ sw $zero, 0x1b4($sp) -/* 0B64D4 7F0819A4 AFA001B0 */ sw $zero, 0x1b0($sp) -/* 0B64D8 7F0819A8 AFA001AC */ sw $zero, 0x1ac($sp) -/* 0B64DC 7F0819AC AFA001A8 */ sw $zero, 0x1a8($sp) -/* 0B64E0 7F0819B0 AFA001A4 */ sw $zero, 0x1a4($sp) -/* 0B64E4 7F0819B4 AFA001A0 */ sw $zero, 0x1a0($sp) -/* 0B64E8 7F0819B8 AFA0019C */ sw $zero, 0x19c($sp) -/* 0B64EC 7F0819BC AFA00198 */ sw $zero, 0x198($sp) -/* 0B64F0 7F0819C0 AFA00194 */ sw $zero, 0x194($sp) -/* 0B64F4 7F0819C4 AFA00190 */ sw $zero, 0x190($sp) -/* 0B64F8 7F0819C8 AFA00174 */ sw $zero, 0x174($sp) -/* 0B64FC 7F0819CC AFA00170 */ sw $zero, 0x170($sp) -/* 0B6500 7F0819D0 AFA0016C */ sw $zero, 0x16c($sp) -/* 0B6504 7F0819D4 AFA00168 */ sw $zero, 0x168($sp) -/* 0B6508 7F0819D8 AFA0015C */ sw $zero, 0x15c($sp) -/* 0B650C 7F0819DC AFA00158 */ sw $zero, 0x158($sp) -/* 0B6510 7F0819E0 AFA00154 */ sw $zero, 0x154($sp) -/* 0B6514 7F0819E4 AFA00150 */ sw $zero, 0x150($sp) -/* 0B6518 7F0819E8 AFA0014C */ sw $zero, 0x14c($sp) -/* 0B651C 7F0819EC AFA00148 */ sw $zero, 0x148($sp) -/* 0B6520 7F0819F0 E7B4018C */ swc1 $f20, 0x18c($sp) -/* 0B6524 7F0819F4 E7B40188 */ swc1 $f20, 0x188($sp) -/* 0B6528 7F0819F8 E7B40184 */ swc1 $f20, 0x184($sp) -/* 0B652C 7F0819FC E7B40180 */ swc1 $f20, 0x180($sp) -/* 0B6530 7F081A00 E7B4017C */ swc1 $f20, 0x17c($sp) -/* 0B6534 7F081A04 E7B40178 */ swc1 $f20, 0x178($sp) -/* 0B6538 7F081A08 E7B40164 */ swc1 $f20, 0x164($sp) -/* 0B653C 7F081A0C 0FC2938E */ jal get_cur_player_look_vertical_inverted -/* 0B6540 7F081A10 E7B40160 */ swc1 $f20, 0x160($sp) -/* 0B6544 7F081A14 83A401C3 */ lb $a0, 0x1c3($sp) -/* 0B6548 7F081A18 2C4E0001 */ sltiu $t6, $v0, 1 -/* 0B654C 7F081A1C AFAE0144 */ sw $t6, 0x144($sp) -/* 0B6550 7F081A20 2881FFFB */ slti $at, $a0, -5 -/* 0B6554 7F081A24 10200003 */ beqz $at, .L7F081A34 -/* 0B6558 7F081A28 AFA00140 */ sw $zero, 0x140($sp) -/* 0B655C 7F081A2C 10000006 */ b .L7F081A48 -/* 0B6560 7F081A30 24830005 */ addiu $v1, $a0, 5 -.L7F081A34: -/* 0B6564 7F081A34 28810006 */ slti $at, $a0, 6 -/* 0B6568 7F081A38 14200003 */ bnez $at, .L7F081A48 -/* 0B656C 7F081A3C 00001825 */ move $v1, $zero -/* 0B6570 7F081A40 10000001 */ b .L7F081A48 -/* 0B6574 7F081A44 2483FFFB */ addiu $v1, $a0, -5 -.L7F081A48: -/* 0B6578 7F081A48 83A501C7 */ lb $a1, 0x1c7($sp) -/* 0B657C 7F081A4C 3C108008 */ lui $s0, %hi(pPlayer) -/* 0B6580 7F081A50 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0B6584 7F081A54 28A1FFFB */ slti $at, $a1, -5 -/* 0B6588 7F081A58 10200003 */ beqz $at, .L7F081A68 -/* 0B658C 7F081A5C 83AF01C3 */ lb $t7, 0x1c3($sp) -/* 0B6590 7F081A60 10000006 */ b .L7F081A7C -/* 0B6594 7F081A64 24A20005 */ addiu $v0, $a1, 5 -.L7F081A68: -/* 0B6598 7F081A68 28A10006 */ slti $at, $a1, 6 -/* 0B659C 7F081A6C 14200003 */ bnez $at, .L7F081A7C -/* 0B65A0 7F081A70 00001025 */ move $v0, $zero -/* 0B65A4 7F081A74 10000001 */ b .L7F081A7C -/* 0B65A8 7F081A78 24A2FFFB */ addiu $v0, $a1, -5 -.L7F081A7C: -/* 0B65AC 7F081A7C 83B801C7 */ lb $t8, 0x1c7($sp) -/* 0B65B0 7F081A80 8E080000 */ lw $t0, ($s0) -/* 0B65B4 7F081A84 AFAF0134 */ sw $t7, 0x134($sp) -/* 0B65B8 7F081A88 AFA3012C */ sw $v1, 0x12c($sp) -/* 0B65BC 7F081A8C AFA20128 */ sw $v0, 0x128($sp) -/* 0B65C0 7F081A90 AFA30124 */ sw $v1, 0x124($sp) -/* 0B65C4 7F081A94 AFA20120 */ sw $v0, 0x120($sp) -/* 0B65C8 7F081A98 AFB80130 */ sw $t8, 0x130($sp) -/* 0B65CC 7F081A9C 8D1900D8 */ lw $t9, 0xd8($t0) -/* 0B65D0 7F081AA0 1720001B */ bnez $t9, .L7F081B10 -/* 0B65D4 7F081AA4 3C0A8003 */ lui $t2, %hi(camera_80036424) -/* 0B65D8 7F081AA8 8D4A6424 */ lw $t2, %lo(camera_80036424)($t2) -/* 0B65DC 7F081AAC 5D400019 */ bgtzl $t2, .L7F081B14 -/* 0B65E0 7F081AB0 8E080000 */ lw $t0, ($s0) -/* 0B65E4 7F081AB4 8D0201C8 */ lw $v0, 0x1c8($t0) -/* 0B65E8 7F081AB8 24010005 */ li $at, 5 -/* 0B65EC 7F081ABC 97AC01CE */ lhu $t4, 0x1ce($sp) -/* 0B65F0 7F081AC0 50410007 */ beql $v0, $at, .L7F081AE0 -/* 0B65F4 7F081AC4 24010005 */ li $at, 5 -/* 0B65F8 7F081AC8 97AB01CA */ lhu $t3, 0x1ca($sp) -/* 0B65FC 7F081ACC 01806827 */ not $t5, $t4 -/* 0B6600 7F081AD0 016D7024 */ and $t6, $t3, $t5 -/* 0B6604 7F081AD4 31CF1000 */ andi $t7, $t6, 0x1000 -/* 0B6608 7F081AD8 15E00006 */ bnez $t7, .L7F081AF4 -/* 0B660C 7F081ADC 24010005 */ li $at, 5 -.L7F081AE0: -/* 0B6610 7F081AE0 5441000C */ bnel $v0, $at, .L7F081B14 -/* 0B6614 7F081AE4 8E080000 */ lw $t0, ($s0) -/* 0B6618 7F081AE8 8D1801D0 */ lw $t8, 0x1d0($t0) -/* 0B661C 7F081AEC 53000009 */ beql $t8, $zero, .L7F081B14 -/* 0B6620 7F081AF0 8E080000 */ lw $t0, ($s0) -.L7F081AF4: -/* 0B6624 7F081AF4 0FC26919 */ jal get_num_players -/* 0B6628 7F081AF8 00000000 */ nop -/* 0B662C 7F081AFC 24010001 */ li $at, 1 -/* 0B6630 7F081B00 54410004 */ bnel $v0, $at, .L7F081B14 -/* 0B6634 7F081B04 8E080000 */ lw $t0, ($s0) -/* 0B6638 7F081B08 0FC1FE1D */ jal trigger_solo_watch_menu -/* 0B663C 7F081B0C 00002025 */ move $a0, $zero -.L7F081B10: -/* 0B6640 7F081B10 8E080000 */ lw $t0, ($s0) -.L7F081B14: -/* 0B6644 7F081B14 8D1901C8 */ lw $t9, 0x1c8($t0) -/* 0B6648 7F081B18 572003AC */ bnezl $t9, .L7F0829CC -/* 0B664C 7F081B1C 8E0A0000 */ lw $t2, ($s0) -/* 0B6650 7F081B20 8D0A00D8 */ lw $t2, 0xd8($t0) -/* 0B6654 7F081B24 554003A9 */ bnezl $t2, .L7F0829CC -/* 0B6658 7F081B28 8E0A0000 */ lw $t2, ($s0) -/* 0B665C 7F081B2C 0FC26919 */ jal get_num_players -/* 0B6660 7F081B30 00000000 */ nop -/* 0B6664 7F081B34 24010001 */ li $at, 1 -/* 0B6668 7F081B38 10410008 */ beq $v0, $at, .L7F081B5C -/* 0B666C 7F081B3C 3C0C8009 */ lui $t4, %hi(stop_play_flag) -/* 0B6670 7F081B40 8D8CC700 */ lw $t4, %lo(stop_play_flag)($t4) -/* 0B6674 7F081B44 3C0B8009 */ lui $t3, %hi(is_gameover_flag) -/* 0B6678 7F081B48 558003A0 */ bnezl $t4, .L7F0829CC -/* 0B667C 7F081B4C 8E0A0000 */ lw $t2, ($s0) -/* 0B6680 7F081B50 8D6BC704 */ lw $t3, %lo(is_gameover_flag)($t3) -/* 0B6684 7F081B54 5560039D */ bnezl $t3, .L7F0829CC -/* 0B6688 7F081B58 8E0A0000 */ lw $t2, ($s0) -.L7F081B5C: -/* 0B668C 7F081B5C 97AD01CA */ lhu $t5, 0x1ca($sp) -/* 0B6690 7F081B60 0FC29370 */ jal cur_player_get_control_type -/* 0B6694 7F081B64 AFAD005C */ sw $t5, 0x5c($sp) -/* 0B6698 7F081B68 24010006 */ li $at, 6 -/* 0B669C 7F081B6C 50410011 */ beql $v0, $at, .L7F081BB4 -/* 0B66A0 7F081B70 97AF01CE */ lhu $t7, 0x1ce($sp) -/* 0B66A4 7F081B74 0FC29370 */ jal cur_player_get_control_type -/* 0B66A8 7F081B78 00000000 */ nop -/* 0B66AC 7F081B7C 24010007 */ li $at, 7 -/* 0B66B0 7F081B80 5041000C */ beql $v0, $at, .L7F081BB4 -/* 0B66B4 7F081B84 97AF01CE */ lhu $t7, 0x1ce($sp) -/* 0B66B8 7F081B88 0FC29370 */ jal cur_player_get_control_type -/* 0B66BC 7F081B8C 00000000 */ nop -/* 0B66C0 7F081B90 24010005 */ li $at, 5 -/* 0B66C4 7F081B94 50410007 */ beql $v0, $at, .L7F081BB4 -/* 0B66C8 7F081B98 97AF01CE */ lhu $t7, 0x1ce($sp) -/* 0B66CC 7F081B9C 0FC29370 */ jal cur_player_get_control_type -/* 0B66D0 7F081BA0 00000000 */ nop -/* 0B66D4 7F081BA4 24010004 */ li $at, 4 -/* 0B66D8 7F081BA8 144101C3 */ bne $v0, $at, .L7F0822B8 -/* 0B66DC 7F081BAC 00000000 */ nop -/* 0B66E0 7F081BB0 97AF01CE */ lhu $t7, 0x1ce($sp) -.L7F081BB4: -/* 0B66E4 7F081BB4 8FAE005C */ lw $t6, 0x5c($sp) -/* 0B66E8 7F081BB8 01E0C027 */ not $t8, $t7 -/* 0B66EC 7F081BBC 01D8C824 */ and $t9, $t6, $t8 -/* 0B66F0 7F081BC0 0FC26C54 */ jal get_cur_playernum -/* 0B66F4 7F081BC4 AFB90060 */ sw $t9, 0x60($sp) -/* 0B66F8 7F081BC8 0FC26919 */ jal get_num_players -/* 0B66FC 7F081BCC AFA20064 */ sw $v0, 0x64($sp) -/* 0B6700 7F081BD0 8FAA0064 */ lw $t2, 0x64($sp) -/* 0B6704 7F081BD4 004A2021 */ addu $a0, $v0, $t2 -/* 0B6708 7F081BD8 00046600 */ sll $t4, $a0, 0x18 -/* 0B670C 7F081BDC 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0B6710 7F081BE0 000C2603 */ sra $a0, $t4, 0x18 -/* 0B6714 7F081BE4 0FC26C54 */ jal get_cur_playernum -/* 0B6718 7F081BE8 A3A2011F */ sb $v0, 0x11f($sp) -/* 0B671C 7F081BEC 0FC26919 */ jal get_num_players -/* 0B6720 7F081BF0 AFA20064 */ sw $v0, 0x64($sp) -/* 0B6724 7F081BF4 8FAD0064 */ lw $t5, 0x64($sp) -/* 0B6728 7F081BF8 004D2021 */ addu $a0, $v0, $t5 -/* 0B672C 7F081BFC 00047E00 */ sll $t7, $a0, 0x18 -/* 0B6730 7F081C00 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0B6734 7F081C04 000F2603 */ sra $a0, $t7, 0x18 -/* 0B6738 7F081C08 0FC26C54 */ jal get_cur_playernum -/* 0B673C 7F081C0C A3A2011E */ sb $v0, 0x11e($sp) -/* 0B6740 7F081C10 0FC26919 */ jal get_num_players -/* 0B6744 7F081C14 AFA20064 */ sw $v0, 0x64($sp) -/* 0B6748 7F081C18 8FB80064 */ lw $t8, 0x64($sp) -/* 0B674C 7F081C1C 3405FFFF */ li $a1, 65535 -/* 0B6750 7F081C20 00582021 */ addu $a0, $v0, $t8 -/* 0B6754 7F081C24 0004CE00 */ sll $t9, $a0, 0x18 -/* 0B6758 7F081C28 0C0030C3 */ jal get_controller_buttons_held -/* 0B675C 7F081C2C 00192603 */ sra $a0, $t9, 0x18 -/* 0B6760 7F081C30 8E0B0000 */ lw $t3, ($s0) -/* 0B6764 7F081C34 83AC011F */ lb $t4, 0x11f($sp) -/* 0B6768 7F081C38 A7A2011C */ sh $v0, 0x11c($sp) -/* 0B676C 7F081C3C 956D03B6 */ lhu $t5, 0x3b6($t3) -/* 0B6770 7F081C40 2981FFFB */ slti $at, $t4, -5 -/* 0B6774 7F081C44 01801825 */ move $v1, $t4 -/* 0B6778 7F081C48 10200003 */ beqz $at, .L7F081C58 -/* 0B677C 7F081C4C A7AD011A */ sh $t5, 0x11a($sp) -/* 0B6780 7F081C50 10000007 */ b .L7F081C70 -/* 0B6784 7F081C54 25830005 */ addiu $v1, $t4, 5 -.L7F081C58: -/* 0B6788 7F081C58 28610006 */ slti $at, $v1, 6 -/* 0B678C 7F081C5C 14200004 */ bnez $at, .L7F081C70 -/* 0B6790 7F081C60 00001825 */ move $v1, $zero -/* 0B6794 7F081C64 83A3011F */ lb $v1, 0x11f($sp) -/* 0B6798 7F081C68 10000001 */ b .L7F081C70 -/* 0B679C 7F081C6C 2463FFFB */ addiu $v1, $v1, -5 -.L7F081C70: -/* 0B67A0 7F081C70 83A2011E */ lb $v0, 0x11e($sp) -/* 0B67A4 7F081C74 2841FFFB */ slti $at, $v0, -5 -/* 0B67A8 7F081C78 10200003 */ beqz $at, .L7F081C88 -/* 0B67AC 7F081C7C 244F0005 */ addiu $t7, $v0, 5 -/* 0B67B0 7F081C80 10000007 */ b .L7F081CA0 -/* 0B67B4 7F081C84 AFAF0110 */ sw $t7, 0x110($sp) -.L7F081C88: -/* 0B67B8 7F081C88 28410006 */ slti $at, $v0, 6 -/* 0B67BC 7F081C8C 14200003 */ bnez $at, .L7F081C9C -/* 0B67C0 7F081C90 244EFFFB */ addiu $t6, $v0, -5 -/* 0B67C4 7F081C94 10000002 */ b .L7F081CA0 -/* 0B67C8 7F081C98 AFAE0110 */ sw $t6, 0x110($sp) -.L7F081C9C: -/* 0B67CC 7F081C9C AFA00110 */ sw $zero, 0x110($sp) -.L7F081CA0: -/* 0B67D0 7F081CA0 0FC29370 */ jal cur_player_get_control_type -/* 0B67D4 7F081CA4 AFA30114 */ sw $v1, 0x114($sp) -/* 0B67D8 7F081CA8 24010004 */ li $at, 4 -/* 0B67DC 7F081CAC 10410006 */ beq $v0, $at, .L7F081CC8 -/* 0B67E0 7F081CB0 8FA30114 */ lw $v1, 0x114($sp) -/* 0B67E4 7F081CB4 0FC29370 */ jal cur_player_get_control_type -/* 0B67E8 7F081CB8 AFA30114 */ sw $v1, 0x114($sp) -/* 0B67EC 7F081CBC 24010006 */ li $at, 6 -/* 0B67F0 7F081CC0 14410005 */ bne $v0, $at, .L7F081CD8 -/* 0B67F4 7F081CC4 8FA30114 */ lw $v1, 0x114($sp) -.L7F081CC8: -/* 0B67F8 7F081CC8 8FB80110 */ lw $t8, 0x110($sp) -/* 0B67FC 7F081CCC AFA30124 */ sw $v1, 0x124($sp) -/* 0B6800 7F081CD0 1000000F */ b .L7F081D10 -/* 0B6804 7F081CD4 AFB80128 */ sw $t8, 0x128($sp) -.L7F081CD8: -/* 0B6808 7F081CD8 3C198003 */ lui $t9, %hi(in_tank_flag) -/* 0B680C 7F081CDC 8F396448 */ lw $t9, %lo(in_tank_flag)($t9) -/* 0B6810 7F081CE0 24010001 */ li $at, 1 -/* 0B6814 7F081CE4 57210008 */ bnel $t9, $at, .L7F081D08 -/* 0B6818 7F081CE8 AFA30124 */ sw $v1, 0x124($sp) -/* 0B681C 7F081CEC 8E0A0000 */ lw $t2, ($s0) -/* 0B6820 7F081CF0 8D4B0124 */ lw $t3, 0x124($t2) -/* 0B6824 7F081CF4 55600004 */ bnezl $t3, .L7F081D08 -/* 0B6828 7F081CF8 AFA30124 */ sw $v1, 0x124($sp) -/* 0B682C 7F081CFC 10000002 */ b .L7F081D08 -/* 0B6830 7F081D00 AFA3012C */ sw $v1, 0x12c($sp) -/* 0B6834 7F081D04 AFA30124 */ sw $v1, 0x124($sp) -.L7F081D08: -/* 0B6838 7F081D08 8FAD0110 */ lw $t5, 0x110($sp) -/* 0B683C 7F081D0C AFAD0120 */ sw $t5, 0x120($sp) -.L7F081D10: -/* 0B6840 7F081D10 0FC29370 */ jal cur_player_get_control_type -/* 0B6844 7F081D14 00000000 */ nop -/* 0B6848 7F081D18 24010004 */ li $at, 4 -/* 0B684C 7F081D1C 50410007 */ beql $v0, $at, .L7F081D3C -/* 0B6850 7F081D20 97A2011C */ lhu $v0, 0x11c($sp) -/* 0B6854 7F081D24 0FC29370 */ jal cur_player_get_control_type -/* 0B6858 7F081D28 00000000 */ nop -/* 0B685C 7F081D2C 24010005 */ li $at, 5 -/* 0B6860 7F081D30 14410016 */ bne $v0, $at, .L7F081D8C -/* 0B6864 7F081D34 8FB9005C */ lw $t9, 0x5c($sp) -/* 0B6868 7F081D38 97A2011C */ lhu $v0, 0x11c($sp) -.L7F081D3C: -/* 0B686C 7F081D3C 97AE011A */ lhu $t6, 0x11a($sp) -/* 0B6870 7F081D40 8FAB005C */ lw $t3, 0x5c($sp) -/* 0B6874 7F081D44 304C2000 */ andi $t4, $v0, 0x2000 -/* 0B6878 7F081D48 000C782B */ sltu $t7, $zero, $t4 -/* 0B687C 7F081D4C AFAF0104 */ sw $t7, 0x104($sp) -/* 0B6880 7F081D50 8FAF0060 */ lw $t7, 0x60($sp) -/* 0B6884 7F081D54 01C0C027 */ not $t8, $t6 -/* 0B6888 7F081D58 00581824 */ and $v1, $v0, $t8 -/* 0B688C 7F081D5C 30792000 */ andi $t9, $v1, 0x2000 -/* 0B6890 7F081D60 316D2000 */ andi $t5, $t3, 0x2000 -/* 0B6894 7F081D64 31EE2000 */ andi $t6, $t7, 0x2000 -/* 0B6898 7F081D68 0019502B */ sltu $t2, $zero, $t9 -/* 0B689C 7F081D6C 000D602B */ sltu $t4, $zero, $t5 -/* 0B68A0 7F081D70 000EC02B */ sltu $t8, $zero, $t6 -/* 0B68A4 7F081D74 AFAA0100 */ sw $t2, 0x100($sp) -/* 0B68A8 7F081D78 AFAC010C */ sw $t4, 0x10c($sp) -/* 0B68AC 7F081D7C AFB80108 */ sw $t8, 0x108($sp) -/* 0B68B0 7F081D80 AFA30050 */ sw $v1, 0x50($sp) -/* 0B68B4 7F081D84 10000014 */ b .L7F081DD8 -/* 0B68B8 7F081D88 AFA20058 */ sw $v0, 0x58($sp) -.L7F081D8C: -/* 0B68BC 7F081D8C 332A2000 */ andi $t2, $t9, 0x2000 -/* 0B68C0 7F081D90 97B9011A */ lhu $t9, 0x11a($sp) -/* 0B68C4 7F081D94 8FAD0060 */ lw $t5, 0x60($sp) -/* 0B68C8 7F081D98 97A2011C */ lhu $v0, 0x11c($sp) -/* 0B68CC 7F081D9C 000A582B */ sltu $t3, $zero, $t2 -/* 0B68D0 7F081DA0 03205027 */ not $t2, $t9 -/* 0B68D4 7F081DA4 AFAB0104 */ sw $t3, 0x104($sp) -/* 0B68D8 7F081DA8 31AC2000 */ andi $t4, $t5, 0x2000 -/* 0B68DC 7F081DAC 004A1824 */ and $v1, $v0, $t2 -/* 0B68E0 7F081DB0 306B2000 */ andi $t3, $v1, 0x2000 -/* 0B68E4 7F081DB4 304E2000 */ andi $t6, $v0, 0x2000 -/* 0B68E8 7F081DB8 000C782B */ sltu $t7, $zero, $t4 -/* 0B68EC 7F081DBC 000EC02B */ sltu $t8, $zero, $t6 -/* 0B68F0 7F081DC0 000B682B */ sltu $t5, $zero, $t3 -/* 0B68F4 7F081DC4 AFAF0100 */ sw $t7, 0x100($sp) -/* 0B68F8 7F081DC8 AFB8010C */ sw $t8, 0x10c($sp) -/* 0B68FC 7F081DCC AFAD0108 */ sw $t5, 0x108($sp) -/* 0B6900 7F081DD0 AFA30050 */ sw $v1, 0x50($sp) -/* 0B6904 7F081DD4 AFA20058 */ sw $v0, 0x58($sp) -.L7F081DD8: -/* 0B6908 7F081DD8 0FC2FF01 */ jal get_controls_locked_flag -/* 0B690C 7F081DDC 00000000 */ nop -/* 0B6910 7F081DE0 5440011F */ bnezl $v0, .L7F082260 -/* 0B6914 7F081DE4 8FA2010C */ lw $v0, 0x10c($sp) -/* 0B6918 7F081DE8 0FC3092F */ jal sub_GAME_7F0C24BC -/* 0B691C 7F081DEC 00000000 */ nop -/* 0B6920 7F081DF0 5040011B */ beql $v0, $zero, .L7F082260 -/* 0B6924 7F081DF4 8FA2010C */ lw $v0, 0x10c($sp) -/* 0B6928 7F081DF8 0FC293A0 */ jal cur_player_get_aim_control -/* 0B692C 7F081DFC 00000000 */ nop -/* 0B6930 7F081E00 54400006 */ bnezl $v0, .L7F081E1C -/* 0B6934 7F081E04 8FAE0100 */ lw $t6, 0x100($sp) -/* 0B6938 7F081E08 8FAC0104 */ lw $t4, 0x104($sp) -/* 0B693C 7F081E0C 8E0F0000 */ lw $t7, ($s0) -/* 0B6940 7F081E10 10000008 */ b .L7F081E34 -/* 0B6944 7F081E14 ADEC0124 */ sw $t4, 0x124($t7) -/* 0B6948 7F081E18 8FAE0100 */ lw $t6, 0x100($sp) -.L7F081E1C: -/* 0B694C 7F081E1C 51C00006 */ beql $t6, $zero, .L7F081E38 -/* 0B6950 7F081E20 8E190000 */ lw $t9, ($s0) -/* 0B6954 7F081E24 8E080000 */ lw $t0, ($s0) -/* 0B6958 7F081E28 8D050124 */ lw $a1, 0x124($t0) -/* 0B695C 7F081E2C 2CB80001 */ sltiu $t8, $a1, 1 -/* 0B6960 7F081E30 AD180124 */ sw $t8, 0x124($t0) -.L7F081E34: -/* 0B6964 7F081E34 8E190000 */ lw $t9, ($s0) -.L7F081E38: -/* 0B6968 7F081E38 8FA40060 */ lw $a0, 0x60($sp) -/* 0B696C 7F081E3C 240F0001 */ li $t7, 1 -/* 0B6970 7F081E40 8F230124 */ lw $v1, 0x124($t9) -/* 0B6974 7F081E44 308A4000 */ andi $t2, $a0, 0x4000 -/* 0B6978 7F081E48 000A582B */ sltu $t3, $zero, $t2 -/* 0B697C 7F081E4C 2C620001 */ sltiu $v0, $v1, 1 -/* 0B6980 7F081E50 AFA201BC */ sw $v0, 0x1bc($sp) -/* 0B6984 7F081E54 AFA20148 */ sw $v0, 0x148($sp) -/* 0B6988 7F081E58 01602825 */ move $a1, $t3 -/* 0B698C 7F081E5C AFAB0048 */ sw $t3, 0x48($sp) -/* 0B6990 7F081E60 15600005 */ bnez $t3, .L7F081E78 -/* 0B6994 7F081E64 AFA301B8 */ sw $v1, 0x1b8($sp) -/* 0B6998 7F081E68 8FA50050 */ lw $a1, 0x50($sp) -/* 0B699C 7F081E6C AFAB0048 */ sw $t3, 0x48($sp) -/* 0B69A0 7F081E70 30AD4000 */ andi $t5, $a1, 0x4000 -/* 0B69A4 7F081E74 000D282B */ sltu $a1, $zero, $t5 -.L7F081E78: -/* 0B69A8 7F081E78 AFA501B0 */ sw $a1, 0x1b0($sp) -/* 0B69AC 7F081E7C AFA201AC */ sw $v0, 0x1ac($sp) -/* 0B69B0 7F081E80 AFAF01A8 */ sw $t7, 0x1a8($sp) -/* 0B69B4 7F081E84 AFA201A4 */ sw $v0, 0x1a4($sp) -/* 0B69B8 7F081E88 10600012 */ beqz $v1, .L7F081ED4 -/* 0B69BC 7F081E8C AFA201A0 */ sw $v0, 0x1a0($sp) -/* 0B69C0 7F081E90 83A401C7 */ lb $a0, 0x1c7($sp) -/* 0B69C4 7F081E94 2881003D */ slti $at, $a0, 0x3d -/* 0B69C8 7F081E98 1420000E */ bnez $at, .L7F081ED4 -/* 0B69CC 7F081E9C 248EFFC4 */ addiu $t6, $a0, -0x3c -/* 0B69D0 7F081EA0 448E2000 */ mtc1 $t6, $f4 -/* 0B69D4 7F081EA4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B69D8 7F081EA8 44811000 */ mtc1 $at, $f2 -/* 0B69DC 7F081EAC 468021A0 */ cvt.s.w $f6, $f4 -/* 0B69E0 7F081EB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B69E4 7F081EB4 44816000 */ mtc1 $at, $f12 -/* 0B69E8 7F081EB8 46023003 */ div.s $f0, $f6, $f2 -/* 0B69EC 7F081EBC 4600603C */ c.lt.s $f12, $f0 -/* 0B69F0 7F081EC0 E7A00184 */ swc1 $f0, 0x184($sp) -/* 0B69F4 7F081EC4 45000008 */ bc1f .L7F081EE8 -/* 0B69F8 7F081EC8 00000000 */ nop -/* 0B69FC 7F081ECC 10000006 */ b .L7F081EE8 -/* 0B6A00 7F081ED0 E7AC0184 */ swc1 $f12, 0x184($sp) -.L7F081ED4: -/* 0B6A04 7F081ED4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B6A08 7F081ED8 44816000 */ mtc1 $at, $f12 -/* 0B6A0C 7F081EDC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B6A10 7F081EE0 44811000 */ mtc1 $at, $f2 -/* 0B6A14 7F081EE4 83A401C7 */ lb $a0, 0x1c7($sp) -.L7F081EE8: -/* 0B6A18 7F081EE8 1060000D */ beqz $v1, .L7F081F20 -/* 0B6A1C 7F081EEC 2881FFC4 */ slti $at, $a0, -0x3c -/* 0B6A20 7F081EF0 1020000B */ beqz $at, .L7F081F20 -/* 0B6A24 7F081EF4 2418FFC4 */ li $t8, -60 -/* 0B6A28 7F081EF8 0304C823 */ subu $t9, $t8, $a0 -/* 0B6A2C 7F081EFC 44994000 */ mtc1 $t9, $f8 -/* 0B6A30 7F081F00 00000000 */ nop -/* 0B6A34 7F081F04 468042A0 */ cvt.s.w $f10, $f8 -/* 0B6A38 7F081F08 46025003 */ div.s $f0, $f10, $f2 -/* 0B6A3C 7F081F0C 4600603C */ c.lt.s $f12, $f0 -/* 0B6A40 7F081F10 E7A00180 */ swc1 $f0, 0x180($sp) -/* 0B6A44 7F081F14 45000002 */ bc1f .L7F081F20 -/* 0B6A48 7F081F18 00000000 */ nop -/* 0B6A4C 7F081F1C E7AC0180 */ swc1 $f12, 0x180($sp) -.L7F081F20: -/* 0B6A50 7F081F20 10600010 */ beqz $v1, .L7F081F64 -/* 0B6A54 7F081F24 00002025 */ move $a0, $zero -/* 0B6A58 7F081F28 83A201C3 */ lb $v0, 0x1c3($sp) -/* 0B6A5C 7F081F2C 240AFFC4 */ li $t2, -60 -/* 0B6A60 7F081F30 2841FFC4 */ slti $at, $v0, -0x3c -/* 0B6A64 7F081F34 1020000B */ beqz $at, .L7F081F64 -/* 0B6A68 7F081F38 01425823 */ subu $t3, $t2, $v0 -/* 0B6A6C 7F081F3C 448B9000 */ mtc1 $t3, $f18 -/* 0B6A70 7F081F40 00000000 */ nop -/* 0B6A74 7F081F44 46809120 */ cvt.s.w $f4, $f18 -/* 0B6A78 7F081F48 46022003 */ div.s $f0, $f4, $f2 -/* 0B6A7C 7F081F4C 4600603C */ c.lt.s $f12, $f0 -/* 0B6A80 7F081F50 E7A0017C */ swc1 $f0, 0x17c($sp) -/* 0B6A84 7F081F54 45000004 */ bc1f .L7F081F68 -/* 0B6A88 7F081F58 00000000 */ nop -/* 0B6A8C 7F081F5C 10000002 */ b .L7F081F68 -/* 0B6A90 7F081F60 E7AC017C */ swc1 $f12, 0x17c($sp) -.L7F081F64: -/* 0B6A94 7F081F64 83A201C3 */ lb $v0, 0x1c3($sp) -.L7F081F68: -/* 0B6A98 7F081F68 1060000C */ beqz $v1, .L7F081F9C -/* 0B6A9C 7F081F6C 2841003D */ slti $at, $v0, 0x3d -/* 0B6AA0 7F081F70 1420000A */ bnez $at, .L7F081F9C -/* 0B6AA4 7F081F74 244DFFC4 */ addiu $t5, $v0, -0x3c -/* 0B6AA8 7F081F78 448D3000 */ mtc1 $t5, $f6 -/* 0B6AAC 7F081F7C 00000000 */ nop -/* 0B6AB0 7F081F80 46803220 */ cvt.s.w $f8, $f6 -/* 0B6AB4 7F081F84 46024003 */ div.s $f0, $f8, $f2 -/* 0B6AB8 7F081F88 4600603C */ c.lt.s $f12, $f0 -/* 0B6ABC 7F081F8C E7A00178 */ swc1 $f0, 0x178($sp) -/* 0B6AC0 7F081F90 45020003 */ bc1fl .L7F081FA0 -/* 0B6AC4 7F081F94 8FAC005C */ lw $t4, 0x5c($sp) -/* 0B6AC8 7F081F98 E7AC0178 */ swc1 $f12, 0x178($sp) -.L7F081F9C: -/* 0B6ACC 7F081F9C 8FAC005C */ lw $t4, 0x5c($sp) -.L7F081FA0: -/* 0B6AD0 7F081FA0 318F8000 */ andi $t7, $t4, 0x8000 -/* 0B6AD4 7F081FA4 000F702B */ sltu $t6, $zero, $t7 -/* 0B6AD8 7F081FA8 15C00006 */ bnez $t6, .L7F081FC4 -/* 0B6ADC 7F081FAC AFAE004C */ sw $t6, 0x4c($sp) -/* 0B6AE0 7F081FB0 8FA20058 */ lw $v0, 0x58($sp) -/* 0B6AE4 7F081FB4 30588000 */ andi $t8, $v0, 0x8000 -/* 0B6AE8 7F081FB8 0018282B */ sltu $a1, $zero, $t8 -/* 0B6AEC 7F081FBC 50A00005 */ beql $a1, $zero, .L7F081FD4 -/* 0B6AF0 7F081FC0 8FAB0060 */ lw $t3, 0x60($sp) -.L7F081FC4: -/* 0B6AF4 7F081FC4 8FA50108 */ lw $a1, 0x108($sp) -/* 0B6AF8 7F081FC8 0005502B */ sltu $t2, $zero, $a1 -/* 0B6AFC 7F081FCC 01402825 */ move $a1, $t2 -/* 0B6B00 7F081FD0 8FAB0060 */ lw $t3, 0x60($sp) -.L7F081FD4: -/* 0B6B04 7F081FD4 AFA50174 */ sw $a1, 0x174($sp) -/* 0B6B08 7F081FD8 316D8000 */ andi $t5, $t3, 0x8000 -/* 0B6B0C 7F081FDC 000D602B */ sltu $t4, $zero, $t5 -/* 0B6B10 7F081FE0 15800006 */ bnez $t4, .L7F081FFC -/* 0B6B14 7F081FE4 AFAC0044 */ sw $t4, 0x44($sp) -/* 0B6B18 7F081FE8 8FA20050 */ lw $v0, 0x50($sp) -/* 0B6B1C 7F081FEC 304F8000 */ andi $t7, $v0, 0x8000 -/* 0B6B20 7F081FF0 000F282B */ sltu $a1, $zero, $t7 -/* 0B6B24 7F081FF4 50A00005 */ beql $a1, $zero, .L7F08200C -/* 0B6B28 7F081FF8 AFA50170 */ sw $a1, 0x170($sp) -.L7F081FFC: -/* 0B6B2C 7F081FFC 8FA5010C */ lw $a1, 0x10c($sp) -/* 0B6B30 7F082000 2CB80001 */ sltiu $t8, $a1, 1 -/* 0B6B34 7F082004 03002825 */ move $a1, $t8 -/* 0B6B38 7F082008 AFA50170 */ sw $a1, 0x170($sp) -.L7F08200C: -/* 0B6B3C 7F08200C AFA3016C */ sw $v1, 0x16c($sp) -/* 0B6B40 7F082010 0FC17674 */ jal get_item_in_hand -/* 0B6B44 7F082014 AFA30168 */ sw $v1, 0x168($sp) -/* 0B6B48 7F082018 00402025 */ move $a0, $v0 -/* 0B6B4C 7F08201C 0FC1782D */ jal check_special_attributes -/* 0B6B50 7F082020 34058000 */ li $a1, 32768 -/* 0B6B54 7F082024 10400028 */ beqz $v0, .L7F0820C8 -/* 0B6B58 7F082028 00000000 */ nop -/* 0B6B5C 7F08202C 8E190000 */ lw $t9, ($s0) -/* 0B6B60 7F082030 8FA20110 */ lw $v0, 0x110($sp) -/* 0B6B64 7F082034 8F2A0124 */ lw $t2, 0x124($t9) -/* 0B6B68 7F082038 11400023 */ beqz $t2, .L7F0820C8 -/* 0B6B6C 7F08203C 00000000 */ nop -/* 0B6B70 7F082040 04410010 */ bgez $v0, .L7F082084 -/* 0B6B74 7F082044 00025823 */ negu $t3, $v0 -/* 0B6B78 7F082048 448B5000 */ mtc1 $t3, $f10 -/* 0B6B7C 7F08204C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B6B80 7F082050 44811000 */ mtc1 $at, $f2 -/* 0B6B84 7F082054 468054A0 */ cvt.s.w $f18, $f10 -/* 0B6B88 7F082058 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0B6B8C 7F08205C 44812000 */ mtc1 $at, $f4 -/* 0B6B90 7F082060 00000000 */ nop -/* 0B6B94 7F082064 46049303 */ div.s $f12, $f18, $f4 -/* 0B6B98 7F082068 460C103C */ c.lt.s $f2, $f12 -/* 0B6B9C 7F08206C 00000000 */ nop -/* 0B6BA0 7F082070 45020003 */ bc1fl .L7F082080 -/* 0B6BA4 7F082074 460C6300 */ add.s $f12, $f12, $f12 -/* 0B6BA8 7F082078 46001306 */ mov.s $f12, $f2 -/* 0B6BAC 7F08207C 460C6300 */ add.s $f12, $f12, $f12 -.L7F082080: -/* 0B6BB0 7F082080 E7AC0164 */ swc1 $f12, 0x164($sp) -.L7F082084: -/* 0B6BB4 7F082084 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B6BB8 7F082088 44811000 */ mtc1 $at, $f2 -/* 0B6BBC 7F08208C 1840000E */ blez $v0, .L7F0820C8 -/* 0B6BC0 7F082090 C7AC0164 */ lwc1 $f12, 0x164($sp) -/* 0B6BC4 7F082094 44823000 */ mtc1 $v0, $f6 -/* 0B6BC8 7F082098 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0B6BCC 7F08209C 44815000 */ mtc1 $at, $f10 -/* 0B6BD0 7F0820A0 46803220 */ cvt.s.w $f8, $f6 -/* 0B6BD4 7F0820A4 460A4383 */ div.s $f14, $f8, $f10 -/* 0B6BD8 7F0820A8 460E103C */ c.lt.s $f2, $f14 -/* 0B6BDC 7F0820AC 00000000 */ nop -/* 0B6BE0 7F0820B0 45020003 */ bc1fl .L7F0820C0 -/* 0B6BE4 7F0820B4 460E7380 */ add.s $f14, $f14, $f14 -/* 0B6BE8 7F0820B8 46001386 */ mov.s $f14, $f2 -/* 0B6BEC 7F0820BC 460E7380 */ add.s $f14, $f14, $f14 -.L7F0820C0: -/* 0B6BF0 7F0820C0 E7AC0164 */ swc1 $f12, 0x164($sp) -/* 0B6BF4 7F0820C4 E7AE0160 */ swc1 $f14, 0x160($sp) -.L7F0820C8: -/* 0B6BF8 7F0820C8 0FC17674 */ jal get_item_in_hand -/* 0B6BFC 7F0820CC 00002025 */ move $a0, $zero -/* 0B6C00 7F0820D0 00402025 */ move $a0, $v0 -/* 0B6C04 7F0820D4 0FC1782D */ jal check_special_attributes -/* 0B6C08 7F0820D8 34058000 */ li $a1, 32768 -/* 0B6C0C 7F0820DC 2C450001 */ sltiu $a1, $v0, 1 -/* 0B6C10 7F0820E0 10A00009 */ beqz $a1, .L7F082108 -/* 0B6C14 7F0820E4 00002025 */ move $a0, $zero -/* 0B6C18 7F0820E8 8E0D0000 */ lw $t5, ($s0) -/* 0B6C1C 7F0820EC 8DA50124 */ lw $a1, 0x124($t5) -/* 0B6C20 7F0820F0 0005602B */ sltu $t4, $zero, $a1 -/* 0B6C24 7F0820F4 11800004 */ beqz $t4, .L7F082108 -/* 0B6C28 7F0820F8 01802825 */ move $a1, $t4 -/* 0B6C2C 7F0820FC 83A5011E */ lb $a1, 0x11e($sp) -/* 0B6C30 7F082100 28AFFFE2 */ slti $t7, $a1, -0x1e -/* 0B6C34 7F082104 01E02825 */ move $a1, $t7 -.L7F082108: -/* 0B6C38 7F082108 0FC17674 */ jal get_item_in_hand -/* 0B6C3C 7F08210C AFA5015C */ sw $a1, 0x15c($sp) -/* 0B6C40 7F082110 00402025 */ move $a0, $v0 -/* 0B6C44 7F082114 0FC1782D */ jal check_special_attributes -/* 0B6C48 7F082118 34058000 */ li $a1, 32768 -/* 0B6C4C 7F08211C 2C450001 */ sltiu $a1, $v0, 1 -/* 0B6C50 7F082120 50A0000A */ beql $a1, $zero, .L7F08214C -/* 0B6C54 7F082124 8FAA004C */ lw $t2, 0x4c($sp) -/* 0B6C58 7F082128 8E0E0000 */ lw $t6, ($s0) -/* 0B6C5C 7F08212C 8DC50124 */ lw $a1, 0x124($t6) -/* 0B6C60 7F082130 0005C02B */ sltu $t8, $zero, $a1 -/* 0B6C64 7F082134 13000004 */ beqz $t8, .L7F082148 -/* 0B6C68 7F082138 03002825 */ move $a1, $t8 -/* 0B6C6C 7F08213C 83A5011E */ lb $a1, 0x11e($sp) -/* 0B6C70 7F082140 28B9001F */ slti $t9, $a1, 0x1f -/* 0B6C74 7F082144 3B250001 */ xori $a1, $t9, 1 -.L7F082148: -/* 0B6C78 7F082148 8FAA004C */ lw $t2, 0x4c($sp) -.L7F08214C: -/* 0B6C7C 7F08214C AFA50158 */ sw $a1, 0x158($sp) -/* 0B6C80 7F082150 8FAB0048 */ lw $t3, 0x48($sp) -/* 0B6C84 7F082154 11400002 */ beqz $t2, .L7F082160 -/* 0B6C88 7F082158 8FAD005C */ lw $t5, 0x5c($sp) -/* 0B6C8C 7F08215C 15600012 */ bnez $t3, .L7F0821A8 -.L7F082160: -/* 0B6C90 7F082160 31AC4000 */ andi $t4, $t5, 0x4000 -/* 0B6C94 7F082164 11800003 */ beqz $t4, .L7F082174 -/* 0B6C98 7F082168 8FAF0044 */ lw $t7, 0x44($sp) -/* 0B6C9C 7F08216C 15E0000E */ bnez $t7, .L7F0821A8 -/* 0B6CA0 7F082170 00000000 */ nop -.L7F082174: -/* 0B6CA4 7F082174 8FAE0058 */ lw $t6, 0x58($sp) -/* 0B6CA8 7F082178 8FB90050 */ lw $t9, 0x50($sp) -/* 0B6CAC 7F08217C 8FAB0058 */ lw $t3, 0x58($sp) -/* 0B6CB0 7F082180 31D88000 */ andi $t8, $t6, 0x8000 -/* 0B6CB4 7F082184 13000002 */ beqz $t8, .L7F082190 -/* 0B6CB8 7F082188 332A4000 */ andi $t2, $t9, 0x4000 -/* 0B6CBC 7F08218C 15400006 */ bnez $t2, .L7F0821A8 -.L7F082190: -/* 0B6CC0 7F082190 316D4000 */ andi $t5, $t3, 0x4000 -/* 0B6CC4 7F082194 11A0000D */ beqz $t5, .L7F0821CC -/* 0B6CC8 7F082198 8FAC0050 */ lw $t4, 0x50($sp) -/* 0B6CCC 7F08219C 318F8000 */ andi $t7, $t4, 0x8000 -/* 0B6CD0 7F0821A0 11E0000A */ beqz $t7, .L7F0821CC -/* 0B6CD4 7F0821A4 00000000 */ nop -.L7F0821A8: -/* 0B6CD8 7F0821A8 0FC17674 */ jal get_item_in_hand -/* 0B6CDC 7F0821AC 00002025 */ move $a0, $zero -/* 0B6CE0 7F0821B0 2401001D */ li $at, 29 -/* 0B6CE4 7F0821B4 14410005 */ bne $v0, $at, .L7F0821CC -/* 0B6CE8 7F0821B8 240E0001 */ li $t6, 1 -/* 0B6CEC 7F0821BC AFAE014C */ sw $t6, 0x14c($sp) -/* 0B6CF0 7F0821C0 AFA00174 */ sw $zero, 0x174($sp) -/* 0B6CF4 7F0821C4 AFA00170 */ sw $zero, 0x170($sp) -/* 0B6CF8 7F0821C8 AFA001B0 */ sw $zero, 0x1b0($sp) -.L7F0821CC: -/* 0B6CFC 7F0821CC 3C188003 */ lui $t8, %hi(in_tank_flag) -/* 0B6D00 7F0821D0 8F186448 */ lw $t8, %lo(in_tank_flag)($t8) -/* 0B6D04 7F0821D4 24010001 */ li $at, 1 -/* 0B6D08 7F0821D8 57010021 */ bnel $t8, $at, .L7F082260 -/* 0B6D0C 7F0821DC 8FA2010C */ lw $v0, 0x10c($sp) -/* 0B6D10 7F0821E0 8E190000 */ lw $t9, ($s0) -/* 0B6D14 7F0821E4 8F2A0124 */ lw $t2, 0x124($t9) -/* 0B6D18 7F0821E8 5140001D */ beql $t2, $zero, .L7F082260 -/* 0B6D1C 7F0821EC 8FA2010C */ lw $v0, 0x10c($sp) -/* 0B6D20 7F0821F0 0FC17674 */ jal get_item_in_hand -/* 0B6D24 7F0821F4 00002025 */ move $a0, $zero -/* 0B6D28 7F0821F8 24010020 */ li $at, 32 -/* 0B6D2C 7F0821FC 14410008 */ bne $v0, $at, .L7F082220 -/* 0B6D30 7F082200 8FAC0124 */ lw $t4, 0x124($sp) -/* 0B6D34 7F082204 8FAB0124 */ lw $t3, 0x124($sp) -/* 0B6D38 7F082208 AFA00134 */ sw $zero, 0x134($sp) -/* 0B6D3C 7F08220C 8FAD012C */ lw $t5, 0x12c($sp) -/* 0B6D40 7F082210 55600011 */ bnezl $t3, .L7F082258 -/* 0B6D44 7F082214 E7B4017C */ swc1 $f20, 0x17c($sp) -/* 0B6D48 7F082218 1000000E */ b .L7F082254 -/* 0B6D4C 7F08221C AFAD0124 */ sw $t5, 0x124($sp) -.L7F082220: -/* 0B6D50 7F082220 1580000C */ bnez $t4, .L7F082254 -/* 0B6D54 7F082224 C7B2017C */ lwc1 $f18, 0x17c($sp) -/* 0B6D58 7F082228 4612A03C */ c.lt.s $f20, $f18 -/* 0B6D5C 7F08222C 00000000 */ nop -/* 0B6D60 7F082230 45020003 */ bc1fl .L7F082240 -/* 0B6D64 7F082234 C7A40178 */ lwc1 $f4, 0x178($sp) -/* 0B6D68 7F082238 E7B2018C */ swc1 $f18, 0x18c($sp) -/* 0B6D6C 7F08223C C7A40178 */ lwc1 $f4, 0x178($sp) -.L7F082240: -/* 0B6D70 7F082240 4604A03C */ c.lt.s $f20, $f4 -/* 0B6D74 7F082244 00000000 */ nop -/* 0B6D78 7F082248 45020003 */ bc1fl .L7F082258 -/* 0B6D7C 7F08224C E7B4017C */ swc1 $f20, 0x17c($sp) -/* 0B6D80 7F082250 E7A40188 */ swc1 $f4, 0x188($sp) -.L7F082254: -/* 0B6D84 7F082254 E7B4017C */ swc1 $f20, 0x17c($sp) -.L7F082258: -/* 0B6D88 7F082258 E7B40178 */ swc1 $f20, 0x178($sp) -/* 0B6D8C 7F08225C 8FA2010C */ lw $v0, 0x10c($sp) -.L7F082260: -/* 0B6D90 7F082260 8E080000 */ lw $t0, ($s0) -/* 0B6D94 7F082264 240D0001 */ li $t5, 1 -/* 0B6D98 7F082268 0002282B */ sltu $a1, $zero, $v0 -/* 0B6D9C 7F08226C 50A0000E */ beql $a1, $zero, .L7F0822A8 -/* 0B6DA0 7F082270 97AC011C */ lhu $t4, 0x11c($sp) -/* 0B6DA4 7F082274 8D0501C8 */ lw $a1, 0x1c8($t0) -/* 0B6DA8 7F082278 8FA2005C */ lw $v0, 0x5c($sp) -/* 0B6DAC 7F08227C 2CAE0001 */ sltiu $t6, $a1, 1 -/* 0B6DB0 7F082280 11C00008 */ beqz $t6, .L7F0822A4 -/* 0B6DB4 7F082284 01C02825 */ move $a1, $t6 -/* 0B6DB8 7F082288 30588000 */ andi $t8, $v0, 0x8000 -/* 0B6DBC 7F08228C 2F050001 */ sltiu $a1, $t8, 1 -/* 0B6DC0 7F082290 50A00005 */ beql $a1, $zero, .L7F0822A8 -/* 0B6DC4 7F082294 97AC011C */ lhu $t4, 0x11c($sp) -/* 0B6DC8 7F082298 8FA50058 */ lw $a1, 0x58($sp) -/* 0B6DCC 7F08229C 30AA8000 */ andi $t2, $a1, 0x8000 -/* 0B6DD0 7F0822A0 2D450001 */ sltiu $a1, $t2, 1 -.L7F0822A4: -/* 0B6DD4 7F0822A4 97AC011C */ lhu $t4, 0x11c($sp) -.L7F0822A8: -/* 0B6DD8 7F0822A8 AFA501B4 */ sw $a1, 0x1b4($sp) -/* 0B6DDC 7F0822AC AFAD0140 */ sw $t5, 0x140($sp) -/* 0B6DE0 7F0822B0 100001C5 */ b .L7F0829C8 -/* 0B6DE4 7F0822B4 A50C03B6 */ sh $t4, 0x3b6($t0) -.L7F0822B8: -/* 0B6DE8 7F0822B8 0FC29370 */ jal cur_player_get_control_type -/* 0B6DEC 7F0822BC 00000000 */ nop -/* 0B6DF0 7F0822C0 24010002 */ li $at, 2 -/* 0B6DF4 7F0822C4 50410007 */ beql $v0, $at, .L7F0822E4 -/* 0B6DF8 7F0822C8 340F8000 */ li $t7, 32768 -/* 0B6DFC 7F0822CC 0FC29370 */ jal cur_player_get_control_type -/* 0B6E00 7F0822D0 00000000 */ nop -/* 0B6E04 7F0822D4 24010003 */ li $at, 3 -/* 0B6E08 7F0822D8 14410007 */ bne $v0, $at, .L7F0822F8 -/* 0B6E0C 7F0822DC 24182000 */ li $t8, 8192 -/* 0B6E10 7F0822E0 340F8000 */ li $t7, 32768 -.L7F0822E4: -/* 0B6E14 7F0822E4 240E0030 */ li $t6, 48 -/* 0B6E18 7F0822E8 A7AF00FE */ sh $t7, 0xfe($sp) -/* 0B6E1C 7F0822EC 24032000 */ li $v1, 8192 -/* 0B6E20 7F0822F0 10000005 */ b .L7F082308 -/* 0B6E24 7F0822F4 A7AE00FA */ sh $t6, 0xfa($sp) -.L7F0822F8: -/* 0B6E28 7F0822F8 34198000 */ li $t9, 32768 -/* 0B6E2C 7F0822FC A7B800FE */ sh $t8, 0xfe($sp) -/* 0B6E30 7F082300 24030030 */ li $v1, 48 -/* 0B6E34 7F082304 A7B900FA */ sh $t9, 0xfa($sp) -.L7F082308: -/* 0B6E38 7F082308 0FC2FF01 */ jal get_controls_locked_flag -/* 0B6E3C 7F08230C A7A300FC */ sh $v1, 0xfc($sp) -/* 0B6E40 7F082310 14400193 */ bnez $v0, .L7F082960 -/* 0B6E44 7F082314 97A300FC */ lhu $v1, 0xfc($sp) -/* 0B6E48 7F082318 0FC3092F */ jal sub_GAME_7F0C24BC -/* 0B6E4C 7F08231C A7A300FC */ sh $v1, 0xfc($sp) -/* 0B6E50 7F082320 1040018F */ beqz $v0, .L7F082960 -/* 0B6E54 7F082324 97A300FC */ lhu $v1, 0xfc($sp) -/* 0B6E58 7F082328 97AB01CE */ lhu $t3, 0x1ce($sp) -/* 0B6E5C 7F08232C 8FAA005C */ lw $t2, 0x5c($sp) -/* 0B6E60 7F082330 A7A300FC */ sh $v1, 0xfc($sp) -/* 0B6E64 7F082334 01606827 */ not $t5, $t3 -/* 0B6E68 7F082338 014D6024 */ and $t4, $t2, $t5 -/* 0B6E6C 7F08233C 0FC293A0 */ jal cur_player_get_aim_control -/* 0B6E70 7F082340 AFAC0060 */ sw $t4, 0x60($sp) -/* 0B6E74 7F082344 14400007 */ bnez $v0, .L7F082364 -/* 0B6E78 7F082348 97A300FC */ lhu $v1, 0xfc($sp) -/* 0B6E7C 7F08234C 8FAF005C */ lw $t7, 0x5c($sp) -/* 0B6E80 7F082350 8E190000 */ lw $t9, ($s0) -/* 0B6E84 7F082354 01E37024 */ and $t6, $t7, $v1 -/* 0B6E88 7F082358 000EC02B */ sltu $t8, $zero, $t6 -/* 0B6E8C 7F08235C 10000009 */ b .L7F082384 -/* 0B6E90 7F082360 AF380124 */ sw $t8, 0x124($t9) -.L7F082364: -/* 0B6E94 7F082364 8FAB0060 */ lw $t3, 0x60($sp) -/* 0B6E98 7F082368 01635024 */ and $t2, $t3, $v1 -/* 0B6E9C 7F08236C 51400006 */ beql $t2, $zero, .L7F082388 -/* 0B6EA0 7F082370 8E0C0000 */ lw $t4, ($s0) -/* 0B6EA4 7F082374 8E080000 */ lw $t0, ($s0) -/* 0B6EA8 7F082378 8D050124 */ lw $a1, 0x124($t0) -/* 0B6EAC 7F08237C 2CAD0001 */ sltiu $t5, $a1, 1 -/* 0B6EB0 7F082380 AD0D0124 */ sw $t5, 0x124($t0) -.L7F082384: -/* 0B6EB4 7F082384 8E0C0000 */ lw $t4, ($s0) -.L7F082388: -/* 0B6EB8 7F082388 8FA20060 */ lw $v0, 0x60($sp) -/* 0B6EBC 7F08238C 8D830124 */ lw $v1, 0x124($t4) -/* 0B6EC0 7F082390 304F4000 */ andi $t7, $v0, 0x4000 -/* 0B6EC4 7F082394 000F702B */ sltu $t6, $zero, $t7 -/* 0B6EC8 7F082398 2C650001 */ sltiu $a1, $v1, 1 -/* 0B6ECC 7F08239C AFA501BC */ sw $a1, 0x1bc($sp) -/* 0B6ED0 7F0823A0 AFA50148 */ sw $a1, 0x148($sp) -/* 0B6ED4 7F0823A4 AFAE01B0 */ sw $t6, 0x1b0($sp) -/* 0B6ED8 7F0823A8 AFAE0048 */ sw $t6, 0x48($sp) -/* 0B6EDC 7F0823AC 0FC29370 */ jal cur_player_get_control_type -/* 0B6EE0 7F0823B0 AFA301B8 */ sw $v1, 0x1b8($sp) -/* 0B6EE4 7F0823B4 24010001 */ li $at, 1 -/* 0B6EE8 7F0823B8 50410007 */ beql $v0, $at, .L7F0823D8 -/* 0B6EEC 7F0823BC 8FA2005C */ lw $v0, 0x5c($sp) -/* 0B6EF0 7F0823C0 0FC29370 */ jal cur_player_get_control_type -/* 0B6EF4 7F0823C4 00000000 */ nop -/* 0B6EF8 7F0823C8 24010003 */ li $at, 3 -/* 0B6EFC 7F0823CC 14410044 */ bne $v0, $at, .L7F0824E0 -/* 0B6F00 7F0823D0 8FA6005C */ lw $a2, 0x5c($sp) -/* 0B6F04 7F0823D4 8FA2005C */ lw $v0, 0x5c($sp) -.L7F0823D8: -/* 0B6F08 7F0823D8 3C048003 */ lui $a0, %hi(in_tank_flag) -/* 0B6F0C 7F0823DC 30460202 */ andi $a2, $v0, 0x202 -/* 0B6F10 7F0823E0 0006C02B */ sltu $t8, $zero, $a2 -/* 0B6F14 7F0823E4 13000014 */ beqz $t8, .L7F082438 -/* 0B6F18 7F0823E8 03003025 */ move $a2, $t8 -/* 0B6F1C 7F0823EC 8E190000 */ lw $t9, ($s0) -/* 0B6F20 7F0823F0 3C0A8003 */ lui $t2, %hi(in_tank_flag) -/* 0B6F24 7F0823F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B6F28 7F0823F8 8F2B0124 */ lw $t3, 0x124($t9) -/* 0B6F2C 7F0823FC 5560000C */ bnezl $t3, .L7F082430 -/* 0B6F30 7F082400 44814000 */ mtc1 $at, $f8 -/* 0B6F34 7F082404 8D4A6448 */ lw $t2, %lo(in_tank_flag)($t2) -/* 0B6F38 7F082408 24010001 */ li $at, 1 -/* 0B6F3C 7F08240C 240D0001 */ li $t5, 1 -/* 0B6F40 7F082410 15410004 */ bne $t2, $at, .L7F082424 -/* 0B6F44 7F082414 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B6F48 7F082418 44813000 */ mtc1 $at, $f6 -/* 0B6F4C 7F08241C 10000006 */ b .L7F082438 -/* 0B6F50 7F082420 E7A6017C */ swc1 $f6, 0x17c($sp) -.L7F082424: -/* 0B6F54 7F082424 10000004 */ b .L7F082438 -/* 0B6F58 7F082428 AFAD0194 */ sw $t5, 0x194($sp) -/* 0B6F5C 7F08242C 44814000 */ mtc1 $at, $f8 -.L7F082430: -/* 0B6F60 7F082430 00000000 */ nop -/* 0B6F64 7F082434 E7A8018C */ swc1 $f8, 0x18c($sp) -.L7F082438: -/* 0B6F68 7F082438 304C0101 */ andi $t4, $v0, 0x101 -/* 0B6F6C 7F08243C 8E0E0000 */ lw $t6, ($s0) -/* 0B6F70 7F082440 000C782B */ sltu $t7, $zero, $t4 -/* 0B6F74 7F082444 AFAF0044 */ sw $t7, 0x44($sp) -/* 0B6F78 7F082448 8C846448 */ lw $a0, %lo(in_tank_flag)($a0) -/* 0B6F7C 7F08244C 11E0000F */ beqz $t7, .L7F08248C -/* 0B6F80 7F082450 8DC30124 */ lw $v1, 0x124($t6) -/* 0B6F84 7F082454 1460000A */ bnez $v1, .L7F082480 -/* 0B6F88 7F082458 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B6F8C 7F08245C 24010001 */ li $at, 1 -/* 0B6F90 7F082460 14810005 */ bne $a0, $at, .L7F082478 -/* 0B6F94 7F082464 24180001 */ li $t8, 1 -/* 0B6F98 7F082468 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B6F9C 7F08246C 44815000 */ mtc1 $at, $f10 -/* 0B6FA0 7F082470 10000006 */ b .L7F08248C -/* 0B6FA4 7F082474 E7AA0178 */ swc1 $f10, 0x178($sp) -.L7F082478: -/* 0B6FA8 7F082478 10000004 */ b .L7F08248C -/* 0B6FAC 7F08247C AFB80190 */ sw $t8, 0x190($sp) -.L7F082480: -/* 0B6FB0 7F082480 44819000 */ mtc1 $at, $f18 -/* 0B6FB4 7F082484 00000000 */ nop -/* 0B6FB8 7F082488 E7B20188 */ swc1 $f18, 0x188($sp) -.L7F08248C: -/* 0B6FBC 7F08248C 2C620001 */ sltiu $v0, $v1, 1 -/* 0B6FC0 7F082490 10400004 */ beqz $v0, .L7F0824A4 -/* 0B6FC4 7F082494 00402825 */ move $a1, $v0 -/* 0B6FC8 7F082498 8FA5005C */ lw $a1, 0x5c($sp) -/* 0B6FCC 7F08249C 30B90808 */ andi $t9, $a1, 0x808 -/* 0B6FD0 7F0824A0 0019282B */ sltu $a1, $zero, $t9 -.L7F0824A4: -/* 0B6FD4 7F0824A4 AFA5019C */ sw $a1, 0x19c($sp) -/* 0B6FD8 7F0824A8 10400004 */ beqz $v0, .L7F0824BC -/* 0B6FDC 7F0824AC 00402825 */ move $a1, $v0 -/* 0B6FE0 7F0824B0 8FA5005C */ lw $a1, 0x5c($sp) -/* 0B6FE4 7F0824B4 30AA0404 */ andi $t2, $a1, 0x404 -/* 0B6FE8 7F0824B8 000A282B */ sltu $a1, $zero, $t2 -.L7F0824BC: -/* 0B6FEC 7F0824BC AFA50198 */ sw $a1, 0x198($sp) -/* 0B6FF0 7F0824C0 24010001 */ li $at, 1 -/* 0B6FF4 7F0824C4 00402825 */ move $a1, $v0 -/* 0B6FF8 7F0824C8 14810003 */ bne $a0, $at, .L7F0824D8 -/* 0B6FFC 7F0824CC AFA201A0 */ sw $v0, 0x1a0($sp) -/* 0B7000 7F0824D0 10000034 */ b .L7F0825A4 -/* 0B7004 7F0824D4 AFA201A8 */ sw $v0, 0x1a8($sp) -.L7F0824D8: -/* 0B7008 7F0824D8 10000032 */ b .L7F0825A4 -/* 0B700C 7F0824DC AFA501A4 */ sw $a1, 0x1a4($sp) -.L7F0824E0: -/* 0B7010 7F0824E0 30CC0202 */ andi $t4, $a2, 0x202 -/* 0B7014 7F0824E4 000C302B */ sltu $a2, $zero, $t4 -/* 0B7018 7F0824E8 10C00004 */ beqz $a2, .L7F0824FC -/* 0B701C 7F0824EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7020 7F0824F0 44812000 */ mtc1 $at, $f4 -/* 0B7024 7F0824F4 00000000 */ nop -/* 0B7028 7F0824F8 E7A4018C */ swc1 $f4, 0x18c($sp) -.L7F0824FC: -/* 0B702C 7F0824FC 8FA4005C */ lw $a0, 0x5c($sp) -/* 0B7030 7F082500 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7034 7F082504 308F0101 */ andi $t7, $a0, 0x101 -/* 0B7038 7F082508 000F202B */ sltu $a0, $zero, $t7 -/* 0B703C 7F08250C 50800005 */ beql $a0, $zero, .L7F082524 -/* 0B7040 7F082510 8E190000 */ lw $t9, ($s0) -/* 0B7044 7F082514 44813000 */ mtc1 $at, $f6 -/* 0B7048 7F082518 00000000 */ nop -/* 0B704C 7F08251C E7A60188 */ swc1 $f6, 0x188($sp) -/* 0B7050 7F082520 8E190000 */ lw $t9, ($s0) -.L7F082524: -/* 0B7054 7F082524 8F230124 */ lw $v1, 0x124($t9) -/* 0B7058 7F082528 2C620001 */ sltiu $v0, $v1, 1 -/* 0B705C 7F08252C 10400002 */ beqz $v0, .L7F082538 -/* 0B7060 7F082530 00402825 */ move $a1, $v0 -/* 0B7064 7F082534 00C02825 */ move $a1, $a2 -.L7F082538: -/* 0B7068 7F082538 AFA50194 */ sw $a1, 0x194($sp) -/* 0B706C 7F08253C 00402825 */ move $a1, $v0 -/* 0B7070 7F082540 10400003 */ beqz $v0, .L7F082550 -/* 0B7074 7F082544 AFA40044 */ sw $a0, 0x44($sp) -/* 0B7078 7F082548 00802825 */ move $a1, $a0 -/* 0B707C 7F08254C AFA40044 */ sw $a0, 0x44($sp) -.L7F082550: -/* 0B7080 7F082550 AFA50190 */ sw $a1, 0x190($sp) -/* 0B7084 7F082554 00402825 */ move $a1, $v0 -/* 0B7088 7F082558 14600009 */ bnez $v1, .L7F082580 -/* 0B708C 7F08255C AFA201AC */ sw $v0, 0x1ac($sp) -/* 0B7090 7F082560 8FAB005C */ lw $t3, 0x5c($sp) -/* 0B7094 7F082564 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7098 7F082568 316A0808 */ andi $t2, $t3, 0x808 -/* 0B709C 7F08256C 11400004 */ beqz $t2, .L7F082580 -/* 0B70A0 7F082570 00000000 */ nop -/* 0B70A4 7F082574 44814000 */ mtc1 $at, $f8 -/* 0B70A8 7F082578 00000000 */ nop -/* 0B70AC 7F08257C E7A80184 */ swc1 $f8, 0x184($sp) -.L7F082580: -/* 0B70B0 7F082580 14600007 */ bnez $v1, .L7F0825A0 -/* 0B70B4 7F082584 8FAD005C */ lw $t5, 0x5c($sp) -/* 0B70B8 7F082588 31AC0404 */ andi $t4, $t5, 0x404 -/* 0B70BC 7F08258C 11800004 */ beqz $t4, .L7F0825A0 -/* 0B70C0 7F082590 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B70C4 7F082594 44815000 */ mtc1 $at, $f10 -/* 0B70C8 7F082598 00000000 */ nop -/* 0B70CC 7F08259C E7AA0180 */ swc1 $f10, 0x180($sp) -.L7F0825A0: -/* 0B70D0 7F0825A0 AFA501A4 */ sw $a1, 0x1a4($sp) -.L7F0825A4: -/* 0B70D4 7F0825A4 10600014 */ beqz $v1, .L7F0825F8 -/* 0B70D8 7F0825A8 00000000 */ nop -/* 0B70DC 7F0825AC 83AE01C7 */ lb $t6, 0x1c7($sp) -/* 0B70E0 7F0825B0 29C1003D */ slti $at, $t6, 0x3d -/* 0B70E4 7F0825B4 14200010 */ bnez $at, .L7F0825F8 -/* 0B70E8 7F0825B8 25CFFFC4 */ addiu $t7, $t6, -0x3c -/* 0B70EC 7F0825BC 448F9000 */ mtc1 $t7, $f18 -/* 0B70F0 7F0825C0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B70F4 7F0825C4 44811000 */ mtc1 $at, $f2 -/* 0B70F8 7F0825C8 46809120 */ cvt.s.w $f4, $f18 -/* 0B70FC 7F0825CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7100 7F0825D0 44813000 */ mtc1 $at, $f6 -/* 0B7104 7F0825D4 3C013F80 */ lui $at, 0x3f80 -/* 0B7108 7F0825D8 46022003 */ div.s $f0, $f4, $f2 -/* 0B710C 7F0825DC 4600303C */ c.lt.s $f6, $f0 -/* 0B7110 7F0825E0 E7A00184 */ swc1 $f0, 0x184($sp) -/* 0B7114 7F0825E4 4502001A */ bc1fl .L7F082650 -/* 0B7118 7F0825E8 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B711C 7F0825EC 44814000 */ mtc1 $at, $f8 -/* 0B7120 7F0825F0 10000016 */ b .L7F08264C -/* 0B7124 7F0825F4 E7A80184 */ swc1 $f8, 0x184($sp) -.L7F0825F8: -/* 0B7128 7F0825F8 10600014 */ beqz $v1, .L7F08264C -/* 0B712C 7F0825FC 83B801C7 */ lb $t8, 0x1c7($sp) -/* 0B7130 7F082600 2B01FFC4 */ slti $at, $t8, -0x3c -/* 0B7134 7F082604 10200011 */ beqz $at, .L7F08264C -/* 0B7138 7F082608 2419FFC4 */ li $t9, -60 -/* 0B713C 7F08260C 03385823 */ subu $t3, $t9, $t8 -/* 0B7140 7F082610 448B5000 */ mtc1 $t3, $f10 -/* 0B7144 7F082614 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B7148 7F082618 44811000 */ mtc1 $at, $f2 -/* 0B714C 7F08261C 468054A0 */ cvt.s.w $f18, $f10 -/* 0B7150 7F082620 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7154 7F082624 44812000 */ mtc1 $at, $f4 -/* 0B7158 7F082628 3C013F80 */ lui $at, 0x3f80 -/* 0B715C 7F08262C 46029003 */ div.s $f0, $f18, $f2 -/* 0B7160 7F082630 4600203C */ c.lt.s $f4, $f0 -/* 0B7164 7F082634 E7A00180 */ swc1 $f0, 0x180($sp) -/* 0B7168 7F082638 45020005 */ bc1fl .L7F082650 -/* 0B716C 7F08263C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B7170 7F082640 44813000 */ mtc1 $at, $f6 -/* 0B7174 7F082644 00000000 */ nop -/* 0B7178 7F082648 E7A60180 */ swc1 $f6, 0x180($sp) -.L7F08264C: -/* 0B717C 7F08264C 3C014120 */ li $at, 0x41200000 # 10.000000 -.L7F082650: -/* 0B7180 7F082650 44811000 */ mtc1 $at, $f2 -/* 0B7184 7F082654 10600013 */ beqz $v1, .L7F0826A4 -/* 0B7188 7F082658 00000000 */ nop -/* 0B718C 7F08265C 83A201C3 */ lb $v0, 0x1c3($sp) -/* 0B7190 7F082660 240AFFC4 */ li $t2, -60 -/* 0B7194 7F082664 2841FFC4 */ slti $at, $v0, -0x3c -/* 0B7198 7F082668 1020000E */ beqz $at, .L7F0826A4 -/* 0B719C 7F08266C 01426823 */ subu $t5, $t2, $v0 -/* 0B71A0 7F082670 448D4000 */ mtc1 $t5, $f8 -/* 0B71A4 7F082674 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B71A8 7F082678 44819000 */ mtc1 $at, $f18 -/* 0B71AC 7F08267C 468042A0 */ cvt.s.w $f10, $f8 -/* 0B71B0 7F082680 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B71B4 7F082684 46025003 */ div.s $f0, $f10, $f2 -/* 0B71B8 7F082688 4600903C */ c.lt.s $f18, $f0 -/* 0B71BC 7F08268C E7A0017C */ swc1 $f0, 0x17c($sp) -/* 0B71C0 7F082690 45000004 */ bc1f .L7F0826A4 -/* 0B71C4 7F082694 00000000 */ nop -/* 0B71C8 7F082698 44812000 */ mtc1 $at, $f4 -/* 0B71CC 7F08269C 00000000 */ nop -/* 0B71D0 7F0826A0 E7A4017C */ swc1 $f4, 0x17c($sp) -.L7F0826A4: -/* 0B71D4 7F0826A4 10600011 */ beqz $v1, .L7F0826EC -/* 0B71D8 7F0826A8 83A201C3 */ lb $v0, 0x1c3($sp) -/* 0B71DC 7F0826AC 2841003D */ slti $at, $v0, 0x3d -/* 0B71E0 7F0826B0 1420000E */ bnez $at, .L7F0826EC -/* 0B71E4 7F0826B4 244CFFC4 */ addiu $t4, $v0, -0x3c -/* 0B71E8 7F0826B8 448C3000 */ mtc1 $t4, $f6 -/* 0B71EC 7F0826BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B71F0 7F0826C0 44815000 */ mtc1 $at, $f10 -/* 0B71F4 7F0826C4 46803220 */ cvt.s.w $f8, $f6 -/* 0B71F8 7F0826C8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B71FC 7F0826CC 46024003 */ div.s $f0, $f8, $f2 -/* 0B7200 7F0826D0 4600503C */ c.lt.s $f10, $f0 -/* 0B7204 7F0826D4 E7A00178 */ swc1 $f0, 0x178($sp) -/* 0B7208 7F0826D8 45020005 */ bc1fl .L7F0826F0 -/* 0B720C 7F0826DC 97A200FA */ lhu $v0, 0xfa($sp) -/* 0B7210 7F0826E0 44819000 */ mtc1 $at, $f18 -/* 0B7214 7F0826E4 00000000 */ nop -/* 0B7218 7F0826E8 E7B20178 */ swc1 $f18, 0x178($sp) -.L7F0826EC: -/* 0B721C 7F0826EC 97A200FA */ lhu $v0, 0xfa($sp) -.L7F0826F0: -/* 0B7220 7F0826F0 8FAE005C */ lw $t6, 0x5c($sp) -/* 0B7224 7F0826F4 01C22024 */ and $a0, $t6, $v0 -/* 0B7228 7F0826F8 0004282B */ sltu $a1, $zero, $a0 -/* 0B722C 7F0826FC 10A00006 */ beqz $a1, .L7F082718 -/* 0B7230 7F082700 AFA5004C */ sw $a1, 0x4c($sp) -/* 0B7234 7F082704 8FB90060 */ lw $t9, 0x60($sp) -/* 0B7238 7F082708 97B800FE */ lhu $t8, 0xfe($sp) -/* 0B723C 7F08270C 03382824 */ and $a1, $t9, $t8 -/* 0B7240 7F082710 0005582B */ sltu $t3, $zero, $a1 -/* 0B7244 7F082714 01602825 */ move $a1, $t3 -.L7F082718: -/* 0B7248 7F082718 8FAA0060 */ lw $t2, 0x60($sp) -/* 0B724C 7F08271C AFA50174 */ sw $a1, 0x174($sp) -/* 0B7250 7F082720 01422024 */ and $a0, $t2, $v0 -/* 0B7254 7F082724 0004282B */ sltu $a1, $zero, $a0 -/* 0B7258 7F082728 10A00006 */ beqz $a1, .L7F082744 -/* 0B725C 7F08272C AFA50040 */ sw $a1, 0x40($sp) -/* 0B7260 7F082730 8FAC005C */ lw $t4, 0x5c($sp) -/* 0B7264 7F082734 97AE00FE */ lhu $t6, 0xfe($sp) -/* 0B7268 7F082738 018E2824 */ and $a1, $t4, $t6 -/* 0B726C 7F08273C 2CAF0001 */ sltiu $t7, $a1, 1 -/* 0B7270 7F082740 01E02825 */ move $a1, $t7 -.L7F082744: -/* 0B7274 7F082744 AFA50170 */ sw $a1, 0x170($sp) -/* 0B7278 7F082748 AFA3016C */ sw $v1, 0x16c($sp) -/* 0B727C 7F08274C AFA30168 */ sw $v1, 0x168($sp) -/* 0B7280 7F082750 00002025 */ move $a0, $zero -/* 0B7284 7F082754 0FC17674 */ jal get_item_in_hand -/* 0B7288 7F082758 AFA60050 */ sw $a2, 0x50($sp) -/* 0B728C 7F08275C 00402025 */ move $a0, $v0 -/* 0B7290 7F082760 0FC1782D */ jal check_special_attributes -/* 0B7294 7F082764 34058000 */ li $a1, 32768 -/* 0B7298 7F082768 10400013 */ beqz $v0, .L7F0827B8 -/* 0B729C 7F08276C 8FA60050 */ lw $a2, 0x50($sp) -/* 0B72A0 7F082770 8E190000 */ lw $t9, ($s0) -/* 0B72A4 7F082774 8FAB005C */ lw $t3, 0x5c($sp) -/* 0B72A8 7F082778 8F380124 */ lw $t8, 0x124($t9) -/* 0B72AC 7F08277C 31620808 */ andi $v0, $t3, 0x808 -/* 0B72B0 7F082780 0002502B */ sltu $t2, $zero, $v0 -/* 0B72B4 7F082784 1300000C */ beqz $t8, .L7F0827B8 -/* 0B72B8 7F082788 316D0404 */ andi $t5, $t3, 0x404 -/* 0B72BC 7F08278C 11A00005 */ beqz $t5, .L7F0827A4 -/* 0B72C0 7F082790 01401025 */ move $v0, $t2 -/* 0B72C4 7F082794 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B72C8 7F082798 44812000 */ mtc1 $at, $f4 -/* 0B72CC 7F08279C 00000000 */ nop -/* 0B72D0 7F0827A0 E7A40164 */ swc1 $f4, 0x164($sp) -.L7F0827A4: -/* 0B72D4 7F0827A4 10400004 */ beqz $v0, .L7F0827B8 -/* 0B72D8 7F0827A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B72DC 7F0827AC 44813000 */ mtc1 $at, $f6 -/* 0B72E0 7F0827B0 00000000 */ nop -/* 0B72E4 7F0827B4 E7A60160 */ swc1 $f6, 0x160($sp) -.L7F0827B8: -/* 0B72E8 7F0827B8 00002025 */ move $a0, $zero -/* 0B72EC 7F0827BC 0FC17674 */ jal get_item_in_hand -/* 0B72F0 7F0827C0 AFA60050 */ sw $a2, 0x50($sp) -/* 0B72F4 7F0827C4 00402025 */ move $a0, $v0 -/* 0B72F8 7F0827C8 0FC1782D */ jal check_special_attributes -/* 0B72FC 7F0827CC 34058000 */ li $a1, 32768 -/* 0B7300 7F0827D0 2C450001 */ sltiu $a1, $v0, 1 -/* 0B7304 7F0827D4 10A00009 */ beqz $a1, .L7F0827FC -/* 0B7308 7F0827D8 8FA60050 */ lw $a2, 0x50($sp) -/* 0B730C 7F0827DC 8E0C0000 */ lw $t4, ($s0) -/* 0B7310 7F0827E0 8D850124 */ lw $a1, 0x124($t4) -/* 0B7314 7F0827E4 0005702B */ sltu $t6, $zero, $a1 -/* 0B7318 7F0827E8 11C00004 */ beqz $t6, .L7F0827FC -/* 0B731C 7F0827EC 01C02825 */ move $a1, $t6 -/* 0B7320 7F0827F0 8FA5005C */ lw $a1, 0x5c($sp) -/* 0B7324 7F0827F4 30AF0404 */ andi $t7, $a1, 0x404 -/* 0B7328 7F0827F8 000F282B */ sltu $a1, $zero, $t7 -.L7F0827FC: -/* 0B732C 7F0827FC AFA5015C */ sw $a1, 0x15c($sp) -/* 0B7330 7F082800 00002025 */ move $a0, $zero -/* 0B7334 7F082804 0FC17674 */ jal get_item_in_hand -/* 0B7338 7F082808 AFA60050 */ sw $a2, 0x50($sp) -/* 0B733C 7F08280C 00402025 */ move $a0, $v0 -/* 0B7340 7F082810 0FC1782D */ jal check_special_attributes -/* 0B7344 7F082814 34058000 */ li $a1, 32768 -/* 0B7348 7F082818 2C450001 */ sltiu $a1, $v0, 1 -/* 0B734C 7F08281C 10A0000A */ beqz $a1, .L7F082848 -/* 0B7350 7F082820 8FA60050 */ lw $a2, 0x50($sp) -/* 0B7354 7F082824 8E180000 */ lw $t8, ($s0) -/* 0B7358 7F082828 8F050124 */ lw $a1, 0x124($t8) -/* 0B735C 7F08282C 0005502B */ sltu $t2, $zero, $a1 -/* 0B7360 7F082830 11400005 */ beqz $t2, .L7F082848 -/* 0B7364 7F082834 01402825 */ move $a1, $t2 -/* 0B7368 7F082838 8FA5005C */ lw $a1, 0x5c($sp) -/* 0B736C 7F08283C 00A02827 */ not $a1, $a1 -/* 0B7370 7F082840 30AB0808 */ andi $t3, $a1, 0x808 -/* 0B7374 7F082844 000B282B */ sltu $a1, $zero, $t3 -.L7F082848: -/* 0B7378 7F082848 8E0C0000 */ lw $t4, ($s0) -/* 0B737C 7F08284C AFA50158 */ sw $a1, 0x158($sp) -/* 0B7380 7F082850 8D820124 */ lw $v0, 0x124($t4) -/* 0B7384 7F082854 0002282B */ sltu $a1, $zero, $v0 -/* 0B7388 7F082858 10A00002 */ beqz $a1, .L7F082864 -/* 0B738C 7F08285C 00A01025 */ move $v0, $a1 -/* 0B7390 7F082860 00C02825 */ move $a1, $a2 -.L7F082864: -/* 0B7394 7F082864 AFA50154 */ sw $a1, 0x154($sp) -/* 0B7398 7F082868 10400002 */ beqz $v0, .L7F082874 -/* 0B739C 7F08286C 00402825 */ move $a1, $v0 -/* 0B73A0 7F082870 8FA50044 */ lw $a1, 0x44($sp) -.L7F082874: -/* 0B73A4 7F082874 8FAF004C */ lw $t7, 0x4c($sp) -/* 0B73A8 7F082878 AFA50150 */ sw $a1, 0x150($sp) -/* 0B73AC 7F08287C 8FB90048 */ lw $t9, 0x48($sp) -/* 0B73B0 7F082880 11E00002 */ beqz $t7, .L7F08288C -/* 0B73B4 7F082884 8FB8005C */ lw $t8, 0x5c($sp) -/* 0B73B8 7F082888 17200005 */ bnez $t9, .L7F0828A0 -.L7F08288C: -/* 0B73BC 7F08288C 330A4000 */ andi $t2, $t8, 0x4000 -/* 0B73C0 7F082890 1140000C */ beqz $t2, .L7F0828C4 -/* 0B73C4 7F082894 8FAB0040 */ lw $t3, 0x40($sp) -/* 0B73C8 7F082898 1160000A */ beqz $t3, .L7F0828C4 -/* 0B73CC 7F08289C 00000000 */ nop -.L7F0828A0: -/* 0B73D0 7F0828A0 0FC17674 */ jal get_item_in_hand -/* 0B73D4 7F0828A4 00002025 */ move $a0, $zero -/* 0B73D8 7F0828A8 2401001D */ li $at, 29 -/* 0B73DC 7F0828AC 14410005 */ bne $v0, $at, .L7F0828C4 -/* 0B73E0 7F0828B0 240D0001 */ li $t5, 1 -/* 0B73E4 7F0828B4 AFAD014C */ sw $t5, 0x14c($sp) -/* 0B73E8 7F0828B8 AFA00174 */ sw $zero, 0x174($sp) -/* 0B73EC 7F0828BC AFA00170 */ sw $zero, 0x170($sp) -/* 0B73F0 7F0828C0 AFA001B0 */ sw $zero, 0x1b0($sp) -.L7F0828C4: -/* 0B73F4 7F0828C4 3C0C8003 */ lui $t4, %hi(in_tank_flag) -/* 0B73F8 7F0828C8 8D8C6448 */ lw $t4, %lo(in_tank_flag)($t4) -/* 0B73FC 7F0828CC 24010001 */ li $at, 1 -/* 0B7400 7F0828D0 55810024 */ bnel $t4, $at, .L7F082964 -/* 0B7404 7F0828D4 8FB8005C */ lw $t8, 0x5c($sp) -/* 0B7408 7F0828D8 8E0E0000 */ lw $t6, ($s0) -/* 0B740C 7F0828DC 8DCF0124 */ lw $t7, 0x124($t6) -/* 0B7410 7F0828E0 51E00020 */ beql $t7, $zero, .L7F082964 -/* 0B7414 7F0828E4 8FB8005C */ lw $t8, 0x5c($sp) -/* 0B7418 7F0828E8 0FC17674 */ jal get_item_in_hand -/* 0B741C 7F0828EC 00002025 */ move $a0, $zero -/* 0B7420 7F0828F0 24010020 */ li $at, 32 -/* 0B7424 7F0828F4 14410005 */ bne $v0, $at, .L7F08290C -/* 0B7428 7F0828F8 C7A8018C */ lwc1 $f8, 0x18c($sp) -/* 0B742C 7F0828FC 24190001 */ li $t9, 1 -/* 0B7430 7F082900 AFA00134 */ sw $zero, 0x134($sp) -/* 0B7434 7F082904 10000014 */ b .L7F082958 -/* 0B7438 7F082908 AFB901A8 */ sw $t9, 0x1a8($sp) -.L7F08290C: -/* 0B743C 7F08290C 46144032 */ c.eq.s $f8, $f20 -/* 0B7440 7F082910 C7AA0188 */ lwc1 $f10, 0x188($sp) -/* 0B7444 7F082914 45020011 */ bc1fl .L7F08295C -/* 0B7448 7F082918 E7B4017C */ swc1 $f20, 0x17c($sp) -/* 0B744C 7F08291C 46145032 */ c.eq.s $f10, $f20 -/* 0B7450 7F082920 C7B2017C */ lwc1 $f18, 0x17c($sp) -/* 0B7454 7F082924 4502000D */ bc1fl .L7F08295C -/* 0B7458 7F082928 E7B4017C */ swc1 $f20, 0x17c($sp) -/* 0B745C 7F08292C 4612A03C */ c.lt.s $f20, $f18 -/* 0B7460 7F082930 00000000 */ nop -/* 0B7464 7F082934 45020003 */ bc1fl .L7F082944 -/* 0B7468 7F082938 C7A40178 */ lwc1 $f4, 0x178($sp) -/* 0B746C 7F08293C E7B2018C */ swc1 $f18, 0x18c($sp) -/* 0B7470 7F082940 C7A40178 */ lwc1 $f4, 0x178($sp) -.L7F082944: -/* 0B7474 7F082944 4604A03C */ c.lt.s $f20, $f4 -/* 0B7478 7F082948 00000000 */ nop -/* 0B747C 7F08294C 45020003 */ bc1fl .L7F08295C -/* 0B7480 7F082950 E7B4017C */ swc1 $f20, 0x17c($sp) -/* 0B7484 7F082954 E7A40188 */ swc1 $f4, 0x188($sp) -.L7F082958: -/* 0B7488 7F082958 E7B4017C */ swc1 $f20, 0x17c($sp) -.L7F08295C: -/* 0B748C 7F08295C E7B40178 */ swc1 $f20, 0x178($sp) -.L7F082960: -/* 0B7490 7F082960 8FB8005C */ lw $t8, 0x5c($sp) -.L7F082964: -/* 0B7494 7F082964 97AA00FE */ lhu $t2, 0xfe($sp) -/* 0B7498 7F082968 030A1024 */ and $v0, $t8, $t2 -/* 0B749C 7F08296C 0002282B */ sltu $a1, $zero, $v0 -/* 0B74A0 7F082970 10A0000A */ beqz $a1, .L7F08299C -/* 0B74A4 7F082974 00000000 */ nop -/* 0B74A8 7F082978 8E0D0000 */ lw $t5, ($s0) -/* 0B74AC 7F08297C 97AE00FA */ lhu $t6, 0xfa($sp) -/* 0B74B0 7F082980 8DA501C8 */ lw $a1, 0x1c8($t5) -/* 0B74B4 7F082984 2CAC0001 */ sltiu $t4, $a1, 1 -/* 0B74B8 7F082988 11800004 */ beqz $t4, .L7F08299C -/* 0B74BC 7F08298C 01802825 */ move $a1, $t4 -/* 0B74C0 7F082990 030E2824 */ and $a1, $t8, $t6 -/* 0B74C4 7F082994 2CAF0001 */ sltiu $t7, $a1, 1 -/* 0B74C8 7F082998 01E02825 */ move $a1, $t7 -.L7F08299C: -/* 0B74CC 7F08299C 0FC29370 */ jal cur_player_get_control_type -/* 0B74D0 7F0829A0 AFA501B4 */ sw $a1, 0x1b4($sp) -/* 0B74D4 7F0829A4 24010001 */ li $at, 1 -/* 0B74D8 7F0829A8 50410006 */ beql $v0, $at, .L7F0829C4 -/* 0B74DC 7F0829AC 24190001 */ li $t9, 1 -/* 0B74E0 7F0829B0 0FC29370 */ jal cur_player_get_control_type -/* 0B74E4 7F0829B4 00000000 */ nop -/* 0B74E8 7F0829B8 24010003 */ li $at, 3 -/* 0B74EC 7F0829BC 14410002 */ bne $v0, $at, .L7F0829C8 -/* 0B74F0 7F0829C0 24190001 */ li $t9, 1 -.L7F0829C4: -/* 0B74F4 7F0829C4 AFB90140 */ sw $t9, 0x140($sp) -.L7F0829C8: -/* 0B74F8 7F0829C8 8E0A0000 */ lw $t2, ($s0) -.L7F0829CC: -/* 0B74FC 7F0829CC AD4000D0 */ sw $zero, 0xd0($t2) -/* 0B7500 7F0829D0 8FAB01B0 */ lw $t3, 0x1b0($sp) -/* 0B7504 7F0829D4 11600095 */ beqz $t3, .L7F082C2C -/* 0B7508 7F0829D8 3C0D8003 */ lui $t5, %hi(in_tank_flag) -/* 0B750C 7F0829DC 8DAD6448 */ lw $t5, %lo(in_tank_flag)($t5) -/* 0B7510 7F0829E0 24010001 */ li $at, 1 -/* 0B7514 7F0829E4 3C0C8003 */ lui $t4, %hi(ptr_playerstank) -/* 0B7518 7F0829E8 15A1002E */ bne $t5, $at, .L7F082AA4 -/* 0B751C 7F0829EC 3C028003 */ lui $v0, %hi(ptr_playerstank) -/* 0B7520 7F0829F0 8D8C6450 */ lw $t4, %lo(ptr_playerstank)($t4) -/* 0B7524 7F0829F4 24040020 */ li $a0, 32 -/* 0B7528 7F0829F8 8D980004 */ lw $t8, 4($t4) -/* 0B752C 7F0829FC 0FC1A514 */ jal get_ammo_count_for_weapon -/* 0B7530 7F082A00 AFB800F4 */ sw $t8, 0xf4($sp) -/* 0B7534 7F082A04 8FAE00F4 */ lw $t6, 0xf4($sp) -/* 0B7538 7F082A08 24040020 */ li $a0, 32 -/* 0B753C 7F082A0C 00002825 */ move $a1, $zero -/* 0B7540 7F082A10 0FC1A521 */ jal add_ammo_to_weapon -/* 0B7544 7F082A14 ADC200D8 */ sw $v0, 0xd8($t6) -/* 0B7548 7F082A18 0FC23187 */ jal sub_GAME_7F08C61C -/* 0B754C 7F082A1C 24040020 */ li $a0, 32 -/* 0B7550 7F082A20 0FC17674 */ jal get_item_in_hand -/* 0B7554 7F082A24 00002025 */ move $a0, $zero -/* 0B7558 7F082A28 24010020 */ li $at, 32 -/* 0B755C 7F082A2C 54410009 */ bnel $v0, $at, .L7F082A54 -/* 0B7560 7F082A30 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 0B7564 7F082A34 0FC1A4D1 */ jal get_ammo_in_hands_magazine -/* 0B7568 7F082A38 00002025 */ move $a0, $zero -/* 0B756C 7F082A3C 8FA300F4 */ lw $v1, 0xf4($sp) -/* 0B7570 7F082A40 8C6F00D8 */ lw $t7, 0xd8($v1) -/* 0B7574 7F082A44 01E2C821 */ addu $t9, $t7, $v0 -/* 0B7578 7F082A48 0FC17600 */ jal autoadvance_on_deplete_all_ammo -/* 0B757C 7F082A4C AC7900D8 */ sw $t9, 0xd8($v1) -/* 0B7580 7F082A50 8FAA00F4 */ lw $t2, 0xf4($sp) -.L7F082A54: -/* 0B7584 7F082A54 3C018003 */ lui $at, %hi(in_tank_flag) -/* 0B7588 7F082A58 00001025 */ move $v0, $zero -/* 0B758C 7F082A5C AD4000C4 */ sw $zero, 0xc4($t2) -/* 0B7590 7F082A60 AC206448 */ sw $zero, %lo(in_tank_flag)($at) -/* 0B7594 7F082A64 8E0B0000 */ lw $t3, ($s0) -/* 0B7598 7F082A68 2403000C */ li $v1, 12 -/* 0B759C 7F082A6C E574016C */ swc1 $f20, 0x16c($t3) -/* 0B75A0 7F082A70 8E0D0000 */ lw $t5, ($s0) -/* 0B75A4 7F082A74 E5B40174 */ swc1 $f20, 0x174($t5) -/* 0B75A8 7F082A78 8E0C0000 */ lw $t4, ($s0) -/* 0B75AC 7F082A7C E594014C */ swc1 $f20, 0x14c($t4) -.L7F082A80: -/* 0B75B0 7F082A80 8E180000 */ lw $t8, ($s0) -/* 0B75B4 7F082A84 03027021 */ addu $t6, $t8, $v0 -/* 0B75B8 7F082A88 24420004 */ addiu $v0, $v0, 4 -/* 0B75BC 7F082A8C 1443FFFC */ bne $v0, $v1, .L7F082A80 -/* 0B75C0 7F082A90 E5D40180 */ swc1 $f20, 0x180($t6) -/* 0B75C4 7F082A94 8E190000 */ lw $t9, ($s0) -/* 0B75C8 7F082A98 240F0002 */ li $t7, 2 -/* 0B75CC 7F082A9C 10000063 */ b .L7F082C2C -/* 0B75D0 7F082AA0 AF2F009C */ sw $t7, 0x9c($t9) -.L7F082AA4: -/* 0B75D4 7F082AA4 8C426450 */ lw $v0, %lo(ptr_playerstank)($v0) -/* 0B75D8 7F082AA8 5040005E */ beql $v0, $zero, .L7F082C24 -/* 0B75DC 7F082AAC 8E0D0000 */ lw $t5, ($s0) -/* 0B75E0 7F082AB0 904A0000 */ lbu $t2, ($v0) -/* 0B75E4 7F082AB4 24010001 */ li $at, 1 -/* 0B75E8 7F082AB8 5541005A */ bnel $t2, $at, .L7F082C24 -/* 0B75EC 7F082ABC 8E0D0000 */ lw $t5, ($s0) -/* 0B75F0 7F082AC0 8C450004 */ lw $a1, 4($v0) -/* 0B75F4 7F082AC4 2401002D */ li $at, 45 -/* 0B75F8 7F082AC8 3C0D8003 */ lui $t5, %hi(D_80036480) -/* 0B75FC 7F082ACC 90AB0003 */ lbu $t3, 3($a1) -/* 0B7600 7F082AD0 55610054 */ bnel $t3, $at, .L7F082C24 -/* 0B7604 7F082AD4 8E0D0000 */ lw $t5, ($s0) -/* 0B7608 7F082AD8 8DAD6480 */ lw $t5, %lo(D_80036480)($t5) -/* 0B760C 7F082ADC 24040020 */ li $a0, 32 -/* 0B7610 7F082AE0 51A00050 */ beql $t5, $zero, .L7F082C24 -/* 0B7614 7F082AE4 8E0D0000 */ lw $t5, ($s0) -/* 0B7618 7F082AE8 0FC23122 */ jal add_item_to_inventory -/* 0B761C 7F082AEC AFA500EC */ sw $a1, 0xec($sp) -/* 0B7620 7F082AF0 8FA300EC */ lw $v1, 0xec($sp) -/* 0B7624 7F082AF4 24040020 */ li $a0, 32 -/* 0B7628 7F082AF8 0FC1A521 */ jal add_ammo_to_weapon -/* 0B762C 7F082AFC 8C6500D8 */ lw $a1, 0xd8($v1) -/* 0B7630 7F082B00 8FA300EC */ lw $v1, 0xec($sp) -/* 0B7634 7F082B04 3C048003 */ lui $a0, %hi(D_8003646C) -/* 0B7638 7F082B08 2484646C */ addiu $a0, %lo(D_8003646C) # addiu $a0, $a0, 0x646c -/* 0B763C 7F082B0C C46600C8 */ lwc1 $f6, 0xc8($v1) -/* 0B7640 7F082B10 AC6000D8 */ sw $zero, 0xd8($v1) -/* 0B7644 7F082B14 3C018005 */ lui $at, %hi(D_80055120) -/* 0B7648 7F082B18 E4860000 */ swc1 $f6, ($a0) -/* 0B764C 7F082B1C C42A5120 */ lwc1 $f10, %lo(D_80055120)($at) -/* 0B7650 7F082B20 C4880000 */ lwc1 $f8, ($a0) -/* 0B7654 7F082B24 3C018003 */ lui $at, %hi(D_80036470) -/* 0B7658 7F082B28 3C058003 */ lui $a1, %hi(D_80036474) -/* 0B765C 7F082B2C 460A4483 */ div.s $f18, $f8, $f10 -/* 0B7660 7F082B30 24A56474 */ addiu $a1, %lo(D_80036474) # addiu $a1, $a1, 0x6474 -/* 0B7664 7F082B34 240C0001 */ li $t4, 1 -/* 0B7668 7F082B38 24190001 */ li $t9, 1 -/* 0B766C 7F082B3C 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799D0) -/* 0B7670 7F082B40 244299D0 */ addiu $v0, %lo(flt_CODE_bss_800799D0) # addiu $v0, $v0, -0x6630 -/* 0B7674 7F082B44 E4326470 */ swc1 $f18, %lo(D_80036470)($at) -/* 0B7678 7F082B48 C46400CC */ lwc1 $f4, 0xcc($v1) -/* 0B767C 7F082B4C 3C018003 */ lui $at, %hi(D_80036484) -/* 0B7680 7F082B50 E4246484 */ swc1 $f4, %lo(D_80036484)($at) -/* 0B7684 7F082B54 C46600CC */ lwc1 $f6, 0xcc($v1) -/* 0B7688 7F082B58 3C018005 */ lui $at, %hi(D_80055124) -/* 0B768C 7F082B5C E4A60000 */ swc1 $f6, ($a1) -/* 0B7690 7F082B60 C42A5124 */ lwc1 $f10, %lo(D_80055124)($at) -/* 0B7694 7F082B64 C4A80000 */ lwc1 $f8, ($a1) -/* 0B7698 7F082B68 3C018003 */ lui $at, %hi(D_80036478) -/* 0B769C 7F082B6C 460A4483 */ div.s $f18, $f8, $f10 -/* 0B76A0 7F082B70 E4326478 */ swc1 $f18, %lo(D_80036478)($at) -/* 0B76A4 7F082B74 3C018003 */ lui $at, %hi(D_8003647C) -/* 0B76A8 7F082B78 E434647C */ swc1 $f20, %lo(D_8003647C)($at) -/* 0B76AC 7F082B7C C46400DC */ lwc1 $f4, 0xdc($v1) -/* 0B76B0 7F082B80 3C018003 */ lui $at, %hi(D_80036464) -/* 0B76B4 7F082B84 E4246464 */ swc1 $f4, %lo(D_80036464)($at) -/* 0B76B8 7F082B88 3C018003 */ lui $at, %hi(D_80036460) -/* 0B76BC 7F082B8C E4346460 */ swc1 $f20, %lo(D_80036460)($at) -/* 0B76C0 7F082B90 3C018003 */ lui $at, %hi(in_tank_flag) -/* 0B76C4 7F082B94 AC2C6448 */ sw $t4, %lo(in_tank_flag)($at) -/* 0B76C8 7F082B98 3C018008 */ lui $at, %hi(dword_CODE_bss_800799B8) -/* 0B76CC 7F082B9C AC2099B8 */ sw $zero, %lo(dword_CODE_bss_800799B8)($at) -/* 0B76D0 7F082BA0 8E180000 */ lw $t8, ($s0) -/* 0B76D4 7F082BA4 3C018008 */ lui $at, %hi(flt_CODE_bss_800799BC) -/* 0B76D8 7F082BA8 E714016C */ swc1 $f20, 0x16c($t8) -/* 0B76DC 7F082BAC 8E0E0000 */ lw $t6, ($s0) -/* 0B76E0 7F082BB0 E5D40174 */ swc1 $f20, 0x174($t6) -/* 0B76E4 7F082BB4 8E0F0000 */ lw $t7, ($s0) -/* 0B76E8 7F082BB8 E5F4014C */ swc1 $f20, 0x14c($t7) -/* 0B76EC 7F082BBC 8E0A0000 */ lw $t2, ($s0) -/* 0B76F0 7F082BC0 AD59009C */ sw $t9, 0x9c($t2) -/* 0B76F4 7F082BC4 E43499BC */ swc1 $f20, %lo(flt_CODE_bss_800799BC)($at) -/* 0B76F8 7F082BC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B76FC 7F082BCC 44813000 */ mtc1 $at, $f6 -/* 0B7700 7F082BD0 3C018008 */ lui $at, %hi(flt_CODE_bss_800799C0) -/* 0B7704 7F082BD4 E42699C0 */ swc1 $f6, %lo(flt_CODE_bss_800799C0)($at) -/* 0B7708 7F082BD8 8E080000 */ lw $t0, ($s0) -/* 0B770C 7F082BDC 3C018008 */ lui $at, %hi(flt_CODE_bss_800799C4) -/* 0B7710 7F082BE0 C5080148 */ lwc1 $f8, 0x148($t0) -/* 0B7714 7F082BE4 E42899C4 */ swc1 $f8, %lo(flt_CODE_bss_800799C4)($at) -/* 0B7718 7F082BE8 C50A0158 */ lwc1 $f10, 0x158($t0) -/* 0B771C 7F082BEC 3C018008 */ lui $at, %hi(flt_CODE_bss_800799C8) -/* 0B7720 7F082BF0 E42A99C8 */ swc1 $f10, %lo(flt_CODE_bss_800799C8)($at) -/* 0B7724 7F082BF4 C512048C */ lwc1 $f18, 0x48c($t0) -/* 0B7728 7F082BF8 3C018003 */ lui $at, %hi(D_80036490) -/* 0B772C 7F082BFC E4520000 */ swc1 $f18, ($v0) -/* 0B7730 7F082C00 C5040490 */ lwc1 $f4, 0x490($t0) -/* 0B7734 7F082C04 E4440004 */ swc1 $f4, 4($v0) -/* 0B7738 7F082C08 C5060494 */ lwc1 $f6, 0x494($t0) -/* 0B773C 7F082C0C E4460008 */ swc1 $f6, 8($v0) -/* 0B7740 7F082C10 0FC1F1ED */ jal sub_GAME_7F07C7B4 -/* 0B7744 7F082C14 AC206490 */ sw $zero, %lo(D_80036490)($at) -/* 0B7748 7F082C18 10000005 */ b .L7F082C30 -/* 0B774C 7F082C1C 8FAC0144 */ lw $t4, 0x144($sp) -/* 0B7750 7F082C20 8E0D0000 */ lw $t5, ($s0) -.L7F082C24: -/* 0B7754 7F082C24 240B0001 */ li $t3, 1 -/* 0B7758 7F082C28 ADAB00D0 */ sw $t3, 0xd0($t5) -.L7F082C2C: -/* 0B775C 7F082C2C 8FAC0144 */ lw $t4, 0x144($sp) -.L7F082C30: -/* 0B7760 7F082C30 1580000B */ bnez $t4, .L7F082C60 -/* 0B7764 7F082C34 00000000 */ nop -/* 0B7768 7F082C38 83B801C7 */ lb $t8, 0x1c7($sp) -/* 0B776C 7F082C3C 8FAF0128 */ lw $t7, 0x128($sp) -/* 0B7770 7F082C40 C7A00184 */ lwc1 $f0, 0x184($sp) -/* 0B7774 7F082C44 C7A80180 */ lwc1 $f8, 0x180($sp) -/* 0B7778 7F082C48 00187023 */ negu $t6, $t8 -/* 0B777C 7F082C4C 000FC823 */ negu $t9, $t7 -/* 0B7780 7F082C50 AFAE0130 */ sw $t6, 0x130($sp) -/* 0B7784 7F082C54 AFB90128 */ sw $t9, 0x128($sp) -/* 0B7788 7F082C58 E7A00180 */ swc1 $f0, 0x180($sp) -/* 0B778C 7F082C5C E7A80184 */ swc1 $f8, 0x184($sp) -.L7F082C60: -/* 0B7790 7F082C60 0FC227A9 */ jal check_if_bond_is_invincible -/* 0B7794 7F082C64 00000000 */ nop -/* 0B7798 7F082C68 10400007 */ beqz $v0, .L7F082C88 -/* 0B779C 7F082C6C 00000000 */ nop -/* 0B77A0 7F082C70 0FC26919 */ jal get_num_players -/* 0B77A4 7F082C74 00000000 */ nop -/* 0B77A8 7F082C78 24010001 */ li $at, 1 -/* 0B77AC 7F082C7C 14410002 */ bne $v0, $at, .L7F082C88 -/* 0B77B0 7F082C80 00000000 */ nop -/* 0B77B4 7F082C84 AFA001B4 */ sw $zero, 0x1b4($sp) -.L7F082C88: -/* 0B77B8 7F082C88 0FC19D08 */ jal sub_GAME_7F067420 -/* 0B77BC 7F082C8C 8FA401B4 */ lw $a0, 0x1b4($sp) -/* 0B77C0 7F082C90 0FC227DD */ jal get_invisible_to_guards_flag -/* 0B77C4 7F082C94 00000000 */ nop -/* 0B77C8 7F082C98 50400028 */ beql $v0, $zero, .L7F082D3C -/* 0B77CC 7F082C9C 24040002 */ li $a0, 2 -/* 0B77D0 7F082CA0 0FC17722 */ jal get_hands_firing_status -/* 0B77D4 7F082CA4 00002025 */ move $a0, $zero -/* 0B77D8 7F082CA8 54400006 */ bnezl $v0, .L7F082CC4 -/* 0B77DC 7F082CAC E7B400E4 */ swc1 $f20, 0xe4($sp) -/* 0B77E0 7F082CB0 0FC17722 */ jal get_hands_firing_status -/* 0B77E4 7F082CB4 24040001 */ li $a0, 1 -/* 0B77E8 7F082CB8 50400020 */ beql $v0, $zero, .L7F082D3C -/* 0B77EC 7F082CBC 24040002 */ li $a0, 2 -/* 0B77F0 7F082CC0 E7B400E4 */ swc1 $f20, 0xe4($sp) -.L7F082CC4: -/* 0B77F4 7F082CC4 0FC17722 */ jal get_hands_firing_status -/* 0B77F8 7F082CC8 00002025 */ move $a0, $zero -/* 0B77FC 7F082CCC 1040000A */ beqz $v0, .L7F082CF8 -/* 0B7800 7F082CD0 00000000 */ nop -/* 0B7804 7F082CD4 0FC19C5D */ jal sub_GAME_7F067174 -/* 0B7808 7F082CD8 00002025 */ move $a0, $zero -/* 0B780C 7F082CDC 4600A03C */ c.lt.s $f20, $f0 -/* 0B7810 7F082CE0 00000000 */ nop -/* 0B7814 7F082CE4 45000004 */ bc1f .L7F082CF8 -/* 0B7818 7F082CE8 00000000 */ nop -/* 0B781C 7F082CEC 0FC19C5D */ jal sub_GAME_7F067174 -/* 0B7820 7F082CF0 00002025 */ move $a0, $zero -/* 0B7824 7F082CF4 E7A000E4 */ swc1 $f0, 0xe4($sp) -.L7F082CF8: -/* 0B7828 7F082CF8 0FC17722 */ jal get_hands_firing_status -/* 0B782C 7F082CFC 24040001 */ li $a0, 1 -/* 0B7830 7F082D00 1040000B */ beqz $v0, .L7F082D30 -/* 0B7834 7F082D04 00000000 */ nop -/* 0B7838 7F082D08 0FC19C5D */ jal sub_GAME_7F067174 -/* 0B783C 7F082D0C 24040001 */ li $a0, 1 -/* 0B7840 7F082D10 C7AA00E4 */ lwc1 $f10, 0xe4($sp) -/* 0B7844 7F082D14 4600503C */ c.lt.s $f10, $f0 -/* 0B7848 7F082D18 00000000 */ nop -/* 0B784C 7F082D1C 45000004 */ bc1f .L7F082D30 -/* 0B7850 7F082D20 00000000 */ nop -/* 0B7854 7F082D24 0FC19C5D */ jal sub_GAME_7F067174 -/* 0B7858 7F082D28 24040001 */ li $a0, 1 -/* 0B785C 7F082D2C E7A000E4 */ swc1 $f0, 0xe4($sp) -.L7F082D30: -/* 0B7860 7F082D30 0FC08BBB */ jal sub_GAME_7F022EEC -/* 0B7864 7F082D34 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 0B7868 7F082D38 24040002 */ li $a0, 2 -.L7F082D3C: -/* 0B786C 7F082D3C 0FC1A96A */ jal set_unset_bitflags -/* 0B7870 7F082D40 8FA5016C */ lw $a1, 0x16c($sp) -/* 0B7874 7F082D44 C7B20164 */ lwc1 $f18, 0x164($sp) -/* 0B7878 7F082D48 4612A03C */ c.lt.s $f20, $f18 -/* 0B787C 7F082D4C 00000000 */ nop -/* 0B7880 7F082D50 45020004 */ bc1fl .L7F082D64 -/* 0B7884 7F082D54 C7A40160 */ lwc1 $f4, 0x160($sp) -/* 0B7888 7F082D58 0FC17769 */ jal sub_GAME_7F05DDA4 -/* 0B788C 7F082D5C 46009306 */ mov.s $f12, $f18 -/* 0B7890 7F082D60 C7A40160 */ lwc1 $f4, 0x160($sp) -.L7F082D64: -/* 0B7894 7F082D64 4604A03C */ c.lt.s $f20, $f4 -/* 0B7898 7F082D68 00000000 */ nop -/* 0B789C 7F082D6C 45020004 */ bc1fl .L7F082D80 -/* 0B78A0 7F082D70 8E0A0000 */ lw $t2, ($s0) -/* 0B78A4 7F082D74 0FC177A5 */ jal sub_GAME_7F05DE94 -/* 0B78A8 7F082D78 46002306 */ mov.s $f12, $f4 -/* 0B78AC 7F082D7C 8E0A0000 */ lw $t2, ($s0) -.L7F082D80: -/* 0B78B0 7F082D80 8FAD0168 */ lw $t5, 0x168($sp) -/* 0B78B4 7F082D84 8D4B01C8 */ lw $t3, 0x1c8($t2) -/* 0B78B8 7F082D88 15600011 */ bnez $t3, .L7F082DD0 -/* 0B78BC 7F082D8C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B78C0 7F082D90 44816000 */ mtc1 $at, $f12 -/* 0B78C4 7F082D94 11A0000A */ beqz $t5, .L7F082DC0 -/* 0B78C8 7F082D98 00000000 */ nop -/* 0B78CC 7F082D9C 0FC1774E */ jal sub_GAME_7F05DD38 -/* 0B78D0 7F082DA0 00000000 */ nop -/* 0B78D4 7F082DA4 4614003E */ c.le.s $f0, $f20 -/* 0B78D8 7F082DA8 46000306 */ mov.s $f12, $f0 -/* 0B78DC 7F082DAC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B78E0 7F082DB0 45000003 */ bc1f .L7F082DC0 -/* 0B78E4 7F082DB4 00000000 */ nop -/* 0B78E8 7F082DB8 44816000 */ mtc1 $at, $f12 -/* 0B78EC 7F082DBC 00000000 */ nop -.L7F082DC0: -/* 0B78F0 7F082DC0 0FC1F91B */ jal sub_GAME_7F07E46C -/* 0B78F4 7F082DC4 00000000 */ nop -/* 0B78F8 7F082DC8 0FC1F98B */ jal sub_GAME_7F07E62C -/* 0B78FC 7F082DCC 00000000 */ nop -.L7F082DD0: -/* 0B7900 7F082DD0 3C0C8003 */ lui $t4, %hi(in_tank_flag) -/* 0B7904 7F082DD4 8D8C6448 */ lw $t4, %lo(in_tank_flag)($t4) -/* 0B7908 7F082DD8 24010001 */ li $at, 1 -/* 0B790C 7F082DDC 8FAE0194 */ lw $t6, 0x194($sp) -/* 0B7910 7F082DE0 158100C6 */ bne $t4, $at, .L7F0830FC -/* 0B7914 7F082DE4 3C028003 */ lui $v0, %hi(D_80036488) -/* 0B7918 7F082DE8 24426488 */ addiu $v0, %lo(D_80036488) # addiu $v0, $v0, 0x6488 -/* 0B791C 7F082DEC E4540000 */ swc1 $f20, ($v0) -/* 0B7920 7F082DF0 3C188008 */ lui $t8, %hi(dword_CODE_bss_800799B8) -/* 0B7924 7F082DF4 8F1899B8 */ lw $t8, %lo(dword_CODE_bss_800799B8)($t8) -/* 0B7928 7F082DF8 24010002 */ li $at, 2 -/* 0B792C 7F082DFC C7A60188 */ lwc1 $f6, 0x188($sp) -/* 0B7930 7F082E00 170100BC */ bne $t8, $at, .L7F0830F4 -/* 0B7934 7F082E04 00000000 */ nop -/* 0B7938 7F082E08 4606A03C */ c.lt.s $f20, $f6 -/* 0B793C 7F082E0C 8E080000 */ lw $t0, ($s0) -/* 0B7940 7F082E10 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B7944 7F082E14 C7AA018C */ lwc1 $f10, 0x18c($sp) -/* 0B7948 7F082E18 4502000B */ bc1fl .L7F082E48 -/* 0B794C 7F082E1C 460AA03C */ c.lt.s $f20, $f10 -/* 0B7950 7F082E20 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B7954 7F082E24 3C018005 */ lui $at, %hi(D_80055128) -/* 0B7958 7F082E28 C4325128 */ lwc1 $f18, %lo(D_80055128)($at) -/* 0B795C 7F082E2C 46064282 */ mul.s $f10, $f8, $f6 -/* 0B7960 7F082E30 C4480000 */ lwc1 $f8, ($v0) -/* 0B7964 7F082E34 46125102 */ mul.s $f4, $f10, $f18 -/* 0B7968 7F082E38 46044180 */ add.s $f6, $f8, $f4 -/* 0B796C 7F082E3C 10000031 */ b .L7F082F04 -/* 0B7970 7F082E40 E4460000 */ swc1 $f6, ($v0) -/* 0B7974 7F082E44 460AA03C */ c.lt.s $f20, $f10 -.L7F082E48: -/* 0B7978 7F082E48 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B797C 7F082E4C 8FAE01A8 */ lw $t6, 0x1a8($sp) -/* 0B7980 7F082E50 4500000A */ bc1f .L7F082E7C -/* 0B7984 7F082E54 00000000 */ nop -/* 0B7988 7F082E58 C4328378 */ lwc1 $f18, %lo(global_timer_delta)($at) -/* 0B798C 7F082E5C 3C018005 */ lui $at, %hi(D_8005512C) -/* 0B7990 7F082E60 C424512C */ lwc1 $f4, %lo(D_8005512C)($at) -/* 0B7994 7F082E64 460A9202 */ mul.s $f8, $f18, $f10 -/* 0B7998 7F082E68 C4520000 */ lwc1 $f18, ($v0) -/* 0B799C 7F082E6C 46044182 */ mul.s $f6, $f8, $f4 -/* 0B79A0 7F082E70 46069281 */ sub.s $f10, $f18, $f6 -/* 0B79A4 7F082E74 10000023 */ b .L7F082F04 -/* 0B79A8 7F082E78 E44A0000 */ swc1 $f10, ($v0) -.L7F082E7C: -/* 0B79AC 7F082E7C 11C00021 */ beqz $t6, .L7F082F04 -/* 0B79B0 7F082E80 8FAF0124 */ lw $t7, 0x124($sp) -/* 0B79B4 7F082E84 448F4000 */ mtc1 $t7, $f8 -/* 0B79B8 7F082E88 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0B79BC 7F082E8C 44819000 */ mtc1 $at, $f18 -/* 0B79C0 7F082E90 46804120 */ cvt.s.w $f4, $f8 -/* 0B79C4 7F082E94 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B79C8 7F082E98 44813000 */ mtc1 $at, $f6 -/* 0B79CC 7F082E9C 3C013F80 */ lui $at, 0x3f80 -/* 0B79D0 7F082EA0 46122083 */ div.s $f2, $f4, $f18 -/* 0B79D4 7F082EA4 4602303C */ c.lt.s $f6, $f2 -/* 0B79D8 7F082EA8 00000000 */ nop -/* 0B79DC 7F082EAC 45020004 */ bc1fl .L7F082EC0 -/* 0B79E0 7F082EB0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B79E4 7F082EB4 44811000 */ mtc1 $at, $f2 -/* 0B79E8 7F082EB8 00000000 */ nop -/* 0B79EC 7F082EBC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L7F082EC0: -/* 0B79F0 7F082EC0 44815000 */ mtc1 $at, $f10 -/* 0B79F4 7F082EC4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B79F8 7F082EC8 460A103C */ c.lt.s $f2, $f10 -/* 0B79FC 7F082ECC 00000000 */ nop -/* 0B7A00 7F082ED0 45000003 */ bc1f .L7F082EE0 -/* 0B7A04 7F082ED4 00000000 */ nop -/* 0B7A08 7F082ED8 44811000 */ mtc1 $at, $f2 -/* 0B7A0C 7F082EDC 00000000 */ nop -.L7F082EE0: -/* 0B7A10 7F082EE0 3C018005 */ lui $at, %hi(D_80055130) -/* 0B7A14 7F082EE4 C4285130 */ lwc1 $f8, %lo(D_80055130)($at) -/* 0B7A18 7F082EE8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B7A1C 7F082EEC C4328378 */ lwc1 $f18, %lo(global_timer_delta)($at) -/* 0B7A20 7F082EF0 46024102 */ mul.s $f4, $f8, $f2 -/* 0B7A24 7F082EF4 C44A0000 */ lwc1 $f10, ($v0) -/* 0B7A28 7F082EF8 46122182 */ mul.s $f6, $f4, $f18 -/* 0B7A2C 7F082EFC 46065200 */ add.s $f8, $f10, $f6 -/* 0B7A30 7F082F00 E4480000 */ swc1 $f8, ($v0) -.L7F082F04: -/* 0B7A34 7F082F04 8D190124 */ lw $t9, 0x124($t0) -/* 0B7A38 7F082F08 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7A3C 7F082F0C 8FAA01AC */ lw $t2, 0x1ac($sp) -/* 0B7A40 7F082F10 17200078 */ bnez $t9, .L7F0830F4 -/* 0B7A44 7F082F14 00000000 */ nop -/* 0B7A48 7F082F18 44811000 */ mtc1 $at, $f2 -/* 0B7A4C 7F082F1C 4600A006 */ mov.s $f0, $f20 -/* 0B7A50 7F082F20 11400009 */ beqz $t2, .L7F082F48 -/* 0B7A54 7F082F24 46001386 */ mov.s $f14, $f2 -/* 0B7A58 7F082F28 8FA90120 */ lw $t1, 0x120($sp) -/* 0B7A5C 7F082F2C 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0B7A60 7F082F30 44815000 */ mtc1 $at, $f10 -/* 0B7A64 7F082F34 44892000 */ mtc1 $t1, $f4 -/* 0B7A68 7F082F38 00000000 */ nop -/* 0B7A6C 7F082F3C 468024A0 */ cvt.s.w $f18, $f4 -/* 0B7A70 7F082F40 1000000B */ b .L7F082F70 -/* 0B7A74 7F082F44 460A9003 */ div.s $f0, $f18, $f10 -.L7F082F48: -/* 0B7A78 7F082F48 8FAB019C */ lw $t3, 0x19c($sp) -/* 0B7A7C 7F082F4C 8FAD0198 */ lw $t5, 0x198($sp) -/* 0B7A80 7F082F50 11600003 */ beqz $t3, .L7F082F60 -/* 0B7A84 7F082F54 00000000 */ nop -/* 0B7A88 7F082F58 10000005 */ b .L7F082F70 -/* 0B7A8C 7F082F5C 46001006 */ mov.s $f0, $f2 -.L7F082F60: -/* 0B7A90 7F082F60 11A00003 */ beqz $t5, .L7F082F70 -/* 0B7A94 7F082F64 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B7A98 7F082F68 44810000 */ mtc1 $at, $f0 -/* 0B7A9C 7F082F6C 00000000 */ nop -.L7F082F70: -/* 0B7AA0 7F082F70 4600103C */ c.lt.s $f2, $f0 -/* 0B7AA4 7F082F74 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B7AA8 7F082F78 3C0C8005 */ lui $t4, %hi(clock_timer) -/* 0B7AAC 7F082F7C 45020004 */ bc1fl .L7F082F90 -/* 0B7AB0 7F082F80 44813000 */ mtc1 $at, $f6 -/* 0B7AB4 7F082F84 10000009 */ b .L7F082FAC -/* 0B7AB8 7F082F88 46001006 */ mov.s $f0, $f2 -/* 0B7ABC 7F082F8C 44813000 */ mtc1 $at, $f6 -.L7F082F90: -/* 0B7AC0 7F082F90 3C01BF80 */ lui $at, 0xbf80 -/* 0B7AC4 7F082F94 4606003C */ c.lt.s $f0, $f6 -/* 0B7AC8 7F082F98 00000000 */ nop -/* 0B7ACC 7F082F9C 45020004 */ bc1fl .L7F082FB0 -/* 0B7AD0 7F082FA0 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0B7AD4 7F082FA4 44810000 */ mtc1 $at, $f0 -/* 0B7AD8 7F082FA8 00000000 */ nop -.L7F082FAC: -/* 0B7ADC 7F082FAC 3C014170 */ li $at, 0x41700000 # 15.000000 -.L7F082FB0: -/* 0B7AE0 7F082FB0 44818000 */ mtc1 $at, $f16 -/* 0B7AE4 7F082FB4 3C038003 */ lui $v1, %hi(D_80036490) -/* 0B7AE8 7F082FB8 24636490 */ addiu $v1, %lo(D_80036490) # addiu $v1, $v1, 0x6490 -/* 0B7AEC 7F082FBC 46100302 */ mul.s $f12, $f0, $f16 -/* 0B7AF0 7F082FC0 8C620000 */ lw $v0, ($v1) -/* 0B7AF4 7F082FC4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B7AF8 7F082FC8 18400008 */ blez $v0, .L7F082FEC -/* 0B7AFC 7F082FCC 46006086 */ mov.s $f2, $f12 -/* 0B7B00 7F082FD0 44814000 */ mtc1 $at, $f8 -/* 0B7B04 7F082FD4 8D8C8374 */ lw $t4, %lo(clock_timer)($t4) -/* 0B7B08 7F082FD8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0B7B0C 7F082FDC 44817000 */ mtc1 $at, $f14 -/* 0B7B10 7F082FE0 004CC023 */ subu $t8, $v0, $t4 -/* 0B7B14 7F082FE4 46086082 */ mul.s $f2, $f12, $f8 -/* 0B7B18 7F082FE8 AC780000 */ sw $t8, ($v1) -.L7F082FEC: -/* 0B7B1C 7F082FEC C5000174 */ lwc1 $f0, 0x174($t0) -/* 0B7B20 7F082FF0 46001032 */ c.eq.s $f2, $f0 -/* 0B7B24 7F082FF4 00000000 */ nop -/* 0B7B28 7F082FF8 4501003E */ bc1t .L7F0830F4 -/* 0B7B2C 7F082FFC 00000000 */ nop -/* 0B7B30 7F083000 4602003C */ c.lt.s $f0, $f2 -/* 0B7B34 7F083004 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0B7B38 7F083008 4502001D */ bc1fl .L7F083080 -/* 0B7B3C 7F08300C 4600103C */ c.lt.s $f2, $f0 -/* 0B7B40 7F083010 46001101 */ sub.s $f4, $f2, $f0 -/* 0B7B44 7F083014 44819000 */ mtc1 $at, $f18 -/* 0B7B48 7F083018 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B7B4C 7F08301C 44814000 */ mtc1 $at, $f8 -/* 0B7B50 7F083020 46122282 */ mul.s $f10, $f4, $f18 -/* 0B7B54 7F083024 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0B7B58 7F083028 46105183 */ div.s $f6, $f10, $f16 -/* 0B7B5C 7F08302C 44815000 */ mtc1 $at, $f10 -/* 0B7B60 7F083030 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B7B64 7F083034 46083100 */ add.s $f4, $f6, $f8 -/* 0B7B68 7F083038 44814000 */ mtc1 $at, $f8 -/* 0B7B6C 7F08303C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B7B70 7F083040 460E2482 */ mul.s $f18, $f4, $f14 -/* 0B7B74 7F083044 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B7B78 7F083048 460A9182 */ mul.s $f6, $f18, $f10 -/* 0B7B7C 7F08304C 46083303 */ div.s $f12, $f6, $f8 -/* 0B7B80 7F083050 46046482 */ mul.s $f18, $f12, $f4 -/* 0B7B84 7F083054 46120280 */ add.s $f10, $f0, $f18 -/* 0B7B88 7F083058 E50A0174 */ swc1 $f10, 0x174($t0) -/* 0B7B8C 7F08305C 8E080000 */ lw $t0, ($s0) -/* 0B7B90 7F083060 C5060174 */ lwc1 $f6, 0x174($t0) -/* 0B7B94 7F083064 4606103C */ c.lt.s $f2, $f6 -/* 0B7B98 7F083068 00000000 */ nop -/* 0B7B9C 7F08306C 45000021 */ bc1f .L7F0830F4 -/* 0B7BA0 7F083070 00000000 */ nop -/* 0B7BA4 7F083074 1000001F */ b .L7F0830F4 -/* 0B7BA8 7F083078 E5020174 */ swc1 $f2, 0x174($t0) -/* 0B7BAC 7F08307C 4600103C */ c.lt.s $f2, $f0 -.L7F083080: -/* 0B7BB0 7F083080 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0B7BB4 7F083084 4500001B */ bc1f .L7F0830F4 -/* 0B7BB8 7F083088 00000000 */ nop -/* 0B7BBC 7F08308C 46020201 */ sub.s $f8, $f0, $f2 -/* 0B7BC0 7F083090 44812000 */ mtc1 $at, $f4 -/* 0B7BC4 7F083094 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B7BC8 7F083098 44813000 */ mtc1 $at, $f6 -/* 0B7BCC 7F08309C 46044482 */ mul.s $f18, $f8, $f4 -/* 0B7BD0 7F0830A0 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 0B7BD4 7F0830A4 46109283 */ div.s $f10, $f18, $f16 -/* 0B7BD8 7F0830A8 44819000 */ mtc1 $at, $f18 -/* 0B7BDC 7F0830AC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B7BE0 7F0830B0 46065200 */ add.s $f8, $f10, $f6 -/* 0B7BE4 7F0830B4 44813000 */ mtc1 $at, $f6 -/* 0B7BE8 7F0830B8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B7BEC 7F0830BC 460E4102 */ mul.s $f4, $f8, $f14 -/* 0B7BF0 7F0830C0 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B7BF4 7F0830C4 46122282 */ mul.s $f10, $f4, $f18 -/* 0B7BF8 7F0830C8 46065303 */ div.s $f12, $f10, $f6 -/* 0B7BFC 7F0830CC 46086102 */ mul.s $f4, $f12, $f8 -/* 0B7C00 7F0830D0 46040480 */ add.s $f18, $f0, $f4 -/* 0B7C04 7F0830D4 E5120174 */ swc1 $f18, 0x174($t0) -/* 0B7C08 7F0830D8 8E080000 */ lw $t0, ($s0) -/* 0B7C0C 7F0830DC C50A0174 */ lwc1 $f10, 0x174($t0) -/* 0B7C10 7F0830E0 4602503C */ c.lt.s $f10, $f2 -/* 0B7C14 7F0830E4 00000000 */ nop -/* 0B7C18 7F0830E8 45000002 */ bc1f .L7F0830F4 -/* 0B7C1C 7F0830EC 00000000 */ nop -/* 0B7C20 7F0830F0 E5020174 */ swc1 $f2, 0x174($t0) -.L7F0830F4: -/* 0B7C24 7F0830F4 100000A7 */ b .L7F083394 -/* 0B7C28 7F0830F8 8E080000 */ lw $t0, ($s0) -.L7F0830FC: -/* 0B7C2C 7F0830FC 11C00005 */ beqz $t6, .L7F083114 -/* 0B7C30 7F083100 8FAF0190 */ lw $t7, 0x190($sp) -/* 0B7C34 7F083104 0FC1FF31 */ jal sub_GAME_7F07FCC4 -/* 0B7C38 7F083108 2404FFFF */ li $a0, -1 -/* 0B7C3C 7F08310C 1000000A */ b .L7F083138 -/* 0B7C40 7F083110 8FB901A8 */ lw $t9, 0x1a8($sp) -.L7F083114: -/* 0B7C44 7F083114 11E00005 */ beqz $t7, .L7F08312C -/* 0B7C48 7F083118 00000000 */ nop -/* 0B7C4C 7F08311C 0FC1FF31 */ jal sub_GAME_7F07FCC4 -/* 0B7C50 7F083120 24040001 */ li $a0, 1 -/* 0B7C54 7F083124 10000004 */ b .L7F083138 -/* 0B7C58 7F083128 8FB901A8 */ lw $t9, 0x1a8($sp) -.L7F08312C: -/* 0B7C5C 7F08312C 0FC1FF31 */ jal sub_GAME_7F07FCC4 -/* 0B7C60 7F083130 00002025 */ move $a0, $zero -/* 0B7C64 7F083134 8FB901A8 */ lw $t9, 0x1a8($sp) -.L7F083138: -/* 0B7C68 7F083138 8FAA0124 */ lw $t2, 0x124($sp) -/* 0B7C6C 7F08313C 53200009 */ beql $t9, $zero, .L7F083164 -/* 0B7C70 7F083140 8FAD019C */ lw $t5, 0x19c($sp) -/* 0B7C74 7F083144 448A3000 */ mtc1 $t2, $f6 -/* 0B7C78 7F083148 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0B7C7C 7F08314C 44812000 */ mtc1 $at, $f4 -/* 0B7C80 7F083150 46803220 */ cvt.s.w $f8, $f6 -/* 0B7C84 7F083154 8E0B0000 */ lw $t3, ($s0) -/* 0B7C88 7F083158 46044483 */ div.s $f18, $f8, $f4 -/* 0B7C8C 7F08315C E572016C */ swc1 $f18, 0x16c($t3) -/* 0B7C90 7F083160 8FAD019C */ lw $t5, 0x19c($sp) -.L7F083164: -/* 0B7C94 7F083164 8FAF0198 */ lw $t7, 0x198($sp) -/* 0B7C98 7F083168 11A0000A */ beqz $t5, .L7F083194 -/* 0B7C9C 7F08316C 00000000 */ nop -/* 0B7CA0 7F083170 0FC1FF87 */ jal sub_GAME_7F07FE1C -/* 0B7CA4 7F083174 24040001 */ li $a0, 1 -/* 0B7CA8 7F083178 8E080000 */ lw $t0, ($s0) -/* 0B7CAC 7F08317C 3C188005 */ lui $t8, %hi(clock_timer) -/* 0B7CB0 7F083180 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 0B7CB4 7F083184 8D0C017C */ lw $t4, 0x17c($t0) -/* 0B7CB8 7F083188 01987021 */ addu $t6, $t4, $t8 -/* 0B7CBC 7F08318C 10000009 */ b .L7F0831B4 -/* 0B7CC0 7F083190 AD0E017C */ sw $t6, 0x17c($t0) -.L7F083194: -/* 0B7CC4 7F083194 11E00005 */ beqz $t7, .L7F0831AC -/* 0B7CC8 7F083198 00000000 */ nop -/* 0B7CCC 7F08319C 0FC1FF87 */ jal sub_GAME_7F07FE1C -/* 0B7CD0 7F0831A0 2404FFFF */ li $a0, -1 -/* 0B7CD4 7F0831A4 10000004 */ b .L7F0831B8 -/* 0B7CD8 7F0831A8 8FB901AC */ lw $t9, 0x1ac($sp) -.L7F0831AC: -/* 0B7CDC 7F0831AC 0FC1FF87 */ jal sub_GAME_7F07FE1C -/* 0B7CE0 7F0831B0 00002025 */ move $a0, $zero -.L7F0831B4: -/* 0B7CE4 7F0831B4 8FB901AC */ lw $t9, 0x1ac($sp) -.L7F0831B8: -/* 0B7CE8 7F0831B8 8FAA0120 */ lw $t2, 0x120($sp) -/* 0B7CEC 7F0831BC 53200016 */ beql $t9, $zero, .L7F083218 -/* 0B7CF0 7F0831C0 8E080000 */ lw $t0, ($s0) -/* 0B7CF4 7F0831C4 448A5000 */ mtc1 $t2, $f10 -/* 0B7CF8 7F0831C8 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0B7CFC 7F0831CC 44814000 */ mtc1 $at, $f8 -/* 0B7D00 7F0831D0 468051A0 */ cvt.s.w $f6, $f10 -/* 0B7D04 7F0831D4 8E0B0000 */ lw $t3, ($s0) -/* 0B7D08 7F0831D8 46083103 */ div.s $f4, $f6, $f8 -/* 0B7D0C 7F0831DC E5640174 */ swc1 $f4, 0x174($t3) -/* 0B7D10 7F0831E0 8FAD0120 */ lw $t5, 0x120($sp) -/* 0B7D14 7F0831E4 29A1003D */ slti $at, $t5, 0x3d -/* 0B7D18 7F0831E8 54200009 */ bnezl $at, .L7F083210 -/* 0B7D1C 7F0831EC 8E0F0000 */ lw $t7, ($s0) -/* 0B7D20 7F0831F0 8E080000 */ lw $t0, ($s0) -/* 0B7D24 7F0831F4 3C188005 */ lui $t8, %hi(clock_timer) -/* 0B7D28 7F0831F8 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 0B7D2C 7F0831FC 8D0C017C */ lw $t4, 0x17c($t0) -/* 0B7D30 7F083200 01987021 */ addu $t6, $t4, $t8 -/* 0B7D34 7F083204 10000003 */ b .L7F083214 -/* 0B7D38 7F083208 AD0E017C */ sw $t6, 0x17c($t0) -/* 0B7D3C 7F08320C 8E0F0000 */ lw $t7, ($s0) -.L7F083210: -/* 0B7D40 7F083210 ADE0017C */ sw $zero, 0x17c($t7) -.L7F083214: -/* 0B7D44 7F083214 8E080000 */ lw $t0, ($s0) -.L7F083218: -/* 0B7D48 7F083218 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7D4C 7F08321C 44819000 */ mtc1 $at, $f18 -/* 0B7D50 7F083220 C5000174 */ lwc1 $f0, 0x174($t0) -/* 0B7D54 7F083224 3C013F80 */ lui $at, 0x3f80 -/* 0B7D58 7F083228 4600903C */ c.lt.s $f18, $f0 -/* 0B7D5C 7F08322C 00000000 */ nop -/* 0B7D60 7F083230 45020007 */ bc1fl .L7F083250 -/* 0B7D64 7F083234 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B7D68 7F083238 44815000 */ mtc1 $at, $f10 -/* 0B7D6C 7F08323C 00000000 */ nop -/* 0B7D70 7F083240 E50A0174 */ swc1 $f10, 0x174($t0) -/* 0B7D74 7F083244 8E080000 */ lw $t0, ($s0) -/* 0B7D78 7F083248 C5000174 */ lwc1 $f0, 0x174($t0) -/* 0B7D7C 7F08324C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L7F083250: -/* 0B7D80 7F083250 44813000 */ mtc1 $at, $f6 -/* 0B7D84 7F083254 3C01BF80 */ lui $at, 0xbf80 -/* 0B7D88 7F083258 4606003C */ c.lt.s $f0, $f6 -/* 0B7D8C 7F08325C 00000000 */ nop -/* 0B7D90 7F083260 45020006 */ bc1fl .L7F08327C -/* 0B7D94 7F083264 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7D98 7F083268 44814000 */ mtc1 $at, $f8 -/* 0B7D9C 7F08326C 00000000 */ nop -/* 0B7DA0 7F083270 E5080174 */ swc1 $f8, 0x174($t0) -/* 0B7DA4 7F083274 8E080000 */ lw $t0, ($s0) -/* 0B7DA8 7F083278 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F08327C: -/* 0B7DAC 7F08327C 44812000 */ mtc1 $at, $f4 -/* 0B7DB0 7F083280 C500016C */ lwc1 $f0, 0x16c($t0) -/* 0B7DB4 7F083284 3C013F80 */ lui $at, 0x3f80 -/* 0B7DB8 7F083288 4600203C */ c.lt.s $f4, $f0 -/* 0B7DBC 7F08328C 00000000 */ nop -/* 0B7DC0 7F083290 45020007 */ bc1fl .L7F0832B0 -/* 0B7DC4 7F083294 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B7DC8 7F083298 44819000 */ mtc1 $at, $f18 -/* 0B7DCC 7F08329C 00000000 */ nop -/* 0B7DD0 7F0832A0 E512016C */ swc1 $f18, 0x16c($t0) -/* 0B7DD4 7F0832A4 8E080000 */ lw $t0, ($s0) -/* 0B7DD8 7F0832A8 C500016C */ lwc1 $f0, 0x16c($t0) -/* 0B7DDC 7F0832AC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L7F0832B0: -/* 0B7DE0 7F0832B0 44815000 */ mtc1 $at, $f10 -/* 0B7DE4 7F0832B4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B7DE8 7F0832B8 460A003C */ c.lt.s $f0, $f10 -/* 0B7DEC 7F0832BC 00000000 */ nop -/* 0B7DF0 7F0832C0 45000005 */ bc1f .L7F0832D8 -/* 0B7DF4 7F0832C4 00000000 */ nop -/* 0B7DF8 7F0832C8 44813000 */ mtc1 $at, $f6 -/* 0B7DFC 7F0832CC 00000000 */ nop -/* 0B7E00 7F0832D0 E506016C */ swc1 $f6, 0x16c($t0) -/* 0B7E04 7F0832D4 8E080000 */ lw $t0, ($s0) -.L7F0832D8: -/* 0B7E08 7F0832D8 3C018005 */ lui $at, %hi(D_80055134) -/* 0B7E0C 7F0832DC C4245134 */ lwc1 $f4, %lo(D_80055134)($at) -/* 0B7E10 7F0832E0 C5080174 */ lwc1 $f8, 0x174($t0) -/* 0B7E14 7F0832E4 46044482 */ mul.s $f18, $f8, $f4 -/* 0B7E18 7F0832E8 E5120174 */ swc1 $f18, 0x174($t0) -/* 0B7E1C 7F0832EC 8E080000 */ lw $t0, ($s0) -/* 0B7E20 7F0832F0 C50A0174 */ lwc1 $f10, 0x174($t0) -/* 0B7E24 7F0832F4 C5060178 */ lwc1 $f6, 0x178($t0) -/* 0B7E28 7F0832F8 46065202 */ mul.s $f8, $f10, $f6 -/* 0B7E2C 7F0832FC E5080174 */ swc1 $f8, 0x174($t0) -/* 0B7E30 7F083300 8FB901AC */ lw $t9, 0x1ac($sp) -/* 0B7E34 7F083304 8FAA019C */ lw $t2, 0x19c($sp) -/* 0B7E38 7F083308 57200006 */ bnezl $t9, .L7F083324 -/* 0B7E3C 7F08330C 8FAD0154 */ lw $t5, 0x154($sp) -/* 0B7E40 7F083310 55400004 */ bnezl $t2, .L7F083324 -/* 0B7E44 7F083314 8FAD0154 */ lw $t5, 0x154($sp) -/* 0B7E48 7F083318 8E0B0000 */ lw $t3, ($s0) -/* 0B7E4C 7F08331C AD60017C */ sw $zero, 0x17c($t3) -/* 0B7E50 7F083320 8FAD0154 */ lw $t5, 0x154($sp) -.L7F083324: -/* 0B7E54 7F083324 8FAC0150 */ lw $t4, 0x150($sp) -/* 0B7E58 7F083328 11A00005 */ beqz $t5, .L7F083340 -/* 0B7E5C 7F08332C 00000000 */ nop -/* 0B7E60 7F083330 0FC1E662 */ jal sub_GAME_7F079988 -/* 0B7E64 7F083334 2404FFFF */ li $a0, -1 -/* 0B7E68 7F083338 1000000A */ b .L7F083364 -/* 0B7E6C 7F08333C 8FB8015C */ lw $t8, 0x15c($sp) -.L7F083340: -/* 0B7E70 7F083340 11800005 */ beqz $t4, .L7F083358 -/* 0B7E74 7F083344 00000000 */ nop -/* 0B7E78 7F083348 0FC1E662 */ jal sub_GAME_7F079988 -/* 0B7E7C 7F08334C 24040001 */ li $a0, 1 -/* 0B7E80 7F083350 10000004 */ b .L7F083364 -/* 0B7E84 7F083354 8FB8015C */ lw $t8, 0x15c($sp) -.L7F083358: -/* 0B7E88 7F083358 0FC1E662 */ jal sub_GAME_7F079988 -/* 0B7E8C 7F08335C 00002025 */ move $a0, $zero -/* 0B7E90 7F083360 8FB8015C */ lw $t8, 0x15c($sp) -.L7F083364: -/* 0B7E94 7F083364 8FAE0158 */ lw $t6, 0x158($sp) -/* 0B7E98 7F083368 13000005 */ beqz $t8, .L7F083380 -/* 0B7E9C 7F08336C 00000000 */ nop -/* 0B7EA0 7F083370 0FC1E66B */ jal change_crouch_position -/* 0B7EA4 7F083374 2404FFFE */ li $a0, -2 -/* 0B7EA8 7F083378 10000006 */ b .L7F083394 -/* 0B7EAC 7F08337C 8E080000 */ lw $t0, ($s0) -.L7F083380: -/* 0B7EB0 7F083380 51C00004 */ beql $t6, $zero, .L7F083394 -/* 0B7EB4 7F083384 8E080000 */ lw $t0, ($s0) -/* 0B7EB8 7F083388 0FC1E66B */ jal change_crouch_position -/* 0B7EBC 7F08338C 24040002 */ li $a0, 2 -/* 0B7EC0 7F083390 8E080000 */ lw $t0, ($s0) -.L7F083394: -/* 0B7EC4 7F083394 8D0F017C */ lw $t7, 0x17c($t0) -/* 0B7EC8 7F083398 29E100B4 */ slti $at, $t7, 0xb4 -/* 0B7ECC 7F08339C 14200017 */ bnez $at, .L7F0833FC -/* 0B7ED0 7F0833A0 3C013FA0 */ li $at, 0x3FA00000 # 1.250000 -/* 0B7ED4 7F0833A4 44811000 */ mtc1 $at, $f2 -/* 0B7ED8 7F0833A8 C5000178 */ lwc1 $f0, 0x178($t0) -/* 0B7EDC 7F0833AC 3C018005 */ lui $at, %hi(D_80055138) -/* 0B7EE0 7F0833B0 4602003C */ c.lt.s $f0, $f2 -/* 0B7EE4 7F0833B4 00000000 */ nop -/* 0B7EE8 7F0833B8 4502000A */ bc1fl .L7F0833E4 -/* 0B7EEC 7F0833BC 4600103C */ c.lt.s $f2, $f0 -/* 0B7EF0 7F0833C0 C4245138 */ lwc1 $f4, %lo(D_80055138)($at) -/* 0B7EF4 7F0833C4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B7EF8 7F0833C8 C4328378 */ lwc1 $f18, %lo(global_timer_delta)($at) -/* 0B7EFC 7F0833CC 46122282 */ mul.s $f10, $f4, $f18 -/* 0B7F00 7F0833D0 460A0180 */ add.s $f6, $f0, $f10 -/* 0B7F04 7F0833D4 E5060178 */ swc1 $f6, 0x178($t0) -/* 0B7F08 7F0833D8 8E080000 */ lw $t0, ($s0) -/* 0B7F0C 7F0833DC C5000178 */ lwc1 $f0, 0x178($t0) -/* 0B7F10 7F0833E0 4600103C */ c.lt.s $f2, $f0 -.L7F0833E4: -/* 0B7F14 7F0833E4 00000000 */ nop -/* 0B7F18 7F0833E8 45020020 */ bc1fl .L7F08346C -/* 0B7F1C 7F0833EC 8D1901C8 */ lw $t9, 0x1c8($t0) -/* 0B7F20 7F0833F0 E5020178 */ swc1 $f2, 0x178($t0) -/* 0B7F24 7F0833F4 1000001C */ b .L7F083468 -/* 0B7F28 7F0833F8 8E080000 */ lw $t0, ($s0) -.L7F0833FC: -/* 0B7F2C 7F0833FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7F30 7F083400 44814000 */ mtc1 $at, $f8 -/* 0B7F34 7F083404 C5000178 */ lwc1 $f0, 0x178($t0) -/* 0B7F38 7F083408 3C018005 */ lui $at, %hi(D_8005513C) -/* 0B7F3C 7F08340C 4600403C */ c.lt.s $f8, $f0 -/* 0B7F40 7F083410 00000000 */ nop -/* 0B7F44 7F083414 4502000A */ bc1fl .L7F083440 -/* 0B7F48 7F083418 3C013F80 */ lui $at, %hi(0x3F800000) # $at, 0x3f80 -/* 0B7F4C 7F08341C C424513C */ lwc1 $f4, %lo(D_8005513C)($at) -/* 0B7F50 7F083420 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B7F54 7F083424 C4328378 */ lwc1 $f18, %lo(global_timer_delta)($at) -/* 0B7F58 7F083428 46122282 */ mul.s $f10, $f4, $f18 -/* 0B7F5C 7F08342C 460A0181 */ sub.s $f6, $f0, $f10 -/* 0B7F60 7F083430 E5060178 */ swc1 $f6, 0x178($t0) -/* 0B7F64 7F083434 8E080000 */ lw $t0, ($s0) -/* 0B7F68 7F083438 C5000178 */ lwc1 $f0, 0x178($t0) -/* 0B7F6C 7F08343C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F083440: -/* 0B7F70 7F083440 44814000 */ mtc1 $at, $f8 -/* 0B7F74 7F083444 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B7F78 7F083448 4608003C */ c.lt.s $f0, $f8 -/* 0B7F7C 7F08344C 00000000 */ nop -/* 0B7F80 7F083450 45020006 */ bc1fl .L7F08346C -/* 0B7F84 7F083454 8D1901C8 */ lw $t9, 0x1c8($t0) -/* 0B7F88 7F083458 44812000 */ mtc1 $at, $f4 -/* 0B7F8C 7F08345C 00000000 */ nop -/* 0B7F90 7F083460 E5040178 */ swc1 $f4, 0x178($t0) -/* 0B7F94 7F083464 8E080000 */ lw $t0, ($s0) -.L7F083468: -/* 0B7F98 7F083468 8D1901C8 */ lw $t9, 0x1c8($t0) -.L7F08346C: -/* 0B7F9C 7F08346C 572001B4 */ bnezl $t9, .L7F083B40 -/* 0B7FA0 7F083470 8FAE01A4 */ lw $t6, 0x1a4($sp) -/* 0B7FA4 7F083474 8D0A0114 */ lw $t2, 0x114($t0) -/* 0B7FA8 7F083478 3C01C080 */ li $at, 0xC0800000 # -4.000000 -/* 0B7FAC 7F08347C 44817000 */ mtc1 $at, $f14 -/* 0B7FB0 7F083480 1140007F */ beqz $t2, .L7F083680 -/* 0B7FB4 7F083484 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0B7FB8 7F083488 8D0B0488 */ lw $t3, 0x488($t0) -/* 0B7FBC 7F08348C 44819000 */ mtc1 $at, $f18 -/* 0B7FC0 7F083490 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 0B7FC4 7F083494 AFAB00C0 */ sw $t3, 0xc0($sp) -/* 0B7FC8 7F083498 E7B200BC */ swc1 $f18, 0xbc($sp) -/* 0B7FCC 7F08349C 8D0400A8 */ lw $a0, 0xa8($t0) -/* 0B7FD0 7F0834A0 E7AE00C4 */ swc1 $f14, 0xc4($sp) -/* 0B7FD4 7F0834A4 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 0B7FD8 7F0834A8 0FC2289D */ jal sub_GAME_7F08A274 -/* 0B7FDC 7F0834AC 27A700A4 */ addiu $a3, $sp, 0xa4 -/* 0B7FE0 7F0834B0 8E080000 */ lw $t0, ($s0) -/* 0B7FE4 7F0834B4 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0B7FE8 7F0834B8 44810000 */ mtc1 $at, $f0 -/* 0B7FEC 7F0834BC C50A0498 */ lwc1 $f10, 0x498($t0) -/* 0B7FF0 7F0834C0 C508048C */ lwc1 $f8, 0x48c($t0) -/* 0B7FF4 7F0834C4 46005182 */ mul.s $f6, $f10, $f0 -/* 0B7FF8 7F0834C8 46083100 */ add.s $f4, $f6, $f8 -/* 0B7FFC 7F0834CC E7A400AC */ swc1 $f4, 0xac($sp) -/* 0B8000 7F0834D0 C5120490 */ lwc1 $f18, 0x490($t0) -/* 0B8004 7F0834D4 E7B200B0 */ swc1 $f18, 0xb0($sp) -/* 0B8008 7F0834D8 C50A04A0 */ lwc1 $f10, 0x4a0($t0) -/* 0B800C 7F0834DC C5080494 */ lwc1 $f8, 0x494($t0) -/* 0B8010 7F0834E0 46005182 */ mul.s $f6, $f10, $f0 -/* 0B8014 7F0834E4 46083100 */ add.s $f4, $f6, $f8 -/* 0B8018 7F0834E8 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 0B801C 7F0834EC E7A400B4 */ swc1 $f4, 0xb4($sp) -/* 0B8020 7F0834F0 8E080000 */ lw $t0, ($s0) -/* 0B8024 7F0834F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B8028 7F0834F8 44814000 */ mtc1 $at, $f8 -/* 0B802C 7F0834FC 8D05048C */ lw $a1, 0x48c($t0) -/* 0B8030 7F083500 8D060494 */ lw $a2, 0x494($t0) -/* 0B8034 7F083504 C7B200B4 */ lwc1 $f18, 0xb4($sp) -/* 0B8038 7F083508 C7AA00A8 */ lwc1 $f10, 0xa8($sp) -/* 0B803C 7F08350C C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0B8040 7F083510 240D1000 */ li $t5, 4096 -/* 0B8044 7F083514 AFAD0014 */ sw $t5, 0x14($sp) -/* 0B8048 7F083518 E7B40020 */ swc1 $f20, 0x20($sp) -/* 0B804C 7F08351C 27A400C0 */ addiu $a0, $sp, 0xc0 -/* 0B8050 7F083520 8FA700AC */ lw $a3, 0xac($sp) -/* 0B8054 7F083524 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0B8058 7F083528 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0B805C 7F08352C E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0B8060 7F083530 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0B8064 7F083534 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0B8068 7F083538 10400009 */ beqz $v0, .L7F083560 -/* 0B806C 7F08353C C7AE00C4 */ lwc1 $f14, 0xc4($sp) -/* 0B8070 7F083540 8FA400C0 */ lw $a0, 0xc0($sp) -/* 0B8074 7F083544 8FA500AC */ lw $a1, 0xac($sp) -/* 0B8078 7F083548 8FA600B4 */ lw $a2, 0xb4($sp) -/* 0B807C 7F08354C 0FC20358 */ jal sub_GAME_7F080D60 -/* 0B8080 7F083550 E7AE00C4 */ swc1 $f14, 0xc4($sp) -/* 0B8084 7F083554 C7AE00C4 */ lwc1 $f14, 0xc4($sp) -/* 0B8088 7F083558 1000001A */ b .L7F0835C4 -/* 0B808C 7F08355C E7A000B0 */ swc1 $f0, 0xb0($sp) -.L7F083560: -/* 0B8090 7F083560 8E080000 */ lw $t0, ($s0) -/* 0B8094 7F083564 27A600AC */ addiu $a2, $sp, 0xac -/* 0B8098 7F083568 E7AE00C4 */ swc1 $f14, 0xc4($sp) -/* 0B809C 7F08356C 2504048C */ addiu $a0, $t0, 0x48c -/* 0B80A0 7F083570 0FC098A6 */ jal sub_GAME_7F026298 -/* 0B80A4 7F083574 25050498 */ addiu $a1, $t0, 0x498 -/* 0B80A8 7F083578 8E080000 */ lw $t0, ($s0) -/* 0B80AC 7F08357C C7A400AC */ lwc1 $f4, 0xac($sp) -/* 0B80B0 7F083580 C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 0B80B4 7F083584 C512048C */ lwc1 $f18, 0x48c($t0) -/* 0B80B8 7F083588 C5060494 */ lwc1 $f6, 0x494($t0) -/* 0B80BC 7F08358C 46122001 */ sub.s $f0, $f4, $f18 -/* 0B80C0 7F083590 46065081 */ sub.s $f2, $f10, $f6 -/* 0B80C4 7F083594 46000202 */ mul.s $f8, $f0, $f0 -/* 0B80C8 7F083598 00000000 */ nop -/* 0B80CC 7F08359C 46021102 */ mul.s $f4, $f2, $f2 -/* 0B80D0 7F0835A0 0C007DF8 */ jal sqrtf -/* 0B80D4 7F0835A4 46044300 */ add.s $f12, $f8, $f4 -/* 0B80D8 7F0835A8 E7A000BC */ swc1 $f0, 0xbc($sp) -/* 0B80DC 7F0835AC 8FA400C0 */ lw $a0, 0xc0($sp) -/* 0B80E0 7F0835B0 8FA500AC */ lw $a1, 0xac($sp) -/* 0B80E4 7F0835B4 0FC20358 */ jal sub_GAME_7F080D60 -/* 0B80E8 7F0835B8 8FA600B4 */ lw $a2, 0xb4($sp) -/* 0B80EC 7F0835BC C7AE00C4 */ lwc1 $f14, 0xc4($sp) -/* 0B80F0 7F0835C0 E7A000B0 */ swc1 $f0, 0xb0($sp) -.L7F0835C4: -/* 0B80F4 7F0835C4 C7B200BC */ lwc1 $f18, 0xbc($sp) -/* 0B80F8 7F0835C8 4612A03C */ c.lt.s $f20, $f18 -/* 0B80FC 7F0835CC 00000000 */ nop -/* 0B8100 7F0835D0 4502002C */ bc1fl .L7F083684 -/* 0B8104 7F0835D4 8E080000 */ lw $t0, ($s0) -/* 0B8108 7F0835D8 8E0C0000 */ lw $t4, ($s0) -/* 0B810C 7F0835DC 3C01C396 */ li $at, 0xC3960000 # -300.000000 -/* 0B8110 7F0835E0 44813000 */ mtc1 $at, $f6 -/* 0B8114 7F0835E4 C58A0074 */ lwc1 $f10, 0x74($t4) -/* 0B8118 7F0835E8 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 0B811C 7F0835EC 460A0301 */ sub.s $f12, $f0, $f10 -/* 0B8120 7F0835F0 460C303C */ c.lt.s $f6, $f12 -/* 0B8124 7F0835F4 00000000 */ nop -/* 0B8128 7F0835F8 45020022 */ bc1fl .L7F083684 -/* 0B812C 7F0835FC 8E080000 */ lw $t0, ($s0) -/* 0B8130 7F083600 44814000 */ mtc1 $at, $f8 -/* 0B8134 7F083604 00000000 */ nop -/* 0B8138 7F083608 4608603C */ c.lt.s $f12, $f8 -/* 0B813C 7F08360C 00000000 */ nop -/* 0B8140 7F083610 4502001C */ bc1fl .L7F083684 -/* 0B8144 7F083614 8E080000 */ lw $t0, ($s0) -/* 0B8148 7F083618 0FC16A8C */ jal convert_angle_using_inverse -/* 0B814C 7F08361C 46009386 */ mov.s $f14, $f18 -/* 0B8150 7F083620 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B8154 7F083624 44816000 */ mtc1 $at, $f12 -/* 0B8158 7F083628 3C018005 */ lui $at, %hi(D_80055140) -/* 0B815C 7F08362C C42A5140 */ lwc1 $f10, %lo(D_80055140)($at) -/* 0B8160 7F083630 460C0102 */ mul.s $f4, $f0, $f12 -/* 0B8164 7F083634 3C01C080 */ li $at, 0xC0800000 # -4.000000 -/* 0B8168 7F083638 44814000 */ mtc1 $at, $f8 -/* 0B816C 7F08363C 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0B8170 7F083640 44819000 */ mtc1 $at, $f18 -/* 0B8174 7F083644 3C018005 */ lui $at, %hi(D_80055144) -/* 0B8178 7F083648 460A2183 */ div.s $f6, $f4, $f10 -/* 0B817C 7F08364C 46083080 */ add.s $f2, $f6, $f8 -/* 0B8180 7F083650 4602903E */ c.le.s $f18, $f2 -/* 0B8184 7F083654 46001386 */ mov.s $f14, $f2 -/* 0B8188 7F083658 45020003 */ bc1fl .L7F083668 -/* 0B818C 7F08365C 460EA03C */ c.lt.s $f20, $f14 -/* 0B8190 7F083660 460C1381 */ sub.s $f14, $f2, $f12 -/* 0B8194 7F083664 460EA03C */ c.lt.s $f20, $f14 -.L7F083668: -/* 0B8198 7F083668 00000000 */ nop -/* 0B819C 7F08366C 45020005 */ bc1fl .L7F083684 -/* 0B81A0 7F083670 8E080000 */ lw $t0, ($s0) -/* 0B81A4 7F083674 C4245144 */ lwc1 $f4, %lo(D_80055144)($at) -/* 0B81A8 7F083678 46047382 */ mul.s $f14, $f14, $f4 -/* 0B81AC 7F08367C 00000000 */ nop -.L7F083680: -/* 0B81B0 7F083680 8E080000 */ lw $t0, ($s0) -.L7F083684: -/* 0B81B4 7F083684 8FA90120 */ lw $t1, 0x120($sp) -/* 0B81B8 7F083688 3C0E8003 */ lui $t6, %hi(in_tank_flag) -/* 0B81BC 7F08368C 8D180110 */ lw $t8, 0x110($t0) -/* 0B81C0 7F083690 29210028 */ slti $at, $t1, 0x28 -/* 0B81C4 7F083694 13000007 */ beqz $t8, .L7F0836B4 -/* 0B81C8 7F083698 00000000 */ nop -/* 0B81CC 7F08369C 10200005 */ beqz $at, .L7F0836B4 -/* 0B81D0 7F0836A0 2921FFD9 */ slti $at, $t1, -0x27 -/* 0B81D4 7F0836A4 14200003 */ bnez $at, .L7F0836B4 -/* 0B81D8 7F0836A8 00000000 */ nop -/* 0B81DC 7F0836AC AD000110 */ sw $zero, 0x110($t0) -/* 0B81E0 7F0836B0 8E080000 */ lw $t0, ($s0) -.L7F0836B4: -/* 0B81E4 7F0836B4 8DCE6448 */ lw $t6, %lo(in_tank_flag)($t6) -/* 0B81E8 7F0836B8 C7AA0184 */ lwc1 $f10, 0x184($sp) -/* 0B81EC 7F0836BC 55C0005F */ bnezl $t6, .L7F08383C -/* 0B81F0 7F0836C0 8D180104 */ lw $t8, 0x104($t0) -/* 0B81F4 7F0836C4 460AA03C */ c.lt.s $f20, $f10 -/* 0B81F8 7F0836C8 C7A60180 */ lwc1 $f6, 0x180($sp) -/* 0B81FC 7F0836CC 45030006 */ bc1tl .L7F0836E8 -/* 0B8200 7F0836D0 AD000104 */ sw $zero, 0x104($t0) -/* 0B8204 7F0836D4 4606A03C */ c.lt.s $f20, $f6 -/* 0B8208 7F0836D8 8FAB0140 */ lw $t3, 0x140($sp) -/* 0B820C 7F0836DC 45000009 */ bc1f .L7F083704 -/* 0B8210 7F0836E0 00000000 */ nop -/* 0B8214 7F0836E4 AD000104 */ sw $zero, 0x104($t0) -.L7F0836E8: -/* 0B8218 7F0836E8 8E190000 */ lw $t9, ($s0) -/* 0B821C 7F0836EC 240F0001 */ li $t7, 1 -/* 0B8220 7F0836F0 AF2F010C */ sw $t7, 0x10c($t9) -/* 0B8224 7F0836F4 8E0A0000 */ lw $t2, ($s0) -/* 0B8228 7F0836F8 AD400120 */ sw $zero, 0x120($t2) -/* 0B822C 7F0836FC 1000004E */ b .L7F083838 -/* 0B8230 7F083700 8E080000 */ lw $t0, ($s0) -.L7F083704: -/* 0B8234 7F083704 51600005 */ beql $t3, $zero, .L7F08371C -/* 0B8238 7F083708 8D0D0118 */ lw $t5, 0x118($t0) -/* 0B823C 7F08370C AD000120 */ sw $zero, 0x120($t0) -/* 0B8240 7F083710 10000047 */ b .L7F083830 -/* 0B8244 7F083714 8E080000 */ lw $t0, ($s0) -/* 0B8248 7F083718 8D0D0118 */ lw $t5, 0x118($t0) -.L7F08371C: -/* 0B824C 7F08371C 8FAC01AC */ lw $t4, 0x1ac($sp) -/* 0B8250 7F083720 51A00025 */ beql $t5, $zero, .L7F0837B8 -/* 0B8254 7F083724 8D0A011C */ lw $t2, 0x11c($t0) -/* 0B8258 7F083728 11800008 */ beqz $t4, .L7F08374C -/* 0B825C 7F08372C 2921003D */ slti $at, $t1, 0x3d -/* 0B8260 7F083730 10200004 */ beqz $at, .L7F083744 -/* 0B8264 7F083734 24180001 */ li $t8, 1 -/* 0B8268 7F083738 2921FFC4 */ slti $at, $t1, -0x3c -/* 0B826C 7F08373C 50200004 */ beql $at, $zero, .L7F083750 -/* 0B8270 7F083740 8D0E0120 */ lw $t6, 0x120($t0) -.L7F083744: -/* 0B8274 7F083744 AD180120 */ sw $t8, 0x120($t0) -/* 0B8278 7F083748 8E080000 */ lw $t0, ($s0) -.L7F08374C: -/* 0B827C 7F08374C 8D0E0120 */ lw $t6, 0x120($t0) -.L7F083750: -/* 0B8280 7F083750 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0B8284 7F083754 51C00037 */ beql $t6, $zero, .L7F083834 -/* 0B8288 7F083758 AD00010C */ sw $zero, 0x10c($t0) -/* 0B828C 7F08375C 44814000 */ mtc1 $at, $f8 -/* 0B8290 7F083760 C5000158 */ lwc1 $f0, 0x158($t0) -/* 0B8294 7F083764 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 0B8298 7F083768 46087480 */ add.s $f18, $f14, $f8 -/* 0B829C 7F08376C 4600903C */ c.lt.s $f18, $f0 -/* 0B82A0 7F083770 00000000 */ nop -/* 0B82A4 7F083774 45030009 */ bc1tl .L7F08379C -/* 0B82A8 7F083778 8D0F0110 */ lw $t7, 0x110($t0) -/* 0B82AC 7F08377C 44812000 */ mtc1 $at, $f4 -/* 0B82B0 7F083780 00000000 */ nop -/* 0B82B4 7F083784 46047280 */ add.s $f10, $f14, $f4 -/* 0B82B8 7F083788 460A003C */ c.lt.s $f0, $f10 -/* 0B82BC 7F08378C 00000000 */ nop -/* 0B82C0 7F083790 45020028 */ bc1fl .L7F083834 -/* 0B82C4 7F083794 AD00010C */ sw $zero, 0x10c($t0) -/* 0B82C8 7F083798 8D0F0110 */ lw $t7, 0x110($t0) -.L7F08379C: -/* 0B82CC 7F08379C 24190001 */ li $t9, 1 -/* 0B82D0 7F0837A0 55E00024 */ bnezl $t7, .L7F083834 -/* 0B82D4 7F0837A4 AD00010C */ sw $zero, 0x10c($t0) -/* 0B82D8 7F0837A8 AD190104 */ sw $t9, 0x104($t0) -/* 0B82DC 7F0837AC 10000020 */ b .L7F083830 -/* 0B82E0 7F0837B0 8E080000 */ lw $t0, ($s0) -/* 0B82E4 7F0837B4 8D0A011C */ lw $t2, 0x11c($t0) -.L7F0837B8: -/* 0B82E8 7F0837B8 8FAB01AC */ lw $t3, 0x1ac($sp) -/* 0B82EC 7F0837BC 5140001D */ beql $t2, $zero, .L7F083834 -/* 0B82F0 7F0837C0 AD00010C */ sw $zero, 0x10c($t0) -/* 0B82F4 7F0837C4 1160001A */ beqz $t3, .L7F083830 -/* 0B82F8 7F0837C8 2921003D */ slti $at, $t1, 0x3d -/* 0B82FC 7F0837CC 10200002 */ beqz $at, .L7F0837D8 -/* 0B8300 7F0837D0 2921FFC4 */ slti $at, $t1, -0x3c -/* 0B8304 7F0837D4 10200016 */ beqz $at, .L7F083830 -.L7F0837D8: -/* 0B8308 7F0837D8 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0B830C 7F0837DC 44813000 */ mtc1 $at, $f6 -/* 0B8310 7F0837E0 C5000158 */ lwc1 $f0, 0x158($t0) -/* 0B8314 7F0837E4 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 0B8318 7F0837E8 46067200 */ add.s $f8, $f14, $f6 -/* 0B831C 7F0837EC 4600403C */ c.lt.s $f8, $f0 -/* 0B8320 7F0837F0 00000000 */ nop -/* 0B8324 7F0837F4 45030009 */ bc1tl .L7F08381C -/* 0B8328 7F0837F8 8D0D0110 */ lw $t5, 0x110($t0) -/* 0B832C 7F0837FC 44819000 */ mtc1 $at, $f18 -/* 0B8330 7F083800 00000000 */ nop -/* 0B8334 7F083804 46127100 */ add.s $f4, $f14, $f18 -/* 0B8338 7F083808 4604003C */ c.lt.s $f0, $f4 -/* 0B833C 7F08380C 00000000 */ nop -/* 0B8340 7F083810 45020008 */ bc1fl .L7F083834 -/* 0B8344 7F083814 AD00010C */ sw $zero, 0x10c($t0) -/* 0B8348 7F083818 8D0D0110 */ lw $t5, 0x110($t0) -.L7F08381C: -/* 0B834C 7F08381C 240C0001 */ li $t4, 1 -/* 0B8350 7F083820 55A00004 */ bnezl $t5, .L7F083834 -/* 0B8354 7F083824 AD00010C */ sw $zero, 0x10c($t0) -/* 0B8358 7F083828 AD0C0104 */ sw $t4, 0x104($t0) -/* 0B835C 7F08382C 8E080000 */ lw $t0, ($s0) -.L7F083830: -/* 0B8360 7F083830 AD00010C */ sw $zero, 0x10c($t0) -.L7F083834: -/* 0B8364 7F083834 8E080000 */ lw $t0, ($s0) -.L7F083838: -/* 0B8368 7F083838 8D180104 */ lw $t8, 0x104($t0) -.L7F08383C: -/* 0B836C 7F08383C 3C0E8003 */ lui $t6, %hi(in_tank_flag) -/* 0B8370 7F083840 8FAA01A0 */ lw $t2, 0x1a0($sp) -/* 0B8374 7F083844 1300004A */ beqz $t8, .L7F083970 -/* 0B8378 7F083848 00000000 */ nop -/* 0B837C 7F08384C 8DCE6448 */ lw $t6, %lo(in_tank_flag)($t6) -/* 0B8380 7F083850 55C000BB */ bnezl $t6, .L7F083B40 -/* 0B8384 7F083854 8FAE01A4 */ lw $t6, 0x1a4($sp) -/* 0B8388 7F083858 C5020160 */ lwc1 $f2, 0x160($t0) -/* 0B838C 7F08385C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B8390 7F083860 44813000 */ mtc1 $at, $f6 -/* 0B8394 7F083864 46021282 */ mul.s $f10, $f2, $f2 -/* 0B8398 7F083868 3C018005 */ lui $at, %hi(D_80055148) -/* 0B839C 7F08386C C4325148 */ lwc1 $f18, %lo(D_80055148)($at) -/* 0B83A0 7F083870 C5000158 */ lwc1 $f0, 0x158($t0) -/* 0B83A4 7F083874 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B83A8 7F083878 46065202 */ mul.s $f8, $f10, $f6 -/* 0B83AC 7F08387C 46124303 */ div.s $f12, $f8, $f18 -/* 0B83B0 7F083880 460C7100 */ add.s $f4, $f14, $f12 -/* 0B83B4 7F083884 4600203C */ c.lt.s $f4, $f0 -/* 0B83B8 7F083888 00000000 */ nop -/* 0B83BC 7F08388C 45020007 */ bc1fl .L7F0838AC -/* 0B83C0 7F083890 460C7281 */ sub.s $f10, $f14, $f12 -/* 0B83C4 7F083894 44816000 */ mtc1 $at, $f12 -/* 0B83C8 7F083898 0FC20004 */ jal sub_GAME_7F080010 -/* 0B83CC 7F08389C E7AE00C4 */ swc1 $f14, 0xc4($sp) -/* 0B83D0 7F0838A0 10000010 */ b .L7F0838E4 -/* 0B83D4 7F0838A4 C7AE00C4 */ lwc1 $f14, 0xc4($sp) -/* 0B83D8 7F0838A8 460C7281 */ sub.s $f10, $f14, $f12 -.L7F0838AC: -/* 0B83DC 7F0838AC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B83E0 7F0838B0 460A003C */ c.lt.s $f0, $f10 -/* 0B83E4 7F0838B4 00000000 */ nop -/* 0B83E8 7F0838B8 45020007 */ bc1fl .L7F0838D8 -/* 0B83EC 7F0838BC 4600A306 */ mov.s $f12, $f20 -/* 0B83F0 7F0838C0 44816000 */ mtc1 $at, $f12 -/* 0B83F4 7F0838C4 0FC20004 */ jal sub_GAME_7F080010 -/* 0B83F8 7F0838C8 E7AE00C4 */ swc1 $f14, 0xc4($sp) -/* 0B83FC 7F0838CC 10000005 */ b .L7F0838E4 -/* 0B8400 7F0838D0 C7AE00C4 */ lwc1 $f14, 0xc4($sp) -/* 0B8404 7F0838D4 4600A306 */ mov.s $f12, $f20 -.L7F0838D8: -/* 0B8408 7F0838D8 0FC20004 */ jal sub_GAME_7F080010 -/* 0B840C 7F0838DC E7AE00C4 */ swc1 $f14, 0xc4($sp) -/* 0B8410 7F0838E0 C7AE00C4 */ lwc1 $f14, 0xc4($sp) -.L7F0838E4: -/* 0B8414 7F0838E4 8E080000 */ lw $t0, ($s0) -/* 0B8418 7F0838E8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B841C 7F0838EC C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0B8420 7F0838F0 C5060160 */ lwc1 $f6, 0x160($t0) -/* 0B8424 7F0838F4 C5000158 */ lwc1 $f0, 0x158($t0) -/* 0B8428 7F0838F8 46083082 */ mul.s $f2, $f6, $f8 -/* 0B842C 7F0838FC 4600703C */ c.lt.s $f14, $f0 -/* 0B8430 7F083900 46021480 */ add.s $f18, $f2, $f2 -/* 0B8434 7F083904 45000007 */ bc1f .L7F083924 -/* 0B8438 7F083908 46120300 */ add.s $f12, $f0, $f18 -/* 0B843C 7F08390C 460C703C */ c.lt.s $f14, $f12 -/* 0B8440 7F083910 00000000 */ nop -/* 0B8444 7F083914 45020004 */ bc1fl .L7F083928 -/* 0B8448 7F083918 460E003C */ c.lt.s $f0, $f14 -/* 0B844C 7F08391C 10000087 */ b .L7F083B3C -/* 0B8450 7F083920 E50C0158 */ swc1 $f12, 0x158($t0) -.L7F083924: -/* 0B8454 7F083924 460E003C */ c.lt.s $f0, $f14 -.L7F083928: -/* 0B8458 7F083928 00000000 */ nop -/* 0B845C 7F08392C 45020008 */ bc1fl .L7F083950 -/* 0B8460 7F083930 E50E0158 */ swc1 $f14, 0x158($t0) -/* 0B8464 7F083934 460E603C */ c.lt.s $f12, $f14 -/* 0B8468 7F083938 00000000 */ nop -/* 0B846C 7F08393C 45020004 */ bc1fl .L7F083950 -/* 0B8470 7F083940 E50E0158 */ swc1 $f14, 0x158($t0) -/* 0B8474 7F083944 1000007D */ b .L7F083B3C -/* 0B8478 7F083948 E50C0158 */ swc1 $f12, 0x158($t0) -/* 0B847C 7F08394C E50E0158 */ swc1 $f14, 0x158($t0) -.L7F083950: -/* 0B8480 7F083950 8E0F0000 */ lw $t7, ($s0) -/* 0B8484 7F083954 E5F40160 */ swc1 $f20, 0x160($t7) -/* 0B8488 7F083958 8E080000 */ lw $t0, ($s0) -/* 0B848C 7F08395C 8D19010C */ lw $t9, 0x10c($t0) -/* 0B8490 7F083960 57200077 */ bnezl $t9, .L7F083B40 -/* 0B8494 7F083964 8FAE01A4 */ lw $t6, 0x1a4($sp) -/* 0B8498 7F083968 10000074 */ b .L7F083B3C -/* 0B849C 7F08396C AD000104 */ sw $zero, 0x104($t0) -.L7F083970: -/* 0B84A0 7F083970 1140002E */ beqz $t2, .L7F083A2C -/* 0B84A4 7F083974 C7B20184 */ lwc1 $f18, 0x184($sp) -/* 0B84A8 7F083978 0C001177 */ jal video_related_23 -/* 0B84AC 7F08397C 00000000 */ nop -/* 0B84B0 7F083980 8FAB0128 */ lw $t3, 0x128($sp) -/* 0B84B4 7F083984 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B84B8 7F083988 44812000 */ mtc1 $at, $f4 -/* 0B84BC 7F08398C 448B5000 */ mtc1 $t3, $f10 -/* 0B84C0 7F083990 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0B84C4 7F083994 44814000 */ mtc1 $at, $f8 -/* 0B84C8 7F083998 468051A0 */ cvt.s.w $f6, $f10 -/* 0B84CC 7F08399C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B84D0 7F0839A0 44819000 */ mtc1 $at, $f18 -/* 0B84D4 7F0839A4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B84D8 7F0839A8 46040383 */ div.s $f14, $f0, $f4 -/* 0B84DC 7F0839AC 46083303 */ div.s $f12, $f6, $f8 -/* 0B84E0 7F0839B0 460C903C */ c.lt.s $f18, $f12 -/* 0B84E4 7F0839B4 46006086 */ mov.s $f2, $f12 -/* 0B84E8 7F0839B8 45020006 */ bc1fl .L7F0839D4 -/* 0B84EC 7F0839BC 44812000 */ mtc1 $at, $f4 -/* 0B84F0 7F0839C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B84F4 7F0839C4 44811000 */ mtc1 $at, $f2 -/* 0B84F8 7F0839C8 1000000A */ b .L7F0839F4 -/* 0B84FC 7F0839CC 4602A03E */ c.le.s $f20, $f2 -/* 0B8500 7F0839D0 44812000 */ mtc1 $at, $f4 -.L7F0839D4: -/* 0B8504 7F0839D4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B8508 7F0839D8 4604603C */ c.lt.s $f12, $f4 -/* 0B850C 7F0839DC 00000000 */ nop -/* 0B8510 7F0839E0 45020004 */ bc1fl .L7F0839F4 -/* 0B8514 7F0839E4 4602A03E */ c.le.s $f20, $f2 -/* 0B8518 7F0839E8 44811000 */ mtc1 $at, $f2 -/* 0B851C 7F0839EC 00000000 */ nop -/* 0B8520 7F0839F0 4602A03E */ c.le.s $f20, $f2 -.L7F0839F4: -/* 0B8524 7F0839F4 00000000 */ nop -/* 0B8528 7F0839F8 45020005 */ bc1fl .L7F083A10 -/* 0B852C 7F0839FC 46001287 */ neg.s $f10, $f2 -/* 0B8530 7F083A00 46021082 */ mul.s $f2, $f2, $f2 -/* 0B8534 7F083A04 10000005 */ b .L7F083A1C -/* 0B8538 7F083A08 46001187 */ neg.s $f6, $f2 -/* 0B853C 7F083A0C 46001287 */ neg.s $f10, $f2 -.L7F083A10: -/* 0B8540 7F083A10 460A1082 */ mul.s $f2, $f2, $f10 -/* 0B8544 7F083A14 00000000 */ nop -/* 0B8548 7F083A18 46001187 */ neg.s $f6, $f2 -.L7F083A1C: -/* 0B854C 7F083A1C 8E0D0000 */ lw $t5, ($s0) -/* 0B8550 7F083A20 460E3202 */ mul.s $f8, $f6, $f14 -/* 0B8554 7F083A24 10000027 */ b .L7F083AC4 -/* 0B8558 7F083A28 E5A80160 */ swc1 $f8, 0x160($t5) -.L7F083A2C: -/* 0B855C 7F083A2C 4612A03C */ c.lt.s $f20, $f18 -/* 0B8560 7F083A30 C7A40180 */ lwc1 $f4, 0x180($sp) -/* 0B8564 7F083A34 45020010 */ bc1fl .L7F083A78 -/* 0B8568 7F083A38 4604A03C */ c.lt.s $f20, $f4 -/* 0B856C 7F083A3C 0FC20004 */ jal sub_GAME_7F080010 -/* 0B8570 7F083A40 46009306 */ mov.s $f12, $f18 -/* 0B8574 7F083A44 8FAC01AC */ lw $t4, 0x1ac($sp) -/* 0B8578 7F083A48 8FB80120 */ lw $t8, 0x120($sp) -/* 0B857C 7F083A4C 1180001D */ beqz $t4, .L7F083AC4 -/* 0B8580 7F083A50 2B01003D */ slti $at, $t8, 0x3d -/* 0B8584 7F083A54 10200003 */ beqz $at, .L7F083A64 -/* 0B8588 7F083A58 2B01003C */ slti $at, $t8, 0x3c -/* 0B858C 7F083A5C 5020001A */ beql $at, $zero, .L7F083AC8 -/* 0B8590 7F083A60 8E080000 */ lw $t0, ($s0) -.L7F083A64: -/* 0B8594 7F083A64 8E0F0000 */ lw $t7, ($s0) -/* 0B8598 7F083A68 240E0001 */ li $t6, 1 -/* 0B859C 7F083A6C 10000015 */ b .L7F083AC4 -/* 0B85A0 7F083A70 ADEE0110 */ sw $t6, 0x110($t7) -/* 0B85A4 7F083A74 4604A03C */ c.lt.s $f20, $f4 -.L7F083A78: -/* 0B85A8 7F083A78 00000000 */ nop -/* 0B85AC 7F083A7C 4500000F */ bc1f .L7F083ABC -/* 0B85B0 7F083A80 00000000 */ nop -/* 0B85B4 7F083A84 0FC20004 */ jal sub_GAME_7F080010 -/* 0B85B8 7F083A88 46002307 */ neg.s $f12, $f4 -/* 0B85BC 7F083A8C 8FB901AC */ lw $t9, 0x1ac($sp) -/* 0B85C0 7F083A90 8FAA0120 */ lw $t2, 0x120($sp) -/* 0B85C4 7F083A94 1320000B */ beqz $t9, .L7F083AC4 -/* 0B85C8 7F083A98 2941003D */ slti $at, $t2, 0x3d -/* 0B85CC 7F083A9C 10200003 */ beqz $at, .L7F083AAC -/* 0B85D0 7F083AA0 2941003C */ slti $at, $t2, 0x3c -/* 0B85D4 7F083AA4 50200008 */ beql $at, $zero, .L7F083AC8 -/* 0B85D8 7F083AA8 8E080000 */ lw $t0, ($s0) -.L7F083AAC: -/* 0B85DC 7F083AAC 8E0D0000 */ lw $t5, ($s0) -/* 0B85E0 7F083AB0 240B0001 */ li $t3, 1 -/* 0B85E4 7F083AB4 10000003 */ b .L7F083AC4 -/* 0B85E8 7F083AB8 ADAB0110 */ sw $t3, 0x110($t5) -.L7F083ABC: -/* 0B85EC 7F083ABC 0FC20004 */ jal sub_GAME_7F080010 -/* 0B85F0 7F083AC0 4600A306 */ mov.s $f12, $f20 -.L7F083AC4: -/* 0B85F4 7F083AC4 8E080000 */ lw $t0, ($s0) -.L7F083AC8: -/* 0B85F8 7F083AC8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B85FC 7F083ACC C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B8600 7F083AD0 C50A0160 */ lwc1 $f10, 0x160($t0) -/* 0B8604 7F083AD4 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0B8608 7F083AD8 44819000 */ mtc1 $at, $f18 -/* 0B860C 7F083ADC 46065202 */ mul.s $f8, $f10, $f6 -/* 0B8610 7F083AE0 C50A0158 */ lwc1 $f10, 0x158($t0) -/* 0B8614 7F083AE4 3C0C8003 */ lui $t4, %hi(in_tank_flag) -/* 0B8618 7F083AE8 24010001 */ li $at, 1 -/* 0B861C 7F083AEC 3C188008 */ lui $t8, %hi(dword_CODE_bss_800799B8) -/* 0B8620 7F083AF0 46124102 */ mul.s $f4, $f8, $f18 -/* 0B8624 7F083AF4 46045180 */ add.s $f6, $f10, $f4 -/* 0B8628 7F083AF8 E5060158 */ swc1 $f6, 0x158($t0) -/* 0B862C 7F083AFC 8D8C6448 */ lw $t4, %lo(in_tank_flag)($t4) -/* 0B8630 7F083B00 5581000F */ bnel $t4, $at, .L7F083B40 -/* 0B8634 7F083B04 8FAE01A4 */ lw $t6, 0x1a4($sp) -/* 0B8638 7F083B08 8F1899B8 */ lw $t8, %lo(dword_CODE_bss_800799B8)($t8) -/* 0B863C 7F083B0C 24010002 */ li $at, 2 -/* 0B8640 7F083B10 5701000B */ bnel $t8, $at, .L7F083B40 -/* 0B8644 7F083B14 8FAE01A4 */ lw $t6, 0x1a4($sp) -/* 0B8648 7F083B18 8E080000 */ lw $t0, ($s0) -/* 0B864C 7F083B1C 3C01C1A0 */ li $at, 0xC1A00000 # -20.000000 -/* 0B8650 7F083B20 44810000 */ mtc1 $at, $f0 -/* 0B8654 7F083B24 C5080158 */ lwc1 $f8, 0x158($t0) -/* 0B8658 7F083B28 4600403C */ c.lt.s $f8, $f0 -/* 0B865C 7F083B2C 00000000 */ nop -/* 0B8660 7F083B30 45020003 */ bc1fl .L7F083B40 -/* 0B8664 7F083B34 8FAE01A4 */ lw $t6, 0x1a4($sp) -/* 0B8668 7F083B38 E5000158 */ swc1 $f0, 0x158($t0) -.L7F083B3C: -/* 0B866C 7F083B3C 8FAE01A4 */ lw $t6, 0x1a4($sp) -.L7F083B40: -/* 0B8670 7F083B40 C7A6017C */ lwc1 $f6, 0x17c($sp) -/* 0B8674 7F083B44 51C0002A */ beql $t6, $zero, .L7F083BF0 -/* 0B8678 7F083B48 4606A03C */ c.lt.s $f20, $f6 -/* 0B867C 7F083B4C 0C001177 */ jal video_related_23 -/* 0B8680 7F083B50 00000000 */ nop -/* 0B8684 7F083B54 8FAF012C */ lw $t7, 0x12c($sp) -/* 0B8688 7F083B58 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B868C 7F083B5C 44817000 */ mtc1 $at, $f14 -/* 0B8690 7F083B60 448F9000 */ mtc1 $t7, $f18 -/* 0B8694 7F083B64 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 0B8698 7F083B68 44812000 */ mtc1 $at, $f4 -/* 0B869C 7F083B6C 468092A0 */ cvt.s.w $f10, $f18 -/* 0B86A0 7F083B70 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B86A4 7F083B74 46045303 */ div.s $f12, $f10, $f4 -/* 0B86A8 7F083B78 460C703C */ c.lt.s $f14, $f12 -/* 0B86AC 7F083B7C 46006086 */ mov.s $f2, $f12 -/* 0B86B0 7F083B80 45020004 */ bc1fl .L7F083B94 -/* 0B86B4 7F083B84 44813000 */ mtc1 $at, $f6 -/* 0B86B8 7F083B88 10000009 */ b .L7F083BB0 -/* 0B86BC 7F083B8C 46007086 */ mov.s $f2, $f14 -/* 0B86C0 7F083B90 44813000 */ mtc1 $at, $f6 -.L7F083B94: -/* 0B86C4 7F083B94 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B86C8 7F083B98 4606603C */ c.lt.s $f12, $f6 -/* 0B86CC 7F083B9C 00000000 */ nop -/* 0B86D0 7F083BA0 45020004 */ bc1fl .L7F083BB4 -/* 0B86D4 7F083BA4 4602A03E */ c.le.s $f20, $f2 -/* 0B86D8 7F083BA8 44811000 */ mtc1 $at, $f2 -/* 0B86DC 7F083BAC 00000000 */ nop -.L7F083BB0: -/* 0B86E0 7F083BB0 4602A03E */ c.le.s $f20, $f2 -.L7F083BB4: -/* 0B86E4 7F083BB4 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0B86E8 7F083BB8 44819000 */ mtc1 $at, $f18 -/* 0B86EC 7F083BBC 45000004 */ bc1f .L7F083BD0 -/* 0B86F0 7F083BC0 46120283 */ div.s $f10, $f0, $f18 -/* 0B86F4 7F083BC4 46021082 */ mul.s $f2, $f2, $f2 -/* 0B86F8 7F083BC8 10000004 */ b .L7F083BDC -/* 0B86FC 7F083BCC 00000000 */ nop -.L7F083BD0: -/* 0B8700 7F083BD0 46001207 */ neg.s $f8, $f2 -/* 0B8704 7F083BD4 46081082 */ mul.s $f2, $f2, $f8 -/* 0B8708 7F083BD8 00000000 */ nop -.L7F083BDC: -/* 0B870C 7F083BDC 460A1102 */ mul.s $f4, $f2, $f10 -/* 0B8710 7F083BE0 8E190000 */ lw $t9, ($s0) -/* 0B8714 7F083BE4 1000001A */ b .L7F083C50 -/* 0B8718 7F083BE8 E724014C */ swc1 $f4, 0x14c($t9) -/* 0B871C 7F083BEC 4606A03C */ c.lt.s $f20, $f6 -.L7F083BF0: -/* 0B8720 7F083BF0 C7A80178 */ lwc1 $f8, 0x178($sp) -/* 0B8724 7F083BF4 45020008 */ bc1fl .L7F083C18 -/* 0B8728 7F083BF8 4608A03C */ c.lt.s $f20, $f8 -/* 0B872C 7F083BFC 0FC200B1 */ jal sub_GAME_7F0802C4 -/* 0B8730 7F083C00 46003306 */ mov.s $f12, $f6 -/* 0B8734 7F083C04 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B8738 7F083C08 44817000 */ mtc1 $at, $f14 -/* 0B873C 7F083C0C 10000010 */ b .L7F083C50 -/* 0B8740 7F083C10 00000000 */ nop -/* 0B8744 7F083C14 4608A03C */ c.lt.s $f20, $f8 -.L7F083C18: -/* 0B8748 7F083C18 00000000 */ nop -/* 0B874C 7F083C1C 45000007 */ bc1f .L7F083C3C -/* 0B8750 7F083C20 00000000 */ nop -/* 0B8754 7F083C24 0FC200B1 */ jal sub_GAME_7F0802C4 -/* 0B8758 7F083C28 46004307 */ neg.s $f12, $f8 -/* 0B875C 7F083C2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B8760 7F083C30 44817000 */ mtc1 $at, $f14 -/* 0B8764 7F083C34 10000006 */ b .L7F083C50 -/* 0B8768 7F083C38 00000000 */ nop -.L7F083C3C: -/* 0B876C 7F083C3C 0FC200B1 */ jal sub_GAME_7F0802C4 -/* 0B8770 7F083C40 4600A306 */ mov.s $f12, $f20 -/* 0B8774 7F083C44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B8778 7F083C48 44817000 */ mtc1 $at, $f14 -/* 0B877C 7F083C4C 00000000 */ nop -.L7F083C50: -/* 0B8780 7F083C50 3C0A8003 */ lui $t2, %hi(in_tank_flag) -/* 0B8784 7F083C54 8D4A6448 */ lw $t2, %lo(in_tank_flag)($t2) -/* 0B8788 7F083C58 24010001 */ li $at, 1 -/* 0B878C 7F083C5C 3C0B8008 */ lui $t3, %hi(dword_CODE_bss_800799B8) -/* 0B8790 7F083C60 5541004B */ bnel $t2, $at, .L7F083D90 -/* 0B8794 7F083C64 8FAE014C */ lw $t6, 0x14c($sp) -/* 0B8798 7F083C68 8D6B99B8 */ lw $t3, %lo(dword_CODE_bss_800799B8)($t3) -/* 0B879C 7F083C6C 24010002 */ li $at, 2 -/* 0B87A0 7F083C70 8FAD01A4 */ lw $t5, 0x1a4($sp) -/* 0B87A4 7F083C74 55610044 */ bnel $t3, $at, .L7F083D88 -/* 0B87A8 7F083C78 8E180000 */ lw $t8, ($s0) -/* 0B87AC 7F083C7C 11A00008 */ beqz $t5, .L7F083CA0 -/* 0B87B0 7F083C80 4600A086 */ mov.s $f2, $f20 -/* 0B87B4 7F083C84 8E0C0000 */ lw $t4, ($s0) -/* 0B87B8 7F083C88 3C018005 */ lui $at, %hi(D_8005514C) -/* 0B87BC 7F083C8C C42A514C */ lwc1 $f10, %lo(D_8005514C)($at) -/* 0B87C0 7F083C90 C592014C */ lwc1 $f18, 0x14c($t4) -/* 0B87C4 7F083C94 460A9082 */ mul.s $f2, $f18, $f10 -/* 0B87C8 7F083C98 10000019 */ b .L7F083D00 -/* 0B87CC 7F083C9C 00000000 */ nop -.L7F083CA0: -/* 0B87D0 7F083CA0 C7A4017C */ lwc1 $f4, 0x17c($sp) -/* 0B87D4 7F083CA4 C7A80178 */ lwc1 $f8, 0x178($sp) -/* 0B87D8 7F083CA8 4604A03C */ c.lt.s $f20, $f4 -/* 0B87DC 7F083CAC 00000000 */ nop -/* 0B87E0 7F083CB0 45020009 */ bc1fl .L7F083CD8 -/* 0B87E4 7F083CB4 4608A03C */ c.lt.s $f20, $f8 -/* 0B87E8 7F083CB8 0FC2008A */ jal sub_GAME_7F080228 -/* 0B87EC 7F083CBC 46007306 */ mov.s $f12, $f14 -/* 0B87F0 7F083CC0 3C018005 */ lui $at, %hi(D_80055150) -/* 0B87F4 7F083CC4 C4265150 */ lwc1 $f6, %lo(D_80055150)($at) -/* 0B87F8 7F083CC8 46060082 */ mul.s $f2, $f0, $f6 -/* 0B87FC 7F083CCC 1000000C */ b .L7F083D00 -/* 0B8800 7F083CD0 00000000 */ nop -/* 0B8804 7F083CD4 4608A03C */ c.lt.s $f20, $f8 -.L7F083CD8: -/* 0B8808 7F083CD8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B880C 7F083CDC 45000008 */ bc1f .L7F083D00 -/* 0B8810 7F083CE0 00000000 */ nop -/* 0B8814 7F083CE4 44816000 */ mtc1 $at, $f12 -/* 0B8818 7F083CE8 0FC2008A */ jal sub_GAME_7F080228 -/* 0B881C 7F083CEC 00000000 */ nop -/* 0B8820 7F083CF0 3C018005 */ lui $at, %hi(D_80055154) -/* 0B8824 7F083CF4 C4325154 */ lwc1 $f18, %lo(D_80055154)($at) -/* 0B8828 7F083CF8 46120082 */ mul.s $f2, $f0, $f18 -/* 0B882C 7F083CFC 00000000 */ nop -.L7F083D00: -/* 0B8830 7F083D00 3C038005 */ lui $v1, %hi(clock_timer) -/* 0B8834 7F083D04 8C638374 */ lw $v1, %lo(clock_timer)($v1) -/* 0B8838 7F083D08 00001025 */ move $v0, $zero -/* 0B883C 7F083D0C 8E080000 */ lw $t0, ($s0) -/* 0B8840 7F083D10 18600014 */ blez $v1, .L7F083D64 -/* 0B8844 7F083D14 3C018005 */ lui $at, %hi(D_80055158) -/* 0B8848 7F083D18 3C048003 */ lui $a0, %hi(D_80036460) -/* 0B884C 7F083D1C 24846460 */ addiu $a0, %lo(D_80036460) # addiu $a0, $a0, 0x6460 -/* 0B8850 7F083D20 C4205158 */ lwc1 $f0, %lo(D_80055158)($at) -/* 0B8854 7F083D24 C4920000 */ lwc1 $f18, ($a0) -/* 0B8858 7F083D28 24420001 */ addiu $v0, $v0, 1 -/* 0B885C 7F083D2C 0043082A */ slt $at, $v0, $v1 -/* 0B8860 7F083D30 46120502 */ mul.s $f20, $f0, $f18 -/* 0B8864 7F083D34 5020000A */ beql $at, $zero, .L7F083D60 -/* 0B8868 7F083D38 4602A480 */ add.s $f18, $f20, $f2 -/* 0B886C 7F083D3C 4602A480 */ add.s $f18, $f20, $f2 -.L7F083D40: -/* 0B8870 7F083D40 24420001 */ addiu $v0, $v0, 1 -/* 0B8874 7F083D44 0043082A */ slt $at, $v0, $v1 -/* 0B8878 7F083D48 E4920000 */ swc1 $f18, ($a0) -/* 0B887C 7F083D4C C4920000 */ lwc1 $f18, ($a0) -/* 0B8880 7F083D50 46120502 */ mul.s $f20, $f0, $f18 -/* 0B8884 7F083D54 5420FFFA */ bnezl $at, .L7F083D40 -/* 0B8888 7F083D58 4602A480 */ add.s $f18, $f20, $f2 -/* 0B888C 7F083D5C 4602A480 */ add.s $f18, $f20, $f2 -.L7F083D60: -/* 0B8890 7F083D60 E4920000 */ swc1 $f18, ($a0) -.L7F083D64: -/* 0B8894 7F083D64 3C048003 */ lui $a0, %hi(D_80036460) -/* 0B8898 7F083D68 24846460 */ addiu $a0, %lo(D_80036460) # addiu $a0, $a0, 0x6460 -/* 0B889C 7F083D6C 3C018005 */ lui $at, %hi(D_8005515C) -/* 0B88A0 7F083D70 C432515C */ lwc1 $f18, %lo(D_8005515C)($at) -/* 0B88A4 7F083D74 C4880000 */ lwc1 $f8, ($a0) -/* 0B88A8 7F083D78 46124282 */ mul.s $f10, $f8, $f18 -/* 0B88AC 7F083D7C 10000003 */ b .L7F083D8C -/* 0B88B0 7F083D80 E50A014C */ swc1 $f10, 0x14c($t0) -/* 0B88B4 7F083D84 8E180000 */ lw $t8, ($s0) -.L7F083D88: -/* 0B88B8 7F083D88 E714014C */ swc1 $f20, 0x14c($t8) -.L7F083D8C: -/* 0B88BC 7F083D8C 8FAE014C */ lw $t6, 0x14c($sp) -.L7F083D90: -/* 0B88C0 7F083D90 51C00007 */ beql $t6, $zero, .L7F083DB0 -/* 0B88C4 7F083D94 240A0001 */ li $t2, 1 -/* 0B88C8 7F083D98 8E0F0000 */ lw $t7, ($s0) -/* 0B88CC 7F083D9C ADE00894 */ sw $zero, 0x894($t7) -/* 0B88D0 7F083DA0 8E190000 */ lw $t9, ($s0) -/* 0B88D4 7F083DA4 0FC14686 */ jal trigger_remote_mine_detonation -/* 0B88D8 7F083DA8 AF200898 */ sw $zero, 0x898($t9) -/* 0B88DC 7F083DAC 240A0001 */ li $t2, 1 -.L7F083DB0: -/* 0B88E0 7F083DB0 0FC26919 */ jal get_num_players -/* 0B88E4 7F083DB4 AFAA0074 */ sw $t2, 0x74($sp) -/* 0B88E8 7F083DB8 28410002 */ slti $at, $v0, 2 -/* 0B88EC 7F083DBC 5420000C */ bnezl $at, .L7F083DF0 -/* 0B88F0 7F083DC0 8FAB0074 */ lw $t3, 0x74($sp) -/* 0B88F4 7F083DC4 0FC051D6 */ jal get_scenario -/* 0B88F8 7F083DC8 00000000 */ nop -/* 0B88FC 7F083DCC 24010002 */ li $at, 2 -/* 0B8900 7F083DD0 54410007 */ bnel $v0, $at, .L7F083DF0 -/* 0B8904 7F083DD4 8FAB0074 */ lw $t3, 0x74($sp) -/* 0B8908 7F083DD8 0FC233E0 */ jal sub_GAME_7F08CF80 -/* 0B890C 7F083DDC 00000000 */ nop -/* 0B8910 7F083DE0 50400003 */ beql $v0, $zero, .L7F083DF0 -/* 0B8914 7F083DE4 8FAB0074 */ lw $t3, 0x74($sp) -/* 0B8918 7F083DE8 AFA00074 */ sw $zero, 0x74($sp) -/* 0B891C 7F083DEC 8FAB0074 */ lw $t3, 0x74($sp) -.L7F083DF0: -/* 0B8920 7F083DF0 5160000C */ beql $t3, $zero, .L7F083E24 -/* 0B8924 7F083DF4 8FB801BC */ lw $t8, 0x1bc($sp) -/* 0B8928 7F083DF8 8FAD0174 */ lw $t5, 0x174($sp) -/* 0B892C 7F083DFC 51A00004 */ beql $t5, $zero, .L7F083E10 -/* 0B8930 7F083E00 8FAC0170 */ lw $t4, 0x170($sp) -/* 0B8934 7F083E04 0FC175DA */ jal backstep_through_inventory -/* 0B8938 7F083E08 00000000 */ nop -/* 0B893C 7F083E0C 8FAC0170 */ lw $t4, 0x170($sp) -.L7F083E10: -/* 0B8940 7F083E10 51800004 */ beql $t4, $zero, .L7F083E24 -/* 0B8944 7F083E14 8FB801BC */ lw $t8, 0x1bc($sp) -/* 0B8948 7F083E18 0FC175B4 */ jal advance_through_inventory -/* 0B894C 7F083E1C 00000000 */ nop -/* 0B8950 7F083E20 8FB801BC */ lw $t8, 0x1bc($sp) -.L7F083E24: -/* 0B8954 7F083E24 53000005 */ beql $t8, $zero, .L7F083E3C -/* 0B8958 7F083E28 8FAF01B8 */ lw $t7, 0x1b8($sp) -/* 0B895C 7F083E2C 8E0E0000 */ lw $t6, ($s0) -/* 0B8960 7F083E30 10000007 */ b .L7F083E50 -/* 0B8964 7F083E34 ADC00430 */ sw $zero, 0x430($t6) -/* 0B8968 7F083E38 8FAF01B8 */ lw $t7, 0x1b8($sp) -.L7F083E3C: -/* 0B896C 7F083E3C 51E00005 */ beql $t7, $zero, .L7F083E54 -/* 0B8970 7F083E40 8E0B0000 */ lw $t3, ($s0) -/* 0B8974 7F083E44 8E0A0000 */ lw $t2, ($s0) -/* 0B8978 7F083E48 24190002 */ li $t9, 2 -/* 0B897C 7F083E4C AD590430 */ sw $t9, 0x430($t2) -.L7F083E50: -/* 0B8980 7F083E50 8E0B0000 */ lw $t3, ($s0) -.L7F083E54: -/* 0B8984 7F083E54 8D620430 */ lw $v0, 0x430($t3) -/* 0B8988 7F083E58 54400042 */ bnezl $v0, .L7F083F64 -/* 0B898C 7F083E5C 24010002 */ li $at, 2 -/* 0B8990 7F083E60 0FC19EA9 */ jal sub_GAME_7F067AA4 -/* 0B8994 7F083E64 00002025 */ move $a0, $zero -/* 0B8998 7F083E68 8FAD0148 */ lw $t5, 0x148($sp) -/* 0B899C 7F083E6C 51A00015 */ beql $t5, $zero, .L7F083EC4 -/* 0B89A0 7F083E70 8E0F0000 */ lw $t7, ($s0) -/* 0B89A4 7F083E74 0FC1F1AA */ jal redirect_get_BONDdata_autoaim_x -/* 0B89A8 7F083E78 00000000 */ nop -/* 0B89AC 7F083E7C 50400011 */ beql $v0, $zero, .L7F083EC4 -/* 0B89B0 7F083E80 8E0F0000 */ lw $t7, ($s0) -/* 0B89B4 7F083E84 8E0C0000 */ lw $t4, ($s0) -/* 0B89B8 7F083E88 8D980140 */ lw $t8, 0x140($t4) -/* 0B89BC 7F083E8C 5300000D */ beql $t8, $zero, .L7F083EC4 -/* 0B89C0 7F083E90 8E0F0000 */ lw $t7, ($s0) -/* 0B89C4 7F083E94 0FC17674 */ jal get_item_in_hand -/* 0B89C8 7F083E98 00002025 */ move $a0, $zero -/* 0B89CC 7F083E9C 00402025 */ move $a0, $v0 -/* 0B89D0 7F083EA0 0FC1782D */ jal check_special_attributes -/* 0B89D4 7F083EA4 24050008 */ li $a1, 8 -/* 0B89D8 7F083EA8 50400006 */ beql $v0, $zero, .L7F083EC4 -/* 0B89DC 7F083EAC 8E0F0000 */ lw $t7, ($s0) -/* 0B89E0 7F083EB0 8E0E0000 */ lw $t6, ($s0) -/* 0B89E4 7F083EB4 C5C4013C */ lwc1 $f4, 0x13c($t6) -/* 0B89E8 7F083EB8 10000007 */ b .L7F083ED8 -/* 0B89EC 7F083EBC E7A40070 */ swc1 $f4, 0x70($sp) -/* 0B89F0 7F083EC0 8E0F0000 */ lw $t7, ($s0) -.L7F083EC4: -/* 0B89F4 7F083EC4 3C018005 */ lui $at, %hi(D_80055160) -/* 0B89F8 7F083EC8 C4285160 */ lwc1 $f8, %lo(D_80055160)($at) -/* 0B89FC 7F083ECC C5E6014C */ lwc1 $f6, 0x14c($t7) -/* 0B8A00 7F083ED0 46083482 */ mul.s $f18, $f6, $f8 -/* 0B8A04 7F083ED4 E7B20070 */ swc1 $f18, 0x70($sp) -.L7F083ED8: -/* 0B8A08 7F083ED8 8FB90148 */ lw $t9, 0x148($sp) -/* 0B8A0C 7F083EDC 53200014 */ beql $t9, $zero, .L7F083F30 -/* 0B8A10 7F083EE0 8E0C0000 */ lw $t4, ($s0) -/* 0B8A14 7F083EE4 0FC1F170 */ jal redirect_get_BONDdata_autoaim_y -/* 0B8A18 7F083EE8 00000000 */ nop -/* 0B8A1C 7F083EEC 50400010 */ beql $v0, $zero, .L7F083F30 -/* 0B8A20 7F083EF0 8E0C0000 */ lw $t4, ($s0) -/* 0B8A24 7F083EF4 8E0A0000 */ lw $t2, ($s0) -/* 0B8A28 7F083EF8 8D4B0130 */ lw $t3, 0x130($t2) -/* 0B8A2C 7F083EFC 5160000C */ beql $t3, $zero, .L7F083F30 -/* 0B8A30 7F083F00 8E0C0000 */ lw $t4, ($s0) -/* 0B8A34 7F083F04 0FC17674 */ jal get_item_in_hand -/* 0B8A38 7F083F08 00002025 */ move $a0, $zero -/* 0B8A3C 7F083F0C 00402025 */ move $a0, $v0 -/* 0B8A40 7F083F10 0FC1782D */ jal check_special_attributes -/* 0B8A44 7F083F14 24050008 */ li $a1, 8 -/* 0B8A48 7F083F18 50400005 */ beql $v0, $zero, .L7F083F30 -/* 0B8A4C 7F083F1C 8E0C0000 */ lw $t4, ($s0) -/* 0B8A50 7F083F20 8E0D0000 */ lw $t5, ($s0) -/* 0B8A54 7F083F24 10000008 */ b .L7F083F48 -/* 0B8A58 7F083F28 C5AE012C */ lwc1 $f14, 0x12c($t5) -/* 0B8A5C 7F083F2C 8E0C0000 */ lw $t4, ($s0) -.L7F083F30: -/* 0B8A60 7F083F30 3C018005 */ lui $at, %hi(D_80055164) -/* 0B8A64 7F083F34 C4265164 */ lwc1 $f6, %lo(D_80055164)($at) -/* 0B8A68 7F083F38 C58A0160 */ lwc1 $f10, 0x160($t4) -/* 0B8A6C 7F083F3C 46005107 */ neg.s $f4, $f10 -/* 0B8A70 7F083F40 46062382 */ mul.s $f14, $f4, $f6 -/* 0B8A74 7F083F44 00000000 */ nop -.L7F083F48: -/* 0B8A78 7F083F48 3C063F5C */ lui $a2, (0x3F5C28F6 >> 16) # lui $a2, 0x3f5c -/* 0B8A7C 7F083F4C 34C628F6 */ ori $a2, (0x3F5C28F6 & 0xFFFF) # ori $a2, $a2, 0x28f6 -/* 0B8A80 7F083F50 0FC19FD6 */ jal sub_GAME_7F067F58 -/* 0B8A84 7F083F54 C7AC0070 */ lwc1 $f12, 0x70($sp) -/* 0B8A88 7F083F58 10000017 */ b .L7F083FB8 -/* 0B8A8C 7F083F5C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B8A90 7F083F60 24010002 */ li $at, 2 -.L7F083F64: -/* 0B8A94 7F083F64 54410014 */ bnel $v0, $at, .L7F083FB8 -/* 0B8A98 7F083F68 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B8A9C 7F083F6C 0FC19EA9 */ jal sub_GAME_7F067AA4 -/* 0B8AA0 7F083F70 00002025 */ move $a0, $zero -/* 0B8AA4 7F083F74 8FB80134 */ lw $t8, 0x134($sp) -/* 0B8AA8 7F083F78 8FAE0130 */ lw $t6, 0x130($sp) -/* 0B8AAC 7F083F7C 3C018005 */ lui $at, %hi(D_80055168) -/* 0B8AB0 7F083F80 44984000 */ mtc1 $t8, $f8 -/* 0B8AB4 7F083F84 448E2000 */ mtc1 $t6, $f4 -/* 0B8AB8 7F083F88 C4205168 */ lwc1 $f0, %lo(D_80055168)($at) -/* 0B8ABC 7F083F8C 468044A0 */ cvt.s.w $f18, $f8 -/* 0B8AC0 7F083F90 3C0142A0 */ li $at, 0x42A00000 # 80.000000 -/* 0B8AC4 7F083F94 44811000 */ mtc1 $at, $f2 -/* 0B8AC8 7F083F98 468021A0 */ cvt.s.w $f6, $f4 -/* 0B8ACC 7F083F9C 46009282 */ mul.s $f10, $f18, $f0 -/* 0B8AD0 7F083FA0 00000000 */ nop -/* 0B8AD4 7F083FA4 46003202 */ mul.s $f8, $f6, $f0 -/* 0B8AD8 7F083FA8 46025303 */ div.s $f12, $f10, $f2 -/* 0B8ADC 7F083FAC 0FC19FEF */ jal sub_GAME_7F067FBC -/* 0B8AE0 7F083FB0 46024383 */ div.s $f14, $f8, $f2 -/* 0B8AE4 7F083FB4 8FBF003C */ lw $ra, 0x3c($sp) -.L7F083FB8: -/* 0B8AE8 7F083FB8 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 0B8AEC 7F083FBC 8FB00038 */ lw $s0, 0x38($sp) -/* 0B8AF0 7F083FC0 03E00008 */ jr $ra -/* 0B8AF4 7F083FC4 27BD01C0 */ addiu $sp, $sp, 0x1c0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F083FC8(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F083FC8 -/* 0B8AF8 7F083FC8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8AFC 7F083FCC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8B00 7F083FD0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B8B04 7F083FD4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B8B08 7F083FD8 8C4300F4 */ lw $v1, 0xf4($v0) -/* 0B8B0C 7F083FDC 04620089 */ bltzl $v1, .L7F084204 -/* 0B8B10 7F083FE0 8C4300F8 */ lw $v1, 0xf8($v0) -/* 0B8B14 7F083FE4 14600021 */ bnez $v1, .L7F08406C -/* 0B8B18 7F083FE8 24040008 */ li $a0, 8 -/* 0B8B1C 7F083FEC 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 0B8B20 7F083FF0 00002825 */ move $a1, $zero -/* 0B8B24 7F083FF4 24040010 */ li $a0, 16 -/* 0B8B28 7F083FF8 0FC1A96A */ jal set_unset_bitflags -/* 0B8B2C 7F083FFC 00002825 */ move $a1, $zero -/* 0B8B30 7F084000 0FC228E7 */ jal set_flags_in_BONDdata_stationary_intro_cam -/* 0B8B34 7F084004 24040004 */ li $a0, 4 -/* 0B8B38 7F084008 0FC22A51 */ jal sub_GAME_7F08A944 -/* 0B8B3C 7F08400C 24040004 */ li $a0, 4 -/* 0B8B40 7F084010 24040008 */ li $a0, 8 -/* 0B8B44 7F084014 0FC15858 */ jal set_unset_clock_lock_bits -/* 0B8B48 7F084018 00002825 */ move $a1, $zero -/* 0B8B4C 7F08401C 0FC228BB */ jal get_BONDdata_watch_health -/* 0B8B50 7F084020 00000000 */ nop -/* 0B8B54 7F084024 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0B8B58 7F084028 44812000 */ mtc1 $at, $f4 -/* 0B8B5C 7F08402C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0B8B60 7F084030 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0B8B64 7F084034 46040182 */ mul.s $f6, $f0, $f4 -/* 0B8B68 7F084038 8C780000 */ lw $t8, ($v1) -/* 0B8B6C 7F08403C 24090007 */ li $t1, 7 -/* 0B8B70 7F084040 4600320D */ trunc.w.s $f8, $f6 -/* 0B8B74 7F084044 440F4000 */ mfc1 $t7, $f8 -/* 0B8B78 7F084048 00000000 */ nop -/* 0B8B7C 7F08404C AF0F29D4 */ sw $t7, 0x29d4($t8) -/* 0B8B80 7F084050 8C620000 */ lw $v0, ($v1) -/* 0B8B84 7F084054 8C5929D4 */ lw $t9, 0x29d4($v0) -/* 0B8B88 7F084058 2B210008 */ slti $at, $t9, 8 -/* 0B8B8C 7F08405C 54200004 */ bnezl $at, .L7F084070 -/* 0B8B90 7F084060 8C4A29D4 */ lw $t2, 0x29d4($v0) -/* 0B8B94 7F084064 AC4929D4 */ sw $t1, 0x29d4($v0) -/* 0B8B98 7F084068 8C620000 */ lw $v0, ($v1) -.L7F08406C: -/* 0B8B9C 7F08406C 8C4A29D4 */ lw $t2, 0x29d4($v0) -.L7F084070: -/* 0B8BA0 7F084070 3C0C8003 */ lui $t4, %hi(D_80036634) -/* 0B8BA4 7F084074 258C6634 */ addiu $t4, %lo(D_80036634) # addiu $t4, $t4, 0x6634 -/* 0B8BA8 7F084078 000A5880 */ sll $t3, $t2, 2 -/* 0B8BAC 7F08407C 016A5823 */ subu $t3, $t3, $t2 -/* 0B8BB0 7F084080 000B5880 */ sll $t3, $t3, 2 -/* 0B8BB4 7F084084 016A5823 */ subu $t3, $t3, $t2 -/* 0B8BB8 7F084088 000B5880 */ sll $t3, $t3, 2 -/* 0B8BBC 7F08408C 016C4021 */ addu $t0, $t3, $t4 -/* 0B8BC0 7F084090 8D0D0008 */ lw $t5, 8($t0) -/* 0B8BC4 7F084094 8C4300F4 */ lw $v1, 0xf4($v0) -/* 0B8BC8 7F084098 01A3082A */ slt $at, $t5, $v1 -/* 0B8BCC 7F08409C 50200008 */ beql $at, $zero, .L7F0840C0 -/* 0B8BD0 7F0840A0 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0B8BD4 7F0840A4 8D0E0018 */ lw $t6, 0x18($t0) -/* 0B8BD8 7F0840A8 240400FF */ li $a0, 255 -/* 0B8BDC 7F0840AC 240500FF */ li $a1, 255 -/* 0B8BE0 7F0840B0 01C3082A */ slt $at, $t6, $v1 -/* 0B8BE4 7F0840B4 1420003A */ bnez $at, .L7F0841A0 -/* 0B8BE8 7F0840B8 240EFFFF */ li $t6, -1 -/* 0B8BEC 7F0840BC 8C4F00D8 */ lw $t7, 0xd8($v0) -.L7F0840C0: -/* 0B8BF0 7F0840C0 55E00029 */ bnezl $t7, .L7F084168 -/* 0B8BF4 7F0840C4 8C4901C8 */ lw $t1, 0x1c8($v0) -/* 0B8BF8 7F0840C8 8D040010 */ lw $a0, 0x10($t0) -/* 0B8BFC 7F0840CC 0064082A */ slt $at, $v1, $a0 -/* 0B8C00 7F0840D0 54200025 */ bnezl $at, .L7F084168 -/* 0B8C04 7F0840D4 8C4901C8 */ lw $t1, 0x1c8($v0) -/* 0B8C08 7F0840D8 8D060018 */ lw $a2, 0x18($t0) -/* 0B8C0C 7F0840DC 00C3082A */ slt $at, $a2, $v1 -/* 0B8C10 7F0840E0 54200021 */ bnezl $at, .L7F084168 -/* 0B8C14 7F0840E4 8C4901C8 */ lw $t1, 0x1c8($v0) -/* 0B8C18 7F0840E8 8D050014 */ lw $a1, 0x14($t0) -/* 0B8C1C 7F0840EC 00641023 */ subu $v0, $v1, $a0 -/* 0B8C20 7F0840F0 00C43823 */ subu $a3, $a2, $a0 -/* 0B8C24 7F0840F4 0045082A */ slt $at, $v0, $a1 -/* 0B8C28 7F0840F8 10200009 */ beqz $at, .L7F084120 -/* 0B8C2C 7F0840FC 00E2C023 */ subu $t8, $a3, $v0 -/* 0B8C30 7F084100 44828000 */ mtc1 $v0, $f16 -/* 0B8C34 7F084104 C50A001C */ lwc1 $f10, 0x1c($t0) -/* 0B8C38 7F084108 44853000 */ mtc1 $a1, $f6 -/* 0B8C3C 7F08410C 468084A0 */ cvt.s.w $f18, $f16 -/* 0B8C40 7F084110 46803220 */ cvt.s.w $f8, $f6 -/* 0B8C44 7F084114 46125102 */ mul.s $f4, $f10, $f18 -/* 0B8C48 7F084118 1000000A */ b .L7F084144 -/* 0B8C4C 7F08411C 46082003 */ div.s $f0, $f4, $f8 -.L7F084120: -/* 0B8C50 7F084120 44985000 */ mtc1 $t8, $f10 -/* 0B8C54 7F084124 C510001C */ lwc1 $f16, 0x1c($t0) -/* 0B8C58 7F084128 00E5C823 */ subu $t9, $a3, $a1 -/* 0B8C5C 7F08412C 468054A0 */ cvt.s.w $f18, $f10 -/* 0B8C60 7F084130 44992000 */ mtc1 $t9, $f4 -/* 0B8C64 7F084134 00000000 */ nop -/* 0B8C68 7F084138 46802220 */ cvt.s.w $f8, $f4 -/* 0B8C6C 7F08413C 46128182 */ mul.s $f6, $f16, $f18 -/* 0B8C70 7F084140 46083003 */ div.s $f0, $f6, $f8 -.L7F084144: -/* 0B8C74 7F084144 44070000 */ mfc1 $a3, $f0 -/* 0B8C78 7F084148 8D040020 */ lw $a0, 0x20($t0) -/* 0B8C7C 7F08414C 8D050024 */ lw $a1, 0x24($t0) -/* 0B8C80 7F084150 0FC201EC */ jal set_rgba_tint -/* 0B8C84 7F084154 8D060028 */ lw $a2, 0x28($t0) -/* 0B8C88 7F084158 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8C8C 7F08415C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8C90 7F084160 8C4300F4 */ lw $v1, 0xf4($v0) -/* 0B8C94 7F084164 8C4901C8 */ lw $t1, 0x1c8($v0) -.L7F084168: -/* 0B8C98 7F084168 3C0A8005 */ lui $t2, %hi(clock_timer) -/* 0B8C9C 7F08416C 3C0C8005 */ lui $t4, %hi(D_80048498) -/* 0B8CA0 7F084170 15200005 */ bnez $t1, .L7F084188 -/* 0B8CA4 7F084174 00000000 */ nop -/* 0B8CA8 7F084178 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) -/* 0B8CAC 7F08417C 006A5821 */ addu $t3, $v1, $t2 -/* 0B8CB0 7F084180 10000004 */ b .L7F084194 -/* 0B8CB4 7F084184 AC4B00F4 */ sw $t3, 0xf4($v0) -.L7F084188: -/* 0B8CB8 7F084188 8D8C8498 */ lw $t4, %lo(D_80048498)($t4) -/* 0B8CBC 7F08418C 006C6821 */ addu $t5, $v1, $t4 -/* 0B8CC0 7F084190 AC4D00F4 */ sw $t5, 0xf4($v0) -.L7F084194: -/* 0B8CC4 7F084194 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8CC8 7F084198 10000019 */ b .L7F084200 -/* 0B8CCC 7F08419C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -.L7F0841A0: -/* 0B8CD0 7F0841A0 AC4E00F4 */ sw $t6, 0xf4($v0) -/* 0B8CD4 7F0841A4 240600FF */ li $a2, 255 -/* 0B8CD8 7F0841A8 0FC201EC */ jal set_rgba_tint -/* 0B8CDC 7F0841AC 24070000 */ li $a3, 0 -/* 0B8CE0 7F0841B0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8CE4 7F0841B4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8CE8 7F0841B8 24040008 */ li $a0, 8 -/* 0B8CEC 7F0841BC 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0B8CF0 7F0841C0 55E00010 */ bnezl $t7, .L7F084204 -/* 0B8CF4 7F0841C4 8C4300F8 */ lw $v1, 0xf8($v0) -/* 0B8CF8 7F0841C8 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 0B8CFC 7F0841CC 24050001 */ li $a1, 1 -/* 0B8D00 7F0841D0 24040010 */ li $a0, 16 -/* 0B8D04 7F0841D4 0FC1A96A */ jal set_unset_bitflags -/* 0B8D08 7F0841D8 24050001 */ li $a1, 1 -/* 0B8D0C 7F0841DC 0FC228E0 */ jal unset_flags_in_BONDdata_stationary_intro_cam -/* 0B8D10 7F0841E0 24040004 */ li $a0, 4 -/* 0B8D14 7F0841E4 0FC22A4A */ jal sub_GAME_7F08A928 -/* 0B8D18 7F0841E8 24040004 */ li $a0, 4 -/* 0B8D1C 7F0841EC 24040008 */ li $a0, 8 -/* 0B8D20 7F0841F0 0FC15858 */ jal set_unset_clock_lock_bits -/* 0B8D24 7F0841F4 24050001 */ li $a1, 1 -/* 0B8D28 7F0841F8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8D2C 7F0841FC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -.L7F084200: -/* 0B8D30 7F084200 8C4300F8 */ lw $v1, 0xf8($v0) -.L7F084204: -/* 0B8D34 7F084204 04620053 */ bltzl $v1, .L7F084354 -/* 0B8D38 7F084208 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B8D3C 7F08420C 54600017 */ bnezl $v1, .L7F08426C -/* 0B8D40 7F084210 8C4C00D8 */ lw $t4, 0xd8($v0) -/* 0B8D44 7F084214 0FC228BB */ jal get_BONDdata_watch_health -/* 0B8D48 7F084218 00000000 */ nop -/* 0B8D4C 7F08421C 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0B8D50 7F084220 44815000 */ mtc1 $at, $f10 -/* 0B8D54 7F084224 3C098008 */ lui $t1, %hi(pPlayer) -/* 0B8D58 7F084228 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0B8D5C 7F08422C 460A0402 */ mul.s $f16, $f0, $f10 -/* 0B8D60 7F084230 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8D64 7F084234 240B0007 */ li $t3, 7 -/* 0B8D68 7F084238 4600848D */ trunc.w.s $f18, $f16 -/* 0B8D6C 7F08423C 44199000 */ mfc1 $t9, $f18 -/* 0B8D70 7F084240 00000000 */ nop -/* 0B8D74 7F084244 AD3929B8 */ sw $t9, 0x29b8($t1) -/* 0B8D78 7F084248 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8D7C 7F08424C 8C4A29B8 */ lw $t2, 0x29b8($v0) -/* 0B8D80 7F084250 29410008 */ slti $at, $t2, 8 -/* 0B8D84 7F084254 54200005 */ bnezl $at, .L7F08426C -/* 0B8D88 7F084258 8C4C00D8 */ lw $t4, 0xd8($v0) -/* 0B8D8C 7F08425C AC4B29B8 */ sw $t3, 0x29b8($v0) -/* 0B8D90 7F084260 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8D94 7F084264 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8D98 7F084268 8C4C00D8 */ lw $t4, 0xd8($v0) -.L7F08426C: -/* 0B8D9C 7F08426C 3C0F8003 */ lui $t7, %hi(D_80036794) -/* 0B8DA0 7F084270 2418FFFF */ li $t8, -1 -/* 0B8DA4 7F084274 55800036 */ bnezl $t4, .L7F084350 -/* 0B8DA8 7F084278 AC5800F8 */ sw $t8, 0xf8($v0) -/* 0B8DAC 7F08427C 8C4D29B8 */ lw $t5, 0x29b8($v0) -/* 0B8DB0 7F084280 25EF6794 */ addiu $t7, %lo(D_80036794) # addiu $t7, $t7, 0x6794 -/* 0B8DB4 7F084284 8C4300F8 */ lw $v1, 0xf8($v0) -/* 0B8DB8 7F084288 000D7080 */ sll $t6, $t5, 2 -/* 0B8DBC 7F08428C 01CD7023 */ subu $t6, $t6, $t5 -/* 0B8DC0 7F084290 000E7080 */ sll $t6, $t6, 2 -/* 0B8DC4 7F084294 01CF2021 */ addu $a0, $t6, $t7 -/* 0B8DC8 7F084298 8C850000 */ lw $a1, ($a0) -/* 0B8DCC 7F08429C 0065082A */ slt $at, $v1, $a1 -/* 0B8DD0 7F0842A0 54200014 */ bnezl $at, .L7F0842F4 -/* 0B8DD4 7F0842A4 0065082A */ slt $at, $v1, $a1 -/* 0B8DD8 7F0842A8 8C980004 */ lw $t8, 4($a0) -/* 0B8DDC 7F0842AC 0303082A */ slt $at, $t8, $v1 -/* 0B8DE0 7F0842B0 54200010 */ bnezl $at, .L7F0842F4 -/* 0B8DE4 7F0842B4 0065082A */ slt $at, $v1, $a1 -/* 0B8DE8 7F0842B8 C44400E4 */ lwc1 $f4, 0xe4($v0) -/* 0B8DEC 7F0842BC 3C098005 */ lui $t1, %hi(clock_timer) -/* 0B8DF0 7F0842C0 E44400EC */ swc1 $f4, 0xec($v0) -/* 0B8DF4 7F0842C4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8DF8 7F0842C8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8DFC 7F0842CC C44600E8 */ lwc1 $f6, 0xe8($v0) -/* 0B8E00 7F0842D0 E44600F0 */ swc1 $f6, 0xf0($v0) -/* 0B8E04 7F0842D4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8E08 7F0842D8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8E0C 7F0842DC 8D298374 */ lw $t1, %lo(clock_timer)($t1) -/* 0B8E10 7F0842E0 8C5900F8 */ lw $t9, 0xf8($v0) -/* 0B8E14 7F0842E4 03295021 */ addu $t2, $t9, $t1 -/* 0B8E18 7F0842E8 10000019 */ b .L7F084350 -/* 0B8E1C 7F0842EC AC4A00F8 */ sw $t2, 0xf8($v0) -/* 0B8E20 7F0842F0 0065082A */ slt $at, $v1, $a1 -.L7F0842F4: -/* 0B8E24 7F0842F4 14200013 */ bnez $at, .L7F084344 -/* 0B8E28 7F0842F8 240FFFFF */ li $t7, -1 -/* 0B8E2C 7F0842FC 8C8B0008 */ lw $t3, 8($a0) -/* 0B8E30 7F084300 0163082A */ slt $at, $t3, $v1 -/* 0B8E34 7F084304 1420000F */ bnez $at, .L7F084344 -/* 0B8E38 7F084308 00000000 */ nop -/* 0B8E3C 7F08430C C44800DC */ lwc1 $f8, 0xdc($v0) -/* 0B8E40 7F084310 3C0D8005 */ lui $t5, %hi(clock_timer) -/* 0B8E44 7F084314 E44800EC */ swc1 $f8, 0xec($v0) -/* 0B8E48 7F084318 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8E4C 7F08431C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8E50 7F084320 C44A00E0 */ lwc1 $f10, 0xe0($v0) -/* 0B8E54 7F084324 E44A00F0 */ swc1 $f10, 0xf0($v0) -/* 0B8E58 7F084328 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8E5C 7F08432C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8E60 7F084330 8DAD8374 */ lw $t5, %lo(clock_timer)($t5) -/* 0B8E64 7F084334 8C4C00F8 */ lw $t4, 0xf8($v0) -/* 0B8E68 7F084338 018D7021 */ addu $t6, $t4, $t5 -/* 0B8E6C 7F08433C 10000004 */ b .L7F084350 -/* 0B8E70 7F084340 AC4E00F8 */ sw $t6, 0xf8($v0) -.L7F084344: -/* 0B8E74 7F084344 10000002 */ b .L7F084350 -/* 0B8E78 7F084348 AC4F00F8 */ sw $t7, 0xf8($v0) -/* 0B8E7C 7F08434C AC5800F8 */ sw $t8, 0xf8($v0) -.L7F084350: -/* 0B8E80 7F084350 8FBF0014 */ lw $ra, 0x14($sp) -.L7F084354: -/* 0B8E84 7F084354 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B8E88 7F084358 03E00008 */ jr $ra -/* 0B8E8C 7F08435C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F083FC8 -/* 0B9148 7F0845D8 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B914C 7F0845DC 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B9150 7F0845E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B9154 7F0845E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B9158 7F0845E8 44802000 */ mtc1 $zero, $f4 -/* 0B915C 7F0845EC C44000F4 */ lwc1 $f0, 0xf4($v0) -/* 0B9160 7F0845F0 4600203E */ c.le.s $f4, $f0 -/* 0B9164 7F0845F4 00000000 */ nop -/* 0B9168 7F0845F8 45020090 */ bc1fl .Ljp7F08483C -/* 0B916C 7F0845FC C44000F8 */ lwc1 $f0, 0xf8($v0) -/* 0B9170 7F084600 44803000 */ mtc1 $zero, $f6 -/* 0B9174 7F084604 24040008 */ li $a0, 8 -/* 0B9178 7F084608 46003032 */ c.eq.s $f6, $f0 -/* 0B917C 7F08460C 00000000 */ nop -/* 0B9180 7F084610 45020027 */ bc1fl .Ljp7F0846B0 -/* 0B9184 7F084614 8C4800D8 */ lw $t0, 0xd8($v0) -/* 0B9188 7F084618 0FC1A5B8 */ jal set_unset_ammo_on_screen_setting -/* 0B918C 7F08461C 00002825 */ move $a1, $zero -/* 0B9190 7F084620 24040010 */ li $a0, 16 -/* 0B9194 7F084624 0FC1AAE5 */ jal set_unset_bitflags -/* 0B9198 7F084628 00002825 */ move $a1, $zero -/* 0B919C 7F08462C 0FC22AAD */ jal set_flags_in_BONDdata_stationary_intro_cam -/* 0B91A0 7F084630 24040004 */ li $a0, 4 -/* 0B91A4 7F084634 0FC22C48 */ jal sub_GAME_7F08A944 -/* 0B91A8 7F084638 24040004 */ li $a0, 4 -/* 0B91AC 7F08463C 24040008 */ li $a0, 8 -/* 0B91B0 7F084640 0FC15997 */ jal set_unset_clock_lock_bits -/* 0B91B4 7F084644 00002825 */ move $a1, $zero -/* 0B91B8 7F084648 0FC22A89 */ jal get_BONDdata_watch_health -/* 0B91BC 7F08464C 00000000 */ nop -/* 0B91C0 7F084650 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0B91C4 7F084654 44814000 */ mtc1 $at, $f8 -/* 0B91C8 7F084658 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 -/* 0B91CC 7F08465C 2484A120 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5ee0 -/* 0B91D0 7F084660 46080282 */ mul.s $f10, $f0, $f8 -/* 0B91D4 7F084664 8C980000 */ lw $t8, ($a0) -/* 0B91D8 7F084668 24190007 */ li $t9, 7 -/* 0B91DC 7F08466C 4600510D */ trunc.w.s $f4, $f10 -/* 0B91E0 7F084670 440F2000 */ mfc1 $t7, $f4 -/* 0B91E4 7F084674 00000000 */ nop -/* 0B91E8 7F084678 AF0F29D4 */ sw $t7, 0x29d4($t8) -/* 0B91EC 7F08467C 8C820000 */ lw $v0, ($a0) -/* 0B91F0 7F084680 8C4329D4 */ lw $v1, 0x29d4($v0) -/* 0B91F4 7F084684 28610008 */ slti $at, $v1, 8 -/* 0B91F8 7F084688 14200004 */ bnez $at, .Ljp7F08469C -/* 0B91FC 7F08468C 00000000 */ nop -/* 0B9200 7F084690 AC5929D4 */ sw $t9, 0x29d4($v0) -/* 0B9204 7F084694 8C820000 */ lw $v0, ($a0) -/* 0B9208 7F084698 8C4329D4 */ lw $v1, 0x29d4($v0) -.Ljp7F08469C: -/* 0B920C 7F08469C 04630004 */ bgezl $v1, .Ljp7F0846B0 -/* 0B9210 7F0846A0 8C4800D8 */ lw $t0, 0xd8($v0) -/* 0B9214 7F0846A4 AC4029D4 */ sw $zero, 0x29d4($v0) -/* 0B9218 7F0846A8 8C820000 */ lw $v0, ($a0) -/* 0B921C 7F0846AC 8C4800D8 */ lw $t0, 0xd8($v0) -.Ljp7F0846B0: -/* 0B9220 7F0846B0 3C0B8003 */ lui $t3, %hi(D_80036634) # $t3, 0x8003 -/* 0B9224 7F0846B4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B9228 7F0846B8 15000045 */ bnez $t0, .Ljp7F0847D0 -/* 0B922C 7F0846BC 240400FF */ li $a0, 255 -/* 0B9230 7F0846C0 8C4929D4 */ lw $t1, 0x29d4($v0) -/* 0B9234 7F0846C4 256B6674 */ addiu $t3, %lo(D_80036634) # addiu $t3, $t3, 0x6674 -/* 0B9238 7F0846C8 C44000F4 */ lwc1 $f0, 0xf4($v0) -/* 0B923C 7F0846CC 00095080 */ sll $t2, $t1, 2 -/* 0B9240 7F0846D0 01495023 */ subu $t2, $t2, $t1 -/* 0B9244 7F0846D4 000A5080 */ sll $t2, $t2, 2 -/* 0B9248 7F0846D8 01495023 */ subu $t2, $t2, $t1 -/* 0B924C 7F0846DC 000A5080 */ sll $t2, $t2, 2 -/* 0B9250 7F0846E0 014B1821 */ addu $v1, $t2, $t3 -/* 0B9254 7F0846E4 C4660008 */ lwc1 $f6, 8($v1) -/* 0B9258 7F0846E8 4606003E */ c.le.s $f0, $f6 -/* 0B925C 7F0846EC 00000000 */ nop -/* 0B9260 7F0846F0 45030007 */ bc1tl .Ljp7F084710 -/* 0B9264 7F0846F4 C4620010 */ lwc1 $f2, 0x10($v1) -/* 0B9268 7F0846F8 C4680018 */ lwc1 $f8, 0x18($v1) -/* 0B926C 7F0846FC 4608003E */ c.le.s $f0, $f8 -/* 0B9270 7F084700 00000000 */ nop -/* 0B9274 7F084704 45020033 */ bc1fl .Ljp7F0847D4 -/* 0B9278 7F084708 44813000 */ mtc1 $at, $f6 -/* 0B927C 7F08470C C4620010 */ lwc1 $f2, 0x10($v1) -.Ljp7F084710: -/* 0B9280 7F084710 4600103E */ c.le.s $f2, $f0 -/* 0B9284 7F084714 00000000 */ nop -/* 0B9288 7F084718 4502001F */ bc1fl .Ljp7F084798 -/* 0B928C 7F08471C 8C4C01C8 */ lw $t4, 0x1c8($v0) -/* 0B9290 7F084720 C4700018 */ lwc1 $f16, 0x18($v1) -/* 0B9294 7F084724 4610003E */ c.le.s $f0, $f16 -/* 0B9298 7F084728 00000000 */ nop -/* 0B929C 7F08472C 4502001A */ bc1fl .Ljp7F084798 -/* 0B92A0 7F084730 8C4C01C8 */ lw $t4, 0x1c8($v0) -/* 0B92A4 7F084734 46020301 */ sub.s $f12, $f0, $f2 -/* 0B92A8 7F084738 C46E0014 */ lwc1 $f14, 0x14($v1) -/* 0B92AC 7F08473C 46028481 */ sub.s $f18, $f16, $f2 -/* 0B92B0 7F084740 460E603C */ c.lt.s $f12, $f14 -/* 0B92B4 7F084744 00000000 */ nop -/* 0B92B8 7F084748 45020006 */ bc1fl .Ljp7F084764 -/* 0B92BC 7F08474C 460C9201 */ sub.s $f8, $f18, $f12 -/* 0B92C0 7F084750 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 0B92C4 7F084754 460C5102 */ mul.s $f4, $f10, $f12 -/* 0B92C8 7F084758 10000006 */ b .Ljp7F084774 -/* 0B92CC 7F08475C 460E2003 */ div.s $f0, $f4, $f14 -/* 0B92D0 7F084760 460C9201 */ sub.s $f8, $f18, $f12 -.Ljp7F084764: -/* 0B92D4 7F084764 C466001C */ lwc1 $f6, 0x1c($v1) -/* 0B92D8 7F084768 460E9101 */ sub.s $f4, $f18, $f14 -/* 0B92DC 7F08476C 46083282 */ mul.s $f10, $f6, $f8 -/* 0B92E0 7F084770 46045003 */ div.s $f0, $f10, $f4 -.Ljp7F084774: -/* 0B92E4 7F084774 44070000 */ mfc1 $a3, $f0 -/* 0B92E8 7F084778 8C640020 */ lw $a0, 0x20($v1) -/* 0B92EC 7F08477C 8C650024 */ lw $a1, 0x24($v1) -/* 0B92F0 7F084780 0FC20370 */ jal set_rgba_tint -/* 0B92F4 7F084784 8C660028 */ lw $a2, 0x28($v1) -/* 0B92F8 7F084788 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B92FC 7F08478C 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B9300 7F084790 C44000F4 */ lwc1 $f0, 0xf4($v0) -/* 0B9304 7F084794 8C4C01C8 */ lw $t4, 0x1c8($v0) -.Ljp7F084798: -/* 0B9308 7F084798 3C018005 */ lui $at, %hi(jpD_800484D0) # -0.000000 -/* 0B930C 7F08479C 15800006 */ bnez $t4, .Ljp7F0847B8 -/* 0B9310 7F0847A0 00000000 */ nop -/* 0B9314 7F0847A4 3C018005 */ lui $at, %hi(global_timer_delta) # -0.000000 -/* 0B9318 7F0847A8 C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B931C 7F0847AC 46060200 */ add.s $f8, $f0, $f6 -/* 0B9320 7F0847B0 10000004 */ b .Ljp7F0847C4 -/* 0B9324 7F0847B4 E44800F4 */ swc1 $f8, 0xf4($v0) -.Ljp7F0847B8: -/* 0B9328 7F0847B8 C42A84D0 */ lwc1 $f10, %lo(jpD_800484D0)($at) -/* 0B932C 7F0847BC 460A0100 */ add.s $f4, $f0, $f10 -/* 0B9330 7F0847C0 E44400F4 */ swc1 $f4, 0xf4($v0) -.Ljp7F0847C4: -/* 0B9334 7F0847C4 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B9338 7F0847C8 1000001B */ b .Ljp7F084838 -/* 0B933C 7F0847CC 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -.Ljp7F0847D0: -/* 0B9340 7F0847D0 44813000 */ mtc1 $at, $f6 -.Ljp7F0847D4: -/* 0B9344 7F0847D4 240500FF */ li $a1, 255 -/* 0B9348 7F0847D8 240600FF */ li $a2, 255 -/* 0B934C 7F0847DC 24070000 */ li $a3, 0 -/* 0B9350 7F0847E0 0FC20370 */ jal set_rgba_tint -/* 0B9354 7F0847E4 E44600F4 */ swc1 $f6, 0xf4($v0) -/* 0B9358 7F0847E8 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B935C 7F0847EC 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B9360 7F0847F0 24040008 */ li $a0, 8 -/* 0B9364 7F0847F4 8C4D00D8 */ lw $t5, 0xd8($v0) -/* 0B9368 7F0847F8 55A00010 */ bnezl $t5, .Ljp7F08483C -/* 0B936C 7F0847FC C44000F8 */ lwc1 $f0, 0xf8($v0) -/* 0B9370 7F084800 0FC1A5B8 */ jal set_unset_ammo_on_screen_setting -/* 0B9374 7F084804 24050001 */ li $a1, 1 -/* 0B9378 7F084808 24040010 */ li $a0, 16 -/* 0B937C 7F08480C 0FC1AAE5 */ jal set_unset_bitflags -/* 0B9380 7F084810 24050001 */ li $a1, 1 -/* 0B9384 7F084814 0FC22AA6 */ jal unset_flags_in_BONDdata_stationary_intro_cam -/* 0B9388 7F084818 24040004 */ li $a0, 4 -/* 0B938C 7F08481C 0FC22C41 */ jal sub_GAME_7F08A928 -/* 0B9390 7F084820 24040004 */ li $a0, 4 -/* 0B9394 7F084824 24040008 */ li $a0, 8 -/* 0B9398 7F084828 0FC15997 */ jal set_unset_clock_lock_bits -/* 0B939C 7F08482C 24050001 */ li $a1, 1 -/* 0B93A0 7F084830 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B93A4 7F084834 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -.Ljp7F084838: -/* 0B93A8 7F084838 C44000F8 */ lwc1 $f0, 0xf8($v0) -.Ljp7F08483C: -/* 0B93AC 7F08483C 44804000 */ mtc1 $zero, $f8 -/* 0B93B0 7F084840 00000000 */ nop -/* 0B93B4 7F084844 4600403E */ c.le.s $f8, $f0 -/* 0B93B8 7F084848 00000000 */ nop -/* 0B93BC 7F08484C 4502006D */ bc1fl .Ljp7F084A04 -/* 0B93C0 7F084850 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B93C4 7F084854 44805000 */ mtc1 $zero, $f10 -/* 0B93C8 7F084858 00000000 */ nop -/* 0B93CC 7F08485C 46005032 */ c.eq.s $f10, $f0 -/* 0B93D0 7F084860 00000000 */ nop -/* 0B93D4 7F084864 4502001D */ bc1fl .Ljp7F0848DC -/* 0B93D8 7F084868 8C4800D8 */ lw $t0, 0xd8($v0) -/* 0B93DC 7F08486C 0FC22A89 */ jal get_BONDdata_watch_health -/* 0B93E0 7F084870 00000000 */ nop -/* 0B93E4 7F084874 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0B93E8 7F084878 44812000 */ mtc1 $at, $f4 -/* 0B93EC 7F08487C 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0B93F0 7F084880 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0B93F4 7F084884 46040182 */ mul.s $f6, $f0, $f4 -/* 0B93F8 7F084888 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B93FC 7F08488C 24190007 */ li $t9, 7 -/* 0B9400 7F084890 4600320D */ trunc.w.s $f8, $f6 -/* 0B9404 7F084894 440F4000 */ mfc1 $t7, $f8 -/* 0B9408 7F084898 00000000 */ nop -/* 0B940C 7F08489C AF0F29B8 */ sw $t7, 0x29b8($t8) -/* 0B9410 7F0848A0 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B9414 7F0848A4 8C4329B8 */ lw $v1, 0x29b8($v0) -/* 0B9418 7F0848A8 28610008 */ slti $at, $v1, 8 -/* 0B941C 7F0848AC 14200005 */ bnez $at, .Ljp7F0848C4 -/* 0B9420 7F0848B0 00000000 */ nop -/* 0B9424 7F0848B4 AC5929B8 */ sw $t9, 0x29b8($v0) -/* 0B9428 7F0848B8 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B942C 7F0848BC 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B9430 7F0848C0 8C4329B8 */ lw $v1, 0x29b8($v0) -.Ljp7F0848C4: -/* 0B9434 7F0848C4 04630005 */ bgezl $v1, .Ljp7F0848DC -/* 0B9438 7F0848C8 8C4800D8 */ lw $t0, 0xd8($v0) -/* 0B943C 7F0848CC AC4029B8 */ sw $zero, 0x29b8($v0) -/* 0B9440 7F0848D0 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B9444 7F0848D4 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B9448 7F0848D8 8C4800D8 */ lw $t0, 0xd8($v0) -.Ljp7F0848DC: -/* 0B944C 7F0848DC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B9450 7F0848E0 55000045 */ bnezl $t0, .Ljp7F0849F8 -/* 0B9454 7F0848E4 44815000 */ mtc1 $at, $f10 -/* 0B9458 7F0848E8 8C4929B8 */ lw $t1, 0x29b8($v0) -/* 0B945C 7F0848EC 3C0B8003 */ lui $t3, %hi(D_80036794) # $t3, 0x8003 -/* 0B9460 7F0848F0 256B67D4 */ addiu $t3, %lo(D_80036794) # addiu $t3, $t3, 0x67d4 -/* 0B9464 7F0848F4 00095080 */ sll $t2, $t1, 2 -/* 0B9468 7F0848F8 01495023 */ subu $t2, $t2, $t1 -/* 0B946C 7F0848FC 000A5080 */ sll $t2, $t2, 2 -/* 0B9470 7F084900 014B1821 */ addu $v1, $t2, $t3 -/* 0B9474 7F084904 8C6C0000 */ lw $t4, ($v1) -/* 0B9478 7F084908 C44000F8 */ lwc1 $f0, 0xf8($v0) -/* 0B947C 7F08490C 448C5000 */ mtc1 $t4, $f10 -/* 0B9480 7F084910 00000000 */ nop -/* 0B9484 7F084914 468050A0 */ cvt.s.w $f2, $f10 -/* 0B9488 7F084918 4600103E */ c.le.s $f2, $f0 -/* 0B948C 7F08491C 00000000 */ nop -/* 0B9490 7F084920 45020018 */ bc1fl .Ljp7F084984 -/* 0B9494 7F084924 4600103E */ c.le.s $f2, $f0 -/* 0B9498 7F084928 8C6D0004 */ lw $t5, 4($v1) -/* 0B949C 7F08492C 448D2000 */ mtc1 $t5, $f4 -/* 0B94A0 7F084930 00000000 */ nop -/* 0B94A4 7F084934 468021A0 */ cvt.s.w $f6, $f4 -/* 0B94A8 7F084938 4606003E */ c.le.s $f0, $f6 -/* 0B94AC 7F08493C 00000000 */ nop -/* 0B94B0 7F084940 45020010 */ bc1fl .Ljp7F084984 -/* 0B94B4 7F084944 4600103E */ c.le.s $f2, $f0 -/* 0B94B8 7F084948 C44800E4 */ lwc1 $f8, 0xe4($v0) -/* 0B94BC 7F08494C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B94C0 7F084950 E44800EC */ swc1 $f8, 0xec($v0) -/* 0B94C4 7F084954 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B94C8 7F084958 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B94CC 7F08495C C44A00E8 */ lwc1 $f10, 0xe8($v0) -/* 0B94D0 7F084960 E44A00F0 */ swc1 $f10, 0xf0($v0) -/* 0B94D4 7F084964 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B94D8 7F084968 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B94DC 7F08496C C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B94E0 7F084970 C44400F8 */ lwc1 $f4, 0xf8($v0) -/* 0B94E4 7F084974 46062200 */ add.s $f8, $f4, $f6 -/* 0B94E8 7F084978 10000021 */ b .Ljp7F084A00 -/* 0B94EC 7F08497C E44800F8 */ swc1 $f8, 0xf8($v0) -/* 0B94F0 7F084980 4600103E */ c.le.s $f2, $f0 -.Ljp7F084984: -/* 0B94F4 7F084984 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0B94F8 7F084988 45020018 */ bc1fl .Ljp7F0849EC -/* 0B94FC 7F08498C 44814000 */ mtc1 $at, $f8 -/* 0B9500 7F084990 8C6E0008 */ lw $t6, 8($v1) -/* 0B9504 7F084994 448E5000 */ mtc1 $t6, $f10 -/* 0B9508 7F084998 00000000 */ nop -/* 0B950C 7F08499C 46805120 */ cvt.s.w $f4, $f10 -/* 0B9510 7F0849A0 4604003E */ c.le.s $f0, $f4 -/* 0B9514 7F0849A4 00000000 */ nop -/* 0B9518 7F0849A8 45020010 */ bc1fl .Ljp7F0849EC -/* 0B951C 7F0849AC 44814000 */ mtc1 $at, $f8 -/* 0B9520 7F0849B0 C44600DC */ lwc1 $f6, 0xdc($v0) -/* 0B9524 7F0849B4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B9528 7F0849B8 E44600EC */ swc1 $f6, 0xec($v0) -/* 0B952C 7F0849BC 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B9530 7F0849C0 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B9534 7F0849C4 C44800E0 */ lwc1 $f8, 0xe0($v0) -/* 0B9538 7F0849C8 E44800F0 */ swc1 $f8, 0xf0($v0) -/* 0B953C 7F0849CC 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0B9540 7F0849D0 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0B9544 7F0849D4 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0B9548 7F0849D8 C44A00F8 */ lwc1 $f10, 0xf8($v0) -/* 0B954C 7F0849DC 46045180 */ add.s $f6, $f10, $f4 -/* 0B9550 7F0849E0 10000007 */ b .Ljp7F084A00 -/* 0B9554 7F0849E4 E44600F8 */ swc1 $f6, 0xf8($v0) -/* 0B9558 7F0849E8 44814000 */ mtc1 $at, $f8 -.Ljp7F0849EC: -/* 0B955C 7F0849EC 10000004 */ b .Ljp7F084A00 -/* 0B9560 7F0849F0 E44800F8 */ swc1 $f8, 0xf8($v0) -/* 0B9564 7F0849F4 44815000 */ mtc1 $at, $f10 -.Ljp7F0849F8: -/* 0B9568 7F0849F8 00000000 */ nop -/* 0B956C 7F0849FC E44A00F8 */ swc1 $f10, 0xf8($v0) -.Ljp7F084A00: -/* 0B9570 7F084A00 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F084A04: -/* 0B9574 7F084A04 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B9578 7F084A08 03E00008 */ jr $ra -/* 0B957C 7F084A0C 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F084360(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F084360 -/* 0B8E90 7F084360 3C048008 */ lui $a0, %hi(dword_CODE_bss_800799A0) -/* 0B8E94 7F084364 248499A0 */ addiu $a0, %lo(dword_CODE_bss_800799A0) # addiu $a0, $a0, -0x6660 -/* 0B8E98 7F084368 8C8E0000 */ lw $t6, ($a0) -/* 0B8E9C 7F08436C 3C188003 */ lui $t8, %hi(D_80036444) -/* 0B8EA0 7F084370 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B8EA4 7F084374 25CF0001 */ addiu $t7, $t6, 1 -/* 0B8EA8 7F084378 AC8F0000 */ sw $t7, ($a0) -/* 0B8EAC 7F08437C 8F186444 */ lw $t8, %lo(D_80036444)($t8) -/* 0B8EB0 7F084380 AFBF0024 */ sw $ra, 0x24($sp) -/* 0B8EB4 7F084384 3C198003 */ lui $t9, %hi(disable_player_pickups_flag) -/* 0B8EB8 7F084388 530000AC */ beql $t8, $zero, .L7F08463C -/* 0B8EBC 7F08438C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B8EC0 7F084390 8F3964B4 */ lw $t9, %lo(disable_player_pickups_flag)($t9) -/* 0B8EC4 7F084394 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007999C) -/* 0B8EC8 7F084398 3C098005 */ lui $t1, %hi(global_timer) -/* 0B8ECC 7F08439C 572000A7 */ bnezl $t9, .L7F08463C -/* 0B8ED0 7F0843A0 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B8ED4 7F0843A4 8D08999C */ lw $t0, %lo(dword_CODE_bss_8007999C)($t0) -/* 0B8ED8 7F0843A8 8D29837C */ lw $t1, %lo(global_timer)($t1) -/* 0B8EDC 7F0843AC 3C028008 */ lui $v0, %hi(pPlayer) -/* 0B8EE0 7F0843B0 0109082A */ slt $at, $t0, $t1 -/* 0B8EE4 7F0843B4 502000A1 */ beql $at, $zero, .L7F08463C -/* 0B8EE8 7F0843B8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B8EEC 7F0843BC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0B8EF0 7F0843C0 01E01825 */ move $v1, $t7 -/* 0B8EF4 7F0843C4 24010001 */ li $at, 1 -/* 0B8EF8 7F0843C8 8C4A00A8 */ lw $t2, 0xa8($v0) -/* 0B8EFC 7F0843CC C5440008 */ lwc1 $f4, 8($t2) -/* 0B8F00 7F0843D0 E7A40034 */ swc1 $f4, 0x34($sp) -/* 0B8F04 7F0843D4 8C4B00A8 */ lw $t3, 0xa8($v0) -/* 0B8F08 7F0843D8 C566000C */ lwc1 $f6, 0xc($t3) -/* 0B8F0C 7F0843DC E7A60038 */ swc1 $f6, 0x38($sp) -/* 0B8F10 7F0843E0 8C4C00A8 */ lw $t4, 0xa8($v0) -/* 0B8F14 7F0843E4 C5880010 */ lwc1 $f8, 0x10($t4) -/* 0B8F18 7F0843E8 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 0B8F1C 7F0843EC 04610004 */ bgez $v1, .L7F084400 -/* 0B8F20 7F0843F0 306D0003 */ andi $t5, $v1, 3 -/* 0B8F24 7F0843F4 11A00002 */ beqz $t5, .L7F084400 -/* 0B8F28 7F0843F8 00000000 */ nop -/* 0B8F2C 7F0843FC 25ADFFFC */ addiu $t5, $t5, -4 -.L7F084400: -/* 0B8F30 7F084400 11A00009 */ beqz $t5, .L7F084428 -/* 0B8F34 7F084404 00000000 */ nop -/* 0B8F38 7F084408 11A1001D */ beq $t5, $at, .L7F084480 -/* 0B8F3C 7F08440C 24010002 */ li $at, 2 -/* 0B8F40 7F084410 11A10031 */ beq $t5, $at, .L7F0844D8 -/* 0B8F44 7F084414 24010003 */ li $at, 3 -/* 0B8F48 7F084418 11A10045 */ beq $t5, $at, .L7F084530 -/* 0B8F4C 7F08441C 00000000 */ nop -/* 0B8F50 7F084420 10000058 */ b .L7F084584 -/* 0B8F54 7F084424 00000000 */ nop -.L7F084428: -/* 0B8F58 7F084428 0C002914 */ jal get_random_value -/* 0B8F5C 7F08442C 00000000 */ nop -/* 0B8F60 7F084430 44825000 */ mtc1 $v0, $f10 -/* 0B8F64 7F084434 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0B8F68 7F084438 04410004 */ bgez $v0, .L7F08444C -/* 0B8F6C 7F08443C 46805420 */ cvt.s.w $f16, $f10 -/* 0B8F70 7F084440 44819000 */ mtc1 $at, $f18 -/* 0B8F74 7F084444 00000000 */ nop -/* 0B8F78 7F084448 46128400 */ add.s $f16, $f16, $f18 -.L7F08444C: -/* 0B8F7C 7F08444C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0B8F80 7F084450 44812000 */ mtc1 $at, $f4 -/* 0B8F84 7F084454 3C014316 */ li $at, 0x43160000 # 150.000000 -/* 0B8F88 7F084458 44814000 */ mtc1 $at, $f8 -/* 0B8F8C 7F08445C 46048182 */ mul.s $f6, $f16, $f4 -/* 0B8F90 7F084460 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 0B8F94 7F084464 44819000 */ mtc1 $at, $f18 -/* 0B8F98 7F084468 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 0B8F9C 7F08446C 46064282 */ mul.s $f10, $f8, $f6 -/* 0B8FA0 7F084470 460A9400 */ add.s $f16, $f18, $f10 -/* 0B8FA4 7F084474 46102200 */ add.s $f8, $f4, $f16 -/* 0B8FA8 7F084478 10000042 */ b .L7F084584 -/* 0B8FAC 7F08447C E7A80034 */ swc1 $f8, 0x34($sp) -.L7F084480: -/* 0B8FB0 7F084480 0C002914 */ jal get_random_value -/* 0B8FB4 7F084484 00000000 */ nop -/* 0B8FB8 7F084488 44823000 */ mtc1 $v0, $f6 -/* 0B8FBC 7F08448C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0B8FC0 7F084490 04410004 */ bgez $v0, .L7F0844A4 -/* 0B8FC4 7F084494 468034A0 */ cvt.s.w $f18, $f6 -/* 0B8FC8 7F084498 44815000 */ mtc1 $at, $f10 -/* 0B8FCC 7F08449C 00000000 */ nop -/* 0B8FD0 7F0844A0 460A9480 */ add.s $f18, $f18, $f10 -.L7F0844A4: -/* 0B8FD4 7F0844A4 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0B8FD8 7F0844A8 44812000 */ mtc1 $at, $f4 -/* 0B8FDC 7F0844AC 3C014316 */ li $at, 0x43160000 # 150.000000 -/* 0B8FE0 7F0844B0 44814000 */ mtc1 $at, $f8 -/* 0B8FE4 7F0844B4 46049402 */ mul.s $f16, $f18, $f4 -/* 0B8FE8 7F0844B8 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 0B8FEC 7F0844BC 44815000 */ mtc1 $at, $f10 -/* 0B8FF0 7F0844C0 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 0B8FF4 7F0844C4 46104182 */ mul.s $f6, $f8, $f16 -/* 0B8FF8 7F0844C8 46065480 */ add.s $f18, $f10, $f6 -/* 0B8FFC 7F0844CC 46122201 */ sub.s $f8, $f4, $f18 -/* 0B9000 7F0844D0 1000002C */ b .L7F084584 -/* 0B9004 7F0844D4 E7A80034 */ swc1 $f8, 0x34($sp) -.L7F0844D8: -/* 0B9008 7F0844D8 0C002914 */ jal get_random_value -/* 0B900C 7F0844DC 00000000 */ nop -/* 0B9010 7F0844E0 44828000 */ mtc1 $v0, $f16 -/* 0B9014 7F0844E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0B9018 7F0844E8 04410004 */ bgez $v0, .L7F0844FC -/* 0B901C 7F0844EC 468082A0 */ cvt.s.w $f10, $f16 -/* 0B9020 7F0844F0 44813000 */ mtc1 $at, $f6 -/* 0B9024 7F0844F4 00000000 */ nop -/* 0B9028 7F0844F8 46065280 */ add.s $f10, $f10, $f6 -.L7F0844FC: -/* 0B902C 7F0844FC 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0B9030 7F084500 44812000 */ mtc1 $at, $f4 -/* 0B9034 7F084504 3C014316 */ li $at, 0x43160000 # 150.000000 -/* 0B9038 7F084508 44814000 */ mtc1 $at, $f8 -/* 0B903C 7F08450C 46045482 */ mul.s $f18, $f10, $f4 -/* 0B9040 7F084510 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 0B9044 7F084514 44813000 */ mtc1 $at, $f6 -/* 0B9048 7F084518 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0B904C 7F08451C 46124402 */ mul.s $f16, $f8, $f18 -/* 0B9050 7F084520 46103280 */ add.s $f10, $f6, $f16 -/* 0B9054 7F084524 460A2200 */ add.s $f8, $f4, $f10 -/* 0B9058 7F084528 10000016 */ b .L7F084584 -/* 0B905C 7F08452C E7A8003C */ swc1 $f8, 0x3c($sp) -.L7F084530: -/* 0B9060 7F084530 0C002914 */ jal get_random_value -/* 0B9064 7F084534 00000000 */ nop -/* 0B9068 7F084538 44829000 */ mtc1 $v0, $f18 -/* 0B906C 7F08453C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0B9070 7F084540 04410004 */ bgez $v0, .L7F084554 -/* 0B9074 7F084544 468091A0 */ cvt.s.w $f6, $f18 -/* 0B9078 7F084548 44818000 */ mtc1 $at, $f16 -/* 0B907C 7F08454C 00000000 */ nop -/* 0B9080 7F084550 46103180 */ add.s $f6, $f6, $f16 -.L7F084554: -/* 0B9084 7F084554 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0B9088 7F084558 44812000 */ mtc1 $at, $f4 -/* 0B908C 7F08455C 3C014316 */ li $at, 0x43160000 # 150.000000 -/* 0B9090 7F084560 44814000 */ mtc1 $at, $f8 -/* 0B9094 7F084564 46043282 */ mul.s $f10, $f6, $f4 -/* 0B9098 7F084568 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 0B909C 7F08456C 44818000 */ mtc1 $at, $f16 -/* 0B90A0 7F084570 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0B90A4 7F084574 460A4482 */ mul.s $f18, $f8, $f10 -/* 0B90A8 7F084578 46128180 */ add.s $f6, $f16, $f18 -/* 0B90AC 7F08457C 46062201 */ sub.s $f8, $f4, $f6 -/* 0B90B0 7F084580 E7A8003C */ swc1 $f8, 0x3c($sp) -.L7F084584: -/* 0B90B4 7F084584 0C002914 */ jal get_random_value -/* 0B90B8 7F084588 00000000 */ nop -/* 0B90BC 7F08458C 44825000 */ mtc1 $v0, $f10 -/* 0B90C0 7F084590 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0B90C4 7F084594 04410004 */ bgez $v0, .L7F0845A8 -/* 0B90C8 7F084598 46805420 */ cvt.s.w $f16, $f10 -/* 0B90CC 7F08459C 44819000 */ mtc1 $at, $f18 -/* 0B90D0 7F0845A0 00000000 */ nop -/* 0B90D4 7F0845A4 46128400 */ add.s $f16, $f16, $f18 -.L7F0845A8: -/* 0B90D8 7F0845A8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0B90DC 7F0845AC 44812000 */ mtc1 $at, $f4 -/* 0B90E0 7F0845B0 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0B90E4 7F0845B4 44814000 */ mtc1 $at, $f8 -/* 0B90E8 7F0845B8 46048182 */ mul.s $f6, $f16, $f4 -/* 0B90EC 7F0845BC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0B90F0 7F0845C0 44819000 */ mtc1 $at, $f18 -/* 0B90F4 7F0845C4 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0B90F8 7F0845C8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0B90FC 7F0845CC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0B9100 7F0845D0 00002025 */ move $a0, $zero -/* 0B9104 7F0845D4 46064282 */ mul.s $f10, $f8, $f6 -/* 0B9108 7F0845D8 27A50034 */ addiu $a1, $sp, 0x34 -/* 0B910C 7F0845DC 24070012 */ li $a3, 18 -/* 0B9110 7F0845E0 46125401 */ sub.s $f16, $f10, $f18 -/* 0B9114 7F0845E4 46102200 */ add.s $f8, $f4, $f16 -/* 0B9118 7F0845E8 E7A80038 */ swc1 $f8, 0x38($sp) -/* 0B911C 7F0845EC 8DC300A8 */ lw $v1, 0xa8($t6) -/* 0B9120 7F0845F0 8C660014 */ lw $a2, 0x14($v1) -/* 0B9124 7F0845F4 246F002C */ addiu $t7, $v1, 0x2c -/* 0B9128 7F0845F8 AFAF0018 */ sw $t7, 0x18($sp) -/* 0B912C 7F0845FC AFA0001C */ sw $zero, 0x1c($sp) -/* 0B9130 7F084600 AFA00014 */ sw $zero, 0x14($sp) -/* 0B9134 7F084604 0FC27094 */ jal sub_GAME_7F09C250 -/* 0B9138 7F084608 AFA00010 */ sw $zero, 0x10($sp) -/* 0B913C 7F08460C 0C002914 */ jal get_random_value -/* 0B9140 7F084610 00000000 */ nop -/* 0B9144 7F084614 2401000F */ li $at, 15 -/* 0B9148 7F084618 0041001B */ divu $zero, $v0, $at -/* 0B914C 7F08461C 3C198005 */ lui $t9, %hi(global_timer) -/* 0B9150 7F084620 8F39837C */ lw $t9, %lo(global_timer)($t9) -/* 0B9154 7F084624 0000C010 */ mfhi $t8 -/* 0B9158 7F084628 3C018008 */ lui $at, %hi(dword_CODE_bss_8007999C) -/* 0B915C 7F08462C 03194021 */ addu $t0, $t8, $t9 -/* 0B9160 7F084630 2509000F */ addiu $t1, $t0, 0xf -/* 0B9164 7F084634 AC29999C */ sw $t1, %lo(dword_CODE_bss_8007999C)($at) -/* 0B9168 7F084638 8FBF0024 */ lw $ra, 0x24($sp) -.L7F08463C: -/* 0B916C 7F08463C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0B9170 7F084640 03E00008 */ jr $ra -/* 0B9174 7F084644 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void MoveBond(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_8005516C -.word 0x3d888889 /*0.06666667*/ -glabel D_80055170 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055174 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055178 -.word 0x3f8147ae /*1.01*/ -glabel D_8005517C -.word 0x3f8147ae /*1.01*/ -glabel D_80055180 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055184 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055188 -.word 0x40490fdb /*3.1415927*/ -glabel D_8005518C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055190 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80055194 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055198 -.word 0x3f6b851f /*0.92000002*/ -glabel D_8005519C -.word 0x3da3d708 /*0.079999983*/ -glabel D_800551A0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551A4 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551A8 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551AC -.word 0x3da3d708 /*0.079999983*/ -glabel D_800551B0 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551B4 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551B8 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551BC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551C0 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551C4 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551C8 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551CC -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551D0 -.word 0x3da3d708 /*0.079999983*/ -glabel D_800551D4 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_800551D8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551DC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551E0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551E4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551E8 -.word 0x3e99999a /*0.30000001*/ -glabel D_800551EC -.word 0x3e19999a /*0.15000001*/ -glabel D_800551F0 -.word 0x469c4000 /*20000.0*/ -glabel D_800551F4 -.word 0x3f666666 /*0.89999998*/ -glabel D_800551F8 -.word 0x46477c00 /*12767.0*/ -glabel D_800551FC -.word 0x469c4000 /*20000.0*/ -glabel D_80055200 -.word 0x3f666666 /*0.89999998*/ -glabel D_80055204 -.word 0x45f2b800 /*7767.0*/ -glabel D_80055208 -.word 0x3f666666 /*0.89999998*/ -glabel D_8005520C -.word 0x46c35000 /*25000.0;*/ -glabel D_80055210 -.word 0x3e32b8c3 /*0.17453294*/ -glabel D_80055214 -.word 0x3edf66f3 /*0.43633232*/ -glabel D_80055218 -.word 0xbdb2b8c3 /*-0.087266468*/ -glabel D_8005521C -.word 0x3f70a3d7 /*0.94*/ -glabel D_80055220 -.word 0x3d75c290 /*0.060000002*/ -glabel D_80055224 -.word 0x4528c000 /*2700.0*/ -glabel D_80055228 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005522C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055230 -.word 0x3f19999a /*0.60000002*/ -glabel D_80055234 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80055238 -.word 0x3dcccccd /*0.1*/ -glabel D_8005523C -.word 0x4528c000 /*2700.0*/ -glabel D_80055240 -.word 0x3f947ae1 /*1.16*/ -glabel D_80055244 -.word 0x3f8147ae /*1.01*/ -glabel D_80055248 -.word 0x3f7d7721 /*0.99009901*/ -glabel D_8005524C -.word 0x3f333333 /*0.69999999*/ -glabel D_80055250 -.word 0x3f99999a /*1.2*/ -glabel D_80055254 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055258 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005525C -.word 0x3f547ae1 /*0.82999998*/ -glabel D_80055260 -.word 0x3e2e147c /*0.17000002*/ -.text -glabel MoveBond -/* 0B9178 7F084648 27BDFC48 */ addiu $sp, $sp, -0x3b8 -/* 0B917C 7F08464C 3C0E8003 */ lui $t6, %hi(D_800367F4) -/* 0B9180 7F084650 AFBF002C */ sw $ra, 0x2c($sp) -/* 0B9184 7F084654 AFB10028 */ sw $s1, 0x28($sp) -/* 0B9188 7F084658 AFB00024 */ sw $s0, 0x24($sp) -/* 0B918C 7F08465C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0B9190 7F084660 AFA403B8 */ sw $a0, 0x3b8($sp) -/* 0B9194 7F084664 AFA503BC */ sw $a1, 0x3bc($sp) -/* 0B9198 7F084668 AFA603C0 */ sw $a2, 0x3c0($sp) -/* 0B919C 7F08466C AFA703C4 */ sw $a3, 0x3c4($sp) -/* 0B91A0 7F084670 25CE67F4 */ addiu $t6, %lo(D_800367F4) # addiu $t6, $t6, 0x67f4 -/* 0B91A4 7F084674 8DC10000 */ lw $at, ($t6) -/* 0B91A8 7F084678 27AD03AC */ addiu $t5, $sp, 0x3ac -/* 0B91AC 7F08467C 8DCF0004 */ lw $t7, 4($t6) -/* 0B91B0 7F084680 ADA10000 */ sw $at, ($t5) -/* 0B91B4 7F084684 8DC10008 */ lw $at, 8($t6) -/* 0B91B8 7F084688 4480A000 */ mtc1 $zero, $f20 -/* 0B91BC 7F08468C 00048600 */ sll $s0, $a0, 0x18 -/* 0B91C0 7F084690 ADA10008 */ sw $at, 8($t5) -/* 0B91C4 7F084694 00106603 */ sra $t4, $s0, 0x18 -/* 0B91C8 7F084698 ADAF0004 */ sw $t7, 4($t5) -/* 0B91CC 7F08469C 29810064 */ slti $at, $t4, 0x64 -/* 0B91D0 7F0846A0 01808025 */ move $s0, $t4 -/* 0B91D4 7F0846A4 AFA00394 */ sw $zero, 0x394($sp) -/* 0B91D8 7F0846A8 E7B40398 */ swc1 $f20, 0x398($sp) -/* 0B91DC 7F0846AC 10200004 */ beqz $at, .L7F0846C0 -/* 0B91E0 7F0846B0 E7B40390 */ swc1 $f20, 0x390($sp) -/* 0B91E4 7F0846B4 2981FF9D */ slti $at, $t4, -0x63 -/* 0B91E8 7F0846B8 50200004 */ beql $at, $zero, .L7F0846CC -/* 0B91EC 7F0846BC 83AB03BF */ lb $t3, 0x3bf($sp) -.L7F0846C0: -/* 0B91F0 7F0846C0 0FC1B11B */ jal return_null -/* 0B91F4 7F0846C4 00000000 */ nop -/* 0B91F8 7F0846C8 83AB03BF */ lb $t3, 0x3bf($sp) -.L7F0846CC: -/* 0B91FC 7F0846CC 29610064 */ slti $at, $t3, 0x64 -/* 0B9200 7F0846D0 10200003 */ beqz $at, .L7F0846E0 -/* 0B9204 7F0846D4 2961FF9D */ slti $at, $t3, -0x63 -/* 0B9208 7F0846D8 10200003 */ beqz $at, .L7F0846E8 -/* 0B920C 7F0846DC 00000000 */ nop -.L7F0846E0: -/* 0B9210 7F0846E0 0FC1B11B */ jal return_null -/* 0B9214 7F0846E4 00000000 */ nop -.L7F0846E8: -/* 0B9218 7F0846E8 3C038003 */ lui $v1, %hi(camera_80036424) -/* 0B921C 7F0846EC 24636424 */ addiu $v1, %lo(camera_80036424) # addiu $v1, $v1, 0x6424 -/* 0B9220 7F0846F0 8C620000 */ lw $v0, ($v1) -/* 0B9224 7F0846F4 18400015 */ blez $v0, .L7F08474C -/* 0B9228 7F0846F8 24580001 */ addiu $t8, $v0, 1 -/* 0B922C 7F0846FC 2B010004 */ slti $at, $t8, 4 -/* 0B9230 7F084700 14200012 */ bnez $at, .L7F08474C -/* 0B9234 7F084704 AC780000 */ sw $t8, ($v1) -/* 0B9238 7F084708 3C118008 */ lui $s1, %hi(pPlayer) -/* 0B923C 7F08470C 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 0B9240 7F084710 8E390000 */ lw $t9, ($s1) -/* 0B9244 7F084714 AC600000 */ sw $zero, ($v1) -/* 0B9248 7F084718 24040001 */ li $a0, 1 -/* 0B924C 7F08471C AF202A54 */ sw $zero, 0x2a54($t9) -/* 0B9250 7F084720 8E2A0000 */ lw $t2, ($s1) -/* 0B9254 7F084724 0FC17674 */ jal get_item_in_hand -/* 0B9258 7F084728 AD402A50 */ sw $zero, 0x2a50($t2) -/* 0B925C 7F08472C 24040001 */ li $a0, 1 -/* 0B9260 7F084730 0FC176D5 */ jal remove_hands_item -/* 0B9264 7F084734 00402825 */ move $a1, $v0 -/* 0B9268 7F084738 0FC17674 */ jal get_item_in_hand -/* 0B926C 7F08473C 00002025 */ move $a0, $zero -/* 0B9270 7F084740 00002025 */ move $a0, $zero -/* 0B9274 7F084744 0FC176D5 */ jal remove_hands_item -/* 0B9278 7F084748 00402825 */ move $a1, $v0 -.L7F08474C: -/* 0B927C 7F08474C 3C118008 */ lui $s1, %hi(pPlayer) -/* 0B9280 7F084750 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 0B9284 7F084754 0FC1E694 */ jal setptrBONDdata -/* 0B9288 7F084758 00002025 */ move $a0, $zero -/* 0B928C 7F08475C 0FC20FF2 */ jal sub_GAME_7F083FC8 -/* 0B9290 7F084760 00000000 */ nop -/* 0B9294 7F084764 0FC210D8 */ jal sub_GAME_7F084360 -/* 0B9298 7F084768 00000000 */ nop -/* 0B929C 7F08476C 00102600 */ sll $a0, $s0, 0x18 -/* 0B92A0 7F084770 00046E03 */ sra $t5, $a0, 0x18 -/* 0B92A4 7F084774 01A02025 */ move $a0, $t5 -/* 0B92A8 7F084778 83A503BF */ lb $a1, 0x3bf($sp) -/* 0B92AC 7F08477C 97A603C2 */ lhu $a2, 0x3c2($sp) -/* 0B92B0 7F084780 0FC2065D */ jal controller_gameplay_interaction -/* 0B92B4 7F084784 97A703C6 */ lhu $a3, 0x3c6($sp) -/* 0B92B8 7F084788 0FC2FF01 */ jal get_controls_locked_flag -/* 0B92BC 7F08478C 00000000 */ nop -/* 0B92C0 7F084790 50400004 */ beql $v0, $zero, .L7F0847A4 -/* 0B92C4 7F084794 8E2E0000 */ lw $t6, ($s1) -/* 0B92C8 7F084798 0FC1FABC */ jal sub_GAME_7F07EAF0 -/* 0B92CC 7F08479C 00000000 */ nop -/* 0B92D0 7F0847A0 8E2E0000 */ lw $t6, ($s1) -.L7F0847A4: -/* 0B92D4 7F0847A4 8DCF01C8 */ lw $t7, 0x1c8($t6) -/* 0B92D8 7F0847A8 11E00003 */ beqz $t7, .L7F0847B8 -/* 0B92DC 7F0847AC 00000000 */ nop -/* 0B92E0 7F0847B0 0FC1FB15 */ jal sub_GAME_7F07EC54 -/* 0B92E4 7F0847B4 00000000 */ nop -.L7F0847B8: -/* 0B92E8 7F0847B8 3C0B8003 */ lui $t3, %hi(in_tank_flag) -/* 0B92EC 7F0847BC 8D6B6448 */ lw $t3, %lo(in_tank_flag)($t3) -/* 0B92F0 7F0847C0 1560006E */ bnez $t3, .L7F08497C -/* 0B92F4 7F0847C4 00000000 */ nop -/* 0B92F8 7F0847C8 0FC1E67C */ jal sub_GAME_7F0799F0 -/* 0B92FC 7F0847CC 00000000 */ nop -/* 0B9300 7F0847D0 5440000D */ bnezl $v0, .L7F084808 -/* 0B9304 7F0847D4 8E280000 */ lw $t0, ($s1) -/* 0B9308 7F0847D8 8E280000 */ lw $t0, ($s1) -/* 0B930C 7F0847DC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B9310 7F0847E0 44815000 */ mtc1 $at, $f10 -/* 0B9314 7F0847E4 C5040174 */ lwc1 $f4, 0x174($t0) -/* 0B9318 7F0847E8 460A2182 */ mul.s $f6, $f4, $f10 -/* 0B931C 7F0847EC 44812000 */ mtc1 $at, $f4 -/* 0B9320 7F0847F0 E5060174 */ swc1 $f6, 0x174($t0) -/* 0B9324 7F0847F4 8E280000 */ lw $t0, ($s1) -/* 0B9328 7F0847F8 C508016C */ lwc1 $f8, 0x16c($t0) -/* 0B932C 7F0847FC 46044282 */ mul.s $f10, $f8, $f4 -/* 0B9330 7F084800 E50A016C */ swc1 $f10, 0x16c($t0) -/* 0B9334 7F084804 8E280000 */ lw $t0, ($s1) -.L7F084808: -/* 0B9338 7F084808 C5120180 */ lwc1 $f18, 0x180($t0) -/* 0B933C 7F08480C 4612A032 */ c.eq.s $f20, $f18 -/* 0B9340 7F084810 00000000 */ nop -/* 0B9344 7F084814 45020007 */ bc1fl .L7F084834 -/* 0B9348 7F084818 C5000188 */ lwc1 $f0, 0x188($t0) -/* 0B934C 7F08481C C5060188 */ lwc1 $f6, 0x188($t0) -/* 0B9350 7F084820 4606A032 */ c.eq.s $f20, $f6 -/* 0B9354 7F084824 00000000 */ nop -/* 0B9358 7F084828 45010054 */ bc1t .L7F08497C -/* 0B935C 7F08482C 00000000 */ nop -/* 0B9360 7F084830 C5000188 */ lwc1 $f0, 0x188($t0) -.L7F084834: -/* 0B9364 7F084834 C5020150 */ lwc1 $f2, 0x150($t0) -/* 0B9368 7F084838 C5100154 */ lwc1 $f16, 0x154($t0) -/* 0B936C 7F08483C 46009387 */ neg.s $f14, $f18 -/* 0B9370 7F084840 46020202 */ mul.s $f8, $f0, $f2 -/* 0B9374 7F084844 00000000 */ nop -/* 0B9378 7F084848 46107102 */ mul.s $f4, $f14, $f16 -/* 0B937C 7F08484C 46044280 */ add.s $f10, $f8, $f4 -/* 0B9380 7F084850 46027182 */ mul.s $f6, $f14, $f2 -/* 0B9384 7F084854 00000000 */ nop -/* 0B9388 7F084858 46100202 */ mul.s $f8, $f0, $f16 -/* 0B938C 7F08485C E7AA038C */ swc1 $f10, 0x38c($sp) -/* 0B9390 7F084860 46000282 */ mul.s $f10, $f0, $f0 -/* 0B9394 7F084864 46083101 */ sub.s $f4, $f6, $f8 -/* 0B9398 7F084868 46129182 */ mul.s $f6, $f18, $f18 -/* 0B939C 7F08486C E7A40388 */ swc1 $f4, 0x388($sp) -/* 0B93A0 7F084870 0C007DF8 */ jal sqrtf -/* 0B93A4 7F084874 46065300 */ add.s $f12, $f10, $f6 -/* 0B93A8 7F084878 8E280000 */ lw $t0, ($s1) -/* 0B93AC 7F08487C C7A4038C */ lwc1 $f4, 0x38c($sp) -/* 0B93B0 7F084880 3C018005 */ lui $at, %hi(D_8005516C) -/* 0B93B4 7F084884 C5080174 */ lwc1 $f8, 0x174($t0) -/* 0B93B8 7F084888 3C098005 */ lui $t1, %hi(global_timer_delta) -/* 0B93BC 7F08488C 25298378 */ addiu $t1, %lo(global_timer_delta) # addiu $t1, $t1, -0x7c88 -/* 0B93C0 7F084890 46044280 */ add.s $f10, $f8, $f4 -/* 0B93C4 7F084894 00001825 */ move $v1, $zero -/* 0B93C8 7F084898 2404000C */ li $a0, 12 -/* 0B93CC 7F08489C E50A0174 */ swc1 $f10, 0x174($t0) -/* 0B93D0 7F0848A0 8E280000 */ lw $t0, ($s1) -/* 0B93D4 7F0848A4 C7A80388 */ lwc1 $f8, 0x388($sp) -/* 0B93D8 7F0848A8 C506016C */ lwc1 $f6, 0x16c($t0) -/* 0B93DC 7F0848AC 46083100 */ add.s $f4, $f6, $f8 -/* 0B93E0 7F0848B0 E504016C */ swc1 $f4, 0x16c($t0) -/* 0B93E4 7F0848B4 C42C516C */ lwc1 $f12, %lo(D_8005516C)($at) -/* 0B93E8 7F0848B8 8E380000 */ lw $t8, ($s1) -.L7F0848BC: -/* 0B93EC 7F0848BC 03031021 */ addu $v0, $t8, $v1 -/* 0B93F0 7F0848C0 C4420180 */ lwc1 $f2, 0x180($v0) -/* 0B93F4 7F0848C4 4602A032 */ c.eq.s $f20, $f2 -/* 0B93F8 7F0848C8 00000000 */ nop -/* 0B93FC 7F0848CC 45030029 */ bc1tl .L7F084974 -/* 0B9400 7F0848D0 24630004 */ addiu $v1, $v1, 4 -/* 0B9404 7F0848D4 4602A03C */ c.lt.s $f20, $f2 -/* 0B9408 7F0848D8 00000000 */ nop -/* 0B940C 7F0848DC 45020012 */ bc1fl .L7F084928 -/* 0B9410 7F0848E0 4614103C */ c.lt.s $f2, $f20 -/* 0B9414 7F0848E4 C52A0000 */ lwc1 $f10, ($t1) -/* 0B9418 7F0848E8 460A6182 */ mul.s $f6, $f12, $f10 -/* 0B941C 7F0848EC 00000000 */ nop -/* 0B9420 7F0848F0 46023202 */ mul.s $f8, $f6, $f2 -/* 0B9424 7F0848F4 46004103 */ div.s $f4, $f8, $f0 -/* 0B9428 7F0848F8 46041281 */ sub.s $f10, $f2, $f4 -/* 0B942C 7F0848FC E44A0180 */ swc1 $f10, 0x180($v0) -/* 0B9430 7F084900 8E2C0000 */ lw $t4, ($s1) -/* 0B9434 7F084904 01831021 */ addu $v0, $t4, $v1 -/* 0B9438 7F084908 C4460180 */ lwc1 $f6, 0x180($v0) -/* 0B943C 7F08490C 4614303C */ c.lt.s $f6, $f20 -/* 0B9440 7F084910 00000000 */ nop -/* 0B9444 7F084914 45000016 */ bc1f .L7F084970 -/* 0B9448 7F084918 00000000 */ nop -/* 0B944C 7F08491C 10000014 */ b .L7F084970 -/* 0B9450 7F084920 E4540180 */ swc1 $f20, 0x180($v0) -/* 0B9454 7F084924 4614103C */ c.lt.s $f2, $f20 -.L7F084928: -/* 0B9458 7F084928 00000000 */ nop -/* 0B945C 7F08492C 45020011 */ bc1fl .L7F084974 -/* 0B9460 7F084930 24630004 */ addiu $v1, $v1, 4 -/* 0B9464 7F084934 C5280000 */ lwc1 $f8, ($t1) -/* 0B9468 7F084938 46086102 */ mul.s $f4, $f12, $f8 -/* 0B946C 7F08493C 00000000 */ nop -/* 0B9470 7F084940 46022282 */ mul.s $f10, $f4, $f2 -/* 0B9474 7F084944 46005183 */ div.s $f6, $f10, $f0 -/* 0B9478 7F084948 46061201 */ sub.s $f8, $f2, $f6 -/* 0B947C 7F08494C E4480180 */ swc1 $f8, 0x180($v0) -/* 0B9480 7F084950 8E390000 */ lw $t9, ($s1) -/* 0B9484 7F084954 03231021 */ addu $v0, $t9, $v1 -/* 0B9488 7F084958 C4440180 */ lwc1 $f4, 0x180($v0) -/* 0B948C 7F08495C 4604A03C */ c.lt.s $f20, $f4 -/* 0B9490 7F084960 00000000 */ nop -/* 0B9494 7F084964 45000002 */ bc1f .L7F084970 -/* 0B9498 7F084968 00000000 */ nop -/* 0B949C 7F08496C E4540180 */ swc1 $f20, 0x180($v0) -.L7F084970: -/* 0B94A0 7F084970 24630004 */ addiu $v1, $v1, 4 -.L7F084974: -/* 0B94A4 7F084974 5464FFD1 */ bnel $v1, $a0, .L7F0848BC -/* 0B94A8 7F084978 8E380000 */ lw $t8, ($s1) -.L7F08497C: -/* 0B94AC 7F08497C 3C0A8003 */ lui $t2, %hi(in_tank_flag) -/* 0B94B0 7F084980 8D4A6448 */ lw $t2, %lo(in_tank_flag)($t2) -/* 0B94B4 7F084984 3C098005 */ lui $t1, %hi(global_timer_delta) -/* 0B94B8 7F084988 24010001 */ li $at, 1 -/* 0B94BC 7F08498C 25298378 */ addiu $t1, %lo(global_timer_delta) # addiu $t1, $t1, -0x7c88 -/* 0B94C0 7F084990 15410211 */ bne $t2, $at, .L7F0851D8 -/* 0B94C4 7F084994 8E280000 */ lw $t0, ($s1) -/* 0B94C8 7F084998 C50A014C */ lwc1 $f10, 0x14c($t0) -/* 0B94CC 7F08499C C5260000 */ lwc1 $f6, ($t1) -/* 0B94D0 7F0849A0 3C018005 */ lui $at, %hi(D_80055170) -/* 0B94D4 7F0849A4 C42C5170 */ lwc1 $f12, %lo(D_80055170)($at) -/* 0B94D8 7F0849A8 46065202 */ mul.s $f8, $f10, $f6 -/* 0B94DC 7F0849AC 3C018005 */ lui $at, %hi(D_80055174) -/* 0B94E0 7F0849B0 C4245174 */ lwc1 $f4, %lo(D_80055174)($at) -/* 0B94E4 7F0849B4 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0B94E8 7F0849B8 44813000 */ mtc1 $at, $f6 -/* 0B94EC 7F0849BC 3C018003 */ lui $at, %hi(D_80036464) -/* 0B94F0 7F0849C0 27B00374 */ addiu $s0, $sp, 0x374 -/* 0B94F4 7F0849C4 46044282 */ mul.s $f10, $f8, $f4 -/* 0B94F8 7F0849C8 C4286464 */ lwc1 $f8, %lo(D_80036464)($at) -/* 0B94FC 7F0849CC 02003825 */ move $a3, $s0 -/* 0B9500 7F0849D0 2504048C */ addiu $a0, $t0, 0x48c -/* 0B9504 7F0849D4 27AD0368 */ addiu $t5, $sp, 0x368 -/* 0B9508 7F0849D8 46065082 */ mul.s $f2, $f10, $f6 -/* 0B950C 7F0849DC 46024000 */ add.s $f0, $f8, $f2 -/* 0B9510 7F0849E0 4600603E */ c.le.s $f12, $f0 -/* 0B9514 7F0849E4 00000000 */ nop -/* 0B9518 7F0849E8 45020003 */ bc1fl .L7F0849F8 -/* 0B951C 7F0849EC 4614003C */ c.lt.s $f0, $f20 -/* 0B9520 7F0849F0 460C0001 */ sub.s $f0, $f0, $f12 -/* 0B9524 7F0849F4 4614003C */ c.lt.s $f0, $f20 -.L7F0849F8: -/* 0B9528 7F0849F8 00000000 */ nop -/* 0B952C 7F0849FC 45020003 */ bc1fl .L7F084A0C -/* 0B9530 7F084A00 8D050488 */ lw $a1, 0x488($t0) -/* 0B9534 7F084A04 460C0000 */ add.s $f0, $f0, $f12 -/* 0B9538 7F084A08 8D050488 */ lw $a1, 0x488($t0) -.L7F084A0C: -/* 0B953C 7F084A0C 44060000 */ mfc1 $a2, $f0 -/* 0B9540 7F084A10 E7A20358 */ swc1 $f2, 0x358($sp) -/* 0B9544 7F084A14 E7A0035C */ swc1 $f0, 0x35c($sp) -/* 0B9548 7F084A18 0FC1F2B2 */ jal sub_GAME_7F07CAC8 -/* 0B954C 7F084A1C AFAD0010 */ sw $t5, 0x10($sp) -/* 0B9550 7F084A20 50400007 */ beql $v0, $zero, .L7F084A40 -/* 0B9554 7F084A24 3C01BF80 */ lui $at, 0xbf80 -/* 0B9558 7F084A28 C7A4035C */ lwc1 $f4, 0x35c($sp) -/* 0B955C 7F084A2C 3C018003 */ lui $at, %hi(D_80036464) -/* 0B9560 7F084A30 E4246464 */ swc1 $f4, %lo(D_80036464)($at) -/* 0B9564 7F084A34 100000CB */ b .L7F084D64 -/* 0B9568 7F084A38 8E280000 */ lw $t0, ($s1) -/* 0B956C 7F084A3C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L7F084A40: -/* 0B9570 7F084A40 44815000 */ mtc1 $at, $f10 -/* 0B9574 7F084A44 44813000 */ mtc1 $at, $f6 -/* 0B9578 7F084A48 27A40348 */ addiu $a0, $sp, 0x348 -/* 0B957C 7F084A4C 27A5033C */ addiu $a1, $sp, 0x33c -/* 0B9580 7F084A50 E7AA031C */ swc1 $f10, 0x31c($sp) -/* 0B9584 7F084A54 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 0B9588 7F084A58 E7A60304 */ swc1 $f6, 0x304($sp) -/* 0B958C 7F084A5C C7A8033C */ lwc1 $f8, 0x33c($sp) -/* 0B9590 7F084A60 C7A40348 */ lwc1 $f4, 0x348($sp) -/* 0B9594 7F084A64 C7AA0344 */ lwc1 $f10, 0x344($sp) -/* 0B9598 7F084A68 C7A60350 */ lwc1 $f6, 0x350($sp) -/* 0B959C 7F084A6C 46044081 */ sub.s $f2, $f8, $f4 -/* 0B95A0 7F084A70 46065381 */ sub.s $f14, $f10, $f6 -/* 0B95A4 7F084A74 46021202 */ mul.s $f8, $f2, $f2 -/* 0B95A8 7F084A78 E7A20338 */ swc1 $f2, 0x338($sp) -/* 0B95AC 7F084A7C 460E7102 */ mul.s $f4, $f14, $f14 -/* 0B95B0 7F084A80 E7AE0334 */ swc1 $f14, 0x334($sp) -/* 0B95B4 7F084A84 0C007DF8 */ jal sqrtf -/* 0B95B8 7F084A88 46044300 */ add.s $f12, $f8, $f4 -/* 0B95BC 7F084A8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B95C0 7F084A90 44815000 */ mtc1 $at, $f10 -/* 0B95C4 7F084A94 C7A20338 */ lwc1 $f2, 0x338($sp) -/* 0B95C8 7F084A98 C7AE0334 */ lwc1 $f14, 0x334($sp) -/* 0B95CC 7F084A9C 46005403 */ div.s $f16, $f10, $f0 -/* 0B95D0 7F084AA0 8E280000 */ lw $t0, ($s1) -/* 0B95D4 7F084AA4 C7AA0370 */ lwc1 $f10, 0x370($sp) -/* 0B95D8 7F084AA8 46101082 */ mul.s $f2, $f2, $f16 -/* 0B95DC 7F084AAC 00000000 */ nop -/* 0B95E0 7F084AB0 46107382 */ mul.s $f14, $f14, $f16 -/* 0B95E4 7F084AB4 46001307 */ neg.s $f12, $f2 -/* 0B95E8 7F084AB8 E7AC0320 */ swc1 $f12, 0x320($sp) -/* 0B95EC 7F084ABC E7AE0324 */ swc1 $f14, 0x324($sp) -/* 0B95F0 7F084AC0 C5060494 */ lwc1 $f6, 0x494($t0) -/* 0B95F4 7F084AC4 E7A60048 */ swc1 $f6, 0x48($sp) -/* 0B95F8 7F084AC8 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0B95FC 7F084ACC C508048C */ lwc1 $f8, 0x48c($t0) -/* 0B9600 7F084AD0 460A2181 */ sub.s $f6, $f4, $f10 -/* 0B9604 7F084AD4 E7A80044 */ swc1 $f8, 0x44($sp) -/* 0B9608 7F084AD8 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0B960C 7F084ADC C7AA0368 */ lwc1 $f10, 0x368($sp) -/* 0B9610 7F084AE0 460C3202 */ mul.s $f8, $f6, $f12 -/* 0B9614 7F084AE4 460A2181 */ sub.s $f6, $f4, $f10 -/* 0B9618 7F084AE8 460E3102 */ mul.s $f4, $f6, $f14 -/* 0B961C 7F084AEC 46044480 */ add.s $f18, $f8, $f4 -/* 0B9620 7F084AF0 4614903C */ c.lt.s $f18, $f20 -/* 0B9624 7F084AF4 00000000 */ nop -/* 0B9628 7F084AF8 45000006 */ bc1f .L7F084B14 -/* 0B962C 7F084AFC 00000000 */ nop -/* 0B9630 7F084B00 46007287 */ neg.s $f10, $f14 -/* 0B9634 7F084B04 46006187 */ neg.s $f6, $f12 -/* 0B9638 7F084B08 46009487 */ neg.s $f18, $f18 -/* 0B963C 7F084B0C E7AA0324 */ swc1 $f10, 0x324($sp) -/* 0B9640 7F084B10 E7A60320 */ swc1 $f6, 0x320($sp) -.L7F084B14: -/* 0B9644 7F084B14 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0B9648 7F084B18 C7A40350 */ lwc1 $f4, 0x350($sp) -/* 0B964C 7F084B1C C7A60320 */ lwc1 $f6, 0x320($sp) -/* 0B9650 7F084B20 46044281 */ sub.s $f10, $f8, $f4 -/* 0B9654 7F084B24 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0B9658 7F084B28 46065202 */ mul.s $f8, $f10, $f6 -/* 0B965C 7F084B2C C7AA0348 */ lwc1 $f10, 0x348($sp) -/* 0B9660 7F084B30 460A2181 */ sub.s $f6, $f4, $f10 -/* 0B9664 7F084B34 C7A40324 */ lwc1 $f4, 0x324($sp) -/* 0B9668 7F084B38 46043282 */ mul.s $f10, $f6, $f4 -/* 0B966C 7F084B3C 460A4000 */ add.s $f0, $f8, $f10 -/* 0B9670 7F084B40 4612003C */ c.lt.s $f0, $f18 -/* 0B9674 7F084B44 00000000 */ nop -/* 0B9678 7F084B48 45020004 */ bc1fl .L7F084B5C -/* 0B967C 7F084B4C C7A40368 */ lwc1 $f4, 0x368($sp) -/* 0B9680 7F084B50 46009181 */ sub.s $f6, $f18, $f0 -/* 0B9684 7F084B54 E7A6031C */ swc1 $f6, 0x31c($sp) -/* 0B9688 7F084B58 C7A40368 */ lwc1 $f4, 0x368($sp) -.L7F084B5C: -/* 0B968C 7F084B5C C7A80374 */ lwc1 $f8, 0x374($sp) -/* 0B9690 7F084B60 C7AA0370 */ lwc1 $f10, 0x370($sp) -/* 0B9694 7F084B64 C7A6037C */ lwc1 $f6, 0x37c($sp) -/* 0B9698 7F084B68 46082081 */ sub.s $f2, $f4, $f8 -/* 0B969C 7F084B6C 46065381 */ sub.s $f14, $f10, $f6 -/* 0B96A0 7F084B70 46021102 */ mul.s $f4, $f2, $f2 -/* 0B96A4 7F084B74 E7A20338 */ swc1 $f2, 0x338($sp) -/* 0B96A8 7F084B78 460E7202 */ mul.s $f8, $f14, $f14 -/* 0B96AC 7F084B7C E7AE0334 */ swc1 $f14, 0x334($sp) -/* 0B96B0 7F084B80 0C007DF8 */ jal sqrtf -/* 0B96B4 7F084B84 46082300 */ add.s $f12, $f4, $f8 -/* 0B96B8 7F084B88 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B96BC 7F084B8C 44815000 */ mtc1 $at, $f10 -/* 0B96C0 7F084B90 C7A20338 */ lwc1 $f2, 0x338($sp) -/* 0B96C4 7F084B94 C7AE0334 */ lwc1 $f14, 0x334($sp) -/* 0B96C8 7F084B98 46005403 */ div.s $f16, $f10, $f0 -/* 0B96CC 7F084B9C 8E280000 */ lw $t0, ($s1) -/* 0B96D0 7F084BA0 C7AA0370 */ lwc1 $f10, 0x370($sp) -/* 0B96D4 7F084BA4 46101082 */ mul.s $f2, $f2, $f16 -/* 0B96D8 7F084BA8 00000000 */ nop -/* 0B96DC 7F084BAC 46107382 */ mul.s $f14, $f14, $f16 -/* 0B96E0 7F084BB0 46001307 */ neg.s $f12, $f2 -/* 0B96E4 7F084BB4 E7AC0308 */ swc1 $f12, 0x308($sp) -/* 0B96E8 7F084BB8 E7AE030C */ swc1 $f14, 0x30c($sp) -/* 0B96EC 7F084BBC C5060494 */ lwc1 $f6, 0x494($t0) -/* 0B96F0 7F084BC0 E7A60048 */ swc1 $f6, 0x48($sp) -/* 0B96F4 7F084BC4 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0B96F8 7F084BC8 C504048C */ lwc1 $f4, 0x48c($t0) -/* 0B96FC 7F084BCC 460A4181 */ sub.s $f6, $f8, $f10 -/* 0B9700 7F084BD0 E7A40044 */ swc1 $f4, 0x44($sp) -/* 0B9704 7F084BD4 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 0B9708 7F084BD8 C7AA0368 */ lwc1 $f10, 0x368($sp) -/* 0B970C 7F084BDC 460C3102 */ mul.s $f4, $f6, $f12 -/* 0B9710 7F084BE0 460A4181 */ sub.s $f6, $f8, $f10 -/* 0B9714 7F084BE4 460E3202 */ mul.s $f8, $f6, $f14 -/* 0B9718 7F084BE8 46082480 */ add.s $f18, $f4, $f8 -/* 0B971C 7F084BEC 4614903C */ c.lt.s $f18, $f20 -/* 0B9720 7F084BF0 00000000 */ nop -/* 0B9724 7F084BF4 45000006 */ bc1f .L7F084C10 -/* 0B9728 7F084BF8 00000000 */ nop -/* 0B972C 7F084BFC 46007407 */ neg.s $f16, $f14 -/* 0B9730 7F084C00 46006287 */ neg.s $f10, $f12 -/* 0B9734 7F084C04 46009487 */ neg.s $f18, $f18 -/* 0B9738 7F084C08 E7AA0308 */ swc1 $f10, 0x308($sp) -/* 0B973C 7F084C0C E7B0030C */ swc1 $f16, 0x30c($sp) -.L7F084C10: -/* 0B9740 7F084C10 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 0B9744 7F084C14 C7A40350 */ lwc1 $f4, 0x350($sp) -/* 0B9748 7F084C18 C7AC0308 */ lwc1 $f12, 0x308($sp) -/* 0B974C 7F084C1C C7B0030C */ lwc1 $f16, 0x30c($sp) -/* 0B9750 7F084C20 46043201 */ sub.s $f8, $f6, $f4 -/* 0B9754 7F084C24 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0B9758 7F084C28 460C4282 */ mul.s $f10, $f8, $f12 -/* 0B975C 7F084C2C C7A80348 */ lwc1 $f8, 0x348($sp) -/* 0B9760 7F084C30 46082201 */ sub.s $f8, $f4, $f8 -/* 0B9764 7F084C34 46104202 */ mul.s $f8, $f8, $f16 -/* 0B9768 7F084C38 46085000 */ add.s $f0, $f10, $f8 -/* 0B976C 7F084C3C C7AA0344 */ lwc1 $f10, 0x344($sp) -/* 0B9770 7F084C40 460A3201 */ sub.s $f8, $f6, $f10 -/* 0B9774 7F084C44 C7AA033C */ lwc1 $f10, 0x33c($sp) -/* 0B9778 7F084C48 460C4182 */ mul.s $f6, $f8, $f12 -/* 0B977C 7F084C4C 460A2201 */ sub.s $f8, $f4, $f10 -/* 0B9780 7F084C50 46104102 */ mul.s $f4, $f8, $f16 -/* 0B9784 7F084C54 46043080 */ add.s $f2, $f6, $f4 -/* 0B9788 7F084C58 4600103C */ c.lt.s $f2, $f0 -/* 0B978C 7F084C5C 00000000 */ nop -/* 0B9790 7F084C60 45020003 */ bc1fl .L7F084C70 -/* 0B9794 7F084C64 4612003C */ c.lt.s $f0, $f18 -/* 0B9798 7F084C68 46001006 */ mov.s $f0, $f2 -/* 0B979C 7F084C6C 4612003C */ c.lt.s $f0, $f18 -.L7F084C70: -/* 0B97A0 7F084C70 00000000 */ nop -/* 0B97A4 7F084C74 45020004 */ bc1fl .L7F084C88 -/* 0B97A8 7F084C78 C7A20304 */ lwc1 $f2, 0x304($sp) -/* 0B97AC 7F084C7C 46009081 */ sub.s $f2, $f18, $f0 -/* 0B97B0 7F084C80 E7A20304 */ swc1 $f2, 0x304($sp) -/* 0B97B4 7F084C84 C7A20304 */ lwc1 $f2, 0x304($sp) -.L7F084C88: -/* 0B97B8 7F084C88 C7AA031C */ lwc1 $f10, 0x31c($sp) -/* 0B97BC 7F084C8C 4602A03E */ c.le.s $f20, $f2 -/* 0B97C0 7F084C90 00000000 */ nop -/* 0B97C4 7F084C94 4502000D */ bc1fl .L7F084CCC -/* 0B97C8 7F084C98 C7A0031C */ lwc1 $f0, 0x31c($sp) -/* 0B97CC 7F084C9C 460A103C */ c.lt.s $f2, $f10 -/* 0B97D0 7F084CA0 00000000 */ nop -/* 0B97D4 7F084CA4 45030006 */ bc1tl .L7F084CC0 -/* 0B97D8 7F084CA8 E7B00324 */ swc1 $f16, 0x324($sp) -/* 0B97DC 7F084CAC 4614503C */ c.lt.s $f10, $f20 -/* 0B97E0 7F084CB0 00000000 */ nop -/* 0B97E4 7F084CB4 45020005 */ bc1fl .L7F084CCC -/* 0B97E8 7F084CB8 C7A0031C */ lwc1 $f0, 0x31c($sp) -/* 0B97EC 7F084CBC E7B00324 */ swc1 $f16, 0x324($sp) -.L7F084CC0: -/* 0B97F0 7F084CC0 E7AC0320 */ swc1 $f12, 0x320($sp) -/* 0B97F4 7F084CC4 E7A2031C */ swc1 $f2, 0x31c($sp) -/* 0B97F8 7F084CC8 C7A0031C */ lwc1 $f0, 0x31c($sp) -.L7F084CCC: -/* 0B97FC 7F084CCC C7A80324 */ lwc1 $f8, 0x324($sp) -/* 0B9800 7F084CD0 4600A03E */ c.le.s $f20, $f0 -/* 0B9804 7F084CD4 00000000 */ nop -/* 0B9808 7F084CD8 45020022 */ bc1fl .L7F084D64 -/* 0B980C 7F084CDC E7B40358 */ swc1 $f20, 0x358($sp) -/* 0B9810 7F084CE0 46080182 */ mul.s $f6, $f0, $f8 -/* 0B9814 7F084CE4 3C018005 */ lui $at, %hi(D_80055178) -/* 0B9818 7F084CE8 C4245178 */ lwc1 $f4, %lo(D_80055178)($at) -/* 0B981C 7F084CEC C7A80320 */ lwc1 $f8, 0x320($sp) -/* 0B9820 7F084CF0 3C018005 */ lui $at, %hi(D_8005517C) -/* 0B9824 7F084CF4 27A403AC */ addiu $a0, $sp, 0x3ac -/* 0B9828 7F084CF8 24050001 */ li $a1, 1 -/* 0B982C 7F084CFC 46043282 */ mul.s $f10, $f6, $f4 -/* 0B9830 7F084D00 C424517C */ lwc1 $f4, %lo(D_8005517C)($at) -/* 0B9834 7F084D04 46080182 */ mul.s $f6, $f0, $f8 -/* 0B9838 7F084D08 E7AA03AC */ swc1 $f10, 0x3ac($sp) -/* 0B983C 7F084D0C 46043282 */ mul.s $f10, $f6, $f4 -/* 0B9840 7F084D10 0FC1F658 */ jal sub_GAME_7F07D960 -/* 0B9844 7F084D14 E7AA03B4 */ swc1 $f10, 0x3b4($sp) -/* 0B9848 7F084D18 8E280000 */ lw $t0, ($s1) -/* 0B984C 7F084D1C E7B403AC */ swc1 $f20, 0x3ac($sp) -/* 0B9850 7F084D20 E7B403B4 */ swc1 $f20, 0x3b4($sp) -/* 0B9854 7F084D24 27AE0368 */ addiu $t6, $sp, 0x368 -/* 0B9858 7F084D28 8D050488 */ lw $a1, 0x488($t0) -/* 0B985C 7F084D2C AFAE0010 */ sw $t6, 0x10($sp) -/* 0B9860 7F084D30 8FA6035C */ lw $a2, 0x35c($sp) -/* 0B9864 7F084D34 02003825 */ move $a3, $s0 -/* 0B9868 7F084D38 0FC1F2B2 */ jal sub_GAME_7F07CAC8 -/* 0B986C 7F084D3C 2504048C */ addiu $a0, $t0, 0x48c -/* 0B9870 7F084D40 10400004 */ beqz $v0, .L7F084D54 -/* 0B9874 7F084D44 C7A8035C */ lwc1 $f8, 0x35c($sp) -/* 0B9878 7F084D48 3C018003 */ lui $at, %hi(D_80036464) -/* 0B987C 7F084D4C 10000002 */ b .L7F084D58 -/* 0B9880 7F084D50 E4286464 */ swc1 $f8, %lo(D_80036464)($at) -.L7F084D54: -/* 0B9884 7F084D54 E7B40358 */ swc1 $f20, 0x358($sp) -.L7F084D58: -/* 0B9888 7F084D58 10000002 */ b .L7F084D64 -/* 0B988C 7F084D5C 8E280000 */ lw $t0, ($s1) -/* 0B9890 7F084D60 E7B40358 */ swc1 $f20, 0x358($sp) -.L7F084D64: -/* 0B9894 7F084D64 3C018005 */ lui $at, %hi(D_80055180) -/* 0B9898 7F084D68 C42E5180 */ lwc1 $f14, %lo(D_80055180)($at) -/* 0B989C 7F084D6C 3C038003 */ lui $v1, %hi(D_80036484) -/* 0B98A0 7F084D70 24636484 */ addiu $v1, %lo(D_80036484) # addiu $v1, $v1, 0x6484 -/* 0B98A4 7F084D74 3C018003 */ lui $at, %hi(D_80036488) -/* 0B98A8 7F084D78 C4246488 */ lwc1 $f4, %lo(D_80036488)($at) -/* 0B98AC 7F084D7C C4660000 */ lwc1 $f6, ($v1) -/* 0B98B0 7F084D80 3C078003 */ lui $a3, %hi(D_80036474) -/* 0B98B4 7F084D84 24E76474 */ addiu $a3, %lo(D_80036474) # addiu $a3, $a3, 0x6474 -/* 0B98B8 7F084D88 46043280 */ add.s $f10, $f6, $f4 -/* 0B98BC 7F084D8C C4EC0000 */ lwc1 $f12, ($a3) -/* 0B98C0 7F084D90 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0B98C4 7F084D94 3C048005 */ lui $a0, %hi(clock_timer) -/* 0B98C8 7F084D98 E46A0000 */ swc1 $f10, ($v1) -/* 0B98CC 7F084D9C C4600000 */ lwc1 $f0, ($v1) -/* 0B98D0 7F084DA0 44815000 */ mtc1 $at, $f10 -/* 0B98D4 7F084DA4 46006406 */ mov.s $f16, $f12 -/* 0B98D8 7F084DA8 4600703E */ c.le.s $f14, $f0 -/* 0B98DC 7F084DAC 00000000 */ nop -/* 0B98E0 7F084DB0 45020005 */ bc1fl .L7F084DC8 -/* 0B98E4 7F084DB4 4614003C */ c.lt.s $f0, $f20 -/* 0B98E8 7F084DB8 460E0201 */ sub.s $f8, $f0, $f14 -/* 0B98EC 7F084DBC E4680000 */ swc1 $f8, ($v1) -/* 0B98F0 7F084DC0 C4600000 */ lwc1 $f0, ($v1) -/* 0B98F4 7F084DC4 4614003C */ c.lt.s $f0, $f20 -.L7F084DC8: -/* 0B98F8 7F084DC8 00000000 */ nop -/* 0B98FC 7F084DCC 45020005 */ bc1fl .L7F084DE4 -/* 0B9900 7F084DD0 C504014C */ lwc1 $f4, 0x14c($t0) -/* 0B9904 7F084DD4 460E0180 */ add.s $f6, $f0, $f14 -/* 0B9908 7F084DD8 E4660000 */ swc1 $f6, ($v1) -/* 0B990C 7F084DDC C4600000 */ lwc1 $f0, ($v1) -/* 0B9910 7F084DE0 C504014C */ lwc1 $f4, 0x14c($t0) -.L7F084DE4: -/* 0B9914 7F084DE4 3C018005 */ lui $at, %hi(D_80055184) -/* 0B9918 7F084DE8 C4265184 */ lwc1 $f6, %lo(D_80055184)($at) -/* 0B991C 7F084DEC 460A2202 */ mul.s $f8, $f4, $f10 -/* 0B9920 7F084DF0 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0B9924 7F084DF4 44815000 */ mtc1 $at, $f10 -/* 0B9928 7F084DF8 3C018005 */ lui $at, %hi(D_80055188) -/* 0B992C 7F084DFC 46064102 */ mul.s $f4, $f8, $f6 -/* 0B9930 7F084E00 00000000 */ nop -/* 0B9934 7F084E04 460A2202 */ mul.s $f8, $f4, $f10 -/* 0B9938 7F084E08 46004080 */ add.s $f2, $f8, $f0 -/* 0B993C 7F084E0C 4614103C */ c.lt.s $f2, $f20 -/* 0B9940 7F084E10 00000000 */ nop -/* 0B9944 7F084E14 45000002 */ bc1f .L7F084E20 -/* 0B9948 7F084E18 00000000 */ nop -/* 0B994C 7F084E1C 460E1080 */ add.s $f2, $f2, $f14 -.L7F084E20: -/* 0B9950 7F084E20 4602703E */ c.le.s $f14, $f2 -/* 0B9954 7F084E24 00000000 */ nop -/* 0B9958 7F084E28 45020003 */ bc1fl .L7F084E38 -/* 0B995C 7F084E2C 460C1001 */ sub.s $f0, $f2, $f12 -/* 0B9960 7F084E30 460E1081 */ sub.s $f2, $f2, $f14 -/* 0B9964 7F084E34 460C1001 */ sub.s $f0, $f2, $f12 -.L7F084E38: -/* 0B9968 7F084E38 C4265188 */ lwc1 $f6, %lo(D_80055188)($at) -/* 0B996C 7F084E3C 3C018005 */ lui $at, %hi(D_80055190) -/* 0B9970 7F084E40 4600303E */ c.le.s $f6, $f0 -/* 0B9974 7F084E44 00000000 */ nop -/* 0B9978 7F084E48 45000005 */ bc1f .L7F084E60 -/* 0B997C 7F084E4C 00000000 */ nop -/* 0B9980 7F084E50 3C018005 */ lui $at, %hi(D_8005518C) -/* 0B9984 7F084E54 C424518C */ lwc1 $f4, %lo(D_8005518C)($at) -/* 0B9988 7F084E58 10000009 */ b .L7F084E80 -/* 0B998C 7F084E5C 46041081 */ sub.s $f2, $f2, $f4 -.L7F084E60: -/* 0B9990 7F084E60 C42A5190 */ lwc1 $f10, %lo(D_80055190)($at) -/* 0B9994 7F084E64 3C018005 */ lui $at, %hi(D_80055194) -/* 0B9998 7F084E68 460A003C */ c.lt.s $f0, $f10 -/* 0B999C 7F084E6C 00000000 */ nop -/* 0B99A0 7F084E70 45000003 */ bc1f .L7F084E80 -/* 0B99A4 7F084E74 00000000 */ nop -/* 0B99A8 7F084E78 C4285194 */ lwc1 $f8, %lo(D_80055194)($at) -/* 0B99AC 7F084E7C 46081080 */ add.s $f2, $f2, $f8 -.L7F084E80: -/* 0B99B0 7F084E80 8C848374 */ lw $a0, %lo(clock_timer)($a0) -/* 0B99B4 7F084E84 00001025 */ move $v0, $zero -/* 0B99B8 7F084E88 3C018005 */ lui $at, %hi(D_80055198) -/* 0B99BC 7F084E8C 18800013 */ blez $a0, .L7F084EDC -/* 0B99C0 7F084E90 3C108003 */ lui $s0, %hi(D_80036478) -/* 0B99C4 7F084E94 C42E5198 */ lwc1 $f14, %lo(D_80055198)($at) -/* 0B99C8 7F084E98 26106478 */ addiu $s0, %lo(D_80036478) # addiu $s0, $s0, 0x6478 -/* 0B99CC 7F084E9C C60C0000 */ lwc1 $f12, ($s0) -/* 0B99D0 7F084EA0 24420001 */ addiu $v0, $v0, 1 -/* 0B99D4 7F084EA4 0044082A */ slt $at, $v0, $a0 -/* 0B99D8 7F084EA8 460C7482 */ mul.s $f18, $f14, $f12 -/* 0B99DC 7F084EAC 5020000A */ beql $at, $zero, .L7F084ED8 -/* 0B99E0 7F084EB0 46029300 */ add.s $f12, $f18, $f2 -/* 0B99E4 7F084EB4 46029300 */ add.s $f12, $f18, $f2 -.L7F084EB8: -/* 0B99E8 7F084EB8 24420001 */ addiu $v0, $v0, 1 -/* 0B99EC 7F084EBC 0044082A */ slt $at, $v0, $a0 -/* 0B99F0 7F084EC0 E60C0000 */ swc1 $f12, ($s0) -/* 0B99F4 7F084EC4 C60C0000 */ lwc1 $f12, ($s0) -/* 0B99F8 7F084EC8 460C7482 */ mul.s $f18, $f14, $f12 -/* 0B99FC 7F084ECC 5420FFFA */ bnezl $at, .L7F084EB8 -/* 0B9A00 7F084ED0 46029300 */ add.s $f12, $f18, $f2 -/* 0B9A04 7F084ED4 46029300 */ add.s $f12, $f18, $f2 -.L7F084ED8: -/* 0B9A08 7F084ED8 E60C0000 */ swc1 $f12, ($s0) -.L7F084EDC: -/* 0B9A0C 7F084EDC 3C108003 */ lui $s0, %hi(D_80036478) -/* 0B9A10 7F084EE0 26106478 */ addiu $s0, %lo(D_80036478) # addiu $s0, $s0, 0x6478 -/* 0B9A14 7F084EE4 3C018005 */ lui $at, %hi(D_8005519C) -/* 0B9A18 7F084EE8 C420519C */ lwc1 $f0, %lo(D_8005519C)($at) -/* 0B9A1C 7F084EEC C6080000 */ lwc1 $f8, ($s0) -/* 0B9A20 7F084EF0 3C018005 */ lui $at, %hi(D_800551A0) -/* 0B9A24 7F084EF4 C42251A0 */ lwc1 $f2, %lo(D_800551A0)($at) -/* 0B9A28 7F084EF8 46004182 */ mul.s $f6, $f8, $f0 -/* 0B9A2C 7F084EFC 2504048C */ addiu $a0, $t0, 0x48c -/* 0B9A30 7F084F00 3C068003 */ lui $a2, %hi(D_80036464) -/* 0B9A34 7F084F04 E4E60000 */ swc1 $f6, ($a3) -/* 0B9A38 7F084F08 C4EC0000 */ lwc1 $f12, ($a3) -/* 0B9A3C 7F084F0C 460C103E */ c.le.s $f2, $f12 -/* 0B9A40 7F084F10 00000000 */ nop -/* 0B9A44 7F084F14 45020007 */ bc1fl .L7F084F34 -/* 0B9A48 7F084F18 4614603C */ c.lt.s $f12, $f20 -/* 0B9A4C 7F084F1C 46026101 */ sub.s $f4, $f12, $f2 -/* 0B9A50 7F084F20 E4E40000 */ swc1 $f4, ($a3) -/* 0B9A54 7F084F24 C4EC0000 */ lwc1 $f12, ($a3) -/* 0B9A58 7F084F28 46006283 */ div.s $f10, $f12, $f0 -/* 0B9A5C 7F084F2C E60A0000 */ swc1 $f10, ($s0) -/* 0B9A60 7F084F30 4614603C */ c.lt.s $f12, $f20 -.L7F084F34: -/* 0B9A64 7F084F34 00000000 */ nop -/* 0B9A68 7F084F38 45020007 */ bc1fl .L7F084F58 -/* 0B9A6C 7F084F3C 8D050488 */ lw $a1, 0x488($t0) -/* 0B9A70 7F084F40 46026200 */ add.s $f8, $f12, $f2 -/* 0B9A74 7F084F44 E4E80000 */ swc1 $f8, ($a3) -/* 0B9A78 7F084F48 C4E60000 */ lwc1 $f6, ($a3) -/* 0B9A7C 7F084F4C 46003103 */ div.s $f4, $f6, $f0 -/* 0B9A80 7F084F50 E6040000 */ swc1 $f4, ($s0) -/* 0B9A84 7F084F54 8D050488 */ lw $a1, 0x488($t0) -.L7F084F58: -/* 0B9A88 7F084F58 E7B00354 */ swc1 $f16, 0x354($sp) -/* 0B9A8C 7F084F5C 0FC1F36A */ jal sub_GAME_7F07CDA8 -/* 0B9A90 7F084F60 8CC66464 */ lw $a2, %lo(D_80036464)($a2) -/* 0B9A94 7F084F64 3C038003 */ lui $v1, %hi(D_80036484) -/* 0B9A98 7F084F68 3C018005 */ lui $at, %hi(D_800551A8) -/* 0B9A9C 7F084F6C C42E51A8 */ lwc1 $f14, %lo(D_800551A8)($at) -/* 0B9AA0 7F084F70 24636484 */ addiu $v1, %lo(D_80036484) # addiu $v1, $v1, 0x6484 -/* 0B9AA4 7F084F74 14400009 */ bnez $v0, .L7F084F9C -/* 0B9AA8 7F084F78 C7B00354 */ lwc1 $f16, 0x354($sp) -/* 0B9AAC 7F084F7C 3C018003 */ lui $at, %hi(D_80036474) -/* 0B9AB0 7F084F80 E4306474 */ swc1 $f16, %lo(D_80036474)($at) -/* 0B9AB4 7F084F84 C42A6474 */ lwc1 $f10, %lo(D_80036474)($at) -/* 0B9AB8 7F084F88 3C018005 */ lui $at, %hi(D_800551AC) -/* 0B9ABC 7F084F8C C42851AC */ lwc1 $f8, %lo(D_800551AC)($at) -/* 0B9AC0 7F084F90 E4700000 */ swc1 $f16, ($v1) -/* 0B9AC4 7F084F94 46085183 */ div.s $f6, $f10, $f8 -/* 0B9AC8 7F084F98 E6060000 */ swc1 $f6, ($s0) -.L7F084F9C: -/* 0B9ACC 7F084F9C 3C038003 */ lui $v1, %hi(ptr_playerstank) -/* 0B9AD0 7F084FA0 8C636450 */ lw $v1, %lo(ptr_playerstank)($v1) -/* 0B9AD4 7F084FA4 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799A8) -/* 0B9AD8 7F084FA8 244299A8 */ addiu $v0, %lo(flt_CODE_bss_800799A8) # addiu $v0, $v0, -0x6658 -/* 0B9ADC 7F084FAC 1060002F */ beqz $v1, .L7F08506C -/* 0B9AE0 7F084FB0 27B002B4 */ addiu $s0, $sp, 0x2b4 -/* 0B9AE4 7F084FB4 8C6F0004 */ lw $t7, 4($v1) -/* 0B9AE8 7F084FB8 C4440000 */ lwc1 $f4, ($v0) -/* 0B9AEC 7F084FBC C44A0008 */ lwc1 $f10, 8($v0) -/* 0B9AF0 7F084FC0 E7B402F8 */ swc1 $f20, 0x2f8($sp) -/* 0B9AF4 7F084FC4 C7AC0358 */ lwc1 $f12, 0x358($sp) -/* 0B9AF8 7F084FC8 02002825 */ move $a1, $s0 -/* 0B9AFC 7F084FCC AFAF0300 */ sw $t7, 0x300($sp) -/* 0B9B00 7F084FD0 E7A402F4 */ swc1 $f4, 0x2f4($sp) -/* 0B9B04 7F084FD4 0FC1617F */ jal sub_GAME_7F0585FC -/* 0B9B08 7F084FD8 E7AA02FC */ swc1 $f10, 0x2fc($sp) -/* 0B9B0C 7F084FDC 02002025 */ move $a0, $s0 -/* 0B9B10 7F084FE0 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0B9B14 7F084FE4 27A502F4 */ addiu $a1, $sp, 0x2f4 -/* 0B9B18 7F084FE8 0FC1F1ED */ jal sub_GAME_7F07C7B4 -/* 0B9B1C 7F084FEC 00000000 */ nop -/* 0B9B20 7F084FF0 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799A8) -/* 0B9B24 7F084FF4 244299A8 */ addiu $v0, %lo(flt_CODE_bss_800799A8) # addiu $v0, $v0, -0x6658 -/* 0B9B28 7F084FF8 C4480000 */ lwc1 $f8, ($v0) -/* 0B9B2C 7F084FFC C7A602F4 */ lwc1 $f6, 0x2f4($sp) -/* 0B9B30 7F085000 C44A0008 */ lwc1 $f10, 8($v0) -/* 0B9B34 7F085004 3C018005 */ lui $at, %hi(D_800551BC) -/* 0B9B38 7F085008 46064101 */ sub.s $f4, $f8, $f6 -/* 0B9B3C 7F08500C C7A802FC */ lwc1 $f8, 0x2fc($sp) -/* 0B9B40 7F085010 E7B402F8 */ swc1 $f20, 0x2f8($sp) -/* 0B9B44 7F085014 02002825 */ move $a1, $s0 -/* 0B9B48 7F085018 E7A402F4 */ swc1 $f4, 0x2f4($sp) -/* 0B9B4C 7F08501C 46085181 */ sub.s $f6, $f10, $f8 -/* 0B9B50 7F085020 C42451BC */ lwc1 $f4, %lo(D_800551BC)($at) -/* 0B9B54 7F085024 3C018003 */ lui $at, %hi(D_80036464) -/* 0B9B58 7F085028 C42A6464 */ lwc1 $f10, %lo(D_80036464)($at) -/* 0B9B5C 7F08502C E7A602FC */ swc1 $f6, 0x2fc($sp) -/* 0B9B60 7F085030 0FC1617F */ jal sub_GAME_7F0585FC -/* 0B9B64 7F085034 460A2301 */ sub.s $f12, $f4, $f10 -/* 0B9B68 7F085038 8FAB0300 */ lw $t3, 0x300($sp) -/* 0B9B6C 7F08503C 02002825 */ move $a1, $s0 -/* 0B9B70 7F085040 8D780014 */ lw $t8, 0x14($t3) -/* 0B9B74 7F085044 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0B9B78 7F085048 C70C0014 */ lwc1 $f12, 0x14($t8) -/* 0B9B7C 7F08504C 02002025 */ move $a0, $s0 -/* 0B9B80 7F085050 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0B9B84 7F085054 27A502F4 */ addiu $a1, $sp, 0x2f4 -/* 0B9B88 7F085058 27A402F4 */ addiu $a0, $sp, 0x2f4 -/* 0B9B8C 7F08505C 0FC1F658 */ jal sub_GAME_7F07D960 -/* 0B9B90 7F085060 24050001 */ li $a1, 1 -/* 0B9B94 7F085064 3C018005 */ lui $at, %hi(D_800551CC) -/* 0B9B98 7F085068 C42E51CC */ lwc1 $f14, %lo(D_800551CC)($at) -.L7F08506C: -/* 0B9B9C 7F08506C 3C048005 */ lui $a0, %hi(clock_timer) -/* 0B9BA0 7F085070 8C848374 */ lw $a0, %lo(clock_timer)($a0) -/* 0B9BA4 7F085074 3C018003 */ lui $at, %hi(D_80036474) -/* 0B9BA8 7F085078 C42C6474 */ lwc1 $f12, %lo(D_80036474)($at) -/* 0B9BAC 7F08507C 5880001B */ blezl $a0, .L7F0850EC -/* 0B9BB0 7F085080 3C0143B4 */ lui $at, 0x43b4 -/* 0B9BB4 7F085084 18800018 */ blez $a0, .L7F0850E8 -/* 0B9BB8 7F085088 00001025 */ move $v0, $zero -/* 0B9BBC 7F08508C 3C018003 */ lui $at, %hi(D_80036488) -/* 0B9BC0 7F085090 C4286488 */ lwc1 $f8, %lo(D_80036488)($at) -/* 0B9BC4 7F085094 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B9BC8 7F085098 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B9BCC 7F08509C 3C038003 */ lui $v1, %hi(D_8003647C) -/* 0B9BD0 7F0850A0 2463647C */ addiu $v1, %lo(D_8003647C) # addiu $v1, $v1, 0x647c -/* 0B9BD4 7F0850A4 46064003 */ div.s $f0, $f8, $f6 -/* 0B9BD8 7F0850A8 C4700000 */ lwc1 $f16, ($v1) -/* 0B9BDC 7F0850AC 24420001 */ addiu $v0, $v0, 1 -/* 0B9BE0 7F0850B0 0044082A */ slt $at, $v0, $a0 -/* 0B9BE4 7F0850B4 46107482 */ mul.s $f18, $f14, $f16 -/* 0B9BE8 7F0850B8 5020000A */ beql $at, $zero, .L7F0850E4 -/* 0B9BEC 7F0850BC 46009400 */ add.s $f16, $f18, $f0 -/* 0B9BF0 7F0850C0 46009400 */ add.s $f16, $f18, $f0 -.L7F0850C4: -/* 0B9BF4 7F0850C4 24420001 */ addiu $v0, $v0, 1 -/* 0B9BF8 7F0850C8 0044082A */ slt $at, $v0, $a0 -/* 0B9BFC 7F0850CC E4700000 */ swc1 $f16, ($v1) -/* 0B9C00 7F0850D0 C4700000 */ lwc1 $f16, ($v1) -/* 0B9C04 7F0850D4 46107482 */ mul.s $f18, $f14, $f16 -/* 0B9C08 7F0850D8 5420FFFA */ bnezl $at, .L7F0850C4 -/* 0B9C0C 7F0850DC 46009400 */ add.s $f16, $f18, $f0 -/* 0B9C10 7F0850E0 46009400 */ add.s $f16, $f18, $f0 -.L7F0850E4: -/* 0B9C14 7F0850E4 E4700000 */ swc1 $f16, ($v1) -.L7F0850E8: -/* 0B9C18 7F0850E8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -.L7F0850EC: -/* 0B9C1C 7F0850EC 44817000 */ mtc1 $at, $f14 -/* 0B9C20 7F0850F0 3C038003 */ lui $v1, %hi(D_8003647C) -/* 0B9C24 7F0850F4 2463647C */ addiu $v1, %lo(D_8003647C) # addiu $v1, $v1, 0x647c -/* 0B9C28 7F0850F8 3C018005 */ lui $at, %hi(D_800551D0) -/* 0B9C2C 7F0850FC C42451D0 */ lwc1 $f4, %lo(D_800551D0)($at) -/* 0B9C30 7F085100 C4660000 */ lwc1 $f6, ($v1) -/* 0B9C34 7F085104 8E280000 */ lw $t0, ($s1) -/* 0B9C38 7F085108 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0B9C3C 7F08510C 46043082 */ mul.s $f2, $f6, $f4 -/* 0B9C40 7F085110 44814000 */ mtc1 $at, $f8 -/* 0B9C44 7F085114 C50A014C */ lwc1 $f10, 0x14c($t0) -/* 0B9C48 7F085118 3C018005 */ lui $at, %hi(D_800551D4) -/* 0B9C4C 7F08511C C42451D4 */ lwc1 $f4, %lo(D_800551D4)($at) -/* 0B9C50 7F085120 46085182 */ mul.s $f6, $f10, $f8 -/* 0B9C54 7F085124 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0B9C58 7F085128 44814000 */ mtc1 $at, $f8 -/* 0B9C5C 7F08512C 3C018003 */ lui $at, %hi(D_80036464) -/* 0B9C60 7F085130 46043282 */ mul.s $f10, $f6, $f4 -/* 0B9C64 7F085134 C4246464 */ lwc1 $f4, %lo(D_80036464)($at) -/* 0B9C68 7F085138 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0B9C6C 7F08513C 46085182 */ mul.s $f6, $f10, $f8 -/* 0B9C70 7F085140 460C2280 */ add.s $f10, $f4, $f12 -/* 0B9C74 7F085144 44812000 */ mtc1 $at, $f4 -/* 0B9C78 7F085148 3C018005 */ lui $at, %hi(D_800551D8) -/* 0B9C7C 7F08514C 46065200 */ add.s $f8, $f10, $f6 -/* 0B9C80 7F085150 46041282 */ mul.s $f10, $f2, $f4 -/* 0B9C84 7F085154 460A4180 */ add.s $f6, $f8, $f10 -/* 0B9C88 7F085158 C42851D8 */ lwc1 $f8, %lo(D_800551D8)($at) -/* 0B9C8C 7F08515C 460E3102 */ mul.s $f4, $f6, $f14 -/* 0B9C90 7F085160 46082283 */ div.s $f10, $f4, $f8 -/* 0B9C94 7F085164 E50A0148 */ swc1 $f10, 0x148($t0) -/* 0B9C98 7F085168 8E280000 */ lw $t0, ($s1) -/* 0B9C9C 7F08516C C5000148 */ lwc1 $f0, 0x148($t0) -/* 0B9CA0 7F085170 4614003C */ c.lt.s $f0, $f20 -/* 0B9CA4 7F085174 00000000 */ nop -/* 0B9CA8 7F085178 4502000A */ bc1fl .L7F0851A4 -/* 0B9CAC 7F08517C 4600703E */ c.le.s $f14, $f0 -/* 0B9CB0 7F085180 460E0180 */ add.s $f6, $f0, $f14 -.L7F085184: -/* 0B9CB4 7F085184 E5060148 */ swc1 $f6, 0x148($t0) -/* 0B9CB8 7F085188 8E280000 */ lw $t0, ($s1) -/* 0B9CBC 7F08518C C5000148 */ lwc1 $f0, 0x148($t0) -/* 0B9CC0 7F085190 4614003C */ c.lt.s $f0, $f20 -/* 0B9CC4 7F085194 00000000 */ nop -/* 0B9CC8 7F085198 4503FFFA */ bc1tl .L7F085184 -/* 0B9CCC 7F08519C 460E0180 */ add.s $f6, $f0, $f14 -/* 0B9CD0 7F0851A0 4600703E */ c.le.s $f14, $f0 -.L7F0851A4: -/* 0B9CD4 7F0851A4 00000000 */ nop -/* 0B9CD8 7F0851A8 45000009 */ bc1f .L7F0851D0 -/* 0B9CDC 7F0851AC 00000000 */ nop -/* 0B9CE0 7F0851B0 460E0101 */ sub.s $f4, $f0, $f14 -.L7F0851B4: -/* 0B9CE4 7F0851B4 E5040148 */ swc1 $f4, 0x148($t0) -/* 0B9CE8 7F0851B8 8E280000 */ lw $t0, ($s1) -/* 0B9CEC 7F0851BC C5000148 */ lwc1 $f0, 0x148($t0) -/* 0B9CF0 7F0851C0 4600703E */ c.le.s $f14, $f0 -/* 0B9CF4 7F0851C4 00000000 */ nop -/* 0B9CF8 7F0851C8 4503FFFA */ bc1tl .L7F0851B4 -/* 0B9CFC 7F0851CC 460E0101 */ sub.s $f4, $f0, $f14 -.L7F0851D0: -/* 0B9D00 7F0851D0 10000022 */ b .L7F08525C -/* 0B9D04 7F0851D4 00000000 */ nop -.L7F0851D8: -/* 0B9D08 7F0851D8 C508014C */ lwc1 $f8, 0x14c($t0) -/* 0B9D0C 7F0851DC C52A0000 */ lwc1 $f10, ($t1) -/* 0B9D10 7F0851E0 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0B9D14 7F0851E4 44812000 */ mtc1 $at, $f4 -/* 0B9D18 7F0851E8 460A4182 */ mul.s $f6, $f8, $f10 -/* 0B9D1C 7F0851EC C50A0148 */ lwc1 $f10, 0x148($t0) -/* 0B9D20 7F0851F0 3C0143B4 */ lui $at, 0x43b4 -/* 0B9D24 7F0851F4 46043202 */ mul.s $f8, $f6, $f4 -/* 0B9D28 7F0851F8 46085000 */ add.s $f0, $f10, $f8 -/* 0B9D2C 7F0851FC 4614003C */ c.lt.s $f0, $f20 -/* 0B9D30 7F085200 00000000 */ nop -/* 0B9D34 7F085204 45020009 */ bc1fl .L7F08522C -/* 0B9D38 7F085208 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B9D3C 7F08520C 44817000 */ mtc1 $at, $f14 -/* 0B9D40 7F085210 00000000 */ nop -/* 0B9D44 7F085214 460E0000 */ add.s $f0, $f0, $f14 -.L7F085218: -/* 0B9D48 7F085218 4614003C */ c.lt.s $f0, $f20 -/* 0B9D4C 7F08521C 00000000 */ nop -/* 0B9D50 7F085220 4503FFFD */ bc1tl .L7F085218 -/* 0B9D54 7F085224 460E0000 */ add.s $f0, $f0, $f14 -/* 0B9D58 7F085228 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -.L7F08522C: -/* 0B9D5C 7F08522C 44817000 */ mtc1 $at, $f14 -/* 0B9D60 7F085230 00000000 */ nop -/* 0B9D64 7F085234 4600703E */ c.le.s $f14, $f0 -/* 0B9D68 7F085238 00000000 */ nop -/* 0B9D6C 7F08523C 45020007 */ bc1fl .L7F08525C -/* 0B9D70 7F085240 E5000148 */ swc1 $f0, 0x148($t0) -/* 0B9D74 7F085244 460E0001 */ sub.s $f0, $f0, $f14 -.L7F085248: -/* 0B9D78 7F085248 4600703E */ c.le.s $f14, $f0 -/* 0B9D7C 7F08524C 00000000 */ nop -/* 0B9D80 7F085250 4503FFFD */ bc1tl .L7F085248 -/* 0B9D84 7F085254 460E0001 */ sub.s $f0, $f0, $f14 -/* 0B9D88 7F085258 E5000148 */ swc1 $f0, 0x148($t0) -.L7F08525C: -/* 0B9D8C 7F08525C 0FC205E4 */ jal sub_GAME_7F081790 -/* 0B9D90 7F085260 00000000 */ nop -/* 0B9D94 7F085264 0FC1E67C */ jal sub_GAME_7F0799F0 -/* 0B9D98 7F085268 E7B402AC */ swc1 $f20, 0x2ac($sp) -/* 0B9D9C 7F08526C 14400004 */ bnez $v0, .L7F085280 -/* 0B9DA0 7F085270 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 0B9DA4 7F085274 44813000 */ mtc1 $at, $f6 -/* 0B9DA8 7F085278 1000000B */ b .L7F0852A8 -/* 0B9DAC 7F08527C E7A602AC */ swc1 $f6, 0x2ac($sp) -.L7F085280: -/* 0B9DB0 7F085280 0FC1E67C */ jal sub_GAME_7F0799F0 -/* 0B9DB4 7F085284 00000000 */ nop -/* 0B9DB8 7F085288 24010001 */ li $at, 1 -/* 0B9DBC 7F08528C 14410004 */ bne $v0, $at, .L7F0852A0 -/* 0B9DC0 7F085290 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 0B9DC4 7F085294 44812000 */ mtc1 $at, $f4 -/* 0B9DC8 7F085298 10000003 */ b .L7F0852A8 -/* 0B9DCC 7F08529C E7A402AC */ swc1 $f4, 0x2ac($sp) -.L7F0852A0: -/* 0B9DD0 7F0852A0 0FC1E67C */ jal sub_GAME_7F0799F0 -/* 0B9DD4 7F0852A4 00000000 */ nop -.L7F0852A8: -/* 0B9DD8 7F0852A8 8E280000 */ lw $t0, ($s1) -/* 0B9DDC 7F0852AC C7AA02AC */ lwc1 $f10, 0x2ac($sp) -/* 0B9DE0 7F0852B0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B9DE4 7F0852B4 C50000A0 */ lwc1 $f0, 0xa0($t0) -/* 0B9DE8 7F0852B8 250400A0 */ addiu $a0, $t0, 0xa0 -/* 0B9DEC 7F0852BC 250600A4 */ addiu $a2, $t0, 0xa4 -/* 0B9DF0 7F0852C0 46005032 */ c.eq.s $f10, $f0 -/* 0B9DF4 7F0852C4 00000000 */ nop -/* 0B9DF8 7F0852C8 4503000C */ bc1tl .L7F0852FC -/* 0B9DFC 7F0852CC C7A602AC */ lwc1 $f6, 0x2ac($sp) -/* 0B9E00 7F0852D0 44810000 */ mtc1 $at, $f0 -/* 0B9E04 7F0852D4 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0B9E08 7F0852D8 44814000 */ mtc1 $at, $f8 -/* 0B9E0C 7F0852DC 44055000 */ mfc1 $a1, $f10 -/* 0B9E10 7F0852E0 44070000 */ mfc1 $a3, $f0 -/* 0B9E14 7F0852E4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0B9E18 7F0852E8 0FC10BC6 */ jal sub_GAME_7F042F18 -/* 0B9E1C 7F0852EC E7A80014 */ swc1 $f8, 0x14($sp) -/* 0B9E20 7F0852F0 8E280000 */ lw $t0, ($s1) -/* 0B9E24 7F0852F4 C50000A0 */ lwc1 $f0, 0xa0($t0) -/* 0B9E28 7F0852F8 C7A602AC */ lwc1 $f6, 0x2ac($sp) -.L7F0852FC: -/* 0B9E2C 7F0852FC 3C108003 */ lui $s0, %hi(SFX_80036458) -/* 0B9E30 7F085300 3C0C8003 */ lui $t4, %hi(in_tank_flag) -/* 0B9E34 7F085304 46003032 */ c.eq.s $f6, $f0 -/* 0B9E38 7F085308 26106458 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6458 -/* 0B9E3C 7F08530C 45000002 */ bc1f .L7F085318 -/* 0B9E40 7F085310 00000000 */ nop -/* 0B9E44 7F085314 E51400A4 */ swc1 $f20, 0xa4($t0) -.L7F085318: -/* 0B9E48 7F085318 8D8C6448 */ lw $t4, %lo(in_tank_flag)($t4) -/* 0B9E4C 7F08531C 24010001 */ li $at, 1 -/* 0B9E50 7F085320 15810209 */ bne $t4, $at, .L7F085B48 -/* 0B9E54 7F085324 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799B8) -/* 0B9E58 7F085328 8C4299B8 */ lw $v0, %lo(dword_CODE_bss_800799B8)($v0) -/* 0B9E5C 7F08532C 3C038003 */ lui $v1, %hi(ptr_playerstank) -/* 0B9E60 7F085330 24010001 */ li $at, 1 -/* 0B9E64 7F085334 144000BF */ bnez $v0, .L7F085634 -/* 0B9E68 7F085338 00000000 */ nop -/* 0B9E6C 7F08533C 8C636450 */ lw $v1, %lo(ptr_playerstank)($v1) -/* 0B9E70 7F085340 3C018005 */ lui $at, %hi(D_800551DC) -/* 0B9E74 7F085344 27A50268 */ addiu $a1, $sp, 0x268 -/* 0B9E78 7F085348 106000AD */ beqz $v1, .L7F085600 -/* 0B9E7C 7F08534C 00000000 */ nop -/* 0B9E80 7F085350 C42451DC */ lwc1 $f4, %lo(D_800551DC)($at) -/* 0B9E84 7F085354 3C018003 */ lui $at, %hi(D_80036464) -/* 0B9E88 7F085358 C42A6464 */ lwc1 $f10, %lo(D_80036464)($at) -/* 0B9E8C 7F08535C 8C700004 */ lw $s0, 4($v1) -/* 0B9E90 7F085360 0FC1617F */ jal sub_GAME_7F0585FC -/* 0B9E94 7F085364 460A2301 */ sub.s $f12, $f4, $f10 -/* 0B9E98 7F085368 8E190014 */ lw $t9, 0x14($s0) -/* 0B9E9C 7F08536C 27A50268 */ addiu $a1, $sp, 0x268 -/* 0B9EA0 7F085370 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0B9EA4 7F085374 C72C0014 */ lwc1 $f12, 0x14($t9) -/* 0B9EA8 7F085378 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799A8) -/* 0B9EAC 7F08537C 244299A8 */ addiu $v0, %lo(flt_CODE_bss_800799A8) # addiu $v0, $v0, -0x6658 -/* 0B9EB0 7F085380 C4480000 */ lwc1 $f8, ($v0) -/* 0B9EB4 7F085384 C4460004 */ lwc1 $f6, 4($v0) -/* 0B9EB8 7F085388 C4440008 */ lwc1 $f4, 8($v0) -/* 0B9EBC 7F08538C 27A40268 */ addiu $a0, $sp, 0x268 -/* 0B9EC0 7F085390 27A5025C */ addiu $a1, $sp, 0x25c -/* 0B9EC4 7F085394 E7A8025C */ swc1 $f8, 0x25c($sp) -/* 0B9EC8 7F085398 E7A60260 */ swc1 $f6, 0x260($sp) -/* 0B9ECC 7F08539C 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0B9ED0 7F0853A0 E7A40264 */ swc1 $f4, 0x264($sp) -/* 0B9ED4 7F0853A4 C7AA025C */ lwc1 $f10, 0x25c($sp) -/* 0B9ED8 7F0853A8 C6080058 */ lwc1 $f8, 0x58($s0) -/* 0B9EDC 7F0853AC C7A40260 */ lwc1 $f4, 0x260($sp) -/* 0B9EE0 7F0853B0 3C01C1A0 */ li $at, 0xC1A00000 # -20.000000 -/* 0B9EE4 7F0853B4 46085180 */ add.s $f6, $f10, $f8 -/* 0B9EE8 7F0853B8 44810000 */ mtc1 $at, $f0 -/* 0B9EEC 7F0853BC 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B9EF0 7F0853C0 44817000 */ mtc1 $at, $f14 -/* 0B9EF4 7F0853C4 E7A6025C */ swc1 $f6, 0x25c($sp) -/* 0B9EF8 7F0853C8 C60A005C */ lwc1 $f10, 0x5c($s0) -/* 0B9EFC 7F0853CC C7A60264 */ lwc1 $f6, 0x264($sp) -/* 0B9F00 7F0853D0 3C018003 */ lui $at, %hi(D_80036464) -/* 0B9F04 7F0853D4 460A2200 */ add.s $f8, $f4, $f10 -/* 0B9F08 7F0853D8 8E2A0000 */ lw $t2, ($s1) -/* 0B9F0C 7F0853DC E7A80260 */ swc1 $f8, 0x260($sp) -/* 0B9F10 7F0853E0 C6040060 */ lwc1 $f4, 0x60($s0) -/* 0B9F14 7F0853E4 C4286464 */ lwc1 $f8, %lo(D_80036464)($at) -/* 0B9F18 7F0853E8 3C018003 */ lui $at, %hi(D_80036474) -/* 0B9F1C 7F0853EC 46043280 */ add.s $f10, $f6, $f4 -/* 0B9F20 7F0853F0 C4266474 */ lwc1 $f6, %lo(D_80036474)($at) -/* 0B9F24 7F0853F4 3C018005 */ lui $at, %hi(D_800551E0) -/* 0B9F28 7F0853F8 46064100 */ add.s $f4, $f8, $f6 -/* 0B9F2C 7F0853FC E7AA0264 */ swc1 $f10, 0x264($sp) -/* 0B9F30 7F085400 C5420158 */ lwc1 $f2, 0x158($t2) -/* 0B9F34 7F085404 C42851E0 */ lwc1 $f8, %lo(D_800551E0)($at) -/* 0B9F38 7F085408 460E2282 */ mul.s $f10, $f4, $f14 -/* 0B9F3C 7F08540C 4600103C */ c.lt.s $f2, $f0 -/* 0B9F40 7F085410 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B9F44 7F085414 44819000 */ mtc1 $at, $f18 -/* 0B9F48 7F085418 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0B9F4C 7F08541C 45000002 */ bc1f .L7F085428 -/* 0B9F50 7F085420 46085403 */ div.s $f16, $f10, $f8 -/* 0B9F54 7F085424 46000086 */ mov.s $f2, $f0 -.L7F085428: -/* 0B9F58 7F085428 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0B9F5C 7F08542C 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 0B9F60 7F085430 44812000 */ mtc1 $at, $f4 -/* 0B9F64 7F085434 3C108008 */ lui $s0, %hi(flt_CODE_bss_800799BC) -/* 0B9F68 7F085438 261099BC */ addiu $s0, %lo(flt_CODE_bss_800799BC) # addiu $s0, $s0, -0x6644 -/* 0B9F6C 7F08543C 46043283 */ div.s $f10, $f6, $f4 -/* 0B9F70 7F085440 C6080000 */ lwc1 $f8, ($s0) -/* 0B9F74 7F085444 3C018005 */ lui $at, %hi(D_800551E4) -/* 0B9F78 7F085448 460A4180 */ add.s $f6, $f8, $f10 -/* 0B9F7C 7F08544C E6060000 */ swc1 $f6, ($s0) -/* 0B9F80 7F085450 C6000000 */ lwc1 $f0, ($s0) -/* 0B9F84 7F085454 4600903E */ c.le.s $f18, $f0 -/* 0B9F88 7F085458 00000000 */ nop -/* 0B9F8C 7F08545C 45000003 */ bc1f .L7F08546C -/* 0B9F90 7F085460 00000000 */ nop -/* 0B9F94 7F085464 E6120000 */ swc1 $f18, ($s0) -/* 0B9F98 7F085468 C6000000 */ lwc1 $f0, ($s0) -.L7F08546C: -/* 0B9F9C 7F08546C C42451E4 */ lwc1 $f4, %lo(D_800551E4)($at) -/* 0B9FA0 7F085470 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B9FA4 7F085474 44815000 */ mtc1 $at, $f10 -/* 0B9FA8 7F085478 46040202 */ mul.s $f8, $f0, $f4 -/* 0B9FAC 7F08547C E7A20254 */ swc1 $f2, 0x254($sp) -/* 0B9FB0 7F085480 E7B00258 */ swc1 $f16, 0x258($sp) -/* 0B9FB4 7F085484 460A4302 */ mul.s $f12, $f8, $f10 -/* 0B9FB8 7F085488 0FC15FA8 */ jal cosf -/* 0B9FBC 7F08548C 00000000 */ nop -/* 0B9FC0 7F085490 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0B9FC4 7F085494 44817000 */ mtc1 $at, $f14 -/* 0B9FC8 7F085498 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B9FCC 7F08549C 44813000 */ mtc1 $at, $f6 -/* 0B9FD0 7F0854A0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B9FD4 7F0854A4 44814000 */ mtc1 $at, $f8 -/* 0B9FD8 7F0854A8 46060100 */ add.s $f4, $f0, $f6 -/* 0B9FDC 7F0854AC 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799C0) -/* 0B9FE0 7F0854B0 244299C0 */ addiu $v0, %lo(flt_CODE_bss_800799C0) # addiu $v0, $v0, -0x6640 -/* 0B9FE4 7F0854B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B9FE8 7F0854B8 46082282 */ mul.s $f10, $f4, $f8 -/* 0B9FEC 7F0854BC 44813000 */ mtc1 $at, $f6 -/* 0B9FF0 7F0854C0 C7A80254 */ lwc1 $f8, 0x254($sp) -/* 0B9FF4 7F0854C4 3C018008 */ lui $at, %hi(flt_CODE_bss_800799C8) -/* 0B9FF8 7F0854C8 8E2D0000 */ lw $t5, ($s1) -/* 0B9FFC 7F0854CC C7B00258 */ lwc1 $f16, 0x258($sp) -/* 0BA000 7F0854D0 3C038008 */ lui $v1, %hi(flt_CODE_bss_800799D0) -/* 0BA004 7F0854D4 E44A0000 */ swc1 $f10, ($v0) -/* 0BA008 7F0854D8 C4420000 */ lwc1 $f2, ($v0) -/* 0BA00C 7F0854DC 246399D0 */ addiu $v1, %lo(flt_CODE_bss_800799D0) # addiu $v1, $v1, -0x6630 -/* 0BA010 7F0854E0 46023101 */ sub.s $f4, $f6, $f2 -/* 0BA014 7F0854E4 C42699C8 */ lwc1 $f6, %lo(flt_CODE_bss_800799C8)($at) -/* 0BA018 7F0854E8 3C018008 */ lui $at, %hi(flt_CODE_bss_800799C4) -/* 0BA01C 7F0854EC 46082282 */ mul.s $f10, $f4, $f8 -/* 0BA020 7F0854F0 00000000 */ nop -/* 0BA024 7F0854F4 46061102 */ mul.s $f4, $f2, $f6 -/* 0BA028 7F0854F8 460A2200 */ add.s $f8, $f4, $f10 -/* 0BA02C 7F0854FC E5A80158 */ swc1 $f8, 0x158($t5) -/* 0BA030 7F085500 C43299C4 */ lwc1 $f18, %lo(flt_CODE_bss_800799C4)($at) -/* 0BA034 7F085504 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0BA038 7F085508 44813000 */ mtc1 $at, $f6 -/* 0BA03C 7F08550C 46128301 */ sub.s $f12, $f16, $f18 -/* 0BA040 7F085510 3C01C334 */ li $at, 0xC3340000 # -180.000000 -/* 0BA044 7F085514 44812000 */ mtc1 $at, $f4 -/* 0BA048 7F085518 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA04C 7F08551C 460C303C */ c.lt.s $f6, $f12 -/* 0BA050 7F085520 44814000 */ mtc1 $at, $f8 -/* 0BA054 7F085524 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA058 7F085528 45000002 */ bc1f .L7F085534 -/* 0BA05C 7F08552C 00000000 */ nop -/* 0BA060 7F085530 460E8401 */ sub.s $f16, $f16, $f14 -.L7F085534: -/* 0BA064 7F085534 4604603C */ c.lt.s $f12, $f4 -/* 0BA068 7F085538 00000000 */ nop -/* 0BA06C 7F08553C 45020003 */ bc1fl .L7F08554C -/* 0BA070 7F085540 C4420000 */ lwc1 $f2, ($v0) -/* 0BA074 7F085544 460E8400 */ add.s $f16, $f16, $f14 -/* 0BA078 7F085548 C4420000 */ lwc1 $f2, ($v0) -.L7F08554C: -/* 0BA07C 7F08554C 8E2E0000 */ lw $t6, ($s1) -/* 0BA080 7F085550 46024181 */ sub.s $f6, $f8, $f2 -/* 0BA084 7F085554 46121282 */ mul.s $f10, $f2, $f18 -/* 0BA088 7F085558 00000000 */ nop -/* 0BA08C 7F08555C 46103102 */ mul.s $f4, $f6, $f16 -/* 0BA090 7F085560 46045200 */ add.s $f8, $f10, $f4 -/* 0BA094 7F085564 44812000 */ mtc1 $at, $f4 -/* 0BA098 7F085568 E5C80148 */ swc1 $f8, 0x148($t6) -/* 0BA09C 7F08556C 8E280000 */ lw $t0, ($s1) -/* 0BA0A0 7F085570 C5000148 */ lwc1 $f0, 0x148($t0) -/* 0BA0A4 7F085574 4600703E */ c.le.s $f14, $f0 -/* 0BA0A8 7F085578 00000000 */ nop -/* 0BA0AC 7F08557C 45000005 */ bc1f .L7F085594 -/* 0BA0B0 7F085580 00000000 */ nop -/* 0BA0B4 7F085584 460E0181 */ sub.s $f6, $f0, $f14 -/* 0BA0B8 7F085588 E5060148 */ swc1 $f6, 0x148($t0) -/* 0BA0BC 7F08558C 8E280000 */ lw $t0, ($s1) -/* 0BA0C0 7F085590 C5000148 */ lwc1 $f0, 0x148($t0) -.L7F085594: -/* 0BA0C4 7F085594 4614003C */ c.lt.s $f0, $f20 -/* 0BA0C8 7F085598 00000000 */ nop -/* 0BA0CC 7F08559C 45020005 */ bc1fl .L7F0855B4 -/* 0BA0D0 7F0855A0 C4420000 */ lwc1 $f2, ($v0) -/* 0BA0D4 7F0855A4 460E0280 */ add.s $f10, $f0, $f14 -/* 0BA0D8 7F0855A8 E50A0148 */ swc1 $f10, 0x148($t0) -/* 0BA0DC 7F0855AC 8E280000 */ lw $t0, ($s1) -/* 0BA0E0 7F0855B0 C4420000 */ lwc1 $f2, ($v0) -.L7F0855B4: -/* 0BA0E4 7F0855B4 C4680000 */ lwc1 $f8, ($v1) -/* 0BA0E8 7F0855B8 C7AA025C */ lwc1 $f10, 0x25c($sp) -/* 0BA0EC 7F0855BC 46022001 */ sub.s $f0, $f4, $f2 -/* 0BA0F0 7F0855C0 46081182 */ mul.s $f6, $f2, $f8 -/* 0BA0F4 7F0855C4 00000000 */ nop -/* 0BA0F8 7F0855C8 460A0102 */ mul.s $f4, $f0, $f10 -/* 0BA0FC 7F0855CC C50A048C */ lwc1 $f10, 0x48c($t0) -/* 0BA100 7F0855D0 E7B403B0 */ swc1 $f20, 0x3b0($sp) -/* 0BA104 7F0855D4 46043200 */ add.s $f8, $f6, $f4 -/* 0BA108 7F0855D8 C4640008 */ lwc1 $f4, 8($v1) -/* 0BA10C 7F0855DC 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BA110 7F0855E0 46041202 */ mul.s $f8, $f2, $f4 -/* 0BA114 7F0855E4 C7AA0264 */ lwc1 $f10, 0x264($sp) -/* 0BA118 7F0855E8 E7A603AC */ swc1 $f6, 0x3ac($sp) -/* 0BA11C 7F0855EC 460A0182 */ mul.s $f6, $f0, $f10 -/* 0BA120 7F0855F0 C50A0494 */ lwc1 $f10, 0x494($t0) -/* 0BA124 7F0855F4 46064100 */ add.s $f4, $f8, $f6 -/* 0BA128 7F0855F8 460A2201 */ sub.s $f8, $f4, $f10 -/* 0BA12C 7F0855FC E7A803B4 */ swc1 $f8, 0x3b4($sp) -.L7F085600: -/* 0BA130 7F085600 3C108008 */ lui $s0, %hi(flt_CODE_bss_800799BC) -/* 0BA134 7F085604 261099BC */ addiu $s0, %lo(flt_CODE_bss_800799BC) # addiu $s0, $s0, -0x6644 -/* 0BA138 7F085608 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA13C 7F08560C 44812000 */ mtc1 $at, $f4 -/* 0BA140 7F085610 C6060000 */ lwc1 $f6, ($s0) -/* 0BA144 7F085614 8E280000 */ lw $t0, ($s1) -/* 0BA148 7F085618 3C018008 */ lui $at, %hi(dword_CODE_bss_800799B8) -/* 0BA14C 7F08561C 4606203E */ c.le.s $f4, $f6 -/* 0BA150 7F085620 240F0001 */ li $t7, 1 -/* 0BA154 7F085624 450200EF */ bc1fl .L7F0859E4 -/* 0BA158 7F085628 3C013F40 */ lui $at, %hi(0x3F3F99B8) # $at, 0x3f40 -/* 0BA15C 7F08562C 100000EC */ b .L7F0859E0 -/* 0BA160 7F085630 AC2F99B8 */ sw $t7, %lo(dword_CODE_bss_800799B8)($at) -.L7F085634: -/* 0BA164 7F085634 1441001A */ bne $v0, $at, .L7F0856A0 -/* 0BA168 7F085638 3C108003 */ lui $s0, %hi(SFX_80036458) -/* 0BA16C 7F08563C 240B0002 */ li $t3, 2 -/* 0BA170 7F085640 3C018008 */ lui $at, %hi(dword_CODE_bss_800799B8) -/* 0BA174 7F085644 26106458 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6458 -/* 0BA178 7F085648 AC2B99B8 */ sw $t3, %lo(dword_CODE_bss_800799B8)($at) -/* 0BA17C 7F08564C 8E180000 */ lw $t8, ($s0) -/* 0BA180 7F085650 5700000A */ bnezl $t8, .L7F08567C -/* 0BA184 7F085654 8E040000 */ lw $a0, ($s0) -/* 0BA188 7F085658 0FC2FF01 */ jal get_controls_locked_flag -/* 0BA18C 7F08565C 00000000 */ nop -/* 0BA190 7F085660 14400005 */ bnez $v0, .L7F085678 -/* 0BA194 7F085664 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0BA198 7F085668 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BA19C 7F08566C 24050042 */ li $a1, 66 -/* 0BA1A0 7F085670 0C002382 */ jal play_sfx_a1 -/* 0BA1A4 7F085674 02003025 */ move $a2, $s0 -.L7F085678: -/* 0BA1A8 7F085678 8E040000 */ lw $a0, ($s0) -.L7F08567C: -/* 0BA1AC 7F08567C 24050008 */ li $a1, 8 -/* 0BA1B0 7F085680 0C002461 */ jal sfx_c_70009184 -/* 0BA1B4 7F085684 240661A8 */ li $a2, 25000 -/* 0BA1B8 7F085688 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799B4) -/* 0BA1BC 7F08568C 244299B4 */ addiu $v0, %lo(dword_CODE_bss_800799B4) # addiu $v0, $v0, -0x664c -/* 0BA1C0 7F085690 240C61A8 */ li $t4, 25000 -/* 0BA1C4 7F085694 AC4C0000 */ sw $t4, ($v0) -/* 0BA1C8 7F085698 100000D1 */ b .L7F0859E0 -/* 0BA1CC 7F08569C 8E280000 */ lw $t0, ($s1) -.L7F0856A0: -/* 0BA1D0 7F0856A0 8E280000 */ lw $t0, ($s1) -/* 0BA1D4 7F0856A4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0BA1D8 7F0856A8 44814000 */ mtc1 $at, $f8 -/* 0BA1DC 7F0856AC C50A0174 */ lwc1 $f10, 0x174($t0) -/* 0BA1E0 7F0856B0 3C018005 */ lui $at, %hi(D_800551E8) -/* 0BA1E4 7F0856B4 C42451E8 */ lwc1 $f4, %lo(D_800551E8)($at) -/* 0BA1E8 7F0856B8 46085003 */ div.s $f0, $f10, $f8 -/* 0BA1EC 7F0856BC C506014C */ lwc1 $f6, 0x14c($t0) -/* 0BA1F0 7F0856C0 46043083 */ div.s $f2, $f6, $f4 -/* 0BA1F4 7F0856C4 4614003C */ c.lt.s $f0, $f20 -/* 0BA1F8 7F0856C8 00000000 */ nop -/* 0BA1FC 7F0856CC 45020003 */ bc1fl .L7F0856DC -/* 0BA200 7F0856D0 4614103C */ c.lt.s $f2, $f20 -/* 0BA204 7F0856D4 46000007 */ neg.s $f0, $f0 -/* 0BA208 7F0856D8 4614103C */ c.lt.s $f2, $f20 -.L7F0856DC: -/* 0BA20C 7F0856DC 00000000 */ nop -/* 0BA210 7F0856E0 45020003 */ bc1fl .L7F0856F0 -/* 0BA214 7F0856E4 4602003C */ c.lt.s $f0, $f2 -/* 0BA218 7F0856E8 46001087 */ neg.s $f2, $f2 -/* 0BA21C 7F0856EC 4602003C */ c.lt.s $f0, $f2 -.L7F0856F0: -/* 0BA220 7F0856F0 46000306 */ mov.s $f12, $f0 -/* 0BA224 7F0856F4 45020003 */ bc1fl .L7F085704 -/* 0BA228 7F0856F8 460CA03C */ c.lt.s $f20, $f12 -/* 0BA22C 7F0856FC 46001306 */ mov.s $f12, $f2 -/* 0BA230 7F085700 460CA03C */ c.lt.s $f20, $f12 -.L7F085704: -/* 0BA234 7F085704 00000000 */ nop -/* 0BA238 7F085708 45000043 */ bc1f .L7F085818 -/* 0BA23C 7F08570C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA240 7F085710 44815000 */ mtc1 $at, $f10 -/* 0BA244 7F085714 3C108003 */ lui $s0, %hi(SFX_80036458) -/* 0BA248 7F085718 26106458 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6458 -/* 0BA24C 7F08571C 460C503C */ c.lt.s $f10, $f12 -/* 0BA250 7F085720 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA254 7F085724 45020004 */ bc1fl .L7F085738 -/* 0BA258 7F085728 8E190004 */ lw $t9, 4($s0) -/* 0BA25C 7F08572C 44816000 */ mtc1 $at, $f12 -/* 0BA260 7F085730 00000000 */ nop -/* 0BA264 7F085734 8E190004 */ lw $t9, 4($s0) -.L7F085738: -/* 0BA268 7F085738 5720000E */ bnezl $t9, .L7F085774 -/* 0BA26C 7F08573C 8E040004 */ lw $a0, 4($s0) -/* 0BA270 7F085740 0FC2FF01 */ jal get_controls_locked_flag -/* 0BA274 7F085744 E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA278 7F085748 14400009 */ bnez $v0, .L7F085770 -/* 0BA27C 7F08574C C7AC0244 */ lwc1 $f12, 0x244($sp) -/* 0BA280 7F085750 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0BA284 7F085754 3C068003 */ lui $a2, %hi(SFX_8003645C) -/* 0BA288 7F085758 24C6645C */ addiu $a2, %lo(SFX_8003645C) # addiu $a2, $a2, 0x645c -/* 0BA28C 7F08575C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BA290 7F085760 2405003E */ li $a1, 62 -/* 0BA294 7F085764 0C002382 */ jal play_sfx_a1 -/* 0BA298 7F085768 E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA29C 7F08576C C7AC0244 */ lwc1 $f12, 0x244($sp) -.L7F085770: -/* 0BA2A0 7F085770 8E040004 */ lw $a0, 4($s0) -.L7F085774: -/* 0BA2A4 7F085774 3C018005 */ lui $at, %hi(D_800551EC) -/* 0BA2A8 7F085778 24050008 */ li $a1, 8 -/* 0BA2AC 7F08577C 50800034 */ beql $a0, $zero, .L7F085850 -/* 0BA2B0 7F085780 8E0E0000 */ lw $t6, ($s0) -/* 0BA2B4 7F085784 C42051EC */ lwc1 $f0, %lo(D_800551EC)($at) -/* 0BA2B8 7F085788 24067FFF */ li $a2, 32767 -/* 0BA2BC 7F08578C 3C018005 */ lui $at, %hi(D_800551F4) -/* 0BA2C0 7F085790 4600603C */ c.lt.s $f12, $f0 -/* 0BA2C4 7F085794 00000000 */ nop -/* 0BA2C8 7F085798 45000009 */ bc1f .L7F0857C0 -/* 0BA2CC 7F08579C 00000000 */ nop -/* 0BA2D0 7F0857A0 3C018005 */ lui $at, %hi(D_800551F0) -/* 0BA2D4 7F0857A4 C42851F0 */ lwc1 $f8, %lo(D_800551F0)($at) -/* 0BA2D8 7F0857A8 46086182 */ mul.s $f6, $f12, $f8 -/* 0BA2DC 7F0857AC 46003103 */ div.s $f4, $f6, $f0 -/* 0BA2E0 7F0857B0 4600228D */ trunc.w.s $f10, $f4 -/* 0BA2E4 7F0857B4 44065000 */ mfc1 $a2, $f10 -/* 0BA2E8 7F0857B8 10000013 */ b .L7F085808 -/* 0BA2EC 7F0857BC 00000000 */ nop -.L7F0857C0: -/* 0BA2F0 7F0857C0 C42851F4 */ lwc1 $f8, %lo(D_800551F4)($at) -/* 0BA2F4 7F0857C4 3C018005 */ lui $at, %hi(D_800551F8) -/* 0BA2F8 7F0857C8 4608603C */ c.lt.s $f12, $f8 -/* 0BA2FC 7F0857CC 00000000 */ nop -/* 0BA300 7F0857D0 4500000D */ bc1f .L7F085808 -/* 0BA304 7F0857D4 00000000 */ nop -/* 0BA308 7F0857D8 46006181 */ sub.s $f6, $f12, $f0 -/* 0BA30C 7F0857DC C42451F8 */ lwc1 $f4, %lo(D_800551F8)($at) -/* 0BA310 7F0857E0 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0BA314 7F0857E4 44814000 */ mtc1 $at, $f8 -/* 0BA318 7F0857E8 46043282 */ mul.s $f10, $f6, $f4 -/* 0BA31C 7F0857EC 3C018005 */ lui $at, %hi(D_800551FC) -/* 0BA320 7F0857F0 C42451FC */ lwc1 $f4, %lo(D_800551FC)($at) -/* 0BA324 7F0857F4 46085183 */ div.s $f6, $f10, $f8 -/* 0BA328 7F0857F8 46043280 */ add.s $f10, $f6, $f4 -/* 0BA32C 7F0857FC 4600520D */ trunc.w.s $f8, $f10 -/* 0BA330 7F085800 44064000 */ mfc1 $a2, $f8 -/* 0BA334 7F085804 00000000 */ nop -.L7F085808: -/* 0BA338 7F085808 0C002461 */ jal sfx_c_70009184 -/* 0BA33C 7F08580C E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA340 7F085810 1000000E */ b .L7F08584C -/* 0BA344 7F085814 C7AC0244 */ lwc1 $f12, 0x244($sp) -.L7F085818: -/* 0BA348 7F085818 3C108003 */ lui $s0, %hi(SFX_80036458) -/* 0BA34C 7F08581C 26106458 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6458 -/* 0BA350 7F085820 8E040004 */ lw $a0, 4($s0) -/* 0BA354 7F085824 5080000A */ beql $a0, $zero, .L7F085850 -/* 0BA358 7F085828 8E0E0000 */ lw $t6, ($s0) -/* 0BA35C 7F08582C 0C00237C */ jal sfxGetArg0Unk3F -/* 0BA360 7F085830 E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA364 7F085834 10400005 */ beqz $v0, .L7F08584C -/* 0BA368 7F085838 C7AC0244 */ lwc1 $f12, 0x244($sp) -/* 0BA36C 7F08583C 8E040004 */ lw $a0, 4($s0) -/* 0BA370 7F085840 0C002408 */ jal sfxDeactivate -/* 0BA374 7F085844 E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA378 7F085848 C7AC0244 */ lwc1 $f12, 0x244($sp) -.L7F08584C: -/* 0BA37C 7F08584C 8E0E0000 */ lw $t6, ($s0) -.L7F085850: -/* 0BA380 7F085850 55C0000D */ bnezl $t6, .L7F085888 -/* 0BA384 7F085854 8E040000 */ lw $a0, ($s0) -/* 0BA388 7F085858 0FC2FF01 */ jal get_controls_locked_flag -/* 0BA38C 7F08585C E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA390 7F085860 14400008 */ bnez $v0, .L7F085884 -/* 0BA394 7F085864 C7AC0244 */ lwc1 $f12, 0x244($sp) -/* 0BA398 7F085868 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0BA39C 7F08586C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BA3A0 7F085870 24050041 */ li $a1, 65 -/* 0BA3A4 7F085874 02003025 */ move $a2, $s0 -/* 0BA3A8 7F085878 0C002382 */ jal play_sfx_a1 -/* 0BA3AC 7F08587C E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA3B0 7F085880 C7AC0244 */ lwc1 $f12, 0x244($sp) -.L7F085884: -/* 0BA3B4 7F085884 8E040000 */ lw $a0, ($s0) -.L7F085888: -/* 0BA3B8 7F085888 1080001A */ beqz $a0, .L7F0858F4 -/* 0BA3BC 7F08588C 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799B4) -/* 0BA3C0 7F085890 244299B4 */ addiu $v0, %lo(dword_CODE_bss_800799B4) # addiu $v0, $v0, -0x664c -/* 0BA3C4 7F085894 240F7FFF */ li $t7, 32767 -/* 0BA3C8 7F085898 AC4F0000 */ sw $t7, ($v0) -/* 0BA3CC 7F08589C 3C018005 */ lui $at, %hi(D_80055200) -/* 0BA3D0 7F0858A0 C4265200 */ lwc1 $f6, %lo(D_80055200)($at) -/* 0BA3D4 7F0858A4 3C018005 */ lui $at, %hi(D_80055204) -/* 0BA3D8 7F0858A8 24050008 */ li $a1, 8 -/* 0BA3DC 7F0858AC 4606603C */ c.lt.s $f12, $f6 -/* 0BA3E0 7F0858B0 00000000 */ nop -/* 0BA3E4 7F0858B4 4500000D */ bc1f .L7F0858EC -/* 0BA3E8 7F0858B8 00000000 */ nop -/* 0BA3EC 7F0858BC C4245204 */ lwc1 $f4, %lo(D_80055204)($at) -/* 0BA3F0 7F0858C0 3C018005 */ lui $at, %hi(D_80055208) -/* 0BA3F4 7F0858C4 C4285208 */ lwc1 $f8, %lo(D_80055208)($at) -/* 0BA3F8 7F0858C8 46046282 */ mul.s $f10, $f12, $f4 -/* 0BA3FC 7F0858CC 3C018005 */ lui $at, %hi(D_8005520C) -/* 0BA400 7F0858D0 C424520C */ lwc1 $f4, %lo(D_8005520C)($at) -/* 0BA404 7F0858D4 46085183 */ div.s $f6, $f10, $f8 -/* 0BA408 7F0858D8 46043280 */ add.s $f10, $f6, $f4 -/* 0BA40C 7F0858DC 4600520D */ trunc.w.s $f8, $f10 -/* 0BA410 7F0858E0 44184000 */ mfc1 $t8, $f8 -/* 0BA414 7F0858E4 00000000 */ nop -/* 0BA418 7F0858E8 AC580000 */ sw $t8, ($v0) -.L7F0858EC: -/* 0BA41C 7F0858EC 0C002461 */ jal sfx_c_70009184 -/* 0BA420 7F0858F0 8C460000 */ lw $a2, ($v0) -.L7F0858F4: -/* 0BA424 7F0858F4 0FC17674 */ jal get_item_in_hand -/* 0BA428 7F0858F8 00002025 */ move $a0, $zero -/* 0BA42C 7F0858FC 24010020 */ li $at, 32 -/* 0BA430 7F085900 14410007 */ bne $v0, $at, .L7F085920 -/* 0BA434 7F085904 3C048005 */ lui $a0, %hi(clock_timer) -/* 0BA438 7F085908 8E280000 */ lw $t0, ($s1) -/* 0BA43C 7F08590C 3C018005 */ lui $at, %hi(D_80055210) -/* 0BA440 7F085910 C4265210 */ lwc1 $f6, %lo(D_80055210)($at) -/* 0BA444 7F085914 C5022A08 */ lwc1 $f2, 0x2a08($t0) -/* 0BA448 7F085918 10000004 */ b .L7F08592C -/* 0BA44C 7F08591C 46061080 */ add.s $f2, $f2, $f6 -.L7F085920: -/* 0BA450 7F085920 3C018003 */ lui $at, %hi(D_8003646C) -/* 0BA454 7F085924 C422646C */ lwc1 $f2, %lo(D_8003646C)($at) -/* 0BA458 7F085928 8E280000 */ lw $t0, ($s1) -.L7F08592C: -/* 0BA45C 7F08592C 3C018005 */ lui $at, %hi(D_80055214) -/* 0BA460 7F085930 C4205214 */ lwc1 $f0, %lo(D_80055214)($at) -/* 0BA464 7F085934 3C018005 */ lui $at, %hi(D_80055218) -/* 0BA468 7F085938 4602003C */ c.lt.s $f0, $f2 -/* 0BA46C 7F08593C 00000000 */ nop -/* 0BA470 7F085940 45000002 */ bc1f .L7F08594C -/* 0BA474 7F085944 00000000 */ nop -/* 0BA478 7F085948 46000086 */ mov.s $f2, $f0 -.L7F08594C: -/* 0BA47C 7F08594C C4205218 */ lwc1 $f0, %lo(D_80055218)($at) -/* 0BA480 7F085950 4600103C */ c.lt.s $f2, $f0 -/* 0BA484 7F085954 00000000 */ nop -/* 0BA488 7F085958 45000002 */ bc1f .L7F085964 -/* 0BA48C 7F08595C 00000000 */ nop -/* 0BA490 7F085960 46000086 */ mov.s $f2, $f0 -.L7F085964: -/* 0BA494 7F085964 8C848374 */ lw $a0, %lo(clock_timer)($a0) -/* 0BA498 7F085968 00001025 */ move $v0, $zero -/* 0BA49C 7F08596C 18800014 */ blez $a0, .L7F0859C0 -/* 0BA4A0 7F085970 3C018005 */ lui $at, %hi(D_8005521C) -/* 0BA4A4 7F085974 3C038003 */ lui $v1, %hi(D_80036470) -/* 0BA4A8 7F085978 24636470 */ addiu $v1, %lo(D_80036470) # addiu $v1, $v1, 0x6470 -/* 0BA4AC 7F08597C C420521C */ lwc1 $f0, %lo(D_8005521C)($at) -/* 0BA4B0 7F085980 C4700000 */ lwc1 $f16, ($v1) -/* 0BA4B4 7F085984 24420001 */ addiu $v0, $v0, 1 -/* 0BA4B8 7F085988 0044082A */ slt $at, $v0, $a0 -/* 0BA4BC 7F08598C 46100482 */ mul.s $f18, $f0, $f16 -/* 0BA4C0 7F085990 5020000A */ beql $at, $zero, .L7F0859BC -/* 0BA4C4 7F085994 46029400 */ add.s $f16, $f18, $f2 -/* 0BA4C8 7F085998 46029400 */ add.s $f16, $f18, $f2 -.L7F08599C: -/* 0BA4CC 7F08599C 24420001 */ addiu $v0, $v0, 1 -/* 0BA4D0 7F0859A0 0044082A */ slt $at, $v0, $a0 -/* 0BA4D4 7F0859A4 E4700000 */ swc1 $f16, ($v1) -/* 0BA4D8 7F0859A8 C4700000 */ lwc1 $f16, ($v1) -/* 0BA4DC 7F0859AC 46100482 */ mul.s $f18, $f0, $f16 -/* 0BA4E0 7F0859B0 5420FFFA */ bnezl $at, .L7F08599C -/* 0BA4E4 7F0859B4 46029400 */ add.s $f16, $f18, $f2 -/* 0BA4E8 7F0859B8 46029400 */ add.s $f16, $f18, $f2 -.L7F0859BC: -/* 0BA4EC 7F0859BC E4700000 */ swc1 $f16, ($v1) -.L7F0859C0: -/* 0BA4F0 7F0859C0 3C038003 */ lui $v1, %hi(D_80036470) -/* 0BA4F4 7F0859C4 24636470 */ addiu $v1, %lo(D_80036470) # addiu $v1, $v1, 0x6470 -/* 0BA4F8 7F0859C8 3C018005 */ lui $at, %hi(D_80055220) -/* 0BA4FC 7F0859CC C4245220 */ lwc1 $f4, %lo(D_80055220)($at) -/* 0BA500 7F0859D0 C4660000 */ lwc1 $f6, ($v1) -/* 0BA504 7F0859D4 3C018003 */ lui $at, %hi(D_8003646C) -/* 0BA508 7F0859D8 46043282 */ mul.s $f10, $f6, $f4 -/* 0BA50C 7F0859DC E42A646C */ swc1 $f10, %lo(D_8003646C)($at) -.L7F0859E0: -/* 0BA510 7F0859E0 3C013F40 */ li $at, 0x3F400000 # 0.750000 -.L7F0859E4: -/* 0BA514 7F0859E4 44810000 */ mtc1 $at, $f0 -/* 0BA518 7F0859E8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BA51C 7F0859EC C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0BA520 7F0859F0 3C018005 */ lui $at, %hi(D_80055224) -/* 0BA524 7F0859F4 C4245224 */ lwc1 $f4, %lo(D_80055224)($at) -/* 0BA528 7F0859F8 46080182 */ mul.s $f6, $f0, $f8 -/* 0BA52C 7F0859FC C508019C */ lwc1 $f8, 0x19c($t0) -/* 0BA530 7F085A00 4406A000 */ mfc1 $a2, $f20 -/* 0BA534 7F085A04 4600A306 */ mov.s $f12, $f20 -/* 0BA538 7F085A08 46043283 */ div.s $f10, $f6, $f4 -/* 0BA53C 7F085A0C 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BA540 7F085A10 E506019C */ swc1 $f6, 0x19c($t0) -/* 0BA544 7F085A14 8E280000 */ lw $t0, ($s1) -/* 0BA548 7F085A18 C504019C */ lwc1 $f4, 0x19c($t0) -/* 0BA54C 7F085A1C 4614203C */ c.lt.s $f4, $f20 -/* 0BA550 7F085A20 00000000 */ nop -/* 0BA554 7F085A24 45000002 */ bc1f .L7F085A30 -/* 0BA558 7F085A28 00000000 */ nop -/* 0BA55C 7F085A2C E514019C */ swc1 $f20, 0x19c($t0) -.L7F085A30: -/* 0BA560 7F085A30 0FC202CD */ jal sub_GAME_7F080B34 -/* 0BA564 7F085A34 4600A386 */ mov.s $f14, $f20 -/* 0BA568 7F085A38 3C018005 */ lui $at, %hi(D_80055228) -/* 0BA56C 7F085A3C C4285228 */ lwc1 $f8, %lo(D_80055228)($at) -/* 0BA570 7F085A40 3C018003 */ lui $at, %hi(D_80036464) -/* 0BA574 7F085A44 C42A6464 */ lwc1 $f10, %lo(D_80036464)($at) -/* 0BA578 7F085A48 0FC15FAB */ jal sinf -/* 0BA57C 7F085A4C 460A4301 */ sub.s $f12, $f8, $f10 -/* 0BA580 7F085A50 8E2C0000 */ lw $t4, ($s1) -/* 0BA584 7F085A54 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BA588 7F085A58 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0BA58C 7F085A5C C5860174 */ lwc1 $f6, 0x174($t4) -/* 0BA590 7F085A60 3C018005 */ lui $at, %hi(D_8005522C) -/* 0BA594 7F085A64 46003102 */ mul.s $f4, $f6, $f0 -/* 0BA598 7F085A68 C7A603AC */ lwc1 $f6, 0x3ac($sp) -/* 0BA59C 7F085A6C 46082282 */ mul.s $f10, $f4, $f8 -/* 0BA5A0 7F085A70 C428522C */ lwc1 $f8, %lo(D_8005522C)($at) -/* 0BA5A4 7F085A74 3C018003 */ lui $at, %hi(D_80036464) -/* 0BA5A8 7F085A78 460A3100 */ add.s $f4, $f6, $f10 -/* 0BA5AC 7F085A7C C4266464 */ lwc1 $f6, %lo(D_80036464)($at) -/* 0BA5B0 7F085A80 E7A403AC */ swc1 $f4, 0x3ac($sp) -/* 0BA5B4 7F085A84 0FC15FA8 */ jal cosf -/* 0BA5B8 7F085A88 46064301 */ sub.s $f12, $f8, $f6 -/* 0BA5BC 7F085A8C 8E390000 */ lw $t9, ($s1) -/* 0BA5C0 7F085A90 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BA5C4 7F085A94 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0BA5C8 7F085A98 C72A0174 */ lwc1 $f10, 0x174($t9) -/* 0BA5CC 7F085A9C 27A403AC */ addiu $a0, $sp, 0x3ac -/* 0BA5D0 7F085AA0 24050001 */ li $a1, 1 -/* 0BA5D4 7F085AA4 46005102 */ mul.s $f4, $f10, $f0 -/* 0BA5D8 7F085AA8 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BA5DC 7F085AAC 46082182 */ mul.s $f6, $f4, $f8 -/* 0BA5E0 7F085AB0 46065100 */ add.s $f4, $f10, $f6 -/* 0BA5E4 7F085AB4 0FC1F658 */ jal sub_GAME_7F07D960 -/* 0BA5E8 7F085AB8 E7A403B4 */ swc1 $f4, 0x3b4($sp) -/* 0BA5EC 7F085ABC 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_800799B8) -/* 0BA5F0 7F085AC0 8D4A99B8 */ lw $t2, %lo(dword_CODE_bss_800799B8)($t2) -/* 0BA5F4 7F085AC4 24010002 */ li $at, 2 -/* 0BA5F8 7F085AC8 3C0D8005 */ lui $t5, %hi(clock_timer) -/* 0BA5FC 7F085ACC 55410237 */ bnel $t2, $at, .L7F0863AC -/* 0BA600 7F085AD0 8E280000 */ lw $t0, ($s1) -/* 0BA604 7F085AD4 8DAD8374 */ lw $t5, %lo(clock_timer)($t5) -/* 0BA608 7F085AD8 59A00234 */ blezl $t5, .L7F0863AC -/* 0BA60C 7F085ADC 8E280000 */ lw $t0, ($s1) -/* 0BA610 7F085AE0 8E280000 */ lw $t0, ($s1) -/* 0BA614 7F085AE4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BA618 7F085AE8 C42E8378 */ lwc1 $f14, %lo(global_timer_delta)($at) -/* 0BA61C 7F085AEC C508048C */ lwc1 $f8, 0x48c($t0) -/* 0BA620 7F085AF0 C50A0408 */ lwc1 $f10, 0x408($t0) -/* 0BA624 7F085AF4 C5040494 */ lwc1 $f4, 0x494($t0) -/* 0BA628 7F085AF8 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BA62C 7F085AFC C5080410 */ lwc1 $f8, 0x410($t0) -/* 0BA630 7F085B00 46082281 */ sub.s $f10, $f4, $f8 -/* 0BA634 7F085B04 460E3003 */ div.s $f0, $f6, $f14 -/* 0BA638 7F085B08 460E5083 */ div.s $f2, $f10, $f14 -/* 0BA63C 7F085B0C 46000182 */ mul.s $f6, $f0, $f0 -/* 0BA640 7F085B10 00000000 */ nop -/* 0BA644 7F085B14 46021102 */ mul.s $f4, $f2, $f2 -/* 0BA648 7F085B18 0C007DF8 */ jal sqrtf -/* 0BA64C 7F085B1C 46043300 */ add.s $f12, $f6, $f4 -/* 0BA650 7F085B20 8E280000 */ lw $t0, ($s1) -/* 0BA654 7F085B24 46000086 */ mov.s $f2, $f0 -/* 0BA658 7F085B28 C5080174 */ lwc1 $f8, 0x174($t0) -/* 0BA65C 7F085B2C 4614403C */ c.lt.s $f8, $f20 -/* 0BA660 7F085B30 00000000 */ nop -/* 0BA664 7F085B34 45000002 */ bc1f .L7F085B40 -/* 0BA668 7F085B38 00000000 */ nop -/* 0BA66C 7F085B3C 46000087 */ neg.s $f2, $f0 -.L7F085B40: -/* 0BA670 7F085B40 10000219 */ b .L7F0863A8 -/* 0BA674 7F085B44 E5020174 */ swc1 $f2, 0x174($t0) -.L7F085B48: -/* 0BA678 7F085B48 8E040000 */ lw $a0, ($s0) -/* 0BA67C 7F085B4C 50800019 */ beql $a0, $zero, .L7F085BB4 -/* 0BA680 7F085B50 8E040004 */ lw $a0, 4($s0) -/* 0BA684 7F085B54 0C00237C */ jal sfxGetArg0Unk3F -/* 0BA688 7F085B58 00000000 */ nop -/* 0BA68C 7F085B5C 10400014 */ beqz $v0, .L7F085BB0 -/* 0BA690 7F085B60 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 0BA694 7F085B64 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 0BA698 7F085B68 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799B4) -/* 0BA69C 7F085B6C 244299B4 */ addiu $v0, %lo(dword_CODE_bss_800799B4) # addiu $v0, $v0, -0x664c -/* 0BA6A0 7F085B70 000F5940 */ sll $t3, $t7, 5 -/* 0BA6A4 7F085B74 016F5823 */ subu $t3, $t3, $t7 -/* 0BA6A8 7F085B78 8C4E0000 */ lw $t6, ($v0) -/* 0BA6AC 7F085B7C 000B5880 */ sll $t3, $t3, 2 -/* 0BA6B0 7F085B80 016F5821 */ addu $t3, $t3, $t7 -/* 0BA6B4 7F085B84 000B58C0 */ sll $t3, $t3, 3 -/* 0BA6B8 7F085B88 01CB3023 */ subu $a2, $t6, $t3 -/* 0BA6BC 7F085B8C 18C00006 */ blez $a2, .L7F085BA8 -/* 0BA6C0 7F085B90 AC460000 */ sw $a2, ($v0) -/* 0BA6C4 7F085B94 8E040000 */ lw $a0, ($s0) -/* 0BA6C8 7F085B98 0C002461 */ jal sfx_c_70009184 -/* 0BA6CC 7F085B9C 24050008 */ li $a1, 8 -/* 0BA6D0 7F085BA0 10000004 */ b .L7F085BB4 -/* 0BA6D4 7F085BA4 8E040004 */ lw $a0, 4($s0) -.L7F085BA8: -/* 0BA6D8 7F085BA8 0C002408 */ jal sfxDeactivate -/* 0BA6DC 7F085BAC 8E040000 */ lw $a0, ($s0) -.L7F085BB0: -/* 0BA6E0 7F085BB0 8E040004 */ lw $a0, 4($s0) -.L7F085BB4: -/* 0BA6E4 7F085BB4 10800007 */ beqz $a0, .L7F085BD4 -/* 0BA6E8 7F085BB8 00000000 */ nop -/* 0BA6EC 7F085BBC 0C00237C */ jal sfxGetArg0Unk3F -/* 0BA6F0 7F085BC0 00000000 */ nop -/* 0BA6F4 7F085BC4 10400003 */ beqz $v0, .L7F085BD4 -/* 0BA6F8 7F085BC8 00000000 */ nop -/* 0BA6FC 7F085BCC 0C002408 */ jal sfxDeactivate -/* 0BA700 7F085BD0 8E040004 */ lw $a0, 4($s0) -.L7F085BD4: -/* 0BA704 7F085BD4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BA708 7F085BD8 C42E8378 */ lwc1 $f14, %lo(global_timer_delta)($at) -/* 0BA70C 7F085BDC 3C018003 */ lui $at, %hi(D_80036AF4) -/* 0BA710 7F085BE0 C42A6AF4 */ lwc1 $f10, %lo(D_80036AF4)($at) -/* 0BA714 7F085BE4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BA718 7F085BE8 44813000 */ mtc1 $at, $f6 -/* 0BA71C 7F085BEC 8E280000 */ lw $t0, ($s1) -/* 0BA720 7F085BF0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0BA724 7F085BF4 46065102 */ mul.s $f4, $f10, $f6 -/* 0BA728 7F085BF8 C508016C */ lwc1 $f8, 0x16c($t0) -/* 0BA72C 7F085BFC E7A8004C */ swc1 $f8, 0x4c($sp) -/* 0BA730 7F085C00 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0BA734 7F085C04 460E2302 */ mul.s $f12, $f4, $f14 -/* 0BA738 7F085C08 00000000 */ nop -/* 0BA73C 7F085C0C 460C5182 */ mul.s $f6, $f10, $f12 -/* 0BA740 7F085C10 E7A603A0 */ swc1 $f6, 0x3a0($sp) -/* 0BA744 7F085C14 C5001274 */ lwc1 $f0, 0x1274($t0) -/* 0BA748 7F085C18 C50404A0 */ lwc1 $f4, 0x4a0($t0) -/* 0BA74C 7F085C1C C5061278 */ lwc1 $f6, 0x1278($t0) -/* 0BA750 7F085C20 46000207 */ neg.s $f8, $f0 -/* 0BA754 7F085C24 C50A0498 */ lwc1 $f10, 0x498($t0) -/* 0BA758 7F085C28 46082402 */ mul.s $f16, $f4, $f8 -/* 0BA75C 7F085C2C 46068101 */ sub.s $f4, $f16, $f6 -/* 0BA760 7F085C30 46005482 */ mul.s $f18, $f10, $f0 -/* 0BA764 7F085C34 E7A40220 */ swc1 $f4, 0x220($sp) -/* 0BA768 7F085C38 C508127C */ lwc1 $f8, 0x127c($t0) -/* 0BA76C 7F085C3C C7A60220 */ lwc1 $f6, 0x220($sp) -/* 0BA770 7F085C40 46089281 */ sub.s $f10, $f18, $f8 -/* 0BA774 7F085C44 46063102 */ mul.s $f4, $f6, $f6 -/* 0BA778 7F085C48 E7AA021C */ swc1 $f10, 0x21c($sp) -/* 0BA77C 7F085C4C C7A8021C */ lwc1 $f8, 0x21c($sp) -/* 0BA780 7F085C50 46084282 */ mul.s $f10, $f8, $f8 -/* 0BA784 7F085C54 460A2080 */ add.s $f2, $f4, $f10 -/* 0BA788 7F085C58 44812000 */ mtc1 $at, $f4 -/* 0BA78C 7F085C5C 00000000 */ nop -/* 0BA790 7F085C60 4602203E */ c.le.s $f4, $f2 -/* 0BA794 7F085C64 E7A20218 */ swc1 $f2, 0x218($sp) -/* 0BA798 7F085C68 45000008 */ bc1f .L7F085C8C -/* 0BA79C 7F085C6C 00000000 */ nop -/* 0BA7A0 7F085C70 3C018005 */ lui $at, %hi(D_80055230) -/* 0BA7A4 7F085C74 C4205230 */ lwc1 $f0, %lo(D_80055230)($at) -/* 0BA7A8 7F085C78 46003282 */ mul.s $f10, $f6, $f0 -/* 0BA7AC 7F085C7C 00000000 */ nop -/* 0BA7B0 7F085C80 46004102 */ mul.s $f4, $f8, $f0 -/* 0BA7B4 7F085C84 E7AA0220 */ swc1 $f10, 0x220($sp) -/* 0BA7B8 7F085C88 E7A4021C */ swc1 $f4, 0x21c($sp) -.L7F085C8C: -/* 0BA7BC 7F085C8C 3C018005 */ lui $at, %hi(D_80055234) -/* 0BA7C0 7F085C90 C4305234 */ lwc1 $f16, %lo(D_80055234)($at) -/* 0BA7C4 7F085C94 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 0BA7C8 7F085C98 C50A014C */ lwc1 $f10, 0x14c($t0) -/* 0BA7CC 7F085C9C C5020174 */ lwc1 $f2, 0x174($t0) -/* 0BA7D0 7F085CA0 46103002 */ mul.s $f0, $f6, $f16 -/* 0BA7D4 7F085CA4 4614003C */ c.lt.s $f0, $f20 -/* 0BA7D8 7F085CA8 46105302 */ mul.s $f12, $f10, $f16 -/* 0BA7DC 7F085CAC 45020003 */ bc1fl .L7F085CBC -/* 0BA7E0 7F085CB0 4614103C */ c.lt.s $f2, $f20 -/* 0BA7E4 7F085CB4 46000007 */ neg.s $f0, $f0 -/* 0BA7E8 7F085CB8 4614103C */ c.lt.s $f2, $f20 -.L7F085CBC: -/* 0BA7EC 7F085CBC 3C018005 */ lui $at, %hi(D_80055238) -/* 0BA7F0 7F085CC0 45020003 */ bc1fl .L7F085CD0 -/* 0BA7F4 7F085CC4 4614603C */ c.lt.s $f12, $f20 -/* 0BA7F8 7F085CC8 46001087 */ neg.s $f2, $f2 -/* 0BA7FC 7F085CCC 4614603C */ c.lt.s $f12, $f20 -.L7F085CD0: -/* 0BA800 7F085CD0 00000000 */ nop -/* 0BA804 7F085CD4 45020003 */ bc1fl .L7F085CE4 -/* 0BA808 7F085CD8 4600103C */ c.lt.s $f2, $f0 -/* 0BA80C 7F085CDC 46006307 */ neg.s $f12, $f12 -/* 0BA810 7F085CE0 4600103C */ c.lt.s $f2, $f0 -.L7F085CE4: -/* 0BA814 7F085CE4 E7A20398 */ swc1 $f2, 0x398($sp) -/* 0BA818 7F085CE8 45020003 */ bc1fl .L7F085CF8 -/* 0BA81C 7F085CEC C7A80398 */ lwc1 $f8, 0x398($sp) -/* 0BA820 7F085CF0 E7A00398 */ swc1 $f0, 0x398($sp) -/* 0BA824 7F085CF4 C7A80398 */ lwc1 $f8, 0x398($sp) -.L7F085CF8: -/* 0BA828 7F085CF8 460C403C */ c.lt.s $f8, $f12 -/* 0BA82C 7F085CFC 00000000 */ nop -/* 0BA830 7F085D00 45020003 */ bc1fl .L7F085D10 -/* 0BA834 7F085D04 C7A40218 */ lwc1 $f4, 0x218($sp) -/* 0BA838 7F085D08 E7AC0398 */ swc1 $f12, 0x398($sp) -/* 0BA83C 7F085D0C C7A40218 */ lwc1 $f4, 0x218($sp) -.L7F085D10: -/* 0BA840 7F085D10 C4265238 */ lwc1 $f6, %lo(D_80055238)($at) -/* 0BA844 7F085D14 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0BA848 7F085D18 44810000 */ mtc1 $at, $f0 -/* 0BA84C 7F085D1C 4604303E */ c.le.s $f6, $f4 -/* 0BA850 7F085D20 00000000 */ nop -/* 0BA854 7F085D24 45020008 */ bc1fl .L7F085D48 -/* 0BA858 7F085D28 C7A80398 */ lwc1 $f8, 0x398($sp) -/* 0BA85C 7F085D2C C7AA0398 */ lwc1 $f10, 0x398($sp) -/* 0BA860 7F085D30 4610503C */ c.lt.s $f10, $f16 -/* 0BA864 7F085D34 00000000 */ nop -/* 0BA868 7F085D38 45020003 */ bc1fl .L7F085D48 -/* 0BA86C 7F085D3C C7A80398 */ lwc1 $f8, 0x398($sp) -/* 0BA870 7F085D40 E7B00398 */ swc1 $f16, 0x398($sp) -/* 0BA874 7F085D44 C7A80398 */ lwc1 $f8, 0x398($sp) -.L7F085D48: -/* 0BA878 7F085D48 4608003E */ c.le.s $f0, $f8 -/* 0BA87C 7F085D4C 00000000 */ nop -/* 0BA880 7F085D50 4502000B */ bc1fl .L7F085D80 -/* 0BA884 7F085D54 C7AA0398 */ lwc1 $f10, 0x398($sp) -/* 0BA888 7F085D58 46004101 */ sub.s $f4, $f8, $f0 -/* 0BA88C 7F085D5C 3C014461 */ li $at, 0x44610000 # 900.000000 -/* 0BA890 7F085D60 44815000 */ mtc1 $at, $f10 -/* 0BA894 7F085D64 460E2182 */ mul.s $f6, $f4, $f14 -/* 0BA898 7F085D68 C504019C */ lwc1 $f4, 0x19c($t0) -/* 0BA89C 7F085D6C 460A3203 */ div.s $f8, $f6, $f10 -/* 0BA8A0 7F085D70 46082180 */ add.s $f6, $f4, $f8 -/* 0BA8A4 7F085D74 1000000A */ b .L7F085DA0 -/* 0BA8A8 7F085D78 E506019C */ swc1 $f6, 0x19c($t0) -/* 0BA8AC 7F085D7C C7AA0398 */ lwc1 $f10, 0x398($sp) -.L7F085D80: -/* 0BA8B0 7F085D80 3C018005 */ lui $at, %hi(D_8005523C) -/* 0BA8B4 7F085D84 C426523C */ lwc1 $f6, %lo(D_8005523C)($at) -/* 0BA8B8 7F085D88 460A0101 */ sub.s $f4, $f0, $f10 -/* 0BA8BC 7F085D8C 460E2202 */ mul.s $f8, $f4, $f14 -/* 0BA8C0 7F085D90 C504019C */ lwc1 $f4, 0x19c($t0) -/* 0BA8C4 7F085D94 46064283 */ div.s $f10, $f8, $f6 -/* 0BA8C8 7F085D98 460A2201 */ sub.s $f8, $f4, $f10 -/* 0BA8CC 7F085D9C E508019C */ swc1 $f8, 0x19c($t0) -.L7F085DA0: -/* 0BA8D0 7F085DA0 8E280000 */ lw $t0, ($s1) -/* 0BA8D4 7F085DA4 C500019C */ lwc1 $f0, 0x19c($t0) -/* 0BA8D8 7F085DA8 4614003C */ c.lt.s $f0, $f20 -/* 0BA8DC 7F085DAC 00000000 */ nop -/* 0BA8E0 7F085DB0 45020005 */ bc1fl .L7F085DC8 -/* 0BA8E4 7F085DB4 3C013F80 */ lui $at, 0x3f80 -/* 0BA8E8 7F085DB8 E514019C */ swc1 $f20, 0x19c($t0) -/* 0BA8EC 7F085DBC 1000000C */ b .L7F085DF0 -/* 0BA8F0 7F085DC0 8E280000 */ lw $t0, ($s1) -/* 0BA8F4 7F085DC4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F085DC8: -/* 0BA8F8 7F085DC8 44813000 */ mtc1 $at, $f6 -/* 0BA8FC 7F085DCC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA900 7F085DD0 4600303C */ c.lt.s $f6, $f0 -/* 0BA904 7F085DD4 00000000 */ nop -/* 0BA908 7F085DD8 45020006 */ bc1fl .L7F085DF4 -/* 0BA90C 7F085DDC C7AC0398 */ lwc1 $f12, 0x398($sp) -/* 0BA910 7F085DE0 44812000 */ mtc1 $at, $f4 -/* 0BA914 7F085DE4 00000000 */ nop -/* 0BA918 7F085DE8 E504019C */ swc1 $f4, 0x19c($t0) -/* 0BA91C 7F085DEC 8E280000 */ lw $t0, ($s1) -.L7F085DF0: -/* 0BA920 7F085DF0 C7AC0398 */ lwc1 $f12, 0x398($sp) -.L7F085DF4: -/* 0BA924 7F085DF4 C50E0174 */ lwc1 $f14, 0x174($t0) -/* 0BA928 7F085DF8 0FC202CD */ jal sub_GAME_7F080B34 -/* 0BA92C 7F085DFC 8FA603A0 */ lw $a2, 0x3a0($sp) -/* 0BA930 7F085E00 8E280000 */ lw $t0, ($s1) -/* 0BA934 7F085E04 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BA938 7F085E08 C42E8378 */ lwc1 $f14, %lo(global_timer_delta)($at) -/* 0BA93C 7F085E0C C5020504 */ lwc1 $f2, 0x504($t0) -/* 0BA940 7F085E10 C50A0498 */ lwc1 $f10, 0x498($t0) -/* 0BA944 7F085E14 C50004FC */ lwc1 $f0, 0x4fc($t0) -/* 0BA948 7F085E18 C50604A0 */ lwc1 $f6, 0x4a0($t0) -/* 0BA94C 7F085E1C 460A1202 */ mul.s $f8, $f2, $f10 -/* 0BA950 7F085E20 00000000 */ nop -/* 0BA954 7F085E24 46060102 */ mul.s $f4, $f0, $f6 -/* 0BA958 7F085E28 46044281 */ sub.s $f10, $f8, $f4 -/* 0BA95C 7F085E2C C7A803AC */ lwc1 $f8, 0x3ac($sp) -/* 0BA960 7F085E30 460E5182 */ mul.s $f6, $f10, $f14 -/* 0BA964 7F085E34 46064100 */ add.s $f4, $f8, $f6 -/* 0BA968 7F085E38 E7A403AC */ swc1 $f4, 0x3ac($sp) -/* 0BA96C 7F085E3C C50A04A0 */ lwc1 $f10, 0x4a0($t0) -/* 0BA970 7F085E40 C5060498 */ lwc1 $f6, 0x498($t0) -/* 0BA974 7F085E44 460A1202 */ mul.s $f8, $f2, $f10 -/* 0BA978 7F085E48 00000000 */ nop -/* 0BA97C 7F085E4C 46060282 */ mul.s $f10, $f0, $f6 -/* 0BA980 7F085E50 460A4180 */ add.s $f6, $f8, $f10 -/* 0BA984 7F085E54 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BA988 7F085E58 460E3202 */ mul.s $f8, $f6, $f14 -/* 0BA98C 7F085E5C 46085180 */ add.s $f6, $f10, $f8 -/* 0BA990 7F085E60 C7AA0220 */ lwc1 $f10, 0x220($sp) -/* 0BA994 7F085E64 460A2200 */ add.s $f8, $f4, $f10 -/* 0BA998 7F085E68 C7A4021C */ lwc1 $f4, 0x21c($sp) -/* 0BA99C 7F085E6C E7A603B4 */ swc1 $f6, 0x3b4($sp) -/* 0BA9A0 7F085E70 46043280 */ add.s $f10, $f6, $f4 -/* 0BA9A4 7F085E74 E7A803AC */ swc1 $f8, 0x3ac($sp) -/* 0BA9A8 7F085E78 E7AA03B4 */ swc1 $f10, 0x3b4($sp) -/* 0BA9AC 7F085E7C C508048C */ lwc1 $f8, 0x48c($t0) -/* 0BA9B0 7F085E80 E7A80208 */ swc1 $f8, 0x208($sp) -/* 0BA9B4 7F085E84 C5060494 */ lwc1 $f6, 0x494($t0) -/* 0BA9B8 7F085E88 E7A60204 */ swc1 $f6, 0x204($sp) -/* 0BA9BC 7F085E8C 8D0C0488 */ lw $t4, 0x488($t0) -/* 0BA9C0 7F085E90 0FC24406 */ jal get_debug_fast_bond_flag -/* 0BA9C4 7F085E94 AFAC0200 */ sw $t4, 0x200($sp) -/* 0BA9C8 7F085E98 50400021 */ beql $v0, $zero, .L7F085F20 -/* 0BA9CC 7F085E9C 8E390000 */ lw $t9, ($s1) -/* 0BA9D0 7F085EA0 8E280000 */ lw $t0, ($s1) -/* 0BA9D4 7F085EA4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0BA9D8 7F085EA8 44810000 */ mtc1 $at, $f0 -/* 0BA9DC 7F085EAC C5040498 */ lwc1 $f4, 0x498($t0) -/* 0BA9E0 7F085EB0 C50A0174 */ lwc1 $f10, 0x174($t0) -/* 0BA9E4 7F085EB4 C50604A0 */ lwc1 $f6, 0x4a0($t0) -/* 0BA9E8 7F085EB8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BA9EC 7F085EBC 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BA9F0 7F085EC0 C504016C */ lwc1 $f4, 0x16c($t0) -/* 0BA9F4 7F085EC4 C42E8378 */ lwc1 $f14, %lo(global_timer_delta)($at) -/* 0BA9F8 7F085EC8 46043282 */ mul.s $f10, $f6, $f4 -/* 0BA9FC 7F085ECC 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BAA00 7F085ED0 C7AA03AC */ lwc1 $f10, 0x3ac($sp) -/* 0BAA04 7F085ED4 460E3102 */ mul.s $f4, $f6, $f14 -/* 0BAA08 7F085ED8 00000000 */ nop -/* 0BAA0C 7F085EDC 46002202 */ mul.s $f8, $f4, $f0 -/* 0BAA10 7F085EE0 46085180 */ add.s $f6, $f10, $f8 -/* 0BAA14 7F085EE4 E7A603AC */ swc1 $f6, 0x3ac($sp) -/* 0BAA18 7F085EE8 C50A0174 */ lwc1 $f10, 0x174($t0) -/* 0BAA1C 7F085EEC C50404A0 */ lwc1 $f4, 0x4a0($t0) -/* 0BAA20 7F085EF0 C5060498 */ lwc1 $f6, 0x498($t0) -/* 0BAA24 7F085EF4 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BAA28 7F085EF8 C504016C */ lwc1 $f4, 0x16c($t0) -/* 0BAA2C 7F085EFC 46043282 */ mul.s $f10, $f6, $f4 -/* 0BAA30 7F085F00 460A4180 */ add.s $f6, $f8, $f10 -/* 0BAA34 7F085F04 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BAA38 7F085F08 460E3102 */ mul.s $f4, $f6, $f14 -/* 0BAA3C 7F085F0C 00000000 */ nop -/* 0BAA40 7F085F10 46002202 */ mul.s $f8, $f4, $f0 -/* 0BAA44 7F085F14 46085180 */ add.s $f6, $f10, $f8 -/* 0BAA48 7F085F18 E7A603B4 */ swc1 $f6, 0x3b4($sp) -/* 0BAA4C 7F085F1C 8E390000 */ lw $t9, ($s1) -.L7F085F20: -/* 0BAA50 7F085F20 27A403AC */ addiu $a0, $sp, 0x3ac -/* 0BAA54 7F085F24 00002825 */ move $a1, $zero -/* 0BAA58 7F085F28 C7241274 */ lwc1 $f4, 0x1274($t9) -/* 0BAA5C 7F085F2C 4604A032 */ c.eq.s $f20, $f4 -/* 0BAA60 7F085F30 00000000 */ nop -/* 0BAA64 7F085F34 45000002 */ bc1f .L7F085F40 -/* 0BAA68 7F085F38 00000000 */ nop -/* 0BAA6C 7F085F3C 24050001 */ li $a1, 1 -.L7F085F40: -/* 0BAA70 7F085F40 0FC1F658 */ jal sub_GAME_7F07D960 -/* 0BAA74 7F085F44 00000000 */ nop -/* 0BAA78 7F085F48 8E2A0000 */ lw $t2, ($s1) -/* 0BAA7C 7F085F4C 3C018005 */ lui $at, %hi(D_80055240) -/* 0BAA80 7F085F50 C4285240 */ lwc1 $f8, %lo(D_80055240)($at) -/* 0BAA84 7F085F54 C54A04B0 */ lwc1 $f10, 0x4b0($t2) -/* 0BAA88 7F085F58 27B001B4 */ addiu $s0, $sp, 0x1b4 -/* 0BAA8C 7F085F5C AFB00010 */ sw $s0, 0x10($sp) -/* 0BAA90 7F085F60 46085182 */ mul.s $f6, $f10, $f8 -/* 0BAA94 7F085F64 27A40200 */ addiu $a0, $sp, 0x200 -/* 0BAA98 7F085F68 8FA50208 */ lw $a1, 0x208($sp) -/* 0BAA9C 7F085F6C 8FA60204 */ lw $a2, 0x204($sp) -/* 0BAAA0 7F085F70 44073000 */ mfc1 $a3, $f6 -/* 0BAAA4 7F085F74 0FC2C8C5 */ jal sub_GAME_7F0B2314 -/* 0BAAA8 7F085F78 00000000 */ nop -/* 0BAAAC 7F085F7C 0FC2C8E9 */ jal sub_GAME_7F0B23A4 -/* 0BAAB0 7F085F80 02002025 */ move $a0, $s0 -/* 0BAAB4 7F085F84 10400002 */ beqz $v0, .L7F085F90 -/* 0BAAB8 7F085F88 240D0001 */ li $t5, 1 -/* 0BAABC 7F085F8C AFAD0394 */ sw $t5, 0x394($sp) -.L7F085F90: -/* 0BAAC0 7F085F90 8E280000 */ lw $t0, ($s1) -/* 0BAAC4 7F085F94 3C018005 */ lui $at, %hi(D_80055244) -/* 0BAAC8 7F085F98 C42A5244 */ lwc1 $f10, %lo(D_80055244)($at) -/* 0BAACC 7F085F9C C50404B0 */ lwc1 $f4, 0x4b0($t0) -/* 0BAAD0 7F085FA0 8D05048C */ lw $a1, 0x48c($t0) -/* 0BAAD4 7F085FA4 8D060494 */ lw $a2, 0x494($t0) -/* 0BAAD8 7F085FA8 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BAADC 7F085FAC AFB00010 */ sw $s0, 0x10($sp) -/* 0BAAE0 7F085FB0 25040488 */ addiu $a0, $t0, 0x488 -/* 0BAAE4 7F085FB4 44074000 */ mfc1 $a3, $f8 -/* 0BAAE8 7F085FB8 0FC2C8C5 */ jal sub_GAME_7F0B2314 -/* 0BAAEC 7F085FBC 00000000 */ nop -/* 0BAAF0 7F085FC0 0FC2C8E9 */ jal sub_GAME_7F0B23A4 -/* 0BAAF4 7F085FC4 02002025 */ move $a0, $s0 -/* 0BAAF8 7F085FC8 10400002 */ beqz $v0, .L7F085FD4 -/* 0BAAFC 7F085FCC 240F0001 */ li $t7, 1 -/* 0BAB00 7F085FD0 AFAF0394 */ sw $t7, 0x394($sp) -.L7F085FD4: -/* 0BAB04 7F085FD4 8E280000 */ lw $t0, ($s1) -/* 0BAB08 7F085FD8 8D05048C */ lw $a1, 0x48c($t0) -/* 0BAB0C 7F085FDC 8D060494 */ lw $a2, 0x494($t0) -/* 0BAB10 7F085FE0 8D0704B0 */ lw $a3, 0x4b0($t0) -/* 0BAB14 7F085FE4 AFB00010 */ sw $s0, 0x10($sp) -/* 0BAB18 7F085FE8 0FC2C8C5 */ jal sub_GAME_7F0B2314 -/* 0BAB1C 7F085FEC 25040488 */ addiu $a0, $t0, 0x488 -/* 0BAB20 7F085FF0 0FC2C8E9 */ jal sub_GAME_7F0B23A4 -/* 0BAB24 7F085FF4 02002025 */ move $a0, $s0 -/* 0BAB28 7F085FF8 1440000D */ bnez $v0, .L7F086030 -/* 0BAB2C 7F085FFC 00000000 */ nop -/* 0BAB30 7F086000 8E2E0000 */ lw $t6, ($s1) -/* 0BAB34 7F086004 3C018005 */ lui $at, %hi(D_80055248) -/* 0BAB38 7F086008 C4245248 */ lwc1 $f4, %lo(D_80055248)($at) -/* 0BAB3C 7F08600C C5C604B0 */ lwc1 $f6, 0x4b0($t6) -/* 0BAB40 7F086010 AFB00010 */ sw $s0, 0x10($sp) -/* 0BAB44 7F086014 27A40200 */ addiu $a0, $sp, 0x200 -/* 0BAB48 7F086018 46043282 */ mul.s $f10, $f6, $f4 -/* 0BAB4C 7F08601C 8FA50208 */ lw $a1, 0x208($sp) -/* 0BAB50 7F086020 8FA60204 */ lw $a2, 0x204($sp) -/* 0BAB54 7F086024 44075000 */ mfc1 $a3, $f10 -/* 0BAB58 7F086028 0FC2C8C5 */ jal sub_GAME_7F0B2314 -/* 0BAB5C 7F08602C 00000000 */ nop -.L7F086030: -/* 0BAB60 7F086030 0FC2C8E9 */ jal sub_GAME_7F0B23A4 -/* 0BAB64 7F086034 02002025 */ move $a0, $s0 -/* 0BAB68 7F086038 104000B8 */ beqz $v0, .L7F08631C -/* 0BAB6C 7F08603C 240B0001 */ li $t3, 1 -/* 0BAB70 7F086040 AFAB0394 */ sw $t3, 0x394($sp) -/* 0BAB74 7F086044 27A40174 */ addiu $a0, $sp, 0x174 -/* 0BAB78 7F086048 27A50170 */ addiu $a1, $sp, 0x170 -/* 0BAB7C 7F08604C 0FC2C908 */ jal sub_GAME_7F0B2420 -/* 0BAB80 7F086050 27A60184 */ addiu $a2, $sp, 0x184 -/* 0BAB84 7F086054 8E380000 */ lw $t8, ($s1) -/* 0BAB88 7F086058 C7A801A0 */ lwc1 $f8, 0x1a0($sp) -/* 0BAB8C 7F08605C C7060074 */ lwc1 $f6, 0x74($t8) -/* 0BAB90 7F086060 4608303E */ c.le.s $f6, $f8 -/* 0BAB94 7F086064 C7A80198 */ lwc1 $f8, 0x198($sp) -/* 0BAB98 7F086068 C7A6018C */ lwc1 $f6, 0x18c($sp) -/* 0BAB9C 7F08606C 450200AC */ bc1fl .L7F086320 -/* 0BABA0 7F086070 8E280000 */ lw $t0, ($s1) -/* 0BABA4 7F086074 C7A40184 */ lwc1 $f4, 0x184($sp) -/* 0BABA8 7F086078 C7AA0190 */ lwc1 $f10, 0x190($sp) -/* 0BABAC 7F08607C 46064381 */ sub.s $f14, $f8, $f6 -/* 0BABB0 7F086080 460A2081 */ sub.s $f2, $f4, $f10 -/* 0BABB4 7F086084 460E7102 */ mul.s $f4, $f14, $f14 -/* 0BABB8 7F086088 E7AE016C */ swc1 $f14, 0x16c($sp) -/* 0BABBC 7F08608C 46021282 */ mul.s $f10, $f2, $f2 -/* 0BABC0 7F086090 E7A20168 */ swc1 $f2, 0x168($sp) -/* 0BABC4 7F086094 0C007DF8 */ jal sqrtf -/* 0BABC8 7F086098 460A2300 */ add.s $f12, $f4, $f10 -/* 0BABCC 7F08609C C7A20168 */ lwc1 $f2, 0x168($sp) -/* 0BABD0 7F0860A0 C7AE016C */ lwc1 $f14, 0x16c($sp) -/* 0BABD4 7F0860A4 C7A80204 */ lwc1 $f8, 0x204($sp) -/* 0BABD8 7F0860A8 46001083 */ div.s $f2, $f2, $f0 -/* 0BABDC 7F0860AC C7A6018C */ lwc1 $f6, 0x18c($sp) -/* 0BABE0 7F0860B0 E7A80030 */ swc1 $f8, 0x30($sp) -/* 0BABE4 7F0860B4 46064101 */ sub.s $f4, $f8, $f6 -/* 0BABE8 7F0860B8 C7A80184 */ lwc1 $f8, 0x184($sp) -/* 0BABEC 7F0860BC E7A60034 */ swc1 $f6, 0x34($sp) -/* 0BABF0 7F0860C0 46007383 */ div.s $f14, $f14, $f0 -/* 0BABF4 7F0860C4 46022282 */ mul.s $f10, $f4, $f2 -/* 0BABF8 7F0860C8 C7A40208 */ lwc1 $f4, 0x208($sp) -/* 0BABFC 7F0860CC 46082181 */ sub.s $f6, $f4, $f8 -/* 0BAC00 7F0860D0 460E3182 */ mul.s $f6, $f6, $f14 -/* 0BAC04 7F0860D4 46065300 */ add.s $f12, $f10, $f6 -/* 0BAC08 7F0860D8 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0BAC0C 7F0860DC C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BAC10 7F0860E0 E7AC0050 */ swc1 $f12, 0x50($sp) -/* 0BAC14 7F0860E4 460A3180 */ add.s $f6, $f6, $f10 -/* 0BAC18 7F0860E8 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 0BAC1C 7F0860EC 460A3181 */ sub.s $f6, $f6, $f10 -/* 0BAC20 7F0860F0 46023282 */ mul.s $f10, $f6, $f2 -/* 0BAC24 7F0860F4 C7A603AC */ lwc1 $f6, 0x3ac($sp) -/* 0BAC28 7F0860F8 46062100 */ add.s $f4, $f4, $f6 -/* 0BAC2C 7F0860FC 46082181 */ sub.s $f6, $f4, $f8 -/* 0BAC30 7F086100 460E3102 */ mul.s $f4, $f6, $f14 -/* 0BAC34 7F086104 46045480 */ add.s $f18, $f10, $f4 -/* 0BAC38 7F086108 C7A403B4 */ lwc1 $f4, 0x3b4($sp) -/* 0BAC3C 7F08610C 46126202 */ mul.s $f8, $f12, $f18 -/* 0BAC40 7F086110 46009406 */ mov.s $f16, $f18 -/* 0BAC44 7F086114 4614403E */ c.le.s $f8, $f20 -/* 0BAC48 7F086118 46042202 */ mul.s $f8, $f4, $f4 -/* 0BAC4C 7F08611C 45020004 */ bc1fl .L7F086130 -/* 0BAC50 7F086120 4614903C */ c.lt.s $f18, $f20 -/* 0BAC54 7F086124 1000001F */ b .L7F0861A4 -/* 0BAC58 7F086128 4600A386 */ mov.s $f14, $f20 -/* 0BAC5C 7F08612C 4614903C */ c.lt.s $f18, $f20 -.L7F086130: -/* 0BAC60 7F086130 00000000 */ nop -/* 0BAC64 7F086134 45020005 */ bc1fl .L7F08614C -/* 0BAC68 7F086138 4610603E */ c.le.s $f12, $f16 -/* 0BAC6C 7F08613C C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 0BAC70 7F086140 46009407 */ neg.s $f16, $f18 -/* 0BAC74 7F086144 46006307 */ neg.s $f12, $f12 -/* 0BAC78 7F086148 4610603E */ c.le.s $f12, $f16 -.L7F08614C: -/* 0BAC7C 7F08614C 00000000 */ nop -/* 0BAC80 7F086150 45020004 */ bc1fl .L7F086164 -/* 0BAC84 7F086154 8E2C0000 */ lw $t4, ($s1) -/* 0BAC88 7F086158 10000012 */ b .L7F0861A4 -/* 0BAC8C 7F08615C 4600A386 */ mov.s $f14, $f20 -/* 0BAC90 7F086160 8E2C0000 */ lw $t4, ($s1) -.L7F086164: -/* 0BAC94 7F086164 C58004B0 */ lwc1 $f0, 0x4b0($t4) -/* 0BAC98 7F086168 4610003C */ c.lt.s $f0, $f16 -/* 0BAC9C 7F08616C 00000000 */ nop -/* 0BACA0 7F086170 45020004 */ bc1fl .L7F086184 -/* 0BACA4 7F086174 4600603C */ c.lt.s $f12, $f0 -/* 0BACA8 7F086178 1000000A */ b .L7F0861A4 -/* 0BACAC 7F08617C 4600A386 */ mov.s $f14, $f20 -/* 0BACB0 7F086180 4600603C */ c.lt.s $f12, $f0 -.L7F086184: -/* 0BACB4 7F086184 00000000 */ nop -/* 0BACB8 7F086188 45020004 */ bc1fl .L7F08619C -/* 0BACBC 7F08618C 46006181 */ sub.s $f6, $f12, $f0 -/* 0BACC0 7F086190 10000004 */ b .L7F0861A4 -/* 0BACC4 7F086194 4600A386 */ mov.s $f14, $f20 -/* 0BACC8 7F086198 46006181 */ sub.s $f6, $f12, $f0 -.L7F08619C: -/* 0BACCC 7F08619C 46106281 */ sub.s $f10, $f12, $f16 -/* 0BACD0 7F0861A0 460A3383 */ div.s $f14, $f6, $f10 -.L7F0861A4: -/* 0BACD4 7F0861A4 C7A603AC */ lwc1 $f6, 0x3ac($sp) -/* 0BACD8 7F0861A8 E7AE0180 */ swc1 $f14, 0x180($sp) -/* 0BACDC 7F0861AC 46063282 */ mul.s $f10, $f6, $f6 -/* 0BACE0 7F0861B0 0C007DF8 */ jal sqrtf -/* 0BACE4 7F0861B4 460A4300 */ add.s $f12, $f8, $f10 -/* 0BACE8 7F0861B8 4600A03C */ c.lt.s $f20, $f0 -/* 0BACEC 7F0861BC C7AE0180 */ lwc1 $f14, 0x180($sp) -/* 0BACF0 7F0861C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BACF4 7F0861C4 4502001B */ bc1fl .L7F086234 -/* 0BACF8 7F0861C8 C7A6019C */ lwc1 $f6, 0x19c($sp) -/* 0BACFC 7F0861CC 44812000 */ mtc1 $at, $f4 -/* 0BAD00 7F0861D0 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0BAD04 7F0861D4 44814000 */ mtc1 $at, $f8 -/* 0BAD08 7F0861D8 460E2181 */ sub.s $f6, $f4, $f14 -/* 0BAD0C 7F0861DC 8E390000 */ lw $t9, ($s1) -/* 0BAD10 7F0861E0 C7A401A0 */ lwc1 $f4, 0x1a0($sp) -/* 0BAD14 7F0861E4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0BAD18 7F0861E8 46003082 */ mul.s $f2, $f6, $f0 -/* 0BAD1C 7F0861EC 00000000 */ nop -/* 0BAD20 7F0861F0 46081302 */ mul.s $f12, $f2, $f8 -/* 0BAD24 7F0861F4 E7AC0390 */ swc1 $f12, 0x390($sp) -/* 0BAD28 7F0861F8 C7320074 */ lwc1 $f18, 0x74($t9) -/* 0BAD2C 7F0861FC 460C9280 */ add.s $f10, $f18, $f12 -/* 0BAD30 7F086200 460A203E */ c.le.s $f4, $f10 -/* 0BAD34 7F086204 00000000 */ nop -/* 0BAD38 7F086208 45000009 */ bc1f .L7F086230 -/* 0BAD3C 7F08620C 00000000 */ nop -/* 0BAD40 7F086210 46122181 */ sub.s $f6, $f4, $f18 -/* 0BAD44 7F086214 44814000 */ mtc1 $at, $f8 -/* 0BAD48 7F086218 00000000 */ nop -/* 0BAD4C 7F08621C 46083283 */ div.s $f10, $f6, $f8 -/* 0BAD50 7F086220 E7A60390 */ swc1 $f6, 0x390($sp) -/* 0BAD54 7F086224 460A1401 */ sub.s $f16, $f2, $f10 -/* 0BAD58 7F086228 46008103 */ div.s $f4, $f16, $f0 -/* 0BAD5C 7F08622C 46047380 */ add.s $f14, $f14, $f4 -.L7F086230: -/* 0BAD60 7F086230 C7A6019C */ lwc1 $f6, 0x19c($sp) -.L7F086234: -/* 0BAD64 7F086234 C7A80184 */ lwc1 $f8, 0x184($sp) -/* 0BAD68 7F086238 C7AA01A4 */ lwc1 $f10, 0x1a4($sp) -/* 0BAD6C 7F08623C C7A4018C */ lwc1 $f4, 0x18c($sp) -/* 0BAD70 7F086240 46083301 */ sub.s $f12, $f6, $f8 -/* 0BAD74 7F086244 C7A601A8 */ lwc1 $f6, 0x1a8($sp) -/* 0BAD78 7F086248 8E280000 */ lw $t0, ($s1) -/* 0BAD7C 7F08624C 46045401 */ sub.s $f16, $f10, $f4 -/* 0BAD80 7F086250 C7AA01B0 */ lwc1 $f10, 0x1b0($sp) -/* 0BAD84 7F086254 46083481 */ sub.s $f18, $f6, $f8 -/* 0BAD88 7F086258 46045181 */ sub.s $f6, $f10, $f4 -/* 0BAD8C 7F08625C 46129202 */ mul.s $f8, $f18, $f18 -/* 0BAD90 7F086260 00000000 */ nop -/* 0BAD94 7F086264 46063282 */ mul.s $f10, $f6, $f6 -/* 0BAD98 7F086268 E7A60048 */ swc1 $f6, 0x48($sp) -/* 0BAD9C 7F08626C 460A4100 */ add.s $f4, $f8, $f10 -/* 0BADA0 7F086270 460C6202 */ mul.s $f8, $f12, $f12 -/* 0BADA4 7F086274 00000000 */ nop -/* 0BADA8 7F086278 46108282 */ mul.s $f10, $f16, $f16 -/* 0BADAC 7F08627C 460A4200 */ add.s $f8, $f8, $f10 -/* 0BADB0 7F086280 C7AA01A0 */ lwc1 $f10, 0x1a0($sp) -/* 0BADB4 7F086284 4608203C */ c.lt.s $f4, $f8 -/* 0BADB8 7F086288 C7A40188 */ lwc1 $f4, 0x188($sp) -/* 0BADBC 7F08628C 45000003 */ bc1f .L7F08629C -/* 0BADC0 7F086290 46045201 */ sub.s $f8, $f10, $f4 -/* 0BADC4 7F086294 46009306 */ mov.s $f12, $f18 -/* 0BADC8 7F086298 46003406 */ mov.s $f16, $f6 -.L7F08629C: -/* 0BADCC 7F08629C C7A60390 */ lwc1 $f6, 0x390($sp) -/* 0BADD0 7F0862A0 C7A403AC */ lwc1 $f4, 0x3ac($sp) -/* 0BADD4 7F0862A4 27A403AC */ addiu $a0, $sp, 0x3ac -/* 0BADD8 7F0862A8 46083003 */ div.s $f0, $f6, $f8 -/* 0BADDC 7F0862AC 00002825 */ move $a1, $zero -/* 0BADE0 7F0862B0 460C0282 */ mul.s $f10, $f0, $f12 -/* 0BADE4 7F0862B4 00000000 */ nop -/* 0BADE8 7F0862B8 460E2182 */ mul.s $f6, $f4, $f14 -/* 0BADEC 7F0862BC 46065200 */ add.s $f8, $f10, $f6 -/* 0BADF0 7F0862C0 46100102 */ mul.s $f4, $f0, $f16 -/* 0BADF4 7F0862C4 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BADF8 7F0862C8 E7A803AC */ swc1 $f8, 0x3ac($sp) -/* 0BADFC 7F0862CC 460E5182 */ mul.s $f6, $f10, $f14 -/* 0BAE00 7F0862D0 C7AA0208 */ lwc1 $f10, 0x208($sp) -/* 0BAE04 7F0862D4 46062200 */ add.s $f8, $f4, $f6 -/* 0BAE08 7F0862D8 E7A803B4 */ swc1 $f8, 0x3b4($sp) -/* 0BAE0C 7F0862DC E50A048C */ swc1 $f10, 0x48c($t0) -/* 0BAE10 7F0862E0 8E2A0000 */ lw $t2, ($s1) -/* 0BAE14 7F0862E4 C7A40204 */ lwc1 $f4, 0x204($sp) -/* 0BAE18 7F0862E8 E5440494 */ swc1 $f4, 0x494($t2) -/* 0BAE1C 7F0862EC 8E2F0000 */ lw $t7, ($s1) -/* 0BAE20 7F0862F0 8FAD0200 */ lw $t5, 0x200($sp) -/* 0BAE24 7F0862F4 ADED0488 */ sw $t5, 0x488($t7) -/* 0BAE28 7F0862F8 8E2E0000 */ lw $t6, ($s1) -/* 0BAE2C 7F0862FC C5C61274 */ lwc1 $f6, 0x1274($t6) -/* 0BAE30 7F086300 4606A032 */ c.eq.s $f20, $f6 -/* 0BAE34 7F086304 00000000 */ nop -/* 0BAE38 7F086308 45000002 */ bc1f .L7F086314 -/* 0BAE3C 7F08630C 00000000 */ nop -/* 0BAE40 7F086310 24050001 */ li $a1, 1 -.L7F086314: -/* 0BAE44 7F086314 0FC1F658 */ jal sub_GAME_7F07D960 -/* 0BAE48 7F086318 00000000 */ nop -.L7F08631C: -/* 0BAE4C 7F08631C 8E280000 */ lw $t0, ($s1) -.L7F086320: -/* 0BAE50 7F086320 C7AA0208 */ lwc1 $f10, 0x208($sp) -/* 0BAE54 7F086324 C7A60204 */ lwc1 $f6, 0x204($sp) -/* 0BAE58 7F086328 C508048C */ lwc1 $f8, 0x48c($t0) -/* 0BAE5C 7F08632C C5040494 */ lwc1 $f4, 0x494($t0) -/* 0BAE60 7F086330 460A4081 */ sub.s $f2, $f8, $f10 -/* 0BAE64 7F086334 C7A803B4 */ lwc1 $f8, 0x3b4($sp) -/* 0BAE68 7F086338 46062381 */ sub.s $f14, $f4, $f6 -/* 0BAE6C 7F08633C 46084282 */ mul.s $f10, $f8, $f8 -/* 0BAE70 7F086340 C7A403AC */ lwc1 $f4, 0x3ac($sp) -/* 0BAE74 7F086344 46042182 */ mul.s $f6, $f4, $f4 -/* 0BAE78 7F086348 46065000 */ add.s $f0, $f10, $f6 -/* 0BAE7C 7F08634C 46140032 */ c.eq.s $f0, $f20 -/* 0BAE80 7F086350 46000306 */ mov.s $f12, $f0 -/* 0BAE84 7F086354 45010006 */ bc1t .L7F086370 -/* 0BAE88 7F086358 00000000 */ nop -/* 0BAE8C 7F08635C 46021202 */ mul.s $f8, $f2, $f2 -/* 0BAE90 7F086360 00000000 */ nop -/* 0BAE94 7F086364 460E7102 */ mul.s $f4, $f14, $f14 -/* 0BAE98 7F086368 46044280 */ add.s $f10, $f8, $f4 -/* 0BAE9C 7F08636C 46005303 */ div.s $f12, $f10, $f0 -.L7F086370: -/* 0BAEA0 7F086370 0C007DF8 */ jal sqrtf -/* 0BAEA4 7F086374 00000000 */ nop -/* 0BAEA8 7F086378 C7A80220 */ lwc1 $f8, 0x220($sp) -/* 0BAEAC 7F08637C 8E280000 */ lw $t0, ($s1) -/* 0BAEB0 7F086380 46080102 */ mul.s $f4, $f0, $f8 -/* 0BAEB4 7F086384 C5061278 */ lwc1 $f6, 0x1278($t0) -/* 0BAEB8 7F086388 46043280 */ add.s $f10, $f6, $f4 -/* 0BAEBC 7F08638C E50A1278 */ swc1 $f10, 0x1278($t0) -/* 0BAEC0 7F086390 C7A6021C */ lwc1 $f6, 0x21c($sp) -/* 0BAEC4 7F086394 8E280000 */ lw $t0, ($s1) -/* 0BAEC8 7F086398 46060102 */ mul.s $f4, $f0, $f6 -/* 0BAECC 7F08639C C508127C */ lwc1 $f8, 0x127c($t0) -/* 0BAED0 7F0863A0 46044280 */ add.s $f10, $f8, $f4 -/* 0BAED4 7F0863A4 E50A127C */ swc1 $f10, 0x127c($t0) -.L7F0863A8: -/* 0BAED8 7F0863A8 8E280000 */ lw $t0, ($s1) -.L7F0863AC: -/* 0BAEDC 7F0863AC 3C018005 */ lui $at, %hi(D_8005524C) -/* 0BAEE0 7F0863B0 C428524C */ lwc1 $f8, %lo(D_8005524C)($at) -/* 0BAEE4 7F0863B4 C5060160 */ lwc1 $f6, 0x160($t0) -/* 0BAEE8 7F0863B8 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0BAEEC 7F0863BC C50A00A4 */ lwc1 $f10, 0xa4($t0) -/* 0BAEF0 7F0863C0 46083103 */ div.s $f4, $f6, $f8 -/* 0BAEF4 7F0863C4 44813000 */ mtc1 $at, $f6 -/* 0BAEF8 7F0863C8 C514014C */ lwc1 $f20, 0x14c($t0) -/* 0BAEFC 7F0863CC 46065203 */ div.s $f8, $f10, $f6 -/* 0BAF00 7F0863D0 46082080 */ add.s $f2, $f4, $f8 -/* 0BAF04 7F0863D4 0FC23ABE */ jal sub_GAME_7F08EAF8 -/* 0BAF08 7F0863D8 E7A20144 */ swc1 $f2, 0x144($sp) -/* 0BAF0C 7F0863DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BAF10 7F0863E0 44817000 */ mtc1 $at, $f14 -/* 0BAF14 7F0863E4 C7A20144 */ lwc1 $f2, 0x144($sp) -/* 0BAF18 7F0863E8 4407A000 */ mfc1 $a3, $f20 -/* 0BAF1C 7F0863EC 46000306 */ mov.s $f12, $f0 -/* 0BAF20 7F0863F0 4602703C */ c.lt.s $f14, $f2 -/* 0BAF24 7F0863F4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0BAF28 7F0863F8 45020004 */ bc1fl .L7F08640C -/* 0BAF2C 7F0863FC 44817000 */ mtc1 $at, $f14 -/* 0BAF30 7F086400 10000008 */ b .L7F086424 -/* 0BAF34 7F086404 46007086 */ mov.s $f2, $f14 -/* 0BAF38 7F086408 44817000 */ mtc1 $at, $f14 -.L7F08640C: -/* 0BAF3C 7F08640C 00000000 */ nop -/* 0BAF40 7F086410 460E103C */ c.lt.s $f2, $f14 -/* 0BAF44 7F086414 00000000 */ nop -/* 0BAF48 7F086418 45020003 */ bc1fl .L7F086428 -/* 0BAF4C 7F08641C 8E2B0000 */ lw $t3, ($s1) -/* 0BAF50 7F086420 46007086 */ mov.s $f2, $f14 -.L7F086424: -/* 0BAF54 7F086424 8E2B0000 */ lw $t3, ($s1) -.L7F086428: -/* 0BAF58 7F086428 24010001 */ li $at, 1 -/* 0BAF5C 7F08642C 44061000 */ mfc1 $a2, $f2 -/* 0BAF60 7F086430 8D7804E8 */ lw $t8, 0x4e8($t3) -/* 0BAF64 7F086434 17010004 */ bne $t8, $at, .L7F086448 -/* 0BAF68 7F086438 3C018005 */ lui $at, %hi(D_80055250) -/* 0BAF6C 7F08643C C42A5250 */ lwc1 $f10, %lo(D_80055250)($at) -/* 0BAF70 7F086440 460A0302 */ mul.s $f12, $f0, $f10 -/* 0BAF74 7F086444 00000000 */ nop -.L7F086448: -/* 0BAF78 7F086448 0FC17839 */ jal sub_GAME_7F05E0E4 -/* 0BAF7C 7F08644C C7AE0398 */ lwc1 $f14, 0x398($sp) -/* 0BAF80 7F086450 8E2C0000 */ lw $t4, ($s1) -/* 0BAF84 7F086454 3C018005 */ lui $at, %hi(D_80055254) -/* 0BAF88 7F086458 C4245254 */ lwc1 $f4, %lo(D_80055254)($at) -/* 0BAF8C 7F08645C C586015C */ lwc1 $f6, 0x15c($t4) -/* 0BAF90 7F086460 46043302 */ mul.s $f12, $f6, $f4 -/* 0BAF94 7F086464 0FC1797C */ jal sub_GAME_7F05E5F0 -/* 0BAF98 7F086468 00000000 */ nop -/* 0BAF9C 7F08646C 3C038003 */ lui $v1, %hi(ptr_playerstank) -/* 0BAFA0 7F086470 8C636450 */ lw $v1, %lo(ptr_playerstank)($v1) -/* 0BAFA4 7F086474 3C198003 */ lui $t9, %hi(in_tank_flag) -/* 0BAFA8 7F086478 5060012F */ beql $v1, $zero, .L7F086938 -/* 0BAFAC 7F08647C 8FA40394 */ lw $a0, 0x394($sp) -/* 0BAFB0 7F086480 8F396448 */ lw $t9, %lo(in_tank_flag)($t9) -/* 0BAFB4 7F086484 24010001 */ li $at, 1 -/* 0BAFB8 7F086488 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_800799B8) -/* 0BAFBC 7F08648C 5721012A */ bnel $t9, $at, .L7F086938 -/* 0BAFC0 7F086490 8FA40394 */ lw $a0, 0x394($sp) -/* 0BAFC4 7F086494 8D4A99B8 */ lw $t2, %lo(dword_CODE_bss_800799B8)($t2) -/* 0BAFC8 7F086498 24010002 */ li $at, 2 -/* 0BAFCC 7F08649C 55410126 */ bnel $t2, $at, .L7F086938 -/* 0BAFD0 7F0864A0 8FA40394 */ lw $a0, 0x394($sp) -/* 0BAFD4 7F0864A4 8C620004 */ lw $v0, 4($v1) -/* 0BAFD8 7F0864A8 00002025 */ move $a0, $zero -/* 0BAFDC 7F0864AC AFA20138 */ sw $v0, 0x138($sp) -/* 0BAFE0 7F0864B0 8C4D0014 */ lw $t5, 0x14($v0) -/* 0BAFE4 7F0864B4 00408025 */ move $s0, $v0 -/* 0BAFE8 7F0864B8 8DAF0008 */ lw $t7, 8($t5) -/* 0BAFEC 7F0864BC 8DEE0008 */ lw $t6, 8($t7) -/* 0BAFF0 7F0864C0 8DCB0014 */ lw $t3, 0x14($t6) -/* 0BAFF4 7F0864C4 8D780004 */ lw $t8, 4($t3) -/* 0BAFF8 7F0864C8 0FC17674 */ jal get_item_in_hand -/* 0BAFFC 7F0864CC AFB80130 */ sw $t8, 0x130($sp) -/* 0BB000 7F0864D0 38430020 */ xori $v1, $v0, 0x20 -/* 0BB004 7F0864D4 2C640001 */ sltiu $a0, $v1, 1 -/* 0BB008 7F0864D8 50800005 */ beql $a0, $zero, .L7F0864F0 -/* 0BB00C 7F0864DC AE0400C4 */ sw $a0, 0xc4($s0) -/* 0BB010 7F0864E0 0FC17722 */ jal get_hands_firing_status -/* 0BB014 7F0864E4 00002025 */ move $a0, $zero -/* 0BB018 7F0864E8 0002202B */ sltu $a0, $zero, $v0 -/* 0BB01C 7F0864EC AE0400C4 */ sw $a0, 0xc4($s0) -.L7F0864F0: -/* 0BB020 7F0864F0 3C018003 */ lui $at, %hi(D_8003646C) -/* 0BB024 7F0864F4 C428646C */ lwc1 $f8, %lo(D_8003646C)($at) -/* 0BB028 7F0864F8 3C018003 */ lui $at, %hi(D_80036474) -/* 0BB02C 7F0864FC 27A500F0 */ addiu $a1, $sp, 0xf0 -/* 0BB030 7F086500 E60800C8 */ swc1 $f8, 0xc8($s0) -/* 0BB034 7F086504 C42A6474 */ lwc1 $f10, %lo(D_80036474)($at) -/* 0BB038 7F086508 3C018003 */ lui $at, %hi(D_80036464) -/* 0BB03C 7F08650C E60A00CC */ swc1 $f10, 0xcc($s0) -/* 0BB040 7F086510 C4266464 */ lwc1 $f6, %lo(D_80036464)($at) -/* 0BB044 7F086514 3C018005 */ lui $at, %hi(D_80055258) -/* 0BB048 7F086518 E60600DC */ swc1 $f6, 0xdc($s0) -/* 0BB04C 7F08651C C4245258 */ lwc1 $f4, %lo(D_80055258)($at) -/* 0BB050 7F086520 3C018003 */ lui $at, %hi(D_80036464) -/* 0BB054 7F086524 C4286464 */ lwc1 $f8, %lo(D_80036464)($at) -/* 0BB058 7F086528 0FC1617F */ jal sub_GAME_7F0585FC -/* 0BB05C 7F08652C 46082301 */ sub.s $f12, $f4, $f8 -/* 0BB060 7F086530 8FAC0138 */ lw $t4, 0x138($sp) -/* 0BB064 7F086534 27A500F0 */ addiu $a1, $sp, 0xf0 -/* 0BB068 7F086538 8D990014 */ lw $t9, 0x14($t4) -/* 0BB06C 7F08653C 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0BB070 7F086540 C72C0014 */ lwc1 $f12, 0x14($t9) -/* 0BB074 7F086544 3C018008 */ lui $at, %hi(flt_CODE_bss_800799AC) -/* 0BB078 7F086548 C42A99A8 */ lwc1 $f10, %lo(flt_CODE_bss_800799A8)($at) -/* 0BB07C 7F08654C C42499AC */ lwc1 $f4, %lo(flt_CODE_bss_800799AC)($at) -/* 0BB080 7F086550 3C018008 */ lui $at, %hi(flt_CODE_bss_800799B0) -/* 0BB084 7F086554 46005187 */ neg.s $f6, $f10 -/* 0BB088 7F086558 C42A99B0 */ lwc1 $f10, %lo(flt_CODE_bss_800799B0)($at) -/* 0BB08C 7F08655C E7A600E4 */ swc1 $f6, 0xe4($sp) -/* 0BB090 7F086560 46002207 */ neg.s $f8, $f4 -/* 0BB094 7F086564 46005187 */ neg.s $f6, $f10 -/* 0BB098 7F086568 E7A800E8 */ swc1 $f8, 0xe8($sp) -/* 0BB09C 7F08656C E7A600EC */ swc1 $f6, 0xec($sp) -/* 0BB0A0 7F086570 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 0BB0A4 7F086574 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0BB0A8 7F086578 27A500E4 */ addiu $a1, $sp, 0xe4 -/* 0BB0AC 7F08657C 8E280000 */ lw $t0, ($s1) -/* 0BB0B0 7F086580 C7A400E4 */ lwc1 $f4, 0xe4($sp) -/* 0BB0B4 7F086584 C7A600EC */ lwc1 $f6, 0xec($sp) -/* 0BB0B8 7F086588 C508048C */ lwc1 $f8, 0x48c($t0) -/* 0BB0BC 7F08658C 8FA20138 */ lw $v0, 0x138($sp) -/* 0BB0C0 7F086590 46082280 */ add.s $f10, $f4, $f8 -/* 0BB0C4 7F086594 E7AA00E4 */ swc1 $f10, 0xe4($sp) -/* 0BB0C8 7F086598 C5040494 */ lwc1 $f4, 0x494($t0) -/* 0BB0CC 7F08659C 46043200 */ add.s $f8, $f6, $f4 -/* 0BB0D0 7F0865A0 E7A800EC */ swc1 $f8, 0xec($sp) -/* 0BB0D4 7F0865A4 8D0A0488 */ lw $t2, 0x488($t0) -/* 0BB0D8 7F0865A8 8C4D0010 */ lw $t5, 0x10($v0) -/* 0BB0DC 7F0865AC ADAA0014 */ sw $t2, 0x14($t5) -/* 0BB0E0 7F0865B0 8E280000 */ lw $t0, ($s1) -/* 0BB0E4 7F0865B4 C7AA00EC */ lwc1 $f10, 0xec($sp) -/* 0BB0E8 7F0865B8 8C440010 */ lw $a0, 0x10($v0) -/* 0BB0EC 7F0865BC 8D05048C */ lw $a1, 0x48c($t0) -/* 0BB0F0 7F0865C0 8D060494 */ lw $a2, 0x494($t0) -/* 0BB0F4 7F0865C4 8FA700E4 */ lw $a3, 0xe4($sp) -/* 0BB0F8 7F0865C8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0BB0FC 7F0865CC 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0BB100 7F0865D0 24840014 */ addiu $a0, $a0, 0x14 -/* 0BB104 7F0865D4 8FAF0138 */ lw $t7, 0x138($sp) -/* 0BB108 7F0865D8 8FA500E4 */ lw $a1, 0xe4($sp) -/* 0BB10C 7F0865DC 8FA600EC */ lw $a2, 0xec($sp) -/* 0BB110 7F0865E0 8DEE0010 */ lw $t6, 0x10($t7) -/* 0BB114 7F0865E4 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0BB118 7F0865E8 8DC40014 */ lw $a0, 0x14($t6) -/* 0BB11C 7F0865EC 3C038005 */ lui $v1, %hi(clock_timer) -/* 0BB120 7F0865F0 24638374 */ addiu $v1, %lo(clock_timer) # addiu $v1, $v1, -0x7c8c -/* 0BB124 7F0865F4 E60000D4 */ swc1 $f0, 0xd4($s0) -/* 0BB128 7F0865F8 8C6B0000 */ lw $t3, ($v1) -/* 0BB12C 7F0865FC 00001025 */ move $v0, $zero -/* 0BB130 7F086600 3C018005 */ lui $at, %hi(D_8005525C) -/* 0BB134 7F086604 1960000C */ blez $t3, .L7F086638 -/* 0BB138 7F086608 00000000 */ nop -/* 0BB13C 7F08660C C60200D4 */ lwc1 $f2, 0xd4($s0) -/* 0BB140 7F086610 C420525C */ lwc1 $f0, %lo(D_8005525C)($at) -/* 0BB144 7F086614 C60600D0 */ lwc1 $f6, 0xd0($s0) -.L7F086618: -/* 0BB148 7F086618 24420001 */ addiu $v0, $v0, 1 -/* 0BB14C 7F08661C 46003102 */ mul.s $f4, $f6, $f0 -/* 0BB150 7F086620 46022200 */ add.s $f8, $f4, $f2 -/* 0BB154 7F086624 E60800D0 */ swc1 $f8, 0xd0($s0) -/* 0BB158 7F086628 8C780000 */ lw $t8, ($v1) -/* 0BB15C 7F08662C 0058082A */ slt $at, $v0, $t8 -/* 0BB160 7F086630 5420FFF9 */ bnezl $at, .L7F086618 -/* 0BB164 7F086634 C60600D0 */ lwc1 $f6, 0xd0($s0) -.L7F086638: -/* 0BB168 7F086638 3C018005 */ lui $at, %hi(D_80055260) -/* 0BB16C 7F08663C C4265260 */ lwc1 $f6, %lo(D_80055260)($at) -/* 0BB170 7F086640 C60A00D0 */ lwc1 $f10, 0xd0($s0) -/* 0BB174 7F086644 8FA40130 */ lw $a0, 0x130($sp) -/* 0BB178 7F086648 46065502 */ mul.s $f20, $f10, $f6 -/* 0BB17C 7F08664C 0FC0FA19 */ jal sub_GAME_7F03E864 -/* 0BB180 7F086650 00000000 */ nop -/* 0BB184 7F086654 8FA20138 */ lw $v0, 0x138($sp) -/* 0BB188 7F086658 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0BB18C 7F08665C 44813000 */ mtc1 $at, $f6 -/* 0BB190 7F086660 8C4C0014 */ lw $t4, 0x14($v0) -/* 0BB194 7F086664 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 0BB198 7F086668 24450018 */ addiu $a1, $v0, 0x18 -/* 0BB19C 7F08666C C5840014 */ lwc1 $f4, 0x14($t4) -/* 0BB1A0 7F086670 46040202 */ mul.s $f8, $f0, $f4 -/* 0BB1A4 7F086674 4608A281 */ sub.s $f10, $f20, $f8 -/* 0BB1A8 7F086678 46065100 */ add.s $f4, $f10, $f6 -/* 0BB1AC 7F08667C 0FC16008 */ jal sub_GAME_7F058020 -/* 0BB1B0 7F086680 E7A400E8 */ swc1 $f4, 0xe8($sp) -/* 0BB1B4 7F086684 8FA40138 */ lw $a0, 0x138($sp) -/* 0BB1B8 7F086688 C7A000E4 */ lwc1 $f0, 0xe4($sp) -/* 0BB1BC 7F08668C 8C990010 */ lw $t9, 0x10($a0) -/* 0BB1C0 7F086690 E7200008 */ swc1 $f0, 8($t9) -/* 0BB1C4 7F086694 E4800058 */ swc1 $f0, 0x58($a0) -/* 0BB1C8 7F086698 C7A000E8 */ lwc1 $f0, 0xe8($sp) -/* 0BB1CC 7F08669C 8C8A0010 */ lw $t2, 0x10($a0) -/* 0BB1D0 7F0866A0 E540000C */ swc1 $f0, 0xc($t2) -/* 0BB1D4 7F0866A4 E480005C */ swc1 $f0, 0x5c($a0) -/* 0BB1D8 7F0866A8 C7A000EC */ lwc1 $f0, 0xec($sp) -/* 0BB1DC 7F0866AC 8C8D0010 */ lw $t5, 0x10($a0) -/* 0BB1E0 7F0866B0 E5A00010 */ swc1 $f0, 0x10($t5) -/* 0BB1E4 7F0866B4 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 0BB1E8 7F0866B8 E4800060 */ swc1 $f0, 0x60($a0) -/* 0BB1EC 7F0866BC 0FC10121 */ jal sub_GAME_7F040484 -/* 0BB1F0 7F0866C0 8FA40138 */ lw $a0, 0x138($sp) -/* 0BB1F4 7F0866C4 8E250000 */ lw $a1, ($s1) -/* 0BB1F8 7F0866C8 3C068003 */ lui $a2, %hi(D_80036464) -/* 0BB1FC 7F0866CC 8CC66464 */ lw $a2, %lo(D_80036464)($a2) -/* 0BB200 7F0866D0 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 0BB204 7F0866D4 0FC1F222 */ jal sub_GAME_7F07C888 -/* 0BB208 7F0866D8 24A5048C */ addiu $a1, $a1, 0x48c -/* 0BB20C 7F0866DC 8FAF0138 */ lw $t7, 0x138($sp) -/* 0BB210 7F0866E0 27B00094 */ addiu $s0, $sp, 0x94 -/* 0BB214 7F0866E4 02002825 */ move $a1, $s0 -/* 0BB218 7F0866E8 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 0BB21C 7F0866EC 8DE40010 */ lw $a0, 0x10($t7) -/* 0BB220 7F0866F0 0FC0F8FF */ jal sub_GAME_7F03E3FC -/* 0BB224 7F0866F4 02002025 */ move $a0, $s0 -/* 0BB228 7F0866F8 3C0E8007 */ lui $t6, %hi(ptr_list_object_lookup_indices) -/* 0BB22C 7F0866FC 8DCE9C30 */ lw $t6, %lo(ptr_list_object_lookup_indices)($t6) -/* 0BB230 7F086700 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 0BB234 7F086704 AFAE008C */ sw $t6, 0x8c($sp) -/* 0BB238 7F086708 85C20000 */ lh $v0, ($t6) -/* 0BB23C 7F08670C 0442008A */ bltzl $v0, .L7F086938 -/* 0BB240 7F086710 8FA40394 */ lw $a0, 0x394($sp) -/* 0BB244 7F086714 4481A000 */ mtc1 $at, $f20 -/* 0BB248 7F086718 00000000 */ nop -/* 0BB24C 7F08671C 8FAC0138 */ lw $t4, 0x138($sp) -.L7F086720: -/* 0BB250 7F086720 00025880 */ sll $t3, $v0, 2 -/* 0BB254 7F086724 01625823 */ subu $t3, $t3, $v0 -/* 0BB258 7F086728 000B5880 */ sll $t3, $t3, 2 -/* 0BB25C 7F08672C 8D990010 */ lw $t9, 0x10($t4) -/* 0BB260 7F086730 01625821 */ addu $t3, $t3, $v0 -/* 0BB264 7F086734 3C188007 */ lui $t8, %hi(pos_data_entry) -/* 0BB268 7F086738 27189C38 */ addiu $t8, %lo(pos_data_entry) # addiu $t8, $t8, -0x63c8 -/* 0BB26C 7F08673C 000B5880 */ sll $t3, $t3, 2 -/* 0BB270 7F086740 01788021 */ addu $s0, $t3, $t8 -/* 0BB274 7F086744 52190076 */ beql $s0, $t9, .L7F086920 -/* 0BB278 7F086748 8FAF008C */ lw $t7, 0x8c($sp) -/* 0BB27C 7F08674C 92020000 */ lbu $v0, ($s0) -/* 0BB280 7F086750 24010003 */ li $at, 3 -/* 0BB284 7F086754 240A0001 */ li $t2, 1 -/* 0BB288 7F086758 14410054 */ bne $v0, $at, .L7F0868AC -/* 0BB28C 7F08675C 02002025 */ move $a0, $s0 -/* 0BB290 7F086760 AFAA007C */ sw $t2, 0x7c($sp) -/* 0BB294 7F086764 8E080004 */ lw $t0, 4($s0) -/* 0BB298 7F086768 27A50080 */ addiu $a1, $sp, 0x80 -/* 0BB29C 7F08676C 27A60088 */ addiu $a2, $sp, 0x88 -/* 0BB2A0 7F086770 27A70084 */ addiu $a3, $sp, 0x84 -/* 0BB2A4 7F086774 0FC0F3E2 */ jal sub_GAME_7F03CF88 -/* 0BB2A8 7F086778 AFA8006C */ sw $t0, 0x6c($sp) -/* 0BB2AC 7F08677C 26040008 */ addiu $a0, $s0, 8 -/* 0BB2B0 7F086780 AFA40050 */ sw $a0, 0x50($sp) -/* 0BB2B4 7F086784 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 0BB2B8 7F086788 0FC0F336 */ jal sub_GAME_7F03CCD8 -/* 0BB2BC 7F08678C 24060004 */ li $a2, 4 -/* 0BB2C0 7F086790 1040002B */ beqz $v0, .L7F086840 -/* 0BB2C4 7F086794 8FA8006C */ lw $t0, 0x6c($sp) -/* 0BB2C8 7F086798 AFA0007C */ sw $zero, 0x7c($sp) -/* 0BB2CC 7F08679C 810D0007 */ lb $t5, 7($t0) -/* 0BB2D0 7F0867A0 24010004 */ li $at, 4 -/* 0BB2D4 7F0867A4 55A10027 */ bnel $t5, $at, .L7F086844 -/* 0BB2D8 7F0867A8 8FAC007C */ lw $t4, 0x7c($sp) -/* 0BB2DC 7F0867AC 8D030014 */ lw $v1, 0x14($t0) -/* 0BB2E0 7F0867B0 3C010100 */ lui $at, 0x100 -/* 0BB2E4 7F0867B4 3C028005 */ lui $v0, %hi(D_80048380) -/* 0BB2E8 7F0867B8 000379C0 */ sll $t7, $v1, 7 -/* 0BB2EC 7F0867BC 05E00020 */ bltz $t7, .L7F086840 -/* 0BB2F0 7F0867C0 00617025 */ or $t6, $v1, $at -/* 0BB2F4 7F0867C4 AD0E0014 */ sw $t6, 0x14($t0) -/* 0BB2F8 7F0867C8 8C428380 */ lw $v0, %lo(D_80048380)($v0) -/* 0BB2FC 7F0867CC 24010003 */ li $at, 3 -/* 0BB300 7F0867D0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0BB304 7F0867D4 0041001A */ div $zero, $v0, $at -/* 0BB308 7F0867D8 00001010 */ mfhi $v0 -/* 0BB30C 7F0867DC 28410002 */ slti $at, $v0, 2 -/* 0BB310 7F0867E0 1020000E */ beqz $at, .L7F08681C -/* 0BB314 7F0867E4 240500B7 */ li $a1, 183 -/* 0BB318 7F0867E8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BB31C 7F0867EC 0C002382 */ jal play_sfx_a1 -/* 0BB320 7F0867F0 00003025 */ move $a2, $zero -/* 0BB324 7F0867F4 00402025 */ move $a0, $v0 -/* 0BB328 7F0867F8 0FC14E84 */ jal sub_GAME_7F053A10 -/* 0BB32C 7F0867FC 8FA50050 */ lw $a1, 0x50($sp) -/* 0BB330 7F086800 3C028005 */ lui $v0, %hi(D_80048380) -/* 0BB334 7F086804 8C428380 */ lw $v0, %lo(D_80048380)($v0) -/* 0BB338 7F086808 24010003 */ li $at, 3 -/* 0BB33C 7F08680C 0041001A */ div $zero, $v0, $at -/* 0BB340 7F086810 00001010 */ mfhi $v0 -/* 0BB344 7F086814 00000000 */ nop -/* 0BB348 7F086818 00000000 */ nop -.L7F08681C: -/* 0BB34C 7F08681C 18400008 */ blez $v0, .L7F086840 -/* 0BB350 7F086820 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0BB354 7F086824 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BB358 7F086828 240500D5 */ li $a1, 213 -/* 0BB35C 7F08682C 0C002382 */ jal play_sfx_a1 -/* 0BB360 7F086830 00003025 */ move $a2, $zero -/* 0BB364 7F086834 00402025 */ move $a0, $v0 -/* 0BB368 7F086838 0FC14E84 */ jal sub_GAME_7F053A10 -/* 0BB36C 7F08683C 8FA50050 */ lw $a1, 0x50($sp) -.L7F086840: -/* 0BB370 7F086840 8FAC007C */ lw $t4, 0x7c($sp) -.L7F086844: -/* 0BB374 7F086844 8FA40050 */ lw $a0, 0x50($sp) -/* 0BB378 7F086848 8FA50080 */ lw $a1, 0x80($sp) -/* 0BB37C 7F08684C 11800006 */ beqz $t4, .L7F086868 -/* 0BB380 7F086850 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 0BB384 7F086854 0FC111C6 */ jal sub_GAME_7F044718 -/* 0BB388 7F086858 24070004 */ li $a3, 4 -/* 0BB38C 7F08685C 50400003 */ beql $v0, $zero, .L7F08686C -/* 0BB390 7F086860 8FB9007C */ lw $t9, 0x7c($sp) -/* 0BB394 7F086864 AFA0007C */ sw $zero, 0x7c($sp) -.L7F086868: -/* 0BB398 7F086868 8FB9007C */ lw $t9, 0x7c($sp) -.L7F08686C: -/* 0BB39C 7F08686C 8FAA0138 */ lw $t2, 0x138($sp) -/* 0BB3A0 7F086870 5720002B */ bnezl $t9, .L7F086920 -/* 0BB3A4 7F086874 8FAF008C */ lw $t7, 0x8c($sp) -/* 0BB3A8 7F086878 C5480058 */ lwc1 $f8, 0x58($t2) -/* 0BB3AC 7F08687C 4406A000 */ mfc1 $a2, $f20 -/* 0BB3B0 7F086880 27A50070 */ addiu $a1, $sp, 0x70 -/* 0BB3B4 7F086884 E7A80070 */ swc1 $f8, 0x70($sp) -/* 0BB3B8 7F086888 C60A000C */ lwc1 $f10, 0xc($s0) -/* 0BB3BC 7F08688C 24070001 */ li $a3, 1 -/* 0BB3C0 7F086890 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 0BB3C4 7F086894 C5460060 */ lwc1 $f6, 0x60($t2) -/* 0BB3C8 7F086898 E7A60078 */ swc1 $f6, 0x78($sp) -/* 0BB3CC 7F08689C 0FC09E01 */ jal sub_GAME_7F027804 -/* 0BB3D0 7F0868A0 8E040004 */ lw $a0, 4($s0) -/* 0BB3D4 7F0868A4 1000001E */ b .L7F086920 -/* 0BB3D8 7F0868A8 8FAF008C */ lw $t7, 0x8c($sp) -.L7F0868AC: -/* 0BB3DC 7F0868AC 24010001 */ li $at, 1 -/* 0BB3E0 7F0868B0 1441001A */ bne $v0, $at, .L7F08691C -/* 0BB3E4 7F0868B4 02002025 */ move $a0, $s0 -/* 0BB3E8 7F0868B8 27A50064 */ addiu $a1, $sp, 0x64 -/* 0BB3EC 7F0868BC 0FC0F32C */ jal sub_GAME_7F03CCB0 -/* 0BB3F0 7F0868C0 27A60060 */ addiu $a2, $sp, 0x60 -/* 0BB3F4 7F0868C4 8FA50060 */ lw $a1, 0x60($sp) -/* 0BB3F8 7F0868C8 8FA40064 */ lw $a0, 0x64($sp) -/* 0BB3FC 7F0868CC 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 0BB400 7F0868D0 58A00013 */ blezl $a1, .L7F086920 -/* 0BB404 7F0868D4 8FAF008C */ lw $t7, 0x8c($sp) -/* 0BB408 7F0868D8 0FC111AE */ jal sub_GAME_7F0446B8 -/* 0BB40C 7F0868DC 24070004 */ li $a3, 4 -/* 0BB410 7F0868E0 5040000F */ beql $v0, $zero, .L7F086920 -/* 0BB414 7F0868E4 8FAF008C */ lw $t7, 0x8c($sp) -/* 0BB418 7F0868E8 0FC26C54 */ jal get_cur_playernum -/* 0BB41C 7F0868EC 00000000 */ nop -/* 0BB420 7F0868F0 8E060004 */ lw $a2, 4($s0) -/* 0BB424 7F0868F4 3C05461C */ lui $a1, (0x461C4000 >> 16) # lui $a1, 0x461c -/* 0BB428 7F0868F8 34A54000 */ ori $a1, (0x461C4000 & 0xFFFF) # ori $a1, $a1, 0x4000 -/* 0BB42C 7F0868FC AFA20010 */ sw $v0, 0x10($sp) -/* 0BB430 7F086900 02002025 */ move $a0, $s0 -/* 0BB434 7F086904 24070020 */ li $a3, 32 -/* 0BB438 7F086908 0FC137BF */ jal sub_GAME_7F04DEFC -/* 0BB43C 7F08690C 24C60058 */ addiu $a2, $a2, 0x58 -/* 0BB440 7F086910 240D005A */ li $t5, 90 -/* 0BB444 7F086914 3C018003 */ lui $at, %hi(D_80036490) -/* 0BB448 7F086918 AC2D6490 */ sw $t5, %lo(D_80036490)($at) -.L7F08691C: -/* 0BB44C 7F08691C 8FAF008C */ lw $t7, 0x8c($sp) -.L7F086920: -/* 0BB450 7F086920 25EE0002 */ addiu $t6, $t7, 2 -/* 0BB454 7F086924 AFAE008C */ sw $t6, 0x8c($sp) -/* 0BB458 7F086928 85C20000 */ lh $v0, ($t6) -/* 0BB45C 7F08692C 0443FF7C */ bgezl $v0, .L7F086720 -/* 0BB460 7F086930 8FAC0138 */ lw $t4, 0x138($sp) -/* 0BB464 7F086934 8FA40394 */ lw $a0, 0x394($sp) -.L7F086938: -/* 0BB468 7F086938 0FC2037E */ jal sub_GAME_7F080DF8 -/* 0BB46C 7F08693C 8FA50390 */ lw $a1, 0x390($sp) -/* 0BB470 7F086940 0FC2051E */ jal sub_GAME_7F081478 -/* 0BB474 7F086944 00000000 */ nop -/* 0BB478 7F086948 0FC22867 */ jal sub_GAME_7F08A19C -/* 0BB47C 7F08694C 00000000 */ nop -/* 0BB480 7F086950 0FC243DF */ jal get_debug_man_pos_flag -/* 0BB484 7F086954 00000000 */ nop -/* 0BB488 7F086958 50400008 */ beql $v0, $zero, .L7F08697C -/* 0BB48C 7F08695C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BB490 7F086960 8E280000 */ lw $t0, ($s1) -/* 0BB494 7F086964 27A7005C */ addiu $a3, $sp, 0x5c -/* 0BB498 7F086968 8D040488 */ lw $a0, 0x488($t0) -/* 0BB49C 7F08696C 8D05048C */ lw $a1, 0x48c($t0) -/* 0BB4A0 7F086970 0FC2CB0B */ jal copy_tile_RGB_as_24bit -/* 0BB4A4 7F086974 8D060494 */ lw $a2, 0x494($t0) -/* 0BB4A8 7F086978 8FBF002C */ lw $ra, 0x2c($sp) -.L7F08697C: -/* 0BB4AC 7F08697C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0BB4B0 7F086980 8FB00024 */ lw $s0, 0x24($sp) -/* 0BB4B4 7F086984 8FB10028 */ lw $s1, 0x28($sp) -/* 0BB4B8 7F086988 03E00008 */ jr $ra -/* 0BB4BC 7F08698C 27BD03B8 */ addiu $sp, $sp, 0x3b8 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_8005516C -.word 0x3d888889 /*0.06666667*/ -glabel D_80055170 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055174 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055178 -.word 0x3f8147ae /*1.01*/ -glabel D_8005517C -.word 0x3f8147ae /*1.01*/ -glabel D_80055180 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055184 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055188 -.word 0x40490fdb /*3.1415927*/ -glabel D_8005518C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055190 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80055194 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055198 -.word 0x3f6b851f /*0.92000002*/ -glabel D_8005519C -.word 0x3da3d708 /*0.079999983*/ -glabel D_800551A0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551A4 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551A8 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551AC -.word 0x3da3d708 /*0.079999983*/ -glabel D_800551B0 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551B4 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551B8 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551BC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551C0 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551C4 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551C8 -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551CC -.word 0x3f6b851f /*0.92000002*/ -glabel D_800551D0 -.word 0x3da3d708 /*0.079999983*/ -glabel D_800551D4 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_800551D8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551DC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551E0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551E4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800551E8 -.word 0x3e99999a /*0.30000001*/ -glabel D_800551EC -.word 0x3e19999a /*0.15000001*/ -glabel D_800551F0 -.word 0x469c4000 /*20000.0*/ -glabel D_800551F4 -.word 0x3f666666 /*0.89999998*/ -glabel D_800551F8 -.word 0x46477c00 /*12767.0*/ -glabel D_800551FC -.word 0x469c4000 /*20000.0*/ -glabel D_80055200 -.word 0x3f666666 /*0.89999998*/ -glabel D_80055204 -.word 0x45f2b800 /*7767.0*/ -glabel D_80055208 -.word 0x3f666666 /*0.89999998*/ -glabel D_8005520C -.word 0x46c35000 /*25000.0;*/ -glabel D_80055210 -.word 0x3e32b8c3 /*0.17453294*/ -glabel D_80055214 -.word 0x3edf66f3 /*0.43633232*/ -glabel D_80055218 -.word 0xbdb2b8c3 /*-0.087266468*/ -glabel D_8005521C -.word 0x3f70a3d7 /*0.94*/ -glabel D_80055220 -.word 0x3d75c290 /*0.060000002*/ -glabel D_80055224 -.word 0x4528c000 /*2700.0*/ -glabel D_80055228 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005522C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055230 -.word 0x3f19999a /*0.60000002*/ -glabel D_80055234 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80055238 -.word 0x3dcccccd /*0.1*/ -glabel D_8005523C -.word 0x4528c000 /*2700.0*/ -glabel D_80055240 -.word 0x3f947ae1 /*1.16*/ -glabel D_80055244 -.word 0x3f8147ae /*1.01*/ -glabel D_80055248 -.word 0x3f7d7721 /*0.99009901*/ -glabel D_8005524C -.word 0x3f333333 /*0.69999999*/ -glabel D_80055250 -.word 0x3f99999a /*1.2*/ -glabel D_80055254 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055258 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005525C -.word 0x3f547ae1 /*0.82999998*/ -glabel D_80055260 -.word 0x3e2e147c /*0.17000002*/ -.text -glabel MoveBond -/* 0B9868 7F084CF8 27BDFC48 */ addiu $sp, $sp, -0x3b8 -/* 0B986C 7F084CFC 3C198003 */ lui $t9, %hi(D_800367F4) # $t9, 0x8003 -/* 0B9870 7F084D00 AFBF002C */ sw $ra, 0x2c($sp) -/* 0B9874 7F084D04 AFB10028 */ sw $s1, 0x28($sp) -/* 0B9878 7F084D08 AFB00024 */ sw $s0, 0x24($sp) -/* 0B987C 7F084D0C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0B9880 7F084D10 AFA403B8 */ sw $a0, 0x3b8($sp) -/* 0B9884 7F084D14 AFA503BC */ sw $a1, 0x3bc($sp) -/* 0B9888 7F084D18 AFA603C0 */ sw $a2, 0x3c0($sp) -/* 0B988C 7F084D1C AFA703C4 */ sw $a3, 0x3c4($sp) -/* 0B9890 7F084D20 27396834 */ addiu $t9, %lo(D_800367F4) # addiu $t9, $t9, 0x6834 -/* 0B9894 7F084D24 8F210000 */ lw $at, ($t9) -/* 0B9898 7F084D28 27AA03AC */ addiu $t2, $sp, 0x3ac -/* 0B989C 7F084D2C 8F2C0004 */ lw $t4, 4($t9) -/* 0B98A0 7F084D30 AD410000 */ sw $at, ($t2) -/* 0B98A4 7F084D34 8F210008 */ lw $at, 8($t9) -/* 0B98A8 7F084D38 4480A000 */ mtc1 $zero, $f20 -/* 0B98AC 7F084D3C 00048600 */ sll $s0, $a0, 0x18 -/* 0B98B0 7F084D40 AD410008 */ sw $at, 8($t2) -/* 0B98B4 7F084D44 00107603 */ sra $t6, $s0, 0x18 -/* 0B98B8 7F084D48 AD4C0004 */ sw $t4, 4($t2) -/* 0B98BC 7F084D4C 29C10064 */ slti $at, $t6, 0x64 -/* 0B98C0 7F084D50 01C08025 */ move $s0, $t6 -/* 0B98C4 7F084D54 AFA00394 */ sw $zero, 0x394($sp) -/* 0B98C8 7F084D58 E7B40398 */ swc1 $f20, 0x398($sp) -/* 0B98CC 7F084D5C 10200004 */ beqz $at, .Ljp7F084D70 -/* 0B98D0 7F084D60 E7B40390 */ swc1 $f20, 0x390($sp) -/* 0B98D4 7F084D64 29C1FF9D */ slti $at, $t6, -0x63 -/* 0B98D8 7F084D68 50200004 */ beql $at, $zero, .Ljp7F084D7C -/* 0B98DC 7F084D6C 83AB03BF */ lb $t3, 0x3bf($sp) -.Ljp7F084D70: -/* 0B98E0 7F084D70 0FC1B297 */ jal return_null -/* 0B98E4 7F084D74 00000000 */ nop -/* 0B98E8 7F084D78 83AB03BF */ lb $t3, 0x3bf($sp) -.Ljp7F084D7C: -/* 0B98EC 7F084D7C 29610064 */ slti $at, $t3, 0x64 -/* 0B98F0 7F084D80 10200003 */ beqz $at, .Ljp7F084D90 -/* 0B98F4 7F084D84 2961FF9D */ slti $at, $t3, -0x63 -/* 0B98F8 7F084D88 10200003 */ beqz $at, .Ljp7F084D98 -/* 0B98FC 7F084D8C 00000000 */ nop -.Ljp7F084D90: -/* 0B9900 7F084D90 0FC1B297 */ jal return_null -/* 0B9904 7F084D94 00000000 */ nop -.Ljp7F084D98: -/* 0B9908 7F084D98 3C038003 */ lui $v1, %hi(camera_80036424) # $v1, 0x8003 -/* 0B990C 7F084D9C 24636464 */ addiu $v1, %lo(camera_80036424) # addiu $v1, $v1, 0x6464 -/* 0B9910 7F084DA0 8C620000 */ lw $v0, ($v1) -/* 0B9914 7F084DA4 18400015 */ blez $v0, .Ljp7F084DFC -/* 0B9918 7F084DA8 244D0001 */ addiu $t5, $v0, 1 -/* 0B991C 7F084DAC 29A10004 */ slti $at, $t5, 4 -/* 0B9920 7F084DB0 14200012 */ bnez $at, .Ljp7F084DFC -/* 0B9924 7F084DB4 AC6D0000 */ sw $t5, ($v1) -/* 0B9928 7F084DB8 3C118008 */ lui $s1, %hi(pPlayer) # $s1, 0x8008 -/* 0B992C 7F084DBC 2631A120 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5ee0 -/* 0B9930 7F084DC0 8E380000 */ lw $t8, ($s1) -/* 0B9934 7F084DC4 AC600000 */ sw $zero, ($v1) -/* 0B9938 7F084DC8 24040001 */ li $a0, 1 -/* 0B993C 7F084DCC AF002A54 */ sw $zero, 0x2a54($t8) -/* 0B9940 7F084DD0 8E2F0000 */ lw $t7, ($s1) -/* 0B9944 7F084DD4 0FC177BC */ jal get_item_in_hand -/* 0B9948 7F084DD8 ADE02A50 */ sw $zero, 0x2a50($t7) -/* 0B994C 7F084DDC 24040001 */ li $a0, 1 -/* 0B9950 7F084DE0 0FC1781D */ jal remove_hands_item -/* 0B9954 7F084DE4 00402825 */ move $a1, $v0 -/* 0B9958 7F084DE8 0FC177BC */ jal get_item_in_hand -/* 0B995C 7F084DEC 00002025 */ move $a0, $zero -/* 0B9960 7F084DF0 00002025 */ move $a0, $zero -/* 0B9964 7F084DF4 0FC1781D */ jal remove_hands_item -/* 0B9968 7F084DF8 00402825 */ move $a1, $v0 -.Ljp7F084DFC: -/* 0B996C 7F084DFC 3C118008 */ lui $s1, %hi(pPlayer) # $s1, 0x8008 -/* 0B9970 7F084E00 2631A120 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5ee0 -/* 0B9974 7F084E04 0FC1E810 */ jal setptrBONDdata -/* 0B9978 7F084E08 00002025 */ move $a0, $zero -/* 0B997C 7F084E0C 0FC21176 */ jal sub_GAME_7F083FC8 -/* 0B9980 7F084E10 00000000 */ nop -/* 0B9984 7F084E14 0FC21284 */ jal sub_GAME_7F084360 -/* 0B9988 7F084E18 00000000 */ nop -/* 0B998C 7F084E1C 00102600 */ sll $a0, $s0, 0x18 -/* 0B9990 7F084E20 00045603 */ sra $t2, $a0, 0x18 -/* 0B9994 7F084E24 01402025 */ move $a0, $t2 -/* 0B9998 7F084E28 83A503BF */ lb $a1, 0x3bf($sp) -/* 0B999C 7F084E2C 97A603C2 */ lhu $a2, 0x3c2($sp) -/* 0B99A0 7F084E30 0FC207E1 */ jal controller_gameplay_interaction -/* 0B99A4 7F084E34 97A703C6 */ lhu $a3, 0x3c6($sp) -/* 0B99A8 7F084E38 0FC3021B */ jal get_controls_locked_flag -/* 0B99AC 7F084E3C 00000000 */ nop -/* 0B99B0 7F084E40 50400004 */ beql $v0, $zero, .Ljp7F084E54 -/* 0B99B4 7F084E44 8E390000 */ lw $t9, ($s1) -/* 0B99B8 7F084E48 0FC1FC3F */ jal sub_GAME_7F07EAF0 -/* 0B99BC 7F084E4C 00000000 */ nop -/* 0B99C0 7F084E50 8E390000 */ lw $t9, ($s1) -.Ljp7F084E54: -/* 0B99C4 7F084E54 8F2C01C8 */ lw $t4, 0x1c8($t9) -/* 0B99C8 7F084E58 11800003 */ beqz $t4, .Ljp7F084E68 -/* 0B99CC 7F084E5C 00000000 */ nop -/* 0B99D0 7F084E60 0FC1FC98 */ jal sub_GAME_7F07EC54 -/* 0B99D4 7F084E64 00000000 */ nop -.Ljp7F084E68: -/* 0B99D8 7F084E68 3C0B8003 */ lui $t3, %hi(in_tank_flag) # $t3, 0x8003 -/* 0B99DC 7F084E6C 8D6B6488 */ lw $t3, %lo(in_tank_flag)($t3) -/* 0B99E0 7F084E70 1560006E */ bnez $t3, .Ljp7F08502C -/* 0B99E4 7F084E74 00000000 */ nop -/* 0B99E8 7F084E78 0FC1E7F8 */ jal sub_GAME_7F0799F0 -/* 0B99EC 7F084E7C 00000000 */ nop -/* 0B99F0 7F084E80 5440000D */ bnezl $v0, .Ljp7F084EB8 -/* 0B99F4 7F084E84 8E280000 */ lw $t0, ($s1) -/* 0B99F8 7F084E88 8E280000 */ lw $t0, ($s1) -/* 0B99FC 7F084E8C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0B9A00 7F084E90 44815000 */ mtc1 $at, $f10 -/* 0B9A04 7F084E94 C5040174 */ lwc1 $f4, 0x174($t0) -/* 0B9A08 7F084E98 460A2182 */ mul.s $f6, $f4, $f10 -/* 0B9A0C 7F084E9C 44812000 */ mtc1 $at, $f4 -/* 0B9A10 7F084EA0 E5060174 */ swc1 $f6, 0x174($t0) -/* 0B9A14 7F084EA4 8E280000 */ lw $t0, ($s1) -/* 0B9A18 7F084EA8 C508016C */ lwc1 $f8, 0x16c($t0) -/* 0B9A1C 7F084EAC 46044282 */ mul.s $f10, $f8, $f4 -/* 0B9A20 7F084EB0 E50A016C */ swc1 $f10, 0x16c($t0) -/* 0B9A24 7F084EB4 8E280000 */ lw $t0, ($s1) -.Ljp7F084EB8: -/* 0B9A28 7F084EB8 C5120180 */ lwc1 $f18, 0x180($t0) -/* 0B9A2C 7F084EBC 4612A032 */ c.eq.s $f20, $f18 -/* 0B9A30 7F084EC0 00000000 */ nop -/* 0B9A34 7F084EC4 45020007 */ bc1fl .Ljp7F084EE4 -/* 0B9A38 7F084EC8 C5000188 */ lwc1 $f0, 0x188($t0) -/* 0B9A3C 7F084ECC C5060188 */ lwc1 $f6, 0x188($t0) -/* 0B9A40 7F084ED0 4606A032 */ c.eq.s $f20, $f6 -/* 0B9A44 7F084ED4 00000000 */ nop -/* 0B9A48 7F084ED8 45010054 */ bc1t .Ljp7F08502C -/* 0B9A4C 7F084EDC 00000000 */ nop -/* 0B9A50 7F084EE0 C5000188 */ lwc1 $f0, 0x188($t0) -.Ljp7F084EE4: -/* 0B9A54 7F084EE4 C5020150 */ lwc1 $f2, 0x150($t0) -/* 0B9A58 7F084EE8 C5100154 */ lwc1 $f16, 0x154($t0) -/* 0B9A5C 7F084EEC 46009387 */ neg.s $f14, $f18 -/* 0B9A60 7F084EF0 46020202 */ mul.s $f8, $f0, $f2 -/* 0B9A64 7F084EF4 00000000 */ nop -/* 0B9A68 7F084EF8 46107102 */ mul.s $f4, $f14, $f16 -/* 0B9A6C 7F084EFC 46044280 */ add.s $f10, $f8, $f4 -/* 0B9A70 7F084F00 46027182 */ mul.s $f6, $f14, $f2 -/* 0B9A74 7F084F04 00000000 */ nop -/* 0B9A78 7F084F08 46100202 */ mul.s $f8, $f0, $f16 -/* 0B9A7C 7F084F0C E7AA038C */ swc1 $f10, 0x38c($sp) -/* 0B9A80 7F084F10 46000282 */ mul.s $f10, $f0, $f0 -/* 0B9A84 7F084F14 46083101 */ sub.s $f4, $f6, $f8 -/* 0B9A88 7F084F18 46129182 */ mul.s $f6, $f18, $f18 -/* 0B9A8C 7F084F1C E7A40388 */ swc1 $f4, 0x388($sp) -/* 0B9A90 7F084F20 0C007E08 */ jal sqrtf -/* 0B9A94 7F084F24 46065300 */ add.s $f12, $f10, $f6 -/* 0B9A98 7F084F28 8E280000 */ lw $t0, ($s1) -/* 0B9A9C 7F084F2C C7A4038C */ lwc1 $f4, 0x38c($sp) -/* 0B9AA0 7F084F30 3C018005 */ lui $at, %hi(D_8005516C) # $at, 0x8005 -/* 0B9AA4 7F084F34 C5080174 */ lwc1 $f8, 0x174($t0) -/* 0B9AA8 7F084F38 3C098005 */ lui $t1, %hi(global_timer_delta) # $t1, 0x8005 -/* 0B9AAC 7F084F3C 252983B4 */ addiu $t1, %lo(global_timer_delta) # addiu $t1, $t1, -0x7c4c -/* 0B9AB0 7F084F40 46044280 */ add.s $f10, $f8, $f4 -/* 0B9AB4 7F084F44 00001825 */ move $v1, $zero -/* 0B9AB8 7F084F48 2404000C */ li $a0, 12 -/* 0B9ABC 7F084F4C E50A0174 */ swc1 $f10, 0x174($t0) -/* 0B9AC0 7F084F50 8E280000 */ lw $t0, ($s1) -/* 0B9AC4 7F084F54 C7A80388 */ lwc1 $f8, 0x388($sp) -/* 0B9AC8 7F084F58 C506016C */ lwc1 $f6, 0x16c($t0) -/* 0B9ACC 7F084F5C 46083100 */ add.s $f4, $f6, $f8 -/* 0B9AD0 7F084F60 E504016C */ swc1 $f4, 0x16c($t0) -/* 0B9AD4 7F084F64 C42C519C */ lwc1 $f12, %lo(D_8005516C)($at) -/* 0B9AD8 7F084F68 8E2D0000 */ lw $t5, ($s1) -.Ljp7F084F6C: -/* 0B9ADC 7F084F6C 01A31021 */ addu $v0, $t5, $v1 -/* 0B9AE0 7F084F70 C4420180 */ lwc1 $f2, 0x180($v0) -/* 0B9AE4 7F084F74 4602A032 */ c.eq.s $f20, $f2 -/* 0B9AE8 7F084F78 00000000 */ nop -/* 0B9AEC 7F084F7C 45030029 */ bc1tl .Ljp7F085024 -/* 0B9AF0 7F084F80 24630004 */ addiu $v1, $v1, 4 -/* 0B9AF4 7F084F84 4602A03C */ c.lt.s $f20, $f2 -/* 0B9AF8 7F084F88 00000000 */ nop -/* 0B9AFC 7F084F8C 45020012 */ bc1fl .Ljp7F084FD8 -/* 0B9B00 7F084F90 4614103C */ c.lt.s $f2, $f20 -/* 0B9B04 7F084F94 C52A0000 */ lwc1 $f10, ($t1) -/* 0B9B08 7F084F98 460A6182 */ mul.s $f6, $f12, $f10 -/* 0B9B0C 7F084F9C 00000000 */ nop -/* 0B9B10 7F084FA0 46023202 */ mul.s $f8, $f6, $f2 -/* 0B9B14 7F084FA4 46004103 */ div.s $f4, $f8, $f0 -/* 0B9B18 7F084FA8 46041281 */ sub.s $f10, $f2, $f4 -/* 0B9B1C 7F084FAC E44A0180 */ swc1 $f10, 0x180($v0) -/* 0B9B20 7F084FB0 8E2E0000 */ lw $t6, ($s1) -/* 0B9B24 7F084FB4 01C31021 */ addu $v0, $t6, $v1 -/* 0B9B28 7F084FB8 C4460180 */ lwc1 $f6, 0x180($v0) -/* 0B9B2C 7F084FBC 4614303C */ c.lt.s $f6, $f20 -/* 0B9B30 7F084FC0 00000000 */ nop -/* 0B9B34 7F084FC4 45000016 */ bc1f .Ljp7F085020 -/* 0B9B38 7F084FC8 00000000 */ nop -/* 0B9B3C 7F084FCC 10000014 */ b .Ljp7F085020 -/* 0B9B40 7F084FD0 E4540180 */ swc1 $f20, 0x180($v0) -/* 0B9B44 7F084FD4 4614103C */ c.lt.s $f2, $f20 -.Ljp7F084FD8: -/* 0B9B48 7F084FD8 00000000 */ nop -/* 0B9B4C 7F084FDC 45020011 */ bc1fl .Ljp7F085024 -/* 0B9B50 7F084FE0 24630004 */ addiu $v1, $v1, 4 -/* 0B9B54 7F084FE4 C5280000 */ lwc1 $f8, ($t1) -/* 0B9B58 7F084FE8 46086102 */ mul.s $f4, $f12, $f8 -/* 0B9B5C 7F084FEC 00000000 */ nop -/* 0B9B60 7F084FF0 46022282 */ mul.s $f10, $f4, $f2 -/* 0B9B64 7F084FF4 46005183 */ div.s $f6, $f10, $f0 -/* 0B9B68 7F084FF8 46061201 */ sub.s $f8, $f2, $f6 -/* 0B9B6C 7F084FFC E4480180 */ swc1 $f8, 0x180($v0) -/* 0B9B70 7F085000 8E380000 */ lw $t8, ($s1) -/* 0B9B74 7F085004 03031021 */ addu $v0, $t8, $v1 -/* 0B9B78 7F085008 C4440180 */ lwc1 $f4, 0x180($v0) -/* 0B9B7C 7F08500C 4604A03C */ c.lt.s $f20, $f4 -/* 0B9B80 7F085010 00000000 */ nop -/* 0B9B84 7F085014 45000002 */ bc1f .Ljp7F085020 -/* 0B9B88 7F085018 00000000 */ nop -/* 0B9B8C 7F08501C E4540180 */ swc1 $f20, 0x180($v0) -.Ljp7F085020: -/* 0B9B90 7F085020 24630004 */ addiu $v1, $v1, 4 -.Ljp7F085024: -/* 0B9B94 7F085024 5464FFD1 */ bnel $v1, $a0, .Ljp7F084F6C -/* 0B9B98 7F085028 8E2D0000 */ lw $t5, ($s1) -.Ljp7F08502C: -/* 0B9B9C 7F08502C 3C0F8003 */ lui $t7, %hi(in_tank_flag) # $t7, 0x8003 -/* 0B9BA0 7F085030 8DEF6488 */ lw $t7, %lo(in_tank_flag)($t7) -/* 0B9BA4 7F085034 3C098005 */ lui $t1, %hi(global_timer_delta) # $t1, 0x8005 -/* 0B9BA8 7F085038 24010001 */ li $at, 1 -/* 0B9BAC 7F08503C 252983B4 */ addiu $t1, %lo(global_timer_delta) # addiu $t1, $t1, -0x7c4c -/* 0B9BB0 7F085040 15E10211 */ bne $t7, $at, .Ljp7F085888 -/* 0B9BB4 7F085044 8E280000 */ lw $t0, ($s1) -/* 0B9BB8 7F085048 C50A014C */ lwc1 $f10, 0x14c($t0) -/* 0B9BBC 7F08504C C5260000 */ lwc1 $f6, ($t1) -/* 0B9BC0 7F085050 3C018005 */ lui $at, %hi(D_80055170) # $at, 0x8005 -/* 0B9BC4 7F085054 C42C51A0 */ lwc1 $f12, %lo(D_80055170)($at) -/* 0B9BC8 7F085058 46065202 */ mul.s $f8, $f10, $f6 -/* 0B9BCC 7F08505C 3C018005 */ lui $at, %hi(D_80055174) # $at, 0x8005 -/* 0B9BD0 7F085060 C42451A4 */ lwc1 $f4, %lo(D_80055174)($at) -/* 0B9BD4 7F085064 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0B9BD8 7F085068 44813000 */ mtc1 $at, $f6 -/* 0B9BDC 7F08506C 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0B9BE0 7F085070 27B00374 */ addiu $s0, $sp, 0x374 -/* 0B9BE4 7F085074 46044282 */ mul.s $f10, $f8, $f4 -/* 0B9BE8 7F085078 C42864A4 */ lwc1 $f8, %lo(D_80036464)($at) -/* 0B9BEC 7F08507C 02003825 */ move $a3, $s0 -/* 0B9BF0 7F085080 2504048C */ addiu $a0, $t0, 0x48c -/* 0B9BF4 7F085084 27AA0368 */ addiu $t2, $sp, 0x368 -/* 0B9BF8 7F085088 46065082 */ mul.s $f2, $f10, $f6 -/* 0B9BFC 7F08508C 46024000 */ add.s $f0, $f8, $f2 -/* 0B9C00 7F085090 4600603E */ c.le.s $f12, $f0 -/* 0B9C04 7F085094 00000000 */ nop -/* 0B9C08 7F085098 45020003 */ bc1fl .Ljp7F0850A8 -/* 0B9C0C 7F08509C 4614003C */ c.lt.s $f0, $f20 -/* 0B9C10 7F0850A0 460C0001 */ sub.s $f0, $f0, $f12 -/* 0B9C14 7F0850A4 4614003C */ c.lt.s $f0, $f20 -.Ljp7F0850A8: -/* 0B9C18 7F0850A8 00000000 */ nop -/* 0B9C1C 7F0850AC 45020003 */ bc1fl .Ljp7F0850BC -/* 0B9C20 7F0850B0 8D050488 */ lw $a1, 0x488($t0) -/* 0B9C24 7F0850B4 460C0000 */ add.s $f0, $f0, $f12 -/* 0B9C28 7F0850B8 8D050488 */ lw $a1, 0x488($t0) -.Ljp7F0850BC: -/* 0B9C2C 7F0850BC 44060000 */ mfc1 $a2, $f0 -/* 0B9C30 7F0850C0 E7A20358 */ swc1 $f2, 0x358($sp) -/* 0B9C34 7F0850C4 E7A0035C */ swc1 $f0, 0x35c($sp) -/* 0B9C38 7F0850C8 0FC1F43B */ jal sub_GAME_7F07CAC8 -/* 0B9C3C 7F0850CC AFAA0010 */ sw $t2, 0x10($sp) -/* 0B9C40 7F0850D0 50400007 */ beql $v0, $zero, .Ljp7F0850F0 -/* 0B9C44 7F0850D4 3C01BF80 */ lui $at, 0xbf80 -/* 0B9C48 7F0850D8 C7A4035C */ lwc1 $f4, 0x35c($sp) -/* 0B9C4C 7F0850DC 3C018003 */ li $at, 0x80030000 # -0.000000 -/* 0B9C50 7F0850E0 E42464A4 */ swc1 $f4, %lo(D_80036464)($at) -/* 0B9C54 7F0850E4 100000CB */ b .Ljp7F085414 -/* 0B9C58 7F0850E8 8E280000 */ lw $t0, ($s1) -/* 0B9C5C 7F0850EC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.Ljp7F0850F0: -/* 0B9C60 7F0850F0 44815000 */ mtc1 $at, $f10 -/* 0B9C64 7F0850F4 44813000 */ mtc1 $at, $f6 -/* 0B9C68 7F0850F8 27A40348 */ addiu $a0, $sp, 0x348 -/* 0B9C6C 7F0850FC 27A5033C */ addiu $a1, $sp, 0x33c -/* 0B9C70 7F085100 E7AA031C */ swc1 $f10, 0x31c($sp) -/* 0B9C74 7F085104 0FC2CD18 */ jal sub_GAME_7F0B28B0 -/* 0B9C78 7F085108 E7A60304 */ swc1 $f6, 0x304($sp) -/* 0B9C7C 7F08510C C7A8033C */ lwc1 $f8, 0x33c($sp) -/* 0B9C80 7F085110 C7A40348 */ lwc1 $f4, 0x348($sp) -/* 0B9C84 7F085114 C7AA0344 */ lwc1 $f10, 0x344($sp) -/* 0B9C88 7F085118 C7A60350 */ lwc1 $f6, 0x350($sp) -/* 0B9C8C 7F08511C 46044081 */ sub.s $f2, $f8, $f4 -/* 0B9C90 7F085120 46065381 */ sub.s $f14, $f10, $f6 -/* 0B9C94 7F085124 46021202 */ mul.s $f8, $f2, $f2 -/* 0B9C98 7F085128 E7A20338 */ swc1 $f2, 0x338($sp) -/* 0B9C9C 7F08512C 460E7102 */ mul.s $f4, $f14, $f14 -/* 0B9CA0 7F085130 E7AE0334 */ swc1 $f14, 0x334($sp) -/* 0B9CA4 7F085134 0C007E08 */ jal sqrtf -/* 0B9CA8 7F085138 46044300 */ add.s $f12, $f8, $f4 -/* 0B9CAC 7F08513C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B9CB0 7F085140 44815000 */ mtc1 $at, $f10 -/* 0B9CB4 7F085144 C7A20338 */ lwc1 $f2, 0x338($sp) -/* 0B9CB8 7F085148 C7AE0334 */ lwc1 $f14, 0x334($sp) -/* 0B9CBC 7F08514C 46005403 */ div.s $f16, $f10, $f0 -/* 0B9CC0 7F085150 8E280000 */ lw $t0, ($s1) -/* 0B9CC4 7F085154 C7AA0370 */ lwc1 $f10, 0x370($sp) -/* 0B9CC8 7F085158 46101082 */ mul.s $f2, $f2, $f16 -/* 0B9CCC 7F08515C 00000000 */ nop -/* 0B9CD0 7F085160 46107382 */ mul.s $f14, $f14, $f16 -/* 0B9CD4 7F085164 46001307 */ neg.s $f12, $f2 -/* 0B9CD8 7F085168 E7AC0320 */ swc1 $f12, 0x320($sp) -/* 0B9CDC 7F08516C E7AE0324 */ swc1 $f14, 0x324($sp) -/* 0B9CE0 7F085170 C5060494 */ lwc1 $f6, 0x494($t0) -/* 0B9CE4 7F085174 E7A60048 */ swc1 $f6, 0x48($sp) -/* 0B9CE8 7F085178 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0B9CEC 7F08517C C508048C */ lwc1 $f8, 0x48c($t0) -/* 0B9CF0 7F085180 460A2181 */ sub.s $f6, $f4, $f10 -/* 0B9CF4 7F085184 E7A80044 */ swc1 $f8, 0x44($sp) -/* 0B9CF8 7F085188 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0B9CFC 7F08518C C7AA0368 */ lwc1 $f10, 0x368($sp) -/* 0B9D00 7F085190 460C3202 */ mul.s $f8, $f6, $f12 -/* 0B9D04 7F085194 460A2181 */ sub.s $f6, $f4, $f10 -/* 0B9D08 7F085198 460E3102 */ mul.s $f4, $f6, $f14 -/* 0B9D0C 7F08519C 46044480 */ add.s $f18, $f8, $f4 -/* 0B9D10 7F0851A0 4614903C */ c.lt.s $f18, $f20 -/* 0B9D14 7F0851A4 00000000 */ nop -/* 0B9D18 7F0851A8 45000006 */ bc1f .Ljp7F0851C4 -/* 0B9D1C 7F0851AC 00000000 */ nop -/* 0B9D20 7F0851B0 46007287 */ neg.s $f10, $f14 -/* 0B9D24 7F0851B4 46006187 */ neg.s $f6, $f12 -/* 0B9D28 7F0851B8 46009487 */ neg.s $f18, $f18 -/* 0B9D2C 7F0851BC E7AA0324 */ swc1 $f10, 0x324($sp) -/* 0B9D30 7F0851C0 E7A60320 */ swc1 $f6, 0x320($sp) -.Ljp7F0851C4: -/* 0B9D34 7F0851C4 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0B9D38 7F0851C8 C7A40350 */ lwc1 $f4, 0x350($sp) -/* 0B9D3C 7F0851CC C7A60320 */ lwc1 $f6, 0x320($sp) -/* 0B9D40 7F0851D0 46044281 */ sub.s $f10, $f8, $f4 -/* 0B9D44 7F0851D4 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0B9D48 7F0851D8 46065202 */ mul.s $f8, $f10, $f6 -/* 0B9D4C 7F0851DC C7AA0348 */ lwc1 $f10, 0x348($sp) -/* 0B9D50 7F0851E0 460A2181 */ sub.s $f6, $f4, $f10 -/* 0B9D54 7F0851E4 C7A40324 */ lwc1 $f4, 0x324($sp) -/* 0B9D58 7F0851E8 46043282 */ mul.s $f10, $f6, $f4 -/* 0B9D5C 7F0851EC 460A4000 */ add.s $f0, $f8, $f10 -/* 0B9D60 7F0851F0 4612003C */ c.lt.s $f0, $f18 -/* 0B9D64 7F0851F4 00000000 */ nop -/* 0B9D68 7F0851F8 45020004 */ bc1fl .Ljp7F08520C -/* 0B9D6C 7F0851FC C7A40368 */ lwc1 $f4, 0x368($sp) -/* 0B9D70 7F085200 46009181 */ sub.s $f6, $f18, $f0 -/* 0B9D74 7F085204 E7A6031C */ swc1 $f6, 0x31c($sp) -/* 0B9D78 7F085208 C7A40368 */ lwc1 $f4, 0x368($sp) -.Ljp7F08520C: -/* 0B9D7C 7F08520C C7A80374 */ lwc1 $f8, 0x374($sp) -/* 0B9D80 7F085210 C7AA0370 */ lwc1 $f10, 0x370($sp) -/* 0B9D84 7F085214 C7A6037C */ lwc1 $f6, 0x37c($sp) -/* 0B9D88 7F085218 46082081 */ sub.s $f2, $f4, $f8 -/* 0B9D8C 7F08521C 46065381 */ sub.s $f14, $f10, $f6 -/* 0B9D90 7F085220 46021102 */ mul.s $f4, $f2, $f2 -/* 0B9D94 7F085224 E7A20338 */ swc1 $f2, 0x338($sp) -/* 0B9D98 7F085228 460E7202 */ mul.s $f8, $f14, $f14 -/* 0B9D9C 7F08522C E7AE0334 */ swc1 $f14, 0x334($sp) -/* 0B9DA0 7F085230 0C007E08 */ jal sqrtf -/* 0B9DA4 7F085234 46082300 */ add.s $f12, $f4, $f8 -/* 0B9DA8 7F085238 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0B9DAC 7F08523C 44815000 */ mtc1 $at, $f10 -/* 0B9DB0 7F085240 C7A20338 */ lwc1 $f2, 0x338($sp) -/* 0B9DB4 7F085244 C7AE0334 */ lwc1 $f14, 0x334($sp) -/* 0B9DB8 7F085248 46005403 */ div.s $f16, $f10, $f0 -/* 0B9DBC 7F08524C 8E280000 */ lw $t0, ($s1) -/* 0B9DC0 7F085250 C7AA0370 */ lwc1 $f10, 0x370($sp) -/* 0B9DC4 7F085254 46101082 */ mul.s $f2, $f2, $f16 -/* 0B9DC8 7F085258 00000000 */ nop -/* 0B9DCC 7F08525C 46107382 */ mul.s $f14, $f14, $f16 -/* 0B9DD0 7F085260 46001307 */ neg.s $f12, $f2 -/* 0B9DD4 7F085264 E7AC0308 */ swc1 $f12, 0x308($sp) -/* 0B9DD8 7F085268 E7AE030C */ swc1 $f14, 0x30c($sp) -/* 0B9DDC 7F08526C C5060494 */ lwc1 $f6, 0x494($t0) -/* 0B9DE0 7F085270 E7A60048 */ swc1 $f6, 0x48($sp) -/* 0B9DE4 7F085274 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0B9DE8 7F085278 C504048C */ lwc1 $f4, 0x48c($t0) -/* 0B9DEC 7F08527C 460A4181 */ sub.s $f6, $f8, $f10 -/* 0B9DF0 7F085280 E7A40044 */ swc1 $f4, 0x44($sp) -/* 0B9DF4 7F085284 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 0B9DF8 7F085288 C7AA0368 */ lwc1 $f10, 0x368($sp) -/* 0B9DFC 7F08528C 460C3102 */ mul.s $f4, $f6, $f12 -/* 0B9E00 7F085290 460A4181 */ sub.s $f6, $f8, $f10 -/* 0B9E04 7F085294 460E3202 */ mul.s $f8, $f6, $f14 -/* 0B9E08 7F085298 46082480 */ add.s $f18, $f4, $f8 -/* 0B9E0C 7F08529C 4614903C */ c.lt.s $f18, $f20 -/* 0B9E10 7F0852A0 00000000 */ nop -/* 0B9E14 7F0852A4 45000006 */ bc1f .Ljp7F0852C0 -/* 0B9E18 7F0852A8 00000000 */ nop -/* 0B9E1C 7F0852AC 46007407 */ neg.s $f16, $f14 -/* 0B9E20 7F0852B0 46006287 */ neg.s $f10, $f12 -/* 0B9E24 7F0852B4 46009487 */ neg.s $f18, $f18 -/* 0B9E28 7F0852B8 E7AA0308 */ swc1 $f10, 0x308($sp) -/* 0B9E2C 7F0852BC E7B0030C */ swc1 $f16, 0x30c($sp) -.Ljp7F0852C0: -/* 0B9E30 7F0852C0 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 0B9E34 7F0852C4 C7A40350 */ lwc1 $f4, 0x350($sp) -/* 0B9E38 7F0852C8 C7AC0308 */ lwc1 $f12, 0x308($sp) -/* 0B9E3C 7F0852CC C7B0030C */ lwc1 $f16, 0x30c($sp) -/* 0B9E40 7F0852D0 46043201 */ sub.s $f8, $f6, $f4 -/* 0B9E44 7F0852D4 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0B9E48 7F0852D8 460C4282 */ mul.s $f10, $f8, $f12 -/* 0B9E4C 7F0852DC C7A80348 */ lwc1 $f8, 0x348($sp) -/* 0B9E50 7F0852E0 46082201 */ sub.s $f8, $f4, $f8 -/* 0B9E54 7F0852E4 46104202 */ mul.s $f8, $f8, $f16 -/* 0B9E58 7F0852E8 46085000 */ add.s $f0, $f10, $f8 -/* 0B9E5C 7F0852EC C7AA0344 */ lwc1 $f10, 0x344($sp) -/* 0B9E60 7F0852F0 460A3201 */ sub.s $f8, $f6, $f10 -/* 0B9E64 7F0852F4 C7AA033C */ lwc1 $f10, 0x33c($sp) -/* 0B9E68 7F0852F8 460C4182 */ mul.s $f6, $f8, $f12 -/* 0B9E6C 7F0852FC 460A2201 */ sub.s $f8, $f4, $f10 -/* 0B9E70 7F085300 46104102 */ mul.s $f4, $f8, $f16 -/* 0B9E74 7F085304 46043080 */ add.s $f2, $f6, $f4 -/* 0B9E78 7F085308 4600103C */ c.lt.s $f2, $f0 -/* 0B9E7C 7F08530C 00000000 */ nop -/* 0B9E80 7F085310 45020003 */ bc1fl .Ljp7F085320 -/* 0B9E84 7F085314 4612003C */ c.lt.s $f0, $f18 -/* 0B9E88 7F085318 46001006 */ mov.s $f0, $f2 -/* 0B9E8C 7F08531C 4612003C */ c.lt.s $f0, $f18 -.Ljp7F085320: -/* 0B9E90 7F085320 00000000 */ nop -/* 0B9E94 7F085324 45020004 */ bc1fl .Ljp7F085338 -/* 0B9E98 7F085328 C7A20304 */ lwc1 $f2, 0x304($sp) -/* 0B9E9C 7F08532C 46009081 */ sub.s $f2, $f18, $f0 -/* 0B9EA0 7F085330 E7A20304 */ swc1 $f2, 0x304($sp) -/* 0B9EA4 7F085334 C7A20304 */ lwc1 $f2, 0x304($sp) -.Ljp7F085338: -/* 0B9EA8 7F085338 C7AA031C */ lwc1 $f10, 0x31c($sp) -/* 0B9EAC 7F08533C 4602A03E */ c.le.s $f20, $f2 -/* 0B9EB0 7F085340 00000000 */ nop -/* 0B9EB4 7F085344 4502000D */ bc1fl .Ljp7F08537C -/* 0B9EB8 7F085348 C7A0031C */ lwc1 $f0, 0x31c($sp) -/* 0B9EBC 7F08534C 460A103C */ c.lt.s $f2, $f10 -/* 0B9EC0 7F085350 00000000 */ nop -/* 0B9EC4 7F085354 45030006 */ bc1tl .Ljp7F085370 -/* 0B9EC8 7F085358 E7B00324 */ swc1 $f16, 0x324($sp) -/* 0B9ECC 7F08535C 4614503C */ c.lt.s $f10, $f20 -/* 0B9ED0 7F085360 00000000 */ nop -/* 0B9ED4 7F085364 45020005 */ bc1fl .Ljp7F08537C -/* 0B9ED8 7F085368 C7A0031C */ lwc1 $f0, 0x31c($sp) -/* 0B9EDC 7F08536C E7B00324 */ swc1 $f16, 0x324($sp) -.Ljp7F085370: -/* 0B9EE0 7F085370 E7AC0320 */ swc1 $f12, 0x320($sp) -/* 0B9EE4 7F085374 E7A2031C */ swc1 $f2, 0x31c($sp) -/* 0B9EE8 7F085378 C7A0031C */ lwc1 $f0, 0x31c($sp) -.Ljp7F08537C: -/* 0B9EEC 7F08537C C7A80324 */ lwc1 $f8, 0x324($sp) -/* 0B9EF0 7F085380 4600A03E */ c.le.s $f20, $f0 -/* 0B9EF4 7F085384 00000000 */ nop -/* 0B9EF8 7F085388 45020022 */ bc1fl .Ljp7F085414 -/* 0B9EFC 7F08538C E7B40358 */ swc1 $f20, 0x358($sp) -/* 0B9F00 7F085390 46080182 */ mul.s $f6, $f0, $f8 -/* 0B9F04 7F085394 3C018005 */ lui $at, %hi(D_80055178) # $at, 0x8005 -/* 0B9F08 7F085398 C42451A8 */ lwc1 $f4, %lo(D_80055178)($at) -/* 0B9F0C 7F08539C C7A80320 */ lwc1 $f8, 0x320($sp) -/* 0B9F10 7F0853A0 3C018005 */ lui $at, %hi(D_8005517C) # $at, 0x8005 -/* 0B9F14 7F0853A4 27A403AC */ addiu $a0, $sp, 0x3ac -/* 0B9F18 7F0853A8 24050001 */ li $a1, 1 -/* 0B9F1C 7F0853AC 46043282 */ mul.s $f10, $f6, $f4 -/* 0B9F20 7F0853B0 C42451AC */ lwc1 $f4, %lo(D_8005517C)($at) -/* 0B9F24 7F0853B4 46080182 */ mul.s $f6, $f0, $f8 -/* 0B9F28 7F0853B8 E7AA03AC */ swc1 $f10, 0x3ac($sp) -/* 0B9F2C 7F0853BC 46043282 */ mul.s $f10, $f6, $f4 -/* 0B9F30 7F0853C0 0FC1F7E1 */ jal sub_GAME_7F07D960 -/* 0B9F34 7F0853C4 E7AA03B4 */ swc1 $f10, 0x3b4($sp) -/* 0B9F38 7F0853C8 8E280000 */ lw $t0, ($s1) -/* 0B9F3C 7F0853CC E7B403AC */ swc1 $f20, 0x3ac($sp) -/* 0B9F40 7F0853D0 E7B403B4 */ swc1 $f20, 0x3b4($sp) -/* 0B9F44 7F0853D4 27B90368 */ addiu $t9, $sp, 0x368 -/* 0B9F48 7F0853D8 8D050488 */ lw $a1, 0x488($t0) -/* 0B9F4C 7F0853DC AFB90010 */ sw $t9, 0x10($sp) -/* 0B9F50 7F0853E0 8FA6035C */ lw $a2, 0x35c($sp) -/* 0B9F54 7F0853E4 02003825 */ move $a3, $s0 -/* 0B9F58 7F0853E8 0FC1F43B */ jal sub_GAME_7F07CAC8 -/* 0B9F5C 7F0853EC 2504048C */ addiu $a0, $t0, 0x48c -/* 0B9F60 7F0853F0 10400004 */ beqz $v0, .Ljp7F085404 -/* 0B9F64 7F0853F4 C7A8035C */ lwc1 $f8, 0x35c($sp) -/* 0B9F68 7F0853F8 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0B9F6C 7F0853FC 10000002 */ b .Ljp7F085408 -/* 0B9F70 7F085400 E42864A4 */ swc1 $f8, %lo(D_80036464)($at) -.Ljp7F085404: -/* 0B9F74 7F085404 E7B40358 */ swc1 $f20, 0x358($sp) -.Ljp7F085408: -/* 0B9F78 7F085408 10000002 */ b .Ljp7F085414 -/* 0B9F7C 7F08540C 8E280000 */ lw $t0, ($s1) -/* 0B9F80 7F085410 E7B40358 */ swc1 $f20, 0x358($sp) -.Ljp7F085414: -/* 0B9F84 7F085414 3C018005 */ lui $at, %hi(D_80055180) # $at, 0x8005 -/* 0B9F88 7F085418 C42E51B0 */ lwc1 $f14, %lo(D_80055180)($at) -/* 0B9F8C 7F08541C 3C038003 */ lui $v1, %hi(D_80036484) # $v1, 0x8003 -/* 0B9F90 7F085420 246364C4 */ addiu $v1, %lo(D_80036484) # addiu $v1, $v1, 0x64c4 -/* 0B9F94 7F085424 3C018003 */ lui $at, %hi(D_80036488) # $at, 0x8003 -/* 0B9F98 7F085428 C42464C8 */ lwc1 $f4, %lo(D_80036488)($at) -/* 0B9F9C 7F08542C C4660000 */ lwc1 $f6, ($v1) -/* 0B9FA0 7F085430 3C078003 */ lui $a3, %hi(D_80036474) # $a3, 0x8003 -/* 0B9FA4 7F085434 24E764B4 */ addiu $a3, %lo(D_80036474) # addiu $a3, $a3, 0x64b4 -/* 0B9FA8 7F085438 46043280 */ add.s $f10, $f6, $f4 -/* 0B9FAC 7F08543C C4EC0000 */ lwc1 $f12, ($a3) -/* 0B9FB0 7F085440 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0B9FB4 7F085444 3C048005 */ lui $a0, %hi(clock_timer) # $a0, 0x8005 -/* 0B9FB8 7F085448 E46A0000 */ swc1 $f10, ($v1) -/* 0B9FBC 7F08544C C4600000 */ lwc1 $f0, ($v1) -/* 0B9FC0 7F085450 44815000 */ mtc1 $at, $f10 -/* 0B9FC4 7F085454 46006406 */ mov.s $f16, $f12 -/* 0B9FC8 7F085458 4600703E */ c.le.s $f14, $f0 -/* 0B9FCC 7F08545C 00000000 */ nop -/* 0B9FD0 7F085460 45020005 */ bc1fl .Ljp7F085478 -/* 0B9FD4 7F085464 4614003C */ c.lt.s $f0, $f20 -/* 0B9FD8 7F085468 460E0201 */ sub.s $f8, $f0, $f14 -/* 0B9FDC 7F08546C E4680000 */ swc1 $f8, ($v1) -/* 0B9FE0 7F085470 C4600000 */ lwc1 $f0, ($v1) -/* 0B9FE4 7F085474 4614003C */ c.lt.s $f0, $f20 -.Ljp7F085478: -/* 0B9FE8 7F085478 00000000 */ nop -/* 0B9FEC 7F08547C 45020005 */ bc1fl .Ljp7F085494 -/* 0B9FF0 7F085480 C504014C */ lwc1 $f4, 0x14c($t0) -/* 0B9FF4 7F085484 460E0180 */ add.s $f6, $f0, $f14 -/* 0B9FF8 7F085488 E4660000 */ swc1 $f6, ($v1) -/* 0B9FFC 7F08548C C4600000 */ lwc1 $f0, ($v1) -/* 0BA000 7F085490 C504014C */ lwc1 $f4, 0x14c($t0) -.Ljp7F085494: -/* 0BA004 7F085494 3C018005 */ lui $at, %hi(D_80055184) # $at, 0x8005 -/* 0BA008 7F085498 C42651B4 */ lwc1 $f6, %lo(D_80055184)($at) -/* 0BA00C 7F08549C 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BA010 7F0854A0 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0BA014 7F0854A4 44815000 */ mtc1 $at, $f10 -/* 0BA018 7F0854A8 3C018005 */ lui $at, %hi(D_80055188) # $at, 0x8005 -/* 0BA01C 7F0854AC 46064102 */ mul.s $f4, $f8, $f6 -/* 0BA020 7F0854B0 00000000 */ nop -/* 0BA024 7F0854B4 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BA028 7F0854B8 46004080 */ add.s $f2, $f8, $f0 -/* 0BA02C 7F0854BC 4614103C */ c.lt.s $f2, $f20 -/* 0BA030 7F0854C0 00000000 */ nop -/* 0BA034 7F0854C4 45000002 */ bc1f .Ljp7F0854D0 -/* 0BA038 7F0854C8 00000000 */ nop -/* 0BA03C 7F0854CC 460E1080 */ add.s $f2, $f2, $f14 -.Ljp7F0854D0: -/* 0BA040 7F0854D0 4602703E */ c.le.s $f14, $f2 -/* 0BA044 7F0854D4 00000000 */ nop -/* 0BA048 7F0854D8 45020003 */ bc1fl .Ljp7F0854E8 -/* 0BA04C 7F0854DC 460C1001 */ sub.s $f0, $f2, $f12 -/* 0BA050 7F0854E0 460E1081 */ sub.s $f2, $f2, $f14 -/* 0BA054 7F0854E4 460C1001 */ sub.s $f0, $f2, $f12 -.Ljp7F0854E8: -/* 0BA058 7F0854E8 C42651B8 */ lwc1 $f6, %lo(D_80055188)($at) -/* 0BA05C 7F0854EC 3C018005 */ lui $at, %hi(D_80055190) -/* 0BA060 7F0854F0 4600303E */ c.le.s $f6, $f0 -/* 0BA064 7F0854F4 00000000 */ nop -/* 0BA068 7F0854F8 45000005 */ bc1f .Ljp7F085510 -/* 0BA06C 7F0854FC 00000000 */ nop -/* 0BA070 7F085500 3C018005 */ lui $at, %hi(D_8005518C) # $at, 0x8005 -/* 0BA074 7F085504 C42451BC */ lwc1 $f4, %lo(D_8005518C)($at) -/* 0BA078 7F085508 10000009 */ b .Ljp7F085530 -/* 0BA07C 7F08550C 46041081 */ sub.s $f2, $f2, $f4 -.Ljp7F085510: -/* 0BA080 7F085510 C42A51C0 */ lwc1 $f10, %lo(D_80055190)($at) -/* 0BA084 7F085514 3C018005 */ lui $at, %hi(D_80055194) # $at, 0x8005 -/* 0BA088 7F085518 460A003C */ c.lt.s $f0, $f10 -/* 0BA08C 7F08551C 00000000 */ nop -/* 0BA090 7F085520 45000003 */ bc1f .Ljp7F085530 -/* 0BA094 7F085524 00000000 */ nop -/* 0BA098 7F085528 C42851C4 */ lwc1 $f8, %lo(D_80055194)($at) -/* 0BA09C 7F08552C 46081080 */ add.s $f2, $f2, $f8 -.Ljp7F085530: -/* 0BA0A0 7F085530 8C8483A4 */ lw $a0, %lo(clock_timer)($a0) -/* 0BA0A4 7F085534 00001025 */ move $v0, $zero -/* 0BA0A8 7F085538 3C018005 */ lui $at, %hi(D_80055198) # $at, 0x8005 -/* 0BA0AC 7F08553C 18800013 */ blez $a0, .Ljp7F08558C -/* 0BA0B0 7F085540 3C108003 */ lui $s0, %hi(D_80036478) # $s0, 0x8003 -/* 0BA0B4 7F085544 C42E51C8 */ lwc1 $f14, %lo(D_80055198)($at) -/* 0BA0B8 7F085548 261064B8 */ addiu $s0, %lo(D_80036478) # addiu $s0, $s0, 0x64b8 -/* 0BA0BC 7F08554C C60C0000 */ lwc1 $f12, ($s0) -/* 0BA0C0 7F085550 24420001 */ addiu $v0, $v0, 1 -/* 0BA0C4 7F085554 0044082A */ slt $at, $v0, $a0 -/* 0BA0C8 7F085558 460C7482 */ mul.s $f18, $f14, $f12 -/* 0BA0CC 7F08555C 5020000A */ beql $at, $zero, .Ljp7F085588 -/* 0BA0D0 7F085560 46029300 */ add.s $f12, $f18, $f2 -/* 0BA0D4 7F085564 46029300 */ add.s $f12, $f18, $f2 -.Ljp7F085568: -/* 0BA0D8 7F085568 24420001 */ addiu $v0, $v0, 1 -/* 0BA0DC 7F08556C 0044082A */ slt $at, $v0, $a0 -/* 0BA0E0 7F085570 E60C0000 */ swc1 $f12, ($s0) -/* 0BA0E4 7F085574 C60C0000 */ lwc1 $f12, ($s0) -/* 0BA0E8 7F085578 460C7482 */ mul.s $f18, $f14, $f12 -/* 0BA0EC 7F08557C 5420FFFA */ bnezl $at, .Ljp7F085568 -/* 0BA0F0 7F085580 46029300 */ add.s $f12, $f18, $f2 -/* 0BA0F4 7F085584 46029300 */ add.s $f12, $f18, $f2 -.Ljp7F085588: -/* 0BA0F8 7F085588 E60C0000 */ swc1 $f12, ($s0) -.Ljp7F08558C: -/* 0BA0FC 7F08558C 3C108003 */ lui $s0, %hi(D_80036478) # $s0, 0x8003 -/* 0BA100 7F085590 261064B8 */ addiu $s0, %lo(D_80036478) # addiu $s0, $s0, 0x64b8 -/* 0BA104 7F085594 3C018005 */ lui $at, %hi(D_8005519C) # $at, 0x8005 -/* 0BA108 7F085598 C42051CC */ lwc1 $f0, %lo(D_8005519C)($at) -/* 0BA10C 7F08559C C6080000 */ lwc1 $f8, ($s0) -/* 0BA110 7F0855A0 3C018005 */ lui $at, %hi(D_800551A0) # $at, 0x8005 -/* 0BA114 7F0855A4 C42251D0 */ lwc1 $f2, %lo(D_800551A0)($at) -/* 0BA118 7F0855A8 46004182 */ mul.s $f6, $f8, $f0 -/* 0BA11C 7F0855AC 2504048C */ addiu $a0, $t0, 0x48c -/* 0BA120 7F0855B0 3C068003 */ lui $a2, %hi(D_80036464) # $a2, 0x8003 -/* 0BA124 7F0855B4 E4E60000 */ swc1 $f6, ($a3) -/* 0BA128 7F0855B8 C4EC0000 */ lwc1 $f12, ($a3) -/* 0BA12C 7F0855BC 460C103E */ c.le.s $f2, $f12 -/* 0BA130 7F0855C0 00000000 */ nop -/* 0BA134 7F0855C4 45020007 */ bc1fl .Ljp7F0855E4 -/* 0BA138 7F0855C8 4614603C */ c.lt.s $f12, $f20 -/* 0BA13C 7F0855CC 46026101 */ sub.s $f4, $f12, $f2 -/* 0BA140 7F0855D0 E4E40000 */ swc1 $f4, ($a3) -/* 0BA144 7F0855D4 C4EC0000 */ lwc1 $f12, ($a3) -/* 0BA148 7F0855D8 46006283 */ div.s $f10, $f12, $f0 -/* 0BA14C 7F0855DC E60A0000 */ swc1 $f10, ($s0) -/* 0BA150 7F0855E0 4614603C */ c.lt.s $f12, $f20 -.Ljp7F0855E4: -/* 0BA154 7F0855E4 00000000 */ nop -/* 0BA158 7F0855E8 45020007 */ bc1fl .Ljp7F085608 -/* 0BA15C 7F0855EC 8D050488 */ lw $a1, 0x488($t0) -/* 0BA160 7F0855F0 46026200 */ add.s $f8, $f12, $f2 -/* 0BA164 7F0855F4 E4E80000 */ swc1 $f8, ($a3) -/* 0BA168 7F0855F8 C4E60000 */ lwc1 $f6, ($a3) -/* 0BA16C 7F0855FC 46003103 */ div.s $f4, $f6, $f0 -/* 0BA170 7F085600 E6040000 */ swc1 $f4, ($s0) -/* 0BA174 7F085604 8D050488 */ lw $a1, 0x488($t0) -.Ljp7F085608: -/* 0BA178 7F085608 E7B00354 */ swc1 $f16, 0x354($sp) -/* 0BA17C 7F08560C 0FC1F4F3 */ jal sub_GAME_7F07CDA8 -/* 0BA180 7F085610 8CC664A4 */ lw $a2, %lo(D_80036464)($a2) -/* 0BA184 7F085614 3C038003 */ lui $v1, %hi(D_80036484) # $v1, 0x8003 -/* 0BA188 7F085618 3C018005 */ lui $at, %hi(D_800551A8) # $at, 0x8005 -/* 0BA18C 7F08561C C42E51D8 */ lwc1 $f14, %lo(D_800551A8)($at) -/* 0BA190 7F085620 246364C4 */ addiu $v1, %lo(D_80036484) # addiu $v1, $v1, 0x64c4 -/* 0BA194 7F085624 14400009 */ bnez $v0, .Ljp7F08564C -/* 0BA198 7F085628 C7B00354 */ lwc1 $f16, 0x354($sp) -/* 0BA19C 7F08562C 3C018003 */ lui $at, %hi(D_80036474) # $at, 0x8003 -/* 0BA1A0 7F085630 E43064B4 */ swc1 $f16, %lo(D_80036474)($at) -/* 0BA1A4 7F085634 C42A64B4 */ lwc1 $f10, %lo(D_80036474)($at) -/* 0BA1A8 7F085638 3C018005 */ lui $at, %hi(D_800551AC) # $at, 0x8005 -/* 0BA1AC 7F08563C C42851DC */ lwc1 $f8, %lo(D_800551AC)($at) -/* 0BA1B0 7F085640 E4700000 */ swc1 $f16, ($v1) -/* 0BA1B4 7F085644 46085183 */ div.s $f6, $f10, $f8 -/* 0BA1B8 7F085648 E6060000 */ swc1 $f6, ($s0) -.Ljp7F08564C: -/* 0BA1BC 7F08564C 3C038003 */ lui $v1, %hi(ptr_playerstank) # $v1, 0x8003 -/* 0BA1C0 7F085650 8C636490 */ lw $v1, %lo(ptr_playerstank)($v1) -/* 0BA1C4 7F085654 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799A8) # $v0, 0x8008 -/* 0BA1C8 7F085658 244299E8 */ addiu $v0, %lo(flt_CODE_bss_800799A8) # addiu $v0, $v0, -0x6618 -/* 0BA1CC 7F08565C 1060002F */ beqz $v1, .Ljp7F08571C -/* 0BA1D0 7F085660 27B002B4 */ addiu $s0, $sp, 0x2b4 -/* 0BA1D4 7F085664 8C6C0004 */ lw $t4, 4($v1) -/* 0BA1D8 7F085668 C4440000 */ lwc1 $f4, ($v0) -/* 0BA1DC 7F08566C C44A0008 */ lwc1 $f10, 8($v0) -/* 0BA1E0 7F085670 E7B402F8 */ swc1 $f20, 0x2f8($sp) -/* 0BA1E4 7F085674 C7AC0358 */ lwc1 $f12, 0x358($sp) -/* 0BA1E8 7F085678 02002825 */ move $a1, $s0 -/* 0BA1EC 7F08567C AFAC0300 */ sw $t4, 0x300($sp) -/* 0BA1F0 7F085680 E7A402F4 */ swc1 $f4, 0x2f4($sp) -/* 0BA1F4 7F085684 0FC162C7 */ jal sub_GAME_7F0585FC -/* 0BA1F8 7F085688 E7AA02FC */ swc1 $f10, 0x2fc($sp) -/* 0BA1FC 7F08568C 02002025 */ move $a0, $s0 -/* 0BA200 7F085690 0FC1623E */ jal sub_GAME_7F0583D8 -/* 0BA204 7F085694 27A502F4 */ addiu $a1, $sp, 0x2f4 -/* 0BA208 7F085698 0FC1F376 */ jal sub_GAME_7F07C7B4 -/* 0BA20C 7F08569C 00000000 */ nop -/* 0BA210 7F0856A0 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799A8) # $v0, 0x8008 -/* 0BA214 7F0856A4 244299E8 */ addiu $v0, %lo(flt_CODE_bss_800799A8) # addiu $v0, $v0, -0x6618 -/* 0BA218 7F0856A8 C4480000 */ lwc1 $f8, ($v0) -/* 0BA21C 7F0856AC C7A602F4 */ lwc1 $f6, 0x2f4($sp) -/* 0BA220 7F0856B0 C44A0008 */ lwc1 $f10, 8($v0) -/* 0BA224 7F0856B4 3C018005 */ lui $at, %hi(D_800551BC) # $at, 0x8005 -/* 0BA228 7F0856B8 46064101 */ sub.s $f4, $f8, $f6 -/* 0BA22C 7F0856BC C7A802FC */ lwc1 $f8, 0x2fc($sp) -/* 0BA230 7F0856C0 E7B402F8 */ swc1 $f20, 0x2f8($sp) -/* 0BA234 7F0856C4 02002825 */ move $a1, $s0 -/* 0BA238 7F0856C8 E7A402F4 */ swc1 $f4, 0x2f4($sp) -/* 0BA23C 7F0856CC 46085181 */ sub.s $f6, $f10, $f8 -/* 0BA240 7F0856D0 C42451EC */ lwc1 $f4, %lo(D_800551BC)($at) -/* 0BA244 7F0856D4 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0BA248 7F0856D8 C42A64A4 */ lwc1 $f10, %lo(D_80036464)($at) -/* 0BA24C 7F0856DC E7A602FC */ swc1 $f6, 0x2fc($sp) -/* 0BA250 7F0856E0 0FC162C7 */ jal sub_GAME_7F0585FC -/* 0BA254 7F0856E4 460A2301 */ sub.s $f12, $f4, $f10 -/* 0BA258 7F0856E8 8FAB0300 */ lw $t3, 0x300($sp) -/* 0BA25C 7F0856EC 02002825 */ move $a1, $s0 -/* 0BA260 7F0856F0 8D6D0014 */ lw $t5, 0x14($t3) -/* 0BA264 7F0856F4 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 0BA268 7F0856F8 C5AC0014 */ lwc1 $f12, 0x14($t5) -/* 0BA26C 7F0856FC 02002025 */ move $a0, $s0 -/* 0BA270 7F085700 0FC1623E */ jal sub_GAME_7F0583D8 -/* 0BA274 7F085704 27A502F4 */ addiu $a1, $sp, 0x2f4 -/* 0BA278 7F085708 27A402F4 */ addiu $a0, $sp, 0x2f4 -/* 0BA27C 7F08570C 0FC1F7E1 */ jal sub_GAME_7F07D960 -/* 0BA280 7F085710 24050001 */ li $a1, 1 -/* 0BA284 7F085714 3C018005 */ lui $at, %hi(D_800551CC) # $at, 0x8005 -/* 0BA288 7F085718 C42E51FC */ lwc1 $f14, %lo(D_800551CC)($at) -.Ljp7F08571C: -/* 0BA28C 7F08571C 3C048005 */ lui $a0, %hi(clock_timer) # $a0, 0x8005 -/* 0BA290 7F085720 8C8483A4 */ lw $a0, %lo(clock_timer)($a0) -/* 0BA294 7F085724 3C018003 */ lui $at, %hi(D_80036474) # $at, 0x8003 -/* 0BA298 7F085728 C42C64B4 */ lwc1 $f12, %lo(D_80036474)($at) -/* 0BA29C 7F08572C 5880001B */ blezl $a0, .Ljp7F08579C -/* 0BA2A0 7F085730 3C0143B4 */ lui $at, 0x43b4 -/* 0BA2A4 7F085734 18800018 */ blez $a0, .Ljp7F085798 -/* 0BA2A8 7F085738 00001025 */ move $v0, $zero -/* 0BA2AC 7F08573C 3C018003 */ lui $at, %hi(D_80036488) # $at, 0x8003 -/* 0BA2B0 7F085740 C42864C8 */ lwc1 $f8, %lo(D_80036488)($at) -/* 0BA2B4 7F085744 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BA2B8 7F085748 C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0BA2BC 7F08574C 3C038003 */ lui $v1, %hi(D_8003647C) # $v1, 0x8003 -/* 0BA2C0 7F085750 246364BC */ addiu $v1, %lo(D_8003647C) # addiu $v1, $v1, 0x64bc -/* 0BA2C4 7F085754 46064003 */ div.s $f0, $f8, $f6 -/* 0BA2C8 7F085758 C4700000 */ lwc1 $f16, ($v1) -/* 0BA2CC 7F08575C 24420001 */ addiu $v0, $v0, 1 -/* 0BA2D0 7F085760 0044082A */ slt $at, $v0, $a0 -/* 0BA2D4 7F085764 46107482 */ mul.s $f18, $f14, $f16 -/* 0BA2D8 7F085768 5020000A */ beql $at, $zero, .Ljp7F085794 -/* 0BA2DC 7F08576C 46009400 */ add.s $f16, $f18, $f0 -/* 0BA2E0 7F085770 46009400 */ add.s $f16, $f18, $f0 -.Ljp7F085774: -/* 0BA2E4 7F085774 24420001 */ addiu $v0, $v0, 1 -/* 0BA2E8 7F085778 0044082A */ slt $at, $v0, $a0 -/* 0BA2EC 7F08577C E4700000 */ swc1 $f16, ($v1) -/* 0BA2F0 7F085780 C4700000 */ lwc1 $f16, ($v1) -/* 0BA2F4 7F085784 46107482 */ mul.s $f18, $f14, $f16 -/* 0BA2F8 7F085788 5420FFFA */ bnezl $at, .Ljp7F085774 -/* 0BA2FC 7F08578C 46009400 */ add.s $f16, $f18, $f0 -/* 0BA300 7F085790 46009400 */ add.s $f16, $f18, $f0 -.Ljp7F085794: -/* 0BA304 7F085794 E4700000 */ swc1 $f16, ($v1) -.Ljp7F085798: -/* 0BA308 7F085798 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -.Ljp7F08579C: -/* 0BA30C 7F08579C 44817000 */ mtc1 $at, $f14 -/* 0BA310 7F0857A0 3C038003 */ lui $v1, %hi(D_8003647C) # $v1, 0x8003 -/* 0BA314 7F0857A4 246364BC */ addiu $v1, %lo(D_8003647C) # addiu $v1, $v1, 0x64bc -/* 0BA318 7F0857A8 3C018005 */ lui $at, %hi(D_800551D0) # $at, 0x8005 -/* 0BA31C 7F0857AC C4245200 */ lwc1 $f4, %lo(D_800551D0)($at) -/* 0BA320 7F0857B0 C4660000 */ lwc1 $f6, ($v1) -/* 0BA324 7F0857B4 8E280000 */ lw $t0, ($s1) -/* 0BA328 7F0857B8 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0BA32C 7F0857BC 46043082 */ mul.s $f2, $f6, $f4 -/* 0BA330 7F0857C0 44814000 */ mtc1 $at, $f8 -/* 0BA334 7F0857C4 C50A014C */ lwc1 $f10, 0x14c($t0) -/* 0BA338 7F0857C8 3C018005 */ lui $at, %hi(D_800551D4) # $at, 0x8005 -/* 0BA33C 7F0857CC C4245204 */ lwc1 $f4, %lo(D_800551D4)($at) -/* 0BA340 7F0857D0 46085182 */ mul.s $f6, $f10, $f8 -/* 0BA344 7F0857D4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0BA348 7F0857D8 44814000 */ mtc1 $at, $f8 -/* 0BA34C 7F0857DC 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0BA350 7F0857E0 46043282 */ mul.s $f10, $f6, $f4 -/* 0BA354 7F0857E4 C42464A4 */ lwc1 $f4, %lo(D_80036464)($at) -/* 0BA358 7F0857E8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0BA35C 7F0857EC 46085182 */ mul.s $f6, $f10, $f8 -/* 0BA360 7F0857F0 460C2280 */ add.s $f10, $f4, $f12 -/* 0BA364 7F0857F4 44812000 */ mtc1 $at, $f4 -/* 0BA368 7F0857F8 3C018005 */ lui $at, %hi(D_800551D8) # $at, 0x8005 -/* 0BA36C 7F0857FC 46065200 */ add.s $f8, $f10, $f6 -/* 0BA370 7F085800 46041282 */ mul.s $f10, $f2, $f4 -/* 0BA374 7F085804 460A4180 */ add.s $f6, $f8, $f10 -/* 0BA378 7F085808 C4285208 */ lwc1 $f8, %lo(D_800551D8)($at) -/* 0BA37C 7F08580C 460E3102 */ mul.s $f4, $f6, $f14 -/* 0BA380 7F085810 46082283 */ div.s $f10, $f4, $f8 -/* 0BA384 7F085814 E50A0148 */ swc1 $f10, 0x148($t0) -/* 0BA388 7F085818 8E280000 */ lw $t0, ($s1) -/* 0BA38C 7F08581C C5000148 */ lwc1 $f0, 0x148($t0) -/* 0BA390 7F085820 4614003C */ c.lt.s $f0, $f20 -/* 0BA394 7F085824 00000000 */ nop -/* 0BA398 7F085828 4502000A */ bc1fl .Ljp7F085854 -/* 0BA39C 7F08582C 4600703E */ c.le.s $f14, $f0 -/* 0BA3A0 7F085830 460E0180 */ add.s $f6, $f0, $f14 -.Ljp7F085834: -/* 0BA3A4 7F085834 E5060148 */ swc1 $f6, 0x148($t0) -/* 0BA3A8 7F085838 8E280000 */ lw $t0, ($s1) -/* 0BA3AC 7F08583C C5000148 */ lwc1 $f0, 0x148($t0) -/* 0BA3B0 7F085840 4614003C */ c.lt.s $f0, $f20 -/* 0BA3B4 7F085844 00000000 */ nop -/* 0BA3B8 7F085848 4503FFFA */ bc1tl .Ljp7F085834 -/* 0BA3BC 7F08584C 460E0180 */ add.s $f6, $f0, $f14 -/* 0BA3C0 7F085850 4600703E */ c.le.s $f14, $f0 -.Ljp7F085854: -/* 0BA3C4 7F085854 00000000 */ nop -/* 0BA3C8 7F085858 45000009 */ bc1f .Ljp7F085880 -/* 0BA3CC 7F08585C 00000000 */ nop -/* 0BA3D0 7F085860 460E0101 */ sub.s $f4, $f0, $f14 -.Ljp7F085864: -/* 0BA3D4 7F085864 E5040148 */ swc1 $f4, 0x148($t0) -/* 0BA3D8 7F085868 8E280000 */ lw $t0, ($s1) -/* 0BA3DC 7F08586C C5000148 */ lwc1 $f0, 0x148($t0) -/* 0BA3E0 7F085870 4600703E */ c.le.s $f14, $f0 -/* 0BA3E4 7F085874 00000000 */ nop -/* 0BA3E8 7F085878 4503FFFA */ bc1tl .Ljp7F085864 -/* 0BA3EC 7F08587C 460E0101 */ sub.s $f4, $f0, $f14 -.Ljp7F085880: -/* 0BA3F0 7F085880 10000022 */ b .Ljp7F08590C -/* 0BA3F4 7F085884 00000000 */ nop -.Ljp7F085888: -/* 0BA3F8 7F085888 C508014C */ lwc1 $f8, 0x14c($t0) -/* 0BA3FC 7F08588C C52A0000 */ lwc1 $f10, ($t1) -/* 0BA400 7F085890 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 0BA404 7F085894 44812000 */ mtc1 $at, $f4 -/* 0BA408 7F085898 460A4182 */ mul.s $f6, $f8, $f10 -/* 0BA40C 7F08589C C50A0148 */ lwc1 $f10, 0x148($t0) -/* 0BA410 7F0858A0 3C0143B4 */ lui $at, 0x43b4 -/* 0BA414 7F0858A4 46043202 */ mul.s $f8, $f6, $f4 -/* 0BA418 7F0858A8 46085000 */ add.s $f0, $f10, $f8 -/* 0BA41C 7F0858AC 4614003C */ c.lt.s $f0, $f20 -/* 0BA420 7F0858B0 00000000 */ nop -/* 0BA424 7F0858B4 45020009 */ bc1fl .Ljp7F0858DC -/* 0BA428 7F0858B8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BA42C 7F0858BC 44817000 */ mtc1 $at, $f14 -/* 0BA430 7F0858C0 00000000 */ nop -/* 0BA434 7F0858C4 460E0000 */ add.s $f0, $f0, $f14 -.Ljp7F0858C8: -/* 0BA438 7F0858C8 4614003C */ c.lt.s $f0, $f20 -/* 0BA43C 7F0858CC 00000000 */ nop -/* 0BA440 7F0858D0 4503FFFD */ bc1tl .Ljp7F0858C8 -/* 0BA444 7F0858D4 460E0000 */ add.s $f0, $f0, $f14 -/* 0BA448 7F0858D8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -.Ljp7F0858DC: -/* 0BA44C 7F0858DC 44817000 */ mtc1 $at, $f14 -/* 0BA450 7F0858E0 00000000 */ nop -/* 0BA454 7F0858E4 4600703E */ c.le.s $f14, $f0 -/* 0BA458 7F0858E8 00000000 */ nop -/* 0BA45C 7F0858EC 45020007 */ bc1fl .Ljp7F08590C -/* 0BA460 7F0858F0 E5000148 */ swc1 $f0, 0x148($t0) -/* 0BA464 7F0858F4 460E0001 */ sub.s $f0, $f0, $f14 -.Ljp7F0858F8: -/* 0BA468 7F0858F8 4600703E */ c.le.s $f14, $f0 -/* 0BA46C 7F0858FC 00000000 */ nop -/* 0BA470 7F085900 4503FFFD */ bc1tl .Ljp7F0858F8 -/* 0BA474 7F085904 460E0001 */ sub.s $f0, $f0, $f14 -/* 0BA478 7F085908 E5000148 */ swc1 $f0, 0x148($t0) -.Ljp7F08590C: -/* 0BA47C 7F08590C 0FC20768 */ jal sub_GAME_7F081790 -/* 0BA480 7F085910 00000000 */ nop -/* 0BA484 7F085914 0FC1E7F8 */ jal sub_GAME_7F0799F0 -/* 0BA488 7F085918 E7B402AC */ swc1 $f20, 0x2ac($sp) -/* 0BA48C 7F08591C 14400004 */ bnez $v0, .Ljp7F085930 -/* 0BA490 7F085920 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 0BA494 7F085924 44813000 */ mtc1 $at, $f6 -/* 0BA498 7F085928 1000000B */ b .Ljp7F085958 -/* 0BA49C 7F08592C E7A602AC */ swc1 $f6, 0x2ac($sp) -.Ljp7F085930: -/* 0BA4A0 7F085930 0FC1E7F8 */ jal sub_GAME_7F0799F0 -/* 0BA4A4 7F085934 00000000 */ nop -/* 0BA4A8 7F085938 24010001 */ li $at, 1 -/* 0BA4AC 7F08593C 14410004 */ bne $v0, $at, .Ljp7F085950 -/* 0BA4B0 7F085940 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 0BA4B4 7F085944 44812000 */ mtc1 $at, $f4 -/* 0BA4B8 7F085948 10000003 */ b .Ljp7F085958 -/* 0BA4BC 7F08594C E7A402AC */ swc1 $f4, 0x2ac($sp) -.Ljp7F085950: -/* 0BA4C0 7F085950 0FC1E7F8 */ jal sub_GAME_7F0799F0 -/* 0BA4C4 7F085954 00000000 */ nop -.Ljp7F085958: -/* 0BA4C8 7F085958 8E280000 */ lw $t0, ($s1) -/* 0BA4CC 7F08595C C7AA02AC */ lwc1 $f10, 0x2ac($sp) -/* 0BA4D0 7F085960 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BA4D4 7F085964 C50000A0 */ lwc1 $f0, 0xa0($t0) -/* 0BA4D8 7F085968 250400A0 */ addiu $a0, $t0, 0xa0 -/* 0BA4DC 7F08596C 250600A4 */ addiu $a2, $t0, 0xa4 -/* 0BA4E0 7F085970 46005032 */ c.eq.s $f10, $f0 -/* 0BA4E4 7F085974 00000000 */ nop -/* 0BA4E8 7F085978 4503000C */ bc1tl .Ljp7F0859AC -/* 0BA4EC 7F08597C C7A602AC */ lwc1 $f6, 0x2ac($sp) -/* 0BA4F0 7F085980 44810000 */ mtc1 $at, $f0 -/* 0BA4F4 7F085984 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0BA4F8 7F085988 44814000 */ mtc1 $at, $f8 -/* 0BA4FC 7F08598C 44055000 */ mfc1 $a1, $f10 -/* 0BA500 7F085990 44070000 */ mfc1 $a3, $f0 -/* 0BA504 7F085994 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0BA508 7F085998 0FC10C86 */ jal sub_GAME_7F042F18 -/* 0BA50C 7F08599C E7A80014 */ swc1 $f8, 0x14($sp) -/* 0BA510 7F0859A0 8E280000 */ lw $t0, ($s1) -/* 0BA514 7F0859A4 C50000A0 */ lwc1 $f0, 0xa0($t0) -/* 0BA518 7F0859A8 C7A602AC */ lwc1 $f6, 0x2ac($sp) -.Ljp7F0859AC: -/* 0BA51C 7F0859AC 3C108003 */ lui $s0, %hi(SFX_80036458) # $s0, 0x8003 -/* 0BA520 7F0859B0 3C0E8003 */ lui $t6, %hi(in_tank_flag) # $t6, 0x8003 -/* 0BA524 7F0859B4 46003032 */ c.eq.s $f6, $f0 -/* 0BA528 7F0859B8 26106498 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6498 -/* 0BA52C 7F0859BC 45000002 */ bc1f .Ljp7F0859C8 -/* 0BA530 7F0859C0 00000000 */ nop -/* 0BA534 7F0859C4 E51400A4 */ swc1 $f20, 0xa4($t0) -.Ljp7F0859C8: -/* 0BA538 7F0859C8 8DCE6488 */ lw $t6, %lo(in_tank_flag)($t6) -/* 0BA53C 7F0859CC 24010001 */ li $at, 1 -/* 0BA540 7F0859D0 15C10209 */ bne $t6, $at, .Ljp7F0861F8 -/* 0BA544 7F0859D4 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799B8) # $v0, 0x8008 -/* 0BA548 7F0859D8 8C4299F8 */ lw $v0, %lo(dword_CODE_bss_800799B8)($v0) -/* 0BA54C 7F0859DC 3C038003 */ lui $v1, %hi(ptr_playerstank) # $v1, 0x8003 -/* 0BA550 7F0859E0 24010001 */ li $at, 1 -/* 0BA554 7F0859E4 144000BF */ bnez $v0, .Ljp7F085CE4 -/* 0BA558 7F0859E8 00000000 */ nop -/* 0BA55C 7F0859EC 8C636490 */ lw $v1, %lo(ptr_playerstank)($v1) -/* 0BA560 7F0859F0 3C018005 */ lui $at, %hi(D_800551DC) # $at, 0x8005 -/* 0BA564 7F0859F4 27A50268 */ addiu $a1, $sp, 0x268 -/* 0BA568 7F0859F8 106000AD */ beqz $v1, .Ljp7F085CB0 -/* 0BA56C 7F0859FC 00000000 */ nop -/* 0BA570 7F085A00 C424520C */ lwc1 $f4, %lo(D_800551DC)($at) -/* 0BA574 7F085A04 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0BA578 7F085A08 C42A64A4 */ lwc1 $f10, %lo(D_80036464)($at) -/* 0BA57C 7F085A0C 8C700004 */ lw $s0, 4($v1) -/* 0BA580 7F085A10 0FC162C7 */ jal sub_GAME_7F0585FC -/* 0BA584 7F085A14 460A2301 */ sub.s $f12, $f4, $f10 -/* 0BA588 7F085A18 8E180014 */ lw $t8, 0x14($s0) -/* 0BA58C 7F085A1C 27A50268 */ addiu $a1, $sp, 0x268 -/* 0BA590 7F085A20 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 0BA594 7F085A24 C70C0014 */ lwc1 $f12, 0x14($t8) -/* 0BA598 7F085A28 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799A8) # $v0, 0x8008 -/* 0BA59C 7F085A2C 244299E8 */ addiu $v0, %lo(flt_CODE_bss_800799A8) # addiu $v0, $v0, -0x6618 -/* 0BA5A0 7F085A30 C4480000 */ lwc1 $f8, ($v0) -/* 0BA5A4 7F085A34 C4460004 */ lwc1 $f6, 4($v0) -/* 0BA5A8 7F085A38 C4440008 */ lwc1 $f4, 8($v0) -/* 0BA5AC 7F085A3C 27A40268 */ addiu $a0, $sp, 0x268 -/* 0BA5B0 7F085A40 27A5025C */ addiu $a1, $sp, 0x25c -/* 0BA5B4 7F085A44 E7A8025C */ swc1 $f8, 0x25c($sp) -/* 0BA5B8 7F085A48 E7A60260 */ swc1 $f6, 0x260($sp) -/* 0BA5BC 7F085A4C 0FC1623E */ jal sub_GAME_7F0583D8 -/* 0BA5C0 7F085A50 E7A40264 */ swc1 $f4, 0x264($sp) -/* 0BA5C4 7F085A54 C7AA025C */ lwc1 $f10, 0x25c($sp) -/* 0BA5C8 7F085A58 C6080058 */ lwc1 $f8, 0x58($s0) -/* 0BA5CC 7F085A5C C7A40260 */ lwc1 $f4, 0x260($sp) -/* 0BA5D0 7F085A60 3C01C1A0 */ li $at, 0xC1A00000 # -20.000000 -/* 0BA5D4 7F085A64 46085180 */ add.s $f6, $f10, $f8 -/* 0BA5D8 7F085A68 44810000 */ mtc1 $at, $f0 -/* 0BA5DC 7F085A6C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BA5E0 7F085A70 44817000 */ mtc1 $at, $f14 -/* 0BA5E4 7F085A74 E7A6025C */ swc1 $f6, 0x25c($sp) -/* 0BA5E8 7F085A78 C60A005C */ lwc1 $f10, 0x5c($s0) -/* 0BA5EC 7F085A7C C7A60264 */ lwc1 $f6, 0x264($sp) -/* 0BA5F0 7F085A80 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0BA5F4 7F085A84 460A2200 */ add.s $f8, $f4, $f10 -/* 0BA5F8 7F085A88 8E2F0000 */ lw $t7, ($s1) -/* 0BA5FC 7F085A8C E7A80260 */ swc1 $f8, 0x260($sp) -/* 0BA600 7F085A90 C6040060 */ lwc1 $f4, 0x60($s0) -/* 0BA604 7F085A94 C42864A4 */ lwc1 $f8, %lo(D_80036464)($at) -/* 0BA608 7F085A98 3C018003 */ lui $at, %hi(D_80036474) # $at, 0x8003 -/* 0BA60C 7F085A9C 46043280 */ add.s $f10, $f6, $f4 -/* 0BA610 7F085AA0 C42664B4 */ lwc1 $f6, %lo(D_80036474)($at) -/* 0BA614 7F085AA4 3C018005 */ lui $at, %hi(D_800551E0) # $at, 0x8005 -/* 0BA618 7F085AA8 46064100 */ add.s $f4, $f8, $f6 -/* 0BA61C 7F085AAC E7AA0264 */ swc1 $f10, 0x264($sp) -/* 0BA620 7F085AB0 C5E20158 */ lwc1 $f2, 0x158($t7) -/* 0BA624 7F085AB4 C4285210 */ lwc1 $f8, %lo(D_800551E0)($at) -/* 0BA628 7F085AB8 460E2282 */ mul.s $f10, $f4, $f14 -/* 0BA62C 7F085ABC 4600103C */ c.lt.s $f2, $f0 -/* 0BA630 7F085AC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA634 7F085AC4 44819000 */ mtc1 $at, $f18 -/* 0BA638 7F085AC8 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BA63C 7F085ACC 45000002 */ bc1f .Ljp7F085AD8 -/* 0BA640 7F085AD0 46085403 */ div.s $f16, $f10, $f8 -/* 0BA644 7F085AD4 46000086 */ mov.s $f2, $f0 -.Ljp7F085AD8: -/* 0BA648 7F085AD8 C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0BA64C 7F085ADC 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 0BA650 7F085AE0 44812000 */ mtc1 $at, $f4 -/* 0BA654 7F085AE4 3C108008 */ lui $s0, %hi(flt_CODE_bss_800799BC) # $s0, 0x8008 -/* 0BA658 7F085AE8 261099FC */ addiu $s0, %lo(flt_CODE_bss_800799BC) # addiu $s0, $s0, -0x6604 -/* 0BA65C 7F085AEC 46043283 */ div.s $f10, $f6, $f4 -/* 0BA660 7F085AF0 C6080000 */ lwc1 $f8, ($s0) -/* 0BA664 7F085AF4 3C018005 */ lui $at, %hi(D_800551E4) # $at, 0x8005 -/* 0BA668 7F085AF8 460A4180 */ add.s $f6, $f8, $f10 -/* 0BA66C 7F085AFC E6060000 */ swc1 $f6, ($s0) -/* 0BA670 7F085B00 C6000000 */ lwc1 $f0, ($s0) -/* 0BA674 7F085B04 4600903E */ c.le.s $f18, $f0 -/* 0BA678 7F085B08 00000000 */ nop -/* 0BA67C 7F085B0C 45000003 */ bc1f .Ljp7F085B1C -/* 0BA680 7F085B10 00000000 */ nop -/* 0BA684 7F085B14 E6120000 */ swc1 $f18, ($s0) -/* 0BA688 7F085B18 C6000000 */ lwc1 $f0, ($s0) -.Ljp7F085B1C: -/* 0BA68C 7F085B1C C4245214 */ lwc1 $f4, %lo(D_800551E4)($at) -/* 0BA690 7F085B20 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BA694 7F085B24 44815000 */ mtc1 $at, $f10 -/* 0BA698 7F085B28 46040202 */ mul.s $f8, $f0, $f4 -/* 0BA69C 7F085B2C E7A20254 */ swc1 $f2, 0x254($sp) -/* 0BA6A0 7F085B30 E7B00258 */ swc1 $f16, 0x258($sp) -/* 0BA6A4 7F085B34 460A4302 */ mul.s $f12, $f8, $f10 -/* 0BA6A8 7F085B38 0FC160F0 */ jal cosf -/* 0BA6AC 7F085B3C 00000000 */ nop -/* 0BA6B0 7F085B40 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BA6B4 7F085B44 44817000 */ mtc1 $at, $f14 -/* 0BA6B8 7F085B48 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA6BC 7F085B4C 44813000 */ mtc1 $at, $f6 -/* 0BA6C0 7F085B50 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BA6C4 7F085B54 44814000 */ mtc1 $at, $f8 -/* 0BA6C8 7F085B58 46060100 */ add.s $f4, $f0, $f6 -/* 0BA6CC 7F085B5C 3C028008 */ lui $v0, %hi(flt_CODE_bss_800799C0) # $v0, 0x8008 -/* 0BA6D0 7F085B60 24429A00 */ addiu $v0, %lo(flt_CODE_bss_800799C0) # addiu $v0, $v0, -0x6600 -/* 0BA6D4 7F085B64 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA6D8 7F085B68 46082282 */ mul.s $f10, $f4, $f8 -/* 0BA6DC 7F085B6C 44813000 */ mtc1 $at, $f6 -/* 0BA6E0 7F085B70 C7A80254 */ lwc1 $f8, 0x254($sp) -/* 0BA6E4 7F085B74 3C018008 */ lui $at, %hi(flt_CODE_bss_800799C8) # $at, 0x8008 -/* 0BA6E8 7F085B78 8E2A0000 */ lw $t2, ($s1) -/* 0BA6EC 7F085B7C C7B00258 */ lwc1 $f16, 0x258($sp) -/* 0BA6F0 7F085B80 3C038008 */ lui $v1, %hi(flt_CODE_bss_800799D0) # $v1, 0x8008 -/* 0BA6F4 7F085B84 E44A0000 */ swc1 $f10, ($v0) -/* 0BA6F8 7F085B88 C4420000 */ lwc1 $f2, ($v0) -/* 0BA6FC 7F085B8C 24639A10 */ addiu $v1, %lo(flt_CODE_bss_800799D0) # addiu $v1, $v1, -0x65f0 -/* 0BA700 7F085B90 46023101 */ sub.s $f4, $f6, $f2 -/* 0BA704 7F085B94 C4269A08 */ lwc1 $f6, %lo(flt_CODE_bss_800799C8)($at) -/* 0BA708 7F085B98 3C018008 */ lui $at, %hi(flt_CODE_bss_800799C4) # $at, 0x8008 -/* 0BA70C 7F085B9C 46082282 */ mul.s $f10, $f4, $f8 -/* 0BA710 7F085BA0 00000000 */ nop -/* 0BA714 7F085BA4 46061102 */ mul.s $f4, $f2, $f6 -/* 0BA718 7F085BA8 460A2200 */ add.s $f8, $f4, $f10 -/* 0BA71C 7F085BAC E5480158 */ swc1 $f8, 0x158($t2) -/* 0BA720 7F085BB0 C4329A04 */ lwc1 $f18, %lo(flt_CODE_bss_800799C4)($at) -/* 0BA724 7F085BB4 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0BA728 7F085BB8 44813000 */ mtc1 $at, $f6 -/* 0BA72C 7F085BBC 46128301 */ sub.s $f12, $f16, $f18 -/* 0BA730 7F085BC0 3C01C334 */ li $at, 0xC3340000 # -180.000000 -/* 0BA734 7F085BC4 44812000 */ mtc1 $at, $f4 -/* 0BA738 7F085BC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA73C 7F085BCC 460C303C */ c.lt.s $f6, $f12 -/* 0BA740 7F085BD0 44814000 */ mtc1 $at, $f8 -/* 0BA744 7F085BD4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA748 7F085BD8 45000002 */ bc1f .Ljp7F085BE4 -/* 0BA74C 7F085BDC 00000000 */ nop -/* 0BA750 7F085BE0 460E8401 */ sub.s $f16, $f16, $f14 -.Ljp7F085BE4: -/* 0BA754 7F085BE4 4604603C */ c.lt.s $f12, $f4 -/* 0BA758 7F085BE8 00000000 */ nop -/* 0BA75C 7F085BEC 45020003 */ bc1fl .Ljp7F085BFC -/* 0BA760 7F085BF0 C4420000 */ lwc1 $f2, ($v0) -/* 0BA764 7F085BF4 460E8400 */ add.s $f16, $f16, $f14 -/* 0BA768 7F085BF8 C4420000 */ lwc1 $f2, ($v0) -.Ljp7F085BFC: -/* 0BA76C 7F085BFC 8E390000 */ lw $t9, ($s1) -/* 0BA770 7F085C00 46024181 */ sub.s $f6, $f8, $f2 -/* 0BA774 7F085C04 46121282 */ mul.s $f10, $f2, $f18 -/* 0BA778 7F085C08 00000000 */ nop -/* 0BA77C 7F085C0C 46103102 */ mul.s $f4, $f6, $f16 -/* 0BA780 7F085C10 46045200 */ add.s $f8, $f10, $f4 -/* 0BA784 7F085C14 44812000 */ mtc1 $at, $f4 -/* 0BA788 7F085C18 E7280148 */ swc1 $f8, 0x148($t9) -/* 0BA78C 7F085C1C 8E280000 */ lw $t0, ($s1) -/* 0BA790 7F085C20 C5000148 */ lwc1 $f0, 0x148($t0) -/* 0BA794 7F085C24 4600703E */ c.le.s $f14, $f0 -/* 0BA798 7F085C28 00000000 */ nop -/* 0BA79C 7F085C2C 45000005 */ bc1f .Ljp7F085C44 -/* 0BA7A0 7F085C30 00000000 */ nop -/* 0BA7A4 7F085C34 460E0181 */ sub.s $f6, $f0, $f14 -/* 0BA7A8 7F085C38 E5060148 */ swc1 $f6, 0x148($t0) -/* 0BA7AC 7F085C3C 8E280000 */ lw $t0, ($s1) -/* 0BA7B0 7F085C40 C5000148 */ lwc1 $f0, 0x148($t0) -.Ljp7F085C44: -/* 0BA7B4 7F085C44 4614003C */ c.lt.s $f0, $f20 -/* 0BA7B8 7F085C48 00000000 */ nop -/* 0BA7BC 7F085C4C 45020005 */ bc1fl .Ljp7F085C64 -/* 0BA7C0 7F085C50 C4420000 */ lwc1 $f2, ($v0) -/* 0BA7C4 7F085C54 460E0280 */ add.s $f10, $f0, $f14 -/* 0BA7C8 7F085C58 E50A0148 */ swc1 $f10, 0x148($t0) -/* 0BA7CC 7F085C5C 8E280000 */ lw $t0, ($s1) -/* 0BA7D0 7F085C60 C4420000 */ lwc1 $f2, ($v0) -.Ljp7F085C64: -/* 0BA7D4 7F085C64 C4680000 */ lwc1 $f8, ($v1) -/* 0BA7D8 7F085C68 C7AA025C */ lwc1 $f10, 0x25c($sp) -/* 0BA7DC 7F085C6C 46022001 */ sub.s $f0, $f4, $f2 -/* 0BA7E0 7F085C70 46081182 */ mul.s $f6, $f2, $f8 -/* 0BA7E4 7F085C74 00000000 */ nop -/* 0BA7E8 7F085C78 460A0102 */ mul.s $f4, $f0, $f10 -/* 0BA7EC 7F085C7C C50A048C */ lwc1 $f10, 0x48c($t0) -/* 0BA7F0 7F085C80 E7B403B0 */ swc1 $f20, 0x3b0($sp) -/* 0BA7F4 7F085C84 46043200 */ add.s $f8, $f6, $f4 -/* 0BA7F8 7F085C88 C4640008 */ lwc1 $f4, 8($v1) -/* 0BA7FC 7F085C8C 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BA800 7F085C90 46041202 */ mul.s $f8, $f2, $f4 -/* 0BA804 7F085C94 C7AA0264 */ lwc1 $f10, 0x264($sp) -/* 0BA808 7F085C98 E7A603AC */ swc1 $f6, 0x3ac($sp) -/* 0BA80C 7F085C9C 460A0182 */ mul.s $f6, $f0, $f10 -/* 0BA810 7F085CA0 C50A0494 */ lwc1 $f10, 0x494($t0) -/* 0BA814 7F085CA4 46064100 */ add.s $f4, $f8, $f6 -/* 0BA818 7F085CA8 460A2201 */ sub.s $f8, $f4, $f10 -/* 0BA81C 7F085CAC E7A803B4 */ swc1 $f8, 0x3b4($sp) -.Ljp7F085CB0: -/* 0BA820 7F085CB0 3C108008 */ lui $s0, %hi(flt_CODE_bss_800799BC) # $s0, 0x8008 -/* 0BA824 7F085CB4 261099FC */ addiu $s0, %lo(flt_CODE_bss_800799BC) # addiu $s0, $s0, -0x6604 -/* 0BA828 7F085CB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA82C 7F085CBC 44812000 */ mtc1 $at, $f4 -/* 0BA830 7F085CC0 C6060000 */ lwc1 $f6, ($s0) -/* 0BA834 7F085CC4 8E280000 */ lw $t0, ($s1) -/* 0BA838 7F085CC8 3C018008 */ lui $at, %hi(dword_CODE_bss_800799B8) -/* 0BA83C 7F085CCC 4606203E */ c.le.s $f4, $f6 -/* 0BA840 7F085CD0 240C0001 */ li $t4, 1 -/* 0BA844 7F085CD4 450200EF */ bc1fl .Ljp7F086094 -/* 0BA848 7F085CD8 3C013F40 */ lui $at, %hi(0x3F3F99F8) # $at, 0x3f40 -/* 0BA84C 7F085CDC 100000EC */ b .Ljp7F086090 -/* 0BA850 7F085CE0 AC2C99F8 */ sw $t4, %lo(dword_CODE_bss_800799B8)($at) -.Ljp7F085CE4: -/* 0BA854 7F085CE4 1441001A */ bne $v0, $at, .Ljp7F085D50 -/* 0BA858 7F085CE8 3C108003 */ lui $s0, %hi(SFX_80036458) # $s0, 0x8003 -/* 0BA85C 7F085CEC 240B0002 */ li $t3, 2 -/* 0BA860 7F085CF0 3C018008 */ lui $at, %hi(dword_CODE_bss_800799B8) # $at, 0x8008 -/* 0BA864 7F085CF4 26106498 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6498 -/* 0BA868 7F085CF8 AC2B99F8 */ sw $t3, %lo(dword_CODE_bss_800799B8)($at) -/* 0BA86C 7F085CFC 8E0D0000 */ lw $t5, ($s0) -/* 0BA870 7F085D00 55A0000A */ bnezl $t5, .Ljp7F085D2C -/* 0BA874 7F085D04 8E040000 */ lw $a0, ($s0) -/* 0BA878 7F085D08 0FC3021B */ jal get_controls_locked_flag -/* 0BA87C 7F085D0C 00000000 */ nop -/* 0BA880 7F085D10 14400005 */ bnez $v0, .Ljp7F085D28 -/* 0BA884 7F085D14 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0BA888 7F085D18 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BA88C 7F085D1C 24050042 */ li $a1, 66 -/* 0BA890 7F085D20 0C002386 */ jal play_sfx_a1 -/* 0BA894 7F085D24 02003025 */ move $a2, $s0 -.Ljp7F085D28: -/* 0BA898 7F085D28 8E040000 */ lw $a0, ($s0) -.Ljp7F085D2C: -/* 0BA89C 7F085D2C 24050008 */ li $a1, 8 -/* 0BA8A0 7F085D30 0C002465 */ jal sfx_c_70009184 -/* 0BA8A4 7F085D34 240661A8 */ li $a2, 25000 -/* 0BA8A8 7F085D38 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799B4) # $v0, 0x8008 -/* 0BA8AC 7F085D3C 244299F4 */ addiu $v0, %lo(dword_CODE_bss_800799B4) # addiu $v0, $v0, -0x660c -/* 0BA8B0 7F085D40 240E61A8 */ li $t6, 25000 -/* 0BA8B4 7F085D44 AC4E0000 */ sw $t6, ($v0) -/* 0BA8B8 7F085D48 100000D1 */ b .Ljp7F086090 -/* 0BA8BC 7F085D4C 8E280000 */ lw $t0, ($s1) -.Ljp7F085D50: -/* 0BA8C0 7F085D50 8E280000 */ lw $t0, ($s1) -/* 0BA8C4 7F085D54 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0BA8C8 7F085D58 44814000 */ mtc1 $at, $f8 -/* 0BA8CC 7F085D5C C50A0174 */ lwc1 $f10, 0x174($t0) -/* 0BA8D0 7F085D60 3C018005 */ lui $at, %hi(D_800551E8) # $at, 0x8005 -/* 0BA8D4 7F085D64 C4245218 */ lwc1 $f4, %lo(D_800551E8)($at) -/* 0BA8D8 7F085D68 46085003 */ div.s $f0, $f10, $f8 -/* 0BA8DC 7F085D6C C506014C */ lwc1 $f6, 0x14c($t0) -/* 0BA8E0 7F085D70 46043083 */ div.s $f2, $f6, $f4 -/* 0BA8E4 7F085D74 4614003C */ c.lt.s $f0, $f20 -/* 0BA8E8 7F085D78 00000000 */ nop -/* 0BA8EC 7F085D7C 45020003 */ bc1fl .Ljp7F085D8C -/* 0BA8F0 7F085D80 4614103C */ c.lt.s $f2, $f20 -/* 0BA8F4 7F085D84 46000007 */ neg.s $f0, $f0 -/* 0BA8F8 7F085D88 4614103C */ c.lt.s $f2, $f20 -.Ljp7F085D8C: -/* 0BA8FC 7F085D8C 00000000 */ nop -/* 0BA900 7F085D90 45020003 */ bc1fl .Ljp7F085DA0 -/* 0BA904 7F085D94 4602003C */ c.lt.s $f0, $f2 -/* 0BA908 7F085D98 46001087 */ neg.s $f2, $f2 -/* 0BA90C 7F085D9C 4602003C */ c.lt.s $f0, $f2 -.Ljp7F085DA0: -/* 0BA910 7F085DA0 46000306 */ mov.s $f12, $f0 -/* 0BA914 7F085DA4 45020003 */ bc1fl .Ljp7F085DB4 -/* 0BA918 7F085DA8 460CA03C */ c.lt.s $f20, $f12 -/* 0BA91C 7F085DAC 46001306 */ mov.s $f12, $f2 -/* 0BA920 7F085DB0 460CA03C */ c.lt.s $f20, $f12 -.Ljp7F085DB4: -/* 0BA924 7F085DB4 00000000 */ nop -/* 0BA928 7F085DB8 45000043 */ bc1f .Ljp7F085EC8 -/* 0BA92C 7F085DBC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA930 7F085DC0 44815000 */ mtc1 $at, $f10 -/* 0BA934 7F085DC4 3C108003 */ lui $s0, %hi(SFX_80036458) # $s0, 0x8003 -/* 0BA938 7F085DC8 26106498 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6498 -/* 0BA93C 7F085DCC 460C503C */ c.lt.s $f10, $f12 -/* 0BA940 7F085DD0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BA944 7F085DD4 45020004 */ bc1fl .Ljp7F085DE8 -/* 0BA948 7F085DD8 8E180004 */ lw $t8, 4($s0) -/* 0BA94C 7F085DDC 44816000 */ mtc1 $at, $f12 -/* 0BA950 7F085DE0 00000000 */ nop -/* 0BA954 7F085DE4 8E180004 */ lw $t8, 4($s0) -.Ljp7F085DE8: -/* 0BA958 7F085DE8 5700000E */ bnezl $t8, .Ljp7F085E24 -/* 0BA95C 7F085DEC 8E040004 */ lw $a0, 4($s0) -/* 0BA960 7F085DF0 0FC3021B */ jal get_controls_locked_flag -/* 0BA964 7F085DF4 E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA968 7F085DF8 14400009 */ bnez $v0, .Ljp7F085E20 -/* 0BA96C 7F085DFC C7AC0244 */ lwc1 $f12, 0x244($sp) -/* 0BA970 7F085E00 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0BA974 7F085E04 3C068003 */ lui $a2, %hi(SFX_8003645C) # $a2, 0x8003 -/* 0BA978 7F085E08 24C6649C */ addiu $a2, %lo(SFX_8003645C) # addiu $a2, $a2, 0x649c -/* 0BA97C 7F085E0C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BA980 7F085E10 2405003E */ li $a1, 62 -/* 0BA984 7F085E14 0C002386 */ jal play_sfx_a1 -/* 0BA988 7F085E18 E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BA98C 7F085E1C C7AC0244 */ lwc1 $f12, 0x244($sp) -.Ljp7F085E20: -/* 0BA990 7F085E20 8E040004 */ lw $a0, 4($s0) -.Ljp7F085E24: -/* 0BA994 7F085E24 3C018005 */ lui $at, %hi(D_800551EC) # $at, 0x8005 -/* 0BA998 7F085E28 24050008 */ li $a1, 8 -/* 0BA99C 7F085E2C 50800034 */ beql $a0, $zero, .Ljp7F085F00 -/* 0BA9A0 7F085E30 8E190000 */ lw $t9, ($s0) -/* 0BA9A4 7F085E34 C420521C */ lwc1 $f0, %lo(D_800551EC)($at) -/* 0BA9A8 7F085E38 24067FFF */ li $a2, 32767 -/* 0BA9AC 7F085E3C 3C018005 */ lui $at, 0x8005 -/* 0BA9B0 7F085E40 4600603C */ c.lt.s $f12, $f0 -/* 0BA9B4 7F085E44 00000000 */ nop -/* 0BA9B8 7F085E48 45000009 */ bc1f .Ljp7F085E70 -/* 0BA9BC 7F085E4C 00000000 */ nop -/* 0BA9C0 7F085E50 3C018005 */ lui $at, %hi(D_800551F0) # $at, 0x8005 -/* 0BA9C4 7F085E54 C4285220 */ lwc1 $f8, %lo(D_800551F0)($at) -/* 0BA9C8 7F085E58 46086182 */ mul.s $f6, $f12, $f8 -/* 0BA9CC 7F085E5C 46003103 */ div.s $f4, $f6, $f0 -/* 0BA9D0 7F085E60 4600228D */ trunc.w.s $f10, $f4 -/* 0BA9D4 7F085E64 44065000 */ mfc1 $a2, $f10 -/* 0BA9D8 7F085E68 10000013 */ b .Ljp7F085EB8 -/* 0BA9DC 7F085E6C 00000000 */ nop -.Ljp7F085E70: -/* 0BA9E0 7F085E70 C4285224 */ lwc1 $f8, %lo(D_800551F4)($at) -/* 0BA9E4 7F085E74 3C018005 */ lui $at, %hi(D_800551F4) # $at, 0x8005 -/* 0BA9E8 7F085E78 4608603C */ c.lt.s $f12, $f8 -/* 0BA9EC 7F085E7C 00000000 */ nop -/* 0BA9F0 7F085E80 4500000D */ bc1f .Ljp7F085EB8 -/* 0BA9F4 7F085E84 00000000 */ nop -/* 0BA9F8 7F085E88 46006181 */ sub.s $f6, $f12, $f0 -/* 0BA9FC 7F085E8C C4245228 */ lwc1 $f4, %lo(D_800551F8)($at) -/* 0BAA00 7F085E90 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0BAA04 7F085E94 44814000 */ mtc1 $at, $f8 -/* 0BAA08 7F085E98 46043282 */ mul.s $f10, $f6, $f4 -/* 0BAA0C 7F085E9C 3C018005 */ lui $at, %hi(D_800551FC) # $at, 0x8005 -/* 0BAA10 7F085EA0 C424522C */ lwc1 $f4, %lo(D_800551FC)($at) -/* 0BAA14 7F085EA4 46085183 */ div.s $f6, $f10, $f8 -/* 0BAA18 7F085EA8 46043280 */ add.s $f10, $f6, $f4 -/* 0BAA1C 7F085EAC 4600520D */ trunc.w.s $f8, $f10 -/* 0BAA20 7F085EB0 44064000 */ mfc1 $a2, $f8 -/* 0BAA24 7F085EB4 00000000 */ nop -.Ljp7F085EB8: -/* 0BAA28 7F085EB8 0C002465 */ jal sfx_c_70009184 -/* 0BAA2C 7F085EBC E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BAA30 7F085EC0 1000000E */ b .Ljp7F085EFC -/* 0BAA34 7F085EC4 C7AC0244 */ lwc1 $f12, 0x244($sp) -.Ljp7F085EC8: -/* 0BAA38 7F085EC8 3C108003 */ lui $s0, %hi(SFX_80036458) # $s0, 0x8003 -/* 0BAA3C 7F085ECC 26106498 */ addiu $s0, %lo(SFX_80036458) # addiu $s0, $s0, 0x6498 -/* 0BAA40 7F085ED0 8E040004 */ lw $a0, 4($s0) -/* 0BAA44 7F085ED4 5080000A */ beql $a0, $zero, .Ljp7F085F00 -/* 0BAA48 7F085ED8 8E190000 */ lw $t9, ($s0) -/* 0BAA4C 7F085EDC 0C002380 */ jal sfxGetArg0Unk3F -/* 0BAA50 7F085EE0 E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BAA54 7F085EE4 10400005 */ beqz $v0, .Ljp7F085EFC -/* 0BAA58 7F085EE8 C7AC0244 */ lwc1 $f12, 0x244($sp) -/* 0BAA5C 7F085EEC 8E040004 */ lw $a0, 4($s0) -/* 0BAA60 7F085EF0 0C00240C */ jal sfxDeactivate -/* 0BAA64 7F085EF4 E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BAA68 7F085EF8 C7AC0244 */ lwc1 $f12, 0x244($sp) -.Ljp7F085EFC: -/* 0BAA6C 7F085EFC 8E190000 */ lw $t9, ($s0) -.Ljp7F085F00: -/* 0BAA70 7F085F00 5720000D */ bnezl $t9, .Ljp7F085F38 -/* 0BAA74 7F085F04 8E040000 */ lw $a0, ($s0) -/* 0BAA78 7F085F08 0FC3021B */ jal get_controls_locked_flag -/* 0BAA7C 7F085F0C E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BAA80 7F085F10 14400008 */ bnez $v0, .Ljp7F085F34 -/* 0BAA84 7F085F14 C7AC0244 */ lwc1 $f12, 0x244($sp) -/* 0BAA88 7F085F18 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0BAA8C 7F085F1C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BAA90 7F085F20 24050041 */ li $a1, 65 -/* 0BAA94 7F085F24 02003025 */ move $a2, $s0 -/* 0BAA98 7F085F28 0C002386 */ jal play_sfx_a1 -/* 0BAA9C 7F085F2C E7AC0244 */ swc1 $f12, 0x244($sp) -/* 0BAAA0 7F085F30 C7AC0244 */ lwc1 $f12, 0x244($sp) -.Ljp7F085F34: -/* 0BAAA4 7F085F34 8E040000 */ lw $a0, ($s0) -.Ljp7F085F38: -/* 0BAAA8 7F085F38 1080001A */ beqz $a0, .Ljp7F085FA4 -/* 0BAAAC 7F085F3C 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799B4) # $v0, 0x8008 -/* 0BAAB0 7F085F40 244299F4 */ addiu $v0, %lo(dword_CODE_bss_800799B4) # addiu $v0, $v0, -0x660c -/* 0BAAB4 7F085F44 240C7FFF */ li $t4, 32767 -/* 0BAAB8 7F085F48 AC4C0000 */ sw $t4, ($v0) -/* 0BAABC 7F085F4C 3C018005 */ lui $at, %hi(D_80055200) # $at, 0x8005 -/* 0BAAC0 7F085F50 C4265230 */ lwc1 $f6, %lo(D_80055200)($at) -/* 0BAAC4 7F085F54 3C018005 */ lui $at, %hi(D_80055204) # $at, 0x8005 -/* 0BAAC8 7F085F58 24050008 */ li $a1, 8 -/* 0BAACC 7F085F5C 4606603C */ c.lt.s $f12, $f6 -/* 0BAAD0 7F085F60 00000000 */ nop -/* 0BAAD4 7F085F64 4500000D */ bc1f .Ljp7F085F9C -/* 0BAAD8 7F085F68 00000000 */ nop -/* 0BAADC 7F085F6C C4245234 */ lwc1 $f4, %lo(D_80055204)($at) -/* 0BAAE0 7F085F70 3C018005 */ lui $at, %hi(D_80055208) # $at, 0x8005 -/* 0BAAE4 7F085F74 C4285238 */ lwc1 $f8, %lo(D_80055208)($at) -/* 0BAAE8 7F085F78 46046282 */ mul.s $f10, $f12, $f4 -/* 0BAAEC 7F085F7C 3C018005 */ lui $at, %hi(D_8005520C) # $at, 0x8005 -/* 0BAAF0 7F085F80 C424523C */ lwc1 $f4, %lo(D_8005520C)($at) -/* 0BAAF4 7F085F84 46085183 */ div.s $f6, $f10, $f8 -/* 0BAAF8 7F085F88 46043280 */ add.s $f10, $f6, $f4 -/* 0BAAFC 7F085F8C 4600520D */ trunc.w.s $f8, $f10 -/* 0BAB00 7F085F90 440D4000 */ mfc1 $t5, $f8 -/* 0BAB04 7F085F94 00000000 */ nop -/* 0BAB08 7F085F98 AC4D0000 */ sw $t5, ($v0) -.Ljp7F085F9C: -/* 0BAB0C 7F085F9C 0C002465 */ jal sfx_c_70009184 -/* 0BAB10 7F085FA0 8C460000 */ lw $a2, ($v0) -.Ljp7F085FA4: -/* 0BAB14 7F085FA4 0FC177BC */ jal get_item_in_hand -/* 0BAB18 7F085FA8 00002025 */ move $a0, $zero -/* 0BAB1C 7F085FAC 24010020 */ li $at, 32 -/* 0BAB20 7F085FB0 14410007 */ bne $v0, $at, .Ljp7F085FD0 -/* 0BAB24 7F085FB4 3C048005 */ lui $a0, %hi(clock_timer) # $a0, 0x8005 -/* 0BAB28 7F085FB8 8E280000 */ lw $t0, ($s1) -/* 0BAB2C 7F085FBC 3C018005 */ lui $at, %hi(D_80055210) # $at, 0x8005 -/* 0BAB30 7F085FC0 C4265240 */ lwc1 $f6, %lo(D_80055210)($at) -/* 0BAB34 7F085FC4 C5022A08 */ lwc1 $f2, 0x2a08($t0) -/* 0BAB38 7F085FC8 10000004 */ b .Ljp7F085FDC -/* 0BAB3C 7F085FCC 46061080 */ add.s $f2, $f2, $f6 -.Ljp7F085FD0: -/* 0BAB40 7F085FD0 3C018003 */ lui $at, %hi(D_8003646C) # $at, 0x8003 -/* 0BAB44 7F085FD4 C42264AC */ lwc1 $f2, %lo(D_8003646C)($at) -/* 0BAB48 7F085FD8 8E280000 */ lw $t0, ($s1) -.Ljp7F085FDC: -/* 0BAB4C 7F085FDC 3C018005 */ lui $at, %hi(D_80055214) # $at, 0x8005 -/* 0BAB50 7F085FE0 C4205244 */ lwc1 $f0, %lo(D_80055214)($at) -/* 0BAB54 7F085FE4 3C018005 */ lui $at, %hi(D_80055218) # $at, 0x8005 -/* 0BAB58 7F085FE8 4602003C */ c.lt.s $f0, $f2 -/* 0BAB5C 7F085FEC 00000000 */ nop -/* 0BAB60 7F085FF0 45000002 */ bc1f .Ljp7F085FFC -/* 0BAB64 7F085FF4 00000000 */ nop -/* 0BAB68 7F085FF8 46000086 */ mov.s $f2, $f0 -.Ljp7F085FFC: -/* 0BAB6C 7F085FFC C4205248 */ lwc1 $f0, %lo(D_80055218)($at) -/* 0BAB70 7F086000 4600103C */ c.lt.s $f2, $f0 -/* 0BAB74 7F086004 00000000 */ nop -/* 0BAB78 7F086008 45000002 */ bc1f .Ljp7F086014 -/* 0BAB7C 7F08600C 00000000 */ nop -/* 0BAB80 7F086010 46000086 */ mov.s $f2, $f0 -.Ljp7F086014: -/* 0BAB84 7F086014 8C8483A4 */ lw $a0, %lo(clock_timer)($a0) -/* 0BAB88 7F086018 00001025 */ move $v0, $zero -/* 0BAB8C 7F08601C 18800014 */ blez $a0, .Ljp7F086070 -/* 0BAB90 7F086020 3C018005 */ lui $at, %hi(D_8005521C) # $at, 0x8005 -/* 0BAB94 7F086024 3C038003 */ lui $v1, %hi(D_80036470) # $v1, 0x8003 -/* 0BAB98 7F086028 246364B0 */ addiu $v1, %lo(D_80036470) # addiu $v1, $v1, 0x64b0 -/* 0BAB9C 7F08602C C420524C */ lwc1 $f0, %lo(D_8005521C)($at) -/* 0BABA0 7F086030 C4700000 */ lwc1 $f16, ($v1) -/* 0BABA4 7F086034 24420001 */ addiu $v0, $v0, 1 -/* 0BABA8 7F086038 0044082A */ slt $at, $v0, $a0 -/* 0BABAC 7F08603C 46100482 */ mul.s $f18, $f0, $f16 -/* 0BABB0 7F086040 5020000A */ beql $at, $zero, .Ljp7F08606C -/* 0BABB4 7F086044 46029400 */ add.s $f16, $f18, $f2 -/* 0BABB8 7F086048 46029400 */ add.s $f16, $f18, $f2 -.Ljp7F08604C: -/* 0BABBC 7F08604C 24420001 */ addiu $v0, $v0, 1 -/* 0BABC0 7F086050 0044082A */ slt $at, $v0, $a0 -/* 0BABC4 7F086054 E4700000 */ swc1 $f16, ($v1) -/* 0BABC8 7F086058 C4700000 */ lwc1 $f16, ($v1) -/* 0BABCC 7F08605C 46100482 */ mul.s $f18, $f0, $f16 -/* 0BABD0 7F086060 5420FFFA */ bnezl $at, .Ljp7F08604C -/* 0BABD4 7F086064 46029400 */ add.s $f16, $f18, $f2 -/* 0BABD8 7F086068 46029400 */ add.s $f16, $f18, $f2 -.Ljp7F08606C: -/* 0BABDC 7F08606C E4700000 */ swc1 $f16, ($v1) -.Ljp7F086070: -/* 0BABE0 7F086070 3C038003 */ lui $v1, %hi(D_80036470) # $v1, 0x8003 -/* 0BABE4 7F086074 246364B0 */ addiu $v1, %lo(D_80036470) # addiu $v1, $v1, 0x64b0 -/* 0BABE8 7F086078 3C018005 */ lui $at, %hi(D_80055220) # $at, 0x8005 -/* 0BABEC 7F08607C C4245250 */ lwc1 $f4, %lo(D_80055220)($at) -/* 0BABF0 7F086080 C4660000 */ lwc1 $f6, ($v1) -/* 0BABF4 7F086084 3C018003 */ lui $at, %hi(D_8003646C) # $at, 0x8003 -/* 0BABF8 7F086088 46043282 */ mul.s $f10, $f6, $f4 -/* 0BABFC 7F08608C E42A64AC */ swc1 $f10, %lo(D_8003646C)($at) -.Ljp7F086090: -/* 0BAC00 7F086090 3C013F40 */ li $at, 0x3F400000 # 0.750000 -.Ljp7F086094: -/* 0BAC04 7F086094 44810000 */ mtc1 $at, $f0 -/* 0BAC08 7F086098 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BAC0C 7F08609C C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0BAC10 7F0860A0 3C018005 */ lui $at, %hi(D_80055224) # $at, 0x8005 -/* 0BAC14 7F0860A4 C4245254 */ lwc1 $f4, %lo(D_80055224)($at) -/* 0BAC18 7F0860A8 46080182 */ mul.s $f6, $f0, $f8 -/* 0BAC1C 7F0860AC C508019C */ lwc1 $f8, 0x19c($t0) -/* 0BAC20 7F0860B0 4406A000 */ mfc1 $a2, $f20 -/* 0BAC24 7F0860B4 4600A306 */ mov.s $f12, $f20 -/* 0BAC28 7F0860B8 46043283 */ div.s $f10, $f6, $f4 -/* 0BAC2C 7F0860BC 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BAC30 7F0860C0 E506019C */ swc1 $f6, 0x19c($t0) -/* 0BAC34 7F0860C4 8E280000 */ lw $t0, ($s1) -/* 0BAC38 7F0860C8 C504019C */ lwc1 $f4, 0x19c($t0) -/* 0BAC3C 7F0860CC 4614203C */ c.lt.s $f4, $f20 -/* 0BAC40 7F0860D0 00000000 */ nop -/* 0BAC44 7F0860D4 45000002 */ bc1f .Ljp7F0860E0 -/* 0BAC48 7F0860D8 00000000 */ nop -/* 0BAC4C 7F0860DC E514019C */ swc1 $f20, 0x19c($t0) -.Ljp7F0860E0: -/* 0BAC50 7F0860E0 0FC20451 */ jal sub_GAME_7F080B34 -/* 0BAC54 7F0860E4 4600A386 */ mov.s $f14, $f20 -/* 0BAC58 7F0860E8 3C018005 */ lui $at, %hi(D_80055228) # $at, 0x8005 -/* 0BAC5C 7F0860EC C4285258 */ lwc1 $f8, %lo(D_80055228)($at) -/* 0BAC60 7F0860F0 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0BAC64 7F0860F4 C42A64A4 */ lwc1 $f10, %lo(D_80036464)($at) -/* 0BAC68 7F0860F8 0FC160F3 */ jal sinf -/* 0BAC6C 7F0860FC 460A4301 */ sub.s $f12, $f8, $f10 -/* 0BAC70 7F086100 8E2E0000 */ lw $t6, ($s1) -/* 0BAC74 7F086104 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BAC78 7F086108 C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0BAC7C 7F08610C C5C60174 */ lwc1 $f6, 0x174($t6) -/* 0BAC80 7F086110 3C018005 */ lui $at, %hi(D_8005522C) # $at, 0x8005 -/* 0BAC84 7F086114 46003102 */ mul.s $f4, $f6, $f0 -/* 0BAC88 7F086118 C7A603AC */ lwc1 $f6, 0x3ac($sp) -/* 0BAC8C 7F08611C 46082282 */ mul.s $f10, $f4, $f8 -/* 0BAC90 7F086120 C428525C */ lwc1 $f8, %lo(D_8005522C)($at) -/* 0BAC94 7F086124 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0BAC98 7F086128 460A3100 */ add.s $f4, $f6, $f10 -/* 0BAC9C 7F08612C C42664A4 */ lwc1 $f6, %lo(D_80036464)($at) -/* 0BACA0 7F086130 E7A403AC */ swc1 $f4, 0x3ac($sp) -/* 0BACA4 7F086134 0FC160F0 */ jal cosf -/* 0BACA8 7F086138 46064301 */ sub.s $f12, $f8, $f6 -/* 0BACAC 7F08613C 8E380000 */ lw $t8, ($s1) -/* 0BACB0 7F086140 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BACB4 7F086144 C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0BACB8 7F086148 C70A0174 */ lwc1 $f10, 0x174($t8) -/* 0BACBC 7F08614C 27A403AC */ addiu $a0, $sp, 0x3ac -/* 0BACC0 7F086150 24050001 */ li $a1, 1 -/* 0BACC4 7F086154 46005102 */ mul.s $f4, $f10, $f0 -/* 0BACC8 7F086158 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BACCC 7F08615C 46082182 */ mul.s $f6, $f4, $f8 -/* 0BACD0 7F086160 46065100 */ add.s $f4, $f10, $f6 -/* 0BACD4 7F086164 0FC1F7E1 */ jal sub_GAME_7F07D960 -/* 0BACD8 7F086168 E7A403B4 */ swc1 $f4, 0x3b4($sp) -/* 0BACDC 7F08616C 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_800799B8) # $t7, 0x8008 -/* 0BACE0 7F086170 8DEF99F8 */ lw $t7, %lo(dword_CODE_bss_800799B8)($t7) -/* 0BACE4 7F086174 24010002 */ li $at, 2 -/* 0BACE8 7F086178 3C0A8005 */ lui $t2, %hi(clock_timer) # $t2, 0x8005 -/* 0BACEC 7F08617C 55E10238 */ bnel $t7, $at, .Ljp7F086A60 -/* 0BACF0 7F086180 8E280000 */ lw $t0, ($s1) -/* 0BACF4 7F086184 8D4A83A4 */ lw $t2, %lo(clock_timer)($t2) -/* 0BACF8 7F086188 59400235 */ blezl $t2, .Ljp7F086A60 -/* 0BACFC 7F08618C 8E280000 */ lw $t0, ($s1) -/* 0BAD00 7F086190 8E280000 */ lw $t0, ($s1) -/* 0BAD04 7F086194 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BAD08 7F086198 C42E83B4 */ lwc1 $f14, %lo(global_timer_delta)($at) -/* 0BAD0C 7F08619C C508048C */ lwc1 $f8, 0x48c($t0) -/* 0BAD10 7F0861A0 C50A0408 */ lwc1 $f10, 0x408($t0) -/* 0BAD14 7F0861A4 C5040494 */ lwc1 $f4, 0x494($t0) -/* 0BAD18 7F0861A8 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BAD1C 7F0861AC C5080410 */ lwc1 $f8, 0x410($t0) -/* 0BAD20 7F0861B0 46082281 */ sub.s $f10, $f4, $f8 -/* 0BAD24 7F0861B4 460E3003 */ div.s $f0, $f6, $f14 -/* 0BAD28 7F0861B8 460E5083 */ div.s $f2, $f10, $f14 -/* 0BAD2C 7F0861BC 46000182 */ mul.s $f6, $f0, $f0 -/* 0BAD30 7F0861C0 00000000 */ nop -/* 0BAD34 7F0861C4 46021102 */ mul.s $f4, $f2, $f2 -/* 0BAD38 7F0861C8 0C007E08 */ jal sqrtf -/* 0BAD3C 7F0861CC 46043300 */ add.s $f12, $f6, $f4 -/* 0BAD40 7F0861D0 8E280000 */ lw $t0, ($s1) -/* 0BAD44 7F0861D4 46000086 */ mov.s $f2, $f0 -/* 0BAD48 7F0861D8 C5080174 */ lwc1 $f8, 0x174($t0) -/* 0BAD4C 7F0861DC 4614403C */ c.lt.s $f8, $f20 -/* 0BAD50 7F0861E0 00000000 */ nop -/* 0BAD54 7F0861E4 45000002 */ bc1f .Ljp7F0861F0 -/* 0BAD58 7F0861E8 00000000 */ nop -/* 0BAD5C 7F0861EC 46000087 */ neg.s $f2, $f0 -.Ljp7F0861F0: -/* 0BAD60 7F0861F0 1000021A */ b .Ljp7F086A5C -/* 0BAD64 7F0861F4 E5020174 */ swc1 $f2, 0x174($t0) -.Ljp7F0861F8: -/* 0BAD68 7F0861F8 8E040000 */ lw $a0, ($s0) -/* 0BAD6C 7F0861FC 5080001A */ beql $a0, $zero, .Ljp7F086268 -/* 0BAD70 7F086200 8E040004 */ lw $a0, 4($s0) -/* 0BAD74 7F086204 0C002380 */ jal sfxGetArg0Unk3F -/* 0BAD78 7F086208 00000000 */ nop -/* 0BAD7C 7F08620C 10400015 */ beqz $v0, .Ljp7F086264 -/* 0BAD80 7F086210 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0BAD84 7F086214 44815000 */ mtc1 $at, $f10 -/* 0BAD88 7F086218 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BAD8C 7F08621C C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 0BAD90 7F086220 3C028008 */ lui $v0, %hi(dword_CODE_bss_800799B4) # $v0, 0x8008 -/* 0BAD94 7F086224 244299F4 */ addiu $v0, %lo(dword_CODE_bss_800799B4) # addiu $v0, $v0, -0x660c -/* 0BAD98 7F086228 46065102 */ mul.s $f4, $f10, $f6 -/* 0BAD9C 7F08622C 8C4B0000 */ lw $t3, ($v0) -/* 0BADA0 7F086230 24050008 */ li $a1, 8 -/* 0BADA4 7F086234 4600220D */ trunc.w.s $f8, $f4 -/* 0BADA8 7F086238 440C4000 */ mfc1 $t4, $f8 -/* 0BADAC 7F08623C 00000000 */ nop -/* 0BADB0 7F086240 016C3023 */ subu $a2, $t3, $t4 -/* 0BADB4 7F086244 18C00005 */ blez $a2, .Ljp7F08625C -/* 0BADB8 7F086248 AC460000 */ sw $a2, ($v0) -/* 0BADBC 7F08624C 0C002465 */ jal sfx_c_70009184 -/* 0BADC0 7F086250 8E040000 */ lw $a0, ($s0) -/* 0BADC4 7F086254 10000004 */ b .Ljp7F086268 -/* 0BADC8 7F086258 8E040004 */ lw $a0, 4($s0) -.Ljp7F08625C: -/* 0BADCC 7F08625C 0C00240C */ jal sfxDeactivate -/* 0BADD0 7F086260 8E040000 */ lw $a0, ($s0) -.Ljp7F086264: -/* 0BADD4 7F086264 8E040004 */ lw $a0, 4($s0) -.Ljp7F086268: -/* 0BADD8 7F086268 10800007 */ beqz $a0, .Ljp7F086288 -/* 0BADDC 7F08626C 00000000 */ nop -/* 0BADE0 7F086270 0C002380 */ jal sfxGetArg0Unk3F -/* 0BADE4 7F086274 00000000 */ nop -/* 0BADE8 7F086278 10400003 */ beqz $v0, .Ljp7F086288 -/* 0BADEC 7F08627C 00000000 */ nop -/* 0BADF0 7F086280 0C00240C */ jal sfxDeactivate -/* 0BADF4 7F086284 8E040004 */ lw $a0, 4($s0) -.Ljp7F086288: -/* 0BADF8 7F086288 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BADFC 7F08628C C42E83B4 */ lwc1 $f14, %lo(global_timer_delta)($at) -/* 0BAE00 7F086290 3C018003 */ lui $at, %hi(D_80036AF4) # $at, 0x8003 -/* 0BAE04 7F086294 C42A6B24 */ lwc1 $f10, %lo(D_80036AF4)($at) -/* 0BAE08 7F086298 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BAE0C 7F08629C 44813000 */ mtc1 $at, $f6 -/* 0BAE10 7F0862A0 8E280000 */ lw $t0, ($s1) -/* 0BAE14 7F0862A4 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0BAE18 7F0862A8 46065102 */ mul.s $f4, $f10, $f6 -/* 0BAE1C 7F0862AC C508016C */ lwc1 $f8, 0x16c($t0) -/* 0BAE20 7F0862B0 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 0BAE24 7F0862B4 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0BAE28 7F0862B8 460E2302 */ mul.s $f12, $f4, $f14 -/* 0BAE2C 7F0862BC 00000000 */ nop -/* 0BAE30 7F0862C0 460C5182 */ mul.s $f6, $f10, $f12 -/* 0BAE34 7F0862C4 E7A603A0 */ swc1 $f6, 0x3a0($sp) -/* 0BAE38 7F0862C8 C5001274 */ lwc1 $f0, 0x1274($t0) -/* 0BAE3C 7F0862CC C50404A0 */ lwc1 $f4, 0x4a0($t0) -/* 0BAE40 7F0862D0 C5061278 */ lwc1 $f6, 0x1278($t0) -/* 0BAE44 7F0862D4 46000207 */ neg.s $f8, $f0 -/* 0BAE48 7F0862D8 C50A0498 */ lwc1 $f10, 0x498($t0) -/* 0BAE4C 7F0862DC 46082402 */ mul.s $f16, $f4, $f8 -/* 0BAE50 7F0862E0 46068101 */ sub.s $f4, $f16, $f6 -/* 0BAE54 7F0862E4 46005482 */ mul.s $f18, $f10, $f0 -/* 0BAE58 7F0862E8 E7A40220 */ swc1 $f4, 0x220($sp) -/* 0BAE5C 7F0862EC C508127C */ lwc1 $f8, 0x127c($t0) -/* 0BAE60 7F0862F0 C7A60220 */ lwc1 $f6, 0x220($sp) -/* 0BAE64 7F0862F4 46089281 */ sub.s $f10, $f18, $f8 -/* 0BAE68 7F0862F8 46063102 */ mul.s $f4, $f6, $f6 -/* 0BAE6C 7F0862FC E7AA021C */ swc1 $f10, 0x21c($sp) -/* 0BAE70 7F086300 C7A8021C */ lwc1 $f8, 0x21c($sp) -/* 0BAE74 7F086304 46084282 */ mul.s $f10, $f8, $f8 -/* 0BAE78 7F086308 460A2080 */ add.s $f2, $f4, $f10 -/* 0BAE7C 7F08630C 44812000 */ mtc1 $at, $f4 -/* 0BAE80 7F086310 00000000 */ nop -/* 0BAE84 7F086314 4602203E */ c.le.s $f4, $f2 -/* 0BAE88 7F086318 E7A20218 */ swc1 $f2, 0x218($sp) -/* 0BAE8C 7F08631C 45000008 */ bc1f .Ljp7F086340 -/* 0BAE90 7F086320 00000000 */ nop -/* 0BAE94 7F086324 3C018005 */ lui $at, %hi(D_80055230) # $at, 0x8005 -/* 0BAE98 7F086328 C4205260 */ lwc1 $f0, %lo(D_80055230)($at) -/* 0BAE9C 7F08632C 46003282 */ mul.s $f10, $f6, $f0 -/* 0BAEA0 7F086330 00000000 */ nop -/* 0BAEA4 7F086334 46004102 */ mul.s $f4, $f8, $f0 -/* 0BAEA8 7F086338 E7AA0220 */ swc1 $f10, 0x220($sp) -/* 0BAEAC 7F08633C E7A4021C */ swc1 $f4, 0x21c($sp) -.Ljp7F086340: -/* 0BAEB0 7F086340 3C018005 */ lui $at, %hi(D_80055234) # $at, 0x8005 -/* 0BAEB4 7F086344 C4305264 */ lwc1 $f16, %lo(D_80055234)($at) -/* 0BAEB8 7F086348 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 0BAEBC 7F08634C C50A014C */ lwc1 $f10, 0x14c($t0) -/* 0BAEC0 7F086350 C5020174 */ lwc1 $f2, 0x174($t0) -/* 0BAEC4 7F086354 46103002 */ mul.s $f0, $f6, $f16 -/* 0BAEC8 7F086358 4614003C */ c.lt.s $f0, $f20 -/* 0BAECC 7F08635C 46105302 */ mul.s $f12, $f10, $f16 -/* 0BAED0 7F086360 45020003 */ bc1fl .Ljp7F086370 -/* 0BAED4 7F086364 4614103C */ c.lt.s $f2, $f20 -/* 0BAED8 7F086368 46000007 */ neg.s $f0, $f0 -/* 0BAEDC 7F08636C 4614103C */ c.lt.s $f2, $f20 -.Ljp7F086370: -/* 0BAEE0 7F086370 3C018005 */ lui $at, %hi(D_80055238) # $at, 0x8005 -/* 0BAEE4 7F086374 45020003 */ bc1fl .Ljp7F086384 -/* 0BAEE8 7F086378 4614603C */ c.lt.s $f12, $f20 -/* 0BAEEC 7F08637C 46001087 */ neg.s $f2, $f2 -/* 0BAEF0 7F086380 4614603C */ c.lt.s $f12, $f20 -.Ljp7F086384: -/* 0BAEF4 7F086384 00000000 */ nop -/* 0BAEF8 7F086388 45020003 */ bc1fl .Ljp7F086398 -/* 0BAEFC 7F08638C 4600103C */ c.lt.s $f2, $f0 -/* 0BAF00 7F086390 46006307 */ neg.s $f12, $f12 -/* 0BAF04 7F086394 4600103C */ c.lt.s $f2, $f0 -.Ljp7F086398: -/* 0BAF08 7F086398 E7A20398 */ swc1 $f2, 0x398($sp) -/* 0BAF0C 7F08639C 45020003 */ bc1fl .Ljp7F0863AC -/* 0BAF10 7F0863A0 C7A80398 */ lwc1 $f8, 0x398($sp) -/* 0BAF14 7F0863A4 E7A00398 */ swc1 $f0, 0x398($sp) -/* 0BAF18 7F0863A8 C7A80398 */ lwc1 $f8, 0x398($sp) -.Ljp7F0863AC: -/* 0BAF1C 7F0863AC 460C403C */ c.lt.s $f8, $f12 -/* 0BAF20 7F0863B0 00000000 */ nop -/* 0BAF24 7F0863B4 45020003 */ bc1fl .Ljp7F0863C4 -/* 0BAF28 7F0863B8 C7A40218 */ lwc1 $f4, 0x218($sp) -/* 0BAF2C 7F0863BC E7AC0398 */ swc1 $f12, 0x398($sp) -/* 0BAF30 7F0863C0 C7A40218 */ lwc1 $f4, 0x218($sp) -.Ljp7F0863C4: -/* 0BAF34 7F0863C4 C4265268 */ lwc1 $f6, %lo(D_80055238)($at) -/* 0BAF38 7F0863C8 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0BAF3C 7F0863CC 44810000 */ mtc1 $at, $f0 -/* 0BAF40 7F0863D0 4604303E */ c.le.s $f6, $f4 -/* 0BAF44 7F0863D4 00000000 */ nop -/* 0BAF48 7F0863D8 45020008 */ bc1fl .Ljp7F0863FC -/* 0BAF4C 7F0863DC C7A80398 */ lwc1 $f8, 0x398($sp) -/* 0BAF50 7F0863E0 C7AA0398 */ lwc1 $f10, 0x398($sp) -/* 0BAF54 7F0863E4 4610503C */ c.lt.s $f10, $f16 -/* 0BAF58 7F0863E8 00000000 */ nop -/* 0BAF5C 7F0863EC 45020003 */ bc1fl .Ljp7F0863FC -/* 0BAF60 7F0863F0 C7A80398 */ lwc1 $f8, 0x398($sp) -/* 0BAF64 7F0863F4 E7B00398 */ swc1 $f16, 0x398($sp) -/* 0BAF68 7F0863F8 C7A80398 */ lwc1 $f8, 0x398($sp) -.Ljp7F0863FC: -/* 0BAF6C 7F0863FC 4608003E */ c.le.s $f0, $f8 -/* 0BAF70 7F086400 00000000 */ nop -/* 0BAF74 7F086404 4502000B */ bc1fl .Ljp7F086434 -/* 0BAF78 7F086408 C7AA0398 */ lwc1 $f10, 0x398($sp) -/* 0BAF7C 7F08640C 46004101 */ sub.s $f4, $f8, $f0 -/* 0BAF80 7F086410 3C014461 */ li $at, 0x44610000 # 900.000000 -/* 0BAF84 7F086414 44815000 */ mtc1 $at, $f10 -/* 0BAF88 7F086418 460E2182 */ mul.s $f6, $f4, $f14 -/* 0BAF8C 7F08641C C504019C */ lwc1 $f4, 0x19c($t0) -/* 0BAF90 7F086420 460A3203 */ div.s $f8, $f6, $f10 -/* 0BAF94 7F086424 46082180 */ add.s $f6, $f4, $f8 -/* 0BAF98 7F086428 1000000A */ b .Ljp7F086454 -/* 0BAF9C 7F08642C E506019C */ swc1 $f6, 0x19c($t0) -/* 0BAFA0 7F086430 C7AA0398 */ lwc1 $f10, 0x398($sp) -.Ljp7F086434: -/* 0BAFA4 7F086434 3C018005 */ lui $at, %hi(D_8005523C) # $at, 0x8005 -/* 0BAFA8 7F086438 C426526C */ lwc1 $f6, %lo(D_8005523C)($at) -/* 0BAFAC 7F08643C 460A0101 */ sub.s $f4, $f0, $f10 -/* 0BAFB0 7F086440 460E2202 */ mul.s $f8, $f4, $f14 -/* 0BAFB4 7F086444 C504019C */ lwc1 $f4, 0x19c($t0) -/* 0BAFB8 7F086448 46064283 */ div.s $f10, $f8, $f6 -/* 0BAFBC 7F08644C 460A2201 */ sub.s $f8, $f4, $f10 -/* 0BAFC0 7F086450 E508019C */ swc1 $f8, 0x19c($t0) -.Ljp7F086454: -/* 0BAFC4 7F086454 8E280000 */ lw $t0, ($s1) -/* 0BAFC8 7F086458 C500019C */ lwc1 $f0, 0x19c($t0) -/* 0BAFCC 7F08645C 4614003C */ c.lt.s $f0, $f20 -/* 0BAFD0 7F086460 00000000 */ nop -/* 0BAFD4 7F086464 45020005 */ bc1fl .Ljp7F08647C -/* 0BAFD8 7F086468 3C013F80 */ lui $at, 0x3f80 -/* 0BAFDC 7F08646C E514019C */ swc1 $f20, 0x19c($t0) -/* 0BAFE0 7F086470 1000000C */ b .Ljp7F0864A4 -/* 0BAFE4 7F086474 8E280000 */ lw $t0, ($s1) -/* 0BAFE8 7F086478 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.Ljp7F08647C: -/* 0BAFEC 7F08647C 44813000 */ mtc1 $at, $f6 -/* 0BAFF0 7F086480 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BAFF4 7F086484 4600303C */ c.lt.s $f6, $f0 -/* 0BAFF8 7F086488 00000000 */ nop -/* 0BAFFC 7F08648C 45020006 */ bc1fl .Ljp7F0864A8 -/* 0BB000 7F086490 C7AC0398 */ lwc1 $f12, 0x398($sp) -/* 0BB004 7F086494 44812000 */ mtc1 $at, $f4 -/* 0BB008 7F086498 00000000 */ nop -/* 0BB00C 7F08649C E504019C */ swc1 $f4, 0x19c($t0) -/* 0BB010 7F0864A0 8E280000 */ lw $t0, ($s1) -.Ljp7F0864A4: -/* 0BB014 7F0864A4 C7AC0398 */ lwc1 $f12, 0x398($sp) -.Ljp7F0864A8: -/* 0BB018 7F0864A8 C50E0174 */ lwc1 $f14, 0x174($t0) -/* 0BB01C 7F0864AC 0FC20451 */ jal sub_GAME_7F080B34 -/* 0BB020 7F0864B0 8FA603A0 */ lw $a2, 0x3a0($sp) -/* 0BB024 7F0864B4 8E280000 */ lw $t0, ($s1) -/* 0BB028 7F0864B8 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BB02C 7F0864BC C42E83B4 */ lwc1 $f14, %lo(global_timer_delta)($at) -/* 0BB030 7F0864C0 C5020504 */ lwc1 $f2, 0x504($t0) -/* 0BB034 7F0864C4 C50A0498 */ lwc1 $f10, 0x498($t0) -/* 0BB038 7F0864C8 C50004FC */ lwc1 $f0, 0x4fc($t0) -/* 0BB03C 7F0864CC C50604A0 */ lwc1 $f6, 0x4a0($t0) -/* 0BB040 7F0864D0 460A1202 */ mul.s $f8, $f2, $f10 -/* 0BB044 7F0864D4 00000000 */ nop -/* 0BB048 7F0864D8 46060102 */ mul.s $f4, $f0, $f6 -/* 0BB04C 7F0864DC 46044281 */ sub.s $f10, $f8, $f4 -/* 0BB050 7F0864E0 C7A803AC */ lwc1 $f8, 0x3ac($sp) -/* 0BB054 7F0864E4 460E5182 */ mul.s $f6, $f10, $f14 -/* 0BB058 7F0864E8 46064100 */ add.s $f4, $f8, $f6 -/* 0BB05C 7F0864EC E7A403AC */ swc1 $f4, 0x3ac($sp) -/* 0BB060 7F0864F0 C50A04A0 */ lwc1 $f10, 0x4a0($t0) -/* 0BB064 7F0864F4 C5060498 */ lwc1 $f6, 0x498($t0) -/* 0BB068 7F0864F8 460A1202 */ mul.s $f8, $f2, $f10 -/* 0BB06C 7F0864FC 00000000 */ nop -/* 0BB070 7F086500 46060282 */ mul.s $f10, $f0, $f6 -/* 0BB074 7F086504 460A4180 */ add.s $f6, $f8, $f10 -/* 0BB078 7F086508 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BB07C 7F08650C 460E3202 */ mul.s $f8, $f6, $f14 -/* 0BB080 7F086510 46085180 */ add.s $f6, $f10, $f8 -/* 0BB084 7F086514 C7AA0220 */ lwc1 $f10, 0x220($sp) -/* 0BB088 7F086518 460A2200 */ add.s $f8, $f4, $f10 -/* 0BB08C 7F08651C C7A4021C */ lwc1 $f4, 0x21c($sp) -/* 0BB090 7F086520 E7A603B4 */ swc1 $f6, 0x3b4($sp) -/* 0BB094 7F086524 46043280 */ add.s $f10, $f6, $f4 -/* 0BB098 7F086528 E7A803AC */ swc1 $f8, 0x3ac($sp) -/* 0BB09C 7F08652C E7AA03B4 */ swc1 $f10, 0x3b4($sp) -/* 0BB0A0 7F086530 C508048C */ lwc1 $f8, 0x48c($t0) -/* 0BB0A4 7F086534 E7A80208 */ swc1 $f8, 0x208($sp) -/* 0BB0A8 7F086538 C5060494 */ lwc1 $f6, 0x494($t0) -/* 0BB0AC 7F08653C E7A60204 */ swc1 $f6, 0x204($sp) -/* 0BB0B0 7F086540 8D0E0488 */ lw $t6, 0x488($t0) -/* 0BB0B4 7F086544 0FC246BE */ jal get_debug_fast_bond_flag -/* 0BB0B8 7F086548 AFAE0200 */ sw $t6, 0x200($sp) -/* 0BB0BC 7F08654C 50400021 */ beql $v0, $zero, .Ljp7F0865D4 -/* 0BB0C0 7F086550 8E380000 */ lw $t8, ($s1) -/* 0BB0C4 7F086554 8E280000 */ lw $t0, ($s1) -/* 0BB0C8 7F086558 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0BB0CC 7F08655C 44810000 */ mtc1 $at, $f0 -/* 0BB0D0 7F086560 C5040498 */ lwc1 $f4, 0x498($t0) -/* 0BB0D4 7F086564 C50A0174 */ lwc1 $f10, 0x174($t0) -/* 0BB0D8 7F086568 C50604A0 */ lwc1 $f6, 0x4a0($t0) -/* 0BB0DC 7F08656C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0BB0E0 7F086570 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BB0E4 7F086574 C504016C */ lwc1 $f4, 0x16c($t0) -/* 0BB0E8 7F086578 C42E83B4 */ lwc1 $f14, %lo(global_timer_delta)($at) -/* 0BB0EC 7F08657C 46043282 */ mul.s $f10, $f6, $f4 -/* 0BB0F0 7F086580 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BB0F4 7F086584 C7AA03AC */ lwc1 $f10, 0x3ac($sp) -/* 0BB0F8 7F086588 460E3102 */ mul.s $f4, $f6, $f14 -/* 0BB0FC 7F08658C 00000000 */ nop -/* 0BB100 7F086590 46002202 */ mul.s $f8, $f4, $f0 -/* 0BB104 7F086594 46085180 */ add.s $f6, $f10, $f8 -/* 0BB108 7F086598 E7A603AC */ swc1 $f6, 0x3ac($sp) -/* 0BB10C 7F08659C C50A0174 */ lwc1 $f10, 0x174($t0) -/* 0BB110 7F0865A0 C50404A0 */ lwc1 $f4, 0x4a0($t0) -/* 0BB114 7F0865A4 C5060498 */ lwc1 $f6, 0x498($t0) -/* 0BB118 7F0865A8 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BB11C 7F0865AC C504016C */ lwc1 $f4, 0x16c($t0) -/* 0BB120 7F0865B0 46043282 */ mul.s $f10, $f6, $f4 -/* 0BB124 7F0865B4 460A4180 */ add.s $f6, $f8, $f10 -/* 0BB128 7F0865B8 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BB12C 7F0865BC 460E3102 */ mul.s $f4, $f6, $f14 -/* 0BB130 7F0865C0 00000000 */ nop -/* 0BB134 7F0865C4 46002202 */ mul.s $f8, $f4, $f0 -/* 0BB138 7F0865C8 46085180 */ add.s $f6, $f10, $f8 -/* 0BB13C 7F0865CC E7A603B4 */ swc1 $f6, 0x3b4($sp) -/* 0BB140 7F0865D0 8E380000 */ lw $t8, ($s1) -.Ljp7F0865D4: -/* 0BB144 7F0865D4 27A403AC */ addiu $a0, $sp, 0x3ac -/* 0BB148 7F0865D8 00002825 */ move $a1, $zero -/* 0BB14C 7F0865DC C7041274 */ lwc1 $f4, 0x1274($t8) -/* 0BB150 7F0865E0 4604A032 */ c.eq.s $f20, $f4 -/* 0BB154 7F0865E4 00000000 */ nop -/* 0BB158 7F0865E8 45000002 */ bc1f .Ljp7F0865F4 -/* 0BB15C 7F0865EC 00000000 */ nop -/* 0BB160 7F0865F0 24050001 */ li $a1, 1 -.Ljp7F0865F4: -/* 0BB164 7F0865F4 0FC1F7E1 */ jal sub_GAME_7F07D960 -/* 0BB168 7F0865F8 00000000 */ nop -/* 0BB16C 7F0865FC 8E2F0000 */ lw $t7, ($s1) -/* 0BB170 7F086600 3C018005 */ lui $at, %hi(D_80055240) # $at, 0x8005 -/* 0BB174 7F086604 C4285270 */ lwc1 $f8, %lo(D_80055240)($at) -/* 0BB178 7F086608 C5EA04B0 */ lwc1 $f10, 0x4b0($t7) -/* 0BB17C 7F08660C 27B001B4 */ addiu $s0, $sp, 0x1b4 -/* 0BB180 7F086610 AFB00010 */ sw $s0, 0x10($sp) -/* 0BB184 7F086614 46085182 */ mul.s $f6, $f10, $f8 -/* 0BB188 7F086618 27A40200 */ addiu $a0, $sp, 0x200 -/* 0BB18C 7F08661C 8FA50208 */ lw $a1, 0x208($sp) -/* 0BB190 7F086620 8FA60204 */ lw $a2, 0x204($sp) -/* 0BB194 7F086624 44073000 */ mfc1 $a3, $f6 -/* 0BB198 7F086628 0FC2CBB1 */ jal sub_GAME_7F0B2314 -/* 0BB19C 7F08662C 00000000 */ nop -/* 0BB1A0 7F086630 0FC2CBD5 */ jal sub_GAME_7F0B23A4 -/* 0BB1A4 7F086634 02002025 */ move $a0, $s0 -/* 0BB1A8 7F086638 10400002 */ beqz $v0, .Ljp7F086644 -/* 0BB1AC 7F08663C 240A0001 */ li $t2, 1 -/* 0BB1B0 7F086640 AFAA0394 */ sw $t2, 0x394($sp) -.Ljp7F086644: -/* 0BB1B4 7F086644 8E280000 */ lw $t0, ($s1) -/* 0BB1B8 7F086648 3C018005 */ lui $at, %hi(D_80055244) # $at, 0x8005 -/* 0BB1BC 7F08664C C42A5274 */ lwc1 $f10, %lo(D_80055244)($at) -/* 0BB1C0 7F086650 C50404B0 */ lwc1 $f4, 0x4b0($t0) -/* 0BB1C4 7F086654 8D05048C */ lw $a1, 0x48c($t0) -/* 0BB1C8 7F086658 8D060494 */ lw $a2, 0x494($t0) -/* 0BB1CC 7F08665C 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BB1D0 7F086660 AFB00010 */ sw $s0, 0x10($sp) -/* 0BB1D4 7F086664 25040488 */ addiu $a0, $t0, 0x488 -/* 0BB1D8 7F086668 44074000 */ mfc1 $a3, $f8 -/* 0BB1DC 7F08666C 0FC2CBB1 */ jal sub_GAME_7F0B2314 -/* 0BB1E0 7F086670 00000000 */ nop -/* 0BB1E4 7F086674 0FC2CBD5 */ jal sub_GAME_7F0B23A4 -/* 0BB1E8 7F086678 02002025 */ move $a0, $s0 -/* 0BB1EC 7F08667C 10400002 */ beqz $v0, .Ljp7F086688 -/* 0BB1F0 7F086680 24190001 */ li $t9, 1 -/* 0BB1F4 7F086684 AFB90394 */ sw $t9, 0x394($sp) -.Ljp7F086688: -/* 0BB1F8 7F086688 8E280000 */ lw $t0, ($s1) -/* 0BB1FC 7F08668C 8D05048C */ lw $a1, 0x48c($t0) -/* 0BB200 7F086690 8D060494 */ lw $a2, 0x494($t0) -/* 0BB204 7F086694 8D0704B0 */ lw $a3, 0x4b0($t0) -/* 0BB208 7F086698 AFB00010 */ sw $s0, 0x10($sp) -/* 0BB20C 7F08669C 0FC2CBB1 */ jal sub_GAME_7F0B2314 -/* 0BB210 7F0866A0 25040488 */ addiu $a0, $t0, 0x488 -/* 0BB214 7F0866A4 0FC2CBD5 */ jal sub_GAME_7F0B23A4 -/* 0BB218 7F0866A8 02002025 */ move $a0, $s0 -/* 0BB21C 7F0866AC 1440000D */ bnez $v0, .Ljp7F0866E4 -/* 0BB220 7F0866B0 00000000 */ nop -/* 0BB224 7F0866B4 8E2B0000 */ lw $t3, ($s1) -/* 0BB228 7F0866B8 3C018005 */ lui $at, %hi(D_80055248) # $at, 0x8005 -/* 0BB22C 7F0866BC C4245278 */ lwc1 $f4, %lo(D_80055248)($at) -/* 0BB230 7F0866C0 C56604B0 */ lwc1 $f6, 0x4b0($t3) -/* 0BB234 7F0866C4 AFB00010 */ sw $s0, 0x10($sp) -/* 0BB238 7F0866C8 27A40200 */ addiu $a0, $sp, 0x200 -/* 0BB23C 7F0866CC 46043282 */ mul.s $f10, $f6, $f4 -/* 0BB240 7F0866D0 8FA50208 */ lw $a1, 0x208($sp) -/* 0BB244 7F0866D4 8FA60204 */ lw $a2, 0x204($sp) -/* 0BB248 7F0866D8 44075000 */ mfc1 $a3, $f10 -/* 0BB24C 7F0866DC 0FC2CBB1 */ jal sub_GAME_7F0B2314 -/* 0BB250 7F0866E0 00000000 */ nop -.Ljp7F0866E4: -/* 0BB254 7F0866E4 0FC2CBD5 */ jal sub_GAME_7F0B23A4 -/* 0BB258 7F0866E8 02002025 */ move $a0, $s0 -/* 0BB25C 7F0866EC 104000B8 */ beqz $v0, .Ljp7F0869D0 -/* 0BB260 7F0866F0 240C0001 */ li $t4, 1 -/* 0BB264 7F0866F4 AFAC0394 */ sw $t4, 0x394($sp) -/* 0BB268 7F0866F8 27A40174 */ addiu $a0, $sp, 0x174 -/* 0BB26C 7F0866FC 27A50170 */ addiu $a1, $sp, 0x170 -/* 0BB270 7F086700 0FC2CBF4 */ jal sub_GAME_7F0B2420 -/* 0BB274 7F086704 27A60184 */ addiu $a2, $sp, 0x184 -/* 0BB278 7F086708 8E2D0000 */ lw $t5, ($s1) -/* 0BB27C 7F08670C C7A801A0 */ lwc1 $f8, 0x1a0($sp) -/* 0BB280 7F086710 C5A60074 */ lwc1 $f6, 0x74($t5) -/* 0BB284 7F086714 4608303E */ c.le.s $f6, $f8 -/* 0BB288 7F086718 C7A80198 */ lwc1 $f8, 0x198($sp) -/* 0BB28C 7F08671C C7A6018C */ lwc1 $f6, 0x18c($sp) -/* 0BB290 7F086720 450200AC */ bc1fl .Ljp7F0869D4 -/* 0BB294 7F086724 8E280000 */ lw $t0, ($s1) -/* 0BB298 7F086728 C7A40184 */ lwc1 $f4, 0x184($sp) -/* 0BB29C 7F08672C C7AA0190 */ lwc1 $f10, 0x190($sp) -/* 0BB2A0 7F086730 46064381 */ sub.s $f14, $f8, $f6 -/* 0BB2A4 7F086734 460A2081 */ sub.s $f2, $f4, $f10 -/* 0BB2A8 7F086738 460E7102 */ mul.s $f4, $f14, $f14 -/* 0BB2AC 7F08673C E7AE016C */ swc1 $f14, 0x16c($sp) -/* 0BB2B0 7F086740 46021282 */ mul.s $f10, $f2, $f2 -/* 0BB2B4 7F086744 E7A20168 */ swc1 $f2, 0x168($sp) -/* 0BB2B8 7F086748 0C007E08 */ jal sqrtf -/* 0BB2BC 7F08674C 460A2300 */ add.s $f12, $f4, $f10 -/* 0BB2C0 7F086750 C7A20168 */ lwc1 $f2, 0x168($sp) -/* 0BB2C4 7F086754 C7AE016C */ lwc1 $f14, 0x16c($sp) -/* 0BB2C8 7F086758 C7A80204 */ lwc1 $f8, 0x204($sp) -/* 0BB2CC 7F08675C 46001083 */ div.s $f2, $f2, $f0 -/* 0BB2D0 7F086760 C7A6018C */ lwc1 $f6, 0x18c($sp) -/* 0BB2D4 7F086764 E7A80030 */ swc1 $f8, 0x30($sp) -/* 0BB2D8 7F086768 46064101 */ sub.s $f4, $f8, $f6 -/* 0BB2DC 7F08676C C7A80184 */ lwc1 $f8, 0x184($sp) -/* 0BB2E0 7F086770 E7A60034 */ swc1 $f6, 0x34($sp) -/* 0BB2E4 7F086774 46007383 */ div.s $f14, $f14, $f0 -/* 0BB2E8 7F086778 46022282 */ mul.s $f10, $f4, $f2 -/* 0BB2EC 7F08677C C7A40208 */ lwc1 $f4, 0x208($sp) -/* 0BB2F0 7F086780 46082181 */ sub.s $f6, $f4, $f8 -/* 0BB2F4 7F086784 460E3182 */ mul.s $f6, $f6, $f14 -/* 0BB2F8 7F086788 46065300 */ add.s $f12, $f10, $f6 -/* 0BB2FC 7F08678C C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0BB300 7F086790 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BB304 7F086794 E7AC0050 */ swc1 $f12, 0x50($sp) -/* 0BB308 7F086798 460A3180 */ add.s $f6, $f6, $f10 -/* 0BB30C 7F08679C C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 0BB310 7F0867A0 460A3181 */ sub.s $f6, $f6, $f10 -/* 0BB314 7F0867A4 46023282 */ mul.s $f10, $f6, $f2 -/* 0BB318 7F0867A8 C7A603AC */ lwc1 $f6, 0x3ac($sp) -/* 0BB31C 7F0867AC 46062100 */ add.s $f4, $f4, $f6 -/* 0BB320 7F0867B0 46082181 */ sub.s $f6, $f4, $f8 -/* 0BB324 7F0867B4 460E3102 */ mul.s $f4, $f6, $f14 -/* 0BB328 7F0867B8 46045480 */ add.s $f18, $f10, $f4 -/* 0BB32C 7F0867BC C7A403B4 */ lwc1 $f4, 0x3b4($sp) -/* 0BB330 7F0867C0 46126202 */ mul.s $f8, $f12, $f18 -/* 0BB334 7F0867C4 46009406 */ mov.s $f16, $f18 -/* 0BB338 7F0867C8 4614403E */ c.le.s $f8, $f20 -/* 0BB33C 7F0867CC 46042202 */ mul.s $f8, $f4, $f4 -/* 0BB340 7F0867D0 45020004 */ bc1fl .Ljp7F0867E4 -/* 0BB344 7F0867D4 4614903C */ c.lt.s $f18, $f20 -/* 0BB348 7F0867D8 1000001F */ b .Ljp7F086858 -/* 0BB34C 7F0867DC 4600A386 */ mov.s $f14, $f20 -/* 0BB350 7F0867E0 4614903C */ c.lt.s $f18, $f20 -.Ljp7F0867E4: -/* 0BB354 7F0867E4 00000000 */ nop -/* 0BB358 7F0867E8 45020005 */ bc1fl .Ljp7F086800 -/* 0BB35C 7F0867EC 4610603E */ c.le.s $f12, $f16 -/* 0BB360 7F0867F0 C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 0BB364 7F0867F4 46009407 */ neg.s $f16, $f18 -/* 0BB368 7F0867F8 46006307 */ neg.s $f12, $f12 -/* 0BB36C 7F0867FC 4610603E */ c.le.s $f12, $f16 -.Ljp7F086800: -/* 0BB370 7F086800 00000000 */ nop -/* 0BB374 7F086804 45020004 */ bc1fl .Ljp7F086818 -/* 0BB378 7F086808 8E2E0000 */ lw $t6, ($s1) -/* 0BB37C 7F08680C 10000012 */ b .Ljp7F086858 -/* 0BB380 7F086810 4600A386 */ mov.s $f14, $f20 -/* 0BB384 7F086814 8E2E0000 */ lw $t6, ($s1) -.Ljp7F086818: -/* 0BB388 7F086818 C5C004B0 */ lwc1 $f0, 0x4b0($t6) -/* 0BB38C 7F08681C 4610003C */ c.lt.s $f0, $f16 -/* 0BB390 7F086820 00000000 */ nop -/* 0BB394 7F086824 45020004 */ bc1fl .Ljp7F086838 -/* 0BB398 7F086828 4600603C */ c.lt.s $f12, $f0 -/* 0BB39C 7F08682C 1000000A */ b .Ljp7F086858 -/* 0BB3A0 7F086830 4600A386 */ mov.s $f14, $f20 -/* 0BB3A4 7F086834 4600603C */ c.lt.s $f12, $f0 -.Ljp7F086838: -/* 0BB3A8 7F086838 00000000 */ nop -/* 0BB3AC 7F08683C 45020004 */ bc1fl .Ljp7F086850 -/* 0BB3B0 7F086840 46006181 */ sub.s $f6, $f12, $f0 -/* 0BB3B4 7F086844 10000004 */ b .Ljp7F086858 -/* 0BB3B8 7F086848 4600A386 */ mov.s $f14, $f20 -/* 0BB3BC 7F08684C 46006181 */ sub.s $f6, $f12, $f0 -.Ljp7F086850: -/* 0BB3C0 7F086850 46106281 */ sub.s $f10, $f12, $f16 -/* 0BB3C4 7F086854 460A3383 */ div.s $f14, $f6, $f10 -.Ljp7F086858: -/* 0BB3C8 7F086858 C7A603AC */ lwc1 $f6, 0x3ac($sp) -/* 0BB3CC 7F08685C E7AE0180 */ swc1 $f14, 0x180($sp) -/* 0BB3D0 7F086860 46063282 */ mul.s $f10, $f6, $f6 -/* 0BB3D4 7F086864 0C007E08 */ jal sqrtf -/* 0BB3D8 7F086868 460A4300 */ add.s $f12, $f8, $f10 -/* 0BB3DC 7F08686C 4600A03C */ c.lt.s $f20, $f0 -/* 0BB3E0 7F086870 C7AE0180 */ lwc1 $f14, 0x180($sp) -/* 0BB3E4 7F086874 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BB3E8 7F086878 4502001B */ bc1fl .Ljp7F0868E8 -/* 0BB3EC 7F08687C C7A6019C */ lwc1 $f6, 0x19c($sp) -/* 0BB3F0 7F086880 44812000 */ mtc1 $at, $f4 -/* 0BB3F4 7F086884 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0BB3F8 7F086888 44814000 */ mtc1 $at, $f8 -/* 0BB3FC 7F08688C 460E2181 */ sub.s $f6, $f4, $f14 -/* 0BB400 7F086890 8E380000 */ lw $t8, ($s1) -/* 0BB404 7F086894 C7A401A0 */ lwc1 $f4, 0x1a0($sp) -/* 0BB408 7F086898 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0BB40C 7F08689C 46003082 */ mul.s $f2, $f6, $f0 -/* 0BB410 7F0868A0 00000000 */ nop -/* 0BB414 7F0868A4 46081302 */ mul.s $f12, $f2, $f8 -/* 0BB418 7F0868A8 E7AC0390 */ swc1 $f12, 0x390($sp) -/* 0BB41C 7F0868AC C7120074 */ lwc1 $f18, 0x74($t8) -/* 0BB420 7F0868B0 460C9280 */ add.s $f10, $f18, $f12 -/* 0BB424 7F0868B4 460A203E */ c.le.s $f4, $f10 -/* 0BB428 7F0868B8 00000000 */ nop -/* 0BB42C 7F0868BC 45000009 */ bc1f .Ljp7F0868E4 -/* 0BB430 7F0868C0 00000000 */ nop -/* 0BB434 7F0868C4 46122181 */ sub.s $f6, $f4, $f18 -/* 0BB438 7F0868C8 44814000 */ mtc1 $at, $f8 -/* 0BB43C 7F0868CC 00000000 */ nop -/* 0BB440 7F0868D0 46083283 */ div.s $f10, $f6, $f8 -/* 0BB444 7F0868D4 E7A60390 */ swc1 $f6, 0x390($sp) -/* 0BB448 7F0868D8 460A1401 */ sub.s $f16, $f2, $f10 -/* 0BB44C 7F0868DC 46008103 */ div.s $f4, $f16, $f0 -/* 0BB450 7F0868E0 46047380 */ add.s $f14, $f14, $f4 -.Ljp7F0868E4: -/* 0BB454 7F0868E4 C7A6019C */ lwc1 $f6, 0x19c($sp) -.Ljp7F0868E8: -/* 0BB458 7F0868E8 C7A80184 */ lwc1 $f8, 0x184($sp) -/* 0BB45C 7F0868EC C7AA01A4 */ lwc1 $f10, 0x1a4($sp) -/* 0BB460 7F0868F0 C7A4018C */ lwc1 $f4, 0x18c($sp) -/* 0BB464 7F0868F4 46083301 */ sub.s $f12, $f6, $f8 -/* 0BB468 7F0868F8 C7A601A8 */ lwc1 $f6, 0x1a8($sp) -/* 0BB46C 7F0868FC 8E280000 */ lw $t0, ($s1) -/* 0BB470 7F086900 46045401 */ sub.s $f16, $f10, $f4 -/* 0BB474 7F086904 C7AA01B0 */ lwc1 $f10, 0x1b0($sp) -/* 0BB478 7F086908 46083481 */ sub.s $f18, $f6, $f8 -/* 0BB47C 7F08690C 46045181 */ sub.s $f6, $f10, $f4 -/* 0BB480 7F086910 46129202 */ mul.s $f8, $f18, $f18 -/* 0BB484 7F086914 00000000 */ nop -/* 0BB488 7F086918 46063282 */ mul.s $f10, $f6, $f6 -/* 0BB48C 7F08691C E7A60048 */ swc1 $f6, 0x48($sp) -/* 0BB490 7F086920 460A4100 */ add.s $f4, $f8, $f10 -/* 0BB494 7F086924 460C6202 */ mul.s $f8, $f12, $f12 -/* 0BB498 7F086928 00000000 */ nop -/* 0BB49C 7F08692C 46108282 */ mul.s $f10, $f16, $f16 -/* 0BB4A0 7F086930 460A4200 */ add.s $f8, $f8, $f10 -/* 0BB4A4 7F086934 C7AA01A0 */ lwc1 $f10, 0x1a0($sp) -/* 0BB4A8 7F086938 4608203C */ c.lt.s $f4, $f8 -/* 0BB4AC 7F08693C C7A40188 */ lwc1 $f4, 0x188($sp) -/* 0BB4B0 7F086940 45000003 */ bc1f .Ljp7F086950 -/* 0BB4B4 7F086944 46045201 */ sub.s $f8, $f10, $f4 -/* 0BB4B8 7F086948 46009306 */ mov.s $f12, $f18 -/* 0BB4BC 7F08694C 46003406 */ mov.s $f16, $f6 -.Ljp7F086950: -/* 0BB4C0 7F086950 C7A60390 */ lwc1 $f6, 0x390($sp) -/* 0BB4C4 7F086954 C7A403AC */ lwc1 $f4, 0x3ac($sp) -/* 0BB4C8 7F086958 27A403AC */ addiu $a0, $sp, 0x3ac -/* 0BB4CC 7F08695C 46083003 */ div.s $f0, $f6, $f8 -/* 0BB4D0 7F086960 00002825 */ move $a1, $zero -/* 0BB4D4 7F086964 460C0282 */ mul.s $f10, $f0, $f12 -/* 0BB4D8 7F086968 00000000 */ nop -/* 0BB4DC 7F08696C 460E2182 */ mul.s $f6, $f4, $f14 -/* 0BB4E0 7F086970 46065200 */ add.s $f8, $f10, $f6 -/* 0BB4E4 7F086974 46100102 */ mul.s $f4, $f0, $f16 -/* 0BB4E8 7F086978 C7AA03B4 */ lwc1 $f10, 0x3b4($sp) -/* 0BB4EC 7F08697C E7A803AC */ swc1 $f8, 0x3ac($sp) -/* 0BB4F0 7F086980 460E5182 */ mul.s $f6, $f10, $f14 -/* 0BB4F4 7F086984 C7AA0208 */ lwc1 $f10, 0x208($sp) -/* 0BB4F8 7F086988 46062200 */ add.s $f8, $f4, $f6 -/* 0BB4FC 7F08698C E7A803B4 */ swc1 $f8, 0x3b4($sp) -/* 0BB500 7F086990 E50A048C */ swc1 $f10, 0x48c($t0) -/* 0BB504 7F086994 8E2F0000 */ lw $t7, ($s1) -/* 0BB508 7F086998 C7A40204 */ lwc1 $f4, 0x204($sp) -/* 0BB50C 7F08699C E5E40494 */ swc1 $f4, 0x494($t7) -/* 0BB510 7F0869A0 8E390000 */ lw $t9, ($s1) -/* 0BB514 7F0869A4 8FAA0200 */ lw $t2, 0x200($sp) -/* 0BB518 7F0869A8 AF2A0488 */ sw $t2, 0x488($t9) -/* 0BB51C 7F0869AC 8E2B0000 */ lw $t3, ($s1) -/* 0BB520 7F0869B0 C5661274 */ lwc1 $f6, 0x1274($t3) -/* 0BB524 7F0869B4 4606A032 */ c.eq.s $f20, $f6 -/* 0BB528 7F0869B8 00000000 */ nop -/* 0BB52C 7F0869BC 45000002 */ bc1f .Ljp7F0869C8 -/* 0BB530 7F0869C0 00000000 */ nop -/* 0BB534 7F0869C4 24050001 */ li $a1, 1 -.Ljp7F0869C8: -/* 0BB538 7F0869C8 0FC1F7E1 */ jal sub_GAME_7F07D960 -/* 0BB53C 7F0869CC 00000000 */ nop -.Ljp7F0869D0: -/* 0BB540 7F0869D0 8E280000 */ lw $t0, ($s1) -.Ljp7F0869D4: -/* 0BB544 7F0869D4 C7AA0208 */ lwc1 $f10, 0x208($sp) -/* 0BB548 7F0869D8 C7A60204 */ lwc1 $f6, 0x204($sp) -/* 0BB54C 7F0869DC C508048C */ lwc1 $f8, 0x48c($t0) -/* 0BB550 7F0869E0 C5040494 */ lwc1 $f4, 0x494($t0) -/* 0BB554 7F0869E4 460A4081 */ sub.s $f2, $f8, $f10 -/* 0BB558 7F0869E8 C7A803B4 */ lwc1 $f8, 0x3b4($sp) -/* 0BB55C 7F0869EC 46062381 */ sub.s $f14, $f4, $f6 -/* 0BB560 7F0869F0 46084282 */ mul.s $f10, $f8, $f8 -/* 0BB564 7F0869F4 C7A403AC */ lwc1 $f4, 0x3ac($sp) -/* 0BB568 7F0869F8 46042182 */ mul.s $f6, $f4, $f4 -/* 0BB56C 7F0869FC 46065000 */ add.s $f0, $f10, $f6 -/* 0BB570 7F086A00 46140032 */ c.eq.s $f0, $f20 -/* 0BB574 7F086A04 46000306 */ mov.s $f12, $f0 -/* 0BB578 7F086A08 45010006 */ bc1t .Ljp7F086A24 -/* 0BB57C 7F086A0C 00000000 */ nop -/* 0BB580 7F086A10 46021202 */ mul.s $f8, $f2, $f2 -/* 0BB584 7F086A14 00000000 */ nop -/* 0BB588 7F086A18 460E7102 */ mul.s $f4, $f14, $f14 -/* 0BB58C 7F086A1C 46044280 */ add.s $f10, $f8, $f4 -/* 0BB590 7F086A20 46005303 */ div.s $f12, $f10, $f0 -.Ljp7F086A24: -/* 0BB594 7F086A24 0C007E08 */ jal sqrtf -/* 0BB598 7F086A28 00000000 */ nop -/* 0BB59C 7F086A2C C7A80220 */ lwc1 $f8, 0x220($sp) -/* 0BB5A0 7F086A30 8E280000 */ lw $t0, ($s1) -/* 0BB5A4 7F086A34 46080102 */ mul.s $f4, $f0, $f8 -/* 0BB5A8 7F086A38 C5061278 */ lwc1 $f6, 0x1278($t0) -/* 0BB5AC 7F086A3C 46043280 */ add.s $f10, $f6, $f4 -/* 0BB5B0 7F086A40 E50A1278 */ swc1 $f10, 0x1278($t0) -/* 0BB5B4 7F086A44 C7A6021C */ lwc1 $f6, 0x21c($sp) -/* 0BB5B8 7F086A48 8E280000 */ lw $t0, ($s1) -/* 0BB5BC 7F086A4C 46060102 */ mul.s $f4, $f0, $f6 -/* 0BB5C0 7F086A50 C508127C */ lwc1 $f8, 0x127c($t0) -/* 0BB5C4 7F086A54 46044280 */ add.s $f10, $f8, $f4 -/* 0BB5C8 7F086A58 E50A127C */ swc1 $f10, 0x127c($t0) -.Ljp7F086A5C: -/* 0BB5CC 7F086A5C 8E280000 */ lw $t0, ($s1) -.Ljp7F086A60: -/* 0BB5D0 7F086A60 3C018005 */ lui $at, %hi(D_8005524C) -/* 0BB5D4 7F086A64 C428527C */ lwc1 $f8, %lo(D_8005524C)($at) -/* 0BB5D8 7F086A68 C5060160 */ lwc1 $f6, 0x160($t0) -/* 0BB5DC 7F086A6C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0BB5E0 7F086A70 C50A00A4 */ lwc1 $f10, 0xa4($t0) -/* 0BB5E4 7F086A74 46083103 */ div.s $f4, $f6, $f8 -/* 0BB5E8 7F086A78 44813000 */ mtc1 $at, $f6 -/* 0BB5EC 7F086A7C C514014C */ lwc1 $f20, 0x14c($t0) -/* 0BB5F0 7F086A80 46065203 */ div.s $f8, $f10, $f6 -/* 0BB5F4 7F086A84 46082080 */ add.s $f2, $f4, $f8 -/* 0BB5F8 7F086A88 0FC23D76 */ jal sub_GAME_7F08EAF8 -/* 0BB5FC 7F086A8C E7A20144 */ swc1 $f2, 0x144($sp) -/* 0BB600 7F086A90 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BB604 7F086A94 44817000 */ mtc1 $at, $f14 -/* 0BB608 7F086A98 C7A20144 */ lwc1 $f2, 0x144($sp) -/* 0BB60C 7F086A9C 4407A000 */ mfc1 $a3, $f20 -/* 0BB610 7F086AA0 46000306 */ mov.s $f12, $f0 -/* 0BB614 7F086AA4 4602703C */ c.lt.s $f14, $f2 -/* 0BB618 7F086AA8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0BB61C 7F086AAC 45020004 */ bc1fl .Ljp7F086AC0 -/* 0BB620 7F086AB0 44817000 */ mtc1 $at, $f14 -/* 0BB624 7F086AB4 10000008 */ b .Ljp7F086AD8 -/* 0BB628 7F086AB8 46007086 */ mov.s $f2, $f14 -/* 0BB62C 7F086ABC 44817000 */ mtc1 $at, $f14 -.Ljp7F086AC0: -/* 0BB630 7F086AC0 00000000 */ nop -/* 0BB634 7F086AC4 460E103C */ c.lt.s $f2, $f14 -/* 0BB638 7F086AC8 00000000 */ nop -/* 0BB63C 7F086ACC 45020003 */ bc1fl .Ljp7F086ADC -/* 0BB640 7F086AD0 8E2C0000 */ lw $t4, ($s1) -/* 0BB644 7F086AD4 46007086 */ mov.s $f2, $f14 -.Ljp7F086AD8: -/* 0BB648 7F086AD8 8E2C0000 */ lw $t4, ($s1) -.Ljp7F086ADC: -/* 0BB64C 7F086ADC 24010001 */ li $at, 1 -/* 0BB650 7F086AE0 44061000 */ mfc1 $a2, $f2 -/* 0BB654 7F086AE4 8D8D04E8 */ lw $t5, 0x4e8($t4) -/* 0BB658 7F086AE8 15A10004 */ bne $t5, $at, .Ljp7F086AFC -/* 0BB65C 7F086AEC 3C018005 */ lui $at, %hi(D_80055250) # $at, 0x8005 -/* 0BB660 7F086AF0 C42A5280 */ lwc1 $f10, %lo(D_80055250)($at) -/* 0BB664 7F086AF4 460A0302 */ mul.s $f12, $f0, $f10 -/* 0BB668 7F086AF8 00000000 */ nop -.Ljp7F086AFC: -/* 0BB66C 7F086AFC 0FC17981 */ jal sub_GAME_7F05E0E4 -/* 0BB670 7F086B00 C7AE0398 */ lwc1 $f14, 0x398($sp) -/* 0BB674 7F086B04 8E2E0000 */ lw $t6, ($s1) -/* 0BB678 7F086B08 3C018005 */ lui $at, %hi(D_80055254) # $at, 0x8005 -/* 0BB67C 7F086B0C C4245284 */ lwc1 $f4, %lo(D_80055254)($at) -/* 0BB680 7F086B10 C5C6015C */ lwc1 $f6, 0x15c($t6) -/* 0BB684 7F086B14 46043302 */ mul.s $f12, $f6, $f4 -/* 0BB688 7F086B18 0FC17AC4 */ jal sub_GAME_7F05E5F0 -/* 0BB68C 7F086B1C 00000000 */ nop -/* 0BB690 7F086B20 3C038003 */ lui $v1, %hi(ptr_playerstank) # $v1, 0x8003 -/* 0BB694 7F086B24 8C636490 */ lw $v1, %lo(ptr_playerstank)($v1) -/* 0BB698 7F086B28 3C188003 */ lui $t8, %hi(in_tank_flag) # $t8, 0x8003 -/* 0BB69C 7F086B2C 50600135 */ beql $v1, $zero, .Ljp7F087004 -/* 0BB6A0 7F086B30 8FA40394 */ lw $a0, 0x394($sp) -/* 0BB6A4 7F086B34 8F186488 */ lw $t8, %lo(in_tank_flag)($t8) -/* 0BB6A8 7F086B38 24010001 */ li $at, 1 -/* 0BB6AC 7F086B3C 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_800799B8) # $t7, 0x8008 -/* 0BB6B0 7F086B40 57010130 */ bnel $t8, $at, .Ljp7F087004 -/* 0BB6B4 7F086B44 8FA40394 */ lw $a0, 0x394($sp) -/* 0BB6B8 7F086B48 8DEF99F8 */ lw $t7, %lo(dword_CODE_bss_800799B8)($t7) -/* 0BB6BC 7F086B4C 24010002 */ li $at, 2 -/* 0BB6C0 7F086B50 55E1012C */ bnel $t7, $at, .Ljp7F087004 -/* 0BB6C4 7F086B54 8FA40394 */ lw $a0, 0x394($sp) -/* 0BB6C8 7F086B58 8C620004 */ lw $v0, 4($v1) -/* 0BB6CC 7F086B5C 00002025 */ move $a0, $zero -/* 0BB6D0 7F086B60 AFA20138 */ sw $v0, 0x138($sp) -/* 0BB6D4 7F086B64 8C4A0014 */ lw $t2, 0x14($v0) -/* 0BB6D8 7F086B68 00408025 */ move $s0, $v0 -/* 0BB6DC 7F086B6C 8D590008 */ lw $t9, 8($t2) -/* 0BB6E0 7F086B70 8F2B0008 */ lw $t3, 8($t9) -/* 0BB6E4 7F086B74 8D6C0014 */ lw $t4, 0x14($t3) -/* 0BB6E8 7F086B78 8D8D0004 */ lw $t5, 4($t4) -/* 0BB6EC 7F086B7C 0FC177BC */ jal get_item_in_hand -/* 0BB6F0 7F086B80 AFAD0130 */ sw $t5, 0x130($sp) -/* 0BB6F4 7F086B84 38430020 */ xori $v1, $v0, 0x20 -/* 0BB6F8 7F086B88 2C640001 */ sltiu $a0, $v1, 1 -/* 0BB6FC 7F086B8C 50800005 */ beql $a0, $zero, .Ljp7F086BA4 -/* 0BB700 7F086B90 AE0400C4 */ sw $a0, 0xc4($s0) -/* 0BB704 7F086B94 0FC1786A */ jal get_hands_firing_status -/* 0BB708 7F086B98 00002025 */ move $a0, $zero -/* 0BB70C 7F086B9C 0002202B */ sltu $a0, $zero, $v0 -/* 0BB710 7F086BA0 AE0400C4 */ sw $a0, 0xc4($s0) -.Ljp7F086BA4: -/* 0BB714 7F086BA4 3C018003 */ lui $at, %hi(D_8003646C) # $at, 0x8003 -/* 0BB718 7F086BA8 C42864AC */ lwc1 $f8, %lo(D_8003646C)($at) -/* 0BB71C 7F086BAC 3C018003 */ lui $at, %hi(D_80036474) # $at, 0x8003 -/* 0BB720 7F086BB0 27A500F0 */ addiu $a1, $sp, 0xf0 -/* 0BB724 7F086BB4 E60800C8 */ swc1 $f8, 0xc8($s0) -/* 0BB728 7F086BB8 C42A64B4 */ lwc1 $f10, %lo(D_80036474)($at) -/* 0BB72C 7F086BBC 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0BB730 7F086BC0 E60A00CC */ swc1 $f10, 0xcc($s0) -/* 0BB734 7F086BC4 C42664A4 */ lwc1 $f6, %lo(D_80036464)($at) -/* 0BB738 7F086BC8 3C018005 */ lui $at, %hi(D_80055258) # $at, 0x8005 -/* 0BB73C 7F086BCC E60600DC */ swc1 $f6, 0xdc($s0) -/* 0BB740 7F086BD0 C4245288 */ lwc1 $f4, %lo(D_80055258)($at) -/* 0BB744 7F086BD4 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 0BB748 7F086BD8 C42864A4 */ lwc1 $f8, %lo(D_80036464)($at) -/* 0BB74C 7F086BDC 0FC162C7 */ jal sub_GAME_7F0585FC -/* 0BB750 7F086BE0 46082301 */ sub.s $f12, $f4, $f8 -/* 0BB754 7F086BE4 8FAE0138 */ lw $t6, 0x138($sp) -/* 0BB758 7F086BE8 27A500F0 */ addiu $a1, $sp, 0xf0 -/* 0BB75C 7F086BEC 8DD80014 */ lw $t8, 0x14($t6) -/* 0BB760 7F086BF0 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 0BB764 7F086BF4 C70C0014 */ lwc1 $f12, 0x14($t8) -/* 0BB768 7F086BF8 3C018008 */ lui $at, %hi(flt_CODE_bss_800799AC) # $at, 0x8008 -/* 0BB76C 7F086BFC C42A99E8 */ lwc1 $f10, %lo(flt_CODE_bss_800799A8)($at) -/* 0BB770 7F086C00 C42499EC */ lwc1 $f4, %lo(flt_CODE_bss_800799AC)($at) -/* 0BB774 7F086C04 3C018008 */ lui $at, %hi(flt_CODE_bss_800799B0) # $at, 0x8008 -/* 0BB778 7F086C08 46005187 */ neg.s $f6, $f10 -/* 0BB77C 7F086C0C C42A99F0 */ lwc1 $f10, %lo(flt_CODE_bss_800799B0)($at) -/* 0BB780 7F086C10 E7A600E4 */ swc1 $f6, 0xe4($sp) -/* 0BB784 7F086C14 46002207 */ neg.s $f8, $f4 -/* 0BB788 7F086C18 46005187 */ neg.s $f6, $f10 -/* 0BB78C 7F086C1C E7A800E8 */ swc1 $f8, 0xe8($sp) -/* 0BB790 7F086C20 E7A600EC */ swc1 $f6, 0xec($sp) -/* 0BB794 7F086C24 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 0BB798 7F086C28 0FC1623E */ jal sub_GAME_7F0583D8 -/* 0BB79C 7F086C2C 27A500E4 */ addiu $a1, $sp, 0xe4 -/* 0BB7A0 7F086C30 8E280000 */ lw $t0, ($s1) -/* 0BB7A4 7F086C34 C7A400E4 */ lwc1 $f4, 0xe4($sp) -/* 0BB7A8 7F086C38 C7A600EC */ lwc1 $f6, 0xec($sp) -/* 0BB7AC 7F086C3C C508048C */ lwc1 $f8, 0x48c($t0) -/* 0BB7B0 7F086C40 8FA20138 */ lw $v0, 0x138($sp) -/* 0BB7B4 7F086C44 46082280 */ add.s $f10, $f4, $f8 -/* 0BB7B8 7F086C48 E7AA00E4 */ swc1 $f10, 0xe4($sp) -/* 0BB7BC 7F086C4C C5040494 */ lwc1 $f4, 0x494($t0) -/* 0BB7C0 7F086C50 46043200 */ add.s $f8, $f6, $f4 -/* 0BB7C4 7F086C54 E7A800EC */ swc1 $f8, 0xec($sp) -/* 0BB7C8 7F086C58 8D0F0488 */ lw $t7, 0x488($t0) -/* 0BB7CC 7F086C5C 8C4A0010 */ lw $t2, 0x10($v0) -/* 0BB7D0 7F086C60 AD4F0014 */ sw $t7, 0x14($t2) -/* 0BB7D4 7F086C64 8E280000 */ lw $t0, ($s1) -/* 0BB7D8 7F086C68 C7AA00EC */ lwc1 $f10, 0xec($sp) -/* 0BB7DC 7F086C6C 8C440010 */ lw $a0, 0x10($v0) -/* 0BB7E0 7F086C70 8D05048C */ lw $a1, 0x48c($t0) -/* 0BB7E4 7F086C74 8D060494 */ lw $a2, 0x494($t0) -/* 0BB7E8 7F086C78 8FA700E4 */ lw $a3, 0xe4($sp) -/* 0BB7EC 7F086C7C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0BB7F0 7F086C80 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 -/* 0BB7F4 7F086C84 24840014 */ addiu $a0, $a0, 0x14 -/* 0BB7F8 7F086C88 8FB90138 */ lw $t9, 0x138($sp) -/* 0BB7FC 7F086C8C 8FA500E4 */ lw $a1, 0xe4($sp) -/* 0BB800 7F086C90 8FA600EC */ lw $a2, 0xec($sp) -/* 0BB804 7F086C94 8F2B0010 */ lw $t3, 0x10($t9) -/* 0BB808 7F086C98 0FC2CD48 */ jal sub_GAME_7F0B2970 -/* 0BB80C 7F086C9C 8D640014 */ lw $a0, 0x14($t3) -/* 0BB810 7F086CA0 3C038005 */ lui $v1, %hi(clock_timer) # $v1, 0x8005 -/* 0BB814 7F086CA4 246383A4 */ addiu $v1, %lo(clock_timer) # addiu $v1, $v1, -0x7c5c -/* 0BB818 7F086CA8 E60000D4 */ swc1 $f0, 0xd4($s0) -/* 0BB81C 7F086CAC 8C6C0000 */ lw $t4, ($v1) -/* 0BB820 7F086CB0 00001025 */ move $v0, $zero -/* 0BB824 7F086CB4 3C018005 */ lui $at, %hi(D_8005525C) # $at, 0x8005 -/* 0BB828 7F086CB8 1980000C */ blez $t4, .Ljp7F086CEC -/* 0BB82C 7F086CBC 00000000 */ nop -/* 0BB830 7F086CC0 C60200D4 */ lwc1 $f2, 0xd4($s0) -/* 0BB834 7F086CC4 C420528C */ lwc1 $f0, %lo(D_8005525C)($at) -/* 0BB838 7F086CC8 C60600D0 */ lwc1 $f6, 0xd0($s0) -.Ljp7F086CCC: -/* 0BB83C 7F086CCC 24420001 */ addiu $v0, $v0, 1 -/* 0BB840 7F086CD0 46003102 */ mul.s $f4, $f6, $f0 -/* 0BB844 7F086CD4 46022200 */ add.s $f8, $f4, $f2 -/* 0BB848 7F086CD8 E60800D0 */ swc1 $f8, 0xd0($s0) -/* 0BB84C 7F086CDC 8C6D0000 */ lw $t5, ($v1) -/* 0BB850 7F086CE0 004D082A */ slt $at, $v0, $t5 -/* 0BB854 7F086CE4 5420FFF9 */ bnezl $at, .Ljp7F086CCC -/* 0BB858 7F086CE8 C60600D0 */ lwc1 $f6, 0xd0($s0) -.Ljp7F086CEC: -/* 0BB85C 7F086CEC 3C018005 */ lui $at, %hi(D_80055260) # $at, 0x8005 -/* 0BB860 7F086CF0 C4265290 */ lwc1 $f6, %lo(D_80055260)($at) -/* 0BB864 7F086CF4 C60A00D0 */ lwc1 $f10, 0xd0($s0) -/* 0BB868 7F086CF8 8FA40130 */ lw $a0, 0x130($sp) -/* 0BB86C 7F086CFC 46065502 */ mul.s $f20, $f10, $f6 -/* 0BB870 7F086D00 0FC0FAD9 */ jal sub_GAME_7F03E864 -/* 0BB874 7F086D04 00000000 */ nop -/* 0BB878 7F086D08 8FA20138 */ lw $v0, 0x138($sp) -/* 0BB87C 7F086D0C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0BB880 7F086D10 44813000 */ mtc1 $at, $f6 -/* 0BB884 7F086D14 8C4E0014 */ lw $t6, 0x14($v0) -/* 0BB888 7F086D18 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 0BB88C 7F086D1C 24450018 */ addiu $a1, $v0, 0x18 -/* 0BB890 7F086D20 C5C40014 */ lwc1 $f4, 0x14($t6) -/* 0BB894 7F086D24 46040202 */ mul.s $f8, $f0, $f4 -/* 0BB898 7F086D28 4608A281 */ sub.s $f10, $f20, $f8 -/* 0BB89C 7F086D2C 46065100 */ add.s $f4, $f10, $f6 -/* 0BB8A0 7F086D30 0FC16150 */ jal sub_GAME_7F058020 -/* 0BB8A4 7F086D34 E7A400E8 */ swc1 $f4, 0xe8($sp) -/* 0BB8A8 7F086D38 8FA40138 */ lw $a0, 0x138($sp) -/* 0BB8AC 7F086D3C C7A000E4 */ lwc1 $f0, 0xe4($sp) -/* 0BB8B0 7F086D40 8C980010 */ lw $t8, 0x10($a0) -/* 0BB8B4 7F086D44 E7000008 */ swc1 $f0, 8($t8) -/* 0BB8B8 7F086D48 E4800058 */ swc1 $f0, 0x58($a0) -/* 0BB8BC 7F086D4C C7A000E8 */ lwc1 $f0, 0xe8($sp) -/* 0BB8C0 7F086D50 8C8F0010 */ lw $t7, 0x10($a0) -/* 0BB8C4 7F086D54 E5E0000C */ swc1 $f0, 0xc($t7) -/* 0BB8C8 7F086D58 E480005C */ swc1 $f0, 0x5c($a0) -/* 0BB8CC 7F086D5C C7A000EC */ lwc1 $f0, 0xec($sp) -/* 0BB8D0 7F086D60 8C8A0010 */ lw $t2, 0x10($a0) -/* 0BB8D4 7F086D64 E5400010 */ swc1 $f0, 0x10($t2) -/* 0BB8D8 7F086D68 0FC15C68 */ jal sub_GAME_7F056CA0 -/* 0BB8DC 7F086D6C E4800060 */ swc1 $f0, 0x60($a0) -/* 0BB8E0 7F086D70 0FC101E1 */ jal sub_GAME_7F040484 -/* 0BB8E4 7F086D74 8FA40138 */ lw $a0, 0x138($sp) -/* 0BB8E8 7F086D78 8E250000 */ lw $a1, ($s1) -/* 0BB8EC 7F086D7C 3C068003 */ lui $a2, %hi(D_80036464) # $a2, 0x8003 -/* 0BB8F0 7F086D80 8CC664A4 */ lw $a2, %lo(D_80036464)($a2) -/* 0BB8F4 7F086D84 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 0BB8F8 7F086D88 0FC1F3AB */ jal sub_GAME_7F07C888 -/* 0BB8FC 7F086D8C 24A5048C */ addiu $a1, $a1, 0x48c -/* 0BB900 7F086D90 8FB90138 */ lw $t9, 0x138($sp) -/* 0BB904 7F086D94 27B00094 */ addiu $s0, $sp, 0x94 -/* 0BB908 7F086D98 02002825 */ move $a1, $s0 -/* 0BB90C 7F086D9C 0FC0F3A3 */ jal sub_GAME_7F03CB8C -/* 0BB910 7F086DA0 8F240010 */ lw $a0, 0x10($t9) -/* 0BB914 7F086DA4 0FC0F9BF */ jal sub_GAME_7F03E3FC -/* 0BB918 7F086DA8 02002025 */ move $a0, $s0 -/* 0BB91C 7F086DAC 3C0B8007 */ lui $t3, %hi(ptr_list_object_lookup_indices) # $t3, 0x8007 -/* 0BB920 7F086DB0 8D6B9C70 */ lw $t3, %lo(ptr_list_object_lookup_indices)($t3) -/* 0BB924 7F086DB4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 0BB928 7F086DB8 AFAB008C */ sw $t3, 0x8c($sp) -/* 0BB92C 7F086DBC 85620000 */ lh $v0, ($t3) -/* 0BB930 7F086DC0 04420090 */ bltzl $v0, .Ljp7F087004 -/* 0BB934 7F086DC4 8FA40394 */ lw $a0, 0x394($sp) -/* 0BB938 7F086DC8 4481A000 */ mtc1 $at, $f20 -/* 0BB93C 7F086DCC 00000000 */ nop -/* 0BB940 7F086DD0 8FAE0138 */ lw $t6, 0x138($sp) -.Ljp7F086DD4: -/* 0BB944 7F086DD4 00026080 */ sll $t4, $v0, 2 -/* 0BB948 7F086DD8 01826023 */ subu $t4, $t4, $v0 -/* 0BB94C 7F086DDC 000C6080 */ sll $t4, $t4, 2 -/* 0BB950 7F086DE0 8DD80010 */ lw $t8, 0x10($t6) -/* 0BB954 7F086DE4 01826021 */ addu $t4, $t4, $v0 -/* 0BB958 7F086DE8 3C0D8007 */ lui $t5, %hi(pos_data_entry) # $t5, 0x8007 -/* 0BB95C 7F086DEC 25AD9C78 */ addiu $t5, %lo(pos_data_entry) # addiu $t5, $t5, -0x6388 -/* 0BB960 7F086DF0 000C6080 */ sll $t4, $t4, 2 -/* 0BB964 7F086DF4 018D8021 */ addu $s0, $t4, $t5 -/* 0BB968 7F086DF8 5218007C */ beql $s0, $t8, .Ljp7F086FEC -/* 0BB96C 7F086DFC 8FAC008C */ lw $t4, 0x8c($sp) -/* 0BB970 7F086E00 92020000 */ lbu $v0, ($s0) -/* 0BB974 7F086E04 24010003 */ li $at, 3 -/* 0BB978 7F086E08 240F0001 */ li $t7, 1 -/* 0BB97C 7F086E0C 1441005A */ bne $v0, $at, .Ljp7F086F78 -/* 0BB980 7F086E10 02002025 */ move $a0, $s0 -/* 0BB984 7F086E14 AFAF007C */ sw $t7, 0x7c($sp) -/* 0BB988 7F086E18 8E030004 */ lw $v1, 4($s0) -/* 0BB98C 7F086E1C 27A50080 */ addiu $a1, $sp, 0x80 -/* 0BB990 7F086E20 27A60088 */ addiu $a2, $sp, 0x88 -/* 0BB994 7F086E24 27A70084 */ addiu $a3, $sp, 0x84 -/* 0BB998 7F086E28 0FC0F4A2 */ jal sub_GAME_7F03CF88 -/* 0BB99C 7F086E2C AFA3006C */ sw $v1, 0x6c($sp) -/* 0BB9A0 7F086E30 26040008 */ addiu $a0, $s0, 8 -/* 0BB9A4 7F086E34 AFA40050 */ sw $a0, 0x50($sp) -/* 0BB9A8 7F086E38 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 0BB9AC 7F086E3C 0FC0F3F6 */ jal sub_GAME_7F03CCD8 -/* 0BB9B0 7F086E40 24060004 */ li $a2, 4 -/* 0BB9B4 7F086E44 10400031 */ beqz $v0, .Ljp7F086F0C -/* 0BB9B8 7F086E48 8FA3006C */ lw $v1, 0x6c($sp) -/* 0BB9BC 7F086E4C AFA0007C */ sw $zero, 0x7c($sp) -/* 0BB9C0 7F086E50 806A0007 */ lb $t2, 7($v1) -/* 0BB9C4 7F086E54 24010004 */ li $at, 4 -/* 0BB9C8 7F086E58 5541002D */ bnel $t2, $at, .Ljp7F086F10 -/* 0BB9CC 7F086E5C 8FAF007C */ lw $t7, 0x7c($sp) -/* 0BB9D0 7F086E60 8C790014 */ lw $t9, 0x14($v1) -/* 0BB9D4 7F086E64 001959C0 */ sll $t3, $t9, 7 -/* 0BB9D8 7F086E68 05620029 */ bltzl $t3, .Ljp7F086F10 -/* 0BB9DC 7F086E6C 8FAF007C */ lw $t7, 0x7c($sp) -/* 0BB9E0 7F086E70 0FC3021B */ jal get_controls_locked_flag -/* 0BB9E4 7F086E74 AFA3006C */ sw $v1, 0x6c($sp) -/* 0BB9E8 7F086E78 14400024 */ bnez $v0, .Ljp7F086F0C -/* 0BB9EC 7F086E7C 8FA3006C */ lw $v1, 0x6c($sp) -/* 0BB9F0 7F086E80 8C6C0014 */ lw $t4, 0x14($v1) -/* 0BB9F4 7F086E84 3C010100 */ lui $at, 0x100 -/* 0BB9F8 7F086E88 3C028005 */ lui $v0, %hi(D_80048380) # $v0, 0x8005 -/* 0BB9FC 7F086E8C 01816825 */ or $t5, $t4, $at -/* 0BBA00 7F086E90 AC6D0014 */ sw $t5, 0x14($v1) -/* 0BBA04 7F086E94 8C4283B0 */ lw $v0, %lo(D_80048380)($v0) -/* 0BBA08 7F086E98 24010003 */ li $at, 3 -/* 0BBA0C 7F086E9C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0BBA10 7F086EA0 0041001A */ div $zero, $v0, $at -/* 0BBA14 7F086EA4 00001010 */ mfhi $v0 -/* 0BBA18 7F086EA8 28410002 */ slti $at, $v0, 2 -/* 0BBA1C 7F086EAC 1020000E */ beqz $at, .Ljp7F086EE8 -/* 0BBA20 7F086EB0 240500B7 */ li $a1, 183 -/* 0BBA24 7F086EB4 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BBA28 7F086EB8 0C002386 */ jal play_sfx_a1 -/* 0BBA2C 7F086EBC 00003025 */ move $a2, $zero -/* 0BBA30 7F086EC0 00402025 */ move $a0, $v0 -/* 0BBA34 7F086EC4 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 0BBA38 7F086EC8 8FA50050 */ lw $a1, 0x50($sp) -/* 0BBA3C 7F086ECC 3C028005 */ lui $v0, %hi(D_80048380) # $v0, 0x8005 -/* 0BBA40 7F086ED0 8C4283B0 */ lw $v0, %lo(D_80048380)($v0) -/* 0BBA44 7F086ED4 24010003 */ li $at, 3 -/* 0BBA48 7F086ED8 0041001A */ div $zero, $v0, $at -/* 0BBA4C 7F086EDC 00001010 */ mfhi $v0 -/* 0BBA50 7F086EE0 00000000 */ nop -/* 0BBA54 7F086EE4 00000000 */ nop -.Ljp7F086EE8: -/* 0BBA58 7F086EE8 18400008 */ blez $v0, .Ljp7F086F0C -/* 0BBA5C 7F086EEC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0BBA60 7F086EF0 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BBA64 7F086EF4 240500D5 */ li $a1, 213 -/* 0BBA68 7F086EF8 0C002386 */ jal play_sfx_a1 -/* 0BBA6C 7F086EFC 00003025 */ move $a2, $zero -/* 0BBA70 7F086F00 00402025 */ move $a0, $v0 -/* 0BBA74 7F086F04 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 0BBA78 7F086F08 8FA50050 */ lw $a1, 0x50($sp) -.Ljp7F086F0C: -/* 0BBA7C 7F086F0C 8FAF007C */ lw $t7, 0x7c($sp) -.Ljp7F086F10: -/* 0BBA80 7F086F10 8FA40050 */ lw $a0, 0x50($sp) -/* 0BBA84 7F086F14 8FA50080 */ lw $a1, 0x80($sp) -/* 0BBA88 7F086F18 11E00006 */ beqz $t7, .Ljp7F086F34 -/* 0BBA8C 7F086F1C 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 0BBA90 7F086F20 0FC112BB */ jal sub_GAME_7F044718 -/* 0BBA94 7F086F24 24070004 */ li $a3, 4 -/* 0BBA98 7F086F28 50400003 */ beql $v0, $zero, .Ljp7F086F38 -/* 0BBA9C 7F086F2C 8FAA007C */ lw $t2, 0x7c($sp) -/* 0BBAA0 7F086F30 AFA0007C */ sw $zero, 0x7c($sp) -.Ljp7F086F34: -/* 0BBAA4 7F086F34 8FAA007C */ lw $t2, 0x7c($sp) -.Ljp7F086F38: -/* 0BBAA8 7F086F38 8FB90138 */ lw $t9, 0x138($sp) -/* 0BBAAC 7F086F3C 5540002B */ bnezl $t2, .Ljp7F086FEC -/* 0BBAB0 7F086F40 8FAC008C */ lw $t4, 0x8c($sp) -/* 0BBAB4 7F086F44 C7280058 */ lwc1 $f8, 0x58($t9) -/* 0BBAB8 7F086F48 4406A000 */ mfc1 $a2, $f20 -/* 0BBABC 7F086F4C 27A50070 */ addiu $a1, $sp, 0x70 -/* 0BBAC0 7F086F50 E7A80070 */ swc1 $f8, 0x70($sp) -/* 0BBAC4 7F086F54 C60A000C */ lwc1 $f10, 0xc($s0) -/* 0BBAC8 7F086F58 24070001 */ li $a3, 1 -/* 0BBACC 7F086F5C E7AA0074 */ swc1 $f10, 0x74($sp) -/* 0BBAD0 7F086F60 C7260060 */ lwc1 $f6, 0x60($t9) -/* 0BBAD4 7F086F64 E7A60078 */ swc1 $f6, 0x78($sp) -/* 0BBAD8 7F086F68 0FC09EC3 */ jal sub_GAME_7F027804 -/* 0BBADC 7F086F6C 8E040004 */ lw $a0, 4($s0) -/* 0BBAE0 7F086F70 1000001E */ b .Ljp7F086FEC -/* 0BBAE4 7F086F74 8FAC008C */ lw $t4, 0x8c($sp) -.Ljp7F086F78: -/* 0BBAE8 7F086F78 24010001 */ li $at, 1 -/* 0BBAEC 7F086F7C 1441001A */ bne $v0, $at, .Ljp7F086FE8 -/* 0BBAF0 7F086F80 02002025 */ move $a0, $s0 -/* 0BBAF4 7F086F84 27A50064 */ addiu $a1, $sp, 0x64 -/* 0BBAF8 7F086F88 0FC0F3EC */ jal sub_GAME_7F03CCB0 -/* 0BBAFC 7F086F8C 27A60060 */ addiu $a2, $sp, 0x60 -/* 0BBB00 7F086F90 8FA50060 */ lw $a1, 0x60($sp) -/* 0BBB04 7F086F94 8FA40064 */ lw $a0, 0x64($sp) -/* 0BBB08 7F086F98 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 0BBB0C 7F086F9C 58A00013 */ blezl $a1, .Ljp7F086FEC -/* 0BBB10 7F086FA0 8FAC008C */ lw $t4, 0x8c($sp) -/* 0BBB14 7F086FA4 0FC11268 */ jal sub_GAME_7F0446B8 -/* 0BBB18 7F086FA8 24070004 */ li $a3, 4 -/* 0BBB1C 7F086FAC 5040000F */ beql $v0, $zero, .Ljp7F086FEC -/* 0BBB20 7F086FB0 8FAC008C */ lw $t4, 0x8c($sp) -/* 0BBB24 7F086FB4 0FC26F3C */ jal get_cur_playernum -/* 0BBB28 7F086FB8 00000000 */ nop -/* 0BBB2C 7F086FBC 8E060004 */ lw $a2, 4($s0) -/* 0BBB30 7F086FC0 3C05461C */ lui $a1, (0x461C4000 >> 16) # lui $a1, 0x461c -/* 0BBB34 7F086FC4 34A54000 */ ori $a1, (0x461C4000 & 0xFFFF) # ori $a1, $a1, 0x4000 -/* 0BBB38 7F086FC8 AFA20010 */ sw $v0, 0x10($sp) -/* 0BBB3C 7F086FCC 02002025 */ move $a0, $s0 -/* 0BBB40 7F086FD0 24070020 */ li $a3, 32 -/* 0BBB44 7F086FD4 0FC138C0 */ jal sub_GAME_7F04DEFC -/* 0BBB48 7F086FD8 24C60058 */ addiu $a2, $a2, 0x58 -/* 0BBB4C 7F086FDC 240B005A */ li $t3, 90 -/* 0BBB50 7F086FE0 3C018003 */ lui $at, %hi(D_80036490) # $at, 0x8003 -/* 0BBB54 7F086FE4 AC2B64D0 */ sw $t3, %lo(D_80036490)($at) -.Ljp7F086FE8: -/* 0BBB58 7F086FE8 8FAC008C */ lw $t4, 0x8c($sp) -.Ljp7F086FEC: -/* 0BBB5C 7F086FEC 258D0002 */ addiu $t5, $t4, 2 -/* 0BBB60 7F086FF0 AFAD008C */ sw $t5, 0x8c($sp) -/* 0BBB64 7F086FF4 85A20000 */ lh $v0, ($t5) -/* 0BBB68 7F086FF8 0443FF76 */ bgezl $v0, .Ljp7F086DD4 -/* 0BBB6C 7F086FFC 8FAE0138 */ lw $t6, 0x138($sp) -/* 0BBB70 7F087000 8FA40394 */ lw $a0, 0x394($sp) -.Ljp7F087004: -/* 0BBB74 7F087004 0FC20502 */ jal sub_GAME_7F080DF8 -/* 0BBB78 7F087008 8FA50390 */ lw $a1, 0x390($sp) -/* 0BBB7C 7F08700C 0FC206A2 */ jal sub_GAME_7F081478 -/* 0BBB80 7F087010 00000000 */ nop -/* 0BBB84 7F087014 0FC22A35 */ jal sub_GAME_7F08A19C -/* 0BBB88 7F087018 00000000 */ nop -/* 0BBB8C 7F08701C 0FC24697 */ jal get_debug_man_pos_flag -/* 0BBB90 7F087020 00000000 */ nop -/* 0BBB94 7F087024 50400008 */ beql $v0, $zero, .Ljp7F087048 -/* 0BBB98 7F087028 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BBB9C 7F08702C 8E280000 */ lw $t0, ($s1) -/* 0BBBA0 7F087030 27A7005C */ addiu $a3, $sp, 0x5c -/* 0BBBA4 7F087034 8D040488 */ lw $a0, 0x488($t0) -/* 0BBBA8 7F087038 8D05048C */ lw $a1, 0x48c($t0) -/* 0BBBAC 7F08703C 0FC2CDF7 */ jal copy_tile_RGB_as_24bit -/* 0BBBB0 7F087040 8D060494 */ lw $a2, 0x494($t0) -/* 0BBBB4 7F087044 8FBF002C */ lw $ra, 0x2c($sp) -.Ljp7F087048: -/* 0BBBB8 7F087048 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0BBBBC 7F08704C 8FB00024 */ lw $s0, 0x24($sp) -/* 0BBBC0 7F087050 8FB10028 */ lw $s1, 0x28($sp) -/* 0BBBC4 7F087054 03E00008 */ jr $ra -/* 0BBBC8 7F087058 27BD03B8 */ addiu $sp, $sp, 0x3b8 - -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F086990(s32 arg0, s32 arg1, ? arg2, ? arg_unalignedA, ? arg3, ? arg_unalignedE) { - ? sp30; - ? sp3C; - f32 sp40; - f32 sp48; - ? sp4C; - ? sp58; - ? sp64; - - // Node 0 - sp64 = (?32) D_80036800; - sp64.unk4 = (?32) D_80036800.unk4; - sp64.unk8 = (?32) D_80036800.unk8; - sp58 = (?32) D_8003680C; - sp58.unk4 = (?32) D_8003680C.unk4; - sp58.unk8 = (?32) D_8003680C.unk8; - sp4C = (?32) D_80036818; - sp4C.unk4 = (?32) D_80036818.unk4; - sp4C.unk8 = (?32) D_80036818.unk8; - sp40 = (?32) D_80036824; - sp40.unk4 = (?32) D_80036824.unk4; - sp40.unk8 = (?32) D_80036824.unk8; - sub_GAME_7F083FC8(); - sub_GAME_7F084360(); - controller_gameplay_interaction(0, 0, 0, 0); - sub_GAME_7F081790(); - sub_GAME_7F080B34(0, 0, 0); - if ((0.0f != flt_CODE_bss_80079990) || (0.0f != flt_CODE_bss_80079990.unk8)) - { - // Node 2 - sp40 = (f32) (sp40 + (flt_CODE_bss_80079990 * global_timer_delta)); - sp48 = (f32) (sp48 + (flt_CODE_bss_80079990.unk8 * global_timer_delta)); - } - else - { - - } - // Node 3 - sp40 = (f32) (sp40 + (((pPlayer->field_504 * pPlayer->field_498) - (pPlayer->field_4FC * pPlayer->field_4A0)) * global_timer_delta)); - sp48 = (f32) (sp48 + (((pPlayer->field_504 * pPlayer->field_4A0) + (pPlayer->field_4FC * pPlayer->field_498)) * global_timer_delta)); - sub_GAME_7F07D960(0.0f, &sp40, 1); - sub_GAME_7F080DF8(0, 0, 0); - sub_GAME_7F081478(); - if (cameramode != 4) - { - // Node 4 - if (cameramode != 0xa) - { - // Node 5 - if (cameramode != 0xa) - { - // Node 7 - sub_GAME_7F07B56C(arg_unalignedA, arg_unalignedE, &sp64, &sp58, &sp4C, &sp3C, &sp30); - setptrBONDdata(1); - // Node 8 - return setptrBONDdata(0); - } - } - } - // Node 6 - return setptrBONDdata(0); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F086990 -/* 0BB4C0 7F086990 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0BB4C4 7F086994 3C0F8003 */ lui $t7, %hi(D_80036800) -/* 0BB4C8 7F086998 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BB4CC 7F08699C AFA40070 */ sw $a0, 0x70($sp) -/* 0BB4D0 7F0869A0 AFA50074 */ sw $a1, 0x74($sp) -/* 0BB4D4 7F0869A4 AFA60078 */ sw $a2, 0x78($sp) -/* 0BB4D8 7F0869A8 AFA7007C */ sw $a3, 0x7c($sp) -/* 0BB4DC 7F0869AC 25EF6800 */ addiu $t7, %lo(D_80036800) # addiu $t7, $t7, 0x6800 -/* 0BB4E0 7F0869B0 8DE10000 */ lw $at, ($t7) -/* 0BB4E4 7F0869B4 27AE0064 */ addiu $t6, $sp, 0x64 -/* 0BB4E8 7F0869B8 8DE80004 */ lw $t0, 4($t7) -/* 0BB4EC 7F0869BC ADC10000 */ sw $at, ($t6) -/* 0BB4F0 7F0869C0 8DE10008 */ lw $at, 8($t7) -/* 0BB4F4 7F0869C4 3C0A8003 */ lui $t2, %hi(D_8003680C) -/* 0BB4F8 7F0869C8 254A680C */ addiu $t2, %lo(D_8003680C) # addiu $t2, $t2, 0x680c -/* 0BB4FC 7F0869CC ADC80004 */ sw $t0, 4($t6) -/* 0BB500 7F0869D0 ADC10008 */ sw $at, 8($t6) -/* 0BB504 7F0869D4 8D410000 */ lw $at, ($t2) -/* 0BB508 7F0869D8 27A90058 */ addiu $t1, $sp, 0x58 -/* 0BB50C 7F0869DC 8D4D0004 */ lw $t5, 4($t2) -/* 0BB510 7F0869E0 AD210000 */ sw $at, ($t1) -/* 0BB514 7F0869E4 8D410008 */ lw $at, 8($t2) -/* 0BB518 7F0869E8 3C188003 */ lui $t8, %hi(D_80036818) -/* 0BB51C 7F0869EC 27186818 */ addiu $t8, %lo(D_80036818) # addiu $t8, $t8, 0x6818 -/* 0BB520 7F0869F0 AD2D0004 */ sw $t5, 4($t1) -/* 0BB524 7F0869F4 AD210008 */ sw $at, 8($t1) -/* 0BB528 7F0869F8 8F010000 */ lw $at, ($t8) -/* 0BB52C 7F0869FC 27B9004C */ addiu $t9, $sp, 0x4c -/* 0BB530 7F086A00 8F080004 */ lw $t0, 4($t8) -/* 0BB534 7F086A04 AF210000 */ sw $at, ($t9) -/* 0BB538 7F086A08 8F010008 */ lw $at, 8($t8) -/* 0BB53C 7F086A0C 3C0B8003 */ lui $t3, %hi(D_80036824) -/* 0BB540 7F086A10 256B6824 */ addiu $t3, %lo(D_80036824) # addiu $t3, $t3, 0x6824 -/* 0BB544 7F086A14 AF280004 */ sw $t0, 4($t9) -/* 0BB548 7F086A18 AF210008 */ sw $at, 8($t9) -/* 0BB54C 7F086A1C 8D610000 */ lw $at, ($t3) -/* 0BB550 7F086A20 27AC0040 */ addiu $t4, $sp, 0x40 -/* 0BB554 7F086A24 8D6D0004 */ lw $t5, 4($t3) -/* 0BB558 7F086A28 AD810000 */ sw $at, ($t4) -/* 0BB55C 7F086A2C 8D610008 */ lw $at, 8($t3) -/* 0BB560 7F086A30 AD8D0004 */ sw $t5, 4($t4) -/* 0BB564 7F086A34 0FC20FF2 */ jal sub_GAME_7F083FC8 -/* 0BB568 7F086A38 AD810008 */ sw $at, 8($t4) -/* 0BB56C 7F086A3C 0FC210D8 */ jal sub_GAME_7F084360 -/* 0BB570 7F086A40 00000000 */ nop -/* 0BB574 7F086A44 00002025 */ move $a0, $zero -/* 0BB578 7F086A48 00002825 */ move $a1, $zero -/* 0BB57C 7F086A4C 00003025 */ move $a2, $zero -/* 0BB580 7F086A50 0FC2065D */ jal controller_gameplay_interaction -/* 0BB584 7F086A54 00003825 */ move $a3, $zero -/* 0BB588 7F086A58 0FC205E4 */ jal sub_GAME_7F081790 -/* 0BB58C 7F086A5C 00000000 */ nop -/* 0BB590 7F086A60 44806000 */ mtc1 $zero, $f12 -/* 0BB594 7F086A64 00000000 */ nop -/* 0BB598 7F086A68 44066000 */ mfc1 $a2, $f12 -/* 0BB59C 7F086A6C 0FC202CD */ jal sub_GAME_7F080B34 -/* 0BB5A0 7F086A70 46006386 */ mov.s $f14, $f12 -/* 0BB5A4 7F086A74 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079990) -/* 0BB5A8 7F086A78 24429990 */ addiu $v0, %lo(flt_CODE_bss_80079990) # addiu $v0, $v0, -0x6670 -/* 0BB5AC 7F086A7C 44806000 */ mtc1 $zero, $f12 -/* 0BB5B0 7F086A80 C4420000 */ lwc1 $f2, ($v0) -/* 0BB5B4 7F086A84 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BB5B8 7F086A88 46026032 */ c.eq.s $f12, $f2 -/* 0BB5BC 7F086A8C 00000000 */ nop -/* 0BB5C0 7F086A90 45000006 */ bc1f .L7F086AAC -/* 0BB5C4 7F086A94 00000000 */ nop -/* 0BB5C8 7F086A98 C4440008 */ lwc1 $f4, 8($v0) -/* 0BB5CC 7F086A9C 46046032 */ c.eq.s $f12, $f4 -/* 0BB5D0 7F086AA0 00000000 */ nop -/* 0BB5D4 7F086AA4 4501000B */ bc1t .L7F086AD4 -/* 0BB5D8 7F086AA8 00000000 */ nop -.L7F086AAC: -/* 0BB5DC 7F086AAC C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 0BB5E0 7F086AB0 C4520008 */ lwc1 $f18, 8($v0) -/* 0BB5E4 7F086AB4 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 0BB5E8 7F086AB8 46001202 */ mul.s $f8, $f2, $f0 -/* 0BB5EC 7F086ABC C7B00048 */ lwc1 $f16, 0x48($sp) -/* 0BB5F0 7F086AC0 46009102 */ mul.s $f4, $f18, $f0 -/* 0BB5F4 7F086AC4 46083280 */ add.s $f10, $f6, $f8 -/* 0BB5F8 7F086AC8 46048180 */ add.s $f6, $f16, $f4 -/* 0BB5FC 7F086ACC E7AA0040 */ swc1 $f10, 0x40($sp) -/* 0BB600 7F086AD0 E7A60048 */ swc1 $f6, 0x48($sp) -.L7F086AD4: -/* 0BB604 7F086AD4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BB608 7F086AD8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BB60C 7F086ADC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0BB610 7F086AE0 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 0BB614 7F086AE4 C4480504 */ lwc1 $f8, 0x504($v0) -/* 0BB618 7F086AE8 C44A0498 */ lwc1 $f10, 0x498($v0) -/* 0BB61C 7F086AEC C45004FC */ lwc1 $f16, 0x4fc($v0) -/* 0BB620 7F086AF0 C44404A0 */ lwc1 $f4, 0x4a0($v0) -/* 0BB624 7F086AF4 460A4482 */ mul.s $f18, $f8, $f10 -/* 0BB628 7F086AF8 27A40040 */ addiu $a0, $sp, 0x40 -/* 0BB62C 7F086AFC 24050001 */ li $a1, 1 -/* 0BB630 7F086B00 46048182 */ mul.s $f6, $f16, $f4 -/* 0BB634 7F086B04 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 0BB638 7F086B08 46069201 */ sub.s $f8, $f18, $f6 -/* 0BB63C 7F086B0C 46004282 */ mul.s $f10, $f8, $f0 -/* 0BB640 7F086B10 460A8100 */ add.s $f4, $f16, $f10 -/* 0BB644 7F086B14 E7A40040 */ swc1 $f4, 0x40($sp) -/* 0BB648 7F086B18 C44604A0 */ lwc1 $f6, 0x4a0($v0) -/* 0BB64C 7F086B1C C4520504 */ lwc1 $f18, 0x504($v0) -/* 0BB650 7F086B20 C44A0498 */ lwc1 $f10, 0x498($v0) -/* 0BB654 7F086B24 C45004FC */ lwc1 $f16, 0x4fc($v0) -/* 0BB658 7F086B28 46069202 */ mul.s $f8, $f18, $f6 -/* 0BB65C 7F086B2C 00000000 */ nop -/* 0BB660 7F086B30 460A8102 */ mul.s $f4, $f16, $f10 -/* 0BB664 7F086B34 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 0BB668 7F086B38 46044480 */ add.s $f18, $f8, $f4 -/* 0BB66C 7F086B3C 46009182 */ mul.s $f6, $f18, $f0 -/* 0BB670 7F086B40 46068280 */ add.s $f10, $f16, $f6 -/* 0BB674 7F086B44 0FC1F658 */ jal sub_GAME_7F07D960 -/* 0BB678 7F086B48 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 0BB67C 7F086B4C 44806000 */ mtc1 $zero, $f12 -/* 0BB680 7F086B50 00002025 */ move $a0, $zero -/* 0BB684 7F086B54 44056000 */ mfc1 $a1, $f12 -/* 0BB688 7F086B58 0FC2037E */ jal sub_GAME_7F080DF8 -/* 0BB68C 7F086B5C 00000000 */ nop -/* 0BB690 7F086B60 0FC2051E */ jal sub_GAME_7F081478 -/* 0BB694 7F086B64 00000000 */ nop -/* 0BB698 7F086B68 3C028003 */ lui $v0, %hi(cameramode) -/* 0BB69C 7F086B6C 8C426494 */ lw $v0, %lo(cameramode)($v0) -/* 0BB6A0 7F086B70 24010008 */ li $at, 8 -/* 0BB6A4 7F086B74 10410005 */ beq $v0, $at, .L7F086B8C -/* 0BB6A8 7F086B78 24010004 */ li $at, 4 -/* 0BB6AC 7F086B7C 10410003 */ beq $v0, $at, .L7F086B8C -/* 0BB6B0 7F086B80 2401000A */ li $at, 10 -/* 0BB6B4 7F086B84 14410005 */ bne $v0, $at, .L7F086B9C -/* 0BB6B8 7F086B88 97A4007A */ lhu $a0, 0x7a($sp) -.L7F086B8C: -/* 0BB6BC 7F086B8C 0FC1E694 */ jal setptrBONDdata -/* 0BB6C0 7F086B90 00002025 */ move $a0, $zero -/* 0BB6C4 7F086B94 10000015 */ b .L7F086BEC -/* 0BB6C8 7F086B98 8FBF0024 */ lw $ra, 0x24($sp) -.L7F086B9C: -/* 0BB6CC 7F086B9C 27AF004C */ addiu $t7, $sp, 0x4c -/* 0BB6D0 7F086BA0 27AE003C */ addiu $t6, $sp, 0x3c -/* 0BB6D4 7F086BA4 27B90030 */ addiu $t9, $sp, 0x30 -/* 0BB6D8 7F086BA8 AFB90018 */ sw $t9, 0x18($sp) -/* 0BB6DC 7F086BAC AFAE0014 */ sw $t6, 0x14($sp) -/* 0BB6E0 7F086BB0 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BB6E4 7F086BB4 97A5007E */ lhu $a1, 0x7e($sp) -/* 0BB6E8 7F086BB8 27A60064 */ addiu $a2, $sp, 0x64 -/* 0BB6EC 7F086BBC 0FC1ED5B */ jal sub_GAME_7F07B56C -/* 0BB6F0 7F086BC0 27A70058 */ addiu $a3, $sp, 0x58 -/* 0BB6F4 7F086BC4 0FC1E694 */ jal setptrBONDdata -/* 0BB6F8 7F086BC8 24040001 */ li $a0, 1 -/* 0BB6FC 7F086BCC 27B80030 */ addiu $t8, $sp, 0x30 -/* 0BB700 7F086BD0 AFB80010 */ sw $t8, 0x10($sp) -/* 0BB704 7F086BD4 27A40064 */ addiu $a0, $sp, 0x64 -/* 0BB708 7F086BD8 27A50058 */ addiu $a1, $sp, 0x58 -/* 0BB70C 7F086BDC 27A6004C */ addiu $a2, $sp, 0x4c -/* 0BB710 7F086BE0 0FC1E698 */ jal sub_GAME_7F079A60 -/* 0BB714 7F086BE4 8FA7003C */ lw $a3, 0x3c($sp) -/* 0BB718 7F086BE8 8FBF0024 */ lw $ra, 0x24($sp) -.L7F086BEC: -/* 0BB71C 7F086BEC 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0BB720 7F086BF0 03E00008 */ jr $ra -/* 0BB724 7F086BF4 00000000 */ nop -) -#endif - - - - - -int getWidth320or440(void) { - if (camera_8003642C != 0) - { - return 440; - } - return 320; -} - -int getHeight330or240(void) { - if (camera_8003642C != 0) - { - return 330; - } - return 240; -} - -s32 get_curplayer_viewport_width(void) -{ - if (get_num_players() >= 3) - { - return 159; - } - if (camera_8003642C != 0) - { - return 440; - } - if (cur_player_get_screen_setting() == 1) - { - return 320; - } - if (cur_player_get_screen_setting() == 2) - { - return 320; - } - return 320; -} - -s32 get_curplayer_viewport_ulx(void) -{ - - if (2 < get_num_players()) { - if ((get_cur_playernum() == 1) || (get_cur_playernum() == 3)) { - return 0xa1; - } - } - return 0; -} - - - - -#ifdef NONMATCHING -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( -.text -glabel get_curplayer_viewport_height -/* 0BB854 7F086D24 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BB858 7F086D28 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BB85C 7F086D2C 0FC26919 */ jal get_num_players -/* 0BB860 7F086D30 00000000 */ nop -/* 0BB864 7F086D34 28410002 */ slti $at, $v0, 2 -/* 0BB868 7F086D38 14200003 */ bnez $at, .L7F086D48 -/* 0BB86C 7F086D3C 3C0E8003 */ lui $t6, %hi(camera_8003642C) -/* 0BB870 7F086D40 10000039 */ b .L7F086E28 -/* 0BB874 7F086D44 2402006D */ li $v0, 109 -.L7F086D48: -/* 0BB878 7F086D48 8DCE642C */ lw $t6, %lo(camera_8003642C)($t6) -/* 0BB87C 7F086D4C 11C00011 */ beqz $t6, .L7F086D94 -/* 0BB880 7F086D50 00000000 */ nop -/* 0BB884 7F086D54 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BB888 7F086D58 00000000 */ nop -/* 0BB88C 7F086D5C 24010001 */ li $at, 1 -/* 0BB890 7F086D60 14410003 */ bne $v0, $at, .L7F086D70 -/* 0BB894 7F086D64 00000000 */ nop -/* 0BB898 7F086D68 1000002F */ b .L7F086E28 -/* 0BB89C 7F086D6C 240200F8 */ li $v0, 248 -.L7F086D70: -/* 0BB8A0 7F086D70 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BB8A4 7F086D74 00000000 */ nop -/* 0BB8A8 7F086D78 24010002 */ li $at, 2 -/* 0BB8AC 7F086D7C 14410003 */ bne $v0, $at, .L7F086D8C -/* 0BB8B0 7F086D80 00000000 */ nop -/* 0BB8B4 7F086D84 10000028 */ b .L7F086E28 -/* 0BB8B8 7F086D88 240200BE */ li $v0, 190 -.L7F086D8C: -/* 0BB8BC 7F086D8C 10000026 */ b .L7F086E28 -/* 0BB8C0 7F086D90 24020130 */ li $v0, 304 -.L7F086D94: -/* 0BB8C4 7F086D94 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BB8C8 7F086D98 00000000 */ nop -/* 0BB8CC 7F086D9C 24010001 */ li $at, 1 -/* 0BB8D0 7F086DA0 1441000E */ bne $v0, $at, .L7F086DDC -/* 0BB8D4 7F086DA4 00000000 */ nop -/* 0BB8D8 7F086DA8 0FC1FA9E */ jal sub_GAME_7F07EA78 -/* 0BB8DC 7F086DAC 00000000 */ nop -/* 0BB8E0 7F086DB0 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0BB8E4 7F086DB4 44812000 */ mtc1 $at, $f4 -/* 0BB8E8 7F086DB8 00000000 */ nop -/* 0BB8EC 7F086DBC 46002182 */ mul.s $f6, $f4, $f0 -/* 0BB8F0 7F086DC0 4600320D */ trunc.w.s $f8, $f6 -/* 0BB8F4 7F086DC4 44024000 */ mfc1 $v0, $f8 -/* 0BB8F8 7F086DC8 00000000 */ nop -/* 0BB8FC 7F086DCC 244200B4 */ addiu $v0, $v0, 0xb4 -/* 0BB900 7F086DD0 0002C400 */ sll $t8, $v0, 0x10 -/* 0BB904 7F086DD4 10000014 */ b .L7F086E28 -/* 0BB908 7F086DD8 00181403 */ sra $v0, $t8, 0x10 -.L7F086DDC: -/* 0BB90C 7F086DDC 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BB910 7F086DE0 00000000 */ nop -/* 0BB914 7F086DE4 24010002 */ li $at, 2 -/* 0BB918 7F086DE8 5441000F */ bnel $v0, $at, .L7F086E28 -/* 0BB91C 7F086DEC 240200DC */ li $v0, 220 -/* 0BB920 7F086DF0 0FC1FA9E */ jal sub_GAME_7F07EA78 -/* 0BB924 7F086DF4 00000000 */ nop -/* 0BB928 7F086DF8 3C0142A8 */ li $at, 0x42A80000 # 84.000000 -/* 0BB92C 7F086DFC 44815000 */ mtc1 $at, $f10 -/* 0BB930 7F086E00 00000000 */ nop -/* 0BB934 7F086E04 46005402 */ mul.s $f16, $f10, $f0 -/* 0BB938 7F086E08 4600848D */ trunc.w.s $f18, $f16 -/* 0BB93C 7F086E0C 44029000 */ mfc1 $v0, $f18 -/* 0BB940 7F086E10 00000000 */ nop -/* 0BB944 7F086E14 24420088 */ addiu $v0, $v0, 0x88 -/* 0BB948 7F086E18 00024C00 */ sll $t1, $v0, 0x10 -/* 0BB94C 7F086E1C 10000002 */ b .L7F086E28 -/* 0BB950 7F086E20 00091403 */ sra $v0, $t1, 0x10 -/* 0BB954 7F086E24 240200DC */ li $v0, 220 -.L7F086E28: -/* 0BB958 7F086E28 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BB95C 7F086E2C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BB960 7F086E30 03E00008 */ jr $ra -/* 0BB964 7F086E34 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_curplayer_viewport_uly(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_curplayer_viewport_uly -/* 0BB968 7F086E38 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BB96C 7F086E3C AFBF0014 */ sw $ra, 0x14($sp) -/* 0BB970 7F086E40 0FC26919 */ jal get_num_players -/* 0BB974 7F086E44 00000000 */ nop -/* 0BB978 7F086E48 24010002 */ li $at, 2 -/* 0BB97C 7F086E4C 14410009 */ bne $v0, $at, .L7F086E74 -/* 0BB980 7F086E50 00000000 */ nop -/* 0BB984 7F086E54 0FC26C54 */ jal get_cur_playernum -/* 0BB988 7F086E58 00000000 */ nop -/* 0BB98C 7F086E5C 14400003 */ bnez $v0, .L7F086E6C -/* 0BB990 7F086E60 00000000 */ nop -/* 0BB994 7F086E64 10000049 */ b .L7F086F8C -/* 0BB998 7F086E68 2402000A */ li $v0, 10 -.L7F086E6C: -/* 0BB99C 7F086E6C 10000047 */ b .L7F086F8C -/* 0BB9A0 7F086E70 24020079 */ li $v0, 121 -.L7F086E74: -/* 0BB9A4 7F086E74 0FC26919 */ jal get_num_players -/* 0BB9A8 7F086E78 00000000 */ nop -/* 0BB9AC 7F086E7C 28410003 */ slti $at, $v0, 3 -/* 0BB9B0 7F086E80 1420000A */ bnez $at, .L7F086EAC -/* 0BB9B4 7F086E84 3C0E8003 */ lui $t6, %hi(camera_8003642C) -/* 0BB9B8 7F086E88 0FC26C54 */ jal get_cur_playernum -/* 0BB9BC 7F086E8C 00000000 */ nop -/* 0BB9C0 7F086E90 28410002 */ slti $at, $v0, 2 -/* 0BB9C4 7F086E94 10200003 */ beqz $at, .L7F086EA4 -/* 0BB9C8 7F086E98 00000000 */ nop -/* 0BB9CC 7F086E9C 1000003B */ b .L7F086F8C -/* 0BB9D0 7F086EA0 2402000A */ li $v0, 10 -.L7F086EA4: -/* 0BB9D4 7F086EA4 10000039 */ b .L7F086F8C -/* 0BB9D8 7F086EA8 24020079 */ li $v0, 121 -.L7F086EAC: -/* 0BB9DC 7F086EAC 8DCE642C */ lw $t6, %lo(camera_8003642C)($t6) -/* 0BB9E0 7F086EB0 11C00011 */ beqz $t6, .L7F086EF8 -/* 0BB9E4 7F086EB4 00000000 */ nop -/* 0BB9E8 7F086EB8 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BB9EC 7F086EBC 00000000 */ nop -/* 0BB9F0 7F086EC0 24010001 */ li $at, 1 -/* 0BB9F4 7F086EC4 14410003 */ bne $v0, $at, .L7F086ED4 -/* 0BB9F8 7F086EC8 00000000 */ nop -/* 0BB9FC 7F086ECC 1000002F */ b .L7F086F8C -/* 0BBA00 7F086ED0 24020029 */ li $v0, 41 -.L7F086ED4: -/* 0BBA04 7F086ED4 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BBA08 7F086ED8 00000000 */ nop -/* 0BBA0C 7F086EDC 24010002 */ li $at, 2 -/* 0BBA10 7F086EE0 14410003 */ bne $v0, $at, .L7F086EF0 -/* 0BBA14 7F086EE4 00000000 */ nop -/* 0BBA18 7F086EE8 10000028 */ b .L7F086F8C -/* 0BBA1C 7F086EEC 24020046 */ li $v0, 70 -.L7F086EF0: -/* 0BBA20 7F086EF0 10000026 */ b .L7F086F8C -/* 0BBA24 7F086EF4 2402000D */ li $v0, 13 -.L7F086EF8: -/* 0BBA28 7F086EF8 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BBA2C 7F086EFC 00000000 */ nop -/* 0BBA30 7F086F00 24010001 */ li $at, 1 -/* 0BBA34 7F086F04 1441000E */ bne $v0, $at, .L7F086F40 -/* 0BBA38 7F086F08 00000000 */ nop -/* 0BBA3C 7F086F0C 0FC1FA9E */ jal sub_GAME_7F07EA78 -/* 0BBA40 7F086F10 00000000 */ nop -/* 0BBA44 7F086F14 3C01C1A0 */ li $at, 0xC1A00000 # -20.000000 -/* 0BBA48 7F086F18 44812000 */ mtc1 $at, $f4 -/* 0BBA4C 7F086F1C 00000000 */ nop -/* 0BBA50 7F086F20 46002182 */ mul.s $f6, $f4, $f0 -/* 0BBA54 7F086F24 4600320D */ trunc.w.s $f8, $f6 -/* 0BBA58 7F086F28 44024000 */ mfc1 $v0, $f8 -/* 0BBA5C 7F086F2C 00000000 */ nop -/* 0BBA60 7F086F30 2442001E */ addiu $v0, $v0, 0x1e -/* 0BBA64 7F086F34 0002C400 */ sll $t8, $v0, 0x10 -/* 0BBA68 7F086F38 10000014 */ b .L7F086F8C -/* 0BBA6C 7F086F3C 00181403 */ sra $v0, $t8, 0x10 -.L7F086F40: -/* 0BBA70 7F086F40 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BBA74 7F086F44 00000000 */ nop -/* 0BBA78 7F086F48 24010002 */ li $at, 2 -/* 0BBA7C 7F086F4C 5441000F */ bnel $v0, $at, .L7F086F8C -/* 0BBA80 7F086F50 2402000A */ li $v0, 10 -/* 0BBA84 7F086F54 0FC1FA9E */ jal sub_GAME_7F07EA78 -/* 0BBA88 7F086F58 00000000 */ nop -/* 0BBA8C 7F086F5C 3C01C228 */ li $at, 0xC2280000 # -42.000000 -/* 0BBA90 7F086F60 44815000 */ mtc1 $at, $f10 -/* 0BBA94 7F086F64 00000000 */ nop -/* 0BBA98 7F086F68 46005402 */ mul.s $f16, $f10, $f0 -/* 0BBA9C 7F086F6C 4600848D */ trunc.w.s $f18, $f16 -/* 0BBAA0 7F086F70 44029000 */ mfc1 $v0, $f18 -/* 0BBAA4 7F086F74 00000000 */ nop -/* 0BBAA8 7F086F78 24420034 */ addiu $v0, $v0, 0x34 -/* 0BBAAC 7F086F7C 00024C00 */ sll $t1, $v0, 0x10 -/* 0BBAB0 7F086F80 10000002 */ b .L7F086F8C -/* 0BBAB4 7F086F84 00091403 */ sra $v0, $t1, 0x10 -/* 0BBAB8 7F086F88 2402000A */ li $v0, 10 -.L7F086F8C: -/* 0BBABC 7F086F8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BBAC0 7F086F90 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BBAC4 7F086F94 03E00008 */ jr $ra -/* 0BBAC8 7F086F98 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void possibly_reset_viewport_options_for_player(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80055264 -.word 0x3fe38e39 /*1.7777778*/ -glabel D_80055268 -.word 0x3fe38e39 /*1.7777778*/ -.text -glabel possibly_reset_viewport_options_for_player -/* 0BBACC 7F086F9C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BBAD0 7F086FA0 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BBAD4 7F086FA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BBAD8 7F086FA8 44816000 */ mtc1 $at, $f12 -/* 0BBADC 7F086FAC AFA40020 */ sw $a0, 0x20($sp) -/* 0BBAE0 7F086FB0 AFA50024 */ sw $a1, 0x24($sp) -/* 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 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 -/* 0BBB04 7F086FD4 8C620000 */ lw $v0, ($v1) -/* 0BBB08 7F086FD8 10400016 */ beqz $v0, .L7F087034 -/* 0BBB0C 7F086FDC 28410004 */ slti $at, $v0, 4 -/* 0BBB10 7F086FE0 14200010 */ bnez $at, .L7F087024 -/* 0BBB14 7F086FE4 3C0E8003 */ lui $t6, %hi(resolution) -/* 0BBB18 7F086FE8 8DCE6428 */ lw $t6, %lo(resolution)($t6) -/* 0BBB1C 7F086FEC 51C0000E */ beql $t6, $zero, .L7F087028 -/* 0BBB20 7F086FF0 8C790000 */ lw $t9, ($v1) -/* 0BBB24 7F086FF4 0C000F07 */ jal get_video_settings2_frameb -/* 0BBB28 7F086FF8 00000000 */ nop -/* 0BBB2C 7F086FFC 3C0F803E */ lui $t7, %hi(cfb_16_b) # $t7, 0x803e -/* 0BBB30 7F087000 25EFA800 */ addiu $t7, %lo(cfb_16_b) # addiu $t7, $t7, -0x5800 -/* 0BBB34 7F087004 3C038003 */ lui $v1, %hi(camera_80036430) -/* 0BBB38 7F087008 144F0006 */ bne $v0, $t7, .L7F087024 -/* 0BBB3C 7F08700C 24636430 */ addiu $v1, %lo(camera_80036430) # addiu $v1, $v1, 0x6430 -/* 0BBB40 7F087010 24180001 */ li $t8, 1 -/* 0BBB44 7F087014 3C018003 */ lui $at, %hi(camera_8003642C) -/* 0BBB48 7F087018 AC38642C */ sw $t8, %lo(camera_8003642C)($at) -/* 0BBB4C 7F08701C 1000001A */ b .L7F087088 -/* 0BBB50 7F087020 AC600000 */ sw $zero, ($v1) -.L7F087024: -/* 0BBB54 7F087024 8C790000 */ lw $t9, ($v1) -.L7F087028: -/* 0BBB58 7F087028 27280001 */ addiu $t0, $t9, 1 -/* 0BBB5C 7F08702C 10000016 */ b .L7F087088 -/* 0BBB60 7F087030 AC680000 */ sw $t0, ($v1) -.L7F087034: -/* 0BBB64 7F087034 3C038003 */ lui $v1, %hi(camera_80036434) -/* 0BBB68 7F087038 24636434 */ addiu $v1, %lo(camera_80036434) # addiu $v1, $v1, 0x6434 -/* 0BBB6C 7F08703C 8C620000 */ lw $v0, ($v1) -/* 0BBB70 7F087040 10400011 */ beqz $v0, .L7F087088 -/* 0BBB74 7F087044 28410004 */ slti $at, $v0, 4 -/* 0BBB78 7F087048 5420000D */ bnezl $at, .L7F087080 -/* 0BBB7C 7F08704C 8C6A0000 */ lw $t2, ($v1) -/* 0BBB80 7F087050 0C000F07 */ jal get_video_settings2_frameb -/* 0BBB84 7F087054 00000000 */ nop -/* 0BBB88 7F087058 3C09803B */ lui $t1, %hi(cfb_16_a) # $t1, 0x803b -/* 0BBB8C 7F08705C 25295000 */ addiu $t1, %lo(cfb_16_a) # addiu $t1, $t1, 0x5000 -/* 0BBB90 7F087060 3C038003 */ lui $v1, %hi(camera_80036434) -/* 0BBB94 7F087064 14490005 */ bne $v0, $t1, .L7F08707C -/* 0BBB98 7F087068 24636434 */ addiu $v1, %lo(camera_80036434) # addiu $v1, $v1, 0x6434 -/* 0BBB9C 7F08706C 3C018003 */ lui $at, %hi(camera_8003642C) -/* 0BBBA0 7F087070 AC20642C */ sw $zero, %lo(camera_8003642C)($at) -/* 0BBBA4 7F087074 10000004 */ b .L7F087088 -/* 0BBBA8 7F087078 AC600000 */ sw $zero, ($v1) -.L7F08707C: -/* 0BBBAC 7F08707C 8C6A0000 */ lw $t2, ($v1) -.L7F087080: -/* 0BBBB0 7F087080 254B0001 */ addiu $t3, $t2, 1 -/* 0BBBB4 7F087084 AC6B0000 */ sw $t3, ($v1) -.L7F087088: -/* 0BBBB8 7F087088 3C0C8003 */ lui $t4, %hi(camera_8003642C) -/* 0BBBBC 7F08708C 8D8C642C */ lw $t4, %lo(camera_8003642C)($t4) -/* 0BBBC0 7F087090 11800009 */ beqz $t4, .L7F0870B8 -/* 0BBBC4 7F087094 00000000 */ nop -/* 0BBBC8 7F087098 0C000F07 */ jal get_video_settings2_frameb -/* 0BBBCC 7F08709C 00000000 */ nop -/* 0BBBD0 7F0870A0 3C0D803E */ lui $t5, %hi(cfb_16_b) # $t5, 0x803e -/* 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_frameb -/* 0BBBE4 7F0870B4 8C846428 */ lw $a0, %lo(resolution)($a0) -.L7F0870B8: -/* 0BBBE8 7F0870B8 0FC293B8 */ jal get_screen_ratio -/* 0BBBEC 7F0870BC 00000000 */ nop -/* 0BBBF0 7F0870C0 24010001 */ li $at, 1 -/* 0BBBF4 7F0870C4 14410029 */ bne $v0, $at, .L7F08716C -/* 0BBBF8 7F0870C8 00000000 */ nop -/* 0BBBFC 7F0870CC 0FC21B10 */ jal get_curplayer_viewport_width -/* 0BBC00 7F0870D0 00000000 */ nop -/* 0BBC04 7F0870D4 0FC21B49 */ jal get_curplayer_viewport_height -/* 0BBC08 7F0870D8 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBC0C 7F0870DC 87AE001C */ lh $t6, 0x1c($sp) -/* 0BBC10 7F0870E0 44824000 */ mtc1 $v0, $f8 -/* 0BBC14 7F0870E4 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0BBC18 7F0870E8 448E2000 */ mtc1 $t6, $f4 -/* 0BBC1C 7F0870EC 468042A0 */ cvt.s.w $f10, $f8 -/* 0BBC20 7F0870F0 44819000 */ mtc1 $at, $f18 -/* 0BBC24 7F0870F4 3C018005 */ lui $at, %hi(D_80055264) -/* 0BBC28 7F0870F8 C4285264 */ lwc1 $f8, %lo(D_80055264)($at) -/* 0BBC2C 7F0870FC 468021A0 */ cvt.s.w $f6, $f4 -/* 0BBC30 7F087100 460A3403 */ div.s $f16, $f6, $f10 -/* 0BBC34 7F087104 46128102 */ mul.s $f4, $f16, $f18 -/* 0BBC38 7F087108 00000000 */ nop -/* 0BBC3C 7F08710C 46082302 */ mul.s $f12, $f4, $f8 -/* 0BBC40 7F087110 0FC26C89 */ jal set_cur_player_aspect -/* 0BBC44 7F087114 00000000 */ nop -/* 0BBC48 7F087118 0FC21B10 */ jal get_curplayer_viewport_width -/* 0BBC4C 7F08711C 00000000 */ nop -/* 0BBC50 7F087120 0FC21B49 */ jal get_curplayer_viewport_height -/* 0BBC54 7F087124 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBC58 7F087128 87AF001C */ lh $t7, 0x1c($sp) -/* 0BBC5C 7F08712C 44828000 */ mtc1 $v0, $f16 -/* 0BBC60 7F087130 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0BBC64 7F087134 448F3000 */ mtc1 $t7, $f6 -/* 0BBC68 7F087138 468084A0 */ cvt.s.w $f18, $f16 -/* 0BBC6C 7F08713C 44814000 */ mtc1 $at, $f8 -/* 0BBC70 7F087140 3C018005 */ lui $at, %hi(D_80055268) -/* 0BBC74 7F087144 C4305268 */ lwc1 $f16, %lo(D_80055268)($at) -/* 0BBC78 7F087148 468032A0 */ cvt.s.w $f10, $f6 -/* 0BBC7C 7F08714C 46125103 */ div.s $f4, $f10, $f18 -/* 0BBC80 7F087150 46082182 */ mul.s $f6, $f4, $f8 -/* 0BBC84 7F087154 00000000 */ nop -/* 0BBC88 7F087158 46103302 */ mul.s $f12, $f6, $f16 -/* 0BBC8C 7F08715C 0C001164 */ jal video_related_21 -/* 0BBC90 7F087160 00000000 */ nop -/* 0BBC94 7F087164 10000017 */ b .L7F0871C4 -/* 0BBC98 7F087168 00000000 */ nop -.L7F08716C: -/* 0BBC9C 7F08716C 0FC21B10 */ jal get_curplayer_viewport_width -/* 0BBCA0 7F087170 00000000 */ nop -/* 0BBCA4 7F087174 0FC21B49 */ jal get_curplayer_viewport_height -/* 0BBCA8 7F087178 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBCAC 7F08717C 87B8001C */ lh $t8, 0x1c($sp) -/* 0BBCB0 7F087180 44822000 */ mtc1 $v0, $f4 -/* 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 set_cur_player_aspect -/* 0BBCC4 7F087194 46089303 */ div.s $f12, $f18, $f8 -/* 0BBCC8 7F087198 0FC21B10 */ jal get_curplayer_viewport_width -/* 0BBCCC 7F08719C 00000000 */ nop -/* 0BBCD0 7F0871A0 0FC21B49 */ jal get_curplayer_viewport_height -/* 0BBCD4 7F0871A4 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBCD8 7F0871A8 87B9001C */ lh $t9, 0x1c($sp) -/* 0BBCDC 7F0871AC 44825000 */ mtc1 $v0, $f10 -/* 0BBCE0 7F0871B0 44993000 */ mtc1 $t9, $f6 -/* 0BBCE4 7F0871B4 46805120 */ cvt.s.w $f4, $f10 -/* 0BBCE8 7F0871B8 46803420 */ cvt.s.w $f16, $f6 -/* 0BBCEC 7F0871BC 0C001164 */ jal video_related_21 -/* 0BBCF0 7F0871C0 46048303 */ div.s $f12, $f16, $f4 -.L7F0871C4: -/* 0BBCF4 7F0871C4 0FC21B10 */ jal get_curplayer_viewport_width -/* 0BBCF8 7F0871C8 00000000 */ nop -/* 0BBCFC 7F0871CC 0FC21B49 */ jal get_curplayer_viewport_height -/* 0BBD00 7F0871D0 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBD04 7F0871D4 87A4001C */ lh $a0, 0x1c($sp) -/* 0BBD08 7F0871D8 0FC26C77 */ jal set_cur_player_screen_size -/* 0BBD0C 7F0871DC 00402825 */ move $a1, $v0 -/* 0BBD10 7F0871E0 0FC21B31 */ jal get_curplayer_viewport_ulx -/* 0BBD14 7F0871E4 00000000 */ nop -/* 0BBD18 7F0871E8 0FC21B8E */ jal get_curplayer_viewport_uly -/* 0BBD1C 7F0871EC A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBD20 7F0871F0 87A4001C */ lh $a0, 0x1c($sp) -/* 0BBD24 7F0871F4 0FC26C7E */ jal set_cur_player_viewport_size -/* 0BBD28 7F0871F8 00402825 */ move $a1, $v0 -/* 0BBD2C 7F0871FC 0FC21AFE */ jal getWidth320or440 -/* 0BBD30 7F087200 00000000 */ nop -/* 0BBD34 7F087204 0FC21B07 */ jal getHeight330or240 -/* 0BBD38 7F087208 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBD3C 7F08720C 00022C00 */ sll $a1, $v0, 0x10 -/* 0BBD40 7F087210 00054403 */ sra $t0, $a1, 0x10 -/* 0BBD44 7F087214 01002825 */ move $a1, $t0 -/* 0BBD48 7F087218 0C0010FE */ jal set_video2_text_clip_size -/* 0BBD4C 7F08721C 87A4001C */ lh $a0, 0x1c($sp) -/* 0BBD50 7F087220 0FC21AFE */ jal getWidth320or440 -/* 0BBD54 7F087224 00000000 */ nop -/* 0BBD58 7F087228 0FC21B07 */ jal getHeight330or240 -/* 0BBD5C 7F08722C A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBD60 7F087230 00022C00 */ sll $a1, $v0, 0x10 -/* 0BBD64 7F087234 00054C03 */ sra $t1, $a1, 0x10 -/* 0BBD68 7F087238 01202825 */ move $a1, $t1 -/* 0BBD6C 7F08723C 0C0010ED */ jal set_video2_settings_offset_18_1A -/* 0BBD70 7F087240 87A4001C */ lh $a0, 0x1c($sp) -/* 0BBD74 7F087244 0FC21B10 */ jal get_curplayer_viewport_width -/* 0BBD78 7F087248 00000000 */ nop -/* 0BBD7C 7F08724C 0FC21B49 */ jal get_curplayer_viewport_height -/* 0BBD80 7F087250 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBD84 7F087254 00022C00 */ sll $a1, $v0, 0x10 -/* 0BBD88 7F087258 00055403 */ sra $t2, $a1, 0x10 -/* 0BBD8C 7F08725C 01402825 */ move $a1, $t2 -/* 0BBD90 7F087260 0C00110F */ jal set_video2_width_height -/* 0BBD94 7F087264 87A4001C */ lh $a0, 0x1c($sp) -/* 0BBD98 7F087268 0FC21B31 */ jal get_curplayer_viewport_ulx -/* 0BBD9C 7F08726C 00000000 */ nop -/* 0BBDA0 7F087270 0FC21B8E */ jal get_curplayer_viewport_uly -/* 0BBDA4 7F087274 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BBDA8 7F087278 00022C00 */ sll $a1, $v0, 0x10 -/* 0BBDAC 7F08727C 00055C03 */ sra $t3, $a1, 0x10 -/* 0BBDB0 7F087280 01602825 */ move $a1, $t3 -/* 0BBDB4 7F087284 0C00112F */ jal set_video2_ulx_uly -/* 0BBDB8 7F087288 87A4001C */ lh $a0, 0x1c($sp) -/* 0BBDBC 7F08728C 0FC2022F */ jal sub_GAME_7F0808BC -/* 0BBDC0 7F087290 00000000 */ nop -/* 0BBDC4 7F087294 0FC202A0 */ jal update_curplayer_fade -/* 0BBDC8 7F087298 00000000 */ nop -/* 0BBDCC 7F08729C 0FC29394 */ jal cur_player_get_autoaim -/* 0BBDD0 7F0872A0 00000000 */ nop -/* 0BBDD4 7F0872A4 0FC1F15C */ jal set_BONDdata_autoaim_y -/* 0BBDD8 7F0872A8 00402025 */ move $a0, $v0 -/* 0BBDDC 7F0872AC 0FC29394 */ jal cur_player_get_autoaim -/* 0BBDE0 7F0872B0 00000000 */ nop -/* 0BBDE4 7F0872B4 0FC1F196 */ jal set_BONDdata_autoaim_x -/* 0BBDE8 7F0872B8 00402025 */ move $a0, $v0 -/* 0BBDEC 7F0872BC 0FC2939A */ jal cur_player_get_lookahead -/* 0BBDF0 7F0872C0 00000000 */ nop -/* 0BBDF4 7F0872C4 0FC1F154 */ jal set_BONDdata_lookahead_setting -/* 0BBDF8 7F0872C8 00402025 */ move $a0, $v0 -/* 0BBDFC 7F0872CC 0FC293AC */ jal cur_player_get_ammo_onscreen_setting -/* 0BBE00 7F0872D0 00000000 */ nop -/* 0BBE04 7F0872D4 24040001 */ li $a0, 1 -/* 0BBE08 7F0872D8 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 0BBE0C 7F0872DC 00402825 */ move $a1, $v0 -/* 0BBE10 7F0872E0 0FC26919 */ jal get_num_players -/* 0BBE14 7F0872E4 00000000 */ nop -/* 0BBE18 7F0872E8 24010001 */ li $at, 1 -/* 0BBE1C 7F0872EC 14410006 */ bne $v0, $at, .L7F087308 -/* 0BBE20 7F0872F0 00000000 */ nop -/* 0BBE24 7F0872F4 0FC293A6 */ jal cur_player_get_sight_onscreen_control -/* 0BBE28 7F0872F8 00000000 */ nop -/* 0BBE2C 7F0872FC 0002282B */ sltu $a1, $zero, $v0 -/* 0BBE30 7F087300 14A0000B */ bnez $a1, .L7F087330 -/* 0BBE34 7F087304 00000000 */ nop -.L7F087308: -/* 0BBE38 7F087308 0FC26919 */ jal get_num_players -/* 0BBE3C 7F08730C 00000000 */ nop -/* 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(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 -.L7F087330: -/* 0BBE60 7F087330 0FC1A96A */ jal set_unset_bitflags -/* 0BBE64 7F087334 24040001 */ li $a0, 1 -/* 0BBE68 7F087338 3C028003 */ lui $v0, %hi(cameramode) -/* 0BBE6C 7F08733C 8C426494 */ lw $v0, %lo(cameramode)($v0) -/* 0BBE70 7F087340 24010004 */ li $at, 4 -/* 0BBE74 7F087344 10400008 */ beqz $v0, .L7F087368 -/* 0BBE78 7F087348 00000000 */ nop -/* 0BBE7C 7F08734C 14410003 */ bne $v0, $at, .L7F08735C -/* 0BBE80 7F087350 3C0E8003 */ lui $t6, %hi(D_800364B0) -/* 0BBE84 7F087354 8DCE64B0 */ lw $t6, %lo(D_800364B0)($t6) -/* 0BBE88 7F087358 15C00003 */ bnez $t6, .L7F087368 -.L7F08735C: -/* 0BBE8C 7F08735C 2401000A */ li $at, 10 -/* 0BBE90 7F087360 14410014 */ bne $v0, $at, .L7F0873B4 -/* 0BBE94 7F087364 83A40023 */ lb $a0, 0x23($sp) -.L7F087368: -/* 0BBE98 7F087368 0FC26C54 */ jal get_cur_playernum -/* 0BBE9C 7F08736C 00000000 */ nop -/* 0BBEA0 7F087370 14400008 */ bnez $v0, .L7F087394 -/* 0BBEA4 7F087374 3C088008 */ lui $t0, %hi(pPlayer) -/* 0BBEA8 7F087378 3C028008 */ lui $v0, %hi(mission_timer) -/* 0BBEAC 7F08737C 24429A20 */ addiu $v0, %lo(mission_timer) # addiu $v0, $v0, -0x65e0 -/* 0BBEB0 7F087380 3C188005 */ lui $t8, %hi(clock_timer) -/* 0BBEB4 7F087384 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 0BBEB8 7F087388 8C4F0000 */ lw $t7, ($v0) -/* 0BBEBC 7F08738C 01F8C821 */ addu $t9, $t7, $t8 -/* 0BBEC0 7F087390 AC590000 */ sw $t9, ($v0) -.L7F087394: -/* 0BBEC4 7F087394 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0BBEC8 7F087398 83A40023 */ lb $a0, 0x23($sp) -/* 0BBECC 7F08739C 83A50027 */ lb $a1, 0x27($sp) -/* 0BBED0 7F0873A0 97A6002A */ lhu $a2, 0x2a($sp) -/* 0BBED4 7F0873A4 0FC21192 */ jal MoveBond -/* 0BBED8 7F0873A8 950703B4 */ lhu $a3, 0x3b4($t0) -/* 0BBEDC 7F0873AC 10000007 */ b .L7F0873CC -/* 0BBEE0 7F0873B0 00000000 */ nop -.L7F0873B4: -/* 0BBEE4 7F0873B4 3C098008 */ lui $t1, %hi(pPlayer) -/* 0BBEE8 7F0873B8 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0BBEEC 7F0873BC 83A50027 */ lb $a1, 0x27($sp) -/* 0BBEF0 7F0873C0 97A6002A */ lhu $a2, 0x2a($sp) -/* 0BBEF4 7F0873C4 0FC21A64 */ jal sub_GAME_7F086990 -/* 0BBEF8 7F0873C8 952703B4 */ lhu $a3, 0x3b4($t1) -.L7F0873CC: -/* 0BBEFC 7F0873CC 3C028008 */ lui $v0, %hi(watch_time_0) -/* 0BBF00 7F0873D0 24429A24 */ addiu $v0, %lo(watch_time_0) # addiu $v0, $v0, -0x65dc -/* 0BBF04 7F0873D4 3C0B8005 */ lui $t3, %hi(D_80048498) -/* 0BBF08 7F0873D8 8D6B8498 */ lw $t3, %lo(D_80048498)($t3) -/* 0BBF0C 7F0873DC 8C4A0000 */ lw $t2, ($v0) -/* 0BBF10 7F0873E0 3C0D8003 */ lui $t5, %hi(stop_time_flag) -/* 0BBF14 7F0873E4 014B6021 */ addu $t4, $t2, $t3 -/* 0BBF18 7F0873E8 AC4C0000 */ sw $t4, ($v0) -/* 0BBF1C 7F0873EC 8DAD64A0 */ lw $t5, %lo(stop_time_flag)($t5) -/* 0BBF20 7F0873F0 11A00046 */ beqz $t5, .L7F08750C -/* 0BBF24 7F0873F4 00000000 */ nop -/* 0BBF28 7F0873F8 0FC2FF01 */ jal get_controls_locked_flag -/* 0BBF2C 7F0873FC 00000000 */ nop -/* 0BBF30 7F087400 1440002F */ bnez $v0, .L7F0874C0 -/* 0BBF34 7F087404 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0BBF38 7F087408 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0BBF3C 7F08740C 97AE002A */ lhu $t6, 0x2a($sp) -/* 0BBF40 7F087410 240A0002 */ li $t2, 2 -/* 0BBF44 7F087414 95F803B4 */ lhu $t8, 0x3b4($t7) -/* 0BBF48 7F087418 3C018003 */ lui $at, %hi(stop_time_flag) -/* 0BBF4C 7F08741C 0300C827 */ not $t9, $t8 -/* 0BBF50 7F087420 01D94024 */ and $t0, $t6, $t9 -/* 0BBF54 7F087424 3109F030 */ andi $t1, $t0, 0xf030 -/* 0BBF58 7F087428 11200025 */ beqz $t1, .L7F0874C0 -/* 0BBF5C 7F08742C 00000000 */ nop -/* 0BBF60 7F087430 0FC20223 */ jal check_if_fade_to_black_complete -/* 0BBF64 7F087434 AC2A64A0 */ sw $t2, %lo(stop_time_flag)($at) -/* 0BBF68 7F087438 10400015 */ beqz $v0, .L7F087490 -/* 0BBF6C 7F08743C 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0BBF70 7F087440 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0BBF74 7F087444 44800000 */ mtc1 $zero, $f0 -/* 0BBF78 7F087448 00002025 */ move $a0, $zero -/* 0BBF7C 7F08744C C57203DC */ lwc1 $f18, 0x3dc($t3) -/* 0BBF80 7F087450 00002825 */ move $a1, $zero -/* 0BBF84 7F087454 46120032 */ c.eq.s $f0, $f18 -/* 0BBF88 7F087458 00000000 */ nop -/* 0BBF8C 7F08745C 45000018 */ bc1f .L7F0874C0 -/* 0BBF90 7F087460 00000000 */ nop -/* 0BBF94 7F087464 44070000 */ mfc1 $a3, $f0 -/* 0BBF98 7F087468 0FC201EC */ jal set_rgba_tint -/* 0BBF9C 7F08746C 00003025 */ move $a2, $zero -/* 0BBFA0 7F087470 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BBFA4 7F087474 44816000 */ mtc1 $at, $f12 -/* 0BBFA8 7F087478 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BBFAC 7F08747C 44817000 */ mtc1 $at, $f14 -/* 0BBFB0 7F087480 0FC20216 */ jal fade_to_over_seconds -/* 0BBFB4 7F087484 00000000 */ nop -/* 0BBFB8 7F087488 1000000D */ b .L7F0874C0 -/* 0BBFBC 7F08748C 00000000 */ nop -.L7F087490: -/* 0BBFC0 7F087490 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BBFC4 7F087494 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BBFC8 7F087498 44800000 */ mtc1 $zero, $f0 -/* 0BBFCC 7F08749C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BBFD0 7F0874A0 C4480404 */ lwc1 $f8, 0x404($v0) -/* 0BBFD4 7F0874A4 46080032 */ c.eq.s $f0, $f8 -/* 0BBFD8 7F0874A8 00000000 */ nop -/* 0BBFDC 7F0874AC 45000004 */ bc1f .L7F0874C0 -/* 0BBFE0 7F0874B0 00000000 */ nop -/* 0BBFE4 7F0874B4 44817000 */ mtc1 $at, $f14 -/* 0BBFE8 7F0874B8 0FC20216 */ jal fade_to_over_seconds -/* 0BBFEC 7F0874BC C44C03E0 */ lwc1 $f12, 0x3e0($v0) -.L7F0874C0: -/* 0BBFF0 7F0874C0 3C0C8003 */ lui $t4, %hi(stop_time_flag) -/* 0BBFF4 7F0874C4 8D8C64A0 */ lw $t4, %lo(stop_time_flag)($t4) -/* 0BBFF8 7F0874C8 24010002 */ li $at, 2 -/* 0BBFFC 7F0874CC 1581000F */ bne $t4, $at, .L7F08750C -/* 0BC000 7F0874D0 00000000 */ nop -/* 0BC004 7F0874D4 0FC20223 */ jal check_if_fade_to_black_complete -/* 0BC008 7F0874D8 00000000 */ nop -/* 0BC00C 7F0874DC 1040000B */ beqz $v0, .L7F08750C -/* 0BC010 7F0874E0 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 0BC014 7F0874E4 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 0BC018 7F0874E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BC01C 7F0874EC 44813000 */ mtc1 $at, $f6 -/* 0BC020 7F0874F0 C5AA03DC */ lwc1 $f10, 0x3dc($t5) -/* 0BC024 7F0874F4 460A3032 */ c.eq.s $f6, $f10 -/* 0BC028 7F0874F8 00000000 */ nop -/* 0BC02C 7F0874FC 45000003 */ bc1f .L7F08750C -/* 0BC030 7F087500 00000000 */ nop -/* 0BC034 7F087504 0C001A5A */ jal return_to_title_from_level_end -/* 0BC038 7F087508 00000000 */ nop -.L7F08750C: -/* 0BC03C 7F08750C 3C0F8003 */ lui $t7, %hi(enable_move_after_cinema) -/* 0BC040 7F087510 8DEF6498 */ lw $t7, %lo(enable_move_after_cinema)($t7) -/* 0BC044 7F087514 11E00003 */ beqz $t7, .L7F087524 -/* 0BC048 7F087518 00000000 */ nop -/* 0BC04C 7F08751C 0FC1EC69 */ jal sub_GAME_7F07B1A4 -/* 0BC050 7F087520 00000000 */ nop -.L7F087524: -/* 0BC054 7F087524 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BC058 7F087528 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC05C 7F08752C 8C5800D8 */ lw $t8, 0xd8($v0) -/* 0BC060 7F087530 13000019 */ beqz $t8, .L7F087598 -/* 0BC064 7F087534 00000000 */ nop -/* 0BC068 7F087538 8C430424 */ lw $v1, 0x424($v0) -/* 0BC06C 7F08753C 24040001 */ li $a0, 1 -/* 0BC070 7F087540 14600009 */ bnez $v1, .L7F087568 -/* 0BC074 7F087544 00000000 */ nop -/* 0BC078 7F087548 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0BC07C 7F08754C 00002825 */ move $a1, $zero -/* 0BC080 7F087550 00002025 */ move $a0, $zero -/* 0BC084 7F087554 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0BC088 7F087558 00002825 */ move $a1, $zero -/* 0BC08C 7F08755C 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BC090 7F087560 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC094 7F087564 8C430424 */ lw $v1, 0x424($v0) -.L7F087568: -/* 0BC098 7F087568 1060000B */ beqz $v1, .L7F087598 -/* 0BC09C 7F08756C 00000000 */ nop -/* 0BC0A0 7F087570 8C4E0428 */ lw $t6, 0x428($v0) -/* 0BC0A4 7F087574 3C198003 */ lui $t9, %hi(D_80036510) -/* 0BC0A8 7F087578 11C00007 */ beqz $t6, .L7F087598 -/* 0BC0AC 7F08757C 00000000 */ nop -/* 0BC0B0 7F087580 8F396510 */ lw $t9, %lo(D_80036510)($t9) -/* 0BC0B4 7F087584 2B210003 */ slti $at, $t9, 3 -/* 0BC0B8 7F087588 14200003 */ bnez $at, .L7F087598 -/* 0BC0BC 7F08758C 00000000 */ nop -/* 0BC0C0 7F087590 0C001A4C */ jal run_title_stage -/* 0BC0C4 7F087594 00000000 */ nop -.L7F087598: -/* 0BC0C8 7F087598 3C088003 */ lui $t0, %hi(cameramode) -/* 0BC0CC 7F08759C 8D086494 */ lw $t0, %lo(cameramode)($t0) -/* 0BC0D0 7F0875A0 2401000A */ li $at, 10 -/* 0BC0D4 7F0875A4 15010007 */ bne $t0, $at, .L7F0875C4 -/* 0BC0D8 7F0875A8 00000000 */ nop -/* 0BC0DC 7F0875AC 0FC20223 */ jal check_if_fade_to_black_complete -/* 0BC0E0 7F0875B0 00000000 */ nop -/* 0BC0E4 7F0875B4 10400003 */ beqz $v0, .L7F0875C4 -/* 0BC0E8 7F0875B8 00000000 */ nop -/* 0BC0EC 7F0875BC 0C001A4C */ jal run_title_stage -/* 0BC0F0 7F0875C0 00000000 */ nop -.L7F0875C4: -/* 0BC0F4 7F0875C4 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0BC0F8 7F0875C8 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0BC0FC 7F0875CC 97A9002A */ lhu $t1, 0x2a($sp) -/* 0BC100 7F0875D0 A54903B4 */ sh $t1, 0x3b4($t2) -/* 0BC104 7F0875D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC108 7F0875D8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BC10C 7F0875DC 03E00008 */ jr $ra -/* 0BC110 7F0875E0 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80055264 -.word 0x3fe38e39 /*1.7777778*/ -glabel D_80055268 -.word 0x3fe38e39 /*1.7777778*/ -.text -glabel possibly_reset_viewport_options_for_player -/* 0BC1D8 7F087668 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BC1DC 7F08766C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BC1E0 7F087670 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BC1E4 7F087674 44816000 */ mtc1 $at, $f12 -/* 0BC1E8 7F087678 AFA40020 */ sw $a0, 0x20($sp) -/* 0BC1EC 7F08767C AFA50024 */ sw $a1, 0x24($sp) -/* 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 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 -/* 0BC210 7F0876A0 8C620000 */ lw $v0, ($v1) -/* 0BC214 7F0876A4 10400016 */ beqz $v0, .Ljp7F087700 -/* 0BC218 7F0876A8 28410004 */ slti $at, $v0, 4 -/* 0BC21C 7F0876AC 14200010 */ bnez $at, .Ljp7F0876F0 -/* 0BC220 7F0876B0 3C0E8003 */ lui $t6, %hi(resolution) # $t6, 0x8003 -/* 0BC224 7F0876B4 8DCE6468 */ lw $t6, %lo(resolution)($t6) -/* 0BC228 7F0876B8 51C0000E */ beql $t6, $zero, .Ljp7F0876F4 -/* 0BC22C 7F0876BC 8C790000 */ lw $t9, ($v1) -/* 0BC230 7F0876C0 0C000F07 */ jal get_video_settings2_frameb -/* 0BC234 7F0876C4 00000000 */ nop -/* 0BC238 7F0876C8 3C0F803E */ lui $t7, %hi(cfb_16_b) # $t7, 0x803e -/* 0BC23C 7F0876CC 25EFA800 */ addiu $t7, %lo(cfb_16_b) # addiu $t7, $t7, -0x5800 -/* 0BC240 7F0876D0 3C038003 */ lui $v1, %hi(camera_80036430) # $v1, 0x8003 -/* 0BC244 7F0876D4 144F0006 */ bne $v0, $t7, .Ljp7F0876F0 -/* 0BC248 7F0876D8 24636470 */ addiu $v1, %lo(camera_80036430) # addiu $v1, $v1, 0x6470 -/* 0BC24C 7F0876DC 24180001 */ li $t8, 1 -/* 0BC250 7F0876E0 3C018003 */ lui $at, %hi(camera_8003642C) # $at, 0x8003 -/* 0BC254 7F0876E4 AC38646C */ sw $t8, %lo(camera_8003642C)($at) -/* 0BC258 7F0876E8 1000001A */ b .Ljp7F087754 -/* 0BC25C 7F0876EC AC600000 */ sw $zero, ($v1) -.Ljp7F0876F0: -/* 0BC260 7F0876F0 8C790000 */ lw $t9, ($v1) -.Ljp7F0876F4: -/* 0BC264 7F0876F4 27280001 */ addiu $t0, $t9, 1 -/* 0BC268 7F0876F8 10000016 */ b .Ljp7F087754 -/* 0BC26C 7F0876FC AC680000 */ sw $t0, ($v1) -.Ljp7F087700: -/* 0BC270 7F087700 3C038003 */ lui $v1, %hi(camera_80036434) # $v1, 0x8003 -/* 0BC274 7F087704 24636474 */ addiu $v1, %lo(camera_80036434) # addiu $v1, $v1, 0x6474 -/* 0BC278 7F087708 8C620000 */ lw $v0, ($v1) -/* 0BC27C 7F08770C 10400011 */ beqz $v0, .Ljp7F087754 -/* 0BC280 7F087710 28410004 */ slti $at, $v0, 4 -/* 0BC284 7F087714 5420000D */ bnezl $at, .Ljp7F08774C -/* 0BC288 7F087718 8C6A0000 */ lw $t2, ($v1) -/* 0BC28C 7F08771C 0C000F07 */ jal get_video_settings2_frameb -/* 0BC290 7F087720 00000000 */ nop -/* 0BC294 7F087724 3C09803B */ lui $t1, %hi(cfb_16_a) # $t1, 0x803b -/* 0BC298 7F087728 25295000 */ addiu $t1, %lo(cfb_16_a) # addiu $t1, $t1, 0x5000 -/* 0BC29C 7F08772C 3C038003 */ lui $v1, %hi(camera_80036434) # $v1, 0x8003 -/* 0BC2A0 7F087730 14490005 */ bne $v0, $t1, .Ljp7F087748 -/* 0BC2A4 7F087734 24636474 */ addiu $v1, %lo(camera_80036434) # addiu $v1, $v1, 0x6474 -/* 0BC2A8 7F087738 3C018003 */ lui $at, %hi(camera_8003642C) # $at, 0x8003 -/* 0BC2AC 7F08773C AC20646C */ sw $zero, %lo(camera_8003642C)($at) -/* 0BC2B0 7F087740 10000004 */ b .Ljp7F087754 -/* 0BC2B4 7F087744 AC600000 */ sw $zero, ($v1) -.Ljp7F087748: -/* 0BC2B8 7F087748 8C6A0000 */ lw $t2, ($v1) -.Ljp7F08774C: -/* 0BC2BC 7F08774C 254B0001 */ addiu $t3, $t2, 1 -/* 0BC2C0 7F087750 AC6B0000 */ sw $t3, ($v1) -.Ljp7F087754: -/* 0BC2C4 7F087754 3C0C8003 */ lui $t4, %hi(camera_8003642C) # $t4, 0x8003 -/* 0BC2C8 7F087758 8D8C646C */ lw $t4, %lo(camera_8003642C)($t4) -/* 0BC2CC 7F08775C 11800009 */ beqz $t4, .Ljp7F087784 -/* 0BC2D0 7F087760 00000000 */ nop -/* 0BC2D4 7F087764 0C000F07 */ jal get_video_settings2_frameb -/* 0BC2D8 7F087768 00000000 */ nop -/* 0BC2DC 7F08776C 3C0D803E */ lui $t5, %hi(cfb_16_b) # $t5, 0x803e -/* 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_frameb -/* 0BC2F0 7F087780 8C846468 */ lw $a0, %lo(resolution)($a0) -.Ljp7F087784: -/* 0BC2F4 7F087784 0FC296A0 */ jal get_screen_ratio -/* 0BC2F8 7F087788 00000000 */ nop -/* 0BC2FC 7F08778C 24010001 */ li $at, 1 -/* 0BC300 7F087790 14410029 */ bne $v0, $at, .Ljp7F087838 -/* 0BC304 7F087794 00000000 */ nop -/* 0BC308 7F087798 0FC21CC3 */ jal get_curplayer_viewport_width -/* 0BC30C 7F08779C 00000000 */ nop -/* 0BC310 7F0877A0 0FC21CFC */ jal get_curplayer_viewport_height -/* 0BC314 7F0877A4 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC318 7F0877A8 87AE001C */ lh $t6, 0x1c($sp) -/* 0BC31C 7F0877AC 44824000 */ mtc1 $v0, $f8 -/* 0BC320 7F0877B0 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0BC324 7F0877B4 448E2000 */ mtc1 $t6, $f4 -/* 0BC328 7F0877B8 468042A0 */ cvt.s.w $f10, $f8 -/* 0BC32C 7F0877BC 44819000 */ mtc1 $at, $f18 -/* 0BC330 7F0877C0 3C018005 */ lui $at, %hi(D_80055264) # $at, 0x8005 -/* 0BC334 7F0877C4 C4285294 */ lwc1 $f8, %lo(D_80055264)($at) -/* 0BC338 7F0877C8 468021A0 */ cvt.s.w $f6, $f4 -/* 0BC33C 7F0877CC 460A3403 */ div.s $f16, $f6, $f10 -/* 0BC340 7F0877D0 46128102 */ mul.s $f4, $f16, $f18 -/* 0BC344 7F0877D4 00000000 */ nop -/* 0BC348 7F0877D8 46082302 */ mul.s $f12, $f4, $f8 -/* 0BC34C 7F0877DC 0FC26F71 */ jal set_cur_player_aspect -/* 0BC350 7F0877E0 00000000 */ nop -/* 0BC354 7F0877E4 0FC21CC3 */ jal get_curplayer_viewport_width -/* 0BC358 7F0877E8 00000000 */ nop -/* 0BC35C 7F0877EC 0FC21CFC */ jal get_curplayer_viewport_height -/* 0BC360 7F0877F0 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC364 7F0877F4 87AF001C */ lh $t7, 0x1c($sp) -/* 0BC368 7F0877F8 44828000 */ mtc1 $v0, $f16 -/* 0BC36C 7F0877FC 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0BC370 7F087800 448F3000 */ mtc1 $t7, $f6 -/* 0BC374 7F087804 468084A0 */ cvt.s.w $f18, $f16 -/* 0BC378 7F087808 44814000 */ mtc1 $at, $f8 -/* 0BC37C 7F08780C 3C018005 */ lui $at, %hi(D_80055268) # $at, 0x8005 -/* 0BC380 7F087810 C4305298 */ lwc1 $f16, %lo(D_80055268)($at) -/* 0BC384 7F087814 468032A0 */ cvt.s.w $f10, $f6 -/* 0BC388 7F087818 46125103 */ div.s $f4, $f10, $f18 -/* 0BC38C 7F08781C 46082182 */ mul.s $f6, $f4, $f8 -/* 0BC390 7F087820 00000000 */ nop -/* 0BC394 7F087824 46103302 */ mul.s $f12, $f6, $f16 -/* 0BC398 7F087828 0C001164 */ jal video_related_21 -/* 0BC39C 7F08782C 00000000 */ nop -/* 0BC3A0 7F087830 10000017 */ b .Ljp7F087890 -/* 0BC3A4 7F087834 00000000 */ nop -.Ljp7F087838: -/* 0BC3A8 7F087838 0FC21CC3 */ jal get_curplayer_viewport_width -/* 0BC3AC 7F08783C 00000000 */ nop -/* 0BC3B0 7F087840 0FC21CFC */ jal get_curplayer_viewport_height -/* 0BC3B4 7F087844 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC3B8 7F087848 87B8001C */ lh $t8, 0x1c($sp) -/* 0BC3BC 7F08784C 44822000 */ mtc1 $v0, $f4 -/* 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 set_cur_player_aspect -/* 0BC3D0 7F087860 46089303 */ div.s $f12, $f18, $f8 -/* 0BC3D4 7F087864 0FC21CC3 */ jal get_curplayer_viewport_width -/* 0BC3D8 7F087868 00000000 */ nop -/* 0BC3DC 7F08786C 0FC21CFC */ jal get_curplayer_viewport_height -/* 0BC3E0 7F087870 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC3E4 7F087874 87B9001C */ lh $t9, 0x1c($sp) -/* 0BC3E8 7F087878 44825000 */ mtc1 $v0, $f10 -/* 0BC3EC 7F08787C 44993000 */ mtc1 $t9, $f6 -/* 0BC3F0 7F087880 46805120 */ cvt.s.w $f4, $f10 -/* 0BC3F4 7F087884 46803420 */ cvt.s.w $f16, $f6 -/* 0BC3F8 7F087888 0C001164 */ jal video_related_21 -/* 0BC3FC 7F08788C 46048303 */ div.s $f12, $f16, $f4 -.Ljp7F087890: -/* 0BC400 7F087890 0FC21CC3 */ jal get_curplayer_viewport_width -/* 0BC404 7F087894 00000000 */ nop -/* 0BC408 7F087898 0FC21CFC */ jal get_curplayer_viewport_height -/* 0BC40C 7F08789C A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC410 7F0878A0 87A4001C */ lh $a0, 0x1c($sp) -/* 0BC414 7F0878A4 0FC26F5F */ jal set_cur_player_screen_size -/* 0BC418 7F0878A8 00402825 */ move $a1, $v0 -/* 0BC41C 7F0878AC 0FC21CE4 */ jal get_curplayer_viewport_ulx -/* 0BC420 7F0878B0 00000000 */ nop -/* 0BC424 7F0878B4 0FC21D41 */ jal get_curplayer_viewport_uly -/* 0BC428 7F0878B8 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC42C 7F0878BC 87A4001C */ lh $a0, 0x1c($sp) -/* 0BC430 7F0878C0 0FC26F66 */ jal set_cur_player_viewport_size -/* 0BC434 7F0878C4 00402825 */ move $a1, $v0 -/* 0BC438 7F0878C8 0FC21CB1 */ jal getWidth320or440 -/* 0BC43C 7F0878CC 00000000 */ nop -/* 0BC440 7F0878D0 0FC21CBA */ jal getHeight330or240 -/* 0BC444 7F0878D4 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC448 7F0878D8 00022C00 */ sll $a1, $v0, 0x10 -/* 0BC44C 7F0878DC 00054403 */ sra $t0, $a1, 0x10 -/* 0BC450 7F0878E0 01002825 */ move $a1, $t0 -/* 0BC454 7F0878E4 0C0010FE */ jal set_video2_text_clip_size -/* 0BC458 7F0878E8 87A4001C */ lh $a0, 0x1c($sp) -/* 0BC45C 7F0878EC 0FC21CB1 */ jal getWidth320or440 -/* 0BC460 7F0878F0 00000000 */ nop -/* 0BC464 7F0878F4 0FC21CBA */ jal getHeight330or240 -/* 0BC468 7F0878F8 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC46C 7F0878FC 00022C00 */ sll $a1, $v0, 0x10 -/* 0BC470 7F087900 00054C03 */ sra $t1, $a1, 0x10 -/* 0BC474 7F087904 01202825 */ move $a1, $t1 -/* 0BC478 7F087908 0C0010ED */ jal set_video2_settings_offset_18_1A -/* 0BC47C 7F08790C 87A4001C */ lh $a0, 0x1c($sp) -/* 0BC480 7F087910 0FC21CC3 */ jal get_curplayer_viewport_width -/* 0BC484 7F087914 00000000 */ nop -/* 0BC488 7F087918 0FC21CFC */ jal get_curplayer_viewport_height -/* 0BC48C 7F08791C A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC490 7F087920 00022C00 */ sll $a1, $v0, 0x10 -/* 0BC494 7F087924 00055403 */ sra $t2, $a1, 0x10 -/* 0BC498 7F087928 01402825 */ move $a1, $t2 -/* 0BC49C 7F08792C 0C00110F */ jal set_video2_width_height -/* 0BC4A0 7F087930 87A4001C */ lh $a0, 0x1c($sp) -/* 0BC4A4 7F087934 0FC21CE4 */ jal get_curplayer_viewport_ulx -/* 0BC4A8 7F087938 00000000 */ nop -/* 0BC4AC 7F08793C 0FC21D41 */ jal get_curplayer_viewport_uly -/* 0BC4B0 7F087940 A7A2001C */ sh $v0, 0x1c($sp) -/* 0BC4B4 7F087944 00022C00 */ sll $a1, $v0, 0x10 -/* 0BC4B8 7F087948 00055C03 */ sra $t3, $a1, 0x10 -/* 0BC4BC 7F08794C 01602825 */ move $a1, $t3 -/* 0BC4C0 7F087950 0C00112F */ jal set_video2_ulx_uly -/* 0BC4C4 7F087954 87A4001C */ lh $a0, 0x1c($sp) -/* 0BC4C8 7F087958 0FC203B3 */ jal sub_GAME_7F0808BC -/* 0BC4CC 7F08795C 00000000 */ nop -/* 0BC4D0 7F087960 0FC20424 */ jal update_curplayer_fade -/* 0BC4D4 7F087964 00000000 */ nop -/* 0BC4D8 7F087968 0FC2967C */ jal cur_player_get_autoaim -/* 0BC4DC 7F08796C 00000000 */ nop -/* 0BC4E0 7F087970 0FC1F2E5 */ jal set_BONDdata_autoaim_y -/* 0BC4E4 7F087974 00402025 */ move $a0, $v0 -/* 0BC4E8 7F087978 0FC2967C */ jal cur_player_get_autoaim -/* 0BC4EC 7F08797C 00000000 */ nop -/* 0BC4F0 7F087980 0FC1F31F */ jal set_BONDdata_autoaim_x -/* 0BC4F4 7F087984 00402025 */ move $a0, $v0 -/* 0BC4F8 7F087988 0FC29682 */ jal cur_player_get_lookahead -/* 0BC4FC 7F08798C 00000000 */ nop -/* 0BC500 7F087990 0FC1F2DD */ jal set_BONDdata_lookahead_setting -/* 0BC504 7F087994 00402025 */ move $a0, $v0 -/* 0BC508 7F087998 0FC29694 */ jal cur_player_get_ammo_onscreen_setting -/* 0BC50C 7F08799C 00000000 */ nop -/* 0BC510 7F0879A0 24040001 */ li $a0, 1 -/* 0BC514 7F0879A4 0FC1A5B8 */ jal set_unset_ammo_on_screen_setting -/* 0BC518 7F0879A8 00402825 */ move $a1, $v0 -/* 0BC51C 7F0879AC 0FC26C01 */ jal get_num_players -/* 0BC520 7F0879B0 00000000 */ nop -/* 0BC524 7F0879B4 24010001 */ li $at, 1 -/* 0BC528 7F0879B8 14410006 */ bne $v0, $at, .Ljp7F0879D4 -/* 0BC52C 7F0879BC 00000000 */ nop -/* 0BC530 7F0879C0 0FC2968E */ jal cur_player_get_sight_onscreen_control -/* 0BC534 7F0879C4 00000000 */ nop -/* 0BC538 7F0879C8 0002282B */ sltu $a1, $zero, $v0 -/* 0BC53C 7F0879CC 14A0000B */ bnez $a1, .Ljp7F0879FC -/* 0BC540 7F0879D0 00000000 */ nop -.Ljp7F0879D4: -/* 0BC544 7F0879D4 0FC26C01 */ jal get_num_players -/* 0BC548 7F0879D8 00000000 */ nop -/* 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(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 -.Ljp7F0879FC: -/* 0BC56C 7F0879FC 0FC1AAE5 */ jal set_unset_bitflags -/* 0BC570 7F087A00 24040001 */ li $a0, 1 -/* 0BC574 7F087A04 3C028003 */ lui $v0, %hi(cameramode) # $v0, 0x8003 -/* 0BC578 7F087A08 8C4264D4 */ lw $v0, %lo(cameramode)($v0) -/* 0BC57C 7F087A0C 24010004 */ li $at, 4 -/* 0BC580 7F087A10 10400008 */ beqz $v0, .Ljp7F087A34 -/* 0BC584 7F087A14 00000000 */ nop -/* 0BC588 7F087A18 14410003 */ bne $v0, $at, .Ljp7F087A28 -/* 0BC58C 7F087A1C 3C0E8003 */ lui $t6, %hi(D_800364B0) # $t6, 0x8003 -/* 0BC590 7F087A20 8DCE64F0 */ lw $t6, %lo(D_800364B0)($t6) -/* 0BC594 7F087A24 15C00003 */ bnez $t6, .Ljp7F087A34 -.Ljp7F087A28: -/* 0BC598 7F087A28 2401000A */ li $at, 10 -/* 0BC59C 7F087A2C 14410014 */ bne $v0, $at, .Ljp7F087A80 -/* 0BC5A0 7F087A30 83A40023 */ lb $a0, 0x23($sp) -.Ljp7F087A34: -/* 0BC5A4 7F087A34 0FC26F3C */ jal get_cur_playernum -/* 0BC5A8 7F087A38 00000000 */ nop -/* 0BC5AC 7F087A3C 14400008 */ bnez $v0, .Ljp7F087A60 -/* 0BC5B0 7F087A40 3C088008 */ lui $t0, %hi(pPlayer) # $t0, 0x8008 -/* 0BC5B4 7F087A44 3C028008 */ lui $v0, %hi(mission_timer) # $v0, 0x8008 -/* 0BC5B8 7F087A48 24429A60 */ addiu $v0, %lo(mission_timer) # addiu $v0, $v0, -0x65a0 -/* 0BC5BC 7F087A4C 3C188005 */ lui $t8, %hi(clock_timer) # $t8, 0x8005 -/* 0BC5C0 7F087A50 8F1883A4 */ lw $t8, %lo(clock_timer)($t8) -/* 0BC5C4 7F087A54 8C4F0000 */ lw $t7, ($v0) -/* 0BC5C8 7F087A58 01F8C821 */ addu $t9, $t7, $t8 -/* 0BC5CC 7F087A5C AC590000 */ sw $t9, ($v0) -.Ljp7F087A60: -/* 0BC5D0 7F087A60 8D08A120 */ lw $t0, %lo(pPlayer)($t0) -/* 0BC5D4 7F087A64 83A40023 */ lb $a0, 0x23($sp) -/* 0BC5D8 7F087A68 83A50027 */ lb $a1, 0x27($sp) -/* 0BC5DC 7F087A6C 97A6002A */ lhu $a2, 0x2a($sp) -/* 0BC5E0 7F087A70 0FC2133E */ jal MoveBond -/* 0BC5E4 7F087A74 950703B4 */ lhu $a3, 0x3b4($t0) -/* 0BC5E8 7F087A78 10000007 */ b .Ljp7F087A98 -/* 0BC5EC 7F087A7C 00000000 */ nop -.Ljp7F087A80: -/* 0BC5F0 7F087A80 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0BC5F4 7F087A84 8D29A120 */ lw $t1, %lo(pPlayer)($t1) -/* 0BC5F8 7F087A88 83A50027 */ lb $a1, 0x27($sp) -/* 0BC5FC 7F087A8C 97A6002A */ lhu $a2, 0x2a($sp) -/* 0BC600 7F087A90 0FC21C17 */ jal sub_GAME_7F086990 -/* 0BC604 7F087A94 952703B4 */ lhu $a3, 0x3b4($t1) -.Ljp7F087A98: -/* 0BC608 7F087A98 3C028008 */ lui $v0, %hi(watch_time_0) # $v0, 0x8008 -/* 0BC60C 7F087A9C 24429A64 */ addiu $v0, %lo(watch_time_0) # addiu $v0, $v0, -0x659c -/* 0BC610 7F087AA0 3C018005 */ lui $at, %hi(jpD_800484D0) # $at, 0x8005 -/* 0BC614 7F087AA4 C42884D0 */ lwc1 $f8, %lo(jpD_800484D0)($at) -/* 0BC618 7F087AA8 C4520000 */ lwc1 $f18, ($v0) -/* 0BC61C 7F087AAC 3C0A8003 */ lui $t2, %hi(stop_time_flag) # $t2, 0x8003 -/* 0BC620 7F087AB0 46089180 */ add.s $f6, $f18, $f8 -/* 0BC624 7F087AB4 E4460000 */ swc1 $f6, ($v0) -/* 0BC628 7F087AB8 8D4A64E0 */ lw $t2, %lo(stop_time_flag)($t2) -/* 0BC62C 7F087ABC 11400046 */ beqz $t2, .Ljp7F087BD8 -/* 0BC630 7F087AC0 00000000 */ nop -/* 0BC634 7F087AC4 0FC3021B */ jal get_controls_locked_flag -/* 0BC638 7F087AC8 00000000 */ nop -/* 0BC63C 7F087ACC 1440002F */ bnez $v0, .Ljp7F087B8C -/* 0BC640 7F087AD0 3C0C8008 */ lui $t4, %hi(pPlayer) # $t4, 0x8008 -/* 0BC644 7F087AD4 8D8CA120 */ lw $t4, %lo(pPlayer)($t4) -/* 0BC648 7F087AD8 97AB002A */ lhu $t3, 0x2a($sp) -/* 0BC64C 7F087ADC 24190002 */ li $t9, 2 -/* 0BC650 7F087AE0 958D03B4 */ lhu $t5, 0x3b4($t4) -/* 0BC654 7F087AE4 3C018003 */ lui $at, %hi(stop_time_flag) # $at, 0x8003 -/* 0BC658 7F087AE8 01A07027 */ not $t6, $t5 -/* 0BC65C 7F087AEC 016E7824 */ and $t7, $t3, $t6 -/* 0BC660 7F087AF0 31F8F030 */ andi $t8, $t7, 0xf030 -/* 0BC664 7F087AF4 13000025 */ beqz $t8, .Ljp7F087B8C -/* 0BC668 7F087AF8 00000000 */ nop -/* 0BC66C 7F087AFC 0FC203A7 */ jal check_if_fade_to_black_complete -/* 0BC670 7F087B00 AC3964E0 */ sw $t9, %lo(stop_time_flag)($at) -/* 0BC674 7F087B04 10400015 */ beqz $v0, .Ljp7F087B5C -/* 0BC678 7F087B08 3C088008 */ lui $t0, %hi(pPlayer) # $t0, 0x8008 -/* 0BC67C 7F087B0C 8D08A120 */ lw $t0, %lo(pPlayer)($t0) -/* 0BC680 7F087B10 44800000 */ mtc1 $zero, $f0 -/* 0BC684 7F087B14 00002025 */ move $a0, $zero -/* 0BC688 7F087B18 C50A03DC */ lwc1 $f10, 0x3dc($t0) -/* 0BC68C 7F087B1C 00002825 */ move $a1, $zero -/* 0BC690 7F087B20 460A0032 */ c.eq.s $f0, $f10 -/* 0BC694 7F087B24 00000000 */ nop -/* 0BC698 7F087B28 45000018 */ bc1f .Ljp7F087B8C -/* 0BC69C 7F087B2C 00000000 */ nop -/* 0BC6A0 7F087B30 44070000 */ mfc1 $a3, $f0 -/* 0BC6A4 7F087B34 0FC20370 */ jal set_rgba_tint -/* 0BC6A8 7F087B38 00003025 */ move $a2, $zero -/* 0BC6AC 7F087B3C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BC6B0 7F087B40 44816000 */ mtc1 $at, $f12 -/* 0BC6B4 7F087B44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BC6B8 7F087B48 44817000 */ mtc1 $at, $f14 -/* 0BC6BC 7F087B4C 0FC2039A */ jal fade_to_over_seconds -/* 0BC6C0 7F087B50 00000000 */ nop -/* 0BC6C4 7F087B54 1000000D */ b .Ljp7F087B8C -/* 0BC6C8 7F087B58 00000000 */ nop -.Ljp7F087B5C: -/* 0BC6CC 7F087B5C 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BC6D0 7F087B60 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC6D4 7F087B64 44800000 */ mtc1 $zero, $f0 -/* 0BC6D8 7F087B68 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BC6DC 7F087B6C C4500404 */ lwc1 $f16, 0x404($v0) -/* 0BC6E0 7F087B70 46100032 */ c.eq.s $f0, $f16 -/* 0BC6E4 7F087B74 00000000 */ nop -/* 0BC6E8 7F087B78 45000004 */ bc1f .Ljp7F087B8C -/* 0BC6EC 7F087B7C 00000000 */ nop -/* 0BC6F0 7F087B80 44817000 */ mtc1 $at, $f14 -/* 0BC6F4 7F087B84 0FC2039A */ jal fade_to_over_seconds -/* 0BC6F8 7F087B88 C44C03E0 */ lwc1 $f12, 0x3e0($v0) -.Ljp7F087B8C: -/* 0BC6FC 7F087B8C 3C098003 */ lui $t1, %hi(stop_time_flag) # $t1, 0x8003 -/* 0BC700 7F087B90 8D2964E0 */ lw $t1, %lo(stop_time_flag)($t1) -/* 0BC704 7F087B94 24010002 */ li $at, 2 -/* 0BC708 7F087B98 1521000F */ bne $t1, $at, .Ljp7F087BD8 -/* 0BC70C 7F087B9C 00000000 */ nop -/* 0BC710 7F087BA0 0FC203A7 */ jal check_if_fade_to_black_complete -/* 0BC714 7F087BA4 00000000 */ nop -/* 0BC718 7F087BA8 1040000B */ beqz $v0, .Ljp7F087BD8 -/* 0BC71C 7F087BAC 3C0A8008 */ lui $t2, %hi(pPlayer) # $t2, 0x8008 -/* 0BC720 7F087BB0 8D4AA120 */ lw $t2, %lo(pPlayer)($t2) -/* 0BC724 7F087BB4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BC728 7F087BB8 44812000 */ mtc1 $at, $f4 -/* 0BC72C 7F087BBC C55203DC */ lwc1 $f18, 0x3dc($t2) -/* 0BC730 7F087BC0 46122032 */ c.eq.s $f4, $f18 -/* 0BC734 7F087BC4 00000000 */ nop -/* 0BC738 7F087BC8 45000003 */ bc1f .Ljp7F087BD8 -/* 0BC73C 7F087BCC 00000000 */ nop -/* 0BC740 7F087BD0 0C001A5A */ jal return_to_title_from_level_end -/* 0BC744 7F087BD4 00000000 */ nop -.Ljp7F087BD8: -/* 0BC748 7F087BD8 3C0C8003 */ lui $t4, %hi(enable_move_after_cinema) # $t4, 0x8003 -/* 0BC74C 7F087BDC 8D8C64D8 */ lw $t4, %lo(enable_move_after_cinema)($t4) -/* 0BC750 7F087BE0 11800003 */ beqz $t4, .Ljp7F087BF0 -/* 0BC754 7F087BE4 00000000 */ nop -/* 0BC758 7F087BE8 0FC1EDF1 */ jal sub_GAME_7F07B1A4 -/* 0BC75C 7F087BEC 00000000 */ nop -.Ljp7F087BF0: -/* 0BC760 7F087BF0 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BC764 7F087BF4 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC768 7F087BF8 8C4D00D8 */ lw $t5, 0xd8($v0) -/* 0BC76C 7F087BFC 11A00019 */ beqz $t5, .Ljp7F087C64 -/* 0BC770 7F087C00 00000000 */ nop -/* 0BC774 7F087C04 8C430424 */ lw $v1, 0x424($v0) -/* 0BC778 7F087C08 24040001 */ li $a0, 1 -/* 0BC77C 7F087C0C 14600009 */ bnez $v1, .Ljp7F087C34 -/* 0BC780 7F087C10 00000000 */ nop -/* 0BC784 7F087C14 0FC1778D */ jal draw_item_in_hand_has_more_ammo -/* 0BC788 7F087C18 00002825 */ move $a1, $zero -/* 0BC78C 7F087C1C 00002025 */ move $a0, $zero -/* 0BC790 7F087C20 0FC1778D */ jal draw_item_in_hand_has_more_ammo -/* 0BC794 7F087C24 00002825 */ move $a1, $zero -/* 0BC798 7F087C28 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BC79C 7F087C2C 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC7A0 7F087C30 8C430424 */ lw $v1, 0x424($v0) -.Ljp7F087C34: -/* 0BC7A4 7F087C34 1060000B */ beqz $v1, .Ljp7F087C64 -/* 0BC7A8 7F087C38 00000000 */ nop -/* 0BC7AC 7F087C3C 8C4B0428 */ lw $t3, 0x428($v0) -/* 0BC7B0 7F087C40 3C0E8003 */ lui $t6, %hi(D_80036510) # $t6, 0x8003 -/* 0BC7B4 7F087C44 11600007 */ beqz $t3, .Ljp7F087C64 -/* 0BC7B8 7F087C48 00000000 */ nop -/* 0BC7BC 7F087C4C 8DCE6550 */ lw $t6, %lo(D_80036510)($t6) -/* 0BC7C0 7F087C50 29C10003 */ slti $at, $t6, 3 -/* 0BC7C4 7F087C54 14200003 */ bnez $at, .Ljp7F087C64 -/* 0BC7C8 7F087C58 00000000 */ nop -/* 0BC7CC 7F087C5C 0C001A4C */ jal run_title_stage -/* 0BC7D0 7F087C60 00000000 */ nop -.Ljp7F087C64: -/* 0BC7D4 7F087C64 3C0F8003 */ lui $t7, %hi(cameramode) # $t7, 0x8003 -/* 0BC7D8 7F087C68 8DEF64D4 */ lw $t7, %lo(cameramode)($t7) -/* 0BC7DC 7F087C6C 2401000A */ li $at, 10 -/* 0BC7E0 7F087C70 15E10007 */ bne $t7, $at, .Ljp7F087C90 -/* 0BC7E4 7F087C74 00000000 */ nop -/* 0BC7E8 7F087C78 0FC203A7 */ jal check_if_fade_to_black_complete -/* 0BC7EC 7F087C7C 00000000 */ nop -/* 0BC7F0 7F087C80 10400003 */ beqz $v0, .Ljp7F087C90 -/* 0BC7F4 7F087C84 00000000 */ nop -/* 0BC7F8 7F087C88 0C001A4C */ jal run_title_stage -/* 0BC7FC 7F087C8C 00000000 */ nop -.Ljp7F087C90: -/* 0BC800 7F087C90 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 0BC804 7F087C94 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 0BC808 7F087C98 97B8002A */ lhu $t8, 0x2a($sp) -/* 0BC80C 7F087C9C A73803B4 */ sh $t8, 0x3b4($t9) -/* 0BC810 7F087CA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC814 7F087CA4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BC818 7F087CA8 03E00008 */ jr $ra -/* 0BC81C 7F087CAC 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0875E4(s32 arg0) { - // Node 0 - 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 -GLOBAL_ASM( -.text -glabel sub_GAME_7F0875E4 -/* 0BC114 7F0875E4 3C058008 */ lui $a1, %hi(pPlayer) -/* 0BC118 7F0875E8 8CA5A0B0 */ lw $a1, %lo(pPlayer)($a1) -/* 0BC11C 7F0875EC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BC120 7F0875F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BC124 7F0875F4 AFA40018 */ sw $a0, 0x18($sp) -/* 0BC128 7F0875F8 0FC2F28D */ jal sub_GAME_7F0BCA34 -/* 0BC12C 7F0875FC 24A50038 */ addiu $a1, $a1, 0x38 -/* 0BC130 7F087600 0FC2D20F */ jal get_room_data_float1 -/* 0BC134 7F087604 00000000 */ nop -/* 0BC138 7F087608 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BC13C 7F08760C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC140 7F087610 C4440038 */ lwc1 $f4, 0x38($v0) -/* 0BC144 7F087614 46040182 */ mul.s $f6, $f0, $f4 -/* 0BC148 7F087618 0FC2D20F */ jal get_room_data_float1 -/* 0BC14C 7F08761C E4460050 */ swc1 $f6, 0x50($v0) -/* 0BC150 7F087620 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BC154 7F087624 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC158 7F087628 C448003C */ lwc1 $f8, 0x3c($v0) -/* 0BC15C 7F08762C 46080282 */ mul.s $f10, $f0, $f8 -/* 0BC160 7F087630 0FC2D20F */ jal get_room_data_float1 -/* 0BC164 7F087634 E44A0054 */ swc1 $f10, 0x54($v0) -/* 0BC168 7F087638 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BC16C 7F08763C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC170 7F087640 C4500040 */ lwc1 $f16, 0x40($v0) -/* 0BC174 7F087644 46100482 */ mul.s $f18, $f0, $f16 -/* 0BC178 7F087648 E4520058 */ swc1 $f18, 0x58($v0) -/* 0BC17C 7F08764C 0FC2F189 */ jal sub_GAME_7F0BC624 -/* 0BC180 7F087650 8FA40018 */ lw $a0, 0x18($sp) -/* 0BC184 7F087654 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC188 7F087658 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BC18C 7F08765C 03E00008 */ jr $ra -/* 0BC190 7F087660 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void store_BONDdata_curpos_to_previous(void) { - // Node 0 - 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 -GLOBAL_ASM( -.text -glabel store_BONDdata_curpos_to_previous -/* 0BC194 7F087664 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BC198 7F087668 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0BC19C 7F08766C 8C620000 */ lw $v0, ($v1) -/* 0BC1A0 7F087670 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BC1A4 7F087674 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BC1A8 7F087678 C4440038 */ lwc1 $f4, 0x38($v0) -/* 0BC1AC 7F08767C E4440044 */ swc1 $f4, 0x44($v0) -/* 0BC1B0 7F087680 8C620000 */ lw $v0, ($v1) -/* 0BC1B4 7F087684 C446003C */ lwc1 $f6, 0x3c($v0) -/* 0BC1B8 7F087688 E4460048 */ swc1 $f6, 0x48($v0) -/* 0BC1BC 7F08768C 8C620000 */ lw $v0, ($v1) -/* 0BC1C0 7F087690 C4480040 */ lwc1 $f8, 0x40($v0) -/* 0BC1C4 7F087694 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0BC1C8 7F087698 E448004C */ swc1 $f8, 0x4c($v0) -/* 0BC1CC 7F08769C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BC1D0 7F0876A0 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0BC1D4 7F0876A4 8C650000 */ lw $a1, ($v1) -/* 0BC1D8 7F0876A8 00402025 */ move $a0, $v0 -/* 0BC1DC 7F0876AC 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0BC1E0 7F0876B0 24A50044 */ addiu $a1, $a1, 0x44 -/* 0BC1E4 7F0876B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC1E8 7F0876B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BC1EC 7F0876BC 03E00008 */ jr $ra -/* 0BC1F0 7F0876C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0876C4(void *arg0, void *arg1, void *arg2) { - ? sp60; - ? spA0; - f32 spAC; - f32 spB0; - f32 spB4; - f32 spB8; - f32 spBC; - f32 spC0; - ? spC4; - s32 sp104; - ? sp108; - f32 temp_f10; - f32 temp_f6; - f32 temp_f4; - f32 temp_f16; - s32 temp_s0; - f32 temp_f0; - s32 temp_v1; - void *temp_a1; - void *phi_v0; - s32 phi_v1; - void *phi_a1; - - // Node 0 - sub_GAME_7F0875E4(get_cur_players_room()); - pPlayer->field_5C = sub_GAME_7F0BD6E0(); - pPlayer->field_60 = sub_GAME_7F0BD6E0(); - pPlayer->field_64 = sub_GAME_7F0BD6E0(); - pPlayer->field_68 = sub_GAME_7F0BD6E0(); - sp104 = sub_GAME_7F0BD6F8(2); - temp_f10 = ((*arg0 - pPlayer->current_model_xpos) * D_800364CC); - spAC = temp_f10; - temp_f6 = ((arg0->unk4 - pPlayer->current_model_ypos) * D_800364CC); - spB0 = temp_f6; - temp_f4 = ((arg0->unk8 - pPlayer->current_model_zpos) * D_800364CC); - spB4 = temp_f4; - temp_f16 = (*arg1 + temp_f10); - spB8 = temp_f16; - spBC = (f32) (arg1->unk4 + temp_f6); - spC0 = (f32) (arg1->unk8 + temp_f4); - sub_GAME_7F059424(&spC4, temp_f10, temp_f6, temp_f4, (f32) *arg1, (f32) arg1->unk4, (f32) arg1->unk8, (f32) *arg2, (f32) arg2->unk4, (f32) arg2->unk8); - guLookAtReflect(&sp108, sp104, spAC, spB0, spB4, temp_f16, spBC, spC0, (f32) *arg2, (f32) arg2->unk4, (f32) arg2->unk8); - sub_GAME_7F059424(pPlayer->field_64, *arg0, arg0->unk4, arg0->unk8, (f32) *arg1, (f32) arg1->unk4, (f32) arg1->unk8, (f32) *arg2, (f32) arg2->unk4, (f32) arg2->unk8); - sub_GAME_7F059708(pPlayer->field_68, *arg0, arg0->unk4, arg0->unk8, (f32) *arg1, (f32) arg1->unk4, (f32) arg1->unk8, (f32) *arg2, (f32) arg2->unk4, (f32) arg2->unk8); - temp_s0 = sub_GAME_7F0BD6E0(); - sub_GAME_7F0580C8(get_BONDdata_field_10DC(), &spC4, &sp60); - phi_a1 = &sp60; -loop_1: - // Node 1 - phi_v0 = phi_a1; - phi_v1 = 0; -loop_2: - // Node 2 - temp_f0 = *phi_v0; - temp_v1 = (phi_v1 + 4); - if (32000.0f < temp_f0) - { - // Node 3 - *phi_v0 = 32000.0f; - } - else - { - // Node 4 - if (temp_f0 < -32000.0f) - { - // Node 5 - *phi_v0 = -32000.0f; - } - } - // Node 6 - phi_v0 = (phi_v0 + 4); - phi_v1 = temp_v1; - if (temp_v1 != 0x10) - { - goto loop_2; - } - // Node 7 - temp_a1 = (phi_a1 + 0x10); - phi_a1 = temp_a1; - if (temp_a1 != &spA0) - { - goto loop_1; - } - // Node 8 - guMtxF2L(-32000.0f, &sp60, temp_s0, &spA0); - set_BONDdata_field_10E0(temp_s0); - matrix_multiply_A1_by_F12(sub_GAME_7F0B4878(), &spC4); - guMtxF2L(&spC4, pPlayer->field_5C); - sub_GAME_7F059334(pPlayer->field_5C, pPlayer->field_60); - set_BONDdata_field_10C8(pPlayer->field_5C); - set_BONDdata_field_10C4(pPlayer->field_60); - copy_BONDdata_field_10CC_to_10E8_set_10CC(pPlayer->field_64); - sub_GAME_7F078424(pPlayer->field_68); - sub_GAME_7F078464(sp104); - sub_GAME_7F0785DC(); - return store_BONDdata_curpos_to_previous(); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0876C4 -/* 0BC1F4 7F0876C4 27BDFEB8 */ addiu $sp, $sp, -0x148 -/* 0BC1F8 7F0876C8 AFBF0044 */ sw $ra, 0x44($sp) -/* 0BC1FC 7F0876CC AFB1003C */ sw $s1, 0x3c($sp) -/* 0BC200 7F0876D0 AFB00038 */ sw $s0, 0x38($sp) -/* 0BC204 7F0876D4 00A08025 */ move $s0, $a1 -/* 0BC208 7F0876D8 00C08825 */ move $s1, $a2 -/* 0BC20C 7F0876DC AFB20040 */ sw $s2, 0x40($sp) -/* 0BC210 7F0876E0 0FC227E6 */ jal get_cur_players_room -/* 0BC214 7F0876E4 AFA40148 */ sw $a0, 0x148($sp) -/* 0BC218 7F0876E8 0FC21D79 */ jal sub_GAME_7F0875E4 -/* 0BC21C 7F0876EC 00402025 */ move $a0, $v0 -/* 0BC220 7F0876F0 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BC224 7F0876F4 00000000 */ nop -/* 0BC228 7F0876F8 3C128008 */ lui $s2, %hi(pPlayer) -/* 0BC22C 7F0876FC 2652A0B0 */ addiu $s2, %lo(pPlayer) # addiu $s2, $s2, -0x5f50 -/* 0BC230 7F087700 8E4E0000 */ lw $t6, ($s2) -/* 0BC234 7F087704 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BC238 7F087708 ADC2005C */ sw $v0, 0x5c($t6) -/* 0BC23C 7F08770C 8E4F0000 */ lw $t7, ($s2) -/* 0BC240 7F087710 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BC244 7F087714 ADE20060 */ sw $v0, 0x60($t7) -/* 0BC248 7F087718 8E580000 */ lw $t8, ($s2) -/* 0BC24C 7F08771C 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BC250 7F087720 AF020064 */ sw $v0, 0x64($t8) -/* 0BC254 7F087724 8E590000 */ lw $t9, ($s2) -/* 0BC258 7F087728 24040002 */ li $a0, 2 -/* 0BC25C 7F08772C 0FC2F5BE */ jal sub_GAME_7F0BD6F8 -/* 0BC260 7F087730 AF220068 */ sw $v0, 0x68($t9) -/* 0BC264 7F087734 8FA80148 */ lw $t0, 0x148($sp) -/* 0BC268 7F087738 8E430000 */ lw $v1, ($s2) -/* 0BC26C 7F08773C AFA20104 */ sw $v0, 0x104($sp) -/* 0BC270 7F087740 C5040000 */ lwc1 $f4, ($t0) -/* 0BC274 7F087744 C4660038 */ lwc1 $f6, 0x38($v1) -/* 0BC278 7F087748 3C018003 */ lui $at, %hi(D_800364CC) -/* 0BC27C 7F08774C C42064CC */ lwc1 $f0, %lo(D_800364CC)($at) -/* 0BC280 7F087750 46062201 */ sub.s $f8, $f4, $f6 -/* 0BC284 7F087754 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 0BC288 7F087758 46004282 */ mul.s $f10, $f8, $f0 -/* 0BC28C 7F08775C E7AA00AC */ swc1 $f10, 0xac($sp) -/* 0BC290 7F087760 C5100004 */ lwc1 $f16, 4($t0) -/* 0BC294 7F087764 C472003C */ lwc1 $f18, 0x3c($v1) -/* 0BC298 7F087768 44055000 */ mfc1 $a1, $f10 -/* 0BC29C 7F08776C 46128101 */ sub.s $f4, $f16, $f18 -/* 0BC2A0 7F087770 46002182 */ mul.s $f6, $f4, $f0 -/* 0BC2A4 7F087774 E7A600B0 */ swc1 $f6, 0xb0($sp) -/* 0BC2A8 7F087778 C5080008 */ lwc1 $f8, 8($t0) -/* 0BC2AC 7F08777C C4700040 */ lwc1 $f16, 0x40($v1) -/* 0BC2B0 7F087780 44063000 */ mfc1 $a2, $f6 -/* 0BC2B4 7F087784 46104481 */ sub.s $f18, $f8, $f16 -/* 0BC2B8 7F087788 46009102 */ mul.s $f4, $f18, $f0 -/* 0BC2BC 7F08778C E7A400B4 */ swc1 $f4, 0xb4($sp) -/* 0BC2C0 7F087790 C6080000 */ lwc1 $f8, ($s0) -/* 0BC2C4 7F087794 44072000 */ mfc1 $a3, $f4 -/* 0BC2C8 7F087798 460A4400 */ add.s $f16, $f8, $f10 -/* 0BC2CC 7F08779C E7B000B8 */ swc1 $f16, 0xb8($sp) -/* 0BC2D0 7F0877A0 C6120004 */ lwc1 $f18, 4($s0) -/* 0BC2D4 7F0877A4 46069200 */ add.s $f8, $f18, $f6 -/* 0BC2D8 7F0877A8 E7A800BC */ swc1 $f8, 0xbc($sp) -/* 0BC2DC 7F0877AC C6100008 */ lwc1 $f16, 8($s0) -/* 0BC2E0 7F0877B0 46048480 */ add.s $f18, $f16, $f4 -/* 0BC2E4 7F0877B4 E7B200C0 */ swc1 $f18, 0xc0($sp) -/* 0BC2E8 7F0877B8 C6080000 */ lwc1 $f8, ($s0) -/* 0BC2EC 7F0877BC E7A80010 */ swc1 $f8, 0x10($sp) -/* 0BC2F0 7F0877C0 C6100004 */ lwc1 $f16, 4($s0) -/* 0BC2F4 7F0877C4 E7B00014 */ swc1 $f16, 0x14($sp) -/* 0BC2F8 7F0877C8 C6120008 */ lwc1 $f18, 8($s0) -/* 0BC2FC 7F0877CC E7B20018 */ swc1 $f18, 0x18($sp) -/* 0BC300 7F0877D0 C62A0000 */ lwc1 $f10, ($s1) -/* 0BC304 7F0877D4 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0BC308 7F0877D8 C6260004 */ lwc1 $f6, 4($s1) -/* 0BC30C 7F0877DC E7A60020 */ swc1 $f6, 0x20($sp) -/* 0BC310 7F0877E0 C6240008 */ lwc1 $f4, 8($s1) -/* 0BC314 7F0877E4 0FC16509 */ jal sub_GAME_7F059424 -/* 0BC318 7F0877E8 E7A40024 */ swc1 $f4, 0x24($sp) -/* 0BC31C 7F0877EC C7A800B4 */ lwc1 $f8, 0xb4($sp) -/* 0BC320 7F0877F0 C7B000B8 */ lwc1 $f16, 0xb8($sp) -/* 0BC324 7F0877F4 C7B200BC */ lwc1 $f18, 0xbc($sp) -/* 0BC328 7F0877F8 C7AA00C0 */ lwc1 $f10, 0xc0($sp) -/* 0BC32C 7F0877FC E7A80010 */ swc1 $f8, 0x10($sp) -/* 0BC330 7F087800 E7B00014 */ swc1 $f16, 0x14($sp) -/* 0BC334 7F087804 E7B20018 */ swc1 $f18, 0x18($sp) -/* 0BC338 7F087808 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0BC33C 7F08780C C6260000 */ lwc1 $f6, ($s1) -/* 0BC340 7F087810 27A40108 */ addiu $a0, $sp, 0x108 -/* 0BC344 7F087814 8FA50104 */ lw $a1, 0x104($sp) -/* 0BC348 7F087818 E7A60020 */ swc1 $f6, 0x20($sp) -/* 0BC34C 7F08781C C6240004 */ lwc1 $f4, 4($s1) -/* 0BC350 7F087820 8FA600AC */ lw $a2, 0xac($sp) -/* 0BC354 7F087824 8FA700B0 */ lw $a3, 0xb0($sp) -/* 0BC358 7F087828 E7A40024 */ swc1 $f4, 0x24($sp) -/* 0BC35C 7F08782C C6280008 */ lwc1 $f8, 8($s1) -/* 0BC360 7F087830 0C005CDC */ jal guLookAtReflect -/* 0BC364 7F087834 E7A80028 */ swc1 $f8, 0x28($sp) -/* 0BC368 7F087838 8FA20148 */ lw $v0, 0x148($sp) -/* 0BC36C 7F08783C 8E490000 */ lw $t1, ($s2) -/* 0BC370 7F087840 C6100000 */ lwc1 $f16, ($s0) -/* 0BC374 7F087844 8C450000 */ lw $a1, ($v0) -/* 0BC378 7F087848 8C460004 */ lw $a2, 4($v0) -/* 0BC37C 7F08784C 8C470008 */ lw $a3, 8($v0) -/* 0BC380 7F087850 8D240064 */ lw $a0, 0x64($t1) -/* 0BC384 7F087854 E7B00010 */ swc1 $f16, 0x10($sp) -/* 0BC388 7F087858 C6120004 */ lwc1 $f18, 4($s0) -/* 0BC38C 7F08785C E7B20014 */ swc1 $f18, 0x14($sp) -/* 0BC390 7F087860 C60A0008 */ lwc1 $f10, 8($s0) -/* 0BC394 7F087864 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0BC398 7F087868 C6260000 */ lwc1 $f6, ($s1) -/* 0BC39C 7F08786C E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0BC3A0 7F087870 C6240004 */ lwc1 $f4, 4($s1) -/* 0BC3A4 7F087874 E7A40020 */ swc1 $f4, 0x20($sp) -/* 0BC3A8 7F087878 C6280008 */ lwc1 $f8, 8($s1) -/* 0BC3AC 7F08787C 0FC16509 */ jal sub_GAME_7F059424 -/* 0BC3B0 7F087880 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0BC3B4 7F087884 8FAB0148 */ lw $t3, 0x148($sp) -/* 0BC3B8 7F087888 8E4A0000 */ lw $t2, ($s2) -/* 0BC3BC 7F08788C C6100000 */ lwc1 $f16, ($s0) -/* 0BC3C0 7F087890 8D650000 */ lw $a1, ($t3) -/* 0BC3C4 7F087894 8D660004 */ lw $a2, 4($t3) -/* 0BC3C8 7F087898 8D670008 */ lw $a3, 8($t3) -/* 0BC3CC 7F08789C 8D440068 */ lw $a0, 0x68($t2) -/* 0BC3D0 7F0878A0 E7B00010 */ swc1 $f16, 0x10($sp) -/* 0BC3D4 7F0878A4 C6120004 */ lwc1 $f18, 4($s0) -/* 0BC3D8 7F0878A8 E7B20014 */ swc1 $f18, 0x14($sp) -/* 0BC3DC 7F0878AC C60A0008 */ lwc1 $f10, 8($s0) -/* 0BC3E0 7F0878B0 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0BC3E4 7F0878B4 C6260000 */ lwc1 $f6, ($s1) -/* 0BC3E8 7F0878B8 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0BC3EC 7F0878BC C6240004 */ lwc1 $f4, 4($s1) -/* 0BC3F0 7F0878C0 E7A40020 */ swc1 $f4, 0x20($sp) -/* 0BC3F4 7F0878C4 C6280008 */ lwc1 $f8, 8($s1) -/* 0BC3F8 7F0878C8 0FC165C2 */ jal sub_GAME_7F059708 -/* 0BC3FC 7F0878CC E7A80024 */ swc1 $f8, 0x24($sp) -/* 0BC400 7F0878D0 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BC404 7F0878D4 00000000 */ nop -/* 0BC408 7F0878D8 0FC1E0F9 */ jal get_BONDdata_field_10DC -/* 0BC40C 7F0878DC 00408025 */ move $s0, $v0 -/* 0BC410 7F0878E0 27B10060 */ addiu $s1, $sp, 0x60 -/* 0BC414 7F0878E4 02203025 */ move $a2, $s1 -/* 0BC418 7F0878E8 00402025 */ move $a0, $v0 -/* 0BC41C 7F0878EC 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0BC420 7F0878F0 27A500C4 */ addiu $a1, $sp, 0xc4 -/* 0BC424 7F0878F4 3C01C6FA */ li $at, 0xC6FA0000 # -32000.000000 -/* 0BC428 7F0878F8 44816000 */ mtc1 $at, $f12 -/* 0BC42C 7F0878FC 3C0146FA */ li $at, 0x46FA0000 # 32000.000000 -/* 0BC430 7F087900 44811000 */ mtc1 $at, $f2 -/* 0BC434 7F087904 27A50060 */ addiu $a1, $sp, 0x60 -/* 0BC438 7F087908 27A700A0 */ addiu $a3, $sp, 0xa0 -/* 0BC43C 7F08790C 24040010 */ li $a0, 16 -/* 0BC440 7F087910 00001825 */ move $v1, $zero -.L7F087914: -/* 0BC444 7F087914 00A01025 */ move $v0, $a1 -.L7F087918: -/* 0BC448 7F087918 C4400000 */ lwc1 $f0, ($v0) -/* 0BC44C 7F08791C 24630004 */ addiu $v1, $v1, 4 -/* 0BC450 7F087920 4600103C */ c.lt.s $f2, $f0 -/* 0BC454 7F087924 00000000 */ nop -/* 0BC458 7F087928 45020004 */ bc1fl .L7F08793C -/* 0BC45C 7F08792C 460C003C */ c.lt.s $f0, $f12 -/* 0BC460 7F087930 10000006 */ b .L7F08794C -/* 0BC464 7F087934 E4420000 */ swc1 $f2, ($v0) -/* 0BC468 7F087938 460C003C */ c.lt.s $f0, $f12 -.L7F08793C: -/* 0BC46C 7F08793C 00000000 */ nop -/* 0BC470 7F087940 45000002 */ bc1f .L7F08794C -/* 0BC474 7F087944 00000000 */ nop -/* 0BC478 7F087948 E44C0000 */ swc1 $f12, ($v0) -.L7F08794C: -/* 0BC47C 7F08794C 1464FFF2 */ bne $v1, $a0, .L7F087918 -/* 0BC480 7F087950 24420004 */ addiu $v0, $v0, 4 -/* 0BC484 7F087954 24A50010 */ addiu $a1, $a1, 0x10 -/* 0BC488 7F087958 54A7FFEE */ bnel $a1, $a3, .L7F087914 -/* 0BC48C 7F08795C 00001825 */ move $v1, $zero -/* 0BC490 7F087960 02202025 */ move $a0, $s1 -/* 0BC494 7F087964 0C003FC4 */ jal guMtxF2L -/* 0BC498 7F087968 02002825 */ move $a1, $s0 -/* 0BC49C 7F08796C 0FC1E0E1 */ jal set_BONDdata_field_10E0 -/* 0BC4A0 7F087970 02002025 */ move $a0, $s0 -/* 0BC4A4 7F087974 0FC2D21E */ jal sub_GAME_7F0B4878 -/* 0BC4A8 7F087978 00000000 */ nop -/* 0BC4AC 7F08797C 46000306 */ mov.s $f12, $f0 -/* 0BC4B0 7F087980 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0BC4B4 7F087984 27A500C4 */ addiu $a1, $sp, 0xc4 -/* 0BC4B8 7F087988 8E4C0000 */ lw $t4, ($s2) -/* 0BC4BC 7F08798C 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 0BC4C0 7F087990 0C003FC4 */ jal guMtxF2L -/* 0BC4C4 7F087994 8D85005C */ lw $a1, 0x5c($t4) -/* 0BC4C8 7F087998 8E430000 */ lw $v1, ($s2) -/* 0BC4CC 7F08799C 8C64005C */ lw $a0, 0x5c($v1) -/* 0BC4D0 7F0879A0 0FC164CD */ jal sub_GAME_7F059334 -/* 0BC4D4 7F0879A4 8C650060 */ lw $a1, 0x60($v1) -/* 0BC4D8 7F0879A8 8E4D0000 */ lw $t5, ($s2) -/* 0BC4DC 7F0879AC 0FC1E0D1 */ jal set_BONDdata_field_10C8 -/* 0BC4E0 7F0879B0 8DA4005C */ lw $a0, 0x5c($t5) -/* 0BC4E4 7F0879B4 8E4E0000 */ lw $t6, ($s2) -/* 0BC4E8 7F0879B8 0FC1E0C9 */ jal set_BONDdata_field_10C4 -/* 0BC4EC 7F0879BC 8DC40060 */ lw $a0, 0x60($t6) -/* 0BC4F0 7F0879C0 8E4F0000 */ lw $t7, ($s2) -/* 0BC4F4 7F0879C4 0FC1E0E9 */ jal copy_BONDdata_field_10CC_to_10E8_set_10CC -/* 0BC4F8 7F0879C8 8DE40064 */ lw $a0, 0x64($t7) -/* 0BC4FC 7F0879CC 8E580000 */ lw $t8, ($s2) -/* 0BC500 7F0879D0 0FC1E109 */ jal sub_GAME_7F078424 -/* 0BC504 7F0879D4 8F040068 */ lw $a0, 0x68($t8) -/* 0BC508 7F0879D8 0FC1E119 */ jal sub_GAME_7F078464 -/* 0BC50C 7F0879DC 8FA40104 */ lw $a0, 0x104($sp) -/* 0BC510 7F0879E0 0FC1E177 */ jal sub_GAME_7F0785DC -/* 0BC514 7F0879E4 00000000 */ nop -/* 0BC518 7F0879E8 0FC21D99 */ jal store_BONDdata_curpos_to_previous -/* 0BC51C 7F0879EC 00000000 */ nop -/* 0BC520 7F0879F0 8FBF0044 */ lw $ra, 0x44($sp) -/* 0BC524 7F0879F4 8FB00038 */ lw $s0, 0x38($sp) -/* 0BC528 7F0879F8 8FB1003C */ lw $s1, 0x3c($sp) -/* 0BC52C 7F0879FC 8FB20040 */ lw $s2, 0x40($sp) -/* 0BC530 7F087A00 03E00008 */ jr $ra -/* 0BC534 7F087A04 27BD0148 */ addiu $sp, $sp, 0x148 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F087A08(s32 arg0) { - f32 sp20; - f32 sp2C; - f32 sp30; - ? sp34; - f32 sp40; - ? sp4C; - void *sp58; - f32 sp5C; - f32 sp60; - f32 sp64; - f32 sp68; - f32 sp6C; - f32 sp70; - f32 sp74; - f32 sp78; - f32 sp7C; - void *temp_v1; - s32 temp_a0; - s32 temp_a1; - f32 temp_f2; - ? temp_ret; - f32 phi_f16; - f32 phi_f2; - - // Node 0 - if (*pPlayer == 1) - { - // Node 1 - 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 - { - // Node 2 - temp_v1 = (pPlayer + 0x488); - sp4C = (?32) D_80036830; - temp_a0 = (temp_v1 + 0x2c); - temp_a1 = (temp_v1 + 0x38); - sp4C.unk4 = (?32) D_80036830.unk4; - sp4C.unk8 = (?32) D_80036830.unk8; - if (pPlayer->bonddead == 0) - { - // Node 3 - sp58 = temp_v1; - sub_GAME_7F09C7C4(temp_a0, temp_a1, &sp4C); - } - else - { - // Node 4 - sp58 = temp_v1; - video_related_9(0, temp_a0, temp_a1, &sp4C); - } - // Node 5 - sp74 = (f32) temp_v1->unk2C; - sp78 = (f32) temp_v1->unk30; - sp7C = (f32) temp_v1->unk34; - sp68 = (f32) temp_v1->unk38; - sp6C = (f32) temp_v1->unk3C; - sp70 = (f32) temp_v1->unk40; - sp5C = (f32) temp_v1->unk44; - sp60 = (f32) temp_v1->unk48; - sp64 = (f32) temp_v1->unk4C; - } - // Node 6 - sub_GAME_7F0876C4(&sp74, &sp68, &sp5C); - sub_GAME_7F068190(&sp34, &sp40); - sp30 = sp44; - sp2C = sqrtf(((sp48 * sp48) + (sp40 * sp40))); - sp20 = get_curplay_vertical_rotation_in_degrees(); - temp_f2 = (convert_angle_using_inverse(sp30, sp2C) + sp20); - phi_f16 = temp_f2; - if (D_8005526C <= temp_f2) - { - // Node 7 - phi_f16 = (temp_f2 - D_80055270); - } - // Node 8 - pPlayer->field_2A08 = (f32) phi_f16; - temp_ret = convert_angle_using_inverse(-sp40, -sp48); - phi_f2 = temp_ret; - if (D_80055274 <= temp_ret) - { - // Node 9 - phi_f2 = (temp_ret - D_80055278); - } - // Node 10 - pPlayer->field_2A0C = (f32) phi_f2; - return arg0; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005526C -.word 0x40490fdb /*3.1415927*/ -glabel D_80055270 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055274 -.word 0x40490fdb /*3.1415927*/ -glabel D_80055278 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F087A08 -/* 0BC538 7F087A08 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BC53C 7F087A0C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC540 7F087A10 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0BC544 7F087A14 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BC548 7F087A18 AFA40080 */ sw $a0, 0x80($sp) -/* 0BC54C 7F087A1C 8C4E0000 */ lw $t6, ($v0) -/* 0BC550 7F087A20 24010001 */ li $at, 1 -/* 0BC554 7F087A24 3C0F8003 */ lui $t7, %hi(D_80036830) -/* 0BC558 7F087A28 15C1001A */ bne $t6, $at, .L7F087A94 -/* 0BC55C 7F087A2C 25EF6830 */ addiu $t7, %lo(D_80036830) # addiu $t7, $t7, 0x6830 -/* 0BC560 7F087A30 C4440004 */ lwc1 $f4, 4($v0) -/* 0BC564 7F087A34 E7A40074 */ swc1 $f4, 0x74($sp) -/* 0BC568 7F087A38 C4460008 */ lwc1 $f6, 8($v0) -/* 0BC56C 7F087A3C E7A60078 */ swc1 $f6, 0x78($sp) -/* 0BC570 7F087A40 C448000C */ lwc1 $f8, 0xc($v0) -/* 0BC574 7F087A44 E7A8007C */ swc1 $f8, 0x7c($sp) -/* 0BC578 7F087A48 C4520004 */ lwc1 $f18, 4($v0) -/* 0BC57C 7F087A4C C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0BC580 7F087A50 46125101 */ sub.s $f4, $f10, $f18 -/* 0BC584 7F087A54 E7A40068 */ swc1 $f4, 0x68($sp) -/* 0BC588 7F087A58 C4480008 */ lwc1 $f8, 8($v0) -/* 0BC58C 7F087A5C C4460014 */ lwc1 $f6, 0x14($v0) -/* 0BC590 7F087A60 46083281 */ sub.s $f10, $f6, $f8 -/* 0BC594 7F087A64 E7AA006C */ swc1 $f10, 0x6c($sp) -/* 0BC598 7F087A68 C444000C */ lwc1 $f4, 0xc($v0) -/* 0BC59C 7F087A6C C4520018 */ lwc1 $f18, 0x18($v0) -/* 0BC5A0 7F087A70 46049181 */ sub.s $f6, $f18, $f4 -/* 0BC5A4 7F087A74 E7A60070 */ swc1 $f6, 0x70($sp) -/* 0BC5A8 7F087A78 C448001C */ lwc1 $f8, 0x1c($v0) -/* 0BC5AC 7F087A7C E7A8005C */ swc1 $f8, 0x5c($sp) -/* 0BC5B0 7F087A80 C44A0020 */ lwc1 $f10, 0x20($v0) -/* 0BC5B4 7F087A84 E7AA0060 */ swc1 $f10, 0x60($sp) -/* 0BC5B8 7F087A88 C4520024 */ lwc1 $f18, 0x24($v0) -/* 0BC5BC 7F087A8C 10000028 */ b .L7F087B30 -/* 0BC5C0 7F087A90 E7B20064 */ swc1 $f18, 0x64($sp) -.L7F087A94: -/* 0BC5C4 7F087A94 8DE10000 */ lw $at, ($t7) -/* 0BC5C8 7F087A98 27A6004C */ addiu $a2, $sp, 0x4c -/* 0BC5CC 7F087A9C 24430488 */ addiu $v1, $v0, 0x488 -/* 0BC5D0 7F087AA0 ACC10000 */ sw $at, ($a2) -/* 0BC5D4 7F087AA4 8DE80004 */ lw $t0, 4($t7) -/* 0BC5D8 7F087AA8 2464002C */ addiu $a0, $v1, 0x2c -/* 0BC5DC 7F087AAC 24650038 */ addiu $a1, $v1, 0x38 -/* 0BC5E0 7F087AB0 ACC80004 */ sw $t0, 4($a2) -/* 0BC5E4 7F087AB4 8DE10008 */ lw $at, 8($t7) -/* 0BC5E8 7F087AB8 ACC10008 */ sw $at, 8($a2) -/* 0BC5EC 7F087ABC 8C4900D8 */ lw $t1, 0xd8($v0) -/* 0BC5F0 7F087AC0 55200006 */ bnezl $t1, .L7F087ADC -/* 0BC5F4 7F087AC4 44806000 */ mtc1 $zero, $f12 -/* 0BC5F8 7F087AC8 0FC271F1 */ jal sub_GAME_7F09C7C4 -/* 0BC5FC 7F087ACC AFA30058 */ sw $v1, 0x58($sp) -/* 0BC600 7F087AD0 10000005 */ b .L7F087AE8 -/* 0BC604 7F087AD4 8FA30058 */ lw $v1, 0x58($sp) -/* 0BC608 7F087AD8 44806000 */ mtc1 $zero, $f12 -.L7F087ADC: -/* 0BC60C 7F087ADC 0C000EC1 */ jal video_related_9 -/* 0BC610 7F087AE0 AFA30058 */ sw $v1, 0x58($sp) -/* 0BC614 7F087AE4 8FA30058 */ lw $v1, 0x58($sp) -.L7F087AE8: -/* 0BC618 7F087AE8 C464002C */ lwc1 $f4, 0x2c($v1) -/* 0BC61C 7F087AEC E7A40074 */ swc1 $f4, 0x74($sp) -/* 0BC620 7F087AF0 C4660030 */ lwc1 $f6, 0x30($v1) -/* 0BC624 7F087AF4 E7A60078 */ swc1 $f6, 0x78($sp) -/* 0BC628 7F087AF8 C4680034 */ lwc1 $f8, 0x34($v1) -/* 0BC62C 7F087AFC E7A8007C */ swc1 $f8, 0x7c($sp) -/* 0BC630 7F087B00 C46A0038 */ lwc1 $f10, 0x38($v1) -/* 0BC634 7F087B04 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 0BC638 7F087B08 C472003C */ lwc1 $f18, 0x3c($v1) -/* 0BC63C 7F087B0C E7B2006C */ swc1 $f18, 0x6c($sp) -/* 0BC640 7F087B10 C4640040 */ lwc1 $f4, 0x40($v1) -/* 0BC644 7F087B14 E7A40070 */ swc1 $f4, 0x70($sp) -/* 0BC648 7F087B18 C4660044 */ lwc1 $f6, 0x44($v1) -/* 0BC64C 7F087B1C E7A6005C */ swc1 $f6, 0x5c($sp) -/* 0BC650 7F087B20 C4680048 */ lwc1 $f8, 0x48($v1) -/* 0BC654 7F087B24 E7A80060 */ swc1 $f8, 0x60($sp) -/* 0BC658 7F087B28 C46A004C */ lwc1 $f10, 0x4c($v1) -/* 0BC65C 7F087B2C E7AA0064 */ swc1 $f10, 0x64($sp) -.L7F087B30: -/* 0BC660 7F087B30 27A40074 */ addiu $a0, $sp, 0x74 -/* 0BC664 7F087B34 27A50068 */ addiu $a1, $sp, 0x68 -/* 0BC668 7F087B38 0FC21DB1 */ jal sub_GAME_7F0876C4 -/* 0BC66C 7F087B3C 27A6005C */ addiu $a2, $sp, 0x5c -/* 0BC670 7F087B40 27A40034 */ addiu $a0, $sp, 0x34 -/* 0BC674 7F087B44 0FC1A064 */ jal sub_GAME_7F068190 -/* 0BC678 7F087B48 27A50040 */ addiu $a1, $sp, 0x40 -/* 0BC67C 7F087B4C C7A00048 */ lwc1 $f0, 0x48($sp) -/* 0BC680 7F087B50 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 0BC684 7F087B54 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 0BC688 7F087B58 46000102 */ mul.s $f4, $f0, $f0 -/* 0BC68C 7F087B5C E7B20030 */ swc1 $f18, 0x30($sp) -/* 0BC690 7F087B60 46021182 */ mul.s $f6, $f2, $f2 -/* 0BC694 7F087B64 0C007DF8 */ jal sqrtf -/* 0BC698 7F087B68 46062300 */ add.s $f12, $f4, $f6 -/* 0BC69C 7F087B6C 0FC227C4 */ jal get_curplay_vertical_rotation_in_degrees -/* 0BC6A0 7F087B70 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 0BC6A4 7F087B74 E7A00020 */ swc1 $f0, 0x20($sp) -/* 0BC6A8 7F087B78 C7AC0030 */ lwc1 $f12, 0x30($sp) -/* 0BC6AC 7F087B7C 0FC16A8C */ jal convert_angle_using_inverse -/* 0BC6B0 7F087B80 C7AE002C */ lwc1 $f14, 0x2c($sp) -/* 0BC6B4 7F087B84 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 0BC6B8 7F087B88 3C018005 */ lui $at, %hi(D_8005526C) -/* 0BC6BC 7F087B8C C42A526C */ lwc1 $f10, %lo(D_8005526C)($at) -/* 0BC6C0 7F087B90 46080080 */ add.s $f2, $f0, $f8 -/* 0BC6C4 7F087B94 3C018005 */ lui $at, %hi(D_80055270) -/* 0BC6C8 7F087B98 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0BC6CC 7F087B9C 4602503E */ c.le.s $f10, $f2 -/* 0BC6D0 7F087BA0 46001406 */ mov.s $f16, $f2 -/* 0BC6D4 7F087BA4 45000003 */ bc1f .L7F087BB4 -/* 0BC6D8 7F087BA8 00000000 */ nop -/* 0BC6DC 7F087BAC C4325270 */ lwc1 $f18, %lo(D_80055270)($at) -/* 0BC6E0 7F087BB0 46121401 */ sub.s $f16, $f2, $f18 -.L7F087BB4: -/* 0BC6E4 7F087BB4 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0BC6E8 7F087BB8 E5502A08 */ swc1 $f16, 0x2a08($t2) -/* 0BC6EC 7F087BBC C7AE0048 */ lwc1 $f14, 0x48($sp) -/* 0BC6F0 7F087BC0 C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 0BC6F4 7F087BC4 46007387 */ neg.s $f14, $f14 -/* 0BC6F8 7F087BC8 0FC16A8C */ jal convert_angle_using_inverse -/* 0BC6FC 7F087BCC 46006307 */ neg.s $f12, $f12 -/* 0BC700 7F087BD0 3C018005 */ lui $at, %hi(D_80055274) -/* 0BC704 7F087BD4 C4245274 */ lwc1 $f4, %lo(D_80055274)($at) -/* 0BC708 7F087BD8 46000086 */ mov.s $f2, $f0 -/* 0BC70C 7F087BDC 3C018005 */ lui $at, %hi(D_80055278) -/* 0BC710 7F087BE0 4600203E */ c.le.s $f4, $f0 -/* 0BC714 7F087BE4 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0BC718 7F087BE8 45000003 */ bc1f .L7F087BF8 -/* 0BC71C 7F087BEC 00000000 */ nop -/* 0BC720 7F087BF0 C4265278 */ lwc1 $f6, %lo(D_80055278)($at) -/* 0BC724 7F087BF4 46060081 */ sub.s $f2, $f0, $f6 -.L7F087BF8: -/* 0BC728 7F087BF8 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0BC72C 7F087BFC E5622A0C */ swc1 $f2, 0x2a0c($t3) -/* 0BC730 7F087C00 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC734 7F087C04 8FA20080 */ lw $v0, 0x80($sp) -/* 0BC738 7F087C08 27BD0080 */ addiu $sp, $sp, 0x80 -/* 0BC73C 7F087C0C 03E00008 */ jr $ra -/* 0BC740 7F087C10 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 seems_to_load_cuff_microcode(s32 arg0, void *arg1, s32 arg2) { - s32 sp40; - s32 temp_a3; - void *temp_a0; - s32 temp_v1; - s32 temp_v1_2; - s32 temp_v1_3; - s32 temp_v1_4; - s32 temp_v1_5; - s32 temp_v1_6; - s32 temp_v0; - s32 temp_ret; - void *phi_a0; - s32 phi_a3; - s32 phi_v1; - void *phi_a0_2; - s32 phi_a2; - s32 phi_v1_2; - s32 phi_a3_2; - s32 phi_v1_3; - void *phi_a0_3; - s32 phi_a2_2; - s32 phi_v1_4; - s32 phi_a3_3; - void *phi_a0_4; - s32 phi_a2_3; - s32 phi_v1_5; - s32 phi_a3_4; - void *phi_a0_5; - s32 phi_a2_4; - s32 phi_v1_6; - s32 phi_a3_5; - s32 phi_return; - - // Node 0 - sp40 = getSelectedFolderBond(); - temp_a3 = (arg2 * 4); - temp_a0 = (arg1->unk8 + temp_a3); - phi_a0 = temp_a0; - phi_a3 = temp_a3; - if (*temp_a0 != 0) - { - // Node 1 - *extract_id_from_object_structure_microcode(arg0, *temp_a0, arg1->unk8, temp_a3) = (s32) ((u32) (pPlayer->field_41C ^ 3) < 1U); - phi_a0 = (arg1->unk8 + sp1C); - phi_a3 = sp1C; - } - // Node 2 - phi_a0_2 = phi_a0; - phi_a2 = arg1->unk8; - phi_v1_2 = arg2; - phi_a3_2 = phi_a3; - if (phi_a0->unk4 != 0) - { - // Node 3 - temp_v1 = ((u32) (pPlayer->field_41C ^ 1) < 1U); - phi_v1 = temp_v1; - if (temp_v1 == 0) - { - // Node 4 - temp_v1_2 = ((u32) (pPlayer->field_41C ^ 6) < 1U); - phi_v1 = temp_v1_2; - if (temp_v1_2 == 0) - { - // Node 5 - temp_v1_3 = ((u32) (pPlayer->field_41C ^ 7) < 1U); - phi_v1 = temp_v1_3; - if (temp_v1_3 == 0) - { - // Node 6 - temp_v1_4 = ((u32) (pPlayer->field_41C ^ 8) < 1U); - phi_v1 = temp_v1_4; - if (temp_v1_4 != 0) - { - // Node 7 - phi_v1 = (0U < (u32) (sp40 ^ 1)); - } - } - } - } - // Node 8 - *extract_id_from_object_structure_microcode(arg0, *(arg1->unk8 + ((arg2 + 1) * 4)), arg1->unk8, phi_a3) = (s32) phi_v1; - phi_a0_2 = (arg1->unk8 + sp1C); - phi_a2 = arg1->unk8; - phi_v1_2 = arg2; - phi_a3_2 = sp1C; - } - // Node 9 - phi_a0_3 = phi_a0_2; - phi_a2_2 = phi_a2; - phi_v1_4 = phi_v1_2; - phi_a3_3 = phi_a3_2; - if (phi_a0_2->unk8 != 0) - { - // Node 10 - temp_v1_5 = ((u32) (pPlayer->field_41C ^ 5) < 1U); - phi_v1_3 = temp_v1_5; - if (temp_v1_5 == 0) - { - // Node 11 - temp_v1_6 = ((u32) (pPlayer->field_41C ^ 8) < 1U); - phi_v1_3 = temp_v1_6; - if (temp_v1_6 != 0) - { - // Node 12 - phi_v1_3 = ((u32) (sp40 ^ 1) < 1U); - } - } - // Node 13 - *extract_id_from_object_structure_microcode(arg0, *(phi_a2 + ((phi_v1_2 + 2) * 4)), phi_a2, phi_a3_2) = (s32) phi_v1_3; - phi_a0_3 = (arg1->unk8 + sp1C); - phi_a2_2 = arg1->unk8; - phi_v1_4 = arg2; - phi_a3_3 = sp1C; - } - // Node 14 - phi_a0_4 = phi_a0_3; - phi_a2_3 = phi_a2_2; - phi_v1_5 = phi_v1_4; - phi_a3_4 = phi_a3_3; - if (phi_a0_3->unkC != 0) - { - // Node 15 - *extract_id_from_object_structure_microcode(arg0, *(phi_a2_2 + ((phi_v1_4 + 3) * 4)), phi_a2_2, phi_a3_3) = (s32) ((u32) pPlayer->field_41C < 1U); - phi_a0_4 = (arg1->unk8 + sp1C); - phi_a2_3 = arg1->unk8; - phi_v1_5 = arg2; - phi_a3_4 = sp1C; - } - // Node 16 - phi_a0_5 = phi_a0_4; - phi_a2_4 = phi_a2_3; - phi_v1_6 = phi_v1_5; - phi_a3_5 = phi_a3_4; - if (phi_a0_4->unk10 != 0) - { - // Node 17 - *extract_id_from_object_structure_microcode(arg0, *(phi_a2_3 + ((phi_v1_5 + 4) * 4)), phi_a2_3, phi_a3_4) = (s32) ((u32) (pPlayer->field_41C ^ 2) < 1U); - phi_a0_5 = (arg1->unk8 + sp1C); - phi_a2_4 = arg1->unk8; - phi_v1_6 = arg2; - phi_a3_5 = sp1C; - } - // Node 18 - temp_v0 = (phi_v1_6 + 5); - phi_return = temp_v0; - if (phi_a0_5->unk14 != 0) - { - // Node 19 - temp_ret = extract_id_from_object_structure_microcode(arg0, *(phi_a2_4 + (temp_v0 * 4)), phi_a2_4, phi_a3_5); - *temp_ret = (s32) ((u32) (pPlayer->field_41C ^ 4) < 1U); - phi_return = temp_ret; - } - // Node 20 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel seems_to_load_cuff_microcode -/* 0BC744 7F087C14 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0BC748 7F087C18 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BC74C 7F087C1C AFA40048 */ sw $a0, 0x48($sp) -/* 0BC750 7F087C20 AFA5004C */ sw $a1, 0x4c($sp) -/* 0BC754 7F087C24 0FC0755B */ jal getSelectedFolderBond -/* 0BC758 7F087C28 AFA60050 */ sw $a2, 0x50($sp) -/* 0BC75C 7F087C2C 8FAE004C */ lw $t6, 0x4c($sp) -/* 0BC760 7F087C30 8FA30050 */ lw $v1, 0x50($sp) -/* 0BC764 7F087C34 AFA20040 */ sw $v0, 0x40($sp) -/* 0BC768 7F087C38 8DC60008 */ lw $a2, 8($t6) -/* 0BC76C 7F087C3C 00033880 */ sll $a3, $v1, 2 -/* 0BC770 7F087C40 00C72021 */ addu $a0, $a2, $a3 -/* 0BC774 7F087C44 8C850000 */ lw $a1, ($a0) -/* 0BC778 7F087C48 50A00010 */ beql $a1, $zero, .L7F087C8C -/* 0BC77C 7F087C4C 8C890004 */ lw $t1, 4($a0) -/* 0BC780 7F087C50 8FA40048 */ lw $a0, 0x48($sp) -/* 0BC784 7F087C54 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0BC788 7F087C58 AFA7001C */ sw $a3, 0x1c($sp) -/* 0BC78C 7F087C5C 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0BC790 7F087C60 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0BC794 7F087C64 8FA7001C */ lw $a3, 0x1c($sp) -/* 0BC798 7F087C68 8DF8041C */ lw $t8, 0x41c($t7) -/* 0BC79C 7F087C6C 3B190003 */ xori $t9, $t8, 3 -/* 0BC7A0 7F087C70 2F390001 */ sltiu $t9, $t9, 1 -/* 0BC7A4 7F087C74 AC590000 */ sw $t9, ($v0) -/* 0BC7A8 7F087C78 8FA8004C */ lw $t0, 0x4c($sp) -/* 0BC7AC 7F087C7C 8FA30050 */ lw $v1, 0x50($sp) -/* 0BC7B0 7F087C80 8D060008 */ lw $a2, 8($t0) -/* 0BC7B4 7F087C84 00C72021 */ addu $a0, $a2, $a3 -/* 0BC7B8 7F087C88 8C890004 */ lw $t1, 4($a0) -.L7F087C8C: -/* 0BC7BC 7F087C8C 24620001 */ addiu $v0, $v1, 1 -/* 0BC7C0 7F087C90 00025080 */ sll $t2, $v0, 2 -/* 0BC7C4 7F087C94 11200021 */ beqz $t1, .L7F087D1C -/* 0BC7C8 7F087C98 00CA5821 */ addu $t3, $a2, $t2 -/* 0BC7CC 7F087C9C 8D650000 */ lw $a1, ($t3) -/* 0BC7D0 7F087CA0 AFA7001C */ sw $a3, 0x1c($sp) -/* 0BC7D4 7F087CA4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0BC7D8 7F087CA8 8FA40048 */ lw $a0, 0x48($sp) -/* 0BC7DC 7F087CAC 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0BC7E0 7F087CB0 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0BC7E4 7F087CB4 8FA7001C */ lw $a3, 0x1c($sp) -/* 0BC7E8 7F087CB8 8D84041C */ lw $a0, 0x41c($t4) -/* 0BC7EC 7F087CBC 38830001 */ xori $v1, $a0, 1 -/* 0BC7F0 7F087CC0 2C630001 */ sltiu $v1, $v1, 1 -/* 0BC7F4 7F087CC4 54600011 */ bnezl $v1, .L7F087D0C -/* 0BC7F8 7F087CC8 AC430000 */ sw $v1, ($v0) -/* 0BC7FC 7F087CCC 38830006 */ xori $v1, $a0, 6 -/* 0BC800 7F087CD0 2C630001 */ sltiu $v1, $v1, 1 -/* 0BC804 7F087CD4 5460000D */ bnezl $v1, .L7F087D0C -/* 0BC808 7F087CD8 AC430000 */ sw $v1, ($v0) -/* 0BC80C 7F087CDC 38830007 */ xori $v1, $a0, 7 -/* 0BC810 7F087CE0 2C630001 */ sltiu $v1, $v1, 1 -/* 0BC814 7F087CE4 54600009 */ bnezl $v1, .L7F087D0C -/* 0BC818 7F087CE8 AC430000 */ sw $v1, ($v0) -/* 0BC81C 7F087CEC 38830008 */ xori $v1, $a0, 8 -/* 0BC820 7F087CF0 2C630001 */ sltiu $v1, $v1, 1 -/* 0BC824 7F087CF4 50600005 */ beql $v1, $zero, .L7F087D0C -/* 0BC828 7F087CF8 AC430000 */ sw $v1, ($v0) -/* 0BC82C 7F087CFC 8FA30040 */ lw $v1, 0x40($sp) -/* 0BC830 7F087D00 386D0001 */ xori $t5, $v1, 1 -/* 0BC834 7F087D04 000D182B */ sltu $v1, $zero, $t5 -/* 0BC838 7F087D08 AC430000 */ sw $v1, ($v0) -.L7F087D0C: -/* 0BC83C 7F087D0C 8FAE004C */ lw $t6, 0x4c($sp) -/* 0BC840 7F087D10 8FA30050 */ lw $v1, 0x50($sp) -/* 0BC844 7F087D14 8DC60008 */ lw $a2, 8($t6) -/* 0BC848 7F087D18 00C72021 */ addu $a0, $a2, $a3 -.L7F087D1C: -/* 0BC84C 7F087D1C 8C8F0008 */ lw $t7, 8($a0) -/* 0BC850 7F087D20 24620002 */ addiu $v0, $v1, 2 -/* 0BC854 7F087D24 0002C080 */ sll $t8, $v0, 2 -/* 0BC858 7F087D28 11E00019 */ beqz $t7, .L7F087D90 -/* 0BC85C 7F087D2C 00D8C821 */ addu $t9, $a2, $t8 -/* 0BC860 7F087D30 8F250000 */ lw $a1, ($t9) -/* 0BC864 7F087D34 AFA7001C */ sw $a3, 0x1c($sp) -/* 0BC868 7F087D38 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0BC86C 7F087D3C 8FA40048 */ lw $a0, 0x48($sp) -/* 0BC870 7F087D40 3C088008 */ lui $t0, %hi(pPlayer) -/* 0BC874 7F087D44 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0BC878 7F087D48 8FA7001C */ lw $a3, 0x1c($sp) -/* 0BC87C 7F087D4C 8D04041C */ lw $a0, 0x41c($t0) -/* 0BC880 7F087D50 38830005 */ xori $v1, $a0, 5 -/* 0BC884 7F087D54 2C630001 */ sltiu $v1, $v1, 1 -/* 0BC888 7F087D58 54600009 */ bnezl $v1, .L7F087D80 -/* 0BC88C 7F087D5C AC430000 */ sw $v1, ($v0) -/* 0BC890 7F087D60 38830008 */ xori $v1, $a0, 8 -/* 0BC894 7F087D64 2C630001 */ sltiu $v1, $v1, 1 -/* 0BC898 7F087D68 50600005 */ beql $v1, $zero, .L7F087D80 -/* 0BC89C 7F087D6C AC430000 */ sw $v1, ($v0) -/* 0BC8A0 7F087D70 8FA30040 */ lw $v1, 0x40($sp) -/* 0BC8A4 7F087D74 38690001 */ xori $t1, $v1, 1 -/* 0BC8A8 7F087D78 2D230001 */ sltiu $v1, $t1, 1 -/* 0BC8AC 7F087D7C AC430000 */ sw $v1, ($v0) -.L7F087D80: -/* 0BC8B0 7F087D80 8FAA004C */ lw $t2, 0x4c($sp) -/* 0BC8B4 7F087D84 8FA30050 */ lw $v1, 0x50($sp) -/* 0BC8B8 7F087D88 8D460008 */ lw $a2, 8($t2) -/* 0BC8BC 7F087D8C 00C72021 */ addu $a0, $a2, $a3 -.L7F087D90: -/* 0BC8C0 7F087D90 8C8B000C */ lw $t3, 0xc($a0) -/* 0BC8C4 7F087D94 24620003 */ addiu $v0, $v1, 3 -/* 0BC8C8 7F087D98 00026080 */ sll $t4, $v0, 2 -/* 0BC8CC 7F087D9C 1160000F */ beqz $t3, .L7F087DDC -/* 0BC8D0 7F087DA0 00CC6821 */ addu $t5, $a2, $t4 -/* 0BC8D4 7F087DA4 8DA50000 */ lw $a1, ($t5) -/* 0BC8D8 7F087DA8 AFA7001C */ sw $a3, 0x1c($sp) -/* 0BC8DC 7F087DAC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0BC8E0 7F087DB0 8FA40048 */ lw $a0, 0x48($sp) -/* 0BC8E4 7F087DB4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BC8E8 7F087DB8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BC8EC 7F087DBC 8FA7001C */ lw $a3, 0x1c($sp) -/* 0BC8F0 7F087DC0 8DCF041C */ lw $t7, 0x41c($t6) -/* 0BC8F4 7F087DC4 2DF80001 */ sltiu $t8, $t7, 1 -/* 0BC8F8 7F087DC8 AC580000 */ sw $t8, ($v0) -/* 0BC8FC 7F087DCC 8FB9004C */ lw $t9, 0x4c($sp) -/* 0BC900 7F087DD0 8FA30050 */ lw $v1, 0x50($sp) -/* 0BC904 7F087DD4 8F260008 */ lw $a2, 8($t9) -/* 0BC908 7F087DD8 00C72021 */ addu $a0, $a2, $a3 -.L7F087DDC: -/* 0BC90C 7F087DDC 8C880010 */ lw $t0, 0x10($a0) -/* 0BC910 7F087DE0 24620004 */ addiu $v0, $v1, 4 -/* 0BC914 7F087DE4 00024880 */ sll $t1, $v0, 2 -/* 0BC918 7F087DE8 11000010 */ beqz $t0, .L7F087E2C -/* 0BC91C 7F087DEC 00C95021 */ addu $t2, $a2, $t1 -/* 0BC920 7F087DF0 8D450000 */ lw $a1, ($t2) -/* 0BC924 7F087DF4 AFA7001C */ sw $a3, 0x1c($sp) -/* 0BC928 7F087DF8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0BC92C 7F087DFC 8FA40048 */ lw $a0, 0x48($sp) -/* 0BC930 7F087E00 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0BC934 7F087E04 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0BC938 7F087E08 8FA7001C */ lw $a3, 0x1c($sp) -/* 0BC93C 7F087E0C 8D6C041C */ lw $t4, 0x41c($t3) -/* 0BC940 7F087E10 398D0002 */ xori $t5, $t4, 2 -/* 0BC944 7F087E14 2DAD0001 */ sltiu $t5, $t5, 1 -/* 0BC948 7F087E18 AC4D0000 */ sw $t5, ($v0) -/* 0BC94C 7F087E1C 8FAE004C */ lw $t6, 0x4c($sp) -/* 0BC950 7F087E20 8FA30050 */ lw $v1, 0x50($sp) -/* 0BC954 7F087E24 8DC60008 */ lw $a2, 8($t6) -/* 0BC958 7F087E28 00C72021 */ addu $a0, $a2, $a3 -.L7F087E2C: -/* 0BC95C 7F087E2C 8C8F0014 */ lw $t7, 0x14($a0) -/* 0BC960 7F087E30 24620005 */ addiu $v0, $v1, 5 -/* 0BC964 7F087E34 0002C080 */ sll $t8, $v0, 2 -/* 0BC968 7F087E38 11E0000A */ beqz $t7, .L7F087E64 -/* 0BC96C 7F087E3C 8FA40048 */ lw $a0, 0x48($sp) -/* 0BC970 7F087E40 00D8C821 */ addu $t9, $a2, $t8 -/* 0BC974 7F087E44 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0BC978 7F087E48 8F250000 */ lw $a1, ($t9) -/* 0BC97C 7F087E4C 3C088008 */ lui $t0, %hi(pPlayer) -/* 0BC980 7F087E50 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0BC984 7F087E54 8D09041C */ lw $t1, 0x41c($t0) -/* 0BC988 7F087E58 392A0004 */ xori $t2, $t1, 4 -/* 0BC98C 7F087E5C 2D4A0001 */ sltiu $t2, $t2, 1 -/* 0BC990 7F087E60 AC4A0000 */ sw $t2, ($v0) -.L7F087E64: -/* 0BC994 7F087E64 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC998 7F087E68 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0BC99C 7F087E6C 03E00008 */ jr $ra -/* 0BC9A0 7F087E70 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F087E74(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_8005527C -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055280 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F087E74 -/* 0BC9A4 7F087E74 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BC9A8 7F087E78 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BC9AC 7F087E7C 27BDFE08 */ addiu $sp, $sp, -0x1f8 -/* 0BC9B0 7F087E80 AFBF002C */ sw $ra, 0x2c($sp) -/* 0BC9B4 7F087E84 AFA401F8 */ sw $a0, 0x1f8($sp) -/* 0BC9B8 7F087E88 8C4E01C8 */ lw $t6, 0x1c8($v0) -/* 0BC9BC 7F087E8C 51C001DE */ beql $t6, $zero, .L7F088608 -/* 0BC9C0 7F087E90 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BC9C4 7F087E94 8C4F0200 */ lw $t7, 0x200($v0) -/* 0BC9C8 7F087E98 3C198003 */ lui $t9, %hi(D_8003683C) -/* 0BC9CC 7F087E9C 2739683C */ addiu $t9, %lo(D_8003683C) # addiu $t9, $t9, 0x683c -/* 0BC9D0 7F087EA0 11E001D8 */ beqz $t7, .L7F088604 -/* 0BC9D4 7F087EA4 27B801B8 */ addiu $t8, $sp, 0x1b8 -/* 0BC9D8 7F087EA8 272B003C */ addiu $t3, $t9, 0x3c -.L7F087EAC: -/* 0BC9DC 7F087EAC 8F210000 */ lw $at, ($t9) -/* 0BC9E0 7F087EB0 2739000C */ addiu $t9, $t9, 0xc -/* 0BC9E4 7F087EB4 2718000C */ addiu $t8, $t8, 0xc -/* 0BC9E8 7F087EB8 AF01FFF4 */ sw $at, -0xc($t8) -/* 0BC9EC 7F087EBC 8F21FFF8 */ lw $at, -8($t9) -/* 0BC9F0 7F087EC0 AF01FFF8 */ sw $at, -8($t8) -/* 0BC9F4 7F087EC4 8F21FFFC */ lw $at, -4($t9) -/* 0BC9F8 7F087EC8 172BFFF8 */ bne $t9, $t3, .L7F087EAC -/* 0BC9FC 7F087ECC AF01FFFC */ sw $at, -4($t8) -/* 0BCA00 7F087ED0 8F210000 */ lw $at, ($t9) -/* 0BCA04 7F087ED4 3C0D8003 */ lui $t5, %hi(D_8003687C) -/* 0BCA08 7F087ED8 25AD687C */ addiu $t5, %lo(D_8003687C) # addiu $t5, $t5, 0x687c -/* 0BCA0C 7F087EDC AF010000 */ sw $at, ($t8) -/* 0BCA10 7F087EE0 8DA10000 */ lw $at, ($t5) -/* 0BCA14 7F087EE4 27AC016C */ addiu $t4, $sp, 0x16c -/* 0BCA18 7F087EE8 8DAF0004 */ lw $t7, 4($t5) -/* 0BCA1C 7F087EEC AD810000 */ sw $at, ($t4) -/* 0BCA20 7F087EF0 8DA10008 */ lw $at, 8($t5) -/* 0BCA24 7F087EF4 24040001 */ li $a0, 1 -/* 0BCA28 7F087EF8 AD8F0004 */ sw $t7, 4($t4) -/* 0BCA2C 7F087EFC 0FC173C6 */ jal get_ptr_itemheader_in_hand -/* 0BCA30 7F087F00 AD810008 */ sw $at, 8($t4) -/* 0BCA34 7F087F04 AFA20160 */ sw $v0, 0x160($sp) -/* 0BCA38 7F087F08 3C048008 */ lui $a0, %hi(pPlayer) -/* 0BCA3C 7F087F0C 8C4A0008 */ lw $t2, 8($v0) -/* 0BCA40 7F087F10 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0BCA44 7F087F14 8D45000C */ lw $a1, 0xc($t2) -/* 0BCA48 7F087F18 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0BCA4C 7F087F1C 24840230 */ addiu $a0, $a0, 0x230 -/* 0BCA50 7F087F20 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BCA54 7F087F24 AFA20158 */ sw $v0, 0x158($sp) -/* 0BCA58 7F087F28 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0BCA5C 7F087F2C 44812000 */ mtc1 $at, $f4 -/* 0BCA60 7F087F30 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0BCA64 7F087F34 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0BCA68 7F087F38 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0BCA6C 7F087F3C 44813000 */ mtc1 $at, $f6 -/* 0BCA70 7F087F40 AFA20154 */ sw $v0, 0x154($sp) -/* 0BCA74 7F087F44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BCA78 7F087F48 44814000 */ mtc1 $at, $f8 -/* 0BCA7C 7F087F4C 8D6611C4 */ lw $a2, 0x11c4($t3) -/* 0BCA80 7F087F50 3C073FBA */ lui $a3, (0x3FBA2E8C >> 16) # lui $a3, 0x3fba -/* 0BCA84 7F087F54 34E72E8C */ ori $a3, (0x3FBA2E8C & 0xFFFF) # ori $a3, $a3, 0x2e8c -/* 0BCA88 7F087F58 00402025 */ move $a0, $v0 -/* 0BCA8C 7F087F5C 27A50152 */ addiu $a1, $sp, 0x152 -/* 0BCA90 7F087F60 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0BCA94 7F087F64 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0BCA98 7F087F68 0C003FAC */ jal guPerspective -/* 0BCA9C 7F087F6C E7A80018 */ swc1 $f8, 0x18($sp) -/* 0BCAA0 7F087F70 8FA301F8 */ lw $v1, 0x1f8($sp) -/* 0BCAA4 7F087F74 3C190103 */ lui $t9, (0x01030040 >> 16) # lui $t9, 0x103 -/* 0BCAA8 7F087F78 37390040 */ ori $t9, (0x01030040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 0BCAAC 7F087F7C AC790000 */ sw $t9, ($v1) -/* 0BCAB0 7F087F80 8FB80154 */ lw $t8, 0x154($sp) -/* 0BCAB4 7F087F84 3C01C140 */ li $at, 0xC1400000 # -12.000000 -/* 0BCAB8 7F087F88 44810000 */ mtc1 $at, $f0 -/* 0BCABC 7F087F8C 3C018000 */ lui $at, 0x8000 -/* 0BCAC0 7F087F90 3C0CBC00 */ lui $t4, (0xBC00000E >> 16) # lui $t4, 0xbc00 -/* 0BCAC4 7F087F94 03017021 */ addu $t6, $t8, $at -/* 0BCAC8 7F087F98 358C000E */ ori $t4, (0xBC00000E & 0xFFFF) # ori $t4, $t4, 0xe -/* 0BCACC 7F087F9C AC6E0004 */ sw $t6, 4($v1) -/* 0BCAD0 7F087FA0 24670008 */ addiu $a3, $v1, 8 -/* 0BCAD4 7F087FA4 ACEC0000 */ sw $t4, ($a3) -/* 0BCAD8 7F087FA8 97AD0152 */ lhu $t5, 0x152($sp) -/* 0BCADC 7F087FAC 3C088008 */ lui $t0, %hi(pPlayer) -/* 0BCAE0 7F087FB0 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0BCAE4 7F087FB4 ACED0004 */ sw $t5, 4($a3) -/* 0BCAE8 7F087FB8 8D0F0000 */ lw $t7, ($t0) -/* 0BCAEC 7F087FBC 8FAB0158 */ lw $t3, 0x158($sp) -/* 0BCAF0 7F087FC0 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BCAF4 7F087FC4 8DEA01CC */ lw $t2, 0x1cc($t7) -/* 0BCAF8 7F087FC8 24E90008 */ addiu $t1, $a3, 8 -/* 0BCAFC 7F087FCC 27A4016C */ addiu $a0, $sp, 0x16c -/* 0BCB00 7F087FD0 AD6A0000 */ sw $t2, ($t3) -/* 0BCB04 7F087FD4 8D020000 */ lw $v0, ($t0) -/* 0BCB08 7F087FD8 27A60178 */ addiu $a2, $sp, 0x178 -/* 0BCB0C 7F087FDC C444054C */ lwc1 $f4, 0x54c($v0) -/* 0BCB10 7F087FE0 C44A0498 */ lwc1 $f10, 0x498($v0) -/* 0BCB14 7F087FE4 46002180 */ add.s $f6, $f4, $f0 -/* 0BCB18 7F087FE8 C4440544 */ lwc1 $f4, 0x544($v0) -/* 0BCB1C 7F087FEC 46065202 */ mul.s $f8, $f10, $f6 -/* 0BCB20 7F087FF0 C44A04A0 */ lwc1 $f10, 0x4a0($v0) -/* 0BCB24 7F087FF4 46005187 */ neg.s $f6, $f10 -/* 0BCB28 7F087FF8 46062282 */ mul.s $f10, $f4, $f6 -/* 0BCB2C 7F087FFC C444048C */ lwc1 $f4, 0x48c($v0) -/* 0BCB30 7F088000 460A2180 */ add.s $f6, $f4, $f10 -/* 0BCB34 7F088004 46064100 */ add.s $f4, $f8, $f6 -/* 0BCB38 7F088008 E7A4016C */ swc1 $f4, 0x16c($sp) -/* 0BCB3C 7F08800C C4480490 */ lwc1 $f8, 0x490($v0) -/* 0BCB40 7F088010 C44A0548 */ lwc1 $f10, 0x548($v0) -/* 0BCB44 7F088014 46085180 */ add.s $f6, $f10, $f8 -/* 0BCB48 7F088018 E7A60170 */ swc1 $f6, 0x170($sp) -/* 0BCB4C 7F08801C C44A054C */ lwc1 $f10, 0x54c($v0) -/* 0BCB50 7F088020 C44404A0 */ lwc1 $f4, 0x4a0($v0) -/* 0BCB54 7F088024 46005200 */ add.s $f8, $f10, $f0 -/* 0BCB58 7F088028 C44A0544 */ lwc1 $f10, 0x544($v0) -/* 0BCB5C 7F08802C 46082182 */ mul.s $f6, $f4, $f8 -/* 0BCB60 7F088030 C4440498 */ lwc1 $f4, 0x498($v0) -/* 0BCB64 7F088034 46045202 */ mul.s $f8, $f10, $f4 -/* 0BCB68 7F088038 C44A0494 */ lwc1 $f10, 0x494($v0) -/* 0BCB6C 7F08803C 46085100 */ add.s $f4, $f10, $f8 -/* 0BCB70 7F088040 44814000 */ mtc1 $at, $f8 -/* 0BCB74 7F088044 3C018005 */ lui $at, %hi(D_8005527C) -/* 0BCB78 7F088048 46043280 */ add.s $f10, $f6, $f4 -/* 0BCB7C 7F08804C E7AA0174 */ swc1 $f10, 0x174($sp) -/* 0BCB80 7F088050 C4460148 */ lwc1 $f6, 0x148($v0) -/* 0BCB84 7F088054 C42A527C */ lwc1 $f10, %lo(D_8005527C)($at) -/* 0BCB88 7F088058 AFA901F8 */ sw $t1, 0x1f8($sp) -/* 0BCB8C 7F08805C 46064101 */ sub.s $f4, $f8, $f6 -/* 0BCB90 7F088060 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BCB94 7F088064 44054000 */ mfc1 $a1, $f8 -/* 0BCB98 7F088068 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0BCB9C 7F08806C 00000000 */ nop -/* 0BCBA0 7F088070 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0BCBA4 7F088074 00000000 */ nop -/* 0BCBA8 7F088078 00402025 */ move $a0, $v0 -/* 0BCBAC 7F08807C 0FC16026 */ jal sub_GAME_7F058098 -/* 0BCBB0 7F088080 27A50178 */ addiu $a1, $sp, 0x178 -/* 0BCBB4 7F088084 8FB90160 */ lw $t9, 0x160($sp) -/* 0BCBB8 7F088088 8724000E */ lh $a0, 0xe($t9) -/* 0BCBBC 7F08808C 0004C180 */ sll $t8, $a0, 6 -/* 0BCBC0 7F088090 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 0BCBC4 7F088094 03002025 */ move $a0, $t8 -/* 0BCBC8 7F088098 3C048008 */ lui $a0, %hi(pPlayer) -/* 0BCBCC 7F08809C 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0BCBD0 7F0880A0 AFA20164 */ sw $v0, 0x164($sp) -/* 0BCBD4 7F0880A4 8FA50160 */ lw $a1, 0x160($sp) -/* 0BCBD8 7F0880A8 24060004 */ li $a2, 4 -/* 0BCBDC 7F0880AC 0FC21F05 */ jal seems_to_load_cuff_microcode -/* 0BCBE0 7F0880B0 24840230 */ addiu $a0, $a0, 0x230 -/* 0BCBE4 7F0880B4 3C058008 */ lui $a1, %hi(pPlayer) -/* 0BCBE8 7F0880B8 8FAC0164 */ lw $t4, 0x164($sp) -/* 0BCBEC 7F0880BC 8CA5A0B0 */ lw $a1, %lo(pPlayer)($a1) -/* 0BCBF0 7F0880C0 27AE0178 */ addiu $t6, $sp, 0x178 -/* 0BCBF4 7F0880C4 AFAE01B8 */ sw $t6, 0x1b8($sp) -/* 0BCBF8 7F0880C8 27A401B8 */ addiu $a0, $sp, 0x1b8 -/* 0BCBFC 7F0880CC AFAC01C8 */ sw $t4, 0x1c8($sp) -/* 0BCC00 7F0880D0 0FC1BCBE */ jal subcalcmatrices -/* 0BCC04 7F0880D4 24A50230 */ addiu $a1, $a1, 0x230 -/* 0BCC08 7F0880D8 8FAD0160 */ lw $t5, 0x160($sp) -/* 0BCC0C 7F0880DC 3C0B8008 */ lui $t3, %hi(watch_time_0) -/* 0BCC10 7F0880E0 8D6B9A24 */ lw $t3, %lo(watch_time_0)($t3) -/* 0BCC14 7F0880E4 8DAF0008 */ lw $t7, 8($t5) -/* 0BCC18 7F0880E8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BCC1C 7F0880EC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BCC20 7F0880F0 8DEA0000 */ lw $t2, ($t7) -/* 0BCC24 7F0880F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BCC28 7F0880F8 44810000 */ mtc1 $at, $f0 -/* 0BCC2C 7F0880FC 8D430004 */ lw $v1, 4($t2) -/* 0BCC30 7F088100 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0BCC34 7F088104 AFAB0090 */ sw $t3, 0x90($sp) -/* 0BCC38 7F088108 44812000 */ mtc1 $at, $f4 -/* 0BCC3C 7F08810C C4460258 */ lwc1 $f6, 0x258($v0) -/* 0BCC40 7F088110 46043383 */ div.s $f14, $f6, $f4 -/* 0BCC44 7F088114 460E003C */ c.lt.s $f0, $f14 -/* 0BCC48 7F088118 00000000 */ nop -/* 0BCC4C 7F08811C 45020003 */ bc1fl .L7F08812C -/* 0BCC50 7F088120 C46A0000 */ lwc1 $f10, ($v1) -/* 0BCC54 7F088124 46000386 */ mov.s $f14, $f0 -/* 0BCC58 7F088128 C46A0000 */ lwc1 $f10, ($v1) -.L7F08812C: -/* 0BCC5C 7F08812C C4480244 */ lwc1 $f8, 0x244($v0) -/* 0BCC60 7F088130 C44401D4 */ lwc1 $f4, 0x1d4($v0) -/* 0BCC64 7F088134 8FA80164 */ lw $t0, 0x164($sp) -/* 0BCC68 7F088138 46085182 */ mul.s $f6, $f10, $f8 -/* 0BCC6C 7F08813C 44808000 */ mtc1 $zero, $f16 -/* 0BCC70 7F088140 C5000030 */ lwc1 $f0, 0x30($t0) -/* 0BCC74 7F088144 27A40108 */ addiu $a0, $sp, 0x108 -/* 0BCC78 7F088148 44058000 */ mfc1 $a1, $f16 -/* 0BCC7C 7F08814C 44068000 */ mfc1 $a2, $f16 -/* 0BCC80 7F088150 44078000 */ mfc1 $a3, $f16 -/* 0BCC84 7F088154 46062281 */ sub.s $f10, $f4, $f6 -/* 0BCC88 7F088158 46005201 */ sub.s $f8, $f10, $f0 -/* 0BCC8C 7F08815C 460E4102 */ mul.s $f4, $f8, $f14 -/* 0BCC90 7F088160 46002180 */ add.s $f6, $f4, $f0 -/* 0BCC94 7F088164 E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 0BCC98 7F088168 C4480244 */ lwc1 $f8, 0x244($v0) -/* 0BCC9C 7F08816C C46A0008 */ lwc1 $f10, 8($v1) -/* 0BCCA0 7F088170 C44601D8 */ lwc1 $f6, 0x1d8($v0) -/* 0BCCA4 7F088174 C5020034 */ lwc1 $f2, 0x34($t0) -/* 0BCCA8 7F088178 46085102 */ mul.s $f4, $f10, $f8 -/* 0BCCAC 7F08817C 46043280 */ add.s $f10, $f6, $f4 -/* 0BCCB0 7F088180 46025201 */ sub.s $f8, $f10, $f2 -/* 0BCCB4 7F088184 460E4182 */ mul.s $f6, $f8, $f14 -/* 0BCCB8 7F088188 46023100 */ add.s $f4, $f6, $f2 -/* 0BCCBC 7F08818C E7A400B8 */ swc1 $f4, 0xb8($sp) -/* 0BCCC0 7F088190 C4480244 */ lwc1 $f8, 0x244($v0) -/* 0BCCC4 7F088194 C46A0004 */ lwc1 $f10, 4($v1) -/* 0BCCC8 7F088198 C44401DC */ lwc1 $f4, 0x1dc($v0) -/* 0BCCCC 7F08819C C50C0038 */ lwc1 $f12, 0x38($t0) -/* 0BCCD0 7F0881A0 46085182 */ mul.s $f6, $f10, $f8 -/* 0BCCD4 7F0881A4 46062281 */ sub.s $f10, $f4, $f6 -/* 0BCCD8 7F0881A8 460C5201 */ sub.s $f8, $f10, $f12 -/* 0BCCDC 7F0881AC 460E4102 */ mul.s $f4, $f8, $f14 -/* 0BCCE0 7F0881B0 460C2180 */ add.s $f6, $f4, $f12 -/* 0BCCE4 7F0881B4 E7A600BC */ swc1 $f6, 0xbc($sp) -/* 0BCCE8 7F0881B8 C44A01E0 */ lwc1 $f10, 0x1e0($v0) -/* 0BCCEC 7F0881BC E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0BCCF0 7F0881C0 C44801E4 */ lwc1 $f8, 0x1e4($v0) -/* 0BCCF4 7F0881C4 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0BCCF8 7F0881C8 C44401E8 */ lwc1 $f4, 0x1e8($v0) -/* 0BCCFC 7F0881CC E7A40018 */ swc1 $f4, 0x18($sp) -/* 0BCD00 7F0881D0 C44601EC */ lwc1 $f6, 0x1ec($v0) -/* 0BCD04 7F0881D4 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0BCD08 7F0881D8 C44A01F0 */ lwc1 $f10, 0x1f0($v0) -/* 0BCD0C 7F0881DC E7AA0020 */ swc1 $f10, 0x20($sp) -/* 0BCD10 7F0881E0 C44801F4 */ lwc1 $f8, 0x1f4($v0) -/* 0BCD14 7F0881E4 E7AE0168 */ swc1 $f14, 0x168($sp) -/* 0BCD18 7F0881E8 0FC16642 */ jal sub_GAME_7F059908 -/* 0BCD1C 7F0881EC E7A80024 */ swc1 $f8, 0x24($sp) -/* 0BCD20 7F0881F0 8FA40164 */ lw $a0, 0x164($sp) -/* 0BCD24 7F0881F4 0FC16218 */ jal sub_GAME_7F058860 -/* 0BCD28 7F0881F8 27A500FC */ addiu $a1, $sp, 0xfc -/* 0BCD2C 7F0881FC 27A40108 */ addiu $a0, $sp, 0x108 -/* 0BCD30 7F088200 0FC16218 */ jal sub_GAME_7F058860 -/* 0BCD34 7F088204 27A500F0 */ addiu $a1, $sp, 0xf0 -/* 0BCD38 7F088208 27A400FC */ addiu $a0, $sp, 0xfc -/* 0BCD3C 7F08820C 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 0BCD40 7F088210 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 0BCD44 7F088214 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 0BCD48 7F088218 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 0BCD4C 7F08821C 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0BCD50 7F088220 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 0BCD54 7F088224 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 0BCD58 7F088228 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0BCD5C 7F08822C 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 0BCD60 7F088230 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0BCD64 7F088234 8FA60168 */ lw $a2, 0x168($sp) -/* 0BCD68 7F088238 0FC16E82 */ jal sub_GAME_7F05BA08 -/* 0BCD6C 7F08823C 27A700C0 */ addiu $a3, $sp, 0xc0 -/* 0BCD70 7F088240 27A400C0 */ addiu $a0, $sp, 0xc0 -/* 0BCD74 7F088244 0FC16D8A */ jal sub_GAME_7F05B628 -/* 0BCD78 7F088248 8FA50164 */ lw $a1, 0x164($sp) -/* 0BCD7C 7F08824C 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 0BCD80 7F088250 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0BCD84 7F088254 8FA50164 */ lw $a1, 0x164($sp) -/* 0BCD88 7F088258 3C198008 */ lui $t9, %hi(pPlayer) -/* 0BCD8C 7F08825C 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0BCD90 7F088260 8FA50164 */ lw $a1, 0x164($sp) -/* 0BCD94 7F088264 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0BCD98 7F088268 C72C0244 */ lwc1 $f12, 0x244($t9) -/* 0BCD9C 7F08826C 2403003C */ li $v1, 60 -/* 0BCDA0 7F088270 8FA40090 */ lw $a0, 0x90($sp) -/* 0BCDA4 7F088274 3C018005 */ lui $at, %hi(D_80055280) -/* 0BCDA8 7F088278 C4225280 */ lwc1 $f2, %lo(D_80055280)($at) -/* 0BCDAC 7F08827C 0083001A */ div $zero, $a0, $v1 -/* 0BCDB0 7F088280 0000C010 */ mfhi $t8 -/* 0BCDB4 7F088284 00001012 */ mflo $v0 -/* 0BCDB8 7F088288 44982000 */ mtc1 $t8, $f4 -/* 0BCDBC 7F08828C 44808000 */ mtc1 $zero, $f16 -/* 0BCDC0 7F088290 0043001A */ div $zero, $v0, $v1 -/* 0BCDC4 7F088294 00007010 */ mfhi $t6 -/* 0BCDC8 7F088298 00006012 */ mflo $t4 -/* 0BCDCC 7F08829C 468021A0 */ cvt.s.w $f6, $f4 -/* 0BCDD0 7F0882A0 14600002 */ bnez $v1, .L7F0882AC -/* 0BCDD4 7F0882A4 00000000 */ nop -/* 0BCDD8 7F0882A8 0007000D */ break 7 -.L7F0882AC: -/* 0BCDDC 7F0882AC 2401FFFF */ li $at, -1 -/* 0BCDE0 7F0882B0 14610004 */ bne $v1, $at, .L7F0882C4 -/* 0BCDE4 7F0882B4 3C018000 */ lui $at, 0x8000 -/* 0BCDE8 7F0882B8 14810002 */ bne $a0, $at, .L7F0882C4 -/* 0BCDEC 7F0882BC 00000000 */ nop -/* 0BCDF0 7F0882C0 0006000D */ break 6 -.L7F0882C4: -/* 0BCDF4 7F0882C4 0183001A */ div $zero, $t4, $v1 -/* 0BCDF8 7F0882C8 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BCDFC 7F0882CC 44815000 */ mtc1 $at, $f10 -/* 0BCE00 7F0882D0 448E2000 */ mtc1 $t6, $f4 -/* 0BCE04 7F0882D4 00006810 */ mfhi $t5 -/* 0BCE08 7F0882D8 460A3203 */ div.s $f8, $f6, $f10 -/* 0BCE0C 7F0882DC 14600002 */ bnez $v1, .L7F0882E8 -/* 0BCE10 7F0882E0 00000000 */ nop -/* 0BCE14 7F0882E4 0007000D */ break 7 -.L7F0882E8: -/* 0BCE18 7F0882E8 2401FFFF */ li $at, -1 -/* 0BCE1C 7F0882EC 14610004 */ bne $v1, $at, .L7F088300 -/* 0BCE20 7F0882F0 3C018000 */ li $at, 0x80000000 # -0.000000 -/* 0BCE24 7F0882F4 14410002 */ bne $v0, $at, .L7F088300 -/* 0BCE28 7F0882F8 00000000 */ nop -/* 0BCE2C 7F0882FC 0006000D */ break 6 -.L7F088300: -/* 0BCE30 7F088300 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BCE34 7F088304 8FAB0160 */ lw $t3, 0x160($sp) -/* 0BCE38 7F088308 468021A0 */ cvt.s.w $f6, $f4 -/* 0BCE3C 7F08830C 46083280 */ add.s $f10, $f6, $f8 -/* 0BCE40 7F088310 44814000 */ mtc1 $at, $f8 -/* 0BCE44 7F088314 46005107 */ neg.s $f4, $f10 -/* 0BCE48 7F088318 448D5000 */ mtc1 $t5, $f10 -/* 0BCE4C 7F08831C 46022182 */ mul.s $f6, $f4, $f2 -/* 0BCE50 7F088320 46805120 */ cvt.s.w $f4, $f10 -/* 0BCE54 7F088324 46083483 */ div.s $f18, $f6, $f8 -/* 0BCE58 7F088328 46002187 */ neg.s $f6, $f4 -/* 0BCE5C 7F08832C 46023202 */ mul.s $f8, $f6, $f2 -/* 0BCE60 7F088330 4610903C */ c.lt.s $f18, $f16 -/* 0BCE64 7F088334 46009306 */ mov.s $f12, $f18 -/* 0BCE68 7F088338 14600002 */ bnez $v1, .L7F088344 -/* 0BCE6C 7F08833C 00000000 */ nop -/* 0BCE70 7F088340 0007000D */ break 7 -.L7F088344: -/* 0BCE74 7F088344 2401FFFF */ li $at, -1 -/* 0BCE78 7F088348 14610004 */ bne $v1, $at, .L7F08835C -/* 0BCE7C 7F08834C 3C018000 */ li $at, 0x80000000 # -0.000000 -/* 0BCE80 7F088350 15810002 */ bne $t4, $at, .L7F08835C -/* 0BCE84 7F088354 00000000 */ nop -/* 0BCE88 7F088358 0006000D */ break 6 -.L7F08835C: -/* 0BCE8C 7F08835C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BCE90 7F088360 44815000 */ mtc1 $at, $f10 -/* 0BCE94 7F088364 44813000 */ mtc1 $at, $f6 -/* 0BCE98 7F088368 24010E10 */ li $at, 3600 -/* 0BCE9C 7F08836C 0041001A */ div $zero, $v0, $at -/* 0BCEA0 7F088370 00007812 */ mflo $t7 -/* 0BCEA4 7F088374 2401000C */ li $at, 12 -/* 0BCEA8 7F088378 460A4103 */ div.s $f4, $f8, $f10 -/* 0BCEAC 7F08837C 01E1001A */ div $zero, $t7, $at -/* 0BCEB0 7F088380 46069203 */ div.s $f8, $f18, $f6 -/* 0BCEB4 7F088384 00005010 */ mfhi $t2 -/* 0BCEB8 7F088388 448A3000 */ mtc1 $t2, $f6 -/* 0BCEBC 7F08838C 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 0BCEC0 7F088390 46082280 */ add.s $f10, $f4, $f8 -/* 0BCEC4 7F088394 46803120 */ cvt.s.w $f4, $f6 -/* 0BCEC8 7F088398 E7AA0040 */ swc1 $f10, 0x40($sp) -/* 0BCECC 7F08839C 46005386 */ mov.s $f14, $f10 -/* 0BCED0 7F0883A0 46002207 */ neg.s $f8, $f4 -/* 0BCED4 7F0883A4 44812000 */ mtc1 $at, $f4 -/* 0BCED8 7F0883A8 46024182 */ mul.s $f6, $f8, $f2 -/* 0BCEDC 7F0883AC 46043203 */ div.s $f8, $f6, $f4 -/* 0BCEE0 7F0883B0 44813000 */ mtc1 $at, $f6 -/* 0BCEE4 7F0883B4 3C014434 */ li $at, 0x44340000 # 720.000000 -/* 0BCEE8 7F0883B8 46065103 */ div.s $f4, $f10, $f6 -/* 0BCEEC 7F0883BC 44813000 */ mtc1 $at, $f6 -/* 0BCEF0 7F0883C0 46044280 */ add.s $f10, $f8, $f4 -/* 0BCEF4 7F0883C4 46069203 */ div.s $f8, $f18, $f6 -/* 0BCEF8 7F0883C8 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 0BCEFC 7F0883CC 46085100 */ add.s $f4, $f10, $f8 -/* 0BCF00 7F0883D0 E7A4003C */ swc1 $f4, 0x3c($sp) -/* 0BCF04 7F0883D4 46002006 */ mov.s $f0, $f4 -/* 0BCF08 7F0883D8 45000006 */ bc1f .L7F0883F4 -/* 0BCF0C 7F0883DC C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 0BCF10 7F0883E0 46026300 */ add.s $f12, $f12, $f2 -.L7F0883E4: -/* 0BCF14 7F0883E4 4610603C */ c.lt.s $f12, $f16 -/* 0BCF18 7F0883E8 00000000 */ nop -/* 0BCF1C 7F0883EC 4503FFFD */ bc1tl .L7F0883E4 -/* 0BCF20 7F0883F0 46026300 */ add.s $f12, $f12, $f2 -.L7F0883F4: -/* 0BCF24 7F0883F4 4610303C */ c.lt.s $f6, $f16 -/* 0BCF28 7F0883F8 00000000 */ nop -/* 0BCF2C 7F0883FC 45020007 */ bc1fl .L7F08841C -/* 0BCF30 7F088400 4610503C */ c.lt.s $f10, $f16 -/* 0BCF34 7F088404 46027380 */ add.s $f14, $f14, $f2 -.L7F088408: -/* 0BCF38 7F088408 4610703C */ c.lt.s $f14, $f16 -/* 0BCF3C 7F08840C 00000000 */ nop -/* 0BCF40 7F088410 4503FFFD */ bc1tl .L7F088408 -/* 0BCF44 7F088414 46027380 */ add.s $f14, $f14, $f2 -/* 0BCF48 7F088418 4610503C */ c.lt.s $f10, $f16 -.L7F08841C: -/* 0BCF4C 7F08841C 00000000 */ nop -/* 0BCF50 7F088420 45020007 */ bc1fl .L7F088440 -/* 0BCF54 7F088424 8D790008 */ lw $t9, 8($t3) -/* 0BCF58 7F088428 46020000 */ add.s $f0, $f0, $f2 -.L7F08842C: -/* 0BCF5C 7F08842C 4610003C */ c.lt.s $f0, $f16 -/* 0BCF60 7F088430 00000000 */ nop -/* 0BCF64 7F088434 4503FFFD */ bc1tl .L7F08842C -/* 0BCF68 7F088438 46020000 */ add.s $f0, $f0, $f2 -/* 0BCF6C 7F08843C 8D790008 */ lw $t9, 8($t3) -.L7F088440: -/* 0BCF70 7F088440 8FA60164 */ lw $a2, 0x164($sp) -/* 0BCF74 7F088444 44050000 */ mfc1 $a1, $f0 -/* 0BCF78 7F088448 8F380000 */ lw $t8, ($t9) -/* 0BCF7C 7F08844C 24C60040 */ addiu $a2, $a2, 0x40 -/* 0BCF80 7F088450 8F040004 */ lw $a0, 4($t8) -/* 0BCF84 7F088454 E7AE0098 */ swc1 $f14, 0x98($sp) -/* 0BCF88 7F088458 E7AC009C */ swc1 $f12, 0x9c($sp) -/* 0BCF8C 7F08845C 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0BCF90 7F088460 AFA60040 */ sw $a2, 0x40($sp) -/* 0BCF94 7F088464 8FA50040 */ lw $a1, 0x40($sp) -/* 0BCF98 7F088468 0FC1601A */ jal sub_GAME_7F058068 -/* 0BCF9C 7F08846C 8FA40164 */ lw $a0, 0x164($sp) -/* 0BCFA0 7F088470 8FAE0160 */ lw $t6, 0x160($sp) -/* 0BCFA4 7F088474 C7AE0098 */ lwc1 $f14, 0x98($sp) -/* 0BCFA8 7F088478 8FA60164 */ lw $a2, 0x164($sp) -/* 0BCFAC 7F08847C 8DCC0008 */ lw $t4, 8($t6) -/* 0BCFB0 7F088480 44057000 */ mfc1 $a1, $f14 -/* 0BCFB4 7F088484 24C60080 */ addiu $a2, $a2, 0x80 -/* 0BCFB8 7F088488 8D8D0004 */ lw $t5, 4($t4) -/* 0BCFBC 7F08848C 8DA40004 */ lw $a0, 4($t5) -/* 0BCFC0 7F088490 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0BCFC4 7F088494 AFA60040 */ sw $a2, 0x40($sp) -/* 0BCFC8 7F088498 8FA50040 */ lw $a1, 0x40($sp) -/* 0BCFCC 7F08849C 0FC1601A */ jal sub_GAME_7F058068 -/* 0BCFD0 7F0884A0 8FA40164 */ lw $a0, 0x164($sp) -/* 0BCFD4 7F0884A4 8FAF0160 */ lw $t7, 0x160($sp) -/* 0BCFD8 7F0884A8 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 0BCFDC 7F0884AC 8FA60164 */ lw $a2, 0x164($sp) -/* 0BCFE0 7F0884B0 8DEA0008 */ lw $t2, 8($t7) -/* 0BCFE4 7F0884B4 44056000 */ mfc1 $a1, $f12 -/* 0BCFE8 7F0884B8 24C600C0 */ addiu $a2, $a2, 0xc0 -/* 0BCFEC 7F0884BC 8D4B0008 */ lw $t3, 8($t2) -/* 0BCFF0 7F0884C0 8D640004 */ lw $a0, 4($t3) -/* 0BCFF4 7F0884C4 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0BCFF8 7F0884C8 AFA60040 */ sw $a2, 0x40($sp) -/* 0BCFFC 7F0884CC 8FA50040 */ lw $a1, 0x40($sp) -/* 0BD000 7F0884D0 0FC1601A */ jal sub_GAME_7F058068 -/* 0BD004 7F0884D4 8FA40164 */ lw $a0, 0x164($sp) -/* 0BD008 7F0884D8 8FB801F8 */ lw $t8, 0x1f8($sp) -/* 0BD00C 7F0884DC 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BD010 7F0884E0 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BD014 7F0884E4 24190003 */ li $t9, 3 -/* 0BD018 7F0884E8 240E0004 */ li $t6, 4 -/* 0BD01C 7F0884EC AFB901C0 */ sw $t9, 0x1c0($sp) -/* 0BD020 7F0884F0 AFA001BC */ sw $zero, 0x1bc($sp) -/* 0BD024 7F0884F4 AFAE01E8 */ sw $t6, 0x1e8($sp) -/* 0BD028 7F0884F8 AFB801C4 */ sw $t8, 0x1c4($sp) -/* 0BD02C 7F0884FC 8C4301C8 */ lw $v1, 0x1c8($v0) -/* 0BD030 7F088500 24010005 */ li $at, 5 -/* 0BD034 7F088504 27A401B8 */ addiu $a0, $sp, 0x1b8 -/* 0BD038 7F088508 10610002 */ beq $v1, $at, .L7F088514 -/* 0BD03C 7F08850C 2401000C */ li $at, 12 -/* 0BD040 7F088510 14610003 */ bne $v1, $at, .L7F088520 -.L7F088514: -/* 0BD044 7F088514 240C00CD */ li $t4, 205 -/* 0BD048 7F088518 1000000C */ b .L7F08854C -/* 0BD04C 7F08851C AFAC01EC */ sw $t4, 0x1ec($sp) -.L7F088520: -/* 0BD050 7F088520 904F0FDC */ lbu $t7, 0xfdc($v0) -/* 0BD054 7F088524 904D0FDF */ lbu $t5, 0xfdf($v0) -/* 0BD058 7F088528 90590FDD */ lbu $t9, 0xfdd($v0) -/* 0BD05C 7F08852C 904C0FDE */ lbu $t4, 0xfde($v0) -/* 0BD060 7F088530 000F5600 */ sll $t2, $t7, 0x18 -/* 0BD064 7F088534 01AA5825 */ or $t3, $t5, $t2 -/* 0BD068 7F088538 0019C400 */ sll $t8, $t9, 0x10 -/* 0BD06C 7F08853C 01787025 */ or $t6, $t3, $t8 -/* 0BD070 7F088540 000C7A00 */ sll $t7, $t4, 8 -/* 0BD074 7F088544 01CF6825 */ or $t5, $t6, $t7 -/* 0BD078 7F088548 AFAD01EC */ sw $t5, 0x1ec($sp) -.L7F08854C: -/* 0BD07C 7F08854C 0FC1D1A1 */ jal subdraw -/* 0BD080 7F088550 24450230 */ addiu $a1, $v0, 0x230 -/* 0BD084 7F088554 8FAA01C4 */ lw $t2, 0x1c4($sp) -/* 0BD088 7F088558 8FB90160 */ lw $t9, 0x160($sp) -/* 0BD08C 7F08855C AFAA01F8 */ sw $t2, 0x1f8($sp) -/* 0BD090 7F088560 8F2B0008 */ lw $t3, 8($t9) -/* 0BD094 7F088564 8D780008 */ lw $t8, 8($t3) -/* 0BD098 7F088568 8F0C0004 */ lw $t4, 4($t8) -/* 0BD09C 7F08856C 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BD0A0 7F088570 AFAC008C */ sw $t4, 0x8c($sp) -/* 0BD0A4 7F088574 AFA20048 */ sw $v0, 0x48($sp) -/* 0BD0A8 7F088578 8FA4008C */ lw $a0, 0x8c($sp) -/* 0BD0AC 7F08857C 0FC16259 */ jal init_something_copy_posdata_to_it -/* 0BD0B0 7F088580 27A5004C */ addiu $a1, $sp, 0x4c -/* 0BD0B4 7F088584 8FA40164 */ lw $a0, 0x164($sp) -/* 0BD0B8 7F088588 0FC1601A */ jal sub_GAME_7F058068 -/* 0BD0BC 7F08858C 27A5004C */ addiu $a1, $sp, 0x4c -/* 0BD0C0 7F088590 0FC16319 */ jal sub_GAME_7F058C64 -/* 0BD0C4 7F088594 00000000 */ nop -/* 0BD0C8 7F088598 27A4004C */ addiu $a0, $sp, 0x4c -/* 0BD0CC 7F08859C 0FC16327 */ jal sub_GAME_7F058C9C -/* 0BD0D0 7F0885A0 8FA50048 */ lw $a1, 0x48($sp) -/* 0BD0D4 7F0885A4 0FC16322 */ jal sub_GAME_7F058C88 -/* 0BD0D8 7F0885A8 00000000 */ nop -/* 0BD0DC 7F0885AC 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BD0E0 7F0885B0 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BD0E4 7F0885B4 8FA401F8 */ lw $a0, 0x1f8($sp) -/* 0BD0E8 7F0885B8 8DC301C8 */ lw $v1, 0x1c8($t6) -/* 0BD0EC 7F0885BC 38660005 */ xori $a2, $v1, 5 -/* 0BD0F0 7F0885C0 2CC60001 */ sltiu $a2, $a2, 1 -/* 0BD0F4 7F0885C4 14C00003 */ bnez $a2, .L7F0885D4 -/* 0BD0F8 7F0885C8 00000000 */ nop -/* 0BD0FC 7F0885CC 3866000C */ xori $a2, $v1, 0xc -/* 0BD100 7F0885D0 2CC60001 */ sltiu $a2, $a2, 1 -.L7F0885D4: -/* 0BD104 7F0885D4 0FC2B28A */ jal sub_GAME_7F0ACA28 -/* 0BD108 7F0885D8 8FA50048 */ lw $a1, 0x48($sp) -/* 0BD10C 7F0885DC 0FC16319 */ jal sub_GAME_7F058C64 -/* 0BD110 7F0885E0 AFA201F8 */ sw $v0, 0x1f8($sp) -/* 0BD114 7F0885E4 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0BD118 7F0885E8 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0BD11C 7F0885EC 8FAD0160 */ lw $t5, 0x160($sp) -/* 0BD120 7F0885F0 8DE4023C */ lw $a0, 0x23c($t7) -/* 0BD124 7F0885F4 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 0BD128 7F0885F8 85A5000E */ lh $a1, 0xe($t5) -/* 0BD12C 7F0885FC 0FC16322 */ jal sub_GAME_7F058C88 -/* 0BD130 7F088600 00000000 */ nop -.L7F088604: -/* 0BD134 7F088604 8FBF002C */ lw $ra, 0x2c($sp) -.L7F088608: -/* 0BD138 7F088608 8FA201F8 */ lw $v0, 0x1f8($sp) -/* 0BD13C 7F08860C 27BD01F8 */ addiu $sp, $sp, 0x1f8 -/* 0BD140 7F088610 03E00008 */ jr $ra -/* 0BD144 7F088614 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_8005527C -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055280 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F087E74 -/* 0BD0B0 7F088540 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BD0B4 7F088544 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BD0B8 7F088548 27BDFE08 */ addiu $sp, $sp, -0x1f8 -/* 0BD0BC 7F08854C AFBF002C */ sw $ra, 0x2c($sp) -/* 0BD0C0 7F088550 AFA401F8 */ sw $a0, 0x1f8($sp) -/* 0BD0C4 7F088554 8C4E01C8 */ lw $t6, 0x1c8($v0) -/* 0BD0C8 7F088558 51C001E0 */ beql $t6, $zero, .Ljp7F088CDC -/* 0BD0CC 7F08855C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BD0D0 7F088560 8C4F0200 */ lw $t7, 0x200($v0) -/* 0BD0D4 7F088564 3C198003 */ lui $t9, %hi(D_8003683C) # $t9, 0x8003 -/* 0BD0D8 7F088568 2739687C */ addiu $t9, %lo(D_8003683C) # addiu $t9, $t9, 0x687c -/* 0BD0DC 7F08856C 11E001DA */ beqz $t7, .Ljp7F088CD8 -/* 0BD0E0 7F088570 27B801B8 */ addiu $t8, $sp, 0x1b8 -/* 0BD0E4 7F088574 272B003C */ addiu $t3, $t9, 0x3c -.Ljp7F088578: -/* 0BD0E8 7F088578 8F210000 */ lw $at, ($t9) -/* 0BD0EC 7F08857C 2739000C */ addiu $t9, $t9, 0xc -/* 0BD0F0 7F088580 2718000C */ addiu $t8, $t8, 0xc -/* 0BD0F4 7F088584 AF01FFF4 */ sw $at, -0xc($t8) -/* 0BD0F8 7F088588 8F21FFF8 */ lw $at, -8($t9) -/* 0BD0FC 7F08858C AF01FFF8 */ sw $at, -8($t8) -/* 0BD100 7F088590 8F21FFFC */ lw $at, -4($t9) -/* 0BD104 7F088594 172BFFF8 */ bne $t9, $t3, .Ljp7F088578 -/* 0BD108 7F088598 AF01FFFC */ sw $at, -4($t8) -/* 0BD10C 7F08859C 8F210000 */ lw $at, ($t9) -/* 0BD110 7F0885A0 3C0D8003 */ lui $t5, %hi(D_8003687C) # $t5, 0x8003 -/* 0BD114 7F0885A4 25AD68BC */ addiu $t5, %lo(D_8003687C) # addiu $t5, $t5, 0x68bc -/* 0BD118 7F0885A8 AF010000 */ sw $at, ($t8) -/* 0BD11C 7F0885AC 8DA10000 */ lw $at, ($t5) -/* 0BD120 7F0885B0 27AC016C */ addiu $t4, $sp, 0x16c -/* 0BD124 7F0885B4 8DAF0004 */ lw $t7, 4($t5) -/* 0BD128 7F0885B8 AD810000 */ sw $at, ($t4) -/* 0BD12C 7F0885BC 8DA10008 */ lw $at, 8($t5) -/* 0BD130 7F0885C0 24040001 */ li $a0, 1 -/* 0BD134 7F0885C4 AD8F0004 */ sw $t7, 4($t4) -/* 0BD138 7F0885C8 0FC1750E */ jal get_ptr_itemheader_in_hand -/* 0BD13C 7F0885CC AD810008 */ sw $at, 8($t4) -/* 0BD140 7F0885D0 AFA20160 */ sw $v0, 0x160($sp) -/* 0BD144 7F0885D4 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 -/* 0BD148 7F0885D8 8C4A0008 */ lw $t2, 8($v0) -/* 0BD14C 7F0885DC 8C84A120 */ lw $a0, %lo(pPlayer)($a0) -/* 0BD150 7F0885E0 8D45000C */ lw $a1, 0xc($t2) -/* 0BD154 7F0885E4 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 0BD158 7F0885E8 24840230 */ addiu $a0, $a0, 0x230 -/* 0BD15C 7F0885EC 0FC2F8A4 */ jal sub_GAME_7F0BD6E0 -/* 0BD160 7F0885F0 AFA20158 */ sw $v0, 0x158($sp) -/* 0BD164 7F0885F4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0BD168 7F0885F8 44812000 */ mtc1 $at, $f4 -/* 0BD16C 7F0885FC 3C0B8008 */ lui $t3, %hi(pPlayer) # $t3, 0x8008 -/* 0BD170 7F088600 8D6BA120 */ lw $t3, %lo(pPlayer)($t3) -/* 0BD174 7F088604 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0BD178 7F088608 44813000 */ mtc1 $at, $f6 -/* 0BD17C 7F08860C AFA20154 */ sw $v0, 0x154($sp) -/* 0BD180 7F088610 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BD184 7F088614 44814000 */ mtc1 $at, $f8 -/* 0BD188 7F088618 8D6611C4 */ lw $a2, 0x11c4($t3) -/* 0BD18C 7F08861C 3C073FBA */ lui $a3, (0x3FBA2E8C >> 16) # lui $a3, 0x3fba -/* 0BD190 7F088620 34E72E8C */ ori $a3, (0x3FBA2E8C & 0xFFFF) # ori $a3, $a3, 0x2e8c -/* 0BD194 7F088624 00402025 */ move $a0, $v0 -/* 0BD198 7F088628 27A50152 */ addiu $a1, $sp, 0x152 -/* 0BD19C 7F08862C E7A40010 */ swc1 $f4, 0x10($sp) -/* 0BD1A0 7F088630 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0BD1A4 7F088634 0C003FBC */ jal guPerspective -/* 0BD1A8 7F088638 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0BD1AC 7F08863C 8FA301F8 */ lw $v1, 0x1f8($sp) -/* 0BD1B0 7F088640 3C190103 */ lui $t9, (0x01030040 >> 16) # lui $t9, 0x103 -/* 0BD1B4 7F088644 37390040 */ ori $t9, (0x01030040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 0BD1B8 7F088648 AC790000 */ sw $t9, ($v1) -/* 0BD1BC 7F08864C 8FB80154 */ lw $t8, 0x154($sp) -/* 0BD1C0 7F088650 3C01C140 */ li $at, 0xC1400000 # -12.000000 -/* 0BD1C4 7F088654 44810000 */ mtc1 $at, $f0 -/* 0BD1C8 7F088658 3C018000 */ lui $at, 0x8000 -/* 0BD1CC 7F08865C 3C0CBC00 */ lui $t4, (0xBC00000E >> 16) # lui $t4, 0xbc00 -/* 0BD1D0 7F088660 03017021 */ addu $t6, $t8, $at -/* 0BD1D4 7F088664 358C000E */ ori $t4, (0xBC00000E & 0xFFFF) # ori $t4, $t4, 0xe -/* 0BD1D8 7F088668 AC6E0004 */ sw $t6, 4($v1) -/* 0BD1DC 7F08866C 24670008 */ addiu $a3, $v1, 8 -/* 0BD1E0 7F088670 ACEC0000 */ sw $t4, ($a3) -/* 0BD1E4 7F088674 97AD0152 */ lhu $t5, 0x152($sp) -/* 0BD1E8 7F088678 3C088008 */ lui $t0, %hi(pPlayer) # $t0, 0x8008 -/* 0BD1EC 7F08867C 2508A120 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5ee0 -/* 0BD1F0 7F088680 ACED0004 */ sw $t5, 4($a3) -/* 0BD1F4 7F088684 8D0F0000 */ lw $t7, ($t0) -/* 0BD1F8 7F088688 8FAB0158 */ lw $t3, 0x158($sp) -/* 0BD1FC 7F08868C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BD200 7F088690 8DEA01CC */ lw $t2, 0x1cc($t7) -/* 0BD204 7F088694 24E90008 */ addiu $t1, $a3, 8 -/* 0BD208 7F088698 27A4016C */ addiu $a0, $sp, 0x16c -/* 0BD20C 7F08869C AD6A0000 */ sw $t2, ($t3) -/* 0BD210 7F0886A0 8D020000 */ lw $v0, ($t0) -/* 0BD214 7F0886A4 27A60178 */ addiu $a2, $sp, 0x178 -/* 0BD218 7F0886A8 C444054C */ lwc1 $f4, 0x54c($v0) -/* 0BD21C 7F0886AC C44A0498 */ lwc1 $f10, 0x498($v0) -/* 0BD220 7F0886B0 46002180 */ add.s $f6, $f4, $f0 -/* 0BD224 7F0886B4 C4440544 */ lwc1 $f4, 0x544($v0) -/* 0BD228 7F0886B8 46065202 */ mul.s $f8, $f10, $f6 -/* 0BD22C 7F0886BC C44A04A0 */ lwc1 $f10, 0x4a0($v0) -/* 0BD230 7F0886C0 46005187 */ neg.s $f6, $f10 -/* 0BD234 7F0886C4 46062282 */ mul.s $f10, $f4, $f6 -/* 0BD238 7F0886C8 C444048C */ lwc1 $f4, 0x48c($v0) -/* 0BD23C 7F0886CC 460A2180 */ add.s $f6, $f4, $f10 -/* 0BD240 7F0886D0 46064100 */ add.s $f4, $f8, $f6 -/* 0BD244 7F0886D4 E7A4016C */ swc1 $f4, 0x16c($sp) -/* 0BD248 7F0886D8 C4480490 */ lwc1 $f8, 0x490($v0) -/* 0BD24C 7F0886DC C44A0548 */ lwc1 $f10, 0x548($v0) -/* 0BD250 7F0886E0 46085180 */ add.s $f6, $f10, $f8 -/* 0BD254 7F0886E4 E7A60170 */ swc1 $f6, 0x170($sp) -/* 0BD258 7F0886E8 C44A054C */ lwc1 $f10, 0x54c($v0) -/* 0BD25C 7F0886EC C44404A0 */ lwc1 $f4, 0x4a0($v0) -/* 0BD260 7F0886F0 46005200 */ add.s $f8, $f10, $f0 -/* 0BD264 7F0886F4 C44A0544 */ lwc1 $f10, 0x544($v0) -/* 0BD268 7F0886F8 46082182 */ mul.s $f6, $f4, $f8 -/* 0BD26C 7F0886FC C4440498 */ lwc1 $f4, 0x498($v0) -/* 0BD270 7F088700 46045202 */ mul.s $f8, $f10, $f4 -/* 0BD274 7F088704 C44A0494 */ lwc1 $f10, 0x494($v0) -/* 0BD278 7F088708 46085100 */ add.s $f4, $f10, $f8 -/* 0BD27C 7F08870C 44814000 */ mtc1 $at, $f8 -/* 0BD280 7F088710 3C018005 */ lui $at, %hi(D_8005527C) # $at, 0x8005 -/* 0BD284 7F088714 46043280 */ add.s $f10, $f6, $f4 -/* 0BD288 7F088718 E7AA0174 */ swc1 $f10, 0x174($sp) -/* 0BD28C 7F08871C C4460148 */ lwc1 $f6, 0x148($v0) -/* 0BD290 7F088720 C42A52AC */ lwc1 $f10, %lo(D_8005527C)($at) -/* 0BD294 7F088724 AFA901F8 */ sw $t1, 0x1f8($sp) -/* 0BD298 7F088728 46064101 */ sub.s $f4, $f8, $f6 -/* 0BD29C 7F08872C 460A2202 */ mul.s $f8, $f4, $f10 -/* 0BD2A0 7F088730 44054000 */ mfc1 $a1, $f8 -/* 0BD2A4 7F088734 0FC1627C */ jal sub_GAME_7F0584D0 -/* 0BD2A8 7F088738 00000000 */ nop -/* 0BD2AC 7F08873C 0FC1E26D */ jal get_BONDdata_field_10CC -/* 0BD2B0 7F088740 00000000 */ nop -/* 0BD2B4 7F088744 00402025 */ move $a0, $v0 -/* 0BD2B8 7F088748 0FC1616E */ jal sub_GAME_7F058098 -/* 0BD2BC 7F08874C 27A50178 */ addiu $a1, $sp, 0x178 -/* 0BD2C0 7F088750 8FB90160 */ lw $t9, 0x160($sp) -/* 0BD2C4 7F088754 8724000E */ lh $a0, 0xe($t9) -/* 0BD2C8 7F088758 0004C180 */ sll $t8, $a0, 6 -/* 0BD2CC 7F08875C 0FC2F8B1 */ jal sub_GAME_7F0BD714 -/* 0BD2D0 7F088760 03002025 */ move $a0, $t8 -/* 0BD2D4 7F088764 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 -/* 0BD2D8 7F088768 8C84A120 */ lw $a0, %lo(pPlayer)($a0) -/* 0BD2DC 7F08876C AFA20164 */ sw $v0, 0x164($sp) -/* 0BD2E0 7F088770 8FA50160 */ lw $a1, 0x160($sp) -/* 0BD2E4 7F088774 24060004 */ li $a2, 4 -/* 0BD2E8 7F088778 0FC220B8 */ jal seems_to_load_cuff_microcode -/* 0BD2EC 7F08877C 24840230 */ addiu $a0, $a0, 0x230 -/* 0BD2F0 7F088780 3C058008 */ lui $a1, %hi(pPlayer) # $a1, 0x8008 -/* 0BD2F4 7F088784 8FAC0164 */ lw $t4, 0x164($sp) -/* 0BD2F8 7F088788 8CA5A120 */ lw $a1, %lo(pPlayer)($a1) -/* 0BD2FC 7F08878C 27AE0178 */ addiu $t6, $sp, 0x178 -/* 0BD300 7F088790 AFAE01B8 */ sw $t6, 0x1b8($sp) -/* 0BD304 7F088794 27A401B8 */ addiu $a0, $sp, 0x1b8 -/* 0BD308 7F088798 AFAC01C8 */ sw $t4, 0x1c8($sp) -/* 0BD30C 7F08879C 0FC1BE3A */ jal subcalcmatrices -/* 0BD310 7F0887A0 24A50230 */ addiu $a1, $a1, 0x230 -/* 0BD314 7F0887A4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BD318 7F0887A8 44810000 */ mtc1 $at, $f0 -/* 0BD31C 7F0887AC 3C018008 */ lui $at, %hi(watch_time_0) # $at, 0x8008 -/* 0BD320 7F0887B0 8FAD0160 */ lw $t5, 0x160($sp) -/* 0BD324 7F0887B4 C4269A64 */ lwc1 $f6, %lo(watch_time_0)($at) -/* 0BD328 7F0887B8 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BD32C 7F0887BC 8DAF0008 */ lw $t7, 8($t5) -/* 0BD330 7F0887C0 4600310D */ trunc.w.s $f4, $f6 -/* 0BD334 7F0887C4 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BD338 7F0887C8 8DEA0000 */ lw $t2, ($t7) -/* 0BD33C 7F0887CC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0BD340 7F0887D0 44192000 */ mfc1 $t9, $f4 -/* 0BD344 7F0887D4 8D430004 */ lw $v1, 4($t2) -/* 0BD348 7F0887D8 44814000 */ mtc1 $at, $f8 -/* 0BD34C 7F0887DC AFB90090 */ sw $t9, 0x90($sp) -/* 0BD350 7F0887E0 C44A0258 */ lwc1 $f10, 0x258($v0) -/* 0BD354 7F0887E4 46085383 */ div.s $f14, $f10, $f8 -/* 0BD358 7F0887E8 460E003C */ c.lt.s $f0, $f14 -/* 0BD35C 7F0887EC 00000000 */ nop -/* 0BD360 7F0887F0 45020003 */ bc1fl .Ljp7F088800 -/* 0BD364 7F0887F4 C4660000 */ lwc1 $f6, ($v1) -/* 0BD368 7F0887F8 46000386 */ mov.s $f14, $f0 -/* 0BD36C 7F0887FC C4660000 */ lwc1 $f6, ($v1) -.Ljp7F088800: -/* 0BD370 7F088800 C4440244 */ lwc1 $f4, 0x244($v0) -/* 0BD374 7F088804 C44801D4 */ lwc1 $f8, 0x1d4($v0) -/* 0BD378 7F088808 8FA80164 */ lw $t0, 0x164($sp) -/* 0BD37C 7F08880C 46043282 */ mul.s $f10, $f6, $f4 -/* 0BD380 7F088810 44808000 */ mtc1 $zero, $f16 -/* 0BD384 7F088814 C5000030 */ lwc1 $f0, 0x30($t0) -/* 0BD388 7F088818 27A40108 */ addiu $a0, $sp, 0x108 -/* 0BD38C 7F08881C 44058000 */ mfc1 $a1, $f16 -/* 0BD390 7F088820 44068000 */ mfc1 $a2, $f16 -/* 0BD394 7F088824 44078000 */ mfc1 $a3, $f16 -/* 0BD398 7F088828 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BD39C 7F08882C 46003101 */ sub.s $f4, $f6, $f0 -/* 0BD3A0 7F088830 460E2202 */ mul.s $f8, $f4, $f14 -/* 0BD3A4 7F088834 46004280 */ add.s $f10, $f8, $f0 -/* 0BD3A8 7F088838 E7AA00B4 */ swc1 $f10, 0xb4($sp) -/* 0BD3AC 7F08883C C4440244 */ lwc1 $f4, 0x244($v0) -/* 0BD3B0 7F088840 C4660008 */ lwc1 $f6, 8($v1) -/* 0BD3B4 7F088844 C44A01D8 */ lwc1 $f10, 0x1d8($v0) -/* 0BD3B8 7F088848 C5020034 */ lwc1 $f2, 0x34($t0) -/* 0BD3BC 7F08884C 46043202 */ mul.s $f8, $f6, $f4 -/* 0BD3C0 7F088850 46085180 */ add.s $f6, $f10, $f8 -/* 0BD3C4 7F088854 46023101 */ sub.s $f4, $f6, $f2 -/* 0BD3C8 7F088858 460E2282 */ mul.s $f10, $f4, $f14 -/* 0BD3CC 7F08885C 46025200 */ add.s $f8, $f10, $f2 -/* 0BD3D0 7F088860 E7A800B8 */ swc1 $f8, 0xb8($sp) -/* 0BD3D4 7F088864 C4440244 */ lwc1 $f4, 0x244($v0) -/* 0BD3D8 7F088868 C4660004 */ lwc1 $f6, 4($v1) -/* 0BD3DC 7F08886C C44801DC */ lwc1 $f8, 0x1dc($v0) -/* 0BD3E0 7F088870 C50C0038 */ lwc1 $f12, 0x38($t0) -/* 0BD3E4 7F088874 46043282 */ mul.s $f10, $f6, $f4 -/* 0BD3E8 7F088878 460A4181 */ sub.s $f6, $f8, $f10 -/* 0BD3EC 7F08887C 460C3101 */ sub.s $f4, $f6, $f12 -/* 0BD3F0 7F088880 460E2202 */ mul.s $f8, $f4, $f14 -/* 0BD3F4 7F088884 460C4280 */ add.s $f10, $f8, $f12 -/* 0BD3F8 7F088888 E7AA00BC */ swc1 $f10, 0xbc($sp) -/* 0BD3FC 7F08888C C44601E0 */ lwc1 $f6, 0x1e0($v0) -/* 0BD400 7F088890 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0BD404 7F088894 C44401E4 */ lwc1 $f4, 0x1e4($v0) -/* 0BD408 7F088898 E7A40014 */ swc1 $f4, 0x14($sp) -/* 0BD40C 7F08889C C44801E8 */ lwc1 $f8, 0x1e8($v0) -/* 0BD410 7F0888A0 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0BD414 7F0888A4 C44A01EC */ lwc1 $f10, 0x1ec($v0) -/* 0BD418 7F0888A8 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0BD41C 7F0888AC C44601F0 */ lwc1 $f6, 0x1f0($v0) -/* 0BD420 7F0888B0 E7A60020 */ swc1 $f6, 0x20($sp) -/* 0BD424 7F0888B4 C44401F4 */ lwc1 $f4, 0x1f4($v0) -/* 0BD428 7F0888B8 E7AE0168 */ swc1 $f14, 0x168($sp) -/* 0BD42C 7F0888BC 0FC1678A */ jal sub_GAME_7F059908 -/* 0BD430 7F0888C0 E7A40024 */ swc1 $f4, 0x24($sp) -/* 0BD434 7F0888C4 8FA40164 */ lw $a0, 0x164($sp) -/* 0BD438 7F0888C8 0FC16360 */ jal sub_GAME_7F058860 -/* 0BD43C 7F0888CC 27A500FC */ addiu $a1, $sp, 0xfc -/* 0BD440 7F0888D0 27A40108 */ addiu $a0, $sp, 0x108 -/* 0BD444 7F0888D4 0FC16360 */ jal sub_GAME_7F058860 -/* 0BD448 7F0888D8 27A500F0 */ addiu $a1, $sp, 0xf0 -/* 0BD44C 7F0888DC 27A400FC */ addiu $a0, $sp, 0xfc -/* 0BD450 7F0888E0 0FC16E45 */ jal sub_GAME_7F05B3F4 -/* 0BD454 7F0888E4 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 0BD458 7F0888E8 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 0BD45C 7F0888EC 0FC16E45 */ jal sub_GAME_7F05B3F4 -/* 0BD460 7F0888F0 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0BD464 7F0888F4 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 0BD468 7F0888F8 0FC170CC */ jal sub_GAME_7F05BE10 -/* 0BD46C 7F0888FC 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0BD470 7F088900 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 0BD474 7F088904 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0BD478 7F088908 8FA60168 */ lw $a2, 0x168($sp) -/* 0BD47C 7F08890C 0FC16FCA */ jal sub_GAME_7F05BA08 -/* 0BD480 7F088910 27A700C0 */ addiu $a3, $sp, 0xc0 -/* 0BD484 7F088914 27A400C0 */ addiu $a0, $sp, 0xc0 -/* 0BD488 7F088918 0FC16ED2 */ jal sub_GAME_7F05B628 -/* 0BD48C 7F08891C 8FA50164 */ lw $a1, 0x164($sp) -/* 0BD490 7F088920 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 0BD494 7F088924 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0BD498 7F088928 8FA50164 */ lw $a1, 0x164($sp) -/* 0BD49C 7F08892C 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0BD4A0 7F088930 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0BD4A4 7F088934 8FA50164 */ lw $a1, 0x164($sp) -/* 0BD4A8 7F088938 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 0BD4AC 7F08893C C70C0244 */ lwc1 $f12, 0x244($t8) -/* 0BD4B0 7F088940 2403003C */ li $v1, 60 -/* 0BD4B4 7F088944 8FA40090 */ lw $a0, 0x90($sp) -/* 0BD4B8 7F088948 3C018005 */ lui $at, %hi(D_80055280) # $at, 0x8005 -/* 0BD4BC 7F08894C C42252B0 */ lwc1 $f2, %lo(D_80055280)($at) -/* 0BD4C0 7F088950 0083001A */ div $zero, $a0, $v1 -/* 0BD4C4 7F088954 00007010 */ mfhi $t6 -/* 0BD4C8 7F088958 00001012 */ mflo $v0 -/* 0BD4CC 7F08895C 448E4000 */ mtc1 $t6, $f8 -/* 0BD4D0 7F088960 44808000 */ mtc1 $zero, $f16 -/* 0BD4D4 7F088964 0043001A */ div $zero, $v0, $v1 -/* 0BD4D8 7F088968 00006010 */ mfhi $t4 -/* 0BD4DC 7F08896C 00006812 */ mflo $t5 -/* 0BD4E0 7F088970 468042A0 */ cvt.s.w $f10, $f8 -/* 0BD4E4 7F088974 14600002 */ bnez $v1, .Ljp7F088980 -/* 0BD4E8 7F088978 00000000 */ nop -/* 0BD4EC 7F08897C 0007000D */ break 7 -.Ljp7F088980: -/* 0BD4F0 7F088980 2401FFFF */ li $at, -1 -/* 0BD4F4 7F088984 14610004 */ bne $v1, $at, .Ljp7F088998 -/* 0BD4F8 7F088988 3C018000 */ lui $at, 0x8000 -/* 0BD4FC 7F08898C 14810002 */ bne $a0, $at, .Ljp7F088998 -/* 0BD500 7F088990 00000000 */ nop -/* 0BD504 7F088994 0006000D */ break 6 -.Ljp7F088998: -/* 0BD508 7F088998 01A3001A */ div $zero, $t5, $v1 -/* 0BD50C 7F08899C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BD510 7F0889A0 44813000 */ mtc1 $at, $f6 -/* 0BD514 7F0889A4 448C4000 */ mtc1 $t4, $f8 -/* 0BD518 7F0889A8 00007810 */ mfhi $t7 -/* 0BD51C 7F0889AC 46065103 */ div.s $f4, $f10, $f6 -/* 0BD520 7F0889B0 14600002 */ bnez $v1, .Ljp7F0889BC -/* 0BD524 7F0889B4 00000000 */ nop -/* 0BD528 7F0889B8 0007000D */ break 7 -.Ljp7F0889BC: -/* 0BD52C 7F0889BC 2401FFFF */ li $at, -1 -/* 0BD530 7F0889C0 14610004 */ bne $v1, $at, .Ljp7F0889D4 -/* 0BD534 7F0889C4 3C018000 */ li $at, 0x80000000 # -0.000000 -/* 0BD538 7F0889C8 14410002 */ bne $v0, $at, .Ljp7F0889D4 -/* 0BD53C 7F0889CC 00000000 */ nop -/* 0BD540 7F0889D0 0006000D */ break 6 -.Ljp7F0889D4: -/* 0BD544 7F0889D4 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BD548 7F0889D8 8FB90160 */ lw $t9, 0x160($sp) -/* 0BD54C 7F0889DC 468042A0 */ cvt.s.w $f10, $f8 -/* 0BD550 7F0889E0 46045180 */ add.s $f6, $f10, $f4 -/* 0BD554 7F0889E4 44812000 */ mtc1 $at, $f4 -/* 0BD558 7F0889E8 46003207 */ neg.s $f8, $f6 -/* 0BD55C 7F0889EC 448F3000 */ mtc1 $t7, $f6 -/* 0BD560 7F0889F0 46024282 */ mul.s $f10, $f8, $f2 -/* 0BD564 7F0889F4 46803220 */ cvt.s.w $f8, $f6 -/* 0BD568 7F0889F8 46045483 */ div.s $f18, $f10, $f4 -/* 0BD56C 7F0889FC 46004287 */ neg.s $f10, $f8 -/* 0BD570 7F088A00 46025102 */ mul.s $f4, $f10, $f2 -/* 0BD574 7F088A04 4610903C */ c.lt.s $f18, $f16 -/* 0BD578 7F088A08 46009306 */ mov.s $f12, $f18 -/* 0BD57C 7F088A0C 14600002 */ bnez $v1, .Ljp7F088A18 -/* 0BD580 7F088A10 00000000 */ nop -/* 0BD584 7F088A14 0007000D */ break 7 -.Ljp7F088A18: -/* 0BD588 7F088A18 2401FFFF */ li $at, -1 -/* 0BD58C 7F088A1C 14610004 */ bne $v1, $at, .Ljp7F088A30 -/* 0BD590 7F088A20 3C018000 */ li $at, 0x80000000 # -0.000000 -/* 0BD594 7F088A24 15A10002 */ bne $t5, $at, .Ljp7F088A30 -/* 0BD598 7F088A28 00000000 */ nop -/* 0BD59C 7F088A2C 0006000D */ break 6 -.Ljp7F088A30: -/* 0BD5A0 7F088A30 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BD5A4 7F088A34 44813000 */ mtc1 $at, $f6 -/* 0BD5A8 7F088A38 44815000 */ mtc1 $at, $f10 -/* 0BD5AC 7F088A3C 24010E10 */ li $at, 3600 -/* 0BD5B0 7F088A40 0041001A */ div $zero, $v0, $at -/* 0BD5B4 7F088A44 00005012 */ mflo $t2 -/* 0BD5B8 7F088A48 2401000C */ li $at, 12 -/* 0BD5BC 7F088A4C 46062203 */ div.s $f8, $f4, $f6 -/* 0BD5C0 7F088A50 0141001A */ div $zero, $t2, $at -/* 0BD5C4 7F088A54 460A9103 */ div.s $f4, $f18, $f10 -/* 0BD5C8 7F088A58 00005810 */ mfhi $t3 -/* 0BD5CC 7F088A5C 448B5000 */ mtc1 $t3, $f10 -/* 0BD5D0 7F088A60 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 0BD5D4 7F088A64 46044180 */ add.s $f6, $f8, $f4 -/* 0BD5D8 7F088A68 46805220 */ cvt.s.w $f8, $f10 -/* 0BD5DC 7F088A6C E7A60040 */ swc1 $f6, 0x40($sp) -/* 0BD5E0 7F088A70 46003386 */ mov.s $f14, $f6 -/* 0BD5E4 7F088A74 46004107 */ neg.s $f4, $f8 -/* 0BD5E8 7F088A78 44814000 */ mtc1 $at, $f8 -/* 0BD5EC 7F088A7C 46022282 */ mul.s $f10, $f4, $f2 -/* 0BD5F0 7F088A80 46085103 */ div.s $f4, $f10, $f8 -/* 0BD5F4 7F088A84 44815000 */ mtc1 $at, $f10 -/* 0BD5F8 7F088A88 3C014434 */ li $at, 0x44340000 # 720.000000 -/* 0BD5FC 7F088A8C 460A3203 */ div.s $f8, $f6, $f10 -/* 0BD600 7F088A90 44815000 */ mtc1 $at, $f10 -/* 0BD604 7F088A94 46082180 */ add.s $f6, $f4, $f8 -/* 0BD608 7F088A98 460A9103 */ div.s $f4, $f18, $f10 -/* 0BD60C 7F088A9C C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0BD610 7F088AA0 46043200 */ add.s $f8, $f6, $f4 -/* 0BD614 7F088AA4 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 0BD618 7F088AA8 46004006 */ mov.s $f0, $f8 -/* 0BD61C 7F088AAC 45000006 */ bc1f .Ljp7F088AC8 -/* 0BD620 7F088AB0 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0BD624 7F088AB4 46026300 */ add.s $f12, $f12, $f2 -.Ljp7F088AB8: -/* 0BD628 7F088AB8 4610603C */ c.lt.s $f12, $f16 -/* 0BD62C 7F088ABC 00000000 */ nop -/* 0BD630 7F088AC0 4503FFFD */ bc1tl .Ljp7F088AB8 -/* 0BD634 7F088AC4 46026300 */ add.s $f12, $f12, $f2 -.Ljp7F088AC8: -/* 0BD638 7F088AC8 4610503C */ c.lt.s $f10, $f16 -/* 0BD63C 7F088ACC 00000000 */ nop -/* 0BD640 7F088AD0 45020007 */ bc1fl .Ljp7F088AF0 -/* 0BD644 7F088AD4 4610303C */ c.lt.s $f6, $f16 -/* 0BD648 7F088AD8 46027380 */ add.s $f14, $f14, $f2 -.Ljp7F088ADC: -/* 0BD64C 7F088ADC 4610703C */ c.lt.s $f14, $f16 -/* 0BD650 7F088AE0 00000000 */ nop -/* 0BD654 7F088AE4 4503FFFD */ bc1tl .Ljp7F088ADC -/* 0BD658 7F088AE8 46027380 */ add.s $f14, $f14, $f2 -/* 0BD65C 7F088AEC 4610303C */ c.lt.s $f6, $f16 -.Ljp7F088AF0: -/* 0BD660 7F088AF0 00000000 */ nop -/* 0BD664 7F088AF4 45020007 */ bc1fl .Ljp7F088B14 -/* 0BD668 7F088AF8 8F380008 */ lw $t8, 8($t9) -/* 0BD66C 7F088AFC 46020000 */ add.s $f0, $f0, $f2 -.Ljp7F088B00: -/* 0BD670 7F088B00 4610003C */ c.lt.s $f0, $f16 -/* 0BD674 7F088B04 00000000 */ nop -/* 0BD678 7F088B08 4503FFFD */ bc1tl .Ljp7F088B00 -/* 0BD67C 7F088B0C 46020000 */ add.s $f0, $f0, $f2 -/* 0BD680 7F088B10 8F380008 */ lw $t8, 8($t9) -.Ljp7F088B14: -/* 0BD684 7F088B14 8FA60164 */ lw $a2, 0x164($sp) -/* 0BD688 7F088B18 44050000 */ mfc1 $a1, $f0 -/* 0BD68C 7F088B1C 8F0E0000 */ lw $t6, ($t8) -/* 0BD690 7F088B20 24C60040 */ addiu $a2, $a2, 0x40 -/* 0BD694 7F088B24 8DC40004 */ lw $a0, 4($t6) -/* 0BD698 7F088B28 E7AE0098 */ swc1 $f14, 0x98($sp) -/* 0BD69C 7F088B2C E7AC009C */ swc1 $f12, 0x9c($sp) -/* 0BD6A0 7F088B30 0FC1627C */ jal sub_GAME_7F0584D0 -/* 0BD6A4 7F088B34 AFA60040 */ sw $a2, 0x40($sp) -/* 0BD6A8 7F088B38 8FA50040 */ lw $a1, 0x40($sp) -/* 0BD6AC 7F088B3C 0FC16162 */ jal sub_GAME_7F058068 -/* 0BD6B0 7F088B40 8FA40164 */ lw $a0, 0x164($sp) -/* 0BD6B4 7F088B44 8FAC0160 */ lw $t4, 0x160($sp) -/* 0BD6B8 7F088B48 C7AE0098 */ lwc1 $f14, 0x98($sp) -/* 0BD6BC 7F088B4C 8FA60164 */ lw $a2, 0x164($sp) -/* 0BD6C0 7F088B50 8D8D0008 */ lw $t5, 8($t4) -/* 0BD6C4 7F088B54 44057000 */ mfc1 $a1, $f14 -/* 0BD6C8 7F088B58 24C60080 */ addiu $a2, $a2, 0x80 -/* 0BD6CC 7F088B5C 8DAF0004 */ lw $t7, 4($t5) -/* 0BD6D0 7F088B60 8DE40004 */ lw $a0, 4($t7) -/* 0BD6D4 7F088B64 0FC1627C */ jal sub_GAME_7F0584D0 -/* 0BD6D8 7F088B68 AFA60040 */ sw $a2, 0x40($sp) -/* 0BD6DC 7F088B6C 8FA50040 */ lw $a1, 0x40($sp) -/* 0BD6E0 7F088B70 0FC16162 */ jal sub_GAME_7F058068 -/* 0BD6E4 7F088B74 8FA40164 */ lw $a0, 0x164($sp) -/* 0BD6E8 7F088B78 8FAA0160 */ lw $t2, 0x160($sp) -/* 0BD6EC 7F088B7C C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 0BD6F0 7F088B80 8FA60164 */ lw $a2, 0x164($sp) -/* 0BD6F4 7F088B84 8D4B0008 */ lw $t3, 8($t2) -/* 0BD6F8 7F088B88 44056000 */ mfc1 $a1, $f12 -/* 0BD6FC 7F088B8C 24C600C0 */ addiu $a2, $a2, 0xc0 -/* 0BD700 7F088B90 8D790008 */ lw $t9, 8($t3) -/* 0BD704 7F088B94 8F240004 */ lw $a0, 4($t9) -/* 0BD708 7F088B98 0FC1627C */ jal sub_GAME_7F0584D0 -/* 0BD70C 7F088B9C AFA60040 */ sw $a2, 0x40($sp) -/* 0BD710 7F088BA0 8FA50040 */ lw $a1, 0x40($sp) -/* 0BD714 7F088BA4 0FC16162 */ jal sub_GAME_7F058068 -/* 0BD718 7F088BA8 8FA40164 */ lw $a0, 0x164($sp) -/* 0BD71C 7F088BAC 8FAE01F8 */ lw $t6, 0x1f8($sp) -/* 0BD720 7F088BB0 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BD724 7F088BB4 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BD728 7F088BB8 24180003 */ li $t8, 3 -/* 0BD72C 7F088BBC 240C0004 */ li $t4, 4 -/* 0BD730 7F088BC0 AFB801C0 */ sw $t8, 0x1c0($sp) -/* 0BD734 7F088BC4 AFA001BC */ sw $zero, 0x1bc($sp) -/* 0BD738 7F088BC8 AFAC01E8 */ sw $t4, 0x1e8($sp) -/* 0BD73C 7F088BCC AFAE01C4 */ sw $t6, 0x1c4($sp) -/* 0BD740 7F088BD0 8C4301C8 */ lw $v1, 0x1c8($v0) -/* 0BD744 7F088BD4 24010005 */ li $at, 5 -/* 0BD748 7F088BD8 27A401B8 */ addiu $a0, $sp, 0x1b8 -/* 0BD74C 7F088BDC 10610002 */ beq $v1, $at, .Ljp7F088BE8 -/* 0BD750 7F088BE0 2401000C */ li $at, 12 -/* 0BD754 7F088BE4 14610003 */ bne $v1, $at, .Ljp7F088BF4 -.Ljp7F088BE8: -/* 0BD758 7F088BE8 240D00CD */ li $t5, 205 -/* 0BD75C 7F088BEC 1000000C */ b .Ljp7F088C20 -/* 0BD760 7F088BF0 AFAD01EC */ sw $t5, 0x1ec($sp) -.Ljp7F088BF4: -/* 0BD764 7F088BF4 904A0FDC */ lbu $t2, 0xfdc($v0) -/* 0BD768 7F088BF8 904F0FDF */ lbu $t7, 0xfdf($v0) -/* 0BD76C 7F088BFC 90580FDD */ lbu $t8, 0xfdd($v0) -/* 0BD770 7F088C00 904D0FDE */ lbu $t5, 0xfde($v0) -/* 0BD774 7F088C04 000A5E00 */ sll $t3, $t2, 0x18 -/* 0BD778 7F088C08 01EBC825 */ or $t9, $t7, $t3 -/* 0BD77C 7F088C0C 00187400 */ sll $t6, $t8, 0x10 -/* 0BD780 7F088C10 032E6025 */ or $t4, $t9, $t6 -/* 0BD784 7F088C14 000D5200 */ sll $t2, $t5, 8 -/* 0BD788 7F088C18 018A7825 */ or $t7, $t4, $t2 -/* 0BD78C 7F088C1C AFAF01EC */ sw $t7, 0x1ec($sp) -.Ljp7F088C20: -/* 0BD790 7F088C20 0FC1D31D */ jal subdraw -/* 0BD794 7F088C24 24450230 */ addiu $a1, $v0, 0x230 -/* 0BD798 7F088C28 8FAB01C4 */ lw $t3, 0x1c4($sp) -/* 0BD79C 7F088C2C 8FB80160 */ lw $t8, 0x160($sp) -/* 0BD7A0 7F088C30 AFAB01F8 */ sw $t3, 0x1f8($sp) -/* 0BD7A4 7F088C34 8F190008 */ lw $t9, 8($t8) -/* 0BD7A8 7F088C38 8F2E0008 */ lw $t6, 8($t9) -/* 0BD7AC 7F088C3C 8DCD0004 */ lw $t5, 4($t6) -/* 0BD7B0 7F088C40 0FC2F8A4 */ jal sub_GAME_7F0BD6E0 -/* 0BD7B4 7F088C44 AFAD008C */ sw $t5, 0x8c($sp) -/* 0BD7B8 7F088C48 AFA20048 */ sw $v0, 0x48($sp) -/* 0BD7BC 7F088C4C 8FA4008C */ lw $a0, 0x8c($sp) -/* 0BD7C0 7F088C50 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 0BD7C4 7F088C54 27A5004C */ addiu $a1, $sp, 0x4c -/* 0BD7C8 7F088C58 8FA40164 */ lw $a0, 0x164($sp) -/* 0BD7CC 7F088C5C 0FC16162 */ jal sub_GAME_7F058068 -/* 0BD7D0 7F088C60 27A5004C */ addiu $a1, $sp, 0x4c -/* 0BD7D4 7F088C64 0FC16461 */ jal sub_GAME_7F058C64 -/* 0BD7D8 7F088C68 00000000 */ nop -/* 0BD7DC 7F088C6C 27A4004C */ addiu $a0, $sp, 0x4c -/* 0BD7E0 7F088C70 0FC1646F */ jal sub_GAME_7F058C9C -/* 0BD7E4 7F088C74 8FA50048 */ lw $a1, 0x48($sp) -/* 0BD7E8 7F088C78 0FC1646A */ jal sub_GAME_7F058C88 -/* 0BD7EC 7F088C7C 00000000 */ nop -/* 0BD7F0 7F088C80 3C0C8008 */ lui $t4, %hi(pPlayer) # $t4, 0x8008 -/* 0BD7F4 7F088C84 8D8CA120 */ lw $t4, %lo(pPlayer)($t4) -/* 0BD7F8 7F088C88 8FA401F8 */ lw $a0, 0x1f8($sp) -/* 0BD7FC 7F088C8C 8D8301C8 */ lw $v1, 0x1c8($t4) -/* 0BD800 7F088C90 38660005 */ xori $a2, $v1, 5 -/* 0BD804 7F088C94 2CC60001 */ sltiu $a2, $a2, 1 -/* 0BD808 7F088C98 14C00003 */ bnez $a2, .Ljp7F088CA8 -/* 0BD80C 7F088C9C 00000000 */ nop -/* 0BD810 7F088CA0 3866000C */ xori $a2, $v1, 0xc -/* 0BD814 7F088CA4 2CC60001 */ sltiu $a2, $a2, 1 -.Ljp7F088CA8: -/* 0BD818 7F088CA8 0FC2B574 */ jal sub_GAME_7F0ACA28 -/* 0BD81C 7F088CAC 8FA50048 */ lw $a1, 0x48($sp) -/* 0BD820 7F088CB0 0FC16461 */ jal sub_GAME_7F058C64 -/* 0BD824 7F088CB4 AFA201F8 */ sw $v0, 0x1f8($sp) -/* 0BD828 7F088CB8 3C0A8008 */ lui $t2, %hi(pPlayer) # $t2, 0x8008 -/* 0BD82C 7F088CBC 8D4AA120 */ lw $t2, %lo(pPlayer)($t2) -/* 0BD830 7F088CC0 8FAF0160 */ lw $t7, 0x160($sp) -/* 0BD834 7F088CC4 8D44023C */ lw $a0, 0x23c($t2) -/* 0BD838 7F088CC8 0FC23174 */ jal sub_GAME_7F08BD48 -/* 0BD83C 7F088CCC 85E5000E */ lh $a1, 0xe($t7) -/* 0BD840 7F088CD0 0FC1646A */ jal sub_GAME_7F058C88 -/* 0BD844 7F088CD4 00000000 */ nop -.Ljp7F088CD8: -/* 0BD848 7F088CD8 8FBF002C */ lw $ra, 0x2c($sp) -.Ljp7F088CDC: -/* 0BD84C 7F088CDC 8FA201F8 */ lw $v0, 0x1f8($sp) -/* 0BD850 7F088CE0 27BD01F8 */ addiu $sp, $sp, 0x1f8 -/* 0BD854 7F088CE4 03E00008 */ jr $ra -/* 0BD858 7F088CE8 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -s32 sub_GAME_7F088618(void *arg0) { - ? sp78; - s32 spB8; - s32 spBC; - ? temp_ret; - void *temp_s0; - void *temp_s0_2; - void *temp_s0_3; - void *temp_s0_4; - void *temp_s0_5; - void *temp_s0_6; - void *temp_s0_7; - void *temp_s0_8; - void *temp_s0_9; - void *temp_s0_10; - void *temp_s0_11; - - // Node 0 - 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->apparenthealth); - sub_GAME_7F0A3330((pPlayer + 0x2128), (pPlayer + 0x80001598), 0x2e); - spBC = sub_GAME_7F0BD6E0(); - temp_ret = sub_GAME_7F0BD6E0(); - spB8 = temp_ret; - guOrtho(temp_ret, (-800.0f * D_800364CC), (800.0f * D_800364CC), (-600.0f * D_800364CC), (f32) (600.0f * D_800364CC), -100.0f, 1000.0f, 1.0f); - *arg0 = 0x1030040; - temp_s0 = (arg0 + 8); - arg0->unk4 = osVirtualToPhysical(spB8); - sub_GAME_7F059694(&sp78, 0.0f, &0x43FA0004, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -1.0f); - sub_GAME_7F058C9C(&sp78, spBC); - *temp_s0 = 0x1020040; - temp_s0_2 = (temp_s0 + 8); - temp_s0->unk4 = osVirtualToPhysical(spBC); - temp_s0_3 = (temp_s0_2 + 8); - *temp_s0_2 = 0xe7000000; - temp_s0_2->unk4 = 0; - temp_s0_4 = (temp_s0_3 + 8); - *temp_s0_3 = 0xba001402; - temp_s0_3->unk4 = 0; - temp_s0_5 = (temp_s0_4 + 8); - *temp_s0_4 = 0xb900031d; - temp_s0_4->unk4 = 0x5041c8; - temp_s0_6 = (temp_s0_5 + 8); - *temp_s0_5 = 0xb9000002; - *temp_s0_5 = 0; - temp_s0_7 = (temp_s0_6 + 8); - *temp_s0_6 = 0xfcffffff; - temp_s0_6->unk4 = 0xfffe793c; - temp_s0_8 = (temp_s0_7 + 8); - *temp_s0_7 = 0xfa000000; - temp_s0_7->unk4 = 0xe6e6e600; - temp_s0_9 = (temp_s0_8 + 8); - *temp_s0_8 = 0xb6000000; - temp_s0_8->unk4 = 0x3000; - *temp_s0_9 = 0x6000000; - temp_s0_10 = (temp_s0_9 + 8); - temp_s0_9->unk4 = (s32) (pPlayer + 0x800019f8); - *temp_s0_10 = 0x6000000; - temp_s0_11 = (temp_s0_10 + 8); - temp_s0_10->unk4 = (s32) (pPlayer + 0x80002128); - *temp_s0_11 = 0x1030040; - temp_s0_11->unk4 = osVirtualToPhysical(get_BONDdata_field_10D8(temp_s0_9, temp_s0_10, 0x6000000, temp_s0_6)); - return (temp_s0_11 + 8); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F088618 -/* 0BD148 7F088618 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0BD14C 7F08861C AFB20038 */ sw $s2, 0x38($sp) -/* 0BD150 7F088620 3C128008 */ lui $s2, %hi(pPlayer) -/* 0BD154 7F088624 2652A0B0 */ addiu $s2, %lo(pPlayer) # addiu $s2, $s2, -0x5f50 -/* 0BD158 7F088628 AFB10034 */ sw $s1, 0x34($sp) -/* 0BD15C 7F08862C 8E510000 */ lw $s1, ($s2) -/* 0BD160 7F088630 AFB00030 */ sw $s0, 0x30($sp) -/* 0BD164 7F088634 00808025 */ move $s0, $a0 -/* 0BD168 7F088638 AFBF003C */ sw $ra, 0x3c($sp) -/* 0BD16C 7F08863C 2405002E */ li $a1, 46 -/* 0BD170 7F088640 24060001 */ li $a2, 1 -/* 0BD174 7F088644 8E2700F0 */ lw $a3, 0xf0($s1) -/* 0BD178 7F088648 0FC28BCC */ jal sub_GAME_7F0A2F30 -/* 0BD17C 7F08864C 262412B8 */ addiu $a0, $s1, 0x12b8 -/* 0BD180 7F088650 8E510000 */ lw $s1, ($s2) -/* 0BD184 7F088654 3C018000 */ lui $at, (0x800012B8 >> 16) -/* 0BD188 7F088658 342112B8 */ ori $at, (0x800012B8 & 0xFFFF) # ori $at, $at, 0x12b8 -/* 0BD18C 7F08865C 2406002E */ li $a2, 46 -/* 0BD190 7F088660 02212821 */ addu $a1, $s1, $at -/* 0BD194 7F088664 0FC28CCC */ jal sub_GAME_7F0A3330 -/* 0BD198 7F088668 262419F8 */ addiu $a0, $s1, 0x19f8 -/* 0BD19C 7F08866C 8E510000 */ lw $s1, ($s2) -/* 0BD1A0 7F088670 2405002E */ li $a1, 46 -/* 0BD1A4 7F088674 2406FFFF */ li $a2, -1 -/* 0BD1A8 7F088678 26241598 */ addiu $a0, $s1, 0x1598 -/* 0BD1AC 7F08867C 0FC28BCC */ jal sub_GAME_7F0A2F30 -/* 0BD1B0 7F088680 8E2700EC */ lw $a3, 0xec($s1) -/* 0BD1B4 7F088684 8E510000 */ lw $s1, ($s2) -/* 0BD1B8 7F088688 3C018000 */ lui $at, (0x80001598 >> 16) -/* 0BD1BC 7F08868C 34211598 */ ori $at, (0x80001598 & 0xFFFF) # ori $at, $at, 0x1598 -/* 0BD1C0 7F088690 2406002E */ li $a2, 46 -/* 0BD1C4 7F088694 02212821 */ addu $a1, $s1, $at -/* 0BD1C8 7F088698 0FC28CCC */ jal sub_GAME_7F0A3330 -/* 0BD1CC 7F08869C 26242128 */ addiu $a0, $s1, 0x2128 -/* 0BD1D0 7F0886A0 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BD1D4 7F0886A4 00000000 */ nop -/* 0BD1D8 7F0886A8 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0BD1DC 7F0886AC AFA200BC */ sw $v0, 0xbc($sp) -/* 0BD1E0 7F0886B0 3C018003 */ lui $at, %hi(D_800364CC) -/* 0BD1E4 7F0886B4 C42064CC */ lwc1 $f0, %lo(D_800364CC)($at) -/* 0BD1E8 7F0886B8 3C01C448 */ li $at, 0xC4480000 # -800.000000 -/* 0BD1EC 7F0886BC 44812000 */ mtc1 $at, $f4 -/* 0BD1F0 7F0886C0 3C014448 */ li $at, 0x44480000 # 800.000000 -/* 0BD1F4 7F0886C4 44814000 */ mtc1 $at, $f8 -/* 0BD1F8 7F0886C8 46002182 */ mul.s $f6, $f4, $f0 -/* 0BD1FC 7F0886CC 3C01C416 */ li $at, 0xC4160000 # -600.000000 -/* 0BD200 7F0886D0 44818000 */ mtc1 $at, $f16 -/* 0BD204 7F0886D4 46004282 */ mul.s $f10, $f8, $f0 -/* 0BD208 7F0886D8 3C014416 */ li $at, 0x44160000 # 600.000000 -/* 0BD20C 7F0886DC 44812000 */ mtc1 $at, $f4 -/* 0BD210 7F0886E0 46008482 */ mul.s $f18, $f16, $f0 -/* 0BD214 7F0886E4 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 0BD218 7F0886E8 44053000 */ mfc1 $a1, $f6 -/* 0BD21C 7F0886EC 46002182 */ mul.s $f6, $f4, $f0 -/* 0BD220 7F0886F0 44814000 */ mtc1 $at, $f8 -/* 0BD224 7F0886F4 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0BD228 7F0886F8 44065000 */ mfc1 $a2, $f10 -/* 0BD22C 7F0886FC 44815000 */ mtc1 $at, $f10 -/* 0BD230 7F088700 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BD234 7F088704 44818000 */ mtc1 $at, $f16 -/* 0BD238 7F088708 44079000 */ mfc1 $a3, $f18 -/* 0BD23C 7F08870C AFA200B8 */ sw $v0, 0xb8($sp) -/* 0BD240 7F088710 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0BD244 7F088714 00402025 */ move $a0, $v0 -/* 0BD248 7F088718 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0BD24C 7F08871C E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0BD250 7F088720 0C005AF1 */ jal guOrtho -/* 0BD254 7F088724 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 0BD258 7F088728 3C0E0103 */ lui $t6, (0x01030040 >> 16) # lui $t6, 0x103 -/* 0BD25C 7F08872C 35CE0040 */ ori $t6, (0x01030040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 0BD260 7F088730 02008825 */ move $s1, $s0 -/* 0BD264 7F088734 AE2E0000 */ sw $t6, ($s1) -/* 0BD268 7F088738 8FA400B8 */ lw $a0, 0xb8($sp) -/* 0BD26C 7F08873C 0C003A2C */ jal osVirtualToPhysical -/* 0BD270 7F088740 26100008 */ addiu $s0, $s0, 8 -/* 0BD274 7F088744 44800000 */ mtc1 $zero, $f0 -/* 0BD278 7F088748 AE220004 */ sw $v0, 4($s1) -/* 0BD27C 7F08874C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0BD280 7F088750 44819000 */ mtc1 $at, $f18 -/* 0BD284 7F088754 44050000 */ mfc1 $a1, $f0 -/* 0BD288 7F088758 44070000 */ mfc1 $a3, $f0 -/* 0BD28C 7F08875C 27A40078 */ addiu $a0, $sp, 0x78 -/* 0BD290 7F088760 3C0643FA */ lui $a2, %hi(0x43FA0004) # $a2, 0x43fa -/* 0BD294 7F088764 E7A00020 */ swc1 $f0, 0x20($sp) -/* 0BD298 7F088768 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0BD29C 7F08876C E7A00018 */ swc1 $f0, 0x18($sp) -/* 0BD2A0 7F088770 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0BD2A4 7F088774 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0BD2A8 7F088778 0FC165A5 */ jal sub_GAME_7F059694 -/* 0BD2AC 7F08877C E7B20024 */ swc1 $f18, 0x24($sp) -/* 0BD2B0 7F088780 27A40078 */ addiu $a0, $sp, 0x78 -/* 0BD2B4 7F088784 0FC16327 */ jal sub_GAME_7F058C9C -/* 0BD2B8 7F088788 8FA500BC */ lw $a1, 0xbc($sp) -/* 0BD2BC 7F08878C 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102 -/* 0BD2C0 7F088790 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 0BD2C4 7F088794 02008825 */ move $s1, $s0 -/* 0BD2C8 7F088798 AE2F0000 */ sw $t7, ($s1) -/* 0BD2CC 7F08879C 8FA400BC */ lw $a0, 0xbc($sp) -/* 0BD2D0 7F0887A0 0C003A2C */ jal osVirtualToPhysical -/* 0BD2D4 7F0887A4 26100008 */ addiu $s0, $s0, 8 -/* 0BD2D8 7F0887A8 02001825 */ move $v1, $s0 -/* 0BD2DC 7F0887AC AE220004 */ sw $v0, 4($s1) -/* 0BD2E0 7F0887B0 26100008 */ addiu $s0, $s0, 8 -/* 0BD2E4 7F0887B4 3C18E700 */ lui $t8, 0xe700 -/* 0BD2E8 7F0887B8 02002025 */ move $a0, $s0 -/* 0BD2EC 7F0887BC AC780000 */ sw $t8, ($v1) -/* 0BD2F0 7F0887C0 AC600004 */ sw $zero, 4($v1) -/* 0BD2F4 7F0887C4 26100008 */ addiu $s0, $s0, 8 -/* 0BD2F8 7F0887C8 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0BD2FC 7F0887CC 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0BD300 7F0887D0 02002825 */ move $a1, $s0 -/* 0BD304 7F0887D4 AC990000 */ sw $t9, ($a0) -/* 0BD308 7F0887D8 AC800004 */ sw $zero, 4($a0) -/* 0BD30C 7F0887DC 26100008 */ addiu $s0, $s0, 8 -/* 0BD310 7F0887E0 3C08B900 */ lui $t0, (0xB900031D >> 16) # lui $t0, 0xb900 -/* 0BD314 7F0887E4 3C090050 */ lui $t1, (0x005041C8 >> 16) # lui $t1, 0x50 -/* 0BD318 7F0887E8 352941C8 */ ori $t1, (0x005041C8 & 0xFFFF) # ori $t1, $t1, 0x41c8 -/* 0BD31C 7F0887EC 3508031D */ ori $t0, (0xB900031D & 0xFFFF) # ori $t0, $t0, 0x31d -/* 0BD320 7F0887F0 02003025 */ move $a2, $s0 -/* 0BD324 7F0887F4 ACA80000 */ sw $t0, ($a1) -/* 0BD328 7F0887F8 ACA90004 */ sw $t1, 4($a1) -/* 0BD32C 7F0887FC 3C0AB900 */ lui $t2, (0xB9000002 >> 16) # lui $t2, 0xb900 -/* 0BD330 7F088800 354A0002 */ ori $t2, (0xB9000002 & 0xFFFF) # ori $t2, $t2, 2 -/* 0BD334 7F088804 26100008 */ addiu $s0, $s0, 8 -/* 0BD338 7F088808 ACCA0000 */ sw $t2, ($a2) -/* 0BD33C 7F08880C ACC00004 */ sw $zero, %lo(0x43FA0004)($a2) -/* 0BD340 7F088810 02003825 */ move $a3, $s0 -/* 0BD344 7F088814 26100008 */ addiu $s0, $s0, 8 -/* 0BD348 7F088818 3C0BFCFF */ lui $t3, (0xFCFFFFFF >> 16) # lui $t3, 0xfcff -/* 0BD34C 7F08881C 3C0CFFFE */ lui $t4, (0xFFFE793C >> 16) # lui $t4, 0xfffe -/* 0BD350 7F088820 358C793C */ ori $t4, (0xFFFE793C & 0xFFFF) # ori $t4, $t4, 0x793c -/* 0BD354 7F088824 356BFFFF */ ori $t3, (0xFCFFFFFF & 0xFFFF) # ori $t3, $t3, 0xffff -/* 0BD358 7F088828 02001025 */ move $v0, $s0 -/* 0BD35C 7F08882C ACEB0000 */ sw $t3, ($a3) -/* 0BD360 7F088830 ACEC0004 */ sw $t4, 4($a3) -/* 0BD364 7F088834 26100008 */ addiu $s0, $s0, 8 -/* 0BD368 7F088838 3C0EE6E6 */ lui $t6, (0xE6E6E600 >> 16) # lui $t6, 0xe6e6 -/* 0BD36C 7F08883C 35CEE600 */ ori $t6, (0xE6E6E600 & 0xFFFF) # ori $t6, $t6, 0xe600 -/* 0BD370 7F088840 3C0DFA00 */ lui $t5, 0xfa00 -/* 0BD374 7F088844 02001825 */ move $v1, $s0 -/* 0BD378 7F088848 AC4D0000 */ sw $t5, ($v0) -/* 0BD37C 7F08884C AC4E0004 */ sw $t6, 4($v0) -/* 0BD380 7F088850 26100008 */ addiu $s0, $s0, 8 -/* 0BD384 7F088854 24183000 */ li $t8, 12288 -/* 0BD388 7F088858 3C0FB600 */ lui $t7, 0xb600 -/* 0BD38C 7F08885C 3C060600 */ lui $a2, 0x600 -/* 0BD390 7F088860 AC6F0000 */ sw $t7, ($v1) -/* 0BD394 7F088864 AC780004 */ sw $t8, 4($v1) -/* 0BD398 7F088868 02002025 */ move $a0, $s0 -/* 0BD39C 7F08886C AC860000 */ sw $a2, ($a0) -/* 0BD3A0 7F088870 8E590000 */ lw $t9, ($s2) -/* 0BD3A4 7F088874 3C018000 */ lui $at, (0x800019F8 >> 16) -/* 0BD3A8 7F088878 342119F8 */ ori $at, (0x800019F8 & 0xFFFF) # ori $at, $at, 0x19f8 -/* 0BD3AC 7F08887C 26100008 */ addiu $s0, $s0, 8 -/* 0BD3B0 7F088880 03214021 */ addu $t0, $t9, $at -/* 0BD3B4 7F088884 AC880004 */ sw $t0, 4($a0) -/* 0BD3B8 7F088888 02002825 */ move $a1, $s0 -/* 0BD3BC 7F08888C ACA60000 */ sw $a2, ($a1) -/* 0BD3C0 7F088890 8E490000 */ lw $t1, ($s2) -/* 0BD3C4 7F088894 3C018000 */ lui $at, (0x80002128 >> 16) -/* 0BD3C8 7F088898 34212128 */ ori $at, (0x80002128 & 0xFFFF) # ori $at, $at, 0x2128 -/* 0BD3CC 7F08889C 26100008 */ addiu $s0, $s0, 8 -/* 0BD3D0 7F0888A0 3C0B0103 */ lui $t3, (0x01030040 >> 16) # lui $t3, 0x103 -/* 0BD3D4 7F0888A4 01215021 */ addu $t2, $t1, $at -/* 0BD3D8 7F0888A8 ACAA0004 */ sw $t2, 4($a1) -/* 0BD3DC 7F0888AC 356B0040 */ ori $t3, (0x01030040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 0BD3E0 7F0888B0 02008825 */ move $s1, $s0 -/* 0BD3E4 7F0888B4 AE2B0000 */ sw $t3, ($s1) -/* 0BD3E8 7F0888B8 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 0BD3EC 7F0888BC 26100008 */ addiu $s0, $s0, 8 -/* 0BD3F0 7F0888C0 0C003A2C */ jal osVirtualToPhysical -/* 0BD3F4 7F0888C4 00402025 */ move $a0, $v0 -/* 0BD3F8 7F0888C8 AE220004 */ sw $v0, 4($s1) -/* 0BD3FC 7F0888CC 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BD400 7F0888D0 02001025 */ move $v0, $s0 -/* 0BD404 7F0888D4 8FB00030 */ lw $s0, 0x30($sp) -/* 0BD408 7F0888D8 8FB20038 */ lw $s2, 0x38($sp) -/* 0BD40C 7F0888DC 8FB10034 */ lw $s1, 0x34($sp) -/* 0BD410 7F0888E0 03E00008 */ jr $ra -/* 0BD414 7F0888E4 27BD00C0 */ addiu $sp, $sp, 0xc0 -) -#endif - - - - - -#ifdef NONMATCHING -void mp_respawn_handler(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055284 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80055288 -.word 0x3e2e147c /*0.17000002*/ -glabel D_8005528C -.word 0x3dccccd0 /*0.10000002*/ - -/*D:80055290*/ -glabel jpt_mpspawntype -.word mp_spawntype_spawn -.word mp_spawntype_weapon -.word mp_spawntype_ammo -.word mp_spawntype_intro_swirly -.word mp_spawntype_intro_anim -.word mp_spawntype_handcuff -.word mp_spawntype_intro_camera - -glabel D_800552AC -.word 0xb8d1b717 /*-0.000099999997*/ -.text -glabel mp_respawn_handler -/* 0BD418 7F0888E8 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0BD41C 7F0888EC 3C0F8003 */ lui $t7, %hi(D_8003688C) -/* 0BD420 7F0888F0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0BD424 7F0888F4 AFB10018 */ sw $s1, 0x18($sp) -/* 0BD428 7F0888F8 AFB00014 */ sw $s0, 0x14($sp) -/* 0BD42C 7F0888FC 25EF688C */ addiu $t7, %lo(D_8003688C) # addiu $t7, $t7, 0x688c -/* 0BD430 7F088900 8DE10000 */ lw $at, ($t7) -/* 0BD434 7F088904 27AE004C */ addiu $t6, $sp, 0x4c -/* 0BD438 7F088908 8DE80004 */ lw $t0, 4($t7) -/* 0BD43C 7F08890C ADC10000 */ sw $at, ($t6) -/* 0BD440 7F088910 8DE10008 */ lw $at, 8($t7) -/* 0BD444 7F088914 3C108007 */ lui $s0, %hi(ptr_setup_intro) -/* 0BD448 7F088918 ADC80004 */ sw $t0, 4($t6) -/* 0BD44C 7F08891C ADC10008 */ sw $at, 8($t6) -/* 0BD450 7F088920 0FC1E4FB */ jal init_player_BONDdata -/* 0BD454 7F088924 8E105D08 */ lw $s0, %lo(ptr_setup_intro)($s0) -/* 0BD458 7F088928 0FC1E62E */ jal sub_GAME_7F0798B8 -/* 0BD45C 7F08892C 00000000 */ nop -/* 0BD460 7F088930 3C118008 */ lui $s1, %hi(pPlayer) -/* 0BD464 7F088934 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 0BD468 7F088938 8E290000 */ lw $t1, ($s1) -/* 0BD46C 7F08893C 240C0001 */ li $t4, 1 -/* 0BD470 7F088940 24020007 */ li $v0, 7 -/* 0BD474 7F088944 AD2000D8 */ sw $zero, 0xd8($t1) -/* 0BD478 7F088948 8E2A0000 */ lw $t2, ($s1) -/* 0BD47C 7F08894C 240F0002 */ li $t7, 2 -/* 0BD480 7F088950 2404FFFF */ li $a0, -1 -/* 0BD484 7F088954 AD400428 */ sw $zero, 0x428($t2) -/* 0BD488 7F088958 8E2B0000 */ lw $t3, ($s1) -/* 0BD48C 7F08895C AD600424 */ sw $zero, 0x424($t3) -/* 0BD490 7F088960 8E2D0000 */ lw $t5, ($s1) -/* 0BD494 7F088964 ADAC0420 */ sw $t4, 0x420($t5) -/* 0BD498 7F088968 8E390000 */ lw $t9, ($s1) -/* 0BD49C 7F08896C AF2229B8 */ sw $v0, 0x29b8($t9) -/* 0BD4A0 7F088970 8E380000 */ lw $t8, ($s1) -/* 0BD4A4 7F088974 AF0229D4 */ sw $v0, 0x29d4($t8) -/* 0BD4A8 7F088978 8E2E0000 */ lw $t6, ($s1) -/* 0BD4AC 7F08897C ADC01064 */ sw $zero, 0x1064($t6) -/* 0BD4B0 7F088980 8E280000 */ lw $t0, ($s1) -/* 0BD4B4 7F088984 0FC228E0 */ jal unset_flags_in_BONDdata_stationary_intro_cam -/* 0BD4B8 7F088988 AD0F1128 */ sw $t7, 0x1128($t0) -/* 0BD4BC 7F08898C 0FC22A4A */ jal sub_GAME_7F08A928 -/* 0BD4C0 7F088990 2404FFFF */ li $a0, -1 -/* 0BD4C4 7F088994 0FC26919 */ jal get_num_players -/* 0BD4C8 7F088998 00000000 */ nop -/* 0BD4CC 7F08899C 28410002 */ slti $at, $v0, 2 -/* 0BD4D0 7F0889A0 14200008 */ bnez $at, .L7F0889C4 -/* 0BD4D4 7F0889A4 3C098008 */ lui $t1, %hi(dword_CODE_bss_80079C68) -/* 0BD4D8 7F0889A8 8D299C68 */ lw $t1, %lo(dword_CODE_bss_80079C68)($t1) -/* 0BD4DC 7F0889AC 59200006 */ blezl $t1, .L7F0889C8 -/* 0BD4E0 7F0889B0 00001825 */ move $v1, $zero -/* 0BD4E4 7F0889B4 0FC1E43C */ jal sub_GAME_7F0790F0 -/* 0BD4E8 7F0889B8 00000000 */ nop -/* 0BD4EC 7F0889BC 10000002 */ b .L7F0889C8 -/* 0BD4F0 7F0889C0 00401825 */ move $v1, $v0 -.L7F0889C4: -/* 0BD4F4 7F0889C4 00001825 */ move $v1, $zero -.L7F0889C8: -/* 0BD4F8 7F0889C8 00035080 */ sll $t2, $v1, 2 -/* 0BD4FC 7F0889CC 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079C28) -/* 0BD500 7F0889D0 004A1021 */ addu $v0, $v0, $t2 -/* 0BD504 7F0889D4 8C429C28 */ lw $v0, %lo(dword_CODE_bss_80079C28)($v0) -/* 0BD508 7F0889D8 C4440000 */ lwc1 $f4, ($v0) -/* 0BD50C 7F0889DC E7A4004C */ swc1 $f4, 0x4c($sp) -/* 0BD510 7F0889E0 C4460008 */ lwc1 $f6, 8($v0) -/* 0BD514 7F0889E4 8FA5004C */ lw $a1, 0x4c($sp) -/* 0BD518 7F0889E8 E7A60054 */ swc1 $f6, 0x54($sp) -/* 0BD51C 7F0889EC 8C440028 */ lw $a0, 0x28($v0) -/* 0BD520 7F0889F0 8FA60054 */ lw $a2, 0x54($sp) -/* 0BD524 7F0889F4 0FC20358 */ jal sub_GAME_7F080D60 -/* 0BD528 7F0889F8 AFA40044 */ sw $a0, 0x44($sp) -/* 0BD52C 7F0889FC 8E220000 */ lw $v0, ($s1) -/* 0BD530 7F088A00 C44829BC */ lwc1 $f8, 0x29bc($v0) -/* 0BD534 7F088A04 46004280 */ add.s $f10, $f8, $f0 -/* 0BD538 7F088A08 E7AA0050 */ swc1 $f10, 0x50($sp) -/* 0BD53C 7F088A0C E4400070 */ swc1 $f0, 0x70($v0) -/* 0BD540 7F088A10 0C002914 */ jal get_random_value -/* 0BD544 7F088A14 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 0BD548 7F088A18 44828000 */ mtc1 $v0, $f16 -/* 0BD54C 7F088A1C 3C018005 */ lui $at, %hi(D_80055284) -/* 0BD550 7F088A20 C42C5284 */ lwc1 $f12, %lo(D_80055284)($at) -/* 0BD554 7F088A24 C7A2003C */ lwc1 $f2, 0x3c($sp) -/* 0BD558 7F088A28 04410005 */ bgez $v0, .L7F088A40 -/* 0BD55C 7F088A2C 468084A0 */ cvt.s.w $f18, $f16 -/* 0BD560 7F088A30 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0BD564 7F088A34 44812000 */ mtc1 $at, $f4 -/* 0BD568 7F088A38 00000000 */ nop -/* 0BD56C 7F088A3C 46049480 */ add.s $f18, $f18, $f4 -.L7F088A40: -/* 0BD570 7F088A40 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0BD574 7F088A44 44813000 */ mtc1 $at, $f6 -/* 0BD578 7F088A48 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BD57C 7F088A4C 44815000 */ mtc1 $at, $f10 -/* 0BD580 7F088A50 46069202 */ mul.s $f8, $f18, $f6 -/* 0BD584 7F088A54 8E2B0000 */ lw $t3, ($s1) -/* 0BD588 7F088A58 3C018005 */ lui $at, %hi(D_80055288) -/* 0BD58C 7F088A5C 27A5004C */ addiu $a1, $sp, 0x4c -/* 0BD590 7F088A60 460C4002 */ mul.s $f0, $f8, $f12 -/* 0BD594 7F088A64 00000000 */ nop -/* 0BD598 7F088A68 460A0402 */ mul.s $f16, $f0, $f10 -/* 0BD59C 7F088A6C E7A00048 */ swc1 $f0, 0x48($sp) -/* 0BD5A0 7F088A70 460C8103 */ div.s $f4, $f16, $f12 -/* 0BD5A4 7F088A74 E5640148 */ swc1 $f4, 0x148($t3) -/* 0BD5A8 7F088A78 8E2C0000 */ lw $t4, ($s1) -/* 0BD5AC 7F088A7C E5820074 */ swc1 $f2, 0x74($t4) -/* 0BD5B0 7F088A80 C4325288 */ lwc1 $f18, %lo(D_80055288)($at) -/* 0BD5B4 7F088A84 8E2D0000 */ lw $t5, ($s1) -/* 0BD5B8 7F088A88 46121183 */ div.s $f6, $f2, $f18 -/* 0BD5BC 7F088A8C E5A6006C */ swc1 $f6, 0x6c($t5) -/* 0BD5C0 7F088A90 8E240000 */ lw $a0, ($s1) -/* 0BD5C4 7F088A94 8FA60044 */ lw $a2, 0x44($sp) -/* 0BD5C8 7F088A98 0FC1F1CC */ jal change_player_pos_to_target -/* 0BD5CC 7F088A9C 24840488 */ addiu $a0, $a0, 0x488 -/* 0BD5D0 7F088AA0 0FC15FAB */ jal sinf -/* 0BD5D4 7F088AA4 C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 0BD5D8 7F088AA8 8E390000 */ lw $t9, ($s1) -/* 0BD5DC 7F088AAC 46000207 */ neg.s $f8, $f0 -/* 0BD5E0 7F088AB0 44805000 */ mtc1 $zero, $f10 -/* 0BD5E4 7F088AB4 E7280498 */ swc1 $f8, 0x498($t9) -/* 0BD5E8 7F088AB8 8E380000 */ lw $t8, ($s1) -/* 0BD5EC 7F088ABC E70A049C */ swc1 $f10, 0x49c($t8) -/* 0BD5F0 7F088AC0 0FC15FA8 */ jal cosf -/* 0BD5F4 7F088AC4 C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 0BD5F8 7F088AC8 8E2E0000 */ lw $t6, ($s1) -/* 0BD5FC 7F088ACC 3C018005 */ lui $at, %hi(D_8005528C) -/* 0BD600 7F088AD0 C42C528C */ lwc1 $f12, %lo(D_8005528C)($at) -/* 0BD604 7F088AD4 E5C004A0 */ swc1 $f0, 0x4a0($t6) -/* 0BD608 7F088AD8 8E2F0000 */ lw $t7, ($s1) -/* 0BD60C 7F088ADC C7A2004C */ lwc1 $f2, 0x4c($sp) -/* 0BD610 7F088AE0 E5E20408 */ swc1 $f2, 0x408($t7) -/* 0BD614 7F088AE4 8E280000 */ lw $t0, ($s1) -/* 0BD618 7F088AE8 8D0900A8 */ lw $t1, 0xa8($t0) -/* 0BD61C 7F088AEC E5220008 */ swc1 $f2, 8($t1) -/* 0BD620 7F088AF0 8E2A0000 */ lw $t2, ($s1) -/* 0BD624 7F088AF4 C7A20050 */ lwc1 $f2, 0x50($sp) -/* 0BD628 7F088AF8 E542040C */ swc1 $f2, 0x40c($t2) -/* 0BD62C 7F088AFC 8E2B0000 */ lw $t3, ($s1) -/* 0BD630 7F088B00 8D6C00A8 */ lw $t4, 0xa8($t3) -/* 0BD634 7F088B04 E582000C */ swc1 $f2, 0xc($t4) -/* 0BD638 7F088B08 8E2D0000 */ lw $t5, ($s1) -/* 0BD63C 7F088B0C C7A20054 */ lwc1 $f2, 0x54($sp) -/* 0BD640 7F088B10 E5A20410 */ swc1 $f2, 0x410($t5) -/* 0BD644 7F088B14 8E390000 */ lw $t9, ($s1) -/* 0BD648 7F088B18 8F3800A8 */ lw $t8, 0xa8($t9) -/* 0BD64C 7F088B1C E7020010 */ swc1 $f2, 0x10($t8) -/* 0BD650 7F088B20 8E2F0000 */ lw $t7, ($s1) -/* 0BD654 7F088B24 8FAE0044 */ lw $t6, 0x44($sp) -/* 0BD658 7F088B28 8DE800A8 */ lw $t0, 0xa8($t7) -/* 0BD65C 7F088B2C AD0E0014 */ sw $t6, 0x14($t0) -/* 0BD660 7F088B30 8E220000 */ lw $v0, ($s1) -/* 0BD664 7F088B34 C45004B4 */ lwc1 $f16, 0x4b4($v0) -/* 0BD668 7F088B38 460C8103 */ div.s $f4, $f16, $f12 -/* 0BD66C 7F088B3C E44403B8 */ swc1 $f4, 0x3b8($v0) -/* 0BD670 7F088B40 8E220000 */ lw $v0, ($s1) -/* 0BD674 7F088B44 C45204B8 */ lwc1 $f18, 0x4b8($v0) -/* 0BD678 7F088B48 460C9183 */ div.s $f6, $f18, $f12 -/* 0BD67C 7F088B4C E44603BC */ swc1 $f6, 0x3bc($v0) -/* 0BD680 7F088B50 8E220000 */ lw $v0, ($s1) -/* 0BD684 7F088B54 C44804BC */ lwc1 $f8, 0x4bc($v0) -/* 0BD688 7F088B58 460C4283 */ div.s $f10, $f8, $f12 -/* 0BD68C 7F088B5C 0FC22FFC */ jal reinit_BONDdata_inventory -/* 0BD690 7F088B60 E44A03C0 */ swc1 $f10, 0x3c0($v0) -/* 0BD694 7F088B64 8E290000 */ lw $t1, ($s1) -/* 0BD698 7F088B68 24020008 */ li $v0, 8 -/* 0BD69C 7F088B6C 24030078 */ li $v1, 120 -/* 0BD6A0 7F088B70 AD201130 */ sw $zero, 0x1130($t1) -/* 0BD6A4 7F088B74 8E2A0000 */ lw $t2, ($s1) -/* 0BD6A8 7F088B78 AD401134 */ sw $zero, 0x1134($t2) -.L7F088B7C: -/* 0BD6AC 7F088B7C 8E2B0000 */ lw $t3, ($s1) -/* 0BD6B0 7F088B80 01626021 */ addu $t4, $t3, $v0 -/* 0BD6B4 7F088B84 AD801130 */ sw $zero, 0x1130($t4) -/* 0BD6B8 7F088B88 8E2D0000 */ lw $t5, ($s1) -/* 0BD6BC 7F088B8C 01A2C821 */ addu $t9, $t5, $v0 -/* 0BD6C0 7F088B90 AF201134 */ sw $zero, 0x1134($t9) -/* 0BD6C4 7F088B94 8E380000 */ lw $t8, ($s1) -/* 0BD6C8 7F088B98 03027821 */ addu $t7, $t8, $v0 -/* 0BD6CC 7F088B9C ADE01138 */ sw $zero, 0x1138($t7) -/* 0BD6D0 7F088BA0 8E2E0000 */ lw $t6, ($s1) -/* 0BD6D4 7F088BA4 01C24021 */ addu $t0, $t6, $v0 -/* 0BD6D8 7F088BA8 24420010 */ addiu $v0, $v0, 0x10 -/* 0BD6DC 7F088BAC 1443FFF3 */ bne $v0, $v1, .L7F088B7C -/* 0BD6E0 7F088BB0 AD00113C */ sw $zero, 0x113c($t0) -/* 0BD6E4 7F088BB4 52000036 */ beql $s0, $zero, .L7F088C90 -/* 0BD6E8 7F088BB8 44800000 */ mtc1 $zero, $f0 -/* 0BD6EC 7F088BBC 8E020000 */ lw $v0, ($s0) -/* 0BD6F0 7F088BC0 24010009 */ li $at, 9 -/* 0BD6F4 7F088BC4 10410031 */ beq $v0, $at, .L7F088C8C -/* 0BD6F8 7F088BC8 2C410007 */ sltiu $at, $v0, 7 -.L7F088BCC: -/* 0BD6FC 7F088BCC 1020002A */ beqz $at, .L7F088C78 -/* 0BD700 7F088BD0 00024880 */ sll $t1, $v0, 2 -/* 0BD704 7F088BD4 3C018005 */ lui $at, %hi(jpt_mpspawntype) -/* 0BD708 7F088BD8 00290821 */ addu $at, $at, $t1 -/* 0BD70C 7F088BDC 8C295290 */ lw $t1, %lo(jpt_mpspawntype)($at) -/* 0BD710 7F088BE0 01200008 */ jr $t1 -/* 0BD714 7F088BE4 00000000 */ nop -mp_spawntype_spawn: -/* 0BD718 7F088BE8 10000024 */ b .L7F088C7C -/* 0BD71C 7F088BEC 2610000C */ addiu $s0, $s0, 0xc -mp_spawntype_weapon: -/* 0BD720 7F088BF0 0FC30288 */ jal check_ramrom_flags -/* 0BD724 7F088BF4 00000000 */ nop -/* 0BD728 7F088BF8 8E0A000C */ lw $t2, 0xc($s0) -/* 0BD72C 7F088BFC 144A000A */ bne $v0, $t2, .L7F088C28 -/* 0BD730 7F088C00 00000000 */ nop -/* 0BD734 7F088C04 8E050008 */ lw $a1, 8($s0) -/* 0BD738 7F088C08 04A00005 */ bltz $a1, .L7F088C20 -/* 0BD73C 7F088C0C 00000000 */ nop -/* 0BD740 7F088C10 0FC23143 */ jal add_doubles_item_to_inventory -/* 0BD744 7F088C14 8E040004 */ lw $a0, 4($s0) -/* 0BD748 7F088C18 10000018 */ b .L7F088C7C -/* 0BD74C 7F088C1C 26100010 */ addiu $s0, $s0, 0x10 -.L7F088C20: -/* 0BD750 7F088C20 0FC23122 */ jal add_item_to_inventory -/* 0BD754 7F088C24 8E040004 */ lw $a0, 4($s0) -.L7F088C28: -/* 0BD758 7F088C28 10000014 */ b .L7F088C7C -/* 0BD75C 7F088C2C 26100010 */ addiu $s0, $s0, 0x10 -mp_spawntype_ammo: -/* 0BD760 7F088C30 0FC30288 */ jal check_ramrom_flags -/* 0BD764 7F088C34 00000000 */ nop -/* 0BD768 7F088C38 8E0B000C */ lw $t3, 0xc($s0) -/* 0BD76C 7F088C3C 144B0004 */ bne $v0, $t3, .L7F088C50 -/* 0BD770 7F088C40 00000000 */ nop -/* 0BD774 7F088C44 8E040004 */ lw $a0, 4($s0) -/* 0BD778 7F088C48 0FC1A44C */ jal give_cur_player_ammo -/* 0BD77C 7F088C4C 8E050008 */ lw $a1, 8($s0) -.L7F088C50: -/* 0BD780 7F088C50 1000000A */ b .L7F088C7C -/* 0BD784 7F088C54 26100010 */ addiu $s0, $s0, 0x10 -mp_spawntype_intro_swirly: -/* 0BD788 7F088C58 10000008 */ b .L7F088C7C -/* 0BD78C 7F088C5C 26100020 */ addiu $s0, $s0, 0x20 -mp_spawntype_intro_anim: -/* 0BD790 7F088C60 10000006 */ b .L7F088C7C -/* 0BD794 7F088C64 26100008 */ addiu $s0, $s0, 8 -mp_spawntype_handcuff: -/* 0BD798 7F088C68 10000004 */ b .L7F088C7C -/* 0BD79C 7F088C6C 26100008 */ addiu $s0, $s0, 8 -mp_spawntype_intro_camera: -/* 0BD7A0 7F088C70 10000002 */ b .L7F088C7C -/* 0BD7A4 7F088C74 26100028 */ addiu $s0, $s0, 0x28 -mp_spawntype_default: -.L7F088C78: -/* 0BD7A8 7F088C78 26100004 */ addiu $s0, $s0, 4 -.L7F088C7C: -/* 0BD7AC 7F088C7C 8E020000 */ lw $v0, ($s0) -/* 0BD7B0 7F088C80 24010009 */ li $at, 9 -/* 0BD7B4 7F088C84 5441FFD1 */ bnel $v0, $at, .L7F088BCC -/* 0BD7B8 7F088C88 2C410007 */ sltiu $at, $v0, 7 -.L7F088C8C: -/* 0BD7BC 7F088C8C 44800000 */ mtc1 $zero, $f0 -.L7F088C90: -/* 0BD7C0 7F088C90 8E2C0000 */ lw $t4, ($s1) -/* 0BD7C4 7F088C94 3C018005 */ lui $at, %hi(D_800552AC) -/* 0BD7C8 7F088C98 E5800078 */ swc1 $f0, 0x78($t4) -/* 0BD7CC 7F088C9C 8E2D0000 */ lw $t5, ($s1) -/* 0BD7D0 7F088CA0 C43052AC */ lwc1 $f16, %lo(D_800552AC)($at) -/* 0BD7D4 7F088CA4 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0BD7D8 7F088CA8 44816000 */ mtc1 $at, $f12 -/* 0BD7DC 7F088CAC E5B0007C */ swc1 $f16, 0x7c($t5) -/* 0BD7E0 7F088CB0 8E390000 */ lw $t9, ($s1) -/* 0BD7E4 7F088CB4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BD7E8 7F088CB8 44817000 */ mtc1 $at, $f14 -/* 0BD7EC 7F088CBC 0FC20284 */ jal set_curplayer_fade -/* 0BD7F0 7F088CC0 E7200080 */ swc1 $f0, 0x80($t9) -/* 0BD7F4 7F088CC4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BD7F8 7F088CC8 8FB00014 */ lw $s0, 0x14($sp) -/* 0BD7FC 7F088CCC 8FB10018 */ lw $s1, 0x18($sp) -/* 0BD800 7F088CD0 03E00008 */ jr $ra -/* 0BD804 7F088CD4 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F088CD8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F088CD8 -/* 0BD808 7F088CD8 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0BD80C 7F088CDC AFBF005C */ sw $ra, 0x5c($sp) -/* 0BD810 7F088CE0 AFB5004C */ sw $s5, 0x4c($sp) -/* 0BD814 7F088CE4 0080A825 */ move $s5, $a0 -/* 0BD818 7F088CE8 AFBE0058 */ sw $fp, 0x58($sp) -/* 0BD81C 7F088CEC AFB70054 */ sw $s7, 0x54($sp) -/* 0BD820 7F088CF0 AFB60050 */ sw $s6, 0x50($sp) -/* 0BD824 7F088CF4 AFB40048 */ sw $s4, 0x48($sp) -/* 0BD828 7F088CF8 AFB30044 */ sw $s3, 0x44($sp) -/* 0BD82C 7F088CFC AFB20040 */ sw $s2, 0x40($sp) -/* 0BD830 7F088D00 AFB1003C */ sw $s1, 0x3c($sp) -/* 0BD834 7F088D04 0C001A57 */ jal get_stage_num -/* 0BD838 7F088D08 AFB00038 */ sw $s0, 0x38($sp) -/* 0BD83C 7F088D0C 24010036 */ li $at, 54 -/* 0BD840 7F088D10 14410130 */ bne $v0, $at, .L7F0891D4 -/* 0BD844 7F088D14 3C108003 */ lui $s0, %hi(D_8003643C) -/* 0BD848 7F088D18 2610643C */ addiu $s0, %lo(D_8003643C) # addiu $s0, $s0, 0x643c -/* 0BD84C 7F088D1C 8E0E0000 */ lw $t6, ($s0) -/* 0BD850 7F088D20 24010001 */ li $at, 1 -/* 0BD854 7F088D24 3C0F8003 */ lui $t7, %hi(D_80036440) -/* 0BD858 7F088D28 55C1012B */ bnel $t6, $at, .L7F0891D8 -/* 0BD85C 7F088D2C 8FBF005C */ lw $ra, 0x5c($sp) -/* 0BD860 7F088D30 8DEF6440 */ lw $t7, %lo(D_80036440)($t7) -/* 0BD864 7F088D34 3C028003 */ lui $v0, %hi(camera_80036438) -/* 0BD868 7F088D38 24426438 */ addiu $v0, %lo(camera_80036438) # addiu $v0, $v0, 0x6438 -/* 0BD86C 7F088D3C 11E00125 */ beqz $t7, .L7F0891D4 -/* 0BD870 7F088D40 241600DC */ li $s6, 220 -/* 0BD874 7F088D44 8C580000 */ lw $t8, ($v0) -/* 0BD878 7F088D48 241700DC */ li $s7, 220 -/* 0BD87C 7F088D4C AFA00084 */ sw $zero, 0x84($sp) -/* 0BD880 7F088D50 27190001 */ addiu $t9, $t8, 1 -/* 0BD884 7F088D54 AFA00080 */ sw $zero, 0x80($sp) -/* 0BD888 7F088D58 AC590000 */ sw $t9, ($v0) -/* 0BD88C 7F088D5C AFB900B4 */ sw $t9, 0xb4($sp) -/* 0BD890 7F088D60 0FC2B366 */ jal microcode_constructor -/* 0BD894 7F088D64 02A02025 */ move $a0, $s5 -/* 0BD898 7F088D68 0C00112B */ jal get_video2_settings_height -/* 0BD89C 7F088D6C 0040A825 */ move $s5, $v0 -/* 0BD8A0 7F088D70 8FAA00B4 */ lw $t2, 0xb4($sp) -/* 0BD8A4 7F088D74 3C048003 */ lui $a0, %hi(D_80036440) -/* 0BD8A8 7F088D78 01421823 */ subu $v1, $t2, $v0 -/* 0BD8AC 7F088D7C 04610003 */ bgez $v1, .L7F088D8C -/* 0BD8B0 7F088D80 00035903 */ sra $t3, $v1, 4 -/* 0BD8B4 7F088D84 2461000F */ addiu $at, $v1, 0xf -/* 0BD8B8 7F088D88 00015903 */ sra $t3, $at, 4 -.L7F088D8C: -/* 0BD8BC 7F088D8C 01601825 */ move $v1, $t3 -/* 0BD8C0 7F088D90 01603025 */ move $a2, $t3 -/* 0BD8C4 7F088D94 05410003 */ bgez $t2, .L7F088DA4 -/* 0BD8C8 7F088D98 000A6103 */ sra $t4, $t2, 4 -/* 0BD8CC 7F088D9C 2541000F */ addiu $at, $t2, 0xf -/* 0BD8D0 7F088DA0 00016103 */ sra $t4, $at, 4 -.L7F088DA4: -/* 0BD8D4 7F088DA4 258D0001 */ addiu $t5, $t4, 1 -/* 0BD8D8 7F088DA8 04610002 */ bgez $v1, .L7F088DB4 -/* 0BD8DC 7F088DAC AFAD0090 */ sw $t5, 0x90($sp) -/* 0BD8E0 7F088DB0 00003025 */ move $a2, $zero -.L7F088DB4: -/* 0BD8E4 7F088DB4 18C00024 */ blez $a2, .L7F088E48 -/* 0BD8E8 7F088DB8 00009825 */ move $s3, $zero -/* 0BD8EC 7F088DBC 8C846440 */ lw $a0, %lo(D_80036440)($a0) -.L7F088DC0: -/* 0BD8F0 7F088DC0 94820000 */ lhu $v0, ($a0) -/* 0BD8F4 7F088DC4 24015011 */ li $at, 20497 -/* 0BD8F8 7F088DC8 14400008 */ bnez $v0, .L7F088DEC -/* 0BD8FC 7F088DCC 00000000 */ nop -/* 0BD900 7F088DD0 948E0002 */ lhu $t6, 2($a0) -/* 0BD904 7F088DD4 15C00005 */ bnez $t6, .L7F088DEC -/* 0BD908 7F088DD8 240F0002 */ li $t7, 2 -/* 0BD90C 7F088DDC AFB30090 */ sw $s3, 0x90($sp) -/* 0BD910 7F088DE0 02603025 */ move $a2, $s3 -/* 0BD914 7F088DE4 10000018 */ b .L7F088E48 -/* 0BD918 7F088DE8 AE0F0000 */ sw $t7, ($s0) -.L7F088DEC: -/* 0BD91C 7F088DEC 10410009 */ beq $v0, $at, .L7F088E14 -/* 0BD920 7F088DF0 94850002 */ lhu $a1, 2($a0) -/* 0BD924 7F088DF4 84830004 */ lh $v1, 4($a0) -/* 0BD928 7F088DF8 04620003 */ bltzl $v1, .L7F088E08 -/* 0BD92C 7F088DFC 84820006 */ lh $v0, 6($a0) -/* 0BD930 7F088E00 0060B025 */ move $s6, $v1 -/* 0BD934 7F088E04 84820006 */ lh $v0, 6($a0) -.L7F088E08: -/* 0BD938 7F088E08 04420003 */ bltzl $v0, .L7F088E18 -/* 0BD93C 7F088E0C 24015011 */ li $at, 20497 -/* 0BD940 7F088E10 AFA20084 */ sw $v0, 0x84($sp) -.L7F088E14: -/* 0BD944 7F088E14 24015011 */ li $at, 20497 -.L7F088E18: -/* 0BD948 7F088E18 10A10009 */ beq $a1, $at, .L7F088E40 -/* 0BD94C 7F088E1C 26730001 */ addiu $s3, $s3, 1 -/* 0BD950 7F088E20 84830008 */ lh $v1, 8($a0) -/* 0BD954 7F088E24 04620003 */ bltzl $v1, .L7F088E34 -/* 0BD958 7F088E28 8482000A */ lh $v0, 0xa($a0) -/* 0BD95C 7F088E2C 0060B825 */ move $s7, $v1 -/* 0BD960 7F088E30 8482000A */ lh $v0, 0xa($a0) -.L7F088E34: -/* 0BD964 7F088E34 04400002 */ bltz $v0, .L7F088E40 -/* 0BD968 7F088E38 00000000 */ nop -/* 0BD96C 7F088E3C AFA20080 */ sw $v0, 0x80($sp) -.L7F088E40: -/* 0BD970 7F088E40 1666FFDF */ bne $s3, $a2, .L7F088DC0 -/* 0BD974 7F088E44 2484000C */ addiu $a0, $a0, 0xc -.L7F088E48: -/* 0BD978 7F088E48 8FB80090 */ lw $t8, 0x90($sp) -/* 0BD97C 7F088E4C 00C09825 */ move $s3, $a2 -/* 0BD980 7F088E50 2405000C */ li $a1, 12 -/* 0BD984 7F088E54 00D8082A */ slt $at, $a2, $t8 -/* 0BD988 7F088E58 102000DB */ beqz $at, .L7F0891C8 -/* 0BD98C 7F088E5C 00000000 */ nop -/* 0BD990 7F088E60 00C50019 */ multu $a2, $a1 -/* 0BD994 7F088E64 3C038003 */ lui $v1, %hi(D_80036440) -/* 0BD998 7F088E68 8C636440 */ lw $v1, %lo(D_80036440)($v1) -/* 0BD99C 7F088E6C 0000A012 */ mflo $s4 -/* 0BD9A0 7F088E70 00742021 */ addu $a0, $v1, $s4 -/* 0BD9A4 7F088E74 94820000 */ lhu $v0, ($a0) -/* 0BD9A8 7F088E78 14400007 */ bnez $v0, .L7F088E98 -/* 0BD9AC 7F088E7C 00000000 */ nop -/* 0BD9B0 7F088E80 00C50019 */ multu $a2, $a1 -/* 0BD9B4 7F088E84 0000C812 */ mflo $t9 -/* 0BD9B8 7F088E88 00794821 */ addu $t1, $v1, $t9 -/* 0BD9BC 7F088E8C 952B0002 */ lhu $t3, 2($t1) -/* 0BD9C0 7F088E90 116000CD */ beqz $t3, .L7F0891C8 -/* 0BD9C4 7F088E94 00000000 */ nop -.L7F088E98: -/* 0BD9C8 7F088E98 3C1E8004 */ lui $fp, %hi(ptrSecondFontTableLarge) -/* 0BD9CC 7F088E9C 24015011 */ li $at, 20497 -/* 0BD9D0 7F088EA0 1041005E */ beq $v0, $at, .L7F08901C -/* 0BD9D4 7F088EA4 27DE0EB8 */ addiu $fp, %lo(ptrSecondFontTableLarge) # addiu $fp, $fp, 0xeb8 -/* 0BD9D8 7F088EA8 00402025 */ move $a0, $v0 -/* 0BD9DC 7F088EAC 0FC30776 */ jal get_textptr_for_textID -/* 0BD9E0 7F088EB0 00138900 */ sll $s1, $s3, 4 -/* 0BD9E4 7F088EB4 3C0A8003 */ lui $t2, %hi(D_80036440) -/* 0BD9E8 7F088EB8 8D4A6440 */ lw $t2, %lo(D_80036440)($t2) -/* 0BD9EC 7F088EBC 00409025 */ move $s2, $v0 -/* 0BD9F0 7F088EC0 01542021 */ addu $a0, $t2, $s4 -/* 0BD9F4 7F088EC4 84830004 */ lh $v1, 4($a0) -/* 0BD9F8 7F088EC8 04620003 */ bltzl $v1, .L7F088ED8 -/* 0BD9FC 7F088ECC 84820006 */ lh $v0, 6($a0) -/* 0BDA00 7F088ED0 0060B025 */ move $s6, $v1 -/* 0BDA04 7F088ED4 84820006 */ lh $v0, 6($a0) -.L7F088ED8: -/* 0BDA08 7F088ED8 04400002 */ bltz $v0, .L7F088EE4 -/* 0BDA0C 7F088EDC 00000000 */ nop -/* 0BDA10 7F088EE0 AFA20084 */ sw $v0, 0x84($sp) -.L7F088EE4: -/* 0BDA14 7F088EE4 0C00112B */ jal get_video2_settings_height -/* 0BDA18 7F088EE8 00000000 */ nop -/* 0BDA1C 7F088EEC 00028400 */ sll $s0, $v0, 0x10 -/* 0BDA20 7F088EF0 00106403 */ sra $t4, $s0, 0x10 -/* 0BDA24 7F088EF4 0C001149 */ jal get_video2_settings_uly -/* 0BDA28 7F088EF8 01808025 */ move $s0, $t4 -/* 0BDA2C 7F088EFC 8FAE00B4 */ lw $t6, 0xb4($sp) -/* 0BDA30 7F088F00 00516821 */ addu $t5, $v0, $s1 -/* 0BDA34 7F088F04 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 0BDA38 7F088F08 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 0BDA3C 7F088F0C 01AE7823 */ subu $t7, $t5, $t6 -/* 0BDA40 7F088F10 01F0C021 */ addu $t8, $t7, $s0 -/* 0BDA44 7F088F14 AFB800A8 */ sw $t8, 0xa8($sp) -/* 0BDA48 7F088F18 AFA0009C */ sw $zero, 0x9c($sp) -/* 0BDA4C 7F088F1C 27A4009C */ addiu $a0, $sp, 0x9c -/* 0BDA50 7F088F20 27A50098 */ addiu $a1, $sp, 0x98 -/* 0BDA54 7F088F24 02403025 */ move $a2, $s2 -/* 0BDA58 7F088F28 8FC70000 */ lw $a3, ($fp) -/* 0BDA5C 7F088F2C AFA00014 */ sw $zero, 0x14($sp) -/* 0BDA60 7F088F30 AFA00098 */ sw $zero, 0x98($sp) -/* 0BDA64 7F088F34 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0BDA68 7F088F38 AFB90010 */ sw $t9, 0x10($sp) -/* 0BDA6C 7F088F3C 8FAA0084 */ lw $t2, 0x84($sp) -/* 0BDA70 7F088F40 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0BDA74 7F088F44 8FAB009C */ lw $t3, 0x9c($sp) -/* 0BDA78 7F088F48 24010001 */ li $at, 1 -/* 0BDA7C 7F088F4C 15410005 */ bne $t2, $at, .L7F088F64 -/* 0BDA80 7F088F50 012B1821 */ addu $v1, $t1, $t3 -/* 0BDA84 7F088F54 8FA80098 */ lw $t0, 0x98($sp) -/* 0BDA88 7F088F58 02C01025 */ move $v0, $s6 -/* 0BDA8C 7F088F5C 1000000C */ b .L7F088F90 -/* 0BDA90 7F088F60 02C82823 */ subu $a1, $s6, $t0 -.L7F088F64: -/* 0BDA94 7F088F64 8FAC0084 */ lw $t4, 0x84($sp) -/* 0BDA98 7F088F68 24010002 */ li $at, 2 -/* 0BDA9C 7F088F6C 8FA80098 */ lw $t0, 0x98($sp) -/* 0BDAA0 7F088F70 15810006 */ bne $t4, $at, .L7F088F8C -/* 0BDAA4 7F088F74 02C02825 */ move $a1, $s6 -/* 0BDAA8 7F088F78 8FA80098 */ lw $t0, 0x98($sp) -/* 0BDAAC 7F088F7C 00086843 */ sra $t5, $t0, 1 -/* 0BDAB0 7F088F80 02CD2823 */ subu $a1, $s6, $t5 -/* 0BDAB4 7F088F84 10000002 */ b .L7F088F90 -/* 0BDAB8 7F088F88 00A81021 */ addu $v0, $a1, $t0 -.L7F088F8C: -/* 0BDABC 7F088F8C 02C81021 */ addu $v0, $s6, $t0 -.L7F088F90: -/* 0BDAC0 7F088F90 8FA600A8 */ lw $a2, 0xa8($sp) -/* 0BDAC4 7F088F94 246E0001 */ addiu $t6, $v1, 1 -/* 0BDAC8 7F088F98 AFAE0010 */ sw $t6, 0x10($sp) -/* 0BDACC 7F088F9C 02A02025 */ move $a0, $s5 -/* 0BDAD0 7F088FA0 24470001 */ addiu $a3, $v0, 1 -/* 0BDAD4 7F088FA4 AFA00014 */ sw $zero, 0x14($sp) -/* 0BDAD8 7F088FA8 AFA500AC */ sw $a1, 0xac($sp) -/* 0BDADC 7F088FAC 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0BDAE0 7F088FB0 24C6FFFF */ addiu $a2, $a2, -1 -/* 0BDAE4 7F088FB4 0C001107 */ jal get_video2_settings_txtClipW -/* 0BDAE8 7F088FB8 0040A825 */ move $s5, $v0 -/* 0BDAEC 7F088FBC 00028400 */ sll $s0, $v0, 0x10 -/* 0BDAF0 7F088FC0 00107C03 */ sra $t7, $s0, 0x10 -/* 0BDAF4 7F088FC4 0C00110B */ jal get_video2_settings_txtClipH -/* 0BDAF8 7F088FC8 01E08025 */ move $s0, $t7 -/* 0BDAFC 7F088FCC 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 0BDB00 7F088FD0 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 0BDB04 7F088FD4 8FD80000 */ lw $t8, ($fp) -/* 0BDB08 7F088FD8 2409FFFF */ li $t1, -1 -/* 0BDB0C 7F088FDC AFA90018 */ sw $t1, 0x18($sp) -/* 0BDB10 7F088FE0 02A02025 */ move $a0, $s5 -/* 0BDB14 7F088FE4 27A500AC */ addiu $a1, $sp, 0xac -/* 0BDB18 7F088FE8 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 0BDB1C 7F088FEC 02403825 */ move $a3, $s2 -/* 0BDB20 7F088FF0 AFB0001C */ sw $s0, 0x1c($sp) -/* 0BDB24 7F088FF4 AFA20020 */ sw $v0, 0x20($sp) -/* 0BDB28 7F088FF8 AFA00024 */ sw $zero, 0x24($sp) -/* 0BDB2C 7F088FFC AFA00028 */ sw $zero, 0x28($sp) -/* 0BDB30 7F089000 AFB90014 */ sw $t9, 0x14($sp) -/* 0BDB34 7F089004 0FC2B6AF */ jal en_text_write_stuff -/* 0BDB38 7F089008 AFB80010 */ sw $t8, 0x10($sp) -/* 0BDB3C 7F08900C 3C0B8003 */ lui $t3, %hi(D_80036440) -/* 0BDB40 7F089010 8D6B6440 */ lw $t3, %lo(D_80036440)($t3) -/* 0BDB44 7F089014 0040A825 */ move $s5, $v0 -/* 0BDB48 7F089018 01742021 */ addu $a0, $t3, $s4 -.L7F08901C: -/* 0BDB4C 7F08901C 94850002 */ lhu $a1, 2($a0) -/* 0BDB50 7F089020 24015011 */ li $at, 20497 -/* 0BDB54 7F089024 10A1005A */ beq $a1, $at, .L7F089190 -/* 0BDB58 7F089028 00A02025 */ move $a0, $a1 -/* 0BDB5C 7F08902C 0FC30776 */ jal get_textptr_for_textID -/* 0BDB60 7F089030 00138900 */ sll $s1, $s3, 4 -/* 0BDB64 7F089034 3C0A8003 */ lui $t2, %hi(D_80036440) -/* 0BDB68 7F089038 8D4A6440 */ lw $t2, %lo(D_80036440)($t2) -/* 0BDB6C 7F08903C 00409025 */ move $s2, $v0 -/* 0BDB70 7F089040 01542021 */ addu $a0, $t2, $s4 -/* 0BDB74 7F089044 84830008 */ lh $v1, 8($a0) -/* 0BDB78 7F089048 04620003 */ bltzl $v1, .L7F089058 -/* 0BDB7C 7F08904C 8482000A */ lh $v0, 0xa($a0) -/* 0BDB80 7F089050 0060B825 */ move $s7, $v1 -/* 0BDB84 7F089054 8482000A */ lh $v0, 0xa($a0) -.L7F089058: -/* 0BDB88 7F089058 04400002 */ bltz $v0, .L7F089064 -/* 0BDB8C 7F08905C 00000000 */ nop -/* 0BDB90 7F089060 AFA20080 */ sw $v0, 0x80($sp) -.L7F089064: -/* 0BDB94 7F089064 0C00112B */ jal get_video2_settings_height -/* 0BDB98 7F089068 00000000 */ nop -/* 0BDB9C 7F08906C 00028400 */ sll $s0, $v0, 0x10 -/* 0BDBA0 7F089070 00106403 */ sra $t4, $s0, 0x10 -/* 0BDBA4 7F089074 0C001149 */ jal get_video2_settings_uly -/* 0BDBA8 7F089078 01808025 */ move $s0, $t4 -/* 0BDBAC 7F08907C 8FAE00B4 */ lw $t6, 0xb4($sp) -/* 0BDBB0 7F089080 00516821 */ addu $t5, $v0, $s1 -/* 0BDBB4 7F089084 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 0BDBB8 7F089088 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 0BDBBC 7F08908C 01AE7823 */ subu $t7, $t5, $t6 -/* 0BDBC0 7F089090 01F0C021 */ addu $t8, $t7, $s0 -/* 0BDBC4 7F089094 AFB800A8 */ sw $t8, 0xa8($sp) -/* 0BDBC8 7F089098 AFA0009C */ sw $zero, 0x9c($sp) -/* 0BDBCC 7F08909C 27A4009C */ addiu $a0, $sp, 0x9c -/* 0BDBD0 7F0890A0 27A50098 */ addiu $a1, $sp, 0x98 -/* 0BDBD4 7F0890A4 02403025 */ move $a2, $s2 -/* 0BDBD8 7F0890A8 8FC70000 */ lw $a3, ($fp) -/* 0BDBDC 7F0890AC AFA00014 */ sw $zero, 0x14($sp) -/* 0BDBE0 7F0890B0 AFA00098 */ sw $zero, 0x98($sp) -/* 0BDBE4 7F0890B4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0BDBE8 7F0890B8 AFB90010 */ sw $t9, 0x10($sp) -/* 0BDBEC 7F0890BC 8FAA0080 */ lw $t2, 0x80($sp) -/* 0BDBF0 7F0890C0 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0BDBF4 7F0890C4 8FAB009C */ lw $t3, 0x9c($sp) -/* 0BDBF8 7F0890C8 24010001 */ li $at, 1 -/* 0BDBFC 7F0890CC 15410005 */ bne $t2, $at, .L7F0890E4 -/* 0BDC00 7F0890D0 012B1821 */ addu $v1, $t1, $t3 -/* 0BDC04 7F0890D4 8FA80098 */ lw $t0, 0x98($sp) -/* 0BDC08 7F0890D8 02E01025 */ move $v0, $s7 -/* 0BDC0C 7F0890DC 1000000C */ b .L7F089110 -/* 0BDC10 7F0890E0 02E82823 */ subu $a1, $s7, $t0 -.L7F0890E4: -/* 0BDC14 7F0890E4 8FAC0080 */ lw $t4, 0x80($sp) -/* 0BDC18 7F0890E8 24010002 */ li $at, 2 -/* 0BDC1C 7F0890EC 8FA80098 */ lw $t0, 0x98($sp) -/* 0BDC20 7F0890F0 15810006 */ bne $t4, $at, .L7F08910C -/* 0BDC24 7F0890F4 02E02825 */ move $a1, $s7 -/* 0BDC28 7F0890F8 8FA80098 */ lw $t0, 0x98($sp) -/* 0BDC2C 7F0890FC 00086843 */ sra $t5, $t0, 1 -/* 0BDC30 7F089100 02ED2823 */ subu $a1, $s7, $t5 -/* 0BDC34 7F089104 10000002 */ b .L7F089110 -/* 0BDC38 7F089108 00A81021 */ addu $v0, $a1, $t0 -.L7F08910C: -/* 0BDC3C 7F08910C 02E81021 */ addu $v0, $s7, $t0 -.L7F089110: -/* 0BDC40 7F089110 8FA600A8 */ lw $a2, 0xa8($sp) -/* 0BDC44 7F089114 246E0001 */ addiu $t6, $v1, 1 -/* 0BDC48 7F089118 AFAE0010 */ sw $t6, 0x10($sp) -/* 0BDC4C 7F08911C 02A02025 */ move $a0, $s5 -/* 0BDC50 7F089120 24470001 */ addiu $a3, $v0, 1 -/* 0BDC54 7F089124 AFA00014 */ sw $zero, 0x14($sp) -/* 0BDC58 7F089128 AFA500AC */ sw $a1, 0xac($sp) -/* 0BDC5C 7F08912C 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0BDC60 7F089130 24C6FFFF */ addiu $a2, $a2, -1 -/* 0BDC64 7F089134 0C001107 */ jal get_video2_settings_txtClipW -/* 0BDC68 7F089138 0040A825 */ move $s5, $v0 -/* 0BDC6C 7F08913C 00028400 */ sll $s0, $v0, 0x10 -/* 0BDC70 7F089140 00107C03 */ sra $t7, $s0, 0x10 -/* 0BDC74 7F089144 0C00110B */ jal get_video2_settings_txtClipH -/* 0BDC78 7F089148 01E08025 */ move $s0, $t7 -/* 0BDC7C 7F08914C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 0BDC80 7F089150 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 0BDC84 7F089154 8FD80000 */ lw $t8, ($fp) -/* 0BDC88 7F089158 2409FFFF */ li $t1, -1 -/* 0BDC8C 7F08915C AFA90018 */ sw $t1, 0x18($sp) -/* 0BDC90 7F089160 02A02025 */ move $a0, $s5 -/* 0BDC94 7F089164 27A500AC */ addiu $a1, $sp, 0xac -/* 0BDC98 7F089168 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 0BDC9C 7F08916C 02403825 */ move $a3, $s2 -/* 0BDCA0 7F089170 AFB0001C */ sw $s0, 0x1c($sp) -/* 0BDCA4 7F089174 AFA20020 */ sw $v0, 0x20($sp) -/* 0BDCA8 7F089178 AFA00024 */ sw $zero, 0x24($sp) -/* 0BDCAC 7F08917C AFA00028 */ sw $zero, 0x28($sp) -/* 0BDCB0 7F089180 AFB90014 */ sw $t9, 0x14($sp) -/* 0BDCB4 7F089184 0FC2B6AF */ jal en_text_write_stuff -/* 0BDCB8 7F089188 AFB80010 */ sw $t8, 0x10($sp) -/* 0BDCBC 7F08918C 0040A825 */ move $s5, $v0 -.L7F089190: -/* 0BDCC0 7F089190 8FAB0090 */ lw $t3, 0x90($sp) -/* 0BDCC4 7F089194 26730001 */ addiu $s3, $s3, 1 -/* 0BDCC8 7F089198 2694000C */ addiu $s4, $s4, 0xc -/* 0BDCCC 7F08919C 026B082A */ slt $at, $s3, $t3 -/* 0BDCD0 7F0891A0 10200009 */ beqz $at, .L7F0891C8 -/* 0BDCD4 7F0891A4 3C0A8003 */ lui $t2, %hi(D_80036440) -/* 0BDCD8 7F0891A8 8D4A6440 */ lw $t2, %lo(D_80036440)($t2) -/* 0BDCDC 7F0891AC 01542021 */ addu $a0, $t2, $s4 -/* 0BDCE0 7F0891B0 94820000 */ lhu $v0, ($a0) -/* 0BDCE4 7F0891B4 1440FF38 */ bnez $v0, .L7F088E98 -/* 0BDCE8 7F0891B8 00000000 */ nop -/* 0BDCEC 7F0891BC 948C0002 */ lhu $t4, 2($a0) -/* 0BDCF0 7F0891C0 1580FF35 */ bnez $t4, .L7F088E98 -/* 0BDCF4 7F0891C4 00000000 */ nop -.L7F0891C8: -/* 0BDCF8 7F0891C8 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 0BDCFC 7F0891CC 02A02025 */ move $a0, $s5 -/* 0BDD00 7F0891D0 0040A825 */ move $s5, $v0 -.L7F0891D4: -/* 0BDD04 7F0891D4 8FBF005C */ lw $ra, 0x5c($sp) -.L7F0891D8: -/* 0BDD08 7F0891D8 02A01025 */ move $v0, $s5 -/* 0BDD0C 7F0891DC 8FB5004C */ lw $s5, 0x4c($sp) -/* 0BDD10 7F0891E0 8FB00038 */ lw $s0, 0x38($sp) -/* 0BDD14 7F0891E4 8FB1003C */ lw $s1, 0x3c($sp) -/* 0BDD18 7F0891E8 8FB20040 */ lw $s2, 0x40($sp) -/* 0BDD1C 7F0891EC 8FB30044 */ lw $s3, 0x44($sp) -/* 0BDD20 7F0891F0 8FB40048 */ lw $s4, 0x48($sp) -/* 0BDD24 7F0891F4 8FB60050 */ lw $s6, 0x50($sp) -/* 0BDD28 7F0891F8 8FB70054 */ lw $s7, 0x54($sp) -/* 0BDD2C 7F0891FC 8FBE0058 */ lw $fp, 0x58($sp) -/* 0BDD30 7F089200 03E00008 */ jr $ra -/* 0BDD34 7F089204 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void maybe_mp_interface(void) { - -} -#else -GLOBAL_ASM( -.text -glabel maybe_mp_interface -/* 0BDD38 7F089208 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BDD3C 7F08920C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BDD40 7F089210 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0BDD44 7F089214 AFBF001C */ sw $ra, 0x1c($sp) -/* 0BDD48 7F089218 AFA40058 */ sw $a0, 0x58($sp) -/* 0BDD4C 7F08921C 8DCF0000 */ lw $t7, ($t6) -/* 0BDD50 7F089220 24010001 */ li $at, 1 -/* 0BDD54 7F089224 15E10014 */ bne $t7, $at, .L7F089278 -/* 0BDD58 7F089228 00000000 */ nop -/* 0BDD5C 7F08922C 0FC22939 */ jal sub_GAME_7F08A4E4 -/* 0BDD60 7F089230 00000000 */ nop -/* 0BDD64 7F089234 0FC2297F */ jal sub_GAME_7F08A5FC -/* 0BDD68 7F089238 8FA40058 */ lw $a0, 0x58($sp) -/* 0BDD6C 7F08923C 0FC22A7E */ jal sub_GAME_7F08A9F8 -/* 0BDD70 7F089240 AFA20058 */ sw $v0, 0x58($sp) -/* 0BDD74 7F089244 0FC22ABA */ jal sub_GAME_7F08AAE8 -/* 0BDD78 7F089248 8FA40058 */ lw $a0, 0x58($sp) -/* 0BDD7C 7F08924C AFA20058 */ sw $v0, 0x58($sp) -/* 0BDD80 7F089250 0FC15884 */ jal sub_GAME_7F056210 -/* 0BDD84 7F089254 00402025 */ move $a0, $v0 -/* 0BDD88 7F089258 AFA20058 */ sw $v0, 0x58($sp) -/* 0BDD8C 7F08925C 0FC20138 */ jal sub_GAME_7F0804E0 -/* 0BDD90 7F089260 00402025 */ move $a0, $v0 -/* 0BDD94 7F089264 AFA20058 */ sw $v0, 0x58($sp) -/* 0BDD98 7F089268 0FC22336 */ jal sub_GAME_7F088CD8 -/* 0BDD9C 7F08926C 00402025 */ move $a0, $v0 -/* 0BDDA0 7F089270 10000110 */ b .L7F0896B4 -/* 0BDDA4 7F089274 8FBF001C */ lw $ra, 0x1c($sp) -.L7F089278: -/* 0BDDA8 7F089278 0FC18648 */ jal sub_GAME_7F061920 -/* 0BDDAC 7F08927C 00000000 */ nop -/* 0BDDB0 7F089280 0FC1A423 */ jal sub_GAME_7F06908C -/* 0BDDB4 7F089284 27A40058 */ addiu $a0, $sp, 0x58 -/* 0BDDB8 7F089288 0FC18AF9 */ jal sub_GAME_7F062BE4 -/* 0BDDBC 7F08928C 27A40058 */ addiu $a0, $sp, 0x58 -/* 0BDDC0 7F089290 0FC21F9D */ jal sub_GAME_7F087E74 -/* 0BDDC4 7F089294 8FA40058 */ lw $a0, 0x58($sp) -/* 0BDDC8 7F089298 3C188008 */ lui $t8, %hi(pPlayer) -/* 0BDDCC 7F08929C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0BDDD0 7F0892A0 AFA20058 */ sw $v0, 0x58($sp) -/* 0BDDD4 7F0892A4 8F1929C4 */ lw $t9, 0x29c4($t8) -/* 0BDDD8 7F0892A8 1320001F */ beqz $t9, .L7F089328 -/* 0BDDDC 7F0892AC 00000000 */ nop -/* 0BDDE0 7F0892B0 0C001145 */ jal get_video2_settings_ulx -/* 0BDDE4 7F0892B4 00000000 */ nop -/* 0BDDE8 7F0892B8 0C001149 */ jal get_video2_settings_uly -/* 0BDDEC 7F0892BC AFA20054 */ sw $v0, 0x54($sp) -/* 0BDDF0 7F0892C0 0C001145 */ jal get_video2_settings_ulx -/* 0BDDF4 7F0892C4 AFA20050 */ sw $v0, 0x50($sp) -/* 0BDDF8 7F0892C8 0C001127 */ jal get_video2_settings_width -/* 0BDDFC 7F0892CC A7A2002E */ sh $v0, 0x2e($sp) -/* 0BDE00 7F0892D0 87A8002E */ lh $t0, 0x2e($sp) -/* 0BDE04 7F0892D4 00484821 */ addu $t1, $v0, $t0 -/* 0BDE08 7F0892D8 0C001149 */ jal get_video2_settings_uly -/* 0BDE0C 7F0892DC AFA9004C */ sw $t1, 0x4c($sp) -/* 0BDE10 7F0892E0 0C00112B */ jal get_video2_settings_height -/* 0BDE14 7F0892E4 A7A2002E */ sh $v0, 0x2e($sp) -/* 0BDE18 7F0892E8 87AA002E */ lh $t2, 0x2e($sp) -/* 0BDE1C 7F0892EC 8FA40058 */ lw $a0, 0x58($sp) -/* 0BDE20 7F0892F0 004A5821 */ addu $t3, $v0, $t2 -/* 0BDE24 7F0892F4 0FC2B366 */ jal microcode_constructor -/* 0BDE28 7F0892F8 AFAB0048 */ sw $t3, 0x48($sp) -/* 0BDE2C 7F0892FC 8FAC0048 */ lw $t4, 0x48($sp) -/* 0BDE30 7F089300 240D00A0 */ li $t5, 160 -/* 0BDE34 7F089304 AFA20058 */ sw $v0, 0x58($sp) -/* 0BDE38 7F089308 AFAD0014 */ sw $t5, 0x14($sp) -/* 0BDE3C 7F08930C 00402025 */ move $a0, $v0 -/* 0BDE40 7F089310 8FA50054 */ lw $a1, 0x54($sp) -/* 0BDE44 7F089314 8FA60050 */ lw $a2, 0x50($sp) -/* 0BDE48 7F089318 8FA7004C */ lw $a3, 0x4c($sp) -/* 0BDE4C 7F08931C 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0BDE50 7F089320 AFAC0010 */ sw $t4, 0x10($sp) -/* 0BDE54 7F089324 AFA20058 */ sw $v0, 0x58($sp) -.L7F089328: -/* 0BDE58 7F089328 0FC227AF */ jal check_if_healthbar_timer_greater_than_0 -/* 0BDE5C 7F08932C 00000000 */ nop -/* 0BDE60 7F089330 10400009 */ beqz $v0, .L7F089358 -/* 0BDE64 7F089334 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BDE68 7F089338 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BDE6C 7F08933C 8DCF01C8 */ lw $t7, 0x1c8($t6) -/* 0BDE70 7F089340 15E00005 */ bnez $t7, .L7F089358 -/* 0BDE74 7F089344 00000000 */ nop -/* 0BDE78 7F089348 0FC22186 */ jal sub_GAME_7F088618 -/* 0BDE7C 7F08934C 8FA40058 */ lw $a0, 0x58($sp) -/* 0BDE80 7F089350 10000017 */ b .L7F0893B0 -/* 0BDE84 7F089354 AFA20058 */ sw $v0, 0x58($sp) -.L7F089358: -/* 0BDE88 7F089358 0FC31812 */ jal sub_GAME_7F0C6048 -/* 0BDE8C 7F08935C 00000000 */ nop -/* 0BDE90 7F089360 10400013 */ beqz $v0, .L7F0893B0 -/* 0BDE94 7F089364 00000000 */ nop -/* 0BDE98 7F089368 0FC22186 */ jal sub_GAME_7F088618 -/* 0BDE9C 7F08936C 8FA40058 */ lw $a0, 0x58($sp) -/* 0BDEA0 7F089370 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BDEA4 7F089374 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0BDEA8 7F089378 AFA20058 */ sw $v0, 0x58($sp) -/* 0BDEAC 7F08937C 3C188005 */ lui $t8, %hi(clock_timer) -/* 0BDEB0 7F089380 8C642A00 */ lw $a0, 0x2a00($v1) -/* 0BDEB4 7F089384 18800007 */ blez $a0, .L7F0893A4 -/* 0BDEB8 7F089388 00000000 */ nop -/* 0BDEBC 7F08938C 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 0BDEC0 7F089390 0098C823 */ subu $t9, $a0, $t8 -/* 0BDEC4 7F089394 AC792A00 */ sw $t9, 0x2a00($v1) -/* 0BDEC8 7F089398 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BDECC 7F08939C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0BDED0 7F0893A0 8C642A00 */ lw $a0, 0x2a00($v1) -.L7F0893A4: -/* 0BDED4 7F0893A4 04810002 */ bgez $a0, .L7F0893B0 -/* 0BDED8 7F0893A8 00000000 */ nop -/* 0BDEDC 7F0893AC AC602A00 */ sw $zero, 0x2a00($v1) -.L7F0893B0: -/* 0BDEE0 7F0893B0 0FC26919 */ jal get_num_players -/* 0BDEE4 7F0893B4 00000000 */ nop -/* 0BDEE8 7F0893B8 24010001 */ li $at, 1 -/* 0BDEEC 7F0893BC 14410003 */ bne $v0, $at, .L7F0893CC -/* 0BDEF0 7F0893C0 00000000 */ nop -/* 0BDEF4 7F0893C4 0FC15D50 */ jal display_objective_status_text_on_status_change -/* 0BDEF8 7F0893C8 00000000 */ nop -.L7F0893CC: -/* 0BDEFC 7F0893CC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BDF00 7F0893D0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0BDF04 7F0893D4 8C6200D8 */ lw $v0, 0xd8($v1) -/* 0BDF08 7F0893D8 1040009F */ beqz $v0, .L7F089658 -/* 0BDF0C 7F0893DC 00000000 */ nop -/* 0BDF10 7F0893E0 8C680428 */ lw $t0, 0x428($v1) -/* 0BDF14 7F0893E4 24010001 */ li $at, 1 -/* 0BDF18 7F0893E8 15000045 */ bnez $t0, .L7F089500 -/* 0BDF1C 7F0893EC 00000000 */ nop -/* 0BDF20 7F0893F0 14410004 */ bne $v0, $at, .L7F089404 -/* 0BDF24 7F0893F4 00002025 */ move $a0, $zero -/* 0BDF28 7F0893F8 24090002 */ li $t1, 2 -/* 0BDF2C 7F0893FC 24040001 */ li $a0, 1 -/* 0BDF30 7F089400 AC6900D8 */ sw $t1, 0xd8($v1) -.L7F089404: -/* 0BDF34 7F089404 1080001F */ beqz $a0, .L7F089484 -/* 0BDF38 7F089408 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0BDF3C 7F08940C 0FC070A1 */ jal die_blood_image_routine -/* 0BDF40 7F089410 00002025 */ move $a0, $zero -/* 0BDF44 7F089414 0FC26919 */ jal get_num_players -/* 0BDF48 7F089418 00000000 */ nop -/* 0BDF4C 7F08941C 24010001 */ li $at, 1 -/* 0BDF50 7F089420 14410013 */ bne $v0, $at, .L7F089470 -/* 0BDF54 7F089424 00000000 */ nop -/* 0BDF58 7F089428 0FC30556 */ jal reset_music_in_slot -/* 0BDF5C 7F08942C 2404FFFF */ li $a0, -1 -/* 0BDF60 7F089430 0FC3030F */ jal set_missionstate -/* 0BDF64 7F089434 00002025 */ move $a0, $zero -/* 0BDF68 7F089438 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0BDF6C 7F08943C 00000000 */ nop -/* 0BDF70 7F089440 0C001C0F */ jal musicTrack1Vol -/* 0BDF74 7F089444 3044FFFF */ andi $a0, $v0, 0xffff -/* 0BDF78 7F089448 3C018002 */ lui $at, %hi(music1_playing) -/* 0BDF7C 7F08944C AC20434C */ sw $zero, %lo(music1_playing)($at) -/* 0BDF80 7F089450 0C001CF1 */ jal musicTrack2Vol -/* 0BDF84 7F089454 00002025 */ move $a0, $zero -/* 0BDF88 7F089458 3C018002 */ lui $at, %hi(music2_playing) -/* 0BDF8C 7F08945C AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0BDF90 7F089460 0C001B9F */ jal musicTrack1Play -/* 0BDF94 7F089464 2404001B */ li $a0, 27 -/* 0BDF98 7F089468 10000003 */ b .L7F089478 -/* 0BDF9C 7F08946C 00000000 */ nop -.L7F089470: -/* 0BDFA0 7F089470 0FC3030F */ jal set_missionstate -/* 0BDFA4 7F089474 24040006 */ li $a0, 6 -.L7F089478: -/* 0BDFA8 7F089478 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BDFAC 7F08947C 10000020 */ b .L7F089500 -/* 0BDFB0 7F089480 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F089484: -/* 0BDFB4 7F089484 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0BDFB8 7F089488 24040096 */ li $a0, 150 -/* 0BDFBC 7F08948C 00002825 */ move $a1, $zero -/* 0BDFC0 7F089490 8D4B0424 */ lw $t3, 0x424($t2) -/* 0BDFC4 7F089494 00003025 */ move $a2, $zero -/* 0BDFC8 7F089498 3C073F34 */ lui $a3, (0x3F34B4B5 >> 16) # lui $a3, 0x3f34 -/* 0BDFCC 7F08949C 11600006 */ beqz $t3, .L7F0894B8 -/* 0BDFD0 7F0894A0 3C0C8005 */ lui $t4, %hi(clock_timer) -/* 0BDFD4 7F0894A4 0FC201EC */ jal set_rgba_tint -/* 0BDFD8 7F0894A8 34E7B4B5 */ ori $a3, (0x3F34B4B5 & 0xFFFF) # ori $a3, $a3, 0xb4b5 -/* 0BDFDC 7F0894AC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BDFE0 7F0894B0 10000013 */ b .L7F089500 -/* 0BDFE4 7F0894B4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F0894B8: -/* 0BDFE8 7F0894B8 8D8C8374 */ lw $t4, %lo(clock_timer)($t4) -/* 0BDFEC 7F0894BC 24040002 */ li $a0, 2 -/* 0BDFF0 7F0894C0 19800003 */ blez $t4, .L7F0894D0 -/* 0BDFF4 7F0894C4 00000000 */ nop -/* 0BDFF8 7F0894C8 10000001 */ b .L7F0894D0 -/* 0BDFFC 7F0894CC 24040001 */ li $a0, 1 -.L7F0894D0: -/* 0BE000 7F0894D0 0FC070A1 */ jal die_blood_image_routine -/* 0BE004 7F0894D4 00000000 */ nop -/* 0BE008 7F0894D8 10400004 */ beqz $v0, .L7F0894EC -/* 0BE00C 7F0894DC 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BE010 7F0894E0 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BE014 7F0894E4 240D0001 */ li $t5, 1 -/* 0BE018 7F0894E8 ADCD0424 */ sw $t5, 0x424($t6) -.L7F0894EC: -/* 0BE01C 7F0894EC 0FC0719C */ jal sub_GAME_7F01C670 -/* 0BE020 7F0894F0 8FA40058 */ lw $a0, 0x58($sp) -/* 0BE024 7F0894F4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BE028 7F0894F8 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0BE02C 7F0894FC AFA20058 */ sw $v0, 0x58($sp) -.L7F089500: -/* 0BE030 7F089500 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 0BE034 7F089504 24640598 */ addiu $a0, $v1, 0x598 -/* 0BE038 7F089508 3C048008 */ lui $a0, %hi(pPlayer) -/* 0BE03C 7F08950C 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0BE040 7F089510 E7A00024 */ swc1 $f0, 0x24($sp) -/* 0BE044 7F089514 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 0BE048 7F089518 24840598 */ addiu $a0, $a0, 0x598 -/* 0BE04C 7F08951C C7A40024 */ lwc1 $f4, 0x24($sp) -/* 0BE050 7F089520 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BE054 7F089524 4604003E */ c.le.s $f0, $f4 -/* 0BE058 7F089528 00000000 */ nop -/* 0BE05C 7F08952C 4500004A */ bc1f .L7F089658 -/* 0BE060 7F089530 00000000 */ nop -/* 0BE064 7F089534 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0BE068 7F089538 8C6F0424 */ lw $t7, 0x424($v1) -/* 0BE06C 7F08953C 11E00046 */ beqz $t7, .L7F089658 -/* 0BE070 7F089540 00000000 */ nop -/* 0BE074 7F089544 8C780428 */ lw $t8, 0x428($v1) -/* 0BE078 7F089548 24190001 */ li $t9, 1 -/* 0BE07C 7F08954C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0BE080 7F089550 1700000E */ bnez $t8, .L7F08958C -/* 0BE084 7F089554 00002825 */ move $a1, $zero -/* 0BE088 7F089558 44816000 */ mtc1 $at, $f12 -/* 0BE08C 7F08955C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BE090 7F089560 44813000 */ mtc1 $at, $f6 -/* 0BE094 7F089564 AC790428 */ sw $t9, 0x428($v1) -/* 0BE098 7F089568 00003025 */ move $a2, $zero -/* 0BE09C 7F08956C 00003825 */ move $a3, $zero -/* 0BE0A0 7F089570 0FC201F8 */ jal sub_GAME_7F0807E0 -/* 0BE0A4 7F089574 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0BE0A8 7F089578 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0BE0AC 7F08957C 44816000 */ mtc1 $at, $f12 -/* 0BE0B0 7F089580 44807000 */ mtc1 $zero, $f14 -/* 0BE0B4 7F089584 0FC20284 */ jal set_curplayer_fade -/* 0BE0B8 7F089588 00000000 */ nop -.L7F08958C: -/* 0BE0BC 7F08958C 0FC20223 */ jal check_if_fade_to_black_complete -/* 0BE0C0 7F089590 00000000 */ nop -/* 0BE0C4 7F089594 10400030 */ beqz $v0, .L7F089658 -/* 0BE0C8 7F089598 00000000 */ nop -/* 0BE0CC 7F08959C 0FC26919 */ jal get_num_players -/* 0BE0D0 7F0895A0 00000000 */ nop -/* 0BE0D4 7F0895A4 24010001 */ li $at, 1 -/* 0BE0D8 7F0895A8 14410005 */ bne $v0, $at, .L7F0895C0 -/* 0BE0DC 7F0895AC 00000000 */ nop -/* 0BE0E0 7F0895B0 0FC1EA6E */ jal set_camera_mode -/* 0BE0E4 7F0895B4 24040005 */ li $a0, 5 -/* 0BE0E8 7F0895B8 10000027 */ b .L7F089658 -/* 0BE0EC 7F0895BC 00000000 */ nop -.L7F0895C0: -/* 0BE0F0 7F0895C0 0FC051D6 */ jal get_scenario -/* 0BE0F4 7F0895C4 00000000 */ nop -/* 0BE0F8 7F0895C8 0FC26C54 */ jal get_cur_playernum -/* 0BE0FC 7F0895CC AFA20040 */ sw $v0, 0x40($sp) -/* 0BE100 7F0895D0 0FC26919 */ jal get_num_players -/* 0BE104 7F0895D4 AFA2003C */ sw $v0, 0x3c($sp) -/* 0BE108 7F0895D8 00402825 */ move $a1, $v0 -/* 0BE10C 7F0895DC 00002025 */ move $a0, $zero -/* 0BE110 7F0895E0 1840000C */ blez $v0, .L7F089614 -/* 0BE114 7F0895E4 00001825 */ move $v1, $zero -/* 0BE118 7F0895E8 8FA8003C */ lw $t0, 0x3c($sp) -/* 0BE11C 7F0895EC 3C0A8008 */ lui $t2, %hi(player1_player_data) -/* 0BE120 7F0895F0 254A9EF0 */ addiu $t2, %lo(player1_player_data) # addiu $t2, $t2, -0x6110 -/* 0BE124 7F0895F4 00084880 */ sll $t1, $t0, 2 -/* 0BE128 7F0895F8 012A1021 */ addu $v0, $t1, $t2 -.L7F0895FC: -/* 0BE12C 7F0895FC 8C4B0024 */ lw $t3, 0x24($v0) -/* 0BE130 7F089600 24630001 */ addiu $v1, $v1, 1 -/* 0BE134 7F089604 0065082A */ slt $at, $v1, $a1 -/* 0BE138 7F089608 24420070 */ addiu $v0, $v0, 0x70 -/* 0BE13C 7F08960C 1420FFFB */ bnez $at, .L7F0895FC -/* 0BE140 7F089610 008B2021 */ addu $a0, $a0, $t3 -.L7F089614: -/* 0BE144 7F089614 8FAC0040 */ lw $t4, 0x40($sp) -/* 0BE148 7F089618 24010001 */ li $at, 1 -/* 0BE14C 7F08961C 15810003 */ bne $t4, $at, .L7F08962C -/* 0BE150 7F089620 28810002 */ slti $at, $a0, 2 -/* 0BE154 7F089624 1020000C */ beqz $at, .L7F089658 -/* 0BE158 7F089628 00000000 */ nop -.L7F08962C: -/* 0BE15C 7F08962C 0FC26C54 */ jal get_cur_playernum -/* 0BE160 7F089630 00000000 */ nop -/* 0BE164 7F089634 00022600 */ sll $a0, $v0, 0x18 -/* 0BE168 7F089638 00046E03 */ sra $t5, $a0, 0x18 -/* 0BE16C 7F08963C 01A02025 */ move $a0, $t5 -/* 0BE170 7F089640 0C0030C3 */ jal get_controller_buttons_held -/* 0BE174 7F089644 3405B000 */ li $a1, 45056 -/* 0BE178 7F089648 10400003 */ beqz $v0, .L7F089658 -/* 0BE17C 7F08964C 00000000 */ nop -/* 0BE180 7F089650 0FC2223A */ jal mp_respawn_handler -/* 0BE184 7F089654 00000000 */ nop -.L7F089658: -/* 0BE188 7F089658 0FC22939 */ jal sub_GAME_7F08A4E4 -/* 0BE18C 7F08965C 00000000 */ nop -/* 0BE190 7F089660 0FC2297F */ jal sub_GAME_7F08A5FC -/* 0BE194 7F089664 8FA40058 */ lw $a0, 0x58($sp) -/* 0BE198 7F089668 0FC22A7E */ jal sub_GAME_7F08A9F8 -/* 0BE19C 7F08966C AFA20058 */ sw $v0, 0x58($sp) -/* 0BE1A0 7F089670 0FC22ABA */ jal sub_GAME_7F08AAE8 -/* 0BE1A4 7F089674 8FA40058 */ lw $a0, 0x58($sp) -/* 0BE1A8 7F089678 AFA20058 */ sw $v0, 0x58($sp) -/* 0BE1AC 7F08967C 0FC1A979 */ jal sub_GAME_7F06A5E4 -/* 0BE1B0 7F089680 27A40058 */ addiu $a0, $sp, 0x58 -/* 0BE1B4 7F089684 0FC1A73D */ jal generate_ammo_total_microcode -/* 0BE1B8 7F089688 8FA40058 */ lw $a0, 0x58($sp) -/* 0BE1BC 7F08968C AFA20058 */ sw $v0, 0x58($sp) -/* 0BE1C0 7F089690 0FC15884 */ jal sub_GAME_7F056210 -/* 0BE1C4 7F089694 00402025 */ move $a0, $v0 -/* 0BE1C8 7F089698 AFA20058 */ sw $v0, 0x58($sp) -/* 0BE1CC 7F08969C 0FC31824 */ jal display_red_blue_on_radar -/* 0BE1D0 7F0896A0 00402025 */ move $a0, $v0 -/* 0BE1D4 7F0896A4 AFA20058 */ sw $v0, 0x58($sp) -/* 0BE1D8 7F0896A8 0FC20138 */ jal sub_GAME_7F0804E0 -/* 0BE1DC 7F0896AC 00402025 */ move $a0, $v0 -/* 0BE1E0 7F0896B0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0896B4: -/* 0BE1E4 7F0896B4 27BD0058 */ addiu $sp, $sp, 0x58 -/* 0BE1E8 7F0896B8 03E00008 */ jr $ra -/* 0BE1EC 7F0896BC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 write_stan_tiles_in_yellow(s32 arg0) { - s32 phi_a0; - s32 phi_a0_2; - - // Node 0 - phi_a0 = arg0; - if (dword_CODE_bss_80079DA0 != 0) - { - // Node 1 - phi_a0 = sub_GAME_7F0B3024(dword_CODE_bss_80079DA0, 0xff00ff80); - } - // Node 2 - phi_a0_2 = phi_a0; - if (dword_CODE_bss_80079DA4 != 0) - { - // Node 3 - phi_a0_2 = sub_GAME_7F0B3024(phi_a0, dword_CODE_bss_80079DA4, 0xff00ff80); - } - // Node 4 - return phi_a0_2; -} -#else -GLOBAL_ASM( -.text -glabel write_stan_tiles_in_yellow -/* 0BE1F0 7F0896C0 3C058008 */ lui $a1, %hi(dword_CODE_bss_80079DA0) -/* 0BE1F4 7F0896C4 8CA59DA0 */ lw $a1, %lo(dword_CODE_bss_80079DA0)($a1) -/* 0BE1F8 7F0896C8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BE1FC 7F0896CC AFBF0014 */ sw $ra, 0x14($sp) -/* 0BE200 7F0896D0 10A00004 */ beqz $a1, .L7F0896E4 -/* 0BE204 7F0896D4 3C06FF00 */ lui $a2, (0xFF00FF80 >> 16) # lui $a2, 0xff00 -/* 0BE208 7F0896D8 0FC2CC09 */ jal sub_GAME_7F0B3024 -/* 0BE20C 7F0896DC 34C6FF80 */ ori $a2, (0xFF00FF80 & 0xFFFF) # ori $a2, $a2, 0xff80 -/* 0BE210 7F0896E0 00402025 */ move $a0, $v0 -.L7F0896E4: -/* 0BE214 7F0896E4 3C058008 */ lui $a1, %hi(dword_CODE_bss_80079DA4) -/* 0BE218 7F0896E8 8CA59DA4 */ lw $a1, %lo(dword_CODE_bss_80079DA4)($a1) -/* 0BE21C 7F0896EC 3C06FF00 */ lui $a2, (0xFF00FF80 >> 16) # lui $a2, 0xff00 -/* 0BE220 7F0896F0 50A00005 */ beql $a1, $zero, .L7F089708 -/* 0BE224 7F0896F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE228 7F0896F8 0FC2CC09 */ jal sub_GAME_7F0B3024 -/* 0BE22C 7F0896FC 34C6FF80 */ ori $a2, (0xFF00FF80 & 0xFFFF) # ori $a2, $a2, 0xff80 -/* 0BE230 7F089700 00402025 */ move $a0, $v0 -/* 0BE234 7F089704 8FBF0014 */ lw $ra, 0x14($sp) -.L7F089708: -/* 0BE238 7F089708 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BE23C 7F08970C 00801025 */ move $v0, $a0 -/* 0BE240 7F089710 03E00008 */ jr $ra -/* 0BE244 7F089714 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F089718(f32 arg0) { - f32 temp_f0; - void *temp_v0; - - // Node 0 - temp_f0 = (D_800364D0 / arg0); - temp_v0 = (pPlayer + 0x488); - temp_v0->unk4 = (f32) (pPlayer->field_48C * temp_f0); - temp_v0->unkC = (f32) (pPlayer->field_494 * temp_f0); - D_800364D0 = arg0; - D_800364D4 = (f32) (1.0f / arg0); - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F089718 -/* 0BE248 7F089718 3C038003 */ lui $v1, %hi(D_800364D0) -/* 0BE24C 7F08971C 246364D0 */ addiu $v1, %lo(D_800364D0) # addiu $v1, $v1, 0x64d0 -/* 0BE250 7F089720 C4640000 */ lwc1 $f4, ($v1) -/* 0BE254 7F089724 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BE258 7F089728 44819000 */ mtc1 $at, $f18 -/* 0BE25C 7F08972C 460C2003 */ div.s $f0, $f4, $f12 -/* 0BE260 7F089730 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE264 7F089734 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE268 7F089738 3C018003 */ lui $at, %hi(D_800364D4) -/* 0BE26C 7F08973C C446048C */ lwc1 $f6, 0x48c($v0) -/* 0BE270 7F089740 C44A0494 */ lwc1 $f10, 0x494($v0) -/* 0BE274 7F089744 24420488 */ addiu $v0, $v0, 0x488 -/* 0BE278 7F089748 460C9103 */ div.s $f4, $f18, $f12 -/* 0BE27C 7F08974C 46003202 */ mul.s $f8, $f6, $f0 -/* 0BE280 7F089750 00000000 */ nop -/* 0BE284 7F089754 46005402 */ mul.s $f16, $f10, $f0 -/* 0BE288 7F089758 E4480004 */ swc1 $f8, 4($v0) -/* 0BE28C 7F08975C E450000C */ swc1 $f16, 0xc($v0) -/* 0BE290 7F089760 E46C0000 */ swc1 $f12, ($v1) -/* 0BE294 7F089764 03E00008 */ jr $ra -/* 0BE298 7F089768 E42464D4 */ swc1 $f4, %lo(D_800364D4)($at) -) -#endif - - - -void sub_GAME_7F08976C(f32 param_1) { - D_800364CC = param_1; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F089778(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F089778 -/* 0BE2A8 7F089778 03E00008 */ jr $ra -/* 0BE2AC 7F08977C C4800074 */ lwc1 $f0, 0x74($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F089780(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F089780 -/* 0BE2B0 7F089780 C48429BC */ lwc1 $f4, 0x29bc($a0) -/* 0BE2B4 7F089784 C4860088 */ lwc1 $f6, 0x88($a0) -/* 0BE2B8 7F089788 C48A00A0 */ lwc1 $f10, 0xa0($a0) -/* 0BE2BC 7F08978C 46062200 */ add.s $f8, $f4, $f6 -/* 0BE2C0 7F089790 03E00008 */ jr $ra -/* 0BE2C4 7F089794 460A4000 */ add.s $f0, $f8, $f10 -) -#endif - - - - - -#ifdef NONMATCHING -void get_curplayer_positiondata(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_curplayer_positiondata -/* 0BE2C8 7F089798 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BE2CC 7F08979C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BE2D0 7F0897A0 03E00008 */ jr $ra -/* 0BE2D4 7F0897A4 8DC200A8 */ lw $v0, 0xa8($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void kill_current_player(void) { - -} -#else -GLOBAL_ASM( -.text -glabel kill_current_player -/* 0BE2D8 7F0897A8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BE2DC 7F0897AC AFB00018 */ sw $s0, 0x18($sp) -/* 0BE2E0 7F0897B0 3C108008 */ lui $s0, %hi(pPlayer) -/* 0BE2E4 7F0897B4 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0BE2E8 7F0897B8 8E020000 */ lw $v0, ($s0) -/* 0BE2EC 7F0897BC AFBF001C */ sw $ra, 0x1c($sp) -/* 0BE2F0 7F0897C0 904E12B6 */ lbu $t6, 0x12b6($v0) -/* 0BE2F4 7F0897C4 55C00044 */ bnezl $t6, .L7F0898D8 -/* 0BE2F8 7F0897C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BE2FC 7F0897CC 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0BE300 7F0897D0 55E00041 */ bnezl $t7, .L7F0898D8 -/* 0BE304 7F0897D4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BE308 7F0897D8 8C5801C8 */ lw $t8, 0x1c8($v0) -/* 0BE30C 7F0897DC 53000005 */ beql $t8, $zero, .L7F0897F4 -/* 0BE310 7F0897E0 24030001 */ li $v1, 1 -/* 0BE314 7F0897E4 0FC1FE1D */ jal trigger_solo_watch_menu -/* 0BE318 7F0897E8 24040001 */ li $a0, 1 -/* 0BE31C 7F0897EC 8E020000 */ lw $v0, ($s0) -/* 0BE320 7F0897F0 24030001 */ li $v1, 1 -.L7F0897F4: -/* 0BE324 7F0897F4 3C018003 */ lui $at, %hi(mission_kia_flag) -/* 0BE328 7F0897F8 AC23A928 */ sw $v1, %lo(mission_kia_flag)($at) -/* 0BE32C 7F0897FC AC4300D8 */ sw $v1, 0xd8($v0) -/* 0BE330 7F089800 8E0A0000 */ lw $t2, ($s0) -/* 0BE334 7F089804 24040001 */ li $a0, 1 -/* 0BE338 7F089808 01404825 */ move $t1, $t2 -/* 0BE33C 7F08980C 25480054 */ addiu $t0, $t2, 0x54 -.L7F089810: -/* 0BE340 7F089810 8D210488 */ lw $at, 0x488($t1) -/* 0BE344 7F089814 2529000C */ addiu $t1, $t1, 0xc -/* 0BE348 7F089818 254A000C */ addiu $t2, $t2, 0xc -/* 0BE34C 7F08981C AD410428 */ sw $at, 0x428($t2) -/* 0BE350 7F089820 8D210480 */ lw $at, 0x480($t1) -/* 0BE354 7F089824 AD41042C */ sw $at, 0x42c($t2) -/* 0BE358 7F089828 8D210484 */ lw $at, 0x484($t1) -/* 0BE35C 7F08982C 1528FFF8 */ bne $t1, $t0, .L7F089810 -/* 0BE360 7F089830 AD410430 */ sw $at, 0x430($t2) -/* 0BE364 7F089834 8E020000 */ lw $v0, ($s0) -/* 0BE368 7F089838 3C0B8003 */ lui $t3, %hi(ptr_playerstank) -/* 0BE36C 7F08983C 3C018003 */ lui $at, %hi(D_8003648C) -/* 0BE370 7F089840 C4440148 */ lwc1 $f4, 0x148($v0) -/* 0BE374 7F089844 E4440414 */ swc1 $f4, 0x414($v0) -/* 0BE378 7F089848 8E020000 */ lw $v0, ($s0) -/* 0BE37C 7F08984C C4460158 */ lwc1 $f6, 0x158($v0) -/* 0BE380 7F089850 E4460418 */ swc1 $f6, 0x418($v0) -/* 0BE384 7F089854 8D6B6450 */ lw $t3, %lo(ptr_playerstank)($t3) -/* 0BE388 7F089858 11600002 */ beqz $t3, .L7F089864 -/* 0BE38C 7F08985C 00000000 */ nop -/* 0BE390 7F089860 AC23648C */ sw $v1, %lo(D_8003648C)($at) -.L7F089864: -/* 0BE394 7F089864 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0BE398 7F089868 00002825 */ move $a1, $zero -/* 0BE39C 7F08986C 00002025 */ move $a0, $zero -/* 0BE3A0 7F089870 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0BE3A4 7F089874 00002825 */ move $a1, $zero -/* 0BE3A8 7F089878 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 0BE3AC 7F08987C 00000000 */ nop -/* 0BE3B0 7F089880 8E0C0000 */ lw $t4, ($s0) -/* 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 -/* 0BE3C8 7F089898 01D8082A */ slt $at, $t6, $t8 -/* 0BE3CC 7F08989C 10200009 */ beqz $at, .L7F0898C4 -/* 0BE3D0 7F0898A0 00000000 */ nop -/* 0BE3D4 7F0898A4 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 0BE3D8 7F0898A8 00000000 */ nop -/* 0BE3DC 7F0898AC 8E190000 */ lw $t9, ($s0) -/* 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) -.L7F0898C4: -/* 0BE3F4 7F0898C4 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 0BE3F8 7F0898C8 00000000 */ nop -/* 0BE3FC 7F0898CC 8E0B0000 */ lw $t3, ($s0) -/* 0BE400 7F0898D0 AD6229F4 */ sw $v0, 0x29f4($t3) -/* 0BE404 7F0898D4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0898D8: -/* 0BE408 7F0898D8 8FB00018 */ lw $s0, 0x18($sp) -/* 0BE40C 7F0898DC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BE410 7F0898E0 03E00008 */ jr $ra -/* 0BE414 7F0898E4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0898E8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0898E8 -/* 0BE418 7F0898E8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BE41C 7F0898EC AFBF0014 */ sw $ra, 0x14($sp) -/* 0BE420 7F0898F0 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0BE424 7F0898F4 00002025 */ move $a0, $zero -/* 0BE428 7F0898F8 000270C0 */ sll $t6, $v0, 3 -/* 0BE42C 7F0898FC 25C20280 */ addiu $v0, $t6, 0x280 -/* 0BE430 7F089900 240100A0 */ li $at, 160 -/* 0BE434 7F089904 0041001A */ div $zero, $v0, $at -/* 0BE438 7F089908 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE43C 7F08990C 00001012 */ mflo $v0 -/* 0BE440 7F089910 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BE444 7F089914 03E00008 */ jr $ra -/* 0BE448 7F089918 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void record_damage_kills(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel pi_800552B0 -.word 0x40490fdb /*3.1415927*/ -.text -glabel record_damage_kills -/* 0BE44C 7F08991C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 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) -/* 0BE464 7F089934 AFA7004C */ sw $a3, 0x4c($sp) -/* 0BE468 7F089938 C5C4005C */ lwc1 $f4, 0x5c($t6) -/* 0BE46C 7F08993C 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0BE470 7F089940 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0BE474 7F089944 460C2182 */ mul.s $f6, $f4, $f12 -/* 0BE478 7F089948 E7A6003C */ swc1 $f6, 0x3c($sp) -/* 0BE47C 7F08994C 8DF801C8 */ lw $t8, 0x1c8($t7) -/* 0BE480 7F089950 13000013 */ beqz $t8, .L7F0899A0 -/* 0BE484 7F089954 00000000 */ nop -/* 0BE488 7F089958 0FC228BF */ jal get_BONDdata_watch_armor -/* 0BE48C 7F08995C 00000000 */ nop -/* 0BE490 7F089960 3C048008 */ lui $a0, %hi(pPlayer) -/* 0BE494 7F089964 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0BE498 7F089968 44070000 */ mfc1 $a3, $f0 -/* 0BE49C 7F08996C 2405002E */ li $a1, 46 -/* 0BE4A0 7F089970 24060001 */ li $a2, 1 -/* 0BE4A4 7F089974 0FC28BCC */ jal sub_GAME_7F0A2F30 -/* 0BE4A8 7F089978 248412B8 */ addiu $a0, $a0, 0x12b8 -/* 0BE4AC 7F08997C 0FC228BB */ jal get_BONDdata_watch_health -/* 0BE4B0 7F089980 00000000 */ nop -/* 0BE4B4 7F089984 3C048008 */ lui $a0, %hi(pPlayer) -/* 0BE4B8 7F089988 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0BE4BC 7F08998C 44070000 */ mfc1 $a3, $f0 -/* 0BE4C0 7F089990 2405002E */ li $a1, 46 -/* 0BE4C4 7F089994 2406FFFF */ li $a2, -1 -/* 0BE4C8 7F089998 0FC28BCC */ jal sub_GAME_7F0A2F30 -/* 0BE4CC 7F08999C 24841598 */ addiu $a0, $a0, 0x1598 -.L7F0899A0: -/* 0BE4D0 7F0899A0 0FC26919 */ jal get_num_players -/* 0BE4D4 7F0899A4 00000000 */ nop -/* 0BE4D8 7F0899A8 28410002 */ slti $at, $v0, 2 -/* 0BE4DC 7F0899AC 14200007 */ bnez $at, .L7F0899CC -/* 0BE4E0 7F0899B0 3C198009 */ lui $t9, %hi(stop_play_flag) -/* 0BE4E4 7F0899B4 8F39C700 */ lw $t9, %lo(stop_play_flag)($t9) -/* 0BE4E8 7F0899B8 3C088009 */ lui $t0, %hi(is_gameover_flag) -/* 0BE4EC 7F0899BC 57200120 */ bnezl $t9, .L7F089E40 -/* 0BE4F0 7F0899C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE4F4 7F0899C4 8D08C704 */ lw $t0, %lo(is_gameover_flag)($t0) -/* 0BE4F8 7F0899C8 1500011C */ bnez $t0, .L7F089E3C -.L7F0899CC: -/* 0BE4FC 7F0899CC 3C098003 */ lui $t1, %hi(in_tank_flag) -/* 0BE500 7F0899D0 8D296448 */ lw $t1, %lo(in_tank_flag)($t1) -/* 0BE504 7F0899D4 24010001 */ li $at, 1 -/* 0BE508 7F0899D8 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0BE50C 7F0899DC 15210006 */ bne $t1, $at, .L7F0899F8 -/* 0BE510 7F0899E0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE514 7F0899E4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0BE518 7F0899E8 44815000 */ mtc1 $at, $f10 -/* 0BE51C 7F0899EC 00000000 */ nop -/* 0BE520 7F0899F0 460A4402 */ mul.s $f16, $f8, $f10 -/* 0BE524 7F0899F4 E7B0003C */ swc1 $f16, 0x3c($sp) -.L7F0899F8: -/* 0BE528 7F0899F8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE52C 7F0899FC 8C4A00D8 */ lw $t2, 0xd8($v0) -/* 0BE530 7F089A00 15400016 */ bnez $t2, .L7F089A5C -/* 0BE534 7F089A04 00000000 */ nop -/* 0BE538 7F089A08 904B12B6 */ lbu $t3, 0x12b6($v0) -/* 0BE53C 7F089A0C 15600013 */ bnez $t3, .L7F089A5C -/* 0BE540 7F089A10 00000000 */ nop -/* 0BE544 7F089A14 0FC26C54 */ jal get_cur_playernum -/* 0BE548 7F089A18 00000000 */ nop -/* 0BE54C 7F089A1C 00402025 */ move $a0, $v0 -/* 0BE550 7F089A20 0C003215 */ jal controller_7000C854 -/* 0BE554 7F089A24 3C053E80 */ lui $a1, 0x3e80 -/* 0BE558 7F089A28 0FC29370 */ jal cur_player_get_control_type -/* 0BE55C 7F089A2C 00000000 */ nop -/* 0BE560 7F089A30 28410004 */ slti $at, $v0, 4 -/* 0BE564 7F089A34 14200009 */ bnez $at, .L7F089A5C -/* 0BE568 7F089A38 00000000 */ nop -/* 0BE56C 7F089A3C 0FC26C54 */ jal get_cur_playernum -/* 0BE570 7F089A40 00000000 */ nop -/* 0BE574 7F089A44 0FC26919 */ jal get_num_players -/* 0BE578 7F089A48 AFA2001C */ sw $v0, 0x1c($sp) -/* 0BE57C 7F089A4C 8FAC001C */ lw $t4, 0x1c($sp) -/* 0BE580 7F089A50 3C053E80 */ lui $a1, 0x3e80 -/* 0BE584 7F089A54 0C003215 */ jal controller_7000C854 -/* 0BE588 7F089A58 004C2021 */ addu $a0, $v0, $t4 -.L7F089A5C: -/* 0BE58C 7F089A5C 0FC26919 */ jal get_num_players -/* 0BE590 7F089A60 00000000 */ nop -/* 0BE594 7F089A64 28410002 */ slti $at, $v0, 2 -/* 0BE598 7F089A68 14200010 */ bnez $at, .L7F089AAC -/* 0BE59C 7F089A6C 00000000 */ nop -/* 0BE5A0 7F089A70 0FC051D6 */ jal get_scenario -/* 0BE5A4 7F089A74 00000000 */ nop -/* 0BE5A8 7F089A78 24010004 */ li $at, 4 -/* 0BE5AC 7F089A7C 1441000B */ bne $v0, $at, .L7F089AAC -/* 0BE5B0 7F089A80 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE5B4 7F089A84 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE5B8 7F089A88 C45200DC */ lwc1 $f18, 0xdc($v0) -/* 0BE5BC 7F089A8C C4442A3C */ lwc1 $f4, 0x2a3c($v0) -/* 0BE5C0 7F089A90 C44800E0 */ lwc1 $f8, 0xe0($v0) -/* 0BE5C4 7F089A94 C44A2A40 */ lwc1 $f10, 0x2a40($v0) -/* 0BE5C8 7F089A98 46049182 */ mul.s $f6, $f18, $f4 -/* 0BE5CC 7F089A9C 00000000 */ nop -/* 0BE5D0 7F089AA0 460A4402 */ mul.s $f16, $f8, $f10 -/* 0BE5D4 7F089AA4 46103480 */ add.s $f18, $f6, $f16 -/* 0BE5D8 7F089AA8 E7B2003C */ swc1 $f18, 0x3c($sp) -.L7F089AAC: -/* 0BE5DC 7F089AAC 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE5E0 7F089AB0 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE5E4 7F089AB4 904D12B6 */ lbu $t5, 0x12b6($v0) -/* 0BE5E8 7F089AB8 55A000E1 */ bnezl $t5, .L7F089E40 -/* 0BE5EC 7F089ABC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE5F0 7F089AC0 8C4E00D8 */ lw $t6, 0xd8($v0) -/* 0BE5F4 7F089AC4 3C0F8003 */ lui $t7, %hi(disable_player_pickups_flag) -/* 0BE5F8 7F089AC8 55C000DD */ bnezl $t6, .L7F089E40 -/* 0BE5FC 7F089ACC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE600 7F089AD0 8DEF64B4 */ lw $t7, %lo(disable_player_pickups_flag)($t7) -/* 0BE604 7F089AD4 55E000DA */ bnezl $t7, .L7F089E40 -/* 0BE608 7F089AD8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE60C 7F089ADC 8C5800F4 */ lw $t8, 0xf4($v0) -/* 0BE610 7F089AE0 0702000B */ bltzl $t8, .L7F089B10 -/* 0BE614 7F089AE4 8C4301C8 */ lw $v1, 0x1c8($v0) -/* 0BE618 7F089AE8 0FC26919 */ jal get_num_players -/* 0BE61C 7F089AEC 00000000 */ nop -/* 0BE620 7F089AF0 28410002 */ slti $at, $v0, 2 -/* 0BE624 7F089AF4 142000D1 */ bnez $at, .L7F089E3C -/* 0BE628 7F089AF8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE62C 7F089AFC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE630 7F089B00 8C5900F4 */ lw $t9, 0xf4($v0) -/* 0BE634 7F089B04 572000CE */ bnezl $t9, .L7F089E40 -/* 0BE638 7F089B08 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE63C 7F089B0C 8C4301C8 */ lw $v1, 0x1c8($v0) -.L7F089B10: -/* 0BE640 7F089B10 24010005 */ li $at, 5 -/* 0BE644 7F089B14 106100C9 */ beq $v1, $at, .L7F089E3C -/* 0BE648 7F089B18 2401000C */ li $at, 12 -/* 0BE64C 7F089B1C 506100C8 */ beql $v1, $at, .L7F089E40 -/* 0BE650 7F089B20 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE654 7F089B24 C44400DC */ lwc1 $f4, 0xdc($v0) -/* 0BE658 7F089B28 E44400E4 */ swc1 $f4, 0xe4($v0) -/* 0BE65C 7F089B2C 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE660 7F089B30 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE664 7F089B34 C44800E0 */ lwc1 $f8, 0xe0($v0) -/* 0BE668 7F089B38 0FC26919 */ jal get_num_players -/* 0BE66C 7F089B3C E44800E8 */ swc1 $f8, 0xe8($v0) -/* 0BE670 7F089B40 28410002 */ slti $at, $v0, 2 -/* 0BE674 7F089B44 54200035 */ bnezl $at, .L7F089C1C -/* 0BE678 7F089B48 8FA30050 */ lw $v1, 0x50($sp) -/* 0BE67C 7F089B4C 0FC26C54 */ jal get_cur_playernum -/* 0BE680 7F089B50 00000000 */ nop -/* 0BE684 7F089B54 AFA20038 */ sw $v0, 0x38($sp) -/* 0BE688 7F089B58 C7AC0044 */ lwc1 $f12, 0x44($sp) -/* 0BE68C 7F089B5C 0FC16A8C */ jal convert_angle_using_inverse -/* 0BE690 7F089B60 C7AE0048 */ lwc1 $f14, 0x48($sp) -/* 0BE694 7F089B64 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0BE698 7F089B68 44815000 */ mtc1 $at, $f10 -/* 0BE69C 7F089B6C 3C018005 */ lui $at, %hi(pi_800552B0) -/* 0BE6A0 7F089B70 C43052B0 */ lwc1 $f16, %lo(pi_800552B0)($at) -/* 0BE6A4 7F089B74 460A0182 */ mul.s $f6, $f0, $f10 -/* 0BE6A8 7F089B78 8FA80038 */ lw $t0, 0x38($sp) -/* 0BE6AC 7F089B7C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BE6B0 7F089B80 3C0A8008 */ lui $t2, %hi(ptr_BONDdata_p1) -/* 0BE6B4 7F089B84 00084880 */ sll $t1, $t0, 2 -/* 0BE6B8 7F089B88 44812000 */ mtc1 $at, $f4 -/* 0BE6BC 7F089B8C 01495021 */ addu $t2, $t2, $t1 -/* 0BE6C0 7F089B90 46103483 */ div.s $f18, $f6, $f16 -/* 0BE6C4 7F089B94 8D4A9EE0 */ lw $t2, %lo(ptr_BONDdata_p1)($t2) -/* 0BE6C8 7F089B98 44806000 */ mtc1 $zero, $f12 -/* 0BE6CC 7F089B9C 8FAB004C */ lw $t3, 0x4c($sp) -/* 0BE6D0 7F089BA0 C54A0148 */ lwc1 $f10, 0x148($t2) -/* 0BE6D4 7F089BA4 3C0142B4 */ li $at, 0x42B40000 # 90.000000 -/* 0BE6D8 7F089BA8 000B60C0 */ sll $t4, $t3, 3 -/* 0BE6DC 7F089BAC 3C0D8008 */ lui $t5, %hi(player1_player_data) -/* 0BE6E0 7F089BB0 018B6023 */ subu $t4, $t4, $t3 -/* 0BE6E4 7F089BB4 44813000 */ mtc1 $at, $f6 -/* 0BE6E8 7F089BB8 000C6100 */ sll $t4, $t4, 4 -/* 0BE6EC 7F089BBC 25AD9EF0 */ addiu $t5, %lo(player1_player_data) # addiu $t5, $t5, -0x6110 -/* 0BE6F0 7F089BC0 3C014387 */ li $at, 0x43870000 # 270.000000 -/* 0BE6F4 7F089BC4 018D1021 */ addu $v0, $t4, $t5 -/* 0BE6F8 7F089BC8 46122201 */ sub.s $f8, $f4, $f18 -/* 0BE6FC 7F089BCC 46085081 */ sub.s $f2, $f10, $f8 -/* 0BE700 7F089BD0 460C103C */ c.lt.s $f2, $f12 -/* 0BE704 7F089BD4 00000000 */ nop -/* 0BE708 7F089BD8 45020003 */ bc1fl .L7F089BE8 -/* 0BE70C 7F089BDC 4606103C */ c.lt.s $f2, $f6 -/* 0BE710 7F089BE0 46001087 */ neg.s $f2, $f2 -/* 0BE714 7F089BE4 4606103C */ c.lt.s $f2, $f6 -.L7F089BE8: -/* 0BE718 7F089BE8 00000000 */ nop -/* 0BE71C 7F089BEC 45030008 */ bc1tl .L7F089C10 -/* 0BE720 7F089BF0 8C4E003C */ lw $t6, 0x3c($v0) -/* 0BE724 7F089BF4 44818000 */ mtc1 $at, $f16 -/* 0BE728 7F089BF8 00000000 */ nop -/* 0BE72C 7F089BFC 4602803C */ c.lt.s $f16, $f2 -/* 0BE730 7F089C00 00000000 */ nop -/* 0BE734 7F089C04 45020005 */ bc1fl .L7F089C1C -/* 0BE738 7F089C08 8FA30050 */ lw $v1, 0x50($sp) -/* 0BE73C 7F089C0C 8C4E003C */ lw $t6, 0x3c($v0) -.L7F089C10: -/* 0BE740 7F089C10 25CF0001 */ addiu $t7, $t6, 1 -/* 0BE744 7F089C14 AC4F003C */ sw $t7, 0x3c($v0) -/* 0BE748 7F089C18 8FA30050 */ lw $v1, 0x50($sp) -.L7F089C1C: -/* 0BE74C 7F089C1C 44806000 */ mtc1 $zero, $f12 -/* 0BE750 7F089C20 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE754 7F089C24 10600010 */ beqz $v1, .L7F089C68 -/* 0BE758 7F089C28 00000000 */ nop -/* 0BE75C 7F089C2C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE760 7F089C30 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 0BE764 7F089C34 C44000E0 */ lwc1 $f0, 0xe0($v0) -/* 0BE768 7F089C38 C4422A40 */ lwc1 $f2, 0x2a40($v0) -/* 0BE76C 7F089C3C 46020102 */ mul.s $f4, $f0, $f2 -/* 0BE770 7F089C40 4604903E */ c.le.s $f18, $f4 -/* 0BE774 7F089C44 00000000 */ nop -/* 0BE778 7F089C48 45000007 */ bc1f .L7F089C68 -/* 0BE77C 7F089C4C 00000000 */ nop -/* 0BE780 7F089C50 46029283 */ div.s $f10, $f18, $f2 -/* 0BE784 7F089C54 460A0201 */ sub.s $f8, $f0, $f10 -/* 0BE788 7F089C58 E44800E0 */ swc1 $f8, 0xe0($v0) -/* 0BE78C 7F089C5C 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE790 7F089C60 1000005D */ b .L7F089DD8 -/* 0BE794 7F089C64 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -.L7F089C68: -/* 0BE798 7F089C68 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE79C 7F089C6C 1060000F */ beqz $v1, .L7F089CAC -/* 0BE7A0 7F089C70 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE7A4 7F089C74 C44600E0 */ lwc1 $f6, 0xe0($v0) -/* 0BE7A8 7F089C78 C4502A40 */ lwc1 $f16, 0x2a40($v0) -/* 0BE7AC 7F089C7C C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 0BE7B0 7F089C80 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BE7B4 7F089C84 46103103 */ div.s $f4, $f6, $f16 -/* 0BE7B8 7F089C88 3C188008 */ lui $t8, %hi(pPlayer) -/* 0BE7BC 7F089C8C 44814000 */ mtc1 $at, $f8 -/* 0BE7C0 7F089C90 46049281 */ sub.s $f10, $f18, $f4 -/* 0BE7C4 7F089C94 E7AA003C */ swc1 $f10, 0x3c($sp) -/* 0BE7C8 7F089C98 E44C00E0 */ swc1 $f12, 0xe0($v0) -/* 0BE7CC 7F089C9C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0BE7D0 7F089CA0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE7D4 7F089CA4 E7082A40 */ swc1 $f8, 0x2a40($t8) -/* 0BE7D8 7F089CA8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -.L7F089CAC: -/* 0BE7DC 7F089CAC C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0BE7E0 7F089CB0 C4502A3C */ lwc1 $f16, 0x2a3c($v0) -/* 0BE7E4 7F089CB4 C44400DC */ lwc1 $f4, 0xdc($v0) -/* 0BE7E8 7F089CB8 46103483 */ div.s $f18, $f6, $f16 -/* 0BE7EC 7F089CBC 46122281 */ sub.s $f10, $f4, $f18 -/* 0BE7F0 7F089CC0 E44A00DC */ swc1 $f10, 0xdc($v0) -/* 0BE7F4 7F089CC4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE7F8 7F089CC8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE7FC 7F089CCC C44800DC */ lwc1 $f8, 0xdc($v0) -/* 0BE800 7F089CD0 460C403E */ c.le.s $f8, $f12 -/* 0BE804 7F089CD4 00000000 */ nop -/* 0BE808 7F089CD8 45020040 */ bc1fl .L7F089DDC -/* 0BE80C 7F089CDC 8C4B00F4 */ lw $t3, 0xf4($v0) -/* 0BE810 7F089CE0 0FC26919 */ jal get_num_players -/* 0BE814 7F089CE4 00000000 */ nop -/* 0BE818 7F089CE8 28410002 */ slti $at, $v0, 2 -/* 0BE81C 7F089CEC 14200036 */ bnez $at, .L7F089DC8 -/* 0BE820 7F089CF0 00000000 */ nop -/* 0BE824 7F089CF4 0FC26C54 */ jal get_cur_playernum -/* 0BE828 7F089CF8 00000000 */ nop -/* 0BE82C 7F089CFC AFA2002C */ sw $v0, 0x2c($sp) -/* 0BE830 7F089D00 0FC051D6 */ jal get_scenario -/* 0BE834 7F089D04 AFA00028 */ sw $zero, 0x28($sp) -/* 0BE838 7F089D08 24010003 */ li $at, 3 -/* 0BE83C 7F089D0C 54410007 */ bnel $v0, $at, .L7F089D2C -/* 0BE840 7F089D10 8FA8002C */ lw $t0, 0x2c($sp) -/* 0BE844 7F089D14 0FC233F0 */ jal checkforgoldengun -/* 0BE848 7F089D18 00000000 */ nop -/* 0BE84C 7F089D1C 10400002 */ beqz $v0, .L7F089D28 -/* 0BE850 7F089D20 24190001 */ li $t9, 1 -/* 0BE854 7F089D24 AFB90028 */ sw $t9, 0x28($sp) -.L7F089D28: -/* 0BE858 7F089D28 8FA8002C */ lw $t0, 0x2c($sp) -.L7F089D2C: -/* 0BE85C 7F089D2C 8FA9004C */ lw $t1, 0x4c($sp) -/* 0BE860 7F089D30 11090005 */ beq $t0, $t1, .L7F089D48 -/* 0BE864 7F089D34 00000000 */ nop -/* 0BE868 7F089D38 0FC159DF */ jal drop_inventory -/* 0BE86C 7F089D3C 00000000 */ nop -/* 0BE870 7F089D40 0FC1AA57 */ jal increment_num_deaths -/* 0BE874 7F089D44 00000000 */ nop -.L7F089D48: -/* 0BE878 7F089D48 0FC26C43 */ jal set_cur_player -/* 0BE87C 7F089D4C 8FA4004C */ lw $a0, 0x4c($sp) -/* 0BE880 7F089D50 8FAA002C */ lw $t2, 0x2c($sp) -/* 0BE884 7F089D54 8FAB004C */ lw $t3, 0x4c($sp) -/* 0BE888 7F089D58 154B0005 */ bne $t2, $t3, .L7F089D70 -/* 0BE88C 7F089D5C 00000000 */ nop -/* 0BE890 7F089D60 0FC1AA86 */ jal increment_num_suicides_display_MP -/* 0BE894 7F089D64 00000000 */ nop -/* 0BE898 7F089D68 10000008 */ b .L7F089D8C -/* 0BE89C 7F089D6C 00000000 */ nop -.L7F089D70: -/* 0BE8A0 7F089D70 0FC1A9E0 */ jal increment_num_kills_display_text_in_MP -/* 0BE8A4 7F089D74 00000000 */ nop -/* 0BE8A8 7F089D78 8FAC0028 */ lw $t4, 0x28($sp) -/* 0BE8AC 7F089D7C 11800003 */ beqz $t4, .L7F089D8C -/* 0BE8B0 7F089D80 00000000 */ nop -/* 0BE8B4 7F089D84 0FC1AA4D */ jal increment_num_times_killed_MwtGC -/* 0BE8B8 7F089D88 00000000 */ nop -.L7F089D8C: -/* 0BE8BC 7F089D8C 0FC26C43 */ jal set_cur_player -/* 0BE8C0 7F089D90 8FA4002C */ lw $a0, 0x2c($sp) -/* 0BE8C4 7F089D94 8FAD004C */ lw $t5, 0x4c($sp) -/* 0BE8C8 7F089D98 8FAF002C */ lw $t7, 0x2c($sp) -/* 0BE8CC 7F089D9C 3C088008 */ lui $t0, %hi(player1_player_data) -/* 0BE8D0 7F089DA0 000D70C0 */ sll $t6, $t5, 3 -/* 0BE8D4 7F089DA4 01CD7023 */ subu $t6, $t6, $t5 -/* 0BE8D8 7F089DA8 000E7100 */ sll $t6, $t6, 4 -/* 0BE8DC 7F089DAC 000FC080 */ sll $t8, $t7, 2 -/* 0BE8E0 7F089DB0 01D8C821 */ addu $t9, $t6, $t8 -/* 0BE8E4 7F089DB4 25089EF0 */ addiu $t0, %lo(player1_player_data) # addiu $t0, $t0, -0x6110 -/* 0BE8E8 7F089DB8 03281021 */ addu $v0, $t9, $t0 -/* 0BE8EC 7F089DBC 8C490024 */ lw $t1, 0x24($v0) -/* 0BE8F0 7F089DC0 252A0001 */ addiu $t2, $t1, 1 -/* 0BE8F4 7F089DC4 AC4A0024 */ sw $t2, 0x24($v0) -.L7F089DC8: -/* 0BE8F8 7F089DC8 0FC225EA */ jal kill_current_player -/* 0BE8FC 7F089DCC 00000000 */ nop -/* 0BE900 7F089DD0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE904 7F089DD4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -.L7F089DD8: -/* 0BE908 7F089DD8 8C4B00F4 */ lw $t3, 0xf4($v0) -.L7F089DDC: -/* 0BE90C 7F089DDC C7A60044 */ lwc1 $f6, 0x44($sp) -/* 0BE910 7F089DE0 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0BE914 7F089DE4 0561000E */ bgez $t3, .L7F089E20 -/* 0BE918 7F089DE8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0BE91C 7F089DEC 46063400 */ add.s $f16, $f6, $f6 -/* 0BE920 7F089DF0 C4440180 */ lwc1 $f4, 0x180($v0) -/* 0BE924 7F089DF4 46102480 */ add.s $f18, $f4, $f16 -/* 0BE928 7F089DF8 E4520180 */ swc1 $f18, 0x180($v0) -/* 0BE92C 7F089DFC C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 0BE930 7F089E00 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE934 7F089E04 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BE938 7F089E08 460A5200 */ add.s $f8, $f10, $f10 -/* 0BE93C 7F089E0C C4460188 */ lwc1 $f6, 0x188($v0) -/* 0BE940 7F089E10 46083100 */ add.s $f4, $f6, $f8 -/* 0BE944 7F089E14 E4440188 */ swc1 $f4, 0x188($v0) -/* 0BE948 7F089E18 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BE94C 7F089E1C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -.L7F089E20: -/* 0BE950 7F089E20 AC4000F4 */ sw $zero, 0xf4($v0) -/* 0BE954 7F089E24 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0BE958 7F089E28 24050044 */ li $a1, 68 -/* 0BE95C 7F089E2C 00003025 */ move $a2, $zero -/* 0BE960 7F089E30 AD8000F8 */ sw $zero, 0xf8($t4) -/* 0BE964 7F089E34 0C002382 */ jal play_sfx_a1 -/* 0BE968 7F089E38 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -.L7F089E3C: -/* 0BE96C 7F089E3C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F089E40: -/* 0BE970 7F089E40 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0BE974 7F089E44 03E00008 */ jr $ra -/* 0BE978 7F089E48 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel pi_800552B0 -.word 0x40490fdb /*3.1415927*/ -.text -glabel record_damage_kills -/* 0BEB60 7F089FF0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 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) -/* 0BEB78 7F08A008 AFA7004C */ sw $a3, 0x4c($sp) -/* 0BEB7C 7F08A00C C5C4005C */ lwc1 $f4, 0x5c($t6) -/* 0BEB80 7F08A010 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 0BEB84 7F08A014 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 0BEB88 7F08A018 460C2182 */ mul.s $f6, $f4, $f12 -/* 0BEB8C 7F08A01C E7A6003C */ swc1 $f6, 0x3c($sp) -/* 0BEB90 7F08A020 8DF801C8 */ lw $t8, 0x1c8($t7) -/* 0BEB94 7F08A024 13000013 */ beqz $t8, .Ljp7F08A074 -/* 0BEB98 7F08A028 00000000 */ nop -/* 0BEB9C 7F08A02C 0FC22A8D */ jal get_BONDdata_watch_armor -/* 0BEBA0 7F08A030 00000000 */ nop -/* 0BEBA4 7F08A034 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 -/* 0BEBA8 7F08A038 8C84A120 */ lw $a0, %lo(pPlayer)($a0) -/* 0BEBAC 7F08A03C 44070000 */ mfc1 $a3, $f0 -/* 0BEBB0 7F08A040 2405002E */ li $a1, 46 -/* 0BEBB4 7F08A044 24060001 */ li $a2, 1 -/* 0BEBB8 7F08A048 0FC28EB4 */ jal sub_GAME_7F0A2F30 -/* 0BEBBC 7F08A04C 248412B8 */ addiu $a0, $a0, 0x12b8 -/* 0BEBC0 7F08A050 0FC22A89 */ jal get_BONDdata_watch_health -/* 0BEBC4 7F08A054 00000000 */ nop -/* 0BEBC8 7F08A058 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 -/* 0BEBCC 7F08A05C 8C84A120 */ lw $a0, %lo(pPlayer)($a0) -/* 0BEBD0 7F08A060 44070000 */ mfc1 $a3, $f0 -/* 0BEBD4 7F08A064 2405002E */ li $a1, 46 -/* 0BEBD8 7F08A068 2406FFFF */ li $a2, -1 -/* 0BEBDC 7F08A06C 0FC28EB4 */ jal sub_GAME_7F0A2F30 -/* 0BEBE0 7F08A070 24841598 */ addiu $a0, $a0, 0x1598 -.Ljp7F08A074: -/* 0BEBE4 7F08A074 0FC26C01 */ jal get_num_players -/* 0BEBE8 7F08A078 00000000 */ nop -/* 0BEBEC 7F08A07C 28410002 */ slti $at, $v0, 2 -/* 0BEBF0 7F08A080 14200007 */ bnez $at, .Ljp7F08A0A0 -/* 0BEBF4 7F08A084 3C198009 */ lui $t9, %hi(stop_play_flag) # $t9, 0x8009 -/* 0BEBF8 7F08A088 8F39C770 */ lw $t9, %lo(stop_play_flag)($t9) -/* 0BEBFC 7F08A08C 3C088009 */ lui $t0, %hi(is_gameover_flag) # $t0, 0x8009 -/* 0BEC00 7F08A090 5720012D */ bnezl $t9, .Ljp7F08A548 -/* 0BEC04 7F08A094 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BEC08 7F08A098 8D08C774 */ lw $t0, %lo(is_gameover_flag)($t0) -/* 0BEC0C 7F08A09C 15000129 */ bnez $t0, .Ljp7F08A544 -.Ljp7F08A0A0: -/* 0BEC10 7F08A0A0 3C098003 */ lui $t1, %hi(in_tank_flag) # $t1, 0x8003 -/* 0BEC14 7F08A0A4 8D296488 */ lw $t1, %lo(in_tank_flag)($t1) -/* 0BEC18 7F08A0A8 24010001 */ li $at, 1 -/* 0BEC1C 7F08A0AC C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0BEC20 7F08A0B0 15210006 */ bne $t1, $at, .Ljp7F08A0CC -/* 0BEC24 7F08A0B4 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BEC28 7F08A0B8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0BEC2C 7F08A0BC 44815000 */ mtc1 $at, $f10 -/* 0BEC30 7F08A0C0 00000000 */ nop -/* 0BEC34 7F08A0C4 460A4402 */ mul.s $f16, $f8, $f10 -/* 0BEC38 7F08A0C8 E7B0003C */ swc1 $f16, 0x3c($sp) -.Ljp7F08A0CC: -/* 0BEC3C 7F08A0CC 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BEC40 7F08A0D0 8C4A00D8 */ lw $t2, 0xd8($v0) -/* 0BEC44 7F08A0D4 15400016 */ bnez $t2, .Ljp7F08A130 -/* 0BEC48 7F08A0D8 00000000 */ nop -/* 0BEC4C 7F08A0DC 904B12B6 */ lbu $t3, 0x12b6($v0) -/* 0BEC50 7F08A0E0 15600013 */ bnez $t3, .Ljp7F08A130 -/* 0BEC54 7F08A0E4 00000000 */ nop -/* 0BEC58 7F08A0E8 0FC26F3C */ jal get_cur_playernum -/* 0BEC5C 7F08A0EC 00000000 */ nop -/* 0BEC60 7F08A0F0 00402025 */ move $a0, $v0 -/* 0BEC64 7F08A0F4 0C00322E */ jal controller_7000C854 -/* 0BEC68 7F08A0F8 3C053E80 */ lui $a1, 0x3e80 -/* 0BEC6C 7F08A0FC 0FC29658 */ jal cur_player_get_control_type -/* 0BEC70 7F08A100 00000000 */ nop -/* 0BEC74 7F08A104 28410004 */ slti $at, $v0, 4 -/* 0BEC78 7F08A108 14200009 */ bnez $at, .Ljp7F08A130 -/* 0BEC7C 7F08A10C 00000000 */ nop -/* 0BEC80 7F08A110 0FC26F3C */ jal get_cur_playernum -/* 0BEC84 7F08A114 00000000 */ nop -/* 0BEC88 7F08A118 0FC26C01 */ jal get_num_players -/* 0BEC8C 7F08A11C AFA2001C */ sw $v0, 0x1c($sp) -/* 0BEC90 7F08A120 8FAC001C */ lw $t4, 0x1c($sp) -/* 0BEC94 7F08A124 3C053E80 */ lui $a1, 0x3e80 -/* 0BEC98 7F08A128 0C00322E */ jal controller_7000C854 -/* 0BEC9C 7F08A12C 004C2021 */ addu $a0, $v0, $t4 -.Ljp7F08A130: -/* 0BECA0 7F08A130 0FC26C01 */ jal get_num_players -/* 0BECA4 7F08A134 00000000 */ nop -/* 0BECA8 7F08A138 28410002 */ slti $at, $v0, 2 -/* 0BECAC 7F08A13C 14200010 */ bnez $at, .Ljp7F08A180 -/* 0BECB0 7F08A140 00000000 */ nop -/* 0BECB4 7F08A144 0FC05202 */ jal get_scenario -/* 0BECB8 7F08A148 00000000 */ nop -/* 0BECBC 7F08A14C 24010004 */ li $at, 4 -/* 0BECC0 7F08A150 1441000B */ bne $v0, $at, .Ljp7F08A180 -/* 0BECC4 7F08A154 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BECC8 7F08A158 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BECCC 7F08A15C C45200DC */ lwc1 $f18, 0xdc($v0) -/* 0BECD0 7F08A160 C4442A3C */ lwc1 $f4, 0x2a3c($v0) -/* 0BECD4 7F08A164 C44800E0 */ lwc1 $f8, 0xe0($v0) -/* 0BECD8 7F08A168 C44A2A40 */ lwc1 $f10, 0x2a40($v0) -/* 0BECDC 7F08A16C 46049182 */ mul.s $f6, $f18, $f4 -/* 0BECE0 7F08A170 00000000 */ nop -/* 0BECE4 7F08A174 460A4402 */ mul.s $f16, $f8, $f10 -/* 0BECE8 7F08A178 46103480 */ add.s $f18, $f6, $f16 -/* 0BECEC 7F08A17C E7B2003C */ swc1 $f18, 0x3c($sp) -.Ljp7F08A180: -/* 0BECF0 7F08A180 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BECF4 7F08A184 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BECF8 7F08A188 904D12B6 */ lbu $t5, 0x12b6($v0) -/* 0BECFC 7F08A18C 55A000EE */ bnezl $t5, .Ljp7F08A548 -/* 0BED00 7F08A190 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BED04 7F08A194 8C4E00D8 */ lw $t6, 0xd8($v0) -/* 0BED08 7F08A198 3C0F8003 */ lui $t7, %hi(disable_player_pickups_flag) # $t7, 0x8003 -/* 0BED0C 7F08A19C 55C000EA */ bnezl $t6, .Ljp7F08A548 -/* 0BED10 7F08A1A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BED14 7F08A1A4 8DEF64F4 */ lw $t7, %lo(disable_player_pickups_flag)($t7) -/* 0BED18 7F08A1A8 55E000E7 */ bnezl $t7, .Ljp7F08A548 -/* 0BED1C 7F08A1AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BED20 7F08A1B0 C44400F4 */ lwc1 $f4, 0xf4($v0) -/* 0BED24 7F08A1B4 44804000 */ mtc1 $zero, $f8 -/* 0BED28 7F08A1B8 00000000 */ nop -/* 0BED2C 7F08A1BC 4608203C */ c.lt.s $f4, $f8 -/* 0BED30 7F08A1C0 00000000 */ nop -/* 0BED34 7F08A1C4 4503000E */ bc1tl .Ljp7F08A200 -/* 0BED38 7F08A1C8 8C4301C8 */ lw $v1, 0x1c8($v0) -/* 0BED3C 7F08A1CC 0FC26C01 */ jal get_num_players -/* 0BED40 7F08A1D0 00000000 */ nop -/* 0BED44 7F08A1D4 28410002 */ slti $at, $v0, 2 -/* 0BED48 7F08A1D8 142000DA */ bnez $at, .Ljp7F08A544 -/* 0BED4C 7F08A1DC 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BED50 7F08A1E0 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BED54 7F08A1E4 44805000 */ mtc1 $zero, $f10 -/* 0BED58 7F08A1E8 C44600F4 */ lwc1 $f6, 0xf4($v0) -/* 0BED5C 7F08A1EC 46065032 */ c.eq.s $f10, $f6 -/* 0BED60 7F08A1F0 00000000 */ nop -/* 0BED64 7F08A1F4 450200D4 */ bc1fl .Ljp7F08A548 -/* 0BED68 7F08A1F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BED6C 7F08A1FC 8C4301C8 */ lw $v1, 0x1c8($v0) -.Ljp7F08A200: -/* 0BED70 7F08A200 24010005 */ li $at, 5 -/* 0BED74 7F08A204 106100CF */ beq $v1, $at, .Ljp7F08A544 -/* 0BED78 7F08A208 2401000C */ li $at, 12 -/* 0BED7C 7F08A20C 506100CE */ beql $v1, $at, .Ljp7F08A548 -/* 0BED80 7F08A210 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BED84 7F08A214 C45000DC */ lwc1 $f16, 0xdc($v0) -/* 0BED88 7F08A218 E45000E4 */ swc1 $f16, 0xe4($v0) -/* 0BED8C 7F08A21C 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BED90 7F08A220 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BED94 7F08A224 C45200E0 */ lwc1 $f18, 0xe0($v0) -/* 0BED98 7F08A228 0FC26C01 */ jal get_num_players -/* 0BED9C 7F08A22C E45200E8 */ swc1 $f18, 0xe8($v0) -/* 0BEDA0 7F08A230 28410002 */ slti $at, $v0, 2 -/* 0BEDA4 7F08A234 54200035 */ bnezl $at, .Ljp7F08A30C -/* 0BEDA8 7F08A238 8FA30050 */ lw $v1, 0x50($sp) -/* 0BEDAC 7F08A23C 0FC26F3C */ jal get_cur_playernum -/* 0BEDB0 7F08A240 00000000 */ nop -/* 0BEDB4 7F08A244 AFA20038 */ sw $v0, 0x38($sp) -/* 0BEDB8 7F08A248 C7AC0044 */ lwc1 $f12, 0x44($sp) -/* 0BEDBC 7F08A24C 0FC16BD4 */ jal convert_angle_using_inverse -/* 0BEDC0 7F08A250 C7AE0048 */ lwc1 $f14, 0x48($sp) -/* 0BEDC4 7F08A254 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0BEDC8 7F08A258 44812000 */ mtc1 $at, $f4 -/* 0BEDCC 7F08A25C 3C018005 */ lui $at, %hi(pi_800552B0) # $at, 0x8005 -/* 0BEDD0 7F08A260 C42A52E0 */ lwc1 $f10, %lo(pi_800552B0)($at) -/* 0BEDD4 7F08A264 46040202 */ mul.s $f8, $f0, $f4 -/* 0BEDD8 7F08A268 8FB80038 */ lw $t8, 0x38($sp) -/* 0BEDDC 7F08A26C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BEDE0 7F08A270 3C088008 */ lui $t0, %hi(ptr_BONDdata_p1) -/* 0BEDE4 7F08A274 0018C880 */ sll $t9, $t8, 2 -/* 0BEDE8 7F08A278 44818000 */ mtc1 $at, $f16 -/* 0BEDEC 7F08A27C 01194021 */ addu $t0, $t0, $t9 -/* 0BEDF0 7F08A280 460A4183 */ div.s $f6, $f8, $f10 -/* 0BEDF4 7F08A284 8D089F50 */ lw $t0, %lo(ptr_BONDdata_p1)($t0) -/* 0BEDF8 7F08A288 44806000 */ mtc1 $zero, $f12 -/* 0BEDFC 7F08A28C 8FA9004C */ lw $t1, 0x4c($sp) -/* 0BEE00 7F08A290 C5040148 */ lwc1 $f4, 0x148($t0) -/* 0BEE04 7F08A294 3C0142B4 */ li $at, 0x42B40000 # 90.000000 -/* 0BEE08 7F08A298 000950C0 */ sll $t2, $t1, 3 -/* 0BEE0C 7F08A29C 3C0B8008 */ lui $t3, %hi(player1_player_data) # $t3, 0x8008 -/* 0BEE10 7F08A2A0 01495023 */ subu $t2, $t2, $t1 -/* 0BEE14 7F08A2A4 44814000 */ mtc1 $at, $f8 -/* 0BEE18 7F08A2A8 000A5100 */ sll $t2, $t2, 4 -/* 0BEE1C 7F08A2AC 256B9F60 */ addiu $t3, %lo(player1_player_data) # addiu $t3, $t3, -0x60a0 -/* 0BEE20 7F08A2B0 3C014387 */ li $at, 0x43870000 # 270.000000 -/* 0BEE24 7F08A2B4 014B1021 */ addu $v0, $t2, $t3 -/* 0BEE28 7F08A2B8 46068481 */ sub.s $f18, $f16, $f6 -/* 0BEE2C 7F08A2BC 46122081 */ sub.s $f2, $f4, $f18 -/* 0BEE30 7F08A2C0 460C103C */ c.lt.s $f2, $f12 -/* 0BEE34 7F08A2C4 00000000 */ nop -/* 0BEE38 7F08A2C8 45020003 */ bc1fl .Ljp7F08A2D8 -/* 0BEE3C 7F08A2CC 4608103C */ c.lt.s $f2, $f8 -/* 0BEE40 7F08A2D0 46001087 */ neg.s $f2, $f2 -/* 0BEE44 7F08A2D4 4608103C */ c.lt.s $f2, $f8 -.Ljp7F08A2D8: -/* 0BEE48 7F08A2D8 00000000 */ nop -/* 0BEE4C 7F08A2DC 45030008 */ bc1tl .Ljp7F08A300 -/* 0BEE50 7F08A2E0 8C4C003C */ lw $t4, 0x3c($v0) -/* 0BEE54 7F08A2E4 44815000 */ mtc1 $at, $f10 -/* 0BEE58 7F08A2E8 00000000 */ nop -/* 0BEE5C 7F08A2EC 4602503C */ c.lt.s $f10, $f2 -/* 0BEE60 7F08A2F0 00000000 */ nop -/* 0BEE64 7F08A2F4 45020005 */ bc1fl .Ljp7F08A30C -/* 0BEE68 7F08A2F8 8FA30050 */ lw $v1, 0x50($sp) -/* 0BEE6C 7F08A2FC 8C4C003C */ lw $t4, 0x3c($v0) -.Ljp7F08A300: -/* 0BEE70 7F08A300 258D0001 */ addiu $t5, $t4, 1 -/* 0BEE74 7F08A304 AC4D003C */ sw $t5, 0x3c($v0) -/* 0BEE78 7F08A308 8FA30050 */ lw $v1, 0x50($sp) -.Ljp7F08A30C: -/* 0BEE7C 7F08A30C 44806000 */ mtc1 $zero, $f12 -/* 0BEE80 7F08A310 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BEE84 7F08A314 10600010 */ beqz $v1, .Ljp7F08A358 -/* 0BEE88 7F08A318 00000000 */ nop -/* 0BEE8C 7F08A31C 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BEE90 7F08A320 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0BEE94 7F08A324 C44000E0 */ lwc1 $f0, 0xe0($v0) -/* 0BEE98 7F08A328 C4422A40 */ lwc1 $f2, 0x2a40($v0) -/* 0BEE9C 7F08A32C 46020402 */ mul.s $f16, $f0, $f2 -/* 0BEEA0 7F08A330 4610303E */ c.le.s $f6, $f16 -/* 0BEEA4 7F08A334 00000000 */ nop -/* 0BEEA8 7F08A338 45000007 */ bc1f .Ljp7F08A358 -/* 0BEEAC 7F08A33C 00000000 */ nop -/* 0BEEB0 7F08A340 46023103 */ div.s $f4, $f6, $f2 -/* 0BEEB4 7F08A344 46040481 */ sub.s $f18, $f0, $f4 -/* 0BEEB8 7F08A348 E45200E0 */ swc1 $f18, 0xe0($v0) -/* 0BEEBC 7F08A34C 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BEEC0 7F08A350 1000005E */ b .Ljp7F08A4CC -/* 0BEEC4 7F08A354 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -.Ljp7F08A358: -/* 0BEEC8 7F08A358 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BEECC 7F08A35C 1060000F */ beqz $v1, .Ljp7F08A39C -/* 0BEED0 7F08A360 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BEED4 7F08A364 C44800E0 */ lwc1 $f8, 0xe0($v0) -/* 0BEED8 7F08A368 C44A2A40 */ lwc1 $f10, 0x2a40($v0) -/* 0BEEDC 7F08A36C C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0BEEE0 7F08A370 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BEEE4 7F08A374 460A4403 */ div.s $f16, $f8, $f10 -/* 0BEEE8 7F08A378 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0BEEEC 7F08A37C 44819000 */ mtc1 $at, $f18 -/* 0BEEF0 7F08A380 46103101 */ sub.s $f4, $f6, $f16 -/* 0BEEF4 7F08A384 E7A4003C */ swc1 $f4, 0x3c($sp) -/* 0BEEF8 7F08A388 E44C00E0 */ swc1 $f12, 0xe0($v0) -/* 0BEEFC 7F08A38C 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0BEF00 7F08A390 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BEF04 7F08A394 E5D22A40 */ swc1 $f18, 0x2a40($t6) -/* 0BEF08 7F08A398 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -.Ljp7F08A39C: -/* 0BEF0C 7F08A39C C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0BEF10 7F08A3A0 C44A2A3C */ lwc1 $f10, 0x2a3c($v0) -/* 0BEF14 7F08A3A4 C45000DC */ lwc1 $f16, 0xdc($v0) -/* 0BEF18 7F08A3A8 460A4183 */ div.s $f6, $f8, $f10 -/* 0BEF1C 7F08A3AC 46068101 */ sub.s $f4, $f16, $f6 -/* 0BEF20 7F08A3B0 E44400DC */ swc1 $f4, 0xdc($v0) -/* 0BEF24 7F08A3B4 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BEF28 7F08A3B8 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BEF2C 7F08A3BC C45200DC */ lwc1 $f18, 0xdc($v0) -/* 0BEF30 7F08A3C0 460C903E */ c.le.s $f18, $f12 -/* 0BEF34 7F08A3C4 00000000 */ nop -/* 0BEF38 7F08A3C8 45020041 */ bc1fl .Ljp7F08A4D0 -/* 0BEF3C 7F08A3CC C44800F4 */ lwc1 $f8, 0xf4($v0) -/* 0BEF40 7F08A3D0 0FC26C01 */ jal get_num_players -/* 0BEF44 7F08A3D4 00000000 */ nop -/* 0BEF48 7F08A3D8 28410002 */ slti $at, $v0, 2 -/* 0BEF4C 7F08A3DC 14200036 */ bnez $at, .Ljp7F08A4B8 -/* 0BEF50 7F08A3E0 00000000 */ nop -/* 0BEF54 7F08A3E4 0FC26F3C */ jal get_cur_playernum -/* 0BEF58 7F08A3E8 00000000 */ nop -/* 0BEF5C 7F08A3EC AFA2002C */ sw $v0, 0x2c($sp) -/* 0BEF60 7F08A3F0 0FC05202 */ jal get_scenario -/* 0BEF64 7F08A3F4 AFA00028 */ sw $zero, 0x28($sp) -/* 0BEF68 7F08A3F8 24010003 */ li $at, 3 -/* 0BEF6C 7F08A3FC 14410006 */ bne $v0, $at, .Ljp7F08A418 -/* 0BEF70 7F08A400 00000000 */ nop -/* 0BEF74 7F08A404 0FC23649 */ jal checkforgoldengun -/* 0BEF78 7F08A408 00000000 */ nop -/* 0BEF7C 7F08A40C 10400002 */ beqz $v0, .Ljp7F08A418 -/* 0BEF80 7F08A410 240F0001 */ li $t7, 1 -/* 0BEF84 7F08A414 AFAF0028 */ sw $t7, 0x28($sp) -.Ljp7F08A418: -/* 0BEF88 7F08A418 0FC15B1E */ jal drop_inventory -/* 0BEF8C 7F08A41C 00000000 */ nop -/* 0BEF90 7F08A420 8FB8002C */ lw $t8, 0x2c($sp) -/* 0BEF94 7F08A424 8FB9004C */ lw $t9, 0x4c($sp) -/* 0BEF98 7F08A428 13190003 */ beq $t8, $t9, .Ljp7F08A438 -/* 0BEF9C 7F08A42C 00000000 */ nop -/* 0BEFA0 7F08A430 0FC1ABD2 */ jal increment_num_deaths -/* 0BEFA4 7F08A434 00000000 */ nop -.Ljp7F08A438: -/* 0BEFA8 7F08A438 0FC26F2B */ jal set_cur_player -/* 0BEFAC 7F08A43C 8FA4004C */ lw $a0, 0x4c($sp) -/* 0BEFB0 7F08A440 8FA8002C */ lw $t0, 0x2c($sp) -/* 0BEFB4 7F08A444 8FA9004C */ lw $t1, 0x4c($sp) -/* 0BEFB8 7F08A448 15090005 */ bne $t0, $t1, .Ljp7F08A460 -/* 0BEFBC 7F08A44C 00000000 */ nop -/* 0BEFC0 7F08A450 0FC1AC01 */ jal increment_num_suicides_display_MP -/* 0BEFC4 7F08A454 00000000 */ nop -/* 0BEFC8 7F08A458 10000008 */ b .Ljp7F08A47C -/* 0BEFCC 7F08A45C 00000000 */ nop -.Ljp7F08A460: -/* 0BEFD0 7F08A460 0FC1AB5B */ jal increment_num_kills_display_text_in_MP -/* 0BEFD4 7F08A464 00000000 */ nop -/* 0BEFD8 7F08A468 8FAA0028 */ lw $t2, 0x28($sp) -/* 0BEFDC 7F08A46C 11400003 */ beqz $t2, .Ljp7F08A47C -/* 0BEFE0 7F08A470 00000000 */ nop -/* 0BEFE4 7F08A474 0FC1ABC8 */ jal increment_num_times_killed_MwtGC -/* 0BEFE8 7F08A478 00000000 */ nop -.Ljp7F08A47C: -/* 0BEFEC 7F08A47C 0FC26F2B */ jal set_cur_player -/* 0BEFF0 7F08A480 8FA4002C */ lw $a0, 0x2c($sp) -/* 0BEFF4 7F08A484 8FAB004C */ lw $t3, 0x4c($sp) -/* 0BEFF8 7F08A488 8FAD002C */ lw $t5, 0x2c($sp) -/* 0BEFFC 7F08A48C 3C188008 */ lui $t8, %hi(player1_player_data) # $t8, 0x8008 -/* 0BF000 7F08A490 000B60C0 */ sll $t4, $t3, 3 -/* 0BF004 7F08A494 018B6023 */ subu $t4, $t4, $t3 -/* 0BF008 7F08A498 000C6100 */ sll $t4, $t4, 4 -/* 0BF00C 7F08A49C 000D7080 */ sll $t6, $t5, 2 -/* 0BF010 7F08A4A0 018E7821 */ addu $t7, $t4, $t6 -/* 0BF014 7F08A4A4 27189F60 */ addiu $t8, %lo(player1_player_data) # addiu $t8, $t8, -0x60a0 -/* 0BF018 7F08A4A8 01F81021 */ addu $v0, $t7, $t8 -/* 0BF01C 7F08A4AC 8C590024 */ lw $t9, 0x24($v0) -/* 0BF020 7F08A4B0 27280001 */ addiu $t0, $t9, 1 -/* 0BF024 7F08A4B4 AC480024 */ sw $t0, 0x24($v0) -.Ljp7F08A4B8: -/* 0BF028 7F08A4B8 0FC2279F */ jal kill_current_player -/* 0BF02C 7F08A4BC 00000000 */ nop -/* 0BF030 7F08A4C0 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BF034 7F08A4C4 44806000 */ mtc1 $zero, $f12 -/* 0BF038 7F08A4C8 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -.Ljp7F08A4CC: -/* 0BF03C 7F08A4CC C44800F4 */ lwc1 $f8, 0xf4($v0) -.Ljp7F08A4D0: -/* 0BF040 7F08A4D0 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 0BF044 7F08A4D4 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0BF048 7F08A4D8 460C403C */ c.lt.s $f8, $f12 -/* 0BF04C 7F08A4DC 00000000 */ nop -/* 0BF050 7F08A4E0 4502000F */ bc1fl .Ljp7F08A520 -/* 0BF054 7F08A4E4 E44C00F4 */ swc1 $f12, 0xf4($v0) -/* 0BF058 7F08A4E8 460A5400 */ add.s $f16, $f10, $f10 -/* 0BF05C 7F08A4EC C4460180 */ lwc1 $f6, 0x180($v0) -/* 0BF060 7F08A4F0 46103100 */ add.s $f4, $f6, $f16 -/* 0BF064 7F08A4F4 E4440180 */ swc1 $f4, 0x180($v0) -/* 0BF068 7F08A4F8 C7B20048 */ lwc1 $f18, 0x48($sp) -/* 0BF06C 7F08A4FC 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BF070 7F08A500 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BF074 7F08A504 46129200 */ add.s $f8, $f18, $f18 -/* 0BF078 7F08A508 C44A0188 */ lwc1 $f10, 0x188($v0) -/* 0BF07C 7F08A50C 46085180 */ add.s $f6, $f10, $f8 -/* 0BF080 7F08A510 E4460188 */ swc1 $f6, 0x188($v0) -/* 0BF084 7F08A514 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BF088 7F08A518 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BF08C 7F08A51C E44C00F4 */ swc1 $f12, 0xf4($v0) -.Ljp7F08A520: -/* 0BF090 7F08A520 8D29A120 */ lw $t1, %lo(pPlayer)($t1) -/* 0BF094 7F08A524 0FC3021B */ jal get_controls_locked_flag -/* 0BF098 7F08A528 E52C00F8 */ swc1 $f12, 0xf8($t1) -/* 0BF09C 7F08A52C 14400005 */ bnez $v0, .Ljp7F08A544 -/* 0BF0A0 7F08A530 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0BF0A4 7F08A534 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0BF0A8 7F08A538 24050044 */ li $a1, 68 -/* 0BF0AC 7F08A53C 0C002386 */ jal play_sfx_a1 -/* 0BF0B0 7F08A540 00003025 */ move $a2, $zero -.Ljp7F08A544: -/* 0BF0B4 7F08A544 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08A548: -/* 0BF0B8 7F08A548 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0BF0BC 7F08A54C 03E00008 */ jr $ra -/* 0BF0C0 7F08A550 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F089E4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F089E4C -/* 0BE97C 7F089E4C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BE980 7F089E50 AFBF001C */ sw $ra, 0x1c($sp) -/* 0BE984 7F089E54 E7AC0028 */ swc1 $f12, 0x28($sp) -/* 0BE988 7F089E58 E7AE002C */ swc1 $f14, 0x2c($sp) -/* 0BE98C 7F089E5C AFA60030 */ sw $a2, 0x30($sp) -/* 0BE990 7F089E60 AFA70034 */ sw $a3, 0x34($sp) -/* 0BE994 7F089E64 0FC15FAB */ jal sinf -/* 0BE998 7F089E68 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 0BE99C 7F089E6C E7A00020 */ swc1 $f0, 0x20($sp) -/* 0BE9A0 7F089E70 0FC15FA8 */ jal cosf -/* 0BE9A4 7F089E74 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 0BE9A8 7F089E78 8FAE0034 */ lw $t6, 0x34($sp) -/* 0BE9AC 7F089E7C 44060000 */ mfc1 $a2, $f0 -/* 0BE9B0 7F089E80 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 0BE9B4 7F089E84 C7AE0020 */ lwc1 $f14, 0x20($sp) -/* 0BE9B8 7F089E88 8FA70030 */ lw $a3, 0x30($sp) -/* 0BE9BC 7F089E8C 0FC22647 */ jal record_damage_kills -/* 0BE9C0 7F089E90 AFAE0010 */ sw $t6, 0x10($sp) -/* 0BE9C4 7F089E94 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BE9C8 7F089E98 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BE9CC 7F089E9C 03E00008 */ jr $ra -/* 0BE9D0 7F089EA0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_bond_is_invincible(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel check_if_bond_is_invincible -/* 0BE9D4 7F089EA4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BE9D8 7F089EA8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BE9DC 7F089EAC 8DC200F4 */ lw $v0, 0xf4($t6) -/* 0BE9E0 7F089EB0 284F0000 */ slti $t7, $v0, 0 -/* 0BE9E4 7F089EB4 03E00008 */ jr $ra -/* 0BE9E8 7F089EB8 39E20001 */ xori $v0, $t7, 1 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel check_if_bond_is_invincible -/* 0BF11C 7F08A5AC 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0BF120 7F08A5B0 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0BF124 7F08A5B4 44803000 */ mtc1 $zero, $f6 -/* 0BF128 7F08A5B8 00001025 */ move $v0, $zero -/* 0BF12C 7F08A5BC C5C400F4 */ lwc1 $f4, 0xf4($t6) -/* 0BF130 7F08A5C0 4604303E */ c.le.s $f6, $f4 -/* 0BF134 7F08A5C4 00000000 */ nop -/* 0BF138 7F08A5C8 45000002 */ bc1f .Ljp7F08A5D4 -/* 0BF13C 7F08A5CC 00000000 */ nop -/* 0BF140 7F08A5D0 24020001 */ li $v0, 1 -.Ljp7F08A5D4: -/* 0BF144 7F08A5D4 03E00008 */ jr $ra -/* 0BF148 7F08A5D8 00000000 */ nop -) -#endif - -#endif - - -#ifdef VERSION_US -int check_if_healthbar_timer_greater_than_0(void) { - return (0 < pPlayer->healthshowtime); -} -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel check_if_healthbar_timer_greater_than_0 -/* 0BF14C 7F08A5DC 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0BF150 7F08A5E0 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0BF154 7F08A5E4 44802000 */ mtc1 $zero, $f4 -/* 0BF158 7F08A5E8 00001025 */ move $v0, $zero -/* 0BF15C 7F08A5EC C5C600F8 */ lwc1 $f6, 0xf8($t6) -/* 0BF160 7F08A5F0 4606203C */ c.lt.s $f4, $f6 -/* 0BF164 7F08A5F4 00000000 */ nop -/* 0BF168 7F08A5F8 45000002 */ bc1f .Ljp7F08A604 -/* 0BF16C 7F08A5FC 00000000 */ nop -/* 0BF170 7F08A600 24020001 */ li $v0, 1 -.Ljp7F08A604: -/* 0BF174 7F08A604 03E00008 */ jr $ra -/* 0BF178 7F08A608 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_BONDdata_bondfadefracnew(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_BONDdata_bondfadefracnew -/* 0BEA04 7F089ED4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BEA08 7F089ED8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BEA0C 7F089EDC 03E00008 */ jr $ra -/* 0BEA10 7F089EE0 C5C0019C */ lwc1 $f0, 0x19c($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void get_curplay_horizontal_rotation_in_degrees(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel twopi_800552B4 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel get_curplay_horizontal_rotation_in_degrees -/* 0BEA14 7F089EE4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BEA18 7F089EE8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BEA1C 7F089EEC 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BEA20 7F089EF0 44811000 */ mtc1 $at, $f2 -/* 0BEA24 7F089EF4 C5C40148 */ lwc1 $f4, 0x148($t6) -/* 0BEA28 7F089EF8 3C018005 */ lui $at, %hi(twopi_800552B4) -/* 0BEA2C 7F089EFC C42852B4 */ lwc1 $f8, %lo(twopi_800552B4)($at) -/* 0BEA30 7F089F00 46041181 */ sub.s $f6, $f2, $f4 -/* 0BEA34 7F089F04 46083282 */ mul.s $f10, $f6, $f8 -/* 0BEA38 7F089F08 03E00008 */ jr $ra -/* 0BEA3C 7F089F0C 46025003 */ div.s $f0, $f10, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void get_curplay_vertical_rotation_in_degrees(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800552B8 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel get_curplay_vertical_rotation_in_degrees -/* 0BEA40 7F089F10 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BEA44 7F089F14 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BEA48 7F089F18 3C018005 */ lui $at, %hi(D_800552B8) -/* 0BEA4C 7F089F1C C42652B8 */ lwc1 $f6, %lo(D_800552B8)($at) -/* 0BEA50 7F089F20 C5C40158 */ lwc1 $f4, 0x158($t6) -/* 0BEA54 7F089F24 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0BEA58 7F089F28 44815000 */ mtc1 $at, $f10 -/* 0BEA5C 7F089F2C 46062202 */ mul.s $f8, $f4, $f6 -/* 0BEA60 7F089F30 03E00008 */ jr $ra -/* 0BEA64 7F089F34 460A4003 */ div.s $f0, $f8, $f10 -) -#endif - - -s32 sub_GAME_7F089F38(void) { - return pPlayer->field_D0; -} - - - - - - -#ifdef NONMATCHING -void set_bondata_invincible_flag(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_bondata_invincible_flag -/* 0BEA78 7F089F48 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BEA7C 7F089F4C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BEA80 7F089F50 03E00008 */ jr $ra -/* 0BEA84 7F089F54 A1C412B6 */ sb $a0, 0x12b6($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void get_bondata_invincible_flag(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_bondata_invincible_flag -/* 0BEA88 7F089F58 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BEA8C 7F089F5C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BEA90 7F089F60 03E00008 */ jr $ra -/* 0BEA94 7F089F64 91C212B6 */ lbu $v0, 0x12b6($t6) -) -#endif - - - -void set_invisible_to_guards_flag(s32 param_1) { - invisible_to_guards_flag = param_1; -} - -s32 get_invisible_to_guards_flag(void) { - return invisible_to_guards_flag; -} - -void set_obj_collision_flag(s32 flag) { - obj_collision_flag = flag; -} - -s32 get_obj_collision_flag(void) { - return obj_collision_flag; -} - - - - - - -#ifdef NONMATCHING -void get_cur_players_room(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_cur_players_room -/* 0BEAC8 7F089F98 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BEACC 7F089F9C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0BEAD0 7F089FA0 24010001 */ li $at, 1 -/* 0BEAD4 7F089FA4 8C6E0000 */ lw $t6, ($v1) -/* 0BEAD8 7F089FA8 55C10007 */ bnel $t6, $at, .L7F089FC8 -/* 0BEADC 7F089FAC 8C6F04D8 */ lw $t7, 0x4d8($v1) -/* 0BEAE0 7F089FB0 8C640034 */ lw $a0, 0x34($v1) -/* 0BEAE4 7F089FB4 50800004 */ beql $a0, $zero, .L7F089FC8 -/* 0BEAE8 7F089FB8 8C6F04D8 */ lw $t7, 0x4d8($v1) -/* 0BEAEC 7F089FBC 03E00008 */ jr $ra -/* 0BEAF0 7F089FC0 90820003 */ lbu $v0, 3($a0) - -/* 0BEAF4 7F089FC4 8C6F04D8 */ lw $t7, 0x4d8($v1) -.L7F089FC8: -/* 0BEAF8 7F089FC8 91E20003 */ lbu $v0, 3($t7) -/* 0BEAFC 7F089FCC 03E00008 */ jr $ra -/* 0BEB00 7F089FD0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_BONDdata_position(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_BONDdata_position -/* 0BEB04 7F089FD4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BEB08 7F089FD8 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0BEB0C 7F089FDC 24010001 */ li $at, 1 -/* 0BEB10 7F089FE0 8C6E0000 */ lw $t6, ($v1) -/* 0BEB14 7F089FE4 246204B4 */ addiu $v0, $v1, 0x4b4 -/* 0BEB18 7F089FE8 15C10003 */ bne $t6, $at, .L7F089FF8 -/* 0BEB1C 7F089FEC 00000000 */ nop -/* 0BEB20 7F089FF0 03E00008 */ jr $ra -/* 0BEB24 7F089FF4 24620004 */ addiu $v0, $v1, 4 - -.L7F089FF8: -/* 0BEB28 7F089FF8 03E00008 */ jr $ra -/* 0BEB2C 7F089FFC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_BONDdata_position3(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_BONDdata_position3 -/* 0BEB30 7F08A000 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BEB34 7F08A004 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0BEB38 7F08A008 24010001 */ li $at, 1 -/* 0BEB3C 7F08A00C 8C6E0000 */ lw $t6, ($v1) -/* 0BEB40 7F08A010 246204A4 */ addiu $v0, $v1, 0x4a4 -/* 0BEB44 7F08A014 15C10003 */ bne $t6, $at, .L7F08A024 -/* 0BEB48 7F08A018 00000000 */ nop -/* 0BEB4C 7F08A01C 03E00008 */ jr $ra -/* 0BEB50 7F08A020 24620028 */ addiu $v0, $v1, 0x28 - -.L7F08A024: -/* 0BEB54 7F08A024 03E00008 */ jr $ra -/* 0BEB58 7F08A028 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_BONDdata_field408(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_BONDdata_field408 -/* 0BEB5C 7F08A02C 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BEB60 7F08A030 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BEB64 7F08A034 03E00008 */ jr $ra -/* 0BEB68 7F08A038 24420408 */ addiu $v0, $v0, 0x408 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08A03C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A03C -/* 0BEB6C 7F08A03C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BEB70 7F08A040 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BEB74 7F08A044 AFA40020 */ sw $a0, 0x20($sp) -/* 0BEB78 7F08A048 0FC26C57 */ jal sub_GAME_7F09B15C -/* 0BEB7C 7F08A04C AFA50024 */ sw $a1, 0x24($sp) -/* 0BEB80 7F08A050 8FAE0020 */ lw $t6, 0x20($sp) -/* 0BEB84 7F08A054 AFA2001C */ sw $v0, 0x1c($sp) -/* 0BEB88 7F08A058 8DC40004 */ lw $a0, 4($t6) -/* 0BEB8C 7F08A05C 10800003 */ beqz $a0, .L7F08A06C -/* 0BEB90 7F08A060 00000000 */ nop -/* 0BEB94 7F08A064 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 0BEB98 7F08A068 8FA50024 */ lw $a1, 0x24($sp) -.L7F08A06C: -/* 0BEB9C 7F08A06C 3C048003 */ lui $a0, %hi(ptr_playerstank) -/* 0BEBA0 7F08A070 8C846450 */ lw $a0, %lo(ptr_playerstank)($a0) -/* 0BEBA4 7F08A074 50800004 */ beql $a0, $zero, .L7F08A088 -/* 0BEBA8 7F08A078 8FB8001C */ lw $t8, 0x1c($sp) -/* 0BEBAC 7F08A07C 0FC13C86 */ jal sub_GAME_7F04F218 -/* 0BEBB0 7F08A080 8FA50024 */ lw $a1, 0x24($sp) -/* 0BEBB4 7F08A084 8FB8001C */ lw $t8, 0x1c($sp) -.L7F08A088: -/* 0BEBB8 7F08A088 3C088008 */ lui $t0, %hi(ptr_BONDdata_p1) -/* 0BEBBC 7F08A08C 8FAF0024 */ lw $t7, 0x24($sp) -/* 0BEBC0 7F08A090 0018C880 */ sll $t9, $t8, 2 -/* 0BEBC4 7F08A094 01194021 */ addu $t0, $t0, $t9 -/* 0BEBC8 7F08A098 8D089EE0 */ lw $t0, %lo(ptr_BONDdata_p1)($t0) -/* 0BEBCC 7F08A09C AD0F00AC */ sw $t7, 0xac($t0) -/* 0BEBD0 7F08A0A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BEBD4 7F08A0A4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BEBD8 7F08A0A8 03E00008 */ jr $ra -/* 0BEBDC 7F08A0AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08A0B0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A0B0 -/* 0BEBE0 7F08A0B0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BEBE4 7F08A0B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BEBE8 7F08A0B8 AFA50024 */ sw $a1, 0x24($sp) -/* 0BEBEC 7F08A0BC AFA60028 */ sw $a2, 0x28($sp) -/* 0BEBF0 7F08A0C0 0FC26C57 */ jal sub_GAME_7F09B15C -/* 0BEBF4 7F08A0C4 AFA7002C */ sw $a3, 0x2c($sp) -/* 0BEBF8 7F08A0C8 3C048008 */ lui $a0, %hi(ptr_BONDdata_p1) -/* 0BEBFC 7F08A0CC 24849EE0 */ addiu $a0, %lo(ptr_BONDdata_p1) # addiu $a0, $a0, -0x6120 -/* 0BEC00 7F08A0D0 00027080 */ sll $t6, $v0, 2 -/* 0BEC04 7F08A0D4 008E7821 */ addu $t7, $a0, $t6 -/* 0BEC08 7F08A0D8 8DF80000 */ lw $t8, ($t7) -/* 0BEC0C 7F08A0DC 8F1900AC */ lw $t9, 0xac($t8) -/* 0BEC10 7F08A0E0 53200029 */ beql $t9, $zero, .L7F08A188 -/* 0BEC14 7F08A0E4 8FAE0028 */ lw $t6, 0x28($sp) -/* 0BEC18 7F08A0E8 0FC26919 */ jal get_num_players -/* 0BEC1C 7F08A0EC AFA2001C */ sw $v0, 0x1c($sp) -/* 0BEC20 7F08A0F0 3C048008 */ lui $a0, %hi(ptr_BONDdata_p1) -/* 0BEC24 7F08A0F4 24050001 */ li $a1, 1 -/* 0BEC28 7F08A0F8 24849EE0 */ addiu $a0, %lo(ptr_BONDdata_p1) # addiu $a0, $a0, -0x6120 -/* 0BEC2C 7F08A0FC 10450006 */ beq $v0, $a1, .L7F08A118 -/* 0BEC30 7F08A100 8FA3001C */ lw $v1, 0x1c($sp) -/* 0BEC34 7F08A104 00034080 */ sll $t0, $v1, 2 -/* 0BEC38 7F08A108 00884821 */ addu $t1, $a0, $t0 -/* 0BEC3C 7F08A10C 8D2A0000 */ lw $t2, ($t1) -/* 0BEC40 7F08A110 8D4B00D8 */ lw $t3, 0xd8($t2) -/* 0BEC44 7F08A114 1560001B */ bnez $t3, .L7F08A184 -.L7F08A118: -/* 0BEC48 7F08A118 00036080 */ sll $t4, $v1, 2 -/* 0BEC4C 7F08A11C 008C1021 */ addu $v0, $a0, $t4 -/* 0BEC50 7F08A120 8C4D0000 */ lw $t5, ($v0) -/* 0BEC54 7F08A124 8FB80028 */ lw $t8, 0x28($sp) -/* 0BEC58 7F08A128 8DAE0000 */ lw $t6, ($t5) -/* 0BEC5C 7F08A12C 10AE0015 */ beq $a1, $t6, .L7F08A184 -/* 0BEC60 7F08A130 240F0004 */ li $t7, 4 -/* 0BEC64 7F08A134 AF0F0000 */ sw $t7, ($t8) -/* 0BEC68 7F08A138 8C590000 */ lw $t9, ($v0) -/* 0BEC6C 7F08A13C 8FA90024 */ lw $t1, 0x24($sp) -/* 0BEC70 7F08A140 272800B0 */ addiu $t0, $t9, 0xb0 -/* 0BEC74 7F08A144 AD280000 */ sw $t0, ($t1) -/* 0BEC78 7F08A148 8C4A0000 */ lw $t2, ($v0) -/* 0BEC7C 7F08A14C 8FAB0030 */ lw $t3, 0x30($sp) -/* 0BEC80 7F08A150 C5440070 */ lwc1 $f4, 0x70($t2) -/* 0BEC84 7F08A154 E5640000 */ swc1 $f4, ($t3) -/* 0BEC88 7F08A158 0FC225E0 */ jal sub_GAME_7F089780 -/* 0BEC8C 7F08A15C 8C440000 */ lw $a0, ($v0) -/* 0BEC90 7F08A160 8FAC0030 */ lw $t4, 0x30($sp) -/* 0BEC94 7F08A164 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0BEC98 7F08A168 44815000 */ mtc1 $at, $f10 -/* 0BEC9C 7F08A16C C5860000 */ lwc1 $f6, ($t4) -/* 0BECA0 7F08A170 8FAD002C */ lw $t5, 0x2c($sp) -/* 0BECA4 7F08A174 46060200 */ add.s $f8, $f0, $f6 -/* 0BECA8 7F08A178 460A4400 */ add.s $f16, $f8, $f10 -/* 0BECAC 7F08A17C 10000003 */ b .L7F08A18C -/* 0BECB0 7F08A180 E5B00000 */ swc1 $f16, ($t5) -.L7F08A184: -/* 0BECB4 7F08A184 8FAE0028 */ lw $t6, 0x28($sp) -.L7F08A188: -/* 0BECB8 7F08A188 ADC00000 */ sw $zero, ($t6) -.L7F08A18C: -/* 0BECBC 7F08A18C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BECC0 7F08A190 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BECC4 7F08A194 03E00008 */ jr $ra -/* 0BECC8 7F08A198 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08A19C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A19C -/* 0BECCC 7F08A19C 3C0E8003 */ lui $t6, %hi(in_tank_flag) -/* 0BECD0 7F08A1A0 8DCE6448 */ lw $t6, %lo(in_tank_flag)($t6) -/* 0BECD4 7F08A1A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BECD8 7F08A1A8 24010001 */ li $at, 1 -/* 0BECDC 7F08A1AC 15C1000B */ bne $t6, $at, .L7F08A1DC -/* 0BECE0 7F08A1B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BECE4 7F08A1B4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BECE8 7F08A1B8 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0BECEC 7F08A1BC 8C620000 */ lw $v0, ($v1) -/* 0BECF0 7F08A1C0 3C068003 */ lui $a2, %hi(D_80036464) -/* 0BECF4 7F08A1C4 8CC66464 */ lw $a2, %lo(D_80036464)($a2) -/* 0BECF8 7F08A1C8 244400B0 */ addiu $a0, $v0, 0xb0 -/* 0BECFC 7F08A1CC 0FC1F222 */ jal sub_GAME_7F07C888 -/* 0BED00 7F08A1D0 2445048C */ addiu $a1, $v0, 0x48c -/* 0BED04 7F08A1D4 10000024 */ b .L7F08A268 -/* 0BED08 7F08A1D8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08A1DC: -/* 0BED0C 7F08A1DC 3C038008 */ lui $v1, %hi(pPlayer) -/* 0BED10 7F08A1E0 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0BED14 7F08A1E4 8C620000 */ lw $v0, ($v1) -/* 0BED18 7F08A1E8 C444048C */ lwc1 $f4, 0x48c($v0) -/* 0BED1C 7F08A1EC C44604B0 */ lwc1 $f6, 0x4b0($v0) -/* 0BED20 7F08A1F0 46062200 */ add.s $f8, $f4, $f6 -/* 0BED24 7F08A1F4 E44800B0 */ swc1 $f8, 0xb0($v0) -/* 0BED28 7F08A1F8 8C620000 */ lw $v0, ($v1) -/* 0BED2C 7F08A1FC C44A0494 */ lwc1 $f10, 0x494($v0) -/* 0BED30 7F08A200 E44A00B4 */ swc1 $f10, 0xb4($v0) -/* 0BED34 7F08A204 8C620000 */ lw $v0, ($v1) -/* 0BED38 7F08A208 C450048C */ lwc1 $f16, 0x48c($v0) -/* 0BED3C 7F08A20C E45000B8 */ swc1 $f16, 0xb8($v0) -/* 0BED40 7F08A210 8C620000 */ lw $v0, ($v1) -/* 0BED44 7F08A214 C4520494 */ lwc1 $f18, 0x494($v0) -/* 0BED48 7F08A218 C44404B0 */ lwc1 $f4, 0x4b0($v0) -/* 0BED4C 7F08A21C 46049180 */ add.s $f6, $f18, $f4 -/* 0BED50 7F08A220 E44600BC */ swc1 $f6, 0xbc($v0) -/* 0BED54 7F08A224 8C620000 */ lw $v0, ($v1) -/* 0BED58 7F08A228 C448048C */ lwc1 $f8, 0x48c($v0) -/* 0BED5C 7F08A22C C44A04B0 */ lwc1 $f10, 0x4b0($v0) -/* 0BED60 7F08A230 460A4401 */ sub.s $f16, $f8, $f10 -/* 0BED64 7F08A234 E45000C0 */ swc1 $f16, 0xc0($v0) -/* 0BED68 7F08A238 8C620000 */ lw $v0, ($v1) -/* 0BED6C 7F08A23C C4520494 */ lwc1 $f18, 0x494($v0) -/* 0BED70 7F08A240 E45200C4 */ swc1 $f18, 0xc4($v0) -/* 0BED74 7F08A244 8C620000 */ lw $v0, ($v1) -/* 0BED78 7F08A248 C444048C */ lwc1 $f4, 0x48c($v0) -/* 0BED7C 7F08A24C E44400C8 */ swc1 $f4, 0xc8($v0) -/* 0BED80 7F08A250 8C620000 */ lw $v0, ($v1) -/* 0BED84 7F08A254 C4460494 */ lwc1 $f6, 0x494($v0) -/* 0BED88 7F08A258 C44804B0 */ lwc1 $f8, 0x4b0($v0) -/* 0BED8C 7F08A25C 46083281 */ sub.s $f10, $f6, $f8 -/* 0BED90 7F08A260 E44A00CC */ swc1 $f10, 0xcc($v0) -/* 0BED94 7F08A264 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08A268: -/* 0BED98 7F08A268 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BED9C 7F08A26C 03E00008 */ jr $ra -/* 0BEDA0 7F08A270 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08A274(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A274 -/* 0BEDA4 7F08A274 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BEDA8 7F08A278 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BEDAC 7F08A27C AFA5001C */ sw $a1, 0x1c($sp) -/* 0BEDB0 7F08A280 AFA60020 */ sw $a2, 0x20($sp) -/* 0BEDB4 7F08A284 0FC26C57 */ jal sub_GAME_7F09B15C -/* 0BEDB8 7F08A288 AFA70024 */ sw $a3, 0x24($sp) -/* 0BEDBC 7F08A28C 3C0F8008 */ lui $t7, %hi(ptr_BONDdata_p1) -/* 0BEDC0 7F08A290 25EF9EE0 */ addiu $t7, %lo(ptr_BONDdata_p1) # addiu $t7, $t7, -0x6120 -/* 0BEDC4 7F08A294 00027080 */ sll $t6, $v0, 2 -/* 0BEDC8 7F08A298 01CF1821 */ addu $v1, $t6, $t7 -/* 0BEDCC 7F08A29C 8C780000 */ lw $t8, ($v1) -/* 0BEDD0 7F08A2A0 8FB9001C */ lw $t9, 0x1c($sp) -/* 0BEDD4 7F08A2A4 C70404B0 */ lwc1 $f4, 0x4b0($t8) -/* 0BEDD8 7F08A2A8 E7240000 */ swc1 $f4, ($t9) -/* 0BEDDC 7F08A2AC 0FC225E0 */ jal sub_GAME_7F089780 -/* 0BEDE0 7F08A2B0 8C640000 */ lw $a0, ($v1) -/* 0BEDE4 7F08A2B4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0BEDE8 7F08A2B8 44811000 */ mtc1 $at, $f2 -/* 0BEDEC 7F08A2BC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0BEDF0 7F08A2C0 44813000 */ mtc1 $at, $f6 -/* 0BEDF4 7F08A2C4 8FA80020 */ lw $t0, 0x20($sp) -/* 0BEDF8 7F08A2C8 46060200 */ add.s $f8, $f0, $f6 -/* 0BEDFC 7F08A2CC 46024281 */ sub.s $f10, $f8, $f2 -/* 0BEE00 7F08A2D0 E50A0000 */ swc1 $f10, ($t0) -/* 0BEE04 7F08A2D4 8FA90024 */ lw $t1, 0x24($sp) -/* 0BEE08 7F08A2D8 E5220000 */ swc1 $f2, ($t1) -/* 0BEE0C 7F08A2DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BEE10 7F08A2E0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BEE14 7F08A2E4 03E00008 */ jr $ra -/* 0BEE18 7F08A2E8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_BONDdata_watch_health(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_BONDdata_watch_health -/* 0BEE1C 7F08A2EC 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0BEE20 7F08A2F0 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BEE24 7F08A2F4 03E00008 */ jr $ra -/* 0BEE28 7F08A2F8 C5C000DC */ lwc1 $f0, 0xdc($t6) -) -#endif - - - -f32 get_BONDdata_watch_armor(void) { - return pPlayer->bondarmour; -} - - - - - -#ifdef NONMATCHING -void add_BONDdata_watch_armor(void) { - -} -#else -GLOBAL_ASM( -.text -glabel add_BONDdata_watch_armor -/* 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 -/* 0BEE50 7F08A320 E4460040 */ swc1 $f6, 0x40($v0) -/* 0BEE54 7F08A324 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0BEE58 7F08A328 03E00008 */ jr $ra -/* 0BEE5C 7F08A32C E5CC00E0 */ swc1 $f12, 0xe0($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void reset_intro_camera_message_dialogs_for_BONDdata(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel reset_intro_camera_message_dialogs_for_BONDdata -/* 0BEE60 7F08A330 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BEE64 7F08A334 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0BEE68 7F08A338 8C4E0000 */ lw $t6, ($v0) -/* 0BEE6C 7F08A33C 240FFFFF */ li $t7, -1 -/* 0BEE70 7F08A340 3C018003 */ lui $at, %hi(display_statusbar) -/* 0BEE74 7F08A344 ADC011D8 */ sw $zero, 0x11d8($t6) -/* 0BEE78 7F08A348 8C580000 */ lw $t8, ($v0) -/* 0BEE7C 7F08A34C 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 0BEE80 7F08A350 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall) -/* 0BEE84 7F08A354 AF0F11DC */ sw $t7, 0x11dc($t8) -/* 0BEE88 7F08A358 AC20689C */ sw $zero, %lo(display_statusbar)($at) -/* 0BEE8C 7F08A35C 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0BEE90 7F08A360 3C018003 */ lui $at, %hi(status_bar_text_buffer_index) -/* 0BEE94 7F08A364 AC206898 */ sw $zero, %lo(status_bar_text_buffer_index)($at) -/* 0BEE98 7F08A368 3C018003 */ lui $at, %hi(copy_1stfonttable) -/* 0BEE9C 7F08A36C 8D080EB0 */ lw $t0, %lo(ptrSecondFontTableSmall)($t0) -/* 0BEEA0 7F08A370 AC3968A0 */ sw $t9, %lo(copy_1stfonttable)($at) -/* 0BEEA4 7F08A374 3C018003 */ lui $at, %hi(copy_2ndfonttable) -/* 0BEEA8 7F08A378 03E00008 */ jr $ra -/* 0BEEAC 7F08A37C AC2868A4 */ sw $t0, %lo(copy_2ndfonttable)($at) -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel reset_intro_camera_message_dialogs_for_BONDdata -/* 0BF5D8 7F08AA68 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BF5DC 7F08AA6C 2442A120 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5ee0 -/* 0BF5E0 7F08AA70 8C4E0000 */ lw $t6, ($v0) -/* 0BF5E4 7F08AA74 240FFFFF */ li $t7, -1 -/* 0BF5E8 7F08AA78 3C018003 */ lui $at, %hi(display_statusbar) # $at, 0x8003 -/* 0BF5EC 7F08AA7C ADC011D8 */ sw $zero, 0x11d8($t6) -/* 0BF5F0 7F08AA80 8C580000 */ lw $t8, ($v0) -/* 0BF5F4 7F08AA84 AF0F11DC */ sw $t7, 0x11dc($t8) -/* 0BF5F8 7F08AA88 AC2068DC */ sw $zero, %lo(display_statusbar)($at) -/* 0BF5FC 7F08AA8C 3C018003 */ lui $at, %hi(status_bar_text_buffer_index) -/* 0BF600 7F08AA90 03E00008 */ jr $ra -/* 0BF604 7F08AA94 AC2068D8 */ sw $zero, %lo(status_bar_text_buffer_index)($at) -) -#endif - -#endif - - - -#ifdef NONMATCHING -void unset_flags_in_BONDdata_stationary_intro_cam(void) { - -} -#else -GLOBAL_ASM( -.text -glabel unset_flags_in_BONDdata_stationary_intro_cam -/* 0BEEB0 7F08A380 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BEEB4 7F08A384 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BEEB8 7F08A388 00807827 */ not $t7, $a0 -/* 0BEEBC 7F08A38C 8C4E11D8 */ lw $t6, 0x11d8($v0) -/* 0BEEC0 7F08A390 01CFC024 */ and $t8, $t6, $t7 -/* 0BEEC4 7F08A394 03E00008 */ jr $ra -/* 0BEEC8 7F08A398 AC5811D8 */ sw $t8, 0x11d8($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void set_flags_in_BONDdata_stationary_intro_cam(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_flags_in_BONDdata_stationary_intro_cam -/* 0BEECC 7F08A39C 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BEED0 7F08A3A0 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BEED4 7F08A3A4 8C4E11D8 */ lw $t6, 0x11d8($v0) -/* 0BEED8 7F08A3A8 01C47825 */ or $t7, $t6, $a0 -/* 0BEEDC 7F08A3AC 03E00008 */ jr $ra -/* 0BEEE0 7F08A3B0 AC4F11D8 */ sw $t7, 0x11d8($v0) -) -#endif - - - - -#ifdef VERSION_US -#ifdef NONMATCHING -void sub_GAME_7F08A3B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A3B4 -/* 0BEEE4 7F08A3B4 3C018003 */ lui $at, %hi(copy_2ndfonttable) -/* 0BEEE8 7F08A3B8 AC2468A4 */ sw $a0, %lo(copy_2ndfonttable)($at) -/* 0BEEEC 7F08A3BC 3C018003 */ lui $at, %hi(copy_1stfonttable) -/* 0BEEF0 7F08A3C0 03E00008 */ jr $ra -/* 0BEEF4 7F08A3C4 AC2568A0 */ sw $a1, %lo(copy_1stfonttable)($at) -) -#endif -#endif - - - - -#ifdef NONMATCHING -void display_string_in_lower_left_corner(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel display_string_in_lower_left_corner -/* 0BEEF8 7F08A3C8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BEEFC 7F08A3CC AFBF0014 */ sw $ra, 0x14($sp) -/* 0BEF00 7F08A3D0 0FC26919 */ jal get_num_players -/* 0BEF04 7F08A3D4 AFA40028 */ sw $a0, 0x28($sp) -/* 0BEF08 7F08A3D8 24010001 */ li $at, 1 -/* 0BEF0C 7F08A3DC 14410020 */ bne $v0, $at, .L7F08A460 -/* 0BEF10 7F08A3E0 3C078003 */ lui $a3, %hi(display_statusbar) -/* 0BEF14 7F08A3E4 24E7689C */ addiu $a3, %lo(display_statusbar) # addiu $a3, $a3, 0x689c -/* 0BEF18 7F08A3E8 8CE30000 */ lw $v1, ($a3) -/* 0BEF1C 7F08A3EC 3C198008 */ lui $t9, %hi(dword_CODE_bss_80079A28) -/* 0BEF20 7F08A3F0 3C0E8003 */ lui $t6, %hi(status_bar_text_buffer_index) -/* 0BEF24 7F08A3F4 28610005 */ slti $at, $v1, 5 -/* 0BEF28 7F08A3F8 10200036 */ beqz $at, .L7F08A4D4 -/* 0BEF2C 7F08A3FC 27399A28 */ addiu $t9, %lo(dword_CODE_bss_80079A28) # addiu $t9, $t9, -0x65d8 -/* 0BEF30 7F08A400 8DCE6898 */ lw $t6, %lo(status_bar_text_buffer_index)($t6) -/* 0BEF34 7F08A404 24010005 */ li $at, 5 -/* 0BEF38 7F08A408 8FA50028 */ lw $a1, 0x28($sp) -/* 0BEF3C 7F08A40C 01C31021 */ addu $v0, $t6, $v1 -/* 0BEF40 7F08A410 0041001A */ div $zero, $v0, $at -/* 0BEF44 7F08A414 00007810 */ mfhi $t7 -/* 0BEF48 7F08A418 000FC080 */ sll $t8, $t7, 2 -/* 0BEF4C 7F08A41C 030FC023 */ subu $t8, $t8, $t7 -/* 0BEF50 7F08A420 0018C0C0 */ sll $t8, $t8, 3 -/* 0BEF54 7F08A424 030FC021 */ addu $t8, $t8, $t7 -/* 0BEF58 7F08A428 0018C080 */ sll $t8, $t8, 2 -/* 0BEF5C 7F08A42C 030FC021 */ addu $t8, $t8, $t7 -/* 0BEF60 7F08A430 03192021 */ addu $a0, $t8, $t9 -/* 0BEF64 7F08A434 AFA40018 */ sw $a0, 0x18($sp) -/* 0BEF68 7F08A438 0C0029E8 */ jal something_with_strings -/* 0BEF6C 7F08A43C 24060064 */ li $a2, 100 -/* 0BEF70 7F08A440 3C078003 */ lui $a3, %hi(display_statusbar) -/* 0BEF74 7F08A444 24E7689C */ addiu $a3, %lo(display_statusbar) # addiu $a3, $a3, 0x689c -/* 0BEF78 7F08A448 8CE80000 */ lw $t0, ($a3) -/* 0BEF7C 7F08A44C 8FA40018 */ lw $a0, 0x18($sp) -/* 0BEF80 7F08A450 25090001 */ addiu $t1, $t0, 1 -/* 0BEF84 7F08A454 ACE90000 */ sw $t1, ($a3) -/* 0BEF88 7F08A458 1000001E */ b .L7F08A4D4 -/* 0BEF8C 7F08A45C A0800064 */ sb $zero, 0x64($a0) -.L7F08A460: -/* 0BEF90 7F08A460 0FC26C54 */ jal get_cur_playernum -/* 0BEF94 7F08A464 00000000 */ nop -/* 0BEF98 7F08A468 00025080 */ sll $t2, $v0, 2 -/* 0BEF9C 7F08A46C 01425023 */ subu $t2, $t2, $v0 -/* 0BEFA0 7F08A470 000A50C0 */ sll $t2, $t2, 3 -/* 0BEFA4 7F08A474 01425021 */ addu $t2, $t2, $v0 -/* 0BEFA8 7F08A478 000A5080 */ sll $t2, $t2, 2 -/* 0BEFAC 7F08A47C 3C0B8008 */ lui $t3, %hi(dword_CODE_bss_80079A28) -/* 0BEFB0 7F08A480 256B9A28 */ addiu $t3, %lo(dword_CODE_bss_80079A28) # addiu $t3, $t3, -0x65d8 -/* 0BEFB4 7F08A484 01425021 */ addu $t2, $t2, $v0 -/* 0BEFB8 7F08A488 AFA20020 */ sw $v0, 0x20($sp) -/* 0BEFBC 7F08A48C 014B2021 */ addu $a0, $t2, $t3 -/* 0BEFC0 7F08A490 8FA50028 */ lw $a1, 0x28($sp) -/* 0BEFC4 7F08A494 0C0029E8 */ jal something_with_strings -/* 0BEFC8 7F08A498 24060064 */ li $a2, 100 -/* 0BEFCC 7F08A49C 8FAC0020 */ lw $t4, 0x20($sp) -/* 0BEFD0 7F08A4A0 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0BEFD4 7F08A4A4 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0BEFD8 7F08A4A8 000C6880 */ sll $t5, $t4, 2 -/* 0BEFDC 7F08A4AC 01AC6823 */ subu $t5, $t5, $t4 -/* 0BEFE0 7F08A4B0 000D68C0 */ sll $t5, $t5, 3 -/* 0BEFE4 7F08A4B4 01AC6821 */ addu $t5, $t5, $t4 -/* 0BEFE8 7F08A4B8 000D6880 */ sll $t5, $t5, 2 -/* 0BEFEC 7F08A4BC 3C018008 */ lui $at, %hi(dword_CODE_bss_80079A28+100) -/* 0BEFF0 7F08A4C0 01AC6821 */ addu $t5, $t5, $t4 -/* 0BEFF4 7F08A4C4 002D0821 */ addu $at, $at, $t5 -/* 0BEFF8 7F08A4C8 A0209A8C */ sb $zero, %lo(dword_CODE_bss_80079A28+100)($at) -/* 0BEFFC 7F08A4CC 240E0078 */ li $t6, 120 -/* 0BF000 7F08A4D0 ADEE11DC */ sw $t6, 0x11dc($t7) -.L7F08A4D4: -/* 0BF004 7F08A4D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF008 7F08A4D8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BF00C 7F08A4DC 03E00008 */ jr $ra -/* 0BF010 7F08A4E0 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -//JP FIXME hardcoded pointer values -//id/find in data -//80079c80 -//80079c68 -GLOBAL_ASM( -.text -glabel display_string_in_lower_left_corner -/* 0BF63C 7F08AACC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BF640 7F08AAD0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BF644 7F08AAD4 AFA40028 */ sw $a0, 0x28($sp) -/* 0BF648 7F08AAD8 AFA5002C */ sw $a1, 0x2c($sp) -/* 0BF64C 7F08AADC 0FC26C01 */ jal get_num_players -/* 0BF650 7F08AAE0 AFA60030 */ sw $a2, 0x30($sp) -/* 0BF654 7F08AAE4 24010001 */ li $at, 1 -/* 0BF658 7F08AAE8 1441002B */ bne $v0, $at, .L7F08AB98 -/* 0BF65C 7F08AAEC 3C088003 */ lui $t0, %hi(display_statusbar) # $t0, 0x8003 -/* 0BF660 7F08AAF0 250868DC */ addiu $t0, %lo(display_statusbar) # addiu $t0, $t0, 0x68dc -/* 0BF664 7F08AAF4 8D020000 */ lw $v0, ($t0) -/* 0BF668 7F08AAF8 3C198008 */ lui $t9, %hi(dword_CODE_bss_80079A28) # $t9, 0x8008 -/* 0BF66C 7F08AAFC 3C0E8003 */ lui $t6, %hi(status_bar_text_buffer_index) # $t6, 0x8003 -/* 0BF670 7F08AB00 28410005 */ slti $at, $v0, 5 -/* 0BF674 7F08AB04 1020004A */ beqz $at, .L7F08AC30 -/* 0BF678 7F08AB08 27399A68 */ addiu $t9, %lo(dword_CODE_bss_80079A28) # addiu $t9, $t9, -0x6598 -/* 0BF67C 7F08AB0C 8DCE68D8 */ lw $t6, %lo(status_bar_text_buffer_index)($t6) -/* 0BF680 7F08AB10 24010005 */ li $at, 5 -/* 0BF684 7F08AB14 8FA50028 */ lw $a1, 0x28($sp) -/* 0BF688 7F08AB18 01C23821 */ addu $a3, $t6, $v0 -/* 0BF68C 7F08AB1C 00E1001A */ div $zero, $a3, $at -/* 0BF690 7F08AB20 00007810 */ mfhi $t7 -/* 0BF694 7F08AB24 000FC080 */ sll $t8, $t7, 2 -/* 0BF698 7F08AB28 030FC023 */ subu $t8, $t8, $t7 -/* 0BF69C 7F08AB2C 0018C0C0 */ sll $t8, $t8, 3 -/* 0BF6A0 7F08AB30 030FC021 */ addu $t8, $t8, $t7 -/* 0BF6A4 7F08AB34 0018C080 */ sll $t8, $t8, 2 -/* 0BF6A8 7F08AB38 030FC021 */ addu $t8, $t8, $t7 -/* 0BF6AC 7F08AB3C 03192021 */ addu $a0, $t8, $t9 -/* 0BF6B0 7F08AB40 AFA40018 */ sw $a0, 0x18($sp) -/* 0BF6B4 7F08AB44 AFAF0024 */ sw $t7, 0x24($sp) -/* 0BF6B8 7F08AB48 0C0029EC */ jal something_with_strings -/* 0BF6BC 7F08AB4C 24060064 */ li $a2, 100 -/* 0BF6C0 7F08AB50 8FA70024 */ lw $a3, 0x24($sp) -/* 0BF6C4 7F08AB54 8FA40018 */ lw $a0, 0x18($sp) -/* 0BF6C8 7F08AB58 8FA9002C */ lw $t1, 0x2c($sp) -/* 0BF6CC 7F08AB5C 3C018008 */ lui $at, %hi(0x80079C80) -/* 0BF6D0 7F08AB60 00071880 */ sll $v1, $a3, 2 -/* 0BF6D4 7F08AB64 00230821 */ addu $at, $at, $v1 -/* 0BF6D8 7F08AB68 A0800064 */ sb $zero, 0x64($a0) -/* 0BF6DC 7F08AB6C 8FAA0030 */ lw $t2, 0x30($sp) -/* 0BF6E0 7F08AB70 AC299C80 */ sw $t1, %lo(0x80079C80)($at) -/* 0BF6E4 7F08AB74 3C018008 */ lui $at, %hi(0x80079C68) -/* 0BF6E8 7F08AB78 3C088003 */ lui $t0, %hi(display_statusbar) # $t0, 0x8003 -/* 0BF6EC 7F08AB7C 00230821 */ addu $at, $at, $v1 -/* 0BF6F0 7F08AB80 250868DC */ addiu $t0, %lo(display_statusbar) # addiu $t0, $t0, 0x68dc -/* 0BF6F4 7F08AB84 AC2A9C68 */ sw $t2, %lo(0x80079C68)($at) -/* 0BF6F8 7F08AB88 8D0B0000 */ lw $t3, ($t0) -/* 0BF6FC 7F08AB8C 256C0001 */ addiu $t4, $t3, 1 -/* 0BF700 7F08AB90 10000027 */ b .L7F08AC30 -/* 0BF704 7F08AB94 AD0C0000 */ sw $t4, ($t0) -.L7F08AB98: -/* 0BF708 7F08AB98 0FC26F3C */ jal get_cur_playernum -/* 0BF70C 7F08AB9C 00000000 */ nop -/* 0BF710 7F08ABA0 00026880 */ sll $t5, $v0, 2 -/* 0BF714 7F08ABA4 01A26823 */ subu $t5, $t5, $v0 -/* 0BF718 7F08ABA8 000D68C0 */ sll $t5, $t5, 3 -/* 0BF71C 7F08ABAC 01A26821 */ addu $t5, $t5, $v0 -/* 0BF720 7F08ABB0 000D6880 */ sll $t5, $t5, 2 -/* 0BF724 7F08ABB4 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_80079A28) # $t6, 0x8008 -/* 0BF728 7F08ABB8 25CE9A68 */ addiu $t6, %lo(dword_CODE_bss_80079A28) # addiu $t6, $t6, -0x6598 -/* 0BF72C 7F08ABBC 01A26821 */ addu $t5, $t5, $v0 -/* 0BF730 7F08ABC0 01AE2021 */ addu $a0, $t5, $t6 -/* 0BF734 7F08ABC4 8FA50028 */ lw $a1, 0x28($sp) -/* 0BF738 7F08ABC8 24060064 */ li $a2, 100 -/* 0BF73C 7F08ABCC 0C0029EC */ jal something_with_strings -/* 0BF740 7F08ABD0 AFA20020 */ sw $v0, 0x20($sp) -/* 0BF744 7F08ABD4 8FA70020 */ lw $a3, 0x20($sp) -/* 0BF748 7F08ABD8 3C018008 */ lui $at, %hi(dword_CODE_bss_80079A28+0x64) #dword_CODE_bss_80079A28 -/* 0BF74C 7F08ABDC 8FB8002C */ lw $t8, 0x2c($sp) -/* 0BF750 7F08ABE0 00077880 */ sll $t7, $a3, 2 -/* 0BF754 7F08ABE4 01E77823 */ subu $t7, $t7, $a3 -/* 0BF758 7F08ABE8 000F78C0 */ sll $t7, $t7, 3 -/* 0BF75C 7F08ABEC 01E77821 */ addu $t7, $t7, $a3 -/* 0BF760 7F08ABF0 000F7880 */ sll $t7, $t7, 2 -/* 0BF764 7F08ABF4 01E77821 */ addu $t7, $t7, $a3 -/* 0BF768 7F08ABF8 002F0821 */ addu $at, $at, $t7 -/* 0BF76C 7F08ABFC A0209ACC */ sb $zero, %lo(dword_CODE_bss_80079A28+0x64)($at) -/* 0BF770 7F08AC00 3C018008 */ lui $at, 0x8008 -/* 0BF774 7F08AC04 00071880 */ sll $v1, $a3, 2 -/* 0BF778 7F08AC08 00230821 */ addu $at, $at, $v1 -/* 0BF77C 7F08AC0C 8FB90030 */ lw $t9, 0x30($sp) -/* 0BF780 7F08AC10 3C0A8008 */ lui $t2, %hi(pPlayer) # $t2, 0x8008 -/* 0BF784 7F08AC14 AC389C80 */ sw $t8, -0x6380($at) -/* 0BF788 7F08AC18 8D4AA120 */ lw $t2, %lo(pPlayer)($t2) -/* 0BF78C 7F08AC1C 3C018008 */ lui $at, 0x8008 -/* 0BF790 7F08AC20 00230821 */ addu $at, $at, $v1 -/* 0BF794 7F08AC24 24090078 */ li $t1, 120 -/* 0BF798 7F08AC28 AC399C68 */ sw $t9, -0x6398($at) -/* 0BF79C 7F08AC2C AD4911DC */ sw $t1, 0x11dc($t2) -.L7F08AC30: -/* 0BF7A0 7F08AC30 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF7A4 7F08AC34 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BF7A8 7F08AC38 03E00008 */ jr $ra -/* 0BF7AC 7F08AC3C 00000000 */ nop -) -#endif - -#endif - -#ifdef VERSION_JP -void jp_display_string_in_lower_left_corner(char *string) -{ - display_string_in_lower_left_corner(string,ptrSecondFontTableSmall,ptrFirstFontTableSmall); -} -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F08A4E4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A4E4 -/* 0BF014 7F08A4E4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BF018 7F08A4E8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BF01C 7F08A4EC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BF020 7F08A4F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BF024 7F08A4F4 8C4E11D8 */ lw $t6, 0x11d8($v0) -/* 0BF028 7F08A4F8 55C0003D */ bnezl $t6, .L7F08A5F0 -/* 0BF02C 7F08A4FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF030 7F08A500 8C4F29C4 */ lw $t7, 0x29c4($v0) -/* 0BF034 7F08A504 55E0003A */ bnezl $t7, .L7F08A5F0 -/* 0BF038 7F08A508 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF03C 7F08A50C 8C4311DC */ lw $v1, 0x11dc($v0) -/* 0BF040 7F08A510 3C188005 */ lui $t8, %hi(clock_timer) -/* 0BF044 7F08A514 04600022 */ bltz $v1, .L7F08A5A0 -/* 0BF048 7F08A518 00000000 */ nop -/* 0BF04C 7F08A51C 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 0BF050 7F08A520 0078C823 */ subu $t9, $v1, $t8 -/* 0BF054 7F08A524 0FC26919 */ jal get_num_players -/* 0BF058 7F08A528 AC5911DC */ sw $t9, 0x11dc($v0) -/* 0BF05C 7F08A52C 24010001 */ li $at, 1 -/* 0BF060 7F08A530 1441001B */ bne $v0, $at, .L7F08A5A0 -/* 0BF064 7F08A534 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BF068 7F08A538 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BF06C 7F08A53C 8C4311DC */ lw $v1, 0x11dc($v0) -/* 0BF070 7F08A540 0461000F */ bgez $v1, .L7F08A580 -/* 0BF074 7F08A544 00000000 */ nop -/* 0BF078 7F08A548 3C028003 */ lui $v0, %hi(status_bar_text_buffer_index) -/* 0BF07C 7F08A54C 24426898 */ addiu $v0, %lo(status_bar_text_buffer_index) # addiu $v0, $v0, 0x6898 -/* 0BF080 7F08A550 8C480000 */ lw $t0, ($v0) -/* 0BF084 7F08A554 24010005 */ li $at, 5 -/* 0BF088 7F08A558 3C0B8003 */ lui $t3, %hi(display_statusbar) -/* 0BF08C 7F08A55C 25090001 */ addiu $t1, $t0, 1 -/* 0BF090 7F08A560 0121001A */ div $zero, $t1, $at -/* 0BF094 7F08A564 00005010 */ mfhi $t2 -/* 0BF098 7F08A568 AC4A0000 */ sw $t2, ($v0) -/* 0BF09C 7F08A56C 8D6B689C */ lw $t3, %lo(display_statusbar)($t3) -/* 0BF0A0 7F08A570 3C018003 */ lui $at, %hi(display_statusbar) -/* 0BF0A4 7F08A574 256CFFFF */ addiu $t4, $t3, -1 -/* 0BF0A8 7F08A578 10000009 */ b .L7F08A5A0 -/* 0BF0AC 7F08A57C AC2C689C */ sw $t4, %lo(display_statusbar)($at) -.L7F08A580: -/* 0BF0B0 7F08A580 3C0D8003 */ lui $t5, %hi(display_statusbar) -/* 0BF0B4 7F08A584 8DAD689C */ lw $t5, %lo(display_statusbar)($t5) -/* 0BF0B8 7F08A588 29A10002 */ slti $at, $t5, 2 -/* 0BF0BC 7F08A58C 14200004 */ bnez $at, .L7F08A5A0 -/* 0BF0C0 7F08A590 2861001F */ slti $at, $v1, 0x1f -/* 0BF0C4 7F08A594 14200002 */ bnez $at, .L7F08A5A0 -/* 0BF0C8 7F08A598 240E001E */ li $t6, 30 -/* 0BF0CC 7F08A59C AC4E11DC */ sw $t6, 0x11dc($v0) -.L7F08A5A0: -/* 0BF0D0 7F08A5A0 0FC26919 */ jal get_num_players -/* 0BF0D4 7F08A5A4 00000000 */ nop -/* 0BF0D8 7F08A5A8 24010001 */ li $at, 1 -/* 0BF0DC 7F08A5AC 1441000F */ bne $v0, $at, .L7F08A5EC -/* 0BF0E0 7F08A5B0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BF0E4 7F08A5B4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BF0E8 7F08A5B8 3C038003 */ lui $v1, %hi(display_statusbar) -/* 0BF0EC 7F08A5BC 8C4F11DC */ lw $t7, 0x11dc($v0) -/* 0BF0F0 7F08A5C0 05E3000B */ bgezl $t7, .L7F08A5F0 -/* 0BF0F4 7F08A5C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF0F8 7F08A5C8 8C63689C */ lw $v1, %lo(display_statusbar)($v1) -/* 0BF0FC 7F08A5CC 18600007 */ blez $v1, .L7F08A5EC -/* 0BF100 7F08A5D0 28610002 */ slti $at, $v1, 2 -/* 0BF104 7F08A5D4 14200004 */ bnez $at, .L7F08A5E8 -/* 0BF108 7F08A5D8 24190078 */ li $t9, 120 -/* 0BF10C 7F08A5DC 2418001E */ li $t8, 30 -/* 0BF110 7F08A5E0 10000002 */ b .L7F08A5EC -/* 0BF114 7F08A5E4 AC5811DC */ sw $t8, 0x11dc($v0) -.L7F08A5E8: -/* 0BF118 7F08A5E8 AC5911DC */ sw $t9, 0x11dc($v0) -.L7F08A5EC: -/* 0BF11C 7F08A5EC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08A5F0: -/* 0BF120 7F08A5F0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BF124 7F08A5F4 03E00008 */ jr $ra -/* 0BF128 7F08A5F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08A5FC(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A5FC -/* 0BF12C 7F08A5FC 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BF130 7F08A600 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BF134 7F08A604 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0BF138 7F08A608 AFBF0034 */ sw $ra, 0x34($sp) -/* 0BF13C 7F08A60C AFA40060 */ sw $a0, 0x60($sp) -/* 0BF140 7F08A610 8C4E11D8 */ lw $t6, 0x11d8($v0) -/* 0BF144 7F08A614 55C000B6 */ bnezl $t6, .L7F08A8F0 -/* 0BF148 7F08A618 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BF14C 7F08A61C 8C4F11DC */ lw $t7, 0x11dc($v0) -/* 0BF150 7F08A620 05E200B3 */ bltzl $t7, .L7F08A8F0 -/* 0BF154 7F08A624 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BF158 7F08A628 8C5829C4 */ lw $t8, 0x29c4($v0) -/* 0BF15C 7F08A62C 570000B0 */ bnezl $t8, .L7F08A8F0 -/* 0BF160 7F08A630 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BF164 7F08A634 0FC26919 */ jal get_num_players -/* 0BF168 7F08A638 AFA0005C */ sw $zero, 0x5c($sp) -/* 0BF16C 7F08A63C 24010001 */ li $at, 1 -/* 0BF170 7F08A640 14410010 */ bne $v0, $at, .L7F08A684 -/* 0BF174 7F08A644 8FA3005C */ lw $v1, 0x5c($sp) -/* 0BF178 7F08A648 3C198003 */ lui $t9, %hi(status_bar_text_buffer_index) -/* 0BF17C 7F08A64C 8F396898 */ lw $t9, %lo(status_bar_text_buffer_index)($t9) -/* 0BF180 7F08A650 3C098008 */ lui $t1, %hi(dword_CODE_bss_80079A28) -/* 0BF184 7F08A654 00194080 */ sll $t0, $t9, 2 -/* 0BF188 7F08A658 01194023 */ subu $t0, $t0, $t9 -/* 0BF18C 7F08A65C 000840C0 */ sll $t0, $t0, 3 -/* 0BF190 7F08A660 01194021 */ addu $t0, $t0, $t9 -/* 0BF194 7F08A664 00084080 */ sll $t0, $t0, 2 -/* 0BF198 7F08A668 01194021 */ addu $t0, $t0, $t9 -/* 0BF19C 7F08A66C 01284821 */ addu $t1, $t1, $t0 -/* 0BF1A0 7F08A670 91299A28 */ lbu $t1, %lo(dword_CODE_bss_80079A28)($t1) -/* 0BF1A4 7F08A674 1120000D */ beqz $t1, .L7F08A6AC -/* 0BF1A8 7F08A678 00000000 */ nop -/* 0BF1AC 7F08A67C 1000000B */ b .L7F08A6AC -/* 0BF1B0 7F08A680 24030001 */ li $v1, 1 -.L7F08A684: -/* 0BF1B4 7F08A684 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0BF1B8 7F08A688 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0BF1BC 7F08A68C 8D4B11DC */ lw $t3, 0x11dc($t2) -/* 0BF1C0 7F08A690 05600006 */ bltz $t3, .L7F08A6AC -/* 0BF1C4 7F08A694 00000000 */ nop -/* 0BF1C8 7F08A698 0FC26C54 */ jal get_cur_playernum -/* 0BF1CC 7F08A69C 00000000 */ nop -/* 0BF1D0 7F08A6A0 3C018003 */ lui $at, %hi(status_bar_text_buffer_index) -/* 0BF1D4 7F08A6A4 AC226898 */ sw $v0, %lo(status_bar_text_buffer_index)($at) -/* 0BF1D8 7F08A6A8 24030001 */ li $v1, 1 -.L7F08A6AC: -/* 0BF1DC 7F08A6AC 50600090 */ beql $v1, $zero, .L7F08A8F0 -/* 0BF1E0 7F08A6B0 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BF1E4 7F08A6B4 0FC2B366 */ jal microcode_constructor -/* 0BF1E8 7F08A6B8 8FA40060 */ lw $a0, 0x60($sp) -/* 0BF1EC 7F08A6BC 3C0C8003 */ lui $t4, %hi(status_bar_text_buffer_index) -/* 0BF1F0 7F08A6C0 8D8C6898 */ lw $t4, %lo(status_bar_text_buffer_index)($t4) -/* 0BF1F4 7F08A6C4 3C0F8003 */ lui $t7, %hi(copy_1stfonttable) -/* 0BF1F8 7F08A6C8 8DEF68A0 */ lw $t7, %lo(copy_1stfonttable)($t7) -/* 0BF1FC 7F08A6CC 000C6880 */ sll $t5, $t4, 2 -/* 0BF200 7F08A6D0 01AC6823 */ subu $t5, $t5, $t4 -/* 0BF204 7F08A6D4 000D68C0 */ sll $t5, $t5, 3 -/* 0BF208 7F08A6D8 01AC6821 */ addu $t5, $t5, $t4 -/* 0BF20C 7F08A6DC 000D6880 */ sll $t5, $t5, 2 -/* 0BF210 7F08A6E0 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_80079A28) -/* 0BF214 7F08A6E4 25CE9A28 */ addiu $t6, %lo(dword_CODE_bss_80079A28) # addiu $t6, $t6, -0x65d8 -/* 0BF218 7F08A6E8 3C078003 */ lui $a3, %hi(copy_2ndfonttable) -/* 0BF21C 7F08A6EC 01AC6821 */ addu $t5, $t5, $t4 -/* 0BF220 7F08A6F0 AFA20060 */ sw $v0, 0x60($sp) -/* 0BF224 7F08A6F4 AFA00044 */ sw $zero, 0x44($sp) -/* 0BF228 7F08A6F8 AFA00048 */ sw $zero, 0x48($sp) -/* 0BF22C 7F08A6FC 01AE3021 */ addu $a2, $t5, $t6 -/* 0BF230 7F08A700 8CE768A4 */ lw $a3, %lo(copy_2ndfonttable)($a3) -/* 0BF234 7F08A704 27A40048 */ addiu $a0, $sp, 0x48 -/* 0BF238 7F08A708 27A50044 */ addiu $a1, $sp, 0x44 -/* 0BF23C 7F08A70C AFA00014 */ sw $zero, 0x14($sp) -/* 0BF240 7F08A710 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0BF244 7F08A714 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BF248 7F08A718 0FC26919 */ jal get_num_players -/* 0BF24C 7F08A71C 00000000 */ nop -/* 0BF250 7F08A720 28410003 */ slti $at, $v0, 3 -/* 0BF254 7F08A724 10200005 */ beqz $at, .L7F08A73C -/* 0BF258 7F08A728 00000000 */ nop -/* 0BF25C 7F08A72C 0C001145 */ jal get_video2_settings_ulx -/* 0BF260 7F08A730 00000000 */ nop -/* 0BF264 7F08A734 1000000D */ b .L7F08A76C -/* 0BF268 7F08A738 2443001E */ addiu $v1, $v0, 0x1e -.L7F08A73C: -/* 0BF26C 7F08A73C 0FC26C54 */ jal get_cur_playernum -/* 0BF270 7F08A740 00000000 */ nop -/* 0BF274 7F08A744 30580001 */ andi $t8, $v0, 1 -/* 0BF278 7F08A748 13000005 */ beqz $t8, .L7F08A760 -/* 0BF27C 7F08A74C 00000000 */ nop -/* 0BF280 7F08A750 0C001145 */ jal get_video2_settings_ulx -/* 0BF284 7F08A754 00000000 */ nop -/* 0BF288 7F08A758 10000004 */ b .L7F08A76C -/* 0BF28C 7F08A75C 2443000A */ addiu $v1, $v0, 0xa -.L7F08A760: -/* 0BF290 7F08A760 0C001145 */ jal get_video2_settings_ulx -/* 0BF294 7F08A764 00000000 */ nop -/* 0BF298 7F08A768 2443001E */ addiu $v1, $v0, 0x1e -.L7F08A76C: -/* 0BF29C 7F08A76C 8FB90044 */ lw $t9, 0x44($sp) -/* 0BF2A0 7F08A770 AFA30058 */ sw $v1, 0x58($sp) -/* 0BF2A4 7F08A774 00794021 */ addu $t0, $v1, $t9 -/* 0BF2A8 7F08A778 0FC26919 */ jal get_num_players -/* 0BF2AC 7F08A77C AFA80050 */ sw $t0, 0x50($sp) -/* 0BF2B0 7F08A780 28410003 */ slti $at, $v0, 3 -/* 0BF2B4 7F08A784 10200024 */ beqz $at, .L7F08A818 -/* 0BF2B8 7F08A788 00000000 */ nop -/* 0BF2BC 7F08A78C 0FC17674 */ jal get_item_in_hand -/* 0BF2C0 7F08A790 24040001 */ li $a0, 1 -/* 0BF2C4 7F08A794 0FC1A50B */ jal get_ammo_type_for_weapon -/* 0BF2C8 7F08A798 00402025 */ move $a0, $v0 -/* 0BF2CC 7F08A79C 1440000E */ bnez $v0, .L7F08A7D8 -/* 0BF2D0 7F08A7A0 00000000 */ nop -/* 0BF2D4 7F08A7A4 0FC15867 */ jal is_clock_drawn_onscreen -/* 0BF2D8 7F08A7A8 00000000 */ nop -/* 0BF2DC 7F08A7AC 1440000A */ bnez $v0, .L7F08A7D8 -/* 0BF2E0 7F08A7B0 00000000 */ nop -/* 0BF2E4 7F08A7B4 0C001149 */ jal get_video2_settings_uly -/* 0BF2E8 7F08A7B8 00000000 */ nop -/* 0BF2EC 7F08A7BC 0C00112B */ jal get_video2_settings_height -/* 0BF2F0 7F08A7C0 A7A2003E */ sh $v0, 0x3e($sp) -/* 0BF2F4 7F08A7C4 87A9003E */ lh $t1, 0x3e($sp) -/* 0BF2F8 7F08A7C8 00495021 */ addu $t2, $v0, $t1 -/* 0BF2FC 7F08A7CC 254BFFF4 */ addiu $t3, $t2, -0xc -/* 0BF300 7F08A7D0 10000009 */ b .L7F08A7F8 -/* 0BF304 7F08A7D4 AFAB004C */ sw $t3, 0x4c($sp) -.L7F08A7D8: -/* 0BF308 7F08A7D8 0C001149 */ jal get_video2_settings_uly -/* 0BF30C 7F08A7DC 00000000 */ nop -/* 0BF310 7F08A7E0 0C00112B */ jal get_video2_settings_height -/* 0BF314 7F08A7E4 A7A2003E */ sh $v0, 0x3e($sp) -/* 0BF318 7F08A7E8 87AC003E */ lh $t4, 0x3e($sp) -/* 0BF31C 7F08A7EC 004C6821 */ addu $t5, $v0, $t4 -/* 0BF320 7F08A7F0 25AEFFD8 */ addiu $t6, $t5, -0x28 -/* 0BF324 7F08A7F4 AFAE004C */ sw $t6, 0x4c($sp) -.L7F08A7F8: -/* 0BF328 7F08A7F8 0FC26C54 */ jal get_cur_playernum -/* 0BF32C 7F08A7FC 00000000 */ nop -/* 0BF330 7F08A800 24010001 */ li $at, 1 -/* 0BF334 7F08A804 14410008 */ bne $v0, $at, .L7F08A828 -/* 0BF338 7F08A808 8FAF004C */ lw $t7, 0x4c($sp) -/* 0BF33C 7F08A80C 25F8FFF8 */ addiu $t8, $t7, -8 -/* 0BF340 7F08A810 10000005 */ b .L7F08A828 -/* 0BF344 7F08A814 AFB8004C */ sw $t8, 0x4c($sp) -.L7F08A818: -/* 0BF348 7F08A818 0C001149 */ jal get_video2_settings_uly -/* 0BF34C 7F08A81C 00000000 */ nop -/* 0BF350 7F08A820 24590010 */ addiu $t9, $v0, 0x10 -/* 0BF354 7F08A824 AFB9004C */ sw $t9, 0x4c($sp) -.L7F08A828: -/* 0BF358 7F08A828 8FA8004C */ lw $t0, 0x4c($sp) -/* 0BF35C 7F08A82C 8FA90048 */ lw $t1, 0x48($sp) -/* 0BF360 7F08A830 27AB004C */ addiu $t3, $sp, 0x4c -/* 0BF364 7F08A834 AFAB0010 */ sw $t3, 0x10($sp) -/* 0BF368 7F08A838 01095023 */ subu $t2, $t0, $t1 -/* 0BF36C 7F08A83C AFAA0054 */ sw $t2, 0x54($sp) -/* 0BF370 7F08A840 8FA40060 */ lw $a0, 0x60($sp) -/* 0BF374 7F08A844 27A50058 */ addiu $a1, $sp, 0x58 -/* 0BF378 7F08A848 27A60054 */ addiu $a2, $sp, 0x54 -/* 0BF37C 7F08A84C 0FC2B3D3 */ jal draw_blackbox_to_screen -/* 0BF380 7F08A850 27A70050 */ addiu $a3, $sp, 0x50 -/* 0BF384 7F08A854 0C001107 */ jal get_video2_settings_txtClipW -/* 0BF388 7F08A858 AFA20060 */ sw $v0, 0x60($sp) -/* 0BF38C 7F08A85C 0C00110B */ jal get_video2_settings_txtClipH -/* 0BF390 7F08A860 A7A2003C */ sh $v0, 0x3c($sp) -/* 0BF394 7F08A864 3C0C8003 */ lui $t4, %hi(status_bar_text_buffer_index) -/* 0BF398 7F08A868 8D8C6898 */ lw $t4, %lo(status_bar_text_buffer_index)($t4) -/* 0BF39C 7F08A86C 3C0F8003 */ lui $t7, %hi(copy_2ndfonttable) -/* 0BF3A0 7F08A870 3C188003 */ lui $t8, %hi(copy_1stfonttable) -/* 0BF3A4 7F08A874 000C6880 */ sll $t5, $t4, 2 -/* 0BF3A8 7F08A878 01AC6823 */ subu $t5, $t5, $t4 -/* 0BF3AC 7F08A87C 000D68C0 */ sll $t5, $t5, 3 -/* 0BF3B0 7F08A880 01AC6821 */ addu $t5, $t5, $t4 -/* 0BF3B4 7F08A884 8F1868A0 */ lw $t8, %lo(copy_1stfonttable)($t8) -/* 0BF3B8 7F08A888 8DEF68A4 */ lw $t7, %lo(copy_2ndfonttable)($t7) -/* 0BF3BC 7F08A88C 87A9003C */ lh $t1, 0x3c($sp) -/* 0BF3C0 7F08A890 000D6880 */ sll $t5, $t5, 2 -/* 0BF3C4 7F08A894 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_80079A28) -/* 0BF3C8 7F08A898 3C086464 */ lui $t0, (0x646464FF >> 16) # lui $t0, 0x6464 -/* 0BF3CC 7F08A89C 350864FF */ ori $t0, (0x646464FF & 0xFFFF) # ori $t0, $t0, 0x64ff -/* 0BF3D0 7F08A8A0 25CE9A28 */ addiu $t6, %lo(dword_CODE_bss_80079A28) # addiu $t6, $t6, -0x65d8 -/* 0BF3D4 7F08A8A4 2419FFFF */ li $t9, -1 -/* 0BF3D8 7F08A8A8 01AC6821 */ addu $t5, $t5, $t4 -/* 0BF3DC 7F08A8AC 01AE3821 */ addu $a3, $t5, $t6 -/* 0BF3E0 7F08A8B0 AFB90018 */ sw $t9, 0x18($sp) -/* 0BF3E4 7F08A8B4 AFA8001C */ sw $t0, 0x1c($sp) -/* 0BF3E8 7F08A8B8 8FA40060 */ lw $a0, 0x60($sp) -/* 0BF3EC 7F08A8BC 27A50058 */ addiu $a1, $sp, 0x58 -/* 0BF3F0 7F08A8C0 27A60054 */ addiu $a2, $sp, 0x54 -/* 0BF3F4 7F08A8C4 AFA20024 */ sw $v0, 0x24($sp) -/* 0BF3F8 7F08A8C8 AFA00028 */ sw $zero, 0x28($sp) -/* 0BF3FC 7F08A8CC AFA0002C */ sw $zero, 0x2c($sp) -/* 0BF400 7F08A8D0 AFB80014 */ sw $t8, 0x14($sp) -/* 0BF404 7F08A8D4 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BF408 7F08A8D8 0FC2B9BB */ jal jp_text_write_stuff -/* 0BF40C 7F08A8DC AFA90020 */ sw $t1, 0x20($sp) -/* 0BF410 7F08A8E0 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 0BF414 7F08A8E4 00402025 */ move $a0, $v0 -/* 0BF418 7F08A8E8 AFA20060 */ sw $v0, 0x60($sp) -/* 0BF41C 7F08A8EC 8FBF0034 */ lw $ra, 0x34($sp) -.L7F08A8F0: -/* 0BF420 7F08A8F0 8FA20060 */ lw $v0, 0x60($sp) -/* 0BF424 7F08A8F4 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0BF428 7F08A8F8 03E00008 */ jr $ra -/* 0BF42C 7F08A8FC 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A5FC -/* 0BF8F4 7F08AD84 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0BF8F8 7F08AD88 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0BF8FC 7F08AD8C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0BF900 7F08AD90 AFBF0034 */ sw $ra, 0x34($sp) -/* 0BF904 7F08AD94 AFA40060 */ sw $a0, 0x60($sp) -/* 0BF908 7F08AD98 8C4E11D8 */ lw $t6, 0x11d8($v0) -/* 0BF90C 7F08AD9C 55C000CB */ bnezl $t6, .Ljp7F08B0CC -/* 0BF910 7F08ADA0 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BF914 7F08ADA4 8C4F11DC */ lw $t7, 0x11dc($v0) -/* 0BF918 7F08ADA8 05E200C8 */ bltzl $t7, .Ljp7F08B0CC -/* 0BF91C 7F08ADAC 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BF920 7F08ADB0 8C5829C4 */ lw $t8, 0x29c4($v0) -/* 0BF924 7F08ADB4 570000C5 */ bnezl $t8, .Ljp7F08B0CC -/* 0BF928 7F08ADB8 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BF92C 7F08ADBC 0FC26C01 */ jal get_num_players -/* 0BF930 7F08ADC0 AFA0005C */ sw $zero, 0x5c($sp) -/* 0BF934 7F08ADC4 24010001 */ li $at, 1 -/* 0BF938 7F08ADC8 14410010 */ bne $v0, $at, .Ljp7F08AE0C -/* 0BF93C 7F08ADCC 8FA3005C */ lw $v1, 0x5c($sp) -/* 0BF940 7F08ADD0 3C198003 */ lui $t9, %hi(status_bar_text_buffer_index) # $t9, 0x8003 -/* 0BF944 7F08ADD4 8F3968D8 */ lw $t9, %lo(status_bar_text_buffer_index)($t9) -/* 0BF948 7F08ADD8 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_80079A28) -/* 0BF94C 7F08ADDC 00194880 */ sll $t1, $t9, 2 -/* 0BF950 7F08ADE0 01394823 */ subu $t1, $t1, $t9 -/* 0BF954 7F08ADE4 000948C0 */ sll $t1, $t1, 3 -/* 0BF958 7F08ADE8 01394821 */ addu $t1, $t1, $t9 -/* 0BF95C 7F08ADEC 00094880 */ sll $t1, $t1, 2 -/* 0BF960 7F08ADF0 01394821 */ addu $t1, $t1, $t9 -/* 0BF964 7F08ADF4 01495021 */ addu $t2, $t2, $t1 -/* 0BF968 7F08ADF8 914A9A68 */ lbu $t2, %lo(dword_CODE_bss_80079A28)($t2) -/* 0BF96C 7F08ADFC 1140000D */ beqz $t2, .Ljp7F08AE34 -/* 0BF970 7F08AE00 00000000 */ nop -/* 0BF974 7F08AE04 1000000B */ b .Ljp7F08AE34 -/* 0BF978 7F08AE08 24030001 */ li $v1, 1 -.Ljp7F08AE0C: -/* 0BF97C 7F08AE0C 3C0B8008 */ lui $t3, %hi(pPlayer) # $t3, 0x8008 -/* 0BF980 7F08AE10 8D6BA120 */ lw $t3, %lo(pPlayer)($t3) -/* 0BF984 7F08AE14 8D6C11DC */ lw $t4, 0x11dc($t3) -/* 0BF988 7F08AE18 05800006 */ bltz $t4, .Ljp7F08AE34 -/* 0BF98C 7F08AE1C 00000000 */ nop -/* 0BF990 7F08AE20 0FC26F3C */ jal get_cur_playernum -/* 0BF994 7F08AE24 00000000 */ nop -/* 0BF998 7F08AE28 3C018003 */ lui $at, %hi(status_bar_text_buffer_index) # $at, 0x8003 -/* 0BF99C 7F08AE2C AC2268D8 */ sw $v0, %lo(status_bar_text_buffer_index)($at) -/* 0BF9A0 7F08AE30 24030001 */ li $v1, 1 -.Ljp7F08AE34: -/* 0BF9A4 7F08AE34 506000A5 */ beql $v1, $zero, .Ljp7F08B0CC -/* 0BF9A8 7F08AE38 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BF9AC 7F08AE3C 0FC2B652 */ jal microcode_constructor -/* 0BF9B0 7F08AE40 8FA40060 */ lw $a0, 0x60($sp) -/* 0BF9B4 7F08AE44 3C038003 */ lui $v1, %hi(status_bar_text_buffer_index) # $v1, 0x8003 -/* 0BF9B8 7F08AE48 8C6368D8 */ lw $v1, %lo(status_bar_text_buffer_index)($v1) -/* 0BF9BC 7F08AE4C 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_jp80079Cd8) -/* 0BF9C0 7F08AE50 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_80079A28) # $t6, 0x8008 -/* 0BF9C4 7F08AE54 00036880 */ sll $t5, $v1, 2 -/* 0BF9C8 7F08AE58 01A36823 */ subu $t5, $t5, $v1 -/* 0BF9CC 7F08AE5C 000D68C0 */ sll $t5, $t5, 3 -/* 0BF9D0 7F08AE60 00034080 */ sll $t0, $v1, 2 -/* 0BF9D4 7F08AE64 01E87821 */ addu $t7, $t7, $t0 -/* 0BF9D8 7F08AE68 01A36821 */ addu $t5, $t5, $v1 -/* 0BF9DC 7F08AE6C 8DEF9C68 */ lw $t7, %lo(dword_CODE_bss_jp80079Cd8) ($t7) -/* 0BF9E0 7F08AE70 000D6880 */ sll $t5, $t5, 2 -/* 0BF9E4 7F08AE74 3C078008 */ lui $a3, %hi(dword_CODE_bss_jp80079Cd8+0x18) -/* 0BF9E8 7F08AE78 00E83821 */ addu $a3, $a3, $t0 -/* 0BF9EC 7F08AE7C 25CE9A68 */ addiu $t6, %lo(dword_CODE_bss_80079A28) # addiu $t6, $t6, -0x6598 -/* 0BF9F0 7F08AE80 01A36821 */ addu $t5, $t5, $v1 -/* 0BF9F4 7F08AE84 AFA20060 */ sw $v0, 0x60($sp) -/* 0BF9F8 7F08AE88 AFA00044 */ sw $zero, 0x44($sp) -/* 0BF9FC 7F08AE8C AFA00048 */ sw $zero, 0x48($sp) -/* 0BFA00 7F08AE90 01AE3021 */ addu $a2, $t5, $t6 -/* 0BFA04 7F08AE94 8CE79C80 */ lw $a3, %lo(dword_CODE_bss_jp80079Cd8+0x18)($a3) -/* 0BFA08 7F08AE98 27A40048 */ addiu $a0, $sp, 0x48 -/* 0BFA0C 7F08AE9C 27A50044 */ addiu $a1, $sp, 0x44 -/* 0BFA10 7F08AEA0 AFA00014 */ sw $zero, 0x14($sp) -/* 0BFA14 7F08AEA4 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0BFA18 7F08AEA8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BFA1C 7F08AEAC 0FC26C01 */ jal get_num_players -/* 0BFA20 7F08AEB0 00000000 */ nop -/* 0BFA24 7F08AEB4 28410003 */ slti $at, $v0, 3 -/* 0BFA28 7F08AEB8 10200005 */ beqz $at, .Ljp7F08AED0 -/* 0BFA2C 7F08AEBC 00000000 */ nop -/* 0BFA30 7F08AEC0 0C001145 */ jal get_video2_settings_ulx -/* 0BFA34 7F08AEC4 00000000 */ nop -/* 0BFA38 7F08AEC8 1000000D */ b .Ljp7F08AF00 -/* 0BFA3C 7F08AECC 2443001E */ addiu $v1, $v0, 0x1e -.Ljp7F08AED0: -/* 0BFA40 7F08AED0 0FC26F3C */ jal get_cur_playernum -/* 0BFA44 7F08AED4 00000000 */ nop -/* 0BFA48 7F08AED8 30580001 */ andi $t8, $v0, 1 -/* 0BFA4C 7F08AEDC 13000005 */ beqz $t8, .Ljp7F08AEF4 -/* 0BFA50 7F08AEE0 00000000 */ nop -/* 0BFA54 7F08AEE4 0C001145 */ jal get_video2_settings_ulx -/* 0BFA58 7F08AEE8 00000000 */ nop -/* 0BFA5C 7F08AEEC 10000004 */ b .Ljp7F08AF00 -/* 0BFA60 7F08AEF0 2443000A */ addiu $v1, $v0, 0xa -.Ljp7F08AEF4: -/* 0BFA64 7F08AEF4 0C001145 */ jal get_video2_settings_ulx -/* 0BFA68 7F08AEF8 00000000 */ nop -/* 0BFA6C 7F08AEFC 2443001E */ addiu $v1, $v0, 0x1e -.Ljp7F08AF00: -/* 0BFA70 7F08AF00 8FB90044 */ lw $t9, 0x44($sp) -/* 0BFA74 7F08AF04 AFA30058 */ sw $v1, 0x58($sp) -/* 0BFA78 7F08AF08 00794821 */ addu $t1, $v1, $t9 -/* 0BFA7C 7F08AF0C 0FC26C01 */ jal get_num_players -/* 0BFA80 7F08AF10 AFA90050 */ sw $t1, 0x50($sp) -/* 0BFA84 7F08AF14 28410003 */ slti $at, $v0, 3 -/* 0BFA88 7F08AF18 10200024 */ beqz $at, .Ljp7F08AFAC -/* 0BFA8C 7F08AF1C 00000000 */ nop -/* 0BFA90 7F08AF20 0FC177BC */ jal get_item_in_hand -/* 0BFA94 7F08AF24 24040001 */ li $a0, 1 -/* 0BFA98 7F08AF28 0FC1A686 */ jal get_ammo_type_for_weapon -/* 0BFA9C 7F08AF2C 00402025 */ move $a0, $v0 -/* 0BFAA0 7F08AF30 1440000E */ bnez $v0, .Ljp7F08AF6C -/* 0BFAA4 7F08AF34 00000000 */ nop -/* 0BFAA8 7F08AF38 0FC159A6 */ jal is_clock_drawn_onscreen -/* 0BFAAC 7F08AF3C 00000000 */ nop -/* 0BFAB0 7F08AF40 1440000A */ bnez $v0, .Ljp7F08AF6C -/* 0BFAB4 7F08AF44 00000000 */ nop -/* 0BFAB8 7F08AF48 0C001149 */ jal get_video2_settings_uly -/* 0BFABC 7F08AF4C 00000000 */ nop -/* 0BFAC0 7F08AF50 0C00112B */ jal get_video2_settings_height -/* 0BFAC4 7F08AF54 A7A2003E */ sh $v0, 0x3e($sp) -/* 0BFAC8 7F08AF58 87A3003E */ lh $v1, 0x3e($sp) -/* 0BFACC 7F08AF5C 00435821 */ addu $t3, $v0, $v1 -/* 0BFAD0 7F08AF60 256CFFF4 */ addiu $t4, $t3, -0xc -/* 0BFAD4 7F08AF64 10000009 */ b .Ljp7F08AF8C -/* 0BFAD8 7F08AF68 AFAC004C */ sw $t4, 0x4c($sp) -.Ljp7F08AF6C: -/* 0BFADC 7F08AF6C 0C001149 */ jal get_video2_settings_uly -/* 0BFAE0 7F08AF70 00000000 */ nop -/* 0BFAE4 7F08AF74 0C00112B */ jal get_video2_settings_height -/* 0BFAE8 7F08AF78 A7A2003E */ sh $v0, 0x3e($sp) -/* 0BFAEC 7F08AF7C 87A3003E */ lh $v1, 0x3e($sp) -/* 0BFAF0 7F08AF80 00437021 */ addu $t6, $v0, $v1 -/* 0BFAF4 7F08AF84 25CFFFD8 */ addiu $t7, $t6, -0x28 -/* 0BFAF8 7F08AF88 AFAF004C */ sw $t7, 0x4c($sp) -.Ljp7F08AF8C: -/* 0BFAFC 7F08AF8C 0FC26F3C */ jal get_cur_playernum -/* 0BFB00 7F08AF90 00000000 */ nop -/* 0BFB04 7F08AF94 24010001 */ li $at, 1 -/* 0BFB08 7F08AF98 14410017 */ bne $v0, $at, .Ljp7F08AFF8 -/* 0BFB0C 7F08AF9C 8FB8004C */ lw $t8, 0x4c($sp) -/* 0BFB10 7F08AFA0 2719FFF8 */ addiu $t9, $t8, -8 -/* 0BFB14 7F08AFA4 10000014 */ b .Ljp7F08AFF8 -/* 0BFB18 7F08AFA8 AFB9004C */ sw $t9, 0x4c($sp) -.Ljp7F08AFAC: -/* 0BFB1C 7F08AFAC 0C001149 */ jal get_video2_settings_uly -/* 0BFB20 7F08AFB0 00000000 */ nop -/* 0BFB24 7F08AFB4 3C0A8005 */ lui $t2, %hi(j_text_trigger) # $t2, 0x8005 -/* 0BFB28 7F08AFB8 8D4A8500 */ lw $t2, %lo(j_text_trigger)($t2) -/* 0BFB2C 7F08AFBC 00021C00 */ sll $v1, $v0, 0x10 -/* 0BFB30 7F08AFC0 00034C03 */ sra $t1, $v1, 0x10 -/* 0BFB34 7F08AFC4 11400008 */ beqz $t2, .Ljp7F08AFE8 -/* 0BFB38 7F08AFC8 01201825 */ move $v1, $t1 -/* 0BFB3C 7F08AFCC 0FC26F3C */ jal get_cur_playernum -/* 0BFB40 7F08AFD0 A7A9003E */ sh $t1, 0x3e($sp) -/* 0BFB44 7F08AFD4 28410002 */ slti $at, $v0, 2 -/* 0BFB48 7F08AFD8 10200003 */ beqz $at, .Ljp7F08AFE8 -/* 0BFB4C 7F08AFDC 87A3003E */ lh $v1, 0x3e($sp) -/* 0BFB50 7F08AFE0 10000002 */ b .Ljp7F08AFEC -/* 0BFB54 7F08AFE4 24020008 */ li $v0, 8 -.Ljp7F08AFE8: -/* 0BFB58 7F08AFE8 00001025 */ move $v0, $zero -.Ljp7F08AFEC: -/* 0BFB5C 7F08AFEC 00435821 */ addu $t3, $v0, $v1 -/* 0BFB60 7F08AFF0 256C0010 */ addiu $t4, $t3, 0x10 -/* 0BFB64 7F08AFF4 AFAC004C */ sw $t4, 0x4c($sp) -.Ljp7F08AFF8: -/* 0BFB68 7F08AFF8 8FAD004C */ lw $t5, 0x4c($sp) -/* 0BFB6C 7F08AFFC 8FAE0048 */ lw $t6, 0x48($sp) -/* 0BFB70 7F08B000 27B8004C */ addiu $t8, $sp, 0x4c -/* 0BFB74 7F08B004 AFB80010 */ sw $t8, 0x10($sp) -/* 0BFB78 7F08B008 01AE7823 */ subu $t7, $t5, $t6 -/* 0BFB7C 7F08B00C AFAF0054 */ sw $t7, 0x54($sp) -/* 0BFB80 7F08B010 8FA40060 */ lw $a0, 0x60($sp) -/* 0BFB84 7F08B014 27A50058 */ addiu $a1, $sp, 0x58 -/* 0BFB88 7F08B018 27A60054 */ addiu $a2, $sp, 0x54 -/* 0BFB8C 7F08B01C 0FC2B6BF */ jal draw_blackbox_to_screen -/* 0BFB90 7F08B020 27A70050 */ addiu $a3, $sp, 0x50 -/* 0BFB94 7F08B024 0C001107 */ jal get_video2_settings_txtClipW -/* 0BFB98 7F08B028 AFA20060 */ sw $v0, 0x60($sp) -/* 0BFB9C 7F08B02C 0C00110B */ jal get_video2_settings_txtClipH -/* 0BFBA0 7F08B030 A7A2003C */ sh $v0, 0x3c($sp) -/* 0BFBA4 7F08B034 3C038003 */ lui $v1, %hi(status_bar_text_buffer_index) # $v1, 0x8003 -/* 0BFBA8 7F08B038 8C6368D8 */ lw $v1, %lo(status_bar_text_buffer_index)($v1) -/* 0BFBAC 7F08B03C 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_jp80079Cd8+0x18) -/* 0BFBB0 7F08B040 3C0B8008 */ lui $t3, %hi(dword_CODE_bss_jp80079Cd8) -/* 0BFBB4 7F08B044 0003C880 */ sll $t9, $v1, 2 -/* 0BFBB8 7F08B048 0323C823 */ subu $t9, $t9, $v1 -/* 0BFBBC 7F08B04C 00034080 */ sll $t0, $v1, 2 -/* 0BFBC0 7F08B050 0019C8C0 */ sll $t9, $t9, 3 -/* 0BFBC4 7F08B054 01485021 */ addu $t2, $t2, $t0 -/* 0BFBC8 7F08B058 01685821 */ addu $t3, $t3, $t0 -/* 0BFBCC 7F08B05C 0323C821 */ addu $t9, $t9, $v1 -/* 0BFBD0 7F08B060 8D6B9C68 */ lw $t3, %lo(dword_CODE_bss_jp80079Cd8) ($t3) -/* 0BFBD4 7F08B064 8D4A9C80 */ lw $t2, %lo(dword_CODE_bss_jp80079Cd8+0x18)($t2) -/* 0BFBD8 7F08B068 87AE003C */ lh $t6, 0x3c($sp) -/* 0BFBDC 7F08B06C 0019C880 */ sll $t9, $t9, 2 -/* 0BFBE0 7F08B070 3C098008 */ lui $t1, %hi(dword_CODE_bss_80079A28) # $t1, 0x8008 -/* 0BFBE4 7F08B074 3C0D6464 */ lui $t5, (0x646464FF >> 16) # lui $t5, 0x6464 -/* 0BFBE8 7F08B078 35AD64FF */ ori $t5, (0x646464FF & 0xFFFF) # ori $t5, $t5, 0x64ff -/* 0BFBEC 7F08B07C 25299A68 */ addiu $t1, %lo(dword_CODE_bss_80079A28) # addiu $t1, $t1, -0x6598 -/* 0BFBF0 7F08B080 240CFFFF */ li $t4, -1 -/* 0BFBF4 7F08B084 0323C821 */ addu $t9, $t9, $v1 -/* 0BFBF8 7F08B088 03293821 */ addu $a3, $t9, $t1 -/* 0BFBFC 7F08B08C AFAC0018 */ sw $t4, 0x18($sp) -/* 0BFC00 7F08B090 AFAD001C */ sw $t5, 0x1c($sp) -/* 0BFC04 7F08B094 8FA40060 */ lw $a0, 0x60($sp) -/* 0BFC08 7F08B098 27A50058 */ addiu $a1, $sp, 0x58 -/* 0BFC0C 7F08B09C 27A60054 */ addiu $a2, $sp, 0x54 -/* 0BFC10 7F08B0A0 AFA20024 */ sw $v0, 0x24($sp) -/* 0BFC14 7F08B0A4 AFA00028 */ sw $zero, 0x28($sp) -/* 0BFC18 7F08B0A8 AFA0002C */ sw $zero, 0x2c($sp) -/* 0BFC1C 7F08B0AC AFAB0014 */ sw $t3, 0x14($sp) -/* 0BFC20 7F08B0B0 AFAA0010 */ sw $t2, 0x10($sp) -/* 0BFC24 7F08B0B4 0FC2BCA7 */ jal jp_text_write_stuff -/* 0BFC28 7F08B0B8 AFAE0020 */ sw $t6, 0x20($sp) -/* 0BFC2C 7F08B0BC 0FC2B6A8 */ jal combiner_bayer_lod_perspective -/* 0BFC30 7F08B0C0 00402025 */ move $a0, $v0 -/* 0BFC34 7F08B0C4 AFA20060 */ sw $v0, 0x60($sp) -/* 0BFC38 7F08B0C8 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F08B0CC: -/* 0BFC3C 7F08B0CC 8FA20060 */ lw $v0, 0x60($sp) -/* 0BFC40 7F08B0D0 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0BFC44 7F08B0D4 03E00008 */ jr $ra -/* 0BFC48 7F08B0D8 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F08A900(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A900 -/* 0BF430 7F08A900 240EFFFF */ li $t6, -1 -/* 0BF434 7F08A904 3C018003 */ lui $at, %hi(upper_text_window_timer) -/* 0BF438 7F08A908 AC2E68B0 */ sw $t6, %lo(upper_text_window_timer)($at) -/* 0BF43C 7F08A90C 3C018003 */ lui $at, %hi(display_upper_text_window) -/* 0BF440 7F08A910 AC2068AC */ sw $zero, %lo(display_upper_text_window)($at) -/* 0BF444 7F08A914 3C018003 */ lui $at, %hi(upper_text_buffer_index) -/* 0BF448 7F08A918 AC2068A8 */ sw $zero, %lo(upper_text_buffer_index)($at) -/* 0BF44C 7F08A91C 3C018003 */ lui $at, %hi(D_800368B4) -/* 0BF450 7F08A920 03E00008 */ jr $ra -/* 0BF454 7F08A924 AC2068B4 */ sw $zero, %lo(D_800368B4)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08A928(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A928 -/* 0BF458 7F08A928 3C028003 */ lui $v0, %hi(D_800368B4) -/* 0BF45C 7F08A92C 244268B4 */ addiu $v0, %lo(D_800368B4) # addiu $v0, $v0, 0x68b4 -/* 0BF460 7F08A930 8C4E0000 */ lw $t6, ($v0) -/* 0BF464 7F08A934 00807827 */ not $t7, $a0 -/* 0BF468 7F08A938 01CFC024 */ and $t8, $t6, $t7 -/* 0BF46C 7F08A93C 03E00008 */ jr $ra -/* 0BF470 7F08A940 AC580000 */ sw $t8, ($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08A944(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A944 -/* 0BF474 7F08A944 3C028003 */ lui $v0, %hi(D_800368B4) -/* 0BF478 7F08A948 244268B4 */ addiu $v0, %lo(D_800368B4) # addiu $v0, $v0, 0x68b4 -/* 0BF47C 7F08A94C 8C4E0000 */ lw $t6, ($v0) -/* 0BF480 7F08A950 01C47825 */ or $t7, $t6, $a0 -/* 0BF484 7F08A954 03E00008 */ jr $ra -/* 0BF488 7F08A958 AC4F0000 */ sw $t7, ($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void display_string_at_top_of_screen(void) { - -} -#else -GLOBAL_ASM( -.text -glabel display_string_at_top_of_screen -/* 0BF48C 7F08A95C 3C078003 */ lui $a3, %hi(display_upper_text_window) -/* 0BF490 7F08A960 24E768AC */ addiu $a3, %lo(display_upper_text_window) # addiu $a3, $a3, 0x68ac -/* 0BF494 7F08A964 8CE30000 */ lw $v1, ($a3) -/* 0BF498 7F08A968 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BF49C 7F08A96C AFBF0014 */ sw $ra, 0x14($sp) -/* 0BF4A0 7F08A970 28610002 */ slti $at, $v1, 2 -/* 0BF4A4 7F08A974 1020001C */ beqz $at, .L7F08A9E8 -/* 0BF4A8 7F08A978 00802825 */ move $a1, $a0 -/* 0BF4AC 7F08A97C 3C0E8003 */ lui $t6, %hi(upper_text_buffer_index) -/* 0BF4B0 7F08A980 8DCE68A8 */ lw $t6, %lo(upper_text_buffer_index)($t6) -/* 0BF4B4 7F08A984 3C198008 */ lui $t9, %hi(dword_CODE_bss_80079C70) -/* 0BF4B8 7F08A988 27399C70 */ addiu $t9, %lo(dword_CODE_bss_80079C70) # addiu $t9, $t9, -0x6390 -/* 0BF4BC 7F08A98C 01C31021 */ addu $v0, $t6, $v1 -/* 0BF4C0 7F08A990 04410004 */ bgez $v0, .L7F08A9A4 -/* 0BF4C4 7F08A994 304F0001 */ andi $t7, $v0, 1 -/* 0BF4C8 7F08A998 11E00002 */ beqz $t7, .L7F08A9A4 -/* 0BF4CC 7F08A99C 00000000 */ nop -/* 0BF4D0 7F08A9A0 25EFFFFE */ addiu $t7, $t7, -2 -.L7F08A9A4: -/* 0BF4D4 7F08A9A4 000FC080 */ sll $t8, $t7, 2 -/* 0BF4D8 7F08A9A8 030FC021 */ addu $t8, $t8, $t7 -/* 0BF4DC 7F08A9AC 0018C080 */ sll $t8, $t8, 2 -/* 0BF4E0 7F08A9B0 030FC023 */ subu $t8, $t8, $t7 -/* 0BF4E4 7F08A9B4 0018C0C0 */ sll $t8, $t8, 3 -/* 0BF4E8 7F08A9B8 030FC023 */ subu $t8, $t8, $t7 -/* 0BF4EC 7F08A9BC 03192021 */ addu $a0, $t8, $t9 -/* 0BF4F0 7F08A9C0 AFA4001C */ sw $a0, 0x1c($sp) -/* 0BF4F4 7F08A9C4 0C0029E8 */ jal something_with_strings -/* 0BF4F8 7F08A9C8 24060096 */ li $a2, 150 -/* 0BF4FC 7F08A9CC 3C078003 */ lui $a3, %hi(display_upper_text_window) -/* 0BF500 7F08A9D0 24E768AC */ addiu $a3, %lo(display_upper_text_window) # addiu $a3, $a3, 0x68ac -/* 0BF504 7F08A9D4 8CE80000 */ lw $t0, ($a3) -/* 0BF508 7F08A9D8 8FA4001C */ lw $a0, 0x1c($sp) -/* 0BF50C 7F08A9DC 25090001 */ addiu $t1, $t0, 1 -/* 0BF510 7F08A9E0 ACE90000 */ sw $t1, ($a3) -/* 0BF514 7F08A9E4 A0800096 */ sb $zero, 0x96($a0) -.L7F08A9E8: -/* 0BF518 7F08A9E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF51C 7F08A9EC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BF520 7F08A9F0 03E00008 */ jr $ra -/* 0BF524 7F08A9F4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08A9F8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08A9F8 -/* 0BF528 7F08A9F8 3C0E8003 */ lui $t6, %hi(D_800368B4) -/* 0BF52C 7F08A9FC 8DCE68B4 */ lw $t6, %lo(D_800368B4)($t6) -/* 0BF530 7F08AA00 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0BF534 7F08AA04 15C00036 */ bnez $t6, .L7F08AAE0 -/* 0BF538 7F08AA08 00000000 */ nop -/* 0BF53C 7F08AA0C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0BF540 7F08AA10 3C038003 */ lui $v1, %hi(upper_text_window_timer) -/* 0BF544 7F08AA14 246368B0 */ addiu $v1, %lo(upper_text_window_timer) # addiu $v1, $v1, 0x68b0 -/* 0BF548 7F08AA18 8DF829C4 */ lw $t8, 0x29c4($t7) -/* 0BF54C 7F08AA1C 17000030 */ bnez $t8, .L7F08AAE0 -/* 0BF550 7F08AA20 00000000 */ nop -/* 0BF554 7F08AA24 8C620000 */ lw $v0, ($v1) -/* 0BF558 7F08AA28 3C198005 */ lui $t9, %hi(clock_timer) -/* 0BF55C 7F08AA2C 04400020 */ bltz $v0, .L7F08AAB0 -/* 0BF560 7F08AA30 00000000 */ nop -/* 0BF564 7F08AA34 8F398374 */ lw $t9, %lo(clock_timer)($t9) -/* 0BF568 7F08AA38 3C048003 */ lui $a0, %hi(upper_text_buffer_index) -/* 0BF56C 7F08AA3C 248468A8 */ addiu $a0, %lo(upper_text_buffer_index) # addiu $a0, $a0, 0x68a8 -/* 0BF570 7F08AA40 00594023 */ subu $t0, $v0, $t9 -/* 0BF574 7F08AA44 AC680000 */ sw $t0, ($v1) -/* 0BF578 7F08AA48 0501000F */ bgez $t0, .L7F08AA88 -/* 0BF57C 7F08AA4C 01001025 */ move $v0, $t0 -/* 0BF580 7F08AA50 8C890000 */ lw $t1, ($a0) -/* 0BF584 7F08AA54 3C058003 */ lui $a1, %hi(display_upper_text_window) -/* 0BF588 7F08AA58 24A568AC */ addiu $a1, %lo(display_upper_text_window) # addiu $a1, $a1, 0x68ac -/* 0BF58C 7F08AA5C 8CAC0000 */ lw $t4, ($a1) -/* 0BF590 7F08AA60 252A0001 */ addiu $t2, $t1, 1 -/* 0BF594 7F08AA64 05410004 */ bgez $t2, .L7F08AA78 -/* 0BF598 7F08AA68 314B0001 */ andi $t3, $t2, 1 -/* 0BF59C 7F08AA6C 11600002 */ beqz $t3, .L7F08AA78 -/* 0BF5A0 7F08AA70 00000000 */ nop -/* 0BF5A4 7F08AA74 256BFFFE */ addiu $t3, $t3, -2 -.L7F08AA78: -/* 0BF5A8 7F08AA78 258DFFFF */ addiu $t5, $t4, -1 -/* 0BF5AC 7F08AA7C AC8B0000 */ sw $t3, ($a0) -/* 0BF5B0 7F08AA80 1000000B */ b .L7F08AAB0 -/* 0BF5B4 7F08AA84 ACAD0000 */ sw $t5, ($a1) -.L7F08AA88: -/* 0BF5B8 7F08AA88 3C058003 */ lui $a1, %hi(display_upper_text_window) -/* 0BF5BC 7F08AA8C 24A568AC */ addiu $a1, %lo(display_upper_text_window) # addiu $a1, $a1, 0x68ac -/* 0BF5C0 7F08AA90 8CAE0000 */ lw $t6, ($a1) -/* 0BF5C4 7F08AA94 29C10002 */ slti $at, $t6, 2 -/* 0BF5C8 7F08AA98 14200005 */ bnez $at, .L7F08AAB0 -/* 0BF5CC 7F08AA9C 2841003D */ slti $at, $v0, 0x3d -/* 0BF5D0 7F08AAA0 14200003 */ bnez $at, .L7F08AAB0 -/* 0BF5D4 7F08AAA4 00000000 */ nop -/* 0BF5D8 7F08AAA8 2402003C */ li $v0, 60 -/* 0BF5DC 7F08AAAC AC620000 */ sw $v0, ($v1) -.L7F08AAB0: -/* 0BF5E0 7F08AAB0 3C058003 */ lui $a1, %hi(display_upper_text_window) -/* 0BF5E4 7F08AAB4 0441000A */ bgez $v0, .L7F08AAE0 -/* 0BF5E8 7F08AAB8 24A568AC */ addiu $a1, %lo(display_upper_text_window) # addiu $a1, $a1, 0x68ac -/* 0BF5EC 7F08AABC 8CA20000 */ lw $v0, ($a1) -/* 0BF5F0 7F08AAC0 18400007 */ blez $v0, .L7F08AAE0 -/* 0BF5F4 7F08AAC4 28410002 */ slti $at, $v0, 2 -/* 0BF5F8 7F08AAC8 14200004 */ bnez $at, .L7F08AADC -/* 0BF5FC 7F08AACC 241900F0 */ li $t9, 240 -/* 0BF600 7F08AAD0 2418003C */ li $t8, 60 -/* 0BF604 7F08AAD4 03E00008 */ jr $ra -/* 0BF608 7F08AAD8 AC780000 */ sw $t8, ($v1) - -.L7F08AADC: -/* 0BF60C 7F08AADC AC790000 */ sw $t9, ($v1) -.L7F08AAE0: -/* 0BF610 7F08AAE0 03E00008 */ jr $ra -/* 0BF614 7F08AAE4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08AAE8(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_800552BC -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F08AAE8 -/* 0BF618 7F08AAE8 3C0E8003 */ lui $t6, %hi(D_800368B4) -/* 0BF61C 7F08AAEC 8DCE68B4 */ lw $t6, %lo(D_800368B4)($t6) -/* 0BF620 7F08AAF0 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 0BF624 7F08AAF4 AFB00038 */ sw $s0, 0x38($sp) -/* 0BF628 7F08AAF8 00808025 */ move $s0, $a0 -/* 0BF62C 7F08AAFC 15C00087 */ bnez $t6, .L7F08AD1C -/* 0BF630 7F08AB00 AFBF003C */ sw $ra, 0x3c($sp) -/* 0BF634 7F08AB04 3C0F8003 */ lui $t7, %hi(upper_text_window_timer) -/* 0BF638 7F08AB08 8DEF68B0 */ lw $t7, %lo(upper_text_window_timer)($t7) -/* 0BF63C 7F08AB0C 3C188003 */ lui $t8, %hi(upper_text_buffer_index) -/* 0BF640 7F08AB10 05E00082 */ bltz $t7, .L7F08AD1C -/* 0BF644 7F08AB14 00000000 */ nop -/* 0BF648 7F08AB18 8F1868A8 */ lw $t8, %lo(upper_text_buffer_index)($t8) -/* 0BF64C 7F08AB1C 3C088008 */ lui $t0, %hi(dword_CODE_bss_80079C70) -/* 0BF650 7F08AB20 3C098008 */ lui $t1, %hi(pPlayer) -/* 0BF654 7F08AB24 0018C880 */ sll $t9, $t8, 2 -/* 0BF658 7F08AB28 0338C821 */ addu $t9, $t9, $t8 -/* 0BF65C 7F08AB2C 0019C880 */ sll $t9, $t9, 2 -/* 0BF660 7F08AB30 0338C823 */ subu $t9, $t9, $t8 -/* 0BF664 7F08AB34 0019C8C0 */ sll $t9, $t9, 3 -/* 0BF668 7F08AB38 0338C823 */ subu $t9, $t9, $t8 -/* 0BF66C 7F08AB3C 01194021 */ addu $t0, $t0, $t9 -/* 0BF670 7F08AB40 91089C70 */ lbu $t0, %lo(dword_CODE_bss_80079C70)($t0) -/* 0BF674 7F08AB44 11000075 */ beqz $t0, .L7F08AD1C -/* 0BF678 7F08AB48 00000000 */ nop -/* 0BF67C 7F08AB4C 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0BF680 7F08AB50 8D2A29C4 */ lw $t2, 0x29c4($t1) -/* 0BF684 7F08AB54 15400071 */ bnez $t2, .L7F08AD1C -/* 0BF688 7F08AB58 00000000 */ nop -/* 0BF68C 7F08AB5C 0FC2B366 */ jal microcode_constructor -/* 0BF690 7F08AB60 00000000 */ nop -/* 0BF694 7F08AB64 3C0B8003 */ lui $t3, %hi(upper_text_buffer_index) -/* 0BF698 7F08AB68 8D6B68A8 */ lw $t3, %lo(upper_text_buffer_index)($t3) -/* 0BF69C 7F08AB6C 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 0BF6A0 7F08AB70 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 0BF6A4 7F08AB74 000B6080 */ sll $t4, $t3, 2 -/* 0BF6A8 7F08AB78 018B6021 */ addu $t4, $t4, $t3 -/* 0BF6AC 7F08AB7C 000C6080 */ sll $t4, $t4, 2 -/* 0BF6B0 7F08AB80 018B6023 */ subu $t4, $t4, $t3 -/* 0BF6B4 7F08AB84 000C60C0 */ sll $t4, $t4, 3 -/* 0BF6B8 7F08AB88 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_80079C70) -/* 0BF6BC 7F08AB8C 25AD9C70 */ addiu $t5, %lo(dword_CODE_bss_80079C70) # addiu $t5, $t5, -0x6390 -/* 0BF6C0 7F08AB90 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 0BF6C4 7F08AB94 018B6023 */ subu $t4, $t4, $t3 -/* 0BF6C8 7F08AB98 00408025 */ move $s0, $v0 -/* 0BF6CC 7F08AB9C AFA000D4 */ sw $zero, 0xd4($sp) -/* 0BF6D0 7F08ABA0 AFA000D8 */ sw $zero, 0xd8($sp) -/* 0BF6D4 7F08ABA4 018D3021 */ addu $a2, $t4, $t5 -/* 0BF6D8 7F08ABA8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 0BF6DC 7F08ABAC 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 0BF6E0 7F08ABB0 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 0BF6E4 7F08ABB4 AFA00014 */ sw $zero, 0x14($sp) -/* 0BF6E8 7F08ABB8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0BF6EC 7F08ABBC AFAE0010 */ sw $t6, 0x10($sp) -/* 0BF6F0 7F08ABC0 3C0F8003 */ lui $t7, %hi(camera_8003642C) -/* 0BF6F4 7F08ABC4 8DEF642C */ lw $t7, %lo(camera_8003642C)($t7) -/* 0BF6F8 7F08ABC8 11E0001B */ beqz $t7, .L7F08AC38 -/* 0BF6FC 7F08ABCC 00000000 */ nop -/* 0BF700 7F08ABD0 0C001145 */ jal get_video2_settings_ulx -/* 0BF704 7F08ABD4 00000000 */ nop -/* 0BF708 7F08ABD8 24580046 */ addiu $t8, $v0, 0x46 -/* 0BF70C 7F08ABDC 0C001149 */ jal get_video2_settings_uly -/* 0BF710 7F08ABE0 AFB800E4 */ sw $t8, 0xe4($sp) -/* 0BF714 7F08ABE4 00401825 */ move $v1, $v0 -/* 0BF718 7F08ABE8 24630020 */ addiu $v1, $v1, 0x20 -/* 0BF71C 7F08ABEC 2404000B */ li $a0, 11 -/* 0BF720 7F08ABF0 0064001A */ div $zero, $v1, $a0 -/* 0BF724 7F08ABF4 14800002 */ bnez $a0, .L7F08AC00 -/* 0BF728 7F08ABF8 00000000 */ nop -/* 0BF72C 7F08ABFC 0007000D */ break 7 -.L7F08AC00: -/* 0BF730 7F08AC00 2401FFFF */ li $at, -1 -/* 0BF734 7F08AC04 14810004 */ bne $a0, $at, .L7F08AC18 -/* 0BF738 7F08AC08 3C018000 */ lui $at, 0x8000 -/* 0BF73C 7F08AC0C 14610002 */ bne $v1, $at, .L7F08AC18 -/* 0BF740 7F08AC10 00000000 */ nop -/* 0BF744 7F08AC14 0006000D */ break 6 -.L7F08AC18: -/* 0BF748 7F08AC18 00001812 */ mflo $v1 -/* 0BF74C 7F08AC1C 00000000 */ nop -/* 0BF750 7F08AC20 00000000 */ nop -/* 0BF754 7F08AC24 00640019 */ multu $v1, $a0 -/* 0BF758 7F08AC28 00001812 */ mflo $v1 -/* 0BF75C 7F08AC2C 2463FFFE */ addiu $v1, $v1, -2 -/* 0BF760 7F08AC30 10000008 */ b .L7F08AC54 -/* 0BF764 7F08AC34 8FA800D8 */ lw $t0, 0xd8($sp) -.L7F08AC38: -/* 0BF768 7F08AC38 0C001145 */ jal get_video2_settings_ulx -/* 0BF76C 7F08AC3C 00000000 */ nop -/* 0BF770 7F08AC40 2459001E */ addiu $t9, $v0, 0x1e -/* 0BF774 7F08AC44 0C001149 */ jal get_video2_settings_uly -/* 0BF778 7F08AC48 AFB900E4 */ sw $t9, 0xe4($sp) -/* 0BF77C 7F08AC4C 2443000D */ addiu $v1, $v0, 0xd -/* 0BF780 7F08AC50 8FA800D8 */ lw $t0, 0xd8($sp) -.L7F08AC54: -/* 0BF784 7F08AC54 AFA300E0 */ sw $v1, 0xe0($sp) -/* 0BF788 7F08AC58 00684821 */ addu $t1, $v1, $t0 -/* 0BF78C 7F08AC5C 0C001107 */ jal get_video2_settings_txtClipW -/* 0BF790 7F08AC60 AFA900DC */ sw $t1, 0xdc($sp) -/* 0BF794 7F08AC64 8FA300E0 */ lw $v1, 0xe0($sp) -/* 0BF798 7F08AC68 8FAA00DC */ lw $t2, 0xdc($sp) -/* 0BF79C 7F08AC6C 240B0064 */ li $t3, 100 -/* 0BF7A0 7F08AC70 AFAB0014 */ sw $t3, 0x14($sp) -/* 0BF7A4 7F08AC74 02002025 */ move $a0, $s0 -/* 0BF7A8 7F08AC78 00002825 */ move $a1, $zero -/* 0BF7AC 7F08AC7C 00403825 */ move $a3, $v0 -/* 0BF7B0 7F08AC80 2466FFFE */ addiu $a2, $v1, -2 -/* 0BF7B4 7F08AC84 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0BF7B8 7F08AC88 AFAA0010 */ sw $t2, 0x10($sp) -/* 0BF7BC 7F08AC8C 0C001107 */ jal get_video2_settings_txtClipW -/* 0BF7C0 7F08AC90 00408025 */ move $s0, $v0 -/* 0BF7C4 7F08AC94 0C00110B */ jal get_video2_settings_txtClipH -/* 0BF7C8 7F08AC98 A7A20048 */ sh $v0, 0x48($sp) -/* 0BF7CC 7F08AC9C 3C0C8003 */ lui $t4, %hi(upper_text_buffer_index) -/* 0BF7D0 7F08ACA0 8D8C68A8 */ lw $t4, %lo(upper_text_buffer_index)($t4) -/* 0BF7D4 7F08ACA4 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge) -/* 0BF7D8 7F08ACA8 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge) -/* 0BF7DC 7F08ACAC 000C6880 */ sll $t5, $t4, 2 -/* 0BF7E0 7F08ACB0 01AC6821 */ addu $t5, $t5, $t4 -/* 0BF7E4 7F08ACB4 000D6880 */ sll $t5, $t5, 2 -/* 0BF7E8 7F08ACB8 01AC6823 */ subu $t5, $t5, $t4 -/* 0BF7EC 7F08ACBC 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8) -/* 0BF7F0 7F08ACC0 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7) -/* 0BF7F4 7F08ACC4 87A80048 */ lh $t0, 0x48($sp) -/* 0BF7F8 7F08ACC8 000D68C0 */ sll $t5, $t5, 3 -/* 0BF7FC 7F08ACCC 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_80079C70) -/* 0BF800 7F08ACD0 25CE9C70 */ addiu $t6, %lo(dword_CODE_bss_80079C70) # addiu $t6, $t6, -0x6390 -/* 0BF804 7F08ACD4 2419FFFF */ li $t9, -1 -/* 0BF808 7F08ACD8 01AC6823 */ subu $t5, $t5, $t4 -/* 0BF80C 7F08ACDC 01AE3821 */ addu $a3, $t5, $t6 -/* 0BF810 7F08ACE0 AFB90018 */ sw $t9, 0x18($sp) -/* 0BF814 7F08ACE4 02002025 */ move $a0, $s0 -/* 0BF818 7F08ACE8 27A500E4 */ addiu $a1, $sp, 0xe4 -/* 0BF81C 7F08ACEC 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 0BF820 7F08ACF0 AFA20020 */ sw $v0, 0x20($sp) -/* 0BF824 7F08ACF4 AFA00024 */ sw $zero, 0x24($sp) -/* 0BF828 7F08ACF8 AFA00028 */ sw $zero, 0x28($sp) -/* 0BF82C 7F08ACFC AFB80014 */ sw $t8, 0x14($sp) -/* 0BF830 7F08AD00 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BF834 7F08AD04 0FC2B6AF */ jal en_text_write_stuff -/* 0BF838 7F08AD08 AFA8001C */ sw $t0, 0x1c($sp) -/* 0BF83C 7F08AD0C 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 0BF840 7F08AD10 00402025 */ move $a0, $v0 -/* 0BF844 7F08AD14 100000F1 */ b .L7F08B0DC -/* 0BF848 7F08AD18 00408025 */ move $s0, $v0 -.L7F08AD1C: -/* 0BF84C 7F08AD1C 0FC243E2 */ jal get_debug_testingmanpos_flag -/* 0BF850 7F08AD20 00000000 */ nop -/* 0BF854 7F08AD24 104000ED */ beqz $v0, .L7F08B0DC -/* 0BF858 7F08AD28 3C028008 */ lui $v0, %hi(pPlayer) -/* 0BF85C 7F08AD2C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0BF860 7F08AD30 C4400498 */ lwc1 $f0, 0x498($v0) -/* 0BF864 7F08AD34 C44E04A0 */ lwc1 $f14, 0x4a0($v0) -/* 0BF868 7F08AD38 0FC16A8C */ jal convert_angle_using_inverse -/* 0BF86C 7F08AD3C 46000307 */ neg.s $f12, $f0 -/* 0BF870 7F08AD40 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0BF874 7F08AD44 44812000 */ mtc1 $at, $f4 -/* 0BF878 7F08AD48 3C018005 */ lui $at, %hi(D_800552BC) -/* 0BF87C 7F08AD4C C42852BC */ lwc1 $f8, %lo(D_800552BC)($at) -/* 0BF880 7F08AD50 46040182 */ mul.s $f6, $f0, $f4 -/* 0BF884 7F08AD54 3C0C8003 */ lui $t4, %hi(D_800368B8) -/* 0BF888 7F08AD58 258C68B8 */ addiu $t4, %lo(D_800368B8) # addiu $t4, $t4, 0x68b8 -/* 0BF88C 7F08AD5C 27AB004C */ addiu $t3, $sp, 0x4c -/* 0BF890 7F08AD60 3C188008 */ lui $t8, %hi(pPlayer) -/* 0BF894 7F08AD64 46083283 */ div.s $f10, $f6, $f8 -/* 0BF898 7F08AD68 4600540D */ trunc.w.s $f16, $f10 -/* 0BF89C 7F08AD6C 440A8000 */ mfc1 $t2, $f16 -/* 0BF8A0 7F08AD70 00000000 */ nop -/* 0BF8A4 7F08AD74 AFAA0068 */ sw $t2, 0x68($sp) -/* 0BF8A8 7F08AD78 8D810000 */ lw $at, ($t4) -/* 0BF8AC 7F08AD7C 8D8F0004 */ lw $t7, 4($t4) -/* 0BF8B0 7F08AD80 AD610000 */ sw $at, ($t3) -/* 0BF8B4 7F08AD84 8D810008 */ lw $at, 8($t4) -/* 0BF8B8 7F08AD88 AD6F0004 */ sw $t7, 4($t3) -/* 0BF8BC 7F08AD8C 8D8F000C */ lw $t7, 0xc($t4) -/* 0BF8C0 7F08AD90 AD610008 */ sw $at, 8($t3) -/* 0BF8C4 7F08AD94 8D810010 */ lw $at, 0x10($t4) -/* 0BF8C8 7F08AD98 AD6F000C */ sw $t7, 0xc($t3) -/* 0BF8CC 7F08AD9C 8D8F0014 */ lw $t7, 0x14($t4) -/* 0BF8D0 7F08ADA0 AD610010 */ sw $at, 0x10($t3) -/* 0BF8D4 7F08ADA4 9981001A */ lwr $at, 0x1a($t4) -/* 0BF8D8 7F08ADA8 AD6F0014 */ sw $t7, 0x14($t3) -/* 0BF8DC 7F08ADAC B961001A */ swr $at, 0x1a($t3) -/* 0BF8E0 7F08ADB0 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0BF8E4 7F08ADB4 8F190488 */ lw $t9, 0x488($t8) -/* 0BF8E8 7F08ADB8 0FC2D778 */ jal sub_GAME_7F0B5DE0 -/* 0BF8EC 7F08ADBC 93240003 */ lbu $a0, 3($t9) -/* 0BF8F0 7F08ADC0 3C058005 */ lui $a1, %hi(a8s) -/* 0BF8F4 7F08ADC4 24A54FC0 */ addiu $a1, %lo(a8s) # addiu $a1, $a1, 0x4fc0 -/* 0BF8F8 7F08ADC8 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 0BF8FC 7F08ADCC 0C002B25 */ jal sprintf -/* 0BF900 7F08ADD0 00403025 */ move $a2, $v0 -/* 0BF904 7F08ADD4 3C088008 */ lui $t0, %hi(pPlayer) -/* 0BF908 7F08ADD8 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0BF90C 7F08ADDC 3C058005 */ lui $a1, %hi(aX4_0f) -/* 0BF910 7F08ADE0 24A54FC4 */ addiu $a1, %lo(aX4_0f) # addiu $a1, $a1, 0x4fc4 -/* 0BF914 7F08ADE4 C512048C */ lwc1 $f18, 0x48c($t0) -/* 0BF918 7F08ADE8 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 0BF91C 7F08ADEC 46009121 */ cvt.d.s $f4, $f18 -/* 0BF920 7F08ADF0 44072000 */ mfc1 $a3, $f4 -/* 0BF924 7F08ADF4 44062800 */ mfc1 $a2, $f5 -/* 0BF928 7F08ADF8 0C002B25 */ jal sprintf -/* 0BF92C 7F08ADFC 00000000 */ nop -/* 0BF930 7F08AE00 3C098008 */ lui $t1, %hi(pPlayer) -/* 0BF934 7F08AE04 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0BF938 7F08AE08 3C058005 */ lui $a1, %hi(aY4_0f) -/* 0BF93C 7F08AE0C 24A54FCC */ addiu $a1, %lo(aY4_0f) # addiu $a1, $a1, 0x4fcc -/* 0BF940 7F08AE10 C5260490 */ lwc1 $f6, 0x490($t1) -/* 0BF944 7F08AE14 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 0BF948 7F08AE18 46003221 */ cvt.d.s $f8, $f6 -/* 0BF94C 7F08AE1C 44074000 */ mfc1 $a3, $f8 -/* 0BF950 7F08AE20 44064800 */ mfc1 $a2, $f9 -/* 0BF954 7F08AE24 0C002B25 */ jal sprintf -/* 0BF958 7F08AE28 00000000 */ nop -/* 0BF95C 7F08AE2C 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0BF960 7F08AE30 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0BF964 7F08AE34 3C058005 */ lui $a1, %hi(aZ4_0f) -/* 0BF968 7F08AE38 24A54FD4 */ addiu $a1, %lo(aZ4_0f) # addiu $a1, $a1, 0x4fd4 -/* 0BF96C 7F08AE3C C54A0494 */ lwc1 $f10, 0x494($t2) -/* 0BF970 7F08AE40 27A40094 */ addiu $a0, $sp, 0x94 -/* 0BF974 7F08AE44 46005421 */ cvt.d.s $f16, $f10 -/* 0BF978 7F08AE48 44078000 */ mfc1 $a3, $f16 -/* 0BF97C 7F08AE4C 44068800 */ mfc1 $a2, $f17 -/* 0BF980 7F08AE50 0C002B25 */ jal sprintf -/* 0BF984 7F08AE54 00000000 */ nop -/* 0BF988 7F08AE58 8FA70068 */ lw $a3, 0x68($sp) -/* 0BF98C 7F08AE5C 2401002D */ li $at, 45 -/* 0BF990 7F08AE60 3C058005 */ lui $a1, %hi(aS3d) -/* 0BF994 7F08AE64 24EE0016 */ addiu $t6, $a3, 0x16 -/* 0BF998 7F08AE68 01C1001A */ div $zero, $t6, $at -/* 0BF99C 7F08AE6C 00006812 */ mflo $t5 -/* 0BF9A0 7F08AE70 000D5880 */ sll $t3, $t5, 2 -/* 0BF9A4 7F08AE74 016D5823 */ subu $t3, $t3, $t5 -/* 0BF9A8 7F08AE78 27AC004C */ addiu $t4, $sp, 0x4c -/* 0BF9AC 7F08AE7C 016C3021 */ addu $a2, $t3, $t4 -/* 0BF9B0 7F08AE80 24A54FDC */ addiu $a1, %lo(aS3d) # addiu $a1, $a1, 0x4fdc -/* 0BF9B4 7F08AE84 0C002B25 */ jal sprintf -/* 0BF9B8 7F08AE88 27A40084 */ addiu $a0, $sp, 0x84 -/* 0BF9BC 7F08AE8C 0C001145 */ jal get_video2_settings_ulx -/* 0BF9C0 7F08AE90 00000000 */ nop -/* 0BF9C4 7F08AE94 244F0011 */ addiu $t7, $v0, 0x11 -/* 0BF9C8 7F08AE98 0C001149 */ jal get_video2_settings_uly -/* 0BF9CC 7F08AE9C AFAF0080 */ sw $t7, 0x80($sp) -/* 0BF9D0 7F08AEA0 24460011 */ addiu $a2, $v0, 0x11 -/* 0BF9D4 7F08AEA4 24D8000A */ addiu $t8, $a2, 0xa -/* 0BF9D8 7F08AEA8 AFB80074 */ sw $t8, 0x74($sp) -/* 0BF9DC 7F08AEAC AFA6007C */ sw $a2, 0x7c($sp) -/* 0BF9E0 7F08AEB0 0FC2B366 */ jal microcode_constructor -/* 0BF9E4 7F08AEB4 02002025 */ move $a0, $s0 -/* 0BF9E8 7F08AEB8 0C001107 */ jal get_video2_settings_txtClipW -/* 0BF9EC 7F08AEBC 00408025 */ move $s0, $v0 -/* 0BF9F0 7F08AEC0 8FB90074 */ lw $t9, 0x74($sp) -/* 0BF9F4 7F08AEC4 24090064 */ li $t1, 100 -/* 0BF9F8 7F08AEC8 AFA90014 */ sw $t1, 0x14($sp) -/* 0BF9FC 7F08AECC 27280001 */ addiu $t0, $t9, 1 -/* 0BFA00 7F08AED0 AFA80010 */ sw $t0, 0x10($sp) -/* 0BFA04 7F08AED4 8FA6007C */ lw $a2, 0x7c($sp) -/* 0BFA08 7F08AED8 02002025 */ move $a0, $s0 -/* 0BFA0C 7F08AEDC 00002825 */ move $a1, $zero -/* 0BFA10 7F08AEE0 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0BFA14 7F08AEE4 00403825 */ move $a3, $v0 -/* 0BFA18 7F08AEE8 0C001107 */ jal get_video2_settings_txtClipW -/* 0BFA1C 7F08AEEC 00408025 */ move $s0, $v0 -/* 0BFA20 7F08AEF0 0C00110B */ jal get_video2_settings_txtClipH -/* 0BFA24 7F08AEF4 A7A20048 */ sh $v0, 0x48($sp) -/* 0BFA28 7F08AEF8 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableSmall) -/* 0BFA2C 7F08AEFC 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0BFA30 7F08AF00 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0BFA34 7F08AF04 8D4A0EB0 */ lw $t2, %lo(ptrSecondFontTableSmall)($t2) -/* 0BFA38 7F08AF08 87AB0048 */ lh $t3, 0x48($sp) -/* 0BFA3C 7F08AF0C 240DFFFF */ li $t5, -1 -/* 0BFA40 7F08AF10 AFAD0018 */ sw $t5, 0x18($sp) -/* 0BFA44 7F08AF14 02002025 */ move $a0, $s0 -/* 0BFA48 7F08AF18 27A50080 */ addiu $a1, $sp, 0x80 -/* 0BFA4C 7F08AF1C 27A6007C */ addiu $a2, $sp, 0x7c -/* 0BFA50 7F08AF20 27A700C4 */ addiu $a3, $sp, 0xc4 -/* 0BFA54 7F08AF24 AFA20020 */ sw $v0, 0x20($sp) -/* 0BFA58 7F08AF28 AFA00024 */ sw $zero, 0x24($sp) -/* 0BFA5C 7F08AF2C AFA00028 */ sw $zero, 0x28($sp) -/* 0BFA60 7F08AF30 AFAE0014 */ sw $t6, 0x14($sp) -/* 0BFA64 7F08AF34 AFAA0010 */ sw $t2, 0x10($sp) -/* 0BFA68 7F08AF38 0FC2B6AF */ jal en_text_write_stuff -/* 0BFA6C 7F08AF3C AFAB001C */ sw $t3, 0x1c($sp) -/* 0BFA70 7F08AF40 0C001145 */ jal get_video2_settings_ulx -/* 0BFA74 7F08AF44 00408025 */ move $s0, $v0 -/* 0BFA78 7F08AF48 244C0057 */ addiu $t4, $v0, 0x57 -/* 0BFA7C 7F08AF4C 0C001107 */ jal get_video2_settings_txtClipW -/* 0BFA80 7F08AF50 AFAC0080 */ sw $t4, 0x80($sp) -/* 0BFA84 7F08AF54 0C00110B */ jal get_video2_settings_txtClipH -/* 0BFA88 7F08AF58 A7A20048 */ sh $v0, 0x48($sp) -/* 0BFA8C 7F08AF5C 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0BFA90 7F08AF60 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0BFA94 7F08AF64 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0BFA98 7F08AF68 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0BFA9C 7F08AF6C 87A80048 */ lh $t0, 0x48($sp) -/* 0BFAA0 7F08AF70 2419FFFF */ li $t9, -1 -/* 0BFAA4 7F08AF74 AFB90018 */ sw $t9, 0x18($sp) -/* 0BFAA8 7F08AF78 02002025 */ move $a0, $s0 -/* 0BFAAC 7F08AF7C 27A50080 */ addiu $a1, $sp, 0x80 -/* 0BFAB0 7F08AF80 27A6007C */ addiu $a2, $sp, 0x7c -/* 0BFAB4 7F08AF84 27A700B4 */ addiu $a3, $sp, 0xb4 -/* 0BFAB8 7F08AF88 AFA20020 */ sw $v0, 0x20($sp) -/* 0BFABC 7F08AF8C AFA00024 */ sw $zero, 0x24($sp) -/* 0BFAC0 7F08AF90 AFA00028 */ sw $zero, 0x28($sp) -/* 0BFAC4 7F08AF94 AFB80014 */ sw $t8, 0x14($sp) -/* 0BFAC8 7F08AF98 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BFACC 7F08AF9C 0FC2B6AF */ jal en_text_write_stuff -/* 0BFAD0 7F08AFA0 AFA8001C */ sw $t0, 0x1c($sp) -/* 0BFAD4 7F08AFA4 0C001145 */ jal get_video2_settings_ulx -/* 0BFAD8 7F08AFA8 00408025 */ move $s0, $v0 -/* 0BFADC 7F08AFAC 2449008D */ addiu $t1, $v0, 0x8d -/* 0BFAE0 7F08AFB0 0C001107 */ jal get_video2_settings_txtClipW -/* 0BFAE4 7F08AFB4 AFA90080 */ sw $t1, 0x80($sp) -/* 0BFAE8 7F08AFB8 0C00110B */ jal get_video2_settings_txtClipH -/* 0BFAEC 7F08AFBC A7A20048 */ sh $v0, 0x48($sp) -/* 0BFAF0 7F08AFC0 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableSmall) -/* 0BFAF4 7F08AFC4 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0BFAF8 7F08AFC8 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0BFAFC 7F08AFCC 8D4A0EB0 */ lw $t2, %lo(ptrSecondFontTableSmall)($t2) -/* 0BFB00 7F08AFD0 87AB0048 */ lh $t3, 0x48($sp) -/* 0BFB04 7F08AFD4 240DFFFF */ li $t5, -1 -/* 0BFB08 7F08AFD8 AFAD0018 */ sw $t5, 0x18($sp) -/* 0BFB0C 7F08AFDC 02002025 */ move $a0, $s0 -/* 0BFB10 7F08AFE0 27A50080 */ addiu $a1, $sp, 0x80 -/* 0BFB14 7F08AFE4 27A6007C */ addiu $a2, $sp, 0x7c -/* 0BFB18 7F08AFE8 27A700A4 */ addiu $a3, $sp, 0xa4 -/* 0BFB1C 7F08AFEC AFA20020 */ sw $v0, 0x20($sp) -/* 0BFB20 7F08AFF0 AFA00024 */ sw $zero, 0x24($sp) -/* 0BFB24 7F08AFF4 AFA00028 */ sw $zero, 0x28($sp) -/* 0BFB28 7F08AFF8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0BFB2C 7F08AFFC AFAA0010 */ sw $t2, 0x10($sp) -/* 0BFB30 7F08B000 0FC2B6AF */ jal en_text_write_stuff -/* 0BFB34 7F08B004 AFAB001C */ sw $t3, 0x1c($sp) -/* 0BFB38 7F08B008 0C001145 */ jal get_video2_settings_ulx -/* 0BFB3C 7F08B00C 00408025 */ move $s0, $v0 -/* 0BFB40 7F08B010 244C00C3 */ addiu $t4, $v0, 0xc3 -/* 0BFB44 7F08B014 0C001107 */ jal get_video2_settings_txtClipW -/* 0BFB48 7F08B018 AFAC0080 */ sw $t4, 0x80($sp) -/* 0BFB4C 7F08B01C 0C00110B */ jal get_video2_settings_txtClipH -/* 0BFB50 7F08B020 A7A20048 */ sh $v0, 0x48($sp) -/* 0BFB54 7F08B024 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0BFB58 7F08B028 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0BFB5C 7F08B02C 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0BFB60 7F08B030 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0BFB64 7F08B034 87A80048 */ lh $t0, 0x48($sp) -/* 0BFB68 7F08B038 2419FFFF */ li $t9, -1 -/* 0BFB6C 7F08B03C AFB90018 */ sw $t9, 0x18($sp) -/* 0BFB70 7F08B040 02002025 */ move $a0, $s0 -/* 0BFB74 7F08B044 27A50080 */ addiu $a1, $sp, 0x80 -/* 0BFB78 7F08B048 27A6007C */ addiu $a2, $sp, 0x7c -/* 0BFB7C 7F08B04C 27A70094 */ addiu $a3, $sp, 0x94 -/* 0BFB80 7F08B050 AFA20020 */ sw $v0, 0x20($sp) -/* 0BFB84 7F08B054 AFA00024 */ sw $zero, 0x24($sp) -/* 0BFB88 7F08B058 AFA00028 */ sw $zero, 0x28($sp) -/* 0BFB8C 7F08B05C AFB80014 */ sw $t8, 0x14($sp) -/* 0BFB90 7F08B060 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BFB94 7F08B064 0FC2B6AF */ jal en_text_write_stuff -/* 0BFB98 7F08B068 AFA8001C */ sw $t0, 0x1c($sp) -/* 0BFB9C 7F08B06C 0C001145 */ jal get_video2_settings_ulx -/* 0BFBA0 7F08B070 00408025 */ move $s0, $v0 -/* 0BFBA4 7F08B074 244900F9 */ addiu $t1, $v0, 0xf9 -/* 0BFBA8 7F08B078 0C001107 */ jal get_video2_settings_txtClipW -/* 0BFBAC 7F08B07C AFA90080 */ sw $t1, 0x80($sp) -/* 0BFBB0 7F08B080 0C00110B */ jal get_video2_settings_txtClipH -/* 0BFBB4 7F08B084 A7A20048 */ sh $v0, 0x48($sp) -/* 0BFBB8 7F08B088 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableSmall) -/* 0BFBBC 7F08B08C 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0BFBC0 7F08B090 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0BFBC4 7F08B094 8D4A0EB0 */ lw $t2, %lo(ptrSecondFontTableSmall)($t2) -/* 0BFBC8 7F08B098 87AB0048 */ lh $t3, 0x48($sp) -/* 0BFBCC 7F08B09C 240DFFFF */ li $t5, -1 -/* 0BFBD0 7F08B0A0 AFAD0018 */ sw $t5, 0x18($sp) -/* 0BFBD4 7F08B0A4 02002025 */ move $a0, $s0 -/* 0BFBD8 7F08B0A8 27A50080 */ addiu $a1, $sp, 0x80 -/* 0BFBDC 7F08B0AC 27A6007C */ addiu $a2, $sp, 0x7c -/* 0BFBE0 7F08B0B0 27A70084 */ addiu $a3, $sp, 0x84 -/* 0BFBE4 7F08B0B4 AFA20020 */ sw $v0, 0x20($sp) -/* 0BFBE8 7F08B0B8 AFA00024 */ sw $zero, 0x24($sp) -/* 0BFBEC 7F08B0BC AFA00028 */ sw $zero, 0x28($sp) -/* 0BFBF0 7F08B0C0 AFAE0014 */ sw $t6, 0x14($sp) -/* 0BFBF4 7F08B0C4 AFAA0010 */ sw $t2, 0x10($sp) -/* 0BFBF8 7F08B0C8 0FC2B6AF */ jal en_text_write_stuff -/* 0BFBFC 7F08B0CC AFAB001C */ sw $t3, 0x1c($sp) -/* 0BFC00 7F08B0D0 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 0BFC04 7F08B0D4 00402025 */ move $a0, $v0 -/* 0BFC08 7F08B0D8 00408025 */ move $s0, $v0 -.L7F08B0DC: -/* 0BFC0C 7F08B0DC 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BFC10 7F08B0E0 02001025 */ move $v0, $s0 -/* 0BFC14 7F08B0E4 8FB00038 */ lw $s0, 0x38($sp) -/* 0BFC18 7F08B0E8 03E00008 */ jr $ra -/* 0BFC1C 7F08B0EC 27BD00E8 */ addiu $sp, $sp, 0xe8 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_800552BC -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F08AAE8 -/* 0BFE34 7F08B2C4 3C0E8003 */ lui $t6, %hi(D_800368B4) # $t6, 0x8003 -/* 0BFE38 7F08B2C8 8DCE68EC */ lw $t6, %lo(D_800368B4)($t6) -/* 0BFE3C 7F08B2CC 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 0BFE40 7F08B2D0 AFB00038 */ sw $s0, 0x38($sp) -/* 0BFE44 7F08B2D4 00808025 */ move $s0, $a0 -/* 0BFE48 7F08B2D8 15C000B2 */ bnez $t6, .Ljp7F08B5A4 -/* 0BFE4C 7F08B2DC AFBF003C */ sw $ra, 0x3c($sp) -/* 0BFE50 7F08B2E0 3C0F8003 */ lui $t7, %hi(upper_text_window_timer) # $t7, 0x8003 -/* 0BFE54 7F08B2E4 8DEF68E8 */ lw $t7, %lo(upper_text_window_timer)($t7) -/* 0BFE58 7F08B2E8 3C188003 */ lui $t8, %hi(upper_text_buffer_index) # $t8, 0x8003 -/* 0BFE5C 7F08B2EC 05E000AD */ bltz $t7, .Ljp7F08B5A4 -/* 0BFE60 7F08B2F0 00000000 */ nop -/* 0BFE64 7F08B2F4 8F1868E0 */ lw $t8, %lo(upper_text_buffer_index)($t8) -/* 0BFE68 7F08B2F8 3C088008 */ lui $t0, %hi(dword_CODE_bss_80079C70) -/* 0BFE6C 7F08B2FC 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0BFE70 7F08B300 0018C880 */ sll $t9, $t8, 2 -/* 0BFE74 7F08B304 0338C821 */ addu $t9, $t9, $t8 -/* 0BFE78 7F08B308 0019C880 */ sll $t9, $t9, 2 -/* 0BFE7C 7F08B30C 0338C823 */ subu $t9, $t9, $t8 -/* 0BFE80 7F08B310 0019C8C0 */ sll $t9, $t9, 3 -/* 0BFE84 7F08B314 0338C823 */ subu $t9, $t9, $t8 -/* 0BFE88 7F08B318 01194021 */ addu $t0, $t0, $t9 -/* 0BFE8C 7F08B31C 91089CE0 */ lbu $t0, %lo(dword_CODE_bss_80079C70)($t0) -/* 0BFE90 7F08B320 110000A0 */ beqz $t0, .Ljp7F08B5A4 -/* 0BFE94 7F08B324 00000000 */ nop -/* 0BFE98 7F08B328 8D29A120 */ lw $t1, %lo(pPlayer)($t1) -/* 0BFE9C 7F08B32C 8D2A29C4 */ lw $t2, 0x29c4($t1) -/* 0BFEA0 7F08B330 1540009C */ bnez $t2, .Ljp7F08B5A4 -/* 0BFEA4 7F08B334 00000000 */ nop -/* 0BFEA8 7F08B338 0FC2B652 */ jal microcode_constructor -/* 0BFEAC 7F08B33C 00000000 */ nop -/* 0BFEB0 7F08B340 3C0B8003 */ lui $t3, %hi(upper_text_buffer_index) # $t3, 0x8003 -/* 0BFEB4 7F08B344 8D6B68E0 */ lw $t3, %lo(upper_text_buffer_index)($t3) -/* 0BFEB8 7F08B348 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) # $t6, 0x8004 -/* 0BFEBC 7F08B34C 8DCE0EE4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 0BFEC0 7F08B350 000B6080 */ sll $t4, $t3, 2 -/* 0BFEC4 7F08B354 018B6021 */ addu $t4, $t4, $t3 -/* 0BFEC8 7F08B358 000C6080 */ sll $t4, $t4, 2 -/* 0BFECC 7F08B35C 018B6023 */ subu $t4, $t4, $t3 -/* 0BFED0 7F08B360 000C60C0 */ sll $t4, $t4, 3 -/* 0BFED4 7F08B364 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_80079C70) # $t5, 0x8008 -/* 0BFED8 7F08B368 25AD9CE0 */ addiu $t5, %lo(dword_CODE_bss_80079C70) # addiu $t5, $t5, -0x6320 -/* 0BFEDC 7F08B36C 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) # $a3, 0x8004 -/* 0BFEE0 7F08B370 018B6023 */ subu $t4, $t4, $t3 -/* 0BFEE4 7F08B374 00408025 */ move $s0, $v0 -/* 0BFEE8 7F08B378 AFA000D4 */ sw $zero, 0xd4($sp) -/* 0BFEEC 7F08B37C AFA000D8 */ sw $zero, 0xd8($sp) -/* 0BFEF0 7F08B380 018D3021 */ addu $a2, $t4, $t5 -/* 0BFEF4 7F08B384 8CE70EE8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 0BFEF8 7F08B388 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 0BFEFC 7F08B38C 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 0BFF00 7F08B390 AFA00014 */ sw $zero, 0x14($sp) -/* 0BFF04 7F08B394 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0BFF08 7F08B398 AFAE0010 */ sw $t6, 0x10($sp) -/* 0BFF0C 7F08B39C 3C0F8003 */ lui $t7, %hi(camera_8003642C) # $t7, 0x8003 -/* 0BFF10 7F08B3A0 8DEF646C */ lw $t7, %lo(camera_8003642C)($t7) -/* 0BFF14 7F08B3A4 11E0001B */ beqz $t7, .Ljp7F08B414 -/* 0BFF18 7F08B3A8 00000000 */ nop -/* 0BFF1C 7F08B3AC 0C001145 */ jal get_video2_settings_ulx -/* 0BFF20 7F08B3B0 00000000 */ nop -/* 0BFF24 7F08B3B4 24580046 */ addiu $t8, $v0, 0x46 -/* 0BFF28 7F08B3B8 0C001149 */ jal get_video2_settings_uly -/* 0BFF2C 7F08B3BC AFB800E4 */ sw $t8, 0xe4($sp) -/* 0BFF30 7F08B3C0 00401825 */ move $v1, $v0 -/* 0BFF34 7F08B3C4 24630020 */ addiu $v1, $v1, 0x20 -/* 0BFF38 7F08B3C8 2404000B */ li $a0, 11 -/* 0BFF3C 7F08B3CC 0064001A */ div $zero, $v1, $a0 -/* 0BFF40 7F08B3D0 14800002 */ bnez $a0, .Ljp7F08B3DC -/* 0BFF44 7F08B3D4 00000000 */ nop -/* 0BFF48 7F08B3D8 0007000D */ break 7 -.Ljp7F08B3DC: -/* 0BFF4C 7F08B3DC 2401FFFF */ li $at, -1 -/* 0BFF50 7F08B3E0 14810004 */ bne $a0, $at, .Ljp7F08B3F4 -/* 0BFF54 7F08B3E4 3C018000 */ lui $at, 0x8000 -/* 0BFF58 7F08B3E8 14610002 */ bne $v1, $at, .Ljp7F08B3F4 -/* 0BFF5C 7F08B3EC 00000000 */ nop -/* 0BFF60 7F08B3F0 0006000D */ break 6 -.Ljp7F08B3F4: -/* 0BFF64 7F08B3F4 00001812 */ mflo $v1 -/* 0BFF68 7F08B3F8 00000000 */ nop -/* 0BFF6C 7F08B3FC 00000000 */ nop -/* 0BFF70 7F08B400 00640019 */ multu $v1, $a0 -/* 0BFF74 7F08B404 00001812 */ mflo $v1 -/* 0BFF78 7F08B408 2463FFFE */ addiu $v1, $v1, -2 -/* 0BFF7C 7F08B40C 10000008 */ b .Ljp7F08B430 -/* 0BFF80 7F08B410 8FA800D8 */ lw $t0, 0xd8($sp) -.Ljp7F08B414: -/* 0BFF84 7F08B414 0C001145 */ jal get_video2_settings_ulx -/* 0BFF88 7F08B418 00000000 */ nop -/* 0BFF8C 7F08B41C 2459001E */ addiu $t9, $v0, 0x1e -/* 0BFF90 7F08B420 0C001149 */ jal get_video2_settings_uly -/* 0BFF94 7F08B424 AFB900E4 */ sw $t9, 0xe4($sp) -/* 0BFF98 7F08B428 2443000D */ addiu $v1, $v0, 0xd -/* 0BFF9C 7F08B42C 8FA800D8 */ lw $t0, 0xd8($sp) -.Ljp7F08B430: -/* 0BFFA0 7F08B430 AFA300E0 */ sw $v1, 0xe0($sp) -/* 0BFFA4 7F08B434 00684821 */ addu $t1, $v1, $t0 -/* 0BFFA8 7F08B438 0C001107 */ jal get_video2_settings_txtClipW -/* 0BFFAC 7F08B43C AFA900DC */ sw $t1, 0xdc($sp) -/* 0BFFB0 7F08B440 8FA300E0 */ lw $v1, 0xe0($sp) -/* 0BFFB4 7F08B444 8FAA00DC */ lw $t2, 0xdc($sp) -/* 0BFFB8 7F08B448 240B0064 */ li $t3, 100 -/* 0BFFBC 7F08B44C AFAB0014 */ sw $t3, 0x14($sp) -/* 0BFFC0 7F08B450 02002025 */ move $a0, $s0 -/* 0BFFC4 7F08B454 00002825 */ move $a1, $zero -/* 0BFFC8 7F08B458 00403825 */ move $a3, $v0 -/* 0BFFCC 7F08B45C 2466FFFE */ addiu $a2, $v1, -2 -/* 0BFFD0 7F08B460 0FC2B6F1 */ jal microcode_constructor_related_to_menus -/* 0BFFD4 7F08B464 AFAA0010 */ sw $t2, 0x10($sp) -/* 0BFFD8 7F08B468 3C0C8005 */ lui $t4, %hi(j_text_trigger) # $t4, 0x8005 -/* 0BFFDC 7F08B46C 8D8C8500 */ lw $t4, %lo(j_text_trigger)($t4) -/* 0BFFE0 7F08B470 00408025 */ move $s0, $v0 -/* 0BFFE4 7F08B474 11800026 */ beqz $t4, .Ljp7F08B510 -/* 0BFFE8 7F08B478 00000000 */ nop -/* 0BFFEC 7F08B47C 0C001107 */ jal get_video2_settings_txtClipW -/* 0BFFF0 7F08B480 00000000 */ nop -/* 0BFFF4 7F08B484 0C00110B */ jal get_video2_settings_txtClipH -/* 0BFFF8 7F08B488 A7A20048 */ sh $v0, 0x48($sp) -/* 0BFFFC 7F08B48C 3C0D8003 */ lui $t5, %hi(upper_text_buffer_index) # $t5, 0x8003 -/* 0C0000 7F08B490 8DAD68E0 */ lw $t5, %lo(upper_text_buffer_index)($t5) -/* 0C0004 7F08B494 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) # $t8, 0x8004 -/* 0C0008 7F08B498 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) # $t9, 0x8004 -/* 0C000C 7F08B49C 000D7080 */ sll $t6, $t5, 2 -/* 0C0010 7F08B4A0 01CD7021 */ addu $t6, $t6, $t5 -/* 0C0014 7F08B4A4 000E7080 */ sll $t6, $t6, 2 -/* 0C0018 7F08B4A8 01CD7023 */ subu $t6, $t6, $t5 -/* 0C001C 7F08B4AC 8F390EE4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 0C0020 7F08B4B0 8F180EE8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 0C0024 7F08B4B4 87AA0048 */ lh $t2, 0x48($sp) -/* 0C0028 7F08B4B8 000E70C0 */ sll $t6, $t6, 3 -/* 0C002C 7F08B4BC 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_80079C70) # $t7, 0x8008 -/* 0C0030 7F08B4C0 3C096464 */ lui $t1, (0x646464FF >> 16) # lui $t1, 0x6464 -/* 0C0034 7F08B4C4 352964FF */ ori $t1, (0x646464FF & 0xFFFF) # ori $t1, $t1, 0x64ff -/* 0C0038 7F08B4C8 25EF9CE0 */ addiu $t7, %lo(dword_CODE_bss_80079C70) # addiu $t7, $t7, -0x6320 -/* 0C003C 7F08B4CC 2408FFFF */ li $t0, -1 -/* 0C0040 7F08B4D0 01CD7023 */ subu $t6, $t6, $t5 -/* 0C0044 7F08B4D4 01CF3821 */ addu $a3, $t6, $t7 -/* 0C0048 7F08B4D8 AFA80018 */ sw $t0, 0x18($sp) -/* 0C004C 7F08B4DC AFA9001C */ sw $t1, 0x1c($sp) -/* 0C0050 7F08B4E0 02002025 */ move $a0, $s0 -/* 0C0054 7F08B4E4 27A500E4 */ addiu $a1, $sp, 0xe4 -/* 0C0058 7F08B4E8 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 0C005C 7F08B4EC AFA20024 */ sw $v0, 0x24($sp) -/* 0C0060 7F08B4F0 AFA00028 */ sw $zero, 0x28($sp) -/* 0C0064 7F08B4F4 AFA0002C */ sw $zero, 0x2c($sp) -/* 0C0068 7F08B4F8 AFB90014 */ sw $t9, 0x14($sp) -/* 0C006C 7F08B4FC AFB80010 */ sw $t8, 0x10($sp) -/* 0C0070 7F08B500 0FC2BCA7 */ jal jp_text_write_stuff -/* 0C0074 7F08B504 AFAA0020 */ sw $t2, 0x20($sp) -/* 0C0078 7F08B508 10000022 */ b .Ljp7F08B594 -/* 0C007C 7F08B50C 00408025 */ move $s0, $v0 -.Ljp7F08B510: -/* 0C0080 7F08B510 0C001107 */ jal get_video2_settings_txtClipW -/* 0C0084 7F08B514 00000000 */ nop -/* 0C0088 7F08B518 0C00110B */ jal get_video2_settings_txtClipH -/* 0C008C 7F08B51C A7A20048 */ sh $v0, 0x48($sp) -/* 0C0090 7F08B520 3C0B8003 */ lui $t3, %hi(upper_text_buffer_index) # $t3, 0x8003 -/* 0C0094 7F08B524 8D6B68E0 */ lw $t3, %lo(upper_text_buffer_index)($t3) -/* 0C0098 7F08B528 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge) # $t6, 0x8004 -/* 0C009C 7F08B52C 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge) # $t7, 0x8004 -/* 0C00A0 7F08B530 000B6080 */ sll $t4, $t3, 2 -/* 0C00A4 7F08B534 018B6021 */ addu $t4, $t4, $t3 -/* 0C00A8 7F08B538 000C6080 */ sll $t4, $t4, 2 -/* 0C00AC 7F08B53C 018B6023 */ subu $t4, $t4, $t3 -/* 0C00B0 7F08B540 8DEF0EE4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7) -/* 0C00B4 7F08B544 8DCE0EE8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6) -/* 0C00B8 7F08B548 87B90048 */ lh $t9, 0x48($sp) -/* 0C00BC 7F08B54C 000C60C0 */ sll $t4, $t4, 3 -/* 0C00C0 7F08B550 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_80079C70) # $t5, 0x8008 -/* 0C00C4 7F08B554 25AD9CE0 */ addiu $t5, %lo(dword_CODE_bss_80079C70) # addiu $t5, $t5, -0x6320 -/* 0C00C8 7F08B558 2418FFFF */ li $t8, -1 -/* 0C00CC 7F08B55C 018B6023 */ subu $t4, $t4, $t3 -/* 0C00D0 7F08B560 018D3821 */ addu $a3, $t4, $t5 -/* 0C00D4 7F08B564 AFB80018 */ sw $t8, 0x18($sp) -/* 0C00D8 7F08B568 02002025 */ move $a0, $s0 -/* 0C00DC 7F08B56C 27A500E4 */ addiu $a1, $sp, 0xe4 -/* 0C00E0 7F08B570 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 0C00E4 7F08B574 AFA20020 */ sw $v0, 0x20($sp) -/* 0C00E8 7F08B578 AFA00024 */ sw $zero, 0x24($sp) -/* 0C00EC 7F08B57C AFA00028 */ sw $zero, 0x28($sp) -/* 0C00F0 7F08B580 AFAF0014 */ sw $t7, 0x14($sp) -/* 0C00F4 7F08B584 AFAE0010 */ sw $t6, 0x10($sp) -/* 0C00F8 7F08B588 0FC2B99B */ jal en_text_write_stuff -/* 0C00FC 7F08B58C AFB9001C */ sw $t9, 0x1c($sp) -/* 0C0100 7F08B590 00408025 */ move $s0, $v0 -.Ljp7F08B594: -/* 0C0104 7F08B594 0FC2B6A8 */ jal combiner_bayer_lod_perspective -/* 0C0108 7F08B598 02002025 */ move $a0, $s0 -/* 0C010C 7F08B59C 100000F1 */ b .Ljp7F08B964 -/* 0C0110 7F08B5A0 00408025 */ move $s0, $v0 -.Ljp7F08B5A4: -/* 0C0114 7F08B5A4 0FC2469A */ jal get_debug_testingmanpos_flag -/* 0C0118 7F08B5A8 00000000 */ nop -/* 0C011C 7F08B5AC 104000ED */ beqz $v0, .Ljp7F08B964 -/* 0C0120 7F08B5B0 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0C0124 7F08B5B4 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0C0128 7F08B5B8 C4400498 */ lwc1 $f0, 0x498($v0) -/* 0C012C 7F08B5BC C44E04A0 */ lwc1 $f14, 0x4a0($v0) -/* 0C0130 7F08B5C0 0FC16BD4 */ jal convert_angle_using_inverse -/* 0C0134 7F08B5C4 46000307 */ neg.s $f12, $f0 -/* 0C0138 7F08B5C8 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0C013C 7F08B5CC 44812000 */ mtc1 $at, $f4 -/* 0C0140 7F08B5D0 3C018005 */ lui $at, %hi(D_800552BC) # $at, 0x8005 -/* 0C0144 7F08B5D4 C42852EC */ lwc1 $f8, %lo(D_800552BC)($at) -/* 0C0148 7F08B5D8 46040182 */ mul.s $f6, $f0, $f4 -/* 0C014C 7F08B5DC 3C0B8003 */ lui $t3, %hi(D_800368B8) # $t3, 0x8003 -/* 0C0150 7F08B5E0 256B68F0 */ addiu $t3, %lo(D_800368B8) # addiu $t3, $t3, 0x68f0 -/* 0C0154 7F08B5E4 27AA004C */ addiu $t2, $sp, 0x4c -/* 0C0158 7F08B5E8 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 0C015C 7F08B5EC 46083283 */ div.s $f10, $f6, $f8 -/* 0C0160 7F08B5F0 4600540D */ trunc.w.s $f16, $f10 -/* 0C0164 7F08B5F4 44098000 */ mfc1 $t1, $f16 -/* 0C0168 7F08B5F8 00000000 */ nop -/* 0C016C 7F08B5FC AFA90068 */ sw $t1, 0x68($sp) -/* 0C0170 7F08B600 8D610000 */ lw $at, ($t3) -/* 0C0174 7F08B604 8D6E0004 */ lw $t6, 4($t3) -/* 0C0178 7F08B608 AD410000 */ sw $at, ($t2) -/* 0C017C 7F08B60C 8D610008 */ lw $at, 8($t3) -/* 0C0180 7F08B610 AD4E0004 */ sw $t6, 4($t2) -/* 0C0184 7F08B614 8D6E000C */ lw $t6, 0xc($t3) -/* 0C0188 7F08B618 AD410008 */ sw $at, 8($t2) -/* 0C018C 7F08B61C 8D610010 */ lw $at, 0x10($t3) -/* 0C0190 7F08B620 AD4E000C */ sw $t6, 0xc($t2) -/* 0C0194 7F08B624 8D6E0014 */ lw $t6, 0x14($t3) -/* 0C0198 7F08B628 AD410010 */ sw $at, 0x10($t2) -/* 0C019C 7F08B62C 9961001A */ lwr $at, 0x1a($t3) -/* 0C01A0 7F08B630 AD4E0014 */ sw $t6, 0x14($t2) -/* 0C01A4 7F08B634 B941001A */ swr $at, 0x1a($t2) -/* 0C01A8 7F08B638 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 0C01AC 7F08B63C 8DF80488 */ lw $t8, 0x488($t7) -/* 0C01B0 7F08B640 0FC2DA64 */ jal sub_GAME_7F0B5DE0 -/* 0C01B4 7F08B644 93040003 */ lbu $a0, 3($t8) -/* 0C01B8 7F08B648 3C058005 */ lui $a1, %hi(a8s) # $a1, 0x8005 -/* 0C01BC 7F08B64C 24A54FF0 */ addiu $a1, %lo(a8s) # addiu $a1, $a1, 0x4ff0 -/* 0C01C0 7F08B650 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 0C01C4 7F08B654 0C002B29 */ jal sprintf -/* 0C01C8 7F08B658 00403025 */ move $a2, $v0 -/* 0C01CC 7F08B65C 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 0C01D0 7F08B660 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 0C01D4 7F08B664 3C058005 */ lui $a1, %hi(aX4_0f) # $a1, 0x8005 -/* 0C01D8 7F08B668 24A54FF4 */ addiu $a1, %lo(aX4_0f) # addiu $a1, $a1, 0x4ff4 -/* 0C01DC 7F08B66C C732048C */ lwc1 $f18, 0x48c($t9) -/* 0C01E0 7F08B670 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 0C01E4 7F08B674 46009121 */ cvt.d.s $f4, $f18 -/* 0C01E8 7F08B678 44072000 */ mfc1 $a3, $f4 -/* 0C01EC 7F08B67C 44062800 */ mfc1 $a2, $f5 -/* 0C01F0 7F08B680 0C002B29 */ jal sprintf -/* 0C01F4 7F08B684 00000000 */ nop -/* 0C01F8 7F08B688 3C088008 */ lui $t0, %hi(pPlayer) # $t0, 0x8008 -/* 0C01FC 7F08B68C 8D08A120 */ lw $t0, %lo(pPlayer)($t0) -/* 0C0200 7F08B690 3C058005 */ lui $a1, %hi(aY4_0f) # $a1, 0x8005 -/* 0C0204 7F08B694 24A54FFC */ addiu $a1, %lo(aY4_0f) # addiu $a1, $a1, 0x4ffc -/* 0C0208 7F08B698 C5060490 */ lwc1 $f6, 0x490($t0) -/* 0C020C 7F08B69C 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 0C0210 7F08B6A0 46003221 */ cvt.d.s $f8, $f6 -/* 0C0214 7F08B6A4 44074000 */ mfc1 $a3, $f8 -/* 0C0218 7F08B6A8 44064800 */ mfc1 $a2, $f9 -/* 0C021C 7F08B6AC 0C002B29 */ jal sprintf -/* 0C0220 7F08B6B0 00000000 */ nop -/* 0C0224 7F08B6B4 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 0C0228 7F08B6B8 8D29A120 */ lw $t1, %lo(pPlayer)($t1) -/* 0C022C 7F08B6BC 3C058005 */ lui $a1, %hi(aZ4_0f) # $a1, 0x8005 -/* 0C0230 7F08B6C0 24A55004 */ addiu $a1, %lo(aZ4_0f) # addiu $a1, $a1, 0x5004 -/* 0C0234 7F08B6C4 C52A0494 */ lwc1 $f10, 0x494($t1) -/* 0C0238 7F08B6C8 27A40094 */ addiu $a0, $sp, 0x94 -/* 0C023C 7F08B6CC 46005421 */ cvt.d.s $f16, $f10 -/* 0C0240 7F08B6D0 44078000 */ mfc1 $a3, $f16 -/* 0C0244 7F08B6D4 44068800 */ mfc1 $a2, $f17 -/* 0C0248 7F08B6D8 0C002B29 */ jal sprintf -/* 0C024C 7F08B6DC 00000000 */ nop -/* 0C0250 7F08B6E0 8FA70068 */ lw $a3, 0x68($sp) -/* 0C0254 7F08B6E4 2401002D */ li $at, 45 -/* 0C0258 7F08B6E8 3C058005 */ lui $a1, %hi(aS3d) # $a1, 0x8005 -/* 0C025C 7F08B6EC 24ED0016 */ addiu $t5, $a3, 0x16 -/* 0C0260 7F08B6F0 01A1001A */ div $zero, $t5, $at -/* 0C0264 7F08B6F4 00006012 */ mflo $t4 -/* 0C0268 7F08B6F8 000C5080 */ sll $t2, $t4, 2 -/* 0C026C 7F08B6FC 014C5023 */ subu $t2, $t2, $t4 -/* 0C0270 7F08B700 27AB004C */ addiu $t3, $sp, 0x4c -/* 0C0274 7F08B704 014B3021 */ addu $a2, $t2, $t3 -/* 0C0278 7F08B708 24A5500C */ addiu $a1, %lo(aS3d) # addiu $a1, $a1, 0x500c -/* 0C027C 7F08B70C 0C002B29 */ jal sprintf -/* 0C0280 7F08B710 27A40084 */ addiu $a0, $sp, 0x84 -/* 0C0284 7F08B714 0C001145 */ jal get_video2_settings_ulx -/* 0C0288 7F08B718 00000000 */ nop -/* 0C028C 7F08B71C 244E0011 */ addiu $t6, $v0, 0x11 -/* 0C0290 7F08B720 0C001149 */ jal get_video2_settings_uly -/* 0C0294 7F08B724 AFAE0080 */ sw $t6, 0x80($sp) -/* 0C0298 7F08B728 24460011 */ addiu $a2, $v0, 0x11 -/* 0C029C 7F08B72C 24CF000A */ addiu $t7, $a2, 0xa -/* 0C02A0 7F08B730 AFAF0074 */ sw $t7, 0x74($sp) -/* 0C02A4 7F08B734 AFA6007C */ sw $a2, 0x7c($sp) -/* 0C02A8 7F08B738 0FC2B652 */ jal microcode_constructor -/* 0C02AC 7F08B73C 02002025 */ move $a0, $s0 -/* 0C02B0 7F08B740 0C001107 */ jal get_video2_settings_txtClipW -/* 0C02B4 7F08B744 00408025 */ move $s0, $v0 -/* 0C02B8 7F08B748 8FB80074 */ lw $t8, 0x74($sp) -/* 0C02BC 7F08B74C 24080064 */ li $t0, 100 -/* 0C02C0 7F08B750 AFA80014 */ sw $t0, 0x14($sp) -/* 0C02C4 7F08B754 27190001 */ addiu $t9, $t8, 1 -/* 0C02C8 7F08B758 AFB90010 */ sw $t9, 0x10($sp) -/* 0C02CC 7F08B75C 8FA6007C */ lw $a2, 0x7c($sp) -/* 0C02D0 7F08B760 02002025 */ move $a0, $s0 -/* 0C02D4 7F08B764 00002825 */ move $a1, $zero -/* 0C02D8 7F08B768 0FC2B6F1 */ jal microcode_constructor_related_to_menus -/* 0C02DC 7F08B76C 00403825 */ move $a3, $v0 -/* 0C02E0 7F08B770 0C001107 */ jal get_video2_settings_txtClipW -/* 0C02E4 7F08B774 00408025 */ move $s0, $v0 -/* 0C02E8 7F08B778 0C00110B */ jal get_video2_settings_txtClipH -/* 0C02EC 7F08B77C A7A20048 */ sh $v0, 0x48($sp) -/* 0C02F0 7F08B780 3C098004 */ lui $t1, %hi(ptrSecondFontTableSmall) # $t1, 0x8004 -/* 0C02F4 7F08B784 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0C02F8 7F08B788 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0C02FC 7F08B78C 8D290EE0 */ lw $t1, %lo(ptrSecondFontTableSmall)($t1) -/* 0C0300 7F08B790 87AA0048 */ lh $t2, 0x48($sp) -/* 0C0304 7F08B794 240CFFFF */ li $t4, -1 -/* 0C0308 7F08B798 AFAC0018 */ sw $t4, 0x18($sp) -/* 0C030C 7F08B79C 02002025 */ move $a0, $s0 -/* 0C0310 7F08B7A0 27A50080 */ addiu $a1, $sp, 0x80 -/* 0C0314 7F08B7A4 27A6007C */ addiu $a2, $sp, 0x7c -/* 0C0318 7F08B7A8 27A700C4 */ addiu $a3, $sp, 0xc4 -/* 0C031C 7F08B7AC AFA20020 */ sw $v0, 0x20($sp) -/* 0C0320 7F08B7B0 AFA00024 */ sw $zero, 0x24($sp) -/* 0C0324 7F08B7B4 AFA00028 */ sw $zero, 0x28($sp) -/* 0C0328 7F08B7B8 AFAD0014 */ sw $t5, 0x14($sp) -/* 0C032C 7F08B7BC AFA90010 */ sw $t1, 0x10($sp) -/* 0C0330 7F08B7C0 0FC2B99B */ jal en_text_write_stuff -/* 0C0334 7F08B7C4 AFAA001C */ sw $t2, 0x1c($sp) -/* 0C0338 7F08B7C8 0C001145 */ jal get_video2_settings_ulx -/* 0C033C 7F08B7CC 00408025 */ move $s0, $v0 -/* 0C0340 7F08B7D0 244B0057 */ addiu $t3, $v0, 0x57 -/* 0C0344 7F08B7D4 0C001107 */ jal get_video2_settings_txtClipW -/* 0C0348 7F08B7D8 AFAB0080 */ sw $t3, 0x80($sp) -/* 0C034C 7F08B7DC 0C00110B */ jal get_video2_settings_txtClipH -/* 0C0350 7F08B7E0 A7A20048 */ sh $v0, 0x48($sp) -/* 0C0354 7F08B7E4 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) # $t6, 0x8004 -/* 0C0358 7F08B7E8 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) # $t7, 0x8004 -/* 0C035C 7F08B7EC 8DEF0EDC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0C0360 7F08B7F0 8DCE0EE0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0C0364 7F08B7F4 87B90048 */ lh $t9, 0x48($sp) -/* 0C0368 7F08B7F8 2418FFFF */ li $t8, -1 -/* 0C036C 7F08B7FC AFB80018 */ sw $t8, 0x18($sp) -/* 0C0370 7F08B800 02002025 */ move $a0, $s0 -/* 0C0374 7F08B804 27A50080 */ addiu $a1, $sp, 0x80 -/* 0C0378 7F08B808 27A6007C */ addiu $a2, $sp, 0x7c -/* 0C037C 7F08B80C 27A700B4 */ addiu $a3, $sp, 0xb4 -/* 0C0380 7F08B810 AFA20020 */ sw $v0, 0x20($sp) -/* 0C0384 7F08B814 AFA00024 */ sw $zero, 0x24($sp) -/* 0C0388 7F08B818 AFA00028 */ sw $zero, 0x28($sp) -/* 0C038C 7F08B81C AFAF0014 */ sw $t7, 0x14($sp) -/* 0C0390 7F08B820 AFAE0010 */ sw $t6, 0x10($sp) -/* 0C0394 7F08B824 0FC2B99B */ jal en_text_write_stuff -/* 0C0398 7F08B828 AFB9001C */ sw $t9, 0x1c($sp) -/* 0C039C 7F08B82C 0C001145 */ jal get_video2_settings_ulx -/* 0C03A0 7F08B830 00408025 */ move $s0, $v0 -/* 0C03A4 7F08B834 2448008D */ addiu $t0, $v0, 0x8d -/* 0C03A8 7F08B838 0C001107 */ jal get_video2_settings_txtClipW -/* 0C03AC 7F08B83C AFA80080 */ sw $t0, 0x80($sp) -/* 0C03B0 7F08B840 0C00110B */ jal get_video2_settings_txtClipH -/* 0C03B4 7F08B844 A7A20048 */ sh $v0, 0x48($sp) -/* 0C03B8 7F08B848 3C098004 */ lui $t1, %hi(ptrSecondFontTableSmall) # $t1, 0x8004 -/* 0C03BC 7F08B84C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0C03C0 7F08B850 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0C03C4 7F08B854 8D290EE0 */ lw $t1, %lo(ptrSecondFontTableSmall)($t1) -/* 0C03C8 7F08B858 87AA0048 */ lh $t2, 0x48($sp) -/* 0C03CC 7F08B85C 240CFFFF */ li $t4, -1 -/* 0C03D0 7F08B860 AFAC0018 */ sw $t4, 0x18($sp) -/* 0C03D4 7F08B864 02002025 */ move $a0, $s0 -/* 0C03D8 7F08B868 27A50080 */ addiu $a1, $sp, 0x80 -/* 0C03DC 7F08B86C 27A6007C */ addiu $a2, $sp, 0x7c -/* 0C03E0 7F08B870 27A700A4 */ addiu $a3, $sp, 0xa4 -/* 0C03E4 7F08B874 AFA20020 */ sw $v0, 0x20($sp) -/* 0C03E8 7F08B878 AFA00024 */ sw $zero, 0x24($sp) -/* 0C03EC 7F08B87C AFA00028 */ sw $zero, 0x28($sp) -/* 0C03F0 7F08B880 AFAD0014 */ sw $t5, 0x14($sp) -/* 0C03F4 7F08B884 AFA90010 */ sw $t1, 0x10($sp) -/* 0C03F8 7F08B888 0FC2B99B */ jal en_text_write_stuff -/* 0C03FC 7F08B88C AFAA001C */ sw $t2, 0x1c($sp) -/* 0C0400 7F08B890 0C001145 */ jal get_video2_settings_ulx -/* 0C0404 7F08B894 00408025 */ move $s0, $v0 -/* 0C0408 7F08B898 244B00C3 */ addiu $t3, $v0, 0xc3 -/* 0C040C 7F08B89C 0C001107 */ jal get_video2_settings_txtClipW -/* 0C0410 7F08B8A0 AFAB0080 */ sw $t3, 0x80($sp) -/* 0C0414 7F08B8A4 0C00110B */ jal get_video2_settings_txtClipH -/* 0C0418 7F08B8A8 A7A20048 */ sh $v0, 0x48($sp) -/* 0C041C 7F08B8AC 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) # $t6, 0x8004 -/* 0C0420 7F08B8B0 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) # $t7, 0x8004 -/* 0C0424 7F08B8B4 8DEF0EDC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0C0428 7F08B8B8 8DCE0EE0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0C042C 7F08B8BC 87B90048 */ lh $t9, 0x48($sp) -/* 0C0430 7F08B8C0 2418FFFF */ li $t8, -1 -/* 0C0434 7F08B8C4 AFB80018 */ sw $t8, 0x18($sp) -/* 0C0438 7F08B8C8 02002025 */ move $a0, $s0 -/* 0C043C 7F08B8CC 27A50080 */ addiu $a1, $sp, 0x80 -/* 0C0440 7F08B8D0 27A6007C */ addiu $a2, $sp, 0x7c -/* 0C0444 7F08B8D4 27A70094 */ addiu $a3, $sp, 0x94 -/* 0C0448 7F08B8D8 AFA20020 */ sw $v0, 0x20($sp) -/* 0C044C 7F08B8DC AFA00024 */ sw $zero, 0x24($sp) -/* 0C0450 7F08B8E0 AFA00028 */ sw $zero, 0x28($sp) -/* 0C0454 7F08B8E4 AFAF0014 */ sw $t7, 0x14($sp) -/* 0C0458 7F08B8E8 AFAE0010 */ sw $t6, 0x10($sp) -/* 0C045C 7F08B8EC 0FC2B99B */ jal en_text_write_stuff -/* 0C0460 7F08B8F0 AFB9001C */ sw $t9, 0x1c($sp) -/* 0C0464 7F08B8F4 0C001145 */ jal get_video2_settings_ulx -/* 0C0468 7F08B8F8 00408025 */ move $s0, $v0 -/* 0C046C 7F08B8FC 244800F9 */ addiu $t0, $v0, 0xf9 -/* 0C0470 7F08B900 0C001107 */ jal get_video2_settings_txtClipW -/* 0C0474 7F08B904 AFA80080 */ sw $t0, 0x80($sp) -/* 0C0478 7F08B908 0C00110B */ jal get_video2_settings_txtClipH -/* 0C047C 7F08B90C A7A20048 */ sh $v0, 0x48($sp) -/* 0C0480 7F08B910 3C098004 */ lui $t1, %hi(ptrSecondFontTableSmall) # $t1, 0x8004 -/* 0C0484 7F08B914 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0C0488 7F08B918 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0C048C 7F08B91C 8D290EE0 */ lw $t1, %lo(ptrSecondFontTableSmall)($t1) -/* 0C0490 7F08B920 87AA0048 */ lh $t2, 0x48($sp) -/* 0C0494 7F08B924 240CFFFF */ li $t4, -1 -/* 0C0498 7F08B928 AFAC0018 */ sw $t4, 0x18($sp) -/* 0C049C 7F08B92C 02002025 */ move $a0, $s0 -/* 0C04A0 7F08B930 27A50080 */ addiu $a1, $sp, 0x80 -/* 0C04A4 7F08B934 27A6007C */ addiu $a2, $sp, 0x7c -/* 0C04A8 7F08B938 27A70084 */ addiu $a3, $sp, 0x84 -/* 0C04AC 7F08B93C AFA20020 */ sw $v0, 0x20($sp) -/* 0C04B0 7F08B940 AFA00024 */ sw $zero, 0x24($sp) -/* 0C04B4 7F08B944 AFA00028 */ sw $zero, 0x28($sp) -/* 0C04B8 7F08B948 AFAD0014 */ sw $t5, 0x14($sp) -/* 0C04BC 7F08B94C AFA90010 */ sw $t1, 0x10($sp) -/* 0C04C0 7F08B950 0FC2B99B */ jal en_text_write_stuff -/* 0C04C4 7F08B954 AFAA001C */ sw $t2, 0x1c($sp) -/* 0C04C8 7F08B958 0FC2B6A8 */ jal combiner_bayer_lod_perspective -/* 0C04CC 7F08B95C 00402025 */ move $a0, $v0 -/* 0C04D0 7F08B960 00408025 */ move $s0, $v0 -.Ljp7F08B964: -/* 0C04D4 7F08B964 8FBF003C */ lw $ra, 0x3c($sp) -/* 0C04D8 7F08B968 02001025 */ move $v0, $s0 -/* 0C04DC 7F08B96C 8FB00038 */ lw $s0, 0x38($sp) -/* 0C04E0 7F08B970 03E00008 */ jr $ra -/* 0C04E4 7F08B974 27BD00E8 */ addiu $sp, $sp, 0xe8 -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F08B0F0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800552C0 -.word 0xbd4ccccd /*-0.050000001*/ -glabel D_800552C4 -.word 0xbecccccd /*-0.40000001*/ -glabel D_800552C8 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_800552CC -.word 0x3ecccccd /*0.40000001*/ -glabel D_800552D0 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F08B0F0 -/* 0BFC20 7F08B0F0 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 0BFC24 7F08B0F4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BFC28 7F08B0F8 AFB10020 */ sw $s1, 0x20($sp) -/* 0BFC2C 7F08B0FC AFB0001C */ sw $s0, 0x1c($sp) -/* 0BFC30 7F08B100 0FC26C57 */ jal sub_GAME_7F09B15C -/* 0BFC34 7F08B104 AFA400F8 */ sw $a0, 0xf8($sp) -/* 0BFC38 7F08B108 8FAE00F8 */ lw $t6, 0xf8($sp) -/* 0BFC3C 7F08B10C AFA200F4 */ sw $v0, 0xf4($sp) -/* 0BFC40 7F08B110 8DCF0004 */ lw $t7, 4($t6) -/* 0BFC44 7F08B114 11E0000B */ beqz $t7, .L7F08B144 -/* 0BFC48 7F08B118 AFAF00F0 */ sw $t7, 0xf0($sp) -/* 0BFC4C 7F08B11C 0FC26C54 */ jal get_cur_playernum -/* 0BFC50 7F08B120 00000000 */ nop -/* 0BFC54 7F08B124 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 0BFC58 7F08B128 00402025 */ move $a0, $v0 -/* 0BFC5C 7F08B12C 54400006 */ bnezl $v0, .L7F08B148 -/* 0BFC60 7F08B130 8FA900F0 */ lw $t1, 0xf0($sp) -/* 0BFC64 7F08B134 8FA200F0 */ lw $v0, 0xf0($sp) -/* 0BFC68 7F08B138 94580012 */ lhu $t8, 0x12($v0) -/* 0BFC6C 7F08B13C 3319F7FF */ andi $t9, $t8, 0xf7ff -/* 0BFC70 7F08B140 A4590012 */ sh $t9, 0x12($v0) -.L7F08B144: -/* 0BFC74 7F08B144 8FA900F0 */ lw $t1, 0xf0($sp) -.L7F08B148: -/* 0BFC78 7F08B148 8FAA00F4 */ lw $t2, 0xf4($sp) -/* 0BFC7C 7F08B14C 3C0C8008 */ lui $t4, %hi(ptr_BONDdata_p1) -/* 0BFC80 7F08B150 1120004D */ beqz $t1, .L7F08B288 -/* 0BFC84 7F08B154 000A5880 */ sll $t3, $t2, 2 -/* 0BFC88 7F08B158 258C9EE0 */ addiu $t4, %lo(ptr_BONDdata_p1) # addiu $t4, $t4, -0x6120 -/* 0BFC8C 7F08B15C 016C8821 */ addu $s1, $t3, $t4 -/* 0BFC90 7F08B160 8E2D0000 */ lw $t5, ($s1) -/* 0BFC94 7F08B164 8DAE00D4 */ lw $t6, 0xd4($t5) -/* 0BFC98 7F08B168 51C00048 */ beql $t6, $zero, .L7F08B28C -/* 0BFC9C 7F08B16C 8FAF00F0 */ lw $t7, 0xf0($sp) -/* 0BFCA0 7F08B170 0FC243BF */ jal get_debug_render_raster -/* 0BFCA4 7F08B174 00000000 */ nop -/* 0BFCA8 7F08B178 50400007 */ beql $v0, $zero, .L7F08B198 -/* 0BFCAC 7F08B17C 8E390000 */ lw $t9, ($s1) -/* 0BFCB0 7F08B180 8E2F0000 */ lw $t7, ($s1) -/* 0BFCB4 7F08B184 24010001 */ li $at, 1 -/* 0BFCB8 7F08B188 8DF80000 */ lw $t8, ($t7) -/* 0BFCBC 7F08B18C 5701003F */ bnel $t8, $at, .L7F08B28C -/* 0BFCC0 7F08B190 8FAF00F0 */ lw $t7, 0xf0($sp) -/* 0BFCC4 7F08B194 8E390000 */ lw $t9, ($s1) -.L7F08B198: -/* 0BFCC8 7F08B198 AF2000AC */ sw $zero, 0xac($t9) -/* 0BFCCC 7F08B19C 0FC083BC */ jal sub_GAME_7F020EF0 -/* 0BFCD0 7F08B1A0 8FA400F8 */ lw $a0, 0xf8($sp) -/* 0BFCD4 7F08B1A4 8E2A0000 */ lw $t2, ($s1) -/* 0BFCD8 7F08B1A8 AFA200E8 */ sw $v0, 0xe8($sp) -/* 0BFCDC 7F08B1AC 24090001 */ li $t1, 1 -/* 0BFCE0 7F08B1B0 AD4900AC */ sw $t1, 0xac($t2) -/* 0BFCE4 7F08B1B4 8E280000 */ lw $t0, ($s1) -/* 0BFCE8 7F08B1B8 8D0B00A8 */ lw $t3, 0xa8($t0) -/* 0BFCEC 7F08B1BC C5640008 */ lwc1 $f4, 8($t3) -/* 0BFCF0 7F08B1C0 E504048C */ swc1 $f4, 0x48c($t0) -/* 0BFCF4 7F08B1C4 8E280000 */ lw $t0, ($s1) -/* 0BFCF8 7F08B1C8 8D0C00A8 */ lw $t4, 0xa8($t0) -/* 0BFCFC 7F08B1CC C586000C */ lwc1 $f6, 0xc($t4) -/* 0BFD00 7F08B1D0 E5060490 */ swc1 $f6, 0x490($t0) -/* 0BFD04 7F08B1D4 8E280000 */ lw $t0, ($s1) -/* 0BFD08 7F08B1D8 8D0D00A8 */ lw $t5, 0xa8($t0) -/* 0BFD0C 7F08B1DC C5A80010 */ lwc1 $f8, 0x10($t5) -/* 0BFD10 7F08B1E0 E5080494 */ swc1 $f8, 0x494($t0) -/* 0BFD14 7F08B1E4 8E280000 */ lw $t0, ($s1) -/* 0BFD18 7F08B1E8 8D0E00A8 */ lw $t6, 0xa8($t0) -/* 0BFD1C 7F08B1EC 8DCF0014 */ lw $t7, 0x14($t6) -/* 0BFD20 7F08B1F0 AD0F0488 */ sw $t7, 0x488($t0) -/* 0BFD24 7F08B1F4 0FC1F7A7 */ jal sub_GAME_7F07DE9C -/* 0BFD28 7F08B1F8 8E240000 */ lw $a0, ($s1) -/* 0BFD2C 7F08B1FC 8FB800F8 */ lw $t8, 0xf8($sp) -/* 0BFD30 7F08B200 93190001 */ lbu $t9, 1($t8) -/* 0BFD34 7F08B204 33290002 */ andi $t1, $t9, 2 -/* 0BFD38 7F08B208 1120001D */ beqz $t1, .L7F08B280 -/* 0BFD3C 7F08B20C 00000000 */ nop -/* 0BFD40 7F08B210 8E2A0000 */ lw $t2, ($s1) -/* 0BFD44 7F08B214 8D4B00D4 */ lw $t3, 0xd4($t2) -/* 0BFD48 7F08B218 0FC1E111 */ jal sub_GAME_7F078444 -/* 0BFD4C 7F08B21C 8D70000C */ lw $s0, 0xc($t3) -/* 0BFD50 7F08B220 00402025 */ move $a0, $v0 -/* 0BFD54 7F08B224 02002825 */ move $a1, $s0 -/* 0BFD58 7F08B228 0FC16063 */ jal sub_GAME_7F05818C -/* 0BFD5C 7F08B22C 27A600A4 */ addiu $a2, $sp, 0xa4 -/* 0BFD60 7F08B230 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 0BFD64 7F08B234 44810000 */ mtc1 $at, $f0 -/* 0BFD68 7F08B238 C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 0BFD6C 7F08B23C C7A400D4 */ lwc1 $f4, 0xd4($sp) -/* 0BFD70 7F08B240 8E2C0000 */ lw $t4, ($s1) -/* 0BFD74 7F08B244 46005482 */ mul.s $f18, $f10, $f0 -/* 0BFD78 7F08B248 46049180 */ add.s $f6, $f18, $f4 -/* 0BFD7C 7F08B24C E58604B4 */ swc1 $f6, 0x4b4($t4) -/* 0BFD80 7F08B250 C7A800B8 */ lwc1 $f8, 0xb8($sp) -/* 0BFD84 7F08B254 C7B200D8 */ lwc1 $f18, 0xd8($sp) -/* 0BFD88 7F08B258 8E2D0000 */ lw $t5, ($s1) -/* 0BFD8C 7F08B25C 46004282 */ mul.s $f10, $f8, $f0 -/* 0BFD90 7F08B260 46125100 */ add.s $f4, $f10, $f18 -/* 0BFD94 7F08B264 E5A404B8 */ swc1 $f4, 0x4b8($t5) -/* 0BFD98 7F08B268 C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 0BFD9C 7F08B26C C7AA00DC */ lwc1 $f10, 0xdc($sp) -/* 0BFDA0 7F08B270 8E2E0000 */ lw $t6, ($s1) -/* 0BFDA4 7F08B274 46003202 */ mul.s $f8, $f6, $f0 -/* 0BFDA8 7F08B278 460A4480 */ add.s $f18, $f8, $f10 -/* 0BFDAC 7F08B27C E5D204BC */ swc1 $f18, 0x4bc($t6) -.L7F08B280: -/* 0BFDB0 7F08B280 10000288 */ b .L7F08BCA4 -/* 0BFDB4 7F08B284 8FA200E8 */ lw $v0, 0xe8($sp) -.L7F08B288: -/* 0BFDB8 7F08B288 8FAF00F0 */ lw $t7, 0xf0($sp) -.L7F08B28C: -/* 0BFDBC 7F08B28C 8FB800F4 */ lw $t8, 0xf4($sp) -/* 0BFDC0 7F08B290 3C098008 */ lui $t1, %hi(ptr_BONDdata_p1) -/* 0BFDC4 7F08B294 11E0027E */ beqz $t7, .L7F08BC90 -/* 0BFDC8 7F08B298 0018C880 */ sll $t9, $t8, 2 -/* 0BFDCC 7F08B29C 25299EE0 */ addiu $t1, %lo(ptr_BONDdata_p1) # addiu $t1, $t1, -0x6120 -/* 0BFDD0 7F08B2A0 03298821 */ addu $s1, $t9, $t1 -/* 0BFDD4 7F08B2A4 8E2A0000 */ lw $t2, ($s1) -/* 0BFDD8 7F08B2A8 8D4B00D4 */ lw $t3, 0xd4($t2) -/* 0BFDDC 7F08B2AC 51600279 */ beql $t3, $zero, .L7F08BC94 -/* 0BFDE0 7F08B2B0 8FAA00F8 */ lw $t2, 0xf8($sp) -/* 0BFDE4 7F08B2B4 0FC26919 */ jal get_num_players -/* 0BFDE8 7F08B2B8 00000000 */ nop -/* 0BFDEC 7F08B2BC 28410002 */ slti $at, $v0, 2 -/* 0BFDF0 7F08B2C0 54200274 */ bnezl $at, .L7F08BC94 -/* 0BFDF4 7F08B2C4 8FAA00F8 */ lw $t2, 0xf8($sp) -/* 0BFDF8 7F08B2C8 0FC26C54 */ jal get_cur_playernum -/* 0BFDFC 7F08B2CC 00000000 */ nop -/* 0BFE00 7F08B2D0 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0BFE04 7F08B2D4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0BFE08 7F08B2D8 24050001 */ li $a1, 1 -/* 0BFE0C 7F08B2DC 504C026D */ beql $v0, $t4, .L7F08BC94 -/* 0BFE10 7F08B2E0 8FAA00F8 */ lw $t2, 0xf8($sp) -/* 0BFE14 7F08B2E4 44811000 */ mtc1 $at, $f2 -/* 0BFE18 7F08B2E8 AFA0009C */ sw $zero, 0x9c($sp) -/* 0BFE1C 7F08B2EC AFA0007C */ sw $zero, 0x7c($sp) -/* 0BFE20 7F08B2F0 8FA400F0 */ lw $a0, 0xf0($sp) -/* 0BFE24 7F08B2F4 E7A20090 */ swc1 $f2, 0x90($sp) -/* 0BFE28 7F08B2F8 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0BFE2C 7F08B2FC E7A20094 */ swc1 $f2, 0x94($sp) -/* 0BFE30 7F08B300 00408025 */ move $s0, $v0 -/* 0BFE34 7F08B304 8FA400F0 */ lw $a0, 0xf0($sp) -/* 0BFE38 7F08B308 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0BFE3C 7F08B30C 00002825 */ move $a1, $zero -/* 0BFE40 7F08B310 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 0BFE44 7F08B314 00402825 */ move $a1, $v0 -/* 0BFE48 7F08B318 00001825 */ move $v1, $zero -/* 0BFE4C 7F08B31C 00002025 */ move $a0, $zero -/* 0BFE50 7F08B320 12000002 */ beqz $s0, .L7F08B32C -/* 0BFE54 7F08B324 AFA00054 */ sw $zero, 0x54($sp) -/* 0BFE58 7F08B328 8E030004 */ lw $v1, 4($s0) -.L7F08B32C: -/* 0BFE5C 7F08B32C 50400003 */ beql $v0, $zero, .L7F08B33C -/* 0BFE60 7F08B330 AFA3005C */ sw $v1, 0x5c($sp) -/* 0BFE64 7F08B334 8C440004 */ lw $a0, 4($v0) -/* 0BFE68 7F08B338 AFA3005C */ sw $v1, 0x5c($sp) -.L7F08B33C: -/* 0BFE6C 7F08B33C AFA40058 */ sw $a0, 0x58($sp) -/* 0BFE70 7F08B340 AFA50060 */ sw $a1, 0x60($sp) -/* 0BFE74 7F08B344 0FC26C54 */ jal get_cur_playernum -/* 0BFE78 7F08B348 E7A20094 */ swc1 $f2, 0x94($sp) -/* 0BFE7C 7F08B34C 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 0BFE80 7F08B350 00402025 */ move $a0, $v0 -/* 0BFE84 7F08B354 8FA3005C */ lw $v1, 0x5c($sp) -/* 0BFE88 7F08B358 8FA50060 */ lw $a1, 0x60($sp) -/* 0BFE8C 7F08B35C 14400006 */ bnez $v0, .L7F08B378 -/* 0BFE90 7F08B360 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 0BFE94 7F08B364 3C028003 */ lui $v0, %hi(D_800368B8+0x1C) -/* 0BFE98 7F08B368 244268D4 */ addiu $v0, %lo(D_800368B8+0x1C) # addiu $v0, $v0, 0x68d4 -/* 0BFE9C 7F08B36C 8C4D0000 */ lw $t5, ($v0) -/* 0BFEA0 7F08B370 25AE0001 */ addiu $t6, $t5, 1 -/* 0BFEA4 7F08B374 AC4E0000 */ sw $t6, ($v0) -.L7F08B378: -/* 0BFEA8 7F08B378 3C028003 */ lui $v0, %hi(D_800368B8+0x1C) -/* 0BFEAC 7F08B37C 244268D4 */ addiu $v0, %lo(D_800368B8+0x1C) # addiu $v0, $v0, 0x68d4 -/* 0BFEB0 7F08B380 8C4F0000 */ lw $t7, ($v0) -/* 0BFEB4 7F08B384 29E10002 */ slti $at, $t7, 2 -/* 0BFEB8 7F08B388 542001BB */ bnezl $at, .L7F08BA78 -/* 0BFEBC 7F08B38C 8E2A0000 */ lw $t2, ($s1) -/* 0BFEC0 7F08B390 8E280000 */ lw $t0, ($s1) -/* 0BFEC4 7F08B394 C5042A08 */ lwc1 $f4, 0x2a08($t0) -/* 0BFEC8 7F08B398 E7A4008C */ swc1 $f4, 0x8c($sp) -/* 0BFECC 7F08B39C C5062A0C */ lwc1 $f6, 0x2a0c($t0) -/* 0BFED0 7F08B3A0 E7A60088 */ swc1 $f6, 0x88($sp) -/* 0BFED4 7F08B3A4 8D1800D8 */ lw $t8, 0xd8($t0) -/* 0BFED8 7F08B3A8 13000036 */ beqz $t8, .L7F08B484 -/* 0BFEDC 7F08B3AC 3C078003 */ lui $a3, %hi(D_8003650C) -/* 0BFEE0 7F08B3B0 8CE7650C */ lw $a3, %lo(D_8003650C)($a3) -/* 0BFEE4 7F08B3B4 00002825 */ move $a1, $zero -/* 0BFEE8 7F08B3B8 00008025 */ move $s0, $zero -/* 0BFEEC 7F08B3BC 18E00010 */ blez $a3, .L7F08B400 -/* 0BFEF0 7F08B3C0 3C198003 */ lui $t9, %hi(D_800364D8) -/* 0BFEF4 7F08B3C4 272264D8 */ addiu $v0, $t9, %lo(D_800364D8) -/* 0BFEF8 7F08B3C8 3C038007 */ lui $v1, %hi(ptr_animation_table) -/* 0BFEFC 7F08B3CC 00074880 */ sll $t1, $a3, 2 -/* 0BFF00 7F08B3D0 01222021 */ addu $a0, $t1, $v0 -/* 0BFF04 7F08B3D4 8C639538 */ lw $v1, %lo(ptr_animation_table)($v1) -/* 0BFF08 7F08B3D8 8D061284 */ lw $a2, 0x1284($t0) -/* 0BFF0C 7F08B3DC 8C4A0000 */ lw $t2, ($v0) -.L7F08B3E0: -/* 0BFF10 7F08B3E0 24420004 */ addiu $v0, $v0, 4 -/* 0BFF14 7F08B3E4 0044082B */ sltu $at, $v0, $a0 -/* 0BFF18 7F08B3E8 01435821 */ addu $t3, $t2, $v1 -/* 0BFF1C 7F08B3EC 14CB0002 */ bne $a2, $t3, .L7F08B3F8 -/* 0BFF20 7F08B3F0 00000000 */ nop -/* 0BFF24 7F08B3F4 24050001 */ li $a1, 1 -.L7F08B3F8: -/* 0BFF28 7F08B3F8 5420FFF9 */ bnezl $at, .L7F08B3E0 -/* 0BFF2C 7F08B3FC 8C4A0000 */ lw $t2, ($v0) -.L7F08B400: -/* 0BFF30 7F08B400 10A00005 */ beqz $a1, .L7F08B418 -/* 0BFF34 7F08B404 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BFF38 7F08B408 8D061284 */ lw $a2, 0x1284($t0) -/* 0BFF3C 7F08B40C 44816000 */ mtc1 $at, $f12 -/* 0BFF40 7F08B410 10000017 */ b .L7F08B470 -/* 0BFF44 7F08B414 AFA6009C */ sw $a2, 0x9c($sp) -.L7F08B418: -/* 0BFF48 7F08B418 0C002914 */ jal get_random_value -/* 0BFF4C 7F08B41C E7A20094 */ swc1 $f2, 0x94($sp) -/* 0BFF50 7F08B420 3C0C8003 */ lui $t4, %hi(D_8003650C) -/* 0BFF54 7F08B424 8D8C650C */ lw $t4, %lo(D_8003650C)($t4) -/* 0BFF58 7F08B428 3C0F8003 */ lui $t7, %hi(D_800364D8) -/* 0BFF5C 7F08B42C 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 0BFF60 7F08B430 004C001B */ divu $zero, $v0, $t4 -/* 0BFF64 7F08B434 00006810 */ mfhi $t5 -/* 0BFF68 7F08B438 000D7080 */ sll $t6, $t5, 2 -/* 0BFF6C 7F08B43C 01EE7821 */ addu $t7, $t7, $t6 -/* 0BFF70 7F08B440 8DEF64D8 */ lw $t7, %lo(D_800364D8)($t7) -/* 0BFF74 7F08B444 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 0BFF78 7F08B448 8E280000 */ lw $t0, ($s1) -/* 0BFF7C 7F08B44C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BFF80 7F08B450 01F84821 */ addu $t1, $t7, $t8 -/* 0BFF84 7F08B454 AFA9009C */ sw $t1, 0x9c($sp) -/* 0BFF88 7F08B458 44816000 */ mtc1 $at, $f12 -/* 0BFF8C 7F08B45C C7A20094 */ lwc1 $f2, 0x94($sp) -/* 0BFF90 7F08B460 15800002 */ bnez $t4, .L7F08B46C -/* 0BFF94 7F08B464 00000000 */ nop -/* 0BFF98 7F08B468 0007000D */ break 7 -.L7F08B46C: -/* 0BFF9C 7F08B46C 8D061284 */ lw $a2, 0x1284($t0) -.L7F08B470: -/* 0BFFA0 7F08B470 44807000 */ mtc1 $zero, $f14 -/* 0BFFA4 7F08B474 00000000 */ nop -/* 0BFFA8 7F08B478 E7AE008C */ swc1 $f14, 0x8c($sp) -/* 0BFFAC 7F08B47C 100000F6 */ b .L7F08B858 -/* 0BFFB0 7F08B480 E7AE0088 */ swc1 $f14, 0x88($sp) -.L7F08B484: -/* 0BFFB4 7F08B484 12000005 */ beqz $s0, .L7F08B49C -/* 0BFFB8 7F08B488 00000000 */ nop -/* 0BFFBC 7F08B48C 10A00003 */ beqz $a1, .L7F08B49C -/* 0BFFC0 7F08B490 00000000 */ nop -/* 0BFFC4 7F08B494 1000002E */ b .L7F08B550 -/* 0BFFC8 7F08B498 24100003 */ li $s0, 3 -.L7F08B49C: -/* 0BFFCC 7F08B49C 16000005 */ bnez $s0, .L7F08B4B4 -/* 0BFFD0 7F08B4A0 00000000 */ nop -/* 0BFFD4 7F08B4A4 14A00003 */ bnez $a1, .L7F08B4B4 -/* 0BFFD8 7F08B4A8 00000000 */ nop -/* 0BFFDC 7F08B4AC 10000028 */ b .L7F08B550 -/* 0BFFE0 7F08B4B0 24100002 */ li $s0, 2 -.L7F08B4B4: -/* 0BFFE4 7F08B4B4 10600008 */ beqz $v1, .L7F08B4D8 -/* 0BFFE8 7F08B4B8 24050200 */ li $a1, 512 -/* 0BFFEC 7F08B4BC 80640080 */ lb $a0, 0x80($v1) -/* 0BFFF0 7F08B4C0 0FC1782D */ jal check_special_attributes -/* 0BFFF4 7F08B4C4 AFA3005C */ sw $v1, 0x5c($sp) -/* 0BFFF8 7F08B4C8 14400003 */ bnez $v0, .L7F08B4D8 -/* 0BFFFC 7F08B4CC 8FA3005C */ lw $v1, 0x5c($sp) -/* 0C0000 7F08B4D0 1000001F */ b .L7F08B550 -/* 0C0004 7F08B4D4 24100002 */ li $s0, 2 -.L7F08B4D8: -/* 0C0008 7F08B4D8 8FA20058 */ lw $v0, 0x58($sp) -/* 0C000C 7F08B4DC 24050200 */ li $a1, 512 -/* 0C0010 7F08B4E0 10400008 */ beqz $v0, .L7F08B504 -/* 0C0014 7F08B4E4 00000000 */ nop -/* 0C0018 7F08B4E8 80440080 */ lb $a0, 0x80($v0) -/* 0C001C 7F08B4EC 0FC1782D */ jal check_special_attributes -/* 0C0020 7F08B4F0 AFA3005C */ sw $v1, 0x5c($sp) -/* 0C0024 7F08B4F4 14400003 */ bnez $v0, .L7F08B504 -/* 0C0028 7F08B4F8 8FA3005C */ lw $v1, 0x5c($sp) -/* 0C002C 7F08B4FC 10000014 */ b .L7F08B550 -/* 0C0030 7F08B500 24100002 */ li $s0, 2 -.L7F08B504: -/* 0C0034 7F08B504 10600007 */ beqz $v1, .L7F08B524 -/* 0C0038 7F08B508 24050100 */ li $a1, 256 -/* 0C003C 7F08B50C 0FC1782D */ jal check_special_attributes -/* 0C0040 7F08B510 80640080 */ lb $a0, 0x80($v1) -/* 0C0044 7F08B514 50400004 */ beql $v0, $zero, .L7F08B528 -/* 0C0048 7F08B518 8FA20058 */ lw $v0, 0x58($sp) -/* 0C004C 7F08B51C 1000000C */ b .L7F08B550 -/* 0C0050 7F08B520 00008025 */ move $s0, $zero -.L7F08B524: -/* 0C0054 7F08B524 8FA20058 */ lw $v0, 0x58($sp) -.L7F08B528: -/* 0C0058 7F08B528 24050100 */ li $a1, 256 -/* 0C005C 7F08B52C 50400008 */ beql $v0, $zero, .L7F08B550 -/* 0C0060 7F08B530 24100001 */ li $s0, 1 -/* 0C0064 7F08B534 0FC1782D */ jal check_special_attributes -/* 0C0068 7F08B538 80440080 */ lb $a0, 0x80($v0) -/* 0C006C 7F08B53C 50400004 */ beql $v0, $zero, .L7F08B550 -/* 0C0070 7F08B540 24100001 */ li $s0, 1 -/* 0C0074 7F08B544 10000002 */ b .L7F08B550 -/* 0C0078 7F08B548 00008025 */ move $s0, $zero -/* 0C007C 7F08B54C 24100001 */ li $s0, 1 -.L7F08B550: -/* 0C0080 7F08B550 0FC1E687 */ jal sub_GAME_7F079A1C -/* 0C0084 7F08B554 8FA400F4 */ lw $a0, 0xf4($sp) -/* 0C0088 7F08B558 24010001 */ li $at, 1 -/* 0C008C 7F08B55C 50410005 */ beql $v0, $at, .L7F08B574 -/* 0C0090 7F08B560 3C013F80 */ lui $at, 0x3f80 -/* 0C0094 7F08B564 0FC1E687 */ jal sub_GAME_7F079A1C -/* 0C0098 7F08B568 8FA400F4 */ lw $a0, 0xf4($sp) -/* 0C009C 7F08B56C 14400006 */ bnez $v0, .L7F08B588 -/* 0C00A0 7F08B570 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F08B574: -/* 0C00A4 7F08B574 44816000 */ mtc1 $at, $f12 -/* 0C00A8 7F08B578 44807000 */ mtc1 $zero, $f14 -/* 0C00AC 7F08B57C 24040005 */ li $a0, 5 -/* 0C00B0 7F08B580 1000009D */ b .L7F08B7F8 -/* 0C00B4 7F08B584 8E280000 */ lw $t0, ($s1) -.L7F08B588: -/* 0C00B8 7F08B588 8E280000 */ lw $t0, ($s1) -/* 0C00BC 7F08B58C 44807000 */ mtc1 $zero, $f14 -/* 0C00C0 7F08B590 0010C900 */ sll $t9, $s0, 4 -/* 0C00C4 7F08B594 C502016C */ lwc1 $f2, 0x16c($t0) -/* 0C00C8 7F08B598 0330C823 */ subu $t9, $t9, $s0 -/* 0C00CC 7F08B59C 0019C8C0 */ sll $t9, $t9, 3 -/* 0C00D0 7F08B5A0 460E103C */ c.lt.s $f2, $f14 -/* 0C00D4 7F08B5A4 3C0A8003 */ lui $t2, %hi(firing_animation_groups+0x50) #firing_animation_groups[440] -/* 0C00D8 7F08B5A8 01595021 */ addu $t2, $t2, $t9 -/* 0C00DC 7F08B5AC 45020014 */ bc1fl .L7F08B600 -/* 0C00E0 7F08B5B0 4602703C */ c.lt.s $f14, $f2 -/* 0C00E4 7F08B5B4 8D4A6928 */ lw $t2, %lo(firing_animation_groups+0x50)($t2) #firing_animation_groups[440] -/* 0C00E8 7F08B5B8 3C0142B4 */ li $at, 0x42B40000 # 90.000000 -/* 0C00EC 7F08B5BC 51400010 */ beql $t2, $zero, .L7F08B600 -/* 0C00F0 7F08B5C0 4602703C */ c.lt.s $f14, $f2 -/* 0C00F4 7F08B5C4 C5001280 */ lwc1 $f0, 0x1280($t0) -/* 0C00F8 7F08B5C8 44814000 */ mtc1 $at, $f8 -/* 0C00FC 7F08B5CC 24040004 */ li $a0, 4 -/* 0C0100 7F08B5D0 46001307 */ neg.s $f12, $f2 -/* 0C0104 7F08B5D4 4608003C */ c.lt.s $f0, $f8 -/* 0C0108 7F08B5D8 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0C010C 7F08B5DC 45020087 */ bc1fl .L7F08B7FC -/* 0C0110 7F08B5E0 00107900 */ sll $t7, $s0, 4 -/* 0C0114 7F08B5E4 44815000 */ mtc1 $at, $f10 -/* 0C0118 7F08B5E8 00000000 */ nop -/* 0C011C 7F08B5EC 460A0480 */ add.s $f18, $f0, $f10 -/* 0C0120 7F08B5F0 E5121280 */ swc1 $f18, 0x1280($t0) -/* 0C0124 7F08B5F4 10000080 */ b .L7F08B7F8 -/* 0C0128 7F08B5F8 8E280000 */ lw $t0, ($s1) -/* 0C012C 7F08B5FC 4602703C */ c.lt.s $f14, $f2 -.L7F08B600: -/* 0C0130 7F08B600 00105900 */ sll $t3, $s0, 4 -/* 0C0134 7F08B604 01705823 */ subu $t3, $t3, $s0 -/* 0C0138 7F08B608 000B58C0 */ sll $t3, $t3, 3 -/* 0C013C 7F08B60C 45000014 */ bc1f .L7F08B660 -/* 0C0140 7F08B610 3C0C8003 */ lui $t4, %hi(firing_animation_groups+0x3C) -/* 0C0144 7F08B614 018B6021 */ addu $t4, $t4, $t3 -/* 0C0148 7F08B618 8D8C6914 */ lw $t4, %lo(firing_animation_groups+0x3C)($t4) -/* 0C014C 7F08B61C 3C01C2B4 */ li $at, 0xC2B40000 # -90.000000 -/* 0C0150 7F08B620 51800010 */ beql $t4, $zero, .L7F08B664 -/* 0C0154 7F08B624 C502014C */ lwc1 $f2, 0x14c($t0) -/* 0C0158 7F08B628 C5001280 */ lwc1 $f0, 0x1280($t0) -/* 0C015C 7F08B62C 44812000 */ mtc1 $at, $f4 -/* 0C0160 7F08B630 24040003 */ li $a0, 3 -/* 0C0164 7F08B634 46001306 */ mov.s $f12, $f2 -/* 0C0168 7F08B638 4600203C */ c.lt.s $f4, $f0 -/* 0C016C 7F08B63C 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0C0170 7F08B640 4502006E */ bc1fl .L7F08B7FC -/* 0C0174 7F08B644 00107900 */ sll $t7, $s0, 4 -/* 0C0178 7F08B648 44813000 */ mtc1 $at, $f6 -/* 0C017C 7F08B64C 00000000 */ nop -/* 0C0180 7F08B650 46060201 */ sub.s $f8, $f0, $f6 -/* 0C0184 7F08B654 E5081280 */ swc1 $f8, 0x1280($t0) -/* 0C0188 7F08B658 10000067 */ b .L7F08B7F8 -/* 0C018C 7F08B65C 8E280000 */ lw $t0, ($s1) -.L7F08B660: -/* 0C0190 7F08B660 C502014C */ lwc1 $f2, 0x14c($t0) -.L7F08B664: -/* 0C0194 7F08B664 3C018005 */ lui $at, %hi(D_800552C0) -/* 0C0198 7F08B668 460E103C */ c.lt.s $f2, $f14 -/* 0C019C 7F08B66C 00000000 */ nop -/* 0C01A0 7F08B670 45020003 */ bc1fl .L7F08B680 -/* 0C01A4 7F08B674 C5000174 */ lwc1 $f0, 0x174($t0) -/* 0C01A8 7F08B678 46001087 */ neg.s $f2, $f2 -/* 0C01AC 7F08B67C C5000174 */ lwc1 $f0, 0x174($t0) -.L7F08B680: -/* 0C01B0 7F08B680 C42A52C0 */ lwc1 $f10, %lo(D_800552C0)($at) -/* 0C01B4 7F08B684 3C018005 */ lui $at, %hi(D_800552C8) -/* 0C01B8 7F08B688 460A003C */ c.lt.s $f0, $f10 -/* 0C01BC 7F08B68C 00000000 */ nop -/* 0C01C0 7F08B690 4500001D */ bc1f .L7F08B708 -/* 0C01C4 7F08B694 00000000 */ nop -/* 0C01C8 7F08B698 46001087 */ neg.s $f2, $f2 -/* 0C01CC 7F08B69C 3C018005 */ lui $at, %hi(D_800552C4) -/* 0C01D0 7F08B6A0 4602003C */ c.lt.s $f0, $f2 -/* 0C01D4 7F08B6A4 00000000 */ nop -/* 0C01D8 7F08B6A8 45020003 */ bc1fl .L7F08B6B8 -/* 0C01DC 7F08B6AC 8D0D04E8 */ lw $t5, 0x4e8($t0) -/* 0C01E0 7F08B6B0 46000086 */ mov.s $f2, $f0 -/* 0C01E4 7F08B6B4 8D0D04E8 */ lw $t5, 0x4e8($t0) -.L7F08B6B8: -/* 0C01E8 7F08B6B8 51A00008 */ beql $t5, $zero, .L7F08B6DC -/* 0C01EC 7F08B6BC 46021300 */ add.s $f12, $f2, $f2 -/* 0C01F0 7F08B6C0 C43252C4 */ lwc1 $f18, %lo(D_800552C4)($at) -/* 0C01F4 7F08B6C4 24040002 */ li $a0, 2 -/* 0C01F8 7F08B6C8 4600903C */ c.lt.s $f18, $f0 -/* 0C01FC 7F08B6CC 00000000 */ nop -/* 0C0200 7F08B6D0 4500000B */ bc1f .L7F08B700 -/* 0C0204 7F08B6D4 00000000 */ nop -/* 0C0208 7F08B6D8 46021300 */ add.s $f12, $f2, $f2 -.L7F08B6DC: -/* 0C020C 7F08B6DC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0C0210 7F08B6E0 44818000 */ mtc1 $at, $f16 -/* 0C0214 7F08B6E4 24040001 */ li $a0, 1 -/* 0C0218 7F08B6E8 4610603C */ c.lt.s $f12, $f16 -/* 0C021C 7F08B6EC 00000000 */ nop -/* 0C0220 7F08B6F0 4502002D */ bc1fl .L7F08B7A8 -/* 0C0224 7F08B6F4 C5001280 */ lwc1 $f0, 0x1280($t0) -/* 0C0228 7F08B6F8 1000002A */ b .L7F08B7A4 -/* 0C022C 7F08B6FC 46008306 */ mov.s $f12, $f16 -.L7F08B700: -/* 0C0230 7F08B700 10000028 */ b .L7F08B7A4 -/* 0C0234 7F08B704 46001306 */ mov.s $f12, $f2 -.L7F08B708: -/* 0C0238 7F08B708 C42C52C8 */ lwc1 $f12, %lo(D_800552C8)($at) -/* 0C023C 7F08B70C 4600603C */ c.lt.s $f12, $f0 -/* 0C0240 7F08B710 00000000 */ nop -/* 0C0244 7F08B714 45030006 */ bc1tl .L7F08B730 -/* 0C0248 7F08B718 4600103C */ c.lt.s $f2, $f0 -/* 0C024C 7F08B71C 4602603C */ c.lt.s $f12, $f2 -/* 0C0250 7F08B720 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C0254 7F08B724 4502001E */ bc1fl .L7F08B7A0 -/* 0C0258 7F08B728 44816000 */ mtc1 $at, $f12 -/* 0C025C 7F08B72C 4600103C */ c.lt.s $f2, $f0 -.L7F08B730: -/* 0C0260 7F08B730 3C018005 */ lui $at, %hi(D_800552CC) -/* 0C0264 7F08B734 45020003 */ bc1fl .L7F08B744 -/* 0C0268 7F08B738 8D0E04E8 */ lw $t6, 0x4e8($t0) -/* 0C026C 7F08B73C 46000086 */ mov.s $f2, $f0 -/* 0C0270 7F08B740 8D0E04E8 */ lw $t6, 0x4e8($t0) -.L7F08B744: -/* 0C0274 7F08B744 51C00008 */ beql $t6, $zero, .L7F08B768 -/* 0C0278 7F08B748 46021300 */ add.s $f12, $f2, $f2 -/* 0C027C 7F08B74C C42452CC */ lwc1 $f4, %lo(D_800552CC)($at) -/* 0C0280 7F08B750 24040002 */ li $a0, 2 -/* 0C0284 7F08B754 4604003C */ c.lt.s $f0, $f4 -/* 0C0288 7F08B758 00000000 */ nop -/* 0C028C 7F08B75C 4500000D */ bc1f .L7F08B794 -/* 0C0290 7F08B760 00000000 */ nop -/* 0C0294 7F08B764 46021300 */ add.s $f12, $f2, $f2 -.L7F08B768: -/* 0C0298 7F08B768 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C029C 7F08B76C 44813000 */ mtc1 $at, $f6 -/* 0C02A0 7F08B770 24040001 */ li $a0, 1 -/* 0C02A4 7F08B774 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C02A8 7F08B778 460C303C */ c.lt.s $f6, $f12 -/* 0C02AC 7F08B77C 00000000 */ nop -/* 0C02B0 7F08B780 45020009 */ bc1fl .L7F08B7A8 -/* 0C02B4 7F08B784 C5001280 */ lwc1 $f0, 0x1280($t0) -/* 0C02B8 7F08B788 44816000 */ mtc1 $at, $f12 -/* 0C02BC 7F08B78C 10000006 */ b .L7F08B7A8 -/* 0C02C0 7F08B790 C5001280 */ lwc1 $f0, 0x1280($t0) -.L7F08B794: -/* 0C02C4 7F08B794 10000003 */ b .L7F08B7A4 -/* 0C02C8 7F08B798 46001306 */ mov.s $f12, $f2 -/* 0C02CC 7F08B79C 44816000 */ mtc1 $at, $f12 -.L7F08B7A0: -/* 0C02D0 7F08B7A0 00002025 */ move $a0, $zero -.L7F08B7A4: -/* 0C02D4 7F08B7A4 C5001280 */ lwc1 $f0, 0x1280($t0) -.L7F08B7A8: -/* 0C02D8 7F08B7A8 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0C02DC 7F08B7AC 4600703C */ c.lt.s $f14, $f0 -/* 0C02E0 7F08B7B0 00000000 */ nop -/* 0C02E4 7F08B7B4 45020008 */ bc1fl .L7F08B7D8 -/* 0C02E8 7F08B7B8 460E003C */ c.lt.s $f0, $f14 -/* 0C02EC 7F08B7BC 44814000 */ mtc1 $at, $f8 -/* 0C02F0 7F08B7C0 00000000 */ nop -/* 0C02F4 7F08B7C4 46080281 */ sub.s $f10, $f0, $f8 -/* 0C02F8 7F08B7C8 E50A1280 */ swc1 $f10, 0x1280($t0) -/* 0C02FC 7F08B7CC 8E280000 */ lw $t0, ($s1) -/* 0C0300 7F08B7D0 C5001280 */ lwc1 $f0, 0x1280($t0) -/* 0C0304 7F08B7D4 460E003C */ c.lt.s $f0, $f14 -.L7F08B7D8: -/* 0C0308 7F08B7D8 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0C030C 7F08B7DC 45020007 */ bc1fl .L7F08B7FC -/* 0C0310 7F08B7E0 00107900 */ sll $t7, $s0, 4 -/* 0C0314 7F08B7E4 44819000 */ mtc1 $at, $f18 -/* 0C0318 7F08B7E8 00000000 */ nop -/* 0C031C 7F08B7EC 46120100 */ add.s $f4, $f0, $f18 -/* 0C0320 7F08B7F0 E5041280 */ swc1 $f4, 0x1280($t0) -/* 0C0324 7F08B7F4 8E280000 */ lw $t0, ($s1) -.L7F08B7F8: -/* 0C0328 7F08B7F8 00107900 */ sll $t7, $s0, 4 -.L7F08B7FC: -/* 0C032C 7F08B7FC 0004C080 */ sll $t8, $a0, 2 -/* 0C0330 7F08B800 0304C021 */ addu $t8, $t8, $a0 -/* 0C0334 7F08B804 01F07823 */ subu $t7, $t7, $s0 -/* 0C0338 7F08B808 000F78C0 */ sll $t7, $t7, 3 -/* 0C033C 7F08B80C 0018C080 */ sll $t8, $t8, 2 -/* 0C0340 7F08B810 3C198003 */ lui $t9, %hi(firing_animation_groups) -/* 0C0344 7F08B814 273968D8 */ addiu $t9, %lo(firing_animation_groups) # addiu $t9, $t9, 0x68d8 -/* 0C0348 7F08B818 01F84821 */ addu $t1, $t7, $t8 -/* 0C034C 7F08B81C 01391021 */ addu $v0, $t1, $t9 -/* 0C0350 7F08B820 8C430004 */ lw $v1, 4($v0) -/* 0C0354 7F08B824 8C4A0000 */ lw $t2, ($v0) -/* 0C0358 7F08B828 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 0C035C 7F08B82C 10600004 */ beqz $v1, .L7F08B840 -/* 0C0360 7F08B830 AFAA007C */ sw $t2, 0x7c($sp) -/* 0C0364 7F08B834 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 0C0368 7F08B838 006B6021 */ addu $t4, $v1, $t3 -/* 0C036C 7F08B83C AFAC009C */ sw $t4, 0x9c($sp) -.L7F08B840: -/* 0C0370 7F08B840 C4460008 */ lwc1 $f6, 8($v0) -/* 0C0374 7F08B844 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0C0378 7F08B848 C442000C */ lwc1 $f2, 0xc($v0) -/* 0C037C 7F08B84C 46066302 */ mul.s $f12, $f12, $f6 -/* 0C0380 7F08B850 E7A80090 */ swc1 $f8, 0x90($sp) -/* 0C0384 7F08B854 8D061284 */ lw $a2, 0x1284($t0) -.L7F08B858: -/* 0C0388 7F08B858 8FAD007C */ lw $t5, 0x7c($sp) -/* 0C038C 7F08B85C 8FAE009C */ lw $t6, 0x9c($sp) -/* 0C0390 7F08B860 24020001 */ li $v0, 1 -/* 0C0394 7F08B864 51A00006 */ beql $t5, $zero, .L7F08B880 -/* 0C0398 7F08B868 8FB8009C */ lw $t8, 0x9c($sp) -/* 0C039C 7F08B86C 55C00004 */ bnezl $t6, .L7F08B880 -/* 0C03A0 7F08B870 8FB8009C */ lw $t8, 0x9c($sp) -/* 0C03A4 7F08B874 8DAF0000 */ lw $t7, ($t5) -/* 0C03A8 7F08B878 AFAF009C */ sw $t7, 0x9c($sp) -/* 0C03AC 7F08B87C 8FB8009C */ lw $t8, 0x9c($sp) -.L7F08B880: -/* 0C03B0 7F08B880 53060003 */ beql $t8, $a2, .L7F08B890 -/* 0C03B4 7F08B884 4602703E */ c.le.s $f14, $f2 -/* 0C03B8 7F08B888 AFA20054 */ sw $v0, 0x54($sp) -/* 0C03BC 7F08B88C 4602703E */ c.le.s $f14, $f2 -.L7F08B890: -/* 0C03C0 7F08B890 8FA20054 */ lw $v0, 0x54($sp) -/* 0C03C4 7F08B894 4502000C */ bc1fl .L7F08B8C8 -/* 0C03C8 7F08B898 460E103C */ c.lt.s $f2, $f14 -/* 0C03CC 7F08B89C 8D0400D4 */ lw $a0, 0xd4($t0) -/* 0C03D0 7F08B8A0 80890026 */ lb $t1, 0x26($a0) -/* 0C03D4 7F08B8A4 51200007 */ beql $t1, $zero, .L7F08B8C4 -/* 0C03D8 7F08B8A8 24020001 */ li $v0, 1 -/* 0C03DC 7F08B8AC C48A0090 */ lwc1 $f10, 0x90($a0) -/* 0C03E0 7F08B8B0 460A1032 */ c.eq.s $f2, $f10 -/* 0C03E4 7F08B8B4 00000000 */ nop -/* 0C03E8 7F08B8B8 45030003 */ bc1tl .L7F08B8C8 -/* 0C03EC 7F08B8BC 460E103C */ c.lt.s $f2, $f14 -/* 0C03F0 7F08B8C0 24020001 */ li $v0, 1 -.L7F08B8C4: -/* 0C03F4 7F08B8C4 460E103C */ c.lt.s $f2, $f14 -.L7F08B8C8: -/* 0C03F8 7F08B8C8 00000000 */ nop -/* 0C03FC 7F08B8CC 45000006 */ bc1f .L7F08B8E8 -/* 0C0400 7F08B8D0 00000000 */ nop -/* 0C0404 7F08B8D4 8D1900D4 */ lw $t9, 0xd4($t0) -/* 0C0408 7F08B8D8 832A0026 */ lb $t2, 0x26($t9) -/* 0C040C 7F08B8DC 11400002 */ beqz $t2, .L7F08B8E8 -/* 0C0410 7F08B8E0 00000000 */ nop -/* 0C0414 7F08B8E4 24020001 */ li $v0, 1 -.L7F08B8E8: -/* 0C0418 7F08B8E8 50400035 */ beql $v0, $zero, .L7F08B9C0 -/* 0C041C 7F08B8EC C5061288 */ lwc1 $f6, 0x1288($t0) -/* 0C0420 7F08B8F0 8D0400D4 */ lw $a0, 0xd4($t0) -/* 0C0424 7F08B8F4 8FA5009C */ lw $a1, 0x9c($sp) -/* 0C0428 7F08B8F8 00003025 */ move $a2, $zero -/* 0C042C 7F08B8FC 8C8B0054 */ lw $t3, 0x54($a0) -/* 0C0430 7F08B900 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0C0434 7F08B904 5560002B */ bnezl $t3, .L7F08B9B4 -/* 0C0438 7F08B908 8E290000 */ lw $t1, ($s1) -/* 0C043C 7F08B90C 4602703E */ c.le.s $f14, $f2 -/* 0C0440 7F08B910 44819000 */ mtc1 $at, $f18 -/* 0C0444 7F08B914 45020004 */ bc1fl .L7F08B928 -/* 0C0448 7F08B918 46007006 */ mov.s $f0, $f14 -/* 0C044C 7F08B91C 10000002 */ b .L7F08B928 -/* 0C0450 7F08B920 46001006 */ mov.s $f0, $f2 -/* 0C0454 7F08B924 46007006 */ mov.s $f0, $f14 -.L7F08B928: -/* 0C0458 7F08B928 44070000 */ mfc1 $a3, $f0 -/* 0C045C 7F08B92C E7AC0010 */ swc1 $f12, 0x10($sp) -/* 0C0460 7F08B930 E7B20014 */ swc1 $f18, 0x14($sp) -/* 0C0464 7F08B934 E7A20094 */ swc1 $f2, 0x94($sp) -/* 0C0468 7F08B938 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0C046C 7F08B93C E7AC0098 */ swc1 $f12, 0x98($sp) -/* 0C0470 7F08B940 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 0C0474 7F08B944 44807000 */ mtc1 $zero, $f14 -/* 0C0478 7F08B948 8FAC009C */ lw $t4, 0x9c($sp) -/* 0C047C 7F08B94C 8E2E0000 */ lw $t6, ($s1) -/* 0C0480 7F08B950 4602703E */ c.le.s $f14, $f2 -/* 0C0484 7F08B954 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 0C0488 7F08B958 ADCC1284 */ sw $t4, 0x1284($t6) -/* 0C048C 7F08B95C 8E2D0000 */ lw $t5, ($s1) -/* 0C0490 7F08B960 3C064180 */ lui $a2, 0x4180 -/* 0C0494 7F08B964 45000007 */ bc1f .L7F08B984 -/* 0C0498 7F08B968 E5AC1288 */ swc1 $f12, 0x1288($t5) -/* 0C049C 7F08B96C 8E2F0000 */ lw $t7, ($s1) -/* 0C04A0 7F08B970 44051000 */ mfc1 $a1, $f2 -/* 0C04A4 7F08B974 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 0C04A8 7F08B978 8DE400D4 */ lw $a0, 0xd4($t7) -/* 0C04AC 7F08B97C 44807000 */ mtc1 $zero, $f14 -/* 0C04B0 7F08B980 00000000 */ nop -.L7F08B984: -/* 0C04B4 7F08B984 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 0C04B8 7F08B988 4604703E */ c.le.s $f14, $f4 -/* 0C04BC 7F08B98C 00000000 */ nop -/* 0C04C0 7F08B990 45020008 */ bc1fl .L7F08B9B4 -/* 0C04C4 7F08B994 8E290000 */ lw $t1, ($s1) -/* 0C04C8 7F08B998 8E380000 */ lw $t8, ($s1) -/* 0C04CC 7F08B99C 44052000 */ mfc1 $a1, $f4 -/* 0C04D0 7F08B9A0 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0C04D4 7F08B9A4 8F0400D4 */ lw $a0, 0xd4($t8) -/* 0C04D8 7F08B9A8 44807000 */ mtc1 $zero, $f14 -/* 0C04DC 7F08B9AC 00000000 */ nop -/* 0C04E0 7F08B9B0 8E290000 */ lw $t1, ($s1) -.L7F08B9B4: -/* 0C04E4 7F08B9B4 10000011 */ b .L7F08B9FC -/* 0C04E8 7F08B9B8 8D261284 */ lw $a2, 0x1284($t1) -/* 0C04EC 7F08B9BC C5061288 */ lwc1 $f6, 0x1288($t0) -.L7F08B9C0: -/* 0C04F0 7F08B9C0 46066032 */ c.eq.s $f12, $f6 -/* 0C04F4 7F08B9C4 00000000 */ nop -/* 0C04F8 7F08B9C8 4503000D */ bc1tl .L7F08BA00 -/* 0C04FC 7F08B9CC 8FAB009C */ lw $t3, 0x9c($sp) -/* 0C0500 7F08B9D0 8D0400D4 */ lw $a0, 0xd4($t0) -/* 0C0504 7F08B9D4 44056000 */ mfc1 $a1, $f12 -/* 0C0508 7F08B9D8 E7AC0098 */ swc1 $f12, 0x98($sp) -/* 0C050C 7F08B9DC 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 0C0510 7F08B9E0 3C063F80 */ lui $a2, 0x3f80 -/* 0C0514 7F08B9E4 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 0C0518 7F08B9E8 8E390000 */ lw $t9, ($s1) -/* 0C051C 7F08B9EC 44807000 */ mtc1 $zero, $f14 -/* 0C0520 7F08B9F0 E72C1288 */ swc1 $f12, 0x1288($t9) -/* 0C0524 7F08B9F4 8E2A0000 */ lw $t2, ($s1) -/* 0C0528 7F08B9F8 8D461284 */ lw $a2, 0x1284($t2) -.L7F08B9FC: -/* 0C052C 7F08B9FC 8FAB009C */ lw $t3, 0x9c($sp) -.L7F08BA00: -/* 0C0530 7F08BA00 8FAC007C */ lw $t4, 0x7c($sp) -/* 0C0534 7F08BA04 55660017 */ bnel $t3, $a2, .L7F08BA64 -/* 0C0538 7F08BA08 8FA200F0 */ lw $v0, 0xf0($sp) -/* 0C053C 7F08BA0C 1180000D */ beqz $t4, .L7F08BA44 -/* 0C0540 7F08BA10 8FAF00F0 */ lw $t7, 0xf0($sp) -/* 0C0544 7F08BA14 8FA400F0 */ lw $a0, 0xf0($sp) -/* 0C0548 7F08BA18 00003025 */ move $a2, $zero -/* 0C054C 7F08BA1C 24070001 */ li $a3, 1 -/* 0C0550 7F08BA20 948E0012 */ lhu $t6, 0x12($a0) -/* 0C0554 7F08BA24 31CDFBFF */ andi $t5, $t6, 0xfbff -/* 0C0558 7F08BA28 A48D0012 */ sh $t5, 0x12($a0) -/* 0C055C 7F08BA2C C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 0C0560 7F08BA30 8FA5007C */ lw $a1, 0x7c($sp) -/* 0C0564 7F08BA34 0FC0B412 */ jal sub_GAME_7F02D048 -/* 0C0568 7F08BA38 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0C056C 7F08BA3C 10000009 */ b .L7F08BA64 -/* 0C0570 7F08BA40 8FA200F0 */ lw $v0, 0xf0($sp) -.L7F08BA44: -/* 0C0574 7F08BA44 95F80012 */ lhu $t8, 0x12($t7) -/* 0C0578 7F08BA48 E5EE0154 */ swc1 $f14, 0x154($t7) -/* 0C057C 7F08BA4C E5EE0150 */ swc1 $f14, 0x150($t7) -/* 0C0580 7F08BA50 37090400 */ ori $t1, $t8, 0x400 -/* 0C0584 7F08BA54 A5E90012 */ sh $t1, 0x12($t7) -/* 0C0588 7F08BA58 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0C058C 7F08BA5C E5EA0158 */ swc1 $f10, 0x158($t7) -/* 0C0590 7F08BA60 8FA200F0 */ lw $v0, 0xf0($sp) -.L7F08BA64: -/* 0C0594 7F08BA64 C7B20088 */ lwc1 $f18, 0x88($sp) -/* 0C0598 7F08BA68 2419000A */ li $t9, 10 -/* 0C059C 7F08BA6C A059000E */ sb $t9, 0xe($v0) -/* 0C05A0 7F08BA70 E452015C */ swc1 $f18, 0x15c($v0) -/* 0C05A4 7F08BA74 8E2A0000 */ lw $t2, ($s1) -.L7F08BA78: -/* 0C05A8 7F08BA78 8FA300F8 */ lw $v1, 0xf8($sp) -/* 0C05AC 7F08BA7C 8FA200F0 */ lw $v0, 0xf0($sp) -/* 0C05B0 7F08BA80 C544048C */ lwc1 $f4, 0x48c($t2) -/* 0C05B4 7F08BA84 27A50070 */ addiu $a1, $sp, 0x70 -/* 0C05B8 7F08BA88 00008025 */ move $s0, $zero -/* 0C05BC 7F08BA8C E4640008 */ swc1 $f4, 8($v1) -/* 0C05C0 7F08BA90 8E2B0000 */ lw $t3, ($s1) -/* 0C05C4 7F08BA94 C5660490 */ lwc1 $f6, 0x490($t3) -/* 0C05C8 7F08BA98 E466000C */ swc1 $f6, 0xc($v1) -/* 0C05CC 7F08BA9C 8E2C0000 */ lw $t4, ($s1) -/* 0C05D0 7F08BAA0 C5880494 */ lwc1 $f8, 0x494($t4) -/* 0C05D4 7F08BAA4 E4680010 */ swc1 $f8, 0x10($v1) -/* 0C05D8 7F08BAA8 8E2E0000 */ lw $t6, ($s1) -/* 0C05DC 7F08BAAC 8DCD0488 */ lw $t5, 0x488($t6) -/* 0C05E0 7F08BAB0 AC6D0014 */ sw $t5, 0x14($v1) -/* 0C05E4 7F08BAB4 0FC1B2E6 */ jal getsuboffset -/* 0C05E8 7F08BAB8 8C44001C */ lw $a0, 0x1c($v0) -/* 0C05EC 7F08BABC 8FA200F8 */ lw $v0, 0xf8($sp) -/* 0C05F0 7F08BAC0 8FB800F0 */ lw $t8, 0xf0($sp) -/* 0C05F4 7F08BAC4 27A50070 */ addiu $a1, $sp, 0x70 -/* 0C05F8 7F08BAC8 C44A0008 */ lwc1 $f10, 8($v0) -/* 0C05FC 7F08BACC E7AA0070 */ swc1 $f10, 0x70($sp) -/* 0C0600 7F08BAD0 C4520010 */ lwc1 $f18, 0x10($v0) -/* 0C0604 7F08BAD4 E7B20078 */ swc1 $f18, 0x78($sp) -/* 0C0608 7F08BAD8 0FC1B303 */ jal setsuboffset -/* 0C060C 7F08BADC 8F04001C */ lw $a0, 0x1c($t8) -/* 0C0610 7F08BAE0 8E280000 */ lw $t0, ($s1) -/* 0C0614 7F08BAE4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0C0618 7F08BAE8 44810000 */ mtc1 $at, $f0 -/* 0C061C 7F08BAEC C5060148 */ lwc1 $f6, 0x148($t0) -/* 0C0620 7F08BAF0 C5041280 */ lwc1 $f4, 0x1280($t0) -/* 0C0624 7F08BAF4 3C018005 */ lui $at, %hi(D_800552D0) -/* 0C0628 7F08BAF8 46060201 */ sub.s $f8, $f0, $f6 -/* 0C062C 7F08BAFC C43252D0 */ lwc1 $f18, %lo(D_800552D0)($at) -/* 0C0630 7F08BB00 8FA900F0 */ lw $t1, 0xf0($sp) -/* 0C0634 7F08BB04 46082280 */ add.s $f10, $f4, $f8 -/* 0C0638 7F08BB08 8D24001C */ lw $a0, 0x1c($t1) -/* 0C063C 7F08BB0C 46125182 */ mul.s $f6, $f10, $f18 -/* 0C0640 7F08BB10 46003103 */ div.s $f4, $f6, $f0 -/* 0C0644 7F08BB14 44052000 */ mfc1 $a1, $f4 -/* 0C0648 7F08BB18 0FC1B34F */ jal setsubroty -/* 0C064C 7F08BB1C 00000000 */ nop -/* 0C0650 7F08BB20 8FA400F0 */ lw $a0, 0xf0($sp) -/* 0C0654 7F08BB24 240A0019 */ li $t2, 25 -/* 0C0658 7F08BB28 00002825 */ move $a1, $zero -/* 0C065C 7F08BB2C 8C8F0014 */ lw $t7, 0x14($a0) -/* 0C0660 7F08BB30 A08A0007 */ sb $t2, 7($a0) -/* 0C0664 7F08BB34 35F90001 */ ori $t9, $t7, 1 -/* 0C0668 7F08BB38 AC990014 */ sw $t9, 0x14($a0) -/* 0C066C 7F08BB3C 8FAB007C */ lw $t3, 0x7c($sp) -/* 0C0670 7F08BB40 AC8B002C */ sw $t3, 0x2c($a0) -/* 0C0674 7F08BB44 8E2C0000 */ lw $t4, ($s1) -/* 0C0678 7F08BB48 0FC0B446 */ jal sub_GAME_7F02D118 -/* 0C067C 7F08BB4C 8186087D */ lb $a2, 0x87d($t4) -/* 0C0680 7F08BB50 8E2E0000 */ lw $t6, ($s1) -/* 0C0684 7F08BB54 8FA400F0 */ lw $a0, 0xf0($sp) -/* 0C0688 7F08BB58 24050001 */ li $a1, 1 -/* 0C068C 7F08BB5C 0FC0B446 */ jal sub_GAME_7F02D118 -/* 0C0690 7F08BB60 81C60C25 */ lb $a2, 0xc25($t6) -/* 0C0694 7F08BB64 0FC083BC */ jal sub_GAME_7F020EF0 -/* 0C0698 7F08BB68 8FA400F8 */ lw $a0, 0xf8($sp) -/* 0C069C 7F08BB6C AFA200A0 */ sw $v0, 0xa0($sp) -/* 0C06A0 7F08BB70 00003825 */ move $a3, $zero -/* 0C06A4 7F08BB74 00001825 */ move $v1, $zero -.L7F08BB78: -/* 0C06A8 7F08BB78 8E2D0000 */ lw $t5, ($s1) -/* 0C06AC 7F08BB7C 8FA400F0 */ lw $a0, 0xf0($sp) -/* 0C06B0 7F08BB80 02002825 */ move $a1, $s0 -/* 0C06B4 7F08BB84 01A33021 */ addu $a2, $t5, $v1 -/* 0C06B8 7F08BB88 24C62A18 */ addiu $a2, $a2, 0x2a18 -/* 0C06BC 7F08BB8C AFA30034 */ sw $v1, 0x34($sp) -/* 0C06C0 7F08BB90 0FC0B58C */ jal sub_GAME_7F02D630 -/* 0C06C4 7F08BB94 AFA70038 */ sw $a3, 0x38($sp) -/* 0C06C8 7F08BB98 8FA30034 */ lw $v1, 0x34($sp) -/* 0C06CC 7F08BB9C 10400007 */ beqz $v0, .L7F08BBBC -/* 0C06D0 7F08BBA0 8FA70038 */ lw $a3, 0x38($sp) -/* 0C06D4 7F08BBA4 8E290000 */ lw $t1, ($s1) -/* 0C06D8 7F08BBA8 3C188005 */ lui $t8, %hi(D_80048380) -/* 0C06DC 7F08BBAC 8F188380 */ lw $t8, %lo(D_80048380)($t8) -/* 0C06E0 7F08BBB0 01277821 */ addu $t7, $t1, $a3 -/* 0C06E4 7F08BBB4 1000001E */ b .L7F08BC30 -/* 0C06E8 7F08BBB8 ADF82A30 */ sw $t8, 0x2a30($t7) -.L7F08BBBC: -/* 0C06EC 7F08BBBC 8E280000 */ lw $t0, ($s1) -/* 0C06F0 7F08BBC0 3C0B8005 */ lui $t3, %hi(D_80048380) -/* 0C06F4 7F08BBC4 8D6B8380 */ lw $t3, %lo(D_80048380)($t3) -/* 0C06F8 7F08BBC8 0107C821 */ addu $t9, $t0, $a3 -/* 0C06FC 7F08BBCC 8F2A2A30 */ lw $t2, 0x2a30($t9) -/* 0C0700 7F08BBD0 256CFFFF */ addiu $t4, $t3, -1 -/* 0C0704 7F08BBD4 001010C0 */ sll $v0, $s0, 3 -/* 0C0708 7F08BBD8 014C082A */ slt $at, $t2, $t4 -/* 0C070C 7F08BBDC 10200014 */ beqz $at, .L7F08BC30 -/* 0C0710 7F08BBE0 00501023 */ subu $v0, $v0, $s0 -/* 0C0714 7F08BBE4 00021080 */ sll $v0, $v0, 2 -/* 0C0718 7F08BBE8 00501021 */ addu $v0, $v0, $s0 -/* 0C071C 7F08BBEC 00021080 */ sll $v0, $v0, 2 -/* 0C0720 7F08BBF0 00501021 */ addu $v0, $v0, $s0 -/* 0C0724 7F08BBF4 000210C0 */ sll $v0, $v0, 3 -/* 0C0728 7F08BBF8 01027021 */ addu $t6, $t0, $v0 -/* 0C072C 7F08BBFC C5C80B58 */ lwc1 $f8, 0xb58($t6) -/* 0C0730 7F08BC00 01036821 */ addu $t5, $t0, $v1 -/* 0C0734 7F08BC04 E5A82A18 */ swc1 $f8, 0x2a18($t5) -/* 0C0738 7F08BC08 8E280000 */ lw $t0, ($s1) -/* 0C073C 7F08BC0C 01024821 */ addu $t1, $t0, $v0 -/* 0C0740 7F08BC10 C52A0B5C */ lwc1 $f10, 0xb5c($t1) -/* 0C0744 7F08BC14 0103C021 */ addu $t8, $t0, $v1 -/* 0C0748 7F08BC18 E70A2A1C */ swc1 $f10, 0x2a1c($t8) -/* 0C074C 7F08BC1C 8E280000 */ lw $t0, ($s1) -/* 0C0750 7F08BC20 01027821 */ addu $t7, $t0, $v0 -/* 0C0754 7F08BC24 C5F20B60 */ lwc1 $f18, 0xb60($t7) -/* 0C0758 7F08BC28 0103C821 */ addu $t9, $t0, $v1 -/* 0C075C 7F08BC2C E7322A20 */ swc1 $f18, 0x2a20($t9) -.L7F08BC30: -/* 0C0760 7F08BC30 26100001 */ addiu $s0, $s0, 1 -/* 0C0764 7F08BC34 24010002 */ li $at, 2 -/* 0C0768 7F08BC38 24E70004 */ addiu $a3, $a3, 4 -/* 0C076C 7F08BC3C 1601FFCE */ bne $s0, $at, .L7F08BB78 -/* 0C0770 7F08BC40 2463000C */ addiu $v1, $v1, 0xc -/* 0C0774 7F08BC44 8FAB00F0 */ lw $t3, 0xf0($sp) -/* 0C0778 7F08BC48 956A0012 */ lhu $t2, 0x12($t3) -/* 0C077C 7F08BC4C 354C0800 */ ori $t4, $t2, 0x800 -/* 0C0780 7F08BC50 A56C0012 */ sh $t4, 0x12($t3) -/* 0C0784 7F08BC54 8E2E0000 */ lw $t6, ($s1) -/* 0C0788 7F08BC58 8FAD00F8 */ lw $t5, 0xf8($sp) -/* 0C078C 7F08BC5C C5C6048C */ lwc1 $f6, 0x48c($t6) -/* 0C0790 7F08BC60 E5A60008 */ swc1 $f6, 8($t5) -/* 0C0794 7F08BC64 8E290000 */ lw $t1, ($s1) -/* 0C0798 7F08BC68 C5240490 */ lwc1 $f4, 0x490($t1) -/* 0C079C 7F08BC6C E5A4000C */ swc1 $f4, 0xc($t5) -/* 0C07A0 7F08BC70 8E380000 */ lw $t8, ($s1) -/* 0C07A4 7F08BC74 C7080494 */ lwc1 $f8, 0x494($t8) -/* 0C07A8 7F08BC78 E5A80010 */ swc1 $f8, 0x10($t5) -/* 0C07AC 7F08BC7C 8E2F0000 */ lw $t7, ($s1) -/* 0C07B0 7F08BC80 8DF90488 */ lw $t9, 0x488($t7) -/* 0C07B4 7F08BC84 ADB90014 */ sw $t9, 0x14($t5) -/* 0C07B8 7F08BC88 10000006 */ b .L7F08BCA4 -/* 0C07BC 7F08BC8C 8FA200A0 */ lw $v0, 0xa0($sp) -.L7F08BC90: -/* 0C07C0 7F08BC90 8FAA00F8 */ lw $t2, 0xf8($sp) -.L7F08BC94: -/* 0C07C4 7F08BC94 00001025 */ move $v0, $zero -/* 0C07C8 7F08BC98 914C0001 */ lbu $t4, 1($t2) -/* 0C07CC 7F08BC9C 318BFFFD */ andi $t3, $t4, 0xfffd -/* 0C07D0 7F08BCA0 A14B0001 */ sb $t3, 1($t2) -.L7F08BCA4: -/* 0C07D4 7F08BCA4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C07D8 7F08BCA8 8FB0001C */ lw $s0, 0x1c($sp) -/* 0C07DC 7F08BCAC 8FB10020 */ lw $s1, 0x20($sp) -/* 0C07E0 7F08BCB0 03E00008 */ jr $ra -/* 0C07E4 7F08BCB4 27BD00F8 */ addiu $sp, $sp, 0xf8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08BCB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BCB8 -/* 0C07E8 7F08BCB8 03E00008 */ jr $ra -/* 0C07EC 7F08BCBC 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08BCC0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BCC0 -/* 0C07F0 7F08BCC0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C07F4 7F08BCC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C07F8 7F08BCC8 8C8E0004 */ lw $t6, 4($a0) -/* 0C07FC 7F08BCCC 51C00005 */ beql $t6, $zero, .L7F08BCE4 -/* 0C0800 7F08BCD0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C0804 7F08BCD4 0FC086FF */ jal sub_GAME_7F021BFC -/* 0C0808 7F08BCD8 00000000 */ nop -/* 0C080C 7F08BCDC 00402825 */ move $a1, $v0 -/* 0C0810 7F08BCE0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08BCE4: -/* 0C0814 7F08BCE4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C0818 7F08BCE8 00A01025 */ move $v0, $a1 -/* 0C081C 7F08BCEC 03E00008 */ jr $ra -/* 0C0820 7F08BCF0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08BCF4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BCF4 -/* 0C0824 7F08BCF4 3C0E0102 */ lui $t6, (0x01020040 >> 16) # lui $t6, 0x102 -/* 0C0828 7F08BCF8 35CE0040 */ ori $t6, (0x01020040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 0C082C 7F08BCFC AC8E0000 */ sw $t6, ($a0) -/* 0C0830 7F08BD00 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0C0834 7F08BD04 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0C0838 7F08BD08 24820008 */ addiu $v0, $a0, 8 -/* 0C083C 7F08BD0C 8DF8005C */ lw $t8, 0x5c($t7) -/* 0C0840 7F08BD10 03E00008 */ jr $ra -/* 0C0844 7F08BD14 AC980004 */ sw $t8, 4($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08BD18(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BD18 -/* 0C0848 7F08BD18 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0C084C 7F08BD1C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C0850 7F08BD20 AFA40058 */ sw $a0, 0x58($sp) -/* 0C0854 7F08BD24 0FC16008 */ jal sub_GAME_7F058020 -/* 0C0858 7F08BD28 27A50018 */ addiu $a1, $sp, 0x18 -/* 0C085C 7F08BD2C 27A40018 */ addiu $a0, $sp, 0x18 -/* 0C0860 7F08BD30 0FC16327 */ jal sub_GAME_7F058C9C -/* 0C0864 7F08BD34 8FA50058 */ lw $a1, 0x58($sp) -/* 0C0868 7F08BD38 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C086C 7F08BD3C 27BD0058 */ addiu $sp, $sp, 0x58 -/* 0C0870 7F08BD40 03E00008 */ jr $ra -/* 0C0874 7F08BD44 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08BD48(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BD48 -/* 0C0878 7F08BD48 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0C087C 7F08BD4C AFB40028 */ sw $s4, 0x28($sp) -/* 0C0880 7F08BD50 AFB30024 */ sw $s3, 0x24($sp) -/* 0C0884 7F08BD54 AFB00018 */ sw $s0, 0x18($sp) -/* 0C0888 7F08BD58 00A09825 */ move $s3, $a1 -/* 0C088C 7F08BD5C 0080A025 */ move $s4, $a0 -/* 0C0890 7F08BD60 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C0894 7F08BD64 AFB20020 */ sw $s2, 0x20($sp) -/* 0C0898 7F08BD68 AFB1001C */ sw $s1, 0x1c($sp) -/* 0C089C 7F08BD6C 18A0000D */ blez $a1, .L7F08BDA4 -/* 0C08A0 7F08BD70 00008025 */ move $s0, $zero -/* 0C08A4 7F08BD74 00808825 */ move $s1, $a0 -/* 0C08A8 7F08BD78 27B20038 */ addiu $s2, $sp, 0x38 -.L7F08BD7C: -/* 0C08AC 7F08BD7C 02202025 */ move $a0, $s1 -/* 0C08B0 7F08BD80 0FC16008 */ jal sub_GAME_7F058020 -/* 0C08B4 7F08BD84 02402825 */ move $a1, $s2 -/* 0C08B8 7F08BD88 00107180 */ sll $t6, $s0, 6 -/* 0C08BC 7F08BD8C 01D42821 */ addu $a1, $t6, $s4 -/* 0C08C0 7F08BD90 0FC16327 */ jal sub_GAME_7F058C9C -/* 0C08C4 7F08BD94 02402025 */ move $a0, $s2 -/* 0C08C8 7F08BD98 26100001 */ addiu $s0, $s0, 1 -/* 0C08CC 7F08BD9C 1613FFF7 */ bne $s0, $s3, .L7F08BD7C -/* 0C08D0 7F08BDA0 26310040 */ addiu $s1, $s1, 0x40 -.L7F08BDA4: -/* 0C08D4 7F08BDA4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C08D8 7F08BDA8 8FB00018 */ lw $s0, 0x18($sp) -/* 0C08DC 7F08BDAC 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C08E0 7F08BDB0 8FB20020 */ lw $s2, 0x20($sp) -/* 0C08E4 7F08BDB4 8FB30024 */ lw $s3, 0x24($sp) -/* 0C08E8 7F08BDB8 8FB40028 */ lw $s4, 0x28($sp) -/* 0C08EC 7F08BDBC 03E00008 */ jr $ra -/* 0C08F0 7F08BDC0 27BD0078 */ addiu $sp, $sp, 0x78 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08BDC4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BDC4 -/* 0C08F4 7F08BDC4 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0C08F8 7F08BDC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C08FC 7F08BDCC AFA40060 */ sw $a0, 0x60($sp) -/* 0C0900 7F08BDD0 0FC16008 */ jal sub_GAME_7F058020 -/* 0C0904 7F08BDD4 27A50020 */ addiu $a1, $sp, 0x20 -/* 0C0908 7F08BDD8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C090C 7F08BDDC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0C0910 7F08BDE0 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 0C0914 7F08BDE4 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 0C0918 7F08BDE8 C4460044 */ lwc1 $f6, 0x44($v0) -/* 0C091C 7F08BDEC 27A40020 */ addiu $a0, $sp, 0x20 -/* 0C0920 7F08BDF0 8FA50060 */ lw $a1, 0x60($sp) -/* 0C0924 7F08BDF4 46062201 */ sub.s $f8, $f4, $f6 -/* 0C0928 7F08BDF8 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0C092C 7F08BDFC E7A80050 */ swc1 $f8, 0x50($sp) -/* 0C0930 7F08BE00 C4500048 */ lwc1 $f16, 0x48($v0) -/* 0C0934 7F08BE04 46105481 */ sub.s $f18, $f10, $f16 -/* 0C0938 7F08BE08 E7B20054 */ swc1 $f18, 0x54($sp) -/* 0C093C 7F08BE0C C446004C */ lwc1 $f6, 0x4c($v0) -/* 0C0940 7F08BE10 46062201 */ sub.s $f8, $f4, $f6 -/* 0C0944 7F08BE14 0FC16327 */ jal sub_GAME_7F058C9C -/* 0C0948 7F08BE18 E7A80058 */ swc1 $f8, 0x58($sp) -/* 0C094C 7F08BE1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C0950 7F08BE20 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0C0954 7F08BE24 03E00008 */ jr $ra -/* 0C0958 7F08BE28 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08BE2C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BE2C -/* 0C095C 7F08BE2C 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0C0960 7F08BE30 AFB40024 */ sw $s4, 0x24($sp) -/* 0C0964 7F08BE34 AFB30020 */ sw $s3, 0x20($sp) -/* 0C0968 7F08BE38 AFB00014 */ sw $s0, 0x14($sp) -/* 0C096C 7F08BE3C 00A09825 */ move $s3, $a1 -/* 0C0970 7F08BE40 0080A025 */ move $s4, $a0 -/* 0C0974 7F08BE44 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C0978 7F08BE48 AFB50028 */ sw $s5, 0x28($sp) -/* 0C097C 7F08BE4C AFB2001C */ sw $s2, 0x1c($sp) -/* 0C0980 7F08BE50 AFB10018 */ sw $s1, 0x18($sp) -/* 0C0984 7F08BE54 18A0001C */ blez $a1, .L7F08BEC8 -/* 0C0988 7F08BE58 00008025 */ move $s0, $zero -/* 0C098C 7F08BE5C 3C158008 */ lui $s5, %hi(pPlayer) -/* 0C0990 7F08BE60 26B5A0B0 */ addiu $s5, %lo(pPlayer) # addiu $s5, $s5, -0x5f50 -/* 0C0994 7F08BE64 00808825 */ move $s1, $a0 -/* 0C0998 7F08BE68 27B20038 */ addiu $s2, $sp, 0x38 -.L7F08BE6C: -/* 0C099C 7F08BE6C 02202025 */ move $a0, $s1 -/* 0C09A0 7F08BE70 0FC16008 */ jal sub_GAME_7F058020 -/* 0C09A4 7F08BE74 02402825 */ move $a1, $s2 -/* 0C09A8 7F08BE78 8EA20000 */ lw $v0, ($s5) -/* 0C09AC 7F08BE7C C7A40068 */ lwc1 $f4, 0x68($sp) -/* 0C09B0 7F08BE80 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0C09B4 7F08BE84 C4460044 */ lwc1 $f6, 0x44($v0) -/* 0C09B8 7F08BE88 00107180 */ sll $t6, $s0, 6 -/* 0C09BC 7F08BE8C 01D42821 */ addu $a1, $t6, $s4 -/* 0C09C0 7F08BE90 46062201 */ sub.s $f8, $f4, $f6 -/* 0C09C4 7F08BE94 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0C09C8 7F08BE98 02402025 */ move $a0, $s2 -/* 0C09CC 7F08BE9C E7A80068 */ swc1 $f8, 0x68($sp) -/* 0C09D0 7F08BEA0 C4500048 */ lwc1 $f16, 0x48($v0) -/* 0C09D4 7F08BEA4 46105481 */ sub.s $f18, $f10, $f16 -/* 0C09D8 7F08BEA8 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 0C09DC 7F08BEAC C446004C */ lwc1 $f6, 0x4c($v0) -/* 0C09E0 7F08BEB0 46062201 */ sub.s $f8, $f4, $f6 -/* 0C09E4 7F08BEB4 0FC16327 */ jal sub_GAME_7F058C9C -/* 0C09E8 7F08BEB8 E7A80070 */ swc1 $f8, 0x70($sp) -/* 0C09EC 7F08BEBC 26100001 */ addiu $s0, $s0, 1 -/* 0C09F0 7F08BEC0 1613FFEA */ bne $s0, $s3, .L7F08BE6C -/* 0C09F4 7F08BEC4 26310040 */ addiu $s1, $s1, 0x40 -.L7F08BEC8: -/* 0C09F8 7F08BEC8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C09FC 7F08BECC 8FB00014 */ lw $s0, 0x14($sp) -/* 0C0A00 7F08BED0 8FB10018 */ lw $s1, 0x18($sp) -/* 0C0A04 7F08BED4 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C0A08 7F08BED8 8FB30020 */ lw $s3, 0x20($sp) -/* 0C0A0C 7F08BEDC 8FB40024 */ lw $s4, 0x24($sp) -/* 0C0A10 7F08BEE0 8FB50028 */ lw $s5, 0x28($sp) -/* 0C0A14 7F08BEE4 03E00008 */ jr $ra -/* 0C0A18 7F08BEE8 27BD0078 */ addiu $sp, $sp, 0x78 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08BEEC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BEEC -/* 0C0A1C 7F08BEEC 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0C0A20 7F08BEF0 AFB50028 */ sw $s5, 0x28($sp) -/* 0C0A24 7F08BEF4 AFB40024 */ sw $s4, 0x24($sp) -/* 0C0A28 7F08BEF8 AFB10018 */ sw $s1, 0x18($sp) -/* 0C0A2C 7F08BEFC 00A0A025 */ move $s4, $a1 -/* 0C0A30 7F08BF00 0080A825 */ move $s5, $a0 -/* 0C0A34 7F08BF04 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C0A38 7F08BF08 AFB30020 */ sw $s3, 0x20($sp) -/* 0C0A3C 7F08BF0C AFB2001C */ sw $s2, 0x1c($sp) -/* 0C0A40 7F08BF10 AFB00014 */ sw $s0, 0x14($sp) -/* 0C0A44 7F08BF14 18A0001F */ blez $a1, .L7F08BF94 -/* 0C0A48 7F08BF18 00008825 */ move $s1, $zero -/* 0C0A4C 7F08BF1C 3C138008 */ lui $s3, %hi(pPlayer) -/* 0C0A50 7F08BF20 2673A0B0 */ addiu $s3, %lo(pPlayer) # addiu $s3, $s3, -0x5f50 -/* 0C0A54 7F08BF24 00808025 */ move $s0, $a0 -/* 0C0A58 7F08BF28 27B20040 */ addiu $s2, $sp, 0x40 -.L7F08BF2C: -/* 0C0A5C 7F08BF2C 0FC1E111 */ jal sub_GAME_7F078444 -/* 0C0A60 7F08BF30 00000000 */ nop -/* 0C0A64 7F08BF34 00402025 */ move $a0, $v0 -/* 0C0A68 7F08BF38 02002825 */ move $a1, $s0 -/* 0C0A6C 7F08BF3C 0FC16063 */ jal sub_GAME_7F05818C -/* 0C0A70 7F08BF40 02403025 */ move $a2, $s2 -/* 0C0A74 7F08BF44 8E620000 */ lw $v0, ($s3) -/* 0C0A78 7F08BF48 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0C0A7C 7F08BF4C C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 0C0A80 7F08BF50 C4460038 */ lwc1 $f6, 0x38($v0) -/* 0C0A84 7F08BF54 00117180 */ sll $t6, $s1, 6 -/* 0C0A88 7F08BF58 01D52821 */ addu $a1, $t6, $s5 -/* 0C0A8C 7F08BF5C 46062201 */ sub.s $f8, $f4, $f6 -/* 0C0A90 7F08BF60 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0C0A94 7F08BF64 02402025 */ move $a0, $s2 -/* 0C0A98 7F08BF68 E7A80070 */ swc1 $f8, 0x70($sp) -/* 0C0A9C 7F08BF6C C450003C */ lwc1 $f16, 0x3c($v0) -/* 0C0AA0 7F08BF70 46105481 */ sub.s $f18, $f10, $f16 -/* 0C0AA4 7F08BF74 E7B20074 */ swc1 $f18, 0x74($sp) -/* 0C0AA8 7F08BF78 C4460040 */ lwc1 $f6, 0x40($v0) -/* 0C0AAC 7F08BF7C 46062201 */ sub.s $f8, $f4, $f6 -/* 0C0AB0 7F08BF80 0FC16327 */ jal sub_GAME_7F058C9C -/* 0C0AB4 7F08BF84 E7A80078 */ swc1 $f8, 0x78($sp) -/* 0C0AB8 7F08BF88 26310001 */ addiu $s1, $s1, 1 -/* 0C0ABC 7F08BF8C 1634FFE7 */ bne $s1, $s4, .L7F08BF2C -/* 0C0AC0 7F08BF90 26100040 */ addiu $s0, $s0, 0x40 -.L7F08BF94: -/* 0C0AC4 7F08BF94 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C0AC8 7F08BF98 8FB00014 */ lw $s0, 0x14($sp) -/* 0C0ACC 7F08BF9C 8FB10018 */ lw $s1, 0x18($sp) -/* 0C0AD0 7F08BFA0 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C0AD4 7F08BFA4 8FB30020 */ lw $s3, 0x20($sp) -/* 0C0AD8 7F08BFA8 8FB40024 */ lw $s4, 0x24($sp) -/* 0C0ADC 7F08BFAC 8FB50028 */ lw $s5, 0x28($sp) -/* 0C0AE0 7F08BFB0 03E00008 */ jr $ra -/* 0C0AE4 7F08BFB4 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F08BFB8(void) { - return mission_timer; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08BFB8 -/* 0C0AE8 7F08BFB8 3C028008 */ lui $v0, %hi(mission_timer) -/* 0C0AEC 7F08BFBC 03E00008 */ jr $ra -/* 0C0AF0 7F08BFC0 8C429A20 */ lw $v0, %lo(mission_timer)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void trigger_explosions_around_player(void) { - -} -#else -GLOBAL_ASM( -.text -glabel trigger_explosions_around_player -/* 0C0AF4 7F08BFC4 3C0F8005 */ lui $t7, %hi(global_timer) -/* 0C0AF8 7F08BFC8 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 0C0AFC 7F08BFCC 240E0001 */ li $t6, 1 -/* 0C0B00 7F08BFD0 3C018003 */ lui $at, %hi(D_80036444) -/* 0C0B04 7F08BFD4 AC2E6444 */ sw $t6, %lo(D_80036444)($at) -/* 0C0B08 7F08BFD8 3C018008 */ lui $at, %hi(dword_CODE_bss_8007999C) -/* 0C0B0C 7F08BFDC 008FC021 */ addu $t8, $a0, $t7 -/* 0C0B10 7F08BFE0 AC38999C */ sw $t8, %lo(dword_CODE_bss_8007999C)($at) -/* 0C0B14 7F08BFE4 3C018008 */ lui $at, %hi(dword_CODE_bss_800799A0) -/* 0C0B18 7F08BFE8 03E00008 */ jr $ra -/* 0C0B1C 7F08BFEC AC2099A0 */ sw $zero, %lo(dword_CODE_bss_800799A0)($at) -) -#endif - - - diff --git a/src/game/bond.h b/src/game/bond.h deleted file mode 100644 index 9c41c1b..0000000 --- a/src/game/bond.h +++ /dev/null @@ -1,3049 +0,0 @@ -#ifndef _BOND_H_ -#define _BOND_H_ - -#include "ultra64.h" -#include "game/chr.h" - -struct xyzpoint -{ - f32 x; - f32 y; - f32 z; -}; - -typedef struct Player -{ - s32 unknown; - s32 xpos; - s32 ypos; - s32 zpos; - s32 xpos2; - s32 ypos2; - s32 zpos2; - s32 xoffset; - s32 yoffset; - s32 zoffset; - s32 xpos3; - s32 ypos3; - s32 zpos3; - s32 room_pointer; - s32 current_model_xpos; - s32 current_model_ypos; - s32 current_model_zpos; - s32 previous_model_xpos; - s32 previous_model_ypos; - s32 previous_model_zpos; - s32 current_room_xpos; - s32 current_room_ypos; - s32 current_room_zpos; - s32 field_5C; - s32 field_60; - s32 field_64; - s32 field_68; - s32 field_6C; - s32 field_70; - s32 clipping_height; - s32 field_78; - s32 field_7C; - s32 field_80; - s32 field_84; - s32 field_88; - s32 field_8C; - s32 field_90; - s32 field_94; - s32 field_98; - s32 crouchposition; - s32 ducking_height_offset; - s32 field_A4; - s32 position_data_pointer; - s32 field_AC; - s32 field_B0; - s32 zpos_0; - s32 xpos_0; - s32 field_BC; - s32 field_C0; - s32 zpos_1; - s32 xpos_1; - s32 field_CC; - s32 field_D0; - s32 ptr_char_objectinstance; - s32 bonddead; - s32 bondhealth; - f32 bondarmour; - s32 oldhealth; - s32 oldarmour; - s32 apparenthealth; - s32 apparentarmour; - s32 damageshowtime; - s32 healthshowtime; - s32 healthshowmode; - s32 field_100; - s32 field_104; - s32 field_108; - s32 field_10C; - s32 movecentrerelease; - s32 lookaheadcentreenabled; - s32 automovecentreenabled; - s32 fastmovecentreenabled; - s32 automovecentre; - s32 insightaimmode; - s32 autoyaimenabled; - f32 autoaimy; - s32 autoyaimtime; - s32 autoyaimtime60; - s32 autoxaimenabled; - f32 autoaimx; - s32 autoxaimtime; - s32 autoxaimtime60; - f32 vv_theta; - f32 speedtheta; - s32 vv_costheta; - s32 vv_sintheta; - f32 vv_verta; - s32 vv_verta360; - f32 speedverta; - s32 vv_cosverta; - s32 vv_sinverta; - f32 speedsideways; - f32 speedstrafe; - f32 speedforwards; - s32 speedboost; - s32 speedmaxtime60; - s32 boost_factor_x; - s32 boost_factor_y; - s32 boost_factor_z; - s32 viewport_alpha; - s32 bondfadetime60; - s32 bondfadetimemax; - s32 bondfadefracold; - s32 bondfadefracnew; - s32 field_1A0; - s32 field_1A4; - s32 field_1A8; - s32 field_1AC; - s32 field_1B0; - s32 field_1B4; - s32 field_1B8; - s32 field_1BC; - s32 field_1C0; - s32 field_1C4; - s32 watch_animation_state; - s32 paused_flag; - s32 open_close_solo_watch_menu; - s32 field_1D4; - s32 field_1D8; - s32 pause_watch_position; - s32 field_1E0; - s32 field_1E4; - s32 field_1E8; - s32 field_1EC; - s32 field_1F0; - s32 field_1F4; - s32 field_1F8; - s32 field_1FC; - s32 pausing_flag; - f32 pause_starting_angle; - s32 field_208; - s32 pause_target_angle; - f32 field_210; - f32 field_214; - s32 field_218; - s32 field_21C; - s32 step_in_view_watch_animation; - s32 pause_animation_counter; - s32 field_228; - s32 field_22C; - s32 something_with_watch_object_instance; - s32 field_234; - s32 field_238; - s32 field_23C; - s32 field_240; - s32 watch_scale_destination; - s32 field_248; - s32 field_24C; - s32 field_250; - s32 field_254; - s32 field_258; - s32 field_25C; - s32 field_260; - s32 field_264; - s32 field_268; - s32 field_26C; - s32 field_270; - s32 field_274; - s32 field_278; - s32 field_27C; - s32 field_280; - s32 field_284; - s32 field_288; - s32 field_28C; - s32 field_290; - s32 field_294; - s32 field_298; - s32 field_29C; - s32 field_2A0; - s32 field_2A4; - s32 field_2A8; - s32 field_2AC; - s32 field_2B0; - s32 field_2B4; - s32 field_2B8; - s32 field_2BC; - s32 field_2C0; - s32 field_2C4; - s32 field_2C8; - s32 field_2CC; - s32 field_2D0; - s32 field_2D4; - s32 field_2D8; - s32 field_2DC; - s32 field_2E0; - s32 field_2E4; - s32 field_2E8; - s32 field_2EC; - s32 field_2F0; - s32 field_2F4; - s32 field_2F8; - s32 field_2FC; - s32 field_300; - s32 field_304; - s32 field_308; - s32 field_30C; - s32 field_310; - s32 field_314; - s32 field_318; - s32 field_31C; - s32 field_320; - s32 field_324; - s32 field_328; - s32 field_32C; - s32 field_330; - s32 field_334; - s32 field_338; - s32 field_33C; - s32 field_340; - s32 field_344; - s32 field_348; - s32 field_34C; - s32 field_350; - s32 field_354; - s32 field_358; - s32 field_35C; - s32 field_360; - s32 field_364; - s32 field_368; - s32 field_36C; - s32 field_370; - s32 field_374; - s32 field_378; - s32 field_37C; - s32 field_380; - s32 field_384; - s32 field_388; - s32 field_38C; - s32 field_390; - s32 field_394; - s32 field_398; - s32 field_39C; - s32 field_3A0; - s32 field_3A4; - s32 field_3A8; - s32 field_3AC; - s32 field_3B0; - s16 field_3B4; - s16 field_3B6; - s32 field_3B8; - s32 field_3BC; - s32 field_3C0; - s32 field_3C4; - s32 field_3C8; - s32 field_3CC; - s32 tint_red; - s32 tint_green; - s32 tint_blue; - f32 tint_alpha; - s32 screen_fade_timer; - f32 screen_fade_max_time; - s32 field_3E8; - s32 field_3EC; - s32 field_3F0; - s32 field_3F4; - s32 field_3F8; - s32 field_3FC; - s32 field_400; - s32 field_404; - s32 field_408; - s32 field_40C; - s32 field_410; - s32 field_414; - s32 field_418; - s32 cuff_value; - s32 field_420; - s32 field_424; - s32 field_428; - s32 field_42C; - s32 field_430; - s32 field_434; - s32 field_438; - s32 field_43C; - s32 field_440; - s32 field_444; - s32 field_448; - s32 field_44C; - s32 field_450; - s32 field_454; - s32 field_458; - s32 field_45C; - s32 field_460; - s32 field_464; - s32 field_468; - s32 field_46C; - s32 field_470; - s32 field_474; - s32 field_478; - s32 field_47C; - s32 field_480; - s32 field_484; - s32 current_tile_ptr; - s32 positionx; - s32 positiony; - s32 positionz; - s32 field_498; - s32 field_49C; - s32 field_4A0; - s32 field_4A4; - s32 field_4A8; - s32 field_4AC; - s32 collision_radius; - s32 field_4B4; - s32 field_4B8; - s32 field_4BC; - s32 field_4C0; - s32 field_4C4; - s32 field_4C8; - s32 field_4CC; - s32 field_4D0; - s32 field_4D4; - s32 current_tile_ptr_for_portals; - s32 field_4DC; - s32 field_4E0; - s32 field_4E4; - s32 field_4E8; - s32 field_4EC; - s32 field_4F0; - s32 field_4F4; - s32 field_4F8; - s32 scaled_velocity; - s32 field_500; - s32 field_504; - s32 field_508; - s32 field_50C; - s32 field_510; - s32 field_514; - s32 field_518; - s32 field_51C; - s32 velocity; - s32 field_524; - s32 field_528; - s32 field_52C; - s32 field_530; - s32 field_534; - s32 field_538; - s32 field_53C; - s32 field_540; - s32 field_544; - s32 field_548; - s32 field_54C; - s32 stationary_ground_offset; - s32 field_554; - s32 field_558; - s32 field_55C; - s32 field_560; - s32 field_564; - s32 field_568; - s32 field_56C; - s32 field_570; - s32 field_574; - s32 field_578; - s32 field_57C; - s32 field_580; - s32 field_584; - s32 field_588; - s32 field_58C; - s32 field_590; - s32 field_594; - s32 field_598; - s32 field_59C; - s32 field_5A0; - s32 field_5A4; - s32 field_5A8; - s32 field_5AC; - s32 field_5B0; - s32 field_5B4; - s32 field_5B8; - u32 field_5BC; - s32 field_5C0; - s32 field_5C4; - s32 field_5C8; - s32 field_5CC; - s32 field_5D0; - s32 field_5D4; - s32 field_5D8; - s32 field_5DC; - s32 field_5E0; - s32 field_5E4; - s32 field_5E8; - s32 field_5EC; - s32 field_5F0; - s32 field_5F4; - s32 field_5F8; - s32 field_5FC; - s32 field_600; - s32 field_604; - s32 field_608; - s32 field_60C; - s32 field_610; - s32 field_614; - s32 field_618; - s32 field_61C; - s32 field_620; - s32 field_624; - s32 field_628; - s32 field_62C; - s32 field_630; - s32 field_634; - s32 field_638; - s32 field_63C; - s32 field_640; - s32 field_644; - s32 field_648; - s32 field_64C; - s32 field_650; - s32 field_654; - s32 field_658; - s32 field_65C; - s32 field_660; - s32 field_664; - s32 field_668; - s32 field_66C; - s32 field_670; - s32 field_674; - s32 field_678; - s32 field_67C; - s32 field_680; - s32 field_684; - s32 field_688; - s32 field_68C; - s32 field_690; - s32 field_694; - s32 field_698; - s32 field_69C; - s32 field_6A0; - s32 field_6A4; - s32 field_6A8; - s32 field_6AC; - s32 field_6B0; - s32 field_6B4; - s32 field_6B8; - s32 field_6BC; - s32 field_6C0; - s32 field_6C4; - s32 field_6C8; - s32 field_6CC; - s32 field_6D0; - s32 field_6D4; - s32 field_6D8; - s32 field_6DC; - s32 field_6E0; - s32 field_6E4; - s32 field_6E8; - s32 field_6EC; - s32 field_6F0; - s32 field_6F4; - s32 field_6F8; - s32 field_6FC; - s32 field_700; - s32 field_704; - s32 field_708; - s32 field_70C; - s32 field_710; - s32 field_714; - s32 field_718; - s32 field_71C; - s32 field_720; - s32 field_724; - s32 field_728; - s32 field_72C; - s32 field_730; - s32 field_734; - s32 field_738; - s32 field_73C; - s32 field_740; - s32 field_744; - s32 field_748; - s32 field_74C; - s32 field_750; - s32 field_754; - s32 field_758; - s32 field_75C; - s32 field_760; - s32 field_764; - s32 field_768; - s32 field_76C; - s32 field_770; - s32 field_774; - s32 field_778; - s32 field_77C; - s32 field_780; - s32 field_784; - s32 field_788; - s32 field_78C; - s32 field_790; - s32 field_794; - s32 field_798; - s32 field_79C; - s32 field_7A0; - s32 field_7A4; - s32 field_7A8; - s32 field_7AC; - s32 field_7B0; - s32 field_7B4; - s32 field_7B8; - s32 field_7BC; - s32 field_7C0; - s32 field_7C4; - s32 field_7C8; - s32 field_7CC; - s32 field_7D0; - s32 field_7D4; - s32 field_7D8; - s32 field_7DC; - s32 field_7E0; - s32 field_7E4; - s32 field_7E8; - s32 field_7EC; - s16 viewx; - s16 viewy; - s16 viewleft; - s16 viewtop; - s32 right_invisible; - s32 left_invisible; - s32 handitem[2]; - s32 ptr_right_weapon_buffer; - s32 ptr_left_weapon_buffer; - s32 copy_of_body_obj_header[8]; - s32 copy_of_right_weapon_obj_header[8]; - s32 field_850; - s32 field_854; - s32 field_858; - s32 field_85C; - s32 field_860; - s32 right_item_related1; - s32 right_item_related2; - s32 right_item_related3; - s32 right_weapon; - s32 right_weapon_attack; - s32 previous_right_weapon; - s32 right_weapon_firing_status; - s32 field_880; - s32 field_884; - s32 field_888; - s32 field_88C; - s32 field_890; - s32 when_detonating_mines_is_0; - s32 right_weapon_current_animation; - s32 right_weapon_ammo_in_magazine; - s32 field_8A0; - s32 field_8A4; - s32 field_8A8; - s32 right_weapon_next_weapon; - s32 field_8B0; - s32 right_weapon_animation_trigger; - s32 field_8B8; - s32 field_8BC; - s32 field_8C0; - s32 field_8C4; - s32 field_8C8; - s32 field_8CC; - s32 field_8D0; - s32 field_8D4; - s32 field_8D8; - s32 field_8DC; - s32 field_8E0; - s32 field_8E4; - s32 field_8E8; - s32 field_8EC; - s32 field_8F0; - s32 field_8F4; - s32 field_8F8; - s32 field_8FC; - s32 field_900; - s32 field_904; - s32 field_908; - s32 field_90C; - s32 field_910; - s32 field_914; - s32 field_918; - s32 field_91C; - s32 field_920; - s32 field_924; - s32 field_928; - s32 field_92C; - s32 field_930; - s32 field_934; - s32 field_938; - s32 field_93C; - s32 field_940; - s32 field_944; - s32 field_948; - s32 field_94C; - s32 field_950; - s32 field_954; - s32 field_958; - s32 field_95C; - s32 field_960; - s32 field_964; - s32 field_968; - s32 field_96C; - s32 field_970; - s32 field_974; - s32 field_978; - s32 field_97C; - s32 field_980; - s32 field_984; - s32 field_988; - s32 field_98C; - s32 field_990; - s32 field_994; - s32 field_998; - s32 field_99C; - s32 field_9A0; - s32 field_9A4; - s32 field_9A8; - s32 field_9AC; - s32 field_9B0; - s32 field_9B4; - s32 field_9B8; - s32 field_9BC; - s32 field_9C0; - s32 field_9C4; - s32 field_9C8; - s32 field_9CC; - s32 field_9D0; - s32 field_9D4; - s32 field_9D8; - s32 field_9DC; - s32 field_9E0; - s32 field_9E4; - s32 field_9E8; - s32 field_9EC; - s32 field_9F0; - s32 field_9F4; - s32 field_9F8; - s32 field_9FC; - s32 field_A00; - s32 field_A04; - s32 field_A08; - s32 field_A0C; - s32 field_A10; - s32 field_A14; - s32 field_A18; - s32 field_A1C; - s32 field_A20; - s32 field_A24; - s32 field_A28; - s32 field_A2C; - s32 field_A30; - s32 field_A34; - s32 field_A38; - s32 field_A3C; - s32 field_A40; - s32 field_A44; - s32 field_A48; - s32 field_A4C; - s32 field_A50; - s32 field_A54; - s32 field_A58; - s32 field_A5C; - s32 field_A60; - s32 field_A64; - s32 field_A68; - s32 field_A6C; - s32 field_A70; - s32 field_A74; - s32 field_A78; - s32 field_A7C; - s32 noise; - s32 field_A84; - s32 field_A88; - s32 field_A8C; - s32 field_A90; - s32 field_A94; - s32 field_A98; - s32 field_A9C; - s32 field_AA0; - s32 field_AA4; - s32 field_AA8; - s32 field_AAC; - s32 field_AB0; - s32 field_AB4; - s32 field_AB8; - s32 field_ABC; - s32 field_AC0; - s32 field_AC4; - s32 field_AC8; - s32 field_ACC; - s32 field_AD0; - s32 field_AD4; - s32 field_AD8; - s32 field_ADC; - s32 field_AE0; - s32 field_AE4; - s32 field_AE8; - s32 field_AEC; - s32 field_AF0; - s32 field_AF4; - s32 field_AF8; - s32 field_AFC; - s32 field_B00; - s32 field_B04; - s32 field_B08; - s32 field_B0C; - s32 field_B10; - s32 field_B14; - s32 field_B18; - s32 field_B1C; - s32 field_B20; - s32 field_B24; - s32 field_B28; - s32 field_B2C; - s32 field_B30; - s32 field_B34; - s32 field_B38; - s32 field_B3C; - s32 field_B40; - s32 field_B44; - s32 field_B48; - s32 field_B4C; - s32 field_B50; - s32 field_B54; - s32 field_B58; - s32 field_B5C; - s32 field_B60; - s32 field_B64; - s32 field_B68; - s32 field_B6C; - s32 field_B70; - s32 field_B74; - s32 field_B78; - s32 field_B7C; - s32 field_B80; - s32 field_B84; - s32 field_B88; - s32 field_B8C; - s32 field_B90; - s32 field_B94; - s32 field_B98; - s32 field_B9C; - s32 field_BA0; - s32 field_BA4; - s32 field_BA8; - s32 field_BAC; - s32 field_BB0; - s32 field_BB4; - s32 field_BB8; - s32 field_BBC; - s32 field_BC0; - s32 field_BC4; - s32 field_BC8; - s32 field_BCC; - s32 field_BD0; - s32 field_BD4; - s32 field_BD8; - s32 field_BDC; - s32 field_BE0; - s32 field_BE4; - s32 field_BE8; - s32 field_BEC; - s32 field_BF0; - s32 field_BF4; - s32 field_BF8; - s32 field_BFC; - s32 field_C00; - s32 field_C04; - s32 field_C08; - s32 left_item_related1; - s32 left_item_related2; - s32 left_item_related3; - s32 left_weapon; - s32 left_weapon_attack; - s32 left_weapon_previous; - s32 left_weapon_firing_status; - s32 field_C28; - s32 field_C2C; - s32 field_C30; - s32 field_C34; - s32 field_C38; - s32 field_C3C; - s32 left_weapon_animation; - s32 left_weapon_ammo_in_magazine; - s32 field_C48; - s32 field_C4C; - s32 field_C50; - s32 left_weapon_next_weapon; - s32 field_C58; - s32 left_weapon_animation_trigger; - s32 field_C60; - s32 field_C64; - s32 field_C68; - s32 field_C6C; - s32 field_C70; - s32 field_C74; - s32 field_C78; - s32 field_C7C; - s32 field_C80; - s32 field_C84; - s32 field_C88; - s32 field_C8C; - s32 field_C90; - s32 field_C94; - s32 field_C98; - s32 field_C9C; - s32 field_CA0; - s32 field_CA4; - s32 field_CA8; - s32 field_CAC; - s32 field_CB0; - s32 field_CB4; - s32 field_CB8; - s32 field_CBC; - s32 field_CC0; - s32 field_CC4; - s32 field_CC8; - s32 field_CCC; - s32 field_CD0; - s32 field_CD4; - s32 field_CD8; - s32 field_CDC; - s32 field_CE0; - s32 field_CE4; - s32 field_CE8; - s32 field_CEC; - s32 field_CF0; - s32 field_CF4; - s32 field_CF8; - s32 field_CFC; - s32 field_D00; - s32 field_D04; - s32 field_D08; - s32 field_D0C; - s32 field_D10; - s32 field_D14; - s32 field_D18; - s32 field_D1C; - s32 field_D20; - s32 field_D24; - s32 field_D28; - s32 field_D2C; - s32 field_D30; - s32 field_D34; - s32 field_D38; - s32 field_D3C; - s32 field_D40; - s32 field_D44; - s32 field_D48; - s32 field_D4C; - s32 field_D50; - s32 field_D54; - s32 field_D58; - s32 field_D5C; - s32 field_D60; - s32 field_D64; - s32 field_D68; - s32 field_D6C; - s32 field_D70; - s32 field_D74; - s32 field_D78; - s32 field_D7C; - s32 field_D80; - s32 field_D84; - s32 field_D88; - s32 field_D8C; - s32 field_D90; - s32 field_D94; - s32 field_D98; - s32 field_D9C; - s32 field_DA0; - s32 field_DA4; - s32 field_DA8; - s32 field_DAC; - s32 field_DB0; - s32 field_DB4; - s32 field_DB8; - s32 field_DBC; - s32 field_DC0; - s32 field_DC4; - s32 field_DC8; - s32 field_DCC; - s32 field_DD0; - s32 field_DD4; - s32 field_DD8; - s32 field_DDC; - s32 field_DE0; - s32 field_DE4; - s32 field_DE8; - s32 field_DEC; - s32 field_DF0; - s32 field_DF4; - s32 field_DF8; - s32 field_DFC; - s32 field_E00; - s32 field_E04; - s32 field_E08; - s32 field_E0C; - s32 field_E10; - s32 field_E14; - s32 field_E18; - s32 field_E1C; - s32 field_E20; - s32 field_E24; - s32 field_E28; - s32 field_E2C; - s32 field_E30; - s32 field_E34; - s32 field_E38; - s32 field_E3C; - s32 field_E40; - s32 field_E44; - s32 field_E48; - s32 field_E4C; - s32 field_E50; - s32 field_E54; - s32 field_E58; - s32 field_E5C; - s32 field_E60; - s32 field_E64; - s32 field_E68; - s32 field_E6C; - s32 field_E70; - s32 field_E74; - s32 field_E78; - s32 field_E7C; - s32 field_E80; - s32 field_E84; - s32 field_E88; - s32 field_E8C; - s32 field_E90; - s32 field_E94; - s32 field_E98; - s32 field_E9C; - s32 field_EA0; - s32 field_EA4; - s32 field_EA8; - s32 field_EAC; - s32 field_EB0; - s32 field_EB4; - s32 field_EB8; - s32 field_EBC; - s32 field_EC0; - s32 field_EC4; - s32 field_EC8; - s32 field_ECC; - s32 field_ED0; - s32 field_ED4; - s32 field_ED8; - s32 field_EDC; - s32 field_EE0; - s32 field_EE4; - s32 field_EE8; - s32 field_EEC; - s32 field_EF0; - s32 field_EF4; - s32 field_EF8; - s32 field_EFC; - s32 field_F00; - s32 field_F04; - s32 field_F08; - s32 field_F0C; - s32 field_F10; - s32 field_F14; - s32 field_F18; - s32 field_F1C; - s32 field_F20; - s32 field_F24; - s32 field_F28; - s32 field_F2C; - s32 field_F30; - s32 field_F34; - s32 field_F38; - s32 field_F3C; - s32 field_F40; - s32 field_F44; - s32 field_F48; - s32 field_F4C; - s32 field_F50; - s32 field_F54; - s32 field_F58; - s32 field_F5C; - s32 field_F60; - s32 field_F64; - s32 field_F68; - s32 field_F6C; - s32 field_F70; - s32 field_F74; - s32 field_F78; - s32 field_F7C; - s32 field_F80; - s32 field_F84; - s32 field_F88; - s32 field_F8C; - s32 field_F90; - s32 field_F94; - s32 field_F98; - s32 field_F9C; - s32 field_FA0; - s32 field_FA4; - s32 field_FA8; - s32 field_FAC; - s32 field_FB0; - s32 field_FB4; - s32 field_FB8; - s32 field_FBC; - f32 field_FC0; - f32 field_FC4; - s32 field_FC8; - s32 field_FCC; - s32 field_FD0; - s32 field_FD4; - s32 field_FD8; - u8 field_FDC; - u8 field_FDD; - u8 field_FDE; - u8 field_FDF; - s32 field_FE0; - s32 field_FE4; - f32 field_FE8; - f32 field_FEC; - f32 crosshair_x_pos; - f32 crosshair_y_pos; - f32 field_FF8; - f32 field_FFC; - f32 field_1000; - f32 gun_azimuth_angle; - f32 gun_azimuth_turning; - f32 field_100C; - f32 field_1010; - f32 holds_neg_pi; - f32 field_1018; - s32 field_101C; - s32 field_1020; - s32 field_1024; - s32 field_1028; - s32 field_102C; - s32 field_1030; - s32 field_1034; - s32 field_1038; - s32 field_103C; - s32 field_1040; - s32 field_1044; - s32 field_1048; - s32 field_104C; - s32 field_1050; - s32 field_1054; - s32 field_1058; - s32 field_105C; - s32 copiedgoldeneye; - s32 somekinda_flags; - s32 field_1068; - f32 field_106C; - f32 field_1070; - f32 field_1074; - s32 field_1078; - f32 field_107C; - f32 field_1080; - f32 sniper_zoom; - f32 camera_zoom; - s32 field_108C; - f32 c_screenwidth; - f32 c_screenheight; - f32 c_screenleft; - f32 c_screentop; - f32 c_perspnear; - f32 c_perspfovy; - f32 c_perspaspect; - f32 c_halfwidth; - f32 c_halfheight; - f32 c_scalex; - f32 c_scaley; - f32 c_recipscalex; - f32 c_recipscaley; - s32 field_10C4; - s32 field_10C8; - s32 field_10CC; - s32 field_10D0; - s32 field_10D4; - s32 field_10D8; - s32 field_10DC; - s32 field_10E0; - s32 field_10E4; - s32 field_10E8; - s32 field_10EC; - f32 c_scalelod60; - f32 c_scalelod; - f32 c_lodscalez; - u32 c_lodscalezu32; - struct xyzpoint c_cameratopnorm; - struct xyzpoint c_cameraleftnorm; - - f32 screenxminf; - f32 screenyminf; - f32 screenxmaxf; - f32 screenymaxf; - s32 somekinda_bitflags; - s32 field_112C; - s32 ammoheldarr; - s32 ammo_total_pistol; - s32 ammo_total_pistol_beta; - s32 ammo_total_rifle; - s32 ammo_total_shotgun; - s32 ammo_total_grenade; - s32 ammo_total_rocket_launcher; - s32 ammo_total_remote_mine; - s32 ammo_total_prox_mine; - s32 ammo_total_timed_mine; - s32 ammo_total_throwing_knife; - s32 ammo_total_grenade_launcher; - s32 ammo_total_magnum; - s32 ammo_total_golden_gun; - s32 ammo_total_dart; - s32 ammo_total_explosive_pen; - s32 ammo_total_explosive_case; - s32 ammo_total_flare; - s32 ammo_total_piton; - s32 ammo_total_dynamite; - s32 ammo_total_bug; - s32 ammo_total_microcamera; - s32 ammo_total_goldeneye_key; - s32 ammo_total_plastique; - s32 ammo_total_watch_laser; - s32 ammo_total_watch_magnet; - s32 ammo_total_unknown1; - s32 ammo_total_unknown2; - s32 ammo_total_tank; - s32 ammo_total_mp_token; - s32 bloodcnt; - s32 field_11AC; - s32 field_11B0; - s32 field_11B4; - s32 field_11B8; - f32 zoomintime; - f32 zoomintimemax; - f32 zoominfovy; - f32 zoominfovyold; - f32 zoominfovynew; - f32 fovy; - f32 aspect; - s32 hudmessoff; - s32 bondmesscnt; - s32 ptr_inventory_first_in_cycle; - s32 p_itemcur; - s32 equipmaxitems; - s32 equipallguns; - s32 field_11F0; - s32 field_11F4; - s32 index_time_spent_using_item; - s32 field_11FC; - s32 field_1200; - s32 field_1204; - s32 field_1208; - s32 field_120C; - s32 field_1210; - s32 field_1214; - s32 field_1218; - s32 field_121C; - s32 field_1220; - s32 field_1224; - s32 field_1228; - s32 field_122C; - s32 field_1230; - s32 field_1234; - s32 field_1238; - s32 field_123C; - s32 field_1240; - s32 field_1244; - s32 field_1248; - s32 field_124C; - s32 field_1250; - s32 field_1254; - s32 field_1258; - s32 field_125C; - s32 field_1260; - s32 field_1264; - s32 field_1268; - s32 field_126C; - s32 field_1270; - s32 field_1274; - s32 field_1278; - s32 field_127C; - s32 field_1280; - s32 players_cur_animation; - s32 field_1288; - s32 field_128C; - s32 field_1290; - s32 field_1294; - s32 field_1298; - s32 field_129C; - s32 field_12A0; - s32 field_12A4; - s32 field_12A8; - s32 field_12AC; - s32 field_12B0; - u8 something_with_cheat_text; - u8 can_display_cheat_text; - u8 bondinvincible; - u8 field_12B7; - s32 healthdamagetype; - s32 field_12BC; - s32 field_12C0; - s32 field_12C4; - s32 field_12C8; - s32 field_12CC; - s32 field_12D0; - s32 field_12D4; - s32 field_12D8; - s32 field_12DC; - s32 field_12E0; - s32 field_12E4; - s32 field_12E8; - s32 field_12EC; - s32 field_12F0; - s32 field_12F4; - s32 field_12F8; - s32 field_12FC; - s32 field_1300; - s32 field_1304; - s32 field_1308; - s32 field_130C; - s32 field_1310; - s32 field_1314; - s32 field_1318; - s32 field_131C; - s32 field_1320; - s32 field_1324; - s32 field_1328; - s32 field_132C; - s32 field_1330; - s32 field_1334; - s32 field_1338; - s32 field_133C; - s32 field_1340; - s32 field_1344; - s32 field_1348; - s32 field_134C; - s32 field_1350; - s32 field_1354; - s32 field_1358; - s32 field_135C; - s32 field_1360; - s32 field_1364; - s32 field_1368; - s32 field_136C; - s32 field_1370; - s32 field_1374; - s32 field_1378; - s32 field_137C; - s32 field_1380; - s32 field_1384; - s32 field_1388; - s32 field_138C; - s32 field_1390; - s32 field_1394; - s32 field_1398; - s32 field_139C; - s32 field_13A0; - s32 field_13A4; - s32 field_13A8; - s32 field_13AC; - s32 field_13B0; - s32 field_13B4; - s32 field_13B8; - s32 field_13BC; - s32 field_13C0; - s32 field_13C4; - s32 field_13C8; - s32 field_13CC; - s32 field_13D0; - s32 field_13D4; - s32 field_13D8; - s32 field_13DC; - s32 field_13E0; - s32 field_13E4; - s32 field_13E8; - s32 field_13EC; - s32 field_13F0; - s32 field_13F4; - s32 field_13F8; - s32 field_13FC; - s32 field_1400; - s32 field_1404; - s32 field_1408; - s32 field_140C; - s32 field_1410; - s32 field_1414; - s32 field_1418; - s32 field_141C; - s32 field_1420; - s32 field_1424; - s32 field_1428; - s32 field_142C; - s32 field_1430; - s32 field_1434; - s32 field_1438; - s32 field_143C; - s32 field_1440; - s32 field_1444; - s32 field_1448; - s32 field_144C; - s32 field_1450; - s32 field_1454; - s32 field_1458; - s32 field_145C; - s32 field_1460; - s32 field_1464; - s32 field_1468; - s32 field_146C; - s32 field_1470; - s32 field_1474; - s32 field_1478; - s32 field_147C; - s32 field_1480; - s32 field_1484; - s32 field_1488; - s32 field_148C; - s32 field_1490; - s32 field_1494; - s32 field_1498; - s32 field_149C; - s32 field_14A0; - s32 field_14A4; - s32 field_14A8; - s32 field_14AC; - s32 field_14B0; - s32 field_14B4; - s32 field_14B8; - s32 field_14BC; - s32 field_14C0; - s32 field_14C4; - s32 field_14C8; - s32 field_14CC; - s32 field_14D0; - s32 field_14D4; - s32 field_14D8; - s32 field_14DC; - s32 field_14E0; - s32 field_14E4; - s32 field_14E8; - s32 field_14EC; - s32 field_14F0; - s32 field_14F4; - s32 field_14F8; - s32 field_14FC; - s32 field_1500; - s32 field_1504; - s32 field_1508; - s32 field_150C; - s32 field_1510; - s32 field_1514; - s32 field_1518; - s32 field_151C; - s32 field_1520; - s32 field_1524; - s32 field_1528; - s32 field_152C; - s32 field_1530; - s32 field_1534; - s32 field_1538; - s32 field_153C; - s32 field_1540; - s32 field_1544; - s32 field_1548; - s32 field_154C; - s32 field_1550; - s32 field_1554; - s32 field_1558; - s32 field_155C; - s32 field_1560; - s32 field_1564; - s32 field_1568; - s32 field_156C; - s32 field_1570; - s32 field_1574; - s32 field_1578; - s32 field_157C; - s32 field_1580; - s32 field_1584; - s32 field_1588; - s32 field_158C; - s32 field_1590; - s32 field_1594; - s32 related_to_health_display; - s32 field_159C; - s32 field_15A0; - s32 field_15A4; - s32 field_15A8; - s32 field_15AC; - s32 field_15B0; - s32 field_15B4; - s32 field_15B8; - s32 field_15BC; - s32 field_15C0; - s32 field_15C4; - s32 field_15C8; - s32 field_15CC; - s32 field_15D0; - s32 field_15D4; - s32 field_15D8; - s32 field_15DC; - s32 field_15E0; - s32 field_15E4; - s32 field_15E8; - s32 field_15EC; - s32 field_15F0; - s32 field_15F4; - s32 field_15F8; - s32 field_15FC; - s32 field_1600; - s32 field_1604; - s32 field_1608; - s32 field_160C; - s32 field_1610; - s32 field_1614; - s32 field_1618; - s32 field_161C; - s32 field_1620; - s32 field_1624; - s32 field_1628; - s32 field_162C; - s32 field_1630; - s32 field_1634; - s32 field_1638; - s32 field_163C; - s32 field_1640; - s32 field_1644; - s32 field_1648; - s32 field_164C; - s32 field_1650; - s32 field_1654; - s32 field_1658; - s32 field_165C; - s32 field_1660; - s32 field_1664; - s32 field_1668; - s32 field_166C; - s32 field_1670; - s32 field_1674; - s32 field_1678; - s32 field_167C; - s32 field_1680; - s32 field_1684; - s32 field_1688; - s32 field_168C; - s32 field_1690; - s32 field_1694; - s32 field_1698; - s32 field_169C; - s32 field_16A0; - s32 field_16A4; - s32 field_16A8; - s32 field_16AC; - s32 field_16B0; - s32 field_16B4; - s32 field_16B8; - s32 field_16BC; - s32 field_16C0; - s32 field_16C4; - s32 field_16C8; - s32 field_16CC; - s32 field_16D0; - s32 field_16D4; - s32 field_16D8; - s32 field_16DC; - s32 field_16E0; - s32 field_16E4; - s32 field_16E8; - s32 field_16EC; - s32 field_16F0; - s32 field_16F4; - s32 field_16F8; - s32 field_16FC; - s32 field_1700; - s32 field_1704; - s32 field_1708; - s32 field_170C; - s32 field_1710; - s32 field_1714; - s32 field_1718; - s32 field_171C; - s32 field_1720; - s32 field_1724; - s32 field_1728; - s32 field_172C; - s32 field_1730; - s32 field_1734; - s32 field_1738; - s32 field_173C; - s32 field_1740; - s32 field_1744; - s32 field_1748; - s32 field_174C; - s32 field_1750; - s32 field_1754; - s32 field_1758; - s32 field_175C; - s32 field_1760; - s32 field_1764; - s32 field_1768; - s32 field_176C; - s32 field_1770; - s32 field_1774; - s32 field_1778; - s32 field_177C; - s32 field_1780; - s32 field_1784; - s32 field_1788; - s32 field_178C; - s32 field_1790; - s32 field_1794; - s32 field_1798; - s32 field_179C; - s32 field_17A0; - s32 field_17A4; - s32 field_17A8; - s32 field_17AC; - s32 field_17B0; - s32 field_17B4; - s32 field_17B8; - s32 field_17BC; - s32 field_17C0; - s32 field_17C4; - s32 field_17C8; - s32 field_17CC; - s32 field_17D0; - s32 field_17D4; - s32 field_17D8; - s32 field_17DC; - s32 field_17E0; - s32 field_17E4; - s32 field_17E8; - s32 field_17EC; - s32 field_17F0; - s32 field_17F4; - s32 field_17F8; - s32 field_17FC; - s32 field_1800; - s32 field_1804; - s32 field_1808; - s32 field_180C; - s32 field_1810; - s32 field_1814; - s32 field_1818; - s32 field_181C; - s32 field_1820; - s32 field_1824; - s32 field_1828; - s32 field_182C; - s32 field_1830; - s32 field_1834; - s32 field_1838; - s32 field_183C; - s32 field_1840; - s32 field_1844; - s32 field_1848; - s32 field_184C; - s32 field_1850; - s32 field_1854; - s32 field_1858; - s32 field_185C; - s32 field_1860; - s32 field_1864; - s32 field_1868; - s32 field_186C; - s32 field_1870; - s32 field_1874; - s32 buffer_for_watch_greenbackdrop_vertices; - s32 field_187C; - s32 field_1880; - s32 field_1884; - s32 field_1888; - s32 field_188C; - s32 field_1890; - s32 field_1894; - s32 field_1898; - s32 field_189C; - s32 field_18A0; - s32 field_18A4; - s32 field_18A8; - s32 field_18AC; - s32 field_18B0; - s32 field_18B4; - s32 field_18B8; - s32 field_18BC; - s32 field_18C0; - s32 field_18C4; - s32 field_18C8; - s32 field_18CC; - s32 field_18D0; - s32 field_18D4; - s32 field_18D8; - s32 field_18DC; - s32 field_18E0; - s32 field_18E4; - s32 field_18E8; - s32 field_18EC; - s32 field_18F0; - s32 field_18F4; - s32 field_18F8; - s32 field_18FC; - s32 field_1900; - s32 field_1904; - s32 field_1908; - s32 field_190C; - s32 field_1910; - s32 field_1914; - s32 field_1918; - s32 field_191C; - s32 field_1920; - s32 field_1924; - s32 field_1928; - s32 field_192C; - s32 field_1930; - s32 field_1934; - s32 field_1938; - s32 field_193C; - s32 field_1940; - s32 field_1944; - s32 field_1948; - s32 field_194C; - s32 field_1950; - s32 field_1954; - s32 field_1958; - s32 field_195C; - s32 field_1960; - s32 field_1964; - s32 field_1968; - s32 field_196C; - s32 field_1970; - s32 field_1974; - s32 field_1978; - s32 field_197C; - s32 field_1980; - s32 field_1984; - s32 field_1988; - s32 field_198C; - s32 field_1990; - s32 field_1994; - s32 field_1998; - s32 field_199C; - s32 field_19A0; - s32 field_19A4; - s32 field_19A8; - s32 field_19AC; - s32 field_19B0; - s32 field_19B4; - s32 field_19B8; - s32 field_19BC; - s32 field_19C0; - s32 field_19C4; - s32 field_19C8; - s32 field_19CC; - s32 field_19D0; - s32 field_19D4; - s32 field_19D8; - s32 field_19DC; - s32 field_19E0; - s32 field_19E4; - s32 field_19E8; - s32 field_19EC; - s32 field_19F0; - s32 field_19F4; - s32 field_19F8; - s32 field_19FC; - s32 field_1A00; - s32 field_1A04; - s32 field_1A08; - s32 field_1A0C; - s32 field_1A10; - s32 field_1A14; - s32 field_1A18; - s32 field_1A1C; - s32 field_1A20; - s32 field_1A24; - s32 field_1A28; - s32 field_1A2C; - s32 field_1A30; - s32 field_1A34; - s32 field_1A38; - s32 field_1A3C; - s32 field_1A40; - s32 field_1A44; - s32 field_1A48; - s32 field_1A4C; - s32 field_1A50; - s32 field_1A54; - s32 field_1A58; - s32 field_1A5C; - s32 field_1A60; - s32 field_1A64; - s32 field_1A68; - s32 field_1A6C; - s32 field_1A70; - s32 field_1A74; - s32 field_1A78; - s32 field_1A7C; - s32 field_1A80; - s32 field_1A84; - s32 field_1A88; - s32 field_1A8C; - s32 field_1A90; - s32 field_1A94; - s32 field_1A98; - s32 field_1A9C; - s32 field_1AA0; - s32 field_1AA4; - s32 field_1AA8; - s32 field_1AAC; - s32 field_1AB0; - s32 field_1AB4; - s32 field_1AB8; - s32 field_1ABC; - s32 field_1AC0; - s32 field_1AC4; - s32 field_1AC8; - s32 field_1ACC; - s32 field_1AD0; - s32 field_1AD4; - s32 field_1AD8; - s32 field_1ADC; - s32 field_1AE0; - s32 field_1AE4; - s32 field_1AE8; - s32 field_1AEC; - s32 field_1AF0; - s32 field_1AF4; - s32 field_1AF8; - s32 field_1AFC; - s32 field_1B00; - s32 field_1B04; - s32 field_1B08; - s32 field_1B0C; - s32 field_1B10; - s32 field_1B14; - s32 field_1B18; - s32 field_1B1C; - s32 field_1B20; - s32 field_1B24; - s32 field_1B28; - s32 field_1B2C; - s32 field_1B30; - s32 field_1B34; - s32 field_1B38; - s32 field_1B3C; - s32 field_1B40; - s32 field_1B44; - s32 field_1B48; - s32 field_1B4C; - s32 field_1B50; - s32 field_1B54; - s32 field_1B58; - s32 field_1B5C; - s32 field_1B60; - s32 field_1B64; - s32 field_1B68; - s32 field_1B6C; - s32 field_1B70; - s32 field_1B74; - s32 field_1B78; - s32 field_1B7C; - s32 field_1B80; - s32 field_1B84; - s32 field_1B88; - s32 field_1B8C; - s32 field_1B90; - s32 field_1B94; - s32 field_1B98; - s32 field_1B9C; - s32 field_1BA0; - s32 field_1BA4; - s32 field_1BA8; - s32 field_1BAC; - s32 field_1BB0; - s32 field_1BB4; - s32 field_1BB8; - s32 field_1BBC; - s32 field_1BC0; - s32 field_1BC4; - s32 field_1BC8; - s32 field_1BCC; - s32 field_1BD0; - s32 field_1BD4; - s32 field_1BD8; - s32 field_1BDC; - s32 field_1BE0; - s32 field_1BE4; - s32 field_1BE8; - s32 field_1BEC; - s32 field_1BF0; - s32 field_1BF4; - s32 field_1BF8; - s32 field_1BFC; - s32 field_1C00; - s32 field_1C04; - s32 field_1C08; - s32 field_1C0C; - s32 field_1C10; - s32 field_1C14; - s32 field_1C18; - s32 field_1C1C; - s32 field_1C20; - s32 field_1C24; - s32 field_1C28; - s32 field_1C2C; - s32 field_1C30; - s32 field_1C34; - s32 field_1C38; - s32 field_1C3C; - s32 field_1C40; - s32 field_1C44; - s32 field_1C48; - s32 field_1C4C; - s32 field_1C50; - s32 field_1C54; - s32 field_1C58; - s32 field_1C5C; - s32 field_1C60; - s32 field_1C64; - s32 field_1C68; - s32 field_1C6C; - s32 field_1C70; - s32 field_1C74; - s32 field_1C78; - s32 field_1C7C; - s32 field_1C80; - s32 field_1C84; - s32 field_1C88; - s32 field_1C8C; - s32 field_1C90; - s32 field_1C94; - s32 field_1C98; - s32 field_1C9C; - s32 field_1CA0; - s32 field_1CA4; - s32 field_1CA8; - s32 field_1CAC; - s32 field_1CB0; - s32 field_1CB4; - s32 field_1CB8; - s32 field_1CBC; - s32 field_1CC0; - s32 field_1CC4; - s32 field_1CC8; - s32 field_1CCC; - s32 field_1CD0; - s32 field_1CD4; - s32 field_1CD8; - s32 field_1CDC; - s32 field_1CE0; - s32 field_1CE4; - s32 field_1CE8; - s32 field_1CEC; - s32 field_1CF0; - s32 field_1CF4; - s32 field_1CF8; - s32 field_1CFC; - s32 field_1D00; - s32 field_1D04; - s32 field_1D08; - s32 field_1D0C; - s32 field_1D10; - s32 field_1D14; - s32 field_1D18; - s32 field_1D1C; - s32 field_1D20; - s32 field_1D24; - s32 field_1D28; - s32 field_1D2C; - s32 field_1D30; - s32 field_1D34; - s32 field_1D38; - s32 field_1D3C; - s32 field_1D40; - s32 field_1D44; - s32 field_1D48; - s32 field_1D4C; - s32 field_1D50; - s32 field_1D54; - s32 field_1D58; - s32 field_1D5C; - s32 field_1D60; - s32 field_1D64; - s32 field_1D68; - s32 field_1D6C; - s32 field_1D70; - s32 field_1D74; - s32 field_1D78; - s32 field_1D7C; - s32 field_1D80; - s32 field_1D84; - s32 field_1D88; - s32 field_1D8C; - s32 field_1D90; - s32 field_1D94; - s32 field_1D98; - s32 field_1D9C; - s32 field_1DA0; - s32 field_1DA4; - s32 field_1DA8; - s32 field_1DAC; - s32 field_1DB0; - s32 field_1DB4; - s32 field_1DB8; - s32 field_1DBC; - s32 field_1DC0; - s32 field_1DC4; - s32 field_1DC8; - s32 field_1DCC; - s32 field_1DD0; - s32 field_1DD4; - s32 field_1DD8; - s32 field_1DDC; - s32 field_1DE0; - s32 field_1DE4; - s32 field_1DE8; - s32 field_1DEC; - s32 field_1DF0; - s32 field_1DF4; - s32 field_1DF8; - s32 field_1DFC; - s32 field_1E00; - s32 field_1E04; - s32 field_1E08; - s32 field_1E0C; - s32 field_1E10; - s32 field_1E14; - s32 field_1E18; - s32 field_1E1C; - s32 field_1E20; - s32 field_1E24; - s32 field_1E28; - s32 field_1E2C; - s32 field_1E30; - s32 field_1E34; - s32 field_1E38; - s32 field_1E3C; - s32 field_1E40; - s32 field_1E44; - s32 field_1E48; - s32 field_1E4C; - s32 field_1E50; - s32 field_1E54; - s32 field_1E58; - s32 field_1E5C; - s32 field_1E60; - s32 field_1E64; - s32 field_1E68; - s32 field_1E6C; - s32 field_1E70; - s32 field_1E74; - s32 field_1E78; - s32 field_1E7C; - s32 field_1E80; - s32 field_1E84; - s32 field_1E88; - s32 field_1E8C; - s32 field_1E90; - s32 field_1E94; - s32 field_1E98; - s32 field_1E9C; - s32 field_1EA0; - s32 field_1EA4; - s32 field_1EA8; - s32 field_1EAC; - s32 field_1EB0; - s32 field_1EB4; - s32 field_1EB8; - s32 field_1EBC; - s32 field_1EC0; - s32 field_1EC4; - s32 field_1EC8; - s32 field_1ECC; - s32 field_1ED0; - s32 field_1ED4; - s32 field_1ED8; - s32 field_1EDC; - s32 field_1EE0; - s32 field_1EE4; - s32 field_1EE8; - s32 field_1EEC; - s32 field_1EF0; - s32 field_1EF4; - s32 field_1EF8; - s32 field_1EFC; - s32 field_1F00; - s32 field_1F04; - s32 field_1F08; - s32 field_1F0C; - s32 field_1F10; - s32 field_1F14; - s32 field_1F18; - s32 field_1F1C; - s32 field_1F20; - s32 field_1F24; - s32 field_1F28; - s32 field_1F2C; - s32 field_1F30; - s32 field_1F34; - s32 field_1F38; - s32 field_1F3C; - s32 field_1F40; - s32 field_1F44; - s32 field_1F48; - s32 field_1F4C; - s32 field_1F50; - s32 field_1F54; - s32 field_1F58; - s32 field_1F5C; - s32 field_1F60; - s32 field_1F64; - s32 field_1F68; - s32 field_1F6C; - s32 field_1F70; - s32 field_1F74; - s32 field_1F78; - s32 field_1F7C; - s32 field_1F80; - s32 field_1F84; - s32 field_1F88; - s32 field_1F8C; - s32 field_1F90; - s32 field_1F94; - s32 field_1F98; - s32 field_1F9C; - s32 field_1FA0; - s32 field_1FA4; - s32 field_1FA8; - s32 field_1FAC; - s32 field_1FB0; - s32 field_1FB4; - s32 field_1FB8; - s32 field_1FBC; - s32 field_1FC0; - s32 field_1FC4; - s32 field_1FC8; - s32 field_1FCC; - s32 field_1FD0; - s32 field_1FD4; - s32 field_1FD8; - s32 field_1FDC; - s32 field_1FE0; - s32 field_1FE4; - s32 field_1FE8; - s32 field_1FEC; - s32 field_1FF0; - s32 field_1FF4; - s32 field_1FF8; - s32 field_1FFC; - s32 field_2000; - s32 field_2004; - s32 field_2008; - s32 field_200C; - s32 field_2010; - s32 field_2014; - s32 field_2018; - s32 field_201C; - s32 field_2020; - s32 field_2024; - s32 field_2028; - s32 field_202C; - s32 field_2030; - s32 field_2034; - s32 field_2038; - s32 field_203C; - s32 field_2040; - s32 field_2044; - s32 field_2048; - s32 field_204C; - s32 field_2050; - s32 field_2054; - s32 field_2058; - s32 field_205C; - s32 field_2060; - s32 field_2064; - s32 field_2068; - s32 field_206C; - s32 field_2070; - s32 field_2074; - s32 field_2078; - s32 field_207C; - s32 field_2080; - s32 field_2084; - s32 field_2088; - s32 field_208C; - s32 field_2090; - s32 field_2094; - s32 field_2098; - s32 field_209C; - s32 field_20A0; - s32 field_20A4; - s32 field_20A8; - s32 field_20AC; - s32 field_20B0; - s32 field_20B4; - s32 field_20B8; - s32 field_20BC; - s32 field_20C0; - s32 field_20C4; - s32 field_20C8; - s32 field_20CC; - s32 field_20D0; - s32 field_20D4; - s32 field_20D8; - s32 field_20DC; - s32 field_20E0; - s32 field_20E4; - s32 field_20E8; - s32 field_20EC; - s32 field_20F0; - s32 field_20F4; - s32 field_20F8; - s32 field_20FC; - s32 field_2100; - s32 field_2104; - s32 field_2108; - s32 field_210C; - s32 field_2110; - s32 field_2114; - s32 field_2118; - s32 field_211C; - s32 field_2120; - s32 field_2124; - s32 field_2128; - s32 field_212C; - s32 field_2130; - s32 field_2134; - s32 field_2138; - s32 field_213C; - s32 field_2140; - s32 field_2144; - s32 field_2148; - s32 field_214C; - s32 field_2150; - s32 field_2154; - s32 field_2158; - s32 field_215C; - s32 field_2160; - s32 field_2164; - s32 field_2168; - s32 field_216C; - s32 field_2170; - s32 field_2174; - s32 field_2178; - s32 field_217C; - s32 field_2180; - s32 field_2184; - s32 field_2188; - s32 field_218C; - s32 field_2190; - s32 field_2194; - s32 field_2198; - s32 field_219C; - s32 field_21A0; - s32 field_21A4; - s32 field_21A8; - s32 field_21AC; - s32 field_21B0; - s32 field_21B4; - s32 field_21B8; - s32 field_21BC; - s32 field_21C0; - s32 field_21C4; - s32 field_21C8; - s32 field_21CC; - s32 field_21D0; - s32 field_21D4; - s32 field_21D8; - s32 field_21DC; - s32 field_21E0; - s32 field_21E4; - s32 field_21E8; - s32 field_21EC; - s32 field_21F0; - s32 field_21F4; - s32 field_21F8; - s32 field_21FC; - s32 field_2200; - s32 field_2204; - s32 field_2208; - s32 field_220C; - s32 field_2210; - s32 field_2214; - s32 field_2218; - s32 field_221C; - s32 field_2220; - s32 field_2224; - s32 field_2228; - s32 field_222C; - s32 field_2230; - s32 field_2234; - s32 field_2238; - s32 field_223C; - s32 field_2240; - s32 field_2244; - s32 field_2248; - s32 field_224C; - s32 field_2250; - s32 field_2254; - s32 field_2258; - s32 field_225C; - s32 field_2260; - s32 field_2264; - s32 field_2268; - s32 field_226C; - s32 field_2270; - s32 field_2274; - s32 field_2278; - s32 field_227C; - s32 field_2280; - s32 field_2284; - s32 field_2288; - s32 field_228C; - s32 field_2290; - s32 field_2294; - s32 field_2298; - s32 field_229C; - s32 field_22A0; - s32 field_22A4; - s32 field_22A8; - s32 field_22AC; - s32 field_22B0; - s32 field_22B4; - s32 field_22B8; - s32 field_22BC; - s32 field_22C0; - s32 field_22C4; - s32 field_22C8; - s32 field_22CC; - s32 field_22D0; - s32 field_22D4; - s32 field_22D8; - s32 field_22DC; - s32 field_22E0; - s32 field_22E4; - s32 field_22E8; - s32 field_22EC; - s32 field_22F0; - s32 field_22F4; - s32 field_22F8; - s32 field_22FC; - s32 field_2300; - s32 field_2304; - s32 field_2308; - s32 field_230C; - s32 field_2310; - s32 field_2314; - s32 field_2318; - s32 field_231C; - s32 field_2320; - s32 field_2324; - s32 field_2328; - s32 field_232C; - s32 field_2330; - s32 field_2334; - s32 field_2338; - s32 field_233C; - s32 field_2340; - s32 field_2344; - s32 field_2348; - s32 field_234C; - s32 field_2350; - s32 field_2354; - s32 field_2358; - s32 field_235C; - s32 field_2360; - s32 field_2364; - s32 field_2368; - s32 field_236C; - s32 field_2370; - s32 field_2374; - s32 field_2378; - s32 field_237C; - s32 field_2380; - s32 field_2384; - s32 field_2388; - s32 field_238C; - s32 field_2390; - s32 field_2394; - s32 field_2398; - s32 field_239C; - s32 field_23A0; - s32 field_23A4; - s32 field_23A8; - s32 field_23AC; - s32 field_23B0; - s32 field_23B4; - s32 field_23B8; - s32 field_23BC; - s32 field_23C0; - s32 field_23C4; - s32 field_23C8; - s32 field_23CC; - s32 field_23D0; - s32 field_23D4; - s32 field_23D8; - s32 field_23DC; - s32 field_23E0; - s32 field_23E4; - s32 field_23E8; - s32 field_23EC; - s32 field_23F0; - s32 field_23F4; - s32 field_23F8; - s32 field_23FC; - s32 field_2400; - s32 field_2404; - s32 field_2408; - s32 field_240C; - s32 field_2410; - s32 field_2414; - s32 field_2418; - s32 field_241C; - s32 field_2420; - s32 field_2424; - s32 field_2428; - s32 field_242C; - s32 field_2430; - s32 field_2434; - s32 field_2438; - s32 field_243C; - s32 field_2440; - s32 field_2444; - s32 field_2448; - s32 field_244C; - s32 field_2450; - s32 field_2454; - s32 field_2458; - s32 field_245C; - s32 field_2460; - s32 field_2464; - s32 field_2468; - s32 field_246C; - s32 field_2470; - s32 field_2474; - s32 field_2478; - s32 field_247C; - s32 field_2480; - s32 field_2484; - s32 field_2488; - s32 field_248C; - s32 field_2490; - s32 field_2494; - s32 field_2498; - s32 field_249C; - s32 field_24A0; - s32 field_24A4; - s32 field_24A8; - s32 field_24AC; - s32 field_24B0; - s32 field_24B4; - s32 field_24B8; - s32 field_24BC; - s32 field_24C0; - s32 field_24C4; - s32 field_24C8; - s32 field_24CC; - s32 field_24D0; - s32 field_24D4; - s32 field_24D8; - s32 field_24DC; - s32 field_24E0; - s32 field_24E4; - s32 field_24E8; - s32 field_24EC; - s32 field_24F0; - s32 field_24F4; - s32 field_24F8; - s32 field_24FC; - s32 field_2500; - s32 field_2504; - s32 field_2508; - s32 field_250C; - s32 field_2510; - s32 field_2514; - s32 field_2518; - s32 field_251C; - s32 field_2520; - s32 field_2524; - s32 field_2528; - s32 field_252C; - s32 field_2530; - s32 field_2534; - s32 field_2538; - s32 field_253C; - s32 field_2540; - s32 field_2544; - s32 field_2548; - s32 field_254C; - s32 field_2550; - s32 field_2554; - s32 field_2558; - s32 field_255C; - s32 field_2560; - s32 field_2564; - s32 field_2568; - s32 field_256C; - s32 field_2570; - s32 field_2574; - s32 field_2578; - s32 field_257C; - s32 field_2580; - s32 field_2584; - s32 field_2588; - s32 field_258C; - s32 field_2590; - s32 field_2594; - s32 field_2598; - s32 field_259C; - s32 field_25A0; - s32 field_25A4; - s32 field_25A8; - s32 field_25AC; - s32 field_25B0; - s32 field_25B4; - s32 field_25B8; - s32 field_25BC; - s32 field_25C0; - s32 field_25C4; - s32 field_25C8; - s32 field_25CC; - s32 field_25D0; - s32 field_25D4; - s32 field_25D8; - s32 field_25DC; - s32 field_25E0; - s32 field_25E4; - s32 field_25E8; - s32 field_25EC; - s32 field_25F0; - s32 field_25F4; - s32 field_25F8; - s32 field_25FC; - s32 field_2600; - s32 field_2604; - s32 field_2608; - s32 field_260C; - s32 field_2610; - s32 field_2614; - s32 field_2618; - s32 field_261C; - s32 field_2620; - s32 field_2624; - s32 field_2628; - s32 field_262C; - s32 field_2630; - s32 field_2634; - s32 field_2638; - s32 field_263C; - s32 field_2640; - s32 field_2644; - s32 field_2648; - s32 field_264C; - s32 field_2650; - s32 field_2654; - s32 field_2658; - s32 field_265C; - s32 field_2660; - s32 field_2664; - s32 field_2668; - s32 field_266C; - s32 field_2670; - s32 field_2674; - s32 field_2678; - s32 field_267C; - s32 field_2680; - s32 field_2684; - s32 field_2688; - s32 field_268C; - s32 field_2690; - s32 field_2694; - s32 field_2698; - s32 field_269C; - s32 field_26A0; - s32 field_26A4; - s32 field_26A8; - s32 field_26AC; - s32 field_26B0; - s32 field_26B4; - s32 field_26B8; - s32 field_26BC; - s32 field_26C0; - s32 field_26C4; - s32 field_26C8; - s32 field_26CC; - s32 field_26D0; - s32 field_26D4; - s32 field_26D8; - s32 field_26DC; - s32 field_26E0; - s32 field_26E4; - s32 field_26E8; - s32 field_26EC; - s32 field_26F0; - s32 field_26F4; - s32 field_26F8; - s32 field_26FC; - s32 field_2700; - s32 field_2704; - s32 field_2708; - s32 field_270C; - s32 field_2710; - s32 field_2714; - s32 field_2718; - s32 field_271C; - s32 field_2720; - s32 field_2724; - s32 field_2728; - s32 field_272C; - s32 field_2730; - s32 field_2734; - s32 field_2738; - s32 field_273C; - s32 field_2740; - s32 field_2744; - s32 field_2748; - s32 field_274C; - s32 field_2750; - s32 field_2754; - s32 field_2758; - s32 field_275C; - s32 field_2760; - s32 field_2764; - s32 field_2768; - s32 field_276C; - s32 field_2770; - s32 field_2774; - s32 field_2778; - s32 field_277C; - s32 field_2780; - s32 field_2784; - s32 field_2788; - s32 field_278C; - s32 field_2790; - s32 field_2794; - s32 field_2798; - s32 field_279C; - s32 field_27A0; - s32 field_27A4; - s32 field_27A8; - s32 field_27AC; - s32 field_27B0; - s32 field_27B4; - s32 field_27B8; - s32 field_27BC; - s32 field_27C0; - s32 field_27C4; - s32 field_27C8; - s32 field_27CC; - s32 field_27D0; - s32 field_27D4; - s32 field_27D8; - s32 field_27DC; - s32 field_27E0; - s32 field_27E4; - s32 field_27E8; - s32 field_27EC; - s32 field_27F0; - s32 field_27F4; - s32 field_27F8; - s32 field_27FC; - s32 field_2800; - s32 field_2804; - s32 field_2808; - s32 field_280C; - s32 field_2810; - s32 field_2814; - s32 field_2818; - s32 field_281C; - s32 field_2820; - s32 field_2824; - s32 field_2828; - s32 field_282C; - s32 field_2830; - s32 field_2834; - s32 field_2838; - s32 field_283C; - s32 field_2840; - s32 field_2844; - s32 field_2848; - s32 field_284C; - s32 field_2850; - s32 field_2854; - s32 buffer_for_watch_greenbackdrop_DL; - s32 field_285C; - s32 field_2860; - s32 field_2864; - s32 field_2868; - s32 field_286C; - s32 field_2870; - s32 field_2874; - s32 field_2878; - s32 field_287C; - s32 field_2880; - s32 field_2884; - s32 field_2888; - s32 field_288C; - s32 field_2890; - s32 field_2894; - s32 field_2898; - s32 field_289C; - s32 field_28A0; - s32 field_28A4; - s32 field_28A8; - s32 field_28AC; - s32 field_28B0; - s32 field_28B4; - s32 field_28B8; - s32 field_28BC; - s32 field_28C0; - s32 field_28C4; - s32 field_28C8; - s32 field_28CC; - s32 field_28D0; - s32 field_28D4; - s32 field_28D8; - s32 field_28DC; - s32 field_28E0; - s32 field_28E4; - s32 field_28E8; - s32 field_28EC; - s32 field_28F0; - s32 field_28F4; - s32 field_28F8; - s32 field_28FC; - s32 field_2900; - s32 field_2904; - s32 field_2908; - s32 field_290C; - s32 field_2910; - s32 field_2914; - s32 field_2918; - s32 field_291C; - s32 field_2920; - s32 field_2924; - s32 field_2928; - s32 field_292C; - s32 field_2930; - s32 field_2934; - s32 field_2938; - s32 field_293C; - s32 field_2940; - s32 field_2944; - s32 field_2948; - s32 field_294C; - s32 field_2950; - s32 field_2954; - s32 field_2958; - s32 field_295C; - s32 field_2960; - s32 field_2964; - s32 field_2968; - s32 field_296C; - s32 field_2970; - s32 field_2974; - s32 field_2978; - s32 field_297C; - s32 field_2980; - s32 field_2984; - s32 field_2988; - s32 field_298C; - s32 field_2990; - s32 field_2994; - s32 field_2998; - s32 field_299C; - s32 field_29A0; - s32 field_29A4; - s32 field_29A8; - s32 field_29AC; - s32 field_29B0; - s32 field_29B4; - s32 field_29B8; - s32 field_29BC; - s32 field_29C0; - s32 mpmenuon; - s32 mpmenumode; - s32 mpquitconfirm; - s32 mpjoywascentre; - s32 damagetype; - s32 deathcount; - s32 num_suicides; - s32 field_29E0; - s32 last_kill_time; - s32 field_29E8; - s32 field_29EC; - s32 field_29F0; - s32 field_29F4; - s32 field_29F8; - s32 field_29FC; - s32 healthdisplaytime; - s32 field_2A04; - s32 field_2A08; - s32 field_2A0C; - s32 ptr_text_first_mp_award; - s32 ptr_text_second_mp_award; - s32 field_2A18; - s32 field_2A1C; - s32 field_2A20; - s32 field_2A24; - s32 field_2A28; - s32 field_2A2C; - s32 field_2A30; - s32 field_2A34; - s32 cur_item_weapon_getname; - s32 actual_health; - s32 actual_armor; - s32 field_2A44; - s32 field_2A48; - s32 field_2A4C; - s32 lock_right_hand_model; - s32 lock_left_hand_model; - s32 cur_player_control_type_0; - s32 cur_player_control_type_1; - f32 cur_player_control_type_2; - s32 neg_vspacing_for_control_type_entry; - 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; - u32 anim; - f32 x; - f32 y; - f32 z; -}; - -struct struct_4 { - int anonymous_0; - float anonymous_1; - float anonymous_2; - float anonymous_3; -}; - -//D:80036424 -extern s32 camera_80036424; -//D:80036428 -extern s32 resolution; -//D:8003642C -extern s32 camera_8003642C; -//D:80036430 -extern s32 camera_80036430; -//D:80036434 -extern s32 camera_80036434; -//D:80036438 -extern s32 camera_80036438; -//D:8003643C -extern s32 D_8003643C; -//D:80036440 -extern s32 D_80036440; -//D:80036444 -extern s32 D_80036444; -//D:80036448 -extern s32 in_tank_flag; -//D:8003644C -extern s32 D_8003644C; -//D:80036450 -extern s32 ptr_playerstank; -//D:80036454 -extern s32 D_80036454; -//D:80036458 -extern s32 SFX_80036458; -//D:8003645C -extern s32 SFX_8003645C; -//D:80036460 -extern s32 D_80036460; -//D:80036464 -extern s32 D_80036464; -//D:80036468 -extern s32 D_80036468; -//D:8003646C -extern s32 D_8003646C; -//D:80036470 -extern s32 D_80036470; -//D:80036474 -extern s32 D_80036474; -//D:80036478 -extern s32 D_80036478; -//D:8003647C -extern s32 D_8003647C; -//D:80036480 -extern s32 D_80036480; -//D:80036484 -extern s32 D_80036484; -//D:80036488 -extern s32 D_80036488; -//D:8003648C -extern s32 D_8003648C; -//D:80036490 -extern s32 D_80036490; -//D:80036494 -extern s32 cameramode; -//D:80036498 -extern s32 enable_move_after_cinema; -//D:8003649C -extern s32 D_8003649C; -//D:800364A0 -extern s32 stop_time_flag; -//D:800364A4 -extern s32 D_800364A4; -//D:800364A8 -extern s32 D_800364A8; -//D:800364AC -extern s32 D_800364AC; -//D:800364B0 -extern s32 D_800364B0; -//D:800364B4 -extern s32 disable_player_pickups_flag; -//D:800364B8 -extern s32 D_800364B8; -//D:800364BC -extern s32 D_800364BC; -//D:800364C0 -extern s32 ptr_random06cam_entry; -//D:800364C4 -extern s32 invisible_to_guards_flag; -//D:800364C8 -extern s32 obj_collision_flag; -//D:800364CC -extern f32 D_800364CC; -//D:800364D0 -extern f32 D_800364D0; -//D:800364D4 -extern f32 D_800364D4; -//D:800364D8 -extern s32 D_800364D8[]; - -//D:8003650C -extern s32 D_8003650C; -//D:80036510 -extern s32 D_80036510; -//D:80036514 -extern s32 D_80036514; -/* -D:80036518 stage_intro_anim_table:struct_4 <0x5744, 95.0, -1.0, 0.02> -D:80036528 struct_4 <0x6254, 7.0, 40.0, 0.5> -D:80036538 struct_4 <0x78C8, 0.0, -1.0, 0.5> -D:80036548 struct_4 <0x7AA8, 0.0, -1.0, 0.5> -D:80036558 struct_4 <0x7C4C, 0.0, -1.0, 0.5> -D:80036568 struct_4 <0x7D04, 0.0, -1.0, 0.5> -D:80036578 struct_4 <0x7F0C, 0.0, -1.0, 0.5> -D:80036588 struct_4 <0x7FB4, 0.0, -1.0, 0.5> -D:80036598 struct_4 <0xD89C, 0.0, -1.0, 0.5> -D:800365A8 flt_watch_transition_time: .float 0.90909088 -D:800365AC dummy_08_pp7_obj:.word 0x1000008 -D:800365B0 .word 0xBF4000 -D:800365B4 .word 0, 0, 0, 0 -D:800365C4 .byte 0x3F -D:800365C5 .byte 0x80, 0, 0 -D:800365C8 .word 0, 0, 0, 0 -D:800365D8 .byte 0x3F -D:800365D9 .byte 0x80, 0, 0 -D:800365DC .word 0, 0, 0, 0 -D:800365EC .byte 0x3F -D:800365ED .byte 0x80, 0, 0 -D:800365F0 .align 5 -D:80036600 .byte 0x3F -D:80036601 .byte 0x80, 0, 0 -D:80036604 .align 5 -D:80036620 .byte 0x44 -D:80036621 .byte 0x7A, 0, 0 -D:80036624 .word 0xFFFFFF00, 0xFFFFFF00, 0x4FFFFFF -*/ -//D:80036630 -extern u32 D_80036630; -//D:80036634 -extern u32 D_80036634[]; -/* -D:80036638 .byte 0 -D:80036639 .byte 0, 0, 0xA -D:8003663C .word 0x3C, 0x3F19999A, 0 -D:80036648 .byte 0 -D:80036649 .byte 0, 0, 5 -D:8003664C .word 0x28, 0x3F800000, 0xFF, 0xFF, 0xFF, 0 -D:80036664 .byte 0 -D:80036665 .byte 0, 0, 0xA -D:80036668 .word 0x3C, 0x3F19999A, 0 -D:80036674 .byte 0 -D:80036675 .byte 0, 0, 5 -D:80036678 .word 0x28, 0x3F800000, 0xFF, 0xFF, 0xFF, 0 -D:80036690 .byte 0 -D:80036691 .byte 0, 0, 0xA -D:80036694 .word 0x32, 0x3F19999A, 0 -D:800366A0 .word 5, 0x1E, 0x3F4CCCCD, 0xFF, 0xFF, 0xFF, 0 -D:800366BC .byte 0 -D:800366BD .byte 0, 0, 0xA -D:800366C0 .word 0x28, 0x3F19999A, 0 -D:800366CC .byte 0 -D:800366CD .byte 0, 0, 5 -D:800366D0 .word 0x19, 0x3F19999A, 0xFF, 0xFF, 0xFF, 0 -D:800366E8 .byte 0 -D:800366E9 .byte 0, 0, 0xA -D:800366EC .word 0x23, 0x3F19999A, 0 -D:800366F8 .byte 0 -D:800366F9 .byte 0, 0, 5 -D:800366FC .word 0x16, 0x3F0CCCCD, 0xFF, 0xFF, 0xFF, 0 -D:80036714 .byte 0 -D:80036715 .byte 0, 0, 0xA -D:80036718 .word 0x1E, 0x3F19999A, 0 -D:80036724 .word 5, 0x13, 0x3F000000, 0xFF, 0xFF, 0xFF, 0 -D:80036740 .byte 0 -D:80036741 .byte 0, 0, 0xA -D:80036744 .word 0x1E, 0x3F19999A, 0 -D:80036750 .word 5, 0x11, 0x3EE66666, 0xFF, 0xFF, 0xFF, 0 -D:8003676C .byte 0 -D:8003676D .byte 0, 0, 0xA -D:80036770 .word 0x1E, 0x3F19999A, 0 -D:8003677C .word 5, 0xF, 0x3ECCCCCD, 0xFF, 0xFF, 0xFF -D:80036794 D_80036794:.word 0 -D:80036798 .byte 0 -D:80036799 .byte 0, 0, 0x28 -D:8003679C .word 0x64, 0 -D:800367A4 .byte 0 -D:800367A5 .byte 0, 0, 0x1E -D:800367A8 .word 0x50, 0 -D:800367B0 .byte 0 -D:800367B1 .byte 0, 0, 0x14 -D:800367B4 .word 0x3C, 0 -D:800367BC .byte 0 -D:800367BD .byte 0, 0, 0x14 -D:800367C0 .word 0x3C, 0 -D:800367C8 .byte 0 -D:800367C9 .byte 0, 0, 0x14 -D:800367CC .word 0x3C, 0 -D:800367D4 .byte 0 -D:800367D5 .byte 0, 0, 0x14 -D:800367D8 .word 0x32, 0 -D:800367E0 .word 0x14, 0x32, 0 -D:800367EC .byte 0 -D:800367ED .byte 0, 0, 0x14 -D:800367F0 .word 0x32 -*/ -//D:800367F4 -extern s32 D_800367F4; -//D:800367F8 -extern s32 D_800367F8; -//D:800367FC -extern s32 D_800367FC; -//D:80036800 -extern s32 D_80036800; -//D:80036804 -extern s32 D_80036804; -//D:80036808 -extern s32 D_80036808; -//D:8003680C -extern s32 D_8003680C; -//D:80036810 -extern s32 D_80036810; -//D:80036814 -extern s32 D_80036814; -//D:80036818 -extern s32 D_80036818; -//D:8003681C -extern s32 D_8003681C; -//D:80036820 -extern s32 D_80036820; -//D:80036824 -extern s32 D_80036824; -//D:80036828 -extern s32 D_80036828; -//D:8003682C -extern s32 D_8003682C; -//D:80036830 -extern s32 D_80036830; -//D:80036834 -extern s32 D_80036834; -//D:80036838 -extern s32 D_80036838; -//D:8003683C -extern s32 D_8003683C[]; -//D:80036878 -extern s32 D_80036878; -//D:8003687C -extern s32 D_8003687C; -//D:80036880 -extern s32 D_80036880; -//D:80036884 -extern s32 D_80036884; -//D:80036888 -extern s32 D_80036888; -//D:8003688C -extern s32 D_8003688C; -//D:80036890 -extern s32 D_80036890; -//D:80036894 -extern s32 D_80036894; -//D:80036898 -extern s32 status_bar_text_buffer_index; -//D:8003689C -extern s32 display_statusbar; -//D:800368A0 -extern s32 copy_1stfonttable; -//D:800368A4 -extern s32 copy_2ndfonttable; -//D:800368A8 -extern s32 upper_text_buffer_index; -//D:800368AC -extern s32 display_upper_text_window; -//D:800368B0 -extern s32 upper_text_window_timer; -extern s32 D_800368B4; -//D:800368B8 -extern u16 D_800368B8[]; -/* -D:800368D8 firing_animation_groups:firing_anim_struct -D:800368D8 # DATA XREF: sub_CODE_7F08B0F0+720o -D:800368EC firing_anim_struct -D:80036900 firing_anim_struct -D:80036914 firing_anim_struct -D:80036928 firing_anim_struct -D:8003693C firing_anim_struct -D:80036950 firing_anim_struct -D:80036964 firing_anim_struct -D:80036978 firing_anim_struct -D:8003698C firing_anim_struct -D:800369A0 firing_anim_struct -D:800369B4 firing_anim_struct -D:800369C8 firing_anim_struct <0, 0x8194, 0.25, 0.0, -1.0> -D:800369DC firing_anim_struct <0, 0x8204, 0.5, 0.0, -1.0> -D:800369F0 firing_anim_struct <0, 0x777C, 0.5, 0.0, -1.0> -D:80036A04 firing_anim_struct -D:80036A18 firing_anim_struct -D:80036A2C firing_anim_struct <0, 0x6C18, 0.050000001, 28.0, 29.0> -D:80036A40 firing_anim_struct -D:80036A54 firing_anim_struct -D:80036A68 firing_anim_struct -D:80036A7C firing_anim_struct -D:80036A90 firing_anim_struct -D:80036AA4 firing_anim_struct -*/ -//D:80036AB8 -extern s32 D_80036AB8; -//D:80036ABC -extern s32 D_80036ABC; -//D:80036AC0 -extern f32 D_80036AC0; -//D:80036AC4 -extern f32 D_80036AC4; - -#endif diff --git a/src/game/bond2.c b/src/game/bond2.c deleted file mode 100644 index 3d6ddd6..0000000 --- a/src/game/bond2.c +++ /dev/null @@ -1,3996 +0,0 @@ -#include "ultra64.h" -#include "game/bond.h" -#include "game/chr.h" -#include "game/unk_093880.h" -#include "game/textrelated.h" - -#ifdef NONMATCHING -void reinit_BONDdata_inventory(void) { - -} -#else -GLOBAL_ASM( -.text -glabel reinit_BONDdata_inventory -/* 0C0B20 7F08BFF0 3C058008 */ lui $a1, %hi(pPlayer) -/* 0C0B24 7F08BFF4 24A5A0B0 */ addiu $a1, %lo(pPlayer) # addiu $a1, $a1, -0x5f50 -/* 0C0B28 7F08BFF8 8CA30000 */ lw $v1, ($a1) -/* 0C0B2C 7F08BFFC 00001025 */ move $v0, $zero -/* 0C0B30 7F08C000 00002025 */ move $a0, $zero -/* 0C0B34 7F08C004 8C6E11E8 */ lw $t6, 0x11e8($v1) -/* 0C0B38 7F08C008 2406FFFF */ li $a2, -1 -/* 0C0B3C 7F08C00C 59C0000C */ blezl $t6, .L7F08C040 -/* 0C0B40 7F08C010 AC6011E0 */ sw $zero, 0x11e0($v1) -/* 0C0B44 7F08C014 8C6F11E4 */ lw $t7, 0x11e4($v1) -.L7F08C018: -/* 0C0B48 7F08C018 24420001 */ addiu $v0, $v0, 1 -/* 0C0B4C 7F08C01C 01E4C021 */ addu $t8, $t7, $a0 -/* 0C0B50 7F08C020 AF060000 */ sw $a2, ($t8) -/* 0C0B54 7F08C024 8CA30000 */ lw $v1, ($a1) -/* 0C0B58 7F08C028 24840014 */ addiu $a0, $a0, 0x14 -/* 0C0B5C 7F08C02C 8C7911E8 */ lw $t9, 0x11e8($v1) -/* 0C0B60 7F08C030 0059082A */ slt $at, $v0, $t9 -/* 0C0B64 7F08C034 5420FFF8 */ bnezl $at, .L7F08C018 -/* 0C0B68 7F08C038 8C6F11E4 */ lw $t7, 0x11e4($v1) -/* 0C0B6C 7F08C03C AC6011E0 */ sw $zero, 0x11e0($v1) -.L7F08C040: -/* 0C0B70 7F08C040 8CA80000 */ lw $t0, ($a1) -/* 0C0B74 7F08C044 AD0011F4 */ sw $zero, 0x11f4($t0) -/* 0C0B78 7F08C048 8CA90000 */ lw $t1, ($a1) -/* 0C0B7C 7F08C04C 03E00008 */ jr $ra -/* 0C0B80 7F08C050 AD2011F0 */ sw $zero, 0x11f0($t1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08C054(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08C054 -/* 0C0B84 7F08C054 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0C0B88 7F08C058 AFB00004 */ sw $s0, 4($sp) -/* 0C0B8C 7F08C05C 8C850000 */ lw $a1, ($a0) -/* 0C0B90 7F08C060 240B0001 */ li $t3, 1 -/* 0C0B94 7F08C064 2402FFFF */ li $v0, -1 -/* 0C0B98 7F08C068 15650005 */ bne $t3, $a1, .L7F08C080 -/* 0C0B9C 7F08C06C 2403FFFF */ li $v1, -1 -/* 0C0BA0 7F08C070 8C820004 */ lw $v0, 4($a0) -/* 0C0BA4 7F08C074 24100002 */ li $s0, 2 -/* 0C0BA8 7F08C078 1000000B */ b .L7F08C0A8 -/* 0C0BAC 7F08C07C 240D0003 */ li $t5, 3 -.L7F08C080: -/* 0C0BB0 7F08C080 240D0003 */ li $t5, 3 -/* 0C0BB4 7F08C084 15A50005 */ bne $t5, $a1, .L7F08C09C -/* 0C0BB8 7F08C088 24100002 */ li $s0, 2 -/* 0C0BBC 7F08C08C 8C820004 */ lw $v0, 4($a0) -/* 0C0BC0 7F08C090 8C830008 */ lw $v1, 8($a0) -/* 0C0BC4 7F08C094 10000004 */ b .L7F08C0A8 -/* 0C0BC8 7F08C098 24100002 */ li $s0, 2 -.L7F08C09C: -/* 0C0BCC 7F08C09C 16050002 */ bne $s0, $a1, .L7F08C0A8 -/* 0C0BD0 7F08C0A0 00000000 */ nop -/* 0C0BD4 7F08C0A4 240207D0 */ li $v0, 2000 -.L7F08C0A8: -/* 0C0BD8 7F08C0A8 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0C0BDC 7F08C0AC 258CA0B0 */ addiu $t4, %lo(pPlayer) # addiu $t4, $t4, -0x5f50 -/* 0C0BE0 7F08C0B0 8D870000 */ lw $a3, ($t4) -/* 0C0BE4 7F08C0B4 8C86000C */ lw $a2, 0xc($a0) -/* 0C0BE8 7F08C0B8 8CEE11E0 */ lw $t6, 0x11e0($a3) -/* 0C0BEC 7F08C0BC 00C02825 */ move $a1, $a2 -/* 0C0BF0 7F08C0C0 50CE0032 */ beql $a2, $t6, .L7F08C18C -/* 0C0BF4 7F08C0C4 8FB00004 */ lw $s0, 4($sp) -.L7F08C0C8: -/* 0C0BF8 7F08C0C8 8CCA0000 */ lw $t2, ($a2) -/* 0C0BFC 7F08C0CC 2408FFFF */ li $t0, -1 -/* 0C0C00 7F08C0D0 2409FFFF */ li $t1, -1 -/* 0C0C04 7F08C0D4 156A0003 */ bne $t3, $t2, .L7F08C0E4 -/* 0C0C08 7F08C0D8 00000000 */ nop -/* 0C0C0C 7F08C0DC 10000009 */ b .L7F08C104 -/* 0C0C10 7F08C0E0 8CC80004 */ lw $t0, 4($a2) -.L7F08C0E4: -/* 0C0C14 7F08C0E4 15AA0004 */ bne $t5, $t2, .L7F08C0F8 -/* 0C0C18 7F08C0E8 00000000 */ nop -/* 0C0C1C 7F08C0EC 8CC80004 */ lw $t0, 4($a2) -/* 0C0C20 7F08C0F0 10000004 */ b .L7F08C104 -/* 0C0C24 7F08C0F4 8CC90008 */ lw $t1, 8($a2) -.L7F08C0F8: -/* 0C0C28 7F08C0F8 560A0003 */ bnel $s0, $t2, .L7F08C108 -/* 0C0C2C 7F08C0FC 0102082A */ slt $at, $t0, $v0 -/* 0C0C30 7F08C100 240803E8 */ li $t0, 1000 -.L7F08C104: -/* 0C0C34 7F08C104 0102082A */ slt $at, $t0, $v0 -.L7F08C108: -/* 0C0C38 7F08C108 54200006 */ bnezl $at, .L7F08C124 -/* 0C0C3C 7F08C10C 8CA6000C */ lw $a2, 0xc($a1) -/* 0C0C40 7F08C110 1448001D */ bne $v0, $t0, .L7F08C188 -/* 0C0C44 7F08C114 0123082A */ slt $at, $t1, $v1 -/* 0C0C48 7F08C118 5020001C */ beql $at, $zero, .L7F08C18C -/* 0C0C4C 7F08C11C 8FB00004 */ lw $s0, 4($sp) -/* 0C0C50 7F08C120 8CA6000C */ lw $a2, 0xc($a1) -.L7F08C124: -/* 0C0C54 7F08C124 54860006 */ bnel $a0, $a2, .L7F08C140 -/* 0C0C58 7F08C128 8C8F0010 */ lw $t7, 0x10($a0) -/* 0C0C5C 7F08C12C ACE511E0 */ sw $a1, 0x11e0($a3) -/* 0C0C60 7F08C130 8D870000 */ lw $a3, ($t4) -/* 0C0C64 7F08C134 10000011 */ b .L7F08C17C -/* 0C0C68 7F08C138 8CE811E0 */ lw $t0, 0x11e0($a3) -/* 0C0C6C 7F08C13C 8C8F0010 */ lw $t7, 0x10($a0) -.L7F08C140: -/* 0C0C70 7F08C140 AC86000C */ sw $a2, 0xc($a0) -/* 0C0C74 7F08C144 ACAF0010 */ sw $t7, 0x10($a1) -/* 0C0C78 7F08C148 AC850010 */ sw $a1, 0x10($a0) -/* 0C0C7C 7F08C14C ACA4000C */ sw $a0, 0xc($a1) -/* 0C0C80 7F08C150 8C98000C */ lw $t8, 0xc($a0) -/* 0C0C84 7F08C154 AF040010 */ sw $a0, 0x10($t8) -/* 0C0C88 7F08C158 8CB90010 */ lw $t9, 0x10($a1) -/* 0C0C8C 7F08C15C AF25000C */ sw $a1, 0xc($t9) -/* 0C0C90 7F08C160 8D870000 */ lw $a3, ($t4) -/* 0C0C94 7F08C164 8CE811E0 */ lw $t0, 0x11e0($a3) -/* 0C0C98 7F08C168 54880005 */ bnel $a0, $t0, .L7F08C180 -/* 0C0C9C 7F08C16C 8C86000C */ lw $a2, 0xc($a0) -/* 0C0CA0 7F08C170 ACE511E0 */ sw $a1, 0x11e0($a3) -/* 0C0CA4 7F08C174 8D870000 */ lw $a3, ($t4) -/* 0C0CA8 7F08C178 8CE811E0 */ lw $t0, 0x11e0($a3) -.L7F08C17C: -/* 0C0CAC 7F08C17C 8C86000C */ lw $a2, 0xc($a0) -.L7F08C180: -/* 0C0CB0 7F08C180 14C8FFD1 */ bne $a2, $t0, .L7F08C0C8 -/* 0C0CB4 7F08C184 00C02825 */ move $a1, $a2 -.L7F08C188: -/* 0C0CB8 7F08C188 8FB00004 */ lw $s0, 4($sp) -.L7F08C18C: -/* 0C0CBC 7F08C18C 03E00008 */ jr $ra -/* 0C0CC0 7F08C190 27BD0008 */ addiu $sp, $sp, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void add_additional_weapon_slot_to_player_inventory_guess(void) { - -} -#else -GLOBAL_ASM( -.text -glabel add_additional_weapon_slot_to_player_inventory_guess -/* 0C0CC4 7F08C194 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C0CC8 7F08C198 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0C0CCC 7F08C19C 8C6E0000 */ lw $t6, ($v1) -/* 0C0CD0 7F08C1A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C0CD4 7F08C1A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C0CD8 7F08C1A8 8DC211E0 */ lw $v0, 0x11e0($t6) -/* 0C0CDC 7F08C1AC 5040000B */ beql $v0, $zero, .L7F08C1DC -/* 0C0CE0 7F08C1B0 AC84000C */ sw $a0, 0xc($a0) -/* 0C0CE4 7F08C1B4 AC82000C */ sw $v0, 0xc($a0) -/* 0C0CE8 7F08C1B8 8C6F0000 */ lw $t7, ($v1) -/* 0C0CEC 7F08C1BC 8DF811E0 */ lw $t8, 0x11e0($t7) -/* 0C0CF0 7F08C1C0 8F190010 */ lw $t9, 0x10($t8) -/* 0C0CF4 7F08C1C4 AC990010 */ sw $t9, 0x10($a0) -/* 0C0CF8 7F08C1C8 AC440010 */ sw $a0, 0x10($v0) -/* 0C0CFC 7F08C1CC 8C890010 */ lw $t1, 0x10($a0) -/* 0C0D00 7F08C1D0 10000003 */ b .L7F08C1E0 -/* 0C0D04 7F08C1D4 AD24000C */ sw $a0, 0xc($t1) -/* 0C0D08 7F08C1D8 AC84000C */ sw $a0, 0xc($a0) -.L7F08C1DC: -/* 0C0D0C 7F08C1DC AC840010 */ sw $a0, 0x10($a0) -.L7F08C1E0: -/* 0C0D10 7F08C1E0 8C6A0000 */ lw $t2, ($v1) -/* 0C0D14 7F08C1E4 0FC23015 */ jal sub_GAME_7F08C054 -/* 0C0D18 7F08C1E8 AD4411E0 */ sw $a0, 0x11e0($t2) -/* 0C0D1C 7F08C1EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C0D20 7F08C1F0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C0D24 7F08C1F4 03E00008 */ jr $ra -/* 0C0D28 7F08C1F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void reorder_inventory_ptrs_based_on_id_code(void) { - -} -#else -GLOBAL_ASM( -.text -glabel reorder_inventory_ptrs_based_on_id_code -/* 0C0D2C 7F08C1FC 3C068008 */ lui $a2, %hi(pPlayer) -/* 0C0D30 7F08C200 8CC6A0B0 */ lw $a2, %lo(pPlayer)($a2) -/* 0C0D34 7F08C204 8C83000C */ lw $v1, 0xc($a0) -/* 0C0D38 7F08C208 8C850010 */ lw $a1, 0x10($a0) -/* 0C0D3C 7F08C20C 8CCE11E0 */ lw $t6, 0x11e0($a2) -/* 0C0D40 7F08C210 240FFFFF */ li $t7, -1 -/* 0C0D44 7F08C214 00601025 */ move $v0, $v1 -/* 0C0D48 7F08C218 548E0007 */ bnel $a0, $t6, .L7F08C238 -/* 0C0D4C 7F08C21C AC450010 */ sw $a1, 0x10($v0) -/* 0C0D50 7F08C220 54830004 */ bnel $a0, $v1, .L7F08C234 -/* 0C0D54 7F08C224 ACC311E0 */ sw $v1, 0x11e0($a2) -/* 0C0D58 7F08C228 10000002 */ b .L7F08C234 -/* 0C0D5C 7F08C22C ACC011E0 */ sw $zero, 0x11e0($a2) -/* 0C0D60 7F08C230 ACC311E0 */ sw $v1, 0x11e0($a2) -.L7F08C234: -/* 0C0D64 7F08C234 AC450010 */ sw $a1, 0x10($v0) -.L7F08C238: -/* 0C0D68 7F08C238 ACA2000C */ sw $v0, 0xc($a1) -/* 0C0D6C 7F08C23C 03E00008 */ jr $ra -/* 0C0D70 7F08C240 AC8F0000 */ sw $t7, ($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_next_available_weapon(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_next_available_weapon -/* 0C0D74 7F08C244 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C0D78 7F08C248 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0C0D7C 7F08C24C 00001025 */ move $v0, $zero -/* 0C0D80 7F08C250 8C6411E8 */ lw $a0, 0x11e8($v1) -/* 0C0D84 7F08C254 5880000F */ blezl $a0, .L7F08C294 -/* 0C0D88 7F08C258 00001025 */ move $v0, $zero -/* 0C0D8C 7F08C25C 8C6511E4 */ lw $a1, 0x11e4($v1) -/* 0C0D90 7F08C260 2403FFFF */ li $v1, -1 -/* 0C0D94 7F08C264 00003025 */ move $a2, $zero -/* 0C0D98 7F08C268 00A03825 */ move $a3, $a1 -.L7F08C26C: -/* 0C0D9C 7F08C26C 8CEE0000 */ lw $t6, ($a3) -/* 0C0DA0 7F08C270 24420001 */ addiu $v0, $v0, 1 -/* 0C0DA4 7F08C274 0044082A */ slt $at, $v0, $a0 -/* 0C0DA8 7F08C278 146E0003 */ bne $v1, $t6, .L7F08C288 -/* 0C0DAC 7F08C27C 24E70014 */ addiu $a3, $a3, 0x14 -/* 0C0DB0 7F08C280 03E00008 */ jr $ra -/* 0C0DB4 7F08C284 00A61021 */ addu $v0, $a1, $a2 - -.L7F08C288: -/* 0C0DB8 7F08C288 1420FFF8 */ bnez $at, .L7F08C26C -/* 0C0DBC 7F08C28C 24C60014 */ addiu $a2, $a2, 0x14 -/* 0C0DC0 7F08C290 00001025 */ move $v0, $zero -.L7F08C294: -/* 0C0DC4 7F08C294 03E00008 */ jr $ra -/* 0C0DC8 7F08C298 00000000 */ nop -) -#endif - - - - - -void set_BONDdata_allguns_flag(s32 param_1) { - pPlayer->equipallguns = param_1; -} - -s32 get_BONDdata_allguns_flag(void) { - return pPlayer->equipallguns; -} - - - - - - -#ifdef NONMATCHING -void get_ptr_inventory_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_inventory_item -/* 0C0DEC 7F08C2BC 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C0DF0 7F08C2C0 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C0DF4 7F08C2C4 24050001 */ li $a1, 1 -/* 0C0DF8 7F08C2C8 8DC211E0 */ lw $v0, 0x11e0($t6) -/* 0C0DFC 7F08C2CC 1040000E */ beqz $v0, .L7F08C308 -/* 0C0E00 7F08C2D0 00401825 */ move $v1, $v0 -/* 0C0E04 7F08C2D4 8C6F0000 */ lw $t7, ($v1) -.L7F08C2D8: -/* 0C0E08 7F08C2D8 54AF0007 */ bnel $a1, $t7, .L7F08C2F8 -/* 0C0E0C 7F08C2DC 8C63000C */ lw $v1, 0xc($v1) -/* 0C0E10 7F08C2E0 8C780004 */ lw $t8, 4($v1) -/* 0C0E14 7F08C2E4 54980004 */ bnel $a0, $t8, .L7F08C2F8 -/* 0C0E18 7F08C2E8 8C63000C */ lw $v1, 0xc($v1) -/* 0C0E1C 7F08C2EC 03E00008 */ jr $ra -/* 0C0E20 7F08C2F0 00601025 */ move $v0, $v1 - -/* 0C0E24 7F08C2F4 8C63000C */ lw $v1, 0xc($v1) -.L7F08C2F8: -/* 0C0E28 7F08C2F8 50620004 */ beql $v1, $v0, .L7F08C30C -/* 0C0E2C 7F08C2FC 00001025 */ move $v0, $zero -/* 0C0E30 7F08C300 5460FFF5 */ bnezl $v1, .L7F08C2D8 -/* 0C0E34 7F08C304 8C6F0000 */ lw $t7, ($v1) -.L7F08C308: -/* 0C0E38 7F08C308 00001025 */ move $v0, $zero -.L7F08C30C: -/* 0C0E3C 7F08C30C 03E00008 */ jr $ra -/* 0C0E40 7F08C310 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void is_weapon_in_inv(void) { - -} -#else -GLOBAL_ASM( -.text -glabel is_weapon_in_inv -/* 0C0E44 7F08C314 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C0E48 7F08C318 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C0E4C 7F08C31C 0FC230AF */ jal get_ptr_inventory_item -/* 0C0E50 7F08C320 00000000 */ nop -/* 0C0E54 7F08C324 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C0E58 7F08C328 0002702B */ sltu $t6, $zero, $v0 -/* 0C0E5C 7F08C32C 01C01025 */ move $v0, $t6 -/* 0C0E60 7F08C330 03E00008 */ jr $ra -/* 0C0E64 7F08C334 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_inventory_for_item_in_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_inventory_for_item_in_hand -/* 0C0E68 7F08C338 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C0E6C 7F08C33C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C0E70 7F08C340 24060003 */ li $a2, 3 -/* 0C0E74 7F08C344 8DC211E0 */ lw $v0, 0x11e0($t6) -/* 0C0E78 7F08C348 10400011 */ beqz $v0, .L7F08C390 -/* 0C0E7C 7F08C34C 00401825 */ move $v1, $v0 -/* 0C0E80 7F08C350 8C6F0000 */ lw $t7, ($v1) -.L7F08C354: -/* 0C0E84 7F08C354 54CF000A */ bnel $a2, $t7, .L7F08C380 -/* 0C0E88 7F08C358 8C63000C */ lw $v1, 0xc($v1) -/* 0C0E8C 7F08C35C 8C780004 */ lw $t8, 4($v1) -/* 0C0E90 7F08C360 54980007 */ bnel $a0, $t8, .L7F08C380 -/* 0C0E94 7F08C364 8C63000C */ lw $v1, 0xc($v1) -/* 0C0E98 7F08C368 8C790008 */ lw $t9, 8($v1) -/* 0C0E9C 7F08C36C 54B90004 */ bnel $a1, $t9, .L7F08C380 -/* 0C0EA0 7F08C370 8C63000C */ lw $v1, 0xc($v1) -/* 0C0EA4 7F08C374 03E00008 */ jr $ra -/* 0C0EA8 7F08C378 00601025 */ move $v0, $v1 - -/* 0C0EAC 7F08C37C 8C63000C */ lw $v1, 0xc($v1) -.L7F08C380: -/* 0C0EB0 7F08C380 50620004 */ beql $v1, $v0, .L7F08C394 -/* 0C0EB4 7F08C384 00001025 */ move $v0, $zero -/* 0C0EB8 7F08C388 5460FFF2 */ bnezl $v1, .L7F08C354 -/* 0C0EBC 7F08C38C 8C6F0000 */ lw $t7, ($v1) -.L7F08C390: -/* 0C0EC0 7F08C390 00001025 */ move $v0, $zero -.L7F08C394: -/* 0C0EC4 7F08C394 03E00008 */ jr $ra -/* 0C0EC8 7F08C398 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void is_item_for_hand_in_inventory(void) { - -} -#else -GLOBAL_ASM( -.text -glabel is_item_for_hand_in_inventory -/* 0C0ECC 7F08C39C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C0ED0 7F08C3A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C0ED4 7F08C3A4 0FC230CE */ jal get_ptr_inventory_for_item_in_hand -/* 0C0ED8 7F08C3A8 00000000 */ nop -/* 0C0EDC 7F08C3AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C0EE0 7F08C3B0 0002702B */ sltu $t6, $zero, $v0 -/* 0C0EE4 7F08C3B4 01C01025 */ move $v0, $t6 -/* 0C0EE8 7F08C3B8 03E00008 */ jr $ra -/* 0C0EEC 7F08C3BC 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_item_available(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel check_if_item_available -/* 0C0EF0 7F08C3C0 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C0EF4 7F08C3C4 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C0EF8 7F08C3C8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C0EFC 7F08C3CC AFBF0014 */ sw $ra, 0x14($sp) -/* 0C0F00 7F08C3D0 8DCF11EC */ lw $t7, 0x11ec($t6) -/* 0C0F04 7F08C3D4 11E00007 */ beqz $t7, .L7F08C3F4 -/* 0C0F08 7F08C3D8 00000000 */ nop -/* 0C0F0C 7F08C3DC 10800005 */ beqz $a0, .L7F08C3F4 -/* 0C0F10 7F08C3E0 28810021 */ slti $at, $a0, 0x21 -/* 0C0F14 7F08C3E4 10200003 */ beqz $at, .L7F08C3F4 -/* 0C0F18 7F08C3E8 00000000 */ nop -/* 0C0F1C 7F08C3EC 10000003 */ b .L7F08C3FC -/* 0C0F20 7F08C3F0 24020001 */ li $v0, 1 -.L7F08C3F4: -/* 0C0F24 7F08C3F4 0FC230C5 */ jal is_weapon_in_inv -/* 0C0F28 7F08C3F8 00000000 */ nop -.L7F08C3FC: -/* 0C0F2C 7F08C3FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C0F30 7F08C400 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C0F34 7F08C404 03E00008 */ jr $ra -/* 0C0F38 7F08C408 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel check_if_item_available -/* 0C17C0 7F08CC50 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0C17C4 7F08CC54 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0C17C8 7F08CC58 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C17CC 7F08CC5C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C17D0 7F08CC60 8DCF11EC */ lw $t7, 0x11ec($t6) -/* 0C17D4 7F08CC64 11E0000D */ beqz $t7, .Ljp7F08CC9C -/* 0C17D8 7F08CC68 00000000 */ nop -/* 0C17DC 7F08CC6C 1080000B */ beqz $a0, .Ljp7F08CC9C -/* 0C17E0 7F08CC70 28810021 */ slti $at, $a0, 0x21 -/* 0C17E4 7F08CC74 10200009 */ beqz $at, .Ljp7F08CC9C -/* 0C17E8 7F08CC78 3C188005 */ lui $t8, %hi(j_text_trigger) # $t8, 0x8005 -/* 0C17EC 7F08CC7C 8F188500 */ lw $t8, %lo(j_text_trigger)($t8) -/* 0C17F0 7F08CC80 24010002 */ li $at, 2 -/* 0C17F4 7F08CC84 13000003 */ beqz $t8, .Ljp7F08CC94 -/* 0C17F8 7F08CC88 00000000 */ nop -/* 0C17FC 7F08CC8C 10810003 */ beq $a0, $at, .Ljp7F08CC9C -/* 0C1800 7F08CC90 00000000 */ nop -.Ljp7F08CC94: -/* 0C1804 7F08CC94 10000003 */ b .Ljp7F08CCA4 -/* 0C1808 7F08CC98 24020001 */ li $v0, 1 -.Ljp7F08CC9C: -/* 0C180C 7F08CC9C 0FC232E9 */ jal is_weapon_in_inv -/* 0C1810 7F08CCA0 00000000 */ nop -.Ljp7F08CCA4: -/* 0C1814 7F08CCA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C1818 7F08CCA8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C181C 7F08CCAC 03E00008 */ jr $ra -/* 0C1820 7F08CCB0 00000000 */ nop -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void check_if_item_for_hand_available(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel check_if_item_for_hand_available -/* 0C0F3C 7F08C40C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C0F40 7F08C410 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C0F44 7F08C414 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C0F48 7F08C418 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C0F4C 7F08C41C AFA5001C */ sw $a1, 0x1c($sp) -/* 0C0F50 7F08C420 8DCF11EC */ lw $t7, 0x11ec($t6) -/* 0C0F54 7F08C424 28810021 */ slti $at, $a0, 0x21 -/* 0C0F58 7F08C428 11E00011 */ beqz $t7, .L7F08C470 -/* 0C0F5C 7F08C42C 00000000 */ nop -/* 0C0F60 7F08C430 1020000F */ beqz $at, .L7F08C470 -/* 0C0F64 7F08C434 00000000 */ nop -/* 0C0F68 7F08C438 1485000D */ bne $a0, $a1, .L7F08C470 -/* 0C0F6C 7F08C43C 00000000 */ nop -/* 0C0F70 7F08C440 0FC26919 */ jal get_num_players -/* 0C0F74 7F08C444 AFA40018 */ sw $a0, 0x18($sp) -/* 0C0F78 7F08C448 24010001 */ li $at, 1 -/* 0C0F7C 7F08C44C 14410008 */ bne $v0, $at, .L7F08C470 -/* 0C0F80 7F08C450 8FA40018 */ lw $a0, 0x18($sp) -/* 0C0F84 7F08C454 3C050010 */ lui $a1, 0x10 -/* 0C0F88 7F08C458 0FC1782D */ jal check_special_attributes -/* 0C0F8C 7F08C45C AFA40018 */ sw $a0, 0x18($sp) -/* 0C0F90 7F08C460 10400003 */ beqz $v0, .L7F08C470 -/* 0C0F94 7F08C464 8FA40018 */ lw $a0, 0x18($sp) -/* 0C0F98 7F08C468 10000003 */ b .L7F08C478 -/* 0C0F9C 7F08C46C 24020001 */ li $v0, 1 -.L7F08C470: -/* 0C0FA0 7F08C470 0FC230E7 */ jal is_item_for_hand_in_inventory -/* 0C0FA4 7F08C474 8FA5001C */ lw $a1, 0x1c($sp) -.L7F08C478: -/* 0C0FA8 7F08C478 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C0FAC 7F08C47C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C0FB0 7F08C480 03E00008 */ jr $ra -/* 0C0FB4 7F08C484 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel check_if_item_for_hand_available -/* 0C1824 7F08CCB4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C1828 7F08CCB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C182C 7F08CCBC 14A00003 */ bnez $a1, .Ljp7F08CCCC -/* 0C1830 7F08CCC0 00A03025 */ move $a2, $a1 -/* 0C1834 7F08CCC4 10000024 */ b .Ljp7F08CD58 -/* 0C1838 7F08CCC8 24020001 */ li $v0, 1 -.Ljp7F08CCCC: -/* 0C183C 7F08CCCC 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0C1840 7F08CCD0 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0C1844 7F08CCD4 28810021 */ slti $at, $a0, 0x21 -/* 0C1848 7F08CCD8 8DCF11EC */ lw $t7, 0x11ec($t6) -/* 0C184C 7F08CCDC 11E0001C */ beqz $t7, .Ljp7F08CD50 -/* 0C1850 7F08CCE0 00000000 */ nop -/* 0C1854 7F08CCE4 1020001A */ beqz $at, .Ljp7F08CD50 -/* 0C1858 7F08CCE8 00000000 */ nop -/* 0C185C 7F08CCEC 14860018 */ bne $a0, $a2, .Ljp7F08CD50 -/* 0C1860 7F08CCF0 00000000 */ nop -/* 0C1864 7F08CCF4 AFA40018 */ sw $a0, 0x18($sp) -/* 0C1868 7F08CCF8 0FC26C01 */ jal get_num_players -/* 0C186C 7F08CCFC AFA6001C */ sw $a2, 0x1c($sp) -/* 0C1870 7F08CD00 24010001 */ li $at, 1 -/* 0C1874 7F08CD04 8FA40018 */ lw $a0, 0x18($sp) -/* 0C1878 7F08CD08 14410011 */ bne $v0, $at, .Ljp7F08CD50 -/* 0C187C 7F08CD0C 8FA6001C */ lw $a2, 0x1c($sp) -/* 0C1880 7F08CD10 3C050010 */ lui $a1, 0x10 -/* 0C1884 7F08CD14 AFA40018 */ sw $a0, 0x18($sp) -/* 0C1888 7F08CD18 0FC17975 */ jal check_special_attributes -/* 0C188C 7F08CD1C AFA6001C */ sw $a2, 0x1c($sp) -/* 0C1890 7F08CD20 8FA40018 */ lw $a0, 0x18($sp) -/* 0C1894 7F08CD24 1040000A */ beqz $v0, .Ljp7F08CD50 -/* 0C1898 7F08CD28 8FA6001C */ lw $a2, 0x1c($sp) -/* 0C189C 7F08CD2C 3C188005 */ lui $t8, %hi(j_text_trigger) # $t8, 0x8005 -/* 0C18A0 7F08CD30 8F188500 */ lw $t8, %lo(j_text_trigger)($t8) -/* 0C18A4 7F08CD34 24010002 */ li $at, 2 -/* 0C18A8 7F08CD38 13000003 */ beqz $t8, .Ljp7F08CD48 -/* 0C18AC 7F08CD3C 00000000 */ nop -/* 0C18B0 7F08CD40 10810003 */ beq $a0, $at, .Ljp7F08CD50 -/* 0C18B4 7F08CD44 00000000 */ nop -.Ljp7F08CD48: -/* 0C18B8 7F08CD48 10000003 */ b .Ljp7F08CD58 -/* 0C18BC 7F08CD4C 24020001 */ li $v0, 1 -.Ljp7F08CD50: -/* 0C18C0 7F08CD50 0FC2330B */ jal is_item_for_hand_in_inventory -/* 0C18C4 7F08CD54 00C02825 */ move $a1, $a2 -.Ljp7F08CD58: -/* 0C18C8 7F08CD58 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C18CC 7F08CD5C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C18D0 7F08CD60 03E00008 */ jr $ra -/* 0C18D4 7F08CD64 00000000 */ nop -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void add_item_to_inventory(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel add_item_to_inventory -/* 0C0FB8 7F08C488 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C0FBC 7F08C48C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C0FC0 7F08C490 0FC230C5 */ jal is_weapon_in_inv -/* 0C0FC4 7F08C494 AFA40018 */ sw $a0, 0x18($sp) -/* 0C0FC8 7F08C498 54400018 */ bnezl $v0, .L7F08C4FC -/* 0C0FCC 7F08C49C 00001025 */ move $v0, $zero -/* 0C0FD0 7F08C4A0 0FC23091 */ jal get_ptr_next_available_weapon -/* 0C0FD4 7F08C4A4 00000000 */ nop -/* 0C0FD8 7F08C4A8 10400006 */ beqz $v0, .L7F08C4C4 -/* 0C0FDC 7F08C4AC 00402025 */ move $a0, $v0 -/* 0C0FE0 7F08C4B0 240E0001 */ li $t6, 1 -/* 0C0FE4 7F08C4B4 AC4E0000 */ sw $t6, ($v0) -/* 0C0FE8 7F08C4B8 8FAF0018 */ lw $t7, 0x18($sp) -/* 0C0FEC 7F08C4BC 0FC23065 */ jal add_additional_weapon_slot_to_player_inventory_guess -/* 0C0FF0 7F08C4C0 AC4F0004 */ sw $t7, 4($v0) -.L7F08C4C4: -/* 0C0FF4 7F08C4C4 3C188008 */ lui $t8, %hi(pPlayer) -/* 0C0FF8 7F08C4C8 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0C0FFC 7F08C4CC 8FA80018 */ lw $t0, 0x18($sp) -/* 0C1000 7F08C4D0 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C1004 7F08C4D4 29010021 */ slti $at, $t0, 0x21 -/* 0C1008 7F08C4D8 13200005 */ beqz $t9, .L7F08C4F0 -/* 0C100C 7F08C4DC 00000000 */ nop -/* 0C1010 7F08C4E0 10200003 */ beqz $at, .L7F08C4F0 -/* 0C1014 7F08C4E4 00000000 */ nop -/* 0C1018 7F08C4E8 10000004 */ b .L7F08C4FC -/* 0C101C 7F08C4EC 00001025 */ move $v0, $zero -.L7F08C4F0: -/* 0C1020 7F08C4F0 10000002 */ b .L7F08C4FC -/* 0C1024 7F08C4F4 24020001 */ li $v0, 1 -/* 0C1028 7F08C4F8 00001025 */ move $v0, $zero -.L7F08C4FC: -/* 0C102C 7F08C4FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C1030 7F08C500 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C1034 7F08C504 03E00008 */ jr $ra -/* 0C1038 7F08C508 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel add_item_to_inventory -/* 0C18D8 7F08CD68 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C18DC 7F08CD6C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C18E0 7F08CD70 0FC232E9 */ jal is_weapon_in_inv -/* 0C18E4 7F08CD74 AFA40018 */ sw $a0, 0x18($sp) -/* 0C18E8 7F08CD78 5440001E */ bnezl $v0, .Ljp7F08CDF4 -/* 0C18EC 7F08CD7C 00001025 */ move $v0, $zero -/* 0C18F0 7F08CD80 0FC232B5 */ jal get_ptr_next_available_weapon -/* 0C18F4 7F08CD84 00000000 */ nop -/* 0C18F8 7F08CD88 10400006 */ beqz $v0, .Ljp7F08CDA4 -/* 0C18FC 7F08CD8C 00402025 */ move $a0, $v0 -/* 0C1900 7F08CD90 240E0001 */ li $t6, 1 -/* 0C1904 7F08CD94 AC4E0000 */ sw $t6, ($v0) -/* 0C1908 7F08CD98 8FAF0018 */ lw $t7, 0x18($sp) -/* 0C190C 7F08CD9C 0FC23289 */ jal add_additional_weapon_slot_to_player_inventory_guess -/* 0C1910 7F08CDA0 AC4F0004 */ sw $t7, 4($v0) -.Ljp7F08CDA4: -/* 0C1914 7F08CDA4 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0C1918 7F08CDA8 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0C191C 7F08CDAC 8FA80018 */ lw $t0, 0x18($sp) -/* 0C1920 7F08CDB0 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C1924 7F08CDB4 29010021 */ slti $at, $t0, 0x21 -/* 0C1928 7F08CDB8 1320000B */ beqz $t9, .Ljp7F08CDE8 -/* 0C192C 7F08CDBC 00000000 */ nop -/* 0C1930 7F08CDC0 10200009 */ beqz $at, .Ljp7F08CDE8 -/* 0C1934 7F08CDC4 3C098005 */ lui $t1, %hi(j_text_trigger) # $t1, 0x8005 -/* 0C1938 7F08CDC8 8D298500 */ lw $t1, %lo(j_text_trigger)($t1) -/* 0C193C 7F08CDCC 24010002 */ li $at, 2 -/* 0C1940 7F08CDD0 11200003 */ beqz $t1, .Ljp7F08CDE0 -/* 0C1944 7F08CDD4 00000000 */ nop -/* 0C1948 7F08CDD8 11010003 */ beq $t0, $at, .Ljp7F08CDE8 -/* 0C194C 7F08CDDC 00000000 */ nop -.Ljp7F08CDE0: -/* 0C1950 7F08CDE0 10000004 */ b .Ljp7F08CDF4 -/* 0C1954 7F08CDE4 00001025 */ move $v0, $zero -.Ljp7F08CDE8: -/* 0C1958 7F08CDE8 10000002 */ b .Ljp7F08CDF4 -/* 0C195C 7F08CDEC 24020001 */ li $v0, 1 -/* 0C1960 7F08CDF0 00001025 */ move $v0, $zero -.Ljp7F08CDF4: -/* 0C1964 7F08CDF4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C1968 7F08CDF8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C196C 7F08CDFC 03E00008 */ jr $ra -/* 0C1970 7F08CE00 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void add_doubles_item_to_inventory(void) { - -} -#else -GLOBAL_ASM( -.text -glabel add_doubles_item_to_inventory -/* 0C103C 7F08C50C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C1040 7F08C510 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1044 7F08C514 AFA40018 */ sw $a0, 0x18($sp) -/* 0C1048 7F08C518 0FC230E7 */ jal is_item_for_hand_in_inventory -/* 0C104C 7F08C51C AFA5001C */ sw $a1, 0x1c($sp) -/* 0C1050 7F08C520 5440000F */ bnezl $v0, .L7F08C560 -/* 0C1054 7F08C524 00001025 */ move $v0, $zero -/* 0C1058 7F08C528 0FC23091 */ jal get_ptr_next_available_weapon -/* 0C105C 7F08C52C 00000000 */ nop -/* 0C1060 7F08C530 10400008 */ beqz $v0, .L7F08C554 -/* 0C1064 7F08C534 00402025 */ move $a0, $v0 -/* 0C1068 7F08C538 240E0003 */ li $t6, 3 -/* 0C106C 7F08C53C AC4E0000 */ sw $t6, ($v0) -/* 0C1070 7F08C540 8FAF0018 */ lw $t7, 0x18($sp) -/* 0C1074 7F08C544 AC4F0004 */ sw $t7, 4($v0) -/* 0C1078 7F08C548 8FB8001C */ lw $t8, 0x1c($sp) -/* 0C107C 7F08C54C 0FC23065 */ jal add_additional_weapon_slot_to_player_inventory_guess -/* 0C1080 7F08C550 AC580008 */ sw $t8, 8($v0) -.L7F08C554: -/* 0C1084 7F08C554 10000002 */ b .L7F08C560 -/* 0C1088 7F08C558 24020001 */ li $v0, 1 -/* 0C108C 7F08C55C 00001025 */ move $v0, $zero -.L7F08C560: -/* 0C1090 7F08C560 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C1094 7F08C564 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C1098 7F08C568 03E00008 */ jr $ra -/* 0C109C 7F08C56C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08C570(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08C570 -/* 0C10A0 7F08C570 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C10A4 7F08C574 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C10A8 7F08C578 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C10AC 7F08C57C AFBF001C */ sw $ra, 0x1c($sp) -/* 0C10B0 7F08C580 AFB00018 */ sw $s0, 0x18($sp) -/* 0C10B4 7F08C584 8DC611E0 */ lw $a2, 0x11e0($t6) -/* 0C10B8 7F08C588 00808025 */ move $s0, $a0 -/* 0C10BC 7F08C58C 240A0008 */ li $t2, 8 -/* 0C10C0 7F08C590 10C0001C */ beqz $a2, .L7F08C604 -/* 0C10C4 7F08C594 24090004 */ li $t1, 4 -/* 0C10C8 7F08C598 8CC4000C */ lw $a0, 0xc($a2) -/* 0C10CC 7F08C59C 24080002 */ li $t0, 2 -.L7F08C5A0: -/* 0C10D0 7F08C5A0 8C8F0000 */ lw $t7, ($a0) -/* 0C10D4 7F08C5A4 8C87000C */ lw $a3, 0xc($a0) -/* 0C10D8 7F08C5A8 150F0010 */ bne $t0, $t7, .L7F08C5EC -/* 0C10DC 7F08C5AC 00000000 */ nop -/* 0C10E0 7F08C5B0 8C830004 */ lw $v1, 4($a0) -/* 0C10E4 7F08C5B4 90780000 */ lbu $t8, ($v1) -/* 0C10E8 7F08C5B8 1538000C */ bne $t1, $t8, .L7F08C5EC -/* 0C10EC 7F08C5BC 00000000 */ nop -/* 0C10F0 7F08C5C0 8C650004 */ lw $a1, 4($v1) -/* 0C10F4 7F08C5C4 90B90003 */ lbu $t9, 3($a1) -/* 0C10F8 7F08C5C8 15590008 */ bne $t2, $t9, .L7F08C5EC -/* 0C10FC 7F08C5CC 00000000 */ nop -/* 0C1100 7F08C5D0 80AB0080 */ lb $t3, 0x80($a1) -/* 0C1104 7F08C5D4 160B0005 */ bne $s0, $t3, .L7F08C5EC -/* 0C1108 7F08C5D8 00000000 */ nop -/* 0C110C 7F08C5DC 0FC2307F */ jal reorder_inventory_ptrs_based_on_id_code -/* 0C1110 7F08C5E0 AFA50024 */ sw $a1, 0x24($sp) -/* 0C1114 7F08C5E4 10000008 */ b .L7F08C608 -/* 0C1118 7F08C5E8 8FA20024 */ lw $v0, 0x24($sp) -.L7F08C5EC: -/* 0C111C 7F08C5EC 50860006 */ beql $a0, $a2, .L7F08C608 -/* 0C1120 7F08C5F0 00001025 */ move $v0, $zero -/* 0C1124 7F08C5F4 50C00004 */ beql $a2, $zero, .L7F08C608 -/* 0C1128 7F08C5F8 00001025 */ move $v0, $zero -/* 0C112C 7F08C5FC 1000FFE8 */ b .L7F08C5A0 -/* 0C1130 7F08C600 00E02025 */ move $a0, $a3 -.L7F08C604: -/* 0C1134 7F08C604 00001025 */ move $v0, $zero -.L7F08C608: -/* 0C1138 7F08C608 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C113C 7F08C60C 8FB00018 */ lw $s0, 0x18($sp) -/* 0C1140 7F08C610 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0C1144 7F08C614 03E00008 */ jr $ra -/* 0C1148 7F08C618 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08C61C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08C61C -/* 0C114C 7F08C61C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C1150 7F08C620 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C1154 7F08C624 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C1158 7F08C628 AFBF0034 */ sw $ra, 0x34($sp) -/* 0C115C 7F08C62C AFB60030 */ sw $s6, 0x30($sp) -/* 0C1160 7F08C630 AFB5002C */ sw $s5, 0x2c($sp) -/* 0C1164 7F08C634 AFB40028 */ sw $s4, 0x28($sp) -/* 0C1168 7F08C638 AFB30024 */ sw $s3, 0x24($sp) -/* 0C116C 7F08C63C AFB20020 */ sw $s2, 0x20($sp) -/* 0C1170 7F08C640 AFB1001C */ sw $s1, 0x1c($sp) -/* 0C1174 7F08C644 AFB00018 */ sw $s0, 0x18($sp) -/* 0C1178 7F08C648 8DC511E0 */ lw $a1, 0x11e0($t6) -/* 0C117C 7F08C64C 00809025 */ move $s2, $a0 -/* 0C1180 7F08C650 24150008 */ li $s5, 8 -/* 0C1184 7F08C654 10A00029 */ beqz $a1, .L7F08C6FC -/* 0C1188 7F08C658 24160001 */ li $s6, 1 -/* 0C118C 7F08C65C 8CB0000C */ lw $s0, 0xc($a1) -/* 0C1190 7F08C660 24140004 */ li $s4, 4 -/* 0C1194 7F08C664 24130002 */ li $s3, 2 -.L7F08C668: -/* 0C1198 7F08C668 8E020000 */ lw $v0, ($s0) -/* 0C119C 7F08C66C 8E11000C */ lw $s1, 0xc($s0) -/* 0C11A0 7F08C670 16620012 */ bne $s3, $v0, .L7F08C6BC -/* 0C11A4 7F08C674 00000000 */ nop -/* 0C11A8 7F08C678 8E030004 */ lw $v1, 4($s0) -/* 0C11AC 7F08C67C 906F0000 */ lbu $t7, ($v1) -/* 0C11B0 7F08C680 168F0018 */ bne $s4, $t7, .L7F08C6E4 -/* 0C11B4 7F08C684 00000000 */ nop -/* 0C11B8 7F08C688 8C640004 */ lw $a0, 4($v1) -/* 0C11BC 7F08C68C 90980003 */ lbu $t8, 3($a0) -/* 0C11C0 7F08C690 16B80014 */ bne $s5, $t8, .L7F08C6E4 -/* 0C11C4 7F08C694 00000000 */ nop -/* 0C11C8 7F08C698 80990080 */ lb $t9, 0x80($a0) -/* 0C11CC 7F08C69C 16590011 */ bne $s2, $t9, .L7F08C6E4 -/* 0C11D0 7F08C6A0 00000000 */ nop -/* 0C11D4 7F08C6A4 0FC2307F */ jal reorder_inventory_ptrs_based_on_id_code -/* 0C11D8 7F08C6A8 02002025 */ move $a0, $s0 -/* 0C11DC 7F08C6AC 3C088008 */ lui $t0, %hi(pPlayer) -/* 0C11E0 7F08C6B0 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0C11E4 7F08C6B4 1000000B */ b .L7F08C6E4 -/* 0C11E8 7F08C6B8 8D0511E0 */ lw $a1, 0x11e0($t0) -.L7F08C6BC: -/* 0C11EC 7F08C6BC 16C20009 */ bne $s6, $v0, .L7F08C6E4 -/* 0C11F0 7F08C6C0 00000000 */ nop -/* 0C11F4 7F08C6C4 8E090004 */ lw $t1, 4($s0) -/* 0C11F8 7F08C6C8 16490006 */ bne $s2, $t1, .L7F08C6E4 -/* 0C11FC 7F08C6CC 00000000 */ nop -/* 0C1200 7F08C6D0 0FC2307F */ jal reorder_inventory_ptrs_based_on_id_code -/* 0C1204 7F08C6D4 02002025 */ move $a0, $s0 -/* 0C1208 7F08C6D8 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0C120C 7F08C6DC 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0C1210 7F08C6E0 8D4511E0 */ lw $a1, 0x11e0($t2) -.L7F08C6E4: -/* 0C1214 7F08C6E4 52050006 */ beql $s0, $a1, .L7F08C700 -/* 0C1218 7F08C6E8 8FBF0034 */ lw $ra, 0x34($sp) -/* 0C121C 7F08C6EC 50A00004 */ beql $a1, $zero, .L7F08C700 -/* 0C1220 7F08C6F0 8FBF0034 */ lw $ra, 0x34($sp) -/* 0C1224 7F08C6F4 1000FFDC */ b .L7F08C668 -/* 0C1228 7F08C6F8 02208025 */ move $s0, $s1 -.L7F08C6FC: -/* 0C122C 7F08C6FC 8FBF0034 */ lw $ra, 0x34($sp) -.L7F08C700: -/* 0C1230 7F08C700 8FB00018 */ lw $s0, 0x18($sp) -/* 0C1234 7F08C704 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C1238 7F08C708 8FB20020 */ lw $s2, 0x20($sp) -/* 0C123C 7F08C70C 8FB30024 */ lw $s3, 0x24($sp) -/* 0C1240 7F08C710 8FB40028 */ lw $s4, 0x28($sp) -/* 0C1244 7F08C714 8FB5002C */ lw $s5, 0x2c($sp) -/* 0C1248 7F08C718 8FB60030 */ lw $s6, 0x30($sp) -/* 0C124C 7F08C71C 03E00008 */ jr $ra -/* 0C1250 7F08C720 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08C724(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08C724 -/* 0C1254 7F08C724 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C1258 7F08C728 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C125C 7F08C72C 0FC23091 */ jal get_ptr_next_available_weapon -/* 0C1260 7F08C730 AFA40018 */ sw $a0, 0x18($sp) -/* 0C1264 7F08C734 10400006 */ beqz $v0, .L7F08C750 -/* 0C1268 7F08C738 00402025 */ move $a0, $v0 -/* 0C126C 7F08C73C 240E0002 */ li $t6, 2 -/* 0C1270 7F08C740 AC4E0000 */ sw $t6, ($v0) -/* 0C1274 7F08C744 8FAF0018 */ lw $t7, 0x18($sp) -/* 0C1278 7F08C748 0FC23065 */ jal add_additional_weapon_slot_to_player_inventory_guess -/* 0C127C 7F08C74C AC4F0004 */ sw $t7, 4($v0) -.L7F08C750: -/* 0C1280 7F08C750 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C1284 7F08C754 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C1288 7F08C758 24020001 */ li $v0, 1 -/* 0C128C 7F08C75C 03E00008 */ jr $ra -/* 0C1290 7F08C760 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08C764(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08C764 -/* 0C1294 7F08C764 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C1298 7F08C768 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C129C 7F08C76C AFB00018 */ sw $s0, 0x18($sp) -/* 0C12A0 7F08C770 908E0000 */ lbu $t6, ($a0) -/* 0C12A4 7F08C774 24010004 */ li $at, 4 -/* 0C12A8 7F08C778 00002825 */ move $a1, $zero -/* 0C12AC 7F08C77C 55C10037 */ bnel $t6, $at, .L7F08C85C -/* 0C12B0 7F08C780 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C12B4 7F08C784 8C860004 */ lw $a2, 4($a0) -/* 0C12B8 7F08C788 24010008 */ li $at, 8 -/* 0C12BC 7F08C78C 90CF0003 */ lbu $t7, 3($a2) -/* 0C12C0 7F08C790 55E10032 */ bnel $t7, $at, .L7F08C85C -/* 0C12C4 7F08C794 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C12C8 7F08C798 80D00080 */ lb $s0, 0x80($a2) -/* 0C12CC 7F08C79C AFA60024 */ sw $a2, 0x24($sp) -/* 0C12D0 7F08C7A0 0FC23122 */ jal add_item_to_inventory -/* 0C12D4 7F08C7A4 02002025 */ move $a0, $s0 -/* 0C12D8 7F08C7A8 8FA30024 */ lw $v1, 0x24($sp) -/* 0C12DC 7F08C7AC 00402825 */ move $a1, $v0 -/* 0C12E0 7F08C7B0 8C660084 */ lw $a2, 0x84($v1) -/* 0C12E4 7F08C7B4 50C00019 */ beql $a2, $zero, .L7F08C81C -/* 0C12E8 7F08C7B8 80660081 */ lb $a2, 0x81($v1) -/* 0C12EC 7F08C7BC 8C780008 */ lw $t8, 8($v1) -/* 0C12F0 7F08C7C0 02002825 */ move $a1, $s0 -/* 0C12F4 7F08C7C4 02002025 */ move $a0, $s0 -/* 0C12F8 7F08C7C8 0018C8C0 */ sll $t9, $t8, 3 -/* 0C12FC 7F08C7CC 07230008 */ bgezl $t9, .L7F08C7F0 -/* 0C1300 7F08C7D0 80C50080 */ lb $a1, 0x80($a2) -/* 0C1304 7F08C7D4 80C40080 */ lb $a0, 0x80($a2) -/* 0C1308 7F08C7D8 0FC230E7 */ jal is_item_for_hand_in_inventory -/* 0C130C 7F08C7DC AFA30024 */ sw $v1, 0x24($sp) -/* 0C1310 7F08C7E0 8FA30024 */ lw $v1, 0x24($sp) -/* 0C1314 7F08C7E4 10000006 */ b .L7F08C800 -/* 0C1318 7F08C7E8 2C450001 */ sltiu $a1, $v0, 1 -/* 0C131C 7F08C7EC 80C50080 */ lb $a1, 0x80($a2) -.L7F08C7F0: -/* 0C1320 7F08C7F0 0FC230E7 */ jal is_item_for_hand_in_inventory -/* 0C1324 7F08C7F4 AFA30024 */ sw $v1, 0x24($sp) -/* 0C1328 7F08C7F8 8FA30024 */ lw $v1, 0x24($sp) -/* 0C132C 7F08C7FC 2C450001 */ sltiu $a1, $v0, 1 -.L7F08C800: -/* 0C1330 7F08C800 8C680084 */ lw $t0, 0x84($v1) -/* 0C1334 7F08C804 A1100081 */ sb $s0, 0x81($t0) -/* 0C1338 7F08C808 8C690084 */ lw $t1, 0x84($v1) -/* 0C133C 7F08C80C AD200084 */ sw $zero, 0x84($t1) -/* 0C1340 7F08C810 10000011 */ b .L7F08C858 -/* 0C1344 7F08C814 AC600084 */ sw $zero, 0x84($v1) -/* 0C1348 7F08C818 80660081 */ lb $a2, 0x81($v1) -.L7F08C81C: -/* 0C134C 7F08C81C 04C2000F */ bltzl $a2, .L7F08C85C -/* 0C1350 7F08C820 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C1354 7F08C824 8C6A0008 */ lw $t2, 8($v1) -/* 0C1358 7F08C828 02002825 */ move $a1, $s0 -/* 0C135C 7F08C82C 02002025 */ move $a0, $s0 -/* 0C1360 7F08C830 000A58C0 */ sll $t3, $t2, 3 -/* 0C1364 7F08C834 05610005 */ bgez $t3, .L7F08C84C -/* 0C1368 7F08C838 00000000 */ nop -/* 0C136C 7F08C83C 0FC23143 */ jal add_doubles_item_to_inventory -/* 0C1370 7F08C840 00C02025 */ move $a0, $a2 -/* 0C1374 7F08C844 10000004 */ b .L7F08C858 -/* 0C1378 7F08C848 00402825 */ move $a1, $v0 -.L7F08C84C: -/* 0C137C 7F08C84C 0FC23143 */ jal add_doubles_item_to_inventory -/* 0C1380 7F08C850 00C02825 */ move $a1, $a2 -/* 0C1384 7F08C854 00402825 */ move $a1, $v0 -.L7F08C858: -/* 0C1388 7F08C858 8FBF001C */ lw $ra, 0x1c($sp) -.L7F08C85C: -/* 0C138C 7F08C85C 8FB00018 */ lw $s0, 0x18($sp) -/* 0C1390 7F08C860 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C1394 7F08C864 03E00008 */ jr $ra -/* 0C1398 7F08C868 00A01025 */ move $v0, $a1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08C86C(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08C86C -/* 0C139C 7F08C86C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C13A0 7F08C870 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C13A4 7F08C874 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0C13A8 7F08C878 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C13AC 7F08C87C AFB30020 */ sw $s3, 0x20($sp) -/* 0C13B0 7F08C880 AFB2001C */ sw $s2, 0x1c($sp) -/* 0C13B4 7F08C884 AFB10018 */ sw $s1, 0x18($sp) -/* 0C13B8 7F08C888 AFB00014 */ sw $s0, 0x14($sp) -/* 0C13BC 7F08C88C AFA40028 */ sw $a0, 0x28($sp) -/* 0C13C0 7F08C890 AFA5002C */ sw $a1, 0x2c($sp) -/* 0C13C4 7F08C894 8C7011E0 */ lw $s0, 0x11e0($v1) -/* 0C13C8 7F08C898 00C09025 */ move $s2, $a2 -/* 0C13CC 7F08C89C 8C910000 */ lw $s1, ($a0) -/* 0C13D0 7F08C8A0 1200003D */ beqz $s0, .L7F08C998 -/* 0C13D4 7F08C8A4 8CB30000 */ lw $s3, ($a1) -/* 0C13D8 7F08C8A8 8E020000 */ lw $v0, ($s0) -.L7F08C8AC: -/* 0C13DC 7F08C8AC 24010001 */ li $at, 1 -/* 0C13E0 7F08C8B0 54410013 */ bnel $v0, $at, .L7F08C900 -/* 0C13E4 7F08C8B4 24010003 */ li $at, 3 -/* 0C13E8 7F08C8B8 8E040004 */ lw $a0, 4($s0) -/* 0C13EC 7F08C8BC 28810021 */ slti $at, $a0, 0x21 -/* 0C13F0 7F08C8C0 10200029 */ beqz $at, .L7F08C968 -/* 0C13F4 7F08C8C4 0224082A */ slt $at, $s1, $a0 -/* 0C13F8 7F08C8C8 10200027 */ beqz $at, .L7F08C968 -/* 0C13FC 7F08C8CC 00000000 */ nop -/* 0C1400 7F08C8D0 52400008 */ beql $s2, $zero, .L7F08C8F4 -/* 0C1404 7F08C8D4 00808825 */ move $s1, $a0 -/* 0C1408 7F08C8D8 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C140C 7F08C8DC 00000000 */ nop -/* 0C1410 7F08C8E0 10400021 */ beqz $v0, .L7F08C968 -/* 0C1414 7F08C8E4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C1418 7F08C8E8 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0C141C 7F08C8EC 8E040004 */ lw $a0, 4($s0) -/* 0C1420 7F08C8F0 00808825 */ move $s1, $a0 -.L7F08C8F4: -/* 0C1424 7F08C8F4 10000028 */ b .L7F08C998 -/* 0C1428 7F08C8F8 00009825 */ move $s3, $zero -/* 0C142C 7F08C8FC 24010003 */ li $at, 3 -.L7F08C900: -/* 0C1430 7F08C900 14410019 */ bne $v0, $at, .L7F08C968 -/* 0C1434 7F08C904 00000000 */ nop -/* 0C1438 7F08C908 8E040004 */ lw $a0, 4($s0) -/* 0C143C 7F08C90C 0224082A */ slt $at, $s1, $a0 -/* 0C1440 7F08C910 14200007 */ bnez $at, .L7F08C930 -/* 0C1444 7F08C914 00000000 */ nop -/* 0C1448 7F08C918 16240013 */ bne $s1, $a0, .L7F08C968 -/* 0C144C 7F08C91C 00000000 */ nop -/* 0C1450 7F08C920 8E180008 */ lw $t8, 8($s0) -/* 0C1454 7F08C924 0278082A */ slt $at, $s3, $t8 -/* 0C1458 7F08C928 1020000F */ beqz $at, .L7F08C968 -/* 0C145C 7F08C92C 00000000 */ nop -.L7F08C930: -/* 0C1460 7F08C930 12400008 */ beqz $s2, .L7F08C954 -/* 0C1464 7F08C934 00000000 */ nop -/* 0C1468 7F08C938 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C146C 7F08C93C 00000000 */ nop -/* 0C1470 7F08C940 14400004 */ bnez $v0, .L7F08C954 -/* 0C1474 7F08C944 00000000 */ nop -/* 0C1478 7F08C948 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C147C 7F08C94C 8E040008 */ lw $a0, 8($s0) -/* 0C1480 7F08C950 10400005 */ beqz $v0, .L7F08C968 -.L7F08C954: -/* 0C1484 7F08C954 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C1488 7F08C958 8E110004 */ lw $s1, 4($s0) -/* 0C148C 7F08C95C 8E130008 */ lw $s3, 8($s0) -/* 0C1490 7F08C960 1000000D */ b .L7F08C998 -/* 0C1494 7F08C964 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F08C968: -/* 0C1498 7F08C968 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C149C 7F08C96C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0C14A0 7F08C970 8E10000C */ lw $s0, 0xc($s0) -/* 0C14A4 7F08C974 8C7911E0 */ lw $t9, 0x11e0($v1) -/* 0C14A8 7F08C978 16190005 */ bne $s0, $t9, .L7F08C990 -/* 0C14AC 7F08C97C 00000000 */ nop -/* 0C14B0 7F08C980 56400006 */ bnezl $s2, .L7F08C99C -/* 0C14B4 7F08C984 8C6811EC */ lw $t0, 0x11ec($v1) -/* 0C14B8 7F08C988 2411FFFF */ li $s1, -1 -/* 0C14BC 7F08C98C 2413FFFF */ li $s3, -1 -.L7F08C990: -/* 0C14C0 7F08C990 5600FFC6 */ bnezl $s0, .L7F08C8AC -/* 0C14C4 7F08C994 8E020000 */ lw $v0, ($s0) -.L7F08C998: -/* 0C14C8 7F08C998 8C6811EC */ lw $t0, 0x11ec($v1) -.L7F08C99C: -/* 0C14CC 7F08C99C 8FA90028 */ lw $t1, 0x28($sp) -/* 0C14D0 7F08C9A0 51000051 */ beql $t0, $zero, .L7F08CAE8 -/* 0C14D4 7F08C9A4 8FAB0028 */ lw $t3, 0x28($sp) -/* 0C14D8 7F08C9A8 0FC26919 */ jal get_num_players -/* 0C14DC 7F08C9AC 8D300000 */ lw $s0, ($t1) -/* 0C14E0 7F08C9B0 24010001 */ li $at, 1 -/* 0C14E4 7F08C9B4 5441001E */ bnel $v0, $at, .L7F08CA30 -/* 0C14E8 7F08C9B8 8FAF0028 */ lw $t7, 0x28($sp) -/* 0C14EC 7F08C9BC 8FAA0028 */ lw $t2, 0x28($sp) -/* 0C14F0 7F08C9C0 3C050010 */ lui $a1, 0x10 -/* 0C14F4 7F08C9C4 0FC1782D */ jal check_special_attributes -/* 0C14F8 7F08C9C8 8D440000 */ lw $a0, ($t2) -/* 0C14FC 7F08C9CC 50400018 */ beql $v0, $zero, .L7F08CA30 -/* 0C1500 7F08C9D0 8FAF0028 */ lw $t7, 0x28($sp) -/* 0C1504 7F08C9D4 8FAB0028 */ lw $t3, 0x28($sp) -/* 0C1508 7F08C9D8 8FAC002C */ lw $t4, 0x2c($sp) -/* 0C150C 7F08C9DC 8D640000 */ lw $a0, ($t3) -/* 0C1510 7F08C9E0 8D8D0000 */ lw $t5, ($t4) -/* 0C1514 7F08C9E4 01A4082A */ slt $at, $t5, $a0 -/* 0C1518 7F08C9E8 50200011 */ beql $at, $zero, .L7F08CA30 -/* 0C151C 7F08C9EC 8FAF0028 */ lw $t7, 0x28($sp) -/* 0C1520 7F08C9F0 12400007 */ beqz $s2, .L7F08CA10 -/* 0C1524 7F08C9F4 00000000 */ nop -/* 0C1528 7F08C9F8 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C152C 7F08C9FC 00000000 */ nop -/* 0C1530 7F08CA00 5040000B */ beql $v0, $zero, .L7F08CA30 -/* 0C1534 7F08CA04 8FAF0028 */ lw $t7, 0x28($sp) -/* 0C1538 7F08CA08 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C153C 7F08CA0C 8DC40000 */ lw $a0, ($t6) -.L7F08CA10: -/* 0C1540 7F08CA10 16240003 */ bne $s1, $a0, .L7F08CA20 -/* 0C1544 7F08CA14 0093082A */ slt $at, $a0, $s3 -/* 0C1548 7F08CA18 50200005 */ beql $at, $zero, .L7F08CA30 -/* 0C154C 7F08CA1C 8FAF0028 */ lw $t7, 0x28($sp) -.L7F08CA20: -/* 0C1550 7F08CA20 00808825 */ move $s1, $a0 -/* 0C1554 7F08CA24 1000002F */ b .L7F08CAE4 -/* 0C1558 7F08CA28 00809825 */ move $s3, $a0 -/* 0C155C 7F08CA2C 8FAF0028 */ lw $t7, 0x28($sp) -.L7F08CA30: -/* 0C1560 7F08CA30 24030021 */ li $v1, 33 -/* 0C1564 7F08CA34 8DF80000 */ lw $t8, ($t7) -/* 0C1568 7F08CA38 16380005 */ bne $s1, $t8, .L7F08CA50 -/* 0C156C 7F08CA3C 00000000 */ nop -/* 0C1570 7F08CA40 8FB9002C */ lw $t9, 0x2c($sp) -/* 0C1574 7F08CA44 8F280000 */ lw $t0, ($t9) -/* 0C1578 7F08CA48 56680027 */ bnel $s3, $t0, .L7F08CAE8 -/* 0C157C 7F08CA4C 8FAB0028 */ lw $t3, 0x28($sp) -.L7F08CA50: -/* 0C1580 7F08CA50 26090001 */ addiu $t1, $s0, 1 -.L7F08CA54: -/* 0C1584 7F08CA54 0123001A */ div $zero, $t1, $v1 -/* 0C1588 7F08CA58 00008010 */ mfhi $s0 -/* 0C158C 7F08CA5C 260A0001 */ addiu $t2, $s0, 1 -/* 0C1590 7F08CA60 14600002 */ bnez $v1, .L7F08CA6C -/* 0C1594 7F08CA64 00000000 */ nop -/* 0C1598 7F08CA68 0007000D */ break 7 -.L7F08CA6C: -/* 0C159C 7F08CA6C 2401FFFF */ li $at, -1 -/* 0C15A0 7F08CA70 14610004 */ bne $v1, $at, .L7F08CA84 -/* 0C15A4 7F08CA74 3C018000 */ lui $at, 0x8000 -/* 0C15A8 7F08CA78 15210002 */ bne $t1, $at, .L7F08CA84 -/* 0C15AC 7F08CA7C 00000000 */ nop -/* 0C15B0 7F08CA80 0006000D */ break 6 -.L7F08CA84: -/* 0C15B4 7F08CA84 1600000C */ bnez $s0, .L7F08CAB8 -/* 0C15B8 7F08CA88 00000000 */ nop -/* 0C15BC 7F08CA8C 0143001A */ div $zero, $t2, $v1 -/* 0C15C0 7F08CA90 00008010 */ mfhi $s0 -/* 0C15C4 7F08CA94 14600002 */ bnez $v1, .L7F08CAA0 -/* 0C15C8 7F08CA98 00000000 */ nop -/* 0C15CC 7F08CA9C 0007000D */ break 7 -.L7F08CAA0: -/* 0C15D0 7F08CAA0 2401FFFF */ li $at, -1 -/* 0C15D4 7F08CAA4 14610004 */ bne $v1, $at, .L7F08CAB8 -/* 0C15D8 7F08CAA8 3C018000 */ lui $at, 0x8000 -/* 0C15DC 7F08CAAC 15410002 */ bne $t2, $at, .L7F08CAB8 -/* 0C15E0 7F08CAB0 00000000 */ nop -/* 0C15E4 7F08CAB4 0006000D */ break 6 -.L7F08CAB8: -/* 0C15E8 7F08CAB8 52400006 */ beql $s2, $zero, .L7F08CAD4 -/* 0C15EC 7F08CABC 02008825 */ move $s1, $s0 -/* 0C15F0 7F08CAC0 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C15F4 7F08CAC4 02002025 */ move $a0, $s0 -/* 0C15F8 7F08CAC8 10400004 */ beqz $v0, .L7F08CADC -/* 0C15FC 7F08CACC 24030021 */ li $v1, 33 -/* 0C1600 7F08CAD0 02008825 */ move $s1, $s0 -.L7F08CAD4: -/* 0C1604 7F08CAD4 10000003 */ b .L7F08CAE4 -/* 0C1608 7F08CAD8 00009825 */ move $s3, $zero -.L7F08CADC: -/* 0C160C 7F08CADC 5611FFDD */ bnel $s0, $s1, .L7F08CA54 -/* 0C1610 7F08CAE0 26090001 */ addiu $t1, $s0, 1 -.L7F08CAE4: -/* 0C1614 7F08CAE4 8FAB0028 */ lw $t3, 0x28($sp) -.L7F08CAE8: -/* 0C1618 7F08CAE8 AD710000 */ sw $s1, ($t3) -/* 0C161C 7F08CAEC 8FAC002C */ lw $t4, 0x2c($sp) -/* 0C1620 7F08CAF0 AD930000 */ sw $s3, ($t4) -/* 0C1624 7F08CAF4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C1628 7F08CAF8 8FB30020 */ lw $s3, 0x20($sp) -/* 0C162C 7F08CAFC 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C1630 7F08CB00 8FB10018 */ lw $s1, 0x18($sp) -/* 0C1634 7F08CB04 8FB00014 */ lw $s0, 0x14($sp) -/* 0C1638 7F08CB08 03E00008 */ jr $ra -/* 0C163C 7F08CB0C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08C86C -/* 0C1CD4 7F08D164 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C1CD8 7F08D168 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0C1CDC 7F08D16C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0C1CE0 7F08D170 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C1CE4 7F08D174 AFB30020 */ sw $s3, 0x20($sp) -/* 0C1CE8 7F08D178 AFB2001C */ sw $s2, 0x1c($sp) -/* 0C1CEC 7F08D17C AFB10018 */ sw $s1, 0x18($sp) -/* 0C1CF0 7F08D180 AFB00014 */ sw $s0, 0x14($sp) -/* 0C1CF4 7F08D184 AFA40028 */ sw $a0, 0x28($sp) -/* 0C1CF8 7F08D188 AFA5002C */ sw $a1, 0x2c($sp) -/* 0C1CFC 7F08D18C 8C7011E0 */ lw $s0, 0x11e0($v1) -/* 0C1D00 7F08D190 00C09025 */ move $s2, $a2 -/* 0C1D04 7F08D194 8C910000 */ lw $s1, ($a0) -/* 0C1D08 7F08D198 1200003D */ beqz $s0, .Ljp7F08D290 -/* 0C1D0C 7F08D19C 8CB30000 */ lw $s3, ($a1) -/* 0C1D10 7F08D1A0 8E020000 */ lw $v0, ($s0) -.Ljp7F08D1A4: -/* 0C1D14 7F08D1A4 24010001 */ li $at, 1 -/* 0C1D18 7F08D1A8 54410013 */ bnel $v0, $at, .Ljp7F08D1F8 -/* 0C1D1C 7F08D1AC 24010003 */ li $at, 3 -/* 0C1D20 7F08D1B0 8E040004 */ lw $a0, 4($s0) -/* 0C1D24 7F08D1B4 28810021 */ slti $at, $a0, 0x21 -/* 0C1D28 7F08D1B8 10200029 */ beqz $at, .Ljp7F08D260 -/* 0C1D2C 7F08D1BC 0224082A */ slt $at, $s1, $a0 -/* 0C1D30 7F08D1C0 10200027 */ beqz $at, .Ljp7F08D260 -/* 0C1D34 7F08D1C4 00000000 */ nop -/* 0C1D38 7F08D1C8 52400008 */ beql $s2, $zero, .Ljp7F08D1EC -/* 0C1D3C 7F08D1CC 00808825 */ move $s1, $a0 -/* 0C1D40 7F08D1D0 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C1D44 7F08D1D4 00000000 */ nop -/* 0C1D48 7F08D1D8 10400021 */ beqz $v0, .Ljp7F08D260 -/* 0C1D4C 7F08D1DC 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0C1D50 7F08D1E0 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0C1D54 7F08D1E4 8E040004 */ lw $a0, 4($s0) -/* 0C1D58 7F08D1E8 00808825 */ move $s1, $a0 -.Ljp7F08D1EC: -/* 0C1D5C 7F08D1EC 10000028 */ b .Ljp7F08D290 -/* 0C1D60 7F08D1F0 00009825 */ move $s3, $zero -/* 0C1D64 7F08D1F4 24010003 */ li $at, 3 -.Ljp7F08D1F8: -/* 0C1D68 7F08D1F8 14410019 */ bne $v0, $at, .Ljp7F08D260 -/* 0C1D6C 7F08D1FC 00000000 */ nop -/* 0C1D70 7F08D200 8E040004 */ lw $a0, 4($s0) -/* 0C1D74 7F08D204 0224082A */ slt $at, $s1, $a0 -/* 0C1D78 7F08D208 14200007 */ bnez $at, .Ljp7F08D228 -/* 0C1D7C 7F08D20C 00000000 */ nop -/* 0C1D80 7F08D210 16240013 */ bne $s1, $a0, .Ljp7F08D260 -/* 0C1D84 7F08D214 00000000 */ nop -/* 0C1D88 7F08D218 8E180008 */ lw $t8, 8($s0) -/* 0C1D8C 7F08D21C 0278082A */ slt $at, $s3, $t8 -/* 0C1D90 7F08D220 1020000F */ beqz $at, .Ljp7F08D260 -/* 0C1D94 7F08D224 00000000 */ nop -.Ljp7F08D228: -/* 0C1D98 7F08D228 12400008 */ beqz $s2, .Ljp7F08D24C -/* 0C1D9C 7F08D22C 00000000 */ nop -/* 0C1DA0 7F08D230 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C1DA4 7F08D234 00000000 */ nop -/* 0C1DA8 7F08D238 14400004 */ bnez $v0, .Ljp7F08D24C -/* 0C1DAC 7F08D23C 00000000 */ nop -/* 0C1DB0 7F08D240 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C1DB4 7F08D244 8E040008 */ lw $a0, 8($s0) -/* 0C1DB8 7F08D248 10400005 */ beqz $v0, .Ljp7F08D260 -.Ljp7F08D24C: -/* 0C1DBC 7F08D24C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0C1DC0 7F08D250 8E110004 */ lw $s1, 4($s0) -/* 0C1DC4 7F08D254 8E130008 */ lw $s3, 8($s0) -/* 0C1DC8 7F08D258 1000000D */ b .Ljp7F08D290 -/* 0C1DCC 7F08D25C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -.Ljp7F08D260: -/* 0C1DD0 7F08D260 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0C1DD4 7F08D264 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0C1DD8 7F08D268 8E10000C */ lw $s0, 0xc($s0) -/* 0C1DDC 7F08D26C 8C7911E0 */ lw $t9, 0x11e0($v1) -/* 0C1DE0 7F08D270 16190005 */ bne $s0, $t9, .Ljp7F08D288 -/* 0C1DE4 7F08D274 00000000 */ nop -/* 0C1DE8 7F08D278 56400006 */ bnezl $s2, .Ljp7F08D294 -/* 0C1DEC 7F08D27C 8C6811EC */ lw $t0, 0x11ec($v1) -/* 0C1DF0 7F08D280 2411FFFF */ li $s1, -1 -/* 0C1DF4 7F08D284 2413FFFF */ li $s3, -1 -.Ljp7F08D288: -/* 0C1DF8 7F08D288 5600FFC6 */ bnezl $s0, .Ljp7F08D1A4 -/* 0C1DFC 7F08D28C 8E020000 */ lw $v0, ($s0) -.Ljp7F08D290: -/* 0C1E00 7F08D290 8C6811EC */ lw $t0, 0x11ec($v1) -.Ljp7F08D294: -/* 0C1E04 7F08D294 8FA90028 */ lw $t1, 0x28($sp) -/* 0C1E08 7F08D298 5100005E */ beql $t0, $zero, .Ljp7F08D414 -/* 0C1E0C 7F08D29C 8FAD0028 */ lw $t5, 0x28($sp) -/* 0C1E10 7F08D2A0 0FC26C01 */ jal get_num_players -/* 0C1E14 7F08D2A4 8D300000 */ lw $s0, ($t1) -/* 0C1E18 7F08D2A8 24010001 */ li $at, 1 -/* 0C1E1C 7F08D2AC 14410023 */ bne $v0, $at, .Ljp7F08D33C -/* 0C1E20 7F08D2B0 8FAA0028 */ lw $t2, 0x28($sp) -/* 0C1E24 7F08D2B4 8D440000 */ lw $a0, ($t2) -/* 0C1E28 7F08D2B8 0FC17975 */ jal check_special_attributes -/* 0C1E2C 7F08D2BC 3C050010 */ lui $a1, 0x10 -/* 0C1E30 7F08D2C0 5040001F */ beql $v0, $zero, .Ljp7F08D340 -/* 0C1E34 7F08D2C4 8FB80028 */ lw $t8, 0x28($sp) -/* 0C1E38 7F08D2C8 8FAB0028 */ lw $t3, 0x28($sp) -/* 0C1E3C 7F08D2CC 8FAC002C */ lw $t4, 0x2c($sp) -/* 0C1E40 7F08D2D0 8D640000 */ lw $a0, ($t3) -/* 0C1E44 7F08D2D4 8D8D0000 */ lw $t5, ($t4) -/* 0C1E48 7F08D2D8 01A4082A */ slt $at, $t5, $a0 -/* 0C1E4C 7F08D2DC 50200018 */ beql $at, $zero, .Ljp7F08D340 -/* 0C1E50 7F08D2E0 8FB80028 */ lw $t8, 0x28($sp) -/* 0C1E54 7F08D2E4 12400007 */ beqz $s2, .Ljp7F08D304 -/* 0C1E58 7F08D2E8 00000000 */ nop -/* 0C1E5C 7F08D2EC 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C1E60 7F08D2F0 00000000 */ nop -/* 0C1E64 7F08D2F4 50400012 */ beql $v0, $zero, .Ljp7F08D340 -/* 0C1E68 7F08D2F8 8FB80028 */ lw $t8, 0x28($sp) -/* 0C1E6C 7F08D2FC 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C1E70 7F08D300 8DC40000 */ lw $a0, ($t6) -.Ljp7F08D304: -/* 0C1E74 7F08D304 16240003 */ bne $s1, $a0, .Ljp7F08D314 -/* 0C1E78 7F08D308 0093082A */ slt $at, $a0, $s3 -/* 0C1E7C 7F08D30C 5020000C */ beql $at, $zero, .Ljp7F08D340 -/* 0C1E80 7F08D310 8FB80028 */ lw $t8, 0x28($sp) -.Ljp7F08D314: -/* 0C1E84 7F08D314 3C0F8005 */ lui $t7, %hi(j_text_trigger) # $t7, 0x8005 -/* 0C1E88 7F08D318 8DEF8500 */ lw $t7, %lo(j_text_trigger)($t7) -/* 0C1E8C 7F08D31C 24010002 */ li $at, 2 -/* 0C1E90 7F08D320 51E00004 */ beql $t7, $zero, .Ljp7F08D334 -/* 0C1E94 7F08D324 00808825 */ move $s1, $a0 -/* 0C1E98 7F08D328 50810005 */ beql $a0, $at, .Ljp7F08D340 -/* 0C1E9C 7F08D32C 8FB80028 */ lw $t8, 0x28($sp) -/* 0C1EA0 7F08D330 00808825 */ move $s1, $a0 -.Ljp7F08D334: -/* 0C1EA4 7F08D334 10000036 */ b .Ljp7F08D410 -/* 0C1EA8 7F08D338 00809825 */ move $s3, $a0 -.Ljp7F08D33C: -/* 0C1EAC 7F08D33C 8FB80028 */ lw $t8, 0x28($sp) -.Ljp7F08D340: -/* 0C1EB0 7F08D340 24030021 */ li $v1, 33 -/* 0C1EB4 7F08D344 8F190000 */ lw $t9, ($t8) -/* 0C1EB8 7F08D348 16390005 */ bne $s1, $t9, .Ljp7F08D360 -/* 0C1EBC 7F08D34C 00000000 */ nop -/* 0C1EC0 7F08D350 8FA8002C */ lw $t0, 0x2c($sp) -/* 0C1EC4 7F08D354 8D090000 */ lw $t1, ($t0) -/* 0C1EC8 7F08D358 5669002E */ bnel $s3, $t1, .Ljp7F08D414 -/* 0C1ECC 7F08D35C 8FAD0028 */ lw $t5, 0x28($sp) -.Ljp7F08D360: -/* 0C1ED0 7F08D360 260A0001 */ addiu $t2, $s0, 1 -.Ljp7F08D364: -/* 0C1ED4 7F08D364 0143001A */ div $zero, $t2, $v1 -/* 0C1ED8 7F08D368 00008010 */ mfhi $s0 -/* 0C1EDC 7F08D36C 14600002 */ bnez $v1, .Ljp7F08D378 -/* 0C1EE0 7F08D370 00000000 */ nop -/* 0C1EE4 7F08D374 0007000D */ break 7 -.Ljp7F08D378: -/* 0C1EE8 7F08D378 2401FFFF */ li $at, -1 -/* 0C1EEC 7F08D37C 14610004 */ bne $v1, $at, .Ljp7F08D390 -/* 0C1EF0 7F08D380 3C018000 */ lui $at, 0x8000 -/* 0C1EF4 7F08D384 15410002 */ bne $t2, $at, .Ljp7F08D390 -/* 0C1EF8 7F08D388 00000000 */ nop -/* 0C1EFC 7F08D38C 0006000D */ break 6 -.Ljp7F08D390: -/* 0C1F00 7F08D390 1600000D */ bnez $s0, .Ljp7F08D3C8 -/* 0C1F04 7F08D394 00000000 */ nop -/* 0C1F08 7F08D398 260B0001 */ addiu $t3, $s0, 1 -/* 0C1F0C 7F08D39C 0163001A */ div $zero, $t3, $v1 -/* 0C1F10 7F08D3A0 00008010 */ mfhi $s0 -/* 0C1F14 7F08D3A4 14600002 */ bnez $v1, .Ljp7F08D3B0 -/* 0C1F18 7F08D3A8 00000000 */ nop -/* 0C1F1C 7F08D3AC 0007000D */ break 7 -.Ljp7F08D3B0: -/* 0C1F20 7F08D3B0 2401FFFF */ li $at, -1 -/* 0C1F24 7F08D3B4 14610004 */ bne $v1, $at, .Ljp7F08D3C8 -/* 0C1F28 7F08D3B8 3C018000 */ lui $at, 0x8000 -/* 0C1F2C 7F08D3BC 15610002 */ bne $t3, $at, .Ljp7F08D3C8 -/* 0C1F30 7F08D3C0 00000000 */ nop -/* 0C1F34 7F08D3C4 0006000D */ break 6 -.Ljp7F08D3C8: -/* 0C1F38 7F08D3C8 12400005 */ beqz $s2, .Ljp7F08D3E0 -/* 0C1F3C 7F08D3CC 00000000 */ nop -/* 0C1F40 7F08D3D0 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C1F44 7F08D3D4 02002025 */ move $a0, $s0 -/* 0C1F48 7F08D3D8 1040000B */ beqz $v0, .Ljp7F08D408 -/* 0C1F4C 7F08D3DC 24030021 */ li $v1, 33 -.Ljp7F08D3E0: -/* 0C1F50 7F08D3E0 3C0C8005 */ lui $t4, %hi(j_text_trigger) # $t4, 0x8005 -/* 0C1F54 7F08D3E4 8D8C8500 */ lw $t4, %lo(j_text_trigger)($t4) -/* 0C1F58 7F08D3E8 24010002 */ li $at, 2 -/* 0C1F5C 7F08D3EC 51800004 */ beql $t4, $zero, .Ljp7F08D400 -/* 0C1F60 7F08D3F0 02008825 */ move $s1, $s0 -/* 0C1F64 7F08D3F4 12010004 */ beq $s0, $at, .Ljp7F08D408 -/* 0C1F68 7F08D3F8 00000000 */ nop -/* 0C1F6C 7F08D3FC 02008825 */ move $s1, $s0 -.Ljp7F08D400: -/* 0C1F70 7F08D400 10000003 */ b .Ljp7F08D410 -/* 0C1F74 7F08D404 00009825 */ move $s3, $zero -.Ljp7F08D408: -/* 0C1F78 7F08D408 5611FFD6 */ bnel $s0, $s1, .Ljp7F08D364 -/* 0C1F7C 7F08D40C 260A0001 */ addiu $t2, $s0, 1 -.Ljp7F08D410: -/* 0C1F80 7F08D410 8FAD0028 */ lw $t5, 0x28($sp) -.Ljp7F08D414: -/* 0C1F84 7F08D414 ADB10000 */ sw $s1, ($t5) -/* 0C1F88 7F08D418 8FAE002C */ lw $t6, 0x2c($sp) -/* 0C1F8C 7F08D41C ADD30000 */ sw $s3, ($t6) -/* 0C1F90 7F08D420 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C1F94 7F08D424 8FB30020 */ lw $s3, 0x20($sp) -/* 0C1F98 7F08D428 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C1F9C 7F08D42C 8FB10018 */ lw $s1, 0x18($sp) -/* 0C1FA0 7F08D430 8FB00014 */ lw $s0, 0x14($sp) -/* 0C1FA4 7F08D434 03E00008 */ jr $ra -/* 0C1FA8 7F08D438 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F08CB10(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08CB10 -/* 0C1640 7F08CB10 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C1644 7F08CB14 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C1648 7F08CB18 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0C164C 7F08CB1C AFBF0024 */ sw $ra, 0x24($sp) -/* 0C1650 7F08CB20 AFB30020 */ sw $s3, 0x20($sp) -/* 0C1654 7F08CB24 AFB2001C */ sw $s2, 0x1c($sp) -/* 0C1658 7F08CB28 AFB10018 */ sw $s1, 0x18($sp) -/* 0C165C 7F08CB2C AFB00014 */ sw $s0, 0x14($sp) -/* 0C1660 7F08CB30 AFA40028 */ sw $a0, 0x28($sp) -/* 0C1664 7F08CB34 AFA5002C */ sw $a1, 0x2c($sp) -/* 0C1668 7F08CB38 8C6211E0 */ lw $v0, 0x11e0($v1) -/* 0C166C 7F08CB3C 00C09025 */ move $s2, $a2 -/* 0C1670 7F08CB40 8C910000 */ lw $s1, ($a0) -/* 0C1674 7F08CB44 00807025 */ move $t6, $a0 -/* 0C1678 7F08CB48 8CB30000 */ lw $s3, ($a1) -/* 0C167C 7F08CB4C 10400042 */ beqz $v0, .L7F08CC58 -/* 0C1680 7F08CB50 00A07825 */ move $t7, $a1 -/* 0C1684 7F08CB54 8C500010 */ lw $s0, 0x10($v0) -.L7F08CB58: -/* 0C1688 7F08CB58 8E020000 */ lw $v0, ($s0) -/* 0C168C 7F08CB5C 24010001 */ li $at, 1 -/* 0C1690 7F08CB60 54410018 */ bnel $v0, $at, .L7F08CBC4 -/* 0C1694 7F08CB64 24010003 */ li $at, 3 -/* 0C1698 7F08CB68 8E040004 */ lw $a0, 4($s0) -/* 0C169C 7F08CB6C 28810021 */ slti $at, $a0, 0x21 -/* 0C16A0 7F08CB70 1020002E */ beqz $at, .L7F08CC2C -/* 0C16A4 7F08CB74 00000000 */ nop -/* 0C16A8 7F08CB78 0091082A */ slt $at, $a0, $s1 -/* 0C16AC 7F08CB7C 14200005 */ bnez $at, .L7F08CB94 -/* 0C16B0 7F08CB80 00000000 */ nop -/* 0C16B4 7F08CB84 16240029 */ bne $s1, $a0, .L7F08CC2C -/* 0C16B8 7F08CB88 00000000 */ nop -/* 0C16BC 7F08CB8C 1A600027 */ blez $s3, .L7F08CC2C -/* 0C16C0 7F08CB90 00000000 */ nop -.L7F08CB94: -/* 0C16C4 7F08CB94 52400008 */ beql $s2, $zero, .L7F08CBB8 -/* 0C16C8 7F08CB98 00808825 */ move $s1, $a0 -/* 0C16CC 7F08CB9C 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C16D0 7F08CBA0 00000000 */ nop -/* 0C16D4 7F08CBA4 10400021 */ beqz $v0, .L7F08CC2C -/* 0C16D8 7F08CBA8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C16DC 7F08CBAC 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0C16E0 7F08CBB0 8E040004 */ lw $a0, 4($s0) -/* 0C16E4 7F08CBB4 00808825 */ move $s1, $a0 -.L7F08CBB8: -/* 0C16E8 7F08CBB8 10000027 */ b .L7F08CC58 -/* 0C16EC 7F08CBBC 00009825 */ move $s3, $zero -/* 0C16F0 7F08CBC0 24010003 */ li $at, 3 -.L7F08CBC4: -/* 0C16F4 7F08CBC4 14410019 */ bne $v0, $at, .L7F08CC2C -/* 0C16F8 7F08CBC8 00000000 */ nop -/* 0C16FC 7F08CBCC 8E040004 */ lw $a0, 4($s0) -/* 0C1700 7F08CBD0 0091082A */ slt $at, $a0, $s1 -/* 0C1704 7F08CBD4 14200007 */ bnez $at, .L7F08CBF4 -/* 0C1708 7F08CBD8 00000000 */ nop -/* 0C170C 7F08CBDC 16240013 */ bne $s1, $a0, .L7F08CC2C -/* 0C1710 7F08CBE0 00000000 */ nop -/* 0C1714 7F08CBE4 8E180008 */ lw $t8, 8($s0) -/* 0C1718 7F08CBE8 0313082A */ slt $at, $t8, $s3 -/* 0C171C 7F08CBEC 1020000F */ beqz $at, .L7F08CC2C -/* 0C1720 7F08CBF0 00000000 */ nop -.L7F08CBF4: -/* 0C1724 7F08CBF4 12400008 */ beqz $s2, .L7F08CC18 -/* 0C1728 7F08CBF8 00000000 */ nop -/* 0C172C 7F08CBFC 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C1730 7F08CC00 00000000 */ nop -/* 0C1734 7F08CC04 14400004 */ bnez $v0, .L7F08CC18 -/* 0C1738 7F08CC08 00000000 */ nop -/* 0C173C 7F08CC0C 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C1740 7F08CC10 8E040008 */ lw $a0, 8($s0) -/* 0C1744 7F08CC14 10400005 */ beqz $v0, .L7F08CC2C -.L7F08CC18: -/* 0C1748 7F08CC18 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C174C 7F08CC1C 8E110004 */ lw $s1, 4($s0) -/* 0C1750 7F08CC20 8E130008 */ lw $s3, 8($s0) -/* 0C1754 7F08CC24 1000000C */ b .L7F08CC58 -/* 0C1758 7F08CC28 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F08CC2C: -/* 0C175C 7F08CC2C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C1760 7F08CC30 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0C1764 7F08CC34 8C7911E0 */ lw $t9, 0x11e0($v1) -/* 0C1768 7F08CC38 16190005 */ bne $s0, $t9, .L7F08CC50 -/* 0C176C 7F08CC3C 00000000 */ nop -/* 0C1770 7F08CC40 56400006 */ bnezl $s2, .L7F08CC5C -/* 0C1774 7F08CC44 8C6811EC */ lw $t0, 0x11ec($v1) -/* 0C1778 7F08CC48 241103E8 */ li $s1, 1000 -/* 0C177C 7F08CC4C 241303E8 */ li $s3, 1000 -.L7F08CC50: -/* 0C1780 7F08CC50 1000FFC1 */ b .L7F08CB58 -/* 0C1784 7F08CC54 8E100010 */ lw $s0, 0x10($s0) -.L7F08CC58: -/* 0C1788 7F08CC58 8C6811EC */ lw $t0, 0x11ec($v1) -.L7F08CC5C: -/* 0C178C 7F08CC5C 8FAA002C */ lw $t2, 0x2c($sp) -/* 0C1790 7F08CC60 51000079 */ beql $t0, $zero, .L7F08CE48 -/* 0C1794 7F08CC64 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C1798 7F08CC68 8D4B0000 */ lw $t3, ($t2) -/* 0C179C 7F08CC6C 8FA90028 */ lw $t1, 0x28($sp) -/* 0C17A0 7F08CC70 24030021 */ li $v1, 33 -/* 0C17A4 7F08CC74 1560001B */ bnez $t3, .L7F08CCE4 -/* 0C17A8 7F08CC78 8D300000 */ lw $s0, ($t1) -/* 0C17AC 7F08CC7C 260C0020 */ addiu $t4, $s0, 0x20 -/* 0C17B0 7F08CC80 0183001A */ div $zero, $t4, $v1 -/* 0C17B4 7F08CC84 00008010 */ mfhi $s0 -/* 0C17B8 7F08CC88 260D0020 */ addiu $t5, $s0, 0x20 -/* 0C17BC 7F08CC8C 14600002 */ bnez $v1, .L7F08CC98 -/* 0C17C0 7F08CC90 00000000 */ nop -/* 0C17C4 7F08CC94 0007000D */ break 7 -.L7F08CC98: -/* 0C17C8 7F08CC98 2401FFFF */ li $at, -1 -/* 0C17CC 7F08CC9C 14610004 */ bne $v1, $at, .L7F08CCB0 -/* 0C17D0 7F08CCA0 3C018000 */ lui $at, 0x8000 -/* 0C17D4 7F08CCA4 15810002 */ bne $t4, $at, .L7F08CCB0 -/* 0C17D8 7F08CCA8 00000000 */ nop -/* 0C17DC 7F08CCAC 0006000D */ break 6 -.L7F08CCB0: -/* 0C17E0 7F08CCB0 1600000C */ bnez $s0, .L7F08CCE4 -/* 0C17E4 7F08CCB4 00000000 */ nop -/* 0C17E8 7F08CCB8 01A3001A */ div $zero, $t5, $v1 -/* 0C17EC 7F08CCBC 00008010 */ mfhi $s0 -/* 0C17F0 7F08CCC0 14600002 */ bnez $v1, .L7F08CCCC -/* 0C17F4 7F08CCC4 00000000 */ nop -/* 0C17F8 7F08CCC8 0007000D */ break 7 -.L7F08CCCC: -/* 0C17FC 7F08CCCC 2401FFFF */ li $at, -1 -/* 0C1800 7F08CCD0 14610004 */ bne $v1, $at, .L7F08CCE4 -/* 0C1804 7F08CCD4 3C018000 */ lui $at, 0x8000 -/* 0C1808 7F08CCD8 15A10002 */ bne $t5, $at, .L7F08CCE4 -/* 0C180C 7F08CCDC 00000000 */ nop -/* 0C1810 7F08CCE0 0006000D */ break 6 -.L7F08CCE4: -/* 0C1814 7F08CCE4 1611001E */ bne $s0, $s1, .L7F08CD60 -/* 0C1818 7F08CCE8 00000000 */ nop -/* 0C181C 7F08CCEC 0FC26919 */ jal get_num_players -/* 0C1820 7F08CCF0 00000000 */ nop -/* 0C1824 7F08CCF4 24010001 */ li $at, 1 -/* 0C1828 7F08CCF8 14410052 */ bne $v0, $at, .L7F08CE44 -/* 0C182C 7F08CCFC 02002025 */ move $a0, $s0 -/* 0C1830 7F08CD00 0FC1782D */ jal check_special_attributes -/* 0C1834 7F08CD04 3C050010 */ lui $a1, 0x10 -/* 0C1838 7F08CD08 5040004F */ beql $v0, $zero, .L7F08CE48 -/* 0C183C 7F08CD0C 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C1840 7F08CD10 52400006 */ beql $s2, $zero, .L7F08CD2C -/* 0C1844 7F08CD14 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C1848 7F08CD18 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C184C 7F08CD1C 02002025 */ move $a0, $s0 -/* 0C1850 7F08CD20 50400049 */ beql $v0, $zero, .L7F08CE48 -/* 0C1854 7F08CD24 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C1858 7F08CD28 8FAE0028 */ lw $t6, 0x28($sp) -.L7F08CD2C: -/* 0C185C 7F08CD2C 8FB8002C */ lw $t8, 0x2c($sp) -/* 0C1860 7F08CD30 8DCF0000 */ lw $t7, ($t6) -/* 0C1864 7F08CD34 560F0005 */ bnel $s0, $t7, .L7F08CD4C -/* 0C1868 7F08CD38 0270082A */ slt $at, $s3, $s0 -/* 0C186C 7F08CD3C 8F190000 */ lw $t9, ($t8) -/* 0C1870 7F08CD40 0219082A */ slt $at, $s0, $t9 -/* 0C1874 7F08CD44 1020003F */ beqz $at, .L7F08CE44 -/* 0C1878 7F08CD48 0270082A */ slt $at, $s3, $s0 -.L7F08CD4C: -/* 0C187C 7F08CD4C 5020003E */ beql $at, $zero, .L7F08CE48 -/* 0C1880 7F08CD50 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C1884 7F08CD54 02008825 */ move $s1, $s0 -/* 0C1888 7F08CD58 1000003A */ b .L7F08CE44 -/* 0C188C 7F08CD5C 02009825 */ move $s3, $s0 -.L7F08CD60: -/* 0C1890 7F08CD60 12400005 */ beqz $s2, .L7F08CD78 -/* 0C1894 7F08CD64 00000000 */ nop -/* 0C1898 7F08CD68 0FC17817 */ jal check_if_have_ammo_for_item -/* 0C189C 7F08CD6C 02002025 */ move $a0, $s0 -/* 0C18A0 7F08CD70 10400018 */ beqz $v0, .L7F08CDD4 -/* 0C18A4 7F08CD74 24030021 */ li $v1, 33 -.L7F08CD78: -/* 0C18A8 7F08CD78 0FC26919 */ jal get_num_players -/* 0C18AC 7F08CD7C 00000000 */ nop -/* 0C18B0 7F08CD80 24010001 */ li $at, 1 -/* 0C18B4 7F08CD84 14410010 */ bne $v0, $at, .L7F08CDC8 -/* 0C18B8 7F08CD88 02002025 */ move $a0, $s0 -/* 0C18BC 7F08CD8C 0FC1782D */ jal check_special_attributes -/* 0C18C0 7F08CD90 3C050010 */ lui $a1, 0x10 -/* 0C18C4 7F08CD94 1040000C */ beqz $v0, .L7F08CDC8 -/* 0C18C8 7F08CD98 8FA80028 */ lw $t0, 0x28($sp) -/* 0C18CC 7F08CD9C 8D090000 */ lw $t1, ($t0) -/* 0C18D0 7F08CDA0 8FAA002C */ lw $t2, 0x2c($sp) -/* 0C18D4 7F08CDA4 02008825 */ move $s1, $s0 -/* 0C18D8 7F08CDA8 16090005 */ bne $s0, $t1, .L7F08CDC0 -/* 0C18DC 7F08CDAC 00000000 */ nop -/* 0C18E0 7F08CDB0 8D4B0000 */ lw $t3, ($t2) -/* 0C18E4 7F08CDB4 020B082A */ slt $at, $s0, $t3 -/* 0C18E8 7F08CDB8 50200004 */ beql $at, $zero, .L7F08CDCC -/* 0C18EC 7F08CDBC 02008825 */ move $s1, $s0 -.L7F08CDC0: -/* 0C18F0 7F08CDC0 10000020 */ b .L7F08CE44 -/* 0C18F4 7F08CDC4 02009825 */ move $s3, $s0 -.L7F08CDC8: -/* 0C18F8 7F08CDC8 02008825 */ move $s1, $s0 -.L7F08CDCC: -/* 0C18FC 7F08CDCC 1000001D */ b .L7F08CE44 -/* 0C1900 7F08CDD0 00009825 */ move $s3, $zero -.L7F08CDD4: -/* 0C1904 7F08CDD4 260C0020 */ addiu $t4, $s0, 0x20 -/* 0C1908 7F08CDD8 0183001A */ div $zero, $t4, $v1 -/* 0C190C 7F08CDDC 00008010 */ mfhi $s0 -/* 0C1910 7F08CDE0 14600002 */ bnez $v1, .L7F08CDEC -/* 0C1914 7F08CDE4 00000000 */ nop -/* 0C1918 7F08CDE8 0007000D */ break 7 -.L7F08CDEC: -/* 0C191C 7F08CDEC 2401FFFF */ li $at, -1 -/* 0C1920 7F08CDF0 14610004 */ bne $v1, $at, .L7F08CE04 -/* 0C1924 7F08CDF4 3C018000 */ lui $at, 0x8000 -/* 0C1928 7F08CDF8 15810002 */ bne $t4, $at, .L7F08CE04 -/* 0C192C 7F08CDFC 00000000 */ nop -/* 0C1930 7F08CE00 0006000D */ break 6 -.L7F08CE04: -/* 0C1934 7F08CE04 1600FFB7 */ bnez $s0, .L7F08CCE4 -/* 0C1938 7F08CE08 00000000 */ nop -/* 0C193C 7F08CE0C 260D0020 */ addiu $t5, $s0, 0x20 -/* 0C1940 7F08CE10 01A3001A */ div $zero, $t5, $v1 -/* 0C1944 7F08CE14 00008010 */ mfhi $s0 -/* 0C1948 7F08CE18 14600002 */ bnez $v1, .L7F08CE24 -/* 0C194C 7F08CE1C 00000000 */ nop -/* 0C1950 7F08CE20 0007000D */ break 7 -.L7F08CE24: -/* 0C1954 7F08CE24 2401FFFF */ li $at, -1 -/* 0C1958 7F08CE28 14610004 */ bne $v1, $at, .L7F08CE3C -/* 0C195C 7F08CE2C 3C018000 */ lui $at, 0x8000 -/* 0C1960 7F08CE30 15A10002 */ bne $t5, $at, .L7F08CE3C -/* 0C1964 7F08CE34 00000000 */ nop -/* 0C1968 7F08CE38 0006000D */ break 6 -.L7F08CE3C: -/* 0C196C 7F08CE3C 1000FFA9 */ b .L7F08CCE4 -/* 0C1970 7F08CE40 00000000 */ nop -.L7F08CE44: -/* 0C1974 7F08CE44 8FAE0028 */ lw $t6, 0x28($sp) -.L7F08CE48: -/* 0C1978 7F08CE48 ADD10000 */ sw $s1, ($t6) -/* 0C197C 7F08CE4C 8FAF002C */ lw $t7, 0x2c($sp) -/* 0C1980 7F08CE50 ADF30000 */ sw $s3, ($t7) -/* 0C1984 7F08CE54 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C1988 7F08CE58 8FB30020 */ lw $s3, 0x20($sp) -/* 0C198C 7F08CE5C 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C1990 7F08CE60 8FB10018 */ lw $s1, 0x18($sp) -/* 0C1994 7F08CE64 8FB00014 */ lw $s0, 0x14($sp) -/* 0C1998 7F08CE68 03E00008 */ jr $ra -/* 0C199C 7F08CE6C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08CB10 -/* 0C1FAC 7F08D43C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C1FB0 7F08D440 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0C1FB4 7F08D444 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0C1FB8 7F08D448 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C1FBC 7F08D44C AFB30020 */ sw $s3, 0x20($sp) -/* 0C1FC0 7F08D450 AFB2001C */ sw $s2, 0x1c($sp) -/* 0C1FC4 7F08D454 AFB10018 */ sw $s1, 0x18($sp) -/* 0C1FC8 7F08D458 AFB00014 */ sw $s0, 0x14($sp) -/* 0C1FCC 7F08D45C AFA40028 */ sw $a0, 0x28($sp) -/* 0C1FD0 7F08D460 AFA5002C */ sw $a1, 0x2c($sp) -/* 0C1FD4 7F08D464 8C6211E0 */ lw $v0, 0x11e0($v1) -/* 0C1FD8 7F08D468 00C09025 */ move $s2, $a2 -/* 0C1FDC 7F08D46C 8C910000 */ lw $s1, ($a0) -/* 0C1FE0 7F08D470 00807025 */ move $t6, $a0 -/* 0C1FE4 7F08D474 8CB30000 */ lw $s3, ($a1) -/* 0C1FE8 7F08D478 10400042 */ beqz $v0, .Ljp7F08D584 -/* 0C1FEC 7F08D47C 00A07825 */ move $t7, $a1 -/* 0C1FF0 7F08D480 8C500010 */ lw $s0, 0x10($v0) -.Ljp7F08D484: -/* 0C1FF4 7F08D484 8E020000 */ lw $v0, ($s0) -/* 0C1FF8 7F08D488 24010001 */ li $at, 1 -/* 0C1FFC 7F08D48C 54410018 */ bnel $v0, $at, .Ljp7F08D4F0 -/* 0C2000 7F08D490 24010003 */ li $at, 3 -/* 0C2004 7F08D494 8E040004 */ lw $a0, 4($s0) -/* 0C2008 7F08D498 28810021 */ slti $at, $a0, 0x21 -/* 0C200C 7F08D49C 1020002E */ beqz $at, .Ljp7F08D558 -/* 0C2010 7F08D4A0 00000000 */ nop -/* 0C2014 7F08D4A4 0091082A */ slt $at, $a0, $s1 -/* 0C2018 7F08D4A8 14200005 */ bnez $at, .Ljp7F08D4C0 -/* 0C201C 7F08D4AC 00000000 */ nop -/* 0C2020 7F08D4B0 16240029 */ bne $s1, $a0, .Ljp7F08D558 -/* 0C2024 7F08D4B4 00000000 */ nop -/* 0C2028 7F08D4B8 1A600027 */ blez $s3, .Ljp7F08D558 -/* 0C202C 7F08D4BC 00000000 */ nop -.Ljp7F08D4C0: -/* 0C2030 7F08D4C0 52400008 */ beql $s2, $zero, .Ljp7F08D4E4 -/* 0C2034 7F08D4C4 00808825 */ move $s1, $a0 -/* 0C2038 7F08D4C8 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C203C 7F08D4CC 00000000 */ nop -/* 0C2040 7F08D4D0 10400021 */ beqz $v0, .Ljp7F08D558 -/* 0C2044 7F08D4D4 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0C2048 7F08D4D8 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0C204C 7F08D4DC 8E040004 */ lw $a0, 4($s0) -/* 0C2050 7F08D4E0 00808825 */ move $s1, $a0 -.Ljp7F08D4E4: -/* 0C2054 7F08D4E4 10000027 */ b .Ljp7F08D584 -/* 0C2058 7F08D4E8 00009825 */ move $s3, $zero -/* 0C205C 7F08D4EC 24010003 */ li $at, 3 -.Ljp7F08D4F0: -/* 0C2060 7F08D4F0 14410019 */ bne $v0, $at, .Ljp7F08D558 -/* 0C2064 7F08D4F4 00000000 */ nop -/* 0C2068 7F08D4F8 8E040004 */ lw $a0, 4($s0) -/* 0C206C 7F08D4FC 0091082A */ slt $at, $a0, $s1 -/* 0C2070 7F08D500 14200007 */ bnez $at, .Ljp7F08D520 -/* 0C2074 7F08D504 00000000 */ nop -/* 0C2078 7F08D508 16240013 */ bne $s1, $a0, .Ljp7F08D558 -/* 0C207C 7F08D50C 00000000 */ nop -/* 0C2080 7F08D510 8E180008 */ lw $t8, 8($s0) -/* 0C2084 7F08D514 0313082A */ slt $at, $t8, $s3 -/* 0C2088 7F08D518 1020000F */ beqz $at, .Ljp7F08D558 -/* 0C208C 7F08D51C 00000000 */ nop -.Ljp7F08D520: -/* 0C2090 7F08D520 12400008 */ beqz $s2, .Ljp7F08D544 -/* 0C2094 7F08D524 00000000 */ nop -/* 0C2098 7F08D528 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C209C 7F08D52C 00000000 */ nop -/* 0C20A0 7F08D530 14400004 */ bnez $v0, .Ljp7F08D544 -/* 0C20A4 7F08D534 00000000 */ nop -/* 0C20A8 7F08D538 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C20AC 7F08D53C 8E040008 */ lw $a0, 8($s0) -/* 0C20B0 7F08D540 10400005 */ beqz $v0, .Ljp7F08D558 -.Ljp7F08D544: -/* 0C20B4 7F08D544 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0C20B8 7F08D548 8E110004 */ lw $s1, 4($s0) -/* 0C20BC 7F08D54C 8E130008 */ lw $s3, 8($s0) -/* 0C20C0 7F08D550 1000000C */ b .Ljp7F08D584 -/* 0C20C4 7F08D554 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -.Ljp7F08D558: -/* 0C20C8 7F08D558 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0C20CC 7F08D55C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0C20D0 7F08D560 8C7911E0 */ lw $t9, 0x11e0($v1) -/* 0C20D4 7F08D564 16190005 */ bne $s0, $t9, .Ljp7F08D57C -/* 0C20D8 7F08D568 00000000 */ nop -/* 0C20DC 7F08D56C 56400006 */ bnezl $s2, .Ljp7F08D588 -/* 0C20E0 7F08D570 8C6811EC */ lw $t0, 0x11ec($v1) -/* 0C20E4 7F08D574 241103E8 */ li $s1, 1000 -/* 0C20E8 7F08D578 241303E8 */ li $s3, 1000 -.Ljp7F08D57C: -/* 0C20EC 7F08D57C 1000FFC1 */ b .Ljp7F08D484 -/* 0C20F0 7F08D580 8E100010 */ lw $s0, 0x10($s0) -.Ljp7F08D584: -/* 0C20F4 7F08D584 8C6811EC */ lw $t0, 0x11ec($v1) -.Ljp7F08D588: -/* 0C20F8 7F08D588 8FAA002C */ lw $t2, 0x2c($sp) -/* 0C20FC 7F08D58C 51000087 */ beql $t0, $zero, .Ljp7F08D7AC -/* 0C2100 7F08D590 8FB80028 */ lw $t8, 0x28($sp) -/* 0C2104 7F08D594 8D4B0000 */ lw $t3, ($t2) -/* 0C2108 7F08D598 8FA90028 */ lw $t1, 0x28($sp) -/* 0C210C 7F08D59C 24030021 */ li $v1, 33 -/* 0C2110 7F08D5A0 1560001B */ bnez $t3, .Ljp7F08D610 -/* 0C2114 7F08D5A4 8D300000 */ lw $s0, ($t1) -/* 0C2118 7F08D5A8 260C0020 */ addiu $t4, $s0, 0x20 -/* 0C211C 7F08D5AC 0183001A */ div $zero, $t4, $v1 -/* 0C2120 7F08D5B0 00008010 */ mfhi $s0 -/* 0C2124 7F08D5B4 14600002 */ bnez $v1, .Ljp7F08D5C0 -/* 0C2128 7F08D5B8 00000000 */ nop -/* 0C212C 7F08D5BC 0007000D */ break 7 -.Ljp7F08D5C0: -/* 0C2130 7F08D5C0 2401FFFF */ li $at, -1 -/* 0C2134 7F08D5C4 14610004 */ bne $v1, $at, .Ljp7F08D5D8 -/* 0C2138 7F08D5C8 3C018000 */ lui $at, 0x8000 -/* 0C213C 7F08D5CC 15810002 */ bne $t4, $at, .Ljp7F08D5D8 -/* 0C2140 7F08D5D0 00000000 */ nop -/* 0C2144 7F08D5D4 0006000D */ break 6 -.Ljp7F08D5D8: -/* 0C2148 7F08D5D8 5600000E */ bnezl $s0, .Ljp7F08D614 -/* 0C214C 7F08D5DC 24030021 */ li $v1, 33 -/* 0C2150 7F08D5E0 260D0020 */ addiu $t5, $s0, 0x20 -/* 0C2154 7F08D5E4 01A3001A */ div $zero, $t5, $v1 -/* 0C2158 7F08D5E8 00008010 */ mfhi $s0 -/* 0C215C 7F08D5EC 14600002 */ bnez $v1, .Ljp7F08D5F8 -/* 0C2160 7F08D5F0 00000000 */ nop -/* 0C2164 7F08D5F4 0007000D */ break 7 -.Ljp7F08D5F8: -/* 0C2168 7F08D5F8 2401FFFF */ li $at, -1 -/* 0C216C 7F08D5FC 14610004 */ bne $v1, $at, .Ljp7F08D610 -/* 0C2170 7F08D600 3C018000 */ lui $at, 0x8000 -/* 0C2174 7F08D604 15A10002 */ bne $t5, $at, .Ljp7F08D610 -/* 0C2178 7F08D608 00000000 */ nop -/* 0C217C 7F08D60C 0006000D */ break 6 -.Ljp7F08D610: -/* 0C2180 7F08D610 24030021 */ li $v1, 33 -.Ljp7F08D614: -/* 0C2184 7F08D614 16110024 */ bne $s0, $s1, .Ljp7F08D6A8 -/* 0C2188 7F08D618 00000000 */ nop -/* 0C218C 7F08D61C 0FC26C01 */ jal get_num_players -/* 0C2190 7F08D620 00000000 */ nop -/* 0C2194 7F08D624 24010001 */ li $at, 1 -/* 0C2198 7F08D628 1441005F */ bne $v0, $at, .Ljp7F08D7A8 -/* 0C219C 7F08D62C 02002025 */ move $a0, $s0 -/* 0C21A0 7F08D630 0FC17975 */ jal check_special_attributes -/* 0C21A4 7F08D634 3C050010 */ lui $a1, 0x10 -/* 0C21A8 7F08D638 5040005C */ beql $v0, $zero, .Ljp7F08D7AC -/* 0C21AC 7F08D63C 8FB80028 */ lw $t8, 0x28($sp) -/* 0C21B0 7F08D640 52400006 */ beql $s2, $zero, .Ljp7F08D65C -/* 0C21B4 7F08D644 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C21B8 7F08D648 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C21BC 7F08D64C 02002025 */ move $a0, $s0 -/* 0C21C0 7F08D650 50400056 */ beql $v0, $zero, .Ljp7F08D7AC -/* 0C21C4 7F08D654 8FB80028 */ lw $t8, 0x28($sp) -/* 0C21C8 7F08D658 8FAE0028 */ lw $t6, 0x28($sp) -.Ljp7F08D65C: -/* 0C21CC 7F08D65C 8FB8002C */ lw $t8, 0x2c($sp) -/* 0C21D0 7F08D660 8DCF0000 */ lw $t7, ($t6) -/* 0C21D4 7F08D664 560F0005 */ bnel $s0, $t7, .Ljp7F08D67C -/* 0C21D8 7F08D668 0270082A */ slt $at, $s3, $s0 -/* 0C21DC 7F08D66C 8F190000 */ lw $t9, ($t8) -/* 0C21E0 7F08D670 0219082A */ slt $at, $s0, $t9 -/* 0C21E4 7F08D674 1020004C */ beqz $at, .Ljp7F08D7A8 -/* 0C21E8 7F08D678 0270082A */ slt $at, $s3, $s0 -.Ljp7F08D67C: -/* 0C21EC 7F08D67C 1020004A */ beqz $at, .Ljp7F08D7A8 -/* 0C21F0 7F08D680 3C088005 */ lui $t0, %hi(j_text_trigger) # $t0, 0x8005 -/* 0C21F4 7F08D684 8D088500 */ lw $t0, %lo(j_text_trigger)($t0) -/* 0C21F8 7F08D688 24010002 */ li $at, 2 -/* 0C21FC 7F08D68C 51000004 */ beql $t0, $zero, .Ljp7F08D6A0 -/* 0C2200 7F08D690 02008825 */ move $s1, $s0 -/* 0C2204 7F08D694 52010045 */ beql $s0, $at, .Ljp7F08D7AC -/* 0C2208 7F08D698 8FB80028 */ lw $t8, 0x28($sp) -/* 0C220C 7F08D69C 02008825 */ move $s1, $s0 -.Ljp7F08D6A0: -/* 0C2210 7F08D6A0 10000041 */ b .Ljp7F08D7A8 -/* 0C2214 7F08D6A4 02009825 */ move $s3, $s0 -.Ljp7F08D6A8: -/* 0C2218 7F08D6A8 12400005 */ beqz $s2, .Ljp7F08D6C0 -/* 0C221C 7F08D6AC 00000000 */ nop -/* 0C2220 7F08D6B0 0FC1795F */ jal check_if_have_ammo_for_item -/* 0C2224 7F08D6B4 02002025 */ move $a0, $s0 -/* 0C2228 7F08D6B8 1040001F */ beqz $v0, .Ljp7F08D738 -/* 0C222C 7F08D6BC 24030021 */ li $v1, 33 -.Ljp7F08D6C0: -/* 0C2230 7F08D6C0 3C098005 */ lui $t1, %hi(j_text_trigger) # $t1, 0x8005 -/* 0C2234 7F08D6C4 8D298500 */ lw $t1, %lo(j_text_trigger)($t1) -/* 0C2238 7F08D6C8 24010002 */ li $at, 2 -/* 0C223C 7F08D6CC 11200003 */ beqz $t1, .Ljp7F08D6DC -/* 0C2240 7F08D6D0 00000000 */ nop -/* 0C2244 7F08D6D4 52010019 */ beql $s0, $at, .Ljp7F08D73C -/* 0C2248 7F08D6D8 260E0020 */ addiu $t6, $s0, 0x20 -.Ljp7F08D6DC: -/* 0C224C 7F08D6DC 0FC26C01 */ jal get_num_players -/* 0C2250 7F08D6E0 00000000 */ nop -/* 0C2254 7F08D6E4 24010001 */ li $at, 1 -/* 0C2258 7F08D6E8 14410010 */ bne $v0, $at, .Ljp7F08D72C -/* 0C225C 7F08D6EC 02002025 */ move $a0, $s0 -/* 0C2260 7F08D6F0 0FC17975 */ jal check_special_attributes -/* 0C2264 7F08D6F4 3C050010 */ lui $a1, 0x10 -/* 0C2268 7F08D6F8 1040000C */ beqz $v0, .Ljp7F08D72C -/* 0C226C 7F08D6FC 8FAA0028 */ lw $t2, 0x28($sp) -/* 0C2270 7F08D700 8D4B0000 */ lw $t3, ($t2) -/* 0C2274 7F08D704 8FAC002C */ lw $t4, 0x2c($sp) -/* 0C2278 7F08D708 02008825 */ move $s1, $s0 -/* 0C227C 7F08D70C 160B0005 */ bne $s0, $t3, .Ljp7F08D724 -/* 0C2280 7F08D710 00000000 */ nop -/* 0C2284 7F08D714 8D8D0000 */ lw $t5, ($t4) -/* 0C2288 7F08D718 020D082A */ slt $at, $s0, $t5 -/* 0C228C 7F08D71C 50200004 */ beql $at, $zero, .Ljp7F08D730 -/* 0C2290 7F08D720 02008825 */ move $s1, $s0 -.Ljp7F08D724: -/* 0C2294 7F08D724 10000020 */ b .Ljp7F08D7A8 -/* 0C2298 7F08D728 02009825 */ move $s3, $s0 -.Ljp7F08D72C: -/* 0C229C 7F08D72C 02008825 */ move $s1, $s0 -.Ljp7F08D730: -/* 0C22A0 7F08D730 1000001D */ b .Ljp7F08D7A8 -/* 0C22A4 7F08D734 00009825 */ move $s3, $zero -.Ljp7F08D738: -/* 0C22A8 7F08D738 260E0020 */ addiu $t6, $s0, 0x20 -.Ljp7F08D73C: -/* 0C22AC 7F08D73C 01C3001A */ div $zero, $t6, $v1 -/* 0C22B0 7F08D740 00008010 */ mfhi $s0 -/* 0C22B4 7F08D744 14600002 */ bnez $v1, .Ljp7F08D750 -/* 0C22B8 7F08D748 00000000 */ nop -/* 0C22BC 7F08D74C 0007000D */ break 7 -.Ljp7F08D750: -/* 0C22C0 7F08D750 2401FFFF */ li $at, -1 -/* 0C22C4 7F08D754 14610004 */ bne $v1, $at, .Ljp7F08D768 -/* 0C22C8 7F08D758 3C018000 */ lui $at, 0x8000 -/* 0C22CC 7F08D75C 15C10002 */ bne $t6, $at, .Ljp7F08D768 -/* 0C22D0 7F08D760 00000000 */ nop -/* 0C22D4 7F08D764 0006000D */ break 6 -.Ljp7F08D768: -/* 0C22D8 7F08D768 1600FFAA */ bnez $s0, .Ljp7F08D614 -/* 0C22DC 7F08D76C 00000000 */ nop -/* 0C22E0 7F08D770 260F0020 */ addiu $t7, $s0, 0x20 -/* 0C22E4 7F08D774 01E3001A */ div $zero, $t7, $v1 -/* 0C22E8 7F08D778 00008010 */ mfhi $s0 -/* 0C22EC 7F08D77C 14600002 */ bnez $v1, .Ljp7F08D788 -/* 0C22F0 7F08D780 00000000 */ nop -/* 0C22F4 7F08D784 0007000D */ break 7 -.Ljp7F08D788: -/* 0C22F8 7F08D788 2401FFFF */ li $at, -1 -/* 0C22FC 7F08D78C 14610004 */ bne $v1, $at, .Ljp7F08D7A0 -/* 0C2300 7F08D790 3C018000 */ lui $at, 0x8000 -/* 0C2304 7F08D794 15E10002 */ bne $t7, $at, .Ljp7F08D7A0 -/* 0C2308 7F08D798 00000000 */ nop -/* 0C230C 7F08D79C 0006000D */ break 6 -.Ljp7F08D7A0: -/* 0C2310 7F08D7A0 1000FF9C */ b .Ljp7F08D614 -/* 0C2314 7F08D7A4 00000000 */ nop -.Ljp7F08D7A8: -/* 0C2318 7F08D7A8 8FB80028 */ lw $t8, 0x28($sp) -.Ljp7F08D7AC: -/* 0C231C 7F08D7AC AF110000 */ sw $s1, ($t8) -/* 0C2320 7F08D7B0 8FB9002C */ lw $t9, 0x2c($sp) -/* 0C2324 7F08D7B4 AF330000 */ sw $s3, ($t9) -/* 0C2328 7F08D7B8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C232C 7F08D7BC 8FB30020 */ lw $s3, 0x20($sp) -/* 0C2330 7F08D7C0 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C2334 7F08D7C4 8FB10018 */ lw $s1, 0x18($sp) -/* 0C2338 7F08D7C8 8FB00014 */ lw $s0, 0x14($sp) -/* 0C233C 7F08D7CC 03E00008 */ jr $ra -/* 0C2340 7F08D7D0 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F08CE70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08CE70 -/* 0C19A0 7F08CE70 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C19A4 7F08CE74 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C19A8 7F08CE78 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0C19AC 7F08CE7C AFB00004 */ sw $s0, 4($sp) -/* 0C19B0 7F08CE80 8DC511E0 */ lw $a1, 0x11e0($t6) -/* 0C19B4 7F08CE84 00808025 */ move $s0, $a0 -/* 0C19B8 7F08CE88 00001025 */ move $v0, $zero -/* 0C19BC 7F08CE8C 10A0001B */ beqz $a1, .L7F08CEFC -/* 0C19C0 7F08CE90 00A01825 */ move $v1, $a1 -/* 0C19C4 7F08CE94 240A0004 */ li $t2, 4 -/* 0C19C8 7F08CE98 24090001 */ li $t1, 1 -/* 0C19CC 7F08CE9C 24080002 */ li $t0, 2 -/* 0C19D0 7F08CEA0 8C6F0000 */ lw $t7, ($v1) -.L7F08CEA4: -/* 0C19D4 7F08CEA4 550F0011 */ bnel $t0, $t7, .L7F08CEEC -/* 0C19D8 7F08CEA8 8C63000C */ lw $v1, 0xc($v1) -/* 0C19DC 7F08CEAC 8C640004 */ lw $a0, 4($v1) -/* 0C19E0 7F08CEB0 90980000 */ lbu $t8, ($a0) -/* 0C19E4 7F08CEB4 5538000D */ bnel $t1, $t8, .L7F08CEEC -/* 0C19E8 7F08CEB8 8C63000C */ lw $v1, 0xc($v1) -/* 0C19EC 7F08CEBC 8C870004 */ lw $a3, 4($a0) -/* 0C19F0 7F08CEC0 90F90003 */ lbu $t9, 3($a3) -/* 0C19F4 7F08CEC4 55590009 */ bnel $t2, $t9, .L7F08CEEC -/* 0C19F8 7F08CEC8 8C63000C */ lw $v1, 0xc($v1) -/* 0C19FC 7F08CECC 8CEB0080 */ lw $t3, 0x80($a3) -/* 0C1A00 7F08CED0 004B1025 */ or $v0, $v0, $t3 -/* 0C1A04 7F08CED4 02026024 */ and $t4, $s0, $v0 -/* 0C1A08 7F08CED8 560C0004 */ bnel $s0, $t4, .L7F08CEEC -/* 0C1A0C 7F08CEDC 8C63000C */ lw $v1, 0xc($v1) -/* 0C1A10 7F08CEE0 10000007 */ b .L7F08CF00 -/* 0C1A14 7F08CEE4 24020001 */ li $v0, 1 -/* 0C1A18 7F08CEE8 8C63000C */ lw $v1, 0xc($v1) -.L7F08CEEC: -/* 0C1A1C 7F08CEEC 50650004 */ beql $v1, $a1, .L7F08CF00 -/* 0C1A20 7F08CEF0 00001025 */ move $v0, $zero -/* 0C1A24 7F08CEF4 5460FFEB */ bnezl $v1, .L7F08CEA4 -/* 0C1A28 7F08CEF8 8C6F0000 */ lw $t7, ($v1) -.L7F08CEFC: -/* 0C1A2C 7F08CEFC 00001025 */ move $v0, $zero -.L7F08CF00: -/* 0C1A30 7F08CF00 8FB00004 */ lw $s0, 4($sp) -/* 0C1A34 7F08CF04 03E00008 */ jr $ra -/* 0C1A38 7F08CF08 27BD0008 */ addiu $sp, $sp, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08CF0C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08CF0C -/* 0C1A3C 7F08CF0C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C1A40 7F08CF10 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C1A44 7F08CF14 240800F8 */ li $t0, 248 -/* 0C1A48 7F08CF18 24070004 */ li $a3, 4 -/* 0C1A4C 7F08CF1C 8DC311E0 */ lw $v1, 0x11e0($t6) -/* 0C1A50 7F08CF20 24060002 */ li $a2, 2 -/* 0C1A54 7F08CF24 10600013 */ beqz $v1, .L7F08CF74 -/* 0C1A58 7F08CF28 00601025 */ move $v0, $v1 -/* 0C1A5C 7F08CF2C 8C4F0000 */ lw $t7, ($v0) -.L7F08CF30: -/* 0C1A60 7F08CF30 54CF000C */ bnel $a2, $t7, .L7F08CF64 -/* 0C1A64 7F08CF34 8C42000C */ lw $v0, 0xc($v0) -/* 0C1A68 7F08CF38 8C440004 */ lw $a0, 4($v0) -/* 0C1A6C 7F08CF3C 90980000 */ lbu $t8, ($a0) -/* 0C1A70 7F08CF40 54F80008 */ bnel $a3, $t8, .L7F08CF64 -/* 0C1A74 7F08CF44 8C42000C */ lw $v0, 0xc($v0) -/* 0C1A78 7F08CF48 8C850004 */ lw $a1, 4($a0) -/* 0C1A7C 7F08CF4C 84B90004 */ lh $t9, 4($a1) -/* 0C1A80 7F08CF50 55190004 */ bnel $t0, $t9, .L7F08CF64 -/* 0C1A84 7F08CF54 8C42000C */ lw $v0, 0xc($v0) -/* 0C1A88 7F08CF58 03E00008 */ jr $ra -/* 0C1A8C 7F08CF5C 24020001 */ li $v0, 1 - -/* 0C1A90 7F08CF60 8C42000C */ lw $v0, 0xc($v0) -.L7F08CF64: -/* 0C1A94 7F08CF64 50430004 */ beql $v0, $v1, .L7F08CF78 -/* 0C1A98 7F08CF68 00001025 */ move $v0, $zero -/* 0C1A9C 7F08CF6C 5440FFF0 */ bnezl $v0, .L7F08CF30 -/* 0C1AA0 7F08CF70 8C4F0000 */ lw $t7, ($v0) -.L7F08CF74: -/* 0C1AA4 7F08CF74 00001025 */ move $v0, $zero -.L7F08CF78: -/* 0C1AA8 7F08CF78 03E00008 */ jr $ra -/* 0C1AAC 7F08CF7C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08CF80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08CF80 -/* 0C1AB0 7F08CF80 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C1AB4 7F08CF84 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C1AB8 7F08CF88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C1ABC 7F08CF8C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1AC0 7F08CF90 8DCF00D8 */ lw $t7, 0xd8($t6) -/* 0C1AC4 7F08CF94 00001025 */ move $v0, $zero -/* 0C1AC8 7F08CF98 15E00005 */ bnez $t7, .L7F08CFB0 -/* 0C1ACC 7F08CF9C 00000000 */ nop -/* 0C1AD0 7F08CFA0 0FC230C5 */ jal is_weapon_in_inv -/* 0C1AD4 7F08CFA4 24040058 */ li $a0, 88 -/* 0C1AD8 7F08CFA8 10000002 */ b .L7F08CFB4 -/* 0C1ADC 7F08CFAC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08CFB0: -/* 0C1AE0 7F08CFB0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08CFB4: -/* 0C1AE4 7F08CFB4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C1AE8 7F08CFB8 03E00008 */ jr $ra -/* 0C1AEC 7F08CFBC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void checkforgoldengun(void) { - -} -#else -GLOBAL_ASM( -.text -glabel checkforgoldengun -/* 0C1AF0 7F08CFC0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C1AF4 7F08CFC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1AF8 7F08CFC8 0FC230C5 */ jal is_weapon_in_inv -/* 0C1AFC 7F08CFCC 24040013 */ li $a0, 19 -/* 0C1B00 7F08CFD0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C1B04 7F08CFD4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C1B08 7F08CFD8 03E00008 */ jr $ra -/* 0C1B0C 7F08CFDC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08CFE0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08CFE0 -/* 0C1B10 7F08CFE0 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C1B14 7F08CFE4 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C1B18 7F08CFE8 24050002 */ li $a1, 2 -/* 0C1B1C 7F08CFEC 8DC311E0 */ lw $v1, 0x11e0($t6) -/* 0C1B20 7F08CFF0 1060000E */ beqz $v1, .L7F08D02C -/* 0C1B24 7F08CFF4 00601025 */ move $v0, $v1 -/* 0C1B28 7F08CFF8 8C4F0000 */ lw $t7, ($v0) -.L7F08CFFC: -/* 0C1B2C 7F08CFFC 54AF0007 */ bnel $a1, $t7, .L7F08D01C -/* 0C1B30 7F08D000 8C42000C */ lw $v0, 0xc($v0) -/* 0C1B34 7F08D004 8C580004 */ lw $t8, 4($v0) -/* 0C1B38 7F08D008 54980004 */ bnel $a0, $t8, .L7F08D01C -/* 0C1B3C 7F08D00C 8C42000C */ lw $v0, 0xc($v0) -/* 0C1B40 7F08D010 03E00008 */ jr $ra -/* 0C1B44 7F08D014 24020001 */ li $v0, 1 - -/* 0C1B48 7F08D018 8C42000C */ lw $v0, 0xc($v0) -.L7F08D01C: -/* 0C1B4C 7F08D01C 50430004 */ beql $v0, $v1, .L7F08D030 -/* 0C1B50 7F08D020 00001025 */ move $v0, $zero -/* 0C1B54 7F08D024 5440FFF5 */ bnezl $v0, .L7F08CFFC -/* 0C1B58 7F08D028 8C4F0000 */ lw $t7, ($v0) -.L7F08D02C: -/* 0C1B5C 7F08D02C 00001025 */ move $v0, $zero -.L7F08D030: -/* 0C1B60 7F08D030 03E00008 */ jr $ra -/* 0C1B64 7F08D034 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D038(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D038 -/* 0C1B68 7F08D038 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C1B6C 7F08D03C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0C1B70 7F08D040 00001825 */ move $v1, $zero -/* 0C1B74 7F08D044 3C0B0004 */ lui $t3, 4 -/* 0C1B78 7F08D048 8C4411EC */ lw $a0, 0x11ec($v0) -/* 0C1B7C 7F08D04C 240A0001 */ li $t2, 1 -/* 0C1B80 7F08D050 24090004 */ li $t1, 4 -/* 0C1B84 7F08D054 10800002 */ beqz $a0, .L7F08D060 -/* 0C1B88 7F08D058 24080002 */ li $t0, 2 -/* 0C1B8C 7F08D05C 24030020 */ li $v1, 32 -.L7F08D060: -/* 0C1B90 7F08D060 8C4611E0 */ lw $a2, 0x11e0($v0) -/* 0C1B94 7F08D064 10C00026 */ beqz $a2, .L7F08D100 -/* 0C1B98 7F08D068 00C02825 */ move $a1, $a2 -/* 0C1B9C 7F08D06C 8CA20000 */ lw $v0, ($a1) -.L7F08D070: -/* 0C1BA0 7F08D070 15020015 */ bne $t0, $v0, .L7F08D0C8 -/* 0C1BA4 7F08D074 00000000 */ nop -/* 0C1BA8 7F08D078 8CA20004 */ lw $v0, 4($a1) -/* 0C1BAC 7F08D07C 90470000 */ lbu $a3, ($v0) -/* 0C1BB0 7F08D080 15270008 */ bne $t1, $a3, .L7F08D0A4 -/* 0C1BB4 7F08D084 00000000 */ nop -/* 0C1BB8 7F08D088 8C470004 */ lw $a3, 4($v0) -/* 0C1BBC 7F08D08C 8CEE0064 */ lw $t6, 0x64($a3) -/* 0C1BC0 7F08D090 31CF0400 */ andi $t7, $t6, 0x400 -/* 0C1BC4 7F08D094 51E00016 */ beql $t7, $zero, .L7F08D0F0 -/* 0C1BC8 7F08D098 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1BCC 7F08D09C 10000013 */ b .L7F08D0EC -/* 0C1BD0 7F08D0A0 24630001 */ addiu $v1, $v1, 1 -.L7F08D0A4: -/* 0C1BD4 7F08D0A4 55470012 */ bnel $t2, $a3, .L7F08D0F0 -/* 0C1BD8 7F08D0A8 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1BDC 7F08D0AC 8C580004 */ lw $t8, 4($v0) -/* 0C1BE0 7F08D0B0 8F19000C */ lw $t9, 0xc($t8) -/* 0C1BE4 7F08D0B4 032B6024 */ and $t4, $t9, $t3 -/* 0C1BE8 7F08D0B8 5580000D */ bnezl $t4, .L7F08D0F0 -/* 0C1BEC 7F08D0BC 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1BF0 7F08D0C0 1000000A */ b .L7F08D0EC -/* 0C1BF4 7F08D0C4 24630001 */ addiu $v1, $v1, 1 -.L7F08D0C8: -/* 0C1BF8 7F08D0C8 55420009 */ bnel $t2, $v0, .L7F08D0F0 -/* 0C1BFC 7F08D0CC 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1C00 7F08D0D0 50800006 */ beql $a0, $zero, .L7F08D0EC -/* 0C1C04 7F08D0D4 24630001 */ addiu $v1, $v1, 1 -/* 0C1C08 7F08D0D8 8CAD0004 */ lw $t5, 4($a1) -/* 0C1C0C 7F08D0DC 29A10021 */ slti $at, $t5, 0x21 -/* 0C1C10 7F08D0E0 54200003 */ bnezl $at, .L7F08D0F0 -/* 0C1C14 7F08D0E4 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1C18 7F08D0E8 24630001 */ addiu $v1, $v1, 1 -.L7F08D0EC: -/* 0C1C1C 7F08D0EC 8CA5000C */ lw $a1, 0xc($a1) -.L7F08D0F0: -/* 0C1C20 7F08D0F0 10A60003 */ beq $a1, $a2, .L7F08D100 -/* 0C1C24 7F08D0F4 00000000 */ nop -/* 0C1C28 7F08D0F8 54A0FFDD */ bnezl $a1, .L7F08D070 -/* 0C1C2C 7F08D0FC 8CA20000 */ lw $v0, ($a1) -.L7F08D100: -/* 0C1C30 7F08D100 03E00008 */ jr $ra -/* 0C1C34 7F08D104 00601025 */ move $v0, $v1 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D038 -/* 0C250C 7F08D99C 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0C2510 7F08D9A0 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0C2514 7F08D9A4 00001825 */ move $v1, $zero -/* 0C2518 7F08D9A8 3C0E8005 */ lui $t6, %hi(j_text_trigger) # $t6, 0x8005 -/* 0C251C 7F08D9AC 8C4411EC */ lw $a0, 0x11ec($v0) -/* 0C2520 7F08D9B0 3C0B0004 */ lui $t3, 4 -/* 0C2524 7F08D9B4 240A0001 */ li $t2, 1 -/* 0C2528 7F08D9B8 10800007 */ beqz $a0, .Ljp7F08D9D8 -/* 0C252C 7F08D9BC 24090004 */ li $t1, 4 -/* 0C2530 7F08D9C0 8DCE8500 */ lw $t6, %lo(j_text_trigger)($t6) -/* 0C2534 7F08D9C4 24030020 */ li $v1, 32 -/* 0C2538 7F08D9C8 11C00003 */ beqz $t6, .Ljp7F08D9D8 -/* 0C253C 7F08D9CC 00000000 */ nop -/* 0C2540 7F08D9D0 10000001 */ b .Ljp7F08D9D8 -/* 0C2544 7F08D9D4 2403001F */ li $v1, 31 -.Ljp7F08D9D8: -/* 0C2548 7F08D9D8 8C4611E0 */ lw $a2, 0x11e0($v0) -/* 0C254C 7F08D9DC 24080002 */ li $t0, 2 -/* 0C2550 7F08D9E0 10C00026 */ beqz $a2, .Ljp7F08DA7C -/* 0C2554 7F08D9E4 00C02825 */ move $a1, $a2 -/* 0C2558 7F08D9E8 8CA20000 */ lw $v0, ($a1) -.Ljp7F08D9EC: -/* 0C255C 7F08D9EC 15020015 */ bne $t0, $v0, .Ljp7F08DA44 -/* 0C2560 7F08D9F0 00000000 */ nop -/* 0C2564 7F08D9F4 8CA20004 */ lw $v0, 4($a1) -/* 0C2568 7F08D9F8 90470000 */ lbu $a3, ($v0) -/* 0C256C 7F08D9FC 15270008 */ bne $t1, $a3, .Ljp7F08DA20 -/* 0C2570 7F08DA00 00000000 */ nop -/* 0C2574 7F08DA04 8C470004 */ lw $a3, 4($v0) -/* 0C2578 7F08DA08 8CEF0064 */ lw $t7, 0x64($a3) -/* 0C257C 7F08DA0C 31F80400 */ andi $t8, $t7, 0x400 -/* 0C2580 7F08DA10 53000016 */ beql $t8, $zero, .Ljp7F08DA6C -/* 0C2584 7F08DA14 8CA5000C */ lw $a1, 0xc($a1) -/* 0C2588 7F08DA18 10000013 */ b .Ljp7F08DA68 -/* 0C258C 7F08DA1C 24630001 */ addiu $v1, $v1, 1 -.Ljp7F08DA20: -/* 0C2590 7F08DA20 55470012 */ bnel $t2, $a3, .Ljp7F08DA6C -/* 0C2594 7F08DA24 8CA5000C */ lw $a1, 0xc($a1) -/* 0C2598 7F08DA28 8C590004 */ lw $t9, 4($v0) -/* 0C259C 7F08DA2C 8F2C000C */ lw $t4, 0xc($t9) -/* 0C25A0 7F08DA30 018B6824 */ and $t5, $t4, $t3 -/* 0C25A4 7F08DA34 55A0000D */ bnezl $t5, .Ljp7F08DA6C -/* 0C25A8 7F08DA38 8CA5000C */ lw $a1, 0xc($a1) -/* 0C25AC 7F08DA3C 1000000A */ b .Ljp7F08DA68 -/* 0C25B0 7F08DA40 24630001 */ addiu $v1, $v1, 1 -.Ljp7F08DA44: -/* 0C25B4 7F08DA44 55420009 */ bnel $t2, $v0, .Ljp7F08DA6C -/* 0C25B8 7F08DA48 8CA5000C */ lw $a1, 0xc($a1) -/* 0C25BC 7F08DA4C 50800006 */ beql $a0, $zero, .Ljp7F08DA68 -/* 0C25C0 7F08DA50 24630001 */ addiu $v1, $v1, 1 -/* 0C25C4 7F08DA54 8CAE0004 */ lw $t6, 4($a1) -/* 0C25C8 7F08DA58 29C10021 */ slti $at, $t6, 0x21 -/* 0C25CC 7F08DA5C 54200003 */ bnezl $at, .Ljp7F08DA6C -/* 0C25D0 7F08DA60 8CA5000C */ lw $a1, 0xc($a1) -/* 0C25D4 7F08DA64 24630001 */ addiu $v1, $v1, 1 -.Ljp7F08DA68: -/* 0C25D8 7F08DA68 8CA5000C */ lw $a1, 0xc($a1) -.Ljp7F08DA6C: -/* 0C25DC 7F08DA6C 10A60003 */ beq $a1, $a2, .Ljp7F08DA7C -/* 0C25E0 7F08DA70 00000000 */ nop -/* 0C25E4 7F08DA74 54A0FFDD */ bnezl $a1, .Ljp7F08D9EC -/* 0C25E8 7F08DA78 8CA20000 */ lw $v0, ($a1) -.Ljp7F08DA7C: -/* 0C25EC 7F08DA7C 03E00008 */ jr $ra -/* 0C25F0 7F08DA80 00601025 */ move $v0, $v1 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F08D108(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D108 -/* 0C1C38 7F08D108 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C1C3C 7F08D10C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0C1C40 7F08D110 28810020 */ slti $at, $a0, 0x20 -/* 0C1C44 7F08D114 8C4311EC */ lw $v1, 0x11ec($v0) -/* 0C1C48 7F08D118 50600006 */ beql $v1, $zero, .L7F08D134 -/* 0C1C4C 7F08D11C 8C4611E0 */ lw $a2, 0x11e0($v0) -/* 0C1C50 7F08D120 10200003 */ beqz $at, .L7F08D130 -/* 0C1C54 7F08D124 2484FFE0 */ addiu $a0, $a0, -0x20 -/* 0C1C58 7F08D128 03E00008 */ jr $ra -/* 0C1C5C 7F08D12C 00001025 */ move $v0, $zero - -.L7F08D130: -/* 0C1C60 7F08D130 8C4611E0 */ lw $a2, 0x11e0($v0) -.L7F08D134: -/* 0C1C64 7F08D134 3C0B0004 */ lui $t3, 4 -/* 0C1C68 7F08D138 240A0001 */ li $t2, 1 -/* 0C1C6C 7F08D13C 10C00034 */ beqz $a2, .L7F08D210 -/* 0C1C70 7F08D140 00C02825 */ move $a1, $a2 -/* 0C1C74 7F08D144 24090004 */ li $t1, 4 -/* 0C1C78 7F08D148 24080002 */ li $t0, 2 -/* 0C1C7C 7F08D14C 8CA20000 */ lw $v0, ($a1) -.L7F08D150: -/* 0C1C80 7F08D150 1502001D */ bne $t0, $v0, .L7F08D1C8 -/* 0C1C84 7F08D154 00000000 */ nop -/* 0C1C88 7F08D158 8CA20004 */ lw $v0, 4($a1) -/* 0C1C8C 7F08D15C 90470000 */ lbu $a3, ($v0) -/* 0C1C90 7F08D160 1527000C */ bne $t1, $a3, .L7F08D194 -/* 0C1C94 7F08D164 00000000 */ nop -/* 0C1C98 7F08D168 8C470004 */ lw $a3, 4($v0) -/* 0C1C9C 7F08D16C 8CEE0064 */ lw $t6, 0x64($a3) -/* 0C1CA0 7F08D170 31CF0400 */ andi $t7, $t6, 0x400 -/* 0C1CA4 7F08D174 51E00022 */ beql $t7, $zero, .L7F08D200 -/* 0C1CA8 7F08D178 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1CAC 7F08D17C 14800003 */ bnez $a0, .L7F08D18C -/* 0C1CB0 7F08D180 00000000 */ nop -/* 0C1CB4 7F08D184 03E00008 */ jr $ra -/* 0C1CB8 7F08D188 00A01025 */ move $v0, $a1 - -.L7F08D18C: -/* 0C1CBC 7F08D18C 1000001B */ b .L7F08D1FC -/* 0C1CC0 7F08D190 2484FFFF */ addiu $a0, $a0, -1 -.L7F08D194: -/* 0C1CC4 7F08D194 5547001A */ bnel $t2, $a3, .L7F08D200 -/* 0C1CC8 7F08D198 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1CCC 7F08D19C 8C580004 */ lw $t8, 4($v0) -/* 0C1CD0 7F08D1A0 8F19000C */ lw $t9, 0xc($t8) -/* 0C1CD4 7F08D1A4 032B6024 */ and $t4, $t9, $t3 -/* 0C1CD8 7F08D1A8 55800015 */ bnezl $t4, .L7F08D200 -/* 0C1CDC 7F08D1AC 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1CE0 7F08D1B0 14800003 */ bnez $a0, .L7F08D1C0 -/* 0C1CE4 7F08D1B4 00000000 */ nop -/* 0C1CE8 7F08D1B8 03E00008 */ jr $ra -/* 0C1CEC 7F08D1BC 00A01025 */ move $v0, $a1 - -.L7F08D1C0: -/* 0C1CF0 7F08D1C0 1000000E */ b .L7F08D1FC -/* 0C1CF4 7F08D1C4 2484FFFF */ addiu $a0, $a0, -1 -.L7F08D1C8: -/* 0C1CF8 7F08D1C8 5542000D */ bnel $t2, $v0, .L7F08D200 -/* 0C1CFC 7F08D1CC 8CA5000C */ lw $a1, 0xc($a1) -/* 0C1D00 7F08D1D0 10600005 */ beqz $v1, .L7F08D1E8 -/* 0C1D04 7F08D1D4 00000000 */ nop -/* 0C1D08 7F08D1D8 8CAD0004 */ lw $t5, 4($a1) -/* 0C1D0C 7F08D1DC 29A10021 */ slti $at, $t5, 0x21 -/* 0C1D10 7F08D1E0 54200007 */ bnezl $at, .L7F08D200 -/* 0C1D14 7F08D1E4 8CA5000C */ lw $a1, 0xc($a1) -.L7F08D1E8: -/* 0C1D18 7F08D1E8 54800004 */ bnezl $a0, .L7F08D1FC -/* 0C1D1C 7F08D1EC 2484FFFF */ addiu $a0, $a0, -1 -/* 0C1D20 7F08D1F0 03E00008 */ jr $ra -/* 0C1D24 7F08D1F4 00A01025 */ move $v0, $a1 - -/* 0C1D28 7F08D1F8 2484FFFF */ addiu $a0, $a0, -1 -.L7F08D1FC: -/* 0C1D2C 7F08D1FC 8CA5000C */ lw $a1, 0xc($a1) -.L7F08D200: -/* 0C1D30 7F08D200 50A60004 */ beql $a1, $a2, .L7F08D214 -/* 0C1D34 7F08D204 00001025 */ move $v0, $zero -/* 0C1D38 7F08D208 54A0FFD1 */ bnezl $a1, .L7F08D150 -/* 0C1D3C 7F08D20C 8CA20000 */ lw $v0, ($a1) -.L7F08D210: -/* 0C1D40 7F08D210 00001025 */ move $v0, $zero -.L7F08D214: -/* 0C1D44 7F08D214 03E00008 */ jr $ra -/* 0C1D48 7F08D218 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D108 -/* 0C25F4 7F08DA84 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0C25F8 7F08DA88 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0C25FC 7F08DA8C 00803025 */ move $a2, $a0 -/* 0C2600 7F08DA90 3C048005 */ lui $a0, %hi(j_text_trigger) # $a0, 0x8005 -/* 0C2604 7F08DA94 8C4311EC */ lw $v1, 0x11ec($v0) -/* 0C2608 7F08DA98 50600012 */ beql $v1, $zero, .Ljp7F08DAE4 -/* 0C260C 7F08DA9C 8C4511E0 */ lw $a1, 0x11e0($v0) -/* 0C2610 7F08DAA0 8C848500 */ lw $a0, %lo(j_text_trigger)($a0) -/* 0C2614 7F08DAA4 24050020 */ li $a1, 32 -/* 0C2618 7F08DAA8 10800003 */ beqz $a0, .Ljp7F08DAB8 -/* 0C261C 7F08DAAC 00000000 */ nop -/* 0C2620 7F08DAB0 10000001 */ b .Ljp7F08DAB8 -/* 0C2624 7F08DAB4 2405001F */ li $a1, 31 -.Ljp7F08DAB8: -/* 0C2628 7F08DAB8 00C5082A */ slt $at, $a2, $a1 -/* 0C262C 7F08DABC 10200003 */ beqz $at, .Ljp7F08DACC -/* 0C2630 7F08DAC0 00000000 */ nop -/* 0C2634 7F08DAC4 03E00008 */ jr $ra -/* 0C2638 7F08DAC8 00001025 */ move $v0, $zero - -.Ljp7F08DACC: -/* 0C263C 7F08DACC 10800003 */ beqz $a0, .Ljp7F08DADC -/* 0C2640 7F08DAD0 24050020 */ li $a1, 32 -/* 0C2644 7F08DAD4 10000001 */ b .Ljp7F08DADC -/* 0C2648 7F08DAD8 2405001F */ li $a1, 31 -.Ljp7F08DADC: -/* 0C264C 7F08DADC 00C53023 */ subu $a2, $a2, $a1 -/* 0C2650 7F08DAE0 8C4511E0 */ lw $a1, 0x11e0($v0) -.Ljp7F08DAE4: -/* 0C2654 7F08DAE4 3C0B0004 */ lui $t3, 4 -/* 0C2658 7F08DAE8 240A0001 */ li $t2, 1 -/* 0C265C 7F08DAEC 10A00034 */ beqz $a1, .Ljp7F08DBC0 -/* 0C2660 7F08DAF0 00A02025 */ move $a0, $a1 -/* 0C2664 7F08DAF4 24090004 */ li $t1, 4 -/* 0C2668 7F08DAF8 24080002 */ li $t0, 2 -/* 0C266C 7F08DAFC 8C820000 */ lw $v0, ($a0) -.Ljp7F08DB00: -/* 0C2670 7F08DB00 1502001D */ bne $t0, $v0, .Ljp7F08DB78 -/* 0C2674 7F08DB04 00000000 */ nop -/* 0C2678 7F08DB08 8C820004 */ lw $v0, 4($a0) -/* 0C267C 7F08DB0C 90470000 */ lbu $a3, ($v0) -/* 0C2680 7F08DB10 1527000C */ bne $t1, $a3, .Ljp7F08DB44 -/* 0C2684 7F08DB14 00000000 */ nop -/* 0C2688 7F08DB18 8C470004 */ lw $a3, 4($v0) -/* 0C268C 7F08DB1C 8CEE0064 */ lw $t6, 0x64($a3) -/* 0C2690 7F08DB20 31CF0400 */ andi $t7, $t6, 0x400 -/* 0C2694 7F08DB24 51E00022 */ beql $t7, $zero, .Ljp7F08DBB0 -/* 0C2698 7F08DB28 8C84000C */ lw $a0, 0xc($a0) -/* 0C269C 7F08DB2C 14C00003 */ bnez $a2, .Ljp7F08DB3C -/* 0C26A0 7F08DB30 00000000 */ nop -/* 0C26A4 7F08DB34 03E00008 */ jr $ra -/* 0C26A8 7F08DB38 00801025 */ move $v0, $a0 - -.Ljp7F08DB3C: -/* 0C26AC 7F08DB3C 1000001B */ b .Ljp7F08DBAC -/* 0C26B0 7F08DB40 24C6FFFF */ addiu $a2, $a2, -1 -.Ljp7F08DB44: -/* 0C26B4 7F08DB44 5547001A */ bnel $t2, $a3, .Ljp7F08DBB0 -/* 0C26B8 7F08DB48 8C84000C */ lw $a0, 0xc($a0) -/* 0C26BC 7F08DB4C 8C580004 */ lw $t8, 4($v0) -/* 0C26C0 7F08DB50 8F19000C */ lw $t9, 0xc($t8) -/* 0C26C4 7F08DB54 032B6024 */ and $t4, $t9, $t3 -/* 0C26C8 7F08DB58 55800015 */ bnezl $t4, .Ljp7F08DBB0 -/* 0C26CC 7F08DB5C 8C84000C */ lw $a0, 0xc($a0) -/* 0C26D0 7F08DB60 14C00003 */ bnez $a2, .Ljp7F08DB70 -/* 0C26D4 7F08DB64 00000000 */ nop -/* 0C26D8 7F08DB68 03E00008 */ jr $ra -/* 0C26DC 7F08DB6C 00801025 */ move $v0, $a0 - -.Ljp7F08DB70: -/* 0C26E0 7F08DB70 1000000E */ b .Ljp7F08DBAC -/* 0C26E4 7F08DB74 24C6FFFF */ addiu $a2, $a2, -1 -.Ljp7F08DB78: -/* 0C26E8 7F08DB78 5542000D */ bnel $t2, $v0, .Ljp7F08DBB0 -/* 0C26EC 7F08DB7C 8C84000C */ lw $a0, 0xc($a0) -/* 0C26F0 7F08DB80 10600005 */ beqz $v1, .Ljp7F08DB98 -/* 0C26F4 7F08DB84 00000000 */ nop -/* 0C26F8 7F08DB88 8C8D0004 */ lw $t5, 4($a0) -/* 0C26FC 7F08DB8C 29A10021 */ slti $at, $t5, 0x21 -/* 0C2700 7F08DB90 54200007 */ bnezl $at, .Ljp7F08DBB0 -/* 0C2704 7F08DB94 8C84000C */ lw $a0, 0xc($a0) -.Ljp7F08DB98: -/* 0C2708 7F08DB98 54C00004 */ bnezl $a2, .Ljp7F08DBAC -/* 0C270C 7F08DB9C 24C6FFFF */ addiu $a2, $a2, -1 -/* 0C2710 7F08DBA0 03E00008 */ jr $ra -/* 0C2714 7F08DBA4 00801025 */ move $v0, $a0 - -/* 0C2718 7F08DBA8 24C6FFFF */ addiu $a2, $a2, -1 -.Ljp7F08DBAC: -/* 0C271C 7F08DBAC 8C84000C */ lw $a0, 0xc($a0) -.Ljp7F08DBB0: -/* 0C2720 7F08DBB0 50850004 */ beql $a0, $a1, .Ljp7F08DBC4 -/* 0C2724 7F08DBB4 00001025 */ move $v0, $zero -/* 0C2728 7F08DBB8 5480FFD1 */ bnezl $a0, .Ljp7F08DB00 -/* 0C272C 7F08DBBC 8C820000 */ lw $v0, ($a0) -.Ljp7F08DBC0: -/* 0C2730 7F08DBC0 00001025 */ move $v0, $zero -.Ljp7F08DBC4: -/* 0C2734 7F08DBC4 03E00008 */ jr $ra -/* 0C2738 7F08DBC8 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F08D21C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D21C -/* 0C1D4C 7F08D21C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C1D50 7F08D220 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C1D54 7F08D224 00001025 */ move $v0, $zero -/* 0C1D58 7F08D228 8DC311F4 */ lw $v1, 0x11f4($t6) -/* 0C1D5C 7F08D22C 10600009 */ beqz $v1, .L7F08D254 -/* 0C1D60 7F08D230 00000000 */ nop -/* 0C1D64 7F08D234 8C6F0024 */ lw $t7, 0x24($v1) -.L7F08D238: -/* 0C1D68 7F08D238 548F0004 */ bnel $a0, $t7, .L7F08D24C -/* 0C1D6C 7F08D23C 8C630020 */ lw $v1, 0x20($v1) -/* 0C1D70 7F08D240 03E00008 */ jr $ra -/* 0C1D74 7F08D244 00601025 */ move $v0, $v1 - -/* 0C1D78 7F08D248 8C630020 */ lw $v1, 0x20($v1) -.L7F08D24C: -/* 0C1D7C 7F08D24C 5460FFFA */ bnezl $v1, .L7F08D238 -/* 0C1D80 7F08D250 8C6F0024 */ lw $t7, 0x24($v1) -.L7F08D254: -/* 0C1D84 7F08D254 03E00008 */ jr $ra -/* 0C1D88 7F08D258 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D25C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D25C -/* 0C1D8C 7F08D25C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C1D90 7F08D260 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C1D94 7F08D264 00001025 */ move $v0, $zero -/* 0C1D98 7F08D268 8DC311F4 */ lw $v1, 0x11f4($t6) -/* 0C1D9C 7F08D26C 1060000C */ beqz $v1, .L7F08D2A0 -/* 0C1DA0 7F08D270 00000000 */ nop -/* 0C1DA4 7F08D274 8C6F0004 */ lw $t7, 4($v1) -.L7F08D278: -/* 0C1DA8 7F08D278 55E00007 */ bnezl $t7, .L7F08D298 -/* 0C1DAC 7F08D27C 8C630020 */ lw $v1, 0x20($v1) -/* 0C1DB0 7F08D280 8C780008 */ lw $t8, 8($v1) -/* 0C1DB4 7F08D284 54980004 */ bnel $a0, $t8, .L7F08D298 -/* 0C1DB8 7F08D288 8C630020 */ lw $v1, 0x20($v1) -/* 0C1DBC 7F08D28C 03E00008 */ jr $ra -/* 0C1DC0 7F08D290 00601025 */ move $v0, $v1 - -/* 0C1DC4 7F08D294 8C630020 */ lw $v1, 0x20($v1) -.L7F08D298: -/* 0C1DC8 7F08D298 5460FFF7 */ bnezl $v1, .L7F08D278 -/* 0C1DCC 7F08D29C 8C6F0004 */ lw $t7, 4($v1) -.L7F08D2A0: -/* 0C1DD0 7F08D2A0 03E00008 */ jr $ra -/* 0C1DD4 7F08D2A4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D2A8(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D2A8 -/* 0C1DD8 7F08D2A8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C1DDC 7F08D2AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1DE0 7F08D2B0 0FC23442 */ jal sub_GAME_7F08D108 -/* 0C1DE4 7F08D2B4 AFA40018 */ sw $a0, 0x18($sp) -/* 0C1DE8 7F08D2B8 8FA40018 */ lw $a0, 0x18($sp) -/* 0C1DEC 7F08D2BC 10400011 */ beqz $v0, .L7F08D304 -/* 0C1DF0 7F08D2C0 00401825 */ move $v1, $v0 -/* 0C1DF4 7F08D2C4 8C440000 */ lw $a0, ($v0) -/* 0C1DF8 7F08D2C8 24010002 */ li $at, 2 -/* 0C1DFC 7F08D2CC 54810009 */ bnel $a0, $at, .L7F08D2F4 -/* 0C1E00 7F08D2D0 24010001 */ li $at, 1 -/* 0C1E04 7F08D2D4 8C420004 */ lw $v0, 4($v0) -/* 0C1E08 7F08D2D8 0FC23487 */ jal sub_GAME_7F08D21C -/* 0C1E0C 7F08D2DC 8C440004 */ lw $a0, 4($v0) -/* 0C1E10 7F08D2E0 50400013 */ beql $v0, $zero, .L7F08D330 -/* 0C1E14 7F08D2E4 00001025 */ move $v0, $zero -/* 0C1E18 7F08D2E8 10000011 */ b .L7F08D330 -/* 0C1E1C 7F08D2EC 8C420008 */ lw $v0, 8($v0) -/* 0C1E20 7F08D2F0 24010001 */ li $at, 1 -.L7F08D2F4: -/* 0C1E24 7F08D2F4 5481000E */ bnel $a0, $at, .L7F08D330 -/* 0C1E28 7F08D2F8 00001025 */ move $v0, $zero -/* 0C1E2C 7F08D2FC 1000000C */ b .L7F08D330 -/* 0C1E30 7F08D300 8C620004 */ lw $v0, 4($v1) -.L7F08D304: -/* 0C1E34 7F08D304 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C1E38 7F08D308 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C1E3C 7F08D30C 28810020 */ slti $at, $a0, 0x20 -/* 0C1E40 7F08D310 8DCF11EC */ lw $t7, 0x11ec($t6) -/* 0C1E44 7F08D314 51E00006 */ beql $t7, $zero, .L7F08D330 -/* 0C1E48 7F08D318 00001025 */ move $v0, $zero -/* 0C1E4C 7F08D31C 50200004 */ beql $at, $zero, .L7F08D330 -/* 0C1E50 7F08D320 00001025 */ move $v0, $zero -/* 0C1E54 7F08D324 10000002 */ b .L7F08D330 -/* 0C1E58 7F08D328 24820001 */ addiu $v0, $a0, 1 -/* 0C1E5C 7F08D32C 00001025 */ move $v0, $zero -.L7F08D330: -/* 0C1E60 7F08D330 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C1E64 7F08D334 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C1E68 7F08D338 03E00008 */ jr $ra -/* 0C1E6C 7F08D33C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D2A8 -/* 0C27C8 7F08DC58 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C27CC 7F08DC5C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C27D0 7F08DC60 0FC236A1 */ jal sub_GAME_7F08D108 -/* 0C27D4 7F08DC64 AFA40018 */ sw $a0, 0x18($sp) -/* 0C27D8 7F08DC68 8FA40018 */ lw $a0, 0x18($sp) -/* 0C27DC 7F08DC6C 10400011 */ beqz $v0, .Ljp7F08DCB4 -/* 0C27E0 7F08DC70 00401825 */ move $v1, $v0 -/* 0C27E4 7F08DC74 8C440000 */ lw $a0, ($v0) -/* 0C27E8 7F08DC78 24010002 */ li $at, 2 -/* 0C27EC 7F08DC7C 54810009 */ bnel $a0, $at, .Ljp7F08DCA4 -/* 0C27F0 7F08DC80 24010001 */ li $at, 1 -/* 0C27F4 7F08DC84 8C420004 */ lw $v0, 4($v0) -/* 0C27F8 7F08DC88 0FC236F3 */ jal sub_GAME_7F08D21C -/* 0C27FC 7F08DC8C 8C440004 */ lw $a0, 4($v0) -/* 0C2800 7F08DC90 50400021 */ beql $v0, $zero, .Ljp7F08DD18 -/* 0C2804 7F08DC94 00001025 */ move $v0, $zero -/* 0C2808 7F08DC98 1000001F */ b .Ljp7F08DD18 -/* 0C280C 7F08DC9C 8C420008 */ lw $v0, 8($v0) -/* 0C2810 7F08DCA0 24010001 */ li $at, 1 -.Ljp7F08DCA4: -/* 0C2814 7F08DCA4 5481001C */ bnel $a0, $at, .Ljp7F08DD18 -/* 0C2818 7F08DCA8 00001025 */ move $v0, $zero -/* 0C281C 7F08DCAC 1000001A */ b .Ljp7F08DD18 -/* 0C2820 7F08DCB0 8C620004 */ lw $v0, 4($v1) -.Ljp7F08DCB4: -/* 0C2824 7F08DCB4 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0C2828 7F08DCB8 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0C282C 7F08DCBC 3C028005 */ lui $v0, %hi(j_text_trigger) # $v0, 0x8005 -/* 0C2830 7F08DCC0 8DCF11EC */ lw $t7, 0x11ec($t6) -/* 0C2834 7F08DCC4 51E00014 */ beql $t7, $zero, .Ljp7F08DD18 -/* 0C2838 7F08DCC8 00001025 */ move $v0, $zero -/* 0C283C 7F08DCCC 8C428500 */ lw $v0, %lo(j_text_trigger)($v0) -/* 0C2840 7F08DCD0 24030020 */ li $v1, 32 -/* 0C2844 7F08DCD4 10400003 */ beqz $v0, .Ljp7F08DCE4 -/* 0C2848 7F08DCD8 00000000 */ nop -/* 0C284C 7F08DCDC 10000001 */ b .Ljp7F08DCE4 -/* 0C2850 7F08DCE0 2403001F */ li $v1, 31 -.Ljp7F08DCE4: -/* 0C2854 7F08DCE4 0083082A */ slt $at, $a0, $v1 -/* 0C2858 7F08DCE8 5020000B */ beql $at, $zero, .Ljp7F08DD18 -/* 0C285C 7F08DCEC 00001025 */ move $v0, $zero -/* 0C2860 7F08DCF0 10400006 */ beqz $v0, .Ljp7F08DD0C -/* 0C2864 7F08DCF4 24980001 */ addiu $t8, $a0, 1 -/* 0C2868 7F08DCF8 2B010002 */ slti $at, $t8, 2 -/* 0C286C 7F08DCFC 14200003 */ bnez $at, .Ljp7F08DD0C -/* 0C2870 7F08DD00 00000000 */ nop -/* 0C2874 7F08DD04 10000004 */ b .Ljp7F08DD18 -/* 0C2878 7F08DD08 24820002 */ addiu $v0, $a0, 2 -.Ljp7F08DD0C: -/* 0C287C 7F08DD0C 10000002 */ b .Ljp7F08DD18 -/* 0C2880 7F08DD10 24820001 */ addiu $v0, $a0, 1 -/* 0C2884 7F08DD14 00001025 */ move $v0, $zero -.Ljp7F08DD18: -/* 0C2888 7F08DD18 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C288C 7F08DD1C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C2890 7F08DD20 03E00008 */ jr $ra -/* 0C2894 7F08DD24 00000000 */ nop -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D340(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D340 -/* 0C1E70 7F08D340 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C1E74 7F08D344 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1E78 7F08D348 0FC23442 */ jal sub_GAME_7F08D108 -/* 0C1E7C 7F08D34C AFA40020 */ sw $a0, 0x20($sp) -/* 0C1E80 7F08D350 8FA50020 */ lw $a1, 0x20($sp) -/* 0C1E84 7F08D354 00401825 */ move $v1, $v0 -/* 0C1E88 7F08D358 10400024 */ beqz $v0, .L7F08D3EC -/* 0C1E8C 7F08D35C 00003025 */ move $a2, $zero -/* 0C1E90 7F08D360 8C440000 */ lw $a0, ($v0) -/* 0C1E94 7F08D364 24010002 */ li $at, 2 -/* 0C1E98 7F08D368 54810012 */ bnel $a0, $at, .L7F08D3B4 -/* 0C1E9C 7F08D36C 24010001 */ li $at, 1 -/* 0C1EA0 7F08D370 8C420004 */ lw $v0, 4($v0) -/* 0C1EA4 7F08D374 8C440004 */ lw $a0, 4($v0) -/* 0C1EA8 7F08D378 0FC23487 */ jal sub_GAME_7F08D21C -/* 0C1EAC 7F08D37C AFA00018 */ sw $zero, 0x18($sp) -/* 0C1EB0 7F08D380 8FA60018 */ lw $a2, 0x18($sp) -/* 0C1EB4 7F08D384 10400025 */ beqz $v0, .L7F08D41C -/* 0C1EB8 7F08D388 00401825 */ move $v1, $v0 -/* 0C1EBC 7F08D38C 8C4E0014 */ lw $t6, 0x14($v0) -/* 0C1EC0 7F08D390 11C00005 */ beqz $t6, .L7F08D3A8 -/* 0C1EC4 7F08D394 00000000 */ nop -/* 0C1EC8 7F08D398 0FC30776 */ jal get_textptr_for_textID -/* 0C1ECC 7F08D39C 8C640014 */ lw $a0, 0x14($v1) -/* 0C1ED0 7F08D3A0 10000021 */ b .L7F08D428 -/* 0C1ED4 7F08D3A4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D3A8: -/* 0C1ED8 7F08D3A8 1000001C */ b .L7F08D41C -/* 0C1EDC 7F08D3AC 8C460008 */ lw $a2, 8($v0) -/* 0C1EE0 7F08D3B0 24010001 */ li $at, 1 -.L7F08D3B4: -/* 0C1EE4 7F08D3B4 14810019 */ bne $a0, $at, .L7F08D41C -/* 0C1EE8 7F08D3B8 00000000 */ nop -/* 0C1EEC 7F08D3BC 8C640004 */ lw $a0, 4($v1) -/* 0C1EF0 7F08D3C0 0FC23497 */ jal sub_GAME_7F08D25C -/* 0C1EF4 7F08D3C4 AFA40018 */ sw $a0, 0x18($sp) -/* 0C1EF8 7F08D3C8 10400014 */ beqz $v0, .L7F08D41C -/* 0C1EFC 7F08D3CC 8FA60018 */ lw $a2, 0x18($sp) -/* 0C1F00 7F08D3D0 8C4F0014 */ lw $t7, 0x14($v0) -/* 0C1F04 7F08D3D4 11E00011 */ beqz $t7, .L7F08D41C -/* 0C1F08 7F08D3D8 00000000 */ nop -/* 0C1F0C 7F08D3DC 0FC30776 */ jal get_textptr_for_textID -/* 0C1F10 7F08D3E0 8C440014 */ lw $a0, 0x14($v0) -/* 0C1F14 7F08D3E4 10000010 */ b .L7F08D428 -/* 0C1F18 7F08D3E8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D3EC: -/* 0C1F1C 7F08D3EC 3C188008 */ lui $t8, %hi(pPlayer) -/* 0C1F20 7F08D3F0 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0C1F24 7F08D3F4 28A10020 */ slti $at, $a1, 0x20 -/* 0C1F28 7F08D3F8 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C1F2C 7F08D3FC 13200007 */ beqz $t9, .L7F08D41C -/* 0C1F30 7F08D400 00000000 */ nop -/* 0C1F34 7F08D404 10200005 */ beqz $at, .L7F08D41C -/* 0C1F38 7F08D408 00000000 */ nop -/* 0C1F3C 7F08D40C 0FC19C2A */ jal get_ptr_short_watch_text_for_item -/* 0C1F40 7F08D410 24A40001 */ addiu $a0, $a1, 1 -/* 0C1F44 7F08D414 10000004 */ b .L7F08D428 -/* 0C1F48 7F08D418 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D41C: -/* 0C1F4C 7F08D41C 0FC19C2A */ jal get_ptr_short_watch_text_for_item -/* 0C1F50 7F08D420 00C02025 */ move $a0, $a2 -/* 0C1F54 7F08D424 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D428: -/* 0C1F58 7F08D428 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C1F5C 7F08D42C 03E00008 */ jr $ra -/* 0C1F60 7F08D430 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D340 -/* 0C2898 7F08DD28 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C289C 7F08DD2C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C28A0 7F08DD30 0FC236A1 */ jal sub_GAME_7F08D108 -/* 0C28A4 7F08DD34 AFA40020 */ sw $a0, 0x20($sp) -/* 0C28A8 7F08DD38 8FA50020 */ lw $a1, 0x20($sp) -/* 0C28AC 7F08DD3C 00401825 */ move $v1, $v0 -/* 0C28B0 7F08DD40 10400024 */ beqz $v0, .Ljp7F08DDD4 -/* 0C28B4 7F08DD44 00003025 */ move $a2, $zero -/* 0C28B8 7F08DD48 8C440000 */ lw $a0, ($v0) -/* 0C28BC 7F08DD4C 24010002 */ li $at, 2 -/* 0C28C0 7F08DD50 54810012 */ bnel $a0, $at, .Ljp7F08DD9C -/* 0C28C4 7F08DD54 24010001 */ li $at, 1 -/* 0C28C8 7F08DD58 8C420004 */ lw $v0, 4($v0) -/* 0C28CC 7F08DD5C 8C440004 */ lw $a0, 4($v0) -/* 0C28D0 7F08DD60 0FC236F3 */ jal sub_GAME_7F08D21C -/* 0C28D4 7F08DD64 AFA00018 */ sw $zero, 0x18($sp) -/* 0C28D8 7F08DD68 8FA60018 */ lw $a2, 0x18($sp) -/* 0C28DC 7F08DD6C 10400035 */ beqz $v0, .Ljp7F08DE44 -/* 0C28E0 7F08DD70 00401825 */ move $v1, $v0 -/* 0C28E4 7F08DD74 8C4E0014 */ lw $t6, 0x14($v0) -/* 0C28E8 7F08DD78 11C00005 */ beqz $t6, .Ljp7F08DD90 -/* 0C28EC 7F08DD7C 00000000 */ nop -/* 0C28F0 7F08DD80 0FC30AA2 */ jal get_textptr_for_textID -/* 0C28F4 7F08DD84 8C640014 */ lw $a0, 0x14($v1) -/* 0C28F8 7F08DD88 10000031 */ b .Ljp7F08DE50 -/* 0C28FC 7F08DD8C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DD90: -/* 0C2900 7F08DD90 1000002C */ b .Ljp7F08DE44 -/* 0C2904 7F08DD94 8C460008 */ lw $a2, 8($v0) -/* 0C2908 7F08DD98 24010001 */ li $at, 1 -.Ljp7F08DD9C: -/* 0C290C 7F08DD9C 14810029 */ bne $a0, $at, .Ljp7F08DE44 -/* 0C2910 7F08DDA0 00000000 */ nop -/* 0C2914 7F08DDA4 8C640004 */ lw $a0, 4($v1) -/* 0C2918 7F08DDA8 0FC23703 */ jal sub_GAME_7F08D25C -/* 0C291C 7F08DDAC AFA40018 */ sw $a0, 0x18($sp) -/* 0C2920 7F08DDB0 10400024 */ beqz $v0, .Ljp7F08DE44 -/* 0C2924 7F08DDB4 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2928 7F08DDB8 8C4F0014 */ lw $t7, 0x14($v0) -/* 0C292C 7F08DDBC 11E00021 */ beqz $t7, .Ljp7F08DE44 -/* 0C2930 7F08DDC0 00000000 */ nop -/* 0C2934 7F08DDC4 0FC30AA2 */ jal get_textptr_for_textID -/* 0C2938 7F08DDC8 8C440014 */ lw $a0, 0x14($v0) -/* 0C293C 7F08DDCC 10000020 */ b .Ljp7F08DE50 -/* 0C2940 7F08DDD0 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DDD4: -/* 0C2944 7F08DDD4 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0C2948 7F08DDD8 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0C294C 7F08DDDC 3C028005 */ lui $v0, %hi(j_text_trigger) # $v0, 0x8005 -/* 0C2950 7F08DDE0 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C2954 7F08DDE4 13200017 */ beqz $t9, .Ljp7F08DE44 -/* 0C2958 7F08DDE8 00000000 */ nop -/* 0C295C 7F08DDEC 8C428500 */ lw $v0, %lo(j_text_trigger)($v0) -/* 0C2960 7F08DDF0 24030020 */ li $v1, 32 -/* 0C2964 7F08DDF4 10400003 */ beqz $v0, .Ljp7F08DE04 -/* 0C2968 7F08DDF8 00000000 */ nop -/* 0C296C 7F08DDFC 10000001 */ b .Ljp7F08DE04 -/* 0C2970 7F08DE00 2403001F */ li $v1, 31 -.Ljp7F08DE04: -/* 0C2974 7F08DE04 00A3082A */ slt $at, $a1, $v1 -/* 0C2978 7F08DE08 1020000E */ beqz $at, .Ljp7F08DE44 -/* 0C297C 7F08DE0C 00000000 */ nop -/* 0C2980 7F08DE10 10400008 */ beqz $v0, .Ljp7F08DE34 -/* 0C2984 7F08DE14 24A80001 */ addiu $t0, $a1, 1 -/* 0C2988 7F08DE18 29010002 */ slti $at, $t0, 2 -/* 0C298C 7F08DE1C 14200005 */ bnez $at, .Ljp7F08DE34 -/* 0C2990 7F08DE20 00000000 */ nop -/* 0C2994 7F08DE24 0FC19DA0 */ jal get_ptr_short_watch_text_for_item -/* 0C2998 7F08DE28 24A40002 */ addiu $a0, $a1, 2 -/* 0C299C 7F08DE2C 10000008 */ b .Ljp7F08DE50 -/* 0C29A0 7F08DE30 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DE34: -/* 0C29A4 7F08DE34 0FC19DA0 */ jal get_ptr_short_watch_text_for_item -/* 0C29A8 7F08DE38 24A40001 */ addiu $a0, $a1, 1 -/* 0C29AC 7F08DE3C 10000004 */ b .Ljp7F08DE50 -/* 0C29B0 7F08DE40 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DE44: -/* 0C29B4 7F08DE44 0FC19DA0 */ jal get_ptr_short_watch_text_for_item -/* 0C29B8 7F08DE48 00C02025 */ move $a0, $a2 -/* 0C29BC 7F08DE4C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DE50: -/* 0C29C0 7F08DE50 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C29C4 7F08DE54 03E00008 */ jr $ra -/* 0C29C8 7F08DE58 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F08D434(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D434 -/* 0C1F64 7F08D434 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C1F68 7F08D438 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1F6C 7F08D43C 0FC23442 */ jal sub_GAME_7F08D108 -/* 0C1F70 7F08D440 AFA40020 */ sw $a0, 0x20($sp) -/* 0C1F74 7F08D444 8FA50020 */ lw $a1, 0x20($sp) -/* 0C1F78 7F08D448 00401825 */ move $v1, $v0 -/* 0C1F7C 7F08D44C 10400024 */ beqz $v0, .L7F08D4E0 -/* 0C1F80 7F08D450 00003025 */ move $a2, $zero -/* 0C1F84 7F08D454 8C440000 */ lw $a0, ($v0) -/* 0C1F88 7F08D458 24010002 */ li $at, 2 -/* 0C1F8C 7F08D45C 54810012 */ bnel $a0, $at, .L7F08D4A8 -/* 0C1F90 7F08D460 24010001 */ li $at, 1 -/* 0C1F94 7F08D464 8C420004 */ lw $v0, 4($v0) -/* 0C1F98 7F08D468 8C440004 */ lw $a0, 4($v0) -/* 0C1F9C 7F08D46C 0FC23487 */ jal sub_GAME_7F08D21C -/* 0C1FA0 7F08D470 AFA00018 */ sw $zero, 0x18($sp) -/* 0C1FA4 7F08D474 8FA60018 */ lw $a2, 0x18($sp) -/* 0C1FA8 7F08D478 10400025 */ beqz $v0, .L7F08D510 -/* 0C1FAC 7F08D47C 00401825 */ move $v1, $v0 -/* 0C1FB0 7F08D480 8C4E0018 */ lw $t6, 0x18($v0) -/* 0C1FB4 7F08D484 11C00005 */ beqz $t6, .L7F08D49C -/* 0C1FB8 7F08D488 00000000 */ nop -/* 0C1FBC 7F08D48C 0FC30776 */ jal get_textptr_for_textID -/* 0C1FC0 7F08D490 8C640018 */ lw $a0, 0x18($v1) -/* 0C1FC4 7F08D494 10000021 */ b .L7F08D51C -/* 0C1FC8 7F08D498 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D49C: -/* 0C1FCC 7F08D49C 1000001C */ b .L7F08D510 -/* 0C1FD0 7F08D4A0 8C460008 */ lw $a2, 8($v0) -/* 0C1FD4 7F08D4A4 24010001 */ li $at, 1 -.L7F08D4A8: -/* 0C1FD8 7F08D4A8 14810019 */ bne $a0, $at, .L7F08D510 -/* 0C1FDC 7F08D4AC 00000000 */ nop -/* 0C1FE0 7F08D4B0 8C640004 */ lw $a0, 4($v1) -/* 0C1FE4 7F08D4B4 0FC23497 */ jal sub_GAME_7F08D25C -/* 0C1FE8 7F08D4B8 AFA40018 */ sw $a0, 0x18($sp) -/* 0C1FEC 7F08D4BC 10400014 */ beqz $v0, .L7F08D510 -/* 0C1FF0 7F08D4C0 8FA60018 */ lw $a2, 0x18($sp) -/* 0C1FF4 7F08D4C4 8C4F0018 */ lw $t7, 0x18($v0) -/* 0C1FF8 7F08D4C8 11E00011 */ beqz $t7, .L7F08D510 -/* 0C1FFC 7F08D4CC 00000000 */ nop -/* 0C2000 7F08D4D0 0FC30776 */ jal get_textptr_for_textID -/* 0C2004 7F08D4D4 8C440018 */ lw $a0, 0x18($v0) -/* 0C2008 7F08D4D8 10000010 */ b .L7F08D51C -/* 0C200C 7F08D4DC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D4E0: -/* 0C2010 7F08D4E0 3C188008 */ lui $t8, %hi(pPlayer) -/* 0C2014 7F08D4E4 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0C2018 7F08D4E8 28A10020 */ slti $at, $a1, 0x20 -/* 0C201C 7F08D4EC 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C2020 7F08D4F0 13200007 */ beqz $t9, .L7F08D510 -/* 0C2024 7F08D4F4 00000000 */ nop -/* 0C2028 7F08D4F8 10200005 */ beqz $at, .L7F08D510 -/* 0C202C 7F08D4FC 00000000 */ nop -/* 0C2030 7F08D500 0FC19C37 */ jal get_ptr_long_watch_text_for_item -/* 0C2034 7F08D504 24A40001 */ addiu $a0, $a1, 1 -/* 0C2038 7F08D508 10000004 */ b .L7F08D51C -/* 0C203C 7F08D50C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D510: -/* 0C2040 7F08D510 0FC19C37 */ jal get_ptr_long_watch_text_for_item -/* 0C2044 7F08D514 00C02025 */ move $a0, $a2 -/* 0C2048 7F08D518 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D51C: -/* 0C204C 7F08D51C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C2050 7F08D520 03E00008 */ jr $ra -/* 0C2054 7F08D524 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D434 -/* 0C29CC 7F08DE5C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C29D0 7F08DE60 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C29D4 7F08DE64 0FC236A1 */ jal sub_GAME_7F08D108 -/* 0C29D8 7F08DE68 AFA40020 */ sw $a0, 0x20($sp) -/* 0C29DC 7F08DE6C 8FA50020 */ lw $a1, 0x20($sp) -/* 0C29E0 7F08DE70 00401825 */ move $v1, $v0 -/* 0C29E4 7F08DE74 10400024 */ beqz $v0, .Ljp7F08DF08 -/* 0C29E8 7F08DE78 00003025 */ move $a2, $zero -/* 0C29EC 7F08DE7C 8C440000 */ lw $a0, ($v0) -/* 0C29F0 7F08DE80 24010002 */ li $at, 2 -/* 0C29F4 7F08DE84 54810012 */ bnel $a0, $at, .Ljp7F08DED0 -/* 0C29F8 7F08DE88 24010001 */ li $at, 1 -/* 0C29FC 7F08DE8C 8C420004 */ lw $v0, 4($v0) -/* 0C2A00 7F08DE90 8C440004 */ lw $a0, 4($v0) -/* 0C2A04 7F08DE94 0FC236F3 */ jal sub_GAME_7F08D21C -/* 0C2A08 7F08DE98 AFA00018 */ sw $zero, 0x18($sp) -/* 0C2A0C 7F08DE9C 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2A10 7F08DEA0 10400035 */ beqz $v0, .Ljp7F08DF78 -/* 0C2A14 7F08DEA4 00401825 */ move $v1, $v0 -/* 0C2A18 7F08DEA8 8C4E0018 */ lw $t6, 0x18($v0) -/* 0C2A1C 7F08DEAC 11C00005 */ beqz $t6, .Ljp7F08DEC4 -/* 0C2A20 7F08DEB0 00000000 */ nop -/* 0C2A24 7F08DEB4 0FC30AA2 */ jal get_textptr_for_textID -/* 0C2A28 7F08DEB8 8C640018 */ lw $a0, 0x18($v1) -/* 0C2A2C 7F08DEBC 10000031 */ b .Ljp7F08DF84 -/* 0C2A30 7F08DEC0 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DEC4: -/* 0C2A34 7F08DEC4 1000002C */ b .Ljp7F08DF78 -/* 0C2A38 7F08DEC8 8C460008 */ lw $a2, 8($v0) -/* 0C2A3C 7F08DECC 24010001 */ li $at, 1 -.Ljp7F08DED0: -/* 0C2A40 7F08DED0 14810029 */ bne $a0, $at, .Ljp7F08DF78 -/* 0C2A44 7F08DED4 00000000 */ nop -/* 0C2A48 7F08DED8 8C640004 */ lw $a0, 4($v1) -/* 0C2A4C 7F08DEDC 0FC23703 */ jal sub_GAME_7F08D25C -/* 0C2A50 7F08DEE0 AFA40018 */ sw $a0, 0x18($sp) -/* 0C2A54 7F08DEE4 10400024 */ beqz $v0, .Ljp7F08DF78 -/* 0C2A58 7F08DEE8 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2A5C 7F08DEEC 8C4F0018 */ lw $t7, 0x18($v0) -/* 0C2A60 7F08DEF0 11E00021 */ beqz $t7, .Ljp7F08DF78 -/* 0C2A64 7F08DEF4 00000000 */ nop -/* 0C2A68 7F08DEF8 0FC30AA2 */ jal get_textptr_for_textID -/* 0C2A6C 7F08DEFC 8C440018 */ lw $a0, 0x18($v0) -/* 0C2A70 7F08DF00 10000020 */ b .Ljp7F08DF84 -/* 0C2A74 7F08DF04 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DF08: -/* 0C2A78 7F08DF08 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0C2A7C 7F08DF0C 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0C2A80 7F08DF10 3C028005 */ lui $v0, %hi(j_text_trigger) # $v0, 0x8005 -/* 0C2A84 7F08DF14 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C2A88 7F08DF18 13200017 */ beqz $t9, .Ljp7F08DF78 -/* 0C2A8C 7F08DF1C 00000000 */ nop -/* 0C2A90 7F08DF20 8C428500 */ lw $v0, %lo(j_text_trigger)($v0) -/* 0C2A94 7F08DF24 24030020 */ li $v1, 32 -/* 0C2A98 7F08DF28 10400003 */ beqz $v0, .Ljp7F08DF38 -/* 0C2A9C 7F08DF2C 00000000 */ nop -/* 0C2AA0 7F08DF30 10000001 */ b .Ljp7F08DF38 -/* 0C2AA4 7F08DF34 2403001F */ li $v1, 31 -.Ljp7F08DF38: -/* 0C2AA8 7F08DF38 00A3082A */ slt $at, $a1, $v1 -/* 0C2AAC 7F08DF3C 1020000E */ beqz $at, .Ljp7F08DF78 -/* 0C2AB0 7F08DF40 00000000 */ nop -/* 0C2AB4 7F08DF44 10400008 */ beqz $v0, .Ljp7F08DF68 -/* 0C2AB8 7F08DF48 24A80001 */ addiu $t0, $a1, 1 -/* 0C2ABC 7F08DF4C 29010002 */ slti $at, $t0, 2 -/* 0C2AC0 7F08DF50 14200005 */ bnez $at, .Ljp7F08DF68 -/* 0C2AC4 7F08DF54 00000000 */ nop -/* 0C2AC8 7F08DF58 0FC19DAD */ jal get_ptr_long_watch_text_for_item -/* 0C2ACC 7F08DF5C 24A40002 */ addiu $a0, $a1, 2 -/* 0C2AD0 7F08DF60 10000008 */ b .Ljp7F08DF84 -/* 0C2AD4 7F08DF64 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DF68: -/* 0C2AD8 7F08DF68 0FC19DAD */ jal get_ptr_long_watch_text_for_item -/* 0C2ADC 7F08DF6C 24A40001 */ addiu $a0, $a1, 1 -/* 0C2AE0 7F08DF70 10000004 */ b .Ljp7F08DF84 -/* 0C2AE4 7F08DF74 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DF78: -/* 0C2AE8 7F08DF78 0FC19DAD */ jal get_ptr_long_watch_text_for_item -/* 0C2AEC 7F08DF7C 00C02025 */ move $a0, $a2 -/* 0C2AF0 7F08DF80 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08DF84: -/* 0C2AF4 7F08DF84 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C2AF8 7F08DF88 03E00008 */ jr $ra -/* 0C2AFC 7F08DF8C 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F08D528(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D528 -/* 0C2058 7F08D528 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C205C 7F08D52C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2060 7F08D530 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C2064 7F08D534 00000000 */ nop -/* 0C2068 7F08D538 0FC19C44 */ jal get_45_degree_angle_0 -/* 0C206C 7F08D53C 00402025 */ move $a0, $v0 -/* 0C2070 7F08D540 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C2074 7F08D544 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C2078 7F08D548 03E00008 */ jr $ra -/* 0C207C 7F08D54C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D550(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D550 -/* 0C2080 7F08D550 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C2084 7F08D554 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2088 7F08D558 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C208C 7F08D55C 00000000 */ nop -/* 0C2090 7F08D560 0FC19C48 */ jal get_horizontal_offset_on_solo_watch_menu_for_item -/* 0C2094 7F08D564 00402025 */ move $a0, $v0 -/* 0C2098 7F08D568 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C209C 7F08D56C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C20A0 7F08D570 03E00008 */ jr $ra -/* 0C20A4 7F08D574 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D578(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D578 -/* 0C20A8 7F08D578 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C20AC 7F08D57C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C20B0 7F08D580 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C20B4 7F08D584 00000000 */ nop -/* 0C20B8 7F08D588 0FC19C4F */ jal get_vertical_offset_on_solo_watch_menu_for_item -/* 0C20BC 7F08D58C 00402025 */ move $a0, $v0 -/* 0C20C0 7F08D590 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C20C4 7F08D594 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C20C8 7F08D598 03E00008 */ jr $ra -/* 0C20CC 7F08D59C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D5A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D5A0 -/* 0C20D0 7F08D5A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C20D4 7F08D5A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C20D8 7F08D5A8 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C20DC 7F08D5AC 00000000 */ nop -/* 0C20E0 7F08D5B0 0FC19C56 */ jal get_depth_offset_solo_watch_menu_inventory_page_for_item -/* 0C20E4 7F08D5B4 00402025 */ move $a0, $v0 -/* 0C20E8 7F08D5B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C20EC 7F08D5BC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C20F0 7F08D5C0 03E00008 */ jr $ra -/* 0C20F4 7F08D5C4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D5C8(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D5C8 -/* 0C20F8 7F08D5C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C20FC 7F08D5CC AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2100 7F08D5D0 0FC23442 */ jal sub_GAME_7F08D108 -/* 0C2104 7F08D5D4 AFA40020 */ sw $a0, 0x20($sp) -/* 0C2108 7F08D5D8 8FA50020 */ lw $a1, 0x20($sp) -/* 0C210C 7F08D5DC 00401825 */ move $v1, $v0 -/* 0C2110 7F08D5E0 10400024 */ beqz $v0, .L7F08D674 -/* 0C2114 7F08D5E4 00003025 */ move $a2, $zero -/* 0C2118 7F08D5E8 8C440000 */ lw $a0, ($v0) -/* 0C211C 7F08D5EC 24010002 */ li $at, 2 -/* 0C2120 7F08D5F0 54810012 */ bnel $a0, $at, .L7F08D63C -/* 0C2124 7F08D5F4 24010001 */ li $at, 1 -/* 0C2128 7F08D5F8 8C420004 */ lw $v0, 4($v0) -/* 0C212C 7F08D5FC 8C440004 */ lw $a0, 4($v0) -/* 0C2130 7F08D600 0FC23487 */ jal sub_GAME_7F08D21C -/* 0C2134 7F08D604 AFA00018 */ sw $zero, 0x18($sp) -/* 0C2138 7F08D608 8FA60018 */ lw $a2, 0x18($sp) -/* 0C213C 7F08D60C 10400025 */ beqz $v0, .L7F08D6A4 -/* 0C2140 7F08D610 00401825 */ move $v1, $v0 -/* 0C2144 7F08D614 8C4E000C */ lw $t6, 0xc($v0) -/* 0C2148 7F08D618 11C00005 */ beqz $t6, .L7F08D630 -/* 0C214C 7F08D61C 00000000 */ nop -/* 0C2150 7F08D620 0FC30776 */ jal get_textptr_for_textID -/* 0C2154 7F08D624 8C64000C */ lw $a0, 0xc($v1) -/* 0C2158 7F08D628 10000021 */ b .L7F08D6B0 -/* 0C215C 7F08D62C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D630: -/* 0C2160 7F08D630 1000001C */ b .L7F08D6A4 -/* 0C2164 7F08D634 8C460008 */ lw $a2, 8($v0) -/* 0C2168 7F08D638 24010001 */ li $at, 1 -.L7F08D63C: -/* 0C216C 7F08D63C 14810019 */ bne $a0, $at, .L7F08D6A4 -/* 0C2170 7F08D640 00000000 */ nop -/* 0C2174 7F08D644 8C640004 */ lw $a0, 4($v1) -/* 0C2178 7F08D648 0FC23497 */ jal sub_GAME_7F08D25C -/* 0C217C 7F08D64C AFA40018 */ sw $a0, 0x18($sp) -/* 0C2180 7F08D650 10400014 */ beqz $v0, .L7F08D6A4 -/* 0C2184 7F08D654 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2188 7F08D658 8C4F000C */ lw $t7, 0xc($v0) -/* 0C218C 7F08D65C 11E00011 */ beqz $t7, .L7F08D6A4 -/* 0C2190 7F08D660 00000000 */ nop -/* 0C2194 7F08D664 0FC30776 */ jal get_textptr_for_textID -/* 0C2198 7F08D668 8C44000C */ lw $a0, 0xc($v0) -/* 0C219C 7F08D66C 10000010 */ b .L7F08D6B0 -/* 0C21A0 7F08D670 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D674: -/* 0C21A4 7F08D674 3C188008 */ lui $t8, %hi(pPlayer) -/* 0C21A8 7F08D678 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0C21AC 7F08D67C 28A10020 */ slti $at, $a1, 0x20 -/* 0C21B0 7F08D680 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C21B4 7F08D684 13200007 */ beqz $t9, .L7F08D6A4 -/* 0C21B8 7F08D688 00000000 */ nop -/* 0C21BC 7F08D68C 10200005 */ beqz $at, .L7F08D6A4 -/* 0C21C0 7F08D690 00000000 */ nop -/* 0C21C4 7F08D694 0FC19C10 */ jal get_ptr_first_title_line_item -/* 0C21C8 7F08D698 24A40001 */ addiu $a0, $a1, 1 -/* 0C21CC 7F08D69C 10000004 */ b .L7F08D6B0 -/* 0C21D0 7F08D6A0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D6A4: -/* 0C21D4 7F08D6A4 0FC19C10 */ jal get_ptr_first_title_line_item -/* 0C21D8 7F08D6A8 00C02025 */ move $a0, $a2 -/* 0C21DC 7F08D6AC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D6B0: -/* 0C21E0 7F08D6B0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C21E4 7F08D6B4 03E00008 */ jr $ra -/* 0C21E8 7F08D6B8 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D5C8 -/* 0C2BA0 7F08E030 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C2BA4 7F08E034 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2BA8 7F08E038 0FC236A1 */ jal sub_GAME_7F08D108 -/* 0C2BAC 7F08E03C AFA40020 */ sw $a0, 0x20($sp) -/* 0C2BB0 7F08E040 8FA50020 */ lw $a1, 0x20($sp) -/* 0C2BB4 7F08E044 00401825 */ move $v1, $v0 -/* 0C2BB8 7F08E048 10400024 */ beqz $v0, .Ljp7F08E0DC -/* 0C2BBC 7F08E04C 00003025 */ move $a2, $zero -/* 0C2BC0 7F08E050 8C440000 */ lw $a0, ($v0) -/* 0C2BC4 7F08E054 24010002 */ li $at, 2 -/* 0C2BC8 7F08E058 54810012 */ bnel $a0, $at, .Ljp7F08E0A4 -/* 0C2BCC 7F08E05C 24010001 */ li $at, 1 -/* 0C2BD0 7F08E060 8C420004 */ lw $v0, 4($v0) -/* 0C2BD4 7F08E064 8C440004 */ lw $a0, 4($v0) -/* 0C2BD8 7F08E068 0FC236F3 */ jal sub_GAME_7F08D21C -/* 0C2BDC 7F08E06C AFA00018 */ sw $zero, 0x18($sp) -/* 0C2BE0 7F08E070 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2BE4 7F08E074 10400035 */ beqz $v0, .Ljp7F08E14C -/* 0C2BE8 7F08E078 00401825 */ move $v1, $v0 -/* 0C2BEC 7F08E07C 8C4E000C */ lw $t6, 0xc($v0) -/* 0C2BF0 7F08E080 11C00005 */ beqz $t6, .Ljp7F08E098 -/* 0C2BF4 7F08E084 00000000 */ nop -/* 0C2BF8 7F08E088 0FC30AA2 */ jal get_textptr_for_textID -/* 0C2BFC 7F08E08C 8C64000C */ lw $a0, 0xc($v1) -/* 0C2C00 7F08E090 10000031 */ b .Ljp7F08E158 -/* 0C2C04 7F08E094 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E098: -/* 0C2C08 7F08E098 1000002C */ b .Ljp7F08E14C -/* 0C2C0C 7F08E09C 8C460008 */ lw $a2, 8($v0) -/* 0C2C10 7F08E0A0 24010001 */ li $at, 1 -.Ljp7F08E0A4: -/* 0C2C14 7F08E0A4 14810029 */ bne $a0, $at, .Ljp7F08E14C -/* 0C2C18 7F08E0A8 00000000 */ nop -/* 0C2C1C 7F08E0AC 8C640004 */ lw $a0, 4($v1) -/* 0C2C20 7F08E0B0 0FC23703 */ jal sub_GAME_7F08D25C -/* 0C2C24 7F08E0B4 AFA40018 */ sw $a0, 0x18($sp) -/* 0C2C28 7F08E0B8 10400024 */ beqz $v0, .Ljp7F08E14C -/* 0C2C2C 7F08E0BC 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2C30 7F08E0C0 8C4F000C */ lw $t7, 0xc($v0) -/* 0C2C34 7F08E0C4 11E00021 */ beqz $t7, .Ljp7F08E14C -/* 0C2C38 7F08E0C8 00000000 */ nop -/* 0C2C3C 7F08E0CC 0FC30AA2 */ jal get_textptr_for_textID -/* 0C2C40 7F08E0D0 8C44000C */ lw $a0, 0xc($v0) -/* 0C2C44 7F08E0D4 10000020 */ b .Ljp7F08E158 -/* 0C2C48 7F08E0D8 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E0DC: -/* 0C2C4C 7F08E0DC 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0C2C50 7F08E0E0 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0C2C54 7F08E0E4 3C028005 */ lui $v0, %hi(j_text_trigger) # $v0, 0x8005 -/* 0C2C58 7F08E0E8 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C2C5C 7F08E0EC 13200017 */ beqz $t9, .Ljp7F08E14C -/* 0C2C60 7F08E0F0 00000000 */ nop -/* 0C2C64 7F08E0F4 8C428500 */ lw $v0, %lo(j_text_trigger)($v0) -/* 0C2C68 7F08E0F8 24030020 */ li $v1, 32 -/* 0C2C6C 7F08E0FC 10400003 */ beqz $v0, .Ljp7F08E10C -/* 0C2C70 7F08E100 00000000 */ nop -/* 0C2C74 7F08E104 10000001 */ b .Ljp7F08E10C -/* 0C2C78 7F08E108 2403001F */ li $v1, 31 -.Ljp7F08E10C: -/* 0C2C7C 7F08E10C 00A3082A */ slt $at, $a1, $v1 -/* 0C2C80 7F08E110 1020000E */ beqz $at, .Ljp7F08E14C -/* 0C2C84 7F08E114 00000000 */ nop -/* 0C2C88 7F08E118 10400008 */ beqz $v0, .Ljp7F08E13C -/* 0C2C8C 7F08E11C 24A80001 */ addiu $t0, $a1, 1 -/* 0C2C90 7F08E120 29010002 */ slti $at, $t0, 2 -/* 0C2C94 7F08E124 14200005 */ bnez $at, .Ljp7F08E13C -/* 0C2C98 7F08E128 00000000 */ nop -/* 0C2C9C 7F08E12C 0FC19D86 */ jal get_ptr_first_title_line_item -/* 0C2CA0 7F08E130 24A40002 */ addiu $a0, $a1, 2 -/* 0C2CA4 7F08E134 10000008 */ b .Ljp7F08E158 -/* 0C2CA8 7F08E138 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E13C: -/* 0C2CAC 7F08E13C 0FC19D86 */ jal get_ptr_first_title_line_item -/* 0C2CB0 7F08E140 24A40001 */ addiu $a0, $a1, 1 -/* 0C2CB4 7F08E144 10000004 */ b .Ljp7F08E158 -/* 0C2CB8 7F08E148 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E14C: -/* 0C2CBC 7F08E14C 0FC19D86 */ jal get_ptr_first_title_line_item -/* 0C2CC0 7F08E150 00C02025 */ move $a0, $a2 -/* 0C2CC4 7F08E154 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E158: -/* 0C2CC8 7F08E158 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C2CCC 7F08E15C 03E00008 */ jr $ra -/* 0C2CD0 7F08E160 00000000 */ nop -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D6BC(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D6BC -/* 0C21EC 7F08D6BC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C21F0 7F08D6C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C21F4 7F08D6C4 0FC23442 */ jal sub_GAME_7F08D108 -/* 0C21F8 7F08D6C8 AFA40020 */ sw $a0, 0x20($sp) -/* 0C21FC 7F08D6CC 8FA50020 */ lw $a1, 0x20($sp) -/* 0C2200 7F08D6D0 00401825 */ move $v1, $v0 -/* 0C2204 7F08D6D4 10400024 */ beqz $v0, .L7F08D768 -/* 0C2208 7F08D6D8 00003025 */ move $a2, $zero -/* 0C220C 7F08D6DC 8C440000 */ lw $a0, ($v0) -/* 0C2210 7F08D6E0 24010002 */ li $at, 2 -/* 0C2214 7F08D6E4 54810012 */ bnel $a0, $at, .L7F08D730 -/* 0C2218 7F08D6E8 24010001 */ li $at, 1 -/* 0C221C 7F08D6EC 8C420004 */ lw $v0, 4($v0) -/* 0C2220 7F08D6F0 8C440004 */ lw $a0, 4($v0) -/* 0C2224 7F08D6F4 0FC23487 */ jal sub_GAME_7F08D21C -/* 0C2228 7F08D6F8 AFA00018 */ sw $zero, 0x18($sp) -/* 0C222C 7F08D6FC 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2230 7F08D700 10400025 */ beqz $v0, .L7F08D798 -/* 0C2234 7F08D704 00401825 */ move $v1, $v0 -/* 0C2238 7F08D708 8C4E0010 */ lw $t6, 0x10($v0) -/* 0C223C 7F08D70C 11C00005 */ beqz $t6, .L7F08D724 -/* 0C2240 7F08D710 00000000 */ nop -/* 0C2244 7F08D714 0FC30776 */ jal get_textptr_for_textID -/* 0C2248 7F08D718 8C640010 */ lw $a0, 0x10($v1) -/* 0C224C 7F08D71C 10000021 */ b .L7F08D7A4 -/* 0C2250 7F08D720 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D724: -/* 0C2254 7F08D724 1000001C */ b .L7F08D798 -/* 0C2258 7F08D728 8C460008 */ lw $a2, 8($v0) -/* 0C225C 7F08D72C 24010001 */ li $at, 1 -.L7F08D730: -/* 0C2260 7F08D730 14810019 */ bne $a0, $at, .L7F08D798 -/* 0C2264 7F08D734 00000000 */ nop -/* 0C2268 7F08D738 8C640004 */ lw $a0, 4($v1) -/* 0C226C 7F08D73C 0FC23497 */ jal sub_GAME_7F08D25C -/* 0C2270 7F08D740 AFA40018 */ sw $a0, 0x18($sp) -/* 0C2274 7F08D744 10400014 */ beqz $v0, .L7F08D798 -/* 0C2278 7F08D748 8FA60018 */ lw $a2, 0x18($sp) -/* 0C227C 7F08D74C 8C4F0010 */ lw $t7, 0x10($v0) -/* 0C2280 7F08D750 11E00011 */ beqz $t7, .L7F08D798 -/* 0C2284 7F08D754 00000000 */ nop -/* 0C2288 7F08D758 0FC30776 */ jal get_textptr_for_textID -/* 0C228C 7F08D75C 8C440010 */ lw $a0, 0x10($v0) -/* 0C2290 7F08D760 10000010 */ b .L7F08D7A4 -/* 0C2294 7F08D764 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D768: -/* 0C2298 7F08D768 3C188008 */ lui $t8, %hi(pPlayer) -/* 0C229C 7F08D76C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0C22A0 7F08D770 28A10020 */ slti $at, $a1, 0x20 -/* 0C22A4 7F08D774 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C22A8 7F08D778 13200007 */ beqz $t9, .L7F08D798 -/* 0C22AC 7F08D77C 00000000 */ nop -/* 0C22B0 7F08D780 10200005 */ beqz $at, .L7F08D798 -/* 0C22B4 7F08D784 00000000 */ nop -/* 0C22B8 7F08D788 0FC19C1D */ jal get_ptr_second_title_line_item -/* 0C22BC 7F08D78C 24A40001 */ addiu $a0, $a1, 1 -/* 0C22C0 7F08D790 10000004 */ b .L7F08D7A4 -/* 0C22C4 7F08D794 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D798: -/* 0C22C8 7F08D798 0FC19C1D */ jal get_ptr_second_title_line_item -/* 0C22CC 7F08D79C 00C02025 */ move $a0, $a2 -/* 0C22D0 7F08D7A0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D7A4: -/* 0C22D4 7F08D7A4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C22D8 7F08D7A8 03E00008 */ jr $ra -/* 0C22DC 7F08D7AC 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D6BC -/* 0C2CD4 7F08E164 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C2CD8 7F08E168 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2CDC 7F08E16C 0FC236A1 */ jal sub_GAME_7F08D108 -/* 0C2CE0 7F08E170 AFA40020 */ sw $a0, 0x20($sp) -/* 0C2CE4 7F08E174 8FA50020 */ lw $a1, 0x20($sp) -/* 0C2CE8 7F08E178 00401825 */ move $v1, $v0 -/* 0C2CEC 7F08E17C 10400024 */ beqz $v0, .Ljp7F08E210 -/* 0C2CF0 7F08E180 00003025 */ move $a2, $zero -/* 0C2CF4 7F08E184 8C440000 */ lw $a0, ($v0) -/* 0C2CF8 7F08E188 24010002 */ li $at, 2 -/* 0C2CFC 7F08E18C 54810012 */ bnel $a0, $at, .Ljp7F08E1D8 -/* 0C2D00 7F08E190 24010001 */ li $at, 1 -/* 0C2D04 7F08E194 8C420004 */ lw $v0, 4($v0) -/* 0C2D08 7F08E198 8C440004 */ lw $a0, 4($v0) -/* 0C2D0C 7F08E19C 0FC236F3 */ jal sub_GAME_7F08D21C -/* 0C2D10 7F08E1A0 AFA00018 */ sw $zero, 0x18($sp) -/* 0C2D14 7F08E1A4 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2D18 7F08E1A8 10400035 */ beqz $v0, .Ljp7F08E280 -/* 0C2D1C 7F08E1AC 00401825 */ move $v1, $v0 -/* 0C2D20 7F08E1B0 8C4E0010 */ lw $t6, 0x10($v0) -/* 0C2D24 7F08E1B4 11C00005 */ beqz $t6, .Ljp7F08E1CC -/* 0C2D28 7F08E1B8 00000000 */ nop -/* 0C2D2C 7F08E1BC 0FC30AA2 */ jal get_textptr_for_textID -/* 0C2D30 7F08E1C0 8C640010 */ lw $a0, 0x10($v1) -/* 0C2D34 7F08E1C4 10000031 */ b .Ljp7F08E28C -/* 0C2D38 7F08E1C8 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E1CC: -/* 0C2D3C 7F08E1CC 1000002C */ b .Ljp7F08E280 -/* 0C2D40 7F08E1D0 8C460008 */ lw $a2, 8($v0) -/* 0C2D44 7F08E1D4 24010001 */ li $at, 1 -.Ljp7F08E1D8: -/* 0C2D48 7F08E1D8 14810029 */ bne $a0, $at, .Ljp7F08E280 -/* 0C2D4C 7F08E1DC 00000000 */ nop -/* 0C2D50 7F08E1E0 8C640004 */ lw $a0, 4($v1) -/* 0C2D54 7F08E1E4 0FC23703 */ jal sub_GAME_7F08D25C -/* 0C2D58 7F08E1E8 AFA40018 */ sw $a0, 0x18($sp) -/* 0C2D5C 7F08E1EC 10400024 */ beqz $v0, .Ljp7F08E280 -/* 0C2D60 7F08E1F0 8FA60018 */ lw $a2, 0x18($sp) -/* 0C2D64 7F08E1F4 8C4F0010 */ lw $t7, 0x10($v0) -/* 0C2D68 7F08E1F8 11E00021 */ beqz $t7, .Ljp7F08E280 -/* 0C2D6C 7F08E1FC 00000000 */ nop -/* 0C2D70 7F08E200 0FC30AA2 */ jal get_textptr_for_textID -/* 0C2D74 7F08E204 8C440010 */ lw $a0, 0x10($v0) -/* 0C2D78 7F08E208 10000020 */ b .Ljp7F08E28C -/* 0C2D7C 7F08E20C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E210: -/* 0C2D80 7F08E210 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0C2D84 7F08E214 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0C2D88 7F08E218 3C028005 */ lui $v0, %hi(j_text_trigger) # $v0, 0x8005 -/* 0C2D8C 7F08E21C 8F1911EC */ lw $t9, 0x11ec($t8) -/* 0C2D90 7F08E220 13200017 */ beqz $t9, .Ljp7F08E280 -/* 0C2D94 7F08E224 00000000 */ nop -/* 0C2D98 7F08E228 8C428500 */ lw $v0, %lo(j_text_trigger)($v0) -/* 0C2D9C 7F08E22C 24030020 */ li $v1, 32 -/* 0C2DA0 7F08E230 10400003 */ beqz $v0, .Ljp7F08E240 -/* 0C2DA4 7F08E234 00000000 */ nop -/* 0C2DA8 7F08E238 10000001 */ b .Ljp7F08E240 -/* 0C2DAC 7F08E23C 2403001F */ li $v1, 31 -.Ljp7F08E240: -/* 0C2DB0 7F08E240 00A3082A */ slt $at, $a1, $v1 -/* 0C2DB4 7F08E244 1020000E */ beqz $at, .Ljp7F08E280 -/* 0C2DB8 7F08E248 00000000 */ nop -/* 0C2DBC 7F08E24C 10400008 */ beqz $v0, .Ljp7F08E270 -/* 0C2DC0 7F08E250 24A80001 */ addiu $t0, $a1, 1 -/* 0C2DC4 7F08E254 29010002 */ slti $at, $t0, 2 -/* 0C2DC8 7F08E258 14200005 */ bnez $at, .Ljp7F08E270 -/* 0C2DCC 7F08E25C 00000000 */ nop -/* 0C2DD0 7F08E260 0FC19D93 */ jal get_ptr_second_title_line_item -/* 0C2DD4 7F08E264 24A40002 */ addiu $a0, $a1, 2 -/* 0C2DD8 7F08E268 10000008 */ b .Ljp7F08E28C -/* 0C2DDC 7F08E26C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E270: -/* 0C2DE0 7F08E270 0FC19D93 */ jal get_ptr_second_title_line_item -/* 0C2DE4 7F08E274 24A40001 */ addiu $a0, $a1, 1 -/* 0C2DE8 7F08E278 10000004 */ b .Ljp7F08E28C -/* 0C2DEC 7F08E27C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E280: -/* 0C2DF0 7F08E280 0FC19D93 */ jal get_ptr_second_title_line_item -/* 0C2DF4 7F08E284 00C02025 */ move $a0, $a2 -/* 0C2DF8 7F08E288 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F08E28C: -/* 0C2DFC 7F08E28C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C2E00 7F08E290 03E00008 */ jr $ra -/* 0C2E04 7F08E294 00000000 */ nop -) -#endif -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D7B0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D7B0 -/* 0C22E0 7F08D7B0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C22E4 7F08D7B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C22E8 7F08D7B8 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C22EC 7F08D7BC 00000000 */ nop -/* 0C22F0 7F08D7C0 0FC19C0C */ jal get_45_degree_angle -/* 0C22F4 7F08D7C4 00402025 */ move $a0, $v0 -/* 0C22F8 7F08D7C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C22FC 7F08D7CC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C2300 7F08D7D0 03E00008 */ jr $ra -/* 0C2304 7F08D7D4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D7D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D7D8 -/* 0C2308 7F08D7D8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C230C 7F08D7DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2310 7F08D7E0 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C2314 7F08D7E4 00000000 */ nop -/* 0C2318 7F08D7E8 0FC19BE9 */ jal get_vertical_position_solo_watch_menu_main_page_for_item -/* 0C231C 7F08D7EC 00402025 */ move $a0, $v0 -/* 0C2320 7F08D7F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C2324 7F08D7F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C2328 7F08D7F8 03E00008 */ jr $ra -/* 0C232C 7F08D7FC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D800(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D800 -/* 0C2330 7F08D800 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C2334 7F08D804 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2338 7F08D808 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C233C 7F08D80C 00000000 */ nop -/* 0C2340 7F08D810 0FC19BF0 */ jal get_lateral_position_solo_watch_menu_main_page_for_item -/* 0C2344 7F08D814 00402025 */ move $a0, $v0 -/* 0C2348 7F08D818 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C234C 7F08D81C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C2350 7F08D820 03E00008 */ jr $ra -/* 0C2354 7F08D824 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D828(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D828 -/* 0C2358 7F08D828 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C235C 7F08D82C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2360 7F08D830 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C2364 7F08D834 00000000 */ nop -/* 0C2368 7F08D838 0FC19BF7 */ jal get_depth_on_solo_watch_menu_page_for_item -/* 0C236C 7F08D83C 00402025 */ move $a0, $v0 -/* 0C2370 7F08D840 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C2374 7F08D844 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C2378 7F08D848 03E00008 */ jr $ra -/* 0C237C 7F08D84C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D850(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D850 -/* 0C2380 7F08D850 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C2384 7F08D854 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2388 7F08D858 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C238C 7F08D85C 00000000 */ nop -/* 0C2390 7F08D860 0FC19BFE */ jal get_zrotation_solo_watch_menu_for_item -/* 0C2394 7F08D864 00402025 */ move $a0, $v0 -/* 0C2398 7F08D868 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C239C 7F08D86C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C23A0 7F08D870 03E00008 */ jr $ra -/* 0C23A4 7F08D874 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D878(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D878 -/* 0C23A8 7F08D878 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C23AC 7F08D87C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C23B0 7F08D880 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C23B4 7F08D884 00000000 */ nop -/* 0C23B8 7F08D888 0FC19C05 */ jal get_xrotation_solo_watch_menu_for_item -/* 0C23BC 7F08D88C 00402025 */ move $a0, $v0 -/* 0C23C0 7F08D890 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C23C4 7F08D894 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C23C8 7F08D898 03E00008 */ jr $ra -/* 0C23CC 7F08D89C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D8A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D8A0 -/* 0C23D0 7F08D8A0 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C23D4 7F08D8A4 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0C23D8 7F08D8A8 8C4E0000 */ lw $t6, ($v0) -/* 0C23DC 7F08D8AC 8DCF11F4 */ lw $t7, 0x11f4($t6) -/* 0C23E0 7F08D8B0 AC8F0020 */ sw $t7, 0x20($a0) -/* 0C23E4 7F08D8B4 8C580000 */ lw $t8, ($v0) -/* 0C23E8 7F08D8B8 03E00008 */ jr $ra -/* 0C23EC 7F08D8BC AF0411F4 */ sw $a0, 0x11f4($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D8C0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D8C0 -/* 0C23F0 7F08D8C0 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C23F4 7F08D8C4 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C23F8 7F08D8C8 03E00008 */ jr $ra -/* 0C23FC 7F08D8CC 8DC211F0 */ lw $v0, 0x11f0($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D8D0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D8D0 -/* 0C2400 7F08D8D0 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C2404 7F08D8D4 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C2408 7F08D8D8 03E00008 */ jr $ra -/* 0C240C 7F08D8DC ADC411F0 */ sw $a0, 0x11f0($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D8E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D8E0 -/* 0C2410 7F08D8E0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C2414 7F08D8E4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C2418 7F08D8E8 AFB10018 */ sw $s1, 0x18($sp) -/* 0C241C 7F08D8EC AFB00014 */ sw $s0, 0x14($sp) -/* 0C2420 7F08D8F0 0FC17674 */ jal get_item_in_hand -/* 0C2424 7F08D8F4 00002025 */ move $a0, $zero -/* 0C2428 7F08D8F8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C242C 7F08D8FC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C2430 7F08D900 00408825 */ move $s1, $v0 -/* 0C2434 7F08D904 00008025 */ move $s0, $zero -/* 0C2438 7F08D908 0FC2340E */ jal sub_GAME_7F08D038 -/* 0C243C 7F08D90C ADC011F0 */ sw $zero, 0x11f0($t6) -/* 0C2440 7F08D910 5840000E */ blezl $v0, .L7F08D94C -/* 0C2444 7F08D914 8FBF001C */ lw $ra, 0x1c($sp) -.L7F08D918: -/* 0C2448 7F08D918 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0C244C 7F08D91C 02002025 */ move $a0, $s0 -/* 0C2450 7F08D920 14510004 */ bne $v0, $s1, .L7F08D934 -/* 0C2454 7F08D924 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0C2458 7F08D928 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0C245C 7F08D92C 10000006 */ b .L7F08D948 -/* 0C2460 7F08D930 ADF011F0 */ sw $s0, 0x11f0($t7) -.L7F08D934: -/* 0C2464 7F08D934 0FC2340E */ jal sub_GAME_7F08D038 -/* 0C2468 7F08D938 26100001 */ addiu $s0, $s0, 1 -/* 0C246C 7F08D93C 0202082A */ slt $at, $s0, $v0 -/* 0C2470 7F08D940 1420FFF5 */ bnez $at, .L7F08D918 -/* 0C2474 7F08D944 00000000 */ nop -.L7F08D948: -/* 0C2478 7F08D948 8FBF001C */ lw $ra, 0x1c($sp) -.L7F08D94C: -/* 0C247C 7F08D94C 8FB00014 */ lw $s0, 0x14($sp) -/* 0C2480 7F08D950 8FB10018 */ lw $s1, 0x18($sp) -/* 0C2484 7F08D954 03E00008 */ jr $ra -/* 0C2488 7F08D958 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D95C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D95C -/* 0C248C 7F08D95C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C2490 7F08D960 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C2494 7F08D964 0FC23487 */ jal sub_GAME_7F08D21C -/* 0C2498 7F08D968 00000000 */ nop -/* 0C249C 7F08D96C 50400009 */ beql $v0, $zero, .L7F08D994 -/* 0C24A0 7F08D970 00001025 */ move $v0, $zero -/* 0C24A4 7F08D974 8C4E001C */ lw $t6, 0x1c($v0) -/* 0C24A8 7F08D978 51C00006 */ beql $t6, $zero, .L7F08D994 -/* 0C24AC 7F08D97C 00001025 */ move $v0, $zero -/* 0C24B0 7F08D980 0FC30776 */ jal get_textptr_for_textID -/* 0C24B4 7F08D984 8C44001C */ lw $a0, 0x1c($v0) -/* 0C24B8 7F08D988 10000003 */ b .L7F08D998 -/* 0C24BC 7F08D98C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C24C0 7F08D990 00001025 */ move $v0, $zero -.L7F08D994: -/* 0C24C4 7F08D994 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D998: -/* 0C24C8 7F08D998 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C24CC 7F08D99C 03E00008 */ jr $ra -/* 0C24D0 7F08D9A0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D9A4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D9A4 -/* 0C24D4 7F08D9A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C24D8 7F08D9A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C24DC 7F08D9AC 0FC23497 */ jal sub_GAME_7F08D25C -/* 0C24E0 7F08D9B0 00000000 */ nop -/* 0C24E4 7F08D9B4 50400009 */ beql $v0, $zero, .L7F08D9DC -/* 0C24E8 7F08D9B8 00001025 */ move $v0, $zero -/* 0C24EC 7F08D9BC 8C4E001C */ lw $t6, 0x1c($v0) -/* 0C24F0 7F08D9C0 51C00006 */ beql $t6, $zero, .L7F08D9DC -/* 0C24F4 7F08D9C4 00001025 */ move $v0, $zero -/* 0C24F8 7F08D9C8 0FC30776 */ jal get_textptr_for_textID -/* 0C24FC 7F08D9CC 8C44001C */ lw $a0, 0x1c($v0) -/* 0C2500 7F08D9D0 10000003 */ b .L7F08D9E0 -/* 0C2504 7F08D9D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C2508 7F08D9D8 00001025 */ move $v0, $zero -.L7F08D9DC: -/* 0C250C 7F08D9DC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08D9E0: -/* 0C2510 7F08D9E0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C2514 7F08D9E4 03E00008 */ jr $ra -/* 0C2518 7F08D9E8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08D9EC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08D9EC -/* 0C251C 7F08D9EC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C2520 7F08D9F0 AFB00014 */ sw $s0, 0x14($sp) -/* 0C2524 7F08D9F4 00A08025 */ move $s0, $a1 -/* 0C2528 7F08D9F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C252C 7F08D9FC AFB10018 */ sw $s1, 0x18($sp) -/* 0C2530 7F08DA00 00808825 */ move $s1, $a0 -/* 0C2534 7F08DA04 0FC1782D */ jal check_special_attributes -/* 0C2538 7F08DA08 3C050002 */ lui $a1, 2 -/* 0C253C 7F08DA0C 10400039 */ beqz $v0, .L7F08DAF4 -/* 0C2540 7F08DA10 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 0C2544 7F08DA14 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 0C2548 7F08DA18 AFA60024 */ sw $a2, 0x24($sp) -/* 0C254C 7F08DA1C 02002025 */ move $a0, $s0 -/* 0C2550 7F08DA20 3C050002 */ lui $a1, 2 -/* 0C2554 7F08DA24 0FC1782D */ jal check_special_attributes -/* 0C2558 7F08DA28 AFA00020 */ sw $zero, 0x20($sp) -/* 0C255C 7F08DA2C 8FA60024 */ lw $a2, 0x24($sp) -/* 0C2560 7F08DA30 14400002 */ bnez $v0, .L7F08DA3C -/* 0C2564 7F08DA34 8FA70020 */ lw $a3, 0x20($sp) -/* 0C2568 7F08DA38 00008025 */ move $s0, $zero -.L7F08DA3C: -/* 0C256C 7F08DA3C 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C2570 7F08DA40 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0C2574 7F08DA44 00002025 */ move $a0, $zero -.L7F08DA48: -/* 0C2578 7F08DA48 8C431200 */ lw $v1, 0x1200($v0) -/* 0C257C 7F08DA4C 04600010 */ bltz $v1, .L7F08DA90 -/* 0C2580 7F08DA50 0066082A */ slt $at, $v1, $a2 -/* 0C2584 7F08DA54 8C4E11F8 */ lw $t6, 0x11f8($v0) -/* 0C2588 7F08DA58 162E0008 */ bne $s1, $t6, .L7F08DA7C -/* 0C258C 7F08DA5C 00000000 */ nop -/* 0C2590 7F08DA60 8C4F11FC */ lw $t7, 0x11fc($v0) -/* 0C2594 7F08DA64 160F0005 */ bne $s0, $t7, .L7F08DA7C -/* 0C2598 7F08DA68 3C188005 */ lui $t8, %hi(clock_timer) -/* 0C259C 7F08DA6C 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 0C25A0 7F08DA70 0078C821 */ addu $t9, $v1, $t8 -/* 0C25A4 7F08DA74 1000000D */ b .L7F08DAAC -/* 0C25A8 7F08DA78 AC591200 */ sw $t9, 0x1200($v0) -.L7F08DA7C: -/* 0C25AC 7F08DA7C 50200008 */ beql $at, $zero, .L7F08DAA0 -/* 0C25B0 7F08DA80 24840001 */ addiu $a0, $a0, 1 -/* 0C25B4 7F08DA84 00603025 */ move $a2, $v1 -/* 0C25B8 7F08DA88 10000004 */ b .L7F08DA9C -/* 0C25BC 7F08DA8C 00803825 */ move $a3, $a0 -.L7F08DA90: -/* 0C25C0 7F08DA90 00803825 */ move $a3, $a0 -/* 0C25C4 7F08DA94 10000005 */ b .L7F08DAAC -/* 0C25C8 7F08DA98 2404000A */ li $a0, 10 -.L7F08DA9C: -/* 0C25CC 7F08DA9C 24840001 */ addiu $a0, $a0, 1 -.L7F08DAA0: -/* 0C25D0 7F08DAA0 2881000A */ slti $at, $a0, 0xa -/* 0C25D4 7F08DAA4 1420FFE8 */ bnez $at, .L7F08DA48 -/* 0C25D8 7F08DAA8 2442000C */ addiu $v0, $v0, 0xc -.L7F08DAAC: -/* 0C25DC 7F08DAAC 2401000A */ li $at, 10 -/* 0C25E0 7F08DAB0 14810010 */ bne $a0, $at, .L7F08DAF4 -/* 0C25E4 7F08DAB4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C25E8 7F08DAB8 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0C25EC 7F08DABC 8C690000 */ lw $t1, ($v1) -/* 0C25F0 7F08DAC0 00071080 */ sll $v0, $a3, 2 -/* 0C25F4 7F08DAC4 3C088005 */ lui $t0, %hi(clock_timer) -/* 0C25F8 7F08DAC8 8D088374 */ lw $t0, %lo(clock_timer)($t0) -/* 0C25FC 7F08DACC 00471023 */ subu $v0, $v0, $a3 -/* 0C2600 7F08DAD0 00021080 */ sll $v0, $v0, 2 -/* 0C2604 7F08DAD4 01225021 */ addu $t2, $t1, $v0 -/* 0C2608 7F08DAD8 AD481200 */ sw $t0, 0x1200($t2) -/* 0C260C 7F08DADC 8C6B0000 */ lw $t3, ($v1) -/* 0C2610 7F08DAE0 01626021 */ addu $t4, $t3, $v0 -/* 0C2614 7F08DAE4 AD9111F8 */ sw $s1, 0x11f8($t4) -/* 0C2618 7F08DAE8 8C6D0000 */ lw $t5, ($v1) -/* 0C261C 7F08DAEC 01A27021 */ addu $t6, $t5, $v0 -/* 0C2620 7F08DAF0 ADD011FC */ sw $s0, 0x11fc($t6) -.L7F08DAF4: -/* 0C2624 7F08DAF4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C2628 7F08DAF8 8FB00014 */ lw $s0, 0x14($sp) -/* 0C262C 7F08DAFC 8FB10018 */ lw $s1, 0x18($sp) -/* 0C2630 7F08DB00 03E00008 */ jr $ra -/* 0C2634 7F08DB04 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08DB08(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08DB08 -/* 0C2638 7F08DB08 AC800000 */ sw $zero, ($a0) -/* 0C263C 7F08DB0C 3C088008 */ lui $t0, %hi(pPlayer) -/* 0C2640 7F08DB10 2402FFFF */ li $v0, -1 -/* 0C2644 7F08DB14 ACA00000 */ sw $zero, ($a1) -/* 0C2648 7F08DB18 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0C264C 7F08DB1C 00003025 */ move $a2, $zero -/* 0C2650 7F08DB20 24090078 */ li $t1, 120 -/* 0C2654 7F08DB24 8D0E0000 */ lw $t6, ($t0) -.L7F08DB28: -/* 0C2658 7F08DB28 01C61821 */ addu $v1, $t6, $a2 -/* 0C265C 7F08DB2C 8C671200 */ lw $a3, 0x1200($v1) -/* 0C2660 7F08DB30 04E0000C */ bltz $a3, .L7F08DB64 -/* 0C2664 7F08DB34 0047082A */ slt $at, $v0, $a3 -/* 0C2668 7F08DB38 5020000B */ beql $at, $zero, .L7F08DB68 -/* 0C266C 7F08DB3C 8C67120C */ lw $a3, 0x120c($v1) -/* 0C2670 7F08DB40 8C6F11F8 */ lw $t7, 0x11f8($v1) -/* 0C2674 7F08DB44 00E01025 */ move $v0, $a3 -/* 0C2678 7F08DB48 AC8F0000 */ sw $t7, ($a0) -/* 0C267C 7F08DB4C 8D180000 */ lw $t8, ($t0) -/* 0C2680 7F08DB50 0306C821 */ addu $t9, $t8, $a2 -/* 0C2684 7F08DB54 8F2A11FC */ lw $t2, 0x11fc($t9) -/* 0C2688 7F08DB58 ACAA0000 */ sw $t2, ($a1) -/* 0C268C 7F08DB5C 8D0B0000 */ lw $t3, ($t0) -/* 0C2690 7F08DB60 01661821 */ addu $v1, $t3, $a2 -.L7F08DB64: -/* 0C2694 7F08DB64 8C67120C */ lw $a3, 0x120c($v1) -.L7F08DB68: -/* 0C2698 7F08DB68 04E0000A */ bltz $a3, .L7F08DB94 -/* 0C269C 7F08DB6C 0047082A */ slt $at, $v0, $a3 -/* 0C26A0 7F08DB70 50200009 */ beql $at, $zero, .L7F08DB98 -/* 0C26A4 7F08DB74 24C60018 */ addiu $a2, $a2, 0x18 -/* 0C26A8 7F08DB78 8C6C1204 */ lw $t4, 0x1204($v1) -/* 0C26AC 7F08DB7C 00E01025 */ move $v0, $a3 -/* 0C26B0 7F08DB80 AC8C0000 */ sw $t4, ($a0) -/* 0C26B4 7F08DB84 8D0D0000 */ lw $t5, ($t0) -/* 0C26B8 7F08DB88 01A67021 */ addu $t6, $t5, $a2 -/* 0C26BC 7F08DB8C 8DCF1208 */ lw $t7, 0x1208($t6) -/* 0C26C0 7F08DB90 ACAF0000 */ sw $t7, ($a1) -.L7F08DB94: -/* 0C26C4 7F08DB94 24C60018 */ addiu $a2, $a2, 0x18 -.L7F08DB98: -/* 0C26C8 7F08DB98 54C9FFE3 */ bnel $a2, $t1, .L7F08DB28 -/* 0C26CC 7F08DB9C 8D0E0000 */ lw $t6, ($t0) -/* 0C26D0 7F08DBA0 03E00008 */ jr $ra -/* 0C26D4 7F08DBA4 00000000 */ nop -) -#endif - - - diff --git a/src/game/bondwalk.c b/src/game/bondwalk.c deleted file mode 100644 index b83b134..0000000 --- a/src/game/bondwalk.c +++ /dev/null @@ -1,26231 +0,0 @@ -#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; -s32 dword_CODE_bss_80075DB4; -s32 dword_CODE_bss_80075DB8; -s32 dword_CODE_bss_80075DBC; -s32 dword_CODE_bss_80075DC0; -s32 dword_CODE_bss_80075DC4; -char dword_CODE_bss_80075DC8[0x9C]; -s32 dword_CODE_bss_80075E64; -char dword_CODE_bss_80075E68[0xBE0]; -s32 dword_CODE_bss_80076A48; - - -// data -//D:80032440 -struct rgba_val D_80032440[] = { - {0x96, 0x96, 0x96, 0}, - {0x96, 0x96, 0x96, 0} -}; - -//D:80032448 -struct rgba_val D_80032448[] = { - {0xFF, 0xFF, 0xFF, 0}, - {0xFF, 0xFF, 0xFF, 0}, - {0xB2, 0x4D, 0x2E, 0} -}; -//D:80032454 -u32 D_80032454 = 0; - -//D:80032458 -u32 D_80032458 = 0; - -//D:8003245C -u32 size_item_buffer[] = {0x14820, 0x14820}; - -//D:80032464 -u32 D_80032464[] ={0x7530, 0x7530}; - - - -//D:8003246C -struct ejected_cart ejected_cartridge[] = { - {&GcartridgeZ_struct, "GcartridgeZ"}, - {&GcartrifleZ_struct, "GcartrifleZ"}, - {&GcartblueZ_struct, "GcartblueZ"}, - {&GcartshellZ_struct, "GcartshellZ"}, - {0, ""} -}; - -#ifdef VERSION_US -#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_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 -#define SCALEVAL_SKORPIAN 0.8695 -#define SCALEVAL_AK47 0.893 -#define SCALEVAL_UZI 0.8578 -#define SCALEVAL_P90 0.8461 -#define SCALEVAL_RUGER 0.8344 -#define SCALEVAL_LAUNCHER 0.9048 -#endif -//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 -struct weapon_stats GfistZ_stats = { - 1.0, 11.0, -50.0, -33.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x06, 1, 0, 0, NULL, 2.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 2.0, 4.0,0.0, 0x64D91 -}; -//D:80032574 -struct weapon_stats GknifeZ_stats = { - 1.0, 14.0, -24.799999, -34.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x06, 1, 0, 0, NULL, 3.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 2.0,4.0, 0.0, 0x160D91 -}; -//D:800325E4 -struct weapon_stats GthrowknifeZ_stats = { - 1.0, 14.0, -24.799999, -34.0, 3.0, 3.0, 8.5, 0xA, 1, 0xFF, 0x06, 1, 0, 0, NULL, 3.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0,2.0, 4.0, 1.0, 0x560D83 -}; - -//D:80032654 -struct weapon_stats GwppkZ_stats = { - 1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 7, 0xFF, 0x10, 1, 0, 0x6B, &GcartridgeZ_struct, 1.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0, 0x170FB9 -}; -//D:800326C4 -struct weapon_stats GwppksilZ_stats = { - 1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 7, 0xFF, 0x10, 1, 0, 0x2E, &GcartridgeZ_struct, 1.0, 3.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 1.5, 5.0, 29.999998, 0.0, 5.0, 1.0, 2.0, 4.0, 0.0, 0x170FB9 -}; -//D:80032734 -struct weapon_stats Gtt33Z_stats = { - 1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 8, 0xFF, 0x10, 1, 0, 0x70, &GcartridgeZ_struct, 1.0, 6.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 5.0, 10.0, 59.999996, 2.0, 16.0, 3.0, 2.0, 4.0, 0.0, 0x170FB9 -}; -//D:800327A4 -struct weapon_stats GskorpianZ_stats = { - 2.0, 11.5, -25.0, -27.5, 3.0, 5.0, 10.0, 1, 0x14, 0x03, 0x00, 1, 0xB, 0x6A, &GcartridgeZ_struct, 0.60000002, 15.0, 0.0, SCALEVAL_SKORPIAN, 0.88999999, 1.0, 6, 0.0, 0.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x170B79 -}; -//D:80032814 -struct weapon_stats Gak47Z_stats = { - 2.0, 11.0, -19.0, -16.0, 3.0, 3.0, 8.5, 3, 0x1E, 0x03, 0x00, 1, 4, 0x6D, &GcartrifleZ_struct, 1.0, 10.0, 30.0, SCALEVAL_AK47, 0.91000003, 1.0, 0x40C0006,4.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 3.0, 0x171A7C -}; -//D:80032884 -struct weapon_stats GuziZ_stats = { - 3.0, 11.0, -24.5, -37.0, 3.0, 8.0, 15.0, 1, 0x20, 0x02, 0x00, 1, 4, 0x6E, &GcartridgeZ_struct, 1.0, 9.0, 0.0, SCALEVAL_UZI, 0.88, 1.0, 0x6120006, 4.0, 3.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171B79 -}; -//D:800328F4 -struct weapon_stats Gmp5kZ_stats = { - 2.0, 11.0, -26.4, -35.0, 3.0, 8.0, 15.0, 1, 0x1E, 0x03, 0x00, 1, 4, 0x75, &GcartridgeZ_struct, 1.0, 7.0, 0.0, SCALEVAL_SKORPIAN, 0.88999999, 1.0, 0x6120006, 4.0, 3.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171A79 -}; -//D:80032964 -struct weapon_stats Gmp5ksilZ_stats = { - 2.0, 11.0, -26.4, -35.0, 3.0, 8.0, 15.0, 1, 0x1E, 0x03, 0x00, 1, 4, 0x2E, &GcartridgeZ_struct, 1.0, 9.0, 0.0, SCALEVAL_SKORPIAN, 0.88999999, 1.0, 0x6120006, 3.5, 2.0, 0.0, 0.0, 7.0, 1.2, 2.0, 4.0, 0.0, 0x171A79 -}; -//D:800329D4 -struct weapon_stats GspectreZ_stats = { - 2.0, 11.0, -21.9, -35.0, 3.0, 8.0, 15.0, 1, 0x32, 0x03, 0x00, 1, 4, 0x6D, &GcartridgeZ_struct, 1.4, 12.0, 0.0, SCALEVAL_SKORPIAN, 0.88999999, 1.0, 0x40C0006, 4.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171A79 -}; -//D:80032A44 -struct weapon_stats Gm16Z_stats = { - 6.0, 11.0, -19.200001, -21.5, 3.0, 3.0, 8.5, 3, 0x1E, 0x02, 0x00, 2, 5, 0x71, &GcartblueZ_struct, 1.4, 6.0, 20.0, SCALEVAL_AK47, 0.91000003, 0.5, 0x6120208, 5.0, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 4.0, 0x171A7C -}; -//D:80032AB4 -struct weapon_stats Gfnp90Z_stats = { - 4.0, 12.5, -25.299999, -32.5, 3.0, 8.0, 15.0, 1, 0x50, 0x02, 0x00, 3, 2, 0xFD, &GcartridgeZ_struct, 1.8, 6.0, 0.0, SCALEVAL_P90, 0.87, 1.0, 0x4080003, 3.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 4.0, 0x171A78 -}; -//D:80032B24 -struct weapon_stats GshotgunZ_stats = { - 4.0, 11.0, -20.6, -19.5, 3.0, 3.0, 8.5, 4, 5, 0xFF, 0x0A, 1, 0, 0x79, &GcartshellZ_struct, 0.40000001, 20.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0x812080C, 9.0, 10.0, 0.0, 2.0, 25.0, 4.0, 2.0, 4.0, 5.0, 0x170AF9 -}; - -//D:80032B94 -struct weapon_stats GautoshotZ_stats = { - 4.0, 12.0, -24.1, -19.0, 3.0, 3.0, 8.5, 4, 5, 0xFF, 0x0A, 1, 0, 0x74, NULL, 0.60000002, 16.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0x812080C, 4.5, 3.0, 0.0, 2.0, 20.0, 3.0, 2.0, 4.0, 5.0, 0x170AF9 -}; - -//D:80032C04 -struct weapon_stats GsniperrifleZ_stats = { - 6.0, 11.0, -20.700001, -31.5, 3.0, 3.0, 8.5, 3, 8, 0xFF, 0x10, 1, 0, 0x2E, &GcartblueZ_struct, 1.0, 0.0, 15.0, SCALEVAL_AK47, 0.91000003, 0.25, 0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.2, 2.0, 4.0, 0.0, 0x178A70 -}; - -//D:80032C74 -struct weapon_stats GrugerZ_stats = { - 2.0, 12.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 0xC, 6, 0xFF, 0x14, 0xA, 0, 0x6F, NULL, 2.0, 0.0, 0.0, SCALEVAL_RUGER, 0.86000001, 1.0, 0x81000FF, 12.0, 35.0, 0.0, 2.0, 20.0, 3.0, 2.0, 4.0, 6.0, 0x170FB9 -}; -//D:80032CE4 -struct weapon_stats GgoldengunZ_stats = { - 1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 0xD, 1, 0xFF, 0x00, 1, 0, 0x75, NULL, 100.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x40800FF, 5.0, 10.0, 0.0, 1.0, 9.0, 1.5, 2.0, 4.0, 0.0, 0x170F99 -}; - -//D:80032D54 -struct weapon_stats GsilverwppkZ_stats = { - 1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 7, 0xFF, 0x10, 0xA, 0, 0x6B, &GcartridgeZ_struct, 2.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0, 0x170FB9 -}; -//D:80032DC4 -struct weapon_stats GgoldwppkZ_stats = { - 1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 7, 0xFF, 0x10, 1, 0, 0x6B, &GcartridgeZ_struct, 100.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300,3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0, 0x170FB9 -}; - -//D:80032E34 -struct weapon_stats GlaserZ_stats = { - 1.0, 11.0, -19.5, -28.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x06, 2, 0, 0xE4, NULL, 2.0, 0.0, 0.0, SCALEVAL_SKORPIAN, 0.88999999, 1.0, 0x6000606, 0.0, 0.0, 0.0, 2.0, 16.0, 2.0, 2.0, 4.0, 2.0, 0x170B99 -}; -//D:80032EA4 -struct weapon_stats GwatchlaserZ_stats = { - 1.0, -2.0, -21.5, -19.0, 3.0, 3.0, 8.5, 0x18, 0x3E8, 0xFF, 0x00, 1, 0, 0, NULL, 2.0, 0.0, 0.0, SCALEVAL_SKORPIAN, 0.88999999, 1.0, 0xFF, 0.0, 0.0, 0.0, 1.0, 4.0, 0.2, 1.0, 4.0, 0.0, 0x600F91 -}; -//D:80032F14 -struct weapon_stats GgrenadelaunchZ_stats = { - 1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, 0xB, 6, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x120AF1 -}; -//D:80032F84 -struct weapon_stats GrocketlaunchZ_stats = { - 1.0, 10.5, -22.200001, -14.5, 3.0, 3.0, 8.5, 6, 1, 0xFF, 0x14, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 0.5, 0xFF, 0.0, 0.0, 0.0, 2.0, 25.0, 10.0,2.0, 4.0, 0.0, 0x120FF1 -}; -//D:80032FF4 -struct weapon_stats GgrenadeZ_stats = { - 1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 5, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0, 0.0, 0x422982 -}; -//D:80033064 -struct weapon_stats GtimedmineZ_stats = { - 1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 9, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0, 0x422D82 -}; -//D:800330D4 -struct weapon_stats GproximitymineZ_stats = { - 1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 8, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0, 0x422D82 -}; -//D:80033144 -struct weapon_stats GremotemineZ_stats = { - 1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 7, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0, 0x422D82 -}; -//D:800331B4 -struct weapon_stats GtriggerZ_stats = { - 1.0, -2.0, -21.5, -19.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0xFF, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0,0.0, 0x890 -}; -//D:80033224 -struct weapon_stats GtaserZ_stats = { - 1.0, 16.0, -16.700001, -22.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x00, 1, 0, 0x64, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 2.0, 10.0, 2.0, 2.0, 4.0, 0.0, 0x620F70 -}; -//D:80033294 -struct weapon_stats GtankZ_stats = { - 1.0, 8.0, -19.200001, -11.5, 3.0, 3.0, 8.5, 0x1C, 1, 0xFF, 0x14, 1, 0, 0xB, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x780078FF, 0.0, 0.0, 0.0, 2.0, 25.0, 10.0, 2.0, 4.0, 0.0, 0x76781 -}; -//D:80033304 -struct weapon_stats GbombcaseZ_stats = { - 1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 0x10, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0,4.0, 0.0, 0x402D82 -}; -//D:80033374 -struct weapon_stats GplastiqueZ_stats = { - 1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 0x17, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0,4.0, 0.0, 0x422D82 -}; -//D:800333E4 -struct weapon_stats GflarepistolZ_stats = { - 1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, 0x11, 1, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0xAF1 -}; -//D:80033454 -struct weapon_stats GpitongunZ_stats = { - 1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, 0x12, 1, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0xAF1 -}; -//D:800334C4 -struct weapon_stats GbugZ_stats = { - 1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 0x14, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x402982 -}; -//D:80033534 -struct weapon_stats GmicrocameraZ_stats = { - 1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 0x15, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x402982 -}; -//D:800335A4 -struct weapon_stats GwatchmagnetattractZ_stats = { - 1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 0x19, 0xA, 0xFF, 0xFF, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 4.0, 0.0, 0x602980 -}; -//D:80033614 -struct weapon_stats GgoldeneyekeyZ_stats = { - 1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 0x16, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x482982 -}; -//D:80033684 -struct weapon_stats GcameraZ_stats = { - 1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0xFF, 1, 0, 0xF4, NULL, 1.0, 0.0, 20.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0xA990 -}; -//D:800336F4 -struct weapon_stats Csuit_lf_handz_stats = { - 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, 2.0, 2.0, 4.0, 0.0, 0x110 -}; -//D:80033764 -struct weapon_stats GjoypadZ_stats = { - 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, 2.0, 2.0, 4.0, 0.0, 0x110 -}; -//D:800337D4 -struct weapon_stats stru_D_800337D4 = { - 1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 6, 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, 2.0, 2.0, 4.0, 0.0, 0x110 -}; -//D:80033844 -struct weapon_stats stru_D_80033844 = { - 1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 0xB, 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, 2.0, 2.0, 4.0, 0.0, 0x110 -}; -//D:800338B4 -struct weapon_stats stru_D_800338B4 = { - 1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 0x1D, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x82182 -}; - - -//D:80033924 -struct gitem_data_struct gitem_structs[] = { - {NULL, NULL, 1, NULL, 0x9883, 0x9811, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9811, 0x9811, 10.0, 10.0, 1000.0}, - {&GfistZ_header, "GfistZ", 0, &GfistZ_stats, 0x9883, 0x9876, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9876, 0x98CD, 10.0, 10.0, 1000.0}, - {&GknifeZ_header, "GknifeZ", 0, &GknifeZ_stats, 0x9883, 0x9846, 200.0, 39.0, 1327.0, 0.0, 0.0, 0x9840, 0x98A8, 38.0, 118.0, 800.0}, - {&GthrowknifeZ_struct, "GthrowknifeZ", 0, &GthrowknifeZ_stats, 0x9871, 0x9806, 200.0, 51.0, 1327.0, 0.0, 0.0, 0x9870, 0x98CA, 38.0, 118.0, 800.0}, - {&GwppkZ_struct, "GwppkZ", 0, &GwppkZ_stats, 0x9857, 0x9801, 20.0, 97.0, 579.0, 0.0, 0.0, 0x9856, 0x98BA, 94.0, 2.0, 356.0}, - {&GwppksilZ_struct, "GwppksilZ", 0, &GwppksilZ_stats, 0x9803, 0x9810, 26.0, 162.0, 668.0, 0.0, 0.0, 0x9855, 0x98B9, 169.0, 5.0, 535.0}, - {&Gtt33Z_struct, "Gtt33Z", 0, &Gtt33Z_stats, 0x9804, 0x9832, 22.0, 128.0, 709.0, 0.0, 0.0, 0x982A, 0x989A, 124.0, 14.0, 455.0}, - {&GskorpianZ_struct, "GskorpionZ", 0, &GskorpianZ_stats, 0x9883, 0x986B, 46.0, 124.0, 785.0, 0.0, 0.0, 0x986B, 0x98C6, 124.0, 32.0, 545.0}, - {&Gak47Z_struct, "Gak47Z", 0, &Gak47Z_stats, 0x9808, 0x9868, -29.0, 307.0, 1410.0, 0.0, 0.0, 0x9842, 0x98AB, 304.0, -31.0, 1020.0}, - {&GuziZ_struct, "GuziZ", 0, &GuziZ_stats, 0x9883, 0x9882, -18.0, 57.0, 1198.0, 0.0, 0.0, 0x9882, 0x98D7, 68.0, -49.0, 667.0}, - {&Gmp5kZ_struct, "Gmp5kZ", 0, &Gmp5kZ_stats, 0x9800, 0x982F, 12.0, 112.0, 1300.0, 0.0, 0.0, 0x9829, 0x9896, 123.0, -2.0, 628.0}, - {&Gmp5ksilZ_struct, "Gmp5ksilZ", 0, &Gmp5ksilZ_stats, 0x9800, 0x9810, 14.0, 227.0, 1300.0, 0.0, 0.0, 0x9828, 0x9895, 226.0, -10.0, 834.0}, - {&GspectreZ_struct, "GspectreZ", 0, &GspectreZ_stats, 0x9883, 0x9858, -4.0, 144.0, 1128.0, 0.0, 0.0, 0x9858, 0x98B4, 146.0, -18.0, 801.0}, - {&Gm16Z_struct, "Gm16Z", 0, &Gm16Z_stats, 0x9875, 0x9812, 25.0, 251.0, 1796.0, 0.0, 0.0, 0x9874, 0x9884, 246.0, -45.0, 1497.0}, - {&Gfnp90Z_struct, "Gfnp90Z", 0, &Gfnp90Z_stats, 0x9883, 0x985E, 88.0, -44.0, 1107.0, 0.0, 0.0, 0x985E, 0x98BC, -44.0, 31.0, 867.0}, - {&GshotgunZ_struct, "GshotgunZ", 0, &GshotgunZ_stats, 0x9883, 0x9864, 39.0, 283.0, 1224.0, 0.0, 0.0, 0x9864, 0x98C1, 284.0, -22.0, 999.0}, - {&GautoshotZ_struct, "GautoshotZ", 0, &GautoshotZ_stats, 0x9816, 0x980C, 73.0, 285.0, 1224.0, 0.0, 0.0, 0x9815, 0x9886, 284.0, 4.0, 980.0}, - {&GsniperrifleZ_struct, "GsniperrifleZ", 0, &GsniperrifleZ_stats, 0x9867, 0x980A, 49.0, 265.0, 1760.0, 0.0, 0.0, 0x9866, 0x98C3, 268.0, 14.0, 1497.0}, - {&GrugerZ_struct, "GrugerZ", 0, &GrugerZ_stats, 0x9826, 0x984C, 47.0, 184.0, 769.0, 0.0, 0.0, 0x9825, 0x9893, 182.0, 36.0, 604.0}, - {&GgoldengunZ_struct, "GgoldengunZ", 0, &GgoldengunZ_stats, 0x983B, 0x9805, 29.0, 146.0, 629.0, 0.0, 0.0, 0x9839, 0x98A3, 144.0, 18.0, 464.0}, - {&GsilverwppkZ_struct, "GsilverwppkZ", 0, &GsilverwppkZ_stats, 0x9883, 0x9865, 20.0, 97.0, 579.0, 0.0, 0.0, 0x9865, 0x98C2, 94.0, 2.0, 356.0}, - {&GgoldwppkZ_struct, "GgoldwppkZ", 0, &GgoldwppkZ_stats, 0x9883, 0x9838, 20.0, 97.0, 579.0, 0.0, 0.0, 0x9838, 0x98A2, 94.0, 2.0, 356.0}, - {&GlaserZ_struct, "GlaserZ", 0, &GlaserZ_stats, 0x9852, 0x9847, 67.0, 106.0, 738.0, 0.0, 0.0, 0x9851, 0x98AC, 103.0, 21.0, 545.0}, - {&GwatchlaserZ_struct, "GwatchlaserZ", 0, &GwatchlaserZ_stats, 0x987F, 0x9847, 82.0, 0.0, 2857.0, 0.0, 90.0, 0x987B, 0x98D2, 0.0, -40.0, 1383.0}, - {&GgrenadelaunchZ_struct, "GgrenadelaunchZ", 0, &GgrenadelaunchZ_stats, 0x983D, 0x9848, 27.0, 279.0, 1152.0, 0.0, 0.0, 0x983C, 0x98A5, 284.0, -22.0, 960.0}, - {&GrocketlaunchZ_struct, "GrocketlaunchZ", 0, &GrocketlaunchZ_stats, 0x980B, 0x9848, 111.0, -50.0, 1624.0, 0.0, 0.0, 0x9861, 0x98BF, -42.0, 16.0, 1381.0}, - {&GgrenadeZ_struct, "GgrenadeZ", 0, &GgrenadeZ_stats, 0x9883, 0x983D, 180.0, 0.0, 2745.0, 0.0, 90.0, 0x983E, 0x98A6, 0.0, 48.0, 1468.0}, - {&GtimedmineZ_struct, "GtimedmineZ", 0, &GtimedmineZ_stats, 0x9809, 0x980F, 8.0, 0.0, 364.0, 90.0, 0.0, 0x9872, 0x98CB, 0.0, -3.0, 179.0}, - {&GproximitymineZ_struct, "GproximitymineZ", 0, &GproximitymineZ_stats, 0x9802, 0x980D, 8.0, 0.0, 364.0, 90.0, 0.0, 0x985D, 0x98BB, 0.0, -3.0, 179.0}, - {&GremotemineZ_struct, "GremotemineZ", 0, &GremotemineZ_stats, 0x9807, 0x980E, 8.0, 0.0, 364.0, 90.0, 0.0, 0x9860, 0x98BE, 0.0, -3.0, 179.0}, - {&GtriggerZ_struct, "GtriggerZ", 0, &GtriggerZ_stats, 0x9883, 0x982E, 82.0, 0.0, 2857.0, 0.0, 90.0, 0x982E, 0x989B, 0.0, -40.0, 1383.0}, - {&GtaserZ_struct, "GtaserZ", 0, &GtaserZ_stats, 0x9883, 0x986F, 107.0, 49.0, 568.0, 0.0, 0.0, 0x986F, 0x98C9, 64.0, 80.0, 333.0}, - {NULL, NULL, 0, &GtankZ_stats, 0x9883, 0x986E, 20.0, 97.0, 579.0, 0.0, 0.0, 0x986E, 0x98C8, 94.0, 2.0, 356.0}, - {&GbombcaseZ_struct, "GbombcaseZ", 0, &GbombcaseZ_stats, 0x9883, 0x981A, 16.0, 0.0, 568.0, 0.0, 90.0, 0x981A, 0x988A, 0.0, -8.0, 323.0}, - {&GplastiqueZ_struct, "GplastiqueZ", 0, &GplastiqueZ_stats, 0x9883, 0x985B, 28.0, 0.0, 1062.0, 80.0, 90.0, 0x985B, 0x98B7, 0.0, -16.0, 739.0}, - {&GflarepistolZ_struct, "GflarepistolZ", 0, &GflarepistolZ_stats, 0x9883, 0x9834, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9834, 0x989F, 0.0, 0.0, 1000.0}, - {&GpitongunZ_struct, "GpitongunZ", 0, &GpitongunZ_stats, 0x9883, 0x9859, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9859, 0x98B5, 0.0, 0.0, 1000.0}, - {&GbungeeZ_struct, "GbungeeZ", 1, NULL, 0x9883, 0x981F, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x981F, 0x988F, 0.0, 0.0, 1000.0}, - {&GdoordecoderZ_struct, "GdoordecoderZ", 1, NULL, 0x9883, 0x9830, 12.0, 0.0, 364.0, 90.0, 90.0, 0x9830, 0x989C, 0.0, -6.0, 199.0}, - {&GbombdefuserZ_struct, "GbombdefuserZ", 1, NULL, 0x9883, 0x981B, 14.0, 0.0, 379.0, 90.0, 90.0, 0x981B, 0x988B, 0.0, 0.0, 279.0}, - {&GcameraZ_struct, "GcameraZ", 0, &GcameraZ_stats, 0x9883, 0x9820, 4.0, 0.0, 195.0, 20.0, 90.0, 0x9820, 0x9890, 0.0, -2.0, 144.0}, - {&GlockexploderZ_struct, "GlockexploderZ", 1, NULL, 0x9883, 0x984A, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x984A, 0x98AE, 0.0, 0.0, 1000.0}, - {&GdoorexploderZ_struct, "GdoorexploderZ", 1, NULL, 0x9883, 0x9831, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9831, 0x989D, 0.0, 0.0, 1000.0}, - {&GbriefcaseZ_struct, "GbriefcaseZ", 1, NULL, 0x9883, 0x981C, 16.0, 0.0, 568.0, 0.0, 90.0, 0x981C, 0x988C, 0.0, -8.0, 323.0}, - {&GweaponcaseZ_struct, "GweaponcaseZ", 1, NULL, 0x9883, 0x9880, 16.0, 0.0, 568.0, 0.0, 90.0, 0x9880, 0x98D5, 0.0, -8.0, 323.0}, - {&GsafecrackercaseZ_struct, "GsafecrackercaseZ", 1, NULL, 0x9883, 0x9863, 16.0, 0.0, 568.0, 0.0, 90.0, 0x9862, 0x98C0, 0.0, -8.0, 323.0}, - {&GkeyanalysercaseZ_struct, "GkeyanalysercaseZ", 1, NULL, 0x9883, 0x9844, 16.0, 0.0, 568.0, 0.0, 90.0, 0x9843, 0x98A9, 0.0, -8.0, 323.0}, - {&GbugZ_struct, "GbugZ", 0, &GbugZ_stats, 0x9883, 0x981E, 16.0, 0.0, 513.0, 0.0, 90.0, 0x981E, 0x988E, 0.0, -6.0, 387.0}, - {&GmicrocameraZ_struct, "GmicrocameraZ", 0, &GmicrocameraZ_stats, 0x9883, 0x984E, 8.0, 0.0, 310.0, 0.0, 270.0, 0x984E, 0x98B0, 0.0, -8.0, 229.0}, - {&GbugdetectorZ_struct, "GbugdetectorZ", 1, NULL, 0x9883, 0x981D, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x981D, 0x988D, 0.0, 0.0, 1000.0}, - {&GexplosivefloppyZ_struct, "GexplosivefloppyZ", 1, NULL, 0x9883, 0x9833, 12.0, 0.0, 336.0, 0.0, 90.0, 0x9833, 0x989E, 0.0, -4.0, 176.0}, - {&GpolarizedglassesZ_struct, "GpolarizedglassesZ", 1, NULL, 0x9883, 0x985C, 2.0, 0.0, 183.0, 15.0, 90.0, 0x985C, 0x98B8, 0.0, 0.0, 147.0}, - {&GdarkglassesZ_struct, "GdarkglassesZ", 1, NULL, 0x9883, 0x982B, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x982B, 0x9897, 0.0, 0.0, 1000.0}, - {&GcreditcardZ_struct, "GcreditcardZ", 1, NULL, 0x9883, 0x9827, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9827, 0x9894, 0.0, 0.0, 1000.0}, - {&GgaskeyringZ_struct, "GgaskeyringZ", 1, NULL, 0x9883, 0x9835, 26.0, 0.0, 769.0, 90.0, 90.0, 0x9835, 0x98A0, 0.0, -8.0, 387.0}, - {&GdatathiefZ_struct, "GdatathiefZ", 1, NULL, 0x9883, 0x982D, 16.0, 0.0, 474.0, 80.0, 0.0, 0x982D, 0x9899, 0.0, -6.0, 350.0}, - {&GwatchidentifierZ_struct, "GwatchidentifierZ", 1, NULL, 0x987F, 0x9841, 82.0, 0.0, 2857.0, 0.0, 90.0, 0x987A, 0x98D1, 0.0, -40.0, 1383.0}, - {&GwatchcommunicatorZ_struct, "GwatchcommunicatorZ", 1, NULL, 0x987F, 0x9823, 82.0, 0.0, 2857.0, 0.0, 90.0, 0x9878, 0x98CF, 0.0, -40.0, 1383.0}, - {&GwatchgeigercounterZ_struct, "GwatchgeigercounterZ", 1, NULL, 0x987F, 0x9836, 82.0, 0.0, 2857.0, 0.0, 90.0, 0x9879, 0x98D0, 0.0, -40.0, 1383.0}, - {&GwatchmagnetrepelZ_struct, "GwatchmagnetrepelZ", 1, NULL, 0x987F, 0x984B, 82.0, 0.0, 2857.0, 0.0, 90.0, 0x987D, 0x98D4, 0.0, -40.0, 1383.0}, - {&GwatchmagnetattractZ_struct, "GwatchmagnetattractZ", 0, &GwatchmagnetattractZ_stats, 0x987E, 0x9813, 80.0, 0.0, 3036.0, 0.0, 90.0, 0x987C, 0x98D3, 0.0, -40.0, 1383.0}, - {&GgoldeneyekeyZ_struct, "GgoldeneyekeyZ", 0, &GgoldeneyekeyZ_stats, 0x9883, 0x983A, 18.0, 0.0, 560.0, 80.0, 0.0, 0x983A, 0x98A4, 0.0, -4.0, 310.0}, - {&GblackboxZ_struct, "GblackboxZ", 1, NULL, 0x9883, 0x9817, 18.0, 0.0, 545.0, 0.0, 90.0, 0x9817, 0x9887, 0.0, -8.0, 380.0}, - {&GcircuitboardZ_struct, "GcircuitboardZ", 1, NULL, 0x9883, 0x9821, 20.0, 0.0, 568.0, 80.0, 0.0, 0x9821, 0x9891, 0.0, 0.0, 394.0}, - {&GclipboardZ_struct, "GclipboardZ", 1, NULL, 0x9883, 0x9822, 40.0, 0.0, 1151.0, 80.0, 90.0, 0x9822, 0x9892, 0.0, -20.0, 580.0}, - {&GstafflistZ_struct, "GstafflistZ", 1, NULL, 0x9883, 0x986C, 44.0, 0.0, 1274.0, 80.0, 90.0, 0x986C, 0x98C7, 0.0, -16.0, 681.0}, - {&GdossierredZ_struct, "GdossierredZ", 1, NULL, 0x9883, 0x985F, 38.0, 0.0, 1084.0, 350.0, 90.0, 0x985F, 0x98BD, 0.0, -12.0, 580.0}, - {&GplansZ_struct, "GplansZ", 1, NULL, 0x9883, 0x985A, 18.0, 0.0, 464.0, 350.0, 90.0, 0x985A, 0x98B6, 0.0, -2.0, 253.0}, - {&GspyfileZ_struct, "GspyfileZ", 1, NULL, 0x9883, 0x986A, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x986A, 0x98C5, 0.0, 0.0, 1000.0}, - {&GblueprintsZ_struct, "GblueprintsZ", 1, NULL, 0x9883, 0x9818, 18.0, 0.0, 579.0, 350.0, 90.0, 0x9818, 0x9888, 0.0, -8.0, 364.0}, - {&GmapZ_struct, "GmapZ", 1, NULL, 0x9883, 0x984D, 18.0, 0.0, 579.0, 350.0, 90.0, 0x984D, 0x98AF, 0.0, -6.0, 364.0}, - {&GaudiotapeZ_struct, "GaudiotapeZ", 1, NULL, 0x9883, 0x9814, 16.0, 0.0, 428.0, 90.0, 90.0, 0x9814, 0x9885, 0.0, -2.0, 292.0}, - {&GvideotapeZ_struct, "GvideotapeZ", 1, NULL, 0x9883, 0x9877, 26.0, 0.0, 753.0, 90.0, 0.0, 0x9877, 0x98CE, 0.0, -8.0, 395.0}, - {&GdattapeZ_struct, "GdattapeZ", 1, NULL, 0x9883, 0x982C, 14.0, 0.0, 387.0, 90.0, 90.0, 0x982C, 0x9898, 0.0, 0.0, 238.0}, - {&GspooltapeZ_struct, "GspooltapeZ", 1, NULL, 0x9883, 0x9869, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9869, 0x98C4, 0.0, 0.0, 1000.0}, - {&GmicrofilmZ_struct, "GmicrofilmZ", 1, NULL, 0x9883, 0x9850, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9850, 0x98B2, 0.0, 0.0, 1000.0}, - {&GmicrocodeZ_struct, "GmicrocodeZ", 1, NULL, 0x9883, 0x984F, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x984F, 0x98B1, 0.0, 0.0, 1000.0}, - {&GlectreZ_struct, "GlectreZ", 1, NULL, 0x9883, 0x9849, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9849, 0x98AD, 0.0, 0.0, 1000.0}, - {&GmoneyZ_struct, "GmoneyZ", 1, NULL, 0x9883, 0x9853, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9853, 0x98B3, 0.0, 0.0, 1000.0}, - {&GgoldbarZ_struct, "GgoldbarZ", 1, NULL, 0x9883, 0x9837, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9837, 0x98A1, 0.0, 0.0, 1000.0}, - {&GheroinZ_struct, "GheroinZ", 1, NULL, 0x9883, 0x983F, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x983F, 0x98A7, 0.0, 0.0, 1000.0}, - {&GkeycardZ_struct, "GkeycardZ", 1, NULL, 0x9883, 0x9845, 24.0, 0.0, 556.0, 80.0, 90.0, 0x9845, 0x98AA, 0.0, -6.0, 411.0}, - {&GkeyyaleZ_struct, "GkeyyaleZ", 1, NULL, 0x9883, 0x9881, 64.0, 0.0, 1912.0, 260.0, 90.0, 0x9881, 0x98D6, 0.0, -18.0, 1568.0}, - {&GkeyboltZ_struct, "GkeyboltZ", 1, NULL, 0x9883, 0x9819, 78.0, 0.0, 3518.0, 80.0, 90.0, 0x9819, 0x9889, 0.0, -12.0, 2582.0}, - {(struct Gitemheader *)&Csuit_lf_handz_struct, "Csuit_lf_handZ", 0, &Csuit_lf_handz_stats, 0x9883, 0x986D, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9883, 0x9883, 10.0, 10.0, 1000.0}, - {&GjoypadZ_struct, "GjoypadZ", 0, &GjoypadZ_stats, 0x9883, 0x9824, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9883, 0x9883, 10.0, 10.0, 1000.0}, - {NULL , NULL, 0, &stru_D_800337D4, 0x9883, 0x9854, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9883, 0x9883, 10.0, 10.0, 1000.0}, - {NULL , NULL, 0, &stru_D_80033844, 0x9883, 0x9854, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9883, 0x9883, 10.0, 10.0, 1000.0}, - {NULL , NULL, 0, &stru_D_800338B4, 0x9883, 0x9873, 12.0, 0.0, 528.0, 80.0, 0.0, 0x9873, 0x98CC, 0.0, -4.0, 310.0} -}; - -//D:80034C9C -u32 cartridges_eject = 0; -//D:80034CA0 -u32 D_80034CA0 = 0; - -//D:80034CA4 -u32 D_80034CA4[] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41000000, 0x0, 0x40C00000, - 0xBFC00000, 0x0, 0x40B487B1, 0x3E70C0AD, - 0x3E0AE536, 0x3F000000, 0x41000000, 0x0, - 0x41480000, 0xC0600000, 0x0, 0x40C159EC, - 0x3D374BC7, 0x3F0E4378, 0x3F000000, 0x41000000, - 0x0, 0xC1200000, 0xC1300000, 0x0, - 0x3F9ED962, 0x3EA24C40, 0x3F8B0DF1, 0x3F000000, - 0x41000000, 0x0, 0xC1600000, 0xC1700000, - 0x0, 0x3FEA4780, 0x40C498E3, 0x3FA316D3, - 0x3F000000, 0x41200000, 0x0, 0xBF800000, - 0xC1100000, 0x0, 0x3EC4BBA1, 0x3EB87C42, - 0x3DD75968, 0x3F000000, 0x41200000, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3F000000, 0x41A00000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41A00000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0, 0 -}; - -u32 D_80034E0C[] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41000000, 0x0, 0xC1080000, - 0xC0C00000, 0x0, 0x40AF7506, 0x40BAB4B9, - 0x40C2A5C2, 0x3F000000, 0x41000000, 0x0, - 0xC0400000, 0xC0600000, 0x0, 0x3ECE08F2, - 0x40B75721, 0x40B62409, 0x3F000000, 0x41000000, - 0x0, 0xBF000000, 0xC1080000, 0x0, - 0x3F9DFD7A, 0x40B768CD, 0x40B37BDF, 0x3F000000, - 0x41000000, 0x0, 0x40E00000, 0xC1E40000, - 0xBFC00000, 0x3FA74949, 0x40B63EBC, 0x40B6443D, - 0x3F000000, 0x41200000, 0x0, 0xBFC00000, - 0xC1100000, 0x0, 0x3D8ADEEC, 0x40C84E72, - 0x3E506749, 0x3F000000, 0x41200000, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3F000000, 0x41A00000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41A00000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_80034F74[] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41000000, 0x0, 0x0, - 0x0, 0x40900000, 0x40B2719D, 0x0, - 0x0, 0x3F000000, 0x41000000, 0x0, - 0x0, 0x0, 0x41A40000, 0x40A8630B, - 0x0, 0x0, 0x3F000000, 0x41000000, - 0x0, 0x0, 0x40400000, 0x40B00000, - 0x3D008312, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_8003504C[] = { - - 0x0, 0x0, 0x0, 0x40900000, - 0x40B2719D, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x0, 0x0, 0x0, - 0x41A40000, 0x40A8630B, 0x0, 0x0, - 0x3F000000, 0x41000000, 0x0, 0x0, - 0x40400000, 0x40B00000, 0x3D008312, 0x0, - 0x0, 0x3F000000, 0x41000000, 0x0, - 0x0, 0xC1A00000, 0x41900000, 0x3F4913C7, - 0x0, 0x0, 0x3F000000, 0x41A00000, - 0x0, 0x0, 0xC1A00000, 0x41900000, - 0x3F4913C7, 0x0, 0x0, 0x3F000000, - 0x41A00000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_80035124[] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x40800000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x40800000, 0x0, 0x41200000, - 0x41480000, 0x418C0000, 0x0, 0x0, - 0x0, 0x3F000000, 0x40800000, 0x0, - 0x41200000, 0x420A0000, 0x41CC0000, 0x0, - 0x0, 0x0, 0x3F000000, 0x41200000, - 0x0, 0x41200000, 0x420A0000, 0x41CC0000, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41200000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_800351FC[] = { - 0x0, 0x41200000, 0x420A0000, 0x41CC0000, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41200000, 0x0, 0x41200000, 0x420A0000, - 0x41CC0000, 0x0, 0x0, 0x0, - 0x3F000000, 0x41200000, 0x0, 0x41200000, - 0x41480000, 0x418C0000, 0x0, 0x0, - 0x0, 0x3F000000, 0x41200000, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3F000000, 0x41200000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41200000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_800352D4[] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x40800000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x40800000, 0x0, 0x0, - 0x0, 0x40900000, 0x40B2719D, 0x0, - 0x0, 0x3F000000, 0x40800000, 0x0, - 0x0, 0x0, 0x41A40000, 0x40A8630B, - 0x0, 0x0, 0x3F000000, 0x41000000, - 0x0, 0x0, 0x40400000, 0x40B00000, - 0x3D008312, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_800353AC[63] = { - 0x0, 0x0, 0x0, 0x40900000, - 0x40B2719D, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x0, 0x0, 0x0, - 0x41A40000, 0x40A8630B, 0x0, 0x0, - 0x3F000000, 0x41000000, 0x0, 0x0, - 0x40400000, 0x40B00000, 0x3D008312, 0x0, - 0x0, 0x3F000000, 0x41000000, 0x0, - 0x0, 0xC1A00000, 0x41900000, 0x3F4913C7, - 0x0, 0x0, 0x3F000000, 0x41000000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41A00000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41A00000, 0x1, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0 -}; - -u32 D_800354A8[90] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41200000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41200000, 0x0, 0x40C00000, - 0x41B80000, 0x0, 0x40BD4D94, 0x3DAFC8B0, - 0x3E60BFE4, 0x3F000000, 0x41200000, 0x0, - 0x41900000, 0x420C0000, 0x41180000, 0x409FF132, - 0x3DAC729F, 0x3E89B457, 0x3F000000, 0x41200000, - 0x0, 0xC1A00000, 0x41CC0000, 0x40800000, - 0x3E012CF1, 0x3E9BCB1D, 0x3F0C4CCF, 0x3F000000, - 0x41200000, 0x0, 0xC1E00000, 0xC0800000, - 0x40000000, 0x3F01BF05, 0x3F03C558, 0x3EF7DBB1, - 0x3F000000, 0x3F800000, 0x0, 0xC1E00000, - 0xC0800000, 0x40000000, 0x3F01BF05, 0x3F03C558, - 0x3EF7DBB1, 0x3F000000, 0x3F800000, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3F000000, 0x41A00000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41A00000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_80035610[90] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41200000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41200000, 0x0, 0xC0C00000, - 0x41B80000, 0x0, 0x40A2C750, 0x40C43392, - 0x40B1199C, 0x3F000000, 0x41200000, 0x0, - 0xC1900000, 0x420C0000, 0x41180000, 0x409C2EAE, - 0x3D902BC7, 0x40B12824, 0x3F000000, 0x41200000, - 0x0, 0x41000000, 0x41CC0000, 0x40800000, - 0x3DDB927D, 0x40C1FEDC, 0x40ACEF69, 0x3F000000, - 0x41200000, 0x0, 0x41E00000, 0xC0800000, - 0x40000000, 0x3DDB927D, 0x40C1FEDC, 0x40ACEF69, - 0x3F000000, 0x3F800000, 0x0, 0x41E00000, - 0xC0800000, 0x40000000, 0x3DDB927D, 0x40C1FEDC, - 0x40ACEF69, 0x3F000000, 0x3F800000, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3F000000, 0x41A00000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41A00000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_80035778[99] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41100000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41000000, 0x0, 0x41180000, - 0xBF000000, 0x40600000, 0x3E9504E6, 0x40B2B333, - 0x40C6CBA3, 0x3F000000, 0x41000000, 0x0, - 0x41900000, 0x40F00000, 0x40600000, 0x3EE0F55E, - 0x40BE3F16, 0x40BFCC1D, 0x3F000000, 0x41000000, - 0x0, 0xC1100000, 0x41080000, 0x40B00000, - 0x3F346DF8, 0x3E472043, 0x40C563EB, 0x3F000000, - 0x40E00000, 0x0, 0xC1E80000, 0xC0B00000, - 0x40B00000, 0x40120985, 0x3F8D9CFA, 0x3FBEB841, - 0x3F000000, 0x40E00000, 0x0, 0xC2660000, - 0xC1DC0000, 0x40B00000, 0x40120985, 0x3F8D9CFA, - 0x3FBEB841, 0x3F000000, 0x40E00000, 0x0, - 0xC19C0000, 0xC1A00000, 0x40B00000, 0x3F9CD307, - 0x3F39E0D6, 0x3F9AF8A5, 0x3F000000, 0x41700000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41A00000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41A00000, 0x1, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0 -}; - -u32 D_80035904[99] ={ - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41100000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41000000, 0x0, 0xC1780000, - 0x3F000000, 0x41700000, 0x3F6F3B21, 0x3F2027FA, - 0x3E652B0A, 0x3F000000, 0x41000000, 0x0, - 0xC1B80000, 0x40000000, 0x41400000, 0x3FE69C24, - 0x3F730C35, 0x3F21781C, 0x3F000000, 0x41000000, - 0x0, 0xC1900000, 0xBF000000, 0x40800000, - 0x3F590B0F, 0x3F6CBD66, 0x3D9E9A70, 0x3F000000, - 0x40E00000, 0x0, 0x41280000, 0x40A00000, - 0x40200000, 0x3E6AE968, 0x3E7B99D4, 0x3DCAE18B, - 0x3F000000, 0x40E00000, 0x0, 0x41900000, - 0x40A00000, 0x40200000, 0x3D0666ED, 0x40C6B2E4, - 0x3E0A4E38, 0x3F000000, 0x40E00000, 0x0, - 0x41180000, 0x40600000, 0xBFC00000, 0x40C8BE5E, - 0x40C02F79, 0x3DB7BC7F, 0x3F000000, 0x40E00000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41A00000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41A00000, 0x1, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0 -}; - -u32 D_80035A90[54] = { - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x3F000000, 0x41000000, 0x0, 0x3F000000, - 0xC0C00000, 0xC1000000, 0x3EE101F3, 0x3E8EC2AD, - 0x3E47DCBE, 0x3F000000, 0x41000000, 0x0, - 0xC0000000, 0xC1000000, 0xC1200000, 0x3F8D0308, - 0x3EEBE7D1, 0x3F122A80, 0x3F000000, 0x41000000, - 0x0, 0xC0000000, 0xC1000000, 0xC1200000, - 0x3F8D0308, 0x3EEBE7D1, 0x3F122A80, 0x3F000000, - 0x41000000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - -u32 D_80035B68[54] = { - 0x0, 0xC0000000, 0xC1000000, 0xC1200000, - 0x3F8D0308, 0x3EEBE7D1, 0x3F122A80, 0x3F000000, - 0x41000000, 0x0, 0xC0000000, 0xC1000000, - 0xC1200000, 0x3F8D0308, 0x3EEBE7D1, 0x3F122A80, - 0x3F000000, 0x41000000, 0x0, 0x3F000000, - 0xC0C00000, 0xC1000000, 0x3EE101F3, 0x3E8EC2AD, - 0x3E47DCBE, 0x3F000000, 0x41000000, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3F000000, 0x41000000, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x3F000000, - 0x41000000, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0 -}; - - -//D:80035C40 -u32 D_80035C40 = 0; -//D:80035C44 -u32 D_80035C44 = 0; -//D:80035C48 -u32 D_80035C48 = 0; -//D:80035C4C -u32 D_80035C4C = 0; -//D:80035C50 -u32 D_80035C50 = 0; -//D:80035C54 -u32 D_80035C54 = 0; -//D:80035C58 -u32 D_80035C58 = 0; -//D:80035C5C -u32 D_80035C5C = 0; - -//D:80035C60 -f32 D_80035C60 = -1.0; -//D:80035C64 -f32 D_80035C64 = 0.0; -//D:80035C68 -f32 D_80035C68 = 1.0; -//D:80035C6C -f32 D_80035C6C = 0.0; -//D:80035C70 -f32 D_80035C70 = 6.2536321; -//D:80035C74 -f32 D_80035C74 = 6.2592888; -//D:80035C78 -f32 D_80035C78 = 0.204238; -//D:80035C7C -f32 D_80035C7C = 0.25044999; -//D:80035C80 -f32 D_80035C80 = 0.90482301; -//D:80035C84 -f32 D_80035C84 = 0.28716999; -//D:80035C88 -f32 D_80035C88 = 1.715736; -//D:80035C8C -f32 D_80035C8C = 0.37460899; -//D:80035C90 -f32 D_80035C90 = 0.92193699; - -//D:80035C94 -f32 D_80035C94 = 0; - - -//D:80035C98 -u32 D_80035C98 = 0; -//D:80035C9C -u32 D_80035C9C = 0; -//D:80035CA0 -u32 D_80035CA0 = 0; -//D:80035CA4 -s32 D_80035CA4 = 0xFFFFFFFF; -//D:80035CA8 -u32 D_80035CA8 = 0; -//D:80035CAC -u32 D_80035CAC = 0; -//D:80035CB0 -u32 D_80035CB0 = 0; -//D:80035CB4 -u32 D_80035CB4 = 0; -//D:80035CB8 -u32 D_80035CB8 = 0; -//D:80035CBC -u32 D_80035CBC = 0; -//D:80035CC0 -u32 D_80035CC0 = 0; -//D:80035CC4 -u32 D_80035CC4[] = {1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:80035D00 -u32 D_80035D00 = 0; -//D:80035D04 -u32 D_80035D04[] = {1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:80035D44 -u32 D_80035D44[] = { - 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; -//D:80035E04 -u16 D_80035E04[] = { - 0x1B, 0x1C, 0x1D, 0x1E, 0x1B, 0x1C, 0x1D, 0x1E, 0x1B, 0x1C, 0x1D, 0x1E, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28 -}; -//D:80035E28 -u16 D_80035E28[] = {0x29, 0x2A}; -//D:80035E2C -u16 D_80035E2C[] = {0x2F, 0x30}; -//D:80035E30 -u16 D_80035E30[] = {0x31, 0}; -//D:80035E34 -u16 D_80035E34[] = {0x45, 0x45}; -//D:80035E38 -u16 D_80035E38[] = {0x5C, 0x5D}; -//D:80035E3C -u16 D_80035E3C[] = { - 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x17, 0x18, 0x19, 0x1A, 0x17, 0x18, 0x19, 0x1A, 0x1F, 0x20, 0x20, 0x21, 0x1F, 0x20, 0x20, 0x21, 0x1F, 0x20, 0x20, 0x21, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A -}; -//D:80035E84 -u16 D_80035E84[] = {0xA4, 0xA5}; -//D:80035E88 -u16 D_80035E88[] = {0xA6, 0xA7}; -//D:80035E8C -u16 D_80035E8C[] = {0xA8, 0}; -//D:80035E90 -u16 D_80035E90[] = {0x5C, 0x5D}; -//D:80035E94 -u16 D_80035E94[] = {0x5F, 0x60}; -//D:80035E98 -u16 D_80035E98[] = {0x61, 0}; -//D:80035E9C -u32 D_80035E9C = 0; -//D:80035EA0 -u32 D_80035EA0 = 0; -//D:80035EA4 -u32 D_80035EA4 = 0; -//D:80035EA8 -u32 D_80035EA8 = 0; -//D:80035EAC -u32 D_80035EAC = 0; -//D:80035EB0 -u32 D_80035EB0[] = {0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:80035EEC -u32 dword_D_80035EEC = 0; -//D:80035EF0 -u16 ammo_related[] = { - 0, 0, 0, 0, - 0, 0, 0, 0x320, - 0x200, 0xC84, 0, 0, - 0, 0xC8, 0, 0, - 0, 0, 0, 0x190, - 0x200, 0xC90,0xC000, 0, - 0, 0x64, 0x200, 0xC9C, - 0, 0, 0, 0xC, - 0x200, 0xCD8, 0, 0, - 0, 3, 0x200, 0xCC0, - 0xC000, 0, 0, 0xA, - 0x200, 0xCFC,0x3F80, 0, - 0, 0xA, 0x200, 0xD14, - 0x3F80, 0, 0, 0xA, - 0x200, 0xD08,0x3F80, 0, - 0, 0xA, 0x200, 0xCA8, - 0, 0, 0, 0xC, - 0x200, 0xCB4, 0, 0, - 0, 0xC8, 0x200, 0xCE4, - 0, 0, 0, 0x64, - 0x200, 0xCF0, 0, 0, - 0, 0x32, 0, 0, - 0, 0, 0, 0xA, - 0, 0, 0, 0, - 0, 2, 0, 0, - 0, 0, 0, 8, - 0, 0, 0, 0, - 0, 6, 0, 0, - 0, 0, 0, 0xA, - 0, 0, 0, 0, - 0, 0xA, 0, 0, - 0, 0, 0, 0xA, - 0, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 0, 0xA, - 0, 0, 0, 0, - 0, 0x3E8, 0, 0, - 0, 0, 0, 0xA, - 0, 0, 0, 0, - 0, 0xA, 0, 0, - 0, 0, 0, 0xA, - 0, 0, 0, 0, - 0, 0x32, 0x200, 0xD20, - 0xBF80, 0, 0, 1, - 0, 0, 0, 0, - 0, 0, 0, 0}; - - -//i may belong to objecthandler.c -//D:80036060 -u32 D_80036060 = 0; - - -// rodata - - -//D:80053BF4 -const char aD_9[] = "%d\n"; -//D:80053BF8 -const char aSD[] = "%s: %d\n"; -//D:80053C00 -const char aSDS[] = "%s %d %s\n"; -//D:80053C0C -const char aSD_0[] = "%s: %d\n"; - - - - - - -void set_cartridges_eject(u32 uParm1) { - cartridges_eject = uParm1; -} - -u32 get_cartridges_eject(void) { - return cartridges_eject; -} - -void nullsub_73(void) { - return; -} - - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F05C540(void *arg0) { - void *temp_v0; - - // Node 0 - temp_v0 = ((D_80034CA0 * 0x24) + &D_80035904); - temp_v0->unk4 = (f32) (temp_v0->unk4 + *arg0); - temp_v0->unk8 = (f32) (temp_v0->unk8 + arg0->unk4); - temp_v0->unkC = (f32) (temp_v0->unkC + arg0->unk8); - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C540 -/* 091070 7F05C540 3C0E8003 */ lui $t6, %hi(D_80034CA0) -/* 091074 7F05C544 8DCE4CA0 */ lw $t6, %lo(D_80034CA0)($t6) -/* 091078 7F05C548 3C188003 */ lui $t8, %hi(D_80035904) -/* 09107C 7F05C54C 27185904 */ addiu $t8, %lo(D_80035904) # addiu $t8, $t8, 0x5904 -/* 091080 7F05C550 000E78C0 */ sll $t7, $t6, 3 -/* 091084 7F05C554 01EE7821 */ addu $t7, $t7, $t6 -/* 091088 7F05C558 000F7880 */ sll $t7, $t7, 2 -/* 09108C 7F05C55C 01F81021 */ addu $v0, $t7, $t8 -/* 091090 7F05C560 C4440004 */ lwc1 $f4, 4($v0) -/* 091094 7F05C564 C4860000 */ lwc1 $f6, ($a0) -/* 091098 7F05C568 C44A0008 */ lwc1 $f10, 8($v0) -/* 09109C 7F05C56C 46062200 */ add.s $f8, $f4, $f6 -/* 0910A0 7F05C570 C444000C */ lwc1 $f4, 0xc($v0) -/* 0910A4 7F05C574 E4480004 */ swc1 $f8, 4($v0) -/* 0910A8 7F05C578 C4900004 */ lwc1 $f16, 4($a0) -/* 0910AC 7F05C57C 46105480 */ add.s $f18, $f10, $f16 -/* 0910B0 7F05C580 E4520008 */ swc1 $f18, 8($v0) -/* 0910B4 7F05C584 C4860008 */ lwc1 $f6, 8($a0) -/* 0910B8 7F05C588 46062200 */ add.s $f8, $f4, $f6 -/* 0910BC 7F05C58C 03E00008 */ jr $ra -/* 0910C0 7F05C590 E448000C */ swc1 $f8, 0xc($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C594(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C594 -/* 0910C4 7F05C594 3C0E8003 */ lui $t6, %hi(D_80034CA0) -/* 0910C8 7F05C598 8DCE4CA0 */ lw $t6, %lo(D_80034CA0)($t6) -/* 0910CC 7F05C59C 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0910D0 7F05C5A0 3C198003 */ lui $t9, %hi(D_80035904) -/* 0910D4 7F05C5A4 000E78C0 */ sll $t7, $t6, 3 -/* 0910D8 7F05C5A8 01EE7821 */ addu $t7, $t7, $t6 -/* 0910DC 7F05C5AC 000F7880 */ sll $t7, $t7, 2 -/* 0910E0 7F05C5B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0910E4 7F05C5B4 AFA40058 */ sw $a0, 0x58($sp) -/* 0910E8 7F05C5B8 25F80010 */ addiu $t8, $t7, 0x10 -/* 0910EC 7F05C5BC 27395904 */ addiu $t9, %lo(D_80035904) # addiu $t9, $t9, 0x5904 -/* 0910F0 7F05C5C0 03192021 */ addu $a0, $t8, $t9 -/* 0910F4 7F05C5C4 0FC161C5 */ jal sub_GAME_7F058714 -/* 0910F8 7F05C5C8 27A50018 */ addiu $a1, $sp, 0x18 -/* 0910FC 7F05C5CC 8FA40058 */ lw $a0, 0x58($sp) -/* 091100 7F05C5D0 0FC1601A */ jal sub_GAME_7F058068 -/* 091104 7F05C5D4 27A50018 */ addiu $a1, $sp, 0x18 -/* 091108 7F05C5D8 3C088003 */ lui $t0, %hi(D_80034CA0) -/* 09110C 7F05C5DC 8D084CA0 */ lw $t0, %lo(D_80034CA0)($t0) -/* 091110 7F05C5E0 3C0B8003 */ lui $t3, %hi(D_80035904) -/* 091114 7F05C5E4 256B5904 */ addiu $t3, %lo(D_80035904) # addiu $t3, $t3, 0x5904 -/* 091118 7F05C5E8 000848C0 */ sll $t1, $t0, 3 -/* 09111C 7F05C5EC 01284821 */ addu $t1, $t1, $t0 -/* 091120 7F05C5F0 00094880 */ sll $t1, $t1, 2 -/* 091124 7F05C5F4 252A0010 */ addiu $t2, $t1, 0x10 -/* 091128 7F05C5F8 014B2821 */ addu $a1, $t2, $t3 -/* 09112C 7F05C5FC 0FC16218 */ jal sub_GAME_7F058860 -/* 091130 7F05C600 27A40018 */ addiu $a0, $sp, 0x18 -/* 091134 7F05C604 8FBF0014 */ lw $ra, 0x14($sp) -/* 091138 7F05C608 27BD0058 */ addiu $sp, $sp, 0x58 -/* 09113C 7F05C60C 03E00008 */ jr $ra -/* 091140 7F05C610 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C614(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C614 -/* 091144 7F05C614 3C0E8003 */ lui $t6, %hi(cartridges_eject) -/* 091148 7F05C618 8DCE4C9C */ lw $t6, %lo(cartridges_eject)($t6) -/* 09114C 7F05C61C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 091150 7F05C620 AFBF0014 */ sw $ra, 0x14($sp) -/* 091154 7F05C624 11C00020 */ beqz $t6, .L7F05C6A8 -/* 091158 7F05C628 3C028008 */ lui $v0, %hi(pPlayer) -/* 09115C 7F05C62C 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 091160 7F05C630 8C580000 */ lw $t8, ($v0) -/* 091164 7F05C634 240F0001 */ li $t7, 1 -/* 091168 7F05C638 3C198003 */ lui $t9, %hi(D_80034CA0) -/* 09116C 7F05C63C AF0F092C */ sw $t7, 0x92c($t8) -/* 091170 7F05C640 8F394CA0 */ lw $t9, %lo(D_80034CA0)($t9) -/* 091174 7F05C644 8C450000 */ lw $a1, ($v0) -/* 091178 7F05C648 3C0A8003 */ lui $t2, %hi(D_80035904) -/* 09117C 7F05C64C 001940C0 */ sll $t0, $t9, 3 -/* 091180 7F05C650 01194021 */ addu $t0, $t0, $t9 -/* 091184 7F05C654 00084080 */ sll $t0, $t0, 2 -/* 091188 7F05C658 25090010 */ addiu $t1, $t0, 0x10 -/* 09118C 7F05C65C 254A5904 */ addiu $t2, %lo(D_80035904) # addiu $t2, $t2, 0x5904 -/* 091190 7F05C660 012A2021 */ addu $a0, $t1, $t2 -/* 091194 7F05C664 0FC161C5 */ jal sub_GAME_7F058714 -/* 091198 7F05C668 24A508EC */ addiu $a1, $a1, 0x8ec -/* 09119C 7F05C66C 3C0B8003 */ lui $t3, %hi(D_80034CA0) -/* 0911A0 7F05C670 8D6B4CA0 */ lw $t3, %lo(D_80034CA0)($t3) -/* 0911A4 7F05C674 3C058008 */ lui $a1, %hi(pPlayer) -/* 0911A8 7F05C678 8CA5A0B0 */ lw $a1, %lo(pPlayer)($a1) -/* 0911AC 7F05C67C 000B60C0 */ sll $t4, $t3, 3 -/* 0911B0 7F05C680 018B6021 */ addu $t4, $t4, $t3 -/* 0911B4 7F05C684 000C6080 */ sll $t4, $t4, 2 -/* 0911B8 7F05C688 3C0E8003 */ lui $t6, %hi(D_80035904) -/* 0911BC 7F05C68C 25CE5904 */ addiu $t6, %lo(D_80035904) # addiu $t6, $t6, 0x5904 -/* 0911C0 7F05C690 258D0004 */ addiu $t5, $t4, 4 -/* 0911C4 7F05C694 01AE2021 */ addu $a0, $t5, $t6 -/* 0911C8 7F05C698 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0911CC 7F05C69C 24A508EC */ addiu $a1, $a1, 0x8ec -/* 0911D0 7F05C6A0 3C018003 */ lui $at, %hi(cartridges_eject) -/* 0911D4 7F05C6A4 AC204C9C */ sw $zero, %lo(cartridges_eject)($at) -.L7F05C6A8: -/* 0911D8 7F05C6A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0911DC 7F05C6AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0911E0 7F05C6B0 03E00008 */ jr $ra -/* 0911E4 7F05C6B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C6B8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C6B8 -/* 0911E8 7F05C6B8 3C028003 */ lui $v0, %hi(D_80034CA0) -/* 0911EC 7F05C6BC 24424CA0 */ addiu $v0, %lo(D_80034CA0) # addiu $v0, $v0, 0x4ca0 -/* 0911F0 7F05C6C0 8C4E0000 */ lw $t6, ($v0) -/* 0911F4 7F05C6C4 3C088003 */ lui $t0, %hi(D_80035904) -/* 0911F8 7F05C6C8 25CF0001 */ addiu $t7, $t6, 1 -/* 0911FC 7F05C6CC 000FC8C0 */ sll $t9, $t7, 3 -/* 091200 7F05C6D0 032FC821 */ addu $t9, $t9, $t7 -/* 091204 7F05C6D4 0019C880 */ sll $t9, $t9, 2 -/* 091208 7F05C6D8 AC4F0000 */ sw $t7, ($v0) -/* 09120C 7F05C6DC 01194021 */ addu $t0, $t0, $t9 -/* 091210 7F05C6E0 8D085904 */ lw $t0, %lo(D_80035904)($t0) -/* 091214 7F05C6E4 31090001 */ andi $t1, $t0, 1 -/* 091218 7F05C6E8 11200002 */ beqz $t1, .L7F05C6F4 -/* 09121C 7F05C6EC 00000000 */ nop -/* 091220 7F05C6F0 AC400000 */ sw $zero, ($v0) -.L7F05C6F4: -/* 091224 7F05C6F4 03E00008 */ jr $ra -/* 091228 7F05C6F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C6FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C6FC -/* 09122C 7F05C6FC 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 091230 7F05C700 AFBF002C */ sw $ra, 0x2c($sp) -/* 091234 7F05C704 AFB00028 */ sw $s0, 0x28($sp) -/* 091238 7F05C708 AFA600A8 */ sw $a2, 0xa8($sp) -/* 09123C 7F05C70C AFA700AC */ sw $a3, 0xac($sp) -/* 091240 7F05C710 44856000 */ mtc1 $a1, $f12 -/* 091244 7F05C714 C4840044 */ lwc1 $f4, 0x44($a0) -/* 091248 7F05C718 24020001 */ li $v0, 1 -/* 09124C 7F05C71C 24900024 */ addiu $s0, $a0, 0x24 -/* 091250 7F05C720 460C203E */ c.le.s $f4, $f12 -/* 091254 7F05C724 00000000 */ nop -/* 091258 7F05C728 4502000E */ bc1fl .L7F05C764 -/* 09125C 7F05C72C 0002C0C0 */ sll $t8, $v0, 3 -/* 091260 7F05C730 C6000020 */ lwc1 $f0, 0x20($s0) -/* 091264 7F05C734 8E0E006C */ lw $t6, 0x6c($s0) -.L7F05C738: -/* 091268 7F05C738 46006301 */ sub.s $f12, $f12, $f0 -/* 09126C 7F05C73C 24420001 */ addiu $v0, $v0, 1 -/* 091270 7F05C740 31CF0001 */ andi $t7, $t6, 1 -/* 091274 7F05C744 15E00006 */ bnez $t7, .L7F05C760 -/* 091278 7F05C748 26100024 */ addiu $s0, $s0, 0x24 -/* 09127C 7F05C74C C6000020 */ lwc1 $f0, 0x20($s0) -/* 091280 7F05C750 460C003E */ c.le.s $f0, $f12 -/* 091284 7F05C754 00000000 */ nop -/* 091288 7F05C758 4503FFF7 */ bc1tl .L7F05C738 -/* 09128C 7F05C75C 8E0E006C */ lw $t6, 0x6c($s0) -.L7F05C760: -/* 091290 7F05C760 0002C0C0 */ sll $t8, $v0, 3 -.L7F05C764: -/* 091294 7F05C764 0302C021 */ addu $t8, $t8, $v0 -/* 091298 7F05C768 0018C080 */ sll $t8, $t8, 2 -/* 09129C 7F05C76C 00988021 */ addu $s0, $a0, $t8 -/* 0912A0 7F05C770 8E190048 */ lw $t9, 0x48($s0) -/* 0912A4 7F05C774 33280001 */ andi $t0, $t9, 1 -/* 0912A8 7F05C778 11000008 */ beqz $t0, .L7F05C79C -/* 0912AC 7F05C77C 26040010 */ addiu $a0, $s0, 0x10 -/* 0912B0 7F05C780 0FC161C5 */ jal sub_GAME_7F058714 -/* 0912B4 7F05C784 8FA500A8 */ lw $a1, 0xa8($sp) -/* 0912B8 7F05C788 26040004 */ addiu $a0, $s0, 4 -/* 0912BC 7F05C78C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0912C0 7F05C790 8FA500A8 */ lw $a1, 0xa8($sp) -/* 0912C4 7F05C794 10000042 */ b .L7F05C8A0 -/* 0912C8 7F05C798 00001025 */ move $v0, $zero -.L7F05C79C: -/* 0912CC 7F05C79C C6060020 */ lwc1 $f6, 0x20($s0) -/* 0912D0 7F05C7A0 2604FFEC */ addiu $a0, $s0, -0x14 -/* 0912D4 7F05C7A4 27A50068 */ addiu $a1, $sp, 0x68 -/* 0912D8 7F05C7A8 46066203 */ div.s $f8, $f12, $f6 -/* 0912DC 7F05C7AC E7A80098 */ swc1 $f8, 0x98($sp) -/* 0912E0 7F05C7B0 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 0912E4 7F05C7B4 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 0912E8 7F05C7B8 E7AA0094 */ swc1 $f10, 0x94($sp) -/* 0912EC 7F05C7BC 26040010 */ addiu $a0, $s0, 0x10 -/* 0912F0 7F05C7C0 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 0912F4 7F05C7C4 27A50058 */ addiu $a1, $sp, 0x58 -/* 0912F8 7F05C7C8 26040034 */ addiu $a0, $s0, 0x34 -/* 0912FC 7F05C7CC 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 091300 7F05C7D0 27A50048 */ addiu $a1, $sp, 0x48 -/* 091304 7F05C7D4 26040058 */ addiu $a0, $s0, 0x58 -/* 091308 7F05C7D8 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 09130C 7F05C7DC 27A50038 */ addiu $a1, $sp, 0x38 -/* 091310 7F05C7E0 27A40058 */ addiu $a0, $sp, 0x58 -/* 091314 7F05C7E4 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 091318 7F05C7E8 27A50048 */ addiu $a1, $sp, 0x48 -/* 09131C 7F05C7EC 27A40048 */ addiu $a0, $sp, 0x48 -/* 091320 7F05C7F0 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 091324 7F05C7F4 27A50038 */ addiu $a1, $sp, 0x38 -/* 091328 7F05C7F8 27A40058 */ addiu $a0, $sp, 0x58 -/* 09132C 7F05C7FC 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 091330 7F05C800 27A50068 */ addiu $a1, $sp, 0x68 -/* 091334 7F05C804 C7B00098 */ lwc1 $f16, 0x98($sp) -/* 091338 7F05C808 27A90078 */ addiu $t1, $sp, 0x78 -/* 09133C 7F05C80C AFA90014 */ sw $t1, 0x14($sp) -/* 091340 7F05C810 27A40068 */ addiu $a0, $sp, 0x68 -/* 091344 7F05C814 27A50058 */ addiu $a1, $sp, 0x58 -/* 091348 7F05C818 27A60048 */ addiu $a2, $sp, 0x48 -/* 09134C 7F05C81C 27A70038 */ addiu $a3, $sp, 0x38 -/* 091350 7F05C820 0FC170BC */ jal sub_GAME_7F05C2F0 -/* 091354 7F05C824 E7B00010 */ swc1 $f16, 0x10($sp) -/* 091358 7F05C828 C7B20098 */ lwc1 $f18, 0x98($sp) -/* 09135C 7F05C82C C7A40094 */ lwc1 $f4, 0x94($sp) -/* 091360 7F05C830 27AA0088 */ addiu $t2, $sp, 0x88 -/* 091364 7F05C834 AFAA0018 */ sw $t2, 0x18($sp) -/* 091368 7F05C838 2604FFE0 */ addiu $a0, $s0, -0x20 -/* 09136C 7F05C83C 26050004 */ addiu $a1, $s0, 4 -/* 091370 7F05C840 26060028 */ addiu $a2, $s0, 0x28 -/* 091374 7F05C844 2607004C */ addiu $a3, $s0, 0x4c -/* 091378 7F05C848 E7B20010 */ swc1 $f18, 0x10($sp) -/* 09137C 7F05C84C 0FC16C09 */ jal sub_GAME_7F05B024 -/* 091380 7F05C850 E7A40014 */ swc1 $f4, 0x14($sp) -/* 091384 7F05C854 8FAB00AC */ lw $t3, 0xac($sp) -/* 091388 7F05C858 24010001 */ li $at, 1 -/* 09138C 7F05C85C C7A60088 */ lwc1 $f6, 0x88($sp) -/* 091390 7F05C860 15610009 */ bne $t3, $at, .L7F05C888 -/* 091394 7F05C864 27A40078 */ addiu $a0, $sp, 0x78 -/* 091398 7F05C868 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 09139C 7F05C86C C7B2007C */ lwc1 $f18, 0x7c($sp) -/* 0913A0 7F05C870 46003207 */ neg.s $f8, $f6 -/* 0913A4 7F05C874 46005407 */ neg.s $f16, $f10 -/* 0913A8 7F05C878 46009107 */ neg.s $f4, $f18 -/* 0913AC 7F05C87C E7A80088 */ swc1 $f8, 0x88($sp) -/* 0913B0 7F05C880 E7B00078 */ swc1 $f16, 0x78($sp) -/* 0913B4 7F05C884 E7A4007C */ swc1 $f4, 0x7c($sp) -.L7F05C888: -/* 0913B8 7F05C888 0FC16D8A */ jal sub_GAME_7F05B628 -/* 0913BC 7F05C88C 8FA500A8 */ lw $a1, 0xa8($sp) -/* 0913C0 7F05C890 27A40088 */ addiu $a0, $sp, 0x88 -/* 0913C4 7F05C894 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0913C8 7F05C898 8FA500A8 */ lw $a1, 0xa8($sp) -/* 0913CC 7F05C89C 24020001 */ li $v0, 1 -.L7F05C8A0: -/* 0913D0 7F05C8A0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0913D4 7F05C8A4 8FB00028 */ lw $s0, 0x28($sp) -/* 0913D8 7F05C8A8 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 0913DC 7F05C8AC 03E00008 */ jr $ra -/* 0913E0 7F05C8B0 00000000 */ nop -) -#endif - - - - - -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 &default_weaponstats; /* no model, return defaults */ -} - - - - -#ifdef NONMATCHING -void copy_item_in_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copy_item_in_hand -/* 091420 7F05C8F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 091424 7F05C8F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 091428 7F05C8F8 AFA40018 */ sw $a0, 0x18($sp) -/* 09142C 7F05C8FC 0FC17674 */ jal get_item_in_hand -/* 091430 7F05C900 00002025 */ move $a0, $zero -/* 091434 7F05C904 0FC1722D */ jal get_ptr_item_statistics -/* 091438 7F05C908 00402025 */ move $a0, $v0 -/* 09143C 7F05C90C 8FA30018 */ lw $v1, 0x18($sp) -/* 091440 7F05C910 C4440004 */ lwc1 $f4, 4($v0) -/* 091444 7F05C914 E4640000 */ swc1 $f4, ($v1) -/* 091448 7F05C918 C4460008 */ lwc1 $f6, 8($v0) -/* 09144C 7F05C91C E4660004 */ swc1 $f6, 4($v1) -/* 091450 7F05C920 C448000C */ lwc1 $f8, 0xc($v0) -/* 091454 7F05C924 E4680008 */ swc1 $f8, 8($v1) -/* 091458 7F05C928 8FBF0014 */ lw $ra, 0x14($sp) -/* 09145C 7F05C92C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 091460 7F05C930 03E00008 */ jr $ra -/* 091464 7F05C934 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void copy_item_in_hand_to_main_list(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copy_item_in_hand_to_main_list -/* 091468 7F05C938 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09146C 7F05C93C AFBF0014 */ sw $ra, 0x14($sp) -/* 091470 7F05C940 AFA40018 */ sw $a0, 0x18($sp) -/* 091474 7F05C944 0FC17674 */ jal get_item_in_hand -/* 091478 7F05C948 00002025 */ move $a0, $zero -/* 09147C 7F05C94C 0FC1722D */ jal get_ptr_item_statistics -/* 091480 7F05C950 00402025 */ move $a0, $v0 -/* 091484 7F05C954 8FA30018 */ lw $v1, 0x18($sp) -/* 091488 7F05C958 C4640000 */ lwc1 $f4, ($v1) -/* 09148C 7F05C95C E4440004 */ swc1 $f4, 4($v0) -/* 091490 7F05C960 C4660004 */ lwc1 $f6, 4($v1) -/* 091494 7F05C964 E4460008 */ swc1 $f6, 8($v0) -/* 091498 7F05C968 C4680008 */ lwc1 $f8, 8($v1) -/* 09149C 7F05C96C E448000C */ swc1 $f8, 0xc($v0) -/* 0914A0 7F05C970 8FBF0014 */ lw $ra, 0x14($sp) -/* 0914A4 7F05C974 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0914A8 7F05C978 03E00008 */ jr $ra -/* 0914AC 7F05C97C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void unknown_takes_playerhand(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C14 -.word 0x3da3d70a /*0.079999998*/ -glabel D_80053C18 -.word 0x3dcccccd /*0.1*/ -glabel D_80053C1C -.word 0x3dcccccd /*0.1*/ -glabel D_80053C20 -.word 0x3dcccccd /*0.1*/ -.text -glabel unknown_takes_playerhand -/* 0914B0 7F05C980 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0914B4 7F05C984 AFBF003C */ sw $ra, 0x3c($sp) -/* 0914B8 7F05C988 AFB1002C */ sw $s1, 0x2c($sp) -/* 0914BC 7F05C98C 00808825 */ move $s1, $a0 -/* 0914C0 7F05C990 AFB40038 */ sw $s4, 0x38($sp) -/* 0914C4 7F05C994 AFB30034 */ sw $s3, 0x34($sp) -/* 0914C8 7F05C998 AFB20030 */ sw $s2, 0x30($sp) -/* 0914CC 7F05C99C AFB00028 */ sw $s0, 0x28($sp) -/* 0914D0 7F05C9A0 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0914D4 7F05C9A4 0FC17674 */ jal get_item_in_hand -/* 0914D8 7F05C9A8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0914DC 7F05C9AC 0FC1722D */ jal get_ptr_item_statistics -/* 0914E0 7F05C9B0 00402025 */ move $a0, $v0 -/* 0914E4 7F05C9B4 0011A0C0 */ sll $s4, $s1, 3 -/* 0914E8 7F05C9B8 0291A023 */ subu $s4, $s4, $s1 -/* 0914EC 7F05C9BC 3C138008 */ lui $s3, %hi(pPlayer) -/* 0914F0 7F05C9C0 0014A080 */ sll $s4, $s4, 2 -/* 0914F4 7F05C9C4 2673A0B0 */ addiu $s3, %lo(pPlayer) # addiu $s3, $s3, -0x5f50 -/* 0914F8 7F05C9C8 0291A021 */ addu $s4, $s4, $s1 -/* 0914FC 7F05C9CC 8E6F0000 */ lw $t7, ($s3) -/* 091500 7F05C9D0 0014A080 */ sll $s4, $s4, 2 -/* 091504 7F05C9D4 0291A021 */ addu $s4, $s4, $s1 -/* 091508 7F05C9D8 0014A0C0 */ sll $s4, $s4, 3 -/* 09150C 7F05C9DC 01F41821 */ addu $v1, $t7, $s4 -/* 091510 7F05C9E0 8C780A08 */ lw $t8, 0xa08($v1) -/* 091514 7F05C9E4 00112080 */ sll $a0, $s1, 2 -/* 091518 7F05C9E8 27AE0068 */ addiu $t6, $sp, 0x68 -/* 09151C 7F05C9EC 27190002 */ addiu $t9, $t8, 2 -/* 091520 7F05C9F0 C4540040 */ lwc1 $f20, 0x40($v0) -/* 091524 7F05C9F4 008E8021 */ addu $s0, $a0, $t6 -/* 091528 7F05C9F8 07210004 */ bgez $t9, .L7F05CA0C -/* 09152C 7F05C9FC 33280003 */ andi $t0, $t9, 3 -/* 091530 7F05CA00 11000002 */ beqz $t0, .L7F05CA0C -/* 091534 7F05CA04 00000000 */ nop -/* 091538 7F05CA08 2508FFFC */ addiu $t0, $t0, -4 -.L7F05CA0C: -/* 09153C 7F05CA0C AE080000 */ sw $t0, ($s0) -/* 091540 7F05CA10 8C6A0A08 */ lw $t2, 0xa08($v1) -/* 091544 7F05CA14 27A90060 */ addiu $t1, $sp, 0x60 -/* 091548 7F05CA18 00892821 */ addu $a1, $a0, $t1 -/* 09154C 7F05CA1C 254B0001 */ addiu $t3, $t2, 1 -/* 091550 7F05CA20 05610004 */ bgez $t3, .L7F05CA34 -/* 091554 7F05CA24 316C0003 */ andi $t4, $t3, 3 -/* 091558 7F05CA28 11800002 */ beqz $t4, .L7F05CA34 -/* 09155C 7F05CA2C 00000000 */ nop -/* 091560 7F05CA30 258CFFFC */ addiu $t4, $t4, -4 -.L7F05CA34: -/* 091564 7F05CA34 ACAC0000 */ sw $t4, ($a1) -/* 091568 7F05CA38 0C002914 */ jal get_random_value -/* 09156C 7F05CA3C AC6C0A08 */ sw $t4, 0xa08($v1) -/* 091570 7F05CA40 44822000 */ mtc1 $v0, $f4 -/* 091574 7F05CA44 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 091578 7F05CA48 4481B000 */ mtc1 $at, $f22 -/* 09157C 7F05CA4C 2412000C */ li $s2, 12 -/* 091580 7F05CA50 04410005 */ bgez $v0, .L7F05CA68 -/* 091584 7F05CA54 468021A0 */ cvt.s.w $f6, $f4 -/* 091588 7F05CA58 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09158C 7F05CA5C 44814000 */ mtc1 $at, $f8 -/* 091590 7F05CA60 00000000 */ nop -/* 091594 7F05CA64 46083180 */ add.s $f6, $f6, $f8 -.L7F05CA68: -/* 091598 7F05CA68 46163282 */ mul.s $f10, $f6, $f22 -/* 09159C 7F05CA6C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0915A0 7F05CA70 44818000 */ mtc1 $at, $f16 -/* 0915A4 7F05CA74 3C018005 */ lui $at, %hi(D_80053C14) -/* 0915A8 7F05CA78 C4243C14 */ lwc1 $f4, %lo(D_80053C14)($at) -/* 0915AC 7F05CA7C 8E190000 */ lw $t9, ($s0) -/* 0915B0 7F05CA80 001178C0 */ sll $t7, $s1, 3 -/* 0915B4 7F05CA84 46105481 */ sub.s $f18, $f10, $f16 -/* 0915B8 7F05CA88 03320019 */ multu $t9, $s2 -/* 0915BC 7F05CA8C 01F17823 */ subu $t7, $t7, $s1 -/* 0915C0 7F05CA90 000F7880 */ sll $t7, $t7, 2 -/* 0915C4 7F05CA94 46049202 */ mul.s $f8, $f18, $f4 -/* 0915C8 7F05CA98 01F17821 */ addu $t7, $t7, $s1 -/* 0915CC 7F05CA9C 8E6E0000 */ lw $t6, ($s3) -/* 0915D0 7F05CAA0 000F7880 */ sll $t7, $t7, 2 -/* 0915D4 7F05CAA4 01F17821 */ addu $t7, $t7, $s1 -/* 0915D8 7F05CAA8 000F78C0 */ sll $t7, $t7, 3 -/* 0915DC 7F05CAAC 01CFC021 */ addu $t8, $t6, $t7 -/* 0915E0 7F05CAB0 46144182 */ mul.s $f6, $f8, $f20 -/* 0915E4 7F05CAB4 00004012 */ mflo $t0 -/* 0915E8 7F05CAB8 03084821 */ addu $t1, $t8, $t0 -/* 0915EC 7F05CABC 0C002914 */ jal get_random_value -/* 0915F0 7F05CAC0 E52609A8 */ swc1 $f6, 0x9a8($t1) -/* 0915F4 7F05CAC4 44825000 */ mtc1 $v0, $f10 -/* 0915F8 7F05CAC8 04410005 */ bgez $v0, .L7F05CAE0 -/* 0915FC 7F05CACC 46805420 */ cvt.s.w $f16, $f10 -/* 091600 7F05CAD0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 091604 7F05CAD4 44819000 */ mtc1 $at, $f18 -/* 091608 7F05CAD8 00000000 */ nop -/* 09160C 7F05CADC 46128400 */ add.s $f16, $f16, $f18 -.L7F05CAE0: -/* 091610 7F05CAE0 46168102 */ mul.s $f4, $f16, $f22 -/* 091614 7F05CAE4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 091618 7F05CAE8 44814000 */ mtc1 $at, $f8 -/* 09161C 7F05CAEC 3C018005 */ lui $at, %hi(D_80053C18) -/* 091620 7F05CAF0 C42A3C18 */ lwc1 $f10, %lo(D_80053C18)($at) -/* 091624 7F05CAF4 8E0D0000 */ lw $t5, ($s0) -/* 091628 7F05CAF8 001158C0 */ sll $t3, $s1, 3 -/* 09162C 7F05CAFC 46082181 */ sub.s $f6, $f4, $f8 -/* 091630 7F05CB00 01B20019 */ multu $t5, $s2 -/* 091634 7F05CB04 01715823 */ subu $t3, $t3, $s1 -/* 091638 7F05CB08 000B5880 */ sll $t3, $t3, 2 -/* 09163C 7F05CB0C 460A3482 */ mul.s $f18, $f6, $f10 -/* 091640 7F05CB10 01715821 */ addu $t3, $t3, $s1 -/* 091644 7F05CB14 8E6A0000 */ lw $t2, ($s3) -/* 091648 7F05CB18 000B5880 */ sll $t3, $t3, 2 -/* 09164C 7F05CB1C 01715821 */ addu $t3, $t3, $s1 -/* 091650 7F05CB20 000B58C0 */ sll $t3, $t3, 3 -/* 091654 7F05CB24 014B6021 */ addu $t4, $t2, $t3 -/* 091658 7F05CB28 46149402 */ mul.s $f16, $f18, $f20 -/* 09165C 7F05CB2C 00007012 */ mflo $t6 -/* 091660 7F05CB30 018E7821 */ addu $t7, $t4, $t6 -/* 091664 7F05CB34 0011C0C0 */ sll $t8, $s1, 3 -/* 091668 7F05CB38 0311C023 */ subu $t8, $t8, $s1 -/* 09166C 7F05CB3C 0018C080 */ sll $t8, $t8, 2 -/* 091670 7F05CB40 0311C021 */ addu $t8, $t8, $s1 -/* 091674 7F05CB44 E5F009AC */ swc1 $f16, 0x9ac($t7) -/* 091678 7F05CB48 8E090000 */ lw $t1, ($s0) -/* 09167C 7F05CB4C 8E790000 */ lw $t9, ($s3) -/* 091680 7F05CB50 0018C080 */ sll $t8, $t8, 2 -/* 091684 7F05CB54 01320019 */ multu $t1, $s2 -/* 091688 7F05CB58 0311C021 */ addu $t8, $t8, $s1 -/* 09168C 7F05CB5C 0018C0C0 */ sll $t8, $t8, 3 -/* 091690 7F05CB60 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 091694 7F05CB64 44812000 */ mtc1 $at, $f4 -/* 091698 7F05CB68 03384021 */ addu $t0, $t9, $t8 -/* 09169C 7F05CB6C 00005012 */ mflo $t2 -/* 0916A0 7F05CB70 010A5821 */ addu $t3, $t0, $t2 -/* 0916A4 7F05CB74 0C002914 */ jal get_random_value -/* 0916A8 7F05CB78 E56409B0 */ swc1 $f4, 0x9b0($t3) -/* 0916AC 7F05CB7C 44824000 */ mtc1 $v0, $f8 -/* 0916B0 7F05CB80 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0916B4 7F05CB84 04410004 */ bgez $v0, .L7F05CB98 -/* 0916B8 7F05CB88 468041A0 */ cvt.s.w $f6, $f8 -/* 0916BC 7F05CB8C 44815000 */ mtc1 $at, $f10 -/* 0916C0 7F05CB90 00000000 */ nop -/* 0916C4 7F05CB94 460A3180 */ add.s $f6, $f6, $f10 -.L7F05CB98: -/* 0916C8 7F05CB98 46163482 */ mul.s $f18, $f6, $f22 -/* 0916CC 7F05CB9C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0916D0 7F05CBA0 44818000 */ mtc1 $at, $f16 -/* 0916D4 7F05CBA4 3C018005 */ lui $at, %hi(D_80053C1C) -/* 0916D8 7F05CBA8 C4283C1C */ lwc1 $f8, %lo(D_80053C1C)($at) -/* 0916DC 7F05CBAC 8E0F0000 */ lw $t7, ($s0) -/* 0916E0 7F05CBB0 001160C0 */ sll $t4, $s1, 3 -/* 0916E4 7F05CBB4 46109101 */ sub.s $f4, $f18, $f16 -/* 0916E8 7F05CBB8 01F20019 */ multu $t7, $s2 -/* 0916EC 7F05CBBC 01916023 */ subu $t4, $t4, $s1 -/* 0916F0 7F05CBC0 000C6080 */ sll $t4, $t4, 2 -/* 0916F4 7F05CBC4 46082282 */ mul.s $f10, $f4, $f8 -/* 0916F8 7F05CBC8 01916021 */ addu $t4, $t4, $s1 -/* 0916FC 7F05CBCC 8E6D0000 */ lw $t5, ($s3) -/* 091700 7F05CBD0 000C6080 */ sll $t4, $t4, 2 -/* 091704 7F05CBD4 01916021 */ addu $t4, $t4, $s1 -/* 091708 7F05CBD8 000C60C0 */ sll $t4, $t4, 3 -/* 09170C 7F05CBDC 01AC7021 */ addu $t6, $t5, $t4 -/* 091710 7F05CBE0 46145182 */ mul.s $f6, $f10, $f20 -/* 091714 7F05CBE4 0000C812 */ mflo $t9 -/* 091718 7F05CBE8 01D9C021 */ addu $t8, $t6, $t9 -/* 09171C 7F05CBEC 001140C0 */ sll $t0, $s1, 3 -/* 091720 7F05CBF0 01114023 */ subu $t0, $t0, $s1 -/* 091724 7F05CBF4 00084080 */ sll $t0, $t0, 2 -/* 091728 7F05CBF8 01114021 */ addu $t0, $t0, $s1 -/* 09172C 7F05CBFC E70609D8 */ swc1 $f6, 0x9d8($t8) -/* 091730 7F05CC00 8E0B0000 */ lw $t3, ($s0) -/* 091734 7F05CC04 8E690000 */ lw $t1, ($s3) -/* 091738 7F05CC08 00084080 */ sll $t0, $t0, 2 -/* 09173C 7F05CC0C 01720019 */ multu $t3, $s2 -/* 091740 7F05CC10 01114021 */ addu $t0, $t0, $s1 -/* 091744 7F05CC14 000840C0 */ sll $t0, $t0, 3 -/* 091748 7F05CC18 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09174C 7F05CC1C 44819000 */ mtc1 $at, $f18 -/* 091750 7F05CC20 01285021 */ addu $t2, $t1, $t0 -/* 091754 7F05CC24 00006812 */ mflo $t5 -/* 091758 7F05CC28 014D6021 */ addu $t4, $t2, $t5 -/* 09175C 7F05CC2C 0C002914 */ jal get_random_value -/* 091760 7F05CC30 E59209DC */ swc1 $f18, 0x9dc($t4) -/* 091764 7F05CC34 44828000 */ mtc1 $v0, $f16 -/* 091768 7F05CC38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09176C 7F05CC3C 04410004 */ bgez $v0, .L7F05CC50 -/* 091770 7F05CC40 46808120 */ cvt.s.w $f4, $f16 -/* 091774 7F05CC44 44814000 */ mtc1 $at, $f8 -/* 091778 7F05CC48 00000000 */ nop -/* 09177C 7F05CC4C 46082100 */ add.s $f4, $f4, $f8 -.L7F05CC50: -/* 091780 7F05CC50 46162282 */ mul.s $f10, $f4, $f22 -/* 091784 7F05CC54 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 091788 7F05CC58 44813000 */ mtc1 $at, $f6 -/* 09178C 7F05CC5C 3C018005 */ lui $at, %hi(D_80053C20) -/* 091790 7F05CC60 C4303C20 */ lwc1 $f16, %lo(D_80053C20)($at) -/* 091794 7F05CC64 8E180000 */ lw $t8, ($s0) -/* 091798 7F05CC68 001170C0 */ sll $t6, $s1, 3 -/* 09179C 7F05CC6C 46065481 */ sub.s $f18, $f10, $f6 -/* 0917A0 7F05CC70 03120019 */ multu $t8, $s2 -/* 0917A4 7F05CC74 01D17023 */ subu $t6, $t6, $s1 -/* 0917A8 7F05CC78 000E7080 */ sll $t6, $t6, 2 -/* 0917AC 7F05CC7C 46109202 */ mul.s $f8, $f18, $f16 -/* 0917B0 7F05CC80 01D17021 */ addu $t6, $t6, $s1 -/* 0917B4 7F05CC84 8E6F0000 */ lw $t7, ($s3) -/* 0917B8 7F05CC88 000E7080 */ sll $t6, $t6, 2 -/* 0917BC 7F05CC8C 01D17021 */ addu $t6, $t6, $s1 -/* 0917C0 7F05CC90 000E70C0 */ sll $t6, $t6, 3 -/* 0917C4 7F05CC94 01EEC821 */ addu $t9, $t7, $t6 -/* 0917C8 7F05CC98 46144102 */ mul.s $f4, $f8, $f20 -/* 0917CC 7F05CC9C 00004812 */ mflo $t1 -/* 0917D0 7F05CCA0 03294021 */ addu $t0, $t9, $t1 -/* 0917D4 7F05CCA4 0C002914 */ jal get_random_value -/* 0917D8 7F05CCA8 E50409E0 */ swc1 $f4, 0x9e0($t0) -/* 0917DC 7F05CCAC 44825000 */ mtc1 $v0, $f10 -/* 0917E0 7F05CCB0 001150C0 */ sll $t2, $s1, 3 -/* 0917E4 7F05CCB4 04410005 */ bgez $v0, .L7F05CCCC -/* 0917E8 7F05CCB8 468051A0 */ cvt.s.w $f6, $f10 -/* 0917EC 7F05CCBC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0917F0 7F05CCC0 44819000 */ mtc1 $at, $f18 -/* 0917F4 7F05CCC4 00000000 */ nop -/* 0917F8 7F05CCC8 46123180 */ add.s $f6, $f6, $f18 -.L7F05CCCC: -/* 0917FC 7F05CCCC 46163402 */ mul.s $f16, $f6, $f22 -/* 091800 7F05CCD0 8E0C0000 */ lw $t4, ($s0) -/* 091804 7F05CCD4 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 091808 7F05CCD8 44814000 */ mtc1 $at, $f8 -/* 09180C 7F05CCDC 01920019 */ multu $t4, $s2 -/* 091810 7F05CCE0 01515023 */ subu $t2, $t2, $s1 -/* 091814 7F05CCE4 000A5080 */ sll $t2, $t2, 2 -/* 091818 7F05CCE8 46088102 */ mul.s $f4, $f16, $f8 -/* 09181C 7F05CCEC 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 091820 7F05CCF0 44815000 */ mtc1 $at, $f10 -/* 091824 7F05CCF4 01515021 */ addu $t2, $t2, $s1 -/* 091828 7F05CCF8 8E6B0000 */ lw $t3, ($s3) -/* 09182C 7F05CCFC 000A5080 */ sll $t2, $t2, 2 -/* 091830 7F05CD00 01515021 */ addu $t2, $t2, $s1 -/* 091834 7F05CD04 460A2480 */ add.s $f18, $f4, $f10 -/* 091838 7F05CD08 000A50C0 */ sll $t2, $t2, 3 -/* 09183C 7F05CD0C 00007812 */ mflo $t7 -/* 091840 7F05CD10 016A6821 */ addu $t5, $t3, $t2 -/* 091844 7F05CD14 01AF7021 */ addu $t6, $t5, $t7 -/* 091848 7F05CD18 0C002914 */ jal get_random_value -/* 09184C 7F05CD1C E5D20978 */ swc1 $f18, 0x978($t6) -/* 091850 7F05CD20 8E780000 */ lw $t8, ($s3) -/* 091854 7F05CD24 44828000 */ mtc1 $v0, $f16 -/* 091858 7F05CD28 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 09185C 7F05CD2C 44813000 */ mtc1 $at, $f6 -/* 091860 7F05CD30 03141821 */ addu $v1, $t8, $s4 -/* 091864 7F05CD34 04410005 */ bgez $v0, .L7F05CD4C -/* 091868 7F05CD38 46808220 */ cvt.s.w $f8, $f16 -/* 09186C 7F05CD3C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 091870 7F05CD40 44812000 */ mtc1 $at, $f4 -/* 091874 7F05CD44 00000000 */ nop -/* 091878 7F05CD48 46044200 */ add.s $f8, $f8, $f4 -.L7F05CD4C: -/* 09187C 7F05CD4C 46164282 */ mul.s $f10, $f8, $f22 -/* 091880 7F05CD50 8E190000 */ lw $t9, ($s0) -/* 091884 7F05CD54 C4700A14 */ lwc1 $f16, 0xa14($v1) -/* 091888 7F05CD58 03320019 */ multu $t9, $s2 -/* 09188C 7F05CD5C 460A3480 */ add.s $f18, $f6, $f10 -/* 091890 7F05CD60 46128102 */ mul.s $f4, $f16, $f18 -/* 091894 7F05CD64 00004812 */ mflo $t1 -/* 091898 7F05CD68 00694021 */ addu $t0, $v1, $t1 -/* 09189C 7F05CD6C 0C002914 */ jal get_random_value -/* 0918A0 7F05CD70 E504097C */ swc1 $f4, 0x97c($t0) -/* 0918A4 7F05CD74 44824000 */ mtc1 $v0, $f8 -/* 0918A8 7F05CD78 001150C0 */ sll $t2, $s1, 3 -/* 0918AC 7F05CD7C 04410005 */ bgez $v0, .L7F05CD94 -/* 0918B0 7F05CD80 468041A0 */ cvt.s.w $f6, $f8 -/* 0918B4 7F05CD84 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0918B8 7F05CD88 44815000 */ mtc1 $at, $f10 -/* 0918BC 7F05CD8C 00000000 */ nop -/* 0918C0 7F05CD90 460A3180 */ add.s $f6, $f6, $f10 -.L7F05CD94: -/* 0918C4 7F05CD94 46163402 */ mul.s $f16, $f6, $f22 -/* 0918C8 7F05CD98 8E0D0000 */ lw $t5, ($s0) -/* 0918CC 7F05CD9C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0918D0 7F05CDA0 44819000 */ mtc1 $at, $f18 -/* 0918D4 7F05CDA4 01B20019 */ multu $t5, $s2 -/* 0918D8 7F05CDA8 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 0918DC 7F05CDAC 44814000 */ mtc1 $at, $f8 -/* 0918E0 7F05CDB0 46128101 */ sub.s $f4, $f16, $f18 -/* 0918E4 7F05CDB4 01515023 */ subu $t2, $t2, $s1 -/* 0918E8 7F05CDB8 000A5080 */ sll $t2, $t2, 2 -/* 0918EC 7F05CDBC 01515021 */ addu $t2, $t2, $s1 -/* 0918F0 7F05CDC0 46082282 */ mul.s $f10, $f4, $f8 -/* 0918F4 7F05CDC4 8E6B0000 */ lw $t3, ($s3) -/* 0918F8 7F05CDC8 000A5080 */ sll $t2, $t2, 2 -/* 0918FC 7F05CDCC 01515021 */ addu $t2, $t2, $s1 -/* 091900 7F05CDD0 000A50C0 */ sll $t2, $t2, 3 -/* 091904 7F05CDD4 00007812 */ mflo $t7 -/* 091908 7F05CDD8 016A6021 */ addu $t4, $t3, $t2 -/* 09190C 7F05CDDC 018F7021 */ addu $t6, $t4, $t7 -/* 091910 7F05CDE0 E5CA0980 */ swc1 $f10, 0x980($t6) -/* 091914 7F05CDE4 8E640000 */ lw $a0, ($s3) -/* 091918 7F05CDE8 24020002 */ li $v0, 2 -/* 09191C 7F05CDEC 00941821 */ addu $v1, $a0, $s4 -/* 091920 7F05CDF0 8C650A18 */ lw $a1, 0xa18($v1) -/* 091924 7F05CDF4 04A1001D */ bgez $a1, .L7F05CE6C -/* 091928 7F05CDF8 00000000 */ nop -/* 09192C 7F05CDFC 8E090000 */ lw $t1, ($s0) -/* 091930 7F05CE00 0011C0C0 */ sll $t8, $s1, 3 -/* 091934 7F05CE04 0311C023 */ subu $t8, $t8, $s1 -/* 091938 7F05CE08 01320019 */ multu $t1, $s2 -/* 09193C 7F05CE0C 0018C080 */ sll $t8, $t8, 2 -/* 091940 7F05CE10 0311C021 */ addu $t8, $t8, $s1 -/* 091944 7F05CE14 0018C080 */ sll $t8, $t8, 2 -/* 091948 7F05CE18 0311C021 */ addu $t8, $t8, $s1 -/* 09194C 7F05CE1C 0018C0C0 */ sll $t8, $t8, 3 -/* 091950 7F05CE20 0098C821 */ addu $t9, $a0, $t8 -/* 091954 7F05CE24 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 091958 7F05CE28 44818000 */ mtc1 $at, $f16 -/* 09195C 7F05CE2C 2405FFFE */ li $a1, -2 -/* 091960 7F05CE30 00004012 */ mflo $t0 -/* 091964 7F05CE34 03281021 */ addu $v0, $t9, $t0 -/* 091968 7F05CE38 C4460978 */ lwc1 $f6, 0x978($v0) -/* 09196C 7F05CE3C 240D0001 */ li $t5, 1 -/* 091970 7F05CE40 46103482 */ mul.s $f18, $f6, $f16 -/* 091974 7F05CE44 E4520978 */ swc1 $f18, 0x978($v0) -/* 091978 7F05CE48 8E6B0000 */ lw $t3, ($s3) -/* 09197C 7F05CE4C 01741821 */ addu $v1, $t3, $s4 -/* 091980 7F05CE50 8C6A0A18 */ lw $t2, 0xa18($v1) -/* 091984 7F05CE54 14AA0003 */ bne $a1, $t2, .L7F05CE64 -/* 091988 7F05CE58 00000000 */ nop -/* 09198C 7F05CE5C 10000008 */ b .L7F05CE80 -/* 091990 7F05CE60 AC6D0A18 */ sw $t5, 0xa18($v1) -.L7F05CE64: -/* 091994 7F05CE64 10000006 */ b .L7F05CE80 -/* 091998 7F05CE68 AC650A18 */ sw $a1, 0xa18($v1) -.L7F05CE6C: -/* 09199C 7F05CE6C 14450003 */ bne $v0, $a1, .L7F05CE7C -/* 0919A0 7F05CE70 240CFFFF */ li $t4, -1 -/* 0919A4 7F05CE74 10000002 */ b .L7F05CE80 -/* 0919A8 7F05CE78 AC6C0A18 */ sw $t4, 0xa18($v1) -.L7F05CE7C: -/* 0919AC 7F05CE7C AC620A18 */ sw $v0, 0xa18($v1) -.L7F05CE80: -/* 0919B0 7F05CE80 8E6F0000 */ lw $t7, ($s3) -/* 0919B4 7F05CE84 01F41821 */ addu $v1, $t7, $s4 -/* 0919B8 7F05CE88 C4640A14 */ lwc1 $f4, 0xa14($v1) -/* 0919BC 7F05CE8C 46002207 */ neg.s $f8, $f4 -/* 0919C0 7F05CE90 E4680A14 */ swc1 $f8, 0xa14($v1) -/* 0919C4 7F05CE94 8FBF003C */ lw $ra, 0x3c($sp) -/* 0919C8 7F05CE98 8FB40038 */ lw $s4, 0x38($sp) -/* 0919CC 7F05CE9C 8FB30034 */ lw $s3, 0x34($sp) -/* 0919D0 7F05CEA0 8FB20030 */ lw $s2, 0x30($sp) -/* 0919D4 7F05CEA4 8FB1002C */ lw $s1, 0x2c($sp) -/* 0919D8 7F05CEA8 8FB00028 */ lw $s0, 0x28($sp) -/* 0919DC 7F05CEAC D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0919E0 7F05CEB0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0919E4 7F05CEB4 03E00008 */ jr $ra -/* 0919E8 7F05CEB8 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05CEBC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05CEBC -/* 0919EC 7F05CEBC 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0919F0 7F05CEC0 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0919F4 7F05CEC4 00047880 */ sll $t7, $a0, 2 -/* 0919F8 7F05CEC8 01CF1821 */ addu $v1, $t6, $t7 -/* 0919FC 7F05CECC 8C6207F8 */ lw $v0, 0x7f8($v1) -/* 091A00 7F05CED0 0002C02A */ slt $t8, $zero, $v0 -/* 091A04 7F05CED4 17000008 */ bnez $t8, .L7F05CEF8 -/* 091A08 7F05CED8 03001025 */ move $v0, $t8 -/* 091A0C 7F05CEDC 8C620800 */ lw $v0, 0x800($v1) -/* 091A10 7F05CEE0 2C590001 */ sltiu $t9, $v0, 1 -/* 091A14 7F05CEE4 13200004 */ beqz $t9, .L7F05CEF8 -/* 091A18 7F05CEE8 03201025 */ move $v0, $t9 -/* 091A1C 7F05CEEC 8C622A44 */ lw $v0, 0x2a44($v1) -/* 091A20 7F05CEF0 28480000 */ slti $t0, $v0, 0 -/* 091A24 7F05CEF4 01001025 */ move $v0, $t0 -.L7F05CEF8: -/* 091A28 7F05CEF8 03E00008 */ jr $ra -/* 091A2C 7F05CEFC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 get_itemtype_in_hand(int hand) - -{ - return pPlayer->handitem[hand]; -} - -#else -GLOBAL_ASM( -.text -glabel get_itemtype_in_hand -/* 091A30 7F05CF00 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 091A34 7F05CF04 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 091A38 7F05CF08 00047880 */ sll $t7, $a0, 2 -/* 091A3C 7F05CF0C 01CFC021 */ addu $t8, $t6, $t7 -/* 091A40 7F05CF10 03E00008 */ jr $ra -/* 091A44 7F05CF14 8F020800 */ lw $v0, 0x800($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_itemheader_in_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_itemheader_in_hand -/* 091A48 7F05CF18 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 091A4C 7F05CF1C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 091A50 7F05CF20 00047940 */ sll $t7, $a0, 5 -/* 091A54 7F05CF24 01CF1021 */ addu $v0, $t6, $t7 -/* 091A58 7F05CF28 03E00008 */ jr $ra -/* 091A5C 7F05CF2C 24420810 */ addiu $v0, $v0, 0x810 -) -#endif - - - - - -#ifdef NONMATCHING -void getPlayerWeaponBufferForHand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel getPlayerWeaponBufferForHand -/* 091A60 7F05CF30 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 091A64 7F05CF34 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 091A68 7F05CF38 00047880 */ sll $t7, $a0, 2 -/* 091A6C 7F05CF3C 01CFC021 */ addu $t8, $t6, $t7 -/* 091A70 7F05CF40 03E00008 */ jr $ra -/* 091A74 7F05CF44 8F020808 */ lw $v0, 0x808($t8) -) -#endif - - - -u32 getSizeBufferWeaponInHand(int hand) -{ - return size_item_buffer[hand]; -} - - - -#ifdef NONMATCHING -void remove_item_in_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel remove_item_in_hand -/* 091A8C 7F05CF5C 3C038008 */ lui $v1, %hi(pPlayer) -/* 091A90 7F05CF60 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 091A94 7F05CF64 8C6E0000 */ lw $t6, ($v1) -/* 091A98 7F05CF68 00041080 */ sll $v0, $a0, 2 -/* 091A9C 7F05CF6C 2408FFFF */ li $t0, -1 -/* 091AA0 7F05CF70 01C27821 */ addu $t7, $t6, $v0 -/* 091AA4 7F05CF74 ADE007F8 */ sw $zero, 0x7f8($t7) -/* 091AA8 7F05CF78 8C780000 */ lw $t8, ($v1) -/* 091AAC 7F05CF7C 240B0001 */ li $t3, 1 -/* 091AB0 7F05CF80 0302C821 */ addu $t9, $t8, $v0 -/* 091AB4 7F05CF84 AF200800 */ sw $zero, 0x800($t9) -/* 091AB8 7F05CF88 8C690000 */ lw $t1, ($v1) -/* 091ABC 7F05CF8C 01225021 */ addu $t2, $t1, $v0 -/* 091AC0 7F05CF90 AD482A44 */ sw $t0, 0x2a44($t2) -/* 091AC4 7F05CF94 8C6C0000 */ lw $t4, ($v1) -/* 091AC8 7F05CF98 01826821 */ addu $t5, $t4, $v0 -/* 091ACC 7F05CF9C 03E00008 */ jr $ra -/* 091AD0 7F05CFA0 ADAB2A50 */ sw $t3, 0x2a50($t5) -) -#endif - - - - - -#ifdef NONMATCHING -void place_item_in_hand_swap_and_make_visible(void) { - -} -#else -GLOBAL_ASM( -.text -glabel place_item_in_hand_swap_and_make_visible -/* 091AD4 7F05CFA4 3C068008 */ lui $a2, %hi(pPlayer) -/* 091AD8 7F05CFA8 24C6A0B0 */ addiu $a2, %lo(pPlayer) # addiu $a2, $a2, -0x5f50 -/* 091ADC 7F05CFAC 8CCE0000 */ lw $t6, ($a2) -/* 091AE0 7F05CFB0 00041080 */ sll $v0, $a0, 2 -/* 091AE4 7F05CFB4 01C21821 */ addu $v1, $t6, $v0 -/* 091AE8 7F05CFB8 8C6F2A50 */ lw $t7, 0x2a50($v1) -/* 091AEC 7F05CFBC 15E00014 */ bnez $t7, .L7F05D010 -/* 091AF0 7F05CFC0 00000000 */ nop -/* 091AF4 7F05CFC4 8C7807F8 */ lw $t8, 0x7f8($v1) -/* 091AF8 7F05CFC8 0702000B */ bltzl $t8, .L7F05CFF8 -/* 091AFC 7F05CFCC 8C6B0800 */ lw $t3, 0x800($v1) -/* 091B00 7F05CFD0 8C790800 */ lw $t9, 0x800($v1) -/* 091B04 7F05CFD4 2408FFFF */ li $t0, -1 -/* 091B08 7F05CFD8 10B9000D */ beq $a1, $t9, .L7F05D010 -/* 091B0C 7F05CFDC 00000000 */ nop -/* 091B10 7F05CFE0 AC6807F8 */ sw $t0, 0x7f8($v1) -/* 091B14 7F05CFE4 8CC90000 */ lw $t1, ($a2) -/* 091B18 7F05CFE8 01225021 */ addu $t2, $t1, $v0 -/* 091B1C 7F05CFEC 03E00008 */ jr $ra -/* 091B20 7F05CFF0 AD452A44 */ sw $a1, 0x2a44($t2) - -/* 091B24 7F05CFF4 8C6B0800 */ lw $t3, 0x800($v1) -.L7F05CFF8: -/* 091B28 7F05CFF8 240C0001 */ li $t4, 1 -/* 091B2C 7F05CFFC 50AB0004 */ beql $a1, $t3, .L7F05D010 -/* 091B30 7F05D000 AC6C07F8 */ sw $t4, 0x7f8($v1) -/* 091B34 7F05D004 03E00008 */ jr $ra -/* 091B38 7F05D008 AC652A44 */ sw $a1, 0x2a44($v1) - -/* 091B3C 7F05D00C AC6C07F8 */ sw $t4, 0x7f8($v1) -.L7F05D010: -/* 091B40 7F05D010 03E00008 */ jr $ra -/* 091B44 7F05D014 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_item_text_call_line(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_item_text_call_line -/* 091B48 7F05D018 24010001 */ li $at, 1 -/* 091B4C 7F05D01C 14810004 */ bne $a0, $at, .L7F05D030 -/* 091B50 7F05D020 3C028003 */ lui $v0, %hi(gitem_structs+4) -/* 091B54 7F05D024 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 091B58 7F05D028 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 091B5C 7F05D02C 8DC42A38 */ lw $a0, 0x2a38($t6) -.L7F05D030: -/* 091B60 7F05D030 000478C0 */ sll $t7, $a0, 3 -/* 091B64 7F05D034 01E47823 */ subu $t7, $t7, $a0 -/* 091B68 7F05D038 000F78C0 */ sll $t7, $t7, 3 -/* 091B6C 7F05D03C 004F1021 */ addu $v0, $v0, $t7 -/* 091B70 7F05D040 03E00008 */ jr $ra -/* 091B74 7F05D044 8C423928 */ lw $v0, %lo(gitem_structs+4)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_weapon_model_header_line(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_weapon_model_header_line -/* 091B78 7F05D048 24010001 */ li $at, 1 -/* 091B7C 7F05D04C 14810004 */ bne $a0, $at, .L7F05D060 -/* 091B80 7F05D050 3C028003 */ lui $v0, %hi(gitem_structs) -/* 091B84 7F05D054 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 091B88 7F05D058 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 091B8C 7F05D05C 8DC42A38 */ lw $a0, 0x2a38($t6) -.L7F05D060: -/* 091B90 7F05D060 000478C0 */ sll $t7, $a0, 3 -/* 091B94 7F05D064 01E47823 */ subu $t7, $t7, $a0 -/* 091B98 7F05D068 000F78C0 */ sll $t7, $t7, 3 -/* 091B9C 7F05D06C 004F1021 */ addu $v0, $v0, $t7 -/* 091BA0 7F05D070 03E00008 */ jr $ra -/* 091BA4 7F05D074 8C423924 */ lw $v0, %lo(gitem_structs)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -int getCurrentWeaponOrItem(void) -{ - return pPlayer->cur_item_weapon_getname; -} -#else -GLOBAL_ASM( -.text -glabel getCurrentWeaponOrItem -/* 091BA8 7F05D078 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 091BAC 7F05D07C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 091BB0 7F05D080 03E00008 */ jr $ra -/* 091BB4 7F05D084 8DC22A38 */ lw $v0, 0x2a38($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void used_to_load_1st_person_model_on_demand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel used_to_load_1st_person_model_on_demand -/* 091BB8 7F05D088 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 091BBC 7F05D08C AFB0001C */ sw $s0, 0x1c($sp) -/* 091BC0 7F05D090 3C108008 */ lui $s0, %hi(pPlayer) -/* 091BC4 7F05D094 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 091BC8 7F05D098 8E0F0000 */ lw $t7, ($s0) -/* 091BCC 7F05D09C 00042880 */ sll $a1, $a0, 2 -/* 091BD0 7F05D0A0 AFBF0024 */ sw $ra, 0x24($sp) -/* 091BD4 7F05D0A4 AFB10020 */ sw $s1, 0x20($sp) -/* 091BD8 7F05D0A8 AFA40050 */ sw $a0, 0x50($sp) -/* 091BDC 7F05D0AC 01E51021 */ addu $v0, $t7, $a1 -/* 091BE0 7F05D0B0 8C4307F8 */ lw $v1, 0x7f8($v0) -/* 091BE4 7F05D0B4 0463009B */ bgezl $v1, .L7F05D324 -/* 091BE8 7F05D0B8 8FBF0024 */ lw $ra, 0x24($sp) -/* 091BEC 7F05D0BC 8C582A50 */ lw $t8, 0x2a50($v0) -/* 091BF0 7F05D0C0 2861FFFE */ slti $at, $v1, -2 -/* 091BF4 7F05D0C4 57000097 */ bnezl $t8, .L7F05D324 -/* 091BF8 7F05D0C8 8FBF0024 */ lw $ra, 0x24($sp) -/* 091BFC 7F05D0CC 54200005 */ bnezl $at, .L7F05D0E4 -/* 091C00 7F05D0D0 8C512A44 */ lw $s1, 0x2a44($v0) -/* 091C04 7F05D0D4 8C590800 */ lw $t9, 0x800($v0) -/* 091C08 7F05D0D8 57200090 */ bnezl $t9, .L7F05D31C -/* 091C0C 7F05D0DC 246EFFFF */ addiu $t6, $v1, -1 -/* 091C10 7F05D0E0 8C512A44 */ lw $s1, 0x2a44($v0) -.L7F05D0E4: -/* 091C14 7F05D0E4 AFA50038 */ sw $a1, 0x38($sp) -/* 091C18 7F05D0E8 0FC17406 */ jal get_ptr_item_text_call_line -/* 091C1C 7F05D0EC 02202025 */ move $a0, $s1 -/* 091C20 7F05D0F0 AFA20048 */ sw $v0, 0x48($sp) -/* 091C24 7F05D0F4 0FC17412 */ jal get_ptr_weapon_model_header_line -/* 091C28 7F05D0F8 02202025 */ move $a0, $s1 -/* 091C2C 7F05D0FC 8FAB0048 */ lw $t3, 0x48($sp) -/* 091C30 7F05D100 AFA20044 */ sw $v0, 0x44($sp) -/* 091C34 7F05D104 51600078 */ beql $t3, $zero, .L7F05D2E8 -/* 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 getPlayerWeaponBufferForHand -/* 091C48 7F05D118 8FA40050 */ lw $a0, 0x50($sp) -/* 091C4C 7F05D11C AFA20040 */ sw $v0, 0x40($sp) -/* 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) -/* 091C60 7F05D130 8E0C0000 */ lw $t4, ($s0) -/* 091C64 7F05D134 8DC10000 */ lw $at, ($t6) -/* 091C68 7F05D138 000A4940 */ sll $t1, $t2, 5 -/* 091C6C 7F05D13C 01896821 */ addu $t5, $t4, $t1 -/* 091C70 7F05D140 ADA10810 */ sw $at, 0x810($t5) -/* 091C74 7F05D144 8DD90004 */ lw $t9, 4($t6) -/* 091C78 7F05D148 00403825 */ move $a3, $v0 -/* 091C7C 7F05D14C 000A1900 */ sll $v1, $t2, 4 -/* 091C80 7F05D150 ADB90814 */ sw $t9, 0x814($t5) -/* 091C84 7F05D154 8DC10008 */ lw $at, 8($t6) -/* 091C88 7F05D158 ADA10818 */ sw $at, 0x818($t5) -/* 091C8C 7F05D15C 8DD9000C */ lw $t9, 0xc($t6) -/* 091C90 7F05D160 ADB9081C */ sw $t9, 0x81c($t5) -/* 091C94 7F05D164 8DC10010 */ lw $at, 0x10($t6) -/* 091C98 7F05D168 ADA10820 */ sw $at, 0x820($t5) -/* 091C9C 7F05D16C 8DD90014 */ lw $t9, 0x14($t6) -/* 091CA0 7F05D170 ADB90824 */ sw $t9, 0x824($t5) -/* 091CA4 7F05D174 8DC10018 */ lw $at, 0x18($t6) -/* 091CA8 7F05D178 ADA10828 */ sw $at, 0x828($t5) -/* 091CAC 7F05D17C 8DD9001C */ lw $t9, 0x1c($t6) -/* 091CB0 7F05D180 24010054 */ li $at, 84 -/* 091CB4 7F05D184 1621001B */ bne $s1, $at, .L7F05D1F4 -/* 091CB8 7F05D188 ADB9082C */ sw $t9, 0x82c($t5) -/* 091CBC 7F05D18C 8FA50040 */ lw $a1, 0x40($sp) -/* 091CC0 7F05D190 8E0B0000 */ lw $t3, ($s0) -/* 091CC4 7F05D194 3401BD70 */ li $at, 48496 -/* 091CC8 7F05D198 00A12821 */ addu $a1, $a1, $at -/* 091CCC 7F05D19C 3C01FFFF */ lui $at, (0xFFFF4290 >> 16) # lui $at, 0xffff -/* 091CD0 7F05D1A0 34214290 */ ori $at, (0xFFFF4290 & 0xFFFF) # ori $at, $at, 0x4290 -/* 091CD4 7F05D1A4 01632021 */ addu $a0, $t3, $v1 -/* 091CD8 7F05D1A8 24840850 */ addiu $a0, $a0, 0x850 -/* 091CDC 7F05D1AC 00413021 */ addu $a2, $v0, $at -/* 091CE0 7F05D1B0 AFA30030 */ sw $v1, 0x30($sp) -/* 091CE4 7F05D1B4 0FC32EBD */ jal sub_GAME_7F0CBAF4 -/* 091CE8 7F05D1B8 AFA90034 */ sw $t1, 0x34($sp) -/* 091CEC 7F05D1BC 8FA30030 */ lw $v1, 0x30($sp) -/* 091CF0 7F05D1C0 8E020000 */ lw $v0, ($s0) -/* 091CF4 7F05D1C4 8FA90034 */ lw $t1, 0x34($sp) -/* 091CF8 7F05D1C8 8FA50048 */ lw $a1, 0x48($sp) -/* 091CFC 7F05D1CC 00436021 */ addu $t4, $v0, $v1 -/* 091D00 7F05D1D0 25980850 */ addiu $t8, $t4, 0x850 -/* 091D04 7F05D1D4 00492021 */ addu $a0, $v0, $t1 -/* 091D08 7F05D1D8 24840810 */ addiu $a0, $a0, 0x810 -/* 091D0C 7F05D1DC AFB80010 */ sw $t8, 0x10($sp) -/* 091D10 7F05D1E0 8FA60040 */ lw $a2, 0x40($sp) -/* 091D14 7F05D1E4 0FC1D929 */ jal load_object_fill_header -/* 091D18 7F05D1E8 3407BD70 */ li $a3, 48496 -/* 091D1C 7F05D1EC 1000003E */ b .L7F05D2E8 -/* 091D20 7F05D1F0 8FA20038 */ lw $v0, 0x38($sp) -.L7F05D1F4: -/* 091D24 7F05D1F4 2401001E */ li $at, 30 -/* 091D28 7F05D1F8 12210004 */ beq $s1, $at, .L7F05D20C -/* 091D2C 7F05D1FC 000A1900 */ sll $v1, $t2, 4 -/* 091D30 7F05D200 24010017 */ li $at, 23 -/* 091D34 7F05D204 1621001B */ bne $s1, $at, .L7F05D274 -/* 091D38 7F05D208 8FAB0038 */ lw $t3, 0x38($sp) -.L7F05D20C: -/* 091D3C 7F05D20C 8FA50040 */ lw $a1, 0x40($sp) -/* 091D40 7F05D210 8E0F0000 */ lw $t7, ($s0) -/* 091D44 7F05D214 3401AFD0 */ li $at, 45008 -/* 091D48 7F05D218 00A12821 */ addu $a1, $a1, $at -/* 091D4C 7F05D21C 3C01FFFF */ lui $at, (0xFFFF5030 >> 16) # lui $at, 0xffff -/* 091D50 7F05D220 34215030 */ ori $at, (0xFFFF5030 & 0xFFFF) # ori $at, $at, 0x5030 -/* 091D54 7F05D224 01E32021 */ addu $a0, $t7, $v1 -/* 091D58 7F05D228 24840850 */ addiu $a0, $a0, 0x850 -/* 091D5C 7F05D22C 00E13021 */ addu $a2, $a3, $at -/* 091D60 7F05D230 AFA30030 */ sw $v1, 0x30($sp) -/* 091D64 7F05D234 0FC32EBD */ jal sub_GAME_7F0CBAF4 -/* 091D68 7F05D238 AFA90034 */ sw $t1, 0x34($sp) -/* 091D6C 7F05D23C 8FA30030 */ lw $v1, 0x30($sp) -/* 091D70 7F05D240 8E020000 */ lw $v0, ($s0) -/* 091D74 7F05D244 8FA90034 */ lw $t1, 0x34($sp) -/* 091D78 7F05D248 8FA50048 */ lw $a1, 0x48($sp) -/* 091D7C 7F05D24C 00436821 */ addu $t5, $v0, $v1 -/* 091D80 7F05D250 25AE0850 */ addiu $t6, $t5, 0x850 -/* 091D84 7F05D254 00492021 */ addu $a0, $v0, $t1 -/* 091D88 7F05D258 24840810 */ addiu $a0, $a0, 0x810 -/* 091D8C 7F05D25C AFAE0010 */ sw $t6, 0x10($sp) -/* 091D90 7F05D260 8FA60040 */ lw $a2, 0x40($sp) -/* 091D94 7F05D264 0FC1D929 */ jal load_object_fill_header -/* 091D98 7F05D268 3407AFD0 */ li $a3, 45008 -/* 091D9C 7F05D26C 1000001E */ b .L7F05D2E8 -/* 091DA0 7F05D270 8FA20038 */ lw $v0, 0x38($sp) -.L7F05D274: -/* 091DA4 7F05D274 3C0C8003 */ lui $t4, %hi(D_80032464) -/* 091DA8 7F05D278 258C2464 */ addiu $t4, %lo(D_80032464) # addiu $t4, $t4, 0x2464 -/* 091DAC 7F05D27C 8E190000 */ lw $t9, ($s0) -/* 091DB0 7F05D280 016C4021 */ addu $t0, $t3, $t4 -/* 091DB4 7F05D284 8D020000 */ lw $v0, ($t0) -/* 091DB8 7F05D288 8FB80040 */ lw $t8, 0x40($sp) -/* 091DBC 7F05D28C 000A1900 */ sll $v1, $t2, 4 -/* 091DC0 7F05D290 03232021 */ addu $a0, $t9, $v1 -/* 091DC4 7F05D294 24840850 */ addiu $a0, $a0, 0x850 -/* 091DC8 7F05D298 AFA30030 */ sw $v1, 0x30($sp) -/* 091DCC 7F05D29C AFA8002C */ sw $t0, 0x2c($sp) -/* 091DD0 7F05D2A0 AFA90034 */ sw $t1, 0x34($sp) -/* 091DD4 7F05D2A4 00E23023 */ subu $a2, $a3, $v0 -/* 091DD8 7F05D2A8 0FC32EBD */ jal sub_GAME_7F0CBAF4 -/* 091DDC 7F05D2AC 00582821 */ addu $a1, $v0, $t8 -/* 091DE0 7F05D2B0 8FA30030 */ lw $v1, 0x30($sp) -/* 091DE4 7F05D2B4 8E020000 */ lw $v0, ($s0) -/* 091DE8 7F05D2B8 8FA90034 */ lw $t1, 0x34($sp) -/* 091DEC 7F05D2BC 8FA8002C */ lw $t0, 0x2c($sp) -/* 091DF0 7F05D2C0 00437821 */ addu $t7, $v0, $v1 -/* 091DF4 7F05D2C4 25ED0850 */ addiu $t5, $t7, 0x850 -/* 091DF8 7F05D2C8 00492021 */ addu $a0, $v0, $t1 -/* 091DFC 7F05D2CC 24840810 */ addiu $a0, $a0, 0x810 -/* 091E00 7F05D2D0 AFAD0010 */ sw $t5, 0x10($sp) -/* 091E04 7F05D2D4 8FA50048 */ lw $a1, 0x48($sp) -/* 091E08 7F05D2D8 8FA60040 */ lw $a2, 0x40($sp) -/* 091E0C 7F05D2DC 0FC1D929 */ jal load_object_fill_header -/* 091E10 7F05D2E0 8D070000 */ lw $a3, ($t0) -/* 091E14 7F05D2E4 8FA20038 */ lw $v0, 0x38($sp) -.L7F05D2E8: -/* 091E18 7F05D2E8 8E190000 */ lw $t9, ($s0) -/* 091E1C 7F05D2EC 240E0001 */ li $t6, 1 -/* 091E20 7F05D2F0 240FFFFF */ li $t7, -1 -/* 091E24 7F05D2F4 03225821 */ addu $t3, $t9, $v0 -/* 091E28 7F05D2F8 AD6E07F8 */ sw $t6, 0x7f8($t3) -/* 091E2C 7F05D2FC 8E0C0000 */ lw $t4, ($s0) -/* 091E30 7F05D300 0182C021 */ addu $t8, $t4, $v0 -/* 091E34 7F05D304 AF110800 */ sw $s1, 0x800($t8) -/* 091E38 7F05D308 8E0D0000 */ lw $t5, ($s0) -/* 091E3C 7F05D30C 01A2C821 */ addu $t9, $t5, $v0 -/* 091E40 7F05D310 10000003 */ b .L7F05D320 -/* 091E44 7F05D314 AF2F2A44 */ sw $t7, 0x2a44($t9) -/* 091E48 7F05D318 246EFFFF */ addiu $t6, $v1, -1 -.L7F05D31C: -/* 091E4C 7F05D31C AC4E07F8 */ sw $t6, 0x7f8($v0) -.L7F05D320: -/* 091E50 7F05D320 8FBF0024 */ lw $ra, 0x24($sp) -.L7F05D324: -/* 091E54 7F05D324 8FB0001C */ lw $s0, 0x1c($sp) -/* 091E58 7F05D328 8FB10020 */ lw $s1, 0x20($sp) -/* 091E5C 7F05D32C 03E00008 */ jr $ra -/* 091E60 7F05D330 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05D334(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05D334 -/* 091E64 7F05D334 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 091E68 7F05D338 AFB30020 */ sw $s3, 0x20($sp) -/* 091E6C 7F05D33C AFB00014 */ sw $s0, 0x14($sp) -/* 091E70 7F05D340 00808025 */ move $s0, $a0 -/* 091E74 7F05D344 00A09825 */ move $s3, $a1 -/* 091E78 7F05D348 AFBF0024 */ sw $ra, 0x24($sp) -/* 091E7C 7F05D34C AFB2001C */ sw $s2, 0x1c($sp) -/* 091E80 7F05D350 18A00016 */ blez $a1, .L7F05D3AC -/* 091E84 7F05D354 AFB10018 */ sw $s1, 0x18($sp) -/* 091E88 7F05D358 24110021 */ li $s1, 33 -/* 091E8C 7F05D35C 260E0001 */ addiu $t6, $s0, 1 -.L7F05D360: -/* 091E90 7F05D360 01D1001A */ div $zero, $t6, $s1 -/* 091E94 7F05D364 00008010 */ mfhi $s0 -/* 091E98 7F05D368 02002025 */ move $a0, $s0 -/* 091E9C 7F05D36C 16200002 */ bnez $s1, .L7F05D378 -/* 091EA0 7F05D370 00000000 */ nop -/* 091EA4 7F05D374 0007000D */ break 7 -.L7F05D378: -/* 091EA8 7F05D378 2401FFFF */ li $at, -1 -/* 091EAC 7F05D37C 16210004 */ bne $s1, $at, .L7F05D390 -/* 091EB0 7F05D380 3C018000 */ lui $at, 0x8000 -/* 091EB4 7F05D384 15C10002 */ bne $t6, $at, .L7F05D390 -/* 091EB8 7F05D388 00000000 */ nop -/* 091EBC 7F05D38C 0006000D */ break 6 -.L7F05D390: -/* 091EC0 7F05D390 0FC230F0 */ jal check_if_item_available -/* 091EC4 7F05D394 00000000 */ nop -/* 091EC8 7F05D398 5040FFF1 */ beql $v0, $zero, .L7F05D360 -/* 091ECC 7F05D39C 260E0001 */ addiu $t6, $s0, 1 -/* 091ED0 7F05D3A0 2673FFFF */ addiu $s3, $s3, -1 -/* 091ED4 7F05D3A4 5E60FFEE */ bgtzl $s3, .L7F05D360 -/* 091ED8 7F05D3A8 260E0001 */ addiu $t6, $s0, 1 -.L7F05D3AC: -/* 091EDC 7F05D3AC 06610019 */ bgez $s3, .L7F05D414 -/* 091EE0 7F05D3B0 24110021 */ li $s1, 33 -/* 091EE4 7F05D3B4 24120020 */ li $s2, 32 -/* 091EE8 7F05D3B8 2610FFFF */ addiu $s0, $s0, -1 -.L7F05D3BC: -/* 091EEC 7F05D3BC 0601000E */ bgez $s0, .L7F05D3F8 -/* 091EF0 7F05D3C0 240FFFFF */ li $t7, -1 -/* 091EF4 7F05D3C4 01F0C023 */ subu $t8, $t7, $s0 -/* 091EF8 7F05D3C8 0311001A */ div $zero, $t8, $s1 -/* 091EFC 7F05D3CC 0000C810 */ mfhi $t9 -/* 091F00 7F05D3D0 02598023 */ subu $s0, $s2, $t9 -/* 091F04 7F05D3D4 16200002 */ bnez $s1, .L7F05D3E0 -/* 091F08 7F05D3D8 00000000 */ nop -/* 091F0C 7F05D3DC 0007000D */ break 7 -.L7F05D3E0: -/* 091F10 7F05D3E0 2401FFFF */ li $at, -1 -/* 091F14 7F05D3E4 16210004 */ bne $s1, $at, .L7F05D3F8 -/* 091F18 7F05D3E8 3C018000 */ lui $at, 0x8000 -/* 091F1C 7F05D3EC 17010002 */ bne $t8, $at, .L7F05D3F8 -/* 091F20 7F05D3F0 00000000 */ nop -/* 091F24 7F05D3F4 0006000D */ break 6 -.L7F05D3F8: -/* 091F28 7F05D3F8 0FC230F0 */ jal check_if_item_available -/* 091F2C 7F05D3FC 02002025 */ move $a0, $s0 -/* 091F30 7F05D400 5040FFEE */ beql $v0, $zero, .L7F05D3BC -/* 091F34 7F05D404 2610FFFF */ addiu $s0, $s0, -1 -/* 091F38 7F05D408 26730001 */ addiu $s3, $s3, 1 -/* 091F3C 7F05D40C 0662FFEB */ bltzl $s3, .L7F05D3BC -/* 091F40 7F05D410 2610FFFF */ addiu $s0, $s0, -1 -.L7F05D414: -/* 091F44 7F05D414 8FBF0024 */ lw $ra, 0x24($sp) -/* 091F48 7F05D418 02001025 */ move $v0, $s0 -/* 091F4C 7F05D41C 8FB00014 */ lw $s0, 0x14($sp) -/* 091F50 7F05D420 8FB10018 */ lw $s1, 0x18($sp) -/* 091F54 7F05D424 8FB2001C */ lw $s2, 0x1c($sp) -/* 091F58 7F05D428 8FB30020 */ lw $s3, 0x20($sp) -/* 091F5C 7F05D42C 03E00008 */ jr $ra -/* 091F60 7F05D430 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void get_next_weapon_in_cycle_for_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_next_weapon_in_cycle_for_hand -/* 091F64 7F05D434 000478C0 */ sll $t7, $a0, 3 -/* 091F68 7F05D438 01E47823 */ subu $t7, $t7, $a0 -/* 091F6C 7F05D43C 000F7880 */ sll $t7, $t7, 2 -/* 091F70 7F05D440 01E47821 */ addu $t7, $t7, $a0 -/* 091F74 7F05D444 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 091F78 7F05D448 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 091F7C 7F05D44C 000F7880 */ sll $t7, $t7, 2 -/* 091F80 7F05D450 01E47821 */ addu $t7, $t7, $a0 -/* 091F84 7F05D454 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 091F88 7F05D458 000F78C0 */ sll $t7, $t7, 3 -/* 091F8C 7F05D45C AFBF0014 */ sw $ra, 0x14($sp) -/* 091F90 7F05D460 01CF1821 */ addu $v1, $t6, $t7 -/* 091F94 7F05D464 8C620894 */ lw $v0, 0x894($v1) -/* 091F98 7F05D468 24010005 */ li $at, 5 -/* 091F9C 7F05D46C 54410012 */ bnel $v0, $at, .L7F05D4B8 -/* 091FA0 7F05D470 24010006 */ li $at, 6 -/* 091FA4 7F05D474 04A10004 */ bgez $a1, .L7F05D488 -/* 091FA8 7F05D478 00000000 */ nop -/* 091FAC 7F05D47C 8C7808B8 */ lw $t8, 0x8b8($v1) -/* 091FB0 7F05D480 1F000006 */ bgtz $t8, .L7F05D49C -/* 091FB4 7F05D484 00000000 */ nop -.L7F05D488: -/* 091FB8 7F05D488 18A00008 */ blez $a1, .L7F05D4AC -/* 091FBC 7F05D48C 00000000 */ nop -/* 091FC0 7F05D490 8C7908B8 */ lw $t9, 0x8b8($v1) -/* 091FC4 7F05D494 07210005 */ bgez $t9, .L7F05D4AC -/* 091FC8 7F05D498 00000000 */ nop -.L7F05D49C: -/* 091FCC 7F05D49C 0FC17674 */ jal get_item_in_hand -/* 091FD0 7F05D4A0 00000000 */ nop -/* 091FD4 7F05D4A4 1000000B */ b .L7F05D4D4 -/* 091FD8 7F05D4A8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05D4AC: -/* 091FDC 7F05D4AC 10000008 */ b .L7F05D4D0 -/* 091FE0 7F05D4B0 8C6208AC */ lw $v0, 0x8ac($v1) -/* 091FE4 7F05D4B4 24010006 */ li $at, 6 -.L7F05D4B8: -/* 091FE8 7F05D4B8 14410003 */ bne $v0, $at, .L7F05D4C8 -/* 091FEC 7F05D4BC 00000000 */ nop -/* 091FF0 7F05D4C0 10000003 */ b .L7F05D4D0 -/* 091FF4 7F05D4C4 8C6208AC */ lw $v0, 0x8ac($v1) -.L7F05D4C8: -/* 091FF8 7F05D4C8 0FC17674 */ jal get_item_in_hand -/* 091FFC 7F05D4CC 00000000 */ nop -.L7F05D4D0: -/* 092000 7F05D4D0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05D4D4: -/* 092004 7F05D4D4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092008 7F05D4D8 03E00008 */ jr $ra -/* 09200C 7F05D4DC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05D4E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05D4E0 -/* 092010 7F05D4E0 000438C0 */ sll $a3, $a0, 3 -/* 092014 7F05D4E4 00E43823 */ subu $a3, $a3, $a0 -/* 092018 7F05D4E8 3C088008 */ lui $t0, %hi(pPlayer) -/* 09201C 7F05D4EC 00073880 */ sll $a3, $a3, 2 -/* 092020 7F05D4F0 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 092024 7F05D4F4 00E43821 */ addu $a3, $a3, $a0 -/* 092028 7F05D4F8 8D0E0000 */ lw $t6, ($t0) -/* 09202C 7F05D4FC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 092030 7F05D500 00073880 */ sll $a3, $a3, 2 -/* 092034 7F05D504 00E43821 */ addu $a3, $a3, $a0 -/* 092038 7F05D508 000738C0 */ sll $a3, $a3, 3 -/* 09203C 7F05D50C AFBF0014 */ sw $ra, 0x14($sp) -/* 092040 7F05D510 AFA50024 */ sw $a1, 0x24($sp) -/* 092044 7F05D514 AFA60028 */ sw $a2, 0x28($sp) -/* 092048 7F05D518 01C71021 */ addu $v0, $t6, $a3 -/* 09204C 7F05D51C 8C430894 */ lw $v1, 0x894($v0) -/* 092050 7F05D520 24010005 */ li $at, 5 -/* 092054 7F05D524 10610003 */ beq $v1, $at, .L7F05D534 -/* 092058 7F05D528 24010006 */ li $at, 6 -/* 09205C 7F05D52C 54610018 */ bnel $v1, $at, .L7F05D590 -/* 092060 7F05D530 00002825 */ move $a1, $zero -.L7F05D534: -/* 092064 7F05D534 8C4F0890 */ lw $t7, 0x890($v0) -/* 092068 7F05D538 AC4F08B0 */ sw $t7, 0x8b0($v0) -/* 09206C 7F05D53C AFA7001C */ sw $a3, 0x1c($sp) -/* 092070 7F05D540 0FC26919 */ jal get_num_players -/* 092074 7F05D544 AFA40020 */ sw $a0, 0x20($sp) -/* 092078 7F05D548 3C088008 */ lui $t0, %hi(pPlayer) -/* 09207C 7F05D54C 24010001 */ li $at, 1 -/* 092080 7F05D550 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 092084 7F05D554 8FA40020 */ lw $a0, 0x20($sp) -/* 092088 7F05D558 14410007 */ bne $v0, $at, .L7F05D578 -/* 09208C 7F05D55C 8FA7001C */ lw $a3, 0x1c($sp) -/* 092090 7F05D560 8D180000 */ lw $t8, ($t0) -/* 092094 7F05D564 03071021 */ addu $v0, $t8, $a3 -/* 092098 7F05D568 8C5908B0 */ lw $t9, 0x8b0($v0) -/* 09209C 7F05D56C 27290011 */ addiu $t1, $t9, 0x11 -/* 0920A0 7F05D570 10000006 */ b .L7F05D58C -/* 0920A4 7F05D574 AC4908B0 */ sw $t1, 0x8b0($v0) -.L7F05D578: -/* 0920A8 7F05D578 8D0A0000 */ lw $t2, ($t0) -/* 0920AC 7F05D57C 01471021 */ addu $v0, $t2, $a3 -/* 0920B0 7F05D580 8C4B08B0 */ lw $t3, 0x8b0($v0) -/* 0920B4 7F05D584 256C000D */ addiu $t4, $t3, 0xd -/* 0920B8 7F05D588 AC4C08B0 */ sw $t4, 0x8b0($v0) -.L7F05D58C: -/* 0920BC 7F05D58C 00002825 */ move $a1, $zero -.L7F05D590: -/* 0920C0 7F05D590 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 0920C4 7F05D594 AFA7001C */ sw $a3, 0x1c($sp) -/* 0920C8 7F05D598 8FAD0024 */ lw $t5, 0x24($sp) -/* 0920CC 7F05D59C 3C088008 */ lui $t0, %hi(pPlayer) -/* 0920D0 7F05D5A0 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0920D4 7F05D5A4 104D0016 */ beq $v0, $t5, .L7F05D600 -/* 0920D8 7F05D5A8 8FA7001C */ lw $a3, 0x1c($sp) -/* 0920DC 7F05D5AC 8D0E0000 */ lw $t6, ($t0) -/* 0920E0 7F05D5B0 24010005 */ li $at, 5 -/* 0920E4 7F05D5B4 01C71021 */ addu $v0, $t6, $a3 -/* 0920E8 7F05D5B8 8C430894 */ lw $v1, 0x894($v0) -/* 0920EC 7F05D5BC 10610006 */ beq $v1, $at, .L7F05D5D8 -/* 0920F0 7F05D5C0 24010006 */ li $at, 6 -/* 0920F4 7F05D5C4 10610004 */ beq $v1, $at, .L7F05D5D8 -/* 0920F8 7F05D5C8 240F0005 */ li $t7, 5 -/* 0920FC 7F05D5CC AC4F0898 */ sw $t7, 0x898($v0) -/* 092100 7F05D5D0 8D180000 */ lw $t8, ($t0) -/* 092104 7F05D5D4 03071021 */ addu $v0, $t8, $a3 -.L7F05D5D8: -/* 092108 7F05D5D8 8FB90024 */ lw $t9, 0x24($sp) -/* 09210C 7F05D5DC 24090001 */ li $t1, 1 -/* 092110 7F05D5E0 AC5908AC */ sw $t9, 0x8ac($v0) -/* 092114 7F05D5E4 8D0A0000 */ lw $t2, ($t0) -/* 092118 7F05D5E8 01475821 */ addu $t3, $t2, $a3 -/* 09211C 7F05D5EC AD6908B4 */ sw $t1, 0x8b4($t3) -/* 092120 7F05D5F0 8D0D0000 */ lw $t5, ($t0) -/* 092124 7F05D5F4 8FAC0028 */ lw $t4, 0x28($sp) -/* 092128 7F05D5F8 01A77021 */ addu $t6, $t5, $a3 -/* 09212C 7F05D5FC ADCC08B8 */ sw $t4, 0x8b8($t6) -.L7F05D600: -/* 092130 7F05D600 8FBF0014 */ lw $ra, 0x14($sp) -/* 092134 7F05D604 27BD0020 */ addiu $sp, $sp, 0x20 -/* 092138 7F05D608 03E00008 */ jr $ra -/* 09213C 7F05D60C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05D610(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05D610 -/* 092140 7F05D610 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092144 7F05D614 AFBF0014 */ sw $ra, 0x14($sp) -/* 092148 7F05D618 AFA40018 */ sw $a0, 0x18($sp) -/* 09214C 7F05D61C 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 092150 7F05D620 00002825 */ move $a1, $zero -/* 092154 7F05D624 00402025 */ move $a0, $v0 -/* 092158 7F05D628 0FC174CD */ jal sub_GAME_7F05D334 -/* 09215C 7F05D62C 24050001 */ li $a1, 1 -/* 092160 7F05D630 8FA40018 */ lw $a0, 0x18($sp) -/* 092164 7F05D634 00402825 */ move $a1, $v0 -/* 092168 7F05D638 0FC17538 */ jal sub_GAME_7F05D4E0 -/* 09216C 7F05D63C 00003025 */ move $a2, $zero -/* 092170 7F05D640 8FBF0014 */ lw $ra, 0x14($sp) -/* 092174 7F05D644 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092178 7F05D648 03E00008 */ jr $ra -/* 09217C 7F05D64C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05D650(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05D650 -/* 092180 7F05D650 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092184 7F05D654 AFBF0014 */ sw $ra, 0x14($sp) -/* 092188 7F05D658 AFA40018 */ sw $a0, 0x18($sp) -/* 09218C 7F05D65C 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 092190 7F05D660 00002825 */ move $a1, $zero -/* 092194 7F05D664 00402025 */ move $a0, $v0 -/* 092198 7F05D668 0FC174CD */ jal sub_GAME_7F05D334 -/* 09219C 7F05D66C 2405FFFF */ li $a1, -1 -/* 0921A0 7F05D670 8FA40018 */ lw $a0, 0x18($sp) -/* 0921A4 7F05D674 00402825 */ move $a1, $v0 -/* 0921A8 7F05D678 0FC17538 */ jal sub_GAME_7F05D4E0 -/* 0921AC 7F05D67C 00003025 */ move $a2, $zero -/* 0921B0 7F05D680 8FBF0014 */ lw $ra, 0x14($sp) -/* 0921B4 7F05D684 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0921B8 7F05D688 03E00008 */ jr $ra -/* 0921BC 7F05D68C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F05D690 -/* 0921C0 7F05D690 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0921C4 7F05D694 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0921C8 7F05D698 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0921CC 7F05D69C AFBF0014 */ sw $ra, 0x14($sp) -/* 0921D0 7F05D6A0 00002025 */ move $a0, $zero -/* 0921D4 7F05D6A4 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0921D8 7F05D6A8 8DC50878 */ lw $a1, 0x878($t6) -/* 0921DC 7F05D6AC 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0921E0 7F05D6B0 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0921E4 7F05D6B4 24040001 */ li $a0, 1 -/* 0921E8 7F05D6B8 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0921EC 7F05D6BC 8DE50C20 */ lw $a1, 0xc20($t7) -/* 0921F0 7F05D6C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0921F4 7F05D6C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0921F8 7F05D6C8 03E00008 */ jr $ra -/* 0921FC 7F05D6CC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel advance_through_inventory -/* 092200 7F05D6D0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 092204 7F05D6D4 AFBF0014 */ sw $ra, 0x14($sp) -/* 092208 7F05D6D8 00002025 */ move $a0, $zero -/* 09220C 7F05D6DC 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 092210 7F05D6E0 24050001 */ li $a1, 1 -/* 092214 7F05D6E4 AFA20024 */ sw $v0, 0x24($sp) -/* 092218 7F05D6E8 24040001 */ li $a0, 1 -/* 09221C 7F05D6EC 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 092220 7F05D6F0 24050001 */ li $a1, 1 -/* 092224 7F05D6F4 8FAE0024 */ lw $t6, 0x24($sp) -/* 092228 7F05D6F8 AFA20020 */ sw $v0, 0x20($sp) -/* 09222C 7F05D6FC 29C10021 */ slti $at, $t6, 0x21 -/* 092230 7F05D700 10200003 */ beqz $at, .L7F05D710 -/* 092234 7F05D704 28410021 */ slti $at, $v0, 0x21 -/* 092238 7F05D708 14200008 */ bnez $at, .L7F05D72C -/* 09223C 7F05D70C 27A40024 */ addiu $a0, $sp, 0x24 -.L7F05D710: -/* 092240 7F05D710 3C028008 */ lui $v0, %hi(pPlayer) -/* 092244 7F05D714 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 092248 7F05D718 8C4F0878 */ lw $t7, 0x878($v0) -/* 09224C 7F05D71C AFAF0024 */ sw $t7, 0x24($sp) -/* 092250 7F05D720 8C580C20 */ lw $t8, 0xc20($v0) -/* 092254 7F05D724 10000004 */ b .L7F05D738 -/* 092258 7F05D728 AFB80020 */ sw $t8, 0x20($sp) -.L7F05D72C: -/* 09225C 7F05D72C 27A50020 */ addiu $a1, $sp, 0x20 -/* 092260 7F05D730 0FC2321B */ jal sub_GAME_7F08C86C -/* 092264 7F05D734 00003025 */ move $a2, $zero -.L7F05D738: -/* 092268 7F05D738 00002025 */ move $a0, $zero -/* 09226C 7F05D73C 8FA50024 */ lw $a1, 0x24($sp) -/* 092270 7F05D740 0FC17538 */ jal sub_GAME_7F05D4E0 -/* 092274 7F05D744 24060001 */ li $a2, 1 -/* 092278 7F05D748 24040001 */ li $a0, 1 -/* 09227C 7F05D74C 8FA50020 */ lw $a1, 0x20($sp) -/* 092280 7F05D750 0FC17538 */ jal sub_GAME_7F05D4E0 -/* 092284 7F05D754 24060001 */ li $a2, 1 -/* 092288 7F05D758 8FBF0014 */ lw $ra, 0x14($sp) -/* 09228C 7F05D75C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 092290 7F05D760 03E00008 */ jr $ra -/* 092294 7F05D764 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void backstep_through_inventory(void) { - -} -#else -GLOBAL_ASM( -.text -glabel backstep_through_inventory -/* 092298 7F05D768 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09229C 7F05D76C AFBF0014 */ sw $ra, 0x14($sp) -/* 0922A0 7F05D770 00002025 */ move $a0, $zero -/* 0922A4 7F05D774 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 0922A8 7F05D778 2405FFFF */ li $a1, -1 -/* 0922AC 7F05D77C AFA20024 */ sw $v0, 0x24($sp) -/* 0922B0 7F05D780 24040001 */ li $a0, 1 -/* 0922B4 7F05D784 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 0922B8 7F05D788 2405FFFF */ li $a1, -1 -/* 0922BC 7F05D78C 8FAE0024 */ lw $t6, 0x24($sp) -/* 0922C0 7F05D790 AFA20020 */ sw $v0, 0x20($sp) -/* 0922C4 7F05D794 29C10021 */ slti $at, $t6, 0x21 -/* 0922C8 7F05D798 10200003 */ beqz $at, .L7F05D7A8 -/* 0922CC 7F05D79C 28410021 */ slti $at, $v0, 0x21 -/* 0922D0 7F05D7A0 14200008 */ bnez $at, .L7F05D7C4 -/* 0922D4 7F05D7A4 27A40024 */ addiu $a0, $sp, 0x24 -.L7F05D7A8: -/* 0922D8 7F05D7A8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0922DC 7F05D7AC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0922E0 7F05D7B0 8C4F0878 */ lw $t7, 0x878($v0) -/* 0922E4 7F05D7B4 AFAF0024 */ sw $t7, 0x24($sp) -/* 0922E8 7F05D7B8 8C580C20 */ lw $t8, 0xc20($v0) -/* 0922EC 7F05D7BC 10000004 */ b .L7F05D7D0 -/* 0922F0 7F05D7C0 AFB80020 */ sw $t8, 0x20($sp) -.L7F05D7C4: -/* 0922F4 7F05D7C4 27A50020 */ addiu $a1, $sp, 0x20 -/* 0922F8 7F05D7C8 0FC232C4 */ jal sub_GAME_7F08CB10 -/* 0922FC 7F05D7CC 00003025 */ move $a2, $zero -.L7F05D7D0: -/* 092300 7F05D7D0 00002025 */ move $a0, $zero -/* 092304 7F05D7D4 8FA50024 */ lw $a1, 0x24($sp) -/* 092308 7F05D7D8 0FC17538 */ jal sub_GAME_7F05D4E0 -/* 09230C 7F05D7DC 2406FFFF */ li $a2, -1 -/* 092310 7F05D7E0 24040001 */ li $a0, 1 -/* 092314 7F05D7E4 8FA50020 */ lw $a1, 0x20($sp) -/* 092318 7F05D7E8 0FC17538 */ jal sub_GAME_7F05D4E0 -/* 09231C 7F05D7EC 2406FFFF */ li $a2, -1 -/* 092320 7F05D7F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 092324 7F05D7F4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 092328 7F05D7F8 03E00008 */ jr $ra -/* 09232C 7F05D7FC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void autoadvance_on_deplete_all_ammo(void) { - -} -#else -GLOBAL_ASM( -.text -glabel autoadvance_on_deplete_all_ammo -/* 092330 7F05D800 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 092334 7F05D804 AFBF0014 */ sw $ra, 0x14($sp) -/* 092338 7F05D808 00002025 */ move $a0, $zero -/* 09233C 7F05D80C 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 092340 7F05D810 24050001 */ li $a1, 1 -/* 092344 7F05D814 AFA2002C */ sw $v0, 0x2c($sp) -/* 092348 7F05D818 AFA20024 */ sw $v0, 0x24($sp) -/* 09234C 7F05D81C 24040001 */ li $a0, 1 -/* 092350 7F05D820 0FC1750D */ jal get_next_weapon_in_cycle_for_hand -/* 092354 7F05D824 24050001 */ li $a1, 1 -/* 092358 7F05D828 8FAE0024 */ lw $t6, 0x24($sp) -/* 09235C 7F05D82C 00401825 */ move $v1, $v0 -/* 092360 7F05D830 AFA20020 */ sw $v0, 0x20($sp) -/* 092364 7F05D834 29C10021 */ slti $at, $t6, 0x21 -/* 092368 7F05D838 10200003 */ beqz $at, .L7F05D848 -/* 09236C 7F05D83C 28410021 */ slti $at, $v0, 0x21 -/* 092370 7F05D840 14200008 */ bnez $at, .L7F05D864 -/* 092374 7F05D844 8FB90024 */ lw $t9, 0x24($sp) -.L7F05D848: -/* 092378 7F05D848 3C028008 */ lui $v0, %hi(pPlayer) -/* 09237C 7F05D84C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 092380 7F05D850 8C4F0878 */ lw $t7, 0x878($v0) -/* 092384 7F05D854 AFAF0024 */ sw $t7, 0x24($sp) -/* 092388 7F05D858 8C580C20 */ lw $t8, 0xc20($v0) -/* 09238C 7F05D85C 10000021 */ b .L7F05D8E4 -/* 092390 7F05D860 AFB80020 */ sw $t8, 0x20($sp) -.L7F05D864: -/* 092394 7F05D864 2401001D */ li $at, 29 -/* 092398 7F05D868 17210009 */ bne $t9, $at, .L7F05D890 -/* 09239C 7F05D86C 2404001E */ li $a0, 30 -/* 0923A0 7F05D870 0FC230F0 */ jal check_if_item_available -/* 0923A4 7F05D874 AFA30028 */ sw $v1, 0x28($sp) -/* 0923A8 7F05D878 10400005 */ beqz $v0, .L7F05D890 -/* 0923AC 7F05D87C 8FA30028 */ lw $v1, 0x28($sp) -/* 0923B0 7F05D880 2408001E */ li $t0, 30 -/* 0923B4 7F05D884 AFA80024 */ sw $t0, 0x24($sp) -/* 0923B8 7F05D888 10000016 */ b .L7F05D8E4 -/* 0923BC 7F05D88C AFA00020 */ sw $zero, 0x20($sp) -.L7F05D890: -/* 0923C0 7F05D890 27A40024 */ addiu $a0, $sp, 0x24 -/* 0923C4 7F05D894 27A50020 */ addiu $a1, $sp, 0x20 -/* 0923C8 7F05D898 24060001 */ li $a2, 1 -/* 0923CC 7F05D89C 0FC2321B */ jal sub_GAME_7F08C86C -/* 0923D0 7F05D8A0 AFA30028 */ sw $v1, 0x28($sp) -/* 0923D4 7F05D8A4 8FA2002C */ lw $v0, 0x2c($sp) -/* 0923D8 7F05D8A8 8FA90024 */ lw $t1, 0x24($sp) -/* 0923DC 7F05D8AC 8FA30028 */ lw $v1, 0x28($sp) -/* 0923E0 7F05D8B0 27A40024 */ addiu $a0, $sp, 0x24 -/* 0923E4 7F05D8B4 0122082A */ slt $at, $t1, $v0 -/* 0923E8 7F05D8B8 14200006 */ bnez $at, .L7F05D8D4 -/* 0923EC 7F05D8BC 27A50020 */ addiu $a1, $sp, 0x20 -/* 0923F0 7F05D8C0 15220008 */ bne $t1, $v0, .L7F05D8E4 -/* 0923F4 7F05D8C4 8FAA0020 */ lw $t2, 0x20($sp) -/* 0923F8 7F05D8C8 006A082A */ slt $at, $v1, $t2 -/* 0923FC 7F05D8CC 54200006 */ bnezl $at, .L7F05D8E8 -/* 092400 7F05D8D0 00002025 */ move $a0, $zero -.L7F05D8D4: -/* 092404 7F05D8D4 AFA20024 */ sw $v0, 0x24($sp) -/* 092408 7F05D8D8 AFA30020 */ sw $v1, 0x20($sp) -/* 09240C 7F05D8DC 0FC232C4 */ jal sub_GAME_7F08CB10 -/* 092410 7F05D8E0 24060001 */ li $a2, 1 -.L7F05D8E4: -/* 092414 7F05D8E4 00002025 */ move $a0, $zero -.L7F05D8E8: -/* 092418 7F05D8E8 8FA50024 */ lw $a1, 0x24($sp) -/* 09241C 7F05D8EC 0FC17538 */ jal sub_GAME_7F05D4E0 -/* 092420 7F05D8F0 24060001 */ li $a2, 1 -/* 092424 7F05D8F4 24040001 */ li $a0, 1 -/* 092428 7F05D8F8 8FA50020 */ lw $a1, 0x20($sp) -/* 09242C 7F05D8FC 0FC17538 */ jal sub_GAME_7F05D4E0 -/* 092430 7F05D900 24060001 */ li $a2, 1 -/* 092434 7F05D904 8FBF0014 */ lw $ra, 0x14($sp) -/* 092438 7F05D908 27BD0030 */ addiu $sp, $sp, 0x30 -/* 09243C 7F05D90C 03E00008 */ jr $ra -/* 092440 7F05D910 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void draw_item_in_hand_has_more_ammo(void) { - -} -#else -GLOBAL_ASM( -.text -glabel draw_item_in_hand_has_more_ammo -/* 092444 7F05D914 000410C0 */ sll $v0, $a0, 3 -/* 092448 7F05D918 00441023 */ subu $v0, $v0, $a0 -/* 09244C 7F05D91C 3C038008 */ lui $v1, %hi(pPlayer) -/* 092450 7F05D920 00021080 */ sll $v0, $v0, 2 -/* 092454 7F05D924 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 092458 7F05D928 00441021 */ addu $v0, $v0, $a0 -/* 09245C 7F05D92C 8C6F0000 */ lw $t7, ($v1) -/* 092460 7F05D930 00021080 */ sll $v0, $v0, 2 -/* 092464 7F05D934 00441021 */ addu $v0, $v0, $a0 -/* 092468 7F05D938 000210C0 */ sll $v0, $v0, 3 -/* 09246C 7F05D93C 240E0005 */ li $t6, 5 -/* 092470 7F05D940 01E2C021 */ addu $t8, $t7, $v0 -/* 092474 7F05D944 AF0E0898 */ sw $t6, 0x898($t8) -/* 092478 7F05D948 8C790000 */ lw $t9, ($v1) -/* 09247C 7F05D94C 03224021 */ addu $t0, $t9, $v0 -/* 092480 7F05D950 AD0508AC */ sw $a1, 0x8ac($t0) -/* 092484 7F05D954 8C690000 */ lw $t1, ($v1) -/* 092488 7F05D958 01225021 */ addu $t2, $t1, $v0 -/* 09248C 7F05D95C 03E00008 */ jr $ra -/* 092490 7F05D960 AD4008B4 */ sw $zero, 0x8b4($t2) -) -#endif - - - - - -#ifdef NONMATCHING -void attempt_reload_item_in_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel attempt_reload_item_in_hand -/* 092494 7F05D964 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092498 7F05D968 AFBF0014 */ sw $ra, 0x14($sp) -/* 09249C 7F05D96C 0FC17674 */ jal get_item_in_hand -/* 0924A0 7F05D970 AFA40018 */ sw $a0, 0x18($sp) -/* 0924A4 7F05D974 0FC1A50B */ jal get_ammo_type_for_weapon -/* 0924A8 7F05D978 00402025 */ move $a0, $v0 -/* 0924AC 7F05D97C 10400010 */ beqz $v0, .L7F05D9C0 -/* 0924B0 7F05D980 8FAF0018 */ lw $t7, 0x18($sp) -/* 0924B4 7F05D984 000FC0C0 */ sll $t8, $t7, 3 -/* 0924B8 7F05D988 030FC023 */ subu $t8, $t8, $t7 -/* 0924BC 7F05D98C 0018C080 */ sll $t8, $t8, 2 -/* 0924C0 7F05D990 030FC021 */ addu $t8, $t8, $t7 -/* 0924C4 7F05D994 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0924C8 7F05D998 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0924CC 7F05D99C 0018C080 */ sll $t8, $t8, 2 -/* 0924D0 7F05D9A0 030FC021 */ addu $t8, $t8, $t7 -/* 0924D4 7F05D9A4 0018C0C0 */ sll $t8, $t8, 3 -/* 0924D8 7F05D9A8 01D81021 */ addu $v0, $t6, $t8 -/* 0924DC 7F05D9AC 8C590898 */ lw $t9, 0x898($v0) -/* 0924E0 7F05D9B0 24080009 */ li $t0, 9 -/* 0924E4 7F05D9B4 57200003 */ bnezl $t9, .L7F05D9C4 -/* 0924E8 7F05D9B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0924EC 7F05D9BC AC480898 */ sw $t0, 0x898($v0) -.L7F05D9C0: -/* 0924F0 7F05D9C0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05D9C4: -/* 0924F4 7F05D9C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0924F8 7F05D9C8 03E00008 */ jr $ra -/* 0924FC 7F05D9CC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_item_in_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_item_in_hand -/* 092500 7F05D9D0 000478C0 */ sll $t7, $a0, 3 -/* 092504 7F05D9D4 01E47823 */ subu $t7, $t7, $a0 -/* 092508 7F05D9D8 000F7880 */ sll $t7, $t7, 2 -/* 09250C 7F05D9DC 01E47821 */ addu $t7, $t7, $a0 -/* 092510 7F05D9E0 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 092514 7F05D9E4 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 092518 7F05D9E8 000F7880 */ sll $t7, $t7, 2 -/* 09251C 7F05D9EC 01E47821 */ addu $t7, $t7, $a0 -/* 092520 7F05D9F0 000F78C0 */ sll $t7, $t7, 3 -/* 092524 7F05D9F4 01CFC021 */ addu $t8, $t6, $t7 -/* 092528 7F05D9F8 03E00008 */ jr $ra -/* 09252C 7F05D9FC 8F020870 */ lw $v0, 0x870($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void draw_item_in_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel draw_item_in_hand -/* 092530 7F05DA00 000410C0 */ sll $v0, $a0, 3 -/* 092534 7F05DA04 00441023 */ subu $v0, $v0, $a0 -/* 092538 7F05DA08 3C038008 */ lui $v1, %hi(pPlayer) -/* 09253C 7F05DA0C 00021080 */ sll $v0, $v0, 2 -/* 092540 7F05DA10 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 092544 7F05DA14 00441021 */ addu $v0, $v0, $a0 -/* 092548 7F05DA18 8C6F0000 */ lw $t7, ($v1) -/* 09254C 7F05DA1C 00021080 */ sll $v0, $v0, 2 -/* 092550 7F05DA20 00441021 */ addu $v0, $v0, $a0 -/* 092554 7F05DA24 000210C0 */ sll $v0, $v0, 3 -/* 092558 7F05DA28 240E000E */ li $t6, 14 -/* 09255C 7F05DA2C 01E2C021 */ addu $t8, $t7, $v0 -/* 092560 7F05DA30 AF0E0898 */ sw $t6, 0x898($t8) -/* 092564 7F05DA34 8C790000 */ lw $t9, ($v1) -/* 092568 7F05DA38 03224021 */ addu $t0, $t9, $v0 -/* 09256C 7F05DA3C 03E00008 */ jr $ra -/* 092570 7F05DA40 AD0508AC */ sw $a1, 0x8ac($t0) -) -#endif - - - - - -#ifdef NONMATCHING -void return_ammo_in_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel return_ammo_in_hand -/* 092574 7F05DA44 000478C0 */ sll $t7, $a0, 3 -/* 092578 7F05DA48 01E47823 */ subu $t7, $t7, $a0 -/* 09257C 7F05DA4C 000F7880 */ sll $t7, $t7, 2 -/* 092580 7F05DA50 01E47821 */ addu $t7, $t7, $a0 -/* 092584 7F05DA54 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 092588 7F05DA58 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09258C 7F05DA5C 000F7880 */ sll $t7, $t7, 2 -/* 092590 7F05DA60 01E47821 */ addu $t7, $t7, $a0 -/* 092594 7F05DA64 000F78C0 */ sll $t7, $t7, 3 -/* 092598 7F05DA68 01CF1821 */ addu $v1, $t6, $t7 -/* 09259C 7F05DA6C 8C650874 */ lw $a1, 0x874($v1) -/* 0925A0 7F05DA70 04A20004 */ bltzl $a1, .L7F05DA84 -/* 0925A4 7F05DA74 8C620870 */ lw $v0, 0x870($v1) -/* 0925A8 7F05DA78 03E00008 */ jr $ra -/* 0925AC 7F05DA7C 00A01025 */ move $v0, $a1 - -/* 0925B0 7F05DA80 8C620870 */ lw $v0, 0x870($v1) -.L7F05DA84: -/* 0925B4 7F05DA84 03E00008 */ jr $ra -/* 0925B8 7F05DA88 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DA8C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05DA8C -/* 0925BC 7F05DA8C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0925C0 7F05DA90 AFBF0014 */ sw $ra, 0x14($sp) -/* 0925C4 7F05DA94 AFA40018 */ sw $a0, 0x18($sp) -/* 0925C8 7F05DA98 0FC173E9 */ jal place_item_in_hand_swap_and_make_visible -/* 0925CC 7F05DA9C AFA5001C */ sw $a1, 0x1c($sp) -/* 0925D0 7F05DAA0 8FB80018 */ lw $t8, 0x18($sp) -/* 0925D4 7F05DAA4 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0925D8 7F05DAA8 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0925DC 7F05DAAC 0018C8C0 */ sll $t9, $t8, 3 -/* 0925E0 7F05DAB0 0338C823 */ subu $t9, $t9, $t8 -/* 0925E4 7F05DAB4 0019C880 */ sll $t9, $t9, 2 -/* 0925E8 7F05DAB8 0338C821 */ addu $t9, $t9, $t8 -/* 0925EC 7F05DABC 0019C880 */ sll $t9, $t9, 2 -/* 0925F0 7F05DAC0 8FAE001C */ lw $t6, 0x1c($sp) -/* 0925F4 7F05DAC4 0338C821 */ addu $t9, $t9, $t8 -/* 0925F8 7F05DAC8 0019C8C0 */ sll $t9, $t9, 3 -/* 0925FC 7F05DACC 01F94021 */ addu $t0, $t7, $t9 -/* 092600 7F05DAD0 AD0E0874 */ sw $t6, 0x874($t0) -/* 092604 7F05DAD4 8FBF0014 */ lw $ra, 0x14($sp) -/* 092608 7F05DAD8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09260C 7F05DADC 03E00008 */ jr $ra -/* 092610 7F05DAE0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DAE4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05DAE4 -/* 092614 7F05DAE4 000410C0 */ sll $v0, $a0, 3 -/* 092618 7F05DAE8 00441023 */ subu $v0, $v0, $a0 -/* 09261C 7F05DAEC 00021080 */ sll $v0, $v0, 2 -/* 092620 7F05DAF0 00441021 */ addu $v0, $v0, $a0 -/* 092624 7F05DAF4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 092628 7F05DAF8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09262C 7F05DAFC 00021080 */ sll $v0, $v0, 2 -/* 092630 7F05DB00 00441021 */ addu $v0, $v0, $a0 -/* 092634 7F05DB04 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 092638 7F05DB08 000210C0 */ sll $v0, $v0, 3 -/* 09263C 7F05DB0C AFBF0014 */ sw $ra, 0x14($sp) -/* 092640 7F05DB10 01C21821 */ addu $v1, $t6, $v0 -/* 092644 7F05DB14 8C6F0874 */ lw $t7, 0x874($v1) -/* 092648 7F05DB18 05E2000B */ bltzl $t7, .L7F05DB48 -/* 09264C 7F05DB1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 092650 7F05DB20 8C650870 */ lw $a1, 0x870($v1) -/* 092654 7F05DB24 0FC173E9 */ jal place_item_in_hand_swap_and_make_visible -/* 092658 7F05DB28 AFA2001C */ sw $v0, 0x1c($sp) -/* 09265C 7F05DB2C 3C198008 */ lui $t9, %hi(pPlayer) -/* 092660 7F05DB30 8FA2001C */ lw $v0, 0x1c($sp) -/* 092664 7F05DB34 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 092668 7F05DB38 2418FFFF */ li $t8, -1 -/* 09266C 7F05DB3C 03224021 */ addu $t0, $t9, $v0 -/* 092670 7F05DB40 AD180874 */ sw $t8, 0x874($t0) -/* 092674 7F05DB44 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05DB48: -/* 092678 7F05DB48 27BD0020 */ addiu $sp, $sp, 0x20 -/* 09267C 7F05DB4C 03E00008 */ jr $ra -/* 092680 7F05DB50 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void remove_hands_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel remove_hands_item -/* 092684 7F05DB54 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 092688 7F05DB58 000470C0 */ sll $t6, $a0, 3 -/* 09268C 7F05DB5C AFB10018 */ sw $s1, 0x18($sp) -/* 092690 7F05DB60 01C47023 */ subu $t6, $t6, $a0 -/* 092694 7F05DB64 3C118008 */ lui $s1, %hi(pPlayer) -/* 092698 7F05DB68 000E7080 */ sll $t6, $t6, 2 -/* 09269C 7F05DB6C 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 0926A0 7F05DB70 01C47021 */ addu $t6, $t6, $a0 -/* 0926A4 7F05DB74 8E2F0000 */ lw $t7, ($s1) -/* 0926A8 7F05DB78 000E7080 */ sll $t6, $t6, 2 -/* 0926AC 7F05DB7C AFB00014 */ sw $s0, 0x14($sp) -/* 0926B0 7F05DB80 01C47021 */ addu $t6, $t6, $a0 -/* 0926B4 7F05DB84 000E80C0 */ sll $s0, $t6, 3 -/* 0926B8 7F05DB88 AFBF001C */ sw $ra, 0x1c($sp) -/* 0926BC 7F05DB8C AFA40028 */ sw $a0, 0x28($sp) -/* 0926C0 7F05DB90 AFA5002C */ sw $a1, 0x2c($sp) -/* 0926C4 7F05DB94 01F0C021 */ addu $t8, $t7, $s0 -/* 0926C8 7F05DB98 8F040870 */ lw $a0, 0x870($t8) -/* 0926CC 7F05DB9C 0FC1A50B */ jal get_ammo_type_for_weapon -/* 0926D0 7F05DBA0 AFA40024 */ sw $a0, 0x24($sp) -/* 0926D4 7F05DBA4 8E230000 */ lw $v1, ($s1) -/* 0926D8 7F05DBA8 8FA60024 */ lw $a2, 0x24($sp) -/* 0926DC 7F05DBAC 00403825 */ move $a3, $v0 -/* 0926E0 7F05DBB0 00702021 */ addu $a0, $v1, $s0 -/* 0926E4 7F05DBB4 8C990874 */ lw $t9, 0x874($a0) -/* 0926E8 7F05DBB8 8FA5002C */ lw $a1, 0x2c($sp) -/* 0926EC 7F05DBBC 0723000A */ bgezl $t9, .L7F05DBE8 -/* 0926F0 7F05DBC0 8C85089C */ lw $a1, 0x89c($a0) -/* 0926F4 7F05DBC4 8FA40028 */ lw $a0, 0x28($sp) -/* 0926F8 7F05DBC8 AFA60024 */ sw $a2, 0x24($sp) -/* 0926FC 7F05DBCC 0FC173E9 */ jal place_item_in_hand_swap_and_make_visible -/* 092700 7F05DBD0 AFA20020 */ sw $v0, 0x20($sp) -/* 092704 7F05DBD4 8E230000 */ lw $v1, ($s1) -/* 092708 7F05DBD8 8FA60024 */ lw $a2, 0x24($sp) -/* 09270C 7F05DBDC 8FA70020 */ lw $a3, 0x20($sp) -/* 092710 7F05DBE0 00702021 */ addu $a0, $v1, $s0 -/* 092714 7F05DBE4 8C85089C */ lw $a1, 0x89c($a0) -.L7F05DBE8: -/* 092718 7F05DBE8 00074080 */ sll $t0, $a3, 2 -/* 09271C 7F05DBEC 00681021 */ addu $v0, $v1, $t0 -/* 092720 7F05DBF0 18A00004 */ blez $a1, .L7F05DC04 -/* 092724 7F05DBF4 28C10021 */ slti $at, $a2, 0x21 -/* 092728 7F05DBF8 8C491130 */ lw $t1, 0x1130($v0) -/* 09272C 7F05DBFC 01255021 */ addu $t2, $t1, $a1 -/* 092730 7F05DC00 AC4A1130 */ sw $t2, 0x1130($v0) -.L7F05DC04: -/* 092734 7F05DC04 10200004 */ beqz $at, .L7F05DC18 -/* 092738 7F05DC08 00000000 */ nop -/* 09273C 7F05DC0C 8E2B0000 */ lw $t3, ($s1) -/* 092740 7F05DC10 01706021 */ addu $t4, $t3, $s0 -/* 092744 7F05DC14 AD860878 */ sw $a2, 0x878($t4) -.L7F05DC18: -/* 092748 7F05DC18 0FC26919 */ jal get_num_players -/* 09274C 7F05DC1C 00000000 */ nop -/* 092750 7F05DC20 28410002 */ slti $at, $v0, 2 -/* 092754 7F05DC24 14200003 */ bnez $at, .L7F05DC34 -/* 092758 7F05DC28 00000000 */ nop -/* 09275C 7F05DC2C 0FC26CDA */ jal sub_GAME_7F09B368 -/* 092760 7F05DC30 8FA40028 */ lw $a0, 0x28($sp) -.L7F05DC34: -/* 092764 7F05DC34 0FC17EC0 */ jal sub_GAME_7F05FB00 -/* 092768 7F05DC38 8FA40028 */ lw $a0, 0x28($sp) -/* 09276C 7F05DC3C 8E2E0000 */ lw $t6, ($s1) -/* 092770 7F05DC40 8FAD002C */ lw $t5, 0x2c($sp) -/* 092774 7F05DC44 01D07821 */ addu $t7, $t6, $s0 -/* 092778 7F05DC48 ADED0870 */ sw $t5, 0x870($t7) -/* 09277C 7F05DC4C 8E380000 */ lw $t8, ($s1) -/* 092780 7F05DC50 0310C821 */ addu $t9, $t8, $s0 -/* 092784 7F05DC54 AF20089C */ sw $zero, 0x89c($t9) -/* 092788 7F05DC58 8E280000 */ lw $t0, ($s1) -/* 09278C 7F05DC5C 01104821 */ addu $t1, $t0, $s0 -/* 092790 7F05DC60 AD200A4C */ sw $zero, 0xa4c($t1) -/* 092794 7F05DC64 8E2A0000 */ lw $t2, ($s1) -/* 092798 7F05DC68 01505821 */ addu $t3, $t2, $s0 -/* 09279C 7F05DC6C 0FC23638 */ jal sub_GAME_7F08D8E0 -/* 0927A0 7F05DC70 AD600A50 */ sw $zero, 0xa50($t3) -/* 0927A4 7F05DC74 8FBF001C */ lw $ra, 0x1c($sp) -/* 0927A8 7F05DC78 8FB00014 */ lw $s0, 0x14($sp) -/* 0927AC 7F05DC7C 8FB10018 */ lw $s1, 0x18($sp) -/* 0927B0 7F05DC80 03E00008 */ jr $ra -/* 0927B4 7F05DC84 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void get_hands_firing_status(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_hands_firing_status -/* 0927B8 7F05DC88 000478C0 */ sll $t7, $a0, 3 -/* 0927BC 7F05DC8C 01E47823 */ subu $t7, $t7, $a0 -/* 0927C0 7F05DC90 000F7880 */ sll $t7, $t7, 2 -/* 0927C4 7F05DC94 01E47821 */ addu $t7, $t7, $a0 -/* 0927C8 7F05DC98 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0927CC 7F05DC9C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0927D0 7F05DCA0 000F7880 */ sll $t7, $t7, 2 -/* 0927D4 7F05DCA4 01E47821 */ addu $t7, $t7, $a0 -/* 0927D8 7F05DCA8 000F78C0 */ sll $t7, $t7, 3 -/* 0927DC 7F05DCAC 01CFC021 */ addu $t8, $t6, $t7 -/* 0927E0 7F05DCB0 03E00008 */ jr $ra -/* 0927E4 7F05DCB4 8302087C */ lb $v0, 0x87c($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DCB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05DCB8 -/* 0927E8 7F05DCB8 000478C0 */ sll $t7, $a0, 3 -/* 0927EC 7F05DCBC 01E47823 */ subu $t7, $t7, $a0 -/* 0927F0 7F05DCC0 000F7880 */ sll $t7, $t7, 2 -/* 0927F4 7F05DCC4 01E47821 */ addu $t7, $t7, $a0 -/* 0927F8 7F05DCC8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0927FC 7F05DCCC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 092800 7F05DCD0 000F7880 */ sll $t7, $t7, 2 -/* 092804 7F05DCD4 01E47821 */ addu $t7, $t7, $a0 -/* 092808 7F05DCD8 000F78C0 */ sll $t7, $t7, 3 -/* 09280C 7F05DCDC 01CFC021 */ addu $t8, $t6, $t7 -/* 092810 7F05DCE0 03E00008 */ jr $ra -/* 092814 7F05DCE4 C7000A34 */ lwc1 $f0, 0xa34($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DCE8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05DCE8 -/* 092818 7F05DCE8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09281C 7F05DCEC 14800007 */ bnez $a0, .L7F05DD0C -/* 092820 7F05DCF0 AFBF0014 */ sw $ra, 0x14($sp) -/* 092824 7F05DCF4 0FC17691 */ jal return_ammo_in_hand -/* 092828 7F05DCF8 00002025 */ move $a0, $zero -/* 09282C 7F05DCFC 0FC1722D */ jal get_ptr_item_statistics -/* 092830 7F05DD00 00402025 */ move $a0, $v0 -/* 092834 7F05DD04 10000007 */ b .L7F05DD24 -/* 092838 7F05DD08 C4420004 */ lwc1 $f2, 4($v0) -.L7F05DD0C: -/* 09283C 7F05DD0C 0FC17691 */ jal return_ammo_in_hand -/* 092840 7F05DD10 24040001 */ li $a0, 1 -/* 092844 7F05DD14 0FC1722D */ jal get_ptr_item_statistics -/* 092848 7F05DD18 00402025 */ move $a0, $v0 -/* 09284C 7F05DD1C C4420004 */ lwc1 $f2, 4($v0) -/* 092850 7F05DD20 46001087 */ neg.s $f2, $f2 -.L7F05DD24: -/* 092854 7F05DD24 8FBF0014 */ lw $ra, 0x14($sp) -/* 092858 7F05DD28 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09285C 7F05DD2C 46001006 */ mov.s $f0, $f2 -/* 092860 7F05DD30 03E00008 */ jr $ra -/* 092864 7F05DD34 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DD38(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05DD38 -/* 092868 7F05DD38 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09286C 7F05DD3C AFBF0014 */ sw $ra, 0x14($sp) -/* 092870 7F05DD40 0FC17691 */ jal return_ammo_in_hand -/* 092874 7F05DD44 00002025 */ move $a0, $zero -/* 092878 7F05DD48 24010011 */ li $at, 17 -/* 09287C 7F05DD4C 14410004 */ bne $v0, $at, .L7F05DD60 -/* 092880 7F05DD50 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 092884 7F05DD54 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 092888 7F05DD58 1000000E */ b .L7F05DD94 -/* 09288C 7F05DD5C C5C01084 */ lwc1 $f0, 0x1084($t6) -.L7F05DD60: -/* 092890 7F05DD60 0FC17691 */ jal return_ammo_in_hand -/* 092894 7F05DD64 00002025 */ move $a0, $zero -/* 092898 7F05DD68 24010028 */ li $at, 40 -/* 09289C 7F05DD6C 14410004 */ bne $v0, $at, .L7F05DD80 -/* 0928A0 7F05DD70 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0928A4 7F05DD74 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0928A8 7F05DD78 10000006 */ b .L7F05DD94 -/* 0928AC 7F05DD7C C5E01088 */ lwc1 $f0, 0x1088($t7) -.L7F05DD80: -/* 0928B0 7F05DD80 0FC17691 */ jal return_ammo_in_hand -/* 0928B4 7F05DD84 00002025 */ move $a0, $zero -/* 0928B8 7F05DD88 0FC1722D */ jal get_ptr_item_statistics -/* 0928BC 7F05DD8C 00402025 */ move $a0, $v0 -/* 0928C0 7F05DD90 C4400034 */ lwc1 $f0, 0x34($v0) -.L7F05DD94: -/* 0928C4 7F05DD94 8FBF0014 */ lw $ra, 0x14($sp) -/* 0928C8 7F05DD98 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0928CC 7F05DD9C 03E00008 */ jr $ra -/* 0928D0 7F05DDA0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DDA4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C24 -.word 0x3dcccccd /*0.1*/ -glabel D_80053C28 -.word 0x3dcccccd /*0.1*/ -.text -glabel sub_GAME_7F05DDA4 -/* 0928D4 7F05DDA4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0928D8 7F05DDA8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0928DC 7F05DDAC E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0928E0 7F05DDB0 0FC17691 */ jal return_ammo_in_hand -/* 0928E4 7F05DDB4 00002025 */ move $a0, $zero -/* 0928E8 7F05DDB8 24010011 */ li $at, 17 -/* 0928EC 7F05DDBC 14410017 */ bne $v0, $at, .L7F05DE1C -/* 0928F0 7F05DDC0 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0928F4 7F05DDC4 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0928F8 7F05DDC8 44810000 */ mtc1 $at, $f0 -/* 0928FC 7F05DDCC 3C018005 */ lui $at, %hi(D_80053C24) -/* 092900 7F05DDD0 C4263C24 */ lwc1 $f6, %lo(D_80053C24)($at) -/* 092904 7F05DDD4 3C038008 */ lui $v1, %hi(pPlayer) -/* 092908 7F05DDD8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09290C 7F05DDDC 46062202 */ mul.s $f8, $f4, $f6 -/* 092910 7F05DDE0 44815000 */ mtc1 $at, $f10 -/* 092914 7F05DDE4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 092918 7F05DDE8 8C620000 */ lw $v0, ($v1) -/* 09291C 7F05DDEC C4521084 */ lwc1 $f18, 0x1084($v0) -/* 092920 7F05DDF0 46085400 */ add.s $f16, $f10, $f8 -/* 092924 7F05DDF4 46109102 */ mul.s $f4, $f18, $f16 -/* 092928 7F05DDF8 E4441084 */ swc1 $f4, 0x1084($v0) -/* 09292C 7F05DDFC 8C620000 */ lw $v0, ($v1) -/* 092930 7F05DE00 C4461084 */ lwc1 $f6, 0x1084($v0) -/* 092934 7F05DE04 4606003C */ c.lt.s $f0, $f6 -/* 092938 7F05DE08 00000000 */ nop -/* 09293C 7F05DE0C 4502001E */ bc1fl .L7F05DE88 -/* 092940 7F05DE10 8FBF0014 */ lw $ra, 0x14($sp) -/* 092944 7F05DE14 1000001B */ b .L7F05DE84 -/* 092948 7F05DE18 E4401084 */ swc1 $f0, 0x1084($v0) -.L7F05DE1C: -/* 09294C 7F05DE1C 0FC17691 */ jal return_ammo_in_hand -/* 092950 7F05DE20 00002025 */ move $a0, $zero -/* 092954 7F05DE24 24010028 */ li $at, 40 -/* 092958 7F05DE28 14410016 */ bne $v0, $at, .L7F05DE84 -/* 09295C 7F05DE2C C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 092960 7F05DE30 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 092964 7F05DE34 44810000 */ mtc1 $at, $f0 -/* 092968 7F05DE38 3C018005 */ lui $at, %hi(D_80053C28) -/* 09296C 7F05DE3C C4283C28 */ lwc1 $f8, %lo(D_80053C28)($at) -/* 092970 7F05DE40 3C038008 */ lui $v1, %hi(pPlayer) -/* 092974 7F05DE44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 092978 7F05DE48 46085482 */ mul.s $f18, $f10, $f8 -/* 09297C 7F05DE4C 44818000 */ mtc1 $at, $f16 -/* 092980 7F05DE50 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 092984 7F05DE54 8C620000 */ lw $v0, ($v1) -/* 092988 7F05DE58 C4461088 */ lwc1 $f6, 0x1088($v0) -/* 09298C 7F05DE5C 46128100 */ add.s $f4, $f16, $f18 -/* 092990 7F05DE60 46043282 */ mul.s $f10, $f6, $f4 -/* 092994 7F05DE64 E44A1088 */ swc1 $f10, 0x1088($v0) -/* 092998 7F05DE68 8C620000 */ lw $v0, ($v1) -/* 09299C 7F05DE6C C4481088 */ lwc1 $f8, 0x1088($v0) -/* 0929A0 7F05DE70 4608003C */ c.lt.s $f0, $f8 -/* 0929A4 7F05DE74 00000000 */ nop -/* 0929A8 7F05DE78 45020003 */ bc1fl .L7F05DE88 -/* 0929AC 7F05DE7C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0929B0 7F05DE80 E4401088 */ swc1 $f0, 0x1088($v0) -.L7F05DE84: -/* 0929B4 7F05DE84 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05DE88: -/* 0929B8 7F05DE88 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0929BC 7F05DE8C 03E00008 */ jr $ra -/* 0929C0 7F05DE90 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DE94(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C2C -.word 0x3dcccccd /*0.1*/ -glabel D_80053C30 -.word 0x3dcccccd /*0.1*/ -.text -glabel sub_GAME_7F05DE94 -/* 0929C4 7F05DE94 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0929C8 7F05DE98 AFBF0014 */ sw $ra, 0x14($sp) -/* 0929CC 7F05DE9C E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0929D0 7F05DEA0 0FC17691 */ jal return_ammo_in_hand -/* 0929D4 7F05DEA4 00002025 */ move $a0, $zero -/* 0929D8 7F05DEA8 24010011 */ li $at, 17 -/* 0929DC 7F05DEAC 14410017 */ bne $v0, $at, .L7F05DF0C -/* 0929E0 7F05DEB0 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0929E4 7F05DEB4 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 0929E8 7F05DEB8 44810000 */ mtc1 $at, $f0 -/* 0929EC 7F05DEBC 3C018005 */ lui $at, %hi(D_80053C2C) -/* 0929F0 7F05DEC0 C4263C2C */ lwc1 $f6, %lo(D_80053C2C)($at) -/* 0929F4 7F05DEC4 3C038008 */ lui $v1, %hi(pPlayer) -/* 0929F8 7F05DEC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0929FC 7F05DECC 46062202 */ mul.s $f8, $f4, $f6 -/* 092A00 7F05DED0 44815000 */ mtc1 $at, $f10 -/* 092A04 7F05DED4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 092A08 7F05DED8 8C620000 */ lw $v0, ($v1) -/* 092A0C 7F05DEDC C4521084 */ lwc1 $f18, 0x1084($v0) -/* 092A10 7F05DEE0 46085400 */ add.s $f16, $f10, $f8 -/* 092A14 7F05DEE4 46109103 */ div.s $f4, $f18, $f16 -/* 092A18 7F05DEE8 E4441084 */ swc1 $f4, 0x1084($v0) -/* 092A1C 7F05DEEC 8C620000 */ lw $v0, ($v1) -/* 092A20 7F05DEF0 C4461084 */ lwc1 $f6, 0x1084($v0) -/* 092A24 7F05DEF4 4600303C */ c.lt.s $f6, $f0 -/* 092A28 7F05DEF8 00000000 */ nop -/* 092A2C 7F05DEFC 4502001E */ bc1fl .L7F05DF78 -/* 092A30 7F05DF00 8FBF0014 */ lw $ra, 0x14($sp) -/* 092A34 7F05DF04 1000001B */ b .L7F05DF74 -/* 092A38 7F05DF08 E4401084 */ swc1 $f0, 0x1084($v0) -.L7F05DF0C: -/* 092A3C 7F05DF0C 0FC17691 */ jal return_ammo_in_hand -/* 092A40 7F05DF10 00002025 */ move $a0, $zero -/* 092A44 7F05DF14 24010028 */ li $at, 40 -/* 092A48 7F05DF18 14410016 */ bne $v0, $at, .L7F05DF74 -/* 092A4C 7F05DF1C C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 092A50 7F05DF20 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 092A54 7F05DF24 44810000 */ mtc1 $at, $f0 -/* 092A58 7F05DF28 3C018005 */ lui $at, %hi(D_80053C30) -/* 092A5C 7F05DF2C C4283C30 */ lwc1 $f8, %lo(D_80053C30)($at) -/* 092A60 7F05DF30 3C038008 */ lui $v1, %hi(pPlayer) -/* 092A64 7F05DF34 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 092A68 7F05DF38 46085482 */ mul.s $f18, $f10, $f8 -/* 092A6C 7F05DF3C 44818000 */ mtc1 $at, $f16 -/* 092A70 7F05DF40 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 092A74 7F05DF44 8C620000 */ lw $v0, ($v1) -/* 092A78 7F05DF48 C4461088 */ lwc1 $f6, 0x1088($v0) -/* 092A7C 7F05DF4C 46128100 */ add.s $f4, $f16, $f18 -/* 092A80 7F05DF50 46043283 */ div.s $f10, $f6, $f4 -/* 092A84 7F05DF54 E44A1088 */ swc1 $f10, 0x1088($v0) -/* 092A88 7F05DF58 8C620000 */ lw $v0, ($v1) -/* 092A8C 7F05DF5C C4481088 */ lwc1 $f8, 0x1088($v0) -/* 092A90 7F05DF60 4600403C */ c.lt.s $f8, $f0 -/* 092A94 7F05DF64 00000000 */ nop -/* 092A98 7F05DF68 45020003 */ bc1fl .L7F05DF78 -/* 092A9C 7F05DF6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 092AA0 7F05DF70 E4401088 */ swc1 $f0, 0x1088($v0) -.L7F05DF74: -/* 092AA4 7F05DF74 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05DF78: -/* 092AA8 7F05DF78 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092AAC 7F05DF7C 03E00008 */ jr $ra -/* 092AB0 7F05DF80 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DF84(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05DF84 -/* 092AB4 7F05DF84 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092AB8 7F05DF88 AFBF0014 */ sw $ra, 0x14($sp) -/* 092ABC 7F05DF8C 0FC1722D */ jal get_ptr_item_statistics -/* 092AC0 7F05DF90 00000000 */ nop -/* 092AC4 7F05DF94 8FBF0014 */ lw $ra, 0x14($sp) -/* 092AC8 7F05DF98 C440002C */ lwc1 $f0, 0x2c($v0) -/* 092ACC 7F05DF9C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092AD0 7F05DFA0 03E00008 */ jr $ra -/* 092AD4 7F05DFA4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05DFA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05DFA8 -/* 092AD8 7F05DFA8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092ADC 7F05DFAC AFBF0014 */ sw $ra, 0x14($sp) -/* 092AE0 7F05DFB0 0FC1722D */ jal get_ptr_item_statistics -/* 092AE4 7F05DFB4 00000000 */ nop -/* 092AE8 7F05DFB8 8FBF0014 */ lw $ra, 0x14($sp) -/* 092AEC 7F05DFBC C4400068 */ lwc1 $f0, 0x68($v0) -/* 092AF0 7F05DFC0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092AF4 7F05DFC4 03E00008 */ jr $ra -/* 092AF8 7F05DFC8 00000000 */ nop -) -#endif - - - - - -s8 get_automatic_firing_rate(int item) { - return get_ptr_item_statistics(item)->automatic_firing_rate; -} - - - - - -u8 get_sound_trigger_rate(int item) { - return get_ptr_item_statistics(item)->sound_trigger_rate; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05E014(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05E014 -/* 092B44 7F05E014 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092B48 7F05E018 AFBF0014 */ sw $ra, 0x14($sp) -/* 092B4C 7F05E01C 0FC1722D */ jal get_ptr_item_statistics -/* 092B50 7F05E020 00000000 */ nop -/* 092B54 7F05E024 8FBF0014 */ lw $ra, 0x14($sp) -/* 092B58 7F05E028 94420026 */ lhu $v0, 0x26($v0) -/* 092B5C 7F05E02C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092B60 7F05E030 03E00008 */ jr $ra -/* 092B64 7F05E034 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05E038(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05E038 -/* 092B68 7F05E038 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092B6C 7F05E03C AFBF0014 */ sw $ra, 0x14($sp) -/* 092B70 7F05E040 0FC1722D */ jal get_ptr_item_statistics -/* 092B74 7F05E044 00000000 */ nop -/* 092B78 7F05E048 8FBF0014 */ lw $ra, 0x14($sp) -/* 092B7C 7F05E04C 90420024 */ lbu $v0, 0x24($v0) -/* 092B80 7F05E050 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092B84 7F05E054 03E00008 */ jr $ra -/* 092B88 7F05E058 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_have_ammo_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_have_ammo_for_item -/* 092B8C 7F05E05C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092B90 7F05E060 AFBF0014 */ sw $ra, 0x14($sp) -/* 092B94 7F05E064 AFA40018 */ sw $a0, 0x18($sp) -/* 092B98 7F05E068 0FC1782D */ jal check_special_attributes -/* 092B9C 7F05E06C 3C050004 */ lui $a1, 4 -/* 092BA0 7F05E070 5040000C */ beql $v0, $zero, .L7F05E0A4 -/* 092BA4 7F05E074 00001025 */ move $v0, $zero -/* 092BA8 7F05E078 0FC1A50B */ jal get_ammo_type_for_weapon -/* 092BAC 7F05E07C 8FA40018 */ lw $a0, 0x18($sp) -/* 092BB0 7F05E080 10400005 */ beqz $v0, .L7F05E098 -/* 092BB4 7F05E084 00000000 */ nop -/* 092BB8 7F05E088 0FC1A514 */ jal get_ammo_count_for_weapon -/* 092BBC 7F05E08C 8FA40018 */ lw $a0, 0x18($sp) -/* 092BC0 7F05E090 58400004 */ blezl $v0, .L7F05E0A4 -/* 092BC4 7F05E094 00001025 */ move $v0, $zero -.L7F05E098: -/* 092BC8 7F05E098 10000002 */ b .L7F05E0A4 -/* 092BCC 7F05E09C 24020001 */ li $v0, 1 -/* 092BD0 7F05E0A0 00001025 */ move $v0, $zero -.L7F05E0A4: -/* 092BD4 7F05E0A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 092BD8 7F05E0A8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092BDC 7F05E0AC 03E00008 */ jr $ra -/* 092BE0 7F05E0B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_special_attributes(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_special_attributes -/* 092BE4 7F05E0B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 092BE8 7F05E0B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 092BEC 7F05E0BC 0FC1722D */ jal get_ptr_item_statistics -/* 092BF0 7F05E0C0 AFA5001C */ sw $a1, 0x1c($sp) -/* 092BF4 7F05E0C4 8C4E006C */ lw $t6, 0x6c($v0) -/* 092BF8 7F05E0C8 8FAF001C */ lw $t7, 0x1c($sp) -/* 092BFC 7F05E0CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 092C00 7F05E0D0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 092C04 7F05E0D4 01CF1024 */ and $v0, $t6, $t7 -/* 092C08 7F05E0D8 0002C02B */ sltu $t8, $zero, $v0 -/* 092C0C 7F05E0DC 03E00008 */ jr $ra -/* 092C10 7F05E0E0 03001025 */ move $v0, $t8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05E0E4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C34 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80053C38 -.word 0x3dcccccd /*0.1*/ -glabel D_80053C3C -.word 0x3dcccccd /*0.1*/ -glabel D_80053C40 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053C44 -.word 0x40333333 /*2.8*/ -glabel D_80053C48 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80053C4C -.word 0x3e4ccccd /*0.2*/ -glabel D_80053C50 -.word 0x3dcccccd /*0.1*/ -glabel D_80053C54 -.word 0x3e99999a /*0.30000001*/ -glabel D_80053C58 -.word 0x3e99999a /*0.30000001*/ -glabel D_80053C5C -.word 0x3f733333 /*0.94999999*/ -glabel D_80053C60 -.word 0x3f733333 /*0.94999999*/ -glabel D_80053C64 -.word 0x3d4cccd0 /*0.050000012*/ -glabel D_80053C68 -.word 0x3c888889 /*0.016666668*/ -glabel D_80053C6C -.word 0x3e4ccccd /*0.2*/ -glabel D_80053C70 -.word 0x3dcccccd /*0.1*/ -glabel D_80053C74 -.word 0xbdcccccd /*-0.1*/ -.text -glabel sub_GAME_7F05E0E4 -/* 092C14 7F05E0E4 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 092C18 7F05E0E8 AFA60070 */ sw $a2, 0x70($sp) -/* 092C1C 7F05E0EC C7A40070 */ lwc1 $f4, 0x70($sp) -/* 092C20 7F05E0F0 44803000 */ mtc1 $zero, $f6 -/* 092C24 7F05E0F4 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 092C28 7F05E0F8 46006586 */ mov.s $f22, $f12 -/* 092C2C 7F05E0FC 4606203C */ c.lt.s $f4, $f6 -/* 092C30 7F05E100 AFBF002C */ sw $ra, 0x2c($sp) -/* 092C34 7F05E104 AFB00028 */ sw $s0, 0x28($sp) -/* 092C38 7F05E108 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 092C3C 7F05E10C AFA70074 */ sw $a3, 0x74($sp) -/* 092C40 7F05E110 45000002 */ bc1f .L7F05E11C -/* 092C44 7F05E114 46002406 */ mov.s $f16, $f4 -/* 092C48 7F05E118 46002407 */ neg.s $f16, $f4 -.L7F05E11C: -/* 092C4C 7F05E11C 3C018005 */ lui $at, %hi(D_80053C34) -/* 092C50 7F05E120 C4283C34 */ lwc1 $f8, %lo(D_80053C34)($at) -/* 092C54 7F05E124 3C108008 */ lui $s0, %hi(pPlayer) -/* 092C58 7F05E128 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 092C5C 7F05E12C 460E403C */ c.lt.s $f8, $f14 -/* 092C60 7F05E130 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 092C64 7F05E134 45000005 */ bc1f .L7F05E14C -/* 092C68 7F05E138 00000000 */ nop -/* 092C6C 7F05E13C 4481A000 */ mtc1 $at, $f20 -/* 092C70 7F05E140 8E0E0000 */ lw $t6, ($s0) -/* 092C74 7F05E144 10000025 */ b .L7F05E1DC -/* 092C78 7F05E148 E5D40FC0 */ swc1 $f20, 0xfc0($t6) -.L7F05E14C: -/* 092C7C 7F05E14C 3C018005 */ lui $at, %hi(D_80053C3C) -/* 092C80 7F05E150 C4203C3C */ lwc1 $f0, %lo(D_80053C3C)($at) -/* 092C84 7F05E154 460E003C */ c.lt.s $f0, $f14 -/* 092C88 7F05E158 00000000 */ nop -/* 092C8C 7F05E15C 45000019 */ bc1f .L7F05E1C4 -/* 092C90 7F05E160 00000000 */ nop -/* 092C94 7F05E164 46007281 */ sub.s $f10, $f14, $f0 -/* 092C98 7F05E168 3C018005 */ lui $at, %hi(D_80053C40) -/* 092C9C 7F05E16C C4323C40 */ lwc1 $f18, %lo(D_80053C40)($at) -/* 092CA0 7F05E170 3C018005 */ lui $at, %hi(D_80053C44) -/* 092CA4 7F05E174 C4243C44 */ lwc1 $f4, %lo(D_80053C44)($at) -/* 092CA8 7F05E178 46125182 */ mul.s $f6, $f10, $f18 -/* 092CAC 7F05E17C E7B00050 */ swc1 $f16, 0x50($sp) -/* 092CB0 7F05E180 0FC15FA8 */ jal cosf -/* 092CB4 7F05E184 46043303 */ div.s $f12, $f6, $f4 -/* 092CB8 7F05E188 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 092CBC 7F05E18C 4481A000 */ mtc1 $at, $f20 -/* 092CC0 7F05E190 3C018005 */ lui $at, %hi(D_80053C48) -/* 092CC4 7F05E194 C4283C48 */ lwc1 $f8, %lo(D_80053C48)($at) -/* 092CC8 7F05E198 4600A281 */ sub.s $f10, $f20, $f0 -/* 092CCC 7F05E19C 3C018005 */ lui $at, %hi(D_80053C4C) -/* 092CD0 7F05E1A0 C4263C4C */ lwc1 $f6, %lo(D_80053C4C)($at) -/* 092CD4 7F05E1A4 3C108008 */ lui $s0, %hi(pPlayer) -/* 092CD8 7F05E1A8 460A4482 */ mul.s $f18, $f8, $f10 -/* 092CDC 7F05E1AC 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 092CE0 7F05E1B0 8E0F0000 */ lw $t7, ($s0) -/* 092CE4 7F05E1B4 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 092CE8 7F05E1B8 46069100 */ add.s $f4, $f18, $f6 -/* 092CEC 7F05E1BC 10000007 */ b .L7F05E1DC -/* 092CF0 7F05E1C0 E5E40FC0 */ swc1 $f4, 0xfc0($t7) -.L7F05E1C4: -/* 092CF4 7F05E1C4 3C108008 */ lui $s0, %hi(pPlayer) -/* 092CF8 7F05E1C8 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 092CFC 7F05E1CC 8E180000 */ lw $t8, ($s0) -/* 092D00 7F05E1D0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 092D04 7F05E1D4 4481A000 */ mtc1 $at, $f20 -/* 092D08 7F05E1D8 E7000FC0 */ swc1 $f0, 0xfc0($t8) -.L7F05E1DC: -/* 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) -/* 092D1C 7F05E1EC 8E030000 */ lw $v1, ($s0) -/* 092D20 7F05E1F0 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 092D24 7F05E1F4 46080282 */ mul.s $f10, $f0, $f8 -/* 092D28 7F05E1F8 C4620FC0 */ lwc1 $f2, 0xfc0($v1) -/* 092D2C 7F05E1FC 460A103C */ c.lt.s $f2, $f10 -/* 092D30 7F05E200 00000000 */ nop -/* 092D34 7F05E204 4502000C */ bc1fl .L7F05E238 -/* 092D38 7F05E208 3C013F00 */ lui $at, 0x3f00 -/* 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) -/* 092D4C 7F05E21C 8E190000 */ lw $t9, ($s0) -/* 092D50 7F05E220 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 092D54 7F05E224 46120182 */ mul.s $f6, $f0, $f18 -/* 092D58 7F05E228 E7260FC0 */ swc1 $f6, 0xfc0($t9) -/* 092D5C 7F05E22C 8E030000 */ lw $v1, ($s0) -/* 092D60 7F05E230 C4620FC0 */ lwc1 $f2, 0xfc0($v1) -/* 092D64 7F05E234 3C013F00 */ li $at, 0x3F000000 # 0.500000 -.L7F05E238: -/* 092D68 7F05E238 44812000 */ mtc1 $at, $f4 -/* 092D6C 7F05E23C 3C048005 */ lui $a0, %hi(clock_timer) -/* 092D70 7F05E240 24848374 */ addiu $a0, %lo(clock_timer) # addiu $a0, $a0, -0x7c8c -/* 092D74 7F05E244 46102002 */ mul.s $f0, $f4, $f16 -/* 092D78 7F05E248 4600103C */ c.lt.s $f2, $f0 -/* 092D7C 7F05E24C 00000000 */ nop -/* 092D80 7F05E250 45020003 */ bc1fl .L7F05E260 -/* 092D84 7F05E254 8C880000 */ lw $t0, ($a0) -/* 092D88 7F05E258 E4600FC0 */ swc1 $f0, 0xfc0($v1) -/* 092D8C 7F05E25C 8C880000 */ lw $t0, ($a0) -.L7F05E260: -/* 092D90 7F05E260 00001025 */ move $v0, $zero -/* 092D94 7F05E264 1900000E */ blez $t0, .L7F05E2A0 -/* 092D98 7F05E268 3C018005 */ lui $at, %hi(D_80053C5C) -/* 092D9C 7F05E26C C4203C5C */ lwc1 $f0, %lo(D_80053C5C)($at) -/* 092DA0 7F05E270 8E030000 */ lw $v1, ($s0) -.L7F05E274: -/* 092DA4 7F05E274 24420001 */ addiu $v0, $v0, 1 -/* 092DA8 7F05E278 C4681080 */ lwc1 $f8, 0x1080($v1) -/* 092DAC 7F05E27C C4720FC0 */ lwc1 $f18, 0xfc0($v1) -/* 092DB0 7F05E280 46004282 */ mul.s $f10, $f8, $f0 -/* 092DB4 7F05E284 46125180 */ add.s $f6, $f10, $f18 -/* 092DB8 7F05E288 E4661080 */ swc1 $f6, 0x1080($v1) -/* 092DBC 7F05E28C 8C890000 */ lw $t1, ($a0) -/* 092DC0 7F05E290 0049082A */ slt $at, $v0, $t1 -/* 092DC4 7F05E294 5420FFF7 */ bnezl $at, .L7F05E274 -/* 092DC8 7F05E298 8E030000 */ lw $v1, ($s0) -/* 092DCC 7F05E29C 00001025 */ move $v0, $zero -.L7F05E2A0: -/* 092DD0 7F05E2A0 8E030000 */ lw $v1, ($s0) -/* 092DD4 7F05E2A4 3C018005 */ lui $at, %hi(D_80053C60) -/* 092DD8 7F05E2A8 C4203C60 */ lwc1 $f0, %lo(D_80053C60)($at) -/* 092DDC 7F05E2AC 3C018005 */ lui $at, %hi(D_80053C64) -/* 092DE0 7F05E2B0 C42C3C64 */ lwc1 $f12, %lo(D_80053C64)($at) -/* 092DE4 7F05E2B4 C4641080 */ lwc1 $f4, 0x1080($v1) -/* 092DE8 7F05E2B8 3C018005 */ lui $at, %hi(D_80053C68) -/* 092DEC 7F05E2BC 460C2202 */ mul.s $f8, $f4, $f12 -/* 092DF0 7F05E2C0 E4680FC0 */ swc1 $f8, 0xfc0($v1) -/* 092DF4 7F05E2C4 C42A3C68 */ lwc1 $f10, %lo(D_80053C68)($at) -/* 092DF8 7F05E2C8 46105082 */ mul.s $f2, $f10, $f16 -/* 092DFC 7F05E2CC 4602B03C */ c.lt.s $f22, $f2 -/* 092E00 7F05E2D0 00000000 */ nop -/* 092E04 7F05E2D4 45020003 */ bc1fl .L7F05E2E4 -/* 092E08 7F05E2D8 8C8A0000 */ lw $t2, ($a0) -/* 092E0C 7F05E2DC 46001586 */ mov.s $f22, $f2 -/* 092E10 7F05E2E0 8C8A0000 */ lw $t2, ($a0) -.L7F05E2E4: -/* 092E14 7F05E2E4 5940000C */ blezl $t2, .L7F05E318 -/* 092E18 7F05E2E8 8E030000 */ lw $v1, ($s0) -/* 092E1C 7F05E2EC 8E030000 */ lw $v1, ($s0) -.L7F05E2F0: -/* 092E20 7F05E2F0 24420001 */ addiu $v0, $v0, 1 -/* 092E24 7F05E2F4 C472107C */ lwc1 $f18, 0x107c($v1) -/* 092E28 7F05E2F8 46009182 */ mul.s $f6, $f18, $f0 -/* 092E2C 7F05E2FC 46163100 */ add.s $f4, $f6, $f22 -/* 092E30 7F05E300 E464107C */ swc1 $f4, 0x107c($v1) -/* 092E34 7F05E304 8C8B0000 */ lw $t3, ($a0) -/* 092E38 7F05E308 004B082A */ slt $at, $v0, $t3 -/* 092E3C 7F05E30C 5420FFF8 */ bnezl $at, .L7F05E2F0 -/* 092E40 7F05E310 8E030000 */ lw $v1, ($s0) -/* 092E44 7F05E314 8E030000 */ lw $v1, ($s0) -.L7F05E318: -/* 092E48 7F05E318 3C018005 */ lui $at, %hi(global_timer_delta) -/* 092E4C 7F05E31C C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 092E50 7F05E320 C468107C */ lwc1 $f8, 0x107c($v1) -/* 092E54 7F05E324 460C4582 */ mul.s $f22, $f8, $f12 -/* 092E58 7F05E328 00000000 */ nop -/* 092E5C 7F05E32C 4600B282 */ mul.s $f10, $f22, $f0 -/* 092E60 7F05E330 E7AA004C */ swc1 $f10, 0x4c($sp) -/* 092E64 7F05E334 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 092E68 7F05E338 C4720A0C */ lwc1 $f18, 0xa0c($v1) -/* 092E6C 7F05E33C 46069100 */ add.s $f4, $f18, $f6 -/* 092E70 7F05E340 E7A40060 */ swc1 $f4, 0x60($sp) -/* 092E74 7F05E344 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 092E78 7F05E348 4608A03E */ c.le.s $f20, $f8 -/* 092E7C 7F05E34C 00000000 */ nop -/* 092E80 7F05E350 45000012 */ bc1f .L7F05E39C -/* 092E84 7F05E354 00000000 */ nop -.L7F05E358: -/* 092E88 7F05E358 0FC17260 */ jal unknown_takes_playerhand -/* 092E8C 7F05E35C 00002025 */ move $a0, $zero -/* 092E90 7F05E360 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 092E94 7F05E364 8E030000 */ lw $v1, ($s0) -/* 092E98 7F05E368 46145481 */ sub.s $f18, $f10, $f20 -/* 092E9C 7F05E36C E7B20060 */ swc1 $f18, 0x60($sp) -/* 092EA0 7F05E370 8C6C1078 */ lw $t4, 0x1078($v1) -/* 092EA4 7F05E374 258D0001 */ addiu $t5, $t4, 1 -/* 092EA8 7F05E378 AC6D1078 */ sw $t5, 0x1078($v1) -/* 092EAC 7F05E37C C7A60060 */ lwc1 $f6, 0x60($sp) -/* 092EB0 7F05E380 4606A03E */ c.le.s $f20, $f6 -/* 092EB4 7F05E384 00000000 */ nop -/* 092EB8 7F05E388 4501FFF3 */ bc1t .L7F05E358 -/* 092EBC 7F05E38C 00000000 */ nop -/* 092EC0 7F05E390 3C018005 */ lui $at, %hi(global_timer_delta) -/* 092EC4 7F05E394 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 092EC8 7F05E398 8E030000 */ lw $v1, ($s0) -.L7F05E39C: -/* 092ECC 7F05E39C C4641074 */ lwc1 $f4, 0x1074($v1) -/* 092ED0 7F05E3A0 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 092ED4 7F05E3A4 4481B000 */ mtc1 $at, $f22 -/* 092ED8 7F05E3A8 46002200 */ add.s $f8, $f4, $f0 -/* 092EDC 7F05E3AC E4681074 */ swc1 $f8, 0x1074($v1) -/* 092EE0 7F05E3B0 8E030000 */ lw $v1, ($s0) -/* 092EE4 7F05E3B4 C46A1074 */ lwc1 $f10, 0x1074($v1) -/* 092EE8 7F05E3B8 460AB03C */ c.lt.s $f22, $f10 -/* 092EEC 7F05E3BC 00000000 */ nop -/* 092EF0 7F05E3C0 45020019 */ bc1fl .L7F05E428 -/* 092EF4 7F05E3C4 C4601070 */ lwc1 $f0, 0x1070($v1) -/* 092EF8 7F05E3C8 44809000 */ mtc1 $zero, $f18 -/* 092EFC 7F05E3CC 0C002914 */ jal get_random_value -/* 092F00 7F05E3D0 E4721074 */ swc1 $f18, 0x1074($v1) -/* 092F04 7F05E3D4 44823000 */ mtc1 $v0, $f6 -/* 092F08 7F05E3D8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 092F0C 7F05E3DC 04410004 */ bgez $v0, .L7F05E3F0 -/* 092F10 7F05E3E0 46803120 */ cvt.s.w $f4, $f6 -/* 092F14 7F05E3E4 44814000 */ mtc1 $at, $f8 -/* 092F18 7F05E3E8 00000000 */ nop -/* 092F1C 7F05E3EC 46082100 */ add.s $f4, $f4, $f8 -.L7F05E3F0: -/* 092F20 7F05E3F0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 092F24 7F05E3F4 44815000 */ mtc1 $at, $f10 -/* 092F28 7F05E3F8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 092F2C 7F05E3FC 44813000 */ mtc1 $at, $f6 -/* 092F30 7F05E400 460A2482 */ mul.s $f18, $f4, $f10 -/* 092F34 7F05E404 3C018005 */ lui $at, %hi(D_80053C6C) -/* 092F38 7F05E408 C4243C6C */ lwc1 $f4, %lo(D_80053C6C)($at) -/* 092F3C 7F05E40C 8E0E0000 */ lw $t6, ($s0) -/* 092F40 7F05E410 46069201 */ sub.s $f8, $f18, $f6 -/* 092F44 7F05E414 46044282 */ mul.s $f10, $f8, $f4 -/* 092F48 7F05E418 46165483 */ div.s $f18, $f10, $f22 -/* 092F4C 7F05E41C E5D21070 */ swc1 $f18, 0x1070($t6) -/* 092F50 7F05E420 8E030000 */ lw $v1, ($s0) -/* 092F54 7F05E424 C4601070 */ lwc1 $f0, 0x1070($v1) -.L7F05E428: -/* 092F58 7F05E428 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 092F5C 7F05E42C 44803000 */ mtc1 $zero, $f6 -/* 092F60 7F05E430 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 092F64 7F05E434 46080100 */ add.s $f4, $f0, $f8 -/* 092F68 7F05E438 44814000 */ mtc1 $at, $f8 -/* 092F6C 7F05E43C 4604303C */ c.lt.s $f6, $f4 -/* 092F70 7F05E440 00000000 */ nop -/* 092F74 7F05E444 45020006 */ bc1fl .L7F05E460 -/* 092F78 7F05E448 C460106C */ lwc1 $f0, 0x106c($v1) -/* 092F7C 7F05E44C C46A106C */ lwc1 $f10, 0x106c($v1) -/* 092F80 7F05E450 46005480 */ add.s $f18, $f10, $f0 -/* 092F84 7F05E454 E472106C */ swc1 $f18, 0x106c($v1) -/* 092F88 7F05E458 8E030000 */ lw $v1, ($s0) -/* 092F8C 7F05E45C C460106C */ lwc1 $f0, 0x106c($v1) -.L7F05E460: -/* 092F90 7F05E460 4600403C */ c.lt.s $f8, $f0 -/* 092F94 7F05E464 00000000 */ nop -/* 092F98 7F05E468 45000007 */ bc1f .L7F05E488 -/* 092F9C 7F05E46C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 092FA0 7F05E470 44813000 */ mtc1 $at, $f6 -/* 092FA4 7F05E474 00000000 */ nop -/* 092FA8 7F05E478 E466106C */ swc1 $f6, 0x106c($v1) -/* 092FAC 7F05E47C 8E030000 */ lw $v1, ($s0) -/* 092FB0 7F05E480 10000024 */ b .L7F05E514 -/* 092FB4 7F05E484 C460106C */ lwc1 $f0, 0x106c($v1) -.L7F05E488: -/* 092FB8 7F05E488 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 092FBC 7F05E48C 44811000 */ mtc1 $at, $f2 -/* 092FC0 7F05E490 3C018005 */ lui $at, %hi(D_80053C70) -/* 092FC4 7F05E494 4602003C */ c.lt.s $f0, $f2 -/* 092FC8 7F05E498 00000000 */ nop -/* 092FCC 7F05E49C 45000005 */ bc1f .L7F05E4B4 -/* 092FD0 7F05E4A0 00000000 */ nop -/* 092FD4 7F05E4A4 E462106C */ swc1 $f2, 0x106c($v1) -/* 092FD8 7F05E4A8 8E030000 */ lw $v1, ($s0) -/* 092FDC 7F05E4AC 10000019 */ b .L7F05E514 -/* 092FE0 7F05E4B0 C460106C */ lwc1 $f0, 0x106c($v1) -.L7F05E4B4: -/* 092FE4 7F05E4B4 C42C3C70 */ lwc1 $f12, %lo(D_80053C70)($at) -/* 092FE8 7F05E4B8 3C018005 */ lui $at, %hi(D_80053C74) -/* 092FEC 7F05E4BC 460C003C */ c.lt.s $f0, $f12 -/* 092FF0 7F05E4C0 00000000 */ nop -/* 092FF4 7F05E4C4 45020014 */ bc1fl .L7F05E518 -/* 092FF8 7F05E4C8 8C6F1078 */ lw $t7, 0x1078($v1) -/* 092FFC 7F05E4CC C4223C74 */ lwc1 $f2, %lo(D_80053C74)($at) -/* 093000 7F05E4D0 4600103C */ c.lt.s $f2, $f0 -/* 093004 7F05E4D4 00000000 */ nop -/* 093008 7F05E4D8 4502000F */ bc1fl .L7F05E518 -/* 09300C 7F05E4DC 8C6F1078 */ lw $t7, 0x1078($v1) -/* 093010 7F05E4E0 44802000 */ mtc1 $zero, $f4 -/* 093014 7F05E4E4 00000000 */ nop -/* 093018 7F05E4E8 4600203C */ c.lt.s $f4, $f0 -/* 09301C 7F05E4EC 00000000 */ nop -/* 093020 7F05E4F0 45020006 */ bc1fl .L7F05E50C -/* 093024 7F05E4F4 E46C106C */ swc1 $f12, 0x106c($v1) -/* 093028 7F05E4F8 E462106C */ swc1 $f2, 0x106c($v1) -/* 09302C 7F05E4FC 8E030000 */ lw $v1, ($s0) -/* 093030 7F05E500 10000004 */ b .L7F05E514 -/* 093034 7F05E504 C460106C */ lwc1 $f0, 0x106c($v1) -/* 093038 7F05E508 E46C106C */ swc1 $f12, 0x106c($v1) -.L7F05E50C: -/* 09303C 7F05E50C 8E030000 */ lw $v1, ($s0) -/* 093040 7F05E510 C460106C */ lwc1 $f0, 0x106c($v1) -.L7F05E514: -/* 093044 7F05E514 8C6F1078 */ lw $t7, 0x1078($v1) -.L7F05E518: -/* 093048 7F05E518 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 09304C 7F05E51C 448F9000 */ mtc1 $t7, $f18 -/* 093050 7F05E520 00000000 */ nop -/* 093054 7F05E524 46809220 */ cvt.s.w $f8, $f18 -/* 093058 7F05E528 46085180 */ add.s $f6, $f10, $f8 -/* 09305C 7F05E52C 46003100 */ add.s $f4, $f6, $f0 -/* 093060 7F05E530 4604A03E */ c.le.s $f20, $f4 -/* 093064 7F05E534 E7A40064 */ swc1 $f4, 0x64($sp) -/* 093068 7F05E538 45020010 */ bc1fl .L7F05E57C -/* 09306C 7F05E53C 3C01BFE0 */ lui $at, 0xbfe0 -.L7F05E540: -/* 093070 7F05E540 0FC17260 */ jal unknown_takes_playerhand -/* 093074 7F05E544 24040001 */ li $a0, 1 -/* 093078 7F05E548 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 09307C 7F05E54C 8E030000 */ lw $v1, ($s0) -/* 093080 7F05E550 46149281 */ sub.s $f10, $f18, $f20 -/* 093084 7F05E554 E7AA0064 */ swc1 $f10, 0x64($sp) -/* 093088 7F05E558 8C781078 */ lw $t8, 0x1078($v1) -/* 09308C 7F05E55C 2719FFFF */ addiu $t9, $t8, -1 -/* 093090 7F05E560 AC791078 */ sw $t9, 0x1078($v1) -/* 093094 7F05E564 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 093098 7F05E568 4608A03E */ c.le.s $f20, $f8 -/* 09309C 7F05E56C 00000000 */ nop -/* 0930A0 7F05E570 4501FFF3 */ bc1t .L7F05E540 -/* 0930A4 7F05E574 00000000 */ nop -/* 0930A8 7F05E578 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 -.L7F05E57C: -/* 0930AC 7F05E57C 44813000 */ mtc1 $at, $f6 -/* 0930B0 7F05E580 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 0930B4 7F05E584 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 0930B8 7F05E588 44819000 */ mtc1 $at, $f18 -/* 0930BC 7F05E58C C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 0930C0 7F05E590 46043002 */ mul.s $f0, $f6, $f4 -/* 0930C4 7F05E594 00001025 */ move $v0, $zero -/* 0930C8 7F05E598 27A30060 */ addiu $v1, $sp, 0x60 -/* 0930CC 7F05E59C 460A9082 */ mul.s $f2, $f18, $f10 -/* 0930D0 7F05E5A0 27A40068 */ addiu $a0, $sp, 0x68 -.L7F05E5A4: -/* 0930D4 7F05E5A4 8E080000 */ lw $t0, ($s0) -/* 0930D8 7F05E5A8 C4680000 */ lwc1 $f8, ($v1) -/* 0930DC 7F05E5AC 24630004 */ addiu $v1, $v1, 4 -/* 0930E0 7F05E5B0 01024821 */ addu $t1, $t0, $v0 -/* 0930E4 7F05E5B4 E5280A0C */ swc1 $f8, 0xa0c($t1) -/* 0930E8 7F05E5B8 8E0A0000 */ lw $t2, ($s0) -/* 0930EC 7F05E5BC 01425821 */ addu $t3, $t2, $v0 -/* 0930F0 7F05E5C0 E5600A1C */ swc1 $f0, 0xa1c($t3) -/* 0930F4 7F05E5C4 8E0C0000 */ lw $t4, ($s0) -/* 0930F8 7F05E5C8 01826821 */ addu $t5, $t4, $v0 -/* 0930FC 7F05E5CC 244203A8 */ addiu $v0, $v0, 0x3a8 -/* 093100 7F05E5D0 1464FFF4 */ bne $v1, $a0, .L7F05E5A4 -/* 093104 7F05E5D4 E5A20A20 */ swc1 $f2, 0xa20($t5) -/* 093108 7F05E5D8 8FBF002C */ lw $ra, 0x2c($sp) -/* 09310C 7F05E5DC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 093110 7F05E5E0 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 093114 7F05E5E4 8FB00028 */ lw $s0, 0x28($sp) -/* 093118 7F05E5E8 03E00008 */ jr $ra -/* 09311C 7F05E5EC 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05E5F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05E5F0 -/* 093120 7F05E5F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 093124 7F05E5F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 093128 7F05E5F8 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 09312C 7F05E5FC 0FC15FA8 */ jal cosf -/* 093130 7F05E600 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 093134 7F05E604 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 093138 7F05E608 44812000 */ mtc1 $at, $f4 -/* 09313C 7F05E60C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 093140 7F05E610 44814000 */ mtc1 $at, $f8 -/* 093144 7F05E614 46002181 */ sub.s $f6, $f4, $f0 -/* 093148 7F05E618 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09314C 7F05E61C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 093150 7F05E620 46083282 */ mul.s $f10, $f6, $f8 -/* 093154 7F05E624 E5CA0A30 */ swc1 $f10, 0xa30($t6) -/* 093158 7F05E628 0FC15FA8 */ jal cosf -/* 09315C 7F05E62C C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 093160 7F05E630 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 093164 7F05E634 44818000 */ mtc1 $at, $f16 -/* 093168 7F05E638 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 09316C 7F05E63C 44812000 */ mtc1 $at, $f4 -/* 093170 7F05E640 46008481 */ sub.s $f18, $f16, $f0 -/* 093174 7F05E644 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 093178 7F05E648 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 09317C 7F05E64C 46049182 */ mul.s $f6, $f18, $f4 -/* 093180 7F05E650 E5E60DD8 */ swc1 $f6, 0xdd8($t7) -/* 093184 7F05E654 8FBF0014 */ lw $ra, 0x14($sp) -/* 093188 7F05E658 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09318C 7F05E65C 03E00008 */ jr $ra -/* 093190 7F05E660 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_value_if_watch_is_on_hand_or_not(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C78 -.word 0x3db2b8c3 /*0.087266468*/ -glabel D_80053C7C -.word 0x3e32b8c3 /*0.17453294*/ -.text -glabel get_value_if_watch_is_on_hand_or_not -/* 093194 7F05E664 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 093198 7F05E668 AFBF0014 */ sw $ra, 0x14($sp) -/* 09319C 7F05E66C 0FC17674 */ jal get_item_in_hand -/* 0931A0 7F05E670 AFA40018 */ sw $a0, 0x18($sp) -/* 0931A4 7F05E674 2401001E */ li $at, 30 -/* 0931A8 7F05E678 10410005 */ beq $v0, $at, .L7F05E690 -/* 0931AC 7F05E67C 00000000 */ nop -/* 0931B0 7F05E680 0FC17674 */ jal get_item_in_hand -/* 0931B4 7F05E684 8FA40018 */ lw $a0, 0x18($sp) -/* 0931B8 7F05E688 24010017 */ li $at, 23 -/* 0931BC 7F05E68C 14410003 */ bne $v0, $at, .L7F05E69C -.L7F05E690: -/* 0931C0 7F05E690 3C018005 */ lui $at, %hi(D_80053C78) -/* 0931C4 7F05E694 10000003 */ b .L7F05E6A4 -/* 0931C8 7F05E698 C4203C78 */ lwc1 $f0, %lo(D_80053C78)($at) -.L7F05E69C: -/* 0931CC 7F05E69C 3C018005 */ lui $at, %hi(D_80053C7C) -/* 0931D0 7F05E6A0 C4203C7C */ lwc1 $f0, %lo(D_80053C7C)($at) -.L7F05E6A4: -/* 0931D4 7F05E6A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0931D8 7F05E6A8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0931DC 7F05E6AC 03E00008 */ jr $ra -/* 0931E0 7F05E6B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05E6B4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C80 -.word 0x3cee4baf /*0.029088823*/ -glabel D_80053C84 -.word 0x3c8efa36 /*0.017453294*/ -.text -glabel sub_GAME_7F05E6B4 -/* 0931E4 7F05E6B4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0931E8 7F05E6B8 10A0002F */ beqz $a1, .L7F05E778 -/* 0931EC 7F05E6BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0931F0 7F05E6C0 0FC17999 */ jal get_value_if_watch_is_on_hand_or_not -/* 0931F4 7F05E6C4 AFA40020 */ sw $a0, 0x20($sp) -/* 0931F8 7F05E6C8 8FA40020 */ lw $a0, 0x20($sp) -/* 0931FC 7F05E6CC 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 093200 7F05E6D0 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 093204 7F05E6D4 000418C0 */ sll $v1, $a0, 3 -/* 093208 7F05E6D8 00641823 */ subu $v1, $v1, $a0 -/* 09320C 7F05E6DC 00031880 */ sll $v1, $v1, 2 -/* 093210 7F05E6E0 00641821 */ addu $v1, $v1, $a0 -/* 093214 7F05E6E4 00031880 */ sll $v1, $v1, 2 -/* 093218 7F05E6E8 00641821 */ addu $v1, $v1, $a0 -/* 09321C 7F05E6EC 000318C0 */ sll $v1, $v1, 3 -/* 093220 7F05E6F0 01C31021 */ addu $v0, $t6, $v1 -/* 093224 7F05E6F4 C4420A84 */ lwc1 $f2, 0xa84($v0) -/* 093228 7F05E6F8 3C018005 */ lui $at, %hi(D_80053C80) -/* 09322C 7F05E6FC 4600103C */ c.lt.s $f2, $f0 -/* 093230 7F05E700 00000000 */ nop -/* 093234 7F05E704 45020008 */ bc1fl .L7F05E728 -/* 093238 7F05E708 AFA3001C */ sw $v1, 0x1c($sp) -/* 09323C 7F05E70C C4243C80 */ lwc1 $f4, %lo(D_80053C80)($at) -/* 093240 7F05E710 3C018005 */ lui $at, %hi(global_timer_delta) -/* 093244 7F05E714 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 093248 7F05E718 46062202 */ mul.s $f8, $f4, $f6 -/* 09324C 7F05E71C 46081280 */ add.s $f10, $f2, $f8 -/* 093250 7F05E720 E44A0A84 */ swc1 $f10, 0xa84($v0) -/* 093254 7F05E724 AFA3001C */ sw $v1, 0x1c($sp) -.L7F05E728: -/* 093258 7F05E728 0FC17999 */ jal get_value_if_watch_is_on_hand_or_not -/* 09325C 7F05E72C AFA40020 */ sw $a0, 0x20($sp) -/* 093260 7F05E730 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 093264 7F05E734 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 093268 7F05E738 8FA3001C */ lw $v1, 0x1c($sp) -/* 09326C 7F05E73C 8FA40020 */ lw $a0, 0x20($sp) -/* 093270 7F05E740 01E3C021 */ addu $t8, $t7, $v1 -/* 093274 7F05E744 C7100A84 */ lwc1 $f16, 0xa84($t8) -/* 093278 7F05E748 4610003C */ c.lt.s $f0, $f16 -/* 09327C 7F05E74C 00000000 */ nop -/* 093280 7F05E750 4502002A */ bc1fl .L7F05E7FC -/* 093284 7F05E754 8FBF0014 */ lw $ra, 0x14($sp) -/* 093288 7F05E758 0FC17999 */ jal get_value_if_watch_is_on_hand_or_not -/* 09328C 7F05E75C AFA3001C */ sw $v1, 0x1c($sp) -/* 093290 7F05E760 3C198008 */ lui $t9, %hi(pPlayer) -/* 093294 7F05E764 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 093298 7F05E768 8FA3001C */ lw $v1, 0x1c($sp) -/* 09329C 7F05E76C 03234021 */ addu $t0, $t9, $v1 -/* 0932A0 7F05E770 10000021 */ b .L7F05E7F8 -/* 0932A4 7F05E774 E5000A84 */ swc1 $f0, 0xa84($t0) -.L7F05E778: -/* 0932A8 7F05E778 000418C0 */ sll $v1, $a0, 3 -/* 0932AC 7F05E77C 00641823 */ subu $v1, $v1, $a0 -/* 0932B0 7F05E780 00031880 */ sll $v1, $v1, 2 -/* 0932B4 7F05E784 00641821 */ addu $v1, $v1, $a0 -/* 0932B8 7F05E788 3C098008 */ lui $t1, %hi(pPlayer) -/* 0932BC 7F05E78C 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0932C0 7F05E790 00031880 */ sll $v1, $v1, 2 -/* 0932C4 7F05E794 00641821 */ addu $v1, $v1, $a0 -/* 0932C8 7F05E798 000318C0 */ sll $v1, $v1, 3 -/* 0932CC 7F05E79C 01231021 */ addu $v0, $t1, $v1 -/* 0932D0 7F05E7A0 44800000 */ mtc1 $zero, $f0 -/* 0932D4 7F05E7A4 C4420A84 */ lwc1 $f2, 0xa84($v0) -/* 0932D8 7F05E7A8 3C018005 */ lui $at, %hi(D_80053C84) -/* 0932DC 7F05E7AC 4602003C */ c.lt.s $f0, $f2 -/* 0932E0 7F05E7B0 00000000 */ nop -/* 0932E4 7F05E7B4 4502000C */ bc1fl .L7F05E7E8 -/* 0932E8 7F05E7B8 4600103C */ c.lt.s $f2, $f0 -/* 0932EC 7F05E7BC C4323C84 */ lwc1 $f18, %lo(D_80053C84)($at) -/* 0932F0 7F05E7C0 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0932F4 7F05E7C4 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 0932F8 7F05E7C8 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0932FC 7F05E7CC 46049182 */ mul.s $f6, $f18, $f4 -/* 093300 7F05E7D0 46061201 */ sub.s $f8, $f2, $f6 -/* 093304 7F05E7D4 E4480A84 */ swc1 $f8, 0xa84($v0) -/* 093308 7F05E7D8 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 09330C 7F05E7DC 01431021 */ addu $v0, $t2, $v1 -/* 093310 7F05E7E0 C4420A84 */ lwc1 $f2, 0xa84($v0) -/* 093314 7F05E7E4 4600103C */ c.lt.s $f2, $f0 -.L7F05E7E8: -/* 093318 7F05E7E8 00000000 */ nop -/* 09331C 7F05E7EC 45020003 */ bc1fl .L7F05E7FC -/* 093320 7F05E7F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 093324 7F05E7F4 E4400A84 */ swc1 $f0, 0xa84($v0) -.L7F05E7F8: -/* 093328 7F05E7F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05E7FC: -/* 09332C 7F05E7FC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 093330 7F05E800 03E00008 */ jr $ra -/* 093334 7F05E804 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05E808(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05E808 -/* 093338 7F05E808 0004C0C0 */ sll $t8, $a0, 3 -/* 09333C 7F05E80C 0304C023 */ subu $t8, $t8, $a0 -/* 093340 7F05E810 0018C080 */ sll $t8, $t8, 2 -/* 093344 7F05E814 0304C021 */ addu $t8, $t8, $a0 -/* 093348 7F05E818 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 09334C 7F05E81C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 093350 7F05E820 0018C080 */ sll $t8, $t8, 2 -/* 093354 7F05E824 0304C021 */ addu $t8, $t8, $a0 -/* 093358 7F05E828 0018C0C0 */ sll $t8, $t8, 3 -/* 09335C 7F05E82C 240E0001 */ li $t6, 1 -/* 093360 7F05E830 01F8C821 */ addu $t9, $t7, $t8 -/* 093364 7F05E834 03E00008 */ jr $ra -/* 093368 7F05E838 AF2E0A8C */ sw $t6, 0xa8c($t9) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05E83C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C88 -.word 0x3e2aaaab /*0.16666667*/ -.text -glabel sub_GAME_7F05E83C -/* 09336C 7F05E83C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 093370 7F05E840 AFBF0014 */ sw $ra, 0x14($sp) -/* 093374 7F05E844 0FC17691 */ jal return_ammo_in_hand -/* 093378 7F05E848 AFA40018 */ sw $a0, 0x18($sp) -/* 09337C 7F05E84C 0FC1722D */ jal get_ptr_item_statistics -/* 093380 7F05E850 00402025 */ move $a0, $v0 -/* 093384 7F05E854 8FA40018 */ lw $a0, 0x18($sp) -/* 093388 7F05E858 3C058008 */ lui $a1, %hi(pPlayer) -/* 09338C 7F05E85C 24A5A0B0 */ addiu $a1, %lo(pPlayer) # addiu $a1, $a1, -0x5f50 -/* 093390 7F05E860 000470C0 */ sll $t6, $a0, 3 -/* 093394 7F05E864 01C47023 */ subu $t6, $t6, $a0 -/* 093398 7F05E868 000E7080 */ sll $t6, $t6, 2 -/* 09339C 7F05E86C 01C47021 */ addu $t6, $t6, $a0 -/* 0933A0 7F05E870 8CAF0000 */ lw $t7, ($a1) -/* 0933A4 7F05E874 000E7080 */ sll $t6, $t6, 2 -/* 0933A8 7F05E878 01C47021 */ addu $t6, $t6, $a0 -/* 0933AC 7F05E87C 000E70C0 */ sll $t6, $t6, 3 -/* 0933B0 7F05E880 01EE1821 */ addu $v1, $t7, $t6 -/* 0933B4 7F05E884 8C780A8C */ lw $t8, 0xa8c($v1) -/* 0933B8 7F05E888 C4420050 */ lwc1 $f2, 0x50($v0) -/* 0933BC 7F05E88C 01C02025 */ move $a0, $t6 -/* 0933C0 7F05E890 5300001C */ beql $t8, $zero, .L7F05E904 -/* 0933C4 7F05E894 8C6A089C */ lw $t2, 0x89c($v1) -/* 0933C8 7F05E898 C4600A88 */ lwc1 $f0, 0xa88($v1) -/* 0933CC 7F05E89C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0933D0 7F05E8A0 4602003C */ c.lt.s $f0, $f2 -/* 0933D4 7F05E8A4 00000000 */ nop -/* 0933D8 7F05E8A8 4502000D */ bc1fl .L7F05E8E0 -/* 0933DC 7F05E8AC 4600103E */ c.le.s $f2, $f0 -/* 0933E0 7F05E8B0 44812000 */ mtc1 $at, $f4 -/* 0933E4 7F05E8B4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0933E8 7F05E8B8 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0933EC 7F05E8BC 46041182 */ mul.s $f6, $f2, $f4 -/* 0933F0 7F05E8C0 00000000 */ nop -/* 0933F4 7F05E8C4 46083282 */ mul.s $f10, $f6, $f8 -/* 0933F8 7F05E8C8 460A0400 */ add.s $f16, $f0, $f10 -/* 0933FC 7F05E8CC E4700A88 */ swc1 $f16, 0xa88($v1) -/* 093400 7F05E8D0 8CB90000 */ lw $t9, ($a1) -/* 093404 7F05E8D4 032E1821 */ addu $v1, $t9, $t6 -/* 093408 7F05E8D8 C4600A88 */ lwc1 $f0, 0xa88($v1) -/* 09340C 7F05E8DC 4600103E */ c.le.s $f2, $f0 -.L7F05E8E0: -/* 093410 7F05E8E0 00000000 */ nop -/* 093414 7F05E8E4 45020021 */ bc1fl .L7F05E96C -/* 093418 7F05E8E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 09341C 7F05E8EC E4620A88 */ swc1 $f2, 0xa88($v1) -/* 093420 7F05E8F0 8CA80000 */ lw $t0, ($a1) -/* 093424 7F05E8F4 01044821 */ addu $t1, $t0, $a0 -/* 093428 7F05E8F8 1000001B */ b .L7F05E968 -/* 09342C 7F05E8FC AD200A8C */ sw $zero, 0xa8c($t1) -/* 093430 7F05E900 8C6A089C */ lw $t2, 0x89c($v1) -.L7F05E904: -/* 093434 7F05E904 59400019 */ blezl $t2, .L7F05E96C -/* 093438 7F05E908 8FBF0014 */ lw $ra, 0x14($sp) -/* 09343C 7F05E90C 44806000 */ mtc1 $zero, $f12 -/* 093440 7F05E910 C4600A88 */ lwc1 $f0, 0xa88($v1) -/* 093444 7F05E914 3C018005 */ lui $at, %hi(D_80053C88) -/* 093448 7F05E918 4600603C */ c.lt.s $f12, $f0 -/* 09344C 7F05E91C 00000000 */ nop -/* 093450 7F05E920 4502000D */ bc1fl .L7F05E958 -/* 093454 7F05E924 460C003C */ c.lt.s $f0, $f12 -/* 093458 7F05E928 C4323C88 */ lwc1 $f18, %lo(D_80053C88)($at) -/* 09345C 7F05E92C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 093460 7F05E930 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 093464 7F05E934 46121102 */ mul.s $f4, $f2, $f18 -/* 093468 7F05E938 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 09346C 7F05E93C 46062202 */ mul.s $f8, $f4, $f6 -/* 093470 7F05E940 46080281 */ sub.s $f10, $f0, $f8 -/* 093474 7F05E944 E46A0A88 */ swc1 $f10, 0xa88($v1) -/* 093478 7F05E948 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 09347C 7F05E94C 01641821 */ addu $v1, $t3, $a0 -/* 093480 7F05E950 C4600A88 */ lwc1 $f0, 0xa88($v1) -/* 093484 7F05E954 460C003C */ c.lt.s $f0, $f12 -.L7F05E958: -/* 093488 7F05E958 00000000 */ nop -/* 09348C 7F05E95C 45020003 */ bc1fl .L7F05E96C -/* 093490 7F05E960 8FBF0014 */ lw $ra, 0x14($sp) -/* 093494 7F05E964 E46C0A88 */ swc1 $f12, 0xa88($v1) -.L7F05E968: -/* 093498 7F05E968 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05E96C: -/* 09349C 7F05E96C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0934A0 7F05E970 03E00008 */ jr $ra -/* 0934A4 7F05E974 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05E978(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05E978 -/* 0934A8 7F05E978 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0934AC 7F05E97C AFBF001C */ sw $ra, 0x1c($sp) -/* 0934B0 7F05E980 AFB10018 */ sw $s1, 0x18($sp) -/* 0934B4 7F05E984 AFB00014 */ sw $s0, 0x14($sp) -/* 0934B8 7F05E988 8C830008 */ lw $v1, 8($a0) -/* 0934BC 7F05E98C 00808025 */ move $s0, $a0 -/* 0934C0 7F05E990 00A08825 */ move $s1, $a1 -/* 0934C4 7F05E994 8C660008 */ lw $a2, 8($v1) -/* 0934C8 7F05E998 8CC70020 */ lw $a3, 0x20($a2) -/* 0934CC 7F05E99C 50E00007 */ beql $a3, $zero, .L7F05E9BC -/* 0934D0 7F05E9A0 8CC50024 */ lw $a1, 0x24($a2) -/* 0934D4 7F05E9A4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0934D8 7F05E9A8 00E02825 */ move $a1, $a3 -/* 0934DC 7F05E9AC AC510000 */ sw $s1, ($v0) -/* 0934E0 7F05E9B0 8E030008 */ lw $v1, 8($s0) -/* 0934E4 7F05E9B4 8C660008 */ lw $a2, 8($v1) -/* 0934E8 7F05E9B8 8CC50024 */ lw $a1, 0x24($a2) -.L7F05E9BC: -/* 0934EC 7F05E9BC 50A00007 */ beql $a1, $zero, .L7F05E9DC -/* 0934F0 7F05E9C0 8CC50028 */ lw $a1, 0x28($a2) -/* 0934F4 7F05E9C4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0934F8 7F05E9C8 02002025 */ move $a0, $s0 -/* 0934FC 7F05E9CC AC510000 */ sw $s1, ($v0) -/* 093500 7F05E9D0 8E030008 */ lw $v1, 8($s0) -/* 093504 7F05E9D4 8C660008 */ lw $a2, 8($v1) -/* 093508 7F05E9D8 8CC50028 */ lw $a1, 0x28($a2) -.L7F05E9DC: -/* 09350C 7F05E9DC 50A00007 */ beql $a1, $zero, .L7F05E9FC -/* 093510 7F05E9E0 8CC5002C */ lw $a1, 0x2c($a2) -/* 093514 7F05E9E4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 093518 7F05E9E8 02002025 */ move $a0, $s0 -/* 09351C 7F05E9EC AC510000 */ sw $s1, ($v0) -/* 093520 7F05E9F0 8E030008 */ lw $v1, 8($s0) -/* 093524 7F05E9F4 8C660008 */ lw $a2, 8($v1) -/* 093528 7F05E9F8 8CC5002C */ lw $a1, 0x2c($a2) -.L7F05E9FC: -/* 09352C 7F05E9FC 50A00007 */ beql $a1, $zero, .L7F05EA1C -/* 093530 7F05EA00 8CC50030 */ lw $a1, 0x30($a2) -/* 093534 7F05EA04 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 093538 7F05EA08 02002025 */ move $a0, $s0 -/* 09353C 7F05EA0C AC510000 */ sw $s1, ($v0) -/* 093540 7F05EA10 8E030008 */ lw $v1, 8($s0) -/* 093544 7F05EA14 8C660008 */ lw $a2, 8($v1) -/* 093548 7F05EA18 8CC50030 */ lw $a1, 0x30($a2) -.L7F05EA1C: -/* 09354C 7F05EA1C 50A00007 */ beql $a1, $zero, .L7F05EA3C -/* 093550 7F05EA20 8CC50034 */ lw $a1, 0x34($a2) -/* 093554 7F05EA24 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 093558 7F05EA28 02002025 */ move $a0, $s0 -/* 09355C 7F05EA2C AC510000 */ sw $s1, ($v0) -/* 093560 7F05EA30 8E030008 */ lw $v1, 8($s0) -/* 093564 7F05EA34 8C660008 */ lw $a2, 8($v1) -/* 093568 7F05EA38 8CC50034 */ lw $a1, 0x34($a2) -.L7F05EA3C: -/* 09356C 7F05EA3C 50A00006 */ beql $a1, $zero, .L7F05EA58 -/* 093570 7F05EA40 846E000C */ lh $t6, 0xc($v1) -/* 093574 7F05EA44 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 093578 7F05EA48 02002025 */ move $a0, $s0 -/* 09357C 7F05EA4C AC510000 */ sw $s1, ($v0) -/* 093580 7F05EA50 8E030008 */ lw $v1, 8($s0) -/* 093584 7F05EA54 846E000C */ lh $t6, 0xc($v1) -.L7F05EA58: -/* 093588 7F05EA58 29C10024 */ slti $at, $t6, 0x24 -/* 09358C 7F05EA5C 54200009 */ bnezl $at, .L7F05EA84 -/* 093590 7F05EA60 8FBF001C */ lw $ra, 0x1c($sp) -/* 093594 7F05EA64 8C6F0008 */ lw $t7, 8($v1) -/* 093598 7F05EA68 8DE5008C */ lw $a1, 0x8c($t7) -/* 09359C 7F05EA6C 50A00005 */ beql $a1, $zero, .L7F05EA84 -/* 0935A0 7F05EA70 8FBF001C */ lw $ra, 0x1c($sp) -/* 0935A4 7F05EA74 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0935A8 7F05EA78 02002025 */ move $a0, $s0 -/* 0935AC 7F05EA7C AC510000 */ sw $s1, ($v0) -/* 0935B0 7F05EA80 8FBF001C */ lw $ra, 0x1c($sp) -.L7F05EA84: -/* 0935B4 7F05EA84 8FB00014 */ lw $s0, 0x14($sp) -/* 0935B8 7F05EA88 8FB10018 */ lw $s1, 0x18($sp) -/* 0935BC 7F05EA8C 03E00008 */ jr $ra -/* 0935C0 7F05EA90 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05EA94(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05EA94 -/* 0935C4 7F05EA94 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0935C8 7F05EA98 AFBF0014 */ sw $ra, 0x14($sp) -/* 0935CC 7F05EA9C AFA5001C */ sw $a1, 0x1c($sp) -/* 0935D0 7F05EAA0 8C820008 */ lw $v0, 8($a0) -/* 0935D4 7F05EAA4 844E000C */ lh $t6, 0xc($v0) -/* 0935D8 7F05EAA8 29C10010 */ slti $at, $t6, 0x10 -/* 0935DC 7F05EAAC 54200014 */ bnezl $at, .L7F05EB00 -/* 0935E0 7F05EAB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0935E4 7F05EAB4 8C430008 */ lw $v1, 8($v0) -/* 0935E8 7F05EAB8 8C650038 */ lw $a1, 0x38($v1) -/* 0935EC 7F05EABC 50A00009 */ beql $a1, $zero, .L7F05EAE4 -/* 0935F0 7F05EAC0 8C65003C */ lw $a1, 0x3c($v1) -/* 0935F4 7F05EAC4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0935F8 7F05EAC8 AFA40018 */ sw $a0, 0x18($sp) -/* 0935FC 7F05EACC 8FAF001C */ lw $t7, 0x1c($sp) -/* 093600 7F05EAD0 8FA40018 */ lw $a0, 0x18($sp) -/* 093604 7F05EAD4 AC4F0000 */ sw $t7, ($v0) -/* 093608 7F05EAD8 8C980008 */ lw $t8, 8($a0) -/* 09360C 7F05EADC 8F030008 */ lw $v1, 8($t8) -/* 093610 7F05EAE0 8C65003C */ lw $a1, 0x3c($v1) -.L7F05EAE4: -/* 093614 7F05EAE4 50A00006 */ beql $a1, $zero, .L7F05EB00 -/* 093618 7F05EAE8 8FBF0014 */ lw $ra, 0x14($sp) -/* 09361C 7F05EAEC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 093620 7F05EAF0 00000000 */ nop -/* 093624 7F05EAF4 8FB9001C */ lw $t9, 0x1c($sp) -/* 093628 7F05EAF8 AC590000 */ sw $t9, ($v0) -/* 09362C 7F05EAFC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05EB00: -/* 093630 7F05EB00 27BD0018 */ addiu $sp, $sp, 0x18 -/* 093634 7F05EB04 03E00008 */ jr $ra -/* 093638 7F05EB08 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05EB0C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05EB0C -/* 09363C 7F05EB0C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 093640 7F05EB10 AFBF001C */ sw $ra, 0x1c($sp) -/* 093644 7F05EB14 AFB10018 */ sw $s1, 0x18($sp) -/* 093648 7F05EB18 AFB00014 */ sw $s0, 0x14($sp) -/* 09364C 7F05EB1C AFA50024 */ sw $a1, 0x24($sp) -/* 093650 7F05EB20 AFA60028 */ sw $a2, 0x28($sp) -/* 093654 7F05EB24 AFA7002C */ sw $a3, 0x2c($sp) -/* 093658 7F05EB28 8C910010 */ lw $s1, 0x10($a0) -/* 09365C 7F05EB2C 00808025 */ move $s0, $a0 -/* 093660 7F05EB30 52200036 */ beql $s1, $zero, .L7F05EC0C -/* 093664 7F05EB34 8FBF001C */ lw $ra, 0x1c($sp) -/* 093668 7F05EB38 0FC0E929 */ jal set_current_objposdata_plus_0x28 -/* 09366C 7F05EB3C 02202025 */ move $a0, $s1 -/* 093670 7F05EB40 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 093674 7F05EB44 02202025 */ move $a0, $s1 -/* 093678 7F05EB48 8E0E0014 */ lw $t6, 0x14($s0) -/* 09367C 7F05EB4C 8FA5002C */ lw $a1, 0x2c($sp) -/* 093680 7F05EB50 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 093684 7F05EB54 C5CC0014 */ lwc1 $f12, 0x14($t6) -/* 093688 7F05EB58 02002025 */ move $a0, $s0 -/* 09368C 7F05EB5C 8FA50024 */ lw $a1, 0x24($sp) -/* 093690 7F05EB60 8FA6002C */ lw $a2, 0x2c($sp) -/* 093694 7F05EB64 0FC101D5 */ jal sub_GAME_7F040754 -/* 093698 7F05EB68 8FA70028 */ lw $a3, 0x28($sp) -/* 09369C 7F05EB6C 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 0936A0 7F05EB70 02002025 */ move $a0, $s0 -/* 0936A4 7F05EB74 0FC10121 */ jal sub_GAME_7F040484 -/* 0936A8 7F05EB78 02002025 */ move $a0, $s0 -/* 0936AC 7F05EB7C 0FC0FF6A */ jal sub_GAME_7F03FDA8 -/* 0936B0 7F05EB80 02202025 */ move $a0, $s1 -/* 0936B4 7F05EB84 8E0F0064 */ lw $t7, 0x64($s0) -/* 0936B8 7F05EB88 31F80080 */ andi $t8, $t7, 0x80 -/* 0936BC 7F05EB8C 5300001F */ beql $t8, $zero, .L7F05EC0C -/* 0936C0 7F05EB90 8FBF001C */ lw $ra, 0x1c($sp) -/* 0936C4 7F05EB94 8E02006C */ lw $v0, 0x6c($s0) -/* 0936C8 7F05EB98 02202025 */ move $a0, $s1 -/* 0936CC 7F05EB9C 8C590000 */ lw $t9, ($v0) -/* 0936D0 7F05EBA0 37280041 */ ori $t0, $t9, 0x41 -/* 0936D4 7F05EBA4 AC480000 */ sw $t0, ($v0) -/* 0936D8 7F05EBA8 8E0A006C */ lw $t2, 0x6c($s0) -/* 0936DC 7F05EBAC 8FA90038 */ lw $t1, 0x38($sp) -/* 0936E0 7F05EBB0 0FC0FF85 */ jal sub_GAME_7F03FE14 -/* 0936E4 7F05EBB4 AD490088 */ sw $t1, 0x88($t2) -/* 0936E8 7F05EBB8 8E05006C */ lw $a1, 0x6c($s0) -/* 0936EC 7F05EBBC 8FA40034 */ lw $a0, 0x34($sp) -/* 0936F0 7F05EBC0 0FC16008 */ jal sub_GAME_7F058020 -/* 0936F4 7F05EBC4 24A50020 */ addiu $a1, $a1, 0x20 -/* 0936F8 7F05EBC8 8FA20030 */ lw $v0, 0x30($sp) -/* 0936FC 7F05EBCC 8E0B006C */ lw $t3, 0x6c($s0) -/* 093700 7F05EBD0 3C0F8005 */ lui $t7, %hi(D_80048380) -/* 093704 7F05EBD4 C4440000 */ lwc1 $f4, ($v0) -/* 093708 7F05EBD8 E5640004 */ swc1 $f4, 4($t3) -/* 09370C 7F05EBDC 8E0C006C */ lw $t4, 0x6c($s0) -/* 093710 7F05EBE0 C4460004 */ lwc1 $f6, 4($v0) -/* 093714 7F05EBE4 E5860008 */ swc1 $f6, 8($t4) -/* 093718 7F05EBE8 8E0D006C */ lw $t5, 0x6c($s0) -/* 09371C 7F05EBEC C4480008 */ lwc1 $f8, 8($v0) -/* 093720 7F05EBF0 E5A8000C */ swc1 $f8, 0xc($t5) -/* 093724 7F05EBF4 8E0E006C */ lw $t6, 0x6c($s0) -/* 093728 7F05EBF8 ADD000E4 */ sw $s0, 0xe4($t6) -/* 09372C 7F05EBFC 8E18006C */ lw $t8, 0x6c($s0) -/* 093730 7F05EC00 8DEF8380 */ lw $t7, %lo(D_80048380)($t7) -/* 093734 7F05EC04 AF0F00E8 */ sw $t7, 0xe8($t8) -/* 093738 7F05EC08 8FBF001C */ lw $ra, 0x1c($sp) -.L7F05EC0C: -/* 09373C 7F05EC0C 8FB00014 */ lw $s0, 0x14($sp) -/* 093740 7F05EC10 8FB10018 */ lw $s1, 0x18($sp) -/* 093744 7F05EC14 03E00008 */ jr $ra -/* 093748 7F05EC18 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05EC1C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05EC1C -/* 09374C 7F05EC1C 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 093750 7F05EC20 AFBF003C */ sw $ra, 0x3c($sp) -/* 093754 7F05EC24 AFB20038 */ sw $s2, 0x38($sp) -/* 093758 7F05EC28 AFB10034 */ sw $s1, 0x34($sp) -/* 09375C 7F05EC2C AFB00030 */ sw $s0, 0x30($sp) -/* 093760 7F05EC30 AFA600E0 */ sw $a2, 0xe0($sp) -/* 093764 7F05EC34 AFA700E4 */ sw $a3, 0xe4($sp) -/* 093768 7F05EC38 8C820010 */ lw $v0, 0x10($a0) -/* 09376C 7F05EC3C 00A08825 */ move $s1, $a1 -/* 093770 7F05EC40 00809025 */ move $s2, $a0 -/* 093774 7F05EC44 50400072 */ beql $v0, $zero, .L7F05EE10 -/* 093778 7F05EC48 8FBF003C */ lw $ra, 0x3c($sp) -/* 09377C 7F05EC4C 0FC225E6 */ jal get_curplayer_positiondata -/* 093780 7F05EC50 00000000 */ nop -/* 093784 7F05EC54 3C048008 */ lui $a0, %hi(pPlayer) -/* 093788 7F05EC58 00408025 */ move $s0, $v0 -/* 09378C 7F05EC5C 0FC225DE */ jal sub_GAME_7F089778 -/* 093790 7F05EC60 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 093794 7F05EC64 AFA000B0 */ sw $zero, 0xb0($sp) -/* 093798 7F05EC68 C60C000C */ lwc1 $f12, 0xc($s0) -/* 09379C 7F05EC6C C6220004 */ lwc1 $f2, 4($s1) -/* 0937A0 7F05EC70 02002025 */ move $a0, $s0 -/* 0937A4 7F05EC74 00002825 */ move $a1, $zero -/* 0937A8 7F05EC78 460C103C */ c.lt.s $f2, $f12 -/* 0937AC 7F05EC7C 00000000 */ nop -/* 0937B0 7F05EC80 45020005 */ bc1fl .L7F05EC98 -/* 0937B4 7F05EC84 46001381 */ sub.s $f14, $f2, $f0 -/* 0937B8 7F05EC88 46006381 */ sub.s $f14, $f12, $f0 -/* 0937BC 7F05EC8C 10000003 */ b .L7F05EC9C -/* 0937C0 7F05EC90 46001401 */ sub.s $f16, $f2, $f0 -/* 0937C4 7F05EC94 46001381 */ sub.s $f14, $f2, $f0 -.L7F05EC98: -/* 0937C8 7F05EC98 46006401 */ sub.s $f16, $f12, $f0 -.L7F05EC9C: -/* 0937CC 7F05EC9C 8E0E0014 */ lw $t6, 0x14($s0) -/* 0937D0 7F05ECA0 E7B000B4 */ swc1 $f16, 0xb4($sp) -/* 0937D4 7F05ECA4 E7AE00B8 */ swc1 $f14, 0xb8($sp) -/* 0937D8 7F05ECA8 0FC2280F */ jal sub_GAME_7F08A03C -/* 0937DC 7F05ECAC AFAE00C4 */ sw $t6, 0xc4($sp) -/* 0937E0 7F05ECB0 C6240008 */ lwc1 $f4, 8($s1) -/* 0937E4 7F05ECB4 8E050008 */ lw $a1, 8($s0) -/* 0937E8 7F05ECB8 8E060010 */ lw $a2, 0x10($s0) -/* 0937EC 7F05ECBC 8E270000 */ lw $a3, ($s1) -/* 0937F0 7F05ECC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0937F4 7F05ECC4 C7AE00B8 */ lwc1 $f14, 0xb8($sp) -/* 0937F8 7F05ECC8 C7B000B4 */ lwc1 $f16, 0xb4($sp) -/* 0937FC 7F05ECCC 44814000 */ mtc1 $at, $f8 -/* 093800 7F05ECD0 44803000 */ mtc1 $zero, $f6 -/* 093804 7F05ECD4 240F001F */ li $t7, 31 -/* 093808 7F05ECD8 AFAF0014 */ sw $t7, 0x14($sp) -/* 09380C 7F05ECDC 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 093810 7F05ECE0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 093814 7F05ECE4 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 093818 7F05ECE8 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 09381C 7F05ECEC E7A80024 */ swc1 $f8, 0x24($sp) -/* 093820 7F05ECF0 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 093824 7F05ECF4 E7A60020 */ swc1 $f6, 0x20($sp) -/* 093828 7F05ECF8 10400008 */ beqz $v0, .L7F05ED1C -/* 09382C 7F05ECFC 02002025 */ move $a0, $s0 -/* 093830 7F05ED00 C62A0000 */ lwc1 $f10, ($s1) -/* 093834 7F05ED04 E7AA00C8 */ swc1 $f10, 0xc8($sp) -/* 093838 7F05ED08 C6320004 */ lwc1 $f18, 4($s1) -/* 09383C 7F05ED0C E7B200CC */ swc1 $f18, 0xcc($sp) -/* 093840 7F05ED10 C6240008 */ lwc1 $f4, 8($s1) -/* 093844 7F05ED14 1000000B */ b .L7F05ED44 -/* 093848 7F05ED18 E7A400D0 */ swc1 $f4, 0xd0($sp) -.L7F05ED1C: -/* 09384C 7F05ED1C 8E180014 */ lw $t8, 0x14($s0) -/* 093850 7F05ED20 24190001 */ li $t9, 1 -/* 093854 7F05ED24 AFB800C4 */ sw $t8, 0xc4($sp) -/* 093858 7F05ED28 C6060008 */ lwc1 $f6, 8($s0) -/* 09385C 7F05ED2C E7A600C8 */ swc1 $f6, 0xc8($sp) -/* 093860 7F05ED30 C608000C */ lwc1 $f8, 0xc($s0) -/* 093864 7F05ED34 E7A800CC */ swc1 $f8, 0xcc($sp) -/* 093868 7F05ED38 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 09386C 7F05ED3C AFB900B0 */ sw $t9, 0xb0($sp) -/* 093870 7F05ED40 E7AA00D0 */ swc1 $f10, 0xd0($sp) -.L7F05ED44: -/* 093874 7F05ED44 0FC2280F */ jal sub_GAME_7F08A03C -/* 093878 7F05ED48 24050001 */ li $a1, 1 -/* 09387C 7F05ED4C 8FA800E4 */ lw $t0, 0xe4($sp) -/* 093880 7F05ED50 8FA900E8 */ lw $t1, 0xe8($sp) -/* 093884 7F05ED54 02402025 */ move $a0, $s2 -/* 093888 7F05ED58 27A500C8 */ addiu $a1, $sp, 0xc8 -/* 09388C 7F05ED5C 8FA600C4 */ lw $a2, 0xc4($sp) -/* 093890 7F05ED60 8FA700E0 */ lw $a3, 0xe0($sp) -/* 093894 7F05ED64 AFB00018 */ sw $s0, 0x18($sp) -/* 093898 7F05ED68 AFA80010 */ sw $t0, 0x10($sp) -/* 09389C 7F05ED6C 0FC17AC3 */ jal sub_GAME_7F05EB0C -/* 0938A0 7F05ED70 AFA90014 */ sw $t1, 0x14($sp) -/* 0938A4 7F05ED74 8E4A0064 */ lw $t2, 0x64($s2) -/* 0938A8 7F05ED78 8FAC00B0 */ lw $t4, 0xb0($sp) -/* 0938AC 7F05ED7C 314B0080 */ andi $t3, $t2, 0x80 -/* 0938B0 7F05ED80 51600023 */ beql $t3, $zero, .L7F05EE10 -/* 0938B4 7F05ED84 8FBF003C */ lw $ra, 0x3c($sp) -/* 0938B8 7F05ED88 1180000E */ beqz $t4, .L7F05EDC4 -/* 0938BC 7F05ED8C 00000000 */ nop -/* 0938C0 7F05ED90 8E42006C */ lw $v0, 0x6c($s2) -/* 0938C4 7F05ED94 8C4D0000 */ lw $t5, ($v0) -/* 0938C8 7F05ED98 35AE0100 */ ori $t6, $t5, 0x100 -/* 0938CC 7F05ED9C AC4E0000 */ sw $t6, ($v0) -/* 0938D0 7F05EDA0 8E4F006C */ lw $t7, 0x6c($s2) -/* 0938D4 7F05EDA4 C6320000 */ lwc1 $f18, ($s1) -/* 0938D8 7F05EDA8 E5F200D4 */ swc1 $f18, 0xd4($t7) -/* 0938DC 7F05EDAC 8E58006C */ lw $t8, 0x6c($s2) -/* 0938E0 7F05EDB0 C6240004 */ lwc1 $f4, 4($s1) -/* 0938E4 7F05EDB4 E70400D8 */ swc1 $f4, 0xd8($t8) -/* 0938E8 7F05EDB8 8E59006C */ lw $t9, 0x6c($s2) -/* 0938EC 7F05EDBC C6260008 */ lwc1 $f6, 8($s1) -/* 0938F0 7F05EDC0 E72600DC */ swc1 $f6, 0xdc($t9) -.L7F05EDC4: -/* 0938F4 7F05EDC4 0FC227E6 */ jal get_cur_players_room -/* 0938F8 7F05EDC8 00000000 */ nop -/* 0938FC 7F05EDCC 240800FF */ li $t0, 255 -/* 093900 7F05EDD0 A3A200A8 */ sb $v0, 0xa8($sp) -/* 093904 7F05EDD4 0FC22800 */ jal get_BONDdata_position3 -/* 093908 7F05EDD8 A3A800A9 */ sb $t0, 0xa9($sp) -/* 09390C 7F05EDDC 8E47006C */ lw $a3, 0x6c($s2) -/* 093910 7F05EDE0 27A90054 */ addiu $t1, $sp, 0x54 -/* 093914 7F05EDE4 27AA0050 */ addiu $t2, $sp, 0x50 -/* 093918 7F05EDE8 240B0014 */ li $t3, 20 -/* 09391C 7F05EDEC AFAB0018 */ sw $t3, 0x18($sp) -/* 093920 7F05EDF0 AFAA0014 */ sw $t2, 0x14($sp) -/* 093924 7F05EDF4 AFA90010 */ sw $t1, 0x10($sp) -/* 093928 7F05EDF8 00402025 */ move $a0, $v0 -/* 09392C 7F05EDFC 27A500C8 */ addiu $a1, $sp, 0xc8 -/* 093930 7F05EE00 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 093934 7F05EE04 0FC2D2AD */ jal sub_GAME_7F0B4AB4 -/* 093938 7F05EE08 24E700CC */ addiu $a3, $a3, 0xcc -/* 09393C 7F05EE0C 8FBF003C */ lw $ra, 0x3c($sp) -.L7F05EE10: -/* 093940 7F05EE10 8FB00030 */ lw $s0, 0x30($sp) -/* 093944 7F05EE14 8FB10034 */ lw $s1, 0x34($sp) -/* 093948 7F05EE18 8FB20038 */ lw $s2, 0x38($sp) -/* 09394C 7F05EE1C 03E00008 */ jr $ra -/* 093950 7F05EE20 27BD00D8 */ addiu $sp, $sp, 0xd8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05EE24(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C8C -.word 0x41855555 /*16.666666*/ -glabel D_80053C90 -.word 0x3e99999a /*0.30000001*/ -glabel D_80053C94 -.word 0x3e088888 /*0.13333333*/ -.text -glabel sub_GAME_7F05EE24 -/* 093954 7F05EE24 27BDFEC0 */ addiu $sp, $sp, -0x140 -/* 093958 7F05EE28 AFBF0024 */ sw $ra, 0x24($sp) -/* 09395C 7F05EE2C AFB00020 */ sw $s0, 0x20($sp) -/* 093960 7F05EE30 0FC225E6 */ jal get_curplayer_positiondata -/* 093964 7F05EE34 AFA40140 */ sw $a0, 0x140($sp) -/* 093968 7F05EE38 0FC2280B */ jal get_BONDdata_field408 -/* 09396C 7F05EE3C 00408025 */ move $s0, $v0 -/* 093970 7F05EE40 AFA20080 */ sw $v0, 0x80($sp) -/* 093974 7F05EE44 0FC17674 */ jal get_item_in_hand -/* 093978 7F05EE48 8FA40140 */ lw $a0, 0x140($sp) -/* 09397C 7F05EE4C AFA20038 */ sw $v0, 0x38($sp) -/* 093980 7F05EE50 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 093984 7F05EE54 0FC15F05 */ jal sub_GAME_7F057C14 -/* 093988 7F05EE58 27A500FC */ addiu $a1, $sp, 0xfc -/* 09398C 7F05EE5C 27A40094 */ addiu $a0, $sp, 0x94 -/* 093990 7F05EE60 27A50088 */ addiu $a1, $sp, 0x88 -/* 093994 7F05EE64 0FC1A073 */ jal sub_GAME_7F0681CC -/* 093998 7F05EE68 8FA60140 */ lw $a2, 0x140($sp) -/* 09399C 7F05EE6C 0FC1E111 */ jal sub_GAME_7F078444 -/* 0939A0 7F05EE70 00000000 */ nop -/* 0939A4 7F05EE74 00402025 */ move $a0, $v0 -/* 0939A8 7F05EE78 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0939AC 7F05EE7C 27A50088 */ addiu $a1, $sp, 0x88 -/* 0939B0 7F05EE80 3C018005 */ lui $at, %hi(D_80053C8C) -/* 0939B4 7F05EE84 C4203C8C */ lwc1 $f0, %lo(D_80053C8C)($at) -/* 0939B8 7F05EE88 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0939BC 7F05EE8C C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 0939C0 7F05EE90 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0939C4 7F05EE94 46002182 */ mul.s $f6, $f4, $f0 -/* 0939C8 7F05EE98 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 0939CC 7F05EE9C 44818000 */ mtc1 $at, $f16 -/* 0939D0 7F05EEA0 46004282 */ mul.s $f10, $f8, $f0 -/* 0939D4 7F05EEA4 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 0939D8 7F05EEA8 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 0939DC 7F05EEAC 46002202 */ mul.s $f8, $f4, $f0 -/* 0939E0 7F05EEB0 E7A600F0 */ swc1 $f6, 0xf0($sp) -/* 0939E4 7F05EEB4 8FA20080 */ lw $v0, 0x80($sp) -/* 0939E8 7F05EEB8 46105480 */ add.s $f18, $f10, $f16 -/* 0939EC 7F05EEBC E7A800F8 */ swc1 $f8, 0xf8($sp) -/* 0939F0 7F05EEC0 19C00015 */ blez $t6, .L7F05EF18 -/* 0939F4 7F05EEC4 E7B200F4 */ swc1 $f18, 0xf4($sp) -/* 0939F8 7F05EEC8 C60A0008 */ lwc1 $f10, 8($s0) -/* 0939FC 7F05EECC C4500000 */ lwc1 $f16, ($v0) -/* 093A00 7F05EED0 3C018005 */ lui $at, %hi(global_timer_delta) -/* 093A04 7F05EED4 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 093A08 7F05EED8 46105101 */ sub.s $f4, $f10, $f16 -/* 093A0C 7F05EEDC 46002283 */ div.s $f10, $f4, $f0 -/* 093A10 7F05EEE0 460A3400 */ add.s $f16, $f6, $f10 -/* 093A14 7F05EEE4 E7B000F0 */ swc1 $f16, 0xf0($sp) -/* 093A18 7F05EEE8 C4460004 */ lwc1 $f6, 4($v0) -/* 093A1C 7F05EEEC C604000C */ lwc1 $f4, 0xc($s0) -/* 093A20 7F05EEF0 46062281 */ sub.s $f10, $f4, $f6 -/* 093A24 7F05EEF4 46005403 */ div.s $f16, $f10, $f0 -/* 093A28 7F05EEF8 46109100 */ add.s $f4, $f18, $f16 -/* 093A2C 7F05EEFC E7A400F4 */ swc1 $f4, 0xf4($sp) -/* 093A30 7F05EF00 C44A0008 */ lwc1 $f10, 8($v0) -/* 093A34 7F05EF04 C6060010 */ lwc1 $f6, 0x10($s0) -/* 093A38 7F05EF08 460A3481 */ sub.s $f18, $f6, $f10 -/* 093A3C 7F05EF0C 46009403 */ div.s $f16, $f18, $f0 -/* 093A40 7F05EF10 46104100 */ add.s $f4, $f8, $f16 -/* 093A44 7F05EF14 E7A400F8 */ swc1 $f4, 0xf8($sp) -.L7F05EF18: -/* 093A48 7F05EF18 8FB00140 */ lw $s0, 0x140($sp) -/* 093A4C 7F05EF1C 3C188008 */ lui $t8, %hi(pPlayer) -/* 093A50 7F05EF20 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 093A54 7F05EF24 001078C0 */ sll $t7, $s0, 3 -/* 093A58 7F05EF28 01F07823 */ subu $t7, $t7, $s0 -/* 093A5C 7F05EF2C 000F7880 */ sll $t7, $t7, 2 -/* 093A60 7F05EF30 01F07821 */ addu $t7, $t7, $s0 -/* 093A64 7F05EF34 000F7880 */ sll $t7, $t7, 2 -/* 093A68 7F05EF38 01F07821 */ addu $t7, $t7, $s0 -/* 093A6C 7F05EF3C 000F80C0 */ sll $s0, $t7, 3 -/* 093A70 7F05EF40 03101021 */ addu $v0, $t8, $s0 -/* 093A74 7F05EF44 C4460B08 */ lwc1 $f6, 0xb08($v0) -/* 093A78 7F05EF48 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 093A7C 7F05EF4C E7A600E0 */ swc1 $f6, 0xe0($sp) -/* 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 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) -/* 093A9C 7F05EF6C 27A50040 */ addiu $a1, $sp, 0x40 -/* 093AA0 7F05EF70 03302021 */ addu $a0, $t9, $s0 -/* 093AA4 7F05EF74 0FC16008 */ jal sub_GAME_7F058020 -/* 093AA8 7F05EF78 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 093AAC 7F05EF7C 44800000 */ mtc1 $zero, $f0 -/* 093AB0 7F05EF80 27A40040 */ addiu $a0, $sp, 0x40 -/* 093AB4 7F05EF84 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 093AB8 7F05EF88 E7A00070 */ swc1 $f0, 0x70($sp) -/* 093ABC 7F05EF8C E7A00074 */ swc1 $f0, 0x74($sp) -/* 093AC0 7F05EF90 0FC1601A */ jal sub_GAME_7F058068 -/* 093AC4 7F05EF94 E7A00078 */ swc1 $f0, 0x78($sp) -/* 093AC8 7F05EF98 240400C4 */ li $a0, 196 -/* 093ACC 7F05EF9C 0FC1481B */ jal create_new_item_instance_of_model -/* 093AD0 7F05EFA0 8FA50038 */ lw $a1, 0x38($sp) -/* 093AD4 7F05EFA4 10400038 */ beqz $v0, .L7F05F088 -/* 093AD8 7F05EFA8 00408025 */ move $s0, $v0 -/* 093ADC 7F05EFAC 3C088008 */ lui $t0, %hi(pPlayer) -/* 093AE0 7F05EFB0 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 093AE4 7F05EFB4 240A00F0 */ li $t2, 240 -/* 093AE8 7F05EFB8 8D09105C */ lw $t1, 0x105c($t0) -/* 093AEC 7F05EFBC 01495823 */ subu $t3, $t2, $t1 -/* 093AF0 7F05EFC0 A44B0082 */ sh $t3, 0x82($v0) -/* 093AF4 7F05EFC4 844C0082 */ lh $t4, 0x82($v0) -/* 093AF8 7F05EFC8 05830003 */ bgezl $t4, .L7F05EFD8 -/* 093AFC 7F05EFCC 8E0D0064 */ lw $t5, 0x64($s0) -/* 093B00 7F05EFD0 A4400082 */ sh $zero, 0x82($v0) -/* 093B04 7F05EFD4 8E0D0064 */ lw $t5, 0x64($s0) -.L7F05EFD8: -/* 093B08 7F05EFD8 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 -/* 093B0C 7F05EFDC 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 093B10 7F05EFE0 01A17024 */ and $t6, $t5, $at -/* 093B14 7F05EFE4 0FC26C54 */ jal get_cur_playernum -/* 093B18 7F05EFE8 AE0E0064 */ sw $t6, 0x64($s0) -/* 093B1C 7F05EFEC 8E0F0064 */ lw $t7, 0x64($s0) -/* 093B20 7F05EFF0 0002C440 */ sll $t8, $v0, 0x11 -/* 093B24 7F05EFF4 27A800FC */ addiu $t0, $sp, 0xfc -/* 093B28 7F05EFF8 01F8C825 */ or $t9, $t7, $t8 -/* 093B2C 7F05EFFC AE190064 */ sw $t9, 0x64($s0) -/* 093B30 7F05F000 AFA80010 */ sw $t0, 0x10($sp) -/* 093B34 7F05F004 02002025 */ move $a0, $s0 -/* 093B38 7F05F008 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 093B3C 7F05F00C 27A600A0 */ addiu $a2, $sp, 0xa0 -/* 093B40 7F05F010 0FC17B07 */ jal sub_GAME_7F05EC1C -/* 093B44 7F05F014 27A700F0 */ addiu $a3, $sp, 0xf0 -/* 093B48 7F05F018 8E0A0064 */ lw $t2, 0x64($s0) -/* 093B4C 7F05F01C 31490080 */ andi $t1, $t2, 0x80 -/* 093B50 7F05F020 5120001A */ beql $t1, $zero, .L7F05F08C -/* 093B54 7F05F024 8FBF0024 */ lw $ra, 0x24($sp) -/* 093B58 7F05F028 8E02006C */ lw $v0, 0x6c($s0) -/* 093B5C 7F05F02C 3C018005 */ lui $at, %hi(D_80053C90) -/* 093B60 7F05F030 240F003C */ li $t7, 60 -/* 093B64 7F05F034 8C4B0000 */ lw $t3, ($v0) -/* 093B68 7F05F038 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 093B6C 7F05F03C 24050004 */ li $a1, 4 -/* 093B70 7F05F040 356C0002 */ ori $t4, $t3, 2 -/* 093B74 7F05F044 AC4C0000 */ sw $t4, ($v0) -/* 093B78 7F05F048 8E0D006C */ lw $t5, 0x6c($s0) -/* 093B7C 7F05F04C C4283C90 */ lwc1 $f8, %lo(D_80053C90)($at) -/* 093B80 7F05F050 3C018005 */ lui $at, %hi(D_80053C94) -/* 093B84 7F05F054 00003025 */ move $a2, $zero -/* 093B88 7F05F058 E5A8008C */ swc1 $f8, 0x8c($t5) -/* 093B8C 7F05F05C 8E0E006C */ lw $t6, 0x6c($s0) -/* 093B90 7F05F060 C4303C94 */ lwc1 $f16, %lo(D_80053C94)($at) -/* 093B94 7F05F064 E5D00094 */ swc1 $f16, 0x94($t6) -/* 093B98 7F05F068 8E18006C */ lw $t8, 0x6c($s0) -/* 093B9C 7F05F06C AF0F00BC */ sw $t7, 0xbc($t8) -/* 093BA0 7F05F070 0C002382 */ jal play_sfx_a1 -/* 093BA4 7F05F074 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 093BA8 7F05F078 10400003 */ beqz $v0, .L7F05F088 -/* 093BAC 7F05F07C 00402025 */ move $a0, $v0 -/* 093BB0 7F05F080 0FC14E84 */ jal sub_GAME_7F053A10 -/* 093BB4 7F05F084 26050058 */ addiu $a1, $s0, 0x58 -.L7F05F088: -/* 093BB8 7F05F088 8FBF0024 */ lw $ra, 0x24($sp) -.L7F05F08C: -/* 093BBC 7F05F08C 8FB00020 */ lw $s0, 0x20($sp) -/* 093BC0 7F05F090 27BD0140 */ addiu $sp, $sp, 0x140 -/* 093BC4 7F05F094 03E00008 */ jr $ra -/* 093BC8 7F05F098 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05F09C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053C98 -.word 0x4096cbe4 /*4.712389*/ -glabel D_80053C9C -.word 0x40490fdb /*3.1415927*/ -glabel D_80053CA0 -.word 0x4141999a /*12.1*/ -glabel D_80053CA4 -.word 0x3dcccccd /*0.1*/ -.text -glabel sub_GAME_7F05F09C -/* 093BCC 7F05F09C 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 093BD0 7F05F0A0 AFBF001C */ sw $ra, 0x1c($sp) -/* 093BD4 7F05F0A4 0FC225E6 */ jal get_curplayer_positiondata -/* 093BD8 7F05F0A8 AFA40130 */ sw $a0, 0x130($sp) -/* 093BDC 7F05F0AC 0FC2280B */ jal get_BONDdata_field408 -/* 093BE0 7F05F0B0 AFA20034 */ sw $v0, 0x34($sp) -/* 093BE4 7F05F0B4 AFA20030 */ sw $v0, 0x30($sp) -/* 093BE8 7F05F0B8 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 093BEC 7F05F0BC 0FC15F05 */ jal sub_GAME_7F057C14 -/* 093BF0 7F05F0C0 27A500EC */ addiu $a1, $sp, 0xec -/* 093BF4 7F05F0C4 27A40084 */ addiu $a0, $sp, 0x84 -/* 093BF8 7F05F0C8 27A50078 */ addiu $a1, $sp, 0x78 -/* 093BFC 7F05F0CC 0FC1A073 */ jal sub_GAME_7F0681CC -/* 093C00 7F05F0D0 8FA60130 */ lw $a2, 0x130($sp) -/* 093C04 7F05F0D4 0FC1E111 */ jal sub_GAME_7F078444 -/* 093C08 7F05F0D8 00000000 */ nop -/* 093C0C 7F05F0DC 00402025 */ move $a0, $v0 -/* 093C10 7F05F0E0 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 093C14 7F05F0E4 27A50078 */ addiu $a1, $sp, 0x78 -/* 093C18 7F05F0E8 3C0141C8 */ li $at, 0x41C80000 # 25.000000 -/* 093C1C 7F05F0EC 44810000 */ mtc1 $at, $f0 -/* 093C20 7F05F0F0 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 093C24 7F05F0F4 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 093C28 7F05F0F8 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 093C2C 7F05F0FC 46002182 */ mul.s $f6, $f4, $f0 -/* 093C30 7F05F100 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 093C34 7F05F104 44818000 */ mtc1 $at, $f16 -/* 093C38 7F05F108 46004282 */ mul.s $f10, $f8, $f0 -/* 093C3C 7F05F10C 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 093C40 7F05F110 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 093C44 7F05F114 46002202 */ mul.s $f8, $f4, $f0 -/* 093C48 7F05F118 E7A600E0 */ swc1 $f6, 0xe0($sp) -/* 093C4C 7F05F11C 46105480 */ add.s $f18, $f10, $f16 -/* 093C50 7F05F120 E7A800E8 */ swc1 $f8, 0xe8($sp) -/* 093C54 7F05F124 19C00017 */ blez $t6, .L7F05F184 -/* 093C58 7F05F128 E7B200E4 */ swc1 $f18, 0xe4($sp) -/* 093C5C 7F05F12C 8FA20030 */ lw $v0, 0x30($sp) -/* 093C60 7F05F130 8FA30034 */ lw $v1, 0x34($sp) -/* 093C64 7F05F134 3C018005 */ lui $at, %hi(global_timer_delta) -/* 093C68 7F05F138 C4500000 */ lwc1 $f16, ($v0) -/* 093C6C 7F05F13C C46A0008 */ lwc1 $f10, 8($v1) -/* 093C70 7F05F140 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 093C74 7F05F144 46105101 */ sub.s $f4, $f10, $f16 -/* 093C78 7F05F148 46002283 */ div.s $f10, $f4, $f0 -/* 093C7C 7F05F14C 460A3400 */ add.s $f16, $f6, $f10 -/* 093C80 7F05F150 E7B000E0 */ swc1 $f16, 0xe0($sp) -/* 093C84 7F05F154 C4460004 */ lwc1 $f6, 4($v0) -/* 093C88 7F05F158 C464000C */ lwc1 $f4, 0xc($v1) -/* 093C8C 7F05F15C 46062281 */ sub.s $f10, $f4, $f6 -/* 093C90 7F05F160 46005403 */ div.s $f16, $f10, $f0 -/* 093C94 7F05F164 46109100 */ add.s $f4, $f18, $f16 -/* 093C98 7F05F168 E7A400E4 */ swc1 $f4, 0xe4($sp) -/* 093C9C 7F05F16C C44A0008 */ lwc1 $f10, 8($v0) -/* 093CA0 7F05F170 C4660010 */ lwc1 $f6, 0x10($v1) -/* 093CA4 7F05F174 460A3481 */ sub.s $f18, $f6, $f10 -/* 093CA8 7F05F178 46009403 */ div.s $f16, $f18, $f0 -/* 093CAC 7F05F17C 46104100 */ add.s $f4, $f8, $f16 -/* 093CB0 7F05F180 E7A400E8 */ swc1 $f4, 0xe8($sp) -.L7F05F184: -/* 093CB4 7F05F184 8FA30130 */ lw $v1, 0x130($sp) -/* 093CB8 7F05F188 3C188008 */ lui $t8, %hi(pPlayer) -/* 093CBC 7F05F18C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 093CC0 7F05F190 000378C0 */ sll $t7, $v1, 3 -/* 093CC4 7F05F194 01E37823 */ subu $t7, $t7, $v1 -/* 093CC8 7F05F198 000F7880 */ sll $t7, $t7, 2 -/* 093CCC 7F05F19C 01E37821 */ addu $t7, $t7, $v1 -/* 093CD0 7F05F1A0 000F7880 */ sll $t7, $t7, 2 -/* 093CD4 7F05F1A4 01E37821 */ addu $t7, $t7, $v1 -/* 093CD8 7F05F1A8 000F78C0 */ sll $t7, $t7, 3 -/* 093CDC 7F05F1AC 030F1021 */ addu $v0, $t8, $t7 -/* 093CE0 7F05F1B0 C4460B08 */ lwc1 $f6, 0xb08($v0) -/* 093CE4 7F05F1B4 3C018005 */ lui $at, %hi(D_80053C98) -/* 093CE8 7F05F1B8 C42C3C98 */ lwc1 $f12, %lo(D_80053C98)($at) -/* 093CEC 7F05F1BC E7A600D0 */ swc1 $f6, 0xd0($sp) -/* 093CF0 7F05F1C0 C44A0B0C */ lwc1 $f10, 0xb0c($v0) -/* 093CF4 7F05F1C4 27A50090 */ addiu $a1, $sp, 0x90 -/* 093CF8 7F05F1C8 E7AA00D4 */ swc1 $f10, 0xd4($sp) -/* 093CFC 7F05F1CC C4520B10 */ lwc1 $f18, 0xb10($v0) -/* 093D00 7F05F1D0 AFAF0028 */ sw $t7, 0x28($sp) -/* 093D04 7F05F1D4 0FC161A2 */ jal sub_GAME_7F058688 -/* 093D08 7F05F1D8 E7B200D8 */ swc1 $f18, 0xd8($sp) -/* 093D0C 7F05F1DC 3C018005 */ lui $at, %hi(D_80053C9C) -/* 093D10 7F05F1E0 C42C3C9C */ lwc1 $f12, %lo(D_80053C9C)($at) -/* 093D14 7F05F1E4 0FC1615C */ jal sub_GAME_7F058570 -/* 093D18 7F05F1E8 27A50038 */ addiu $a1, $sp, 0x38 -/* 093D1C 7F05F1EC 27A40038 */ addiu $a0, $sp, 0x38 -/* 093D20 7F05F1F0 0FC1601A */ jal sub_GAME_7F058068 -/* 093D24 7F05F1F4 27A50090 */ addiu $a1, $sp, 0x90 -/* 093D28 7F05F1F8 3C198008 */ lui $t9, %hi(pPlayer) -/* 093D2C 7F05F1FC 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 093D30 7F05F200 8FA80028 */ lw $t0, 0x28($sp) -/* 093D34 7F05F204 27A50038 */ addiu $a1, $sp, 0x38 -/* 093D38 7F05F208 03282021 */ addu $a0, $t9, $t0 -/* 093D3C 7F05F20C 0FC16008 */ jal sub_GAME_7F058020 -/* 093D40 7F05F210 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 093D44 7F05F214 44800000 */ mtc1 $zero, $f0 -/* 093D48 7F05F218 27A40038 */ addiu $a0, $sp, 0x38 -/* 093D4C 7F05F21C 27A50090 */ addiu $a1, $sp, 0x90 -/* 093D50 7F05F220 E7A00068 */ swc1 $f0, 0x68($sp) -/* 093D54 7F05F224 E7A0006C */ swc1 $f0, 0x6c($sp) -/* 093D58 7F05F228 0FC1601A */ jal sub_GAME_7F058068 -/* 093D5C 7F05F22C E7A00070 */ swc1 $f0, 0x70($sp) -/* 093D60 7F05F230 0C002914 */ jal get_random_value -/* 093D64 7F05F234 00000000 */ nop -/* 093D68 7F05F238 44824000 */ mtc1 $v0, $f8 -/* 093D6C 7F05F23C 27A400EC */ addiu $a0, $sp, 0xec -/* 093D70 7F05F240 04410005 */ bgez $v0, .L7F05F258 -/* 093D74 7F05F244 46804420 */ cvt.s.w $f16, $f8 -/* 093D78 7F05F248 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 093D7C 7F05F24C 44812000 */ mtc1 $at, $f4 -/* 093D80 7F05F250 00000000 */ nop -/* 093D84 7F05F254 46048400 */ add.s $f16, $f16, $f4 -.L7F05F258: -/* 093D88 7F05F258 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 093D8C 7F05F25C 44813000 */ mtc1 $at, $f6 -/* 093D90 7F05F260 3C018005 */ lui $at, %hi(D_80053CA0) -/* 093D94 7F05F264 C4323CA0 */ lwc1 $f18, %lo(D_80053CA0)($at) -/* 093D98 7F05F268 46068282 */ mul.s $f10, $f16, $f6 -/* 093D9C 7F05F26C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 093DA0 7F05F270 44812000 */ mtc1 $at, $f4 -/* 093DA4 7F05F274 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 093DA8 7F05F278 8FA600A0 */ lw $a2, 0xa0($sp) -/* 093DAC 7F05F27C 8FA700A4 */ lw $a3, 0xa4($sp) -/* 093DB0 7F05F280 E7A60010 */ swc1 $f6, 0x10($sp) -/* 093DB4 7F05F284 46125200 */ add.s $f8, $f10, $f18 -/* 093DB8 7F05F288 46082403 */ div.s $f16, $f4, $f8 -/* 093DBC 7F05F28C 44058000 */ mfc1 $a1, $f16 -/* 093DC0 7F05F290 0C005DC8 */ jal guRotateF -/* 093DC4 7F05F294 00000000 */ nop -/* 093DC8 7F05F298 240400BA */ li $a0, 186 -/* 093DCC 7F05F29C 0FC1481B */ jal create_new_item_instance_of_model -/* 093DD0 7F05F2A0 24050003 */ li $a1, 3 -/* 093DD4 7F05F2A4 50400029 */ beql $v0, $zero, .L7F05F34C -/* 093DD8 7F05F2A8 8FBF001C */ lw $ra, 0x1c($sp) -/* 093DDC 7F05F2AC 8C490064 */ lw $t1, 0x64($v0) -/* 093DE0 7F05F2B0 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 -/* 093DE4 7F05F2B4 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 093DE8 7F05F2B8 01215024 */ and $t2, $t1, $at -/* 093DEC 7F05F2BC AC4A0064 */ sw $t2, 0x64($v0) -/* 093DF0 7F05F2C0 0FC26C54 */ jal get_cur_playernum -/* 093DF4 7F05F2C4 AFA2012C */ sw $v0, 0x12c($sp) -/* 093DF8 7F05F2C8 8FA4012C */ lw $a0, 0x12c($sp) -/* 093DFC 7F05F2CC 00026440 */ sll $t4, $v0, 0x11 -/* 093E00 7F05F2D0 27AE00EC */ addiu $t6, $sp, 0xec -/* 093E04 7F05F2D4 8C8B0064 */ lw $t3, 0x64($a0) -/* 093E08 7F05F2D8 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 093E0C 7F05F2DC 27A60090 */ addiu $a2, $sp, 0x90 -/* 093E10 7F05F2E0 016C6825 */ or $t5, $t3, $t4 -/* 093E14 7F05F2E4 AC8D0064 */ sw $t5, 0x64($a0) -/* 093E18 7F05F2E8 AFAE0010 */ sw $t6, 0x10($sp) -/* 093E1C 7F05F2EC 0FC17B07 */ jal sub_GAME_7F05EC1C -/* 093E20 7F05F2F0 27A700E0 */ addiu $a3, $sp, 0xe0 -/* 093E24 7F05F2F4 8FA4012C */ lw $a0, 0x12c($sp) -/* 093E28 7F05F2F8 8C8F0064 */ lw $t7, 0x64($a0) -/* 093E2C 7F05F2FC 31F80080 */ andi $t8, $t7, 0x80 -/* 093E30 7F05F300 1300000F */ beqz $t8, .L7F05F340 -/* 093E34 7F05F304 00000000 */ nop -/* 093E38 7F05F308 8C82006C */ lw $v0, 0x6c($a0) -/* 093E3C 7F05F30C 3C018005 */ lui $at, %hi(D_80053CA4) -/* 093E40 7F05F310 240A003C */ li $t2, 60 -/* 093E44 7F05F314 8C590000 */ lw $t9, ($v0) -/* 093E48 7F05F318 37280002 */ ori $t0, $t9, 2 -/* 093E4C 7F05F31C AC480000 */ sw $t0, ($v0) -/* 093E50 7F05F320 8C89006C */ lw $t1, 0x6c($a0) -/* 093E54 7F05F324 C42A3CA4 */ lwc1 $f10, %lo(D_80053CA4)($at) -/* 093E58 7F05F328 E52A008C */ swc1 $f10, 0x8c($t1) -/* 093E5C 7F05F32C 8C8B006C */ lw $t3, 0x6c($a0) -/* 093E60 7F05F330 AD6A00BC */ sw $t2, 0xbc($t3) -/* 093E64 7F05F334 8C8C0064 */ lw $t4, 0x64($a0) -/* 093E68 7F05F338 358D0020 */ ori $t5, $t4, 0x20 -/* 093E6C 7F05F33C AC8D0064 */ sw $t5, 0x64($a0) -.L7F05F340: -/* 093E70 7F05F340 0FC10D94 */ jal sub_GAME_7F043650 -/* 093E74 7F05F344 00000000 */ nop -/* 093E78 7F05F348 8FBF001C */ lw $ra, 0x1c($sp) -.L7F05F34C: -/* 093E7C 7F05F34C 27BD0130 */ addiu $sp, $sp, 0x130 -/* 093E80 7F05F350 03E00008 */ jr $ra -/* 093E84 7F05F354 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void generate_player_thrown_object(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053CA8 -.word 0x41855555 /*16.666666*/ -glabel D_80053CAC -.word 0x40d55555 /*6.6666665*/ -/*D:80053CB0*/ -glabel jpt_player_thrown_object -.word thrown_item_timed_mine -.word thrown_item_proximity_mine -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word thrown_item_bombcase -.word thrown_item_plastique -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word thrown_item_bug -.word thrown_item_micro_camera -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word create_instance -.word thrown_item_GE_key - -/*D:80053D3C*/ -glabel jpt_temp_obj_for_itemtype -.word generate_temp_timed_mine -.word generate_temp_proximity_mine -.word generate_temp_remote_mine -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_bombcase -.word generate_temp_static_thrown -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_static_thrown -.word generate_temp_static_thrown -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_default -.word generate_temp_static_thrown - -glabel D_80053DC8 -.word 0x3dcccccd /*0.1*/ -.text -glabel generate_player_thrown_object -/* 093E88 7F05F358 27BDFEC0 */ addiu $sp, $sp, -0x140 -/* 093E8C 7F05F35C 3C018005 */ lui $at, %hi(D_80053CA8) -/* 093E90 7F05F360 C4243CA8 */ lwc1 $f4, %lo(D_80053CA8)($at) -/* 093E94 7F05F364 AFBF0024 */ sw $ra, 0x24($sp) -/* 093E98 7F05F368 AFB00020 */ sw $s0, 0x20($sp) -/* 093E9C 7F05F36C AFA40140 */ sw $a0, 0x140($sp) -/* 093EA0 7F05F370 00008025 */ move $s0, $zero -/* 093EA4 7F05F374 0FC225E6 */ jal get_curplayer_positiondata -/* 093EA8 7F05F378 E7A400EC */ swc1 $f4, 0xec($sp) -/* 093EAC 7F05F37C 0FC2280B */ jal get_BONDdata_field408 -/* 093EB0 7F05F380 AFA20084 */ sw $v0, 0x84($sp) -/* 093EB4 7F05F384 AFA20080 */ sw $v0, 0x80($sp) -/* 093EB8 7F05F388 0FC17674 */ jal get_item_in_hand -/* 093EBC 7F05F38C 8FA40140 */ lw $a0, 0x140($sp) -/* 093EC0 7F05F390 2401003D */ li $at, 61 -/* 093EC4 7F05F394 14410004 */ bne $v0, $at, .L7F05F3A8 -/* 093EC8 7F05F398 AFA20038 */ sw $v0, 0x38($sp) -/* 093ECC 7F05F39C 3C018005 */ lui $at, %hi(D_80053CAC) -/* 093ED0 7F05F3A0 C4263CAC */ lwc1 $f6, %lo(D_80053CAC)($at) -/* 093ED4 7F05F3A4 E7A600EC */ swc1 $f6, 0xec($sp) -.L7F05F3A8: -/* 093ED8 7F05F3A8 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 093EDC 7F05F3AC 0FC15F05 */ jal sub_GAME_7F057C14 -/* 093EE0 7F05F3B0 27A500FC */ addiu $a1, $sp, 0xfc -/* 093EE4 7F05F3B4 27A40094 */ addiu $a0, $sp, 0x94 -/* 093EE8 7F05F3B8 27A50088 */ addiu $a1, $sp, 0x88 -/* 093EEC 7F05F3BC 0FC1A073 */ jal sub_GAME_7F0681CC -/* 093EF0 7F05F3C0 8FA60140 */ lw $a2, 0x140($sp) -/* 093EF4 7F05F3C4 0FC1E111 */ jal sub_GAME_7F078444 -/* 093EF8 7F05F3C8 00000000 */ nop -/* 093EFC 7F05F3CC 00402025 */ move $a0, $v0 -/* 093F00 7F05F3D0 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 093F04 7F05F3D4 27A50088 */ addiu $a1, $sp, 0x88 -/* 093F08 7F05F3D8 C7A000EC */ lwc1 $f0, 0xec($sp) -/* 093F0C 7F05F3DC C7A80088 */ lwc1 $f8, 0x88($sp) -/* 093F10 7F05F3E0 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 093F14 7F05F3E4 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 093F18 7F05F3E8 46004282 */ mul.s $f10, $f8, $f0 -/* 093F1C 7F05F3EC C7A80090 */ lwc1 $f8, 0x90($sp) -/* 093F20 7F05F3F0 44812000 */ mtc1 $at, $f4 -/* 093F24 7F05F3F4 46008482 */ mul.s $f18, $f16, $f0 -/* 093F28 7F05F3F8 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 093F2C 7F05F3FC 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 093F30 7F05F400 46004402 */ mul.s $f16, $f8, $f0 -/* 093F34 7F05F404 E7AA00F0 */ swc1 $f10, 0xf0($sp) -/* 093F38 7F05F408 8FA20080 */ lw $v0, 0x80($sp) -/* 093F3C 7F05F40C 8FA30084 */ lw $v1, 0x84($sp) -/* 093F40 7F05F410 46049180 */ add.s $f6, $f18, $f4 -/* 093F44 7F05F414 E7B000F8 */ swc1 $f16, 0xf8($sp) -/* 093F48 7F05F418 19C00015 */ blez $t6, .L7F05F470 -/* 093F4C 7F05F41C E7A600F4 */ swc1 $f6, 0xf4($sp) -/* 093F50 7F05F420 C4720008 */ lwc1 $f18, 8($v1) -/* 093F54 7F05F424 C4440000 */ lwc1 $f4, ($v0) -/* 093F58 7F05F428 3C018005 */ lui $at, %hi(global_timer_delta) -/* 093F5C 7F05F42C C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 093F60 7F05F430 46049201 */ sub.s $f8, $f18, $f4 -/* 093F64 7F05F434 46004483 */ div.s $f18, $f8, $f0 -/* 093F68 7F05F438 46125100 */ add.s $f4, $f10, $f18 -/* 093F6C 7F05F43C E7A400F0 */ swc1 $f4, 0xf0($sp) -/* 093F70 7F05F440 C44A0004 */ lwc1 $f10, 4($v0) -/* 093F74 7F05F444 C468000C */ lwc1 $f8, 0xc($v1) -/* 093F78 7F05F448 460A4481 */ sub.s $f18, $f8, $f10 -/* 093F7C 7F05F44C 46009103 */ div.s $f4, $f18, $f0 -/* 093F80 7F05F450 46043200 */ add.s $f8, $f6, $f4 -/* 093F84 7F05F454 E7A800F4 */ swc1 $f8, 0xf4($sp) -/* 093F88 7F05F458 C4520008 */ lwc1 $f18, 8($v0) -/* 093F8C 7F05F45C C46A0010 */ lwc1 $f10, 0x10($v1) -/* 093F90 7F05F460 46125181 */ sub.s $f6, $f10, $f18 -/* 093F94 7F05F464 46003103 */ div.s $f4, $f6, $f0 -/* 093F98 7F05F468 46048200 */ add.s $f8, $f16, $f4 -/* 093F9C 7F05F46C E7A800F8 */ swc1 $f8, 0xf8($sp) -.L7F05F470: -/* 093FA0 7F05F470 8FA30140 */ lw $v1, 0x140($sp) -/* 093FA4 7F05F474 3C188008 */ lui $t8, %hi(pPlayer) -/* 093FA8 7F05F478 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 093FAC 7F05F47C 000378C0 */ sll $t7, $v1, 3 -/* 093FB0 7F05F480 01E37823 */ subu $t7, $t7, $v1 -/* 093FB4 7F05F484 000F7880 */ sll $t7, $t7, 2 -/* 093FB8 7F05F488 01E37821 */ addu $t7, $t7, $v1 -/* 093FBC 7F05F48C 000F7880 */ sll $t7, $t7, 2 -/* 093FC0 7F05F490 01E37821 */ addu $t7, $t7, $v1 -/* 093FC4 7F05F494 000F78C0 */ sll $t7, $t7, 3 -/* 093FC8 7F05F498 030F1021 */ addu $v0, $t8, $t7 -/* 093FCC 7F05F49C C44A0B08 */ lwc1 $f10, 0xb08($v0) -/* 093FD0 7F05F4A0 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 093FD4 7F05F4A4 E7AA00E0 */ swc1 $f10, 0xe0($sp) -/* 093FD8 7F05F4A8 C4520B0C */ lwc1 $f18, 0xb0c($v0) -/* 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 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) -/* 093FF8 7F05F4C8 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 093FFC 7F05F4CC 27A50040 */ addiu $a1, $sp, 0x40 -/* 094000 7F05F4D0 03232021 */ addu $a0, $t9, $v1 -/* 094004 7F05F4D4 0FC16008 */ jal sub_GAME_7F058020 -/* 094008 7F05F4D8 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 09400C 7F05F4DC 44800000 */ mtc1 $zero, $f0 -/* 094010 7F05F4E0 27A40040 */ addiu $a0, $sp, 0x40 -/* 094014 7F05F4E4 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 094018 7F05F4E8 E7A00070 */ swc1 $f0, 0x70($sp) -/* 09401C 7F05F4EC E7A00074 */ swc1 $f0, 0x74($sp) -/* 094020 7F05F4F0 0FC1601A */ jal sub_GAME_7F058068 -/* 094024 7F05F4F4 E7A00078 */ swc1 $f0, 0x78($sp) -/* 094028 7F05F4F8 8FA50038 */ lw $a1, 0x38($sp) -/* 09402C 7F05F4FC 2401003D */ li $at, 61 -/* 094030 7F05F500 14A1000D */ bne $a1, $at, .L7F05F538 -/* 094034 7F05F504 00000000 */ nop -/* 094038 7F05F508 0FC2315C */ jal sub_GAME_7F08C570 -/* 09403C 7F05F50C 00A02025 */ move $a0, $a1 -/* 094040 7F05F510 00408025 */ move $s0, $v0 -/* 094044 7F05F514 0FC23187 */ jal sub_GAME_7F08C61C -/* 094048 7F05F518 8FA40038 */ lw $a0, 0x38($sp) -/* 09404C 7F05F51C 12000003 */ beqz $s0, .L7F05F52C -/* 094050 7F05F520 00000000 */ nop -/* 094054 7F05F524 0FC13011 */ jal sub_GAME_7F04C044 -/* 094058 7F05F528 8E040010 */ lw $a0, 0x10($s0) -.L7F05F52C: -/* 09405C 7F05F52C 0FC175A4 */ jal sub_GAME_7F05D690 -/* 094060 7F05F530 00000000 */ nop -/* 094064 7F05F534 8FA50038 */ lw $a1, 0x38($sp) -.L7F05F538: -/* 094068 7F05F538 1600001B */ bnez $s0, .L7F05F5A8 -/* 09406C 7F05F53C 24A8FFE5 */ addiu $t0, $a1, -0x1b -/* 094070 7F05F540 2D010023 */ sltiu $at, $t0, 0x23 -/* 094074 7F05F544 10200014 */ beqz $at, .L7F05F598 -/* 094078 7F05F548 240400C7 */ li $a0, 199 -/* 09407C 7F05F54C 00084080 */ sll $t0, $t0, 2 -/* 094080 7F05F550 3C018005 */ lui $at, %hi(jpt_player_thrown_object) -/* 094084 7F05F554 00280821 */ addu $at, $at, $t0 -/* 094088 7F05F558 8C283CB0 */ lw $t0, %lo(jpt_player_thrown_object)($at) -/* 09408C 7F05F55C 01000008 */ jr $t0 -/* 094090 7F05F560 00000000 */ nop -thrown_item_proximity_mine: -/* 094094 7F05F564 1000000C */ b .L7F05F598 -/* 094098 7F05F568 240400C8 */ li $a0, 200 -thrown_item_timed_mine: -/* 09409C 7F05F56C 1000000A */ b .L7F05F598 -/* 0940A0 7F05F570 240400C9 */ li $a0, 201 -thrown_item_bombcase: -/* 0940A4 7F05F574 10000008 */ b .L7F05F598 -/* 0940A8 7F05F578 240400E2 */ li $a0, 226 -thrown_item_bug: -/* 0940AC 7F05F57C 10000006 */ b .L7F05F598 -/* 0940B0 7F05F580 240400F5 */ li $a0, 245 -thrown_item_micro_camera: -/* 0940B4 7F05F584 10000004 */ b .L7F05F598 -/* 0940B8 7F05F588 240400F6 */ li $a0, 246 -thrown_item_GE_key: -/* 0940BC 7F05F58C 10000002 */ b .L7F05F598 -/* 0940C0 7F05F590 240400F8 */ li $a0, 248 -thrown_item_plastique: -/* 0940C4 7F05F594 24040111 */ li $a0, 273 -create_instance: -.L7F05F598: -/* 0940C8 7F05F598 0FC1481B */ jal create_new_item_instance_of_model -/* 0940CC 7F05F59C 00000000 */ nop -/* 0940D0 7F05F5A0 00408025 */ move $s0, $v0 -/* 0940D4 7F05F5A4 8FA50038 */ lw $a1, 0x38($sp) -.L7F05F5A8: -/* 0940D8 7F05F5A8 1200005F */ beqz $s0, .L7F05F728 -/* 0940DC 7F05F5AC 24A9FFE5 */ addiu $t1, $a1, -0x1b -/* 0940E0 7F05F5B0 2D210023 */ sltiu $at, $t1, 0x23 -/* 0940E4 7F05F5B4 10200031 */ beqz $at, .L7F05F67C -/* 0940E8 7F05F5B8 00094880 */ sll $t1, $t1, 2 -/* 0940EC 7F05F5BC 3C018005 */ lui $at, %hi(jpt_temp_obj_for_itemtype) -/* 0940F0 7F05F5C0 00290821 */ addu $at, $at, $t1 -/* 0940F4 7F05F5C4 8C293D3C */ lw $t1, %lo(jpt_temp_obj_for_itemtype)($at) -/* 0940F8 7F05F5C8 01200008 */ jr $t1 -/* 0940FC 7F05F5CC 00000000 */ nop -generate_temp_remote_mine: -/* 094100 7F05F5D0 0FC26919 */ jal get_num_players -/* 094104 7F05F5D4 00000000 */ nop -/* 094108 7F05F5D8 24010001 */ li $at, 1 -/* 09410C 7F05F5DC 14410004 */ bne $v0, $at, .L7F05F5F0 -/* 094110 7F05F5E0 240B00B4 */ li $t3, 180 -/* 094114 7F05F5E4 240A012C */ li $t2, 300 -/* 094118 7F05F5E8 10000026 */ b .L7F05F684 -/* 09411C 7F05F5EC A60A0082 */ sh $t2, 0x82($s0) -.L7F05F5F0: -/* 094120 7F05F5F0 10000024 */ b .L7F05F684 -/* 094124 7F05F5F4 A60B0082 */ sh $t3, 0x82($s0) -generate_temp_proximity_mine: -/* 094128 7F05F5F8 0FC26919 */ jal get_num_players -/* 09412C 7F05F5FC 00000000 */ nop -/* 094130 7F05F600 24010001 */ li $at, 1 -/* 094134 7F05F604 14410004 */ bne $v0, $at, .L7F05F618 -/* 094138 7F05F608 240D00B4 */ li $t5, 180 -/* 09413C 7F05F60C 240C012C */ li $t4, 300 -/* 094140 7F05F610 1000001C */ b .L7F05F684 -/* 094144 7F05F614 A60C0082 */ sh $t4, 0x82($s0) -.L7F05F618: -/* 094148 7F05F618 1000001A */ b .L7F05F684 -/* 09414C 7F05F61C A60D0082 */ sh $t5, 0x82($s0) -generate_temp_timed_mine: -/* 094150 7F05F620 0FC26919 */ jal get_num_players -/* 094154 7F05F624 00000000 */ nop -/* 094158 7F05F628 24010001 */ li $at, 1 -/* 09415C 7F05F62C 14410004 */ bne $v0, $at, .L7F05F640 -/* 094160 7F05F630 240F00B4 */ li $t7, 180 -/* 094164 7F05F634 240E012C */ li $t6, 300 -/* 094168 7F05F638 10000012 */ b .L7F05F684 -/* 09416C 7F05F63C A60E0082 */ sh $t6, 0x82($s0) -.L7F05F640: -/* 094170 7F05F640 10000010 */ b .L7F05F684 -/* 094174 7F05F644 A60F0082 */ sh $t7, 0x82($s0) -generate_temp_bombcase: -/* 094178 7F05F648 0FC26919 */ jal get_num_players -/* 09417C 7F05F64C 00000000 */ nop -/* 094180 7F05F650 24010001 */ li $at, 1 -/* 094184 7F05F654 14410004 */ bne $v0, $at, .L7F05F668 -/* 094188 7F05F658 241900B4 */ li $t9, 180 -/* 09418C 7F05F65C 2418012C */ li $t8, 300 -/* 094190 7F05F660 10000008 */ b .L7F05F684 -/* 094194 7F05F664 A6180082 */ sh $t8, 0x82($s0) -.L7F05F668: -/* 094198 7F05F668 10000006 */ b .L7F05F684 -/* 09419C 7F05F66C A6190082 */ sh $t9, 0x82($s0) -generate_temp_static_thrown: -/* 0941A0 7F05F670 24080001 */ li $t0, 1 -/* 0941A4 7F05F674 10000003 */ b .L7F05F684 -/* 0941A8 7F05F678 A6080082 */ sh $t0, 0x82($s0) -generate_temp_default: -.L7F05F67C: -/* 0941AC 7F05F67C 240900F0 */ li $t1, 240 -/* 0941B0 7F05F680 A6090082 */ sh $t1, 0x82($s0) -.L7F05F684: -/* 0941B4 7F05F684 8E0A0064 */ lw $t2, 0x64($s0) -/* 0941B8 7F05F688 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 -/* 0941BC 7F05F68C 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0941C0 7F05F690 01415824 */ and $t3, $t2, $at -/* 0941C4 7F05F694 0FC26C54 */ jal get_cur_playernum -/* 0941C8 7F05F698 AE0B0064 */ sw $t3, 0x64($s0) -/* 0941CC 7F05F69C 8E0C0064 */ lw $t4, 0x64($s0) -/* 0941D0 7F05F6A0 00026C40 */ sll $t5, $v0, 0x11 -/* 0941D4 7F05F6A4 27AF00FC */ addiu $t7, $sp, 0xfc -/* 0941D8 7F05F6A8 018D7025 */ or $t6, $t4, $t5 -/* 0941DC 7F05F6AC AE0E0064 */ sw $t6, 0x64($s0) -/* 0941E0 7F05F6B0 AFAF0010 */ sw $t7, 0x10($sp) -/* 0941E4 7F05F6B4 02002025 */ move $a0, $s0 -/* 0941E8 7F05F6B8 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 0941EC 7F05F6BC 27A600A0 */ addiu $a2, $sp, 0xa0 -/* 0941F0 7F05F6C0 0FC17B07 */ jal sub_GAME_7F05EC1C -/* 0941F4 7F05F6C4 27A700F0 */ addiu $a3, $sp, 0xf0 -/* 0941F8 7F05F6C8 8E180064 */ lw $t8, 0x64($s0) -/* 0941FC 7F05F6CC 33190080 */ andi $t9, $t8, 0x80 -/* 094200 7F05F6D0 53200016 */ beql $t9, $zero, .L7F05F72C -/* 094204 7F05F6D4 8FBF0024 */ lw $ra, 0x24($sp) -/* 094208 7F05F6D8 8E02006C */ lw $v0, 0x6c($s0) -/* 09420C 7F05F6DC 3C018005 */ lui $at, %hi(D_80053DC8) -/* 094210 7F05F6E0 240B003C */ li $t3, 60 -/* 094214 7F05F6E4 8C480000 */ lw $t0, ($v0) -/* 094218 7F05F6E8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09421C 7F05F6EC 24050004 */ li $a1, 4 -/* 094220 7F05F6F0 35090002 */ ori $t1, $t0, 2 -/* 094224 7F05F6F4 AC490000 */ sw $t1, ($v0) -/* 094228 7F05F6F8 8E0A006C */ lw $t2, 0x6c($s0) -/* 09422C 7F05F6FC C4303DC8 */ lwc1 $f16, %lo(D_80053DC8)($at) -/* 094230 7F05F700 00003025 */ move $a2, $zero -/* 094234 7F05F704 E550008C */ swc1 $f16, 0x8c($t2) -/* 094238 7F05F708 8E0C006C */ lw $t4, 0x6c($s0) -/* 09423C 7F05F70C AD8B00BC */ sw $t3, 0xbc($t4) -/* 094240 7F05F710 0C002382 */ jal play_sfx_a1 -/* 094244 7F05F714 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 094248 7F05F718 10400003 */ beqz $v0, .L7F05F728 -/* 09424C 7F05F71C 00402025 */ move $a0, $v0 -/* 094250 7F05F720 0FC14E84 */ jal sub_GAME_7F053A10 -/* 094254 7F05F724 26050058 */ addiu $a1, $s0, 0x58 -.L7F05F728: -/* 094258 7F05F728 8FBF0024 */ lw $ra, 0x24($sp) -.L7F05F72C: -/* 09425C 7F05F72C 8FB00020 */ lw $s0, 0x20($sp) -/* 094260 7F05F730 27BD0140 */ addiu $sp, $sp, 0x140 -/* 094264 7F05F734 03E00008 */ jr $ra -/* 094268 7F05F738 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05F73C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053DCC -.word 0x42055555 /*33.333332*/ -glabel D_80053DD0 -.word 0x3e99999a /*0.30000001*/ -glabel D_80053DD4 -.word 0x3e088888 /*0.13333333*/ -.text -glabel sub_GAME_7F05F73C -/* 09426C 7F05F73C 000470C0 */ sll $t6, $a0, 3 -/* 094270 7F05F740 01C47023 */ subu $t6, $t6, $a0 -/* 094274 7F05F744 000E7080 */ sll $t6, $t6, 2 -/* 094278 7F05F748 01C47021 */ addu $t6, $t6, $a0 -/* 09427C 7F05F74C 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 094280 7F05F750 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 094284 7F05F754 000E7080 */ sll $t6, $t6, 2 -/* 094288 7F05F758 01C47021 */ addu $t6, $t6, $a0 -/* 09428C 7F05F75C 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 094290 7F05F760 000E70C0 */ sll $t6, $t6, 3 -/* 094294 7F05F764 01EEC021 */ addu $t8, $t7, $t6 -/* 094298 7F05F768 AFBF001C */ sw $ra, 0x1c($sp) -/* 09429C 7F05F76C 27190870 */ addiu $t9, $t8, 0x870 -/* 0942A0 7F05F770 AFA400E8 */ sw $a0, 0xe8($sp) -/* 0942A4 7F05F774 AFB900E0 */ sw $t9, 0xe0($sp) -/* 0942A8 7F05F778 0FC225E6 */ jal get_curplayer_positiondata -/* 0942AC 7F05F77C AFAE0028 */ sw $t6, 0x28($sp) -/* 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 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 -/* 0942CC 7F05F79C 0FC1A073 */ jal sub_GAME_7F0681CC -/* 0942D0 7F05F7A0 8FA600E8 */ lw $a2, 0xe8($sp) -/* 0942D4 7F05F7A4 0FC1E111 */ jal sub_GAME_7F078444 -/* 0942D8 7F05F7A8 00000000 */ nop -/* 0942DC 7F05F7AC 00402025 */ move $a0, $v0 -/* 0942E0 7F05F7B0 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0942E4 7F05F7B4 27A50038 */ addiu $a1, $sp, 0x38 -/* 0942E8 7F05F7B8 3C018005 */ lui $at, %hi(D_80053DCC) -/* 0942EC 7F05F7BC C4203DCC */ lwc1 $f0, %lo(D_80053DCC)($at) -/* 0942F0 7F05F7C0 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0942F4 7F05F7C4 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0942F8 7F05F7C8 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 0942FC 7F05F7CC 46002182 */ mul.s $f6, $f4, $f0 -/* 094300 7F05F7D0 3C088005 */ lui $t0, %hi(clock_timer) -/* 094304 7F05F7D4 8D088374 */ lw $t0, %lo(clock_timer)($t0) -/* 094308 7F05F7D8 46004282 */ mul.s $f10, $f8, $f0 -/* 09430C 7F05F7DC 8FA20030 */ lw $v0, 0x30($sp) -/* 094310 7F05F7E0 8FA30034 */ lw $v1, 0x34($sp) -/* 094314 7F05F7E4 46008482 */ mul.s $f18, $f16, $f0 -/* 094318 7F05F7E8 E7A60094 */ swc1 $f6, 0x94($sp) -/* 09431C 7F05F7EC 3C098008 */ lui $t1, %hi(pPlayer) -/* 094320 7F05F7F0 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 094324 7F05F7F4 19000015 */ blez $t0, .L7F05F84C -/* 094328 7F05F7F8 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 09432C 7F05F7FC C4640008 */ lwc1 $f4, 8($v1) -/* 094330 7F05F800 C4480000 */ lwc1 $f8, ($v0) -/* 094334 7F05F804 3C018005 */ lui $at, %hi(global_timer_delta) -/* 094338 7F05F808 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 09433C 7F05F80C 46082401 */ sub.s $f16, $f4, $f8 -/* 094340 7F05F810 46008103 */ div.s $f4, $f16, $f0 -/* 094344 7F05F814 46043200 */ add.s $f8, $f6, $f4 -/* 094348 7F05F818 E7A80094 */ swc1 $f8, 0x94($sp) -/* 09434C 7F05F81C C4460004 */ lwc1 $f6, 4($v0) -/* 094350 7F05F820 C470000C */ lwc1 $f16, 0xc($v1) -/* 094354 7F05F824 46068101 */ sub.s $f4, $f16, $f6 -/* 094358 7F05F828 46002203 */ div.s $f8, $f4, $f0 -/* 09435C 7F05F82C 46085400 */ add.s $f16, $f10, $f8 -/* 094360 7F05F830 E7B00098 */ swc1 $f16, 0x98($sp) -/* 094364 7F05F834 C4440008 */ lwc1 $f4, 8($v0) -/* 094368 7F05F838 C4660010 */ lwc1 $f6, 0x10($v1) -/* 09436C 7F05F83C 46043281 */ sub.s $f10, $f6, $f4 -/* 094370 7F05F840 46005203 */ div.s $f8, $f10, $f0 -/* 094374 7F05F844 46089400 */ add.s $f16, $f18, $f8 -/* 094378 7F05F848 E7B0009C */ swc1 $f16, 0x9c($sp) -.L7F05F84C: -/* 09437C 7F05F84C 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 094380 7F05F850 8FAA0028 */ lw $t2, 0x28($sp) -/* 094384 7F05F854 27A50050 */ addiu $a1, $sp, 0x50 -/* 094388 7F05F858 012A2021 */ addu $a0, $t1, $t2 -/* 09438C 7F05F85C 0FC16008 */ jal sub_GAME_7F058020 -/* 094390 7F05F860 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 094394 7F05F864 44800000 */ mtc1 $zero, $f0 -/* 094398 7F05F868 240400CB */ li $a0, 203 -/* 09439C 7F05F86C 24050057 */ li $a1, 87 -/* 0943A0 7F05F870 E7A00080 */ swc1 $f0, 0x80($sp) -/* 0943A4 7F05F874 E7A00084 */ swc1 $f0, 0x84($sp) -/* 0943A8 7F05F878 0FC1481B */ jal create_new_item_instance_of_model -/* 0943AC 7F05F87C E7A00088 */ swc1 $f0, 0x88($sp) -/* 0943B0 7F05F880 10400025 */ beqz $v0, .L7F05F918 -/* 0943B4 7F05F884 240B04B0 */ li $t3, 1200 -/* 0943B8 7F05F888 8C4C0064 */ lw $t4, 0x64($v0) -/* 0943BC 7F05F88C 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 -/* 0943C0 7F05F890 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0943C4 7F05F894 01816824 */ and $t5, $t4, $at -/* 0943C8 7F05F898 A44B0082 */ sh $t3, 0x82($v0) -/* 0943CC 7F05F89C AC4D0064 */ sw $t5, 0x64($v0) -/* 0943D0 7F05F8A0 0FC26C54 */ jal get_cur_playernum -/* 0943D4 7F05F8A4 AFA200E4 */ sw $v0, 0xe4($sp) -/* 0943D8 7F05F8A8 8FA400E4 */ lw $a0, 0xe4($sp) -/* 0943DC 7F05F8AC 00027C40 */ sll $t7, $v0, 0x11 -/* 0943E0 7F05F8B0 27B900A0 */ addiu $t9, $sp, 0xa0 -/* 0943E4 7F05F8B4 8C8E0064 */ lw $t6, 0x64($a0) -/* 0943E8 7F05F8B8 27A60050 */ addiu $a2, $sp, 0x50 -/* 0943EC 7F05F8BC 27A70094 */ addiu $a3, $sp, 0x94 -/* 0943F0 7F05F8C0 01CFC025 */ or $t8, $t6, $t7 -/* 0943F4 7F05F8C4 AC980064 */ sw $t8, 0x64($a0) -/* 0943F8 7F05F8C8 8FA500E0 */ lw $a1, 0xe0($sp) -/* 0943FC 7F05F8CC AFB90010 */ sw $t9, 0x10($sp) -/* 094400 7F05F8D0 0FC17B07 */ jal sub_GAME_7F05EC1C -/* 094404 7F05F8D4 24A502E8 */ addiu $a1, $a1, 0x2e8 -/* 094408 7F05F8D8 8FA400E4 */ lw $a0, 0xe4($sp) -/* 09440C 7F05F8DC 3C018005 */ lui $at, %hi(D_80053DD0) -/* 094410 7F05F8E0 8C880064 */ lw $t0, 0x64($a0) -/* 094414 7F05F8E4 31090080 */ andi $t1, $t0, 0x80 -/* 094418 7F05F8E8 5120000C */ beql $t1, $zero, .L7F05F91C -/* 09441C 7F05F8EC 8FBF001C */ lw $ra, 0x1c($sp) -/* 094420 7F05F8F0 C4263DD0 */ lwc1 $f6, %lo(D_80053DD0)($at) -/* 094424 7F05F8F4 8C8A006C */ lw $t2, 0x6c($a0) -/* 094428 7F05F8F8 3C018005 */ lui $at, %hi(D_80053DD4) -/* 09442C 7F05F8FC 240C003C */ li $t4, 60 -/* 094430 7F05F900 E546008C */ swc1 $f6, 0x8c($t2) -/* 094434 7F05F904 8C8B006C */ lw $t3, 0x6c($a0) -/* 094438 7F05F908 C4243DD4 */ lwc1 $f4, %lo(D_80053DD4)($at) -/* 09443C 7F05F90C E5640094 */ swc1 $f4, 0x94($t3) -/* 094440 7F05F910 8C8D006C */ lw $t5, 0x6c($a0) -/* 094444 7F05F914 ADAC00BC */ sw $t4, 0xbc($t5) -.L7F05F918: -/* 094448 7F05F918 8FBF001C */ lw $ra, 0x1c($sp) -.L7F05F91C: -/* 09444C 7F05F91C 27BD00E8 */ addiu $sp, $sp, 0xe8 -/* 094450 7F05F920 03E00008 */ jr $ra -/* 094454 7F05F924 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05F928(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05F928 -/* 094458 7F05F928 000478C0 */ sll $t7, $a0, 3 -/* 09445C 7F05F92C 01E47823 */ subu $t7, $t7, $a0 -/* 094460 7F05F930 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 094464 7F05F934 000F7880 */ sll $t7, $t7, 2 -/* 094468 7F05F938 01E47821 */ addu $t7, $t7, $a0 -/* 09446C 7F05F93C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 094470 7F05F940 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 094474 7F05F944 000F7880 */ sll $t7, $t7, 2 -/* 094478 7F05F948 01E47821 */ addu $t7, $t7, $a0 -/* 09447C 7F05F94C 000F78C0 */ sll $t7, $t7, 3 -/* 094480 7F05F950 AFBF0024 */ sw $ra, 0x24($sp) -/* 094484 7F05F954 AFB30020 */ sw $s3, 0x20($sp) -/* 094488 7F05F958 AFB2001C */ sw $s2, 0x1c($sp) -/* 09448C 7F05F95C AFB10018 */ sw $s1, 0x18($sp) -/* 094490 7F05F960 AFB00014 */ sw $s0, 0x14($sp) -/* 094494 7F05F964 01CF1021 */ addu $v0, $t6, $t7 -/* 094498 7F05F968 8C500A90 */ lw $s0, 0xa90($v0) -/* 09449C 7F05F96C 24420870 */ addiu $v0, $v0, 0x870 -/* 0944A0 7F05F970 5200003C */ beql $s0, $zero, .L7F05FA64 -/* 0944A4 7F05F974 8FBF0024 */ lw $ra, 0x24($sp) -/* 0944A8 7F05F978 8E130010 */ lw $s3, 0x10($s0) -/* 0944AC 7F05F97C 52600039 */ beql $s3, $zero, .L7F05FA64 -/* 0944B0 7F05F980 8FBF0024 */ lw $ra, 0x24($sp) -/* 0944B4 7F05F984 0FC225E6 */ jal get_curplayer_positiondata -/* 0944B8 7F05F988 AFA2007C */ sw $v0, 0x7c($sp) -/* 0944BC 7F05F98C 8FA4007C */ lw $a0, 0x7c($sp) -/* 0944C0 7F05F990 27B20034 */ addiu $s2, $sp, 0x34 -/* 0944C4 7F05F994 AFA20030 */ sw $v0, 0x30($sp) -/* 0944C8 7F05F998 8E110014 */ lw $s1, 0x14($s0) -/* 0944CC 7F05F99C 02402825 */ move $a1, $s2 -/* 0944D0 7F05F9A0 0FC16008 */ jal sub_GAME_7F058020 -/* 0944D4 7F05F9A4 24840268 */ addiu $a0, $a0, 0x268 -/* 0944D8 7F05F9A8 44800000 */ mtc1 $zero, $f0 -/* 0944DC 7F05F9AC 02402825 */ move $a1, $s2 -/* 0944E0 7F05F9B0 E7A00064 */ swc1 $f0, 0x64($sp) -/* 0944E4 7F05F9B4 E7A00068 */ swc1 $f0, 0x68($sp) -/* 0944E8 7F05F9B8 E7A0006C */ swc1 $f0, 0x6c($sp) -/* 0944EC 7F05F9BC 8E180014 */ lw $t8, 0x14($s0) -/* 0944F0 7F05F9C0 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0944F4 7F05F9C4 C70C0014 */ lwc1 $f12, 0x14($t8) -/* 0944F8 7F05F9C8 8FA5007C */ lw $a1, 0x7c($sp) -/* 0944FC 7F05F9CC 8FB90030 */ lw $t9, 0x30($sp) -/* 094500 7F05F9D0 02002025 */ move $a0, $s0 -/* 094504 7F05F9D4 02403025 */ move $a2, $s2 -/* 094508 7F05F9D8 24A502E8 */ addiu $a1, $a1, 0x2e8 -/* 09450C 7F05F9DC 0FC101D5 */ jal sub_GAME_7F040754 -/* 094510 7F05F9E0 8F270014 */ lw $a3, 0x14($t9) -/* 094514 7F05F9E4 0FC10121 */ jal sub_GAME_7F040484 -/* 094518 7F05F9E8 02002025 */ move $a0, $s0 -/* 09451C 7F05F9EC 8E280008 */ lw $t0, 8($s1) -/* 094520 7F05F9F0 8504000E */ lh $a0, 0xe($t0) -/* 094524 7F05F9F4 00044980 */ sll $t1, $a0, 6 -/* 094528 7F05F9F8 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 09452C 7F05F9FC 01202025 */ move $a0, $t1 -/* 094530 7F05FA00 AE22000C */ sw $v0, 0xc($s1) -/* 094534 7F05FA04 26040018 */ addiu $a0, $s0, 0x18 -/* 094538 7F05FA08 0FC16008 */ jal sub_GAME_7F058020 -/* 09453C 7F05FA0C 02402825 */ move $a1, $s2 -/* 094540 7F05FA10 26040058 */ addiu $a0, $s0, 0x58 -/* 094544 7F05FA14 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 094548 7F05FA18 02402825 */ move $a1, $s2 -/* 09454C 7F05FA1C 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 094550 7F05FA20 00000000 */ nop -/* 094554 7F05FA24 00402025 */ move $a0, $v0 -/* 094558 7F05FA28 02402825 */ move $a1, $s2 -/* 09455C 7F05FA2C 0FC16063 */ jal sub_GAME_7F05818C -/* 094560 7F05FA30 8E26000C */ lw $a2, 0xc($s1) -/* 094564 7F05FA34 8E2A0008 */ lw $t2, 8($s1) -/* 094568 7F05FA38 02202025 */ move $a0, $s1 -/* 09456C 7F05FA3C 0FC1BBA9 */ jal sub_GAME_7F06EEA4 -/* 094570 7F05FA40 8D450000 */ lw $a1, ($t2) -/* 094574 7F05FA44 926B0001 */ lbu $t3, 1($s3) -/* 094578 7F05FA48 356C0002 */ ori $t4, $t3, 2 -/* 09457C 7F05FA4C A26C0001 */ sb $t4, 1($s3) -/* 094580 7F05FA50 8E2D000C */ lw $t5, 0xc($s1) -/* 094584 7F05FA54 C5A40038 */ lwc1 $f4, 0x38($t5) -/* 094588 7F05FA58 46002187 */ neg.s $f6, $f4 -/* 09458C 7F05FA5C E6660018 */ swc1 $f6, 0x18($s3) -/* 094590 7F05FA60 8FBF0024 */ lw $ra, 0x24($sp) -.L7F05FA64: -/* 094594 7F05FA64 8FB00014 */ lw $s0, 0x14($sp) -/* 094598 7F05FA68 8FB10018 */ lw $s1, 0x18($sp) -/* 09459C 7F05FA6C 8FB2001C */ lw $s2, 0x1c($sp) -/* 0945A0 7F05FA70 8FB30020 */ lw $s3, 0x20($sp) -/* 0945A4 7F05FA74 03E00008 */ jr $ra -/* 0945A8 7F05FA78 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05FA7C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05FA7C -/* 0945AC 7F05FA7C 000478C0 */ sll $t7, $a0, 3 -/* 0945B0 7F05FA80 01E47823 */ subu $t7, $t7, $a0 -/* 0945B4 7F05FA84 000F7880 */ sll $t7, $t7, 2 -/* 0945B8 7F05FA88 01E47821 */ addu $t7, $t7, $a0 -/* 0945BC 7F05FA8C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0945C0 7F05FA90 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0945C4 7F05FA94 000F7880 */ sll $t7, $t7, 2 -/* 0945C8 7F05FA98 01E47821 */ addu $t7, $t7, $a0 -/* 0945CC 7F05FA9C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0945D0 7F05FAA0 000F78C0 */ sll $t7, $t7, 3 -/* 0945D4 7F05FAA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0945D8 7F05FAA8 01CF1821 */ addu $v1, $t6, $t7 -/* 0945DC 7F05FAAC 8C780A90 */ lw $t8, 0xa90($v1) -/* 0945E0 7F05FAB0 24630870 */ addiu $v1, $v1, 0x870 -/* 0945E4 7F05FAB4 5700000F */ bnezl $t8, .L7F05FAF4 -/* 0945E8 7F05FAB8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0945EC 7F05FABC 8C79002C */ lw $t9, 0x2c($v1) -/* 0945F0 7F05FAC0 240400CA */ li $a0, 202 -/* 0945F4 7F05FAC4 24050056 */ li $a1, 86 -/* 0945F8 7F05FAC8 5B20000A */ blezl $t9, .L7F05FAF4 -/* 0945FC 7F05FACC 8FBF0014 */ lw $ra, 0x14($sp) -/* 094600 7F05FAD0 0FC1481B */ jal create_new_item_instance_of_model -/* 094604 7F05FAD4 AFA3001C */ sw $v1, 0x1c($sp) -/* 094608 7F05FAD8 10400005 */ beqz $v0, .L7F05FAF0 -/* 09460C 7F05FADC 8FA3001C */ lw $v1, 0x1c($sp) -/* 094610 7F05FAE0 AC620220 */ sw $v0, 0x220($v1) -/* 094614 7F05FAE4 AC600224 */ sw $zero, 0x224($v1) -/* 094618 7F05FAE8 24080001 */ li $t0, 1 -/* 09461C 7F05FAEC A4480082 */ sh $t0, 0x82($v0) -.L7F05FAF0: -/* 094620 7F05FAF0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05FAF4: -/* 094624 7F05FAF4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 094628 7F05FAF8 03E00008 */ jr $ra -/* 09462C 7F05FAFC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05FB00(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05FB00 -/* 094630 7F05FB00 000478C0 */ sll $t7, $a0, 3 -/* 094634 7F05FB04 01E47823 */ subu $t7, $t7, $a0 -/* 094638 7F05FB08 000F7880 */ sll $t7, $t7, 2 -/* 09463C 7F05FB0C 01E47821 */ addu $t7, $t7, $a0 -/* 094640 7F05FB10 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 094644 7F05FB14 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 094648 7F05FB18 000F7880 */ sll $t7, $t7, 2 -/* 09464C 7F05FB1C 01E47821 */ addu $t7, $t7, $a0 -/* 094650 7F05FB20 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 094654 7F05FB24 000F78C0 */ sll $t7, $t7, 3 -/* 094658 7F05FB28 AFBF0014 */ sw $ra, 0x14($sp) -/* 09465C 7F05FB2C 01CF1021 */ addu $v0, $t6, $t7 -/* 094660 7F05FB30 8C460A90 */ lw $a2, 0xa90($v0) -/* 094664 7F05FB34 24420870 */ addiu $v0, $v0, 0x870 -/* 094668 7F05FB38 24050001 */ li $a1, 1 -/* 09466C 7F05FB3C 10C00005 */ beqz $a2, .L7F05FB54 -/* 094670 7F05FB40 00C02025 */ move $a0, $a2 -/* 094674 7F05FB44 0FC10409 */ jal sub_GAME_7F041024 -/* 094678 7F05FB48 AFA2001C */ sw $v0, 0x1c($sp) -/* 09467C 7F05FB4C 8FA2001C */ lw $v0, 0x1c($sp) -/* 094680 7F05FB50 AC400220 */ sw $zero, 0x220($v0) -.L7F05FB54: -/* 094684 7F05FB54 8FBF0014 */ lw $ra, 0x14($sp) -/* 094688 7F05FB58 27BD0020 */ addiu $sp, $sp, 0x20 -/* 09468C 7F05FB5C 03E00008 */ jr $ra -/* 094690 7F05FB60 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05FB64(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053DD8 -.word 0x42855555 /*66.666664*/ -glabel D_80053DDC -.word 0x3f8e38e3 /*1.111111*/ -.text -glabel sub_GAME_7F05FB64 -/* 094694 7F05FB64 000470C0 */ sll $t6, $a0, 3 -/* 094698 7F05FB68 01C47023 */ subu $t6, $t6, $a0 -/* 09469C 7F05FB6C 000E7080 */ sll $t6, $t6, 2 -/* 0946A0 7F05FB70 01C47021 */ addu $t6, $t6, $a0 -/* 0946A4 7F05FB74 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0946A8 7F05FB78 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0946AC 7F05FB7C 000E7080 */ sll $t6, $t6, 2 -/* 0946B0 7F05FB80 01C47021 */ addu $t6, $t6, $a0 -/* 0946B4 7F05FB84 27BDFEF8 */ addiu $sp, $sp, -0x108 -/* 0946B8 7F05FB88 000E70C0 */ sll $t6, $t6, 3 -/* 0946BC 7F05FB8C 01EEC021 */ addu $t8, $t7, $t6 -/* 0946C0 7F05FB90 AFBF001C */ sw $ra, 0x1c($sp) -/* 0946C4 7F05FB94 27190870 */ addiu $t9, $t8, 0x870 -/* 0946C8 7F05FB98 AFA40108 */ sw $a0, 0x108($sp) -/* 0946CC 7F05FB9C AFB90100 */ sw $t9, 0x100($sp) -/* 0946D0 7F05FBA0 0FC225E6 */ jal get_curplayer_positiondata -/* 0946D4 7F05FBA4 AFAE0024 */ sw $t6, 0x24($sp) -/* 0946D8 7F05FBA8 0FC2280B */ jal get_BONDdata_field408 -/* 0946DC 7F05FBAC AFA20048 */ sw $v0, 0x48($sp) -/* 0946E0 7F05FBB0 AFA20044 */ sw $v0, 0x44($sp) -/* 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 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 -/* 094700 7F05FBD0 27A40058 */ addiu $a0, $sp, 0x58 -/* 094704 7F05FBD4 1501005E */ bne $t0, $at, .L7F05FD50 -/* 094708 7F05FBD8 27A5004C */ addiu $a1, $sp, 0x4c -/* 09470C 7F05FBDC 0FC1F3A1 */ jal get_ptr_for_players_tank -/* 094710 7F05FBE0 00000000 */ nop -/* 094714 7F05FBE4 10400009 */ beqz $v0, .L7F05FC0C -/* 094718 7F05FBE8 AFA20030 */ sw $v0, 0x30($sp) -/* 09471C 7F05FBEC 90490001 */ lbu $t1, 1($v0) -/* 094720 7F05FBF0 312A0002 */ andi $t2, $t1, 2 -/* 094724 7F05FBF4 51400006 */ beql $t2, $zero, .L7F05FC10 -/* 094728 7F05FBF8 27A40058 */ addiu $a0, $sp, 0x58 -/* 09472C 7F05FBFC 0FC1F3AC */ jal sub_GAME_7F07CEB0 -/* 094730 7F05FC00 27A4004C */ addiu $a0, $sp, 0x4c -/* 094734 7F05FC04 10000009 */ b .L7F05FC2C -/* 094738 7F05FC08 00000000 */ nop -.L7F05FC0C: -/* 09473C 7F05FC0C 27A40058 */ addiu $a0, $sp, 0x58 -.L7F05FC10: -/* 094740 7F05FC10 0FC1A064 */ jal sub_GAME_7F068190 -/* 094744 7F05FC14 27A5004C */ addiu $a1, $sp, 0x4c -/* 094748 7F05FC18 0FC1E111 */ jal sub_GAME_7F078444 -/* 09474C 7F05FC1C 00000000 */ nop -/* 094750 7F05FC20 00402025 */ move $a0, $v0 -/* 094754 7F05FC24 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 094758 7F05FC28 27A5004C */ addiu $a1, $sp, 0x4c -.L7F05FC2C: -/* 09475C 7F05FC2C 3C018005 */ lui $at, %hi(D_80053DD8) -/* 094760 7F05FC30 C4203DD8 */ lwc1 $f0, %lo(D_80053DD8)($at) -/* 094764 7F05FC34 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 094768 7F05FC38 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 09476C 7F05FC3C C7B00054 */ lwc1 $f16, 0x54($sp) -/* 094770 7F05FC40 46002182 */ mul.s $f6, $f4, $f0 -/* 094774 7F05FC44 3C0B8005 */ lui $t3, %hi(clock_timer) -/* 094778 7F05FC48 8D6B8374 */ lw $t3, %lo(clock_timer)($t3) -/* 09477C 7F05FC4C 46004282 */ mul.s $f10, $f8, $f0 -/* 094780 7F05FC50 8FA20048 */ lw $v0, 0x48($sp) -/* 094784 7F05FC54 8FA30044 */ lw $v1, 0x44($sp) -/* 094788 7F05FC58 46008482 */ mul.s $f18, $f16, $f0 -/* 09478C 7F05FC5C E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 094790 7F05FC60 E7AA00B8 */ swc1 $f10, 0xb8($sp) -/* 094794 7F05FC64 19600015 */ blez $t3, .L7F05FCBC -/* 094798 7F05FC68 E7B200BC */ swc1 $f18, 0xbc($sp) -/* 09479C 7F05FC6C C4440008 */ lwc1 $f4, 8($v0) -/* 0947A0 7F05FC70 C4680000 */ lwc1 $f8, ($v1) -/* 0947A4 7F05FC74 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0947A8 7F05FC78 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 0947AC 7F05FC7C 46082401 */ sub.s $f16, $f4, $f8 -/* 0947B0 7F05FC80 46008103 */ div.s $f4, $f16, $f0 -/* 0947B4 7F05FC84 46043200 */ add.s $f8, $f6, $f4 -/* 0947B8 7F05FC88 E7A800B4 */ swc1 $f8, 0xb4($sp) -/* 0947BC 7F05FC8C C4660004 */ lwc1 $f6, 4($v1) -/* 0947C0 7F05FC90 C450000C */ lwc1 $f16, 0xc($v0) -/* 0947C4 7F05FC94 46068101 */ sub.s $f4, $f16, $f6 -/* 0947C8 7F05FC98 46002203 */ div.s $f8, $f4, $f0 -/* 0947CC 7F05FC9C 46085400 */ add.s $f16, $f10, $f8 -/* 0947D0 7F05FCA0 E7B000B8 */ swc1 $f16, 0xb8($sp) -/* 0947D4 7F05FCA4 C4640008 */ lwc1 $f4, 8($v1) -/* 0947D8 7F05FCA8 C4460010 */ lwc1 $f6, 0x10($v0) -/* 0947DC 7F05FCAC 46043281 */ sub.s $f10, $f6, $f4 -/* 0947E0 7F05FCB0 46005203 */ div.s $f8, $f10, $f0 -/* 0947E4 7F05FCB4 46089400 */ add.s $f16, $f18, $f8 -/* 0947E8 7F05FCB8 E7B000BC */ swc1 $f16, 0xbc($sp) -.L7F05FCBC: -/* 0947EC 7F05FCBC 8FA30030 */ lw $v1, 0x30($sp) -/* 0947F0 7F05FCC0 8FA20048 */ lw $v0, 0x48($sp) -/* 0947F4 7F05FCC4 50600019 */ beql $v1, $zero, .L7F05FD2C -/* 0947F8 7F05FCC8 C4520008 */ lwc1 $f18, 8($v0) -/* 0947FC 7F05FCCC 906C0001 */ lbu $t4, 1($v1) -/* 094800 7F05FCD0 318D0002 */ andi $t5, $t4, 2 -/* 094804 7F05FCD4 51A00015 */ beql $t5, $zero, .L7F05FD2C -/* 094808 7F05FCD8 C4520008 */ lwc1 $f18, 8($v0) -/* 09480C 7F05FCDC 8C620004 */ lw $v0, 4($v1) -/* 094810 7F05FCE0 8C4E0014 */ lw $t6, 0x14($v0) -/* 094814 7F05FCE4 8DCF000C */ lw $t7, 0xc($t6) -/* 094818 7F05FCE8 C5E60130 */ lwc1 $f6, 0x130($t7) -/* 09481C 7F05FCEC E7A60034 */ swc1 $f6, 0x34($sp) -/* 094820 7F05FCF0 8C580014 */ lw $t8, 0x14($v0) -/* 094824 7F05FCF4 8F19000C */ lw $t9, 0xc($t8) -/* 094828 7F05FCF8 C7240134 */ lwc1 $f4, 0x134($t9) -/* 09482C 7F05FCFC E7A40038 */ swc1 $f4, 0x38($sp) -/* 094830 7F05FD00 8C480014 */ lw $t0, 0x14($v0) -/* 094834 7F05FD04 8D09000C */ lw $t1, 0xc($t0) -/* 094838 7F05FD08 C52A0138 */ lwc1 $f10, 0x138($t1) -/* 09483C 7F05FD0C 0FC1E111 */ jal sub_GAME_7F078444 -/* 094840 7F05FD10 E7AA003C */ swc1 $f10, 0x3c($sp) -/* 094844 7F05FD14 00402025 */ move $a0, $v0 -/* 094848 7F05FD18 0FC1611D */ jal sub_GAME_7F058474 -/* 09484C 7F05FD1C 27A50034 */ addiu $a1, $sp, 0x34 -/* 094850 7F05FD20 10000007 */ b .L7F05FD40 -/* 094854 7F05FD24 00000000 */ nop -/* 094858 7F05FD28 C4520008 */ lwc1 $f18, 8($v0) -.L7F05FD2C: -/* 09485C 7F05FD2C E7B20034 */ swc1 $f18, 0x34($sp) -/* 094860 7F05FD30 C448000C */ lwc1 $f8, 0xc($v0) -/* 094864 7F05FD34 E7A80038 */ swc1 $f8, 0x38($sp) -/* 094868 7F05FD38 C4500010 */ lwc1 $f16, 0x10($v0) -/* 09486C 7F05FD3C E7B0003C */ swc1 $f16, 0x3c($sp) -.L7F05FD40: -/* 094870 7F05FD40 0FC271EB */ jal sub_GAME_7F09C7AC -/* 094874 7F05FD44 00000000 */ nop -/* 094878 7F05FD48 1000003A */ b .L7F05FE34 -/* 09487C 7F05FD4C 00000000 */ nop -.L7F05FD50: -/* 094880 7F05FD50 0FC1A073 */ jal sub_GAME_7F0681CC -/* 094884 7F05FD54 8FA60108 */ lw $a2, 0x108($sp) -/* 094888 7F05FD58 0FC1E111 */ jal sub_GAME_7F078444 -/* 09488C 7F05FD5C 00000000 */ nop -/* 094890 7F05FD60 00402025 */ move $a0, $v0 -/* 094894 7F05FD64 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 094898 7F05FD68 27A5004C */ addiu $a1, $sp, 0x4c -/* 09489C 7F05FD6C 8FA60100 */ lw $a2, 0x100($sp) -/* 0948A0 7F05FD70 3C018005 */ lui $at, %hi(D_80053DDC) -/* 0948A4 7F05FD74 C4223DDC */ lwc1 $f2, %lo(D_80053DDC)($at) -/* 0948A8 7F05FD78 C4C602E8 */ lwc1 $f6, 0x2e8($a2) -/* 0948AC 7F05FD7C C7B2004C */ lwc1 $f18, 0x4c($sp) -/* 0948B0 7F05FD80 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 0948B4 7F05FD84 E7A60034 */ swc1 $f6, 0x34($sp) -/* 0948B8 7F05FD88 C4C402EC */ lwc1 $f4, 0x2ec($a2) -/* 0948BC 7F05FD8C 46029202 */ mul.s $f8, $f18, $f2 -/* 0948C0 7F05FD90 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0948C4 7F05FD94 E7A40038 */ swc1 $f4, 0x38($sp) -/* 0948C8 7F05FD98 C4CA02F0 */ lwc1 $f10, 0x2f0($a2) -/* 0948CC 7F05FD9C 46028182 */ mul.s $f6, $f16, $f2 -/* 0948D0 7F05FDA0 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 0948D4 7F05FDA4 E7AA003C */ swc1 $f10, 0x3c($sp) -/* 0948D8 7F05FDA8 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 0948DC 7F05FDAC 46022282 */ mul.s $f10, $f4, $f2 -/* 0948E0 7F05FDB0 3C0A8005 */ lui $t2, %hi(clock_timer) -/* 0948E4 7F05FDB4 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) -/* 0948E8 7F05FDB8 46004482 */ mul.s $f18, $f8, $f0 -/* 0948EC 7F05FDBC E7A800A4 */ swc1 $f8, 0xa4($sp) -/* 0948F0 7F05FDC0 E7A600A8 */ swc1 $f6, 0xa8($sp) -/* 0948F4 7F05FDC4 46003402 */ mul.s $f16, $f6, $f0 -/* 0948F8 7F05FDC8 E7AA00AC */ swc1 $f10, 0xac($sp) -/* 0948FC 7F05FDCC 8FA20044 */ lw $v0, 0x44($sp) -/* 094900 7F05FDD0 46005102 */ mul.s $f4, $f10, $f0 -/* 094904 7F05FDD4 E7B200B4 */ swc1 $f18, 0xb4($sp) -/* 094908 7F05FDD8 8FA30048 */ lw $v1, 0x48($sp) -/* 09490C 7F05FDDC E7B000B8 */ swc1 $f16, 0xb8($sp) -/* 094910 7F05FDE0 19400014 */ blez $t2, .L7F05FE34 -/* 094914 7F05FDE4 E7A400BC */ swc1 $f4, 0xbc($sp) -/* 094918 7F05FDE8 C4680008 */ lwc1 $f8, 8($v1) -/* 09491C 7F05FDEC C4460000 */ lwc1 $f6, ($v0) -/* 094920 7F05FDF0 46064281 */ sub.s $f10, $f8, $f6 -/* 094924 7F05FDF4 46005103 */ div.s $f4, $f10, $f0 -/* 094928 7F05FDF8 46049200 */ add.s $f8, $f18, $f4 -/* 09492C 7F05FDFC E7A800B4 */ swc1 $f8, 0xb4($sp) -/* 094930 7F05FE00 C44A0004 */ lwc1 $f10, 4($v0) -/* 094934 7F05FE04 C466000C */ lwc1 $f6, 0xc($v1) -/* 094938 7F05FE08 460A3481 */ sub.s $f18, $f6, $f10 -/* 09493C 7F05FE0C 46009103 */ div.s $f4, $f18, $f0 -/* 094940 7F05FE10 46048200 */ add.s $f8, $f16, $f4 -/* 094944 7F05FE14 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 094948 7F05FE18 E7A800B8 */ swc1 $f8, 0xb8($sp) -/* 09494C 7F05FE1C C44A0008 */ lwc1 $f10, 8($v0) -/* 094950 7F05FE20 C4660010 */ lwc1 $f6, 0x10($v1) -/* 094954 7F05FE24 460A3481 */ sub.s $f18, $f6, $f10 -/* 094958 7F05FE28 46009403 */ div.s $f16, $f18, $f0 -/* 09495C 7F05FE2C 46102200 */ add.s $f8, $f4, $f16 -/* 094960 7F05FE30 E7A800BC */ swc1 $f8, 0xbc($sp) -.L7F05FE34: -/* 094964 7F05FE34 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 094968 7F05FE38 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 09496C 7F05FE3C 8FAC0024 */ lw $t4, 0x24($sp) -/* 094970 7F05FE40 27A50064 */ addiu $a1, $sp, 0x64 -/* 094974 7F05FE44 016C2021 */ addu $a0, $t3, $t4 -/* 094978 7F05FE48 0FC16008 */ jal sub_GAME_7F058020 -/* 09497C 7F05FE4C 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 094980 7F05FE50 44800000 */ mtc1 $zero, $f0 -/* 094984 7F05FE54 8FA30100 */ lw $v1, 0x100($sp) -/* 094988 7F05FE58 240D0001 */ li $t5, 1 -/* 09498C 7F05FE5C E7A00094 */ swc1 $f0, 0x94($sp) -/* 094990 7F05FE60 E7A00098 */ swc1 $f0, 0x98($sp) -/* 094994 7F05FE64 E7A0009C */ swc1 $f0, 0x9c($sp) -/* 094998 7F05FE68 8C620220 */ lw $v0, 0x220($v1) -/* 09499C 7F05FE6C 240400CA */ li $a0, 202 -/* 0949A0 7F05FE70 10400004 */ beqz $v0, .L7F05FE84 -/* 0949A4 7F05FE74 00000000 */ nop -/* 0949A8 7F05FE78 00402025 */ move $a0, $v0 -/* 0949AC 7F05FE7C 10000004 */ b .L7F05FE90 -/* 0949B0 7F05FE80 AC6D0224 */ sw $t5, 0x224($v1) -.L7F05FE84: -/* 0949B4 7F05FE84 0FC1481B */ jal create_new_item_instance_of_model -/* 0949B8 7F05FE88 24050056 */ li $a1, 86 -/* 0949BC 7F05FE8C 00402025 */ move $a0, $v0 -.L7F05FE90: -/* 0949C0 7F05FE90 10800049 */ beqz $a0, .L7F05FFB8 -/* 0949C4 7F05FE94 240EFFFF */ li $t6, -1 -/* 0949C8 7F05FE98 8C8F0064 */ lw $t7, 0x64($a0) -/* 0949CC 7F05FE9C 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 -/* 0949D0 7F05FEA0 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0949D4 7F05FEA4 01E1C024 */ and $t8, $t7, $at -/* 0949D8 7F05FEA8 A48E0082 */ sh $t6, 0x82($a0) -/* 0949DC 7F05FEAC AC980064 */ sw $t8, 0x64($a0) -/* 0949E0 7F05FEB0 0FC26C54 */ jal get_cur_playernum -/* 0949E4 7F05FEB4 AFA40104 */ sw $a0, 0x104($sp) -/* 0949E8 7F05FEB8 8FA40104 */ lw $a0, 0x104($sp) -/* 0949EC 7F05FEBC 00024440 */ sll $t0, $v0, 0x11 -/* 0949F0 7F05FEC0 27AA00C0 */ addiu $t2, $sp, 0xc0 -/* 0949F4 7F05FEC4 8C990064 */ lw $t9, 0x64($a0) -/* 0949F8 7F05FEC8 27A50034 */ addiu $a1, $sp, 0x34 -/* 0949FC 7F05FECC 27A60064 */ addiu $a2, $sp, 0x64 -/* 094A00 7F05FED0 03284825 */ or $t1, $t9, $t0 -/* 094A04 7F05FED4 AC890064 */ sw $t1, 0x64($a0) -/* 094A08 7F05FED8 AFAA0010 */ sw $t2, 0x10($sp) -/* 094A0C 7F05FEDC 0FC17B07 */ jal sub_GAME_7F05EC1C -/* 094A10 7F05FEE0 27A700B4 */ addiu $a3, $sp, 0xb4 -/* 094A14 7F05FEE4 8FA40104 */ lw $a0, 0x104($sp) -/* 094A18 7F05FEE8 8C8B0064 */ lw $t3, 0x64($a0) -/* 094A1C 7F05FEEC 316C0080 */ andi $t4, $t3, 0x80 -/* 094A20 7F05FEF0 51800032 */ beql $t4, $zero, .L7F05FFBC -/* 094A24 7F05FEF4 8FBF001C */ lw $ra, 0x1c($sp) -/* 094A28 7F05FEF8 8C82006C */ lw $v0, 0x6c($a0) -/* 094A2C 7F05FEFC 24010020 */ li $at, 32 -/* 094A30 7F05FF00 8C4D0000 */ lw $t5, ($v0) -/* 094A34 7F05FF04 35AE0080 */ ori $t6, $t5, 0x80 -/* 094A38 7F05FF08 AC4E0000 */ sw $t6, ($v0) -/* 094A3C 7F05FF0C 8FAF0040 */ lw $t7, 0x40($sp) -/* 094A40 7F05FF10 51E1002A */ beql $t7, $at, .L7F05FFBC -/* 094A44 7F05FF14 8FBF001C */ lw $ra, 0x1c($sp) -/* 094A48 7F05FF18 8C82006C */ lw $v0, 0x6c($a0) -/* 094A4C 7F05FF1C 240C003C */ li $t4, 60 -/* 094A50 7F05FF20 24050001 */ li $a1, 1 -/* 094A54 7F05FF24 8C580000 */ lw $t8, ($v0) -/* 094A58 7F05FF28 37190020 */ ori $t9, $t8, 0x20 -/* 094A5C 7F05FF2C AC590000 */ sw $t9, ($v0) -/* 094A60 7F05FF30 8C88006C */ lw $t0, 0x6c($a0) -/* 094A64 7F05FF34 C486005C */ lwc1 $f6, 0x5c($a0) -/* 094A68 7F05FF38 E50600B0 */ swc1 $f6, 0xb0($t0) -/* 094A6C 7F05FF3C 8C82006C */ lw $v0, 0x6c($a0) -/* 094A70 7F05FF40 C44A0008 */ lwc1 $f10, 8($v0) -/* 094A74 7F05FF44 E44A00B4 */ swc1 $f10, 0xb4($v0) -/* 094A78 7F05FF48 8C89006C */ lw $t1, 0x6c($a0) -/* 094A7C 7F05FF4C C7B200A4 */ lwc1 $f18, 0xa4($sp) -/* 094A80 7F05FF50 E5320010 */ swc1 $f18, 0x10($t1) -/* 094A84 7F05FF54 8C8A006C */ lw $t2, 0x6c($a0) -/* 094A88 7F05FF58 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 094A8C 7F05FF5C E5440014 */ swc1 $f4, 0x14($t2) -/* 094A90 7F05FF60 8C8B006C */ lw $t3, 0x6c($a0) -/* 094A94 7F05FF64 C7B000AC */ lwc1 $f16, 0xac($sp) -/* 094A98 7F05FF68 E5700018 */ swc1 $f16, 0x18($t3) -/* 094A9C 7F05FF6C 8C8D006C */ lw $t5, 0x6c($a0) -/* 094AA0 7F05FF70 ADAC00BC */ sw $t4, 0xbc($t5) -/* 094AA4 7F05FF74 8C82006C */ lw $v0, 0x6c($a0) -/* 094AA8 7F05FF78 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 094AAC 7F05FF7C 8C4E0098 */ lw $t6, 0x98($v0) -/* 094AB0 7F05FF80 24460098 */ addiu $a2, $v0, 0x98 -/* 094AB4 7F05FF84 55C00006 */ bnezl $t6, .L7F05FFA0 -/* 094AB8 7F05FF88 8C4F009C */ lw $t7, 0x9c($v0) -/* 094ABC 7F05FF8C 0C002382 */ jal play_sfx_a1 -/* 094AC0 7F05FF90 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 094AC4 7F05FF94 10000009 */ b .L7F05FFBC -/* 094AC8 7F05FF98 8FBF001C */ lw $ra, 0x1c($sp) -/* 094ACC 7F05FF9C 8C4F009C */ lw $t7, 0x9c($v0) -.L7F05FFA0: -/* 094AD0 7F05FFA0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 094AD4 7F05FFA4 24050001 */ li $a1, 1 -/* 094AD8 7F05FFA8 15E00003 */ bnez $t7, .L7F05FFB8 -/* 094ADC 7F05FFAC 2446009C */ addiu $a2, $v0, 0x9c -/* 094AE0 7F05FFB0 0C002382 */ jal play_sfx_a1 -/* 094AE4 7F05FFB4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -.L7F05FFB8: -/* 094AE8 7F05FFB8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F05FFBC: -/* 094AEC 7F05FFBC 27BD0108 */ addiu $sp, $sp, 0x108 -/* 094AF0 7F05FFC0 03E00008 */ jr $ra -/* 094AF4 7F05FFC4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void handles_firing_or_throwing_weapon_in_hand(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80053DE0 -.word 0x3f733333 /*0.94999999*/ -glabel D_80053DE4 -.word 0x3d4cccd0 /*0.050000012*/ -glabel D_80053DE8 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053DEC -.word 0x3e99999a /*0.30000001*/ -glabel D_80053DF0 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053DF4 -.word 0x3e99999a /*0.30000001*/ -glabel D_80053DF8 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053DFC -.word 0x3e99999a /*0.30000001*/ -glabel D_80053E00 -.word 0x41de6666 /*27.799999*/ -glabel D_80053E04 -.word 0x3dccccce /*0.10000001*/ -glabel D_80053E08 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E0C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E10 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E14 -.word 0x3f060a92 /*0.52359879*/ -glabel D_80053E18 -.word 0x3f060a92 /*0.52359879*/ -glabel D_80053E1C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E20 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E24 -.word 0x3dccccce /*0.10000001*/ -glabel D_80053E28 -.word 0x3dccccce /*0.10000001*/ -glabel D_80053E2C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E30 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E34 -.word 0x40c90fdb /*6.2831855*/ - -/*D:80053E38*/ -glabel jpt_weapon_bullet_type -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_shotgun_mine -.word weapon_bullet_type_shotgun_mine -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_none -.word weapon_bullet_type_none - -.text -glabel handles_firing_or_throwing_weapon_in_hand -/* 094AF8 7F05FFC8 27BDFD58 */ addiu $sp, $sp, -0x2a8 -/* 094AFC 7F05FFCC 3C0F8003 */ lui $t7, %hi(D_80035C40) -/* 094B00 7F05FFD0 AFBF0034 */ sw $ra, 0x34($sp) -/* 094B04 7F05FFD4 AFB00030 */ sw $s0, 0x30($sp) -/* 094B08 7F05FFD8 25EF5C40 */ addiu $t7, %lo(D_80035C40) # addiu $t7, $t7, 0x5c40 -/* 094B0C 7F05FFDC 8DE10000 */ lw $at, ($t7) -/* 094B10 7F05FFE0 27AE0194 */ addiu $t6, $sp, 0x194 -/* 094B14 7F05FFE4 8DED0004 */ lw $t5, 4($t7) -/* 094B18 7F05FFE8 ADC10000 */ sw $at, ($t6) -/* 094B1C 7F05FFEC 8DE10008 */ lw $at, 8($t7) -/* 094B20 7F05FFF0 0004C0C0 */ sll $t8, $a0, 3 -/* 094B24 7F05FFF4 0304C023 */ subu $t8, $t8, $a0 -/* 094B28 7F05FFF8 0018C080 */ sll $t8, $t8, 2 -/* 094B2C 7F05FFFC 0304C021 */ addu $t8, $t8, $a0 -/* 094B30 7F060000 3C198008 */ lui $t9, %hi(pPlayer) -/* 094B34 7F060004 ADCD0004 */ sw $t5, 4($t6) -/* 094B38 7F060008 ADC10008 */ sw $at, 8($t6) -/* 094B3C 7F06000C 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 094B40 7F060010 0018C080 */ sll $t8, $t8, 2 -/* 094B44 7F060014 0304C021 */ addu $t8, $t8, $a0 -/* 094B48 7F060018 0018C0C0 */ sll $t8, $t8, 3 -/* 094B4C 7F06001C 03388021 */ addu $s0, $t9, $t8 -/* 094B50 7F060020 AFA0010C */ sw $zero, 0x10c($sp) -/* 094B54 7F060024 AFA00108 */ sw $zero, 0x108($sp) -/* 094B58 7F060028 26100870 */ addiu $s0, $s0, 0x870 -/* 094B5C 7F06002C 0FC17691 */ jal return_ammo_in_hand -/* 094B60 7F060030 AFA402A8 */ sw $a0, 0x2a8($sp) -/* 094B64 7F060034 AFA200FC */ sw $v0, 0xfc($sp) -/* 094B68 7F060038 0FC1722D */ jal get_ptr_item_statistics -/* 094B6C 7F06003C 00402025 */ move $a0, $v0 -/* 094B70 7F060040 8FAE02A8 */ lw $t6, 0x2a8($sp) -/* 094B74 7F060044 AFA200F8 */ sw $v0, 0xf8($sp) -/* 094B78 7F060048 15C0002D */ bnez $t6, .L7F060100 -/* 094B7C 7F06004C 00000000 */ nop -/* 094B80 7F060050 0FC17691 */ jal return_ammo_in_hand -/* 094B84 7F060054 24040001 */ li $a0, 1 -/* 094B88 7F060058 00402025 */ move $a0, $v0 -/* 094B8C 7F06005C 0FC1782D */ jal check_special_attributes -/* 094B90 7F060060 24050800 */ li $a1, 2048 -/* 094B94 7F060064 10400015 */ beqz $v0, .L7F0600BC -/* 094B98 7F060068 3C018005 */ lui $at, %hi(global_timer_delta) -/* 094B9C 7F06006C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 094BA0 7F060070 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 094BA4 7F060074 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 094BA8 7F060078 44813000 */ mtc1 $at, $f6 -/* 094BAC 7F06007C 46000100 */ add.s $f4, $f0, $f0 -/* 094BB0 7F060080 C60A01C4 */ lwc1 $f10, 0x1c4($s0) -/* 094BB4 7F060084 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 094BB8 7F060088 44819000 */ mtc1 $at, $f18 -/* 094BBC 7F06008C 46062203 */ div.s $f8, $f4, $f6 -/* 094BC0 7F060090 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 094BC4 7F060094 46085400 */ add.s $f16, $f10, $f8 -/* 094BC8 7F060098 E61001C4 */ swc1 $f16, 0x1c4($s0) -/* 094BCC 7F06009C C60401C4 */ lwc1 $f4, 0x1c4($s0) -/* 094BD0 7F0600A0 4604903C */ c.lt.s $f18, $f4 -/* 094BD4 7F0600A4 00000000 */ nop -/* 094BD8 7F0600A8 4500003F */ bc1f .L7F0601A8 -/* 094BDC 7F0600AC 00000000 */ nop -/* 094BE0 7F0600B0 44813000 */ mtc1 $at, $f6 -/* 094BE4 7F0600B4 1000003C */ b .L7F0601A8 -/* 094BE8 7F0600B8 E60601C4 */ swc1 $f6, 0x1c4($s0) -.L7F0600BC: -/* 094BEC 7F0600BC C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 094BF0 7F0600C0 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 094BF4 7F0600C4 44814000 */ mtc1 $at, $f8 -/* 094BF8 7F0600C8 46000280 */ add.s $f10, $f0, $f0 -/* 094BFC 7F0600CC C61201C4 */ lwc1 $f18, 0x1c4($s0) -/* 094C00 7F0600D0 46085403 */ div.s $f16, $f10, $f8 -/* 094C04 7F0600D4 44805000 */ mtc1 $zero, $f10 -/* 094C08 7F0600D8 46109101 */ sub.s $f4, $f18, $f16 -/* 094C0C 7F0600DC E60401C4 */ swc1 $f4, 0x1c4($s0) -/* 094C10 7F0600E0 C60601C4 */ lwc1 $f6, 0x1c4($s0) -/* 094C14 7F0600E4 460A303C */ c.lt.s $f6, $f10 -/* 094C18 7F0600E8 00000000 */ nop -/* 094C1C 7F0600EC 4500002E */ bc1f .L7F0601A8 -/* 094C20 7F0600F0 00000000 */ nop -/* 094C24 7F0600F4 44804000 */ mtc1 $zero, $f8 -/* 094C28 7F0600F8 1000002B */ b .L7F0601A8 -/* 094C2C 7F0600FC E60801C4 */ swc1 $f8, 0x1c4($s0) -.L7F060100: -/* 094C30 7F060100 0FC17691 */ jal return_ammo_in_hand -/* 094C34 7F060104 00002025 */ move $a0, $zero -/* 094C38 7F060108 00402025 */ move $a0, $v0 -/* 094C3C 7F06010C 0FC1782D */ jal check_special_attributes -/* 094C40 7F060110 24050800 */ li $a1, 2048 -/* 094C44 7F060114 10400013 */ beqz $v0, .L7F060164 -/* 094C48 7F060118 3C018005 */ lui $at, %hi(global_timer_delta) -/* 094C4C 7F06011C 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 094C50 7F060120 44811000 */ mtc1 $at, $f2 -/* 094C54 7F060124 3C018005 */ lui $at, %hi(global_timer_delta) -/* 094C58 7F060128 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 094C5C 7F06012C 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 094C60 7F060130 44818000 */ mtc1 $at, $f16 -/* 094C64 7F060134 46000480 */ add.s $f18, $f0, $f0 -/* 094C68 7F060138 C60601C4 */ lwc1 $f6, 0x1c4($s0) -/* 094C6C 7F06013C 46109103 */ div.s $f4, $f18, $f16 -/* 094C70 7F060140 46043281 */ sub.s $f10, $f6, $f4 -/* 094C74 7F060144 E60A01C4 */ swc1 $f10, 0x1c4($s0) -/* 094C78 7F060148 C60801C4 */ lwc1 $f8, 0x1c4($s0) -/* 094C7C 7F06014C 4602403C */ c.lt.s $f8, $f2 -/* 094C80 7F060150 00000000 */ nop -/* 094C84 7F060154 45000014 */ bc1f .L7F0601A8 -/* 094C88 7F060158 00000000 */ nop -/* 094C8C 7F06015C 10000012 */ b .L7F0601A8 -/* 094C90 7F060160 E60201C4 */ swc1 $f2, 0x1c4($s0) -.L7F060164: -/* 094C94 7F060164 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 094C98 7F060168 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 094C9C 7F06016C 44818000 */ mtc1 $at, $f16 -/* 094CA0 7F060170 46000480 */ add.s $f18, $f0, $f0 -/* 094CA4 7F060174 C60401C4 */ lwc1 $f4, 0x1c4($s0) -/* 094CA8 7F060178 44804000 */ mtc1 $zero, $f8 -/* 094CAC 7F06017C 46109183 */ div.s $f6, $f18, $f16 -/* 094CB0 7F060180 46062280 */ add.s $f10, $f4, $f6 -/* 094CB4 7F060184 E60A01C4 */ swc1 $f10, 0x1c4($s0) -/* 094CB8 7F060188 C61201C4 */ lwc1 $f18, 0x1c4($s0) -/* 094CBC 7F06018C 4612403C */ c.lt.s $f8, $f18 -/* 094CC0 7F060190 00000000 */ nop -/* 094CC4 7F060194 45000004 */ bc1f .L7F0601A8 -/* 094CC8 7F060198 00000000 */ nop -/* 094CCC 7F06019C 44808000 */ mtc1 $zero, $f16 -/* 094CD0 7F0601A0 00000000 */ nop -/* 094CD4 7F0601A4 E61001C4 */ swc1 $f16, 0x1c4($s0) -.L7F0601A8: -/* 094CD8 7F0601A8 3C0F8003 */ lui $t7, %hi(D_80035C4C) -/* 094CDC 7F0601AC 25EF5C4C */ addiu $t7, %lo(D_80035C4C) # addiu $t7, $t7, 0x5c4c -/* 094CE0 7F0601B0 8DE10000 */ lw $at, ($t7) -/* 094CE4 7F0601B4 27AC00E0 */ addiu $t4, $sp, 0xe0 -/* 094CE8 7F0601B8 3C0E8003 */ lui $t6, %hi(D_80035C58) -/* 094CEC 7F0601BC AD810000 */ sw $at, ($t4) -/* 094CF0 7F0601C0 8DF90004 */ lw $t9, 4($t7) -/* 094CF4 7F0601C4 25CE5C58 */ addiu $t6, %lo(D_80035C58) # addiu $t6, $t6, 0x5c58 -/* 094CF8 7F0601C8 27B800D4 */ addiu $t8, $sp, 0xd4 -/* 094CFC 7F0601CC AD990004 */ sw $t9, 4($t4) -/* 094D00 7F0601D0 8DE10008 */ lw $at, 8($t7) -/* 094D04 7F0601D4 3C0D8003 */ lui $t5, %hi(D_80035C64) -/* 094D08 7F0601D8 25AD5C64 */ addiu $t5, %lo(D_80035C64) # addiu $t5, $t5, 0x5c64 -/* 094D0C 7F0601DC AD810008 */ sw $at, 8($t4) -/* 094D10 7F0601E0 8DC10000 */ lw $at, ($t6) -/* 094D14 7F0601E4 8DCF0004 */ lw $t7, 4($t6) -/* 094D18 7F0601E8 27B900C8 */ addiu $t9, $sp, 0xc8 -/* 094D1C 7F0601EC AF010000 */ sw $at, ($t8) -/* 094D20 7F0601F0 8DC10008 */ lw $at, 8($t6) -/* 094D24 7F0601F4 AF0F0004 */ sw $t7, 4($t8) -/* 094D28 7F0601F8 2403000C */ li $v1, 12 -/* 094D2C 7F0601FC AF010008 */ sw $at, 8($t8) -/* 094D30 7F060200 8DA10000 */ lw $at, ($t5) -/* 094D34 7F060204 8DAE0004 */ lw $t6, 4($t5) -/* 094D38 7F060208 AF210000 */ sw $at, ($t9) -/* 094D3C 7F06020C 8DA10008 */ lw $at, 8($t5) -/* 094D40 7F060210 AF2E0004 */ sw $t6, 4($t9) -/* 094D44 7F060214 AF210008 */ sw $at, 8($t9) -/* 094D48 7F060218 8E020198 */ lw $v0, 0x198($s0) -/* 094D4C 7F06021C C604019C */ lwc1 $f4, 0x19c($s0) -/* 094D50 7F060220 AFAC0014 */ sw $t4, 0x14($sp) -/* 094D54 7F060224 244F0003 */ addiu $t7, $v0, 3 -/* 094D58 7F060228 05E10004 */ bgez $t7, .L7F06023C -/* 094D5C 7F06022C 31F80003 */ andi $t8, $t7, 3 -/* 094D60 7F060230 13000002 */ beqz $t8, .L7F06023C -/* 094D64 7F060234 00000000 */ nop -/* 094D68 7F060238 2718FFFC */ addiu $t8, $t8, -4 -.L7F06023C: -/* 094D6C 7F06023C 03030019 */ multu $t8, $v1 -/* 094D70 7F060240 244E0001 */ addiu $t6, $v0, 1 -/* 094D74 7F060244 E7A40010 */ swc1 $f4, 0x10($sp) -/* 094D78 7F060248 0000C812 */ mflo $t9 -/* 094D7C 7F06024C 02194021 */ addu $t0, $s0, $t9 -/* 094D80 7F060250 24590002 */ addiu $t9, $v0, 2 -/* 094D84 7F060254 00430019 */ multu $v0, $v1 -/* 094D88 7F060258 25040108 */ addiu $a0, $t0, 0x108 -/* 094D8C 7F06025C AFA80044 */ sw $t0, 0x44($sp) -/* 094D90 7F060260 00006812 */ mflo $t5 -/* 094D94 7F060264 020D4821 */ addu $t1, $s0, $t5 -/* 094D98 7F060268 25250108 */ addiu $a1, $t1, 0x108 -/* 094D9C 7F06026C 05C10004 */ bgez $t6, .L7F060280 -/* 094DA0 7F060270 31CF0003 */ andi $t7, $t6, 3 -/* 094DA4 7F060274 11E00002 */ beqz $t7, .L7F060280 -/* 094DA8 7F060278 00000000 */ nop -/* 094DAC 7F06027C 25EFFFFC */ addiu $t7, $t7, -4 -.L7F060280: -/* 094DB0 7F060280 01E30019 */ multu $t7, $v1 -/* 094DB4 7F060284 AFA90040 */ sw $t1, 0x40($sp) -/* 094DB8 7F060288 0000C012 */ mflo $t8 -/* 094DBC 7F06028C 02185021 */ addu $t2, $s0, $t8 -/* 094DC0 7F060290 25460108 */ addiu $a2, $t2, 0x108 -/* 094DC4 7F060294 07210004 */ bgez $t9, .L7F0602A8 -/* 094DC8 7F060298 332D0003 */ andi $t5, $t9, 3 -/* 094DCC 7F06029C 11A00002 */ beqz $t5, .L7F0602A8 -/* 094DD0 7F0602A0 00000000 */ nop -/* 094DD4 7F0602A4 25ADFFFC */ addiu $t5, $t5, -4 -.L7F0602A8: -/* 094DD8 7F0602A8 01A30019 */ multu $t5, $v1 -/* 094DDC 7F0602AC AFAA003C */ sw $t2, 0x3c($sp) -/* 094DE0 7F0602B0 00007012 */ mflo $t6 -/* 094DE4 7F0602B4 020E5821 */ addu $t3, $s0, $t6 -/* 094DE8 7F0602B8 25670108 */ addiu $a3, $t3, 0x108 -/* 094DEC 7F0602BC 0FC16BBF */ jal sub_GAME_7F05AEFC -/* 094DF0 7F0602C0 AFAB0038 */ sw $t3, 0x38($sp) -/* 094DF4 7F0602C4 8FA40044 */ lw $a0, 0x44($sp) -/* 094DF8 7F0602C8 8FA50040 */ lw $a1, 0x40($sp) -/* 094DFC 7F0602CC 8FA6003C */ lw $a2, 0x3c($sp) -/* 094E00 7F0602D0 8FA70038 */ lw $a3, 0x38($sp) -/* 094E04 7F0602D4 C606019C */ lwc1 $f6, 0x19c($s0) -/* 094E08 7F0602D8 27AF00D4 */ addiu $t7, $sp, 0xd4 -/* 094E0C 7F0602DC AFAF0014 */ sw $t7, 0x14($sp) -/* 094E10 7F0602E0 24840138 */ addiu $a0, $a0, 0x138 -/* 094E14 7F0602E4 24A50138 */ addiu $a1, $a1, 0x138 -/* 094E18 7F0602E8 24C60138 */ addiu $a2, $a2, 0x138 -/* 094E1C 7F0602EC 24E70138 */ addiu $a3, $a3, 0x138 -/* 094E20 7F0602F0 0FC16BBF */ jal sub_GAME_7F05AEFC -/* 094E24 7F0602F4 E7A60010 */ swc1 $f6, 0x10($sp) -/* 094E28 7F0602F8 8FA40044 */ lw $a0, 0x44($sp) -/* 094E2C 7F0602FC 8FA50040 */ lw $a1, 0x40($sp) -/* 094E30 7F060300 8FA6003C */ lw $a2, 0x3c($sp) -/* 094E34 7F060304 8FA70038 */ lw $a3, 0x38($sp) -/* 094E38 7F060308 C60A019C */ lwc1 $f10, 0x19c($s0) -/* 094E3C 7F06030C 27B800C8 */ addiu $t8, $sp, 0xc8 -/* 094E40 7F060310 AFB80014 */ sw $t8, 0x14($sp) -/* 094E44 7F060314 24840168 */ addiu $a0, $a0, 0x168 -/* 094E48 7F060318 24A50168 */ addiu $a1, $a1, 0x168 -/* 094E4C 7F06031C 24C60168 */ addiu $a2, $a2, 0x168 -/* 094E50 7F060320 24E70168 */ addiu $a3, $a3, 0x168 -/* 094E54 7F060324 0FC16BBF */ jal sub_GAME_7F05AEFC -/* 094E58 7F060328 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 094E5C 7F06032C 3C028008 */ lui $v0, %hi(pPlayer) -/* 094E60 7F060330 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 094E64 7F060334 C7A800E0 */ lwc1 $f8, 0xe0($sp) -/* 094E68 7F060338 C7A400E4 */ lwc1 $f4, 0xe4($sp) -/* 094E6C 7F06033C C4520FC0 */ lwc1 $f18, 0xfc0($v0) -/* 094E70 7F060340 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 094E74 7F060344 46124402 */ mul.s $f16, $f8, $f18 -/* 094E78 7F060348 C7A800E8 */ lwc1 $f8, 0xe8($sp) -/* 094E7C 7F06034C E7B000E0 */ swc1 $f16, 0xe0($sp) -/* 094E80 7F060350 C4460FC0 */ lwc1 $f6, 0xfc0($v0) -/* 094E84 7F060354 46062282 */ mul.s $f10, $f4, $f6 -/* 094E88 7F060358 E7AA00E4 */ swc1 $f10, 0xe4($sp) -/* 094E8C 7F06035C C4520FC0 */ lwc1 $f18, 0xfc0($v0) -/* 094E90 7F060360 46124102 */ mul.s $f4, $f8, $f18 -/* 094E94 7F060364 E7A400E8 */ swc1 $f4, 0xe8($sp) -/* 094E98 7F060368 C60601AC */ lwc1 $f6, 0x1ac($s0) -/* 094E9C 7F06036C 46068200 */ add.s $f8, $f16, $f6 -/* 094EA0 7F060370 E7A800E0 */ swc1 $f8, 0xe0($sp) -/* 094EA4 7F060374 C61201B0 */ lwc1 $f18, 0x1b0($s0) -/* 094EA8 7F060378 46125100 */ add.s $f4, $f10, $f18 -/* 094EAC 7F06037C 0FC1772E */ jal sub_GAME_7F05DCB8 -/* 094EB0 7F060380 E7A400E4 */ swc1 $f4, 0xe4($sp) -/* 094EB4 7F060384 C7B000E0 */ lwc1 $f16, 0xe0($sp) -/* 094EB8 7F060388 3C028005 */ lui $v0, %hi(clock_timer) -/* 094EBC 7F06038C 24428374 */ addiu $v0, %lo(clock_timer) # addiu $v0, $v0, -0x7c8c -/* 094EC0 7F060390 46008180 */ add.s $f6, $f16, $f0 -/* 094EC4 7F060394 8C590000 */ lw $t9, ($v0) -/* 094EC8 7F060398 00001825 */ move $v1, $zero -/* 094ECC 7F06039C 1B200035 */ blez $t9, .L7F060474 -/* 094ED0 7F0603A0 E7A600E0 */ swc1 $f6, 0xe0($sp) -/* 094ED4 7F0603A4 3C018005 */ lui $at, %hi(D_80053DE0) -/* 094ED8 7F0603A8 C4203DE0 */ lwc1 $f0, %lo(D_80053DE0)($at) -/* 094EDC 7F0603AC C60A00E4 */ lwc1 $f10, 0xe4($s0) -.L7F0603B0: -/* 094EE0 7F0603B0 C7A800E0 */ lwc1 $f8, 0xe0($sp) -/* 094EE4 7F0603B4 C60600E8 */ lwc1 $f6, 0xe8($s0) -/* 094EE8 7F0603B8 460A0482 */ mul.s $f18, $f0, $f10 -/* 094EEC 7F0603BC 24630001 */ addiu $v1, $v1, 1 -/* 094EF0 7F0603C0 46060282 */ mul.s $f10, $f0, $f6 -/* 094EF4 7F0603C4 46124100 */ add.s $f4, $f8, $f18 -/* 094EF8 7F0603C8 E60400E4 */ swc1 $f4, 0xe4($s0) -/* 094EFC 7F0603CC C7B000E4 */ lwc1 $f16, 0xe4($sp) -/* 094F00 7F0603D0 C60400EC */ lwc1 $f4, 0xec($s0) -/* 094F04 7F0603D4 460A8200 */ add.s $f8, $f16, $f10 -/* 094F08 7F0603D8 46040182 */ mul.s $f6, $f0, $f4 -/* 094F0C 7F0603DC E60800E8 */ swc1 $f8, 0xe8($s0) -/* 094F10 7F0603E0 C7B200E8 */ lwc1 $f18, 0xe8($sp) -/* 094F14 7F0603E4 C60800F0 */ lwc1 $f8, 0xf0($s0) -/* 094F18 7F0603E8 46069400 */ add.s $f16, $f18, $f6 -/* 094F1C 7F0603EC 46080102 */ mul.s $f4, $f0, $f8 -/* 094F20 7F0603F0 E61000EC */ swc1 $f16, 0xec($s0) -/* 094F24 7F0603F4 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 094F28 7F0603F8 C61000F4 */ lwc1 $f16, 0xf4($s0) -/* 094F2C 7F0603FC 46045480 */ add.s $f18, $f10, $f4 -/* 094F30 7F060400 46100202 */ mul.s $f8, $f0, $f16 -/* 094F34 7F060404 E61200F0 */ swc1 $f18, 0xf0($s0) -/* 094F38 7F060408 C7A600D8 */ lwc1 $f6, 0xd8($sp) -/* 094F3C 7F06040C C61200F8 */ lwc1 $f18, 0xf8($s0) -/* 094F40 7F060410 46083280 */ add.s $f10, $f6, $f8 -/* 094F44 7F060414 46120402 */ mul.s $f16, $f0, $f18 -/* 094F48 7F060418 E60A00F4 */ swc1 $f10, 0xf4($s0) -/* 094F4C 7F06041C C7A400DC */ lwc1 $f4, 0xdc($sp) -/* 094F50 7F060420 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 094F54 7F060424 46102180 */ add.s $f6, $f4, $f16 -/* 094F58 7F060428 460A0482 */ mul.s $f18, $f0, $f10 -/* 094F5C 7F06042C E60600F8 */ swc1 $f6, 0xf8($s0) -/* 094F60 7F060430 C7A800C8 */ lwc1 $f8, 0xc8($sp) -/* 094F64 7F060434 C6060100 */ lwc1 $f6, 0x100($s0) -/* 094F68 7F060438 46124100 */ add.s $f4, $f8, $f18 -/* 094F6C 7F06043C 46060282 */ mul.s $f10, $f0, $f6 -/* 094F70 7F060440 E60400FC */ swc1 $f4, 0xfc($s0) -/* 094F74 7F060444 C7B000CC */ lwc1 $f16, 0xcc($sp) -/* 094F78 7F060448 C6040104 */ lwc1 $f4, 0x104($s0) -/* 094F7C 7F06044C 460A8200 */ add.s $f8, $f16, $f10 -/* 094F80 7F060450 46040182 */ mul.s $f6, $f0, $f4 -/* 094F84 7F060454 E6080100 */ swc1 $f8, 0x100($s0) -/* 094F88 7F060458 C7B200D0 */ lwc1 $f18, 0xd0($sp) -/* 094F8C 7F06045C 46069400 */ add.s $f16, $f18, $f6 -/* 094F90 7F060460 E6100104 */ swc1 $f16, 0x104($s0) -/* 094F94 7F060464 8C4D0000 */ lw $t5, ($v0) -/* 094F98 7F060468 006D082A */ slt $at, $v1, $t5 -/* 094F9C 7F06046C 5420FFD0 */ bnezl $at, .L7F0603B0 -/* 094FA0 7F060470 C60A00E4 */ lwc1 $f10, 0xe4($s0) -.L7F060474: -/* 094FA4 7F060474 3C018005 */ lui $at, %hi(D_80053DE4) -/* 094FA8 7F060478 C4203DE4 */ lwc1 $f0, %lo(D_80053DE4)($at) -/* 094FAC 7F06047C C60A00E4 */ lwc1 $f10, 0xe4($s0) -/* 094FB0 7F060480 C60400E8 */ lwc1 $f4, 0xe8($s0) -/* 094FB4 7F060484 C60600EC */ lwc1 $f6, 0xec($s0) -/* 094FB8 7F060488 46005202 */ mul.s $f8, $f10, $f0 -/* 094FBC 7F06048C C60A00F0 */ lwc1 $f10, 0xf0($s0) -/* 094FC0 7F060490 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 094FC4 7F060494 46002482 */ mul.s $f18, $f4, $f0 -/* 094FC8 7F060498 C60400F4 */ lwc1 $f4, 0xf4($s0) -/* 094FCC 7F06049C 46003402 */ mul.s $f16, $f6, $f0 -/* 094FD0 7F0604A0 E60800C0 */ swc1 $f8, 0xc0($s0) -/* 094FD4 7F0604A4 C60600F8 */ lwc1 $f6, 0xf8($s0) -/* 094FD8 7F0604A8 46005202 */ mul.s $f8, $f10, $f0 -/* 094FDC 7F0604AC E61200C4 */ swc1 $f18, 0xc4($s0) -/* 094FE0 7F0604B0 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 094FE4 7F0604B4 46002482 */ mul.s $f18, $f4, $f0 -/* 094FE8 7F0604B8 E61000C8 */ swc1 $f16, 0xc8($s0) -/* 094FEC 7F0604BC C6040100 */ lwc1 $f4, 0x100($s0) -/* 094FF0 7F0604C0 46003402 */ mul.s $f16, $f6, $f0 -/* 094FF4 7F0604C4 E60800CC */ swc1 $f8, 0xcc($s0) -/* 094FF8 7F0604C8 C6060104 */ lwc1 $f6, 0x104($s0) -/* 094FFC 7F0604CC 46005202 */ mul.s $f8, $f10, $f0 -/* 095000 7F0604D0 E61200D0 */ swc1 $f18, 0xd0($s0) -/* 095004 7F0604D4 46002482 */ mul.s $f18, $f4, $f0 -/* 095008 7F0604D8 E61000D4 */ swc1 $f16, 0xd4($s0) -/* 09500C 7F0604DC 46003402 */ mul.s $f16, $f6, $f0 -/* 095010 7F0604E0 E60800D8 */ swc1 $f8, 0xd8($s0) -/* 095014 7F0604E4 E61200DC */ swc1 $f18, 0xdc($s0) -/* 095018 7F0604E8 14800009 */ bnez $a0, .L7F060510 -/* 09501C 7F0604EC E61000E0 */ swc1 $f16, 0xe0($s0) -/* 095020 7F0604F0 0FC1773A */ jal sub_GAME_7F05DCE8 -/* 095024 7F0604F4 00000000 */ nop -/* 095028 7F0604F8 C60800C0 */ lwc1 $f8, 0xc0($s0) -/* 09502C 7F0604FC C60A01B8 */ lwc1 $f10, 0x1b8($s0) -/* 095030 7F060500 46080100 */ add.s $f4, $f0, $f8 -/* 095034 7F060504 46045480 */ add.s $f18, $f10, $f4 -/* 095038 7F060508 10000008 */ b .L7F06052C -/* 09503C 7F06050C E7B20194 */ swc1 $f18, 0x194($sp) -.L7F060510: -/* 095040 7F060510 0FC1773A */ jal sub_GAME_7F05DCE8 -/* 095044 7F060514 00000000 */ nop -/* 095048 7F060518 C60600C0 */ lwc1 $f6, 0xc0($s0) -/* 09504C 7F06051C C60801B8 */ lwc1 $f8, 0x1b8($s0) -/* 095050 7F060520 46060400 */ add.s $f16, $f0, $f6 -/* 095054 7F060524 46088281 */ sub.s $f10, $f16, $f8 -/* 095058 7F060528 E7AA0194 */ swc1 $f10, 0x194($sp) -.L7F06052C: -/* 09505C 7F06052C 8FAE00F8 */ lw $t6, 0xf8($sp) -/* 095060 7F060530 C61200C4 */ lwc1 $f18, 0xc4($s0) -/* 095064 7F060534 C61001BC */ lwc1 $f16, 0x1bc($s0) -/* 095068 7F060538 C5C40008 */ lwc1 $f4, 8($t6) -/* 09506C 7F06053C 8FA400FC */ lw $a0, 0xfc($sp) -/* 095070 7F060540 24010019 */ li $at, 25 -/* 095074 7F060544 46122180 */ add.s $f6, $f4, $f18 -/* 095078 7F060548 46068200 */ add.s $f8, $f16, $f6 -/* 09507C 7F06054C E7A80198 */ swc1 $f8, 0x198($sp) -/* 095080 7F060550 C60400C8 */ lwc1 $f4, 0xc8($s0) -/* 095084 7F060554 C5CA000C */ lwc1 $f10, 0xc($t6) -/* 095088 7F060558 C61001C0 */ lwc1 $f16, 0x1c0($s0) -/* 09508C 7F06055C 46045480 */ add.s $f18, $f10, $f4 -/* 095090 7F060560 46128180 */ add.s $f6, $f16, $f18 -/* 095094 7F060564 10810005 */ beq $a0, $at, .L7F06057C -/* 095098 7F060568 E7A6019C */ swc1 $f6, 0x19c($sp) -/* 09509C 7F06056C 2401001E */ li $at, 30 -/* 0950A0 7F060570 10810002 */ beq $a0, $at, .L7F06057C -/* 0950A4 7F060574 24010017 */ li $at, 23 -/* 0950A8 7F060578 14810028 */ bne $a0, $at, .L7F06061C -.L7F06057C: -/* 0950AC 7F06057C 3C028008 */ lui $v0, %hi(pPlayer) -/* 0950B0 7F060580 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0950B4 7F060584 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 0950B8 7F060588 44810000 */ mtc1 $at, $f0 -/* 0950BC 7F06058C C44A00A0 */ lwc1 $f10, 0xa0($v0) -/* 0950C0 7F060590 C7A80198 */ lwc1 $f8, 0x198($sp) -/* 0950C4 7F060594 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 0950C8 7F060598 46005103 */ div.s $f4, $f10, $f0 -/* 0950CC 7F06059C 44819000 */ mtc1 $at, $f18 -/* 0950D0 7F0605A0 24010019 */ li $at, 25 -/* 0950D4 7F0605A4 46044400 */ add.s $f16, $f8, $f4 -/* 0950D8 7F0605A8 C7A4019C */ lwc1 $f4, 0x19c($sp) -/* 0950DC 7F0605AC E7B00198 */ swc1 $f16, 0x198($sp) -/* 0950E0 7F0605B0 C44600A0 */ lwc1 $f6, 0xa0($v0) -/* 0950E4 7F0605B4 46069282 */ mul.s $f10, $f18, $f6 -/* 0950E8 7F0605B8 46005203 */ div.s $f8, $f10, $f0 -/* 0950EC 7F0605BC 46082400 */ add.s $f16, $f4, $f8 -/* 0950F0 7F0605C0 14810014 */ bne $a0, $at, .L7F060614 -/* 0950F4 7F0605C4 E7B0019C */ swc1 $f16, 0x19c($sp) -/* 0950F8 7F0605C8 0FC293B2 */ jal cur_player_get_screen_setting -/* 0950FC 7F0605CC 00000000 */ nop -/* 095100 7F0605D0 24010001 */ li $at, 1 -/* 095104 7F0605D4 5041000B */ beql $v0, $at, .L7F060604 -/* 095108 7F0605D8 3C014040 */ lui $at, 0x4040 -/* 09510C 7F0605DC 0FC293B2 */ jal cur_player_get_screen_setting -/* 095110 7F0605E0 00000000 */ nop -/* 095114 7F0605E4 24010002 */ li $at, 2 -/* 095118 7F0605E8 50410006 */ beql $v0, $at, .L7F060604 -/* 09511C 7F0605EC 3C014040 */ lui $at, 0x4040 -/* 095120 7F0605F0 0FC293B8 */ jal get_screen_ratio -/* 095124 7F0605F4 00000000 */ nop -/* 095128 7F0605F8 24010001 */ li $at, 1 -/* 09512C 7F0605FC 14410005 */ bne $v0, $at, .L7F060614 -/* 095130 7F060600 3C014040 */ li $at, 0x40400000 # 3.000000 -.L7F060604: -/* 095134 7F060604 44813000 */ mtc1 $at, $f6 -/* 095138 7F060608 C7B20198 */ lwc1 $f18, 0x198($sp) -/* 09513C 7F06060C 46069281 */ sub.s $f10, $f18, $f6 -/* 095140 7F060610 E7AA0198 */ swc1 $f10, 0x198($sp) -.L7F060614: -/* 095144 7F060614 1000002C */ b .L7F0606C8 -/* 095148 7F060618 8FA400FC */ lw $a0, 0xfc($sp) -.L7F06061C: -/* 09514C 7F06061C 2401001F */ li $at, 31 -/* 095150 7F060620 14810016 */ bne $a0, $at, .L7F06067C -/* 095154 7F060624 3C028008 */ lui $v0, %hi(pPlayer) -/* 095158 7F060628 3C028008 */ lui $v0, %hi(pPlayer) -/* 09515C 7F06062C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 095160 7F060630 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 095164 7F060634 44810000 */ mtc1 $at, $f0 -/* 095168 7F060638 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 09516C 7F06063C 44812000 */ mtc1 $at, $f4 -/* 095170 7F060640 C44800A0 */ lwc1 $f8, 0xa0($v0) -/* 095174 7F060644 C7A60198 */ lwc1 $f6, 0x198($sp) -/* 095178 7F060648 3C0140F0 */ li $at, 0x40F00000 # 7.500000 -/* 09517C 7F06064C 46082402 */ mul.s $f16, $f4, $f8 -/* 095180 7F060650 44812000 */ mtc1 $at, $f4 -/* 095184 7F060654 46008483 */ div.s $f18, $f16, $f0 -/* 095188 7F060658 46123280 */ add.s $f10, $f6, $f18 -/* 09518C 7F06065C C7B2019C */ lwc1 $f18, 0x19c($sp) -/* 095190 7F060660 E7AA0198 */ swc1 $f10, 0x198($sp) -/* 095194 7F060664 C44800A0 */ lwc1 $f8, 0xa0($v0) -/* 095198 7F060668 46082402 */ mul.s $f16, $f4, $f8 -/* 09519C 7F06066C 46008183 */ div.s $f6, $f16, $f0 -/* 0951A0 7F060670 46069280 */ add.s $f10, $f18, $f6 -/* 0951A4 7F060674 10000014 */ b .L7F0606C8 -/* 0951A8 7F060678 E7AA019C */ swc1 $f10, 0x19c($sp) -.L7F06067C: -/* 0951AC 7F06067C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0951B0 7F060680 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 0951B4 7F060684 44810000 */ mtc1 $at, $f0 -/* 0951B8 7F060688 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0951BC 7F06068C 44812000 */ mtc1 $at, $f4 -/* 0951C0 7F060690 C44800A0 */ lwc1 $f8, 0xa0($v0) -/* 0951C4 7F060694 C7A60198 */ lwc1 $f6, 0x198($sp) -/* 0951C8 7F060698 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0951CC 7F06069C 46082402 */ mul.s $f16, $f4, $f8 -/* 0951D0 7F0606A0 44812000 */ mtc1 $at, $f4 -/* 0951D4 7F0606A4 46008483 */ div.s $f18, $f16, $f0 -/* 0951D8 7F0606A8 46123280 */ add.s $f10, $f6, $f18 -/* 0951DC 7F0606AC C7B2019C */ lwc1 $f18, 0x19c($sp) -/* 0951E0 7F0606B0 E7AA0198 */ swc1 $f10, 0x198($sp) -/* 0951E4 7F0606B4 C44800A0 */ lwc1 $f8, 0xa0($v0) -/* 0951E8 7F0606B8 46082402 */ mul.s $f16, $f4, $f8 -/* 0951EC 7F0606BC 46008183 */ div.s $f6, $f16, $f0 -/* 0951F0 7F0606C0 46069280 */ add.s $f10, $f18, $f6 -/* 0951F4 7F0606C4 E7AA019C */ swc1 $f10, 0x19c($sp) -.L7F0606C8: -/* 0951F8 7F0606C8 820F000C */ lb $t7, 0xc($s0) -/* 0951FC 7F0606CC 11E00047 */ beqz $t7, .L7F0607EC -/* 095200 7F0606D0 00000000 */ nop -/* 095204 7F0606D4 0FC1782D */ jal check_special_attributes -/* 095208 7F0606D8 24050020 */ li $a1, 32 -/* 09520C 7F0606DC 10400043 */ beqz $v0, .L7F0607EC -/* 095210 7F0606E0 8FA400FC */ lw $a0, 0xfc($sp) -/* 095214 7F0606E4 0FC1782D */ jal check_special_attributes -/* 095218 7F0606E8 24050040 */ li $a1, 64 -/* 09521C 7F0606EC 10400016 */ beqz $v0, .L7F060748 -/* 095220 7F0606F0 00000000 */ nop -/* 095224 7F0606F4 0C002914 */ jal get_random_value -/* 095228 7F0606F8 00000000 */ nop -/* 09522C 7F0606FC 44822000 */ mtc1 $v0, $f4 -/* 095230 7F060700 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 095234 7F060704 04410004 */ bgez $v0, .L7F060718 -/* 095238 7F060708 46802220 */ cvt.s.w $f8, $f4 -/* 09523C 7F06070C 44818000 */ mtc1 $at, $f16 -/* 095240 7F060710 00000000 */ nop -/* 095244 7F060714 46104200 */ add.s $f8, $f8, $f16 -.L7F060718: -/* 095248 7F060718 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09524C 7F06071C 44819000 */ mtc1 $at, $f18 -/* 095250 7F060720 3C018005 */ lui $at, %hi(D_80053DE8) -/* 095254 7F060724 C42A3DE8 */ lwc1 $f10, %lo(D_80053DE8)($at) -/* 095258 7F060728 46124182 */ mul.s $f6, $f8, $f18 -/* 09525C 7F06072C 3C018005 */ lui $at, %hi(D_80053DEC) -/* 095260 7F060730 C4303DEC */ lwc1 $f16, %lo(D_80053DEC)($at) -/* 095264 7F060734 C7B20194 */ lwc1 $f18, 0x194($sp) -/* 095268 7F060738 460A3102 */ mul.s $f4, $f6, $f10 -/* 09526C 7F06073C 46048201 */ sub.s $f8, $f16, $f4 -/* 095270 7F060740 46089180 */ add.s $f6, $f18, $f8 -/* 095274 7F060744 E7A60194 */ swc1 $f6, 0x194($sp) -.L7F060748: -/* 095278 7F060748 0C002914 */ jal get_random_value -/* 09527C 7F06074C 00000000 */ nop -/* 095280 7F060750 44825000 */ mtc1 $v0, $f10 -/* 095284 7F060754 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 095288 7F060758 04410004 */ bgez $v0, .L7F06076C -/* 09528C 7F06075C 46805420 */ cvt.s.w $f16, $f10 -/* 095290 7F060760 44812000 */ mtc1 $at, $f4 -/* 095294 7F060764 00000000 */ nop -/* 095298 7F060768 46048400 */ add.s $f16, $f16, $f4 -.L7F06076C: -/* 09529C 7F06076C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0952A0 7F060770 44819000 */ mtc1 $at, $f18 -/* 0952A4 7F060774 3C018005 */ lui $at, %hi(D_80053DF0) -/* 0952A8 7F060778 C4263DF0 */ lwc1 $f6, %lo(D_80053DF0)($at) -/* 0952AC 7F06077C 46128202 */ mul.s $f8, $f16, $f18 -/* 0952B0 7F060780 3C018005 */ lui $at, %hi(D_80053DF4) -/* 0952B4 7F060784 C4243DF4 */ lwc1 $f4, %lo(D_80053DF4)($at) -/* 0952B8 7F060788 C7B20198 */ lwc1 $f18, 0x198($sp) -/* 0952BC 7F06078C 46064282 */ mul.s $f10, $f8, $f6 -/* 0952C0 7F060790 460A2401 */ sub.s $f16, $f4, $f10 -/* 0952C4 7F060794 46109200 */ add.s $f8, $f18, $f16 -/* 0952C8 7F060798 0C002914 */ jal get_random_value -/* 0952CC 7F06079C E7A80198 */ swc1 $f8, 0x198($sp) -/* 0952D0 7F0607A0 44823000 */ mtc1 $v0, $f6 -/* 0952D4 7F0607A4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0952D8 7F0607A8 04410004 */ bgez $v0, .L7F0607BC -/* 0952DC 7F0607AC 46803120 */ cvt.s.w $f4, $f6 -/* 0952E0 7F0607B0 44815000 */ mtc1 $at, $f10 -/* 0952E4 7F0607B4 00000000 */ nop -/* 0952E8 7F0607B8 460A2100 */ add.s $f4, $f4, $f10 -.L7F0607BC: -/* 0952EC 7F0607BC 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0952F0 7F0607C0 44819000 */ mtc1 $at, $f18 -/* 0952F4 7F0607C4 3C018005 */ lui $at, %hi(D_80053DF8) -/* 0952F8 7F0607C8 C4283DF8 */ lwc1 $f8, %lo(D_80053DF8)($at) -/* 0952FC 7F0607CC 46122402 */ mul.s $f16, $f4, $f18 -/* 095300 7F0607D0 3C018005 */ lui $at, %hi(D_80053DFC) -/* 095304 7F0607D4 C42A3DFC */ lwc1 $f10, %lo(D_80053DFC)($at) -/* 095308 7F0607D8 C7B2019C */ lwc1 $f18, 0x19c($sp) -/* 09530C 7F0607DC 46088182 */ mul.s $f6, $f16, $f8 -/* 095310 7F0607E0 46065101 */ sub.s $f4, $f10, $f6 -/* 095314 7F0607E4 46049400 */ add.s $f16, $f18, $f4 -/* 095318 7F0607E8 E7B0019C */ swc1 $f16, 0x19c($sp) -.L7F0607EC: -/* 09531C 7F0607EC 0FC1E129 */ jal getPlayer_c_screenwidth -/* 095320 7F0607F0 00000000 */ nop -/* 095324 7F0607F4 0FC1E129 */ jal getPlayer_c_screenwidth -/* 095328 7F0607F8 E7A00048 */ swc1 $f0, 0x48($sp) -/* 09532C 7F0607FC 0FC1E131 */ jal getPlayer_c_screenleft -/* 095330 7F060800 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 095334 7F060804 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 095338 7F060808 3C188008 */ lui $t8, %hi(pPlayer) -/* 09533C 7F06080C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 095340 7F060810 44811000 */ mtc1 $at, $f2 -/* 095344 7F060814 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 095348 7F060818 C7080FFC */ lwc1 $f8, 0xffc($t8) -/* 09534C 7F06081C 8FB900F8 */ lw $t9, 0xf8($sp) -/* 095350 7F060820 46023482 */ mul.s $f18, $f6, $f2 -/* 095354 7F060824 46004281 */ sub.s $f10, $f8, $f0 -/* 095358 7F060828 C7300018 */ lwc1 $f16, 0x18($t9) -/* 09535C 7F06082C C7A60048 */ lwc1 $f6, 0x48($sp) -/* 095360 7F060830 46125101 */ sub.s $f4, $f10, $f18 -/* 095364 7F060834 46102202 */ mul.s $f8, $f4, $f16 -/* 095368 7F060838 C7A40194 */ lwc1 $f4, 0x194($sp) -/* 09536C 7F06083C 46023282 */ mul.s $f10, $f6, $f2 -/* 095370 7F060840 460A4483 */ div.s $f18, $f8, $f10 -/* 095374 7F060844 46122400 */ add.s $f16, $f4, $f18 -/* 095378 7F060848 0FC1E135 */ jal getPlayer_c_screentop -/* 09537C 7F06084C E7B00194 */ swc1 $f16, 0x194($sp) -/* 095380 7F060850 0FC1E12D */ jal getPlayer_c_screenheight -/* 095384 7F060854 E7A00050 */ swc1 $f0, 0x50($sp) -/* 095388 7F060858 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09538C 7F06085C 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 095390 7F060860 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 095394 7F060864 44813000 */ mtc1 $at, $f6 -/* 095398 7F060868 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 09539C 7F06086C C5AA1000 */ lwc1 $f10, 0x1000($t5) -/* 0953A0 7F060870 46060202 */ mul.s $f8, $f0, $f6 -/* 0953A4 7F060874 46045481 */ sub.s $f18, $f10, $f4 -/* 0953A8 7F060878 4612403C */ c.lt.s $f8, $f18 -/* 0953AC 7F06087C 00000000 */ nop -/* 0953B0 7F060880 4500001A */ bc1f .L7F0608EC -/* 0953B4 7F060884 00000000 */ nop -/* 0953B8 7F060888 0FC1E12D */ jal getPlayer_c_screenheight -/* 0953BC 7F06088C 00000000 */ nop -/* 0953C0 7F060890 0FC1E12D */ jal getPlayer_c_screenheight -/* 0953C4 7F060894 E7A00048 */ swc1 $f0, 0x48($sp) -/* 0953C8 7F060898 0FC1E135 */ jal getPlayer_c_screentop -/* 0953CC 7F06089C E7A0004C */ swc1 $f0, 0x4c($sp) -/* 0953D0 7F0608A0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0953D4 7F0608A4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0953D8 7F0608A8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0953DC 7F0608AC 44811000 */ mtc1 $at, $f2 -/* 0953E0 7F0608B0 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0953E4 7F0608B4 C5D01000 */ lwc1 $f16, 0x1000($t6) -/* 0953E8 7F0608B8 8FAF00F8 */ lw $t7, 0xf8($sp) -/* 0953EC 7F0608BC 46025102 */ mul.s $f4, $f10, $f2 -/* 0953F0 7F0608C0 46008181 */ sub.s $f6, $f16, $f0 -/* 0953F4 7F0608C4 C5F20014 */ lwc1 $f18, 0x14($t7) -/* 0953F8 7F0608C8 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 0953FC 7F0608CC 46043201 */ sub.s $f8, $f6, $f4 -/* 095400 7F0608D0 46124402 */ mul.s $f16, $f8, $f18 -/* 095404 7F0608D4 C7A80198 */ lwc1 $f8, 0x198($sp) -/* 095408 7F0608D8 46025182 */ mul.s $f6, $f10, $f2 -/* 09540C 7F0608DC 46068103 */ div.s $f4, $f16, $f6 -/* 095410 7F0608E0 46044481 */ sub.s $f18, $f8, $f4 -/* 095414 7F0608E4 1000001A */ b .L7F060950 -/* 095418 7F0608E8 E7B20198 */ swc1 $f18, 0x198($sp) -.L7F0608EC: -/* 09541C 7F0608EC 0FC1E12D */ jal getPlayer_c_screenheight -/* 095420 7F0608F0 00000000 */ nop -/* 095424 7F0608F4 0FC1E12D */ jal getPlayer_c_screenheight -/* 095428 7F0608F8 E7A00048 */ swc1 $f0, 0x48($sp) -/* 09542C 7F0608FC 0FC1E135 */ jal getPlayer_c_screentop -/* 095430 7F060900 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 095434 7F060904 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 095438 7F060908 3C188008 */ lui $t8, %hi(pPlayer) -/* 09543C 7F06090C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 095440 7F060910 44818000 */ mtc1 $at, $f16 -/* 095444 7F060914 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 095448 7F060918 C7081000 */ lwc1 $f8, 0x1000($t8) -/* 09544C 7F06091C 8FB900F8 */ lw $t9, 0xf8($sp) -/* 095450 7F060920 46105182 */ mul.s $f6, $f10, $f16 -/* 095454 7F060924 46004101 */ sub.s $f4, $f8, $f0 -/* 095458 7F060928 C72A0010 */ lwc1 $f10, 0x10($t9) -/* 09545C 7F06092C C7A80048 */ lwc1 $f8, 0x48($sp) -/* 095460 7F060930 46062481 */ sub.s $f18, $f4, $f6 -/* 095464 7F060934 44812000 */ mtc1 $at, $f4 -/* 095468 7F060938 460A9402 */ mul.s $f16, $f18, $f10 -/* 09546C 7F06093C C7AA0198 */ lwc1 $f10, 0x198($sp) -/* 095470 7F060940 46044182 */ mul.s $f6, $f8, $f4 -/* 095474 7F060944 46068483 */ div.s $f18, $f16, $f6 -/* 095478 7F060948 46125201 */ sub.s $f8, $f10, $f18 -/* 09547C 7F06094C E7A80198 */ swc1 $f8, 0x198($sp) -.L7F060950: -/* 095480 7F060950 0FC17185 */ jal sub_GAME_7F05C614 -/* 095484 7F060954 00000000 */ nop -/* 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 -/* 095498 7F060968 10410002 */ beq $v0, $at, .L7F060974 -/* 09549C 7F06096C 24010017 */ li $at, 23 -/* 0954A0 7F060970 14410010 */ bne $v0, $at, .L7F0609B4 -.L7F060974: -/* 0954A4 7F060974 3C0D8003 */ lui $t5, %hi(D_80035C70) -/* 0954A8 7F060978 25AD5C70 */ addiu $t5, %lo(D_80035C70) # addiu $t5, $t5, 0x5c70 -/* 0954AC 7F06097C 8DA10000 */ lw $at, ($t5) -/* 0954B0 7F060980 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 0954B4 7F060984 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 0954B8 7F060988 AC810000 */ sw $at, ($a0) -/* 0954BC 7F06098C 8DAF0004 */ lw $t7, 4($t5) -/* 0954C0 7F060990 AC8F0004 */ sw $t7, 4($a0) -/* 0954C4 7F060994 8DA10008 */ lw $at, 8($t5) -/* 0954C8 7F060998 0FC161C5 */ jal sub_GAME_7F058714 -/* 0954CC 7F06099C AC810008 */ sw $at, 8($a0) -/* 0954D0 7F0609A0 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 0954D4 7F0609A4 0FC16026 */ jal sub_GAME_7F058098 -/* 0954D8 7F0609A8 27A50154 */ addiu $a1, $sp, 0x154 -/* 0954DC 7F0609AC 10000039 */ b .L7F060A94 -/* 0954E0 7F0609B0 8E0D00BC */ lw $t5, 0xbc($s0) -.L7F0609B4: -/* 0954E4 7F0609B4 2401001F */ li $at, 31 -/* 0954E8 7F0609B8 14410010 */ bne $v0, $at, .L7F0609FC -/* 0954EC 7F0609BC 3C188003 */ lui $t8, %hi(D_80035C7C) -/* 0954F0 7F0609C0 27185C7C */ addiu $t8, %lo(D_80035C7C) # addiu $t8, $t8, 0x5c7c -/* 0954F4 7F0609C4 8F010000 */ lw $at, ($t8) -/* 0954F8 7F0609C8 27A400AC */ addiu $a0, $sp, 0xac -/* 0954FC 7F0609CC 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095500 7F0609D0 AC810000 */ sw $at, ($a0) -/* 095504 7F0609D4 8F0E0004 */ lw $t6, 4($t8) -/* 095508 7F0609D8 AC8E0004 */ sw $t6, 4($a0) -/* 09550C 7F0609DC 8F010008 */ lw $at, 8($t8) -/* 095510 7F0609E0 0FC161C5 */ jal sub_GAME_7F058714 -/* 095514 7F0609E4 AC810008 */ sw $at, 8($a0) -/* 095518 7F0609E8 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 09551C 7F0609EC 0FC16026 */ jal sub_GAME_7F058098 -/* 095520 7F0609F0 27A50154 */ addiu $a1, $sp, 0x154 -/* 095524 7F0609F4 10000027 */ b .L7F060A94 -/* 095528 7F0609F8 8E0D00BC */ lw $t5, 0xbc($s0) -.L7F0609FC: -/* 09552C 7F0609FC 24010001 */ li $at, 1 -/* 095530 7F060A00 14410023 */ bne $v0, $at, .L7F060A90 -/* 095534 7F060A04 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 095538 7F060A08 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 09553C 7F060A0C 24010011 */ li $at, 17 -/* 095540 7F060A10 3C198003 */ lui $t9, %hi(D_80035C88) -/* 095544 7F060A14 8DAF2A38 */ lw $t7, 0x2a38($t5) -/* 095548 7F060A18 27395C88 */ addiu $t9, %lo(D_80035C88) # addiu $t9, $t9, 0x5c88 -/* 09554C 7F060A1C 55E1001D */ bnel $t7, $at, .L7F060A94 -/* 095550 7F060A20 8E0D00BC */ lw $t5, 0xbc($s0) -/* 095554 7F060A24 8F210000 */ lw $at, ($t9) -/* 095558 7F060A28 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 09555C 7F060A2C 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095560 7F060A30 AC810000 */ sw $at, ($a0) -/* 095564 7F060A34 8F2E0004 */ lw $t6, 4($t9) -/* 095568 7F060A38 AC8E0004 */ sw $t6, 4($a0) -/* 09556C 7F060A3C 8F210008 */ lw $at, 8($t9) -/* 095570 7F060A40 0FC161C5 */ jal sub_GAME_7F058714 -/* 095574 7F060A44 AC810008 */ sw $at, 8($a0) -/* 095578 7F060A48 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 09557C 7F060A4C 0FC16026 */ jal sub_GAME_7F058098 -/* 095580 7F060A50 27A50154 */ addiu $a1, $sp, 0x154 -/* 095584 7F060A54 3C01C020 */ li $at, 0xC0200000 # -2.500000 -/* 095588 7F060A58 44818000 */ mtc1 $at, $f16 -/* 09558C 7F060A5C C7A40194 */ lwc1 $f4, 0x194($sp) -/* 095590 7F060A60 3C018005 */ lui $at, %hi(D_80053E00) -/* 095594 7F060A64 C4323E00 */ lwc1 $f18, %lo(D_80053E00)($at) -/* 095598 7F060A68 46102180 */ add.s $f6, $f4, $f16 -/* 09559C 7F060A6C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0955A0 7F060A70 C7AA0198 */ lwc1 $f10, 0x198($sp) -/* 0955A4 7F060A74 44818000 */ mtc1 $at, $f16 -/* 0955A8 7F060A78 C7A4019C */ lwc1 $f4, 0x19c($sp) -/* 0955AC 7F060A7C E7A60194 */ swc1 $f6, 0x194($sp) -/* 0955B0 7F060A80 46125200 */ add.s $f8, $f10, $f18 -/* 0955B4 7F060A84 46102180 */ add.s $f6, $f4, $f16 -/* 0955B8 7F060A88 E7A80198 */ swc1 $f8, 0x198($sp) -/* 0955BC 7F060A8C E7A6019C */ swc1 $f6, 0x19c($sp) -.L7F060A90: -/* 0955C0 7F060A90 8E0D00BC */ lw $t5, 0xbc($s0) -.L7F060A94: -/* 0955C4 7F060A94 51A00017 */ beql $t5, $zero, .L7F060AF4 -/* 0955C8 7F060A98 44802000 */ mtc1 $zero, $f4 -/* 0955CC 7F060A9C C7AA0194 */ lwc1 $f10, 0x194($sp) -/* 0955D0 7F060AA0 C61200AC */ lwc1 $f18, 0xac($s0) -/* 0955D4 7F060AA4 C7A40198 */ lwc1 $f4, 0x198($sp) -/* 0955D8 7F060AA8 2604007C */ addiu $a0, $s0, 0x7c -/* 0955DC 7F060AAC 46125200 */ add.s $f8, $f10, $f18 -/* 0955E0 7F060AB0 C7AA019C */ lwc1 $f10, 0x19c($sp) -/* 0955E4 7F060AB4 27A50154 */ addiu $a1, $sp, 0x154 -/* 0955E8 7F060AB8 E7A80194 */ swc1 $f8, 0x194($sp) -/* 0955EC 7F060ABC C61000B0 */ lwc1 $f16, 0xb0($s0) -/* 0955F0 7F060AC0 46102180 */ add.s $f6, $f4, $f16 -/* 0955F4 7F060AC4 E7A60198 */ swc1 $f6, 0x198($sp) -/* 0955F8 7F060AC8 C61200B4 */ lwc1 $f18, 0xb4($s0) -/* 0955FC 7F060ACC 46125200 */ add.s $f8, $f10, $f18 -/* 095600 7F060AD0 0FC16026 */ jal sub_GAME_7F058098 -/* 095604 7F060AD4 E7A8019C */ swc1 $f8, 0x19c($sp) -/* 095608 7F060AD8 44800000 */ mtc1 $zero, $f0 -/* 09560C 7F060ADC 00000000 */ nop -/* 095610 7F060AE0 E7A00184 */ swc1 $f0, 0x184($sp) -/* 095614 7F060AE4 E7A00188 */ swc1 $f0, 0x188($sp) -/* 095618 7F060AE8 1000000A */ b .L7F060B14 -/* 09561C 7F060AEC E7A0018C */ swc1 $f0, 0x18c($sp) -/* 095620 7F060AF0 44802000 */ mtc1 $zero, $f4 -.L7F060AF4: -/* 095624 7F060AF4 44808000 */ mtc1 $zero, $f16 -/* 095628 7F060AF8 44803000 */ mtc1 $zero, $f6 -/* 09562C 7F060AFC 44805000 */ mtc1 $zero, $f10 -/* 095630 7F060B00 44800000 */ mtc1 $zero, $f0 -/* 095634 7F060B04 E6040078 */ swc1 $f4, 0x78($s0) -/* 095638 7F060B08 E610006C */ swc1 $f16, 0x6c($s0) -/* 09563C 7F060B0C E6060070 */ swc1 $f6, 0x70($s0) -/* 095640 7F060B10 E60A0074 */ swc1 $f10, 0x74($s0) -.L7F060B14: -/* 095644 7F060B14 C61200CC */ lwc1 $f18, 0xcc($s0) -/* 095648 7F060B18 44050000 */ mfc1 $a1, $f0 -/* 09564C 7F060B1C 44060000 */ mfc1 $a2, $f0 -/* 095650 7F060B20 E7B20010 */ swc1 $f18, 0x10($sp) -/* 095654 7F060B24 C60800D0 */ lwc1 $f8, 0xd0($s0) -/* 095658 7F060B28 44070000 */ mfc1 $a3, $f0 -/* 09565C 7F060B2C 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 095660 7F060B30 E7A80014 */ swc1 $f8, 0x14($sp) -/* 095664 7F060B34 C60400D4 */ lwc1 $f4, 0xd4($s0) -/* 095668 7F060B38 E7A40018 */ swc1 $f4, 0x18($sp) -/* 09566C 7F060B3C C61000D8 */ lwc1 $f16, 0xd8($s0) -/* 095670 7F060B40 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 095674 7F060B44 C60600DC */ lwc1 $f6, 0xdc($s0) -/* 095678 7F060B48 E7A60020 */ swc1 $f6, 0x20($sp) -/* 09567C 7F060B4C C60A00E0 */ lwc1 $f10, 0xe0($s0) -/* 095680 7F060B50 0FC16642 */ jal sub_GAME_7F059908 -/* 095684 7F060B54 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 095688 7F060B58 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 09568C 7F060B5C 0FC16026 */ jal sub_GAME_7F058098 -/* 095690 7F060B60 27A50154 */ addiu $a1, $sp, 0x154 -/* 095694 7F060B64 C7B20194 */ lwc1 $f18, 0x194($sp) -/* 095698 7F060B68 C60801C8 */ lwc1 $f8, 0x1c8($s0) -/* 09569C 7F060B6C C7B00198 */ lwc1 $f16, 0x198($sp) -/* 0956A0 7F060B70 C60601CC */ lwc1 $f6, 0x1cc($s0) -/* 0956A4 7F060B74 46089101 */ sub.s $f4, $f18, $f8 -/* 0956A8 7F060B78 C60801D0 */ lwc1 $f8, 0x1d0($s0) -/* 0956AC 7F060B7C C7B2019C */ lwc1 $f18, 0x19c($sp) -/* 0956B0 7F060B80 46068281 */ sub.s $f10, $f16, $f6 -/* 0956B4 7F060B84 44062000 */ mfc1 $a2, $f4 -/* 0956B8 7F060B88 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 0956BC 7F060B8C 46089101 */ sub.s $f4, $f18, $f8 -/* 0956C0 7F060B90 44075000 */ mfc1 $a3, $f10 -/* 0956C4 7F060B94 24050000 */ li $a1, 0 -/* 0956C8 7F060B98 0FC1673A */ jal sub_GAME_7F059CE8 -/* 0956CC 7F060B9C E7A40010 */ swc1 $f4, 0x10($sp) -/* 0956D0 7F060BA0 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 0956D4 7F060BA4 0FC16026 */ jal sub_GAME_7F058098 -/* 0956D8 7F060BA8 27A50154 */ addiu $a1, $sp, 0x154 -/* 0956DC 7F060BAC 27A40154 */ addiu $a0, $sp, 0x154 -/* 0956E0 7F060BB0 0FC16008 */ jal sub_GAME_7F058020 -/* 0956E4 7F060BB4 27A50264 */ addiu $a1, $sp, 0x264 -/* 0956E8 7F060BB8 27A40194 */ addiu $a0, $sp, 0x194 -/* 0956EC 7F060BBC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0956F0 7F060BC0 27A50264 */ addiu $a1, $sp, 0x264 -/* 0956F4 7F060BC4 26050228 */ addiu $a1, $s0, 0x228 -/* 0956F8 7F060BC8 AFA50044 */ sw $a1, 0x44($sp) -/* 0956FC 7F060BCC 0FC16008 */ jal sub_GAME_7F058020 -/* 095700 7F060BD0 27A40264 */ addiu $a0, $sp, 0x264 -/* 095704 7F060BD4 26040268 */ addiu $a0, $s0, 0x268 -/* 095708 7F060BD8 AFA40040 */ sw $a0, 0x40($sp) -/* 09570C 7F060BDC 0FC16008 */ jal sub_GAME_7F058020 -/* 095710 7F060BE0 260502A8 */ addiu $a1, $s0, 0x2a8 -/* 095714 7F060BE4 0FC1E111 */ jal sub_GAME_7F078444 -/* 095718 7F060BE8 00000000 */ nop -/* 09571C 7F060BEC 00402025 */ move $a0, $v0 -/* 095720 7F060BF0 8FA50044 */ lw $a1, 0x44($sp) -/* 095724 7F060BF4 0FC16063 */ jal sub_GAME_7F05818C -/* 095728 7F060BF8 8FA60040 */ lw $a2, 0x40($sp) -/* 09572C 7F060BFC 240F0001 */ li $t7, 1 -/* 095730 7F060C00 A20F000F */ sb $t7, 0xf($s0) -/* 095734 7F060C04 0FC17412 */ jal get_ptr_weapon_model_header_line -/* 095738 7F060C08 8FA400FC */ lw $a0, 0xfc($sp) -/* 09573C 7F060C0C 10400017 */ beqz $v0, .L7F060C6C -/* 095740 7F060C10 8FA400FC */ lw $a0, 0xfc($sp) -/* 095744 7F060C14 0FC1782D */ jal check_special_attributes -/* 095748 7F060C18 24050800 */ li $a1, 2048 -/* 09574C 7F060C1C 10400013 */ beqz $v0, .L7F060C6C -/* 095750 7F060C20 8FA400FC */ lw $a0, 0xfc($sp) -/* 095754 7F060C24 0FC1782D */ jal check_special_attributes -/* 095758 7F060C28 24052000 */ li $a1, 8192 -/* 09575C 7F060C2C 54400010 */ bnezl $v0, .L7F060C70 -/* 095760 7F060C30 A200000F */ sb $zero, 0xf($s0) -/* 095764 7F060C34 8E020024 */ lw $v0, 0x24($s0) -/* 095768 7F060C38 24010006 */ li $at, 6 -/* 09576C 7F060C3C 1041000B */ beq $v0, $at, .L7F060C6C -/* 095770 7F060C40 24010007 */ li $at, 7 -/* 095774 7F060C44 5041000A */ beql $v0, $at, .L7F060C70 -/* 095778 7F060C48 A200000F */ sb $zero, 0xf($s0) -/* 09577C 7F060C4C 0FC173AF */ jal sub_GAME_7F05CEBC -/* 095780 7F060C50 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 095784 7F060C54 50400006 */ beql $v0, $zero, .L7F060C70 -/* 095788 7F060C58 A200000F */ sb $zero, 0xf($s0) -/* 09578C 7F060C5C 0FC173C0 */ jal get_itemtype_in_hand -/* 095790 7F060C60 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 095794 7F060C64 54400003 */ bnezl $v0, .L7F060C74 -/* 095798 7F060C68 8E18002C */ lw $t8, 0x2c($s0) -.L7F060C6C: -/* 09579C 7F060C6C A200000F */ sb $zero, 0xf($s0) -.L7F060C70: -/* 0957A0 7F060C70 8E18002C */ lw $t8, 0x2c($s0) -.L7F060C74: -/* 0957A4 7F060C74 8FA400FC */ lw $a0, 0xfc($sp) -/* 0957A8 7F060C78 5F000007 */ bgtzl $t8, .L7F060C98 -/* 0957AC 7F060C7C 8219000F */ lb $t9, 0xf($s0) -/* 0957B0 7F060C80 0FC1782D */ jal check_special_attributes -/* 0957B4 7F060C84 24050002 */ li $a1, 2 -/* 0957B8 7F060C88 50400003 */ beql $v0, $zero, .L7F060C98 -/* 0957BC 7F060C8C 8219000F */ lb $t9, 0xf($s0) -/* 0957C0 7F060C90 A200000F */ sb $zero, 0xf($s0) -/* 0957C4 7F060C94 8219000F */ lb $t9, 0xf($s0) -.L7F060C98: -/* 0957C8 7F060C98 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0957CC 7F060C9C 8FAD02A8 */ lw $t5, 0x2a8($sp) -/* 0957D0 7F060CA0 532002CD */ beql $t9, $zero, .L7F0617D8 -/* 0957D4 7F060CA4 8FAF00FC */ lw $t7, 0xfc($sp) -/* 0957D8 7F060CA8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0957DC 7F060CAC 000D7940 */ sll $t7, $t5, 5 -/* 0957E0 7F060CB0 00001825 */ move $v1, $zero -/* 0957E4 7F060CB4 01CF1021 */ addu $v0, $t6, $t7 -/* 0957E8 7F060CB8 8444081E */ lh $a0, 0x81e($v0) -/* 0957EC 7F060CBC 24420810 */ addiu $v0, $v0, 0x810 -/* 0957F0 7F060CC0 AFA201A0 */ sw $v0, 0x1a0($sp) -/* 0957F4 7F060CC4 0004C180 */ sll $t8, $a0, 6 -/* 0957F8 7F060CC8 03002025 */ move $a0, $t8 -/* 0957FC 7F060CCC 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 095800 7F060CD0 AFA00100 */ sw $zero, 0x100($sp) -/* 095804 7F060CD4 8FB901A0 */ lw $t9, 0x1a0($sp) -/* 095808 7F060CD8 AFA202A4 */ sw $v0, 0x2a4($sp) -/* 09580C 7F060CDC 8FA30100 */ lw $v1, 0x100($sp) -/* 095810 7F060CE0 872D000E */ lh $t5, 0xe($t9) -/* 095814 7F060CE4 19A0000D */ blez $t5, .L7F060D1C -/* 095818 7F060CE8 00402025 */ move $a0, $v0 -/* 09581C 7F060CEC AFA30100 */ sw $v1, 0x100($sp) -.L7F060CF0: -/* 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) -/* 095830 7F060D00 8FA40044 */ lw $a0, 0x44($sp) -/* 095834 7F060D04 85CF000E */ lh $t7, 0xe($t6) -/* 095838 7F060D08 24630001 */ addiu $v1, $v1, 1 -/* 09583C 7F060D0C 24840040 */ addiu $a0, $a0, 0x40 -/* 095840 7F060D10 006F082A */ slt $at, $v1, $t7 -/* 095844 7F060D14 5420FFF6 */ bnezl $at, .L7F060CF0 -/* 095848 7F060D18 AFA30100 */ sw $v1, 0x100($sp) -.L7F060D1C: -/* 09584C 7F060D1C 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 095850 7F060D20 8FA401A0 */ lw $a0, 0x1a0($sp) -/* 095854 7F060D24 260402F8 */ addiu $a0, $s0, 0x2f8 -/* 095858 7F060D28 8FA501A0 */ lw $a1, 0x1a0($sp) -/* 09585C 7F060D2C AFA40044 */ sw $a0, 0x44($sp) -/* 095860 7F060D30 0FC1D7DA */ jal sub_GAME_7F075F68 -/* 095864 7F060D34 26060318 */ addiu $a2, $s0, 0x318 -/* 095868 7F060D38 8FA40044 */ lw $a0, 0x44($sp) -/* 09586C 7F060D3C 0FC17A5E */ jal sub_GAME_7F05E978 -/* 095870 7F060D40 24050001 */ li $a1, 1 -/* 095874 7F060D44 8FA40044 */ lw $a0, 0x44($sp) -/* 095878 7F060D48 0FC17AA5 */ jal sub_GAME_7F05EA94 -/* 09587C 7F060D4C 8205000E */ lb $a1, 0xe($s0) -/* 095880 7F060D50 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 095884 7F060D54 8F020008 */ lw $v0, 8($t8) -/* 095888 7F060D58 8C440004 */ lw $a0, 4($v0) -/* 09588C 7F060D5C 50800008 */ beql $a0, $zero, .L7F060D80 -/* 095890 7F060D60 8C43000C */ lw $v1, 0xc($v0) -/* 095894 7F060D64 8C830004 */ lw $v1, 4($a0) -/* 095898 7F060D68 94790004 */ lhu $t9, 4($v1) -/* 09589C 7F060D6C 00196880 */ sll $t5, $t9, 2 -/* 0958A0 7F060D70 020D7021 */ addu $t6, $s0, $t5 -/* 0958A4 7F060D74 25CF0318 */ addiu $t7, $t6, 0x318 -/* 0958A8 7F060D78 AFAF010C */ sw $t7, 0x10c($sp) -/* 0958AC 7F060D7C 8C43000C */ lw $v1, 0xc($v0) -.L7F060D80: -/* 0958B0 7F060D80 50600004 */ beql $v1, $zero, .L7F060D94 -/* 0958B4 7F060D84 8FB902A4 */ lw $t9, 0x2a4($sp) -/* 0958B8 7F060D88 8C780004 */ lw $t8, 4($v1) -/* 0958BC 7F060D8C AFB80108 */ sw $t8, 0x108($sp) -/* 0958C0 7F060D90 8FB902A4 */ lw $t9, 0x2a4($sp) -.L7F060D94: -/* 0958C4 7F060D94 24050400 */ li $a1, 1024 -/* 0958C8 7F060D98 AE190304 */ sw $t9, 0x304($s0) -/* 0958CC 7F060D9C 0FC1782D */ jal check_special_attributes -/* 0958D0 7F060DA0 8FA400FC */ lw $a0, 0xfc($sp) -/* 0958D4 7F060DA4 10400008 */ beqz $v0, .L7F060DC8 -/* 0958D8 7F060DA8 00000000 */ nop -/* 0958DC 7F060DAC 8FAD02A8 */ lw $t5, 0x2a8($sp) -/* 0958E0 7F060DB0 24010001 */ li $at, 1 -/* 0958E4 7F060DB4 15A10004 */ bne $t5, $at, .L7F060DC8 -/* 0958E8 7F060DB8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0958EC 7F060DBC 44816000 */ mtc1 $at, $f12 -/* 0958F0 7F060DC0 0FC1626D */ jal sub_GAME_7F0589B4 -/* 0958F4 7F060DC4 27A50264 */ addiu $a1, $sp, 0x264 -.L7F060DC8: -/* 0958F8 7F060DC8 3C018005 */ lui $at, %hi(D_80053E04) -/* 0958FC 7F060DCC C42C3E04 */ lwc1 $f12, %lo(D_80053E04)($at) -/* 095900 7F060DD0 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 095904 7F060DD4 27A50264 */ addiu $a1, $sp, 0x264 -/* 095908 7F060DD8 27A40264 */ addiu $a0, $sp, 0x264 -/* 09590C 7F060DDC 0FC16008 */ jal sub_GAME_7F058020 -/* 095910 7F060DE0 8FA502A4 */ lw $a1, 0x2a4($sp) -/* 095914 7F060DE4 8FAF01A0 */ lw $t7, 0x1a0($sp) -/* 095918 7F060DE8 3C0E8004 */ lui $t6, %hi(weapon_gun_revolver) -/* 09591C 7F060DEC 25CEC76C */ addiu $t6, %lo(weapon_gun_revolver) # addiu $t6, $t6, -0x3894 -/* 095920 7F060DF0 8DF80004 */ lw $t8, 4($t7) -/* 095924 7F060DF4 55D80078 */ bnel $t6, $t8, .L7F060FD8 -/* 095928 7F060DF8 8FA2010C */ lw $v0, 0x10c($sp) -/* 09592C 7F060DFC 8DE20008 */ lw $v0, 8($t7) -/* 095930 7F060E00 8FB900FC */ lw $t9, 0xfc($sp) -/* 095934 7F060E04 24010012 */ li $at, 18 -/* 095938 7F060E08 8C430010 */ lw $v1, 0x10($v0) -/* 09593C 7F060E0C 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095940 7F060E10 50600041 */ beql $v1, $zero, .L7F060F18 -/* 095944 7F060E14 8C430014 */ lw $v1, 0x14($v0) -/* 095948 7F060E18 44806000 */ mtc1 $zero, $f12 -/* 09594C 7F060E1C 17210021 */ bne $t9, $at, .L7F060EA4 -/* 095950 7F060E20 8C640004 */ lw $a0, 4($v1) -/* 095954 7F060E24 8E0D0024 */ lw $t5, 0x24($s0) -/* 095958 7F060E28 24010001 */ li $at, 1 -/* 09595C 7F060E2C 55A10012 */ bnel $t5, $at, .L7F060E78 -/* 095960 7F060E30 8E18002C */ lw $t8, 0x2c($s0) -/* 095964 7F060E34 8E18002C */ lw $t8, 0x2c($s0) -/* 095968 7F060E38 8E0E0020 */ lw $t6, 0x20($s0) -/* 09596C 7F060E3C 3C018005 */ lui $at, %hi(D_80053E08) -/* 095970 7F060E40 00187880 */ sll $t7, $t8, 2 -/* 095974 7F060E44 01F87823 */ subu $t7, $t7, $t8 -/* 095978 7F060E48 000F7840 */ sll $t7, $t7, 1 -/* 09597C 7F060E4C 01CFC823 */ subu $t9, $t6, $t7 -/* 095980 7F060E50 272D001E */ addiu $t5, $t9, 0x1e -/* 095984 7F060E54 448D8000 */ mtc1 $t5, $f16 -/* 095988 7F060E58 C42A3E08 */ lwc1 $f10, %lo(D_80053E08)($at) -/* 09598C 7F060E5C 3C014210 */ li $at, 0x42100000 # 36.000000 -/* 095990 7F060E60 468081A0 */ cvt.s.w $f6, $f16 -/* 095994 7F060E64 44814000 */ mtc1 $at, $f8 -/* 095998 7F060E68 460A3482 */ mul.s $f18, $f6, $f10 -/* 09599C 7F060E6C 1000001D */ b .L7F060EE4 -/* 0959A0 7F060E70 46089303 */ div.s $f12, $f18, $f8 -/* 0959A4 7F060E74 8E18002C */ lw $t8, 0x2c($s0) -.L7F060E78: -/* 0959A8 7F060E78 240E0006 */ li $t6, 6 -/* 0959AC 7F060E7C 3C018005 */ lui $at, %hi(D_80053E0C) -/* 0959B0 7F060E80 01D87823 */ subu $t7, $t6, $t8 -/* 0959B4 7F060E84 448F2000 */ mtc1 $t7, $f4 -/* 0959B8 7F060E88 C4263E0C */ lwc1 $f6, %lo(D_80053E0C)($at) -/* 0959BC 7F060E8C 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 0959C0 7F060E90 46802420 */ cvt.s.w $f16, $f4 -/* 0959C4 7F060E94 44819000 */ mtc1 $at, $f18 -/* 0959C8 7F060E98 46068282 */ mul.s $f10, $f16, $f6 -/* 0959CC 7F060E9C 10000011 */ b .L7F060EE4 -/* 0959D0 7F060EA0 46125303 */ div.s $f12, $f10, $f18 -.L7F060EA4: -/* 0959D4 7F060EA4 8E190024 */ lw $t9, 0x24($s0) -/* 0959D8 7F060EA8 24010001 */ li $at, 1 -/* 0959DC 7F060EAC 1721000D */ bne $t9, $at, .L7F060EE4 -/* 0959E0 7F060EB0 00000000 */ nop -/* 0959E4 7F060EB4 8E020020 */ lw $v0, 0x20($s0) -/* 0959E8 7F060EB8 28410006 */ slti $at, $v0, 6 -/* 0959EC 7F060EBC 10200009 */ beqz $at, .L7F060EE4 -/* 0959F0 7F060EC0 00000000 */ nop -/* 0959F4 7F060EC4 44824000 */ mtc1 $v0, $f8 -/* 0959F8 7F060EC8 3C018005 */ lui $at, %hi(D_80053E10) -/* 0959FC 7F060ECC C4303E10 */ lwc1 $f16, %lo(D_80053E10)($at) -/* 095A00 7F060ED0 46804120 */ cvt.s.w $f4, $f8 -/* 095A04 7F060ED4 3C014210 */ li $at, 0x42100000 # 36.000000 -/* 095A08 7F060ED8 44815000 */ mtc1 $at, $f10 -/* 095A0C 7F060EDC 46102182 */ mul.s $f6, $f4, $f16 -/* 095A10 7F060EE0 460A3303 */ div.s $f12, $f6, $f10 -.L7F060EE4: -/* 095A14 7F060EE4 0FC161A2 */ jal sub_GAME_7F058688 -/* 095A18 7F060EE8 AFA4009C */ sw $a0, 0x9c($sp) -/* 095A1C 7F060EEC 8FA4009C */ lw $a0, 0x9c($sp) -/* 095A20 7F060EF0 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 095A24 7F060EF4 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095A28 7F060EF8 8FA602A4 */ lw $a2, 0x2a4($sp) -/* 095A2C 7F060EFC 27A40264 */ addiu $a0, $sp, 0x264 -/* 095A30 7F060F00 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095A34 7F060F04 0FC16032 */ jal sub_GAME_7F0580C8 -/* 095A38 7F060F08 24C600C0 */ addiu $a2, $a2, 0xc0 -/* 095A3C 7F060F0C 8FAD01A0 */ lw $t5, 0x1a0($sp) -/* 095A40 7F060F10 8DA20008 */ lw $v0, 8($t5) -/* 095A44 7F060F14 8C430014 */ lw $v1, 0x14($v0) -.L7F060F18: -/* 095A48 7F060F18 5060002F */ beql $v1, $zero, .L7F060FD8 -/* 095A4C 7F060F1C 8FA2010C */ lw $v0, 0x10c($sp) -/* 095A50 7F060F20 8E0E0024 */ lw $t6, 0x24($s0) -/* 095A54 7F060F24 24010001 */ li $at, 1 -/* 095A58 7F060F28 8C640004 */ lw $a0, 4($v1) -/* 095A5C 7F060F2C 15C10022 */ bne $t6, $at, .L7F060FB8 -/* 095A60 7F060F30 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095A64 7F060F34 8E020020 */ lw $v0, 0x20($s0) -/* 095A68 7F060F38 24180006 */ li $t8, 6 -/* 095A6C 7F060F3C 28410003 */ slti $at, $v0, 3 -/* 095A70 7F060F40 1020000C */ beqz $at, .L7F060F74 -/* 095A74 7F060F44 03027823 */ subu $t7, $t8, $v0 -/* 095A78 7F060F48 44829000 */ mtc1 $v0, $f18 -/* 095A7C 7F060F4C 3C018005 */ lui $at, %hi(D_80053E14) -/* 095A80 7F060F50 C4303E14 */ lwc1 $f16, %lo(D_80053E14)($at) -/* 095A84 7F060F54 46809220 */ cvt.s.w $f8, $f18 -/* 095A88 7F060F58 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 095A8C 7F060F5C 44815000 */ mtc1 $at, $f10 -/* 095A90 7F060F60 46004107 */ neg.s $f4, $f8 -/* 095A94 7F060F64 46102002 */ mul.s $f0, $f4, $f16 -/* 095A98 7F060F68 46000180 */ add.s $f6, $f0, $f0 -/* 095A9C 7F060F6C 1000000B */ b .L7F060F9C -/* 095AA0 7F060F70 460A3303 */ div.s $f12, $f6, $f10 -.L7F060F74: -/* 095AA4 7F060F74 448F9000 */ mtc1 $t7, $f18 -/* 095AA8 7F060F78 3C018005 */ lui $at, %hi(D_80053E18) -/* 095AAC 7F060F7C C4303E18 */ lwc1 $f16, %lo(D_80053E18)($at) -/* 095AB0 7F060F80 46809220 */ cvt.s.w $f8, $f18 -/* 095AB4 7F060F84 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 095AB8 7F060F88 44815000 */ mtc1 $at, $f10 -/* 095ABC 7F060F8C 46004107 */ neg.s $f4, $f8 -/* 095AC0 7F060F90 46102002 */ mul.s $f0, $f4, $f16 -/* 095AC4 7F060F94 46000180 */ add.s $f6, $f0, $f0 -/* 095AC8 7F060F98 460A3303 */ div.s $f12, $f6, $f10 -.L7F060F9C: -/* 095ACC 7F060F9C 0FC1615C */ jal sub_GAME_7F058570 -/* 095AD0 7F060FA0 AFA40094 */ sw $a0, 0x94($sp) -/* 095AD4 7F060FA4 8FA40094 */ lw $a0, 0x94($sp) -/* 095AD8 7F060FA8 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 095ADC 7F060FAC 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095AE0 7F060FB0 10000004 */ b .L7F060FC4 -/* 095AE4 7F060FB4 8FA602A4 */ lw $a2, 0x2a4($sp) -.L7F060FB8: -/* 095AE8 7F060FB8 0FC16259 */ jal init_something_copy_posdata_to_it -/* 095AEC 7F060FBC 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095AF0 7F060FC0 8FA602A4 */ lw $a2, 0x2a4($sp) -.L7F060FC4: -/* 095AF4 7F060FC4 27A40264 */ addiu $a0, $sp, 0x264 -/* 095AF8 7F060FC8 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095AFC 7F060FCC 0FC16032 */ jal sub_GAME_7F0580C8 -/* 095B00 7F060FD0 24C60100 */ addiu $a2, $a2, 0x100 -/* 095B04 7F060FD4 8FA2010C */ lw $v0, 0x10c($sp) -.L7F060FD8: -/* 095B08 7F060FD8 50400003 */ beql $v0, $zero, .L7F060FE8 -/* 095B0C 7F060FDC 8FB90108 */ lw $t9, 0x108($sp) -/* 095B10 7F060FE0 AC400000 */ sw $zero, ($v0) -/* 095B14 7F060FE4 8FB90108 */ lw $t9, 0x108($sp) -.L7F060FE8: -/* 095B18 7F060FE8 53200142 */ beql $t9, $zero, .L7F0614F4 -/* 095B1C 7F060FEC C6100260 */ lwc1 $f16, 0x260($s0) -/* 095B20 7F060FF0 0C002914 */ jal get_random_value -/* 095B24 7F060FF4 00000000 */ nop -/* 095B28 7F060FF8 44829000 */ mtc1 $v0, $f18 -/* 095B2C 7F060FFC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 095B30 7F061000 04410004 */ bgez $v0, .L7F061014 -/* 095B34 7F061004 46809220 */ cvt.s.w $f8, $f18 -/* 095B38 7F061008 44812000 */ mtc1 $at, $f4 -/* 095B3C 7F06100C 00000000 */ nop -/* 095B40 7F061010 46044200 */ add.s $f8, $f8, $f4 -.L7F061014: -/* 095B44 7F061014 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 095B48 7F061018 44818000 */ mtc1 $at, $f16 -/* 095B4C 7F06101C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 095B50 7F061020 44815000 */ mtc1 $at, $f10 -/* 095B54 7F061024 46104182 */ mul.s $f6, $f8, $f16 -/* 095B58 7F061028 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 095B5C 7F06102C 44812000 */ mtc1 $at, $f4 -/* 095B60 7F061030 8FAD00F8 */ lw $t5, 0xf8($sp) -/* 095B64 7F061034 8FA400FC */ lw $a0, 0xfc($sp) -/* 095B68 7F061038 24050001 */ li $a1, 1 -/* 095B6C 7F06103C 460A3482 */ mul.s $f18, $f6, $f10 -/* 095B70 7F061040 46049200 */ add.s $f8, $f18, $f4 -/* 095B74 7F061044 E7A80080 */ swc1 $f8, 0x80($sp) -/* 095B78 7F061048 C5B00000 */ lwc1 $f16, ($t5) -/* 095B7C 7F06104C 0FC1782D */ jal check_special_attributes -/* 095B80 7F061050 E7B0007C */ swc1 $f16, 0x7c($sp) -/* 095B84 7F061054 10400018 */ beqz $v0, .L7F0610B8 -/* 095B88 7F061058 8FA40108 */ lw $a0, 0x108($sp) -/* 095B8C 7F06105C 0C002914 */ jal get_random_value -/* 095B90 7F061060 00000000 */ nop -/* 095B94 7F061064 44823000 */ mtc1 $v0, $f6 -/* 095B98 7F061068 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 095B9C 7F06106C 04410004 */ bgez $v0, .L7F061080 -/* 095BA0 7F061070 468032A0 */ cvt.s.w $f10, $f6 -/* 095BA4 7F061074 44819000 */ mtc1 $at, $f18 -/* 095BA8 7F061078 00000000 */ nop -/* 095BAC 7F06107C 46125280 */ add.s $f10, $f10, $f18 -.L7F061080: -/* 095BB0 7F061080 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 095BB4 7F061084 44812000 */ mtc1 $at, $f4 -/* 095BB8 7F061088 3C018005 */ lui $at, %hi(D_80053E1C) -/* 095BBC 7F06108C C4303E1C */ lwc1 $f16, %lo(D_80053E1C)($at) -/* 095BC0 7F061090 46045202 */ mul.s $f8, $f10, $f4 -/* 095BC4 7F061094 27A50224 */ addiu $a1, $sp, 0x224 -/* 095BC8 7F061098 46104302 */ mul.s $f12, $f8, $f16 -/* 095BCC 7F06109C 0FC161A2 */ jal sub_GAME_7F058688 -/* 095BD0 7F0610A0 00000000 */ nop -/* 095BD4 7F0610A4 8FA40108 */ lw $a0, 0x108($sp) -/* 095BD8 7F0610A8 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 095BDC 7F0610AC 27A50224 */ addiu $a1, $sp, 0x224 -/* 095BE0 7F0610B0 10000004 */ b .L7F0610C4 -/* 095BE4 7F0610B4 C7AC0080 */ lwc1 $f12, 0x80($sp) -.L7F0610B8: -/* 095BE8 7F0610B8 0FC16259 */ jal init_something_copy_posdata_to_it -/* 095BEC 7F0610BC 27A50224 */ addiu $a1, $sp, 0x224 -/* 095BF0 7F0610C0 C7AC0080 */ lwc1 $f12, 0x80($sp) -.L7F0610C4: -/* 095BF4 7F0610C4 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 095BF8 7F0610C8 27A50224 */ addiu $a1, $sp, 0x224 -/* 095BFC 7F0610CC C7AC007C */ lwc1 $f12, 0x7c($sp) -/* 095C00 7F0610D0 0FC16285 */ jal sub_GAME_7F058A14 -/* 095C04 7F0610D4 27A50224 */ addiu $a1, $sp, 0x224 -/* 095C08 7F0610D8 27A40264 */ addiu $a0, $sp, 0x264 -/* 095C0C 7F0610DC 0FC1601A */ jal sub_GAME_7F058068 -/* 095C10 7F0610E0 27A50224 */ addiu $a1, $sp, 0x224 -/* 095C14 7F0610E4 8FA502A4 */ lw $a1, 0x2a4($sp) -/* 095C18 7F0610E8 27A40224 */ addiu $a0, $sp, 0x224 -/* 095C1C 7F0610EC 0FC16008 */ jal sub_GAME_7F058020 -/* 095C20 7F0610F0 24A50040 */ addiu $a1, $a1, 0x40 -/* 095C24 7F0610F4 C7A60254 */ lwc1 $f6, 0x254($sp) -/* 095C28 7F0610F8 E60602E8 */ swc1 $f6, 0x2e8($s0) -/* 095C2C 7F0610FC C7B20258 */ lwc1 $f18, 0x258($sp) -/* 095C30 7F061100 E61202EC */ swc1 $f18, 0x2ec($s0) -/* 095C34 7F061104 C7AA025C */ lwc1 $f10, 0x25c($sp) -/* 095C38 7F061108 0FC1E111 */ jal sub_GAME_7F078444 -/* 095C3C 7F06110C E60A02F0 */ swc1 $f10, 0x2f0($s0) -/* 095C40 7F061110 00402025 */ move $a0, $v0 -/* 095C44 7F061114 0FC1611D */ jal sub_GAME_7F058474 -/* 095C48 7F061118 260502E8 */ addiu $a1, $s0, 0x2e8 -/* 095C4C 7F06111C C7A4025C */ lwc1 $f4, 0x25c($sp) -/* 095C50 7F061120 820E000D */ lb $t6, 0xd($s0) -/* 095C54 7F061124 46002207 */ neg.s $f8, $f4 -/* 095C58 7F061128 11C000EE */ beqz $t6, .L7F0614E4 -/* 095C5C 7F06112C E60802F4 */ swc1 $f8, 0x2f4($s0) -/* 095C60 7F061130 8FB8010C */ lw $t8, 0x10c($sp) -/* 095C64 7F061134 240F0001 */ li $t7, 1 -/* 095C68 7F061138 53000003 */ beql $t8, $zero, .L7F061148 -/* 095C6C 7F06113C 8FB901A0 */ lw $t9, 0x1a0($sp) -/* 095C70 7F061140 AF0F0000 */ sw $t7, ($t8) -/* 095C74 7F061144 8FB901A0 */ lw $t9, 0x1a0($sp) -.L7F061148: -/* 095C78 7F061148 8F2D0008 */ lw $t5, 8($t9) -/* 095C7C 7F06114C 8DA30008 */ lw $v1, 8($t5) -/* 095C80 7F061150 5060006D */ beql $v1, $zero, .L7F061308 -/* 095C84 7F061154 8FAF01A0 */ lw $t7, 0x1a0($sp) -/* 095C88 7F061158 8C620004 */ lw $v0, 4($v1) -/* 095C8C 7F06115C C7A60224 */ lwc1 $f6, 0x224($sp) -/* 095C90 7F061160 C7A40234 */ lwc1 $f4, 0x234($sp) -/* 095C94 7F061164 C4500000 */ lwc1 $f16, ($v0) -/* 095C98 7F061168 C44A0004 */ lwc1 $f10, 4($v0) -/* 095C9C 7F06116C 46068482 */ mul.s $f18, $f16, $f6 -/* 095CA0 7F061170 C4460008 */ lwc1 $f6, 8($v0) -/* 095CA4 7F061174 46045202 */ mul.s $f8, $f10, $f4 -/* 095CA8 7F061178 C7AA0244 */ lwc1 $f10, 0x244($sp) -/* 095CAC 7F06117C 460A3102 */ mul.s $f4, $f6, $f10 -/* 095CB0 7F061180 46089400 */ add.s $f16, $f18, $f8 -/* 095CB4 7F061184 C7A80254 */ lwc1 $f8, 0x254($sp) -/* 095CB8 7F061188 46048480 */ add.s $f18, $f16, $f4 -/* 095CBC 7F06118C C7B00228 */ lwc1 $f16, 0x228($sp) -/* 095CC0 7F061190 46124180 */ add.s $f6, $f8, $f18 -/* 095CC4 7F061194 C7B20238 */ lwc1 $f18, 0x238($sp) -/* 095CC8 7F061198 E7A60084 */ swc1 $f6, 0x84($sp) -/* 095CCC 7F06119C C44A0000 */ lwc1 $f10, ($v0) -/* 095CD0 7F0611A0 C4480004 */ lwc1 $f8, 4($v0) -/* 095CD4 7F0611A4 46105102 */ mul.s $f4, $f10, $f16 -/* 095CD8 7F0611A8 C4500008 */ lwc1 $f16, 8($v0) -/* 095CDC 7F0611AC 46124182 */ mul.s $f6, $f8, $f18 -/* 095CE0 7F0611B0 C7A80248 */ lwc1 $f8, 0x248($sp) -/* 095CE4 7F0611B4 46088482 */ mul.s $f18, $f16, $f8 -/* 095CE8 7F0611B8 46062280 */ add.s $f10, $f4, $f6 -/* 095CEC 7F0611BC C7A60258 */ lwc1 $f6, 0x258($sp) -/* 095CF0 7F0611C0 46125100 */ add.s $f4, $f10, $f18 -/* 095CF4 7F0611C4 C7AA022C */ lwc1 $f10, 0x22c($sp) -/* 095CF8 7F0611C8 46043400 */ add.s $f16, $f6, $f4 -/* 095CFC 7F0611CC C7A4023C */ lwc1 $f4, 0x23c($sp) -/* 095D00 7F0611D0 E7B00088 */ swc1 $f16, 0x88($sp) -/* 095D04 7F0611D4 C4480000 */ lwc1 $f8, ($v0) -/* 095D08 7F0611D8 C4460004 */ lwc1 $f6, 4($v0) -/* 095D0C 7F0611DC 460A4482 */ mul.s $f18, $f8, $f10 -/* 095D10 7F0611E0 C44A0008 */ lwc1 $f10, 8($v0) -/* 095D14 7F0611E4 46043402 */ mul.s $f16, $f6, $f4 -/* 095D18 7F0611E8 C7A6024C */ lwc1 $f6, 0x24c($sp) -/* 095D1C 7F0611EC 46065102 */ mul.s $f4, $f10, $f6 -/* 095D20 7F0611F0 46109200 */ add.s $f8, $f18, $f16 -/* 095D24 7F0611F4 C7B0025C */ lwc1 $f16, 0x25c($sp) -/* 095D28 7F0611F8 46044480 */ add.s $f18, $f8, $f4 -/* 095D2C 7F0611FC 46128280 */ add.s $f10, $f16, $f18 -/* 095D30 7F061200 0C002914 */ jal get_random_value -/* 095D34 7F061204 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 095D38 7F061208 44823000 */ mtc1 $v0, $f6 -/* 095D3C 7F06120C 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 095D40 7F061210 04410005 */ bgez $v0, .L7F061228 -/* 095D44 7F061214 46803220 */ cvt.s.w $f8, $f6 -/* 095D48 7F061218 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 095D4C 7F06121C 44812000 */ mtc1 $at, $f4 -/* 095D50 7F061220 00000000 */ nop -/* 095D54 7F061224 46044200 */ add.s $f8, $f8, $f4 -.L7F061228: -/* 095D58 7F061228 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 095D5C 7F06122C 44818000 */ mtc1 $at, $f16 -/* 095D60 7F061230 3C018005 */ lui $at, %hi(D_80053E20) -/* 095D64 7F061234 C42A3E20 */ lwc1 $f10, %lo(D_80053E20)($at) -/* 095D68 7F061238 46104482 */ mul.s $f18, $f8, $f16 -/* 095D6C 7F06123C C7B00088 */ lwc1 $f16, 0x88($sp) -/* 095D70 7F061240 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 095D74 7F061244 46002207 */ neg.s $f8, $f4 -/* 095D78 7F061248 460A9182 */ mul.s $f6, $f18, $f10 -/* 095D7C 7F06124C C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 095D80 7F061250 46008487 */ neg.s $f18, $f16 -/* 095D84 7F061254 44064000 */ mfc1 $a2, $f8 -/* 095D88 7F061258 44079000 */ mfc1 $a3, $f18 -/* 095D8C 7F06125C 44053000 */ mfc1 $a1, $f6 -/* 095D90 7F061260 46005187 */ neg.s $f6, $f10 -/* 095D94 7F061264 0FC1673A */ jal sub_GAME_7F059CE8 -/* 095D98 7F061268 E7A60010 */ swc1 $f6, 0x10($sp) -/* 095D9C 7F06126C 3C018005 */ lui $at, %hi(D_80053E24) -/* 095DA0 7F061270 C4243E24 */ lwc1 $f4, %lo(D_80053E24)($at) -/* 095DA4 7F061274 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 095DA8 7F061278 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095DAC 7F06127C 46082302 */ mul.s $f12, $f4, $f8 -/* 095DB0 7F061280 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 095DB4 7F061284 00000000 */ nop -/* 095DB8 7F061288 C7B00194 */ lwc1 $f16, 0x194($sp) -/* 095DBC 7F06128C C61201C8 */ lwc1 $f18, 0x1c8($s0) -/* 095DC0 7F061290 C7A60198 */ lwc1 $f6, 0x198($sp) -/* 095DC4 7F061294 C60401CC */ lwc1 $f4, 0x1cc($s0) -/* 095DC8 7F061298 46128281 */ sub.s $f10, $f16, $f18 -/* 095DCC 7F06129C C61201D0 */ lwc1 $f18, 0x1d0($s0) -/* 095DD0 7F0612A0 C7B0019C */ lwc1 $f16, 0x19c($sp) -/* 095DD4 7F0612A4 46043201 */ sub.s $f8, $f6, $f4 -/* 095DD8 7F0612A8 44065000 */ mfc1 $a2, $f10 -/* 095DDC 7F0612AC 27A40114 */ addiu $a0, $sp, 0x114 -/* 095DE0 7F0612B0 46128281 */ sub.s $f10, $f16, $f18 -/* 095DE4 7F0612B4 44074000 */ mfc1 $a3, $f8 -/* 095DE8 7F0612B8 24050000 */ li $a1, 0 -/* 095DEC 7F0612BC 0FC166D6 */ jal sub_GAME_7F059B58 -/* 095DF0 7F0612C0 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 095DF4 7F0612C4 27A40114 */ addiu $a0, $sp, 0x114 -/* 095DF8 7F0612C8 0FC1601A */ jal sub_GAME_7F058068 -/* 095DFC 7F0612CC 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095E00 7F0612D0 C7AC007C */ lwc1 $f12, 0x7c($sp) -/* 095E04 7F0612D4 0FC162E0 */ jal sub_GAME_7F058B80 -/* 095E08 7F0612D8 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095E0C 7F0612DC 27A40154 */ addiu $a0, $sp, 0x154 -/* 095E10 7F0612E0 0FC1601A */ jal sub_GAME_7F058068 -/* 095E14 7F0612E4 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095E18 7F0612E8 27A40084 */ addiu $a0, $sp, 0x84 -/* 095E1C 7F0612EC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 095E20 7F0612F0 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095E24 7F0612F4 8FA502A4 */ lw $a1, 0x2a4($sp) -/* 095E28 7F0612F8 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 095E2C 7F0612FC 0FC16008 */ jal sub_GAME_7F058020 -/* 095E30 7F061300 24A50080 */ addiu $a1, $a1, 0x80 -/* 095E34 7F061304 8FAF01A0 */ lw $t7, 0x1a0($sp) -.L7F061308: -/* 095E38 7F061308 3C0E8004 */ lui $t6, %hi(weapon_gun_kf7) -/* 095E3C 7F06130C 25CEC7AC */ addiu $t6, %lo(weapon_gun_kf7) # addiu $t6, $t6, -0x3854 -/* 095E40 7F061310 8DF80004 */ lw $t8, 4($t7) -/* 095E44 7F061314 55D80074 */ bnel $t6, $t8, .L7F0614E8 -/* 095E48 7F061318 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 095E4C 7F06131C 8DF90008 */ lw $t9, 8($t7) -/* 095E50 7F061320 8F230010 */ lw $v1, 0x10($t9) -/* 095E54 7F061324 50600070 */ beql $v1, $zero, .L7F0614E8 -/* 095E58 7F061328 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 095E5C 7F06132C 8C620004 */ lw $v0, 4($v1) -/* 095E60 7F061330 C7A40224 */ lwc1 $f4, 0x224($sp) -/* 095E64 7F061334 C7B20234 */ lwc1 $f18, 0x234($sp) -/* 095E68 7F061338 C4460000 */ lwc1 $f6, ($v0) -/* 095E6C 7F06133C C4500004 */ lwc1 $f16, 4($v0) -/* 095E70 7F061340 3C018005 */ lui $at, %hi(D_80053E28) -/* 095E74 7F061344 46043202 */ mul.s $f8, $f6, $f4 -/* 095E78 7F061348 C4440008 */ lwc1 $f4, 8($v0) -/* 095E7C 7F06134C 8FAD02A4 */ lw $t5, 0x2a4($sp) -/* 095E80 7F061350 46128282 */ mul.s $f10, $f16, $f18 -/* 095E84 7F061354 C7B00244 */ lwc1 $f16, 0x244($sp) -/* 095E88 7F061358 25AE00C0 */ addiu $t6, $t5, 0xc0 -/* 095E8C 7F06135C 46102482 */ mul.s $f18, $f4, $f16 -/* 095E90 7F061360 460A4180 */ add.s $f6, $f8, $f10 -/* 095E94 7F061364 C7AA0254 */ lwc1 $f10, 0x254($sp) -/* 095E98 7F061368 46123200 */ add.s $f8, $f6, $f18 -/* 095E9C 7F06136C C7A60228 */ lwc1 $f6, 0x228($sp) -/* 095EA0 7F061370 46085100 */ add.s $f4, $f10, $f8 -/* 095EA4 7F061374 C7A80238 */ lwc1 $f8, 0x238($sp) -/* 095EA8 7F061378 E7A40084 */ swc1 $f4, 0x84($sp) -/* 095EAC 7F06137C C4500000 */ lwc1 $f16, ($v0) -/* 095EB0 7F061380 C44A0004 */ lwc1 $f10, 4($v0) -/* 095EB4 7F061384 46068482 */ mul.s $f18, $f16, $f6 -/* 095EB8 7F061388 C4460008 */ lwc1 $f6, 8($v0) -/* 095EBC 7F06138C 46085102 */ mul.s $f4, $f10, $f8 -/* 095EC0 7F061390 C7AA0248 */ lwc1 $f10, 0x248($sp) -/* 095EC4 7F061394 460A3202 */ mul.s $f8, $f6, $f10 -/* 095EC8 7F061398 46049400 */ add.s $f16, $f18, $f4 -/* 095ECC 7F06139C C7A40258 */ lwc1 $f4, 0x258($sp) -/* 095ED0 7F0613A0 46088480 */ add.s $f18, $f16, $f8 -/* 095ED4 7F0613A4 C7B0022C */ lwc1 $f16, 0x22c($sp) -/* 095ED8 7F0613A8 46122180 */ add.s $f6, $f4, $f18 -/* 095EDC 7F0613AC C7B2023C */ lwc1 $f18, 0x23c($sp) -/* 095EE0 7F0613B0 E7A60088 */ swc1 $f6, 0x88($sp) -/* 095EE4 7F0613B4 C44A0000 */ lwc1 $f10, ($v0) -/* 095EE8 7F0613B8 C4440004 */ lwc1 $f4, 4($v0) -/* 095EEC 7F0613BC 46105202 */ mul.s $f8, $f10, $f16 -/* 095EF0 7F0613C0 C4500008 */ lwc1 $f16, 8($v0) -/* 095EF4 7F0613C4 AFAE0040 */ sw $t6, 0x40($sp) -/* 095EF8 7F0613C8 46122182 */ mul.s $f6, $f4, $f18 -/* 095EFC 7F0613CC C7A4024C */ lwc1 $f4, 0x24c($sp) -/* 095F00 7F0613D0 46048482 */ mul.s $f18, $f16, $f4 -/* 095F04 7F0613D4 C4243E28 */ lwc1 $f4, %lo(D_80053E28)($at) -/* 095F08 7F0613D8 46064280 */ add.s $f10, $f8, $f6 -/* 095F0C 7F0613DC C7A6025C */ lwc1 $f6, 0x25c($sp) -/* 095F10 7F0613E0 46125200 */ add.s $f8, $f10, $f18 -/* 095F14 7F0613E4 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 095F18 7F0613E8 460A2482 */ mul.s $f18, $f4, $f10 -/* 095F1C 7F0613EC 46083400 */ add.s $f16, $f6, $f8 -/* 095F20 7F0613F0 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 095F24 7F0613F4 0C002914 */ jal get_random_value -/* 095F28 7F0613F8 E7B20038 */ swc1 $f18, 0x38($sp) -/* 095F2C 7F0613FC 44823000 */ mtc1 $v0, $f6 -/* 095F30 7F061400 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 095F34 7F061404 04410005 */ bgez $v0, .L7F06141C -/* 095F38 7F061408 46803220 */ cvt.s.w $f8, $f6 -/* 095F3C 7F06140C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 095F40 7F061410 44818000 */ mtc1 $at, $f16 -/* 095F44 7F061414 00000000 */ nop -/* 095F48 7F061418 46104200 */ add.s $f8, $f8, $f16 -.L7F06141C: -/* 095F4C 7F06141C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 095F50 7F061420 44812000 */ mtc1 $at, $f4 -/* 095F54 7F061424 3C018005 */ lui $at, %hi(D_80053E2C) -/* 095F58 7F061428 C4323E2C */ lwc1 $f18, %lo(D_80053E2C)($at) -/* 095F5C 7F06142C 46044282 */ mul.s $f10, $f8, $f4 -/* 095F60 7F061430 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 095F64 7F061434 C7B00084 */ lwc1 $f16, 0x84($sp) -/* 095F68 7F061438 46008207 */ neg.s $f8, $f16 -/* 095F6C 7F06143C 46125182 */ mul.s $f6, $f10, $f18 -/* 095F70 7F061440 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 095F74 7F061444 46002287 */ neg.s $f10, $f4 -/* 095F78 7F061448 44064000 */ mfc1 $a2, $f8 -/* 095F7C 7F06144C 44075000 */ mfc1 $a3, $f10 -/* 095F80 7F061450 44053000 */ mfc1 $a1, $f6 -/* 095F84 7F061454 46009187 */ neg.s $f6, $f18 -/* 095F88 7F061458 0FC1673A */ jal sub_GAME_7F059CE8 -/* 095F8C 7F06145C E7A60010 */ swc1 $f6, 0x10($sp) -/* 095F90 7F061460 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 095F94 7F061464 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 095F98 7F061468 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095F9C 7F06146C C7B00194 */ lwc1 $f16, 0x194($sp) -/* 095FA0 7F061470 C60801C8 */ lwc1 $f8, 0x1c8($s0) -/* 095FA4 7F061474 C7AA0198 */ lwc1 $f10, 0x198($sp) -/* 095FA8 7F061478 C61201CC */ lwc1 $f18, 0x1cc($s0) -/* 095FAC 7F06147C 46088101 */ sub.s $f4, $f16, $f8 -/* 095FB0 7F061480 C60801D0 */ lwc1 $f8, 0x1d0($s0) -/* 095FB4 7F061484 C7B0019C */ lwc1 $f16, 0x19c($sp) -/* 095FB8 7F061488 46125181 */ sub.s $f6, $f10, $f18 -/* 095FBC 7F06148C 44062000 */ mfc1 $a2, $f4 -/* 095FC0 7F061490 27A40114 */ addiu $a0, $sp, 0x114 -/* 095FC4 7F061494 46088101 */ sub.s $f4, $f16, $f8 -/* 095FC8 7F061498 44073000 */ mfc1 $a3, $f6 -/* 095FCC 7F06149C 24050000 */ li $a1, 0 -/* 095FD0 7F0614A0 0FC166D6 */ jal sub_GAME_7F059B58 -/* 095FD4 7F0614A4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 095FD8 7F0614A8 27A40114 */ addiu $a0, $sp, 0x114 -/* 095FDC 7F0614AC 0FC1601A */ jal sub_GAME_7F058068 -/* 095FE0 7F0614B0 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095FE4 7F0614B4 C7AC007C */ lwc1 $f12, 0x7c($sp) -/* 095FE8 7F0614B8 0FC162E0 */ jal sub_GAME_7F058B80 -/* 095FEC 7F0614BC 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095FF0 7F0614C0 27A40154 */ addiu $a0, $sp, 0x154 -/* 095FF4 7F0614C4 0FC1601A */ jal sub_GAME_7F058068 -/* 095FF8 7F0614C8 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 095FFC 7F0614CC 27A40084 */ addiu $a0, $sp, 0x84 -/* 096000 7F0614D0 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 096004 7F0614D4 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 096008 7F0614D8 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 09600C 7F0614DC 0FC16008 */ jal sub_GAME_7F058020 -/* 096010 7F0614E0 8FA50040 */ lw $a1, 0x40($sp) -.L7F0614E4: -/* 096014 7F0614E4 8FB801A0 */ lw $t8, 0x1a0($sp) -.L7F0614E8: -/* 096018 7F0614E8 1000000C */ b .L7F06151C -/* 09601C 7F0614EC 8F020008 */ lw $v0, 8($t8) -/* 096020 7F0614F0 C6100260 */ lwc1 $f16, 0x260($s0) -.L7F0614F4: -/* 096024 7F0614F4 C60A0298 */ lwc1 $f10, 0x298($s0) -/* 096028 7F0614F8 C612029C */ lwc1 $f18, 0x29c($s0) -/* 09602C 7F0614FC C60602A0 */ lwc1 $f6, 0x2a0($s0) -/* 096030 7F061500 46008207 */ neg.s $f8, $f16 -/* 096034 7F061504 E60A02E8 */ swc1 $f10, 0x2e8($s0) -/* 096038 7F061508 E60802F4 */ swc1 $f8, 0x2f4($s0) -/* 09603C 7F06150C E61202EC */ swc1 $f18, 0x2ec($s0) -/* 096040 7F061510 E60602F0 */ swc1 $f6, 0x2f0($s0) -/* 096044 7F061514 8FAF01A0 */ lw $t7, 0x1a0($sp) -/* 096048 7F061518 8DE20008 */ lw $v0, 8($t7) -.L7F06151C: -/* 09604C 7F06151C 8C440018 */ lw $a0, 0x18($v0) -/* 096050 7F061520 50800043 */ beql $a0, $zero, .L7F061630 -/* 096054 7F061524 8FAD01A0 */ lw $t5, 0x1a0($sp) -/* 096058 7F061528 8C990004 */ lw $t9, 4($a0) -/* 09605C 7F06152C 00002825 */ move $a1, $zero -/* 096060 7F061530 0FC1B15C */ jal sub_GAME_7F06C570 -/* 096064 7F061534 AFB90070 */ sw $t9, 0x70($sp) -/* 096068 7F061538 AFA2006C */ sw $v0, 0x6c($sp) -/* 09606C 7F06153C 8E050010 */ lw $a1, 0x10($s0) -/* 096070 7F061540 0FC179AD */ jal sub_GAME_7F05E6B4 -/* 096074 7F061544 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096078 7F061548 8FAD01A0 */ lw $t5, 0x1a0($sp) -/* 09607C 7F06154C 8FA40070 */ lw $a0, 0x70($sp) -/* 096080 7F061550 27A601A4 */ addiu $a2, $sp, 0x1a4 -/* 096084 7F061554 85AE000C */ lh $t6, 0xc($t5) -/* 096088 7F061558 29C1001D */ slti $at, $t6, 0x1d -/* 09608C 7F06155C 1420002A */ bnez $at, .L7F061608 -/* 096090 7F061560 00000000 */ nop -/* 096094 7F061564 8DB80008 */ lw $t8, 8($t5) -/* 096098 7F061568 8F030070 */ lw $v1, 0x70($t8) -/* 09609C 7F06156C 10600026 */ beqz $v1, .L7F061608 -/* 0960A0 7F061570 00000000 */ nop -/* 0960A4 7F061574 8C620004 */ lw $v0, 4($v1) -/* 0960A8 7F061578 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0960AC 7F06157C 0FC17999 */ jal get_value_if_watch_is_on_hand_or_not -/* 0960B0 7F061580 AFA20068 */ sw $v0, 0x68($sp) -/* 0960B4 7F061584 3C018005 */ lui $at, %hi(D_80053E30) -/* 0960B8 7F061588 C42A3E30 */ lwc1 $f10, %lo(D_80053E30)($at) -/* 0960BC 7F06158C C6040214 */ lwc1 $f4, 0x214($s0) -/* 0960C0 7F061590 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0960C4 7F061594 44818000 */ mtc1 $at, $f16 -/* 0960C8 7F061598 460A2480 */ add.s $f18, $f4, $f10 -/* 0960CC 7F06159C 3C018005 */ lui $at, %hi(D_80053E34) -/* 0960D0 7F0615A0 C4243E34 */ lwc1 $f4, %lo(D_80053E34)($at) -/* 0960D4 7F0615A4 8FA20068 */ lw $v0, 0x68($sp) -/* 0960D8 7F0615A8 46009181 */ sub.s $f6, $f18, $f0 -/* 0960DC 7F0615AC 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 0960E0 7F0615B0 C4520000 */ lwc1 $f18, ($v0) -/* 0960E4 7F0615B4 46103202 */ mul.s $f8, $f6, $f16 -/* 0960E8 7F0615B8 C446000C */ lwc1 $f6, 0xc($v0) -/* 0960EC 7F0615BC 46069401 */ sub.s $f16, $f18, $f6 -/* 0960F0 7F0615C0 C4460014 */ lwc1 $f6, 0x14($v0) -/* 0960F4 7F0615C4 C4520008 */ lwc1 $f18, 8($v0) -/* 0960F8 7F0615C8 46044283 */ div.s $f10, $f8, $f4 -/* 0960FC 7F0615CC C4440010 */ lwc1 $f4, 0x10($v0) -/* 096100 7F0615D0 C4480004 */ lwc1 $f8, 4($v0) -/* 096104 7F0615D4 44068000 */ mfc1 $a2, $f16 -/* 096108 7F0615D8 46069401 */ sub.s $f16, $f18, $f6 -/* 09610C 7F0615DC E7B00010 */ swc1 $f16, 0x10($sp) -/* 096110 7F0615E0 44055000 */ mfc1 $a1, $f10 -/* 096114 7F0615E4 46044281 */ sub.s $f10, $f8, $f4 -/* 096118 7F0615E8 44075000 */ mfc1 $a3, $f10 -/* 09611C 7F0615EC 0C005DC8 */ jal guRotateF -/* 096120 7F0615F0 00000000 */ nop -/* 096124 7F0615F4 8FA40070 */ lw $a0, 0x70($sp) -/* 096128 7F0615F8 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09612C 7F0615FC 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 096130 7F061600 10000004 */ b .L7F061614 -/* 096134 7F061604 8FAF006C */ lw $t7, 0x6c($sp) -.L7F061608: -/* 096138 7F061608 0FC16134 */ jal sub_GAME_7F0584D0 -/* 09613C 7F06160C 8E050214 */ lw $a1, 0x214($s0) -/* 096140 7F061610 8FAF006C */ lw $t7, 0x6c($sp) -.L7F061614: -/* 096144 7F061614 8FAE02A4 */ lw $t6, 0x2a4($sp) -/* 096148 7F061618 27A40264 */ addiu $a0, $sp, 0x264 -/* 09614C 7F06161C 000FC980 */ sll $t9, $t7, 6 -/* 096150 7F061620 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 096154 7F061624 0FC16063 */ jal sub_GAME_7F05818C -/* 096158 7F061628 032E3021 */ addu $a2, $t9, $t6 -/* 09615C 7F06162C 8FAD01A0 */ lw $t5, 0x1a0($sp) -.L7F061630: -/* 096160 7F061630 8FA40044 */ lw $a0, 0x44($sp) -/* 096164 7F061634 85B8000C */ lh $t8, 0xc($t5) -/* 096168 7F061638 01A02825 */ move $a1, $t5 -/* 09616C 7F06163C 2B01001E */ slti $at, $t8, 0x1e -/* 096170 7F061640 54200004 */ bnezl $at, .L7F061654 -/* 096174 7F061644 8FAF01A0 */ lw $t7, 0x1a0($sp) -/* 096178 7F061648 0FC21F05 */ jal seems_to_load_cuff_microcode -/* 09617C 7F06164C 2406001D */ li $a2, 29 -/* 096180 7F061650 8FAF01A0 */ lw $t7, 0x1a0($sp) -.L7F061654: -/* 096184 7F061654 8DF90008 */ lw $t9, 8($t7) -/* 096188 7F061658 8F24001C */ lw $a0, 0x1c($t9) -/* 09618C 7F06165C 50800017 */ beql $a0, $zero, .L7F0616BC -/* 096190 7F061660 8FB901A0 */ lw $t9, 0x1a0($sp) -/* 096194 7F061664 8C8E0004 */ lw $t6, 4($a0) -/* 096198 7F061668 00002825 */ move $a1, $zero -/* 09619C 7F06166C 0FC1B15C */ jal sub_GAME_7F06C570 -/* 0961A0 7F061670 AFAE0064 */ sw $t6, 0x64($sp) -/* 0961A4 7F061674 AFA20060 */ sw $v0, 0x60($sp) -/* 0961A8 7F061678 0FC17A0F */ jal sub_GAME_7F05E83C -/* 0961AC 7F06167C 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0961B0 7F061680 8FA40064 */ lw $a0, 0x64($sp) -/* 0961B4 7F061684 0FC16259 */ jal init_something_copy_posdata_to_it -/* 0961B8 7F061688 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 0961BC 7F06168C C7A801DC */ lwc1 $f8, 0x1dc($sp) -/* 0961C0 7F061690 C6040218 */ lwc1 $f4, 0x218($s0) -/* 0961C4 7F061694 8FB80060 */ lw $t8, 0x60($sp) -/* 0961C8 7F061698 8FAF02A4 */ lw $t7, 0x2a4($sp) -/* 0961CC 7F06169C 46044281 */ sub.s $f10, $f8, $f4 -/* 0961D0 7F0616A0 00186980 */ sll $t5, $t8, 6 -/* 0961D4 7F0616A4 27A40264 */ addiu $a0, $sp, 0x264 -/* 0961D8 7F0616A8 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 0961DC 7F0616AC E7AA01DC */ swc1 $f10, 0x1dc($sp) -/* 0961E0 7F0616B0 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0961E4 7F0616B4 01AF3021 */ addu $a2, $t5, $t7 -/* 0961E8 7F0616B8 8FB901A0 */ lw $t9, 0x1a0($sp) -.L7F0616BC: -/* 0961EC 7F0616BC 00001825 */ move $v1, $zero -/* 0961F0 7F0616C0 00003025 */ move $a2, $zero -/* 0961F4 7F0616C4 872E000C */ lh $t6, 0xc($t9) -/* 0961F8 7F0616C8 24070005 */ li $a3, 5 -/* 0961FC 7F0616CC 29C10013 */ slti $at, $t6, 0x13 -/* 096200 7F0616D0 1420002A */ bnez $at, .L7F06177C -/* 096204 7F0616D4 00000000 */ nop -.L7F0616D8: -/* 096208 7F0616D8 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 09620C 7F0616DC 8FA40044 */ lw $a0, 0x44($sp) -/* 096210 7F0616E0 8F0D0008 */ lw $t5, 8($t8) -/* 096214 7F0616E4 01A67821 */ addu $t7, $t5, $a2 -/* 096218 7F0616E8 8DE50048 */ lw $a1, 0x48($t7) -/* 09621C 7F0616EC 50A0000E */ beql $a1, $zero, .L7F061728 -/* 096220 7F0616F0 8FAD01A0 */ lw $t5, 0x1a0($sp) -/* 096224 7F0616F4 AFA3005C */ sw $v1, 0x5c($sp) -/* 096228 7F0616F8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 09622C 7F0616FC AFA60040 */ sw $a2, 0x40($sp) -/* 096230 7F061700 8FA3005C */ lw $v1, 0x5c($sp) -/* 096234 7F061704 8FA60040 */ lw $a2, 0x40($sp) -/* 096238 7F061708 10400006 */ beqz $v0, .L7F061724 -/* 09623C 7F06170C 24070005 */ li $a3, 5 -/* 096240 7F061710 8E190034 */ lw $t9, 0x34($s0) -/* 096244 7F061714 00E37023 */ subu $t6, $a3, $v1 -/* 096248 7F061718 032EC02A */ slt $t8, $t9, $t6 -/* 09624C 7F06171C 3B180001 */ xori $t8, $t8, 1 -/* 096250 7F061720 AC580000 */ sw $t8, ($v0) -.L7F061724: -/* 096254 7F061724 8FAD01A0 */ lw $t5, 0x1a0($sp) -.L7F061728: -/* 096258 7F061728 8FA40044 */ lw $a0, 0x44($sp) -/* 09625C 7F06172C 8DAF0008 */ lw $t7, 8($t5) -/* 096260 7F061730 01E6C821 */ addu $t9, $t7, $a2 -/* 096264 7F061734 8F25005C */ lw $a1, 0x5c($t9) -/* 096268 7F061738 50A0000E */ beql $a1, $zero, .L7F061774 -/* 09626C 7F06173C 24630001 */ addiu $v1, $v1, 1 -/* 096270 7F061740 AFA3005C */ sw $v1, 0x5c($sp) -/* 096274 7F061744 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 096278 7F061748 AFA60040 */ sw $a2, 0x40($sp) -/* 09627C 7F06174C 8FA3005C */ lw $v1, 0x5c($sp) -/* 096280 7F061750 8FA60040 */ lw $a2, 0x40($sp) -/* 096284 7F061754 10400006 */ beqz $v0, .L7F061770 -/* 096288 7F061758 24070005 */ li $a3, 5 -/* 09628C 7F06175C 8E0E0034 */ lw $t6, 0x34($s0) -/* 096290 7F061760 00E3C023 */ subu $t8, $a3, $v1 -/* 096294 7F061764 01D8682A */ slt $t5, $t6, $t8 -/* 096298 7F061768 39AD0001 */ xori $t5, $t5, 1 -/* 09629C 7F06176C AC4D0000 */ sw $t5, ($v0) -.L7F061770: -/* 0962A0 7F061770 24630001 */ addiu $v1, $v1, 1 -.L7F061774: -/* 0962A4 7F061774 1467FFD8 */ bne $v1, $a3, .L7F0616D8 -/* 0962A8 7F061778 24C60004 */ addiu $a2, $a2, 4 -.L7F06177C: -/* 0962AC 7F06177C 0FC1BBF1 */ jal sub_GAME_7F06EFC4 -/* 0962B0 7F061780 8FA40044 */ lw $a0, 0x44($sp) -/* 0962B4 7F061784 820F000C */ lb $t7, 0xc($s0) -/* 0962B8 7F061788 8FB900FC */ lw $t9, 0xfc($sp) -/* 0962BC 7F06178C 11E00011 */ beqz $t7, .L7F0617D4 -/* 0962C0 7F061790 272EFFFC */ addiu $t6, $t9, -4 -/* 0962C4 7F061794 2DC10014 */ sltiu $at, $t6, 0x14 -/* 0962C8 7F061798 1020000E */ beqz $at, .L7F0617D4 -/* 0962CC 7F06179C 000E7080 */ sll $t6, $t6, 2 -/* 0962D0 7F0617A0 3C018005 */ lui $at, %hi(jpt_weapon_bullet_type) -/* 0962D4 7F0617A4 002E0821 */ addu $at, $at, $t6 -/* 0962D8 7F0617A8 8C2E3E38 */ lw $t6, %lo(jpt_weapon_bullet_type)($at) -/* 0962DC 7F0617AC 01C00008 */ jr $t6 -/* 0962E0 7F0617B0 00000000 */ nop -weapon_bullet_type_pistol: -/* 0962E4 7F0617B4 0FC186FD */ jal sub_GAME_7F061BF4 -/* 0962E8 7F0617B8 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0962EC 7F0617BC 8E180030 */ lw $t8, 0x30($s0) -/* 0962F0 7F0617C0 270D0001 */ addiu $t5, $t8, 1 -/* 0962F4 7F0617C4 10000003 */ b .L7F0617D4 -/* 0962F8 7F0617C8 AE0D0030 */ sw $t5, 0x30($s0) -weapon_bullet_type_none: -/* 0962FC 7F0617CC 0FC186FD */ jal sub_GAME_7F061BF4 -/* 096300 7F0617D0 8FA402A8 */ lw $a0, 0x2a8($sp) -weapon_bullet_type_shotgun_mine: -.L7F0617D4: -/* 096304 7F0617D4 8FAF00FC */ lw $t7, 0xfc($sp) -.L7F0617D8: -/* 096308 7F0617D8 24010019 */ li $at, 25 -/* 09630C 7F0617DC 55E10004 */ bnel $t7, $at, .L7F0617F0 -/* 096310 7F0617E0 8219000C */ lb $t9, 0xc($s0) -/* 096314 7F0617E4 0FC17E4A */ jal sub_GAME_7F05F928 -/* 096318 7F0617E8 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 09631C 7F0617EC 8219000C */ lb $t9, 0xc($s0) -.L7F0617F0: -/* 096320 7F0617F0 3C048008 */ lui $a0, %hi(pPlayer) -/* 096324 7F0617F4 53200046 */ beql $t9, $zero, .L7F061910 -/* 096328 7F0617F8 8FBF0034 */ lw $ra, 0x34($sp) -/* 09632C 7F0617FC 0FC225DE */ jal sub_GAME_7F089778 -/* 096330 7F061800 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 096334 7F061804 44050000 */ mfc1 $a1, $f0 -/* 096338 7F061808 0FC1A142 */ jal sub_GAME_7F068508 -/* 09633C 7F06180C 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096340 7F061810 8FAE00FC */ lw $t6, 0xfc($sp) -/* 096344 7F061814 24010018 */ li $at, 24 -/* 096348 7F061818 8FB800FC */ lw $t8, 0xfc($sp) -/* 09634C 7F06181C 55C10006 */ bnel $t6, $at, .L7F061838 -/* 096350 7F061820 2401001A */ li $at, 26 -/* 096354 7F061824 0FC17DCF */ jal sub_GAME_7F05F73C -/* 096358 7F061828 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 09635C 7F06182C 10000038 */ b .L7F061910 -/* 096360 7F061830 8FBF0034 */ lw $ra, 0x34($sp) -/* 096364 7F061834 2401001A */ li $at, 26 -.L7F061838: -/* 096368 7F061838 17010005 */ bne $t8, $at, .L7F061850 -/* 09636C 7F06183C 8FAD00FC */ lw $t5, 0xfc($sp) -/* 096370 7F061840 0FC17B89 */ jal sub_GAME_7F05EE24 -/* 096374 7F061844 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096378 7F061848 10000031 */ b .L7F061910 -/* 09637C 7F06184C 8FBF0034 */ lw $ra, 0x34($sp) -.L7F061850: -/* 096380 7F061850 24010019 */ li $at, 25 -/* 096384 7F061854 15A10005 */ bne $t5, $at, .L7F06186C -/* 096388 7F061858 8FAF00FC */ lw $t7, 0xfc($sp) -/* 09638C 7F06185C 0FC17ED9 */ jal sub_GAME_7F05FB64 -/* 096390 7F061860 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096394 7F061864 1000002A */ b .L7F061910 -/* 096398 7F061868 8FBF0034 */ lw $ra, 0x34($sp) -.L7F06186C: -/* 09639C 7F06186C 24010003 */ li $at, 3 -/* 0963A0 7F061870 15E10005 */ bne $t7, $at, .L7F061888 -/* 0963A4 7F061874 8FB900FC */ lw $t9, 0xfc($sp) -/* 0963A8 7F061878 0FC17C27 */ jal sub_GAME_7F05F09C -/* 0963AC 7F06187C 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0963B0 7F061880 10000023 */ b .L7F061910 -/* 0963B4 7F061884 8FBF0034 */ lw $ra, 0x34($sp) -.L7F061888: -/* 0963B8 7F061888 2401001D */ li $at, 29 -/* 0963BC 7F06188C 1321000F */ beq $t9, $at, .L7F0618CC -/* 0963C0 7F061890 2401001C */ li $at, 28 -/* 0963C4 7F061894 1321000D */ beq $t9, $at, .L7F0618CC -/* 0963C8 7F061898 2401001B */ li $at, 27 -/* 0963CC 7F06189C 1321000B */ beq $t9, $at, .L7F0618CC -/* 0963D0 7F0618A0 24010021 */ li $at, 33 -/* 0963D4 7F0618A4 13210009 */ beq $t9, $at, .L7F0618CC -/* 0963D8 7F0618A8 2401002F */ li $at, 47 -/* 0963DC 7F0618AC 13210007 */ beq $t9, $at, .L7F0618CC -/* 0963E0 7F0618B0 24010030 */ li $at, 48 -/* 0963E4 7F0618B4 13210005 */ beq $t9, $at, .L7F0618CC -/* 0963E8 7F0618B8 2401003D */ li $at, 61 -/* 0963EC 7F0618BC 13210003 */ beq $t9, $at, .L7F0618CC -/* 0963F0 7F0618C0 24010022 */ li $at, 34 -/* 0963F4 7F0618C4 17210005 */ bne $t9, $at, .L7F0618DC -/* 0963F8 7F0618C8 8FAE00FC */ lw $t6, 0xfc($sp) -.L7F0618CC: -/* 0963FC 7F0618CC 0FC17CD6 */ jal generate_player_thrown_object -/* 096400 7F0618D0 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096404 7F0618D4 1000000E */ b .L7F061910 -/* 096408 7F0618D8 8FBF0034 */ lw $ra, 0x34($sp) -.L7F0618DC: -/* 09640C 7F0618DC 24010023 */ li $at, 35 -/* 096410 7F0618E0 15C10005 */ bne $t6, $at, .L7F0618F8 -/* 096414 7F0618E4 8FB800FC */ lw $t8, 0xfc($sp) -/* 096418 7F0618E8 0FC17DCF */ jal sub_GAME_7F05F73C -/* 09641C 7F0618EC 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096420 7F0618F0 10000007 */ b .L7F061910 -/* 096424 7F0618F4 8FBF0034 */ lw $ra, 0x34($sp) -.L7F0618F8: -/* 096428 7F0618F8 24010024 */ li $at, 36 -/* 09642C 7F0618FC 57010004 */ bnel $t8, $at, .L7F061910 -/* 096430 7F061900 8FBF0034 */ lw $ra, 0x34($sp) -/* 096434 7F061904 0FC17DCF */ jal sub_GAME_7F05F73C -/* 096438 7F061908 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 09643C 7F06190C 8FBF0034 */ lw $ra, 0x34($sp) -.L7F061910: -/* 096440 7F061910 8FB00030 */ lw $s0, 0x30($sp) -/* 096444 7F061914 27BD02A8 */ addiu $sp, $sp, 0x2a8 -/* 096448 7F061918 03E00008 */ jr $ra -/* 09644C 7F06191C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80053DE0 -.word 0x3f733333 /*0.94999999*/ -glabel D_80053DE4 -.word 0x3d4cccd0 /*0.050000012*/ -glabel D_80053DE8 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053DEC -.word 0x3e99999a /*0.30000001*/ -glabel D_80053DF0 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053DF4 -.word 0x3e99999a /*0.30000001*/ -glabel D_80053DF8 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053DFC -.word 0x3e99999a /*0.30000001*/ -glabel D_80053E00 -.word 0x41de6666 /*27.799999*/ -glabel D_80053E04 -.word 0x3dccccce /*0.10000001*/ -glabel D_80053E08 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E0C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E10 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E14 -.word 0x3f060a92 /*0.52359879*/ -glabel D_80053E18 -.word 0x3f060a92 /*0.52359879*/ -glabel D_80053E1C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E20 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E24 -.word 0x3dccccce /*0.10000001*/ -glabel D_80053E28 -.word 0x3dccccce /*0.10000001*/ -glabel D_80053E2C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E30 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053E34 -.word 0x40c90fdb /*6.2831855*/ - -/*D:80053E38*/ -glabel jpt_weapon_bullet_type -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_shotgun_mine -.word weapon_bullet_type_shotgun_mine -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_pistol -.word weapon_bullet_type_none -.word weapon_bullet_type_none -.text -glabel handles_firing_or_throwing_weapon_in_hand -/* 095058 7F0604E8 27BDFD58 */ addiu $sp, $sp, -0x2a8 -/* 09505C 7F0604EC 3C0F8003 */ lui $t7, %hi(D_80035C40) # $t7, 0x8003 -/* 095060 7F0604F0 AFBF0034 */ sw $ra, 0x34($sp) -/* 095064 7F0604F4 AFB00030 */ sw $s0, 0x30($sp) -/* 095068 7F0604F8 25EF5C80 */ addiu $t7, %lo(D_80035C40) # addiu $t7, $t7, 0x5c80 -/* 09506C 7F0604FC 8DE10000 */ lw $at, ($t7) -/* 095070 7F060500 27AE0194 */ addiu $t6, $sp, 0x194 -/* 095074 7F060504 8DED0004 */ lw $t5, 4($t7) -/* 095078 7F060508 ADC10000 */ sw $at, ($t6) -/* 09507C 7F06050C 8DE10008 */ lw $at, 8($t7) -/* 095080 7F060510 0004C0C0 */ sll $t8, $a0, 3 -/* 095084 7F060514 0304C023 */ subu $t8, $t8, $a0 -/* 095088 7F060518 0018C080 */ sll $t8, $t8, 2 -/* 09508C 7F06051C 0304C021 */ addu $t8, $t8, $a0 -/* 095090 7F060520 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 095094 7F060524 ADCD0004 */ sw $t5, 4($t6) -/* 095098 7F060528 ADC10008 */ sw $at, 8($t6) -/* 09509C 7F06052C 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 0950A0 7F060530 0018C080 */ sll $t8, $t8, 2 -/* 0950A4 7F060534 0304C021 */ addu $t8, $t8, $a0 -/* 0950A8 7F060538 0018C0C0 */ sll $t8, $t8, 3 -/* 0950AC 7F06053C 03388021 */ addu $s0, $t9, $t8 -/* 0950B0 7F060540 AFA0010C */ sw $zero, 0x10c($sp) -/* 0950B4 7F060544 AFA00108 */ sw $zero, 0x108($sp) -/* 0950B8 7F060548 26100870 */ addiu $s0, $s0, 0x870 -/* 0950BC 7F06054C 0FC177D9 */ jal return_ammo_in_hand -/* 0950C0 7F060550 AFA402A8 */ sw $a0, 0x2a8($sp) -/* 0950C4 7F060554 AFA200FC */ sw $v0, 0xfc($sp) -/* 0950C8 7F060558 0FC17375 */ jal get_ptr_item_statistics -/* 0950CC 7F06055C 00402025 */ move $a0, $v0 -/* 0950D0 7F060560 8FAE02A8 */ lw $t6, 0x2a8($sp) -/* 0950D4 7F060564 AFA200F8 */ sw $v0, 0xf8($sp) -/* 0950D8 7F060568 15C0002D */ bnez $t6, .Ljp7F060620 -/* 0950DC 7F06056C 00000000 */ nop -/* 0950E0 7F060570 0FC177D9 */ jal return_ammo_in_hand -/* 0950E4 7F060574 24040001 */ li $a0, 1 -/* 0950E8 7F060578 00402025 */ move $a0, $v0 -/* 0950EC 7F06057C 0FC17975 */ jal check_special_attributes -/* 0950F0 7F060580 24050800 */ li $a1, 2048 -/* 0950F4 7F060584 10400015 */ beqz $v0, .Ljp7F0605DC -/* 0950F8 7F060588 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0950FC 7F06058C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 095100 7F060590 C42083B4 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 095104 7F060594 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 095108 7F060598 44813000 */ mtc1 $at, $f6 -/* 09510C 7F06059C 46000100 */ add.s $f4, $f0, $f0 -/* 095110 7F0605A0 C60A01C4 */ lwc1 $f10, 0x1c4($s0) -/* 095114 7F0605A4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 095118 7F0605A8 44819000 */ mtc1 $at, $f18 -/* 09511C 7F0605AC 46062203 */ div.s $f8, $f4, $f6 -/* 095120 7F0605B0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 095124 7F0605B4 46085400 */ add.s $f16, $f10, $f8 -/* 095128 7F0605B8 E61001C4 */ swc1 $f16, 0x1c4($s0) -/* 09512C 7F0605BC C60401C4 */ lwc1 $f4, 0x1c4($s0) -/* 095130 7F0605C0 4604903C */ c.lt.s $f18, $f4 -/* 095134 7F0605C4 00000000 */ nop -/* 095138 7F0605C8 4500003F */ bc1f .Ljp7F0606C8 -/* 09513C 7F0605CC 00000000 */ nop -/* 095140 7F0605D0 44813000 */ mtc1 $at, $f6 -/* 095144 7F0605D4 1000003C */ b .Ljp7F0606C8 -/* 095148 7F0605D8 E60601C4 */ swc1 $f6, 0x1c4($s0) -.Ljp7F0605DC: -/* 09514C 7F0605DC C42083B4 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 095150 7F0605E0 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 095154 7F0605E4 44814000 */ mtc1 $at, $f8 -/* 095158 7F0605E8 46000280 */ add.s $f10, $f0, $f0 -/* 09515C 7F0605EC C61201C4 */ lwc1 $f18, 0x1c4($s0) -/* 095160 7F0605F0 46085403 */ div.s $f16, $f10, $f8 -/* 095164 7F0605F4 44805000 */ mtc1 $zero, $f10 -/* 095168 7F0605F8 46109101 */ sub.s $f4, $f18, $f16 -/* 09516C 7F0605FC E60401C4 */ swc1 $f4, 0x1c4($s0) -/* 095170 7F060600 C60601C4 */ lwc1 $f6, 0x1c4($s0) -/* 095174 7F060604 460A303C */ c.lt.s $f6, $f10 -/* 095178 7F060608 00000000 */ nop -/* 09517C 7F06060C 4500002E */ bc1f .Ljp7F0606C8 -/* 095180 7F060610 00000000 */ nop -/* 095184 7F060614 44804000 */ mtc1 $zero, $f8 -/* 095188 7F060618 1000002B */ b .Ljp7F0606C8 -/* 09518C 7F06061C E60801C4 */ swc1 $f8, 0x1c4($s0) -.Ljp7F060620: -/* 095190 7F060620 0FC177D9 */ jal return_ammo_in_hand -/* 095194 7F060624 00002025 */ move $a0, $zero -/* 095198 7F060628 00402025 */ move $a0, $v0 -/* 09519C 7F06062C 0FC17975 */ jal check_special_attributes -/* 0951A0 7F060630 24050800 */ li $a1, 2048 -/* 0951A4 7F060634 10400013 */ beqz $v0, .Ljp7F060684 -/* 0951A8 7F060638 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0951AC 7F06063C 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 0951B0 7F060640 44811000 */ mtc1 $at, $f2 -/* 0951B4 7F060644 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 0951B8 7F060648 C42083B4 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 0951BC 7F06064C 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 0951C0 7F060650 44818000 */ mtc1 $at, $f16 -/* 0951C4 7F060654 46000480 */ add.s $f18, $f0, $f0 -/* 0951C8 7F060658 C60601C4 */ lwc1 $f6, 0x1c4($s0) -/* 0951CC 7F06065C 46109103 */ div.s $f4, $f18, $f16 -/* 0951D0 7F060660 46043281 */ sub.s $f10, $f6, $f4 -/* 0951D4 7F060664 E60A01C4 */ swc1 $f10, 0x1c4($s0) -/* 0951D8 7F060668 C60801C4 */ lwc1 $f8, 0x1c4($s0) -/* 0951DC 7F06066C 4602403C */ c.lt.s $f8, $f2 -/* 0951E0 7F060670 00000000 */ nop -/* 0951E4 7F060674 45000014 */ bc1f .Ljp7F0606C8 -/* 0951E8 7F060678 00000000 */ nop -/* 0951EC 7F06067C 10000012 */ b .Ljp7F0606C8 -/* 0951F0 7F060680 E60201C4 */ swc1 $f2, 0x1c4($s0) -.Ljp7F060684: -/* 0951F4 7F060684 C42083B4 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 0951F8 7F060688 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 0951FC 7F06068C 44818000 */ mtc1 $at, $f16 -/* 095200 7F060690 46000480 */ add.s $f18, $f0, $f0 -/* 095204 7F060694 C60401C4 */ lwc1 $f4, 0x1c4($s0) -/* 095208 7F060698 44804000 */ mtc1 $zero, $f8 -/* 09520C 7F06069C 46109183 */ div.s $f6, $f18, $f16 -/* 095210 7F0606A0 46062280 */ add.s $f10, $f4, $f6 -/* 095214 7F0606A4 E60A01C4 */ swc1 $f10, 0x1c4($s0) -/* 095218 7F0606A8 C61201C4 */ lwc1 $f18, 0x1c4($s0) -/* 09521C 7F0606AC 4612403C */ c.lt.s $f8, $f18 -/* 095220 7F0606B0 00000000 */ nop -/* 095224 7F0606B4 45000004 */ bc1f .Ljp7F0606C8 -/* 095228 7F0606B8 00000000 */ nop -/* 09522C 7F0606BC 44808000 */ mtc1 $zero, $f16 -/* 095230 7F0606C0 00000000 */ nop -/* 095234 7F0606C4 E61001C4 */ swc1 $f16, 0x1c4($s0) -.Ljp7F0606C8: -/* 095238 7F0606C8 3C0F8003 */ lui $t7, %hi(D_80035C4C) # $t7, 0x8003 -/* 09523C 7F0606CC 25EF5C8C */ addiu $t7, %lo(D_80035C4C) # addiu $t7, $t7, 0x5c8c -/* 095240 7F0606D0 8DE10000 */ lw $at, ($t7) -/* 095244 7F0606D4 27AC00E0 */ addiu $t4, $sp, 0xe0 -/* 095248 7F0606D8 3C0E8003 */ lui $t6, %hi(D_80035C58) # $t6, 0x8003 -/* 09524C 7F0606DC AD810000 */ sw $at, ($t4) -/* 095250 7F0606E0 8DF90004 */ lw $t9, 4($t7) -/* 095254 7F0606E4 25CE5C98 */ addiu $t6, %lo(D_80035C58) # addiu $t6, $t6, 0x5c98 -/* 095258 7F0606E8 27B800D4 */ addiu $t8, $sp, 0xd4 -/* 09525C 7F0606EC AD990004 */ sw $t9, 4($t4) -/* 095260 7F0606F0 8DE10008 */ lw $at, 8($t7) -/* 095264 7F0606F4 3C0D8003 */ lui $t5, %hi(D_80035C64) # $t5, 0x8003 -/* 095268 7F0606F8 25AD5CA4 */ addiu $t5, %lo(D_80035C64) # addiu $t5, $t5, 0x5ca4 -/* 09526C 7F0606FC AD810008 */ sw $at, 8($t4) -/* 095270 7F060700 8DC10000 */ lw $at, ($t6) -/* 095274 7F060704 8DCF0004 */ lw $t7, 4($t6) -/* 095278 7F060708 27B900C8 */ addiu $t9, $sp, 0xc8 -/* 09527C 7F06070C AF010000 */ sw $at, ($t8) -/* 095280 7F060710 8DC10008 */ lw $at, 8($t6) -/* 095284 7F060714 AF0F0004 */ sw $t7, 4($t8) -/* 095288 7F060718 2403000C */ li $v1, 12 -/* 09528C 7F06071C AF010008 */ sw $at, 8($t8) -/* 095290 7F060720 8DA10000 */ lw $at, ($t5) -/* 095294 7F060724 8DAE0004 */ lw $t6, 4($t5) -/* 095298 7F060728 AF210000 */ sw $at, ($t9) -/* 09529C 7F06072C 8DA10008 */ lw $at, 8($t5) -/* 0952A0 7F060730 AF2E0004 */ sw $t6, 4($t9) -/* 0952A4 7F060734 AF210008 */ sw $at, 8($t9) -/* 0952A8 7F060738 8E020198 */ lw $v0, 0x198($s0) -/* 0952AC 7F06073C C604019C */ lwc1 $f4, 0x19c($s0) -/* 0952B0 7F060740 AFAC0014 */ sw $t4, 0x14($sp) -/* 0952B4 7F060744 244F0003 */ addiu $t7, $v0, 3 -/* 0952B8 7F060748 05E10004 */ bgez $t7, .Ljp7F06075C -/* 0952BC 7F06074C 31F80003 */ andi $t8, $t7, 3 -/* 0952C0 7F060750 13000002 */ beqz $t8, .Ljp7F06075C -/* 0952C4 7F060754 00000000 */ nop -/* 0952C8 7F060758 2718FFFC */ addiu $t8, $t8, -4 -.Ljp7F06075C: -/* 0952CC 7F06075C 03030019 */ multu $t8, $v1 -/* 0952D0 7F060760 244E0001 */ addiu $t6, $v0, 1 -/* 0952D4 7F060764 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0952D8 7F060768 0000C812 */ mflo $t9 -/* 0952DC 7F06076C 02194021 */ addu $t0, $s0, $t9 -/* 0952E0 7F060770 24590002 */ addiu $t9, $v0, 2 -/* 0952E4 7F060774 00430019 */ multu $v0, $v1 -/* 0952E8 7F060778 25040108 */ addiu $a0, $t0, 0x108 -/* 0952EC 7F06077C AFA80044 */ sw $t0, 0x44($sp) -/* 0952F0 7F060780 00006812 */ mflo $t5 -/* 0952F4 7F060784 020D4821 */ addu $t1, $s0, $t5 -/* 0952F8 7F060788 25250108 */ addiu $a1, $t1, 0x108 -/* 0952FC 7F06078C 05C10004 */ bgez $t6, .Ljp7F0607A0 -/* 095300 7F060790 31CF0003 */ andi $t7, $t6, 3 -/* 095304 7F060794 11E00002 */ beqz $t7, .Ljp7F0607A0 -/* 095308 7F060798 00000000 */ nop -/* 09530C 7F06079C 25EFFFFC */ addiu $t7, $t7, -4 -.Ljp7F0607A0: -/* 095310 7F0607A0 01E30019 */ multu $t7, $v1 -/* 095314 7F0607A4 AFA90040 */ sw $t1, 0x40($sp) -/* 095318 7F0607A8 0000C012 */ mflo $t8 -/* 09531C 7F0607AC 02185021 */ addu $t2, $s0, $t8 -/* 095320 7F0607B0 25460108 */ addiu $a2, $t2, 0x108 -/* 095324 7F0607B4 07210004 */ bgez $t9, .Ljp7F0607C8 -/* 095328 7F0607B8 332D0003 */ andi $t5, $t9, 3 -/* 09532C 7F0607BC 11A00002 */ beqz $t5, .Ljp7F0607C8 -/* 095330 7F0607C0 00000000 */ nop -/* 095334 7F0607C4 25ADFFFC */ addiu $t5, $t5, -4 -.Ljp7F0607C8: -/* 095338 7F0607C8 01A30019 */ multu $t5, $v1 -/* 09533C 7F0607CC AFAA003C */ sw $t2, 0x3c($sp) -/* 095340 7F0607D0 00007012 */ mflo $t6 -/* 095344 7F0607D4 020E5821 */ addu $t3, $s0, $t6 -/* 095348 7F0607D8 25670108 */ addiu $a3, $t3, 0x108 -/* 09534C 7F0607DC 0FC16D07 */ jal sub_GAME_7F05AEFC -/* 095350 7F0607E0 AFAB0038 */ sw $t3, 0x38($sp) -/* 095354 7F0607E4 8FA40044 */ lw $a0, 0x44($sp) -/* 095358 7F0607E8 8FA50040 */ lw $a1, 0x40($sp) -/* 09535C 7F0607EC 8FA6003C */ lw $a2, 0x3c($sp) -/* 095360 7F0607F0 8FA70038 */ lw $a3, 0x38($sp) -/* 095364 7F0607F4 C606019C */ lwc1 $f6, 0x19c($s0) -/* 095368 7F0607F8 27AF00D4 */ addiu $t7, $sp, 0xd4 -/* 09536C 7F0607FC AFAF0014 */ sw $t7, 0x14($sp) -/* 095370 7F060800 24840138 */ addiu $a0, $a0, 0x138 -/* 095374 7F060804 24A50138 */ addiu $a1, $a1, 0x138 -/* 095378 7F060808 24C60138 */ addiu $a2, $a2, 0x138 -/* 09537C 7F06080C 24E70138 */ addiu $a3, $a3, 0x138 -/* 095380 7F060810 0FC16D07 */ jal sub_GAME_7F05AEFC -/* 095384 7F060814 E7A60010 */ swc1 $f6, 0x10($sp) -/* 095388 7F060818 8FA40044 */ lw $a0, 0x44($sp) -/* 09538C 7F06081C 8FA50040 */ lw $a1, 0x40($sp) -/* 095390 7F060820 8FA6003C */ lw $a2, 0x3c($sp) -/* 095394 7F060824 8FA70038 */ lw $a3, 0x38($sp) -/* 095398 7F060828 C60A019C */ lwc1 $f10, 0x19c($s0) -/* 09539C 7F06082C 27B800C8 */ addiu $t8, $sp, 0xc8 -/* 0953A0 7F060830 AFB80014 */ sw $t8, 0x14($sp) -/* 0953A4 7F060834 24840168 */ addiu $a0, $a0, 0x168 -/* 0953A8 7F060838 24A50168 */ addiu $a1, $a1, 0x168 -/* 0953AC 7F06083C 24C60168 */ addiu $a2, $a2, 0x168 -/* 0953B0 7F060840 24E70168 */ addiu $a3, $a3, 0x168 -/* 0953B4 7F060844 0FC16D07 */ jal sub_GAME_7F05AEFC -/* 0953B8 7F060848 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0953BC 7F06084C 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0953C0 7F060850 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0953C4 7F060854 C7A800E0 */ lwc1 $f8, 0xe0($sp) -/* 0953C8 7F060858 C7A400E4 */ lwc1 $f4, 0xe4($sp) -/* 0953CC 7F06085C C4520FC0 */ lwc1 $f18, 0xfc0($v0) -/* 0953D0 7F060860 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0953D4 7F060864 46124402 */ mul.s $f16, $f8, $f18 -/* 0953D8 7F060868 C7A800E8 */ lwc1 $f8, 0xe8($sp) -/* 0953DC 7F06086C E7B000E0 */ swc1 $f16, 0xe0($sp) -/* 0953E0 7F060870 C4460FC0 */ lwc1 $f6, 0xfc0($v0) -/* 0953E4 7F060874 46062282 */ mul.s $f10, $f4, $f6 -/* 0953E8 7F060878 E7AA00E4 */ swc1 $f10, 0xe4($sp) -/* 0953EC 7F06087C C4520FC0 */ lwc1 $f18, 0xfc0($v0) -/* 0953F0 7F060880 46124102 */ mul.s $f4, $f8, $f18 -/* 0953F4 7F060884 E7A400E8 */ swc1 $f4, 0xe8($sp) -/* 0953F8 7F060888 C60601AC */ lwc1 $f6, 0x1ac($s0) -/* 0953FC 7F06088C 46068200 */ add.s $f8, $f16, $f6 -/* 095400 7F060890 E7A800E0 */ swc1 $f8, 0xe0($sp) -/* 095404 7F060894 C61201B0 */ lwc1 $f18, 0x1b0($s0) -/* 095408 7F060898 46125100 */ add.s $f4, $f10, $f18 -/* 09540C 7F06089C 0FC17876 */ jal sub_GAME_7F05DCB8 -/* 095410 7F0608A0 E7A400E4 */ swc1 $f4, 0xe4($sp) -/* 095414 7F0608A4 C7B000E0 */ lwc1 $f16, 0xe0($sp) -/* 095418 7F0608A8 3C028005 */ lui $v0, %hi(clock_timer) # $v0, 0x8005 -/* 09541C 7F0608AC 244283A4 */ addiu $v0, %lo(clock_timer) # addiu $v0, $v0, -0x7c5c -/* 095420 7F0608B0 46008180 */ add.s $f6, $f16, $f0 -/* 095424 7F0608B4 8C590000 */ lw $t9, ($v0) -/* 095428 7F0608B8 00001825 */ move $v1, $zero -/* 09542C 7F0608BC 1B200035 */ blez $t9, .Ljp7F060994 -/* 095430 7F0608C0 E7A600E0 */ swc1 $f6, 0xe0($sp) -/* 095434 7F0608C4 3C018005 */ lui $at, %hi(D_80053DE0) # $at, 0x8005 -/* 095438 7F0608C8 C4203E10 */ lwc1 $f0, %lo(D_80053DE0)($at) -/* 09543C 7F0608CC C60A00E4 */ lwc1 $f10, 0xe4($s0) -.Ljp7F0608D0: -/* 095440 7F0608D0 C7A800E0 */ lwc1 $f8, 0xe0($sp) -/* 095444 7F0608D4 C60600E8 */ lwc1 $f6, 0xe8($s0) -/* 095448 7F0608D8 460A0482 */ mul.s $f18, $f0, $f10 -/* 09544C 7F0608DC 24630001 */ addiu $v1, $v1, 1 -/* 095450 7F0608E0 46060282 */ mul.s $f10, $f0, $f6 -/* 095454 7F0608E4 46124100 */ add.s $f4, $f8, $f18 -/* 095458 7F0608E8 E60400E4 */ swc1 $f4, 0xe4($s0) -/* 09545C 7F0608EC C7B000E4 */ lwc1 $f16, 0xe4($sp) -/* 095460 7F0608F0 C60400EC */ lwc1 $f4, 0xec($s0) -/* 095464 7F0608F4 460A8200 */ add.s $f8, $f16, $f10 -/* 095468 7F0608F8 46040182 */ mul.s $f6, $f0, $f4 -/* 09546C 7F0608FC E60800E8 */ swc1 $f8, 0xe8($s0) -/* 095470 7F060900 C7B200E8 */ lwc1 $f18, 0xe8($sp) -/* 095474 7F060904 C60800F0 */ lwc1 $f8, 0xf0($s0) -/* 095478 7F060908 46069400 */ add.s $f16, $f18, $f6 -/* 09547C 7F06090C 46080102 */ mul.s $f4, $f0, $f8 -/* 095480 7F060910 E61000EC */ swc1 $f16, 0xec($s0) -/* 095484 7F060914 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 095488 7F060918 C61000F4 */ lwc1 $f16, 0xf4($s0) -/* 09548C 7F06091C 46045480 */ add.s $f18, $f10, $f4 -/* 095490 7F060920 46100202 */ mul.s $f8, $f0, $f16 -/* 095494 7F060924 E61200F0 */ swc1 $f18, 0xf0($s0) -/* 095498 7F060928 C7A600D8 */ lwc1 $f6, 0xd8($sp) -/* 09549C 7F06092C C61200F8 */ lwc1 $f18, 0xf8($s0) -/* 0954A0 7F060930 46083280 */ add.s $f10, $f6, $f8 -/* 0954A4 7F060934 46120402 */ mul.s $f16, $f0, $f18 -/* 0954A8 7F060938 E60A00F4 */ swc1 $f10, 0xf4($s0) -/* 0954AC 7F06093C C7A400DC */ lwc1 $f4, 0xdc($sp) -/* 0954B0 7F060940 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 0954B4 7F060944 46102180 */ add.s $f6, $f4, $f16 -/* 0954B8 7F060948 460A0482 */ mul.s $f18, $f0, $f10 -/* 0954BC 7F06094C E60600F8 */ swc1 $f6, 0xf8($s0) -/* 0954C0 7F060950 C7A800C8 */ lwc1 $f8, 0xc8($sp) -/* 0954C4 7F060954 C6060100 */ lwc1 $f6, 0x100($s0) -/* 0954C8 7F060958 46124100 */ add.s $f4, $f8, $f18 -/* 0954CC 7F06095C 46060282 */ mul.s $f10, $f0, $f6 -/* 0954D0 7F060960 E60400FC */ swc1 $f4, 0xfc($s0) -/* 0954D4 7F060964 C7B000CC */ lwc1 $f16, 0xcc($sp) -/* 0954D8 7F060968 C6040104 */ lwc1 $f4, 0x104($s0) -/* 0954DC 7F06096C 460A8200 */ add.s $f8, $f16, $f10 -/* 0954E0 7F060970 46040182 */ mul.s $f6, $f0, $f4 -/* 0954E4 7F060974 E6080100 */ swc1 $f8, 0x100($s0) -/* 0954E8 7F060978 C7B200D0 */ lwc1 $f18, 0xd0($sp) -/* 0954EC 7F06097C 46069400 */ add.s $f16, $f18, $f6 -/* 0954F0 7F060980 E6100104 */ swc1 $f16, 0x104($s0) -/* 0954F4 7F060984 8C4D0000 */ lw $t5, ($v0) -/* 0954F8 7F060988 006D082A */ slt $at, $v1, $t5 -/* 0954FC 7F06098C 5420FFD0 */ bnezl $at, .Ljp7F0608D0 -/* 095500 7F060990 C60A00E4 */ lwc1 $f10, 0xe4($s0) -.Ljp7F060994: -/* 095504 7F060994 3C018005 */ lui $at, %hi(D_80053DE4) # $at, 0x8005 -/* 095508 7F060998 C4203E14 */ lwc1 $f0, %lo(D_80053DE4)($at) -/* 09550C 7F06099C C60A00E4 */ lwc1 $f10, 0xe4($s0) -/* 095510 7F0609A0 C60400E8 */ lwc1 $f4, 0xe8($s0) -/* 095514 7F0609A4 C60600EC */ lwc1 $f6, 0xec($s0) -/* 095518 7F0609A8 46005202 */ mul.s $f8, $f10, $f0 -/* 09551C 7F0609AC C60A00F0 */ lwc1 $f10, 0xf0($s0) -/* 095520 7F0609B0 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 095524 7F0609B4 46002482 */ mul.s $f18, $f4, $f0 -/* 095528 7F0609B8 C60400F4 */ lwc1 $f4, 0xf4($s0) -/* 09552C 7F0609BC 46003402 */ mul.s $f16, $f6, $f0 -/* 095530 7F0609C0 E60800C0 */ swc1 $f8, 0xc0($s0) -/* 095534 7F0609C4 C60600F8 */ lwc1 $f6, 0xf8($s0) -/* 095538 7F0609C8 46005202 */ mul.s $f8, $f10, $f0 -/* 09553C 7F0609CC E61200C4 */ swc1 $f18, 0xc4($s0) -/* 095540 7F0609D0 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 095544 7F0609D4 46002482 */ mul.s $f18, $f4, $f0 -/* 095548 7F0609D8 E61000C8 */ swc1 $f16, 0xc8($s0) -/* 09554C 7F0609DC C6040100 */ lwc1 $f4, 0x100($s0) -/* 095550 7F0609E0 46003402 */ mul.s $f16, $f6, $f0 -/* 095554 7F0609E4 E60800CC */ swc1 $f8, 0xcc($s0) -/* 095558 7F0609E8 C6060104 */ lwc1 $f6, 0x104($s0) -/* 09555C 7F0609EC 46005202 */ mul.s $f8, $f10, $f0 -/* 095560 7F0609F0 E61200D0 */ swc1 $f18, 0xd0($s0) -/* 095564 7F0609F4 46002482 */ mul.s $f18, $f4, $f0 -/* 095568 7F0609F8 E61000D4 */ swc1 $f16, 0xd4($s0) -/* 09556C 7F0609FC 46003402 */ mul.s $f16, $f6, $f0 -/* 095570 7F060A00 E60800D8 */ swc1 $f8, 0xd8($s0) -/* 095574 7F060A04 E61200DC */ swc1 $f18, 0xdc($s0) -/* 095578 7F060A08 14800009 */ bnez $a0, .Ljp7F060A30 -/* 09557C 7F060A0C E61000E0 */ swc1 $f16, 0xe0($s0) -/* 095580 7F060A10 0FC17882 */ jal sub_GAME_7F05DCE8 -/* 095584 7F060A14 00000000 */ nop -/* 095588 7F060A18 C60800C0 */ lwc1 $f8, 0xc0($s0) -/* 09558C 7F060A1C C60A01B8 */ lwc1 $f10, 0x1b8($s0) -/* 095590 7F060A20 46080100 */ add.s $f4, $f0, $f8 -/* 095594 7F060A24 46045480 */ add.s $f18, $f10, $f4 -/* 095598 7F060A28 10000008 */ b .Ljp7F060A4C -/* 09559C 7F060A2C E7B20194 */ swc1 $f18, 0x194($sp) -.Ljp7F060A30: -/* 0955A0 7F060A30 0FC17882 */ jal sub_GAME_7F05DCE8 -/* 0955A4 7F060A34 00000000 */ nop -/* 0955A8 7F060A38 C60600C0 */ lwc1 $f6, 0xc0($s0) -/* 0955AC 7F060A3C C60801B8 */ lwc1 $f8, 0x1b8($s0) -/* 0955B0 7F060A40 46060400 */ add.s $f16, $f0, $f6 -/* 0955B4 7F060A44 46088281 */ sub.s $f10, $f16, $f8 -/* 0955B8 7F060A48 E7AA0194 */ swc1 $f10, 0x194($sp) -.Ljp7F060A4C: -/* 0955BC 7F060A4C 8FAE00F8 */ lw $t6, 0xf8($sp) -/* 0955C0 7F060A50 C61200C4 */ lwc1 $f18, 0xc4($s0) -/* 0955C4 7F060A54 C61001BC */ lwc1 $f16, 0x1bc($s0) -/* 0955C8 7F060A58 C5C40008 */ lwc1 $f4, 8($t6) -/* 0955CC 7F060A5C 8FA400FC */ lw $a0, 0xfc($sp) -/* 0955D0 7F060A60 24010019 */ li $at, 25 -/* 0955D4 7F060A64 46122180 */ add.s $f6, $f4, $f18 -/* 0955D8 7F060A68 46068200 */ add.s $f8, $f16, $f6 -/* 0955DC 7F060A6C E7A80198 */ swc1 $f8, 0x198($sp) -/* 0955E0 7F060A70 C60400C8 */ lwc1 $f4, 0xc8($s0) -/* 0955E4 7F060A74 C5CA000C */ lwc1 $f10, 0xc($t6) -/* 0955E8 7F060A78 C61001C0 */ lwc1 $f16, 0x1c0($s0) -/* 0955EC 7F060A7C 46045480 */ add.s $f18, $f10, $f4 -/* 0955F0 7F060A80 46128180 */ add.s $f6, $f16, $f18 -/* 0955F4 7F060A84 10810005 */ beq $a0, $at, .Ljp7F060A9C -/* 0955F8 7F060A88 E7A6019C */ swc1 $f6, 0x19c($sp) -/* 0955FC 7F060A8C 2401001E */ li $at, 30 -/* 095600 7F060A90 10810002 */ beq $a0, $at, .Ljp7F060A9C -/* 095604 7F060A94 24010017 */ li $at, 23 -/* 095608 7F060A98 14810028 */ bne $a0, $at, .Ljp7F060B3C -.Ljp7F060A9C: -/* 09560C 7F060A9C 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 095610 7F060AA0 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 095614 7F060AA4 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 095618 7F060AA8 44810000 */ mtc1 $at, $f0 -/* 09561C 7F060AAC C44A00A0 */ lwc1 $f10, 0xa0($v0) -/* 095620 7F060AB0 C7A80198 */ lwc1 $f8, 0x198($sp) -/* 095624 7F060AB4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 095628 7F060AB8 46005103 */ div.s $f4, $f10, $f0 -/* 09562C 7F060ABC 44819000 */ mtc1 $at, $f18 -/* 095630 7F060AC0 24010019 */ li $at, 25 -/* 095634 7F060AC4 46044400 */ add.s $f16, $f8, $f4 -/* 095638 7F060AC8 C7A4019C */ lwc1 $f4, 0x19c($sp) -/* 09563C 7F060ACC E7B00198 */ swc1 $f16, 0x198($sp) -/* 095640 7F060AD0 C44600A0 */ lwc1 $f6, 0xa0($v0) -/* 095644 7F060AD4 46069282 */ mul.s $f10, $f18, $f6 -/* 095648 7F060AD8 46005203 */ div.s $f8, $f10, $f0 -/* 09564C 7F060ADC 46082400 */ add.s $f16, $f4, $f8 -/* 095650 7F060AE0 14810014 */ bne $a0, $at, .Ljp7F060B34 -/* 095654 7F060AE4 E7B0019C */ swc1 $f16, 0x19c($sp) -/* 095658 7F060AE8 0FC2969A */ jal cur_player_get_screen_setting -/* 09565C 7F060AEC 00000000 */ nop -/* 095660 7F060AF0 24010001 */ li $at, 1 -/* 095664 7F060AF4 5041000B */ beql $v0, $at, .Ljp7F060B24 -/* 095668 7F060AF8 3C014040 */ lui $at, 0x4040 -/* 09566C 7F060AFC 0FC2969A */ jal cur_player_get_screen_setting -/* 095670 7F060B00 00000000 */ nop -/* 095674 7F060B04 24010002 */ li $at, 2 -/* 095678 7F060B08 50410006 */ beql $v0, $at, .Ljp7F060B24 -/* 09567C 7F060B0C 3C014040 */ lui $at, 0x4040 -/* 095680 7F060B10 0FC296A0 */ jal get_screen_ratio -/* 095684 7F060B14 00000000 */ nop -/* 095688 7F060B18 24010001 */ li $at, 1 -/* 09568C 7F060B1C 14410005 */ bne $v0, $at, .Ljp7F060B34 -/* 095690 7F060B20 3C014040 */ li $at, 0x40400000 # 3.000000 -.Ljp7F060B24: -/* 095694 7F060B24 44813000 */ mtc1 $at, $f6 -/* 095698 7F060B28 C7B20198 */ lwc1 $f18, 0x198($sp) -/* 09569C 7F060B2C 46069281 */ sub.s $f10, $f18, $f6 -/* 0956A0 7F060B30 E7AA0198 */ swc1 $f10, 0x198($sp) -.Ljp7F060B34: -/* 0956A4 7F060B34 1000002C */ b .Ljp7F060BE8 -/* 0956A8 7F060B38 8FA400FC */ lw $a0, 0xfc($sp) -.Ljp7F060B3C: -/* 0956AC 7F060B3C 2401001F */ li $at, 31 -/* 0956B0 7F060B40 14810016 */ bne $a0, $at, .Ljp7F060B9C -/* 0956B4 7F060B44 3C028008 */ lui $v0, %hi(pPlayer) -/* 0956B8 7F060B48 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0956BC 7F060B4C 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0956C0 7F060B50 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 0956C4 7F060B54 44810000 */ mtc1 $at, $f0 -/* 0956C8 7F060B58 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 0956CC 7F060B5C 44812000 */ mtc1 $at, $f4 -/* 0956D0 7F060B60 C44800A0 */ lwc1 $f8, 0xa0($v0) -/* 0956D4 7F060B64 C7A60198 */ lwc1 $f6, 0x198($sp) -/* 0956D8 7F060B68 3C0140F0 */ li $at, 0x40F00000 # 7.500000 -/* 0956DC 7F060B6C 46082402 */ mul.s $f16, $f4, $f8 -/* 0956E0 7F060B70 44812000 */ mtc1 $at, $f4 -/* 0956E4 7F060B74 46008483 */ div.s $f18, $f16, $f0 -/* 0956E8 7F060B78 46123280 */ add.s $f10, $f6, $f18 -/* 0956EC 7F060B7C C7B2019C */ lwc1 $f18, 0x19c($sp) -/* 0956F0 7F060B80 E7AA0198 */ swc1 $f10, 0x198($sp) -/* 0956F4 7F060B84 C44800A0 */ lwc1 $f8, 0xa0($v0) -/* 0956F8 7F060B88 46082402 */ mul.s $f16, $f4, $f8 -/* 0956FC 7F060B8C 46008183 */ div.s $f6, $f16, $f0 -/* 095700 7F060B90 46069280 */ add.s $f10, $f18, $f6 -/* 095704 7F060B94 10000014 */ b .Ljp7F060BE8 -/* 095708 7F060B98 E7AA019C */ swc1 $f10, 0x19c($sp) -.Ljp7F060B9C: -/* 09570C 7F060B9C 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 095710 7F060BA0 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 095714 7F060BA4 44810000 */ mtc1 $at, $f0 -/* 095718 7F060BA8 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 09571C 7F060BAC 44812000 */ mtc1 $at, $f4 -/* 095720 7F060BB0 C44800A0 */ lwc1 $f8, 0xa0($v0) -/* 095724 7F060BB4 C7A60198 */ lwc1 $f6, 0x198($sp) -/* 095728 7F060BB8 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09572C 7F060BBC 46082402 */ mul.s $f16, $f4, $f8 -/* 095730 7F060BC0 44812000 */ mtc1 $at, $f4 -/* 095734 7F060BC4 46008483 */ div.s $f18, $f16, $f0 -/* 095738 7F060BC8 46123280 */ add.s $f10, $f6, $f18 -/* 09573C 7F060BCC C7B2019C */ lwc1 $f18, 0x19c($sp) -/* 095740 7F060BD0 E7AA0198 */ swc1 $f10, 0x198($sp) -/* 095744 7F060BD4 C44800A0 */ lwc1 $f8, 0xa0($v0) -/* 095748 7F060BD8 46082402 */ mul.s $f16, $f4, $f8 -/* 09574C 7F060BDC 46008183 */ div.s $f6, $f16, $f0 -/* 095750 7F060BE0 46069280 */ add.s $f10, $f18, $f6 -/* 095754 7F060BE4 E7AA019C */ swc1 $f10, 0x19c($sp) -.Ljp7F060BE8: -/* 095758 7F060BE8 820F000C */ lb $t7, 0xc($s0) -/* 09575C 7F060BEC 11E00047 */ beqz $t7, .Ljp7F060D0C -/* 095760 7F060BF0 00000000 */ nop -/* 095764 7F060BF4 0FC17975 */ jal check_special_attributes -/* 095768 7F060BF8 24050020 */ li $a1, 32 -/* 09576C 7F060BFC 10400043 */ beqz $v0, .Ljp7F060D0C -/* 095770 7F060C00 8FA400FC */ lw $a0, 0xfc($sp) -/* 095774 7F060C04 0FC17975 */ jal check_special_attributes -/* 095778 7F060C08 24050040 */ li $a1, 64 -/* 09577C 7F060C0C 10400016 */ beqz $v0, .Ljp7F060C68 -/* 095780 7F060C10 00000000 */ nop -/* 095784 7F060C14 0C002918 */ jal get_random_value -/* 095788 7F060C18 00000000 */ nop -/* 09578C 7F060C1C 44822000 */ mtc1 $v0, $f4 -/* 095790 7F060C20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 095794 7F060C24 04410004 */ bgez $v0, .Ljp7F060C38 -/* 095798 7F060C28 46802220 */ cvt.s.w $f8, $f4 -/* 09579C 7F060C2C 44818000 */ mtc1 $at, $f16 -/* 0957A0 7F060C30 00000000 */ nop -/* 0957A4 7F060C34 46104200 */ add.s $f8, $f8, $f16 -.Ljp7F060C38: -/* 0957A8 7F060C38 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0957AC 7F060C3C 44819000 */ mtc1 $at, $f18 -/* 0957B0 7F060C40 3C018005 */ lui $at, %hi(D_80053DE8) # $at, 0x8005 -/* 0957B4 7F060C44 C42A3E18 */ lwc1 $f10, %lo(D_80053DE8)($at) -/* 0957B8 7F060C48 46124182 */ mul.s $f6, $f8, $f18 -/* 0957BC 7F060C4C 3C018005 */ lui $at, %hi(D_80053DEC) # $at, 0x8005 -/* 0957C0 7F060C50 C4303E1C */ lwc1 $f16, %lo(D_80053DEC)($at) -/* 0957C4 7F060C54 C7B20194 */ lwc1 $f18, 0x194($sp) -/* 0957C8 7F060C58 460A3102 */ mul.s $f4, $f6, $f10 -/* 0957CC 7F060C5C 46048201 */ sub.s $f8, $f16, $f4 -/* 0957D0 7F060C60 46089180 */ add.s $f6, $f18, $f8 -/* 0957D4 7F060C64 E7A60194 */ swc1 $f6, 0x194($sp) -.Ljp7F060C68: -/* 0957D8 7F060C68 0C002918 */ jal get_random_value -/* 0957DC 7F060C6C 00000000 */ nop -/* 0957E0 7F060C70 44825000 */ mtc1 $v0, $f10 -/* 0957E4 7F060C74 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0957E8 7F060C78 04410004 */ bgez $v0, .Ljp7F060C8C -/* 0957EC 7F060C7C 46805420 */ cvt.s.w $f16, $f10 -/* 0957F0 7F060C80 44812000 */ mtc1 $at, $f4 -/* 0957F4 7F060C84 00000000 */ nop -/* 0957F8 7F060C88 46048400 */ add.s $f16, $f16, $f4 -.Ljp7F060C8C: -/* 0957FC 7F060C8C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 095800 7F060C90 44819000 */ mtc1 $at, $f18 -/* 095804 7F060C94 3C018005 */ lui $at, %hi(D_80053DF0) # $at, 0x8005 -/* 095808 7F060C98 C4263E20 */ lwc1 $f6, %lo(D_80053DF0)($at) -/* 09580C 7F060C9C 46128202 */ mul.s $f8, $f16, $f18 -/* 095810 7F060CA0 3C018005 */ lui $at, %hi(D_80053DF4) # $at, 0x8005 -/* 095814 7F060CA4 C4243E24 */ lwc1 $f4, %lo(D_80053DF4)($at) -/* 095818 7F060CA8 C7B20198 */ lwc1 $f18, 0x198($sp) -/* 09581C 7F060CAC 46064282 */ mul.s $f10, $f8, $f6 -/* 095820 7F060CB0 460A2401 */ sub.s $f16, $f4, $f10 -/* 095824 7F060CB4 46109200 */ add.s $f8, $f18, $f16 -/* 095828 7F060CB8 0C002918 */ jal get_random_value -/* 09582C 7F060CBC E7A80198 */ swc1 $f8, 0x198($sp) -/* 095830 7F060CC0 44823000 */ mtc1 $v0, $f6 -/* 095834 7F060CC4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 095838 7F060CC8 04410004 */ bgez $v0, .Ljp7F060CDC -/* 09583C 7F060CCC 46803120 */ cvt.s.w $f4, $f6 -/* 095840 7F060CD0 44815000 */ mtc1 $at, $f10 -/* 095844 7F060CD4 00000000 */ nop -/* 095848 7F060CD8 460A2100 */ add.s $f4, $f4, $f10 -.Ljp7F060CDC: -/* 09584C 7F060CDC 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 095850 7F060CE0 44819000 */ mtc1 $at, $f18 -/* 095854 7F060CE4 3C018005 */ lui $at, %hi(D_80053DF8) # $at, 0x8005 -/* 095858 7F060CE8 C4283E28 */ lwc1 $f8, %lo(D_80053DF8)($at) -/* 09585C 7F060CEC 46122402 */ mul.s $f16, $f4, $f18 -/* 095860 7F060CF0 3C018005 */ lui $at, %hi(D_80053DFC) -/* 095864 7F060CF4 C42A3E2C */ lwc1 $f10, %lo(D_80053DFC)($at) -/* 095868 7F060CF8 C7B2019C */ lwc1 $f18, 0x19c($sp) -/* 09586C 7F060CFC 46088182 */ mul.s $f6, $f16, $f8 -/* 095870 7F060D00 46065101 */ sub.s $f4, $f10, $f6 -/* 095874 7F060D04 46049400 */ add.s $f16, $f18, $f4 -/* 095878 7F060D08 E7B0019C */ swc1 $f16, 0x19c($sp) -.Ljp7F060D0C: -/* 09587C 7F060D0C 0FC1E2A5 */ jal getPlayer_c_screenwidth -/* 095880 7F060D10 00000000 */ nop -/* 095884 7F060D14 0FC1E2A5 */ jal getPlayer_c_screenwidth -/* 095888 7F060D18 E7A00048 */ swc1 $f0, 0x48($sp) -/* 09588C 7F060D1C 0FC1E2AD */ jal getPlayer_c_screenleft -/* 095890 7F060D20 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 095894 7F060D24 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 095898 7F060D28 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09589C 7F060D2C 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0958A0 7F060D30 44811000 */ mtc1 $at, $f2 -/* 0958A4 7F060D34 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 0958A8 7F060D38 C7080FFC */ lwc1 $f8, 0xffc($t8) -/* 0958AC 7F060D3C 8FB900F8 */ lw $t9, 0xf8($sp) -/* 0958B0 7F060D40 46023482 */ mul.s $f18, $f6, $f2 -/* 0958B4 7F060D44 46004281 */ sub.s $f10, $f8, $f0 -/* 0958B8 7F060D48 C7300018 */ lwc1 $f16, 0x18($t9) -/* 0958BC 7F060D4C C7A60048 */ lwc1 $f6, 0x48($sp) -/* 0958C0 7F060D50 46125101 */ sub.s $f4, $f10, $f18 -/* 0958C4 7F060D54 46102202 */ mul.s $f8, $f4, $f16 -/* 0958C8 7F060D58 C7A40194 */ lwc1 $f4, 0x194($sp) -/* 0958CC 7F060D5C 46023282 */ mul.s $f10, $f6, $f2 -/* 0958D0 7F060D60 460A4483 */ div.s $f18, $f8, $f10 -/* 0958D4 7F060D64 46122400 */ add.s $f16, $f4, $f18 -/* 0958D8 7F060D68 0FC1E2B1 */ jal getPlayer_c_screentop -/* 0958DC 7F060D6C E7B00194 */ swc1 $f16, 0x194($sp) -/* 0958E0 7F060D70 0FC1E2A9 */ jal getPlayer_c_screenheight -/* 0958E4 7F060D74 E7A00050 */ swc1 $f0, 0x50($sp) -/* 0958E8 7F060D78 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0958EC 7F060D7C 3C0D8008 */ lui $t5, %hi(pPlayer) # $t5, 0x8008 -/* 0958F0 7F060D80 8DADA120 */ lw $t5, %lo(pPlayer)($t5) -/* 0958F4 7F060D84 44813000 */ mtc1 $at, $f6 -/* 0958F8 7F060D88 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 0958FC 7F060D8C C5AA1000 */ lwc1 $f10, 0x1000($t5) -/* 095900 7F060D90 46060202 */ mul.s $f8, $f0, $f6 -/* 095904 7F060D94 46045481 */ sub.s $f18, $f10, $f4 -/* 095908 7F060D98 4612403C */ c.lt.s $f8, $f18 -/* 09590C 7F060D9C 00000000 */ nop -/* 095910 7F060DA0 4500001A */ bc1f .Ljp7F060E0C -/* 095914 7F060DA4 00000000 */ nop -/* 095918 7F060DA8 0FC1E2A9 */ jal getPlayer_c_screenheight -/* 09591C 7F060DAC 00000000 */ nop -/* 095920 7F060DB0 0FC1E2A9 */ jal getPlayer_c_screenheight -/* 095924 7F060DB4 E7A00048 */ swc1 $f0, 0x48($sp) -/* 095928 7F060DB8 0FC1E2B1 */ jal getPlayer_c_screentop -/* 09592C 7F060DBC E7A0004C */ swc1 $f0, 0x4c($sp) -/* 095930 7F060DC0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 095934 7F060DC4 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 095938 7F060DC8 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 09593C 7F060DCC 44811000 */ mtc1 $at, $f2 -/* 095940 7F060DD0 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 095944 7F060DD4 C5D01000 */ lwc1 $f16, 0x1000($t6) -/* 095948 7F060DD8 8FAF00F8 */ lw $t7, 0xf8($sp) -/* 09594C 7F060DDC 46025102 */ mul.s $f4, $f10, $f2 -/* 095950 7F060DE0 46008181 */ sub.s $f6, $f16, $f0 -/* 095954 7F060DE4 C5F20014 */ lwc1 $f18, 0x14($t7) -/* 095958 7F060DE8 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 09595C 7F060DEC 46043201 */ sub.s $f8, $f6, $f4 -/* 095960 7F060DF0 46124402 */ mul.s $f16, $f8, $f18 -/* 095964 7F060DF4 C7A80198 */ lwc1 $f8, 0x198($sp) -/* 095968 7F060DF8 46025182 */ mul.s $f6, $f10, $f2 -/* 09596C 7F060DFC 46068103 */ div.s $f4, $f16, $f6 -/* 095970 7F060E00 46044481 */ sub.s $f18, $f8, $f4 -/* 095974 7F060E04 1000001A */ b .Ljp7F060E70 -/* 095978 7F060E08 E7B20198 */ swc1 $f18, 0x198($sp) -.Ljp7F060E0C: -/* 09597C 7F060E0C 0FC1E2A9 */ jal getPlayer_c_screenheight -/* 095980 7F060E10 00000000 */ nop -/* 095984 7F060E14 0FC1E2A9 */ jal getPlayer_c_screenheight -/* 095988 7F060E18 E7A00048 */ swc1 $f0, 0x48($sp) -/* 09598C 7F060E1C 0FC1E2B1 */ jal getPlayer_c_screentop -/* 095990 7F060E20 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 095994 7F060E24 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 095998 7F060E28 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09599C 7F060E2C 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0959A0 7F060E30 44818000 */ mtc1 $at, $f16 -/* 0959A4 7F060E34 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0959A8 7F060E38 C7081000 */ lwc1 $f8, 0x1000($t8) -/* 0959AC 7F060E3C 8FB900F8 */ lw $t9, 0xf8($sp) -/* 0959B0 7F060E40 46105182 */ mul.s $f6, $f10, $f16 -/* 0959B4 7F060E44 46004101 */ sub.s $f4, $f8, $f0 -/* 0959B8 7F060E48 C72A0010 */ lwc1 $f10, 0x10($t9) -/* 0959BC 7F060E4C C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0959C0 7F060E50 46062481 */ sub.s $f18, $f4, $f6 -/* 0959C4 7F060E54 44812000 */ mtc1 $at, $f4 -/* 0959C8 7F060E58 460A9402 */ mul.s $f16, $f18, $f10 -/* 0959CC 7F060E5C C7AA0198 */ lwc1 $f10, 0x198($sp) -/* 0959D0 7F060E60 46044182 */ mul.s $f6, $f8, $f4 -/* 0959D4 7F060E64 46068483 */ div.s $f18, $f16, $f6 -/* 0959D8 7F060E68 46125201 */ sub.s $f8, $f10, $f18 -/* 0959DC 7F060E6C E7A80198 */ swc1 $f8, 0x198($sp) -.Ljp7F060E70: -/* 0959E0 7F060E70 0FC172CD */ jal sub_GAME_7F05C614 -/* 0959E4 7F060E74 00000000 */ nop -/* 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 -/* 0959F8 7F060E88 10410002 */ beq $v0, $at, .Ljp7F060E94 -/* 0959FC 7F060E8C 24010017 */ li $at, 23 -/* 095A00 7F060E90 14410010 */ bne $v0, $at, .Ljp7F060ED4 -.Ljp7F060E94: -/* 095A04 7F060E94 3C0D8003 */ lui $t5, %hi(D_80035C70) # $t5, 0x8003 -/* 095A08 7F060E98 25AD5CB0 */ addiu $t5, %lo(D_80035C70) # addiu $t5, $t5, 0x5cb0 -/* 095A0C 7F060E9C 8DA10000 */ lw $at, ($t5) -/* 095A10 7F060EA0 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 095A14 7F060EA4 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095A18 7F060EA8 AC810000 */ sw $at, ($a0) -/* 095A1C 7F060EAC 8DAF0004 */ lw $t7, 4($t5) -/* 095A20 7F060EB0 AC8F0004 */ sw $t7, 4($a0) -/* 095A24 7F060EB4 8DA10008 */ lw $at, 8($t5) -/* 095A28 7F060EB8 0FC1630D */ jal sub_GAME_7F058714 -/* 095A2C 7F060EBC AC810008 */ sw $at, 8($a0) -/* 095A30 7F060EC0 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 095A34 7F060EC4 0FC1616E */ jal sub_GAME_7F058098 -/* 095A38 7F060EC8 27A50154 */ addiu $a1, $sp, 0x154 -/* 095A3C 7F060ECC 10000039 */ b .Ljp7F060FB4 -/* 095A40 7F060ED0 8E0D00BC */ lw $t5, 0xbc($s0) -.Ljp7F060ED4: -/* 095A44 7F060ED4 2401001F */ li $at, 31 -/* 095A48 7F060ED8 14410010 */ bne $v0, $at, .Ljp7F060F1C -/* 095A4C 7F060EDC 3C188003 */ lui $t8, %hi(D_80035C7C) # $t8, 0x8003 -/* 095A50 7F060EE0 27185CBC */ addiu $t8, %lo(D_80035C7C) # addiu $t8, $t8, 0x5cbc -/* 095A54 7F060EE4 8F010000 */ lw $at, ($t8) -/* 095A58 7F060EE8 27A400AC */ addiu $a0, $sp, 0xac -/* 095A5C 7F060EEC 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095A60 7F060EF0 AC810000 */ sw $at, ($a0) -/* 095A64 7F060EF4 8F0E0004 */ lw $t6, 4($t8) -/* 095A68 7F060EF8 AC8E0004 */ sw $t6, 4($a0) -/* 095A6C 7F060EFC 8F010008 */ lw $at, 8($t8) -/* 095A70 7F060F00 0FC1630D */ jal sub_GAME_7F058714 -/* 095A74 7F060F04 AC810008 */ sw $at, 8($a0) -/* 095A78 7F060F08 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 095A7C 7F060F0C 0FC1616E */ jal sub_GAME_7F058098 -/* 095A80 7F060F10 27A50154 */ addiu $a1, $sp, 0x154 -/* 095A84 7F060F14 10000027 */ b .Ljp7F060FB4 -/* 095A88 7F060F18 8E0D00BC */ lw $t5, 0xbc($s0) -.Ljp7F060F1C: -/* 095A8C 7F060F1C 24010001 */ li $at, 1 -/* 095A90 7F060F20 14410023 */ bne $v0, $at, .Ljp7F060FB0 -/* 095A94 7F060F24 3C0D8008 */ lui $t5, %hi(pPlayer) # $t5, 0x8008 -/* 095A98 7F060F28 8DADA120 */ lw $t5, %lo(pPlayer)($t5) -/* 095A9C 7F060F2C 24010011 */ li $at, 17 -/* 095AA0 7F060F30 3C198003 */ lui $t9, %hi(D_80035C88) # $t9, 0x8003 -/* 095AA4 7F060F34 8DAF2A38 */ lw $t7, 0x2a38($t5) -/* 095AA8 7F060F38 27395CC8 */ addiu $t9, %lo(D_80035C88) # addiu $t9, $t9, 0x5cc8 -/* 095AAC 7F060F3C 55E1001D */ bnel $t7, $at, .Ljp7F060FB4 -/* 095AB0 7F060F40 8E0D00BC */ lw $t5, 0xbc($s0) -/* 095AB4 7F060F44 8F210000 */ lw $at, ($t9) -/* 095AB8 7F060F48 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 095ABC 7F060F4C 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095AC0 7F060F50 AC810000 */ sw $at, ($a0) -/* 095AC4 7F060F54 8F2E0004 */ lw $t6, 4($t9) -/* 095AC8 7F060F58 AC8E0004 */ sw $t6, 4($a0) -/* 095ACC 7F060F5C 8F210008 */ lw $at, 8($t9) -/* 095AD0 7F060F60 0FC1630D */ jal sub_GAME_7F058714 -/* 095AD4 7F060F64 AC810008 */ sw $at, 8($a0) -/* 095AD8 7F060F68 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 095ADC 7F060F6C 0FC1616E */ jal sub_GAME_7F058098 -/* 095AE0 7F060F70 27A50154 */ addiu $a1, $sp, 0x154 -/* 095AE4 7F060F74 3C01C020 */ li $at, 0xC0200000 # -2.500000 -/* 095AE8 7F060F78 44818000 */ mtc1 $at, $f16 -/* 095AEC 7F060F7C C7A40194 */ lwc1 $f4, 0x194($sp) -/* 095AF0 7F060F80 3C018005 */ lui $at, %hi(D_80053E00) # $at, 0x8005 -/* 095AF4 7F060F84 C4323E30 */ lwc1 $f18, %lo(D_80053E00)($at) -/* 095AF8 7F060F88 46102180 */ add.s $f6, $f4, $f16 -/* 095AFC 7F060F8C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 095B00 7F060F90 C7AA0198 */ lwc1 $f10, 0x198($sp) -/* 095B04 7F060F94 44818000 */ mtc1 $at, $f16 -/* 095B08 7F060F98 C7A4019C */ lwc1 $f4, 0x19c($sp) -/* 095B0C 7F060F9C E7A60194 */ swc1 $f6, 0x194($sp) -/* 095B10 7F060FA0 46125200 */ add.s $f8, $f10, $f18 -/* 095B14 7F060FA4 46102180 */ add.s $f6, $f4, $f16 -/* 095B18 7F060FA8 E7A80198 */ swc1 $f8, 0x198($sp) -/* 095B1C 7F060FAC E7A6019C */ swc1 $f6, 0x19c($sp) -.Ljp7F060FB0: -/* 095B20 7F060FB0 8E0D00BC */ lw $t5, 0xbc($s0) -.Ljp7F060FB4: -/* 095B24 7F060FB4 51A00017 */ beql $t5, $zero, .Ljp7F061014 -/* 095B28 7F060FB8 44802000 */ mtc1 $zero, $f4 -/* 095B2C 7F060FBC C7AA0194 */ lwc1 $f10, 0x194($sp) -/* 095B30 7F060FC0 C61200AC */ lwc1 $f18, 0xac($s0) -/* 095B34 7F060FC4 C7A40198 */ lwc1 $f4, 0x198($sp) -/* 095B38 7F060FC8 2604007C */ addiu $a0, $s0, 0x7c -/* 095B3C 7F060FCC 46125200 */ add.s $f8, $f10, $f18 -/* 095B40 7F060FD0 C7AA019C */ lwc1 $f10, 0x19c($sp) -/* 095B44 7F060FD4 27A50154 */ addiu $a1, $sp, 0x154 -/* 095B48 7F060FD8 E7A80194 */ swc1 $f8, 0x194($sp) -/* 095B4C 7F060FDC C61000B0 */ lwc1 $f16, 0xb0($s0) -/* 095B50 7F060FE0 46102180 */ add.s $f6, $f4, $f16 -/* 095B54 7F060FE4 E7A60198 */ swc1 $f6, 0x198($sp) -/* 095B58 7F060FE8 C61200B4 */ lwc1 $f18, 0xb4($s0) -/* 095B5C 7F060FEC 46125200 */ add.s $f8, $f10, $f18 -/* 095B60 7F060FF0 0FC1616E */ jal sub_GAME_7F058098 -/* 095B64 7F060FF4 E7A8019C */ swc1 $f8, 0x19c($sp) -/* 095B68 7F060FF8 44800000 */ mtc1 $zero, $f0 -/* 095B6C 7F060FFC 00000000 */ nop -/* 095B70 7F061000 E7A00184 */ swc1 $f0, 0x184($sp) -/* 095B74 7F061004 E7A00188 */ swc1 $f0, 0x188($sp) -/* 095B78 7F061008 1000000A */ b .Ljp7F061034 -/* 095B7C 7F06100C E7A0018C */ swc1 $f0, 0x18c($sp) -/* 095B80 7F061010 44802000 */ mtc1 $zero, $f4 -.Ljp7F061014: -/* 095B84 7F061014 44808000 */ mtc1 $zero, $f16 -/* 095B88 7F061018 44803000 */ mtc1 $zero, $f6 -/* 095B8C 7F06101C 44805000 */ mtc1 $zero, $f10 -/* 095B90 7F061020 44800000 */ mtc1 $zero, $f0 -/* 095B94 7F061024 E6040078 */ swc1 $f4, 0x78($s0) -/* 095B98 7F061028 E610006C */ swc1 $f16, 0x6c($s0) -/* 095B9C 7F06102C E6060070 */ swc1 $f6, 0x70($s0) -/* 095BA0 7F061030 E60A0074 */ swc1 $f10, 0x74($s0) -.Ljp7F061034: -/* 095BA4 7F061034 C61200CC */ lwc1 $f18, 0xcc($s0) -/* 095BA8 7F061038 44050000 */ mfc1 $a1, $f0 -/* 095BAC 7F06103C 44060000 */ mfc1 $a2, $f0 -/* 095BB0 7F061040 E7B20010 */ swc1 $f18, 0x10($sp) -/* 095BB4 7F061044 C60800D0 */ lwc1 $f8, 0xd0($s0) -/* 095BB8 7F061048 44070000 */ mfc1 $a3, $f0 -/* 095BBC 7F06104C 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 095BC0 7F061050 E7A80014 */ swc1 $f8, 0x14($sp) -/* 095BC4 7F061054 C60400D4 */ lwc1 $f4, 0xd4($s0) -/* 095BC8 7F061058 E7A40018 */ swc1 $f4, 0x18($sp) -/* 095BCC 7F06105C C61000D8 */ lwc1 $f16, 0xd8($s0) -/* 095BD0 7F061060 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 095BD4 7F061064 C60600DC */ lwc1 $f6, 0xdc($s0) -/* 095BD8 7F061068 E7A60020 */ swc1 $f6, 0x20($sp) -/* 095BDC 7F06106C C60A00E0 */ lwc1 $f10, 0xe0($s0) -/* 095BE0 7F061070 0FC1678A */ jal sub_GAME_7F059908 -/* 095BE4 7F061074 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 095BE8 7F061078 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 095BEC 7F06107C 0FC1616E */ jal sub_GAME_7F058098 -/* 095BF0 7F061080 27A50154 */ addiu $a1, $sp, 0x154 -/* 095BF4 7F061084 C7B20194 */ lwc1 $f18, 0x194($sp) -/* 095BF8 7F061088 C60801C8 */ lwc1 $f8, 0x1c8($s0) -/* 095BFC 7F06108C C7B00198 */ lwc1 $f16, 0x198($sp) -/* 095C00 7F061090 C60601CC */ lwc1 $f6, 0x1cc($s0) -/* 095C04 7F061094 46089101 */ sub.s $f4, $f18, $f8 -/* 095C08 7F061098 C60801D0 */ lwc1 $f8, 0x1d0($s0) -/* 095C0C 7F06109C C7B2019C */ lwc1 $f18, 0x19c($sp) -/* 095C10 7F0610A0 46068281 */ sub.s $f10, $f16, $f6 -/* 095C14 7F0610A4 44062000 */ mfc1 $a2, $f4 -/* 095C18 7F0610A8 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 095C1C 7F0610AC 46089101 */ sub.s $f4, $f18, $f8 -/* 095C20 7F0610B0 44075000 */ mfc1 $a3, $f10 -/* 095C24 7F0610B4 24050000 */ li $a1, 0 -/* 095C28 7F0610B8 0FC16882 */ jal sub_GAME_7F059CE8 -/* 095C2C 7F0610BC E7A40010 */ swc1 $f4, 0x10($sp) -/* 095C30 7F0610C0 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 095C34 7F0610C4 0FC1616E */ jal sub_GAME_7F058098 -/* 095C38 7F0610C8 27A50154 */ addiu $a1, $sp, 0x154 -/* 095C3C 7F0610CC 27A40154 */ addiu $a0, $sp, 0x154 -/* 095C40 7F0610D0 0FC16150 */ jal sub_GAME_7F058020 -/* 095C44 7F0610D4 27A50264 */ addiu $a1, $sp, 0x264 -/* 095C48 7F0610D8 27A40194 */ addiu $a0, $sp, 0x194 -/* 095C4C 7F0610DC 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 095C50 7F0610E0 27A50264 */ addiu $a1, $sp, 0x264 -/* 095C54 7F0610E4 26050228 */ addiu $a1, $s0, 0x228 -/* 095C58 7F0610E8 AFA50044 */ sw $a1, 0x44($sp) -/* 095C5C 7F0610EC 0FC16150 */ jal sub_GAME_7F058020 -/* 095C60 7F0610F0 27A40264 */ addiu $a0, $sp, 0x264 -/* 095C64 7F0610F4 26040268 */ addiu $a0, $s0, 0x268 -/* 095C68 7F0610F8 AFA40040 */ sw $a0, 0x40($sp) -/* 095C6C 7F0610FC 0FC16150 */ jal sub_GAME_7F058020 -/* 095C70 7F061100 260502A8 */ addiu $a1, $s0, 0x2a8 -/* 095C74 7F061104 0FC1E28D */ jal sub_GAME_7F078444 -/* 095C78 7F061108 00000000 */ nop -/* 095C7C 7F06110C 00402025 */ move $a0, $v0 -/* 095C80 7F061110 8FA50044 */ lw $a1, 0x44($sp) -/* 095C84 7F061114 0FC161AB */ jal sub_GAME_7F05818C -/* 095C88 7F061118 8FA60040 */ lw $a2, 0x40($sp) -/* 095C8C 7F06111C 240F0001 */ li $t7, 1 -/* 095C90 7F061120 A20F000F */ sb $t7, 0xf($s0) -/* 095C94 7F061124 0FC1755A */ jal get_ptr_weapon_model_header_line -/* 095C98 7F061128 8FA400FC */ lw $a0, 0xfc($sp) -/* 095C9C 7F06112C 10400017 */ beqz $v0, .Ljp7F06118C -/* 095CA0 7F061130 8FA400FC */ lw $a0, 0xfc($sp) -/* 095CA4 7F061134 0FC17975 */ jal check_special_attributes -/* 095CA8 7F061138 24050800 */ li $a1, 2048 -/* 095CAC 7F06113C 10400013 */ beqz $v0, .Ljp7F06118C -/* 095CB0 7F061140 8FA400FC */ lw $a0, 0xfc($sp) -/* 095CB4 7F061144 0FC17975 */ jal check_special_attributes -/* 095CB8 7F061148 24052000 */ li $a1, 8192 -/* 095CBC 7F06114C 54400010 */ bnezl $v0, .Ljp7F061190 -/* 095CC0 7F061150 A200000F */ sb $zero, 0xf($s0) -/* 095CC4 7F061154 8E020024 */ lw $v0, 0x24($s0) -/* 095CC8 7F061158 24010006 */ li $at, 6 -/* 095CCC 7F06115C 1041000B */ beq $v0, $at, .Ljp7F06118C -/* 095CD0 7F061160 24010007 */ li $at, 7 -/* 095CD4 7F061164 5041000A */ beql $v0, $at, .Ljp7F061190 -/* 095CD8 7F061168 A200000F */ sb $zero, 0xf($s0) -/* 095CDC 7F06116C 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 095CE0 7F061170 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 095CE4 7F061174 50400006 */ beql $v0, $zero, .Ljp7F061190 -/* 095CE8 7F061178 A200000F */ sb $zero, 0xf($s0) -/* 095CEC 7F06117C 0FC17508 */ jal get_itemtype_in_hand -/* 095CF0 7F061180 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 095CF4 7F061184 54400003 */ bnezl $v0, .Ljp7F061194 -/* 095CF8 7F061188 8E18002C */ lw $t8, 0x2c($s0) -.Ljp7F06118C: -/* 095CFC 7F06118C A200000F */ sb $zero, 0xf($s0) -.Ljp7F061190: -/* 095D00 7F061190 8E18002C */ lw $t8, 0x2c($s0) -.Ljp7F061194: -/* 095D04 7F061194 8FA400FC */ lw $a0, 0xfc($sp) -/* 095D08 7F061198 5F000007 */ bgtzl $t8, .Ljp7F0611B8 -/* 095D0C 7F06119C 8219000F */ lb $t9, 0xf($s0) -/* 095D10 7F0611A0 0FC17975 */ jal check_special_attributes -/* 095D14 7F0611A4 24050002 */ li $a1, 2 -/* 095D18 7F0611A8 50400003 */ beql $v0, $zero, .Ljp7F0611B8 -/* 095D1C 7F0611AC 8219000F */ lb $t9, 0xf($s0) -/* 095D20 7F0611B0 A200000F */ sb $zero, 0xf($s0) -/* 095D24 7F0611B4 8219000F */ lb $t9, 0xf($s0) -.Ljp7F0611B8: -/* 095D28 7F0611B8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 095D2C 7F0611BC 8FAD02A8 */ lw $t5, 0x2a8($sp) -/* 095D30 7F0611C0 532002D0 */ beql $t9, $zero, .Ljp7F061D04 -/* 095D34 7F0611C4 8FAE00FC */ lw $t6, 0xfc($sp) -/* 095D38 7F0611C8 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 095D3C 7F0611CC 000D7940 */ sll $t7, $t5, 5 -/* 095D40 7F0611D0 00001825 */ move $v1, $zero -/* 095D44 7F0611D4 01CF1021 */ addu $v0, $t6, $t7 -/* 095D48 7F0611D8 8444081E */ lh $a0, 0x81e($v0) -/* 095D4C 7F0611DC 24420810 */ addiu $v0, $v0, 0x810 -/* 095D50 7F0611E0 AFA201A0 */ sw $v0, 0x1a0($sp) -/* 095D54 7F0611E4 0004C180 */ sll $t8, $a0, 6 -/* 095D58 7F0611E8 03002025 */ move $a0, $t8 -/* 095D5C 7F0611EC 0FC2F8B1 */ jal sub_GAME_7F0BD714 -/* 095D60 7F0611F0 AFA00100 */ sw $zero, 0x100($sp) -/* 095D64 7F0611F4 8FB901A0 */ lw $t9, 0x1a0($sp) -/* 095D68 7F0611F8 AFA202A4 */ sw $v0, 0x2a4($sp) -/* 095D6C 7F0611FC 8FA30100 */ lw $v1, 0x100($sp) -/* 095D70 7F061200 872D000E */ lh $t5, 0xe($t9) -/* 095D74 7F061204 19A0000D */ blez $t5, .Ljp7F06123C -/* 095D78 7F061208 00402025 */ move $a0, $v0 -/* 095D7C 7F06120C AFA30100 */ sw $v1, 0x100($sp) -.Ljp7F061210: -/* 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) -/* 095D90 7F061220 8FA40044 */ lw $a0, 0x44($sp) -/* 095D94 7F061224 85CF000E */ lh $t7, 0xe($t6) -/* 095D98 7F061228 24630001 */ addiu $v1, $v1, 1 -/* 095D9C 7F06122C 24840040 */ addiu $a0, $a0, 0x40 -/* 095DA0 7F061230 006F082A */ slt $at, $v1, $t7 -/* 095DA4 7F061234 5420FFF6 */ bnezl $at, .Ljp7F061210 -/* 095DA8 7F061238 AFA30100 */ sw $v1, 0x100($sp) -.Ljp7F06123C: -/* 095DAC 7F06123C 0FC1D8B9 */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 095DB0 7F061240 8FA401A0 */ lw $a0, 0x1a0($sp) -/* 095DB4 7F061244 260402F8 */ addiu $a0, $s0, 0x2f8 -/* 095DB8 7F061248 8FA501A0 */ lw $a1, 0x1a0($sp) -/* 095DBC 7F06124C AFA40044 */ sw $a0, 0x44($sp) -/* 095DC0 7F061250 0FC1D956 */ jal sub_GAME_7F075F68 -/* 095DC4 7F061254 26060318 */ addiu $a2, $s0, 0x318 -/* 095DC8 7F061258 8FA40044 */ lw $a0, 0x44($sp) -/* 095DCC 7F06125C 0FC17BA6 */ jal sub_GAME_7F05E978 -/* 095DD0 7F061260 24050001 */ li $a1, 1 -/* 095DD4 7F061264 8FA40044 */ lw $a0, 0x44($sp) -/* 095DD8 7F061268 0FC17BED */ jal sub_GAME_7F05EA94 -/* 095DDC 7F06126C 8205000E */ lb $a1, 0xe($s0) -/* 095DE0 7F061270 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 095DE4 7F061274 8F020008 */ lw $v0, 8($t8) -/* 095DE8 7F061278 8C440004 */ lw $a0, 4($v0) -/* 095DEC 7F06127C 50800008 */ beql $a0, $zero, .Ljp7F0612A0 -/* 095DF0 7F061280 8C43000C */ lw $v1, 0xc($v0) -/* 095DF4 7F061284 8C830004 */ lw $v1, 4($a0) -/* 095DF8 7F061288 94790004 */ lhu $t9, 4($v1) -/* 095DFC 7F06128C 00196880 */ sll $t5, $t9, 2 -/* 095E00 7F061290 020D7021 */ addu $t6, $s0, $t5 -/* 095E04 7F061294 25CF0318 */ addiu $t7, $t6, 0x318 -/* 095E08 7F061298 AFAF010C */ sw $t7, 0x10c($sp) -/* 095E0C 7F06129C 8C43000C */ lw $v1, 0xc($v0) -.Ljp7F0612A0: -/* 095E10 7F0612A0 50600004 */ beql $v1, $zero, .Ljp7F0612B4 -/* 095E14 7F0612A4 8FB902A4 */ lw $t9, 0x2a4($sp) -/* 095E18 7F0612A8 8C780004 */ lw $t8, 4($v1) -/* 095E1C 7F0612AC AFB80108 */ sw $t8, 0x108($sp) -/* 095E20 7F0612B0 8FB902A4 */ lw $t9, 0x2a4($sp) -.Ljp7F0612B4: -/* 095E24 7F0612B4 24050400 */ li $a1, 1024 -/* 095E28 7F0612B8 AE190304 */ sw $t9, 0x304($s0) -/* 095E2C 7F0612BC 0FC17975 */ jal check_special_attributes -/* 095E30 7F0612C0 8FA400FC */ lw $a0, 0xfc($sp) -/* 095E34 7F0612C4 10400008 */ beqz $v0, .Ljp7F0612E8 -/* 095E38 7F0612C8 00000000 */ nop -/* 095E3C 7F0612CC 8FAD02A8 */ lw $t5, 0x2a8($sp) -/* 095E40 7F0612D0 24010001 */ li $at, 1 -/* 095E44 7F0612D4 15A10004 */ bne $t5, $at, .Ljp7F0612E8 -/* 095E48 7F0612D8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 095E4C 7F0612DC 44816000 */ mtc1 $at, $f12 -/* 095E50 7F0612E0 0FC163B5 */ jal sub_GAME_7F0589B4 -/* 095E54 7F0612E4 27A50264 */ addiu $a1, $sp, 0x264 -.Ljp7F0612E8: -/* 095E58 7F0612E8 3C018005 */ lui $at, %hi(D_80053E04) # $at, 0x8005 -/* 095E5C 7F0612EC C42C3E34 */ lwc1 $f12, %lo(D_80053E04)($at) -/* 095E60 7F0612F0 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 095E64 7F0612F4 27A50264 */ addiu $a1, $sp, 0x264 -/* 095E68 7F0612F8 27A40264 */ addiu $a0, $sp, 0x264 -/* 095E6C 7F0612FC 0FC16150 */ jal sub_GAME_7F058020 -/* 095E70 7F061300 8FA502A4 */ lw $a1, 0x2a4($sp) -/* 095E74 7F061304 8FAF01A0 */ lw $t7, 0x1a0($sp) -/* 095E78 7F061308 3C0E8004 */ lui $t6, %hi(weapon_gun_revolver) # $t6, 0x8004 -/* 095E7C 7F06130C 25CEC79C */ addiu $t6, %lo(weapon_gun_revolver) # addiu $t6, $t6, -0x3864 -/* 095E80 7F061310 8DF80004 */ lw $t8, 4($t7) -/* 095E84 7F061314 55D80078 */ bnel $t6, $t8, .Ljp7F0614F8 -/* 095E88 7F061318 8FA2010C */ lw $v0, 0x10c($sp) -/* 095E8C 7F06131C 8DE20008 */ lw $v0, 8($t7) -/* 095E90 7F061320 8FB900FC */ lw $t9, 0xfc($sp) -/* 095E94 7F061324 24010012 */ li $at, 18 -/* 095E98 7F061328 8C430010 */ lw $v1, 0x10($v0) -/* 095E9C 7F06132C 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095EA0 7F061330 50600041 */ beql $v1, $zero, .Ljp7F061438 -/* 095EA4 7F061334 8C430014 */ lw $v1, 0x14($v0) -/* 095EA8 7F061338 44806000 */ mtc1 $zero, $f12 -/* 095EAC 7F06133C 17210021 */ bne $t9, $at, .Ljp7F0613C4 -/* 095EB0 7F061340 8C640004 */ lw $a0, 4($v1) -/* 095EB4 7F061344 8E0D0024 */ lw $t5, 0x24($s0) -/* 095EB8 7F061348 24010001 */ li $at, 1 -/* 095EBC 7F06134C 55A10012 */ bnel $t5, $at, .Ljp7F061398 -/* 095EC0 7F061350 8E18002C */ lw $t8, 0x2c($s0) -/* 095EC4 7F061354 8E18002C */ lw $t8, 0x2c($s0) -/* 095EC8 7F061358 8E0E0020 */ lw $t6, 0x20($s0) -/* 095ECC 7F06135C 3C018005 */ lui $at, %hi(D_80053E08) # $at, 0x8005 -/* 095ED0 7F061360 00187880 */ sll $t7, $t8, 2 -/* 095ED4 7F061364 01F87823 */ subu $t7, $t7, $t8 -/* 095ED8 7F061368 000F7840 */ sll $t7, $t7, 1 -/* 095EDC 7F06136C 01CFC823 */ subu $t9, $t6, $t7 -/* 095EE0 7F061370 272D001E */ addiu $t5, $t9, 0x1e -/* 095EE4 7F061374 448D8000 */ mtc1 $t5, $f16 -/* 095EE8 7F061378 C42A3E38 */ lwc1 $f10, %lo(D_80053E08)($at) -/* 095EEC 7F06137C 3C014210 */ li $at, 0x42100000 # 36.000000 -/* 095EF0 7F061380 468081A0 */ cvt.s.w $f6, $f16 -/* 095EF4 7F061384 44814000 */ mtc1 $at, $f8 -/* 095EF8 7F061388 460A3482 */ mul.s $f18, $f6, $f10 -/* 095EFC 7F06138C 1000001D */ b .Ljp7F061404 -/* 095F00 7F061390 46089303 */ div.s $f12, $f18, $f8 -/* 095F04 7F061394 8E18002C */ lw $t8, 0x2c($s0) -.Ljp7F061398: -/* 095F08 7F061398 240E0006 */ li $t6, 6 -/* 095F0C 7F06139C 3C018005 */ lui $at, %hi(D_80053E0C) # $at, 0x8005 -/* 095F10 7F0613A0 01D87823 */ subu $t7, $t6, $t8 -/* 095F14 7F0613A4 448F2000 */ mtc1 $t7, $f4 -/* 095F18 7F0613A8 C4263E3C */ lwc1 $f6, %lo(D_80053E0C)($at) -/* 095F1C 7F0613AC 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 095F20 7F0613B0 46802420 */ cvt.s.w $f16, $f4 -/* 095F24 7F0613B4 44819000 */ mtc1 $at, $f18 -/* 095F28 7F0613B8 46068282 */ mul.s $f10, $f16, $f6 -/* 095F2C 7F0613BC 10000011 */ b .Ljp7F061404 -/* 095F30 7F0613C0 46125303 */ div.s $f12, $f10, $f18 -.Ljp7F0613C4: -/* 095F34 7F0613C4 8E190024 */ lw $t9, 0x24($s0) -/* 095F38 7F0613C8 24010001 */ li $at, 1 -/* 095F3C 7F0613CC 1721000D */ bne $t9, $at, .Ljp7F061404 -/* 095F40 7F0613D0 00000000 */ nop -/* 095F44 7F0613D4 8E020020 */ lw $v0, 0x20($s0) -/* 095F48 7F0613D8 28410006 */ slti $at, $v0, 6 -/* 095F4C 7F0613DC 10200009 */ beqz $at, .Ljp7F061404 -/* 095F50 7F0613E0 00000000 */ nop -/* 095F54 7F0613E4 44824000 */ mtc1 $v0, $f8 -/* 095F58 7F0613E8 3C018005 */ lui $at, %hi(D_80053E10) # $at, 0x8005 -/* 095F5C 7F0613EC C4303E40 */ lwc1 $f16, %lo(D_80053E10)($at) -/* 095F60 7F0613F0 46804120 */ cvt.s.w $f4, $f8 -/* 095F64 7F0613F4 3C014210 */ li $at, 0x42100000 # 36.000000 -/* 095F68 7F0613F8 44815000 */ mtc1 $at, $f10 -/* 095F6C 7F0613FC 46102182 */ mul.s $f6, $f4, $f16 -/* 095F70 7F061400 460A3303 */ div.s $f12, $f6, $f10 -.Ljp7F061404: -/* 095F74 7F061404 0FC162EA */ jal sub_GAME_7F058688 -/* 095F78 7F061408 AFA4009C */ sw $a0, 0x9c($sp) -/* 095F7C 7F06140C 8FA4009C */ lw $a0, 0x9c($sp) -/* 095F80 7F061410 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 095F84 7F061414 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095F88 7F061418 8FA602A4 */ lw $a2, 0x2a4($sp) -/* 095F8C 7F06141C 27A40264 */ addiu $a0, $sp, 0x264 -/* 095F90 7F061420 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095F94 7F061424 0FC1617A */ jal sub_GAME_7F0580C8 -/* 095F98 7F061428 24C600C0 */ addiu $a2, $a2, 0xc0 -/* 095F9C 7F06142C 8FAD01A0 */ lw $t5, 0x1a0($sp) -/* 095FA0 7F061430 8DA20008 */ lw $v0, 8($t5) -/* 095FA4 7F061434 8C430014 */ lw $v1, 0x14($v0) -.Ljp7F061438: -/* 095FA8 7F061438 5060002F */ beql $v1, $zero, .Ljp7F0614F8 -/* 095FAC 7F06143C 8FA2010C */ lw $v0, 0x10c($sp) -/* 095FB0 7F061440 8E0E0024 */ lw $t6, 0x24($s0) -/* 095FB4 7F061444 24010001 */ li $at, 1 -/* 095FB8 7F061448 8C640004 */ lw $a0, 4($v1) -/* 095FBC 7F06144C 15C10022 */ bne $t6, $at, .Ljp7F0614D8 -/* 095FC0 7F061450 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 095FC4 7F061454 8E020020 */ lw $v0, 0x20($s0) -/* 095FC8 7F061458 24180006 */ li $t8, 6 -/* 095FCC 7F06145C 28410003 */ slti $at, $v0, 3 -/* 095FD0 7F061460 1020000C */ beqz $at, .Ljp7F061494 -/* 095FD4 7F061464 03027823 */ subu $t7, $t8, $v0 -/* 095FD8 7F061468 44829000 */ mtc1 $v0, $f18 -/* 095FDC 7F06146C 3C018005 */ lui $at, %hi(D_80053E14) # $at, 0x8005 -/* 095FE0 7F061470 C4303E44 */ lwc1 $f16, %lo(D_80053E14)($at) -/* 095FE4 7F061474 46809220 */ cvt.s.w $f8, $f18 -/* 095FE8 7F061478 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 095FEC 7F06147C 44815000 */ mtc1 $at, $f10 -/* 095FF0 7F061480 46004107 */ neg.s $f4, $f8 -/* 095FF4 7F061484 46102002 */ mul.s $f0, $f4, $f16 -/* 095FF8 7F061488 46000180 */ add.s $f6, $f0, $f0 -/* 095FFC 7F06148C 1000000B */ b .Ljp7F0614BC -/* 096000 7F061490 460A3303 */ div.s $f12, $f6, $f10 -.Ljp7F061494: -/* 096004 7F061494 448F9000 */ mtc1 $t7, $f18 -/* 096008 7F061498 3C018005 */ lui $at, %hi(D_80053E18) # $at, 0x8005 -/* 09600C 7F06149C C4303E48 */ lwc1 $f16, %lo(D_80053E18)($at) -/* 096010 7F0614A0 46809220 */ cvt.s.w $f8, $f18 -/* 096014 7F0614A4 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 096018 7F0614A8 44815000 */ mtc1 $at, $f10 -/* 09601C 7F0614AC 46004107 */ neg.s $f4, $f8 -/* 096020 7F0614B0 46102002 */ mul.s $f0, $f4, $f16 -/* 096024 7F0614B4 46000180 */ add.s $f6, $f0, $f0 -/* 096028 7F0614B8 460A3303 */ div.s $f12, $f6, $f10 -.Ljp7F0614BC: -/* 09602C 7F0614BC 0FC162A4 */ jal sub_GAME_7F058570 -/* 096030 7F0614C0 AFA40094 */ sw $a0, 0x94($sp) -/* 096034 7F0614C4 8FA40094 */ lw $a0, 0x94($sp) -/* 096038 7F0614C8 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09603C 7F0614CC 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 096040 7F0614D0 10000004 */ b .Ljp7F0614E4 -/* 096044 7F0614D4 8FA602A4 */ lw $a2, 0x2a4($sp) -.Ljp7F0614D8: -/* 096048 7F0614D8 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 09604C 7F0614DC 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 096050 7F0614E0 8FA602A4 */ lw $a2, 0x2a4($sp) -.Ljp7F0614E4: -/* 096054 7F0614E4 27A40264 */ addiu $a0, $sp, 0x264 -/* 096058 7F0614E8 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 09605C 7F0614EC 0FC1617A */ jal sub_GAME_7F0580C8 -/* 096060 7F0614F0 24C60100 */ addiu $a2, $a2, 0x100 -/* 096064 7F0614F4 8FA2010C */ lw $v0, 0x10c($sp) -.Ljp7F0614F8: -/* 096068 7F0614F8 50400003 */ beql $v0, $zero, .Ljp7F061508 -/* 09606C 7F0614FC 8FB90108 */ lw $t9, 0x108($sp) -/* 096070 7F061500 AC400000 */ sw $zero, ($v0) -/* 096074 7F061504 8FB90108 */ lw $t9, 0x108($sp) -.Ljp7F061508: -/* 096078 7F061508 53200142 */ beql $t9, $zero, .Ljp7F061A14 -/* 09607C 7F06150C C6100260 */ lwc1 $f16, 0x260($s0) -/* 096080 7F061510 0C002918 */ jal get_random_value -/* 096084 7F061514 00000000 */ nop -/* 096088 7F061518 44829000 */ mtc1 $v0, $f18 -/* 09608C 7F06151C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 096090 7F061520 04410004 */ bgez $v0, .Ljp7F061534 -/* 096094 7F061524 46809220 */ cvt.s.w $f8, $f18 -/* 096098 7F061528 44812000 */ mtc1 $at, $f4 -/* 09609C 7F06152C 00000000 */ nop -/* 0960A0 7F061530 46044200 */ add.s $f8, $f8, $f4 -.Ljp7F061534: -/* 0960A4 7F061534 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0960A8 7F061538 44818000 */ mtc1 $at, $f16 -/* 0960AC 7F06153C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0960B0 7F061540 44815000 */ mtc1 $at, $f10 -/* 0960B4 7F061544 46104182 */ mul.s $f6, $f8, $f16 -/* 0960B8 7F061548 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0960BC 7F06154C 44812000 */ mtc1 $at, $f4 -/* 0960C0 7F061550 8FAD00F8 */ lw $t5, 0xf8($sp) -/* 0960C4 7F061554 8FA400FC */ lw $a0, 0xfc($sp) -/* 0960C8 7F061558 24050001 */ li $a1, 1 -/* 0960CC 7F06155C 460A3482 */ mul.s $f18, $f6, $f10 -/* 0960D0 7F061560 46049200 */ add.s $f8, $f18, $f4 -/* 0960D4 7F061564 E7A80080 */ swc1 $f8, 0x80($sp) -/* 0960D8 7F061568 C5B00000 */ lwc1 $f16, ($t5) -/* 0960DC 7F06156C 0FC17975 */ jal check_special_attributes -/* 0960E0 7F061570 E7B0007C */ swc1 $f16, 0x7c($sp) -/* 0960E4 7F061574 10400018 */ beqz $v0, .Ljp7F0615D8 -/* 0960E8 7F061578 8FA40108 */ lw $a0, 0x108($sp) -/* 0960EC 7F06157C 0C002918 */ jal get_random_value -/* 0960F0 7F061580 00000000 */ nop -/* 0960F4 7F061584 44823000 */ mtc1 $v0, $f6 -/* 0960F8 7F061588 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0960FC 7F06158C 04410004 */ bgez $v0, .Ljp7F0615A0 -/* 096100 7F061590 468032A0 */ cvt.s.w $f10, $f6 -/* 096104 7F061594 44819000 */ mtc1 $at, $f18 -/* 096108 7F061598 00000000 */ nop -/* 09610C 7F06159C 46125280 */ add.s $f10, $f10, $f18 -.Ljp7F0615A0: -/* 096110 7F0615A0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 096114 7F0615A4 44812000 */ mtc1 $at, $f4 -/* 096118 7F0615A8 3C018005 */ lui $at, %hi(D_80053E1C) # $at, 0x8005 -/* 09611C 7F0615AC C4303E4C */ lwc1 $f16, %lo(D_80053E1C)($at) -/* 096120 7F0615B0 46045202 */ mul.s $f8, $f10, $f4 -/* 096124 7F0615B4 27A50224 */ addiu $a1, $sp, 0x224 -/* 096128 7F0615B8 46104302 */ mul.s $f12, $f8, $f16 -/* 09612C 7F0615BC 0FC162EA */ jal sub_GAME_7F058688 -/* 096130 7F0615C0 00000000 */ nop -/* 096134 7F0615C4 8FA40108 */ lw $a0, 0x108($sp) -/* 096138 7F0615C8 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09613C 7F0615CC 27A50224 */ addiu $a1, $sp, 0x224 -/* 096140 7F0615D0 10000004 */ b .Ljp7F0615E4 -/* 096144 7F0615D4 C7AC0080 */ lwc1 $f12, 0x80($sp) -.Ljp7F0615D8: -/* 096148 7F0615D8 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 09614C 7F0615DC 27A50224 */ addiu $a1, $sp, 0x224 -/* 096150 7F0615E0 C7AC0080 */ lwc1 $f12, 0x80($sp) -.Ljp7F0615E4: -/* 096154 7F0615E4 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 096158 7F0615E8 27A50224 */ addiu $a1, $sp, 0x224 -/* 09615C 7F0615EC C7AC007C */ lwc1 $f12, 0x7c($sp) -/* 096160 7F0615F0 0FC163CD */ jal sub_GAME_7F058A14 -/* 096164 7F0615F4 27A50224 */ addiu $a1, $sp, 0x224 -/* 096168 7F0615F8 27A40264 */ addiu $a0, $sp, 0x264 -/* 09616C 7F0615FC 0FC16162 */ jal sub_GAME_7F058068 -/* 096170 7F061600 27A50224 */ addiu $a1, $sp, 0x224 -/* 096174 7F061604 8FA502A4 */ lw $a1, 0x2a4($sp) -/* 096178 7F061608 27A40224 */ addiu $a0, $sp, 0x224 -/* 09617C 7F06160C 0FC16150 */ jal sub_GAME_7F058020 -/* 096180 7F061610 24A50040 */ addiu $a1, $a1, 0x40 -/* 096184 7F061614 C7A60254 */ lwc1 $f6, 0x254($sp) -/* 096188 7F061618 E60602E8 */ swc1 $f6, 0x2e8($s0) -/* 09618C 7F06161C C7B20258 */ lwc1 $f18, 0x258($sp) -/* 096190 7F061620 E61202EC */ swc1 $f18, 0x2ec($s0) -/* 096194 7F061624 C7AA025C */ lwc1 $f10, 0x25c($sp) -/* 096198 7F061628 0FC1E28D */ jal sub_GAME_7F078444 -/* 09619C 7F06162C E60A02F0 */ swc1 $f10, 0x2f0($s0) -/* 0961A0 7F061630 00402025 */ move $a0, $v0 -/* 0961A4 7F061634 0FC16265 */ jal sub_GAME_7F058474 -/* 0961A8 7F061638 260502E8 */ addiu $a1, $s0, 0x2e8 -/* 0961AC 7F06163C C7A4025C */ lwc1 $f4, 0x25c($sp) -/* 0961B0 7F061640 820E000D */ lb $t6, 0xd($s0) -/* 0961B4 7F061644 46002207 */ neg.s $f8, $f4 -/* 0961B8 7F061648 11C000EE */ beqz $t6, .Ljp7F061A04 -/* 0961BC 7F06164C E60802F4 */ swc1 $f8, 0x2f4($s0) -/* 0961C0 7F061650 8FB8010C */ lw $t8, 0x10c($sp) -/* 0961C4 7F061654 240F0001 */ li $t7, 1 -/* 0961C8 7F061658 53000003 */ beql $t8, $zero, .Ljp7F061668 -/* 0961CC 7F06165C 8FB901A0 */ lw $t9, 0x1a0($sp) -/* 0961D0 7F061660 AF0F0000 */ sw $t7, ($t8) -/* 0961D4 7F061664 8FB901A0 */ lw $t9, 0x1a0($sp) -.Ljp7F061668: -/* 0961D8 7F061668 8F2D0008 */ lw $t5, 8($t9) -/* 0961DC 7F06166C 8DA30008 */ lw $v1, 8($t5) -/* 0961E0 7F061670 5060006D */ beql $v1, $zero, .Ljp7F061828 -/* 0961E4 7F061674 8FAF01A0 */ lw $t7, 0x1a0($sp) -/* 0961E8 7F061678 8C620004 */ lw $v0, 4($v1) -/* 0961EC 7F06167C C7A60224 */ lwc1 $f6, 0x224($sp) -/* 0961F0 7F061680 C7A40234 */ lwc1 $f4, 0x234($sp) -/* 0961F4 7F061684 C4500000 */ lwc1 $f16, ($v0) -/* 0961F8 7F061688 C44A0004 */ lwc1 $f10, 4($v0) -/* 0961FC 7F06168C 46068482 */ mul.s $f18, $f16, $f6 -/* 096200 7F061690 C4460008 */ lwc1 $f6, 8($v0) -/* 096204 7F061694 46045202 */ mul.s $f8, $f10, $f4 -/* 096208 7F061698 C7AA0244 */ lwc1 $f10, 0x244($sp) -/* 09620C 7F06169C 460A3102 */ mul.s $f4, $f6, $f10 -/* 096210 7F0616A0 46089400 */ add.s $f16, $f18, $f8 -/* 096214 7F0616A4 C7A80254 */ lwc1 $f8, 0x254($sp) -/* 096218 7F0616A8 46048480 */ add.s $f18, $f16, $f4 -/* 09621C 7F0616AC C7B00228 */ lwc1 $f16, 0x228($sp) -/* 096220 7F0616B0 46124180 */ add.s $f6, $f8, $f18 -/* 096224 7F0616B4 C7B20238 */ lwc1 $f18, 0x238($sp) -/* 096228 7F0616B8 E7A60084 */ swc1 $f6, 0x84($sp) -/* 09622C 7F0616BC C44A0000 */ lwc1 $f10, ($v0) -/* 096230 7F0616C0 C4480004 */ lwc1 $f8, 4($v0) -/* 096234 7F0616C4 46105102 */ mul.s $f4, $f10, $f16 -/* 096238 7F0616C8 C4500008 */ lwc1 $f16, 8($v0) -/* 09623C 7F0616CC 46124182 */ mul.s $f6, $f8, $f18 -/* 096240 7F0616D0 C7A80248 */ lwc1 $f8, 0x248($sp) -/* 096244 7F0616D4 46088482 */ mul.s $f18, $f16, $f8 -/* 096248 7F0616D8 46062280 */ add.s $f10, $f4, $f6 -/* 09624C 7F0616DC C7A60258 */ lwc1 $f6, 0x258($sp) -/* 096250 7F0616E0 46125100 */ add.s $f4, $f10, $f18 -/* 096254 7F0616E4 C7AA022C */ lwc1 $f10, 0x22c($sp) -/* 096258 7F0616E8 46043400 */ add.s $f16, $f6, $f4 -/* 09625C 7F0616EC C7A4023C */ lwc1 $f4, 0x23c($sp) -/* 096260 7F0616F0 E7B00088 */ swc1 $f16, 0x88($sp) -/* 096264 7F0616F4 C4480000 */ lwc1 $f8, ($v0) -/* 096268 7F0616F8 C4460004 */ lwc1 $f6, 4($v0) -/* 09626C 7F0616FC 460A4482 */ mul.s $f18, $f8, $f10 -/* 096270 7F061700 C44A0008 */ lwc1 $f10, 8($v0) -/* 096274 7F061704 46043402 */ mul.s $f16, $f6, $f4 -/* 096278 7F061708 C7A6024C */ lwc1 $f6, 0x24c($sp) -/* 09627C 7F06170C 46065102 */ mul.s $f4, $f10, $f6 -/* 096280 7F061710 46109200 */ add.s $f8, $f18, $f16 -/* 096284 7F061714 C7B0025C */ lwc1 $f16, 0x25c($sp) -/* 096288 7F061718 46044480 */ add.s $f18, $f8, $f4 -/* 09628C 7F06171C 46128280 */ add.s $f10, $f16, $f18 -/* 096290 7F061720 0C002918 */ jal get_random_value -/* 096294 7F061724 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 096298 7F061728 44823000 */ mtc1 $v0, $f6 -/* 09629C 7F06172C 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 0962A0 7F061730 04410005 */ bgez $v0, .Ljp7F061748 -/* 0962A4 7F061734 46803220 */ cvt.s.w $f8, $f6 -/* 0962A8 7F061738 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0962AC 7F06173C 44812000 */ mtc1 $at, $f4 -/* 0962B0 7F061740 00000000 */ nop -/* 0962B4 7F061744 46044200 */ add.s $f8, $f8, $f4 -.Ljp7F061748: -/* 0962B8 7F061748 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0962BC 7F06174C 44818000 */ mtc1 $at, $f16 -/* 0962C0 7F061750 3C018005 */ lui $at, %hi(D_80053E20) # $at, 0x8005 -/* 0962C4 7F061754 C42A3E50 */ lwc1 $f10, %lo(D_80053E20)($at) -/* 0962C8 7F061758 46104482 */ mul.s $f18, $f8, $f16 -/* 0962CC 7F06175C C7B00088 */ lwc1 $f16, 0x88($sp) -/* 0962D0 7F061760 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 0962D4 7F061764 46002207 */ neg.s $f8, $f4 -/* 0962D8 7F061768 460A9182 */ mul.s $f6, $f18, $f10 -/* 0962DC 7F06176C C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0962E0 7F061770 46008487 */ neg.s $f18, $f16 -/* 0962E4 7F061774 44064000 */ mfc1 $a2, $f8 -/* 0962E8 7F061778 44079000 */ mfc1 $a3, $f18 -/* 0962EC 7F06177C 44053000 */ mfc1 $a1, $f6 -/* 0962F0 7F061780 46005187 */ neg.s $f6, $f10 -/* 0962F4 7F061784 0FC16882 */ jal sub_GAME_7F059CE8 -/* 0962F8 7F061788 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0962FC 7F06178C 3C018005 */ lui $at, %hi(D_80053E24) # $at, 0x8005 -/* 096300 7F061790 C4243E54 */ lwc1 $f4, %lo(D_80053E24)($at) -/* 096304 7F061794 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 096308 7F061798 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 09630C 7F06179C 46082302 */ mul.s $f12, $f4, $f8 -/* 096310 7F0617A0 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 096314 7F0617A4 00000000 */ nop -/* 096318 7F0617A8 C7B00194 */ lwc1 $f16, 0x194($sp) -/* 09631C 7F0617AC C61201C8 */ lwc1 $f18, 0x1c8($s0) -/* 096320 7F0617B0 C7A60198 */ lwc1 $f6, 0x198($sp) -/* 096324 7F0617B4 C60401CC */ lwc1 $f4, 0x1cc($s0) -/* 096328 7F0617B8 46128281 */ sub.s $f10, $f16, $f18 -/* 09632C 7F0617BC C61201D0 */ lwc1 $f18, 0x1d0($s0) -/* 096330 7F0617C0 C7B0019C */ lwc1 $f16, 0x19c($sp) -/* 096334 7F0617C4 46043201 */ sub.s $f8, $f6, $f4 -/* 096338 7F0617C8 44065000 */ mfc1 $a2, $f10 -/* 09633C 7F0617CC 27A40114 */ addiu $a0, $sp, 0x114 -/* 096340 7F0617D0 46128281 */ sub.s $f10, $f16, $f18 -/* 096344 7F0617D4 44074000 */ mfc1 $a3, $f8 -/* 096348 7F0617D8 24050000 */ li $a1, 0 -/* 09634C 7F0617DC 0FC1681E */ jal sub_GAME_7F059B58 -/* 096350 7F0617E0 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 096354 7F0617E4 27A40114 */ addiu $a0, $sp, 0x114 -/* 096358 7F0617E8 0FC16162 */ jal sub_GAME_7F058068 -/* 09635C 7F0617EC 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 096360 7F0617F0 C7AC007C */ lwc1 $f12, 0x7c($sp) -/* 096364 7F0617F4 0FC16428 */ jal sub_GAME_7F058B80 -/* 096368 7F0617F8 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 09636C 7F0617FC 27A40154 */ addiu $a0, $sp, 0x154 -/* 096370 7F061800 0FC16162 */ jal sub_GAME_7F058068 -/* 096374 7F061804 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 096378 7F061808 27A40084 */ addiu $a0, $sp, 0x84 -/* 09637C 7F06180C 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 096380 7F061810 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 096384 7F061814 8FA502A4 */ lw $a1, 0x2a4($sp) -/* 096388 7F061818 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 09638C 7F06181C 0FC16150 */ jal sub_GAME_7F058020 -/* 096390 7F061820 24A50080 */ addiu $a1, $a1, 0x80 -/* 096394 7F061824 8FAF01A0 */ lw $t7, 0x1a0($sp) -.Ljp7F061828: -/* 096398 7F061828 3C0E8004 */ lui $t6, %hi(weapon_gun_kf7) # $t6, 0x8004 -/* 09639C 7F06182C 25CEC7DC */ addiu $t6, %lo(weapon_gun_kf7) # addiu $t6, $t6, -0x3824 -/* 0963A0 7F061830 8DF80004 */ lw $t8, 4($t7) -/* 0963A4 7F061834 55D80074 */ bnel $t6, $t8, .Ljp7F061A08 -/* 0963A8 7F061838 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 0963AC 7F06183C 8DF90008 */ lw $t9, 8($t7) -/* 0963B0 7F061840 8F230010 */ lw $v1, 0x10($t9) -/* 0963B4 7F061844 50600070 */ beql $v1, $zero, .Ljp7F061A08 -/* 0963B8 7F061848 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 0963BC 7F06184C 8C620004 */ lw $v0, 4($v1) -/* 0963C0 7F061850 C7A40224 */ lwc1 $f4, 0x224($sp) -/* 0963C4 7F061854 C7B20234 */ lwc1 $f18, 0x234($sp) -/* 0963C8 7F061858 C4460000 */ lwc1 $f6, ($v0) -/* 0963CC 7F06185C C4500004 */ lwc1 $f16, 4($v0) -/* 0963D0 7F061860 3C018005 */ lui $at, %hi(D_80053E28) # $at, 0x8005 -/* 0963D4 7F061864 46043202 */ mul.s $f8, $f6, $f4 -/* 0963D8 7F061868 C4440008 */ lwc1 $f4, 8($v0) -/* 0963DC 7F06186C 8FAD02A4 */ lw $t5, 0x2a4($sp) -/* 0963E0 7F061870 46128282 */ mul.s $f10, $f16, $f18 -/* 0963E4 7F061874 C7B00244 */ lwc1 $f16, 0x244($sp) -/* 0963E8 7F061878 25AE00C0 */ addiu $t6, $t5, 0xc0 -/* 0963EC 7F06187C 46102482 */ mul.s $f18, $f4, $f16 -/* 0963F0 7F061880 460A4180 */ add.s $f6, $f8, $f10 -/* 0963F4 7F061884 C7AA0254 */ lwc1 $f10, 0x254($sp) -/* 0963F8 7F061888 46123200 */ add.s $f8, $f6, $f18 -/* 0963FC 7F06188C C7A60228 */ lwc1 $f6, 0x228($sp) -/* 096400 7F061890 46085100 */ add.s $f4, $f10, $f8 -/* 096404 7F061894 C7A80238 */ lwc1 $f8, 0x238($sp) -/* 096408 7F061898 E7A40084 */ swc1 $f4, 0x84($sp) -/* 09640C 7F06189C C4500000 */ lwc1 $f16, ($v0) -/* 096410 7F0618A0 C44A0004 */ lwc1 $f10, 4($v0) -/* 096414 7F0618A4 46068482 */ mul.s $f18, $f16, $f6 -/* 096418 7F0618A8 C4460008 */ lwc1 $f6, 8($v0) -/* 09641C 7F0618AC 46085102 */ mul.s $f4, $f10, $f8 -/* 096420 7F0618B0 C7AA0248 */ lwc1 $f10, 0x248($sp) -/* 096424 7F0618B4 460A3202 */ mul.s $f8, $f6, $f10 -/* 096428 7F0618B8 46049400 */ add.s $f16, $f18, $f4 -/* 09642C 7F0618BC C7A40258 */ lwc1 $f4, 0x258($sp) -/* 096430 7F0618C0 46088480 */ add.s $f18, $f16, $f8 -/* 096434 7F0618C4 C7B0022C */ lwc1 $f16, 0x22c($sp) -/* 096438 7F0618C8 46122180 */ add.s $f6, $f4, $f18 -/* 09643C 7F0618CC C7B2023C */ lwc1 $f18, 0x23c($sp) -/* 096440 7F0618D0 E7A60088 */ swc1 $f6, 0x88($sp) -/* 096444 7F0618D4 C44A0000 */ lwc1 $f10, ($v0) -/* 096448 7F0618D8 C4440004 */ lwc1 $f4, 4($v0) -/* 09644C 7F0618DC 46105202 */ mul.s $f8, $f10, $f16 -/* 096450 7F0618E0 C4500008 */ lwc1 $f16, 8($v0) -/* 096454 7F0618E4 AFAE0040 */ sw $t6, 0x40($sp) -/* 096458 7F0618E8 46122182 */ mul.s $f6, $f4, $f18 -/* 09645C 7F0618EC C7A4024C */ lwc1 $f4, 0x24c($sp) -/* 096460 7F0618F0 46048482 */ mul.s $f18, $f16, $f4 -/* 096464 7F0618F4 C4243E58 */ lwc1 $f4, %lo(D_80053E28)($at) -/* 096468 7F0618F8 46064280 */ add.s $f10, $f8, $f6 -/* 09646C 7F0618FC C7A6025C */ lwc1 $f6, 0x25c($sp) -/* 096470 7F061900 46125200 */ add.s $f8, $f10, $f18 -/* 096474 7F061904 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 096478 7F061908 460A2482 */ mul.s $f18, $f4, $f10 -/* 09647C 7F06190C 46083400 */ add.s $f16, $f6, $f8 -/* 096480 7F061910 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 096484 7F061914 0C002918 */ jal get_random_value -/* 096488 7F061918 E7B20038 */ swc1 $f18, 0x38($sp) -/* 09648C 7F06191C 44823000 */ mtc1 $v0, $f6 -/* 096490 7F061920 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 096494 7F061924 04410005 */ bgez $v0, .Ljp7F06193C -/* 096498 7F061928 46803220 */ cvt.s.w $f8, $f6 -/* 09649C 7F06192C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0964A0 7F061930 44818000 */ mtc1 $at, $f16 -/* 0964A4 7F061934 00000000 */ nop -/* 0964A8 7F061938 46104200 */ add.s $f8, $f8, $f16 -.Ljp7F06193C: -/* 0964AC 7F06193C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0964B0 7F061940 44812000 */ mtc1 $at, $f4 -/* 0964B4 7F061944 3C018005 */ lui $at, %hi(D_80053E2C) # $at, 0x8005 -/* 0964B8 7F061948 C4323E5C */ lwc1 $f18, %lo(D_80053E2C)($at) -/* 0964BC 7F06194C 46044282 */ mul.s $f10, $f8, $f4 -/* 0964C0 7F061950 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0964C4 7F061954 C7B00084 */ lwc1 $f16, 0x84($sp) -/* 0964C8 7F061958 46008207 */ neg.s $f8, $f16 -/* 0964CC 7F06195C 46125182 */ mul.s $f6, $f10, $f18 -/* 0964D0 7F061960 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 0964D4 7F061964 46002287 */ neg.s $f10, $f4 -/* 0964D8 7F061968 44064000 */ mfc1 $a2, $f8 -/* 0964DC 7F06196C 44075000 */ mfc1 $a3, $f10 -/* 0964E0 7F061970 44053000 */ mfc1 $a1, $f6 -/* 0964E4 7F061974 46009187 */ neg.s $f6, $f18 -/* 0964E8 7F061978 0FC16882 */ jal sub_GAME_7F059CE8 -/* 0964EC 7F06197C E7A60010 */ swc1 $f6, 0x10($sp) -/* 0964F0 7F061980 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 0964F4 7F061984 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 0964F8 7F061988 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 0964FC 7F06198C C7B00194 */ lwc1 $f16, 0x194($sp) -/* 096500 7F061990 C60801C8 */ lwc1 $f8, 0x1c8($s0) -/* 096504 7F061994 C7AA0198 */ lwc1 $f10, 0x198($sp) -/* 096508 7F061998 C61201CC */ lwc1 $f18, 0x1cc($s0) -/* 09650C 7F06199C 46088101 */ sub.s $f4, $f16, $f8 -/* 096510 7F0619A0 C60801D0 */ lwc1 $f8, 0x1d0($s0) -/* 096514 7F0619A4 C7B0019C */ lwc1 $f16, 0x19c($sp) -/* 096518 7F0619A8 46125181 */ sub.s $f6, $f10, $f18 -/* 09651C 7F0619AC 44062000 */ mfc1 $a2, $f4 -/* 096520 7F0619B0 27A40114 */ addiu $a0, $sp, 0x114 -/* 096524 7F0619B4 46088101 */ sub.s $f4, $f16, $f8 -/* 096528 7F0619B8 44073000 */ mfc1 $a3, $f6 -/* 09652C 7F0619BC 24050000 */ li $a1, 0 -/* 096530 7F0619C0 0FC1681E */ jal sub_GAME_7F059B58 -/* 096534 7F0619C4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 096538 7F0619C8 27A40114 */ addiu $a0, $sp, 0x114 -/* 09653C 7F0619CC 0FC16162 */ jal sub_GAME_7F058068 -/* 096540 7F0619D0 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 096544 7F0619D4 C7AC007C */ lwc1 $f12, 0x7c($sp) -/* 096548 7F0619D8 0FC16428 */ jal sub_GAME_7F058B80 -/* 09654C 7F0619DC 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 096550 7F0619E0 27A40154 */ addiu $a0, $sp, 0x154 -/* 096554 7F0619E4 0FC16162 */ jal sub_GAME_7F058068 -/* 096558 7F0619E8 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 09655C 7F0619EC 27A40084 */ addiu $a0, $sp, 0x84 -/* 096560 7F0619F0 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 096564 7F0619F4 27A501E4 */ addiu $a1, $sp, 0x1e4 -/* 096568 7F0619F8 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 09656C 7F0619FC 0FC16150 */ jal sub_GAME_7F058020 -/* 096570 7F061A00 8FA50040 */ lw $a1, 0x40($sp) -.Ljp7F061A04: -/* 096574 7F061A04 8FB801A0 */ lw $t8, 0x1a0($sp) -.Ljp7F061A08: -/* 096578 7F061A08 1000000C */ b .Ljp7F061A3C -/* 09657C 7F061A0C 8F020008 */ lw $v0, 8($t8) -/* 096580 7F061A10 C6100260 */ lwc1 $f16, 0x260($s0) -.Ljp7F061A14: -/* 096584 7F061A14 C60A0298 */ lwc1 $f10, 0x298($s0) -/* 096588 7F061A18 C612029C */ lwc1 $f18, 0x29c($s0) -/* 09658C 7F061A1C C60602A0 */ lwc1 $f6, 0x2a0($s0) -/* 096590 7F061A20 46008207 */ neg.s $f8, $f16 -/* 096594 7F061A24 E60A02E8 */ swc1 $f10, 0x2e8($s0) -/* 096598 7F061A28 E60802F4 */ swc1 $f8, 0x2f4($s0) -/* 09659C 7F061A2C E61202EC */ swc1 $f18, 0x2ec($s0) -/* 0965A0 7F061A30 E60602F0 */ swc1 $f6, 0x2f0($s0) -/* 0965A4 7F061A34 8FAF01A0 */ lw $t7, 0x1a0($sp) -/* 0965A8 7F061A38 8DE20008 */ lw $v0, 8($t7) -.Ljp7F061A3C: -/* 0965AC 7F061A3C 8C440018 */ lw $a0, 0x18($v0) -/* 0965B0 7F061A40 50800043 */ beql $a0, $zero, .Ljp7F061B50 -/* 0965B4 7F061A44 8FAD01A0 */ lw $t5, 0x1a0($sp) -/* 0965B8 7F061A48 8C990004 */ lw $t9, 4($a0) -/* 0965BC 7F061A4C 00002825 */ move $a1, $zero -/* 0965C0 7F061A50 0FC1B2D8 */ jal sub_GAME_7F06C570 -/* 0965C4 7F061A54 AFB90070 */ sw $t9, 0x70($sp) -/* 0965C8 7F061A58 AFA2006C */ sw $v0, 0x6c($sp) -/* 0965CC 7F061A5C 8E050010 */ lw $a1, 0x10($s0) -/* 0965D0 7F061A60 0FC17AF5 */ jal sub_GAME_7F05E6B4 -/* 0965D4 7F061A64 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0965D8 7F061A68 8FAD01A0 */ lw $t5, 0x1a0($sp) -/* 0965DC 7F061A6C 8FA40070 */ lw $a0, 0x70($sp) -/* 0965E0 7F061A70 27A601A4 */ addiu $a2, $sp, 0x1a4 -/* 0965E4 7F061A74 85AE000C */ lh $t6, 0xc($t5) -/* 0965E8 7F061A78 29C1001D */ slti $at, $t6, 0x1d -/* 0965EC 7F061A7C 1420002A */ bnez $at, .Ljp7F061B28 -/* 0965F0 7F061A80 00000000 */ nop -/* 0965F4 7F061A84 8DB80008 */ lw $t8, 8($t5) -/* 0965F8 7F061A88 8F030070 */ lw $v1, 0x70($t8) -/* 0965FC 7F061A8C 10600026 */ beqz $v1, .Ljp7F061B28 -/* 096600 7F061A90 00000000 */ nop -/* 096604 7F061A94 8C620004 */ lw $v0, 4($v1) -/* 096608 7F061A98 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 09660C 7F061A9C 0FC17AE1 */ jal get_value_if_watch_is_on_hand_or_not -/* 096610 7F061AA0 AFA20068 */ sw $v0, 0x68($sp) -/* 096614 7F061AA4 3C018005 */ lui $at, %hi(D_80053E30) # $at, 0x8005 -/* 096618 7F061AA8 C42A3E60 */ lwc1 $f10, %lo(D_80053E30)($at) -/* 09661C 7F061AAC C6040214 */ lwc1 $f4, 0x214($s0) -/* 096620 7F061AB0 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 096624 7F061AB4 44818000 */ mtc1 $at, $f16 -/* 096628 7F061AB8 460A2480 */ add.s $f18, $f4, $f10 -/* 09662C 7F061ABC 3C018005 */ lui $at, %hi(D_80053E34) # $at, 0x8005 -/* 096630 7F061AC0 C4243E64 */ lwc1 $f4, %lo(D_80053E34)($at) -/* 096634 7F061AC4 8FA20068 */ lw $v0, 0x68($sp) -/* 096638 7F061AC8 46009181 */ sub.s $f6, $f18, $f0 -/* 09663C 7F061ACC 27A401A4 */ addiu $a0, $sp, 0x1a4 -/* 096640 7F061AD0 C4520000 */ lwc1 $f18, ($v0) -/* 096644 7F061AD4 46103202 */ mul.s $f8, $f6, $f16 -/* 096648 7F061AD8 C446000C */ lwc1 $f6, 0xc($v0) -/* 09664C 7F061ADC 46069401 */ sub.s $f16, $f18, $f6 -/* 096650 7F061AE0 C4460014 */ lwc1 $f6, 0x14($v0) -/* 096654 7F061AE4 C4520008 */ lwc1 $f18, 8($v0) -/* 096658 7F061AE8 46044283 */ div.s $f10, $f8, $f4 -/* 09665C 7F061AEC C4440010 */ lwc1 $f4, 0x10($v0) -/* 096660 7F061AF0 C4480004 */ lwc1 $f8, 4($v0) -/* 096664 7F061AF4 44068000 */ mfc1 $a2, $f16 -/* 096668 7F061AF8 46069401 */ sub.s $f16, $f18, $f6 -/* 09666C 7F061AFC E7B00010 */ swc1 $f16, 0x10($sp) -/* 096670 7F061B00 44055000 */ mfc1 $a1, $f10 -/* 096674 7F061B04 46044281 */ sub.s $f10, $f8, $f4 -/* 096678 7F061B08 44075000 */ mfc1 $a3, $f10 -/* 09667C 7F061B0C 0C005DD8 */ jal guRotateF -/* 096680 7F061B10 00000000 */ nop -/* 096684 7F061B14 8FA40070 */ lw $a0, 0x70($sp) -/* 096688 7F061B18 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09668C 7F061B1C 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 096690 7F061B20 10000004 */ b .Ljp7F061B34 -/* 096694 7F061B24 8FAF006C */ lw $t7, 0x6c($sp) -.Ljp7F061B28: -/* 096698 7F061B28 0FC1627C */ jal sub_GAME_7F0584D0 -/* 09669C 7F061B2C 8E050214 */ lw $a1, 0x214($s0) -/* 0966A0 7F061B30 8FAF006C */ lw $t7, 0x6c($sp) -.Ljp7F061B34: -/* 0966A4 7F061B34 8FAE02A4 */ lw $t6, 0x2a4($sp) -/* 0966A8 7F061B38 27A40264 */ addiu $a0, $sp, 0x264 -/* 0966AC 7F061B3C 000FC980 */ sll $t9, $t7, 6 -/* 0966B0 7F061B40 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 0966B4 7F061B44 0FC161AB */ jal sub_GAME_7F05818C -/* 0966B8 7F061B48 032E3021 */ addu $a2, $t9, $t6 -/* 0966BC 7F061B4C 8FAD01A0 */ lw $t5, 0x1a0($sp) -.Ljp7F061B50: -/* 0966C0 7F061B50 8FA40044 */ lw $a0, 0x44($sp) -/* 0966C4 7F061B54 85B8000C */ lh $t8, 0xc($t5) -/* 0966C8 7F061B58 01A02825 */ move $a1, $t5 -/* 0966CC 7F061B5C 2B01001E */ slti $at, $t8, 0x1e -/* 0966D0 7F061B60 54200004 */ bnezl $at, .Ljp7F061B74 -/* 0966D4 7F061B64 8FAF01A0 */ lw $t7, 0x1a0($sp) -/* 0966D8 7F061B68 0FC220B8 */ jal seems_to_load_cuff_microcode -/* 0966DC 7F061B6C 2406001D */ li $a2, 29 -/* 0966E0 7F061B70 8FAF01A0 */ lw $t7, 0x1a0($sp) -.Ljp7F061B74: -/* 0966E4 7F061B74 8DF90008 */ lw $t9, 8($t7) -/* 0966E8 7F061B78 8F24001C */ lw $a0, 0x1c($t9) -/* 0966EC 7F061B7C 50800017 */ beql $a0, $zero, .Ljp7F061BDC -/* 0966F0 7F061B80 8FB901A0 */ lw $t9, 0x1a0($sp) -/* 0966F4 7F061B84 8C8E0004 */ lw $t6, 4($a0) -/* 0966F8 7F061B88 00002825 */ move $a1, $zero -/* 0966FC 7F061B8C 0FC1B2D8 */ jal sub_GAME_7F06C570 -/* 096700 7F061B90 AFAE0064 */ sw $t6, 0x64($sp) -/* 096704 7F061B94 AFA20060 */ sw $v0, 0x60($sp) -/* 096708 7F061B98 0FC17B57 */ jal sub_GAME_7F05E83C -/* 09670C 7F061B9C 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096710 7F061BA0 8FA40064 */ lw $a0, 0x64($sp) -/* 096714 7F061BA4 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 096718 7F061BA8 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 09671C 7F061BAC C7A801DC */ lwc1 $f8, 0x1dc($sp) -/* 096720 7F061BB0 C6040218 */ lwc1 $f4, 0x218($s0) -/* 096724 7F061BB4 8FB80060 */ lw $t8, 0x60($sp) -/* 096728 7F061BB8 8FAF02A4 */ lw $t7, 0x2a4($sp) -/* 09672C 7F061BBC 46044281 */ sub.s $f10, $f8, $f4 -/* 096730 7F061BC0 00186980 */ sll $t5, $t8, 6 -/* 096734 7F061BC4 27A40264 */ addiu $a0, $sp, 0x264 -/* 096738 7F061BC8 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 09673C 7F061BCC E7AA01DC */ swc1 $f10, 0x1dc($sp) -/* 096740 7F061BD0 0FC1617A */ jal sub_GAME_7F0580C8 -/* 096744 7F061BD4 01AF3021 */ addu $a2, $t5, $t7 -/* 096748 7F061BD8 8FB901A0 */ lw $t9, 0x1a0($sp) -.Ljp7F061BDC: -/* 09674C 7F061BDC 00001825 */ move $v1, $zero -/* 096750 7F061BE0 00003025 */ move $a2, $zero -/* 096754 7F061BE4 872E000C */ lh $t6, 0xc($t9) -/* 096758 7F061BE8 24070005 */ li $a3, 5 -/* 09675C 7F061BEC 29C10013 */ slti $at, $t6, 0x13 -/* 096760 7F061BF0 1420002A */ bnez $at, .Ljp7F061C9C -/* 096764 7F061BF4 00000000 */ nop -.Ljp7F061BF8: -/* 096768 7F061BF8 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 09676C 7F061BFC 8FA40044 */ lw $a0, 0x44($sp) -/* 096770 7F061C00 8F0D0008 */ lw $t5, 8($t8) -/* 096774 7F061C04 01A67821 */ addu $t7, $t5, $a2 -/* 096778 7F061C08 8DE50048 */ lw $a1, 0x48($t7) -/* 09677C 7F061C0C 50A0000E */ beql $a1, $zero, .Ljp7F061C48 -/* 096780 7F061C10 8FAD01A0 */ lw $t5, 0x1a0($sp) -/* 096784 7F061C14 AFA3005C */ sw $v1, 0x5c($sp) -/* 096788 7F061C18 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 09678C 7F061C1C AFA60040 */ sw $a2, 0x40($sp) -/* 096790 7F061C20 8FA3005C */ lw $v1, 0x5c($sp) -/* 096794 7F061C24 8FA60040 */ lw $a2, 0x40($sp) -/* 096798 7F061C28 10400006 */ beqz $v0, .Ljp7F061C44 -/* 09679C 7F061C2C 24070005 */ li $a3, 5 -/* 0967A0 7F061C30 8E190034 */ lw $t9, 0x34($s0) -/* 0967A4 7F061C34 00E37023 */ subu $t6, $a3, $v1 -/* 0967A8 7F061C38 032EC02A */ slt $t8, $t9, $t6 -/* 0967AC 7F061C3C 3B180001 */ xori $t8, $t8, 1 -/* 0967B0 7F061C40 AC580000 */ sw $t8, ($v0) -.Ljp7F061C44: -/* 0967B4 7F061C44 8FAD01A0 */ lw $t5, 0x1a0($sp) -.Ljp7F061C48: -/* 0967B8 7F061C48 8FA40044 */ lw $a0, 0x44($sp) -/* 0967BC 7F061C4C 8DAF0008 */ lw $t7, 8($t5) -/* 0967C0 7F061C50 01E6C821 */ addu $t9, $t7, $a2 -/* 0967C4 7F061C54 8F25005C */ lw $a1, 0x5c($t9) -/* 0967C8 7F061C58 50A0000E */ beql $a1, $zero, .Ljp7F061C94 -/* 0967CC 7F061C5C 24630001 */ addiu $v1, $v1, 1 -/* 0967D0 7F061C60 AFA3005C */ sw $v1, 0x5c($sp) -/* 0967D4 7F061C64 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 0967D8 7F061C68 AFA60040 */ sw $a2, 0x40($sp) -/* 0967DC 7F061C6C 8FA3005C */ lw $v1, 0x5c($sp) -/* 0967E0 7F061C70 8FA60040 */ lw $a2, 0x40($sp) -/* 0967E4 7F061C74 10400006 */ beqz $v0, .Ljp7F061C90 -/* 0967E8 7F061C78 24070005 */ li $a3, 5 -/* 0967EC 7F061C7C 8E0E0034 */ lw $t6, 0x34($s0) -/* 0967F0 7F061C80 00E3C023 */ subu $t8, $a3, $v1 -/* 0967F4 7F061C84 01D8682A */ slt $t5, $t6, $t8 -/* 0967F8 7F061C88 39AD0001 */ xori $t5, $t5, 1 -/* 0967FC 7F061C8C AC4D0000 */ sw $t5, ($v0) -.Ljp7F061C90: -/* 096800 7F061C90 24630001 */ addiu $v1, $v1, 1 -.Ljp7F061C94: -/* 096804 7F061C94 1467FFD8 */ bne $v1, $a3, .Ljp7F061BF8 -/* 096808 7F061C98 24C60004 */ addiu $a2, $a2, 4 -.Ljp7F061C9C: -/* 09680C 7F061C9C 0FC1BD6D */ jal sub_GAME_7F06EFC4 -/* 096810 7F061CA0 8FA40044 */ lw $a0, 0x44($sp) -/* 096814 7F061CA4 820F000C */ lb $t7, 0xc($s0) -/* 096818 7F061CA8 8FB900FC */ lw $t9, 0xfc($sp) -/* 09681C 7F061CAC 11E00014 */ beqz $t7, weapon_bullet_type_shotgun_mine -/* 096820 7F061CB0 272EFFFC */ addiu $t6, $t9, -4 -/* 096824 7F061CB4 2DC10014 */ sltiu $at, $t6, 0x14 -/* 096828 7F061CB8 10200011 */ beqz $at, weapon_bullet_type_shotgun_mine -/* 09682C 7F061CBC 000E7080 */ sll $t6, $t6, 2 -/* 096830 7F061CC0 3C018005 */ lui $at, %hi(jpt_weapon_bullet_type) -/* 096834 7F061CC4 002E0821 */ addu $at, $at, $t6 -/* 096838 7F061CC8 8C2E3E68 */ lw $t6, %lo(jpt_weapon_bullet_type)($at) -/* 09683C 7F061CCC 01C00008 */ jr $t6 -/* 096840 7F061CD0 00000000 */ nop -weapon_bullet_type_pistol: -/* 096844 7F061CD4 0FC18848 */ jal sub_GAME_7F061BF4 -/* 096848 7F061CD8 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 09684C 7F061CDC 8E180030 */ lw $t8, 0x30($s0) -/* 096850 7F061CE0 270D0001 */ addiu $t5, $t8, 1 -/* 096854 7F061CE4 10000006 */ b weapon_bullet_type_shotgun_mine -/* 096858 7F061CE8 AE0D0030 */ sw $t5, 0x30($s0) -weapon_bullet_type_none: -/* 09685C 7F061CEC 8E0F0030 */ lw $t7, 0x30($s0) -/* 096860 7F061CF0 25F90001 */ addiu $t9, $t7, 1 -/* 096864 7F061CF4 AE190030 */ sw $t9, 0x30($s0) -/* 096868 7F061CF8 0FC18848 */ jal sub_GAME_7F061BF4 -/* 09686C 7F061CFC 8FA402A8 */ lw $a0, 0x2a8($sp) -weapon_bullet_type_shotgun_mine: -/* 096870 7F061D00 8FAE00FC */ lw $t6, 0xfc($sp) -.Ljp7F061D04: -/* 096874 7F061D04 24010019 */ li $at, 25 -/* 096878 7F061D08 55C10004 */ bnel $t6, $at, .Ljp7F061D1C -/* 09687C 7F061D0C 8218000C */ lb $t8, 0xc($s0) -/* 096880 7F061D10 0FC17F92 */ jal sub_GAME_7F05F928 -/* 096884 7F061D14 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096888 7F061D18 8218000C */ lb $t8, 0xc($s0) -.Ljp7F061D1C: -/* 09688C 7F061D1C 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 -/* 096890 7F061D20 53000046 */ beql $t8, $zero, .Ljp7F061E3C -/* 096894 7F061D24 8FBF0034 */ lw $ra, 0x34($sp) -/* 096898 7F061D28 0FC22793 */ jal sub_GAME_7F089778 -/* 09689C 7F061D2C 8C84A120 */ lw $a0, %lo(pPlayer)($a0) -/* 0968A0 7F061D30 44050000 */ mfc1 $a1, $f0 -/* 0968A4 7F061D34 0FC1A2B8 */ jal sub_GAME_7F068508 -/* 0968A8 7F061D38 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0968AC 7F061D3C 8FAD00FC */ lw $t5, 0xfc($sp) -/* 0968B0 7F061D40 24010018 */ li $at, 24 -/* 0968B4 7F061D44 8FAF00FC */ lw $t7, 0xfc($sp) -/* 0968B8 7F061D48 55A10006 */ bnel $t5, $at, .Ljp7F061D64 -/* 0968BC 7F061D4C 2401001A */ li $at, 26 -/* 0968C0 7F061D50 0FC17F17 */ jal sub_GAME_7F05F73C -/* 0968C4 7F061D54 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0968C8 7F061D58 10000038 */ b .Ljp7F061E3C -/* 0968CC 7F061D5C 8FBF0034 */ lw $ra, 0x34($sp) -/* 0968D0 7F061D60 2401001A */ li $at, 26 -.Ljp7F061D64: -/* 0968D4 7F061D64 15E10005 */ bne $t7, $at, .Ljp7F061D7C -/* 0968D8 7F061D68 8FB900FC */ lw $t9, 0xfc($sp) -/* 0968DC 7F061D6C 0FC17CD1 */ jal sub_GAME_7F05EE24 -/* 0968E0 7F061D70 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0968E4 7F061D74 10000031 */ b .Ljp7F061E3C -/* 0968E8 7F061D78 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F061D7C: -/* 0968EC 7F061D7C 24010019 */ li $at, 25 -/* 0968F0 7F061D80 17210005 */ bne $t9, $at, .Ljp7F061D98 -/* 0968F4 7F061D84 8FAE00FC */ lw $t6, 0xfc($sp) -/* 0968F8 7F061D88 0FC18021 */ jal sub_GAME_7F05FB64 -/* 0968FC 7F061D8C 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096900 7F061D90 1000002A */ b .Ljp7F061E3C -/* 096904 7F061D94 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F061D98: -/* 096908 7F061D98 24010003 */ li $at, 3 -/* 09690C 7F061D9C 15C10005 */ bne $t6, $at, .Ljp7F061DB4 -/* 096910 7F061DA0 8FB800FC */ lw $t8, 0xfc($sp) -/* 096914 7F061DA4 0FC17D6F */ jal sub_GAME_7F05F09C -/* 096918 7F061DA8 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 09691C 7F061DAC 10000023 */ b .Ljp7F061E3C -/* 096920 7F061DB0 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F061DB4: -/* 096924 7F061DB4 2401001D */ li $at, 29 -/* 096928 7F061DB8 1301000F */ beq $t8, $at, .Ljp7F061DF8 -/* 09692C 7F061DBC 2401001C */ li $at, 28 -/* 096930 7F061DC0 1301000D */ beq $t8, $at, .Ljp7F061DF8 -/* 096934 7F061DC4 2401001B */ li $at, 27 -/* 096938 7F061DC8 1301000B */ beq $t8, $at, .Ljp7F061DF8 -/* 09693C 7F061DCC 24010021 */ li $at, 33 -/* 096940 7F061DD0 13010009 */ beq $t8, $at, .Ljp7F061DF8 -/* 096944 7F061DD4 2401002F */ li $at, 47 -/* 096948 7F061DD8 13010007 */ beq $t8, $at, .Ljp7F061DF8 -/* 09694C 7F061DDC 24010030 */ li $at, 48 -/* 096950 7F061DE0 13010005 */ beq $t8, $at, .Ljp7F061DF8 -/* 096954 7F061DE4 2401003D */ li $at, 61 -/* 096958 7F061DE8 13010003 */ beq $t8, $at, .Ljp7F061DF8 -/* 09695C 7F061DEC 24010022 */ li $at, 34 -/* 096960 7F061DF0 17010005 */ bne $t8, $at, .Ljp7F061E08 -/* 096964 7F061DF4 8FAD00FC */ lw $t5, 0xfc($sp) -.Ljp7F061DF8: -/* 096968 7F061DF8 0FC17E1E */ jal generate_player_thrown_object -/* 09696C 7F061DFC 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 096970 7F061E00 1000000E */ b .Ljp7F061E3C -/* 096974 7F061E04 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F061E08: -/* 096978 7F061E08 24010023 */ li $at, 35 -/* 09697C 7F061E0C 15A10005 */ bne $t5, $at, .Ljp7F061E24 -/* 096980 7F061E10 8FAF00FC */ lw $t7, 0xfc($sp) -/* 096984 7F061E14 0FC17F17 */ jal sub_GAME_7F05F73C -/* 096988 7F061E18 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 09698C 7F061E1C 10000007 */ b .Ljp7F061E3C -/* 096990 7F061E20 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F061E24: -/* 096994 7F061E24 24010024 */ li $at, 36 -/* 096998 7F061E28 55E10004 */ bnel $t7, $at, .Ljp7F061E3C -/* 09699C 7F061E2C 8FBF0034 */ lw $ra, 0x34($sp) -/* 0969A0 7F061E30 0FC17F17 */ jal sub_GAME_7F05F73C -/* 0969A4 7F061E34 8FA402A8 */ lw $a0, 0x2a8($sp) -/* 0969A8 7F061E38 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F061E3C: -/* 0969AC 7F061E3C 8FB00030 */ lw $s0, 0x30($sp) -/* 0969B0 7F061E40 27BD02A8 */ addiu $sp, $sp, 0x2a8 -/* 0969B4 7F061E44 03E00008 */ jr $ra -/* 0969B8 7F061E48 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F061920(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F061920 -/* 096450 7F061920 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 096454 7F061924 AFBF0014 */ sw $ra, 0x14($sp) -/* 096458 7F061928 0FC17FF2 */ jal handles_firing_or_throwing_weapon_in_hand -/* 09645C 7F06192C 00002025 */ move $a0, $zero -/* 096460 7F061930 0FC17FF2 */ jal handles_firing_or_throwing_weapon_in_hand -/* 096464 7F061934 24040001 */ li $a0, 1 -/* 096468 7F061938 8FBF0014 */ lw $ra, 0x14($sp) -/* 09646C 7F06193C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 096470 7F061940 03E00008 */ jr $ra -/* 096474 7F061944 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F061948(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053E88 -.word 0x461c4000 /*10000.0*/ -glabel D_80053E8C -.word 0x453b8000 /*3000.0*/ -glabel D_80053E90 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053E94 -.word 0x3e99999a /*0.30000001*/ -glabel D_80053E98 -.word 0xbdcccccd /*-0.1*/ -glabel D_80053E9C -.word 0x453b8000 /*3000.0*/ -glabel D_80053EA0 -.word 0x453b8000 /*3000.0*/ -glabel D_80053EA4 -.word 0x3e4ccccd /*0.2*/ -.text -glabel sub_GAME_7F061948 -/* 096478 7F061948 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 09647C 7F06194C AFBF0014 */ sw $ra, 0x14($sp) -/* 096480 7F061950 C4C40000 */ lwc1 $f4, ($a2) -/* 096484 7F061954 E4840004 */ swc1 $f4, 4($a0) -/* 096488 7F061958 C4C60004 */ lwc1 $f6, 4($a2) -/* 09648C 7F06195C E4860008 */ swc1 $f6, 8($a0) -/* 096490 7F061960 C4C80008 */ lwc1 $f8, 8($a2) -/* 096494 7F061964 E488000C */ swc1 $f8, 0xc($a0) -/* 096498 7F061968 C4D00000 */ lwc1 $f16, ($a2) -/* 09649C 7F06196C C4EA0000 */ lwc1 $f10, ($a3) -/* 0964A0 7F061970 46105481 */ sub.s $f18, $f10, $f16 -/* 0964A4 7F061974 E4920010 */ swc1 $f18, 0x10($a0) -/* 0964A8 7F061978 C4C60004 */ lwc1 $f6, 4($a2) -/* 0964AC 7F06197C C4E40004 */ lwc1 $f4, 4($a3) -/* 0964B0 7F061980 C4820010 */ lwc1 $f2, 0x10($a0) -/* 0964B4 7F061984 46062201 */ sub.s $f8, $f4, $f6 -/* 0964B8 7F061988 46021102 */ mul.s $f4, $f2, $f2 -/* 0964BC 7F06198C E4880014 */ swc1 $f8, 0x14($a0) -/* 0964C0 7F061990 C4D00008 */ lwc1 $f16, 8($a2) -/* 0964C4 7F061994 C4EA0008 */ lwc1 $f10, 8($a3) -/* 0964C8 7F061998 C48E0014 */ lwc1 $f14, 0x14($a0) -/* 0964CC 7F06199C 46105481 */ sub.s $f18, $f10, $f16 -/* 0964D0 7F0619A0 460E7182 */ mul.s $f6, $f14, $f14 -/* 0964D4 7F0619A4 E4920018 */ swc1 $f18, 0x18($a0) -/* 0964D8 7F0619A8 C4800018 */ lwc1 $f0, 0x18($a0) -/* 0964DC 7F0619AC AFA50024 */ sw $a1, 0x24($sp) -/* 0964E0 7F0619B0 AFA40020 */ sw $a0, 0x20($sp) -/* 0964E4 7F0619B4 46000282 */ mul.s $f10, $f0, $f0 -/* 0964E8 7F0619B8 46062200 */ add.s $f8, $f4, $f6 -/* 0964EC 7F0619BC 0C007DF8 */ jal sqrtf -/* 0964F0 7F0619C0 46085300 */ add.s $f12, $f10, $f8 -/* 0964F4 7F0619C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0964F8 7F0619C8 44818000 */ mtc1 $at, $f16 -/* 0964FC 7F0619CC 8FA40020 */ lw $a0, 0x20($sp) -/* 096500 7F0619D0 8FA50024 */ lw $a1, 0x24($sp) -/* 096504 7F0619D4 46008083 */ div.s $f2, $f16, $f0 -/* 096508 7F0619D8 C4920010 */ lwc1 $f18, 0x10($a0) -/* 09650C 7F0619DC C4860014 */ lwc1 $f6, 0x14($a0) -/* 096510 7F0619E0 C4880018 */ lwc1 $f8, 0x18($a0) -/* 096514 7F0619E4 24020017 */ li $v0, 23 -/* 096518 7F0619E8 46000306 */ mov.s $f12, $f0 -/* 09651C 7F0619EC 3C018005 */ lui $at, %hi(D_80053E88) -/* 096520 7F0619F0 46029102 */ mul.s $f4, $f18, $f2 -/* 096524 7F0619F4 00000000 */ nop -/* 096528 7F0619F8 46023282 */ mul.s $f10, $f6, $f2 -/* 09652C 7F0619FC 00000000 */ nop -/* 096530 7F061A00 46024402 */ mul.s $f16, $f8, $f2 -/* 096534 7F061A04 E4840010 */ swc1 $f4, 0x10($a0) -/* 096538 7F061A08 E48A0014 */ swc1 $f10, 0x14($a0) -/* 09653C 7F061A0C 14A2000A */ bne $a1, $v0, .L7F061A38 -/* 096540 7F061A10 E4900018 */ swc1 $f16, 0x18($a0) -/* 096544 7F061A14 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 096548 7F061A18 44811000 */ mtc1 $at, $f2 -/* 09654C 7F061A1C 00000000 */ nop -/* 096550 7F061A20 4600103C */ c.lt.s $f2, $f0 -/* 096554 7F061A24 00000000 */ nop -/* 096558 7F061A28 4502000A */ bc1fl .L7F061A54 -/* 09655C 7F061A2C 3C0143FA */ lui $at, %hi(0x43FA3E88) # $at, 0x43fa -/* 096560 7F061A30 10000007 */ b .L7F061A50 -/* 096564 7F061A34 46001306 */ mov.s $f12, $f2 -.L7F061A38: -/* 096568 7F061A38 C4223E88 */ lwc1 $f2, %lo(D_80053E88)($at) -/* 09656C 7F061A3C 4600103C */ c.lt.s $f2, $f0 -/* 096570 7F061A40 00000000 */ nop -/* 096574 7F061A44 45020003 */ bc1fl .L7F061A54 -/* 096578 7F061A48 3C0143FA */ lui $at, 0x43fa -/* 09657C 7F061A4C 46001306 */ mov.s $f12, $f2 -.L7F061A50: -/* 096580 7F061A50 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -.L7F061A54: -/* 096584 7F061A54 44810000 */ mtc1 $at, $f0 -/* 096588 7F061A58 A0800000 */ sb $zero, ($a0) -/* 09658C 7F061A5C A0850001 */ sb $a1, 1($a0) -/* 096590 7F061A60 4600603C */ c.lt.s $f12, $f0 -/* 096594 7F061A64 E48C001C */ swc1 $f12, 0x1c($a0) -/* 096598 7F061A68 24010016 */ li $at, 22 -/* 09659C 7F061A6C 45000002 */ bc1f .L7F061A78 -/* 0965A0 7F061A70 00000000 */ nop -/* 0965A4 7F061A74 46000306 */ mov.s $f12, $f0 -.L7F061A78: -/* 0965A8 7F061A78 14A10026 */ bne $a1, $at, .L7F061B14 -/* 0965AC 7F061A7C 3C018005 */ lui $at, %hi(D_80053E8C) -/* 0965B0 7F061A80 C4223E8C */ lwc1 $f2, %lo(D_80053E8C)($at) -/* 0965B4 7F061A84 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0965B8 7F061A88 44819000 */ mtc1 $at, $f18 -/* 0965BC 7F061A8C 3C018005 */ lui $at, %hi(D_80053E90) -/* 0965C0 7F061A90 460C9102 */ mul.s $f4, $f18, $f12 -/* 0965C4 7F061A94 E4840020 */ swc1 $f4, 0x20($a0) -/* 0965C8 7F061A98 C4263E90 */ lwc1 $f6, %lo(D_80053E90)($at) -/* 0965CC 7F061A9C 460C3002 */ mul.s $f0, $f6, $f12 -/* 0965D0 7F061AA0 4600103C */ c.lt.s $f2, $f0 -/* 0965D4 7F061AA4 E4800024 */ swc1 $f0, 0x24($a0) -/* 0965D8 7F061AA8 45020003 */ bc1fl .L7F061AB8 -/* 0965DC 7F061AAC AFA40020 */ sw $a0, 0x20($sp) -/* 0965E0 7F061AB0 E4820024 */ swc1 $f2, 0x24($a0) -/* 0965E4 7F061AB4 AFA40020 */ sw $a0, 0x20($sp) -.L7F061AB8: -/* 0965E8 7F061AB8 0C002914 */ jal get_random_value -/* 0965EC 7F061ABC E7AC001C */ swc1 $f12, 0x1c($sp) -/* 0965F0 7F061AC0 44825000 */ mtc1 $v0, $f10 -/* 0965F4 7F061AC4 8FA40020 */ lw $a0, 0x20($sp) -/* 0965F8 7F061AC8 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 0965FC 7F061ACC 04410005 */ bgez $v0, .L7F061AE4 -/* 096600 7F061AD0 46805220 */ cvt.s.w $f8, $f10 -/* 096604 7F061AD4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 096608 7F061AD8 44818000 */ mtc1 $at, $f16 -/* 09660C 7F061ADC 00000000 */ nop -/* 096610 7F061AE0 46104200 */ add.s $f8, $f8, $f16 -.L7F061AE4: -/* 096614 7F061AE4 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 096618 7F061AE8 44819000 */ mtc1 $at, $f18 -/* 09661C 7F061AEC 3C018005 */ lui $at, %hi(D_80053E94) -/* 096620 7F061AF0 C4263E94 */ lwc1 $f6, %lo(D_80053E94)($at) -/* 096624 7F061AF4 46124102 */ mul.s $f4, $f8, $f18 -/* 096628 7F061AF8 3C018005 */ lui $at, %hi(D_80053E98) -/* 09662C 7F061AFC C4303E98 */ lwc1 $f16, %lo(D_80053E98)($at) -/* 096630 7F061B00 46062282 */ mul.s $f10, $f4, $f6 -/* 096634 7F061B04 460A8201 */ sub.s $f8, $f16, $f10 -/* 096638 7F061B08 460C4482 */ mul.s $f18, $f8, $f12 -/* 09663C 7F061B0C 1000002D */ b .L7F061BC4 -/* 096640 7F061B10 E4920028 */ swc1 $f18, 0x28($a0) -.L7F061B14: -/* 096644 7F061B14 14A2000D */ bne $a1, $v0, .L7F061B4C -/* 096648 7F061B18 3C018005 */ lui $at, %hi(D_80053EA0) -/* 09664C 7F061B1C 3C018005 */ lui $at, %hi(D_80053E9C) -/* 096650 7F061B20 C4223E9C */ lwc1 $f2, %lo(D_80053E9C)($at) -/* 096654 7F061B24 460C6100 */ add.s $f4, $f12, $f12 -/* 096658 7F061B28 44803000 */ mtc1 $zero, $f6 -/* 09665C 7F061B2C E48C0024 */ swc1 $f12, 0x24($a0) -/* 096660 7F061B30 460C103C */ c.lt.s $f2, $f12 -/* 096664 7F061B34 E4840020 */ swc1 $f4, 0x20($a0) -/* 096668 7F061B38 45000002 */ bc1f .L7F061B44 -/* 09666C 7F061B3C 00000000 */ nop -/* 096670 7F061B40 E4820024 */ swc1 $f2, 0x24($a0) -.L7F061B44: -/* 096674 7F061B44 1000001F */ b .L7F061BC4 -/* 096678 7F061B48 E4860028 */ swc1 $f6, 0x28($a0) -.L7F061B4C: -/* 09667C 7F061B4C C4223EA0 */ lwc1 $f2, %lo(D_80053EA0)($at) -/* 096680 7F061B50 3C018005 */ lui $at, %hi(D_80053EA4) -/* 096684 7F061B54 C4303EA4 */ lwc1 $f16, %lo(D_80053EA4)($at) -/* 096688 7F061B58 460C8002 */ mul.s $f0, $f16, $f12 -/* 09668C 7F061B5C 4600103C */ c.lt.s $f2, $f0 -/* 096690 7F061B60 E4800020 */ swc1 $f0, 0x20($a0) -/* 096694 7F061B64 E4800024 */ swc1 $f0, 0x24($a0) -/* 096698 7F061B68 45000002 */ bc1f .L7F061B74 -/* 09669C 7F061B6C 00000000 */ nop -/* 0966A0 7F061B70 E4820024 */ swc1 $f2, 0x24($a0) -.L7F061B74: -/* 0966A4 7F061B74 0C002914 */ jal get_random_value -/* 0966A8 7F061B78 AFA40020 */ sw $a0, 0x20($sp) -/* 0966AC 7F061B7C 44825000 */ mtc1 $v0, $f10 -/* 0966B0 7F061B80 8FA40020 */ lw $a0, 0x20($sp) -/* 0966B4 7F061B84 04410005 */ bgez $v0, .L7F061B9C -/* 0966B8 7F061B88 46805220 */ cvt.s.w $f8, $f10 -/* 0966BC 7F061B8C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0966C0 7F061B90 44819000 */ mtc1 $at, $f18 -/* 0966C4 7F061B94 00000000 */ nop -/* 0966C8 7F061B98 46124200 */ add.s $f8, $f8, $f18 -.L7F061B9C: -/* 0966CC 7F061B9C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0966D0 7F061BA0 44812000 */ mtc1 $at, $f4 -/* 0966D4 7F061BA4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0966D8 7F061BA8 44818000 */ mtc1 $at, $f16 -/* 0966DC 7F061BAC 46044002 */ mul.s $f0, $f8, $f4 -/* 0966E0 7F061BB0 C4920020 */ lwc1 $f18, 0x20($a0) -/* 0966E4 7F061BB4 46000180 */ add.s $f6, $f0, $f0 -/* 0966E8 7F061BB8 46103281 */ sub.s $f10, $f6, $f16 -/* 0966EC 7F061BBC 46125202 */ mul.s $f8, $f10, $f18 -/* 0966F0 7F061BC0 E4880028 */ swc1 $f8, 0x28($a0) -.L7F061BC4: -/* 0966F4 7F061BC4 C4840028 */ lwc1 $f4, 0x28($a0) -/* 0966F8 7F061BC8 C486001C */ lwc1 $f6, 0x1c($a0) -/* 0966FC 7F061BCC 240EFFFF */ li $t6, -1 -/* 096700 7F061BD0 4604303E */ c.le.s $f6, $f4 -/* 096704 7F061BD4 00000000 */ nop -/* 096708 7F061BD8 45020003 */ bc1fl .L7F061BE8 -/* 09670C 7F061BDC 8FBF0014 */ lw $ra, 0x14($sp) -/* 096710 7F061BE0 A08E0000 */ sb $t6, ($a0) -/* 096714 7F061BE4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F061BE8: -/* 096718 7F061BE8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 09671C 7F061BEC 03E00008 */ jr $ra -/* 096720 7F061BF0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F061BF4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053EA8 -.word 0x3db2b8c3 /*0.087266468*/ -.text -glabel sub_GAME_7F061BF4 -/* 096724 7F061BF4 000478C0 */ sll $t7, $a0, 3 -/* 096728 7F061BF8 01E47823 */ subu $t7, $t7, $a0 -/* 09672C 7F061BFC 000F7880 */ sll $t7, $t7, 2 -/* 096730 7F061C00 01E47821 */ addu $t7, $t7, $a0 -/* 096734 7F061C04 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 096738 7F061C08 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09673C 7F061C0C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 096740 7F061C10 000F7880 */ sll $t7, $t7, 2 -/* 096744 7F061C14 01E47821 */ addu $t7, $t7, $a0 -/* 096748 7F061C18 AFB00014 */ sw $s0, 0x14($sp) -/* 09674C 7F061C1C 000F78C0 */ sll $t7, $t7, 3 -/* 096750 7F061C20 AFBF001C */ sw $ra, 0x1c($sp) -/* 096754 7F061C24 AFB10018 */ sw $s1, 0x18($sp) -/* 096758 7F061C28 01CF8021 */ addu $s0, $t6, $t7 -/* 09675C 7F061C2C 00808825 */ move $s1, $a0 -/* 096760 7F061C30 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 096764 7F061C34 26100870 */ addiu $s0, $s0, 0x870 -/* 096768 7F061C38 C604039C */ lwc1 $f4, 0x39c($s0) -/* 09676C 7F061C3C C4460008 */ lwc1 $f6, 8($v0) -/* 096770 7F061C40 C60A03A0 */ lwc1 $f10, 0x3a0($s0) -/* 096774 7F061C44 C4500018 */ lwc1 $f16, 0x18($v0) -/* 096778 7F061C48 46062202 */ mul.s $f8, $f4, $f6 -/* 09677C 7F061C4C C60603A4 */ lwc1 $f6, 0x3a4($s0) -/* 096780 7F061C50 46105482 */ mul.s $f18, $f10, $f16 -/* 096784 7F061C54 C44A0028 */ lwc1 $f10, 0x28($v0) -/* 096788 7F061C58 460A3402 */ mul.s $f16, $f6, $f10 -/* 09678C 7F061C5C C60602F4 */ lwc1 $f6, 0x2f4($s0) -/* 096790 7F061C60 46124100 */ add.s $f4, $f8, $f18 -/* 096794 7F061C64 C4520038 */ lwc1 $f18, 0x38($v0) -/* 096798 7F061C68 46102200 */ add.s $f8, $f4, $f16 -/* 09679C 7F061C6C 46089000 */ add.s $f0, $f18, $f8 -/* 0967A0 7F061C70 46000007 */ neg.s $f0, $f0 -/* 0967A4 7F061C74 4606003C */ c.lt.s $f0, $f6 -/* 0967A8 7F061C78 00000000 */ nop -/* 0967AC 7F061C7C 45030062 */ bc1tl .L7F061E08 -/* 0967B0 7F061C80 8FBF001C */ lw $ra, 0x1c($sp) -/* 0967B4 7F061C84 0FC17674 */ jal get_item_in_hand -/* 0967B8 7F061C88 02202025 */ move $a0, $s1 -/* 0967BC 7F061C8C 2607039C */ addiu $a3, $s0, 0x39c -/* 0967C0 7F061C90 AFA70028 */ sw $a3, 0x28($sp) -/* 0967C4 7F061C94 260401E4 */ addiu $a0, $s0, 0x1e4 -/* 0967C8 7F061C98 00402825 */ move $a1, $v0 -/* 0967CC 7F061C9C 0FC18652 */ jal sub_GAME_7F061948 -/* 0967D0 7F061CA0 260602E8 */ addiu $a2, $s0, 0x2e8 -/* 0967D4 7F061CA4 3C188008 */ lui $t8, %hi(pPlayer) -/* 0967D8 7F061CA8 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0967DC 7F061CAC 8F1900A8 */ lw $t9, 0xa8($t8) -/* 0967E0 7F061CB0 8F280004 */ lw $t0, 4($t9) -/* 0967E4 7F061CB4 51000054 */ beql $t0, $zero, .L7F061E08 -/* 0967E8 7F061CB8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0967EC 7F061CBC 0FC26919 */ jal get_num_players -/* 0967F0 7F061CC0 00000000 */ nop -/* 0967F4 7F061CC4 28410002 */ slti $at, $v0, 2 -/* 0967F8 7F061CC8 1420004E */ bnez $at, .L7F061E04 -/* 0967FC 7F061CCC 3C038008 */ lui $v1, %hi(pPlayer) -/* 096800 7F061CD0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 096804 7F061CD4 00113880 */ sll $a3, $s1, 2 -/* 096808 7F061CD8 00F13823 */ subu $a3, $a3, $s1 -/* 09680C 7F061CDC 8C6900A8 */ lw $t1, 0xa8($v1) -/* 096810 7F061CE0 00073880 */ sll $a3, $a3, 2 -/* 096814 7F061CE4 00671021 */ addu $v0, $v1, $a3 -/* 096818 7F061CE8 8D2A0004 */ lw $t2, 4($t1) -/* 09681C 7F061CEC 27A40040 */ addiu $a0, $sp, 0x40 -/* 096820 7F061CF0 27A50044 */ addiu $a1, $sp, 0x44 -/* 096824 7F061CF4 AFAA004C */ sw $t2, 0x4c($sp) -/* 096828 7F061CF8 C4442A18 */ lwc1 $f4, 0x2a18($v0) -/* 09682C 7F061CFC C60A039C */ lwc1 $f10, 0x39c($s0) -/* 096830 7F061D00 27A60048 */ addiu $a2, $sp, 0x48 -/* 096834 7F061D04 46045401 */ sub.s $f16, $f10, $f4 -/* 096838 7F061D08 E7B00040 */ swc1 $f16, 0x40($sp) -/* 09683C 7F061D0C C4482A1C */ lwc1 $f8, 0x2a1c($v0) -/* 096840 7F061D10 C61203A0 */ lwc1 $f18, 0x3a0($s0) -/* 096844 7F061D14 46089181 */ sub.s $f6, $f18, $f8 -/* 096848 7F061D18 E7A60044 */ swc1 $f6, 0x44($sp) -/* 09684C 7F061D1C C4442A20 */ lwc1 $f4, 0x2a20($v0) -/* 096850 7F061D20 C60A03A4 */ lwc1 $f10, 0x3a4($s0) -/* 096854 7F061D24 AFA70024 */ sw $a3, 0x24($sp) -/* 096858 7F061D28 46045401 */ sub.s $f16, $f10, $f4 -/* 09685C 7F061D2C 0C007DD4 */ jal guNormalize -/* 096860 7F061D30 E7B00048 */ swc1 $f16, 0x48($sp) -/* 096864 7F061D34 C612039C */ lwc1 $f18, 0x39c($s0) -/* 096868 7F061D38 C60802E8 */ lwc1 $f8, 0x2e8($s0) -/* 09686C 7F061D3C 27A40034 */ addiu $a0, $sp, 0x34 -/* 096870 7F061D40 27A50038 */ addiu $a1, $sp, 0x38 -/* 096874 7F061D44 46089181 */ sub.s $f6, $f18, $f8 -/* 096878 7F061D48 27A6003C */ addiu $a2, $sp, 0x3c -/* 09687C 7F061D4C E7A60034 */ swc1 $f6, 0x34($sp) -/* 096880 7F061D50 C60402EC */ lwc1 $f4, 0x2ec($s0) -/* 096884 7F061D54 C60A03A0 */ lwc1 $f10, 0x3a0($s0) -/* 096888 7F061D58 46045401 */ sub.s $f16, $f10, $f4 -/* 09688C 7F061D5C E7B00038 */ swc1 $f16, 0x38($sp) -/* 096890 7F061D60 C60802F0 */ lwc1 $f8, 0x2f0($s0) -/* 096894 7F061D64 C61203A4 */ lwc1 $f18, 0x3a4($s0) -/* 096898 7F061D68 46089181 */ sub.s $f6, $f18, $f8 -/* 09689C 7F061D6C 0C007DD4 */ jal guNormalize -/* 0968A0 7F061D70 E7A6003C */ swc1 $f6, 0x3c($sp) -/* 0968A4 7F061D74 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0968A8 7F061D78 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 0968AC 7F061D7C C7B20044 */ lwc1 $f18, 0x44($sp) -/* 0968B0 7F061D80 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0968B4 7F061D84 46045402 */ mul.s $f16, $f10, $f4 -/* 0968B8 7F061D88 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0968BC 7F061D8C 46089182 */ mul.s $f6, $f18, $f8 -/* 0968C0 7F061D90 C7B20048 */ lwc1 $f18, 0x48($sp) -/* 0968C4 7F061D94 46122202 */ mul.s $f8, $f4, $f18 -/* 0968C8 7F061D98 46068280 */ add.s $f10, $f16, $f6 -/* 0968CC 7F061D9C 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 0968D0 7F061DA0 460A4300 */ add.s $f12, $f8, $f10 -/* 0968D4 7F061DA4 3C018005 */ lui $at, %hi(D_80053EA8) -/* 0968D8 7F061DA8 C4303EA8 */ lwc1 $f16, %lo(D_80053EA8)($at) -/* 0968DC 7F061DAC 4600803C */ c.lt.s $f16, $f0 -/* 0968E0 7F061DB0 00000000 */ nop -/* 0968E4 7F061DB4 45030014 */ bc1tl .L7F061E08 -/* 0968E8 7F061DB8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0968EC 7F061DBC 0FC17674 */ jal get_item_in_hand -/* 0968F0 7F061DC0 02202025 */ move $a0, $s1 -/* 0968F4 7F061DC4 00116080 */ sll $t4, $s1, 2 -/* 0968F8 7F061DC8 01916023 */ subu $t4, $t4, $s1 -/* 0968FC 7F061DCC 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 096900 7F061DD0 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 096904 7F061DD4 8FAB004C */ lw $t3, 0x4c($sp) -/* 096908 7F061DD8 8FAE0024 */ lw $t6, 0x24($sp) -/* 09690C 7F061DDC 000C6080 */ sll $t4, $t4, 2 -/* 096910 7F061DE0 01916023 */ subu $t4, $t4, $s1 -/* 096914 7F061DE4 000C6080 */ sll $t4, $t4, 2 -/* 096918 7F061DE8 016C2021 */ addu $a0, $t3, $t4 -/* 09691C 7F061DEC 01AE3021 */ addu $a2, $t5, $t6 -/* 096920 7F061DF0 24C62A18 */ addiu $a2, $a2, 0x2a18 -/* 096924 7F061DF4 24840180 */ addiu $a0, $a0, 0x180 -/* 096928 7F061DF8 00402825 */ move $a1, $v0 -/* 09692C 7F061DFC 0FC18652 */ jal sub_GAME_7F061948 -/* 096930 7F061E00 8FA70028 */ lw $a3, 0x28($sp) -.L7F061E04: -/* 096934 7F061E04 8FBF001C */ lw $ra, 0x1c($sp) -.L7F061E08: -/* 096938 7F061E08 8FB00014 */ lw $s0, 0x14($sp) -/* 09693C 7F061E0C 8FB10018 */ lw $s1, 0x18($sp) -/* 096940 7F061E10 03E00008 */ jr $ra -/* 096944 7F061E14 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F061E18(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053EAC -.word 0x3fb50481 /*1.4141999*/ -glabel D_80053EB0 -.word 0x3dcccccd /*0.1*/ -glabel D_80053EB4 -.word 0x3f666666 /*0.89999998*/ -glabel D_80053EB8 -.word 0x3f666666 /*0.89999998*/ -glabel D_80053EBC -.word 0x3f666666 /*0.89999998*/ -glabel D_80053EC0 -.word 0x3f666666 /*0.89999998*/ -glabel D_80053EC4 -.word 0x3f666666 /*0.89999998*/ -glabel D_80053EC8 -.word 0x3f666666 /*0.89999998*/ -glabel D_80053ECC -.word 0x3fb50481 /*1.4141999*/ -glabel D_80053ED0 -.word 0x3f666666 /*0.89999998*/ -.text -glabel sub_GAME_7F061E18 -/* 096948 7F061E18 27BDFEA0 */ addiu $sp, $sp, -0x160 -/* 09694C 7F061E1C AFBF002C */ sw $ra, 0x2c($sp) -/* 096950 7F061E20 AFB10028 */ sw $s1, 0x28($sp) -/* 096954 7F061E24 AFB00024 */ sw $s0, 0x24($sp) -/* 096958 7F061E28 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 09695C 7F061E2C AFA40160 */ sw $a0, 0x160($sp) -/* 096960 7F061E30 AFA60168 */ sw $a2, 0x168($sp) -/* 096964 7F061E34 80AB0000 */ lb $t3, ($a1) -/* 096968 7F061E38 3C0E8003 */ lui $t6, %hi(D_80035C98) -/* 09696C 7F061E3C 00A08825 */ move $s1, $a1 -/* 096970 7F061E40 05600328 */ bltz $t3, .L7F062AE4 -/* 096974 7F061E44 25CE5C98 */ addiu $t6, %lo(D_80035C98) # addiu $t6, $t6, 0x5c98 -/* 096978 7F061E48 8DC10000 */ lw $at, ($t6) -/* 09697C 7F061E4C 8DD90004 */ lw $t9, 4($t6) -/* 096980 7F061E50 27A90108 */ addiu $t1, $sp, 0x108 -/* 096984 7F061E54 AD210000 */ sw $at, ($t1) -/* 096988 7F061E58 AD390004 */ sw $t9, 4($t1) -/* 09698C 7F061E5C 8DD9000C */ lw $t9, 0xc($t6) -/* 096990 7F061E60 8DC10008 */ lw $at, 8($t6) -/* 096994 7F061E64 AD39000C */ sw $t9, 0xc($t1) -/* 096998 7F061E68 0FC227F5 */ jal get_BONDdata_position -/* 09699C 7F061E6C AD210008 */ sw $at, 8($t1) -/* 0969A0 7F061E70 AFA200F8 */ sw $v0, 0xf8($sp) -/* 0969A4 7F061E74 3C0D8003 */ lui $t5, %hi(D_80035CA8) -/* 0969A8 7F061E78 25AD5CA8 */ addiu $t5, %lo(D_80035CA8) # addiu $t5, $t5, 0x5ca8 -/* 0969AC 7F061E7C 8DA10000 */ lw $at, ($t5) -/* 0969B0 7F061E80 C6200028 */ lwc1 $f0, 0x28($s1) -/* 0969B4 7F061E84 C6340024 */ lwc1 $f20, 0x24($s1) -/* 0969B8 7F061E88 27AF00C4 */ addiu $t7, $sp, 0xc4 -/* 0969BC 7F061E8C ADE10000 */ sw $at, ($t7) -/* 0969C0 7F061E90 8DA10008 */ lw $at, 8($t5) -/* 0969C4 7F061E94 8DAB0004 */ lw $t3, 4($t5) -/* 0969C8 7F061E98 3C098003 */ lui $t1, %hi(D_80035CB4) -/* 0969CC 7F061E9C 25295CB4 */ addiu $t1, %lo(D_80035CB4) # addiu $t1, $t1, 0x5cb4 -/* 0969D0 7F061EA0 ADE10008 */ sw $at, 8($t7) -/* 0969D4 7F061EA4 ADEB0004 */ sw $t3, 4($t7) -/* 0969D8 7F061EA8 8D210000 */ lw $at, ($t1) -/* 0969DC 7F061EAC 27B800B8 */ addiu $t8, $sp, 0xb8 -/* 0969E0 7F061EB0 8D2A0004 */ lw $t2, 4($t1) -/* 0969E4 7F061EB4 AF010000 */ sw $at, ($t8) -/* 0969E8 7F061EB8 8D210008 */ lw $at, 8($t1) -/* 0969EC 7F061EBC AF0A0004 */ sw $t2, 4($t8) -/* 0969F0 7F061EC0 3C0C8009 */ lui $t4, %hi(flareimage3) -/* 0969F4 7F061EC4 AF010008 */ sw $at, 8($t8) -/* 0969F8 7F061EC8 3C018005 */ lui $at, %hi(D_80053EAC) -/* 0969FC 7F061ECC C4243EAC */ lwc1 $f4, %lo(D_80053EAC)($at) -/* 096A00 7F061ED0 8D8CD0D0 */ lw $t4, %lo(flareimage3)($t4) -/* 096A04 7F061ED4 E7A000E8 */ swc1 $f0, 0xe8($sp) -/* 096A08 7F061ED8 E7A400B4 */ swc1 $f4, 0xb4($sp) -/* 096A0C 7F061EDC 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 096A10 7F061EE0 AFAC00B0 */ sw $t4, 0xb0($sp) -/* 096A14 7F061EE4 AFA200A8 */ sw $v0, 0xa8($sp) -/* 096A18 7F061EE8 82230001 */ lb $v1, 1($s1) -/* 096A1C 7F061EEC 24010016 */ li $at, 22 -/* 096A20 7F061EF0 C7A000E8 */ lwc1 $f0, 0xe8($sp) -/* 096A24 7F061EF4 14610007 */ bne $v1, $at, .L7F061F14 -/* 096A28 7F061EF8 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 096A2C 7F061EFC 44819000 */ mtc1 $at, $f18 -/* 096A30 7F061F00 3C0F8009 */ lui $t7, %hi(flareimage4) -/* 096A34 7F061F04 8DEFD0D4 */ lw $t7, %lo(flareimage4)($t7) -/* 096A38 7F061F08 E7B200F4 */ swc1 $f18, 0xf4($sp) -/* 096A3C 7F061F0C 10000026 */ b .L7F061FA8 -/* 096A40 7F061F10 AFAF00B0 */ sw $t7, 0xb0($sp) -.L7F061F14: -/* 096A44 7F061F14 24010017 */ li $at, 23 -/* 096A48 7F061F18 1461001F */ bne $v1, $at, .L7F061F98 -/* 096A4C 7F061F1C 3C0D8009 */ lui $t5, %hi(flareimage4) -/* 096A50 7F061F20 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 096A54 7F061F24 44813000 */ mtc1 $at, $f6 -/* 096A58 7F061F28 8DADD0D4 */ lw $t5, %lo(flareimage4)($t5) -/* 096A5C 7F061F2C E7A000E8 */ swc1 $f0, 0xe8($sp) -/* 096A60 7F061F30 E7A600F4 */ swc1 $f6, 0xf4($sp) -/* 096A64 7F061F34 0C002914 */ jal get_random_value -/* 096A68 7F061F38 AFAD00B0 */ sw $t5, 0xb0($sp) -/* 096A6C 7F061F3C 24010032 */ li $at, 50 -/* 096A70 7F061F40 0041001B */ divu $zero, $v0, $at -/* 096A74 7F061F44 00005810 */ mfhi $t3 -/* 096A78 7F061F48 25790096 */ addiu $t9, $t3, 0x96 -/* 096A7C 7F061F4C 0C002914 */ jal get_random_value -/* 096A80 7F061F50 A3B90117 */ sb $t9, 0x117($sp) -/* 096A84 7F061F54 24010005 */ li $at, 5 -/* 096A88 7F061F58 0041001B */ divu $zero, $v0, $at -/* 096A8C 7F061F5C 00007010 */ mfhi $t6 -/* 096A90 7F061F60 C7A000E8 */ lwc1 $f0, 0xe8($sp) -/* 096A94 7F061F64 55C00011 */ bnezl $t6, .L7F061FAC -/* 096A98 7F061F68 C6240004 */ lwc1 $f4, 4($s1) -/* 096A9C 7F061F6C 0C002914 */ jal get_random_value -/* 096AA0 7F061F70 E7A000E8 */ swc1 $f0, 0xe8($sp) -/* 096AA4 7F061F74 24010064 */ li $at, 100 -/* 096AA8 7F061F78 0041001B */ divu $zero, $v0, $at -/* 096AAC 7F061F7C 0000C010 */ mfhi $t8 -/* 096AB0 7F061F80 240900FF */ li $t1, 255 -/* 096AB4 7F061F84 01381823 */ subu $v1, $t1, $t8 -/* 096AB8 7F061F88 A3A30115 */ sb $v1, 0x115($sp) -/* 096ABC 7F061F8C A3A30114 */ sb $v1, 0x114($sp) -/* 096AC0 7F061F90 10000005 */ b .L7F061FA8 -/* 096AC4 7F061F94 C7A000E8 */ lwc1 $f0, 0xe8($sp) -.L7F061F98: -/* 096AC8 7F061F98 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 096ACC 7F061F9C 44815000 */ mtc1 $at, $f10 -/* 096AD0 7F061FA0 00000000 */ nop -/* 096AD4 7F061FA4 E7AA00F4 */ swc1 $f10, 0xf4($sp) -.L7F061FA8: -/* 096AD8 7F061FA8 C6240004 */ lwc1 $f4, 4($s1) -.L7F061FAC: -/* 096ADC 7F061FAC 44807000 */ mtc1 $zero, $f14 -/* 096AE0 7F061FB0 E7A400FC */ swc1 $f4, 0xfc($sp) -/* 096AE4 7F061FB4 C6280008 */ lwc1 $f8, 8($s1) -/* 096AE8 7F061FB8 4600703C */ c.lt.s $f14, $f0 -/* 096AEC 7F061FBC E7A80100 */ swc1 $f8, 0x100($sp) -/* 096AF0 7F061FC0 C626000C */ lwc1 $f6, 0xc($s1) -/* 096AF4 7F061FC4 45000011 */ bc1f .L7F06200C -/* 096AF8 7F061FC8 E7A60104 */ swc1 $f6, 0x104($sp) -/* 096AFC 7F061FCC C6240010 */ lwc1 $f4, 0x10($s1) -/* 096B00 7F061FD0 C7AA00FC */ lwc1 $f10, 0xfc($sp) -/* 096B04 7F061FD4 46040202 */ mul.s $f8, $f0, $f4 -/* 096B08 7F061FD8 C7A40100 */ lwc1 $f4, 0x100($sp) -/* 096B0C 7F061FDC 46085180 */ add.s $f6, $f10, $f8 -/* 096B10 7F061FE0 E7A600FC */ swc1 $f6, 0xfc($sp) -/* 096B14 7F061FE4 C62A0014 */ lwc1 $f10, 0x14($s1) -/* 096B18 7F061FE8 460A0202 */ mul.s $f8, $f0, $f10 -/* 096B1C 7F061FEC C7AA0104 */ lwc1 $f10, 0x104($sp) -/* 096B20 7F061FF0 46082180 */ add.s $f6, $f4, $f8 -/* 096B24 7F061FF4 E7A60100 */ swc1 $f6, 0x100($sp) -/* 096B28 7F061FF8 C6240018 */ lwc1 $f4, 0x18($s1) -/* 096B2C 7F061FFC 46040202 */ mul.s $f8, $f0, $f4 -/* 096B30 7F062000 46085180 */ add.s $f6, $f10, $f8 -/* 096B34 7F062004 10000003 */ b .L7F062014 -/* 096B38 7F062008 E7A60104 */ swc1 $f6, 0x104($sp) -.L7F06200C: -/* 096B3C 7F06200C 4600A500 */ add.s $f20, $f20, $f0 -/* 096B40 7F062010 46007006 */ mov.s $f0, $f14 -.L7F062014: -/* 096B44 7F062014 46140100 */ add.s $f4, $f0, $f20 -/* 096B48 7F062018 C622001C */ lwc1 $f2, 0x1c($s1) -/* 096B4C 7F06201C 4604103C */ c.lt.s $f2, $f4 -/* 096B50 7F062020 00000000 */ nop -/* 096B54 7F062024 45020003 */ bc1fl .L7F062034 -/* 096B58 7F062028 C62C0018 */ lwc1 $f12, 0x18($s1) -/* 096B5C 7F06202C 46001501 */ sub.s $f20, $f2, $f0 -/* 096B60 7F062030 C62C0018 */ lwc1 $f12, 0x18($s1) -.L7F062034: -/* 096B64 7F062034 C7AA0104 */ lwc1 $f10, 0x104($sp) -/* 096B68 7F062038 8FA200F8 */ lw $v0, 0xf8($sp) -/* 096B6C 7F06203C 460CA202 */ mul.s $f8, $f20, $f12 -/* 096B70 7F062040 C6220014 */ lwc1 $f2, 0x14($s1) -/* 096B74 7F062044 C4440008 */ lwc1 $f4, 8($v0) -/* 096B78 7F062048 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 096B7C 7F06204C 46085180 */ add.s $f6, $f10, $f8 -/* 096B80 7F062050 C44A0004 */ lwc1 $f10, 4($v0) -/* 096B84 7F062054 46062201 */ sub.s $f8, $f4, $f6 -/* 096B88 7F062058 46081102 */ mul.s $f4, $f2, $f8 -/* 096B8C 7F06205C C7A80100 */ lwc1 $f8, 0x100($sp) -/* 096B90 7F062060 46141182 */ mul.s $f6, $f2, $f20 -/* 096B94 7F062064 46083180 */ add.s $f6, $f6, $f8 -/* 096B98 7F062068 46065281 */ sub.s $f10, $f10, $f6 -/* 096B9C 7F06206C 460C5182 */ mul.s $f6, $f10, $f12 -/* 096BA0 7F062070 46062281 */ sub.s $f10, $f4, $f6 -/* 096BA4 7F062074 C7A400FC */ lwc1 $f4, 0xfc($sp) -/* 096BA8 7F062078 E7AA00D0 */ swc1 $f10, 0xd0($sp) -/* 096BAC 7F06207C C6200010 */ lwc1 $f0, 0x10($s1) -/* 096BB0 7F062080 C62C0018 */ lwc1 $f12, 0x18($s1) -/* 096BB4 7F062084 E7A80034 */ swc1 $f8, 0x34($sp) -/* 096BB8 7F062088 4600A182 */ mul.s $f6, $f20, $f0 -/* 096BBC 7F06208C C4480000 */ lwc1 $f8, ($v0) -/* 096BC0 7F062090 E7AA0038 */ swc1 $f10, 0x38($sp) -/* 096BC4 7F062094 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 096BC8 7F062098 46062180 */ add.s $f6, $f4, $f6 -/* 096BCC 7F06209C 46064201 */ sub.s $f8, $f8, $f6 -/* 096BD0 7F0620A0 46086182 */ mul.s $f6, $f12, $f8 -/* 096BD4 7F0620A4 00000000 */ nop -/* 096BD8 7F0620A8 46146202 */ mul.s $f8, $f12, $f20 -/* 096BDC 7F0620AC 460A4200 */ add.s $f8, $f8, $f10 -/* 096BE0 7F0620B0 C44A0008 */ lwc1 $f10, 8($v0) -/* 096BE4 7F0620B4 46085281 */ sub.s $f10, $f10, $f8 -/* 096BE8 7F0620B8 46005202 */ mul.s $f8, $f10, $f0 -/* 096BEC 7F0620BC 46083281 */ sub.s $f10, $f6, $f8 -/* 096BF0 7F0620C0 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 096BF4 7F0620C4 E7AA00D4 */ swc1 $f10, 0xd4($sp) -/* 096BF8 7F0620C8 C6220014 */ lwc1 $f2, 0x14($s1) -/* 096BFC 7F0620CC C6200010 */ lwc1 $f0, 0x10($s1) -/* 096C00 7F0620D0 4602A202 */ mul.s $f8, $f20, $f2 -/* 096C04 7F0620D4 46083180 */ add.s $f6, $f6, $f8 -/* 096C08 7F0620D8 C4480004 */ lwc1 $f8, 4($v0) -/* 096C0C 7F0620DC 46064201 */ sub.s $f8, $f8, $f6 -/* 096C10 7F0620E0 46080182 */ mul.s $f6, $f0, $f8 -/* 096C14 7F0620E4 00000000 */ nop -/* 096C18 7F0620E8 46140202 */ mul.s $f8, $f0, $f20 -/* 096C1C 7F0620EC 46044200 */ add.s $f8, $f8, $f4 -/* 096C20 7F0620F0 C4440000 */ lwc1 $f4, ($v0) -/* 096C24 7F0620F4 46082101 */ sub.s $f4, $f4, $f8 -/* 096C28 7F0620F8 46022202 */ mul.s $f8, $f4, $f2 -/* 096C2C 7F0620FC 46083101 */ sub.s $f4, $f6, $f8 -/* 096C30 7F062100 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 096C34 7F062104 46067032 */ c.eq.s $f14, $f6 -/* 096C38 7F062108 E7A400D8 */ swc1 $f4, 0xd8($sp) -/* 096C3C 7F06210C 45000008 */ bc1f .L7F062130 -/* 096C40 7F062110 00000000 */ nop -/* 096C44 7F062114 460A7032 */ c.eq.s $f14, $f10 -/* 096C48 7F062118 00000000 */ nop -/* 096C4C 7F06211C 45020005 */ bc1fl .L7F062134 -/* 096C50 7F062120 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 096C54 7F062124 46047032 */ c.eq.s $f14, $f4 -/* 096C58 7F062128 00000000 */ nop -/* 096C5C 7F06212C 4501000F */ bc1t .L7F06216C -.L7F062130: -/* 096C60 7F062130 27A400D0 */ addiu $a0, $sp, 0xd0 -.L7F062134: -/* 096C64 7F062134 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 096C68 7F062138 0C007DD4 */ jal guNormalize -/* 096C6C 7F06213C 27A600D8 */ addiu $a2, $sp, 0xd8 -/* 096C70 7F062140 C7A000F4 */ lwc1 $f0, 0xf4($sp) -/* 096C74 7F062144 C7A800D0 */ lwc1 $f8, 0xd0($sp) -/* 096C78 7F062148 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 096C7C 7F06214C 46004182 */ mul.s $f6, $f8, $f0 -/* 096C80 7F062150 C7A800D8 */ lwc1 $f8, 0xd8($sp) -/* 096C84 7F062154 46005102 */ mul.s $f4, $f10, $f0 -/* 096C88 7F062158 E7A600D0 */ swc1 $f6, 0xd0($sp) -/* 096C8C 7F06215C 46004182 */ mul.s $f6, $f8, $f0 -/* 096C90 7F062160 E7A400D4 */ swc1 $f4, 0xd4($sp) -/* 096C94 7F062164 10000005 */ b .L7F06217C -/* 096C98 7F062168 E7A600D8 */ swc1 $f6, 0xd8($sp) -.L7F06216C: -/* 096C9C 7F06216C C7AA00F4 */ lwc1 $f10, 0xf4($sp) -/* 096CA0 7F062170 E7AE00D0 */ swc1 $f14, 0xd0($sp) -/* 096CA4 7F062174 E7AE00D8 */ swc1 $f14, 0xd8($sp) -/* 096CA8 7F062178 E7AA00D4 */ swc1 $f10, 0xd4($sp) -.L7F06217C: -/* 096CAC 7F06217C C6240014 */ lwc1 $f4, 0x14($s1) -/* 096CB0 7F062180 C7A800D8 */ lwc1 $f8, 0xd8($sp) -/* 096CB4 7F062184 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 096CB8 7F062188 27A400DC */ addiu $a0, $sp, 0xdc -/* 096CBC 7F06218C 46082182 */ mul.s $f6, $f4, $f8 -/* 096CC0 7F062190 C6240018 */ lwc1 $f4, 0x18($s1) -/* 096CC4 7F062194 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 096CC8 7F062198 27A600E4 */ addiu $a2, $sp, 0xe4 -/* 096CCC 7F06219C 46045102 */ mul.s $f4, $f10, $f4 -/* 096CD0 7F0621A0 46043181 */ sub.s $f6, $f6, $f4 -/* 096CD4 7F0621A4 E7A600DC */ swc1 $f6, 0xdc($sp) -/* 096CD8 7F0621A8 C6240018 */ lwc1 $f4, 0x18($s1) -/* 096CDC 7F0621AC C7A600D0 */ lwc1 $f6, 0xd0($sp) -/* 096CE0 7F0621B0 E7AA0038 */ swc1 $f10, 0x38($sp) -/* 096CE4 7F0621B4 C62A0010 */ lwc1 $f10, 0x10($s1) -/* 096CE8 7F0621B8 46062102 */ mul.s $f4, $f4, $f6 -/* 096CEC 7F0621BC 00000000 */ nop -/* 096CF0 7F0621C0 460A4202 */ mul.s $f8, $f8, $f10 -/* 096CF4 7F0621C4 46082281 */ sub.s $f10, $f4, $f8 -/* 096CF8 7F0621C8 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 096CFC 7F0621CC E7AA00E0 */ swc1 $f10, 0xe0($sp) -/* 096D00 7F0621D0 C6240010 */ lwc1 $f4, 0x10($s1) -/* 096D04 7F0621D4 46082282 */ mul.s $f10, $f4, $f8 -/* 096D08 7F0621D8 C6240014 */ lwc1 $f4, 0x14($s1) -/* 096D0C 7F0621DC 46043202 */ mul.s $f8, $f6, $f4 -/* 096D10 7F0621E0 46085181 */ sub.s $f6, $f10, $f8 -/* 096D14 7F0621E4 0C007DD4 */ jal guNormalize -/* 096D18 7F0621E8 E7A600E4 */ swc1 $f6, 0xe4($sp) -/* 096D1C 7F0621EC C7A000F4 */ lwc1 $f0, 0xf4($sp) -/* 096D20 7F0621F0 C7A400DC */ lwc1 $f4, 0xdc($sp) -/* 096D24 7F0621F4 C7A800E0 */ lwc1 $f8, 0xe0($sp) -/* 096D28 7F0621F8 24010016 */ li $at, 22 -/* 096D2C 7F0621FC 46002282 */ mul.s $f10, $f4, $f0 -/* 096D30 7F062200 C7A400E4 */ lwc1 $f4, 0xe4($sp) -/* 096D34 7F062204 46004182 */ mul.s $f6, $f8, $f0 -/* 096D38 7F062208 E7AA00DC */ swc1 $f10, 0xdc($sp) -/* 096D3C 7F06220C 46002282 */ mul.s $f10, $f4, $f0 -/* 096D40 7F062210 E7A600E0 */ swc1 $f6, 0xe0($sp) -/* 096D44 7F062214 E7AA00E4 */ swc1 $f10, 0xe4($sp) -/* 096D48 7F062218 822A0001 */ lb $t2, 1($s1) -/* 096D4C 7F06221C 15410005 */ bne $t2, $at, .L7F062234 -/* 096D50 7F062220 00000000 */ nop -/* 096D54 7F062224 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 096D58 7F062228 24040008 */ li $a0, 8 -/* 096D5C 7F06222C 10000004 */ b .L7F062240 -/* 096D60 7F062230 00408025 */ move $s0, $v0 -.L7F062234: -/* 096D64 7F062234 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 096D68 7F062238 24040004 */ li $a0, 4 -/* 096D6C 7F06223C 00408025 */ move $s0, $v0 -.L7F062240: -/* 096D70 7F062240 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 096D74 7F062244 00000000 */ nop -/* 096D78 7F062248 AFA20158 */ sw $v0, 0x158($sp) -/* 096D7C 7F06224C 27A400FC */ addiu $a0, $sp, 0xfc -/* 096D80 7F062250 0FC16259 */ jal init_something_copy_posdata_to_it -/* 096D84 7F062254 27A50118 */ addiu $a1, $sp, 0x118 -/* 096D88 7F062258 3C018005 */ lui $at, %hi(D_80053EB0) -/* 096D8C 7F06225C C42C3EB0 */ lwc1 $f12, %lo(D_80053EB0)($at) -/* 096D90 7F062260 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 096D94 7F062264 27A50118 */ addiu $a1, $sp, 0x118 -/* 096D98 7F062268 8FA400A8 */ lw $a0, 0xa8($sp) -/* 096D9C 7F06226C 0FC16026 */ jal sub_GAME_7F058098 -/* 096DA0 7F062270 27A50118 */ addiu $a1, $sp, 0x118 -/* 096DA4 7F062274 27A40118 */ addiu $a0, $sp, 0x118 -/* 096DA8 7F062278 0FC16327 */ jal sub_GAME_7F058C9C -/* 096DAC 7F06227C 8FA50158 */ lw $a1, 0x158($sp) -/* 096DB0 7F062280 27A20108 */ addiu $v0, $sp, 0x108 -/* 096DB4 7F062284 8C410000 */ lw $at, ($v0) -/* 096DB8 7F062288 AE010000 */ sw $at, ($s0) -/* 096DBC 7F06228C 8C4D0004 */ lw $t5, 4($v0) -/* 096DC0 7F062290 AE0D0004 */ sw $t5, 4($s0) -/* 096DC4 7F062294 8C410008 */ lw $at, 8($v0) -/* 096DC8 7F062298 AE010008 */ sw $at, 8($s0) -/* 096DCC 7F06229C 8C4D000C */ lw $t5, 0xc($v0) -/* 096DD0 7F0622A0 AE0D000C */ sw $t5, 0xc($s0) -/* 096DD4 7F0622A4 8C410000 */ lw $at, ($v0) -/* 096DD8 7F0622A8 AE010010 */ sw $at, 0x10($s0) -/* 096DDC 7F0622AC 8C4E0004 */ lw $t6, 4($v0) -/* 096DE0 7F0622B0 AE0E0014 */ sw $t6, 0x14($s0) -/* 096DE4 7F0622B4 8C410008 */ lw $at, 8($v0) -/* 096DE8 7F0622B8 AE010018 */ sw $at, 0x18($s0) -/* 096DEC 7F0622BC 8C4E000C */ lw $t6, 0xc($v0) -/* 096DF0 7F0622C0 AE0E001C */ sw $t6, 0x1c($s0) -/* 096DF4 7F0622C4 8C410000 */ lw $at, ($v0) -/* 096DF8 7F0622C8 AE010020 */ sw $at, 0x20($s0) -/* 096DFC 7F0622CC 8C4A0004 */ lw $t2, 4($v0) -/* 096E00 7F0622D0 AE0A0024 */ sw $t2, 0x24($s0) -/* 096E04 7F0622D4 8C410008 */ lw $at, 8($v0) -/* 096E08 7F0622D8 AE010028 */ sw $at, 0x28($s0) -/* 096E0C 7F0622DC 8C4A000C */ lw $t2, 0xc($v0) -/* 096E10 7F0622E0 AE0A002C */ sw $t2, 0x2c($s0) -/* 096E14 7F0622E4 8C410000 */ lw $at, ($v0) -/* 096E18 7F0622E8 AE010030 */ sw $at, 0x30($s0) -/* 096E1C 7F0622EC 8C4D0004 */ lw $t5, 4($v0) -/* 096E20 7F0622F0 AE0D0034 */ sw $t5, 0x34($s0) -/* 096E24 7F0622F4 8C410008 */ lw $at, 8($v0) -/* 096E28 7F0622F8 AE010038 */ sw $at, 0x38($s0) -/* 096E2C 7F0622FC 8C4D000C */ lw $t5, 0xc($v0) -/* 096E30 7F062300 24010016 */ li $at, 22 -/* 096E34 7F062304 AE0D003C */ sw $t5, 0x3c($s0) -/* 096E38 7F062308 82230001 */ lb $v1, 1($s1) -/* 096E3C 7F06230C 54610023 */ bnel $v1, $at, .L7F06239C -/* 096E40 7F062310 24010017 */ li $at, 23 -/* 096E44 7F062314 8C410000 */ lw $at, ($v0) -/* 096E48 7F062318 AE010040 */ sw $at, 0x40($s0) -/* 096E4C 7F06231C 8C4B0004 */ lw $t3, 4($v0) -/* 096E50 7F062320 AE0B0044 */ sw $t3, 0x44($s0) -/* 096E54 7F062324 8C410008 */ lw $at, 8($v0) -/* 096E58 7F062328 AE010048 */ sw $at, 0x48($s0) -/* 096E5C 7F06232C 8C4B000C */ lw $t3, 0xc($v0) -/* 096E60 7F062330 AE0B004C */ sw $t3, 0x4c($s0) -/* 096E64 7F062334 8C410000 */ lw $at, ($v0) -/* 096E68 7F062338 AE010050 */ sw $at, 0x50($s0) -/* 096E6C 7F06233C 8C580004 */ lw $t8, 4($v0) -/* 096E70 7F062340 AE180054 */ sw $t8, 0x54($s0) -/* 096E74 7F062344 8C410008 */ lw $at, 8($v0) -/* 096E78 7F062348 AE010058 */ sw $at, 0x58($s0) -/* 096E7C 7F06234C 8C58000C */ lw $t8, 0xc($v0) -/* 096E80 7F062350 AE18005C */ sw $t8, 0x5c($s0) -/* 096E84 7F062354 8C410000 */ lw $at, ($v0) -/* 096E88 7F062358 AE010060 */ sw $at, 0x60($s0) -/* 096E8C 7F06235C 8C4A0004 */ lw $t2, 4($v0) -/* 096E90 7F062360 AE0A0064 */ sw $t2, 0x64($s0) -/* 096E94 7F062364 8C410008 */ lw $at, 8($v0) -/* 096E98 7F062368 AE010068 */ sw $at, 0x68($s0) -/* 096E9C 7F06236C 8C4A000C */ lw $t2, 0xc($v0) -/* 096EA0 7F062370 AE0A006C */ sw $t2, 0x6c($s0) -/* 096EA4 7F062374 8C410000 */ lw $at, ($v0) -/* 096EA8 7F062378 AE010070 */ sw $at, 0x70($s0) -/* 096EAC 7F06237C 8C4F0004 */ lw $t7, 4($v0) -/* 096EB0 7F062380 AE0F0074 */ sw $t7, 0x74($s0) -/* 096EB4 7F062384 8C410008 */ lw $at, 8($v0) -/* 096EB8 7F062388 AE010078 */ sw $at, 0x78($s0) -/* 096EBC 7F06238C 8C4F000C */ lw $t7, 0xc($v0) -/* 096EC0 7F062390 AE0F007C */ sw $t7, 0x7c($s0) -/* 096EC4 7F062394 82230001 */ lb $v1, 1($s1) -/* 096EC8 7F062398 24010017 */ li $at, 23 -.L7F06239C: -/* 096ECC 7F06239C 5461004F */ bnel $v1, $at, .L7F0624DC -/* 096ED0 7F0623A0 3C014120 */ lui $at, 0x4120 -/* 096ED4 7F0623A4 C6280010 */ lwc1 $f8, 0x10($s1) -/* 096ED8 7F0623A8 C7A400FC */ lwc1 $f4, 0xfc($sp) -/* 096EDC 7F0623AC 8FA400A8 */ lw $a0, 0xa8($sp) -/* 096EE0 7F0623B0 46144182 */ mul.s $f6, $f8, $f20 -/* 096EE4 7F0623B4 27A5009C */ addiu $a1, $sp, 0x9c -/* 096EE8 7F0623B8 46043280 */ add.s $f10, $f6, $f4 -/* 096EEC 7F0623BC C7A40100 */ lwc1 $f4, 0x100($sp) -/* 096EF0 7F0623C0 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 096EF4 7F0623C4 C6280014 */ lwc1 $f8, 0x14($s1) -/* 096EF8 7F0623C8 46144182 */ mul.s $f6, $f8, $f20 -/* 096EFC 7F0623CC 46043280 */ add.s $f10, $f6, $f4 -/* 096F00 7F0623D0 C7A40104 */ lwc1 $f4, 0x104($sp) -/* 096F04 7F0623D4 E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 096F08 7F0623D8 C6280018 */ lwc1 $f8, 0x18($s1) -/* 096F0C 7F0623DC 46144182 */ mul.s $f6, $f8, $f20 -/* 096F10 7F0623E0 46043280 */ add.s $f10, $f6, $f4 -/* 096F14 7F0623E4 0FC1611D */ jal sub_GAME_7F058474 -/* 096F18 7F0623E8 E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 096F1C 7F0623EC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 096F20 7F0623F0 44813000 */ mtc1 $at, $f6 -/* 096F24 7F0623F4 C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 096F28 7F0623F8 C7AE00A4 */ lwc1 $f14, 0xa4($sp) -/* 096F2C 7F0623FC 27A40088 */ addiu $a0, $sp, 0x88 -/* 096F30 7F062400 46064003 */ div.s $f0, $f8, $f6 -/* 096F34 7F062404 27A60090 */ addiu $a2, $sp, 0x90 -/* 096F38 7F062408 46007087 */ neg.s $f2, $f14 -/* 096F3C 7F06240C 44051000 */ mfc1 $a1, $f2 -/* 096F40 7F062410 E7A0008C */ swc1 $f0, 0x8c($sp) -/* 096F44 7F062414 0FC1E03C */ jal sub_GAME_7F0780F0 -/* 096F48 7F062418 E7A00088 */ swc1 $f0, 0x88($sp) -/* 096F4C 7F06241C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 096F50 7F062420 C7B00090 */ lwc1 $f16, 0x90($sp) -/* 096F54 7F062424 44812000 */ mtc1 $at, $f4 -/* 096F58 7F062428 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 096F5C 7F06242C 4604803C */ c.lt.s $f16, $f4 -/* 096F60 7F062430 00000000 */ nop -/* 096F64 7F062434 4500000E */ bc1f .L7F062470 -/* 096F68 7F062438 00000000 */ nop -/* 096F6C 7F06243C 44815000 */ mtc1 $at, $f10 -/* 096F70 7F062440 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 096F74 7F062444 C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 096F78 7F062448 460A8002 */ mul.s $f0, $f16, $f10 -/* 096F7C 7F06244C C7AE00A4 */ lwc1 $f14, 0xa4($sp) -/* 096F80 7F062450 46001082 */ mul.s $f2, $f2, $f0 -/* 096F84 7F062454 00000000 */ nop -/* 096F88 7F062458 46006302 */ mul.s $f12, $f12, $f0 -/* 096F8C 7F06245C 00000000 */ nop -/* 096F90 7F062460 46007382 */ mul.s $f14, $f14, $f0 -/* 096F94 7F062464 E7A2009C */ swc1 $f2, 0x9c($sp) -/* 096F98 7F062468 E7AC00A0 */ swc1 $f12, 0xa0($sp) -/* 096F9C 7F06246C E7AE00A4 */ swc1 $f14, 0xa4($sp) -.L7F062470: -/* 096FA0 7F062470 0FC1E111 */ jal sub_GAME_7F078444 -/* 096FA4 7F062474 00000000 */ nop -/* 096FA8 7F062478 00402025 */ move $a0, $v0 -/* 096FAC 7F06247C 0FC1611D */ jal sub_GAME_7F058474 -/* 096FB0 7F062480 27A5009C */ addiu $a1, $sp, 0x9c -/* 096FB4 7F062484 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 096FB8 7F062488 C7A800FC */ lwc1 $f8, 0xfc($sp) -/* 096FBC 7F06248C C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 096FC0 7F062490 C7A60100 */ lwc1 $f6, 0x100($sp) -/* 096FC4 7F062494 46081081 */ sub.s $f2, $f2, $f8 -/* 096FC8 7F062498 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 096FCC 7F06249C 44810000 */ mtc1 $at, $f0 -/* 096FD0 7F0624A0 46066301 */ sub.s $f12, $f12, $f6 -/* 096FD4 7F0624A4 C7AE00A4 */ lwc1 $f14, 0xa4($sp) -/* 096FD8 7F0624A8 C7A40104 */ lwc1 $f4, 0x104($sp) -/* 096FDC 7F0624AC 46001282 */ mul.s $f10, $f2, $f0 -/* 096FE0 7F0624B0 E7AC00A0 */ swc1 $f12, 0xa0($sp) -/* 096FE4 7F0624B4 46047381 */ sub.s $f14, $f14, $f4 -/* 096FE8 7F0624B8 46006202 */ mul.s $f8, $f12, $f0 -/* 096FEC 7F0624BC E7A2009C */ swc1 $f2, 0x9c($sp) -/* 096FF0 7F0624C0 46007182 */ mul.s $f6, $f14, $f0 -/* 096FF4 7F0624C4 E7AA00C4 */ swc1 $f10, 0xc4($sp) -/* 096FF8 7F0624C8 E7AE00A4 */ swc1 $f14, 0xa4($sp) -/* 096FFC 7F0624CC E7A800C8 */ swc1 $f8, 0xc8($sp) -/* 097000 7F0624D0 1000000E */ b .L7F06250C -/* 097004 7F0624D4 E7A600CC */ swc1 $f6, 0xcc($sp) -/* 097008 7F0624D8 3C014120 */ li $at, 0x41200000 # 10.000000 -.L7F0624DC: -/* 09700C 7F0624DC 44812000 */ mtc1 $at, $f4 -/* 097010 7F0624E0 C62A0010 */ lwc1 $f10, 0x10($s1) -/* 097014 7F0624E4 4604A002 */ mul.s $f0, $f20, $f4 -/* 097018 7F0624E8 00000000 */ nop -/* 09701C 7F0624EC 46005202 */ mul.s $f8, $f10, $f0 -/* 097020 7F0624F0 E7A800C4 */ swc1 $f8, 0xc4($sp) -/* 097024 7F0624F4 C6260014 */ lwc1 $f6, 0x14($s1) -/* 097028 7F0624F8 46003102 */ mul.s $f4, $f6, $f0 -/* 09702C 7F0624FC E7A400C8 */ swc1 $f4, 0xc8($sp) -/* 097030 7F062500 C62A0018 */ lwc1 $f10, 0x18($s1) -/* 097034 7F062504 46005202 */ mul.s $f8, $f10, $f0 -/* 097038 7F062508 E7A800CC */ swc1 $f8, 0xcc($sp) -.L7F06250C: -/* 09703C 7F06250C C7A600D0 */ lwc1 $f6, 0xd0($sp) -/* 097040 7F062510 8FA500B0 */ lw $a1, 0xb0($sp) -/* 097044 7F062514 3C018005 */ lui $at, %hi(D_80053EB4) -/* 097048 7F062518 4600310D */ trunc.w.s $f4, $f6 -/* 09704C 7F06251C 44192000 */ mfc1 $t9, $f4 -/* 097050 7F062520 00000000 */ nop -/* 097054 7F062524 A6190000 */ sh $t9, ($s0) -/* 097058 7F062528 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 09705C 7F06252C 4600520D */ trunc.w.s $f8, $f10 -/* 097060 7F062530 440E4000 */ mfc1 $t6, $f8 -/* 097064 7F062534 00000000 */ nop -/* 097068 7F062538 A60E0002 */ sh $t6, 2($s0) -/* 09706C 7F06253C C7A600D8 */ lwc1 $f6, 0xd8($sp) -/* 097070 7F062540 4600310D */ trunc.w.s $f4, $f6 -/* 097074 7F062544 44092000 */ mfc1 $t1, $f4 -/* 097078 7F062548 00000000 */ nop -/* 09707C 7F06254C A6090004 */ sh $t1, 4($s0) -/* 097080 7F062550 90AA0004 */ lbu $t2, 4($a1) -/* 097084 7F062554 A600000A */ sh $zero, 0xa($s0) -/* 097088 7F062558 000A6140 */ sll $t4, $t2, 5 -/* 09708C 7F06255C A60C0008 */ sh $t4, 8($s0) -/* 097090 7F062560 C7AA00D0 */ lwc1 $f10, 0xd0($sp) -/* 097094 7F062564 46005207 */ neg.s $f8, $f10 -/* 097098 7F062568 4600418D */ trunc.w.s $f6, $f8 -/* 09709C 7F06256C 440D3000 */ mfc1 $t5, $f6 -/* 0970A0 7F062570 00000000 */ nop -/* 0970A4 7F062574 A60D0010 */ sh $t5, 0x10($s0) -/* 0970A8 7F062578 C7A400D4 */ lwc1 $f4, 0xd4($sp) -/* 0970AC 7F06257C 46002287 */ neg.s $f10, $f4 -/* 0970B0 7F062580 4600520D */ trunc.w.s $f8, $f10 -/* 0970B4 7F062584 440B4000 */ mfc1 $t3, $f8 -/* 0970B8 7F062588 00000000 */ nop -/* 0970BC 7F06258C A60B0012 */ sh $t3, 0x12($s0) -/* 0970C0 7F062590 C7A600D8 */ lwc1 $f6, 0xd8($sp) -/* 0970C4 7F062594 A6000018 */ sh $zero, 0x18($s0) -/* 0970C8 7F062598 A600001A */ sh $zero, 0x1a($s0) -/* 0970CC 7F06259C 46003107 */ neg.s $f4, $f6 -/* 0970D0 7F0625A0 4600228D */ trunc.w.s $f10, $f4 -/* 0970D4 7F0625A4 44185000 */ mfc1 $t8, $f10 -/* 0970D8 7F0625A8 00000000 */ nop -/* 0970DC 7F0625AC A6180014 */ sh $t8, 0x14($s0) -/* 0970E0 7F0625B0 C7A800D0 */ lwc1 $f8, 0xd0($sp) -/* 0970E4 7F0625B4 C4263EB4 */ lwc1 $f6, %lo(D_80053EB4)($at) -/* 0970E8 7F0625B8 C7AA00C4 */ lwc1 $f10, 0xc4($sp) -/* 0970EC 7F0625BC 3C018005 */ lui $at, %hi(D_80053EB8) -/* 0970F0 7F0625C0 46064102 */ mul.s $f4, $f8, $f6 -/* 0970F4 7F0625C4 460A2200 */ add.s $f8, $f4, $f10 -/* 0970F8 7F0625C8 4600418D */ trunc.w.s $f6, $f8 -/* 0970FC 7F0625CC 440A3000 */ mfc1 $t2, $f6 -/* 097100 7F0625D0 00000000 */ nop -/* 097104 7F0625D4 A60A0020 */ sh $t2, 0x20($s0) -/* 097108 7F0625D8 C7A400D4 */ lwc1 $f4, 0xd4($sp) -/* 09710C 7F0625DC C42A3EB8 */ lwc1 $f10, %lo(D_80053EB8)($at) -/* 097110 7F0625E0 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 097114 7F0625E4 3C018005 */ lui $at, %hi(D_80053EBC) -/* 097118 7F0625E8 460A2202 */ mul.s $f8, $f4, $f10 -/* 09711C 7F0625EC 46064100 */ add.s $f4, $f8, $f6 -/* 097120 7F0625F0 4600228D */ trunc.w.s $f10, $f4 -/* 097124 7F0625F4 440F5000 */ mfc1 $t7, $f10 -/* 097128 7F0625F8 00000000 */ nop -/* 09712C 7F0625FC A60F0022 */ sh $t7, 0x22($s0) -/* 097130 7F062600 C7A800D8 */ lwc1 $f8, 0xd8($sp) -/* 097134 7F062604 C4263EBC */ lwc1 $f6, %lo(D_80053EBC)($at) -/* 097138 7F062608 C7AA00CC */ lwc1 $f10, 0xcc($sp) -/* 09713C 7F06260C 3C018005 */ lui $at, %hi(D_80053EC0) -/* 097140 7F062610 46064102 */ mul.s $f4, $f8, $f6 -/* 097144 7F062614 460A2200 */ add.s $f8, $f4, $f10 -/* 097148 7F062618 4600418D */ trunc.w.s $f6, $f8 -/* 09714C 7F06261C 44193000 */ mfc1 $t9, $f6 -/* 097150 7F062620 00000000 */ nop -/* 097154 7F062624 A6190024 */ sh $t9, 0x24($s0) -/* 097158 7F062628 90AB0004 */ lbu $t3, 4($a1) -/* 09715C 7F06262C 000B7140 */ sll $t6, $t3, 5 -/* 097160 7F062630 A60E0028 */ sh $t6, 0x28($s0) -/* 097164 7F062634 90B80005 */ lbu $t8, 5($a1) -/* 097168 7F062638 00184940 */ sll $t1, $t8, 5 -/* 09716C 7F06263C A609002A */ sh $t1, 0x2a($s0) -/* 097170 7F062640 C42A3EC0 */ lwc1 $f10, %lo(D_80053EC0)($at) -/* 097174 7F062644 C7A400D0 */ lwc1 $f4, 0xd0($sp) -/* 097178 7F062648 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 09717C 7F06264C 3C018005 */ lui $at, %hi(D_80053EC4) -/* 097180 7F062650 460A2202 */ mul.s $f8, $f4, $f10 -/* 097184 7F062654 46083101 */ sub.s $f4, $f6, $f8 -/* 097188 7F062658 4600228D */ trunc.w.s $f10, $f4 -/* 09718C 7F06265C 440C5000 */ mfc1 $t4, $f10 -/* 097190 7F062660 00000000 */ nop -/* 097194 7F062664 A60C0030 */ sh $t4, 0x30($s0) -/* 097198 7F062668 C4283EC4 */ lwc1 $f8, %lo(D_80053EC4)($at) -/* 09719C 7F06266C C7A600D4 */ lwc1 $f6, 0xd4($sp) -/* 0971A0 7F062670 C7AA00C8 */ lwc1 $f10, 0xc8($sp) -/* 0971A4 7F062674 3C018005 */ lui $at, %hi(D_80053EC8) -/* 0971A8 7F062678 46083102 */ mul.s $f4, $f6, $f8 -/* 0971AC 7F06267C 46045181 */ sub.s $f6, $f10, $f4 -/* 0971B0 7F062680 4600320D */ trunc.w.s $f8, $f6 -/* 0971B4 7F062684 440D4000 */ mfc1 $t5, $f8 -/* 0971B8 7F062688 00000000 */ nop -/* 0971BC 7F06268C A60D0032 */ sh $t5, 0x32($s0) -/* 0971C0 7F062690 C4243EC8 */ lwc1 $f4, %lo(D_80053EC8)($at) -/* 0971C4 7F062694 C7AA00D8 */ lwc1 $f10, 0xd8($sp) -/* 0971C8 7F062698 C7A800CC */ lwc1 $f8, 0xcc($sp) -/* 0971CC 7F06269C A6000038 */ sh $zero, 0x38($s0) -/* 0971D0 7F0626A0 46045182 */ mul.s $f6, $f10, $f4 -/* 0971D4 7F0626A4 24010016 */ li $at, 22 -/* 0971D8 7F0626A8 46064281 */ sub.s $f10, $f8, $f6 -/* 0971DC 7F0626AC 4600510D */ trunc.w.s $f4, $f10 -/* 0971E0 7F0626B0 440B2000 */ mfc1 $t3, $f4 -/* 0971E4 7F0626B4 00000000 */ nop -/* 0971E8 7F0626B8 A60B0034 */ sh $t3, 0x34($s0) -/* 0971EC 7F0626BC 90AE0005 */ lbu $t6, 5($a1) -/* 0971F0 7F0626C0 000EC140 */ sll $t8, $t6, 5 -/* 0971F4 7F0626C4 A618003A */ sh $t8, 0x3a($s0) -/* 0971F8 7F0626C8 82290001 */ lb $t1, 1($s1) -/* 0971FC 7F0626CC C7A800FC */ lwc1 $f8, 0xfc($sp) -/* 097200 7F0626D0 8FAA00F8 */ lw $t2, 0xf8($sp) -/* 097204 7F0626D4 552100AD */ bnel $t1, $at, .L7F06298C -/* 097208 7F0626D8 8FAC0160 */ lw $t4, 0x160($sp) -/* 09720C 7F0626DC C54C0000 */ lwc1 $f12, ($t2) -/* 097210 7F0626E0 C5420004 */ lwc1 $f2, 4($t2) -/* 097214 7F0626E4 C7A60100 */ lwc1 $f6, 0x100($sp) -/* 097218 7F0626E8 46086381 */ sub.s $f14, $f12, $f8 -/* 09721C 7F0626EC C5400008 */ lwc1 $f0, 8($t2) -/* 097220 7F0626F0 E7A80038 */ swc1 $f8, 0x38($sp) -/* 097224 7F0626F4 46061401 */ sub.s $f16, $f2, $f6 -/* 097228 7F0626F8 460E7102 */ mul.s $f4, $f14, $f14 -/* 09722C 7F0626FC C7AA0104 */ lwc1 $f10, 0x104($sp) -/* 097230 7F062700 3C018005 */ lui $at, %hi(D_80053ECC) -/* 097234 7F062704 46108202 */ mul.s $f8, $f16, $f16 -/* 097238 7F062708 460A0481 */ sub.s $f18, $f0, $f10 -/* 09723C 7F06270C 46082100 */ add.s $f4, $f4, $f8 -/* 097240 7F062710 46129202 */ mul.s $f8, $f18, $f18 -/* 097244 7F062714 46082100 */ add.s $f4, $f4, $f8 -/* 097248 7F062718 E7A40078 */ swc1 $f4, 0x78($sp) -/* 09724C 7F06271C C6280010 */ lwc1 $f8, 0x10($s1) -/* 097250 7F062720 E7A60034 */ swc1 $f6, 0x34($sp) -/* 097254 7F062724 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 097258 7F062728 46144202 */ mul.s $f8, $f8, $f20 -/* 09725C 7F06272C 46064200 */ add.s $f8, $f8, $f6 -/* 097260 7F062730 C6260014 */ lwc1 $f6, 0x14($s1) -/* 097264 7F062734 46086381 */ sub.s $f14, $f12, $f8 -/* 097268 7F062738 46143202 */ mul.s $f8, $f6, $f20 -/* 09726C 7F06273C C7A60034 */ lwc1 $f6, 0x34($sp) -/* 097270 7F062740 46064200 */ add.s $f8, $f8, $f6 -/* 097274 7F062744 C6260018 */ lwc1 $f6, 0x18($s1) -/* 097278 7F062748 46081401 */ sub.s $f16, $f2, $f8 -/* 09727C 7F06274C 46143202 */ mul.s $f8, $f6, $f20 -/* 097280 7F062750 460A4180 */ add.s $f6, $f8, $f10 -/* 097284 7F062754 460E7202 */ mul.s $f8, $f14, $f14 -/* 097288 7F062758 00000000 */ nop -/* 09728C 7F06275C 46108282 */ mul.s $f10, $f16, $f16 -/* 097290 7F062760 46060481 */ sub.s $f18, $f0, $f6 -/* 097294 7F062764 460A4180 */ add.s $f6, $f8, $f10 -/* 097298 7F062768 46129202 */ mul.s $f8, $f18, $f18 -/* 09729C 7F06276C 46083280 */ add.s $f10, $f6, $f8 -/* 0972A0 7F062770 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 0972A4 7F062774 4604503C */ c.lt.s $f10, $f4 -/* 0972A8 7F062778 00000000 */ nop -/* 0972AC 7F06277C 4500000B */ bc1f .L7F0627AC -/* 0972B0 7F062780 00000000 */ nop -/* 0972B4 7F062784 C4243ECC */ lwc1 $f4, %lo(D_80053ECC)($at) -/* 0972B8 7F062788 E7A600B8 */ swc1 $f6, 0xb8($sp) -/* 0972BC 7F06278C 3C018005 */ lui $at, %hi(D_80053ED0) -/* 0972C0 7F062790 C4263ED0 */ lwc1 $f6, %lo(D_80053ED0)($at) -/* 0972C4 7F062794 C7A800C8 */ lwc1 $f8, 0xc8($sp) -/* 0972C8 7F062798 C7AA00CC */ lwc1 $f10, 0xcc($sp) -/* 0972CC 7F06279C 46062002 */ mul.s $f0, $f4, $f6 -/* 0972D0 7F0627A0 E7A800BC */ swc1 $f8, 0xbc($sp) -/* 0972D4 7F0627A4 E7AA00C0 */ swc1 $f10, 0xc0($sp) -/* 0972D8 7F0627A8 E7A000B4 */ swc1 $f0, 0xb4($sp) -.L7F0627AC: -/* 0972DC 7F0627AC C7A000B4 */ lwc1 $f0, 0xb4($sp) -/* 0972E0 7F0627B0 C7A800DC */ lwc1 $f8, 0xdc($sp) -/* 0972E4 7F0627B4 C7A400B8 */ lwc1 $f4, 0xb8($sp) -/* 0972E8 7F0627B8 3C088009 */ lui $t0, %hi(flareimage5) -/* 0972EC 7F0627BC 46004282 */ mul.s $f10, $f8, $f0 -/* 0972F0 7F0627C0 2508D0D8 */ addiu $t0, %lo(flareimage5) # addiu $t0, $t0, -0x2f28 -/* 0972F4 7F0627C4 46045180 */ add.s $f6, $f10, $f4 -/* 0972F8 7F0627C8 4600320D */ trunc.w.s $f8, $f6 -/* 0972FC 7F0627CC 440F4000 */ mfc1 $t7, $f8 -/* 097300 7F0627D0 00000000 */ nop -/* 097304 7F0627D4 A60F0040 */ sh $t7, 0x40($s0) -/* 097308 7F0627D8 C7AA00E0 */ lwc1 $f10, 0xe0($sp) -/* 09730C 7F0627DC C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 097310 7F0627E0 46005102 */ mul.s $f4, $f10, $f0 -/* 097314 7F0627E4 46062200 */ add.s $f8, $f4, $f6 -/* 097318 7F0627E8 4600428D */ trunc.w.s $f10, $f8 -/* 09731C 7F0627EC 44195000 */ mfc1 $t9, $f10 -/* 097320 7F0627F0 00000000 */ nop -/* 097324 7F0627F4 A6190042 */ sh $t9, 0x42($s0) -/* 097328 7F0627F8 C7A400E4 */ lwc1 $f4, 0xe4($sp) -/* 09732C 7F0627FC C7A800C0 */ lwc1 $f8, 0xc0($sp) -/* 097330 7F062800 46002182 */ mul.s $f6, $f4, $f0 -/* 097334 7F062804 46083280 */ add.s $f10, $f6, $f8 -/* 097338 7F062808 4600510D */ trunc.w.s $f4, $f10 -/* 09733C 7F06280C 440E2000 */ mfc1 $t6, $f4 -/* 097340 7F062810 00000000 */ nop -/* 097344 7F062814 A60E0044 */ sh $t6, 0x44($s0) -/* 097348 7F062818 8D180000 */ lw $t8, ($t0) -/* 09734C 7F06281C 93090004 */ lbu $t1, 4($t8) -/* 097350 7F062820 00095140 */ sll $t2, $t1, 5 -/* 097354 7F062824 A60A0048 */ sh $t2, 0x48($s0) -/* 097358 7F062828 8D0C0000 */ lw $t4, ($t0) -/* 09735C 7F06282C 918F0005 */ lbu $t7, 5($t4) -/* 097360 7F062830 000F6940 */ sll $t5, $t7, 5 -/* 097364 7F062834 A60D004A */ sh $t5, 0x4a($s0) -/* 097368 7F062838 C7A800DC */ lwc1 $f8, 0xdc($sp) -/* 09736C 7F06283C C7A600B8 */ lwc1 $f6, 0xb8($sp) -/* 097370 7F062840 46004282 */ mul.s $f10, $f8, $f0 -/* 097374 7F062844 460A3101 */ sub.s $f4, $f6, $f10 -/* 097378 7F062848 4600220D */ trunc.w.s $f8, $f4 -/* 09737C 7F06284C 440B4000 */ mfc1 $t3, $f8 -/* 097380 7F062850 00000000 */ nop -/* 097384 7F062854 A60B0050 */ sh $t3, 0x50($s0) -/* 097388 7F062858 C7AA00E0 */ lwc1 $f10, 0xe0($sp) -/* 09738C 7F06285C C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 097390 7F062860 46005102 */ mul.s $f4, $f10, $f0 -/* 097394 7F062864 46043201 */ sub.s $f8, $f6, $f4 -/* 097398 7F062868 4600428D */ trunc.w.s $f10, $f8 -/* 09739C 7F06286C 44185000 */ mfc1 $t8, $f10 -/* 0973A0 7F062870 00000000 */ nop -/* 0973A4 7F062874 A6180052 */ sh $t8, 0x52($s0) -/* 0973A8 7F062878 C7A400E4 */ lwc1 $f4, 0xe4($sp) -/* 0973AC 7F06287C C7A600C0 */ lwc1 $f6, 0xc0($sp) -/* 0973B0 7F062880 A6000058 */ sh $zero, 0x58($s0) -/* 0973B4 7F062884 46002202 */ mul.s $f8, $f4, $f0 -/* 0973B8 7F062888 A600005A */ sh $zero, 0x5a($s0) -/* 0973BC 7F06288C 46083281 */ sub.s $f10, $f6, $f8 -/* 0973C0 7F062890 4600510D */ trunc.w.s $f4, $f10 -/* 0973C4 7F062894 440A2000 */ mfc1 $t2, $f4 -/* 0973C8 7F062898 00000000 */ nop -/* 0973CC 7F06289C A60A0054 */ sh $t2, 0x54($s0) -/* 0973D0 7F0628A0 C7A600D0 */ lwc1 $f6, 0xd0($sp) -/* 0973D4 7F0628A4 C7AA00B8 */ lwc1 $f10, 0xb8($sp) -/* 0973D8 7F0628A8 46003202 */ mul.s $f8, $f6, $f0 -/* 0973DC 7F0628AC 460A4100 */ add.s $f4, $f8, $f10 -/* 0973E0 7F0628B0 4600218D */ trunc.w.s $f6, $f4 -/* 0973E4 7F0628B4 440F3000 */ mfc1 $t7, $f6 -/* 0973E8 7F0628B8 00000000 */ nop -/* 0973EC 7F0628BC A60F0060 */ sh $t7, 0x60($s0) -/* 0973F0 7F0628C0 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 0973F4 7F0628C4 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 0973F8 7F0628C8 46004282 */ mul.s $f10, $f8, $f0 -/* 0973FC 7F0628CC 46045180 */ add.s $f6, $f10, $f4 -/* 097400 7F0628D0 4600320D */ trunc.w.s $f8, $f6 -/* 097404 7F0628D4 44194000 */ mfc1 $t9, $f8 -/* 097408 7F0628D8 00000000 */ nop -/* 09740C 7F0628DC A6190062 */ sh $t9, 0x62($s0) -/* 097410 7F0628E0 C7AA00D8 */ lwc1 $f10, 0xd8($sp) -/* 097414 7F0628E4 C7A600C0 */ lwc1 $f6, 0xc0($sp) -/* 097418 7F0628E8 A6000068 */ sh $zero, 0x68($s0) -/* 09741C 7F0628EC 46005102 */ mul.s $f4, $f10, $f0 -/* 097420 7F0628F0 46062200 */ add.s $f8, $f4, $f6 -/* 097424 7F0628F4 4600428D */ trunc.w.s $f10, $f8 -/* 097428 7F0628F8 440E5000 */ mfc1 $t6, $f10 -/* 09742C 7F0628FC 00000000 */ nop -/* 097430 7F062900 A60E0064 */ sh $t6, 0x64($s0) -/* 097434 7F062904 8D180000 */ lw $t8, ($t0) -/* 097438 7F062908 93090005 */ lbu $t1, 5($t8) -/* 09743C 7F06290C 00095140 */ sll $t2, $t1, 5 -/* 097440 7F062910 A60A006A */ sh $t2, 0x6a($s0) -/* 097444 7F062914 C7A600D0 */ lwc1 $f6, 0xd0($sp) -/* 097448 7F062918 C7A400B8 */ lwc1 $f4, 0xb8($sp) -/* 09744C 7F06291C 46003202 */ mul.s $f8, $f6, $f0 -/* 097450 7F062920 46082281 */ sub.s $f10, $f4, $f8 -/* 097454 7F062924 4600518D */ trunc.w.s $f6, $f10 -/* 097458 7F062928 440F3000 */ mfc1 $t7, $f6 -/* 09745C 7F06292C 00000000 */ nop -/* 097460 7F062930 A60F0070 */ sh $t7, 0x70($s0) -/* 097464 7F062934 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 097468 7F062938 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 09746C 7F06293C 46004282 */ mul.s $f10, $f8, $f0 -/* 097470 7F062940 460A2181 */ sub.s $f6, $f4, $f10 -/* 097474 7F062944 4600320D */ trunc.w.s $f8, $f6 -/* 097478 7F062948 44194000 */ mfc1 $t9, $f8 -/* 09747C 7F06294C 00000000 */ nop -/* 097480 7F062950 A6190072 */ sh $t9, 0x72($s0) -/* 097484 7F062954 C7AA00D8 */ lwc1 $f10, 0xd8($sp) -/* 097488 7F062958 C7A400C0 */ lwc1 $f4, 0xc0($sp) -/* 09748C 7F06295C 46005182 */ mul.s $f6, $f10, $f0 -/* 097490 7F062960 46062201 */ sub.s $f8, $f4, $f6 -/* 097494 7F062964 4600428D */ trunc.w.s $f10, $f8 -/* 097498 7F062968 440E5000 */ mfc1 $t6, $f10 -/* 09749C 7F06296C 00000000 */ nop -/* 0974A0 7F062970 A60E0074 */ sh $t6, 0x74($s0) -/* 0974A4 7F062974 8D180000 */ lw $t8, ($t0) -/* 0974A8 7F062978 93090004 */ lbu $t1, 4($t8) -/* 0974AC 7F06297C A600007A */ sh $zero, 0x7a($s0) -/* 0974B0 7F062980 00095140 */ sll $t2, $t1, 5 -/* 0974B4 7F062984 A60A0078 */ sh $t2, 0x78($s0) -/* 0974B8 7F062988 8FAC0160 */ lw $t4, 0x160($sp) -.L7F06298C: -/* 0974BC 7F06298C 3C0DB600 */ lui $t5, 0xb600 -/* 0974C0 7F062990 24192000 */ li $t9, 8192 -/* 0974C4 7F062994 258F0008 */ addiu $t7, $t4, 8 -/* 0974C8 7F062998 AFAF0160 */ sw $t7, 0x160($sp) -/* 0974CC 7F06299C AD990004 */ sw $t9, 4($t4) -/* 0974D0 7F0629A0 AD8D0000 */ sw $t5, ($t4) -/* 0974D4 7F0629A4 8FAB0160 */ lw $t3, 0x160($sp) -/* 0974D8 7F0629A8 3C180102 */ lui $t8, (0x01020040 >> 16) # lui $t8, 0x102 -/* 0974DC 7F0629AC 37180040 */ ori $t8, (0x01020040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0974E0 7F0629B0 256E0008 */ addiu $t6, $t3, 8 -/* 0974E4 7F0629B4 AFAE0160 */ sw $t6, 0x160($sp) -/* 0974E8 7F0629B8 AD780000 */ sw $t8, ($t3) -/* 0974EC 7F0629BC 8FA40158 */ lw $a0, 0x158($sp) -/* 0974F0 7F0629C0 0C003A2C */ jal osVirtualToPhysical -/* 0974F4 7F0629C4 AFAB006C */ sw $t3, 0x6c($sp) -/* 0974F8 7F0629C8 8FA3006C */ lw $v1, 0x6c($sp) -/* 0974FC 7F0629CC 3C088009 */ lui $t0, %hi(flareimage5) -/* 097500 7F0629D0 24010016 */ li $at, 22 -/* 097504 7F0629D4 AC620004 */ sw $v0, 4($v1) -/* 097508 7F0629D8 82290001 */ lb $t1, 1($s1) -/* 09750C 7F0629DC 2508D0D8 */ addiu $t0, %lo(flareimage5) # addiu $t0, $t0, -0x2f28 -/* 097510 7F0629E0 8FA500B0 */ lw $a1, 0xb0($sp) -/* 097514 7F0629E4 15210029 */ bne $t1, $at, .L7F062A8C -/* 097518 7F0629E8 27A40160 */ addiu $a0, $sp, 0x160 -/* 09751C 7F0629EC 240A0002 */ li $t2, 2 -/* 097520 7F0629F0 AFAA0010 */ sw $t2, 0x10($sp) -/* 097524 7F0629F4 27A40160 */ addiu $a0, $sp, 0x160 -/* 097528 7F0629F8 8D050000 */ lw $a1, ($t0) -/* 09752C 7F0629FC 24060004 */ li $a2, 4 -/* 097530 7F062A00 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 097534 7F062A04 8FA70168 */ lw $a3, 0x168($sp) -/* 097538 7F062A08 8FB10160 */ lw $s1, 0x160($sp) -/* 09753C 7F062A0C 3C0D0470 */ lui $t5, (0x04700080 >> 16) # lui $t5, 0x470 -/* 097540 7F062A10 35AD0080 */ ori $t5, (0x04700080 & 0xFFFF) # ori $t5, $t5, 0x80 -/* 097544 7F062A14 262F0008 */ addiu $t7, $s1, 8 -/* 097548 7F062A18 AFAF0160 */ sw $t7, 0x160($sp) -/* 09754C 7F062A1C 02002025 */ move $a0, $s0 -/* 097550 7F062A20 0C003A2C */ jal osVirtualToPhysical -/* 097554 7F062A24 AE2D0000 */ sw $t5, ($s1) -/* 097558 7F062A28 AE220004 */ sw $v0, 4($s1) -/* 09755C 7F062A2C 8FB90160 */ lw $t9, 0x160($sp) -/* 097560 7F062A30 3C0EB100 */ lui $t6, (0xB1000076 >> 16) # lui $t6, 0xb100 # gSP4Triangles(8,8,6,5,1,7,2,0,0,0,0,0 -/* 097564 7F062A34 35CE0076 */ ori $t6, (0xB1000076 & 0xFFFF) # ori $t6, $t6, 0x76 -/* 097568 7F062A38 272B0008 */ addiu $t3, $t9, 8 -/* 09756C 7F062A3C AFAB0160 */ sw $t3, 0x160($sp) -/* 097570 7F062A40 24185454 */ li $t8, 21588 -/* 097574 7F062A44 AF380004 */ sw $t8, 4($t9) # ), -/* 097578 7F062A48 AF2E0000 */ sw $t6, ($t9) -/* 09757C 7F062A4C 24090002 */ li $t1, 2 -/* 097580 7F062A50 AFA90010 */ sw $t1, 0x10($sp) -/* 097584 7F062A54 8FA70168 */ lw $a3, 0x168($sp) -/* 097588 7F062A58 8FA500B0 */ lw $a1, 0xb0($sp) -/* 09758C 7F062A5C 27A40160 */ addiu $a0, $sp, 0x160 -/* 097590 7F062A60 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 097594 7F062A64 24060004 */ li $a2, 4 -/* 097598 7F062A68 8FAA0160 */ lw $t2, 0x160($sp) -/* 09759C 7F062A6C 3C0FB100 */ lui $t7, (0xB1000013 >> 16) # lui $t7, 0xb100 # gSP4Triangles(0,2,3,3,2,1,1,0,0,0,0 -/* 0975A0 7F062A70 35EF0013 */ ori $t7, (0xB1000013 & 0xFFFF) # ori $t7, $t7, 0x13 -/* 0975A4 7F062A74 254C0008 */ addiu $t4, $t2, 8 -/* 0975A8 7F062A78 AFAC0160 */ sw $t4, 0x160($sp) -/* 0975AC 7F062A7C 240D3020 */ li $t5, 12320 -/* 0975B0 7F062A80 AD4D0004 */ sw $t5, 4($t2) -/* 0975B4 7F062A84 10000017 */ b .L7F062AE4 -/* 0975B8 7F062A88 AD4F0000 */ sw $t7, ($t2) # ), -.L7F062A8C: -/* 0975BC 7F062A8C 24190002 */ li $t9, 2 -/* 0975C0 7F062A90 AFB90010 */ sw $t9, 0x10($sp) -/* 0975C4 7F062A94 24060004 */ li $a2, 4 -/* 0975C8 7F062A98 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0975CC 7F062A9C 8FA70168 */ lw $a3, 0x168($sp) -/* 0975D0 7F062AA0 8FB10160 */ lw $s1, 0x160($sp) -/* 0975D4 7F062AA4 3C180430 */ lui $t8, (0x04300040 >> 16) # lui $t8, 0x430 -/* 0975D8 7F062AA8 37180040 */ ori $t8, (0x04300040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0975DC 7F062AAC 262E0008 */ addiu $t6, $s1, 8 -/* 0975E0 7F062AB0 AFAE0160 */ sw $t6, 0x160($sp) -/* 0975E4 7F062AB4 02002025 */ move $a0, $s0 -/* 0975E8 7F062AB8 0C003A2C */ jal osVirtualToPhysical -/* 0975EC 7F062ABC AE380000 */ sw $t8, ($s1) -/* 0975F0 7F062AC0 AE220004 */ sw $v0, 4($s1) -/* 0975F4 7F062AC4 8FA90160 */ lw $t1, 0x160($sp) -/* 0975F8 7F062AC8 3C0CB100 */ lui $t4, (0xB1000013 >> 16) # lui $t4, 0xb100 -/* 0975FC 7F062ACC 358C0013 */ ori $t4, (0xB1000013 & 0xFFFF) # ori $t4, $t4, 0x13 -/* 097600 7F062AD0 252A0008 */ addiu $t2, $t1, 8 -/* 097604 7F062AD4 AFAA0160 */ sw $t2, 0x160($sp) -/* 097608 7F062AD8 240F3020 */ li $t7, 12320 -/* 09760C 7F062ADC AD2F0004 */ sw $t7, 4($t1) -/* 097610 7F062AE0 AD2C0000 */ sw $t4, ($t1) -.L7F062AE4: -/* 097614 7F062AE4 8FBF002C */ lw $ra, 0x2c($sp) -/* 097618 7F062AE8 8FA20160 */ lw $v0, 0x160($sp) -/* 09761C 7F062AEC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 097620 7F062AF0 8FB00024 */ lw $s0, 0x24($sp) -/* 097624 7F062AF4 8FB10028 */ lw $s1, 0x28($sp) -/* 097628 7F062AF8 03E00008 */ jr $ra -/* 09762C 7F062AFC 27BD0160 */ addiu $sp, $sp, 0x160 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F062B00(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F062B00 -/* 097630 7F062B00 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 097634 7F062B04 AFBF0014 */ sw $ra, 0x14($sp) -/* 097638 7F062B08 808E0000 */ lb $t6, ($a0) -/* 09763C 7F062B0C 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 097640 7F062B10 05C20031 */ bltzl $t6, .L7F062BD8 -/* 097644 7F062B14 8FBF0014 */ lw $ra, 0x14($sp) -/* 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(global_timer_delta) -/* 097658 7F062B28 C4268378 */ lwc1 $f6, %lo(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 -/* 097668 7F062B38 46085400 */ add.s $f16, $f10, $f8 -/* 09766C 7F062B3C 10000019 */ b .L7F062BA4 -/* 097670 7F062B40 E4900028 */ swc1 $f16, 0x28($a0) -.L7F062B44: -/* 097674 7F062B44 0C002914 */ jal get_random_value -/* 097678 7F062B48 AFA40018 */ sw $a0, 0x18($sp) -/* 09767C 7F062B4C 44829000 */ mtc1 $v0, $f18 -/* 097680 7F062B50 8FA40018 */ lw $a0, 0x18($sp) -/* 097684 7F062B54 04410005 */ bgez $v0, .L7F062B6C -/* 097688 7F062B58 46809120 */ cvt.s.w $f4, $f18 -/* 09768C 7F062B5C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 097690 7F062B60 44813000 */ mtc1 $at, $f6 -/* 097694 7F062B64 00000000 */ nop -/* 097698 7F062B68 46062100 */ add.s $f4, $f4, $f6 -.L7F062B6C: -/* 09769C 7F062B6C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0976A0 7F062B70 44815000 */ mtc1 $at, $f10 -/* 0976A4 7F062B74 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0976A8 7F062B78 44818000 */ mtc1 $at, $f16 -/* 0976AC 7F062B7C 460A2202 */ mul.s $f8, $f4, $f10 -/* 0976B0 7F062B80 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0976B4 7F062B84 44813000 */ mtc1 $at, $f6 -/* 0976B8 7F062B88 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0976BC 7F062B8C 46104482 */ mul.s $f18, $f8, $f16 -/* 0976C0 7F062B90 C4900028 */ lwc1 $f16, 0x28($a0) -/* 0976C4 7F062B94 46123100 */ add.s $f4, $f6, $f18 -/* 0976C8 7F062B98 46045202 */ mul.s $f8, $f10, $f4 -/* 0976CC 7F062B9C 46088180 */ add.s $f6, $f16, $f8 -/* 0976D0 7F062BA0 E4860028 */ swc1 $f6, 0x28($a0) -.L7F062BA4: -/* 0976D4 7F062BA4 C4920028 */ lwc1 $f18, 0x28($a0) -/* 0976D8 7F062BA8 C48A001C */ lwc1 $f10, 0x1c($a0) -/* 0976DC 7F062BAC 2418FFFF */ li $t8, -1 -/* 0976E0 7F062BB0 4612503E */ c.le.s $f10, $f18 -/* 0976E4 7F062BB4 00000000 */ nop -/* 0976E8 7F062BB8 45020004 */ bc1fl .L7F062BCC -/* 0976EC 7F062BBC 80990000 */ lb $t9, ($a0) -/* 0976F0 7F062BC0 10000004 */ b .L7F062BD4 -/* 0976F4 7F062BC4 A0980000 */ sb $t8, ($a0) -/* 0976F8 7F062BC8 80990000 */ lb $t9, ($a0) -.L7F062BCC: -/* 0976FC 7F062BCC 27280001 */ addiu $t0, $t9, 1 -/* 097700 7F062BD0 A0880000 */ sb $t0, ($a0) -.L7F062BD4: -/* 097704 7F062BD4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F062BD8: -/* 097708 7F062BD8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09770C 7F062BDC 03E00008 */ jr $ra -/* 097710 7F062BE0 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F062B00 -/* 097630 7F062B00 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 097634 7F062B04 AFBF0014 */ sw $ra, 0x14($sp) -/* 097638 7F062B08 808E0000 */ lb $t6, ($a0) -/* 09763C 7F062B0C 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 097640 7F062B10 05C20031 */ bltzl $t6, .L7F062BD8 -/* 097644 7F062B14 8FBF0014 */ lw $ra, 0x14($sp) -/* 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(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 -/* 097668 7F062B38 46085400 */ add.s $f16, $f10, $f8 -/* 09766C 7F062B3C 10000019 */ b .L7F062BA4 -/* 097670 7F062B40 E4900028 */ swc1 $f16, 0x28($a0) -.L7F062B44: -/* 097674 7F062B44 0C002914 */ jal get_random_value -/* 097678 7F062B48 AFA40018 */ sw $a0, 0x18($sp) -/* 09767C 7F062B4C 44829000 */ mtc1 $v0, $f18 -/* 097680 7F062B50 8FA40018 */ lw $a0, 0x18($sp) -/* 097684 7F062B54 04410005 */ bgez $v0, .L7F062B6C -/* 097688 7F062B58 46809120 */ cvt.s.w $f4, $f18 -/* 09768C 7F062B5C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 097690 7F062B60 44813000 */ mtc1 $at, $f6 -/* 097694 7F062B64 00000000 */ nop -/* 097698 7F062B68 46062100 */ add.s $f4, $f4, $f6 -.L7F062B6C: -/* 09769C 7F062B6C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0976A0 7F062B70 44815000 */ mtc1 $at, $f10 -/* 0976A4 7F062B74 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0976A8 7F062B78 44818000 */ mtc1 $at, $f16 -/* 0976AC 7F062B7C 460A2202 */ mul.s $f8, $f4, $f10 -/* 0976B0 7F062B80 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0976B4 7F062B84 44813000 */ mtc1 $at, $f6 -/* 0976B8 7F062B88 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0976BC 7F062B8C 46104482 */ mul.s $f18, $f8, $f16 -/* 0976C0 7F062B90 C4900028 */ lwc1 $f16, 0x28($a0) -/* 0976C4 7F062B94 46123100 */ add.s $f4, $f6, $f18 -/* 0976C8 7F062B98 46045202 */ mul.s $f8, $f10, $f4 -/* 0976CC 7F062B9C 46088180 */ add.s $f6, $f16, $f8 -/* 0976D0 7F062BA0 E4860028 */ swc1 $f6, 0x28($a0) -.L7F062BA4: -/* 0976D4 7F062BA4 C4920028 */ lwc1 $f18, 0x28($a0) -/* 0976D8 7F062BA8 C48A001C */ lwc1 $f10, 0x1c($a0) -/* 0976DC 7F062BAC 2418FFFF */ li $t8, -1 -/* 0976E0 7F062BB0 4612503E */ c.le.s $f10, $f18 -/* 0976E4 7F062BB4 00000000 */ nop -/* 0976E8 7F062BB8 45020004 */ bc1fl .L7F062BCC -/* 0976EC 7F062BBC 80990000 */ lb $t9, ($a0) -/* 0976F0 7F062BC0 10000004 */ b .L7F062BD4 -/* 0976F4 7F062BC4 A0980000 */ sb $t8, ($a0) -/* 0976F8 7F062BC8 80990000 */ lb $t9, ($a0) -.L7F062BCC: -/* 0976FC 7F062BCC 27280001 */ addiu $t0, $t9, 1 -/* 097700 7F062BD0 A0880000 */ sb $t0, ($a0) -.L7F062BD4: -/* 097704 7F062BD4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F062BD8: -/* 097708 7F062BD8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09770C 7F062BDC 03E00008 */ jr $ra -/* 097710 7F062BE0 00000000 */ nop -) -#endif -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F062BE4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F062BE4 -/* 097714 7F062BE4 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 097718 7F062BE8 AFB7003C */ sw $s7, 0x3c($sp) -/* 09771C 7F062BEC 3C0F8003 */ lui $t7, %hi(D_80035CC0) -/* 097720 7F062BF0 27B7008C */ addiu $s7, $sp, 0x8c -/* 097724 7F062BF4 AFBF0044 */ sw $ra, 0x44($sp) -/* 097728 7F062BF8 AFBE0040 */ sw $fp, 0x40($sp) -/* 09772C 7F062BFC AFB60038 */ sw $s6, 0x38($sp) -/* 097730 7F062C00 AFB50034 */ sw $s5, 0x34($sp) -/* 097734 7F062C04 AFB40030 */ sw $s4, 0x30($sp) -/* 097738 7F062C08 AFB3002C */ sw $s3, 0x2c($sp) -/* 09773C 7F062C0C AFB20028 */ sw $s2, 0x28($sp) -/* 097740 7F062C10 AFB10024 */ sw $s1, 0x24($sp) -/* 097744 7F062C14 AFB00020 */ sw $s0, 0x20($sp) -/* 097748 7F062C18 AFA400D0 */ sw $a0, 0xd0($sp) -/* 09774C 7F062C1C 25EF5CC0 */ addiu $t7, %lo(D_80035CC0) # addiu $t7, $t7, 0x5cc0 -/* 097750 7F062C20 8C900000 */ lw $s0, ($a0) -/* 097754 7F062C24 25E8003C */ addiu $t0, $t7, 0x3c -/* 097758 7F062C28 02E04825 */ move $t1, $s7 -.L7F062C2C: -/* 09775C 7F062C2C 8DE10000 */ lw $at, ($t7) -/* 097760 7F062C30 25EF000C */ addiu $t7, $t7, 0xc -/* 097764 7F062C34 2529000C */ addiu $t1, $t1, 0xc -/* 097768 7F062C38 AD21FFF4 */ sw $at, -0xc($t1) -/* 09776C 7F062C3C 8DE1FFF8 */ lw $at, -8($t7) -/* 097770 7F062C40 AD21FFF8 */ sw $at, -8($t1) -/* 097774 7F062C44 8DE1FFFC */ lw $at, -4($t7) -/* 097778 7F062C48 15E8FFF8 */ bne $t7, $t0, .L7F062C2C -/* 09777C 7F062C4C AD21FFFC */ sw $at, -4($t1) -/* 097780 7F062C50 8DE10000 */ lw $at, ($t7) -/* 097784 7F062C54 3C1E8008 */ lui $fp, %hi(pPlayer) -/* 097788 7F062C58 27DEA0B0 */ addiu $fp, %lo(pPlayer) # addiu $fp, $fp, -0x5f50 -/* 09778C 7F062C5C 0000A825 */ move $s5, $zero -/* 097790 7F062C60 0000B025 */ move $s6, $zero -/* 097794 7F062C64 AD210000 */ sw $at, ($t1) -.L7F062C68: -/* 097798 7F062C68 8FCA0000 */ lw $t2, ($fp) -/* 09779C 7F062C6C 02A02025 */ move $a0, $s5 -/* 0977A0 7F062C70 01569821 */ addu $s3, $t2, $s6 -/* 0977A4 7F062C74 0FC17691 */ jal return_ammo_in_hand -/* 0977A8 7F062C78 26730870 */ addiu $s3, $s3, 0x870 -/* 0977AC 7F062C7C 826B000F */ lb $t3, 0xf($s3) -/* 0977B0 7F062C80 0040A025 */ move $s4, $v0 -/* 0977B4 7F062C84 24010017 */ li $at, 23 -/* 0977B8 7F062C88 516000CD */ beql $t3, $zero, .L7F062FC0 -/* 0977BC 7F062C8C 26B50001 */ addiu $s5, $s5, 1 -/* 0977C0 7F062C90 10410005 */ beq $v0, $at, .L7F062CA8 -/* 0977C4 7F062C94 02002025 */ move $a0, $s0 -/* 0977C8 7F062C98 266501E4 */ addiu $a1, $s3, 0x1e4 -/* 0977CC 7F062C9C 0FC18786 */ jal sub_GAME_7F061E18 -/* 0977D0 7F062CA0 00003025 */ move $a2, $zero -/* 0977D4 7F062CA4 00408025 */ move $s0, $v0 -.L7F062CA8: -/* 0977D8 7F062CA8 24010013 */ li $at, 19 -/* 0977DC 7F062CAC 1281000C */ beq $s4, $at, .L7F062CE0 -/* 0977E0 7F062CB0 02001025 */ move $v0, $s0 -/* 0977E4 7F062CB4 24010012 */ li $at, 18 -/* 0977E8 7F062CB8 12810009 */ beq $s4, $at, .L7F062CE0 -/* 0977EC 7F062CBC 24010002 */ li $at, 2 -/* 0977F0 7F062CC0 12810007 */ beq $s4, $at, .L7F062CE0 -/* 0977F4 7F062CC4 24010003 */ li $at, 3 -/* 0977F8 7F062CC8 12810005 */ beq $s4, $at, .L7F062CE0 -/* 0977FC 7F062CCC 24010014 */ li $at, 20 -/* 097800 7F062CD0 12810003 */ beq $s4, $at, .L7F062CE0 -/* 097804 7F062CD4 24010015 */ li $at, 21 -/* 097808 7F062CD8 56810028 */ bnel $s4, $at, .L7F062D7C -/* 09780C 7F062CDC 3C0BBC00 */ lui $t3, 0xbc00 -.L7F062CE0: -/* 097810 7F062CE0 26100008 */ addiu $s0, $s0, 8 -/* 097814 7F062CE4 3C0CBC00 */ lui $t4, (0xBC000002 >> 16) # lui $t4, 0xbc00 -/* 097818 7F062CE8 3C0D8000 */ lui $t5, (0x80000040 >> 16) # lui $t5, 0x8000 -/* 09781C 7F062CEC 35AD0040 */ ori $t5, (0x80000040 & 0xFFFF) # ori $t5, $t5, 0x40 -/* 097820 7F062CF0 358C0002 */ ori $t4, (0xBC000002 & 0xFFFF) # ori $t4, $t4, 2 -/* 097824 7F062CF4 02001825 */ move $v1, $s0 -/* 097828 7F062CF8 26100008 */ addiu $s0, $s0, 8 -/* 09782C 7F062CFC AC4C0000 */ sw $t4, ($v0) -/* 097830 7F062D00 AC4D0004 */ sw $t5, 4($v0) -/* 097834 7F062D04 3C0E0386 */ lui $t6, (0x03860010 >> 16) # lui $t6, 0x386 -/* 097838 7F062D08 3C198003 */ lui $t9, %hi(D_80032448) -/* 09783C 7F062D0C 27392448 */ addiu $t9, %lo(D_80032448) # addiu $t9, $t9, 0x2448 -/* 097840 7F062D10 35CE0010 */ ori $t6, (0x03860010 & 0xFFFF) # ori $t6, $t6, 0x10 -/* 097844 7F062D14 02002025 */ move $a0, $s0 -/* 097848 7F062D18 AC6E0000 */ sw $t6, ($v1) -/* 09784C 7F062D1C AC790004 */ sw $t9, 4($v1) -/* 097850 7F062D20 3C180388 */ lui $t8, (0x03880010 >> 16) # lui $t8, 0x388 -/* 097854 7F062D24 3C088003 */ lui $t0, %hi(D_80032440) -/* 097858 7F062D28 25082440 */ addiu $t0, %lo(D_80032440) # addiu $t0, $t0, 0x2440 -/* 09785C 7F062D2C 37180010 */ ori $t8, (0x03880010 & 0xFFFF) # ori $t8, $t8, 0x10 -/* 097860 7F062D30 26100008 */ addiu $s0, $s0, 8 -/* 097864 7F062D34 3C0F0384 */ lui $t7, (0x03840010 >> 16) # lui $t7, 0x384 -/* 097868 7F062D38 AC980000 */ sw $t8, ($a0) -/* 09786C 7F062D3C AC880004 */ sw $t0, 4($a0) -/* 097870 7F062D40 35EF0010 */ ori $t7, (0x03840010 & 0xFFFF) # ori $t7, $t7, 0x10 -/* 097874 7F062D44 02008825 */ move $s1, $s0 -/* 097878 7F062D48 AE2F0000 */ sw $t7, ($s1) -/* 09787C 7F062D4C 0FC1E11D */ jal sub_GAME_7F078474 -/* 097880 7F062D50 26100008 */ addiu $s0, $s0, 8 -/* 097884 7F062D54 3C090382 */ lui $t1, (0x03820010 >> 16) # lui $t1, 0x382 -/* 097888 7F062D58 35290010 */ ori $t1, (0x03820010 & 0xFFFF) # ori $t1, $t1, 0x10 -/* 09788C 7F062D5C AE220004 */ sw $v0, 4($s1) -/* 097890 7F062D60 02009025 */ move $s2, $s0 -/* 097894 7F062D64 AE490000 */ sw $t1, ($s2) -/* 097898 7F062D68 0FC1E11D */ jal sub_GAME_7F078474 -/* 09789C 7F062D6C 26100008 */ addiu $s0, $s0, 8 -/* 0978A0 7F062D70 244A0010 */ addiu $t2, $v0, 0x10 -/* 0978A4 7F062D74 AE4A0004 */ sw $t2, 4($s2) -/* 0978A8 7F062D78 3C0BBC00 */ lui $t3, (0xBC00000E >> 16) # lui $t3, 0xbc00 -.L7F062D7C: -/* 0978AC 7F062D7C 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0978B0 7F062D80 44817000 */ mtc1 $at, $f14 -/* 0978B4 7F062D84 356B000E */ ori $t3, (0xBC00000E & 0xFFFF) # ori $t3, $t3, 0xe -/* 0978B8 7F062D88 02008825 */ move $s1, $s0 -/* 0978BC 7F062D8C 44806000 */ mtc1 $zero, $f12 -/* 0978C0 7F062D90 AE2B0000 */ sw $t3, ($s1) -/* 0978C4 7F062D94 0FC1665F */ jal sub_GAME_7F05997C -/* 0978C8 7F062D98 26100008 */ addiu $s0, $s0, 8 -/* 0978CC 7F062D9C AE220004 */ sw $v0, 4($s1) -/* 0978D0 7F062DA0 8E630300 */ lw $v1, 0x300($s3) -/* 0978D4 7F062DA4 846C000C */ lh $t4, 0xc($v1) -/* 0978D8 7F062DA8 29810011 */ slti $at, $t4, 0x11 -/* 0978DC 7F062DAC 5420002D */ bnezl $at, .L7F062E64 -/* 0978E0 7F062DB0 8FC20000 */ lw $v0, ($fp) -/* 0978E4 7F062DB4 8C620008 */ lw $v0, 8($v1) -/* 0978E8 7F062DB8 267102F8 */ addiu $s1, $s3, 0x2f8 -/* 0978EC 7F062DBC 02202025 */ move $a0, $s1 -/* 0978F0 7F062DC0 8C4D0040 */ lw $t5, 0x40($v0) -/* 0978F4 7F062DC4 51A00027 */ beql $t5, $zero, .L7F062E64 -/* 0978F8 7F062DC8 8FC20000 */ lw $v0, ($fp) -/* 0978FC 7F062DCC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 097900 7F062DD0 8C450044 */ lw $a1, 0x44($v0) -/* 097904 7F062DD4 10400003 */ beqz $v0, .L7F062DE4 -/* 097908 7F062DD8 24010019 */ li $at, 25 -/* 09790C 7F062DDC 240E0001 */ li $t6, 1 -/* 097910 7F062DE0 AC4E0000 */ sw $t6, ($v0) -.L7F062DE4: -/* 097914 7F062DE4 16810013 */ bne $s4, $at, .L7F062E34 -/* 097918 7F062DE8 02202025 */ move $a0, $s1 -/* 09791C 7F062DEC 3C048007 */ lui $a0, %hi(dword_CODE_bss_80075C10) -/* 097920 7F062DF0 3C058009 */ lui $a1, %hi(crosshairimage) -/* 097924 7F062DF4 8CA5D114 */ lw $a1, %lo(crosshairimage)($a1) -/* 097928 7F062DF8 0FC127D0 */ jal save_img_index_to_obj_ani_slot -/* 09792C 7F062DFC 24845C10 */ addiu $a0, %lo(dword_CODE_bss_80075C10) # addiu $a0, $a0, 0x5c10 -/* 097930 7F062E00 8E790300 */ lw $t9, 0x300($s3) -/* 097934 7F062E04 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075C10) -/* 097938 7F062E08 24080004 */ li $t0, 4 -/* 09793C 7F062E0C 8F380008 */ lw $t8, 8($t9) -/* 097940 7F062E10 24C65C10 */ addiu $a2, %lo(dword_CODE_bss_80075C10) # addiu $a2, $a2, 0x5c10 -/* 097944 7F062E14 02202025 */ move $a0, $s1 -/* 097948 7F062E18 8F050040 */ lw $a1, 0x40($t8) -/* 09794C 7F062E1C AFA80014 */ sw $t0, 0x14($sp) -/* 097950 7F062E20 AFA00010 */ sw $zero, 0x10($sp) -/* 097954 7F062E24 0FC127D2 */ jal process_monitor_animation_microcode -/* 097958 7F062E28 02003825 */ move $a3, $s0 -/* 09795C 7F062E2C 1000000C */ b .L7F062E60 -/* 097960 7F062E30 00408025 */ move $s0, $v0 -.L7F062E34: -/* 097964 7F062E34 8E6F0300 */ lw $t7, 0x300($s3) -/* 097968 7F062E38 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075C88) -/* 09796C 7F062E3C 240A0001 */ li $t2, 1 -/* 097970 7F062E40 8DE90008 */ lw $t1, 8($t7) -/* 097974 7F062E44 24C65C88 */ addiu $a2, %lo(dword_CODE_bss_80075C88) # addiu $a2, $a2, 0x5c88 -/* 097978 7F062E48 02003825 */ move $a3, $s0 -/* 09797C 7F062E4C 8D250040 */ lw $a1, 0x40($t1) -/* 097980 7F062E50 AFAA0014 */ sw $t2, 0x14($sp) -/* 097984 7F062E54 0FC127D2 */ jal process_monitor_animation_microcode -/* 097988 7F062E58 AFA00010 */ sw $zero, 0x10($sp) -/* 09798C 7F062E5C 00408025 */ move $s0, $v0 -.L7F062E60: -/* 097990 7F062E60 8FC20000 */ lw $v0, ($fp) -.L7F062E64: -/* 097994 7F062E64 240B0004 */ li $t3, 4 -/* 097998 7F062E68 AFB00098 */ sw $s0, 0x98($sp) -/* 09799C 7F062E6C AFAB00BC */ sw $t3, 0xbc($sp) -/* 0979A0 7F062E70 904D0FDC */ lbu $t5, 0xfdc($v0) -/* 0979A4 7F062E74 90580FDD */ lbu $t8, 0xfdd($v0) -/* 0979A8 7F062E78 904C0FDF */ lbu $t4, 0xfdf($v0) -/* 0979AC 7F062E7C 90490FDE */ lbu $t1, 0xfde($v0) -/* 0979B0 7F062E80 000D7600 */ sll $t6, $t5, 0x18 -/* 0979B4 7F062E84 00184400 */ sll $t0, $t8, 0x10 -/* 0979B8 7F062E88 018EC825 */ or $t9, $t4, $t6 -/* 0979BC 7F062E8C 03287825 */ or $t7, $t9, $t0 -/* 0979C0 7F062E90 00095200 */ sll $t2, $t1, 8 -/* 0979C4 7F062E94 01EA5825 */ or $t3, $t7, $t2 -/* 0979C8 7F062E98 AFAB00C0 */ sw $t3, 0xc0($sp) -/* 0979CC 7F062E9C AFA00090 */ sw $zero, 0x90($sp) -/* 0979D0 7F062EA0 0FC16319 */ jal sub_GAME_7F058C64 -/* 0979D4 7F062EA4 267102F8 */ addiu $s1, $s3, 0x2f8 -/* 0979D8 7F062EA8 24010019 */ li $at, 25 -/* 0979DC 7F062EAC 56810011 */ bnel $s4, $at, .L7F062EF4 -/* 0979E0 7F062EB0 02802025 */ move $a0, $s4 -/* 0979E4 7F062EB4 8E620220 */ lw $v0, 0x220($s3) -/* 0979E8 7F062EB8 5040000E */ beql $v0, $zero, .L7F062EF4 -/* 0979EC 7F062EBC 02802025 */ move $a0, $s4 -/* 0979F0 7F062EC0 8C500014 */ lw $s0, 0x14($v0) -/* 0979F4 7F062EC4 02E02025 */ move $a0, $s7 -/* 0979F8 7F062EC8 0FC1D1A1 */ jal subdraw -/* 0979FC 7F062ECC 02002825 */ move $a1, $s0 -/* 097A00 7F062ED0 8E0D0008 */ lw $t5, 8($s0) -/* 097A04 7F062ED4 8E04000C */ lw $a0, 0xc($s0) -/* 097A08 7F062ED8 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 097A0C 7F062EDC 85A5000E */ lh $a1, 0xe($t5) -/* 097A10 7F062EE0 8E6C0224 */ lw $t4, 0x224($s3) -/* 097A14 7F062EE4 51800003 */ beql $t4, $zero, .L7F062EF4 -/* 097A18 7F062EE8 02802025 */ move $a0, $s4 -/* 097A1C 7F062EEC AE600220 */ sw $zero, 0x220($s3) -/* 097A20 7F062EF0 02802025 */ move $a0, $s4 -.L7F062EF4: -/* 097A24 7F062EF4 0FC1782D */ jal check_special_attributes -/* 097A28 7F062EF8 24050400 */ li $a1, 1024 -/* 097A2C 7F062EFC 1040000E */ beqz $v0, .L7F062F38 -/* 097A30 7F062F00 02E02025 */ move $a0, $s7 -/* 097A34 7F062F04 8FAE0098 */ lw $t6, 0x98($sp) -/* 097A38 7F062F08 3C19B600 */ lui $t9, 0xb600 -/* 097A3C 7F062F0C 24083000 */ li $t0, 12288 -/* 097A40 7F062F10 25D80008 */ addiu $t8, $t6, 8 -/* 097A44 7F062F14 AFB80098 */ sw $t8, 0x98($sp) -/* 097A48 7F062F18 ADC80004 */ sw $t0, 4($t6) -/* 097A4C 7F062F1C 16A00004 */ bnez $s5, .L7F062F30 -/* 097A50 7F062F20 ADD90000 */ sw $t9, ($t6) -/* 097A54 7F062F24 24090003 */ li $t1, 3 -/* 097A58 7F062F28 10000003 */ b .L7F062F38 -/* 097A5C 7F062F2C AFA900C8 */ sw $t1, 0xc8($sp) -.L7F062F30: -/* 097A60 7F062F30 240F0002 */ li $t7, 2 -/* 097A64 7F062F34 AFAF00C8 */ sw $t7, 0xc8($sp) -.L7F062F38: -/* 097A68 7F062F38 0FC1D1A1 */ jal subdraw -/* 097A6C 7F062F3C 02202825 */ move $a1, $s1 -/* 097A70 7F062F40 8FB00098 */ lw $s0, 0x98($sp) -/* 097A74 7F062F44 02802025 */ move $a0, $s4 -/* 097A78 7F062F48 0FC1782D */ jal check_special_attributes -/* 097A7C 7F062F4C 24050400 */ li $a1, 1024 -/* 097A80 7F062F50 10400006 */ beqz $v0, .L7F062F6C -/* 097A84 7F062F54 3C0AB600 */ lui $t2, 0xb600 -/* 097A88 7F062F58 02001025 */ move $v0, $s0 -/* 097A8C 7F062F5C 240B3000 */ li $t3, 12288 -/* 097A90 7F062F60 AC4B0004 */ sw $t3, 4($v0) -/* 097A94 7F062F64 AC4A0000 */ sw $t2, ($v0) -/* 097A98 7F062F68 26100008 */ addiu $s0, $s0, 8 -.L7F062F6C: -/* 097A9C 7F062F6C 8E6D0300 */ lw $t5, 0x300($s3) -/* 097AA0 7F062F70 8E640304 */ lw $a0, 0x304($s3) -/* 097AA4 7F062F74 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 097AA8 7F062F78 85A5000E */ lh $a1, 0xe($t5) -/* 097AAC 7F062F7C 0FC16322 */ jal sub_GAME_7F058C88 -/* 097AB0 7F062F80 00000000 */ nop -/* 097AB4 7F062F84 3C0CBC00 */ lui $t4, (0xBC00000E >> 16) # lui $t4, 0xbc00 -/* 097AB8 7F062F88 358C000E */ ori $t4, (0xBC00000E & 0xFFFF) # ori $t4, $t4, 0xe -/* 097ABC 7F062F8C 02008825 */ move $s1, $s0 -/* 097AC0 7F062F90 AE2C0000 */ sw $t4, ($s1) -/* 097AC4 7F062F94 0C000F13 */ jal get_80060824 -/* 097AC8 7F062F98 26100008 */ addiu $s0, $s0, 8 -/* 097ACC 7F062F9C 24010017 */ li $at, 23 -/* 097AD0 7F062FA0 16810006 */ bne $s4, $at, .L7F062FBC -/* 097AD4 7F062FA4 AE220004 */ sw $v0, 4($s1) -/* 097AD8 7F062FA8 02002025 */ move $a0, $s0 -/* 097ADC 7F062FAC 266501E4 */ addiu $a1, $s3, 0x1e4 -/* 097AE0 7F062FB0 0FC18786 */ jal sub_GAME_7F061E18 -/* 097AE4 7F062FB4 00003025 */ move $a2, $zero -/* 097AE8 7F062FB8 00408025 */ move $s0, $v0 -.L7F062FBC: -/* 097AEC 7F062FBC 26B50001 */ addiu $s5, $s5, 1 -.L7F062FC0: -/* 097AF0 7F062FC0 24010002 */ li $at, 2 -/* 097AF4 7F062FC4 16A1FF28 */ bne $s5, $at, .L7F062C68 -/* 097AF8 7F062FC8 26D603A8 */ addiu $s6, $s6, 0x3a8 -/* 097AFC 7F062FCC 8FAE00D0 */ lw $t6, 0xd0($sp) -/* 097B00 7F062FD0 ADD00000 */ sw $s0, ($t6) -/* 097B04 7F062FD4 8FBF0044 */ lw $ra, 0x44($sp) -/* 097B08 7F062FD8 8FBE0040 */ lw $fp, 0x40($sp) -/* 097B0C 7F062FDC 8FB7003C */ lw $s7, 0x3c($sp) -/* 097B10 7F062FE0 8FB60038 */ lw $s6, 0x38($sp) -/* 097B14 7F062FE4 8FB50034 */ lw $s5, 0x34($sp) -/* 097B18 7F062FE8 8FB40030 */ lw $s4, 0x30($sp) -/* 097B1C 7F062FEC 8FB3002C */ lw $s3, 0x2c($sp) -/* 097B20 7F062FF0 8FB20028 */ lw $s2, 0x28($sp) -/* 097B24 7F062FF4 8FB10024 */ lw $s1, 0x24($sp) -/* 097B28 7F062FF8 8FB00020 */ lw $s0, 0x20($sp) -/* 097B2C 7F062FFC 03E00008 */ jr $ra -/* 097B30 7F063000 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif - - - - - -#ifdef NONMATCHING -void set_enviro_fog_for_items_in_solo_watch_menu(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_enviro_fog_for_items_in_solo_watch_menu -/* 097B34 7F063004 27BDFE68 */ addiu $sp, $sp, -0x198 -/* 097B38 7F063008 3C0F8003 */ lui $t7, %hi(D_80035D00) -/* 097B3C 7F06300C 25EF5D00 */ addiu $t7, %lo(D_80035D00) # addiu $t7, $t7, 0x5d00 -/* 097B40 7F063010 AFBF0024 */ sw $ra, 0x24($sp) -/* 097B44 7F063014 AFB30020 */ sw $s3, 0x20($sp) -/* 097B48 7F063018 AFB2001C */ sw $s2, 0x1c($sp) -/* 097B4C 7F06301C AFB10018 */ sw $s1, 0x18($sp) -/* 097B50 7F063020 AFB00014 */ sw $s0, 0x14($sp) -/* 097B54 7F063024 AFA40198 */ sw $a0, 0x198($sp) -/* 097B58 7F063028 AFA601A0 */ sw $a2, 0x1a0($sp) -/* 097B5C 7F06302C AFA701A4 */ sw $a3, 0x1a4($sp) -/* 097B60 7F063030 25E8003C */ addiu $t0, $t7, 0x3c -/* 097B64 7F063034 27AE0158 */ addiu $t6, $sp, 0x158 -.L7F063038: -/* 097B68 7F063038 8DE10000 */ lw $at, ($t7) -/* 097B6C 7F06303C 25EF000C */ addiu $t7, $t7, 0xc -/* 097B70 7F063040 25CE000C */ addiu $t6, $t6, 0xc -/* 097B74 7F063044 ADC1FFF4 */ sw $at, -0xc($t6) -/* 097B78 7F063048 8DE1FFF8 */ lw $at, -8($t7) -/* 097B7C 7F06304C ADC1FFF8 */ sw $at, -8($t6) -/* 097B80 7F063050 8DE1FFFC */ lw $at, -4($t7) -/* 097B84 7F063054 15E8FFF8 */ bne $t7, $t0, .L7F063038 -/* 097B88 7F063058 ADC1FFFC */ sw $at, -4($t6) -/* 097B8C 7F06305C 8DE10000 */ lw $at, ($t7) -/* 097B90 7F063060 00002025 */ move $a0, $zero -/* 097B94 7F063064 ADC10000 */ sw $at, ($t6) -/* 097B98 7F063068 2401001E */ li $at, 30 -/* 097B9C 7F06306C 10A10003 */ beq $a1, $at, .L7F06307C -/* 097BA0 7F063070 24010017 */ li $at, 23 -/* 097BA4 7F063074 14A10002 */ bne $a1, $at, .L7F063080 -/* 097BA8 7F063078 00000000 */ nop -.L7F06307C: -/* 097BAC 7F06307C 2405003C */ li $a1, 60 -.L7F063080: -/* 097BB0 7F063080 0FC176A3 */ jal sub_GAME_7F05DA8C -/* 097BB4 7F063084 AFA5019C */ sw $a1, 0x19c($sp) -/* 097BB8 7F063088 0FC173AF */ jal sub_GAME_7F05CEBC -/* 097BBC 7F06308C 00002025 */ move $a0, $zero -/* 097BC0 7F063090 10400005 */ beqz $v0, .L7F0630A8 -/* 097BC4 7F063094 00000000 */ nop -/* 097BC8 7F063098 0FC173C0 */ jal get_itemtype_in_hand -/* 097BCC 7F06309C 00002025 */ move $a0, $zero -/* 097BD0 7F0630A0 14400003 */ bnez $v0, .L7F0630B0 -/* 097BD4 7F0630A4 3C128008 */ lui $s2, %hi(pPlayer) -.L7F0630A8: -/* 097BD8 7F0630A8 10000104 */ b .L7F0634BC -/* 097BDC 7F0630AC 8FA20198 */ lw $v0, 0x198($sp) -.L7F0630B0: -/* 097BE0 7F0630B0 8E52A0B0 */ lw $s2, %lo(pPlayer)($s2) -/* 097BE4 7F0630B4 8FA4019C */ lw $a0, 0x19c($sp) -/* 097BE8 7F0630B8 0FC17412 */ jal get_ptr_weapon_model_header_line -/* 097BEC 7F0630BC 26520810 */ addiu $s2, $s2, 0x810 -/* 097BF0 7F0630C0 104000FD */ beqz $v0, .L7F0634B8 -/* 097BF4 7F0630C4 8FA4019C */ lw $a0, 0x19c($sp) -/* 097BF8 7F0630C8 0FC1782D */ jal check_special_attributes -/* 097BFC 7F0630CC 24054000 */ li $a1, 16384 -/* 097C00 7F0630D0 544000FA */ bnezl $v0, .L7F0634BC -/* 097C04 7F0630D4 8FA20198 */ lw $v0, 0x198($sp) -/* 097C08 7F0630D8 8644000E */ lh $a0, 0xe($s2) -/* 097C0C 7F0630DC 00044980 */ sll $t1, $a0, 6 -/* 097C10 7F0630E0 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 097C14 7F0630E4 01202025 */ move $a0, $t1 -/* 097C18 7F0630E8 864A000E */ lh $t2, 0xe($s2) -/* 097C1C 7F0630EC 00408025 */ move $s0, $v0 -/* 097C20 7F0630F0 00008825 */ move $s1, $zero -/* 097C24 7F0630F4 19400009 */ blez $t2, .L7F06311C -/* 097C28 7F0630F8 00115980 */ sll $t3, $s1, 6 -.L7F0630FC: -/* 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 -/* 097C3C 7F06310C 022C082A */ slt $at, $s1, $t4 -/* 097C40 7F063110 5420FFFA */ bnezl $at, .L7F0630FC -/* 097C44 7F063114 00115980 */ sll $t3, $s1, 6 -/* 097C48 7F063118 00008825 */ move $s1, $zero -.L7F06311C: -/* 097C4C 7F06311C AFB00144 */ sw $s0, 0x144($sp) -/* 097C50 7F063120 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 097C54 7F063124 02402025 */ move $a0, $s2 -/* 097C58 7F063128 27B30138 */ addiu $s3, $sp, 0x138 -/* 097C5C 7F06312C 02602025 */ move $a0, $s3 -/* 097C60 7F063130 02402825 */ move $a1, $s2 -/* 097C64 7F063134 0FC1D7DA */ jal sub_GAME_7F075F68 -/* 097C68 7F063138 27A600B8 */ addiu $a2, $sp, 0xb8 -/* 097C6C 7F06313C 02602025 */ move $a0, $s3 -/* 097C70 7F063140 0FC17A5E */ jal sub_GAME_7F05E978 -/* 097C74 7F063144 00002825 */ move $a1, $zero -/* 097C78 7F063148 02602025 */ move $a0, $s3 -/* 097C7C 7F06314C 0FC17AA5 */ jal sub_GAME_7F05EA94 -/* 097C80 7F063150 24050001 */ li $a1, 1 -/* 097C84 7F063154 8E4D0008 */ lw $t5, 8($s2) -/* 097C88 7F063158 8DA50004 */ lw $a1, 4($t5) -/* 097C8C 7F06315C 50A00007 */ beql $a1, $zero, .L7F06317C -/* 097C90 7F063160 8FA401A0 */ lw $a0, 0x1a0($sp) -/* 097C94 7F063164 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 097C98 7F063168 02602025 */ move $a0, $s3 -/* 097C9C 7F06316C 50400003 */ beql $v0, $zero, .L7F06317C -/* 097CA0 7F063170 8FA401A0 */ lw $a0, 0x1a0($sp) -/* 097CA4 7F063174 AC400000 */ sw $zero, ($v0) -/* 097CA8 7F063178 8FA401A0 */ lw $a0, 0x1a0($sp) -.L7F06317C: -/* 097CAC 7F06317C 0FC16008 */ jal sub_GAME_7F058020 -/* 097CB0 7F063180 02002825 */ move $a1, $s0 -/* 097CB4 7F063184 8E580004 */ lw $t8, 4($s2) -/* 097CB8 7F063188 3C198004 */ lui $t9, %hi(weapon_gun_revolver) -/* 097CBC 7F06318C 2739C76C */ addiu $t9, %lo(weapon_gun_revolver) # addiu $t9, $t9, -0x3894 -/* 097CC0 7F063190 57380018 */ bnel $t9, $t8, .L7F0631F4 -/* 097CC4 7F063194 8E420008 */ lw $v0, 8($s2) -/* 097CC8 7F063198 8E420008 */ lw $v0, 8($s2) -/* 097CCC 7F06319C 27A50074 */ addiu $a1, $sp, 0x74 -/* 097CD0 7F0631A0 8C430010 */ lw $v1, 0x10($v0) -/* 097CD4 7F0631A4 50600009 */ beql $v1, $zero, .L7F0631CC -/* 097CD8 7F0631A8 8C430014 */ lw $v1, 0x14($v0) -/* 097CDC 7F0631AC 0FC16259 */ jal init_something_copy_posdata_to_it -/* 097CE0 7F0631B0 8C640004 */ lw $a0, 4($v1) -/* 097CE4 7F0631B4 8FA401A0 */ lw $a0, 0x1a0($sp) -/* 097CE8 7F0631B8 27A50074 */ addiu $a1, $sp, 0x74 -/* 097CEC 7F0631BC 0FC16032 */ jal sub_GAME_7F0580C8 -/* 097CF0 7F0631C0 260600C0 */ addiu $a2, $s0, 0xc0 -/* 097CF4 7F0631C4 8E420008 */ lw $v0, 8($s2) -/* 097CF8 7F0631C8 8C430014 */ lw $v1, 0x14($v0) -.L7F0631CC: -/* 097CFC 7F0631CC 27A50074 */ addiu $a1, $sp, 0x74 -/* 097D00 7F0631D0 50600008 */ beql $v1, $zero, .L7F0631F4 -/* 097D04 7F0631D4 8E420008 */ lw $v0, 8($s2) -/* 097D08 7F0631D8 0FC16259 */ jal init_something_copy_posdata_to_it -/* 097D0C 7F0631DC 8C640004 */ lw $a0, 4($v1) -/* 097D10 7F0631E0 8FA401A0 */ lw $a0, 0x1a0($sp) -/* 097D14 7F0631E4 27A50074 */ addiu $a1, $sp, 0x74 -/* 097D18 7F0631E8 0FC16032 */ jal sub_GAME_7F0580C8 -/* 097D1C 7F0631EC 26060100 */ addiu $a2, $s0, 0x100 -/* 097D20 7F0631F0 8E420008 */ lw $v0, 8($s2) -.L7F0631F4: -/* 097D24 7F0631F4 8C440018 */ lw $a0, 0x18($v0) -/* 097D28 7F0631F8 50800011 */ beql $a0, $zero, .L7F063240 -/* 097D2C 7F0631FC 8C44001C */ lw $a0, 0x1c($v0) -/* 097D30 7F063200 8C880004 */ lw $t0, 4($a0) -/* 097D34 7F063204 00002825 */ move $a1, $zero -/* 097D38 7F063208 0FC1B15C */ jal sub_GAME_7F06C570 -/* 097D3C 7F06320C AFA8005C */ sw $t0, 0x5c($sp) -/* 097D40 7F063210 AFA20058 */ sw $v0, 0x58($sp) -/* 097D44 7F063214 8FA4005C */ lw $a0, 0x5c($sp) -/* 097D48 7F063218 0FC16259 */ jal init_something_copy_posdata_to_it -/* 097D4C 7F06321C 27A50074 */ addiu $a1, $sp, 0x74 -/* 097D50 7F063220 8FAF0058 */ lw $t7, 0x58($sp) -/* 097D54 7F063224 8FA401A0 */ lw $a0, 0x1a0($sp) -/* 097D58 7F063228 27A50074 */ addiu $a1, $sp, 0x74 -/* 097D5C 7F06322C 000F7180 */ sll $t6, $t7, 6 -/* 097D60 7F063230 0FC16032 */ jal sub_GAME_7F0580C8 -/* 097D64 7F063234 01D03021 */ addu $a2, $t6, $s0 -/* 097D68 7F063238 8E420008 */ lw $v0, 8($s2) -/* 097D6C 7F06323C 8C44001C */ lw $a0, 0x1c($v0) -.L7F063240: -/* 097D70 7F063240 50800010 */ beql $a0, $zero, .L7F063284 -/* 097D74 7F063244 864C000C */ lh $t4, 0xc($s2) -/* 097D78 7F063248 8C890004 */ lw $t1, 4($a0) -/* 097D7C 7F06324C 00002825 */ move $a1, $zero -/* 097D80 7F063250 0FC1B15C */ jal sub_GAME_7F06C570 -/* 097D84 7F063254 AFA90054 */ sw $t1, 0x54($sp) -/* 097D88 7F063258 AFA20050 */ sw $v0, 0x50($sp) -/* 097D8C 7F06325C 8FA40054 */ lw $a0, 0x54($sp) -/* 097D90 7F063260 0FC16259 */ jal init_something_copy_posdata_to_it -/* 097D94 7F063264 27A50074 */ addiu $a1, $sp, 0x74 -/* 097D98 7F063268 8FAA0050 */ lw $t2, 0x50($sp) -/* 097D9C 7F06326C 8FA401A0 */ lw $a0, 0x1a0($sp) -/* 097DA0 7F063270 27A50074 */ addiu $a1, $sp, 0x74 -/* 097DA4 7F063274 000A5980 */ sll $t3, $t2, 6 -/* 097DA8 7F063278 0FC16032 */ jal sub_GAME_7F0580C8 -/* 097DAC 7F06327C 01703021 */ addu $a2, $t3, $s0 -/* 097DB0 7F063280 864C000C */ lh $t4, 0xc($s2) -.L7F063284: -/* 097DB4 7F063284 00008025 */ move $s0, $zero -/* 097DB8 7F063288 29810013 */ slti $at, $t4, 0x13 -/* 097DBC 7F06328C 14200019 */ bnez $at, .L7F0632F4 -/* 097DC0 7F063290 00000000 */ nop -/* 097DC4 7F063294 8E4D0008 */ lw $t5, 8($s2) -.L7F063298: -/* 097DC8 7F063298 01B0C821 */ addu $t9, $t5, $s0 -/* 097DCC 7F06329C 8F250048 */ lw $a1, 0x48($t9) -/* 097DD0 7F0632A0 50A00007 */ beql $a1, $zero, .L7F0632C0 -/* 097DD4 7F0632A4 8E480008 */ lw $t0, 8($s2) -/* 097DD8 7F0632A8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 097DDC 7F0632AC 02602025 */ move $a0, $s3 -/* 097DE0 7F0632B0 10400002 */ beqz $v0, .L7F0632BC -/* 097DE4 7F0632B4 24180001 */ li $t8, 1 -/* 097DE8 7F0632B8 AC580000 */ sw $t8, ($v0) -.L7F0632BC: -/* 097DEC 7F0632BC 8E480008 */ lw $t0, 8($s2) -.L7F0632C0: -/* 097DF0 7F0632C0 01107821 */ addu $t7, $t0, $s0 -/* 097DF4 7F0632C4 8DE5005C */ lw $a1, 0x5c($t7) -/* 097DF8 7F0632C8 50A00007 */ beql $a1, $zero, .L7F0632E8 -/* 097DFC 7F0632CC 26100004 */ addiu $s0, $s0, 4 -/* 097E00 7F0632D0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 097E04 7F0632D4 02602025 */ move $a0, $s3 -/* 097E08 7F0632D8 10400002 */ beqz $v0, .L7F0632E4 -/* 097E0C 7F0632DC 240E0001 */ li $t6, 1 -/* 097E10 7F0632E0 AC4E0000 */ sw $t6, ($v0) -.L7F0632E4: -/* 097E14 7F0632E4 26100004 */ addiu $s0, $s0, 4 -.L7F0632E8: -/* 097E18 7F0632E8 24010014 */ li $at, 20 -/* 097E1C 7F0632EC 5601FFEA */ bnel $s0, $at, .L7F063298 -/* 097E20 7F0632F0 8E4D0008 */ lw $t5, 8($s2) -.L7F0632F4: -/* 097E24 7F0632F4 0FC1BBF1 */ jal sub_GAME_7F06EFC4 -/* 097E28 7F0632F8 02602025 */ move $a0, $s3 -/* 097E2C 7F0632FC 8FA2019C */ lw $v0, 0x19c($sp) -/* 097E30 7F063300 24010013 */ li $at, 19 -/* 097E34 7F063304 3C09BC00 */ lui $t1, (0xBC000002 >> 16) # lui $t1, 0xbc00 -/* 097E38 7F063308 1041000C */ beq $v0, $at, .L7F06333C -/* 097E3C 7F06330C 35290002 */ ori $t1, (0xBC000002 & 0xFFFF) # ori $t1, $t1, 2 -/* 097E40 7F063310 24010012 */ li $at, 18 -/* 097E44 7F063314 10410009 */ beq $v0, $at, .L7F06333C -/* 097E48 7F063318 24010002 */ li $at, 2 -/* 097E4C 7F06331C 10410007 */ beq $v0, $at, .L7F06333C -/* 097E50 7F063320 24010003 */ li $at, 3 -/* 097E54 7F063324 10410005 */ beq $v0, $at, .L7F06333C -/* 097E58 7F063328 24010014 */ li $at, 20 -/* 097E5C 7F06332C 10410003 */ beq $v0, $at, .L7F06333C -/* 097E60 7F063330 24010015 */ li $at, 21 -/* 097E64 7F063334 54410028 */ bnel $v0, $at, .L7F0633D8 -/* 097E68 7F063338 864A000C */ lh $t2, 0xc($s2) -.L7F06333C: -/* 097E6C 7F06333C 8FA20198 */ lw $v0, 0x198($sp) -/* 097E70 7F063340 3C0A8000 */ lui $t2, (0x80000040 >> 16) # lui $t2, 0x8000 -/* 097E74 7F063344 354A0040 */ ori $t2, (0x80000040 & 0xFFFF) # ori $t2, $t2, 0x40 -/* 097E78 7F063348 24430008 */ addiu $v1, $v0, 8 -/* 097E7C 7F06334C 3C0B0386 */ lui $t3, (0x03860010 >> 16) # lui $t3, 0x386 -/* 097E80 7F063350 3C0C8003 */ lui $t4, %hi(D_80032448) -/* 097E84 7F063354 AC4A0004 */ sw $t2, 4($v0) -/* 097E88 7F063358 AC490000 */ sw $t1, ($v0) -/* 097E8C 7F06335C 258C2448 */ addiu $t4, %lo(D_80032448) # addiu $t4, $t4, 0x2448 -/* 097E90 7F063360 356B0010 */ ori $t3, (0x03860010 & 0xFFFF) # ori $t3, $t3, 0x10 -/* 097E94 7F063364 24640008 */ addiu $a0, $v1, 8 -/* 097E98 7F063368 AC6B0000 */ sw $t3, ($v1) -/* 097E9C 7F06336C AC6C0004 */ sw $t4, 4($v1) -/* 097EA0 7F063370 3C0D0388 */ lui $t5, (0x03880010 >> 16) # lui $t5, 0x388 -/* 097EA4 7F063374 3C198003 */ lui $t9, %hi(D_80032440) -/* 097EA8 7F063378 27392440 */ addiu $t9, %lo(D_80032440) # addiu $t9, $t9, 0x2440 -/* 097EAC 7F06337C 35AD0010 */ ori $t5, (0x03880010 & 0xFFFF) # ori $t5, $t5, 0x10 -/* 097EB0 7F063380 24900008 */ addiu $s0, $a0, 8 -/* 097EB4 7F063384 3C180384 */ lui $t8, (0x03840010 >> 16) # lui $t8, 0x384 -/* 097EB8 7F063388 AC8D0000 */ sw $t5, ($a0) -/* 097EBC 7F06338C AC990004 */ sw $t9, 4($a0) -/* 097EC0 7F063390 37180010 */ ori $t8, (0x03840010 & 0xFFFF) # ori $t8, $t8, 0x10 -/* 097EC4 7F063394 AE180000 */ sw $t8, ($s0) -/* 097EC8 7F063398 26050008 */ addiu $a1, $s0, 8 -/* 097ECC 7F06339C 0FC1E11D */ jal sub_GAME_7F078474 -/* 097ED0 7F0633A0 AFA50198 */ sw $a1, 0x198($sp) -/* 097ED4 7F0633A4 AE020004 */ sw $v0, 4($s0) -/* 097ED8 7F0633A8 8FA80198 */ lw $t0, 0x198($sp) -/* 097EDC 7F0633AC 3C0E0382 */ lui $t6, (0x03820010 >> 16) # lui $t6, 0x382 -/* 097EE0 7F0633B0 35CE0010 */ ori $t6, (0x03820010 & 0xFFFF) # ori $t6, $t6, 0x10 -/* 097EE4 7F0633B4 250F0008 */ addiu $t7, $t0, 8 -/* 097EE8 7F0633B8 AFAF0198 */ sw $t7, 0x198($sp) -/* 097EEC 7F0633BC AD0E0000 */ sw $t6, ($t0) -/* 097EF0 7F0633C0 0FC1E11D */ jal sub_GAME_7F078474 -/* 097EF4 7F0633C4 AFA80034 */ sw $t0, 0x34($sp) -/* 097EF8 7F0633C8 8FA30034 */ lw $v1, 0x34($sp) -/* 097EFC 7F0633CC 24490010 */ addiu $t1, $v0, 0x10 -/* 097F00 7F0633D0 AC690004 */ sw $t1, 4($v1) -/* 097F04 7F0633D4 864A000C */ lh $t2, 0xc($s2) -.L7F0633D8: -/* 097F08 7F0633D8 29410011 */ slti $at, $t2, 0x11 -/* 097F0C 7F0633DC 5420000C */ bnezl $at, .L7F063410 -/* 097F10 7F0633E0 8FA201A4 */ lw $v0, 0x1a4($sp) -/* 097F14 7F0633E4 8E420008 */ lw $v0, 8($s2) -/* 097F18 7F0633E8 02602025 */ move $a0, $s3 -/* 097F1C 7F0633EC 8C4B0040 */ lw $t3, 0x40($v0) -/* 097F20 7F0633F0 51600007 */ beql $t3, $zero, .L7F063410 -/* 097F24 7F0633F4 8FA201A4 */ lw $v0, 0x1a4($sp) -/* 097F28 7F0633F8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 097F2C 7F0633FC 8C450044 */ lw $a1, 0x44($v0) -/* 097F30 7F063400 50400003 */ beql $v0, $zero, .L7F063410 -/* 097F34 7F063404 8FA201A4 */ lw $v0, 0x1a4($sp) -/* 097F38 7F063408 AC400000 */ sw $zero, ($v0) -/* 097F3C 7F06340C 8FA201A4 */ lw $v0, 0x1a4($sp) -.L7F063410: -/* 097F40 7F063410 8FAC0198 */ lw $t4, 0x198($sp) -/* 097F44 7F063414 27A40158 */ addiu $a0, $sp, 0x158 -/* 097F48 7F063418 284100FF */ slti $at, $v0, 0xff -/* 097F4C 7F06341C 14200006 */ bnez $at, .L7F063438 -/* 097F50 7F063420 AFAC0164 */ sw $t4, 0x164($sp) -/* 097F54 7F063424 8FB901A8 */ lw $t9, 0x1a8($sp) -/* 097F58 7F063428 240D0004 */ li $t5, 4 -/* 097F5C 7F06342C AFAD0188 */ sw $t5, 0x188($sp) -/* 097F60 7F063430 10000006 */ b .L7F06344C -/* 097F64 7F063434 AFB9018C */ sw $t9, 0x18c($sp) -.L7F063438: -/* 097F68 7F063438 8FA801A8 */ lw $t0, 0x1a8($sp) -/* 097F6C 7F06343C 24180005 */ li $t8, 5 -/* 097F70 7F063440 AFB80188 */ sw $t8, 0x188($sp) -/* 097F74 7F063444 AFA2018C */ sw $v0, 0x18c($sp) -/* 097F78 7F063448 AFA80190 */ sw $t0, 0x190($sp) -.L7F06344C: -/* 097F7C 7F06344C AFA0015C */ sw $zero, 0x15c($sp) -/* 097F80 7F063450 0FC1D1A1 */ jal subdraw -/* 097F84 7F063454 02602825 */ move $a1, $s3 -/* 097F88 7F063458 8FAF0164 */ lw $t7, 0x164($sp) -/* 097F8C 7F06345C 0FC16319 */ jal sub_GAME_7F058C64 -/* 097F90 7F063460 AFAF0198 */ sw $t7, 0x198($sp) -/* 097F94 7F063464 864E000E */ lh $t6, 0xe($s2) -/* 097F98 7F063468 00008025 */ move $s0, $zero -/* 097F9C 7F06346C 19C00010 */ blez $t6, .L7F0634B0 -/* 097FA0 7F063470 00000000 */ nop -/* 097FA4 7F063474 8FA90144 */ lw $t1, 0x144($sp) -.L7F063478: -/* 097FA8 7F063478 27A50074 */ addiu $a1, $sp, 0x74 -/* 097FAC 7F06347C 0FC16008 */ jal sub_GAME_7F058020 -/* 097FB0 7F063480 01302021 */ addu $a0, $t1, $s0 -/* 097FB4 7F063484 8FAB0144 */ lw $t3, 0x144($sp) -/* 097FB8 7F063488 00115180 */ sll $t2, $s1, 6 -/* 097FBC 7F06348C 27A40074 */ addiu $a0, $sp, 0x74 -/* 097FC0 7F063490 0FC16327 */ jal sub_GAME_7F058C9C -/* 097FC4 7F063494 014B2821 */ addu $a1, $t2, $t3 -/* 097FC8 7F063498 864C000E */ lh $t4, 0xe($s2) -/* 097FCC 7F06349C 26310001 */ addiu $s1, $s1, 1 -/* 097FD0 7F0634A0 26100040 */ addiu $s0, $s0, 0x40 -/* 097FD4 7F0634A4 022C082A */ slt $at, $s1, $t4 -/* 097FD8 7F0634A8 5420FFF3 */ bnezl $at, .L7F063478 -/* 097FDC 7F0634AC 8FA90144 */ lw $t1, 0x144($sp) -.L7F0634B0: -/* 097FE0 7F0634B0 0FC16322 */ jal sub_GAME_7F058C88 -/* 097FE4 7F0634B4 00000000 */ nop -.L7F0634B8: -/* 097FE8 7F0634B8 8FA20198 */ lw $v0, 0x198($sp) -.L7F0634BC: -/* 097FEC 7F0634BC 8FBF0024 */ lw $ra, 0x24($sp) -/* 097FF0 7F0634C0 8FB00014 */ lw $s0, 0x14($sp) -/* 097FF4 7F0634C4 8FB10018 */ lw $s1, 0x18($sp) -/* 097FF8 7F0634C8 8FB2001C */ lw $s2, 0x1c($sp) -/* 097FFC 7F0634CC 8FB30020 */ lw $s3, 0x20($sp) -/* 098000 7F0634D0 03E00008 */ jr $ra -/* 098004 7F0634D4 27BD0198 */ addiu $sp, $sp, 0x198 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0634D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0634D8 -/* 098008 7F0634D8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 09800C 7F0634DC AFBF001C */ sw $ra, 0x1c($sp) -/* 098010 7F0634E0 240EFF00 */ li $t6, -256 -/* 098014 7F0634E4 0FC18C01 */ jal set_enviro_fog_for_items_in_solo_watch_menu -/* 098018 7F0634E8 AFAE0010 */ sw $t6, 0x10($sp) -/* 09801C 7F0634EC 8FBF001C */ lw $ra, 0x1c($sp) -/* 098020 7F0634F0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 098024 7F0634F4 03E00008 */ jr $ra -/* 098028 7F0634F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0634FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0634FC -/* 09802C 7F0634FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 098030 7F063500 AFBF0014 */ sw $ra, 0x14($sp) -/* 098034 7F063504 0FC18D36 */ jal sub_GAME_7F0634D8 -/* 098038 7F063508 240700FF */ li $a3, 255 -/* 09803C 7F06350C 8FBF0014 */ lw $ra, 0x14($sp) -/* 098040 7F063510 27BD0018 */ addiu $sp, $sp, 0x18 -/* 098044 7F063514 03E00008 */ jr $ra -/* 098048 7F063518 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06351C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06351C -/* 09804C 7F06351C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 098050 7F063520 AFB00018 */ sw $s0, 0x18($sp) -/* 098054 7F063524 8FB00078 */ lw $s0, 0x78($sp) -/* 098058 7F063528 AFBF001C */ sw $ra, 0x1c($sp) -/* 09805C 7F06352C AFA50064 */ sw $a1, 0x64($sp) -/* 098060 7F063530 AFA60068 */ sw $a2, 0x68($sp) -/* 098064 7F063534 AFA7006C */ sw $a3, 0x6c($sp) -/* 098068 7F063538 0FC16259 */ jal init_something_copy_posdata_to_it -/* 09806C 7F06353C 02002825 */ move $a1, $s0 -/* 098070 7F063540 8FA40064 */ lw $a0, 0x64($sp) -/* 098074 7F063544 0FC1601A */ jal sub_GAME_7F058068 -/* 098078 7F063548 02002825 */ move $a1, $s0 -/* 09807C 7F06354C 8FA40068 */ lw $a0, 0x68($sp) -/* 098080 7F063550 0FC1601A */ jal sub_GAME_7F058068 -/* 098084 7F063554 02002825 */ move $a1, $s0 -/* 098088 7F063558 8FA4006C */ lw $a0, 0x6c($sp) -/* 09808C 7F06355C 0FC1601A */ jal sub_GAME_7F058068 -/* 098090 7F063560 02002825 */ move $a1, $s0 -/* 098094 7F063564 8FA40070 */ lw $a0, 0x70($sp) -/* 098098 7F063568 0FC16259 */ jal init_something_copy_posdata_to_it -/* 09809C 7F06356C 27A50020 */ addiu $a1, $sp, 0x20 -/* 0980A0 7F063570 27A40020 */ addiu $a0, $sp, 0x20 -/* 0980A4 7F063574 0FC1601A */ jal sub_GAME_7F058068 -/* 0980A8 7F063578 02002825 */ move $a1, $s0 -/* 0980AC 7F06357C 8FA40074 */ lw $a0, 0x74($sp) -/* 0980B0 7F063580 0FC1601A */ jal sub_GAME_7F058068 -/* 0980B4 7F063584 02002825 */ move $a1, $s0 -/* 0980B8 7F063588 8FBF001C */ lw $ra, 0x1c($sp) -/* 0980BC 7F06358C 8FB00018 */ lw $s0, 0x18($sp) -/* 0980C0 7F063590 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0980C4 7F063594 03E00008 */ jr $ra -/* 0980C8 7F063598 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06359C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053ED4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053ED8 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053EDC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053EE0 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053EE4 -.word 0xbf860a92 /*-1.0471976*/ -glabel D_80053EE8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053EEC -.word 0x3f19999a /*0.60000002*/ -glabel D_80053EF0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053EF4 -.word 0x3f19999a /*0.60000002*/ -glabel D_80053EF8 -.word 0xbe32b8c3 /*-0.17453294*/ -glabel D_80053EFC -.word 0x3f860a92 /*1.0471976*/ -glabel D_80053F00 -.word 0x3e32b8c3 /*0.17453294*/ -glabel D_80053F04 -.word 0x3f860a92 /*1.0471976*/ -glabel D_80053F08 -.word 0xbe32b8c3 /*-0.17453294*/ -glabel D_80053F0C -.word 0x3e32b8c3 /*0.17453294*/ -glabel D_80053F10 -.word 0x3e32b8c3 /*0.17453294*/ -glabel D_80053F14 -.word 0xbe32b8c3 /*-0.17453294*/ -glabel D_80053F18 -.word 0xbf65c8fa /*-0.89759791*/ -glabel D_80053F1C -.word 0xbe32b8c3 /*-0.17453294*/ -glabel D_80053F20 -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F06359C -/* 0980CC 7F06359C 27BDFAC8 */ addiu $sp, $sp, -0x538 -/* 0980D0 7F0635A0 3C0F8003 */ lui $t7, %hi(D_80035D04+0x3C) -/* 0980D4 7F0635A4 AFB30054 */ sw $s3, 0x54($sp) -/* 0980D8 7F0635A8 AFB20050 */ sw $s2, 0x50($sp) -/* 0980DC 7F0635AC 25EF5D40 */ addiu $t7, %lo(D_80035D04+0x3C) # addiu $t7, $t7, 0x5d40 -/* 0980E0 7F0635B0 00C09025 */ move $s2, $a2 -/* 0980E4 7F0635B4 00E09825 */ move $s3, $a3 -/* 0980E8 7F0635B8 AFBF006C */ sw $ra, 0x6c($sp) -/* 0980EC 7F0635BC AFBE0068 */ sw $fp, 0x68($sp) -/* 0980F0 7F0635C0 AFB70064 */ sw $s7, 0x64($sp) -/* 0980F4 7F0635C4 AFB60060 */ sw $s6, 0x60($sp) -/* 0980F8 7F0635C8 AFB5005C */ sw $s5, 0x5c($sp) -/* 0980FC 7F0635CC AFB40058 */ sw $s4, 0x58($sp) -/* 098100 7F0635D0 AFB1004C */ sw $s1, 0x4c($sp) -/* 098104 7F0635D4 AFB00048 */ sw $s0, 0x48($sp) -/* 098108 7F0635D8 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 09810C 7F0635DC F7B60038 */ sdc1 $f22, 0x38($sp) -/* 098110 7F0635E0 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 098114 7F0635E4 AFA40538 */ sw $a0, 0x538($sp) -/* 098118 7F0635E8 AFA5053C */ sw $a1, 0x53c($sp) -/* 09811C 7F0635EC 25E8003C */ addiu $t0, $t7, 0x3c -/* 098120 7F0635F0 27AE04F8 */ addiu $t6, $sp, 0x4f8 -.L7F0635F4: -/* 098124 7F0635F4 8DE10000 */ lw $at, ($t7) -/* 098128 7F0635F8 25EF000C */ addiu $t7, $t7, 0xc -/* 09812C 7F0635FC 25CE000C */ addiu $t6, $t6, 0xc -/* 098130 7F063600 ADC1FFF4 */ sw $at, -0xc($t6) -/* 098134 7F063604 8DE1FFF8 */ lw $at, -8($t7) -/* 098138 7F063608 ADC1FFF8 */ sw $at, -8($t6) -/* 09813C 7F06360C 8DE1FFFC */ lw $at, -4($t7) -/* 098140 7F063610 15E8FFF8 */ bne $t7, $t0, .L7F0635F4 -/* 098144 7F063614 ADC1FFFC */ sw $at, -4($t6) -/* 098148 7F063618 8DE10000 */ lw $at, ($t7) -/* 09814C 7F06361C 00002025 */ move $a0, $zero -/* 098150 7F063620 24050055 */ li $a1, 85 -/* 098154 7F063624 0FC176A3 */ jal sub_GAME_7F05DA8C -/* 098158 7F063628 ADC10000 */ sw $at, ($t6) -/* 09815C 7F06362C 0FC173AF */ jal sub_GAME_7F05CEBC -/* 098160 7F063630 00002025 */ move $a0, $zero -/* 098164 7F063634 10400005 */ beqz $v0, .L7F06364C -/* 098168 7F063638 00000000 */ nop -/* 09816C 7F06363C 0FC173C0 */ jal get_itemtype_in_hand -/* 098170 7F063640 00002025 */ move $a0, $zero -/* 098174 7F063644 14400003 */ bnez $v0, .L7F063654 -/* 098178 7F063648 00000000 */ nop -.L7F06364C: -/* 09817C 7F06364C 10000336 */ b .L7F064328 -/* 098180 7F063650 8FA20538 */ lw $v0, 0x538($sp) -.L7F063654: -/* 098184 7F063654 3C028008 */ lui $v0, %hi(pPlayer) -/* 098188 7F063658 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09818C 7F06365C 8444081E */ lh $a0, 0x81e($v0) -/* 098190 7F063660 24420810 */ addiu $v0, $v0, 0x810 -/* 098194 7F063664 AFA203D8 */ sw $v0, 0x3d8($sp) -/* 098198 7F063668 00044980 */ sll $t1, $a0, 6 -/* 09819C 7F06366C 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 0981A0 7F063670 01202025 */ move $a0, $t1 -/* 0981A4 7F063674 0040B825 */ move $s7, $v0 -/* 0981A8 7F063678 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 0981AC 7F06367C 8FA403D8 */ lw $a0, 0x3d8($sp) -/* 0981B0 7F063680 8FA503D8 */ lw $a1, 0x3d8($sp) -/* 0981B4 7F063684 27A404D8 */ addiu $a0, $sp, 0x4d8 -/* 0981B8 7F063688 0FC1D7DA */ jal sub_GAME_7F075F68 -/* 0981BC 7F06368C 27A60460 */ addiu $a2, $sp, 0x460 -/* 0981C0 7F063690 AFB704E4 */ sw $s7, 0x4e4($sp) -/* 0981C4 7F063694 8FA4053C */ lw $a0, 0x53c($sp) -/* 0981C8 7F063698 0FC16008 */ jal sub_GAME_7F058020 -/* 0981CC 7F06369C 02E02825 */ move $a1, $s7 -/* 0981D0 7F0636A0 240A0004 */ li $t2, 4 -/* 0981D4 7F0636A4 AFAA0070 */ sw $t2, 0x70($sp) -/* 0981D8 7F0636A8 24110001 */ li $s1, 1 -/* 0981DC 7F0636AC 8FB4054C */ lw $s4, 0x54c($sp) -.L7F0636B0: -/* 0981E0 7F0636B0 8FAB03D8 */ lw $t3, 0x3d8($sp) -/* 0981E4 7F0636B4 8FAD0070 */ lw $t5, 0x70($sp) -/* 0981E8 7F0636B8 24010002 */ li $at, 2 -/* 0981EC 7F0636BC 8D6C0008 */ lw $t4, 8($t3) -/* 0981F0 7F0636C0 27A5041C */ addiu $a1, $sp, 0x41c -/* 0981F4 7F0636C4 018DC821 */ addu $t9, $t4, $t5 -/* 0981F8 7F0636C8 8F380000 */ lw $t8, ($t9) -/* 0981FC 7F0636CC 1621002B */ bne $s1, $at, .L7F06377C -/* 098200 7F0636D0 8F100004 */ lw $s0, 4($t8) -/* 098204 7F0636D4 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 098208 7F0636D8 82840000 */ lb $a0, ($s4) -/* 09820C 7F0636DC 44822000 */ mtc1 $v0, $f4 -/* 098210 7F0636E0 3C018005 */ lui $at, %hi(D_80053ED4) -/* 098214 7F0636E4 C42A3ED4 */ lwc1 $f10, %lo(D_80053ED4)($at) -/* 098218 7F0636E8 468021A0 */ cvt.s.w $f6, $f4 -/* 09821C 7F0636EC 3C018005 */ lui $at, %hi(D_80053ED8) -/* 098220 7F0636F0 C4323ED8 */ lwc1 $f18, %lo(D_80053ED8)($at) -/* 098224 7F0636F4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 098228 7F0636F8 27A5041C */ addiu $a1, $sp, 0x41c -/* 09822C 7F0636FC 46003207 */ neg.s $f8, $f6 -/* 098230 7F063700 44813000 */ mtc1 $at, $f6 -/* 098234 7F063704 460A4402 */ mul.s $f16, $f8, $f10 -/* 098238 7F063708 00000000 */ nop -/* 09823C 7F06370C 46128102 */ mul.s $f4, $f16, $f18 -/* 098240 7F063710 0FC161A2 */ jal sub_GAME_7F058688 -/* 098244 7F063714 46062303 */ div.s $f12, $f4, $f6 -/* 098248 7F063718 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 09824C 7F06371C 82840000 */ lb $a0, ($s4) -/* 098250 7F063720 44824000 */ mtc1 $v0, $f8 -/* 098254 7F063724 3C018005 */ lui $at, %hi(D_80053EDC) -/* 098258 7F063728 C4323EDC */ lwc1 $f18, %lo(D_80053EDC)($at) -/* 09825C 7F06372C 468042A0 */ cvt.s.w $f10, $f8 -/* 098260 7F063730 3C018005 */ lui $at, %hi(D_80053EE0) -/* 098264 7F063734 C4263EE0 */ lwc1 $f6, %lo(D_80053EE0)($at) -/* 098268 7F063738 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 09826C 7F06373C 27A503DC */ addiu $a1, $sp, 0x3dc -/* 098270 7F063740 46005407 */ neg.s $f16, $f10 -/* 098274 7F063744 44815000 */ mtc1 $at, $f10 -/* 098278 7F063748 46128102 */ mul.s $f4, $f16, $f18 -/* 09827C 7F06374C 00000000 */ nop -/* 098280 7F063750 46062202 */ mul.s $f8, $f4, $f6 -/* 098284 7F063754 0FC1615C */ jal sub_GAME_7F058570 -/* 098288 7F063758 460A4303 */ div.s $f12, $f8, $f10 -/* 09828C 7F06375C 27A403DC */ addiu $a0, $sp, 0x3dc -/* 098290 7F063760 0FC1601A */ jal sub_GAME_7F058068 -/* 098294 7F063764 27A5041C */ addiu $a1, $sp, 0x41c -/* 098298 7F063768 02002025 */ move $a0, $s0 -/* 09829C 7F06376C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0982A0 7F063770 27A5041C */ addiu $a1, $sp, 0x41c -/* 0982A4 7F063774 10000004 */ b .L7F063788 -/* 0982A8 7F063778 00114180 */ sll $t0, $s1, 6 -.L7F06377C: -/* 0982AC 7F06377C 0FC16259 */ jal init_something_copy_posdata_to_it -/* 0982B0 7F063780 02002025 */ move $a0, $s0 -/* 0982B4 7F063784 00114180 */ sll $t0, $s1, 6 -.L7F063788: -/* 0982B8 7F063788 01173021 */ addu $a2, $t0, $s7 -/* 0982BC 7F06378C 8FA4053C */ lw $a0, 0x53c($sp) -/* 0982C0 7F063790 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0982C4 7F063794 27A5041C */ addiu $a1, $sp, 0x41c -/* 0982C8 7F063798 8FAF0070 */ lw $t7, 0x70($sp) -/* 0982CC 7F06379C 26310001 */ addiu $s1, $s1, 1 -/* 0982D0 7F0637A0 2A21000D */ slti $at, $s1, 0xd -/* 0982D4 7F0637A4 25EE0004 */ addiu $t6, $t7, 4 -/* 0982D8 7F0637A8 1420FFC1 */ bnez $at, .L7F0636B0 -/* 0982DC 7F0637AC AFAE0070 */ sw $t6, 0x70($sp) -/* 0982E0 7F0637B0 0FC1BBF1 */ jal sub_GAME_7F06EFC4 -/* 0982E4 7F0637B4 27A404D8 */ addiu $a0, $sp, 0x4d8 -/* 0982E8 7F0637B8 8FA90538 */ lw $t1, 0x538($sp) -/* 0982EC 7F0637BC 2A4100FF */ slti $at, $s2, 0xff -/* 0982F0 7F0637C0 14200004 */ bnez $at, .L7F0637D4 -/* 0982F4 7F0637C4 AFA90504 */ sw $t1, 0x504($sp) -/* 0982F8 7F0637C8 240A0001 */ li $t2, 1 -/* 0982FC 7F0637CC 10000006 */ b .L7F0637E8 -/* 098300 7F0637D0 AFAA0528 */ sw $t2, 0x528($sp) -.L7F0637D4: -/* 098304 7F0637D4 240B0005 */ li $t3, 5 -/* 098308 7F0637D8 240CFF00 */ li $t4, -256 -/* 09830C 7F0637DC AFAB0528 */ sw $t3, 0x528($sp) -/* 098310 7F0637E0 AFB2052C */ sw $s2, 0x52c($sp) -/* 098314 7F0637E4 AFAC0530 */ sw $t4, 0x530($sp) -.L7F0637E8: -/* 098318 7F0637E8 240D0001 */ li $t5, 1 -/* 09831C 7F0637EC AFAD04FC */ sw $t5, 0x4fc($sp) -/* 098320 7F0637F0 27A404F8 */ addiu $a0, $sp, 0x4f8 -/* 098324 7F0637F4 0FC1D1A1 */ jal subdraw -/* 098328 7F0637F8 27A504D8 */ addiu $a1, $sp, 0x4d8 -/* 09832C 7F0637FC 8FB90504 */ lw $t9, 0x504($sp) -/* 098330 7F063800 0FC16319 */ jal sub_GAME_7F058C64 -/* 098334 7F063804 AFB90538 */ sw $t9, 0x538($sp) -/* 098338 7F063808 8FB803D8 */ lw $t8, 0x3d8($sp) -/* 09833C 7F06380C 00008825 */ move $s1, $zero -/* 098340 7F063810 00008025 */ move $s0, $zero -/* 098344 7F063814 8708000E */ lh $t0, 0xe($t8) -/* 098348 7F063818 19000011 */ blez $t0, .L7F063860 -/* 09834C 7F06381C 00000000 */ nop -/* 098350 7F063820 8FAF04E4 */ lw $t7, 0x4e4($sp) -.L7F063824: -/* 098354 7F063824 27A5041C */ addiu $a1, $sp, 0x41c -/* 098358 7F063828 0FC16008 */ jal sub_GAME_7F058020 -/* 09835C 7F06382C 01F02021 */ addu $a0, $t7, $s0 -/* 098360 7F063830 8FA904E4 */ lw $t1, 0x4e4($sp) -/* 098364 7F063834 00117180 */ sll $t6, $s1, 6 -/* 098368 7F063838 27A4041C */ addiu $a0, $sp, 0x41c -/* 09836C 7F06383C 0FC16327 */ jal sub_GAME_7F058C9C -/* 098370 7F063840 01C92821 */ addu $a1, $t6, $t1 -/* 098374 7F063844 8FAA03D8 */ lw $t2, 0x3d8($sp) -/* 098378 7F063848 26310001 */ addiu $s1, $s1, 1 -/* 09837C 7F06384C 26100040 */ addiu $s0, $s0, 0x40 -/* 098380 7F063850 854B000E */ lh $t3, 0xe($t2) -/* 098384 7F063854 022B082A */ slt $at, $s1, $t3 -/* 098388 7F063858 5420FFF2 */ bnezl $at, .L7F063824 -/* 09838C 7F06385C 8FAF04E4 */ lw $t7, 0x4e4($sp) -.L7F063860: -/* 098390 7F063860 0FC16322 */ jal sub_GAME_7F058C88 -/* 098394 7F063864 00000000 */ nop -/* 098398 7F063868 126002AE */ beqz $s3, .L7F064324 -/* 09839C 7F06386C 8FAC03D8 */ lw $t4, 0x3d8($sp) -/* 0983A0 7F063870 8D8D0008 */ lw $t5, 8($t4) -/* 0983A4 7F063874 00008825 */ move $s1, $zero -/* 0983A8 7F063878 8DA50034 */ lw $a1, 0x34($t5) -/* 0983AC 7F06387C 50A00005 */ beql $a1, $zero, .L7F063894 -/* 0983B0 7F063880 8FB903D8 */ lw $t9, 0x3d8($sp) -/* 0983B4 7F063884 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0983B8 7F063888 27A404D8 */ addiu $a0, $sp, 0x4d8 -/* 0983BC 7F06388C AC400000 */ sw $zero, ($v0) -/* 0983C0 7F063890 8FB903D8 */ lw $t9, 0x3d8($sp) -.L7F063894: -/* 0983C4 7F063894 8724000E */ lh $a0, 0xe($t9) -/* 0983C8 7F063898 0004C180 */ sll $t8, $a0, 6 -/* 0983CC 7F06389C 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 0983D0 7F0638A0 03002025 */ move $a0, $t8 -/* 0983D4 7F0638A4 3C018005 */ lui $at, %hi(D_80053EE4) -/* 0983D8 7F0638A8 C4363EE4 */ lwc1 $f22, %lo(D_80053EE4)($at) -/* 0983DC 7F0638AC 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 0983E0 7F0638B0 4481A000 */ mtc1 $at, $f20 -/* 0983E4 7F0638B4 4480C000 */ mtc1 $zero, $f24 -/* 0983E8 7F0638B8 0040B825 */ move $s7, $v0 -/* 0983EC 7F0638BC AFA204E4 */ sw $v0, 0x4e4($sp) -/* 0983F0 7F0638C0 8FBE0548 */ lw $fp, 0x548($sp) -/* 0983F4 7F0638C4 27B601CC */ addiu $s6, $sp, 0x1cc -/* 0983F8 7F0638C8 27B5020C */ addiu $s5, $sp, 0x20c -/* 0983FC 7F0638CC 27B3024C */ addiu $s3, $sp, 0x24c -/* 098400 7F0638D0 27B2028C */ addiu $s2, $sp, 0x28c -/* 098404 7F0638D4 27B0038C */ addiu $s0, $sp, 0x38c -/* 098408 7F0638D8 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -.L7F0638DC: -/* 09840C 7F0638DC 44810000 */ mtc1 $at, $f0 -/* 098410 7F0638E0 3C01C328 */ li $at, 0xC3280000 # -168.000000 -/* 098414 7F0638E4 44811000 */ mtc1 $at, $f2 -/* 098418 7F0638E8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 09841C 7F0638EC 44818000 */ mtc1 $at, $f16 -/* 098420 7F0638F0 44050000 */ mfc1 $a1, $f0 -/* 098424 7F0638F4 44071000 */ mfc1 $a3, $f2 -/* 098428 7F0638F8 02A02025 */ move $a0, $s5 -/* 09842C 7F0638FC 3C0644FA */ lui $a2, 0x44fa -/* 098430 7F063900 E7B80014 */ swc1 $f24, 0x14($sp) -/* 098434 7F063904 E7B8001C */ swc1 $f24, 0x1c($sp) -/* 098438 7F063908 E7B80020 */ swc1 $f24, 0x20($sp) -/* 09843C 7F06390C E7A00010 */ swc1 $f0, 0x10($sp) -/* 098440 7F063910 E7A20018 */ swc1 $f2, 0x18($sp) -/* 098444 7F063914 0FC165A5 */ jal sub_GAME_7F059694 -/* 098448 7F063918 E7B00024 */ swc1 $f16, 0x24($sp) -/* 09844C 7F06391C 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 098450 7F063920 44810000 */ mtc1 $at, $f0 -/* 098454 7F063924 3C01C328 */ li $at, 0xC3280000 # -168.000000 -/* 098458 7F063928 44811000 */ mtc1 $at, $f2 -/* 09845C 7F06392C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 098460 7F063930 44819000 */ mtc1 $at, $f18 -/* 098464 7F063934 44050000 */ mfc1 $a1, $f0 -/* 098468 7F063938 44071000 */ mfc1 $a3, $f2 -/* 09846C 7F06393C 02002025 */ move $a0, $s0 -/* 098470 7F063940 3C0644FA */ lui $a2, 0x44fa -/* 098474 7F063944 E7B80014 */ swc1 $f24, 0x14($sp) -/* 098478 7F063948 E7B8001C */ swc1 $f24, 0x1c($sp) -/* 09847C 7F06394C E7B80020 */ swc1 $f24, 0x20($sp) -/* 098480 7F063950 E7A00010 */ swc1 $f0, 0x10($sp) -/* 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 reset_array_of_0x10_floats -/* 098494 7F063964 02602025 */ move $a0, $s3 -/* 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 -/* 0984A8 7F063978 27A502CC */ addiu $a1, $sp, 0x2cc -/* 0984AC 7F06397C 24010002 */ li $at, 2 -/* 0984B0 7F063980 5621003D */ bnel $s1, $at, .L7F063A78 -/* 0984B4 7F063984 2401000B */ li $at, 11 -/* 0984B8 7F063988 8FC10058 */ lw $at, 0x58($fp) -/* 0984BC 7F06398C 27A401C0 */ addiu $a0, $sp, 0x1c0 -/* 0984C0 7F063990 27A5034C */ addiu $a1, $sp, 0x34c -/* 0984C4 7F063994 AC810000 */ sw $at, ($a0) -/* 0984C8 7F063998 8FCF005C */ lw $t7, 0x5c($fp) -/* 0984CC 7F06399C AC8F0004 */ sw $t7, 4($a0) -/* 0984D0 7F0639A0 8FC10060 */ lw $at, 0x60($fp) -/* 0984D4 7F0639A4 0FC16259 */ jal init_something_copy_posdata_to_it -/* 0984D8 7F0639A8 AC810008 */ sw $at, 8($a0) -/* 0984DC 7F0639AC 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0984E0 7F0639B0 82840000 */ lb $a0, ($s4) -/* 0984E4 7F0639B4 44822000 */ mtc1 $v0, $f4 -/* 0984E8 7F0639B8 3C018005 */ lui $at, %hi(D_80053EE8) -/* 0984EC 7F0639BC C42A3EE8 */ lwc1 $f10, %lo(D_80053EE8)($at) -/* 0984F0 7F0639C0 468021A0 */ cvt.s.w $f6, $f4 -/* 0984F4 7F0639C4 3C018005 */ lui $at, %hi(D_80053EEC) -/* 0984F8 7F0639C8 C4323EEC */ lwc1 $f18, %lo(D_80053EEC)($at) -/* 0984FC 7F0639CC 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 098500 7F0639D0 27A5041C */ addiu $a1, $sp, 0x41c -/* 098504 7F0639D4 46003207 */ neg.s $f8, $f6 -/* 098508 7F0639D8 44813000 */ mtc1 $at, $f6 -/* 09850C 7F0639DC 460A4402 */ mul.s $f16, $f8, $f10 -/* 098510 7F0639E0 00000000 */ nop -/* 098514 7F0639E4 46128102 */ mul.s $f4, $f16, $f18 -/* 098518 7F0639E8 0FC161A2 */ jal sub_GAME_7F058688 -/* 09851C 7F0639EC 46062303 */ div.s $f12, $f4, $f6 -/* 098520 7F0639F0 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 098524 7F0639F4 82840000 */ lb $a0, ($s4) -/* 098528 7F0639F8 44824000 */ mtc1 $v0, $f8 -/* 09852C 7F0639FC 3C018005 */ lui $at, %hi(D_80053EF0) -/* 098530 7F063A00 C4323EF0 */ lwc1 $f18, %lo(D_80053EF0)($at) -/* 098534 7F063A04 468042A0 */ cvt.s.w $f10, $f8 -/* 098538 7F063A08 3C018005 */ lui $at, %hi(D_80053EF4) -/* 09853C 7F063A0C C4263EF4 */ lwc1 $f6, %lo(D_80053EF4)($at) -/* 098540 7F063A10 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 098544 7F063A14 27A503DC */ addiu $a1, $sp, 0x3dc -/* 098548 7F063A18 46005407 */ neg.s $f16, $f10 -/* 09854C 7F063A1C 44815000 */ mtc1 $at, $f10 -/* 098550 7F063A20 46128102 */ mul.s $f4, $f16, $f18 -/* 098554 7F063A24 00000000 */ nop -/* 098558 7F063A28 46062202 */ mul.s $f8, $f4, $f6 -/* 09855C 7F063A2C 0FC1615C */ jal sub_GAME_7F058570 -/* 098560 7F063A30 460A4303 */ div.s $f12, $f8, $f10 -/* 098564 7F063A34 27A403DC */ addiu $a0, $sp, 0x3dc -/* 098568 7F063A38 0FC1601A */ jal sub_GAME_7F058068 -/* 09856C 7F063A3C 27A5041C */ addiu $a1, $sp, 0x41c -/* 098570 7F063A40 27A4034C */ addiu $a0, $sp, 0x34c -/* 098574 7F063A44 0FC1601A */ jal sub_GAME_7F058068 -/* 098578 7F063A48 27A5041C */ addiu $a1, $sp, 0x41c -/* 09857C 7F063A4C 02A02025 */ move $a0, $s5 -/* 098580 7F063A50 27A5041C */ addiu $a1, $sp, 0x41c -/* 098584 7F063A54 0FC16032 */ jal sub_GAME_7F0580C8 -/* 098588 7F063A58 27A6030C */ addiu $a2, $sp, 0x30c -/* 09858C 7F063A5C 00117180 */ sll $t6, $s1, 6 -/* 098590 7F063A60 01D72821 */ addu $a1, $t6, $s7 -/* 098594 7F063A64 0FC16008 */ jal sub_GAME_7F058020 -/* 098598 7F063A68 27A4030C */ addiu $a0, $sp, 0x30c -/* 09859C 7F063A6C 10000208 */ b .L7F064290 -/* 0985A0 7F063A70 26310001 */ addiu $s1, $s1, 1 -/* 0985A4 7F063A74 2401000B */ li $at, 11 -.L7F063A78: -/* 0985A8 7F063A78 1621002B */ bne $s1, $at, .L7F063B28 -/* 0985AC 7F063A7C 3C0A8003 */ lui $t2, %hi(D_80035D44+0x3C) -/* 0985B0 7F063A80 254A5D80 */ addiu $t2, %lo(D_80035D44+0x3C) # addiu $t2, $t2, 0x5d80 -/* 0985B4 7F063A84 8D410000 */ lw $at, ($t2) -/* 0985B8 7F063A88 27A901A8 */ addiu $t1, $sp, 0x1a8 -/* 0985BC 7F063A8C 8D4C0004 */ lw $t4, 4($t2) -/* 0985C0 7F063A90 AD210000 */ sw $at, ($t1) -/* 0985C4 7F063A94 8D410008 */ lw $at, 8($t2) -/* 0985C8 7F063A98 AD2C0004 */ sw $t4, 4($t1) -/* 0985CC 7F063A9C 27AD01B4 */ addiu $t5, $sp, 0x1b4 -/* 0985D0 7F063AA0 AD210008 */ sw $at, 8($t1) -/* 0985D4 7F063AA4 8FC100C4 */ lw $at, 0xc4($fp) -/* 0985D8 7F063AA8 24050010 */ li $a1, 16 -/* 0985DC 7F063AAC ADA10000 */ sw $at, ($t5) -/* 0985E0 7F063AB0 8FD800C8 */ lw $t8, 0xc8($fp) -/* 0985E4 7F063AB4 ADB80004 */ sw $t8, 4($t5) -/* 0985E8 7F063AB8 8FC100CC */ lw $at, 0xcc($fp) -/* 0985EC 7F063ABC ADA10008 */ sw $at, 8($t5) -/* 0985F0 7F063AC0 0C0030C3 */ jal get_controller_buttons_held -/* 0985F4 7F063AC4 82840000 */ lb $a0, ($s4) -/* 0985F8 7F063AC8 10400004 */ beqz $v0, .L7F063ADC -/* 0985FC 7F063ACC 3C018005 */ lui $at, %hi(D_80053EF8) -/* 098600 7F063AD0 C42C3EF8 */ lwc1 $f12, %lo(D_80053EF8)($at) -/* 098604 7F063AD4 0FC1617F */ jal sub_GAME_7F0585FC -/* 098608 7F063AD8 02602825 */ move $a1, $s3 -.L7F063ADC: -/* 09860C 7F063ADC 3C018005 */ lui $at, %hi(D_80053EFC) -/* 098610 7F063AE0 C42C3EFC */ lwc1 $f12, %lo(D_80053EFC)($at) -/* 098614 7F063AE4 0FC1615C */ jal sub_GAME_7F058570 -/* 098618 7F063AE8 02402825 */ move $a1, $s2 -/* 09861C 7F063AEC 27A801B4 */ addiu $t0, $sp, 0x1b4 -/* 098620 7F063AF0 AFA80010 */ sw $t0, 0x10($sp) -/* 098624 7F063AF4 27A401A8 */ addiu $a0, $sp, 0x1a8 -/* 098628 7F063AF8 02602825 */ move $a1, $s3 -/* 09862C 7F063AFC 02403025 */ move $a2, $s2 -/* 098630 7F063B00 02C03825 */ move $a3, $s6 -/* 098634 7F063B04 AFB50014 */ sw $s5, 0x14($sp) -/* 098638 7F063B08 0FC18D47 */ jal sub_GAME_7F06351C -/* 09863C 7F063B0C AFB00018 */ sw $s0, 0x18($sp) -/* 098640 7F063B10 00117980 */ sll $t7, $s1, 6 -/* 098644 7F063B14 01F72821 */ addu $a1, $t7, $s7 -/* 098648 7F063B18 0FC16008 */ jal sub_GAME_7F058020 -/* 09864C 7F063B1C 02002025 */ move $a0, $s0 -/* 098650 7F063B20 100001DB */ b .L7F064290 -/* 098654 7F063B24 26310001 */ addiu $s1, $s1, 1 -.L7F063B28: -/* 098658 7F063B28 24010004 */ li $at, 4 -/* 09865C 7F063B2C 16210029 */ bne $s1, $at, .L7F063BD4 -/* 098660 7F063B30 3C0B8003 */ lui $t3, %hi(D_80035D44+0x48) -/* 098664 7F063B34 256B5D8C */ addiu $t3, %lo(D_80035D44+0x48) # addiu $t3, $t3, 0x5d8c -/* 098668 7F063B38 8D610000 */ lw $at, ($t3) -/* 09866C 7F063B3C 27AE0190 */ addiu $t6, $sp, 0x190 -/* 098670 7F063B40 8D6A0004 */ lw $t2, 4($t3) -/* 098674 7F063B44 ADC10000 */ sw $at, ($t6) -/* 098678 7F063B48 8D610008 */ lw $at, 8($t3) -/* 09867C 7F063B4C ADCA0004 */ sw $t2, 4($t6) -/* 098680 7F063B50 27AC019C */ addiu $t4, $sp, 0x19c -/* 098684 7F063B54 ADC10008 */ sw $at, 8($t6) -/* 098688 7F063B58 8FC10070 */ lw $at, 0x70($fp) -/* 09868C 7F063B5C 24050008 */ li $a1, 8 -/* 098690 7F063B60 AD810000 */ sw $at, ($t4) -/* 098694 7F063B64 8FCD0074 */ lw $t5, 0x74($fp) -/* 098698 7F063B68 AD8D0004 */ sw $t5, 4($t4) -/* 09869C 7F063B6C 8FC10078 */ lw $at, 0x78($fp) -/* 0986A0 7F063B70 AD810008 */ sw $at, 8($t4) -/* 0986A4 7F063B74 0C0030C3 */ jal get_controller_buttons_held -/* 0986A8 7F063B78 82840000 */ lb $a0, ($s4) -/* 0986AC 7F063B7C 10400004 */ beqz $v0, .L7F063B90 -/* 0986B0 7F063B80 4600B306 */ mov.s $f12, $f22 -/* 0986B4 7F063B84 C7B00194 */ lwc1 $f16, 0x194($sp) -/* 0986B8 7F063B88 46148480 */ add.s $f18, $f16, $f20 -/* 0986BC 7F063B8C E7B20194 */ swc1 $f18, 0x194($sp) -.L7F063B90: -/* 0986C0 7F063B90 0FC1615C */ jal sub_GAME_7F058570 -/* 0986C4 7F063B94 02402825 */ move $a1, $s2 -/* 0986C8 7F063B98 27B8019C */ addiu $t8, $sp, 0x19c -/* 0986CC 7F063B9C AFB80010 */ sw $t8, 0x10($sp) -/* 0986D0 7F063BA0 27A40190 */ addiu $a0, $sp, 0x190 -/* 0986D4 7F063BA4 02602825 */ move $a1, $s3 -/* 0986D8 7F063BA8 02403025 */ move $a2, $s2 -/* 0986DC 7F063BAC 02C03825 */ move $a3, $s6 -/* 0986E0 7F063BB0 AFB50014 */ sw $s5, 0x14($sp) -/* 0986E4 7F063BB4 0FC18D47 */ jal sub_GAME_7F06351C -/* 0986E8 7F063BB8 AFB00018 */ sw $s0, 0x18($sp) -/* 0986EC 7F063BBC 00114180 */ sll $t0, $s1, 6 -/* 0986F0 7F063BC0 01172821 */ addu $a1, $t0, $s7 -/* 0986F4 7F063BC4 0FC16008 */ jal sub_GAME_7F058020 -/* 0986F8 7F063BC8 02002025 */ move $a0, $s0 -/* 0986FC 7F063BCC 100001B0 */ b .L7F064290 -/* 098700 7F063BD0 26310001 */ addiu $s1, $s1, 1 -.L7F063BD4: -/* 098704 7F063BD4 24010005 */ li $at, 5 -/* 098708 7F063BD8 16210029 */ bne $s1, $at, .L7F063C80 -/* 09870C 7F063BDC 3C098003 */ lui $t1, %hi(D_80035D44+0x54) -/* 098710 7F063BE0 25295D98 */ addiu $t1, %lo(D_80035D44+0x54) # addiu $t1, $t1, 0x5d98 -/* 098714 7F063BE4 8D210000 */ lw $at, ($t1) -/* 098718 7F063BE8 27AF0178 */ addiu $t7, $sp, 0x178 -/* 09871C 7F063BEC 8D2B0004 */ lw $t3, 4($t1) -/* 098720 7F063BF0 ADE10000 */ sw $at, ($t7) -/* 098724 7F063BF4 8D210008 */ lw $at, 8($t1) -/* 098728 7F063BF8 ADEB0004 */ sw $t3, 4($t7) -/* 09872C 7F063BFC 27AA0184 */ addiu $t2, $sp, 0x184 -/* 098730 7F063C00 ADE10008 */ sw $at, 8($t7) -/* 098734 7F063C04 8FC1007C */ lw $at, 0x7c($fp) -/* 098738 7F063C08 24050004 */ li $a1, 4 -/* 09873C 7F063C0C AD410000 */ sw $at, ($t2) -/* 098740 7F063C10 8FCC0080 */ lw $t4, 0x80($fp) -/* 098744 7F063C14 AD4C0004 */ sw $t4, 4($t2) -/* 098748 7F063C18 8FC10084 */ lw $at, 0x84($fp) -/* 09874C 7F063C1C AD410008 */ sw $at, 8($t2) -/* 098750 7F063C20 0C0030C3 */ jal get_controller_buttons_held -/* 098754 7F063C24 82840000 */ lb $a0, ($s4) -/* 098758 7F063C28 10400004 */ beqz $v0, .L7F063C3C -/* 09875C 7F063C2C 4600B306 */ mov.s $f12, $f22 -/* 098760 7F063C30 C7A4017C */ lwc1 $f4, 0x17c($sp) -/* 098764 7F063C34 46142180 */ add.s $f6, $f4, $f20 -/* 098768 7F063C38 E7A6017C */ swc1 $f6, 0x17c($sp) -.L7F063C3C: -/* 09876C 7F063C3C 0FC1615C */ jal sub_GAME_7F058570 -/* 098770 7F063C40 02402825 */ move $a1, $s2 -/* 098774 7F063C44 27AD0184 */ addiu $t5, $sp, 0x184 -/* 098778 7F063C48 AFAD0010 */ sw $t5, 0x10($sp) -/* 09877C 7F063C4C 27A40178 */ addiu $a0, $sp, 0x178 -/* 098780 7F063C50 02602825 */ move $a1, $s3 -/* 098784 7F063C54 02403025 */ move $a2, $s2 -/* 098788 7F063C58 02C03825 */ move $a3, $s6 -/* 09878C 7F063C5C AFB50014 */ sw $s5, 0x14($sp) -/* 098790 7F063C60 0FC18D47 */ jal sub_GAME_7F06351C -/* 098794 7F063C64 AFB00018 */ sw $s0, 0x18($sp) -/* 098798 7F063C68 0011C180 */ sll $t8, $s1, 6 -/* 09879C 7F063C6C 03172821 */ addu $a1, $t8, $s7 -/* 0987A0 7F063C70 0FC16008 */ jal sub_GAME_7F058020 -/* 0987A4 7F063C74 02002025 */ move $a0, $s0 -/* 0987A8 7F063C78 10000185 */ b .L7F064290 -/* 0987AC 7F063C7C 26310001 */ addiu $s1, $s1, 1 -.L7F063C80: -/* 0987B0 7F063C80 24010006 */ li $at, 6 -/* 0987B4 7F063C84 16210029 */ bne $s1, $at, .L7F063D2C -/* 0987B8 7F063C88 3C0E8003 */ lui $t6, %hi(D_80035D44+0x60) -/* 0987BC 7F063C8C 25CE5DA4 */ addiu $t6, %lo(D_80035D44+0x60) # addiu $t6, $t6, 0x5da4 -/* 0987C0 7F063C90 8DC10000 */ lw $at, ($t6) -/* 0987C4 7F063C94 27A80160 */ addiu $t0, $sp, 0x160 -/* 0987C8 7F063C98 8DC90004 */ lw $t1, 4($t6) -/* 0987CC 7F063C9C AD010000 */ sw $at, ($t0) -/* 0987D0 7F063CA0 8DC10008 */ lw $at, 8($t6) -/* 0987D4 7F063CA4 AD090004 */ sw $t1, 4($t0) -/* 0987D8 7F063CA8 27AB016C */ addiu $t3, $sp, 0x16c -/* 0987DC 7F063CAC AD010008 */ sw $at, 8($t0) -/* 0987E0 7F063CB0 8FC10088 */ lw $at, 0x88($fp) -/* 0987E4 7F063CB4 24050002 */ li $a1, 2 -/* 0987E8 7F063CB8 AD610000 */ sw $at, ($t3) -/* 0987EC 7F063CBC 8FCA008C */ lw $t2, 0x8c($fp) -/* 0987F0 7F063CC0 AD6A0004 */ sw $t2, 4($t3) -/* 0987F4 7F063CC4 8FC10090 */ lw $at, 0x90($fp) -/* 0987F8 7F063CC8 AD610008 */ sw $at, 8($t3) -/* 0987FC 7F063CCC 0C0030C3 */ jal get_controller_buttons_held -/* 098800 7F063CD0 82840000 */ lb $a0, ($s4) -/* 098804 7F063CD4 10400004 */ beqz $v0, .L7F063CE8 -/* 098808 7F063CD8 4600B306 */ mov.s $f12, $f22 -/* 09880C 7F063CDC C7A80164 */ lwc1 $f8, 0x164($sp) -/* 098810 7F063CE0 46144280 */ add.s $f10, $f8, $f20 -/* 098814 7F063CE4 E7AA0164 */ swc1 $f10, 0x164($sp) -.L7F063CE8: -/* 098818 7F063CE8 0FC1615C */ jal sub_GAME_7F058570 -/* 09881C 7F063CEC 02402825 */ move $a1, $s2 -/* 098820 7F063CF0 27AC016C */ addiu $t4, $sp, 0x16c -/* 098824 7F063CF4 AFAC0010 */ sw $t4, 0x10($sp) -/* 098828 7F063CF8 27A40160 */ addiu $a0, $sp, 0x160 -/* 09882C 7F063CFC 02602825 */ move $a1, $s3 -/* 098830 7F063D00 02403025 */ move $a2, $s2 -/* 098834 7F063D04 02C03825 */ move $a3, $s6 -/* 098838 7F063D08 AFB50014 */ sw $s5, 0x14($sp) -/* 09883C 7F063D0C 0FC18D47 */ jal sub_GAME_7F06351C -/* 098840 7F063D10 AFB00018 */ sw $s0, 0x18($sp) -/* 098844 7F063D14 00116980 */ sll $t5, $s1, 6 -/* 098848 7F063D18 01B72821 */ addu $a1, $t5, $s7 -/* 09884C 7F063D1C 0FC16008 */ jal sub_GAME_7F058020 -/* 098850 7F063D20 02002025 */ move $a0, $s0 -/* 098854 7F063D24 1000015A */ b .L7F064290 -/* 098858 7F063D28 26310001 */ addiu $s1, $s1, 1 -.L7F063D2C: -/* 09885C 7F063D2C 24010007 */ li $at, 7 -/* 098860 7F063D30 16210029 */ bne $s1, $at, .L7F063DD8 -/* 098864 7F063D34 3C0F8003 */ lui $t7, %hi(D_80035D44+0x6C) -/* 098868 7F063D38 25EF5DB0 */ addiu $t7, %lo(D_80035D44+0x6C) # addiu $t7, $t7, 0x5db0 -/* 09886C 7F063D3C 8DE10000 */ lw $at, ($t7) -/* 098870 7F063D40 27B80148 */ addiu $t8, $sp, 0x148 -/* 098874 7F063D44 8DEE0004 */ lw $t6, 4($t7) -/* 098878 7F063D48 AF010000 */ sw $at, ($t8) -/* 09887C 7F063D4C 8DE10008 */ lw $at, 8($t7) -/* 098880 7F063D50 AF0E0004 */ sw $t6, 4($t8) -/* 098884 7F063D54 27A90154 */ addiu $t1, $sp, 0x154 -/* 098888 7F063D58 AF010008 */ sw $at, 8($t8) -/* 09888C 7F063D5C 8FC10094 */ lw $at, 0x94($fp) -/* 098890 7F063D60 24050001 */ li $a1, 1 -/* 098894 7F063D64 AD210000 */ sw $at, ($t1) -/* 098898 7F063D68 8FCB0098 */ lw $t3, 0x98($fp) -/* 09889C 7F063D6C AD2B0004 */ sw $t3, 4($t1) -/* 0988A0 7F063D70 8FC1009C */ lw $at, 0x9c($fp) -/* 0988A4 7F063D74 AD210008 */ sw $at, 8($t1) -/* 0988A8 7F063D78 0C0030C3 */ jal get_controller_buttons_held -/* 0988AC 7F063D7C 82840000 */ lb $a0, ($s4) -/* 0988B0 7F063D80 10400004 */ beqz $v0, .L7F063D94 -/* 0988B4 7F063D84 4600B306 */ mov.s $f12, $f22 -/* 0988B8 7F063D88 C7B0014C */ lwc1 $f16, 0x14c($sp) -/* 0988BC 7F063D8C 46148480 */ add.s $f18, $f16, $f20 -/* 0988C0 7F063D90 E7B2014C */ swc1 $f18, 0x14c($sp) -.L7F063D94: -/* 0988C4 7F063D94 0FC1615C */ jal sub_GAME_7F058570 -/* 0988C8 7F063D98 02402825 */ move $a1, $s2 -/* 0988CC 7F063D9C 27AA0154 */ addiu $t2, $sp, 0x154 -/* 0988D0 7F063DA0 AFAA0010 */ sw $t2, 0x10($sp) -/* 0988D4 7F063DA4 27A40148 */ addiu $a0, $sp, 0x148 -/* 0988D8 7F063DA8 02602825 */ move $a1, $s3 -/* 0988DC 7F063DAC 02403025 */ move $a2, $s2 -/* 0988E0 7F063DB0 02C03825 */ move $a3, $s6 -/* 0988E4 7F063DB4 AFB50014 */ sw $s5, 0x14($sp) -/* 0988E8 7F063DB8 0FC18D47 */ jal sub_GAME_7F06351C -/* 0988EC 7F063DBC AFB00018 */ sw $s0, 0x18($sp) -/* 0988F0 7F063DC0 00116180 */ sll $t4, $s1, 6 -/* 0988F4 7F063DC4 01972821 */ addu $a1, $t4, $s7 -/* 0988F8 7F063DC8 0FC16008 */ jal sub_GAME_7F058020 -/* 0988FC 7F063DCC 02002025 */ move $a0, $s0 -/* 098900 7F063DD0 1000012F */ b .L7F064290 -/* 098904 7F063DD4 26310001 */ addiu $s1, $s1, 1 -.L7F063DD8: -/* 098908 7F063DD8 24010009 */ li $at, 9 -/* 09890C 7F063DDC 16210029 */ bne $s1, $at, .L7F063E84 -/* 098910 7F063DE0 3C088003 */ lui $t0, %hi(D_80035D44+0x78) -/* 098914 7F063DE4 25085DBC */ addiu $t0, %lo(D_80035D44+0x78) # addiu $t0, $t0, 0x5dbc -/* 098918 7F063DE8 8D010000 */ lw $at, ($t0) -/* 09891C 7F063DEC 27AD0130 */ addiu $t5, $sp, 0x130 -/* 098920 7F063DF0 8D0F0004 */ lw $t7, 4($t0) -/* 098924 7F063DF4 ADA10000 */ sw $at, ($t5) -/* 098928 7F063DF8 8D010008 */ lw $at, 8($t0) -/* 09892C 7F063DFC ADAF0004 */ sw $t7, 4($t5) -/* 098930 7F063E00 27AE013C */ addiu $t6, $sp, 0x13c -/* 098934 7F063E04 ADA10008 */ sw $at, 8($t5) -/* 098938 7F063E08 8FC100AC */ lw $at, 0xac($fp) -/* 09893C 7F063E0C 24054000 */ li $a1, 16384 -/* 098940 7F063E10 ADC10000 */ sw $at, ($t6) -/* 098944 7F063E14 8FC900B0 */ lw $t1, 0xb0($fp) -/* 098948 7F063E18 ADC90004 */ sw $t1, 4($t6) -/* 09894C 7F063E1C 8FC100B4 */ lw $at, 0xb4($fp) -/* 098950 7F063E20 ADC10008 */ sw $at, 8($t6) -/* 098954 7F063E24 0C0030C3 */ jal get_controller_buttons_held -/* 098958 7F063E28 82840000 */ lb $a0, ($s4) -/* 09895C 7F063E2C 10400004 */ beqz $v0, .L7F063E40 -/* 098960 7F063E30 4600B306 */ mov.s $f12, $f22 -/* 098964 7F063E34 C7A40134 */ lwc1 $f4, 0x134($sp) -/* 098968 7F063E38 46142180 */ add.s $f6, $f4, $f20 -/* 09896C 7F063E3C E7A60134 */ swc1 $f6, 0x134($sp) -.L7F063E40: -/* 098970 7F063E40 0FC1615C */ jal sub_GAME_7F058570 -/* 098974 7F063E44 02402825 */ move $a1, $s2 -/* 098978 7F063E48 27AB013C */ addiu $t3, $sp, 0x13c -/* 09897C 7F063E4C AFAB0010 */ sw $t3, 0x10($sp) -/* 098980 7F063E50 27A40130 */ addiu $a0, $sp, 0x130 -/* 098984 7F063E54 02602825 */ move $a1, $s3 -/* 098988 7F063E58 02403025 */ move $a2, $s2 -/* 09898C 7F063E5C 02C03825 */ move $a3, $s6 -/* 098990 7F063E60 AFB50014 */ sw $s5, 0x14($sp) -/* 098994 7F063E64 0FC18D47 */ jal sub_GAME_7F06351C -/* 098998 7F063E68 AFB00018 */ sw $s0, 0x18($sp) -/* 09899C 7F063E6C 00115180 */ sll $t2, $s1, 6 -/* 0989A0 7F063E70 01572821 */ addu $a1, $t2, $s7 -/* 0989A4 7F063E74 0FC16008 */ jal sub_GAME_7F058020 -/* 0989A8 7F063E78 02002025 */ move $a0, $s0 -/* 0989AC 7F063E7C 10000104 */ b .L7F064290 -/* 0989B0 7F063E80 26310001 */ addiu $s1, $s1, 1 -.L7F063E84: -/* 0989B4 7F063E84 24010008 */ li $at, 8 -/* 0989B8 7F063E88 16210029 */ bne $s1, $at, .L7F063F30 -/* 0989BC 7F063E8C 3C188003 */ lui $t8, %hi(D_80035D44+0x84) -/* 0989C0 7F063E90 27185DC8 */ addiu $t8, %lo(D_80035D44+0x84) # addiu $t8, $t8, 0x5dc8 -/* 0989C4 7F063E94 8F010000 */ lw $at, ($t8) -/* 0989C8 7F063E98 27AC0118 */ addiu $t4, $sp, 0x118 -/* 0989CC 7F063E9C 8F080004 */ lw $t0, 4($t8) -/* 0989D0 7F063EA0 AD810000 */ sw $at, ($t4) -/* 0989D4 7F063EA4 8F010008 */ lw $at, 8($t8) -/* 0989D8 7F063EA8 AD880004 */ sw $t0, 4($t4) -/* 0989DC 7F063EAC 27AF0124 */ addiu $t7, $sp, 0x124 -/* 0989E0 7F063EB0 AD810008 */ sw $at, 8($t4) -/* 0989E4 7F063EB4 8FC100A0 */ lw $at, 0xa0($fp) -/* 0989E8 7F063EB8 34058000 */ li $a1, 32768 -/* 0989EC 7F063EBC ADE10000 */ sw $at, ($t7) -/* 0989F0 7F063EC0 8FCE00A4 */ lw $t6, 0xa4($fp) -/* 0989F4 7F063EC4 ADEE0004 */ sw $t6, 4($t7) -/* 0989F8 7F063EC8 8FC100A8 */ lw $at, 0xa8($fp) -/* 0989FC 7F063ECC ADE10008 */ sw $at, 8($t7) -/* 098A00 7F063ED0 0C0030C3 */ jal get_controller_buttons_held -/* 098A04 7F063ED4 82840000 */ lb $a0, ($s4) -/* 098A08 7F063ED8 10400004 */ beqz $v0, .L7F063EEC -/* 098A0C 7F063EDC 4600B306 */ mov.s $f12, $f22 -/* 098A10 7F063EE0 C7A8011C */ lwc1 $f8, 0x11c($sp) -/* 098A14 7F063EE4 46144280 */ add.s $f10, $f8, $f20 -/* 098A18 7F063EE8 E7AA011C */ swc1 $f10, 0x11c($sp) -.L7F063EEC: -/* 098A1C 7F063EEC 0FC1615C */ jal sub_GAME_7F058570 -/* 098A20 7F063EF0 02402825 */ move $a1, $s2 -/* 098A24 7F063EF4 27A90124 */ addiu $t1, $sp, 0x124 -/* 098A28 7F063EF8 AFA90010 */ sw $t1, 0x10($sp) -/* 098A2C 7F063EFC 27A40118 */ addiu $a0, $sp, 0x118 -/* 098A30 7F063F00 02602825 */ move $a1, $s3 -/* 098A34 7F063F04 02403025 */ move $a2, $s2 -/* 098A38 7F063F08 02C03825 */ move $a3, $s6 -/* 098A3C 7F063F0C AFB50014 */ sw $s5, 0x14($sp) -/* 098A40 7F063F10 0FC18D47 */ jal sub_GAME_7F06351C -/* 098A44 7F063F14 AFB00018 */ sw $s0, 0x18($sp) -/* 098A48 7F063F18 00115980 */ sll $t3, $s1, 6 -/* 098A4C 7F063F1C 01772821 */ addu $a1, $t3, $s7 -/* 098A50 7F063F20 0FC16008 */ jal sub_GAME_7F058020 -/* 098A54 7F063F24 02002025 */ move $a0, $s0 -/* 098A58 7F063F28 100000D9 */ b .L7F064290 -/* 098A5C 7F063F2C 26310001 */ addiu $s1, $s1, 1 -.L7F063F30: -/* 098A60 7F063F30 2401000A */ li $at, 10 -/* 098A64 7F063F34 1621002B */ bne $s1, $at, .L7F063FE4 -/* 098A68 7F063F38 3C0D8003 */ lui $t5, %hi(D_80035D44+0x90) -/* 098A6C 7F063F3C 25AD5DD4 */ addiu $t5, %lo(D_80035D44+0x90) # addiu $t5, $t5, 0x5dd4 -/* 098A70 7F063F40 8DA10000 */ lw $at, ($t5) -/* 098A74 7F063F44 27AA0100 */ addiu $t2, $sp, 0x100 -/* 098A78 7F063F48 8DB80004 */ lw $t8, 4($t5) -/* 098A7C 7F063F4C AD410000 */ sw $at, ($t2) -/* 098A80 7F063F50 8DA10008 */ lw $at, 8($t5) -/* 098A84 7F063F54 AD580004 */ sw $t8, 4($t2) -/* 098A88 7F063F58 27A8010C */ addiu $t0, $sp, 0x10c -/* 098A8C 7F063F5C AD410008 */ sw $at, 8($t2) -/* 098A90 7F063F60 8FC100B8 */ lw $at, 0xb8($fp) -/* 098A94 7F063F64 24050020 */ li $a1, 32 -/* 098A98 7F063F68 AD010000 */ sw $at, ($t0) -/* 098A9C 7F063F6C 8FCF00BC */ lw $t7, 0xbc($fp) -/* 098AA0 7F063F70 AD0F0004 */ sw $t7, 4($t0) -/* 098AA4 7F063F74 8FC100C0 */ lw $at, 0xc0($fp) -/* 098AA8 7F063F78 AD010008 */ sw $at, 8($t0) -/* 098AAC 7F063F7C 0C0030C3 */ jal get_controller_buttons_held -/* 098AB0 7F063F80 82840000 */ lb $a0, ($s4) -/* 098AB4 7F063F84 10400004 */ beqz $v0, .L7F063F98 -/* 098AB8 7F063F88 3C018005 */ lui $at, %hi(D_80053F00) -/* 098ABC 7F063F8C C42C3F00 */ lwc1 $f12, %lo(D_80053F00)($at) -/* 098AC0 7F063F90 0FC1617F */ jal sub_GAME_7F0585FC -/* 098AC4 7F063F94 02602825 */ move $a1, $s3 -.L7F063F98: -/* 098AC8 7F063F98 3C018005 */ lui $at, %hi(D_80053F04) -/* 098ACC 7F063F9C C42C3F04 */ lwc1 $f12, %lo(D_80053F04)($at) -/* 098AD0 7F063FA0 0FC1615C */ jal sub_GAME_7F058570 -/* 098AD4 7F063FA4 02402825 */ move $a1, $s2 -/* 098AD8 7F063FA8 27AE010C */ addiu $t6, $sp, 0x10c -/* 098ADC 7F063FAC AFAE0010 */ sw $t6, 0x10($sp) -/* 098AE0 7F063FB0 27A40100 */ addiu $a0, $sp, 0x100 -/* 098AE4 7F063FB4 02602825 */ move $a1, $s3 -/* 098AE8 7F063FB8 02403025 */ move $a2, $s2 -/* 098AEC 7F063FBC 02C03825 */ move $a3, $s6 -/* 098AF0 7F063FC0 AFB50014 */ sw $s5, 0x14($sp) -/* 098AF4 7F063FC4 0FC18D47 */ jal sub_GAME_7F06351C -/* 098AF8 7F063FC8 AFB00018 */ sw $s0, 0x18($sp) -/* 098AFC 7F063FCC 00114980 */ sll $t1, $s1, 6 -/* 098B00 7F063FD0 01372821 */ addu $a1, $t1, $s7 -/* 098B04 7F063FD4 0FC16008 */ jal sub_GAME_7F058020 -/* 098B08 7F063FD8 02002025 */ move $a0, $s0 -/* 098B0C 7F063FDC 100000AC */ b .L7F064290 -/* 098B10 7F063FE0 26310001 */ addiu $s1, $s1, 1 -.L7F063FE4: -/* 098B14 7F063FE4 24010003 */ li $at, 3 -/* 098B18 7F063FE8 1621004C */ bne $s1, $at, .L7F06411C -/* 098B1C 7F063FEC 3C0C8003 */ lui $t4, %hi(D_80035D44+0x9C) -/* 098B20 7F063FF0 258C5DE0 */ addiu $t4, %lo(D_80035D44+0x9C) # addiu $t4, $t4, 0x5de0 -/* 098B24 7F063FF4 8D810000 */ lw $at, ($t4) -/* 098B28 7F063FF8 27AB00A8 */ addiu $t3, $sp, 0xa8 -/* 098B2C 7F063FFC 8D8D0004 */ lw $t5, 4($t4) -/* 098B30 7F064000 AD610000 */ sw $at, ($t3) -/* 098B34 7F064004 8D810008 */ lw $at, 8($t4) -/* 098B38 7F064008 AD6D0004 */ sw $t5, 4($t3) -/* 098B3C 7F06400C 27B800F4 */ addiu $t8, $sp, 0xf4 -/* 098B40 7F064010 AD610008 */ sw $at, 8($t3) -/* 098B44 7F064014 8FC10064 */ lw $at, 0x64($fp) -/* 098B48 7F064018 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 098B4C 7F06401C AF010000 */ sw $at, ($t8) -/* 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 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 -/* 098B6C 7F06403C 24050800 */ li $a1, 2048 -/* 098B70 7F064040 10400007 */ beqz $v0, .L7F064060 -/* 098B74 7F064044 24050400 */ li $a1, 1024 -/* 098B78 7F064048 3C018005 */ lui $at, %hi(D_80053F08) -/* 098B7C 7F06404C C42C3F08 */ lwc1 $f12, %lo(D_80053F08)($at) -/* 098B80 7F064050 0FC1615C */ jal sub_GAME_7F058570 -/* 098B84 7F064054 02602825 */ move $a1, $s3 -/* 098B88 7F064058 10000009 */ b .L7F064080 -/* 098B8C 7F06405C 82840000 */ lb $a0, ($s4) -.L7F064060: -/* 098B90 7F064060 0C0030C3 */ jal get_controller_buttons_held -/* 098B94 7F064064 82840000 */ lb $a0, ($s4) -/* 098B98 7F064068 10400004 */ beqz $v0, .L7F06407C -/* 098B9C 7F06406C 3C018005 */ lui $at, %hi(D_80053F0C) -/* 098BA0 7F064070 C42C3F0C */ lwc1 $f12, %lo(D_80053F0C)($at) -/* 098BA4 7F064074 0FC1615C */ jal sub_GAME_7F058570 -/* 098BA8 7F064078 02602825 */ move $a1, $s3 -.L7F06407C: -/* 098BAC 7F06407C 82840000 */ lb $a0, ($s4) -.L7F064080: -/* 098BB0 7F064080 0C0030C3 */ jal get_controller_buttons_held -/* 098BB4 7F064084 24050200 */ li $a1, 512 -/* 098BB8 7F064088 10400007 */ beqz $v0, .L7F0640A8 -/* 098BBC 7F06408C 24050100 */ li $a1, 256 -/* 098BC0 7F064090 3C018005 */ lui $at, %hi(D_80053F10) -/* 098BC4 7F064094 C42C3F10 */ lwc1 $f12, %lo(D_80053F10)($at) -/* 098BC8 7F064098 0FC161A2 */ jal sub_GAME_7F058688 -/* 098BCC 7F06409C 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 098BD0 7F0640A0 10000009 */ b .L7F0640C8 -/* 098BD4 7F0640A4 27A400B4 */ addiu $a0, $sp, 0xb4 -.L7F0640A8: -/* 098BD8 7F0640A8 0C0030C3 */ jal get_controller_buttons_held -/* 098BDC 7F0640AC 82840000 */ lb $a0, ($s4) -/* 098BE0 7F0640B0 10400004 */ beqz $v0, .L7F0640C4 -/* 098BE4 7F0640B4 3C018005 */ lui $at, %hi(D_80053F14) -/* 098BE8 7F0640B8 C42C3F14 */ lwc1 $f12, %lo(D_80053F14)($at) -/* 098BEC 7F0640BC 0FC161A2 */ jal sub_GAME_7F058688 -/* 098BF0 7F0640C0 27A500B4 */ addiu $a1, $sp, 0xb4 -.L7F0640C4: -/* 098BF4 7F0640C4 27A400B4 */ addiu $a0, $sp, 0xb4 -.L7F0640C8: -/* 098BF8 7F0640C8 0FC1601A */ jal sub_GAME_7F058068 -/* 098BFC 7F0640CC 02602825 */ move $a1, $s3 -/* 098C00 7F0640D0 3C018005 */ lui $at, %hi(D_80053F18) -/* 098C04 7F0640D4 C42C3F18 */ lwc1 $f12, %lo(D_80053F18)($at) -/* 098C08 7F0640D8 0FC1615C */ jal sub_GAME_7F058570 -/* 098C0C 7F0640DC 02402825 */ move $a1, $s2 -/* 098C10 7F0640E0 27AF00F4 */ addiu $t7, $sp, 0xf4 -/* 098C14 7F0640E4 AFAF0010 */ sw $t7, 0x10($sp) -/* 098C18 7F0640E8 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 098C1C 7F0640EC 02602825 */ move $a1, $s3 -/* 098C20 7F0640F0 02403025 */ move $a2, $s2 -/* 098C24 7F0640F4 02C03825 */ move $a3, $s6 -/* 098C28 7F0640F8 AFB50014 */ sw $s5, 0x14($sp) -/* 098C2C 7F0640FC 0FC18D47 */ jal sub_GAME_7F06351C -/* 098C30 7F064100 AFB00018 */ sw $s0, 0x18($sp) -/* 098C34 7F064104 00117180 */ sll $t6, $s1, 6 -/* 098C38 7F064108 01D72821 */ addu $a1, $t6, $s7 -/* 098C3C 7F06410C 0FC16008 */ jal sub_GAME_7F058020 -/* 098C40 7F064110 02002025 */ move $a0, $s0 -/* 098C44 7F064114 1000005E */ b .L7F064290 -/* 098C48 7F064118 26310001 */ addiu $s1, $s1, 1 -.L7F06411C: -/* 098C4C 7F06411C 24010001 */ li $at, 1 -/* 098C50 7F064120 16210029 */ bne $s1, $at, .L7F0641C8 -/* 098C54 7F064124 3C0A8003 */ lui $t2, %hi(D_80035D44+0xA8) -/* 098C58 7F064128 254A5DEC */ addiu $t2, %lo(D_80035D44+0xA8) # addiu $t2, $t2, 0x5dec -/* 098C5C 7F06412C 8D410000 */ lw $at, ($t2) -/* 098C60 7F064130 27A90090 */ addiu $t1, $sp, 0x90 -/* 098C64 7F064134 8D4C0004 */ lw $t4, 4($t2) -/* 098C68 7F064138 AD210000 */ sw $at, ($t1) -/* 098C6C 7F06413C 8D410008 */ lw $at, 8($t2) -/* 098C70 7F064140 AD2C0004 */ sw $t4, 4($t1) -/* 098C74 7F064144 27AD009C */ addiu $t5, $sp, 0x9c -/* 098C78 7F064148 AD210008 */ sw $at, 8($t1) -/* 098C7C 7F06414C 8FC1004C */ lw $at, 0x4c($fp) -/* 098C80 7F064150 24051000 */ li $a1, 4096 -/* 098C84 7F064154 ADA10000 */ sw $at, ($t5) -/* 098C88 7F064158 8FD80050 */ lw $t8, 0x50($fp) -/* 098C8C 7F06415C ADB80004 */ sw $t8, 4($t5) -/* 098C90 7F064160 8FC10054 */ lw $at, 0x54($fp) -/* 098C94 7F064164 ADA10008 */ sw $at, 8($t5) -/* 098C98 7F064168 0C0030C3 */ jal get_controller_buttons_held -/* 098C9C 7F06416C 82840000 */ lb $a0, ($s4) -/* 098CA0 7F064170 10400004 */ beqz $v0, .L7F064184 -/* 098CA4 7F064174 4600B306 */ mov.s $f12, $f22 -/* 098CA8 7F064178 C7B00094 */ lwc1 $f16, 0x94($sp) -/* 098CAC 7F06417C 46148480 */ add.s $f18, $f16, $f20 -/* 098CB0 7F064180 E7B20094 */ swc1 $f18, 0x94($sp) -.L7F064184: -/* 098CB4 7F064184 0FC1615C */ jal sub_GAME_7F058570 -/* 098CB8 7F064188 02402825 */ move $a1, $s2 -/* 098CBC 7F06418C 27A8009C */ addiu $t0, $sp, 0x9c -/* 098CC0 7F064190 AFA80010 */ sw $t0, 0x10($sp) -/* 098CC4 7F064194 27A40090 */ addiu $a0, $sp, 0x90 -/* 098CC8 7F064198 02602825 */ move $a1, $s3 -/* 098CCC 7F06419C 02403025 */ move $a2, $s2 -/* 098CD0 7F0641A0 02C03825 */ move $a3, $s6 -/* 098CD4 7F0641A4 AFB50014 */ sw $s5, 0x14($sp) -/* 098CD8 7F0641A8 0FC18D47 */ jal sub_GAME_7F06351C -/* 098CDC 7F0641AC AFB00018 */ sw $s0, 0x18($sp) -/* 098CE0 7F0641B0 00117980 */ sll $t7, $s1, 6 -/* 098CE4 7F0641B4 01F72821 */ addu $a1, $t7, $s7 -/* 098CE8 7F0641B8 0FC16008 */ jal sub_GAME_7F058020 -/* 098CEC 7F0641BC 02002025 */ move $a0, $s0 -/* 098CF0 7F0641C0 10000033 */ b .L7F064290 -/* 098CF4 7F0641C4 26310001 */ addiu $s1, $s1, 1 -.L7F0641C8: -/* 098CF8 7F0641C8 2401000C */ li $at, 12 -/* 098CFC 7F0641CC 1621002C */ bne $s1, $at, .L7F064280 -/* 098D00 7F0641D0 8FA4053C */ lw $a0, 0x53c($sp) -/* 098D04 7F0641D4 3C0B8003 */ lui $t3, %hi(D_80035D44+0xB4) -/* 098D08 7F0641D8 256B5DF8 */ addiu $t3, %lo(D_80035D44+0xB4) # addiu $t3, $t3, 0x5df8 -/* 098D0C 7F0641DC 8D610000 */ lw $at, ($t3) -/* 098D10 7F0641E0 27AE0078 */ addiu $t6, $sp, 0x78 -/* 098D14 7F0641E4 8D6A0004 */ lw $t2, 4($t3) -/* 098D18 7F0641E8 ADC10000 */ sw $at, ($t6) -/* 098D1C 7F0641EC 8D610008 */ lw $at, 8($t3) -/* 098D20 7F0641F0 ADCA0004 */ sw $t2, 4($t6) -/* 098D24 7F0641F4 27AC0084 */ addiu $t4, $sp, 0x84 -/* 098D28 7F0641F8 ADC10008 */ sw $at, 8($t6) -/* 098D2C 7F0641FC 8FC100D0 */ lw $at, 0xd0($fp) -/* 098D30 7F064200 24052000 */ li $a1, 8192 -/* 098D34 7F064204 AD810000 */ sw $at, ($t4) -/* 098D38 7F064208 8FCD00D4 */ lw $t5, 0xd4($fp) -/* 098D3C 7F06420C AD8D0004 */ sw $t5, 4($t4) -/* 098D40 7F064210 8FC100D8 */ lw $at, 0xd8($fp) -/* 098D44 7F064214 AD810008 */ sw $at, 8($t4) -/* 098D48 7F064218 0C0030C3 */ jal get_controller_buttons_held -/* 098D4C 7F06421C 82840000 */ lb $a0, ($s4) -/* 098D50 7F064220 10400004 */ beqz $v0, .L7F064234 -/* 098D54 7F064224 3C018005 */ lui $at, %hi(D_80053F1C) -/* 098D58 7F064228 C42C3F1C */ lwc1 $f12, %lo(D_80053F1C)($at) -/* 098D5C 7F06422C 0FC1615C */ jal sub_GAME_7F058570 -/* 098D60 7F064230 02602825 */ move $a1, $s3 -.L7F064234: -/* 098D64 7F064234 3C018005 */ lui $at, %hi(D_80053F20) -/* 098D68 7F064238 C42C3F20 */ lwc1 $f12, %lo(D_80053F20)($at) -/* 098D6C 7F06423C 0FC161A2 */ jal sub_GAME_7F058688 -/* 098D70 7F064240 02402825 */ move $a1, $s2 -/* 098D74 7F064244 27B80084 */ addiu $t8, $sp, 0x84 -/* 098D78 7F064248 AFB80010 */ sw $t8, 0x10($sp) -/* 098D7C 7F06424C 27A40078 */ addiu $a0, $sp, 0x78 -/* 098D80 7F064250 02602825 */ move $a1, $s3 -/* 098D84 7F064254 02403025 */ move $a2, $s2 -/* 098D88 7F064258 02C03825 */ move $a3, $s6 -/* 098D8C 7F06425C AFB50014 */ sw $s5, 0x14($sp) -/* 098D90 7F064260 0FC18D47 */ jal sub_GAME_7F06351C -/* 098D94 7F064264 AFB00018 */ sw $s0, 0x18($sp) -/* 098D98 7F064268 00114180 */ sll $t0, $s1, 6 -/* 098D9C 7F06426C 01172821 */ addu $a1, $t0, $s7 -/* 098DA0 7F064270 0FC16008 */ jal sub_GAME_7F058020 -/* 098DA4 7F064274 02002025 */ move $a0, $s0 -/* 098DA8 7F064278 10000005 */ b .L7F064290 -/* 098DAC 7F06427C 26310001 */ addiu $s1, $s1, 1 -.L7F064280: -/* 098DB0 7F064280 00117980 */ sll $t7, $s1, 6 -/* 098DB4 7F064284 0FC16008 */ jal sub_GAME_7F058020 -/* 098DB8 7F064288 01F72821 */ addu $a1, $t7, $s7 -/* 098DBC 7F06428C 26310001 */ addiu $s1, $s1, 1 -.L7F064290: -/* 098DC0 7F064290 2A21000D */ slti $at, $s1, 0xd -/* 098DC4 7F064294 5420FD91 */ bnezl $at, .L7F0638DC -/* 098DC8 7F064298 3C01C0A0 */ lui $at, 0xc0a0 -/* 098DCC 7F06429C 0FC1BBF1 */ jal sub_GAME_7F06EFC4 -/* 098DD0 7F0642A0 27A404D8 */ addiu $a0, $sp, 0x4d8 -/* 098DD4 7F0642A4 8FA90538 */ lw $t1, 0x538($sp) -/* 098DD8 7F0642A8 27A404F8 */ addiu $a0, $sp, 0x4f8 -/* 098DDC 7F0642AC 27A504D8 */ addiu $a1, $sp, 0x4d8 -/* 098DE0 7F0642B0 0FC1D1A1 */ jal subdraw -/* 098DE4 7F0642B4 AFA90504 */ sw $t1, 0x504($sp) -/* 098DE8 7F0642B8 8FAE0504 */ lw $t6, 0x504($sp) -/* 098DEC 7F0642BC 0FC16319 */ jal sub_GAME_7F058C64 -/* 098DF0 7F0642C0 AFAE0538 */ sw $t6, 0x538($sp) -/* 098DF4 7F0642C4 8FAB03D8 */ lw $t3, 0x3d8($sp) -/* 098DF8 7F0642C8 00008825 */ move $s1, $zero -/* 098DFC 7F0642CC 00008025 */ move $s0, $zero -/* 098E00 7F0642D0 856A000E */ lh $t2, 0xe($t3) -/* 098E04 7F0642D4 19400011 */ blez $t2, .L7F06431C -/* 098E08 7F0642D8 00000000 */ nop -/* 098E0C 7F0642DC 8FB904E4 */ lw $t9, 0x4e4($sp) -.L7F0642E0: -/* 098E10 7F0642E0 27A5041C */ addiu $a1, $sp, 0x41c -/* 098E14 7F0642E4 0FC16008 */ jal sub_GAME_7F058020 -/* 098E18 7F0642E8 03302021 */ addu $a0, $t9, $s0 -/* 098E1C 7F0642EC 8FAD04E4 */ lw $t5, 0x4e4($sp) -/* 098E20 7F0642F0 00116180 */ sll $t4, $s1, 6 -/* 098E24 7F0642F4 27A4041C */ addiu $a0, $sp, 0x41c -/* 098E28 7F0642F8 0FC16327 */ jal sub_GAME_7F058C9C -/* 098E2C 7F0642FC 018D2821 */ addu $a1, $t4, $t5 -/* 098E30 7F064300 8FB803D8 */ lw $t8, 0x3d8($sp) -/* 098E34 7F064304 26310001 */ addiu $s1, $s1, 1 -/* 098E38 7F064308 26100040 */ addiu $s0, $s0, 0x40 -/* 098E3C 7F06430C 8708000E */ lh $t0, 0xe($t8) -/* 098E40 7F064310 0228082A */ slt $at, $s1, $t0 -/* 098E44 7F064314 5420FFF2 */ bnezl $at, .L7F0642E0 -/* 098E48 7F064318 8FB904E4 */ lw $t9, 0x4e4($sp) -.L7F06431C: -/* 098E4C 7F06431C 0FC16322 */ jal sub_GAME_7F058C88 -/* 098E50 7F064320 00000000 */ nop -.L7F064324: -/* 098E54 7F064324 8FA20538 */ lw $v0, 0x538($sp) -.L7F064328: -/* 098E58 7F064328 8FBF006C */ lw $ra, 0x6c($sp) -/* 098E5C 7F06432C D7B40030 */ ldc1 $f20, 0x30($sp) -/* 098E60 7F064330 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 098E64 7F064334 D7B80040 */ ldc1 $f24, 0x40($sp) -/* 098E68 7F064338 8FB00048 */ lw $s0, 0x48($sp) -/* 098E6C 7F06433C 8FB1004C */ lw $s1, 0x4c($sp) -/* 098E70 7F064340 8FB20050 */ lw $s2, 0x50($sp) -/* 098E74 7F064344 8FB30054 */ lw $s3, 0x54($sp) -/* 098E78 7F064348 8FB40058 */ lw $s4, 0x58($sp) -/* 098E7C 7F06434C 8FB5005C */ lw $s5, 0x5c($sp) -/* 098E80 7F064350 8FB60060 */ lw $s6, 0x60($sp) -/* 098E84 7F064354 8FB70064 */ lw $s7, 0x64($sp) -/* 098E88 7F064358 8FBE0068 */ lw $fp, 0x68($sp) -/* 098E8C 7F06435C 03E00008 */ jr $ra -/* 098E90 7F064360 27BD0538 */ addiu $sp, $sp, 0x538 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F064364(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F064364 -/* 098E94 7F064364 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 098E98 7F064368 AFA7002C */ sw $a3, 0x2c($sp) -/* 098E9C 7F06436C 8FAE002C */ lw $t6, 0x2c($sp) -/* 098EA0 7F064370 8FAF0030 */ lw $t7, 0x30($sp) -/* 098EA4 7F064374 00C03825 */ move $a3, $a2 -/* 098EA8 7F064378 AFBF001C */ sw $ra, 0x1c($sp) -/* 098EAC 7F06437C AFA60028 */ sw $a2, 0x28($sp) -/* 098EB0 7F064380 240600FF */ li $a2, 255 -/* 098EB4 7F064384 AFAE0010 */ sw $t6, 0x10($sp) -/* 098EB8 7F064388 0FC18D67 */ jal sub_GAME_7F06359C -/* 098EBC 7F06438C AFAF0014 */ sw $t7, 0x14($sp) -/* 098EC0 7F064390 8FBF001C */ lw $ra, 0x1c($sp) -/* 098EC4 7F064394 27BD0020 */ addiu $sp, $sp, 0x20 -/* 098EC8 7F064398 03E00008 */ jr $ra -/* 098ECC 7F06439C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0643A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0643A0 -/* 098ED0 7F0643A0 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80075DB8) -/* 098ED4 7F0643A4 8DCE5DB8 */ lw $t6, %lo(dword_CODE_bss_80075DB8)($t6) -/* 098ED8 7F0643A8 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80075DBC) -/* 098EDC 7F0643AC 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075DB8) -/* 098EE0 7F0643B0 15C00003 */ bnez $t6, .L7F0643C0 -/* 098EE4 7F0643B4 00000000 */ nop -/* 098EE8 7F0643B8 03E00008 */ jr $ra -/* 098EEC 7F0643BC 24425DB8 */ addiu $v0, $v0, %lo(dword_CODE_bss_80075DB8) - -.L7F0643C0: -/* 098EF0 7F0643C0 8DEF5DBC */ lw $t7, %lo(dword_CODE_bss_80075DBC)($t7) -/* 098EF4 7F0643C4 3C188007 */ lui $t8, %hi(dword_CODE_bss_80075DC0) -/* 098EF8 7F0643C8 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075DBC) -/* 098EFC 7F0643CC 15E00003 */ bnez $t7, .L7F0643DC -/* 098F00 7F0643D0 00000000 */ nop -/* 098F04 7F0643D4 03E00008 */ jr $ra -/* 098F08 7F0643D8 24425DBC */ addiu $v0, $v0, %lo(dword_CODE_bss_80075DBC) - -.L7F0643DC: -/* 098F0C 7F0643DC 8F185DC0 */ lw $t8, %lo(dword_CODE_bss_80075DC0)($t8) -/* 098F10 7F0643E0 3C198007 */ lui $t9, %hi(dword_CODE_bss_80075DC4) -/* 098F14 7F0643E4 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075DC0) -/* 098F18 7F0643E8 17000003 */ bnez $t8, .L7F0643F8 -/* 098F1C 7F0643EC 00000000 */ nop -/* 098F20 7F0643F0 03E00008 */ jr $ra -/* 098F24 7F0643F4 24425DC0 */ addiu $v0, $v0, %lo(dword_CODE_bss_80075DC0) - -.L7F0643F8: -/* 098F28 7F0643F8 8F395DC4 */ lw $t9, %lo(dword_CODE_bss_80075DC4)($t9) -/* 098F2C 7F0643FC 00001025 */ move $v0, $zero -/* 098F30 7F064400 17200004 */ bnez $t9, .L7F064414 -/* 098F34 7F064404 00000000 */ nop -/* 098F38 7F064408 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075DC4) -/* 098F3C 7F06440C 03E00008 */ jr $ra -/* 098F40 7F064410 24425DC4 */ addiu $v0, $v0, %lo(dword_CODE_bss_80075DC4) - -.L7F064414: -/* 098F44 7F064414 03E00008 */ jr $ra -/* 098F48 7F064418 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void recall_joy2_hits_edit_detail_edit_flag(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel recall_joy2_hits_edit_detail_edit_flag -/* 098F4C 7F06441C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 098F50 7F064420 00803825 */ move $a3, $a0 -/* 098F54 7F064424 AFBF0014 */ sw $ra, 0x14($sp) -/* 098F58 7F064428 24A40008 */ addiu $a0, $a1, 8 -/* 098F5C 7F06442C AFA50074 */ sw $a1, 0x74($sp) -/* 098F60 7F064430 AFA60078 */ sw $a2, 0x78($sp) -/* 098F64 7F064434 AFA40024 */ sw $a0, 0x24($sp) -/* 098F68 7F064438 0FC14E79 */ jal sub_GAME_7F0539E4 -/* 098F6C 7F06443C AFA70070 */ sw $a3, 0x70($sp) -/* 098F70 7F064440 0C002914 */ jal get_random_value -/* 098F74 7F064444 AFA2006C */ sw $v0, 0x6c($sp) -/* 098F78 7F064448 0C002914 */ jal get_random_value -/* 098F7C 7F06444C AFA20068 */ sw $v0, 0x68($sp) -/* 098F80 7F064450 8FAE0078 */ lw $t6, 0x78($sp) -/* 098F84 7F064454 3C018005 */ lui $at, %hi(D_800483C4) -/* 098F88 7F064458 AFA20064 */ sw $v0, 0x64($sp) -/* 098F8C 7F06445C 0FC243EB */ jal get_debug_joy2hitsedit_flag -/* 098F90 7F064460 AC2E83C4 */ sw $t6, %lo(D_800483C4)($at) -/* 098F94 7F064464 14400004 */ bnez $v0, .L7F064478 -/* 098F98 7F064468 8FA70070 */ lw $a3, 0x70($sp) -/* 098F9C 7F06446C 0FC243EE */ jal get_debug_joy2detailedit_flag -/* 098FA0 7F064470 AFA70070 */ sw $a3, 0x70($sp) -/* 098FA4 7F064474 8FA70070 */ lw $a3, 0x70($sp) -.L7F064478: -/* 098FA8 7F064478 2401001D */ li $at, 29 -/* 098FAC 7F06447C 10E100A4 */ beq $a3, $at, .L7F064710 -/* 098FB0 7F064480 2401001C */ li $at, 28 -/* 098FB4 7F064484 10E100A2 */ beq $a3, $at, .L7F064710 -/* 098FB8 7F064488 2401001B */ li $at, 27 -/* 098FBC 7F06448C 10E100A0 */ beq $a3, $at, .L7F064710 -/* 098FC0 7F064490 24010021 */ li $at, 33 -/* 098FC4 7F064494 10E1009E */ beq $a3, $at, .L7F064710 -/* 098FC8 7F064498 2401002F */ li $at, 47 -/* 098FCC 7F06449C 10E1009C */ beq $a3, $at, .L7F064710 -/* 098FD0 7F0644A0 24010030 */ li $at, 48 -/* 098FD4 7F0644A4 10E1009A */ beq $a3, $at, .L7F064710 -/* 098FD8 7F0644A8 24010022 */ li $at, 34 -/* 098FDC 7F0644AC 10E10098 */ beq $a3, $at, .L7F064710 -/* 098FE0 7F0644B0 24010017 */ li $at, 23 -/* 098FE4 7F0644B4 10E10096 */ beq $a3, $at, .L7F064710 -/* 098FE8 7F0644B8 2401003C */ li $at, 60 -/* 098FEC 7F0644BC 50E10095 */ beql $a3, $at, .L7F064714 -/* 098FF0 7F0644C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 098FF4 7F0644C4 0FC190E8 */ jal sub_GAME_7F0643A0 -/* 098FF8 7F0644C8 AFA70070 */ sw $a3, 0x70($sp) -/* 098FFC 7F0644CC 8FA70070 */ lw $a3, 0x70($sp) -/* 099000 7F0644D0 10400068 */ beqz $v0, .L7F064674 -/* 099004 7F0644D4 00403025 */ move $a2, $v0 -/* 099008 7F0644D8 8FAF0074 */ lw $t7, 0x74($sp) -/* 09900C 7F0644DC 24010003 */ li $at, 3 -/* 099010 7F0644E0 91E20000 */ lbu $v0, ($t7) -/* 099014 7F0644E4 1041002F */ beq $v0, $at, .L7F0645A4 -/* 099018 7F0644E8 24010006 */ li $at, 6 -/* 09901C 7F0644EC 1041002D */ beq $v0, $at, .L7F0645A4 -/* 099020 7F0644F0 24010016 */ li $at, 22 -/* 099024 7F0644F4 14E10008 */ bne $a3, $at, .L7F064518 -/* 099028 7F0644F8 27A20038 */ addiu $v0, $sp, 0x38 -/* 09902C 7F0644FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099030 7F064500 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099034 7F064504 2405005B */ li $a1, 91 -/* 099038 7F064508 0C002382 */ jal play_sfx_a1 -/* 09903C 7F06450C AFA60060 */ sw $a2, 0x60($sp) -/* 099040 7F064510 1000001C */ b .L7F064584 -/* 099044 7F064514 8FAF0060 */ lw $t7, 0x60($sp) -.L7F064518: -/* 099048 7F064518 3C188003 */ lui $t8, %hi(D_80035E04) -/* 09904C 7F06451C 27185E04 */ addiu $t8, %lo(D_80035E04) # addiu $t8, $t8, 0x5e04 -/* 099050 7F064520 27090024 */ addiu $t1, $t8, 0x24 -/* 099054 7F064524 00405025 */ move $t2, $v0 -.L7F064528: -/* 099058 7F064528 8F010000 */ lw $at, ($t8) -/* 09905C 7F06452C 2718000C */ addiu $t8, $t8, 0xc -/* 099060 7F064530 254A000C */ addiu $t2, $t2, 0xc -/* 099064 7F064534 AD41FFF4 */ sw $at, -0xc($t2) -/* 099068 7F064538 8F01FFF8 */ lw $at, -8($t8) -/* 09906C 7F06453C AD41FFF8 */ sw $at, -8($t2) -/* 099070 7F064540 8F01FFFC */ lw $at, -4($t8) -/* 099074 7F064544 1709FFF8 */ bne $t8, $t1, .L7F064528 -/* 099078 7F064548 AD41FFFC */ sw $at, -4($t2) -/* 09907C 7F06454C 8F010000 */ lw $at, ($t8) -/* 099080 7F064550 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099084 7F064554 AD410000 */ sw $at, ($t2) -/* 099088 7F064558 8FAB0068 */ lw $t3, 0x68($sp) -/* 09908C 7F06455C 24010014 */ li $at, 20 -/* 099090 7F064560 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099094 7F064564 0161001B */ divu $zero, $t3, $at -/* 099098 7F064568 00006010 */ mfhi $t4 -/* 09909C 7F06456C 000C6840 */ sll $t5, $t4, 1 -/* 0990A0 7F064570 004D7021 */ addu $t6, $v0, $t5 -/* 0990A4 7F064574 85C50000 */ lh $a1, ($t6) -/* 0990A8 7F064578 0C002382 */ jal play_sfx_a1 -/* 0990AC 7F06457C AFA60060 */ sw $a2, 0x60($sp) -/* 0990B0 7F064580 8FAF0060 */ lw $t7, 0x60($sp) -.L7F064584: -/* 0990B4 7F064584 24050008 */ li $a1, 8 -/* 0990B8 7F064588 8DE40000 */ lw $a0, ($t7) -/* 0990BC 7F06458C 10800039 */ beqz $a0, .L7F064674 -/* 0990C0 7F064590 00000000 */ nop -/* 0990C4 7F064594 0C002461 */ jal sfx_c_70009184 -/* 0990C8 7F064598 8FA6006C */ lw $a2, 0x6c($sp) -/* 0990CC 7F06459C 10000035 */ b .L7F064674 -/* 0990D0 7F0645A0 00000000 */ nop -.L7F0645A4: -/* 0990D4 7F0645A4 24010002 */ li $at, 2 -/* 0990D8 7F0645A8 14E10007 */ bne $a3, $at, .L7F0645C8 -/* 0990DC 7F0645AC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0990E0 7F0645B0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0990E4 7F0645B4 2405004A */ li $a1, 74 -/* 0990E8 7F0645B8 0C002382 */ jal play_sfx_a1 -/* 0990EC 7F0645BC AFA60060 */ sw $a2, 0x60($sp) -/* 0990F0 7F0645C0 10000026 */ b .L7F06465C -/* 0990F4 7F0645C4 8FAB0060 */ lw $t3, 0x60($sp) -.L7F0645C8: -/* 0990F8 7F0645C8 24010001 */ li $at, 1 -/* 0990FC 7F0645CC 14E10015 */ bne $a3, $at, .L7F064624 -/* 099100 7F0645D0 3C0D8003 */ lui $t5, %hi(D_80035E34) -/* 099104 7F0645D4 3C088003 */ lui $t0, %hi(D_80035E2C) -/* 099108 7F0645D8 25085E2C */ addiu $t0, %lo(D_80035E2C) # addiu $t0, $t0, 0x5e2c -/* 09910C 7F0645DC 8D010000 */ lw $at, ($t0) -/* 099110 7F0645E0 27A20030 */ addiu $v0, $sp, 0x30 -/* 099114 7F0645E4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099118 7F0645E8 AC410000 */ sw $at, ($v0) -/* 09911C 7F0645EC 95010004 */ lhu $at, 4($t0) -/* 099120 7F0645F0 A4410004 */ sh $at, 4($v0) -/* 099124 7F0645F4 8FB80068 */ lw $t8, 0x68($sp) -/* 099128 7F0645F8 24010003 */ li $at, 3 -/* 09912C 7F0645FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099130 7F064600 0301001B */ divu $zero, $t8, $at -/* 099134 7F064604 00005010 */ mfhi $t2 -/* 099138 7F064608 000A5840 */ sll $t3, $t2, 1 -/* 09913C 7F06460C 004B6021 */ addu $t4, $v0, $t3 -/* 099140 7F064610 85850000 */ lh $a1, ($t4) -/* 099144 7F064614 0C002382 */ jal play_sfx_a1 -/* 099148 7F064618 AFA60060 */ sw $a2, 0x60($sp) -/* 09914C 7F06461C 1000000F */ b .L7F06465C -/* 099150 7F064620 8FAB0060 */ lw $t3, 0x60($sp) -.L7F064624: -/* 099154 7F064624 25AD5E34 */ addiu $t5, %lo(D_80035E34) # addiu $t5, $t5, 0x5e34 -/* 099158 7F064628 8DA10000 */ lw $at, ($t5) -/* 09915C 7F06462C 27A2002C */ addiu $v0, $sp, 0x2c -/* 099160 7F064630 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099164 7F064634 AC410000 */ sw $at, ($v0) -/* 099168 7F064638 8FA80068 */ lw $t0, 0x68($sp) -/* 09916C 7F06463C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099170 7F064640 31090001 */ andi $t1, $t0, 1 -/* 099174 7F064644 0009C040 */ sll $t8, $t1, 1 -/* 099178 7F064648 00585021 */ addu $t2, $v0, $t8 -/* 09917C 7F06464C 85450000 */ lh $a1, ($t2) -/* 099180 7F064650 0C002382 */ jal play_sfx_a1 -/* 099184 7F064654 AFA60060 */ sw $a2, 0x60($sp) -/* 099188 7F064658 8FAB0060 */ lw $t3, 0x60($sp) -.L7F06465C: -/* 09918C 7F06465C 24050008 */ li $a1, 8 -/* 099190 7F064660 8D640000 */ lw $a0, ($t3) -/* 099194 7F064664 10800003 */ beqz $a0, .L7F064674 -/* 099198 7F064668 00000000 */ nop -/* 09919C 7F06466C 0C002461 */ jal sfx_c_70009184 -/* 0991A0 7F064670 8FA6006C */ lw $a2, 0x6c($sp) -.L7F064674: -/* 0991A4 7F064674 0FC190E8 */ jal sub_GAME_7F0643A0 -/* 0991A8 7F064678 00000000 */ nop -/* 0991AC 7F06467C 10400024 */ beqz $v0, .L7F064710 -/* 0991B0 7F064680 AFA20060 */ sw $v0, 0x60($sp) -/* 0991B4 7F064684 8FAC0078 */ lw $t4, 0x78($sp) -/* 0991B8 7F064688 3C0E8005 */ lui $t6, %hi(image_entries) -/* 0991BC 7F06468C 05800020 */ bltz $t4, .L7F064710 -/* 0991C0 7F064690 000C78C0 */ sll $t7, $t4, 3 -/* 0991C4 7F064694 01CF7021 */ addu $t6, $t6, $t7 -/* 0991C8 7F064698 8DCE9300 */ lw $t6, %lo(image_entries)($t6) -/* 0991CC 7F06469C 3C028005 */ lui $v0, %hi(D_8004E86C) -/* 0991D0 7F0646A0 000E6F02 */ srl $t5, $t6, 0x1c -/* 0991D4 7F0646A4 000DC880 */ sll $t9, $t5, 2 -/* 0991D8 7F0646A8 00591021 */ addu $v0, $v0, $t9 -/* 0991DC 7F0646AC 8C42E86C */ lw $v0, %lo(D_8004E86C)($v0) -/* 0991E0 7F0646B0 50400018 */ beql $v0, $zero, .L7F064714 -/* 0991E4 7F0646B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0991E8 7F0646B8 84470008 */ lh $a3, 8($v0) -/* 0991EC 7F0646BC 8FA80064 */ lw $t0, 0x64($sp) -/* 0991F0 7F0646C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0991F4 7F0646C4 18E0000C */ blez $a3, .L7F0646F8 -/* 0991F8 7F0646C8 8FA60060 */ lw $a2, 0x60($sp) -/* 0991FC 7F0646CC 0107001B */ divu $zero, $t0, $a3 -/* 099200 7F0646D0 8C490000 */ lw $t1, ($v0) -/* 099204 7F0646D4 00001810 */ mfhi $v1 -/* 099208 7F0646D8 0003C040 */ sll $t8, $v1, 1 -/* 09920C 7F0646DC 14E00002 */ bnez $a3, .L7F0646E8 -/* 099210 7F0646E0 00000000 */ nop -/* 099214 7F0646E4 0007000D */ break 7 -.L7F0646E8: -/* 099218 7F0646E8 01385021 */ addu $t2, $t1, $t8 -/* 09921C 7F0646EC 85450000 */ lh $a1, ($t2) -/* 099220 7F0646F0 0C002382 */ jal play_sfx_a1 -/* 099224 7F0646F4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -.L7F0646F8: -/* 099228 7F0646F8 8FAB0060 */ lw $t3, 0x60($sp) -/* 09922C 7F0646FC 8D640000 */ lw $a0, ($t3) -/* 099230 7F064700 50800004 */ beql $a0, $zero, .L7F064714 -/* 099234 7F064704 8FBF0014 */ lw $ra, 0x14($sp) -/* 099238 7F064708 0FC14E84 */ jal sub_GAME_7F053A10 -/* 09923C 7F06470C 8FA50024 */ lw $a1, 0x24($sp) -.L7F064710: -/* 099240 7F064710 8FBF0014 */ lw $ra, 0x14($sp) -.L7F064714: -/* 099244 7F064714 27BD0070 */ addiu $sp, $sp, 0x70 -/* 099248 7F064718 03E00008 */ jr $ra -/* 09924C 7F06471C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel recall_joy2_hits_edit_detail_edit_flag -/* 0994B8 7F064948 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0994BC 7F06494C 00803825 */ move $a3, $a0 -/* 0994C0 7F064950 AFBF0014 */ sw $ra, 0x14($sp) -/* 0994C4 7F064954 24A40008 */ addiu $a0, $a1, 8 -/* 0994C8 7F064958 AFA50074 */ sw $a1, 0x74($sp) -/* 0994CC 7F06495C AFA60078 */ sw $a2, 0x78($sp) -/* 0994D0 7F064960 AFA40024 */ sw $a0, 0x24($sp) -/* 0994D4 7F064964 0FC14FB8 */ jal sub_GAME_7F0539E4 -/* 0994D8 7F064968 AFA70070 */ sw $a3, 0x70($sp) -/* 0994DC 7F06496C 0C002918 */ jal get_random_value -/* 0994E0 7F064970 AFA2006C */ sw $v0, 0x6c($sp) -/* 0994E4 7F064974 0C002918 */ jal get_random_value -/* 0994E8 7F064978 AFA20068 */ sw $v0, 0x68($sp) -/* 0994EC 7F06497C 8FAE0078 */ lw $t6, 0x78($sp) -/* 0994F0 7F064980 3C018005 */ lui $at, %hi(D_800483C4) # $at, 0x8005 -/* 0994F4 7F064984 AFA20064 */ sw $v0, 0x64($sp) -/* 0994F8 7F064988 0FC246A3 */ jal get_debug_joy2hitsedit_flag -/* 0994FC 7F06498C AC2E83F8 */ sw $t6, %lo(D_800483C4)($at) -/* 099500 7F064990 14400004 */ bnez $v0, .L7F0649A4 -/* 099504 7F064994 8FA70070 */ lw $a3, 0x70($sp) -/* 099508 7F064998 0FC246A6 */ jal get_debug_joy2detailedit_flag -/* 09950C 7F06499C AFA70070 */ sw $a3, 0x70($sp) -/* 099510 7F0649A0 8FA70070 */ lw $a3, 0x70($sp) -.L7F0649A4: -/* 099514 7F0649A4 2401001D */ li $at, 29 -/* 099518 7F0649A8 10E100A7 */ beq $a3, $at, .L7F064C48 -/* 09951C 7F0649AC 2401001C */ li $at, 28 -/* 099520 7F0649B0 10E100A5 */ beq $a3, $at, .L7F064C48 -/* 099524 7F0649B4 2401001B */ li $at, 27 -/* 099528 7F0649B8 10E100A3 */ beq $a3, $at, .L7F064C48 -/* 09952C 7F0649BC 24010021 */ li $at, 33 -/* 099530 7F0649C0 10E100A1 */ beq $a3, $at, .L7F064C48 -/* 099534 7F0649C4 2401002F */ li $at, 47 -/* 099538 7F0649C8 10E1009F */ beq $a3, $at, .L7F064C48 -/* 09953C 7F0649CC 24010030 */ li $at, 48 -/* 099540 7F0649D0 10E1009D */ beq $a3, $at, .L7F064C48 -/* 099544 7F0649D4 24010022 */ li $at, 34 -/* 099548 7F0649D8 10E1009B */ beq $a3, $at, .L7F064C48 -/* 09954C 7F0649DC 24010017 */ li $at, 23 -/* 099550 7F0649E0 10E10099 */ beq $a3, $at, .L7F064C48 -/* 099554 7F0649E4 2401003C */ li $at, 60 -/* 099558 7F0649E8 10E10097 */ beq $a3, $at, .L7F064C48 -/* 09955C 7F0649EC 3C0F8005 */ lui $t7, %hi(clock_timer) # $t7, 0x8005 -/* 099560 7F0649F0 8DEF83A4 */ lw $t7, %lo(clock_timer)($t7) -/* 099564 7F0649F4 59E00095 */ blezl $t7, .L7F064C4C -/* 099568 7F0649F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 09956C 7F0649FC 0FC19233 */ jal sub_GAME_7F0643A0 -/* 099570 7F064A00 AFA70070 */ sw $a3, 0x70($sp) -/* 099574 7F064A04 8FA70070 */ lw $a3, 0x70($sp) -/* 099578 7F064A08 10400068 */ beqz $v0, .L7F064BAC -/* 09957C 7F064A0C 00403025 */ move $a2, $v0 -/* 099580 7F064A10 8FB80074 */ lw $t8, 0x74($sp) -/* 099584 7F064A14 24010003 */ li $at, 3 -/* 099588 7F064A18 93020000 */ lbu $v0, ($t8) -/* 09958C 7F064A1C 1041002F */ beq $v0, $at, .L7F064ADC -/* 099590 7F064A20 24010006 */ li $at, 6 -/* 099594 7F064A24 1041002D */ beq $v0, $at, .L7F064ADC -/* 099598 7F064A28 24010016 */ li $at, 22 -/* 09959C 7F064A2C 14E10008 */ bne $a3, $at, .L7F064A50 -/* 0995A0 7F064A30 27A20038 */ addiu $v0, $sp, 0x38 -/* 0995A4 7F064A34 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0995A8 7F064A38 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0995AC 7F064A3C 2405005B */ li $a1, 91 -/* 0995B0 7F064A40 0C002386 */ jal play_sfx_a1 -/* 0995B4 7F064A44 AFA60060 */ sw $a2, 0x60($sp) -/* 0995B8 7F064A48 1000001C */ b .L7F064ABC -/* 0995BC 7F064A4C 8FB80060 */ lw $t8, 0x60($sp) -.L7F064A50: -/* 0995C0 7F064A50 3C198003 */ lui $t9, %hi(D_80035E04) # $t9, 0x8003 -/* 0995C4 7F064A54 27395E44 */ addiu $t9, %lo(D_80035E04) # addiu $t9, $t9, 0x5e44 -/* 0995C8 7F064A58 272A0024 */ addiu $t2, $t9, 0x24 -/* 0995CC 7F064A5C 00405825 */ move $t3, $v0 -.L7F064A60: -/* 0995D0 7F064A60 8F210000 */ lw $at, ($t9) -/* 0995D4 7F064A64 2739000C */ addiu $t9, $t9, 0xc -/* 0995D8 7F064A68 256B000C */ addiu $t3, $t3, 0xc -/* 0995DC 7F064A6C AD61FFF4 */ sw $at, -0xc($t3) -/* 0995E0 7F064A70 8F21FFF8 */ lw $at, -8($t9) -/* 0995E4 7F064A74 AD61FFF8 */ sw $at, -8($t3) -/* 0995E8 7F064A78 8F21FFFC */ lw $at, -4($t9) -/* 0995EC 7F064A7C 172AFFF8 */ bne $t9, $t2, .L7F064A60 -/* 0995F0 7F064A80 AD61FFFC */ sw $at, -4($t3) -/* 0995F4 7F064A84 8F210000 */ lw $at, ($t9) -/* 0995F8 7F064A88 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0995FC 7F064A8C AD610000 */ sw $at, ($t3) -/* 099600 7F064A90 8FAC0068 */ lw $t4, 0x68($sp) -/* 099604 7F064A94 24010014 */ li $at, 20 -/* 099608 7F064A98 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09960C 7F064A9C 0181001B */ divu $zero, $t4, $at -/* 099610 7F064AA0 00006810 */ mfhi $t5 -/* 099614 7F064AA4 000D7040 */ sll $t6, $t5, 1 -/* 099618 7F064AA8 004E7821 */ addu $t7, $v0, $t6 -/* 09961C 7F064AAC 85E50000 */ lh $a1, ($t7) -/* 099620 7F064AB0 0C002386 */ jal play_sfx_a1 -/* 099624 7F064AB4 AFA60060 */ sw $a2, 0x60($sp) -/* 099628 7F064AB8 8FB80060 */ lw $t8, 0x60($sp) -.L7F064ABC: -/* 09962C 7F064ABC 24050008 */ li $a1, 8 -/* 099630 7F064AC0 8F040000 */ lw $a0, ($t8) -/* 099634 7F064AC4 10800039 */ beqz $a0, .L7F064BAC -/* 099638 7F064AC8 00000000 */ nop -/* 09963C 7F064ACC 0C002465 */ jal sfx_c_70009184 -/* 099640 7F064AD0 8FA6006C */ lw $a2, 0x6c($sp) -/* 099644 7F064AD4 10000035 */ b .L7F064BAC -/* 099648 7F064AD8 00000000 */ nop -.L7F064ADC: -/* 09964C 7F064ADC 24010002 */ li $at, 2 -/* 099650 7F064AE0 14E10007 */ bne $a3, $at, .L7F064B00 -/* 099654 7F064AE4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 099658 7F064AE8 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09965C 7F064AEC 2405004A */ li $a1, 74 -/* 099660 7F064AF0 0C002386 */ jal play_sfx_a1 -/* 099664 7F064AF4 AFA60060 */ sw $a2, 0x60($sp) -/* 099668 7F064AF8 10000026 */ b .L7F064B94 -/* 09966C 7F064AFC 8FAC0060 */ lw $t4, 0x60($sp) -.L7F064B00: -/* 099670 7F064B00 24010001 */ li $at, 1 -/* 099674 7F064B04 14E10015 */ bne $a3, $at, .L7F064B5C -/* 099678 7F064B08 3C0E8003 */ lui $t6, %hi(D_80035E34) # $t6, 0x8003 -/* 09967C 7F064B0C 3C098003 */ lui $t1, %hi(D_80035E2C) # $t1, 0x8003 -/* 099680 7F064B10 25295E6C */ addiu $t1, %lo(D_80035E2C) # addiu $t1, $t1, 0x5e6c -/* 099684 7F064B14 8D210000 */ lw $at, ($t1) -/* 099688 7F064B18 27A20030 */ addiu $v0, $sp, 0x30 -/* 09968C 7F064B1C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 099690 7F064B20 AC410000 */ sw $at, ($v0) -/* 099694 7F064B24 95210004 */ lhu $at, 4($t1) -/* 099698 7F064B28 A4410004 */ sh $at, 4($v0) -/* 09969C 7F064B2C 8FB90068 */ lw $t9, 0x68($sp) -/* 0996A0 7F064B30 24010003 */ li $at, 3 -/* 0996A4 7F064B34 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0996A8 7F064B38 0321001B */ divu $zero, $t9, $at -/* 0996AC 7F064B3C 00005810 */ mfhi $t3 -/* 0996B0 7F064B40 000B6040 */ sll $t4, $t3, 1 -/* 0996B4 7F064B44 004C6821 */ addu $t5, $v0, $t4 -/* 0996B8 7F064B48 85A50000 */ lh $a1, ($t5) -/* 0996BC 7F064B4C 0C002386 */ jal play_sfx_a1 -/* 0996C0 7F064B50 AFA60060 */ sw $a2, 0x60($sp) -/* 0996C4 7F064B54 1000000F */ b .L7F064B94 -/* 0996C8 7F064B58 8FAC0060 */ lw $t4, 0x60($sp) -.L7F064B5C: -/* 0996CC 7F064B5C 25CE5E74 */ addiu $t6, %lo(D_80035E34) # addiu $t6, $t6, 0x5e74 -/* 0996D0 7F064B60 8DC10000 */ lw $at, ($t6) -/* 0996D4 7F064B64 27A2002C */ addiu $v0, $sp, 0x2c -/* 0996D8 7F064B68 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0996DC 7F064B6C AC410000 */ sw $at, ($v0) -/* 0996E0 7F064B70 8FA90068 */ lw $t1, 0x68($sp) -/* 0996E4 7F064B74 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0996E8 7F064B78 312A0001 */ andi $t2, $t1, 1 -/* 0996EC 7F064B7C 000AC840 */ sll $t9, $t2, 1 -/* 0996F0 7F064B80 00595821 */ addu $t3, $v0, $t9 -/* 0996F4 7F064B84 85650000 */ lh $a1, ($t3) -/* 0996F8 7F064B88 0C002386 */ jal play_sfx_a1 -/* 0996FC 7F064B8C AFA60060 */ sw $a2, 0x60($sp) -/* 099700 7F064B90 8FAC0060 */ lw $t4, 0x60($sp) -.L7F064B94: -/* 099704 7F064B94 24050008 */ li $a1, 8 -/* 099708 7F064B98 8D840000 */ lw $a0, ($t4) -/* 09970C 7F064B9C 10800003 */ beqz $a0, .L7F064BAC -/* 099710 7F064BA0 00000000 */ nop -/* 099714 7F064BA4 0C002465 */ jal sfx_c_70009184 -/* 099718 7F064BA8 8FA6006C */ lw $a2, 0x6c($sp) -.L7F064BAC: -/* 09971C 7F064BAC 0FC19233 */ jal sub_GAME_7F0643A0 -/* 099720 7F064BB0 00000000 */ nop -/* 099724 7F064BB4 10400024 */ beqz $v0, .L7F064C48 -/* 099728 7F064BB8 AFA20060 */ sw $v0, 0x60($sp) -/* 09972C 7F064BBC 8FAD0078 */ lw $t5, 0x78($sp) -/* 099730 7F064BC0 3C0F8005 */ lui $t7, %hi(image_entries) -/* 099734 7F064BC4 05A00020 */ bltz $t5, .L7F064C48 -/* 099738 7F064BC8 000DC0C0 */ sll $t8, $t5, 3 -/* 09973C 7F064BCC 01F87821 */ addu $t7, $t7, $t8 -/* 099740 7F064BD0 8DEF9330 */ lw $t7, %lo(image_entries)($t7) -/* 099744 7F064BD4 3C028005 */ lui $v0, %hi(D_8004E86C) -/* 099748 7F064BD8 000F7702 */ srl $t6, $t7, 0x1c -/* 09974C 7F064BDC 000E4080 */ sll $t0, $t6, 2 -/* 099750 7F064BE0 00481021 */ addu $v0, $v0, $t0 -/* 099754 7F064BE4 8C42E89C */ lw $v0, %lo(D_8004E86C)($v0) -/* 099758 7F064BE8 50400018 */ beql $v0, $zero, .L7F064C4C -/* 09975C 7F064BEC 8FBF0014 */ lw $ra, 0x14($sp) -/* 099760 7F064BF0 84470008 */ lh $a3, 8($v0) -/* 099764 7F064BF4 8FA90064 */ lw $t1, 0x64($sp) -/* 099768 7F064BF8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09976C 7F064BFC 18E0000C */ blez $a3, .L7F064C30 -/* 099770 7F064C00 8FA60060 */ lw $a2, 0x60($sp) -/* 099774 7F064C04 0127001B */ divu $zero, $t1, $a3 -/* 099778 7F064C08 8C4A0000 */ lw $t2, ($v0) -/* 09977C 7F064C0C 00001810 */ mfhi $v1 -/* 099780 7F064C10 0003C840 */ sll $t9, $v1, 1 -/* 099784 7F064C14 14E00002 */ bnez $a3, .L7F064C20 -/* 099788 7F064C18 00000000 */ nop -/* 09978C 7F064C1C 0007000D */ break 7 -.L7F064C20: -/* 099790 7F064C20 01595821 */ addu $t3, $t2, $t9 -/* 099794 7F064C24 85650000 */ lh $a1, ($t3) -/* 099798 7F064C28 0C002386 */ jal play_sfx_a1 -/* 09979C 7F064C2C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -.L7F064C30: -/* 0997A0 7F064C30 8FAC0060 */ lw $t4, 0x60($sp) -/* 0997A4 7F064C34 8D840000 */ lw $a0, ($t4) -/* 0997A8 7F064C38 50800004 */ beql $a0, $zero, .L7F064C4C -/* 0997AC 7F064C3C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0997B0 7F064C40 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 0997B4 7F064C44 8FA50024 */ lw $a1, 0x24($sp) -.L7F064C48: -/* 0997B8 7F064C48 8FBF0014 */ lw $ra, 0x14($sp) -.L7F064C4C: -/* 0997BC 7F064C4C 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0997C0 7F064C50 03E00008 */ jr $ra -/* 0997C4 7F064C54 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F064720(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F064720 -/* 099250 7F064720 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 099254 7F064724 AFBF0014 */ sw $ra, 0x14($sp) -/* 099258 7F064728 0FC190E8 */ jal sub_GAME_7F0643A0 -/* 09925C 7F06472C AFA40020 */ sw $a0, 0x20($sp) -/* 099260 7F064730 1040000C */ beqz $v0, .L7F064764 -/* 099264 7F064734 00403025 */ move $a2, $v0 -/* 099268 7F064738 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09926C 7F06473C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099270 7F064740 24050046 */ li $a1, 70 -/* 099274 7F064744 0C002382 */ jal play_sfx_a1 -/* 099278 7F064748 AFA2001C */ sw $v0, 0x1c($sp) -/* 09927C 7F06474C 8FA6001C */ lw $a2, 0x1c($sp) -/* 099280 7F064750 8CC40000 */ lw $a0, ($a2) -/* 099284 7F064754 50800004 */ beql $a0, $zero, .L7F064768 -/* 099288 7F064758 8FBF0014 */ lw $ra, 0x14($sp) -/* 09928C 7F06475C 0FC14E84 */ jal sub_GAME_7F053A10 -/* 099290 7F064760 8FA50020 */ lw $a1, 0x20($sp) -.L7F064764: -/* 099294 7F064764 8FBF0014 */ lw $ra, 0x14($sp) -.L7F064768: -/* 099298 7F064768 27BD0020 */ addiu $sp, $sp, 0x20 -/* 09929C 7F06476C 03E00008 */ jr $ra -/* 0992A0 7F064770 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F064720 -/* 0997C8 7F064C58 3C0E8005 */ lui $t6, %hi(clock_timer) # $t6, 0x8005 -/* 0997CC 7F064C5C 8DCE83A4 */ lw $t6, %lo(clock_timer)($t6) -/* 0997D0 7F064C60 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0997D4 7F064C64 AFBF0014 */ sw $ra, 0x14($sp) -/* 0997D8 7F064C68 19C00010 */ blez $t6, .L7F064CAC -/* 0997DC 7F064C6C AFA40020 */ sw $a0, 0x20($sp) -/* 0997E0 7F064C70 0FC19233 */ jal sub_GAME_7F0643A0 -/* 0997E4 7F064C74 00000000 */ nop -/* 0997E8 7F064C78 1040000C */ beqz $v0, .L7F064CAC -/* 0997EC 7F064C7C 00403025 */ move $a2, $v0 -/* 0997F0 7F064C80 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0997F4 7F064C84 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0997F8 7F064C88 24050046 */ li $a1, 70 -/* 0997FC 7F064C8C 0C002386 */ jal play_sfx_a1 -/* 099800 7F064C90 AFA2001C */ sw $v0, 0x1c($sp) -/* 099804 7F064C94 8FA6001C */ lw $a2, 0x1c($sp) -/* 099808 7F064C98 8CC40000 */ lw $a0, ($a2) -/* 09980C 7F064C9C 50800004 */ beql $a0, $zero, .L7F064CB0 -/* 099810 7F064CA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 099814 7F064CA4 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 099818 7F064CA8 8FA50020 */ lw $a1, 0x20($sp) -.L7F064CAC: -/* 09981C 7F064CAC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F064CB0: -/* 099820 7F064CB0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 099824 7F064CB4 03E00008 */ jr $ra -/* 099828 7F064CB8 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void recall_joy2_hits_edit_flag(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel recall_joy2_hits_edit_flag -/* 0992A4 7F064774 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0992A8 7F064778 AFBF0014 */ sw $ra, 0x14($sp) -/* 0992AC 7F06477C AFA40080 */ sw $a0, 0x80($sp) -/* 0992B0 7F064780 AFA50084 */ sw $a1, 0x84($sp) -/* 0992B4 7F064784 0C002914 */ jal get_random_value -/* 0992B8 7F064788 AFA60088 */ sw $a2, 0x88($sp) -/* 0992BC 7F06478C 0C002914 */ jal get_random_value -/* 0992C0 7F064790 AFA20078 */ sw $v0, 0x78($sp) -/* 0992C4 7F064794 8FAE0088 */ lw $t6, 0x88($sp) -/* 0992C8 7F064798 3C018005 */ lui $at, %hi(D_800483C4) -/* 0992CC 7F06479C AFA20074 */ sw $v0, 0x74($sp) -/* 0992D0 7F0647A0 0FC243EB */ jal get_debug_joy2hitsedit_flag -/* 0992D4 7F0647A4 AC2E83C4 */ sw $t6, %lo(D_800483C4)($at) -/* 0992D8 7F0647A8 0FC190E8 */ jal sub_GAME_7F0643A0 -/* 0992DC 7F0647AC 00000000 */ nop -/* 0992E0 7F0647B0 10400035 */ beqz $v0, .L7F064888 -/* 0992E4 7F0647B4 00403025 */ move $a2, $v0 -/* 0992E8 7F0647B8 8FA20080 */ lw $v0, 0x80($sp) -/* 0992EC 7F0647BC 24010017 */ li $at, 23 -/* 0992F0 7F0647C0 1041002C */ beq $v0, $at, .L7F064874 -/* 0992F4 7F0647C4 24010016 */ li $at, 22 -/* 0992F8 7F0647C8 14410011 */ bne $v0, $at, .L7F064810 -/* 0992FC 7F0647CC 3C0C8003 */ lui $t4, %hi(D_80035E3C) -/* 099300 7F0647D0 3C0F8003 */ lui $t7, %hi(D_80035E38) -/* 099304 7F0647D4 25EF5E38 */ addiu $t7, %lo(D_80035E38) # addiu $t7, $t7, 0x5e38 -/* 099308 7F0647D8 8DE10000 */ lw $at, ($t7) -/* 09930C 7F0647DC 27A20070 */ addiu $v0, $sp, 0x70 -/* 099310 7F0647E0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099314 7F0647E4 AC410000 */ sw $at, ($v0) -/* 099318 7F0647E8 8FA80078 */ lw $t0, 0x78($sp) -/* 09931C 7F0647EC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099320 7F0647F0 31090001 */ andi $t1, $t0, 1 -/* 099324 7F0647F4 00095040 */ sll $t2, $t1, 1 -/* 099328 7F0647F8 004A5821 */ addu $t3, $v0, $t2 -/* 09932C 7F0647FC 85650000 */ lh $a1, ($t3) -/* 099330 7F064800 0C002382 */ jal play_sfx_a1 -/* 099334 7F064804 AFA6007C */ sw $a2, 0x7c($sp) -/* 099338 7F064808 1000001A */ b .L7F064874 -/* 09933C 7F06480C 8FA6007C */ lw $a2, 0x7c($sp) -.L7F064810: -/* 099340 7F064810 27A20028 */ addiu $v0, $sp, 0x28 -/* 099344 7F064814 258C5E3C */ addiu $t4, %lo(D_80035E3C) # addiu $t4, $t4, 0x5e3c -/* 099348 7F064818 25980048 */ addiu $t8, $t4, 0x48 -/* 09934C 7F06481C 00407825 */ move $t7, $v0 -.L7F064820: -/* 099350 7F064820 8D810000 */ lw $at, ($t4) -/* 099354 7F064824 258C000C */ addiu $t4, $t4, 0xc -/* 099358 7F064828 25EF000C */ addiu $t7, $t7, 0xc -/* 09935C 7F06482C ADE1FFF4 */ sw $at, -0xc($t7) -/* 099360 7F064830 8D81FFF8 */ lw $at, -8($t4) -/* 099364 7F064834 ADE1FFF8 */ sw $at, -8($t7) -/* 099368 7F064838 8D81FFFC */ lw $at, -4($t4) -/* 09936C 7F06483C 1598FFF8 */ bne $t4, $t8, .L7F064820 -/* 099370 7F064840 ADE1FFFC */ sw $at, -4($t7) -/* 099374 7F064844 8FB90078 */ lw $t9, 0x78($sp) -/* 099378 7F064848 24010024 */ li $at, 36 -/* 09937C 7F06484C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099380 7F064850 0321001B */ divu $zero, $t9, $at -/* 099384 7F064854 00004010 */ mfhi $t0 -/* 099388 7F064858 00084840 */ sll $t1, $t0, 1 -/* 09938C 7F06485C 00495021 */ addu $t2, $v0, $t1 -/* 099390 7F064860 85450000 */ lh $a1, ($t2) -/* 099394 7F064864 AFA6007C */ sw $a2, 0x7c($sp) -/* 099398 7F064868 0C002382 */ jal play_sfx_a1 -/* 09939C 7F06486C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0993A0 7F064870 8FA6007C */ lw $a2, 0x7c($sp) -.L7F064874: -/* 0993A4 7F064874 8CC40000 */ lw $a0, ($a2) -/* 0993A8 7F064878 10800003 */ beqz $a0, .L7F064888 -/* 0993AC 7F06487C 00000000 */ nop -/* 0993B0 7F064880 0FC14E84 */ jal sub_GAME_7F053A10 -/* 0993B4 7F064884 8FA50084 */ lw $a1, 0x84($sp) -.L7F064888: -/* 0993B8 7F064888 0FC190E8 */ jal sub_GAME_7F0643A0 -/* 0993BC 7F06488C 00000000 */ nop -/* 0993C0 7F064890 10400024 */ beqz $v0, .L7F064924 -/* 0993C4 7F064894 00403025 */ move $a2, $v0 -/* 0993C8 7F064898 8FAB0088 */ lw $t3, 0x88($sp) -/* 0993CC 7F06489C 3C0D8005 */ lui $t5, %hi(image_entries) -/* 0993D0 7F0648A0 05600020 */ bltz $t3, .L7F064924 -/* 0993D4 7F0648A4 000B70C0 */ sll $t6, $t3, 3 -/* 0993D8 7F0648A8 01AE6821 */ addu $t5, $t5, $t6 -/* 0993DC 7F0648AC 8DAD9300 */ lw $t5, %lo(image_entries)($t5) -/* 0993E0 7F0648B0 3C028005 */ lui $v0, %hi(D_8004E86C) -/* 0993E4 7F0648B4 000DC702 */ srl $t8, $t5, 0x1c -/* 0993E8 7F0648B8 00186080 */ sll $t4, $t8, 2 -/* 0993EC 7F0648BC 004C1021 */ addu $v0, $v0, $t4 -/* 0993F0 7F0648C0 8C42E86C */ lw $v0, %lo(D_8004E86C)($v0) -/* 0993F4 7F0648C4 84470008 */ lh $a3, 8($v0) -/* 0993F8 7F0648C8 58E00017 */ blezl $a3, .L7F064928 -/* 0993FC 7F0648CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 099400 7F0648D0 1040000F */ beqz $v0, .L7F064910 -/* 099404 7F0648D4 8FAF0074 */ lw $t7, 0x74($sp) -/* 099408 7F0648D8 01E7001B */ divu $zero, $t7, $a3 -/* 09940C 7F0648DC 8C590000 */ lw $t9, ($v0) -/* 099410 7F0648E0 00001810 */ mfhi $v1 -/* 099414 7F0648E4 00034040 */ sll $t0, $v1, 1 -/* 099418 7F0648E8 03284821 */ addu $t1, $t9, $t0 -/* 09941C 7F0648EC 14E00002 */ bnez $a3, .L7F0648F8 -/* 099420 7F0648F0 00000000 */ nop -/* 099424 7F0648F4 0007000D */ break 7 -.L7F0648F8: -/* 099428 7F0648F8 85250000 */ lh $a1, ($t1) -/* 09942C 7F0648FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099430 7F064900 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099434 7F064904 0C002382 */ jal play_sfx_a1 -/* 099438 7F064908 AFA6007C */ sw $a2, 0x7c($sp) -/* 09943C 7F06490C 8FA6007C */ lw $a2, 0x7c($sp) -.L7F064910: -/* 099440 7F064910 8CC40000 */ lw $a0, ($a2) -/* 099444 7F064914 50800004 */ beql $a0, $zero, .L7F064928 -/* 099448 7F064918 8FBF0014 */ lw $ra, 0x14($sp) -/* 09944C 7F06491C 0FC14E84 */ jal sub_GAME_7F053A10 -/* 099450 7F064920 8FA50084 */ lw $a1, 0x84($sp) -.L7F064924: -/* 099454 7F064924 8FBF0014 */ lw $ra, 0x14($sp) -.L7F064928: -/* 099458 7F064928 27BD0080 */ addiu $sp, $sp, 0x80 -/* 09945C 7F06492C 03E00008 */ jr $ra -/* 099460 7F064930 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel recall_joy2_hits_edit_flag -/* 09982C 7F064CBC 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 099830 7F064CC0 AFBF0014 */ sw $ra, 0x14($sp) -/* 099834 7F064CC4 AFA40080 */ sw $a0, 0x80($sp) -/* 099838 7F064CC8 AFA50084 */ sw $a1, 0x84($sp) -/* 09983C 7F064CCC 0C002918 */ jal get_random_value -/* 099840 7F064CD0 AFA60088 */ sw $a2, 0x88($sp) -/* 099844 7F064CD4 0C002918 */ jal get_random_value -/* 099848 7F064CD8 AFA20078 */ sw $v0, 0x78($sp) -/* 09984C 7F064CDC 8FAE0088 */ lw $t6, 0x88($sp) -/* 099850 7F064CE0 3C018005 */ lui $at, %hi(D_800483C4) # $at, 0x8005 -/* 099854 7F064CE4 AFA20074 */ sw $v0, 0x74($sp) -/* 099858 7F064CE8 0FC246A3 */ jal get_debug_joy2hitsedit_flag -/* 09985C 7F064CEC AC2E83F8 */ sw $t6, %lo(D_800483C4)($at) -/* 099860 7F064CF0 3C0F8005 */ lui $t7, %hi(clock_timer) # $t7, 0x8005 -/* 099864 7F064CF4 8DEF83A4 */ lw $t7, %lo(clock_timer)($t7) -/* 099868 7F064CF8 59E00061 */ blezl $t7, .L7F064E80 -/* 09986C 7F064CFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 099870 7F064D00 0FC19233 */ jal sub_GAME_7F0643A0 -/* 099874 7F064D04 00000000 */ nop -/* 099878 7F064D08 10400035 */ beqz $v0, .L7F064DE0 -/* 09987C 7F064D0C 00403025 */ move $a2, $v0 -/* 099880 7F064D10 8FA20080 */ lw $v0, 0x80($sp) -/* 099884 7F064D14 24010017 */ li $at, 23 -/* 099888 7F064D18 1041002C */ beq $v0, $at, .L7F064DCC -/* 09988C 7F064D1C 24010016 */ li $at, 22 -/* 099890 7F064D20 14410011 */ bne $v0, $at, .L7F064D68 -/* 099894 7F064D24 3C0D8003 */ lui $t5, %hi(D_80035E3C) # $t5, 0x8003 -/* 099898 7F064D28 3C188003 */ lui $t8, %hi(D_80035E38) # $t8, 0x8003 -/* 09989C 7F064D2C 27185E78 */ addiu $t8, %lo(D_80035E38) # addiu $t8, $t8, 0x5e78 -/* 0998A0 7F064D30 8F010000 */ lw $at, ($t8) -/* 0998A4 7F064D34 27A20070 */ addiu $v0, $sp, 0x70 -/* 0998A8 7F064D38 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0998AC 7F064D3C AC410000 */ sw $at, ($v0) -/* 0998B0 7F064D40 8FA90078 */ lw $t1, 0x78($sp) -/* 0998B4 7F064D44 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0998B8 7F064D48 312A0001 */ andi $t2, $t1, 1 -/* 0998BC 7F064D4C 000A5840 */ sll $t3, $t2, 1 -/* 0998C0 7F064D50 004B6021 */ addu $t4, $v0, $t3 -/* 0998C4 7F064D54 85850000 */ lh $a1, ($t4) -/* 0998C8 7F064D58 0C002386 */ jal play_sfx_a1 -/* 0998CC 7F064D5C AFA6007C */ sw $a2, 0x7c($sp) -/* 0998D0 7F064D60 1000001A */ b .L7F064DCC -/* 0998D4 7F064D64 8FA6007C */ lw $a2, 0x7c($sp) -.L7F064D68: -/* 0998D8 7F064D68 27A20028 */ addiu $v0, $sp, 0x28 -/* 0998DC 7F064D6C 25AD5E7C */ addiu $t5, %lo(D_80035E3C) # addiu $t5, $t5, 0x5e7c -/* 0998E0 7F064D70 25B90048 */ addiu $t9, $t5, 0x48 -/* 0998E4 7F064D74 0040C025 */ move $t8, $v0 -.L7F064D78: -/* 0998E8 7F064D78 8DA10000 */ lw $at, ($t5) -/* 0998EC 7F064D7C 25AD000C */ addiu $t5, $t5, 0xc -/* 0998F0 7F064D80 2718000C */ addiu $t8, $t8, 0xc -/* 0998F4 7F064D84 AF01FFF4 */ sw $at, -0xc($t8) -/* 0998F8 7F064D88 8DA1FFF8 */ lw $at, -8($t5) -/* 0998FC 7F064D8C AF01FFF8 */ sw $at, -8($t8) -/* 099900 7F064D90 8DA1FFFC */ lw $at, -4($t5) -/* 099904 7F064D94 15B9FFF8 */ bne $t5, $t9, .L7F064D78 -/* 099908 7F064D98 AF01FFFC */ sw $at, -4($t8) -/* 09990C 7F064D9C 8FA80078 */ lw $t0, 0x78($sp) -/* 099910 7F064DA0 24010024 */ li $at, 36 -/* 099914 7F064DA4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 099918 7F064DA8 0101001B */ divu $zero, $t0, $at -/* 09991C 7F064DAC 00004810 */ mfhi $t1 -/* 099920 7F064DB0 00095040 */ sll $t2, $t1, 1 -/* 099924 7F064DB4 004A5821 */ addu $t3, $v0, $t2 -/* 099928 7F064DB8 85650000 */ lh $a1, ($t3) -/* 09992C 7F064DBC AFA6007C */ sw $a2, 0x7c($sp) -/* 099930 7F064DC0 0C002386 */ jal play_sfx_a1 -/* 099934 7F064DC4 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099938 7F064DC8 8FA6007C */ lw $a2, 0x7c($sp) -.L7F064DCC: -/* 09993C 7F064DCC 8CC40000 */ lw $a0, ($a2) -/* 099940 7F064DD0 10800003 */ beqz $a0, .L7F064DE0 -/* 099944 7F064DD4 00000000 */ nop -/* 099948 7F064DD8 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 09994C 7F064DDC 8FA50084 */ lw $a1, 0x84($sp) -.L7F064DE0: -/* 099950 7F064DE0 0FC19233 */ jal sub_GAME_7F0643A0 -/* 099954 7F064DE4 00000000 */ nop -/* 099958 7F064DE8 10400024 */ beqz $v0, .L7F064E7C -/* 09995C 7F064DEC 00403025 */ move $a2, $v0 -/* 099960 7F064DF0 8FAC0088 */ lw $t4, 0x88($sp) -/* 099964 7F064DF4 3C0E8005 */ lui $t6, %hi(image_entries) -/* 099968 7F064DF8 05800020 */ bltz $t4, .L7F064E7C -/* 09996C 7F064DFC 000C78C0 */ sll $t7, $t4, 3 -/* 099970 7F064E00 01CF7021 */ addu $t6, $t6, $t7 -/* 099974 7F064E04 8DCE9330 */ lw $t6, %lo(image_entries)($t6) -/* 099978 7F064E08 3C028005 */ lui $v0, %hi(D_8004E86C) -/* 09997C 7F064E0C 000ECF02 */ srl $t9, $t6, 0x1c -/* 099980 7F064E10 00196880 */ sll $t5, $t9, 2 -/* 099984 7F064E14 004D1021 */ addu $v0, $v0, $t5 -/* 099988 7F064E18 8C42E89C */ lw $v0, %lo(D_8004E86C)($v0) -/* 09998C 7F064E1C 84470008 */ lh $a3, 8($v0) -/* 099990 7F064E20 58E00017 */ blezl $a3, .L7F064E80 -/* 099994 7F064E24 8FBF0014 */ lw $ra, 0x14($sp) -/* 099998 7F064E28 1040000F */ beqz $v0, .L7F064E68 -/* 09999C 7F064E2C 8FB80074 */ lw $t8, 0x74($sp) -/* 0999A0 7F064E30 0307001B */ divu $zero, $t8, $a3 -/* 0999A4 7F064E34 8C480000 */ lw $t0, ($v0) -/* 0999A8 7F064E38 00001810 */ mfhi $v1 -/* 0999AC 7F064E3C 00034840 */ sll $t1, $v1, 1 -/* 0999B0 7F064E40 01095021 */ addu $t2, $t0, $t1 -/* 0999B4 7F064E44 14E00002 */ bnez $a3, .L7F064E50 -/* 0999B8 7F064E48 00000000 */ nop -/* 0999BC 7F064E4C 0007000D */ break 7 -.L7F064E50: -/* 0999C0 7F064E50 85450000 */ lh $a1, ($t2) -/* 0999C4 7F064E54 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0999C8 7F064E58 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0999CC 7F064E5C 0C002386 */ jal play_sfx_a1 -/* 0999D0 7F064E60 AFA6007C */ sw $a2, 0x7c($sp) -/* 0999D4 7F064E64 8FA6007C */ lw $a2, 0x7c($sp) -.L7F064E68: -/* 0999D8 7F064E68 8CC40000 */ lw $a0, ($a2) -/* 0999DC 7F064E6C 50800004 */ beql $a0, $zero, .L7F064E80 -/* 0999E0 7F064E70 8FBF0014 */ lw $ra, 0x14($sp) -/* 0999E4 7F064E74 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 0999E8 7F064E78 8FA50084 */ lw $a1, 0x84($sp) -.L7F064E7C: -/* 0999EC 7F064E7C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F064E80: -/* 0999F0 7F064E80 27BD0080 */ addiu $sp, $sp, 0x80 -/* 0999F4 7F064E84 03E00008 */ jr $ra -/* 0999F8 7F064E88 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F064934(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F064934 -/* 099464 7F064934 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 099468 7F064938 24010016 */ li $at, 22 -/* 09946C 7F06493C 10810017 */ beq $a0, $at, .L7F06499C -/* 099470 7F064940 AFBF0014 */ sw $ra, 0x14($sp) -/* 099474 7F064944 24010017 */ li $at, 23 -/* 099478 7F064948 10810014 */ beq $a0, $at, .L7F06499C -/* 09947C 7F06494C 3C0F8003 */ lui $t7, %hi(D_80035E84) -/* 099480 7F064950 25EF5E84 */ addiu $t7, %lo(D_80035E84) # addiu $t7, $t7, 0x5e84 -/* 099484 7F064954 8DE10000 */ lw $at, ($t7) -/* 099488 7F064958 27AE001C */ addiu $t6, $sp, 0x1c -/* 09948C 7F06495C 8DF90004 */ lw $t9, 4($t7) -/* 099490 7F064960 ADC10000 */ sw $at, ($t6) -/* 099494 7F064964 95E10008 */ lhu $at, 8($t7) -/* 099498 7F064968 ADD90004 */ sw $t9, 4($t6) -/* 09949C 7F06496C 0C002914 */ jal get_random_value -/* 0994A0 7F064970 A5C10008 */ sh $at, 8($t6) -/* 0994A4 7F064974 24010005 */ li $at, 5 -/* 0994A8 7F064978 0041001B */ divu $zero, $v0, $at -/* 0994AC 7F06497C 00004010 */ mfhi $t0 -/* 0994B0 7F064980 00084840 */ sll $t1, $t0, 1 -/* 0994B4 7F064984 03A92821 */ addu $a1, $sp, $t1 -/* 0994B8 7F064988 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0994BC 7F06498C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0994C0 7F064990 84A5001C */ lh $a1, 0x1c($a1) -/* 0994C4 7F064994 0C002382 */ jal play_sfx_a1 -/* 0994C8 7F064998 00003025 */ move $a2, $zero -.L7F06499C: -/* 0994CC 7F06499C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0994D0 7F0649A0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0994D4 7F0649A4 03E00008 */ jr $ra -/* 0994D8 7F0649A8 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F064934 -/* 0999FC 7F064E8C 3C0E8005 */ lui $t6, %hi(clock_timer) # $t6, 0x8005 -/* 099A00 7F064E90 8DCE83A4 */ lw $t6, %lo(clock_timer)($t6) -/* 099A04 7F064E94 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 099A08 7F064E98 AFBF0014 */ sw $ra, 0x14($sp) -/* 099A0C 7F064E9C 19C00018 */ blez $t6, .L7F064F00 -/* 099A10 7F064EA0 24010016 */ li $at, 22 -/* 099A14 7F064EA4 10810016 */ beq $a0, $at, .L7F064F00 -/* 099A18 7F064EA8 24010017 */ li $at, 23 -/* 099A1C 7F064EAC 10810014 */ beq $a0, $at, .L7F064F00 -/* 099A20 7F064EB0 3C188003 */ lui $t8, %hi(D_80035E84) # $t8, 0x8003 -/* 099A24 7F064EB4 27185EC4 */ addiu $t8, %lo(D_80035E84) # addiu $t8, $t8, 0x5ec4 -/* 099A28 7F064EB8 8F010000 */ lw $at, ($t8) -/* 099A2C 7F064EBC 27AF001C */ addiu $t7, $sp, 0x1c -/* 099A30 7F064EC0 8F080004 */ lw $t0, 4($t8) -/* 099A34 7F064EC4 ADE10000 */ sw $at, ($t7) -/* 099A38 7F064EC8 97010008 */ lhu $at, 8($t8) -/* 099A3C 7F064ECC ADE80004 */ sw $t0, 4($t7) -/* 099A40 7F064ED0 0C002918 */ jal get_random_value -/* 099A44 7F064ED4 A5E10008 */ sh $at, 8($t7) -/* 099A48 7F064ED8 24010005 */ li $at, 5 -/* 099A4C 7F064EDC 0041001B */ divu $zero, $v0, $at -/* 099A50 7F064EE0 00004810 */ mfhi $t1 -/* 099A54 7F064EE4 00095040 */ sll $t2, $t1, 1 -/* 099A58 7F064EE8 03AA2821 */ addu $a1, $sp, $t2 -/* 099A5C 7F064EEC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 099A60 7F064EF0 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099A64 7F064EF4 84A5001C */ lh $a1, 0x1c($a1) -/* 099A68 7F064EF8 0C002386 */ jal play_sfx_a1 -/* 099A6C 7F064EFC 00003025 */ move $a2, $zero -.L7F064F00: -/* 099A70 7F064F00 8FBF0014 */ lw $ra, 0x14($sp) -/* 099A74 7F064F04 27BD0028 */ addiu $sp, $sp, 0x28 -/* 099A78 7F064F08 03E00008 */ jr $ra -/* 099A7C 7F064F0C 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F0649AC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0649AC -/* 0994DC 7F0649AC 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 0994E0 7F0649B0 44810000 */ mtc1 $at, $f0 -/* 0994E4 7F0649B4 24010019 */ li $at, 25 -/* 0994E8 7F0649B8 14810005 */ bne $a0, $at, .L7F0649D0 -/* 0994EC 7F0649BC 46000086 */ mov.s $f2, $f0 -/* 0994F0 7F0649C0 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0994F4 7F0649C4 44812000 */ mtc1 $at, $f4 -/* 0994F8 7F0649C8 00000000 */ nop -/* 0994FC 7F0649CC 46040081 */ sub.s $f2, $f0, $f4 -.L7F0649D0: -/* 099500 7F0649D0 03E00008 */ jr $ra -/* 099504 7F0649D4 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0649D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0649D8 -/* 099508 7F0649D8 000478C0 */ sll $t7, $a0, 3 -/* 09950C 7F0649DC 01E47823 */ subu $t7, $t7, $a0 -/* 099510 7F0649E0 000F7880 */ sll $t7, $t7, 2 -/* 099514 7F0649E4 01E47821 */ addu $t7, $t7, $a0 -/* 099518 7F0649E8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09951C 7F0649EC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 099520 7F0649F0 000F7880 */ sll $t7, $t7, 2 -/* 099524 7F0649F4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 099528 7F0649F8 01E47821 */ addu $t7, $t7, $a0 -/* 09952C 7F0649FC AFB10018 */ sw $s1, 0x18($sp) -/* 099530 7F064A00 000F78C0 */ sll $t7, $t7, 3 -/* 099534 7F064A04 AFBF001C */ sw $ra, 0x1c($sp) -/* 099538 7F064A08 01CF8821 */ addu $s1, $t6, $t7 -/* 09953C 7F064A0C AFB00014 */ sw $s0, 0x14($sp) -/* 099540 7F064A10 26310870 */ addiu $s1, $s1, 0x870 -/* 099544 7F064A14 0FC17674 */ jal get_item_in_hand -/* 099548 7F064A18 AFA40038 */ sw $a0, 0x38($sp) -/* 09954C 7F064A1C 8E38002C */ lw $t8, 0x2c($s1) -/* 099550 7F064A20 00408025 */ move $s0, $v0 -/* 099554 7F064A24 8FA40038 */ lw $a0, 0x38($sp) -/* 099558 7F064A28 0FC1A4DD */ jal get_ammo_in_hands_weapon -/* 09955C 7F064A2C AFB8002C */ sw $t8, 0x2c($sp) -/* 099560 7F064A30 AFA20028 */ sw $v0, 0x28($sp) -/* 099564 7F064A34 0FC1722D */ jal get_ptr_item_statistics -/* 099568 7F064A38 02002025 */ move $a0, $s0 -/* 09956C 7F064A3C 8FB90028 */ lw $t9, 0x28($sp) -/* 099570 7F064A40 8FA8002C */ lw $t0, 0x2c($sp) -/* 099574 7F064A44 84440020 */ lh $a0, 0x20($v0) -/* 099578 7F064A48 00403025 */ move $a2, $v0 -/* 09957C 7F064A4C 03281821 */ addu $v1, $t9, $t0 -/* 099580 7F064A50 0064082A */ slt $at, $v1, $a0 -/* 099584 7F064A54 14200003 */ bnez $at, .L7F064A64 -/* 099588 7F064A58 3C050020 */ lui $a1, 0x20 -/* 09958C 7F064A5C 10000002 */ b .L7F064A68 -/* 099590 7F064A60 AE24002C */ sw $a0, 0x2c($s1) -.L7F064A64: -/* 099594 7F064A64 AE23002C */ sw $v1, 0x2c($s1) -.L7F064A68: -/* 099598 7F064A68 02002025 */ move $a0, $s0 -/* 09959C 7F064A6C 0FC1782D */ jal check_special_attributes -/* 0995A0 7F064A70 AFA60024 */ sw $a2, 0x24($sp) -/* 0995A4 7F064A74 10400008 */ beqz $v0, .L7F064A98 -/* 0995A8 7F064A78 8FA60024 */ lw $a2, 0x24($sp) -/* 0995AC 7F064A7C 8CCA001C */ lw $t2, 0x1c($a2) -/* 0995B0 7F064A80 3C098008 */ lui $t1, %hi(pPlayer) -/* 0995B4 7F064A84 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0995B8 7F064A88 000A5880 */ sll $t3, $t2, 2 -/* 0995BC 7F064A8C 012B6021 */ addu $t4, $t1, $t3 -/* 0995C0 7F064A90 1000000C */ b .L7F064AC4 -/* 0995C4 7F064A94 AD801130 */ sw $zero, 0x1130($t4) -.L7F064A98: -/* 0995C8 7F064A98 8CCE001C */ lw $t6, 0x1c($a2) -/* 0995CC 7F064A9C 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 0995D0 7F064AA0 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 0995D4 7F064AA4 000E7880 */ sll $t7, $t6, 2 -/* 0995D8 7F064AA8 8E39002C */ lw $t9, 0x2c($s1) -/* 0995DC 7F064AAC 01AF1021 */ addu $v0, $t5, $t7 -/* 0995E0 7F064AB0 8C581130 */ lw $t8, 0x1130($v0) -/* 0995E4 7F064AB4 8FAA002C */ lw $t2, 0x2c($sp) -/* 0995E8 7F064AB8 03194023 */ subu $t0, $t8, $t9 -/* 0995EC 7F064ABC 010A4821 */ addu $t1, $t0, $t2 -/* 0995F0 7F064AC0 AC491130 */ sw $t1, 0x1130($v0) -.L7F064AC4: -/* 0995F4 7F064AC4 24010019 */ li $at, 25 -/* 0995F8 7F064AC8 56010006 */ bnel $s0, $at, .L7F064AE4 -/* 0995FC 7F064ACC 2401000F */ li $at, 15 -/* 099600 7F064AD0 0FC17E9F */ jal sub_GAME_7F05FA7C -/* 099604 7F064AD4 8FA40038 */ lw $a0, 0x38($sp) -/* 099608 7F064AD8 1000000F */ b .L7F064B18 -/* 09960C 7F064ADC 8FBF001C */ lw $ra, 0x1c($sp) -/* 099610 7F064AE0 2401000F */ li $at, 15 -.L7F064AE4: -/* 099614 7F064AE4 12010003 */ beq $s0, $at, .L7F064AF4 -/* 099618 7F064AE8 24010010 */ li $at, 16 -/* 09961C 7F064AEC 5601000A */ bnel $s0, $at, .L7F064B18 -/* 099620 7F064AF0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F064AF4: -/* 099624 7F064AF4 0FC1A4DD */ jal get_ammo_in_hands_weapon -/* 099628 7F064AF8 8FA40038 */ lw $a0, 0x38($sp) -/* 09962C 7F064AFC 28410005 */ slti $at, $v0, 5 -/* 099630 7F064B00 14200003 */ bnez $at, .L7F064B10 -/* 099634 7F064B04 240B0005 */ li $t3, 5 -/* 099638 7F064B08 10000002 */ b .L7F064B14 -/* 09963C 7F064B0C AE2B0034 */ sw $t3, 0x34($s1) -.L7F064B10: -/* 099640 7F064B10 AE220034 */ sw $v0, 0x34($s1) -.L7F064B14: -/* 099644 7F064B14 8FBF001C */ lw $ra, 0x1c($sp) -.L7F064B18: -/* 099648 7F064B18 8FB00014 */ lw $s0, 0x14($sp) -/* 09964C 7F064B1C 8FB10018 */ lw $s1, 0x18($sp) -/* 099650 7F064B20 03E00008 */ jr $ra -/* 099654 7F064B24 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void handle_weapon_id_values_possibly_1st_person_animation(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*D:80053F24*/ -glabel jpt_80053F24 -.word Weapon_function_slapper -.word Weapon_function_hunting_knife -.word Weapon_function_throwing_knife -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_magnum -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_magnum -.word Weapon_function_guns -.word Weapon_function_grenades -.word Weapon_function_throwable_item -.word Weapon_function_throwable_item -.word Weapon_function_throwable_item -.word Weapon_function_guns -.word Weapon_function_tazer -.word Weapon_function_guns -.word Weapon_function_throwable_item -.word Weapon_function_throwable_item -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_camera -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_collectible -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_throwable_item -.word Weapon_function_throwable_item -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_guns -.word Weapon_function_throwable_item -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_key -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible - -/*D:80054084*/ -glabel jpt_80054084 -.word Weapon_shooting_noammo -.word Weapon_shooting_throwable -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_pistol -.word Weapon_shooting_tazer -.word Weapon_shooting_pistol -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_watch_magnet -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_watch_magnet - -glabel D_80054170 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054174 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80054178 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005417C -.word 0x40490fdb /*3.1415927*/ -glabel D_80054180 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80054184 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054188 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_8005418C -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054190 -.word 0x3f32b8c3 /*0.69813174*/ - -/*D:80054194*/ -glabel jpt_80054194 -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_playsfx_knife -.word weapon_playsfx_knife -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_F2 -.word weapon_switchstyle_NONE -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_switchstyle_NONE -.word weapon_playsfx_mine -.word weapon_playsfx_mine -.word weapon_playsfx_mine -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_switchstyle_NONE -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE - -glabel D_8005428C -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054290 -.word 0x3f32b8c3 /*0.69813174*/ - -/*D:80054294*/ -glabel jpt_80054294 -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx - -glabel D_8005438C -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054390 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054394 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054398 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_8005439C -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_800543A0 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_800543A4 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_800543A8 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_800543AC -.word 0x3f32b8c3 /*0.69813174*/ - -.text -glabel handle_weapon_id_values_possibly_1st_person_animation -/* 099658 7F064B28 000410C0 */ sll $v0, $a0, 3 -/* 09965C 7F064B2C 00441023 */ subu $v0, $v0, $a0 -/* 099660 7F064B30 00021080 */ sll $v0, $v0, 2 -/* 099664 7F064B34 27BDFE30 */ addiu $sp, $sp, -0x1d0 -/* 099668 7F064B38 00441021 */ addu $v0, $v0, $a0 -/* 09966C 7F064B3C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 099670 7F064B40 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 099674 7F064B44 00021080 */ sll $v0, $v0, 2 -/* 099678 7F064B48 00441021 */ addu $v0, $v0, $a0 -/* 09967C 7F064B4C AFB0001C */ sw $s0, 0x1c($sp) -/* 099680 7F064B50 000210C0 */ sll $v0, $v0, 3 -/* 099684 7F064B54 AFBF0024 */ sw $ra, 0x24($sp) -/* 099688 7F064B58 01C28021 */ addu $s0, $t6, $v0 -/* 09968C 7F064B5C AFB10020 */ sw $s1, 0x20($sp) -/* 099690 7F064B60 AFA501D4 */ sw $a1, 0x1d4($sp) -/* 099694 7F064B64 26100870 */ addiu $s0, $s0, 0x870 -/* 099698 7F064B68 AFA20038 */ sw $v0, 0x38($sp) -/* 09969C 7F064B6C 0FC17691 */ jal return_ammo_in_hand -/* 0996A0 7F064B70 AFA401D0 */ sw $a0, 0x1d0($sp) -/* 0996A4 7F064B74 00408825 */ move $s1, $v0 -/* 0996A8 7F064B78 0FC1A50B */ jal get_ammo_type_for_weapon -/* 0996AC 7F064B7C 00402025 */ move $a0, $v0 -/* 0996B0 7F064B80 8FA301D4 */ lw $v1, 0x1d4($sp) -/* 0996B4 7F064B84 8E0F0010 */ lw $t7, 0x10($s0) -/* 0996B8 7F064B88 00403025 */ move $a2, $v0 -/* 0996BC 7F064B8C AE030010 */ sw $v1, 0x10($s0) -/* 0996C0 7F064B90 14600003 */ bnez $v1, .L7F064BA0 -/* 0996C4 7F064B94 AE0F0014 */ sw $t7, 0x14($s0) -/* 0996C8 7F064B98 24180001 */ li $t8, 1 -/* 0996CC 7F064B9C AE180018 */ sw $t8, 0x18($s0) -.L7F064BA0: -/* 0996D0 7F064BA0 A200000C */ sb $zero, 0xc($s0) -/* 0996D4 7F064BA4 A200000D */ sb $zero, 0xd($s0) -/* 0996D8 7F064BA8 3C028005 */ lui $v0, %hi(clock_timer) -/* 0996DC 7F064BAC 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0996E0 7F064BB0 58400008 */ blezl $v0, .L7F064BD4 -/* 0996E4 7F064BB4 8E0E0024 */ lw $t6, 0x24($s0) -/* 0996E8 7F064BB8 8E190020 */ lw $t9, 0x20($s0) -/* 0996EC 7F064BBC 8E0C001C */ lw $t4, 0x1c($s0) -/* 0996F0 7F064BC0 03225821 */ addu $t3, $t9, $v0 -/* 0996F4 7F064BC4 258D0001 */ addiu $t5, $t4, 1 -/* 0996F8 7F064BC8 AE0B0020 */ sw $t3, 0x20($s0) -/* 0996FC 7F064BCC AE0D001C */ sw $t5, 0x1c($s0) -/* 099700 7F064BD0 8E0E0024 */ lw $t6, 0x24($s0) -.L7F064BD4: -/* 099704 7F064BD4 AE0000BC */ sw $zero, 0xbc($s0) -/* 099708 7F064BD8 55C00072 */ bnezl $t6, .L7F064DA4 -/* 09970C 7F064BDC 8E020024 */ lw $v0, 0x24($s0) -/* 099710 7F064BE0 8E0F0010 */ lw $t7, 0x10($s0) -/* 099714 7F064BE4 51E00011 */ beql $t7, $zero, .L7F064C2C -/* 099718 7F064BE8 8E020028 */ lw $v0, 0x28($s0) -/* 09971C 7F064BEC 1220000E */ beqz $s1, .L7F064C28 -/* 099720 7F064BF0 02202025 */ move $a0, $s1 -/* 099724 7F064BF4 24050010 */ li $a1, 16 -/* 099728 7F064BF8 0FC1782D */ jal check_special_attributes -/* 09972C 7F064BFC AFA601C4 */ sw $a2, 0x1c4($sp) -/* 099730 7F064C00 14400003 */ bnez $v0, .L7F064C10 -/* 099734 7F064C04 8FA601C4 */ lw $a2, 0x1c4($sp) -/* 099738 7F064C08 8E18002C */ lw $t8, 0x2c($s0) -/* 09973C 7F064C0C 1B000006 */ blez $t8, .L7F064C28 -.L7F064C10: -/* 099740 7F064C10 24190001 */ li $t9, 1 -/* 099744 7F064C14 AE190024 */ sw $t9, 0x24($s0) -/* 099748 7F064C18 AE000020 */ sw $zero, 0x20($s0) -/* 09974C 7F064C1C AE00001C */ sw $zero, 0x1c($s0) -/* 099750 7F064C20 10000007 */ b .L7F064C40 -/* 099754 7F064C24 AE000018 */ sw $zero, 0x18($s0) -.L7F064C28: -/* 099758 7F064C28 8E020028 */ lw $v0, 0x28($s0) -.L7F064C2C: -/* 09975C 7F064C2C 50400005 */ beql $v0, $zero, .L7F064C44 -/* 099760 7F064C30 8E0B0024 */ lw $t3, 0x24($s0) -/* 099764 7F064C34 AE020024 */ sw $v0, 0x24($s0) -/* 099768 7F064C38 AE000020 */ sw $zero, 0x20($s0) -/* 09976C 7F064C3C AE00001C */ sw $zero, 0x1c($s0) -.L7F064C40: -/* 099770 7F064C40 8E0B0024 */ lw $t3, 0x24($s0) -.L7F064C44: -/* 099774 7F064C44 AE000028 */ sw $zero, 0x28($s0) -/* 099778 7F064C48 55600056 */ bnezl $t3, .L7F064DA4 -/* 09977C 7F064C4C 8E020024 */ lw $v0, 0x24($s0) -/* 099780 7F064C50 8E0C002C */ lw $t4, 0x2c($s0) -/* 099784 7F064C54 55800053 */ bnezl $t4, .L7F064DA4 -/* 099788 7F064C58 8E020024 */ lw $v0, 0x24($s0) -/* 09978C 7F064C5C 50C00051 */ beql $a2, $zero, .L7F064DA4 -/* 099790 7F064C60 8E020024 */ lw $v0, 0x24($s0) -/* 099794 7F064C64 0FC2FF01 */ jal get_controls_locked_flag -/* 099798 7F064C68 AFA601C4 */ sw $a2, 0x1c4($sp) -/* 09979C 7F064C6C 1440004C */ bnez $v0, .L7F064DA0 -/* 0997A0 7F064C70 8FA601C4 */ lw $a2, 0x1c4($sp) -/* 0997A4 7F064C74 3C028008 */ lui $v0, %hi(pPlayer) -/* 0997A8 7F064C78 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0997AC 7F064C7C 3C0E8003 */ lui $t6, %hi(D_80032458) -/* 0997B0 7F064C80 8C4D29C4 */ lw $t5, 0x29c4($v0) -/* 0997B4 7F064C84 55A00047 */ bnezl $t5, .L7F064DA4 -/* 0997B8 7F064C88 8E020024 */ lw $v0, 0x24($s0) -/* 0997BC 7F064C8C 8DCE2458 */ lw $t6, %lo(D_80032458)($t6) -/* 0997C0 7F064C90 24010001 */ li $at, 1 -/* 0997C4 7F064C94 11C00009 */ beqz $t6, .L7F064CBC -/* 0997C8 7F064C98 00000000 */ nop -/* 0997CC 7F064C9C 14C10007 */ bne $a2, $at, .L7F064CBC -/* 0997D0 7F064CA0 00067880 */ sll $t7, $a2, 2 -/* 0997D4 7F064CA4 004F1821 */ addu $v1, $v0, $t7 -/* 0997D8 7F064CA8 8C781130 */ lw $t8, 0x1130($v1) -/* 0997DC 7F064CAC 24190001 */ li $t9, 1 -/* 0997E0 7F064CB0 1F000002 */ bgtz $t8, .L7F064CBC -/* 0997E4 7F064CB4 00000000 */ nop -/* 0997E8 7F064CB8 AC791130 */ sw $t9, 0x1130($v1) -.L7F064CBC: -/* 0997EC 7F064CBC 0FC1A4DD */ jal get_ammo_in_hands_weapon -/* 0997F0 7F064CC0 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 0997F4 7F064CC4 18400006 */ blez $v0, .L7F064CE0 -/* 0997F8 7F064CC8 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0997FC 7F064CCC 240B0009 */ li $t3, 9 -/* 099800 7F064CD0 AE0B0024 */ sw $t3, 0x24($s0) -/* 099804 7F064CD4 AE000020 */ sw $zero, 0x20($s0) -/* 099808 7F064CD8 10000031 */ b .L7F064DA0 -/* 09980C 7F064CDC AE00001C */ sw $zero, 0x1c($s0) -.L7F064CE0: -/* 099810 7F064CE0 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 099814 7F064CE4 8FAE01D0 */ lw $t6, 0x1d0($sp) -/* 099818 7F064CE8 240F0001 */ li $t7, 1 -/* 09981C 7F064CEC 8D8D0FC8 */ lw $t5, 0xfc8($t4) -/* 099820 7F064CF0 01EE2023 */ subu $a0, $t7, $t6 -/* 099824 7F064CF4 51A0002B */ beql $t5, $zero, .L7F064DA4 -/* 099828 7F064CF8 8E020024 */ lw $v0, 0x24($s0) -/* 09982C 7F064CFC 0FC17691 */ jal return_ammo_in_hand -/* 099830 7F064D00 AFA4003C */ sw $a0, 0x3c($sp) -/* 099834 7F064D04 3C188008 */ lui $t8, %hi(pPlayer) -/* 099838 7F064D08 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 09983C 7F064D0C 8FB90038 */ lw $t9, 0x38($sp) -/* 099840 7F064D10 00402025 */ move $a0, $v0 -/* 099844 7F064D14 03191823 */ subu $v1, $t8, $t9 -/* 099848 7F064D18 8C6B0C3C */ lw $t3, 0xc3c($v1) -/* 09984C 7F064D1C 24630C18 */ addiu $v1, $v1, 0xc18 -/* 099850 7F064D20 55600020 */ bnezl $t3, .L7F064DA4 -/* 099854 7F064D24 8E020024 */ lw $v0, 0x24($s0) -/* 099858 7F064D28 8C6C0028 */ lw $t4, 0x28($v1) -/* 09985C 7F064D2C 5580001D */ bnezl $t4, .L7F064DA4 -/* 099860 7F064D30 8E020024 */ lw $v0, 0x24($s0) -/* 099864 7F064D34 1040000D */ beqz $v0, .L7F064D6C -/* 099868 7F064D38 00000000 */ nop -/* 09986C 7F064D3C 8C6D002C */ lw $t5, 0x2c($v1) -/* 099870 7F064D40 55A00018 */ bnezl $t5, .L7F064DA4 -/* 099874 7F064D44 8E020024 */ lw $v0, 0x24($s0) -/* 099878 7F064D48 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09987C 7F064D4C AFA301BC */ sw $v1, 0x1bc($sp) -/* 099880 7F064D50 10400013 */ beqz $v0, .L7F064DA0 -/* 099884 7F064D54 8FA301BC */ lw $v1, 0x1bc($sp) -/* 099888 7F064D58 8FA4003C */ lw $a0, 0x3c($sp) -/* 09988C 7F064D5C 0FC1A4DD */ jal get_ammo_in_hands_weapon -/* 099890 7F064D60 AFA301BC */ sw $v1, 0x1bc($sp) -/* 099894 7F064D64 1C40000E */ bgtz $v0, .L7F064DA0 -/* 099898 7F064D68 8FA301BC */ lw $v1, 0x1bc($sp) -.L7F064D6C: -/* 09989C 7F064D6C 0FC17600 */ jal autoadvance_on_deplete_all_ammo -/* 0998A0 7F064D70 AFA301BC */ sw $v1, 0x1bc($sp) -/* 0998A4 7F064D74 8FA301BC */ lw $v1, 0x1bc($sp) -/* 0998A8 7F064D78 8E0F0028 */ lw $t7, 0x28($s0) -/* 0998AC 7F064D7C AE00001C */ sw $zero, 0x1c($s0) -/* 0998B0 7F064D80 AE000020 */ sw $zero, 0x20($s0) -/* 0998B4 7F064D84 AE000028 */ sw $zero, 0x28($s0) -/* 0998B8 7F064D88 AE0F0024 */ sw $t7, 0x24($s0) -/* 0998BC 7F064D8C 8C6E0028 */ lw $t6, 0x28($v1) -/* 0998C0 7F064D90 AC60001C */ sw $zero, 0x1c($v1) -/* 0998C4 7F064D94 AC600020 */ sw $zero, 0x20($v1) -/* 0998C8 7F064D98 AC600028 */ sw $zero, 0x28($v1) -/* 0998CC 7F064D9C AC6E0024 */ sw $t6, 0x24($v1) -.L7F064DA0: -/* 0998D0 7F064DA0 8E020024 */ lw $v0, 0x24($s0) -.L7F064DA4: -/* 0998D4 7F064DA4 24010001 */ li $at, 1 -/* 0998D8 7F064DA8 1441007E */ bne $v0, $at, .L7F064FA4 -/* 0998DC 7F064DAC 2638FFFF */ addiu $t8, $s1, -1 -/* 0998E0 7F064DB0 2F010058 */ sltiu $at, $t8, 0x58 -/* 0998E4 7F064DB4 10200076 */ beqz $at, .L7F064F90 -/* 0998E8 7F064DB8 0018C080 */ sll $t8, $t8, 2 -/* 0998EC 7F064DBC 3C018005 */ lui $at, %hi(jpt_80053F24) -/* 0998F0 7F064DC0 00380821 */ addu $at, $at, $t8 -/* 0998F4 7F064DC4 8C383F24 */ lw $t8, %lo(jpt_80053F24)($at) -/* 0998F8 7F064DC8 03000008 */ jr $t8 -/* 0998FC 7F064DCC 00000000 */ nop -Weapon_function_magnum: -/* 099900 7F064DD0 8E190020 */ lw $t9, 0x20($s0) -/* 099904 7F064DD4 240B0002 */ li $t3, 2 -/* 099908 7F064DD8 2B210006 */ slti $at, $t9, 6 -/* 09990C 7F064DDC 54200070 */ bnezl $at, .L7F064FA0 -/* 099910 7F064DE0 AE000398 */ sw $zero, 0x398($s0) -/* 099914 7F064DE4 AE0B0024 */ sw $t3, 0x24($s0) -/* 099918 7F064DE8 AE000020 */ sw $zero, 0x20($s0) -/* 09991C 7F064DEC 1000006B */ b .L7F064F9C -/* 099920 7F064DF0 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_camera: -/* 099924 7F064DF4 8E0C001C */ lw $t4, 0x1c($s0) -/* 099928 7F064DF8 00002025 */ move $a0, $zero -/* 09992C 7F064DFC 00002825 */ move $a1, $zero -/* 099930 7F064E00 15800005 */ bnez $t4, .L7F064E18 -/* 099934 7F064E04 00003025 */ move $a2, $zero -/* 099938 7F064E08 0FC201EC */ jal set_rgba_tint -/* 09993C 7F064E0C 3C073F80 */ lui $a3, 0x3f80 -/* 099940 7F064E10 10000063 */ b .L7F064FA0 -/* 099944 7F064E14 AE000398 */ sw $zero, 0x398($s0) -.L7F064E18: -/* 099948 7F064E18 8E0D0020 */ lw $t5, 0x20($s0) -/* 09994C 7F064E1C 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 099950 7F064E20 00002825 */ move $a1, $zero -/* 099954 7F064E24 19A0005D */ blez $t5, .L7F064F9C -/* 099958 7F064E28 00003025 */ move $a2, $zero -/* 09995C 7F064E2C 44802000 */ mtc1 $zero, $f4 -/* 099960 7F064E30 44816000 */ mtc1 $at, $f12 -/* 099964 7F064E34 00003825 */ move $a3, $zero -/* 099968 7F064E38 0FC201F8 */ jal sub_GAME_7F0807E0 -/* 09996C 7F064E3C E7A40010 */ swc1 $f4, 0x10($sp) -/* 099970 7F064E40 240F0002 */ li $t7, 2 -/* 099974 7F064E44 AE0F0024 */ sw $t7, 0x24($s0) -/* 099978 7F064E48 AE000020 */ sw $zero, 0x20($s0) -/* 09997C 7F064E4C 10000053 */ b .L7F064F9C -/* 099980 7F064E50 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_guns: -/* 099984 7F064E54 240E0002 */ li $t6, 2 -/* 099988 7F064E58 AE0E0024 */ sw $t6, 0x24($s0) -/* 09998C 7F064E5C AE000020 */ sw $zero, 0x20($s0) -/* 099990 7F064E60 1000004E */ b .L7F064F9C -/* 099994 7F064E64 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_throwable_item: -/* 099998 7F064E68 2418001C */ li $t8, 28 -/* 09999C 7F064E6C AE180024 */ sw $t8, 0x24($s0) -/* 0999A0 7F064E70 AE000020 */ sw $zero, 0x20($s0) -/* 0999A4 7F064E74 10000049 */ b .L7F064F9C -/* 0999A8 7F064E78 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_hunting_knife: -/* 0999AC 7F064E7C 0C002914 */ jal get_random_value -/* 0999B0 7F064E80 00000000 */ nop -/* 0999B4 7F064E84 30590001 */ andi $t9, $v0, 1 -/* 0999B8 7F064E88 17200004 */ bnez $t9, .L7F064E9C -/* 0999BC 7F064E8C 240C0014 */ li $t4, 20 -/* 0999C0 7F064E90 240B0011 */ li $t3, 17 -/* 0999C4 7F064E94 10000002 */ b .L7F064EA0 -/* 0999C8 7F064E98 AE0B0024 */ sw $t3, 0x24($s0) -.L7F064E9C: -/* 0999CC 7F064E9C AE0C0024 */ sw $t4, 0x24($s0) -.L7F064EA0: -/* 0999D0 7F064EA0 AE000020 */ sw $zero, 0x20($s0) -/* 0999D4 7F064EA4 1000003D */ b .L7F064F9C -/* 0999D8 7F064EA8 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_grenades: -/* 0999DC 7F064EAC 8E0D0018 */ lw $t5, 0x18($s0) -/* 0999E0 7F064EB0 3C188008 */ lui $t8, %hi(pPlayer) -/* 0999E4 7F064EB4 55A00006 */ bnezl $t5, .L7F064ED0 -/* 0999E8 7F064EB8 8E0E0020 */ lw $t6, 0x20($s0) -/* 0999EC 7F064EBC 8E0F0020 */ lw $t7, 0x20($s0) -/* 0999F0 7F064EC0 29E100F0 */ slti $at, $t7, 0xf0 -/* 0999F4 7F064EC4 54200036 */ bnezl $at, .L7F064FA0 -/* 0999F8 7F064EC8 AE000398 */ sw $zero, 0x398($s0) -/* 0999FC 7F064ECC 8E0E0020 */ lw $t6, 0x20($s0) -.L7F064ED0: -/* 099A00 7F064ED0 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 099A04 7F064ED4 2419001A */ li $t9, 26 -/* 099A08 7F064ED8 AF0E105C */ sw $t6, 0x105c($t8) -/* 099A0C 7F064EDC AE190024 */ sw $t9, 0x24($s0) -/* 099A10 7F064EE0 AE00001C */ sw $zero, 0x1c($s0) -/* 099A14 7F064EE4 1000002D */ b .L7F064F9C -/* 099A18 7F064EE8 AE000020 */ sw $zero, 0x20($s0) -Weapon_function_slapper: -/* 099A1C 7F064EEC 0C002914 */ jal get_random_value -/* 099A20 7F064EF0 00000000 */ nop -/* 099A24 7F064EF4 304B0001 */ andi $t3, $v0, 1 -/* 099A28 7F064EF8 15600004 */ bnez $t3, .L7F064F0C -/* 099A2C 7F064EFC 240D0020 */ li $t5, 32 -/* 099A30 7F064F00 240C001E */ li $t4, 30 -/* 099A34 7F064F04 10000002 */ b .L7F064F10 -/* 099A38 7F064F08 AE0C0024 */ sw $t4, 0x24($s0) -.L7F064F0C: -/* 099A3C 7F064F0C AE0D0024 */ sw $t5, 0x24($s0) -.L7F064F10: -/* 099A40 7F064F10 AE000020 */ sw $zero, 0x20($s0) -/* 099A44 7F064F14 10000021 */ b .L7F064F9C -/* 099A48 7F064F18 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_throwing_knife: -/* 099A4C 7F064F1C 240F0017 */ li $t7, 23 -/* 099A50 7F064F20 AE0F0024 */ sw $t7, 0x24($s0) -/* 099A54 7F064F24 AE000020 */ sw $zero, 0x20($s0) -/* 099A58 7F064F28 1000001C */ b .L7F064F9C -/* 099A5C 7F064F2C AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_tazer: -/* 099A60 7F064F30 8E0E0020 */ lw $t6, 0x20($s0) -/* 099A64 7F064F34 3C048003 */ lui $a0, %hi(D_80035A90) -/* 099A68 7F064F38 24845A90 */ addiu $a0, %lo(D_80035A90) # addiu $a0, $a0, 0x5a90 -/* 099A6C 7F064F3C 448E3000 */ mtc1 $t6, $f6 -/* 099A70 7F064F40 2606007C */ addiu $a2, $s0, 0x7c -/* 099A74 7F064F44 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 099A78 7F064F48 46803020 */ cvt.s.w $f0, $f6 -/* 099A7C 7F064F4C 44050000 */ mfc1 $a1, $f0 -/* 099A80 7F064F50 0FC171BF */ jal sub_GAME_7F05C6FC -/* 099A84 7F064F54 00000000 */ nop -/* 099A88 7F064F58 10400004 */ beqz $v0, .L7F064F6C -/* 099A8C 7F064F5C 24190002 */ li $t9, 2 -/* 099A90 7F064F60 24180001 */ li $t8, 1 -/* 099A94 7F064F64 1000000D */ b .L7F064F9C -/* 099A98 7F064F68 AE1800BC */ sw $t8, 0xbc($s0) -.L7F064F6C: -/* 099A9C 7F064F6C AE190024 */ sw $t9, 0x24($s0) -/* 099AA0 7F064F70 AE000020 */ sw $zero, 0x20($s0) -/* 099AA4 7F064F74 10000009 */ b .L7F064F9C -/* 099AA8 7F064F78 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_key: -/* 099AAC 7F064F7C 240B0024 */ li $t3, 36 -/* 099AB0 7F064F80 AE0B0024 */ sw $t3, 0x24($s0) -/* 099AB4 7F064F84 AE000020 */ sw $zero, 0x20($s0) -/* 099AB8 7F064F88 10000004 */ b .L7F064F9C -/* 099ABC 7F064F8C AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_collectible: -.L7F064F90: -/* 099AC0 7F064F90 AE000024 */ sw $zero, 0x24($s0) -/* 099AC4 7F064F94 AE000020 */ sw $zero, 0x20($s0) -/* 099AC8 7F064F98 AE00001C */ sw $zero, 0x1c($s0) -.L7F064F9C: -/* 099ACC 7F064F9C AE000398 */ sw $zero, 0x398($s0) -.L7F064FA0: -/* 099AD0 7F064FA0 8E020024 */ lw $v0, 0x24($s0) -.L7F064FA4: -/* 099AD4 7F064FA4 24010002 */ li $at, 2 -/* 099AD8 7F064FA8 54410168 */ bnel $v0, $at, .L7F06554C -/* 099ADC 7F064FAC 8E0B0024 */ lw $t3, 0x24($s0) -/* 099AE0 7F064FB0 0FC1A50B */ jal get_ammo_type_for_weapon -/* 099AE4 7F064FB4 02202025 */ move $a0, $s1 -/* 099AE8 7F064FB8 10400003 */ beqz $v0, .L7F064FC8 -/* 099AEC 7F064FBC 262DFFFE */ addiu $t5, $s1, -2 -/* 099AF0 7F064FC0 8E0C002C */ lw $t4, 0x2c($s0) -/* 099AF4 7F064FC4 19800148 */ blez $t4, .L7F0654E8 -.L7F064FC8: -/* 099AF8 7F064FC8 2DA1003B */ sltiu $at, $t5, 0x3b -/* 099AFC 7F064FCC 102000AF */ beqz $at, .L7F06528C -/* 099B00 7F064FD0 000D6880 */ sll $t5, $t5, 2 -/* 099B04 7F064FD4 3C018005 */ lui $at, %hi(jpt_80054084) -/* 099B08 7F064FD8 002D0821 */ addu $at, $at, $t5 -/* 099B0C 7F064FDC 8C2D4084 */ lw $t5, %lo(jpt_80054084)($at) -/* 099B10 7F064FE0 01A00008 */ jr $t5 -/* 099B14 7F064FE4 00000000 */ nop -Weapon_shooting_watch_magnet: -/* 099B18 7F064FE8 8E0F001C */ lw $t7, 0x1c($s0) -/* 099B1C 7F064FEC 24190003 */ li $t9, 3 -/* 099B20 7F064FF0 55E0000D */ bnezl $t7, .L7F065028 -/* 099B24 7F064FF4 AE190024 */ sw $t9, 0x24($s0) -/* 099B28 7F064FF8 0FC2FF01 */ jal get_controls_locked_flag -/* 099B2C 7F064FFC 00000000 */ nop -/* 099B30 7F065000 2C450001 */ sltiu $a1, $v0, 1 -/* 099B34 7F065004 10A00005 */ beqz $a1, .L7F06501C -/* 099B38 7F065008 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 099B3C 7F06500C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 099B40 7F065010 8DC529C4 */ lw $a1, 0x29c4($t6) -/* 099B44 7F065014 2CB80001 */ sltiu $t8, $a1, 1 -/* 099B48 7F065018 03002825 */ move $a1, $t8 -.L7F06501C: -/* 099B4C 7F06501C 1000009B */ b .L7F06528C -/* 099B50 7F065020 A205000C */ sb $a1, 0xc($s0) -/* 099B54 7F065024 AE190024 */ sw $t9, 0x24($s0) -.L7F065028: -/* 099B58 7F065028 AE000020 */ sw $zero, 0x20($s0) -/* 099B5C 7F06502C 10000097 */ b .L7F06528C -/* 099B60 7F065030 AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_pistol: -/* 099B64 7F065034 8E0B001C */ lw $t3, 0x1c($s0) -/* 099B68 7F065038 24190003 */ li $t9, 3 -/* 099B6C 7F06503C 5560001E */ bnezl $t3, .L7F0650B8 -/* 099B70 7F065040 AE190024 */ sw $t9, 0x24($s0) -/* 099B74 7F065044 0FC26919 */ jal get_num_players -/* 099B78 7F065048 00000000 */ nop -/* 099B7C 7F06504C 24010001 */ li $at, 1 -/* 099B80 7F065050 50410009 */ beql $v0, $at, .L7F065078 -/* 099B84 7F065054 240F0001 */ li $t7, 1 -/* 099B88 7F065058 0FC31820 */ jal checkGamePaused -/* 099B8C 7F06505C 00000000 */ nop -/* 099B90 7F065060 14400006 */ bnez $v0, .L7F06507C -/* 099B94 7F065064 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 099B98 7F065068 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 099B9C 7F06506C 8D8D29C4 */ lw $t5, 0x29c4($t4) -/* 099BA0 7F065070 15A00002 */ bnez $t5, .L7F06507C -/* 099BA4 7F065074 240F0001 */ li $t7, 1 -.L7F065078: -/* 099BA8 7F065078 A20F000D */ sb $t7, 0xd($s0) -.L7F06507C: -/* 099BAC 7F06507C 0FC2FF01 */ jal get_controls_locked_flag -/* 099BB0 7F065080 00000000 */ nop -/* 099BB4 7F065084 2C450001 */ sltiu $a1, $v0, 1 -/* 099BB8 7F065088 10A00005 */ beqz $a1, .L7F0650A0 -/* 099BBC 7F06508C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 099BC0 7F065090 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 099BC4 7F065094 8DC529C4 */ lw $a1, 0x29c4($t6) -/* 099BC8 7F065098 2CB80001 */ sltiu $t8, $a1, 1 -/* 099BCC 7F06509C 03002825 */ move $a1, $t8 -.L7F0650A0: -/* 099BD0 7F0650A0 A205000C */ sb $a1, 0xc($s0) -/* 099BD4 7F0650A4 0FC17A02 */ jal sub_GAME_7F05E808 -/* 099BD8 7F0650A8 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 099BDC 7F0650AC 10000078 */ b .L7F065290 -/* 099BE0 7F0650B0 820F000C */ lb $t7, 0xc($s0) -/* 099BE4 7F0650B4 AE190024 */ sw $t9, 0x24($s0) -.L7F0650B8: -/* 099BE8 7F0650B8 AE000020 */ sw $zero, 0x20($s0) -/* 099BEC 7F0650BC 10000073 */ b .L7F06528C -/* 099BF0 7F0650C0 AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_machinegun: -/* 099BF4 7F0650C4 8E0B001C */ lw $t3, 0x1c($s0) -/* 099BF8 7F0650C8 11600013 */ beqz $t3, .L7F065118 -/* 099BFC 7F0650CC 00000000 */ nop -/* 099C00 7F0650D0 8E0C0010 */ lw $t4, 0x10($s0) -/* 099C04 7F0650D4 02202025 */ move $a0, $s1 -/* 099C08 7F0650D8 1580000F */ bnez $t4, .L7F065118 -/* 099C0C 7F0650DC 00000000 */ nop -/* 099C10 7F0650E0 0FC1782D */ jal check_special_attributes -/* 099C14 7F0650E4 24050004 */ li $a1, 4 -/* 099C18 7F0650E8 50400035 */ beql $v0, $zero, .L7F0651C0 -/* 099C1C 7F0650EC 240E0003 */ li $t6, 3 -/* 099C20 7F0650F0 0FC1F178 */ jal get_BONDdata_is_aiming -/* 099C24 7F0650F4 00000000 */ nop -/* 099C28 7F0650F8 54400031 */ bnezl $v0, .L7F0651C0 -/* 099C2C 7F0650FC 240E0003 */ li $t6, 3 -/* 099C30 7F065100 8E0D0398 */ lw $t5, 0x398($s0) -/* 099C34 7F065104 24010003 */ li $at, 3 -/* 099C38 7F065108 01A1001A */ div $zero, $t5, $at -/* 099C3C 7F06510C 00007810 */ mfhi $t7 -/* 099C40 7F065110 51E0002B */ beql $t7, $zero, .L7F0651C0 -/* 099C44 7F065114 240E0003 */ li $t6, 3 -.L7F065118: -/* 099C48 7F065118 0FC177F3 */ jal get_automatic_firing_rate -/* 099C4C 7F06511C 02202025 */ move $a0, $s1 -/* 099C50 7F065120 8E0E001C */ lw $t6, 0x1c($s0) -/* 099C54 7F065124 01C2001A */ div $zero, $t6, $v0 -/* 099C58 7F065128 0000C010 */ mfhi $t8 -/* 099C5C 7F06512C 14400002 */ bnez $v0, .L7F065138 -/* 099C60 7F065130 00000000 */ nop -/* 099C64 7F065134 0007000D */ break 7 -.L7F065138: -/* 099C68 7F065138 2401FFFF */ li $at, -1 -/* 099C6C 7F06513C 14410004 */ bne $v0, $at, .L7F065150 -/* 099C70 7F065140 3C018000 */ lui $at, 0x8000 -/* 099C74 7F065144 15C10002 */ bne $t6, $at, .L7F065150 -/* 099C78 7F065148 00000000 */ nop -/* 099C7C 7F06514C 0006000D */ break 6 -.L7F065150: -/* 099C80 7F065150 5700004F */ bnezl $t8, .L7F065290 -/* 099C84 7F065154 820F000C */ lb $t7, 0xc($s0) -/* 099C88 7F065158 0FC26919 */ jal get_num_players -/* 099C8C 7F06515C 00000000 */ nop -/* 099C90 7F065160 24010001 */ li $at, 1 -/* 099C94 7F065164 50410009 */ beql $v0, $at, .L7F06518C -/* 099C98 7F065168 240C0001 */ li $t4, 1 -/* 099C9C 7F06516C 0FC31820 */ jal checkGamePaused -/* 099CA0 7F065170 00000000 */ nop -/* 099CA4 7F065174 14400006 */ bnez $v0, .L7F065190 -/* 099CA8 7F065178 3C198008 */ lui $t9, %hi(pPlayer) -/* 099CAC 7F06517C 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 099CB0 7F065180 8F2B29C4 */ lw $t3, 0x29c4($t9) -/* 099CB4 7F065184 15600002 */ bnez $t3, .L7F065190 -/* 099CB8 7F065188 240C0001 */ li $t4, 1 -.L7F06518C: -/* 099CBC 7F06518C A20C000D */ sb $t4, 0xd($s0) -.L7F065190: -/* 099CC0 7F065190 0FC2FF01 */ jal get_controls_locked_flag -/* 099CC4 7F065194 00000000 */ nop -/* 099CC8 7F065198 2C450001 */ sltiu $a1, $v0, 1 -/* 099CCC 7F06519C 10A00005 */ beqz $a1, .L7F0651B4 -/* 099CD0 7F0651A0 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 099CD4 7F0651A4 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 099CD8 7F0651A8 8DA529C4 */ lw $a1, 0x29c4($t5) -/* 099CDC 7F0651AC 2CAF0001 */ sltiu $t7, $a1, 1 -/* 099CE0 7F0651B0 01E02825 */ move $a1, $t7 -.L7F0651B4: -/* 099CE4 7F0651B4 10000035 */ b .L7F06528C -/* 099CE8 7F0651B8 A205000C */ sb $a1, 0xc($s0) -/* 099CEC 7F0651BC 240E0003 */ li $t6, 3 -.L7F0651C0: -/* 099CF0 7F0651C0 AE0E0024 */ sw $t6, 0x24($s0) -/* 099CF4 7F0651C4 AE000020 */ sw $zero, 0x20($s0) -/* 099CF8 7F0651C8 10000030 */ b .L7F06528C -/* 099CFC 7F0651CC AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_noammo: -/* 099D00 7F0651D0 8E18001C */ lw $t8, 0x1c($s0) -/* 099D04 7F0651D4 53000006 */ beql $t8, $zero, .L7F0651F0 -/* 099D08 7F0651D8 A200000C */ sb $zero, 0xc($s0) -/* 099D0C 7F0651DC 8E190010 */ lw $t9, 0x10($s0) -/* 099D10 7F0651E0 240C0003 */ li $t4, 3 -/* 099D14 7F0651E4 53200006 */ beql $t9, $zero, .L7F065200 -/* 099D18 7F0651E8 AE0C0024 */ sw $t4, 0x24($s0) -/* 099D1C 7F0651EC A200000C */ sb $zero, 0xc($s0) -.L7F0651F0: -/* 099D20 7F0651F0 820B000C */ lb $t3, 0xc($s0) -/* 099D24 7F0651F4 10000025 */ b .L7F06528C -/* 099D28 7F0651F8 A20B000D */ sb $t3, 0xd($s0) -/* 099D2C 7F0651FC AE0C0024 */ sw $t4, 0x24($s0) -.L7F065200: -/* 099D30 7F065200 AE000020 */ sw $zero, 0x20($s0) -/* 099D34 7F065204 10000021 */ b .L7F06528C -/* 099D38 7F065208 AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_tazer: -/* 099D3C 7F06520C 8E0D001C */ lw $t5, 0x1c($s0) -/* 099D40 7F065210 3C048003 */ lui $a0, %hi(D_80035B68) -/* 099D44 7F065214 24845B68 */ addiu $a0, %lo(D_80035B68) # addiu $a0, $a0, 0x5b68 -/* 099D48 7F065218 11A00004 */ beqz $t5, .L7F06522C -/* 099D4C 7F06521C 24050000 */ li $a1, 0 -/* 099D50 7F065220 8E0F0010 */ lw $t7, 0x10($s0) -/* 099D54 7F065224 240D0003 */ li $t5, 3 -/* 099D58 7F065228 11E00015 */ beqz $t7, .L7F065280 -.L7F06522C: -/* 099D5C 7F06522C 2606007C */ addiu $a2, $s0, 0x7c -/* 099D60 7F065230 0FC171BF */ jal sub_GAME_7F05C6FC -/* 099D64 7F065234 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 099D68 7F065238 8E19001C */ lw $t9, 0x1c($s0) -/* 099D6C 7F06523C A200000C */ sb $zero, 0xc($s0) -/* 099D70 7F065240 8218000C */ lb $t8, 0xc($s0) -/* 099D74 7F065244 240E0001 */ li $t6, 1 -/* 099D78 7F065248 AE0E00BC */ sw $t6, 0xbc($s0) -/* 099D7C 7F06524C 1720000F */ bnez $t9, .L7F06528C -/* 099D80 7F065250 A218000D */ sb $t8, 0xd($s0) -/* 099D84 7F065254 0FC2FF01 */ jal get_controls_locked_flag -/* 099D88 7F065258 00000000 */ nop -/* 099D8C 7F06525C 2C450001 */ sltiu $a1, $v0, 1 -/* 099D90 7F065260 10A00005 */ beqz $a1, .L7F065278 -/* 099D94 7F065264 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 099D98 7F065268 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 099D9C 7F06526C 8D6529C4 */ lw $a1, 0x29c4($t3) -/* 099DA0 7F065270 2CAC0001 */ sltiu $t4, $a1, 1 -/* 099DA4 7F065274 01802825 */ move $a1, $t4 -.L7F065278: -/* 099DA8 7F065278 10000004 */ b .L7F06528C -/* 099DAC 7F06527C A205000C */ sb $a1, 0xc($s0) -.L7F065280: -/* 099DB0 7F065280 AE0D0024 */ sw $t5, 0x24($s0) -/* 099DB4 7F065284 AE000020 */ sw $zero, 0x20($s0) -/* 099DB8 7F065288 AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_throwable: -.L7F06528C: -/* 099DBC 7F06528C 820F000C */ lb $t7, 0xc($s0) -.L7F065290: -/* 099DC0 7F065290 24010028 */ li $at, 40 -/* 099DC4 7F065294 51E0001E */ beql $t7, $zero, .L7F065310 -/* 099DC8 7F065298 8E0D0024 */ lw $t5, 0x24($s0) -/* 099DCC 7F06529C 52210016 */ beql $s1, $at, .L7F0652F8 -/* 099DD0 7F0652A0 8E18002C */ lw $t8, 0x2c($s0) -/* 099DD4 7F0652A4 0FC26C54 */ jal get_cur_playernum -/* 099DD8 7F0652A8 00000000 */ nop -/* 099DDC 7F0652AC 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 099DE0 7F0652B0 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 099DE4 7F0652B4 0C003215 */ jal controller_7000C854 -/* 099DE8 7F0652B8 00402025 */ move $a0, $v0 -/* 099DEC 7F0652BC 0FC29370 */ jal cur_player_get_control_type -/* 099DF0 7F0652C0 00000000 */ nop -/* 099DF4 7F0652C4 28410004 */ slti $at, $v0, 4 -/* 099DF8 7F0652C8 5420000B */ bnezl $at, .L7F0652F8 -/* 099DFC 7F0652CC 8E18002C */ lw $t8, 0x2c($s0) -/* 099E00 7F0652D0 0FC26C54 */ jal get_cur_playernum -/* 099E04 7F0652D4 00000000 */ nop -/* 099E08 7F0652D8 0FC26919 */ jal get_num_players -/* 099E0C 7F0652DC AFA20048 */ sw $v0, 0x48($sp) -/* 099E10 7F0652E0 8FAE0048 */ lw $t6, 0x48($sp) -/* 099E14 7F0652E4 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 099E18 7F0652E8 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 099E1C 7F0652EC 0C003215 */ jal controller_7000C854 -/* 099E20 7F0652F0 004E2021 */ addu $a0, $v0, $t6 -/* 099E24 7F0652F4 8E18002C */ lw $t8, 0x2c($s0) -.L7F0652F8: -/* 099E28 7F0652F8 8E0B0398 */ lw $t3, 0x398($s0) -/* 099E2C 7F0652FC 2719FFFF */ addiu $t9, $t8, -1 -/* 099E30 7F065300 256C0001 */ addiu $t4, $t3, 1 -/* 099E34 7F065304 AE19002C */ sw $t9, 0x2c($s0) -/* 099E38 7F065308 AE0C0398 */ sw $t4, 0x398($s0) -/* 099E3C 7F06530C 8E0D0024 */ lw $t5, 0x24($s0) -.L7F065310: -/* 099E40 7F065310 24010002 */ li $at, 2 -/* 099E44 7F065314 02202025 */ move $a0, $s1 -/* 099E48 7F065318 55A1008C */ bnel $t5, $at, .L7F06554C -/* 099E4C 7F06531C 8E0B0024 */ lw $t3, 0x24($s0) -/* 099E50 7F065320 0FC177FC */ jal get_sound_trigger_rate -/* 099E54 7F065324 AFA001B4 */ sw $zero, 0x1b4($sp) -/* 099E58 7F065328 18400017 */ blez $v0, .L7F065388 -/* 099E5C 7F06532C 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 099E60 7F065330 8FAE0038 */ lw $t6, 0x38($sp) -/* 099E64 7F065334 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 099E68 7F065338 3C028005 */ lui $v0, %hi(global_timer) -/* 099E6C 7F06533C 000EC023 */ negu $t8, $t6 -/* 099E70 7F065340 01F8C821 */ addu $t9, $t7, $t8 -/* 099E74 7F065344 8F2B0DF8 */ lw $t3, 0xdf8($t9) -/* 099E78 7F065348 8C42837C */ lw $v0, %lo(global_timer)($v0) -/* 099E7C 7F06534C 104B0013 */ beq $v0, $t3, .L7F06539C -/* 099E80 7F065350 00000000 */ nop -/* 099E84 7F065354 8E0C01DC */ lw $t4, 0x1dc($s0) -/* 099E88 7F065358 0182082A */ slt $at, $t4, $v0 -/* 099E8C 7F06535C 1020000F */ beqz $at, .L7F06539C -/* 099E90 7F065360 00000000 */ nop -/* 099E94 7F065364 0FC177FC */ jal get_sound_trigger_rate -/* 099E98 7F065368 02202025 */ move $a0, $s1 -/* 099E9C 7F06536C 3C0D8005 */ lui $t5, %hi(global_timer) -/* 099EA0 7F065370 8DAD837C */ lw $t5, %lo(global_timer)($t5) -/* 099EA4 7F065374 240F0001 */ li $t7, 1 -/* 099EA8 7F065378 004D7021 */ addu $t6, $v0, $t5 -/* 099EAC 7F06537C AE0E01DC */ sw $t6, 0x1dc($s0) -/* 099EB0 7F065380 10000006 */ b .L7F06539C -/* 099EB4 7F065384 AFAF01B4 */ sw $t7, 0x1b4($sp) -.L7F065388: -/* 099EB8 7F065388 8218000C */ lb $t8, 0xc($s0) -/* 099EBC 7F06538C 24190001 */ li $t9, 1 -/* 099EC0 7F065390 13000002 */ beqz $t8, .L7F06539C -/* 099EC4 7F065394 00000000 */ nop -/* 099EC8 7F065398 AFB901B4 */ sw $t9, 0x1b4($sp) -.L7F06539C: -/* 099ECC 7F06539C 0FC26919 */ jal get_num_players -/* 099ED0 7F0653A0 00000000 */ nop -/* 099ED4 7F0653A4 24010001 */ li $at, 1 -/* 099ED8 7F0653A8 5041000A */ beql $v0, $at, .L7F0653D4 -/* 099EDC 7F0653AC 8FAD01B4 */ lw $t5, 0x1b4($sp) -/* 099EE0 7F0653B0 0FC31820 */ jal checkGamePaused -/* 099EE4 7F0653B4 00000000 */ nop -/* 099EE8 7F0653B8 14400063 */ bnez $v0, .L7F065548 -/* 099EEC 7F0653BC 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 099EF0 7F0653C0 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 099EF4 7F0653C4 8D6C29C4 */ lw $t4, 0x29c4($t3) -/* 099EF8 7F0653C8 55800060 */ bnezl $t4, .L7F06554C -/* 099EFC 7F0653CC 8E0B0024 */ lw $t3, 0x24($s0) -/* 099F00 7F0653D0 8FAD01B4 */ lw $t5, 0x1b4($sp) -.L7F0653D4: -/* 099F04 7F0653D4 51A00035 */ beql $t5, $zero, .L7F0654AC -/* 099F08 7F0653D8 24010017 */ li $at, 23 -/* 099F0C 7F0653DC 8E0401D4 */ lw $a0, 0x1d4($s0) -/* 099F10 7F0653E0 50800008 */ beql $a0, $zero, .L7F065404 -/* 099F14 7F0653E4 8E0401D8 */ lw $a0, 0x1d8($s0) -/* 099F18 7F0653E8 0C00237C */ jal sfxGetArg0Unk3F -/* 099F1C 7F0653EC 00000000 */ nop -/* 099F20 7F0653F0 50400004 */ beql $v0, $zero, .L7F065404 -/* 099F24 7F0653F4 8E0401D8 */ lw $a0, 0x1d8($s0) -/* 099F28 7F0653F8 0C002408 */ jal sfxDeactivate -/* 099F2C 7F0653FC 8E0401D4 */ lw $a0, 0x1d4($s0) -/* 099F30 7F065400 8E0401D8 */ lw $a0, 0x1d8($s0) -.L7F065404: -/* 099F34 7F065404 10800007 */ beqz $a0, .L7F065424 -/* 099F38 7F065408 00000000 */ nop -/* 099F3C 7F06540C 0C00237C */ jal sfxGetArg0Unk3F -/* 099F40 7F065410 00000000 */ nop -/* 099F44 7F065414 10400003 */ beqz $v0, .L7F065424 -/* 099F48 7F065418 00000000 */ nop -/* 099F4C 7F06541C 0C002408 */ jal sfxDeactivate -/* 099F50 7F065420 8E0401D8 */ lw $a0, 0x1d8($s0) -.L7F065424: -/* 099F54 7F065424 0FC17805 */ jal sub_GAME_7F05E014 -/* 099F58 7F065428 02202025 */ move $a0, $s1 -/* 099F5C 7F06542C 5040001F */ beql $v0, $zero, .L7F0654AC -/* 099F60 7F065430 24010017 */ li $at, 23 -/* 099F64 7F065434 8E0E01D4 */ lw $t6, 0x1d4($s0) -/* 099F68 7F065438 55C0000D */ bnezl $t6, .L7F065470 -/* 099F6C 7F06543C 8E1801D8 */ lw $t8, 0x1d8($s0) -/* 099F70 7F065440 0FC17805 */ jal sub_GAME_7F05E014 -/* 099F74 7F065444 02202025 */ move $a0, $s1 -/* 099F78 7F065448 00022C00 */ sll $a1, $v0, 0x10 -/* 099F7C 7F06544C 00057C03 */ sra $t7, $a1, 0x10 -/* 099F80 7F065450 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099F84 7F065454 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099F88 7F065458 01E02825 */ move $a1, $t7 -/* 099F8C 7F06545C 0C002382 */ jal play_sfx_a1 -/* 099F90 7F065460 260601D4 */ addiu $a2, $s0, 0x1d4 -/* 099F94 7F065464 1000000D */ b .L7F06549C -/* 099F98 7F065468 00000000 */ nop -/* 099F9C 7F06546C 8E1801D8 */ lw $t8, 0x1d8($s0) -.L7F065470: -/* 099FA0 7F065470 1700000A */ bnez $t8, .L7F06549C -/* 099FA4 7F065474 00000000 */ nop -/* 099FA8 7F065478 0FC17805 */ jal sub_GAME_7F05E014 -/* 099FAC 7F06547C 02202025 */ move $a0, $s1 -/* 099FB0 7F065480 00022C00 */ sll $a1, $v0, 0x10 -/* 099FB4 7F065484 0005CC03 */ sra $t9, $a1, 0x10 -/* 099FB8 7F065488 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 099FBC 7F06548C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 099FC0 7F065490 03202825 */ move $a1, $t9 -/* 099FC4 7F065494 0C002382 */ jal play_sfx_a1 -/* 099FC8 7F065498 260601D8 */ addiu $a2, $s0, 0x1d8 -.L7F06549C: -/* 099FCC 7F06549C 3C0B8005 */ lui $t3, %hi(global_timer) -/* 099FD0 7F0654A0 8D6B837C */ lw $t3, %lo(global_timer)($t3) -/* 099FD4 7F0654A4 AE0B01E0 */ sw $t3, 0x1e0($s0) -/* 099FD8 7F0654A8 24010017 */ li $at, 23 -.L7F0654AC: -/* 099FDC 7F0654AC 16210026 */ bne $s1, $at, .L7F065548 -/* 099FE0 7F0654B0 3C0C8003 */ lui $t4, %hi(D_80035E90) -/* 099FE4 7F0654B4 8D8C5E90 */ lw $t4, %lo(D_80035E90)($t4) -/* 099FE8 7F0654B8 0C002914 */ jal get_random_value -/* 099FEC 7F0654BC AFAC01B0 */ sw $t4, 0x1b0($sp) -/* 099FF0 7F0654C0 304D0001 */ andi $t5, $v0, 1 -/* 099FF4 7F0654C4 000D7040 */ sll $t6, $t5, 1 -/* 099FF8 7F0654C8 03AE2821 */ addu $a1, $sp, $t6 -/* 099FFC 7F0654CC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09A000 7F0654D0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A004 7F0654D4 84A501B0 */ lh $a1, 0x1b0($a1) -/* 09A008 7F0654D8 0C002382 */ jal play_sfx_a1 -/* 09A00C 7F0654DC 00003025 */ move $a2, $zero -/* 09A010 7F0654E0 1000001A */ b .L7F06554C -/* 09A014 7F0654E4 8E0B0024 */ lw $t3, 0x24($s0) -.L7F0654E8: -/* 09A018 7F0654E8 8E0F001C */ lw $t7, 0x1c($s0) -/* 09A01C 7F0654EC 24180003 */ li $t8, 3 -/* 09A020 7F0654F0 2419000D */ li $t9, 13 -/* 09A024 7F0654F4 59E00006 */ blezl $t7, .L7F065510 -/* 09A028 7F0654F8 AE190024 */ sw $t9, 0x24($s0) -/* 09A02C 7F0654FC AE180024 */ sw $t8, 0x24($s0) -/* 09A030 7F065500 AE000020 */ sw $zero, 0x20($s0) -/* 09A034 7F065504 10000010 */ b .L7F065548 -/* 09A038 7F065508 AE00001C */ sw $zero, 0x1c($s0) -/* 09A03C 7F06550C AE190024 */ sw $t9, 0x24($s0) -.L7F065510: -/* 09A040 7F065510 AE000020 */ sw $zero, 0x20($s0) -/* 09A044 7F065514 0FC26919 */ jal get_num_players -/* 09A048 7F065518 AE00001C */ sw $zero, 0x1c($s0) -/* 09A04C 7F06551C 24010001 */ li $at, 1 -/* 09A050 7F065520 10410004 */ beq $v0, $at, .L7F065534 -/* 09A054 7F065524 00000000 */ nop -/* 09A058 7F065528 0FC31820 */ jal checkGamePaused -/* 09A05C 7F06552C 00000000 */ nop -/* 09A060 7F065530 14400005 */ bnez $v0, .L7F065548 -.L7F065534: -/* 09A064 7F065534 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09A068 7F065538 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A06C 7F06553C 24050059 */ li $a1, 89 -/* 09A070 7F065540 0C002382 */ jal play_sfx_a1 -/* 09A074 7F065544 00003025 */ move $a2, $zero -.L7F065548: -/* 09A078 7F065548 8E0B0024 */ lw $t3, 0x24($s0) -.L7F06554C: -/* 09A07C 7F06554C 24010003 */ li $at, 3 -/* 09A080 7F065550 156100D5 */ bne $t3, $at, .L7F0658A8 -/* 09A084 7F065554 2401001F */ li $at, 31 -/* 09A088 7F065558 16210013 */ bne $s1, $at, .L7F0655A8 -/* 09A08C 7F06555C 00000000 */ nop -/* 09A090 7F065560 8E0C0020 */ lw $t4, 0x20($s0) -/* 09A094 7F065564 3C048003 */ lui $a0, %hi(D_80035B68) -/* 09A098 7F065568 24845B68 */ addiu $a0, %lo(D_80035B68) # addiu $a0, $a0, 0x5b68 -/* 09A09C 7F06556C 448C4000 */ mtc1 $t4, $f8 -/* 09A0A0 7F065570 2606007C */ addiu $a2, $s0, 0x7c -/* 09A0A4 7F065574 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09A0A8 7F065578 46804020 */ cvt.s.w $f0, $f8 -/* 09A0AC 7F06557C 44050000 */ mfc1 $a1, $f0 -/* 09A0B0 7F065580 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09A0B4 7F065584 00000000 */ nop -/* 09A0B8 7F065588 10400003 */ beqz $v0, .L7F065598 -/* 09A0BC 7F06558C 240D0001 */ li $t5, 1 -/* 09A0C0 7F065590 100000C5 */ b .L7F0658A8 -/* 09A0C4 7F065594 AE0D00BC */ sw $t5, 0xbc($s0) -.L7F065598: -/* 09A0C8 7F065598 AE000024 */ sw $zero, 0x24($s0) -/* 09A0CC 7F06559C AE000020 */ sw $zero, 0x20($s0) -/* 09A0D0 7F0655A0 100000C1 */ b .L7F0658A8 -/* 09A0D4 7F0655A4 AE00001C */ sw $zero, 0x1c($s0) -.L7F0655A8: -/* 09A0D8 7F0655A8 0FC1722D */ jal get_ptr_item_statistics -/* 09A0DC 7F0655AC 02202025 */ move $a0, $s1 -/* 09A0E0 7F0655B0 8E050018 */ lw $a1, 0x18($s0) -/* 09A0E4 7F0655B4 00405025 */ move $t2, $v0 -/* 09A0E8 7F0655B8 80470044 */ lb $a3, 0x44($v0) -/* 09A0EC 7F0655BC 10A00006 */ beqz $a1, .L7F0655D8 -/* 09A0F0 7F0655C0 80490045 */ lb $t1, 0x45($v0) -/* 09A0F4 7F0655C4 8E0E0020 */ lw $t6, 0x20($s0) -/* 09A0F8 7F0655C8 00E97821 */ addu $t7, $a3, $t1 -/* 09A0FC 7F0655CC 01CF082A */ slt $at, $t6, $t7 -/* 09A100 7F0655D0 5020000C */ beql $at, $zero, .L7F065604 -/* 09A104 7F0655D4 AE000024 */ sw $zero, 0x24($s0) -.L7F0655D8: -/* 09A108 7F0655D8 80440023 */ lb $a0, 0x23($v0) -/* 09A10C 7F0655DC 8E030020 */ lw $v1, 0x20($s0) -/* 09A110 7F0655E0 00E94021 */ addu $t0, $a3, $t1 -/* 09A114 7F0655E4 0480000A */ bltz $a0, .L7F065610 -/* 09A118 7F0655E8 00000000 */ nop -/* 09A11C 7F0655EC 14A00008 */ bnez $a1, .L7F065610 -/* 09A120 7F0655F0 0104C021 */ addu $t8, $t0, $a0 -/* 09A124 7F0655F4 0078082A */ slt $at, $v1, $t8 -/* 09A128 7F0655F8 14200005 */ bnez $at, .L7F065610 -/* 09A12C 7F0655FC 00000000 */ nop -/* 09A130 7F065600 AE000024 */ sw $zero, 0x24($s0) -.L7F065604: -/* 09A134 7F065604 AE000020 */ sw $zero, 0x20($s0) -/* 09A138 7F065608 100000A7 */ b .L7F0658A8 -/* 09A13C 7F06560C AE00001C */ sw $zero, 0x1c($s0) -.L7F065610: -/* 09A140 7F065610 50A00017 */ beql $a1, $zero, .L7F065670 -/* 09A144 7F065614 0068082A */ slt $at, $v1, $t0 -/* 09A148 7F065618 8E190010 */ lw $t9, 0x10($s0) -/* 09A14C 7F06561C 53200014 */ beql $t9, $zero, .L7F065670 -/* 09A150 7F065620 0068082A */ slt $at, $v1, $t0 -/* 09A154 7F065624 80460046 */ lb $a2, 0x46($v0) -/* 09A158 7F065628 0066082A */ slt $at, $v1, $a2 -/* 09A15C 7F06562C 54200010 */ bnezl $at, .L7F065670 -/* 09A160 7F065630 0068082A */ slt $at, $v1, $t0 -/* 09A164 7F065634 80440047 */ lb $a0, 0x47($v0) -/* 09A168 7F065638 0480000C */ bltz $a0, .L7F06566C -/* 09A16C 7F06563C 00642821 */ addu $a1, $v1, $a0 -/* 09A170 7F065640 00A8082A */ slt $at, $a1, $t0 -/* 09A174 7F065644 10200009 */ beqz $at, .L7F06566C -/* 09A178 7F065648 00A6082A */ slt $at, $a1, $a2 -/* 09A17C 7F06564C 14200007 */ bnez $at, .L7F06566C -/* 09A180 7F065650 240B0004 */ li $t3, 4 -/* 09A184 7F065654 AE0B0024 */ sw $t3, 0x24($s0) -/* 09A188 7F065658 AE000020 */ sw $zero, 0x20($s0) -/* 09A18C 7F06565C AE00001C */ sw $zero, 0x1c($s0) -/* 09A190 7F065660 804C0047 */ lb $t4, 0x47($v0) -/* 09A194 7F065664 10000090 */ b .L7F0658A8 -/* 09A198 7F065668 AE0C0038 */ sw $t4, 0x38($s0) -.L7F06566C: -/* 09A19C 7F06566C 0068082A */ slt $at, $v1, $t0 -.L7F065670: -/* 09A1A0 7F065670 1020008D */ beqz $at, .L7F0658A8 -/* 09A1A4 7F065674 260D007C */ addiu $t5, $s0, 0x7c -/* 09A1A8 7F065678 C4420048 */ lwc1 $f2, 0x48($v0) -/* 09A1AC 7F06567C C440004C */ lwc1 $f0, 0x4c($v0) -/* 09A1B0 7F065680 1460000A */ bnez $v1, .L7F0656AC -/* 09A1B4 7F065684 AFAD0030 */ sw $t5, 0x30($sp) -/* 09A1B8 7F065688 C60A0078 */ lwc1 $f10, 0x78($s0) -/* 09A1BC 7F06568C C604006C */ lwc1 $f4, 0x6c($s0) -/* 09A1C0 7F065690 C6060070 */ lwc1 $f6, 0x70($s0) -/* 09A1C4 7F065694 C6080074 */ lwc1 $f8, 0x74($s0) -/* 09A1C8 7F065698 8E030020 */ lw $v1, 0x20($s0) -/* 09A1CC 7F06569C E60A0058 */ swc1 $f10, 0x58($s0) -/* 09A1D0 7F0656A0 E604004C */ swc1 $f4, 0x4c($s0) -/* 09A1D4 7F0656A4 E6060050 */ swc1 $f6, 0x50($s0) -/* 09A1D8 7F0656A8 E6080054 */ swc1 $f8, 0x54($s0) -.L7F0656AC: -/* 09A1DC 7F0656AC 0067082A */ slt $at, $v1, $a3 -/* 09A1E0 7F0656B0 1020002B */ beqz $at, .L7F065760 -/* 09A1E4 7F0656B4 3C018005 */ lui $at, %hi(D_80054170) -/* 09A1E8 7F0656B8 C42C4170 */ lwc1 $f12, %lo(D_80054170)($at) -/* 09A1EC 7F0656BC 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 09A1F0 7F0656C0 44812000 */ mtc1 $at, $f4 -/* 09A1F4 7F0656C4 460C0282 */ mul.s $f10, $f0, $f12 -/* 09A1F8 7F0656C8 46045183 */ div.s $f6, $f10, $f4 -/* 09A1FC 7F0656CC 46066201 */ sub.s $f8, $f12, $f6 -/* 09A200 7F0656D0 E6080068 */ swc1 $f8, 0x68($s0) -/* 09A204 7F0656D4 E7A20198 */ swc1 $f2, 0x198($sp) -/* 09A208 7F0656D8 AFAA01A8 */ sw $t2, 0x1a8($sp) -/* 09A20C 7F0656DC AFA701A4 */ sw $a3, 0x1a4($sp) -/* 09A210 7F0656E0 0FC1773A */ jal sub_GAME_7F05DCE8 -/* 09A214 7F0656E4 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A218 7F0656E8 C60A01C8 */ lwc1 $f10, 0x1c8($s0) -/* 09A21C 7F0656EC C7A20198 */ lwc1 $f2, 0x198($sp) -/* 09A220 7F0656F0 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 09A224 7F0656F4 460A0101 */ sub.s $f4, $f0, $f10 -/* 09A228 7F0656F8 44817000 */ mtc1 $at, $f14 -/* 09A22C 7F0656FC 8FAA01A8 */ lw $t2, 0x1a8($sp) -/* 09A230 7F065700 44805000 */ mtc1 $zero, $f10 -/* 09A234 7F065704 46022182 */ mul.s $f6, $f4, $f2 -/* 09A238 7F065708 8FA701A4 */ lw $a3, 0x1a4($sp) -/* 09A23C 7F06570C E60A0060 */ swc1 $f10, 0x60($s0) -/* 09A240 7F065710 8E0E0020 */ lw $t6, 0x20($s0) -/* 09A244 7F065714 3C018005 */ lui $at, %hi(D_80054174) -/* 09A248 7F065718 460E3203 */ div.s $f8, $f6, $f14 -/* 09A24C 7F06571C C60601D0 */ lwc1 $f6, 0x1d0($s0) -/* 09A250 7F065720 E608005C */ swc1 $f8, 0x5c($s0) -/* 09A254 7F065724 C544000C */ lwc1 $f4, 0xc($t2) -/* 09A258 7F065728 46062201 */ sub.s $f8, $f4, $f6 -/* 09A25C 7F06572C 448E3000 */ mtc1 $t6, $f6 -/* 09A260 7F065730 46024282 */ mul.s $f10, $f8, $f2 -/* 09A264 7F065734 46803220 */ cvt.s.w $f8, $f6 -/* 09A268 7F065738 44873000 */ mtc1 $a3, $f6 -/* 09A26C 7F06573C 460E5103 */ div.s $f4, $f10, $f14 -/* 09A270 7F065740 E6040064 */ swc1 $f4, 0x64($s0) -/* 09A274 7F065744 C42A4174 */ lwc1 $f10, %lo(D_80054174)($at) -/* 09A278 7F065748 460A4102 */ mul.s $f4, $f8, $f10 -/* 09A27C 7F06574C 46803220 */ cvt.s.w $f8, $f6 -/* 09A280 7F065750 0FC15FAB */ jal sinf -/* 09A284 7F065754 46082303 */ div.s $f12, $f4, $f8 -/* 09A288 7F065758 10000032 */ b .L7F065824 -/* 09A28C 7F06575C 46000086 */ mov.s $f2, $f0 -.L7F065760: -/* 09A290 7F065760 3C018005 */ lui $at, %hi(D_80054178) -/* 09A294 7F065764 C42C4178 */ lwc1 $f12, %lo(D_80054178)($at) -/* 09A298 7F065768 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 09A29C 7F06576C 44813000 */ mtc1 $at, $f6 -/* 09A2A0 7F065770 460C0282 */ mul.s $f10, $f0, $f12 -/* 09A2A4 7F065774 46065103 */ div.s $f4, $f10, $f6 -/* 09A2A8 7F065778 46046201 */ sub.s $f8, $f12, $f4 -/* 09A2AC 7F06577C E6080068 */ swc1 $f8, 0x68($s0) -/* 09A2B0 7F065780 E7A20198 */ swc1 $f2, 0x198($sp) -/* 09A2B4 7F065784 AFAA01A8 */ sw $t2, 0x1a8($sp) -/* 09A2B8 7F065788 AFA901A0 */ sw $t1, 0x1a0($sp) -/* 09A2BC 7F06578C AFA701A4 */ sw $a3, 0x1a4($sp) -/* 09A2C0 7F065790 0FC1773A */ jal sub_GAME_7F05DCE8 -/* 09A2C4 7F065794 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A2C8 7F065798 C60A01C8 */ lwc1 $f10, 0x1c8($s0) -/* 09A2CC 7F06579C C7A20198 */ lwc1 $f2, 0x198($sp) -/* 09A2D0 7F0657A0 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 09A2D4 7F0657A4 460A0181 */ sub.s $f6, $f0, $f10 -/* 09A2D8 7F0657A8 44817000 */ mtc1 $at, $f14 -/* 09A2DC 7F0657AC 8FAA01A8 */ lw $t2, 0x1a8($sp) -/* 09A2E0 7F0657B0 44805000 */ mtc1 $zero, $f10 -/* 09A2E4 7F0657B4 46023102 */ mul.s $f4, $f6, $f2 -/* 09A2E8 7F0657B8 8FA701A4 */ lw $a3, 0x1a4($sp) -/* 09A2EC 7F0657BC 8FA901A0 */ lw $t1, 0x1a0($sp) -/* 09A2F0 7F0657C0 E60A0060 */ swc1 $f10, 0x60($s0) -/* 09A2F4 7F0657C4 8E0F0020 */ lw $t7, 0x20($s0) -/* 09A2F8 7F0657C8 3C018005 */ lui $at, %hi(D_8005417C) -/* 09A2FC 7F0657CC 460E2203 */ div.s $f8, $f4, $f14 -/* 09A300 7F0657D0 C60401D0 */ lwc1 $f4, 0x1d0($s0) -/* 09A304 7F0657D4 01E7C023 */ subu $t8, $t7, $a3 -/* 09A308 7F0657D8 E608005C */ swc1 $f8, 0x5c($s0) -/* 09A30C 7F0657DC C546000C */ lwc1 $f6, 0xc($t2) -/* 09A310 7F0657E0 46043201 */ sub.s $f8, $f6, $f4 -/* 09A314 7F0657E4 44982000 */ mtc1 $t8, $f4 -/* 09A318 7F0657E8 46024282 */ mul.s $f10, $f8, $f2 -/* 09A31C 7F0657EC 46802220 */ cvt.s.w $f8, $f4 -/* 09A320 7F0657F0 44892000 */ mtc1 $t1, $f4 -/* 09A324 7F0657F4 460E5183 */ div.s $f6, $f10, $f14 -/* 09A328 7F0657F8 E6060064 */ swc1 $f6, 0x64($s0) -/* 09A32C 7F0657FC C42A417C */ lwc1 $f10, %lo(D_8005417C)($at) -/* 09A330 7F065800 460A4182 */ mul.s $f6, $f8, $f10 -/* 09A334 7F065804 46802220 */ cvt.s.w $f8, $f4 -/* 09A338 7F065808 0FC15FA8 */ jal cosf -/* 09A33C 7F06580C 46083303 */ div.s $f12, $f6, $f8 -/* 09A340 7F065810 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09A344 7F065814 44815000 */ mtc1 $at, $f10 -/* 09A348 7F065818 44813000 */ mtc1 $at, $f6 -/* 09A34C 7F06581C 460A0102 */ mul.s $f4, $f0, $f10 -/* 09A350 7F065820 46062080 */ add.s $f2, $f4, $f6 -.L7F065824: -/* 09A354 7F065824 C60C0058 */ lwc1 $f12, 0x58($s0) -/* 09A358 7F065828 C60E0068 */ lwc1 $f14, 0x68($s0) -/* 09A35C 7F06582C 44061000 */ mfc1 $a2, $f2 -/* 09A360 7F065830 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 09A364 7F065834 E7A20190 */ swc1 $f2, 0x190($sp) -/* 09A368 7F065838 C60E004C */ lwc1 $f14, 0x4c($s0) -/* 09A36C 7F06583C C608005C */ lwc1 $f8, 0x5c($s0) -/* 09A370 7F065840 C7A20190 */ lwc1 $f2, 0x190($sp) -/* 09A374 7F065844 C6100050 */ lwc1 $f16, 0x50($s0) -/* 09A378 7F065848 460E4281 */ sub.s $f10, $f8, $f14 -/* 09A37C 7F06584C C6080060 */ lwc1 $f8, 0x60($s0) -/* 09A380 7F065850 C6120054 */ lwc1 $f18, 0x54($s0) -/* 09A384 7F065854 24190001 */ li $t9, 1 -/* 09A388 7F065858 46025102 */ mul.s $f4, $f10, $f2 -/* 09A38C 7F06585C 46104281 */ sub.s $f10, $f8, $f16 -/* 09A390 7F065860 C6080064 */ lwc1 $f8, 0x64($s0) -/* 09A394 7F065864 E6000078 */ swc1 $f0, 0x78($s0) -/* 09A398 7F065868 AE1900BC */ sw $t9, 0xbc($s0) -/* 09A39C 7F06586C 46000306 */ mov.s $f12, $f0 -/* 09A3A0 7F065870 460E2180 */ add.s $f6, $f4, $f14 -/* 09A3A4 7F065874 46025102 */ mul.s $f4, $f10, $f2 -/* 09A3A8 7F065878 46124281 */ sub.s $f10, $f8, $f18 -/* 09A3AC 7F06587C E606006C */ swc1 $f6, 0x6c($s0) -/* 09A3B0 7F065880 46102180 */ add.s $f6, $f4, $f16 -/* 09A3B4 7F065884 46025102 */ mul.s $f4, $f10, $f2 -/* 09A3B8 7F065888 E6060070 */ swc1 $f6, 0x70($s0) -/* 09A3BC 7F06588C 46122180 */ add.s $f6, $f4, $f18 -/* 09A3C0 7F065890 E6060074 */ swc1 $f6, 0x74($s0) -/* 09A3C4 7F065894 0FC1615C */ jal sub_GAME_7F058570 -/* 09A3C8 7F065898 8FA50030 */ lw $a1, 0x30($sp) -/* 09A3CC 7F06589C 2604006C */ addiu $a0, $s0, 0x6c -/* 09A3D0 7F0658A0 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09A3D4 7F0658A4 8FA50030 */ lw $a1, 0x30($sp) -.L7F0658A8: -/* 09A3D8 7F0658A8 8E020024 */ lw $v0, 0x24($s0) -/* 09A3DC 7F0658AC 24010004 */ li $at, 4 -/* 09A3E0 7F0658B0 54410053 */ bnel $v0, $at, .L7F065A00 -/* 09A3E4 7F0658B4 2401000D */ li $at, 13 -/* 09A3E8 7F0658B8 8E030020 */ lw $v1, 0x20($s0) -/* 09A3EC 7F0658BC 54600013 */ bnezl $v1, .L7F06590C -/* 09A3F0 7F0658C0 8E020038 */ lw $v0, 0x38($s0) -/* 09A3F4 7F0658C4 C6080078 */ lwc1 $f8, 0x78($s0) -/* 09A3F8 7F0658C8 C60A006C */ lwc1 $f10, 0x6c($s0) -/* 09A3FC 7F0658CC C6040070 */ lwc1 $f4, 0x70($s0) -/* 09A400 7F0658D0 C6060074 */ lwc1 $f6, 0x74($s0) -/* 09A404 7F0658D4 E6080058 */ swc1 $f8, 0x58($s0) -/* 09A408 7F0658D8 E60A004C */ swc1 $f10, 0x4c($s0) -/* 09A40C 7F0658DC E6040050 */ swc1 $f4, 0x50($s0) -/* 09A410 7F0658E0 E6060054 */ swc1 $f6, 0x54($s0) -/* 09A414 7F0658E4 44804000 */ mtc1 $zero, $f8 -/* 09A418 7F0658E8 44805000 */ mtc1 $zero, $f10 -/* 09A41C 7F0658EC 44802000 */ mtc1 $zero, $f4 -/* 09A420 7F0658F0 44803000 */ mtc1 $zero, $f6 -/* 09A424 7F0658F4 8E030020 */ lw $v1, 0x20($s0) -/* 09A428 7F0658F8 E6080068 */ swc1 $f8, 0x68($s0) -/* 09A42C 7F0658FC E60A005C */ swc1 $f10, 0x5c($s0) -/* 09A430 7F065900 E6040060 */ swc1 $f4, 0x60($s0) -/* 09A434 7F065904 E6060064 */ swc1 $f6, 0x64($s0) -/* 09A438 7F065908 8E020038 */ lw $v0, 0x38($s0) -.L7F06590C: -/* 09A43C 7F06590C 0062082A */ slt $at, $v1, $v0 -/* 09A440 7F065910 10200036 */ beqz $at, .L7F0659EC -/* 09A444 7F065914 00435823 */ subu $t3, $v0, $v1 -/* 09A448 7F065918 448B4000 */ mtc1 $t3, $f8 -/* 09A44C 7F06591C 3C018005 */ lui $at, %hi(D_80054180) -/* 09A450 7F065920 C4244180 */ lwc1 $f4, %lo(D_80054180)($at) -/* 09A454 7F065924 468042A0 */ cvt.s.w $f10, $f8 -/* 09A458 7F065928 44824000 */ mtc1 $v0, $f8 -/* 09A45C 7F06592C 260C007C */ addiu $t4, $s0, 0x7c -/* 09A460 7F065930 260D006C */ addiu $t5, $s0, 0x6c -/* 09A464 7F065934 AFAD0034 */ sw $t5, 0x34($sp) -/* 09A468 7F065938 AFAC0030 */ sw $t4, 0x30($sp) -/* 09A46C 7F06593C 46045182 */ mul.s $f6, $f10, $f4 -/* 09A470 7F065940 468042A0 */ cvt.s.w $f10, $f8 -/* 09A474 7F065944 0FC15FA8 */ jal cosf -/* 09A478 7F065948 460A3303 */ div.s $f12, $f6, $f10 -/* 09A47C 7F06594C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09A480 7F065950 44818000 */ mtc1 $at, $f16 -/* 09A484 7F065954 00000000 */ nop -/* 09A488 7F065958 46100102 */ mul.s $f4, $f0, $f16 -/* 09A48C 7F06595C 46102080 */ add.s $f2, $f4, $f16 -/* 09A490 7F065960 E7A2018C */ swc1 $f2, 0x18c($sp) -/* 09A494 7F065964 44061000 */ mfc1 $a2, $f2 -/* 09A498 7F065968 C60E0068 */ lwc1 $f14, 0x68($s0) -/* 09A49C 7F06596C 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 09A4A0 7F065970 C60C0058 */ lwc1 $f12, 0x58($s0) -/* 09A4A4 7F065974 C60E004C */ lwc1 $f14, 0x4c($s0) -/* 09A4A8 7F065978 C608005C */ lwc1 $f8, 0x5c($s0) -/* 09A4AC 7F06597C C7A2018C */ lwc1 $f2, 0x18c($sp) -/* 09A4B0 7F065980 C6100050 */ lwc1 $f16, 0x50($s0) -/* 09A4B4 7F065984 460E4181 */ sub.s $f6, $f8, $f14 -/* 09A4B8 7F065988 C6080060 */ lwc1 $f8, 0x60($s0) -/* 09A4BC 7F06598C C6120054 */ lwc1 $f18, 0x54($s0) -/* 09A4C0 7F065990 240E0001 */ li $t6, 1 -/* 09A4C4 7F065994 46023282 */ mul.s $f10, $f6, $f2 -/* 09A4C8 7F065998 46104181 */ sub.s $f6, $f8, $f16 -/* 09A4CC 7F06599C C6080064 */ lwc1 $f8, 0x64($s0) -/* 09A4D0 7F0659A0 E6000078 */ swc1 $f0, 0x78($s0) -/* 09A4D4 7F0659A4 AE0E00BC */ sw $t6, 0xbc($s0) -/* 09A4D8 7F0659A8 46000306 */ mov.s $f12, $f0 -/* 09A4DC 7F0659AC 460E5100 */ add.s $f4, $f10, $f14 -/* 09A4E0 7F0659B0 46023282 */ mul.s $f10, $f6, $f2 -/* 09A4E4 7F0659B4 46124181 */ sub.s $f6, $f8, $f18 -/* 09A4E8 7F0659B8 E604006C */ swc1 $f4, 0x6c($s0) -/* 09A4EC 7F0659BC 46105100 */ add.s $f4, $f10, $f16 -/* 09A4F0 7F0659C0 46023282 */ mul.s $f10, $f6, $f2 -/* 09A4F4 7F0659C4 E6040070 */ swc1 $f4, 0x70($s0) -/* 09A4F8 7F0659C8 46125100 */ add.s $f4, $f10, $f18 -/* 09A4FC 7F0659CC E6040074 */ swc1 $f4, 0x74($s0) -/* 09A500 7F0659D0 0FC1615C */ jal sub_GAME_7F058570 -/* 09A504 7F0659D4 8FA50030 */ lw $a1, 0x30($sp) -/* 09A508 7F0659D8 8FA40034 */ lw $a0, 0x34($sp) -/* 09A50C 7F0659DC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09A510 7F0659E0 8FA50030 */ lw $a1, 0x30($sp) -/* 09A514 7F0659E4 10000005 */ b .L7F0659FC -/* 09A518 7F0659E8 8E020024 */ lw $v0, 0x24($s0) -.L7F0659EC: -/* 09A51C 7F0659EC AE000024 */ sw $zero, 0x24($s0) -/* 09A520 7F0659F0 AE000020 */ sw $zero, 0x20($s0) -/* 09A524 7F0659F4 AE00001C */ sw $zero, 0x1c($s0) -/* 09A528 7F0659F8 00001025 */ move $v0, $zero -.L7F0659FC: -/* 09A52C 7F0659FC 2401000D */ li $at, 13 -.L7F065A00: -/* 09A530 7F065A00 54410013 */ bnel $v0, $at, .L7F065A50 -/* 09A534 7F065A04 8E020024 */ lw $v0, 0x24($s0) -/* 09A538 7F065A08 8E0F001C */ lw $t7, 0x1c($s0) -/* 09A53C 7F065A0C 55E00004 */ bnezl $t7, .L7F065A20 -/* 09A540 7F065A10 8E050018 */ lw $a1, 0x18($s0) -/* 09A544 7F065A14 0FC17A02 */ jal sub_GAME_7F05E808 -/* 09A548 7F065A18 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A54C 7F065A1C 8E050018 */ lw $a1, 0x18($s0) -.L7F065A20: -/* 09A550 7F065A20 54A00008 */ bnezl $a1, .L7F065A44 -/* 09A554 7F065A24 AE000024 */ sw $zero, 0x24($s0) -/* 09A558 7F065A28 54A00009 */ bnezl $a1, .L7F065A50 -/* 09A55C 7F065A2C 8E020024 */ lw $v0, 0x24($s0) -/* 09A560 7F065A30 8E180020 */ lw $t8, 0x20($s0) -/* 09A564 7F065A34 2B010014 */ slti $at, $t8, 0x14 -/* 09A568 7F065A38 54200005 */ bnezl $at, .L7F065A50 -/* 09A56C 7F065A3C 8E020024 */ lw $v0, 0x24($s0) -/* 09A570 7F065A40 AE000024 */ sw $zero, 0x24($s0) -.L7F065A44: -/* 09A574 7F065A44 AE000020 */ sw $zero, 0x20($s0) -/* 09A578 7F065A48 AE00001C */ sw $zero, 0x1c($s0) -/* 09A57C 7F065A4C 8E020024 */ lw $v0, 0x24($s0) -.L7F065A50: -/* 09A580 7F065A50 24050005 */ li $a1, 5 -/* 09A584 7F065A54 24040010 */ li $a0, 16 -/* 09A588 7F065A58 54A2005E */ bnel $a1, $v0, .L7F065BD4 -/* 09A58C 7F065A5C 24060006 */ li $a2, 6 -/* 09A590 7F065A60 0FC26919 */ jal get_num_players -/* 09A594 7F065A64 AFA40188 */ sw $a0, 0x188($sp) -/* 09A598 7F065A68 28410002 */ slti $at, $v0, 2 -/* 09A59C 7F065A6C 14200002 */ bnez $at, .L7F065A78 -/* 09A5A0 7F065A70 8FA40188 */ lw $a0, 0x188($sp) -/* 09A5A4 7F065A74 2404000C */ li $a0, 12 -.L7F065A78: -/* 09A5A8 7F065A78 8E19001C */ lw $t9, 0x1c($s0) -/* 09A5AC 7F065A7C 5720000C */ bnezl $t9, .L7F065AB0 -/* 09A5B0 7F065A80 8E030020 */ lw $v1, 0x20($s0) -/* 09A5B4 7F065A84 0FC26919 */ jal get_num_players -/* 09A5B8 7F065A88 AFA40188 */ sw $a0, 0x188($sp) -/* 09A5BC 7F065A8C 24010001 */ li $at, 1 -/* 09A5C0 7F065A90 14410004 */ bne $v0, $at, .L7F065AA4 -/* 09A5C4 7F065A94 8FA40188 */ lw $a0, 0x188($sp) -/* 09A5C8 7F065A98 240B0011 */ li $t3, 17 -/* 09A5CC 7F065A9C 10000003 */ b .L7F065AAC -/* 09A5D0 7F065AA0 AE0B0040 */ sw $t3, 0x40($s0) -.L7F065AA4: -/* 09A5D4 7F065AA4 240C000D */ li $t4, 13 -/* 09A5D8 7F065AA8 AE0C0040 */ sw $t4, 0x40($s0) -.L7F065AAC: -/* 09A5DC 7F065AAC 8E030020 */ lw $v1, 0x20($s0) -.L7F065AB0: -/* 09A5E0 7F065AB0 0064082A */ slt $at, $v1, $a0 -/* 09A5E4 7F065AB4 54200026 */ bnezl $at, .L7F065B50 -/* 09A5E8 7F065AB8 44834000 */ mtc1 $v1, $f8 -/* 09A5EC 7F065ABC 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09A5F0 7F065AC0 02202025 */ move $a0, $s1 -/* 09A5F4 7F065AC4 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 09A5F8 7F065AC8 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 09A5FC 7F065ACC 00027080 */ sll $t6, $v0, 2 -/* 09A600 7F065AD0 8E18002C */ lw $t8, 0x2c($s0) -/* 09A604 7F065AD4 01AE1821 */ addu $v1, $t5, $t6 -/* 09A608 7F065AD8 8C6F1130 */ lw $t7, 0x1130($v1) -/* 09A60C 7F065ADC 01F8C821 */ addu $t9, $t7, $t8 -/* 09A610 7F065AE0 AC791130 */ sw $t9, 0x1130($v1) -/* 09A614 7F065AE4 0FC26919 */ jal get_num_players -/* 09A618 7F065AE8 AE00002C */ sw $zero, 0x2c($s0) -/* 09A61C 7F065AEC 28410002 */ slti $at, $v0, 2 -/* 09A620 7F065AF0 14200003 */ bnez $at, .L7F065B00 -/* 09A624 7F065AF4 00000000 */ nop -/* 09A628 7F065AF8 0FC26CDA */ jal sub_GAME_7F09B368 -/* 09A62C 7F065AFC 8FA401D0 */ lw $a0, 0x1d0($sp) -.L7F065B00: -/* 09A630 7F065B00 0FC17EC0 */ jal sub_GAME_7F05FB00 -/* 09A634 7F065B04 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A638 7F065B08 240B0006 */ li $t3, 6 -/* 09A63C 7F065B0C AE0B0024 */ sw $t3, 0x24($s0) -/* 09A640 7F065B10 0FC230F0 */ jal check_if_item_available -/* 09A644 7F065B14 24040011 */ li $a0, 17 -/* 09A648 7F065B18 10400006 */ beqz $v0, .L7F065B34 -/* 09A64C 7F065B1C 24050005 */ li $a1, 5 -/* 09A650 7F065B20 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 09A654 7F065B24 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 09A658 7F065B28 240C0011 */ li $t4, 17 -/* 09A65C 7F065B2C 10000005 */ b .L7F065B44 -/* 09A660 7F065B30 ADAC2A38 */ sw $t4, 0x2a38($t5) -.L7F065B34: -/* 09A664 7F065B34 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 09A668 7F065B38 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 09A66C 7F065B3C 240E0001 */ li $t6, 1 -/* 09A670 7F065B40 ADEE2A38 */ sw $t6, 0x2a38($t7) -.L7F065B44: -/* 09A674 7F065B44 10000022 */ b .L7F065BD0 -/* 09A678 7F065B48 8E020024 */ lw $v0, 0x24($s0) -/* 09A67C 7F065B4C 44834000 */ mtc1 $v1, $f8 -.L7F065B50: -/* 09A680 7F065B50 3C018005 */ lui $at, %hi(D_80054184) -/* 09A684 7F065B54 C42A4184 */ lwc1 $f10, %lo(D_80054184)($at) -/* 09A688 7F065B58 468041A0 */ cvt.s.w $f6, $f8 -/* 09A68C 7F065B5C 44844000 */ mtc1 $a0, $f8 -/* 09A690 7F065B60 24180001 */ li $t8, 1 -/* 09A694 7F065B64 AE1800BC */ sw $t8, 0xbc($s0) -/* 09A698 7F065B68 2605007C */ addiu $a1, $s0, 0x7c -/* 09A69C 7F065B6C 460A3102 */ mul.s $f4, $f6, $f10 -/* 09A6A0 7F065B70 468041A0 */ cvt.s.w $f6, $f8 -/* 09A6A4 7F065B74 46062303 */ div.s $f12, $f4, $f6 -/* 09A6A8 7F065B78 0FC1615C */ jal sub_GAME_7F058570 -/* 09A6AC 7F065B7C E7AC0184 */ swc1 $f12, 0x184($sp) -/* 09A6B0 7F065B80 44805000 */ mtc1 $zero, $f10 -/* 09A6B4 7F065B84 00000000 */ nop -/* 09A6B8 7F065B88 E60A00AC */ swc1 $f10, 0xac($s0) -/* 09A6BC 7F065B8C 0FC15FA8 */ jal cosf -/* 09A6C0 7F065B90 C7AC0184 */ lwc1 $f12, 0x184($sp) -/* 09A6C4 7F065B94 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09A6C8 7F065B98 44814000 */ mtc1 $at, $f8 -/* 09A6CC 7F065B9C 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09A6D0 7F065BA0 44813000 */ mtc1 $at, $f6 -/* 09A6D4 7F065BA4 46004101 */ sub.s $f4, $f8, $f0 -/* 09A6D8 7F065BA8 46062282 */ mul.s $f10, $f4, $f6 -/* 09A6DC 7F065BAC E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 09A6E0 7F065BB0 0FC15FAB */ jal sinf -/* 09A6E4 7F065BB4 C7AC0184 */ lwc1 $f12, 0x184($sp) -/* 09A6E8 7F065BB8 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09A6EC 7F065BBC 44814000 */ mtc1 $at, $f8 -/* 09A6F0 7F065BC0 8E020024 */ lw $v0, 0x24($s0) -/* 09A6F4 7F065BC4 24050005 */ li $a1, 5 -/* 09A6F8 7F065BC8 46080102 */ mul.s $f4, $f0, $f8 -/* 09A6FC 7F065BCC E60400B4 */ swc1 $f4, 0xb4($s0) -.L7F065BD0: -/* 09A700 7F065BD0 24060006 */ li $a2, 6 -.L7F065BD4: -/* 09A704 7F065BD4 10C20003 */ beq $a2, $v0, .L7F065BE4 -/* 09A708 7F065BD8 24010007 */ li $at, 7 -/* 09A70C 7F065BDC 54410066 */ bnel $v0, $at, .L7F065D78 -/* 09A710 7F065BE0 24010008 */ li $at, 8 -.L7F065BE4: -/* 09A714 7F065BE4 8E190044 */ lw $t9, 0x44($s0) -/* 09A718 7F065BE8 13200006 */ beqz $t9, .L7F065C04 -/* 09A71C 7F065BEC 00000000 */ nop -/* 09A720 7F065BF0 8E0B0020 */ lw $t3, 0x20($s0) -/* 09A724 7F065BF4 8E0C0040 */ lw $t4, 0x40($s0) -/* 09A728 7F065BF8 016C082A */ slt $at, $t3, $t4 -/* 09A72C 7F065BFC 5420003E */ bnezl $at, .L7F065CF8 -/* 09A730 7F065C00 8E020024 */ lw $v0, 0x24($s0) -.L7F065C04: -/* 09A734 7F065C04 14C20034 */ bne $a2, $v0, .L7F065CD8 -/* 09A738 7F065C08 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 09A73C 7F065C0C 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 09A740 7F065C10 8FAE0038 */ lw $t6, 0x38($sp) -/* 09A744 7F065C14 01AE1823 */ subu $v1, $t5, $t6 -/* 09A748 7F065C18 8C620C3C */ lw $v0, 0xc3c($v1) -/* 09A74C 7F065C1C 24630C18 */ addiu $v1, $v1, 0xc18 -/* 09A750 7F065C20 50C20025 */ beql $a2, $v0, .L7F065CB8 -/* 09A754 7F065C24 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A758 7F065C28 50A20023 */ beql $a1, $v0, .L7F065CB8 -/* 09A75C 7F065C2C 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A760 7F065C30 8C640028 */ lw $a0, 0x28($v1) -/* 09A764 7F065C34 2401000E */ li $at, 14 -/* 09A768 7F065C38 50A4001F */ beql $a1, $a0, .L7F065CB8 -/* 09A76C 7F065C3C 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A770 7F065C40 1041001C */ beq $v0, $at, .L7F065CB4 -/* 09A774 7F065C44 2401000F */ li $at, 15 -/* 09A778 7F065C48 1041001A */ beq $v0, $at, .L7F065CB4 -/* 09A77C 7F065C4C 24010010 */ li $at, 16 -/* 09A780 7F065C50 10410018 */ beq $v0, $at, .L7F065CB4 -/* 09A784 7F065C54 2401000E */ li $at, 14 -/* 09A788 7F065C58 10810016 */ beq $a0, $at, .L7F065CB4 -/* 09A78C 7F065C5C 8FAF01D0 */ lw $t7, 0x1d0($sp) -/* 09A790 7F065C60 15E0000C */ bnez $t7, .L7F065C94 -/* 09A794 7F065C64 00000000 */ nop -/* 09A798 7F065C68 0FC17674 */ jal get_item_in_hand -/* 09A79C 7F065C6C 24040001 */ li $a0, 1 -/* 09A7A0 7F065C70 8E04003C */ lw $a0, 0x3c($s0) -/* 09A7A4 7F065C74 0FC23103 */ jal check_if_item_for_hand_available -/* 09A7A8 7F065C78 00402825 */ move $a1, $v0 -/* 09A7AC 7F065C7C 1440000D */ bnez $v0, .L7F065CB4 -/* 09A7B0 7F065C80 24040001 */ li $a0, 1 -/* 09A7B4 7F065C84 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 09A7B8 7F065C88 00002825 */ move $a1, $zero -/* 09A7BC 7F065C8C 1000000A */ b .L7F065CB8 -/* 09A7C0 7F065C90 8FA401D0 */ lw $a0, 0x1d0($sp) -.L7F065C94: -/* 09A7C4 7F065C94 0FC17674 */ jal get_item_in_hand -/* 09A7C8 7F065C98 00002025 */ move $a0, $zero -/* 09A7CC 7F065C9C 00402025 */ move $a0, $v0 -/* 09A7D0 7F065CA0 0FC23103 */ jal check_if_item_for_hand_available -/* 09A7D4 7F065CA4 8E05003C */ lw $a1, 0x3c($s0) -/* 09A7D8 7F065CA8 54400003 */ bnezl $v0, .L7F065CB8 -/* 09A7DC 7F065CAC 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A7E0 7F065CB0 AE00003C */ sw $zero, 0x3c($s0) -.L7F065CB4: -/* 09A7E4 7F065CB4 8FA401D0 */ lw $a0, 0x1d0($sp) -.L7F065CB8: -/* 09A7E8 7F065CB8 0FC176D5 */ jal remove_hands_item -/* 09A7EC 7F065CBC 8E05003C */ lw $a1, 0x3c($s0) -/* 09A7F0 7F065CC0 0FC17691 */ jal return_ammo_in_hand -/* 09A7F4 7F065CC4 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A7F8 7F065CC8 24180007 */ li $t8, 7 -/* 09A7FC 7F065CCC 00408825 */ move $s1, $v0 -/* 09A800 7F065CD0 10000008 */ b .L7F065CF4 -/* 09A804 7F065CD4 AE180024 */ sw $t8, 0x24($s0) -.L7F065CD8: -/* 09A808 7F065CD8 0FC173AF */ jal sub_GAME_7F05CEBC -/* 09A80C 7F065CDC 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A810 7F065CE0 10400004 */ beqz $v0, .L7F065CF4 -/* 09A814 7F065CE4 24190008 */ li $t9, 8 -/* 09A818 7F065CE8 AE190024 */ sw $t9, 0x24($s0) -/* 09A81C 7F065CEC AE000020 */ sw $zero, 0x20($s0) -/* 09A820 7F065CF0 AE00001C */ sw $zero, 0x1c($s0) -.L7F065CF4: -/* 09A824 7F065CF4 8E020024 */ lw $v0, 0x24($s0) -.L7F065CF8: -/* 09A828 7F065CF8 24060006 */ li $a2, 6 -/* 09A82C 7F065CFC 24010007 */ li $at, 7 -/* 09A830 7F065D00 10C20003 */ beq $a2, $v0, .L7F065D10 -/* 09A834 7F065D04 240B0001 */ li $t3, 1 -/* 09A838 7F065D08 5441001B */ bnel $v0, $at, .L7F065D78 -/* 09A83C 7F065D0C 24010008 */ li $at, 8 -.L7F065D10: -/* 09A840 7F065D10 AE0B00BC */ sw $t3, 0xbc($s0) -/* 09A844 7F065D14 3C018005 */ lui $at, %hi(D_80054188) -/* 09A848 7F065D18 C42C4188 */ lwc1 $f12, %lo(D_80054188)($at) -/* 09A84C 7F065D1C 0FC1615C */ jal sub_GAME_7F058570 -/* 09A850 7F065D20 2605007C */ addiu $a1, $s0, 0x7c -/* 09A854 7F065D24 44803000 */ mtc1 $zero, $f6 -/* 09A858 7F065D28 3C018005 */ lui $at, %hi(D_8005418C) -/* 09A85C 7F065D2C E60600AC */ swc1 $f6, 0xac($s0) -/* 09A860 7F065D30 0FC15FA8 */ jal cosf -/* 09A864 7F065D34 C42C418C */ lwc1 $f12, %lo(D_8005418C)($at) -/* 09A868 7F065D38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09A86C 7F065D3C 44815000 */ mtc1 $at, $f10 -/* 09A870 7F065D40 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09A874 7F065D44 44812000 */ mtc1 $at, $f4 -/* 09A878 7F065D48 46005201 */ sub.s $f8, $f10, $f0 -/* 09A87C 7F065D4C 3C018005 */ lui $at, %hi(D_80054190) -/* 09A880 7F065D50 46044182 */ mul.s $f6, $f8, $f4 -/* 09A884 7F065D54 E60600B0 */ swc1 $f6, 0xb0($s0) -/* 09A888 7F065D58 0FC15FAB */ jal sinf -/* 09A88C 7F065D5C C42C4190 */ lwc1 $f12, %lo(D_80054190)($at) -/* 09A890 7F065D60 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09A894 7F065D64 44815000 */ mtc1 $at, $f10 -/* 09A898 7F065D68 8E020024 */ lw $v0, 0x24($s0) -/* 09A89C 7F065D6C 460A0202 */ mul.s $f8, $f0, $f10 -/* 09A8A0 7F065D70 E60800B4 */ swc1 $f8, 0xb4($s0) -/* 09A8A4 7F065D74 24010008 */ li $at, 8 -.L7F065D78: -/* 09A8A8 7F065D78 14410088 */ bne $v0, $at, .L7F065F9C -/* 09A8AC 7F065D7C 240C0017 */ li $t4, 23 -/* 09A8B0 7F065D80 0FC26919 */ jal get_num_players -/* 09A8B4 7F065D84 AFAC0178 */ sw $t4, 0x178($sp) -/* 09A8B8 7F065D88 28410002 */ slti $at, $v0, 2 -/* 09A8BC 7F065D8C 14200002 */ bnez $at, .L7F065D98 -/* 09A8C0 7F065D90 240D000C */ li $t5, 12 -/* 09A8C4 7F065D94 AFAD0178 */ sw $t5, 0x178($sp) -.L7F065D98: -/* 09A8C8 7F065D98 8E0E001C */ lw $t6, 0x1c($s0) -/* 09A8CC 7F065D9C 55C00048 */ bnezl $t6, .L7F065EC0 -/* 09A8D0 7F065DA0 8E0E0020 */ lw $t6, 0x20($s0) -/* 09A8D4 7F065DA4 0FC26919 */ jal get_num_players -/* 09A8D8 7F065DA8 00000000 */ nop -/* 09A8DC 7F065DAC 28410002 */ slti $at, $v0, 2 -/* 09A8E0 7F065DB0 14200003 */ bnez $at, .L7F065DC0 -/* 09A8E4 7F065DB4 00000000 */ nop -/* 09A8E8 7F065DB8 0FC26CE6 */ jal sub_GAME_7F09B398 -/* 09A8EC 7F065DBC 8FA401D0 */ lw $a0, 0x1d0($sp) -.L7F065DC0: -/* 09A8F0 7F065DC0 0FC19276 */ jal sub_GAME_7F0649D8 -/* 09A8F4 7F065DC4 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A8F8 7F065DC8 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 09A8FC 7F065DCC 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 09A900 7F065DD0 3C188005 */ lui $t8, %hi(clock_timer) -/* 09A904 7F065DD4 3C198008 */ lui $t9, %hi(pPlayer) -/* 09A908 7F065DD8 ADE00FC8 */ sw $zero, 0xfc8($t7) -/* 09A90C 7F065DDC 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 09A910 7F065DE0 5B000037 */ blezl $t8, .L7F065EC0 -/* 09A914 7F065DE4 8E0E0020 */ lw $t6, 0x20($s0) -/* 09A918 7F065DE8 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 09A91C 7F065DEC 24010001 */ li $at, 1 -/* 09A920 7F065DF0 8F2B0000 */ lw $t3, ($t9) -/* 09A924 7F065DF4 51610032 */ beql $t3, $at, .L7F065EC0 -/* 09A928 7F065DF8 8E0E0020 */ lw $t6, 0x20($s0) -/* 09A92C 7F065DFC 0FC173AF */ jal sub_GAME_7F05CEBC -/* 09A930 7F065E00 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09A934 7F065E04 1040002D */ beqz $v0, .L7F065EBC -/* 09A938 7F065E08 3C0C8003 */ lui $t4, %hi(disable_player_pickups_flag) -/* 09A93C 7F065E0C 8D8C64B4 */ lw $t4, %lo(disable_player_pickups_flag)($t4) -/* 09A940 7F065E10 2A21003E */ slti $at, $s1, 0x3e -/* 09A944 7F065E14 5580002A */ bnezl $t4, .L7F065EC0 -/* 09A948 7F065E18 8E0E0020 */ lw $t6, 0x20($s0) -/* 09A94C 7F065E1C 14200005 */ bnez $at, .L7F065E34 -/* 09A950 7F065E20 24010058 */ li $at, 88 -/* 09A954 7F065E24 52210026 */ beql $s1, $at, .L7F065EC0 -/* 09A958 7F065E28 8E0E0020 */ lw $t6, 0x20($s0) -/* 09A95C 7F065E2C 1000001E */ b .L7F065EA8 -/* 09A960 7F065E30 00000000 */ nop -.L7F065E34: -/* 09A964 7F065E34 2E21003E */ sltiu $at, $s1, 0x3e -/* 09A968 7F065E38 1020001B */ beqz $at, .L7F065EA8 -/* 09A96C 7F065E3C 00116880 */ sll $t5, $s1, 2 -/* 09A970 7F065E40 3C018005 */ lui $at, %hi(jpt_80054194) -/* 09A974 7F065E44 002D0821 */ addu $at, $at, $t5 -/* 09A978 7F065E48 8C2D4194 */ lw $t5, %lo(jpt_80054194)($at) -/* 09A97C 7F065E4C 01A00008 */ jr $t5 -/* 09A980 7F065E50 00000000 */ nop -weapon_playsfx_F2: -/* 09A984 7F065E54 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09A988 7F065E58 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A98C 7F065E5C 240500F2 */ li $a1, 242 -/* 09A990 7F065E60 0C002382 */ jal play_sfx_a1 -/* 09A994 7F065E64 00003025 */ move $a2, $zero -/* 09A998 7F065E68 10000015 */ b .L7F065EC0 -/* 09A99C 7F065E6C 8E0E0020 */ lw $t6, 0x20($s0) -weapon_playsfx_knife: -/* 09A9A0 7F065E70 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09A9A4 7F065E74 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A9A8 7F065E78 240500E9 */ li $a1, 233 -/* 09A9AC 7F065E7C 0C002382 */ jal play_sfx_a1 -/* 09A9B0 7F065E80 00003025 */ move $a2, $zero -/* 09A9B4 7F065E84 1000000E */ b .L7F065EC0 -/* 09A9B8 7F065E88 8E0E0020 */ lw $t6, 0x20($s0) -weapon_playsfx_mine: -/* 09A9BC 7F065E8C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09A9C0 7F065E90 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A9C4 7F065E94 240500EB */ li $a1, 235 -/* 09A9C8 7F065E98 0C002382 */ jal play_sfx_a1 -/* 09A9CC 7F065E9C 00003025 */ move $a2, $zero -/* 09A9D0 7F065EA0 10000007 */ b .L7F065EC0 -/* 09A9D4 7F065EA4 8E0E0020 */ lw $t6, 0x20($s0) -weapon_playsfx_gun: -.L7F065EA8: -/* 09A9D8 7F065EA8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09A9DC 7F065EAC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A9E0 7F065EB0 240500E8 */ li $a1, 232 -/* 09A9E4 7F065EB4 0C002382 */ jal play_sfx_a1 -/* 09A9E8 7F065EB8 00003025 */ move $a2, $zero -weapon_switchstyle_NONE: -.L7F065EBC: -/* 09A9EC 7F065EBC 8E0E0020 */ lw $t6, 0x20($s0) -.L7F065EC0: -/* 09A9F0 7F065EC0 8FAF0178 */ lw $t7, 0x178($sp) -/* 09A9F4 7F065EC4 01CF082A */ slt $at, $t6, $t7 -/* 09A9F8 7F065EC8 5020000E */ beql $at, $zero, .L7F065F04 -/* 09A9FC 7F065ECC AE000024 */ sw $zero, 0x24($s0) -/* 09AA00 7F065ED0 0FC17412 */ jal get_ptr_weapon_model_header_line -/* 09AA04 7F065ED4 02202025 */ move $a0, $s1 -/* 09AA08 7F065ED8 10400009 */ beqz $v0, .L7F065F00 -/* 09AA0C 7F065EDC 02202025 */ move $a0, $s1 -/* 09AA10 7F065EE0 0FC1782D */ jal check_special_attributes -/* 09AA14 7F065EE4 24050800 */ li $a1, 2048 -/* 09AA18 7F065EE8 10400005 */ beqz $v0, .L7F065F00 -/* 09AA1C 7F065EEC 02202025 */ move $a0, $s1 -/* 09AA20 7F065EF0 0FC1782D */ jal check_special_attributes -/* 09AA24 7F065EF4 24052000 */ li $a1, 8192 -/* 09AA28 7F065EF8 10400006 */ beqz $v0, .L7F065F14 -/* 09AA2C 7F065EFC 8FB80178 */ lw $t8, 0x178($sp) -.L7F065F00: -/* 09AA30 7F065F00 AE000024 */ sw $zero, 0x24($s0) -.L7F065F04: -/* 09AA34 7F065F04 AE000020 */ sw $zero, 0x20($s0) -/* 09AA38 7F065F08 AE00001C */ sw $zero, 0x1c($s0) -/* 09AA3C 7F065F0C 10000023 */ b .L7F065F9C -/* 09AA40 7F065F10 00001025 */ move $v0, $zero -.L7F065F14: -/* 09AA44 7F065F14 8E190020 */ lw $t9, 0x20($s0) -/* 09AA48 7F065F18 3C018005 */ lui $at, %hi(D_8005428C) -/* 09AA4C 7F065F1C C42A428C */ lwc1 $f10, %lo(D_8005428C)($at) -/* 09AA50 7F065F20 03195823 */ subu $t3, $t8, $t9 -/* 09AA54 7F065F24 448B2000 */ mtc1 $t3, $f4 -/* 09AA58 7F065F28 240C0001 */ li $t4, 1 -/* 09AA5C 7F065F2C AE0C00BC */ sw $t4, 0xbc($s0) -/* 09AA60 7F065F30 468021A0 */ cvt.s.w $f6, $f4 -/* 09AA64 7F065F34 44982000 */ mtc1 $t8, $f4 -/* 09AA68 7F065F38 2605007C */ addiu $a1, $s0, 0x7c -/* 09AA6C 7F065F3C 460A3202 */ mul.s $f8, $f6, $f10 -/* 09AA70 7F065F40 468021A0 */ cvt.s.w $f6, $f4 -/* 09AA74 7F065F44 46064303 */ div.s $f12, $f8, $f6 -/* 09AA78 7F065F48 0FC1615C */ jal sub_GAME_7F058570 -/* 09AA7C 7F065F4C E7AC0174 */ swc1 $f12, 0x174($sp) -/* 09AA80 7F065F50 44805000 */ mtc1 $zero, $f10 -/* 09AA84 7F065F54 00000000 */ nop -/* 09AA88 7F065F58 E60A00AC */ swc1 $f10, 0xac($s0) -/* 09AA8C 7F065F5C 0FC15FA8 */ jal cosf -/* 09AA90 7F065F60 C7AC0174 */ lwc1 $f12, 0x174($sp) -/* 09AA94 7F065F64 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09AA98 7F065F68 44812000 */ mtc1 $at, $f4 -/* 09AA9C 7F065F6C 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09AAA0 7F065F70 44813000 */ mtc1 $at, $f6 -/* 09AAA4 7F065F74 46002201 */ sub.s $f8, $f4, $f0 -/* 09AAA8 7F065F78 46064282 */ mul.s $f10, $f8, $f6 -/* 09AAAC 7F065F7C E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 09AAB0 7F065F80 0FC15FAB */ jal sinf -/* 09AAB4 7F065F84 C7AC0174 */ lwc1 $f12, 0x174($sp) -/* 09AAB8 7F065F88 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09AABC 7F065F8C 44812000 */ mtc1 $at, $f4 -/* 09AAC0 7F065F90 8E020024 */ lw $v0, 0x24($s0) -/* 09AAC4 7F065F94 46040202 */ mul.s $f8, $f0, $f4 -/* 09AAC8 7F065F98 E60800B4 */ swc1 $f8, 0xb4($s0) -.L7F065F9C: -/* 09AACC 7F065F9C 24010009 */ li $at, 9 -/* 09AAD0 7F065FA0 54410018 */ bnel $v0, $at, .L7F066004 -/* 09AAD4 7F065FA4 2401000A */ li $at, 10 -/* 09AAD8 7F065FA8 0FC1722D */ jal get_ptr_item_statistics -/* 09AADC 7F065FAC 02202025 */ move $a0, $s1 -/* 09AAE0 7F065FB0 8E0D002C */ lw $t5, 0x2c($s0) -/* 09AAE4 7F065FB4 844E0020 */ lh $t6, 0x20($v0) -/* 09AAE8 7F065FB8 02202025 */ move $a0, $s1 -/* 09AAEC 7F065FBC 01AE082A */ slt $at, $t5, $t6 -/* 09AAF0 7F065FC0 14200005 */ bnez $at, .L7F065FD8 -/* 09AAF4 7F065FC4 00000000 */ nop -/* 09AAF8 7F065FC8 0FC1782D */ jal check_special_attributes -/* 09AAFC 7F065FCC 3C050020 */ lui $a1, 0x20 -/* 09AB00 7F065FD0 50400008 */ beql $v0, $zero, .L7F065FF4 -/* 09AB04 7F065FD4 AE000024 */ sw $zero, 0x24($s0) -.L7F065FD8: -/* 09AB08 7F065FD8 0FC1A4DD */ jal get_ammo_in_hands_weapon -/* 09AB0C 7F065FDC 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09AB10 7F065FE0 18400003 */ blez $v0, .L7F065FF0 -/* 09AB14 7F065FE4 2402000A */ li $v0, 10 -/* 09AB18 7F065FE8 10000005 */ b .L7F066000 -/* 09AB1C 7F065FEC AE020024 */ sw $v0, 0x24($s0) -.L7F065FF0: -/* 09AB20 7F065FF0 AE000024 */ sw $zero, 0x24($s0) -.L7F065FF4: -/* 09AB24 7F065FF4 AE000020 */ sw $zero, 0x20($s0) -/* 09AB28 7F065FF8 AE00001C */ sw $zero, 0x1c($s0) -/* 09AB2C 7F065FFC 00001025 */ move $v0, $zero -.L7F066000: -/* 09AB30 7F066000 2401000A */ li $at, 10 -.L7F066004: -/* 09AB34 7F066004 54410048 */ bnel $v0, $at, .L7F066128 -/* 09AB38 7F066008 2401000B */ li $at, 11 -/* 09AB3C 7F06600C 8E030020 */ lw $v1, 0x20($s0) -/* 09AB40 7F066010 2402000B */ li $v0, 11 -/* 09AB44 7F066014 24180011 */ li $t8, 17 -/* 09AB48 7F066018 28610010 */ slti $at, $v1, 0x10 -/* 09AB4C 7F06601C 50200005 */ beql $at, $zero, .L7F066034 -/* 09AB50 7F066020 AE020024 */ sw $v0, 0x24($s0) -/* 09AB54 7F066024 8219000F */ lb $t9, 0xf($s0) -/* 09AB58 7F066028 57200007 */ bnezl $t9, .L7F066048 -/* 09AB5C 7F06602C 44833000 */ mtc1 $v1, $f6 -/* 09AB60 7F066030 AE020024 */ sw $v0, 0x24($s0) -.L7F066034: -/* 09AB64 7F066034 AE180040 */ sw $t8, 0x40($s0) -/* 09AB68 7F066038 AE000020 */ sw $zero, 0x20($s0) -/* 09AB6C 7F06603C 10000039 */ b .L7F066124 -/* 09AB70 7F066040 AE00001C */ sw $zero, 0x1c($s0) -/* 09AB74 7F066044 44833000 */ mtc1 $v1, $f6 -.L7F066048: -/* 09AB78 7F066048 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 09AB7C 7F06604C 44811000 */ mtc1 $at, $f2 -/* 09AB80 7F066050 468032A0 */ cvt.s.w $f10, $f6 -/* 09AB84 7F066054 3C018005 */ lui $at, %hi(D_80054290) -/* 09AB88 7F066058 C4244290 */ lwc1 $f4, %lo(D_80054290)($at) -/* 09AB8C 7F06605C 240C0001 */ li $t4, 1 -/* 09AB90 7F066060 2605007C */ addiu $a1, $s0, 0x7c -/* 09AB94 7F066064 46045202 */ mul.s $f8, $f10, $f4 -/* 09AB98 7F066068 46024183 */ div.s $f6, $f8, $f2 -/* 09AB9C 7F06606C E7A60128 */ swc1 $f6, 0x128($sp) -/* 09ABA0 7F066070 AE0C00BC */ sw $t4, 0xbc($s0) -/* 09ABA4 7F066074 8FAD01D0 */ lw $t5, 0x1d0($sp) -/* 09ABA8 7F066078 55A00009 */ bnezl $t5, .L7F0660A0 -/* 09ABAC 7F06607C 44802000 */ mtc1 $zero, $f4 -/* 09ABB0 7F066080 44805000 */ mtc1 $zero, $f10 -/* 09ABB4 7F066084 AFA50030 */ sw $a1, 0x30($sp) -/* 09ABB8 7F066088 46025303 */ div.s $f12, $f10, $f2 -/* 09ABBC 7F06608C 0FC161A2 */ jal sub_GAME_7F058688 -/* 09ABC0 7F066090 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 09ABC4 7F066094 10000008 */ b .L7F0660B8 -/* 09ABC8 7F066098 C7AC0128 */ lwc1 $f12, 0x128($sp) -/* 09ABCC 7F06609C 44802000 */ mtc1 $zero, $f4 -.L7F0660A0: -/* 09ABD0 7F0660A0 AFA50030 */ sw $a1, 0x30($sp) -/* 09ABD4 7F0660A4 46022003 */ div.s $f0, $f4, $f2 -/* 09ABD8 7F0660A8 46000307 */ neg.s $f12, $f0 -/* 09ABDC 7F0660AC 0FC161A2 */ jal sub_GAME_7F058688 -/* 09ABE0 7F0660B0 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 09ABE4 7F0660B4 C7AC0128 */ lwc1 $f12, 0x128($sp) -.L7F0660B8: -/* 09ABE8 7F0660B8 0FC1615C */ jal sub_GAME_7F058570 -/* 09ABEC 7F0660BC 27A5012C */ addiu $a1, $sp, 0x12c -/* 09ABF0 7F0660C0 27A4012C */ addiu $a0, $sp, 0x12c -/* 09ABF4 7F0660C4 0FC1601A */ jal sub_GAME_7F058068 -/* 09ABF8 7F0660C8 8FA50030 */ lw $a1, 0x30($sp) -/* 09ABFC 7F0660CC 0FC15FAB */ jal sinf -/* 09AC00 7F0660D0 C7AC003C */ lwc1 $f12, 0x3c($sp) -/* 09AC04 7F0660D4 44804000 */ mtc1 $zero, $f8 -/* 09AC08 7F0660D8 02202025 */ move $a0, $s1 -/* 09AC0C 7F0660DC 0FC1926B */ jal sub_GAME_7F0649AC -/* 09AC10 7F0660E0 E60800AC */ swc1 $f8, 0xac($s0) -/* 09AC14 7F0660E4 E7A00040 */ swc1 $f0, 0x40($sp) -/* 09AC18 7F0660E8 0FC15FA8 */ jal cosf -/* 09AC1C 7F0660EC C7AC0128 */ lwc1 $f12, 0x128($sp) -/* 09AC20 7F0660F0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09AC24 7F0660F4 44813000 */ mtc1 $at, $f6 -/* 09AC28 7F0660F8 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 09AC2C 7F0660FC 46003281 */ sub.s $f10, $f6, $f0 -/* 09AC30 7F066100 46045202 */ mul.s $f8, $f10, $f4 -/* 09AC34 7F066104 E60800B0 */ swc1 $f8, 0xb0($s0) -/* 09AC38 7F066108 0FC15FAB */ jal sinf -/* 09AC3C 7F06610C C7AC0128 */ lwc1 $f12, 0x128($sp) -/* 09AC40 7F066110 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09AC44 7F066114 44813000 */ mtc1 $at, $f6 -/* 09AC48 7F066118 8E020024 */ lw $v0, 0x24($s0) -/* 09AC4C 7F06611C 46060282 */ mul.s $f10, $f0, $f6 -/* 09AC50 7F066120 E60A00B4 */ swc1 $f10, 0xb4($s0) -.L7F066124: -/* 09AC54 7F066124 2401000B */ li $at, 11 -.L7F066128: -/* 09AC58 7F066128 54410063 */ bnel $v0, $at, .L7F0662B8 -/* 09AC5C 7F06612C 2401000C */ li $at, 12 -/* 09AC60 7F066130 8E0E001C */ lw $t6, 0x1c($s0) -/* 09AC64 7F066134 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 09AC68 7F066138 55C00022 */ bnezl $t6, .L7F0661C4 -/* 09AC6C 7F06613C 8E0C0020 */ lw $t4, 0x20($s0) -/* 09AC70 7F066140 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 09AC74 7F066144 24010001 */ li $at, 1 -/* 09AC78 7F066148 8DF90000 */ lw $t9, ($t7) -/* 09AC7C 7F06614C 5321001D */ beql $t9, $at, .L7F0661C4 -/* 09AC80 7F066150 8E0C0020 */ lw $t4, 0x20($s0) -/* 09AC84 7F066154 0FC173AF */ jal sub_GAME_7F05CEBC -/* 09AC88 7F066158 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09AC8C 7F06615C 10400018 */ beqz $v0, .L7F0661C0 -/* 09AC90 7F066160 3C0B8003 */ lui $t3, %hi(disable_player_pickups_flag) -/* 09AC94 7F066164 8D6B64B4 */ lw $t3, %lo(disable_player_pickups_flag)($t3) -/* 09AC98 7F066168 2A21003E */ slti $at, $s1, 0x3e -/* 09AC9C 7F06616C 55600015 */ bnezl $t3, .L7F0661C4 -/* 09ACA0 7F066170 8E0C0020 */ lw $t4, 0x20($s0) -/* 09ACA4 7F066174 14200005 */ bnez $at, .L7F06618C -/* 09ACA8 7F066178 24010058 */ li $at, 88 -/* 09ACAC 7F06617C 52210011 */ beql $s1, $at, .L7F0661C4 -/* 09ACB0 7F066180 8E0C0020 */ lw $t4, 0x20($s0) -/* 09ACB4 7F066184 10000009 */ b .L7F0661AC -/* 09ACB8 7F066188 00000000 */ nop -.L7F06618C: -/* 09ACBC 7F06618C 2E21003E */ sltiu $at, $s1, 0x3e -/* 09ACC0 7F066190 10200006 */ beqz $at, .L7F0661AC -/* 09ACC4 7F066194 0011C080 */ sll $t8, $s1, 2 -/* 09ACC8 7F066198 3C018005 */ lui $at, %hi(jpt_80054294) -/* 09ACCC 7F06619C 00380821 */ addu $at, $at, $t8 -/* 09ACD0 7F0661A0 8C384294 */ lw $t8, %lo(jpt_80054294)($at) -/* 09ACD4 7F0661A4 03000008 */ jr $t8 -/* 09ACD8 7F0661A8 00000000 */ nop -weapon_reload_gun_sfx: -.L7F0661AC: -/* 09ACDC 7F0661AC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09ACE0 7F0661B0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09ACE4 7F0661B4 24050032 */ li $a1, 50 -/* 09ACE8 7F0661B8 0C002382 */ jal play_sfx_a1 -/* 09ACEC 7F0661BC 00003025 */ move $a2, $zero -weapon_reload_none_sfx: -.L7F0661C0: -/* 09ACF0 7F0661C0 8E0C0020 */ lw $t4, 0x20($s0) -.L7F0661C4: -/* 09ACF4 7F0661C4 8E0D0040 */ lw $t5, 0x40($s0) -/* 09ACF8 7F0661C8 24190001 */ li $t9, 1 -/* 09ACFC 7F0661CC 018D082A */ slt $at, $t4, $t5 -/* 09AD00 7F0661D0 5420000B */ bnezl $at, .L7F066200 -/* 09AD04 7F0661D4 AE1900BC */ sw $t9, 0xbc($s0) -/* 09AD08 7F0661D8 8E0E001C */ lw $t6, 0x1c($s0) -/* 09AD0C 7F0661DC 2402000C */ li $v0, 12 -/* 09AD10 7F0661E0 29C10002 */ slti $at, $t6, 2 -/* 09AD14 7F0661E4 54200006 */ bnezl $at, .L7F066200 -/* 09AD18 7F0661E8 AE1900BC */ sw $t9, 0xbc($s0) -/* 09AD1C 7F0661EC AE020024 */ sw $v0, 0x24($s0) -/* 09AD20 7F0661F0 AE000020 */ sw $zero, 0x20($s0) -/* 09AD24 7F0661F4 1000002F */ b .L7F0662B4 -/* 09AD28 7F0661F8 AE00001C */ sw $zero, 0x1c($s0) -/* 09AD2C 7F0661FC AE1900BC */ sw $t9, 0xbc($s0) -.L7F066200: -/* 09AD30 7F066200 8FAB01D0 */ lw $t3, 0x1d0($sp) -/* 09AD34 7F066204 2605007C */ addiu $a1, $s0, 0x7c -/* 09AD38 7F066208 55600007 */ bnezl $t3, .L7F066228 -/* 09AD3C 7F06620C 44806000 */ mtc1 $zero, $f12 -/* 09AD40 7F066210 44806000 */ mtc1 $zero, $f12 -/* 09AD44 7F066214 0FC161A2 */ jal sub_GAME_7F058688 -/* 09AD48 7F066218 AFA50030 */ sw $a1, 0x30($sp) -/* 09AD4C 7F06621C 10000005 */ b .L7F066234 -/* 09AD50 7F066220 00000000 */ nop -/* 09AD54 7F066224 44806000 */ mtc1 $zero, $f12 -.L7F066228: -/* 09AD58 7F066228 AFA50030 */ sw $a1, 0x30($sp) -/* 09AD5C 7F06622C 0FC161A2 */ jal sub_GAME_7F058688 -/* 09AD60 7F066230 46006307 */ neg.s $f12, $f12 -.L7F066234: -/* 09AD64 7F066234 3C018005 */ lui $at, %hi(D_8005438C) -/* 09AD68 7F066238 C42C438C */ lwc1 $f12, %lo(D_8005438C)($at) -/* 09AD6C 7F06623C 0FC1615C */ jal sub_GAME_7F058570 -/* 09AD70 7F066240 27A500E4 */ addiu $a1, $sp, 0xe4 -/* 09AD74 7F066244 27A400E4 */ addiu $a0, $sp, 0xe4 -/* 09AD78 7F066248 0FC1601A */ jal sub_GAME_7F058068 -/* 09AD7C 7F06624C 8FA50030 */ lw $a1, 0x30($sp) -/* 09AD80 7F066250 44806000 */ mtc1 $zero, $f12 -/* 09AD84 7F066254 0FC15FAB */ jal sinf -/* 09AD88 7F066258 00000000 */ nop -/* 09AD8C 7F06625C 44802000 */ mtc1 $zero, $f4 -/* 09AD90 7F066260 02202025 */ move $a0, $s1 -/* 09AD94 7F066264 0FC1926B */ jal sub_GAME_7F0649AC -/* 09AD98 7F066268 E60400AC */ swc1 $f4, 0xac($s0) -/* 09AD9C 7F06626C 3C018005 */ lui $at, %hi(D_80054390) -/* 09ADA0 7F066270 C42C4390 */ lwc1 $f12, %lo(D_80054390)($at) -/* 09ADA4 7F066274 0FC15FA8 */ jal cosf -/* 09ADA8 7F066278 E7A00040 */ swc1 $f0, 0x40($sp) -/* 09ADAC 7F06627C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09ADB0 7F066280 44814000 */ mtc1 $at, $f8 -/* 09ADB4 7F066284 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 09ADB8 7F066288 3C018005 */ lui $at, %hi(D_80054394) -/* 09ADBC 7F06628C 46004181 */ sub.s $f6, $f8, $f0 -/* 09ADC0 7F066290 460A3102 */ mul.s $f4, $f6, $f10 -/* 09ADC4 7F066294 E60400B0 */ swc1 $f4, 0xb0($s0) -/* 09ADC8 7F066298 0FC15FAB */ jal sinf -/* 09ADCC 7F06629C C42C4394 */ lwc1 $f12, %lo(D_80054394)($at) -/* 09ADD0 7F0662A0 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09ADD4 7F0662A4 44814000 */ mtc1 $at, $f8 -/* 09ADD8 7F0662A8 8E020024 */ lw $v0, 0x24($s0) -/* 09ADDC 7F0662AC 46080182 */ mul.s $f6, $f0, $f8 -/* 09ADE0 7F0662B0 E60600B4 */ swc1 $f6, 0xb4($s0) -.L7F0662B4: -/* 09ADE4 7F0662B4 2401000C */ li $at, 12 -.L7F0662B8: -/* 09ADE8 7F0662B8 5441005A */ bnel $v0, $at, .L7F066424 -/* 09ADEC 7F0662BC 2401000E */ li $at, 14 -/* 09ADF0 7F0662C0 8E18001C */ lw $t8, 0x1c($s0) -/* 09ADF4 7F0662C4 57000007 */ bnezl $t8, .L7F0662E4 -/* 09ADF8 7F0662C8 8E0D0020 */ lw $t5, 0x20($s0) -/* 09ADFC 7F0662CC 0FC19276 */ jal sub_GAME_7F0649D8 -/* 09AE00 7F0662D0 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09AE04 7F0662D4 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 09AE08 7F0662D8 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 09AE0C 7F0662DC AD800FC8 */ sw $zero, 0xfc8($t4) -/* 09AE10 7F0662E0 8E0D0020 */ lw $t5, 0x20($s0) -.L7F0662E4: -/* 09AE14 7F0662E4 29A10017 */ slti $at, $t5, 0x17 -/* 09AE18 7F0662E8 5020000E */ beql $at, $zero, .L7F066324 -/* 09AE1C 7F0662EC AE000024 */ sw $zero, 0x24($s0) -/* 09AE20 7F0662F0 0FC17412 */ jal get_ptr_weapon_model_header_line -/* 09AE24 7F0662F4 02202025 */ move $a0, $s1 -/* 09AE28 7F0662F8 10400009 */ beqz $v0, .L7F066320 -/* 09AE2C 7F0662FC 02202025 */ move $a0, $s1 -/* 09AE30 7F066300 0FC1782D */ jal check_special_attributes -/* 09AE34 7F066304 24050800 */ li $a1, 2048 -/* 09AE38 7F066308 10400005 */ beqz $v0, .L7F066320 -/* 09AE3C 7F06630C 02202025 */ move $a0, $s1 -/* 09AE40 7F066310 0FC1782D */ jal check_special_attributes -/* 09AE44 7F066314 24052000 */ li $a1, 8192 -/* 09AE48 7F066318 50400007 */ beql $v0, $zero, .L7F066338 -/* 09AE4C 7F06631C 8E0E0020 */ lw $t6, 0x20($s0) -.L7F066320: -/* 09AE50 7F066320 AE000024 */ sw $zero, 0x24($s0) -.L7F066324: -/* 09AE54 7F066324 AE000020 */ sw $zero, 0x20($s0) -/* 09AE58 7F066328 AE00001C */ sw $zero, 0x1c($s0) -/* 09AE5C 7F06632C 1000003C */ b .L7F066420 -/* 09AE60 7F066330 00001025 */ move $v0, $zero -/* 09AE64 7F066334 8E0E0020 */ lw $t6, 0x20($s0) -.L7F066338: -/* 09AE68 7F066338 240F0017 */ li $t7, 23 -/* 09AE6C 7F06633C 3C0141B8 */ li $at, 0x41B80000 # 23.000000 -/* 09AE70 7F066340 01EEC823 */ subu $t9, $t7, $t6 -/* 09AE74 7F066344 44995000 */ mtc1 $t9, $f10 -/* 09AE78 7F066348 44811000 */ mtc1 $at, $f2 -/* 09AE7C 7F06634C 3C018005 */ lui $at, %hi(D_80054398) -/* 09AE80 7F066350 46805120 */ cvt.s.w $f4, $f10 -/* 09AE84 7F066354 C4284398 */ lwc1 $f8, %lo(D_80054398)($at) -/* 09AE88 7F066358 240B0001 */ li $t3, 1 -/* 09AE8C 7F06635C 2605007C */ addiu $a1, $s0, 0x7c -/* 09AE90 7F066360 46082182 */ mul.s $f6, $f4, $f8 -/* 09AE94 7F066364 46023283 */ div.s $f10, $f6, $f2 -/* 09AE98 7F066368 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 09AE9C 7F06636C AE0B00BC */ sw $t3, 0xbc($s0) -/* 09AEA0 7F066370 8FB801D0 */ lw $t8, 0x1d0($sp) -/* 09AEA4 7F066374 57000009 */ bnezl $t8, .L7F06639C -/* 09AEA8 7F066378 44804000 */ mtc1 $zero, $f8 -/* 09AEAC 7F06637C 44802000 */ mtc1 $zero, $f4 -/* 09AEB0 7F066380 AFA50030 */ sw $a1, 0x30($sp) -/* 09AEB4 7F066384 46022303 */ div.s $f12, $f4, $f2 -/* 09AEB8 7F066388 0FC161A2 */ jal sub_GAME_7F058688 -/* 09AEBC 7F06638C E7AC003C */ swc1 $f12, 0x3c($sp) -/* 09AEC0 7F066390 10000008 */ b .L7F0663B4 -/* 09AEC4 7F066394 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 09AEC8 7F066398 44804000 */ mtc1 $zero, $f8 -.L7F06639C: -/* 09AECC 7F06639C AFA50030 */ sw $a1, 0x30($sp) -/* 09AED0 7F0663A0 46024003 */ div.s $f0, $f8, $f2 -/* 09AED4 7F0663A4 46000307 */ neg.s $f12, $f0 -/* 09AED8 7F0663A8 0FC161A2 */ jal sub_GAME_7F058688 -/* 09AEDC 7F0663AC E7A0003C */ swc1 $f0, 0x3c($sp) -/* 09AEE0 7F0663B0 C7AC0098 */ lwc1 $f12, 0x98($sp) -.L7F0663B4: -/* 09AEE4 7F0663B4 0FC1615C */ jal sub_GAME_7F058570 -/* 09AEE8 7F0663B8 27A5009C */ addiu $a1, $sp, 0x9c -/* 09AEEC 7F0663BC 27A4009C */ addiu $a0, $sp, 0x9c -/* 09AEF0 7F0663C0 0FC1601A */ jal sub_GAME_7F058068 -/* 09AEF4 7F0663C4 8FA50030 */ lw $a1, 0x30($sp) -/* 09AEF8 7F0663C8 0FC15FAB */ jal sinf -/* 09AEFC 7F0663CC C7AC003C */ lwc1 $f12, 0x3c($sp) -/* 09AF00 7F0663D0 44803000 */ mtc1 $zero, $f6 -/* 09AF04 7F0663D4 02202025 */ move $a0, $s1 -/* 09AF08 7F0663D8 0FC1926B */ jal sub_GAME_7F0649AC -/* 09AF0C 7F0663DC E60600AC */ swc1 $f6, 0xac($s0) -/* 09AF10 7F0663E0 E7A00040 */ swc1 $f0, 0x40($sp) -/* 09AF14 7F0663E4 0FC15FA8 */ jal cosf -/* 09AF18 7F0663E8 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 09AF1C 7F0663EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09AF20 7F0663F0 44815000 */ mtc1 $at, $f10 -/* 09AF24 7F0663F4 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 09AF28 7F0663F8 46005101 */ sub.s $f4, $f10, $f0 -/* 09AF2C 7F0663FC 46082182 */ mul.s $f6, $f4, $f8 -/* 09AF30 7F066400 E60600B0 */ swc1 $f6, 0xb0($s0) -/* 09AF34 7F066404 0FC15FAB */ jal sinf -/* 09AF38 7F066408 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 09AF3C 7F06640C 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09AF40 7F066410 44815000 */ mtc1 $at, $f10 -/* 09AF44 7F066414 8E020024 */ lw $v0, 0x24($s0) -/* 09AF48 7F066418 460A0102 */ mul.s $f4, $f0, $f10 -/* 09AF4C 7F06641C E60400B4 */ swc1 $f4, 0xb4($s0) -.L7F066420: -/* 09AF50 7F066420 2401000E */ li $at, 14 -.L7F066424: -/* 09AF54 7F066424 5441002E */ bnel $v0, $at, .L7F0664E0 -/* 09AF58 7F066428 2401000F */ li $at, 15 -/* 09AF5C 7F06642C 8E030020 */ lw $v1, 0x20($s0) -/* 09AF60 7F066430 2402000F */ li $v0, 15 -/* 09AF64 7F066434 28610010 */ slti $at, $v1, 0x10 -/* 09AF68 7F066438 50200005 */ beql $at, $zero, .L7F066450 -/* 09AF6C 7F06643C AE020024 */ sw $v0, 0x24($s0) -/* 09AF70 7F066440 820C000F */ lb $t4, 0xf($s0) -/* 09AF74 7F066444 55800006 */ bnezl $t4, .L7F066460 -/* 09AF78 7F066448 44834000 */ mtc1 $v1, $f8 -/* 09AF7C 7F06644C AE020024 */ sw $v0, 0x24($s0) -.L7F066450: -/* 09AF80 7F066450 AE000020 */ sw $zero, 0x20($s0) -/* 09AF84 7F066454 10000021 */ b .L7F0664DC -/* 09AF88 7F066458 AE00001C */ sw $zero, 0x1c($s0) -/* 09AF8C 7F06645C 44834000 */ mtc1 $v1, $f8 -.L7F066460: -/* 09AF90 7F066460 3C018005 */ lui $at, %hi(D_8005439C) -/* 09AF94 7F066464 C42A439C */ lwc1 $f10, %lo(D_8005439C)($at) -/* 09AF98 7F066468 468041A0 */ cvt.s.w $f6, $f8 -/* 09AF9C 7F06646C 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 09AFA0 7F066470 44814000 */ mtc1 $at, $f8 -/* 09AFA4 7F066474 240F0001 */ li $t7, 1 -/* 09AFA8 7F066478 AE0F00BC */ sw $t7, 0xbc($s0) -/* 09AFAC 7F06647C 2605007C */ addiu $a1, $s0, 0x7c -/* 09AFB0 7F066480 460A3102 */ mul.s $f4, $f6, $f10 -/* 09AFB4 7F066484 46082303 */ div.s $f12, $f4, $f8 -/* 09AFB8 7F066488 0FC1615C */ jal sub_GAME_7F058570 -/* 09AFBC 7F06648C E7AC0094 */ swc1 $f12, 0x94($sp) -/* 09AFC0 7F066490 44803000 */ mtc1 $zero, $f6 -/* 09AFC4 7F066494 00000000 */ nop -/* 09AFC8 7F066498 E60600AC */ swc1 $f6, 0xac($s0) -/* 09AFCC 7F06649C 0FC15FA8 */ jal cosf -/* 09AFD0 7F0664A0 C7AC0094 */ lwc1 $f12, 0x94($sp) -/* 09AFD4 7F0664A4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09AFD8 7F0664A8 44815000 */ mtc1 $at, $f10 -/* 09AFDC 7F0664AC 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09AFE0 7F0664B0 44814000 */ mtc1 $at, $f8 -/* 09AFE4 7F0664B4 46005101 */ sub.s $f4, $f10, $f0 -/* 09AFE8 7F0664B8 46082182 */ mul.s $f6, $f4, $f8 -/* 09AFEC 7F0664BC E60600B0 */ swc1 $f6, 0xb0($s0) -/* 09AFF0 7F0664C0 0FC15FAB */ jal sinf -/* 09AFF4 7F0664C4 C7AC0094 */ lwc1 $f12, 0x94($sp) -/* 09AFF8 7F0664C8 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09AFFC 7F0664CC 44815000 */ mtc1 $at, $f10 -/* 09B000 7F0664D0 8E020024 */ lw $v0, 0x24($s0) -/* 09B004 7F0664D4 460A0102 */ mul.s $f4, $f0, $f10 -/* 09B008 7F0664D8 E60400B4 */ swc1 $f4, 0xb4($s0) -.L7F0664DC: -/* 09B00C 7F0664DC 2401000F */ li $at, 15 -.L7F0664E0: -/* 09B010 7F0664E0 54410031 */ bnel $v0, $at, .L7F0665A8 -/* 09B014 7F0664E4 24010010 */ li $at, 16 -/* 09B018 7F0664E8 8E0E001C */ lw $t6, 0x1c($s0) -/* 09B01C 7F0664EC 51C00006 */ beql $t6, $zero, .L7F066508 -/* 09B020 7F0664F0 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09B024 7F0664F4 0FC173AF */ jal sub_GAME_7F05CEBC -/* 09B028 7F0664F8 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09B02C 7F0664FC 14400007 */ bnez $v0, .L7F06651C -/* 09B030 7F066500 00000000 */ nop -/* 09B034 7F066504 8FA401D0 */ lw $a0, 0x1d0($sp) -.L7F066508: -/* 09B038 7F066508 0FC176A3 */ jal sub_GAME_7F05DA8C -/* 09B03C 7F06650C 8E05003C */ lw $a1, 0x3c($s0) -/* 09B040 7F066510 0FC17691 */ jal return_ammo_in_hand -/* 09B044 7F066514 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09B048 7F066518 00408825 */ move $s1, $v0 -.L7F06651C: -/* 09B04C 7F06651C 0FC173AF */ jal sub_GAME_7F05CEBC -/* 09B050 7F066520 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09B054 7F066524 10400006 */ beqz $v0, .L7F066540 -/* 09B058 7F066528 240B0001 */ li $t3, 1 -/* 09B05C 7F06652C 24020010 */ li $v0, 16 -/* 09B060 7F066530 AE020024 */ sw $v0, 0x24($s0) -/* 09B064 7F066534 AE000020 */ sw $zero, 0x20($s0) -/* 09B068 7F066538 1000001A */ b .L7F0665A4 -/* 09B06C 7F06653C AE00001C */ sw $zero, 0x1c($s0) -.L7F066540: -/* 09B070 7F066540 AE0B00BC */ sw $t3, 0xbc($s0) -/* 09B074 7F066544 3C018005 */ lui $at, %hi(D_800543A0) -/* 09B078 7F066548 C42C43A0 */ lwc1 $f12, %lo(D_800543A0)($at) -/* 09B07C 7F06654C 0FC1615C */ jal sub_GAME_7F058570 -/* 09B080 7F066550 2605007C */ addiu $a1, $s0, 0x7c -/* 09B084 7F066554 44804000 */ mtc1 $zero, $f8 -/* 09B088 7F066558 3C018005 */ lui $at, %hi(D_800543A4) -/* 09B08C 7F06655C E60800AC */ swc1 $f8, 0xac($s0) -/* 09B090 7F066560 0FC15FA8 */ jal cosf -/* 09B094 7F066564 C42C43A4 */ lwc1 $f12, %lo(D_800543A4)($at) -/* 09B098 7F066568 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B09C 7F06656C 44813000 */ mtc1 $at, $f6 -/* 09B0A0 7F066570 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09B0A4 7F066574 44812000 */ mtc1 $at, $f4 -/* 09B0A8 7F066578 46003281 */ sub.s $f10, $f6, $f0 -/* 09B0AC 7F06657C 3C018005 */ lui $at, %hi(D_800543A8) -/* 09B0B0 7F066580 46045202 */ mul.s $f8, $f10, $f4 -/* 09B0B4 7F066584 E60800B0 */ swc1 $f8, 0xb0($s0) -/* 09B0B8 7F066588 0FC15FAB */ jal sinf -/* 09B0BC 7F06658C C42C43A8 */ lwc1 $f12, %lo(D_800543A8)($at) -/* 09B0C0 7F066590 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B0C4 7F066594 44813000 */ mtc1 $at, $f6 -/* 09B0C8 7F066598 8E020024 */ lw $v0, 0x24($s0) -/* 09B0CC 7F06659C 46060282 */ mul.s $f10, $f0, $f6 -/* 09B0D0 7F0665A0 E60A00B4 */ swc1 $f10, 0xb4($s0) -.L7F0665A4: -/* 09B0D4 7F0665A4 24010010 */ li $at, 16 -.L7F0665A8: -/* 09B0D8 7F0665A8 5441004C */ bnel $v0, $at, .L7F0666DC -/* 09B0DC 7F0665AC 24010011 */ li $at, 17 -/* 09B0E0 7F0665B0 8E18001C */ lw $t8, 0x1c($s0) -/* 09B0E4 7F0665B4 2A210021 */ slti $at, $s1, 0x21 -/* 09B0E8 7F0665B8 57000010 */ bnezl $t8, .L7F0665FC -/* 09B0EC 7F0665BC 8E0D0020 */ lw $t5, 0x20($s0) -/* 09B0F0 7F0665C0 5020000E */ beql $at, $zero, .L7F0665FC -/* 09B0F4 7F0665C4 8E0D0020 */ lw $t5, 0x20($s0) -/* 09B0F8 7F0665C8 0FC26919 */ jal get_num_players -/* 09B0FC 7F0665CC 00000000 */ nop -/* 09B100 7F0665D0 28410002 */ slti $at, $v0, 2 -/* 09B104 7F0665D4 14200003 */ bnez $at, .L7F0665E4 -/* 09B108 7F0665D8 00000000 */ nop -/* 09B10C 7F0665DC 0FC26CE6 */ jal sub_GAME_7F09B398 -/* 09B110 7F0665E0 8FA401D0 */ lw $a0, 0x1d0($sp) -.L7F0665E4: -/* 09B114 7F0665E4 0FC19276 */ jal sub_GAME_7F0649D8 -/* 09B118 7F0665E8 8FA401D0 */ lw $a0, 0x1d0($sp) -/* 09B11C 7F0665EC 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 09B120 7F0665F0 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 09B124 7F0665F4 AD800FC8 */ sw $zero, 0xfc8($t4) -/* 09B128 7F0665F8 8E0D0020 */ lw $t5, 0x20($s0) -.L7F0665FC: -/* 09B12C 7F0665FC 29A10017 */ slti $at, $t5, 0x17 -/* 09B130 7F066600 5020000E */ beql $at, $zero, .L7F06663C -/* 09B134 7F066604 AE000024 */ sw $zero, 0x24($s0) -/* 09B138 7F066608 0FC17412 */ jal get_ptr_weapon_model_header_line -/* 09B13C 7F06660C 02202025 */ move $a0, $s1 -/* 09B140 7F066610 10400009 */ beqz $v0, .L7F066638 -/* 09B144 7F066614 02202025 */ move $a0, $s1 -/* 09B148 7F066618 0FC1782D */ jal check_special_attributes -/* 09B14C 7F06661C 24050800 */ li $a1, 2048 -/* 09B150 7F066620 10400005 */ beqz $v0, .L7F066638 -/* 09B154 7F066624 02202025 */ move $a0, $s1 -/* 09B158 7F066628 0FC1782D */ jal check_special_attributes -/* 09B15C 7F06662C 24052000 */ li $a1, 8192 -/* 09B160 7F066630 50400007 */ beql $v0, $zero, .L7F066650 -/* 09B164 7F066634 8E0F0020 */ lw $t7, 0x20($s0) -.L7F066638: -/* 09B168 7F066638 AE000024 */ sw $zero, 0x24($s0) -.L7F06663C: -/* 09B16C 7F06663C AE000020 */ sw $zero, 0x20($s0) -/* 09B170 7F066640 AE00001C */ sw $zero, 0x1c($s0) -/* 09B174 7F066644 10000024 */ b .L7F0666D8 -/* 09B178 7F066648 00001025 */ move $v0, $zero -/* 09B17C 7F06664C 8E0F0020 */ lw $t7, 0x20($s0) -.L7F066650: -/* 09B180 7F066650 240E0017 */ li $t6, 23 -/* 09B184 7F066654 3C018005 */ lui $at, %hi(D_800543AC) -/* 09B188 7F066658 01CFC823 */ subu $t9, $t6, $t7 -/* 09B18C 7F06665C 44992000 */ mtc1 $t9, $f4 -/* 09B190 7F066660 C42643AC */ lwc1 $f6, %lo(D_800543AC)($at) -/* 09B194 7F066664 3C0141B8 */ li $at, 0x41B80000 # 23.000000 -/* 09B198 7F066668 46802220 */ cvt.s.w $f8, $f4 -/* 09B19C 7F06666C 44812000 */ mtc1 $at, $f4 -/* 09B1A0 7F066670 240B0001 */ li $t3, 1 -/* 09B1A4 7F066674 AE0B00BC */ sw $t3, 0xbc($s0) -/* 09B1A8 7F066678 2605007C */ addiu $a1, $s0, 0x7c -/* 09B1AC 7F06667C 46064282 */ mul.s $f10, $f8, $f6 -/* 09B1B0 7F066680 46045303 */ div.s $f12, $f10, $f4 -/* 09B1B4 7F066684 0FC1615C */ jal sub_GAME_7F058570 -/* 09B1B8 7F066688 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 09B1BC 7F06668C 44804000 */ mtc1 $zero, $f8 -/* 09B1C0 7F066690 00000000 */ nop -/* 09B1C4 7F066694 E60800AC */ swc1 $f8, 0xac($s0) -/* 09B1C8 7F066698 0FC15FA8 */ jal cosf -/* 09B1CC 7F06669C C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 09B1D0 7F0666A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B1D4 7F0666A4 44813000 */ mtc1 $at, $f6 -/* 09B1D8 7F0666A8 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09B1DC 7F0666AC 44812000 */ mtc1 $at, $f4 -/* 09B1E0 7F0666B0 46003281 */ sub.s $f10, $f6, $f0 -/* 09B1E4 7F0666B4 46045202 */ mul.s $f8, $f10, $f4 -/* 09B1E8 7F0666B8 E60800B0 */ swc1 $f8, 0xb0($s0) -/* 09B1EC 7F0666BC 0FC15FAB */ jal sinf -/* 09B1F0 7F0666C0 C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 09B1F4 7F0666C4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B1F8 7F0666C8 44813000 */ mtc1 $at, $f6 -/* 09B1FC 7F0666CC 8E020024 */ lw $v0, 0x24($s0) -/* 09B200 7F0666D0 46060282 */ mul.s $f10, $f0, $f6 -/* 09B204 7F0666D4 E60A00B4 */ swc1 $f10, 0xb4($s0) -.L7F0666D8: -/* 09B208 7F0666D8 24010011 */ li $at, 17 -.L7F0666DC: -/* 09B20C 7F0666DC 1041000B */ beq $v0, $at, .L7F06670C -/* 09B210 7F0666E0 24010012 */ li $at, 18 -/* 09B214 7F0666E4 10410009 */ beq $v0, $at, .L7F06670C -/* 09B218 7F0666E8 24040013 */ li $a0, 19 -/* 09B21C 7F0666EC 10820007 */ beq $a0, $v0, .L7F06670C -/* 09B220 7F0666F0 24010014 */ li $at, 20 -/* 09B224 7F0666F4 10410005 */ beq $v0, $at, .L7F06670C -/* 09B228 7F0666F8 24010015 */ li $at, 21 -/* 09B22C 7F0666FC 10410003 */ beq $v0, $at, .L7F06670C -/* 09B230 7F066700 24010016 */ li $at, 22 -/* 09B234 7F066704 54410056 */ bnel $v0, $at, .L7F066860 -/* 09B238 7F066708 2401001E */ li $at, 30 -.L7F06670C: -/* 09B23C 7F06670C 8E030020 */ lw $v1, 0x20($s0) -/* 09B240 7F066710 2618007C */ addiu $t8, $s0, 0x7c -/* 09B244 7F066714 24010011 */ li $at, 17 -/* 09B248 7F066718 44832000 */ mtc1 $v1, $f4 -/* 09B24C 7F06671C 24040013 */ li $a0, 19 -/* 09B250 7F066720 AFB80030 */ sw $t8, 0x30($sp) -/* 09B254 7F066724 46802220 */ cvt.s.w $f8, $f4 -/* 09B258 7F066728 10410003 */ beq $v0, $at, .L7F066738 -/* 09B25C 7F06672C E7A80088 */ swc1 $f8, 0x88($sp) -/* 09B260 7F066730 24010014 */ li $at, 20 -/* 09B264 7F066734 1441001E */ bne $v0, $at, .L7F0667B0 -.L7F066738: -/* 09B268 7F066738 28610010 */ slti $at, $v1, 0x10 -/* 09B26C 7F06673C 1420001C */ bnez $at, .L7F0667B0 -/* 09B270 7F066740 3C0D8003 */ lui $t5, %hi(D_80035E94) -/* 09B274 7F066744 25AD5E94 */ addiu $t5, %lo(D_80035E94) # addiu $t5, $t5, 0x5e94 -/* 09B278 7F066748 8DA10000 */ lw $at, ($t5) -/* 09B27C 7F06674C 27AC007C */ addiu $t4, $sp, 0x7c -/* 09B280 7F066750 AD810000 */ sw $at, ($t4) -/* 09B284 7F066754 95A10004 */ lhu $at, 4($t5) -/* 09B288 7F066758 0C002914 */ jal get_random_value -/* 09B28C 7F06675C A5810004 */ sh $at, 4($t4) -/* 09B290 7F066760 24010003 */ li $at, 3 -/* 09B294 7F066764 0041001B */ divu $zero, $v0, $at -/* 09B298 7F066768 0000C810 */ mfhi $t9 -/* 09B29C 7F06676C 00195840 */ sll $t3, $t9, 1 -/* 09B2A0 7F066770 03AB2821 */ addu $a1, $sp, $t3 -/* 09B2A4 7F066774 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09B2A8 7F066778 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09B2AC 7F06677C 84A5007C */ lh $a1, 0x7c($a1) -/* 09B2B0 7F066780 0C002382 */ jal play_sfx_a1 -/* 09B2B4 7F066784 00003025 */ move $a2, $zero -/* 09B2B8 7F066788 8E180024 */ lw $t8, 0x24($s0) -/* 09B2BC 7F06678C 24010011 */ li $at, 17 -/* 09B2C0 7F066790 24020015 */ li $v0, 21 -/* 09B2C4 7F066794 17010005 */ bne $t8, $at, .L7F0667AC -/* 09B2C8 7F066798 24040013 */ li $a0, 19 -/* 09B2CC 7F06679C 24020012 */ li $v0, 18 -/* 09B2D0 7F0667A0 AE020024 */ sw $v0, 0x24($s0) -/* 09B2D4 7F0667A4 10000002 */ b .L7F0667B0 -/* 09B2D8 7F0667A8 24040013 */ li $a0, 19 -.L7F0667AC: -/* 09B2DC 7F0667AC AE020024 */ sw $v0, 0x24($s0) -.L7F0667B0: -/* 09B2E0 7F0667B0 10820012 */ beq $a0, $v0, .L7F0667FC -/* 09B2E4 7F0667B4 24010016 */ li $at, 22 -/* 09B2E8 7F0667B8 50410011 */ beql $v0, $at, .L7F066800 -/* 09B2EC 7F0667BC 24010011 */ li $at, 17 -/* 09B2F0 7F0667C0 8E0D0020 */ lw $t5, 0x20($s0) -/* 09B2F4 7F0667C4 240F0001 */ li $t7, 1 -/* 09B2F8 7F0667C8 29A10018 */ slti $at, $t5, 0x18 -/* 09B2FC 7F0667CC 1420000B */ bnez $at, .L7F0667FC -/* 09B300 7F0667D0 24010011 */ li $at, 17 -/* 09B304 7F0667D4 10410004 */ beq $v0, $at, .L7F0667E8 -/* 09B308 7F0667D8 A20F000C */ sb $t7, 0xc($s0) -/* 09B30C 7F0667DC 24010012 */ li $at, 18 -/* 09B310 7F0667E0 54410005 */ bnel $v0, $at, .L7F0667F8 -/* 09B314 7F0667E4 24020016 */ li $v0, 22 -.L7F0667E8: -/* 09B318 7F0667E8 AE040024 */ sw $a0, 0x24($s0) -/* 09B31C 7F0667EC 10000003 */ b .L7F0667FC -/* 09B320 7F0667F0 00801025 */ move $v0, $a0 -/* 09B324 7F0667F4 24020016 */ li $v0, 22 -.L7F0667F8: -/* 09B328 7F0667F8 AE020024 */ sw $v0, 0x24($s0) -.L7F0667FC: -/* 09B32C 7F0667FC 24010011 */ li $at, 17 -.L7F066800: -/* 09B330 7F066800 10410005 */ beq $v0, $at, .L7F066818 -/* 09B334 7F066804 8FA50088 */ lw $a1, 0x88($sp) -/* 09B338 7F066808 24010012 */ li $at, 18 -/* 09B33C 7F06680C 10410002 */ beq $v0, $at, .L7F066818 -/* 09B340 7F066810 00000000 */ nop -/* 09B344 7F066814 14820003 */ bne $a0, $v0, .L7F066824 -.L7F066818: -/* 09B348 7F066818 3C048003 */ lui $a0, %hi(D_80034CA4) -/* 09B34C 7F06681C 10000003 */ b .L7F06682C -/* 09B350 7F066820 24844CA4 */ addiu $a0, %lo(D_80034CA4) # addiu $a0, $a0, 0x4ca4 -.L7F066824: -/* 09B354 7F066824 3C048003 */ lui $a0, %hi(D_80034E0C) -/* 09B358 7F066828 24844E0C */ addiu $a0, %lo(D_80034E0C) # addiu $a0, $a0, 0x4e0c -.L7F06682C: -/* 09B35C 7F06682C 8FA60030 */ lw $a2, 0x30($sp) -/* 09B360 7F066830 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B364 7F066834 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B368 7F066838 10400004 */ beqz $v0, .L7F06684C -/* 09B36C 7F06683C 240B0001 */ li $t3, 1 -/* 09B370 7F066840 AE0B00BC */ sw $t3, 0xbc($s0) -/* 09B374 7F066844 10000005 */ b .L7F06685C -/* 09B378 7F066848 8E020024 */ lw $v0, 0x24($s0) -.L7F06684C: -/* 09B37C 7F06684C AE000024 */ sw $zero, 0x24($s0) -/* 09B380 7F066850 AE000020 */ sw $zero, 0x20($s0) -/* 09B384 7F066854 AE00001C */ sw $zero, 0x1c($s0) -/* 09B388 7F066858 00001025 */ move $v0, $zero -.L7F06685C: -/* 09B38C 7F06685C 2401001E */ li $at, 30 -.L7F066860: -/* 09B390 7F066860 10410007 */ beq $v0, $at, .L7F066880 -/* 09B394 7F066864 2405001F */ li $a1, 31 -/* 09B398 7F066868 10A20005 */ beq $a1, $v0, .L7F066880 -/* 09B39C 7F06686C 24010020 */ li $at, 32 -/* 09B3A0 7F066870 10410003 */ beq $v0, $at, .L7F066880 -/* 09B3A4 7F066874 24040021 */ li $a0, 33 -/* 09B3A8 7F066878 54820041 */ bnel $a0, $v0, .L7F066980 -/* 09B3AC 7F06687C 2401001A */ li $at, 26 -.L7F066880: -/* 09B3B0 7F066880 8E030020 */ lw $v1, 0x20($s0) -/* 09B3B4 7F066884 2401001E */ li $at, 30 -/* 09B3B8 7F066888 24040021 */ li $a0, 33 -/* 09B3BC 7F06688C 44833000 */ mtc1 $v1, $f6 -/* 09B3C0 7F066890 2405001F */ li $a1, 31 -/* 09B3C4 7F066894 2606007C */ addiu $a2, $s0, 0x7c -/* 09B3C8 7F066898 10410003 */ beq $v0, $at, .L7F0668A8 -/* 09B3CC 7F06689C 46803020 */ cvt.s.w $f0, $f6 -/* 09B3D0 7F0668A0 14A20014 */ bne $a1, $v0, .L7F0668F4 -/* 09B3D4 7F0668A4 24010020 */ li $at, 32 -.L7F0668A8: -/* 09B3D8 7F0668A8 3C188008 */ lui $t8, %hi(pPlayer) -/* 09B3DC 7F0668AC 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 09B3E0 7F0668B0 24010011 */ li $at, 17 -/* 09B3E4 7F0668B4 3C0C8003 */ lui $t4, %hi(D_80035778) -/* 09B3E8 7F0668B8 8F0E2A38 */ lw $t6, 0x2a38($t8) -/* 09B3EC 7F0668BC 3C0D8003 */ lui $t5, %hi(D_800354A8) -/* 09B3F0 7F0668C0 258C5778 */ addiu $t4, %lo(D_80035778) # addiu $t4, $t4, 0x5778 -/* 09B3F4 7F0668C4 15C10003 */ bne $t6, $at, .L7F0668D4 -/* 09B3F8 7F0668C8 25AD54A8 */ addiu $t5, %lo(D_800354A8) # addiu $t5, $t5, 0x54a8 -/* 09B3FC 7F0668CC 10000002 */ b .L7F0668D8 -/* 09B400 7F0668D0 AFAC0074 */ sw $t4, 0x74($sp) -.L7F0668D4: -/* 09B404 7F0668D4 AFAD0074 */ sw $t5, 0x74($sp) -.L7F0668D8: -/* 09B408 7F0668D8 10A2001B */ beq $a1, $v0, .L7F066948 -/* 09B40C 7F0668DC 2861001E */ slti $at, $v1, 0x1e -/* 09B410 7F0668E0 14200019 */ bnez $at, .L7F066948 -/* 09B414 7F0668E4 240F0001 */ li $t7, 1 -/* 09B418 7F0668E8 A20F000C */ sb $t7, 0xc($s0) -/* 09B41C 7F0668EC 10000016 */ b .L7F066948 -/* 09B420 7F0668F0 AE050024 */ sw $a1, 0x24($s0) -.L7F0668F4: -/* 09B424 7F0668F4 10410003 */ beq $v0, $at, .L7F066904 -/* 09B428 7F0668F8 3C198008 */ lui $t9, %hi(pPlayer) -/* 09B42C 7F0668FC 54820013 */ bnel $a0, $v0, .L7F06694C -/* 09B430 7F066900 44050000 */ mfc1 $a1, $f0 -.L7F066904: -/* 09B434 7F066904 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 09B438 7F066908 24010011 */ li $at, 17 -/* 09B43C 7F06690C 3C188003 */ lui $t8, %hi(D_80035904) -/* 09B440 7F066910 8F2B2A38 */ lw $t3, 0x2a38($t9) -/* 09B444 7F066914 3C0E8003 */ lui $t6, %hi(D_80035610) -/* 09B448 7F066918 27185904 */ addiu $t8, %lo(D_80035904) # addiu $t8, $t8, 0x5904 -/* 09B44C 7F06691C 15610003 */ bne $t3, $at, .L7F06692C -/* 09B450 7F066920 25CE5610 */ addiu $t6, %lo(D_80035610) # addiu $t6, $t6, 0x5610 -/* 09B454 7F066924 10000002 */ b .L7F066930 -/* 09B458 7F066928 AFB80074 */ sw $t8, 0x74($sp) -.L7F06692C: -/* 09B45C 7F06692C AFAE0074 */ sw $t6, 0x74($sp) -.L7F066930: -/* 09B460 7F066930 10820005 */ beq $a0, $v0, .L7F066948 -/* 09B464 7F066934 2861001E */ slti $at, $v1, 0x1e -/* 09B468 7F066938 14200003 */ bnez $at, .L7F066948 -/* 09B46C 7F06693C 240C0001 */ li $t4, 1 -/* 09B470 7F066940 A20C000C */ sb $t4, 0xc($s0) -/* 09B474 7F066944 AE040024 */ sw $a0, 0x24($s0) -.L7F066948: -/* 09B478 7F066948 44050000 */ mfc1 $a1, $f0 -.L7F06694C: -/* 09B47C 7F06694C 8FA40074 */ lw $a0, 0x74($sp) -/* 09B480 7F066950 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B484 7F066954 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B488 7F066958 10400004 */ beqz $v0, .L7F06696C -/* 09B48C 7F06695C 240D0001 */ li $t5, 1 -/* 09B490 7F066960 AE0D00BC */ sw $t5, 0xbc($s0) -/* 09B494 7F066964 10000005 */ b .L7F06697C -/* 09B498 7F066968 8E020024 */ lw $v0, 0x24($s0) -.L7F06696C: -/* 09B49C 7F06696C AE000024 */ sw $zero, 0x24($s0) -/* 09B4A0 7F066970 AE000020 */ sw $zero, 0x20($s0) -/* 09B4A4 7F066974 AE00001C */ sw $zero, 0x1c($s0) -/* 09B4A8 7F066978 00001025 */ move $v0, $zero -.L7F06697C: -/* 09B4AC 7F06697C 2401001A */ li $at, 26 -.L7F066980: -/* 09B4B0 7F066980 54410023 */ bnel $v0, $at, .L7F066A10 -/* 09B4B4 7F066984 2401001B */ li $at, 27 -/* 09B4B8 7F066988 8E0F002C */ lw $t7, 0x2c($s0) -/* 09B4BC 7F06698C 00001025 */ move $v0, $zero -/* 09B4C0 7F066990 59E0001C */ blezl $t7, .L7F066A04 -/* 09B4C4 7F066994 AE000024 */ sw $zero, 0x24($s0) -/* 09B4C8 7F066998 8E190020 */ lw $t9, 0x20($s0) -/* 09B4CC 7F06699C 3C048003 */ lui $a0, %hi(D_80035124) -/* 09B4D0 7F0669A0 24845124 */ addiu $a0, %lo(D_80035124) # addiu $a0, $a0, 0x5124 -/* 09B4D4 7F0669A4 44995000 */ mtc1 $t9, $f10 -/* 09B4D8 7F0669A8 2606007C */ addiu $a2, $s0, 0x7c -/* 09B4DC 7F0669AC 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B4E0 7F0669B0 46805020 */ cvt.s.w $f0, $f10 -/* 09B4E4 7F0669B4 44050000 */ mfc1 $a1, $f0 -/* 09B4E8 7F0669B8 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B4EC 7F0669BC 00000000 */ nop -/* 09B4F0 7F0669C0 10400004 */ beqz $v0, .L7F0669D4 -/* 09B4F4 7F0669C4 24180001 */ li $t8, 1 -/* 09B4F8 7F0669C8 240B0001 */ li $t3, 1 -/* 09B4FC 7F0669CC 1000000A */ b .L7F0669F8 -/* 09B500 7F0669D0 AE0B00BC */ sw $t3, 0xbc($s0) -.L7F0669D4: -/* 09B504 7F0669D4 8E0E002C */ lw $t6, 0x2c($s0) -/* 09B508 7F0669D8 240D001B */ li $t5, 27 -/* 09B50C 7F0669DC A200000E */ sb $zero, 0xe($s0) -/* 09B510 7F0669E0 25CCFFFF */ addiu $t4, $t6, -1 -/* 09B514 7F0669E4 A218000C */ sb $t8, 0xc($s0) -/* 09B518 7F0669E8 AE0C002C */ sw $t4, 0x2c($s0) -/* 09B51C 7F0669EC AE0D0024 */ sw $t5, 0x24($s0) -/* 09B520 7F0669F0 AE000020 */ sw $zero, 0x20($s0) -/* 09B524 7F0669F4 AE00001C */ sw $zero, 0x1c($s0) -.L7F0669F8: -/* 09B528 7F0669F8 10000004 */ b .L7F066A0C -/* 09B52C 7F0669FC 8E020024 */ lw $v0, 0x24($s0) -/* 09B530 7F066A00 AE000024 */ sw $zero, 0x24($s0) -.L7F066A04: -/* 09B534 7F066A04 AE000020 */ sw $zero, 0x20($s0) -/* 09B538 7F066A08 AE00001C */ sw $zero, 0x1c($s0) -.L7F066A0C: -/* 09B53C 7F066A0C 2401001B */ li $at, 27 -.L7F066A10: -/* 09B540 7F066A10 54410017 */ bnel $v0, $at, .L7F066A70 -/* 09B544 7F066A14 24010017 */ li $at, 23 -/* 09B548 7F066A18 8E0F0020 */ lw $t7, 0x20($s0) -/* 09B54C 7F066A1C 3C048003 */ lui $a0, %hi(D_800351FC) -/* 09B550 7F066A20 248451FC */ addiu $a0, %lo(D_800351FC) # addiu $a0, $a0, 0x51fc -/* 09B554 7F066A24 448F2000 */ mtc1 $t7, $f4 -/* 09B558 7F066A28 2606007C */ addiu $a2, $s0, 0x7c -/* 09B55C 7F066A2C 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B560 7F066A30 46802020 */ cvt.s.w $f0, $f4 -/* 09B564 7F066A34 44050000 */ mfc1 $a1, $f0 -/* 09B568 7F066A38 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B56C 7F066A3C 00000000 */ nop -/* 09B570 7F066A40 10400005 */ beqz $v0, .L7F066A58 -/* 09B574 7F066A44 240B0001 */ li $t3, 1 -/* 09B578 7F066A48 24190001 */ li $t9, 1 -/* 09B57C 7F066A4C AE1900BC */ sw $t9, 0xbc($s0) -/* 09B580 7F066A50 10000006 */ b .L7F066A6C -/* 09B584 7F066A54 8E020024 */ lw $v0, 0x24($s0) -.L7F066A58: -/* 09B588 7F066A58 A20B000E */ sb $t3, 0xe($s0) -/* 09B58C 7F066A5C AE000024 */ sw $zero, 0x24($s0) -/* 09B590 7F066A60 AE000020 */ sw $zero, 0x20($s0) -/* 09B594 7F066A64 AE00001C */ sw $zero, 0x1c($s0) -/* 09B598 7F066A68 00001025 */ move $v0, $zero -.L7F066A6C: -/* 09B59C 7F066A6C 24010017 */ li $at, 23 -.L7F066A70: -/* 09B5A0 7F066A70 5441002C */ bnel $v0, $at, .L7F066B24 -/* 09B5A4 7F066A74 24010018 */ li $at, 24 -/* 09B5A8 7F066A78 8E18002C */ lw $t8, 0x2c($s0) -/* 09B5AC 7F066A7C 00001025 */ move $v0, $zero -/* 09B5B0 7F066A80 5B000025 */ blezl $t8, .L7F066B18 -/* 09B5B4 7F066A84 AE000024 */ sw $zero, 0x24($s0) -/* 09B5B8 7F066A88 8E0E0018 */ lw $t6, 0x18($s0) -/* 09B5BC 7F066A8C 240C0018 */ li $t4, 24 -/* 09B5C0 7F066A90 51C00004 */ beql $t6, $zero, .L7F066AA4 -/* 09B5C4 7F066A94 8E0D0020 */ lw $t5, 0x20($s0) -/* 09B5C8 7F066A98 1000001C */ b .L7F066B0C -/* 09B5CC 7F066A9C AE0C0024 */ sw $t4, 0x24($s0) -/* 09B5D0 7F066AA0 8E0D0020 */ lw $t5, 0x20($s0) -.L7F066AA4: -/* 09B5D4 7F066AA4 3C048003 */ lui $a0, %hi(D_80034F74) -/* 09B5D8 7F066AA8 2606007C */ addiu $a2, $s0, 0x7c -/* 09B5DC 7F066AAC 448D4000 */ mtc1 $t5, $f8 -/* 09B5E0 7F066AB0 AFA60030 */ sw $a2, 0x30($sp) -/* 09B5E4 7F066AB4 24844F74 */ addiu $a0, %lo(D_80034F74) # addiu $a0, $a0, 0x4f74 -/* 09B5E8 7F066AB8 46804020 */ cvt.s.w $f0, $f8 -/* 09B5EC 7F066ABC 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B5F0 7F066AC0 44050000 */ mfc1 $a1, $f0 -/* 09B5F4 7F066AC4 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B5F8 7F066AC8 00000000 */ nop -/* 09B5FC 7F066ACC 10400004 */ beqz $v0, .L7F066AE0 -/* 09B600 7F066AD0 3C048003 */ lui $a0, %hi(D_8003504C) -/* 09B604 7F066AD4 240F0001 */ li $t7, 1 -/* 09B608 7F066AD8 1000000C */ b .L7F066B0C -/* 09B60C 7F066ADC AE0F00BC */ sw $t7, 0xbc($s0) -.L7F066AE0: -/* 09B610 7F066AE0 2484504C */ addiu $a0, %lo(D_8003504C) # addiu $a0, $a0, 0x504c -/* 09B614 7F066AE4 24050000 */ li $a1, 0 -/* 09B618 7F066AE8 8FA60030 */ lw $a2, 0x30($sp) -/* 09B61C 7F066AEC 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B620 7F066AF0 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B624 7F066AF4 10400004 */ beqz $v0, .L7F066B08 -/* 09B628 7F066AF8 240B0018 */ li $t3, 24 -/* 09B62C 7F066AFC 24190001 */ li $t9, 1 -/* 09B630 7F066B00 10000002 */ b .L7F066B0C -/* 09B634 7F066B04 AE1900BC */ sw $t9, 0xbc($s0) -.L7F066B08: -/* 09B638 7F066B08 AE0B0024 */ sw $t3, 0x24($s0) -.L7F066B0C: -/* 09B63C 7F066B0C 10000004 */ b .L7F066B20 -/* 09B640 7F066B10 8E020024 */ lw $v0, 0x24($s0) -/* 09B644 7F066B14 AE000024 */ sw $zero, 0x24($s0) -.L7F066B18: -/* 09B648 7F066B18 AE000020 */ sw $zero, 0x20($s0) -/* 09B64C 7F066B1C AE00001C */ sw $zero, 0x1c($s0) -.L7F066B20: -/* 09B650 7F066B20 24010018 */ li $at, 24 -.L7F066B24: -/* 09B654 7F066B24 54410023 */ bnel $v0, $at, .L7F066BB4 -/* 09B658 7F066B28 24010019 */ li $at, 25 -/* 09B65C 7F066B2C 8E18002C */ lw $t8, 0x2c($s0) -/* 09B660 7F066B30 00001025 */ move $v0, $zero -/* 09B664 7F066B34 5B00001C */ blezl $t8, .L7F066BA8 -/* 09B668 7F066B38 AE000024 */ sw $zero, 0x24($s0) -/* 09B66C 7F066B3C 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B670 7F066B40 3C048003 */ lui $a0, %hi(D_80034F74) -/* 09B674 7F066B44 24844F74 */ addiu $a0, %lo(D_80034F74) # addiu $a0, $a0, 0x4f74 -/* 09B678 7F066B48 448E3000 */ mtc1 $t6, $f6 -/* 09B67C 7F066B4C 2606007C */ addiu $a2, $s0, 0x7c -/* 09B680 7F066B50 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B684 7F066B54 46803020 */ cvt.s.w $f0, $f6 -/* 09B688 7F066B58 44050000 */ mfc1 $a1, $f0 -/* 09B68C 7F066B5C 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B690 7F066B60 00000000 */ nop -/* 09B694 7F066B64 10400004 */ beqz $v0, .L7F066B78 -/* 09B698 7F066B68 240D0001 */ li $t5, 1 -/* 09B69C 7F066B6C 240C0001 */ li $t4, 1 -/* 09B6A0 7F066B70 1000000A */ b .L7F066B9C -/* 09B6A4 7F066B74 AE0C00BC */ sw $t4, 0xbc($s0) -.L7F066B78: -/* 09B6A8 7F066B78 8E0F002C */ lw $t7, 0x2c($s0) -/* 09B6AC 7F066B7C 240B0019 */ li $t3, 25 -/* 09B6B0 7F066B80 A200000E */ sb $zero, 0xe($s0) -/* 09B6B4 7F066B84 25F9FFFF */ addiu $t9, $t7, -1 -/* 09B6B8 7F066B88 A20D000C */ sb $t5, 0xc($s0) -/* 09B6BC 7F066B8C AE19002C */ sw $t9, 0x2c($s0) -/* 09B6C0 7F066B90 AE0B0024 */ sw $t3, 0x24($s0) -/* 09B6C4 7F066B94 AE000020 */ sw $zero, 0x20($s0) -/* 09B6C8 7F066B98 AE00001C */ sw $zero, 0x1c($s0) -.L7F066B9C: -/* 09B6CC 7F066B9C 10000004 */ b .L7F066BB0 -/* 09B6D0 7F066BA0 8E020024 */ lw $v0, 0x24($s0) -/* 09B6D4 7F066BA4 AE000024 */ sw $zero, 0x24($s0) -.L7F066BA8: -/* 09B6D8 7F066BA8 AE000020 */ sw $zero, 0x20($s0) -/* 09B6DC 7F066BAC AE00001C */ sw $zero, 0x1c($s0) -.L7F066BB0: -/* 09B6E0 7F066BB0 24010019 */ li $at, 25 -.L7F066BB4: -/* 09B6E4 7F066BB4 54410017 */ bnel $v0, $at, .L7F066C14 -/* 09B6E8 7F066BB8 2401001C */ li $at, 28 -/* 09B6EC 7F066BBC 8E180020 */ lw $t8, 0x20($s0) -/* 09B6F0 7F066BC0 3C048003 */ lui $a0, %hi(D_8003504C) -/* 09B6F4 7F066BC4 2484504C */ addiu $a0, %lo(D_8003504C) # addiu $a0, $a0, 0x504c -/* 09B6F8 7F066BC8 44985000 */ mtc1 $t8, $f10 -/* 09B6FC 7F066BCC 2606007C */ addiu $a2, $s0, 0x7c -/* 09B700 7F066BD0 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B704 7F066BD4 46805020 */ cvt.s.w $f0, $f10 -/* 09B708 7F066BD8 44050000 */ mfc1 $a1, $f0 -/* 09B70C 7F066BDC 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B710 7F066BE0 00000000 */ nop -/* 09B714 7F066BE4 10400005 */ beqz $v0, .L7F066BFC -/* 09B718 7F066BE8 240C0001 */ li $t4, 1 -/* 09B71C 7F066BEC 240E0001 */ li $t6, 1 -/* 09B720 7F066BF0 AE0E00BC */ sw $t6, 0xbc($s0) -/* 09B724 7F066BF4 10000006 */ b .L7F066C10 -/* 09B728 7F066BF8 8E020024 */ lw $v0, 0x24($s0) -.L7F066BFC: -/* 09B72C 7F066BFC A20C000E */ sb $t4, 0xe($s0) -/* 09B730 7F066C00 AE000024 */ sw $zero, 0x24($s0) -/* 09B734 7F066C04 AE000020 */ sw $zero, 0x20($s0) -/* 09B738 7F066C08 AE00001C */ sw $zero, 0x1c($s0) -/* 09B73C 7F066C0C 00001025 */ move $v0, $zero -.L7F066C10: -/* 09B740 7F066C10 2401001C */ li $at, 28 -.L7F066C14: -/* 09B744 7F066C14 54410028 */ bnel $v0, $at, .L7F066CB8 -/* 09B748 7F066C18 2401001D */ li $at, 29 -/* 09B74C 7F066C1C 8E0D002C */ lw $t5, 0x2c($s0) -/* 09B750 7F066C20 02202025 */ move $a0, $s1 -/* 09B754 7F066C24 5DA00006 */ bgtzl $t5, .L7F066C40 -/* 09B758 7F066C28 8E0F0020 */ lw $t7, 0x20($s0) -/* 09B75C 7F066C2C 0FC1782D */ jal check_special_attributes -/* 09B760 7F066C30 24050010 */ li $a1, 16 -/* 09B764 7F066C34 5040001C */ beql $v0, $zero, .L7F066CA8 -/* 09B768 7F066C38 AE000024 */ sw $zero, 0x24($s0) -/* 09B76C 7F066C3C 8E0F0020 */ lw $t7, 0x20($s0) -.L7F066C40: -/* 09B770 7F066C40 3C048003 */ lui $a0, %hi(D_800352D4) -/* 09B774 7F066C44 248452D4 */ addiu $a0, %lo(D_800352D4) # addiu $a0, $a0, 0x52d4 -/* 09B778 7F066C48 448F2000 */ mtc1 $t7, $f4 -/* 09B77C 7F066C4C 2606007C */ addiu $a2, $s0, 0x7c -/* 09B780 7F066C50 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B784 7F066C54 46802020 */ cvt.s.w $f0, $f4 -/* 09B788 7F066C58 44050000 */ mfc1 $a1, $f0 -/* 09B78C 7F066C5C 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B790 7F066C60 00000000 */ nop -/* 09B794 7F066C64 10400004 */ beqz $v0, .L7F066C78 -/* 09B798 7F066C68 240B0001 */ li $t3, 1 -/* 09B79C 7F066C6C 24190001 */ li $t9, 1 -/* 09B7A0 7F066C70 1000000A */ b .L7F066C9C -/* 09B7A4 7F066C74 AE1900BC */ sw $t9, 0xbc($s0) -.L7F066C78: -/* 09B7A8 7F066C78 8E18002C */ lw $t8, 0x2c($s0) -/* 09B7AC 7F066C7C 240C001D */ li $t4, 29 -/* 09B7B0 7F066C80 A200000E */ sb $zero, 0xe($s0) -/* 09B7B4 7F066C84 270EFFFF */ addiu $t6, $t8, -1 -/* 09B7B8 7F066C88 A20B000C */ sb $t3, 0xc($s0) -/* 09B7BC 7F066C8C AE0E002C */ sw $t6, 0x2c($s0) -/* 09B7C0 7F066C90 AE0C0024 */ sw $t4, 0x24($s0) -/* 09B7C4 7F066C94 AE000020 */ sw $zero, 0x20($s0) -/* 09B7C8 7F066C98 AE00001C */ sw $zero, 0x1c($s0) -.L7F066C9C: -/* 09B7CC 7F066C9C 10000005 */ b .L7F066CB4 -/* 09B7D0 7F066CA0 8E020024 */ lw $v0, 0x24($s0) -/* 09B7D4 7F066CA4 AE000024 */ sw $zero, 0x24($s0) -.L7F066CA8: -/* 09B7D8 7F066CA8 AE000020 */ sw $zero, 0x20($s0) -/* 09B7DC 7F066CAC AE00001C */ sw $zero, 0x1c($s0) -/* 09B7E0 7F066CB0 00001025 */ move $v0, $zero -.L7F066CB4: -/* 09B7E4 7F066CB4 2401001D */ li $at, 29 -.L7F066CB8: -/* 09B7E8 7F066CB8 54410017 */ bnel $v0, $at, .L7F066D18 -/* 09B7EC 7F066CBC 24010024 */ li $at, 36 -/* 09B7F0 7F066CC0 8E0D0020 */ lw $t5, 0x20($s0) -/* 09B7F4 7F066CC4 3C048003 */ lui $a0, %hi(D_800353AC) -/* 09B7F8 7F066CC8 248453AC */ addiu $a0, %lo(D_800353AC) # addiu $a0, $a0, 0x53ac -/* 09B7FC 7F066CCC 448D4000 */ mtc1 $t5, $f8 -/* 09B800 7F066CD0 2606007C */ addiu $a2, $s0, 0x7c -/* 09B804 7F066CD4 8FA701D0 */ lw $a3, 0x1d0($sp) -/* 09B808 7F066CD8 46804020 */ cvt.s.w $f0, $f8 -/* 09B80C 7F066CDC 44050000 */ mfc1 $a1, $f0 -/* 09B810 7F066CE0 0FC171BF */ jal sub_GAME_7F05C6FC -/* 09B814 7F066CE4 00000000 */ nop -/* 09B818 7F066CE8 10400005 */ beqz $v0, .L7F066D00 -/* 09B81C 7F066CEC 24190001 */ li $t9, 1 -/* 09B820 7F066CF0 240F0001 */ li $t7, 1 -/* 09B824 7F066CF4 AE0F00BC */ sw $t7, 0xbc($s0) -/* 09B828 7F066CF8 10000006 */ b .L7F066D14 -/* 09B82C 7F066CFC 8E020024 */ lw $v0, 0x24($s0) -.L7F066D00: -/* 09B830 7F066D00 A219000E */ sb $t9, 0xe($s0) -/* 09B834 7F066D04 AE000024 */ sw $zero, 0x24($s0) -/* 09B838 7F066D08 AE000020 */ sw $zero, 0x20($s0) -/* 09B83C 7F066D0C AE00001C */ sw $zero, 0x1c($s0) -/* 09B840 7F066D10 00001025 */ move $v0, $zero -.L7F066D14: -/* 09B844 7F066D14 24010024 */ li $at, 36 -.L7F066D18: -/* 09B848 7F066D18 1441004D */ bne $v0, $at, .L7F066E50 -/* 09B84C 7F066D1C 2401002E */ li $at, 46 -/* 09B850 7F066D20 56210009 */ bnel $s1, $at, .L7F066D48 -/* 09B854 7F066D24 2401002C */ li $at, 44 -/* 09B858 7F066D28 8E0B001C */ lw $t3, 0x1c($s0) -/* 09B85C 7F066D2C 15600003 */ bnez $t3, .L7F066D3C -/* 09B860 7F066D30 00000000 */ nop -/* 09B864 7F066D34 0FC19B99 */ jal sub_GAME_7F066E64 -/* 09B868 7F066D38 00000000 */ nop -.L7F066D3C: -/* 09B86C 7F066D3C 1000003F */ b .L7F066E3C -/* 09B870 7F066D40 8E050018 */ lw $a1, 0x18($s0) -/* 09B874 7F066D44 2401002C */ li $at, 44 -.L7F066D48: -/* 09B878 7F066D48 56210009 */ bnel $s1, $at, .L7F066D70 -/* 09B87C 7F066D4C 24010027 */ li $at, 39 -/* 09B880 7F066D50 8E18001C */ lw $t8, 0x1c($s0) -/* 09B884 7F066D54 17000003 */ bnez $t8, .L7F066D64 -/* 09B888 7F066D58 00000000 */ nop -/* 09B88C 7F066D5C 0FC19BC2 */ jal sub_GAME_7F066F08 -/* 09B890 7F066D60 00000000 */ nop -.L7F066D64: -/* 09B894 7F066D64 10000035 */ b .L7F066E3C -/* 09B898 7F066D68 8E050018 */ lw $a1, 0x18($s0) -/* 09B89C 7F066D6C 24010027 */ li $at, 39 -.L7F066D70: -/* 09B8A0 7F066D70 12210009 */ beq $s1, $at, .L7F066D98 -/* 09B8A4 7F066D74 24010037 */ li $at, 55 -/* 09B8A8 7F066D78 12210007 */ beq $s1, $at, .L7F066D98 -/* 09B8AC 7F066D7C 24010026 */ li $at, 38 -/* 09B8B0 7F066D80 12210005 */ beq $s1, $at, .L7F066D98 -/* 09B8B4 7F066D84 24010032 */ li $at, 50 -/* 09B8B8 7F066D88 12210003 */ beq $s1, $at, .L7F066D98 -/* 09B8BC 7F066D8C 24010049 */ li $at, 73 -/* 09B8C0 7F066D90 5621000F */ bnel $s1, $at, .L7F066DD0 -/* 09B8C4 7F066D94 24010033 */ li $at, 51 -.L7F066D98: -/* 09B8C8 7F066D98 8E0E001C */ lw $t6, 0x1c($s0) -/* 09B8CC 7F066D9C 15C00009 */ bnez $t6, .L7F066DC4 -/* 09B8D0 7F066DA0 00000000 */ nop -/* 09B8D4 7F066DA4 0FC0F0FF */ jal sub_GAME_7F03C3FC -/* 09B8D8 7F066DA8 00000000 */ nop -/* 09B8DC 7F066DAC 10400005 */ beqz $v0, .L7F066DC4 -/* 09B8E0 7F066DB0 00000000 */ nop -/* 09B8E4 7F066DB4 8C430004 */ lw $v1, 4($v0) -/* 09B8E8 7F066DB8 906C0002 */ lbu $t4, 2($v1) -/* 09B8EC 7F066DBC 358D0040 */ ori $t5, $t4, 0x40 -/* 09B8F0 7F066DC0 A06D0002 */ sb $t5, 2($v1) -.L7F066DC4: -/* 09B8F4 7F066DC4 1000001D */ b .L7F066E3C -/* 09B8F8 7F066DC8 8E050018 */ lw $a1, 0x18($s0) -/* 09B8FC 7F066DCC 24010033 */ li $at, 51 -.L7F066DD0: -/* 09B900 7F066DD0 1221001A */ beq $s1, $at, .L7F066E3C -/* 09B904 7F066DD4 8E050018 */ lw $a1, 0x18($s0) -/* 09B908 7F066DD8 24010034 */ li $at, 52 -/* 09B90C 7F066DDC 12210017 */ beq $s1, $at, .L7F066E3C -/* 09B910 7F066DE0 2401003A */ li $at, 58 -/* 09B914 7F066DE4 12210015 */ beq $s1, $at, .L7F066E3C -/* 09B918 7F066DE8 2401003B */ li $at, 59 -/* 09B91C 7F066DEC 12210013 */ beq $s1, $at, .L7F066E3C -/* 09B920 7F066DF0 24010051 */ li $at, 81 -/* 09B924 7F066DF4 12210011 */ beq $s1, $at, .L7F066E3C -/* 09B928 7F066DF8 24010052 */ li $at, 82 -/* 09B92C 7F066DFC 1221000F */ beq $s1, $at, .L7F066E3C -/* 09B930 7F066E00 24010053 */ li $at, 83 -/* 09B934 7F066E04 1221000D */ beq $s1, $at, .L7F066E3C -/* 09B938 7F066E08 2401002D */ li $at, 45 -/* 09B93C 7F066E0C 1221000B */ beq $s1, $at, .L7F066E3C -/* 09B940 7F066E10 24010029 */ li $at, 41 -/* 09B944 7F066E14 12210009 */ beq $s1, $at, .L7F066E3C -/* 09B948 7F066E18 2401002A */ li $at, 42 -/* 09B94C 7F066E1C 12210007 */ beq $s1, $at, .L7F066E3C -/* 09B950 7F066E20 24010035 */ li $at, 53 -/* 09B954 7F066E24 12210005 */ beq $s1, $at, .L7F066E3C -/* 09B958 7F066E28 24010036 */ li $at, 54 -/* 09B95C 7F066E2C 12210003 */ beq $s1, $at, .L7F066E3C -/* 09B960 7F066E30 24010025 */ li $at, 37 -/* 09B964 7F066E34 12210001 */ beq $s1, $at, .L7F066E3C -/* 09B968 7F066E38 00000000 */ nop -.L7F066E3C: -/* 09B96C 7F066E3C 50A00005 */ beql $a1, $zero, .L7F066E54 -/* 09B970 7F066E40 8FBF0024 */ lw $ra, 0x24($sp) -/* 09B974 7F066E44 AE000024 */ sw $zero, 0x24($s0) -/* 09B978 7F066E48 AE000020 */ sw $zero, 0x20($s0) -/* 09B97C 7F066E4C AE00001C */ sw $zero, 0x1c($s0) -.L7F066E50: -/* 09B980 7F066E50 8FBF0024 */ lw $ra, 0x24($sp) -.L7F066E54: -/* 09B984 7F066E54 8FB0001C */ lw $s0, 0x1c($sp) -/* 09B988 7F066E58 8FB10020 */ lw $s1, 0x20($sp) -/* 09B98C 7F066E5C 03E00008 */ jr $ra -/* 09B990 7F066E60 27BD01D0 */ addiu $sp, $sp, 0x1d0 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( - .late_rodata -/*D:80053F24*/ -glabel jpt_80053F24 -.word Weapon_function_slapper -.word Weapon_function_hunting_knife -.word Weapon_function_throwing_knife -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_magnum -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_magnum -.word Weapon_function_guns -.word Weapon_function_grenades -.word Weapon_function_throwable_item -.word Weapon_function_throwable_item -.word Weapon_function_throwable_item -.word Weapon_function_guns -.word Weapon_function_tazer -.word Weapon_function_guns -.word Weapon_function_throwable_item -.word Weapon_function_throwable_item -.word Weapon_function_guns -.word Weapon_function_guns -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_camera -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_collectible -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_throwable_item -.word Weapon_function_throwable_item -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_guns -.word Weapon_function_throwable_item -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_key -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_key -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible -.word Weapon_function_collectible - -/*D:80054084*/ -glabel jpt_80054084 -.word Weapon_shooting_noammo -.word Weapon_shooting_throwable -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_machinegun -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_pistol -.word Weapon_shooting_tazer -.word Weapon_shooting_pistol -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_pistol -.word Weapon_shooting_pistol -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_watch_magnet -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_throwable -.word Weapon_shooting_watch_magnet - -glabel D_80054170 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054174 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80054178 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005417C -.word 0x40490fdb /*3.1415927*/ -glabel D_80054180 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80054184 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054188 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_8005418C -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054190 -.word 0x3f32b8c3 /*0.69813174*/ - -/*D:80054194*/ -glabel jpt_80054194 -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_playsfx_knife -.word weapon_playsfx_knife -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_F2 -.word weapon_switchstyle_NONE -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_switchstyle_NONE -.word weapon_playsfx_mine -.word weapon_playsfx_mine -.word weapon_playsfx_mine -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_switchstyle_NONE -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_playsfx_gun -.word weapon_switchstyle_NONE -.word weapon_switchstyle_NONE - -glabel D_8005428C -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054290 -.word 0x3f32b8c3 /*0.69813174*/ - -/*D:80054294*/ -glabel jpt_80054294 -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_gun_sfx -.word weapon_reload_none_sfx -.word weapon_reload_none_sfx - -glabel D_8005438C -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054390 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054394 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_80054398 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_8005439C -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_800543A0 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_800543A4 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_800543A8 -.word 0x3f32b8c3 /*0.69813174*/ -glabel D_800543AC -.word 0x3f32b8c3 /*0.69813174*/ -.text -glabel handle_weapon_id_values_possibly_1st_person_animation -/* 099BFC 7F06508C 000410C0 */ sll $v0, $a0, 3 -/* 099C00 7F065090 00441023 */ subu $v0, $v0, $a0 -/* 099C04 7F065094 00021080 */ sll $v0, $v0, 2 -/* 099C08 7F065098 27BDFE20 */ addiu $sp, $sp, -0x1e0 -/* 099C0C 7F06509C 00441021 */ addu $v0, $v0, $a0 -/* 099C10 7F0650A0 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 099C14 7F0650A4 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 099C18 7F0650A8 00021080 */ sll $v0, $v0, 2 -/* 099C1C 7F0650AC 00441021 */ addu $v0, $v0, $a0 -/* 099C20 7F0650B0 AFB0001C */ sw $s0, 0x1c($sp) -/* 099C24 7F0650B4 000210C0 */ sll $v0, $v0, 3 -/* 099C28 7F0650B8 AFBF0024 */ sw $ra, 0x24($sp) -/* 099C2C 7F0650BC 01C28021 */ addu $s0, $t6, $v0 -/* 099C30 7F0650C0 AFB10020 */ sw $s1, 0x20($sp) -/* 099C34 7F0650C4 AFA501E4 */ sw $a1, 0x1e4($sp) -/* 099C38 7F0650C8 26100870 */ addiu $s0, $s0, 0x870 -/* 099C3C 7F0650CC AFA2003C */ sw $v0, 0x3c($sp) -/* 099C40 7F0650D0 0FC177D9 */ jal return_ammo_in_hand -/* 099C44 7F0650D4 AFA401E0 */ sw $a0, 0x1e0($sp) -/* 099C48 7F0650D8 00408825 */ move $s1, $v0 -/* 099C4C 7F0650DC 0FC1A686 */ jal get_ammo_type_for_weapon -/* 099C50 7F0650E0 00402025 */ move $a0, $v0 -/* 099C54 7F0650E4 8FA301E4 */ lw $v1, 0x1e4($sp) -/* 099C58 7F0650E8 8E0F0010 */ lw $t7, 0x10($s0) -/* 099C5C 7F0650EC 00403025 */ move $a2, $v0 -/* 099C60 7F0650F0 AE030010 */ sw $v1, 0x10($s0) -/* 099C64 7F0650F4 14600003 */ bnez $v1, .Ljp7F065104 -/* 099C68 7F0650F8 AE0F0014 */ sw $t7, 0x14($s0) -/* 099C6C 7F0650FC 24180001 */ li $t8, 1 -/* 099C70 7F065100 AE180018 */ sw $t8, 0x18($s0) -.Ljp7F065104: -/* 099C74 7F065104 A200000C */ sb $zero, 0xc($s0) -/* 099C78 7F065108 A200000D */ sb $zero, 0xd($s0) -/* 099C7C 7F06510C 3C028005 */ lui $v0, %hi(clock_timer) # $v0, 0x8005 -/* 099C80 7F065110 8C4283A4 */ lw $v0, %lo(clock_timer)($v0) -/* 099C84 7F065114 58400008 */ blezl $v0, .Ljp7F065138 -/* 099C88 7F065118 8E190024 */ lw $t9, 0x24($s0) -/* 099C8C 7F06511C 8E190020 */ lw $t9, 0x20($s0) -/* 099C90 7F065120 8E0F001C */ lw $t7, 0x1c($s0) -/* 099C94 7F065124 03227021 */ addu $t6, $t9, $v0 -/* 099C98 7F065128 25F80001 */ addiu $t8, $t7, 1 -/* 099C9C 7F06512C AE0E0020 */ sw $t6, 0x20($s0) -/* 099CA0 7F065130 AE18001C */ sw $t8, 0x1c($s0) -/* 099CA4 7F065134 8E190024 */ lw $t9, 0x24($s0) -.Ljp7F065138: -/* 099CA8 7F065138 AE0000BC */ sw $zero, 0xbc($s0) -/* 099CAC 7F06513C 1720007D */ bnez $t9, .Ljp7F065334 -/* 099CB0 7F065140 24010016 */ li $at, 22 -/* 099CB4 7F065144 56210006 */ bnel $s1, $at, .Ljp7F065160 -/* 099CB8 7F065148 8E0F0010 */ lw $t7, 0x10($s0) -/* 099CBC 7F06514C 8E0E0018 */ lw $t6, 0x18($s0) -/* 099CC0 7F065150 51C00003 */ beql $t6, $zero, .Ljp7F065160 -/* 099CC4 7F065154 8E0F0010 */ lw $t7, 0x10($s0) -/* 099CC8 7F065158 AE000030 */ sw $zero, 0x30($s0) -/* 099CCC 7F06515C 8E0F0010 */ lw $t7, 0x10($s0) -.Ljp7F065160: -/* 099CD0 7F065160 51E00017 */ beql $t7, $zero, .Ljp7F0651C0 -/* 099CD4 7F065164 8E020028 */ lw $v0, 0x28($s0) -/* 099CD8 7F065168 12200014 */ beqz $s1, .Ljp7F0651BC -/* 099CDC 7F06516C 02202025 */ move $a0, $s1 -/* 099CE0 7F065170 24050010 */ li $a1, 16 -/* 099CE4 7F065174 0FC17975 */ jal check_special_attributes -/* 099CE8 7F065178 AFA601D4 */ sw $a2, 0x1d4($sp) -/* 099CEC 7F06517C 14400003 */ bnez $v0, .Ljp7F06518C -/* 099CF0 7F065180 8FA601D4 */ lw $a2, 0x1d4($sp) -/* 099CF4 7F065184 8E18002C */ lw $t8, 0x2c($s0) -/* 099CF8 7F065188 1B00000C */ blez $t8, .Ljp7F0651BC -.Ljp7F06518C: -/* 099CFC 7F06518C 24010016 */ li $at, 22 -/* 099D00 7F065190 16210005 */ bne $s1, $at, .Ljp7F0651A8 -/* 099D04 7F065194 240E0001 */ li $t6, 1 -/* 099D08 7F065198 8E190030 */ lw $t9, 0x30($s0) -/* 099D0C 7F06519C 2B2100C8 */ slti $at, $t9, 0xc8 -/* 099D10 7F0651A0 50200007 */ beql $at, $zero, .Ljp7F0651C0 -/* 099D14 7F0651A4 8E020028 */ lw $v0, 0x28($s0) -.Ljp7F0651A8: -/* 099D18 7F0651A8 AE0E0024 */ sw $t6, 0x24($s0) -/* 099D1C 7F0651AC AE000020 */ sw $zero, 0x20($s0) -/* 099D20 7F0651B0 AE00001C */ sw $zero, 0x1c($s0) -/* 099D24 7F0651B4 10000007 */ b .Ljp7F0651D4 -/* 099D28 7F0651B8 AE000018 */ sw $zero, 0x18($s0) -.Ljp7F0651BC: -/* 099D2C 7F0651BC 8E020028 */ lw $v0, 0x28($s0) -.Ljp7F0651C0: -/* 099D30 7F0651C0 50400005 */ beql $v0, $zero, .Ljp7F0651D8 -/* 099D34 7F0651C4 8E0F0024 */ lw $t7, 0x24($s0) -/* 099D38 7F0651C8 AE020024 */ sw $v0, 0x24($s0) -/* 099D3C 7F0651CC AE000020 */ sw $zero, 0x20($s0) -/* 099D40 7F0651D0 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F0651D4: -/* 099D44 7F0651D4 8E0F0024 */ lw $t7, 0x24($s0) -.Ljp7F0651D8: -/* 099D48 7F0651D8 AE000028 */ sw $zero, 0x28($s0) -/* 099D4C 7F0651DC 55E00056 */ bnezl $t7, .Ljp7F065338 -/* 099D50 7F0651E0 8E020024 */ lw $v0, 0x24($s0) -/* 099D54 7F0651E4 8E18002C */ lw $t8, 0x2c($s0) -/* 099D58 7F0651E8 57000053 */ bnezl $t8, .Ljp7F065338 -/* 099D5C 7F0651EC 8E020024 */ lw $v0, 0x24($s0) -/* 099D60 7F0651F0 50C00051 */ beql $a2, $zero, .Ljp7F065338 -/* 099D64 7F0651F4 8E020024 */ lw $v0, 0x24($s0) -/* 099D68 7F0651F8 0FC3021B */ jal get_controls_locked_flag -/* 099D6C 7F0651FC AFA601D4 */ sw $a2, 0x1d4($sp) -/* 099D70 7F065200 1440004C */ bnez $v0, .Ljp7F065334 -/* 099D74 7F065204 8FA601D4 */ lw $a2, 0x1d4($sp) -/* 099D78 7F065208 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 099D7C 7F06520C 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 099D80 7F065210 3C0E8003 */ lui $t6, %hi(D_80032458) # $t6, 0x8003 -/* 099D84 7F065214 8C5929C4 */ lw $t9, 0x29c4($v0) -/* 099D88 7F065218 57200047 */ bnezl $t9, .Ljp7F065338 -/* 099D8C 7F06521C 8E020024 */ lw $v0, 0x24($s0) -/* 099D90 7F065220 8DCE2498 */ lw $t6, %lo(D_80032458)($t6) -/* 099D94 7F065224 24010001 */ li $at, 1 -/* 099D98 7F065228 11C00009 */ beqz $t6, .Ljp7F065250 -/* 099D9C 7F06522C 00000000 */ nop -/* 099DA0 7F065230 14C10007 */ bne $a2, $at, .Ljp7F065250 -/* 099DA4 7F065234 00067880 */ sll $t7, $a2, 2 -/* 099DA8 7F065238 004F1821 */ addu $v1, $v0, $t7 -/* 099DAC 7F06523C 8C781130 */ lw $t8, 0x1130($v1) -/* 099DB0 7F065240 24190001 */ li $t9, 1 -/* 099DB4 7F065244 1F000002 */ bgtz $t8, .Ljp7F065250 -/* 099DB8 7F065248 00000000 */ nop -/* 099DBC 7F06524C AC791130 */ sw $t9, 0x1130($v1) -.Ljp7F065250: -/* 099DC0 7F065250 0FC1A658 */ jal get_ammo_in_hands_weapon -/* 099DC4 7F065254 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 099DC8 7F065258 18400006 */ blez $v0, .Ljp7F065274 -/* 099DCC 7F06525C 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 099DD0 7F065260 240E0009 */ li $t6, 9 -/* 099DD4 7F065264 AE0E0024 */ sw $t6, 0x24($s0) -/* 099DD8 7F065268 AE000020 */ sw $zero, 0x20($s0) -/* 099DDC 7F06526C 10000031 */ b .Ljp7F065334 -/* 099DE0 7F065270 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F065274: -/* 099DE4 7F065274 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 099DE8 7F065278 8FB901E0 */ lw $t9, 0x1e0($sp) -/* 099DEC 7F06527C 240E0001 */ li $t6, 1 -/* 099DF0 7F065280 8DF80FC8 */ lw $t8, 0xfc8($t7) -/* 099DF4 7F065284 01D92023 */ subu $a0, $t6, $t9 -/* 099DF8 7F065288 5300002B */ beql $t8, $zero, .Ljp7F065338 -/* 099DFC 7F06528C 8E020024 */ lw $v0, 0x24($s0) -/* 099E00 7F065290 0FC177D9 */ jal return_ammo_in_hand -/* 099E04 7F065294 AFA40040 */ sw $a0, 0x40($sp) -/* 099E08 7F065298 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 099E0C 7F06529C 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 099E10 7F0652A0 8FB8003C */ lw $t8, 0x3c($sp) -/* 099E14 7F0652A4 00402025 */ move $a0, $v0 -/* 099E18 7F0652A8 01F81823 */ subu $v1, $t7, $t8 -/* 099E1C 7F0652AC 8C6E0C3C */ lw $t6, 0xc3c($v1) -/* 099E20 7F0652B0 24630C18 */ addiu $v1, $v1, 0xc18 -/* 099E24 7F0652B4 55C00020 */ bnezl $t6, .Ljp7F065338 -/* 099E28 7F0652B8 8E020024 */ lw $v0, 0x24($s0) -/* 099E2C 7F0652BC 8C790028 */ lw $t9, 0x28($v1) -/* 099E30 7F0652C0 5720001D */ bnezl $t9, .Ljp7F065338 -/* 099E34 7F0652C4 8E020024 */ lw $v0, 0x24($s0) -/* 099E38 7F0652C8 1040000D */ beqz $v0, .Ljp7F065300 -/* 099E3C 7F0652CC 00000000 */ nop -/* 099E40 7F0652D0 8C6F002C */ lw $t7, 0x2c($v1) -/* 099E44 7F0652D4 55E00018 */ bnezl $t7, .Ljp7F065338 -/* 099E48 7F0652D8 8E020024 */ lw $v0, 0x24($s0) -/* 099E4C 7F0652DC 0FC1A686 */ jal get_ammo_type_for_weapon -/* 099E50 7F0652E0 AFA301CC */ sw $v1, 0x1cc($sp) -/* 099E54 7F0652E4 10400013 */ beqz $v0, .Ljp7F065334 -/* 099E58 7F0652E8 8FA301CC */ lw $v1, 0x1cc($sp) -/* 099E5C 7F0652EC 8FA40040 */ lw $a0, 0x40($sp) -/* 099E60 7F0652F0 0FC1A658 */ jal get_ammo_in_hands_weapon -/* 099E64 7F0652F4 AFA301CC */ sw $v1, 0x1cc($sp) -/* 099E68 7F0652F8 1C40000E */ bgtz $v0, .Ljp7F065334 -/* 099E6C 7F0652FC 8FA301CC */ lw $v1, 0x1cc($sp) -.Ljp7F065300: -/* 099E70 7F065300 0FC17748 */ jal autoadvance_on_deplete_all_ammo -/* 099E74 7F065304 AFA301CC */ sw $v1, 0x1cc($sp) -/* 099E78 7F065308 8FA301CC */ lw $v1, 0x1cc($sp) -/* 099E7C 7F06530C 8E180028 */ lw $t8, 0x28($s0) -/* 099E80 7F065310 AE00001C */ sw $zero, 0x1c($s0) -/* 099E84 7F065314 AE000020 */ sw $zero, 0x20($s0) -/* 099E88 7F065318 AE000028 */ sw $zero, 0x28($s0) -/* 099E8C 7F06531C AE180024 */ sw $t8, 0x24($s0) -/* 099E90 7F065320 8C6E0028 */ lw $t6, 0x28($v1) -/* 099E94 7F065324 AC60001C */ sw $zero, 0x1c($v1) -/* 099E98 7F065328 AC600020 */ sw $zero, 0x20($v1) -/* 099E9C 7F06532C AC600028 */ sw $zero, 0x28($v1) -/* 099EA0 7F065330 AC6E0024 */ sw $t6, 0x24($v1) -.Ljp7F065334: -/* 099EA4 7F065334 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F065338: -/* 099EA8 7F065338 24010001 */ li $at, 1 -/* 099EAC 7F06533C 1441007E */ bne $v0, $at, .Ljp7F065538 -/* 099EB0 7F065340 2639FFFF */ addiu $t9, $s1, -1 -/* 099EB4 7F065344 2F210058 */ sltiu $at, $t9, 0x58 -/* 099EB8 7F065348 10200076 */ beqz $at, Weapon_function_collectible -/* 099EBC 7F06534C 0019C880 */ sll $t9, $t9, 2 -/* 099EC0 7F065350 3C018005 */ lui $at, %hi(jpt_80053F24) -/* 099EC4 7F065354 00390821 */ addu $at, $at, $t9 -/* 099EC8 7F065358 8C393F54 */ lw $t9, %lo(jpt_80053F24)($at) -/* 099ECC 7F06535C 03200008 */ jr $t9 -/* 099ED0 7F065360 00000000 */ nop -Weapon_function_magnum: -/* 099ED4 7F065364 8E0F0020 */ lw $t7, 0x20($s0) -/* 099ED8 7F065368 24180002 */ li $t8, 2 -/* 099EDC 7F06536C 29E10006 */ slti $at, $t7, 6 -/* 099EE0 7F065370 54200070 */ bnezl $at, .Ljp7F065534 -/* 099EE4 7F065374 AE000398 */ sw $zero, 0x398($s0) -/* 099EE8 7F065378 AE180024 */ sw $t8, 0x24($s0) -/* 099EEC 7F06537C AE000020 */ sw $zero, 0x20($s0) -/* 099EF0 7F065380 1000006B */ b .Ljp7F065530 -/* 099EF4 7F065384 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_camera: -/* 099EF8 7F065388 8E0E001C */ lw $t6, 0x1c($s0) -/* 099EFC 7F06538C 00002025 */ move $a0, $zero -/* 099F00 7F065390 00002825 */ move $a1, $zero -/* 099F04 7F065394 15C00005 */ bnez $t6, .Ljp7F0653AC -/* 099F08 7F065398 00003025 */ move $a2, $zero -/* 099F0C 7F06539C 0FC20370 */ jal set_rgba_tint -/* 099F10 7F0653A0 3C073F80 */ lui $a3, 0x3f80 -/* 099F14 7F0653A4 10000063 */ b .Ljp7F065534 -/* 099F18 7F0653A8 AE000398 */ sw $zero, 0x398($s0) -.Ljp7F0653AC: -/* 099F1C 7F0653AC 8E190020 */ lw $t9, 0x20($s0) -/* 099F20 7F0653B0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 099F24 7F0653B4 00002825 */ move $a1, $zero -/* 099F28 7F0653B8 1B20005D */ blez $t9, .Ljp7F065530 -/* 099F2C 7F0653BC 00003025 */ move $a2, $zero -/* 099F30 7F0653C0 44802000 */ mtc1 $zero, $f4 -/* 099F34 7F0653C4 44816000 */ mtc1 $at, $f12 -/* 099F38 7F0653C8 00003825 */ move $a3, $zero -/* 099F3C 7F0653CC 0FC2037C */ jal sub_GAME_7F0807E0 -/* 099F40 7F0653D0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 099F44 7F0653D4 240F0002 */ li $t7, 2 -/* 099F48 7F0653D8 AE0F0024 */ sw $t7, 0x24($s0) -/* 099F4C 7F0653DC AE000020 */ sw $zero, 0x20($s0) -/* 099F50 7F0653E0 10000053 */ b .Ljp7F065530 -/* 099F54 7F0653E4 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_guns: -/* 099F58 7F0653E8 24180002 */ li $t8, 2 -/* 099F5C 7F0653EC AE180024 */ sw $t8, 0x24($s0) -/* 099F60 7F0653F0 AE000020 */ sw $zero, 0x20($s0) -/* 099F64 7F0653F4 1000004E */ b .Ljp7F065530 -/* 099F68 7F0653F8 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_throwable_item: -/* 099F6C 7F0653FC 240E001C */ li $t6, 28 -/* 099F70 7F065400 AE0E0024 */ sw $t6, 0x24($s0) -/* 099F74 7F065404 AE000020 */ sw $zero, 0x20($s0) -/* 099F78 7F065408 10000049 */ b .Ljp7F065530 -/* 099F7C 7F06540C AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_hunting_knife: -/* 099F80 7F065410 0C002918 */ jal get_random_value -/* 099F84 7F065414 00000000 */ nop -/* 099F88 7F065418 30590001 */ andi $t9, $v0, 1 -/* 099F8C 7F06541C 17200004 */ bnez $t9, .Ljp7F065430 -/* 099F90 7F065420 24180014 */ li $t8, 20 -/* 099F94 7F065424 240F0011 */ li $t7, 17 -/* 099F98 7F065428 10000002 */ b .Ljp7F065434 -/* 099F9C 7F06542C AE0F0024 */ sw $t7, 0x24($s0) -.Ljp7F065430: -/* 099FA0 7F065430 AE180024 */ sw $t8, 0x24($s0) -.Ljp7F065434: -/* 099FA4 7F065434 AE000020 */ sw $zero, 0x20($s0) -/* 099FA8 7F065438 1000003D */ b .Ljp7F065530 -/* 099FAC 7F06543C AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_grenades: -/* 099FB0 7F065440 8E0E0018 */ lw $t6, 0x18($s0) -/* 099FB4 7F065444 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 099FB8 7F065448 55C00006 */ bnezl $t6, .Ljp7F065464 -/* 099FBC 7F06544C 8E0F0020 */ lw $t7, 0x20($s0) -/* 099FC0 7F065450 8E190020 */ lw $t9, 0x20($s0) -/* 099FC4 7F065454 2B2100F0 */ slti $at, $t9, 0xf0 -/* 099FC8 7F065458 54200036 */ bnezl $at, .Ljp7F065534 -/* 099FCC 7F06545C AE000398 */ sw $zero, 0x398($s0) -/* 099FD0 7F065460 8E0F0020 */ lw $t7, 0x20($s0) -.Ljp7F065464: -/* 099FD4 7F065464 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 099FD8 7F065468 240E001A */ li $t6, 26 -/* 099FDC 7F06546C AF0F105C */ sw $t7, 0x105c($t8) -/* 099FE0 7F065470 AE0E0024 */ sw $t6, 0x24($s0) -/* 099FE4 7F065474 AE00001C */ sw $zero, 0x1c($s0) -/* 099FE8 7F065478 1000002D */ b .Ljp7F065530 -/* 099FEC 7F06547C AE000020 */ sw $zero, 0x20($s0) -Weapon_function_slapper: -/* 099FF0 7F065480 0C002918 */ jal get_random_value -/* 099FF4 7F065484 00000000 */ nop -/* 099FF8 7F065488 30590001 */ andi $t9, $v0, 1 -/* 099FFC 7F06548C 17200004 */ bnez $t9, .Ljp7F0654A0 -/* 09A000 7F065490 24180020 */ li $t8, 32 -/* 09A004 7F065494 240F001E */ li $t7, 30 -/* 09A008 7F065498 10000002 */ b .Ljp7F0654A4 -/* 09A00C 7F06549C AE0F0024 */ sw $t7, 0x24($s0) -.Ljp7F0654A0: -/* 09A010 7F0654A0 AE180024 */ sw $t8, 0x24($s0) -.Ljp7F0654A4: -/* 09A014 7F0654A4 AE000020 */ sw $zero, 0x20($s0) -/* 09A018 7F0654A8 10000021 */ b .Ljp7F065530 -/* 09A01C 7F0654AC AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_throwing_knife: -/* 09A020 7F0654B0 240E0017 */ li $t6, 23 -/* 09A024 7F0654B4 AE0E0024 */ sw $t6, 0x24($s0) -/* 09A028 7F0654B8 AE000020 */ sw $zero, 0x20($s0) -/* 09A02C 7F0654BC 1000001C */ b .Ljp7F065530 -/* 09A030 7F0654C0 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_tazer: -/* 09A034 7F0654C4 8E190020 */ lw $t9, 0x20($s0) -/* 09A038 7F0654C8 3C048003 */ lui $a0, %hi(D_80035A90) # $a0, 0x8003 -/* 09A03C 7F0654CC 24845AD0 */ addiu $a0, %lo(D_80035A90) # addiu $a0, $a0, 0x5ad0 -/* 09A040 7F0654D0 44993000 */ mtc1 $t9, $f6 -/* 09A044 7F0654D4 2606007C */ addiu $a2, $s0, 0x7c -/* 09A048 7F0654D8 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09A04C 7F0654DC 46803020 */ cvt.s.w $f0, $f6 -/* 09A050 7F0654E0 44050000 */ mfc1 $a1, $f0 -/* 09A054 7F0654E4 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09A058 7F0654E8 00000000 */ nop -/* 09A05C 7F0654EC 10400004 */ beqz $v0, .Ljp7F065500 -/* 09A060 7F0654F0 24180002 */ li $t8, 2 -/* 09A064 7F0654F4 240F0001 */ li $t7, 1 -/* 09A068 7F0654F8 1000000D */ b .Ljp7F065530 -/* 09A06C 7F0654FC AE0F00BC */ sw $t7, 0xbc($s0) -.Ljp7F065500: -/* 09A070 7F065500 AE180024 */ sw $t8, 0x24($s0) -/* 09A074 7F065504 AE000020 */ sw $zero, 0x20($s0) -/* 09A078 7F065508 10000009 */ b .Ljp7F065530 -/* 09A07C 7F06550C AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_key: -/* 09A080 7F065510 240E0024 */ li $t6, 36 -/* 09A084 7F065514 AE0E0024 */ sw $t6, 0x24($s0) -/* 09A088 7F065518 AE000020 */ sw $zero, 0x20($s0) -/* 09A08C 7F06551C 10000004 */ b .Ljp7F065530 -/* 09A090 7F065520 AE00001C */ sw $zero, 0x1c($s0) -Weapon_function_collectible: -/* 09A094 7F065524 AE000024 */ sw $zero, 0x24($s0) -/* 09A098 7F065528 AE000020 */ sw $zero, 0x20($s0) -/* 09A09C 7F06552C AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F065530: -/* 09A0A0 7F065530 AE000398 */ sw $zero, 0x398($s0) -.Ljp7F065534: -/* 09A0A4 7F065534 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F065538: -/* 09A0A8 7F065538 24010002 */ li $at, 2 -/* 09A0AC 7F06553C 5441016C */ bnel $v0, $at, .Ljp7F065AF0 -/* 09A0B0 7F065540 8E0E0024 */ lw $t6, 0x24($s0) -/* 09A0B4 7F065544 0FC1A686 */ jal get_ammo_type_for_weapon -/* 09A0B8 7F065548 02202025 */ move $a0, $s1 -/* 09A0BC 7F06554C 10400003 */ beqz $v0, .Ljp7F06555C -/* 09A0C0 7F065550 262FFFFE */ addiu $t7, $s1, -2 -/* 09A0C4 7F065554 8E19002C */ lw $t9, 0x2c($s0) -/* 09A0C8 7F065558 1B200148 */ blez $t9, .Ljp7F065A7C -.Ljp7F06555C: -/* 09A0CC 7F06555C 2DE1003B */ sltiu $at, $t7, 0x3b -/* 09A0D0 7F065560 102000AF */ beqz $at, Weapon_shooting_throwable -/* 09A0D4 7F065564 000F7880 */ sll $t7, $t7, 2 -/* 09A0D8 7F065568 3C018005 */ lui $at, %hi(jpt_80054084) -/* 09A0DC 7F06556C 002F0821 */ addu $at, $at, $t7 -/* 09A0E0 7F065570 8C2F40B4 */ lw $t7, %lo(jpt_80054084)($at) -/* 09A0E4 7F065574 01E00008 */ jr $t7 -/* 09A0E8 7F065578 00000000 */ nop -Weapon_shooting_watch_magnet: -/* 09A0EC 7F06557C 8E18001C */ lw $t8, 0x1c($s0) -/* 09A0F0 7F065580 240F0003 */ li $t7, 3 -/* 09A0F4 7F065584 5700000D */ bnezl $t8, .Ljp7F0655BC -/* 09A0F8 7F065588 AE0F0024 */ sw $t7, 0x24($s0) -/* 09A0FC 7F06558C 0FC3021B */ jal get_controls_locked_flag -/* 09A100 7F065590 00000000 */ nop -/* 09A104 7F065594 2C450001 */ sltiu $a1, $v0, 1 -/* 09A108 7F065598 10A00005 */ beqz $a1, .Ljp7F0655B0 -/* 09A10C 7F06559C 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 09A110 7F0655A0 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 09A114 7F0655A4 8DC529C4 */ lw $a1, 0x29c4($t6) -/* 09A118 7F0655A8 2CB90001 */ sltiu $t9, $a1, 1 -/* 09A11C 7F0655AC 03202825 */ move $a1, $t9 -.Ljp7F0655B0: -/* 09A120 7F0655B0 1000009B */ b Weapon_shooting_throwable -/* 09A124 7F0655B4 A205000C */ sb $a1, 0xc($s0) -/* 09A128 7F0655B8 AE0F0024 */ sw $t7, 0x24($s0) -.Ljp7F0655BC: -/* 09A12C 7F0655BC AE000020 */ sw $zero, 0x20($s0) -/* 09A130 7F0655C0 10000097 */ b Weapon_shooting_throwable -/* 09A134 7F0655C4 AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_pistol: -/* 09A138 7F0655C8 8E18001C */ lw $t8, 0x1c($s0) -/* 09A13C 7F0655CC 24190003 */ li $t9, 3 -/* 09A140 7F0655D0 5700001E */ bnezl $t8, .Ljp7F06564C -/* 09A144 7F0655D4 AE190024 */ sw $t9, 0x24($s0) -/* 09A148 7F0655D8 0FC26C01 */ jal get_num_players -/* 09A14C 7F0655DC 00000000 */ nop -/* 09A150 7F0655E0 24010001 */ li $at, 1 -/* 09A154 7F0655E4 50410009 */ beql $v0, $at, .Ljp7F06560C -/* 09A158 7F0655E8 240F0001 */ li $t7, 1 -/* 09A15C 7F0655EC 0FC31B59 */ jal checkGamePaused -/* 09A160 7F0655F0 00000000 */ nop -/* 09A164 7F0655F4 14400006 */ bnez $v0, .Ljp7F065610 -/* 09A168 7F0655F8 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 09A16C 7F0655FC 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 09A170 7F065600 8DD929C4 */ lw $t9, 0x29c4($t6) -/* 09A174 7F065604 17200002 */ bnez $t9, .Ljp7F065610 -/* 09A178 7F065608 240F0001 */ li $t7, 1 -.Ljp7F06560C: -/* 09A17C 7F06560C A20F000D */ sb $t7, 0xd($s0) -.Ljp7F065610: -/* 09A180 7F065610 0FC3021B */ jal get_controls_locked_flag -/* 09A184 7F065614 00000000 */ nop -/* 09A188 7F065618 2C450001 */ sltiu $a1, $v0, 1 -/* 09A18C 7F06561C 10A00005 */ beqz $a1, .Ljp7F065634 -/* 09A190 7F065620 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09A194 7F065624 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 09A198 7F065628 8F0529C4 */ lw $a1, 0x29c4($t8) -/* 09A19C 7F06562C 2CAE0001 */ sltiu $t6, $a1, 1 -/* 09A1A0 7F065630 01C02825 */ move $a1, $t6 -.Ljp7F065634: -/* 09A1A4 7F065634 A205000C */ sb $a1, 0xc($s0) -/* 09A1A8 7F065638 0FC17B4A */ jal sub_GAME_7F05E808 -/* 09A1AC 7F06563C 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09A1B0 7F065640 10000078 */ b .Ljp7F065824 -/* 09A1B4 7F065644 820F000C */ lb $t7, 0xc($s0) -/* 09A1B8 7F065648 AE190024 */ sw $t9, 0x24($s0) -.Ljp7F06564C: -/* 09A1BC 7F06564C AE000020 */ sw $zero, 0x20($s0) -/* 09A1C0 7F065650 10000073 */ b Weapon_shooting_throwable -/* 09A1C4 7F065654 AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_machinegun: -/* 09A1C8 7F065658 8E0F001C */ lw $t7, 0x1c($s0) -/* 09A1CC 7F06565C 11E00013 */ beqz $t7, .Ljp7F0656AC -/* 09A1D0 7F065660 00000000 */ nop -/* 09A1D4 7F065664 8E180010 */ lw $t8, 0x10($s0) -/* 09A1D8 7F065668 02202025 */ move $a0, $s1 -/* 09A1DC 7F06566C 1700000F */ bnez $t8, .Ljp7F0656AC -/* 09A1E0 7F065670 00000000 */ nop -/* 09A1E4 7F065674 0FC17975 */ jal check_special_attributes -/* 09A1E8 7F065678 24050004 */ li $a1, 4 -/* 09A1EC 7F06567C 50400035 */ beql $v0, $zero, .Ljp7F065754 -/* 09A1F0 7F065680 24190003 */ li $t9, 3 -/* 09A1F4 7F065684 0FC1F301 */ jal get_BONDdata_is_aiming -/* 09A1F8 7F065688 00000000 */ nop -/* 09A1FC 7F06568C 54400031 */ bnezl $v0, .Ljp7F065754 -/* 09A200 7F065690 24190003 */ li $t9, 3 -/* 09A204 7F065694 8E0E0398 */ lw $t6, 0x398($s0) -/* 09A208 7F065698 24010003 */ li $at, 3 -/* 09A20C 7F06569C 01C1001A */ div $zero, $t6, $at -/* 09A210 7F0656A0 0000C810 */ mfhi $t9 -/* 09A214 7F0656A4 5320002B */ beql $t9, $zero, .Ljp7F065754 -/* 09A218 7F0656A8 24190003 */ li $t9, 3 -.Ljp7F0656AC: -/* 09A21C 7F0656AC 0FC1793B */ jal get_automatic_firing_rate -/* 09A220 7F0656B0 02202025 */ move $a0, $s1 -/* 09A224 7F0656B4 8E0F001C */ lw $t7, 0x1c($s0) -/* 09A228 7F0656B8 01E2001A */ div $zero, $t7, $v0 -/* 09A22C 7F0656BC 0000C010 */ mfhi $t8 -/* 09A230 7F0656C0 14400002 */ bnez $v0, .Ljp7F0656CC -/* 09A234 7F0656C4 00000000 */ nop -/* 09A238 7F0656C8 0007000D */ break 7 -.Ljp7F0656CC: -/* 09A23C 7F0656CC 2401FFFF */ li $at, -1 -/* 09A240 7F0656D0 14410004 */ bne $v0, $at, .Ljp7F0656E4 -/* 09A244 7F0656D4 3C018000 */ lui $at, 0x8000 -/* 09A248 7F0656D8 15E10002 */ bne $t7, $at, .Ljp7F0656E4 -/* 09A24C 7F0656DC 00000000 */ nop -/* 09A250 7F0656E0 0006000D */ break 6 -.Ljp7F0656E4: -/* 09A254 7F0656E4 5700004F */ bnezl $t8, .Ljp7F065824 -/* 09A258 7F0656E8 820F000C */ lb $t7, 0xc($s0) -/* 09A25C 7F0656EC 0FC26C01 */ jal get_num_players -/* 09A260 7F0656F0 00000000 */ nop -/* 09A264 7F0656F4 24010001 */ li $at, 1 -/* 09A268 7F0656F8 50410009 */ beql $v0, $at, .Ljp7F065720 -/* 09A26C 7F0656FC 240F0001 */ li $t7, 1 -/* 09A270 7F065700 0FC31B59 */ jal checkGamePaused -/* 09A274 7F065704 00000000 */ nop -/* 09A278 7F065708 14400006 */ bnez $v0, .Ljp7F065724 -/* 09A27C 7F06570C 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 09A280 7F065710 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 09A284 7F065714 8DD929C4 */ lw $t9, 0x29c4($t6) -/* 09A288 7F065718 17200002 */ bnez $t9, .Ljp7F065724 -/* 09A28C 7F06571C 240F0001 */ li $t7, 1 -.Ljp7F065720: -/* 09A290 7F065720 A20F000D */ sb $t7, 0xd($s0) -.Ljp7F065724: -/* 09A294 7F065724 0FC3021B */ jal get_controls_locked_flag -/* 09A298 7F065728 00000000 */ nop -/* 09A29C 7F06572C 2C450001 */ sltiu $a1, $v0, 1 -/* 09A2A0 7F065730 10A00005 */ beqz $a1, .Ljp7F065748 -/* 09A2A4 7F065734 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09A2A8 7F065738 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 09A2AC 7F06573C 8F0529C4 */ lw $a1, 0x29c4($t8) -/* 09A2B0 7F065740 2CAE0001 */ sltiu $t6, $a1, 1 -/* 09A2B4 7F065744 01C02825 */ move $a1, $t6 -.Ljp7F065748: -/* 09A2B8 7F065748 10000035 */ b Weapon_shooting_throwable -/* 09A2BC 7F06574C A205000C */ sb $a1, 0xc($s0) -/* 09A2C0 7F065750 24190003 */ li $t9, 3 -.Ljp7F065754: -/* 09A2C4 7F065754 AE190024 */ sw $t9, 0x24($s0) -/* 09A2C8 7F065758 AE000020 */ sw $zero, 0x20($s0) -/* 09A2CC 7F06575C 10000030 */ b Weapon_shooting_throwable -/* 09A2D0 7F065760 AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_noammo: -/* 09A2D4 7F065764 8E0F001C */ lw $t7, 0x1c($s0) -/* 09A2D8 7F065768 51E00006 */ beql $t7, $zero, .Ljp7F065784 -/* 09A2DC 7F06576C A200000C */ sb $zero, 0xc($s0) -/* 09A2E0 7F065770 8E180010 */ lw $t8, 0x10($s0) -/* 09A2E4 7F065774 24190003 */ li $t9, 3 -/* 09A2E8 7F065778 53000006 */ beql $t8, $zero, .Ljp7F065794 -/* 09A2EC 7F06577C AE190024 */ sw $t9, 0x24($s0) -/* 09A2F0 7F065780 A200000C */ sb $zero, 0xc($s0) -.Ljp7F065784: -/* 09A2F4 7F065784 820E000C */ lb $t6, 0xc($s0) -/* 09A2F8 7F065788 10000025 */ b Weapon_shooting_throwable -/* 09A2FC 7F06578C A20E000D */ sb $t6, 0xd($s0) -/* 09A300 7F065790 AE190024 */ sw $t9, 0x24($s0) -.Ljp7F065794: -/* 09A304 7F065794 AE000020 */ sw $zero, 0x20($s0) -/* 09A308 7F065798 10000021 */ b Weapon_shooting_throwable -/* 09A30C 7F06579C AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_tazer: -/* 09A310 7F0657A0 8E0F001C */ lw $t7, 0x1c($s0) -/* 09A314 7F0657A4 3C048003 */ lui $a0, %hi(D_80035B68) # $a0, 0x8003 -/* 09A318 7F0657A8 24845BA8 */ addiu $a0, %lo(D_80035B68) # addiu $a0, $a0, 0x5ba8 -/* 09A31C 7F0657AC 11E00004 */ beqz $t7, .Ljp7F0657C0 -/* 09A320 7F0657B0 24050000 */ li $a1, 0 -/* 09A324 7F0657B4 8E180010 */ lw $t8, 0x10($s0) -/* 09A328 7F0657B8 24190003 */ li $t9, 3 -/* 09A32C 7F0657BC 13000015 */ beqz $t8, .Ljp7F065814 -.Ljp7F0657C0: -/* 09A330 7F0657C0 2606007C */ addiu $a2, $s0, 0x7c -/* 09A334 7F0657C4 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09A338 7F0657C8 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09A33C 7F0657CC 8E0F001C */ lw $t7, 0x1c($s0) -/* 09A340 7F0657D0 A200000C */ sb $zero, 0xc($s0) -/* 09A344 7F0657D4 8219000C */ lb $t9, 0xc($s0) -/* 09A348 7F0657D8 240E0001 */ li $t6, 1 -/* 09A34C 7F0657DC AE0E00BC */ sw $t6, 0xbc($s0) -/* 09A350 7F0657E0 15E0000F */ bnez $t7, Weapon_shooting_throwable -/* 09A354 7F0657E4 A219000D */ sb $t9, 0xd($s0) -/* 09A358 7F0657E8 0FC3021B */ jal get_controls_locked_flag -/* 09A35C 7F0657EC 00000000 */ nop -/* 09A360 7F0657F0 2C450001 */ sltiu $a1, $v0, 1 -/* 09A364 7F0657F4 10A00005 */ beqz $a1, .Ljp7F06580C -/* 09A368 7F0657F8 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09A36C 7F0657FC 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 09A370 7F065800 8F0529C4 */ lw $a1, 0x29c4($t8) -/* 09A374 7F065804 2CAE0001 */ sltiu $t6, $a1, 1 -/* 09A378 7F065808 01C02825 */ move $a1, $t6 -.Ljp7F06580C: -/* 09A37C 7F06580C 10000004 */ b Weapon_shooting_throwable -/* 09A380 7F065810 A205000C */ sb $a1, 0xc($s0) -.Ljp7F065814: -/* 09A384 7F065814 AE190024 */ sw $t9, 0x24($s0) -/* 09A388 7F065818 AE000020 */ sw $zero, 0x20($s0) -/* 09A38C 7F06581C AE00001C */ sw $zero, 0x1c($s0) -Weapon_shooting_throwable: -/* 09A390 7F065820 820F000C */ lb $t7, 0xc($s0) -.Ljp7F065824: -/* 09A394 7F065824 24010028 */ li $at, 40 -/* 09A398 7F065828 51E0001E */ beql $t7, $zero, .Ljp7F0658A4 -/* 09A39C 7F06582C 8E0E0024 */ lw $t6, 0x24($s0) -/* 09A3A0 7F065830 52210016 */ beql $s1, $at, .Ljp7F06588C -/* 09A3A4 7F065834 8E0E002C */ lw $t6, 0x2c($s0) -/* 09A3A8 7F065838 0FC26F3C */ jal get_cur_playernum -/* 09A3AC 7F06583C 00000000 */ nop -/* 09A3B0 7F065840 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 09A3B4 7F065844 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 09A3B8 7F065848 0C00322E */ jal controller_7000C854 -/* 09A3BC 7F06584C 00402025 */ move $a0, $v0 -/* 09A3C0 7F065850 0FC29658 */ jal cur_player_get_control_type -/* 09A3C4 7F065854 00000000 */ nop -/* 09A3C8 7F065858 28410004 */ slti $at, $v0, 4 -/* 09A3CC 7F06585C 5420000B */ bnezl $at, .Ljp7F06588C -/* 09A3D0 7F065860 8E0E002C */ lw $t6, 0x2c($s0) -/* 09A3D4 7F065864 0FC26F3C */ jal get_cur_playernum -/* 09A3D8 7F065868 00000000 */ nop -/* 09A3DC 7F06586C 0FC26C01 */ jal get_num_players -/* 09A3E0 7F065870 AFA2004C */ sw $v0, 0x4c($sp) -/* 09A3E4 7F065874 8FB8004C */ lw $t8, 0x4c($sp) -/* 09A3E8 7F065878 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 09A3EC 7F06587C 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 09A3F0 7F065880 0C00322E */ jal controller_7000C854 -/* 09A3F4 7F065884 00582021 */ addu $a0, $v0, $t8 -/* 09A3F8 7F065888 8E0E002C */ lw $t6, 0x2c($s0) -.Ljp7F06588C: -/* 09A3FC 7F06588C 8E0F0398 */ lw $t7, 0x398($s0) -/* 09A400 7F065890 25D9FFFF */ addiu $t9, $t6, -1 -/* 09A404 7F065894 25F80001 */ addiu $t8, $t7, 1 -/* 09A408 7F065898 AE19002C */ sw $t9, 0x2c($s0) -/* 09A40C 7F06589C AE180398 */ sw $t8, 0x398($s0) -/* 09A410 7F0658A0 8E0E0024 */ lw $t6, 0x24($s0) -.Ljp7F0658A4: -/* 09A414 7F0658A4 24010002 */ li $at, 2 -/* 09A418 7F0658A8 02202025 */ move $a0, $s1 -/* 09A41C 7F0658AC 55C10090 */ bnel $t6, $at, .Ljp7F065AF0 -/* 09A420 7F0658B0 8E0E0024 */ lw $t6, 0x24($s0) -/* 09A424 7F0658B4 0FC17944 */ jal get_sound_trigger_rate -/* 09A428 7F0658B8 AFA001C4 */ sw $zero, 0x1c4($sp) -/* 09A42C 7F0658BC 18400017 */ blez $v0, .Ljp7F06591C -/* 09A430 7F0658C0 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 09A434 7F0658C4 8FAF003C */ lw $t7, 0x3c($sp) -/* 09A438 7F0658C8 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 09A43C 7F0658CC 3C028005 */ lui $v0, %hi(global_timer) # $v0, 0x8005 -/* 09A440 7F0658D0 000FC023 */ negu $t8, $t7 -/* 09A444 7F0658D4 03387021 */ addu $t6, $t9, $t8 -/* 09A448 7F0658D8 8DCF0DF8 */ lw $t7, 0xdf8($t6) -/* 09A44C 7F0658DC 8C4283AC */ lw $v0, %lo(global_timer)($v0) -/* 09A450 7F0658E0 104F0013 */ beq $v0, $t7, .Ljp7F065930 -/* 09A454 7F0658E4 00000000 */ nop -/* 09A458 7F0658E8 8E1901DC */ lw $t9, 0x1dc($s0) -/* 09A45C 7F0658EC 0322082A */ slt $at, $t9, $v0 -/* 09A460 7F0658F0 1020000F */ beqz $at, .Ljp7F065930 -/* 09A464 7F0658F4 00000000 */ nop -/* 09A468 7F0658F8 0FC17944 */ jal get_sound_trigger_rate -/* 09A46C 7F0658FC 02202025 */ move $a0, $s1 -/* 09A470 7F065900 3C188005 */ lui $t8, %hi(global_timer) # $t8, 0x8005 -/* 09A474 7F065904 8F1883AC */ lw $t8, %lo(global_timer)($t8) -/* 09A478 7F065908 240F0001 */ li $t7, 1 -/* 09A47C 7F06590C 00587021 */ addu $t6, $v0, $t8 -/* 09A480 7F065910 AE0E01DC */ sw $t6, 0x1dc($s0) -/* 09A484 7F065914 10000006 */ b .Ljp7F065930 -/* 09A488 7F065918 AFAF01C4 */ sw $t7, 0x1c4($sp) -.Ljp7F06591C: -/* 09A48C 7F06591C 8219000C */ lb $t9, 0xc($s0) -/* 09A490 7F065920 24180001 */ li $t8, 1 -/* 09A494 7F065924 13200002 */ beqz $t9, .Ljp7F065930 -/* 09A498 7F065928 00000000 */ nop -/* 09A49C 7F06592C AFB801C4 */ sw $t8, 0x1c4($sp) -.Ljp7F065930: -/* 09A4A0 7F065930 0FC26C01 */ jal get_num_players -/* 09A4A4 7F065934 00000000 */ nop -/* 09A4A8 7F065938 24010001 */ li $at, 1 -/* 09A4AC 7F06593C 5041000A */ beql $v0, $at, .Ljp7F065968 -/* 09A4B0 7F065940 8FB901C4 */ lw $t9, 0x1c4($sp) -/* 09A4B4 7F065944 0FC31B59 */ jal checkGamePaused -/* 09A4B8 7F065948 00000000 */ nop -/* 09A4BC 7F06594C 14400067 */ bnez $v0, .Ljp7F065AEC -/* 09A4C0 7F065950 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 09A4C4 7F065954 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 09A4C8 7F065958 8DCF29C4 */ lw $t7, 0x29c4($t6) -/* 09A4CC 7F06595C 55E00064 */ bnezl $t7, .Ljp7F065AF0 -/* 09A4D0 7F065960 8E0E0024 */ lw $t6, 0x24($s0) -/* 09A4D4 7F065964 8FB901C4 */ lw $t9, 0x1c4($sp) -.Ljp7F065968: -/* 09A4D8 7F065968 53200035 */ beql $t9, $zero, .Ljp7F065A40 -/* 09A4DC 7F06596C 24010017 */ li $at, 23 -/* 09A4E0 7F065970 8E0401D4 */ lw $a0, 0x1d4($s0) -/* 09A4E4 7F065974 50800008 */ beql $a0, $zero, .Ljp7F065998 -/* 09A4E8 7F065978 8E0401D8 */ lw $a0, 0x1d8($s0) -/* 09A4EC 7F06597C 0C002380 */ jal sfxGetArg0Unk3F -/* 09A4F0 7F065980 00000000 */ nop -/* 09A4F4 7F065984 50400004 */ beql $v0, $zero, .Ljp7F065998 -/* 09A4F8 7F065988 8E0401D8 */ lw $a0, 0x1d8($s0) -/* 09A4FC 7F06598C 0C00240C */ jal sfxDeactivate -/* 09A500 7F065990 8E0401D4 */ lw $a0, 0x1d4($s0) -/* 09A504 7F065994 8E0401D8 */ lw $a0, 0x1d8($s0) -.Ljp7F065998: -/* 09A508 7F065998 10800007 */ beqz $a0, .Ljp7F0659B8 -/* 09A50C 7F06599C 00000000 */ nop -/* 09A510 7F0659A0 0C002380 */ jal sfxGetArg0Unk3F -/* 09A514 7F0659A4 00000000 */ nop -/* 09A518 7F0659A8 10400003 */ beqz $v0, .Ljp7F0659B8 -/* 09A51C 7F0659AC 00000000 */ nop -/* 09A520 7F0659B0 0C00240C */ jal sfxDeactivate -/* 09A524 7F0659B4 8E0401D8 */ lw $a0, 0x1d8($s0) -.Ljp7F0659B8: -/* 09A528 7F0659B8 0FC1794D */ jal sub_GAME_7F05E014 -/* 09A52C 7F0659BC 02202025 */ move $a0, $s1 -/* 09A530 7F0659C0 5040001F */ beql $v0, $zero, .Ljp7F065A40 -/* 09A534 7F0659C4 24010017 */ li $at, 23 -/* 09A538 7F0659C8 8E1801D4 */ lw $t8, 0x1d4($s0) -/* 09A53C 7F0659CC 5700000D */ bnezl $t8, .Ljp7F065A04 -/* 09A540 7F0659D0 8E0F01D8 */ lw $t7, 0x1d8($s0) -/* 09A544 7F0659D4 0FC1794D */ jal sub_GAME_7F05E014 -/* 09A548 7F0659D8 02202025 */ move $a0, $s1 -/* 09A54C 7F0659DC 00022C00 */ sll $a1, $v0, 0x10 -/* 09A550 7F0659E0 00057403 */ sra $t6, $a1, 0x10 -/* 09A554 7F0659E4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09A558 7F0659E8 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A55C 7F0659EC 01C02825 */ move $a1, $t6 -/* 09A560 7F0659F0 0C002386 */ jal play_sfx_a1 -/* 09A564 7F0659F4 260601D4 */ addiu $a2, $s0, 0x1d4 -/* 09A568 7F0659F8 1000000D */ b .Ljp7F065A30 -/* 09A56C 7F0659FC 00000000 */ nop -/* 09A570 7F065A00 8E0F01D8 */ lw $t7, 0x1d8($s0) -.Ljp7F065A04: -/* 09A574 7F065A04 15E0000A */ bnez $t7, .Ljp7F065A30 -/* 09A578 7F065A08 00000000 */ nop -/* 09A57C 7F065A0C 0FC1794D */ jal sub_GAME_7F05E014 -/* 09A580 7F065A10 02202025 */ move $a0, $s1 -/* 09A584 7F065A14 00022C00 */ sll $a1, $v0, 0x10 -/* 09A588 7F065A18 0005CC03 */ sra $t9, $a1, 0x10 -/* 09A58C 7F065A1C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09A590 7F065A20 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A594 7F065A24 03202825 */ move $a1, $t9 -/* 09A598 7F065A28 0C002386 */ jal play_sfx_a1 -/* 09A59C 7F065A2C 260601D8 */ addiu $a2, $s0, 0x1d8 -.Ljp7F065A30: -/* 09A5A0 7F065A30 3C188005 */ lui $t8, %hi(global_timer) # $t8, 0x8005 -/* 09A5A4 7F065A34 8F1883AC */ lw $t8, %lo(global_timer)($t8) -/* 09A5A8 7F065A38 AE1801E0 */ sw $t8, 0x1e0($s0) -/* 09A5AC 7F065A3C 24010017 */ li $at, 23 -.Ljp7F065A40: -/* 09A5B0 7F065A40 1621002A */ bne $s1, $at, .Ljp7F065AEC -/* 09A5B4 7F065A44 3C0E8003 */ lui $t6, %hi(D_80035E90) # $t6, 0x8003 -/* 09A5B8 7F065A48 8DCE5ED0 */ lw $t6, %lo(D_80035E90)($t6) -/* 09A5BC 7F065A4C 0C002918 */ jal get_random_value -/* 09A5C0 7F065A50 AFAE01C0 */ sw $t6, 0x1c0($sp) -/* 09A5C4 7F065A54 304F0001 */ andi $t7, $v0, 1 -/* 09A5C8 7F065A58 000FC840 */ sll $t9, $t7, 1 -/* 09A5CC 7F065A5C 03B92821 */ addu $a1, $sp, $t9 -/* 09A5D0 7F065A60 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09A5D4 7F065A64 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A5D8 7F065A68 84A501C0 */ lh $a1, 0x1c0($a1) -/* 09A5DC 7F065A6C 0C002386 */ jal play_sfx_a1 -/* 09A5E0 7F065A70 00003025 */ move $a2, $zero -/* 09A5E4 7F065A74 1000001E */ b .Ljp7F065AF0 -/* 09A5E8 7F065A78 8E0E0024 */ lw $t6, 0x24($s0) -.Ljp7F065A7C: -/* 09A5EC 7F065A7C 8E18001C */ lw $t8, 0x1c($s0) -/* 09A5F0 7F065A80 240E0003 */ li $t6, 3 -/* 09A5F4 7F065A84 240F000D */ li $t7, 13 -/* 09A5F8 7F065A88 5B000006 */ blezl $t8, .Ljp7F065AA4 -/* 09A5FC 7F065A8C AE0F0024 */ sw $t7, 0x24($s0) -/* 09A600 7F065A90 AE0E0024 */ sw $t6, 0x24($s0) -/* 09A604 7F065A94 AE000020 */ sw $zero, 0x20($s0) -/* 09A608 7F065A98 10000014 */ b .Ljp7F065AEC -/* 09A60C 7F065A9C AE00001C */ sw $zero, 0x1c($s0) -/* 09A610 7F065AA0 AE0F0024 */ sw $t7, 0x24($s0) -.Ljp7F065AA4: -/* 09A614 7F065AA4 AE000020 */ sw $zero, 0x20($s0) -/* 09A618 7F065AA8 0FC26C01 */ jal get_num_players -/* 09A61C 7F065AAC AE00001C */ sw $zero, 0x1c($s0) -/* 09A620 7F065AB0 24010001 */ li $at, 1 -/* 09A624 7F065AB4 10410008 */ beq $v0, $at, .Ljp7F065AD8 -/* 09A628 7F065AB8 00000000 */ nop -/* 09A62C 7F065ABC 0FC31B59 */ jal checkGamePaused -/* 09A630 7F065AC0 00000000 */ nop -/* 09A634 7F065AC4 14400009 */ bnez $v0, .Ljp7F065AEC -/* 09A638 7F065AC8 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 09A63C 7F065ACC 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 09A640 7F065AD0 8F3829C4 */ lw $t8, 0x29c4($t9) -/* 09A644 7F065AD4 17000005 */ bnez $t8, .Ljp7F065AEC -.Ljp7F065AD8: -/* 09A648 7F065AD8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09A64C 7F065ADC 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09A650 7F065AE0 24050059 */ li $a1, 89 -/* 09A654 7F065AE4 0C002386 */ jal play_sfx_a1 -/* 09A658 7F065AE8 00003025 */ move $a2, $zero -.Ljp7F065AEC: -/* 09A65C 7F065AEC 8E0E0024 */ lw $t6, 0x24($s0) -.Ljp7F065AF0: -/* 09A660 7F065AF0 24010003 */ li $at, 3 -/* 09A664 7F065AF4 15C100D5 */ bne $t6, $at, .Ljp7F065E4C -/* 09A668 7F065AF8 2401001F */ li $at, 31 -/* 09A66C 7F065AFC 16210013 */ bne $s1, $at, .Ljp7F065B4C -/* 09A670 7F065B00 00000000 */ nop -/* 09A674 7F065B04 8E0F0020 */ lw $t7, 0x20($s0) -/* 09A678 7F065B08 3C048003 */ lui $a0, %hi(D_80035B68) # $a0, 0x8003 -/* 09A67C 7F065B0C 24845BA8 */ addiu $a0, %lo(D_80035B68) # addiu $a0, $a0, 0x5ba8 -/* 09A680 7F065B10 448F4000 */ mtc1 $t7, $f8 -/* 09A684 7F065B14 2606007C */ addiu $a2, $s0, 0x7c -/* 09A688 7F065B18 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09A68C 7F065B1C 46804020 */ cvt.s.w $f0, $f8 -/* 09A690 7F065B20 44050000 */ mfc1 $a1, $f0 -/* 09A694 7F065B24 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09A698 7F065B28 00000000 */ nop -/* 09A69C 7F065B2C 10400003 */ beqz $v0, .Ljp7F065B3C -/* 09A6A0 7F065B30 24190001 */ li $t9, 1 -/* 09A6A4 7F065B34 100000C5 */ b .Ljp7F065E4C -/* 09A6A8 7F065B38 AE1900BC */ sw $t9, 0xbc($s0) -.Ljp7F065B3C: -/* 09A6AC 7F065B3C AE000024 */ sw $zero, 0x24($s0) -/* 09A6B0 7F065B40 AE000020 */ sw $zero, 0x20($s0) -/* 09A6B4 7F065B44 100000C1 */ b .Ljp7F065E4C -/* 09A6B8 7F065B48 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F065B4C: -/* 09A6BC 7F065B4C 0FC17375 */ jal get_ptr_item_statistics -/* 09A6C0 7F065B50 02202025 */ move $a0, $s1 -/* 09A6C4 7F065B54 8E050018 */ lw $a1, 0x18($s0) -/* 09A6C8 7F065B58 804A0047 */ lb $t2, 0x47($v0) -/* 09A6CC 7F065B5C 80440023 */ lb $a0, 0x23($v0) -/* 09A6D0 7F065B60 00406825 */ move $t5, $v0 -/* 09A6D4 7F065B64 80460044 */ lb $a2, 0x44($v0) -/* 09A6D8 7F065B68 804B0045 */ lb $t3, 0x45($v0) -/* 09A6DC 7F065B6C 80480046 */ lb $t0, 0x46($v0) -/* 09A6E0 7F065B70 01404825 */ move $t1, $t2 -/* 09A6E4 7F065B74 10A00006 */ beqz $a1, .Ljp7F065B90 -/* 09A6E8 7F065B78 00806025 */ move $t4, $a0 -/* 09A6EC 7F065B7C 8E180020 */ lw $t8, 0x20($s0) -/* 09A6F0 7F065B80 00CB7021 */ addu $t6, $a2, $t3 -/* 09A6F4 7F065B84 030E082A */ slt $at, $t8, $t6 -/* 09A6F8 7F065B88 5020000A */ beql $at, $zero, .Ljp7F065BB4 -/* 09A6FC 7F065B8C AE000024 */ sw $zero, 0x24($s0) -.Ljp7F065B90: -/* 09A700 7F065B90 8E030020 */ lw $v1, 0x20($s0) -/* 09A704 7F065B94 0480000A */ bltz $a0, .Ljp7F065BC0 -/* 09A708 7F065B98 00CB3821 */ addu $a3, $a2, $t3 -/* 09A70C 7F065B9C 14A00008 */ bnez $a1, .Ljp7F065BC0 -/* 09A710 7F065BA0 00EC7821 */ addu $t7, $a3, $t4 -/* 09A714 7F065BA4 006F082A */ slt $at, $v1, $t7 -/* 09A718 7F065BA8 14200005 */ bnez $at, .Ljp7F065BC0 -/* 09A71C 7F065BAC 00000000 */ nop -/* 09A720 7F065BB0 AE000024 */ sw $zero, 0x24($s0) -.Ljp7F065BB4: -/* 09A724 7F065BB4 AE000020 */ sw $zero, 0x20($s0) -/* 09A728 7F065BB8 100000A4 */ b .Ljp7F065E4C -/* 09A72C 7F065BBC AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F065BC0: -/* 09A730 7F065BC0 50A00014 */ beql $a1, $zero, .Ljp7F065C14 -/* 09A734 7F065BC4 0067082A */ slt $at, $v1, $a3 -/* 09A738 7F065BC8 8E190010 */ lw $t9, 0x10($s0) -/* 09A73C 7F065BCC 0068082A */ slt $at, $v1, $t0 -/* 09A740 7F065BD0 53200010 */ beql $t9, $zero, .Ljp7F065C14 -/* 09A744 7F065BD4 0067082A */ slt $at, $v1, $a3 -/* 09A748 7F065BD8 5420000E */ bnezl $at, .Ljp7F065C14 -/* 09A74C 7F065BDC 0067082A */ slt $at, $v1, $a3 -/* 09A750 7F065BE0 0540000B */ bltz $t2, .Ljp7F065C10 -/* 09A754 7F065BE4 00692021 */ addu $a0, $v1, $t1 -/* 09A758 7F065BE8 0087082A */ slt $at, $a0, $a3 -/* 09A75C 7F065BEC 10200008 */ beqz $at, .Ljp7F065C10 -/* 09A760 7F065BF0 0088082A */ slt $at, $a0, $t0 -/* 09A764 7F065BF4 14200006 */ bnez $at, .Ljp7F065C10 -/* 09A768 7F065BF8 24180004 */ li $t8, 4 -/* 09A76C 7F065BFC AE180024 */ sw $t8, 0x24($s0) -/* 09A770 7F065C00 AE000020 */ sw $zero, 0x20($s0) -/* 09A774 7F065C04 AE00001C */ sw $zero, 0x1c($s0) -/* 09A778 7F065C08 10000090 */ b .Ljp7F065E4C -/* 09A77C 7F065C0C AE090038 */ sw $t1, 0x38($s0) -.Ljp7F065C10: -/* 09A780 7F065C10 0067082A */ slt $at, $v1, $a3 -.Ljp7F065C14: -/* 09A784 7F065C14 1020008D */ beqz $at, .Ljp7F065E4C -/* 09A788 7F065C18 260E007C */ addiu $t6, $s0, 0x7c -/* 09A78C 7F065C1C C4420048 */ lwc1 $f2, 0x48($v0) -/* 09A790 7F065C20 C440004C */ lwc1 $f0, 0x4c($v0) -/* 09A794 7F065C24 1460000A */ bnez $v1, .Ljp7F065C50 -/* 09A798 7F065C28 AFAE0034 */ sw $t6, 0x34($sp) -/* 09A79C 7F065C2C C60A0078 */ lwc1 $f10, 0x78($s0) -/* 09A7A0 7F065C30 C604006C */ lwc1 $f4, 0x6c($s0) -/* 09A7A4 7F065C34 C6060070 */ lwc1 $f6, 0x70($s0) -/* 09A7A8 7F065C38 C6080074 */ lwc1 $f8, 0x74($s0) -/* 09A7AC 7F065C3C 8E030020 */ lw $v1, 0x20($s0) -/* 09A7B0 7F065C40 E60A0058 */ swc1 $f10, 0x58($s0) -/* 09A7B4 7F065C44 E604004C */ swc1 $f4, 0x4c($s0) -/* 09A7B8 7F065C48 E6060050 */ swc1 $f6, 0x50($s0) -/* 09A7BC 7F065C4C E6080054 */ swc1 $f8, 0x54($s0) -.Ljp7F065C50: -/* 09A7C0 7F065C50 0066082A */ slt $at, $v1, $a2 -/* 09A7C4 7F065C54 1020002B */ beqz $at, .Ljp7F065D04 -/* 09A7C8 7F065C58 3C018005 */ lui $at, %hi(D_80054170) # $at, 0x8005 -/* 09A7CC 7F065C5C C42C41A0 */ lwc1 $f12, %lo(D_80054170)($at) -/* 09A7D0 7F065C60 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 09A7D4 7F065C64 44812000 */ mtc1 $at, $f4 -/* 09A7D8 7F065C68 460C0282 */ mul.s $f10, $f0, $f12 -/* 09A7DC 7F065C6C 46045183 */ div.s $f6, $f10, $f4 -/* 09A7E0 7F065C70 46066201 */ sub.s $f8, $f12, $f6 -/* 09A7E4 7F065C74 E6080068 */ swc1 $f8, 0x68($s0) -/* 09A7E8 7F065C78 E7A2019C */ swc1 $f2, 0x19c($sp) -/* 09A7EC 7F065C7C AFAD01B8 */ sw $t5, 0x1b8($sp) -/* 09A7F0 7F065C80 AFA601B4 */ sw $a2, 0x1b4($sp) -/* 09A7F4 7F065C84 0FC17882 */ jal sub_GAME_7F05DCE8 -/* 09A7F8 7F065C88 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09A7FC 7F065C8C C60A01C8 */ lwc1 $f10, 0x1c8($s0) -/* 09A800 7F065C90 C7A2019C */ lwc1 $f2, 0x19c($sp) -/* 09A804 7F065C94 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 09A808 7F065C98 460A0101 */ sub.s $f4, $f0, $f10 -/* 09A80C 7F065C9C 44817000 */ mtc1 $at, $f14 -/* 09A810 7F065CA0 8FAD01B8 */ lw $t5, 0x1b8($sp) -/* 09A814 7F065CA4 44805000 */ mtc1 $zero, $f10 -/* 09A818 7F065CA8 46022182 */ mul.s $f6, $f4, $f2 -/* 09A81C 7F065CAC 8FA601B4 */ lw $a2, 0x1b4($sp) -/* 09A820 7F065CB0 E60A0060 */ swc1 $f10, 0x60($s0) -/* 09A824 7F065CB4 8E0F0020 */ lw $t7, 0x20($s0) -/* 09A828 7F065CB8 3C018005 */ lui $at, %hi(D_80054174) # $at, 0x8005 -/* 09A82C 7F065CBC 460E3203 */ div.s $f8, $f6, $f14 -/* 09A830 7F065CC0 C60601D0 */ lwc1 $f6, 0x1d0($s0) -/* 09A834 7F065CC4 E608005C */ swc1 $f8, 0x5c($s0) -/* 09A838 7F065CC8 C5A4000C */ lwc1 $f4, 0xc($t5) -/* 09A83C 7F065CCC 46062201 */ sub.s $f8, $f4, $f6 -/* 09A840 7F065CD0 448F3000 */ mtc1 $t7, $f6 -/* 09A844 7F065CD4 46024282 */ mul.s $f10, $f8, $f2 -/* 09A848 7F065CD8 46803220 */ cvt.s.w $f8, $f6 -/* 09A84C 7F065CDC 44863000 */ mtc1 $a2, $f6 -/* 09A850 7F065CE0 460E5103 */ div.s $f4, $f10, $f14 -/* 09A854 7F065CE4 E6040064 */ swc1 $f4, 0x64($s0) -/* 09A858 7F065CE8 C42A41A4 */ lwc1 $f10, %lo(D_80054174)($at) -/* 09A85C 7F065CEC 460A4102 */ mul.s $f4, $f8, $f10 -/* 09A860 7F065CF0 46803220 */ cvt.s.w $f8, $f6 -/* 09A864 7F065CF4 0FC160F3 */ jal sinf -/* 09A868 7F065CF8 46082303 */ div.s $f12, $f4, $f8 -/* 09A86C 7F065CFC 10000032 */ b .Ljp7F065DC8 -/* 09A870 7F065D00 46000086 */ mov.s $f2, $f0 -.Ljp7F065D04: -/* 09A874 7F065D04 3C018005 */ lui $at, %hi(D_80054178) # $at, 0x8005 -/* 09A878 7F065D08 C42C41A8 */ lwc1 $f12, %lo(D_80054178)($at) -/* 09A87C 7F065D0C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 09A880 7F065D10 44813000 */ mtc1 $at, $f6 -/* 09A884 7F065D14 460C0282 */ mul.s $f10, $f0, $f12 -/* 09A888 7F065D18 46065103 */ div.s $f4, $f10, $f6 -/* 09A88C 7F065D1C 46046201 */ sub.s $f8, $f12, $f4 -/* 09A890 7F065D20 E6080068 */ swc1 $f8, 0x68($s0) -/* 09A894 7F065D24 E7A2019C */ swc1 $f2, 0x19c($sp) -/* 09A898 7F065D28 AFAD01B8 */ sw $t5, 0x1b8($sp) -/* 09A89C 7F065D2C AFAB01B0 */ sw $t3, 0x1b0($sp) -/* 09A8A0 7F065D30 AFA601B4 */ sw $a2, 0x1b4($sp) -/* 09A8A4 7F065D34 0FC17882 */ jal sub_GAME_7F05DCE8 -/* 09A8A8 7F065D38 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09A8AC 7F065D3C C60A01C8 */ lwc1 $f10, 0x1c8($s0) -/* 09A8B0 7F065D40 C7A2019C */ lwc1 $f2, 0x19c($sp) -/* 09A8B4 7F065D44 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 09A8B8 7F065D48 460A0181 */ sub.s $f6, $f0, $f10 -/* 09A8BC 7F065D4C 44817000 */ mtc1 $at, $f14 -/* 09A8C0 7F065D50 8FAD01B8 */ lw $t5, 0x1b8($sp) -/* 09A8C4 7F065D54 44805000 */ mtc1 $zero, $f10 -/* 09A8C8 7F065D58 46023102 */ mul.s $f4, $f6, $f2 -/* 09A8CC 7F065D5C 8FA601B4 */ lw $a2, 0x1b4($sp) -/* 09A8D0 7F065D60 8FAB01B0 */ lw $t3, 0x1b0($sp) -/* 09A8D4 7F065D64 E60A0060 */ swc1 $f10, 0x60($s0) -/* 09A8D8 7F065D68 8E190020 */ lw $t9, 0x20($s0) -/* 09A8DC 7F065D6C 3C018005 */ lui $at, %hi(D_8005417C) -/* 09A8E0 7F065D70 460E2203 */ div.s $f8, $f4, $f14 -/* 09A8E4 7F065D74 C60401D0 */ lwc1 $f4, 0x1d0($s0) -/* 09A8E8 7F065D78 0326C023 */ subu $t8, $t9, $a2 -/* 09A8EC 7F065D7C E608005C */ swc1 $f8, 0x5c($s0) -/* 09A8F0 7F065D80 C5A6000C */ lwc1 $f6, 0xc($t5) -/* 09A8F4 7F065D84 46043201 */ sub.s $f8, $f6, $f4 -/* 09A8F8 7F065D88 44982000 */ mtc1 $t8, $f4 -/* 09A8FC 7F065D8C 46024282 */ mul.s $f10, $f8, $f2 -/* 09A900 7F065D90 46802220 */ cvt.s.w $f8, $f4 -/* 09A904 7F065D94 448B2000 */ mtc1 $t3, $f4 -/* 09A908 7F065D98 460E5183 */ div.s $f6, $f10, $f14 -/* 09A90C 7F065D9C E6060064 */ swc1 $f6, 0x64($s0) -/* 09A910 7F065DA0 C42A41AC */ lwc1 $f10, %lo(D_8005417C)($at) -/* 09A914 7F065DA4 460A4182 */ mul.s $f6, $f8, $f10 -/* 09A918 7F065DA8 46802220 */ cvt.s.w $f8, $f4 -/* 09A91C 7F065DAC 0FC160F0 */ jal cosf -/* 09A920 7F065DB0 46083303 */ div.s $f12, $f6, $f8 -/* 09A924 7F065DB4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09A928 7F065DB8 44815000 */ mtc1 $at, $f10 -/* 09A92C 7F065DBC 44813000 */ mtc1 $at, $f6 -/* 09A930 7F065DC0 460A0102 */ mul.s $f4, $f0, $f10 -/* 09A934 7F065DC4 46062080 */ add.s $f2, $f4, $f6 -.Ljp7F065DC8: -/* 09A938 7F065DC8 C60C0058 */ lwc1 $f12, 0x58($s0) -/* 09A93C 7F065DCC C60E0068 */ lwc1 $f14, 0x68($s0) -/* 09A940 7F065DD0 44061000 */ mfc1 $a2, $f2 -/* 09A944 7F065DD4 0FC1B5AF */ jal sub_GAME_7F06D0CC -/* 09A948 7F065DD8 E7A20194 */ swc1 $f2, 0x194($sp) -/* 09A94C 7F065DDC C60E004C */ lwc1 $f14, 0x4c($s0) -/* 09A950 7F065DE0 C608005C */ lwc1 $f8, 0x5c($s0) -/* 09A954 7F065DE4 C7A20194 */ lwc1 $f2, 0x194($sp) -/* 09A958 7F065DE8 C6100050 */ lwc1 $f16, 0x50($s0) -/* 09A95C 7F065DEC 460E4281 */ sub.s $f10, $f8, $f14 -/* 09A960 7F065DF0 C6080060 */ lwc1 $f8, 0x60($s0) -/* 09A964 7F065DF4 C6120054 */ lwc1 $f18, 0x54($s0) -/* 09A968 7F065DF8 240E0001 */ li $t6, 1 -/* 09A96C 7F065DFC 46025102 */ mul.s $f4, $f10, $f2 -/* 09A970 7F065E00 46104281 */ sub.s $f10, $f8, $f16 -/* 09A974 7F065E04 C6080064 */ lwc1 $f8, 0x64($s0) -/* 09A978 7F065E08 E6000078 */ swc1 $f0, 0x78($s0) -/* 09A97C 7F065E0C AE0E00BC */ sw $t6, 0xbc($s0) -/* 09A980 7F065E10 46000306 */ mov.s $f12, $f0 -/* 09A984 7F065E14 460E2180 */ add.s $f6, $f4, $f14 -/* 09A988 7F065E18 46025102 */ mul.s $f4, $f10, $f2 -/* 09A98C 7F065E1C 46124281 */ sub.s $f10, $f8, $f18 -/* 09A990 7F065E20 E606006C */ swc1 $f6, 0x6c($s0) -/* 09A994 7F065E24 46102180 */ add.s $f6, $f4, $f16 -/* 09A998 7F065E28 46025102 */ mul.s $f4, $f10, $f2 -/* 09A99C 7F065E2C E6060070 */ swc1 $f6, 0x70($s0) -/* 09A9A0 7F065E30 46122180 */ add.s $f6, $f4, $f18 -/* 09A9A4 7F065E34 E6060074 */ swc1 $f6, 0x74($s0) -/* 09A9A8 7F065E38 0FC162A4 */ jal sub_GAME_7F058570 -/* 09A9AC 7F065E3C 8FA50034 */ lw $a1, 0x34($sp) -/* 09A9B0 7F065E40 2604006C */ addiu $a0, $s0, 0x6c -/* 09A9B4 7F065E44 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09A9B8 7F065E48 8FA50034 */ lw $a1, 0x34($sp) -.Ljp7F065E4C: -/* 09A9BC 7F065E4C 8E020024 */ lw $v0, 0x24($s0) -/* 09A9C0 7F065E50 24010004 */ li $at, 4 -/* 09A9C4 7F065E54 54410053 */ bnel $v0, $at, .Ljp7F065FA4 -/* 09A9C8 7F065E58 2401000D */ li $at, 13 -/* 09A9CC 7F065E5C 8E030020 */ lw $v1, 0x20($s0) -/* 09A9D0 7F065E60 54600013 */ bnezl $v1, .Ljp7F065EB0 -/* 09A9D4 7F065E64 8E020038 */ lw $v0, 0x38($s0) -/* 09A9D8 7F065E68 C6080078 */ lwc1 $f8, 0x78($s0) -/* 09A9DC 7F065E6C C60A006C */ lwc1 $f10, 0x6c($s0) -/* 09A9E0 7F065E70 C6040070 */ lwc1 $f4, 0x70($s0) -/* 09A9E4 7F065E74 C6060074 */ lwc1 $f6, 0x74($s0) -/* 09A9E8 7F065E78 E6080058 */ swc1 $f8, 0x58($s0) -/* 09A9EC 7F065E7C E60A004C */ swc1 $f10, 0x4c($s0) -/* 09A9F0 7F065E80 E6040050 */ swc1 $f4, 0x50($s0) -/* 09A9F4 7F065E84 E6060054 */ swc1 $f6, 0x54($s0) -/* 09A9F8 7F065E88 44804000 */ mtc1 $zero, $f8 -/* 09A9FC 7F065E8C 44805000 */ mtc1 $zero, $f10 -/* 09AA00 7F065E90 44802000 */ mtc1 $zero, $f4 -/* 09AA04 7F065E94 44803000 */ mtc1 $zero, $f6 -/* 09AA08 7F065E98 8E030020 */ lw $v1, 0x20($s0) -/* 09AA0C 7F065E9C E6080068 */ swc1 $f8, 0x68($s0) -/* 09AA10 7F065EA0 E60A005C */ swc1 $f10, 0x5c($s0) -/* 09AA14 7F065EA4 E6040060 */ swc1 $f4, 0x60($s0) -/* 09AA18 7F065EA8 E6060064 */ swc1 $f6, 0x64($s0) -/* 09AA1C 7F065EAC 8E020038 */ lw $v0, 0x38($s0) -.Ljp7F065EB0: -/* 09AA20 7F065EB0 0062082A */ slt $at, $v1, $v0 -/* 09AA24 7F065EB4 10200036 */ beqz $at, .Ljp7F065F90 -/* 09AA28 7F065EB8 00437823 */ subu $t7, $v0, $v1 -/* 09AA2C 7F065EBC 448F4000 */ mtc1 $t7, $f8 -/* 09AA30 7F065EC0 3C018005 */ lui $at, %hi(D_80054180) # $at, 0x8005 -/* 09AA34 7F065EC4 C42441B0 */ lwc1 $f4, %lo(D_80054180)($at) -/* 09AA38 7F065EC8 468042A0 */ cvt.s.w $f10, $f8 -/* 09AA3C 7F065ECC 44824000 */ mtc1 $v0, $f8 -/* 09AA40 7F065ED0 2619007C */ addiu $t9, $s0, 0x7c -/* 09AA44 7F065ED4 2618006C */ addiu $t8, $s0, 0x6c -/* 09AA48 7F065ED8 AFB80038 */ sw $t8, 0x38($sp) -/* 09AA4C 7F065EDC AFB90034 */ sw $t9, 0x34($sp) -/* 09AA50 7F065EE0 46045182 */ mul.s $f6, $f10, $f4 -/* 09AA54 7F065EE4 468042A0 */ cvt.s.w $f10, $f8 -/* 09AA58 7F065EE8 0FC160F0 */ jal cosf -/* 09AA5C 7F065EEC 460A3303 */ div.s $f12, $f6, $f10 -/* 09AA60 7F065EF0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09AA64 7F065EF4 44818000 */ mtc1 $at, $f16 -/* 09AA68 7F065EF8 00000000 */ nop -/* 09AA6C 7F065EFC 46100102 */ mul.s $f4, $f0, $f16 -/* 09AA70 7F065F00 46102080 */ add.s $f2, $f4, $f16 -/* 09AA74 7F065F04 E7A20190 */ swc1 $f2, 0x190($sp) -/* 09AA78 7F065F08 44061000 */ mfc1 $a2, $f2 -/* 09AA7C 7F065F0C C60E0068 */ lwc1 $f14, 0x68($s0) -/* 09AA80 7F065F10 0FC1B5AF */ jal sub_GAME_7F06D0CC -/* 09AA84 7F065F14 C60C0058 */ lwc1 $f12, 0x58($s0) -/* 09AA88 7F065F18 C60E004C */ lwc1 $f14, 0x4c($s0) -/* 09AA8C 7F065F1C C608005C */ lwc1 $f8, 0x5c($s0) -/* 09AA90 7F065F20 C7A20190 */ lwc1 $f2, 0x190($sp) -/* 09AA94 7F065F24 C6100050 */ lwc1 $f16, 0x50($s0) -/* 09AA98 7F065F28 460E4181 */ sub.s $f6, $f8, $f14 -/* 09AA9C 7F065F2C C6080060 */ lwc1 $f8, 0x60($s0) -/* 09AAA0 7F065F30 C6120054 */ lwc1 $f18, 0x54($s0) -/* 09AAA4 7F065F34 240E0001 */ li $t6, 1 -/* 09AAA8 7F065F38 46023282 */ mul.s $f10, $f6, $f2 -/* 09AAAC 7F065F3C 46104181 */ sub.s $f6, $f8, $f16 -/* 09AAB0 7F065F40 C6080064 */ lwc1 $f8, 0x64($s0) -/* 09AAB4 7F065F44 E6000078 */ swc1 $f0, 0x78($s0) -/* 09AAB8 7F065F48 AE0E00BC */ sw $t6, 0xbc($s0) -/* 09AABC 7F065F4C 46000306 */ mov.s $f12, $f0 -/* 09AAC0 7F065F50 460E5100 */ add.s $f4, $f10, $f14 -/* 09AAC4 7F065F54 46023282 */ mul.s $f10, $f6, $f2 -/* 09AAC8 7F065F58 46124181 */ sub.s $f6, $f8, $f18 -/* 09AACC 7F065F5C E604006C */ swc1 $f4, 0x6c($s0) -/* 09AAD0 7F065F60 46105100 */ add.s $f4, $f10, $f16 -/* 09AAD4 7F065F64 46023282 */ mul.s $f10, $f6, $f2 -/* 09AAD8 7F065F68 E6040070 */ swc1 $f4, 0x70($s0) -/* 09AADC 7F065F6C 46125100 */ add.s $f4, $f10, $f18 -/* 09AAE0 7F065F70 E6040074 */ swc1 $f4, 0x74($s0) -/* 09AAE4 7F065F74 0FC162A4 */ jal sub_GAME_7F058570 -/* 09AAE8 7F065F78 8FA50034 */ lw $a1, 0x34($sp) -/* 09AAEC 7F065F7C 8FA40038 */ lw $a0, 0x38($sp) -/* 09AAF0 7F065F80 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09AAF4 7F065F84 8FA50034 */ lw $a1, 0x34($sp) -/* 09AAF8 7F065F88 10000005 */ b .Ljp7F065FA0 -/* 09AAFC 7F065F8C 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F065F90: -/* 09AB00 7F065F90 AE000024 */ sw $zero, 0x24($s0) -/* 09AB04 7F065F94 AE000020 */ sw $zero, 0x20($s0) -/* 09AB08 7F065F98 AE00001C */ sw $zero, 0x1c($s0) -/* 09AB0C 7F065F9C 00001025 */ move $v0, $zero -.Ljp7F065FA0: -/* 09AB10 7F065FA0 2401000D */ li $at, 13 -.Ljp7F065FA4: -/* 09AB14 7F065FA4 54410013 */ bnel $v0, $at, .Ljp7F065FF4 -/* 09AB18 7F065FA8 8E020024 */ lw $v0, 0x24($s0) -/* 09AB1C 7F065FAC 8E0F001C */ lw $t7, 0x1c($s0) -/* 09AB20 7F065FB0 55E00004 */ bnezl $t7, .Ljp7F065FC4 -/* 09AB24 7F065FB4 8E050018 */ lw $a1, 0x18($s0) -/* 09AB28 7F065FB8 0FC17B4A */ jal sub_GAME_7F05E808 -/* 09AB2C 7F065FBC 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09AB30 7F065FC0 8E050018 */ lw $a1, 0x18($s0) -.Ljp7F065FC4: -/* 09AB34 7F065FC4 54A00008 */ bnezl $a1, .Ljp7F065FE8 -/* 09AB38 7F065FC8 AE000024 */ sw $zero, 0x24($s0) -/* 09AB3C 7F065FCC 54A00009 */ bnezl $a1, .Ljp7F065FF4 -/* 09AB40 7F065FD0 8E020024 */ lw $v0, 0x24($s0) -/* 09AB44 7F065FD4 8E190020 */ lw $t9, 0x20($s0) -/* 09AB48 7F065FD8 2B210014 */ slti $at, $t9, 0x14 -/* 09AB4C 7F065FDC 54200005 */ bnezl $at, .Ljp7F065FF4 -/* 09AB50 7F065FE0 8E020024 */ lw $v0, 0x24($s0) -/* 09AB54 7F065FE4 AE000024 */ sw $zero, 0x24($s0) -.Ljp7F065FE8: -/* 09AB58 7F065FE8 AE000020 */ sw $zero, 0x20($s0) -/* 09AB5C 7F065FEC AE00001C */ sw $zero, 0x1c($s0) -/* 09AB60 7F065FF0 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F065FF4: -/* 09AB64 7F065FF4 24050005 */ li $a1, 5 -/* 09AB68 7F065FF8 24040010 */ li $a0, 16 -/* 09AB6C 7F065FFC 54A2005E */ bnel $a1, $v0, .Ljp7F066178 -/* 09AB70 7F066000 24060006 */ li $a2, 6 -/* 09AB74 7F066004 0FC26C01 */ jal get_num_players -/* 09AB78 7F066008 AFA4018C */ sw $a0, 0x18c($sp) -/* 09AB7C 7F06600C 28410002 */ slti $at, $v0, 2 -/* 09AB80 7F066010 14200002 */ bnez $at, .Ljp7F06601C -/* 09AB84 7F066014 8FA4018C */ lw $a0, 0x18c($sp) -/* 09AB88 7F066018 2404000C */ li $a0, 12 -.Ljp7F06601C: -/* 09AB8C 7F06601C 8E18001C */ lw $t8, 0x1c($s0) -/* 09AB90 7F066020 5700000C */ bnezl $t8, .Ljp7F066054 -/* 09AB94 7F066024 8E030020 */ lw $v1, 0x20($s0) -/* 09AB98 7F066028 0FC26C01 */ jal get_num_players -/* 09AB9C 7F06602C AFA4018C */ sw $a0, 0x18c($sp) -/* 09ABA0 7F066030 24010001 */ li $at, 1 -/* 09ABA4 7F066034 14410004 */ bne $v0, $at, .Ljp7F066048 -/* 09ABA8 7F066038 8FA4018C */ lw $a0, 0x18c($sp) -/* 09ABAC 7F06603C 240E0011 */ li $t6, 17 -/* 09ABB0 7F066040 10000003 */ b .Ljp7F066050 -/* 09ABB4 7F066044 AE0E0040 */ sw $t6, 0x40($s0) -.Ljp7F066048: -/* 09ABB8 7F066048 240F000D */ li $t7, 13 -/* 09ABBC 7F06604C AE0F0040 */ sw $t7, 0x40($s0) -.Ljp7F066050: -/* 09ABC0 7F066050 8E030020 */ lw $v1, 0x20($s0) -.Ljp7F066054: -/* 09ABC4 7F066054 0064082A */ slt $at, $v1, $a0 -/* 09ABC8 7F066058 54200026 */ bnezl $at, .Ljp7F0660F4 -/* 09ABCC 7F06605C 44834000 */ mtc1 $v1, $f8 -/* 09ABD0 7F066060 0FC1A686 */ jal get_ammo_type_for_weapon -/* 09ABD4 7F066064 02202025 */ move $a0, $s1 -/* 09ABD8 7F066068 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 09ABDC 7F06606C 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 09ABE0 7F066070 0002C080 */ sll $t8, $v0, 2 -/* 09ABE4 7F066074 8E0F002C */ lw $t7, 0x2c($s0) -/* 09ABE8 7F066078 03381821 */ addu $v1, $t9, $t8 -/* 09ABEC 7F06607C 8C6E1130 */ lw $t6, 0x1130($v1) -/* 09ABF0 7F066080 01CFC821 */ addu $t9, $t6, $t7 -/* 09ABF4 7F066084 AC791130 */ sw $t9, 0x1130($v1) -/* 09ABF8 7F066088 0FC26C01 */ jal get_num_players -/* 09ABFC 7F06608C AE00002C */ sw $zero, 0x2c($s0) -/* 09AC00 7F066090 28410002 */ slti $at, $v0, 2 -/* 09AC04 7F066094 14200003 */ bnez $at, .Ljp7F0660A4 -/* 09AC08 7F066098 00000000 */ nop -/* 09AC0C 7F06609C 0FC26FC2 */ jal sub_GAME_7F09B368 -/* 09AC10 7F0660A0 8FA401E0 */ lw $a0, 0x1e0($sp) -.Ljp7F0660A4: -/* 09AC14 7F0660A4 0FC18008 */ jal sub_GAME_7F05FB00 -/* 09AC18 7F0660A8 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09AC1C 7F0660AC 24180006 */ li $t8, 6 -/* 09AC20 7F0660B0 AE180024 */ sw $t8, 0x24($s0) -/* 09AC24 7F0660B4 0FC23314 */ jal check_if_item_available -/* 09AC28 7F0660B8 24040011 */ li $a0, 17 -/* 09AC2C 7F0660BC 10400006 */ beqz $v0, .Ljp7F0660D8 -/* 09AC30 7F0660C0 24050005 */ li $a1, 5 -/* 09AC34 7F0660C4 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 09AC38 7F0660C8 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 09AC3C 7F0660CC 240E0011 */ li $t6, 17 -/* 09AC40 7F0660D0 10000005 */ b .Ljp7F0660E8 -/* 09AC44 7F0660D4 ADEE2A38 */ sw $t6, 0x2a38($t7) -.Ljp7F0660D8: -/* 09AC48 7F0660D8 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09AC4C 7F0660DC 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 09AC50 7F0660E0 24190001 */ li $t9, 1 -/* 09AC54 7F0660E4 AF192A38 */ sw $t9, 0x2a38($t8) -.Ljp7F0660E8: -/* 09AC58 7F0660E8 10000022 */ b .Ljp7F066174 -/* 09AC5C 7F0660EC 8E020024 */ lw $v0, 0x24($s0) -/* 09AC60 7F0660F0 44834000 */ mtc1 $v1, $f8 -.Ljp7F0660F4: -/* 09AC64 7F0660F4 3C018005 */ lui $at, %hi(D_80054184) # $at, 0x8005 -/* 09AC68 7F0660F8 C42A41B4 */ lwc1 $f10, %lo(D_80054184)($at) -/* 09AC6C 7F0660FC 468041A0 */ cvt.s.w $f6, $f8 -/* 09AC70 7F066100 44844000 */ mtc1 $a0, $f8 -/* 09AC74 7F066104 240E0001 */ li $t6, 1 -/* 09AC78 7F066108 AE0E00BC */ sw $t6, 0xbc($s0) -/* 09AC7C 7F06610C 2605007C */ addiu $a1, $s0, 0x7c -/* 09AC80 7F066110 460A3102 */ mul.s $f4, $f6, $f10 -/* 09AC84 7F066114 468041A0 */ cvt.s.w $f6, $f8 -/* 09AC88 7F066118 46062303 */ div.s $f12, $f4, $f6 -/* 09AC8C 7F06611C 0FC162A4 */ jal sub_GAME_7F058570 -/* 09AC90 7F066120 E7AC0188 */ swc1 $f12, 0x188($sp) -/* 09AC94 7F066124 44805000 */ mtc1 $zero, $f10 -/* 09AC98 7F066128 00000000 */ nop -/* 09AC9C 7F06612C E60A00AC */ swc1 $f10, 0xac($s0) -/* 09ACA0 7F066130 0FC160F0 */ jal cosf -/* 09ACA4 7F066134 C7AC0188 */ lwc1 $f12, 0x188($sp) -/* 09ACA8 7F066138 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09ACAC 7F06613C 44814000 */ mtc1 $at, $f8 -/* 09ACB0 7F066140 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09ACB4 7F066144 44813000 */ mtc1 $at, $f6 -/* 09ACB8 7F066148 46004101 */ sub.s $f4, $f8, $f0 -/* 09ACBC 7F06614C 46062282 */ mul.s $f10, $f4, $f6 -/* 09ACC0 7F066150 E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 09ACC4 7F066154 0FC160F3 */ jal sinf -/* 09ACC8 7F066158 C7AC0188 */ lwc1 $f12, 0x188($sp) -/* 09ACCC 7F06615C 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09ACD0 7F066160 44814000 */ mtc1 $at, $f8 -/* 09ACD4 7F066164 8E020024 */ lw $v0, 0x24($s0) -/* 09ACD8 7F066168 24050005 */ li $a1, 5 -/* 09ACDC 7F06616C 46080102 */ mul.s $f4, $f0, $f8 -/* 09ACE0 7F066170 E60400B4 */ swc1 $f4, 0xb4($s0) -.Ljp7F066174: -/* 09ACE4 7F066174 24060006 */ li $a2, 6 -.Ljp7F066178: -/* 09ACE8 7F066178 10C20003 */ beq $a2, $v0, .Ljp7F066188 -/* 09ACEC 7F06617C 24010007 */ li $at, 7 -/* 09ACF0 7F066180 54410066 */ bnel $v0, $at, .Ljp7F06631C -/* 09ACF4 7F066184 24010008 */ li $at, 8 -.Ljp7F066188: -/* 09ACF8 7F066188 8E0F0044 */ lw $t7, 0x44($s0) -/* 09ACFC 7F06618C 11E00006 */ beqz $t7, .Ljp7F0661A8 -/* 09AD00 7F066190 00000000 */ nop -/* 09AD04 7F066194 8E190020 */ lw $t9, 0x20($s0) -/* 09AD08 7F066198 8E180040 */ lw $t8, 0x40($s0) -/* 09AD0C 7F06619C 0338082A */ slt $at, $t9, $t8 -/* 09AD10 7F0661A0 5420003E */ bnezl $at, .Ljp7F06629C -/* 09AD14 7F0661A4 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F0661A8: -/* 09AD18 7F0661A8 14C20034 */ bne $a2, $v0, .Ljp7F06627C -/* 09AD1C 7F0661AC 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 09AD20 7F0661B0 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 09AD24 7F0661B4 8FAF003C */ lw $t7, 0x3c($sp) -/* 09AD28 7F0661B8 01CF1823 */ subu $v1, $t6, $t7 -/* 09AD2C 7F0661BC 8C620C3C */ lw $v0, 0xc3c($v1) -/* 09AD30 7F0661C0 24630C18 */ addiu $v1, $v1, 0xc18 -/* 09AD34 7F0661C4 50C20025 */ beql $a2, $v0, .Ljp7F06625C -/* 09AD38 7F0661C8 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09AD3C 7F0661CC 50A20023 */ beql $a1, $v0, .Ljp7F06625C -/* 09AD40 7F0661D0 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09AD44 7F0661D4 8C640028 */ lw $a0, 0x28($v1) -/* 09AD48 7F0661D8 2401000E */ li $at, 14 -/* 09AD4C 7F0661DC 50A4001F */ beql $a1, $a0, .Ljp7F06625C -/* 09AD50 7F0661E0 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09AD54 7F0661E4 1041001C */ beq $v0, $at, .Ljp7F066258 -/* 09AD58 7F0661E8 2401000F */ li $at, 15 -/* 09AD5C 7F0661EC 1041001A */ beq $v0, $at, .Ljp7F066258 -/* 09AD60 7F0661F0 24010010 */ li $at, 16 -/* 09AD64 7F0661F4 10410018 */ beq $v0, $at, .Ljp7F066258 -/* 09AD68 7F0661F8 2401000E */ li $at, 14 -/* 09AD6C 7F0661FC 10810016 */ beq $a0, $at, .Ljp7F066258 -/* 09AD70 7F066200 8FB901E0 */ lw $t9, 0x1e0($sp) -/* 09AD74 7F066204 1720000C */ bnez $t9, .Ljp7F066238 -/* 09AD78 7F066208 00000000 */ nop -/* 09AD7C 7F06620C 0FC177BC */ jal get_item_in_hand -/* 09AD80 7F066210 24040001 */ li $a0, 1 -/* 09AD84 7F066214 8E04003C */ lw $a0, 0x3c($s0) -/* 09AD88 7F066218 0FC2332D */ jal check_if_item_for_hand_available -/* 09AD8C 7F06621C 00402825 */ move $a1, $v0 -/* 09AD90 7F066220 1440000D */ bnez $v0, .Ljp7F066258 -/* 09AD94 7F066224 24040001 */ li $a0, 1 -/* 09AD98 7F066228 0FC1778D */ jal draw_item_in_hand_has_more_ammo -/* 09AD9C 7F06622C 00002825 */ move $a1, $zero -/* 09ADA0 7F066230 1000000A */ b .Ljp7F06625C -/* 09ADA4 7F066234 8FA401E0 */ lw $a0, 0x1e0($sp) -.Ljp7F066238: -/* 09ADA8 7F066238 0FC177BC */ jal get_item_in_hand -/* 09ADAC 7F06623C 00002025 */ move $a0, $zero -/* 09ADB0 7F066240 00402025 */ move $a0, $v0 -/* 09ADB4 7F066244 0FC2332D */ jal check_if_item_for_hand_available -/* 09ADB8 7F066248 8E05003C */ lw $a1, 0x3c($s0) -/* 09ADBC 7F06624C 54400003 */ bnezl $v0, .Ljp7F06625C -/* 09ADC0 7F066250 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09ADC4 7F066254 AE00003C */ sw $zero, 0x3c($s0) -.Ljp7F066258: -/* 09ADC8 7F066258 8FA401E0 */ lw $a0, 0x1e0($sp) -.Ljp7F06625C: -/* 09ADCC 7F06625C 0FC1781D */ jal remove_hands_item -/* 09ADD0 7F066260 8E05003C */ lw $a1, 0x3c($s0) -/* 09ADD4 7F066264 0FC177D9 */ jal return_ammo_in_hand -/* 09ADD8 7F066268 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09ADDC 7F06626C 24180007 */ li $t8, 7 -/* 09ADE0 7F066270 00408825 */ move $s1, $v0 -/* 09ADE4 7F066274 10000008 */ b .Ljp7F066298 -/* 09ADE8 7F066278 AE180024 */ sw $t8, 0x24($s0) -.Ljp7F06627C: -/* 09ADEC 7F06627C 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 09ADF0 7F066280 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09ADF4 7F066284 10400004 */ beqz $v0, .Ljp7F066298 -/* 09ADF8 7F066288 240E0008 */ li $t6, 8 -/* 09ADFC 7F06628C AE0E0024 */ sw $t6, 0x24($s0) -/* 09AE00 7F066290 AE000020 */ sw $zero, 0x20($s0) -/* 09AE04 7F066294 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F066298: -/* 09AE08 7F066298 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F06629C: -/* 09AE0C 7F06629C 24060006 */ li $a2, 6 -/* 09AE10 7F0662A0 24010007 */ li $at, 7 -/* 09AE14 7F0662A4 10C20003 */ beq $a2, $v0, .Ljp7F0662B4 -/* 09AE18 7F0662A8 240F0001 */ li $t7, 1 -/* 09AE1C 7F0662AC 5441001B */ bnel $v0, $at, .Ljp7F06631C -/* 09AE20 7F0662B0 24010008 */ li $at, 8 -.Ljp7F0662B4: -/* 09AE24 7F0662B4 AE0F00BC */ sw $t7, 0xbc($s0) -/* 09AE28 7F0662B8 3C018005 */ lui $at, %hi(D_80054188) # $at, 0x8005 -/* 09AE2C 7F0662BC C42C41B8 */ lwc1 $f12, %lo(D_80054188)($at) -/* 09AE30 7F0662C0 0FC162A4 */ jal sub_GAME_7F058570 -/* 09AE34 7F0662C4 2605007C */ addiu $a1, $s0, 0x7c -/* 09AE38 7F0662C8 44803000 */ mtc1 $zero, $f6 -/* 09AE3C 7F0662CC 3C018005 */ lui $at, %hi(D_8005418C) # $at, 0x8005 -/* 09AE40 7F0662D0 E60600AC */ swc1 $f6, 0xac($s0) -/* 09AE44 7F0662D4 0FC160F0 */ jal cosf -/* 09AE48 7F0662D8 C42C41BC */ lwc1 $f12, %lo(D_8005418C)($at) -/* 09AE4C 7F0662DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09AE50 7F0662E0 44815000 */ mtc1 $at, $f10 -/* 09AE54 7F0662E4 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09AE58 7F0662E8 44812000 */ mtc1 $at, $f4 -/* 09AE5C 7F0662EC 46005201 */ sub.s $f8, $f10, $f0 -/* 09AE60 7F0662F0 3C018005 */ lui $at, %hi(D_80054190) # $at, 0x8005 -/* 09AE64 7F0662F4 46044182 */ mul.s $f6, $f8, $f4 -/* 09AE68 7F0662F8 E60600B0 */ swc1 $f6, 0xb0($s0) -/* 09AE6C 7F0662FC 0FC160F3 */ jal sinf -/* 09AE70 7F066300 C42C41C0 */ lwc1 $f12, %lo(D_80054190)($at) -/* 09AE74 7F066304 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09AE78 7F066308 44815000 */ mtc1 $at, $f10 -/* 09AE7C 7F06630C 8E020024 */ lw $v0, 0x24($s0) -/* 09AE80 7F066310 460A0202 */ mul.s $f8, $f0, $f10 -/* 09AE84 7F066314 E60800B4 */ swc1 $f8, 0xb4($s0) -/* 09AE88 7F066318 24010008 */ li $at, 8 -.Ljp7F06631C: -/* 09AE8C 7F06631C 1441008D */ bne $v0, $at, .Ljp7F066554 -/* 09AE90 7F066320 24190017 */ li $t9, 23 -/* 09AE94 7F066324 0FC26C01 */ jal get_num_players -/* 09AE98 7F066328 AFB9017C */ sw $t9, 0x17c($sp) -/* 09AE9C 7F06632C 28410002 */ slti $at, $v0, 2 -/* 09AEA0 7F066330 14200002 */ bnez $at, .Ljp7F06633C -/* 09AEA4 7F066334 2418000C */ li $t8, 12 -/* 09AEA8 7F066338 AFB8017C */ sw $t8, 0x17c($sp) -.Ljp7F06633C: -/* 09AEAC 7F06633C 8E0E001C */ lw $t6, 0x1c($s0) -/* 09AEB0 7F066340 55C0004D */ bnezl $t6, .Ljp7F066478 -/* 09AEB4 7F066344 8E0F0020 */ lw $t7, 0x20($s0) -/* 09AEB8 7F066348 0FC26C01 */ jal get_num_players -/* 09AEBC 7F06634C 00000000 */ nop -/* 09AEC0 7F066350 28410002 */ slti $at, $v0, 2 -/* 09AEC4 7F066354 14200003 */ bnez $at, .Ljp7F066364 -/* 09AEC8 7F066358 00000000 */ nop -/* 09AECC 7F06635C 0FC26FCE */ jal sub_GAME_7F09B398 -/* 09AED0 7F066360 8FA401E0 */ lw $a0, 0x1e0($sp) -.Ljp7F066364: -/* 09AED4 7F066364 0FC193CF */ jal sub_GAME_7F0649D8 -/* 09AED8 7F066368 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09AEDC 7F06636C 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 09AEE0 7F066370 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 09AEE4 7F066374 3C198005 */ lui $t9, %hi(clock_timer) # $t9, 0x8005 -/* 09AEE8 7F066378 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09AEEC 7F06637C ADE00FC8 */ sw $zero, 0xfc8($t7) -/* 09AEF0 7F066380 8F3983A4 */ lw $t9, %lo(clock_timer)($t9) -/* 09AEF4 7F066384 5B20003C */ blezl $t9, .Ljp7F066478 -/* 09AEF8 7F066388 8E0F0020 */ lw $t7, 0x20($s0) -/* 09AEFC 7F06638C 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 09AF00 7F066390 24010001 */ li $at, 1 -/* 09AF04 7F066394 8F0E0000 */ lw $t6, ($t8) -/* 09AF08 7F066398 51C10037 */ beql $t6, $at, .Ljp7F066478 -/* 09AF0C 7F06639C 8E0F0020 */ lw $t7, 0x20($s0) -/* 09AF10 7F0663A0 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 09AF14 7F0663A4 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09AF18 7F0663A8 10400032 */ beqz $v0, weapon_switchstyle_NONE -/* 09AF1C 7F0663AC 3C0F8003 */ lui $t7, %hi(disable_player_pickups_flag) # $t7, 0x8003 -/* 09AF20 7F0663B0 8DEF64F4 */ lw $t7, %lo(disable_player_pickups_flag)($t7) -/* 09AF24 7F0663B4 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 09AF28 7F0663B8 55E0002F */ bnezl $t7, .Ljp7F066478 -/* 09AF2C 7F0663BC 8E0F0020 */ lw $t7, 0x20($s0) -/* 09AF30 7F0663C0 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 09AF34 7F0663C4 2A21003E */ slti $at, $s1, 0x3e -/* 09AF38 7F0663C8 8F3800D8 */ lw $t8, 0xd8($t9) -/* 09AF3C 7F0663CC 5700002A */ bnezl $t8, .Ljp7F066478 -/* 09AF40 7F0663D0 8E0F0020 */ lw $t7, 0x20($s0) -/* 09AF44 7F0663D4 14200005 */ bnez $at, .Ljp7F0663EC -/* 09AF48 7F0663D8 24010058 */ li $at, 88 -/* 09AF4C 7F0663DC 52210026 */ beql $s1, $at, .Ljp7F066478 -/* 09AF50 7F0663E0 8E0F0020 */ lw $t7, 0x20($s0) -/* 09AF54 7F0663E4 1000001E */ b weapon_playsfx_gun -/* 09AF58 7F0663E8 00000000 */ nop -.Ljp7F0663EC: -/* 09AF5C 7F0663EC 2E21003E */ sltiu $at, $s1, 0x3e -/* 09AF60 7F0663F0 1020001B */ beqz $at, weapon_playsfx_gun -/* 09AF64 7F0663F4 00117080 */ sll $t6, $s1, 2 -/* 09AF68 7F0663F8 3C018005 */ lui $at, %hi(jpt_80054194) -/* 09AF6C 7F0663FC 002E0821 */ addu $at, $at, $t6 -/* 09AF70 7F066400 8C2E41C4 */ lw $t6, %lo(jpt_80054194)($at) -/* 09AF74 7F066404 01C00008 */ jr $t6 -/* 09AF78 7F066408 00000000 */ nop -weapon_playsfx_F2: -/* 09AF7C 7F06640C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09AF80 7F066410 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09AF84 7F066414 240500F2 */ li $a1, 242 -/* 09AF88 7F066418 0C002386 */ jal play_sfx_a1 -/* 09AF8C 7F06641C 00003025 */ move $a2, $zero -/* 09AF90 7F066420 10000015 */ b .Ljp7F066478 -/* 09AF94 7F066424 8E0F0020 */ lw $t7, 0x20($s0) -weapon_playsfx_knife: -/* 09AF98 7F066428 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09AF9C 7F06642C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09AFA0 7F066430 240500E9 */ li $a1, 233 -/* 09AFA4 7F066434 0C002386 */ jal play_sfx_a1 -/* 09AFA8 7F066438 00003025 */ move $a2, $zero -/* 09AFAC 7F06643C 1000000E */ b .Ljp7F066478 -/* 09AFB0 7F066440 8E0F0020 */ lw $t7, 0x20($s0) -weapon_playsfx_mine: -/* 09AFB4 7F066444 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09AFB8 7F066448 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09AFBC 7F06644C 240500EB */ li $a1, 235 -/* 09AFC0 7F066450 0C002386 */ jal play_sfx_a1 -/* 09AFC4 7F066454 00003025 */ move $a2, $zero -/* 09AFC8 7F066458 10000007 */ b .Ljp7F066478 -/* 09AFCC 7F06645C 8E0F0020 */ lw $t7, 0x20($s0) -weapon_playsfx_gun: -/* 09AFD0 7F066460 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09AFD4 7F066464 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09AFD8 7F066468 240500E8 */ li $a1, 232 -/* 09AFDC 7F06646C 0C002386 */ jal play_sfx_a1 -/* 09AFE0 7F066470 00003025 */ move $a2, $zero -weapon_switchstyle_NONE: -/* 09AFE4 7F066474 8E0F0020 */ lw $t7, 0x20($s0) -.Ljp7F066478: -/* 09AFE8 7F066478 8FB9017C */ lw $t9, 0x17c($sp) -/* 09AFEC 7F06647C 01F9082A */ slt $at, $t7, $t9 -/* 09AFF0 7F066480 5020000E */ beql $at, $zero, .Ljp7F0664BC -/* 09AFF4 7F066484 AE000024 */ sw $zero, 0x24($s0) -/* 09AFF8 7F066488 0FC1755A */ jal get_ptr_weapon_model_header_line -/* 09AFFC 7F06648C 02202025 */ move $a0, $s1 -/* 09B000 7F066490 10400009 */ beqz $v0, .Ljp7F0664B8 -/* 09B004 7F066494 02202025 */ move $a0, $s1 -/* 09B008 7F066498 0FC17975 */ jal check_special_attributes -/* 09B00C 7F06649C 24050800 */ li $a1, 2048 -/* 09B010 7F0664A0 10400005 */ beqz $v0, .Ljp7F0664B8 -/* 09B014 7F0664A4 02202025 */ move $a0, $s1 -/* 09B018 7F0664A8 0FC17975 */ jal check_special_attributes -/* 09B01C 7F0664AC 24052000 */ li $a1, 8192 -/* 09B020 7F0664B0 10400006 */ beqz $v0, .Ljp7F0664CC -/* 09B024 7F0664B4 8FB8017C */ lw $t8, 0x17c($sp) -.Ljp7F0664B8: -/* 09B028 7F0664B8 AE000024 */ sw $zero, 0x24($s0) -.Ljp7F0664BC: -/* 09B02C 7F0664BC AE000020 */ sw $zero, 0x20($s0) -/* 09B030 7F0664C0 AE00001C */ sw $zero, 0x1c($s0) -/* 09B034 7F0664C4 10000023 */ b .Ljp7F066554 -/* 09B038 7F0664C8 00001025 */ move $v0, $zero -.Ljp7F0664CC: -/* 09B03C 7F0664CC 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B040 7F0664D0 3C018005 */ lui $at, %hi(D_8005428C) # $at, 0x8005 -/* 09B044 7F0664D4 C42A42BC */ lwc1 $f10, %lo(D_8005428C)($at) -/* 09B048 7F0664D8 030E7823 */ subu $t7, $t8, $t6 -/* 09B04C 7F0664DC 448F2000 */ mtc1 $t7, $f4 -/* 09B050 7F0664E0 24190001 */ li $t9, 1 -/* 09B054 7F0664E4 AE1900BC */ sw $t9, 0xbc($s0) -/* 09B058 7F0664E8 468021A0 */ cvt.s.w $f6, $f4 -/* 09B05C 7F0664EC 44982000 */ mtc1 $t8, $f4 -/* 09B060 7F0664F0 2605007C */ addiu $a1, $s0, 0x7c -/* 09B064 7F0664F4 460A3202 */ mul.s $f8, $f6, $f10 -/* 09B068 7F0664F8 468021A0 */ cvt.s.w $f6, $f4 -/* 09B06C 7F0664FC 46064303 */ div.s $f12, $f8, $f6 -/* 09B070 7F066500 0FC162A4 */ jal sub_GAME_7F058570 -/* 09B074 7F066504 E7AC0178 */ swc1 $f12, 0x178($sp) -/* 09B078 7F066508 44805000 */ mtc1 $zero, $f10 -/* 09B07C 7F06650C 00000000 */ nop -/* 09B080 7F066510 E60A00AC */ swc1 $f10, 0xac($s0) -/* 09B084 7F066514 0FC160F0 */ jal cosf -/* 09B088 7F066518 C7AC0178 */ lwc1 $f12, 0x178($sp) -/* 09B08C 7F06651C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B090 7F066520 44812000 */ mtc1 $at, $f4 -/* 09B094 7F066524 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09B098 7F066528 44813000 */ mtc1 $at, $f6 -/* 09B09C 7F06652C 46002201 */ sub.s $f8, $f4, $f0 -/* 09B0A0 7F066530 46064282 */ mul.s $f10, $f8, $f6 -/* 09B0A4 7F066534 E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 09B0A8 7F066538 0FC160F3 */ jal sinf -/* 09B0AC 7F06653C C7AC0178 */ lwc1 $f12, 0x178($sp) -/* 09B0B0 7F066540 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B0B4 7F066544 44812000 */ mtc1 $at, $f4 -/* 09B0B8 7F066548 8E020024 */ lw $v0, 0x24($s0) -/* 09B0BC 7F06654C 46040202 */ mul.s $f8, $f0, $f4 -/* 09B0C0 7F066550 E60800B4 */ swc1 $f8, 0xb4($s0) -.Ljp7F066554: -/* 09B0C4 7F066554 24010009 */ li $at, 9 -/* 09B0C8 7F066558 54410018 */ bnel $v0, $at, .Ljp7F0665BC -/* 09B0CC 7F06655C 2401000A */ li $at, 10 -/* 09B0D0 7F066560 0FC17375 */ jal get_ptr_item_statistics -/* 09B0D4 7F066564 02202025 */ move $a0, $s1 -/* 09B0D8 7F066568 8E0E002C */ lw $t6, 0x2c($s0) -/* 09B0DC 7F06656C 844F0020 */ lh $t7, 0x20($v0) -/* 09B0E0 7F066570 02202025 */ move $a0, $s1 -/* 09B0E4 7F066574 01CF082A */ slt $at, $t6, $t7 -/* 09B0E8 7F066578 14200005 */ bnez $at, .Ljp7F066590 -/* 09B0EC 7F06657C 00000000 */ nop -/* 09B0F0 7F066580 0FC17975 */ jal check_special_attributes -/* 09B0F4 7F066584 3C050020 */ lui $a1, 0x20 -/* 09B0F8 7F066588 50400008 */ beql $v0, $zero, .Ljp7F0665AC -/* 09B0FC 7F06658C AE000024 */ sw $zero, 0x24($s0) -.Ljp7F066590: -/* 09B100 7F066590 0FC1A658 */ jal get_ammo_in_hands_weapon -/* 09B104 7F066594 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09B108 7F066598 18400003 */ blez $v0, .Ljp7F0665A8 -/* 09B10C 7F06659C 2402000A */ li $v0, 10 -/* 09B110 7F0665A0 10000005 */ b .Ljp7F0665B8 -/* 09B114 7F0665A4 AE020024 */ sw $v0, 0x24($s0) -.Ljp7F0665A8: -/* 09B118 7F0665A8 AE000024 */ sw $zero, 0x24($s0) -.Ljp7F0665AC: -/* 09B11C 7F0665AC AE000020 */ sw $zero, 0x20($s0) -/* 09B120 7F0665B0 AE00001C */ sw $zero, 0x1c($s0) -/* 09B124 7F0665B4 00001025 */ move $v0, $zero -.Ljp7F0665B8: -/* 09B128 7F0665B8 2401000A */ li $at, 10 -.Ljp7F0665BC: -/* 09B12C 7F0665BC 54410048 */ bnel $v0, $at, .Ljp7F0666E0 -/* 09B130 7F0665C0 2401000B */ li $at, 11 -/* 09B134 7F0665C4 8E030020 */ lw $v1, 0x20($s0) -/* 09B138 7F0665C8 2402000B */ li $v0, 11 -/* 09B13C 7F0665CC 240F0011 */ li $t7, 17 -/* 09B140 7F0665D0 28610010 */ slti $at, $v1, 0x10 -/* 09B144 7F0665D4 50200005 */ beql $at, $zero, .Ljp7F0665EC -/* 09B148 7F0665D8 AE020024 */ sw $v0, 0x24($s0) -/* 09B14C 7F0665DC 8219000F */ lb $t9, 0xf($s0) -/* 09B150 7F0665E0 57200007 */ bnezl $t9, .Ljp7F066600 -/* 09B154 7F0665E4 44833000 */ mtc1 $v1, $f6 -/* 09B158 7F0665E8 AE020024 */ sw $v0, 0x24($s0) -.Ljp7F0665EC: -/* 09B15C 7F0665EC AE0F0040 */ sw $t7, 0x40($s0) -/* 09B160 7F0665F0 AE000020 */ sw $zero, 0x20($s0) -/* 09B164 7F0665F4 10000039 */ b .Ljp7F0666DC -/* 09B168 7F0665F8 AE00001C */ sw $zero, 0x1c($s0) -/* 09B16C 7F0665FC 44833000 */ mtc1 $v1, $f6 -.Ljp7F066600: -/* 09B170 7F066600 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 09B174 7F066604 44811000 */ mtc1 $at, $f2 -/* 09B178 7F066608 468032A0 */ cvt.s.w $f10, $f6 -/* 09B17C 7F06660C 3C018005 */ lui $at, %hi(D_80054290) # $at, 0x8005 -/* 09B180 7F066610 C42442C0 */ lwc1 $f4, %lo(D_80054290)($at) -/* 09B184 7F066614 24180001 */ li $t8, 1 -/* 09B188 7F066618 2605007C */ addiu $a1, $s0, 0x7c -/* 09B18C 7F06661C 46045202 */ mul.s $f8, $f10, $f4 -/* 09B190 7F066620 46024183 */ div.s $f6, $f8, $f2 -/* 09B194 7F066624 E7A6012C */ swc1 $f6, 0x12c($sp) -/* 09B198 7F066628 AE1800BC */ sw $t8, 0xbc($s0) -/* 09B19C 7F06662C 8FB901E0 */ lw $t9, 0x1e0($sp) -/* 09B1A0 7F066630 57200009 */ bnezl $t9, .Ljp7F066658 -/* 09B1A4 7F066634 44802000 */ mtc1 $zero, $f4 -/* 09B1A8 7F066638 44805000 */ mtc1 $zero, $f10 -/* 09B1AC 7F06663C AFA50034 */ sw $a1, 0x34($sp) -/* 09B1B0 7F066640 46025303 */ div.s $f12, $f10, $f2 -/* 09B1B4 7F066644 0FC162EA */ jal sub_GAME_7F058688 -/* 09B1B8 7F066648 E7AC0040 */ swc1 $f12, 0x40($sp) -/* 09B1BC 7F06664C 10000008 */ b .Ljp7F066670 -/* 09B1C0 7F066650 C7AC012C */ lwc1 $f12, 0x12c($sp) -/* 09B1C4 7F066654 44802000 */ mtc1 $zero, $f4 -.Ljp7F066658: -/* 09B1C8 7F066658 AFA50034 */ sw $a1, 0x34($sp) -/* 09B1CC 7F06665C 46022003 */ div.s $f0, $f4, $f2 -/* 09B1D0 7F066660 46000307 */ neg.s $f12, $f0 -/* 09B1D4 7F066664 0FC162EA */ jal sub_GAME_7F058688 -/* 09B1D8 7F066668 E7A00040 */ swc1 $f0, 0x40($sp) -/* 09B1DC 7F06666C C7AC012C */ lwc1 $f12, 0x12c($sp) -.Ljp7F066670: -/* 09B1E0 7F066670 0FC162A4 */ jal sub_GAME_7F058570 -/* 09B1E4 7F066674 27A50130 */ addiu $a1, $sp, 0x130 -/* 09B1E8 7F066678 27A40130 */ addiu $a0, $sp, 0x130 -/* 09B1EC 7F06667C 0FC16162 */ jal sub_GAME_7F058068 -/* 09B1F0 7F066680 8FA50034 */ lw $a1, 0x34($sp) -/* 09B1F4 7F066684 0FC160F3 */ jal sinf -/* 09B1F8 7F066688 C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 09B1FC 7F06668C 44804000 */ mtc1 $zero, $f8 -/* 09B200 7F066690 02202025 */ move $a0, $s1 -/* 09B204 7F066694 0FC193C4 */ jal sub_GAME_7F0649AC -/* 09B208 7F066698 E60800AC */ swc1 $f8, 0xac($s0) -/* 09B20C 7F06669C E7A00044 */ swc1 $f0, 0x44($sp) -/* 09B210 7F0666A0 0FC160F0 */ jal cosf -/* 09B214 7F0666A4 C7AC012C */ lwc1 $f12, 0x12c($sp) -/* 09B218 7F0666A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B21C 7F0666AC 44813000 */ mtc1 $at, $f6 -/* 09B220 7F0666B0 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 09B224 7F0666B4 46003281 */ sub.s $f10, $f6, $f0 -/* 09B228 7F0666B8 46045202 */ mul.s $f8, $f10, $f4 -/* 09B22C 7F0666BC E60800B0 */ swc1 $f8, 0xb0($s0) -/* 09B230 7F0666C0 0FC160F3 */ jal sinf -/* 09B234 7F0666C4 C7AC012C */ lwc1 $f12, 0x12c($sp) -/* 09B238 7F0666C8 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B23C 7F0666CC 44813000 */ mtc1 $at, $f6 -/* 09B240 7F0666D0 8E020024 */ lw $v0, 0x24($s0) -/* 09B244 7F0666D4 46060282 */ mul.s $f10, $f0, $f6 -/* 09B248 7F0666D8 E60A00B4 */ swc1 $f10, 0xb4($s0) -.Ljp7F0666DC: -/* 09B24C 7F0666DC 2401000B */ li $at, 11 -.Ljp7F0666E0: -/* 09B250 7F0666E0 5441006B */ bnel $v0, $at, .Ljp7F066890 -/* 09B254 7F0666E4 2401000C */ li $at, 12 -/* 09B258 7F0666E8 8E0E001C */ lw $t6, 0x1c($s0) -/* 09B25C 7F0666EC 3C0F8005 */ lui $t7, %hi(clock_timer) # $t7, 0x8005 -/* 09B260 7F0666F0 55C0002B */ bnezl $t6, .Ljp7F0667A0 -/* 09B264 7F0666F4 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B268 7F0666F8 8DEF83A4 */ lw $t7, %lo(clock_timer)($t7) -/* 09B26C 7F0666FC 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09B270 7F066700 59E00027 */ blezl $t7, .Ljp7F0667A0 -/* 09B274 7F066704 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B278 7F066708 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 09B27C 7F06670C 24010001 */ li $at, 1 -/* 09B280 7F066710 8F190000 */ lw $t9, ($t8) -/* 09B284 7F066714 53210022 */ beql $t9, $at, .Ljp7F0667A0 -/* 09B288 7F066718 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B28C 7F06671C 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 09B290 7F066720 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09B294 7F066724 1040001D */ beqz $v0, weapon_reload_none_sfx -/* 09B298 7F066728 3C0E8003 */ lui $t6, %hi(disable_player_pickups_flag) # $t6, 0x8003 -/* 09B29C 7F06672C 8DCE64F4 */ lw $t6, %lo(disable_player_pickups_flag)($t6) -/* 09B2A0 7F066730 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 -/* 09B2A4 7F066734 55C0001A */ bnezl $t6, .Ljp7F0667A0 -/* 09B2A8 7F066738 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B2AC 7F06673C 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 09B2B0 7F066740 2A21003E */ slti $at, $s1, 0x3e -/* 09B2B4 7F066744 8DF800D8 */ lw $t8, 0xd8($t7) -/* 09B2B8 7F066748 57000015 */ bnezl $t8, .Ljp7F0667A0 -/* 09B2BC 7F06674C 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B2C0 7F066750 14200005 */ bnez $at, .Ljp7F066768 -/* 09B2C4 7F066754 24010058 */ li $at, 88 -/* 09B2C8 7F066758 52210011 */ beql $s1, $at, .Ljp7F0667A0 -/* 09B2CC 7F06675C 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B2D0 7F066760 10000009 */ b weapon_reload_gun_sfx -/* 09B2D4 7F066764 00000000 */ nop -.Ljp7F066768: -/* 09B2D8 7F066768 2E21003E */ sltiu $at, $s1, 0x3e -/* 09B2DC 7F06676C 10200006 */ beqz $at, weapon_reload_gun_sfx -/* 09B2E0 7F066770 0011C880 */ sll $t9, $s1, 2 -/* 09B2E4 7F066774 3C018005 */ lui $at, %hi(jpt_80054294) -/* 09B2E8 7F066778 00390821 */ addu $at, $at, $t9 -/* 09B2EC 7F06677C 8C3942C4 */ lw $t9, %lo(jpt_80054294)($at) -/* 09B2F0 7F066780 03200008 */ jr $t9 -/* 09B2F4 7F066784 00000000 */ nop -weapon_reload_gun_sfx: -/* 09B2F8 7F066788 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09B2FC 7F06678C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09B300 7F066790 24050032 */ li $a1, 50 -/* 09B304 7F066794 0C002386 */ jal play_sfx_a1 -/* 09B308 7F066798 00003025 */ move $a2, $zero -weapon_reload_none_sfx: -/* 09B30C 7F06679C 8E0E0020 */ lw $t6, 0x20($s0) -.Ljp7F0667A0: -/* 09B310 7F0667A0 8E0F0040 */ lw $t7, 0x40($s0) -/* 09B314 7F0667A4 01CF082A */ slt $at, $t6, $t7 -/* 09B318 7F0667A8 1420000A */ bnez $at, .Ljp7F0667D4 -/* 09B31C 7F0667AC 240E0001 */ li $t6, 1 -/* 09B320 7F0667B0 8E18001C */ lw $t8, 0x1c($s0) -/* 09B324 7F0667B4 2402000C */ li $v0, 12 -/* 09B328 7F0667B8 2B010002 */ slti $at, $t8, 2 -/* 09B32C 7F0667BC 54200006 */ bnezl $at, .Ljp7F0667D8 -/* 09B330 7F0667C0 AE0E00BC */ sw $t6, 0xbc($s0) -/* 09B334 7F0667C4 AE020024 */ sw $v0, 0x24($s0) -/* 09B338 7F0667C8 AE000020 */ sw $zero, 0x20($s0) -/* 09B33C 7F0667CC 1000002F */ b .Ljp7F06688C -/* 09B340 7F0667D0 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F0667D4: -/* 09B344 7F0667D4 AE0E00BC */ sw $t6, 0xbc($s0) -.Ljp7F0667D8: -/* 09B348 7F0667D8 8FAF01E0 */ lw $t7, 0x1e0($sp) -/* 09B34C 7F0667DC 2605007C */ addiu $a1, $s0, 0x7c -/* 09B350 7F0667E0 55E00007 */ bnezl $t7, .Ljp7F066800 -/* 09B354 7F0667E4 44806000 */ mtc1 $zero, $f12 -/* 09B358 7F0667E8 44806000 */ mtc1 $zero, $f12 -/* 09B35C 7F0667EC 0FC162EA */ jal sub_GAME_7F058688 -/* 09B360 7F0667F0 AFA50034 */ sw $a1, 0x34($sp) -/* 09B364 7F0667F4 10000005 */ b .Ljp7F06680C -/* 09B368 7F0667F8 00000000 */ nop -/* 09B36C 7F0667FC 44806000 */ mtc1 $zero, $f12 -.Ljp7F066800: -/* 09B370 7F066800 AFA50034 */ sw $a1, 0x34($sp) -/* 09B374 7F066804 0FC162EA */ jal sub_GAME_7F058688 -/* 09B378 7F066808 46006307 */ neg.s $f12, $f12 -.Ljp7F06680C: -/* 09B37C 7F06680C 3C018005 */ lui $at, %hi(D_8005438C) # $at, 0x8005 -/* 09B380 7F066810 C42C43BC */ lwc1 $f12, %lo(D_8005438C)($at) -/* 09B384 7F066814 0FC162A4 */ jal sub_GAME_7F058570 -/* 09B388 7F066818 27A500E8 */ addiu $a1, $sp, 0xe8 -/* 09B38C 7F06681C 27A400E8 */ addiu $a0, $sp, 0xe8 -/* 09B390 7F066820 0FC16162 */ jal sub_GAME_7F058068 -/* 09B394 7F066824 8FA50034 */ lw $a1, 0x34($sp) -/* 09B398 7F066828 44806000 */ mtc1 $zero, $f12 -/* 09B39C 7F06682C 0FC160F3 */ jal sinf -/* 09B3A0 7F066830 00000000 */ nop -/* 09B3A4 7F066834 44802000 */ mtc1 $zero, $f4 -/* 09B3A8 7F066838 02202025 */ move $a0, $s1 -/* 09B3AC 7F06683C 0FC193C4 */ jal sub_GAME_7F0649AC -/* 09B3B0 7F066840 E60400AC */ swc1 $f4, 0xac($s0) -/* 09B3B4 7F066844 3C018005 */ lui $at, %hi(D_80054390) # $at, 0x8005 -/* 09B3B8 7F066848 C42C43C0 */ lwc1 $f12, %lo(D_80054390)($at) -/* 09B3BC 7F06684C 0FC160F0 */ jal cosf -/* 09B3C0 7F066850 E7A00044 */ swc1 $f0, 0x44($sp) -/* 09B3C4 7F066854 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B3C8 7F066858 44814000 */ mtc1 $at, $f8 -/* 09B3CC 7F06685C C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 09B3D0 7F066860 3C018005 */ lui $at, %hi(D_80054394) # $at, 0x8005 -/* 09B3D4 7F066864 46004181 */ sub.s $f6, $f8, $f0 -/* 09B3D8 7F066868 460A3102 */ mul.s $f4, $f6, $f10 -/* 09B3DC 7F06686C E60400B0 */ swc1 $f4, 0xb0($s0) -/* 09B3E0 7F066870 0FC160F3 */ jal sinf -/* 09B3E4 7F066874 C42C43C4 */ lwc1 $f12, %lo(D_80054394)($at) -/* 09B3E8 7F066878 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B3EC 7F06687C 44814000 */ mtc1 $at, $f8 -/* 09B3F0 7F066880 8E020024 */ lw $v0, 0x24($s0) -/* 09B3F4 7F066884 46080182 */ mul.s $f6, $f0, $f8 -/* 09B3F8 7F066888 E60600B4 */ swc1 $f6, 0xb4($s0) -.Ljp7F06688C: -/* 09B3FC 7F06688C 2401000C */ li $at, 12 -.Ljp7F066890: -/* 09B400 7F066890 5441005A */ bnel $v0, $at, .Ljp7F0669FC -/* 09B404 7F066894 2401000E */ li $at, 14 -/* 09B408 7F066898 8E18001C */ lw $t8, 0x1c($s0) -/* 09B40C 7F06689C 57000007 */ bnezl $t8, .Ljp7F0668BC -/* 09B410 7F0668A0 8E0E0020 */ lw $t6, 0x20($s0) -/* 09B414 7F0668A4 0FC193CF */ jal sub_GAME_7F0649D8 -/* 09B418 7F0668A8 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09B41C 7F0668AC 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 09B420 7F0668B0 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 09B424 7F0668B4 AF200FC8 */ sw $zero, 0xfc8($t9) -/* 09B428 7F0668B8 8E0E0020 */ lw $t6, 0x20($s0) -.Ljp7F0668BC: -/* 09B42C 7F0668BC 29C10017 */ slti $at, $t6, 0x17 -/* 09B430 7F0668C0 5020000E */ beql $at, $zero, .Ljp7F0668FC -/* 09B434 7F0668C4 AE000024 */ sw $zero, 0x24($s0) -/* 09B438 7F0668C8 0FC1755A */ jal get_ptr_weapon_model_header_line -/* 09B43C 7F0668CC 02202025 */ move $a0, $s1 -/* 09B440 7F0668D0 10400009 */ beqz $v0, .Ljp7F0668F8 -/* 09B444 7F0668D4 02202025 */ move $a0, $s1 -/* 09B448 7F0668D8 0FC17975 */ jal check_special_attributes -/* 09B44C 7F0668DC 24050800 */ li $a1, 2048 -/* 09B450 7F0668E0 10400005 */ beqz $v0, .Ljp7F0668F8 -/* 09B454 7F0668E4 02202025 */ move $a0, $s1 -/* 09B458 7F0668E8 0FC17975 */ jal check_special_attributes -/* 09B45C 7F0668EC 24052000 */ li $a1, 8192 -/* 09B460 7F0668F0 50400007 */ beql $v0, $zero, .Ljp7F066910 -/* 09B464 7F0668F4 8E0F0020 */ lw $t7, 0x20($s0) -.Ljp7F0668F8: -/* 09B468 7F0668F8 AE000024 */ sw $zero, 0x24($s0) -.Ljp7F0668FC: -/* 09B46C 7F0668FC AE000020 */ sw $zero, 0x20($s0) -/* 09B470 7F066900 AE00001C */ sw $zero, 0x1c($s0) -/* 09B474 7F066904 1000003C */ b .Ljp7F0669F8 -/* 09B478 7F066908 00001025 */ move $v0, $zero -/* 09B47C 7F06690C 8E0F0020 */ lw $t7, 0x20($s0) -.Ljp7F066910: -/* 09B480 7F066910 24180017 */ li $t8, 23 -/* 09B484 7F066914 3C0141B8 */ li $at, 0x41B80000 # 23.000000 -/* 09B488 7F066918 030FC823 */ subu $t9, $t8, $t7 -/* 09B48C 7F06691C 44995000 */ mtc1 $t9, $f10 -/* 09B490 7F066920 44811000 */ mtc1 $at, $f2 -/* 09B494 7F066924 3C018005 */ lui $at, %hi(D_80054398) # $at, 0x8005 -/* 09B498 7F066928 46805120 */ cvt.s.w $f4, $f10 -/* 09B49C 7F06692C C42843C8 */ lwc1 $f8, %lo(D_80054398)($at) -/* 09B4A0 7F066930 240E0001 */ li $t6, 1 -/* 09B4A4 7F066934 2605007C */ addiu $a1, $s0, 0x7c -/* 09B4A8 7F066938 46082182 */ mul.s $f6, $f4, $f8 -/* 09B4AC 7F06693C 46023283 */ div.s $f10, $f6, $f2 -/* 09B4B0 7F066940 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 09B4B4 7F066944 AE0E00BC */ sw $t6, 0xbc($s0) -/* 09B4B8 7F066948 8FB801E0 */ lw $t8, 0x1e0($sp) -/* 09B4BC 7F06694C 57000009 */ bnezl $t8, .Ljp7F066974 -/* 09B4C0 7F066950 44804000 */ mtc1 $zero, $f8 -/* 09B4C4 7F066954 44802000 */ mtc1 $zero, $f4 -/* 09B4C8 7F066958 AFA50034 */ sw $a1, 0x34($sp) -/* 09B4CC 7F06695C 46022303 */ div.s $f12, $f4, $f2 -/* 09B4D0 7F066960 0FC162EA */ jal sub_GAME_7F058688 -/* 09B4D4 7F066964 E7AC0040 */ swc1 $f12, 0x40($sp) -/* 09B4D8 7F066968 10000008 */ b .Ljp7F06698C -/* 09B4DC 7F06696C C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 09B4E0 7F066970 44804000 */ mtc1 $zero, $f8 -.Ljp7F066974: -/* 09B4E4 7F066974 AFA50034 */ sw $a1, 0x34($sp) -/* 09B4E8 7F066978 46024003 */ div.s $f0, $f8, $f2 -/* 09B4EC 7F06697C 46000307 */ neg.s $f12, $f0 -/* 09B4F0 7F066980 0FC162EA */ jal sub_GAME_7F058688 -/* 09B4F4 7F066984 E7A00040 */ swc1 $f0, 0x40($sp) -/* 09B4F8 7F066988 C7AC009C */ lwc1 $f12, 0x9c($sp) -.Ljp7F06698C: -/* 09B4FC 7F06698C 0FC162A4 */ jal sub_GAME_7F058570 -/* 09B500 7F066990 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 09B504 7F066994 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 09B508 7F066998 0FC16162 */ jal sub_GAME_7F058068 -/* 09B50C 7F06699C 8FA50034 */ lw $a1, 0x34($sp) -/* 09B510 7F0669A0 0FC160F3 */ jal sinf -/* 09B514 7F0669A4 C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 09B518 7F0669A8 44803000 */ mtc1 $zero, $f6 -/* 09B51C 7F0669AC 02202025 */ move $a0, $s1 -/* 09B520 7F0669B0 0FC193C4 */ jal sub_GAME_7F0649AC -/* 09B524 7F0669B4 E60600AC */ swc1 $f6, 0xac($s0) -/* 09B528 7F0669B8 E7A00044 */ swc1 $f0, 0x44($sp) -/* 09B52C 7F0669BC 0FC160F0 */ jal cosf -/* 09B530 7F0669C0 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 09B534 7F0669C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B538 7F0669C8 44815000 */ mtc1 $at, $f10 -/* 09B53C 7F0669CC C7A80044 */ lwc1 $f8, 0x44($sp) -/* 09B540 7F0669D0 46005101 */ sub.s $f4, $f10, $f0 -/* 09B544 7F0669D4 46082182 */ mul.s $f6, $f4, $f8 -/* 09B548 7F0669D8 E60600B0 */ swc1 $f6, 0xb0($s0) -/* 09B54C 7F0669DC 0FC160F3 */ jal sinf -/* 09B550 7F0669E0 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 09B554 7F0669E4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B558 7F0669E8 44815000 */ mtc1 $at, $f10 -/* 09B55C 7F0669EC 8E020024 */ lw $v0, 0x24($s0) -/* 09B560 7F0669F0 460A0102 */ mul.s $f4, $f0, $f10 -/* 09B564 7F0669F4 E60400B4 */ swc1 $f4, 0xb4($s0) -.Ljp7F0669F8: -/* 09B568 7F0669F8 2401000E */ li $at, 14 -.Ljp7F0669FC: -/* 09B56C 7F0669FC 5441002E */ bnel $v0, $at, .Ljp7F066AB8 -/* 09B570 7F066A00 2401000F */ li $at, 15 -/* 09B574 7F066A04 8E030020 */ lw $v1, 0x20($s0) -/* 09B578 7F066A08 2402000F */ li $v0, 15 -/* 09B57C 7F066A0C 28610010 */ slti $at, $v1, 0x10 -/* 09B580 7F066A10 50200005 */ beql $at, $zero, .Ljp7F066A28 -/* 09B584 7F066A14 AE020024 */ sw $v0, 0x24($s0) -/* 09B588 7F066A18 820F000F */ lb $t7, 0xf($s0) -/* 09B58C 7F066A1C 55E00006 */ bnezl $t7, .Ljp7F066A38 -/* 09B590 7F066A20 44834000 */ mtc1 $v1, $f8 -/* 09B594 7F066A24 AE020024 */ sw $v0, 0x24($s0) -.Ljp7F066A28: -/* 09B598 7F066A28 AE000020 */ sw $zero, 0x20($s0) -/* 09B59C 7F066A2C 10000021 */ b .Ljp7F066AB4 -/* 09B5A0 7F066A30 AE00001C */ sw $zero, 0x1c($s0) -/* 09B5A4 7F066A34 44834000 */ mtc1 $v1, $f8 -.Ljp7F066A38: -/* 09B5A8 7F066A38 3C018005 */ lui $at, %hi(D_8005439C) # $at, 0x8005 -/* 09B5AC 7F066A3C C42A43CC */ lwc1 $f10, %lo(D_8005439C)($at) -/* 09B5B0 7F066A40 468041A0 */ cvt.s.w $f6, $f8 -/* 09B5B4 7F066A44 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 09B5B8 7F066A48 44814000 */ mtc1 $at, $f8 -/* 09B5BC 7F066A4C 240E0001 */ li $t6, 1 -/* 09B5C0 7F066A50 AE0E00BC */ sw $t6, 0xbc($s0) -/* 09B5C4 7F066A54 2605007C */ addiu $a1, $s0, 0x7c -/* 09B5C8 7F066A58 460A3102 */ mul.s $f4, $f6, $f10 -/* 09B5CC 7F066A5C 46082303 */ div.s $f12, $f4, $f8 -/* 09B5D0 7F066A60 0FC162A4 */ jal sub_GAME_7F058570 -/* 09B5D4 7F066A64 E7AC0098 */ swc1 $f12, 0x98($sp) -/* 09B5D8 7F066A68 44803000 */ mtc1 $zero, $f6 -/* 09B5DC 7F066A6C 00000000 */ nop -/* 09B5E0 7F066A70 E60600AC */ swc1 $f6, 0xac($s0) -/* 09B5E4 7F066A74 0FC160F0 */ jal cosf -/* 09B5E8 7F066A78 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 09B5EC 7F066A7C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B5F0 7F066A80 44815000 */ mtc1 $at, $f10 -/* 09B5F4 7F066A84 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09B5F8 7F066A88 44814000 */ mtc1 $at, $f8 -/* 09B5FC 7F066A8C 46005101 */ sub.s $f4, $f10, $f0 -/* 09B600 7F066A90 46082182 */ mul.s $f6, $f4, $f8 -/* 09B604 7F066A94 E60600B0 */ swc1 $f6, 0xb0($s0) -/* 09B608 7F066A98 0FC160F3 */ jal sinf -/* 09B60C 7F066A9C C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 09B610 7F066AA0 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B614 7F066AA4 44815000 */ mtc1 $at, $f10 -/* 09B618 7F066AA8 8E020024 */ lw $v0, 0x24($s0) -/* 09B61C 7F066AAC 460A0102 */ mul.s $f4, $f0, $f10 -/* 09B620 7F066AB0 E60400B4 */ swc1 $f4, 0xb4($s0) -.Ljp7F066AB4: -/* 09B624 7F066AB4 2401000F */ li $at, 15 -.Ljp7F066AB8: -/* 09B628 7F066AB8 54410031 */ bnel $v0, $at, .Ljp7F066B80 -/* 09B62C 7F066ABC 24010010 */ li $at, 16 -/* 09B630 7F066AC0 8E18001C */ lw $t8, 0x1c($s0) -/* 09B634 7F066AC4 53000006 */ beql $t8, $zero, .Ljp7F066AE0 -/* 09B638 7F066AC8 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09B63C 7F066ACC 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 09B640 7F066AD0 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09B644 7F066AD4 14400007 */ bnez $v0, .Ljp7F066AF4 -/* 09B648 7F066AD8 00000000 */ nop -/* 09B64C 7F066ADC 8FA401E0 */ lw $a0, 0x1e0($sp) -.Ljp7F066AE0: -/* 09B650 7F066AE0 0FC177EB */ jal sub_GAME_7F05DA8C -/* 09B654 7F066AE4 8E05003C */ lw $a1, 0x3c($s0) -/* 09B658 7F066AE8 0FC177D9 */ jal return_ammo_in_hand -/* 09B65C 7F066AEC 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09B660 7F066AF0 00408825 */ move $s1, $v0 -.Ljp7F066AF4: -/* 09B664 7F066AF4 0FC174F7 */ jal sub_GAME_7F05CEBC -/* 09B668 7F066AF8 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09B66C 7F066AFC 10400006 */ beqz $v0, .Ljp7F066B18 -/* 09B670 7F066B00 24190001 */ li $t9, 1 -/* 09B674 7F066B04 24020010 */ li $v0, 16 -/* 09B678 7F066B08 AE020024 */ sw $v0, 0x24($s0) -/* 09B67C 7F066B0C AE000020 */ sw $zero, 0x20($s0) -/* 09B680 7F066B10 1000001A */ b .Ljp7F066B7C -/* 09B684 7F066B14 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F066B18: -/* 09B688 7F066B18 AE1900BC */ sw $t9, 0xbc($s0) -/* 09B68C 7F066B1C 3C018005 */ lui $at, %hi(D_800543A0) # $at, 0x8005 -/* 09B690 7F066B20 C42C43D0 */ lwc1 $f12, %lo(D_800543A0)($at) -/* 09B694 7F066B24 0FC162A4 */ jal sub_GAME_7F058570 -/* 09B698 7F066B28 2605007C */ addiu $a1, $s0, 0x7c -/* 09B69C 7F066B2C 44804000 */ mtc1 $zero, $f8 -/* 09B6A0 7F066B30 3C018005 */ lui $at, %hi(D_800543A4) # $at, 0x8005 -/* 09B6A4 7F066B34 E60800AC */ swc1 $f8, 0xac($s0) -/* 09B6A8 7F066B38 0FC160F0 */ jal cosf -/* 09B6AC 7F066B3C C42C43D4 */ lwc1 $f12, %lo(D_800543A4)($at) -/* 09B6B0 7F066B40 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B6B4 7F066B44 44813000 */ mtc1 $at, $f6 -/* 09B6B8 7F066B48 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09B6BC 7F066B4C 44812000 */ mtc1 $at, $f4 -/* 09B6C0 7F066B50 46003281 */ sub.s $f10, $f6, $f0 -/* 09B6C4 7F066B54 3C018005 */ lui $at, %hi(D_800543A8) # $at, 0x8005 -/* 09B6C8 7F066B58 46045202 */ mul.s $f8, $f10, $f4 -/* 09B6CC 7F066B5C E60800B0 */ swc1 $f8, 0xb0($s0) -/* 09B6D0 7F066B60 0FC160F3 */ jal sinf -/* 09B6D4 7F066B64 C42C43D8 */ lwc1 $f12, %lo(D_800543A8)($at) -/* 09B6D8 7F066B68 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B6DC 7F066B6C 44813000 */ mtc1 $at, $f6 -/* 09B6E0 7F066B70 8E020024 */ lw $v0, 0x24($s0) -/* 09B6E4 7F066B74 46060282 */ mul.s $f10, $f0, $f6 -/* 09B6E8 7F066B78 E60A00B4 */ swc1 $f10, 0xb4($s0) -.Ljp7F066B7C: -/* 09B6EC 7F066B7C 24010010 */ li $at, 16 -.Ljp7F066B80: -/* 09B6F0 7F066B80 5441004C */ bnel $v0, $at, .Ljp7F066CB4 -/* 09B6F4 7F066B84 24010011 */ li $at, 17 -/* 09B6F8 7F066B88 8E0E001C */ lw $t6, 0x1c($s0) -/* 09B6FC 7F066B8C 2A210021 */ slti $at, $s1, 0x21 -/* 09B700 7F066B90 55C00010 */ bnezl $t6, .Ljp7F066BD4 -/* 09B704 7F066B94 8E0F0020 */ lw $t7, 0x20($s0) -/* 09B708 7F066B98 5020000E */ beql $at, $zero, .Ljp7F066BD4 -/* 09B70C 7F066B9C 8E0F0020 */ lw $t7, 0x20($s0) -/* 09B710 7F066BA0 0FC26C01 */ jal get_num_players -/* 09B714 7F066BA4 00000000 */ nop -/* 09B718 7F066BA8 28410002 */ slti $at, $v0, 2 -/* 09B71C 7F066BAC 14200003 */ bnez $at, .Ljp7F066BBC -/* 09B720 7F066BB0 00000000 */ nop -/* 09B724 7F066BB4 0FC26FCE */ jal sub_GAME_7F09B398 -/* 09B728 7F066BB8 8FA401E0 */ lw $a0, 0x1e0($sp) -.Ljp7F066BBC: -/* 09B72C 7F066BBC 0FC193CF */ jal sub_GAME_7F0649D8 -/* 09B730 7F066BC0 8FA401E0 */ lw $a0, 0x1e0($sp) -/* 09B734 7F066BC4 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09B738 7F066BC8 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 09B73C 7F066BCC AF000FC8 */ sw $zero, 0xfc8($t8) -/* 09B740 7F066BD0 8E0F0020 */ lw $t7, 0x20($s0) -.Ljp7F066BD4: -/* 09B744 7F066BD4 29E10017 */ slti $at, $t7, 0x17 -/* 09B748 7F066BD8 5020000E */ beql $at, $zero, .Ljp7F066C14 -/* 09B74C 7F066BDC AE000024 */ sw $zero, 0x24($s0) -/* 09B750 7F066BE0 0FC1755A */ jal get_ptr_weapon_model_header_line -/* 09B754 7F066BE4 02202025 */ move $a0, $s1 -/* 09B758 7F066BE8 10400009 */ beqz $v0, .Ljp7F066C10 -/* 09B75C 7F066BEC 02202025 */ move $a0, $s1 -/* 09B760 7F066BF0 0FC17975 */ jal check_special_attributes -/* 09B764 7F066BF4 24050800 */ li $a1, 2048 -/* 09B768 7F066BF8 10400005 */ beqz $v0, .Ljp7F066C10 -/* 09B76C 7F066BFC 02202025 */ move $a0, $s1 -/* 09B770 7F066C00 0FC17975 */ jal check_special_attributes -/* 09B774 7F066C04 24052000 */ li $a1, 8192 -/* 09B778 7F066C08 50400007 */ beql $v0, $zero, .Ljp7F066C28 -/* 09B77C 7F066C0C 8E190020 */ lw $t9, 0x20($s0) -.Ljp7F066C10: -/* 09B780 7F066C10 AE000024 */ sw $zero, 0x24($s0) -.Ljp7F066C14: -/* 09B784 7F066C14 AE000020 */ sw $zero, 0x20($s0) -/* 09B788 7F066C18 AE00001C */ sw $zero, 0x1c($s0) -/* 09B78C 7F066C1C 10000024 */ b .Ljp7F066CB0 -/* 09B790 7F066C20 00001025 */ move $v0, $zero -/* 09B794 7F066C24 8E190020 */ lw $t9, 0x20($s0) -.Ljp7F066C28: -/* 09B798 7F066C28 240E0017 */ li $t6, 23 -/* 09B79C 7F066C2C 3C018005 */ lui $at, %hi(D_800543AC) # $at, 0x8005 -/* 09B7A0 7F066C30 01D9C023 */ subu $t8, $t6, $t9 -/* 09B7A4 7F066C34 44982000 */ mtc1 $t8, $f4 -/* 09B7A8 7F066C38 C42643DC */ lwc1 $f6, %lo(D_800543AC)($at) -/* 09B7AC 7F066C3C 3C0141B8 */ li $at, 0x41B80000 # 23.000000 -/* 09B7B0 7F066C40 46802220 */ cvt.s.w $f8, $f4 -/* 09B7B4 7F066C44 44812000 */ mtc1 $at, $f4 -/* 09B7B8 7F066C48 240F0001 */ li $t7, 1 -/* 09B7BC 7F066C4C AE0F00BC */ sw $t7, 0xbc($s0) -/* 09B7C0 7F066C50 2605007C */ addiu $a1, $s0, 0x7c -/* 09B7C4 7F066C54 46064282 */ mul.s $f10, $f8, $f6 -/* 09B7C8 7F066C58 46045303 */ div.s $f12, $f10, $f4 -/* 09B7CC 7F066C5C 0FC162A4 */ jal sub_GAME_7F058570 -/* 09B7D0 7F066C60 E7AC0090 */ swc1 $f12, 0x90($sp) -/* 09B7D4 7F066C64 44804000 */ mtc1 $zero, $f8 -/* 09B7D8 7F066C68 00000000 */ nop -/* 09B7DC 7F066C6C E60800AC */ swc1 $f8, 0xac($s0) -/* 09B7E0 7F066C70 0FC160F0 */ jal cosf -/* 09B7E4 7F066C74 C7AC0090 */ lwc1 $f12, 0x90($sp) -/* 09B7E8 7F066C78 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09B7EC 7F066C7C 44813000 */ mtc1 $at, $f6 -/* 09B7F0 7F066C80 3C01C270 */ li $at, 0xC2700000 # -60.000000 -/* 09B7F4 7F066C84 44812000 */ mtc1 $at, $f4 -/* 09B7F8 7F066C88 46003281 */ sub.s $f10, $f6, $f0 -/* 09B7FC 7F066C8C 46045202 */ mul.s $f8, $f10, $f4 -/* 09B800 7F066C90 E60800B0 */ swc1 $f8, 0xb0($s0) -/* 09B804 7F066C94 0FC160F3 */ jal sinf -/* 09B808 7F066C98 C7AC0090 */ lwc1 $f12, 0x90($sp) -/* 09B80C 7F066C9C 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 09B810 7F066CA0 44813000 */ mtc1 $at, $f6 -/* 09B814 7F066CA4 8E020024 */ lw $v0, 0x24($s0) -/* 09B818 7F066CA8 46060282 */ mul.s $f10, $f0, $f6 -/* 09B81C 7F066CAC E60A00B4 */ swc1 $f10, 0xb4($s0) -.Ljp7F066CB0: -/* 09B820 7F066CB0 24010011 */ li $at, 17 -.Ljp7F066CB4: -/* 09B824 7F066CB4 1041000B */ beq $v0, $at, .Ljp7F066CE4 -/* 09B828 7F066CB8 24010012 */ li $at, 18 -/* 09B82C 7F066CBC 10410009 */ beq $v0, $at, .Ljp7F066CE4 -/* 09B830 7F066CC0 24040013 */ li $a0, 19 -/* 09B834 7F066CC4 10820007 */ beq $a0, $v0, .Ljp7F066CE4 -/* 09B838 7F066CC8 24010014 */ li $at, 20 -/* 09B83C 7F066CCC 10410005 */ beq $v0, $at, .Ljp7F066CE4 -/* 09B840 7F066CD0 24010015 */ li $at, 21 -/* 09B844 7F066CD4 10410003 */ beq $v0, $at, .Ljp7F066CE4 -/* 09B848 7F066CD8 24010016 */ li $at, 22 -/* 09B84C 7F066CDC 54410056 */ bnel $v0, $at, .Ljp7F066E38 -/* 09B850 7F066CE0 2401001E */ li $at, 30 -.Ljp7F066CE4: -/* 09B854 7F066CE4 8E030020 */ lw $v1, 0x20($s0) -/* 09B858 7F066CE8 260E007C */ addiu $t6, $s0, 0x7c -/* 09B85C 7F066CEC 24010011 */ li $at, 17 -/* 09B860 7F066CF0 44832000 */ mtc1 $v1, $f4 -/* 09B864 7F066CF4 24040013 */ li $a0, 19 -/* 09B868 7F066CF8 AFAE0034 */ sw $t6, 0x34($sp) -/* 09B86C 7F066CFC 46802220 */ cvt.s.w $f8, $f4 -/* 09B870 7F066D00 10410003 */ beq $v0, $at, .Ljp7F066D10 -/* 09B874 7F066D04 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 09B878 7F066D08 24010014 */ li $at, 20 -/* 09B87C 7F066D0C 1441001E */ bne $v0, $at, .Ljp7F066D88 -.Ljp7F066D10: -/* 09B880 7F066D10 28610010 */ slti $at, $v1, 0x10 -/* 09B884 7F066D14 1420001C */ bnez $at, .Ljp7F066D88 -/* 09B888 7F066D18 3C188003 */ lui $t8, %hi(D_80035E94) # $t8, 0x8003 -/* 09B88C 7F066D1C 27185ED4 */ addiu $t8, %lo(D_80035E94) # addiu $t8, $t8, 0x5ed4 -/* 09B890 7F066D20 8F010000 */ lw $at, ($t8) -/* 09B894 7F066D24 27B90080 */ addiu $t9, $sp, 0x80 -/* 09B898 7F066D28 AF210000 */ sw $at, ($t9) -/* 09B89C 7F066D2C 97010004 */ lhu $at, 4($t8) -/* 09B8A0 7F066D30 0C002918 */ jal get_random_value -/* 09B8A4 7F066D34 A7210004 */ sh $at, 4($t9) -/* 09B8A8 7F066D38 24010003 */ li $at, 3 -/* 09B8AC 7F066D3C 0041001B */ divu $zero, $v0, $at -/* 09B8B0 7F066D40 00007810 */ mfhi $t7 -/* 09B8B4 7F066D44 000FC840 */ sll $t9, $t7, 1 -/* 09B8B8 7F066D48 03B92821 */ addu $a1, $sp, $t9 -/* 09B8BC 7F066D4C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09B8C0 7F066D50 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09B8C4 7F066D54 84A50080 */ lh $a1, 0x80($a1) -/* 09B8C8 7F066D58 0C002386 */ jal play_sfx_a1 -/* 09B8CC 7F066D5C 00003025 */ move $a2, $zero -/* 09B8D0 7F066D60 8E180024 */ lw $t8, 0x24($s0) -/* 09B8D4 7F066D64 24010011 */ li $at, 17 -/* 09B8D8 7F066D68 24020015 */ li $v0, 21 -/* 09B8DC 7F066D6C 17010005 */ bne $t8, $at, .Ljp7F066D84 -/* 09B8E0 7F066D70 24040013 */ li $a0, 19 -/* 09B8E4 7F066D74 24020012 */ li $v0, 18 -/* 09B8E8 7F066D78 AE020024 */ sw $v0, 0x24($s0) -/* 09B8EC 7F066D7C 10000002 */ b .Ljp7F066D88 -/* 09B8F0 7F066D80 24040013 */ li $a0, 19 -.Ljp7F066D84: -/* 09B8F4 7F066D84 AE020024 */ sw $v0, 0x24($s0) -.Ljp7F066D88: -/* 09B8F8 7F066D88 10820012 */ beq $a0, $v0, .Ljp7F066DD4 -/* 09B8FC 7F066D8C 24010016 */ li $at, 22 -/* 09B900 7F066D90 50410011 */ beql $v0, $at, .Ljp7F066DD8 -/* 09B904 7F066D94 24010011 */ li $at, 17 -/* 09B908 7F066D98 8E190020 */ lw $t9, 0x20($s0) -/* 09B90C 7F066D9C 24180001 */ li $t8, 1 -/* 09B910 7F066DA0 2B210018 */ slti $at, $t9, 0x18 -/* 09B914 7F066DA4 1420000B */ bnez $at, .Ljp7F066DD4 -/* 09B918 7F066DA8 24010011 */ li $at, 17 -/* 09B91C 7F066DAC 10410004 */ beq $v0, $at, .Ljp7F066DC0 -/* 09B920 7F066DB0 A218000C */ sb $t8, 0xc($s0) -/* 09B924 7F066DB4 24010012 */ li $at, 18 -/* 09B928 7F066DB8 54410005 */ bnel $v0, $at, .Ljp7F066DD0 -/* 09B92C 7F066DBC 24020016 */ li $v0, 22 -.Ljp7F066DC0: -/* 09B930 7F066DC0 AE040024 */ sw $a0, 0x24($s0) -/* 09B934 7F066DC4 10000003 */ b .Ljp7F066DD4 -/* 09B938 7F066DC8 00801025 */ move $v0, $a0 -/* 09B93C 7F066DCC 24020016 */ li $v0, 22 -.Ljp7F066DD0: -/* 09B940 7F066DD0 AE020024 */ sw $v0, 0x24($s0) -.Ljp7F066DD4: -/* 09B944 7F066DD4 24010011 */ li $at, 17 -.Ljp7F066DD8: -/* 09B948 7F066DD8 10410005 */ beq $v0, $at, .Ljp7F066DF0 -/* 09B94C 7F066DDC 8FA5008C */ lw $a1, 0x8c($sp) -/* 09B950 7F066DE0 24010012 */ li $at, 18 -/* 09B954 7F066DE4 10410002 */ beq $v0, $at, .Ljp7F066DF0 -/* 09B958 7F066DE8 00000000 */ nop -/* 09B95C 7F066DEC 14820003 */ bne $a0, $v0, .Ljp7F066DFC -.Ljp7F066DF0: -/* 09B960 7F066DF0 3C048003 */ lui $a0, %hi(D_80034CA4) # $a0, 0x8003 -/* 09B964 7F066DF4 10000003 */ b .Ljp7F066E04 -/* 09B968 7F066DF8 24844CE4 */ addiu $a0, %lo(D_80034CA4) # addiu $a0, $a0, 0x4ce4 -.Ljp7F066DFC: -/* 09B96C 7F066DFC 3C048003 */ lui $a0, %hi(D_80034E0C) # $a0, 0x8003 -/* 09B970 7F066E00 24844E4C */ addiu $a0, %lo(D_80034E0C) # addiu $a0, $a0, 0x4e4c -.Ljp7F066E04: -/* 09B974 7F066E04 8FA60034 */ lw $a2, 0x34($sp) -/* 09B978 7F066E08 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09B97C 7F066E0C 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09B980 7F066E10 10400004 */ beqz $v0, .Ljp7F066E24 -/* 09B984 7F066E14 240F0001 */ li $t7, 1 -/* 09B988 7F066E18 AE0F00BC */ sw $t7, 0xbc($s0) -/* 09B98C 7F066E1C 10000005 */ b .Ljp7F066E34 -/* 09B990 7F066E20 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F066E24: -/* 09B994 7F066E24 AE000024 */ sw $zero, 0x24($s0) -/* 09B998 7F066E28 AE000020 */ sw $zero, 0x20($s0) -/* 09B99C 7F066E2C AE00001C */ sw $zero, 0x1c($s0) -/* 09B9A0 7F066E30 00001025 */ move $v0, $zero -.Ljp7F066E34: -/* 09B9A4 7F066E34 2401001E */ li $at, 30 -.Ljp7F066E38: -/* 09B9A8 7F066E38 10410007 */ beq $v0, $at, .Ljp7F066E58 -/* 09B9AC 7F066E3C 2405001F */ li $a1, 31 -/* 09B9B0 7F066E40 10A20005 */ beq $a1, $v0, .Ljp7F066E58 -/* 09B9B4 7F066E44 24010020 */ li $at, 32 -/* 09B9B8 7F066E48 10410003 */ beq $v0, $at, .Ljp7F066E58 -/* 09B9BC 7F066E4C 24040021 */ li $a0, 33 -/* 09B9C0 7F066E50 54820041 */ bnel $a0, $v0, .Ljp7F066F58 -/* 09B9C4 7F066E54 2401001A */ li $at, 26 -.Ljp7F066E58: -/* 09B9C8 7F066E58 8E030020 */ lw $v1, 0x20($s0) -/* 09B9CC 7F066E5C 2401001E */ li $at, 30 -/* 09B9D0 7F066E60 24040021 */ li $a0, 33 -/* 09B9D4 7F066E64 44833000 */ mtc1 $v1, $f6 -/* 09B9D8 7F066E68 2405001F */ li $a1, 31 -/* 09B9DC 7F066E6C 2606007C */ addiu $a2, $s0, 0x7c -/* 09B9E0 7F066E70 10410003 */ beq $v0, $at, .Ljp7F066E80 -/* 09B9E4 7F066E74 46803020 */ cvt.s.w $f0, $f6 -/* 09B9E8 7F066E78 14A20014 */ bne $a1, $v0, .Ljp7F066ECC -/* 09B9EC 7F066E7C 24010020 */ li $at, 32 -.Ljp7F066E80: -/* 09B9F0 7F066E80 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 09B9F4 7F066E84 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 09B9F8 7F066E88 24010011 */ li $at, 17 -/* 09B9FC 7F066E8C 3C0E8003 */ lui $t6, %hi(D_80035778) # $t6, 0x8003 -/* 09BA00 7F066E90 8F382A38 */ lw $t8, 0x2a38($t9) -/* 09BA04 7F066E94 3C0F8003 */ lui $t7, %hi(D_800354A8) # $t7, 0x8003 -/* 09BA08 7F066E98 25CE57B8 */ addiu $t6, %lo(D_80035778) # addiu $t6, $t6, 0x57b8 -/* 09BA0C 7F066E9C 17010003 */ bne $t8, $at, .Ljp7F066EAC -/* 09BA10 7F066EA0 25EF54E8 */ addiu $t7, %lo(D_800354A8) # addiu $t7, $t7, 0x54e8 -/* 09BA14 7F066EA4 10000002 */ b .Ljp7F066EB0 -/* 09BA18 7F066EA8 AFAE0078 */ sw $t6, 0x78($sp) -.Ljp7F066EAC: -/* 09BA1C 7F066EAC AFAF0078 */ sw $t7, 0x78($sp) -.Ljp7F066EB0: -/* 09BA20 7F066EB0 10A2001B */ beq $a1, $v0, .Ljp7F066F20 -/* 09BA24 7F066EB4 2861001E */ slti $at, $v1, 0x1e -/* 09BA28 7F066EB8 14200019 */ bnez $at, .Ljp7F066F20 -/* 09BA2C 7F066EBC 24190001 */ li $t9, 1 -/* 09BA30 7F066EC0 A219000C */ sb $t9, 0xc($s0) -/* 09BA34 7F066EC4 10000016 */ b .Ljp7F066F20 -/* 09BA38 7F066EC8 AE050024 */ sw $a1, 0x24($s0) -.Ljp7F066ECC: -/* 09BA3C 7F066ECC 10410003 */ beq $v0, $at, .Ljp7F066EDC -/* 09BA40 7F066ED0 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 09BA44 7F066ED4 54820013 */ bnel $a0, $v0, .Ljp7F066F24 -/* 09BA48 7F066ED8 44050000 */ mfc1 $a1, $f0 -.Ljp7F066EDC: -/* 09BA4C 7F066EDC 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 09BA50 7F066EE0 24010011 */ li $at, 17 -/* 09BA54 7F066EE4 3C0F8003 */ lui $t7, %hi(D_80035904) # $t7, 0x8003 -/* 09BA58 7F066EE8 8F0E2A38 */ lw $t6, 0x2a38($t8) -/* 09BA5C 7F066EEC 3C198003 */ lui $t9, %hi(D_80035610) # $t9, 0x8003 -/* 09BA60 7F066EF0 25EF5944 */ addiu $t7, %lo(D_80035904) # addiu $t7, $t7, 0x5944 -/* 09BA64 7F066EF4 15C10003 */ bne $t6, $at, .Ljp7F066F04 -/* 09BA68 7F066EF8 27395650 */ addiu $t9, %lo(D_80035610) # addiu $t9, $t9, 0x5650 -/* 09BA6C 7F066EFC 10000002 */ b .Ljp7F066F08 -/* 09BA70 7F066F00 AFAF0078 */ sw $t7, 0x78($sp) -.Ljp7F066F04: -/* 09BA74 7F066F04 AFB90078 */ sw $t9, 0x78($sp) -.Ljp7F066F08: -/* 09BA78 7F066F08 10820005 */ beq $a0, $v0, .Ljp7F066F20 -/* 09BA7C 7F066F0C 2861001E */ slti $at, $v1, 0x1e -/* 09BA80 7F066F10 14200003 */ bnez $at, .Ljp7F066F20 -/* 09BA84 7F066F14 24180001 */ li $t8, 1 -/* 09BA88 7F066F18 A218000C */ sb $t8, 0xc($s0) -/* 09BA8C 7F066F1C AE040024 */ sw $a0, 0x24($s0) -.Ljp7F066F20: -/* 09BA90 7F066F20 44050000 */ mfc1 $a1, $f0 -.Ljp7F066F24: -/* 09BA94 7F066F24 8FA40078 */ lw $a0, 0x78($sp) -/* 09BA98 7F066F28 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BA9C 7F066F2C 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BAA0 7F066F30 10400004 */ beqz $v0, .Ljp7F066F44 -/* 09BAA4 7F066F34 240E0001 */ li $t6, 1 -/* 09BAA8 7F066F38 AE0E00BC */ sw $t6, 0xbc($s0) -/* 09BAAC 7F066F3C 10000005 */ b .Ljp7F066F54 -/* 09BAB0 7F066F40 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F066F44: -/* 09BAB4 7F066F44 AE000024 */ sw $zero, 0x24($s0) -/* 09BAB8 7F066F48 AE000020 */ sw $zero, 0x20($s0) -/* 09BABC 7F066F4C AE00001C */ sw $zero, 0x1c($s0) -/* 09BAC0 7F066F50 00001025 */ move $v0, $zero -.Ljp7F066F54: -/* 09BAC4 7F066F54 2401001A */ li $at, 26 -.Ljp7F066F58: -/* 09BAC8 7F066F58 54410023 */ bnel $v0, $at, .Ljp7F066FE8 -/* 09BACC 7F066F5C 2401001B */ li $at, 27 -/* 09BAD0 7F066F60 8E0F002C */ lw $t7, 0x2c($s0) -/* 09BAD4 7F066F64 00001025 */ move $v0, $zero -/* 09BAD8 7F066F68 59E0001C */ blezl $t7, .Ljp7F066FDC -/* 09BADC 7F066F6C AE000024 */ sw $zero, 0x24($s0) -/* 09BAE0 7F066F70 8E190020 */ lw $t9, 0x20($s0) -/* 09BAE4 7F066F74 3C048003 */ lui $a0, %hi(D_80035124) # $a0, 0x8003 -/* 09BAE8 7F066F78 24845164 */ addiu $a0, %lo(D_80035124) # addiu $a0, $a0, 0x5164 -/* 09BAEC 7F066F7C 44995000 */ mtc1 $t9, $f10 -/* 09BAF0 7F066F80 2606007C */ addiu $a2, $s0, 0x7c -/* 09BAF4 7F066F84 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BAF8 7F066F88 46805020 */ cvt.s.w $f0, $f10 -/* 09BAFC 7F066F8C 44050000 */ mfc1 $a1, $f0 -/* 09BB00 7F066F90 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BB04 7F066F94 00000000 */ nop -/* 09BB08 7F066F98 10400004 */ beqz $v0, .Ljp7F066FAC -/* 09BB0C 7F066F9C 240E0001 */ li $t6, 1 -/* 09BB10 7F066FA0 24180001 */ li $t8, 1 -/* 09BB14 7F066FA4 1000000A */ b .Ljp7F066FD0 -/* 09BB18 7F066FA8 AE1800BC */ sw $t8, 0xbc($s0) -.Ljp7F066FAC: -/* 09BB1C 7F066FAC 8E0F002C */ lw $t7, 0x2c($s0) -/* 09BB20 7F066FB0 2418001B */ li $t8, 27 -/* 09BB24 7F066FB4 A200000E */ sb $zero, 0xe($s0) -/* 09BB28 7F066FB8 25F9FFFF */ addiu $t9, $t7, -1 -/* 09BB2C 7F066FBC A20E000C */ sb $t6, 0xc($s0) -/* 09BB30 7F066FC0 AE19002C */ sw $t9, 0x2c($s0) -/* 09BB34 7F066FC4 AE180024 */ sw $t8, 0x24($s0) -/* 09BB38 7F066FC8 AE000020 */ sw $zero, 0x20($s0) -/* 09BB3C 7F066FCC AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F066FD0: -/* 09BB40 7F066FD0 10000004 */ b .Ljp7F066FE4 -/* 09BB44 7F066FD4 8E020024 */ lw $v0, 0x24($s0) -/* 09BB48 7F066FD8 AE000024 */ sw $zero, 0x24($s0) -.Ljp7F066FDC: -/* 09BB4C 7F066FDC AE000020 */ sw $zero, 0x20($s0) -/* 09BB50 7F066FE0 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F066FE4: -/* 09BB54 7F066FE4 2401001B */ li $at, 27 -.Ljp7F066FE8: -/* 09BB58 7F066FE8 54410017 */ bnel $v0, $at, .Ljp7F067048 -/* 09BB5C 7F066FEC 24010017 */ li $at, 23 -/* 09BB60 7F066FF0 8E0E0020 */ lw $t6, 0x20($s0) -/* 09BB64 7F066FF4 3C048003 */ lui $a0, %hi(D_800351FC) # $a0, 0x8003 -/* 09BB68 7F066FF8 2484523C */ addiu $a0, %lo(D_800351FC) # addiu $a0, $a0, 0x523c -/* 09BB6C 7F066FFC 448E2000 */ mtc1 $t6, $f4 -/* 09BB70 7F067000 2606007C */ addiu $a2, $s0, 0x7c -/* 09BB74 7F067004 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BB78 7F067008 46802020 */ cvt.s.w $f0, $f4 -/* 09BB7C 7F06700C 44050000 */ mfc1 $a1, $f0 -/* 09BB80 7F067010 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BB84 7F067014 00000000 */ nop -/* 09BB88 7F067018 10400005 */ beqz $v0, .Ljp7F067030 -/* 09BB8C 7F06701C 24190001 */ li $t9, 1 -/* 09BB90 7F067020 240F0001 */ li $t7, 1 -/* 09BB94 7F067024 AE0F00BC */ sw $t7, 0xbc($s0) -/* 09BB98 7F067028 10000006 */ b .Ljp7F067044 -/* 09BB9C 7F06702C 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F067030: -/* 09BBA0 7F067030 A219000E */ sb $t9, 0xe($s0) -/* 09BBA4 7F067034 AE000024 */ sw $zero, 0x24($s0) -/* 09BBA8 7F067038 AE000020 */ sw $zero, 0x20($s0) -/* 09BBAC 7F06703C AE00001C */ sw $zero, 0x1c($s0) -/* 09BBB0 7F067040 00001025 */ move $v0, $zero -.Ljp7F067044: -/* 09BBB4 7F067044 24010017 */ li $at, 23 -.Ljp7F067048: -/* 09BBB8 7F067048 5441002C */ bnel $v0, $at, .Ljp7F0670FC -/* 09BBBC 7F06704C 24010018 */ li $at, 24 -/* 09BBC0 7F067050 8E18002C */ lw $t8, 0x2c($s0) -/* 09BBC4 7F067054 00001025 */ move $v0, $zero -/* 09BBC8 7F067058 5B000025 */ blezl $t8, .Ljp7F0670F0 -/* 09BBCC 7F06705C AE000024 */ sw $zero, 0x24($s0) -/* 09BBD0 7F067060 8E0E0018 */ lw $t6, 0x18($s0) -/* 09BBD4 7F067064 240F0018 */ li $t7, 24 -/* 09BBD8 7F067068 51C00004 */ beql $t6, $zero, .Ljp7F06707C -/* 09BBDC 7F06706C 8E190020 */ lw $t9, 0x20($s0) -/* 09BBE0 7F067070 1000001C */ b .Ljp7F0670E4 -/* 09BBE4 7F067074 AE0F0024 */ sw $t7, 0x24($s0) -/* 09BBE8 7F067078 8E190020 */ lw $t9, 0x20($s0) -.Ljp7F06707C: -/* 09BBEC 7F06707C 3C048003 */ lui $a0, %hi(D_80034F74) # $a0, 0x8003 -/* 09BBF0 7F067080 2606007C */ addiu $a2, $s0, 0x7c -/* 09BBF4 7F067084 44994000 */ mtc1 $t9, $f8 -/* 09BBF8 7F067088 AFA60034 */ sw $a2, 0x34($sp) -/* 09BBFC 7F06708C 24844FB4 */ addiu $a0, %lo(D_80034F74) # addiu $a0, $a0, 0x4fb4 -/* 09BC00 7F067090 46804020 */ cvt.s.w $f0, $f8 -/* 09BC04 7F067094 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BC08 7F067098 44050000 */ mfc1 $a1, $f0 -/* 09BC0C 7F06709C 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BC10 7F0670A0 00000000 */ nop -/* 09BC14 7F0670A4 10400004 */ beqz $v0, .Ljp7F0670B8 -/* 09BC18 7F0670A8 3C048003 */ lui $a0, %hi(D_8003504C) # $a0, 0x8003 -/* 09BC1C 7F0670AC 24180001 */ li $t8, 1 -/* 09BC20 7F0670B0 1000000C */ b .Ljp7F0670E4 -/* 09BC24 7F0670B4 AE1800BC */ sw $t8, 0xbc($s0) -.Ljp7F0670B8: -/* 09BC28 7F0670B8 2484508C */ addiu $a0, %lo(D_8003504C) # addiu $a0, $a0, 0x508c -/* 09BC2C 7F0670BC 24050000 */ li $a1, 0 -/* 09BC30 7F0670C0 8FA60034 */ lw $a2, 0x34($sp) -/* 09BC34 7F0670C4 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BC38 7F0670C8 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BC3C 7F0670CC 10400004 */ beqz $v0, .Ljp7F0670E0 -/* 09BC40 7F0670D0 240F0018 */ li $t7, 24 -/* 09BC44 7F0670D4 240E0001 */ li $t6, 1 -/* 09BC48 7F0670D8 10000002 */ b .Ljp7F0670E4 -/* 09BC4C 7F0670DC AE0E00BC */ sw $t6, 0xbc($s0) -.Ljp7F0670E0: -/* 09BC50 7F0670E0 AE0F0024 */ sw $t7, 0x24($s0) -.Ljp7F0670E4: -/* 09BC54 7F0670E4 10000004 */ b .Ljp7F0670F8 -/* 09BC58 7F0670E8 8E020024 */ lw $v0, 0x24($s0) -/* 09BC5C 7F0670EC AE000024 */ sw $zero, 0x24($s0) -.Ljp7F0670F0: -/* 09BC60 7F0670F0 AE000020 */ sw $zero, 0x20($s0) -/* 09BC64 7F0670F4 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F0670F8: -/* 09BC68 7F0670F8 24010018 */ li $at, 24 -.Ljp7F0670FC: -/* 09BC6C 7F0670FC 54410023 */ bnel $v0, $at, .Ljp7F06718C -/* 09BC70 7F067100 24010019 */ li $at, 25 -/* 09BC74 7F067104 8E19002C */ lw $t9, 0x2c($s0) -/* 09BC78 7F067108 00001025 */ move $v0, $zero -/* 09BC7C 7F06710C 5B20001C */ blezl $t9, .Ljp7F067180 -/* 09BC80 7F067110 AE000024 */ sw $zero, 0x24($s0) -/* 09BC84 7F067114 8E180020 */ lw $t8, 0x20($s0) -/* 09BC88 7F067118 3C048003 */ lui $a0, %hi(D_80034F74) # $a0, 0x8003 -/* 09BC8C 7F06711C 24844FB4 */ addiu $a0, %lo(D_80034F74) # addiu $a0, $a0, 0x4fb4 -/* 09BC90 7F067120 44983000 */ mtc1 $t8, $f6 -/* 09BC94 7F067124 2606007C */ addiu $a2, $s0, 0x7c -/* 09BC98 7F067128 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BC9C 7F06712C 46803020 */ cvt.s.w $f0, $f6 -/* 09BCA0 7F067130 44050000 */ mfc1 $a1, $f0 -/* 09BCA4 7F067134 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BCA8 7F067138 00000000 */ nop -/* 09BCAC 7F06713C 10400004 */ beqz $v0, .Ljp7F067150 -/* 09BCB0 7F067140 240F0001 */ li $t7, 1 -/* 09BCB4 7F067144 240E0001 */ li $t6, 1 -/* 09BCB8 7F067148 1000000A */ b .Ljp7F067174 -/* 09BCBC 7F06714C AE0E00BC */ sw $t6, 0xbc($s0) -.Ljp7F067150: -/* 09BCC0 7F067150 8E19002C */ lw $t9, 0x2c($s0) -/* 09BCC4 7F067154 240E0019 */ li $t6, 25 -/* 09BCC8 7F067158 A200000E */ sb $zero, 0xe($s0) -/* 09BCCC 7F06715C 2738FFFF */ addiu $t8, $t9, -1 -/* 09BCD0 7F067160 A20F000C */ sb $t7, 0xc($s0) -/* 09BCD4 7F067164 AE18002C */ sw $t8, 0x2c($s0) -/* 09BCD8 7F067168 AE0E0024 */ sw $t6, 0x24($s0) -/* 09BCDC 7F06716C AE000020 */ sw $zero, 0x20($s0) -/* 09BCE0 7F067170 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F067174: -/* 09BCE4 7F067174 10000004 */ b .Ljp7F067188 -/* 09BCE8 7F067178 8E020024 */ lw $v0, 0x24($s0) -/* 09BCEC 7F06717C AE000024 */ sw $zero, 0x24($s0) -.Ljp7F067180: -/* 09BCF0 7F067180 AE000020 */ sw $zero, 0x20($s0) -/* 09BCF4 7F067184 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F067188: -/* 09BCF8 7F067188 24010019 */ li $at, 25 -.Ljp7F06718C: -/* 09BCFC 7F06718C 54410017 */ bnel $v0, $at, .Ljp7F0671EC -/* 09BD00 7F067190 2401001C */ li $at, 28 -/* 09BD04 7F067194 8E0F0020 */ lw $t7, 0x20($s0) -/* 09BD08 7F067198 3C048003 */ lui $a0, %hi(D_8003504C) # $a0, 0x8003 -/* 09BD0C 7F06719C 2484508C */ addiu $a0, %lo(D_8003504C) # addiu $a0, $a0, 0x508c -/* 09BD10 7F0671A0 448F5000 */ mtc1 $t7, $f10 -/* 09BD14 7F0671A4 2606007C */ addiu $a2, $s0, 0x7c -/* 09BD18 7F0671A8 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BD1C 7F0671AC 46805020 */ cvt.s.w $f0, $f10 -/* 09BD20 7F0671B0 44050000 */ mfc1 $a1, $f0 -/* 09BD24 7F0671B4 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BD28 7F0671B8 00000000 */ nop -/* 09BD2C 7F0671BC 10400005 */ beqz $v0, .Ljp7F0671D4 -/* 09BD30 7F0671C0 24180001 */ li $t8, 1 -/* 09BD34 7F0671C4 24190001 */ li $t9, 1 -/* 09BD38 7F0671C8 AE1900BC */ sw $t9, 0xbc($s0) -/* 09BD3C 7F0671CC 10000006 */ b .Ljp7F0671E8 -/* 09BD40 7F0671D0 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F0671D4: -/* 09BD44 7F0671D4 A218000E */ sb $t8, 0xe($s0) -/* 09BD48 7F0671D8 AE000024 */ sw $zero, 0x24($s0) -/* 09BD4C 7F0671DC AE000020 */ sw $zero, 0x20($s0) -/* 09BD50 7F0671E0 AE00001C */ sw $zero, 0x1c($s0) -/* 09BD54 7F0671E4 00001025 */ move $v0, $zero -.Ljp7F0671E8: -/* 09BD58 7F0671E8 2401001C */ li $at, 28 -.Ljp7F0671EC: -/* 09BD5C 7F0671EC 54410028 */ bnel $v0, $at, .Ljp7F067290 -/* 09BD60 7F0671F0 2401001D */ li $at, 29 -/* 09BD64 7F0671F4 8E0E002C */ lw $t6, 0x2c($s0) -/* 09BD68 7F0671F8 02202025 */ move $a0, $s1 -/* 09BD6C 7F0671FC 5DC00006 */ bgtzl $t6, .Ljp7F067218 -/* 09BD70 7F067200 8E0F0020 */ lw $t7, 0x20($s0) -/* 09BD74 7F067204 0FC17975 */ jal check_special_attributes -/* 09BD78 7F067208 24050010 */ li $a1, 16 -/* 09BD7C 7F06720C 5040001C */ beql $v0, $zero, .Ljp7F067280 -/* 09BD80 7F067210 AE000024 */ sw $zero, 0x24($s0) -/* 09BD84 7F067214 8E0F0020 */ lw $t7, 0x20($s0) -.Ljp7F067218: -/* 09BD88 7F067218 3C048003 */ lui $a0, %hi(D_800352D4) # $a0, 0x8003 -/* 09BD8C 7F06721C 24845314 */ addiu $a0, %lo(D_800352D4) # addiu $a0, $a0, 0x5314 -/* 09BD90 7F067220 448F2000 */ mtc1 $t7, $f4 -/* 09BD94 7F067224 2606007C */ addiu $a2, $s0, 0x7c -/* 09BD98 7F067228 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BD9C 7F06722C 46802020 */ cvt.s.w $f0, $f4 -/* 09BDA0 7F067230 44050000 */ mfc1 $a1, $f0 -/* 09BDA4 7F067234 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BDA8 7F067238 00000000 */ nop -/* 09BDAC 7F06723C 10400004 */ beqz $v0, .Ljp7F067250 -/* 09BDB0 7F067240 24180001 */ li $t8, 1 -/* 09BDB4 7F067244 24190001 */ li $t9, 1 -/* 09BDB8 7F067248 1000000A */ b .Ljp7F067274 -/* 09BDBC 7F06724C AE1900BC */ sw $t9, 0xbc($s0) -.Ljp7F067250: -/* 09BDC0 7F067250 8E0E002C */ lw $t6, 0x2c($s0) -/* 09BDC4 7F067254 2419001D */ li $t9, 29 -/* 09BDC8 7F067258 A200000E */ sb $zero, 0xe($s0) -/* 09BDCC 7F06725C 25CFFFFF */ addiu $t7, $t6, -1 -/* 09BDD0 7F067260 A218000C */ sb $t8, 0xc($s0) -/* 09BDD4 7F067264 AE0F002C */ sw $t7, 0x2c($s0) -/* 09BDD8 7F067268 AE190024 */ sw $t9, 0x24($s0) -/* 09BDDC 7F06726C AE000020 */ sw $zero, 0x20($s0) -/* 09BDE0 7F067270 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F067274: -/* 09BDE4 7F067274 10000005 */ b .Ljp7F06728C -/* 09BDE8 7F067278 8E020024 */ lw $v0, 0x24($s0) -/* 09BDEC 7F06727C AE000024 */ sw $zero, 0x24($s0) -.Ljp7F067280: -/* 09BDF0 7F067280 AE000020 */ sw $zero, 0x20($s0) -/* 09BDF4 7F067284 AE00001C */ sw $zero, 0x1c($s0) -/* 09BDF8 7F067288 00001025 */ move $v0, $zero -.Ljp7F06728C: -/* 09BDFC 7F06728C 2401001D */ li $at, 29 -.Ljp7F067290: -/* 09BE00 7F067290 54410017 */ bnel $v0, $at, .Ljp7F0672F0 -/* 09BE04 7F067294 24010024 */ li $at, 36 -/* 09BE08 7F067298 8E180020 */ lw $t8, 0x20($s0) -/* 09BE0C 7F06729C 3C048003 */ lui $a0, %hi(D_800353AC) # $a0, 0x8003 -/* 09BE10 7F0672A0 248453EC */ addiu $a0, %lo(D_800353AC) # addiu $a0, $a0, 0x53ec -/* 09BE14 7F0672A4 44984000 */ mtc1 $t8, $f8 -/* 09BE18 7F0672A8 2606007C */ addiu $a2, $s0, 0x7c -/* 09BE1C 7F0672AC 8FA701E0 */ lw $a3, 0x1e0($sp) -/* 09BE20 7F0672B0 46804020 */ cvt.s.w $f0, $f8 -/* 09BE24 7F0672B4 44050000 */ mfc1 $a1, $f0 -/* 09BE28 7F0672B8 0FC17307 */ jal sub_GAME_7F05C6FC -/* 09BE2C 7F0672BC 00000000 */ nop -/* 09BE30 7F0672C0 10400005 */ beqz $v0, .Ljp7F0672D8 -/* 09BE34 7F0672C4 240F0001 */ li $t7, 1 -/* 09BE38 7F0672C8 240E0001 */ li $t6, 1 -/* 09BE3C 7F0672CC AE0E00BC */ sw $t6, 0xbc($s0) -/* 09BE40 7F0672D0 10000006 */ b .Ljp7F0672EC -/* 09BE44 7F0672D4 8E020024 */ lw $v0, 0x24($s0) -.Ljp7F0672D8: -/* 09BE48 7F0672D8 A20F000E */ sb $t7, 0xe($s0) -/* 09BE4C 7F0672DC AE000024 */ sw $zero, 0x24($s0) -/* 09BE50 7F0672E0 AE000020 */ sw $zero, 0x20($s0) -/* 09BE54 7F0672E4 AE00001C */ sw $zero, 0x1c($s0) -/* 09BE58 7F0672E8 00001025 */ move $v0, $zero -.Ljp7F0672EC: -/* 09BE5C 7F0672EC 24010024 */ li $at, 36 -.Ljp7F0672F0: -/* 09BE60 7F0672F0 1441004D */ bne $v0, $at, .Ljp7F067428 -/* 09BE64 7F0672F4 2401002E */ li $at, 46 -/* 09BE68 7F0672F8 56210009 */ bnel $s1, $at, .Ljp7F067320 -/* 09BE6C 7F0672FC 2401002C */ li $at, 44 -/* 09BE70 7F067300 8E19001C */ lw $t9, 0x1c($s0) -/* 09BE74 7F067304 17200003 */ bnez $t9, .Ljp7F067314 -/* 09BE78 7F067308 00000000 */ nop -/* 09BE7C 7F06730C 0FC19D0F */ jal sub_GAME_7F066E64 -/* 09BE80 7F067310 00000000 */ nop -.Ljp7F067314: -/* 09BE84 7F067314 1000003F */ b .Ljp7F067414 -/* 09BE88 7F067318 8E050018 */ lw $a1, 0x18($s0) -/* 09BE8C 7F06731C 2401002C */ li $at, 44 -.Ljp7F067320: -/* 09BE90 7F067320 56210009 */ bnel $s1, $at, .Ljp7F067348 -/* 09BE94 7F067324 24010027 */ li $at, 39 -/* 09BE98 7F067328 8E18001C */ lw $t8, 0x1c($s0) -/* 09BE9C 7F06732C 17000003 */ bnez $t8, .Ljp7F06733C -/* 09BEA0 7F067330 00000000 */ nop -/* 09BEA4 7F067334 0FC19D38 */ jal sub_GAME_7F066F08 -/* 09BEA8 7F067338 00000000 */ nop -.Ljp7F06733C: -/* 09BEAC 7F06733C 10000035 */ b .Ljp7F067414 -/* 09BEB0 7F067340 8E050018 */ lw $a1, 0x18($s0) -/* 09BEB4 7F067344 24010027 */ li $at, 39 -.Ljp7F067348: -/* 09BEB8 7F067348 12210009 */ beq $s1, $at, .Ljp7F067370 -/* 09BEBC 7F06734C 24010037 */ li $at, 55 -/* 09BEC0 7F067350 12210007 */ beq $s1, $at, .Ljp7F067370 -/* 09BEC4 7F067354 24010026 */ li $at, 38 -/* 09BEC8 7F067358 12210005 */ beq $s1, $at, .Ljp7F067370 -/* 09BECC 7F06735C 24010032 */ li $at, 50 -/* 09BED0 7F067360 12210003 */ beq $s1, $at, .Ljp7F067370 -/* 09BED4 7F067364 24010049 */ li $at, 73 -/* 09BED8 7F067368 5621000F */ bnel $s1, $at, .Ljp7F0673A8 -/* 09BEDC 7F06736C 24010033 */ li $at, 51 -.Ljp7F067370: -/* 09BEE0 7F067370 8E0E001C */ lw $t6, 0x1c($s0) -/* 09BEE4 7F067374 15C00009 */ bnez $t6, .Ljp7F06739C -/* 09BEE8 7F067378 00000000 */ nop -/* 09BEEC 7F06737C 0FC0F1BF */ jal sub_GAME_7F03C3FC -/* 09BEF0 7F067380 00000000 */ nop -/* 09BEF4 7F067384 10400005 */ beqz $v0, .Ljp7F06739C -/* 09BEF8 7F067388 00000000 */ nop -/* 09BEFC 7F06738C 8C430004 */ lw $v1, 4($v0) -/* 09BF00 7F067390 906F0002 */ lbu $t7, 2($v1) -/* 09BF04 7F067394 35F90040 */ ori $t9, $t7, 0x40 -/* 09BF08 7F067398 A0790002 */ sb $t9, 2($v1) -.Ljp7F06739C: -/* 09BF0C 7F06739C 1000001D */ b .Ljp7F067414 -/* 09BF10 7F0673A0 8E050018 */ lw $a1, 0x18($s0) -/* 09BF14 7F0673A4 24010033 */ li $at, 51 -.Ljp7F0673A8: -/* 09BF18 7F0673A8 1221001A */ beq $s1, $at, .Ljp7F067414 -/* 09BF1C 7F0673AC 8E050018 */ lw $a1, 0x18($s0) -/* 09BF20 7F0673B0 24010034 */ li $at, 52 -/* 09BF24 7F0673B4 12210017 */ beq $s1, $at, .Ljp7F067414 -/* 09BF28 7F0673B8 2401003A */ li $at, 58 -/* 09BF2C 7F0673BC 12210015 */ beq $s1, $at, .Ljp7F067414 -/* 09BF30 7F0673C0 2401003B */ li $at, 59 -/* 09BF34 7F0673C4 12210013 */ beq $s1, $at, .Ljp7F067414 -/* 09BF38 7F0673C8 24010051 */ li $at, 81 -/* 09BF3C 7F0673CC 12210011 */ beq $s1, $at, .Ljp7F067414 -/* 09BF40 7F0673D0 24010052 */ li $at, 82 -/* 09BF44 7F0673D4 1221000F */ beq $s1, $at, .Ljp7F067414 -/* 09BF48 7F0673D8 24010053 */ li $at, 83 -/* 09BF4C 7F0673DC 1221000D */ beq $s1, $at, .Ljp7F067414 -/* 09BF50 7F0673E0 2401002D */ li $at, 45 -/* 09BF54 7F0673E4 1221000B */ beq $s1, $at, .Ljp7F067414 -/* 09BF58 7F0673E8 24010029 */ li $at, 41 -/* 09BF5C 7F0673EC 12210009 */ beq $s1, $at, .Ljp7F067414 -/* 09BF60 7F0673F0 2401002A */ li $at, 42 -/* 09BF64 7F0673F4 12210007 */ beq $s1, $at, .Ljp7F067414 -/* 09BF68 7F0673F8 24010035 */ li $at, 53 -/* 09BF6C 7F0673FC 12210005 */ beq $s1, $at, .Ljp7F067414 -/* 09BF70 7F067400 24010036 */ li $at, 54 -/* 09BF74 7F067404 12210003 */ beq $s1, $at, .Ljp7F067414 -/* 09BF78 7F067408 24010025 */ li $at, 37 -/* 09BF7C 7F06740C 12210001 */ beq $s1, $at, .Ljp7F067414 -/* 09BF80 7F067410 00000000 */ nop -.Ljp7F067414: -/* 09BF84 7F067414 50A00005 */ beql $a1, $zero, .Ljp7F06742C -/* 09BF88 7F067418 8FBF0024 */ lw $ra, 0x24($sp) -/* 09BF8C 7F06741C AE000024 */ sw $zero, 0x24($s0) -/* 09BF90 7F067420 AE000020 */ sw $zero, 0x20($s0) -/* 09BF94 7F067424 AE00001C */ sw $zero, 0x1c($s0) -.Ljp7F067428: -/* 09BF98 7F067428 8FBF0024 */ lw $ra, 0x24($sp) -.Ljp7F06742C: -/* 09BF9C 7F06742C 8FB0001C */ lw $s0, 0x1c($sp) -/* 09BFA0 7F067430 8FB10020 */ lw $s1, 0x20($sp) -/* 09BFA4 7F067434 03E00008 */ jr $ra -/* 09BFA8 7F067438 27BD01E0 */ addiu $sp, $sp, 0x1e0 -) -#endif - -#endif - -#ifdef NONMATCHING -void sub_GAME_7F066E64(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -glabel sub_GAME_7F066E64 -/* 09B994 7F066E64 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09B998 7F066E68 AFBF0014 */ sw $ra, 0x14($sp) -/* 09B99C 7F066E6C 0FC233C3 */ jal sub_GAME_7F08CF0C -/* 09B9A0 7F066E70 00000000 */ nop -/* 09B9A4 7F066E74 10400016 */ beqz $v0, .L7F066ED0 -/* 09B9A8 7F066E78 00000000 */ nop -/* 09B9AC 7F066E7C 0FC30776 */ jal get_textptr_for_textID -/* 09B9B0 7F066E80 340498D8 */ li $a0, 39128 -/* 09B9B4 7F066E84 0FC228F2 */ jal 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) -/* 09B9C4 7F066E94 240E0001 */ li $t6, 1 -/* 09B9C8 7F066E98 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09B9CC 7F066E9C ADEE1060 */ sw $t6, 0x1060($t7) -/* 09B9D0 7F066EA0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09B9D4 7F066EA4 240500F5 */ li $a1, 245 -/* 09B9D8 7F066EA8 0C002382 */ jal play_sfx_a1 -/* 09B9DC 7F066EAC 00003025 */ move $a2, $zero -/* 09B9E0 7F066EB0 00002025 */ move $a0, $zero -/* 09B9E4 7F066EB4 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 09B9E8 7F066EB8 2405003D */ li $a1, 61 -/* 09B9EC 7F066EBC 24040001 */ li $a0, 1 -/* 09B9F0 7F066EC0 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 09B9F4 7F066EC4 00002825 */ move $a1, $zero -/* 09B9F8 7F066EC8 10000008 */ b .L7F066EEC -/* 09B9FC 7F066ECC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F066ED0: -/* 09BA00 7F066ED0 0FC30776 */ jal get_textptr_for_textID -/* 09BA04 7F066ED4 340498D9 */ li $a0, 39129 -/* 09BA08 7F066ED8 0FC228F2 */ jal display_string_in_lower_left_corner -/* 09BA0C 7F066EDC 00402025 */ move $a0, $v0 -/* 09BA10 7F066EE0 0FC175A4 */ jal sub_GAME_7F05D690 -/* 09BA14 7F066EE4 00000000 */ nop -/* 09BA18 7F066EE8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F066EEC: -/* 09BA1C 7F066EEC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09BA20 7F066EF0 03E00008 */ jr $ra -/* 09BA24 7F066EF4 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -glabel sub_GAME_7F066E64 -/* 09B994 7F066E64 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09B998 7F066E68 AFBF0014 */ sw $ra, 0x14($sp) -/* 09B99C 7F066E6C 0FC233C3 */ jal sub_GAME_7F08CF0C -/* 09B9A0 7F066E70 00000000 */ nop -/* 09B9A4 7F066E74 10400016 */ beqz $v0, .L7F066ED0 -/* 09B9A8 7F066E78 00000000 */ nop -/* 09B9AC 7F066E7C 0FC30776 */ jal get_textptr_for_textID -/* 09B9B0 7F066E80 340498D8 */ li $a0, 39128 -/* 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) -/* 09B9C4 7F066E94 240E0001 */ li $t6, 1 -/* 09B9C8 7F066E98 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09B9CC 7F066E9C ADEE1060 */ sw $t6, 0x1060($t7) -/* 09B9D0 7F066EA0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09B9D4 7F066EA4 240500F5 */ li $a1, 245 -/* 09B9D8 7F066EA8 0C002382 */ jal play_sfx_a1 -/* 09B9DC 7F066EAC 00003025 */ move $a2, $zero -/* 09B9E0 7F066EB0 00002025 */ move $a0, $zero -/* 09B9E4 7F066EB4 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 09B9E8 7F066EB8 2405003D */ li $a1, 61 -/* 09B9EC 7F066EBC 24040001 */ li $a0, 1 -/* 09B9F0 7F066EC0 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 09B9F4 7F066EC4 00002825 */ move $a1, $zero -/* 09B9F8 7F066EC8 10000008 */ b .L7F066EEC -/* 09B9FC 7F066ECC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F066ED0: -/* 09BA00 7F066ED0 0FC30776 */ jal get_textptr_for_textID -/* 09BA04 7F066ED4 340498D9 */ li $a0, 39129 -/* 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 -/* 09BA18 7F066EE8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F066EEC: -/* 09BA1C 7F066EEC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09BA20 7F066EF0 03E00008 */ jr $ra -/* 09BA24 7F066EF4 00000000 */ nop -) -#endif -#endif - - - - -#ifdef NONMATCHING -void get_keyanalyzer_flag(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_keyanalyzer_flag -/* 09BA28 7F066EF8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09BA2C 7F066EFC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09BA30 7F066F00 03E00008 */ jr $ra -/* 09BA34 7F066F04 8DC21060 */ lw $v0, 0x1060($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F066F08(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F066F08 -/* 09BA38 7F066F08 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09BA3C 7F066F0C AFBF0014 */ sw $ra, 0x14($sp) -/* 09BA40 7F066F10 2404000A */ li $a0, 10 -/* 09BA44 7F066F14 24050002 */ li $a1, 2 -/* 09BA48 7F066F18 00003025 */ move $a2, $zero -/* 09BA4C 7F066F1C 0FC13E9A */ jal add_ammo_to_inventory -/* 09BA50 7F066F20 24070001 */ li $a3, 1 -/* 09BA54 7F066F24 24040005 */ li $a0, 5 -/* 09BA58 7F066F28 24050002 */ li $a1, 2 -/* 09BA5C 7F066F2C 00003025 */ move $a2, $zero -/* 09BA60 7F066F30 0FC13E9A */ jal add_ammo_to_inventory -/* 09BA64 7F066F34 24070001 */ li $a3, 1 -/* 09BA68 7F066F38 0FC23122 */ jal add_item_to_inventory -/* 09BA6C 7F066F3C 24040011 */ li $a0, 17 -/* 09BA70 7F066F40 0FC13E04 */ jal set_sound_effect_for_weapontype_collection -/* 09BA74 7F066F44 24040011 */ li $a0, 17 -/* 09BA78 7F066F48 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner -/* 09BA7C 7F066F4C 24040011 */ li $a0, 17 -/* 09BA80 7F066F50 3C048003 */ lui $a0, %hi(GsniperrifleZ_stats+0x1C) -/* 09BA84 7F066F54 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 09BA88 7F066F58 8C842C20 */ lw $a0, %lo(GsniperrifleZ_stats+0x1C)($a0) -/* 09BA8C 7F066F5C 3C038003 */ lui $v1, %hi(GsniperrifleZ_stats) -/* 09BA90 7F066F60 24632C04 */ addiu $v1, %lo(GsniperrifleZ_stats) # addiu $v1, $v1, 0x2c04 -/* 09BA94 7F066F64 846E0020 */ lh $t6, 0x20($v1) -/* 09BA98 7F066F68 8C64001C */ lw $a0, 0x1c($v1) -/* 09BA9C 7F066F6C 0FC1A44C */ jal give_cur_player_ammo -/* 09BAA0 7F066F70 004E2821 */ addu $a1, $v0, $t6 -/* 09BAA4 7F066F74 0FC23187 */ jal sub_GAME_7F08C61C -/* 09BAA8 7F066F78 2404002C */ li $a0, 44 -/* 09BAAC 7F066F7C 00002025 */ move $a0, $zero -/* 09BAB0 7F066F80 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 09BAB4 7F066F84 24050011 */ li $a1, 17 -/* 09BAB8 7F066F88 24040001 */ li $a0, 1 -/* 09BABC 7F066F8C 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 09BAC0 7F066F90 00002825 */ move $a1, $zero -/* 09BAC4 7F066F94 8FBF0014 */ lw $ra, 0x14($sp) -/* 09BAC8 7F066F98 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09BACC 7F066F9C 03E00008 */ jr $ra -/* 09BAD0 7F066FA0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_vertical_position_solo_watch_menu_main_page_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_vertical_position_solo_watch_menu_main_page_for_item -/* 09BAD4 7F066FA4 000470C0 */ sll $t6, $a0, 3 -/* 09BAD8 7F066FA8 01C47023 */ subu $t6, $t6, $a0 -/* 09BADC 7F066FAC 000E70C0 */ sll $t6, $t6, 3 -/* 09BAE0 7F066FB0 3C018003 */ lui $at, %hi(gitem_structs+20) -/* 09BAE4 7F066FB4 002E0821 */ addu $at, $at, $t6 -/* 09BAE8 7F066FB8 03E00008 */ jr $ra -/* 09BAEC 7F066FBC C4203938 */ lwc1 $f0, %lo(gitem_structs+20)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void get_lateral_position_solo_watch_menu_main_page_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_lateral_position_solo_watch_menu_main_page_for_item -/* 09BAF0 7F066FC0 000470C0 */ sll $t6, $a0, 3 -/* 09BAF4 7F066FC4 01C47023 */ subu $t6, $t6, $a0 -/* 09BAF8 7F066FC8 000E70C0 */ sll $t6, $t6, 3 -/* 09BAFC 7F066FCC 3C018003 */ lui $at, %hi(gitem_structs+24) -/* 09BB00 7F066FD0 002E0821 */ addu $at, $at, $t6 -/* 09BB04 7F066FD4 03E00008 */ jr $ra -/* 09BB08 7F066FD8 C420393C */ lwc1 $f0, %lo(gitem_structs+24)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void get_depth_on_solo_watch_menu_page_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_depth_on_solo_watch_menu_page_for_item -/* 09BB0C 7F066FDC 000470C0 */ sll $t6, $a0, 3 -/* 09BB10 7F066FE0 01C47023 */ subu $t6, $t6, $a0 -/* 09BB14 7F066FE4 000E70C0 */ sll $t6, $t6, 3 -/* 09BB18 7F066FE8 3C018003 */ lui $at, %hi(gitem_structs+28) -/* 09BB1C 7F066FEC 002E0821 */ addu $at, $at, $t6 -/* 09BB20 7F066FF0 03E00008 */ jr $ra -/* 09BB24 7F066FF4 C4203940 */ lwc1 $f0, %lo(gitem_structs+28)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void get_zrotation_solo_watch_menu_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_zrotation_solo_watch_menu_for_item -/* 09BB28 7F066FF8 000470C0 */ sll $t6, $a0, 3 -/* 09BB2C 7F066FFC 01C47023 */ subu $t6, $t6, $a0 -/* 09BB30 7F067000 000E70C0 */ sll $t6, $t6, 3 -/* 09BB34 7F067004 3C018003 */ lui $at, %hi(gitem_structs+32) -/* 09BB38 7F067008 002E0821 */ addu $at, $at, $t6 -/* 09BB3C 7F06700C 03E00008 */ jr $ra -/* 09BB40 7F067010 C4203944 */ lwc1 $f0, %lo(gitem_structs+32)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void get_xrotation_solo_watch_menu_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_xrotation_solo_watch_menu_for_item -/* 09BB44 7F067014 000470C0 */ sll $t6, $a0, 3 -/* 09BB48 7F067018 01C47023 */ subu $t6, $t6, $a0 -/* 09BB4C 7F06701C 000E70C0 */ sll $t6, $t6, 3 -/* 09BB50 7F067020 3C018003 */ lui $at, %hi(gitem_structs+36) -/* 09BB54 7F067024 002E0821 */ addu $at, $at, $t6 -/* 09BB58 7F067028 03E00008 */ jr $ra -/* 09BB5C 7F06702C C4203948 */ lwc1 $f0, %lo(gitem_structs+36)($at) -) -#endif - - - - - -#ifdef NONMATCHING -f32 get_45_degree_angle(void) { - return 45.000000f; -} -#else -GLOBAL_ASM( -.text -glabel get_45_degree_angle -/* 09BB60 7F067030 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 09BB64 7F067034 44810000 */ mtc1 $at, $f0 -/* 09BB68 7F067038 03E00008 */ jr $ra -/* 09BB6C 7F06703C AFA40000 */ sw $a0, ($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_first_title_line_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_first_title_line_item -/* 09BB70 7F067040 000470C0 */ sll $t6, $a0, 3 -/* 09BB74 7F067044 01C47023 */ subu $t6, $t6, $a0 -/* 09BB78 7F067048 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09BB7C 7F06704C 000E70C0 */ sll $t6, $t6, 3 -/* 09BB80 7F067050 3C048003 */ lui $a0, %hi(gitem_structs+0x10) -/* 09BB84 7F067054 AFBF0014 */ sw $ra, 0x14($sp) -/* 09BB88 7F067058 008E2021 */ addu $a0, $a0, $t6 -/* 09BB8C 7F06705C 0FC30776 */ jal get_textptr_for_textID -/* 09BB90 7F067060 94843934 */ lhu $a0, %lo(gitem_structs+0x10)($a0) -/* 09BB94 7F067064 8FBF0014 */ lw $ra, 0x14($sp) -/* 09BB98 7F067068 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09BB9C 7F06706C 03E00008 */ jr $ra -/* 09BBA0 7F067070 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_second_title_line_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_second_title_line_item -/* 09BBA4 7F067074 000470C0 */ sll $t6, $a0, 3 -/* 09BBA8 7F067078 01C47023 */ subu $t6, $t6, $a0 -/* 09BBAC 7F06707C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09BBB0 7F067080 000E70C0 */ sll $t6, $t6, 3 -/* 09BBB4 7F067084 3C048003 */ lui $a0, %hi(gitem_structs+0x12) -/* 09BBB8 7F067088 AFBF0014 */ sw $ra, 0x14($sp) -/* 09BBBC 7F06708C 008E2021 */ addu $a0, $a0, $t6 -/* 09BBC0 7F067090 0FC30776 */ jal get_textptr_for_textID -/* 09BBC4 7F067094 94843936 */ lhu $a0, %lo(gitem_structs+0x12)($a0) -/* 09BBC8 7F067098 8FBF0014 */ lw $ra, 0x14($sp) -/* 09BBCC 7F06709C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09BBD0 7F0670A0 03E00008 */ jr $ra -/* 09BBD4 7F0670A4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_short_watch_text_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_short_watch_text_for_item -/* 09BBD8 7F0670A8 000470C0 */ sll $t6, $a0, 3 -/* 09BBDC 7F0670AC 01C47023 */ subu $t6, $t6, $a0 -/* 09BBE0 7F0670B0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09BBE4 7F0670B4 000E70C0 */ sll $t6, $t6, 3 -/* 09BBE8 7F0670B8 3C048003 */ lui $a0, %hi(gitem_structs+0x2A) -/* 09BBEC 7F0670BC AFBF0014 */ sw $ra, 0x14($sp) -/* 09BBF0 7F0670C0 008E2021 */ addu $a0, $a0, $t6 -/* 09BBF4 7F0670C4 0FC30776 */ jal get_textptr_for_textID -/* 09BBF8 7F0670C8 9484394E */ lhu $a0, %lo(gitem_structs+0x2A)($a0) -/* 09BBFC 7F0670CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 09BC00 7F0670D0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09BC04 7F0670D4 03E00008 */ jr $ra -/* 09BC08 7F0670D8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_long_watch_text_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_long_watch_text_for_item -/* 09BC0C 7F0670DC 000470C0 */ sll $t6, $a0, 3 -/* 09BC10 7F0670E0 01C47023 */ subu $t6, $t6, $a0 -/* 09BC14 7F0670E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09BC18 7F0670E8 000E70C0 */ sll $t6, $t6, 3 -/* 09BC1C 7F0670EC 3C048003 */ lui $a0, %hi(gitem_structs+0x28) -/* 09BC20 7F0670F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 09BC24 7F0670F4 008E2021 */ addu $a0, $a0, $t6 -/* 09BC28 7F0670F8 0FC30776 */ jal get_textptr_for_textID -/* 09BC2C 7F0670FC 9484394C */ lhu $a0, %lo(gitem_structs+0x28)($a0) -/* 09BC30 7F067100 8FBF0014 */ lw $ra, 0x14($sp) -/* 09BC34 7F067104 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09BC38 7F067108 03E00008 */ jr $ra -/* 09BC3C 7F06710C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_45_degree_angle_0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_45_degree_angle_0 -/* 09BC40 7F067110 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 09BC44 7F067114 44810000 */ mtc1 $at, $f0 -/* 09BC48 7F067118 03E00008 */ jr $ra -/* 09BC4C 7F06711C AFA40000 */ sw $a0, ($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void get_horizontal_offset_on_solo_watch_menu_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_horizontal_offset_on_solo_watch_menu_for_item -/* 09BC50 7F067120 000470C0 */ sll $t6, $a0, 3 -/* 09BC54 7F067124 01C47023 */ subu $t6, $t6, $a0 -/* 09BC58 7F067128 000E70C0 */ sll $t6, $t6, 3 -/* 09BC5C 7F06712C 3C018003 */ lui $at, %hi(gitem_structs+44) -/* 09BC60 7F067130 002E0821 */ addu $at, $at, $t6 -/* 09BC64 7F067134 03E00008 */ jr $ra -/* 09BC68 7F067138 C4203950 */ lwc1 $f0, %lo(gitem_structs+44)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void get_vertical_offset_on_solo_watch_menu_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_vertical_offset_on_solo_watch_menu_for_item -/* 09BC6C 7F06713C 000470C0 */ sll $t6, $a0, 3 -/* 09BC70 7F067140 01C47023 */ subu $t6, $t6, $a0 -/* 09BC74 7F067144 000E70C0 */ sll $t6, $t6, 3 -/* 09BC78 7F067148 3C018003 */ lui $at, %hi(gitem_structs+48) -/* 09BC7C 7F06714C 002E0821 */ addu $at, $at, $t6 -/* 09BC80 7F067150 03E00008 */ jr $ra -/* 09BC84 7F067154 C4203954 */ lwc1 $f0, %lo(gitem_structs+48)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void get_depth_offset_solo_watch_menu_inventory_page_for_item(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_depth_offset_solo_watch_menu_inventory_page_for_item -/* 09BC88 7F067158 000470C0 */ sll $t6, $a0, 3 -/* 09BC8C 7F06715C 01C47023 */ subu $t6, $t6, $a0 -/* 09BC90 7F067160 000E70C0 */ sll $t6, $t6, 3 -/* 09BC94 7F067164 3C018003 */ lui $at, %hi(gitem_structs+52) -/* 09BC98 7F067168 002E0821 */ addu $at, $at, $t6 -/* 09BC9C 7F06716C 03E00008 */ jr $ra -/* 09BCA0 7F067170 C4203958 */ lwc1 $f0, %lo(gitem_structs+52)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F067174(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F067174 -/* 09BCA4 7F067174 000478C0 */ sll $t7, $a0, 3 -/* 09BCA8 7F067178 01E47823 */ subu $t7, $t7, $a0 -/* 09BCAC 7F06717C 000F7880 */ sll $t7, $t7, 2 -/* 09BCB0 7F067180 01E47821 */ addu $t7, $t7, $a0 -/* 09BCB4 7F067184 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09BCB8 7F067188 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09BCBC 7F06718C 000F7880 */ sll $t7, $t7, 2 -/* 09BCC0 7F067190 01E47821 */ addu $t7, $t7, $a0 -/* 09BCC4 7F067194 000F78C0 */ sll $t7, $t7, 3 -/* 09BCC8 7F067198 01CFC021 */ addu $t8, $t6, $t7 -/* 09BCCC 7F06719C 03E00008 */ jr $ra -/* 09BCD0 7F0671A0 C7000A80 */ lwc1 $f0, 0xa80($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0671A4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0671A4 -/* 09BCD4 7F0671A4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 09BCD8 7F0671A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 09BCDC 7F0671AC 0FC17674 */ jal get_item_in_hand -/* 09BCE0 7F0671B0 00002025 */ move $a0, $zero -/* 09BCE4 7F0671B4 AFA2002C */ sw $v0, 0x2c($sp) -/* 09BCE8 7F0671B8 0FC17674 */ jal get_item_in_hand -/* 09BCEC 7F0671BC 24040001 */ li $a0, 1 -/* 09BCF0 7F0671C0 AFA20028 */ sw $v0, 0x28($sp) -/* 09BCF4 7F0671C4 0FC1722D */ jal get_ptr_item_statistics -/* 09BCF8 7F0671C8 8FA4002C */ lw $a0, 0x2c($sp) -/* 09BCFC 7F0671CC 8FA40028 */ lw $a0, 0x28($sp) -/* 09BD00 7F0671D0 0FC1722D */ jal get_ptr_item_statistics -/* 09BD04 7F0671D4 AFA2001C */ sw $v0, 0x1c($sp) -/* 09BD08 7F0671D8 8FAE002C */ lw $t6, 0x2c($sp) -/* 09BD0C 7F0671DC 8FA3001C */ lw $v1, 0x1c($sp) -/* 09BD10 7F0671E0 00402825 */ move $a1, $v0 -/* 09BD14 7F0671E4 11C00016 */ beqz $t6, .L7F067240 -/* 09BD18 7F0671E8 00002025 */ move $a0, $zero -/* 09BD1C 7F0671EC AFA3001C */ sw $v1, 0x1c($sp) -/* 09BD20 7F0671F0 0FC17722 */ jal get_hands_firing_status -/* 09BD24 7F0671F4 AFA20018 */ sw $v0, 0x18($sp) -/* 09BD28 7F0671F8 8FA3001C */ lw $v1, 0x1c($sp) -/* 09BD2C 7F0671FC 10400010 */ beqz $v0, .L7F067240 -/* 09BD30 7F067200 8FA50018 */ lw $a1, 0x18($sp) -/* 09BD34 7F067204 3C068008 */ lui $a2, %hi(pPlayer) -/* 09BD38 7F067208 24C6A0B0 */ addiu $a2, %lo(pPlayer) # addiu $a2, $a2, -0x5f50 -/* 09BD3C 7F06720C 8CC20000 */ lw $v0, ($a2) -/* 09BD40 7F067210 C466005C */ lwc1 $f6, 0x5c($v1) -/* 09BD44 7F067214 C4440A80 */ lwc1 $f4, 0xa80($v0) -/* 09BD48 7F067218 46062200 */ add.s $f8, $f4, $f6 -/* 09BD4C 7F06721C E4480A80 */ swc1 $f8, 0xa80($v0) -/* 09BD50 7F067220 8CC20000 */ lw $v0, ($a2) -/* 09BD54 7F067224 C4600058 */ lwc1 $f0, 0x58($v1) -/* 09BD58 7F067228 C44A0A80 */ lwc1 $f10, 0xa80($v0) -/* 09BD5C 7F06722C 460A003C */ c.lt.s $f0, $f10 -/* 09BD60 7F067230 00000000 */ nop -/* 09BD64 7F067234 45020003 */ bc1fl .L7F067244 -/* 09BD68 7F067238 8FAF0028 */ lw $t7, 0x28($sp) -/* 09BD6C 7F06723C E4400A80 */ swc1 $f0, 0xa80($v0) -.L7F067240: -/* 09BD70 7F067240 8FAF0028 */ lw $t7, 0x28($sp) -.L7F067244: -/* 09BD74 7F067244 3C068008 */ lui $a2, %hi(pPlayer) -/* 09BD78 7F067248 24C6A0B0 */ addiu $a2, %lo(pPlayer) # addiu $a2, $a2, -0x5f50 -/* 09BD7C 7F06724C 11E00016 */ beqz $t7, .L7F0672A8 -/* 09BD80 7F067250 24040001 */ li $a0, 1 -/* 09BD84 7F067254 AFA3001C */ sw $v1, 0x1c($sp) -/* 09BD88 7F067258 0FC17722 */ jal get_hands_firing_status -/* 09BD8C 7F06725C AFA50018 */ sw $a1, 0x18($sp) -/* 09BD90 7F067260 3C068008 */ lui $a2, %hi(pPlayer) -/* 09BD94 7F067264 24C6A0B0 */ addiu $a2, %lo(pPlayer) # addiu $a2, $a2, -0x5f50 -/* 09BD98 7F067268 8FA3001C */ lw $v1, 0x1c($sp) -/* 09BD9C 7F06726C 1040000E */ beqz $v0, .L7F0672A8 -/* 09BDA0 7F067270 8FA50018 */ lw $a1, 0x18($sp) -/* 09BDA4 7F067274 8CC20000 */ lw $v0, ($a2) -/* 09BDA8 7F067278 C4A4005C */ lwc1 $f4, 0x5c($a1) -/* 09BDAC 7F06727C C4520E28 */ lwc1 $f18, 0xe28($v0) -/* 09BDB0 7F067280 46049180 */ add.s $f6, $f18, $f4 -/* 09BDB4 7F067284 E4460E28 */ swc1 $f6, 0xe28($v0) -/* 09BDB8 7F067288 8CC20000 */ lw $v0, ($a2) -/* 09BDBC 7F06728C C4A00058 */ lwc1 $f0, 0x58($a1) -/* 09BDC0 7F067290 C4480E28 */ lwc1 $f8, 0xe28($v0) -/* 09BDC4 7F067294 4608003C */ c.lt.s $f0, $f8 -/* 09BDC8 7F067298 00000000 */ nop -/* 09BDCC 7F06729C 45000002 */ bc1f .L7F0672A8 -/* 09BDD0 7F0672A0 00000000 */ nop -/* 09BDD4 7F0672A4 E4400E28 */ swc1 $f0, 0xe28($v0) -.L7F0672A8: -/* 09BDD8 7F0672A8 3C048005 */ lui $a0, %hi(global_timer_delta) -/* 09BDDC 7F0672AC 24848378 */ addiu $a0, %lo(global_timer_delta) # addiu $a0, $a0, -0x7c88 -/* 09BDE0 7F0672B0 C4800000 */ lwc1 $f0, ($a0) -/* 09BDE4 7F0672B4 C46A005C */ lwc1 $f10, 0x5c($v1) -/* 09BDE8 7F0672B8 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 09BDEC 7F0672BC 44818000 */ mtc1 $at, $f16 -/* 09BDF0 7F0672C0 46005482 */ mul.s $f18, $f10, $f0 -/* 09BDF4 7F0672C4 C4640060 */ lwc1 $f4, 0x60($v1) -/* 09BDF8 7F0672C8 8CC20000 */ lw $v0, ($a2) -/* 09BDFC 7F0672CC C4680054 */ lwc1 $f8, 0x54($v1) -/* 09BE00 7F0672D0 46102182 */ mul.s $f6, $f4, $f16 -/* 09BE04 7F0672D4 C44E0A80 */ lwc1 $f14, 0xa80($v0) -/* 09BE08 7F0672D8 46087281 */ sub.s $f10, $f14, $f8 -/* 09BE0C 7F0672DC 46069303 */ div.s $f12, $f18, $f6 -/* 09BE10 7F0672E0 C4720064 */ lwc1 $f18, 0x64($v1) -/* 09BE14 7F0672E4 46005102 */ mul.s $f4, $f10, $f0 -/* 09BE18 7F0672E8 00000000 */ nop -/* 09BE1C 7F0672EC 46109182 */ mul.s $f6, $f18, $f16 -/* 09BE20 7F0672F0 46062083 */ div.s $f2, $f4, $f6 -/* 09BE24 7F0672F4 4602603C */ c.lt.s $f12, $f2 -/* 09BE28 7F0672F8 00000000 */ nop -/* 09BE2C 7F0672FC 45000002 */ bc1f .L7F067308 -/* 09BE30 7F067300 00000000 */ nop -/* 09BE34 7F067304 46001306 */ mov.s $f12, $f2 -.L7F067308: -/* 09BE38 7F067308 460C7201 */ sub.s $f8, $f14, $f12 -/* 09BE3C 7F06730C E4480A80 */ swc1 $f8, 0xa80($v0) -/* 09BE40 7F067310 8CC20000 */ lw $v0, ($a2) -/* 09BE44 7F067314 C4600054 */ lwc1 $f0, 0x54($v1) -/* 09BE48 7F067318 C44A0A80 */ lwc1 $f10, 0xa80($v0) -/* 09BE4C 7F06731C 4600503C */ c.lt.s $f10, $f0 -/* 09BE50 7F067320 00000000 */ nop -/* 09BE54 7F067324 45020004 */ bc1fl .L7F067338 -/* 09BE58 7F067328 C4800000 */ lwc1 $f0, ($a0) -/* 09BE5C 7F06732C E4400A80 */ swc1 $f0, 0xa80($v0) -/* 09BE60 7F067330 8CC20000 */ lw $v0, ($a2) -/* 09BE64 7F067334 C4800000 */ lwc1 $f0, ($a0) -.L7F067338: -/* 09BE68 7F067338 C4B2005C */ lwc1 $f18, 0x5c($a1) -/* 09BE6C 7F06733C C4A60060 */ lwc1 $f6, 0x60($a1) -/* 09BE70 7F067340 C44E0E28 */ lwc1 $f14, 0xe28($v0) -/* 09BE74 7F067344 46009102 */ mul.s $f4, $f18, $f0 -/* 09BE78 7F067348 C4AA0054 */ lwc1 $f10, 0x54($a1) -/* 09BE7C 7F06734C 46103202 */ mul.s $f8, $f6, $f16 -/* 09BE80 7F067350 460A7481 */ sub.s $f18, $f14, $f10 -/* 09BE84 7F067354 46009182 */ mul.s $f6, $f18, $f0 -/* 09BE88 7F067358 46082303 */ div.s $f12, $f4, $f8 -/* 09BE8C 7F06735C C4A40064 */ lwc1 $f4, 0x64($a1) -/* 09BE90 7F067360 46102202 */ mul.s $f8, $f4, $f16 -/* 09BE94 7F067364 46083083 */ div.s $f2, $f6, $f8 -/* 09BE98 7F067368 4602603C */ c.lt.s $f12, $f2 -/* 09BE9C 7F06736C 00000000 */ nop -/* 09BEA0 7F067370 45020003 */ bc1fl .L7F067380 -/* 09BEA4 7F067374 460C7281 */ sub.s $f10, $f14, $f12 -/* 09BEA8 7F067378 46001306 */ mov.s $f12, $f2 -/* 09BEAC 7F06737C 460C7281 */ sub.s $f10, $f14, $f12 -.L7F067380: -/* 09BEB0 7F067380 E44A0E28 */ swc1 $f10, 0xe28($v0) -/* 09BEB4 7F067384 8CC20000 */ lw $v0, ($a2) -/* 09BEB8 7F067388 C4A00054 */ lwc1 $f0, 0x54($a1) -/* 09BEBC 7F06738C C4520E28 */ lwc1 $f18, 0xe28($v0) -/* 09BEC0 7F067390 4600903C */ c.lt.s $f18, $f0 -/* 09BEC4 7F067394 00000000 */ nop -/* 09BEC8 7F067398 45020003 */ bc1fl .L7F0673A8 -/* 09BECC 7F06739C 8FBF0014 */ lw $ra, 0x14($sp) -/* 09BED0 7F0673A0 E4400E28 */ swc1 $f0, 0xe28($v0) -/* 09BED4 7F0673A4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0673A8: -/* 09BED8 7F0673A8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 09BEDC 7F0673AC 03E00008 */ jr $ra -/* 09BEE0 7F0673B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0673B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0673B4 -/* 09BEE4 7F0673B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09BEE8 7F0673B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 09BEEC 7F0673BC 0FC17674 */ jal get_item_in_hand -/* 09BEF0 7F0673C0 AFA40018 */ sw $a0, 0x18($sp) -/* 09BEF4 7F0673C4 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09BEF8 7F0673C8 00402025 */ move $a0, $v0 -/* 09BEFC 7F0673CC 2C4E0001 */ sltiu $t6, $v0, 1 -/* 09BF00 7F0673D0 15C0000F */ bnez $t6, .L7F067410 -/* 09BF04 7F0673D4 01C01025 */ move $v0, $t6 -/* 09BF08 7F0673D8 8FB80018 */ lw $t8, 0x18($sp) -/* 09BF0C 7F0673DC 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 09BF10 7F0673E0 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 09BF14 7F0673E4 0018C8C0 */ sll $t9, $t8, 3 -/* 09BF18 7F0673E8 0338C823 */ subu $t9, $t9, $t8 -/* 09BF1C 7F0673EC 0019C880 */ sll $t9, $t9, 2 -/* 09BF20 7F0673F0 0338C821 */ addu $t9, $t9, $t8 -/* 09BF24 7F0673F4 0019C880 */ sll $t9, $t9, 2 -/* 09BF28 7F0673F8 0338C821 */ addu $t9, $t9, $t8 -/* 09BF2C 7F0673FC 0019C8C0 */ sll $t9, $t9, 3 -/* 09BF30 7F067400 01F94021 */ addu $t0, $t7, $t9 -/* 09BF34 7F067404 8D02089C */ lw $v0, 0x89c($t0) -/* 09BF38 7F067408 0002482A */ slt $t1, $zero, $v0 -/* 09BF3C 7F06740C 01201025 */ move $v0, $t1 -.L7F067410: -/* 09BF40 7F067410 8FBF0014 */ lw $ra, 0x14($sp) -/* 09BF44 7F067414 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09BF48 7F067418 03E00008 */ jr $ra -/* 09BF4C 7F06741C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F067420(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F067420 -/* 09BF50 7F067420 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 09BF54 7F067424 3C0F8003 */ lui $t7, %hi(D_80035E9C) -/* 09BF58 7F067428 AFBF001C */ sw $ra, 0x1c($sp) -/* 09BF5C 7F06742C AFB00018 */ sw $s0, 0x18($sp) -/* 09BF60 7F067430 25EF5E9C */ addiu $t7, %lo(D_80035E9C) # addiu $t7, $t7, 0x5e9c -/* 09BF64 7F067434 8DE10000 */ lw $at, ($t7) -/* 09BF68 7F067438 8DE80004 */ lw $t0, 4($t7) -/* 09BF6C 7F06743C 27AE0048 */ addiu $t6, $sp, 0x48 -/* 09BF70 7F067440 3C108008 */ lui $s0, %hi(pPlayer) -/* 09BF74 7F067444 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 09BF78 7F067448 ADC10000 */ sw $at, ($t6) -/* 09BF7C 7F06744C ADC80004 */ sw $t0, 4($t6) -/* 09BF80 7F067450 8E030000 */ lw $v1, ($s0) -/* 09BF84 7F067454 8C690FCC */ lw $t1, 0xfcc($v1) -/* 09BF88 7F067458 AC690FD0 */ sw $t1, 0xfd0($v1) -/* 09BF8C 7F06745C 8E0A0000 */ lw $t2, ($s0) -/* 09BF90 7F067460 AD440FCC */ sw $a0, 0xfcc($t2) -/* 09BF94 7F067464 8E030000 */ lw $v1, ($s0) -/* 09BF98 7F067468 8C620FCC */ lw $v0, 0xfcc($v1) -/* 09BF9C 7F06746C 14400008 */ bnez $v0, .L7F067490 -/* 09BFA0 7F067470 00000000 */ nop -/* 09BFA4 7F067474 8C6B0FD0 */ lw $t3, 0xfd0($v1) -/* 09BFA8 7F067478 240C0001 */ li $t4, 1 -/* 09BFAC 7F06747C 11600004 */ beqz $t3, .L7F067490 -/* 09BFB0 7F067480 00000000 */ nop -/* 09BFB4 7F067484 AC6C0FC8 */ sw $t4, 0xfc8($v1) -/* 09BFB8 7F067488 8E030000 */ lw $v1, ($s0) -/* 09BFBC 7F06748C 8C620FCC */ lw $v0, 0xfcc($v1) -.L7F067490: -/* 09BFC0 7F067490 5040012A */ beql $v0, $zero, .L7F06793C -/* 09BFC4 7F067494 AC600FD4 */ sw $zero, 0xfd4($v1) -/* 09BFC8 7F067498 0FC17674 */ jal get_item_in_hand -/* 09BFCC 7F06749C 00002025 */ move $a0, $zero -/* 09BFD0 7F0674A0 AFA20044 */ sw $v0, 0x44($sp) -/* 09BFD4 7F0674A4 0FC17674 */ jal get_item_in_hand -/* 09BFD8 7F0674A8 24040001 */ li $a0, 1 -/* 09BFDC 7F0674AC 8E030000 */ lw $v1, ($s0) -/* 09BFE0 7F0674B0 AFA20040 */ sw $v0, 0x40($sp) -/* 09BFE4 7F0674B4 3C198005 */ lui $t9, %hi(clock_timer) -/* 09BFE8 7F0674B8 8F398374 */ lw $t9, %lo(clock_timer)($t9) -/* 09BFEC 7F0674BC 8C6D0FD4 */ lw $t5, 0xfd4($v1) -/* 09BFF0 7F0674C0 8FA40044 */ lw $a0, 0x44($sp) -/* 09BFF4 7F0674C4 01B9C021 */ addu $t8, $t5, $t9 -/* 09BFF8 7F0674C8 108000FD */ beqz $a0, .L7F0678C0 -/* 09BFFC 7F0674CC AC780FD4 */ sw $t8, 0xfd4($v1) -/* 09C000 7F0674D0 504000FC */ beql $v0, $zero, .L7F0678C4 -/* 09C004 7F0674D4 8E0D0000 */ lw $t5, ($s0) -/* 09C008 7F0674D8 0FC1782D */ jal check_special_attributes -/* 09C00C 7F0674DC 24050080 */ li $a1, 128 -/* 09C010 7F0674E0 10400049 */ beqz $v0, .L7F067608 -/* 09C014 7F0674E4 8FA40040 */ lw $a0, 0x40($sp) -/* 09C018 7F0674E8 0FC1782D */ jal check_special_attributes -/* 09C01C 7F0674EC 24050080 */ li $a1, 128 -/* 09C020 7F0674F0 50400046 */ beql $v0, $zero, .L7F06760C -/* 09C024 7F0674F4 8FA40044 */ lw $a0, 0x44($sp) -/* 09C028 7F0674F8 8E030000 */ lw $v1, ($s0) -/* 09C02C 7F0674FC 8C6E0FD4 */ lw $t6, 0xfd4($v1) -/* 09C030 7F067500 29C10015 */ slti $at, $t6, 0x15 -/* 09C034 7F067504 54200022 */ bnezl $at, .L7F067590 -/* 09C038 7F067508 8C6C0FD0 */ lw $t4, 0xfd0($v1) -/* 09C03C 7F06750C 8C6F0FD8 */ lw $t7, 0xfd8($v1) -/* 09C040 7F067510 24020001 */ li $v0, 1 -/* 09C044 7F067514 000F4080 */ sll $t0, $t7, 2 -/* 09C048 7F067518 03A84821 */ addu $t1, $sp, $t0 -/* 09C04C 7F06751C AD220048 */ sw $v0, 0x48($t1) -/* 09C050 7F067520 8C6A0FD8 */ lw $t2, 0xfd8($v1) -/* 09C054 7F067524 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C058 7F067528 004A2023 */ subu $a0, $v0, $t2 -/* 09C05C 7F06752C 54400010 */ bnezl $v0, .L7F067570 -/* 09C060 7F067530 8E0F0000 */ lw $t7, ($s0) -/* 09C064 7F067534 8E030000 */ lw $v1, ($s0) -/* 09C068 7F067538 8C6B0FD8 */ lw $t3, 0xfd8($v1) -/* 09C06C 7F06753C 000B60C0 */ sll $t4, $t3, 3 -/* 09C070 7F067540 018B6023 */ subu $t4, $t4, $t3 -/* 09C074 7F067544 000C6080 */ sll $t4, $t4, 2 -/* 09C078 7F067548 018B6021 */ addu $t4, $t4, $t3 -/* 09C07C 7F06754C 000C6080 */ sll $t4, $t4, 2 -/* 09C080 7F067550 018B6021 */ addu $t4, $t4, $t3 -/* 09C084 7F067554 000C60C0 */ sll $t4, $t4, 3 -/* 09C088 7F067558 000C6823 */ negu $t5, $t4 -/* 09C08C 7F06755C 006DC821 */ addu $t9, $v1, $t5 -/* 09C090 7F067560 8F380C28 */ lw $t8, 0xc28($t9) -/* 09C094 7F067564 530000F6 */ beql $t8, $zero, .L7F067940 -/* 09C098 7F067568 00002025 */ move $a0, $zero -/* 09C09C 7F06756C 8E0F0000 */ lw $t7, ($s0) -.L7F067570: -/* 09C0A0 7F067570 240E0001 */ li $t6, 1 -/* 09C0A4 7F067574 8DE80FD8 */ lw $t0, 0xfd8($t7) -/* 09C0A8 7F067578 00084880 */ sll $t1, $t0, 2 -/* 09C0AC 7F06757C 00095023 */ negu $t2, $t1 -/* 09C0B0 7F067580 03AA5821 */ addu $t3, $sp, $t2 -/* 09C0B4 7F067584 100000ED */ b .L7F06793C -/* 09C0B8 7F067588 AD6E004C */ sw $t6, 0x4c($t3) -/* 09C0BC 7F06758C 8C6C0FD0 */ lw $t4, 0xfd0($v1) -.L7F067590: -/* 09C0C0 7F067590 55800012 */ bnezl $t4, .L7F0675DC -/* 09C0C4 7F067594 8E030000 */ lw $v1, ($s0) -/* 09C0C8 7F067598 8C6D0FD8 */ lw $t5, 0xfd8($v1) -/* 09C0CC 7F06759C 24190001 */ li $t9, 1 -/* 09C0D0 7F0675A0 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C0D4 7F0675A4 032D2023 */ subu $a0, $t9, $t5 -/* 09C0D8 7F0675A8 54400007 */ bnezl $v0, .L7F0675C8 -/* 09C0DC 7F0675AC 8E030000 */ lw $v1, ($s0) -/* 09C0E0 7F0675B0 8E180000 */ lw $t8, ($s0) -/* 09C0E4 7F0675B4 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C0E8 7F0675B8 8F040FD8 */ lw $a0, 0xfd8($t8) -/* 09C0EC 7F0675BC 54400007 */ bnezl $v0, .L7F0675DC -/* 09C0F0 7F0675C0 8E030000 */ lw $v1, ($s0) -/* 09C0F4 7F0675C4 8E030000 */ lw $v1, ($s0) -.L7F0675C8: -/* 09C0F8 7F0675C8 24080001 */ li $t0, 1 -/* 09C0FC 7F0675CC 8C6F0FD8 */ lw $t7, 0xfd8($v1) -/* 09C100 7F0675D0 010F4823 */ subu $t1, $t0, $t7 -/* 09C104 7F0675D4 AC690FD8 */ sw $t1, 0xfd8($v1) -/* 09C108 7F0675D8 8E030000 */ lw $v1, ($s0) -.L7F0675DC: -/* 09C10C 7F0675DC 240E0001 */ li $t6, 1 -/* 09C110 7F0675E0 8C6A0FD8 */ lw $t2, 0xfd8($v1) -/* 09C114 7F0675E4 000A5880 */ sll $t3, $t2, 2 -/* 09C118 7F0675E8 03AB6021 */ addu $t4, $sp, $t3 -/* 09C11C 7F0675EC AD8E0048 */ sw $t6, 0x48($t4) -/* 09C120 7F0675F0 8C790FD8 */ lw $t9, 0xfd8($v1) -/* 09C124 7F0675F4 00196880 */ sll $t5, $t9, 2 -/* 09C128 7F0675F8 000DC023 */ negu $t8, $t5 -/* 09C12C 7F0675FC 03B84021 */ addu $t0, $sp, $t8 -/* 09C130 7F067600 100000CE */ b .L7F06793C -/* 09C134 7F067604 AD00004C */ sw $zero, 0x4c($t0) -.L7F067608: -/* 09C138 7F067608 8FA40044 */ lw $a0, 0x44($sp) -.L7F06760C: -/* 09C13C 7F06760C 0FC1782D */ jal check_special_attributes -/* 09C140 7F067610 24050080 */ li $a1, 128 -/* 09C144 7F067614 14400005 */ bnez $v0, .L7F06762C -/* 09C148 7F067618 8FA40040 */ lw $a0, 0x40($sp) -/* 09C14C 7F06761C 0FC1782D */ jal check_special_attributes -/* 09C150 7F067620 24050080 */ li $a1, 128 -/* 09C154 7F067624 50400063 */ beql $v0, $zero, .L7F0677B4 -/* 09C158 7F067628 8E030000 */ lw $v1, ($s0) -.L7F06762C: -/* 09C15C 7F06762C 8E030000 */ lw $v1, ($s0) -/* 09C160 7F067630 8FA40044 */ lw $a0, 0x44($sp) -/* 09C164 7F067634 8C6F0FD4 */ lw $t7, 0xfd4($v1) -/* 09C168 7F067638 29E1001F */ slti $at, $t7, 0x1f -/* 09C16C 7F06763C 14200021 */ bnez $at, .L7F0676C4 -/* 09C170 7F067640 00000000 */ nop -/* 09C174 7F067644 8C690FD8 */ lw $t1, 0xfd8($v1) -/* 09C178 7F067648 24020001 */ li $v0, 1 -/* 09C17C 7F06764C 00095080 */ sll $t2, $t1, 2 -/* 09C180 7F067650 03AA7021 */ addu $t6, $sp, $t2 -/* 09C184 7F067654 ADC20048 */ sw $v0, 0x48($t6) -/* 09C188 7F067658 8C6B0FD8 */ lw $t3, 0xfd8($v1) -/* 09C18C 7F06765C 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C190 7F067660 004B2023 */ subu $a0, $v0, $t3 -/* 09C194 7F067664 54400010 */ bnezl $v0, .L7F0676A8 -/* 09C198 7F067668 8E090000 */ lw $t1, ($s0) -/* 09C19C 7F06766C 8E030000 */ lw $v1, ($s0) -/* 09C1A0 7F067670 8C6C0FD8 */ lw $t4, 0xfd8($v1) -/* 09C1A4 7F067674 000CC8C0 */ sll $t9, $t4, 3 -/* 09C1A8 7F067678 032CC823 */ subu $t9, $t9, $t4 -/* 09C1AC 7F06767C 0019C880 */ sll $t9, $t9, 2 -/* 09C1B0 7F067680 032CC821 */ addu $t9, $t9, $t4 -/* 09C1B4 7F067684 0019C880 */ sll $t9, $t9, 2 -/* 09C1B8 7F067688 032CC821 */ addu $t9, $t9, $t4 -/* 09C1BC 7F06768C 0019C8C0 */ sll $t9, $t9, 3 -/* 09C1C0 7F067690 00196823 */ negu $t5, $t9 -/* 09C1C4 7F067694 006DC021 */ addu $t8, $v1, $t5 -/* 09C1C8 7F067698 8F080C28 */ lw $t0, 0xc28($t8) -/* 09C1CC 7F06769C 510000A8 */ beql $t0, $zero, .L7F067940 -/* 09C1D0 7F0676A0 00002025 */ move $a0, $zero -/* 09C1D4 7F0676A4 8E090000 */ lw $t1, ($s0) -.L7F0676A8: -/* 09C1D8 7F0676A8 240F0001 */ li $t7, 1 -/* 09C1DC 7F0676AC 8D2A0FD8 */ lw $t2, 0xfd8($t1) -/* 09C1E0 7F0676B0 000A7080 */ sll $t6, $t2, 2 -/* 09C1E4 7F0676B4 000E5823 */ negu $t3, $t6 -/* 09C1E8 7F0676B8 03AB6021 */ addu $t4, $sp, $t3 -/* 09C1EC 7F0676BC 1000009F */ b .L7F06793C -/* 09C1F0 7F0676C0 AD8F004C */ sw $t7, 0x4c($t4) -.L7F0676C4: -/* 09C1F4 7F0676C4 0FC1782D */ jal check_special_attributes -/* 09C1F8 7F0676C8 24050080 */ li $a1, 128 -/* 09C1FC 7F0676CC 10400003 */ beqz $v0, .L7F0676DC -/* 09C200 7F0676D0 24050001 */ li $a1, 1 -/* 09C204 7F0676D4 10000001 */ b .L7F0676DC -/* 09C208 7F0676D8 00002825 */ move $a1, $zero -.L7F0676DC: -/* 09C20C 7F0676DC 00A02025 */ move $a0, $a1 -/* 09C210 7F0676E0 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C214 7F0676E4 AFA5003C */ sw $a1, 0x3c($sp) -/* 09C218 7F0676E8 1440000F */ bnez $v0, .L7F067728 -/* 09C21C 7F0676EC 8FA5003C */ lw $a1, 0x3c($sp) -/* 09C220 7F0676F0 000530C0 */ sll $a2, $a1, 3 -/* 09C224 7F0676F4 00C53023 */ subu $a2, $a2, $a1 -/* 09C228 7F0676F8 00063080 */ sll $a2, $a2, 2 -/* 09C22C 7F0676FC 00C53021 */ addu $a2, $a2, $a1 -/* 09C230 7F067700 8E190000 */ lw $t9, ($s0) -/* 09C234 7F067704 00063080 */ sll $a2, $a2, 2 -/* 09C238 7F067708 00C53021 */ addu $a2, $a2, $a1 -/* 09C23C 7F06770C 000630C0 */ sll $a2, $a2, 3 -/* 09C240 7F067710 03266821 */ addu $t5, $t9, $a2 -/* 09C244 7F067714 8DB80880 */ lw $t8, 0x880($t5) -/* 09C248 7F067718 24090001 */ li $t1, 1 -/* 09C24C 7F06771C 01252023 */ subu $a0, $t1, $a1 -/* 09C250 7F067720 53000005 */ beql $t8, $zero, .L7F067738 -/* 09C254 7F067724 AFA40020 */ sw $a0, 0x20($sp) -.L7F067728: -/* 09C258 7F067728 8E080000 */ lw $t0, ($s0) -/* 09C25C 7F06772C 10000014 */ b .L7F067780 -/* 09C260 7F067730 AD050FD8 */ sw $a1, 0xfd8($t0) -/* 09C264 7F067734 AFA40020 */ sw $a0, 0x20($sp) -.L7F067738: -/* 09C268 7F067738 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C26C 7F06773C AFA60024 */ sw $a2, 0x24($sp) -/* 09C270 7F067740 8FA40020 */ lw $a0, 0x20($sp) -/* 09C274 7F067744 14400007 */ bnez $v0, .L7F067764 -/* 09C278 7F067748 8FA60024 */ lw $a2, 0x24($sp) -/* 09C27C 7F06774C 8E030000 */ lw $v1, ($s0) -/* 09C280 7F067750 00065023 */ negu $t2, $a2 -/* 09C284 7F067754 006A7021 */ addu $t6, $v1, $t2 -/* 09C288 7F067758 8DCF0C28 */ lw $t7, 0xc28($t6) -/* 09C28C 7F06775C 51E00005 */ beql $t7, $zero, .L7F067774 -/* 09C290 7F067760 8C6C0FD8 */ lw $t4, 0xfd8($v1) -.L7F067764: -/* 09C294 7F067764 8E0B0000 */ lw $t3, ($s0) -/* 09C298 7F067768 10000005 */ b .L7F067780 -/* 09C29C 7F06776C AD640FD8 */ sw $a0, 0xfd8($t3) -/* 09C2A0 7F067770 8C6C0FD8 */ lw $t4, 0xfd8($v1) -.L7F067774: -/* 09C2A4 7F067774 24190001 */ li $t9, 1 -/* 09C2A8 7F067778 032C6823 */ subu $t5, $t9, $t4 -/* 09C2AC 7F06777C AC6D0FD8 */ sw $t5, 0xfd8($v1) -.L7F067780: -/* 09C2B0 7F067780 8E030000 */ lw $v1, ($s0) -/* 09C2B4 7F067784 24180001 */ li $t8, 1 -/* 09C2B8 7F067788 8C680FD8 */ lw $t0, 0xfd8($v1) -/* 09C2BC 7F06778C 00084880 */ sll $t1, $t0, 2 -/* 09C2C0 7F067790 03A95021 */ addu $t2, $sp, $t1 -/* 09C2C4 7F067794 AD580048 */ sw $t8, 0x48($t2) -/* 09C2C8 7F067798 8C6E0FD8 */ lw $t6, 0xfd8($v1) -/* 09C2CC 7F06779C 000E7880 */ sll $t7, $t6, 2 -/* 09C2D0 7F0677A0 000F5823 */ negu $t3, $t7 -/* 09C2D4 7F0677A4 03ABC821 */ addu $t9, $sp, $t3 -/* 09C2D8 7F0677A8 10000064 */ b .L7F06793C -/* 09C2DC 7F0677AC AF20004C */ sw $zero, 0x4c($t9) -/* 09C2E0 7F0677B0 8E030000 */ lw $v1, ($s0) -.L7F0677B4: -/* 09C2E4 7F0677B4 8C6C0FD4 */ lw $t4, 0xfd4($v1) -/* 09C2E8 7F0677B8 2981001F */ slti $at, $t4, 0x1f -/* 09C2EC 7F0677BC 54200022 */ bnezl $at, .L7F067848 -/* 09C2F0 7F0677C0 8C6E0FD0 */ lw $t6, 0xfd0($v1) -/* 09C2F4 7F0677C4 8C6D0FD8 */ lw $t5, 0xfd8($v1) -/* 09C2F8 7F0677C8 24020001 */ li $v0, 1 -/* 09C2FC 7F0677CC 000D4080 */ sll $t0, $t5, 2 -/* 09C300 7F0677D0 03A8C021 */ addu $t8, $sp, $t0 -/* 09C304 7F0677D4 AF020048 */ sw $v0, 0x48($t8) -/* 09C308 7F0677D8 8C690FD8 */ lw $t1, 0xfd8($v1) -/* 09C30C 7F0677DC 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C310 7F0677E0 00492023 */ subu $a0, $v0, $t1 -/* 09C314 7F0677E4 54400010 */ bnezl $v0, .L7F067828 -/* 09C318 7F0677E8 8E0D0000 */ lw $t5, ($s0) -/* 09C31C 7F0677EC 8E030000 */ lw $v1, ($s0) -/* 09C320 7F0677F0 8C6A0FD8 */ lw $t2, 0xfd8($v1) -/* 09C324 7F0677F4 000A70C0 */ sll $t6, $t2, 3 -/* 09C328 7F0677F8 01CA7023 */ subu $t6, $t6, $t2 -/* 09C32C 7F0677FC 000E7080 */ sll $t6, $t6, 2 -/* 09C330 7F067800 01CA7021 */ addu $t6, $t6, $t2 -/* 09C334 7F067804 000E7080 */ sll $t6, $t6, 2 -/* 09C338 7F067808 01CA7021 */ addu $t6, $t6, $t2 -/* 09C33C 7F06780C 000E70C0 */ sll $t6, $t6, 3 -/* 09C340 7F067810 000E7823 */ negu $t7, $t6 -/* 09C344 7F067814 006F5821 */ addu $t3, $v1, $t7 -/* 09C348 7F067818 8D790C28 */ lw $t9, 0xc28($t3) -/* 09C34C 7F06781C 53200048 */ beql $t9, $zero, .L7F067940 -/* 09C350 7F067820 00002025 */ move $a0, $zero -/* 09C354 7F067824 8E0D0000 */ lw $t5, ($s0) -.L7F067828: -/* 09C358 7F067828 240C0001 */ li $t4, 1 -/* 09C35C 7F06782C 8DA80FD8 */ lw $t0, 0xfd8($t5) -/* 09C360 7F067830 0008C080 */ sll $t8, $t0, 2 -/* 09C364 7F067834 00184823 */ negu $t1, $t8 -/* 09C368 7F067838 03A95021 */ addu $t2, $sp, $t1 -/* 09C36C 7F06783C 1000003F */ b .L7F06793C -/* 09C370 7F067840 AD4C004C */ sw $t4, 0x4c($t2) -/* 09C374 7F067844 8C6E0FD0 */ lw $t6, 0xfd0($v1) -.L7F067848: -/* 09C378 7F067848 55C00012 */ bnezl $t6, .L7F067894 -/* 09C37C 7F06784C 8E030000 */ lw $v1, ($s0) -/* 09C380 7F067850 8C6F0FD8 */ lw $t7, 0xfd8($v1) -/* 09C384 7F067854 240B0001 */ li $t3, 1 -/* 09C388 7F067858 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C38C 7F06785C 016F2023 */ subu $a0, $t3, $t7 -/* 09C390 7F067860 54400007 */ bnezl $v0, .L7F067880 -/* 09C394 7F067864 8E030000 */ lw $v1, ($s0) -/* 09C398 7F067868 8E190000 */ lw $t9, ($s0) -/* 09C39C 7F06786C 0FC19CED */ jal sub_GAME_7F0673B4 -/* 09C3A0 7F067870 8F240FD8 */ lw $a0, 0xfd8($t9) -/* 09C3A4 7F067874 54400007 */ bnezl $v0, .L7F067894 -/* 09C3A8 7F067878 8E030000 */ lw $v1, ($s0) -/* 09C3AC 7F06787C 8E030000 */ lw $v1, ($s0) -.L7F067880: -/* 09C3B0 7F067880 24080001 */ li $t0, 1 -/* 09C3B4 7F067884 8C6D0FD8 */ lw $t5, 0xfd8($v1) -/* 09C3B8 7F067888 010DC023 */ subu $t8, $t0, $t5 -/* 09C3BC 7F06788C AC780FD8 */ sw $t8, 0xfd8($v1) -/* 09C3C0 7F067890 8E030000 */ lw $v1, ($s0) -.L7F067894: -/* 09C3C4 7F067894 240C0001 */ li $t4, 1 -/* 09C3C8 7F067898 8C690FD8 */ lw $t1, 0xfd8($v1) -/* 09C3CC 7F06789C 00095080 */ sll $t2, $t1, 2 -/* 09C3D0 7F0678A0 03AA7021 */ addu $t6, $sp, $t2 -/* 09C3D4 7F0678A4 ADCC0048 */ sw $t4, 0x48($t6) -/* 09C3D8 7F0678A8 8C6B0FD8 */ lw $t3, 0xfd8($v1) -/* 09C3DC 7F0678AC 000B7880 */ sll $t7, $t3, 2 -/* 09C3E0 7F0678B0 000FC823 */ negu $t9, $t7 -/* 09C3E4 7F0678B4 03B94021 */ addu $t0, $sp, $t9 -/* 09C3E8 7F0678B8 10000020 */ b .L7F06793C -/* 09C3EC 7F0678BC AD00004C */ sw $zero, 0x4c($t0) -.L7F0678C0: -/* 09C3F0 7F0678C0 8E0D0000 */ lw $t5, ($s0) -.L7F0678C4: -/* 09C3F4 7F0678C4 0FC17674 */ jal get_item_in_hand -/* 09C3F8 7F0678C8 8DA40FD8 */ lw $a0, 0xfd8($t5) -/* 09C3FC 7F0678CC 5440000E */ bnezl $v0, .L7F067908 -/* 09C400 7F0678D0 8E030000 */ lw $v1, ($s0) -/* 09C404 7F0678D4 8E180000 */ lw $t8, ($s0) -/* 09C408 7F0678D8 240C0001 */ li $t4, 1 -/* 09C40C 7F0678DC 8F090FD8 */ lw $t1, 0xfd8($t8) -/* 09C410 7F0678E0 0FC17674 */ jal get_item_in_hand -/* 09C414 7F0678E4 01892023 */ subu $a0, $t4, $t1 -/* 09C418 7F0678E8 50400007 */ beql $v0, $zero, .L7F067908 -/* 09C41C 7F0678EC 8E030000 */ lw $v1, ($s0) -/* 09C420 7F0678F0 8E030000 */ lw $v1, ($s0) -/* 09C424 7F0678F4 240E0001 */ li $t6, 1 -/* 09C428 7F0678F8 8C6A0FD8 */ lw $t2, 0xfd8($v1) -/* 09C42C 7F0678FC 01CA5823 */ subu $t3, $t6, $t2 -/* 09C430 7F067900 AC6B0FD8 */ sw $t3, 0xfd8($v1) -/* 09C434 7F067904 8E030000 */ lw $v1, ($s0) -.L7F067908: -/* 09C438 7F067908 240F0001 */ li $t7, 1 -/* 09C43C 7F06790C 8C790FD8 */ lw $t9, 0xfd8($v1) -/* 09C440 7F067910 00194080 */ sll $t0, $t9, 2 -/* 09C444 7F067914 03A86821 */ addu $t5, $sp, $t0 -/* 09C448 7F067918 ADAF0048 */ sw $t7, 0x48($t5) -/* 09C44C 7F06791C 8C780FD8 */ lw $t8, 0xfd8($v1) -/* 09C450 7F067920 00186080 */ sll $t4, $t8, 2 -/* 09C454 7F067924 000C4823 */ negu $t1, $t4 -/* 09C458 7F067928 03A97021 */ addu $t6, $sp, $t1 -/* 09C45C 7F06792C ADC0004C */ sw $zero, 0x4c($t6) -/* 09C460 7F067930 10000003 */ b .L7F067940 -/* 09C464 7F067934 00002025 */ move $a0, $zero -/* 09C468 7F067938 AC600FD4 */ sw $zero, 0xfd4($v1) -.L7F06793C: -/* 09C46C 7F06793C 00002025 */ move $a0, $zero -.L7F067940: -/* 09C470 7F067940 0FC192CA */ jal handle_weapon_id_values_possibly_1st_person_animation -/* 09C474 7F067944 8FA50048 */ lw $a1, 0x48($sp) -/* 09C478 7F067948 24040001 */ li $a0, 1 -/* 09C47C 7F06794C 0FC192CA */ jal handle_weapon_id_values_possibly_1st_person_animation -/* 09C480 7F067950 8FA5004C */ lw $a1, 0x4c($sp) -/* 09C484 7F067954 0FC17422 */ jal used_to_load_1st_person_model_on_demand -/* 09C488 7F067958 00002025 */ move $a0, $zero -/* 09C48C 7F06795C 0FC17422 */ jal used_to_load_1st_person_model_on_demand -/* 09C490 7F067960 24040001 */ li $a0, 1 -/* 09C494 7F067964 0FC19C69 */ jal sub_GAME_7F0671A4 -/* 09C498 7F067968 00000000 */ nop -/* 09C49C 7F06796C 8E0A0000 */ lw $t2, ($s0) -/* 09C4A0 7F067970 8D4B0FE0 */ lw $t3, 0xfe0($t2) -/* 09C4A4 7F067974 1160000A */ beqz $t3, .L7F0679A0 -/* 09C4A8 7F067978 00000000 */ nop -/* 09C4AC 7F06797C 0FC225E6 */ jal get_curplayer_positiondata -/* 09C4B0 7F067980 00000000 */ nop -/* 09C4B4 7F067984 8E050000 */ lw $a1, ($s0) -/* 09C4B8 7F067988 00402025 */ move $a0, $v0 -/* 09C4BC 7F06798C 0FC10027 */ jal set_color_shading_from_tile -/* 09C4C0 7F067990 24A50FDC */ addiu $a1, $a1, 0xfdc -/* 09C4C4 7F067994 8E190000 */ lw $t9, ($s0) -/* 09C4C8 7F067998 1000000A */ b .L7F0679C4 -/* 09C4CC 7F06799C AF200FE0 */ sw $zero, 0xfe0($t9) -.L7F0679A0: -/* 09C4D0 7F0679A0 0FC225E6 */ jal get_curplayer_positiondata -/* 09C4D4 7F0679A4 00000000 */ nop -/* 09C4D8 7F0679A8 00402025 */ move $a0, $v0 -/* 09C4DC 7F0679AC 0FC10027 */ jal set_color_shading_from_tile -/* 09C4E0 7F0679B0 27A50038 */ addiu $a1, $sp, 0x38 -/* 09C4E4 7F0679B4 8E040000 */ lw $a0, ($s0) -/* 09C4E8 7F0679B8 27A50038 */ addiu $a1, $sp, 0x38 -/* 09C4EC 7F0679BC 0FC100C4 */ jal update_color_shading -/* 09C4F0 7F0679C0 24840FDC */ addiu $a0, $a0, 0xfdc -.L7F0679C4: -/* 09C4F4 7F0679C4 0FC17674 */ jal get_item_in_hand -/* 09C4F8 7F0679C8 00002025 */ move $a0, $zero -/* 09C4FC 7F0679CC AFA2002C */ sw $v0, 0x2c($sp) -/* 09C500 7F0679D0 0FC17674 */ jal get_item_in_hand -/* 09C504 7F0679D4 24040001 */ li $a0, 1 -/* 09C508 7F0679D8 8FA4002C */ lw $a0, 0x2c($sp) -/* 09C50C 7F0679DC 0FC2367B */ jal sub_GAME_7F08D9EC -/* 09C510 7F0679E0 00402825 */ move $a1, $v0 -/* 09C514 7F0679E4 8E030000 */ lw $v1, ($s0) -/* 09C518 7F0679E8 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 09C51C 7F0679EC 8C621270 */ lw $v0, 0x1270($v1) -/* 09C520 7F0679F0 04420028 */ bltzl $v0, .L7F067A94 -/* 09C524 7F0679F4 8FBF001C */ lw $ra, 0x1c($sp) -/* 09C528 7F0679F8 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 09C52C 7F0679FC 24670870 */ addiu $a3, $v1, 0x870 -/* 09C530 7F067A00 2418FFFF */ li $t8, -1 -/* 09C534 7F067A04 004F4021 */ addu $t0, $v0, $t7 -/* 09C538 7F067A08 AC681270 */ sw $t0, 0x1270($v1) -/* 09C53C 7F067A0C 8E030000 */ lw $v1, ($s0) -/* 09C540 7F067A10 8C6D1270 */ lw $t5, 0x1270($v1) -/* 09C544 7F067A14 29A1012C */ slti $at, $t5, 0x12c -/* 09C548 7F067A18 50200014 */ beql $at, $zero, .L7F067A6C -/* 09C54C 7F067A1C AC781270 */ sw $t8, 0x1270($v1) -/* 09C550 7F067A20 8CE401D4 */ lw $a0, 0x1d4($a3) -/* 09C554 7F067A24 10800005 */ beqz $a0, .L7F067A3C -/* 09C558 7F067A28 00000000 */ nop -/* 09C55C 7F067A2C 0C00237C */ jal sfxGetArg0Unk3F -/* 09C560 7F067A30 AFA70034 */ sw $a3, 0x34($sp) -/* 09C564 7F067A34 14400016 */ bnez $v0, .L7F067A90 -/* 09C568 7F067A38 8FA70034 */ lw $a3, 0x34($sp) -.L7F067A3C: -/* 09C56C 7F067A3C 0FC2FF01 */ jal get_controls_locked_flag -/* 09C570 7F067A40 AFA70034 */ sw $a3, 0x34($sp) -/* 09C574 7F067A44 14400012 */ bnez $v0, .L7F067A90 -/* 09C578 7F067A48 8FA70034 */ lw $a3, 0x34($sp) -/* 09C57C 7F067A4C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09C580 7F067A50 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09C584 7F067A54 240500F6 */ li $a1, 246 -/* 09C588 7F067A58 0C002382 */ jal play_sfx_a1 -/* 09C58C 7F067A5C 24E601D4 */ addiu $a2, $a3, 0x1d4 -/* 09C590 7F067A60 1000000C */ b .L7F067A94 -/* 09C594 7F067A64 8FBF001C */ lw $ra, 0x1c($sp) -/* 09C598 7F067A68 AC781270 */ sw $t8, 0x1270($v1) -.L7F067A6C: -/* 09C59C 7F067A6C 8CE401D4 */ lw $a0, 0x1d4($a3) -/* 09C5A0 7F067A70 50800008 */ beql $a0, $zero, .L7F067A94 -/* 09C5A4 7F067A74 8FBF001C */ lw $ra, 0x1c($sp) -/* 09C5A8 7F067A78 0C00237C */ jal sfxGetArg0Unk3F -/* 09C5AC 7F067A7C AFA70034 */ sw $a3, 0x34($sp) -/* 09C5B0 7F067A80 10400003 */ beqz $v0, .L7F067A90 -/* 09C5B4 7F067A84 8FA70034 */ lw $a3, 0x34($sp) -/* 09C5B8 7F067A88 0C002408 */ jal sfxDeactivate -/* 09C5BC 7F067A8C 8CE401D4 */ lw $a0, 0x1d4($a3) -.L7F067A90: -/* 09C5C0 7F067A90 8FBF001C */ lw $ra, 0x1c($sp) -.L7F067A94: -/* 09C5C4 7F067A94 8FB00018 */ lw $s0, 0x18($sp) -/* 09C5C8 7F067A98 27BD0050 */ addiu $sp, $sp, 0x50 -/* 09C5CC 7F067A9C 03E00008 */ jr $ra -/* 09C5D0 7F067AA0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F067AA4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F067AA4 -/* 09C5D4 7F067AA4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09C5D8 7F067AA8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09C5DC 7F067AAC 03E00008 */ jr $ra -/* 09C5E0 7F067AB0 ADC40FE4 */ sw $a0, 0xfe4($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F067AB4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F067AB4 -/* 09C5E4 7F067AB4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09C5E8 7F067AB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 09C5EC 7F067ABC 00802825 */ move $a1, $a0 -/* 09C5F0 7F067AC0 AFA50018 */ sw $a1, 0x18($sp) -/* 09C5F4 7F067AC4 0FC1772E */ jal sub_GAME_7F05DCB8 -/* 09C5F8 7F067AC8 00002025 */ move $a0, $zero -/* 09C5FC 7F067ACC 8FA50018 */ lw $a1, 0x18($sp) -/* 09C600 7F067AD0 3C028008 */ lui $v0, %hi(pPlayer) -/* 09C604 7F067AD4 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 09C608 7F067AD8 C4A40000 */ lwc1 $f4, ($a1) -/* 09C60C 7F067ADC 8C4E0000 */ lw $t6, ($v0) -/* 09C610 7F067AE0 24040001 */ li $a0, 1 -/* 09C614 7F067AE4 46040180 */ add.s $f6, $f0, $f4 -/* 09C618 7F067AE8 E5C60A38 */ swc1 $f6, 0xa38($t6) -/* 09C61C 7F067AEC 8C4F0000 */ lw $t7, ($v0) -/* 09C620 7F067AF0 C4A80004 */ lwc1 $f8, 4($a1) -/* 09C624 7F067AF4 E5E80A3C */ swc1 $f8, 0xa3c($t7) -/* 09C628 7F067AF8 8C580000 */ lw $t8, ($v0) -/* 09C62C 7F067AFC C4AA0008 */ lwc1 $f10, 8($a1) -/* 09C630 7F067B00 0FC1772E */ jal sub_GAME_7F05DCB8 -/* 09C634 7F067B04 E70A0A40 */ swc1 $f10, 0xa40($t8) -/* 09C638 7F067B08 8FA50018 */ lw $a1, 0x18($sp) -/* 09C63C 7F067B0C 3C028008 */ lui $v0, %hi(pPlayer) -/* 09C640 7F067B10 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 09C644 7F067B14 C4B00000 */ lwc1 $f16, ($a1) -/* 09C648 7F067B18 8C590000 */ lw $t9, ($v0) -/* 09C64C 7F067B1C 46100480 */ add.s $f18, $f0, $f16 -/* 09C650 7F067B20 E7320DE0 */ swc1 $f18, 0xde0($t9) -/* 09C654 7F067B24 8C480000 */ lw $t0, ($v0) -/* 09C658 7F067B28 C4A40004 */ lwc1 $f4, 4($a1) -/* 09C65C 7F067B2C E5040DE4 */ swc1 $f4, 0xde4($t0) -/* 09C660 7F067B30 8C490000 */ lw $t1, ($v0) -/* 09C664 7F067B34 C4A60008 */ lwc1 $f6, 8($a1) -/* 09C668 7F067B38 E5260DE8 */ swc1 $f6, 0xde8($t1) -/* 09C66C 7F067B3C 8FBF0014 */ lw $ra, 0x14($sp) -/* 09C670 7F067B40 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09C674 7F067B44 03E00008 */ jr $ra -/* 09C678 7F067B48 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F067B4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F067B4C -/* 09C67C 7F067B4C 3C028008 */ lui $v0, %hi(pPlayer) -/* 09C680 7F067B50 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 09C684 7F067B54 8C4E0000 */ lw $t6, ($v0) -/* 09C688 7F067B58 C4800000 */ lwc1 $f0, ($a0) -/* 09C68C 7F067B5C E5C00C0C */ swc1 $f0, 0xc0c($t6) -/* 09C690 7F067B60 8C4F0000 */ lw $t7, ($v0) -/* 09C694 7F067B64 E5E00FB4 */ swc1 $f0, 0xfb4($t7) -/* 09C698 7F067B68 8C580000 */ lw $t8, ($v0) -/* 09C69C 7F067B6C C4800004 */ lwc1 $f0, 4($a0) -/* 09C6A0 7F067B70 E7000C10 */ swc1 $f0, 0xc10($t8) -/* 09C6A4 7F067B74 8C590000 */ lw $t9, ($v0) -/* 09C6A8 7F067B78 E7200FB8 */ swc1 $f0, 0xfb8($t9) -/* 09C6AC 7F067B7C 8C480000 */ lw $t0, ($v0) -/* 09C6B0 7F067B80 C4800008 */ lwc1 $f0, 8($a0) -/* 09C6B4 7F067B84 E5000C14 */ swc1 $f0, 0xc14($t0) -/* 09C6B8 7F067B88 8C490000 */ lw $t1, ($v0) -/* 09C6BC 7F067B8C 03E00008 */ jr $ra -/* 09C6C0 7F067B90 E5200FBC */ swc1 $f0, 0xfbc($t1) -) -#endif - - - - - -#ifdef NONMATCHING -void caclulate_gun_crosshair_position_rotation(void) { - -} -#else -GLOBAL_ASM( -.text -glabel caclulate_gun_crosshair_position_rotation -/* 09C6C4 7F067B94 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 09C6C8 7F067B98 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 09C6CC 7F067B9C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 09C6D0 7F067BA0 4486A000 */ mtc1 $a2, $f20 -/* 09C6D4 7F067BA4 4487B000 */ mtc1 $a3, $f22 -/* 09C6D8 7F067BA8 AFBF0024 */ sw $ra, 0x24($sp) -/* 09C6DC 7F067BAC E7AC0058 */ swc1 $f12, 0x58($sp) -/* 09C6E0 7F067BB0 0FC1E129 */ jal getPlayer_c_screenwidth -/* 09C6E4 7F067BB4 E7AE005C */ swc1 $f14, 0x5c($sp) -/* 09C6E8 7F067BB8 0FC1E12D */ jal getPlayer_c_screenheight -/* 09C6EC 7F067BBC E7A00050 */ swc1 $f0, 0x50($sp) -/* 09C6F0 7F067BC0 3C078008 */ lui $a3, %hi(pPlayer) -/* 09C6F4 7F067BC4 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 09C6F8 7F067BC8 8CE20000 */ lw $v0, ($a3) -/* 09C6FC 7F067BCC E7A0004C */ swc1 $f0, 0x4c($sp) -/* 09C700 7F067BD0 C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 09C704 7F067BD4 C4520FF8 */ lwc1 $f18, 0xff8($v0) -/* 09C708 7F067BD8 C7AE005C */ lwc1 $f14, 0x5c($sp) -/* 09C70C 7F067BDC 3C048005 */ lui $a0, %hi(clock_timer) -/* 09C710 7F067BE0 4612A032 */ c.eq.s $f20, $f18 -/* 09C714 7F067BE4 00000000 */ nop -/* 09C718 7F067BE8 45010012 */ bc1t .L7F067C34 -/* 09C71C 7F067BEC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09C720 7F067BF0 44818000 */ mtc1 $at, $f16 -/* 09C724 7F067BF4 C4440FF0 */ lwc1 $f4, 0xff0($v0) -/* 09C728 7F067BF8 46128181 */ sub.s $f6, $f16, $f18 -/* 09C72C 7F067BFC 46148081 */ sub.s $f2, $f16, $f20 -/* 09C730 7F067C00 46062202 */ mul.s $f8, $f4, $f6 -/* 09C734 7F067C04 46024283 */ div.s $f10, $f8, $f2 -/* 09C738 7F067C08 E44A0FF0 */ swc1 $f10, 0xff0($v0) -/* 09C73C 7F067C0C 8CE20000 */ lw $v0, ($a3) -/* 09C740 7F067C10 C4460FF8 */ lwc1 $f6, 0xff8($v0) -/* 09C744 7F067C14 C4440FF4 */ lwc1 $f4, 0xff4($v0) -/* 09C748 7F067C18 46068201 */ sub.s $f8, $f16, $f6 -/* 09C74C 7F067C1C 46082282 */ mul.s $f10, $f4, $f8 -/* 09C750 7F067C20 46025183 */ div.s $f6, $f10, $f2 -/* 09C754 7F067C24 E4460FF4 */ swc1 $f6, 0xff4($v0) -/* 09C758 7F067C28 8CEE0000 */ lw $t6, ($a3) -/* 09C75C 7F067C2C E5D40FF8 */ swc1 $f20, 0xff8($t6) -/* 09C760 7F067C30 8CE20000 */ lw $v0, ($a3) -.L7F067C34: -/* 09C764 7F067C34 C452100C */ lwc1 $f18, 0x100c($v0) -/* 09C768 7F067C38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09C76C 7F067C3C 44818000 */ mtc1 $at, $f16 -/* 09C770 7F067C40 4612B032 */ c.eq.s $f22, $f18 -/* 09C774 7F067C44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09C778 7F067C48 46148081 */ sub.s $f2, $f16, $f20 -/* 09C77C 7F067C4C 45030014 */ bc1tl .L7F067CA0 -/* 09C780 7F067C50 44812000 */ mtc1 $at, $f4 -/* 09C784 7F067C54 46168101 */ sub.s $f4, $f16, $f22 -/* 09C788 7F067C58 46128281 */ sub.s $f10, $f16, $f18 -/* 09C78C 7F067C5C E7A4002C */ swc1 $f4, 0x2c($sp) -/* 09C790 7F067C60 C4481004 */ lwc1 $f8, 0x1004($v0) -/* 09C794 7F067C64 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 09C798 7F067C68 460A4182 */ mul.s $f6, $f8, $f10 -/* 09C79C 7F067C6C 46043203 */ div.s $f8, $f6, $f4 -/* 09C7A0 7F067C70 E4481004 */ swc1 $f8, 0x1004($v0) -/* 09C7A4 7F067C74 8CE20000 */ lw $v0, ($a3) -/* 09C7A8 7F067C78 C446100C */ lwc1 $f6, 0x100c($v0) -/* 09C7AC 7F067C7C C44A1008 */ lwc1 $f10, 0x1008($v0) -/* 09C7B0 7F067C80 46068101 */ sub.s $f4, $f16, $f6 -/* 09C7B4 7F067C84 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 09C7B8 7F067C88 46045202 */ mul.s $f8, $f10, $f4 -/* 09C7BC 7F067C8C 46064283 */ div.s $f10, $f8, $f6 -/* 09C7C0 7F067C90 E44A1008 */ swc1 $f10, 0x1008($v0) -/* 09C7C4 7F067C94 8CEF0000 */ lw $t7, ($a3) -/* 09C7C8 7F067C98 E5F6100C */ swc1 $f22, 0x100c($t7) -/* 09C7CC 7F067C9C 44812000 */ mtc1 $at, $f4 -.L7F067CA0: -/* 09C7D0 7F067CA0 24848374 */ addiu $a0, %lo(clock_timer) # addiu $a0, $a0, -0x7c8c -/* 09C7D4 7F067CA4 8C980000 */ lw $t8, ($a0) -/* 09C7D8 7F067CA8 46162201 */ sub.s $f8, $f4, $f22 -/* 09C7DC 7F067CAC 00001825 */ move $v1, $zero -/* 09C7E0 7F067CB0 1B000011 */ blez $t8, .L7F067CF8 -/* 09C7E4 7F067CB4 E7A80030 */ swc1 $f8, 0x30($sp) -/* 09C7E8 7F067CB8 8CE20000 */ lw $v0, ($a3) -.L7F067CBC: -/* 09C7EC 7F067CBC 24630001 */ addiu $v1, $v1, 1 -/* 09C7F0 7F067CC0 C4460FF0 */ lwc1 $f6, 0xff0($v0) -/* 09C7F4 7F067CC4 46143282 */ mul.s $f10, $f6, $f20 -/* 09C7F8 7F067CC8 460C5100 */ add.s $f4, $f10, $f12 -/* 09C7FC 7F067CCC E4440FF0 */ swc1 $f4, 0xff0($v0) -/* 09C800 7F067CD0 8CE20000 */ lw $v0, ($a3) -/* 09C804 7F067CD4 C4480FF4 */ lwc1 $f8, 0xff4($v0) -/* 09C808 7F067CD8 46144182 */ mul.s $f6, $f8, $f20 -/* 09C80C 7F067CDC 460E3280 */ add.s $f10, $f6, $f14 -/* 09C810 7F067CE0 E44A0FF4 */ swc1 $f10, 0xff4($v0) -/* 09C814 7F067CE4 8C990000 */ lw $t9, ($a0) -/* 09C818 7F067CE8 0079082A */ slt $at, $v1, $t9 -/* 09C81C 7F067CEC 5420FFF3 */ bnezl $at, .L7F067CBC -/* 09C820 7F067CF0 8CE20000 */ lw $v0, ($a3) -/* 09C824 7F067CF4 00001825 */ move $v1, $zero -.L7F067CF8: -/* 09C828 7F067CF8 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 09C82C 7F067CFC 44819000 */ mtc1 $at, $f18 -/* 09C830 7F067D00 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09C834 7F067D04 4481A000 */ mtc1 $at, $f20 -/* 09C838 7F067D08 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 09C83C 7F067D0C 8CE20000 */ lw $v0, ($a3) -/* 09C840 7F067D10 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 09C844 7F067D14 46142202 */ mul.s $f8, $f4, $f20 -/* 09C848 7F067D18 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 09C84C 7F067D1C C4460FF0 */ lwc1 $f6, 0xff0($v0) -/* 09C850 7F067D20 46023282 */ mul.s $f10, $f6, $f2 -/* 09C854 7F067D24 00000000 */ nop -/* 09C858 7F067D28 46045182 */ mul.s $f6, $f10, $f4 -/* 09C85C 7F067D2C 00000000 */ nop -/* 09C860 7F067D30 46143282 */ mul.s $f10, $f6, $f20 -/* 09C864 7F067D34 46085100 */ add.s $f4, $f10, $f8 -/* 09C868 7F067D38 E4440FE8 */ swc1 $f4, 0xfe8($v0) -/* 09C86C 7F067D3C 8CE20000 */ lw $v0, ($a3) -/* 09C870 7F067D40 C4460FF4 */ lwc1 $f6, 0xff4($v0) -/* 09C874 7F067D44 46023282 */ mul.s $f10, $f6, $f2 -/* 09C878 7F067D48 00000000 */ nop -/* 09C87C 7F067D4C 46005202 */ mul.s $f8, $f10, $f0 -/* 09C880 7F067D50 00000000 */ nop -/* 09C884 7F067D54 46144102 */ mul.s $f4, $f8, $f20 -/* 09C888 7F067D58 00000000 */ nop -/* 09C88C 7F067D5C 46140182 */ mul.s $f6, $f0, $f20 -/* 09C890 7F067D60 46062280 */ add.s $f10, $f4, $f6 -/* 09C894 7F067D64 E44A0FEC */ swc1 $f10, 0xfec($v0) -/* 09C898 7F067D68 8CE20000 */ lw $v0, ($a3) -/* 09C89C 7F067D6C C7A80050 */ lwc1 $f8, 0x50($sp) -/* 09C8A0 7F067D70 C4500FE8 */ lwc1 $f16, 0xfe8($v0) -/* 09C8A4 7F067D74 4612803C */ c.lt.s $f16, $f18 -/* 09C8A8 7F067D78 00000000 */ nop -/* 09C8AC 7F067D7C 45000004 */ bc1f .L7F067D90 -/* 09C8B0 7F067D80 00000000 */ nop -/* 09C8B4 7F067D84 E4520FE8 */ swc1 $f18, 0xfe8($v0) -/* 09C8B8 7F067D88 1000000A */ b .L7F067DB4 -/* 09C8BC 7F067D8C 8CE20000 */ lw $v0, ($a3) -.L7F067D90: -/* 09C8C0 7F067D90 44812000 */ mtc1 $at, $f4 -/* 09C8C4 7F067D94 00000000 */ nop -/* 09C8C8 7F067D98 46044081 */ sub.s $f2, $f8, $f4 -/* 09C8CC 7F067D9C 4610103C */ c.lt.s $f2, $f16 -/* 09C8D0 7F067DA0 00000000 */ nop -/* 09C8D4 7F067DA4 45020004 */ bc1fl .L7F067DB8 -/* 09C8D8 7F067DA8 C4420FEC */ lwc1 $f2, 0xfec($v0) -/* 09C8DC 7F067DAC E4420FE8 */ swc1 $f2, 0xfe8($v0) -/* 09C8E0 7F067DB0 8CE20000 */ lw $v0, ($a3) -.L7F067DB4: -/* 09C8E4 7F067DB4 C4420FEC */ lwc1 $f2, 0xfec($v0) -.L7F067DB8: -/* 09C8E8 7F067DB8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 09C8EC 7F067DBC 4612103C */ c.lt.s $f2, $f18 -/* 09C8F0 7F067DC0 00000000 */ nop -/* 09C8F4 7F067DC4 45020004 */ bc1fl .L7F067DD8 -/* 09C8F8 7F067DC8 44813000 */ mtc1 $at, $f6 -/* 09C8FC 7F067DCC 10000009 */ b .L7F067DF4 -/* 09C900 7F067DD0 E4520FEC */ swc1 $f18, 0xfec($v0) -/* 09C904 7F067DD4 44813000 */ mtc1 $at, $f6 -.L7F067DD8: -/* 09C908 7F067DD8 00000000 */ nop -/* 09C90C 7F067DDC 46060401 */ sub.s $f16, $f0, $f6 -/* 09C910 7F067DE0 4602803C */ c.lt.s $f16, $f2 -/* 09C914 7F067DE4 00000000 */ nop -/* 09C918 7F067DE8 45020003 */ bc1fl .L7F067DF8 -/* 09C91C 7F067DEC AFA30054 */ sw $v1, 0x54($sp) -/* 09C920 7F067DF0 E4500FEC */ swc1 $f16, 0xfec($v0) -.L7F067DF4: -/* 09C924 7F067DF4 AFA30054 */ sw $v1, 0x54($sp) -.L7F067DF8: -/* 09C928 7F067DF8 E7AC0058 */ swc1 $f12, 0x58($sp) -/* 09C92C 7F067DFC 0FC1E131 */ jal getPlayer_c_screenleft -/* 09C930 7F067E00 E7AE005C */ swc1 $f14, 0x5c($sp) -/* 09C934 7F067E04 3C078008 */ lui $a3, %hi(pPlayer) -/* 09C938 7F067E08 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 09C93C 7F067E0C 8CE20000 */ lw $v0, ($a3) -/* 09C940 7F067E10 C44A0FE8 */ lwc1 $f10, 0xfe8($v0) -/* 09C944 7F067E14 46005200 */ add.s $f8, $f10, $f0 -/* 09C948 7F067E18 0FC1E135 */ jal getPlayer_c_screentop -/* 09C94C 7F067E1C E4480FE8 */ swc1 $f8, 0xfe8($v0) -/* 09C950 7F067E20 3C078008 */ lui $a3, %hi(pPlayer) -/* 09C954 7F067E24 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 09C958 7F067E28 8CE20000 */ lw $v0, ($a3) -/* 09C95C 7F067E2C 8FA30054 */ lw $v1, 0x54($sp) -/* 09C960 7F067E30 3C048005 */ lui $a0, %hi(clock_timer) -/* 09C964 7F067E34 C4440FEC */ lwc1 $f4, 0xfec($v0) -/* 09C968 7F067E38 C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 09C96C 7F067E3C C7AE005C */ lwc1 $f14, 0x5c($sp) -/* 09C970 7F067E40 46002180 */ add.s $f6, $f4, $f0 -/* 09C974 7F067E44 24848374 */ addiu $a0, %lo(clock_timer) # addiu $a0, $a0, -0x7c8c -/* 09C978 7F067E48 E4460FEC */ swc1 $f6, 0xfec($v0) -/* 09C97C 7F067E4C 8C880000 */ lw $t0, ($a0) -/* 09C980 7F067E50 59000011 */ blezl $t0, .L7F067E98 -/* 09C984 7F067E54 8CE20000 */ lw $v0, ($a3) -/* 09C988 7F067E58 8CE20000 */ lw $v0, ($a3) -.L7F067E5C: -/* 09C98C 7F067E5C 24630001 */ addiu $v1, $v1, 1 -/* 09C990 7F067E60 C44A1004 */ lwc1 $f10, 0x1004($v0) -/* 09C994 7F067E64 46165202 */ mul.s $f8, $f10, $f22 -/* 09C998 7F067E68 460C4100 */ add.s $f4, $f8, $f12 -/* 09C99C 7F067E6C E4441004 */ swc1 $f4, 0x1004($v0) -/* 09C9A0 7F067E70 8CE20000 */ lw $v0, ($a3) -/* 09C9A4 7F067E74 C4461008 */ lwc1 $f6, 0x1008($v0) -/* 09C9A8 7F067E78 46163282 */ mul.s $f10, $f6, $f22 -/* 09C9AC 7F067E7C 460E5200 */ add.s $f8, $f10, $f14 -/* 09C9B0 7F067E80 E4481008 */ swc1 $f8, 0x1008($v0) -/* 09C9B4 7F067E84 8C890000 */ lw $t1, ($a0) -/* 09C9B8 7F067E88 0069082A */ slt $at, $v1, $t1 -/* 09C9BC 7F067E8C 5420FFF3 */ bnezl $at, .L7F067E5C -/* 09C9C0 7F067E90 8CE20000 */ lw $v0, ($a3) -/* 09C9C4 7F067E94 8CE20000 */ lw $v0, ($a3) -.L7F067E98: -/* 09C9C8 7F067E98 C7A00030 */ lwc1 $f0, 0x30($sp) -/* 09C9CC 7F067E9C C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 09C9D0 7F067EA0 C4441004 */ lwc1 $f4, 0x1004($v0) -/* 09C9D4 7F067EA4 C7A2004C */ lwc1 $f2, 0x4c($sp) -/* 09C9D8 7F067EA8 46002182 */ mul.s $f6, $f4, $f0 -/* 09C9DC 7F067EAC 00000000 */ nop -/* 09C9E0 7F067EB0 460A3202 */ mul.s $f8, $f6, $f10 -/* 09C9E4 7F067EB4 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 09C9E8 7F067EB8 46144102 */ mul.s $f4, $f8, $f20 -/* 09C9EC 7F067EBC 46062280 */ add.s $f10, $f4, $f6 -/* 09C9F0 7F067EC0 E44A0FFC */ swc1 $f10, 0xffc($v0) -/* 09C9F4 7F067EC4 8CE20000 */ lw $v0, ($a3) -/* 09C9F8 7F067EC8 C4481008 */ lwc1 $f8, 0x1008($v0) -/* 09C9FC 7F067ECC 46004102 */ mul.s $f4, $f8, $f0 -/* 09CA00 7F067ED0 00000000 */ nop -/* 09CA04 7F067ED4 46022182 */ mul.s $f6, $f4, $f2 -/* 09CA08 7F067ED8 00000000 */ nop -/* 09CA0C 7F067EDC 46143282 */ mul.s $f10, $f6, $f20 -/* 09CA10 7F067EE0 00000000 */ nop -/* 09CA14 7F067EE4 46141202 */ mul.s $f8, $f2, $f20 -/* 09CA18 7F067EE8 46085100 */ add.s $f4, $f10, $f8 -/* 09CA1C 7F067EEC 0FC1E131 */ jal getPlayer_c_screenleft -/* 09CA20 7F067EF0 E4441000 */ swc1 $f4, 0x1000($v0) -/* 09CA24 7F067EF4 3C078008 */ lui $a3, %hi(pPlayer) -/* 09CA28 7F067EF8 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 09CA2C 7F067EFC 8CE20000 */ lw $v0, ($a3) -/* 09CA30 7F067F00 C4460FFC */ lwc1 $f6, 0xffc($v0) -/* 09CA34 7F067F04 46003280 */ add.s $f10, $f6, $f0 -/* 09CA38 7F067F08 0FC1E135 */ jal getPlayer_c_screentop -/* 09CA3C 7F067F0C E44A0FFC */ swc1 $f10, 0xffc($v0) -/* 09CA40 7F067F10 3C078008 */ lui $a3, %hi(pPlayer) -/* 09CA44 7F067F14 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 09CA48 7F067F18 8CE20000 */ lw $v0, ($a3) -/* 09CA4C 7F067F1C 27A50040 */ addiu $a1, $sp, 0x40 -/* 09CA50 7F067F20 3C06447A */ lui $a2, 0x447a -/* 09CA54 7F067F24 C4481000 */ lwc1 $f8, 0x1000($v0) -/* 09CA58 7F067F28 46004100 */ add.s $f4, $f8, $f0 -/* 09CA5C 7F067F2C E4441000 */ swc1 $f4, 0x1000($v0) -/* 09CA60 7F067F30 8CE40000 */ lw $a0, ($a3) -/* 09CA64 7F067F34 0FC1DFBB */ jal sub_GAME_7F077EEC -/* 09CA68 7F067F38 24840FFC */ addiu $a0, $a0, 0xffc -/* 09CA6C 7F067F3C 0FC19EAD */ jal sub_GAME_7F067AB4 -/* 09CA70 7F067F40 27A40040 */ addiu $a0, $sp, 0x40 -/* 09CA74 7F067F44 8FBF0024 */ lw $ra, 0x24($sp) -/* 09CA78 7F067F48 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 09CA7C 7F067F4C D7B60018 */ ldc1 $f22, 0x18($sp) -/* 09CA80 7F067F50 03E00008 */ jr $ra -/* 09CA84 7F067F54 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F067F58(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F067F58 -/* 09CA88 7F067F58 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09CA8C 7F067F5C AFBF0014 */ sw $ra, 0x14($sp) -/* 09CA90 7F067F60 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 09CA94 7F067F64 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 09CA98 7F067F68 AFA60020 */ sw $a2, 0x20($sp) -/* 09CA9C 7F067F6C 0FC17674 */ jal get_item_in_hand -/* 09CAA0 7F067F70 00002025 */ move $a0, $zero -/* 09CAA4 7F067F74 0FC1722D */ jal get_ptr_item_statistics -/* 09CAA8 7F067F78 00402025 */ move $a0, $v0 -/* 09CAAC 7F067F7C C7A20020 */ lwc1 $f2, 0x20($sp) -/* 09CAB0 7F067F80 C440003C */ lwc1 $f0, 0x3c($v0) -/* 09CAB4 7F067F84 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 09CAB8 7F067F88 44061000 */ mfc1 $a2, $f2 -/* 09CABC 7F067F8C 4602003C */ c.lt.s $f0, $f2 -/* 09CAC0 7F067F90 00000000 */ nop -/* 09CAC4 7F067F94 45020003 */ bc1fl .L7F067FA4 -/* 09CAC8 7F067F98 44070000 */ mfc1 $a3, $f0 -/* 09CACC 7F067F9C 46001006 */ mov.s $f0, $f2 -/* 09CAD0 7F067FA0 44070000 */ mfc1 $a3, $f0 -.L7F067FA4: -/* 09CAD4 7F067FA4 0FC19EE5 */ jal caclulate_gun_crosshair_position_rotation -/* 09CAD8 7F067FA8 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 09CADC 7F067FAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 09CAE0 7F067FB0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09CAE4 7F067FB4 03E00008 */ jr $ra -/* 09CAE8 7F067FB8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F067FBC(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F067FBC -/* 09CAEC 7F067FBC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09CAF0 7F067FC0 AFBF0014 */ sw $ra, 0x14($sp) -/* 09CAF4 7F067FC4 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 09CAF8 7F067FC8 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 09CAFC 7F067FCC 0FC17674 */ jal get_item_in_hand -/* 09CB00 7F067FD0 00002025 */ move $a0, $zero -/* 09CB04 7F067FD4 0FC1722D */ jal get_ptr_item_statistics -/* 09CB08 7F067FD8 00402025 */ move $a0, $v0 -/* 09CB0C 7F067FDC C4400038 */ lwc1 $f0, 0x38($v0) -/* 09CB10 7F067FE0 C442003C */ lwc1 $f2, 0x3c($v0) -/* 09CB14 7F067FE4 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 09CB18 7F067FE8 44060000 */ mfc1 $a2, $f0 -/* 09CB1C 7F067FEC 44071000 */ mfc1 $a3, $f2 -/* 09CB20 7F067FF0 0FC19EE5 */ jal caclulate_gun_crosshair_position_rotation -/* 09CB24 7F067FF4 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 09CB28 7F067FF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 09CB2C 7F067FFC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09CB30 7F068000 03E00008 */ jr $ra -/* 09CB34 7F068004 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F067FBC -/* 09D104 7F068594 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09D108 7F068598 AFBF0014 */ sw $ra, 0x14($sp) -/* 09D10C 7F06859C E7AC0018 */ swc1 $f12, 0x18($sp) -/* 09D110 7F0685A0 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 09D114 7F0685A4 0FC177BC */ jal get_item_in_hand -/* 09D118 7F0685A8 00002025 */ move $a0, $zero -/* 09D11C 7F0685AC 0FC17375 */ jal get_ptr_item_statistics -/* 09D120 7F0685B0 00402025 */ move $a0, $v0 -/* 09D124 7F0685B4 C440003C */ lwc1 $f0, 0x3c($v0) -/* 09D128 7F0685B8 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 09D12C 7F0685BC 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 09D130 7F0685C0 44070000 */ mfc1 $a3, $f0 -/* 09D134 7F0685C4 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 09D138 7F0685C8 0FC1A05B */ jal caclulate_gun_crosshair_position_rotation -/* 09D13C 7F0685CC C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 09D140 7F0685D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 09D144 7F0685D4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09D148 7F0685D8 03E00008 */ jr $ra -/* 09D14C 7F0685DC 00000000 */ nop -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F068008(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F068008 -/* 09CB38 7F068008 3C028008 */ lui $v0, %hi(pPlayer) -/* 09CB3C 7F06800C 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 09CB40 7F068010 8C4E0000 */ lw $t6, ($v0) -/* 09CB44 7F068014 C5C40FE8 */ lwc1 $f4, 0xfe8($t6) -/* 09CB48 7F068018 E4840000 */ swc1 $f4, ($a0) -/* 09CB4C 7F06801C 8C4F0000 */ lw $t7, ($v0) -/* 09CB50 7F068020 C5E60FEC */ lwc1 $f6, 0xfec($t7) -/* 09CB54 7F068024 03E00008 */ jr $ra -/* 09CB58 7F068028 E4A60000 */ swc1 $f6, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06802C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06802C -/* 09CB5C 7F06802C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 09CB60 7F068030 AFBF0014 */ sw $ra, 0x14($sp) -/* 09CB64 7F068034 0FC1E131 */ jal getPlayer_c_screenleft -/* 09CB68 7F068038 00000000 */ nop -/* 09CB6C 7F06803C 0FC1E129 */ jal getPlayer_c_screenwidth -/* 09CB70 7F068040 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 09CB74 7F068044 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09CB78 7F068048 44812000 */ mtc1 $at, $f4 -/* 09CB7C 7F06804C C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 09CB80 7F068050 3C028008 */ lui $v0, %hi(pPlayer) -/* 09CB84 7F068054 46040182 */ mul.s $f6, $f0, $f4 -/* 09CB88 7F068058 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 09CB8C 7F06805C 8C4E0000 */ lw $t6, ($v0) -/* 09CB90 7F068060 46083080 */ add.s $f2, $f6, $f8 -/* 09CB94 7F068064 E5C20FE8 */ swc1 $f2, 0xfe8($t6) -/* 09CB98 7F068068 8C4F0000 */ lw $t7, ($v0) -/* 09CB9C 7F06806C 0FC1E135 */ jal getPlayer_c_screentop -/* 09CBA0 7F068070 E5E20FFC */ swc1 $f2, 0xffc($t7) -/* 09CBA4 7F068074 0FC1E12D */ jal getPlayer_c_screenheight -/* 09CBA8 7F068078 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 09CBAC 7F06807C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09CBB0 7F068080 44815000 */ mtc1 $at, $f10 -/* 09CBB4 7F068084 C7B2001C */ lwc1 $f18, 0x1c($sp) -/* 09CBB8 7F068088 3C028008 */ lui $v0, %hi(pPlayer) -/* 09CBBC 7F06808C 460A0402 */ mul.s $f16, $f0, $f10 -/* 09CBC0 7F068090 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 09CBC4 7F068094 8C580000 */ lw $t8, ($v0) -/* 09CBC8 7F068098 27A50024 */ addiu $a1, $sp, 0x24 -/* 09CBCC 7F06809C 3C06447A */ lui $a2, 0x447a -/* 09CBD0 7F0680A0 46128080 */ add.s $f2, $f16, $f18 -/* 09CBD4 7F0680A4 E7020FEC */ swc1 $f2, 0xfec($t8) -/* 09CBD8 7F0680A8 8C590000 */ lw $t9, ($v0) -/* 09CBDC 7F0680AC E7221000 */ swc1 $f2, 0x1000($t9) -/* 09CBE0 7F0680B0 8C440000 */ lw $a0, ($v0) -/* 09CBE4 7F0680B4 0FC1DFBB */ jal sub_GAME_7F077EEC -/* 09CBE8 7F0680B8 24840FFC */ addiu $a0, $a0, 0xffc -/* 09CBEC 7F0680BC 0FC19EAD */ jal sub_GAME_7F067AB4 -/* 09CBF0 7F0680C0 27A40024 */ addiu $a0, $sp, 0x24 -/* 09CBF4 7F0680C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 09CBF8 7F0680C8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 09CBFC 7F0680CC 03E00008 */ jr $ra -/* 09CC00 7F0680D0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void glabel(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0680D4 -/* 09CC04 7F0680D4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09CC08 7F0680D8 3C038008 */ lui $v1, %hi(pPlayer) -/* 09CC0C 7F0680DC 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 09CC10 7F0680E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 09CC14 7F0680E4 C4840000 */ lwc1 $f4, ($a0) -/* 09CC18 7F0680E8 8C6E0000 */ lw $t6, ($v1) -/* 09CC1C 7F0680EC E5C41010 */ swc1 $f4, 0x1010($t6) -/* 09CC20 7F0680F0 8C6F0000 */ lw $t7, ($v1) -/* 09CC24 7F0680F4 C4860004 */ lwc1 $f6, 4($a0) -/* 09CC28 7F0680F8 E5E61014 */ swc1 $f6, 0x1014($t7) -/* 09CC2C 7F0680FC 8C780000 */ lw $t8, ($v1) -/* 09CC30 7F068100 C4880008 */ lwc1 $f8, 8($a0) -/* 09CC34 7F068104 E7081018 */ swc1 $f8, 0x1018($t8) -/* 09CC38 7F068108 8C650000 */ lw $a1, ($v1) -/* 09CC3C 7F06810C 0FC161C5 */ jal sub_GAME_7F058714 -/* 09CC40 7F068110 24A5101C */ addiu $a1, $a1, 0x101c -/* 09CC44 7F068114 3C038008 */ lui $v1, %hi(pPlayer) -/* 09CC48 7F068118 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 09CC4C 7F06811C 8C620000 */ lw $v0, ($v1) -/* 09CC50 7F068120 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 09CC54 7F068124 44810000 */ mtc1 $at, $f0 -/* 09CC58 7F068128 C44A103C */ lwc1 $f10, 0x103c($v0) -/* 09CC5C 7F06812C 27A4001C */ addiu $a0, $sp, 0x1c -/* 09CC60 7F068130 24450FE8 */ addiu $a1, $v0, 0xfe8 -/* 09CC64 7F068134 46005402 */ mul.s $f16, $f10, $f0 -/* 09CC68 7F068138 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 09CC6C 7F06813C C4521040 */ lwc1 $f18, 0x1040($v0) -/* 09CC70 7F068140 46009102 */ mul.s $f4, $f18, $f0 -/* 09CC74 7F068144 E7A40020 */ swc1 $f4, 0x20($sp) -/* 09CC78 7F068148 C4461044 */ lwc1 $f6, 0x1044($v0) -/* 09CC7C 7F06814C 46003202 */ mul.s $f8, $f6, $f0 -/* 09CC80 7F068150 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 09CC84 7F068154 E7A80024 */ swc1 $f8, 0x24($sp) -/* 09CC88 7F068158 3C038008 */ lui $v1, %hi(pPlayer) -/* 09CC8C 7F06815C 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 09CC90 7F068160 8C620000 */ lw $v0, ($v1) -/* 09CC94 7F068164 27A4001C */ addiu $a0, $sp, 0x1c -/* 09CC98 7F068168 C44A0FE8 */ lwc1 $f10, 0xfe8($v0) -/* 09CC9C 7F06816C E44A0FFC */ swc1 $f10, 0xffc($v0) -/* 09CCA0 7F068170 8C620000 */ lw $v0, ($v1) -/* 09CCA4 7F068174 C4500FEC */ lwc1 $f16, 0xfec($v0) -/* 09CCA8 7F068178 0FC19EAD */ jal sub_GAME_7F067AB4 -/* 09CCAC 7F06817C E4501000 */ swc1 $f16, 0x1000($v0) -/* 09CCB0 7F068180 8FBF0014 */ lw $ra, 0x14($sp) -/* 09CCB4 7F068184 27BD0028 */ addiu $sp, $sp, 0x28 -/* 09CCB8 7F068188 03E00008 */ jr $ra -/* 09CCBC 7F06818C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F068190(void *arg0) { - // Node 0 - *arg0 = 0.0f; - arg0->unk4 = 0.0f; - arg0->unk8 = 0.0f; - return sub_GAME_7F077EEC((pPlayer + 0xfe8), 0x3f800000); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F068190 -/* 09CCC0 7F068190 44800000 */ mtc1 $zero, $f0 -/* 09CCC4 7F068194 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09CCC8 7F068198 AFBF0014 */ sw $ra, 0x14($sp) -/* 09CCCC 7F06819C E4800000 */ swc1 $f0, ($a0) -/* 09CCD0 7F0681A0 E4800004 */ swc1 $f0, 4($a0) -/* 09CCD4 7F0681A4 E4800008 */ swc1 $f0, 8($a0) -/* 09CCD8 7F0681A8 3C048008 */ lui $a0, %hi(pPlayer) -/* 09CCDC 7F0681AC 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 09CCE0 7F0681B0 3C063F80 */ lui $a2, 0x3f80 -/* 09CCE4 7F0681B4 0FC1DFBB */ jal sub_GAME_7F077EEC -/* 09CCE8 7F0681B8 24840FE8 */ addiu $a0, $a0, 0xfe8 -/* 09CCEC 7F0681BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 09CCF0 7F0681C0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09CCF4 7F0681C4 03E00008 */ jr $ra -/* 09CCF8 7F0681C8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0681CC(void *arg0, s32 arg1, s32 arg2) { - f32 sp18; - s32 sp1C; - f32 sp20; - f32 sp24; - f32 sp28; - f32 sp30; - f32 sp34; - ? temp_ret; - f32 temp_f10; - f32 temp_f16; - ? temp_ret_2; - f32 temp_f8; - f32 temp_f16_2; - f32 phi_f16; - f32 phi_f10; - f32 phi_f16_2; - f32 phi_f8; - - // Node 0 - sp28 = (f32) get_ptr_item_statistics(get_item_in_hand(arg2))->unk30; - if (check_special_attributes(return_ammo_in_hand(arg2), 0x1000) != 0) - { - // Node 1 - if ((pPlayer + (arg2 * 0x3a8))->unkC08 == 0x3e800000) - { - // Node 2 - sp28 = (f32) (sp28 * 0x3e800000); - } - } - // Node 3 - sp24 = (f32) ((120.0f * sp28) / video_related_23()); - sp1C = get_random_value(); - temp_ret = get_random_value(); - temp_f10 = (f32) sp1C; - phi_f10 = temp_f10; - if (sp1C < 0) - { - // Node 4 - phi_f10 = (temp_f10 + 4294967296.0f); - } - // Node 5 - temp_f16 = (f32) temp_ret; - phi_f16 = temp_f16; - if (temp_ret < 0) - { - // Node 6 - phi_f16 = (temp_f16 + 4294967296.0f); - } - // Node 7 - sp20 = (f32) ((phi_f16 * 2.3283064365386963e-10f) * ((phi_f10 * 2.3283064365386963e-10f) - 0.5f)); - sp18 = getPlayer_c_screenwidth(); - sp30 = (f32) (((((sp20 * sp24) * sp18) * D_800543B0) / (getPlayer_c_perspaspect() * 320.0f)) + pPlayer->unkFE8); - sp1C = get_random_value(); - temp_ret_2 = get_random_value(); - temp_f8 = (f32) sp1C; - phi_f8 = temp_f8; - if (sp1C < 0) - { - // Node 8 - phi_f8 = (temp_f8 + 4294967296.0f); - } - // Node 9 - temp_f16_2 = (f32) temp_ret_2; - phi_f16_2 = temp_f16_2; - if (temp_ret_2 < 0) - { - // Node 10 - phi_f16_2 = (temp_f16_2 + 4294967296.0f); - } - // Node 11 - sp20 = (f32) ((phi_f16_2 * 2.3283064365386963e-10f) * ((phi_f8 * 2.3283064365386963e-10f) - 0.5f)); - sp34 = (f32) (((getPlayer_c_screenheight() * (sp20 * sp24)) / 240.0f) + pPlayer->unkFEC); - *arg0 = 0.0f; - arg0->unk4 = 0.0f; - arg0->unk8 = 0.0f; - return sub_GAME_7F077EEC(&sp30, arg1, 0x3f800000); -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800543B0 -.word 0x3faaaaab /*1.3333334*/ -.text -glabel sub_GAME_7F0681CC -/* 09CCFC 7F0681CC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 09CD00 7F0681D0 AFBF0014 */ sw $ra, 0x14($sp) -/* 09CD04 7F0681D4 AFA40038 */ sw $a0, 0x38($sp) -/* 09CD08 7F0681D8 AFA5003C */ sw $a1, 0x3c($sp) -/* 09CD0C 7F0681DC AFA60040 */ sw $a2, 0x40($sp) -/* 09CD10 7F0681E0 0FC17674 */ jal get_item_in_hand -/* 09CD14 7F0681E4 00C02025 */ move $a0, $a2 -/* 09CD18 7F0681E8 0FC1722D */ jal get_ptr_item_statistics -/* 09CD1C 7F0681EC 00402025 */ move $a0, $v0 -/* 09CD20 7F0681F0 C4440030 */ lwc1 $f4, 0x30($v0) -/* 09CD24 7F0681F4 8FA40040 */ lw $a0, 0x40($sp) -/* 09CD28 7F0681F8 0FC17691 */ jal return_ammo_in_hand -/* 09CD2C 7F0681FC E7A40028 */ swc1 $f4, 0x28($sp) -/* 09CD30 7F068200 00402025 */ move $a0, $v0 -/* 09CD34 7F068204 0FC1782D */ jal check_special_attributes -/* 09CD38 7F068208 24051000 */ li $a1, 4096 -/* 09CD3C 7F06820C 10400015 */ beqz $v0, .L7F068264 -/* 09CD40 7F068210 00000000 */ nop -/* 09CD44 7F068214 8FAF0040 */ lw $t7, 0x40($sp) -/* 09CD48 7F068218 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09CD4C 7F06821C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09CD50 7F068220 000FC0C0 */ sll $t8, $t7, 3 -/* 09CD54 7F068224 030FC023 */ subu $t8, $t8, $t7 -/* 09CD58 7F068228 0018C080 */ sll $t8, $t8, 2 -/* 09CD5C 7F06822C 030FC021 */ addu $t8, $t8, $t7 -/* 09CD60 7F068230 0018C080 */ sll $t8, $t8, 2 -/* 09CD64 7F068234 030FC021 */ addu $t8, $t8, $t7 -/* 09CD68 7F068238 0018C0C0 */ sll $t8, $t8, 3 -/* 09CD6C 7F06823C 01D8C821 */ addu $t9, $t6, $t8 -/* 09CD70 7F068240 8F280C08 */ lw $t0, 0xc08($t9) -/* 09CD74 7F068244 24010001 */ li $at, 1 -/* 09CD78 7F068248 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 09CD7C 7F06824C 15010005 */ bne $t0, $at, .L7F068264 -/* 09CD80 7F068250 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 09CD84 7F068254 44814000 */ mtc1 $at, $f8 -/* 09CD88 7F068258 00000000 */ nop -/* 09CD8C 7F06825C 46083282 */ mul.s $f10, $f6, $f8 -/* 09CD90 7F068260 E7AA0028 */ swc1 $f10, 0x28($sp) -.L7F068264: -/* 09CD94 7F068264 0C001177 */ jal video_related_23 -/* 09CD98 7F068268 00000000 */ nop -/* 09CD9C 7F06826C 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 09CDA0 7F068270 44818000 */ mtc1 $at, $f16 -/* 09CDA4 7F068274 C7B20028 */ lwc1 $f18, 0x28($sp) -/* 09CDA8 7F068278 46128102 */ mul.s $f4, $f16, $f18 -/* 09CDAC 7F06827C 46002183 */ div.s $f6, $f4, $f0 -/* 09CDB0 7F068280 0C002914 */ jal get_random_value -/* 09CDB4 7F068284 E7A60024 */ swc1 $f6, 0x24($sp) -/* 09CDB8 7F068288 0C002914 */ jal get_random_value -/* 09CDBC 7F06828C AFA2001C */ sw $v0, 0x1c($sp) -/* 09CDC0 7F068290 8FA9001C */ lw $t1, 0x1c($sp) -/* 09CDC4 7F068294 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09CDC8 7F068298 44810000 */ mtc1 $at, $f0 -/* 09CDCC 7F06829C 44894000 */ mtc1 $t1, $f8 -/* 09CDD0 7F0682A0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09CDD4 7F0682A4 05210004 */ bgez $t1, .L7F0682B8 -/* 09CDD8 7F0682A8 468042A0 */ cvt.s.w $f10, $f8 -/* 09CDDC 7F0682AC 44818000 */ mtc1 $at, $f16 -/* 09CDE0 7F0682B0 00000000 */ nop -/* 09CDE4 7F0682B4 46105280 */ add.s $f10, $f10, $f16 -.L7F0682B8: -/* 09CDE8 7F0682B8 46005482 */ mul.s $f18, $f10, $f0 -/* 09CDEC 7F0682BC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09CDF0 7F0682C0 44812000 */ mtc1 $at, $f4 -/* 09CDF4 7F0682C4 44824000 */ mtc1 $v0, $f8 -/* 09CDF8 7F0682C8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09CDFC 7F0682CC 46804420 */ cvt.s.w $f16, $f8 -/* 09CE00 7F0682D0 04410004 */ bgez $v0, .L7F0682E4 -/* 09CE04 7F0682D4 46049181 */ sub.s $f6, $f18, $f4 -/* 09CE08 7F0682D8 44815000 */ mtc1 $at, $f10 -/* 09CE0C 7F0682DC 00000000 */ nop -/* 09CE10 7F0682E0 460A8400 */ add.s $f16, $f16, $f10 -.L7F0682E4: -/* 09CE14 7F0682E4 46008482 */ mul.s $f18, $f16, $f0 -/* 09CE18 7F0682E8 00000000 */ nop -/* 09CE1C 7F0682EC 46069102 */ mul.s $f4, $f18, $f6 -/* 09CE20 7F0682F0 0FC1E129 */ jal getPlayer_c_screenwidth -/* 09CE24 7F0682F4 E7A40020 */ swc1 $f4, 0x20($sp) -/* 09CE28 7F0682F8 0FC1E13D */ jal getPlayer_c_perspaspect -/* 09CE2C 7F0682FC E7A00018 */ swc1 $f0, 0x18($sp) -/* 09CE30 7F068300 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 09CE34 7F068304 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 09CE38 7F068308 C7B20018 */ lwc1 $f18, 0x18($sp) -/* 09CE3C 7F06830C 3C018005 */ lui $at, %hi(D_800543B0) -/* 09CE40 7F068310 460A4402 */ mul.s $f16, $f8, $f10 -/* 09CE44 7F068314 C42443B0 */ lwc1 $f4, %lo(D_800543B0)($at) -/* 09CE48 7F068318 3C0143A0 */ li $at, 0x43A00000 # 320.000000 -/* 09CE4C 7F06831C 44815000 */ mtc1 $at, $f10 -/* 09CE50 7F068320 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 09CE54 7F068324 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 09CE58 7F068328 46128182 */ mul.s $f6, $f16, $f18 -/* 09CE5C 7F06832C 00000000 */ nop -/* 09CE60 7F068330 46043202 */ mul.s $f8, $f6, $f4 -/* 09CE64 7F068334 C5460FE8 */ lwc1 $f6, 0xfe8($t2) -/* 09CE68 7F068338 460A0402 */ mul.s $f16, $f0, $f10 -/* 09CE6C 7F06833C 46104483 */ div.s $f18, $f8, $f16 -/* 09CE70 7F068340 46069100 */ add.s $f4, $f18, $f6 -/* 09CE74 7F068344 0C002914 */ jal get_random_value -/* 09CE78 7F068348 E7A40030 */ swc1 $f4, 0x30($sp) -/* 09CE7C 7F06834C 0C002914 */ jal get_random_value -/* 09CE80 7F068350 AFA2001C */ sw $v0, 0x1c($sp) -/* 09CE84 7F068354 8FAB001C */ lw $t3, 0x1c($sp) -/* 09CE88 7F068358 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09CE8C 7F06835C 44810000 */ mtc1 $at, $f0 -/* 09CE90 7F068360 448B5000 */ mtc1 $t3, $f10 -/* 09CE94 7F068364 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09CE98 7F068368 05610004 */ bgez $t3, .L7F06837C -/* 09CE9C 7F06836C 46805220 */ cvt.s.w $f8, $f10 -/* 09CEA0 7F068370 44818000 */ mtc1 $at, $f16 -/* 09CEA4 7F068374 00000000 */ nop -/* 09CEA8 7F068378 46104200 */ add.s $f8, $f8, $f16 -.L7F06837C: -/* 09CEAC 7F06837C 46004482 */ mul.s $f18, $f8, $f0 -/* 09CEB0 7F068380 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09CEB4 7F068384 44813000 */ mtc1 $at, $f6 -/* 09CEB8 7F068388 44825000 */ mtc1 $v0, $f10 -/* 09CEBC 7F06838C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09CEC0 7F068390 46805420 */ cvt.s.w $f16, $f10 -/* 09CEC4 7F068394 04410004 */ bgez $v0, .L7F0683A8 -/* 09CEC8 7F068398 46069101 */ sub.s $f4, $f18, $f6 -/* 09CECC 7F06839C 44814000 */ mtc1 $at, $f8 -/* 09CED0 7F0683A0 00000000 */ nop -/* 09CED4 7F0683A4 46088400 */ add.s $f16, $f16, $f8 -.L7F0683A8: -/* 09CED8 7F0683A8 46008482 */ mul.s $f18, $f16, $f0 -/* 09CEDC 7F0683AC 00000000 */ nop -/* 09CEE0 7F0683B0 46049182 */ mul.s $f6, $f18, $f4 -/* 09CEE4 7F0683B4 0FC1E12D */ jal getPlayer_c_screenheight -/* 09CEE8 7F0683B8 E7A60020 */ swc1 $f6, 0x20($sp) -/* 09CEEC 7F0683BC C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 09CEF0 7F0683C0 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 09CEF4 7F0683C4 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 09CEF8 7F0683C8 44812000 */ mtc1 $at, $f4 -/* 09CEFC 7F0683CC 46085402 */ mul.s $f16, $f10, $f8 -/* 09CF00 7F0683D0 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 09CF04 7F0683D4 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 09CF08 7F0683D8 8FA20038 */ lw $v0, 0x38($sp) -/* 09CF0C 7F0683DC 44801000 */ mtc1 $zero, $f2 -/* 09CF10 7F0683E0 C58A0FEC */ lwc1 $f10, 0xfec($t4) -/* 09CF14 7F0683E4 27A40030 */ addiu $a0, $sp, 0x30 -/* 09CF18 7F0683E8 46100482 */ mul.s $f18, $f0, $f16 -/* 09CF1C 7F0683EC 3C063F80 */ lui $a2, 0x3f80 -/* 09CF20 7F0683F0 46049183 */ div.s $f6, $f18, $f4 -/* 09CF24 7F0683F4 460A3200 */ add.s $f8, $f6, $f10 -/* 09CF28 7F0683F8 E7A80034 */ swc1 $f8, 0x34($sp) -/* 09CF2C 7F0683FC E4420000 */ swc1 $f2, ($v0) -/* 09CF30 7F068400 E4420004 */ swc1 $f2, 4($v0) -/* 09CF34 7F068404 E4420008 */ swc1 $f2, 8($v0) -/* 09CF38 7F068408 0FC1DFBB */ jal sub_GAME_7F077EEC -/* 09CF3C 7F06840C 8FA5003C */ lw $a1, 0x3c($sp) -/* 09CF40 7F068410 8FBF0014 */ lw $ra, 0x14($sp) -/* 09CF44 7F068414 27BD0038 */ addiu $sp, $sp, 0x38 -/* 09CF48 7F068418 03E00008 */ jr $ra -/* 09CF4C 7F06841C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -u32 sub_GAME_7F068420(s32 arg0, void *arg1) { - u32 temp_v1; - u32 phi_v1; - u32 phi_v1_2; - - // Node 0 - phi_v1_2 = &dword_CODE_bss_80075DC8; - if (dword_CODE_bss_80075E64 != 0) - { - // Node 1 - phi_v1 = &dword_CODE_bss_80075DC8; - // Node 2 - temp_v1 = (phi_v1 + 0xa0); - phi_v1_2 = temp_v1; - if (temp_v1 < &dword_CODE_bss_80076A48) - { - // Node 3 - phi_v1 = temp_v1; - phi_v1_2 = temp_v1; - if (temp_v1->unk9C != 0) - { - goto loop_2; - } - } - } - // Node 4 - if ((u32) phi_v1_2 < &dword_CODE_bss_80076A48) - { - // Node 5 - phi_v1_2->unk9C = arg0; - phi_v1_2->unk4 = (f32) arg1->unk30; - phi_v1_2->unk8 = (f32) arg1->unk34; - phi_v1_2->unkC = (f32) arg1->unk38; - phi_v1_2->unk1C = (f32) *arg1; - phi_v1_2->unk20 = (f32) arg1->unk4; - phi_v1_2->unk28 = 0.0f; - phi_v1_2->unk24 = (f32) arg1->unk8; - phi_v1_2->unk2C = (f32) arg1->unk10; - phi_v1_2->unk30 = (f32) arg1->unk14; - phi_v1_2->unk38 = 0.0f; - phi_v1_2->unk34 = (f32) arg1->unk18; - phi_v1_2->unk3C = (f32) arg1->unk20; - phi_v1_2->unk40 = (f32) arg1->unk24; - phi_v1_2->unk48 = 0.0f; - phi_v1_2->unk4C = 0.0f; - phi_v1_2->unk50 = 0.0f; - phi_v1_2->unk54 = 0.0f; - phi_v1_2->unk58 = 1.0f; - phi_v1_2->unk44 = (f32) arg1->unk28; - return phi_v1_2; - } - // Node 6 - return 0U; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F068420 -/* 09CF50 7F068420 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80075E64) -/* 09CF54 7F068424 8DCE5E64 */ lw $t6, %lo(dword_CODE_bss_80075E64)($t6) -/* 09CF58 7F068428 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075DC8) -/* 09CF5C 7F06842C 24635DC8 */ addiu $v1, %lo(dword_CODE_bss_80075DC8) # addiu $v1, $v1, 0x5dc8 -/* 09CF60 7F068430 11C00009 */ beqz $t6, .L7F068458 -/* 09CF64 7F068434 3C028007 */ lui $v0, %hi(dword_CODE_bss_80076A48) -/* 09CF68 7F068438 24426A48 */ addiu $v0, %lo(dword_CODE_bss_80076A48) # addiu $v0, $v0, 0x6a48 -/* 09CF6C 7F06843C 246300A0 */ addiu $v1, $v1, 0xa0 -.L7F068440: -/* 09CF70 7F068440 0062082B */ sltu $at, $v1, $v0 -/* 09CF74 7F068444 10200004 */ beqz $at, .L7F068458 -/* 09CF78 7F068448 00000000 */ nop -/* 09CF7C 7F06844C 8C6F009C */ lw $t7, 0x9c($v1) -/* 09CF80 7F068450 55E0FFFB */ bnezl $t7, .L7F068440 -/* 09CF84 7F068454 246300A0 */ addiu $v1, $v1, 0xa0 -.L7F068458: -/* 09CF88 7F068458 3C028007 */ lui $v0, %hi(dword_CODE_bss_80076A48) -/* 09CF8C 7F06845C 24426A48 */ addiu $v0, %lo(dword_CODE_bss_80076A48) # addiu $v0, $v0, 0x6a48 -/* 09CF90 7F068460 0062082B */ sltu $at, $v1, $v0 -/* 09CF94 7F068464 10200026 */ beqz $at, .L7F068500 -/* 09CF98 7F068468 00001025 */ move $v0, $zero -/* 09CF9C 7F06846C AC64009C */ sw $a0, 0x9c($v1) -/* 09CFA0 7F068470 C4A40030 */ lwc1 $f4, 0x30($a1) -/* 09CFA4 7F068474 44800000 */ mtc1 $zero, $f0 -/* 09CFA8 7F068478 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09CFAC 7F06847C E4640004 */ swc1 $f4, 4($v1) -/* 09CFB0 7F068480 C4A60034 */ lwc1 $f6, 0x34($a1) -/* 09CFB4 7F068484 00601025 */ move $v0, $v1 -/* 09CFB8 7F068488 E4660008 */ swc1 $f6, 8($v1) -/* 09CFBC 7F06848C C4A80038 */ lwc1 $f8, 0x38($a1) -/* 09CFC0 7F068490 E468000C */ swc1 $f8, 0xc($v1) -/* 09CFC4 7F068494 C4AA0000 */ lwc1 $f10, ($a1) -/* 09CFC8 7F068498 E46A001C */ swc1 $f10, 0x1c($v1) -/* 09CFCC 7F06849C C4B00004 */ lwc1 $f16, 4($a1) -/* 09CFD0 7F0684A0 E4700020 */ swc1 $f16, 0x20($v1) -/* 09CFD4 7F0684A4 C4B20008 */ lwc1 $f18, 8($a1) -/* 09CFD8 7F0684A8 E4600028 */ swc1 $f0, 0x28($v1) -/* 09CFDC 7F0684AC E4720024 */ swc1 $f18, 0x24($v1) -/* 09CFE0 7F0684B0 C4A40010 */ lwc1 $f4, 0x10($a1) -/* 09CFE4 7F0684B4 E464002C */ swc1 $f4, 0x2c($v1) -/* 09CFE8 7F0684B8 C4A60014 */ lwc1 $f6, 0x14($a1) -/* 09CFEC 7F0684BC 44812000 */ mtc1 $at, $f4 -/* 09CFF0 7F0684C0 E4660030 */ swc1 $f6, 0x30($v1) -/* 09CFF4 7F0684C4 C4A80018 */ lwc1 $f8, 0x18($a1) -/* 09CFF8 7F0684C8 E4600038 */ swc1 $f0, 0x38($v1) -/* 09CFFC 7F0684CC E4680034 */ swc1 $f8, 0x34($v1) -/* 09D000 7F0684D0 C4AA0020 */ lwc1 $f10, 0x20($a1) -/* 09D004 7F0684D4 E46A003C */ swc1 $f10, 0x3c($v1) -/* 09D008 7F0684D8 C4B00024 */ lwc1 $f16, 0x24($a1) -/* 09D00C 7F0684DC E4700040 */ swc1 $f16, 0x40($v1) -/* 09D010 7F0684E0 C4B20028 */ lwc1 $f18, 0x28($a1) -/* 09D014 7F0684E4 E4600048 */ swc1 $f0, 0x48($v1) -/* 09D018 7F0684E8 E460004C */ swc1 $f0, 0x4c($v1) -/* 09D01C 7F0684EC E4600050 */ swc1 $f0, 0x50($v1) -/* 09D020 7F0684F0 E4600054 */ swc1 $f0, 0x54($v1) -/* 09D024 7F0684F4 E4640058 */ swc1 $f4, 0x58($v1) -/* 09D028 7F0684F8 03E00008 */ jr $ra -/* 09D02C 7F0684FC E4720044 */ swc1 $f18, 0x44($v1) - -.L7F068500: -/* 09D030 7F068500 03E00008 */ jr $ra -/* 09D034 7F068504 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F068508(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800543B4 -.word 0x3dccccce /*0.10000001*/ -glabel D_800543B8 -.word 0x3f088888 /*0.5333333*/ -glabel D_800543BC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800543C0 -.word 0x3ec90fdb /*0.39269909*/ -glabel D_800543C4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800543C8 -.word 0x3ec90fdb /*0.39269909*/ -glabel D_800543CC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800543D0 -.word 0x3ec90fdb /*0.39269909*/ -glabel D_800543D4 -.word 0x493d6c30 /*775875.0*/ -glabel expended_shell_initial_gravity_modifier_pistol -.word 0x3e8e38e4 /*0.27777779*/ -glabel D_800543DC -.word 0x3fb55555 /*1.4166666*/ -glabel D_800543E0 -.word 0x3fd55555 /*1.6666666*/ -glabel D_800543E4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800543E8 -.word 0x3ec90fdb /*0.39269909*/ -glabel D_800543EC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800543F0 -.word 0x3ec90fdb /*0.39269909*/ -glabel D_800543F4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800543F8 -.word 0x3ec90fdb /*0.39269909*/ -glabel D_800543FC -.word 0x493d6c30 /*775875.0*/ -glabel expended_shell_initial_gravity_modifier_non_pistol -.word 0x3e8e38e4 /*0.27777779*/ -.text -glabel sub_GAME_7F068508 -/* 09D038 7F068508 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 09D03C 7F06850C AFBF001C */ sw $ra, 0x1c($sp) -/* 09D040 7F068510 AFB00014 */ sw $s0, 0x14($sp) -/* 09D044 7F068514 00808025 */ move $s0, $a0 -/* 09D048 7F068518 AFB10018 */ sw $s1, 0x18($sp) -/* 09D04C 7F06851C 0FC17674 */ jal get_item_in_hand -/* 09D050 7F068520 AFA500C4 */ sw $a1, 0xc4($sp) -/* 09D054 7F068524 AFA20078 */ sw $v0, 0x78($sp) -/* 09D058 7F068528 0FC1722D */ jal get_ptr_item_statistics -/* 09D05C 7F06852C 00402025 */ move $a0, $v0 -/* 09D060 7F068530 8C430028 */ lw $v1, 0x28($v0) -/* 09D064 7F068534 506001F6 */ beql $v1, $zero, .L7F068D10 -/* 09D068 7F068538 8FBF001C */ lw $ra, 0x1c($sp) -/* 09D06C 7F06853C 0FC26919 */ jal get_num_players -/* 09D070 7F068540 AFA30070 */ sw $v1, 0x70($sp) -/* 09D074 7F068544 28410002 */ slti $at, $v0, 2 -/* 09D078 7F068548 102001F0 */ beqz $at, .L7F068D0C -/* 09D07C 7F06854C 3C028008 */ lui $v0, %hi(pPlayer) -/* 09D080 7F068550 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09D084 7F068554 00107140 */ sll $t6, $s0, 5 -/* 09D088 7F068558 001088C0 */ sll $s1, $s0, 3 -/* 09D08C 7F06855C 004E7821 */ addu $t7, $v0, $t6 -/* 09D090 7F068560 8DF80818 */ lw $t8, 0x818($t7) -/* 09D094 7F068564 02308823 */ subu $s1, $s1, $s0 -/* 09D098 7F068568 00118880 */ sll $s1, $s1, 2 -/* 09D09C 7F06856C 8F030000 */ lw $v1, ($t8) -/* 09D0A0 7F068570 02308821 */ addu $s1, $s1, $s0 -/* 09D0A4 7F068574 00118880 */ sll $s1, $s1, 2 -/* 09D0A8 7F068578 1060001F */ beqz $v1, .L7F0685F8 -/* 09D0AC 7F06857C 02308821 */ addu $s1, $s1, $s0 -/* 09D0B0 7F068580 8C620004 */ lw $v0, 4($v1) -/* 09D0B4 7F068584 3C018005 */ lui $at, %hi(D_800543B4) -/* 09D0B8 7F068588 C42043B4 */ lwc1 $f0, %lo(D_800543B4)($at) -/* 09D0BC 7F06858C C4440000 */ lwc1 $f4, ($v0) -/* 09D0C0 7F068590 27A40064 */ addiu $a0, $sp, 0x64 -/* 09D0C4 7F068594 27A5007C */ addiu $a1, $sp, 0x7c -/* 09D0C8 7F068598 46002182 */ mul.s $f6, $f4, $f0 -/* 09D0CC 7F06859C E7A60064 */ swc1 $f6, 0x64($sp) -/* 09D0D0 7F0685A0 C4480004 */ lwc1 $f8, 4($v0) -/* 09D0D4 7F0685A4 46004282 */ mul.s $f10, $f8, $f0 -/* 09D0D8 7F0685A8 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 09D0DC 7F0685AC C4520008 */ lwc1 $f18, 8($v0) -/* 09D0E0 7F0685B0 46009102 */ mul.s $f4, $f18, $f0 -/* 09D0E4 7F0685B4 0FC16259 */ jal init_something_copy_posdata_to_it -/* 09D0E8 7F0685B8 E7A4006C */ swc1 $f4, 0x6c($sp) -/* 09D0EC 7F0685BC 001088C0 */ sll $s1, $s0, 3 -/* 09D0F0 7F0685C0 02308823 */ subu $s1, $s1, $s0 -/* 09D0F4 7F0685C4 00118880 */ sll $s1, $s1, 2 -/* 09D0F8 7F0685C8 02308821 */ addu $s1, $s1, $s0 -/* 09D0FC 7F0685CC 3C198008 */ lui $t9, %hi(pPlayer) -/* 09D100 7F0685D0 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 09D104 7F0685D4 00118880 */ sll $s1, $s1, 2 -/* 09D108 7F0685D8 02308821 */ addu $s1, $s1, $s0 -/* 09D10C 7F0685DC 001188C0 */ sll $s1, $s1, 3 -/* 09D110 7F0685E0 03312021 */ addu $a0, $t9, $s1 -/* 09D114 7F0685E4 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 09D118 7F0685E8 0FC1601A */ jal sub_GAME_7F058068 -/* 09D11C 7F0685EC 27A5007C */ addiu $a1, $sp, 0x7c -/* 09D120 7F0685F0 10000007 */ b .L7F068610 -/* 09D124 7F0685F4 8FA40070 */ lw $a0, 0x70($sp) -.L7F0685F8: -/* 09D128 7F0685F8 001188C0 */ sll $s1, $s1, 3 -/* 09D12C 7F0685FC 00512021 */ addu $a0, $v0, $s1 -/* 09D130 7F068600 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 09D134 7F068604 0FC16008 */ jal sub_GAME_7F058020 -/* 09D138 7F068608 27A5007C */ addiu $a1, $sp, 0x7c -/* 09D13C 7F06860C 8FA40070 */ lw $a0, 0x70($sp) -.L7F068610: -/* 09D140 7F068610 0FC1A108 */ jal sub_GAME_7F068420 -/* 09D144 7F068614 27A5007C */ addiu $a1, $sp, 0x7c -/* 09D148 7F068618 104001BC */ beqz $v0, .L7F068D0C -/* 09D14C 7F06861C 00408025 */ move $s0, $v0 -/* 09D150 7F068620 3C098003 */ lui $t1, %hi(D_80035EA4) -/* 09D154 7F068624 25295EA4 */ addiu $t1, %lo(D_80035EA4) # addiu $t1, $t1, 0x5ea4 -/* 09D158 7F068628 8D210000 */ lw $at, ($t1) -/* 09D15C 7F06862C 8FA30078 */ lw $v1, 0x78($sp) -/* 09D160 7F068630 27A80054 */ addiu $t0, $sp, 0x54 -/* 09D164 7F068634 AD010000 */ sw $at, ($t0) -/* 09D168 7F068638 8D210008 */ lw $at, 8($t1) -/* 09D16C 7F06863C 8D2B0004 */ lw $t3, 4($t1) -/* 09D170 7F068640 AD010008 */ sw $at, 8($t0) -/* 09D174 7F068644 AD0B0004 */ sw $t3, 4($t0) -/* 09D178 7F068648 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 09D17C 7F06864C 24010004 */ li $at, 4 -/* 09D180 7F068650 1061000A */ beq $v1, $at, .L7F06867C -/* 09D184 7F068654 E4460000 */ swc1 $f6, ($v0) -/* 09D188 7F068658 24010005 */ li $at, 5 -/* 09D18C 7F06865C 10610007 */ beq $v1, $at, .L7F06867C -/* 09D190 7F068660 24010006 */ li $at, 6 -/* 09D194 7F068664 10610005 */ beq $v1, $at, .L7F06867C -/* 09D198 7F068668 24010014 */ li $at, 20 -/* 09D19C 7F06866C 10610003 */ beq $v1, $at, .L7F06867C -/* 09D1A0 7F068670 24010015 */ li $at, 21 -/* 09D1A4 7F068674 146100D3 */ bne $v1, $at, .L7F0689C4 -/* 09D1A8 7F068678 00000000 */ nop -.L7F06867C: -/* 09D1AC 7F06867C 0C002914 */ jal get_random_value -/* 09D1B0 7F068680 00000000 */ nop -/* 09D1B4 7F068684 44824000 */ mtc1 $v0, $f8 -/* 09D1B8 7F068688 3C018005 */ lui $at, %hi(D_800543B8) -/* 09D1BC 7F06868C C42043B8 */ lwc1 $f0, %lo(D_800543B8)($at) -/* 09D1C0 7F068690 04410005 */ bgez $v0, .L7F0686A8 -/* 09D1C4 7F068694 468042A0 */ cvt.s.w $f10, $f8 -/* 09D1C8 7F068698 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D1CC 7F06869C 44819000 */ mtc1 $at, $f18 -/* 09D1D0 7F0686A0 00000000 */ nop -/* 09D1D4 7F0686A4 46125280 */ add.s $f10, $f10, $f18 -.L7F0686A8: -/* 09D1D8 7F0686A8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D1DC 7F0686AC 44812000 */ mtc1 $at, $f4 -/* 09D1E0 7F0686B0 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 09D1E4 7F0686B4 44819000 */ mtc1 $at, $f18 -/* 09D1E8 7F0686B8 46045182 */ mul.s $f6, $f10, $f4 -/* 09D1EC 7F0686BC 00000000 */ nop -/* 09D1F0 7F0686C0 46003202 */ mul.s $f8, $f6, $f0 -/* 09D1F4 7F0686C4 00000000 */ nop -/* 09D1F8 7F0686C8 46124282 */ mul.s $f10, $f8, $f18 -/* 09D1FC 7F0686CC 46005100 */ add.s $f4, $f10, $f0 -/* 09D200 7F0686D0 46002187 */ neg.s $f6, $f4 -/* 09D204 7F0686D4 0C002914 */ jal get_random_value -/* 09D208 7F0686D8 E6060010 */ swc1 $f6, 0x10($s0) -/* 09D20C 7F0686DC 44824000 */ mtc1 $v0, $f8 -/* 09D210 7F0686E0 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 09D214 7F0686E4 44810000 */ mtc1 $at, $f0 -/* 09D218 7F0686E8 04410005 */ bgez $v0, .L7F068700 -/* 09D21C 7F0686EC 468044A0 */ cvt.s.w $f18, $f8 -/* 09D220 7F0686F0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D224 7F0686F4 44815000 */ mtc1 $at, $f10 -/* 09D228 7F0686F8 00000000 */ nop -/* 09D22C 7F0686FC 460A9480 */ add.s $f18, $f18, $f10 -.L7F068700: -/* 09D230 7F068700 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D234 7F068704 44812000 */ mtc1 $at, $f4 -/* 09D238 7F068708 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 09D23C 7F06870C 44815000 */ mtc1 $at, $f10 -/* 09D240 7F068710 46049182 */ mul.s $f6, $f18, $f4 -/* 09D244 7F068714 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 09D248 7F068718 26050010 */ addiu $a1, $s0, 0x10 -/* 09D24C 7F06871C 46003202 */ mul.s $f8, $f6, $f0 -/* 09D250 7F068720 44803000 */ mtc1 $zero, $f6 -/* 09D254 7F068724 00000000 */ nop -/* 09D258 7F068728 E6060018 */ swc1 $f6, 0x18($s0) -/* 09D25C 7F06872C 460A4482 */ mul.s $f18, $f8, $f10 -/* 09D260 7F068730 46009100 */ add.s $f4, $f18, $f0 -/* 09D264 7F068734 E6040014 */ swc1 $f4, 0x14($s0) -/* 09D268 7F068738 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 09D26C 7F06873C 01912021 */ addu $a0, $t4, $s1 -/* 09D270 7F068740 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 09D274 7F068744 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 09D278 7F068748 0C002914 */ jal get_random_value -/* 09D27C 7F06874C 00000000 */ nop -/* 09D280 7F068750 44824000 */ mtc1 $v0, $f8 -/* 09D284 7F068754 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D288 7F068758 04410004 */ bgez $v0, .L7F06876C -/* 09D28C 7F06875C 468042A0 */ cvt.s.w $f10, $f8 -/* 09D290 7F068760 44819000 */ mtc1 $at, $f18 -/* 09D294 7F068764 00000000 */ nop -/* 09D298 7F068768 46125280 */ add.s $f10, $f10, $f18 -.L7F06876C: -/* 09D29C 7F06876C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D2A0 7F068770 44812000 */ mtc1 $at, $f4 -/* 09D2A4 7F068774 3C018005 */ lui $at, %hi(D_800543BC) -/* 09D2A8 7F068778 C42843BC */ lwc1 $f8, %lo(D_800543BC)($at) -/* 09D2AC 7F06877C 46045002 */ mul.s $f0, $f10, $f4 -/* 09D2B0 7F068780 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 09D2B4 7F068784 44815000 */ mtc1 $at, $f10 -/* 09D2B8 7F068788 3C018005 */ lui $at, %hi(D_800543C0) -/* 09D2BC 7F06878C 46000180 */ add.s $f6, $f0, $f0 -/* 09D2C0 7F068790 46083482 */ mul.s $f18, $f6, $f8 -/* 09D2C4 7F068794 C42643C0 */ lwc1 $f6, %lo(D_800543C0)($at) -/* 09D2C8 7F068798 460A9102 */ mul.s $f4, $f18, $f10 -/* 09D2CC 7F06879C 46062201 */ sub.s $f8, $f4, $f6 -/* 09D2D0 7F0687A0 0C002914 */ jal get_random_value -/* 09D2D4 7F0687A4 E7A80054 */ swc1 $f8, 0x54($sp) -/* 09D2D8 7F0687A8 44829000 */ mtc1 $v0, $f18 -/* 09D2DC 7F0687AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D2E0 7F0687B0 04410004 */ bgez $v0, .L7F0687C4 -/* 09D2E4 7F0687B4 468092A0 */ cvt.s.w $f10, $f18 -/* 09D2E8 7F0687B8 44812000 */ mtc1 $at, $f4 -/* 09D2EC 7F0687BC 00000000 */ nop -/* 09D2F0 7F0687C0 46045280 */ add.s $f10, $f10, $f4 -.L7F0687C4: -/* 09D2F4 7F0687C4 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D2F8 7F0687C8 44813000 */ mtc1 $at, $f6 -/* 09D2FC 7F0687CC 3C018005 */ lui $at, %hi(D_800543C4) -/* 09D300 7F0687D0 C43243C4 */ lwc1 $f18, %lo(D_800543C4)($at) -/* 09D304 7F0687D4 46065002 */ mul.s $f0, $f10, $f6 -/* 09D308 7F0687D8 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 09D30C 7F0687DC 44815000 */ mtc1 $at, $f10 -/* 09D310 7F0687E0 3C018005 */ lui $at, %hi(D_800543C8) -/* 09D314 7F0687E4 46000200 */ add.s $f8, $f0, $f0 -/* 09D318 7F0687E8 46124102 */ mul.s $f4, $f8, $f18 -/* 09D31C 7F0687EC C42843C8 */ lwc1 $f8, %lo(D_800543C8)($at) -/* 09D320 7F0687F0 460A2182 */ mul.s $f6, $f4, $f10 -/* 09D324 7F0687F4 46083481 */ sub.s $f18, $f6, $f8 -/* 09D328 7F0687F8 0C002914 */ jal get_random_value -/* 09D32C 7F0687FC E7B20058 */ swc1 $f18, 0x58($sp) -/* 09D330 7F068800 44822000 */ mtc1 $v0, $f4 -/* 09D334 7F068804 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D338 7F068808 04410004 */ bgez $v0, .L7F06881C -/* 09D33C 7F06880C 468022A0 */ cvt.s.w $f10, $f4 -/* 09D340 7F068810 44813000 */ mtc1 $at, $f6 -/* 09D344 7F068814 00000000 */ nop -/* 09D348 7F068818 46065280 */ add.s $f10, $f10, $f6 -.L7F06881C: -/* 09D34C 7F06881C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D350 7F068820 44814000 */ mtc1 $at, $f8 -/* 09D354 7F068824 3C018005 */ lui $at, %hi(D_800543CC) -/* 09D358 7F068828 C42443CC */ lwc1 $f4, %lo(D_800543CC)($at) -/* 09D35C 7F06882C 46085002 */ mul.s $f0, $f10, $f8 -/* 09D360 7F068830 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 09D364 7F068834 44815000 */ mtc1 $at, $f10 -/* 09D368 7F068838 3C018005 */ lui $at, %hi(D_800543D0) -/* 09D36C 7F06883C 27A40054 */ addiu $a0, $sp, 0x54 -/* 09D370 7F068840 2605005C */ addiu $a1, $s0, 0x5c -/* 09D374 7F068844 46000480 */ add.s $f18, $f0, $f0 -/* 09D378 7F068848 46049182 */ mul.s $f6, $f18, $f4 -/* 09D37C 7F06884C C43243D0 */ lwc1 $f18, %lo(D_800543D0)($at) -/* 09D380 7F068850 460A3202 */ mul.s $f8, $f6, $f10 -/* 09D384 7F068854 46124101 */ sub.s $f4, $f8, $f18 -/* 09D388 7F068858 0FC161C5 */ jal sub_GAME_7F058714 -/* 09D38C 7F06885C E7A4005C */ swc1 $f4, 0x5c($sp) -/* 09D390 7F068860 0C002914 */ jal get_random_value -/* 09D394 7F068864 00000000 */ nop -/* 09D398 7F068868 3C030015 */ lui $v1, (0x00158679 >> 16) # lui $v1, 0x15 -/* 09D39C 7F06886C 34638679 */ ori $v1, (0x00158679 & 0xFFFF) # ori $v1, $v1, 0x8679 -/* 09D3A0 7F068870 00026E02 */ srl $t5, $v0, 0x18 -/* 09D3A4 7F068874 01A30019 */ multu $t5, $v1 -/* 09D3A8 7F068878 00007012 */ mflo $t6 -/* 09D3AC 7F06887C 000E7A83 */ sra $t7, $t6, 0xa -/* 09D3B0 7F068880 01E3C021 */ addu $t8, $t7, $v1 -/* 09D3B4 7F068884 0C002914 */ jal get_random_value -/* 09D3B8 7F068888 AFB8004C */ sw $t8, 0x4c($sp) -/* 09D3BC 7F06888C 8FB9004C */ lw $t9, 0x4c($sp) -/* 09D3C0 7F068890 C60C0014 */ lwc1 $f12, 0x14($s0) -/* 09D3C4 7F068894 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D3C8 7F068898 0059001B */ divu $zero, $v0, $t9 -/* 09D3CC 7F06889C 00005010 */ mfhi $t2 -/* 09D3D0 7F0688A0 448A3000 */ mtc1 $t2, $f6 -/* 09D3D4 7F0688A4 17200002 */ bnez $t9, .L7F0688B0 -/* 09D3D8 7F0688A8 00000000 */ nop -/* 09D3DC 7F0688AC 0007000D */ break 7 -.L7F0688B0: -/* 09D3E0 7F0688B0 3C048008 */ lui $a0, %hi(pPlayer) -/* 09D3E4 7F0688B4 05410004 */ bgez $t2, .L7F0688C8 -/* 09D3E8 7F0688B8 468032A0 */ cvt.s.w $f10, $f6 -/* 09D3EC 7F0688BC 44814000 */ mtc1 $at, $f8 -/* 09D3F0 7F0688C0 00000000 */ nop -/* 09D3F4 7F0688C4 46085280 */ add.s $f10, $f10, $f8 -.L7F0688C8: -/* 09D3F8 7F0688C8 3C018005 */ lui $at, %hi(D_800543D4) -/* 09D3FC 7F0688CC C43243D4 */ lwc1 $f18, %lo(D_800543D4)($at) -/* 09D400 7F0688D0 3C018005 */ lui $at, %hi(expended_shell_initial_gravity_modifier_pistol) -/* 09D404 7F0688D4 C42443D8 */ lwc1 $f4, %lo(expended_shell_initial_gravity_modifier_pistol)($at) -/* 09D408 7F0688D8 46125003 */ div.s $f0, $f10, $f18 -/* 09D40C 7F0688DC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09D410 7F0688E0 44819000 */ mtc1 $at, $f18 -/* 09D414 7F0688E4 C60E0010 */ lwc1 $f14, 0x10($s0) -/* 09D418 7F0688E8 C6100018 */ lwc1 $f16, 0x18($s0) -/* 09D41C 7F0688EC 3C088005 */ lui $t0, %hi(clock_timer) -/* 09D420 7F0688F0 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 09D424 7F0688F4 46040182 */ mul.s $f6, $f0, $f4 -/* 09D428 7F0688F8 46066081 */ sub.s $f2, $f12, $f6 -/* 09D42C 7F0688FC C6060008 */ lwc1 $f6, 8($s0) -/* 09D430 7F068900 46026200 */ add.s $f8, $f12, $f2 -/* 09D434 7F068904 E6020014 */ swc1 $f2, 0x14($s0) -/* 09D438 7F068908 46080282 */ mul.s $f10, $f0, $f8 -/* 09D43C 7F06890C 00000000 */ nop -/* 09D440 7F068910 46125102 */ mul.s $f4, $f10, $f18 -/* 09D444 7F068914 C60A0004 */ lwc1 $f10, 4($s0) -/* 09D448 7F068918 460E0482 */ mul.s $f18, $f0, $f14 -/* 09D44C 7F06891C 46043200 */ add.s $f8, $f6, $f4 -/* 09D450 7F068920 C604000C */ lwc1 $f4, 0xc($s0) -/* 09D454 7F068924 46125180 */ add.s $f6, $f10, $f18 -/* 09D458 7F068928 E6080008 */ swc1 $f8, 8($s0) -/* 09D45C 7F06892C 46100202 */ mul.s $f8, $f0, $f16 -/* 09D460 7F068930 E6060004 */ swc1 $f6, 4($s0) -/* 09D464 7F068934 46082280 */ add.s $f10, $f4, $f8 -/* 09D468 7F068938 E60A000C */ swc1 $f10, 0xc($s0) -/* 09D46C 7F06893C 8D088374 */ lw $t0, %lo(clock_timer)($t0) -/* 09D470 7F068940 190000F2 */ blez $t0, .L7F068D0C -/* 09D474 7F068944 00000000 */ nop -/* 09D478 7F068948 8C890000 */ lw $t1, ($a0) -/* 09D47C 7F06894C 3C038005 */ lui $v1, %hi(global_timer_delta) -/* 09D480 7F068950 24638378 */ addiu $v1, %lo(global_timer_delta) # addiu $v1, $v1, -0x7c88 -/* 09D484 7F068954 01311021 */ addu $v0, $t1, $s1 -/* 09D488 7F068958 C4520B08 */ lwc1 $f18, 0xb08($v0) -/* 09D48C 7F06895C C4460B48 */ lwc1 $f6, 0xb48($v0) -/* 09D490 7F068960 C4680000 */ lwc1 $f8, ($v1) -/* 09D494 7F068964 46069101 */ sub.s $f4, $f18, $f6 -/* 09D498 7F068968 46082283 */ div.s $f10, $f4, $f8 -/* 09D49C 7F06896C 460A7480 */ add.s $f18, $f14, $f10 -/* 09D4A0 7F068970 E6120010 */ swc1 $f18, 0x10($s0) -/* 09D4A4 7F068974 8C8B0000 */ lw $t3, ($a0) -/* 09D4A8 7F068978 C46A0000 */ lwc1 $f10, ($v1) -/* 09D4AC 7F06897C 01711021 */ addu $v0, $t3, $s1 -/* 09D4B0 7F068980 C4460B0C */ lwc1 $f6, 0xb0c($v0) -/* 09D4B4 7F068984 C4440B4C */ lwc1 $f4, 0xb4c($v0) -/* 09D4B8 7F068988 46043201 */ sub.s $f8, $f6, $f4 -/* 09D4BC 7F06898C C6060014 */ lwc1 $f6, 0x14($s0) -/* 09D4C0 7F068990 460A4483 */ div.s $f18, $f8, $f10 -/* 09D4C4 7F068994 46123100 */ add.s $f4, $f6, $f18 -/* 09D4C8 7F068998 E6040014 */ swc1 $f4, 0x14($s0) -/* 09D4CC 7F06899C 8C8C0000 */ lw $t4, ($a0) -/* 09D4D0 7F0689A0 C4720000 */ lwc1 $f18, ($v1) -/* 09D4D4 7F0689A4 01911021 */ addu $v0, $t4, $s1 -/* 09D4D8 7F0689A8 C4480B10 */ lwc1 $f8, 0xb10($v0) -/* 09D4DC 7F0689AC C44A0B50 */ lwc1 $f10, 0xb50($v0) -/* 09D4E0 7F0689B0 460A4181 */ sub.s $f6, $f8, $f10 -/* 09D4E4 7F0689B4 46123103 */ div.s $f4, $f6, $f18 -/* 09D4E8 7F0689B8 46048200 */ add.s $f8, $f16, $f4 -/* 09D4EC 7F0689BC 100000D3 */ b .L7F068D0C -/* 09D4F0 7F0689C0 E6080018 */ swc1 $f8, 0x18($s0) -.L7F0689C4: -/* 09D4F4 7F0689C4 0C002914 */ jal get_random_value -/* 09D4F8 7F0689C8 00000000 */ nop -/* 09D4FC 7F0689CC 44825000 */ mtc1 $v0, $f10 -/* 09D500 7F0689D0 3C018005 */ lui $at, %hi(D_800543DC) -/* 09D504 7F0689D4 C42043DC */ lwc1 $f0, %lo(D_800543DC)($at) -/* 09D508 7F0689D8 04410005 */ bgez $v0, .L7F0689F0 -/* 09D50C 7F0689DC 468051A0 */ cvt.s.w $f6, $f10 -/* 09D510 7F0689E0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D514 7F0689E4 44819000 */ mtc1 $at, $f18 -/* 09D518 7F0689E8 00000000 */ nop -/* 09D51C 7F0689EC 46123180 */ add.s $f6, $f6, $f18 -.L7F0689F0: -/* 09D520 7F0689F0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D524 7F0689F4 44812000 */ mtc1 $at, $f4 -/* 09D528 7F0689F8 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 09D52C 7F0689FC 44819000 */ mtc1 $at, $f18 -/* 09D530 7F068A00 46043202 */ mul.s $f8, $f6, $f4 -/* 09D534 7F068A04 00000000 */ nop -/* 09D538 7F068A08 46004282 */ mul.s $f10, $f8, $f0 -/* 09D53C 7F068A0C 00000000 */ nop -/* 09D540 7F068A10 46125182 */ mul.s $f6, $f10, $f18 -/* 09D544 7F068A14 46003100 */ add.s $f4, $f6, $f0 -/* 09D548 7F068A18 46002207 */ neg.s $f8, $f4 -/* 09D54C 7F068A1C 0C002914 */ jal get_random_value -/* 09D550 7F068A20 E6080010 */ swc1 $f8, 0x10($s0) -/* 09D554 7F068A24 44825000 */ mtc1 $v0, $f10 -/* 09D558 7F068A28 3C018005 */ lui $at, %hi(D_800543E0) -/* 09D55C 7F068A2C C42043E0 */ lwc1 $f0, %lo(D_800543E0)($at) -/* 09D560 7F068A30 04410005 */ bgez $v0, .L7F068A48 -/* 09D564 7F068A34 468054A0 */ cvt.s.w $f18, $f10 -/* 09D568 7F068A38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D56C 7F068A3C 44813000 */ mtc1 $at, $f6 -/* 09D570 7F068A40 00000000 */ nop -/* 09D574 7F068A44 46069480 */ add.s $f18, $f18, $f6 -.L7F068A48: -/* 09D578 7F068A48 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D57C 7F068A4C 44812000 */ mtc1 $at, $f4 -/* 09D580 7F068A50 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 09D584 7F068A54 44813000 */ mtc1 $at, $f6 -/* 09D588 7F068A58 46049202 */ mul.s $f8, $f18, $f4 -/* 09D58C 7F068A5C 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 09D590 7F068A60 26050010 */ addiu $a1, $s0, 0x10 -/* 09D594 7F068A64 46004282 */ mul.s $f10, $f8, $f0 -/* 09D598 7F068A68 44804000 */ mtc1 $zero, $f8 -/* 09D59C 7F068A6C 00000000 */ nop -/* 09D5A0 7F068A70 E6080018 */ swc1 $f8, 0x18($s0) -/* 09D5A4 7F068A74 46065482 */ mul.s $f18, $f10, $f6 -/* 09D5A8 7F068A78 46009100 */ add.s $f4, $f18, $f0 -/* 09D5AC 7F068A7C E6040014 */ swc1 $f4, 0x14($s0) -/* 09D5B0 7F068A80 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 09D5B4 7F068A84 01B12021 */ addu $a0, $t5, $s1 -/* 09D5B8 7F068A88 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 09D5BC 7F068A8C 24840AD8 */ addiu $a0, $a0, 0xad8 -/* 09D5C0 7F068A90 0C002914 */ jal get_random_value -/* 09D5C4 7F068A94 00000000 */ nop -/* 09D5C8 7F068A98 44825000 */ mtc1 $v0, $f10 -/* 09D5CC 7F068A9C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D5D0 7F068AA0 04410004 */ bgez $v0, .L7F068AB4 -/* 09D5D4 7F068AA4 468051A0 */ cvt.s.w $f6, $f10 -/* 09D5D8 7F068AA8 44819000 */ mtc1 $at, $f18 -/* 09D5DC 7F068AAC 00000000 */ nop -/* 09D5E0 7F068AB0 46123180 */ add.s $f6, $f6, $f18 -.L7F068AB4: -/* 09D5E4 7F068AB4 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D5E8 7F068AB8 44812000 */ mtc1 $at, $f4 -/* 09D5EC 7F068ABC 3C018005 */ lui $at, %hi(D_800543E4) -/* 09D5F0 7F068AC0 C42A43E4 */ lwc1 $f10, %lo(D_800543E4)($at) -/* 09D5F4 7F068AC4 46043002 */ mul.s $f0, $f6, $f4 -/* 09D5F8 7F068AC8 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 09D5FC 7F068ACC 44813000 */ mtc1 $at, $f6 -/* 09D600 7F068AD0 3C018005 */ lui $at, %hi(D_800543E8) -/* 09D604 7F068AD4 46000200 */ add.s $f8, $f0, $f0 -/* 09D608 7F068AD8 460A4482 */ mul.s $f18, $f8, $f10 -/* 09D60C 7F068ADC C42843E8 */ lwc1 $f8, %lo(D_800543E8)($at) -/* 09D610 7F068AE0 46069102 */ mul.s $f4, $f18, $f6 -/* 09D614 7F068AE4 46082281 */ sub.s $f10, $f4, $f8 -/* 09D618 7F068AE8 0C002914 */ jal get_random_value -/* 09D61C 7F068AEC E7AA0054 */ swc1 $f10, 0x54($sp) -/* 09D620 7F068AF0 44829000 */ mtc1 $v0, $f18 -/* 09D624 7F068AF4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D628 7F068AF8 04410004 */ bgez $v0, .L7F068B0C -/* 09D62C 7F068AFC 468091A0 */ cvt.s.w $f6, $f18 -/* 09D630 7F068B00 44812000 */ mtc1 $at, $f4 -/* 09D634 7F068B04 00000000 */ nop -/* 09D638 7F068B08 46043180 */ add.s $f6, $f6, $f4 -.L7F068B0C: -/* 09D63C 7F068B0C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D640 7F068B10 44814000 */ mtc1 $at, $f8 -/* 09D644 7F068B14 3C018005 */ lui $at, %hi(D_800543EC) -/* 09D648 7F068B18 C43243EC */ lwc1 $f18, %lo(D_800543EC)($at) -/* 09D64C 7F068B1C 46083002 */ mul.s $f0, $f6, $f8 -/* 09D650 7F068B20 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 09D654 7F068B24 44813000 */ mtc1 $at, $f6 -/* 09D658 7F068B28 3C018005 */ lui $at, %hi(D_800543F0) -/* 09D65C 7F068B2C 46000280 */ add.s $f10, $f0, $f0 -/* 09D660 7F068B30 46125102 */ mul.s $f4, $f10, $f18 -/* 09D664 7F068B34 C42A43F0 */ lwc1 $f10, %lo(D_800543F0)($at) -/* 09D668 7F068B38 46062202 */ mul.s $f8, $f4, $f6 -/* 09D66C 7F068B3C 460A4481 */ sub.s $f18, $f8, $f10 -/* 09D670 7F068B40 0C002914 */ jal get_random_value -/* 09D674 7F068B44 E7B20058 */ swc1 $f18, 0x58($sp) -/* 09D678 7F068B48 44822000 */ mtc1 $v0, $f4 -/* 09D67C 7F068B4C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D680 7F068B50 04410004 */ bgez $v0, .L7F068B64 -/* 09D684 7F068B54 468021A0 */ cvt.s.w $f6, $f4 -/* 09D688 7F068B58 44814000 */ mtc1 $at, $f8 -/* 09D68C 7F068B5C 00000000 */ nop -/* 09D690 7F068B60 46083180 */ add.s $f6, $f6, $f8 -.L7F068B64: -/* 09D694 7F068B64 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 09D698 7F068B68 44815000 */ mtc1 $at, $f10 -/* 09D69C 7F068B6C 3C018005 */ lui $at, %hi(D_800543F4) -/* 09D6A0 7F068B70 C42443F4 */ lwc1 $f4, %lo(D_800543F4)($at) -/* 09D6A4 7F068B74 460A3002 */ mul.s $f0, $f6, $f10 -/* 09D6A8 7F068B78 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 09D6AC 7F068B7C 44813000 */ mtc1 $at, $f6 -/* 09D6B0 7F068B80 3C018005 */ lui $at, %hi(D_800543F8) -/* 09D6B4 7F068B84 27A40054 */ addiu $a0, $sp, 0x54 -/* 09D6B8 7F068B88 2605005C */ addiu $a1, $s0, 0x5c -/* 09D6BC 7F068B8C 46000480 */ add.s $f18, $f0, $f0 -/* 09D6C0 7F068B90 46049202 */ mul.s $f8, $f18, $f4 -/* 09D6C4 7F068B94 C43243F8 */ lwc1 $f18, %lo(D_800543F8)($at) -/* 09D6C8 7F068B98 46064282 */ mul.s $f10, $f8, $f6 -/* 09D6CC 7F068B9C 46125101 */ sub.s $f4, $f10, $f18 -/* 09D6D0 7F068BA0 0FC161C5 */ jal sub_GAME_7F058714 -/* 09D6D4 7F068BA4 E7A4005C */ swc1 $f4, 0x5c($sp) -/* 09D6D8 7F068BA8 0C002914 */ jal get_random_value -/* 09D6DC 7F068BAC 00000000 */ nop -/* 09D6E0 7F068BB0 3C030015 */ lui $v1, (0x00158679 >> 16) # lui $v1, 0x15 -/* 09D6E4 7F068BB4 34638679 */ ori $v1, (0x00158679 & 0xFFFF) # ori $v1, $v1, 0x8679 -/* 09D6E8 7F068BB8 00027602 */ srl $t6, $v0, 0x18 -/* 09D6EC 7F068BBC 01C30019 */ multu $t6, $v1 -/* 09D6F0 7F068BC0 00007812 */ mflo $t7 -/* 09D6F4 7F068BC4 000FC283 */ sra $t8, $t7, 0xa -/* 09D6F8 7F068BC8 0303C821 */ addu $t9, $t8, $v1 -/* 09D6FC 7F068BCC 0C002914 */ jal get_random_value -/* 09D700 7F068BD0 AFB9003C */ sw $t9, 0x3c($sp) -/* 09D704 7F068BD4 8FAA003C */ lw $t2, 0x3c($sp) -/* 09D708 7F068BD8 C60C0014 */ lwc1 $f12, 0x14($s0) -/* 09D70C 7F068BDC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09D710 7F068BE0 004A001B */ divu $zero, $v0, $t2 -/* 09D714 7F068BE4 00004010 */ mfhi $t0 -/* 09D718 7F068BE8 44884000 */ mtc1 $t0, $f8 -/* 09D71C 7F068BEC 15400002 */ bnez $t2, .L7F068BF8 -/* 09D720 7F068BF0 00000000 */ nop -/* 09D724 7F068BF4 0007000D */ break 7 -.L7F068BF8: -/* 09D728 7F068BF8 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 09D72C 7F068BFC 05010004 */ bgez $t0, .L7F068C10 -/* 09D730 7F068C00 468041A0 */ cvt.s.w $f6, $f8 -/* 09D734 7F068C04 44815000 */ mtc1 $at, $f10 -/* 09D738 7F068C08 00000000 */ nop -/* 09D73C 7F068C0C 460A3180 */ add.s $f6, $f6, $f10 -.L7F068C10: -/* 09D740 7F068C10 3C018005 */ lui $at, %hi(D_800543FC) -/* 09D744 7F068C14 C43243FC */ lwc1 $f18, %lo(D_800543FC)($at) -/* 09D748 7F068C18 3C018005 */ lui $at, %hi(expended_shell_initial_gravity_modifier_non_pistol) -/* 09D74C 7F068C1C C4244400 */ lwc1 $f4, %lo(expended_shell_initial_gravity_modifier_non_pistol)($at) -/* 09D750 7F068C20 46123003 */ div.s $f0, $f6, $f18 -/* 09D754 7F068C24 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09D758 7F068C28 44819000 */ mtc1 $at, $f18 -/* 09D75C 7F068C2C C60E0010 */ lwc1 $f14, 0x10($s0) -/* 09D760 7F068C30 C6100018 */ lwc1 $f16, 0x18($s0) -/* 09D764 7F068C34 3C098005 */ lui $t1, %hi(clock_timer) -/* 09D768 7F068C38 46040202 */ mul.s $f8, $f0, $f4 -/* 09D76C 7F068C3C 46086081 */ sub.s $f2, $f12, $f8 -/* 09D770 7F068C40 C6080008 */ lwc1 $f8, 8($s0) -/* 09D774 7F068C44 46026280 */ add.s $f10, $f12, $f2 -/* 09D778 7F068C48 E6020014 */ swc1 $f2, 0x14($s0) -/* 09D77C 7F068C4C 460A0182 */ mul.s $f6, $f0, $f10 -/* 09D780 7F068C50 00000000 */ nop -/* 09D784 7F068C54 46123102 */ mul.s $f4, $f6, $f18 -/* 09D788 7F068C58 C6060004 */ lwc1 $f6, 4($s0) -/* 09D78C 7F068C5C 460E0482 */ mul.s $f18, $f0, $f14 -/* 09D790 7F068C60 46044280 */ add.s $f10, $f8, $f4 -/* 09D794 7F068C64 C604000C */ lwc1 $f4, 0xc($s0) -/* 09D798 7F068C68 46123200 */ add.s $f8, $f6, $f18 -/* 09D79C 7F068C6C E60A0008 */ swc1 $f10, 8($s0) -/* 09D7A0 7F068C70 46100282 */ mul.s $f10, $f0, $f16 -/* 09D7A4 7F068C74 E6080004 */ swc1 $f8, 4($s0) -/* 09D7A8 7F068C78 460A2180 */ add.s $f6, $f4, $f10 -/* 09D7AC 7F068C7C E606000C */ swc1 $f6, 0xc($s0) -/* 09D7B0 7F068C80 8D298374 */ lw $t1, %lo(clock_timer)($t1) -/* 09D7B4 7F068C84 19200021 */ blez $t1, .L7F068D0C -/* 09D7B8 7F068C88 00000000 */ nop -/* 09D7BC 7F068C8C 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 09D7C0 7F068C90 3C038005 */ lui $v1, %hi(global_timer_delta) -/* 09D7C4 7F068C94 24638378 */ addiu $v1, %lo(global_timer_delta) # addiu $v1, $v1, -0x7c88 -/* 09D7C8 7F068C98 01711021 */ addu $v0, $t3, $s1 -/* 09D7CC 7F068C9C C4520B08 */ lwc1 $f18, 0xb08($v0) -/* 09D7D0 7F068CA0 C4480B48 */ lwc1 $f8, 0xb48($v0) -/* 09D7D4 7F068CA4 C46A0000 */ lwc1 $f10, ($v1) -/* 09D7D8 7F068CA8 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 09D7DC 7F068CAC 46089101 */ sub.s $f4, $f18, $f8 -/* 09D7E0 7F068CB0 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 09D7E4 7F068CB4 460A2183 */ div.s $f6, $f4, $f10 -/* 09D7E8 7F068CB8 46067480 */ add.s $f18, $f14, $f6 -/* 09D7EC 7F068CBC E6120010 */ swc1 $f18, 0x10($s0) -/* 09D7F0 7F068CC0 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 09D7F4 7F068CC4 C4660000 */ lwc1 $f6, ($v1) -/* 09D7F8 7F068CC8 01911021 */ addu $v0, $t4, $s1 -/* 09D7FC 7F068CCC C4480B0C */ lwc1 $f8, 0xb0c($v0) -/* 09D800 7F068CD0 C4440B4C */ lwc1 $f4, 0xb4c($v0) -/* 09D804 7F068CD4 46044281 */ sub.s $f10, $f8, $f4 -/* 09D808 7F068CD8 C6080014 */ lwc1 $f8, 0x14($s0) -/* 09D80C 7F068CDC 46065483 */ div.s $f18, $f10, $f6 -/* 09D810 7F068CE0 46124100 */ add.s $f4, $f8, $f18 -/* 09D814 7F068CE4 E6040014 */ swc1 $f4, 0x14($s0) -/* 09D818 7F068CE8 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 09D81C 7F068CEC C4720000 */ lwc1 $f18, ($v1) -/* 09D820 7F068CF0 01B11021 */ addu $v0, $t5, $s1 -/* 09D824 7F068CF4 C44A0B10 */ lwc1 $f10, 0xb10($v0) -/* 09D828 7F068CF8 C4460B50 */ lwc1 $f6, 0xb50($v0) -/* 09D82C 7F068CFC 46065201 */ sub.s $f8, $f10, $f6 -/* 09D830 7F068D00 46124103 */ div.s $f4, $f8, $f18 -/* 09D834 7F068D04 46048280 */ add.s $f10, $f16, $f4 -/* 09D838 7F068D08 E60A0018 */ swc1 $f10, 0x18($s0) -.L7F068D0C: -/* 09D83C 7F068D0C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F068D10: -/* 09D840 7F068D10 8FB00014 */ lw $s0, 0x14($sp) -/* 09D844 7F068D14 8FB10018 */ lw $s1, 0x18($sp) -/* 09D848 7F068D18 03E00008 */ jr $ra -/* 09D84C 7F068D1C 27BD00C0 */ addiu $sp, $sp, 0xc0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F068D20(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel expended_shell_initial_gravity_modifier_all -.word 0x3e8e38e4 /*0.27777779*/ -.text -glabel sub_GAME_7F068D20 -/* 09D850 7F068D20 3C018005 */ lui $at, %hi(global_timer_delta) -/* 09D854 7F068D24 C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 09D858 7F068D28 3C018005 */ lui $at, %hi(expended_shell_initial_gravity_modifier_all) -/* 09D85C 7F068D2C C4244404 */ lwc1 $f4, %lo(expended_shell_initial_gravity_modifier_all)($at) -/* 09D860 7F068D30 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09D864 7F068D34 AFBF0024 */ sw $ra, 0x24($sp) -/* 09D868 7F068D38 46041182 */ mul.s $f6, $f2, $f4 -/* 09D86C 7F068D3C AFB30020 */ sw $s3, 0x20($sp) -/* 09D870 7F068D40 AFB2001C */ sw $s2, 0x1c($sp) -/* 09D874 7F068D44 AFB10018 */ sw $s1, 0x18($sp) -/* 09D878 7F068D48 AFB00014 */ sw $s0, 0x14($sp) -/* 09D87C 7F068D4C C4800014 */ lwc1 $f0, 0x14($a0) -/* 09D880 7F068D50 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09D884 7F068D54 44814000 */ mtc1 $at, $f8 -/* 09D888 7F068D58 46060301 */ sub.s $f12, $f0, $f6 -/* 09D88C 7F068D5C C4840008 */ lwc1 $f4, 8($a0) -/* 09D890 7F068D60 46081282 */ mul.s $f10, $f2, $f8 -/* 09D894 7F068D64 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075DB0) -/* 09D898 7F068D68 460C0400 */ add.s $f16, $f0, $f12 -/* 09D89C 7F068D6C 00803825 */ move $a3, $a0 -/* 09D8A0 7F068D70 24C65DB0 */ addiu $a2, %lo(dword_CODE_bss_80075DB0) # addiu $a2, $a2, 0x5db0 -/* 09D8A4 7F068D74 46105482 */ mul.s $f18, $f10, $f16 -/* 09D8A8 7F068D78 C48A0000 */ lwc1 $f10, ($a0) -/* 09D8AC 7F068D7C 46122180 */ add.s $f6, $f4, $f18 -/* 09D8B0 7F068D80 E4860008 */ swc1 $f6, 8($a0) -/* 09D8B4 7F068D84 C4880008 */ lwc1 $f8, 8($a0) -/* 09D8B8 7F068D88 460A403C */ c.lt.s $f8, $f10 -/* 09D8BC 7F068D8C 00000000 */ nop -/* 09D8C0 7F068D90 45020016 */ bc1fl .L7F068DEC -/* 09D8C4 7F068D94 C4E40010 */ lwc1 $f4, 0x10($a3) -/* 09D8C8 7F068D98 8CCE0000 */ lw $t6, ($a2) -/* 09D8CC 7F068D9C 3C028008 */ lui $v0, %hi(pPlayer) -/* 09D8D0 7F068DA0 15C0000F */ bnez $t6, .L7F068DE0 -/* 09D8D4 7F068DA4 00000000 */ nop -/* 09D8D8 7F068DA8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09D8DC 7F068DAC 24030002 */ li $v1, 2 -/* 09D8E0 7F068DB0 8C4F0894 */ lw $t7, 0x894($v0) -/* 09D8E4 7F068DB4 106F000A */ beq $v1, $t7, .L7F068DE0 -/* 09D8E8 7F068DB8 00000000 */ nop -/* 09D8EC 7F068DBC 8C580C3C */ lw $t8, 0xc3c($v0) -/* 09D8F0 7F068DC0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 09D8F4 7F068DC4 2405007A */ li $a1, 122 -/* 09D8F8 7F068DC8 10780005 */ beq $v1, $t8, .L7F068DE0 -/* 09D8FC 7F068DCC 00000000 */ nop -/* 09D900 7F068DD0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09D904 7F068DD4 0C002382 */ jal play_sfx_a1 -/* 09D908 7F068DD8 AFA70028 */ sw $a3, 0x28($sp) -/* 09D90C 7F068DDC 8FA70028 */ lw $a3, 0x28($sp) -.L7F068DE0: -/* 09D910 7F068DE0 1000001B */ b .L7F068E50 -/* 09D914 7F068DE4 ACE0009C */ sw $zero, 0x9c($a3) -/* 09D918 7F068DE8 C4E40010 */ lwc1 $f4, 0x10($a3) -.L7F068DEC: -/* 09D91C 7F068DEC C4EA0018 */ lwc1 $f10, 0x18($a3) -/* 09D920 7F068DF0 C4F00004 */ lwc1 $f16, 4($a3) -/* 09D924 7F068DF4 46041482 */ mul.s $f18, $f2, $f4 -/* 09D928 7F068DF8 C4E8000C */ lwc1 $f8, 0xc($a3) -/* 09D92C 7F068DFC 3C138005 */ lui $s3, %hi(clock_timer) -/* 09D930 7F068E00 460A1102 */ mul.s $f4, $f2, $f10 -/* 09D934 7F068E04 26738374 */ addiu $s3, %lo(clock_timer) # addiu $s3, $s3, -0x7c8c -/* 09D938 7F068E08 E4EC0014 */ swc1 $f12, 0x14($a3) -/* 09D93C 7F068E0C 00008025 */ move $s0, $zero -/* 09D940 7F068E10 24F1005C */ addiu $s1, $a3, 0x5c -/* 09D944 7F068E14 46128180 */ add.s $f6, $f16, $f18 -/* 09D948 7F068E18 24F2001C */ addiu $s2, $a3, 0x1c -/* 09D94C 7F068E1C 46044400 */ add.s $f16, $f8, $f4 -/* 09D950 7F068E20 E4E60004 */ swc1 $f6, 4($a3) -/* 09D954 7F068E24 E4F0000C */ swc1 $f16, 0xc($a3) -/* 09D958 7F068E28 8E790000 */ lw $t9, ($s3) -/* 09D95C 7F068E2C 1B200008 */ blez $t9, .L7F068E50 -/* 09D960 7F068E30 02202025 */ move $a0, $s1 -.L7F068E34: -/* 09D964 7F068E34 0FC16026 */ jal sub_GAME_7F058098 -/* 09D968 7F068E38 02402825 */ move $a1, $s2 -/* 09D96C 7F068E3C 8E680000 */ lw $t0, ($s3) -/* 09D970 7F068E40 26100001 */ addiu $s0, $s0, 1 -/* 09D974 7F068E44 0208082A */ slt $at, $s0, $t0 -/* 09D978 7F068E48 5420FFFA */ bnezl $at, .L7F068E34 -/* 09D97C 7F068E4C 02202025 */ move $a0, $s1 -.L7F068E50: -/* 09D980 7F068E50 8FBF0024 */ lw $ra, 0x24($sp) -/* 09D984 7F068E54 8FB00014 */ lw $s0, 0x14($sp) -/* 09D988 7F068E58 8FB10018 */ lw $s1, 0x18($sp) -/* 09D98C 7F068E5C 8FB2001C */ lw $s2, 0x1c($sp) -/* 09D990 7F068E60 8FB30020 */ lw $s3, 0x20($sp) -/* 09D994 7F068E64 03E00008 */ jr $ra -/* 09D998 7F068E68 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel expended_shell_initial_gravity_modifier_all -.word 0x3e8e38e4 /*0.27777779*/ -.text -glabel sub_GAME_7F068D20 -/* 09DE68 7F0692F8 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 09DE6C 7F0692FC C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 09DE70 7F069300 3C018005 */ lui $at, %hi(expended_shell_initial_gravity_modifier_all) # $at, 0x8005 -/* 09DE74 7F069304 C4244434 */ lwc1 $f4, %lo(expended_shell_initial_gravity_modifier_all)($at) -/* 09DE78 7F069308 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09DE7C 7F06930C AFBF0024 */ sw $ra, 0x24($sp) -/* 09DE80 7F069310 46041182 */ mul.s $f6, $f2, $f4 -/* 09DE84 7F069314 AFB30020 */ sw $s3, 0x20($sp) -/* 09DE88 7F069318 AFB2001C */ sw $s2, 0x1c($sp) -/* 09DE8C 7F06931C AFB10018 */ sw $s1, 0x18($sp) -/* 09DE90 7F069320 AFB00014 */ sw $s0, 0x14($sp) -/* 09DE94 7F069324 C4800014 */ lwc1 $f0, 0x14($a0) -/* 09DE98 7F069328 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09DE9C 7F06932C 44814000 */ mtc1 $at, $f8 -/* 09DEA0 7F069330 46060301 */ sub.s $f12, $f0, $f6 -/* 09DEA4 7F069334 C4840008 */ lwc1 $f4, 8($a0) -/* 09DEA8 7F069338 46081282 */ mul.s $f10, $f2, $f8 -/* 09DEAC 7F06933C 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075DB0) # $a2, 0x8007 -/* 09DEB0 7F069340 460C0400 */ add.s $f16, $f0, $f12 -/* 09DEB4 7F069344 00803825 */ move $a3, $a0 -/* 09DEB8 7F069348 24C65DF0 */ addiu $a2, %lo(dword_CODE_bss_80075DB0) # addiu $a2, $a2, 0x5df0 -/* 09DEBC 7F06934C 46105482 */ mul.s $f18, $f10, $f16 -/* 09DEC0 7F069350 C48A0000 */ lwc1 $f10, ($a0) -/* 09DEC4 7F069354 46122180 */ add.s $f6, $f4, $f18 -/* 09DEC8 7F069358 E4860008 */ swc1 $f6, 8($a0) -/* 09DECC 7F06935C C4880008 */ lwc1 $f8, 8($a0) -/* 09DED0 7F069360 460A403C */ c.lt.s $f8, $f10 -/* 09DED4 7F069364 00000000 */ nop -/* 09DED8 7F069368 4502001B */ bc1fl .Ljp7F0693D8 -/* 09DEDC 7F06936C C4E40010 */ lwc1 $f4, 0x10($a3) -/* 09DEE0 7F069370 8CCE0000 */ lw $t6, ($a2) -/* 09DEE4 7F069374 3C138005 */ lui $s3, %hi(clock_timer) # $s3, 0x8005 -/* 09DEE8 7F069378 267383A4 */ addiu $s3, %lo(clock_timer) # addiu $s3, $s3, -0x7c5c -/* 09DEEC 7F06937C 15C00013 */ bnez $t6, .Ljp7F0693CC -/* 09DEF0 7F069380 00000000 */ nop -/* 09DEF4 7F069384 8E6F0000 */ lw $t7, ($s3) -/* 09DEF8 7F069388 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 09DEFC 7F06938C 19E0000F */ blez $t7, .Ljp7F0693CC -/* 09DF00 7F069390 00000000 */ nop -/* 09DF04 7F069394 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 09DF08 7F069398 24030002 */ li $v1, 2 -/* 09DF0C 7F06939C 8C580894 */ lw $t8, 0x894($v0) -/* 09DF10 7F0693A0 1078000A */ beq $v1, $t8, .Ljp7F0693CC -/* 09DF14 7F0693A4 00000000 */ nop -/* 09DF18 7F0693A8 8C590C3C */ lw $t9, 0xc3c($v0) -/* 09DF1C 7F0693AC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 09DF20 7F0693B0 2405007A */ li $a1, 122 -/* 09DF24 7F0693B4 10790005 */ beq $v1, $t9, .Ljp7F0693CC -/* 09DF28 7F0693B8 00000000 */ nop -/* 09DF2C 7F0693BC 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 09DF30 7F0693C0 0C002386 */ jal play_sfx_a1 -/* 09DF34 7F0693C4 AFA70028 */ sw $a3, 0x28($sp) -/* 09DF38 7F0693C8 8FA70028 */ lw $a3, 0x28($sp) -.Ljp7F0693CC: -/* 09DF3C 7F0693CC 1000001B */ b .Ljp7F06943C -/* 09DF40 7F0693D0 ACE0009C */ sw $zero, 0x9c($a3) -/* 09DF44 7F0693D4 C4E40010 */ lwc1 $f4, 0x10($a3) -.Ljp7F0693D8: -/* 09DF48 7F0693D8 C4EA0018 */ lwc1 $f10, 0x18($a3) -/* 09DF4C 7F0693DC C4F00004 */ lwc1 $f16, 4($a3) -/* 09DF50 7F0693E0 46041482 */ mul.s $f18, $f2, $f4 -/* 09DF54 7F0693E4 C4E8000C */ lwc1 $f8, 0xc($a3) -/* 09DF58 7F0693E8 3C138005 */ lui $s3, %hi(clock_timer) # $s3, 0x8005 -/* 09DF5C 7F0693EC 460A1102 */ mul.s $f4, $f2, $f10 -/* 09DF60 7F0693F0 267383A4 */ addiu $s3, %lo(clock_timer) # addiu $s3, $s3, -0x7c5c -/* 09DF64 7F0693F4 E4EC0014 */ swc1 $f12, 0x14($a3) -/* 09DF68 7F0693F8 00008025 */ move $s0, $zero -/* 09DF6C 7F0693FC 24F1005C */ addiu $s1, $a3, 0x5c -/* 09DF70 7F069400 46128180 */ add.s $f6, $f16, $f18 -/* 09DF74 7F069404 24F2001C */ addiu $s2, $a3, 0x1c -/* 09DF78 7F069408 46044400 */ add.s $f16, $f8, $f4 -/* 09DF7C 7F06940C E4E60004 */ swc1 $f6, 4($a3) -/* 09DF80 7F069410 E4F0000C */ swc1 $f16, 0xc($a3) -/* 09DF84 7F069414 8E680000 */ lw $t0, ($s3) -/* 09DF88 7F069418 19000008 */ blez $t0, .Ljp7F06943C -/* 09DF8C 7F06941C 02202025 */ move $a0, $s1 -.Ljp7F069420: -/* 09DF90 7F069420 0FC1616E */ jal sub_GAME_7F058098 -/* 09DF94 7F069424 02402825 */ move $a1, $s2 -/* 09DF98 7F069428 8E690000 */ lw $t1, ($s3) -/* 09DF9C 7F06942C 26100001 */ addiu $s0, $s0, 1 -/* 09DFA0 7F069430 0209082A */ slt $at, $s0, $t1 -/* 09DFA4 7F069434 5420FFFA */ bnezl $at, .Ljp7F069420 -/* 09DFA8 7F069438 02202025 */ move $a0, $s1 -.Ljp7F06943C: -/* 09DFAC 7F06943C 8FBF0024 */ lw $ra, 0x24($sp) -/* 09DFB0 7F069440 8FB00014 */ lw $s0, 0x14($sp) -/* 09DFB4 7F069444 8FB10018 */ lw $s1, 0x18($sp) -/* 09DFB8 7F069448 8FB2001C */ lw $s2, 0x1c($sp) -/* 09DFBC 7F06944C 8FB30020 */ lw $s3, 0x20($sp) -/* 09DFC0 7F069450 03E00008 */ jr $ra -/* 09DFC4 7F069454 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F068E6C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F068E6C -/* 09D99C 7F068E6C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 09D9A0 7F068E70 AFB10018 */ sw $s1, 0x18($sp) -/* 09D9A4 7F068E74 AFB00014 */ sw $s0, 0x14($sp) -/* 09D9A8 7F068E78 3C118007 */ lui $s1, %hi(dword_CODE_bss_80076A48) -/* 09D9AC 7F068E7C 3C108007 */ lui $s0, %hi(dword_CODE_bss_80075DC8) -/* 09D9B0 7F068E80 AFBF001C */ sw $ra, 0x1c($sp) -/* 09D9B4 7F068E84 26316A48 */ addiu $s1, %lo(dword_CODE_bss_80076A48) # addiu $s1, $s1, 0x6a48 -/* 09D9B8 7F068E88 26105DC8 */ addiu $s0, %lo(dword_CODE_bss_80075DC8) # addiu $s0, $s0, 0x5dc8 -/* 09D9BC 7F068E8C 8E0E009C */ lw $t6, 0x9c($s0) -.L7F068E90: -/* 09D9C0 7F068E90 51C00004 */ beql $t6, $zero, .L7F068EA4 -/* 09D9C4 7F068E94 261000A0 */ addiu $s0, $s0, 0xa0 -/* 09D9C8 7F068E98 0FC1A348 */ jal sub_GAME_7F068D20 -/* 09D9CC 7F068E9C 02002025 */ move $a0, $s0 -/* 09D9D0 7F068EA0 261000A0 */ addiu $s0, $s0, 0xa0 -.L7F068EA4: -/* 09D9D4 7F068EA4 0211082B */ sltu $at, $s0, $s1 -/* 09D9D8 7F068EA8 5420FFF9 */ bnezl $at, .L7F068E90 -/* 09D9DC 7F068EAC 8E0E009C */ lw $t6, 0x9c($s0) -/* 09D9E0 7F068EB0 8FBF001C */ lw $ra, 0x1c($sp) -/* 09D9E4 7F068EB4 8FB00014 */ lw $s0, 0x14($sp) -/* 09D9E8 7F068EB8 8FB10018 */ lw $s1, 0x18($sp) -/* 09D9EC 7F068EBC 03E00008 */ jr $ra -/* 09D9F0 7F068EC0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F068EC4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054408 -.word 0x3dccccce /*0.10000001*/ -glabel D_8005440C -.word 0xc6ea6000 /*-30000.0*/ -glabel D_80054410 -.word 0x46ea6000 /*30000.0*/ -.text -glabel sub_GAME_7F068EC4 -/* 09D9F4 7F068EC4 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 09D9F8 7F068EC8 AFBF001C */ sw $ra, 0x1c($sp) -/* 09D9FC 7F068ECC AFB00018 */ sw $s0, 0x18($sp) -/* 09DA00 7F068ED0 AFA400E8 */ sw $a0, 0xe8($sp) -/* 09DA04 7F068ED4 AFA500EC */ sw $a1, 0xec($sp) -/* 09DA08 7F068ED8 8CAF0000 */ lw $t7, ($a1) -/* 09DA0C 7F068EDC AFAF00E4 */ sw $t7, 0xe4($sp) -/* 09DA10 7F068EE0 8C82009C */ lw $v0, 0x9c($a0) -/* 09DA14 7F068EE4 8444000E */ lh $a0, 0xe($v0) -/* 09DA18 7F068EE8 AFA200E0 */ sw $v0, 0xe0($sp) -/* 09DA1C 7F068EEC 0004C980 */ sll $t9, $a0, 6 -/* 09DA20 7F068EF0 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 09DA24 7F068EF4 03202025 */ move $a0, $t9 -/* 09DA28 7F068EF8 3C098003 */ lui $t1, %hi(D_80035EB0) -/* 09DA2C 7F068EFC 25295EB0 */ addiu $t1, %lo(D_80035EB0) # addiu $t1, $t1, 0x5eb0 -/* 09DA30 7F068F00 AFA200DC */ sw $v0, 0xdc($sp) -/* 09DA34 7F068F04 252C003C */ addiu $t4, $t1, 0x3c -/* 09DA38 7F068F08 27A8007C */ addiu $t0, $sp, 0x7c -.L7F068F0C: -/* 09DA3C 7F068F0C 8D210000 */ lw $at, ($t1) -/* 09DA40 7F068F10 2529000C */ addiu $t1, $t1, 0xc -/* 09DA44 7F068F14 2508000C */ addiu $t0, $t0, 0xc -/* 09DA48 7F068F18 AD01FFF4 */ sw $at, -0xc($t0) -/* 09DA4C 7F068F1C 8D21FFF8 */ lw $at, -8($t1) -/* 09DA50 7F068F20 AD01FFF8 */ sw $at, -8($t0) -/* 09DA54 7F068F24 8D21FFFC */ lw $at, -4($t1) -/* 09DA58 7F068F28 152CFFF8 */ bne $t1, $t4, .L7F068F0C -/* 09DA5C 7F068F2C AD01FFFC */ sw $at, -4($t0) -/* 09DA60 7F068F30 8D210000 */ lw $at, ($t1) -/* 09DA64 7F068F34 24100001 */ li $s0, 1 -/* 09DA68 7F068F38 AD010000 */ sw $at, ($t0) -/* 09DA6C 7F068F3C 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 09DA70 7F068F40 8FA400E0 */ lw $a0, 0xe0($sp) -/* 09DA74 7F068F44 27A400BC */ addiu $a0, $sp, 0xbc -/* 09DA78 7F068F48 8FA500E0 */ lw $a1, 0xe0($sp) -/* 09DA7C 7F068F4C 0FC1D7DA */ jal sub_GAME_7F075F68 -/* 09DA80 7F068F50 00003025 */ move $a2, $zero -/* 09DA84 7F068F54 8FAD00DC */ lw $t5, 0xdc($sp) -/* 09DA88 7F068F58 8FA400E8 */ lw $a0, 0xe8($sp) -/* 09DA8C 7F068F5C 27A5003C */ addiu $a1, $sp, 0x3c -/* 09DA90 7F068F60 AFAD00C8 */ sw $t5, 0xc8($sp) -/* 09DA94 7F068F64 0FC16008 */ jal sub_GAME_7F058020 -/* 09DA98 7F068F68 2484001C */ addiu $a0, $a0, 0x1c -/* 09DA9C 7F068F6C 3C018005 */ lui $at, %hi(D_80054408) -/* 09DAA0 7F068F70 C42C4408 */ lwc1 $f12, %lo(D_80054408)($at) -/* 09DAA4 7F068F74 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 09DAA8 7F068F78 27A5003C */ addiu $a1, $sp, 0x3c -/* 09DAAC 7F068F7C 8FA400E8 */ lw $a0, 0xe8($sp) -/* 09DAB0 7F068F80 27A5003C */ addiu $a1, $sp, 0x3c -/* 09DAB4 7F068F84 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 09DAB8 7F068F88 24840004 */ addiu $a0, $a0, 4 -/* 09DABC 7F068F8C 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 09DAC0 7F068F90 00000000 */ nop -/* 09DAC4 7F068F94 00402025 */ move $a0, $v0 -/* 09DAC8 7F068F98 27A5003C */ addiu $a1, $sp, 0x3c -/* 09DACC 7F068F9C 0FC16063 */ jal sub_GAME_7F05818C -/* 09DAD0 7F068FA0 8FA600C8 */ lw $a2, 0xc8($sp) -/* 09DAD4 7F068FA4 3C018005 */ lui $at, %hi(D_8005440C) -/* 09DAD8 7F068FA8 C42C440C */ lwc1 $f12, %lo(D_8005440C)($at) -/* 09DADC 7F068FAC 3C018005 */ lui $at, %hi(D_80054410) -/* 09DAE0 7F068FB0 C4224410 */ lwc1 $f2, %lo(D_80054410)($at) -/* 09DAE4 7F068FB4 00001025 */ move $v0, $zero -/* 09DAE8 7F068FB8 8FA300C8 */ lw $v1, 0xc8($sp) -/* 09DAEC 7F068FBC 2404000C */ li $a0, 12 -.L7F068FC0: -/* 09DAF0 7F068FC0 C4600030 */ lwc1 $f0, 0x30($v1) -/* 09DAF4 7F068FC4 24420004 */ addiu $v0, $v0, 4 -/* 09DAF8 7F068FC8 4600103C */ c.lt.s $f2, $f0 -/* 09DAFC 7F068FCC 00000000 */ nop -/* 09DB00 7F068FD0 45020004 */ bc1fl .L7F068FE4 -/* 09DB04 7F068FD4 460C003C */ c.lt.s $f0, $f12 -/* 09DB08 7F068FD8 10000006 */ b .L7F068FF4 -/* 09DB0C 7F068FDC 00008025 */ move $s0, $zero -/* 09DB10 7F068FE0 460C003C */ c.lt.s $f0, $f12 -.L7F068FE4: -/* 09DB14 7F068FE4 00000000 */ nop -/* 09DB18 7F068FE8 45000002 */ bc1f .L7F068FF4 -/* 09DB1C 7F068FEC 00000000 */ nop -/* 09DB20 7F068FF0 00008025 */ move $s0, $zero -.L7F068FF4: -/* 09DB24 7F068FF4 1444FFF2 */ bne $v0, $a0, .L7F068FC0 -/* 09DB28 7F068FF8 24630004 */ addiu $v1, $v1, 4 -/* 09DB2C 7F068FFC 1200001E */ beqz $s0, .L7F069078 -/* 09DB30 7F069000 24180004 */ li $t8, 4 -/* 09DB34 7F069004 8FAE00E4 */ lw $t6, 0xe4($sp) -/* 09DB38 7F069008 8FAF00DC */ lw $t7, 0xdc($sp) -/* 09DB3C 7F06900C 3C028008 */ lui $v0, %hi(pPlayer) -/* 09DB40 7F069010 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09DB44 7F069014 AFA00080 */ sw $zero, 0x80($sp) -/* 09DB48 7F069018 AFB800AC */ sw $t8, 0xac($sp) -/* 09DB4C 7F06901C AFAE0088 */ sw $t6, 0x88($sp) -/* 09DB50 7F069020 AFAF008C */ sw $t7, 0x8c($sp) -/* 09DB54 7F069024 904B0FDC */ lbu $t3, 0xfdc($v0) -/* 09DB58 7F069028 90490FDD */ lbu $t1, 0xfdd($v0) -/* 09DB5C 7F06902C 90590FDF */ lbu $t9, 0xfdf($v0) -/* 09DB60 7F069030 904E0FDE */ lbu $t6, 0xfde($v0) -/* 09DB64 7F069034 000B5600 */ sll $t2, $t3, 0x18 -/* 09DB68 7F069038 00094400 */ sll $t0, $t1, 0x10 -/* 09DB6C 7F06903C 032A6025 */ or $t4, $t9, $t2 -/* 09DB70 7F069040 01886825 */ or $t5, $t4, $t0 -/* 09DB74 7F069044 000E7A00 */ sll $t7, $t6, 8 -/* 09DB78 7F069048 01AFC025 */ or $t8, $t5, $t7 -/* 09DB7C 7F06904C AFB800B0 */ sw $t8, 0xb0($sp) -/* 09DB80 7F069050 27A4007C */ addiu $a0, $sp, 0x7c -/* 09DB84 7F069054 0FC1D1A1 */ jal subdraw -/* 09DB88 7F069058 27A500BC */ addiu $a1, $sp, 0xbc -/* 09DB8C 7F06905C 8FAB0088 */ lw $t3, 0x88($sp) -/* 09DB90 7F069060 8FB900EC */ lw $t9, 0xec($sp) -/* 09DB94 7F069064 AF2B0000 */ sw $t3, ($t9) -/* 09DB98 7F069068 8FAA00E0 */ lw $t2, 0xe0($sp) -/* 09DB9C 7F06906C 8FA400DC */ lw $a0, 0xdc($sp) -/* 09DBA0 7F069070 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 09DBA4 7F069074 8545000E */ lh $a1, 0xe($t2) -.L7F069078: -/* 09DBA8 7F069078 8FBF001C */ lw $ra, 0x1c($sp) -/* 09DBAC 7F06907C 8FB00018 */ lw $s0, 0x18($sp) -/* 09DBB0 7F069080 27BD00E8 */ addiu $sp, $sp, 0xe8 -/* 09DBB4 7F069084 03E00008 */ jr $ra -/* 09DBB8 7F069088 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06908C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06908C -/* 09DBBC 7F06908C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09DBC0 7F069090 AFB1001C */ sw $s1, 0x1c($sp) -/* 09DBC4 7F069094 AFB00018 */ sw $s0, 0x18($sp) -/* 09DBC8 7F069098 AFB20020 */ sw $s2, 0x20($sp) -/* 09DBCC 7F06909C 3C118007 */ lui $s1, %hi(dword_CODE_bss_80076A48) -/* 09DBD0 7F0690A0 3C108007 */ lui $s0, %hi(dword_CODE_bss_80075DC8) -/* 09DBD4 7F0690A4 00809025 */ move $s2, $a0 -/* 09DBD8 7F0690A8 AFBF0024 */ sw $ra, 0x24($sp) -/* 09DBDC 7F0690AC 26316A48 */ addiu $s1, %lo(dword_CODE_bss_80076A48) # addiu $s1, $s1, 0x6a48 -/* 09DBE0 7F0690B0 26105DC8 */ addiu $s0, %lo(dword_CODE_bss_80075DC8) # addiu $s0, $s0, 0x5dc8 -/* 09DBE4 7F0690B4 8E0E009C */ lw $t6, 0x9c($s0) -.L7F0690B8: -/* 09DBE8 7F0690B8 02002025 */ move $a0, $s0 -/* 09DBEC 7F0690BC 51C00004 */ beql $t6, $zero, .L7F0690D0 -/* 09DBF0 7F0690C0 261000A0 */ addiu $s0, $s0, 0xa0 -/* 09DBF4 7F0690C4 0FC1A3B1 */ jal sub_GAME_7F068EC4 -/* 09DBF8 7F0690C8 02402825 */ move $a1, $s2 -/* 09DBFC 7F0690CC 261000A0 */ addiu $s0, $s0, 0xa0 -.L7F0690D0: -/* 09DC00 7F0690D0 0211082B */ sltu $at, $s0, $s1 -/* 09DC04 7F0690D4 5420FFF8 */ bnezl $at, .L7F0690B8 -/* 09DC08 7F0690D8 8E0E009C */ lw $t6, 0x9c($s0) -/* 09DC0C 7F0690DC 8FBF0024 */ lw $ra, 0x24($sp) -/* 09DC10 7F0690E0 8FB00018 */ lw $s0, 0x18($sp) -/* 09DC14 7F0690E4 8FB1001C */ lw $s1, 0x1c($sp) -/* 09DC18 7F0690E8 8FB20020 */ lw $s2, 0x20($sp) -/* 09DC1C 7F0690EC 03E00008 */ jr $ra -/* 09DC20 7F0690F0 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void set_unset_ammo_on_screen_setting(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_unset_ammo_on_screen_setting -/* 09DC24 7F0690F4 10A00008 */ beqz $a1, .L7F069118 -/* 09DC28 7F0690F8 3C028008 */ lui $v0, %hi(pPlayer) -/* 09DC2C 7F0690FC 3C028008 */ lui $v0, %hi(pPlayer) -/* 09DC30 7F069100 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09DC34 7F069104 00807827 */ not $t7, $a0 -/* 09DC38 7F069108 8C4E1064 */ lw $t6, 0x1064($v0) -/* 09DC3C 7F06910C 01CFC024 */ and $t8, $t6, $t7 -/* 09DC40 7F069110 03E00008 */ jr $ra -/* 09DC44 7F069114 AC581064 */ sw $t8, 0x1064($v0) - -.L7F069118: -/* 09DC48 7F069118 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09DC4C 7F06911C 8C591064 */ lw $t9, 0x1064($v0) -/* 09DC50 7F069120 03244025 */ or $t0, $t9, $a0 -/* 09DC54 7F069124 AC481064 */ sw $t0, 0x1064($v0) -/* 09DC58 7F069128 03E00008 */ jr $ra -/* 09DC5C 7F06912C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void give_cur_player_ammo(void) { - -} -#else -GLOBAL_ASM( -.text -glabel give_cur_player_ammo -/* 09DC60 7F069130 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09DC64 7F069134 AFB00018 */ sw $s0, 0x18($sp) -/* 09DC68 7F069138 00808025 */ move $s0, $a0 -/* 09DC6C 7F06913C AFBF001C */ sw $ra, 0x1c($sp) -/* 09DC70 7F069140 AFA5002C */ sw $a1, 0x2c($sp) -/* 09DC74 7F069144 0FC17674 */ jal get_item_in_hand -/* 09DC78 7F069148 00002025 */ move $a0, $zero -/* 09DC7C 7F06914C AFA20024 */ sw $v0, 0x24($sp) -/* 09DC80 7F069150 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09DC84 7F069154 00402025 */ move $a0, $v0 -/* 09DC88 7F069158 1450001F */ bne $v0, $s0, .L7F0691D8 -/* 09DC8C 7F06915C 8FA40024 */ lw $a0, 0x24($sp) -/* 09DC90 7F069160 0FC1782D */ jal check_special_attributes -/* 09DC94 7F069164 3C050020 */ lui $a1, 0x20 -/* 09DC98 7F069168 1040001B */ beqz $v0, .L7F0691D8 -/* 09DC9C 7F06916C 3C038008 */ lui $v1, %hi(pPlayer) -/* 09DCA0 7F069170 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 09DCA4 7F069174 8FAF002C */ lw $t7, 0x2c($sp) -/* 09DCA8 7F069178 8C6E089C */ lw $t6, 0x89c($v1) -/* 09DCAC 7F06917C 01CFC021 */ addu $t8, $t6, $t7 -/* 09DCB0 7F069180 AC78089C */ sw $t8, 0x89c($v1) -/* 09DCB4 7F069184 0FC1722D */ jal get_ptr_item_statistics -/* 09DCB8 7F069188 8FA40024 */ lw $a0, 0x24($sp) -/* 09DCBC 7F06918C 3C038008 */ lui $v1, %hi(pPlayer) -/* 09DCC0 7F069190 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 09DCC4 7F069194 84590020 */ lh $t9, 0x20($v0) -/* 09DCC8 7F069198 8C68089C */ lw $t0, 0x89c($v1) -/* 09DCCC 7F06919C 0328082A */ slt $at, $t9, $t0 -/* 09DCD0 7F0691A0 5020000A */ beql $at, $zero, .L7F0691CC -/* 09DCD4 7F0691A4 00105880 */ sll $t3, $s0, 2 -/* 09DCD8 7F0691A8 0FC1722D */ jal get_ptr_item_statistics -/* 09DCDC 7F0691AC 8FA40024 */ lw $a0, 0x24($sp) -/* 09DCE0 7F0691B0 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 09DCE4 7F0691B4 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 09DCE8 7F0691B8 84490020 */ lh $t1, 0x20($v0) -/* 09DCEC 7F0691BC 3C038008 */ lui $v1, %hi(pPlayer) -/* 09DCF0 7F0691C0 AD49089C */ sw $t1, 0x89c($t2) -/* 09DCF4 7F0691C4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 09DCF8 7F0691C8 00105880 */ sll $t3, $s0, 2 -.L7F0691CC: -/* 09DCFC 7F0691CC 006B6021 */ addu $t4, $v1, $t3 -/* 09DD00 7F0691D0 10000016 */ b .L7F06922C -/* 09DD04 7F0691D4 AD801130 */ sw $zero, 0x1130($t4) -.L7F0691D8: -/* 09DD08 7F0691D8 00106880 */ sll $t5, $s0, 2 -/* 09DD0C 7F0691DC 01B06823 */ subu $t5, $t5, $s0 -/* 09DD10 7F0691E0 000D6880 */ sll $t5, $t5, 2 -/* 09DD14 7F0691E4 3C028003 */ lui $v0, %hi(ammo_related) -/* 09DD18 7F0691E8 004D1021 */ addu $v0, $v0, $t5 -/* 09DD1C 7F0691EC 8FA3002C */ lw $v1, 0x2c($sp) -/* 09DD20 7F0691F0 8C425EF0 */ lw $v0, %lo(ammo_related)($v0) -/* 09DD24 7F0691F4 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09DD28 7F0691F8 3C198008 */ lui $t9, %hi(pPlayer) -/* 09DD2C 7F0691FC 0043082A */ slt $at, $v0, $v1 -/* 09DD30 7F069200 10200006 */ beqz $at, .L7F06921C -/* 09DD34 7F069204 00000000 */ nop -/* 09DD38 7F069208 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09DD3C 7F06920C 00107880 */ sll $t7, $s0, 2 -/* 09DD40 7F069210 01CFC021 */ addu $t8, $t6, $t7 -/* 09DD44 7F069214 10000005 */ b .L7F06922C -/* 09DD48 7F069218 AF021130 */ sw $v0, 0x1130($t8) -.L7F06921C: -/* 09DD4C 7F06921C 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 09DD50 7F069220 00104080 */ sll $t0, $s0, 2 -/* 09DD54 7F069224 03284821 */ addu $t1, $t9, $t0 -/* 09DD58 7F069228 AD231130 */ sw $v1, 0x1130($t1) -.L7F06922C: -/* 09DD5C 7F06922C 8FBF001C */ lw $ra, 0x1c($sp) -/* 09DD60 7F069230 8FB00018 */ lw $s0, 0x18($sp) -/* 09DD64 7F069234 27BD0028 */ addiu $sp, $sp, 0x28 -/* 09DD68 7F069238 03E00008 */ jr $ra -/* 09DD6C 7F06923C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_cur_player_ammo_amount_in_inventory(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_cur_player_ammo_amount_in_inventory -/* 09DD70 7F069240 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09DD74 7F069244 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09DD78 7F069248 00047880 */ sll $t7, $a0, 2 -/* 09DD7C 7F06924C 01CFC021 */ addu $t8, $t6, $t7 -/* 09DD80 7F069250 03E00008 */ jr $ra -/* 09DD84 7F069254 8F021130 */ lw $v0, 0x1130($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void check_cur_player_ammo_amount_total(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_cur_player_ammo_amount_total -/* 09DD88 7F069258 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 09DD8C 7F06925C AFBF001C */ sw $ra, 0x1c($sp) -/* 09DD90 7F069260 AFB00018 */ sw $s0, 0x18($sp) -/* 09DD94 7F069264 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 09DD98 7F069268 AFA40020 */ sw $a0, 0x20($sp) -/* 09DD9C 7F06926C 00408025 */ move $s0, $v0 -/* 09DDA0 7F069270 0FC17674 */ jal get_item_in_hand -/* 09DDA4 7F069274 00002025 */ move $a0, $zero -/* 09DDA8 7F069278 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09DDAC 7F06927C 00402025 */ move $a0, $v0 -/* 09DDB0 7F069280 8FAE0020 */ lw $t6, 0x20($sp) -/* 09DDB4 7F069284 144E0004 */ bne $v0, $t6, .L7F069298 -/* 09DDB8 7F069288 00000000 */ nop -/* 09DDBC 7F06928C 0FC1A4D1 */ jal get_ammo_in_hands_magazine -/* 09DDC0 7F069290 00002025 */ move $a0, $zero -/* 09DDC4 7F069294 02028021 */ addu $s0, $s0, $v0 -.L7F069298: -/* 09DDC8 7F069298 0FC17674 */ jal get_item_in_hand -/* 09DDCC 7F06929C 24040001 */ li $a0, 1 -/* 09DDD0 7F0692A0 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09DDD4 7F0692A4 00402025 */ move $a0, $v0 -/* 09DDD8 7F0692A8 8FAF0020 */ lw $t7, 0x20($sp) -/* 09DDDC 7F0692AC 544F0005 */ bnel $v0, $t7, .L7F0692C4 -/* 09DDE0 7F0692B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 09DDE4 7F0692B4 0FC1A4D1 */ jal get_ammo_in_hands_magazine -/* 09DDE8 7F0692B8 24040001 */ li $a0, 1 -/* 09DDEC 7F0692BC 02028021 */ addu $s0, $s0, $v0 -/* 09DDF0 7F0692C0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0692C4: -/* 09DDF4 7F0692C4 02001025 */ move $v0, $s0 -/* 09DDF8 7F0692C8 8FB00018 */ lw $s0, 0x18($sp) -/* 09DDFC 7F0692CC 03E00008 */ jr $ra -/* 09DE00 7F0692D0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void get_max_ammo_for_type(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_max_ammo_for_type -/* 09DE04 7F0692D4 00047080 */ sll $t6, $a0, 2 -/* 09DE08 7F0692D8 01C47023 */ subu $t6, $t6, $a0 -/* 09DE0C 7F0692DC 000E7080 */ sll $t6, $t6, 2 -/* 09DE10 7F0692E0 3C028003 */ lui $v0, %hi(ammo_related) -/* 09DE14 7F0692E4 004E1021 */ addu $v0, $v0, $t6 -/* 09DE18 7F0692E8 03E00008 */ jr $ra -/* 09DE1C 7F0692EC 8C425EF0 */ lw $v0, %lo(ammo_related)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void set_max_ammo_for_cur_player(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_max_ammo_for_cur_player -/* 09DE20 7F0692F0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09DE24 7F0692F4 AFB1001C */ sw $s1, 0x1c($sp) -/* 09DE28 7F0692F8 AFB20020 */ sw $s2, 0x20($sp) -/* 09DE2C 7F0692FC AFB00018 */ sw $s0, 0x18($sp) -/* 09DE30 7F069300 3C118003 */ lui $s1, %hi(ammo_related) -/* 09DE34 7F069304 AFBF0024 */ sw $ra, 0x24($sp) -/* 09DE38 7F069308 26315EF0 */ addiu $s1, %lo(ammo_related) # addiu $s1, $s1, 0x5ef0 -/* 09DE3C 7F06930C 00008025 */ move $s0, $zero -/* 09DE40 7F069310 2412001E */ li $s2, 30 -.L7F069314: -/* 09DE44 7F069314 02002025 */ move $a0, $s0 -/* 09DE48 7F069318 0FC1A44C */ jal give_cur_player_ammo -/* 09DE4C 7F06931C 8E250000 */ lw $a1, ($s1) -/* 09DE50 7F069320 26100001 */ addiu $s0, $s0, 1 -/* 09DE54 7F069324 1612FFFB */ bne $s0, $s2, .L7F069314 -/* 09DE58 7F069328 2631000C */ addiu $s1, $s1, 0xc -/* 09DE5C 7F06932C 8FBF0024 */ lw $ra, 0x24($sp) -/* 09DE60 7F069330 8FB00018 */ lw $s0, 0x18($sp) -/* 09DE64 7F069334 8FB1001C */ lw $s1, 0x1c($sp) -/* 09DE68 7F069338 8FB20020 */ lw $s2, 0x20($sp) -/* 09DE6C 7F06933C 03E00008 */ jr $ra -/* 09DE70 7F069340 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void get_ammo_in_hands_magazine(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ammo_in_hands_magazine -/* 09DE74 7F069344 000478C0 */ sll $t7, $a0, 3 -/* 09DE78 7F069348 01E47823 */ subu $t7, $t7, $a0 -/* 09DE7C 7F06934C 000F7880 */ sll $t7, $t7, 2 -/* 09DE80 7F069350 01E47821 */ addu $t7, $t7, $a0 -/* 09DE84 7F069354 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09DE88 7F069358 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09DE8C 7F06935C 000F7880 */ sll $t7, $t7, 2 -/* 09DE90 7F069360 01E47821 */ addu $t7, $t7, $a0 -/* 09DE94 7F069364 000F78C0 */ sll $t7, $t7, 3 -/* 09DE98 7F069368 01CFC021 */ addu $t8, $t6, $t7 -/* 09DE9C 7F06936C 03E00008 */ jr $ra -/* 09DEA0 7F069370 8F02089C */ lw $v0, 0x89c($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void get_ammo_in_hands_weapon(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ammo_in_hands_weapon -/* 09DEA4 7F069374 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 09DEA8 7F069378 AFBF0014 */ sw $ra, 0x14($sp) -/* 09DEAC 7F06937C 0FC17674 */ jal get_item_in_hand -/* 09DEB0 7F069380 AFA40020 */ sw $a0, 0x20($sp) -/* 09DEB4 7F069384 00402025 */ move $a0, $v0 -/* 09DEB8 7F069388 0FC1A514 */ jal get_ammo_count_for_weapon -/* 09DEBC 7F06938C AFA2001C */ sw $v0, 0x1c($sp) -/* 09DEC0 7F069390 8FA3001C */ lw $v1, 0x1c($sp) -/* 09DEC4 7F069394 2401000F */ li $at, 15 -/* 09DEC8 7F069398 00402825 */ move $a1, $v0 -/* 09DECC 7F06939C 10610004 */ beq $v1, $at, .L7F0693B0 -/* 09DED0 7F0693A0 8FAE0020 */ lw $t6, 0x20($sp) -/* 09DED4 7F0693A4 24010010 */ li $at, 16 -/* 09DED8 7F0693A8 1461001C */ bne $v1, $at, .L7F06941C -/* 09DEDC 7F0693AC 00A01025 */ move $v0, $a1 -.L7F0693B0: -/* 09DEE0 7F0693B0 240F0001 */ li $t7, 1 -/* 09DEE4 7F0693B4 01EE2023 */ subu $a0, $t7, $t6 -/* 09DEE8 7F0693B8 0FC17674 */ jal get_item_in_hand -/* 09DEEC 7F0693BC AFA50018 */ sw $a1, 0x18($sp) -/* 09DEF0 7F0693C0 2401000F */ li $at, 15 -/* 09DEF4 7F0693C4 10410004 */ beq $v0, $at, .L7F0693D8 -/* 09DEF8 7F0693C8 8FA50018 */ lw $a1, 0x18($sp) -/* 09DEFC 7F0693CC 24010010 */ li $at, 16 -/* 09DF00 7F0693D0 14410010 */ bne $v0, $at, .L7F069414 -/* 09DF04 7F0693D4 00000000 */ nop -.L7F0693D8: -/* 09DF08 7F0693D8 8FB90020 */ lw $t9, 0x20($sp) -/* 09DF0C 7F0693DC 3C188008 */ lui $t8, %hi(pPlayer) -/* 09DF10 7F0693E0 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 09DF14 7F0693E4 001940C0 */ sll $t0, $t9, 3 -/* 09DF18 7F0693E8 01194023 */ subu $t0, $t0, $t9 -/* 09DF1C 7F0693EC 00084080 */ sll $t0, $t0, 2 -/* 09DF20 7F0693F0 01194021 */ addu $t0, $t0, $t9 -/* 09DF24 7F0693F4 00084080 */ sll $t0, $t0, 2 -/* 09DF28 7F0693F8 01194021 */ addu $t0, $t0, $t9 -/* 09DF2C 7F0693FC 000840C0 */ sll $t0, $t0, 3 -/* 09DF30 7F069400 00084823 */ negu $t1, $t0 -/* 09DF34 7F069404 03095021 */ addu $t2, $t8, $t1 -/* 09DF38 7F069408 8D4B0C4C */ lw $t3, 0xc4c($t2) -/* 09DF3C 7F06940C 10000003 */ b .L7F06941C -/* 09DF40 7F069410 00AB1023 */ subu $v0, $a1, $t3 -.L7F069414: -/* 09DF44 7F069414 10000001 */ b .L7F06941C -/* 09DF48 7F069418 00A01025 */ move $v0, $a1 -.L7F06941C: -/* 09DF4C 7F06941C 8FBF0014 */ lw $ra, 0x14($sp) -/* 09DF50 7F069420 27BD0020 */ addiu $sp, $sp, 0x20 -/* 09DF54 7F069424 03E00008 */ jr $ra -/* 09DF58 7F069428 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_ammo_type_for_weapon(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ammo_type_for_weapon -/* 09DF5C 7F06942C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09DF60 7F069430 AFBF0014 */ sw $ra, 0x14($sp) -/* 09DF64 7F069434 0FC1722D */ jal get_ptr_item_statistics -/* 09DF68 7F069438 00000000 */ nop -/* 09DF6C 7F06943C 8FBF0014 */ lw $ra, 0x14($sp) -/* 09DF70 7F069440 8C42001C */ lw $v0, 0x1c($v0) -/* 09DF74 7F069444 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09DF78 7F069448 03E00008 */ jr $ra -/* 09DF7C 7F06944C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_ammo_count_for_weapon(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ammo_count_for_weapon -/* 09DF80 7F069450 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09DF84 7F069454 AFBF0014 */ sw $ra, 0x14($sp) -/* 09DF88 7F069458 0FC1722D */ jal get_ptr_item_statistics -/* 09DF8C 7F06945C 00000000 */ nop -/* 09DF90 7F069460 8C4F001C */ lw $t7, 0x1c($v0) -/* 09DF94 7F069464 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09DF98 7F069468 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09DF9C 7F06946C 8FBF0014 */ lw $ra, 0x14($sp) -/* 09DFA0 7F069470 000FC080 */ sll $t8, $t7, 2 -/* 09DFA4 7F069474 01D8C821 */ addu $t9, $t6, $t8 -/* 09DFA8 7F069478 8F221130 */ lw $v0, 0x1130($t9) -/* 09DFAC 7F06947C 03E00008 */ jr $ra -/* 09DFB0 7F069480 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void add_ammo_to_weapon(void) { - -} -#else -GLOBAL_ASM( -.text -glabel add_ammo_to_weapon -/* 09DFB4 7F069484 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09DFB8 7F069488 AFBF0014 */ sw $ra, 0x14($sp) -/* 09DFBC 7F06948C 0FC1722D */ jal get_ptr_item_statistics -/* 09DFC0 7F069490 AFA5001C */ sw $a1, 0x1c($sp) -/* 09DFC4 7F069494 8C44001C */ lw $a0, 0x1c($v0) -/* 09DFC8 7F069498 0FC1A44C */ jal give_cur_player_ammo -/* 09DFCC 7F06949C 8FA5001C */ lw $a1, 0x1c($sp) -/* 09DFD0 7F0694A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 09DFD4 7F0694A4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09DFD8 7F0694A8 03E00008 */ jr $ra -/* 09DFDC 7F0694AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_max_ammo_for_weapon(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_max_ammo_for_weapon -/* 09DFE0 7F0694B0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09DFE4 7F0694B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 09DFE8 7F0694B8 0FC1722D */ jal get_ptr_item_statistics -/* 09DFEC 7F0694BC 00000000 */ nop -/* 09DFF0 7F0694C0 8C4E001C */ lw $t6, 0x1c($v0) -/* 09DFF4 7F0694C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 09DFF8 7F0694C8 3C028003 */ lui $v0, %hi(ammo_related) -/* 09DFFC 7F0694CC 000E7880 */ sll $t7, $t6, 2 -/* 09E000 7F0694D0 01EE7823 */ subu $t7, $t7, $t6 -/* 09E004 7F0694D4 000F7880 */ sll $t7, $t7, 2 -/* 09E008 7F0694D8 004F1021 */ addu $v0, $v0, $t7 -/* 09E00C 7F0694DC 8C425EF0 */ lw $v0, %lo(ammo_related)($v0) -/* 09E010 7F0694E0 03E00008 */ jr $ra -/* 09E014 7F0694E4 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void *microcode_generation_ammo_related(void *arg0, void *arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5, f32 arg6, s32 arg7, ?32 arg8, ?32 arg9, ?32 argA, ?32 argB) { - f32 spA8; - f32 spAC; - f32 spB0; - f32 spB4; - f32 temp_f4; - f32 temp_f4_2; - f32 temp_f18; - f32 temp_f10; - f32 temp_f6; - f32 temp_f18_2; - f32 temp_f16; - s32 phi_t9; - f32 phi_f4; - f32 phi_f18; - s32 phi_t2; - f32 phi_f18_2; - f32 phi_f16; - ? phi_a2; - - // Node 0 - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0xc0; - *arg0 = 0xba000602; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xba001301; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xb9000002; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xba001001; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xba000c02; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0xc00; - *arg0 = 0xba000903; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xba000e02; - phi_t9 = ((s32) arg1->unk4 >> 1); - if (arg1->unk4 < 0) - { - // Node 1 - phi_t9 = ((s32) (arg1->unk4 + 1) >> 1); - } - // Node 2 - temp_f4 = (((f32) (u32) arg1->unk4 * 0.5f) - (f32) phi_t9); - spB0 = temp_f4; - if (arg5 != 0) - { - // Node 3 - spB0 = (f32) -temp_f4; - } - // Node 4 - spB0 = (f32) (spB0 + arg2); - if (0.0f <= arg3) - { - // Node 5 - temp_f4_2 = (f32) arg1->unk5; - phi_f4 = temp_f4_2; - if (arg1->unk5 < 0) - { - // Node 6 - phi_f4 = (temp_f4_2 + 4294967296.0f); - } - // Node 7 - spB4 = (f32) (arg3 - (phi_f4 * 0.5f)); - } - else - { - // Node 8 - temp_f18 = (f32) arg1->unk5; - phi_f18 = temp_f18; - if (arg1->unk5 < 0) - { - // Node 9 - phi_f18 = (temp_f18 + 4294967296.0f); - } - // Node 10 - phi_t2 = ((s32) arg1->unk5 >> 1); - if (arg1->unk5 < 0) - { - // Node 11 - phi_t2 = ((s32) (arg1->unk5 + 1) >> 1); - } - // Node 12 - temp_f10 = ((phi_f18 * 0.5f) - (f32) phi_t2); - temp_f6 = (arg4 - temp_f10); - spB4 = (f32) -temp_f10; - spB4 = temp_f6; - spB4 = (f32) (temp_f6 + arg6); - } - // Node 13 - temp_f18_2 = (f32) arg1->unk4; - phi_f18_2 = temp_f18_2; - if (arg1->unk4 < 0) - { - // Node 14 - phi_f18_2 = (temp_f18_2 + 4294967296.0f); - } - // Node 15 - spA8 = (f32) (phi_f18_2 * 0.5f); - temp_f16 = (f32) arg1->unk5; - phi_f16 = temp_f16; - if (arg1->unk5 < 0) - { - // Node 16 - phi_f16 = (temp_f16 + 4294967296.0f); - } - // Node 17 - arg0 = (void *) (arg0 + 8); - spAC = (f32) (phi_f16 * 0.5f); - arg0->unk4 = 0; - *arg0 = 0xe7000000; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xba001402; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0x504240; - *arg0 = 0xb900031d; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0xfffdf6fb; - *arg0 = 0xfcffffff; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xfa000000; - arg0 = (void *) (arg0 + 8); - *arg0 = (s32) ((((((s32) (spAC + spB4) + 1) & 0x3ff) * 4) | 0xf6000000) | ((((s32) (spB0 + spA8) + 1) & 0x3ff) << 0xe)); - arg0->unk4 = (s32) (((((s32) (spB4 - spAC) + -1) & 0x3ff) * 4) | ((((s32) (spB0 - spA8) + -1) & 0x3ff) << 0xe)); - phi_a2 = 1; - if (arg7 != 0) - { - // Node 18 - phi_a2 = 2; - } - // Node 19 - likely_generate_DL_for_image_declaration(arg3, arg2, &arg0, arg1, phi_a2, 0, 0); - display_image_at_on_screen_coord(&arg0, &spB0, &spA8, arg1->unk4, (s32) arg1->unk5, 0, 0, 1, arg8, arg9, argA, argB, (s32) (0 < arg1->unk6), 0); - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xe7000000; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0x40; - *arg0 = 0xba000602; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0x80000; - *arg0 = 0xba001301; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xb9000002; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0x10000; - *arg0 = 0xba001001; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0x2000; - *arg0 = 0xba000c02; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0xc00; - *arg0 = 0xba000903; - arg0 = (void *) (arg0 + 8); - arg0->unk4 = 0; - *arg0 = 0xba000e02; - return arg0; -} - -#else -GLOBAL_ASM( -.text -glabel microcode_generation_ammo_related -/* 09E018 7F0694E8 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 09E01C 7F0694EC AFA400B8 */ sw $a0, 0xb8($sp) -/* 09E020 7F0694F0 248F0008 */ addiu $t7, $a0, 8 -/* 09E024 7F0694F4 AFBF0044 */ sw $ra, 0x44($sp) -/* 09E028 7F0694F8 AFB00040 */ sw $s0, 0x40($sp) -/* 09E02C 7F0694FC AFAF00B8 */ sw $t7, 0xb8($sp) -/* 09E030 7F069500 3C18BA00 */ lui $t8, (0xBA000602 >> 16) # lui $t8, 0xba00 -/* 09E034 7F069504 37180602 */ ori $t8, (0xBA000602 & 0xFFFF) # ori $t8, $t8, 0x602 -/* 09E038 7F069508 241900C0 */ li $t9, 192 -/* 09E03C 7F06950C AC990004 */ sw $t9, 4($a0) -/* 09E040 7F069510 AC980000 */ sw $t8, ($a0) -/* 09E044 7F069514 8FA800B8 */ lw $t0, 0xb8($sp) -/* 09E048 7F069518 3C0ABA00 */ lui $t2, (0xBA001301 >> 16) # lui $t2, 0xba00 -/* 09E04C 7F06951C 354A1301 */ ori $t2, (0xBA001301 & 0xFFFF) # ori $t2, $t2, 0x1301 -/* 09E050 7F069520 25090008 */ addiu $t1, $t0, 8 -/* 09E054 7F069524 AFA900B8 */ sw $t1, 0xb8($sp) -/* 09E058 7F069528 AD000004 */ sw $zero, 4($t0) -/* 09E05C 7F06952C AD0A0000 */ sw $t2, ($t0) -/* 09E060 7F069530 8FAB00B8 */ lw $t3, 0xb8($sp) -/* 09E064 7F069534 3C0DB900 */ lui $t5, (0xB9000002 >> 16) # lui $t5, 0xb900 -/* 09E068 7F069538 35AD0002 */ ori $t5, (0xB9000002 & 0xFFFF) # ori $t5, $t5, 2 -/* 09E06C 7F06953C 256C0008 */ addiu $t4, $t3, 8 -/* 09E070 7F069540 AFAC00B8 */ sw $t4, 0xb8($sp) -/* 09E074 7F069544 AD600004 */ sw $zero, 4($t3) -/* 09E078 7F069548 AD6D0000 */ sw $t5, ($t3) -/* 09E07C 7F06954C 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 09E080 7F069550 3C18BA00 */ lui $t8, (0xBA001001 >> 16) # lui $t8, 0xba00 -/* 09E084 7F069554 37181001 */ ori $t8, (0xBA001001 & 0xFFFF) # ori $t8, $t8, 0x1001 -/* 09E088 7F069558 25CF0008 */ addiu $t7, $t6, 8 -/* 09E08C 7F06955C AFAF00B8 */ sw $t7, 0xb8($sp) -/* 09E090 7F069560 ADC00004 */ sw $zero, 4($t6) -/* 09E094 7F069564 ADD80000 */ sw $t8, ($t6) -/* 09E098 7F069568 8FB900B8 */ lw $t9, 0xb8($sp) -/* 09E09C 7F06956C 3C09BA00 */ lui $t1, (0xBA000C02 >> 16) # lui $t1, 0xba00 -/* 09E0A0 7F069570 35290C02 */ ori $t1, (0xBA000C02 & 0xFFFF) # ori $t1, $t1, 0xc02 -/* 09E0A4 7F069574 27280008 */ addiu $t0, $t9, 8 -/* 09E0A8 7F069578 AFA800B8 */ sw $t0, 0xb8($sp) -/* 09E0AC 7F06957C AF200004 */ sw $zero, 4($t9) -/* 09E0B0 7F069580 AF290000 */ sw $t1, ($t9) -/* 09E0B4 7F069584 8FAA00B8 */ lw $t2, 0xb8($sp) -/* 09E0B8 7F069588 3C0CBA00 */ lui $t4, (0xBA000903 >> 16) # lui $t4, 0xba00 -/* 09E0BC 7F06958C 358C0903 */ ori $t4, (0xBA000903 & 0xFFFF) # ori $t4, $t4, 0x903 -/* 09E0C0 7F069590 254B0008 */ addiu $t3, $t2, 8 -/* 09E0C4 7F069594 AFAB00B8 */ sw $t3, 0xb8($sp) -/* 09E0C8 7F069598 240D0C00 */ li $t5, 3072 -/* 09E0CC 7F06959C AD4D0004 */ sw $t5, 4($t2) -/* 09E0D0 7F0695A0 AD4C0000 */ sw $t4, ($t2) -/* 09E0D4 7F0695A4 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 09E0D8 7F0695A8 3C18BA00 */ lui $t8, (0xBA000E02 >> 16) # lui $t8, 0xba00 -/* 09E0DC 7F0695AC 37180E02 */ ori $t8, (0xBA000E02 & 0xFFFF) # ori $t8, $t8, 0xe02 -/* 09E0E0 7F0695B0 25CF0008 */ addiu $t7, $t6, 8 -/* 09E0E4 7F0695B4 AFAF00B8 */ sw $t7, 0xb8($sp) -/* 09E0E8 7F0695B8 ADC00004 */ sw $zero, 4($t6) -/* 09E0EC 7F0695BC ADD80000 */ sw $t8, ($t6) -/* 09E0F0 7F0695C0 90A40004 */ lbu $a0, 4($a1) -/* 09E0F4 7F0695C4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09E0F8 7F0695C8 44867000 */ mtc1 $a2, $f14 -/* 09E0FC 7F0695CC 44842000 */ mtc1 $a0, $f4 -/* 09E100 7F0695D0 44876000 */ mtc1 $a3, $f12 -/* 09E104 7F0695D4 44810000 */ mtc1 $at, $f0 -/* 09E108 7F0695D8 00A08025 */ move $s0, $a1 -/* 09E10C 7F0695DC 04810005 */ bgez $a0, .L7F0695F4 -/* 09E110 7F0695E0 468021A0 */ cvt.s.w $f6, $f4 -/* 09E114 7F0695E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09E118 7F0695E8 44814000 */ mtc1 $at, $f8 -/* 09E11C 7F0695EC 00000000 */ nop -/* 09E120 7F0695F0 46083180 */ add.s $f6, $f6, $f8 -.L7F0695F4: -/* 09E124 7F0695F4 46003282 */ mul.s $f10, $f6, $f0 -/* 09E128 7F0695F8 04810003 */ bgez $a0, .L7F069608 -/* 09E12C 7F0695FC 0004C843 */ sra $t9, $a0, 1 -/* 09E130 7F069600 24810001 */ addiu $at, $a0, 1 -/* 09E134 7F069604 0001C843 */ sra $t9, $at, 1 -.L7F069608: -/* 09E138 7F069608 44998000 */ mtc1 $t9, $f16 -/* 09E13C 7F06960C 8FA800CC */ lw $t0, 0xcc($sp) -/* 09E140 7F069610 3C0FE700 */ lui $t7, 0xe700 -/* 09E144 7F069614 468084A0 */ cvt.s.w $f18, $f16 -/* 09E148 7F069618 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 09E14C 7F06961C 02002825 */ move $a1, $s0 -/* 09E150 7F069620 00003825 */ move $a3, $zero -/* 09E154 7F069624 46125101 */ sub.s $f4, $f10, $f18 -/* 09E158 7F069628 44805000 */ mtc1 $zero, $f10 -/* 09E15C 7F06962C 11000003 */ beqz $t0, .L7F06963C -/* 09E160 7F069630 E7A400B0 */ swc1 $f4, 0xb0($sp) -/* 09E164 7F069634 46002207 */ neg.s $f8, $f4 -/* 09E168 7F069638 E7A800B0 */ swc1 $f8, 0xb0($sp) -.L7F06963C: -/* 09E16C 7F06963C C7A600B0 */ lwc1 $f6, 0xb0($sp) -/* 09E170 7F069640 460C503E */ c.le.s $f10, $f12 -/* 09E174 7F069644 3C08BA00 */ lui $t0, (0xBA001402 >> 16) # lui $t0, 0xba00 -/* 09E178 7F069648 460E3400 */ add.s $f16, $f6, $f14 -/* 09E17C 7F06964C 4500000D */ bc1f .L7F069684 -/* 09E180 7F069650 E7B000B0 */ swc1 $f16, 0xb0($sp) -/* 09E184 7F069654 92090005 */ lbu $t1, 5($s0) -/* 09E188 7F069658 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09E18C 7F06965C 44899000 */ mtc1 $t1, $f18 -/* 09E190 7F069660 05210004 */ bgez $t1, .L7F069674 -/* 09E194 7F069664 46809120 */ cvt.s.w $f4, $f18 -/* 09E198 7F069668 44814000 */ mtc1 $at, $f8 -/* 09E19C 7F06966C 00000000 */ nop -/* 09E1A0 7F069670 46082100 */ add.s $f4, $f4, $f8 -.L7F069674: -/* 09E1A4 7F069674 46002182 */ mul.s $f6, $f4, $f0 -/* 09E1A8 7F069678 46066401 */ sub.s $f16, $f12, $f6 -/* 09E1AC 7F06967C 10000019 */ b .L7F0696E4 -/* 09E1B0 7F069680 E7B000B4 */ swc1 $f16, 0xb4($sp) -.L7F069684: -/* 09E1B4 7F069684 92020005 */ lbu $v0, 5($s0) -/* 09E1B8 7F069688 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09E1BC 7F06968C 44825000 */ mtc1 $v0, $f10 -/* 09E1C0 7F069690 04410004 */ bgez $v0, .L7F0696A4 -/* 09E1C4 7F069694 468054A0 */ cvt.s.w $f18, $f10 -/* 09E1C8 7F069698 44814000 */ mtc1 $at, $f8 -/* 09E1CC 7F06969C 00000000 */ nop -/* 09E1D0 7F0696A0 46089480 */ add.s $f18, $f18, $f8 -.L7F0696A4: -/* 09E1D4 7F0696A4 46009102 */ mul.s $f4, $f18, $f0 -/* 09E1D8 7F0696A8 04410003 */ bgez $v0, .L7F0696B8 -/* 09E1DC 7F0696AC 00025043 */ sra $t2, $v0, 1 -/* 09E1E0 7F0696B0 24410001 */ addiu $at, $v0, 1 -/* 09E1E4 7F0696B4 00015043 */ sra $t2, $at, 1 -.L7F0696B8: -/* 09E1E8 7F0696B8 448A3000 */ mtc1 $t2, $f6 -/* 09E1EC 7F0696BC C7B200C8 */ lwc1 $f18, 0xc8($sp) -/* 09E1F0 7F0696C0 46803420 */ cvt.s.w $f16, $f6 -/* 09E1F4 7F0696C4 46102281 */ sub.s $f10, $f4, $f16 -/* 09E1F8 7F0696C8 C7A400D0 */ lwc1 $f4, 0xd0($sp) -/* 09E1FC 7F0696CC 460A9181 */ sub.s $f6, $f18, $f10 -/* 09E200 7F0696D0 46005207 */ neg.s $f8, $f10 -/* 09E204 7F0696D4 46043400 */ add.s $f16, $f6, $f4 -/* 09E208 7F0696D8 E7A800B4 */ swc1 $f8, 0xb4($sp) -/* 09E20C 7F0696DC E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 09E210 7F0696E0 E7B000B4 */ swc1 $f16, 0xb4($sp) -.L7F0696E4: -/* 09E214 7F0696E4 920B0004 */ lbu $t3, 4($s0) -/* 09E218 7F0696E8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09E21C 7F0696EC 24060001 */ li $a2, 1 -/* 09E220 7F0696F0 448B4000 */ mtc1 $t3, $f8 -/* 09E224 7F0696F4 05610004 */ bgez $t3, .L7F069708 -/* 09E228 7F0696F8 468044A0 */ cvt.s.w $f18, $f8 -/* 09E22C 7F0696FC 44815000 */ mtc1 $at, $f10 -/* 09E230 7F069700 00000000 */ nop -/* 09E234 7F069704 460A9480 */ add.s $f18, $f18, $f10 -.L7F069708: -/* 09E238 7F069708 46009182 */ mul.s $f6, $f18, $f0 -/* 09E23C 7F06970C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 09E240 7F069710 E7A600A8 */ swc1 $f6, 0xa8($sp) -/* 09E244 7F069714 920C0005 */ lbu $t4, 5($s0) -/* 09E248 7F069718 448C2000 */ mtc1 $t4, $f4 -/* 09E24C 7F06971C 05810004 */ bgez $t4, .L7F069730 -/* 09E250 7F069720 46802420 */ cvt.s.w $f16, $f4 -/* 09E254 7F069724 44814000 */ mtc1 $at, $f8 -/* 09E258 7F069728 00000000 */ nop -/* 09E25C 7F06972C 46088400 */ add.s $f16, $f16, $f8 -.L7F069730: -/* 09E260 7F069730 46008282 */ mul.s $f10, $f16, $f0 -/* 09E264 7F069734 8FAD00B8 */ lw $t5, 0xb8($sp) -/* 09E268 7F069738 35081402 */ ori $t0, (0xBA001402 & 0xFFFF) # ori $t0, $t0, 0x1402 -/* 09E26C 7F06973C 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 -/* 09E270 7F069740 25AE0008 */ addiu $t6, $t5, 8 -/* 09E274 7F069744 AFAE00B8 */ sw $t6, 0xb8($sp) -/* 09E278 7F069748 3C0C0050 */ lui $t4, (0x00504240 >> 16) # lui $t4, 0x50 -/* 09E27C 7F06974C E7AA00AC */ swc1 $f10, 0xac($sp) -/* 09E280 7F069750 ADA00004 */ sw $zero, 4($t5) -/* 09E284 7F069754 ADAF0000 */ sw $t7, ($t5) -/* 09E288 7F069758 8FB800B8 */ lw $t8, 0xb8($sp) -/* 09E28C 7F06975C 358C4240 */ ori $t4, (0x00504240 & 0xFFFF) # ori $t4, $t4, 0x4240 -/* 09E290 7F069760 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d -/* 09E294 7F069764 27190008 */ addiu $t9, $t8, 8 -/* 09E298 7F069768 AFB900B8 */ sw $t9, 0xb8($sp) -/* 09E29C 7F06976C AF000004 */ sw $zero, 4($t8) -/* 09E2A0 7F069770 AF080000 */ sw $t0, ($t8) -/* 09E2A4 7F069774 8FA900B8 */ lw $t1, 0xb8($sp) -/* 09E2A8 7F069778 3C18FFFD */ lui $t8, (0xFFFDF6FB >> 16) # lui $t8, 0xfffd -/* 09E2AC 7F06977C 3C0FFCFF */ lui $t7, (0xFCFFFFFF >> 16) # lui $t7, 0xfcff -/* 09E2B0 7F069780 252A0008 */ addiu $t2, $t1, 8 -/* 09E2B4 7F069784 AFAA00B8 */ sw $t2, 0xb8($sp) -/* 09E2B8 7F069788 AD2C0004 */ sw $t4, 4($t1) -/* 09E2BC 7F06978C AD2B0000 */ sw $t3, ($t1) -/* 09E2C0 7F069790 8FAD00B8 */ lw $t5, 0xb8($sp) -/* 09E2C4 7F069794 35EFFFFF */ ori $t7, (0xFCFFFFFF & 0xFFFF) # ori $t7, $t7, 0xffff -/* 09E2C8 7F069798 3718F6FB */ ori $t8, (0xFFFDF6FB & 0xFFFF) # ori $t8, $t8, 0xf6fb -/* 09E2CC 7F06979C 25AE0008 */ addiu $t6, $t5, 8 -/* 09E2D0 7F0697A0 AFAE00B8 */ sw $t6, 0xb8($sp) -/* 09E2D4 7F0697A4 ADB80004 */ sw $t8, 4($t5) -/* 09E2D8 7F0697A8 ADAF0000 */ sw $t7, ($t5) -/* 09E2DC 7F0697AC 8FB900B8 */ lw $t9, 0xb8($sp) -/* 09E2E0 7F0697B0 3C09FA00 */ lui $t1, 0xfa00 -/* 09E2E4 7F0697B4 3C01F600 */ lui $at, 0xf600 -/* 09E2E8 7F0697B8 27280008 */ addiu $t0, $t9, 8 -/* 09E2EC 7F0697BC AFA800B8 */ sw $t0, 0xb8($sp) -/* 09E2F0 7F0697C0 AF200004 */ sw $zero, 4($t9) -/* 09E2F4 7F0697C4 AF290000 */ sw $t1, ($t9) -/* 09E2F8 7F0697C8 C7B200AC */ lwc1 $f18, 0xac($sp) -/* 09E2FC 7F0697CC C7A600B4 */ lwc1 $f6, 0xb4($sp) -/* 09E300 7F0697D0 C7AA00A8 */ lwc1 $f10, 0xa8($sp) -/* 09E304 7F0697D4 C7B000B0 */ lwc1 $f16, 0xb0($sp) -/* 09E308 7F0697D8 46069100 */ add.s $f4, $f18, $f6 -/* 09E30C 7F0697DC 8FA200B8 */ lw $v0, 0xb8($sp) -/* 09E310 7F0697E0 460A8480 */ add.s $f18, $f16, $f10 -/* 09E314 7F0697E4 244B0008 */ addiu $t3, $v0, 8 -/* 09E318 7F0697E8 AFAB00B8 */ sw $t3, 0xb8($sp) -/* 09E31C 7F0697EC 4600220D */ trunc.w.s $f8, $f4 -/* 09E320 7F0697F0 4600918D */ trunc.w.s $f6, $f18 -/* 09E324 7F0697F4 440D4000 */ mfc1 $t5, $f8 -/* 09E328 7F0697F8 44093000 */ mfc1 $t1, $f6 -/* 09E32C 7F0697FC 25AE0001 */ addiu $t6, $t5, 1 -/* 09E330 7F069800 31CF03FF */ andi $t7, $t6, 0x3ff -/* 09E334 7F069804 252A0001 */ addiu $t2, $t1, 1 -/* 09E338 7F069808 314B03FF */ andi $t3, $t2, 0x3ff -/* 09E33C 7F06980C 000FC080 */ sll $t8, $t7, 2 -/* 09E340 7F069810 0301C825 */ or $t9, $t8, $at -/* 09E344 7F069814 000B6380 */ sll $t4, $t3, 0xe -/* 09E348 7F069818 032C6825 */ or $t5, $t9, $t4 -/* 09E34C 7F06981C AC4D0000 */ sw $t5, ($v0) -/* 09E350 7F069820 C7A800AC */ lwc1 $f8, 0xac($sp) -/* 09E354 7F069824 C7A400B4 */ lwc1 $f4, 0xb4($sp) -/* 09E358 7F069828 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 09E35C 7F06982C C7B200B0 */ lwc1 $f18, 0xb0($sp) -/* 09E360 7F069830 46082401 */ sub.s $f16, $f4, $f8 -/* 09E364 7F069834 46069101 */ sub.s $f4, $f18, $f6 -/* 09E368 7F069838 4600828D */ trunc.w.s $f10, $f16 -/* 09E36C 7F06983C 4600220D */ trunc.w.s $f8, $f4 -/* 09E370 7F069840 440F5000 */ mfc1 $t7, $f10 -/* 09E374 7F069844 440B4000 */ mfc1 $t3, $f8 -/* 09E378 7F069848 25F8FFFF */ addiu $t8, $t7, -1 -/* 09E37C 7F06984C 330803FF */ andi $t0, $t8, 0x3ff -/* 09E380 7F069850 2579FFFF */ addiu $t9, $t3, -1 -/* 09E384 7F069854 332C03FF */ andi $t4, $t9, 0x3ff -/* 09E388 7F069858 000C6B80 */ sll $t5, $t4, 0xe -/* 09E38C 7F06985C 00084880 */ sll $t1, $t0, 2 -/* 09E390 7F069860 012D7025 */ or $t6, $t1, $t5 -/* 09E394 7F069864 AC4E0004 */ sw $t6, 4($v0) -/* 09E398 7F069868 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 09E39C 7F06986C 11E00003 */ beqz $t7, .L7F06987C -/* 09E3A0 7F069870 00000000 */ nop -/* 09E3A4 7F069874 10000001 */ b .L7F06987C -/* 09E3A8 7F069878 24060002 */ li $a2, 2 -.L7F06987C: -/* 09E3AC 7F06987C 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 09E3B0 7F069880 AFA00010 */ sw $zero, 0x10($sp) -/* 09E3B4 7F069884 92180005 */ lbu $t8, 5($s0) -/* 09E3B8 7F069888 92070004 */ lbu $a3, 4($s0) -/* 09E3BC 7F06988C 8FAA00D8 */ lw $t2, 0xd8($sp) -/* 09E3C0 7F069890 8FAB00DC */ lw $t3, 0xdc($sp) -/* 09E3C4 7F069894 8FB900E0 */ lw $t9, 0xe0($sp) -/* 09E3C8 7F069898 8FAC00E4 */ lw $t4, 0xe4($sp) -/* 09E3CC 7F06989C 24080001 */ li $t0, 1 -/* 09E3D0 7F0698A0 AFA8001C */ sw $t0, 0x1c($sp) -/* 09E3D4 7F0698A4 AFA00018 */ sw $zero, 0x18($sp) -/* 09E3D8 7F0698A8 AFA00014 */ sw $zero, 0x14($sp) -/* 09E3DC 7F0698AC AFB80010 */ sw $t8, 0x10($sp) -/* 09E3E0 7F0698B0 AFAA0020 */ sw $t2, 0x20($sp) -/* 09E3E4 7F0698B4 AFAB0024 */ sw $t3, 0x24($sp) -/* 09E3E8 7F0698B8 AFB90028 */ sw $t9, 0x28($sp) -/* 09E3EC 7F0698BC AFAC002C */ sw $t4, 0x2c($sp) -/* 09E3F0 7F0698C0 92090006 */ lbu $t1, 6($s0) -/* 09E3F4 7F0698C4 AFA00034 */ sw $zero, 0x34($sp) -/* 09E3F8 7F0698C8 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 09E3FC 7F0698CC 0009682A */ slt $t5, $zero, $t1 -/* 09E400 7F0698D0 AFAD0030 */ sw $t5, 0x30($sp) -/* 09E404 7F0698D4 27A500B0 */ addiu $a1, $sp, 0xb0 -/* 09E408 7F0698D8 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 09E40C 7F0698DC 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 09E410 7F0698E0 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 09E414 7F0698E4 3C18E700 */ lui $t8, 0xe700 -/* 09E418 7F0698E8 3C0BBA00 */ lui $t3, (0xBA000602 >> 16) # lui $t3, 0xba00 -/* 09E41C 7F0698EC 25CF0008 */ addiu $t7, $t6, 8 -/* 09E420 7F0698F0 AFAF00B8 */ sw $t7, 0xb8($sp) -/* 09E424 7F0698F4 ADC00004 */ sw $zero, 4($t6) -/* 09E428 7F0698F8 ADD80000 */ sw $t8, ($t6) -/* 09E42C 7F0698FC 8FA800B8 */ lw $t0, 0xb8($sp) -/* 09E430 7F069900 356B0602 */ ori $t3, (0xBA000602 & 0xFFFF) # ori $t3, $t3, 0x602 -/* 09E434 7F069904 24190040 */ li $t9, 64 -/* 09E438 7F069908 250A0008 */ addiu $t2, $t0, 8 -/* 09E43C 7F06990C AFAA00B8 */ sw $t2, 0xb8($sp) -/* 09E440 7F069910 AD190004 */ sw $t9, 4($t0) -/* 09E444 7F069914 AD0B0000 */ sw $t3, ($t0) -/* 09E448 7F069918 8FAC00B8 */ lw $t4, 0xb8($sp) -/* 09E44C 7F06991C 3C0DBA00 */ lui $t5, (0xBA001301 >> 16) # lui $t5, 0xba00 -/* 09E450 7F069920 35AD1301 */ ori $t5, (0xBA001301 & 0xFFFF) # ori $t5, $t5, 0x1301 -/* 09E454 7F069924 25890008 */ addiu $t1, $t4, 8 -/* 09E458 7F069928 AFA900B8 */ sw $t1, 0xb8($sp) -/* 09E45C 7F06992C 3C0E0008 */ lui $t6, 8 -/* 09E460 7F069930 AD8E0004 */ sw $t6, 4($t4) -/* 09E464 7F069934 AD8D0000 */ sw $t5, ($t4) -/* 09E468 7F069938 8FAF00B8 */ lw $t7, 0xb8($sp) -/* 09E46C 7F06993C 3C08B900 */ lui $t0, (0xB9000002 >> 16) # lui $t0, 0xb900 -/* 09E470 7F069940 35080002 */ ori $t0, (0xB9000002 & 0xFFFF) # ori $t0, $t0, 2 -/* 09E474 7F069944 25F80008 */ addiu $t8, $t7, 8 -/* 09E478 7F069948 AFB800B8 */ sw $t8, 0xb8($sp) -/* 09E47C 7F06994C ADE00004 */ sw $zero, 4($t7) -/* 09E480 7F069950 ADE80000 */ sw $t0, ($t7) -/* 09E484 7F069954 8FAA00B8 */ lw $t2, 0xb8($sp) -/* 09E488 7F069958 3C19BA00 */ lui $t9, (0xBA001001 >> 16) # lui $t9, 0xba00 -/* 09E48C 7F06995C 37391001 */ ori $t9, (0xBA001001 & 0xFFFF) # ori $t9, $t9, 0x1001 -/* 09E490 7F069960 254B0008 */ addiu $t3, $t2, 8 -/* 09E494 7F069964 AFAB00B8 */ sw $t3, 0xb8($sp) -/* 09E498 7F069968 3C0C0001 */ lui $t4, 1 -/* 09E49C 7F06996C AD4C0004 */ sw $t4, 4($t2) -/* 09E4A0 7F069970 AD590000 */ sw $t9, ($t2) -/* 09E4A4 7F069974 8FA900B8 */ lw $t1, 0xb8($sp) -/* 09E4A8 7F069978 3C0EBA00 */ lui $t6, (0xBA000C02 >> 16) # lui $t6, 0xba00 -/* 09E4AC 7F06997C 35CE0C02 */ ori $t6, (0xBA000C02 & 0xFFFF) # ori $t6, $t6, 0xc02 -/* 09E4B0 7F069980 252D0008 */ addiu $t5, $t1, 8 -/* 09E4B4 7F069984 AFAD00B8 */ sw $t5, 0xb8($sp) -/* 09E4B8 7F069988 240F2000 */ li $t7, 8192 -/* 09E4BC 7F06998C AD2F0004 */ sw $t7, 4($t1) -/* 09E4C0 7F069990 AD2E0000 */ sw $t6, ($t1) -/* 09E4C4 7F069994 8FB800B8 */ lw $t8, 0xb8($sp) -/* 09E4C8 7F069998 3C0ABA00 */ lui $t2, (0xBA000903 >> 16) # lui $t2, 0xba00 -/* 09E4CC 7F06999C 354A0903 */ ori $t2, (0xBA000903 & 0xFFFF) # ori $t2, $t2, 0x903 -/* 09E4D0 7F0699A0 27080008 */ addiu $t0, $t8, 8 -/* 09E4D4 7F0699A4 AFA800B8 */ sw $t0, 0xb8($sp) -/* 09E4D8 7F0699A8 240B0C00 */ li $t3, 3072 -/* 09E4DC 7F0699AC AF0B0004 */ sw $t3, 4($t8) -/* 09E4E0 7F0699B0 AF0A0000 */ sw $t2, ($t8) -/* 09E4E4 7F0699B4 8FB900B8 */ lw $t9, 0xb8($sp) -/* 09E4E8 7F0699B8 3C09BA00 */ lui $t1, (0xBA000E02 >> 16) # lui $t1, 0xba00 -/* 09E4EC 7F0699BC 35290E02 */ ori $t1, (0xBA000E02 & 0xFFFF) # ori $t1, $t1, 0xe02 -/* 09E4F0 7F0699C0 272C0008 */ addiu $t4, $t9, 8 -/* 09E4F4 7F0699C4 AFAC00B8 */ sw $t4, 0xb8($sp) -/* 09E4F8 7F0699C8 AF200004 */ sw $zero, 4($t9) -/* 09E4FC 7F0699CC AF290000 */ sw $t1, ($t9) -/* 09E500 7F0699D0 8FBF0044 */ lw $ra, 0x44($sp) -/* 09E504 7F0699D4 8FB00040 */ lw $s0, 0x40($sp) -/* 09E508 7F0699D8 8FA200B8 */ lw $v0, 0xb8($sp) -/* 09E50C 7F0699DC 03E00008 */ jr $ra -/* 09E510 7F0699E0 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void set_rgba_redirect_generate_microcode(? arg2, ? arg3, f32 arg4, ?32 arg5, f32 arg6, ?32 arg7) { - // Node 0 - return microcode_generation_ammo_related(arg2, arg3, arg2, arg3, arg4, arg5, arg6, arg7, 0xff, 0xff, 0xff, 0xff); -} -#else -GLOBAL_ASM( -.text -glabel set_rgba_redirect_generate_microcode -/* 09E514 7F0699E4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 09E518 7F0699E8 44866000 */ mtc1 $a2, $f12 -/* 09E51C 7F0699EC 44877000 */ mtc1 $a3, $f14 -/* 09E520 7F0699F0 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 09E524 7F0699F4 8FAE004C */ lw $t6, 0x4c($sp) -/* 09E528 7F0699F8 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 09E52C 7F0699FC 8FAF0054 */ lw $t7, 0x54($sp) -/* 09E530 7F069A00 AFBF0034 */ sw $ra, 0x34($sp) -/* 09E534 7F069A04 241800FF */ li $t8, 255 -/* 09E538 7F069A08 241900FF */ li $t9, 255 -/* 09E53C 7F069A0C 240800FF */ li $t0, 255 -/* 09E540 7F069A10 240900FF */ li $t1, 255 -/* 09E544 7F069A14 44066000 */ mfc1 $a2, $f12 -/* 09E548 7F069A18 44077000 */ mfc1 $a3, $f14 -/* 09E54C 7F069A1C AFA9002C */ sw $t1, 0x2c($sp) -/* 09E550 7F069A20 AFA80028 */ sw $t0, 0x28($sp) -/* 09E554 7F069A24 AFB90024 */ sw $t9, 0x24($sp) -/* 09E558 7F069A28 AFB80020 */ sw $t8, 0x20($sp) -/* 09E55C 7F069A2C E7A40010 */ swc1 $f4, 0x10($sp) -/* 09E560 7F069A30 AFAE0014 */ sw $t6, 0x14($sp) -/* 09E564 7F069A34 E7A60018 */ swc1 $f6, 0x18($sp) -/* 09E568 7F069A38 0FC1A53A */ jal microcode_generation_ammo_related -/* 09E56C 7F069A3C AFAF001C */ sw $t7, 0x1c($sp) -/* 09E570 7F069A40 8FBF0034 */ lw $ra, 0x34($sp) -/* 09E574 7F069A44 27BD0038 */ addiu $sp, $sp, 0x38 -/* 09E578 7F069A48 03E00008 */ jr $ra -/* 09E57C 7F069A4C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 some_kind_of_display_routine(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) { - s16 sp44; - s32 sp48; - s32 sp4C; - s32 sp50; - s32 sp54; - s32 sp58; - s32 sp5C; - s32 temp_v1; - s32 temp_t0; - s32 temp_s0; - s32 phi_t8; - s32 phi_t4; - s32 phi_s0; - - // Node 0 - sp5C = 0; - sp58 = 0; - sp54 = 0; - sp50 = 0; - sp48 = 0; - sp4C = 0; - sub_GAME_7F0AE98C(&sp4C, &sp48, arg1, ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0); - if (arg3 == 1) - { - // Node 1 - sp5C = arg2; - sp54 = (s32) (arg2 + sp48); - } - else - { - // Node 2 - if (arg3 == 0) - { - // Node 3 - sp54 = arg2; - sp5C = (s32) (arg2 - sp48); - } - else - { - // Node 4 - if (arg3 == 2) - { - // Node 5 - phi_t8 = (sp48 >> 1); - if (sp48 < 0) - { - // Node 6 - phi_t8 = ((s32) (sp48 + 1) >> 1); - } - // Node 7 - temp_v1 = (phi_t8 + arg2); - sp5C = (s32) (temp_v1 - sp48); - sp54 = temp_v1; - } - } - } - // Node 8 - if (arg5 == 1) - { - // Node 9 - sp58 = arg4; - sp50 = (s32) (arg4 + sp4C); - } - else - { - // Node 10 - if (arg5 == 0) - { - // Node 11 - sp50 = arg4; - sp58 = (s32) (arg4 - sp4C); - } - else - { - // Node 12 - if (arg5 == 2) - { - // Node 13 - phi_t4 = (sp4C >> 1); - if (sp4C < 0) - { - // Node 14 - phi_t4 = ((s32) (sp4C + 1) >> 1); - } - // Node 15 - temp_t0 = (phi_t4 + arg4); - sp58 = (s32) (temp_t0 - sp4C); - sp50 = temp_t0; - } - } - } - // Node 16 - temp_s0 = draw_blackbox_to_screen(arg0, &sp5C, &sp58, &sp54, &sp50); - if (arg6 != 0) - { - // Node 17 - sp44 = get_video2_settings_txtClipW(); - phi_s0 = jp_text_write_stuff(temp_s0, &sp5C, &sp58, arg1, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, -1, 0x646464ff, sp44, get_video2_settings_txtClipH(), 0, 0); - } - else - { - // Node 18 - sp44 = get_video2_settings_txtClipW(); - phi_s0 = en_text_write_stuff(temp_s0, &sp5C, &sp58, arg1, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0xff00b0, sp44, get_video2_settings_txtClipH(), 0, 0); - } - // Node 19 - return phi_s0; -} -#else -GLOBAL_ASM( -.text -glabel some_kind_of_display_routine -/* 09E580 7F069A50 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 09E584 7F069A54 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 09E588 7F069A58 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 09E58C 7F069A5C AFB00038 */ sw $s0, 0x38($sp) -/* 09E590 7F069A60 AFA7006C */ sw $a3, 0x6c($sp) -/* 09E594 7F069A64 00808025 */ move $s0, $a0 -/* 09E598 7F069A68 AFBF003C */ sw $ra, 0x3c($sp) -/* 09E59C 7F069A6C AFA50064 */ sw $a1, 0x64($sp) -/* 09E5A0 7F069A70 AFA60068 */ sw $a2, 0x68($sp) -/* 09E5A4 7F069A74 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 09E5A8 7F069A78 AFA0005C */ sw $zero, 0x5c($sp) -/* 09E5AC 7F069A7C AFA00058 */ sw $zero, 0x58($sp) -/* 09E5B0 7F069A80 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 09E5B4 7F069A84 8FA60064 */ lw $a2, 0x64($sp) -/* 09E5B8 7F069A88 27A50048 */ addiu $a1, $sp, 0x48 -/* 09E5BC 7F069A8C 27A4004C */ addiu $a0, $sp, 0x4c -/* 09E5C0 7F069A90 AFA00014 */ sw $zero, 0x14($sp) -/* 09E5C4 7F069A94 AFA00054 */ sw $zero, 0x54($sp) -/* 09E5C8 7F069A98 AFA00050 */ sw $zero, 0x50($sp) -/* 09E5CC 7F069A9C AFA00048 */ sw $zero, 0x48($sp) -/* 09E5D0 7F069AA0 AFA0004C */ sw $zero, 0x4c($sp) -/* 09E5D4 7F069AA4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 09E5D8 7F069AA8 AFAE0010 */ sw $t6, 0x10($sp) -/* 09E5DC 7F069AAC 8FA3006C */ lw $v1, 0x6c($sp) -/* 09E5E0 7F069AB0 24040001 */ li $a0, 1 -/* 09E5E4 7F069AB4 8FA20068 */ lw $v0, 0x68($sp) -/* 09E5E8 7F069AB8 14640006 */ bne $v1, $a0, .L7F069AD4 -/* 09E5EC 7F069ABC 27A5005C */ addiu $a1, $sp, 0x5c -/* 09E5F0 7F069AC0 8FA90048 */ lw $t1, 0x48($sp) -/* 09E5F4 7F069AC4 AFA2005C */ sw $v0, 0x5c($sp) -/* 09E5F8 7F069AC8 00491821 */ addu $v1, $v0, $t1 -/* 09E5FC 7F069ACC 10000012 */ b .L7F069B18 -/* 09E600 7F069AD0 AFA30054 */ sw $v1, 0x54($sp) -.L7F069AD4: -/* 09E604 7F069AD4 14600006 */ bnez $v1, .L7F069AF0 -/* 09E608 7F069AD8 24010002 */ li $at, 2 -/* 09E60C 7F069ADC 8FA90048 */ lw $t1, 0x48($sp) -/* 09E610 7F069AE0 AFA20054 */ sw $v0, 0x54($sp) -/* 09E614 7F069AE4 00497823 */ subu $t7, $v0, $t1 -/* 09E618 7F069AE8 1000000B */ b .L7F069B18 -/* 09E61C 7F069AEC AFAF005C */ sw $t7, 0x5c($sp) -.L7F069AF0: -/* 09E620 7F069AF0 14610009 */ bne $v1, $at, .L7F069B18 -/* 09E624 7F069AF4 8FA90048 */ lw $t1, 0x48($sp) -/* 09E628 7F069AF8 05210003 */ bgez $t1, .L7F069B08 -/* 09E62C 7F069AFC 0009C043 */ sra $t8, $t1, 1 -/* 09E630 7F069B00 25210001 */ addiu $at, $t1, 1 -/* 09E634 7F069B04 0001C043 */ sra $t8, $at, 1 -.L7F069B08: -/* 09E638 7F069B08 03021821 */ addu $v1, $t8, $v0 -/* 09E63C 7F069B0C 0069C823 */ subu $t9, $v1, $t1 -/* 09E640 7F069B10 AFB9005C */ sw $t9, 0x5c($sp) -/* 09E644 7F069B14 AFA30054 */ sw $v1, 0x54($sp) -.L7F069B18: -/* 09E648 7F069B18 8FA20074 */ lw $v0, 0x74($sp) -/* 09E64C 7F069B1C 27A60058 */ addiu $a2, $sp, 0x58 -/* 09E650 7F069B20 27A70054 */ addiu $a3, $sp, 0x54 -/* 09E654 7F069B24 14440007 */ bne $v0, $a0, .L7F069B44 -/* 09E658 7F069B28 27AE0050 */ addiu $t6, $sp, 0x50 -/* 09E65C 7F069B2C 8FA20070 */ lw $v0, 0x70($sp) -/* 09E660 7F069B30 8FAA004C */ lw $t2, 0x4c($sp) -/* 09E664 7F069B34 AFA20058 */ sw $v0, 0x58($sp) -/* 09E668 7F069B38 004A4021 */ addu $t0, $v0, $t2 -/* 09E66C 7F069B3C 10000014 */ b .L7F069B90 -/* 09E670 7F069B40 AFA80050 */ sw $t0, 0x50($sp) -.L7F069B44: -/* 09E674 7F069B44 14400007 */ bnez $v0, .L7F069B64 -/* 09E678 7F069B48 24010002 */ li $at, 2 -/* 09E67C 7F069B4C 8FA20070 */ lw $v0, 0x70($sp) -/* 09E680 7F069B50 8FAA004C */ lw $t2, 0x4c($sp) -/* 09E684 7F069B54 AFA20050 */ sw $v0, 0x50($sp) -/* 09E688 7F069B58 004A5823 */ subu $t3, $v0, $t2 -/* 09E68C 7F069B5C 1000000C */ b .L7F069B90 -/* 09E690 7F069B60 AFAB0058 */ sw $t3, 0x58($sp) -.L7F069B64: -/* 09E694 7F069B64 1441000A */ bne $v0, $at, .L7F069B90 -/* 09E698 7F069B68 8FAA004C */ lw $t2, 0x4c($sp) -/* 09E69C 7F069B6C 8FA20070 */ lw $v0, 0x70($sp) -/* 09E6A0 7F069B70 05410003 */ bgez $t2, .L7F069B80 -/* 09E6A4 7F069B74 000A6043 */ sra $t4, $t2, 1 -/* 09E6A8 7F069B78 25410001 */ addiu $at, $t2, 1 -/* 09E6AC 7F069B7C 00016043 */ sra $t4, $at, 1 -.L7F069B80: -/* 09E6B0 7F069B80 01824021 */ addu $t0, $t4, $v0 -/* 09E6B4 7F069B84 010A6823 */ subu $t5, $t0, $t2 -/* 09E6B8 7F069B88 AFAD0058 */ sw $t5, 0x58($sp) -/* 09E6BC 7F069B8C AFA80050 */ sw $t0, 0x50($sp) -.L7F069B90: -/* 09E6C0 7F069B90 02002025 */ move $a0, $s0 -/* 09E6C4 7F069B94 0FC2B3D3 */ jal draw_blackbox_to_screen -/* 09E6C8 7F069B98 AFAE0010 */ sw $t6, 0x10($sp) -/* 09E6CC 7F069B9C 8FAF0078 */ lw $t7, 0x78($sp) -/* 09E6D0 7F069BA0 00408025 */ move $s0, $v0 -/* 09E6D4 7F069BA4 11E0001C */ beqz $t7, .L7F069C18 -/* 09E6D8 7F069BA8 00000000 */ nop -/* 09E6DC 7F069BAC 0C001107 */ jal get_video2_settings_txtClipW -/* 09E6E0 7F069BB0 00000000 */ nop -/* 09E6E4 7F069BB4 0C00110B */ jal get_video2_settings_txtClipH -/* 09E6E8 7F069BB8 A7A20044 */ sh $v0, 0x44($sp) -/* 09E6EC 7F069BBC 3C188004 */ lui $t8, %hi(ptrSecondFontTableSmall) -/* 09E6F0 7F069BC0 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 09E6F4 7F069BC4 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 09E6F8 7F069BC8 8F180EB0 */ lw $t8, %lo(ptrSecondFontTableSmall)($t8) -/* 09E6FC 7F069BCC 87AD0044 */ lh $t5, 0x44($sp) -/* 09E700 7F069BD0 3C0C6464 */ lui $t4, (0x646464FF >> 16) # lui $t4, 0x6464 -/* 09E704 7F069BD4 358C64FF */ ori $t4, (0x646464FF & 0xFFFF) # ori $t4, $t4, 0x64ff -/* 09E708 7F069BD8 240BFFFF */ li $t3, -1 -/* 09E70C 7F069BDC AFAB0018 */ sw $t3, 0x18($sp) -/* 09E710 7F069BE0 AFAC001C */ sw $t4, 0x1c($sp) -/* 09E714 7F069BE4 02002025 */ move $a0, $s0 -/* 09E718 7F069BE8 27A5005C */ addiu $a1, $sp, 0x5c -/* 09E71C 7F069BEC 27A60058 */ addiu $a2, $sp, 0x58 -/* 09E720 7F069BF0 8FA70064 */ lw $a3, 0x64($sp) -/* 09E724 7F069BF4 AFA20024 */ sw $v0, 0x24($sp) -/* 09E728 7F069BF8 AFA00028 */ sw $zero, 0x28($sp) -/* 09E72C 7F069BFC AFA0002C */ sw $zero, 0x2c($sp) -/* 09E730 7F069C00 AFB90014 */ sw $t9, 0x14($sp) -/* 09E734 7F069C04 AFB80010 */ sw $t8, 0x10($sp) -/* 09E738 7F069C08 0FC2B9BB */ jal jp_text_write_stuff -/* 09E73C 7F069C0C AFAD0020 */ sw $t5, 0x20($sp) -/* 09E740 7F069C10 10000019 */ b .L7F069C78 -/* 09E744 7F069C14 00408025 */ move $s0, $v0 -.L7F069C18: -/* 09E748 7F069C18 0C001107 */ jal get_video2_settings_txtClipW -/* 09E74C 7F069C1C 00000000 */ nop -/* 09E750 7F069C20 0C00110B */ jal get_video2_settings_txtClipH -/* 09E754 7F069C24 A7A20044 */ sh $v0, 0x44($sp) -/* 09E758 7F069C28 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) -/* 09E75C 7F069C2C 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) -/* 09E760 7F069C30 8DEF0EAC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 09E764 7F069C34 8DCE0EB0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 09E768 7F069C38 87B90044 */ lh $t9, 0x44($sp) -/* 09E76C 7F069C3C 3C1800FF */ lui $t8, (0x00FF00B0 >> 16) # lui $t8, 0xff -/* 09E770 7F069C40 371800B0 */ ori $t8, (0x00FF00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 09E774 7F069C44 AFB80018 */ sw $t8, 0x18($sp) -/* 09E778 7F069C48 02002025 */ move $a0, $s0 -/* 09E77C 7F069C4C 27A5005C */ addiu $a1, $sp, 0x5c -/* 09E780 7F069C50 27A60058 */ addiu $a2, $sp, 0x58 -/* 09E784 7F069C54 8FA70064 */ lw $a3, 0x64($sp) -/* 09E788 7F069C58 AFA20020 */ sw $v0, 0x20($sp) -/* 09E78C 7F069C5C AFA00024 */ sw $zero, 0x24($sp) -/* 09E790 7F069C60 AFA00028 */ sw $zero, 0x28($sp) -/* 09E794 7F069C64 AFAF0014 */ sw $t7, 0x14($sp) -/* 09E798 7F069C68 AFAE0010 */ sw $t6, 0x10($sp) -/* 09E79C 7F069C6C 0FC2B6AF */ jal en_text_write_stuff -/* 09E7A0 7F069C70 AFB9001C */ sw $t9, 0x1c($sp) -/* 09E7A4 7F069C74 00408025 */ move $s0, $v0 -.L7F069C78: -/* 09E7A8 7F069C78 8FBF003C */ lw $ra, 0x3c($sp) -/* 09E7AC 7F069C7C 02001025 */ move $v0, $s0 -/* 09E7B0 7F069C80 8FB00038 */ lw $s0, 0x38($sp) -/* 09E7B4 7F069C84 03E00008 */ jr $ra -/* 09E7B8 7F069C88 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void display_ammo_total_in_a1(s32 arg0, s32 arg1, ? arg2, ? arg3, ?32 arg4, ?32 arg5, ?32 arg6) { - ? sp2C; - - // Node 0 - sprintf(&sp2C, &aD_9, arg1); - return some_kind_of_display_routine(arg0, &sp2C, arg2, arg3, arg4, arg5, arg6); -} - -#else -GLOBAL_ASM( -.text -glabel display_ammo_total_in_a1 -/* 09E7BC 7F069C8C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 09E7C0 7F069C90 AFA60040 */ sw $a2, 0x40($sp) -/* 09E7C4 7F069C94 00A03025 */ move $a2, $a1 -/* 09E7C8 7F069C98 AFA5003C */ sw $a1, 0x3c($sp) -/* 09E7CC 7F069C9C AFBF0024 */ sw $ra, 0x24($sp) -/* 09E7D0 7F069CA0 AFA40038 */ sw $a0, 0x38($sp) -/* 09E7D4 7F069CA4 3C058005 */ lui $a1, %hi(aD_9) -/* 09E7D8 7F069CA8 AFA70044 */ sw $a3, 0x44($sp) -/* 09E7DC 7F069CAC 24A53BF4 */ addiu $a1, %lo(aD_9) # addiu $a1, $a1, 0x3bf4 -/* 09E7E0 7F069CB0 0C002B25 */ jal sprintf -/* 09E7E4 7F069CB4 27A4002C */ addiu $a0, $sp, 0x2c -/* 09E7E8 7F069CB8 8FAE0048 */ lw $t6, 0x48($sp) -/* 09E7EC 7F069CBC 8FAF004C */ lw $t7, 0x4c($sp) -/* 09E7F0 7F069CC0 8FB80050 */ lw $t8, 0x50($sp) -/* 09E7F4 7F069CC4 8FA40038 */ lw $a0, 0x38($sp) -/* 09E7F8 7F069CC8 27A5002C */ addiu $a1, $sp, 0x2c -/* 09E7FC 7F069CCC 8FA60040 */ lw $a2, 0x40($sp) -/* 09E800 7F069CD0 8FA70044 */ lw $a3, 0x44($sp) -/* 09E804 7F069CD4 AFAE0010 */ sw $t6, 0x10($sp) -/* 09E808 7F069CD8 AFAF0014 */ sw $t7, 0x14($sp) -/* 09E80C 7F069CDC 0FC1A694 */ jal some_kind_of_display_routine -/* 09E810 7F069CE0 AFB80018 */ sw $t8, 0x18($sp) -/* 09E814 7F069CE4 8FBF0024 */ lw $ra, 0x24($sp) -/* 09E818 7F069CE8 27BD0038 */ addiu $sp, $sp, 0x38 -/* 09E81C 7F069CEC 03E00008 */ jr $ra -/* 09E820 7F069CF0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 generate_ammo_total_microcode(s32 arg0) { - void *sp28; - s16 sp2C; - s16 sp2E; - f32 sp30; - f32 sp34; - s16 sp38; - s32 sp3C; - void *sp40; - s32 sp44; - void *sp48; - s32 sp4C; - s32 sp50; - s32 sp54; - s32 sp58; - s32 sp5C; - s32 sp60; - s32 sp64; - ? temp_ret; - void *temp_v1; - s32 temp_v1_3; - s32 temp_t3; - ? temp_ret_2; - void *temp_v1_2; - s32 temp_v1_4; - s32 temp_t1; - s32 phi_v1; - s32 phi_t9; - s32 phi_t0; - s32 phi_v1_2; - s32 phi_t3; - s32 phi_t0_2; - - // Node 0 - if (pPlayer->unk1064 == 0) - { - // Node 1 - if (pPlayer->unk29C4 == 0) - { - // Node 2 - sp64 = get_item_in_hand(1); - sp60 = get_item_in_hand(0); - if (get_num_players() < 3) - { - // Node 3 - sp58 = 0x3b; - sp54 = 0x3b; - } - else - { - // Node 4 - if ((get_cur_playernum() & 1) != 0) - { - // Node 5 - sp58 = 0x2b; - sp54 = 0x7f; - } - else - { - // Node 6 - sp58 = 0x3b; - sp54 = 0x6d; - } - } - // Node 7 - if (sp60 != 0) - { - // Node 8 - temp_ret = get_ammo_type_for_weapon(sp60); - sp5C = temp_ret; - if (temp_ret != 0) - { - // Node 9 - if (pPlayer->unk894 != 7) - { - // Node 10 - if (pPlayer->unk894 != 7) - { - // Node 11 - if (check_special_attributes(sp60, 0x80000) == 0) - { - // Node 12 - temp_v1 = ((sp5C * 0xc) + &ammo_related); - sp44 = 5; - if (temp_v1->unk4 != 0) - { - // Node 13 - sp28 = temp_v1; - sp48 = (void *) (temp_v1->unk4 + globalbank_rdram_offset); - sp30 = getPlayer_c_screenleft(); - sp34 = getPlayer_c_screenwidth(); - sp38 = get_video2_settings_uly(); - arg0 = set_rgba_redirect_generate_microcode(arg0, sp48, ((sp34 + sp30) - (f32) sp54), 0xbf800000, (f32) ((get_video2_settings_height() + sp38) + -0x14), 0, (f32) sp28->unk8, 1); - sp44 = (s32) sp48->unk4; - } - // Node 14 - arg0 = microcode_constructor(arg0); - if (check_special_attributes(sp60, 0x400000) != 0) - { - // Node 15 - sp4C = 0; - temp_v1_3 = (pPlayer->unk89C + (pPlayer + (sp5C * 4))->unk1130); - phi_v1 = temp_v1_3; - if (sp64 == sp60) - { - // Node 16 - phi_v1 = (temp_v1_3 + pPlayer->unkC44); - } - // Node 17 - sp50 = (s32) phi_v1; - } - else - { - // Node 18 - sp4C = (s32) pPlayer->unk89C; - sp50 = (s32) (pPlayer + (sp5C * 4))->unk1130; - } - // Node 19 - if (check_special_attributes(sp60, 0x400000) == 0) - { - // Node 20 - sp2C = get_video2_settings_ulx(); - sp2E = get_video2_settings_width(); - sp38 = get_video2_settings_uly(); - get_video2_settings_height(); - phi_t9 = (sp44 >> 1); - if (sp44 < 0) - { - // Node 21 - phi_t9 = ((s32) (sp44 + 1) >> 1); - } - // Node 22 - arg0 = display_ammo_total_in_a1(arg0, sp4C, ((((sp2E + sp2C) - sp54) - phi_t9) + -4), 0); - } - // Node 23 - if ((sp50 > 0) || (check_special_attributes(sp60, 0x400000) != 0)) - { - // Node 25 - sp2C = get_video2_settings_ulx(); - sp2E = get_video2_settings_width(); - sp38 = get_video2_settings_uly(); - get_video2_settings_height(); - temp_t3 = (sp44 + 1); - phi_t0 = (temp_t3 >> 1); - if (temp_t3 < 0) - { - // Node 26 - phi_t0 = ((s32) (temp_t3 + 1) >> 1); - } - // Node 27 - arg0 = display_ammo_total_in_a1(arg0, sp50, ((((sp2E + sp2C) - sp54) + phi_t0) + 3), 1); - } - else - { - - } - // Node 28 - arg0 = combiner_bayer_lod_perspective(arg0); - } - } - } - } - } - // Node 29 - if (sp64 != 0) - { - // Node 30 - temp_ret_2 = get_ammo_type_for_weapon(sp64); - sp5C = temp_ret_2; - if (temp_ret_2 != 0) - { - // Node 31 - if (pPlayer->unkC3C != 7) - { - // Node 32 - if (pPlayer->unkC3C != 7) - { - // Node 33 - if (check_special_attributes(sp64, 0x80000) == 0) - { - // Node 34 - temp_v1_2 = ((sp5C * 0xc) + &ammo_related); - sp3C = 5; - if (temp_v1_2->unk4 != 0) - { - // Node 35 - sp28 = temp_v1_2; - sp40 = (void *) (temp_v1_2->unk4 + globalbank_rdram_offset); - sp34 = getPlayer_c_screenleft(); - sp38 = get_video2_settings_uly(); - get_video2_settings_height(); - arg0 = set_rgba_redirect_generate_microcode(sp28->unk8, arg0, sp40, (sp34 + (f32) sp58), 0xbf800000, 1, 1); - sp3C = (s32) sp40->unk4; - } - // Node 36 - arg0 = microcode_constructor(arg0); - if (check_special_attributes(sp64, 0x400000) != 0) - { - // Node 37 - sp4C = 0; - temp_v1_4 = (pPlayer->unkC44 + (pPlayer + (sp5C * 4))->unk1130); - phi_v1_2 = temp_v1_4; - if (sp64 == sp60) - { - // Node 38 - phi_v1_2 = (temp_v1_4 + pPlayer->unk89C); - } - // Node 39 - sp50 = (s32) phi_v1_2; - } - else - { - // Node 40 - sp4C = (s32) pPlayer->unkC44; - sp50 = (s32) (pPlayer + (sp5C * 4))->unk1130; - } - // Node 41 - if (check_special_attributes(sp64, 0x400000) == 0) - { - // Node 42 - sp2E = get_video2_settings_ulx(); - sp38 = get_video2_settings_uly(); - get_video2_settings_height(); - phi_t3 = (sp3C >> 1); - if (sp3C < 0) - { - // Node 43 - phi_t3 = ((s32) (sp3C + 1) >> 1); - } - // Node 44 - arg0 = display_ammo_total_in_a1(arg0, sp4C, (((sp2E + sp58) + phi_t3) + 3), 1); - } - // Node 45 - if ((sp50 > 0) || (check_special_attributes(sp64, 0x400000) != 0)) - { - // Node 47 - sp2E = get_video2_settings_ulx(); - sp38 = get_video2_settings_uly(); - get_video2_settings_height(); - temp_t1 = (sp3C + 1); - phi_t0_2 = (temp_t1 >> 1); - if (temp_t1 < 0) - { - // Node 48 - phi_t0_2 = ((s32) (temp_t1 + 1) >> 1); - } - // Node 49 - arg0 = display_ammo_total_in_a1(arg0, sp50, (((sp2E + sp58) - phi_t0_2) + -4), 0); - } - else - { - - } - // Node 50 - arg0 = combiner_bayer_lod_perspective(arg0); - } - } - } - } - } - } - } - // Node 51 - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel generate_ammo_total_microcode -/* 09E824 7F069CF4 3C028008 */ lui $v0, %hi(pPlayer) -/* 09E828 7F069CF8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09E82C 7F069CFC 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 09E830 7F069D00 AFBF0024 */ sw $ra, 0x24($sp) -/* 09E834 7F069D04 AFA40068 */ sw $a0, 0x68($sp) -/* 09E838 7F069D08 8C4E1064 */ lw $t6, 0x1064($v0) -/* 09E83C 7F069D0C 55C00185 */ bnezl $t6, .L7F06A324 -/* 09E840 7F069D10 8FBF0024 */ lw $ra, 0x24($sp) -/* 09E844 7F069D14 8C4F29C4 */ lw $t7, 0x29c4($v0) -/* 09E848 7F069D18 55E00182 */ bnezl $t7, .L7F06A324 -/* 09E84C 7F069D1C 8FBF0024 */ lw $ra, 0x24($sp) -/* 09E850 7F069D20 0FC17674 */ jal get_item_in_hand -/* 09E854 7F069D24 24040001 */ li $a0, 1 -/* 09E858 7F069D28 AFA20064 */ sw $v0, 0x64($sp) -/* 09E85C 7F069D2C 0FC17674 */ jal get_item_in_hand -/* 09E860 7F069D30 00002025 */ move $a0, $zero -/* 09E864 7F069D34 0FC26919 */ jal get_num_players -/* 09E868 7F069D38 AFA20060 */ sw $v0, 0x60($sp) -/* 09E86C 7F069D3C 28410003 */ slti $at, $v0, 3 -/* 09E870 7F069D40 10200005 */ beqz $at, .L7F069D58 -/* 09E874 7F069D44 2418003B */ li $t8, 59 -/* 09E878 7F069D48 2419003B */ li $t9, 59 -/* 09E87C 7F069D4C AFB80058 */ sw $t8, 0x58($sp) -/* 09E880 7F069D50 1000000E */ b .L7F069D8C -/* 09E884 7F069D54 AFB90054 */ sw $t9, 0x54($sp) -.L7F069D58: -/* 09E888 7F069D58 0FC26C54 */ jal get_cur_playernum -/* 09E88C 7F069D5C 00000000 */ nop -/* 09E890 7F069D60 30480001 */ andi $t0, $v0, 1 -/* 09E894 7F069D64 11000006 */ beqz $t0, .L7F069D80 -/* 09E898 7F069D68 240B003B */ li $t3, 59 -/* 09E89C 7F069D6C 2409002B */ li $t1, 43 -/* 09E8A0 7F069D70 240A007F */ li $t2, 127 -/* 09E8A4 7F069D74 AFA90058 */ sw $t1, 0x58($sp) -/* 09E8A8 7F069D78 10000004 */ b .L7F069D8C -/* 09E8AC 7F069D7C AFAA0054 */ sw $t2, 0x54($sp) -.L7F069D80: -/* 09E8B0 7F069D80 240C006D */ li $t4, 109 -/* 09E8B4 7F069D84 AFAB0058 */ sw $t3, 0x58($sp) -/* 09E8B8 7F069D88 AFAC0054 */ sw $t4, 0x54($sp) -.L7F069D8C: -/* 09E8BC 7F069D8C 8FAD0060 */ lw $t5, 0x60($sp) -/* 09E8C0 7F069D90 51A000B7 */ beql $t5, $zero, .L7F06A070 -/* 09E8C4 7F069D94 8FA40064 */ lw $a0, 0x64($sp) -/* 09E8C8 7F069D98 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09E8CC 7F069D9C 01A02025 */ move $a0, $t5 -/* 09E8D0 7F069DA0 104000B2 */ beqz $v0, .L7F06A06C -/* 09E8D4 7F069DA4 AFA2005C */ sw $v0, 0x5c($sp) -/* 09E8D8 7F069DA8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09E8DC 7F069DAC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09E8E0 7F069DB0 24010006 */ li $at, 6 -/* 09E8E4 7F069DB4 8DC20894 */ lw $v0, 0x894($t6) -/* 09E8E8 7F069DB8 104100AC */ beq $v0, $at, .L7F06A06C -/* 09E8EC 7F069DBC 24010007 */ li $at, 7 -/* 09E8F0 7F069DC0 104100AA */ beq $v0, $at, .L7F06A06C -/* 09E8F4 7F069DC4 8FA40060 */ lw $a0, 0x60($sp) -/* 09E8F8 7F069DC8 0FC1782D */ jal check_special_attributes -/* 09E8FC 7F069DCC 3C050008 */ lui $a1, 8 -/* 09E900 7F069DD0 144000A6 */ bnez $v0, .L7F06A06C -/* 09E904 7F069DD4 8FAF005C */ lw $t7, 0x5c($sp) -/* 09E908 7F069DD8 000FC080 */ sll $t8, $t7, 2 -/* 09E90C 7F069DDC 030FC023 */ subu $t8, $t8, $t7 -/* 09E910 7F069DE0 3C198003 */ lui $t9, %hi(ammo_related) -/* 09E914 7F069DE4 27395EF0 */ addiu $t9, %lo(ammo_related) # addiu $t9, $t9, 0x5ef0 -/* 09E918 7F069DE8 0018C080 */ sll $t8, $t8, 2 -/* 09E91C 7F069DEC 03191821 */ addu $v1, $t8, $t9 -/* 09E920 7F069DF0 8C620004 */ lw $v0, 4($v1) -/* 09E924 7F069DF4 24080005 */ li $t0, 5 -/* 09E928 7F069DF8 AFA80044 */ sw $t0, 0x44($sp) -/* 09E92C 7F069DFC 10400028 */ beqz $v0, .L7F069EA0 -/* 09E930 7F069E00 3C098009 */ lui $t1, %hi(globalbank_rdram_offset) -/* 09E934 7F069E04 8D29D0B0 */ lw $t1, %lo(globalbank_rdram_offset)($t1) -/* 09E938 7F069E08 AFA30028 */ sw $v1, 0x28($sp) -/* 09E93C 7F069E0C 00491021 */ addu $v0, $v0, $t1 -/* 09E940 7F069E10 0FC1E131 */ jal getPlayer_c_screenleft -/* 09E944 7F069E14 AFA20048 */ sw $v0, 0x48($sp) -/* 09E948 7F069E18 0FC1E129 */ jal getPlayer_c_screenwidth -/* 09E94C 7F069E1C E7A00030 */ swc1 $f0, 0x30($sp) -/* 09E950 7F069E20 0C001149 */ jal get_video2_settings_uly -/* 09E954 7F069E24 E7A00034 */ swc1 $f0, 0x34($sp) -/* 09E958 7F069E28 0C00112B */ jal get_video2_settings_height -/* 09E95C 7F069E2C A7A20038 */ sh $v0, 0x38($sp) -/* 09E960 7F069E30 8FAA0054 */ lw $t2, 0x54($sp) -/* 09E964 7F069E34 87AB0038 */ lh $t3, 0x38($sp) -/* 09E968 7F069E38 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 09E96C 7F069E3C C7A60030 */ lwc1 $f6, 0x30($sp) -/* 09E970 7F069E40 448A5000 */ mtc1 $t2, $f10 -/* 09E974 7F069E44 004B6021 */ addu $t4, $v0, $t3 -/* 09E978 7F069E48 46062200 */ add.s $f8, $f4, $f6 -/* 09E97C 7F069E4C 258DFFEC */ addiu $t5, $t4, -0x14 -/* 09E980 7F069E50 448D2000 */ mtc1 $t5, $f4 -/* 09E984 7F069E54 46805420 */ cvt.s.w $f16, $f10 -/* 09E988 7F069E58 8FAE0028 */ lw $t6, 0x28($sp) -/* 09E98C 7F069E5C AFA00014 */ sw $zero, 0x14($sp) -/* 09E990 7F069E60 240F0001 */ li $t7, 1 -/* 09E994 7F069E64 8FA40068 */ lw $a0, 0x68($sp) -/* 09E998 7F069E68 468021A0 */ cvt.s.w $f6, $f4 -/* 09E99C 7F069E6C 8FA50048 */ lw $a1, 0x48($sp) -/* 09E9A0 7F069E70 3C07BF80 */ lui $a3, 0xbf80 -/* 09E9A4 7F069E74 46104481 */ sub.s $f18, $f8, $f16 -/* 09E9A8 7F069E78 E7A60010 */ swc1 $f6, 0x10($sp) -/* 09E9AC 7F069E7C C5CA0008 */ lwc1 $f10, 8($t6) -/* 09E9B0 7F069E80 AFAF001C */ sw $t7, 0x1c($sp) -/* 09E9B4 7F069E84 44069000 */ mfc1 $a2, $f18 -/* 09E9B8 7F069E88 0FC1A679 */ jal set_rgba_redirect_generate_microcode -/* 09E9BC 7F069E8C E7AA0018 */ swc1 $f10, 0x18($sp) -/* 09E9C0 7F069E90 8FB80048 */ lw $t8, 0x48($sp) -/* 09E9C4 7F069E94 AFA20068 */ sw $v0, 0x68($sp) -/* 09E9C8 7F069E98 93190004 */ lbu $t9, 4($t8) -/* 09E9CC 7F069E9C AFB90044 */ sw $t9, 0x44($sp) -.L7F069EA0: -/* 09E9D0 7F069EA0 0FC2B366 */ jal microcode_constructor -/* 09E9D4 7F069EA4 8FA40068 */ lw $a0, 0x68($sp) -/* 09E9D8 7F069EA8 AFA20068 */ sw $v0, 0x68($sp) -/* 09E9DC 7F069EAC 8FA40060 */ lw $a0, 0x60($sp) -/* 09E9E0 7F069EB0 0FC1782D */ jal check_special_attributes -/* 09E9E4 7F069EB4 3C050040 */ lui $a1, 0x40 -/* 09E9E8 7F069EB8 10400011 */ beqz $v0, .L7F069F00 -/* 09E9EC 7F069EBC 3C050040 */ lui $a1, 0x40 -/* 09E9F0 7F069EC0 8FA9005C */ lw $t1, 0x5c($sp) -/* 09E9F4 7F069EC4 3C028008 */ lui $v0, %hi(pPlayer) -/* 09E9F8 7F069EC8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09E9FC 7F069ECC AFA0004C */ sw $zero, 0x4c($sp) -/* 09EA00 7F069ED0 00095080 */ sll $t2, $t1, 2 -/* 09EA04 7F069ED4 8FAD0064 */ lw $t5, 0x64($sp) -/* 09EA08 7F069ED8 8FAE0060 */ lw $t6, 0x60($sp) -/* 09EA0C 7F069EDC 004A5821 */ addu $t3, $v0, $t2 -/* 09EA10 7F069EE0 8D6C1130 */ lw $t4, 0x1130($t3) -/* 09EA14 7F069EE4 8C48089C */ lw $t0, 0x89c($v0) -/* 09EA18 7F069EE8 15AE0003 */ bne $t5, $t6, .L7F069EF8 -/* 09EA1C 7F069EEC 010C1821 */ addu $v1, $t0, $t4 -/* 09EA20 7F069EF0 8C4F0C44 */ lw $t7, 0xc44($v0) -/* 09EA24 7F069EF4 006F1821 */ addu $v1, $v1, $t7 -.L7F069EF8: -/* 09EA28 7F069EF8 1000000A */ b .L7F069F24 -/* 09EA2C 7F069EFC AFA30050 */ sw $v1, 0x50($sp) -.L7F069F00: -/* 09EA30 7F069F00 3C028008 */ lui $v0, %hi(pPlayer) -/* 09EA34 7F069F04 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09EA38 7F069F08 8FB9005C */ lw $t9, 0x5c($sp) -/* 09EA3C 7F069F0C 8C58089C */ lw $t8, 0x89c($v0) -/* 09EA40 7F069F10 00194880 */ sll $t1, $t9, 2 -/* 09EA44 7F069F14 00495021 */ addu $t2, $v0, $t1 -/* 09EA48 7F069F18 AFB8004C */ sw $t8, 0x4c($sp) -/* 09EA4C 7F069F1C 8D4B1130 */ lw $t3, 0x1130($t2) -/* 09EA50 7F069F20 AFAB0050 */ sw $t3, 0x50($sp) -.L7F069F24: -/* 09EA54 7F069F24 0FC1782D */ jal check_special_attributes -/* 09EA58 7F069F28 8FA40060 */ lw $a0, 0x60($sp) -/* 09EA5C 7F069F2C 54400023 */ bnezl $v0, .L7F069FBC -/* 09EA60 7F069F30 8FAD0050 */ lw $t5, 0x50($sp) -/* 09EA64 7F069F34 0C001145 */ jal get_video2_settings_ulx -/* 09EA68 7F069F38 00000000 */ nop -/* 09EA6C 7F069F3C 0C001127 */ jal get_video2_settings_width -/* 09EA70 7F069F40 A7A2002C */ sh $v0, 0x2c($sp) -/* 09EA74 7F069F44 0C001149 */ jal get_video2_settings_uly -/* 09EA78 7F069F48 A7A2002E */ sh $v0, 0x2e($sp) -/* 09EA7C 7F069F4C 0C00112B */ jal get_video2_settings_height -/* 09EA80 7F069F50 A7A20038 */ sh $v0, 0x38($sp) -/* 09EA84 7F069F54 87A8002E */ lh $t0, 0x2e($sp) -/* 09EA88 7F069F58 87AC002C */ lh $t4, 0x2c($sp) -/* 09EA8C 7F069F5C 8FAE0054 */ lw $t6, 0x54($sp) -/* 09EA90 7F069F60 8FB80044 */ lw $t8, 0x44($sp) -/* 09EA94 7F069F64 87A90038 */ lh $t1, 0x38($sp) -/* 09EA98 7F069F68 010C6821 */ addu $t5, $t0, $t4 -/* 09EA9C 7F069F6C 01AE7823 */ subu $t7, $t5, $t6 -/* 09EAA0 7F069F70 00495021 */ addu $t2, $v0, $t1 -/* 09EAA4 7F069F74 254BFFEE */ addiu $t3, $t2, -0x12 -/* 09EAA8 7F069F78 240C0001 */ li $t4, 1 -/* 09EAAC 7F069F7C 24080002 */ li $t0, 2 -/* 09EAB0 7F069F80 AFA80014 */ sw $t0, 0x14($sp) -/* 09EAB4 7F069F84 AFAC0018 */ sw $t4, 0x18($sp) -/* 09EAB8 7F069F88 AFAB0010 */ sw $t3, 0x10($sp) -/* 09EABC 7F069F8C 8FA40068 */ lw $a0, 0x68($sp) -/* 09EAC0 7F069F90 8FA5004C */ lw $a1, 0x4c($sp) -/* 09EAC4 7F069F94 07010003 */ bgez $t8, .L7F069FA4 -/* 09EAC8 7F069F98 0018C843 */ sra $t9, $t8, 1 -/* 09EACC 7F069F9C 27010001 */ addiu $at, $t8, 1 -/* 09EAD0 7F069FA0 0001C843 */ sra $t9, $at, 1 -.L7F069FA4: -/* 09EAD4 7F069FA4 01F93023 */ subu $a2, $t7, $t9 -/* 09EAD8 7F069FA8 24C6FFFC */ addiu $a2, $a2, -4 -/* 09EADC 7F069FAC 0FC1A723 */ jal display_ammo_total_in_a1 -/* 09EAE0 7F069FB0 00003825 */ move $a3, $zero -/* 09EAE4 7F069FB4 AFA20068 */ sw $v0, 0x68($sp) -/* 09EAE8 7F069FB8 8FAD0050 */ lw $t5, 0x50($sp) -.L7F069FBC: -/* 09EAEC 7F069FBC 8FA40060 */ lw $a0, 0x60($sp) -/* 09EAF0 7F069FC0 1DA00005 */ bgtz $t5, .L7F069FD8 -/* 09EAF4 7F069FC4 00000000 */ nop -/* 09EAF8 7F069FC8 0FC1782D */ jal check_special_attributes -/* 09EAFC 7F069FCC 3C050040 */ lui $a1, 0x40 -/* 09EB00 7F069FD0 10400023 */ beqz $v0, .L7F06A060 -/* 09EB04 7F069FD4 00000000 */ nop -.L7F069FD8: -/* 09EB08 7F069FD8 0C001145 */ jal get_video2_settings_ulx -/* 09EB0C 7F069FDC 00000000 */ nop -/* 09EB10 7F069FE0 0C001127 */ jal get_video2_settings_width -/* 09EB14 7F069FE4 A7A2002C */ sh $v0, 0x2c($sp) -/* 09EB18 7F069FE8 0C001149 */ jal get_video2_settings_uly -/* 09EB1C 7F069FEC A7A2002E */ sh $v0, 0x2e($sp) -/* 09EB20 7F069FF0 0C00112B */ jal get_video2_settings_height -/* 09EB24 7F069FF4 A7A20038 */ sh $v0, 0x38($sp) -/* 09EB28 7F069FF8 87AE002E */ lh $t6, 0x2e($sp) -/* 09EB2C 7F069FFC 87B8002C */ lh $t8, 0x2c($sp) -/* 09EB30 7F06A000 8FB90054 */ lw $t9, 0x54($sp) -/* 09EB34 7F06A004 8FAA0044 */ lw $t2, 0x44($sp) -/* 09EB38 7F06A008 87AC0038 */ lh $t4, 0x38($sp) -/* 09EB3C 7F06A00C 01D87821 */ addu $t7, $t6, $t8 -/* 09EB40 7F06A010 01F94823 */ subu $t1, $t7, $t9 -/* 09EB44 7F06A014 254B0001 */ addiu $t3, $t2, 1 -/* 09EB48 7F06A018 004C6821 */ addu $t5, $v0, $t4 -/* 09EB4C 7F06A01C 25AEFFEE */ addiu $t6, $t5, -0x12 -/* 09EB50 7F06A020 240F0001 */ li $t7, 1 -/* 09EB54 7F06A024 24180002 */ li $t8, 2 -/* 09EB58 7F06A028 AFB80014 */ sw $t8, 0x14($sp) -/* 09EB5C 7F06A02C AFAF0018 */ sw $t7, 0x18($sp) -/* 09EB60 7F06A030 AFAE0010 */ sw $t6, 0x10($sp) -/* 09EB64 7F06A034 8FA40068 */ lw $a0, 0x68($sp) -/* 09EB68 7F06A038 8FA50050 */ lw $a1, 0x50($sp) -/* 09EB6C 7F06A03C 05610003 */ bgez $t3, .L7F06A04C -/* 09EB70 7F06A040 000B4043 */ sra $t0, $t3, 1 -/* 09EB74 7F06A044 25610001 */ addiu $at, $t3, 1 -/* 09EB78 7F06A048 00014043 */ sra $t0, $at, 1 -.L7F06A04C: -/* 09EB7C 7F06A04C 01283021 */ addu $a2, $t1, $t0 -/* 09EB80 7F06A050 24C60003 */ addiu $a2, $a2, 3 -/* 09EB84 7F06A054 0FC1A723 */ jal display_ammo_total_in_a1 -/* 09EB88 7F06A058 24070001 */ li $a3, 1 -/* 09EB8C 7F06A05C AFA20068 */ sw $v0, 0x68($sp) -.L7F06A060: -/* 09EB90 7F06A060 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 09EB94 7F06A064 8FA40068 */ lw $a0, 0x68($sp) -/* 09EB98 7F06A068 AFA20068 */ sw $v0, 0x68($sp) -.L7F06A06C: -/* 09EB9C 7F06A06C 8FA40064 */ lw $a0, 0x64($sp) -.L7F06A070: -/* 09EBA0 7F06A070 508000AC */ beql $a0, $zero, .L7F06A324 -/* 09EBA4 7F06A074 8FBF0024 */ lw $ra, 0x24($sp) -/* 09EBA8 7F06A078 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09EBAC 7F06A07C 00000000 */ nop -/* 09EBB0 7F06A080 104000A7 */ beqz $v0, .L7F06A320 -/* 09EBB4 7F06A084 AFA2005C */ sw $v0, 0x5c($sp) -/* 09EBB8 7F06A088 3C198008 */ lui $t9, %hi(pPlayer) -/* 09EBBC 7F06A08C 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 09EBC0 7F06A090 24010006 */ li $at, 6 -/* 09EBC4 7F06A094 8F220C3C */ lw $v0, 0xc3c($t9) -/* 09EBC8 7F06A098 104100A1 */ beq $v0, $at, .L7F06A320 -/* 09EBCC 7F06A09C 24010007 */ li $at, 7 -/* 09EBD0 7F06A0A0 1041009F */ beq $v0, $at, .L7F06A320 -/* 09EBD4 7F06A0A4 8FA40064 */ lw $a0, 0x64($sp) -/* 09EBD8 7F06A0A8 0FC1782D */ jal check_special_attributes -/* 09EBDC 7F06A0AC 3C050008 */ lui $a1, 8 -/* 09EBE0 7F06A0B0 1440009B */ bnez $v0, .L7F06A320 -/* 09EBE4 7F06A0B4 8FAA005C */ lw $t2, 0x5c($sp) -/* 09EBE8 7F06A0B8 000A5880 */ sll $t3, $t2, 2 -/* 09EBEC 7F06A0BC 016A5823 */ subu $t3, $t3, $t2 -/* 09EBF0 7F06A0C0 3C098003 */ lui $t1, %hi(ammo_related) -/* 09EBF4 7F06A0C4 25295EF0 */ addiu $t1, %lo(ammo_related) # addiu $t1, $t1, 0x5ef0 -/* 09EBF8 7F06A0C8 000B5880 */ sll $t3, $t3, 2 -/* 09EBFC 7F06A0CC 01691821 */ addu $v1, $t3, $t1 -/* 09EC00 7F06A0D0 8C620004 */ lw $v0, 4($v1) -/* 09EC04 7F06A0D4 24080005 */ li $t0, 5 -/* 09EC08 7F06A0D8 AFA8003C */ sw $t0, 0x3c($sp) -/* 09EC0C 7F06A0DC 10400025 */ beqz $v0, .L7F06A174 -/* 09EC10 7F06A0E0 3C0C8009 */ lui $t4, %hi(globalbank_rdram_offset) -/* 09EC14 7F06A0E4 8D8CD0B0 */ lw $t4, %lo(globalbank_rdram_offset)($t4) -/* 09EC18 7F06A0E8 AFA30028 */ sw $v1, 0x28($sp) -/* 09EC1C 7F06A0EC 004C1021 */ addu $v0, $v0, $t4 -/* 09EC20 7F06A0F0 0FC1E131 */ jal getPlayer_c_screenleft -/* 09EC24 7F06A0F4 AFA20040 */ sw $v0, 0x40($sp) -/* 09EC28 7F06A0F8 0C001149 */ jal get_video2_settings_uly -/* 09EC2C 7F06A0FC E7A00034 */ swc1 $f0, 0x34($sp) -/* 09EC30 7F06A100 0C00112B */ jal get_video2_settings_height -/* 09EC34 7F06A104 A7A20038 */ sh $v0, 0x38($sp) -/* 09EC38 7F06A108 8FAD0058 */ lw $t5, 0x58($sp) -/* 09EC3C 7F06A10C 87AE0038 */ lh $t6, 0x38($sp) -/* 09EC40 7F06A110 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 09EC44 7F06A114 448D8000 */ mtc1 $t5, $f16 -/* 09EC48 7F06A118 8FAA0028 */ lw $t2, 0x28($sp) -/* 09EC4C 7F06A11C 004EC021 */ addu $t8, $v0, $t6 -/* 09EC50 7F06A120 46808420 */ cvt.s.w $f16, $f16 -/* 09EC54 7F06A124 270FFFEC */ addiu $t7, $t8, -0x14 -/* 09EC58 7F06A128 448F7000 */ mtc1 $t7, $f14 -/* 09EC5C 7F06A12C 24190001 */ li $t9, 1 -/* 09EC60 7F06A130 AFB90014 */ sw $t9, 0x14($sp) -/* 09EC64 7F06A134 468073A0 */ cvt.s.w $f14, $f14 -/* 09EC68 7F06A138 240B0001 */ li $t3, 1 -/* 09EC6C 7F06A13C 8FA40068 */ lw $a0, 0x68($sp) -/* 09EC70 7F06A140 8FA50040 */ lw $a1, 0x40($sp) -/* 09EC74 7F06A144 3C07BF80 */ lui $a3, 0xbf80 -/* 09EC78 7F06A148 46109400 */ add.s $f16, $f18, $f16 -/* 09EC7C 7F06A14C E7AE0010 */ swc1 $f14, 0x10($sp) -/* 09EC80 7F06A150 C54E0008 */ lwc1 $f14, 8($t2) -/* 09EC84 7F06A154 AFAB001C */ sw $t3, 0x1c($sp) -/* 09EC88 7F06A158 44068000 */ mfc1 $a2, $f16 -/* 09EC8C 7F06A15C 0FC1A679 */ jal set_rgba_redirect_generate_microcode -/* 09EC90 7F06A160 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 09EC94 7F06A164 8FA90040 */ lw $t1, 0x40($sp) -/* 09EC98 7F06A168 AFA20068 */ sw $v0, 0x68($sp) -/* 09EC9C 7F06A16C 91280004 */ lbu $t0, 4($t1) -/* 09ECA0 7F06A170 AFA8003C */ sw $t0, 0x3c($sp) -.L7F06A174: -/* 09ECA4 7F06A174 0FC2B366 */ jal microcode_constructor -/* 09ECA8 7F06A178 8FA40068 */ lw $a0, 0x68($sp) -/* 09ECAC 7F06A17C AFA20068 */ sw $v0, 0x68($sp) -/* 09ECB0 7F06A180 8FA40064 */ lw $a0, 0x64($sp) -/* 09ECB4 7F06A184 0FC1782D */ jal check_special_attributes -/* 09ECB8 7F06A188 3C050040 */ lui $a1, 0x40 -/* 09ECBC 7F06A18C 10400011 */ beqz $v0, .L7F06A1D4 -/* 09ECC0 7F06A190 3C050040 */ lui $a1, 0x40 -/* 09ECC4 7F06A194 8FAD005C */ lw $t5, 0x5c($sp) -/* 09ECC8 7F06A198 3C028008 */ lui $v0, %hi(pPlayer) -/* 09ECCC 7F06A19C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09ECD0 7F06A1A0 AFA0004C */ sw $zero, 0x4c($sp) -/* 09ECD4 7F06A1A4 000D7080 */ sll $t6, $t5, 2 -/* 09ECD8 7F06A1A8 8FB90064 */ lw $t9, 0x64($sp) -/* 09ECDC 7F06A1AC 8FAA0060 */ lw $t2, 0x60($sp) -/* 09ECE0 7F06A1B0 004EC021 */ addu $t8, $v0, $t6 -/* 09ECE4 7F06A1B4 8F0F1130 */ lw $t7, 0x1130($t8) -/* 09ECE8 7F06A1B8 8C4C0C44 */ lw $t4, 0xc44($v0) -/* 09ECEC 7F06A1BC 172A0003 */ bne $t9, $t2, .L7F06A1CC -/* 09ECF0 7F06A1C0 018F1821 */ addu $v1, $t4, $t7 -/* 09ECF4 7F06A1C4 8C4B089C */ lw $t3, 0x89c($v0) -/* 09ECF8 7F06A1C8 006B1821 */ addu $v1, $v1, $t3 -.L7F06A1CC: -/* 09ECFC 7F06A1CC 1000000A */ b .L7F06A1F8 -/* 09ED00 7F06A1D0 AFA30050 */ sw $v1, 0x50($sp) -.L7F06A1D4: -/* 09ED04 7F06A1D4 3C028008 */ lui $v0, %hi(pPlayer) -/* 09ED08 7F06A1D8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09ED0C 7F06A1DC 8FA8005C */ lw $t0, 0x5c($sp) -/* 09ED10 7F06A1E0 8C490C44 */ lw $t1, 0xc44($v0) -/* 09ED14 7F06A1E4 00086880 */ sll $t5, $t0, 2 -/* 09ED18 7F06A1E8 004D7021 */ addu $t6, $v0, $t5 -/* 09ED1C 7F06A1EC AFA9004C */ sw $t1, 0x4c($sp) -/* 09ED20 7F06A1F0 8DD81130 */ lw $t8, 0x1130($t6) -/* 09ED24 7F06A1F4 AFB80050 */ sw $t8, 0x50($sp) -.L7F06A1F8: -/* 09ED28 7F06A1F8 0FC1782D */ jal check_special_attributes -/* 09ED2C 7F06A1FC 8FA40064 */ lw $a0, 0x64($sp) -/* 09ED30 7F06A200 5440001F */ bnezl $v0, .L7F06A280 -/* 09ED34 7F06A204 8FAC0050 */ lw $t4, 0x50($sp) -/* 09ED38 7F06A208 0C001145 */ jal get_video2_settings_ulx -/* 09ED3C 7F06A20C 00000000 */ nop -/* 09ED40 7F06A210 0C001149 */ jal get_video2_settings_uly -/* 09ED44 7F06A214 A7A2002E */ sh $v0, 0x2e($sp) -/* 09ED48 7F06A218 0C00112B */ jal get_video2_settings_height -/* 09ED4C 7F06A21C A7A20038 */ sh $v0, 0x38($sp) -/* 09ED50 7F06A220 87AC002E */ lh $t4, 0x2e($sp) -/* 09ED54 7F06A224 8FAF0058 */ lw $t7, 0x58($sp) -/* 09ED58 7F06A228 8FAA003C */ lw $t2, 0x3c($sp) -/* 09ED5C 7F06A22C 87A90038 */ lh $t1, 0x38($sp) -/* 09ED60 7F06A230 018FC821 */ addu $t9, $t4, $t7 -/* 09ED64 7F06A234 240E0002 */ li $t6, 2 -/* 09ED68 7F06A238 00494021 */ addu $t0, $v0, $t1 -/* 09ED6C 7F06A23C 250DFFEE */ addiu $t5, $t0, -0x12 -/* 09ED70 7F06A240 24180001 */ li $t8, 1 -/* 09ED74 7F06A244 AFB80018 */ sw $t8, 0x18($sp) -/* 09ED78 7F06A248 AFAD0010 */ sw $t5, 0x10($sp) -/* 09ED7C 7F06A24C AFAE0014 */ sw $t6, 0x14($sp) -/* 09ED80 7F06A250 8FA40068 */ lw $a0, 0x68($sp) -/* 09ED84 7F06A254 8FA5004C */ lw $a1, 0x4c($sp) -/* 09ED88 7F06A258 05410003 */ bgez $t2, .L7F06A268 -/* 09ED8C 7F06A25C 000A5843 */ sra $t3, $t2, 1 -/* 09ED90 7F06A260 25410001 */ addiu $at, $t2, 1 -/* 09ED94 7F06A264 00015843 */ sra $t3, $at, 1 -.L7F06A268: -/* 09ED98 7F06A268 032B3021 */ addu $a2, $t9, $t3 -/* 09ED9C 7F06A26C 24C60003 */ addiu $a2, $a2, 3 -/* 09EDA0 7F06A270 0FC1A723 */ jal display_ammo_total_in_a1 -/* 09EDA4 7F06A274 24070001 */ li $a3, 1 -/* 09EDA8 7F06A278 AFA20068 */ sw $v0, 0x68($sp) -/* 09EDAC 7F06A27C 8FAC0050 */ lw $t4, 0x50($sp) -.L7F06A280: -/* 09EDB0 7F06A280 8FA40064 */ lw $a0, 0x64($sp) -/* 09EDB4 7F06A284 1D800005 */ bgtz $t4, .L7F06A29C -/* 09EDB8 7F06A288 00000000 */ nop -/* 09EDBC 7F06A28C 0FC1782D */ jal check_special_attributes -/* 09EDC0 7F06A290 3C050040 */ lui $a1, 0x40 -/* 09EDC4 7F06A294 1040001F */ beqz $v0, .L7F06A314 -/* 09EDC8 7F06A298 00000000 */ nop -.L7F06A29C: -/* 09EDCC 7F06A29C 0C001145 */ jal get_video2_settings_ulx -/* 09EDD0 7F06A2A0 00000000 */ nop -/* 09EDD4 7F06A2A4 0C001149 */ jal get_video2_settings_uly -/* 09EDD8 7F06A2A8 A7A2002E */ sh $v0, 0x2e($sp) -/* 09EDDC 7F06A2AC 0C00112B */ jal get_video2_settings_height -/* 09EDE0 7F06A2B0 A7A20038 */ sh $v0, 0x38($sp) -/* 09EDE4 7F06A2B4 87AF002E */ lh $t7, 0x2e($sp) -/* 09EDE8 7F06A2B8 8FAA0058 */ lw $t2, 0x58($sp) -/* 09EDEC 7F06A2BC 8FAB003C */ lw $t3, 0x3c($sp) -/* 09EDF0 7F06A2C0 87AD0038 */ lh $t5, 0x38($sp) -/* 09EDF4 7F06A2C4 01EAC821 */ addu $t9, $t7, $t2 -/* 09EDF8 7F06A2C8 25690001 */ addiu $t1, $t3, 1 -/* 09EDFC 7F06A2CC 004D7021 */ addu $t6, $v0, $t5 -/* 09EE00 7F06A2D0 25D8FFEE */ addiu $t8, $t6, -0x12 -/* 09EE04 7F06A2D4 240F0001 */ li $t7, 1 -/* 09EE08 7F06A2D8 240C0002 */ li $t4, 2 -/* 09EE0C 7F06A2DC AFAC0014 */ sw $t4, 0x14($sp) -/* 09EE10 7F06A2E0 AFAF0018 */ sw $t7, 0x18($sp) -/* 09EE14 7F06A2E4 AFB80010 */ sw $t8, 0x10($sp) -/* 09EE18 7F06A2E8 8FA40068 */ lw $a0, 0x68($sp) -/* 09EE1C 7F06A2EC 8FA50050 */ lw $a1, 0x50($sp) -/* 09EE20 7F06A2F0 05210003 */ bgez $t1, .L7F06A300 -/* 09EE24 7F06A2F4 00094043 */ sra $t0, $t1, 1 -/* 09EE28 7F06A2F8 25210001 */ addiu $at, $t1, 1 -/* 09EE2C 7F06A2FC 00014043 */ sra $t0, $at, 1 -.L7F06A300: -/* 09EE30 7F06A300 03283023 */ subu $a2, $t9, $t0 -/* 09EE34 7F06A304 24C6FFFC */ addiu $a2, $a2, -4 -/* 09EE38 7F06A308 0FC1A723 */ jal display_ammo_total_in_a1 -/* 09EE3C 7F06A30C 00003825 */ move $a3, $zero -/* 09EE40 7F06A310 AFA20068 */ sw $v0, 0x68($sp) -.L7F06A314: -/* 09EE44 7F06A314 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 09EE48 7F06A318 8FA40068 */ lw $a0, 0x68($sp) -/* 09EE4C 7F06A31C AFA20068 */ sw $v0, 0x68($sp) -.L7F06A320: -/* 09EE50 7F06A320 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06A324: -/* 09EE54 7F06A324 8FA20068 */ lw $v0, 0x68($sp) -/* 09EE58 7F06A328 27BD0068 */ addiu $sp, $sp, 0x68 -/* 09EE5C 7F06A32C 03E00008 */ jr $ra -/* 09EE60 7F06A330 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F06A334(s32 arg0) { - void *sp30; - s16 sp34; - s32 sp3C; - void *sp40; - s32 sp44; - s32 sp48; - s32 sp4C; - s32 sp50; - s32 sp54; - ? temp_ret; - ? temp_ret_2; - void *temp_v0; - s32 temp_s0; - s32 temp_v1; - s32 temp_a2; - s32 phi_s0; - s32 phi_v1; - s32 phi_t4; - s32 phi_s0_2; - s32 phi_t9; - s32 phi_s0_3; - s32 phi_s0_4; - - // Node 0 - sp54 = get_item_in_hand(1); - temp_ret = get_item_in_hand(0); - phi_s0_4 = arg0; - if (temp_ret != 0) - { - // Node 1 - sp50 = temp_ret; - temp_ret_2 = get_ammo_type_for_weapon(temp_ret); - sp4C = temp_ret_2; - phi_s0_4 = arg0; - if (temp_ret_2 != 0) - { - // Node 2 - phi_s0_4 = arg0; - if (pPlayer->unk894 != 7) - { - // Node 3 - phi_s0_4 = arg0; - if (pPlayer->unk894 != 7) - { - // Node 4 - phi_s0_4 = arg0; - if (check_special_attributes(sp50, 0x80000) == 0) - { - // Node 5 - temp_v0 = ((sp4C * 0xc) + &ammo_related); - sp3C = 5; - sp30 = temp_v0; - sp40 = (void *) temp_v0->unk4; - get_ptr_item_statistics(sp50); - phi_s0 = arg0; - if (sp40 != 0) - { - // Node 6 - sp40 = (void *) (sp40 + globalbank_rdram_offset); - sp34 = get_video2_settings_uly(); - sp3C = (s32) sp40->unk4; - phi_s0 = set_rgba_redirect_generate_microcode(arg0, sp40, 0x43480000, 0x43340000, (f32) ((get_video2_settings_height() + sp34) + -0x14), 0, (f32) sp30->unk8, 1); - } - // Node 7 - temp_s0 = microcode_constructor(phi_s0); - if (check_special_attributes(sp50, 0x400000) != 0) - { - // Node 8 - sp44 = 0; - temp_v1 = (pPlayer->unk89C + (pPlayer + (sp4C * 4))->unk1130); - phi_v1 = temp_v1; - if (sp54 == sp50) - { - // Node 9 - phi_v1 = (temp_v1 + pPlayer->unkC44); - } - // Node 10 - sp48 = (s32) phi_v1; - } - else - { - // Node 11 - sp44 = (s32) pPlayer->unk89C; - sp48 = (s32) (pPlayer + (sp4C * 4))->unk1130; - } - // Node 12 - phi_s0_2 = temp_s0; - if (check_special_attributes(sp50, 0x400000) == 0) - { - // Node 13 - phi_t4 = (sp3C >> 1); - if (sp3C < 0) - { - // Node 14 - phi_t4 = ((s32) (sp3C + 1) >> 1); - } - // Node 15 - phi_s0_2 = display_ammo_total_in_a1(temp_s0, sp44, (0xc4 - phi_t4), 0, 0); - } - // Node 16 - if ((sp48 > 0) || (check_special_attributes(sp50, 0x400000) != 0)) - { - // Node 18 - temp_a2 = (sp3C + 1); - phi_t9 = (temp_a2 >> 1); - if (temp_a2 < 0) - { - // Node 19 - phi_t9 = ((s32) (temp_a2 + 1) >> 1); - } - // Node 20 - phi_s0_3 = display_ammo_total_in_a1(phi_s0_2, sp48, (phi_t9 + 0xcb), 1, 0); - } - else - { - - } - // Node 21 - phi_s0_4 = combiner_bayer_lod_perspective(phi_s0_3); - } - } - } - } - } - // Node 22 - return phi_s0_4; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06A334 -/* 09EE64 7F06A334 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 09EE68 7F06A338 AFB00028 */ sw $s0, 0x28($sp) -/* 09EE6C 7F06A33C 00808025 */ move $s0, $a0 -/* 09EE70 7F06A340 AFBF002C */ sw $ra, 0x2c($sp) -/* 09EE74 7F06A344 0FC17674 */ jal get_item_in_hand -/* 09EE78 7F06A348 24040001 */ li $a0, 1 -/* 09EE7C 7F06A34C AFA20054 */ sw $v0, 0x54($sp) -/* 09EE80 7F06A350 0FC17674 */ jal get_item_in_hand -/* 09EE84 7F06A354 00002025 */ move $a0, $zero -/* 09EE88 7F06A358 1040008E */ beqz $v0, .L7F06A594 -/* 09EE8C 7F06A35C 00402025 */ move $a0, $v0 -/* 09EE90 7F06A360 0FC1A50B */ jal get_ammo_type_for_weapon -/* 09EE94 7F06A364 AFA20050 */ sw $v0, 0x50($sp) -/* 09EE98 7F06A368 1040008A */ beqz $v0, .L7F06A594 -/* 09EE9C 7F06A36C AFA2004C */ sw $v0, 0x4c($sp) -/* 09EEA0 7F06A370 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09EEA4 7F06A374 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09EEA8 7F06A378 24010006 */ li $at, 6 -/* 09EEAC 7F06A37C 8DC20894 */ lw $v0, 0x894($t6) -/* 09EEB0 7F06A380 10410084 */ beq $v0, $at, .L7F06A594 -/* 09EEB4 7F06A384 24010007 */ li $at, 7 -/* 09EEB8 7F06A388 10410082 */ beq $v0, $at, .L7F06A594 -/* 09EEBC 7F06A38C 8FA40050 */ lw $a0, 0x50($sp) -/* 09EEC0 7F06A390 0FC1782D */ jal check_special_attributes -/* 09EEC4 7F06A394 3C050008 */ lui $a1, 8 -/* 09EEC8 7F06A398 1440007E */ bnez $v0, .L7F06A594 -/* 09EECC 7F06A39C 8FAF004C */ lw $t7, 0x4c($sp) -/* 09EED0 7F06A3A0 000FC080 */ sll $t8, $t7, 2 -/* 09EED4 7F06A3A4 030FC023 */ subu $t8, $t8, $t7 -/* 09EED8 7F06A3A8 3C198003 */ lui $t9, %hi(ammo_related) -/* 09EEDC 7F06A3AC 27395EF0 */ addiu $t9, %lo(ammo_related) # addiu $t9, $t9, 0x5ef0 -/* 09EEE0 7F06A3B0 0018C080 */ sll $t8, $t8, 2 -/* 09EEE4 7F06A3B4 03191021 */ addu $v0, $t8, $t9 -/* 09EEE8 7F06A3B8 8C480004 */ lw $t0, 4($v0) -/* 09EEEC 7F06A3BC 24090005 */ li $t1, 5 -/* 09EEF0 7F06A3C0 AFA9003C */ sw $t1, 0x3c($sp) -/* 09EEF4 7F06A3C4 AFA20030 */ sw $v0, 0x30($sp) -/* 09EEF8 7F06A3C8 8FA40050 */ lw $a0, 0x50($sp) -/* 09EEFC 7F06A3CC 0FC1722D */ jal get_ptr_item_statistics -/* 09EF00 7F06A3D0 AFA80040 */ sw $t0, 0x40($sp) -/* 09EF04 7F06A3D4 8FA30040 */ lw $v1, 0x40($sp) -/* 09EF08 7F06A3D8 3C0A8009 */ lui $t2, %hi(globalbank_rdram_offset) -/* 09EF0C 7F06A3DC 1060001C */ beqz $v1, .L7F06A450 -/* 09EF10 7F06A3E0 00000000 */ nop -/* 09EF14 7F06A3E4 8D4AD0B0 */ lw $t2, %lo(globalbank_rdram_offset)($t2) -/* 09EF18 7F06A3E8 006A1821 */ addu $v1, $v1, $t2 -/* 09EF1C 7F06A3EC 0C001149 */ jal get_video2_settings_uly -/* 09EF20 7F06A3F0 AFA30040 */ sw $v1, 0x40($sp) -/* 09EF24 7F06A3F4 0C00112B */ jal get_video2_settings_height -/* 09EF28 7F06A3F8 A7A20034 */ sh $v0, 0x34($sp) -/* 09EF2C 7F06A3FC 87AB0034 */ lh $t3, 0x34($sp) -/* 09EF30 7F06A400 8FAE0030 */ lw $t6, 0x30($sp) -/* 09EF34 7F06A404 AFA00014 */ sw $zero, 0x14($sp) -/* 09EF38 7F06A408 004B6021 */ addu $t4, $v0, $t3 -/* 09EF3C 7F06A40C 258DFFEC */ addiu $t5, $t4, -0x14 -/* 09EF40 7F06A410 448D2000 */ mtc1 $t5, $f4 -/* 09EF44 7F06A414 240F0001 */ li $t7, 1 -/* 09EF48 7F06A418 02002025 */ move $a0, $s0 -/* 09EF4C 7F06A41C 468021A0 */ cvt.s.w $f6, $f4 -/* 09EF50 7F06A420 8FA50040 */ lw $a1, 0x40($sp) -/* 09EF54 7F06A424 3C064348 */ lui $a2, 0x4348 -/* 09EF58 7F06A428 3C074334 */ lui $a3, 0x4334 -/* 09EF5C 7F06A42C E7A60010 */ swc1 $f6, 0x10($sp) -/* 09EF60 7F06A430 C5C80008 */ lwc1 $f8, 8($t6) -/* 09EF64 7F06A434 AFAF001C */ sw $t7, 0x1c($sp) -/* 09EF68 7F06A438 0FC1A679 */ jal set_rgba_redirect_generate_microcode -/* 09EF6C 7F06A43C E7A80018 */ swc1 $f8, 0x18($sp) -/* 09EF70 7F06A440 8FB80040 */ lw $t8, 0x40($sp) -/* 09EF74 7F06A444 00408025 */ move $s0, $v0 -/* 09EF78 7F06A448 93190004 */ lbu $t9, 4($t8) -/* 09EF7C 7F06A44C AFB9003C */ sw $t9, 0x3c($sp) -.L7F06A450: -/* 09EF80 7F06A450 0FC2B366 */ jal microcode_constructor -/* 09EF84 7F06A454 02002025 */ move $a0, $s0 -/* 09EF88 7F06A458 00408025 */ move $s0, $v0 -/* 09EF8C 7F06A45C 8FA40050 */ lw $a0, 0x50($sp) -/* 09EF90 7F06A460 0FC1782D */ jal check_special_attributes -/* 09EF94 7F06A464 3C050040 */ lui $a1, 0x40 -/* 09EF98 7F06A468 10400011 */ beqz $v0, .L7F06A4B0 -/* 09EF9C 7F06A46C 3C050040 */ lui $a1, 0x40 -/* 09EFA0 7F06A470 8FA9004C */ lw $t1, 0x4c($sp) -/* 09EFA4 7F06A474 3C028008 */ lui $v0, %hi(pPlayer) -/* 09EFA8 7F06A478 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09EFAC 7F06A47C AFA00044 */ sw $zero, 0x44($sp) -/* 09EFB0 7F06A480 00095080 */ sll $t2, $t1, 2 -/* 09EFB4 7F06A484 8FAD0054 */ lw $t5, 0x54($sp) -/* 09EFB8 7F06A488 8FAE0050 */ lw $t6, 0x50($sp) -/* 09EFBC 7F06A48C 004A5821 */ addu $t3, $v0, $t2 -/* 09EFC0 7F06A490 8D6C1130 */ lw $t4, 0x1130($t3) -/* 09EFC4 7F06A494 8C48089C */ lw $t0, 0x89c($v0) -/* 09EFC8 7F06A498 15AE0003 */ bne $t5, $t6, .L7F06A4A8 -/* 09EFCC 7F06A49C 010C1821 */ addu $v1, $t0, $t4 -/* 09EFD0 7F06A4A0 8C4F0C44 */ lw $t7, 0xc44($v0) -/* 09EFD4 7F06A4A4 006F1821 */ addu $v1, $v1, $t7 -.L7F06A4A8: -/* 09EFD8 7F06A4A8 1000000A */ b .L7F06A4D4 -/* 09EFDC 7F06A4AC AFA30048 */ sw $v1, 0x48($sp) -.L7F06A4B0: -/* 09EFE0 7F06A4B0 3C028008 */ lui $v0, %hi(pPlayer) -/* 09EFE4 7F06A4B4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09EFE8 7F06A4B8 8FB9004C */ lw $t9, 0x4c($sp) -/* 09EFEC 7F06A4BC 8C58089C */ lw $t8, 0x89c($v0) -/* 09EFF0 7F06A4C0 00194880 */ sll $t1, $t9, 2 -/* 09EFF4 7F06A4C4 00495021 */ addu $t2, $v0, $t1 -/* 09EFF8 7F06A4C8 AFB80044 */ sw $t8, 0x44($sp) -/* 09EFFC 7F06A4CC 8D4B1130 */ lw $t3, 0x1130($t2) -/* 09F000 7F06A4D0 AFAB0048 */ sw $t3, 0x48($sp) -.L7F06A4D4: -/* 09F004 7F06A4D4 0FC1782D */ jal check_special_attributes -/* 09F008 7F06A4D8 8FA40050 */ lw $a0, 0x50($sp) -/* 09F00C 7F06A4DC 14400011 */ bnez $v0, .L7F06A524 -/* 09F010 7F06A4E0 02002025 */ move $a0, $s0 -/* 09F014 7F06A4E4 8FA8003C */ lw $t0, 0x3c($sp) -/* 09F018 7F06A4E8 240D00C4 */ li $t5, 196 -/* 09F01C 7F06A4EC 240E00B1 */ li $t6, 177 -/* 09F020 7F06A4F0 240F0002 */ li $t7, 2 -/* 09F024 7F06A4F4 AFAF0014 */ sw $t7, 0x14($sp) -/* 09F028 7F06A4F8 AFAE0010 */ sw $t6, 0x10($sp) -/* 09F02C 7F06A4FC 8FA50044 */ lw $a1, 0x44($sp) -/* 09F030 7F06A500 05010003 */ bgez $t0, .L7F06A510 -/* 09F034 7F06A504 00086043 */ sra $t4, $t0, 1 -/* 09F038 7F06A508 25010001 */ addiu $at, $t0, 1 -/* 09F03C 7F06A50C 00016043 */ sra $t4, $at, 1 -.L7F06A510: -/* 09F040 7F06A510 01AC3023 */ subu $a2, $t5, $t4 -/* 09F044 7F06A514 00003825 */ move $a3, $zero -/* 09F048 7F06A518 0FC1A723 */ jal display_ammo_total_in_a1 -/* 09F04C 7F06A51C AFA00018 */ sw $zero, 0x18($sp) -/* 09F050 7F06A520 00408025 */ move $s0, $v0 -.L7F06A524: -/* 09F054 7F06A524 8FB80048 */ lw $t8, 0x48($sp) -/* 09F058 7F06A528 8FA40050 */ lw $a0, 0x50($sp) -/* 09F05C 7F06A52C 5F000006 */ bgtzl $t8, .L7F06A548 -/* 09F060 7F06A530 8FA6003C */ lw $a2, 0x3c($sp) -/* 09F064 7F06A534 0FC1782D */ jal check_special_attributes -/* 09F068 7F06A538 3C050040 */ lui $a1, 0x40 -/* 09F06C 7F06A53C 10400012 */ beqz $v0, .L7F06A588 -/* 09F070 7F06A540 00000000 */ nop -/* 09F074 7F06A544 8FA6003C */ lw $a2, 0x3c($sp) -.L7F06A548: -/* 09F078 7F06A548 240900B1 */ li $t1, 177 -/* 09F07C 7F06A54C 240A0002 */ li $t2, 2 -/* 09F080 7F06A550 24C60001 */ addiu $a2, $a2, 1 -/* 09F084 7F06A554 AFAA0014 */ sw $t2, 0x14($sp) -/* 09F088 7F06A558 AFA90010 */ sw $t1, 0x10($sp) -/* 09F08C 7F06A55C 02002025 */ move $a0, $s0 -/* 09F090 7F06A560 8FA50048 */ lw $a1, 0x48($sp) -/* 09F094 7F06A564 04C10003 */ bgez $a2, .L7F06A574 -/* 09F098 7F06A568 0006C843 */ sra $t9, $a2, 1 -/* 09F09C 7F06A56C 24C10001 */ addiu $at, $a2, 1 -/* 09F0A0 7F06A570 0001C843 */ sra $t9, $at, 1 -.L7F06A574: -/* 09F0A4 7F06A574 272600CB */ addiu $a2, $t9, 0xcb -/* 09F0A8 7F06A578 24070001 */ li $a3, 1 -/* 09F0AC 7F06A57C 0FC1A723 */ jal display_ammo_total_in_a1 -/* 09F0B0 7F06A580 AFA00018 */ sw $zero, 0x18($sp) -/* 09F0B4 7F06A584 00408025 */ move $s0, $v0 -.L7F06A588: -/* 09F0B8 7F06A588 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 09F0BC 7F06A58C 02002025 */ move $a0, $s0 -/* 09F0C0 7F06A590 00408025 */ move $s0, $v0 -.L7F06A594: -/* 09F0C4 7F06A594 8FBF002C */ lw $ra, 0x2c($sp) -/* 09F0C8 7F06A598 02001025 */ move $v0, $s0 -/* 09F0CC 7F06A59C 8FB00028 */ lw $s0, 0x28($sp) -/* 09F0D0 7F06A5A0 03E00008 */ jr $ra -/* 09F0D4 7F06A5A4 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void *set_unset_bitflags(s32 arg0, s32 arg1) { - // Node 0 - if (arg1 != 0) - { - // Node 1 - // Error: I don't know how to handle not! - return; - } - // Node 2 - (void *)0x80080000->unk-5F50->unk1128 = (s32) ((void *)0x80080000->unk-5F50->unk1128 | arg0); - return (void *)0x80080000->unk-5F50; -} - -#else -GLOBAL_ASM( -.text -glabel set_unset_bitflags -/* 09F0D8 7F06A5A8 10A00008 */ beqz $a1, .L7F06A5CC -/* 09F0DC 7F06A5AC 3C028008 */ lui $v0, %hi(pPlayer) -/* 09F0E0 7F06A5B0 3C028008 */ lui $v0, %hi(pPlayer) -/* 09F0E4 7F06A5B4 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09F0E8 7F06A5B8 00807827 */ not $t7, $a0 -/* 09F0EC 7F06A5BC 8C4E1128 */ lw $t6, 0x1128($v0) -/* 09F0F0 7F06A5C0 01CFC024 */ and $t8, $t6, $t7 -/* 09F0F4 7F06A5C4 03E00008 */ jr $ra -/* 09F0F8 7F06A5C8 AC581128 */ sw $t8, 0x1128($v0) - -.L7F06A5CC: -/* 09F0FC 7F06A5CC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09F100 7F06A5D0 8C591128 */ lw $t9, 0x1128($v0) -/* 09F104 7F06A5D4 03244025 */ or $t0, $t9, $a0 -/* 09F108 7F06A5D8 AC481128 */ sw $t0, 0x1128($v0) -/* 09F10C 7F06A5DC 03E00008 */ jr $ra -/* 09F110 7F06A5E0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F06A5E4(void *arg0) { - f32 sp44; - f32 sp48; - f32 sp4C; - f32 sp50; - ?32 sp54; - void *phi_return_reg; - - // Node 0 - phi_return_reg = pPlayer; - if (pPlayer->unk1128 == 0) - { - // Node 1 - phi_return_reg = pPlayer; - if (pPlayer->unk29C4 == 0) - { - // Node 2 - sp54 = (?32) *arg0; - likely_generate_DL_for_image_declaration(&sp54, crosshairimage, 4, 0, 0); - sp4C = (f32) pPlayer->unkFE8; - sp44 = 16.0f; - sp48 = 16.0f; - sp50 = (f32) pPlayer->unkFEC; - if (get_screen_ratio() == 1) - { - // Node 3 - sp44 = (f32) (sp44 * 0.75f); - } - // Node 4 - *arg0 = sp54; - phi_return_reg = display_image_at_on_screen_coord(&sp54, &sp4C, &sp44, 0x20, 0x20, 0, 0, 1, 0xff, 0xff, 0xff, 0x6e, (s32) (0 < crosshairimage->unk6), 0); - } - } - // Node 5 - return phi_return_reg; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06A5E4 -/* 09F114 7F06A5E4 3C028008 */ lui $v0, %hi(pPlayer) -/* 09F118 7F06A5E8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09F11C 7F06A5EC 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 09F120 7F06A5F0 AFBF003C */ sw $ra, 0x3c($sp) -/* 09F124 7F06A5F4 AFA40058 */ sw $a0, 0x58($sp) -/* 09F128 7F06A5F8 8C4E1128 */ lw $t6, 0x1128($v0) -/* 09F12C 7F06A5FC 55C0003B */ bnezl $t6, .L7F06A6EC -/* 09F130 7F06A600 8FBF003C */ lw $ra, 0x3c($sp) -/* 09F134 7F06A604 8C4F29C4 */ lw $t7, 0x29c4($v0) -/* 09F138 7F06A608 3C058009 */ lui $a1, %hi(crosshairimage) -/* 09F13C 7F06A60C 24060004 */ li $a2, 4 -/* 09F140 7F06A610 15E00035 */ bnez $t7, .L7F06A6E8 -/* 09F144 7F06A614 00003825 */ move $a3, $zero -/* 09F148 7F06A618 8C990000 */ lw $t9, ($a0) -/* 09F14C 7F06A61C AFA00010 */ sw $zero, 0x10($sp) -/* 09F150 7F06A620 27A40054 */ addiu $a0, $sp, 0x54 -/* 09F154 7F06A624 8CA5D114 */ lw $a1, %lo(crosshairimage)($a1) -/* 09F158 7F06A628 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 09F15C 7F06A62C AFB90054 */ sw $t9, 0x54($sp) -/* 09F160 7F06A630 3C028008 */ lui $v0, %hi(pPlayer) -/* 09F164 7F06A634 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09F168 7F06A638 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 09F16C 7F06A63C 44810000 */ mtc1 $at, $f0 -/* 09F170 7F06A640 C4440FE8 */ lwc1 $f4, 0xfe8($v0) -/* 09F174 7F06A644 E7A4004C */ swc1 $f4, 0x4c($sp) -/* 09F178 7F06A648 C4460FEC */ lwc1 $f6, 0xfec($v0) -/* 09F17C 7F06A64C E7A00044 */ swc1 $f0, 0x44($sp) -/* 09F180 7F06A650 E7A00048 */ swc1 $f0, 0x48($sp) -/* 09F184 7F06A654 0FC293B8 */ jal get_screen_ratio -/* 09F188 7F06A658 E7A60050 */ swc1 $f6, 0x50($sp) -/* 09F18C 7F06A65C 24010001 */ li $at, 1 -/* 09F190 7F06A660 14410006 */ bne $v0, $at, .L7F06A67C -/* 09F194 7F06A664 27A40054 */ addiu $a0, $sp, 0x54 -/* 09F198 7F06A668 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 09F19C 7F06A66C 44815000 */ mtc1 $at, $f10 -/* 09F1A0 7F06A670 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 09F1A4 7F06A674 460A4402 */ mul.s $f16, $f8, $f10 -/* 09F1A8 7F06A678 E7B00044 */ swc1 $f16, 0x44($sp) -.L7F06A67C: -/* 09F1AC 7F06A67C 3C0E8009 */ lui $t6, %hi(crosshairimage) -/* 09F1B0 7F06A680 8DCED114 */ lw $t6, %lo(crosshairimage)($t6) -/* 09F1B4 7F06A684 24080020 */ li $t0, 32 -/* 09F1B8 7F06A688 24090001 */ li $t1, 1 -/* 09F1BC 7F06A68C 240A00FF */ li $t2, 255 -/* 09F1C0 7F06A690 240B00FF */ li $t3, 255 -/* 09F1C4 7F06A694 240C00FF */ li $t4, 255 -/* 09F1C8 7F06A698 240D006E */ li $t5, 110 -/* 09F1CC 7F06A69C AFAD002C */ sw $t5, 0x2c($sp) -/* 09F1D0 7F06A6A0 AFAC0028 */ sw $t4, 0x28($sp) -/* 09F1D4 7F06A6A4 AFAB0024 */ sw $t3, 0x24($sp) -/* 09F1D8 7F06A6A8 AFAA0020 */ sw $t2, 0x20($sp) -/* 09F1DC 7F06A6AC AFA9001C */ sw $t1, 0x1c($sp) -/* 09F1E0 7F06A6B0 AFA80010 */ sw $t0, 0x10($sp) -/* 09F1E4 7F06A6B4 AFA00014 */ sw $zero, 0x14($sp) -/* 09F1E8 7F06A6B8 AFA00018 */ sw $zero, 0x18($sp) -/* 09F1EC 7F06A6BC 91CF0006 */ lbu $t7, 6($t6) -/* 09F1F0 7F06A6C0 AFA00034 */ sw $zero, 0x34($sp) -/* 09F1F4 7F06A6C4 27A5004C */ addiu $a1, $sp, 0x4c -/* 09F1F8 7F06A6C8 000FC02A */ slt $t8, $zero, $t7 -/* 09F1FC 7F06A6CC AFB80030 */ sw $t8, 0x30($sp) -/* 09F200 7F06A6D0 27A60044 */ addiu $a2, $sp, 0x44 -/* 09F204 7F06A6D4 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 09F208 7F06A6D8 24070020 */ li $a3, 32 -/* 09F20C 7F06A6DC 8FB90054 */ lw $t9, 0x54($sp) -/* 09F210 7F06A6E0 8FA80058 */ lw $t0, 0x58($sp) -/* 09F214 7F06A6E4 AD190000 */ sw $t9, ($t0) -.L7F06A6E8: -/* 09F218 7F06A6E8 8FBF003C */ lw $ra, 0x3c($sp) -.L7F06A6EC: -/* 09F21C 7F06A6EC 27BD0058 */ addiu $sp, $sp, 0x58 -/* 09F220 7F06A6F0 03E00008 */ jr $ra -/* 09F224 7F06A6F4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void inc_curplayer_hitcount_with_weapon(s32 arg1) { - ? temp_ret; - void *temp_v0; - - // Node 0 - temp_ret = check_special_attributes(0x10000); - if (temp_ret != 0) - { - // Node 1 - temp_v0 = (pPlayersPerm + (arg1 * 4)); - *temp_v0 = (s32) (*temp_v0 + 1); - } - // Node 2 - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel inc_curplayer_hitcount_with_weapon -/* 09F228 7F06A6F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09F22C 7F06A6FC AFBF0014 */ sw $ra, 0x14($sp) -/* 09F230 7F06A700 AFA5001C */ sw $a1, 0x1c($sp) -/* 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(pPlayersPerm) -/* 09F244 7F06A714 8FAF001C */ lw $t7, 0x1c($sp) -/* 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) -/* 09F258 7F06A728 27280001 */ addiu $t0, $t9, 1 -/* 09F25C 7F06A72C AC480000 */ sw $t0, ($v0) -.L7F06A730: -/* 09F260 7F06A730 8FBF0014 */ lw $ra, 0x14($sp) -/* 09F264 7F06A734 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09F268 7F06A738 03E00008 */ jr $ra -/* 09F26C 7F06A73C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_curplayer_shot_register(s32 arg0) { - // Node 0 - return *(pPlayersPerm + (arg0 * 4)); -} -#else -GLOBAL_ASM( -.text -glabel get_curplayer_shot_register -/* 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 -/* 09F284 7F06A754 8F020000 */ lw $v0, ($t8) -) -#endif - - - - - -#ifdef NONMATCHING -void inc_cur_civilian_casualties(void) -{ - pPlayersPerm->killed_civilians++ - -} -#else -GLOBAL_ASM( -.text -glabel inc_cur_civilian_casualties -/* 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 -/* 09F29C 7F06A76C AC4F006C */ sw $t7, 0x6c($v0) -) -#endif - - - - - -#ifdef NONMATCHING -int get_civilian_casualties(void) -{ - return pPlayersPerm->killed_civilians; -} -#else -GLOBAL_ASM( -.text -glabel get_civilian_casualties -/* 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) -) -#endif - - - - - -#ifdef NONMATCHING -void *increment_num_kills_display_text_in_MP(void) { - s32 sp34; - ? sp40; - void *temp_ret; - s32 temp_v0; - s32 temp_a0; - s32 phi_a0; - void *phi_return_reg; - - // Node 0 - 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), pPlayersPerm->killcount); - display_string_in_lower_left_corner(&sp40); - if (pPlayersPerm->killcount >= 2) - { - // Node 2 - temp_v0 = (sp34 - pPlayer->last_kill_time); - if (pPlayersPerm->slowest2kills < temp_v0) - { - // Node 3 - pPlayersPerm->slowest2kills = temp_v0; - } - // Node 4 - if (temp_v0 < pPlayersPerm->fastest2kills) - { - // Node 5 - pPlayersPerm->fastest2kills = temp_v0; - } - } - // Node 6 - pPlayer->unk29F0 = (s32) pPlayer->unk29EC; - pPlayer->unk29EC = (s32) pPlayer->unk29E8; - 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->last_kill_time - pPlayer->unk29E8) < 0x78) - { - // Node 8 - phi_a0 = 2; - if (-1 != pPlayer->unk29EC) - { - // Node 9 - phi_a0 = 2; - if ((pPlayer->last_kill_time - pPlayer->unk29EC) < 0x78) - { - // Node 10 - temp_a0 = (2 + 1); - phi_a0 = temp_a0; - if (-1 != pPlayer->unk29F0) - { - // Node 11 - phi_a0 = temp_a0; - if ((pPlayer->last_kill_time - pPlayer->unk29F0) < 0x78) - { - // Node 12 - phi_a0 = (temp_a0 + 1); - } - } - } - } - } - } - // Node 13 - phi_return_reg = pPlayer; - if (pPlayersPerm->most_killed_one_time < phi_a0) - { - // Node 14 - pPlayersPerm->most_killed_one_time = (s32) phi_a0; - phi_return_reg = pPlayer; - } - } - // Node 15 - return phi_return_reg; -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel increment_num_kills_display_text_in_MP -/* 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) -/* 09F2C4 7F06A794 8C6E001C */ lw $t6, 0x1c($v1) -/* 09F2C8 7F06A798 3C108008 */ lui $s0, %hi(pPlayer) -/* 09F2CC 7F06A79C 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 09F2D0 7F06A7A0 25CF0001 */ addiu $t7, $t6, 1 -/* 09F2D4 7F06A7A4 AC6F001C */ sw $t7, 0x1c($v1) -/* 09F2D8 7F06A7A8 8E020000 */ lw $v0, ($s0) -/* 09F2DC 7F06A7AC 8C5829F8 */ lw $t8, 0x29f8($v0) -/* 09F2E0 7F06A7B0 27190001 */ addiu $t9, $t8, 1 -/* 09F2E4 7F06A7B4 0FC26919 */ jal get_num_players -/* 09F2E8 7F06A7B8 AC5929F8 */ sw $t9, 0x29f8($v0) -/* 09F2EC 7F06A7BC 28410002 */ slti $at, $v0, 2 -/* 09F2F0 7F06A7C0 54200054 */ bnezl $at, .L7F06A914 -/* 09F2F4 7F06A7C4 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F2F8 7F06A7C8 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 09F2FC 7F06A7CC 00000000 */ nop -/* 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(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 display_string_in_lower_left_corner -/* 09F330 7F06A800 27A40040 */ addiu $a0, $sp, 0x40 -/* 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 -/* 09F348 7F06A818 8E020000 */ lw $v0, ($s0) -/* 09F34C 7F06A81C 8E0B0000 */ lw $t3, ($s0) -/* 09F350 7F06A820 8FAA0034 */ lw $t2, 0x34($sp) -/* 09F354 7F06A824 8C6D0048 */ lw $t5, 0x48($v1) -/* 09F358 7F06A828 8D6C29E4 */ lw $t4, 0x29e4($t3) -/* 09F35C 7F06A82C 014C1023 */ subu $v0, $t2, $t4 -/* 09F360 7F06A830 01A2082A */ slt $at, $t5, $v0 -/* 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(pPlayersPerm) -/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) -/* 09F378 7F06A848 8C6E0044 */ lw $t6, 0x44($v1) -.L7F06A84C: -/* 09F37C 7F06A84C 004E082A */ slt $at, $v0, $t6 -/* 09F380 7F06A850 50200003 */ beql $at, $zero, .L7F06A860 -/* 09F384 7F06A854 8E020000 */ lw $v0, ($s0) -/* 09F388 7F06A858 AC620044 */ sw $v0, 0x44($v1) -/* 09F38C 7F06A85C 8E020000 */ lw $v0, ($s0) -.L7F06A860: -/* 09F390 7F06A860 2406FFFF */ li $a2, -1 -/* 09F394 7F06A864 24040001 */ li $a0, 1 -/* 09F398 7F06A868 8C4F29EC */ lw $t7, 0x29ec($v0) -/* 09F39C 7F06A86C AC4F29F0 */ sw $t7, 0x29f0($v0) -/* 09F3A0 7F06A870 8E020000 */ lw $v0, ($s0) -/* 09F3A4 7F06A874 8C5829E8 */ lw $t8, 0x29e8($v0) -/* 09F3A8 7F06A878 AC5829EC */ sw $t8, 0x29ec($v0) -/* 09F3AC 7F06A87C 8E020000 */ lw $v0, ($s0) -/* 09F3B0 7F06A880 8C5929E4 */ lw $t9, 0x29e4($v0) -/* 09F3B4 7F06A884 AC5929E8 */ sw $t9, 0x29e8($v0) -/* 09F3B8 7F06A888 8E090000 */ lw $t1, ($s0) -/* 09F3BC 7F06A88C 8FA80034 */ lw $t0, 0x34($sp) -/* 09F3C0 7F06A890 AD2829E4 */ sw $t0, 0x29e4($t1) -/* 09F3C4 7F06A894 8E020000 */ lw $v0, ($s0) -/* 09F3C8 7F06A898 8C4529E8 */ lw $a1, 0x29e8($v0) -/* 09F3CC 7F06A89C 10C50015 */ beq $a2, $a1, .L7F06A8F4 -/* 09F3D0 7F06A8A0 00000000 */ nop -/* 09F3D4 7F06A8A4 8C4329E4 */ lw $v1, 0x29e4($v0) -/* 09F3D8 7F06A8A8 00655823 */ subu $t3, $v1, $a1 -/* 09F3DC 7F06A8AC 29610078 */ slti $at, $t3, 0x78 -/* 09F3E0 7F06A8B0 10200010 */ beqz $at, .L7F06A8F4 -/* 09F3E4 7F06A8B4 00000000 */ nop -/* 09F3E8 7F06A8B8 8C4529EC */ lw $a1, 0x29ec($v0) -/* 09F3EC 7F06A8BC 24040002 */ li $a0, 2 -/* 09F3F0 7F06A8C0 10C5000C */ beq $a2, $a1, .L7F06A8F4 -/* 09F3F4 7F06A8C4 00655023 */ subu $t2, $v1, $a1 -/* 09F3F8 7F06A8C8 29410078 */ slti $at, $t2, 0x78 -/* 09F3FC 7F06A8CC 10200009 */ beqz $at, .L7F06A8F4 -/* 09F400 7F06A8D0 00000000 */ nop -/* 09F404 7F06A8D4 8C4529F0 */ lw $a1, 0x29f0($v0) -/* 09F408 7F06A8D8 24840001 */ addiu $a0, $a0, 1 -/* 09F40C 7F06A8DC 10C50005 */ beq $a2, $a1, .L7F06A8F4 -/* 09F410 7F06A8E0 00656023 */ subu $t4, $v1, $a1 -/* 09F414 7F06A8E4 29810078 */ slti $at, $t4, 0x78 -/* 09F418 7F06A8E8 10200002 */ beqz $at, .L7F06A8F4 -/* 09F41C 7F06A8EC 00000000 */ nop -/* 09F420 7F06A8F0 24840001 */ addiu $a0, $a0, 1 -.L7F06A8F4: -/* 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 -/* 09F438 7F06A908 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F43C 7F06A90C AC640058 */ sw $a0, 0x58($v1) -/* 09F440 7F06A910 8FBF001C */ lw $ra, 0x1c($sp) -.L7F06A914: -/* 09F444 7F06A914 8FB00018 */ lw $s0, 0x18($sp) -/* 09F448 7F06A918 27BD0140 */ addiu $sp, $sp, 0x140 -/* 09F44C 7F06A91C 03E00008 */ jr $ra -/* 09F450 7F06A920 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel increment_num_kills_display_text_in_MP -/* 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) -/* 09F2C4 7F06A794 8C6E001C */ lw $t6, 0x1c($v1) -/* 09F2C8 7F06A798 3C108008 */ lui $s0, %hi(pPlayer) -/* 09F2CC 7F06A79C 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 09F2D0 7F06A7A0 25CF0001 */ addiu $t7, $t6, 1 -/* 09F2D4 7F06A7A4 AC6F001C */ sw $t7, 0x1c($v1) -/* 09F2D8 7F06A7A8 8E020000 */ lw $v0, ($s0) -/* 09F2DC 7F06A7AC 8C5829F8 */ lw $t8, 0x29f8($v0) -/* 09F2E0 7F06A7B0 27190001 */ addiu $t9, $t8, 1 -/* 09F2E4 7F06A7B4 0FC26919 */ jal get_num_players -/* 09F2E8 7F06A7B8 AC5929F8 */ sw $t9, 0x29f8($v0) -/* 09F2EC 7F06A7BC 28410002 */ slti $at, $v0, 2 -/* 09F2F0 7F06A7C0 54200054 */ bnezl $at, .L7F06A914 -/* 09F2F4 7F06A7C4 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F2F8 7F06A7C8 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 09F2FC 7F06A7CC 00000000 */ nop -/* 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(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_display_string_in_lower_left_corner -/* 09F330 7F06A800 27A40040 */ addiu $a0, $sp, 0x40 -/* 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 -/* 09F348 7F06A818 8E020000 */ lw $v0, ($s0) -/* 09F34C 7F06A81C 8E0B0000 */ lw $t3, ($s0) -/* 09F350 7F06A820 8FAA0034 */ lw $t2, 0x34($sp) -/* 09F354 7F06A824 8C6D0048 */ lw $t5, 0x48($v1) -/* 09F358 7F06A828 8D6C29E4 */ lw $t4, 0x29e4($t3) -/* 09F35C 7F06A82C 014C1023 */ subu $v0, $t2, $t4 -/* 09F360 7F06A830 01A2082A */ slt $at, $t5, $v0 -/* 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(pPlayersPerm) -/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) -/* 09F378 7F06A848 8C6E0044 */ lw $t6, 0x44($v1) -.L7F06A84C: -/* 09F37C 7F06A84C 004E082A */ slt $at, $v0, $t6 -/* 09F380 7F06A850 50200003 */ beql $at, $zero, .L7F06A860 -/* 09F384 7F06A854 8E020000 */ lw $v0, ($s0) -/* 09F388 7F06A858 AC620044 */ sw $v0, 0x44($v1) -/* 09F38C 7F06A85C 8E020000 */ lw $v0, ($s0) -.L7F06A860: -/* 09F390 7F06A860 2406FFFF */ li $a2, -1 -/* 09F394 7F06A864 24040001 */ li $a0, 1 -/* 09F398 7F06A868 8C4F29EC */ lw $t7, 0x29ec($v0) -/* 09F39C 7F06A86C AC4F29F0 */ sw $t7, 0x29f0($v0) -/* 09F3A0 7F06A870 8E020000 */ lw $v0, ($s0) -/* 09F3A4 7F06A874 8C5829E8 */ lw $t8, 0x29e8($v0) -/* 09F3A8 7F06A878 AC5829EC */ sw $t8, 0x29ec($v0) -/* 09F3AC 7F06A87C 8E020000 */ lw $v0, ($s0) -/* 09F3B0 7F06A880 8C5929E4 */ lw $t9, 0x29e4($v0) -/* 09F3B4 7F06A884 AC5929E8 */ sw $t9, 0x29e8($v0) -/* 09F3B8 7F06A888 8E090000 */ lw $t1, ($s0) -/* 09F3BC 7F06A88C 8FA80034 */ lw $t0, 0x34($sp) -/* 09F3C0 7F06A890 AD2829E4 */ sw $t0, 0x29e4($t1) -/* 09F3C4 7F06A894 8E020000 */ lw $v0, ($s0) -/* 09F3C8 7F06A898 8C4529E8 */ lw $a1, 0x29e8($v0) -/* 09F3CC 7F06A89C 10C50015 */ beq $a2, $a1, .L7F06A8F4 -/* 09F3D0 7F06A8A0 00000000 */ nop -/* 09F3D4 7F06A8A4 8C4329E4 */ lw $v1, 0x29e4($v0) -/* 09F3D8 7F06A8A8 00655823 */ subu $t3, $v1, $a1 -/* 09F3DC 7F06A8AC 29610078 */ slti $at, $t3, 0x78 -/* 09F3E0 7F06A8B0 10200010 */ beqz $at, .L7F06A8F4 -/* 09F3E4 7F06A8B4 00000000 */ nop -/* 09F3E8 7F06A8B8 8C4529EC */ lw $a1, 0x29ec($v0) -/* 09F3EC 7F06A8BC 24040002 */ li $a0, 2 -/* 09F3F0 7F06A8C0 10C5000C */ beq $a2, $a1, .L7F06A8F4 -/* 09F3F4 7F06A8C4 00655023 */ subu $t2, $v1, $a1 -/* 09F3F8 7F06A8C8 29410078 */ slti $at, $t2, 0x78 -/* 09F3FC 7F06A8CC 10200009 */ beqz $at, .L7F06A8F4 -/* 09F400 7F06A8D0 00000000 */ nop -/* 09F404 7F06A8D4 8C4529F0 */ lw $a1, 0x29f0($v0) -/* 09F408 7F06A8D8 24840001 */ addiu $a0, $a0, 1 -/* 09F40C 7F06A8DC 10C50005 */ beq $a2, $a1, .L7F06A8F4 -/* 09F410 7F06A8E0 00656023 */ subu $t4, $v1, $a1 -/* 09F414 7F06A8E4 29810078 */ slti $at, $t4, 0x78 -/* 09F418 7F06A8E8 10200002 */ beqz $at, .L7F06A8F4 -/* 09F41C 7F06A8EC 00000000 */ nop -/* 09F420 7F06A8F0 24840001 */ addiu $a0, $a0, 1 -.L7F06A8F4: -/* 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 -/* 09F438 7F06A908 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F43C 7F06A90C AC640058 */ sw $a0, 0x58($v1) -/* 09F440 7F06A910 8FBF001C */ lw $ra, 0x1c($sp) -.L7F06A914: -/* 09F444 7F06A914 8FB00018 */ lw $s0, 0x18($sp) -/* 09F448 7F06A918 27BD0140 */ addiu $sp, $sp, 0x140 -/* 09F44C 7F06A91C 03E00008 */ jr $ra -/* 09F450 7F06A920 00000000 */ nop -) -#endif -#endif - - - - -#ifdef NONMATCHING -void get_curplay_killcount(void) { - // Node 0 - return pPlayersPerm->killcount; -} - -#else -GLOBAL_ASM( -.text -glabel get_curplay_killcount -/* 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) -) -#endif - - - - - -#ifdef NONMATCHING -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(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 -/* 09F478 7F06A948 AC4F0020 */ sw $t7, 0x20($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void get_times_killed_mwtgx(void) { - // Node 0 - return pPlayersPerm->ggkillcount; -} -#else -GLOBAL_ASM( -.text -glabel get_times_killed_mwtgx -/* 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) -) -#endif - - - - - -#ifdef NONMATCHING -void increment_num_deaths(void) -{ - char acStack256 [256] - pPlayer->deathcount = (s32) (pPlayer->deathcount + 1); - if (get_num_players() >= 2) - { - if (pPlayer->deathcount == 1) - { - sprintf(acStack256, get_textptr_for_textID(0x98db)); - } - else - { - sprintf(acStack256, &aSDS, get_textptr_for_textID(0x98dc), pPlayer->deathcount, get_textptr_for_textID(0x98dd)); - } - display_string_in_lower_left_corner(acStack256); - } -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel increment_num_deaths -/* 09F48C 7F06A95C 3C028008 */ lui $v0, %hi(pPlayer) -/* 09F490 7F06A960 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09F494 7F06A964 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 09F498 7F06A968 AFBF001C */ sw $ra, 0x1c($sp) -/* 09F49C 7F06A96C 8C4E29D8 */ lw $t6, 0x29d8($v0) -/* 09F4A0 7F06A970 25CF0001 */ addiu $t7, $t6, 1 -/* 09F4A4 7F06A974 0FC26919 */ jal get_num_players -/* 09F4A8 7F06A978 AC4F29D8 */ sw $t7, 0x29d8($v0) -/* 09F4AC 7F06A97C 28410002 */ slti $at, $v0, 2 -/* 09F4B0 7F06A980 1420001D */ bnez $at, .L7F06A9F8 -/* 09F4B4 7F06A984 3C188008 */ lui $t8, %hi(pPlayer) -/* 09F4B8 7F06A988 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 09F4BC 7F06A98C 24010001 */ li $at, 1 -/* 09F4C0 7F06A990 8F1929D8 */ lw $t9, 0x29d8($t8) -/* 09F4C4 7F06A994 17210008 */ bne $t9, $at, .L7F06A9B8 -/* 09F4C8 7F06A998 00000000 */ nop -/* 09F4CC 7F06A99C 0FC30776 */ jal get_textptr_for_textID -/* 09F4D0 7F06A9A0 340498DB */ li $a0, 39131 -/* 09F4D4 7F06A9A4 27A40030 */ addiu $a0, $sp, 0x30 -/* 09F4D8 7F06A9A8 0C002B25 */ jal sprintf -/* 09F4DC 7F06A9AC 00402825 */ move $a1, $v0 -/* 09F4E0 7F06A9B0 1000000F */ b .L7F06A9F0 -/* 09F4E4 7F06A9B4 00000000 */ nop -.L7F06A9B8: -/* 09F4E8 7F06A9B8 0FC30776 */ jal get_textptr_for_textID -/* 09F4EC 7F06A9BC 340498DC */ li $a0, 39132 -/* 09F4F0 7F06A9C0 AFA20028 */ sw $v0, 0x28($sp) -/* 09F4F4 7F06A9C4 0FC30776 */ jal get_textptr_for_textID -/* 09F4F8 7F06A9C8 340498DD */ li $a0, 39133 -/* 09F4FC 7F06A9CC 3C088008 */ lui $t0, %hi(pPlayer) -/* 09F500 7F06A9D0 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 09F504 7F06A9D4 3C058005 */ lui $a1, %hi(aSDS) -/* 09F508 7F06A9D8 24A53C00 */ addiu $a1, %lo(aSDS) # addiu $a1, $a1, 0x3c00 -/* 09F50C 7F06A9DC 8D0729D8 */ lw $a3, 0x29d8($t0) -/* 09F510 7F06A9E0 AFA20010 */ sw $v0, 0x10($sp) -/* 09F514 7F06A9E4 27A40030 */ addiu $a0, $sp, 0x30 -/* 09F518 7F06A9E8 0C002B25 */ jal sprintf -/* 09F51C 7F06A9EC 8FA60028 */ lw $a2, 0x28($sp) -.L7F06A9F0: -/* 09F520 7F06A9F0 0FC228F2 */ jal display_string_in_lower_left_corner -/* 09F524 7F06A9F4 27A40030 */ addiu $a0, $sp, 0x30 -.L7F06A9F8: -/* 09F528 7F06A9F8 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F52C 7F06A9FC 27BD0130 */ addiu $sp, $sp, 0x130 -/* 09F530 7F06AA00 03E00008 */ jr $ra -/* 09F534 7F06AA04 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel increment_num_deaths -/* 09F48C 7F06A95C 3C028008 */ lui $v0, %hi(pPlayer) -/* 09F490 7F06A960 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 09F494 7F06A964 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 09F498 7F06A968 AFBF001C */ sw $ra, 0x1c($sp) -/* 09F49C 7F06A96C 8C4E29D8 */ lw $t6, 0x29d8($v0) -/* 09F4A0 7F06A970 25CF0001 */ addiu $t7, $t6, 1 -/* 09F4A4 7F06A974 0FC26919 */ jal get_num_players -/* 09F4A8 7F06A978 AC4F29D8 */ sw $t7, 0x29d8($v0) -/* 09F4AC 7F06A97C 28410002 */ slti $at, $v0, 2 -/* 09F4B0 7F06A980 1420001D */ bnez $at, .L7F06A9F8 -/* 09F4B4 7F06A984 3C188008 */ lui $t8, %hi(pPlayer) -/* 09F4B8 7F06A988 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 09F4BC 7F06A98C 24010001 */ li $at, 1 -/* 09F4C0 7F06A990 8F1929D8 */ lw $t9, 0x29d8($t8) -/* 09F4C4 7F06A994 17210008 */ bne $t9, $at, .L7F06A9B8 -/* 09F4C8 7F06A998 00000000 */ nop -/* 09F4CC 7F06A99C 0FC30776 */ jal get_textptr_for_textID -/* 09F4D0 7F06A9A0 340498DB */ li $a0, 39131 -/* 09F4D4 7F06A9A4 27A40030 */ addiu $a0, $sp, 0x30 -/* 09F4D8 7F06A9A8 0C002B25 */ jal sprintf -/* 09F4DC 7F06A9AC 00402825 */ move $a1, $v0 -/* 09F4E0 7F06A9B0 1000000F */ b .L7F06A9F0 -/* 09F4E4 7F06A9B4 00000000 */ nop -.L7F06A9B8: -/* 09F4E8 7F06A9B8 0FC30776 */ jal get_textptr_for_textID -/* 09F4EC 7F06A9BC 340498DC */ li $a0, 39132 -/* 09F4F0 7F06A9C0 AFA20028 */ sw $v0, 0x28($sp) -/* 09F4F4 7F06A9C4 0FC30776 */ jal get_textptr_for_textID -/* 09F4F8 7F06A9C8 340498DD */ li $a0, 39133 -/* 09F4FC 7F06A9CC 3C088008 */ lui $t0, %hi(pPlayer) -/* 09F500 7F06A9D0 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 09F504 7F06A9D4 3C058005 */ lui $a1, %hi(aSDS) -/* 09F508 7F06A9D8 24A53C00 */ addiu $a1, %lo(aSDS) # addiu $a1, $a1, 0x3c00 -/* 09F50C 7F06A9DC 8D0729D8 */ lw $a3, 0x29d8($t0) -/* 09F510 7F06A9E0 AFA20010 */ sw $v0, 0x10($sp) -/* 09F514 7F06A9E4 27A40030 */ addiu $a0, $sp, 0x30 -/* 09F518 7F06A9E8 0C002B25 */ jal sprintf -/* 09F51C 7F06A9EC 8FA60028 */ lw $a2, 0x28($sp) -.L7F06A9F0: -/* 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) -/* 09F52C 7F06A9FC 27BD0130 */ addiu $sp, $sp, 0x130 -/* 09F530 7F06AA00 03E00008 */ jr $ra -/* 09F534 7F06AA04 00000000 */ nop -) -#endif -#endif - - - - -#ifdef NONMATCHING -void get_curplayer_numdeaths(void) { - // Node 0 - return pPlayer->deathcount; -} - -#else -GLOBAL_ASM( -.text -glabel get_curplayer_numdeaths -/* 09F538 7F06AA08 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09F53C 7F06AA0C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09F540 7F06AA10 03E00008 */ jr $ra -/* 09F544 7F06AA14 8DC229D8 */ lw $v0, 0x29d8($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void *increment_num_suicides_display_MP(void) { - s32 sp34; - ? sp40; - void *temp_ret; - s32 temp_v1; - s32 temp_v1_2; - s32 phi_v1; - void *phi_return_reg; - - // Node 0 - 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->num_suicides); - display_string_in_lower_left_corner(&sp40); - if (pPlayersPerm->killcount >= 2) - { - // Node 2 - temp_v1 = (sp34 - pPlayer->last_kill_time); - if (pPlayersPerm->slowest2kills < temp_v1) - { - // Node 3 - pPlayersPerm->slowest2kills = temp_v1; - } - // Node 4 - if (temp_v1 < pPlayersPerm->fastest2kills) - { - // Node 5 - pPlayersPerm->fastest2kills = temp_v1; - } - } - // Node 6 - pPlayer->unk29F0 = (s32) pPlayer->unk29EC; - pPlayer->unk29EC = (s32) pPlayer->unk29E8; - 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->last_kill_time - pPlayer->unk29E8) < 0x78) - { - // Node 8 - phi_v1 = 2; - if (-1 != pPlayer->unk29EC) - { - // Node 9 - phi_v1 = 2; - if ((pPlayer->last_kill_time - pPlayer->unk29EC) < 0x78) - { - // Node 10 - temp_v1_2 = (2 + 1); - phi_v1 = temp_v1_2; - if (-1 != pPlayer->unk29F0) - { - // Node 11 - phi_v1 = temp_v1_2; - if ((pPlayer->last_kill_time - pPlayer->unk29F0) < 0x78) - { - // Node 12 - phi_v1 = (temp_v1_2 + 1); - } - } - } - } - } - } - // Node 13 - phi_return_reg = pPlayersPerm; - if (pPlayersPerm->most_killed_one_time < phi_v1) - { - // Node 14 - pPlayersPerm->most_killed_one_time = (s32) phi_v1; - phi_return_reg = pPlayersPerm; - } - } - // Node 15 - return phi_return_reg; -} - -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel increment_num_suicides_display_MP -/* 09F548 7F06AA18 27BDFEC0 */ addiu $sp, $sp, -0x140 -/* 09F54C 7F06AA1C AFB00018 */ sw $s0, 0x18($sp) -/* 09F550 7F06AA20 3C108008 */ lui $s0, %hi(pPlayer) -/* 09F554 7F06AA24 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 09F558 7F06AA28 8E020000 */ lw $v0, ($s0) -/* 09F55C 7F06AA2C AFBF001C */ sw $ra, 0x1c($sp) -/* 09F560 7F06AA30 8C4E29DC */ lw $t6, 0x29dc($v0) -/* 09F564 7F06AA34 25CF0001 */ addiu $t7, $t6, 1 -/* 09F568 7F06AA38 0FC26919 */ jal get_num_players -/* 09F56C 7F06AA3C AC4F29DC */ sw $t7, 0x29dc($v0) -/* 09F570 7F06AA40 28410002 */ slti $at, $v0, 2 -/* 09F574 7F06AA44 54200052 */ bnezl $at, .L7F06AB90 -/* 09F578 7F06AA48 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F57C 7F06AA4C 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 09F580 7F06AA50 00000000 */ nop -/* 09F584 7F06AA54 AFA20034 */ sw $v0, 0x34($sp) -/* 09F588 7F06AA58 0FC30776 */ jal get_textptr_for_textID -/* 09F58C 7F06AA5C 340498DE */ li $a0, 39134 -/* 09F590 7F06AA60 8E180000 */ lw $t8, ($s0) -/* 09F594 7F06AA64 3C058005 */ lui $a1, %hi(aSD_0) -/* 09F598 7F06AA68 24A53C0C */ addiu $a1, %lo(aSD_0) # addiu $a1, $a1, 0x3c0c -/* 09F59C 7F06AA6C 27A40040 */ addiu $a0, $sp, 0x40 -/* 09F5A0 7F06AA70 00403025 */ move $a2, $v0 -/* 09F5A4 7F06AA74 0C002B25 */ jal sprintf -/* 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(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 -/* 09F5C8 7F06AA98 54200011 */ bnezl $at, .L7F06AAE0 -/* 09F5CC 7F06AA9C 8E020000 */ lw $v0, ($s0) -/* 09F5D0 7F06AAA0 8E090000 */ lw $t1, ($s0) -/* 09F5D4 7F06AAA4 8FA80034 */ lw $t0, 0x34($sp) -/* 09F5D8 7F06AAA8 8C4B0048 */ lw $t3, 0x48($v0) -/* 09F5DC 7F06AAAC 8D2A29E4 */ lw $t2, 0x29e4($t1) -/* 09F5E0 7F06AAB0 010A1823 */ subu $v1, $t0, $t2 -/* 09F5E4 7F06AAB4 0163082A */ slt $at, $t3, $v1 -/* 09F5E8 7F06AAB8 50200004 */ beql $at, $zero, .L7F06AACC -/* 09F5EC 7F06AABC 8C4C0044 */ lw $t4, 0x44($v0) -/* 09F5F0 7F06AAC0 AC430048 */ sw $v1, 0x48($v0) -/* 09F5F4 7F06AAC4 8CE20000 */ lw $v0, ($a3) -/* 09F5F8 7F06AAC8 8C4C0044 */ lw $t4, 0x44($v0) -.L7F06AACC: -/* 09F5FC 7F06AACC 006C082A */ slt $at, $v1, $t4 -/* 09F600 7F06AAD0 50200003 */ beql $at, $zero, .L7F06AAE0 -/* 09F604 7F06AAD4 8E020000 */ lw $v0, ($s0) -/* 09F608 7F06AAD8 AC430044 */ sw $v1, 0x44($v0) -/* 09F60C 7F06AADC 8E020000 */ lw $v0, ($s0) -.L7F06AAE0: -/* 09F610 7F06AAE0 2406FFFF */ li $a2, -1 -/* 09F614 7F06AAE4 24030001 */ li $v1, 1 -/* 09F618 7F06AAE8 8C4D29EC */ lw $t5, 0x29ec($v0) -/* 09F61C 7F06AAEC AC4D29F0 */ sw $t5, 0x29f0($v0) -/* 09F620 7F06AAF0 8E020000 */ lw $v0, ($s0) -/* 09F624 7F06AAF4 8C4E29E8 */ lw $t6, 0x29e8($v0) -/* 09F628 7F06AAF8 AC4E29EC */ sw $t6, 0x29ec($v0) -/* 09F62C 7F06AAFC 8E020000 */ lw $v0, ($s0) -/* 09F630 7F06AB00 8C4F29E4 */ lw $t7, 0x29e4($v0) -/* 09F634 7F06AB04 AC4F29E8 */ sw $t7, 0x29e8($v0) -/* 09F638 7F06AB08 8E190000 */ lw $t9, ($s0) -/* 09F63C 7F06AB0C 8FB80034 */ lw $t8, 0x34($sp) -/* 09F640 7F06AB10 AF3829E4 */ sw $t8, 0x29e4($t9) -/* 09F644 7F06AB14 8E020000 */ lw $v0, ($s0) -/* 09F648 7F06AB18 8C4529E8 */ lw $a1, 0x29e8($v0) -/* 09F64C 7F06AB1C 50C50016 */ beql $a2, $a1, .L7F06AB78 -/* 09F650 7F06AB20 8CE20000 */ lw $v0, ($a3) -/* 09F654 7F06AB24 8C4429E4 */ lw $a0, 0x29e4($v0) -/* 09F658 7F06AB28 00854823 */ subu $t1, $a0, $a1 -/* 09F65C 7F06AB2C 29210078 */ slti $at, $t1, 0x78 -/* 09F660 7F06AB30 50200011 */ beql $at, $zero, .L7F06AB78 -/* 09F664 7F06AB34 8CE20000 */ lw $v0, ($a3) -/* 09F668 7F06AB38 8C4529EC */ lw $a1, 0x29ec($v0) -/* 09F66C 7F06AB3C 24030002 */ li $v1, 2 -/* 09F670 7F06AB40 10C5000C */ beq $a2, $a1, .L7F06AB74 -/* 09F674 7F06AB44 00854023 */ subu $t0, $a0, $a1 -/* 09F678 7F06AB48 29010078 */ slti $at, $t0, 0x78 -/* 09F67C 7F06AB4C 5020000A */ beql $at, $zero, .L7F06AB78 -/* 09F680 7F06AB50 8CE20000 */ lw $v0, ($a3) -/* 09F684 7F06AB54 8C4529F0 */ lw $a1, 0x29f0($v0) -/* 09F688 7F06AB58 24630001 */ addiu $v1, $v1, 1 -/* 09F68C 7F06AB5C 10C50005 */ beq $a2, $a1, .L7F06AB74 -/* 09F690 7F06AB60 00855023 */ subu $t2, $a0, $a1 -/* 09F694 7F06AB64 29410078 */ slti $at, $t2, 0x78 -/* 09F698 7F06AB68 50200003 */ beql $at, $zero, .L7F06AB78 -/* 09F69C 7F06AB6C 8CE20000 */ lw $v0, ($a3) -/* 09F6A0 7F06AB70 24630001 */ addiu $v1, $v1, 1 -.L7F06AB74: -/* 09F6A4 7F06AB74 8CE20000 */ lw $v0, ($a3) -.L7F06AB78: -/* 09F6A8 7F06AB78 8C4B0058 */ lw $t3, 0x58($v0) -/* 09F6AC 7F06AB7C 0163082A */ slt $at, $t3, $v1 -/* 09F6B0 7F06AB80 50200003 */ beql $at, $zero, .L7F06AB90 -/* 09F6B4 7F06AB84 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F6B8 7F06AB88 AC430058 */ sw $v1, 0x58($v0) -/* 09F6BC 7F06AB8C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F06AB90: -/* 09F6C0 7F06AB90 8FB00018 */ lw $s0, 0x18($sp) -/* 09F6C4 7F06AB94 27BD0140 */ addiu $sp, $sp, 0x140 -/* 09F6C8 7F06AB98 03E00008 */ jr $ra -/* 09F6CC 7F06AB9C 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel increment_num_suicides_display_MP -/* 09F548 7F06AA18 27BDFEC0 */ addiu $sp, $sp, -0x140 -/* 09F54C 7F06AA1C AFB00018 */ sw $s0, 0x18($sp) -/* 09F550 7F06AA20 3C108008 */ lui $s0, %hi(pPlayer) -/* 09F554 7F06AA24 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 09F558 7F06AA28 8E020000 */ lw $v0, ($s0) -/* 09F55C 7F06AA2C AFBF001C */ sw $ra, 0x1c($sp) -/* 09F560 7F06AA30 8C4E29DC */ lw $t6, 0x29dc($v0) -/* 09F564 7F06AA34 25CF0001 */ addiu $t7, $t6, 1 -/* 09F568 7F06AA38 0FC26919 */ jal get_num_players -/* 09F56C 7F06AA3C AC4F29DC */ sw $t7, 0x29dc($v0) -/* 09F570 7F06AA40 28410002 */ slti $at, $v0, 2 -/* 09F574 7F06AA44 54200052 */ bnezl $at, .L7F06AB90 -/* 09F578 7F06AA48 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F57C 7F06AA4C 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 09F580 7F06AA50 00000000 */ nop -/* 09F584 7F06AA54 AFA20034 */ sw $v0, 0x34($sp) -/* 09F588 7F06AA58 0FC30776 */ jal get_textptr_for_textID -/* 09F58C 7F06AA5C 340498DE */ li $a0, 39134 -/* 09F590 7F06AA60 8E180000 */ lw $t8, ($s0) -/* 09F594 7F06AA64 3C058005 */ lui $a1, %hi(aSD_0) -/* 09F598 7F06AA68 24A53C0C */ addiu $a1, %lo(aSD_0) # addiu $a1, $a1, 0x3c0c -/* 09F59C 7F06AA6C 27A40040 */ addiu $a0, $sp, 0x40 -/* 09F5A0 7F06AA70 00403025 */ move $a2, $v0 -/* 09F5A4 7F06AA74 0C002B25 */ jal sprintf -/* 09F5A8 7F06AA78 8F0729DC */ lw $a3, 0x29dc($t8) -/* 09F5AC 7F06AA7C 0FC228F2 */ jal jp_display_string_in_lower_left_corner -/* 09F5B0 7F06AA80 27A40040 */ addiu $a0, $sp, 0x40 -/* 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 -/* 09F5C8 7F06AA98 54200011 */ bnezl $at, .L7F06AAE0 -/* 09F5CC 7F06AA9C 8E020000 */ lw $v0, ($s0) -/* 09F5D0 7F06AAA0 8E090000 */ lw $t1, ($s0) -/* 09F5D4 7F06AAA4 8FA80034 */ lw $t0, 0x34($sp) -/* 09F5D8 7F06AAA8 8C4B0048 */ lw $t3, 0x48($v0) -/* 09F5DC 7F06AAAC 8D2A29E4 */ lw $t2, 0x29e4($t1) -/* 09F5E0 7F06AAB0 010A1823 */ subu $v1, $t0, $t2 -/* 09F5E4 7F06AAB4 0163082A */ slt $at, $t3, $v1 -/* 09F5E8 7F06AAB8 50200004 */ beql $at, $zero, .L7F06AACC -/* 09F5EC 7F06AABC 8C4C0044 */ lw $t4, 0x44($v0) -/* 09F5F0 7F06AAC0 AC430048 */ sw $v1, 0x48($v0) -/* 09F5F4 7F06AAC4 8CE20000 */ lw $v0, ($a3) -/* 09F5F8 7F06AAC8 8C4C0044 */ lw $t4, 0x44($v0) -.L7F06AACC: -/* 09F5FC 7F06AACC 006C082A */ slt $at, $v1, $t4 -/* 09F600 7F06AAD0 50200003 */ beql $at, $zero, .L7F06AAE0 -/* 09F604 7F06AAD4 8E020000 */ lw $v0, ($s0) -/* 09F608 7F06AAD8 AC430044 */ sw $v1, 0x44($v0) -/* 09F60C 7F06AADC 8E020000 */ lw $v0, ($s0) -.L7F06AAE0: -/* 09F610 7F06AAE0 2406FFFF */ li $a2, -1 -/* 09F614 7F06AAE4 24030001 */ li $v1, 1 -/* 09F618 7F06AAE8 8C4D29EC */ lw $t5, 0x29ec($v0) -/* 09F61C 7F06AAEC AC4D29F0 */ sw $t5, 0x29f0($v0) -/* 09F620 7F06AAF0 8E020000 */ lw $v0, ($s0) -/* 09F624 7F06AAF4 8C4E29E8 */ lw $t6, 0x29e8($v0) -/* 09F628 7F06AAF8 AC4E29EC */ sw $t6, 0x29ec($v0) -/* 09F62C 7F06AAFC 8E020000 */ lw $v0, ($s0) -/* 09F630 7F06AB00 8C4F29E4 */ lw $t7, 0x29e4($v0) -/* 09F634 7F06AB04 AC4F29E8 */ sw $t7, 0x29e8($v0) -/* 09F638 7F06AB08 8E190000 */ lw $t9, ($s0) -/* 09F63C 7F06AB0C 8FB80034 */ lw $t8, 0x34($sp) -/* 09F640 7F06AB10 AF3829E4 */ sw $t8, 0x29e4($t9) -/* 09F644 7F06AB14 8E020000 */ lw $v0, ($s0) -/* 09F648 7F06AB18 8C4529E8 */ lw $a1, 0x29e8($v0) -/* 09F64C 7F06AB1C 50C50016 */ beql $a2, $a1, .L7F06AB78 -/* 09F650 7F06AB20 8CE20000 */ lw $v0, ($a3) -/* 09F654 7F06AB24 8C4429E4 */ lw $a0, 0x29e4($v0) -/* 09F658 7F06AB28 00854823 */ subu $t1, $a0, $a1 -/* 09F65C 7F06AB2C 29210078 */ slti $at, $t1, 0x78 -/* 09F660 7F06AB30 50200011 */ beql $at, $zero, .L7F06AB78 -/* 09F664 7F06AB34 8CE20000 */ lw $v0, ($a3) -/* 09F668 7F06AB38 8C4529EC */ lw $a1, 0x29ec($v0) -/* 09F66C 7F06AB3C 24030002 */ li $v1, 2 -/* 09F670 7F06AB40 10C5000C */ beq $a2, $a1, .L7F06AB74 -/* 09F674 7F06AB44 00854023 */ subu $t0, $a0, $a1 -/* 09F678 7F06AB48 29010078 */ slti $at, $t0, 0x78 -/* 09F67C 7F06AB4C 5020000A */ beql $at, $zero, .L7F06AB78 -/* 09F680 7F06AB50 8CE20000 */ lw $v0, ($a3) -/* 09F684 7F06AB54 8C4529F0 */ lw $a1, 0x29f0($v0) -/* 09F688 7F06AB58 24630001 */ addiu $v1, $v1, 1 -/* 09F68C 7F06AB5C 10C50005 */ beq $a2, $a1, .L7F06AB74 -/* 09F690 7F06AB60 00855023 */ subu $t2, $a0, $a1 -/* 09F694 7F06AB64 29410078 */ slti $at, $t2, 0x78 -/* 09F698 7F06AB68 50200003 */ beql $at, $zero, .L7F06AB78 -/* 09F69C 7F06AB6C 8CE20000 */ lw $v0, ($a3) -/* 09F6A0 7F06AB70 24630001 */ addiu $v1, $v1, 1 -.L7F06AB74: -/* 09F6A4 7F06AB74 8CE20000 */ lw $v0, ($a3) -.L7F06AB78: -/* 09F6A8 7F06AB78 8C4B0058 */ lw $t3, 0x58($v0) -/* 09F6AC 7F06AB7C 0163082A */ slt $at, $t3, $v1 -/* 09F6B0 7F06AB80 50200003 */ beql $at, $zero, .L7F06AB90 -/* 09F6B4 7F06AB84 8FBF001C */ lw $ra, 0x1c($sp) -/* 09F6B8 7F06AB88 AC430058 */ sw $v1, 0x58($v0) -/* 09F6BC 7F06AB8C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F06AB90: -/* 09F6C0 7F06AB90 8FB00018 */ lw $s0, 0x18($sp) -/* 09F6C4 7F06AB94 27BD0140 */ addiu $sp, $sp, 0x140 -/* 09F6C8 7F06AB98 03E00008 */ jr $ra -/* 09F6CC 7F06AB9C 00000000 */ nop -) -#endif -#endif - - - -#ifdef NONMATCHING -void get_curplayer_numsuicides(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_curplayer_numsuicides -/* 09F6D0 7F06ABA0 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 09F6D4 7F06ABA4 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 09F6D8 7F06ABA8 03E00008 */ jr $ra -/* 09F6DC 7F06ABAC 8DC229DC */ lw $v0, 0x29dc($t6) -) -#endif diff --git a/src/game/bondwalk.h b/src/game/bondwalk.h deleted file mode 100644 index 7f18f60..0000000 --- a/src/game/bondwalk.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef _BONDWALK_H_ -#define _BONDWALK_H_ -#include "ultra64.h" -#include "game/chrobjdata.h" - -struct weapon_stats -{ - f32 field_0; - f32 pos_x; - f32 pos_y; - f32 pos_z; - f32 field_10; - f32 field_14; - f32 field_18; - s32 ammotype; - s16 mag_size; - u8 automatic_firing_rate; - s8 single_firing_rate; - u8 objects_shoot_through; - u8 sound_trigger_rate; - s16 sound; - struct Gitemheader * ptr_cartridge_struct; - f32 destruction_amount; - f32 inaccuracy; - f32 zoom; - f32 field_38; - f32 field_3C; - f32 sway; - s32 recoilspeed; - f32 recoil_back; - f32 recoil_up; - f32 bolt_recoil_back; - f32 loudness; - f32 loudness2; - f32 field_5C; - f32 field_60; - f32 field_64; - f32 field_68; - u32 bitflags; -}; - -struct gitem_data_struct -{ - struct Gitemheader * item_header; - char * item_file_name; - s32 has_no_model; - struct weapon_stats * item_weapon_stats; - u16 upper_watch_text; - u16 lower_watch_text; - f32 watch_pos_x; - f32 watch_pos_y; - f32 watch_pos_z; - f32 x_rotation; - f32 y_rotation; - u16 weapon_of_choice_text; - u16 watch_equipment_text; - f32 equip_watch_x; - f32 equip_watch_y; - f32 equip_watch_z; -}; - -struct ejected_cart { - struct Gitemheader * header; - char * text; -}; - -#endif diff --git a/src/game/bondwalk2.c b/src/game/bondwalk2.c deleted file mode 100644 index 1d27ab5..0000000 --- a/src/game/bondwalk2.c +++ /dev/null @@ -1,611 +0,0 @@ -#include "ultra64.h" - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F06ABB0(void *arg0, void *arg1, void *arg2, s32 arg3, s32 arg4, s3 2 arg5, s32 arg6, s32 arg7) { - void *sp0; - void *spC; - void *temp_v0; - s32 temp_f18; - s32 temp_f8; - s32 temp_f4; - s32 temp_f10; - void *temp_v0_2; - void *temp_v0_4; - void *temp_v0_3; - void *temp_v0_5; - void *temp_v1; - s32 phi_a1; - s32 phi_a2; - s32 phi_a3; - s32 phi_t0; - s32 phi_v1; - s32 phi_a0; - void *phi_v0; - s32 phi_a3_2; - s32 phi_t0_2; - s32 phi_v1_2; - s32 phi_a0_2; - s32 phi_a3_3; - s32 phi_t0_3; - - // Node 0 - if (0.0f < *arg2) - { - // Node 1 - if (0.0f < arg2->unk4) - { - // Node 2 - **arg0 = 0xba001301; - *arg0->unk4 = 0; - temp_v0 = (*arg0 + 8); - temp_f18 = (s32) ((*arg1 - *arg2) * 4.0f); - temp_f8 = (s32) ((arg1->unk4 - arg2->unk4) * 4.0f); - temp_f4 = (s32) ((*arg2 + *arg1) * 4.0f); - temp_f10 = (s32) ((arg2->unk4 + arg1->unk4) * 4.0f); - phi_v0 = temp_v0; - if (temp_f4 >= 0) - { - // Node 3 - phi_v0 = temp_v0; - if (temp_f10 >= 0) - { - // Node 4 - phi_a1 = temp_f18; - phi_a3_3 = 0; - phi_t0_3 = 0; - if (temp_f18 < 0) - { - // Node 5 - if (arg5 != 0) - { - // Node 6 - phi_a1 = 0; - phi_a3_3 = 0; - phi_t0_3 = ((s32) ((-temp_f18 * arg4) << 5) / (s32) (temp_f4 - temp_f18)); - } - else - { - // Node 7 - phi_a1 = 0; - phi_a3_3 = ((s32) ((-temp_f18 * arg3) << 5) / (s32) (temp_f4 - temp_f18)); - phi_t0_3 = 0; - } - } - // Node 8 - phi_a2 = temp_f8; - phi_a3_2 = phi_a3_3; - phi_t0_2 = phi_t0_3; - if (temp_f8 < 0) - { - // Node 9 - if (arg5 != 0) - { - // Node 10 - phi_a2 = 0; - phi_a3_2 = (phi_a3_3 + ((s32) ((-temp_f8 * arg3) << 5) / (s32) (temp_f10 - temp_f8))); - phi_t0_2 = phi_t0_3; - } - else - { - // Node 11 - phi_a2 = 0; - phi_a3_2 = phi_a3_3; - phi_t0_2 = (phi_t0_3 + ((s32) ((-temp_f8 * arg4) << 5) / (s32) (temp_f10 - temp_f8))); - } - } - // Node 12 - if (arg5 != 0) - { - // Node 13 - phi_v1_2 = (s32) (((f32) arg3 / (arg2->unk4 + arg2->unk4 )) * 1024.0f); - phi_a0_2 = (s32) (((f32) arg4 / (*arg2 + *arg2)) * 1024. 0f); - } - else - { - // Node 14 - phi_v1_2 = (s32) (((f32) arg3 / (*arg2 + *arg2)) * 1024. 0f); - phi_a0_2 = (s32) (((f32) arg4 / (arg2->unk4 + arg2->unk4 )) * 1024.0f); - } - // Node 15 - phi_a3 = phi_a3_2; - phi_v1 = phi_v1_2; - if (arg6 != 0) - { - // Node 16 - phi_a3 = (((arg3 + -1) << 5) - phi_a3_2); - phi_v1 = (0x10000 - phi_v1_2); - } - // Node 17 - phi_t0 = phi_t0_2; - phi_a0 = phi_a0_2; - if (arg7 != 0) - { - // Node 18 - phi_t0 = (((arg4 + -1) << 5) - phi_t0_2); - phi_a0 = (0x10000 - phi_a0_2); - } - // Node 19 - if (arg5 != 0) - { - // Node 20 - *temp_v0 = (s32) ((((temp_f4 & 0xfff) << 0xc) | 0xe50000 00) | (temp_f10 & 0xfff)); - temp_v0->unk4 = (s32) (((phi_a1 & 0xfff) << 0xc) | (phi_ a2 & 0xfff)); - temp_v0_2 = (temp_v0 + 8); - *temp_v0_2 = 0xb4000000; - temp_v0_2->unk4 = (s32) ((phi_a3 << 0x10) | (phi_t0 & 0x ffff)); - temp_v0_4 = (temp_v0_2 + 8); - spC = temp_v0_4; - *spC = 0xb3000000; - spC->unk4 = (s32) ((phi_v1 << 0x10) | (phi_a0 & 0xffff)) ; - phi_v0 = (temp_v0_4 + 8); - } - else - { - // Node 21 - *temp_v0 = (s32) ((((temp_f4 & 0xfff) << 0xc) | 0xe40000 00) | (temp_f10 & 0xfff)); - temp_v0->unk4 = (s32) (((phi_a1 & 0xfff) << 0xc) | (phi_ a2 & 0xfff)); - temp_v0_3 = (temp_v0 + 8); - *temp_v0_3 = 0xb4000000; - temp_v0_3->unk4 = (s32) ((phi_a3 << 0x10) | (phi_t0 & 0x ffff)); - temp_v0_5 = (temp_v0_3 + 8); - sp0 = temp_v0_5; - *sp0 = 0xb3000000; - sp0->unk4 = (s32) ((phi_v1 << 0x10) | (phi_a0 & 0xffff)) ; - phi_v0 = (temp_v0_5 + 8); - } - } - } - // Node 22 - temp_v1 = phi_v0; - temp_v1->unk4 = 0x80000; - *temp_v1 = 0xba001301; - *arg0 = (void *) (phi_v0 + 8); - } - } - // Node 23 - return 0.0f; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06ABB0 -/* 09F6E0 7F06ABB0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 09F6E4 7F06ABB4 AFA40040 */ sw $a0, 0x40($sp) -/* 09F6E8 7F06ABB8 AFA50044 */ sw $a1, 0x44($sp) -/* 09F6EC 7F06ABBC AFA60048 */ sw $a2, 0x48($sp) -/* 09F6F0 7F06ABC0 AFA7004C */ sw $a3, 0x4c($sp) -/* 09F6F4 7F06ABC4 44800000 */ mtc1 $zero, $f0 -/* 09F6F8 7F06ABC8 C4C40000 */ lwc1 $f4, ($a2) -/* 09F6FC 7F06ABCC 4604003C */ c.lt.s $f0, $f4 -/* 09F700 7F06ABD0 00000000 */ nop -/* 09F704 7F06ABD4 45000102 */ bc1f .L7F06AFE0 -/* 09F708 7F06ABD8 00000000 */ nop -/* 09F70C 7F06ABDC C4C60004 */ lwc1 $f6, 4($a2) -/* 09F710 7F06ABE0 3C0BBA00 */ lui $t3, (0xBA001301 >> 16) # lui $t3, 0xba00 -/* 09F714 7F06ABE4 4606003C */ c.lt.s $f0, $f6 -/* 09F718 7F06ABE8 00000000 */ nop -/* 09F71C 7F06ABEC 450000FC */ bc1f .L7F06AFE0 -/* 09F720 7F06ABF0 00000000 */ nop -/* 09F724 7F06ABF4 8C820000 */ lw $v0, ($a0) -/* 09F728 7F06ABF8 356B1301 */ ori $t3, (0xBA001301 & 0xFFFF) # ori $t3, $t3, 0x1301 -/* 09F72C 7F06ABFC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 09F730 7F06AC00 00401825 */ move $v1, $v0 -/* 09F734 7F06AC04 AC6B0000 */ sw $t3, ($v1) -/* 09F738 7F06AC08 AC600004 */ sw $zero, 4($v1) -/* 09F73C 7F06AC0C 8FB90048 */ lw $t9, 0x48($sp) -/* 09F740 7F06AC10 8FB80044 */ lw $t8, 0x44($sp) -/* 09F744 7F06AC14 44818000 */ mtc1 $at, $f16 -/* 09F748 7F06AC18 C7200000 */ lwc1 $f0, ($t9) -/* 09F74C 7F06AC1C C70C0000 */ lwc1 $f12, ($t8) -/* 09F750 7F06AC20 C7220004 */ lwc1 $f2, 4($t9) -/* 09F754 7F06AC24 C70E0004 */ lwc1 $f14, 4($t8) -/* 09F758 7F06AC28 46006201 */ sub.s $f8, $f12, $f0 -/* 09F75C 7F06AC2C 00003825 */ move $a3, $zero -/* 09F760 7F06AC30 00004025 */ move $t0, $zero -/* 09F764 7F06AC34 46027101 */ sub.s $f4, $f14, $f2 -/* 09F768 7F06AC38 46104282 */ mul.s $f10, $f8, $f16 -/* 09F76C 7F06AC3C 24420008 */ addiu $v0, $v0, 8 -/* 09F770 7F06AC40 46102182 */ mul.s $f6, $f4, $f16 -/* 09F774 7F06AC44 4600548D */ trunc.w.s $f18, $f10 -/* 09F778 7F06AC48 460C0280 */ add.s $f10, $f0, $f12 -/* 09F77C 7F06AC4C 44059000 */ mfc1 $a1, $f18 -/* 09F780 7F06AC50 4600320D */ trunc.w.s $f8, $f6 -/* 09F784 7F06AC54 46105482 */ mul.s $f18, $f10, $f16 -/* 09F788 7F06AC58 460E1180 */ add.s $f6, $f2, $f14 -/* 09F78C 7F06AC5C 44064000 */ mfc1 $a2, $f8 -/* 09F790 7F06AC60 46103202 */ mul.s $f8, $f6, $f16 -/* 09F794 7F06AC64 4600910D */ trunc.w.s $f4, $f18 -/* 09F798 7F06AC68 44092000 */ mfc1 $t1, $f4 -/* 09F79C 7F06AC6C 4600428D */ trunc.w.s $f10, $f8 -/* 09F7A0 7F06AC70 440A5000 */ mfc1 $t2, $f10 -/* 09F7A4 7F06AC74 052200D4 */ bltzl $t1, .L7F06AFC8 -/* 09F7A8 7F06AC78 00401825 */ move $v1, $v0 -/* 09F7AC 7F06AC7C 054200D2 */ bltzl $t2, .L7F06AFC8 -/* 09F7B0 7F06AC80 00401825 */ move $v1, $v0 -/* 09F7B4 7F06AC84 04A1002A */ bgez $a1, .L7F06AD30 -/* 09F7B8 7F06AC88 8FAC0054 */ lw $t4, 0x54($sp) -/* 09F7BC 7F06AC8C 11800015 */ beqz $t4, .L7F06ACE4 -/* 09F7C0 7F06AC90 8FAF004C */ lw $t7, 0x4c($sp) -/* 09F7C4 7F06AC94 8FAD0050 */ lw $t5, 0x50($sp) -/* 09F7C8 7F06AC98 0005C823 */ negu $t9, $a1 -/* 09F7CC 7F06AC9C 0125C023 */ subu $t8, $t1, $a1 -/* 09F7D0 7F06ACA0 032D0019 */ multu $t9, $t5 -/* 09F7D4 7F06ACA4 00007812 */ mflo $t7 -/* 09F7D8 7F06ACA8 000F7140 */ sll $t6, $t7, 5 -/* 09F7DC 7F06ACAC 00000000 */ nop -/* 09F7E0 7F06ACB0 01D8001A */ div $zero, $t6, $t8 -/* 09F7E4 7F06ACB4 00004012 */ mflo $t0 -/* 09F7E8 7F06ACB8 17000002 */ bnez $t8, .L7F06ACC4 -/* 09F7EC 7F06ACBC 00000000 */ nop -/* 09F7F0 7F06ACC0 0007000D */ break 7 -.L7F06ACC4: -/* 09F7F4 7F06ACC4 2401FFFF */ li $at, -1 -/* 09F7F8 7F06ACC8 17010004 */ bne $t8, $at, .L7F06ACDC -/* 09F7FC 7F06ACCC 3C018000 */ lui $at, 0x8000 -/* 09F800 7F06ACD0 15C10002 */ bne $t6, $at, .L7F06ACDC -/* 09F804 7F06ACD4 00000000 */ nop -/* 09F808 7F06ACD8 0006000D */ break 6 -.L7F06ACDC: -/* 09F80C 7F06ACDC 10000014 */ b .L7F06AD30 -/* 09F810 7F06ACE0 00002825 */ move $a1, $zero -.L7F06ACE4: -/* 09F814 7F06ACE4 0005C823 */ negu $t9, $a1 -/* 09F818 7F06ACE8 032F0019 */ multu $t9, $t7 -/* 09F81C 7F06ACEC 0125C823 */ subu $t9, $t1, $a1 -/* 09F820 7F06ACF0 8FAD0050 */ lw $t5, 0x50($sp) -/* 09F824 7F06ACF4 00007012 */ mflo $t6 -/* 09F828 7F06ACF8 000EC140 */ sll $t8, $t6, 5 -/* 09F82C 7F06ACFC 00000000 */ nop -/* 09F830 7F06AD00 0319001A */ div $zero, $t8, $t9 -/* 09F834 7F06AD04 00003812 */ mflo $a3 -/* 09F838 7F06AD08 17200002 */ bnez $t9, .L7F06AD14 -/* 09F83C 7F06AD0C 00000000 */ nop -/* 09F840 7F06AD10 0007000D */ break 7 -.L7F06AD14: -/* 09F844 7F06AD14 2401FFFF */ li $at, -1 -/* 09F848 7F06AD18 17210004 */ bne $t9, $at, .L7F06AD2C -/* 09F84C 7F06AD1C 3C018000 */ lui $at, 0x8000 -/* 09F850 7F06AD20 17010002 */ bne $t8, $at, .L7F06AD2C -/* 09F854 7F06AD24 00000000 */ nop -/* 09F858 7F06AD28 0006000D */ break 6 -.L7F06AD2C: -/* 09F85C 7F06AD2C 00002825 */ move $a1, $zero -.L7F06AD30: -/* 09F860 7F06AD30 8FAC0054 */ lw $t4, 0x54($sp) -/* 09F864 7F06AD34 04C1002A */ bgez $a2, .L7F06ADE0 -/* 09F868 7F06AD38 8FAD0050 */ lw $t5, 0x50($sp) -/* 09F86C 7F06AD3C 11800016 */ beqz $t4, .L7F06AD98 -/* 09F870 7F06AD40 0006C023 */ negu $t8, $a2 -/* 09F874 7F06AD44 8FAE004C */ lw $t6, 0x4c($sp) -/* 09F878 7F06AD48 00067823 */ negu $t7, $a2 -/* 09F87C 7F06AD4C 01EE0019 */ multu $t7, $t6 -/* 09F880 7F06AD50 01467823 */ subu $t7, $t2, $a2 -/* 09F884 7F06AD54 0000C012 */ mflo $t8 -/* 09F888 7F06AD58 0018C940 */ sll $t9, $t8, 5 -/* 09F88C 7F06AD5C 00000000 */ nop -/* 09F890 7F06AD60 032F001A */ div $zero, $t9, $t7 -/* 09F894 7F06AD64 00007012 */ mflo $t6 -/* 09F898 7F06AD68 00EE3821 */ addu $a3, $a3, $t6 -/* 09F89C 7F06AD6C 15E00002 */ bnez $t7, .L7F06AD78 -/* 09F8A0 7F06AD70 00000000 */ nop -/* 09F8A4 7F06AD74 0007000D */ break 7 -.L7F06AD78: -/* 09F8A8 7F06AD78 2401FFFF */ li $at, -1 -/* 09F8AC 7F06AD7C 15E10004 */ bne $t7, $at, .L7F06AD90 -/* 09F8B0 7F06AD80 3C018000 */ lui $at, 0x8000 -/* 09F8B4 7F06AD84 17210002 */ bne $t9, $at, .L7F06AD90 -/* 09F8B8 7F06AD88 00000000 */ nop -/* 09F8BC 7F06AD8C 0006000D */ break 6 -.L7F06AD90: -/* 09F8C0 7F06AD90 10000013 */ b .L7F06ADE0 -/* 09F8C4 7F06AD94 00003025 */ move $a2, $zero -.L7F06AD98: -/* 09F8C8 7F06AD98 030D0019 */ multu $t8, $t5 -/* 09F8CC 7F06AD9C 01467023 */ subu $t6, $t2, $a2 -/* 09F8D0 7F06ADA0 0000C812 */ mflo $t9 -/* 09F8D4 7F06ADA4 00197940 */ sll $t7, $t9, 5 -/* 09F8D8 7F06ADA8 00000000 */ nop -/* 09F8DC 7F06ADAC 01EE001A */ div $zero, $t7, $t6 -/* 09F8E0 7F06ADB0 0000C012 */ mflo $t8 -/* 09F8E4 7F06ADB4 01184021 */ addu $t0, $t0, $t8 -/* 09F8E8 7F06ADB8 15C00002 */ bnez $t6, .L7F06ADC4 -/* 09F8EC 7F06ADBC 00000000 */ nop -/* 09F8F0 7F06ADC0 0007000D */ break 7 -.L7F06ADC4: -/* 09F8F4 7F06ADC4 2401FFFF */ li $at, -1 -/* 09F8F8 7F06ADC8 15C10004 */ bne $t6, $at, .L7F06ADDC -/* 09F8FC 7F06ADCC 3C018000 */ lui $at, 0x8000 -/* 09F900 7F06ADD0 15E10002 */ bne $t7, $at, .L7F06ADDC -/* 09F904 7F06ADD4 00000000 */ nop -/* 09F908 7F06ADD8 0006000D */ break 6 -.L7F06ADDC: -/* 09F90C 7F06ADDC 00003025 */ move $a2, $zero -.L7F06ADE0: -/* 09F910 7F06ADE0 11800015 */ beqz $t4, .L7F06AE38 -/* 09F914 7F06ADE4 8FAE0058 */ lw $t6, 0x58($sp) -/* 09F918 7F06ADE8 8FB9004C */ lw $t9, 0x4c($sp) -/* 09F91C 7F06ADEC 46021180 */ add.s $f6, $f2, $f2 -/* 09F920 7F06ADF0 3C014480 */ li $at, 0x44800000 # 1024.000000 -/* 09F924 7F06ADF4 44999000 */ mtc1 $t9, $f18 -/* 09F928 7F06ADF8 44816000 */ mtc1 $at, $f12 -/* 09F92C 7F06ADFC 46809120 */ cvt.s.w $f4, $f18 -/* 09F930 7F06AE00 46062203 */ div.s $f8, $f4, $f6 -/* 09F934 7F06AE04 448D2000 */ mtc1 $t5, $f4 -/* 09F938 7F06AE08 00000000 */ nop -/* 09F93C 7F06AE0C 468021A0 */ cvt.s.w $f6, $f4 -/* 09F940 7F06AE10 460C4282 */ mul.s $f10, $f8, $f12 -/* 09F944 7F06AE14 46000200 */ add.s $f8, $f0, $f0 -/* 09F948 7F06AE18 4600548D */ trunc.w.s $f18, $f10 -/* 09F94C 7F06AE1C 46083283 */ div.s $f10, $f6, $f8 -/* 09F950 7F06AE20 44039000 */ mfc1 $v1, $f18 -/* 09F954 7F06AE24 460C5482 */ mul.s $f18, $f10, $f12 -/* 09F958 7F06AE28 4600910D */ trunc.w.s $f4, $f18 -/* 09F95C 7F06AE2C 44042000 */ mfc1 $a0, $f4 -/* 09F960 7F06AE30 10000014 */ b .L7F06AE84 -/* 09F964 7F06AE34 00000000 */ nop -.L7F06AE38: -/* 09F968 7F06AE38 8FB8004C */ lw $t8, 0x4c($sp) -/* 09F96C 7F06AE3C 46000280 */ add.s $f10, $f0, $f0 -/* 09F970 7F06AE40 3C014480 */ li $at, 0x44800000 # 1024.000000 -/* 09F974 7F06AE44 44983000 */ mtc1 $t8, $f6 -/* 09F978 7F06AE48 44816000 */ mtc1 $at, $f12 -/* 09F97C 7F06AE4C 46803220 */ cvt.s.w $f8, $f6 -/* 09F980 7F06AE50 460A4483 */ div.s $f18, $f8, $f10 -/* 09F984 7F06AE54 448D4000 */ mtc1 $t5, $f8 -/* 09F988 7F06AE58 00000000 */ nop -/* 09F98C 7F06AE5C 468042A0 */ cvt.s.w $f10, $f8 -/* 09F990 7F06AE60 460C9102 */ mul.s $f4, $f18, $f12 -/* 09F994 7F06AE64 46021480 */ add.s $f18, $f2, $f2 -/* 09F998 7F06AE68 4600218D */ trunc.w.s $f6, $f4 -/* 09F99C 7F06AE6C 46125103 */ div.s $f4, $f10, $f18 -/* 09F9A0 7F06AE70 44033000 */ mfc1 $v1, $f6 -/* 09F9A4 7F06AE74 460C2182 */ mul.s $f6, $f4, $f12 -/* 09F9A8 7F06AE78 4600320D */ trunc.w.s $f8, $f6 -/* 09F9AC 7F06AE7C 44044000 */ mfc1 $a0, $f8 -/* 09F9B0 7F06AE80 00000000 */ nop -.L7F06AE84: -/* 09F9B4 7F06AE84 11C00006 */ beqz $t6, .L7F06AEA0 -/* 09F9B8 7F06AE88 8FB9004C */ lw $t9, 0x4c($sp) -/* 09F9BC 7F06AE8C 272FFFFF */ addiu $t7, $t9, -1 -/* 09F9C0 7F06AE90 3C180001 */ lui $t8, 1 -/* 09F9C4 7F06AE94 000F7140 */ sll $t6, $t7, 5 -/* 09F9C8 7F06AE98 03031823 */ subu $v1, $t8, $v1 -/* 09F9CC 7F06AE9C 01C73823 */ subu $a3, $t6, $a3 -.L7F06AEA0: -/* 09F9D0 7F06AEA0 8FB8005C */ lw $t8, 0x5c($sp) -/* 09F9D4 7F06AEA4 25AFFFFF */ addiu $t7, $t5, -1 -/* 09F9D8 7F06AEA8 3C190001 */ lui $t9, 1 -/* 09F9DC 7F06AEAC 13000003 */ beqz $t8, .L7F06AEBC -/* 09F9E0 7F06AEB0 000F7140 */ sll $t6, $t7, 5 -/* 09F9E4 7F06AEB4 03242023 */ subu $a0, $t9, $a0 -/* 09F9E8 7F06AEB8 01C84023 */ subu $t0, $t6, $t0 -.L7F06AEBC: -/* 09F9EC 7F06AEBC 11800022 */ beqz $t4, .L7F06AF48 -/* 09F9F0 7F06AEC0 31390FFF */ andi $t9, $t1, 0xfff -/* 09F9F4 7F06AEC4 31380FFF */ andi $t8, $t1, 0xfff -/* 09F9F8 7F06AEC8 0018CB00 */ sll $t9, $t8, 0xc -/* 09F9FC 7F06AECC 3C01E500 */ lui $at, 0xe500 -/* 09FA00 7F06AED0 03217825 */ or $t7, $t9, $at -/* 09FA04 7F06AED4 314E0FFF */ andi $t6, $t2, 0xfff -/* 09FA08 7F06AED8 01EEC025 */ or $t8, $t7, $t6 -/* 09FA0C 7F06AEDC 30B90FFF */ andi $t9, $a1, 0xfff -/* 09FA10 7F06AEE0 00406025 */ move $t4, $v0 -/* 09FA14 7F06AEE4 AD980000 */ sw $t8, ($t4) -/* 09FA18 7F06AEE8 00197B00 */ sll $t7, $t9, 0xc -/* 09FA1C 7F06AEEC 30CE0FFF */ andi $t6, $a2, 0xfff -/* 09FA20 7F06AEF0 01EEC025 */ or $t8, $t7, $t6 -/* 09FA24 7F06AEF4 AD980004 */ sw $t8, 4($t4) -/* 09FA28 7F06AEF8 24420008 */ addiu $v0, $v0, 8 -/* 09FA2C 7F06AEFC 00406825 */ move $t5, $v0 -/* 09FA30 7F06AF00 3C19B400 */ lui $t9, 0xb400 -/* 09FA34 7F06AF04 ADB90000 */ sw $t9, ($t5) -/* 09FA38 7F06AF08 3118FFFF */ andi $t8, $t0, 0xffff -/* 09FA3C 7F06AF0C 00077400 */ sll $t6, $a3, 0x10 -/* 09FA40 7F06AF10 01D8C825 */ or $t9, $t6, $t8 -/* 09FA44 7F06AF14 ADB90004 */ sw $t9, 4($t5) -/* 09FA48 7F06AF18 24420008 */ addiu $v0, $v0, 8 -/* 09FA4C 7F06AF1C AFA2000C */ sw $v0, 0xc($sp) -/* 09FA50 7F06AF20 8FAE000C */ lw $t6, 0xc($sp) -/* 09FA54 7F06AF24 3C0FB300 */ lui $t7, 0xb300 -/* 09FA58 7F06AF28 0003CC00 */ sll $t9, $v1, 0x10 -/* 09FA5C 7F06AF2C ADCF0000 */ sw $t7, ($t6) -/* 09FA60 7F06AF30 8FB8000C */ lw $t8, 0xc($sp) -/* 09FA64 7F06AF34 308FFFFF */ andi $t7, $a0, 0xffff -/* 09FA68 7F06AF38 032F7025 */ or $t6, $t9, $t7 -/* 09FA6C 7F06AF3C 24420008 */ addiu $v0, $v0, 8 -/* 09FA70 7F06AF40 10000020 */ b .L7F06AFC4 -/* 09FA74 7F06AF44 AF0E0004 */ sw $t6, 4($t8) -.L7F06AF48: -/* 09FA78 7F06AF48 00197B00 */ sll $t7, $t9, 0xc -/* 09FA7C 7F06AF4C 3C01E400 */ lui $at, 0xe400 -/* 09FA80 7F06AF50 01E17025 */ or $t6, $t7, $at -/* 09FA84 7F06AF54 31580FFF */ andi $t8, $t2, 0xfff -/* 09FA88 7F06AF58 01D8C825 */ or $t9, $t6, $t8 -/* 09FA8C 7F06AF5C 30AF0FFF */ andi $t7, $a1, 0xfff -/* 09FA90 7F06AF60 00406025 */ move $t4, $v0 -/* 09FA94 7F06AF64 AD990000 */ sw $t9, ($t4) -/* 09FA98 7F06AF68 000F7300 */ sll $t6, $t7, 0xc -/* 09FA9C 7F06AF6C 30D80FFF */ andi $t8, $a2, 0xfff -/* 09FAA0 7F06AF70 01D8C825 */ or $t9, $t6, $t8 -/* 09FAA4 7F06AF74 AD990004 */ sw $t9, 4($t4) -/* 09FAA8 7F06AF78 24420008 */ addiu $v0, $v0, 8 -/* 09FAAC 7F06AF7C 00406825 */ move $t5, $v0 -/* 09FAB0 7F06AF80 3C0FB400 */ lui $t7, 0xb400 -/* 09FAB4 7F06AF84 ADAF0000 */ sw $t7, ($t5) -/* 09FAB8 7F06AF88 3119FFFF */ andi $t9, $t0, 0xffff -/* 09FABC 7F06AF8C 0007C400 */ sll $t8, $a3, 0x10 -/* 09FAC0 7F06AF90 03197825 */ or $t7, $t8, $t9 -/* 09FAC4 7F06AF94 ADAF0004 */ sw $t7, 4($t5) -/* 09FAC8 7F06AF98 24420008 */ addiu $v0, $v0, 8 -/* 09FACC 7F06AF9C AFA20000 */ sw $v0, ($sp) -/* 09FAD0 7F06AFA0 8FB80000 */ lw $t8, ($sp) -/* 09FAD4 7F06AFA4 3C0EB300 */ lui $t6, 0xb300 -/* 09FAD8 7F06AFA8 00037C00 */ sll $t7, $v1, 0x10 -/* 09FADC 7F06AFAC AF0E0000 */ sw $t6, ($t8) -/* 09FAE0 7F06AFB0 8FB90000 */ lw $t9, ($sp) -/* 09FAE4 7F06AFB4 308EFFFF */ andi $t6, $a0, 0xffff -/* 09FAE8 7F06AFB8 01EEC025 */ or $t8, $t7, $t6 -/* 09FAEC 7F06AFBC 24420008 */ addiu $v0, $v0, 8 -/* 09FAF0 7F06AFC0 AF380004 */ sw $t8, 4($t9) -.L7F06AFC4: -/* 09FAF4 7F06AFC4 00401825 */ move $v1, $v0 -.L7F06AFC8: -/* 09FAF8 7F06AFC8 3C0F0008 */ lui $t7, 8 -/* 09FAFC 7F06AFCC AC6F0004 */ sw $t7, 4($v1) -/* 09FB00 7F06AFD0 AC6B0000 */ sw $t3, ($v1) -/* 09FB04 7F06AFD4 8FAE0040 */ lw $t6, 0x40($sp) -/* 09FB08 7F06AFD8 24420008 */ addiu $v0, $v0, 8 -/* 09FB0C 7F06AFDC ADC20000 */ sw $v0, ($t6) -.L7F06AFE0: -/* 09FB10 7F06AFE0 03E00008 */ jr $ra -/* 09FB14 7F06AFE4 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -f32 display_image_at_on_screen_coord(void *arg0, void *arg2, ?32 arg4, ?32 arg5, ?32 arg6, ?32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) { - void *temp_v0; - void *phi_v0; - f32 phi_return_reg; - - // Node 0 - phi_return_reg = 0.0f; - if (0.0f < *arg2) - { - // Node 1 - phi_return_reg = 0.0f; - if (0.0f < arg2->unk4) - { - // Node 2 - **arg0 = 0xfb000000; - *arg0->unk4 = (s32) ((((arg8 << 0x18) | ((arg9 & 0xff) << 0x10)) | ((argA & 0xff) << 8)) | (argB & 0xff)); - temp_v0 = (*arg0 + 8); - if (argC != 0) - { - // Node 3 - *temp_v0 = 0xfc26a005; - temp_v0->unk4 = 0x1f1493ff; - phi_v0 = (temp_v0 + 8); - } - else - { - // Node 4 - if (argD != 0) - { - // Node 5 - temp_v0->unk4 = -0x1c8; - *temp_v0 = 0xfc129bff; - phi_v0 = (temp_v0 + 8); - } - else - { - // Node 6 - *temp_v0 = 0xfc129a25; - temp_v0->unk4 = 0xff37ffff; - phi_v0 = (temp_v0 + 8); - } - } - // Node 7 - *arg0 = (void *) phi_v0; - phi_return_reg = sub_GAME_7F06ABB0(arg4, arg5, arg6, arg7); - } - } - // Node 8 - return phi_return_reg; -} -#else -GLOBAL_ASM( -.text -glabel display_image_at_on_screen_coord -/* 09FB18 7F06AFE8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09FB1C 7F06AFEC AFBF0024 */ sw $ra, 0x24($sp) -/* 09FB20 7F06AFF0 44800000 */ mtc1 $zero, $f0 -/* 09FB24 7F06AFF4 C4C40000 */ lwc1 $f4, ($a2) -/* 09FB28 7F06AFF8 4604003C */ c.lt.s $f0, $f4 -/* 09FB2C 7F06AFFC 00000000 */ nop -/* 09FB30 7F06B000 45020041 */ bc1fl .L7F06B108 -/* 09FB34 7F06B004 8FBF0024 */ lw $ra, 0x24($sp) -/* 09FB38 7F06B008 C4C60004 */ lwc1 $f6, 4($a2) -/* 09FB3C 7F06B00C 4606003C */ c.lt.s $f0, $f6 -/* 09FB40 7F06B010 00000000 */ nop -/* 09FB44 7F06B014 4502003C */ bc1fl .L7F06B108 -/* 09FB48 7F06B018 8FBF0024 */ lw $ra, 0x24($sp) -/* 09FB4C 7F06B01C 8C820000 */ lw $v0, ($a0) -/* 09FB50 7F06B020 3C0EFB00 */ lui $t6, 0xfb00 -/* 09FB54 7F06B024 00401825 */ move $v1, $v0 -/* 09FB58 7F06B028 AC6E0000 */ sw $t6, ($v1) -/* 09FB5C 7F06B02C 8FB80048 */ lw $t8, 0x48($sp) -/* 09FB60 7F06B030 8FA8004C */ lw $t0, 0x4c($sp) -/* 09FB64 7F06B034 8FAC0050 */ lw $t4, 0x50($sp) -/* 09FB68 7F06B038 0018CE00 */ sll $t9, $t8, 0x18 -/* 09FB6C 7F06B03C 8FB80054 */ lw $t8, 0x54($sp) -/* 09FB70 7F06B040 310900FF */ andi $t1, $t0, 0xff -/* 09FB74 7F06B044 00095400 */ sll $t2, $t1, 0x10 -/* 09FB78 7F06B048 318D00FF */ andi $t5, $t4, 0xff -/* 09FB7C 7F06B04C 000D7200 */ sll $t6, $t5, 8 -/* 09FB80 7F06B050 032A5825 */ or $t3, $t9, $t2 -/* 09FB84 7F06B054 016E7825 */ or $t7, $t3, $t6 -/* 09FB88 7F06B058 330800FF */ andi $t0, $t8, 0xff -/* 09FB8C 7F06B05C 01E84825 */ or $t1, $t7, $t0 -/* 09FB90 7F06B060 AC690004 */ sw $t1, 4($v1) -/* 09FB94 7F06B064 8FB90058 */ lw $t9, 0x58($sp) -/* 09FB98 7F06B068 24420008 */ addiu $v0, $v0, 8 -/* 09FB9C 7F06B06C 00401825 */ move $v1, $v0 -/* 09FBA0 7F06B070 13200009 */ beqz $t9, .L7F06B098 -/* 09FBA4 7F06B074 8FAD005C */ lw $t5, 0x5c($sp) -/* 09FBA8 7F06B078 3C0AFC26 */ lui $t2, (0xFC26A005 >> 16) # lui $t2, 0xfc26 -/* 09FBAC 7F06B07C 3C0C1F14 */ lui $t4, (0x1F1493FF >> 16) # lui $t4, 0x1f14 -/* 09FBB0 7F06B080 358C93FF */ ori $t4, (0x1F1493FF & 0xFFFF) # ori $t4, $t4, 0x93ff -/* 09FBB4 7F06B084 354AA005 */ ori $t2, (0xFC26A005 & 0xFFFF) # ori $t2, $t2, 0xa005 -/* 09FBB8 7F06B088 AC6A0000 */ sw $t2, ($v1) -/* 09FBBC 7F06B08C AC6C0004 */ sw $t4, 4($v1) -/* 09FBC0 7F06B090 10000012 */ b .L7F06B0DC -/* 09FBC4 7F06B094 24420008 */ addiu $v0, $v0, 8 -.L7F06B098: -/* 09FBC8 7F06B098 11A00009 */ beqz $t5, .L7F06B0C0 -/* 09FBCC 7F06B09C 00401825 */ move $v1, $v0 -/* 09FBD0 7F06B0A0 00401825 */ move $v1, $v0 -/* 09FBD4 7F06B0A4 3C0BFC12 */ lui $t3, (0xFC129BFF >> 16) # lui $t3, 0xfc12 -/* 09FBD8 7F06B0A8 356B9BFF */ ori $t3, (0xFC129BFF & 0xFFFF) # ori $t3, $t3, 0x9bff -/* 09FBDC 7F06B0AC 240EFE38 */ li $t6, -456 -/* 09FBE0 7F06B0B0 AC6E0004 */ sw $t6, 4($v1) -/* 09FBE4 7F06B0B4 AC6B0000 */ sw $t3, ($v1) -/* 09FBE8 7F06B0B8 10000008 */ b .L7F06B0DC -/* 09FBEC 7F06B0BC 24420008 */ addiu $v0, $v0, 8 -.L7F06B0C0: -/* 09FBF0 7F06B0C0 3C18FC12 */ lui $t8, (0xFC129A25 >> 16) # lui $t8, 0xfc12 -/* 09FBF4 7F06B0C4 3C0FFF37 */ lui $t7, (0xFF37FFFF >> 16) # lui $t7, 0xff37 -/* 09FBF8 7F06B0C8 35EFFFFF */ ori $t7, (0xFF37FFFF & 0xFFFF) # ori $t7, $t7, 0xffff -/* 09FBFC 7F06B0CC 37189A25 */ ori $t8, (0xFC129A25 & 0xFFFF) # ori $t8, $t8, 0x9a25 -/* 09FC00 7F06B0D0 AC780000 */ sw $t8, ($v1) -/* 09FC04 7F06B0D4 AC6F0004 */ sw $t7, 4($v1) -/* 09FC08 7F06B0D8 24420008 */ addiu $v0, $v0, 8 -.L7F06B0DC: -/* 09FC0C 7F06B0DC AC820000 */ sw $v0, ($a0) -/* 09FC10 7F06B0E0 8FAA0044 */ lw $t2, 0x44($sp) -/* 09FC14 7F06B0E4 8FB90040 */ lw $t9, 0x40($sp) -/* 09FC18 7F06B0E8 8FA9003C */ lw $t1, 0x3c($sp) -/* 09FC1C 7F06B0EC 8FA80038 */ lw $t0, 0x38($sp) -/* 09FC20 7F06B0F0 AFAA001C */ sw $t2, 0x1c($sp) -/* 09FC24 7F06B0F4 AFB90018 */ sw $t9, 0x18($sp) -/* 09FC28 7F06B0F8 AFA90014 */ sw $t1, 0x14($sp) -/* 09FC2C 7F06B0FC 0FC1AAEC */ jal sub_GAME_7F06ABB0 -/* 09FC30 7F06B100 AFA80010 */ sw $t0, 0x10($sp) -/* 09FC34 7F06B104 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06B108: -/* 09FC38 7F06B108 27BD0028 */ addiu $sp, $sp, 0x28 -/* 09FC3C 7F06B10C 03E00008 */ jr $ra -/* 09FC40 7F06B110 00000000 */ nop -) -#endif - - - - diff --git a/src/game/cheat_buttons.c b/src/game/cheat_buttons.c deleted file mode 100644 index 5952d43..0000000 --- a/src/game/cheat_buttons.c +++ /dev/null @@ -1,2935 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" -#include "game/cheat_buttons.h" -//#include "game/chraicommands.h" /* needed for ai list commands, remove when moving global ai lists to chraicommands/chrai */ -// bss -char off_CODE_bss_80079E30[0x4C]; - - - -//D:8003F430 -u32 dword_D_8003F430[] = {0x320028, 0x2300120, 0x4100032, 0x280130, 0x340420}; -//D:8003F444 -u32 dword_D_8003F444[] = {0x4200011, 0x180120, 0x240018, 0x1200410, 0x2200031}; -//D:8003F458 -u32 dword_D_8003F458[] = {0x4300022, 0x210032, 0x4200024, 0x120031, 0x8100022}; -//D:8003F46C -u32 dword_D_8003F46C[] = {0x310810, 0x4100410, 0x310230, 0x4100810, 0x310210}; -//D:8003F480 -u32 dword_D_8003F480[] = {0x8200011, 0x140032, 0x2300130, 0x4100018, 0x110430}; -//D:8003F494 -u32 dword_D_8003F494[] = {0x1100220, 0x2200810, 0x4200014, 0x220031, 0x4200028}; -//D:8003F4A8 -u32 dword_D_8003F4A8[] = {0x140430, 0x1200018, 0x310810, 0x4200120, 0x120018}; -//D:8003F4BC -u32 dword_D_8003F4BC[] = {0x120038, 0x2300830, 0x8100022, 0x180024, 0x2300110}; -//D:8003F4D0 -u32 dword_D_8003F4D0[] = {0x280032, 0x8100021, 0x120120, 0x320021, 0x8200034}; -//D:8003F4E4 -u32 dword_D_8003F4E4[] = {0x380210, 0x140024, 0x8100420, 0x110120, 0x1300014}; -//D:8003F4F8 -u32 dword_D_8003F4F8[] = {0x380012, 0x2200018, 0x2200014, 0x210110, 0x380120}; -//D:8003F50C -u32 dword_D_8003F50C[] = {0x2300210, 0x280220, 0x180014, 0x110110, 0x4200012}; -//D:8003F520 -u32 dword_D_8003F520[] = {0x120038, 0x2200810, 0x2100820, 0x140120, 0x210430}; -//D:8003F534 -u32 dword_D_8003F534[] = {0x240110, 0x210012, 0x240230, 0x210830, 0x110820}; -//D:8003F548 -u32 dword_D_8003F548[] = {0x8200014, 0x2200410, 0x220031, 0x280110, 0x1100011}; -//D:8003F55C -u32 dword_D_8003F55C[] = {0x180420, 0x110220, 0x8300034, 0x110810, 0x340810}; -//D:8003F570 -u32 dword_D_8003F570[] = {0x240031, 0x110018, 0x120120, 0x380028, 0x4300021}; -//D:8003F584 -u32 dword_D_8003F584[] = {0x4200410, 0x380220, 0x1300022, 0x1100028, 0x2200024}; -//D:8003F598 -u32 dword_D_8003F598[] = {0x340034, 0x1200230, 0x2100011, 0x2300018, 0x140110}; -//D:8003F5AC -u32 dword_D_8003F5AC[] = {0x2100830, 0x340210, 0x310220, 0x1300034, 0x8200014}; -//D:8003F5C0 -u32 dword_D_8003F5C0[] = {0x320021, 0x8200034, 0x110014, 0x2100014, 0x180420}; -//D:8003F5D4 -u32 dword_D_8003F5D4[] = {0x4200420, 0x140021, 0x1300012, 0x4200022, 0x210820}; -//D:8003F5E8 -u32 dword_D_8003F5E8[] = {0x2100014, 0x110230, 0x1200014, 0x2200032, 0x8200028}; -//D:8003F5FC -u32 dword_D_8003F5FC[] = {0x140210, 0x8300110, 0x4100410, 0x8100012, 0x180230}; -//D:8003F610 -u32 dword_D_8003F610[] = {0x240410, 0x1200011, 0x140210, 0x2100018, 0x2100038}; -//D:8003F624 -u32 dword_D_8003F624[] = {0x4200014, 0x8300120, 0x180012, 0x8100022, 0x8200012}; -//D:8003F638 -u32 dword_D_8003F638[] = {0x380220, 0x4100420, 0x280420, 0x1100018, 0x220110}; -//D:8003F64C -u32 dword_D_8003F64C[] = {0x140210, 0x1200031, 0x4200038, 0x2200038, 0x1300022}; -//D:8003F660 -u32 dword_D_8003F660[] = {0x8300031, 0x4200110, 0x8100420, 0x2200021, 0x310220, 0x80304030, 0x80304030}; -//D:8003F67C -u32 dword_D_8003F67C[] = {0x8200008, 0x1100032, 0x8200014, 0x240034, 0x8300024}; -//D:8003F690 -u32 dword_D_8003F690[] = {0x2100420, 0x2000800, 0x4000012, 0x220230, 0x1300022}; -//D:8003F6A4 -u32 dword_D_8003F6A4[] = {0x8300001, 0x2100810, 0x8000110, 0x8000034, 0x4300032}; -//D:8003F6B8 -u32 dword_D_8003F6B8[] = {0x4100810, 0x1000034, 0x1200210, 0x2000400, 0x8000014}; -//D:8003F6CC -u32 dword_D_8003F6CC[] = {0x1100820, 0x4000400, 0x140220, 0x220810, 0x4100012}; -//D:8003F6E0 -u32 dword_D_8003F6E0[] = {0x4200024, 0x8300014, 0x2000410, 0x240800, 0x4100120}; -//D:8003F6F4 -u32 dword_D_8003F6F4[] = {0x8100004, 0x20008, 0x4200810, 0x20100, 0x2100110}; -//D:8003F708 -u32 dword_D_8003F708[] = {0x4300410, 0x240200, 0x120034, 0x1000400, 0x140110}; -//D:8003F71C -u32 dword_D_8003F71C[] = {0x120220, 0x8000130, 0x1000032, 0x320410, 0x2100012}; -//D:8003F730 -u32 dword_D_8003F730[] = {0x240022, 0x40001, 0x20130, 0x10830, 0x120220}; -//D:8003F744 -u32 dword_D_8003F744[] = {0x320034, 0x220012, 0x1100230, 0x1200200, 0x320420}; -//D:8003F758 -u32 dword_D_8003F758[] = {0x340002, 0x140004, 0x40034, 0x8300004, 0x8100820}; -//D:8003F76C -u32 dword_D_8003F76C[] = {0x2300230, 0x4300230, 0x10430, 0x4300420, 0x20008}; -//D:8003F780 -u32 dword_D_8003F780[] = {0x2200830, 0x1200830, 0x320230, 0x4300004, 0x1300230}; -//D:8003F794 -u32 dword_D_8003F794[] = {0x140120, 0x120110, 0x1300830, 0x4200210, 0x1200022}; -//D:8003F7A8 -u32 dword_D_8003F7A8[] = {0x220130, 0x10002, 0x2100024, 0x2300034, 0x8200001}; -//D:8003F7BC -u32 dword_D_8003F7BC[] = {0x8000100, 0x2200410, 0x8200022, 0x2200001, 0x80430}; -//D:8003F7D0 -u32 dword_D_8003F7D0[] = {0x1300430, 0x8200430, 0x80810, 0x1300220, 0x4000024}; -//D:8003F7E4 -u32 dword_D_8003F7E4[] = {0x1200032, 0x4200210, 0x4100120, 0x80100, 0x1100830}; -//D:8003F7F8 -u32 dword_D_8003F7F8[] = {0x4000200, 0x80100, 0x4200220}; - -//D:8003F804 -u32 D_8003F804 = 0x8200002; -//D:8003F808 -u32 D_8003F808 = 0x2000004; - -//D:8003F80C -struct struct_15 D_8003F80C[] = { - {1, 0xA, 0, 0, dword_D_8003F430, 0, 0x31}, - {2, 0xA, 0, 0, dword_D_8003F444, 0xB0000000, 6}, - {3, 0xA, 0, 0, dword_D_8003F458, 0xB0010000, 2}, - {4, 0xA, 0, 0, dword_D_8003F46C, 0, 0x16}, - {5, 0xA, 0, 0, dword_D_8003F480, 0, 0x16}, - {6, 0xA, 0, 0, dword_D_8003F494, 0, 0x34}, - {7, 0xA, 0, 0, dword_D_8003F4A8, 0xB0370000, 0x66}, - {8, 0, 0, 0, 0, 0, 0x16}, - {9, 0, 0, 0, 0, 0, 0x16}, - {0xA, 0xA, 0, 0, dword_D_8003F4BC, 0xB0040000, 0x62}, - {0xB, 0, 0, 0, 0, 0xB0060000, 0x66}, - {0xC, 0, 0, 0, 0, 0xB0070000, 0x26}, - {0xD, 0, 0, 0, 0, 0, 0x12}, - {0xE, 0, 0, 0, 0, 0xB0080000, 2}, - {0xF, 0, 0, 0, 0, 0xB0380000, 0x66}, - {0x10, 0, 0, 0, 0, 0, 0x16}, - {0x11, 0, 0, 0, 0, 0xB00A0000, 0x12}, - {0x12, 0, 0, 0, 0, 0xB00B0000, 0x12}, - {0x13, 0, 0, 0, 0, 0xB00C0000, 0x12}, - {0x14, 0, 0, 0, 0, 0xB00D0000, 0x12}, - {0x15, 0, 0, 0, 0, 0xB00E0000, 0x12}, - {0x16, 0xA, 0, 0, dword_D_8003F4D0, 0, 4}, - {0x17, 0, 0, 0, 0, 0xB0430000, 0x64}, - {0x18, 0, 0, 0, 0, 0xB0400000, 0x66}, - {0x19, 0, 0, 0, 0, 0, 0x20}, - {0x1A, 0, 0, 0, 0, 0xB0410000, 0x72}, - {0x1B, 0, 0, 0, 0, 0xB0420000, 0x72}, - {0x1C, 0, 0, 0, 0, 0xB0390000, 1}, - {0x1D, 0, 0, 0, 0, 0xB03A0000, 0x12}, - {0x1E, 0, 0, 0, 0, 0xB03B0000, 0x12}, - {0x1F, 0, 0, 0, 0, 0xB03C0000, 0x12}, - {0x20, 0, 0, 0, 0, 0xB03D0000, 0x12}, - {0x21, 0, 0, 0, 0, 0xB03E0000, 0x12}, - {0x22, 0, 0, 0, 0, 0xB03F0000, 0x12}, - {0x23, 0xA, 0, 0, dword_D_8003F67C, 0, 0x11}, - {0x24, 0xA, 0, 0, dword_D_8003F690, 0, 0x11}, - {0x25, 0xA, 0, 0, dword_D_8003F6A4, 0, 0x11}, - {0x26, 0xA, 0, 0, dword_D_8003F6B8, 0, 0x11}, - {0x27, 0xA, 0, 0, dword_D_8003F6CC, 0, 0x11}, - {0x28, 0xA, 0, 0, dword_D_8003F6E0, 0, 0x11}, - {0x29, 0xA, 0, 0, dword_D_8003F6F4, 0, 0x11}, - {0x2A, 0xA, 0, 0, dword_D_8003F708, 0, 0x11}, - {0x2B, 0xA, 0, 0, dword_D_8003F71C, 0, 0x11}, - {0x2C, 0xA, 0, 0, dword_D_8003F730, 0, 0x11}, - {0x2D, 0xA, 0, 0, dword_D_8003F744, 0, 0x11}, - {0x2E, 0xA, 0, 0, dword_D_8003F758, 0, 0x11}, - {0x2F, 0xA, 0, 0, dword_D_8003F76C, 0, 0x11}, - {0x30, 0xA, 0, 0, dword_D_8003F780, 0, 0x11}, - {0x31, 0xA, 0, 0, dword_D_8003F794, 0, 0x11}, - {0x32, 0xA, 0, 0, dword_D_8003F7A8, 0, 0x11}, - {0x33, 0xA, 0, 0, dword_D_8003F7BC, 0, 0x11}, - {0x34, 0xA, 0, 0, dword_D_8003F7D0, 0, 0x11}, - {0x35, 0xA, 0, 0, dword_D_8003F7E4, 0, 0x11}, - {0x36, 0xA, 0, 0, dword_D_8003F7F8, 0, 0x11}, - {0x37, 0xA, 0, 0, dword_D_8003F4E4, 0, 0x11}, - {0x38, 0xA, 0, 0, dword_D_8003F4F8, 0, 0x11}, - {0x39, 0xA, 0, 0, dword_D_8003F50C, 0, 0x11}, - {0x3A, 0xA, 0, 0, dword_D_8003F520, 0, 0x11}, - {0x3B, 0xA, 0, 0, dword_D_8003F534, 0, 0x11}, - {0x3C, 0xA, 0, 0, dword_D_8003F548, 0, 0x11}, - {0x3D, 0xA, 0, 0, dword_D_8003F55C, 0, 0x11}, - {0x3E, 0xA, 0, 0, dword_D_8003F570, 0, 0x11}, - {0x3F, 0xA, 0, 0, dword_D_8003F584, 0, 0x11}, - {0x40, 0xA, 0, 0, dword_D_8003F598, 0, 0x11}, - {0x41, 0xA, 0, 0, dword_D_8003F5AC, 0, 0x11}, - {0x42, 0xA, 0, 0, dword_D_8003F5C0, 0, 0x11}, - {0x43, 0xA, 0, 0, dword_D_8003F5D4, 0, 0x11}, - {0x44, 0xA, 0, 0, dword_D_8003F5E8, 0, 0x11}, - {0x45, 0xA, 0, 0, dword_D_8003F5FC, 0, 0x11}, - {0x46, 0xA, 0, 0, dword_D_8003F610, 0, 0x11}, - {0x47, 0xA, 0, 0, dword_D_8003F624, 0, 0x11}, - {0x48, 0xA, 0, 0, dword_D_8003F638, 0, 0x11}, - {0x49, 0xA, 0, 0, dword_D_8003F64C, 0, 0x11}, - {0x4A, 0xA, 0, 0, dword_D_8003F660, 0, 0x11}, - {0} -}; - -//D:8003FCBC -//u32 D_8003FCBC = 0; - - - - -// rodata - - - - - - - -#ifdef NONMATCHING -void cheatButton_7F091740(void) { - -} -#else -GLOBAL_ASM( -.text -glabel cheatButton_7F091740 -/* 0C6270 7F091740 AFA40000 */ sw $a0, ($sp) -/* 0C6274 7F091744 308EFFFF */ andi $t6, $a0, 0xffff -/* 0C6278 7F091748 01C02025 */ move $a0, $t6 -/* 0C627C 7F09174C 11C00009 */ beqz $t6, .L7F091774 -/* 0C6280 7F091750 00001825 */ move $v1, $zero -.L7F091754: -/* 0C6284 7F091754 308F0001 */ andi $t7, $a0, 1 -/* 0C6288 7F091758 11E00002 */ beqz $t7, .L7F091764 -/* 0C628C 7F09175C 00801025 */ move $v0, $a0 -/* 0C6290 7F091760 24630001 */ addiu $v1, $v1, 1 -.L7F091764: -/* 0C6294 7F091764 00022042 */ srl $a0, $v0, 1 -/* 0C6298 7F091768 3098FFFF */ andi $t8, $a0, 0xffff -/* 0C629C 7F09176C 1700FFF9 */ bnez $t8, .L7F091754 -/* 0C62A0 7F091770 03002025 */ move $a0, $t8 -.L7F091774: -/* 0C62A4 7F091774 03E00008 */ jr $ra -/* 0C62A8 7F091778 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void cheatButton_7F09177C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel cheatButton_7F09177C -/* 0C62AC 7F09177C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C62B0 7F091780 AFB1001C */ sw $s1, 0x1c($sp) -/* 0C62B4 7F091784 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C62B8 7F091788 AFB40028 */ sw $s4, 0x28($sp) -/* 0C62BC 7F09178C 3C118004 */ lui $s1, %hi(D_8003F80C) -/* 0C62C0 7F091790 AFB30024 */ sw $s3, 0x24($sp) -/* 0C62C4 7F091794 AFB20020 */ sw $s2, 0x20($sp) -/* 0C62C8 7F091798 AFB00018 */ sw $s0, 0x18($sp) -/* 0C62CC 7F09179C 2631F80C */ addiu $s1, %lo(D_8003F80C) # addiu $s1, $s1, -0x7f4 -/* 0C62D0 7F0917A0 0FC2F7C1 */ jal sub_GAME_7F0BDF04 -/* 0C62D4 7F0917A4 0000A025 */ move $s4, $zero -/* 0C62D8 7F0917A8 2401005A */ li $at, 90 -/* 0C62DC 7F0917AC 14410003 */ bne $v0, $at, .L7F0917BC -/* 0C62E0 7F0917B0 00000000 */ nop -/* 0C62E4 7F0917B4 10000008 */ b .L7F0917D8 -/* 0C62E8 7F0917B8 24130001 */ li $s3, 1 -.L7F0917BC: -/* 0C62EC 7F0917BC 0FC26919 */ jal get_num_players -/* 0C62F0 7F0917C0 00000000 */ nop -/* 0C62F4 7F0917C4 24010001 */ li $at, 1 -/* 0C62F8 7F0917C8 14410003 */ bne $v0, $at, .L7F0917D8 -/* 0C62FC 7F0917CC 24130004 */ li $s3, 4 -/* 0C6300 7F0917D0 10000001 */ b .L7F0917D8 -/* 0C6304 7F0917D4 24130002 */ li $s3, 2 -.L7F0917D8: -/* 0C6308 7F0917D8 3C0E8004 */ lui $t6, %hi(D_8003F80C) -/* 0C630C 7F0917DC 91CEF80C */ lbu $t6, %lo(D_8003F80C)($t6) -/* 0C6310 7F0917E0 3C128008 */ lui $s2, %hi(pPlayer) -/* 0C6314 7F0917E4 2652A0B0 */ addiu $s2, %lo(pPlayer) # addiu $s2, $s2, -0x5f50 -/* 0C6318 7F0917E8 11C0004C */ beqz $t6, .L7F09191C -/* 0C631C 7F0917EC 24100014 */ li $s0, 20 -/* 0C6320 7F0917F0 92250001 */ lbu $a1, 1($s1) -.L7F0917F4: -/* 0C6324 7F0917F4 58A00044 */ blezl $a1, .L7F091908 -/* 0C6328 7F0917F8 92280010 */ lbu $t0, 0x10($s1) -/* 0C632C 7F0917FC 8E460000 */ lw $a2, ($s2) -/* 0C6330 7F091800 90CF12B5 */ lbu $t7, 0x12b5($a2) -/* 0C6334 7F091804 01E5082A */ slt $at, $t7, $a1 -/* 0C6338 7F091808 5420003F */ bnezl $at, .L7F091908 -/* 0C633C 7F09180C 92280010 */ lbu $t0, 0x10($s1) -/* 0C6340 7F091810 8E38000C */ lw $t8, 0xc($s1) -/* 0C6344 7F091814 0313C824 */ and $t9, $t8, $s3 -/* 0C6348 7F091818 5320003B */ beql $t9, $zero, .L7F091908 -/* 0C634C 7F09181C 92280010 */ lbu $t0, 0x10($s1) -/* 0C6350 7F091820 90C812B4 */ lbu $t0, 0x12b4($a2) -/* 0C6354 7F091824 00002025 */ move $a0, $zero -/* 0C6358 7F091828 01054823 */ subu $t1, $t0, $a1 -/* 0C635C 7F09182C 252A0014 */ addiu $t2, $t1, 0x14 -/* 0C6360 7F091830 0150001A */ div $zero, $t2, $s0 -/* 0C6364 7F091834 00001010 */ mfhi $v0 -/* 0C6368 7F091838 16000002 */ bnez $s0, .L7F091844 -/* 0C636C 7F09183C 00000000 */ nop -/* 0C6370 7F091840 0007000D */ break 7 -.L7F091844: -/* 0C6374 7F091844 2401FFFF */ li $at, -1 -/* 0C6378 7F091848 16010004 */ bne $s0, $at, .L7F09185C -/* 0C637C 7F09184C 3C018000 */ lui $at, 0x8000 -/* 0C6380 7F091850 15410002 */ bne $t2, $at, .L7F09185C -/* 0C6384 7F091854 00000000 */ nop -/* 0C6388 7F091858 0006000D */ break 6 -.L7F09185C: -/* 0C638C 7F09185C 18A00018 */ blez $a1, .L7F0918C0 -/* 0C6390 7F091860 00000000 */ nop -/* 0C6394 7F091864 8E230004 */ lw $v1, 4($s1) -.L7F091868: -/* 0C6398 7F091868 00025840 */ sll $t3, $v0, 1 -/* 0C639C 7F09186C 00CB6021 */ addu $t4, $a2, $t3 -/* 0C63A0 7F091870 958D128C */ lhu $t5, 0x128c($t4) -/* 0C63A4 7F091874 946E0000 */ lhu $t6, ($v1) -/* 0C63A8 7F091878 244F0001 */ addiu $t7, $v0, 1 -/* 0C63AC 7F09187C 15AE0010 */ bne $t5, $t6, .L7F0918C0 -/* 0C63B0 7F091880 00000000 */ nop -/* 0C63B4 7F091884 01F0001A */ div $zero, $t7, $s0 -/* 0C63B8 7F091888 16000002 */ bnez $s0, .L7F091894 -/* 0C63BC 7F09188C 00000000 */ nop -/* 0C63C0 7F091890 0007000D */ break 7 -.L7F091894: -/* 0C63C4 7F091894 2401FFFF */ li $at, -1 -/* 0C63C8 7F091898 16010004 */ bne $s0, $at, .L7F0918AC -/* 0C63CC 7F09189C 3C018000 */ lui $at, 0x8000 -/* 0C63D0 7F0918A0 15E10002 */ bne $t7, $at, .L7F0918AC -/* 0C63D4 7F0918A4 00000000 */ nop -/* 0C63D8 7F0918A8 0006000D */ break 6 -.L7F0918AC: -/* 0C63DC 7F0918AC 24840001 */ addiu $a0, $a0, 1 -/* 0C63E0 7F0918B0 00001010 */ mfhi $v0 -/* 0C63E4 7F0918B4 0085082A */ slt $at, $a0, $a1 -/* 0C63E8 7F0918B8 1420FFEB */ bnez $at, .L7F091868 -/* 0C63EC 7F0918BC 24630002 */ addiu $v1, $v1, 2 -.L7F0918C0: -/* 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 cheatCheckIfOn -/* 0C6400 7F0918D0 92240000 */ lbu $a0, ($s1) -/* 0C6404 7F0918D4 10400005 */ beqz $v0, .L7F0918EC -/* 0C6408 7F0918D8 00000000 */ nop -/* 0C640C 7F0918DC 8E38000C */ lw $t8, 0xc($s1) -/* 0C6410 7F0918E0 33190010 */ andi $t9, $t8, 0x10 -/* 0C6414 7F0918E4 13200005 */ beqz $t9, .L7F0918FC -/* 0C6418 7F0918E8 00000000 */ nop -.L7F0918EC: -/* 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 cheatDisplayMessageActivateCheat -/* 0C6430 7F091900 92240000 */ lbu $a0, ($s1) -/* 0C6434 7F091904 92280010 */ lbu $t0, 0x10($s1) -.L7F091908: -/* 0C6438 7F091908 26310010 */ addiu $s1, $s1, 0x10 -/* 0C643C 7F09190C 51000004 */ beql $t0, $zero, .L7F091920 -/* 0C6440 7F091910 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C6444 7F091914 5280FFB7 */ beql $s4, $zero, .L7F0917F4 -/* 0C6448 7F091918 92250001 */ lbu $a1, 1($s1) -.L7F09191C: -/* 0C644C 7F09191C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F091920: -/* 0C6450 7F091920 8FB00018 */ lw $s0, 0x18($sp) -/* 0C6454 7F091924 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C6458 7F091928 8FB20020 */ lw $s2, 0x20($sp) -/* 0C645C 7F09192C 8FB30024 */ lw $s3, 0x24($sp) -/* 0C6460 7F091930 8FB40028 */ lw $s4, 0x28($sp) -/* 0C6464 7F091934 03E00008 */ jr $ra -/* 0C6468 7F091938 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void cheat_buttons_mp_related(void) { - -} -#else -GLOBAL_ASM( -.text -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 -/* 0C6478 7F091948 00000000 */ nop -/* 0C647C 7F09194C 00022600 */ sll $a0, $v0, 0x18 -/* 0C6480 7F091950 00047603 */ sra $t6, $a0, 0x18 -/* 0C6484 7F091954 01C02025 */ move $a0, $t6 -/* 0C6488 7F091958 0C0030C3 */ jal get_controller_buttons_held -/* 0C648C 7F09195C 3405FFFF */ li $a1, 65535 -/* 0C6490 7F091960 0FC26C54 */ jal get_cur_playernum -/* 0C6494 7F091964 A7A20026 */ sh $v0, 0x26($sp) -/* 0C6498 7F091968 00022600 */ sll $a0, $v0, 0x18 -/* 0C649C 7F09196C 00047E03 */ sra $t7, $a0, 0x18 -/* 0C64A0 7F091970 01E02025 */ move $a0, $t7 -/* 0C64A4 7F091974 0C0030EB */ jal get_controller_buttons_pressed -/* 0C64A8 7F091978 3405FFFF */ li $a1, 65535 -/* 0C64AC 7F09197C 97A30026 */ lhu $v1, 0x26($sp) -/* 0C64B0 7F091980 30780030 */ andi $t8, $v1, 0x30 -/* 0C64B4 7F091984 3306FFFF */ andi $a2, $t8, 0xffff -/* 0C64B8 7F091988 00C04827 */ not $t1, $a2 -/* 0C64BC 7F09198C 0300C827 */ not $t9, $t8 -/* 0C64C0 7F091990 00492824 */ and $a1, $v0, $t1 -/* 0C64C4 7F091994 30AAFFFF */ andi $t2, $a1, 0xffff -/* 0C64C8 7F091998 00794024 */ and $t0, $v1, $t9 -/* 0C64CC 7F09199C A7A80026 */ sh $t0, 0x26($sp) -/* 0C64D0 7F0919A0 11400028 */ beqz $t2, .L7F091A44 -/* 0C64D4 7F0919A4 A7A50024 */ sh $a1, 0x24($sp) -/* 0C64D8 7F0919A8 30A4FFFF */ andi $a0, $a1, 0xffff -/* 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 cheatButton_7F091740 -/* 0C64F8 7F0919C8 AFA70018 */ sw $a3, 0x18($sp) -/* 0C64FC 7F0919CC 24010001 */ li $at, 1 -/* 0C6500 7F0919D0 14410018 */ bne $v0, $at, .L7F091A34 -/* 0C6504 7F0919D4 8FA70018 */ lw $a3, 0x18($sp) -/* 0C6508 7F0919D8 3C048008 */ lui $a0, %hi(pPlayer) -/* 0C650C 7F0919DC 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0C6510 7F0919E0 8C820000 */ lw $v0, ($a0) -/* 0C6514 7F0919E4 97AB0024 */ lhu $t3, 0x24($sp) -/* 0C6518 7F0919E8 24010014 */ li $at, 20 -/* 0C651C 7F0919EC 904D12B4 */ lbu $t5, 0x12b4($v0) -/* 0C6520 7F0919F0 01676025 */ or $t4, $t3, $a3 -/* 0C6524 7F0919F4 000D7040 */ sll $t6, $t5, 1 -/* 0C6528 7F0919F8 004E7821 */ addu $t7, $v0, $t6 -/* 0C652C 7F0919FC A5EC128C */ sh $t4, 0x128c($t7) -/* 0C6530 7F091A00 8C820000 */ lw $v0, ($a0) -/* 0C6534 7F091A04 905812B4 */ lbu $t8, 0x12b4($v0) -/* 0C6538 7F091A08 27190001 */ addiu $t9, $t8, 1 -/* 0C653C 7F091A0C 0321001A */ div $zero, $t9, $at -/* 0C6540 7F091A10 00004010 */ mfhi $t0 -/* 0C6544 7F091A14 A04812B4 */ sb $t0, 0x12b4($v0) -/* 0C6548 7F091A18 8C820000 */ lw $v0, ($a0) -/* 0C654C 7F091A1C 904312B5 */ lbu $v1, 0x12b5($v0) -/* 0C6550 7F091A20 28610014 */ slti $at, $v1, 0x14 -/* 0C6554 7F091A24 10200007 */ beqz $at, .L7F091A44 -/* 0C6558 7F091A28 24690001 */ addiu $t1, $v1, 1 -/* 0C655C 7F091A2C 10000005 */ b .L7F091A44 -/* 0C6560 7F091A30 A04912B5 */ sb $t1, 0x12b5($v0) -.L7F091A34: -/* 0C6564 7F091A34 3C048008 */ lui $a0, %hi(pPlayer) -/* 0C6568 7F091A38 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 0C656C 7F091A3C 8C8A0000 */ lw $t2, ($a0) -/* 0C6570 7F091A40 A14012B5 */ sb $zero, 0x12b5($t2) -.L7F091A44: -/* 0C6574 7F091A44 0FC245DF */ jal cheatButton_7F09177C -/* 0C6578 7F091A48 00000000 */ nop -/* 0C657C 7F091A4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6580 7F091A50 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0C6584 7F091A54 03E00008 */ jr $ra -/* 0C6588 7F091A58 00000000 */ nop -) -#endif - - - - - - -u32 is_cheat_index_equal_to_1C(u32 cheatindex) -{ - if (cheatindex == 0x1c) { - return 1; - } - return 0; -} - - - - - - -#ifdef NONMATCHING -void cheatCheckIfMPCheat(void) { - -} -#else -GLOBAL_ASM( -.text -glabel cheatCheckIfMPCheat -/* 0C65A8 7F091A78 00047100 */ sll $t6, $a0, 4 -/* 0C65AC 7F091A7C 3C0F8004 */ lui $t7, %hi(D_8003F808) -/* 0C65B0 7F091A80 01EE7821 */ addu $t7, $t7, $t6 -/* 0C65B4 7F091A84 8DEFF808 */ lw $t7, %lo(D_8003F808)($t7) -/* 0C65B8 7F091A88 24010004 */ li $at, 4 -/* 0C65BC 7F091A8C 00001025 */ move $v0, $zero -/* 0C65C0 7F091A90 31F80004 */ andi $t8, $t7, 4 -/* 0C65C4 7F091A94 17010003 */ bne $t8, $at, .L7F091AA4 -/* 0C65C8 7F091A98 00000000 */ nop -/* 0C65CC 7F091A9C 03E00008 */ jr $ra -/* 0C65D0 7F091AA0 24020001 */ li $v0, 1 - -.L7F091AA4: -/* 0C65D4 7F091AA4 03E00008 */ jr $ra -/* 0C65D8 7F091AA8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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 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) -/* 0C65E8 7F091AB8 00047100 */ sll $t6, $a0, 4 -/* 0C65EC 7F091ABC AFBF0024 */ sw $ra, 0x24($sp) -/* 0C65F0 7F091AC0 AFB20020 */ sw $s2, 0x20($sp) -/* 0C65F4 7F091AC4 020E8021 */ addu $s0, $s0, $t6 -/* 0C65F8 7F091AC8 00809025 */ move $s2, $a0 -/* 0C65FC 7F091ACC AFB1001C */ sw $s1, 0x1c($sp) -/* 0C6600 7F091AD0 0FC26C54 */ jal get_cur_playernum -/* 0C6604 7F091AD4 8E10F808 */ lw $s0, %lo(D_8003F808)($s0) -/* 0C6608 7F091AD8 0FC26919 */ jal get_num_players -/* 0C660C 7F091ADC AFA20028 */ sw $v0, 0x28($sp) -/* 0C6610 7F091AE0 24010001 */ li $at, 1 -/* 0C6614 7F091AE4 14410005 */ bne $v0, $at, .L7F091AFC -/* 0C6618 7F091AE8 00408825 */ move $s1, $v0 -/* 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) -.L7F091AFC: -/* 0C662C 7F091AFC 320F0004 */ andi $t7, $s0, 4 -/* 0C6630 7F091B00 11E00012 */ beqz $t7, .L7F091B4C -/* 0C6634 7F091B04 32180020 */ andi $t8, $s0, 0x20 -/* 0C6638 7F091B08 13000005 */ beqz $t8, .L7F091B20 -/* 0C663C 7F091B0C 00000000 */ nop -/* 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) -.L7F091B20: -/* 0C6650 7F091B20 18400008 */ blez $v0, .L7F091B44 -/* 0C6654 7F091B24 00008025 */ move $s0, $zero -.L7F091B28: -/* 0C6658 7F091B28 0FC26C43 */ jal set_cur_player -/* 0C665C 7F091B2C 02002025 */ move $a0, $s0 -/* 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 -/* 0C6670 7F091B40 00000000 */ nop -.L7F091B44: -/* 0C6674 7F091B44 0FC26C43 */ jal set_cur_player -/* 0C6678 7F091B48 8FA40028 */ lw $a0, 0x28($sp) -.L7F091B4C: -/* 0C667C 7F091B4C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F091B50: -/* 0C6680 7F091B50 8FB00018 */ lw $s0, 0x18($sp) -/* 0C6684 7F091B54 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C6688 7F091B58 8FB20020 */ lw $s2, 0x20($sp) -/* 0C668C 7F091B5C 03E00008 */ jr $ra -/* 0C6690 7F091B60 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void handle_cheats_turned_on(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*D:800572B0*/ -glabel jpt_cheats_cheat -.word cheats_cheat_extra_mp_chars -.word cheats_cheat_invincibility -.word cheats_cheat_allguns -.word cheats_cheat_max_ammo -.word cheats_debug_return_saved_ra -.word cheats_cheat_deactivate_invincibility -.word cheats_cheat_linemode -.word cheats_cheat_2x_health -.word cheats_cheat_2x_armor -.word cheats_cheat_invisibility -.word cheats_cheat_infinite_ammo -.word cheats_cheat_dk_mode -.word cheats_cheat_extra_weapons -.word cheats_cheat_tiny_bond -.word cheats_cheat_paintball -.word cheats_cheat_10x_health -.word cheats_cheat_magnum -.word cheats_cheat_laser -.word cheats_cheat_goldengun -.word cheats_cheat_silverpp7 -.word cheats_cheat_goldpp7 -.word cheats_cheat_invisibility_mp -.word cheats_debug_return_saved_ra -.word cheats_cheat_fast -.word cheats_debug_pos -.word cheats_debug_fast_ani -.word cheats_debug_slow_ani -.word cheats_debug_return_saved_ra -.word cheats_debug_2x_rockets -.word cheats_debug_2x_grenade_launch -.word cheats_debug_2x_rcp90 -.word cheats_debug_2x_throwing_knife -.word cheats_debug_2x_hunting_knife -.word cheats_debug_2x_laser -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel - -/*800573D8*/ -glabel finalamount -.word 0x3d4ccccd /*0.050000001*/ -.text -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 -/* 0C66A0 7F091B70 8DEFF808 */ lw $t7, %lo(D_8003F808)($t7) -/* 0C66A4 7F091B74 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C66A8 7F091B78 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C66AC 7F091B7C AFA40040 */ sw $a0, 0x40($sp) -/* 0C66B0 7F091B80 0FC26C54 */ jal get_cur_playernum -/* 0C66B4 7F091B84 AFAF003C */ sw $t7, 0x3c($sp) -/* 0C66B8 7F091B88 0FC26919 */ jal get_num_players -/* 0C66BC 7F091B8C AFA20038 */ sw $v0, 0x38($sp) -/* 0C66C0 7F091B90 8FA3003C */ lw $v1, 0x3c($sp) -/* 0C66C4 7F091B94 8FA60040 */ lw $a2, 0x40($sp) -/* 0C66C8 7F091B98 AFA20034 */ sw $v0, 0x34($sp) -/* 0C66CC 7F091B9C 30780010 */ andi $t8, $v1, 0x10 -/* 0C66D0 7F091BA0 17000012 */ bnez $t8, .L7F091BEC -/* 0C66D4 7F091BA4 30790020 */ andi $t9, $v1, 0x20 -/* 0C66D8 7F091BA8 1720000A */ bnez $t9, .L7F091BD4 -/* 0C66DC 7F091BAC 8FA50038 */ lw $a1, 0x38($sp) -/* 0C66E0 7F091BB0 3C098008 */ lui $t1, %hi(off_CODE_bss_80079E30) -/* 0C66E4 7F091BB4 25299E30 */ addiu $t1, %lo(off_CODE_bss_80079E30) # addiu $t1, $t1, -0x61d0 -/* 0C66E8 7F091BB8 00C91821 */ addu $v1, $a2, $t1 -/* 0C66EC 7F091BBC 906A0000 */ lbu $t2, ($v1) -/* 0C66F0 7F091BC0 240B0001 */ li $t3, 1 -/* 0C66F4 7F091BC4 00AB6004 */ sllv $t4, $t3, $a1 -/* 0C66F8 7F091BC8 014C6825 */ or $t5, $t2, $t4 -/* 0C66FC 7F091BCC 10000007 */ b .L7F091BEC -/* 0C6700 7F091BD0 A06D0000 */ sb $t5, ($v1) -.L7F091BD4: -/* 0C6704 7F091BD4 240E0001 */ li $t6, 1 -/* 0C6708 7F091BD8 004E7804 */ sllv $t7, $t6, $v0 -/* 0C670C 7F091BDC 3C018008 */ lui $at, %hi(off_CODE_bss_80079E30) -/* 0C6710 7F091BE0 00260821 */ addu $at, $at, $a2 -/* 0C6714 7F091BE4 25F8FFFF */ addiu $t8, $t7, -1 -/* 0C6718 7F091BE8 A0389E30 */ sb $t8, %lo(off_CODE_bss_80079E30)($at) -.L7F091BEC: -/* 0C671C 7F091BEC 24D9FFFF */ addiu $t9, $a2, -1 -/* 0C6720 7F091BF0 2F21004A */ sltiu $at, $t9, 0x4a -/* 0C6724 7F091BF4 1020020C */ beqz $at, .L7F092428 -/* 0C6728 7F091BF8 0019C880 */ sll $t9, $t9, 2 -/* 0C672C 7F091BFC 3C018005 */ lui $at, %hi(jpt_cheats_cheat) -/* 0C6730 7F091C00 00390821 */ addu $at, $at, $t9 -/* 0C6734 7F091C04 8C3972B0 */ lw $t9, %lo(jpt_cheats_cheat)($at) -/* 0C6738 7F091C08 03200008 */ jr $t9 -/* 0C673C 7F091C0C 00000000 */ nop -cheats_cheat_extra_mp_chars: -/* 0C6740 7F091C10 0FC040A0 */ jal unlock_all_mp_chars -/* 0C6744 7F091C14 00000000 */ nop -/* 0C6748 7F091C18 10000204 */ b .L7F09242C -/* 0C674C 7F091C1C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_invincibility: -/* 0C6750 7F091C20 0FC227D6 */ jal get_bondata_invincible_flag -/* 0C6754 7F091C24 00000000 */ nop -/* 0C6758 7F091C28 54400200 */ bnezl $v0, .L7F09242C -/* 0C675C 7F091C2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6760 7F091C30 0FC30776 */ jal get_textptr_for_textID -/* 0C6764 7F091C34 3404B00F */ li $a0, 45071 -/* 0C6768 7F091C38 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C676C 7F091C3C 00402025 */ move $a0, $v0 -/* 0C6770 7F091C40 0FC227D2 */ jal set_bondata_invincible_flag -/* 0C6774 7F091C44 24040001 */ li $a0, 1 -/* 0C6778 7F091C48 100001F8 */ b .L7F09242C -/* 0C677C 7F091C4C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_allguns: -/* 0C6780 7F091C50 0FC230AB */ jal get_BONDdata_allguns_flag -/* 0C6784 7F091C54 00000000 */ nop -/* 0C6788 7F091C58 544001F4 */ bnezl $v0, .L7F09242C -/* 0C678C 7F091C5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6790 7F091C60 0FC30776 */ jal get_textptr_for_textID -/* 0C6794 7F091C64 3404B010 */ li $a0, 45072 -/* 0C6798 7F091C68 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C679C 7F091C6C 00402025 */ move $a0, $v0 -/* 0C67A0 7F091C70 0FC230A7 */ jal set_BONDdata_allguns_flag -/* 0C67A4 7F091C74 24040001 */ li $a0, 1 -/* 0C67A8 7F091C78 100001EC */ b .L7F09242C -/* 0C67AC 7F091C7C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_max_ammo: -/* 0C67B0 7F091C80 0FC30776 */ jal get_textptr_for_textID -/* 0C67B4 7F091C84 3404B011 */ li $a0, 45073 -/* 0C67B8 7F091C88 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C67BC 7F091C8C 00402025 */ move $a0, $v0 -/* 0C67C0 7F091C90 0FC1A4BC */ jal set_max_ammo_for_cur_player -/* 0C67C4 7F091C94 00000000 */ nop -/* 0C67C8 7F091C98 100001E4 */ b .L7F09242C -/* 0C67CC 7F091C9C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_deactivate_invincibility: -/* 0C67D0 7F091CA0 28410002 */ slti $at, $v0, 2 -/* 0C67D4 7F091CA4 142001E0 */ bnez $at, .L7F092428 -/* 0C67D8 7F091CA8 AFA0002C */ sw $zero, 0x2c($sp) -/* 0C67DC 7F091CAC 18400015 */ blez $v0, .L7F091D04 -/* 0C67E0 7F091CB0 AFA00030 */ sw $zero, 0x30($sp) -.L7F091CB4: -/* 0C67E4 7F091CB4 8FA50038 */ lw $a1, 0x38($sp) -/* 0C67E8 7F091CB8 8FA90030 */ lw $t1, 0x30($sp) -/* 0C67EC 7F091CBC 1125000A */ beq $t1, $a1, .L7F091CE8 -/* 0C67F0 7F091CC0 00000000 */ nop -/* 0C67F4 7F091CC4 0FC26C43 */ jal set_cur_player -/* 0C67F8 7F091CC8 01202025 */ move $a0, $t1 -/* 0C67FC 7F091CCC 0FC227D6 */ jal get_bondata_invincible_flag -/* 0C6800 7F091CD0 00000000 */ nop -/* 0C6804 7F091CD4 10400004 */ beqz $v0, .L7F091CE8 -/* 0C6808 7F091CD8 00002025 */ move $a0, $zero -/* 0C680C 7F091CDC 240B0001 */ li $t3, 1 -/* 0C6810 7F091CE0 0FC227D2 */ jal set_bondata_invincible_flag -/* 0C6814 7F091CE4 AFAB002C */ sw $t3, 0x2c($sp) -.L7F091CE8: -/* 0C6818 7F091CE8 0FC26C43 */ jal set_cur_player -/* 0C681C 7F091CEC 8FA40038 */ lw $a0, 0x38($sp) -/* 0C6820 7F091CF0 8FAA0030 */ lw $t2, 0x30($sp) -/* 0C6824 7F091CF4 8FAD0034 */ lw $t5, 0x34($sp) -/* 0C6828 7F091CF8 254C0001 */ addiu $t4, $t2, 1 -/* 0C682C 7F091CFC 158DFFED */ bne $t4, $t5, .L7F091CB4 -/* 0C6830 7F091D00 AFAC0030 */ sw $t4, 0x30($sp) -.L7F091D04: -/* 0C6834 7F091D04 8FAE002C */ lw $t6, 0x2c($sp) -/* 0C6838 7F091D08 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0C683C 7F091D0C 2405009F */ li $a1, 159 -/* 0C6840 7F091D10 11C001C5 */ beqz $t6, .L7F092428 -/* 0C6844 7F091D14 00003025 */ move $a2, $zero -/* 0C6848 7F091D18 0C002382 */ jal play_sfx_a1 -/* 0C684C 7F091D1C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0C6850 7F091D20 100001C2 */ b .L7F09242C -/* 0C6854 7F091D24 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_linemode: -/* 0C6858 7F091D28 0FC243FA */ jal set_debug_VisCVG_flag -/* 0C685C 7F091D2C 24040001 */ li $a0, 1 -/* 0C6860 7F091D30 100001BE */ b .L7F09242C -/* 0C6864 7F091D34 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_2x_health: -/* 0C6868 7F091D38 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C686C 7F091D3C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0C6870 7F091D40 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C6874 7F091D44 44812000 */ mtc1 $at, $f4 -/* 0C6878 7F091D48 C4462A3C */ lwc1 $f6, 0x2a3c($v0) -/* 0C687C 7F091D4C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C6880 7F091D50 46062032 */ c.eq.s $f4, $f6 -/* 0C6884 7F091D54 00000000 */ nop -/* 0C6888 7F091D58 45010008 */ bc1t .L7F091D7C -/* 0C688C 7F091D5C 00000000 */ nop -/* 0C6890 7F091D60 C44800DC */ lwc1 $f8, 0xdc($v0) -/* 0C6894 7F091D64 44815000 */ mtc1 $at, $f10 -/* 0C6898 7F091D68 00000000 */ nop -/* 0C689C 7F091D6C 460A403C */ c.lt.s $f8, $f10 -/* 0C68A0 7F091D70 00000000 */ nop -/* 0C68A4 7F091D74 450201AD */ bc1fl .L7F09242C -/* 0C68A8 7F091D78 8FBF0014 */ lw $ra, 0x14($sp) -.L7F091D7C: -/* 0C68AC 7F091D7C 0FC30776 */ jal get_textptr_for_textID -/* 0C68B0 7F091D80 3404B012 */ li $a0, 45074 -/* 0C68B4 7F091D84 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C68B8 7F091D88 00402025 */ move $a0, $v0 -/* 0C68BC 7F091D8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C68C0 7F091D90 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0C68C4 7F091D94 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0C68C8 7F091D98 44818000 */ mtc1 $at, $f16 -/* 0C68CC 7F091D9C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0C68D0 7F091DA0 3C188008 */ lui $t8, %hi(pPlayer) -/* 0C68D4 7F091DA4 E5F000DC */ swc1 $f16, 0xdc($t7) -/* 0C68D8 7F091DA8 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0C68DC 7F091DAC 44819000 */ mtc1 $at, $f18 -/* 0C68E0 7F091DB0 1000019D */ b .L7F092428 -/* 0C68E4 7F091DB4 E7122A3C */ swc1 $f18, 0x2a3c($t8) -cheats_cheat_2x_armor: -/* 0C68E8 7F091DB8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C68EC 7F091DBC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0C68F0 7F091DC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C68F4 7F091DC4 44810000 */ mtc1 $at, $f0 -/* 0C68F8 7F091DC8 C4442A40 */ lwc1 $f4, 0x2a40($v0) -/* 0C68FC 7F091DCC 46040032 */ c.eq.s $f0, $f4 -/* 0C6900 7F091DD0 00000000 */ nop -/* 0C6904 7F091DD4 45010006 */ bc1t .L7F091DF0 -/* 0C6908 7F091DD8 00000000 */ nop -/* 0C690C 7F091DDC C44600E0 */ lwc1 $f6, 0xe0($v0) -/* 0C6910 7F091DE0 4600303C */ c.lt.s $f6, $f0 -/* 0C6914 7F091DE4 00000000 */ nop -/* 0C6918 7F091DE8 45020190 */ bc1fl .L7F09242C -/* 0C691C 7F091DEC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F091DF0: -/* 0C6920 7F091DF0 0FC30776 */ jal get_textptr_for_textID -/* 0C6924 7F091DF4 3404B013 */ li $a0, 45075 -/* 0C6928 7F091DF8 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C692C 7F091DFC 00402025 */ move $a0, $v0 -/* 0C6930 7F091E00 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C6934 7F091E04 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0C6938 7F091E08 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C693C 7F091E0C 44814000 */ mtc1 $at, $f8 -/* 0C6940 7F091E10 8C590000 */ lw $t9, ($v0) -/* 0C6944 7F091E14 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0C6948 7F091E18 44815000 */ mtc1 $at, $f10 -/* 0C694C 7F091E1C E72800E0 */ swc1 $f8, 0xe0($t9) -/* 0C6950 7F091E20 8C490000 */ lw $t1, ($v0) -/* 0C6954 7F091E24 10000180 */ b .L7F092428 -/* 0C6958 7F091E28 E52A2A40 */ swc1 $f10, 0x2a40($t1) -cheats_cheat_invisibility: -/* 0C695C 7F091E2C 0FC227DD */ jal get_invisible_to_guards_flag -/* 0C6960 7F091E30 00000000 */ nop -/* 0C6964 7F091E34 5040017D */ beql $v0, $zero, .L7F09242C -/* 0C6968 7F091E38 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C696C 7F091E3C 0FC30776 */ jal get_textptr_for_textID -/* 0C6970 7F091E40 3404B014 */ li $a0, 45076 -/* 0C6974 7F091E44 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C6978 7F091E48 00402025 */ move $a0, $v0 -/* 0C697C 7F091E4C 0FC227DA */ jal set_invisible_to_guards_flag -/* 0C6980 7F091E50 00002025 */ move $a0, $zero -/* 0C6984 7F091E54 10000175 */ b .L7F09242C -/* 0C6988 7F091E58 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_infinite_ammo: -/* 0C698C 7F091E5C 0FC30776 */ jal get_textptr_for_textID -/* 0C6990 7F091E60 3404B016 */ li $a0, 45078 -/* 0C6994 7F091E64 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C6998 7F091E68 00402025 */ move $a0, $v0 -/* 0C699C 7F091E6C 1000016F */ b .L7F09242C -/* 0C69A0 7F091E70 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_dk_mode: -/* 0C69A4 7F091E74 0FC30776 */ jal get_textptr_for_textID -/* 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 set_DKMode -/* 0C69B8 7F091E88 24040001 */ li $a0, 1 -/* 0C69BC 7F091E8C 10000167 */ b .L7F09242C -/* 0C69C0 7F091E90 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_extra_weapons: -/* 0C69C4 7F091E94 24010001 */ li $at, 1 -/* 0C69C8 7F091E98 54410164 */ bnel $v0, $at, .L7F09242C -/* 0C69CC 7F091E9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C69D0 7F091EA0 0FC23122 */ jal add_item_to_inventory -/* 0C69D4 7F091EA4 24040012 */ li $a0, 18 -/* 0C69D8 7F091EA8 AFA20028 */ sw $v0, 0x28($sp) -/* 0C69DC 7F091EAC 0FC23122 */ jal add_item_to_inventory -/* 0C69E0 7F091EB0 24040016 */ li $a0, 22 -/* 0C69E4 7F091EB4 8FAB0028 */ lw $t3, 0x28($sp) -/* 0C69E8 7F091EB8 24040013 */ li $a0, 19 -/* 0C69EC 7F091EBC 01625021 */ addu $t2, $t3, $v0 -/* 0C69F0 7F091EC0 0FC23122 */ jal add_item_to_inventory -/* 0C69F4 7F091EC4 AFAA0028 */ sw $t2, 0x28($sp) -/* 0C69F8 7F091EC8 8FAC0028 */ lw $t4, 0x28($sp) -/* 0C69FC 7F091ECC 24040014 */ li $a0, 20 -/* 0C6A00 7F091ED0 01826821 */ addu $t5, $t4, $v0 -/* 0C6A04 7F091ED4 0FC23122 */ jal add_item_to_inventory -/* 0C6A08 7F091ED8 AFAD0028 */ sw $t5, 0x28($sp) -/* 0C6A0C 7F091EDC 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C6A10 7F091EE0 24040015 */ li $a0, 21 -/* 0C6A14 7F091EE4 01C27821 */ addu $t7, $t6, $v0 -/* 0C6A18 7F091EE8 0FC23122 */ jal add_item_to_inventory -/* 0C6A1C 7F091EEC AFAF0028 */ sw $t7, 0x28($sp) -/* 0C6A20 7F091EF0 8FB80028 */ lw $t8, 0x28($sp) -/* 0C6A24 7F091EF4 2404000C */ li $a0, 12 -/* 0C6A28 7F091EF8 0302C821 */ addu $t9, $t8, $v0 -/* 0C6A2C 7F091EFC 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6A30 7F091F00 AFB90028 */ sw $t9, 0x28($sp) -/* 0C6A34 7F091F04 2404000C */ li $a0, 12 -/* 0C6A38 7F091F08 0FC1A44C */ jal give_cur_player_ammo -/* 0C6A3C 7F091F0C 00402825 */ move $a1, $v0 -/* 0C6A40 7F091F10 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6A44 7F091F14 2404000D */ li $a0, 13 -/* 0C6A48 7F091F18 2404000D */ li $a0, 13 -/* 0C6A4C 7F091F1C 0FC1A44C */ jal give_cur_player_ammo -/* 0C6A50 7F091F20 00402825 */ move $a1, $v0 -/* 0C6A54 7F091F24 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6A58 7F091F28 24040001 */ li $a0, 1 -/* 0C6A5C 7F091F2C 24040001 */ li $a0, 1 -/* 0C6A60 7F091F30 0FC1A44C */ jal give_cur_player_ammo -/* 0C6A64 7F091F34 00402825 */ move $a1, $v0 -/* 0C6A68 7F091F38 8FA90028 */ lw $t1, 0x28($sp) -/* 0C6A6C 7F091F3C 5920013B */ blezl $t1, .L7F09242C -/* 0C6A70 7F091F40 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6A74 7F091F44 0FC30776 */ jal get_textptr_for_textID -/* 0C6A78 7F091F48 3404B018 */ li $a0, 45080 -/* 0C6A7C 7F091F4C 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C6A80 7F091F50 00402025 */ move $a0, $v0 -/* 0C6A84 7F091F54 10000135 */ b .L7F09242C -/* 0C6A88 7F091F58 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_tiny_bond: -/* 0C6A8C 7F091F5C 24010001 */ li $at, 1 -/* 0C6A90 7F091F60 14410131 */ bne $v0, $at, .L7F092428 -/* 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) -/* 0C6AA8 7F091F78 46128032 */ c.eq.s $f16, $f18 -/* 0C6AAC 7F091F7C 00000000 */ nop -/* 0C6AB0 7F091F80 4502012A */ bc1fl .L7F09242C -/* 0C6AB4 7F091F84 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6AB8 7F091F88 0FC30776 */ jal get_textptr_for_textID -/* 0C6ABC 7F091F8C 3404B019 */ li $a0, 45081 -/* 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(pPlayersPerm) -/* 0C6AD0 7F091FA0 44810000 */ mtc1 $at, $f0 -/* 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) -/* 0C6AE4 7F091FB4 8D8400D4 */ lw $a0, 0xd4($t4) -/* 0C6AE8 7F091FB8 5080011C */ beql $a0, $zero, .L7F09242C -/* 0C6AEC 7F091FBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6AF0 7F091FC0 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0C6AF4 7F091FC4 46002182 */ mul.s $f6, $f4, $f0 -/* 0C6AF8 7F091FC8 44053000 */ mfc1 $a1, $f6 -/* 0C6AFC 7F091FCC 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0C6B00 7F091FD0 00000000 */ nop -/* 0C6B04 7F091FD4 10000115 */ b .L7F09242C -/* 0C6B08 7F091FD8 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_paintball: -/* 0C6B0C 7F091FDC 0FC30776 */ jal get_textptr_for_textID -/* 0C6B10 7F091FE0 3404B01A */ li $a0, 45082 -/* 0C6B14 7F091FE4 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C6B18 7F091FE8 00402025 */ move $a0, $v0 -/* 0C6B1C 7F091FEC 1000010F */ b .L7F09242C -/* 0C6B20 7F091FF0 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_10x_health: -/* 0C6B24 7F091FF4 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C6B28 7F091FF8 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0C6B2C 7F091FFC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C6B30 7F092000 44810000 */ mtc1 $at, $f0 -/* 0C6B34 7F092004 C4482A3C */ lwc1 $f8, 0x2a3c($v0) -/* 0C6B38 7F092008 46080032 */ c.eq.s $f0, $f8 -/* 0C6B3C 7F09200C 00000000 */ nop -/* 0C6B40 7F092010 45010006 */ bc1t .L7F09202C -/* 0C6B44 7F092014 00000000 */ nop -/* 0C6B48 7F092018 C44A00DC */ lwc1 $f10, 0xdc($v0) -/* 0C6B4C 7F09201C 4600503C */ c.lt.s $f10, $f0 -/* 0C6B50 7F092020 00000000 */ nop -/* 0C6B54 7F092024 45020101 */ bc1fl .L7F09242C -/* 0C6B58 7F092028 8FBF0014 */ lw $ra, 0x14($sp) -.L7F09202C: -/* 0C6B5C 7F09202C 0FC30776 */ jal get_textptr_for_textID -/* 0C6B60 7F092030 3404B01B */ li $a0, 45083 -/* 0C6B64 7F092034 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C6B68 7F092038 00402025 */ move $a0, $v0 -/* 0C6B6C 7F09203C 3C028008 */ lui $v0, %hi(pPlayer) -/* 0C6B70 7F092040 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0C6B74 7F092044 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C6B78 7F092048 44818000 */ mtc1 $at, $f16 -/* 0C6B7C 7F09204C 8C4D0000 */ lw $t5, ($v0) -/* 0C6B80 7F092050 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0C6B84 7F092054 44819000 */ mtc1 $at, $f18 -/* 0C6B88 7F092058 E5B000DC */ swc1 $f16, 0xdc($t5) -/* 0C6B8C 7F09205C 8C4E0000 */ lw $t6, ($v0) -/* 0C6B90 7F092060 100000F1 */ b .L7F092428 -/* 0C6B94 7F092064 E5D22A3C */ swc1 $f18, 0x2a3c($t6) -cheats_cheat_magnum: -/* 0C6B98 7F092068 24010001 */ li $at, 1 -/* 0C6B9C 7F09206C 544100EF */ bnel $v0, $at, .L7F09242C -/* 0C6BA0 7F092070 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6BA4 7F092074 0FC23122 */ jal add_item_to_inventory -/* 0C6BA8 7F092078 24040012 */ li $a0, 18 -/* 0C6BAC 7F09207C 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6BB0 7F092080 2404000C */ li $a0, 12 -/* 0C6BB4 7F092084 2404000C */ li $a0, 12 -/* 0C6BB8 7F092088 0FC1A44C */ jal give_cur_player_ammo -/* 0C6BBC 7F09208C 00402825 */ move $a1, $v0 -/* 0C6BC0 7F092090 100000E6 */ b .L7F09242C -/* 0C6BC4 7F092094 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_laser: -/* 0C6BC8 7F092098 24010001 */ li $at, 1 -/* 0C6BCC 7F09209C 544100E3 */ bnel $v0, $at, .L7F09242C -/* 0C6BD0 7F0920A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6BD4 7F0920A4 0FC23122 */ jal add_item_to_inventory -/* 0C6BD8 7F0920A8 24040016 */ li $a0, 22 -/* 0C6BDC 7F0920AC 100000DF */ b .L7F09242C -/* 0C6BE0 7F0920B0 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_goldengun: -/* 0C6BE4 7F0920B4 24010001 */ li $at, 1 -/* 0C6BE8 7F0920B8 544100DC */ bnel $v0, $at, .L7F09242C -/* 0C6BEC 7F0920BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6BF0 7F0920C0 0FC23122 */ jal add_item_to_inventory -/* 0C6BF4 7F0920C4 24040013 */ li $a0, 19 -/* 0C6BF8 7F0920C8 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6BFC 7F0920CC 2404000D */ li $a0, 13 -/* 0C6C00 7F0920D0 2404000D */ li $a0, 13 -/* 0C6C04 7F0920D4 0FC1A44C */ jal give_cur_player_ammo -/* 0C6C08 7F0920D8 00402825 */ move $a1, $v0 -/* 0C6C0C 7F0920DC 100000D3 */ b .L7F09242C -/* 0C6C10 7F0920E0 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_silverpp7: -/* 0C6C14 7F0920E4 24010001 */ li $at, 1 -/* 0C6C18 7F0920E8 544100D0 */ bnel $v0, $at, .L7F09242C -/* 0C6C1C 7F0920EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6C20 7F0920F0 0FC23122 */ jal add_item_to_inventory -/* 0C6C24 7F0920F4 24040014 */ li $a0, 20 -/* 0C6C28 7F0920F8 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6C2C 7F0920FC 24040001 */ li $a0, 1 -/* 0C6C30 7F092100 24040001 */ li $a0, 1 -/* 0C6C34 7F092104 0FC1A44C */ jal give_cur_player_ammo -/* 0C6C38 7F092108 00402825 */ move $a1, $v0 -/* 0C6C3C 7F09210C 100000C7 */ b .L7F09242C -/* 0C6C40 7F092110 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_goldpp7: -/* 0C6C44 7F092114 24010001 */ li $at, 1 -/* 0C6C48 7F092118 544100C4 */ bnel $v0, $at, .L7F09242C -/* 0C6C4C 7F09211C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6C50 7F092120 0FC23122 */ jal add_item_to_inventory -/* 0C6C54 7F092124 24040015 */ li $a0, 21 -/* 0C6C58 7F092128 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6C5C 7F09212C 24040001 */ li $a0, 1 -/* 0C6C60 7F092130 24040001 */ li $a0, 1 -/* 0C6C64 7F092134 0FC1A44C */ jal give_cur_player_ammo -/* 0C6C68 7F092138 00402825 */ move $a1, $v0 -/* 0C6C6C 7F09213C 100000BB */ b .L7F09242C -/* 0C6C70 7F092140 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_invisibility_mp: -/* 0C6C74 7F092144 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0C6C78 7F092148 44816000 */ mtc1 $at, $f12 -/* 0C6C7C 7F09214C 3C018005 */ lui $at, %hi(finalamount) -/* 0C6C80 7F092150 0FC20284 */ jal set_curplayer_fade -/* 0C6C84 7F092154 C42E73D8 */ lwc1 $f14, %lo(finalamount)($at) -/* 0C6C88 7F092158 100000B4 */ b .L7F09242C -/* 0C6C8C 7F09215C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_fast: -/* 0C6C90 7F092160 0FC24406 */ jal get_debug_fast_bond_flag -/* 0C6C94 7F092164 00000000 */ nop -/* 0C6C98 7F092168 544000B0 */ bnezl $v0, .L7F09242C -/* 0C6C9C 7F09216C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6CA0 7F092170 0FC30776 */ jal get_textptr_for_textID -/* 0C6CA4 7F092174 3404B01D */ li $a0, 45085 -/* 0C6CA8 7F092178 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C6CAC 7F09217C 00402025 */ move $a0, $v0 -/* 0C6CB0 7F092180 0FC24409 */ jal set_debug_fast_bond_flag -/* 0C6CB4 7F092184 24040001 */ li $a0, 1 -/* 0C6CB8 7F092188 100000A8 */ b .L7F09242C -/* 0C6CBC 7F09218C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_pos: -/* 0C6CC0 7F092190 0FC243E2 */ jal get_debug_testingmanpos_flag -/* 0C6CC4 7F092194 00000000 */ nop -/* 0C6CC8 7F092198 544000A4 */ bnezl $v0, .L7F09242C -/* 0C6CCC 7F09219C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6CD0 7F0921A0 0FC243E5 */ jal set_debug_testingmanpos_flag -/* 0C6CD4 7F0921A4 24040001 */ li $a0, 1 -/* 0C6CD8 7F0921A8 100000A0 */ b .L7F09242C -/* 0C6CDC 7F0921AC 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_fast_ani: -/* 0C6CE0 7F0921B0 0FC08179 */ jal get_animation_rate -/* 0C6CE4 7F0921B4 00000000 */ nop -/* 0C6CE8 7F0921B8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0C6CEC 7F0921BC 44812000 */ mtc1 $at, $f4 -/* 0C6CF0 7F0921C0 00000000 */ nop -/* 0C6CF4 7F0921C4 4604003C */ c.lt.s $f0, $f4 -/* 0C6CF8 7F0921C8 00000000 */ nop -/* 0C6CFC 7F0921CC 45020097 */ bc1fl .L7F09242C -/* 0C6D00 7F0921D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6D04 7F0921D4 0FC30776 */ jal get_textptr_for_textID -/* 0C6D08 7F0921D8 3404B034 */ li $a0, 45108 -/* 0C6D0C 7F0921DC 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C6D10 7F0921E0 00402025 */ move $a0, $v0 -/* 0C6D14 7F0921E4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0C6D18 7F0921E8 44816000 */ mtc1 $at, $f12 -/* 0C6D1C 7F0921EC 0FC08150 */ jal animation_speed_related -/* 0C6D20 7F0921F0 00000000 */ nop -/* 0C6D24 7F0921F4 1000008D */ b .L7F09242C -/* 0C6D28 7F0921F8 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_slow_ani: -/* 0C6D2C 7F0921FC 0FC08179 */ jal get_animation_rate -/* 0C6D30 7F092200 00000000 */ nop -/* 0C6D34 7F092204 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0C6D38 7F092208 44813000 */ mtc1 $at, $f6 -/* 0C6D3C 7F09220C 00000000 */ nop -/* 0C6D40 7F092210 4600303C */ c.lt.s $f6, $f0 -/* 0C6D44 7F092214 00000000 */ nop -/* 0C6D48 7F092218 45020084 */ bc1fl .L7F09242C -/* 0C6D4C 7F09221C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6D50 7F092220 0FC30776 */ jal get_textptr_for_textID -/* 0C6D54 7F092224 3404B032 */ li $a0, 45106 -/* 0C6D58 7F092228 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C6D5C 7F09222C 00402025 */ move $a0, $v0 -/* 0C6D60 7F092230 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0C6D64 7F092234 44816000 */ mtc1 $at, $f12 -/* 0C6D68 7F092238 0FC08150 */ jal animation_speed_related -/* 0C6D6C 7F09223C 00000000 */ nop -/* 0C6D70 7F092240 1000007A */ b .L7F09242C -/* 0C6D74 7F092244 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_rockets: -/* 0C6D78 7F092248 24010001 */ li $at, 1 -/* 0C6D7C 7F09224C 14410076 */ bne $v0, $at, .L7F092428 -/* 0C6D80 7F092250 24040019 */ li $a0, 25 -/* 0C6D84 7F092254 0FC23143 */ jal add_doubles_item_to_inventory -/* 0C6D88 7F092258 24050019 */ li $a1, 25 -/* 0C6D8C 7F09225C 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6D90 7F092260 24040006 */ li $a0, 6 -/* 0C6D94 7F092264 24040006 */ li $a0, 6 -/* 0C6D98 7F092268 0FC1A44C */ jal give_cur_player_ammo -/* 0C6D9C 7F09226C 00402825 */ move $a1, $v0 -/* 0C6DA0 7F092270 1000006E */ b .L7F09242C -/* 0C6DA4 7F092274 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_grenade_launch: -/* 0C6DA8 7F092278 24010001 */ li $at, 1 -/* 0C6DAC 7F09227C 1441006A */ bne $v0, $at, .L7F092428 -/* 0C6DB0 7F092280 24040018 */ li $a0, 24 -/* 0C6DB4 7F092284 0FC23143 */ jal add_doubles_item_to_inventory -/* 0C6DB8 7F092288 24050018 */ li $a1, 24 -/* 0C6DBC 7F09228C 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6DC0 7F092290 2404000B */ li $a0, 11 -/* 0C6DC4 7F092294 2404000B */ li $a0, 11 -/* 0C6DC8 7F092298 0FC1A44C */ jal give_cur_player_ammo -/* 0C6DCC 7F09229C 00402825 */ move $a1, $v0 -/* 0C6DD0 7F0922A0 10000062 */ b .L7F09242C -/* 0C6DD4 7F0922A4 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_rcp90: -/* 0C6DD8 7F0922A8 24010001 */ li $at, 1 -/* 0C6DDC 7F0922AC 1441005E */ bne $v0, $at, .L7F092428 -/* 0C6DE0 7F0922B0 2404000E */ li $a0, 14 -/* 0C6DE4 7F0922B4 0FC23143 */ jal add_doubles_item_to_inventory -/* 0C6DE8 7F0922B8 2405000E */ li $a1, 14 -/* 0C6DEC 7F0922BC 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6DF0 7F0922C0 24040001 */ li $a0, 1 -/* 0C6DF4 7F0922C4 24040001 */ li $a0, 1 -/* 0C6DF8 7F0922C8 0FC1A44C */ jal give_cur_player_ammo -/* 0C6DFC 7F0922CC 00402825 */ move $a1, $v0 -/* 0C6E00 7F0922D0 10000056 */ b .L7F09242C -/* 0C6E04 7F0922D4 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_throwing_knife: -/* 0C6E08 7F0922D8 24010001 */ li $at, 1 -/* 0C6E0C 7F0922DC 14410052 */ bne $v0, $at, .L7F092428 -/* 0C6E10 7F0922E0 24040003 */ li $a0, 3 -/* 0C6E14 7F0922E4 0FC23143 */ jal add_doubles_item_to_inventory -/* 0C6E18 7F0922E8 24050003 */ li $a1, 3 -/* 0C6E1C 7F0922EC 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0C6E20 7F0922F0 2404000A */ li $a0, 10 -/* 0C6E24 7F0922F4 2404000A */ li $a0, 10 -/* 0C6E28 7F0922F8 0FC1A44C */ jal give_cur_player_ammo -/* 0C6E2C 7F0922FC 00402825 */ move $a1, $v0 -/* 0C6E30 7F092300 1000004A */ b .L7F09242C -/* 0C6E34 7F092304 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_hunting_knife: -/* 0C6E38 7F092308 24010001 */ li $at, 1 -/* 0C6E3C 7F09230C 14410046 */ bne $v0, $at, .L7F092428 -/* 0C6E40 7F092310 24040002 */ li $a0, 2 -/* 0C6E44 7F092314 0FC23143 */ jal add_doubles_item_to_inventory -/* 0C6E48 7F092318 24050002 */ li $a1, 2 -/* 0C6E4C 7F09231C 10000043 */ b .L7F09242C -/* 0C6E50 7F092320 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_laser: -/* 0C6E54 7F092324 24010001 */ li $at, 1 -/* 0C6E58 7F092328 1441003F */ bne $v0, $at, .L7F092428 -/* 0C6E5C 7F09232C 24040016 */ li $a0, 22 -/* 0C6E60 7F092330 0FC23143 */ jal add_doubles_item_to_inventory -/* 0C6E64 7F092334 24050016 */ li $a1, 22 -/* 0C6E68 7F092338 1000003C */ b .L7F09242C -/* 0C6E6C 7F09233C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_unlockcheat: -/* 0C6E70 7F092340 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 0C6E74 7F092344 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 0C6E78 7F092348 24C5FFDD */ addiu $a1, $a2, -0x23 -/* 0C6E7C 7F09234C 04800036 */ bltz $a0, .L7F092428 -/* 0C6E80 7F092350 28810004 */ slti $at, $a0, 4 -/* 0C6E84 7F092354 50200035 */ beql $at, $zero, .L7F09242C -/* 0C6E88 7F092358 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6E8C 7F09235C 0FC079D8 */ jal sub_GAME_7F01E760 -/* 0C6E90 7F092360 00000000 */ nop -/* 0C6E94 7F092364 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0C6E98 7F092368 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0C6E9C 7F09236C 2405009F */ li $a1, 159 -/* 0C6EA0 7F092370 0C002382 */ jal play_sfx_a1 -/* 0C6EA4 7F092374 00003025 */ move $a2, $zero -/* 0C6EA8 7F092378 1000002C */ b .L7F09242C -/* 0C6EAC 7F09237C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_unlocklevel: -/* 0C6EB0 7F092380 3C028003 */ lui $v0, %hi(selected_folder_num) -/* 0C6EB4 7F092384 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718 -/* 0C6EB8 7F092388 8C440000 */ lw $a0, ($v0) -/* 0C6EBC 7F09238C 24C8FFC9 */ addiu $t0, $a2, -0x37 -/* 0C6EC0 7F092390 04800025 */ bltz $a0, .L7F092428 -/* 0C6EC4 7F092394 28810004 */ slti $at, $a0, 4 -/* 0C6EC8 7F092398 10200023 */ beqz $at, .L7F092428 -/* 0C6ECC 7F09239C 00001825 */ move $v1, $zero -/* 0C6ED0 7F0923A0 19000014 */ blez $t0, .L7F0923F4 -/* 0C6ED4 7F0923A4 00002825 */ move $a1, $zero -.L7F0923A8: -/* 0C6ED8 7F0923A8 3C028003 */ lui $v0, %hi(selected_folder_num) -/* 0C6EDC 7F0923AC 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718 -/* 0C6EE0 7F0923B0 8C440000 */ lw $a0, ($v0) -/* 0C6EE4 7F0923B4 00003025 */ move $a2, $zero -/* 0C6EE8 7F0923B8 AFA30018 */ sw $v1, 0x18($sp) -/* 0C6EEC 7F0923BC AFA5001C */ sw $a1, 0x1c($sp) -/* 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) -/* 0C6F00 7F0923D0 8FA5001C */ lw $a1, 0x1c($sp) -/* 0C6F04 7F0923D4 14410002 */ bne $v0, $at, .L7F0923E0 -/* 0C6F08 7F0923D8 8FA80020 */ lw $t0, 0x20($sp) -/* 0C6F0C 7F0923DC 24630001 */ addiu $v1, $v1, 1 -.L7F0923E0: -/* 0C6F10 7F0923E0 24A50001 */ addiu $a1, $a1, 1 -/* 0C6F14 7F0923E4 14A8FFF0 */ bne $a1, $t0, .L7F0923A8 -/* 0C6F18 7F0923E8 00000000 */ nop -/* 0C6F1C 7F0923EC 3C028003 */ lui $v0, %hi(selected_folder_num) -/* 0C6F20 7F0923F0 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718 -.L7F0923F4: -/* 0C6F24 7F0923F4 246F0001 */ addiu $t7, $v1, 1 -/* 0C6F28 7F0923F8 150F000B */ bne $t0, $t7, .L7F092428 -/* 0C6F2C 7F0923FC 2505FFFF */ addiu $a1, $t0, -1 -/* 0C6F30 7F092400 3C0705F5 */ lui $a3, (0x05F5E0FF >> 16) # lui $a3, 0x5f5 -/* 0C6F34 7F092404 34E7E0FF */ ori $a3, (0x05F5E0FF & 0xFFFF) # ori $a3, $a3, 0xe0ff -/* 0C6F38 7F092408 8C440000 */ lw $a0, ($v0) -/* 0C6F3C 7F09240C 0FC0797E */ jal unlock_stage_in_folder_on_difficulty -/* 0C6F40 7F092410 00003025 */ move $a2, $zero -/* 0C6F44 7F092414 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0C6F48 7F092418 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0C6F4C 7F09241C 2405009F */ li $a1, 159 -/* 0C6F50 7F092420 0C002382 */ jal play_sfx_a1 -/* 0C6F54 7F092424 00003025 */ move $a2, $zero -cheats_debug_return_saved_ra: -.L7F092428: -/* 0C6F58 7F092428 8FBF0014 */ lw $ra, 0x14($sp) -.L7F09242C: -/* 0C6F5C 7F09242C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0C6F60 7F092430 03E00008 */ jr $ra -/* 0C6F64 7F092434 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -/*D:800572B0*/ -glabel jpt_cheats_cheat -.word cheats_cheat_extra_mp_chars -.word cheats_cheat_invincibility -.word cheats_cheat_allguns -.word cheats_cheat_max_ammo -.word cheats_debug_return_saved_ra -.word cheats_cheat_deactivate_invincibility -.word cheats_cheat_linemode -.word cheats_cheat_2x_health -.word cheats_cheat_2x_armor -.word cheats_cheat_invisibility -.word cheats_cheat_infinite_ammo -.word cheats_cheat_dk_mode -.word cheats_cheat_extra_weapons -.word cheats_cheat_tiny_bond -.word cheats_cheat_paintball -.word cheats_cheat_10x_health -.word cheats_cheat_magnum -.word cheats_cheat_laser -.word cheats_cheat_goldengun -.word cheats_cheat_silverpp7 -.word cheats_cheat_goldpp7 -.word cheats_cheat_invisibility_mp -.word cheats_debug_return_saved_ra -.word cheats_cheat_fast -.word cheats_debug_pos -.word cheats_debug_fast_ani -.word cheats_debug_slow_ani -.word cheats_debug_return_saved_ra -.word cheats_debug_2x_rockets -.word cheats_debug_2x_grenade_launch -.word cheats_debug_2x_rcp90 -.word cheats_debug_2x_throwing_knife -.word cheats_debug_2x_hunting_knife -.word cheats_debug_2x_laser -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlockcheat -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel -.word cheats_debug_unlocklevel - -/*800573D8*/ -glabel finalamount -.word 0x3d4ccccd /*0.050000001*/ - -.text -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 -/* 0C71C0 7F092650 8DEFF838 */ lw $t7, %lo(D_8003F808)($t7) -/* 0C71C4 7F092654 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C71C8 7F092658 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C71CC 7F09265C AFA40040 */ sw $a0, 0x40($sp) -/* 0C71D0 7F092660 0FC26F3C */ jal get_cur_playernum -/* 0C71D4 7F092664 AFAF003C */ sw $t7, 0x3c($sp) -/* 0C71D8 7F092668 0FC26C01 */ jal get_num_players -/* 0C71DC 7F09266C AFA20038 */ sw $v0, 0x38($sp) -/* 0C71E0 7F092670 8FA3003C */ lw $v1, 0x3c($sp) -/* 0C71E4 7F092674 8FA60040 */ lw $a2, 0x40($sp) -/* 0C71E8 7F092678 AFA20034 */ sw $v0, 0x34($sp) -/* 0C71EC 7F09267C 30780010 */ andi $t8, $v1, 0x10 -/* 0C71F0 7F092680 17000012 */ bnez $t8, .Ljp7F0926CC -/* 0C71F4 7F092684 30790020 */ andi $t9, $v1, 0x20 -/* 0C71F8 7F092688 1720000A */ bnez $t9, .Ljp7F0926B4 -/* 0C71FC 7F09268C 8FA50038 */ lw $a1, 0x38($sp) -/* 0C7200 7F092690 3C098008 */ lui $t1, %hi(off_CODE_bss_80079E30) # $t1, 0x8008 -/* 0C7204 7F092694 25299EA0 */ addiu $t1, %lo(off_CODE_bss_80079E30) # addiu $t1, $t1, -0x6160 -/* 0C7208 7F092698 00C91821 */ addu $v1, $a2, $t1 -/* 0C720C 7F09269C 906A0000 */ lbu $t2, ($v1) -/* 0C7210 7F0926A0 240B0001 */ li $t3, 1 -/* 0C7214 7F0926A4 00AB6004 */ sllv $t4, $t3, $a1 -/* 0C7218 7F0926A8 014C6825 */ or $t5, $t2, $t4 -/* 0C721C 7F0926AC 10000007 */ b .Ljp7F0926CC -/* 0C7220 7F0926B0 A06D0000 */ sb $t5, ($v1) -.Ljp7F0926B4: -/* 0C7224 7F0926B4 240E0001 */ li $t6, 1 -/* 0C7228 7F0926B8 004E7804 */ sllv $t7, $t6, $v0 -/* 0C722C 7F0926BC 3C018008 */ lui $at, %hi(off_CODE_bss_80079E30) -/* 0C7230 7F0926C0 00260821 */ addu $at, $at, $a2 -/* 0C7234 7F0926C4 25F8FFFF */ addiu $t8, $t7, -1 -/* 0C7238 7F0926C8 A0389EA0 */ sb $t8, %lo(off_CODE_bss_80079E30)($at) -.Ljp7F0926CC: -/* 0C723C 7F0926CC 24D9FFFF */ addiu $t9, $a2, -1 -/* 0C7240 7F0926D0 2F21004A */ sltiu $at, $t9, 0x4a -/* 0C7244 7F0926D4 10200234 */ beqz $at, .Ljp7F092FA8 -/* 0C7248 7F0926D8 0019C880 */ sll $t9, $t9, 2 -/* 0C724C 7F0926DC 3C018005 */ lui $at, %hi(jpt_cheats_cheat) -/* 0C7250 7F0926E0 00390821 */ addu $at, $at, $t9 -/* 0C7254 7F0926E4 8C3972E0 */ lw $t9, %lo(jpt_cheats_cheat)($at) -/* 0C7258 7F0926E8 03200008 */ jr $t9 -/* 0C725C 7F0926EC 00000000 */ nop -cheats_cheat_extra_mp_chars: -/* 0C7260 7F0926F0 0FC040B0 */ jal unlock_all_mp_chars -/* 0C7264 7F0926F4 00000000 */ nop -/* 0C7268 7F0926F8 1000022C */ b .Ljp7F092FAC -/* 0C726C 7F0926FC 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_invincibility: -/* 0C7270 7F092700 0FC229A4 */ jal get_bondata_invincible_flag -/* 0C7274 7F092704 00000000 */ nop -/* 0C7278 7F092708 54400228 */ bnezl $v0, .Ljp7F092FAC -/* 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_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 -/* 0C7298 7F092728 10000220 */ b .Ljp7F092FAC -/* 0C729C 7F09272C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_allguns: -/* 0C72A0 7F092730 0FC232CF */ jal get_BONDdata_allguns_flag -/* 0C72A4 7F092734 00000000 */ nop -/* 0C72A8 7F092738 5440021C */ bnezl $v0, .Ljp7F092FAC -/* 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_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 -/* 0C72C8 7F092758 10000214 */ b .Ljp7F092FAC -/* 0C72CC 7F09275C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_max_ammo: -/* 0C72D0 7F092760 0FC30AA2 */ jal get_textptr_for_textID -/* 0C72D4 7F092764 3404B011 */ li $a0, 45073 -/* 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 -/* 0C72E8 7F092778 1000020C */ b .Ljp7F092FAC -/* 0C72EC 7F09277C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_deactivate_invincibility: -/* 0C72F0 7F092780 28410002 */ slti $at, $v0, 2 -/* 0C72F4 7F092784 14200208 */ bnez $at, .Ljp7F092FA8 -/* 0C72F8 7F092788 AFA0002C */ sw $zero, 0x2c($sp) -/* 0C72FC 7F09278C 18400015 */ blez $v0, .Ljp7F0927E4 -/* 0C7300 7F092790 AFA00030 */ sw $zero, 0x30($sp) -.Ljp7F092794: -/* 0C7304 7F092794 8FA50038 */ lw $a1, 0x38($sp) -/* 0C7308 7F092798 8FA90030 */ lw $t1, 0x30($sp) -/* 0C730C 7F09279C 1125000A */ beq $t1, $a1, .Ljp7F0927C8 -/* 0C7310 7F0927A0 00000000 */ nop -/* 0C7314 7F0927A4 0FC26F2B */ jal set_cur_player -/* 0C7318 7F0927A8 01202025 */ move $a0, $t1 -/* 0C731C 7F0927AC 0FC229A4 */ jal get_bondata_invincible_flag -/* 0C7320 7F0927B0 00000000 */ nop -/* 0C7324 7F0927B4 10400004 */ beqz $v0, .Ljp7F0927C8 -/* 0C7328 7F0927B8 00002025 */ move $a0, $zero -/* 0C732C 7F0927BC 240B0001 */ li $t3, 1 -/* 0C7330 7F0927C0 0FC229A0 */ jal set_bondata_invincible_flag -/* 0C7334 7F0927C4 AFAB002C */ sw $t3, 0x2c($sp) -.Ljp7F0927C8: -/* 0C7338 7F0927C8 0FC26F2B */ jal set_cur_player -/* 0C733C 7F0927CC 8FA40038 */ lw $a0, 0x38($sp) -/* 0C7340 7F0927D0 8FAA0030 */ lw $t2, 0x30($sp) -/* 0C7344 7F0927D4 8FAD0034 */ lw $t5, 0x34($sp) -/* 0C7348 7F0927D8 254C0001 */ addiu $t4, $t2, 1 -/* 0C734C 7F0927DC 158DFFED */ bne $t4, $t5, .Ljp7F092794 -/* 0C7350 7F0927E0 AFAC0030 */ sw $t4, 0x30($sp) -.Ljp7F0927E4: -/* 0C7354 7F0927E4 8FAE002C */ lw $t6, 0x2c($sp) -/* 0C7358 7F0927E8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0C735C 7F0927EC 2405009F */ li $a1, 159 -/* 0C7360 7F0927F0 11C001ED */ beqz $t6, .Ljp7F092FA8 -/* 0C7364 7F0927F4 00003025 */ move $a2, $zero -/* 0C7368 7F0927F8 0C002386 */ jal play_sfx_a1 -/* 0C736C 7F0927FC 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0C7370 7F092800 100001EA */ b .Ljp7F092FAC -/* 0C7374 7F092804 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_linemode: -/* 0C7378 7F092808 0FC246B2 */ jal set_debug_VisCVG_flag -/* 0C737C 7F09280C 24040001 */ li $a0, 1 -/* 0C7380 7F092810 100001E6 */ b .Ljp7F092FAC -/* 0C7384 7F092814 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_2x_health: -/* 0C7388 7F092818 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0C738C 7F09281C 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0C7390 7F092820 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7394 7F092824 44812000 */ mtc1 $at, $f4 -/* 0C7398 7F092828 C4462A3C */ lwc1 $f6, 0x2a3c($v0) -/* 0C739C 7F09282C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C73A0 7F092830 46062032 */ c.eq.s $f4, $f6 -/* 0C73A4 7F092834 00000000 */ nop -/* 0C73A8 7F092838 45010008 */ bc1t .Ljp7F09285C -/* 0C73AC 7F09283C 00000000 */ nop -/* 0C73B0 7F092840 C44800DC */ lwc1 $f8, 0xdc($v0) -/* 0C73B4 7F092844 44815000 */ mtc1 $at, $f10 -/* 0C73B8 7F092848 00000000 */ nop -/* 0C73BC 7F09284C 460A403C */ c.lt.s $f8, $f10 -/* 0C73C0 7F092850 00000000 */ nop -/* 0C73C4 7F092854 450201D5 */ bc1fl .Ljp7F092FAC -/* 0C73C8 7F092858 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F09285C: -/* 0C73CC 7F09285C 0FC30AA2 */ jal get_textptr_for_textID -/* 0C73D0 7F092860 3404B012 */ li $a0, 45074 -/* 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 -/* 0C73E4 7F092874 8DEFA120 */ lw $t7, %lo(pPlayer)($t7) -/* 0C73E8 7F092878 44818000 */ mtc1 $at, $f16 -/* 0C73EC 7F09287C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0C73F0 7F092880 3C188008 */ lui $t8, %hi(pPlayer) # $t8, 0x8008 -/* 0C73F4 7F092884 E5F000DC */ swc1 $f16, 0xdc($t7) -/* 0C73F8 7F092888 8F18A120 */ lw $t8, %lo(pPlayer)($t8) -/* 0C73FC 7F09288C 44819000 */ mtc1 $at, $f18 -/* 0C7400 7F092890 100001C5 */ b .Ljp7F092FA8 -/* 0C7404 7F092894 E7122A3C */ swc1 $f18, 0x2a3c($t8) -cheats_cheat_2x_armor: -/* 0C7408 7F092898 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0C740C 7F09289C 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0C7410 7F0928A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7414 7F0928A4 44810000 */ mtc1 $at, $f0 -/* 0C7418 7F0928A8 C4442A40 */ lwc1 $f4, 0x2a40($v0) -/* 0C741C 7F0928AC 46040032 */ c.eq.s $f0, $f4 -/* 0C7420 7F0928B0 00000000 */ nop -/* 0C7424 7F0928B4 45010006 */ bc1t .Ljp7F0928D0 -/* 0C7428 7F0928B8 00000000 */ nop -/* 0C742C 7F0928BC C44600E0 */ lwc1 $f6, 0xe0($v0) -/* 0C7430 7F0928C0 4600303C */ c.lt.s $f6, $f0 -/* 0C7434 7F0928C4 00000000 */ nop -/* 0C7438 7F0928C8 450201B8 */ bc1fl .Ljp7F092FAC -/* 0C743C 7F0928CC 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0928D0: -/* 0C7440 7F0928D0 0FC30AA2 */ jal get_textptr_for_textID -/* 0C7444 7F0928D4 3404B013 */ li $a0, 45075 -/* 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 -/* 0C7458 7F0928E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C745C 7F0928EC 44814000 */ mtc1 $at, $f8 -/* 0C7460 7F0928F0 8C590000 */ lw $t9, ($v0) -/* 0C7464 7F0928F4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0C7468 7F0928F8 44815000 */ mtc1 $at, $f10 -/* 0C746C 7F0928FC E72800E0 */ swc1 $f8, 0xe0($t9) -/* 0C7470 7F092900 8C490000 */ lw $t1, ($v0) -/* 0C7474 7F092904 100001A8 */ b .Ljp7F092FA8 -/* 0C7478 7F092908 E52A2A40 */ swc1 $f10, 0x2a40($t1) -cheats_cheat_invisibility: -/* 0C747C 7F09290C 0FC229AB */ jal get_invisible_to_guards_flag -/* 0C7480 7F092910 00000000 */ nop -/* 0C7484 7F092914 504001A5 */ beql $v0, $zero, .Ljp7F092FAC -/* 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_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 -/* 0C74A4 7F092934 1000019D */ b .Ljp7F092FAC -/* 0C74A8 7F092938 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_infinite_ammo: -/* 0C74AC 7F09293C 0FC30AA2 */ jal get_textptr_for_textID -/* 0C74B0 7F092940 3404B016 */ li $a0, 45078 -/* 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_display_string_in_lower_left_corner -/* 0C74D0 7F092960 00402025 */ move $a0, $v0 -/* 0C74D4 7F092964 0FC24CDD */ jal set_DKMode -/* 0C74D8 7F092968 24040001 */ li $a0, 1 -/* 0C74DC 7F09296C 1000018F */ b .Ljp7F092FAC -/* 0C74E0 7F092970 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_extra_weapons: -/* 0C74E4 7F092974 24010001 */ li $at, 1 -/* 0C74E8 7F092978 5441018C */ bnel $v0, $at, .Ljp7F092FAC -/* 0C74EC 7F09297C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C74F0 7F092980 0FC2335A */ jal add_item_to_inventory -/* 0C74F4 7F092984 24040012 */ li $a0, 18 -/* 0C74F8 7F092988 AFA20028 */ sw $v0, 0x28($sp) -/* 0C74FC 7F09298C 0FC2335A */ jal add_item_to_inventory -/* 0C7500 7F092990 24040016 */ li $a0, 22 -/* 0C7504 7F092994 8FAB0028 */ lw $t3, 0x28($sp) -/* 0C7508 7F092998 24040013 */ li $a0, 19 -/* 0C750C 7F09299C 01625021 */ addu $t2, $t3, $v0 -/* 0C7510 7F0929A0 0FC2335A */ jal add_item_to_inventory -/* 0C7514 7F0929A4 AFAA0028 */ sw $t2, 0x28($sp) -/* 0C7518 7F0929A8 8FAC0028 */ lw $t4, 0x28($sp) -/* 0C751C 7F0929AC 24040014 */ li $a0, 20 -/* 0C7520 7F0929B0 01826821 */ addu $t5, $t4, $v0 -/* 0C7524 7F0929B4 0FC2335A */ jal add_item_to_inventory -/* 0C7528 7F0929B8 AFAD0028 */ sw $t5, 0x28($sp) -/* 0C752C 7F0929BC 8FAE0028 */ lw $t6, 0x28($sp) -/* 0C7530 7F0929C0 24040015 */ li $a0, 21 -/* 0C7534 7F0929C4 01C27821 */ addu $t7, $t6, $v0 -/* 0C7538 7F0929C8 0FC2335A */ jal add_item_to_inventory -/* 0C753C 7F0929CC AFAF0028 */ sw $t7, 0x28($sp) -/* 0C7540 7F0929D0 8FB80028 */ lw $t8, 0x28($sp) -/* 0C7544 7F0929D4 2404000C */ li $a0, 12 -/* 0C7548 7F0929D8 0302C821 */ addu $t9, $t8, $v0 -/* 0C754C 7F0929DC 0FC1A630 */ jal get_max_ammo_for_type -/* 0C7550 7F0929E0 AFB90028 */ sw $t9, 0x28($sp) -/* 0C7554 7F0929E4 2404000C */ li $a0, 12 -/* 0C7558 7F0929E8 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C755C 7F0929EC 00402825 */ move $a1, $v0 -/* 0C7560 7F0929F0 0FC1A630 */ jal get_max_ammo_for_type -/* 0C7564 7F0929F4 2404000D */ li $a0, 13 -/* 0C7568 7F0929F8 2404000D */ li $a0, 13 -/* 0C756C 7F0929FC 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C7570 7F092A00 00402825 */ move $a1, $v0 -/* 0C7574 7F092A04 0FC1A630 */ jal get_max_ammo_for_type -/* 0C7578 7F092A08 24040001 */ li $a0, 1 -/* 0C757C 7F092A0C 24040001 */ li $a0, 1 -/* 0C7580 7F092A10 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C7584 7F092A14 00402825 */ move $a1, $v0 -/* 0C7588 7F092A18 8FA90028 */ lw $t1, 0x28($sp) -/* 0C758C 7F092A1C 59200163 */ blezl $t1, .Ljp7F092FAC -/* 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_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(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) -/* 0C75C8 7F092A58 46128032 */ c.eq.s $f16, $f18 -/* 0C75CC 7F092A5C 00000000 */ nop -/* 0C75D0 7F092A60 45020152 */ bc1fl .Ljp7F092FAC -/* 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_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(pPlayersPerm) # $t2, 0x8008 -/* 0C75F0 7F092A80 44810000 */ mtc1 $at, $f0 -/* 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) -/* 0C7604 7F092A94 8D8400D4 */ lw $a0, 0xd4($t4) -/* 0C7608 7F092A98 50800144 */ beql $a0, $zero, .Ljp7F092FAC -/* 0C760C 7F092A9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7610 7F092AA0 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0C7614 7F092AA4 46002182 */ mul.s $f6, $f4, $f0 -/* 0C7618 7F092AA8 44053000 */ mfc1 $a1, $f6 -/* 0C761C 7F092AAC 0FC1B51A */ jal set_obj_instance_controller_scale -/* 0C7620 7F092AB0 00000000 */ nop -/* 0C7624 7F092AB4 1000013D */ b .Ljp7F092FAC -/* 0C7628 7F092AB8 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_paintball: -/* 0C762C 7F092ABC 0FC30AA2 */ jal get_textptr_for_textID -/* 0C7630 7F092AC0 3404B01A */ li $a0, 45082 -/* 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) -cheats_cheat_10x_health: -/* 0C7644 7F092AD4 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 -/* 0C7648 7F092AD8 8C42A120 */ lw $v0, %lo(pPlayer)($v0) -/* 0C764C 7F092ADC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7650 7F092AE0 44810000 */ mtc1 $at, $f0 -/* 0C7654 7F092AE4 C4482A3C */ lwc1 $f8, 0x2a3c($v0) -/* 0C7658 7F092AE8 46080032 */ c.eq.s $f0, $f8 -/* 0C765C 7F092AEC 00000000 */ nop -/* 0C7660 7F092AF0 45010006 */ bc1t .Ljp7F092B0C -/* 0C7664 7F092AF4 00000000 */ nop -/* 0C7668 7F092AF8 C44A00DC */ lwc1 $f10, 0xdc($v0) -/* 0C766C 7F092AFC 4600503C */ c.lt.s $f10, $f0 -/* 0C7670 7F092B00 00000000 */ nop -/* 0C7674 7F092B04 45020129 */ bc1fl .Ljp7F092FAC -/* 0C7678 7F092B08 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F092B0C: -/* 0C767C 7F092B0C 0FC30AA2 */ jal get_textptr_for_textID -/* 0C7680 7F092B10 3404B01B */ li $a0, 45083 -/* 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 -/* 0C7694 7F092B24 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7698 7F092B28 44818000 */ mtc1 $at, $f16 -/* 0C769C 7F092B2C 8C4D0000 */ lw $t5, ($v0) -/* 0C76A0 7F092B30 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0C76A4 7F092B34 44819000 */ mtc1 $at, $f18 -/* 0C76A8 7F092B38 E5B000DC */ swc1 $f16, 0xdc($t5) -/* 0C76AC 7F092B3C 8C4E0000 */ lw $t6, ($v0) -/* 0C76B0 7F092B40 10000119 */ b .Ljp7F092FA8 -/* 0C76B4 7F092B44 E5D22A3C */ swc1 $f18, 0x2a3c($t6) -cheats_cheat_magnum: -/* 0C76B8 7F092B48 24010001 */ li $at, 1 -/* 0C76BC 7F092B4C 54410117 */ bnel $v0, $at, .Ljp7F092FAC -/* 0C76C0 7F092B50 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C76C4 7F092B54 0FC2335A */ jal add_item_to_inventory -/* 0C76C8 7F092B58 24040012 */ li $a0, 18 -/* 0C76CC 7F092B5C 0FC1A630 */ jal get_max_ammo_for_type -/* 0C76D0 7F092B60 2404000C */ li $a0, 12 -/* 0C76D4 7F092B64 2404000C */ li $a0, 12 -/* 0C76D8 7F092B68 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C76DC 7F092B6C 00402825 */ move $a1, $v0 -/* 0C76E0 7F092B70 1000010E */ b .Ljp7F092FAC -/* 0C76E4 7F092B74 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_laser: -/* 0C76E8 7F092B78 24010001 */ li $at, 1 -/* 0C76EC 7F092B7C 5441010B */ bnel $v0, $at, .Ljp7F092FAC -/* 0C76F0 7F092B80 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C76F4 7F092B84 0FC2335A */ jal add_item_to_inventory -/* 0C76F8 7F092B88 24040016 */ li $a0, 22 -/* 0C76FC 7F092B8C 10000107 */ b .Ljp7F092FAC -/* 0C7700 7F092B90 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_goldengun: -/* 0C7704 7F092B94 24010001 */ li $at, 1 -/* 0C7708 7F092B98 54410104 */ bnel $v0, $at, .Ljp7F092FAC -/* 0C770C 7F092B9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7710 7F092BA0 0FC2335A */ jal add_item_to_inventory -/* 0C7714 7F092BA4 24040013 */ li $a0, 19 -/* 0C7718 7F092BA8 0FC1A630 */ jal get_max_ammo_for_type -/* 0C771C 7F092BAC 2404000D */ li $a0, 13 -/* 0C7720 7F092BB0 2404000D */ li $a0, 13 -/* 0C7724 7F092BB4 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C7728 7F092BB8 00402825 */ move $a1, $v0 -/* 0C772C 7F092BBC 100000FB */ b .Ljp7F092FAC -/* 0C7730 7F092BC0 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_silverpp7: -/* 0C7734 7F092BC4 24010001 */ li $at, 1 -/* 0C7738 7F092BC8 544100F8 */ bnel $v0, $at, .Ljp7F092FAC -/* 0C773C 7F092BCC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7740 7F092BD0 0FC2335A */ jal add_item_to_inventory -/* 0C7744 7F092BD4 24040014 */ li $a0, 20 -/* 0C7748 7F092BD8 0FC1A630 */ jal get_max_ammo_for_type -/* 0C774C 7F092BDC 24040001 */ li $a0, 1 -/* 0C7750 7F092BE0 24040001 */ li $a0, 1 -/* 0C7754 7F092BE4 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C7758 7F092BE8 00402825 */ move $a1, $v0 -/* 0C775C 7F092BEC 100000EF */ b .Ljp7F092FAC -/* 0C7760 7F092BF0 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_goldpp7: -/* 0C7764 7F092BF4 24010001 */ li $at, 1 -/* 0C7768 7F092BF8 544100EC */ bnel $v0, $at, .Ljp7F092FAC -/* 0C776C 7F092BFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7770 7F092C00 0FC2335A */ jal add_item_to_inventory -/* 0C7774 7F092C04 24040015 */ li $a0, 21 -/* 0C7778 7F092C08 0FC1A630 */ jal get_max_ammo_for_type -/* 0C777C 7F092C0C 24040001 */ li $a0, 1 -/* 0C7780 7F092C10 24040001 */ li $a0, 1 -/* 0C7784 7F092C14 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C7788 7F092C18 00402825 */ move $a1, $v0 -/* 0C778C 7F092C1C 100000E3 */ b .Ljp7F092FAC -/* 0C7790 7F092C20 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_invisibility_mp: -/* 0C7794 7F092C24 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0C7798 7F092C28 44816000 */ mtc1 $at, $f12 -/* 0C779C 7F092C2C 3C018005 */ lui $at, %hi(finalamount) # $at, 0x8005 -/* 0C77A0 7F092C30 0FC20408 */ jal set_curplayer_fade -/* 0C77A4 7F092C34 C42E7408 */ lwc1 $f14, %lo(finalamount)($at) -/* 0C77A8 7F092C38 100000DC */ b .Ljp7F092FAC -/* 0C77AC 7F092C3C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_cheat_fast: -/* 0C77B0 7F092C40 0FC246BE */ jal get_debug_fast_bond_flag -/* 0C77B4 7F092C44 00000000 */ nop -/* 0C77B8 7F092C48 544000D8 */ bnezl $v0, .Ljp7F092FAC -/* 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_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 -/* 0C77D8 7F092C68 100000D0 */ b .Ljp7F092FAC -/* 0C77DC 7F092C6C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_pos: -/* 0C77E0 7F092C70 0FC2469A */ jal get_debug_testingmanpos_flag -/* 0C77E4 7F092C74 00000000 */ nop -/* 0C77E8 7F092C78 544000CC */ bnezl $v0, .Ljp7F092FAC -/* 0C77EC 7F092C7C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C77F0 7F092C80 0FC2469D */ jal set_debug_testingmanpos_flag -/* 0C77F4 7F092C84 24040001 */ li $a0, 1 -/* 0C77F8 7F092C88 100000C8 */ b .Ljp7F092FAC -/* 0C77FC 7F092C8C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_fast_ani: -/* 0C7800 7F092C90 0FC081E5 */ jal get_animation_rate -/* 0C7804 7F092C94 00000000 */ nop -/* 0C7808 7F092C98 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0C780C 7F092C9C 44812000 */ mtc1 $at, $f4 -/* 0C7810 7F092CA0 00000000 */ nop -/* 0C7814 7F092CA4 4604003C */ c.lt.s $f0, $f4 -/* 0C7818 7F092CA8 00000000 */ nop -/* 0C781C 7F092CAC 450200BF */ bc1fl .Ljp7F092FAC -/* 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_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 -/* 0C783C 7F092CCC 0FC081BC */ jal animation_speed_related -/* 0C7840 7F092CD0 00000000 */ nop -/* 0C7844 7F092CD4 100000B5 */ b .Ljp7F092FAC -/* 0C7848 7F092CD8 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_slow_ani: -/* 0C784C 7F092CDC 0FC081E5 */ jal get_animation_rate -/* 0C7850 7F092CE0 00000000 */ nop -/* 0C7854 7F092CE4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0C7858 7F092CE8 44813000 */ mtc1 $at, $f6 -/* 0C785C 7F092CEC 00000000 */ nop -/* 0C7860 7F092CF0 4600303C */ c.lt.s $f6, $f0 -/* 0C7864 7F092CF4 00000000 */ nop -/* 0C7868 7F092CF8 450200AC */ bc1fl .Ljp7F092FAC -/* 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_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 -/* 0C7888 7F092D18 0FC081BC */ jal animation_speed_related -/* 0C788C 7F092D1C 00000000 */ nop -/* 0C7890 7F092D20 100000A2 */ b .Ljp7F092FAC -/* 0C7894 7F092D24 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_rockets: -/* 0C7898 7F092D28 24010001 */ li $at, 1 -/* 0C789C 7F092D2C 5441009F */ bnel $v0, $at, .Ljp7F092FAC -/* 0C78A0 7F092D30 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C78A4 7F092D34 0FC2335A */ jal add_item_to_inventory -/* 0C78A8 7F092D38 24040019 */ li $a0, 25 -/* 0C78AC 7F092D3C 24040019 */ li $a0, 25 -/* 0C78B0 7F092D40 0FC23381 */ jal add_doubles_item_to_inventory -/* 0C78B4 7F092D44 24050019 */ li $a1, 25 -/* 0C78B8 7F092D48 0FC1A630 */ jal get_max_ammo_for_type -/* 0C78BC 7F092D4C 24040006 */ li $a0, 6 -/* 0C78C0 7F092D50 24040006 */ li $a0, 6 -/* 0C78C4 7F092D54 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C78C8 7F092D58 00402825 */ move $a1, $v0 -/* 0C78CC 7F092D5C 10000093 */ b .Ljp7F092FAC -/* 0C78D0 7F092D60 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_grenade_launch: -/* 0C78D4 7F092D64 24010001 */ li $at, 1 -/* 0C78D8 7F092D68 54410090 */ bnel $v0, $at, .Ljp7F092FAC -/* 0C78DC 7F092D6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C78E0 7F092D70 0FC2335A */ jal add_item_to_inventory -/* 0C78E4 7F092D74 24040018 */ li $a0, 24 -/* 0C78E8 7F092D78 24040018 */ li $a0, 24 -/* 0C78EC 7F092D7C 0FC23381 */ jal add_doubles_item_to_inventory -/* 0C78F0 7F092D80 24050018 */ li $a1, 24 -/* 0C78F4 7F092D84 0FC1A630 */ jal get_max_ammo_for_type -/* 0C78F8 7F092D88 2404000B */ li $a0, 11 -/* 0C78FC 7F092D8C 2404000B */ li $a0, 11 -/* 0C7900 7F092D90 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C7904 7F092D94 00402825 */ move $a1, $v0 -/* 0C7908 7F092D98 10000084 */ b .Ljp7F092FAC -/* 0C790C 7F092D9C 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_rcp90: -/* 0C7910 7F092DA0 24010001 */ li $at, 1 -/* 0C7914 7F092DA4 54410081 */ bnel $v0, $at, .Ljp7F092FAC -/* 0C7918 7F092DA8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C791C 7F092DAC 0FC2335A */ jal add_item_to_inventory -/* 0C7920 7F092DB0 2404000E */ li $a0, 14 -/* 0C7924 7F092DB4 2404000E */ li $a0, 14 -/* 0C7928 7F092DB8 0FC23381 */ jal add_doubles_item_to_inventory -/* 0C792C 7F092DBC 2405000E */ li $a1, 14 -/* 0C7930 7F092DC0 0FC1A630 */ jal get_max_ammo_for_type -/* 0C7934 7F092DC4 24040001 */ li $a0, 1 -/* 0C7938 7F092DC8 24040001 */ li $a0, 1 -/* 0C793C 7F092DCC 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C7940 7F092DD0 00402825 */ move $a1, $v0 -/* 0C7944 7F092DD4 10000075 */ b .Ljp7F092FAC -/* 0C7948 7F092DD8 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_throwing_knife: -/* 0C794C 7F092DDC 24010001 */ li $at, 1 -/* 0C7950 7F092DE0 54410072 */ bnel $v0, $at, .Ljp7F092FAC -/* 0C7954 7F092DE4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7958 7F092DE8 0FC2335A */ jal add_item_to_inventory -/* 0C795C 7F092DEC 24040003 */ li $a0, 3 -/* 0C7960 7F092DF0 24040003 */ li $a0, 3 -/* 0C7964 7F092DF4 0FC23381 */ jal add_doubles_item_to_inventory -/* 0C7968 7F092DF8 24050003 */ li $a1, 3 -/* 0C796C 7F092DFC 0FC1A630 */ jal get_max_ammo_for_type -/* 0C7970 7F092E00 2404000A */ li $a0, 10 -/* 0C7974 7F092E04 2404000A */ li $a0, 10 -/* 0C7978 7F092E08 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C797C 7F092E0C 00402825 */ move $a1, $v0 -/* 0C7980 7F092E10 10000066 */ b .Ljp7F092FAC -/* 0C7984 7F092E14 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_hunting_knife: -/* 0C7988 7F092E18 24010001 */ li $at, 1 -/* 0C798C 7F092E1C 14410062 */ bne $v0, $at, .Ljp7F092FA8 -/* 0C7990 7F092E20 3C0F8005 */ lui $t7, %hi(j_text_trigger) # $t7, 0x8005 -/* 0C7994 7F092E24 8DEF8500 */ lw $t7, %lo(j_text_trigger)($t7) -/* 0C7998 7F092E28 11E00014 */ beqz $t7, .cheats_debug_2x_hunting_knife_en -/* 0C799C 7F092E2C 00000000 */ nop -/* 0C79A0 7F092E30 0FC2335A */ jal add_item_to_inventory -/* 0C79A4 7F092E34 24040019 */ li $a0, 25 -/* 0C79A8 7F092E38 0FC2335A */ jal add_item_to_inventory -/* 0C79AC 7F092E3C 24040011 */ li $a0, 17 -/* 0C79B0 7F092E40 24040011 */ li $a0, 17 -/* 0C79B4 7F092E44 0FC23381 */ jal add_doubles_item_to_inventory -/* 0C79B8 7F092E48 24050019 */ li $a1, 25 -/* 0C79BC 7F092E4C 0FC1A630 */ jal get_max_ammo_for_type -/* 0C79C0 7F092E50 24040006 */ li $a0, 6 -/* 0C79C4 7F092E54 24040006 */ li $a0, 6 -/* 0C79C8 7F092E58 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C79CC 7F092E5C 00402825 */ move $a1, $v0 -/* 0C79D0 7F092E60 0FC1A630 */ jal get_max_ammo_for_type -/* 0C79D4 7F092E64 24040003 */ li $a0, 3 -/* 0C79D8 7F092E68 24040003 */ li $a0, 3 -/* 0C79DC 7F092E6C 0FC1A5C7 */ jal give_cur_player_ammo -/* 0C79E0 7F092E70 00402825 */ move $a1, $v0 -/* 0C79E4 7F092E74 1000004D */ b .Ljp7F092FAC -/* 0C79E8 7F092E78 8FBF0014 */ lw $ra, 0x14($sp) -.cheats_debug_2x_hunting_knife_en: -/* 0C79EC 7F092E7C 0FC2335A */ jal add_item_to_inventory -/* 0C79F0 7F092E80 24040002 */ li $a0, 2 -/* 0C79F4 7F092E84 24040002 */ li $a0, 2 -/* 0C79F8 7F092E88 0FC23381 */ jal add_doubles_item_to_inventory -/* 0C79FC 7F092E8C 24050002 */ li $a1, 2 -/* 0C7A00 7F092E90 10000046 */ b .Ljp7F092FAC -/* 0C7A04 7F092E94 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_2x_laser: -/* 0C7A08 7F092E98 24010001 */ li $at, 1 -/* 0C7A0C 7F092E9C 54410043 */ bnel $v0, $at, .Ljp7F092FAC -/* 0C7A10 7F092EA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7A14 7F092EA4 0FC2335A */ jal add_item_to_inventory -/* 0C7A18 7F092EA8 24040016 */ li $a0, 22 -/* 0C7A1C 7F092EAC 24040016 */ li $a0, 22 -/* 0C7A20 7F092EB0 0FC23381 */ jal add_doubles_item_to_inventory -/* 0C7A24 7F092EB4 24050016 */ li $a1, 22 -/* 0C7A28 7F092EB8 1000003C */ b .Ljp7F092FAC -/* 0C7A2C 7F092EBC 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_unlockcheat: -/* 0C7A30 7F092EC0 3C048003 */ lui $a0, %hi(selected_folder_num) # $a0, 0x8003 -/* 0C7A34 7F092EC4 8C84A928 */ lw $a0, %lo(selected_folder_num)($a0) -/* 0C7A38 7F092EC8 24C5FFDD */ addiu $a1, $a2, -0x23 -/* 0C7A3C 7F092ECC 04800036 */ bltz $a0, .Ljp7F092FA8 -/* 0C7A40 7F092ED0 28810004 */ slti $at, $a0, 4 -/* 0C7A44 7F092ED4 50200035 */ beql $at, $zero, .Ljp7F092FAC -/* 0C7A48 7F092ED8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7A4C 7F092EDC 0FC07A44 */ jal sub_GAME_7F01E760 -/* 0C7A50 7F092EE0 00000000 */ nop -/* 0C7A54 7F092EE4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0C7A58 7F092EE8 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0C7A5C 7F092EEC 2405009F */ li $a1, 159 -/* 0C7A60 7F092EF0 0C002386 */ jal play_sfx_a1 -/* 0C7A64 7F092EF4 00003025 */ move $a2, $zero -/* 0C7A68 7F092EF8 1000002C */ b .Ljp7F092FAC -/* 0C7A6C 7F092EFC 8FBF0014 */ lw $ra, 0x14($sp) -cheats_debug_unlocklevel: -/* 0C7A70 7F092F00 3C028003 */ lui $v0, %hi(selected_folder_num) # $v0, 0x8003 -/* 0C7A74 7F092F04 2442A928 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x56d8 -/* 0C7A78 7F092F08 8C440000 */ lw $a0, ($v0) -/* 0C7A7C 7F092F0C 24C8FFC9 */ addiu $t0, $a2, -0x37 -/* 0C7A80 7F092F10 04800025 */ bltz $a0, .Ljp7F092FA8 -/* 0C7A84 7F092F14 28810004 */ slti $at, $a0, 4 -/* 0C7A88 7F092F18 10200023 */ beqz $at, .Ljp7F092FA8 -/* 0C7A8C 7F092F1C 00001825 */ move $v1, $zero -/* 0C7A90 7F092F20 19000014 */ blez $t0, .Ljp7F092F74 -/* 0C7A94 7F092F24 00002825 */ move $a1, $zero -.Ljp7F092F28: -/* 0C7A98 7F092F28 3C028003 */ lui $v0, %hi(selected_folder_num) # $v0, 0x8003 -/* 0C7A9C 7F092F2C 2442A928 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x56d8 -/* 0C7AA0 7F092F30 8C440000 */ lw $a0, ($v0) -/* 0C7AA4 7F092F34 00003025 */ move $a2, $zero -/* 0C7AA8 7F092F38 AFA30018 */ sw $v1, 0x18($sp) -/* 0C7AAC 7F092F3C AFA5001C */ sw $a1, 0x1c($sp) -/* 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) -/* 0C7AC0 7F092F50 8FA5001C */ lw $a1, 0x1c($sp) -/* 0C7AC4 7F092F54 14410002 */ bne $v0, $at, .Ljp7F092F60 -/* 0C7AC8 7F092F58 8FA80020 */ lw $t0, 0x20($sp) -/* 0C7ACC 7F092F5C 24630001 */ addiu $v1, $v1, 1 -.Ljp7F092F60: -/* 0C7AD0 7F092F60 24A50001 */ addiu $a1, $a1, 1 -/* 0C7AD4 7F092F64 14A8FFF0 */ bne $a1, $t0, .Ljp7F092F28 -/* 0C7AD8 7F092F68 00000000 */ nop -/* 0C7ADC 7F092F6C 3C028003 */ lui $v0, %hi(selected_folder_num) # $v0, 0x8003 -/* 0C7AE0 7F092F70 2442A928 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x56d8 -.Ljp7F092F74: -/* 0C7AE4 7F092F74 24780001 */ addiu $t8, $v1, 1 -/* 0C7AE8 7F092F78 1518000B */ bne $t0, $t8, .Ljp7F092FA8 -/* 0C7AEC 7F092F7C 2505FFFF */ addiu $a1, $t0, -1 -/* 0C7AF0 7F092F80 3C0705F5 */ lui $a3, (0x05F5E0FF >> 16) # lui $a3, 0x5f5 -/* 0C7AF4 7F092F84 34E7E0FF */ ori $a3, (0x05F5E0FF & 0xFFFF) # ori $a3, $a3, 0xe0ff -/* 0C7AF8 7F092F88 8C440000 */ lw $a0, ($v0) -/* 0C7AFC 7F092F8C 0FC079EA */ jal unlock_stage_in_folder_on_difficulty -/* 0C7B00 7F092F90 00003025 */ move $a2, $zero -/* 0C7B04 7F092F94 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0C7B08 7F092F98 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0C7B0C 7F092F9C 2405009F */ li $a1, 159 -/* 0C7B10 7F092FA0 0C002386 */ jal play_sfx_a1 -/* 0C7B14 7F092FA4 00003025 */ move $a2, $zero -cheats_debug_return_saved_ra: -.Ljp7F092FA8: -/* 0C7B18 7F092FA8 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F092FAC: -/* 0C7B1C 7F092FAC 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0C7B20 7F092FB0 03E00008 */ jr $ra -/* 0C7B24 7F092FB4 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void cheatDisplayMessageActivateCheat(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*D:800573DC*/ -glabel jpt_800573DC -.word cheat_button_default -.word cheat_button_invincibility -.word cheat_button_all_guns -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_line_mode -.word cheat_button_default -.word cheat_button_default -.word cheat_button_unknown -.word cheat_button_infinite_ammo -.word cheat_button_dkmode -.word cheat_button_default -.word cheat_button_unknown_0 -.word cheat_button_paintball -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_mp_invis -.word cheat_button_default -.word cheat_button_fast_mode -.word cheat_button_debug_mode -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ - -.text -glabel cheatDisplayMessageActivateCheat -/* 0C6F68 7F092438 00047100 */ sll $t6, $a0, 4 -/* 0C6F6C 7F09243C 3C0F8004 */ lui $t7, %hi(D_8003F808) -/* 0C6F70 7F092440 01EE7821 */ addu $t7, $t7, $t6 -/* 0C6F74 7F092444 8DEFF808 */ lw $t7, %lo(D_8003F808)($t7) -/* 0C6F78 7F092448 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C6F7C 7F09244C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C6F80 7F092450 AFA40020 */ sw $a0, 0x20($sp) -/* 0C6F84 7F092454 0FC26C54 */ jal get_cur_playernum -/* 0C6F88 7F092458 AFAF001C */ sw $t7, 0x1c($sp) -/* 0C6F8C 7F09245C 0FC26919 */ jal get_num_players -/* 0C6F90 7F092460 AFA20018 */ sw $v0, 0x18($sp) -/* 0C6F94 7F092464 8FA3001C */ lw $v1, 0x1c($sp) -/* 0C6F98 7F092468 8FA40020 */ lw $a0, 0x20($sp) -/* 0C6F9C 7F09246C 30780010 */ andi $t8, $v1, 0x10 -/* 0C6FA0 7F092470 17000010 */ bnez $t8, .L7F0924B4 -/* 0C6FA4 7F092474 30790020 */ andi $t9, $v1, 0x20 -/* 0C6FA8 7F092478 1720000B */ bnez $t9, .L7F0924A8 -/* 0C6FAC 7F09247C 3C088008 */ lui $t0, %hi(off_CODE_bss_80079E30) -/* 0C6FB0 7F092480 8FAA0018 */ lw $t2, 0x18($sp) -/* 0C6FB4 7F092484 25089E30 */ addiu $t0, %lo(off_CODE_bss_80079E30) # addiu $t0, $t0, -0x61d0 -/* 0C6FB8 7F092488 00881821 */ addu $v1, $a0, $t0 -/* 0C6FBC 7F09248C 90690000 */ lbu $t1, ($v1) -/* 0C6FC0 7F092490 240B0001 */ li $t3, 1 -/* 0C6FC4 7F092494 014B6004 */ sllv $t4, $t3, $t2 -/* 0C6FC8 7F092498 01806827 */ not $t5, $t4 -/* 0C6FCC 7F09249C 012D7024 */ and $t6, $t1, $t5 -/* 0C6FD0 7F0924A0 10000004 */ b .L7F0924B4 -/* 0C6FD4 7F0924A4 A06E0000 */ sb $t6, ($v1) -.L7F0924A8: -/* 0C6FD8 7F0924A8 3C018008 */ lui $at, %hi(off_CODE_bss_80079E30) -/* 0C6FDC 7F0924AC 00240821 */ addu $at, $at, $a0 -/* 0C6FE0 7F0924B0 A0209E30 */ sb $zero, %lo(off_CODE_bss_80079E30)($at) -.L7F0924B4: -/* 0C6FE4 7F0924B4 248FFFFF */ addiu $t7, $a0, -1 -/* 0C6FE8 7F0924B8 2DE1004A */ sltiu $at, $t7, 0x4a -/* 0C6FEC 7F0924BC 1020007C */ beqz $at, .L7F0926B0 -/* 0C6FF0 7F0924C0 000F7880 */ sll $t7, $t7, 2 -/* 0C6FF4 7F0924C4 3C018005 */ lui $at, %hi(jpt_800573DC) -/* 0C6FF8 7F0924C8 002F0821 */ addu $at, $at, $t7 -/* 0C6FFC 7F0924CC 8C2F73DC */ lw $t7, %lo(jpt_800573DC)($at) -/* 0C7000 7F0924D0 01E00008 */ jr $t7 -/* 0C7004 7F0924D4 00000000 */ nop -cheat_button_invincibility: -/* 0C7008 7F0924D8 0FC227D6 */ jal get_bondata_invincible_flag -/* 0C700C 7F0924DC 00000000 */ nop -/* 0C7010 7F0924E0 50400074 */ beql $v0, $zero, .L7F0926B4 -/* 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 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 -/* 0C7030 7F092500 1000006C */ b .L7F0926B4 -/* 0C7034 7F092504 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_all_guns: -/* 0C7038 7F092508 0FC230AB */ jal get_BONDdata_allguns_flag -/* 0C703C 7F09250C 00000000 */ nop -/* 0C7040 7F092510 50400068 */ beql $v0, $zero, .L7F0926B4 -/* 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 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 -/* 0C7060 7F092530 10000060 */ b .L7F0926B4 -/* 0C7064 7F092534 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_line_mode: -/* 0C7068 7F092538 0FC243FA */ jal set_debug_VisCVG_flag -/* 0C706C 7F09253C 00002025 */ move $a0, $zero -/* 0C7070 7F092540 1000005C */ b .L7F0926B4 -/* 0C7074 7F092544 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_unknown: -/* 0C7078 7F092548 0FC227DD */ jal get_invisible_to_guards_flag -/* 0C707C 7F09254C 00000000 */ nop -/* 0C7080 7F092550 54400058 */ bnezl $v0, .L7F0926B4 -/* 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 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 -/* 0C70A0 7F092570 10000050 */ b .L7F0926B4 -/* 0C70A4 7F092574 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_infinite_ammo: -/* 0C70A8 7F092578 0FC30776 */ jal get_textptr_for_textID -/* 0C70AC 7F09257C 3404B022 */ li $a0, 45090 -/* 0C70B0 7F092580 0FC228F2 */ jal 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 display_string_in_lower_left_corner -/* 0C70CC 7F09259C 00402025 */ move $a0, $v0 -/* 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(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) -/* 0C70FC 7F0925CC 46062032 */ c.eq.s $f4, $f6 -/* 0C7100 7F0925D0 00000000 */ nop -/* 0C7104 7F0925D4 45030037 */ bc1tl .L7F0926B4 -/* 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 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(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) -/* 0C7134 7F092604 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0C7138 7F092608 8D0400D4 */ lw $a0, 0xd4($t0) -/* 0C713C 7F09260C 50800029 */ beql $a0, $zero, .L7F0926B4 -/* 0C7140 7F092610 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7144 7F092614 C4800014 */ lwc1 $f0, 0x14($a0) -/* 0C7148 7F092618 46000280 */ add.s $f10, $f0, $f0 -/* 0C714C 7F09261C 44055000 */ mfc1 $a1, $f10 -/* 0C7150 7F092620 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0C7154 7F092624 00000000 */ nop -/* 0C7158 7F092628 10000022 */ b .L7F0926B4 -/* 0C715C 7F09262C 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_paintball: -/* 0C7160 7F092630 0FC30776 */ jal get_textptr_for_textID -/* 0C7164 7F092634 3404B025 */ li $a0, 45093 -/* 0C7168 7F092638 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0C716C 7F09263C 00402025 */ move $a0, $v0 -/* 0C7170 7F092640 1000001C */ b .L7F0926B4 -/* 0C7174 7F092644 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_mp_invis: -/* 0C7178 7F092648 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0C717C 7F09264C 44816000 */ mtc1 $at, $f12 -/* 0C7180 7F092650 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7184 7F092654 44817000 */ mtc1 $at, $f14 -/* 0C7188 7F092658 0FC20284 */ jal set_curplayer_fade -/* 0C718C 7F09265C 00000000 */ nop -/* 0C7190 7F092660 10000014 */ b .L7F0926B4 -/* 0C7194 7F092664 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_fast_mode: -/* 0C7198 7F092668 0FC24406 */ jal get_debug_fast_bond_flag -/* 0C719C 7F09266C 00000000 */ nop -/* 0C71A0 7F092670 50400010 */ beql $v0, $zero, .L7F0926B4 -/* 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 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 -/* 0C71C0 7F092690 10000008 */ b .L7F0926B4 -/* 0C71C4 7F092694 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_debug_mode: -/* 0C71C8 7F092698 0FC243E2 */ jal get_debug_testingmanpos_flag -/* 0C71CC 7F09269C 00000000 */ nop -/* 0C71D0 7F0926A0 50400004 */ beql $v0, $zero, .L7F0926B4 -/* 0C71D4 7F0926A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C71D8 7F0926A8 0FC243E5 */ jal set_debug_testingmanpos_flag -/* 0C71DC 7F0926AC 00002025 */ move $a0, $zero -cheat_button_default: -.L7F0926B0: -/* 0C71E0 7F0926B0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0926B4: -/* 0C71E4 7F0926B4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C71E8 7F0926B8 03E00008 */ jr $ra -/* 0C71EC 7F0926BC 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -/*D:800573DC*/ -glabel jpt_800573DC -.word cheat_button_default -.word cheat_button_invincibility -.word cheat_button_all_guns -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_line_mode -.word cheat_button_default -.word cheat_button_default -.word cheat_button_unknown -.word cheat_button_infinite_ammo -.word cheat_button_dkmode -.word cheat_button_default -.word cheat_button_unknown_0 -.word cheat_button_paintball -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_mp_invis -.word cheat_button_default -.word cheat_button_fast_mode -.word cheat_button_debug_mode -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ - -.text -glabel cheatDisplayMessageActivateCheat -/* 0C6F68 7F092438 00047100 */ sll $t6, $a0, 4 -/* 0C6F6C 7F09243C 3C0F8004 */ lui $t7, %hi(D_8003F808) -/* 0C6F70 7F092440 01EE7821 */ addu $t7, $t7, $t6 -/* 0C6F74 7F092444 8DEFF808 */ lw $t7, %lo(D_8003F808)($t7) -/* 0C6F78 7F092448 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C6F7C 7F09244C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C6F80 7F092450 AFA40020 */ sw $a0, 0x20($sp) -/* 0C6F84 7F092454 0FC26C54 */ jal get_cur_playernum -/* 0C6F88 7F092458 AFAF001C */ sw $t7, 0x1c($sp) -/* 0C6F8C 7F09245C 0FC26919 */ jal get_num_players -/* 0C6F90 7F092460 AFA20018 */ sw $v0, 0x18($sp) -/* 0C6F94 7F092464 8FA3001C */ lw $v1, 0x1c($sp) -/* 0C6F98 7F092468 8FA40020 */ lw $a0, 0x20($sp) -/* 0C6F9C 7F09246C 30780010 */ andi $t8, $v1, 0x10 -/* 0C6FA0 7F092470 17000010 */ bnez $t8, .L7F0924B4 -/* 0C6FA4 7F092474 30790020 */ andi $t9, $v1, 0x20 -/* 0C6FA8 7F092478 1720000B */ bnez $t9, .L7F0924A8 -/* 0C6FAC 7F09247C 3C088008 */ lui $t0, %hi(off_CODE_bss_80079E30) -/* 0C6FB0 7F092480 8FAA0018 */ lw $t2, 0x18($sp) -/* 0C6FB4 7F092484 25089E30 */ addiu $t0, %lo(off_CODE_bss_80079E30) # addiu $t0, $t0, -0x61d0 -/* 0C6FB8 7F092488 00881821 */ addu $v1, $a0, $t0 -/* 0C6FBC 7F09248C 90690000 */ lbu $t1, ($v1) -/* 0C6FC0 7F092490 240B0001 */ li $t3, 1 -/* 0C6FC4 7F092494 014B6004 */ sllv $t4, $t3, $t2 -/* 0C6FC8 7F092498 01806827 */ not $t5, $t4 -/* 0C6FCC 7F09249C 012D7024 */ and $t6, $t1, $t5 -/* 0C6FD0 7F0924A0 10000004 */ b .L7F0924B4 -/* 0C6FD4 7F0924A4 A06E0000 */ sb $t6, ($v1) -.L7F0924A8: -/* 0C6FD8 7F0924A8 3C018008 */ lui $at, %hi(off_CODE_bss_80079E30) -/* 0C6FDC 7F0924AC 00240821 */ addu $at, $at, $a0 -/* 0C6FE0 7F0924B0 A0209E30 */ sb $zero, %lo(off_CODE_bss_80079E30)($at) -.L7F0924B4: -/* 0C6FE4 7F0924B4 248FFFFF */ addiu $t7, $a0, -1 -/* 0C6FE8 7F0924B8 2DE1004A */ sltiu $at, $t7, 0x4a -/* 0C6FEC 7F0924BC 1020007C */ beqz $at, .L7F0926B0 -/* 0C6FF0 7F0924C0 000F7880 */ sll $t7, $t7, 2 -/* 0C6FF4 7F0924C4 3C018005 */ lui $at, %hi(jpt_800573DC) -/* 0C6FF8 7F0924C8 002F0821 */ addu $at, $at, $t7 -/* 0C6FFC 7F0924CC 8C2F73DC */ lw $t7, %lo(jpt_800573DC)($at) -/* 0C7000 7F0924D0 01E00008 */ jr $t7 -/* 0C7004 7F0924D4 00000000 */ nop -cheat_button_invincibility: -/* 0C7008 7F0924D8 0FC227D6 */ jal get_bondata_invincible_flag -/* 0C700C 7F0924DC 00000000 */ nop -/* 0C7010 7F0924E0 50400074 */ beql $v0, $zero, .L7F0926B4 -/* 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_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 -/* 0C7030 7F092500 1000006C */ b .L7F0926B4 -/* 0C7034 7F092504 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_all_guns: -/* 0C7038 7F092508 0FC230AB */ jal get_BONDdata_allguns_flag -/* 0C703C 7F09250C 00000000 */ nop -/* 0C7040 7F092510 50400068 */ beql $v0, $zero, .L7F0926B4 -/* 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_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 -/* 0C7060 7F092530 10000060 */ b .L7F0926B4 -/* 0C7064 7F092534 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_line_mode: -/* 0C7068 7F092538 0FC243FA */ jal set_debug_VisCVG_flag -/* 0C706C 7F09253C 00002025 */ move $a0, $zero -/* 0C7070 7F092540 1000005C */ b .L7F0926B4 -/* 0C7074 7F092544 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_unknown: -/* 0C7078 7F092548 0FC227DD */ jal get_invisible_to_guards_flag -/* 0C707C 7F09254C 00000000 */ nop -/* 0C7080 7F092550 54400058 */ bnezl $v0, .L7F0926B4 -/* 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_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 -/* 0C70A0 7F092570 10000050 */ b .L7F0926B4 -/* 0C70A4 7F092574 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_infinite_ammo: -/* 0C70A8 7F092578 0FC30776 */ jal get_textptr_for_textID -/* 0C70AC 7F09257C 3404B022 */ li $a0, 45090 -/* 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_display_string_in_lower_left_corner -/* 0C70CC 7F09259C 00402025 */ move $a0, $v0 -/* 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(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) -/* 0C70FC 7F0925CC 46062032 */ c.eq.s $f4, $f6 -/* 0C7100 7F0925D0 00000000 */ nop -/* 0C7104 7F0925D4 45030037 */ bc1tl .L7F0926B4 -/* 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_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(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) -/* 0C7134 7F092604 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0C7138 7F092608 8D0400D4 */ lw $a0, 0xd4($t0) -/* 0C713C 7F09260C 50800029 */ beql $a0, $zero, .L7F0926B4 -/* 0C7140 7F092610 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7144 7F092614 C4800014 */ lwc1 $f0, 0x14($a0) -/* 0C7148 7F092618 46000280 */ add.s $f10, $f0, $f0 -/* 0C714C 7F09261C 44055000 */ mfc1 $a1, $f10 -/* 0C7150 7F092620 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0C7154 7F092624 00000000 */ nop -/* 0C7158 7F092628 10000022 */ b .L7F0926B4 -/* 0C715C 7F09262C 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_paintball: -/* 0C7160 7F092630 0FC30776 */ jal get_textptr_for_textID -/* 0C7164 7F092634 3404B025 */ li $a0, 45093 -/* 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) -cheat_button_mp_invis: -/* 0C7178 7F092648 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0C717C 7F09264C 44816000 */ mtc1 $at, $f12 -/* 0C7180 7F092650 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7184 7F092654 44817000 */ mtc1 $at, $f14 -/* 0C7188 7F092658 0FC20284 */ jal set_curplayer_fade -/* 0C718C 7F09265C 00000000 */ nop -/* 0C7190 7F092660 10000014 */ b .L7F0926B4 -/* 0C7194 7F092664 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_fast_mode: -/* 0C7198 7F092668 0FC24406 */ jal get_debug_fast_bond_flag -/* 0C719C 7F09266C 00000000 */ nop -/* 0C71A0 7F092670 50400010 */ beql $v0, $zero, .L7F0926B4 -/* 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_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 -/* 0C71C0 7F092690 10000008 */ b .L7F0926B4 -/* 0C71C4 7F092694 8FBF0014 */ lw $ra, 0x14($sp) -cheat_button_debug_mode: -/* 0C71C8 7F092698 0FC243E2 */ jal get_debug_testingmanpos_flag -/* 0C71CC 7F09269C 00000000 */ nop -/* 0C71D0 7F0926A0 50400004 */ beql $v0, $zero, .L7F0926B4 -/* 0C71D4 7F0926A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C71D8 7F0926A8 0FC243E5 */ jal set_debug_testingmanpos_flag -/* 0C71DC 7F0926AC 00002025 */ move $a0, $zero -cheat_button_default: -.L7F0926B0: -/* 0C71E0 7F0926B0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0926B4: -/* 0C71E4 7F0926B4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C71E8 7F0926B8 03E00008 */ jr $ra -/* 0C71EC 7F0926BC 00000000 */ nop -) -#endif -#endif - - - - - -#ifdef NONMATCHING -void cheatDisableAllCheats(void) { - s32 sp30; - s32 temp_s4; - s32 temp_s0; - s32 temp_s3; - s32 phi_s3; - void *phi_s1; - s32 phi_s0; - - // Node 0 - temp_s4 = get_num_players(); - sp30 = get_cur_playernum(); - if (temp_s4 > 0) - { - // Node 1 - phi_s3 = 0; -loop_2: - // Node 2 - set_cur_player(phi_s3); - phi_s1 = &D_8003F80C+0x10; - phi_s0 = 1; -loop_3: - // Node 3 - if ((phi_s1->unk-4 & 0x40) != 0) - { - // Node 4 - if (cheatCheckIfOn(phi_s0) != 0) - { - // Node 5 - cheatDisplayMessageActivateCheat(phi_s0); - } - } - // Node 6 - temp_s0 = (phi_s0 + 1); - phi_s1 = (phi_s1 + 0x10); - phi_s0 = temp_s0; - if (temp_s0 != 0x4b) - { - goto loop_3; - } - // Node 7 - temp_s3 = (phi_s3 + 1); - phi_s3 = temp_s3; - if (temp_s3 != temp_s4) - { - goto loop_2; - } - } - // Node 8 - return set_cur_player(sp30); -} -#else -GLOBAL_ASM( -.late_rodata -/*hack for jtbl*/ -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -.text -glabel cheatDisableAllCheats -/* 0C71F0 7F0926C0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C71F4 7F0926C4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C71F8 7F0926C8 AFB40028 */ sw $s4, 0x28($sp) -/* 0C71FC 7F0926CC AFB30024 */ sw $s3, 0x24($sp) -/* 0C7200 7F0926D0 AFB20020 */ sw $s2, 0x20($sp) -/* 0C7204 7F0926D4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0C7208 7F0926D8 0FC26919 */ jal get_num_players -/* 0C720C 7F0926DC AFB00018 */ sw $s0, 0x18($sp) -/* 0C7210 7F0926E0 0FC26C54 */ jal get_cur_playernum -/* 0C7214 7F0926E4 0040A025 */ move $s4, $v0 -/* 0C7218 7F0926E8 AFA20030 */ sw $v0, 0x30($sp) -/* 0C721C 7F0926EC 1A800017 */ blez $s4, .L7F09274C -/* 0C7220 7F0926F0 00009825 */ move $s3, $zero -/* 0C7224 7F0926F4 2412004B */ li $s2, 75 -.L7F0926F8: -/* 0C7228 7F0926F8 0FC26C43 */ jal set_cur_player -/* 0C722C 7F0926FC 02602025 */ move $a0, $s3 -/* 0C7230 7F092700 3C118004 */ lui $s1, %hi(D_8003F80C+0x10) -/* 0C7234 7F092704 2631F81C */ addiu $s1, %lo(D_8003F80C+0x10) # addiu $s1, $s1, -0x7e4 -/* 0C7238 7F092708 24100001 */ li $s0, 1 -.L7F09270C: -/* 0C723C 7F09270C 8E2EFFFC */ lw $t6, -4($s1) -/* 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 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 cheatDisplayMessageActivateCheat -/* 0C7260 7F092730 02002025 */ move $a0, $s0 -/* 0C7264 7F092734 26100001 */ addiu $s0, $s0, 1 -.L7F092738: -/* 0C7268 7F092738 1612FFF4 */ bne $s0, $s2, .L7F09270C -/* 0C726C 7F09273C 26310010 */ addiu $s1, $s1, 0x10 -/* 0C7270 7F092740 26730001 */ addiu $s3, $s3, 1 -/* 0C7274 7F092744 1674FFEC */ bne $s3, $s4, .L7F0926F8 -/* 0C7278 7F092748 00000000 */ nop -.L7F09274C: -/* 0C727C 7F09274C 0FC26C43 */ jal set_cur_player -/* 0C7280 7F092750 8FA40030 */ lw $a0, 0x30($sp) -/* 0C7284 7F092754 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C7288 7F092758 8FB00018 */ lw $s0, 0x18($sp) -/* 0C728C 7F09275C 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C7290 7F092760 8FB20020 */ lw $s2, 0x20($sp) -/* 0C7294 7F092764 8FB30024 */ lw $s3, 0x24($sp) -/* 0C7298 7F092768 8FB40028 */ lw $s4, 0x28($sp) -/* 0C729C 7F09276C 03E00008 */ jr $ra -/* 0C72A0 7F092770 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void cheatGetMenuTextPointer(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*hack for jtbl*/ -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -/*.word cheat_button_default*/ -.text -glabel cheatGetMenuTextPointer -/* 0C72A4 7F092774 00047100 */ sll $t6, $a0, 4 -/* 0C72A8 7F092778 3C028004 */ lui $v0, %hi(D_8003F804) -/* 0C72AC 7F09277C 004E1021 */ addu $v0, $v0, $t6 -/* 0C72B0 7F092780 9442F804 */ lhu $v0, %lo(D_8003F804)($v0) -/* 0C72B4 7F092784 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C72B8 7F092788 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C72BC 7F09278C 10400005 */ beqz $v0, .L7F0927A4 -/* 0C72C0 7F092790 00000000 */ nop -/* 0C72C4 7F092794 0FC30776 */ jal get_textptr_for_textID -/* 0C72C8 7F092798 00402025 */ move $a0, $v0 -/* 0C72CC 7F09279C 10000004 */ b .L7F0927B0 -/* 0C72D0 7F0927A0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0927A4: -/* 0C72D4 7F0927A4 0FC30776 */ jal get_textptr_for_textID -/* 0C72D8 7F0927A8 3404B028 */ li $a0, 45096 -/* 0C72DC 7F0927AC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0927B0: -/* 0C72E0 7F0927B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C72E4 7F0927B4 03E00008 */ jr $ra -/* 0C72E8 7F0927B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void cheatCheckIfOn(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*ugh hack for jtbl*/ -.word cheat_button_default -.word cheat_button_default -.word cheat_button_default - -.text -glabel cheatCheckIfOn -/* 0C72EC 7F0927BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C72F0 7F0927C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C72F4 7F0927C4 0FC26C54 */ jal get_cur_playernum -/* 0C72F8 7F0927C8 AFA40018 */ sw $a0, 0x18($sp) -/* 0C72FC 7F0927CC 8FAE0018 */ lw $t6, 0x18($sp) -/* 0C7300 7F0927D0 3C0F8008 */ lui $t7, %hi(off_CODE_bss_80079E30) -/* 0C7304 7F0927D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7308 7F0927D8 01EE7821 */ addu $t7, $t7, $t6 -/* 0C730C 7F0927DC 91EF9E30 */ lbu $t7, %lo(off_CODE_bss_80079E30)($t7) -/* 0C7310 7F0927E0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C7314 7F0927E4 004F1007 */ srav $v0, $t7, $v0 -/* 0C7318 7F0927E8 30580001 */ andi $t8, $v0, 1 -/* 0C731C 7F0927EC 03E00008 */ jr $ra -/* 0C7320 7F0927F0 03001025 */ move $v0, $t8 -) -#endif - - - - - -#ifdef NONMATCHING -void set_DKMode(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80057504 -.word 0x3f4ccccd /*0.80000001*/ -.text -glabel set_DKMode -/* 0C7324 7F0927F4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C7328 7F0927F8 AFB10024 */ sw $s1, 0x24($sp) -/* 0C732C 7F0927FC AFBF002C */ sw $ra, 0x2c($sp) -/* 0C7330 7F092800 AFB00020 */ sw $s0, 0x20($sp) -/* 0C7334 7F092804 3C118003 */ lui $s1, %hi(ptr_guard_data) -/* 0C7338 7F092808 00808025 */ move $s0, $a0 -/* 0C733C 7F09280C AFB20028 */ sw $s2, 0x28($sp) -/* 0C7340 7F092810 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0C7344 7F092814 0FC07D4C */ jal get_numguards -/* 0C7348 7F092818 8E31CC64 */ lw $s1, %lo(ptr_guard_data)($s1) -/* 0C734C 7F09281C 12000004 */ beqz $s0, .L7F092830 -/* 0C7350 7F092820 00409025 */ move $s2, $v0 -/* 0C7354 7F092824 3C018005 */ lui $at, %hi(D_80057504) -/* 0C7358 7F092828 10000004 */ b .L7F09283C -/* 0C735C 7F09282C C4347504 */ lwc1 $f20, %lo(D_80057504)($at) -.L7F092830: -/* 0C7360 7F092830 3C013FA0 */ li $at, 0x3FA00000 # 1.250000 -/* 0C7364 7F092834 4481A000 */ mtc1 $at, $f20 -/* 0C7368 7F092838 00000000 */ nop -.L7F09283C: -/* 0C736C 7F09283C 1840000C */ blez $v0, .L7F092870 -/* 0C7370 7F092840 00008025 */ move $s0, $zero -.L7F092844: -/* 0C7374 7F092844 8E24001C */ lw $a0, 0x1c($s1) -/* 0C7378 7F092848 50800007 */ beql $a0, $zero, .L7F092868 -/* 0C737C 7F09284C 26100001 */ addiu $s0, $s0, 1 -/* 0C7380 7F092850 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0C7384 7F092854 46142182 */ mul.s $f6, $f4, $f20 -/* 0C7388 7F092858 44053000 */ mfc1 $a1, $f6 -/* 0C738C 7F09285C 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0C7390 7F092860 00000000 */ nop -/* 0C7394 7F092864 26100001 */ addiu $s0, $s0, 1 -.L7F092868: -/* 0C7398 7F092868 1612FFF6 */ bne $s0, $s2, .L7F092844 -/* 0C739C 7F09286C 263101DC */ addiu $s1, $s1, 0x1dc -.L7F092870: -/* 0C73A0 7F092870 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C73A4 7F092874 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0C73A8 7F092878 8FB00020 */ lw $s0, 0x20($sp) -/* 0C73AC 7F09287C 8FB10024 */ lw $s1, 0x24($sp) -/* 0C73B0 7F092880 8FB20028 */ lw $s2, 0x28($sp) -/* 0C73B4 7F092884 03E00008 */ jr $ra -/* 0C73B8 7F092888 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80057504 -.word 0x3f4ccccd /*0.80000001*/ -.text -glabel set_DKMode -/* 0C7EE4 7F093374 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C7EE8 7F093378 AFB00020 */ sw $s0, 0x20($sp) -/* 0C7EEC 7F09337C AFBF002C */ sw $ra, 0x2c($sp) -/* 0C7EF0 7F093380 AFB10024 */ sw $s1, 0x24($sp) -/* 0C7EF4 7F093384 3C108003 */ lui $s0, %hi(ptr_guard_data) # $s0, 0x8003 -/* 0C7EF8 7F093388 00808825 */ move $s1, $a0 -/* 0C7EFC 7F09338C AFB20028 */ sw $s2, 0x28($sp) -/* 0C7F00 7F093390 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0C7F04 7F093394 0FC07DB8 */ jal get_numguards -/* 0C7F08 7F093398 8E10CCA4 */ lw $s0, %lo(ptr_guard_data)($s0) -/* 0C7F0C 7F09339C 12200004 */ beqz $s1, .L7F0933B0 -/* 0C7F10 7F0933A0 00409025 */ move $s2, $v0 -/* 0C7F14 7F0933A4 3C018005 */ lui $at, %hi(D_80057504) # $at, 0x8005 -/* 0C7F18 7F0933A8 10000004 */ b .L7F0933BC -/* 0C7F1C 7F0933AC C4347534 */ lwc1 $f20, %lo(D_80057504)($at) -.L7F0933B0: -/* 0C7F20 7F0933B0 3C013FA0 */ li $at, 0x3FA00000 # 1.250000 -/* 0C7F24 7F0933B4 4481A000 */ mtc1 $at, $f20 -/* 0C7F28 7F0933B8 00000000 */ nop -.L7F0933BC: -/* 0C7F2C 7F0933BC 18400012 */ blez $v0, .L7F093408 -/* 0C7F30 7F0933C0 00008825 */ move $s1, $zero -.L7F0933C4: -/* 0C7F34 7F0933C4 8E0E001C */ lw $t6, 0x1c($s0) -/* 0C7F38 7F0933C8 51C0000D */ beql $t6, $zero, .L7F093400 -/* 0C7F3C 7F0933CC 26310001 */ addiu $s1, $s1, 1 -/* 0C7F40 7F0933D0 8204000F */ lb $a0, 0xf($s0) -/* 0C7F44 7F0933D4 0FC0827B */ jal jp_only_7F0209EC -/* 0C7F48 7F0933D8 82050006 */ lb $a1, 6($s0) -/* 0C7F4C 7F0933DC 50400008 */ beql $v0, $zero, .L7F093400 -/* 0C7F50 7F0933E0 26310001 */ addiu $s1, $s1, 1 -/* 0C7F54 7F0933E4 8E04001C */ lw $a0, 0x1c($s0) -/* 0C7F58 7F0933E8 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0C7F5C 7F0933EC 46142182 */ mul.s $f6, $f4, $f20 -/* 0C7F60 7F0933F0 44053000 */ mfc1 $a1, $f6 -/* 0C7F64 7F0933F4 0FC1B51A */ jal set_obj_instance_controller_scale -/* 0C7F68 7F0933F8 00000000 */ nop -/* 0C7F6C 7F0933FC 26310001 */ addiu $s1, $s1, 1 -.L7F093400: -/* 0C7F70 7F093400 1632FFF0 */ bne $s1, $s2, .L7F0933C4 -/* 0C7F74 7F093404 261001DC */ addiu $s0, $s0, 0x1dc -.L7F093408: -/* 0C7F78 7F093408 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C7F7C 7F09340C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0C7F80 7F093410 8FB00020 */ lw $s0, 0x20($sp) -/* 0C7F84 7F093414 8FB10024 */ lw $s1, 0x24($sp) -/* 0C7F88 7F093418 8FB20028 */ lw $s2, 0x28($sp) -/* 0C7F8C 7F09341C 03E00008 */ jr $ra -/* 0C7F90 7F093420 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - -#endif - diff --git a/src/game/cheat_buttons.h b/src/game/cheat_buttons.h deleted file mode 100644 index 5e2b66a..0000000 --- a/src/game/cheat_buttons.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _CHEAT_BUTTONS_H_ -#define _CHEAT_BUTTONS_H_ -#include "ultra64.h" - -struct struct_15 { - char anonymous_0; - char field_1; - char field_2; - char field_3; - void * anonymous_1; - int anonymous_2; - int anonymous_3; -}; - -#endif diff --git a/src/game/chr.c b/src/game/chr.c deleted file mode 100644 index c5edaa5..0000000 --- a/src/game/chr.c +++ /dev/null @@ -1,7566 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" -#include "game/chr.h" - -// data -f32 animation_rate = 0; -s32 D_8002C904 = 0; -s32 D_8002C908 = 0; -s32 D_8002C90C = 0; -s32 D_8002C910 = 0; - - -//D:8002C914 -struct animation_something D_8002C914 = {0,0,0,0,0,0,0,NULL,0,NULL,0}; -struct animation_something D_8002C940 = {1, 1, 0, 17.0, 3, 0, 34.0, D_8002CE54, 0, D_8002DF10, 0}; -struct animation_something D_8002C96C = {2, 1, 0, 17.0, 3, 0, 39.0, D_8002CEE0, 0, D_8002DF64, 0}; -struct animation_something D_8002C998 = {3, 1, 0, 21.0, 3, 0, 43.0, D_8002CF6C, 0, D_8002DFB8, 0}; -struct animation_something D_8002C9C4 = {4, 1, 0, 17.0, 3, 0, 34.0, D_8002D014, 0, D_8002E028, 0}; -struct animation_something D_8002C9F0 = {5, 1, 0, 17.0, 3, 0, 39.0, D_8002D0A0, 0, D_8002E07C, 0}; -struct animation_something D_8002CA1C = {6, 1, 0, 21.0, 3, 0, 43.0, D_8002D12C, 0, D_8002E0D0, 0}; -struct animation_something D_8002CA48 = {7, 1, 0, 21.0, 3, 0, 52.0, D_8002D1D4, 0, D_8002E140, 0}; -struct animation_something D_8002CA74 = {8, 1, 0, 21.0, 3, 0, 43.0, D_8002D3B0, 0, D_8002E23C, 0}; -struct animation_something D_8002CAA0 = {9, 1, 0, 17.0, 3, 0, 34.0, D_8002D6DC, 0, D_8002E300, 0}; -struct animation_something D_8002CACC = {0xA, 1, 0, 17.0, 3, 0, 43.0, D_8002D768, 0, D_8002E354, 0}; -struct animation_something D_8002CAF8 = {0xB, 1, 0, 21.0, 3, 0, 52.0, D_8002D7F4, 0, D_8002E3A8, 0}; -struct animation_something D_8002CB24 = {0xC, 1, 0, 17.0, 3, 0, 34.0, D_8002D880, 0, D_8002E418, 0}; -struct animation_something D_8002CB50 = {0xD, 1, 0, 17.0, 3, 0, 43.0, D_8002D90C, 0, D_8002E46C, 0}; -struct animation_something D_8002CB7C = {0xE, 1, 0, 21.0, 3, 0, 52.0, D_8002D998, 0, D_8002E4C0, 0}; -struct animation_something D_8002CBA8 = {0xF, 1, 0, 26.0, 3, 0, 60.0, D_8002DA24, 0, D_8002E530, 0}; -struct animation_something D_8002CBD4 = {0x64, 1, 0, 26.0, 0, 0, 0.0, D_8002DCE0, 0, D_8002E5BC, 0}; -struct animation_something D_8002CC00 = {0x6E, 1, 0, 21.0, 0, 0, 0.0, NULL, 0, NULL, 0}; -struct animation_something D_8002CC2C = {0xFFFFFFFF, 0, 0, 0.0, 0, 0, 0.0, NULL, 0, NULL, 0}; - - - -s32 D_8002CC58 = 0; -s32 show_patrols_flag = FALSE; -s32 player1_guardID = 0x1388; -s32 ptr_guard_data = 0; -s32 num_guards = 0; -s32 D_8002CC6C[] = {0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -s32 D_8002CCA8 = 0; -s32 D_8002CCAC = 0; -s32 D_8002CCB0 = 0; -s32 D_8002CCB4 = 0; -u8 D_8002CCB8 = 0x5A; - -u32 D_8002CCBC = 0; -u32 D_8002CCC0[] = {1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -s32 D_8002CCF8 = 0; -s32 D_8002CCFC = 0; -s32 num_bodies = 0; -s32 num_male_heads = 0; -s32 num_female_heads = 0; - -s32 list_of_bodies[] = { - BODY_Jungle_Commando,BODY_St_Petersburg_Guard,BODY_Russian_Soldier,BODY_Russian_Infantry, - BODY_Janus_Special_Forces,BODY_Tuxedo,BODY_Boris,BODY_Ourumov, - BODY_Trevelyan_Janus,BODY_Valentin_,BODY_Xenia,BODY_Baron_Samedi, - BODY_Jaws,BODY_Mayday,BODY_Oddjob,BODY_Natalya_Skirt, - BODY_Janus_Marine,BODY_Russian_Commandant,BODY_Siberian_Guard_1_Mishkin,BODY_Naval_Officer, - BODY_Siberian_Special_Forces,BODY_Special_Operations_Uniform,BODY_Formal_Wear,BODY_Jungle_Fatigues, - BODY_Unused_Female,BODY_Rosika,BODY_Scientist_2_Female,BODY_Civilian_1_Female, - BODY_Unused_Male_1,BODY_Unused_Male_2,BODY_Civilian_4,BODY_Civilian_2, - BODY_Civilian_3,BODY_Scientist_1_Male,BODY_Tuxedo,BODY_Tuxedo, - BODY_Tuxedo,BODY_Helicopter_Pilot,BODY_Siberian_Guard_2,BODY_Arctic_Commando, - BODY_Moonraker_Elite_1_Male,BODY_Moonraker_Elite_2_Female,-1, -}; - -s32 random_male_heads[] = { - HEAD_Male_Jim,HEAD_Male_Chris,HEAD_Male_Lee,HEAD_Male_Graeme,HEAD_Male_Steve_H, - HEAD_Male_Neil,HEAD_Male_Robin,HEAD_Male_Des,HEAD_Male_Grant,HEAD_Male_Dave_Dr_Doak, - HEAD_Male_Karl,HEAD_Male_Alan,HEAD_Male_Pete,HEAD_Male_Martin,HEAD_Male_Mark, - HEAD_Male_Duncan,HEAD_Male_Shaun,HEAD_Male_Dwayne,HEAD_Male_B,HEAD_Male_Steve_Ellis, - HEAD_Male_Joel,HEAD_Male_Scott,HEAD_Male_Joe_Altered,HEAD_Male_Ken,HEAD_Male_Joe, - -1 -}; - -s32 random_female_heads[] = { - HEAD_Female_Sally,HEAD_Female_Marion_Rosika,HEAD_Female_Mandy,HEAD_Female_Vivien, -1 -}; - -s32 current_random_body = 0; -s32 current_random_male_head = 0; -s32 current_random_female_head = 0; -f32 ai_accuracy_modifier = 1.0f; -f32 ai_damage_modifier = 1.0f; -f32 ai_health_modifier = 1.0f; -f32 ai_reaction_speed = 1.0f; -f32 setting_007_5 = 0.0f; - -struct struck_animation_table D_8002CE54[] = { - {0x35C8, 0, -1.0, 0.5, 0, 27.0, -1.0}, - {0x36D8, 0, -1.0, 0.5, 0, 26.0, -1.0}, - {0x33AC, 1, -1.0, 0.5, 0, 25.0, -1.0}, - {0x34D4, 1, -1.0, 0.5, 0, 23.0, -1.0}, - {0, 0, 0.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002CEE0[] = { - {0x35C8, 0, -1.0, 0.5, 0, 27.0, -1.0}, - {0x36D8, 0, -1.0, 0.5, 0, 26.0, -1.0}, - {0x33AC, 1, -1.0, 0.5, 0, 25.0, -1.0}, - {0x34D4, 1, -1.0, 0.5, 0, 23.0, -1.0}, - {0, 0, 0.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002CF6C[] = { - {0x35C8, 0, -1.0, 0.5, 1, 27.0, -1.0}, - {0x36D8, 0, -1.0, 0.5, 1, 26.0, -1.0}, - {0x33AC, 1, -1.0, 0.5, 1, 25.0, -1.0}, - {0x34D4, 1, -1.0, 0.5, 1, 23.0, -1.0}, - {0x540C, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, 0.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D014[] = { - {0x33AC, 0, -1.0, 0.5, 0, 25.0, -1.0}, - {0x34D4, 0, -1.0, 0.5, 0, 23.0, -1.0}, - {0x35C8, 1, -1.0, 0.5, 0, 27.0, -1.0}, - {0x36D8, 1, -1.0, 0.5, 0, 26.0, -1.0}, - {0, 0, 0.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D0A0[] = { - {0x33AC, 0, -1.0, 0.5, 0, 25.0, -1.0}, - {0x34D4, 0, -1.0, 0.5, 0, 23.0, -1.0}, - {0x35C8, 1, -1.0, 0.5, 0, 27.0, -1.0}, - {0x36D8, 1, -1.0, 0.5, 0, 26.0, -1.0}, - {0, 0, 0.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D12C[] = { - {0x33AC, 0, -1.0, 0.5, 1, 25.0, -1.0}, - {0x34D4, 0, -1.0, 0.5, 1, 23.0, -1.0}, - {0x35C8, 1, -1.0, 0.5, 1, 27.0, -1.0}, - {0x36D8, 1, -1.0, 0.5, 1, 26.0, -1.0}, - {0x540C, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, 0.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D1D4[] = { - {0x30B8, 0, -1.0, 0.5, 0, 55.0, 39.0}, - {0x30B8, 1, -1.0, 0.5, 0, 55.0, 39.0}, - {0x31DC, 0, -1.0, 0.5, 0, 36.0, -1.0}, - {0x31DC, 1, -1.0, 0.5, 0, 36.0, -1.0}, - {0x32C8, 0, -1.0, 0.5, 1, 29.0, -1.0}, - {0x32C8, 1, -1.0, 0.5, 1, 29.0, -1.0}, - {0x384C, 0, -1.0, 0.5, 0, 97.0, 64.0}, - {0x384C, 1, -1.0, 0.5, 0, 97.0, 64.0}, - {0x3AF0, 0, -1.0, 0.5, 0, 31.0, -1.0}, - {0x3AF0, 1, -1.0, 0.5, 0, 31.0, -1.0}, - {0x3C10, 0, -1.0, 0.5, 0, 36.0, -1.0}, - {0x3C10, 1, -1.0, 0.5, 0, 36.0, -1.0}, - {0x3D04, 0, -1.0, 0.5, 0, 28.0, -1.0}, - {0x3D04, 1, -1.0, 0.5, 0, 28.0, -1.0}, - {0x282C, 0, -1.0, 0.5, 0, 79.0, 415.0}, - {0x282C, 1, -1.0, 0.5, 0, 79.0, 415.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D3B0[] = { - {0x30B8, 0, -1.0, 0.5, 0, 55.0, 39.0}, - {0x30B8, 1, -1.0, 0.5, 0, 55.0, 39.0}, - {0x31DC, 0, -1.0, 0.5, 0, 36.0, -1.0}, - {0x31DC, 1, -1.0, 0.5, 0, 36.0, -1.0}, - {0x32C8, 0, -1.0, 0.5, 1, 29.0, -1.0}, - {0x32C8, 1, -1.0, 0.5, 1, 29.0, -1.0}, - {0x33AC, 0, -1.0, 0.5, 1, 25.0, -1.0}, - {0x33AC, 1, -1.0, 0.5, 1, 25.0, -1.0}, - {0x34D4, 0, -1.0, 0.5, 1, 23.0, -1.0}, - {0x34D4, 1, -1.0, 0.5, 1, 23.0, -1.0}, - {0x35C8, 0, -1.0, 0.5, 1, 27.0, -1.0}, - {0x35C8, 1, -1.0, 0.5, 1, 27.0, -1.0}, - {0x36D8, 0, -1.0, 0.5, 1, 26.0, -1.0}, - {0x36D8, 1, -1.0, 0.5, 1, 26.0, -1.0}, - {0x384C, 0, -1.0, 0.5, 0, 97.0, 64.0}, - {0x384C, 1, -1.0, 0.5, 0, 97.0, 64.0}, - {0x39C0, 0, -1.0, 0.5, 0, 94.0, 66.0}, - {0x39C0, 1, -1.0, 0.5, 0, 94.0, 66.0}, - {0x3AF0, 0, -1.0, 0.5, 0, 31.0, -1.0}, - {0x3AF0, 1, -1.0, 0.5, 0, 31.0, -1.0}, - {0x3C10, 0, -1.0, 0.5, 0, 36.0, -1.0}, - {0x3C10, 1, -1.0, 0.5, 0, 36.0, -1.0}, - {0x3D04, 0, -1.0, 0.5, 0, 28.0, -1.0}, - {0x3D04, 1, -1.0, 0.5, 0, 28.0, -1.0}, - {0x2E64, 0, -1.0, 0.5, 0, 87.0, 203.0}, - {0x2E64, 1, -1.0, 0.5, 0, 87.0, 203.0}, - {0x51C4, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x51C4, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D6DC[] = { - {0x35C8, 0, -1.0, 0.5, 0, 27.0, -1.0}, - {0x36D8, 0, -1.0, 0.5, 0, 26.0, -1.0}, - {0x33AC, 1, -1.0, 0.5, 0, 25.0, -1.0}, - {0x34D4, 1, -1.0, 0.5, 0, 23.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D768[] = { - {0x35C8, 0, -1.0, 0.5, 0, 27.0, -1.0}, - {0x36D8, 0, -1.0, 0.5, 0, 26.0, -1.0}, - {0x33AC, 1, -1.0, 0.5, 0, 25.0, -1.0}, - {0x34D4, 1, -1.0, 0.5, 0, 23.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D7F4[] = { - {0x35C8, 0, -1.0, 0.5, 1, 27.0, -1.0}, - {0x36D8, 0, -1.0, 0.5, 1, 26.0, -1.0}, - {0x33AC, 1, -1.0, 0.5, 1, 25.0, -1.0}, - {0x34D4, 1, -1.0, 0.5, 1, 23.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D880[] = { - {0x33AC, 0, -1.0, 0.5, 0, 25.0, -1.0}, - {0x34D4, 0, -1.0, 0.5, 0, 23.0, -1.0}, - {0x35C8, 1, -1.0, 0.5, 0, 27.0, -1.0}, - {0x36D8, 1, -1.0, 0.5, 0, 26.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D90C[] = { - {0x33AC, 0, -1.0, 0.5, 0, 25.0, -1.0}, - {0x34D4, 0, -1.0, 0.5, 0, 23.0, -1.0}, - {0x35C8, 1, -1.0, 0.5, 0, 27.0, -1.0}, - {0x36D8, 1, -1.0, 0.5, 0, 26.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002D998[] = { - {0x33AC, 0, -1.0, 0.5, 1, 25.0, -1.0}, - {0x34D4, 0, -1.0, 0.5, 1, 23.0, -1.0}, - {0x35C8, 1, -1.0, 0.5, 1, 27.0, -1.0}, - {0x36D8, 1, -1.0, 0.5, 1, 26.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002DA24[] = { - {0x30B8, 0, -1.0, 0.5, 0, 55.0, 39.0}, - {0x30B8, 1, -1.0, 0.5, 0, 55.0, 39.0}, - {0x31DC, 0, -1.0, 0.5, 0, 36.0, -1.0}, - {0x31DC, 1, -1.0, 0.5, 0, 36.0, -1.0}, - {0x32C8, 0, -1.0, 0.5, 1, 29.0, -1.0}, - {0x32C8, 1, -1.0, 0.5, 1, 29.0, -1.0}, - {0x33AC, 0, -1.0, 0.5, 1, 25.0, -1.0}, - {0x33AC, 1, -1.0, 0.5, 1, 25.0, -1.0}, - {0x34D4, 0, -1.0, 0.5, 1, 23.0, -1.0}, - {0x34D4, 1, -1.0, 0.5, 1, 23.0, -1.0}, - {0x35C8, 0, -1.0, 0.5, 1, 27.0, -1.0}, - {0x35C8, 1, -1.0, 0.5, 1, 27.0, -1.0}, - {0x36D8, 0, -1.0, 0.5, 1, 26.0, -1.0}, - {0x36D8, 1, -1.0, 0.5, 1, 26.0, -1.0}, - {0x384C, 0, -1.0, 0.5, 0, 97.0, 64.0}, - {0x384C, 1, -1.0, 0.5, 0, 97.0, 64.0}, - {0x39C0, 0, -1.0, 0.5, 0, 94.0, 66.0}, - {0x39C0, 1, -1.0, 0.5, 0, 94.0, 66.0}, - {0x3AF0, 0, -1.0, 0.5, 0, 31.0, -1.0}, - {0x3AF0, 1, -1.0, 0.5, 0, 31.0, -1.0}, - {0x3C10, 0, -1.0, 0.5, 0, 36.0, -1.0}, - {0x3C10, 1, -1.0, 0.5, 0, 36.0, -1.0}, - {0x3D04, 0, -1.0, 0.5, 0, 28.0, -1.0}, - {0x3D04, 1, -1.0, 0.5, 0, 28.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002DCE0[] = { - {0x30B8, 0, -1.0, 0.5, 0, 55.0, 39.0}, - {0x30B8, 1, -1.0, 0.5, 0, 55.0, 39.0}, - {0x31DC, 0, -1.0, 0.5, 0, 36.0, -1.0}, - {0x31DC, 1, -1.0, 0.5, 0, 36.0, -1.0}, - {0x32C8, 0, -1.0, 0.5, 1, 29.0, -1.0}, - {0x32C8, 1, -1.0, 0.5, 1, 29.0, -1.0}, - {0x384C, 0, -1.0, 0.5, 0, 97.0, 64.0}, - {0x384C, 1, -1.0, 0.5, 0, 97.0, 64.0}, - {0x39C0, 0, -1.0, 0.5, 0, 94.0, 66.0}, - {0x39C0, 1, -1.0, 0.5, 0, 94.0, 66.0}, - {0x3AF0, 0, -1.0, 0.5, 0, 31.0, -1.0}, - {0x3AF0, 1, -1.0, 0.5, 0, 31.0, -1.0}, - {0x3C10, 0, -1.0, 0.5, 0, 36.0, -1.0}, - {0x3C10, 1, -1.0, 0.5, 0, 36.0, -1.0}, - {0x3D04, 0, -1.0, 0.5, 0, 28.0, -1.0}, - {0x3D04, 1, -1.0, 0.5, 0, 28.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002DEBC[] = { - {0x2F94, 0, -1.0, 0.5, 0, 67.0, 54.0}, - {0x2F94, 1, -1.0, 0.5, 0, 67.0, 54.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002DF10[] = { - {0x1F84, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x2134, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002DF64[] = { - {0x1F84, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x2134, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002DFB8[] = { - {0x1F84, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x2134, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0x540C, 1, 20.0, 0.40000001, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E028[] = { - {0x2134, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x1F84, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E07C[] = { - {0x2134, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x1F84, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E0D0[] = { - {0x2134, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x1F84, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0x540C, 0, 20.0, 0.40000001, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E140[] = { - {0x282C, 0, 20.0, 0.5, 0, -1.0, -1.0}, - {0x282C, 1, 30.0, 0.5, 0, -1.0, -1.0}, - {0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0}, - {0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0}, - {0x30B8, 0, 15.0, 0.5, 0, -1.0, -1.0}, - {0x30B8, 1, 15.0, 0.5, 0, -1.0, -1.0}, - {0x3AF0, 0, 10.0, 0.25, 0, -1.0, -1.0}, - {0x3AF0, 1, 10.0, 0.25, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E23C[] = { - {0x2E64, 0, 15.0, 0.5, 0, 87.0, 203.0}, - {0x2E64, 1, 15.0, 0.5, 0, 87.0, 203.0}, - {0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0}, - {0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0}, - {0x30B8, 0, 15.0, 0.5, 0, -1.0, -1.0}, - {0x30B8, 1, 15.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E300[] = { - {0x1C9C, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x1E40, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E354[] = { - {0x1A6C, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x1B54, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E3A8[] = { - {0x186C, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x1984, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E418[] = { - {0x1E40, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x1C9C, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E46C[] = { - {0x1B54, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x1A6C, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E4C0[] = { - {0x1984, 0, -1.0, 0.5, 0, -1.0, -1.0}, - {0x186C, 1, -1.0, 0.5, 0, -1.0, -1.0}, - {0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E530[] = { - {0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0}, - {0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0}, - {0x30B8, 0, 15.0, 0.5, 0, -1.0, -1.0}, - {0x30B8, 1, 15.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - -struct struck_animation_table D_8002E5BC[] = { - {0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0}, - {0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0}, - {0x30B8, 0, 15.0, 0.5, 0, -1.0, -1.0}, - {0x30B8, 1, 15.0, 0.5, 0, -1.0, -1.0}, - {0, 0, -1.0, 0.5, 0, -1.0, -1.0} -}; - - - -struct explosion_death_animation D_8002E648[] = { - {0x98C8, 0, 0.5, 9.0, 18.0, 29.0, -1.0}, - {0x98C8, 1, 0.5, 9.0, 18.0, 29.0, -1.0}, - {0xA1B8, 0, 0.5, 11.0, 19.0, 31.0, -1.0}, - {0xA1B8, 1, 0.5, 11.0, 19.0, 31.0, -1.0}, - {0xA094, 0, 0.5, 6.0, 20.0, 27.0, -1.0}, - {0xA094, 1, 0.5, 6.0, 20.0, 27.0, -1.0}, - {0xA424, 0, 0.5, 29.0, 36.0, 48.0, -1.0}, - {0xA424, 1, 0.5, 29.0, 36.0, 48.0, -1.0}, - {0xA538, 0, 0.5, 29.0, 38.0, 49.0, -1.0}, - {0xA538, 1, 0.5, 29.0, 38.0, 49.0, -1.0}, - {0xA650, 0, 0.5, 19.0, 30.0, 42.0, -1.0}, - {0xA650, 1, 0.5, 19.0, 30.0, 42.0, -1.0}, - {0x9A2C, 0, 0.5, 9.0, 21.0, 29.0, 55.0}, - {0x9A2C, 1, 0.5, 9.0, 21.0, 29.0, 55.0}, - {0x9D5C, 0, 0.5, 6.0, 18.0, 27.0, -1.0}, - {0x9D5C, 1, 0.5, 6.0, 18.0, 27.0, -1.0}, - {0x9E44, 0, 0.5, 6.0, 19.0, 29.0, -1.0}, - {0x9E44, 1, 0.5, 6.0, 19.0, 29.0, -1.0}, - {0x9B48, 0, 0.5, 8.0, 14.0, 25.0, -1.0}, - {0x9B48, 1, 0.5, 8.0, 14.0, 25.0, -1.0}, - {0x9C4C, 0, 0.5, 8.0, 19.0, 25.0, -1.0}, - {0x9C4C, 1, 0.5, 8.0, 19.0, 25.0, -1.0}, - {0x9F48, 0, 0.5, 12.0, 21.0, 29.0, -1.0}, - {0x9F48, 1, 0.5, 12.0, 21.0, 29.0, -1.0}, - {0xA2F8, 0, 0.5, 22.0, 30.0, 41.0, -1.0}, - {0xA2F8, 1, 0.5, 22.0, 30.0, 41.0, -1.0}, - {0, 0, 0.5, 0.0, 0.0, 0.0, -1.0}, -}; - -u8 expl_forward[] = {0x0, 0x01, 0x02, 0x03, 0x4, 0x05, 0x00, 0x00}; -u8 expl_f_left[] = {0x7, 0x09, 0x0B, 0x00}; -u8 expl_f_right[] = {0x06, 0x08, 0x0A, 0x00}; -u8 expl_left[] = {0x0C, 0x0F, 0x11, 0x00}; -u8 expl_right[] = {0x0D, 0x0E, 0x10, 0x00}; -u8 expl_back[] = {0x14, 0x15, 0x16, 0x17}; -u8 expl_b_right[] = {0x12, 0x18, 0x00, 0x00}; -u8 expl_b_left[] = {0x13, 0x19, 0x00, 0x00}; - -struct explosion_animation explosion_animation_table[] = { - {expl_forward, 6}, - {expl_f_left, 3}, - {expl_left, 3}, - {expl_b_right, 2}, - {expl_back, 4}, - {expl_b_left, 2}, - {expl_right, 3}, - {expl_f_right, 3} -}; - -struct weapon_firing_animation_table rifle_firing_animation_group1[] = { - {0x214, 28.0, 0, 0, 0, -1.0, 23.0, 54.0, -1.0, -1.0, 18.0, 54.0, 0.87266463, -0.52359879, 1.0471976, -0.34906587, 1.6, 1.8}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_rifle_firing_animation_group1[] = { - &rifle_firing_animation_group1, - ((void *)-1) -}; - -struct weapon_firing_animation_table rifle_firing_animation_group2[] = { - {0x144, 37.0, 0, 0, 0, -1.0, 30.0, 81.0, -1.0, -1.0, 25.0, 81.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 1.6, 1.75}, - {0x318, 27.0, 0, 0, 0, -1.0, 22.0, 61.0, -1.0, -1.0, 17.0, 61.0, 0.87266463, -0.2617994, 0.69813174, -0.69813174, 2.0, 1.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_rifle_firing_animation_group2[] = { - &rifle_firing_animation_group2, - ((void *)-1) -}; - -struct weapon_firing_animation_table rifle_firing_animation_group5[] = { - {0x144, 37.0, 0, 0, 0, -1.0, 30.0, 81.0, -1.0, -1.0, 25.0, 81.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 1.6, 1.75}, - {0x318, 27.0, 0, 0, 0, -1.0, 22.0, 61.0, -1.0, -1.0, 17.0, 61.0, 0.87266463, -0.2617994, 0.69813174, -0.69813174, 2.0, 1.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_rifle_firing_animation_group5[] = { - &rifle_firing_animation_group5, - ((void *)-1) -}; - -struct weapon_firing_animation_table rifle_firing_animation_group3[] = { - {0x3C4, 19.0, 0, 1.5707964, 0, -1.0, 19.0, 61.0, -1.0, -1.0, 14.0, 61.0, 0.87266463, -0.34906587, 0.43633232, -1.0471976, 2.5, 2.5}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_rifle_firing_animation_group3[] = { - &rifle_firing_animation_group3, - ((void *)-1) -}; - -struct weapon_firing_animation_table rifle_firing_animation_group4[] = { - {0x814, 27.0, 0, 0, 0, -1.0, 39.0, 74.0, -1.0, -1.0, 34.0, 74.0, 0.87266463, -0.69813174, 0.78539819, -0.69813174, 1.5, 1.5}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_rifle_firing_animation_group4[] = { - &rifle_firing_animation_group4, - ((void *)-1) -}; - -void * ptr_rifle_firing_animation_groups[] = { - &ptr_rifle_firing_animation_group1, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group2, - &ptr_rifle_firing_animation_group3, - &ptr_rifle_firing_animation_group3, - &ptr_rifle_firing_animation_group3, - &ptr_rifle_firing_animation_group3, - &ptr_rifle_firing_animation_group3, - &ptr_rifle_firing_animation_group3, - &ptr_rifle_firing_animation_group4, - &ptr_rifle_firing_animation_group4, - &ptr_rifle_firing_animation_group4, - &ptr_rifle_firing_animation_group4, - &ptr_rifle_firing_animation_group4, - &ptr_rifle_firing_animation_group4, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group5, - &ptr_rifle_firing_animation_group1 -}; - -struct weapon_firing_animation_table pistol_firing_animation_group1[] = { - {0x60D4, 26.0, 0, 0, 12.0, 140.0, 58.0, 92.0, 60.0, 79.0, 20.0, 120.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 0.0, 0.0}, - {0x6484, 0.0, 0, 0, 17.0, 100.0, 25.0, 87.0, 30.0, 55.0, 20.0, 93.0, 0.87266463, -0.69813174, 0.69813174, -1.0471976, 0.0, 0.0}, - {0x6554, 0.0, 0, 0, 12.0, 64.0, 19.0, 51.0, 24.0, 46.0, 14.0, 58.0, 0.87266463, -0.69813174, 0.52359879, -0.78539819, 0.0, 0.0}, - {0x6644, 22.0, 0, 0, 4.0, 69.0, 22.0, 49.0, 22.0, 33.0, 8.0, 58.0, 0.87266463, -0.69813174, 0.43633232, -0.78539819, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_pistol_firing_animation_group1[] = { - &pistol_firing_animation_group1, - ((void *)-1) -}; - -struct weapon_firing_animation_table pistol_firing_animation_group2[] = { - {0x60D4, 26.0, 0, 0, 12.0, 140.0, 58.0, 92.0, 60.0, 79.0, 20.0, 120.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 0.0, 0.0}, - {0x6644, 22.0, 0, 0, 4.0, 69.0, 22.0, 49.0, 22.0, 33.0, 8.0, 58.0, 0.87266463, -0.69813174, 0.43633232, -0.78539819, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_pistol_firing_animation_group2[] = { - &pistol_firing_animation_group2, - ((void *)-1) -}; - -struct weapon_firing_animation_table pistol_firing_animation_group3[] = { - {0x60D4, 26.0, 0, 0, 12.0, 140.0, 58.0, 92.0, 60.0, 79.0, 20.0, 120.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 0.0, 0.0}, - {0x6644, 22.0, 0, 0, 4.0, 69.0, 22.0, 49.0, 22.0, 33.0, 8.0, 58.0, 0.87266463, -0.69813174, 0.43633232, -0.78539819, 0.0, 0.0}, - {0x694C, 0.0, 0, 1.5707964, 7.0, 130.0, 45.0, 93.0, 56.0, 73.0, 26.0, 107.0, 0.87266463, -0.69813174, 0.34906587, -0.52359879, 0.0, 0.0}, - {0x6A18, 15.0, 0, 1.5707964, 5.0, 76.0, 20.0, 31.0, 31.0, 38.0, 15.0, 49.0, 0.87266463, -0.69813174, 0.52359879, -1.0471976, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_pistol_firing_animation_group3[] = { - &pistol_firing_animation_group3, - ((void *)-1) -}; - -struct weapon_firing_animation_table pistol_firing_animation_group6[] = { - {0x60D4, 26.0, 0, 0, 12.0, 140.0, 58.0, 92.0, 60.0, 79.0, 20.0, 120.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 0.0, 0.0}, - {0x6644, 22.0, 0, 0, 4.0, 69.0, 22.0, 49.0, 22.0, 33.0, 8.0, 58.0, 0.87266463, -0.69813174, 0.43633232, -0.78539819, 0.0, 0.0}, - {0x6738, 0.0, 0, 4.712389, 7.0, 139.0, 54.0, 105.0, 61.0, 88.0, 26.0, 120.0, 0.87266463, -0.69813174, 0.69813174, -0.61086529, 0.0, 0.0}, - {0x6808, 19.0, 0, 4.712389, 4.0, 79.0, 21.0, 50.0, 26.0, 42.0, 10.0, 64.0, 0.87266463, -0.69813174, 0.69813174, -0.61086529, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_pistol_firing_animation_group6[] = { - &pistol_firing_animation_group6, - ((void *)-1) -}; - -struct weapon_firing_animation_table pistol_firing_animation_group4[] = { - {0x6A18, 19.0, 0, 1.5707964, 5.0, 76.0, 20.0, 31.0, 31.0, 38.0, 15.0, 49.0, 0.87266463, -0.69813174, 0.52359879, -1.0471976, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_pistol_firing_animation_group4[] = { - &pistol_firing_animation_group4, - ((void *)-1) -}; - -struct weapon_firing_animation_table pistol_firing_animation_group5[] = { - {0x6808, 19.0, 0, 4.712389, 4.0, 79.0, 21.0, 50.0, 26.0, 42.0, 10.0, 64.0, 0.87266463, -0.69813174, 0.69813174, -0.61086529, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_pistol_firing_animation_group5[] = { - &pistol_firing_animation_group5, - ((void *)-1) -}; - -void * ptr_pistol_firing_animation_groups[] = { - &ptr_pistol_firing_animation_group1, - &ptr_pistol_firing_animation_group1, - &ptr_pistol_firing_animation_group2, - &ptr_pistol_firing_animation_group2, - &ptr_pistol_firing_animation_group2, - &ptr_pistol_firing_animation_group3, - &ptr_pistol_firing_animation_group3, - &ptr_pistol_firing_animation_group3, - &ptr_pistol_firing_animation_group3, - &ptr_pistol_firing_animation_group3, - &ptr_pistol_firing_animation_group4, - &ptr_pistol_firing_animation_group4, - &ptr_pistol_firing_animation_group4, - &ptr_pistol_firing_animation_group4, - &ptr_pistol_firing_animation_group4, - &ptr_pistol_firing_animation_group4, - &ptr_pistol_firing_animation_group5, - &ptr_pistol_firing_animation_group5, - &ptr_pistol_firing_animation_group5, - &ptr_pistol_firing_animation_group5, - &ptr_pistol_firing_animation_group5, - &ptr_pistol_firing_animation_group5, - &ptr_pistol_firing_animation_group6, - &ptr_pistol_firing_animation_group6, - &ptr_pistol_firing_animation_group6, - &ptr_pistol_firing_animation_group6, - &ptr_pistol_firing_animation_group6, - &ptr_pistol_firing_animation_group2, - &ptr_pistol_firing_animation_group2, - &ptr_pistol_firing_animation_group2, - &ptr_pistol_firing_animation_group1, - &ptr_pistol_firing_animation_group1 -}; - -struct weapon_firing_animation_table doubles_firing_animation_group1[] = { - {0x8E1C, 26.0, 0, 0, 7.0, 92.0, 28.0, 68.0, -1.0, -1.0, 11.0, 73.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_doubles_firing_animation_group1[] = { - doubles_firing_animation_group1, - ((void *)-1) -}; - -struct weapon_firing_animation_table doubles_firing_animation_group2[] = { - {0x8F2C, 26.0, 0, 1.5707964, 9.0, 112.0, 38.0, 87.0, -1.0, -1.0, 19.0, 98.0, 0.87266463, -0.69813174, 0.43633232, -0.43633232, 0.0, 0.0}, - {0x9194, 25.0, 0, 1.5707964, 10.0, 112.0, 32.0, 86.0, -1.0, -1.0, 19.0, 97.0, 0.87266463, -0.69813174, 0.43633232, -0.43633232, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_doubles_firing_animation_group2[] = { - doubles_firing_animation_group2, - ((void *)-1) -}; - -struct weapon_firing_animation_table doubles_firing_animation_group3[] = { - {0x9084, 39.0, 0, 4.712389, 22.0, 127.0, 44.0, 102.0, -1.0, -1.0, 28.0, 112.0, 0.87266463, -0.69813174, 0.43633232, -0.43633232, 0.0, 0.0}, - {0x92EC, 39.0, 0, 4.712389, 23.0, 130.0, 46.0, 100.0, -1.0, -1.0, 30.0, 110.0, 0.87266463, -0.69813174, 0.43633232, -0.43633232, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_doubles_firing_animation_group3[] = { - doubles_firing_animation_group3, - ((void *)-1) -}; - -void * ptr_doubles_firing_animation_groups[] = { - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group2, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group3, - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group1, - &ptr_doubles_firing_animation_group1 -}; - -struct weapon_firing_animation_table crouched_rifle_firing_animation_group1[] = { - {0x990, 27.0, 0, 0, 0, -1.0, 35.0, 75.0, -1.0, -1.0, 31.0, 75.0, 0.87266463, -0.69813174, 0.90757126, -0.69813174, 1.5, 1.5}, -}; - -struct weapon_firing_animation_table crouched_rifle_firing_animation_groupA[] = { - {0xB84, 24.0, 0, 0, 0, -1.0, 46.0, 98.0, -1.0, -1.0, 41.0, 98.0, 0.87266463, -0.52359879, 1.134464, -0.69813174, 1.6, 1.6}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_rifle_firing_animation_group1[] = { - &crouched_rifle_firing_animation_group1, - ((void *)-1) -}; - -struct weapon_firing_animation_table crouched_rifle_firing_animation_group2[] = { - {0xDB4, 26.0, 0, 0, 0, -1.0, 34.0, 87.0, -1.0, -1.0, 29.0, 87.0, 0.87266463, -0.52359879, 0.69813174, -0.95993108, 1.6, 2.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_rifle_firing_animation_group2[] = { - &crouched_rifle_firing_animation_group2, - ((void *)-1) -}; - -struct weapon_firing_animation_table crouched_rifle_firing_animation_group3[] = { - {0x1028, 28.0, 0, 0, 0, -1.0, 36.0, 88.0, -1.0, -1.0, 31.0, 88.0, 0.87266463, -0.69813174, 0.87266463, -0.43633232, 1.6, 1.5}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_rifle_firing_animation_group3[] = { - &crouched_rifle_firing_animation_group3, - ((void *)-1) -}; - -void * ptr_crouched_rifle_firing_animation_groups[] = { - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group2, - &ptr_crouched_rifle_firing_animation_group2, - &ptr_crouched_rifle_firing_animation_group2, - &ptr_crouched_rifle_firing_animation_group2, - &ptr_crouched_rifle_firing_animation_group2, - &ptr_crouched_rifle_firing_animation_group2, - &ptr_crouched_rifle_firing_animation_group3, - &ptr_crouched_rifle_firing_animation_group3, - &ptr_crouched_rifle_firing_animation_group3, - &ptr_crouched_rifle_firing_animation_group3, - &ptr_crouched_rifle_firing_animation_group3, - &ptr_crouched_rifle_firing_animation_group3, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1, - &ptr_crouched_rifle_firing_animation_group1 -}; - -struct weapon_firing_animation_table crouched_pistol_firing_animation_group1[] = { - {0x6C18, 25.0, 0, 0, 12.0, 132.0, 55.0, 87.0, 67.0, 87.0, 26.0, 111.0, 0.87266463, -0.69813174, 0.61086529, -0.78539819, 0.0, 0.0}, - {0x6D50, 26.0, 0, 0, 8.0, 89.0, 31.0, 63.0, 41.0, 51.0, 21.0, 80.0, 0.87266463, -0.69813174, 0.34906587, -1.134464, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_pistol_firing_animation_group1[] = { - &crouched_pistol_firing_animation_group1, - ((void *)-1) -}; - -struct weapon_firing_animation_table crouched_pistol_firing_animation_group2[] = { - {0x71D0, 47.0, 0, 1.5707964, 7.0, 128.0, 33.0, 86.0,47.0, 74.0, 23.0, 106.0, 0.87266463, -0.52359879, 0.52359879, -0.78539819, 0.0, 0.0}, - {0x7304, 18.0, 0, 1.5707964, 7.0, 78.0, 28.0, 52.0, 35.0, 45.0, 15.0, 66.0, 0.87266463, -0.087266468, 0.69813174, -0.78539819, 1.5, 1.0}, - {0x7430, 20.0, 0, 1.5707964, 13.0, 92.0, 37.0, 67.0, 42.0, 55.0, 25.0, 84.0, 0.87266463, -0.52359879, 0.34906587, -0.69813174, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_pistol_firing_animation_group2[] = { - &crouched_pistol_firing_animation_group2, - ((void *)-1) -}; - -struct weapon_firing_animation_table crouched_pistol_firing_animation_group3[] = { - {0x6F08, 28.0, 0, 4.712389, 15.0, 124.0, 38.0, 97.0, 60.0, 84.0, 20.0, 106.0, 0.87266463, -0.69813174, 0.52359879, -0.87266463, 0.0, 0.0}, - {0x700C, 23.0, 0, 4.712389, 0, 85.0, 32.0, 38.0, 38.0, 60.0, 14.0, 71.0, 0.87266463, -0.69813174, 0.61086529, -0.95993108, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_pistol_firing_animation_group3[] = { - &crouched_pistol_firing_animation_group3, - ((void *)-1) -}; - -void * ptr_crouched_pistol_firing_animation_groups[] = { - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group2, - &ptr_crouched_pistol_firing_animation_group2, - &ptr_crouched_pistol_firing_animation_group2, - &ptr_crouched_pistol_firing_animation_group2, - &ptr_crouched_pistol_firing_animation_group2, - &ptr_crouched_pistol_firing_animation_group2, - &ptr_crouched_pistol_firing_animation_group3, - &ptr_crouched_pistol_firing_animation_group3, - &ptr_crouched_pistol_firing_animation_group3, - &ptr_crouched_pistol_firing_animation_group3, - &ptr_crouched_pistol_firing_animation_group3, - &ptr_crouched_pistol_firing_animation_group3, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1, - &ptr_crouched_pistol_firing_animation_group1 -}; - -struct weapon_firing_animation_table crouched_doubles_firing_animation_group1[] = { - {0x8698, 22.0, 0, 0, 10.0, 111.0, 34.0, 87.0, -1.0, -1.0, 17.0, 104.0, 0.87266463, -0.69813174, 0.61086529, -0.78539819, 0.0, 0.0}, - {0x8AAC, 25.0, 0, 0, 9.0, 92.0, 33.0, 62.0, -1.0, -1.0, 18.0, 69.0, 0.87266463, -0.69813174, 0.61086529, -0.78539819, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_doubles_firing_animation_group1[] = { - &crouched_doubles_firing_animation_group1, - ((void *)-1) -}; - -struct weapon_firing_animation_table crouched_doubles_firing_animation_group2[] = { - {0x8800, 28.0, 0, 1.5707964, 15.0, 108.0, 34.0, 73.0, -1.0, -1.0, 17.0, 93.0, 0.87266463, -0.69813174, 0.52359879, -0.78539819, 0.0, 0.0}, - {0x8BF0, 19.0, 0, 1.5707964, 3.0, 95.0, 30.0, 64.0, -1.0, -1.0, 14.0, 71.0, 0.87266463, -0.69813174, 0.52359879, -0.78539819, 1.5, 1.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_doubles_firing_animation_group2[] = { - &crouched_doubles_firing_animation_group2, - ((void *)-1) -}; - -struct weapon_firing_animation_table crouched_doubles_firing_animation_group3[] = { - {0x8978, 31.0, 0, 4.712389, 14.0, 111.0, 40.0, 83.0,-1.0, -1.0, 21.0, 94.0, 0.87266463, -0.69813174, 0.52359879, -0.78539819, 0.0, 0.0}, - {0x8D28, 26.0, 0, 4.712389, 7.0, 89.0, 34.0, 60.0, -1.0, -1.0, 20.0, 68.0, 0.87266463, -0.69813174, 0.52359879, -0.78539819, 0.0, 0.0}, - {0, 0.0, 0, 0, 0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} -}; - -void * ptr_crouched_doubles_firing_animation_group3[] = { - &crouched_doubles_firing_animation_group3, - ((void *)-1) -}; - -void * ptr_crouched_doubles_firing_animation_groups[] = { - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group2, - &ptr_crouched_doubles_firing_animation_group2, - &ptr_crouched_doubles_firing_animation_group2, - &ptr_crouched_doubles_firing_animation_group2, - &ptr_crouched_doubles_firing_animation_group2, - &ptr_crouched_doubles_firing_animation_group2, - &ptr_crouched_doubles_firing_animation_group3, - &ptr_crouched_doubles_firing_animation_group3, - &ptr_crouched_doubles_firing_animation_group3, - &ptr_crouched_doubles_firing_animation_group3, - &ptr_crouched_doubles_firing_animation_group3, - &ptr_crouched_doubles_firing_animation_group3, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1, - &ptr_crouched_doubles_firing_animation_group1 -}; - - -//stru_D_80030078 -struct weapon_firing_animation_table D_80030078 = {0x1334, 76.0, 0.0, 0.0, 20.0, -1.0, 98.0, 161.0, -1.0, -1.0, 93.0, 161.0, 0.87266463, -0.52359879, 0.69813174, -0.69813174, 1.7, 2.0}; -//stru_D_800300C0 -struct weapon_firing_animation_table D_800300C0 = {0x1578, 58.0, 0.0, 0.0, 10.0, -1.0, 77.0, 104.0, -1.0, -1.0, 72.0, 104.0, 0.87266463, -0.34906587, 0.61086529, -0.69813174, 1.55, 1.5}; -//stru_D_80030108 -struct weapon_firing_animation_table D_80030108 = {0x17B4, 61.0, 0.0, 0.0, 10.0, -1.0, 83.0, 128.0, -1.0, -1.0, 78.0, 128.0, 0.87266463, -0.52359879, 0.87266463, -0.52359879, 1.2, 1.3}; -//stru_D_80030150 -struct weapon_firing_animation_table D_80030150 = {0x3FA0, 63.0, 0.0, 0.0, 10.0, -1.0, 73.0, 114.0, -1.0, -1.0, 68.0, 114.0, 0.87266463, -0.52359879, 0.61086529, -0.61086529, 1.65, 1.5}; -//stru_D_80030198 -struct weapon_firing_animation_table D_80030198 = {0x1334, 76.0, 0.0, 0.0, 20.0, 76.0, 98.0, 161.0, -1.0, -1.0, 93.0, 161.0, 0.87266463, -0.52359879, 0.69813174, -0.69813174, 1.7, 2.0}; -//stru_D_800301E0 -struct weapon_firing_animation_table D_800301E0 = {0x1578, 58.0, 0.0, 0.0, 10.0, 63.0, 77.0, 104.0, -1.0, -1.0, 72.0, 104.0, 0.87266463, -0.34906587, 0.61086529, -0.69813174, 1.55, 1.5}; -//stru_D_80030228 -struct weapon_firing_animation_table D_80030228 = {0x17B4, 61.0, 0.0, 0.0, 10.0, 56.0, 83.0, 128.0, -1.0, -1.0, 78.0, 128.0, 0.87266463, -0.52359879, 0.87266463, -0.52359879, 1.2, 1.3}; -//stru_D_80030270 -struct weapon_firing_animation_table D_80030270 = {0x3FA0, 63.0, 0.0, 0.0, 10.0, 50.0, 73.0, 114.0, -1.0, -1.0, 68.0, 114.0, 0.87266463, -0.52359879, 0.61086529, -0.61086529, 1.65, 1.5}; -//stru_D_800302B8 -struct weapon_firing_animation_table D_800302B8 = {0x6554, 0.0, 0.0, 0.0, 7.0, 64.0, 19.0, 51.0, 24.0, 46.0, 14.0, 58.0, 0.87266463, -0.69813174, 0.52359879, -0.78539819, 0.0, 0.0}; -//stru_D_80030300 -struct weapon_firing_animation_table D_80030300 = {0x6A18, 0.0, 0.0, 1.5707964, 14.0, 76.0, 26.0, 31.0, 31.0, 38.0, 15.0, 49.0, 0.87266463, -0.69813174, 0.52359879, -1.0471976, 0.0, 0.0}; -//stru_D_80030348 -struct weapon_firing_animation_table D_80030348 = {0x6D50, 26.0, 0.0, 0.0, 25.0, 89.0, 41.0, 63.0, 41.0, 51.0, 21.0, 80.0, 0.87266463, -0.69813174, 0.34906587, -1.134464, 0.0, 0.0}; -//stru_D_80030390 -struct weapon_firing_animation_table D_80030390 = {0x7304, 18.0, 0.0, 1.5707964, 11.0, 78.0, 33.0, 52.0, 35.0, 45.0, 15.0, 66.0, 0.87266463, -0.087266468, 0.69813174, -0.78539819, 1.5, 1.0}; -//stru_D_800303D8 -struct weapon_firing_animation_table D_800303D8 = {0x8E1C, 26.0, 0.0, 0.0, 7.0, 92.0, 28.0, 68.0, -1.0, -1.0, 11.0, 73.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 0.0, 0.0}; -//stru_D_80030420 -struct weapon_firing_animation_table D_80030420 = {0x8F2C, 26.0, 0.0, 1.5707964, 9.0, 112.0, 38.0, 87.0, -1.0, -1.0, 19.0, 98.0, 0.87266463, -0.69813174, 0.43633232, -0.43633232, 0.0, 0.0}; -//stru_D_80030468 -struct weapon_firing_animation_table D_80030468 = {0x8698, 22.0, 0.0, 0.0, 10.0, 11.0, 34.0, 87.0, -1.0, -1.0, 17.0, 104.0, 0.87266463, -0.69813174, 0.61086529, -0.78539819, 0.0, 0.0}; -//stru_D_800304B0 -struct weapon_firing_animation_table D_800304B0 = {0x8800, 28.0, 0.0, 1.5707964, 15.0, 108.0, 34.0, 73.0, -1.0, -1.0, 17.0, 93.0, 0.87266463, -0.69813174, 0.52359879, -0.78539819, 0.0, 0.0}; -//stru_D_800304F8 -struct weapon_firing_animation_table D_800304F8 = {0x8E1C, 26.0, 0.0, 0.0, 7.0, 92.0, 28.0, 68.0, -1.0, -1.0, 11.0, 73.0, 0.87266463, -0.69813174, 0.69813174, -0.69813174, 0.0, 0.0}; -//stru_D_80030540 -struct weapon_firing_animation_table D_80030540 = {0x9194, 25.0, 0.0, 1.5707964, 10.0, 112.0, 32.0, 86.0, -1.0, -1.0, 19.0, 97.0, 0.87266463, -0.69813174, 0.43633232, -0.43633232, 0.0, 0.0}; -//stru_D_80030588 -struct weapon_firing_animation_table D_80030588 = {0x8AAC, 25.0, 0.0, 0.0, 9.0, 92.0, 33.0, 62.0, -1.0, -1.0, 18.0, 69.0, 0.87266463, -0.69813174, 0.61086529, -0.78539819, 0.0, 0.0}; -//stru_D_800305D0 -struct weapon_firing_animation_table D_800305D0 = {0x8BF0, 19.0, 0.0, 1.5707964, 3.0, 95.0, 30.0, 64.0, -1.0, -1.0, 14.0, 71.0, 0.87266463, -0.69813174, 0.52359879, -0.78539819, 1.5, 1.0}; -//stru_D_80030618 -struct weapon_firing_animation_table D_80030618 = {0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; - -//stru_D_80030660 -struct weapon_firing_animation_table D_80030660 = {0x4574, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 1.4, 1.3}; -//stru_D_800306A8 -struct weapon_firing_animation_table D_800306A8 = {0x45CC, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 1.1, 1.2}; -//stru_D_800306F0 -struct weapon_firing_animation_table D_800306F0 = {0x74A4, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 0.0, 0.0}; -//stru_D_80030738 -struct weapon_firing_animation_table D_80030738 = {0x75EC, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 0.0, 0.0}; -//stru_D_80030780 -struct weapon_firing_animation_table D_80030780 = {0x8274, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 0.0, 0.0}; -//stru_D_800307C8 -struct weapon_firing_animation_table D_800307C8 = {0x8340, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 0.0, 0.0}; -//stru_D_80030810 -struct weapon_firing_animation_table D_80030810 = {0x82E0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 0.0, 0.0}; -//stru_D_80030858 -struct weapon_firing_animation_table D_80030858 = {0x83A4, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 0.0, 0.0}; -//stru_D_800308A0 -struct weapon_firing_animation_table D_800308A0 = {0x76B8, 0.0, 0.0, 1.5707964, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 0.0, 0.0}; -//stru_D_800308E8 -struct weapon_firing_animation_table D_800308E8 = {0x7650, 0.0, 0.0, 4.712389, 0.0, -1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.87266463, -0.52359879, 0.52359879, -0.52359879, 0.0, 0.0}; -//stru_D_80030930 -struct weapon_firing_animation_table D_80030930 = {0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; - -s32 objectiveregisters1 = 0; -s32 objectiveregisters2 = 0; -s32 objectiveregisters3 = 0; -s32 D_80030984 = 0; -s32 D_80030988 = 0; -s32 D_8003098C = 0; -s32 D_80030990 = 0; -s32 D_80030994 = 0; -s32 D_80030998 = 0; -s32 D_8003099C = 0; -s32 D_800309A0 = 0; -s32 D_800309A4 = 0; -s32 D_800309A8 = 0; -s32 D_800309AC = 0; -s32 D_800309B0 = 0; -s32 D_800309B4 = 0; -s32 D_800309B8 = 0; -s32 D_800309BC = 0; -s32 D_800309C0 = 0; -s32 D_800309C4 = 0; -s32 D_800309C8 = 0; -s32 D_800309CC = 0; -s32 D_800309D0 = 0; -s32 D_800309D4 = 0; -s32 D_800309D8 = 0; -s32 D_800309DC = 0; -s32 D_800309E0 = 0; -s32 D_800309E4 = 0; -s32 D_800309E8 = 0; -s32 D_800309EC = 0; -s32 D_800309F0 = 0; -s32 D_800309F4 = 0; - -s16 male_guard_yelps[] = { - 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, - 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0 -}; - -s16 female_guard_yelps[] = { - 0xD, 0xE, 0xF, 0 -}; - -s32 male_guard_yelp_counter = 0; -s32 female_guard_yelp_counter = 0; - -s16 metal_ricochet_SFX[] = {0xEF, 0x48, 0x49}; - - -s32 D_80030A44 = 0; -s32 D_80030A48 = 0; -s32 D_80030A4C = 0; - -s16 body_hit_SFX[] = {0x7B, 0x7C, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85}; - -s32 D_80030A68 = 0; - - - -s32 get_numguards(void){ - return num_guards; -} - -void get_ptr_allocated_block_for_vertices(int param_1) { - sub_GAME_7F0BD714(param_1 << 4); -} - -void set_show_patrols_flag(s32 flag){ - show_patrols_flag = flag; -} - -s32 get_show_patrols_flag(void){ - return show_patrols_flag; -} - - - - -#ifdef NONMATCHING -void sub_GAME_7F01F574(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01F574 -/* 0540A4 7F01F574 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0540A8 7F01F578 AFBF001C */ sw $ra, 0x1c($sp) -/* 0540AC 7F01F57C AFB00018 */ sw $s0, 0x18($sp) -/* 0540B0 7F01F580 8C8E0014 */ lw $t6, 0x14($a0) -/* 0540B4 7F01F584 00808025 */ move $s0, $a0 -/* 0540B8 7F01F588 24840014 */ addiu $a0, $a0, 0x14 -/* 0540BC 7F01F58C 11C0000F */ beqz $t6, .L7F01F5CC -/* 0540C0 7F01F590 3C073F80 */ lui $a3, 0x3f80 -/* 0540C4 7F01F594 8E050008 */ lw $a1, 8($s0) -/* 0540C8 7F01F598 0FC2C834 */ jal sub_GAME_7F0B20D0 -/* 0540CC 7F01F59C 8E060010 */ lw $a2, 0x10($s0) -/* 0540D0 7F01F5A0 04430008 */ bgezl $v0, .L7F01F5C4 -/* 0540D4 7F01F5A4 44800000 */ mtc1 $zero, $f0 -/* 0540D8 7F01F5A8 8E040014 */ lw $a0, 0x14($s0) -/* 0540DC 7F01F5AC 8E050008 */ lw $a1, 8($s0) -/* 0540E0 7F01F5B0 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0540E4 7F01F5B4 8E060010 */ lw $a2, 0x10($s0) -/* 0540E8 7F01F5B8 10000007 */ b .L7F01F5D8 -/* 0540EC 7F01F5BC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0540F0 7F01F5C0 44800000 */ mtc1 $zero, $f0 -.L7F01F5C4: -/* 0540F4 7F01F5C4 10000004 */ b .L7F01F5D8 -/* 0540F8 7F01F5C8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F01F5CC: -/* 0540FC 7F01F5CC 44800000 */ mtc1 $zero, $f0 -/* 054100 7F01F5D0 00000000 */ nop -/* 054104 7F01F5D4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F01F5D8: -/* 054108 7F01F5D8 8FB00018 */ lw $s0, 0x18($sp) -/* 05410C 7F01F5DC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 054110 7F01F5E0 03E00008 */ jr $ra -/* 054114 7F01F5E4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void set_or_unset_GUARDdata_flag(GUARDdata *guard,s32 param_2){ - if (param_2 == 0) { - guard->special_bitflags = guard->special_bitflags | 0x100; - return; - } - guard->special_bitflags = guard->special_bitflags & 0xfeff; - return; -} -#else -GLOBAL_ASM( -.text -glabel set_or_unset_GUARDdata_flag -/* 054118 7F01F5E8 50A00006 */ beql $a1, $zero, .L7F01F604 -/* 05411C 7F01F5EC 94980012 */ lhu $t8, 0x12($a0) -/* 054120 7F01F5F0 948E0012 */ lhu $t6, 0x12($a0) -/* 054124 7F01F5F4 31CFFEFF */ andi $t7, $t6, 0xfeff -/* 054128 7F01F5F8 03E00008 */ jr $ra -/* 05412C 7F01F5FC A48F0012 */ sh $t7, 0x12($a0) - -/* 054130 7F01F600 94980012 */ lhu $t8, 0x12($a0) -.L7F01F604: -/* 054134 7F01F604 37190100 */ ori $t9, $t8, 0x100 -/* 054138 7F01F608 A4990012 */ sh $t9, 0x12($a0) -/* 05413C 7F01F60C 03E00008 */ jr $ra -/* 054140 7F01F610 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01F614(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01F614 -/* 054144 7F01F614 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 054148 7F01F618 AFB10030 */ sw $s1, 0x30($sp) -/* 05414C 7F01F61C AFB0002C */ sw $s0, 0x2c($sp) -/* 054150 7F01F620 00C08025 */ move $s0, $a2 -/* 054154 7F01F624 00E08825 */ move $s1, $a3 -/* 054158 7F01F628 AFBF0034 */ sw $ra, 0x34($sp) -/* 05415C 7F01F62C AFA40098 */ sw $a0, 0x98($sp) -/* 054160 7F01F630 AFA5009C */ sw $a1, 0x9c($sp) -/* 054164 7F01F634 AFA00094 */ sw $zero, 0x94($sp) -/* 054168 7F01F638 AFA50090 */ sw $a1, 0x90($sp) -/* 05416C 7F01F63C 8C840018 */ lw $a0, 0x18($a0) -/* 054170 7F01F640 27A50084 */ addiu $a1, $sp, 0x84 -/* 054174 7F01F644 27A70088 */ addiu $a3, $sp, 0x88 -/* 054178 7F01F648 0FC08C58 */ jal sub_GAME_7F023160 -/* 05417C 7F01F64C 27A6008C */ addiu $a2, $sp, 0x8c -/* 054180 7F01F650 8FA40098 */ lw $a0, 0x98($sp) -/* 054184 7F01F654 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 054188 7F01F658 00002825 */ move $a1, $zero -/* 05418C 7F01F65C 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 054190 7F01F660 00000000 */ nop -/* 054194 7F01F664 C6240008 */ lwc1 $f4, 8($s1) -/* 054198 7F01F668 8E050000 */ lw $a1, ($s0) -/* 05419C 7F01F66C 8E060008 */ lw $a2, 8($s0) -/* 0541A0 7F01F670 8E270000 */ lw $a3, ($s1) -/* 0541A4 7F01F674 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0541A8 7F01F678 44818000 */ mtc1 $at, $f16 -/* 0541AC 7F01F67C C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 0541B0 7F01F680 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 0541B4 7F01F684 44805000 */ mtc1 $zero, $f10 -/* 0541B8 7F01F688 2418001F */ li $t8, 31 -/* 0541BC 7F01F68C AFB80014 */ sw $t8, 0x14($sp) -/* 0541C0 7F01F690 27A40090 */ addiu $a0, $sp, 0x90 -/* 0541C4 7F01F694 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0541C8 7F01F698 E7A60018 */ swc1 $f6, 0x18($sp) -/* 0541CC 7F01F69C E7B00024 */ swc1 $f16, 0x24($sp) -/* 0541D0 7F01F6A0 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 0541D4 7F01F6A4 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0541D8 7F01F6A8 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 0541DC 7F01F6AC 10400016 */ beqz $v0, .L7F01F708 -/* 0541E0 7F01F6B0 27A40090 */ addiu $a0, $sp, 0x90 -/* 0541E4 7F01F6B4 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 0541E8 7F01F6B8 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0541EC 7F01F6BC 8E250000 */ lw $a1, ($s1) -/* 0541F0 7F01F6C0 8E260008 */ lw $a2, 8($s1) -/* 0541F4 7F01F6C4 2419001F */ li $t9, 31 -/* 0541F8 7F01F6C8 AFB90010 */ sw $t9, 0x10($sp) -/* 0541FC 7F01F6CC 8FA70084 */ lw $a3, 0x84($sp) -/* 054200 7F01F6D0 E7B20014 */ swc1 $f18, 0x14($sp) -/* 054204 7F01F6D4 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 054208 7F01F6D8 E7A40018 */ swc1 $f4, 0x18($sp) -/* 05420C 7F01F6DC 0441000A */ bgez $v0, .L7F01F708 -/* 054210 7F01F6E0 8FA800A8 */ lw $t0, 0xa8($sp) -/* 054214 7F01F6E4 11000005 */ beqz $t0, .L7F01F6FC -/* 054218 7F01F6E8 8FA90098 */ lw $t1, 0x98($sp) -/* 05421C 7F01F6EC A1200009 */ sb $zero, 9($t1) -/* 054220 7F01F6F0 3C0A8005 */ lui $t2, %hi(global_timer) -/* 054224 7F01F6F4 8D4A837C */ lw $t2, %lo(global_timer)($t2) -/* 054228 7F01F6F8 AD2A00CC */ sw $t2, 0xcc($t1) -.L7F01F6FC: -/* 05422C 7F01F6FC 8FAB0090 */ lw $t3, 0x90($sp) -/* 054230 7F01F700 10000135 */ b .L7F01FBD8 -/* 054234 7F01F704 AFAB0094 */ sw $t3, 0x94($sp) -.L7F01F708: -/* 054238 7F01F708 AFA0004C */ sw $zero, 0x4c($sp) -/* 05423C 7F01F70C 27A40078 */ addiu $a0, $sp, 0x78 -/* 054240 7F01F710 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 054244 7F01F714 27A5006C */ addiu $a1, $sp, 0x6c -/* 054248 7F01F718 50400130 */ beql $v0, $zero, .L7F01FBDC -/* 05424C 7F01F71C 8FA40098 */ lw $a0, 0x98($sp) -/* 054250 7F01F720 C6260000 */ lwc1 $f6, ($s1) -/* 054254 7F01F724 C6080000 */ lwc1 $f8, ($s0) -/* 054258 7F01F728 46083281 */ sub.s $f10, $f6, $f8 -/* 05425C 7F01F72C C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 054260 7F01F730 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 054264 7F01F734 E7AA0060 */ swc1 $f10, 0x60($sp) -/* 054268 7F01F738 C6120008 */ lwc1 $f18, 8($s0) -/* 05426C 7F01F73C C6300008 */ lwc1 $f16, 8($s1) -/* 054270 7F01F740 46083032 */ c.eq.s $f6, $f8 -/* 054274 7F01F744 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 054278 7F01F748 46128101 */ sub.s $f4, $f16, $f18 -/* 05427C 7F01F74C C7B00074 */ lwc1 $f16, 0x74($sp) -/* 054280 7F01F750 45000005 */ bc1f .L7F01F768 -/* 054284 7F01F754 E7A40068 */ swc1 $f4, 0x68($sp) -/* 054288 7F01F758 46105032 */ c.eq.s $f10, $f16 -/* 05428C 7F01F75C 00000000 */ nop -/* 054290 7F01F760 45030028 */ bc1tl .L7F01F804 -/* 054294 7F01F764 8FAE004C */ lw $t6, 0x4c($sp) -.L7F01F768: -/* 054298 7F01F768 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 05429C 7F01F76C C7A80080 */ lwc1 $f8, 0x80($sp) -/* 0542A0 7F01F770 C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 0542A4 7F01F774 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0542A8 7F01F778 46083081 */ sub.s $f2, $f6, $f8 -/* 0542AC 7F01F77C 240C0001 */ li $t4, 1 -/* 0542B0 7F01F780 AFAC004C */ sw $t4, 0x4c($sp) -/* 0542B4 7F01F784 46049001 */ sub.s $f0, $f18, $f4 -/* 0542B8 7F01F788 46021282 */ mul.s $f10, $f2, $f2 -/* 0542BC 7F01F78C E7A2005C */ swc1 $f2, 0x5c($sp) -/* 0542C0 7F01F790 46000402 */ mul.s $f16, $f0, $f0 -/* 0542C4 7F01F794 E7A00054 */ swc1 $f0, 0x54($sp) -/* 0542C8 7F01F798 0C007DF8 */ jal sqrtf -/* 0542CC 7F01F79C 46105300 */ add.s $f12, $f10, $f16 -/* 0542D0 7F01F7A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0542D4 7F01F7A4 44819000 */ mtc1 $at, $f18 -/* 0542D8 7F01F7A8 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 0542DC 7F01F7AC C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0542E0 7F01F7B0 46009083 */ div.s $f2, $f18, $f0 -/* 0542E4 7F01F7B4 C7B00068 */ lwc1 $f16, 0x68($sp) -/* 0542E8 7F01F7B8 8FAD009C */ lw $t5, 0x9c($sp) -/* 0542EC 7F01F7BC 46022182 */ mul.s $f6, $f4, $f2 -/* 0542F0 7F01F7C0 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 0542F4 7F01F7C4 46024282 */ mul.s $f10, $f8, $f2 -/* 0542F8 7F01F7C8 E7A60054 */ swc1 $f6, 0x54($sp) -/* 0542FC 7F01F7CC 46105482 */ mul.s $f18, $f10, $f16 -/* 054300 7F01F7D0 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 054304 7F01F7D4 46062202 */ mul.s $f8, $f4, $f6 -/* 054308 7F01F7D8 C6040000 */ lwc1 $f4, ($s0) -/* 05430C 7F01F7DC 46089300 */ add.s $f12, $f18, $f8 -/* 054310 7F01F7E0 460C3402 */ mul.s $f16, $f6, $f12 -/* 054314 7F01F7E4 46048480 */ add.s $f18, $f16, $f4 -/* 054318 7F01F7E8 460C5202 */ mul.s $f8, $f10, $f12 -/* 05431C 7F01F7EC E7B20040 */ swc1 $f18, 0x40($sp) -/* 054320 7F01F7F0 C6060008 */ lwc1 $f6, 8($s0) -/* 054324 7F01F7F4 AFAD0090 */ sw $t5, 0x90($sp) -/* 054328 7F01F7F8 46064400 */ add.s $f16, $f8, $f6 -/* 05432C 7F01F7FC E7B00048 */ swc1 $f16, 0x48($sp) -/* 054330 7F01F800 8FAE004C */ lw $t6, 0x4c($sp) -.L7F01F804: -/* 054334 7F01F804 27A40090 */ addiu $a0, $sp, 0x90 -/* 054338 7F01F808 8FA70040 */ lw $a3, 0x40($sp) -/* 05433C 7F01F80C 11C00027 */ beqz $t6, .L7F01F8AC -/* 054340 7F01F810 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 054344 7F01F814 8E050000 */ lw $a1, ($s0) -/* 054348 7F01F818 8E060008 */ lw $a2, 8($s0) -/* 05434C 7F01F81C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 054350 7F01F820 44813000 */ mtc1 $at, $f6 -/* 054354 7F01F824 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 054358 7F01F828 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 05435C 7F01F82C 44804000 */ mtc1 $zero, $f8 -/* 054360 7F01F830 240F001F */ li $t7, 31 -/* 054364 7F01F834 AFAF0014 */ sw $t7, 0x14($sp) -/* 054368 7F01F838 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05436C 7F01F83C E7B20018 */ swc1 $f18, 0x18($sp) -/* 054370 7F01F840 E7A60024 */ swc1 $f6, 0x24($sp) -/* 054374 7F01F844 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 054378 7F01F848 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05437C 7F01F84C E7A80020 */ swc1 $f8, 0x20($sp) -/* 054380 7F01F850 10400016 */ beqz $v0, .L7F01F8AC -/* 054384 7F01F854 27A40090 */ addiu $a0, $sp, 0x90 -/* 054388 7F01F858 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 05438C 7F01F85C C7A40088 */ lwc1 $f4, 0x88($sp) -/* 054390 7F01F860 2418001F */ li $t8, 31 -/* 054394 7F01F864 AFB80010 */ sw $t8, 0x10($sp) -/* 054398 7F01F868 8FA50040 */ lw $a1, 0x40($sp) -/* 05439C 7F01F86C 8FA60048 */ lw $a2, 0x48($sp) -/* 0543A0 7F01F870 8FA70084 */ lw $a3, 0x84($sp) -/* 0543A4 7F01F874 E7B00014 */ swc1 $f16, 0x14($sp) -/* 0543A8 7F01F878 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 0543AC 7F01F87C E7A40018 */ swc1 $f4, 0x18($sp) -/* 0543B0 7F01F880 0441000A */ bgez $v0, .L7F01F8AC -/* 0543B4 7F01F884 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 0543B8 7F01F888 E6320000 */ swc1 $f18, ($s1) -/* 0543BC 7F01F88C C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 0543C0 7F01F890 24190002 */ li $t9, 2 -/* 0543C4 7F01F894 E62A0008 */ swc1 $f10, 8($s1) -/* 0543C8 7F01F898 8FA80098 */ lw $t0, 0x98($sp) -/* 0543CC 7F01F89C A1190009 */ sb $t9, 9($t0) -/* 0543D0 7F01F8A0 8FAA0090 */ lw $t2, 0x90($sp) -/* 0543D4 7F01F8A4 100000CC */ b .L7F01FBD8 -/* 0543D8 7F01F8A8 AFAA0094 */ sw $t2, 0x94($sp) -.L7F01F8AC: -/* 0543DC 7F01F8AC C7A80078 */ lwc1 $f8, 0x78($sp) -/* 0543E0 7F01F8B0 C6260000 */ lwc1 $f6, ($s1) -/* 0543E4 7F01F8B4 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0543E8 7F01F8B8 46064401 */ sub.s $f16, $f8, $f6 -/* 0543EC 7F01F8BC C7A60084 */ lwc1 $f6, 0x84($sp) -/* 0543F0 7F01F8C0 E7B00054 */ swc1 $f16, 0x54($sp) -/* 0543F4 7F01F8C4 C6320008 */ lwc1 $f18, 8($s1) -/* 0543F8 7F01F8C8 46063002 */ mul.s $f0, $f6, $f6 -/* 0543FC 7F01F8CC 46122281 */ sub.s $f10, $f4, $f18 -/* 054400 7F01F8D0 460A5482 */ mul.s $f18, $f10, $f10 -/* 054404 7F01F8D4 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 054408 7F01F8D8 46108182 */ mul.s $f6, $f16, $f16 -/* 05440C 7F01F8DC C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 054410 7F01F8E0 46069280 */ add.s $f10, $f18, $f6 -/* 054414 7F01F8E4 4600503E */ c.le.s $f10, $f0 -/* 054418 7F01F8E8 00000000 */ nop -/* 05441C 7F01F8EC 45020058 */ bc1fl .L7F01FA50 -/* 054420 7F01F8F0 C6260000 */ lwc1 $f6, ($s1) -/* 054424 7F01F8F4 C6100000 */ lwc1 $f16, ($s0) -/* 054428 7F01F8F8 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 05442C 7F01F8FC 46104032 */ c.eq.s $f8, $f16 -/* 054430 7F01F900 00000000 */ nop -/* 054434 7F01F904 45020007 */ bc1fl .L7F01F924 -/* 054438 7F01F908 C60A0008 */ lwc1 $f10, 8($s0) -/* 05443C 7F01F90C C6120008 */ lwc1 $f18, 8($s0) -/* 054440 7F01F910 46122032 */ c.eq.s $f4, $f18 -/* 054444 7F01F914 00000000 */ nop -/* 054448 7F01F918 450300B0 */ bc1tl .L7F01FBDC -/* 05444C 7F01F91C 8FA40098 */ lw $a0, 0x98($sp) -/* 054450 7F01F920 C60A0008 */ lwc1 $f10, 8($s0) -.L7F01F924: -/* 054454 7F01F924 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 054458 7F01F928 460A3201 */ sub.s $f8, $f6, $f10 -/* 05445C 7F01F92C 46004407 */ neg.s $f16, $f8 -/* 054460 7F01F930 E7B00054 */ swc1 $f16, 0x54($sp) -/* 054464 7F01F934 C6120000 */ lwc1 $f18, ($s0) -/* 054468 7F01F938 46122181 */ sub.s $f6, $f4, $f18 -/* 05446C 7F01F93C 46063282 */ mul.s $f10, $f6, $f6 -/* 054470 7F01F940 E7A6005C */ swc1 $f6, 0x5c($sp) -/* 054474 7F01F944 46108202 */ mul.s $f8, $f16, $f16 -/* 054478 7F01F948 0C007DF8 */ jal sqrtf -/* 05447C 7F01F94C 46085300 */ add.s $f12, $f10, $f8 -/* 054480 7F01F950 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 054484 7F01F954 44812000 */ mtc1 $at, $f4 -/* 054488 7F01F958 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 05448C 7F01F95C C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 054490 7F01F960 46002083 */ div.s $f2, $f4, $f0 -/* 054494 7F01F964 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 054498 7F01F968 8FA9009C */ lw $t1, 0x9c($sp) -/* 05449C 7F01F96C 240B001F */ li $t3, 31 -/* 0544A0 7F01F970 27A40090 */ addiu $a0, $sp, 0x90 -/* 0544A4 7F01F974 46029182 */ mul.s $f6, $f18, $f2 -/* 0544A8 7F01F978 C7B20060 */ lwc1 $f18, 0x60($sp) -/* 0544AC 7F01F97C 46028282 */ mul.s $f10, $f16, $f2 -/* 0544B0 7F01F980 E7A60054 */ swc1 $f6, 0x54($sp) -/* 0544B4 7F01F984 46085102 */ mul.s $f4, $f10, $f8 -/* 0544B8 7F01F988 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 0544BC 7F01F98C 46069402 */ mul.s $f16, $f18, $f6 -/* 0544C0 7F01F990 C6120000 */ lwc1 $f18, ($s0) -/* 0544C4 7F01F994 46102300 */ add.s $f12, $f4, $f16 -/* 0544C8 7F01F998 460C3202 */ mul.s $f8, $f6, $f12 -/* 0544CC 7F01F99C 46124100 */ add.s $f4, $f8, $f18 -/* 0544D0 7F01F9A0 460C5402 */ mul.s $f16, $f10, $f12 -/* 0544D4 7F01F9A4 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 0544D8 7F01F9A8 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 0544DC 7F01F9AC E7A40040 */ swc1 $f4, 0x40($sp) -/* 0544E0 7F01F9B0 C6060008 */ lwc1 $f6, 8($s0) -/* 0544E4 7F01F9B4 AFA90090 */ sw $t1, 0x90($sp) -/* 0544E8 7F01F9B8 44072000 */ mfc1 $a3, $f4 -/* 0544EC 7F01F9BC 46068200 */ add.s $f8, $f16, $f6 -/* 0544F0 7F01F9C0 44813000 */ mtc1 $at, $f6 -/* 0544F4 7F01F9C4 44808000 */ mtc1 $zero, $f16 -/* 0544F8 7F01F9C8 E7A80048 */ swc1 $f8, 0x48($sp) -/* 0544FC 7F01F9CC 8E060008 */ lw $a2, 8($s0) -/* 054500 7F01F9D0 8E050000 */ lw $a1, ($s0) -/* 054504 7F01F9D4 AFAB0014 */ sw $t3, 0x14($sp) -/* 054508 7F01F9D8 E7A80010 */ swc1 $f8, 0x10($sp) -/* 05450C 7F01F9DC E7AA001C */ swc1 $f10, 0x1c($sp) -/* 054510 7F01F9E0 E7B20018 */ swc1 $f18, 0x18($sp) -/* 054514 7F01F9E4 E7A60024 */ swc1 $f6, 0x24($sp) -/* 054518 7F01F9E8 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05451C 7F01F9EC E7B00020 */ swc1 $f16, 0x20($sp) -/* 054520 7F01F9F0 10400079 */ beqz $v0, .L7F01FBD8 -/* 054524 7F01F9F4 27A40090 */ addiu $a0, $sp, 0x90 -/* 054528 7F01F9F8 C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 05452C 7F01F9FC C7A80088 */ lwc1 $f8, 0x88($sp) -/* 054530 7F01FA00 240C001F */ li $t4, 31 -/* 054534 7F01FA04 AFAC0010 */ sw $t4, 0x10($sp) -/* 054538 7F01FA08 8FA50040 */ lw $a1, 0x40($sp) -/* 05453C 7F01FA0C 8FA60048 */ lw $a2, 0x48($sp) -/* 054540 7F01FA10 8FA70084 */ lw $a3, 0x84($sp) -/* 054544 7F01FA14 E7A40014 */ swc1 $f4, 0x14($sp) -/* 054548 7F01FA18 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 05454C 7F01FA1C E7A80018 */ swc1 $f8, 0x18($sp) -/* 054550 7F01FA20 0441006D */ bgez $v0, .L7F01FBD8 -/* 054554 7F01FA24 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 054558 7F01FA28 E6320000 */ swc1 $f18, ($s1) -/* 05455C 7F01FA2C C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 054560 7F01FA30 240D0002 */ li $t5, 2 -/* 054564 7F01FA34 E62A0008 */ swc1 $f10, 8($s1) -/* 054568 7F01FA38 8FAE0098 */ lw $t6, 0x98($sp) -/* 05456C 7F01FA3C A1CD0009 */ sb $t5, 9($t6) -/* 054570 7F01FA40 8FAF0090 */ lw $t7, 0x90($sp) -/* 054574 7F01FA44 10000064 */ b .L7F01FBD8 -/* 054578 7F01FA48 AFAF0094 */ sw $t7, 0x94($sp) -/* 05457C 7F01FA4C C6260000 */ lwc1 $f6, ($s1) -.L7F01FA50: -/* 054580 7F01FA50 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 054584 7F01FA54 46068101 */ sub.s $f4, $f16, $f6 -/* 054588 7F01FA58 E7A40054 */ swc1 $f4, 0x54($sp) -/* 05458C 7F01FA5C C6320008 */ lwc1 $f18, 8($s1) -/* 054590 7F01FA60 46124281 */ sub.s $f10, $f8, $f18 -/* 054594 7F01FA64 460A5182 */ mul.s $f6, $f10, $f10 -/* 054598 7F01FA68 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 05459C 7F01FA6C 46042482 */ mul.s $f18, $f4, $f4 -/* 0545A0 7F01FA70 46123280 */ add.s $f10, $f6, $f18 -/* 0545A4 7F01FA74 4600503E */ c.le.s $f10, $f0 -/* 0545A8 7F01FA78 00000000 */ nop -/* 0545AC 7F01FA7C 45020057 */ bc1fl .L7F01FBDC -/* 0545B0 7F01FA80 8FA40098 */ lw $a0, 0x98($sp) -/* 0545B4 7F01FA84 C6040000 */ lwc1 $f4, ($s0) -/* 0545B8 7F01FA88 C7B20074 */ lwc1 $f18, 0x74($sp) -/* 0545BC 7F01FA8C 46048032 */ c.eq.s $f16, $f4 -/* 0545C0 7F01FA90 00000000 */ nop -/* 0545C4 7F01FA94 45020007 */ bc1fl .L7F01FAB4 -/* 0545C8 7F01FA98 C60A0008 */ lwc1 $f10, 8($s0) -/* 0545CC 7F01FA9C C6060008 */ lwc1 $f6, 8($s0) -/* 0545D0 7F01FAA0 46064032 */ c.eq.s $f8, $f6 -/* 0545D4 7F01FAA4 00000000 */ nop -/* 0545D8 7F01FAA8 4503004C */ bc1tl .L7F01FBDC -/* 0545DC 7F01FAAC 8FA40098 */ lw $a0, 0x98($sp) -/* 0545E0 7F01FAB0 C60A0008 */ lwc1 $f10, 8($s0) -.L7F01FAB4: -/* 0545E4 7F01FAB4 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 0545E8 7F01FAB8 460A9401 */ sub.s $f16, $f18, $f10 -/* 0545EC 7F01FABC 46008107 */ neg.s $f4, $f16 -/* 0545F0 7F01FAC0 E7A40054 */ swc1 $f4, 0x54($sp) -/* 0545F4 7F01FAC4 C6060000 */ lwc1 $f6, ($s0) -/* 0545F8 7F01FAC8 46064481 */ sub.s $f18, $f8, $f6 -/* 0545FC 7F01FACC 46129282 */ mul.s $f10, $f18, $f18 -/* 054600 7F01FAD0 E7B2005C */ swc1 $f18, 0x5c($sp) -/* 054604 7F01FAD4 46042402 */ mul.s $f16, $f4, $f4 -/* 054608 7F01FAD8 0C007DF8 */ jal sqrtf -/* 05460C 7F01FADC 46105300 */ add.s $f12, $f10, $f16 -/* 054610 7F01FAE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 054614 7F01FAE4 44814000 */ mtc1 $at, $f8 -/* 054618 7F01FAE8 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 05461C 7F01FAEC C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 054620 7F01FAF0 46004083 */ div.s $f2, $f8, $f0 -/* 054624 7F01FAF4 C7B00068 */ lwc1 $f16, 0x68($sp) -/* 054628 7F01FAF8 8FB8009C */ lw $t8, 0x9c($sp) -/* 05462C 7F01FAFC 2419001F */ li $t9, 31 -/* 054630 7F01FB00 27A40090 */ addiu $a0, $sp, 0x90 -/* 054634 7F01FB04 46023482 */ mul.s $f18, $f6, $f2 -/* 054638 7F01FB08 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 05463C 7F01FB0C 46022282 */ mul.s $f10, $f4, $f2 -/* 054640 7F01FB10 E7B20054 */ swc1 $f18, 0x54($sp) -/* 054644 7F01FB14 46105202 */ mul.s $f8, $f10, $f16 -/* 054648 7F01FB18 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 05464C 7F01FB1C 46123102 */ mul.s $f4, $f6, $f18 -/* 054650 7F01FB20 C6060000 */ lwc1 $f6, ($s0) -/* 054654 7F01FB24 46044300 */ add.s $f12, $f8, $f4 -/* 054658 7F01FB28 460C9402 */ mul.s $f16, $f18, $f12 -/* 05465C 7F01FB2C 46068200 */ add.s $f8, $f16, $f6 -/* 054660 7F01FB30 460C5102 */ mul.s $f4, $f10, $f12 -/* 054664 7F01FB34 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 054668 7F01FB38 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 05466C 7F01FB3C E7A80040 */ swc1 $f8, 0x40($sp) -/* 054670 7F01FB40 C6120008 */ lwc1 $f18, 8($s0) -/* 054674 7F01FB44 AFB80090 */ sw $t8, 0x90($sp) -/* 054678 7F01FB48 44074000 */ mfc1 $a3, $f8 -/* 05467C 7F01FB4C 46122400 */ add.s $f16, $f4, $f18 -/* 054680 7F01FB50 44819000 */ mtc1 $at, $f18 -/* 054684 7F01FB54 44802000 */ mtc1 $zero, $f4 -/* 054688 7F01FB58 E7B00048 */ swc1 $f16, 0x48($sp) -/* 05468C 7F01FB5C 8E060008 */ lw $a2, 8($s0) -/* 054690 7F01FB60 8E050000 */ lw $a1, ($s0) -/* 054694 7F01FB64 AFB90014 */ sw $t9, 0x14($sp) -/* 054698 7F01FB68 E7B00010 */ swc1 $f16, 0x10($sp) -/* 05469C 7F01FB6C E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0546A0 7F01FB70 E7A60018 */ swc1 $f6, 0x18($sp) -/* 0546A4 7F01FB74 E7B20024 */ swc1 $f18, 0x24($sp) -/* 0546A8 7F01FB78 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0546AC 7F01FB7C E7A40020 */ swc1 $f4, 0x20($sp) -/* 0546B0 7F01FB80 10400015 */ beqz $v0, .L7F01FBD8 -/* 0546B4 7F01FB84 27A40090 */ addiu $a0, $sp, 0x90 -/* 0546B8 7F01FB88 C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 0546BC 7F01FB8C C7B00088 */ lwc1 $f16, 0x88($sp) -/* 0546C0 7F01FB90 2408001F */ li $t0, 31 -/* 0546C4 7F01FB94 AFA80010 */ sw $t0, 0x10($sp) -/* 0546C8 7F01FB98 8FA50040 */ lw $a1, 0x40($sp) -/* 0546CC 7F01FB9C 8FA60048 */ lw $a2, 0x48($sp) -/* 0546D0 7F01FBA0 8FA70084 */ lw $a3, 0x84($sp) -/* 0546D4 7F01FBA4 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0546D8 7F01FBA8 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 0546DC 7F01FBAC E7B00018 */ swc1 $f16, 0x18($sp) -/* 0546E0 7F01FBB0 04410009 */ bgez $v0, .L7F01FBD8 -/* 0546E4 7F01FBB4 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 0546E8 7F01FBB8 E6260000 */ swc1 $f6, ($s1) -/* 0546EC 7F01FBBC C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 0546F0 7F01FBC0 240A0002 */ li $t2, 2 -/* 0546F4 7F01FBC4 E62A0008 */ swc1 $f10, 8($s1) -/* 0546F8 7F01FBC8 8FA90098 */ lw $t1, 0x98($sp) -/* 0546FC 7F01FBCC A12A0009 */ sb $t2, 9($t1) -/* 054700 7F01FBD0 8FAB0090 */ lw $t3, 0x90($sp) -/* 054704 7F01FBD4 AFAB0094 */ sw $t3, 0x94($sp) -.L7F01FBD8: -/* 054708 7F01FBD8 8FA40098 */ lw $a0, 0x98($sp) -.L7F01FBDC: -/* 05470C 7F01FBDC 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 054710 7F01FBE0 24050001 */ li $a1, 1 -/* 054714 7F01FBE4 8FAC0094 */ lw $t4, 0x94($sp) -/* 054718 7F01FBE8 8FAE0098 */ lw $t6, 0x98($sp) -/* 05471C 7F01FBEC 15800002 */ bnez $t4, .L7F01FBF8 -/* 054720 7F01FBF0 240D0001 */ li $t5, 1 -/* 054724 7F01FBF4 A1CD0009 */ sb $t5, 9($t6) -.L7F01FBF8: -/* 054728 7F01FBF8 8FBF0034 */ lw $ra, 0x34($sp) -/* 05472C 7F01FBFC 8FA20094 */ lw $v0, 0x94($sp) -/* 054730 7F01FC00 8FB0002C */ lw $s0, 0x2c($sp) -/* 054734 7F01FC04 8FB10030 */ lw $s1, 0x30($sp) -/* 054738 7F01FC08 03E00008 */ jr $ra -/* 05473C 7F01FC0C 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01FC10(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80051D10 -.word 0x3dccccd0 /*0.10000002*/ -glabel D_80051D14 -.word 0x3dccccd0 /*0.10000002*/ -glabel D_80051D18 -.word 0x3f666666 /*0.89999998*/ -glabel D_80051D1C -.word 0x3dcccccd /*0.1*/ -glabel D_80051D20 -.word 0x3dccccd0 /*0.10000002*/ -glabel D_80051D24 -.word 0xbdcccccd /*-0.1*/ -glabel D_80051D28 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D2C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D30 -.word 0x3f860a92 /*1.0471976*/ -glabel D_80051D34 -.word 0xbf5f66f3 /*-0.87266463*/ -glabel D_80051D38 -.word 0x3f5f66f3 /*0.87266463*/ -glabel D_80051D3C -.word 0x3f860a92 /*1.0471976*/ -glabel D_80051D40 -.word 0xbf5f66f3 /*-0.87266463*/ -glabel D_80051D44 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D48 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D4C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D50 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D54 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D58 -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D5C -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D60 -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D64 -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D68 -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D6C -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D70 -.word 0x3f7eb852 /*0.995*/ -glabel D_80051D74 -.word 0x3f80a3d7 /*1.005*/ -glabel D_80051D78 -.word 0x3f7eb852 /*0.995*/ -glabel D_80051D7C -.word 0x3f80a3d7 /*1.005*/ -glabel D_80051D80 -.word 0x3f7eb852 /*0.995*/ -glabel D_80051D84 -.word 0x3f80a3d7 /*1.005*/ -glabel D_80051D88 -.word 0x41aa6666 /*21.299999*/ - -.text -glabel sub_GAME_7F01FC10 -/* 054740 7F01FC10 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 054744 7F01FC14 AFBF0024 */ sw $ra, 0x24($sp) -/* 054748 7F01FC18 AFB10020 */ sw $s1, 0x20($sp) -/* 05474C 7F01FC1C AFB0001C */ sw $s0, 0x1c($sp) -/* 054750 7F01FC20 AFA40038 */ sw $a0, 0x38($sp) -/* 054754 7F01FC24 AFA5003C */ sw $a1, 0x3c($sp) -/* 054758 7F01FC28 AFA70044 */ sw $a3, 0x44($sp) -/* 05475C 7F01FC2C 8C900004 */ lw $s0, 4($a0) -/* 054760 7F01FC30 AFA00030 */ sw $zero, 0x30($sp) -/* 054764 7F01FC34 44806000 */ mtc1 $zero, $f12 -/* 054768 7F01FC38 8E0F0018 */ lw $t7, 0x18($s0) -/* 05476C 7F01FC3C 00C08825 */ move $s1, $a2 -/* 054770 7F01FC40 00A01825 */ move $v1, $a1 -/* 054774 7F01FC44 8DF80014 */ lw $t8, 0x14($t7) -/* 054778 7F01FC48 46006386 */ mov.s $f14, $f12 -/* 05477C 7F01FC4C 530000CC */ beql $t8, $zero, .L7F01FF80 -/* 054780 7F01FC50 8FAD0044 */ lw $t5, 0x44($sp) -/* 054784 7F01FC54 82190007 */ lb $t9, 7($s0) -/* 054788 7F01FC58 24010004 */ li $at, 4 -/* 05478C 7F01FC5C 1721002C */ bne $t9, $at, .L7F01FD10 -/* 054790 7F01FC60 00000000 */ nop -/* 054794 7F01FC64 C6020038 */ lwc1 $f2, 0x38($s0) -/* 054798 7F01FC68 3C028005 */ lui $v0, %hi(global_timer_delta) -/* 05479C 7F01FC6C 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 -/* 0547A0 7F01FC70 4602603C */ c.lt.s $f12, $f2 -/* 0547A4 7F01FC74 00000000 */ nop -/* 0547A8 7F01FC78 45000025 */ bc1f .L7F01FD10 -/* 0547AC 7F01FC7C 00000000 */ nop -/* 0547B0 7F01FC80 C48400A4 */ lwc1 $f4, 0xa4($a0) -/* 0547B4 7F01FC84 C4460000 */ lwc1 $f6, ($v0) -/* 0547B8 7F01FC88 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 0547BC 7F01FC8C 46062202 */ mul.s $f8, $f4, $f6 -/* 0547C0 7F01FC90 460A1481 */ sub.s $f18, $f2, $f10 -/* 0547C4 7F01FC94 C60A0040 */ lwc1 $f10, 0x40($s0) -/* 0547C8 7F01FC98 C4C60000 */ lwc1 $f6, ($a2) -/* 0547CC 7F01FC9C 46124102 */ mul.s $f4, $f8, $f18 -/* 0547D0 7F01FCA0 46022003 */ div.s $f0, $f4, $f2 -/* 0547D4 7F01FCA4 C4C40004 */ lwc1 $f4, 4($a2) -/* 0547D8 7F01FCA8 46005202 */ mul.s $f8, $f10, $f0 -/* 0547DC 7F01FCAC 46083480 */ add.s $f18, $f6, $f8 -/* 0547E0 7F01FCB0 E4D20000 */ swc1 $f18, ($a2) -/* 0547E4 7F01FCB4 C60A0044 */ lwc1 $f10, 0x44($s0) -/* 0547E8 7F01FCB8 C4D20008 */ lwc1 $f18, 8($a2) -/* 0547EC 7F01FCBC 46005182 */ mul.s $f6, $f10, $f0 -/* 0547F0 7F01FCC0 46062200 */ add.s $f8, $f4, $f6 -/* 0547F4 7F01FCC4 E4C80004 */ swc1 $f8, 4($a2) -/* 0547F8 7F01FCC8 C60A0048 */ lwc1 $f10, 0x48($s0) -/* 0547FC 7F01FCCC 46005102 */ mul.s $f4, $f10, $f0 -/* 054800 7F01FCD0 46049180 */ add.s $f6, $f18, $f4 -/* 054804 7F01FCD4 E4C60008 */ swc1 $f6, 8($a2) -/* 054808 7F01FCD8 8FA80038 */ lw $t0, 0x38($sp) -/* 05480C 7F01FCDC C4480000 */ lwc1 $f8, ($v0) -/* 054810 7F01FCE0 C604003C */ lwc1 $f4, 0x3c($s0) -/* 054814 7F01FCE4 C50A00A4 */ lwc1 $f10, 0xa4($t0) -/* 054818 7F01FCE8 460A4482 */ mul.s $f18, $f8, $f10 -/* 05481C 7F01FCEC C6080038 */ lwc1 $f8, 0x38($s0) -/* 054820 7F01FCF0 46122180 */ add.s $f6, $f4, $f18 -/* 054824 7F01FCF4 E606003C */ swc1 $f6, 0x3c($s0) -/* 054828 7F01FCF8 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 05482C 7F01FCFC 460A403C */ c.lt.s $f8, $f10 -/* 054830 7F01FD00 00000000 */ nop -/* 054834 7F01FD04 45000002 */ bc1f .L7F01FD10 -/* 054838 7F01FD08 00000000 */ nop -/* 05483C 7F01FD0C E60C0038 */ swc1 $f12, 0x38($s0) -.L7F01FD10: -/* 054840 7F01FD10 3C028005 */ lui $v0, %hi(global_timer_delta) -/* 054844 7F01FD14 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 -/* 054848 7F01FD18 C4520000 */ lwc1 $f18, ($v0) -/* 05484C 7F01FD1C C60400B0 */ lwc1 $f4, 0xb0($s0) -/* 054850 7F01FD20 C6280000 */ lwc1 $f8, ($s1) -/* 054854 7F01FD24 240A0001 */ li $t2, 1 -/* 054858 7F01FD28 46122182 */ mul.s $f6, $f4, $f18 -/* 05485C 7F01FD2C 02002025 */ move $a0, $s0 -/* 054860 7F01FD30 02203825 */ move $a3, $s1 -/* 054864 7F01FD34 46064280 */ add.s $f10, $f8, $f6 -/* 054868 7F01FD38 C6260008 */ lwc1 $f6, 8($s1) -/* 05486C 7F01FD3C E62A0000 */ swc1 $f10, ($s1) -/* 054870 7F01FD40 C4520000 */ lwc1 $f18, ($v0) -/* 054874 7F01FD44 C60400B8 */ lwc1 $f4, 0xb8($s0) -/* 054878 7F01FD48 46122202 */ mul.s $f8, $f4, $f18 -/* 05487C 7F01FD4C 46083280 */ add.s $f10, $f6, $f8 -/* 054880 7F01FD50 E62A0008 */ swc1 $f10, 8($s1) -/* 054884 7F01FD54 8E090018 */ lw $t1, 0x18($s0) -/* 054888 7F01FD58 8FA6003C */ lw $a2, 0x3c($sp) -/* 05488C 7F01FD5C 8D250014 */ lw $a1, 0x14($t1) -/* 054890 7F01FD60 AFA30028 */ sw $v1, 0x28($sp) -/* 054894 7F01FD64 0FC07D85 */ jal sub_GAME_7F01F614 -/* 054898 7F01FD68 AFAA0010 */ sw $t2, 0x10($sp) -/* 05489C 7F01FD6C 10400006 */ beqz $v0, .L7F01FD88 -/* 0548A0 7F01FD70 8FA30028 */ lw $v1, 0x28($sp) -/* 0548A4 7F01FD74 8E0B0018 */ lw $t3, 0x18($s0) -/* 0548A8 7F01FD78 240C0001 */ li $t4, 1 -/* 0548AC 7F01FD7C 02201825 */ move $v1, $s1 -/* 0548B0 7F01FD80 AD620014 */ sw $v0, 0x14($t3) -/* 0548B4 7F01FD84 AFAC0030 */ sw $t4, 0x30($sp) -.L7F01FD88: -/* 0548B8 7F01FD88 8E0D0014 */ lw $t5, 0x14($s0) -/* 0548BC 7F01FD8C 31AF1000 */ andi $t7, $t5, 0x1000 -/* 0548C0 7F01FD90 55E0007A */ bnezl $t7, .L7F01FF7C -/* 0548C4 7F01FD94 C60E00AC */ lwc1 $f14, 0xac($s0) -/* 0548C8 7F01FD98 8E180018 */ lw $t8, 0x18($s0) -/* 0548CC 7F01FD9C 8C650000 */ lw $a1, ($v1) -/* 0548D0 7F01FDA0 8C660008 */ lw $a2, 8($v1) -/* 0548D4 7F01FDA4 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0548D8 7F01FDA8 8F040014 */ lw $a0, 0x14($t8) -/* 0548DC 7F01FDAC 8E190014 */ lw $t9, 0x14($s0) -/* 0548E0 7F01FDB0 44806000 */ mtc1 $zero, $f12 -/* 0548E4 7F01FDB4 46000386 */ mov.s $f14, $f0 -/* 0548E8 7F01FDB8 332E0001 */ andi $t6, $t9, 1 -/* 0548EC 7F01FDBC 11C00014 */ beqz $t6, .L7F01FE10 -/* 0548F0 7F01FDC0 E60000AC */ swc1 $f0, 0xac($s0) -/* 0548F4 7F01FDC4 8FA40038 */ lw $a0, 0x38($sp) -/* 0548F8 7F01FDC8 8C880008 */ lw $t0, 8($a0) -/* 0548FC 7F01FDCC 8D050000 */ lw $a1, ($t0) -/* 054900 7F01FDD0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 054904 7F01FDD4 E7AE002C */ swc1 $f14, 0x2c($sp) -/* 054908 7F01FDD8 8E090014 */ lw $t1, 0x14($s0) -/* 05490C 7F01FDDC C60200AC */ lwc1 $f2, 0xac($s0) -/* 054910 7F01FDE0 2401FFFE */ li $at, -2 -/* 054914 7F01FDE4 C7AE002C */ lwc1 $f14, 0x2c($sp) -/* 054918 7F01FDE8 01215024 */ and $t2, $t1, $at -/* 05491C 7F01FDEC AE0A0014 */ sw $t2, 0x14($s0) -/* 054920 7F01FDF0 3C018005 */ lui $at, %hi(D_80051D10) -/* 054924 7F01FDF4 E60200A8 */ swc1 $f2, 0xa8($s0) -/* 054928 7F01FDF8 C4241D10 */ lwc1 $f4, %lo(D_80051D10)($at) -/* 05492C 7F01FDFC 46041483 */ div.s $f18, $f2, $f4 -/* 054930 7F01FE00 E61200A4 */ swc1 $f18, 0xa4($s0) -/* 054934 7F01FE04 C4460028 */ lwc1 $f6, 0x28($v0) -/* 054938 7F01FE08 10000055 */ b .L7F01FF60 -/* 05493C 7F01FE0C E4460038 */ swc1 $f6, 0x38($v0) -.L7F01FE10: -/* 054940 7F01FE10 C60800B4 */ lwc1 $f8, 0xb4($s0) -/* 054944 7F01FE14 260400A8 */ addiu $a0, $s0, 0xa8 -/* 054948 7F01FE18 260500B4 */ addiu $a1, $s0, 0xb4 -/* 05494C 7F01FE1C 46086032 */ c.eq.s $f12, $f8 -/* 054950 7F01FE20 3C068005 */ lui $a2, %hi(global_timer_delta) -/* 054954 7F01FE24 45000007 */ bc1f .L7F01FE44 -/* 054958 7F01FE28 00000000 */ nop -/* 05495C 7F01FE2C C60200AC */ lwc1 $f2, 0xac($s0) -/* 054960 7F01FE30 C60000A8 */ lwc1 $f0, 0xa8($s0) -/* 054964 7F01FE34 4600103C */ c.lt.s $f2, $f0 -/* 054968 7F01FE38 00000000 */ nop -/* 05496C 7F01FE3C 45020013 */ bc1fl .L7F01FE8C -/* 054970 7F01FE40 4602003E */ c.le.s $f0, $f2 -.L7F01FE44: -/* 054974 7F01FE44 8CC68378 */ lw $a2, %lo(global_timer_delta)($a2) -/* 054978 7F01FE48 0FC15F51 */ jal sub_GAME_7F057D44 -/* 05497C 7F01FE4C E7AE002C */ swc1 $f14, 0x2c($sp) -/* 054980 7F01FE50 C60200AC */ lwc1 $f2, 0xac($s0) -/* 054984 7F01FE54 C60000A8 */ lwc1 $f0, 0xa8($s0) -/* 054988 7F01FE58 44806000 */ mtc1 $zero, $f12 -/* 05498C 7F01FE5C C7AE002C */ lwc1 $f14, 0x2c($sp) -/* 054990 7F01FE60 4602003E */ c.le.s $f0, $f2 -/* 054994 7F01FE64 3C018005 */ lui $at, %hi(D_80051D14) -/* 054998 7F01FE68 45020008 */ bc1fl .L7F01FE8C -/* 05499C 7F01FE6C 4602003E */ c.le.s $f0, $f2 -/* 0549A0 7F01FE70 E60200A8 */ swc1 $f2, 0xa8($s0) -/* 0549A4 7F01FE74 C42A1D14 */ lwc1 $f10, %lo(D_80051D14)($at) -/* 0549A8 7F01FE78 E60C00B4 */ swc1 $f12, 0xb4($s0) -/* 0549AC 7F01FE7C C60000A8 */ lwc1 $f0, 0xa8($s0) -/* 0549B0 7F01FE80 460A1103 */ div.s $f4, $f2, $f10 -/* 0549B4 7F01FE84 E60400A4 */ swc1 $f4, 0xa4($s0) -/* 0549B8 7F01FE88 4602003E */ c.le.s $f0, $f2 -.L7F01FE8C: -/* 0549BC 7F01FE8C 3C038005 */ lui $v1, %hi(clock_timer) -/* 0549C0 7F01FE90 24638374 */ addiu $v1, %lo(clock_timer) # addiu $v1, $v1, -0x7c8c -/* 0549C4 7F01FE94 45020033 */ bc1fl .L7F01FF64 -/* 0549C8 7F01FE98 C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 0549CC 7F01FE9C 8C6B0000 */ lw $t3, ($v1) -/* 0549D0 7F01FEA0 00001025 */ move $v0, $zero -/* 0549D4 7F01FEA4 3C018005 */ lui $at, %hi(D_80051D18) -/* 0549D8 7F01FEA8 19600011 */ blez $t3, .L7F01FEF0 -/* 0549DC 7F01FEAC 00000000 */ nop -/* 0549E0 7F01FEB0 C4201D18 */ lwc1 $f0, %lo(D_80051D18)($at) -/* 0549E4 7F01FEB4 C61200A4 */ lwc1 $f18, 0xa4($s0) -.L7F01FEB8: -/* 0549E8 7F01FEB8 C60A00B0 */ lwc1 $f10, 0xb0($s0) -/* 0549EC 7F01FEBC 24420001 */ addiu $v0, $v0, 1 -/* 0549F0 7F01FEC0 46009182 */ mul.s $f6, $f18, $f0 -/* 0549F4 7F01FEC4 C61200B8 */ lwc1 $f18, 0xb8($s0) -/* 0549F8 7F01FEC8 46005102 */ mul.s $f4, $f10, $f0 -/* 0549FC 7F01FECC 46023200 */ add.s $f8, $f6, $f2 -/* 054A00 7F01FED0 46009182 */ mul.s $f6, $f18, $f0 -/* 054A04 7F01FED4 E60400B0 */ swc1 $f4, 0xb0($s0) -/* 054A08 7F01FED8 E60800A4 */ swc1 $f8, 0xa4($s0) -/* 054A0C 7F01FEDC E60600B8 */ swc1 $f6, 0xb8($s0) -/* 054A10 7F01FEE0 8C6C0000 */ lw $t4, ($v1) -/* 054A14 7F01FEE4 004C082A */ slt $at, $v0, $t4 -/* 054A18 7F01FEE8 5420FFF3 */ bnezl $at, .L7F01FEB8 -/* 054A1C 7F01FEEC C61200A4 */ lwc1 $f18, 0xa4($s0) -.L7F01FEF0: -/* 054A20 7F01FEF0 3C018005 */ lui $at, %hi(D_80051D1C) -/* 054A24 7F01FEF4 C4221D1C */ lwc1 $f2, %lo(D_80051D1C)($at) -/* 054A28 7F01FEF8 3C018005 */ lui $at, %hi(D_80051D20) -/* 054A2C 7F01FEFC C42A1D20 */ lwc1 $f10, %lo(D_80051D20)($at) -/* 054A30 7F01FF00 C60800A4 */ lwc1 $f8, 0xa4($s0) -/* 054A34 7F01FF04 C60000B0 */ lwc1 $f0, 0xb0($s0) -/* 054A38 7F01FF08 3C018005 */ lui $at, %hi(D_80051D24) -/* 054A3C 7F01FF0C 460A4102 */ mul.s $f4, $f8, $f10 -/* 054A40 7F01FF10 4602003C */ c.lt.s $f0, $f2 -/* 054A44 7F01FF14 00000000 */ nop -/* 054A48 7F01FF18 45000011 */ bc1f .L7F01FF60 -/* 054A4C 7F01FF1C E60400A8 */ swc1 $f4, 0xa8($s0) -/* 054A50 7F01FF20 C4301D24 */ lwc1 $f16, %lo(D_80051D24)($at) -/* 054A54 7F01FF24 4600803C */ c.lt.s $f16, $f0 -/* 054A58 7F01FF28 00000000 */ nop -/* 054A5C 7F01FF2C 4502000D */ bc1fl .L7F01FF64 -/* 054A60 7F01FF30 C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 054A64 7F01FF34 C60000B8 */ lwc1 $f0, 0xb8($s0) -/* 054A68 7F01FF38 4602003C */ c.lt.s $f0, $f2 -/* 054A6C 7F01FF3C 00000000 */ nop -/* 054A70 7F01FF40 45020008 */ bc1fl .L7F01FF64 -/* 054A74 7F01FF44 C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 054A78 7F01FF48 4600803C */ c.lt.s $f16, $f0 -/* 054A7C 7F01FF4C 00000000 */ nop -/* 054A80 7F01FF50 45020004 */ bc1fl .L7F01FF64 -/* 054A84 7F01FF54 C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 054A88 7F01FF58 E60C00B8 */ swc1 $f12, 0xb8($s0) -/* 054A8C 7F01FF5C E60C00B0 */ swc1 $f12, 0xb0($s0) -.L7F01FF60: -/* 054A90 7F01FF60 C60600A8 */ lwc1 $f6, 0xa8($s0) -.L7F01FF64: -/* 054A94 7F01FF64 C6320004 */ lwc1 $f18, 4($s1) -/* 054A98 7F01FF68 460E3201 */ sub.s $f8, $f6, $f14 -/* 054A9C 7F01FF6C 46089280 */ add.s $f10, $f18, $f8 -/* 054AA0 7F01FF70 10000002 */ b .L7F01FF7C -/* 054AA4 7F01FF74 E62A0004 */ swc1 $f10, 4($s1) -/* 054AA8 7F01FF78 C60E00AC */ lwc1 $f14, 0xac($s0) -.L7F01FF7C: -/* 054AAC 7F01FF7C 8FAD0044 */ lw $t5, 0x44($sp) -.L7F01FF80: -/* 054AB0 7F01FF80 24020001 */ li $v0, 1 -/* 054AB4 7F01FF84 E5AE0000 */ swc1 $f14, ($t5) -/* 054AB8 7F01FF88 8FAF0030 */ lw $t7, 0x30($sp) -/* 054ABC 7F01FF8C 8FB8003C */ lw $t8, 0x3c($sp) -/* 054AC0 7F01FF90 55E00007 */ bnezl $t7, .L7F01FFB0 -/* 054AC4 7F01FF94 8FBF0024 */ lw $ra, 0x24($sp) -/* 054AC8 7F01FF98 C7040000 */ lwc1 $f4, ($t8) -/* 054ACC 7F01FF9C E6240000 */ swc1 $f4, ($s1) -/* 054AD0 7F01FFA0 8FB9003C */ lw $t9, 0x3c($sp) -/* 054AD4 7F01FFA4 C7260008 */ lwc1 $f6, 8($t9) -/* 054AD8 7F01FFA8 E6260008 */ swc1 $f6, 8($s1) -/* 054ADC 7F01FFAC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F01FFB0: -/* 054AE0 7F01FFB0 8FB0001C */ lw $s0, 0x1c($sp) -/* 054AE4 7F01FFB4 8FB10020 */ lw $s1, 0x20($sp) -/* 054AE8 7F01FFB8 03E00008 */ jr $ra -/* 054AEC 7F01FFBC 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80051D10 -.word 0x3dccccd0 /*0.10000002*/ -glabel D_80051D14 -.word 0x3dccccd0 /*0.10000002*/ -glabel D_80051D18 -.word 0x3f666666 /*0.89999998*/ -glabel D_80051D1C -.word 0x3dcccccd /*0.1*/ -glabel D_80051D20 -.word 0x3dccccd0 /*0.10000002*/ -glabel D_80051D24 -.word 0xbdcccccd /*-0.1*/ -glabel D_80051D28 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D2C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D30 -.word 0x3f860a92 /*1.0471976*/ -glabel D_80051D34 -.word 0xbf5f66f3 /*-0.87266463*/ -glabel D_80051D38 -.word 0x3f5f66f3 /*0.87266463*/ -glabel D_80051D3C -.word 0x3f860a92 /*1.0471976*/ -glabel D_80051D40 -.word 0xbf5f66f3 /*-0.87266463*/ -glabel D_80051D44 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D48 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D4C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D50 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051D54 -.word 0x40c90fdb /*6.2831855*/ - -glabel D_jp80051D88 -.word 0x3f4ccccd - -glabel D_80051D58 -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D5C -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D60 -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D64 -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D68 -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D6C -.word 0x3ca3d70a /*0.02*/ -glabel D_80051D70 -.word 0x3f7eb852 /*0.995*/ -glabel D_80051D74 -.word 0x3f80a3d7 /*1.005*/ -glabel D_80051D78 -.word 0x3f7eb852 /*0.995*/ -glabel D_80051D7C -.word 0x3f80a3d7 /*1.005*/ -glabel D_80051D80 -.word 0x3f7eb852 /*0.995*/ -glabel D_80051D84 -.word 0x3f80a3d7 /*1.005*/ -glabel D_80051D88 -.word 0x41aa6666 /*21.299999*/ - -/*.word 0x0*/ -.text -glabel sub_GAME_7F01FC10 -/* 054740 7F01FC10 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 054744 7F01FC14 AFBF0024 */ sw $ra, 0x24($sp) -/* 054748 7F01FC18 AFB10020 */ sw $s1, 0x20($sp) -/* 05474C 7F01FC1C AFB0001C */ sw $s0, 0x1c($sp) -/* 054750 7F01FC20 AFA40038 */ sw $a0, 0x38($sp) -/* 054754 7F01FC24 AFA5003C */ sw $a1, 0x3c($sp) -/* 054758 7F01FC28 AFA70044 */ sw $a3, 0x44($sp) -/* 05475C 7F01FC2C 8C900004 */ lw $s0, 4($a0) -/* 054760 7F01FC30 AFA00030 */ sw $zero, 0x30($sp) -/* 054764 7F01FC34 44806000 */ mtc1 $zero, $f12 -/* 054768 7F01FC38 8E0F0018 */ lw $t7, 0x18($s0) -/* 05476C 7F01FC3C 00C08825 */ move $s1, $a2 -/* 054770 7F01FC40 00A01825 */ move $v1, $a1 -/* 054774 7F01FC44 8DF80014 */ lw $t8, 0x14($t7) -/* 054778 7F01FC48 46006386 */ mov.s $f14, $f12 -/* 05477C 7F01FC4C 530000CC */ beql $t8, $zero, .L7F01FF80 -/* 054780 7F01FC50 8FAD0044 */ lw $t5, 0x44($sp) -/* 054784 7F01FC54 82190007 */ lb $t9, 7($s0) -/* 054788 7F01FC58 24010004 */ li $at, 4 -/* 05478C 7F01FC5C 1721002C */ bne $t9, $at, .L7F01FD10 -/* 054790 7F01FC60 00000000 */ nop -/* 054794 7F01FC64 C6020038 */ lwc1 $f2, 0x38($s0) -/* 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 -/* 0547AC 7F01FC7C 00000000 */ nop -/* 0547B0 7F01FC80 C48400A4 */ lwc1 $f4, 0xa4($a0) -/* 0547B4 7F01FC84 C4460000 */ lwc1 $f6, ($v0) -/* 0547B8 7F01FC88 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 0547BC 7F01FC8C 46062202 */ mul.s $f8, $f4, $f6 -/* 0547C0 7F01FC90 460A1481 */ sub.s $f18, $f2, $f10 -/* 0547C4 7F01FC94 C60A0040 */ lwc1 $f10, 0x40($s0) -/* 0547C8 7F01FC98 C4C60000 */ lwc1 $f6, ($a2) -/* 0547CC 7F01FC9C 46124102 */ mul.s $f4, $f8, $f18 -/* 0547D0 7F01FCA0 46022003 */ div.s $f0, $f4, $f2 -/* 0547D4 7F01FCA4 C4C40004 */ lwc1 $f4, 4($a2) -/* 0547D8 7F01FCA8 46005202 */ mul.s $f8, $f10, $f0 -/* 0547DC 7F01FCAC 46083480 */ add.s $f18, $f6, $f8 -/* 0547E0 7F01FCB0 E4D20000 */ swc1 $f18, ($a2) -/* 0547E4 7F01FCB4 C60A0044 */ lwc1 $f10, 0x44($s0) -/* 0547E8 7F01FCB8 C4D20008 */ lwc1 $f18, 8($a2) -/* 0547EC 7F01FCBC 46005182 */ mul.s $f6, $f10, $f0 -/* 0547F0 7F01FCC0 46062200 */ add.s $f8, $f4, $f6 -/* 0547F4 7F01FCC4 E4C80004 */ swc1 $f8, 4($a2) -/* 0547F8 7F01FCC8 C60A0048 */ lwc1 $f10, 0x48($s0) -/* 0547FC 7F01FCCC 46005102 */ mul.s $f4, $f10, $f0 -/* 054800 7F01FCD0 46049180 */ add.s $f6, $f18, $f4 -/* 054804 7F01FCD4 E4C60008 */ swc1 $f6, 8($a2) -/* 054808 7F01FCD8 8FA80038 */ lw $t0, 0x38($sp) -/* 05480C 7F01FCDC C4480000 */ lwc1 $f8, ($v0) -/* 054810 7F01FCE0 C604003C */ lwc1 $f4, 0x3c($s0) -/* 054814 7F01FCE4 C50A00A4 */ lwc1 $f10, 0xa4($t0) -/* 054818 7F01FCE8 460A4482 */ mul.s $f18, $f8, $f10 -/* 05481C 7F01FCEC C6080038 */ lwc1 $f8, 0x38($s0) -/* 054820 7F01FCF0 46122180 */ add.s $f6, $f4, $f18 -/* 054824 7F01FCF4 E606003C */ swc1 $f6, 0x3c($s0) -/* 054828 7F01FCF8 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 05482C 7F01FCFC 460A403C */ c.lt.s $f8, $f10 -/* 054830 7F01FD00 00000000 */ nop -/* 054834 7F01FD04 45000002 */ bc1f .L7F01FD10 -/* 054838 7F01FD08 00000000 */ nop -/* 05483C 7F01FD0C E60C0038 */ swc1 $f12, 0x38($s0) -.L7F01FD10: -/* 054840 7F01FD10 3C028005 */ lui $v0, %hi(global_timer_delta) -/* 054844 7F01FD14 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 -/* 054848 7F01FD18 C4520000 */ lwc1 $f18, ($v0) -/* 05484C 7F01FD1C C60400B0 */ lwc1 $f4, 0xb0($s0) -/* 054850 7F01FD20 C6280000 */ lwc1 $f8, ($s1) -/* 054854 7F01FD24 240A0001 */ li $t2, 1 -/* 054858 7F01FD28 46122182 */ mul.s $f6, $f4, $f18 -/* 05485C 7F01FD2C 02002025 */ move $a0, $s0 -/* 054860 7F01FD30 02203825 */ move $a3, $s1 -/* 054864 7F01FD34 46064280 */ add.s $f10, $f8, $f6 -/* 054868 7F01FD38 C6260008 */ lwc1 $f6, 8($s1) -/* 05486C 7F01FD3C E62A0000 */ swc1 $f10, ($s1) -/* 054870 7F01FD40 C4520000 */ lwc1 $f18, ($v0) -/* 054874 7F01FD44 C60400B8 */ lwc1 $f4, 0xb8($s0) -/* 054878 7F01FD48 46122202 */ mul.s $f8, $f4, $f18 -/* 05487C 7F01FD4C 46083280 */ add.s $f10, $f6, $f8 -/* 054880 7F01FD50 E62A0008 */ swc1 $f10, 8($s1) -/* 054884 7F01FD54 8E090018 */ lw $t1, 0x18($s0) -/* 054888 7F01FD58 8FA6003C */ lw $a2, 0x3c($sp) -/* 05488C 7F01FD5C 8D250014 */ lw $a1, 0x14($t1) -/* 054890 7F01FD60 AFA30028 */ sw $v1, 0x28($sp) -/* 054894 7F01FD64 0FC07D85 */ jal sub_GAME_7F01F614 -/* 054898 7F01FD68 AFAA0010 */ sw $t2, 0x10($sp) -/* 05489C 7F01FD6C 10400006 */ beqz $v0, .L7F01FD88 -/* 0548A0 7F01FD70 8FA30028 */ lw $v1, 0x28($sp) -/* 0548A4 7F01FD74 8E0B0018 */ lw $t3, 0x18($s0) -/* 0548A8 7F01FD78 240C0001 */ li $t4, 1 -/* 0548AC 7F01FD7C 02201825 */ move $v1, $s1 -/* 0548B0 7F01FD80 AD620014 */ sw $v0, 0x14($t3) -/* 0548B4 7F01FD84 AFAC0030 */ sw $t4, 0x30($sp) -.L7F01FD88: -/* 0548B8 7F01FD88 8E0D0014 */ lw $t5, 0x14($s0) -/* 0548BC 7F01FD8C 31AF1000 */ andi $t7, $t5, 0x1000 -/* 0548C0 7F01FD90 55E0007A */ bnezl $t7, .L7F01FF7C -/* 0548C4 7F01FD94 C60E00AC */ lwc1 $f14, 0xac($s0) -/* 0548C8 7F01FD98 8E180018 */ lw $t8, 0x18($s0) -/* 0548CC 7F01FD9C 8C650000 */ lw $a1, ($v1) -/* 0548D0 7F01FDA0 8C660008 */ lw $a2, 8($v1) -/* 0548D4 7F01FDA4 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0548D8 7F01FDA8 8F040014 */ lw $a0, 0x14($t8) -/* 0548DC 7F01FDAC 8E190014 */ lw $t9, 0x14($s0) -/* 0548E0 7F01FDB0 44806000 */ mtc1 $zero, $f12 -/* 0548E4 7F01FDB4 46000386 */ mov.s $f14, $f0 -/* 0548E8 7F01FDB8 332E0001 */ andi $t6, $t9, 1 -/* 0548EC 7F01FDBC 11C00014 */ beqz $t6, .L7F01FE10 -/* 0548F0 7F01FDC0 E60000AC */ swc1 $f0, 0xac($s0) -/* 0548F4 7F01FDC4 8FA40038 */ lw $a0, 0x38($sp) -/* 0548F8 7F01FDC8 8C880008 */ lw $t0, 8($a0) -/* 0548FC 7F01FDCC 8D050000 */ lw $a1, ($t0) -/* 054900 7F01FDD0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 054904 7F01FDD4 E7AE002C */ swc1 $f14, 0x2c($sp) -/* 054908 7F01FDD8 8E090014 */ lw $t1, 0x14($s0) -/* 05490C 7F01FDDC C60200AC */ lwc1 $f2, 0xac($s0) -/* 054910 7F01FDE0 2401FFFE */ li $at, -2 -/* 054914 7F01FDE4 C7AE002C */ lwc1 $f14, 0x2c($sp) -/* 054918 7F01FDE8 01215024 */ and $t2, $t1, $at -/* 05491C 7F01FDEC AE0A0014 */ sw $t2, 0x14($s0) -/* 054920 7F01FDF0 3C018005 */ lui $at, %hi(D_80051D10) -/* 054924 7F01FDF4 E60200A8 */ swc1 $f2, 0xa8($s0) -/* 054928 7F01FDF8 C4241D10 */ lwc1 $f4, %lo(D_80051D10)($at) -/* 05492C 7F01FDFC 46041483 */ div.s $f18, $f2, $f4 -/* 054930 7F01FE00 E61200A4 */ swc1 $f18, 0xa4($s0) -/* 054934 7F01FE04 C4460028 */ lwc1 $f6, 0x28($v0) -/* 054938 7F01FE08 10000055 */ b .L7F01FF60 -/* 05493C 7F01FE0C E4460038 */ swc1 $f6, 0x38($v0) -.L7F01FE10: -/* 054940 7F01FE10 C60800B4 */ lwc1 $f8, 0xb4($s0) -/* 054944 7F01FE14 260400A8 */ addiu $a0, $s0, 0xa8 -/* 054948 7F01FE18 260500B4 */ addiu $a1, $s0, 0xb4 -/* 05494C 7F01FE1C 46086032 */ c.eq.s $f12, $f8 -/* 054950 7F01FE20 3C068005 */ lui $a2, %hi(global_timer_delta) -/* 054954 7F01FE24 45000007 */ bc1f .L7F01FE44 -/* 054958 7F01FE28 00000000 */ nop -/* 05495C 7F01FE2C C60200AC */ lwc1 $f2, 0xac($s0) -/* 054960 7F01FE30 C60000A8 */ lwc1 $f0, 0xa8($s0) -/* 054964 7F01FE34 4600103C */ c.lt.s $f2, $f0 -/* 054968 7F01FE38 00000000 */ nop -/* 05496C 7F01FE3C 45020013 */ bc1fl .L7F01FE8C -/* 054970 7F01FE40 4602003E */ c.le.s $f0, $f2 -.L7F01FE44: -/* 054974 7F01FE44 8CC68378 */ lw $a2, %lo(global_timer_delta)($a2) -/* 054978 7F01FE48 0FC15F51 */ jal sub_GAME_7F057D44 -/* 05497C 7F01FE4C E7AE002C */ swc1 $f14, 0x2c($sp) -/* 054980 7F01FE50 C60200AC */ lwc1 $f2, 0xac($s0) -/* 054984 7F01FE54 C60000A8 */ lwc1 $f0, 0xa8($s0) -/* 054988 7F01FE58 44806000 */ mtc1 $zero, $f12 -/* 05498C 7F01FE5C C7AE002C */ lwc1 $f14, 0x2c($sp) -/* 054990 7F01FE60 4602003E */ c.le.s $f0, $f2 -/* 054994 7F01FE64 3C018005 */ lui $at, %hi(D_80051D14) -/* 054998 7F01FE68 45020008 */ bc1fl .L7F01FE8C -/* 05499C 7F01FE6C 4602003E */ c.le.s $f0, $f2 -/* 0549A0 7F01FE70 E60200A8 */ swc1 $f2, 0xa8($s0) -/* 0549A4 7F01FE74 C42A1D14 */ lwc1 $f10, %lo(D_80051D14)($at) -/* 0549A8 7F01FE78 E60C00B4 */ swc1 $f12, 0xb4($s0) -/* 0549AC 7F01FE7C C60000A8 */ lwc1 $f0, 0xa8($s0) -/* 0549B0 7F01FE80 460A1103 */ div.s $f4, $f2, $f10 -/* 0549B4 7F01FE84 E60400A4 */ swc1 $f4, 0xa4($s0) -/* 0549B8 7F01FE88 4602003E */ c.le.s $f0, $f2 -.L7F01FE8C: -/* 0549BC 7F01FE8C 3C038005 */ lui $v1, %hi(clock_timer) -/* 0549C0 7F01FE90 24638374 */ addiu $v1, %lo(clock_timer) # addiu $v1, $v1, -0x7c8c -/* 0549C4 7F01FE94 45020033 */ bc1fl .L7F01FF64 -/* 0549C8 7F01FE98 C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 0549CC 7F01FE9C 8C6B0000 */ lw $t3, ($v1) -/* 0549D0 7F01FEA0 00001025 */ move $v0, $zero -/* 0549D4 7F01FEA4 3C018005 */ lui $at, %hi(D_80051D18) -/* 0549D8 7F01FEA8 19600011 */ blez $t3, .L7F01FEF0 -/* 0549DC 7F01FEAC 00000000 */ nop -/* 0549E0 7F01FEB0 C4201D18 */ lwc1 $f0, %lo(D_80051D18)($at) -/* 0549E4 7F01FEB4 C61200A4 */ lwc1 $f18, 0xa4($s0) -.L7F01FEB8: -/* 0549E8 7F01FEB8 C60A00B0 */ lwc1 $f10, 0xb0($s0) -/* 0549EC 7F01FEBC 24420001 */ addiu $v0, $v0, 1 -/* 0549F0 7F01FEC0 46009182 */ mul.s $f6, $f18, $f0 -/* 0549F4 7F01FEC4 C61200B8 */ lwc1 $f18, 0xb8($s0) -/* 0549F8 7F01FEC8 46005102 */ mul.s $f4, $f10, $f0 -/* 0549FC 7F01FECC 46023200 */ add.s $f8, $f6, $f2 -/* 054A00 7F01FED0 46009182 */ mul.s $f6, $f18, $f0 -/* 054A04 7F01FED4 E60400B0 */ swc1 $f4, 0xb0($s0) -/* 054A08 7F01FED8 E60800A4 */ swc1 $f8, 0xa4($s0) -/* 054A0C 7F01FEDC E60600B8 */ swc1 $f6, 0xb8($s0) -/* 054A10 7F01FEE0 8C6C0000 */ lw $t4, ($v1) -/* 054A14 7F01FEE4 004C082A */ slt $at, $v0, $t4 -/* 054A18 7F01FEE8 5420FFF3 */ bnezl $at, .L7F01FEB8 -/* 054A1C 7F01FEEC C61200A4 */ lwc1 $f18, 0xa4($s0) -.L7F01FEF0: -/* 054A20 7F01FEF0 3C018005 */ lui $at, %hi(D_80051D1C) -/* 054A24 7F01FEF4 C4221D1C */ lwc1 $f2, %lo(D_80051D1C)($at) -/* 054A28 7F01FEF8 3C018005 */ lui $at, %hi(D_80051D20) -/* 054A2C 7F01FEFC C42A1D20 */ lwc1 $f10, %lo(D_80051D20)($at) -/* 054A30 7F01FF00 C60800A4 */ lwc1 $f8, 0xa4($s0) -/* 054A34 7F01FF04 C60000B0 */ lwc1 $f0, 0xb0($s0) -/* 054A38 7F01FF08 3C018005 */ lui $at, %hi(D_80051D24) -/* 054A3C 7F01FF0C 460A4102 */ mul.s $f4, $f8, $f10 -/* 054A40 7F01FF10 4602003C */ c.lt.s $f0, $f2 -/* 054A44 7F01FF14 00000000 */ nop -/* 054A48 7F01FF18 45000011 */ bc1f .L7F01FF60 -/* 054A4C 7F01FF1C E60400A8 */ swc1 $f4, 0xa8($s0) -/* 054A50 7F01FF20 C4301D24 */ lwc1 $f16, %lo(D_80051D24)($at) -/* 054A54 7F01FF24 4600803C */ c.lt.s $f16, $f0 -/* 054A58 7F01FF28 00000000 */ nop -/* 054A5C 7F01FF2C 4502000D */ bc1fl .L7F01FF64 -/* 054A60 7F01FF30 C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 054A64 7F01FF34 C60000B8 */ lwc1 $f0, 0xb8($s0) -/* 054A68 7F01FF38 4602003C */ c.lt.s $f0, $f2 -/* 054A6C 7F01FF3C 00000000 */ nop -/* 054A70 7F01FF40 45020008 */ bc1fl .L7F01FF64 -/* 054A74 7F01FF44 C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 054A78 7F01FF48 4600803C */ c.lt.s $f16, $f0 -/* 054A7C 7F01FF4C 00000000 */ nop -/* 054A80 7F01FF50 45020004 */ bc1fl .L7F01FF64 -/* 054A84 7F01FF54 C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 054A88 7F01FF58 E60C00B8 */ swc1 $f12, 0xb8($s0) -/* 054A8C 7F01FF5C E60C00B0 */ swc1 $f12, 0xb0($s0) -.L7F01FF60: -/* 054A90 7F01FF60 C60600A8 */ lwc1 $f6, 0xa8($s0) -.L7F01FF64: -/* 054A94 7F01FF64 C6320004 */ lwc1 $f18, 4($s1) -/* 054A98 7F01FF68 460E3201 */ sub.s $f8, $f6, $f14 -/* 054A9C 7F01FF6C 46089280 */ add.s $f10, $f18, $f8 -/* 054AA0 7F01FF70 10000002 */ b .L7F01FF7C -/* 054AA4 7F01FF74 E62A0004 */ swc1 $f10, 4($s1) -/* 054AA8 7F01FF78 C60E00AC */ lwc1 $f14, 0xac($s0) -.L7F01FF7C: -/* 054AAC 7F01FF7C 8FAD0044 */ lw $t5, 0x44($sp) -.L7F01FF80: -/* 054AB0 7F01FF80 24020001 */ li $v0, 1 -/* 054AB4 7F01FF84 E5AE0000 */ swc1 $f14, ($t5) -/* 054AB8 7F01FF88 8FAF0030 */ lw $t7, 0x30($sp) -/* 054ABC 7F01FF8C 8FB8003C */ lw $t8, 0x3c($sp) -/* 054AC0 7F01FF90 55E00007 */ bnezl $t7, .L7F01FFB0 -/* 054AC4 7F01FF94 8FBF0024 */ lw $ra, 0x24($sp) -/* 054AC8 7F01FF98 C7040000 */ lwc1 $f4, ($t8) -/* 054ACC 7F01FF9C E6240000 */ swc1 $f4, ($s1) -/* 054AD0 7F01FFA0 8FB9003C */ lw $t9, 0x3c($sp) -/* 054AD4 7F01FFA4 C7260008 */ lwc1 $f6, 8($t9) -/* 054AD8 7F01FFA8 E6260008 */ swc1 $f6, 8($s1) -/* 054ADC 7F01FFAC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F01FFB0: -/* 054AE0 7F01FFB0 8FB0001C */ lw $s0, 0x1c($sp) -/* 054AE4 7F01FFB4 8FB10020 */ lw $s1, 0x20($sp) -/* 054AE8 7F01FFB8 03E00008 */ jr $ra -/* 054AEC 7F01FFBC 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif -#endif - - -#ifdef NONMATCHING -void get_next_available_guardID(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_next_available_guardID -/* 054AF0 7F01FFC0 3C048003 */ lui $a0, %hi(num_guards) -/* 054AF4 7F01FFC4 8C84CC68 */ lw $a0, %lo(num_guards)($a0) -/* 054AF8 7F01FFC8 00001825 */ move $v1, $zero -/* 054AFC 7F01FFCC 00001025 */ move $v0, $zero -/* 054B00 7F01FFD0 1880000F */ blez $a0, .L7F020010 -/* 054B04 7F01FFD4 3C058003 */ lui $a1, %hi(ptr_guard_data) -/* 054B08 7F01FFD8 00043100 */ sll $a2, $a0, 4 -/* 054B0C 7F01FFDC 00C43023 */ subu $a2, $a2, $a0 -/* 054B10 7F01FFE0 000630C0 */ sll $a2, $a2, 3 -/* 054B14 7F01FFE4 00C43023 */ subu $a2, $a2, $a0 -/* 054B18 7F01FFE8 00063080 */ sll $a2, $a2, 2 -/* 054B1C 7F01FFEC 8CA5CC64 */ lw $a1, %lo(ptr_guard_data)($a1) -.L7F01FFF0: -/* 054B20 7F01FFF0 8CAE001C */ lw $t6, 0x1c($a1) -/* 054B24 7F01FFF4 244201DC */ addiu $v0, $v0, 0x1dc -/* 054B28 7F01FFF8 0046082A */ slt $at, $v0, $a2 -/* 054B2C 7F01FFFC 15C00002 */ bnez $t6, .L7F020008 -/* 054B30 7F020000 00000000 */ nop -/* 054B34 7F020004 24630001 */ addiu $v1, $v1, 1 -.L7F020008: -/* 054B38 7F020008 1420FFF9 */ bnez $at, .L7F01FFF0 -/* 054B3C 7F02000C 24A501DC */ addiu $a1, $a1, 0x1dc -.L7F020010: -/* 054B40 7F020010 03E00008 */ jr $ra -/* 054B44 7F020014 00601025 */ move $v0, $v1 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F020018(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F020018 -/* 054B48 7F020018 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 054B4C 7F02001C AFBF0014 */ sw $ra, 0x14($sp) -/* 054B50 7F020020 AFA40018 */ sw $a0, 0x18($sp) -/* 054B54 7F020024 0FC074BA */ jal get_007_health_mod -/* 054B58 7F020028 AFA5001C */ sw $a1, 0x1c($sp) -/* 054B5C 7F02002C C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 054B60 7F020030 8FAE0018 */ lw $t6, 0x18($sp) -/* 054B64 7F020034 46040182 */ mul.s $f6, $f0, $f4 -/* 054B68 7F020038 E5C60100 */ swc1 $f6, 0x100($t6) -/* 054B6C 7F02003C 8FBF0014 */ lw $ra, 0x14($sp) -/* 054B70 7F020040 27BD0018 */ addiu $sp, $sp, 0x18 -/* 054B74 7F020044 03E00008 */ jr $ra -/* 054B78 7F020048 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02004C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02004C -/* 054B7C 7F02004C 03E00008 */ jr $ra -/* 054B80 7F020050 C4800100 */ lwc1 $f0, 0x100($a0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F020054(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F020054 -/* 054B84 7F020054 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 054B88 7F020058 AFBF0014 */ sw $ra, 0x14($sp) -/* 054B8C 7F02005C AFA40018 */ sw $a0, 0x18($sp) -/* 054B90 7F020060 0FC074BA */ jal get_007_health_mod -/* 054B94 7F020064 AFA5001C */ sw $a1, 0x1c($sp) -/* 054B98 7F020068 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 054B9C 7F02006C 8FA20018 */ lw $v0, 0x18($sp) -/* 054BA0 7F020070 46003202 */ mul.s $f8, $f6, $f0 -/* 054BA4 7F020074 C44400FC */ lwc1 $f4, 0xfc($v0) -/* 054BA8 7F020078 46082281 */ sub.s $f10, $f4, $f8 -/* 054BAC 7F02007C E44A00FC */ swc1 $f10, 0xfc($v0) -/* 054BB0 7F020080 8FBF0014 */ lw $ra, 0x14($sp) -/* 054BB4 7F020084 27BD0018 */ addiu $sp, $sp, 0x18 -/* 054BB8 7F020088 03E00008 */ jr $ra -/* 054BBC 7F02008C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F020090(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F020090 -/* 054BC0 7F020090 44806000 */ mtc1 $zero, $f12 -/* 054BC4 7F020094 C48200FC */ lwc1 $f2, 0xfc($a0) -/* 054BC8 7F020098 460C103C */ c.lt.s $f2, $f12 -/* 054BCC 7F02009C 00000000 */ nop -/* 054BD0 7F0200A0 45020004 */ bc1fl .L7F0200B4 -/* 054BD4 7F0200A4 46006006 */ mov.s $f0, $f12 -/* 054BD8 7F0200A8 03E00008 */ jr $ra -/* 054BDC 7F0200AC 46001007 */ neg.s $f0, $f2 - -/* 054BE0 7F0200B0 46006006 */ mov.s $f0, $f12 -.L7F0200B4: -/* 054BE4 7F0200B4 03E00008 */ jr $ra -/* 054BE8 7F0200B8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void init_GUARDdata_with_set_values(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_GUARDdata_with_set_values -/* 054BEC 7F0200BC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 054BF0 7F0200C0 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 054BF4 7F0200C4 4487A000 */ mtc1 $a3, $f20 -/* 054BF8 7F0200C8 3C078003 */ lui $a3, %hi(num_guards) -/* 054BFC 7F0200CC 8CE7CC68 */ lw $a3, %lo(num_guards)($a3) -/* 054C00 7F0200D0 AFB30028 */ sw $s3, 0x28($sp) -/* 054C04 7F0200D4 AFB20024 */ sw $s2, 0x24($sp) -/* 054C08 7F0200D8 AFB10020 */ sw $s1, 0x20($sp) -/* 054C0C 7F0200DC AFB0001C */ sw $s0, 0x1c($sp) -/* 054C10 7F0200E0 00808825 */ move $s1, $a0 -/* 054C14 7F0200E4 00A09025 */ move $s2, $a1 -/* 054C18 7F0200E8 00C09825 */ move $s3, $a2 -/* 054C1C 7F0200EC AFBF002C */ sw $ra, 0x2c($sp) -/* 054C20 7F0200F0 00008025 */ move $s0, $zero -/* 054C24 7F0200F4 18E0000E */ blez $a3, .L7F020130 -/* 054C28 7F0200F8 00001025 */ move $v0, $zero -/* 054C2C 7F0200FC 3C058003 */ lui $a1, %hi(ptr_guard_data) -/* 054C30 7F020100 8CA5CC64 */ lw $a1, %lo(ptr_guard_data)($a1) -/* 054C34 7F020104 00002025 */ move $a0, $zero -/* 054C38 7F020108 00A01825 */ move $v1, $a1 -.L7F02010C: -/* 054C3C 7F02010C 8C6E001C */ lw $t6, 0x1c($v1) -/* 054C40 7F020110 24420001 */ addiu $v0, $v0, 1 -/* 054C44 7F020114 0047082A */ slt $at, $v0, $a3 -/* 054C48 7F020118 15C00003 */ bnez $t6, .L7F020128 -/* 054C4C 7F02011C 246301DC */ addiu $v1, $v1, 0x1dc -/* 054C50 7F020120 10000003 */ b .L7F020130 -/* 054C54 7F020124 00858021 */ addu $s0, $a0, $a1 -.L7F020128: -/* 054C58 7F020128 1420FFF8 */ bnez $at, .L7F02010C -/* 054C5C 7F02012C 248401DC */ addiu $a0, $a0, 0x1dc -.L7F020130: -/* 054C60 7F020130 240F0003 */ li $t7, 3 -/* 054C64 7F020134 A22F0000 */ sb $t7, ($s1) -/* 054C68 7F020138 AE300004 */ sw $s0, 4($s1) -/* 054C6C 7F02013C C6640000 */ lwc1 $f4, ($s3) -/* 054C70 7F020140 3C057F02 */ lui $a1, %hi(sub_GAME_7F01FC10) # $a1, 0x7f02 -/* 054C74 7F020144 24A5FC10 */ addiu $a1, %lo(sub_GAME_7F01FC10) # addiu $a1, $a1, -0x3f0 -/* 054C78 7F020148 E6240008 */ swc1 $f4, 8($s1) -/* 054C7C 7F02014C C6660004 */ lwc1 $f6, 4($s3) -/* 054C80 7F020150 02402025 */ move $a0, $s2 -/* 054C84 7F020154 E626000C */ swc1 $f6, 0xc($s1) -/* 054C88 7F020158 C6680008 */ lwc1 $f8, 8($s3) -/* 054C8C 7F02015C E6280010 */ swc1 $f8, 0x10($s1) -/* 054C90 7F020160 8FB80040 */ lw $t8, 0x40($sp) -/* 054C94 7F020164 0FC1BFD7 */ jal sub_GAME_7F06FF5C -/* 054C98 7F020168 AE380014 */ sw $t8, 0x14($s1) -/* 054C9C 7F02016C 2419000A */ li $t9, 10 -/* 054CA0 7F020170 A6590000 */ sh $t9, ($s2) -/* 054CA4 7F020174 AE500004 */ sw $s0, 4($s2) -/* 054CA8 7F020178 02402025 */ move $a0, $s2 -/* 054CAC 7F02017C 0FC1B303 */ jal setsuboffset -/* 054CB0 7F020180 02602825 */ move $a1, $s3 -/* 054CB4 7F020184 4405A000 */ mfc1 $a1, $f20 -/* 054CB8 7F020188 0FC1B34F */ jal setsubroty -/* 054CBC 7F02018C 02402025 */ move $a0, $s2 -/* 054CC0 7F020190 4480A000 */ mtc1 $zero, $f20 -/* 054CC4 7F020194 3C058003 */ lui $a1, %hi(animation_rate) -/* 054CC8 7F020198 8CA5C900 */ lw $a1, %lo(animation_rate)($a1) -/* 054CCC 7F02019C 4406A000 */ mfc1 $a2, $f20 -/* 054CD0 7F0201A0 0FC1BFC6 */ jal sub_GAME_7F06FF18 -/* 054CD4 7F0201A4 02402025 */ move $a0, $s2 -/* 054CD8 7F0201A8 3C028003 */ lui $v0, %hi(player1_guardID) -/* 054CDC 7F0201AC 2442CC60 */ addiu $v0, %lo(player1_guardID) # addiu $v0, $v0, -0x33a0 -/* 054CE0 7F0201B0 8C480000 */ lw $t0, ($v0) -/* 054CE4 7F0201B4 3C0B8005 */ lui $t3, %hi(global_timer) -/* 054CE8 7F0201B8 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 054CEC 7F0201BC A6080000 */ sh $t0, ($s0) -/* 054CF0 7F0201C0 8C490000 */ lw $t1, ($v0) -/* 054CF4 7F0201C4 44815000 */ mtc1 $at, $f10 -/* 054CF8 7F0201C8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 054CFC 7F0201CC 252A0001 */ addiu $t2, $t1, 1 -/* 054D00 7F0201D0 AC4A0000 */ sw $t2, ($v0) -/* 054D04 7F0201D4 A2000006 */ sb $zero, 6($s0) -/* 054D08 7F0201D8 A200000F */ sb $zero, 0xf($s0) -/* 054D0C 7F0201DC AE110018 */ sw $s1, 0x18($s0) -/* 054D10 7F0201E0 AE12001C */ sw $s2, 0x1c($s0) -/* 054D14 7F0201E4 AE000020 */ sw $zero, 0x20($s0) -/* 054D18 7F0201E8 A200000B */ sb $zero, 0xb($s0) -/* 054D1C 7F0201EC AE0000C8 */ sw $zero, 0xc8($s0) -/* 054D20 7F0201F0 A2000009 */ sb $zero, 9($s0) -/* 054D24 7F0201F4 8D6B837C */ lw $t3, %lo(global_timer)($t3) -/* 054D28 7F0201F8 44818000 */ mtc1 $at, $f16 -/* 054D2C 7F0201FC AE0000D4 */ sw $zero, 0xd4($s0) -/* 054D30 7F020200 E61400D8 */ swc1 $f20, 0xd8($s0) -/* 054D34 7F020204 E61400DC */ swc1 $f20, 0xdc($s0) -/* 054D38 7F020208 E61400E0 */ swc1 $f20, 0xe0($s0) -/* 054D3C 7F02020C AE0000E4 */ sw $zero, 0xe4($s0) -/* 054D40 7F020210 AE0000E8 */ sw $zero, 0xe8($s0) -/* 054D44 7F020214 AE0000F0 */ sw $zero, 0xf0($s0) -/* 054D48 7F020218 A200000A */ sb $zero, 0xa($s0) -/* 054D4C 7F02021C E614013C */ swc1 $f20, 0x13c($s0) -/* 054D50 7F020220 E61400FC */ swc1 $f20, 0xfc($s0) -/* 054D54 7F020224 E60A00D0 */ swc1 $f10, 0xd0($s0) -/* 054D58 7F020228 AE0B00CC */ sw $t3, 0xcc($s0) -/* 054D5C 7F02022C 0FC074BA */ jal get_007_health_mod -/* 054D60 7F020230 E61000EC */ swc1 $f16, 0xec($s0) -/* 054D64 7F020234 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 054D68 7F020238 44819000 */ mtc1 $at, $f18 -/* 054D6C 7F02023C 02202025 */ move $a0, $s1 -/* 054D70 7F020240 260500F8 */ addiu $a1, $s0, 0xf8 -/* 054D74 7F020244 46120102 */ mul.s $f4, $f0, $f18 -/* 054D78 7F020248 0FC10027 */ jal set_color_shading_from_tile -/* 054D7C 7F02024C E6040100 */ swc1 $f4, 0x100($s0) -/* 054D80 7F020250 920C00F8 */ lbu $t4, 0xf8($s0) -/* 054D84 7F020254 920D00F9 */ lbu $t5, 0xf9($s0) -/* 054D88 7F020258 920E00FA */ lbu $t6, 0xfa($s0) -/* 054D8C 7F02025C 920F00FB */ lbu $t7, 0xfb($s0) -/* 054D90 7F020260 241800FF */ li $t8, 255 -/* 054D94 7F020264 24190001 */ li $t9, 1 -/* 054D98 7F020268 A218000C */ sb $t8, 0xc($s0) -/* 054D9C 7F02026C AE000168 */ sw $zero, 0x168($s0) -/* 054DA0 7F020270 AE00016C */ sw $zero, 0x16c($s0) -/* 054DA4 7F020274 AE000170 */ sw $zero, 0x170($s0) -/* 054DA8 7F020278 AE000174 */ sw $zero, 0x174($s0) -/* 054DAC 7F02027C AE000178 */ sw $zero, 0x178($s0) -/* 054DB0 7F020280 AE00017C */ sw $zero, 0x17c($s0) -/* 054DB4 7F020284 AE190014 */ sw $t9, 0x14($s0) -/* 054DB8 7F020288 A6000012 */ sh $zero, 0x12($s0) -/* 054DBC 7F02028C E61400A4 */ swc1 $f20, 0xa4($s0) -/* 054DC0 7F020290 E61400A8 */ swc1 $f20, 0xa8($s0) -/* 054DC4 7F020294 E61400AC */ swc1 $f20, 0xac($s0) -/* 054DC8 7F020298 E61400B0 */ swc1 $f20, 0xb0($s0) -/* 054DCC 7F02029C E61400B4 */ swc1 $f20, 0xb4($s0) -/* 054DD0 7F0202A0 E61400B8 */ swc1 $f20, 0xb8($s0) -/* 054DD4 7F0202A4 A20C00F4 */ sb $t4, 0xf4($s0) -/* 054DD8 7F0202A8 A20D00F5 */ sb $t5, 0xf5($s0) -/* 054DDC 7F0202AC A20E00F6 */ sb $t6, 0xf6($s0) -/* 054DE0 7F0202B0 A20F00F7 */ sb $t7, 0xf7($s0) -/* 054DE4 7F0202B4 C6660000 */ lwc1 $f6, ($s3) -/* 054DE8 7F0202B8 2402FFFF */ li $v0, -1 -/* 054DEC 7F0202BC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 054DF0 7F0202C0 E60600BC */ swc1 $f6, 0xbc($s0) -/* 054DF4 7F0202C4 C6680004 */ lwc1 $f8, 4($s3) -/* 054DF8 7F0202C8 44818000 */ mtc1 $at, $f16 -/* 054DFC 7F0202CC 3C014339 */ li $at, 0x43390000 # 185.000000 -/* 054E00 7F0202D0 E60800C0 */ swc1 $f8, 0xc0($s0) -/* 054E04 7F0202D4 C66A0008 */ lwc1 $f10, 8($s3) -/* 054E08 7F0202D8 A2000007 */ sb $zero, 7($s0) -/* 054E0C 7F0202DC A2000008 */ sb $zero, 8($s0) -/* 054E10 7F0202E0 E60A00C4 */ swc1 $f10, 0xc4($s0) -/* 054E14 7F0202E4 8FA80044 */ lw $t0, 0x44($sp) -/* 054E18 7F0202E8 44819000 */ mtc1 $at, $f18 -/* 054E1C 7F0202EC 26250008 */ addiu $a1, $s1, 8 -/* 054E20 7F0202F0 A6000108 */ sh $zero, 0x108($s0) -/* 054E24 7F0202F4 A602010A */ sh $v0, 0x10a($s0) -/* 054E28 7F0202F8 A200010C */ sb $zero, 0x10c($s0) -/* 054E2C 7F0202FC A200010D */ sb $zero, 0x10d($s0) -/* 054E30 7F020300 A200010E */ sb $zero, 0x10e($s0) -/* 054E34 7F020304 A200010F */ sb $zero, 0x10f($s0) -/* 054E38 7F020308 AE000110 */ sw $zero, 0x110($s0) -/* 054E3C 7F02030C A6020114 */ sh $v0, 0x114($s0) -/* 054E40 7F020310 A6020118 */ sh $v0, 0x118($s0) -/* 054E44 7F020314 A602011A */ sh $v0, 0x11a($s0) -/* 054E48 7F020318 A6020116 */ sh $v0, 0x116($s0) -/* 054E4C 7F02031C A2020180 */ sb $v0, 0x180($s0) -/* 054E50 7F020320 A20201AC */ sb $v0, 0x1ac($s0) -/* 054E54 7F020324 A2000004 */ sb $zero, 4($s0) -/* 054E58 7F020328 A2000005 */ sb $zero, 5($s0) -/* 054E5C 7F02032C A2000010 */ sb $zero, 0x10($s0) -/* 054E60 7F020330 A2000002 */ sb $zero, 2($s0) -/* 054E64 7F020334 A2000003 */ sb $zero, 3($s0) -/* 054E68 7F020338 A200000D */ sb $zero, 0xd($s0) -/* 054E6C 7F02033C A2020011 */ sb $v0, 0x11($s0) -/* 054E70 7F020340 E6140140 */ swc1 $f20, 0x140($s0) -/* 054E74 7F020344 E6140144 */ swc1 $f20, 0x144($s0) -/* 054E78 7F020348 E6140148 */ swc1 $f20, 0x148($s0) -/* 054E7C 7F02034C E614014C */ swc1 $f20, 0x14c($s0) -/* 054E80 7F020350 E6140150 */ swc1 $f20, 0x150($s0) -/* 054E84 7F020354 E6140154 */ swc1 $f20, 0x154($s0) -/* 054E88 7F020358 E6140158 */ swc1 $f20, 0x158($s0) -/* 054E8C 7F02035C E614015C */ swc1 $f20, 0x15c($s0) -/* 054E90 7F020360 A200000E */ sb $zero, 0xe($s0) -/* 054E94 7F020364 AE000160 */ sw $zero, 0x160($s0) -/* 054E98 7F020368 AE000164 */ sw $zero, 0x164($s0) -/* 054E9C 7F02036C AE0001D8 */ sw $zero, 0x1d8($s0) -/* 054EA0 7F020370 00A03025 */ move $a2, $a1 -/* 054EA4 7F020374 02402025 */ move $a0, $s2 -/* 054EA8 7F020378 260700AC */ addiu $a3, $s0, 0xac -/* 054EAC 7F02037C E6100024 */ swc1 $f16, 0x24($s0) -/* 054EB0 7F020380 AE080104 */ sw $t0, 0x104($s0) -/* 054EB4 7F020384 0FC07F04 */ jal sub_GAME_7F01FC10 -/* 054EB8 7F020388 E6120028 */ swc1 $f18, 0x28($s0) -/* 054EBC 7F02038C 0FC08365 */ jal sub_GAME_7F020D94 -/* 054EC0 7F020390 02002025 */ move $a0, $s0 -/* 054EC4 7F020394 8FBF002C */ lw $ra, 0x2c($sp) -/* 054EC8 7F020398 02201025 */ move $v0, $s1 -/* 054ECC 7F02039C 8FB10020 */ lw $s1, 0x20($sp) -/* 054ED0 7F0203A0 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 054ED4 7F0203A4 8FB0001C */ lw $s0, 0x1c($sp) -/* 054ED8 7F0203A8 8FB20024 */ lw $s2, 0x24($sp) -/* 054EDC 7F0203AC 8FB30028 */ lw $s3, 0x28($sp) -/* 054EE0 7F0203B0 03E00008 */ jr $ra -/* 054EE4 7F0203B4 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void replace_GUARDdata_with_actual_values(void) { - -} -#else -GLOBAL_ASM( -.text -glabel replace_GUARDdata_with_actual_values -/* 054EE8 7F0203B8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 054EEC 7F0203BC AFBF001C */ sw $ra, 0x1c($sp) -/* 054EF0 7F0203C0 AFA40020 */ sw $a0, 0x20($sp) -/* 054EF4 7F0203C4 AFA50024 */ sw $a1, 0x24($sp) -/* 054EF8 7F0203C8 AFA60028 */ sw $a2, 0x28($sp) -/* 054EFC 7F0203CC 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 054F00 7F0203D0 AFA7002C */ sw $a3, 0x2c($sp) -/* 054F04 7F0203D4 1040000A */ beqz $v0, .L7F020400 -/* 054F08 7F0203D8 00402025 */ move $a0, $v0 -/* 054F0C 7F0203DC 8FAE002C */ lw $t6, 0x2c($sp) -/* 054F10 7F0203E0 8FAF0030 */ lw $t7, 0x30($sp) -/* 054F14 7F0203E4 8FA50020 */ lw $a1, 0x20($sp) -/* 054F18 7F0203E8 8FA60024 */ lw $a2, 0x24($sp) -/* 054F1C 7F0203EC 8FA70028 */ lw $a3, 0x28($sp) -/* 054F20 7F0203F0 AFAE0010 */ sw $t6, 0x10($sp) -/* 054F24 7F0203F4 0FC0802F */ jal init_GUARDdata_with_set_values -/* 054F28 7F0203F8 AFAF0014 */ sw $t7, 0x14($sp) -/* 054F2C 7F0203FC 00402025 */ move $a0, $v0 -.L7F020400: -/* 054F30 7F020400 8FBF001C */ lw $ra, 0x1c($sp) -/* 054F34 7F020404 27BD0020 */ addiu $sp, $sp, 0x20 -/* 054F38 7F020408 00801025 */ move $v0, $a0 -/* 054F3C 7F02040C 03E00008 */ jr $ra -/* 054F40 7F020410 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void disable_sounds_attached_to_player_then_something(void) { - -} -#else -GLOBAL_ASM( -.text -glabel disable_sounds_attached_to_player_then_something -/* 054F44 7F020414 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 054F48 7F020418 AFBF0024 */ sw $ra, 0x24($sp) -/* 054F4C 7F02041C AFB20020 */ sw $s2, 0x20($sp) -/* 054F50 7F020420 AFB1001C */ sw $s1, 0x1c($sp) -/* 054F54 7F020424 AFB00018 */ sw $s0, 0x18($sp) -/* 054F58 7F020428 8C920004 */ lw $s2, 4($a0) -/* 054F5C 7F02042C 00808025 */ move $s0, $a0 -/* 054F60 7F020430 8E4E001C */ lw $t6, 0x1c($s2) -/* 054F64 7F020434 AFAE0028 */ sw $t6, 0x28($sp) -/* 054F68 7F020438 8E450168 */ lw $a1, 0x168($s2) -/* 054F6C 7F02043C 50A00008 */ beql $a1, $zero, .L7F020460 -/* 054F70 7F020440 8E44016C */ lw $a0, 0x16c($s2) -/* 054F74 7F020444 0C00237C */ jal sfxGetArg0Unk3F -/* 054F78 7F020448 00A02025 */ move $a0, $a1 -/* 054F7C 7F02044C 50400004 */ beql $v0, $zero, .L7F020460 -/* 054F80 7F020450 8E44016C */ lw $a0, 0x16c($s2) -/* 054F84 7F020454 0C002408 */ jal sfxDeactivate -/* 054F88 7F020458 8E440168 */ lw $a0, 0x168($s2) -/* 054F8C 7F02045C 8E44016C */ lw $a0, 0x16c($s2) -.L7F020460: -/* 054F90 7F020460 50800008 */ beql $a0, $zero, .L7F020484 -/* 054F94 7F020464 8E440170 */ lw $a0, 0x170($s2) -/* 054F98 7F020468 0C00237C */ jal sfxGetArg0Unk3F -/* 054F9C 7F02046C 00000000 */ nop -/* 054FA0 7F020470 50400004 */ beql $v0, $zero, .L7F020484 -/* 054FA4 7F020474 8E440170 */ lw $a0, 0x170($s2) -/* 054FA8 7F020478 0C002408 */ jal sfxDeactivate -/* 054FAC 7F02047C 8E44016C */ lw $a0, 0x16c($s2) -/* 054FB0 7F020480 8E440170 */ lw $a0, 0x170($s2) -.L7F020484: -/* 054FB4 7F020484 50800008 */ beql $a0, $zero, .L7F0204A8 -/* 054FB8 7F020488 8E440174 */ lw $a0, 0x174($s2) -/* 054FBC 7F02048C 0C00237C */ jal sfxGetArg0Unk3F -/* 054FC0 7F020490 00000000 */ nop -/* 054FC4 7F020494 50400004 */ beql $v0, $zero, .L7F0204A8 -/* 054FC8 7F020498 8E440174 */ lw $a0, 0x174($s2) -/* 054FCC 7F02049C 0C002408 */ jal sfxDeactivate -/* 054FD0 7F0204A0 8E440170 */ lw $a0, 0x170($s2) -/* 054FD4 7F0204A4 8E440174 */ lw $a0, 0x174($s2) -.L7F0204A8: -/* 054FD8 7F0204A8 10800007 */ beqz $a0, .L7F0204C8 -/* 054FDC 7F0204AC 00000000 */ nop -/* 054FE0 7F0204B0 0C00237C */ jal sfxGetArg0Unk3F -/* 054FE4 7F0204B4 00000000 */ nop -/* 054FE8 7F0204B8 10400003 */ beqz $v0, .L7F0204C8 -/* 054FEC 7F0204BC 00000000 */ nop -/* 054FF0 7F0204C0 0C002408 */ jal sfxDeactivate -/* 054FF4 7F0204C4 8E440174 */ lw $a0, 0x174($s2) -.L7F0204C8: -/* 054FF8 7F0204C8 0FC1437A */ jal sub_GAME_7F050DE8 -/* 054FFC 7F0204CC 8FA40028 */ lw $a0, 0x28($sp) -/* 055000 7F0204D0 0FC0F863 */ jal sub_GAME_7F03E18C -/* 055004 7F0204D4 02002025 */ move $a0, $s0 -/* 055008 7F0204D8 8E040020 */ lw $a0, 0x20($s0) -/* 05500C 7F0204DC 10800009 */ beqz $a0, .L7F020504 -/* 055010 7F0204E0 00000000 */ nop -.L7F0204E4: -/* 055014 7F0204E4 8C910004 */ lw $s1, 4($a0) -/* 055018 7F0204E8 0FC13011 */ jal sub_GAME_7F04C044 -/* 05501C 7F0204EC 8C900024 */ lw $s0, 0x24($a0) -/* 055020 7F0204F0 02202025 */ move $a0, $s1 -/* 055024 7F0204F4 0FC10409 */ jal sub_GAME_7F041024 -/* 055028 7F0204F8 24050001 */ li $a1, 1 -/* 05502C 7F0204FC 1600FFF9 */ bnez $s0, .L7F0204E4 -/* 055030 7F020500 02002025 */ move $a0, $s0 -.L7F020504: -/* 055034 7F020504 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero -/* 055038 7F020508 8FA40028 */ lw $a0, 0x28($sp) -/* 05503C 7F02050C 8E440020 */ lw $a0, 0x20($s2) -/* 055040 7F020510 240FFFFF */ li $t7, -1 -/* 055044 7F020514 AE40001C */ sw $zero, 0x1c($s2) -/* 055048 7F020518 10800003 */ beqz $a0, .L7F020528 -/* 05504C 7F02051C A64F0000 */ sh $t7, ($s2) -/* 055050 7F020520 0FC1AC92 */ jal sub_GAME_7F06B248 -/* 055054 7F020524 00000000 */ nop -.L7F020528: -/* 055058 7F020528 8FBF0024 */ lw $ra, 0x24($sp) -/* 05505C 7F02052C 8FB00018 */ lw $s0, 0x18($sp) -/* 055060 7F020530 8FB1001C */ lw $s1, 0x1c($sp) -/* 055064 7F020534 8FB20020 */ lw $s2, 0x20($sp) -/* 055068 7F020538 03E00008 */ jr $ra -/* 05506C 7F02053C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void animation_speed_related(void) { - -} -#else -GLOBAL_ASM( -.text -glabel animation_speed_related -/* 055070 7F020540 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 055074 7F020544 AFB30028 */ sw $s3, 0x28($sp) -/* 055078 7F020548 3C138003 */ lui $s3, %hi(animation_rate) -/* 05507C 7F02054C 2673C900 */ addiu $s3, %lo(animation_rate) # addiu $s3, $s3, -0x3700 -/* 055080 7F020550 E66C0000 */ swc1 $f12, ($s3) -/* 055084 7F020554 3C028003 */ lui $v0, %hi(num_guards) -/* 055088 7F020558 8C42CC68 */ lw $v0, %lo(num_guards)($v0) -/* 05508C 7F02055C AFB10020 */ sw $s1, 0x20($sp) -/* 055090 7F020560 AFBF002C */ sw $ra, 0x2c($sp) -/* 055094 7F020564 AFB20024 */ sw $s2, 0x24($sp) -/* 055098 7F020568 AFB0001C */ sw $s0, 0x1c($sp) -/* 05509C 7F02056C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0550A0 7F020570 18400014 */ blez $v0, .L7F0205C4 -/* 0550A4 7F020574 00008825 */ move $s1, $zero -/* 0550A8 7F020578 3C014416 */ li $at, 0x44160000 # 600.000000 -/* 0550AC 7F02057C 3C128003 */ lui $s2, %hi(ptr_guard_data) -/* 0550B0 7F020580 4481A000 */ mtc1 $at, $f20 -/* 0550B4 7F020584 2652CC64 */ addiu $s2, %lo(ptr_guard_data) # addiu $s2, $s2, -0x339c -/* 0550B8 7F020588 00008025 */ move $s0, $zero -.L7F02058C: -/* 0550BC 7F02058C 8E4E0000 */ lw $t6, ($s2) -/* 0550C0 7F020590 01D07821 */ addu $t7, $t6, $s0 -/* 0550C4 7F020594 8DE4001C */ lw $a0, 0x1c($t7) -/* 0550C8 7F020598 50800007 */ beql $a0, $zero, .L7F0205B8 -/* 0550CC 7F02059C 26310001 */ addiu $s1, $s1, 1 -/* 0550D0 7F0205A0 4406A000 */ mfc1 $a2, $f20 -/* 0550D4 7F0205A4 0FC1BFC6 */ jal sub_GAME_7F06FF18 -/* 0550D8 7F0205A8 8E650000 */ lw $a1, ($s3) -/* 0550DC 7F0205AC 3C028003 */ lui $v0, %hi(num_guards) -/* 0550E0 7F0205B0 8C42CC68 */ lw $v0, %lo(num_guards)($v0) -/* 0550E4 7F0205B4 26310001 */ addiu $s1, $s1, 1 -.L7F0205B8: -/* 0550E8 7F0205B8 0222082A */ slt $at, $s1, $v0 -/* 0550EC 7F0205BC 1420FFF3 */ bnez $at, .L7F02058C -/* 0550F0 7F0205C0 261001DC */ addiu $s0, $s0, 0x1dc -.L7F0205C4: -/* 0550F4 7F0205C4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0550F8 7F0205C8 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0550FC 7F0205CC 8FB0001C */ lw $s0, 0x1c($sp) -/* 055100 7F0205D0 8FB10020 */ lw $s1, 0x20($sp) -/* 055104 7F0205D4 8FB20024 */ lw $s2, 0x24($sp) -/* 055108 7F0205D8 8FB30028 */ lw $s3, 0x28($sp) -/* 05510C 7F0205DC 03E00008 */ jr $ra -/* 055110 7F0205E0 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -f32 get_animation_rate(void) { - return animation_rate; -} - - - -#ifdef NONMATCHING -void sub_GAME_7F0205F0(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F0205F0 -/* 055120 7F0205F0 8082000E */ lb $v0, 0xe($a0) -/* 055124 7F0205F4 28410002 */ slti $at, $v0, 2 -/* 055128 7F0205F8 5420002D */ bnezl $at, .L7F0206B0 -/* 05512C 7F0205FC C4920150 */ lwc1 $f18, 0x150($a0) -/* 055130 7F020600 44823000 */ mtc1 $v0, $f6 -/* 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(global_timer_delta) -/* 055144 7F020614 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 055148 7F020618 46082003 */ div.s $f0, $f4, $f8 -/* 05514C 7F02061C 4600103C */ c.lt.s $f2, $f0 -/* 055150 7F020620 00000000 */ nop -/* 055154 7F020624 45020003 */ bc1fl .L7F020634 -/* 055158 7F020628 C4820140 */ lwc1 $f2, 0x140($a0) -/* 05515C 7F02062C 46001006 */ mov.s $f0, $f2 -/* 055160 7F020630 C4820140 */ lwc1 $f2, 0x140($a0) -.L7F020634: -/* 055164 7F020634 C48A0150 */ lwc1 $f10, 0x150($a0) -/* 055168 7F020638 C48C0144 */ lwc1 $f12, 0x144($a0) -/* 05516C 7F02063C C4880154 */ lwc1 $f8, 0x154($a0) -/* 055170 7F020640 46025481 */ sub.s $f18, $f10, $f2 -/* 055174 7F020644 C48E0148 */ lwc1 $f14, 0x148($a0) -/* 055178 7F020648 C490014C */ lwc1 $f16, 0x14c($a0) -/* 05517C 7F02064C 460C4281 */ sub.s $f10, $f8, $f12 -/* 055180 7F020650 46009182 */ mul.s $f6, $f18, $f0 -/* 055184 7F020654 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 055188 7F020658 808E000E */ lb $t6, 0xe($a0) -/* 05518C 7F02065C 46005482 */ mul.s $f18, $f10, $f0 -/* 055190 7F020660 46061100 */ add.s $f4, $f2, $f6 -/* 055194 7F020664 46126180 */ add.s $f6, $f12, $f18 -/* 055198 7F020668 E4840140 */ swc1 $f4, 0x140($a0) -/* 05519C 7F02066C C4840158 */ lwc1 $f4, 0x158($a0) -/* 0551A0 7F020670 E4860144 */ swc1 $f6, 0x144($a0) -/* 0551A4 7F020674 460E2201 */ sub.s $f8, $f4, $f14 -/* 0551A8 7F020678 C486015C */ lwc1 $f6, 0x15c($a0) -/* 0551AC 7F02067C 46103101 */ sub.s $f4, $f6, $f16 -/* 0551B0 7F020680 46004282 */ mul.s $f10, $f8, $f0 -/* 0551B4 7F020684 00000000 */ nop -/* 0551B8 7F020688 46002202 */ mul.s $f8, $f4, $f0 -/* 0551BC 7F02068C 460A7480 */ add.s $f18, $f14, $f10 -/* 0551C0 7F020690 46088280 */ add.s $f10, $f16, $f8 -/* 0551C4 7F020694 E4920148 */ swc1 $f18, 0x148($a0) -/* 0551C8 7F020698 E48A014C */ swc1 $f10, 0x14c($a0) -/* 0551CC 7F02069C 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 0551D0 7F0206A0 01CFC023 */ subu $t8, $t6, $t7 -/* 0551D4 7F0206A4 03E00008 */ jr $ra -/* 0551D8 7F0206A8 A098000E */ sb $t8, 0xe($a0) - -/* 0551DC 7F0206AC C4920150 */ lwc1 $f18, 0x150($a0) -.L7F0206B0: -/* 0551E0 7F0206B0 C4860154 */ lwc1 $f6, 0x154($a0) -/* 0551E4 7F0206B4 C4840158 */ lwc1 $f4, 0x158($a0) -/* 0551E8 7F0206B8 C488015C */ lwc1 $f8, 0x15c($a0) -/* 0551EC 7F0206BC E4920140 */ swc1 $f18, 0x140($a0) -/* 0551F0 7F0206C0 E4860144 */ swc1 $f6, 0x144($a0) -/* 0551F4 7F0206C4 E4840148 */ swc1 $f4, 0x148($a0) -/* 0551F8 7F0206C8 E488014C */ swc1 $f8, 0x14c($a0) -/* 0551FC 7F0206CC 03E00008 */ jr $ra -/* 055200 7F0206D0 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F0205F0 -/* 055120 7F0205F0 8082000E */ lb $v0, 0xe($a0) -/* 055124 7F0205F4 28410002 */ slti $at, $v0, 2 -/* 055128 7F0205F8 5420002D */ bnezl $at, .L7F0206B0 -/* 05512C 7F0205FC C4920150 */ lwc1 $f18, 0x150($a0) -/* 055130 7F020600 44823000 */ mtc1 $v0, $f6 -/* 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(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 -/* 055154 7F020624 45020003 */ bc1fl .L7F020634 -/* 055158 7F020628 C4820140 */ lwc1 $f2, 0x140($a0) -/* 05515C 7F02062C 46001006 */ mov.s $f0, $f2 -/* 055160 7F020630 C4820140 */ lwc1 $f2, 0x140($a0) -.L7F020634: -/* 055164 7F020634 C48A0150 */ lwc1 $f10, 0x150($a0) -/* 055168 7F020638 C48C0144 */ lwc1 $f12, 0x144($a0) -/* 05516C 7F02063C C4880154 */ lwc1 $f8, 0x154($a0) -/* 055170 7F020640 46025481 */ sub.s $f18, $f10, $f2 -/* 055174 7F020644 C48E0148 */ lwc1 $f14, 0x148($a0) -/* 055178 7F020648 C490014C */ lwc1 $f16, 0x14c($a0) -/* 05517C 7F02064C 460C4281 */ sub.s $f10, $f8, $f12 -/* 055180 7F020650 46009182 */ mul.s $f6, $f18, $f0 -/* 055184 7F020654 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 055188 7F020658 808E000E */ lb $t6, 0xe($a0) -/* 05518C 7F02065C 46005482 */ mul.s $f18, $f10, $f0 -/* 055190 7F020660 46061100 */ add.s $f4, $f2, $f6 -/* 055194 7F020664 46126180 */ add.s $f6, $f12, $f18 -/* 055198 7F020668 E4840140 */ swc1 $f4, 0x140($a0) -/* 05519C 7F02066C C4840158 */ lwc1 $f4, 0x158($a0) -/* 0551A0 7F020670 E4860144 */ swc1 $f6, 0x144($a0) -/* 0551A4 7F020674 460E2201 */ sub.s $f8, $f4, $f14 -/* 0551A8 7F020678 C486015C */ lwc1 $f6, 0x15c($a0) -/* 0551AC 7F02067C 46103101 */ sub.s $f4, $f6, $f16 -/* 0551B0 7F020680 46004282 */ mul.s $f10, $f8, $f0 -/* 0551B4 7F020684 00000000 */ nop -/* 0551B8 7F020688 46002202 */ mul.s $f8, $f4, $f0 -/* 0551BC 7F02068C 460A7480 */ add.s $f18, $f14, $f10 -/* 0551C0 7F020690 46088280 */ add.s $f10, $f16, $f8 -/* 0551C4 7F020694 E4920148 */ swc1 $f18, 0x148($a0) -/* 0551C8 7F020698 E48A014C */ swc1 $f10, 0x14c($a0) -/* 0551CC 7F02069C 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 0551D0 7F0206A0 01CFC023 */ subu $t8, $t6, $t7 -/* 0551D4 7F0206A4 03E00008 */ jr $ra -/* 0551D8 7F0206A8 A098000E */ sb $t8, 0xe($a0) - -/* 0551DC 7F0206AC C4920150 */ lwc1 $f18, 0x150($a0) -.L7F0206B0: -/* 0551E0 7F0206B0 C4860154 */ lwc1 $f6, 0x154($a0) -/* 0551E4 7F0206B4 C4840158 */ lwc1 $f4, 0x158($a0) -/* 0551E8 7F0206B8 C488015C */ lwc1 $f8, 0x15c($a0) -/* 0551EC 7F0206BC E4920140 */ swc1 $f18, 0x140($a0) -/* 0551F0 7F0206C0 E4860144 */ swc1 $f6, 0x144($a0) -/* 0551F4 7F0206C4 E4840148 */ swc1 $f4, 0x148($a0) -/* 0551F8 7F0206C8 E488014C */ swc1 $f8, 0x14c($a0) -/* 0551FC 7F0206CC 03E00008 */ jr $ra -/* 055200 7F0206D0 00000000 */ nop -) -#endif -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0206D4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0206D4 -/* 055204 7F0206D4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 055208 7F0206D8 AFBF0014 */ sw $ra, 0x14($sp) -/* 05520C 7F0206DC 808E0011 */ lb $t6, 0x11($a0) -/* 055210 7F0206E0 05C30029 */ bgezl $t6, .L7F020788 -/* 055214 7F0206E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 055218 7F0206E8 94980012 */ lhu $t8, 0x12($a0) -/* 05521C 7F0206EC 240F0001 */ li $t7, 1 -/* 055220 7F0206F0 A08F0011 */ sb $t7, 0x11($a0) -/* 055224 7F0206F4 33190FFF */ andi $t9, $t8, 0xfff -/* 055228 7F0206F8 A4990012 */ sh $t9, 0x12($a0) -/* 05522C 7F0206FC 0C002914 */ jal get_random_value -/* 055230 7F020700 AFA40018 */ sw $a0, 0x18($sp) -/* 055234 7F020704 24010003 */ li $at, 3 -/* 055238 7F020708 0041001B */ divu $zero, $v0, $at -/* 05523C 7F02070C 00001810 */ mfhi $v1 -/* 055240 7F020710 8FA40018 */ lw $a0, 0x18($sp) -/* 055244 7F020714 14600005 */ bnez $v1, .L7F02072C -/* 055248 7F020718 24010001 */ li $at, 1 -/* 05524C 7F02071C 94880012 */ lhu $t0, 0x12($a0) -/* 055250 7F020720 35091000 */ ori $t1, $t0, 0x1000 -/* 055254 7F020724 10000006 */ b .L7F020740 -/* 055258 7F020728 A4890012 */ sh $t1, 0x12($a0) -.L7F02072C: -/* 05525C 7F02072C 14610004 */ bne $v1, $at, .L7F020740 -/* 055260 7F020730 00000000 */ nop -/* 055264 7F020734 948A0012 */ lhu $t2, 0x12($a0) -/* 055268 7F020738 354B2000 */ ori $t3, $t2, 0x2000 -/* 05526C 7F02073C A48B0012 */ sh $t3, 0x12($a0) -.L7F020740: -/* 055270 7F020740 0C002914 */ jal get_random_value -/* 055274 7F020744 AFA40018 */ sw $a0, 0x18($sp) -/* 055278 7F020748 24010003 */ li $at, 3 -/* 05527C 7F02074C 0041001B */ divu $zero, $v0, $at -/* 055280 7F020750 00001810 */ mfhi $v1 -/* 055284 7F020754 8FA40018 */ lw $a0, 0x18($sp) -/* 055288 7F020758 14600005 */ bnez $v1, .L7F020770 -/* 05528C 7F02075C 24010001 */ li $at, 1 -/* 055290 7F020760 948C0012 */ lhu $t4, 0x12($a0) -/* 055294 7F020764 358D4000 */ ori $t5, $t4, 0x4000 -/* 055298 7F020768 10000006 */ b .L7F020784 -/* 05529C 7F02076C A48D0012 */ sh $t5, 0x12($a0) -.L7F020770: -/* 0552A0 7F020770 54610005 */ bnel $v1, $at, .L7F020788 -/* 0552A4 7F020774 8FBF0014 */ lw $ra, 0x14($sp) -/* 0552A8 7F020778 948E0012 */ lhu $t6, 0x12($a0) -/* 0552AC 7F02077C 35CF8000 */ ori $t7, $t6, 0x8000 -/* 0552B0 7F020780 A48F0012 */ sh $t7, 0x12($a0) -.L7F020784: -/* 0552B4 7F020784 8FBF0014 */ lw $ra, 0x14($sp) -.L7F020788: -/* 0552B8 7F020788 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0552BC 7F02078C 03E00008 */ jr $ra -/* 0552C0 7F020790 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F020794(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F020794 -/* 0552C4 7F020794 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0552C8 7F020798 AFBF0014 */ sw $ra, 0x14($sp) -/* 0552CC 7F02079C 808E0011 */ lb $t6, 0x11($a0) -/* 0552D0 7F0207A0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0552D4 7F0207A4 44810000 */ mtc1 $at, $f0 -/* 0552D8 7F0207A8 448E2000 */ mtc1 $t6, $f4 -/* 0552DC 7F0207AC 3C018005 */ lui $at, %hi(D_80051D2C) -/* 0552E0 7F0207B0 468020A0 */ cvt.s.w $f2, $f4 -/* 0552E4 7F0207B4 4600103C */ c.lt.s $f2, $f0 -/* 0552E8 7F0207B8 00000000 */ nop -/* 0552EC 7F0207BC 4502000D */ bc1fl .L7F0207F4 -/* 0552F0 7F0207C0 46001481 */ sub.s $f18, $f2, $f0 -/* 0552F4 7F0207C4 3C018005 */ lui $at, %hi(D_80051D28) -/* 0552F8 7F0207C8 C4261D28 */ lwc1 $f6, %lo(D_80051D28)($at) -/* 0552FC 7F0207CC 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 055300 7F0207D0 44815000 */ mtc1 $at, $f10 -/* 055304 7F0207D4 46061202 */ mul.s $f8, $f2, $f6 -/* 055308 7F0207D8 00000000 */ nop -/* 05530C 7F0207DC 460A4402 */ mul.s $f16, $f8, $f10 -/* 055310 7F0207E0 0FC15FAB */ jal sinf -/* 055314 7F0207E4 46008303 */ div.s $f12, $f16, $f0 -/* 055318 7F0207E8 1000000F */ b .L7F020828 -/* 05531C 7F0207EC 46000086 */ mov.s $f2, $f0 -/* 055320 7F0207F0 46001481 */ sub.s $f18, $f2, $f0 -.L7F0207F4: -/* 055324 7F0207F4 C4241D2C */ lwc1 $f4, %lo(D_80051D2C)($at) -/* 055328 7F0207F8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 05532C 7F0207FC 44814000 */ mtc1 $at, $f8 -/* 055330 7F020800 46049182 */ mul.s $f6, $f18, $f4 -/* 055334 7F020804 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 055338 7F020808 44818000 */ mtc1 $at, $f16 -/* 05533C 7F02080C 46083282 */ mul.s $f10, $f6, $f8 -/* 055340 7F020810 0FC15FAB */ jal sinf -/* 055344 7F020814 46105303 */ div.s $f12, $f10, $f16 -/* 055348 7F020818 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05534C 7F02081C 44819000 */ mtc1 $at, $f18 -/* 055350 7F020820 00000000 */ nop -/* 055354 7F020824 46009081 */ sub.s $f2, $f18, $f0 -.L7F020828: -/* 055358 7F020828 8FBF0014 */ lw $ra, 0x14($sp) -/* 05535C 7F02082C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 055360 7F020830 46001006 */ mov.s $f0, $f2 -/* 055364 7F020834 03E00008 */ jr $ra -/* 055368 7F020838 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -#ifdef NONMATCHING -void jp_only_7F0209EC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel jp_only_7F0209EC -/* 05555C 7F0209EC 3C0E8005 */ lui $t6, %hi(j_text_trigger) # $t6, 0x8005 -/* 055560 7F0209F0 8DCE8500 */ lw $t6, %lo(j_text_trigger)($t6) -/* 055564 7F0209F4 24010006 */ li $at, 6 -/* 055568 7F0209F8 15C00003 */ bnez $t6, .L7F020A08 -/* 05556C 7F0209FC 00000000 */ nop -/* 055570 7F020A00 03E00008 */ jr $ra -/* 055574 7F020A04 24020001 */ li $v0, 1 - -.L7F020A08: -/* 055578 7F020A08 10810026 */ beq $a0, $at, .L7F020AA4 -/* 05557C 7F020A0C 00001025 */ move $v0, $zero -/* 055580 7F020A10 24010007 */ li $at, 7 -/* 055584 7F020A14 10810023 */ beq $a0, $at, .L7F020AA4 -/* 055588 7F020A18 24010008 */ li $at, 8 -/* 05558C 7F020A1C 10810021 */ beq $a0, $at, .L7F020AA4 -/* 055590 7F020A20 24010009 */ li $at, 9 -/* 055594 7F020A24 1081001F */ beq $a0, $at, .L7F020AA4 -/* 055598 7F020A28 2401000A */ li $at, 10 -/* 05559C 7F020A2C 1081001D */ beq $a0, $at, .L7F020AA4 -/* 0555A0 7F020A30 2401000B */ li $at, 11 -/* 0555A4 7F020A34 1081001B */ beq $a0, $at, .L7F020AA4 -/* 0555A8 7F020A38 2401000C */ li $at, 12 -/* 0555AC 7F020A3C 10810019 */ beq $a0, $at, .L7F020AA4 -/* 0555B0 7F020A40 2401000D */ li $at, 13 -/* 0555B4 7F020A44 10810017 */ beq $a0, $at, .L7F020AA4 -/* 0555B8 7F020A48 2401000E */ li $at, 14 -/* 0555BC 7F020A4C 10810015 */ beq $a0, $at, .L7F020AA4 -/* 0555C0 7F020A50 2401000F */ li $at, 15 -/* 0555C4 7F020A54 10810013 */ beq $a0, $at, .L7F020AA4 -/* 0555C8 7F020A58 24010010 */ li $at, 16 -/* 0555CC 7F020A5C 10810011 */ beq $a0, $at, .L7F020AA4 -/* 0555D0 7F020A60 2401004F */ li $at, 79 -/* 0555D4 7F020A64 1081000F */ beq $a0, $at, .L7F020AA4 -/* 0555D8 7F020A68 2401004A */ li $at, 74 -/* 0555DC 7F020A6C 10A1000D */ beq $a1, $at, .L7F020AA4 -/* 0555E0 7F020A70 2401004B */ li $at, 75 -/* 0555E4 7F020A74 10A1000B */ beq $a1, $at, .L7F020AA4 -/* 0555E8 7F020A78 2401004C */ li $at, 76 -/* 0555EC 7F020A7C 10A10009 */ beq $a1, $at, .L7F020AA4 -/* 0555F0 7F020A80 2401004D */ li $at, 77 -/* 0555F4 7F020A84 10A10007 */ beq $a1, $at, .L7F020AA4 -/* 0555F8 7F020A88 2401004E */ li $at, 78 -/* 0555FC 7F020A8C 10A10005 */ beq $a1, $at, .L7F020AA4 -/* 055600 7F020A90 24010045 */ li $at, 69 -/* 055604 7F020A94 10A10003 */ beq $a1, $at, .L7F020AA4 -/* 055608 7F020A98 00000000 */ nop -/* 05560C 7F020A9C 03E00008 */ jr $ra -/* 055610 7F020AA0 24020001 */ li $v0, 1 - -.L7F020AA4: -/* 055614 7F020AA4 03E00008 */ jr $ra -/* 055618 7F020AA8 00000000 */ nop -) -#endif -#endif - -#ifdef NONMATCHING -void sub_GAME_7F02083C(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F02083C -/* 05536C 7F02083C 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 055370 7F020840 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 055374 7F020844 44812000 */ mtc1 $at, $f4 -/* 055378 7F020848 AFBF0014 */ sw $ra, 0x14($sp) -/* 05537C 7F02084C 00803025 */ move $a2, $a0 -/* 055380 7F020850 AFA5009C */ sw $a1, 0x9c($sp) -/* 055384 7F020854 AFA60098 */ sw $a2, 0x98($sp) -/* 055388 7F020858 2404000C */ li $a0, 12 -/* 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) -/* 05539C 7F02086C 14C00005 */ bnez $a2, .L7F020884 -/* 0553A0 7F020870 24030002 */ li $v1, 2 -/* 0553A4 7F020874 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0553A8 7F020878 44813000 */ mtc1 $at, $f6 -/* 0553AC 7F02087C 10000008 */ b .L7F0208A0 -/* 0553B0 7F020880 E7A60094 */ swc1 $f6, 0x94($sp) -.L7F020884: -/* 0553B4 7F020884 10C30002 */ beq $a2, $v1, .L7F020890 -/* 0553B8 7F020888 24050003 */ li $a1, 3 -/* 0553BC 7F02088C 14C50004 */ bne $a2, $a1, .L7F0208A0 -.L7F020890: -/* 0553C0 7F020890 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 0553C4 7F020894 44814000 */ mtc1 $at, $f8 -/* 0553C8 7F020898 00000000 */ nop -/* 0553CC 7F02089C E7A80094 */ swc1 $f8, 0x94($sp) -.L7F0208A0: -/* 0553D0 7F0208A0 24030002 */ li $v1, 2 -/* 0553D4 7F0208A4 10C30007 */ beq $a2, $v1, .L7F0208C4 -/* 0553D8 7F0208A8 24050003 */ li $a1, 3 -/* 0553DC 7F0208AC 10C50005 */ beq $a2, $a1, .L7F0208C4 -/* 0553E0 7F0208B0 24070001 */ li $a3, 1 -/* 0553E4 7F0208B4 50C70004 */ beql $a2, $a3, .L7F0208C8 -/* 0553E8 7F0208B8 44809000 */ mtc1 $zero, $f18 -/* 0553EC 7F0208BC 54C00132 */ bnezl $a2, .L7F020D88 -/* 0553F0 7F0208C0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0208C4: -/* 0553F4 7F0208C4 44809000 */ mtc1 $zero, $f18 -.L7F0208C8: -/* 0553F8 7F0208C8 24070001 */ li $a3, 1 -/* 0553FC 7F0208CC 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80069B60) -/* 055400 7F0208D0 46009386 */ mov.s $f14, $f18 -/* 055404 7F0208D4 46009306 */ mov.s $f12, $f18 -/* 055408 7F0208D8 14C50004 */ bne $a2, $a1, .L7F0208EC -/* 05540C 7F0208DC E7B20088 */ swc1 $f18, 0x88($sp) -/* 055410 7F0208E0 8DCE9B60 */ lw $t6, %lo(dword_CODE_bss_80069B60)($t6) -/* 055414 7F0208E4 10000043 */ b .L7F0209F4 -/* 055418 7F0208E8 C5CE0144 */ lwc1 $f14, 0x144($t6) -.L7F0208EC: -/* 05541C 7F0208EC 14C30004 */ bne $a2, $v1, .L7F020900 -/* 055420 7F0208F0 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80069B60) -/* 055424 7F0208F4 8DEF9B60 */ lw $t7, %lo(dword_CODE_bss_80069B60)($t7) -/* 055428 7F0208F8 1000003E */ b .L7F0209F4 -/* 05542C 7F0208FC C5EE0140 */ lwc1 $f14, 0x140($t7) -.L7F020900: -/* 055430 7F020900 14C7001C */ bne $a2, $a3, .L7F020974 -/* 055434 7F020904 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069B60) -/* 055438 7F020908 8C849B60 */ lw $a0, %lo(dword_CODE_bss_80069B60)($a0) -/* 05543C 7F02090C 3C018005 */ lui $at, %hi(D_80051D30) -/* 055440 7F020910 94980012 */ lhu $t8, 0x12($a0) -/* 055444 7F020914 C48E0148 */ lwc1 $f14, 0x148($a0) -/* 055448 7F020918 33190400 */ andi $t9, $t8, 0x400 -/* 05544C 7F02091C 13200013 */ beqz $t9, .L7F02096C -/* 055450 7F020920 00000000 */ nop -/* 055454 7F020924 C4201D30 */ lwc1 $f0, %lo(D_80051D30)($at) -/* 055458 7F020928 3C018005 */ lui $at, %hi(D_80051D34) -/* 05545C 7F02092C 460E003C */ c.lt.s $f0, $f14 -/* 055460 7F020930 00000000 */ nop -/* 055464 7F020934 45000003 */ bc1f .L7F020944 -/* 055468 7F020938 00000000 */ nop -/* 05546C 7F02093C 1000000B */ b .L7F02096C -/* 055470 7F020940 46007381 */ sub.s $f14, $f14, $f0 -.L7F020944: -/* 055474 7F020944 C4201D34 */ lwc1 $f0, %lo(D_80051D34)($at) -/* 055478 7F020948 3C018005 */ lui $at, %hi(D_80051D38) -/* 05547C 7F02094C 4600703C */ c.lt.s $f14, $f0 -/* 055480 7F020950 00000000 */ nop -/* 055484 7F020954 45020005 */ bc1fl .L7F02096C -/* 055488 7F020958 46009386 */ mov.s $f14, $f18 -/* 05548C 7F02095C C42A1D38 */ lwc1 $f10, %lo(D_80051D38)($at) -/* 055490 7F020960 10000002 */ b .L7F02096C -/* 055494 7F020964 460A7380 */ add.s $f14, $f14, $f10 -/* 055498 7F020968 46009386 */ mov.s $f14, $f18 -.L7F02096C: -/* 05549C 7F02096C 10000021 */ b .L7F0209F4 -/* 0554A0 7F020970 C48C014C */ lwc1 $f12, 0x14c($a0) -.L7F020974: -/* 0554A4 7F020974 14C0001F */ bnez $a2, .L7F0209F4 -/* 0554A8 7F020978 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069B60) -/* 0554AC 7F02097C 8C849B60 */ lw $a0, %lo(dword_CODE_bss_80069B60)($a0) -/* 0554B0 7F020980 94820012 */ lhu $v0, 0x12($a0) -/* 0554B4 7F020984 30480400 */ andi $t0, $v0, 0x400 -/* 0554B8 7F020988 51000014 */ beql $t0, $zero, .L7F0209DC -/* 0554BC 7F02098C 8C89001C */ lw $t1, 0x1c($a0) -/* 0554C0 7F020990 11000018 */ beqz $t0, .L7F0209F4 -/* 0554C4 7F020994 C48E0148 */ lwc1 $f14, 0x148($a0) -/* 0554C8 7F020998 3C018005 */ lui $at, %hi(D_80051D3C) -/* 0554CC 7F02099C C4201D3C */ lwc1 $f0, %lo(D_80051D3C)($at) -/* 0554D0 7F0209A0 3C018005 */ lui $at, %hi(D_80051D40) -/* 0554D4 7F0209A4 460E003C */ c.lt.s $f0, $f14 -/* 0554D8 7F0209A8 00000000 */ nop -/* 0554DC 7F0209AC 45000003 */ bc1f .L7F0209BC -/* 0554E0 7F0209B0 00000000 */ nop -/* 0554E4 7F0209B4 1000000F */ b .L7F0209F4 -/* 0554E8 7F0209B8 46000386 */ mov.s $f14, $f0 -.L7F0209BC: -/* 0554EC 7F0209BC C4201D40 */ lwc1 $f0, %lo(D_80051D40)($at) -/* 0554F0 7F0209C0 4600703C */ c.lt.s $f14, $f0 -/* 0554F4 7F0209C4 00000000 */ nop -/* 0554F8 7F0209C8 4500000A */ bc1f .L7F0209F4 -/* 0554FC 7F0209CC 00000000 */ nop -/* 055500 7F0209D0 10000008 */ b .L7F0209F4 -/* 055504 7F0209D4 46000386 */ mov.s $f14, $f0 -/* 055508 7F0209D8 8C89001C */ lw $t1, 0x1c($a0) -.L7F0209DC: -/* 05550C 7F0209DC 812A0024 */ lb $t2, 0x24($t1) -/* 055510 7F0209E0 51400004 */ beql $t2, $zero, .L7F0209F4 -/* 055514 7F0209E4 C48E0144 */ lwc1 $f14, 0x144($a0) -/* 055518 7F0209E8 10000002 */ b .L7F0209F4 -/* 05551C 7F0209EC C48E0140 */ lwc1 $f14, 0x140($a0) -/* 055520 7F0209F0 C48E0144 */ lwc1 $f14, 0x144($a0) -.L7F0209F4: -/* 055524 7F0209F4 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069B60) -/* 055528 7F0209F8 8C849B60 */ lw $a0, %lo(dword_CODE_bss_80069B60)($a0) -/* 05552C 7F0209FC 808B0011 */ lb $t3, 0x11($a0) -/* 055530 7F020A00 05620055 */ bltzl $t3, .L7F020B58 -/* 055534 7F020A04 46127032 */ c.eq.s $f14, $f18 -/* 055538 7F020A08 50C50004 */ beql $a2, $a1, .L7F020A1C -/* 05553C 7F020A0C E7AC008C */ swc1 $f12, 0x8c($sp) -/* 055540 7F020A10 14C3001D */ bne $a2, $v1, .L7F020A88 -/* 055544 7F020A14 00000000 */ nop -/* 055548 7F020A18 E7AC008C */ swc1 $f12, 0x8c($sp) -.L7F020A1C: -/* 05554C 7F020A1C 0FC081E5 */ jal sub_GAME_7F020794 -/* 055550 7F020A20 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 055554 7F020A24 3C018005 */ lui $at, %hi(D_80051D44) -/* 055558 7F020A28 C4241D44 */ lwc1 $f4, %lo(D_80051D44)($at) -/* 05555C 7F020A2C 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 055560 7F020A30 44814000 */ mtc1 $at, $f8 -/* 055564 7F020A34 46040182 */ mul.s $f6, $f0, $f4 -/* 055568 7F020A38 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 05556C 7F020A3C 44812000 */ mtc1 $at, $f4 -/* 055570 7F020A40 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069B60) -/* 055574 7F020A44 8C849B60 */ lw $a0, %lo(dword_CODE_bss_80069B60)($a0) -/* 055578 7F020A48 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 05557C 7F020A4C 44809000 */ mtc1 $zero, $f18 -/* 055580 7F020A50 46083282 */ mul.s $f10, $f6, $f8 -/* 055584 7F020A54 94820012 */ lhu $v0, 0x12($a0) -/* 055588 7F020A58 C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 05558C 7F020A5C 304C1000 */ andi $t4, $v0, 0x1000 -/* 055590 7F020A60 304D2000 */ andi $t5, $v0, 0x2000 -/* 055594 7F020A64 46045083 */ div.s $f2, $f10, $f4 -/* 055598 7F020A68 11800003 */ beqz $t4, .L7F020A78 -/* 05559C 7F020A6C 46027381 */ sub.s $f14, $f14, $f2 -/* 0555A0 7F020A70 10000038 */ b .L7F020B54 -/* 0555A4 7F020A74 46026301 */ sub.s $f12, $f12, $f2 -.L7F020A78: -/* 0555A8 7F020A78 51A00037 */ beql $t5, $zero, .L7F020B58 -/* 0555AC 7F020A7C 46127032 */ c.eq.s $f14, $f18 -/* 0555B0 7F020A80 10000034 */ b .L7F020B54 -/* 0555B4 7F020A84 46026300 */ add.s $f12, $f12, $f2 -.L7F020A88: -/* 0555B8 7F020A88 54C70033 */ bnel $a2, $a3, .L7F020B58 -/* 0555BC 7F020A8C 46127032 */ c.eq.s $f14, $f18 -/* 0555C0 7F020A90 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 0555C4 7F020A94 0FC081E5 */ jal sub_GAME_7F020794 -/* 0555C8 7F020A98 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 0555CC 7F020A9C 3C018005 */ lui $at, %hi(D_80051D48) -/* 0555D0 7F020AA0 C4261D48 */ lwc1 $f6, %lo(D_80051D48)($at) -/* 0555D4 7F020AA4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0555D8 7F020AA8 44814000 */ mtc1 $at, $f8 -/* 0555DC 7F020AAC 46060402 */ mul.s $f16, $f0, $f6 -/* 0555E0 7F020AB0 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0555E4 7F020AB4 44812000 */ mtc1 $at, $f4 -/* 0555E8 7F020AB8 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069B60) -/* 0555EC 7F020ABC 8C849B60 */ lw $a0, %lo(dword_CODE_bss_80069B60)($a0) -/* 0555F0 7F020AC0 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 0555F4 7F020AC4 44809000 */ mtc1 $zero, $f18 -/* 0555F8 7F020AC8 46088282 */ mul.s $f10, $f16, $f8 -/* 0555FC 7F020ACC 94820012 */ lhu $v0, 0x12($a0) -/* 055600 7F020AD0 C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 055604 7F020AD4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 055608 7F020AD8 304E1000 */ andi $t6, $v0, 0x1000 -/* 05560C 7F020ADC 304F2000 */ andi $t7, $v0, 0x2000 -/* 055610 7F020AE0 30584000 */ andi $t8, $v0, 0x4000 -/* 055614 7F020AE4 46045083 */ div.s $f2, $f10, $f4 -/* 055618 7F020AE8 30598000 */ andi $t9, $v0, 0x8000 -/* 05561C 7F020AEC 11C00003 */ beqz $t6, .L7F020AFC -/* 055620 7F020AF0 46027380 */ add.s $f14, $f14, $f2 -/* 055624 7F020AF4 10000004 */ b .L7F020B08 -/* 055628 7F020AF8 46026300 */ add.s $f12, $f12, $f2 -.L7F020AFC: -/* 05562C 7F020AFC 11E00002 */ beqz $t7, .L7F020B08 -/* 055630 7F020B00 00000000 */ nop -/* 055634 7F020B04 46026301 */ sub.s $f12, $f12, $f2 -.L7F020B08: -/* 055638 7F020B08 13000009 */ beqz $t8, .L7F020B30 -/* 05563C 7F020B0C 00000000 */ nop -/* 055640 7F020B10 44813000 */ mtc1 $at, $f6 -/* 055644 7F020B14 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 055648 7F020B18 44815000 */ mtc1 $at, $f10 -/* 05564C 7F020B1C 46068202 */ mul.s $f8, $f16, $f6 -/* 055650 7F020B20 460A4103 */ div.s $f4, $f8, $f10 -/* 055654 7F020B24 46049180 */ add.s $f6, $f18, $f4 -/* 055658 7F020B28 1000000A */ b .L7F020B54 -/* 05565C 7F020B2C E7A60088 */ swc1 $f6, 0x88($sp) -.L7F020B30: -/* 055660 7F020B30 13200008 */ beqz $t9, .L7F020B54 -/* 055664 7F020B34 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 055668 7F020B38 44814000 */ mtc1 $at, $f8 -/* 05566C 7F020B3C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 055670 7F020B40 44812000 */ mtc1 $at, $f4 -/* 055674 7F020B44 46088282 */ mul.s $f10, $f16, $f8 -/* 055678 7F020B48 46045183 */ div.s $f6, $f10, $f4 -/* 05567C 7F020B4C 46069201 */ sub.s $f8, $f18, $f6 -/* 055680 7F020B50 E7A80088 */ swc1 $f8, 0x88($sp) -.L7F020B54: -/* 055684 7F020B54 46127032 */ c.eq.s $f14, $f18 -.L7F020B58: -/* 055688 7F020B58 00000000 */ nop -/* 05568C 7F020B5C 45020011 */ bc1fl .L7F020BA4 -/* 055690 7F020B60 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 055694 7F020B64 46126032 */ c.eq.s $f12, $f18 -/* 055698 7F020B68 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 05569C 7F020B6C 4502000D */ bc1fl .L7F020BA4 -/* 0556A0 7F020B70 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 0556A4 7F020B74 46125032 */ c.eq.s $f10, $f18 -/* 0556A8 7F020B78 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0556AC 7F020B7C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0556B0 7F020B80 45020008 */ bc1fl .L7F020BA4 -/* 0556B4 7F020B84 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 0556B8 7F020B88 44813000 */ mtc1 $at, $f6 -/* 0556BC 7F020B8C 00000000 */ nop -/* 0556C0 7F020B90 46062032 */ c.eq.s $f4, $f6 -/* 0556C4 7F020B94 00000000 */ nop -/* 0556C8 7F020B98 4503007B */ bc1tl .L7F020D88 -/* 0556CC 7F020B9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0556D0 7F020BA0 E7AC008C */ swc1 $f12, 0x8c($sp) -.L7F020BA4: -/* 0556D4 7F020BA4 0FC0B064 */ jal sub_GAME_7F02C190 -/* 0556D8 7F020BA8 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 0556DC 7F020BAC C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 0556E0 7F020BB0 44809000 */ mtc1 $zero, $f18 -/* 0556E4 7F020BB4 C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 0556E8 7F020BB8 E7A00070 */ swc1 $f0, 0x70($sp) -/* 0556EC 7F020BBC 4612703C */ c.lt.s $f14, $f18 -/* 0556F0 7F020BC0 3C018005 */ lui $at, %hi(D_80051D4C) -/* 0556F4 7F020BC4 45000003 */ bc1f .L7F020BD4 -/* 0556F8 7F020BC8 00000000 */ nop -/* 0556FC 7F020BCC 10000003 */ b .L7F020BDC -/* 055700 7F020BD0 46007387 */ neg.s $f14, $f14 -.L7F020BD4: -/* 055704 7F020BD4 C4281D4C */ lwc1 $f8, %lo(D_80051D4C)($at) -/* 055708 7F020BD8 460E4381 */ sub.s $f14, $f8, $f14 -.L7F020BDC: -/* 05570C 7F020BDC 4612603C */ c.lt.s $f12, $f18 -/* 055710 7F020BE0 3C018005 */ lui $at, %hi(D_80051D50) -/* 055714 7F020BE4 45020004 */ bc1fl .L7F020BF8 -/* 055718 7F020BE8 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 05571C 7F020BEC C42A1D50 */ lwc1 $f10, %lo(D_80051D50)($at) -/* 055720 7F020BF0 460A6300 */ add.s $f12, $f12, $f10 -/* 055724 7F020BF4 E7AC008C */ swc1 $f12, 0x8c($sp) -.L7F020BF8: -/* 055728 7F020BF8 0FC1E111 */ jal sub_GAME_7F078444 -/* 05572C 7F020BFC E7AE0090 */ swc1 $f14, 0x90($sp) -/* 055730 7F020C00 00402025 */ move $a0, $v0 -/* 055734 7F020C04 0FC16026 */ jal sub_GAME_7F058098 -/* 055738 7F020C08 8FA5009C */ lw $a1, 0x9c($sp) -/* 05573C 7F020C0C 8FA2009C */ lw $v0, 0x9c($sp) -/* 055740 7F020C10 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 055744 7F020C14 44809000 */ mtc1 $zero, $f18 -/* 055748 7F020C18 C4440030 */ lwc1 $f4, 0x30($v0) -/* 05574C 7F020C1C C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 055750 7F020C20 46127032 */ c.eq.s $f14, $f18 -/* 055754 7F020C24 E7A40074 */ swc1 $f4, 0x74($sp) -/* 055758 7F020C28 C4460034 */ lwc1 $f6, 0x34($v0) -/* 05575C 7F020C2C 27A50030 */ addiu $a1, $sp, 0x30 -/* 055760 7F020C30 E7A60078 */ swc1 $f6, 0x78($sp) -/* 055764 7F020C34 C4480038 */ lwc1 $f8, 0x38($v0) -/* 055768 7F020C38 E7A8007C */ swc1 $f8, 0x7c($sp) -/* 05576C 7F020C3C E4520030 */ swc1 $f18, 0x30($v0) -/* 055770 7F020C40 E4520034 */ swc1 $f18, 0x34($v0) -/* 055774 7F020C44 45000006 */ bc1f .L7F020C60 -/* 055778 7F020C48 E4520038 */ swc1 $f18, 0x38($v0) -/* 05577C 7F020C4C C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 055780 7F020C50 46125032 */ c.eq.s $f10, $f18 -/* 055784 7F020C54 00000000 */ nop -/* 055788 7F020C58 45010030 */ bc1t .L7F020D1C -/* 05578C 7F020C5C 00000000 */ nop -.L7F020C60: -/* 055790 7F020C60 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 055794 7F020C64 3C018005 */ lui $at, %hi(D_80051D54) -/* 055798 7F020C68 46046301 */ sub.s $f12, $f12, $f4 -/* 05579C 7F020C6C 4612603C */ c.lt.s $f12, $f18 -/* 0557A0 7F020C70 00000000 */ nop -/* 0557A4 7F020C74 45000003 */ bc1f .L7F020C84 -/* 0557A8 7F020C78 00000000 */ nop -/* 0557AC 7F020C7C C4261D54 */ lwc1 $f6, %lo(D_80051D54)($at) -/* 0557B0 7F020C80 46066300 */ add.s $f12, $f12, $f6 -.L7F020C84: -/* 0557B4 7F020C84 0FC1617F */ jal sub_GAME_7F0585FC -/* 0557B8 7F020C88 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 0557BC 7F020C8C 27A40030 */ addiu $a0, $sp, 0x30 -/* 0557C0 7F020C90 0FC16026 */ jal sub_GAME_7F058098 -/* 0557C4 7F020C94 8FA5009C */ lw $a1, 0x9c($sp) -/* 0557C8 7F020C98 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 0557CC 7F020C9C 44809000 */ mtc1 $zero, $f18 -/* 0557D0 7F020CA0 27A50030 */ addiu $a1, $sp, 0x30 -/* 0557D4 7F020CA4 46127032 */ c.eq.s $f14, $f18 -/* 0557D8 7F020CA8 00000000 */ nop -/* 0557DC 7F020CAC 45030009 */ bc1tl .L7F020CD4 -/* 0557E0 7F020CB0 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 0557E4 7F020CB4 0FC1615C */ jal sub_GAME_7F058570 -/* 0557E8 7F020CB8 46007306 */ mov.s $f12, $f14 -/* 0557EC 7F020CBC 27A40030 */ addiu $a0, $sp, 0x30 -/* 0557F0 7F020CC0 0FC16026 */ jal sub_GAME_7F058098 -/* 0557F4 7F020CC4 8FA5009C */ lw $a1, 0x9c($sp) -/* 0557F8 7F020CC8 44809000 */ mtc1 $zero, $f18 -/* 0557FC 7F020CCC 00000000 */ nop -/* 055800 7F020CD0 C7A80088 */ lwc1 $f8, 0x88($sp) -.L7F020CD4: -/* 055804 7F020CD4 27A50030 */ addiu $a1, $sp, 0x30 -/* 055808 7F020CD8 46124032 */ c.eq.s $f8, $f18 -/* 05580C 7F020CDC 00000000 */ nop -/* 055810 7F020CE0 45030007 */ bc1tl .L7F020D00 -/* 055814 7F020CE4 C7AC0070 */ lwc1 $f12, 0x70($sp) -/* 055818 7F020CE8 0FC161A2 */ jal sub_GAME_7F058688 -/* 05581C 7F020CEC 46004306 */ mov.s $f12, $f8 -/* 055820 7F020CF0 27A40030 */ addiu $a0, $sp, 0x30 -/* 055824 7F020CF4 0FC16026 */ jal sub_GAME_7F058098 -/* 055828 7F020CF8 8FA5009C */ lw $a1, 0x9c($sp) -/* 05582C 7F020CFC C7AC0070 */ lwc1 $f12, 0x70($sp) -.L7F020D00: -/* 055830 7F020D00 0FC1617F */ jal sub_GAME_7F0585FC -/* 055834 7F020D04 27A50030 */ addiu $a1, $sp, 0x30 -/* 055838 7F020D08 27A40030 */ addiu $a0, $sp, 0x30 -/* 05583C 7F020D0C 0FC16026 */ jal sub_GAME_7F058098 -/* 055840 7F020D10 8FA5009C */ lw $a1, 0x9c($sp) -/* 055844 7F020D14 10000007 */ b .L7F020D34 -/* 055848 7F020D18 3C013F80 */ lui $at, 0x3f80 -.L7F020D1C: -/* 05584C 7F020D1C 0FC1617F */ jal sub_GAME_7F0585FC -/* 055850 7F020D20 27A50030 */ addiu $a1, $sp, 0x30 -/* 055854 7F020D24 27A40030 */ addiu $a0, $sp, 0x30 -/* 055858 7F020D28 0FC16026 */ jal sub_GAME_7F058098 -/* 05585C 7F020D2C 8FA5009C */ lw $a1, 0x9c($sp) -/* 055860 7F020D30 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F020D34: -/* 055864 7F020D34 44812000 */ mtc1 $at, $f4 -/* 055868 7F020D38 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 05586C 7F020D3C 8FA5009C */ lw $a1, 0x9c($sp) -/* 055870 7F020D40 46045032 */ c.eq.s $f10, $f4 -/* 055874 7F020D44 00000000 */ nop -/* 055878 7F020D48 45030004 */ bc1tl .L7F020D5C -/* 05587C 7F020D4C C7A60074 */ lwc1 $f6, 0x74($sp) -/* 055880 7F020D50 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 055884 7F020D54 46005306 */ mov.s $f12, $f10 -/* 055888 7F020D58 C7A60074 */ lwc1 $f6, 0x74($sp) -.L7F020D5C: -/* 05588C 7F020D5C 8FA8009C */ lw $t0, 0x9c($sp) -/* 055890 7F020D60 E5060030 */ swc1 $f6, 0x30($t0) -/* 055894 7F020D64 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 055898 7F020D68 E5080034 */ swc1 $f8, 0x34($t0) -/* 05589C 7F020D6C C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 0558A0 7F020D70 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0558A4 7F020D74 E5040038 */ swc1 $f4, 0x38($t0) -/* 0558A8 7F020D78 00402025 */ move $a0, $v0 -/* 0558AC 7F020D7C 0FC16026 */ jal sub_GAME_7F058098 -/* 0558B0 7F020D80 8FA5009C */ lw $a1, 0x9c($sp) -/* 0558B4 7F020D84 8FBF0014 */ lw $ra, 0x14($sp) -.L7F020D88: -/* 0558B8 7F020D88 27BD0098 */ addiu $sp, $sp, 0x98 -/* 0558BC 7F020D8C 03E00008 */ jr $ra -/* 0558C0 7F020D90 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F02083C -/* 05561C 7F020AAC 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 055620 7F020AB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 055624 7F020AB4 44812000 */ mtc1 $at, $f4 -/* 055628 7F020AB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 05562C 7F020ABC 00803825 */ move $a3, $a0 -/* 055630 7F020AC0 AFA5009C */ sw $a1, 0x9c($sp) -/* 055634 7F020AC4 AFA70098 */ sw $a3, 0x98($sp) -/* 055638 7F020AC8 2404000C */ li $a0, 12 -/* 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) -/* 05564C 7F020ADC 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069B60) # $a2, 0x8007 -/* 055650 7F020AE0 8CC69BA0 */ lw $a2, %lo(dword_CODE_bss_80069B60)($a2) -/* 055654 7F020AE4 80C4000F */ lb $a0, 0xf($a2) -/* 055658 7F020AE8 80C50006 */ lb $a1, 6($a2) -/* 05565C 7F020AEC 0FC0827B */ jal jp_only_7F0209EC -/* 055660 7F020AF0 AFA70098 */ sw $a3, 0x98($sp) -/* 055664 7F020AF4 10400014 */ beqz $v0, .L7F020B48 -/* 055668 7F020AF8 8FA70098 */ lw $a3, 0x98($sp) -/* 05566C 7F020AFC 14E00005 */ bnez $a3, .L7F020B14 -/* 055670 7F020B00 24030002 */ li $v1, 2 -/* 055674 7F020B04 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 055678 7F020B08 44813000 */ mtc1 $at, $f6 -/* 05567C 7F020B0C 1000000E */ b .L7F020B48 -/* 055680 7F020B10 E7A60094 */ swc1 $f6, 0x94($sp) -.L7F020B14: -/* 055684 7F020B14 10E30002 */ beq $a3, $v1, .L7F020B20 -/* 055688 7F020B18 24050003 */ li $a1, 3 -/* 05568C 7F020B1C 14E5000A */ bne $a3, $a1, .L7F020B48 -.L7F020B20: -/* 055690 7F020B20 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80069B60) # $t6, 0x8007 -/* 055694 7F020B24 8DCE9BA0 */ lw $t6, %lo(dword_CODE_bss_80069B60)($t6) -/* 055698 7F020B28 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 05569C 7F020B2C 8DCF0014 */ lw $t7, 0x14($t6) -/* 0556A0 7F020B30 000FC100 */ sll $t8, $t7, 4 -/* 0556A4 7F020B34 07020005 */ bltzl $t8, .L7F020B4C -/* 0556A8 7F020B38 24030002 */ li $v1, 2 -/* 0556AC 7F020B3C 44814000 */ mtc1 $at, $f8 -/* 0556B0 7F020B40 00000000 */ nop -/* 0556B4 7F020B44 E7A80094 */ swc1 $f8, 0x94($sp) -.L7F020B48: -/* 0556B8 7F020B48 24030002 */ li $v1, 2 -.L7F020B4C: -/* 0556BC 7F020B4C 10E30007 */ beq $a3, $v1, .L7F020B6C -/* 0556C0 7F020B50 24050003 */ li $a1, 3 -/* 0556C4 7F020B54 10E50005 */ beq $a3, $a1, .L7F020B6C -/* 0556C8 7F020B58 24040001 */ li $a0, 1 -/* 0556CC 7F020B5C 50E40004 */ beql $a3, $a0, .L7F020B70 -/* 0556D0 7F020B60 44809000 */ mtc1 $zero, $f18 -/* 0556D4 7F020B64 54E0012E */ bnezl $a3, .L7F021020 -/* 0556D8 7F020B68 8FBF0014 */ lw $ra, 0x14($sp) -.L7F020B6C: -/* 0556DC 7F020B6C 44809000 */ mtc1 $zero, $f18 -.L7F020B70: -/* 0556E0 7F020B70 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069B60) # $a2, 0x8007 -/* 0556E4 7F020B74 24040001 */ li $a0, 1 -/* 0556E8 7F020B78 8CC69BA0 */ lw $a2, %lo(dword_CODE_bss_80069B60)($a2) -/* 0556EC 7F020B7C 46009386 */ mov.s $f14, $f18 -/* 0556F0 7F020B80 46009306 */ mov.s $f12, $f18 -/* 0556F4 7F020B84 14E50003 */ bne $a3, $a1, .L7F020B94 -/* 0556F8 7F020B88 E7B20088 */ swc1 $f18, 0x88($sp) -/* 0556FC 7F020B8C 10000040 */ b .L7F020C90 -/* 055700 7F020B90 C4CE0144 */ lwc1 $f14, 0x144($a2) -.L7F020B94: -/* 055704 7F020B94 14E30003 */ bne $a3, $v1, .L7F020BA4 -/* 055708 7F020B98 00000000 */ nop -/* 05570C 7F020B9C 1000003C */ b .L7F020C90 -/* 055710 7F020BA0 C4CE0140 */ lwc1 $f14, 0x140($a2) -.L7F020BA4: -/* 055714 7F020BA4 14E4001B */ bne $a3, $a0, .L7F020C14 -/* 055718 7F020BA8 00000000 */ nop -/* 05571C 7F020BAC 94D90012 */ lhu $t9, 0x12($a2) -/* 055720 7F020BB0 C4CE0148 */ lwc1 $f14, 0x148($a2) -/* 055724 7F020BB4 3C018005 */ lui $at, %hi(D_80051D30) # $at, 0x8005 -/* 055728 7F020BB8 33280400 */ andi $t0, $t9, 0x400 -/* 05572C 7F020BBC 11000013 */ beqz $t0, .L7F020C0C -/* 055730 7F020BC0 00000000 */ nop -/* 055734 7F020BC4 C4201D60 */ lwc1 $f0, %lo(D_80051D30)($at) -/* 055738 7F020BC8 3C018005 */ lui $at, %hi(D_80051D34) # $at, 0x8005 -/* 05573C 7F020BCC 460E003C */ c.lt.s $f0, $f14 -/* 055740 7F020BD0 00000000 */ nop -/* 055744 7F020BD4 45000003 */ bc1f .L7F020BE4 -/* 055748 7F020BD8 00000000 */ nop -/* 05574C 7F020BDC 1000000B */ b .L7F020C0C -/* 055750 7F020BE0 46007381 */ sub.s $f14, $f14, $f0 -.L7F020BE4: -/* 055754 7F020BE4 C4201D64 */ lwc1 $f0, %lo(D_80051D34)($at) -/* 055758 7F020BE8 3C018005 */ lui $at, %hi(D_80051D38) # $at, 0x8005 -/* 05575C 7F020BEC 4600703C */ c.lt.s $f14, $f0 -/* 055760 7F020BF0 00000000 */ nop -/* 055764 7F020BF4 45020005 */ bc1fl .L7F020C0C -/* 055768 7F020BF8 46009386 */ mov.s $f14, $f18 -/* 05576C 7F020BFC C42A1D68 */ lwc1 $f10, %lo(D_80051D38)($at) -/* 055770 7F020C00 10000002 */ b .L7F020C0C -/* 055774 7F020C04 460A7380 */ add.s $f14, $f14, $f10 -/* 055778 7F020C08 46009386 */ mov.s $f14, $f18 -.L7F020C0C: -/* 05577C 7F020C0C 10000020 */ b .L7F020C90 -/* 055780 7F020C10 C4CC014C */ lwc1 $f12, 0x14c($a2) -.L7F020C14: -/* 055784 7F020C14 54E0001F */ bnezl $a3, .L7F020C94 -/* 055788 7F020C18 80CC0011 */ lb $t4, 0x11($a2) -/* 05578C 7F020C1C 94C20012 */ lhu $v0, 0x12($a2) -/* 055790 7F020C20 30490400 */ andi $t1, $v0, 0x400 -/* 055794 7F020C24 51200014 */ beql $t1, $zero, .L7F020C78 -/* 055798 7F020C28 8CCA001C */ lw $t2, 0x1c($a2) -/* 05579C 7F020C2C 11200018 */ beqz $t1, .L7F020C90 -/* 0557A0 7F020C30 C4CE0148 */ lwc1 $f14, 0x148($a2) -/* 0557A4 7F020C34 3C018005 */ lui $at, %hi(D_80051D3C) # $at, 0x8005 -/* 0557A8 7F020C38 C4201D6C */ lwc1 $f0, %lo(D_80051D3C)($at) -/* 0557AC 7F020C3C 3C018005 */ lui $at, %hi(D_80051D40) # $at, 0x8005 -/* 0557B0 7F020C40 460E003C */ c.lt.s $f0, $f14 -/* 0557B4 7F020C44 00000000 */ nop -/* 0557B8 7F020C48 45000003 */ bc1f .L7F020C58 -/* 0557BC 7F020C4C 00000000 */ nop -/* 0557C0 7F020C50 1000000F */ b .L7F020C90 -/* 0557C4 7F020C54 46000386 */ mov.s $f14, $f0 -.L7F020C58: -/* 0557C8 7F020C58 C4201D70 */ lwc1 $f0, %lo(D_80051D40)($at) -/* 0557CC 7F020C5C 4600703C */ c.lt.s $f14, $f0 -/* 0557D0 7F020C60 00000000 */ nop -/* 0557D4 7F020C64 4502000B */ bc1fl .L7F020C94 -/* 0557D8 7F020C68 80CC0011 */ lb $t4, 0x11($a2) -/* 0557DC 7F020C6C 10000008 */ b .L7F020C90 -/* 0557E0 7F020C70 46000386 */ mov.s $f14, $f0 -/* 0557E4 7F020C74 8CCA001C */ lw $t2, 0x1c($a2) -.L7F020C78: -/* 0557E8 7F020C78 814B0024 */ lb $t3, 0x24($t2) -/* 0557EC 7F020C7C 51600004 */ beql $t3, $zero, .L7F020C90 -/* 0557F0 7F020C80 C4CE0144 */ lwc1 $f14, 0x144($a2) -/* 0557F4 7F020C84 10000002 */ b .L7F020C90 -/* 0557F8 7F020C88 C4CE0140 */ lwc1 $f14, 0x140($a2) -/* 0557FC 7F020C8C C4CE0144 */ lwc1 $f14, 0x144($a2) -.L7F020C90: -/* 055800 7F020C90 80CC0011 */ lb $t4, 0x11($a2) -.L7F020C94: -/* 055804 7F020C94 05820056 */ bltzl $t4, .L7F020DF0 -/* 055808 7F020C98 46127032 */ c.eq.s $f14, $f18 -/* 05580C 7F020C9C 50E50004 */ beql $a3, $a1, .L7F020CB0 -/* 055810 7F020CA0 00C02025 */ move $a0, $a2 -/* 055814 7F020CA4 14E3001E */ bne $a3, $v1, .L7F020D20 -/* 055818 7F020CA8 00000000 */ nop -/* 05581C 7F020CAC 00C02025 */ move $a0, $a2 -.L7F020CB0: -/* 055820 7F020CB0 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 055824 7F020CB4 0FC08251 */ jal sub_GAME_7F020794 -/* 055828 7F020CB8 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 05582C 7F020CBC 3C018005 */ lui $at, %hi(D_80051D44) # $at, 0x8005 -/* 055830 7F020CC0 C4241D74 */ lwc1 $f4, %lo(D_80051D44)($at) -/* 055834 7F020CC4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 055838 7F020CC8 44814000 */ mtc1 $at, $f8 -/* 05583C 7F020CCC 46040182 */ mul.s $f6, $f0, $f4 -/* 055840 7F020CD0 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 055844 7F020CD4 44812000 */ mtc1 $at, $f4 -/* 055848 7F020CD8 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069B60) # $a2, 0x8007 -/* 05584C 7F020CDC 8CC69BA0 */ lw $a2, %lo(dword_CODE_bss_80069B60)($a2) -/* 055850 7F020CE0 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 055854 7F020CE4 44809000 */ mtc1 $zero, $f18 -/* 055858 7F020CE8 46083282 */ mul.s $f10, $f6, $f8 -/* 05585C 7F020CEC 94C20012 */ lhu $v0, 0x12($a2) -/* 055860 7F020CF0 C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 055864 7F020CF4 304D1000 */ andi $t5, $v0, 0x1000 -/* 055868 7F020CF8 304E2000 */ andi $t6, $v0, 0x2000 -/* 05586C 7F020CFC 46045083 */ div.s $f2, $f10, $f4 -/* 055870 7F020D00 11A00003 */ beqz $t5, .L7F020D10 -/* 055874 7F020D04 46027381 */ sub.s $f14, $f14, $f2 -/* 055878 7F020D08 10000038 */ b .L7F020DEC -/* 05587C 7F020D0C 46026301 */ sub.s $f12, $f12, $f2 -.L7F020D10: -/* 055880 7F020D10 51C00037 */ beql $t6, $zero, .L7F020DF0 -/* 055884 7F020D14 46127032 */ c.eq.s $f14, $f18 -/* 055888 7F020D18 10000034 */ b .L7F020DEC -/* 05588C 7F020D1C 46026300 */ add.s $f12, $f12, $f2 -.L7F020D20: -/* 055890 7F020D20 14E40032 */ bne $a3, $a0, .L7F020DEC -/* 055894 7F020D24 00C02025 */ move $a0, $a2 -/* 055898 7F020D28 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 05589C 7F020D2C 0FC08251 */ jal sub_GAME_7F020794 -/* 0558A0 7F020D30 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 0558A4 7F020D34 3C018005 */ lui $at, %hi(D_80051D48) # $at, 0x8005 -/* 0558A8 7F020D38 C4261D78 */ lwc1 $f6, %lo(D_80051D48)($at) -/* 0558AC 7F020D3C 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0558B0 7F020D40 44814000 */ mtc1 $at, $f8 -/* 0558B4 7F020D44 46060402 */ mul.s $f16, $f0, $f6 -/* 0558B8 7F020D48 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0558BC 7F020D4C 44812000 */ mtc1 $at, $f4 -/* 0558C0 7F020D50 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069B60) # $a2, 0x8007 -/* 0558C4 7F020D54 8CC69BA0 */ lw $a2, %lo(dword_CODE_bss_80069B60)($a2) -/* 0558C8 7F020D58 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 0558CC 7F020D5C 44809000 */ mtc1 $zero, $f18 -/* 0558D0 7F020D60 46088282 */ mul.s $f10, $f16, $f8 -/* 0558D4 7F020D64 94C20012 */ lhu $v0, 0x12($a2) -/* 0558D8 7F020D68 C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 0558DC 7F020D6C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0558E0 7F020D70 304F1000 */ andi $t7, $v0, 0x1000 -/* 0558E4 7F020D74 30582000 */ andi $t8, $v0, 0x2000 -/* 0558E8 7F020D78 30594000 */ andi $t9, $v0, 0x4000 -/* 0558EC 7F020D7C 46045083 */ div.s $f2, $f10, $f4 -/* 0558F0 7F020D80 30488000 */ andi $t0, $v0, 0x8000 -/* 0558F4 7F020D84 11E00003 */ beqz $t7, .L7F020D94 -/* 0558F8 7F020D88 46027380 */ add.s $f14, $f14, $f2 -/* 0558FC 7F020D8C 10000004 */ b .L7F020DA0 -/* 055900 7F020D90 46026300 */ add.s $f12, $f12, $f2 -.L7F020D94: -/* 055904 7F020D94 13000002 */ beqz $t8, .L7F020DA0 -/* 055908 7F020D98 00000000 */ nop -/* 05590C 7F020D9C 46026301 */ sub.s $f12, $f12, $f2 -.L7F020DA0: -/* 055910 7F020DA0 13200009 */ beqz $t9, .L7F020DC8 -/* 055914 7F020DA4 00000000 */ nop -/* 055918 7F020DA8 44813000 */ mtc1 $at, $f6 -/* 05591C 7F020DAC 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 055920 7F020DB0 44815000 */ mtc1 $at, $f10 -/* 055924 7F020DB4 46068202 */ mul.s $f8, $f16, $f6 -/* 055928 7F020DB8 460A4103 */ div.s $f4, $f8, $f10 -/* 05592C 7F020DBC 46049180 */ add.s $f6, $f18, $f4 -/* 055930 7F020DC0 1000000A */ b .L7F020DEC -/* 055934 7F020DC4 E7A60088 */ swc1 $f6, 0x88($sp) -.L7F020DC8: -/* 055938 7F020DC8 11000008 */ beqz $t0, .L7F020DEC -/* 05593C 7F020DCC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 055940 7F020DD0 44814000 */ mtc1 $at, $f8 -/* 055944 7F020DD4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 055948 7F020DD8 44812000 */ mtc1 $at, $f4 -/* 05594C 7F020DDC 46088282 */ mul.s $f10, $f16, $f8 -/* 055950 7F020DE0 46045183 */ div.s $f6, $f10, $f4 -/* 055954 7F020DE4 46069201 */ sub.s $f8, $f18, $f6 -/* 055958 7F020DE8 E7A80088 */ swc1 $f8, 0x88($sp) -.L7F020DEC: -/* 05595C 7F020DEC 46127032 */ c.eq.s $f14, $f18 -.L7F020DF0: -/* 055960 7F020DF0 00C02025 */ move $a0, $a2 -/* 055964 7F020DF4 45020011 */ bc1fl .L7F020E3C -/* 055968 7F020DF8 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 05596C 7F020DFC 46126032 */ c.eq.s $f12, $f18 -/* 055970 7F020E00 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 055974 7F020E04 4502000D */ bc1fl .L7F020E3C -/* 055978 7F020E08 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 05597C 7F020E0C 46125032 */ c.eq.s $f10, $f18 -/* 055980 7F020E10 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 055984 7F020E14 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 055988 7F020E18 45020008 */ bc1fl .L7F020E3C -/* 05598C 7F020E1C E7AC008C */ swc1 $f12, 0x8c($sp) -/* 055990 7F020E20 44813000 */ mtc1 $at, $f6 -/* 055994 7F020E24 00000000 */ nop -/* 055998 7F020E28 46062032 */ c.eq.s $f4, $f6 -/* 05599C 7F020E2C 00000000 */ nop -/* 0559A0 7F020E30 4503007B */ bc1tl .L7F021020 -/* 0559A4 7F020E34 8FBF0014 */ lw $ra, 0x14($sp) -/* 0559A8 7F020E38 E7AC008C */ swc1 $f12, 0x8c($sp) -.L7F020E3C: -/* 0559AC 7F020E3C 0FC0B126 */ jal sub_GAME_7F02C190 -/* 0559B0 7F020E40 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 0559B4 7F020E44 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 0559B8 7F020E48 44809000 */ mtc1 $zero, $f18 -/* 0559BC 7F020E4C C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 0559C0 7F020E50 E7A00070 */ swc1 $f0, 0x70($sp) -/* 0559C4 7F020E54 4612703C */ c.lt.s $f14, $f18 -/* 0559C8 7F020E58 3C018005 */ lui $at, %hi(D_80051D4C) # $at, 0x8005 -/* 0559CC 7F020E5C 45000003 */ bc1f .L7F020E6C -/* 0559D0 7F020E60 00000000 */ nop -/* 0559D4 7F020E64 10000003 */ b .L7F020E74 -/* 0559D8 7F020E68 46007387 */ neg.s $f14, $f14 -.L7F020E6C: -/* 0559DC 7F020E6C C4281D7C */ lwc1 $f8, %lo(D_80051D4C)($at) -/* 0559E0 7F020E70 460E4381 */ sub.s $f14, $f8, $f14 -.L7F020E74: -/* 0559E4 7F020E74 4612603C */ c.lt.s $f12, $f18 -/* 0559E8 7F020E78 3C018005 */ lui $at, %hi(D_80051D50) # $at, 0x8005 -/* 0559EC 7F020E7C 45020004 */ bc1fl .L7F020E90 -/* 0559F0 7F020E80 E7AC008C */ swc1 $f12, 0x8c($sp) -/* 0559F4 7F020E84 C42A1D80 */ lwc1 $f10, %lo(D_80051D50)($at) -/* 0559F8 7F020E88 460A6300 */ add.s $f12, $f12, $f10 -/* 0559FC 7F020E8C E7AC008C */ swc1 $f12, 0x8c($sp) -.L7F020E90: -/* 055A00 7F020E90 0FC1E28D */ jal sub_GAME_7F078444 -/* 055A04 7F020E94 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 055A08 7F020E98 00402025 */ move $a0, $v0 -/* 055A0C 7F020E9C 0FC1616E */ jal sub_GAME_7F058098 -/* 055A10 7F020EA0 8FA5009C */ lw $a1, 0x9c($sp) -/* 055A14 7F020EA4 8FA2009C */ lw $v0, 0x9c($sp) -/* 055A18 7F020EA8 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 055A1C 7F020EAC 44809000 */ mtc1 $zero, $f18 -/* 055A20 7F020EB0 C4440030 */ lwc1 $f4, 0x30($v0) -/* 055A24 7F020EB4 C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 055A28 7F020EB8 46127032 */ c.eq.s $f14, $f18 -/* 055A2C 7F020EBC E7A40074 */ swc1 $f4, 0x74($sp) -/* 055A30 7F020EC0 C4460034 */ lwc1 $f6, 0x34($v0) -/* 055A34 7F020EC4 27A50030 */ addiu $a1, $sp, 0x30 -/* 055A38 7F020EC8 E7A60078 */ swc1 $f6, 0x78($sp) -/* 055A3C 7F020ECC C4480038 */ lwc1 $f8, 0x38($v0) -/* 055A40 7F020ED0 E7A8007C */ swc1 $f8, 0x7c($sp) -/* 055A44 7F020ED4 E4520030 */ swc1 $f18, 0x30($v0) -/* 055A48 7F020ED8 E4520034 */ swc1 $f18, 0x34($v0) -/* 055A4C 7F020EDC 45000006 */ bc1f .L7F020EF8 -/* 055A50 7F020EE0 E4520038 */ swc1 $f18, 0x38($v0) -/* 055A54 7F020EE4 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 055A58 7F020EE8 46125032 */ c.eq.s $f10, $f18 -/* 055A5C 7F020EEC 00000000 */ nop -/* 055A60 7F020EF0 45010030 */ bc1t .L7F020FB4 -/* 055A64 7F020EF4 00000000 */ nop -.L7F020EF8: -/* 055A68 7F020EF8 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 055A6C 7F020EFC 3C018005 */ lui $at, %hi(D_80051D54) # $at, 0x8005 -/* 055A70 7F020F00 46046301 */ sub.s $f12, $f12, $f4 -/* 055A74 7F020F04 4612603C */ c.lt.s $f12, $f18 -/* 055A78 7F020F08 00000000 */ nop -/* 055A7C 7F020F0C 45000003 */ bc1f .L7F020F1C -/* 055A80 7F020F10 00000000 */ nop -/* 055A84 7F020F14 C4261D84 */ lwc1 $f6, %lo(D_80051D54)($at) -/* 055A88 7F020F18 46066300 */ add.s $f12, $f12, $f6 -.L7F020F1C: -/* 055A8C 7F020F1C 0FC162C7 */ jal sub_GAME_7F0585FC -/* 055A90 7F020F20 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 055A94 7F020F24 27A40030 */ addiu $a0, $sp, 0x30 -/* 055A98 7F020F28 0FC1616E */ jal sub_GAME_7F058098 -/* 055A9C 7F020F2C 8FA5009C */ lw $a1, 0x9c($sp) -/* 055AA0 7F020F30 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 055AA4 7F020F34 44809000 */ mtc1 $zero, $f18 -/* 055AA8 7F020F38 27A50030 */ addiu $a1, $sp, 0x30 -/* 055AAC 7F020F3C 46127032 */ c.eq.s $f14, $f18 -/* 055AB0 7F020F40 00000000 */ nop -/* 055AB4 7F020F44 45030009 */ bc1tl .L7F020F6C -/* 055AB8 7F020F48 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 055ABC 7F020F4C 0FC162A4 */ jal sub_GAME_7F058570 -/* 055AC0 7F020F50 46007306 */ mov.s $f12, $f14 -/* 055AC4 7F020F54 27A40030 */ addiu $a0, $sp, 0x30 -/* 055AC8 7F020F58 0FC1616E */ jal sub_GAME_7F058098 -/* 055ACC 7F020F5C 8FA5009C */ lw $a1, 0x9c($sp) -/* 055AD0 7F020F60 44809000 */ mtc1 $zero, $f18 -/* 055AD4 7F020F64 00000000 */ nop -/* 055AD8 7F020F68 C7A80088 */ lwc1 $f8, 0x88($sp) -.L7F020F6C: -/* 055ADC 7F020F6C 27A50030 */ addiu $a1, $sp, 0x30 -/* 055AE0 7F020F70 46124032 */ c.eq.s $f8, $f18 -/* 055AE4 7F020F74 00000000 */ nop -/* 055AE8 7F020F78 45030007 */ bc1tl .L7F020F98 -/* 055AEC 7F020F7C C7AC0070 */ lwc1 $f12, 0x70($sp) -/* 055AF0 7F020F80 0FC162EA */ jal sub_GAME_7F058688 -/* 055AF4 7F020F84 46004306 */ mov.s $f12, $f8 -/* 055AF8 7F020F88 27A40030 */ addiu $a0, $sp, 0x30 -/* 055AFC 7F020F8C 0FC1616E */ jal sub_GAME_7F058098 -/* 055B00 7F020F90 8FA5009C */ lw $a1, 0x9c($sp) -/* 055B04 7F020F94 C7AC0070 */ lwc1 $f12, 0x70($sp) -.L7F020F98: -/* 055B08 7F020F98 0FC162C7 */ jal sub_GAME_7F0585FC -/* 055B0C 7F020F9C 27A50030 */ addiu $a1, $sp, 0x30 -/* 055B10 7F020FA0 27A40030 */ addiu $a0, $sp, 0x30 -/* 055B14 7F020FA4 0FC1616E */ jal sub_GAME_7F058098 -/* 055B18 7F020FA8 8FA5009C */ lw $a1, 0x9c($sp) -/* 055B1C 7F020FAC 10000007 */ b .L7F020FCC -/* 055B20 7F020FB0 3C013F80 */ lui $at, 0x3f80 -.L7F020FB4: -/* 055B24 7F020FB4 0FC162C7 */ jal sub_GAME_7F0585FC -/* 055B28 7F020FB8 27A50030 */ addiu $a1, $sp, 0x30 -/* 055B2C 7F020FBC 27A40030 */ addiu $a0, $sp, 0x30 -/* 055B30 7F020FC0 0FC1616E */ jal sub_GAME_7F058098 -/* 055B34 7F020FC4 8FA5009C */ lw $a1, 0x9c($sp) -/* 055B38 7F020FC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F020FCC: -/* 055B3C 7F020FCC 44812000 */ mtc1 $at, $f4 -/* 055B40 7F020FD0 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 055B44 7F020FD4 8FA5009C */ lw $a1, 0x9c($sp) -/* 055B48 7F020FD8 46045032 */ c.eq.s $f10, $f4 -/* 055B4C 7F020FDC 00000000 */ nop -/* 055B50 7F020FE0 45030004 */ bc1tl .L7F020FF4 -/* 055B54 7F020FE4 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 055B58 7F020FE8 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 055B5C 7F020FEC 46005306 */ mov.s $f12, $f10 -/* 055B60 7F020FF0 C7A60074 */ lwc1 $f6, 0x74($sp) -.L7F020FF4: -/* 055B64 7F020FF4 8FA9009C */ lw $t1, 0x9c($sp) -/* 055B68 7F020FF8 E5260030 */ swc1 $f6, 0x30($t1) -/* 055B6C 7F020FFC C7A80078 */ lwc1 $f8, 0x78($sp) -/* 055B70 7F021000 E5280034 */ swc1 $f8, 0x34($t1) -/* 055B74 7F021004 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 055B78 7F021008 0FC1E26D */ jal get_BONDdata_field_10CC -/* 055B7C 7F02100C E5240038 */ swc1 $f4, 0x38($t1) -/* 055B80 7F021010 00402025 */ move $a0, $v0 -/* 055B84 7F021014 0FC1616E */ jal sub_GAME_7F058098 -/* 055B88 7F021018 8FA5009C */ lw $a1, 0x9c($sp) -/* 055B8C 7F02101C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F021020: -/* 055B90 7F021020 27BD0098 */ addiu $sp, $sp, 0x98 -/* 055B94 7F021024 03E00008 */ jr $ra -/* 055B98 7F021028 00000000 */ nop - -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F020D94(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F020D94 -/* 0558C4 7F020D94 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0558C8 7F020D98 AFBF0014 */ sw $ra, 0x14($sp) -/* 0558CC 7F020D9C 00802825 */ move $a1, $a0 -/* 0558D0 7F020DA0 8C840018 */ lw $a0, 0x18($a0) -/* 0558D4 7F020DA4 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 0558D8 7F020DA8 44810000 */ mtc1 $at, $f0 -/* 0558DC 7F020DAC C4840008 */ lwc1 $f4, 8($a0) -/* 0558E0 7F020DB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0558E4 7F020DB4 44815000 */ mtc1 $at, $f10 -/* 0558E8 7F020DB8 46002181 */ sub.s $f6, $f4, $f0 -/* 0558EC 7F020DBC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0558F0 7F020DC0 E7A60028 */ swc1 $f6, 0x28($sp) -/* 0558F4 7F020DC4 C4A800AC */ lwc1 $f8, 0xac($a1) -/* 0558F8 7F020DC8 460A4401 */ sub.s $f16, $f8, $f10 -/* 0558FC 7F020DCC E7B0002C */ swc1 $f16, 0x2c($sp) -/* 055900 7F020DD0 C4920010 */ lwc1 $f18, 0x10($a0) -/* 055904 7F020DD4 44818000 */ mtc1 $at, $f16 -/* 055908 7F020DD8 46009101 */ sub.s $f4, $f18, $f0 -/* 05590C 7F020DDC E7A40030 */ swc1 $f4, 0x30($sp) -/* 055910 7F020DE0 C4860008 */ lwc1 $f6, 8($a0) -/* 055914 7F020DE4 46003200 */ add.s $f8, $f6, $f0 -/* 055918 7F020DE8 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 05591C 7F020DEC C48A000C */ lwc1 $f10, 0xc($a0) -/* 055920 7F020DF0 46105480 */ add.s $f18, $f10, $f16 -/* 055924 7F020DF4 E7B20020 */ swc1 $f18, 0x20($sp) -/* 055928 7F020DF8 C4840010 */ lwc1 $f4, 0x10($a0) -/* 05592C 7F020DFC AFA40034 */ sw $a0, 0x34($sp) -/* 055930 7F020E00 46002180 */ add.s $f6, $f4, $f0 -/* 055934 7F020E04 0FC0F863 */ jal sub_GAME_7F03E18C -/* 055938 7F020E08 E7A60024 */ swc1 $f6, 0x24($sp) -/* 05593C 7F020E0C 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 055940 7F020E10 44810000 */ mtc1 $at, $f0 -/* 055944 7F020E14 8FA40034 */ lw $a0, 0x34($sp) -/* 055948 7F020E18 27A50028 */ addiu $a1, $sp, 0x28 -/* 05594C 7F020E1C 44070000 */ mfc1 $a3, $f0 -/* 055950 7F020E20 0FC0F89F */ jal sub_GAME_7F03E27C -/* 055954 7F020E24 27A6001C */ addiu $a2, $sp, 0x1c -/* 055958 7F020E28 0FC0F884 */ jal sub_GAME_7F03E210 -/* 05595C 7F020E2C 8FA40034 */ lw $a0, 0x34($sp) -/* 055960 7F020E30 8FBF0014 */ lw $ra, 0x14($sp) -/* 055964 7F020E34 27BD0038 */ addiu $sp, $sp, 0x38 -/* 055968 7F020E38 03E00008 */ jr $ra -/* 05596C 7F020E3C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F020E40(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F020E40 -/* 055970 7F020E40 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 055974 7F020E44 AFBF001C */ sw $ra, 0x1c($sp) -/* 055978 7F020E48 AFB10018 */ sw $s1, 0x18($sp) -/* 05597C 7F020E4C AFB00014 */ sw $s0, 0x14($sp) -/* 055980 7F020E50 AFA5002C */ sw $a1, 0x2c($sp) -/* 055984 7F020E54 8C8E0018 */ lw $t6, 0x18($a0) -/* 055988 7F020E58 8C90001C */ lw $s0, 0x1c($a0) -/* 05598C 7F020E5C 00808825 */ move $s1, $a0 -/* 055990 7F020E60 AFAE0020 */ sw $t6, 0x20($sp) -/* 055994 7F020E64 948F0012 */ lhu $t7, 0x12($a0) -/* 055998 7F020E68 02002025 */ move $a0, $s0 -/* 05599C 7F020E6C 31F80800 */ andi $t8, $t7, 0x800 -/* 0559A0 7F020E70 17000014 */ bnez $t8, .L7F020EC4 -/* 0559A4 7F020E74 00000000 */ nop -/* 0559A8 7F020E78 0FC1B2E6 */ jal getsuboffset -/* 0559AC 7F020E7C 262500BC */ addiu $a1, $s1, 0xbc -/* 0559B0 7F020E80 02002025 */ move $a0, $s0 -/* 0559B4 7F020E84 8FA5002C */ lw $a1, 0x2c($sp) -/* 0559B8 7F020E88 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 0559BC 7F020E8C 24060001 */ li $a2, 1 -/* 0559C0 7F020E90 0FC1B5AC */ jal subcalcpos -/* 0559C4 7F020E94 02002025 */ move $a0, $s0 -/* 0559C8 7F020E98 8FA40020 */ lw $a0, 0x20($sp) -/* 0559CC 7F020E9C 0FC10027 */ jal set_color_shading_from_tile -/* 0559D0 7F020EA0 262500F8 */ addiu $a1, $s1, 0xf8 -/* 0559D4 7F020EA4 8FA50020 */ lw $a1, 0x20($sp) -/* 0559D8 7F020EA8 02002025 */ move $a0, $s0 -/* 0559DC 7F020EAC 0FC1B2E6 */ jal getsuboffset -/* 0559E0 7F020EB0 24A50008 */ addiu $a1, $a1, 8 -/* 0559E4 7F020EB4 0FC08365 */ jal sub_GAME_7F020D94 -/* 0559E8 7F020EB8 02202025 */ move $a0, $s1 -/* 0559EC 7F020EBC 10000008 */ b .L7F020EE0 -/* 0559F0 7F020EC0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F020EC4: -/* 0559F4 7F020EC4 0FC1B5AC */ jal subcalcpos -/* 0559F8 7F020EC8 02002025 */ move $a0, $s0 -/* 0559FC 7F020ECC 8FA50020 */ lw $a1, 0x20($sp) -/* 055A00 7F020ED0 02002025 */ move $a0, $s0 -/* 055A04 7F020ED4 0FC1B2E6 */ jal getsuboffset -/* 055A08 7F020ED8 24A50008 */ addiu $a1, $a1, 8 -/* 055A0C 7F020EDC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F020EE0: -/* 055A10 7F020EE0 8FB00014 */ lw $s0, 0x14($sp) -/* 055A14 7F020EE4 8FB10018 */ lw $s1, 0x18($sp) -/* 055A18 7F020EE8 03E00008 */ jr $ra -/* 055A1C 7F020EEC 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F020EF0(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F020EF0 -/* 055A20 7F020EF0 27BDFEA8 */ addiu $sp, $sp, -0x158 -/* 055A24 7F020EF4 3C0F8003 */ lui $t7, %hi(D_8002CC6C) -/* 055A28 7F020EF8 25EFCC6C */ addiu $t7, %lo(D_8002CC6C) # addiu $t7, $t7, -0x3394 -/* 055A2C 7F020EFC AFBF0024 */ sw $ra, 0x24($sp) -/* 055A30 7F020F00 AFB00020 */ sw $s0, 0x20($sp) -/* 055A34 7F020F04 AFA40158 */ sw $a0, 0x158($sp) -/* 055A38 7F020F08 25E8003C */ addiu $t0, $t7, 0x3c -/* 055A3C 7F020F0C 27AE0118 */ addiu $t6, $sp, 0x118 -.L7F020F10: -/* 055A40 7F020F10 8DE10000 */ lw $at, ($t7) -/* 055A44 7F020F14 25EF000C */ addiu $t7, $t7, 0xc -/* 055A48 7F020F18 25CE000C */ addiu $t6, $t6, 0xc -/* 055A4C 7F020F1C ADC1FFF4 */ sw $at, -0xc($t6) -/* 055A50 7F020F20 8DE1FFF8 */ lw $at, -8($t7) -/* 055A54 7F020F24 ADC1FFF8 */ sw $at, -8($t6) -/* 055A58 7F020F28 8DE1FFFC */ lw $at, -4($t7) -/* 055A5C 7F020F2C 15E8FFF8 */ bne $t7, $t0, .L7F020F10 -/* 055A60 7F020F30 ADC1FFFC */ sw $at, -4($t6) -/* 055A64 7F020F34 8DE10000 */ lw $at, ($t7) -/* 055A68 7F020F38 3C0C8005 */ lui $t4, %hi(clock_timer) -/* 055A6C 7F020F3C 240B0001 */ li $t3, 1 -/* 055A70 7F020F40 ADC10000 */ sw $at, ($t6) -/* 055A74 7F020F44 8FA90158 */ lw $t1, 0x158($sp) -/* 055A78 7F020F48 8D8C8374 */ lw $t4, %lo(clock_timer)($t4) -/* 055A7C 7F020F4C 3C188003 */ lui $t8, %hi(D_8002C904) -/* 055A80 7F020F50 8D300004 */ lw $s0, 4($t1) -/* 055A84 7F020F54 8E0A001C */ lw $t2, 0x1c($s0) -/* 055A88 7F020F58 AFAB0108 */ sw $t3, 0x108($sp) -/* 055A8C 7F020F5C AFAC0104 */ sw $t4, 0x104($sp) -/* 055A90 7F020F60 AFAA0110 */ sw $t2, 0x110($sp) -/* 055A94 7F020F64 8E020014 */ lw $v0, 0x14($s0) -/* 055A98 7F020F68 304D0400 */ andi $t5, $v0, 0x400 -/* 055A9C 7F020F6C 11A00003 */ beqz $t5, .L7F020F7C -/* 055AA0 7F020F70 0002CB40 */ sll $t9, $v0, 0xd -/* 055AA4 7F020F74 07230035 */ bgezl $t9, .L7F02104C -/* 055AA8 7F020F78 96180012 */ lhu $t8, 0x12($s0) -.L7F020F7C: -/* 055AAC 7F020F7C 8F18C904 */ lw $t8, %lo(D_8002C904)($t8) -/* 055AB0 7F020F80 3C088003 */ lui $t0, %hi(D_8002C908) -/* 055AB4 7F020F84 1300001E */ beqz $t8, .L7F021000 -/* 055AB8 7F020F88 00000000 */ nop -/* 055ABC 7F020F8C 8D08C908 */ lw $t0, %lo(D_8002C908)($t0) -/* 055AC0 7F020F90 3C0E8003 */ lui $t6, %hi(animation_table_ptrs1) -/* 055AC4 7F020F94 24010001 */ li $at, 1 -/* 055AC8 7F020F98 00087880 */ sll $t7, $t0, 2 -/* 055ACC 7F020F9C 01CF7021 */ addu $t6, $t6, $t7 -/* 055AD0 7F020FA0 8DCE9D6C */ lw $t6, %lo(animation_table_ptrs1)($t6) -/* 055AD4 7F020FA4 11C1001D */ beq $t6, $at, .L7F02101C -/* 055AD8 7F020FA8 00000000 */ nop -/* 055ADC 7F020FAC 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 055AE0 7F020FB0 8FA40110 */ lw $a0, 0x110($sp) -/* 055AE4 7F020FB4 3C098003 */ lui $t1, %hi(D_8002C908) -/* 055AE8 7F020FB8 8D29C908 */ lw $t1, %lo(D_8002C908)($t1) -/* 055AEC 7F020FBC 3C058003 */ lui $a1, %hi(animation_table_ptrs1) -/* 055AF0 7F020FC0 8FA40110 */ lw $a0, 0x110($sp) -/* 055AF4 7F020FC4 00095080 */ sll $t2, $t1, 2 -/* 055AF8 7F020FC8 00AA2821 */ addu $a1, $a1, $t2 -/* 055AFC 7F020FCC 8CA59D6C */ lw $a1, %lo(animation_table_ptrs1)($a1) -/* 055B00 7F020FD0 00003025 */ move $a2, $zero -/* 055B04 7F020FD4 10450011 */ beq $v0, $a1, .L7F02101C -/* 055B08 7F020FD8 00000000 */ nop -/* 055B0C 7F020FDC 44800000 */ mtc1 $zero, $f0 -/* 055B10 7F020FE0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 055B14 7F020FE4 44812000 */ mtc1 $at, $f4 -/* 055B18 7F020FE8 44070000 */ mfc1 $a3, $f0 -/* 055B1C 7F020FEC E7A00014 */ swc1 $f0, 0x14($sp) -/* 055B20 7F020FF0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 055B24 7F020FF4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 055B28 7F020FF8 10000008 */ b .L7F02101C -/* 055B2C 7F020FFC 00000000 */ nop -.L7F021000: -/* 055B30 7F021000 0FC0C9AF */ jal manage_actions -/* 055B34 7F021004 02002025 */ move $a0, $s0 -/* 055B38 7F021008 8E0B001C */ lw $t3, 0x1c($s0) -/* 055B3C 7F02100C 15600003 */ bnez $t3, .L7F02101C -/* 055B40 7F021010 00000000 */ nop -/* 055B44 7F021014 100002BD */ b .L7F021B0C -/* 055B48 7F021018 24020001 */ li $v0, 1 -.L7F02101C: -/* 055B4C 7F02101C 3C0C8003 */ lui $t4, %hi(D_8002C90C) -/* 055B50 7F021020 8D8CC90C */ lw $t4, %lo(D_8002C90C)($t4) -/* 055B54 7F021024 3C0D8003 */ lui $t5, %hi(D_8002C910) -/* 055B58 7F021028 51800008 */ beql $t4, $zero, .L7F02104C -/* 055B5C 7F02102C 96180012 */ lhu $t8, 0x12($s0) -/* 055B60 7F021030 8DADC910 */ lw $t5, %lo(D_8002C910)($t5) -/* 055B64 7F021034 AFA00104 */ sw $zero, 0x104($sp) -/* 055B68 7F021038 24190001 */ li $t9, 1 -/* 055B6C 7F02103C 51A00003 */ beql $t5, $zero, .L7F02104C -/* 055B70 7F021040 96180012 */ lhu $t8, 0x12($s0) -/* 055B74 7F021044 AFB90104 */ sw $t9, 0x104($sp) -/* 055B78 7F021048 96180012 */ lhu $t8, 0x12($s0) -.L7F02104C: -/* 055B7C 7F02104C 33080020 */ andi $t0, $t8, 0x20 -/* 055B80 7F021050 51000006 */ beql $t0, $zero, .L7F02106C -/* 055B84 7F021054 8E020160 */ lw $v0, 0x160($s0) -/* 055B88 7F021058 0FC08105 */ jal disable_sounds_attached_to_player_then_something -/* 055B8C 7F02105C 8FA40158 */ lw $a0, 0x158($sp) -/* 055B90 7F021060 100002AA */ b .L7F021B0C -/* 055B94 7F021064 24020001 */ li $v0, 1 -/* 055B98 7F021068 8E020160 */ lw $v0, 0x160($s0) -.L7F02106C: -/* 055B9C 7F02106C 50400009 */ beql $v0, $zero, .L7F021094 -/* 055BA0 7F021070 8E020164 */ lw $v0, 0x164($s0) -/* 055BA4 7F021074 8C440004 */ lw $a0, 4($v0) -/* 055BA8 7F021078 8C8F0064 */ lw $t7, 0x64($a0) -/* 055BAC 7F02107C 31EE0004 */ andi $t6, $t7, 4 -/* 055BB0 7F021080 51C00004 */ beql $t6, $zero, .L7F021094 -/* 055BB4 7F021084 8E020164 */ lw $v0, 0x164($s0) -/* 055BB8 7F021088 0FC10409 */ jal sub_GAME_7F041024 -/* 055BBC 7F02108C 24050001 */ li $a1, 1 -/* 055BC0 7F021090 8E020164 */ lw $v0, 0x164($s0) -.L7F021094: -/* 055BC4 7F021094 50400009 */ beql $v0, $zero, .L7F0210BC -/* 055BC8 7F021098 8E020014 */ lw $v0, 0x14($s0) -/* 055BCC 7F02109C 8C440004 */ lw $a0, 4($v0) -/* 055BD0 7F0210A0 8C890064 */ lw $t1, 0x64($a0) -/* 055BD4 7F0210A4 312A0004 */ andi $t2, $t1, 4 -/* 055BD8 7F0210A8 51400004 */ beql $t2, $zero, .L7F0210BC -/* 055BDC 7F0210AC 8E020014 */ lw $v0, 0x14($s0) -/* 055BE0 7F0210B0 0FC10409 */ jal sub_GAME_7F041024 -/* 055BE4 7F0210B4 24050001 */ li $a1, 1 -/* 055BE8 7F0210B8 8E020014 */ lw $v0, 0x14($s0) -.L7F0210BC: -/* 055BEC 7F0210BC 8FAC0158 */ lw $t4, 0x158($sp) -/* 055BF0 7F0210C0 304B0400 */ andi $t3, $v0, 0x400 -/* 055BF4 7F0210C4 51600005 */ beql $t3, $zero, .L7F0210DC -/* 055BF8 7F0210C8 918D0000 */ lbu $t5, ($t4) -/* 055BFC 7F0210CC AFA0010C */ sw $zero, 0x10c($sp) -/* 055C00 7F0210D0 100000BD */ b .L7F0213C8 -/* 055C04 7F0210D4 82030007 */ lb $v1, 7($s0) -/* 055C08 7F0210D8 918D0000 */ lbu $t5, ($t4) -.L7F0210DC: -/* 055C0C 7F0210DC 24010006 */ li $at, 6 -/* 055C10 7F0210E0 55A1000D */ bnel $t5, $at, .L7F021118 -/* 055C14 7F0210E4 00027A00 */ sll $t7, $v0, 8 -/* 055C18 7F0210E8 0FC26C57 */ jal sub_GAME_7F09B15C -/* 055C1C 7F0210EC 01802025 */ move $a0, $t4 -/* 055C20 7F0210F0 0002C880 */ sll $t9, $v0, 2 -/* 055C24 7F0210F4 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) -/* 055C28 7F0210F8 0319C021 */ addu $t8, $t8, $t9 -/* 055C2C 7F0210FC 8F189EE0 */ lw $t8, %lo(ptr_BONDdata_p1)($t8) -/* 055C30 7F021100 24010001 */ li $at, 1 -/* 055C34 7F021104 8F080000 */ lw $t0, ($t8) -/* 055C38 7F021108 51010005 */ beql $t0, $at, .L7F021120 -/* 055C3C 7F02110C 240E0001 */ li $t6, 1 -/* 055C40 7F021110 8E020014 */ lw $v0, 0x14($s0) -/* 055C44 7F021114 00027A00 */ sll $t7, $v0, 8 -.L7F021118: -/* 055C48 7F021118 05E10017 */ bgez $t7, .L7F021178 -/* 055C4C 7F02111C 240E0001 */ li $t6, 1 -.L7F021120: -/* 055C50 7F021120 AFAE010C */ sw $t6, 0x10c($sp) -/* 055C54 7F021124 82090007 */ lb $t1, 7($s0) -/* 055C58 7F021128 24010003 */ li $at, 3 -/* 055C5C 7F02112C 02002025 */ move $a0, $s0 -/* 055C60 7F021130 1521000D */ bne $t1, $at, .L7F021168 -/* 055C64 7F021134 00000000 */ nop -/* 055C68 7F021138 8E0A002C */ lw $t2, 0x2c($s0) -/* 055C6C 7F02113C 1540000A */ bnez $t2, .L7F021168 -/* 055C70 7F021140 00000000 */ nop -/* 055C74 7F021144 8E0B003C */ lw $t3, 0x3c($s0) -/* 055C78 7F021148 8FA50104 */ lw $a1, 0x104($sp) -/* 055C7C 7F02114C 00003025 */ move $a2, $zero -/* 055C80 7F021150 11600005 */ beqz $t3, .L7F021168 -/* 055C84 7F021154 00000000 */ nop -/* 055C88 7F021158 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 055C8C 7F02115C 8FA40110 */ lw $a0, 0x110($sp) -/* 055C90 7F021160 10000003 */ b .L7F021170 -/* 055C94 7F021164 00000000 */ nop -.L7F021168: -/* 055C98 7F021168 0FC08390 */ jal sub_GAME_7F020E40 -/* 055C9C 7F02116C 8FA50104 */ lw $a1, 0x104($sp) -.L7F021170: -/* 055CA0 7F021170 10000095 */ b .L7F0213C8 -/* 055CA4 7F021174 82030007 */ lb $v1, 7($s0) -.L7F021178: -/* 055CA8 7F021178 82030007 */ lb $v1, 7($s0) -/* 055CAC 7F02117C 2406000E */ li $a2, 14 -/* 055CB0 7F021180 2401000F */ li $at, 15 -/* 055CB4 7F021184 10C30003 */ beq $a2, $v1, .L7F021194 -/* 055CB8 7F021188 00000000 */ nop -/* 055CBC 7F02118C 54610041 */ bnel $v1, $at, .L7F021294 -/* 055CC0 7F021190 24010003 */ li $at, 3 -.L7F021194: -/* 055CC4 7F021194 54C30005 */ bnel $a2, $v1, .L7F0211AC -/* 055CC8 7F021198 2401000F */ li $at, 15 -/* 055CCC 7F02119C 820D0038 */ lb $t5, 0x38($s0) -/* 055CD0 7F0211A0 24010006 */ li $at, 6 -/* 055CD4 7F0211A4 11A10007 */ beq $t5, $at, .L7F0211C4 -/* 055CD8 7F0211A8 2401000F */ li $at, 15 -.L7F0211AC: -/* 055CDC 7F0211AC 1461001E */ bne $v1, $at, .L7F021228 -/* 055CE0 7F0211B0 02002025 */ move $a0, $s0 -/* 055CE4 7F0211B4 820C005C */ lb $t4, 0x5c($s0) -/* 055CE8 7F0211B8 24010006 */ li $at, 6 -/* 055CEC 7F0211BC 1581001A */ bne $t4, $at, .L7F021228 -/* 055CF0 7F0211C0 00000000 */ nop -.L7F0211C4: -/* 055CF4 7F0211C4 0FC1B403 */ jal getinstsize -/* 055CF8 7F0211C8 8FA40110 */ lw $a0, 0x110($sp) -/* 055CFC 7F0211CC 8FA40158 */ lw $a0, 0x158($sp) -/* 055D00 7F0211D0 44060000 */ mfc1 $a2, $f0 -/* 055D04 7F0211D4 24070001 */ li $a3, 1 -/* 055D08 7F0211D8 24850008 */ addiu $a1, $a0, 8 -/* 055D0C 7F0211DC 0FC1535B */ jal sub_GAME_7F054D6C -/* 055D10 7F0211E0 AFA50030 */ sw $a1, 0x30($sp) -/* 055D14 7F0211E4 10400028 */ beqz $v0, .L7F021288 -/* 055D18 7F0211E8 AFA2010C */ sw $v0, 0x10c($sp) -/* 055D1C 7F0211EC 8FA40110 */ lw $a0, 0x110($sp) -/* 055D20 7F0211F0 0FC1B2E6 */ jal getsuboffset -/* 055D24 7F0211F4 260500BC */ addiu $a1, $s0, 0xbc -/* 055D28 7F0211F8 0FC1B5AC */ jal subcalcpos -/* 055D2C 7F0211FC 8FA40110 */ lw $a0, 0x110($sp) -/* 055D30 7F021200 8FA40158 */ lw $a0, 0x158($sp) -/* 055D34 7F021204 0FC10027 */ jal set_color_shading_from_tile -/* 055D38 7F021208 260500F8 */ addiu $a1, $s0, 0xf8 -/* 055D3C 7F02120C 8FA40110 */ lw $a0, 0x110($sp) -/* 055D40 7F021210 0FC1B2E6 */ jal getsuboffset -/* 055D44 7F021214 8FA50030 */ lw $a1, 0x30($sp) -/* 055D48 7F021218 0FC08365 */ jal sub_GAME_7F020D94 -/* 055D4C 7F02121C 02002025 */ move $a0, $s0 -/* 055D50 7F021220 10000019 */ b .L7F021288 -/* 055D54 7F021224 00000000 */ nop -.L7F021228: -/* 055D58 7F021228 0FC08390 */ jal sub_GAME_7F020E40 -/* 055D5C 7F02122C 8FA50104 */ lw $a1, 0x104($sp) -/* 055D60 7F021230 0FC1B403 */ jal getinstsize -/* 055D64 7F021234 8FA40110 */ lw $a0, 0x110($sp) -/* 055D68 7F021238 8FA40158 */ lw $a0, 0x158($sp) -/* 055D6C 7F02123C 44060000 */ mfc1 $a2, $f0 -/* 055D70 7F021240 24070001 */ li $a3, 1 -/* 055D74 7F021244 0FC1535B */ jal sub_GAME_7F054D6C -/* 055D78 7F021248 24850008 */ addiu $a1, $a0, 8 -/* 055D7C 7F02124C 1040000E */ beqz $v0, .L7F021288 -/* 055D80 7F021250 AFA2010C */ sw $v0, 0x10c($sp) -/* 055D84 7F021254 82030007 */ lb $v1, 7($s0) -/* 055D88 7F021258 2401000E */ li $at, 14 -/* 055D8C 7F02125C 3C088005 */ lui $t0, %hi(global_timer) -/* 055D90 7F021260 54610005 */ bnel $v1, $at, .L7F021278 -/* 055D94 7F021264 2401000F */ li $at, 15 -/* 055D98 7F021268 8D08837C */ lw $t0, %lo(global_timer)($t0) -/* 055D9C 7F02126C 10000006 */ b .L7F021288 -/* 055DA0 7F021270 AE080078 */ sw $t0, 0x78($s0) -/* 055DA4 7F021274 2401000F */ li $at, 15 -.L7F021278: -/* 055DA8 7F021278 14610003 */ bne $v1, $at, .L7F021288 -/* 055DAC 7F02127C 3C0F8005 */ lui $t7, %hi(global_timer) -/* 055DB0 7F021280 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 055DB4 7F021284 AE0F009C */ sw $t7, 0x9c($s0) -.L7F021288: -/* 055DB8 7F021288 1000004F */ b .L7F0213C8 -/* 055DBC 7F02128C 82030007 */ lb $v1, 7($s0) -/* 055DC0 7F021290 24010003 */ li $at, 3 -.L7F021294: -/* 055DC4 7F021294 5461001C */ bnel $v1, $at, .L7F021308 -/* 055DC8 7F021298 24010001 */ li $at, 1 -/* 055DCC 7F02129C 8E0E002C */ lw $t6, 0x2c($s0) -/* 055DD0 7F0212A0 55C00019 */ bnezl $t6, .L7F021308 -/* 055DD4 7F0212A4 24010001 */ li $at, 1 -/* 055DD8 7F0212A8 0FC1B403 */ jal getinstsize -/* 055DDC 7F0212AC 8FA40110 */ lw $a0, 0x110($sp) -/* 055DE0 7F0212B0 8FA40158 */ lw $a0, 0x158($sp) -/* 055DE4 7F0212B4 44060000 */ mfc1 $a2, $f0 -/* 055DE8 7F0212B8 24070001 */ li $a3, 1 -/* 055DEC 7F0212BC 0FC1535B */ jal sub_GAME_7F054D6C -/* 055DF0 7F0212C0 24850008 */ addiu $a1, $a0, 8 -/* 055DF4 7F0212C4 10400009 */ beqz $v0, .L7F0212EC -/* 055DF8 7F0212C8 AFA2010C */ sw $v0, 0x10c($sp) -/* 055DFC 7F0212CC 8E0A003C */ lw $t2, 0x3c($s0) -/* 055E00 7F0212D0 02002025 */ move $a0, $s0 -/* 055E04 7F0212D4 55400006 */ bnezl $t2, .L7F0212F0 -/* 055E08 7F0212D8 8FA40110 */ lw $a0, 0x110($sp) -/* 055E0C 7F0212DC 0FC08390 */ jal sub_GAME_7F020E40 -/* 055E10 7F0212E0 8FA50104 */ lw $a1, 0x104($sp) -/* 055E14 7F0212E4 10000005 */ b .L7F0212FC -/* 055E18 7F0212E8 00000000 */ nop -.L7F0212EC: -/* 055E1C 7F0212EC 8FA40110 */ lw $a0, 0x110($sp) -.L7F0212F0: -/* 055E20 7F0212F0 8FA50104 */ lw $a1, 0x104($sp) -/* 055E24 7F0212F4 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 055E28 7F0212F8 00003025 */ move $a2, $zero -.L7F0212FC: -/* 055E2C 7F0212FC 10000032 */ b .L7F0213C8 -/* 055E30 7F021300 82030007 */ lb $v1, 7($s0) -/* 055E34 7F021304 24010001 */ li $at, 1 -.L7F021308: -/* 055E38 7F021308 1461001C */ bne $v1, $at, .L7F02137C -/* 055E3C 7F02130C 30484000 */ andi $t0, $v0, 0x4000 -/* 055E40 7F021310 0FC1B403 */ jal getinstsize -/* 055E44 7F021314 8FA40110 */ lw $a0, 0x110($sp) -/* 055E48 7F021318 8FA40158 */ lw $a0, 0x158($sp) -/* 055E4C 7F02131C 44060000 */ mfc1 $a2, $f0 -/* 055E50 7F021320 24070001 */ li $a3, 1 -/* 055E54 7F021324 0FC1535B */ jal sub_GAME_7F054D6C -/* 055E58 7F021328 24850008 */ addiu $a1, $a0, 8 -/* 055E5C 7F02132C 14400005 */ bnez $v0, .L7F021344 -/* 055E60 7F021330 AFA2010C */ sw $v0, 0x10c($sp) -/* 055E64 7F021334 8E0D0014 */ lw $t5, 0x14($s0) -/* 055E68 7F021338 8FB90110 */ lw $t9, 0x110($sp) -/* 055E6C 7F02133C 31AC0001 */ andi $t4, $t5, 1 -/* 055E70 7F021340 11800005 */ beqz $t4, .L7F021358 -.L7F021344: -/* 055E74 7F021344 02002025 */ move $a0, $s0 -/* 055E78 7F021348 0FC08390 */ jal sub_GAME_7F020E40 -/* 055E7C 7F02134C 8FA50104 */ lw $a1, 0x104($sp) -/* 055E80 7F021350 10000008 */ b .L7F021374 -/* 055E84 7F021354 00000000 */ nop -.L7F021358: -/* 055E88 7F021358 8F380054 */ lw $t8, 0x54($t9) -/* 055E8C 7F02135C 03202025 */ move $a0, $t9 -/* 055E90 7F021360 8FA50104 */ lw $a1, 0x104($sp) -/* 055E94 7F021364 13000003 */ beqz $t8, .L7F021374 -/* 055E98 7F021368 00000000 */ nop -/* 055E9C 7F02136C 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 055EA0 7F021370 00003025 */ move $a2, $zero -.L7F021374: -/* 055EA4 7F021374 10000014 */ b .L7F0213C8 -/* 055EA8 7F021378 82030007 */ lb $v1, 7($s0) -.L7F02137C: -/* 055EAC 7F02137C 11000007 */ beqz $t0, .L7F02139C -/* 055EB0 7F021380 02002025 */ move $a0, $s0 -/* 055EB4 7F021384 8FA40110 */ lw $a0, 0x110($sp) -/* 055EB8 7F021388 8FA50104 */ lw $a1, 0x104($sp) -/* 055EBC 7F02138C 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 055EC0 7F021390 00003025 */ move $a2, $zero -/* 055EC4 7F021394 10000003 */ b .L7F0213A4 -/* 055EC8 7F021398 00000000 */ nop -.L7F02139C: -/* 055ECC 7F02139C 0FC08390 */ jal sub_GAME_7F020E40 -/* 055ED0 7F0213A0 8FA50104 */ lw $a1, 0x104($sp) -.L7F0213A4: -/* 055ED4 7F0213A4 0FC1B403 */ jal getinstsize -/* 055ED8 7F0213A8 8FA40110 */ lw $a0, 0x110($sp) -/* 055EDC 7F0213AC 8FA40158 */ lw $a0, 0x158($sp) -/* 055EE0 7F0213B0 44060000 */ mfc1 $a2, $f0 -/* 055EE4 7F0213B4 24070001 */ li $a3, 1 -/* 055EE8 7F0213B8 0FC1535B */ jal sub_GAME_7F054D6C -/* 055EEC 7F0213BC 24850008 */ addiu $a1, $a0, 8 -/* 055EF0 7F0213C0 AFA2010C */ sw $v0, 0x10c($sp) -/* 055EF4 7F0213C4 82030007 */ lb $v1, 7($s0) -.L7F0213C8: -/* 055EF8 7F0213C8 24010001 */ li $at, 1 -/* 055EFC 7F0213CC 14610009 */ bne $v1, $at, .L7F0213F4 -/* 055F00 7F0213D0 8FAE0110 */ lw $t6, 0x110($sp) -/* 055F04 7F0213D4 8DC90054 */ lw $t1, 0x54($t6) -/* 055F08 7F0213D8 8FAA0158 */ lw $t2, 0x158($sp) -/* 055F0C 7F0213DC 55200006 */ bnezl $t1, .L7F0213F8 -/* 055F10 7F0213E0 960D0012 */ lhu $t5, 0x12($s0) -/* 055F14 7F0213E4 914B0000 */ lbu $t3, ($t2) -/* 055F18 7F0213E8 24010006 */ li $at, 6 -/* 055F1C 7F0213EC 15610004 */ bne $t3, $at, .L7F021400 -/* 055F20 7F0213F0 00000000 */ nop -.L7F0213F4: -/* 055F24 7F0213F4 960D0012 */ lhu $t5, 0x12($s0) -.L7F0213F8: -/* 055F28 7F0213F8 35AC0200 */ ori $t4, $t5, 0x200 -/* 055F2C 7F0213FC A60C0012 */ sh $t4, 0x12($s0) -.L7F021400: -/* 055F30 7F021400 0FC0817C */ jal sub_GAME_7F0205F0 -/* 055F34 7F021404 02002025 */ move $a0, $s0 -/* 055F38 7F021408 8E040020 */ lw $a0, 0x20($s0) -/* 055F3C 7F02140C 50800005 */ beql $a0, $zero, .L7F021424 -/* 055F40 7F021410 8FB8010C */ lw $t8, 0x10c($sp) -/* 055F44 7F021414 0FC1AC92 */ jal sub_GAME_7F06B248 -/* 055F48 7F021418 00000000 */ nop -/* 055F4C 7F02141C AE000020 */ sw $zero, 0x20($s0) -/* 055F50 7F021420 8FB8010C */ lw $t8, 0x10c($sp) -.L7F021424: -/* 055F54 7F021424 261900F8 */ addiu $t9, $s0, 0xf8 -/* 055F58 7F021428 53000182 */ beql $t8, $zero, .L7F021A34 -/* 055F5C 7F02142C 8E020160 */ lw $v0, 0x160($s0) -/* 055F60 7F021430 0FC24412 */ jal get_debug_chrnum_flag -/* 055F64 7F021434 AFB90030 */ sw $t9, 0x30($sp) -/* 055F68 7F021438 8FA20158 */ lw $v0, 0x158($sp) -/* 055F6C 7F02143C 2404000C */ li $a0, 12 -/* 055F70 7F021440 90480001 */ lbu $t0, 1($v0) -/* 055F74 7F021444 350F0002 */ ori $t7, $t0, 2 -/* 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 cheatCheckIfOn -/* 055F88 7F021458 AE090014 */ sw $t1, 0x14($s0) -/* 055F8C 7F02145C 10400004 */ beqz $v0, .L7F021470 -/* 055F90 7F021460 3C013EA0 */ li $at, 0x3EA00000 # 0.312500 -/* 055F94 7F021464 44816000 */ mtc1 $at, $f12 -/* 055F98 7F021468 0FC1B103 */ jal set_float_80036088 -/* 055F9C 7F02146C 00000000 */ nop -.L7F021470: -/* 055FA0 7F021470 3C0A7F02 */ lui $t2, %hi(sub_GAME_7F02083C) # $t2, 0x7f02 -/* 055FA4 7F021474 254A083C */ addiu $t2, %lo(sub_GAME_7F02083C) # addiu $t2, $t2, 0x83c -/* 055FA8 7F021478 3C018003 */ lui $at, %hi(D_80036090) -/* 055FAC 7F02147C AC2A6090 */ sw $t2, %lo(D_80036090)($at) -/* 055FB0 7F021480 3C018007 */ lui $at, %hi(dword_CODE_bss_80069B60) -/* 055FB4 7F021484 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 055FB8 7F021488 AC309B60 */ sw $s0, %lo(dword_CODE_bss_80069B60)($at) -/* 055FBC 7F02148C 8FAB0110 */ lw $t3, 0x110($sp) -/* 055FC0 7F021490 AFA20118 */ sw $v0, 0x118($sp) -/* 055FC4 7F021494 8D6D0008 */ lw $t5, 8($t3) -/* 055FC8 7F021498 85A4000E */ lh $a0, 0xe($t5) -/* 055FCC 7F02149C 00046180 */ sll $t4, $a0, 6 -/* 055FD0 7F0214A0 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 055FD4 7F0214A4 01802025 */ move $a0, $t4 -/* 055FD8 7F0214A8 3C058007 */ lui $a1, %hi(dword_CODE_bss_80069B60) -/* 055FDC 7F0214AC 24A59B60 */ addiu $a1, %lo(dword_CODE_bss_80069B60) # addiu $a1, $a1, -0x64a0 -/* 055FE0 7F0214B0 8CA30000 */ lw $v1, ($a1) -/* 055FE4 7F0214B4 AFA20128 */ sw $v0, 0x128($sp) -/* 055FE8 7F0214B8 80640011 */ lb $a0, 0x11($v1) -/* 055FEC 7F0214BC 0480000B */ bltz $a0, .L7F0214EC -/* 055FF0 7F0214C0 3C188005 */ lui $t8, %hi(clock_timer) -/* 055FF4 7F0214C4 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 055FF8 7F0214C8 240FFFFF */ li $t7, -1 -/* 055FFC 7F0214CC 0098C821 */ addu $t9, $a0, $t8 -/* 056000 7F0214D0 A0790011 */ sb $t9, 0x11($v1) -/* 056004 7F0214D4 8CA30000 */ lw $v1, ($a1) -/* 056008 7F0214D8 80680011 */ lb $t0, 0x11($v1) -/* 05600C 7F0214DC 2901001E */ slti $at, $t0, 0x1e -/* 056010 7F0214E0 54200003 */ bnezl $at, .L7F0214F0 -/* 056014 7F0214E4 27A40118 */ addiu $a0, $sp, 0x118 -/* 056018 7F0214E8 A06F0011 */ sb $t7, 0x11($v1) -.L7F0214EC: -/* 05601C 7F0214EC 27A40118 */ addiu $a0, $sp, 0x118 -.L7F0214F0: -/* 056020 7F0214F0 0FC1BCBE */ jal subcalcmatrices -/* 056024 7F0214F4 8FA50110 */ lw $a1, 0x110($sp) -/* 056028 7F0214F8 3C018003 */ lui $at, %hi(D_80036090) -/* 05602C 7F0214FC AC206090 */ sw $zero, %lo(D_80036090)($at) -/* 056030 7F021500 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 056034 7F021504 44816000 */ mtc1 $at, $f12 -/* 056038 7F021508 0FC1B103 */ jal set_float_80036088 -/* 05603C 7F02150C 00000000 */ nop -/* 056040 7F021510 260400F4 */ addiu $a0, $s0, 0xf4 -/* 056044 7F021514 0FC100C4 */ jal update_color_shading -/* 056048 7F021518 8FA50030 */ lw $a1, 0x30($sp) -/* 05604C 7F02151C 0FC1B1DA */ jal sub_GAME_7F06C768 -/* 056050 7F021520 8FA40110 */ lw $a0, 0x110($sp) -/* 056054 7F021524 8FAE0158 */ lw $t6, 0x158($sp) -/* 056058 7F021528 00002025 */ move $a0, $zero -/* 05605C 7F02152C E5C00018 */ swc1 $f0, 0x18($t6) -/* 056060 7F021530 0FC1AC48 */ jal sub_GAME_7F06B120 -/* 056064 7F021534 8FA50110 */ lw $a1, 0x110($sp) -/* 056068 7F021538 AE020020 */ sw $v0, 0x20($s0) -/* 05606C 7F02153C 26060020 */ addiu $a2, $s0, 0x20 -/* 056070 7F021540 AFA60030 */ sw $a2, 0x30($sp) -/* 056074 7F021544 8FA40158 */ lw $a0, 0x158($sp) -/* 056078 7F021548 0FC148FE */ jal sub_GAME_7F0523F8 -/* 05607C 7F02154C 00002825 */ move $a1, $zero -/* 056080 7F021550 8FA60030 */ lw $a2, 0x30($sp) -/* 056084 7F021554 8FA40158 */ lw $a0, 0x158($sp) -/* 056088 7F021558 0FC148FE */ jal sub_GAME_7F0523F8 -/* 05608C 7F02155C 24050001 */ li $a1, 1 -/* 056090 7F021560 8E0201D8 */ lw $v0, 0x1d8($s0) -/* 056094 7F021564 5040011A */ beql $v0, $zero, .L7F0219D0 -/* 056098 7F021568 8FAD0110 */ lw $t5, 0x110($sp) -/* 05609C 7F02156C 8C470004 */ lw $a3, 4($v0) -/* 0560A0 7F021570 90490001 */ lbu $t1, 1($v0) -/* 0560A4 7F021574 00003025 */ move $a2, $zero -/* 0560A8 7F021578 8CE30014 */ lw $v1, 0x14($a3) -/* 0560AC 7F02157C 352A0002 */ ori $t2, $t1, 2 -/* 0560B0 7F021580 A04A0001 */ sb $t2, 1($v0) -/* 0560B4 7F021584 8C65001C */ lw $a1, 0x1c($v1) -/* 0560B8 7F021588 8FA40110 */ lw $a0, 0x110($sp) -/* 0560BC 7F02158C AFA70100 */ sw $a3, 0x100($sp) -/* 0560C0 7F021590 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0560C4 7F021594 AFA300FC */ sw $v1, 0xfc($sp) -/* 0560C8 7F021598 8FAB00FC */ lw $t3, 0xfc($sp) -/* 0560CC 7F02159C AFA20118 */ sw $v0, 0x118($sp) -/* 0560D0 7F0215A0 8D6D0008 */ lw $t5, 8($t3) -/* 0560D4 7F0215A4 85A4000E */ lh $a0, 0xe($t5) -/* 0560D8 7F0215A8 00046180 */ sll $t4, $a0, 6 -/* 0560DC 7F0215AC 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 0560E0 7F0215B0 01802025 */ move $a0, $t4 -/* 0560E4 7F0215B4 AFA20128 */ sw $v0, 0x128($sp) -/* 0560E8 7F0215B8 27A40118 */ addiu $a0, $sp, 0x118 -/* 0560EC 7F0215BC 0FC1BC92 */ jal instcalcmatrices -/* 0560F0 7F0215C0 8FA500FC */ lw $a1, 0xfc($sp) -/* 0560F4 7F0215C4 82020006 */ lb $v0, 6($s0) -/* 0560F8 7F0215C8 2841002A */ slti $at, $v0, 0x2a -/* 0560FC 7F0215CC 142000F2 */ bnez $at, .L7F021998 -/* 056100 7F0215D0 28410046 */ slti $at, $v0, 0x46 -/* 056104 7F0215D4 102000F0 */ beqz $at, .L7F021998 -/* 056108 7F0215D8 3C198003 */ lui $t9, %hi(D_8002CCAC) -/* 05610C 7F0215DC 2739CCAC */ addiu $t9, %lo(D_8002CCAC) # addiu $t9, $t9, -0x3354 -/* 056110 7F0215E0 8F210000 */ lw $at, ($t9) -/* 056114 7F0215E4 27B800F0 */ addiu $t8, $sp, 0xf0 -/* 056118 7F0215E8 8F2F0004 */ lw $t7, 4($t9) -/* 05611C 7F0215EC AF010000 */ sw $at, ($t8) -/* 056120 7F0215F0 8F210008 */ lw $at, 8($t9) -/* 056124 7F0215F4 AF0F0004 */ sw $t7, 4($t8) -/* 056128 7F0215F8 AF010008 */ sw $at, 8($t8) -/* 05612C 7F0215FC 0FC149A1 */ jal get_hat_model -/* 056130 7F021600 8E0401D8 */ lw $a0, 0x1d8($s0) -/* 056134 7F021604 AFA20060 */ sw $v0, 0x60($sp) -/* 056138 7F021608 82040006 */ lb $a0, 6($s0) -/* 05613C 7F02160C 00024880 */ sll $t1, $v0, 2 -/* 056140 7F021610 01224823 */ subu $t1, $t1, $v0 -/* 056144 7F021614 2484FFD6 */ addiu $a0, $a0, -0x2a -/* 056148 7F021618 000470C0 */ sll $t6, $a0, 3 -/* 05614C 7F02161C 01C47021 */ addu $t6, $t6, $a0 -/* 056150 7F021620 000E7100 */ sll $t6, $t6, 4 -/* 056154 7F021624 000948C0 */ sll $t1, $t1, 3 -/* 056158 7F021628 3C0B8004 */ lui $t3, %hi(headHat_array_8003E464) -/* 05615C 7F02162C 256BE464 */ addiu $t3, %lo(headHat_array_8003E464) # addiu $t3, $t3, -0x1b9c -/* 056160 7F021630 01C95021 */ addu $t2, $t6, $t1 -/* 056164 7F021634 014B1821 */ addu $v1, $t2, $t3 -/* 056168 7F021638 0FC243BF */ jal get_debug_render_raster -/* 05616C 7F02163C AFA30058 */ sw $v1, 0x58($sp) -/* 056170 7F021640 144000AA */ bnez $v0, .L7F0218EC -/* 056174 7F021644 8FA30058 */ lw $v1, 0x58($sp) -/* 056178 7F021648 AFA00054 */ sw $zero, 0x54($sp) -/* 05617C 7F02164C 00002025 */ move $a0, $zero -/* 056180 7F021650 24050020 */ li $a1, 32 -/* 056184 7F021654 0C0030C3 */ jal get_controller_buttons_held -/* 056188 7F021658 AFA30058 */ sw $v1, 0x58($sp) -/* 05618C 7F02165C 1040004F */ beqz $v0, .L7F02179C -/* 056190 7F021660 8FA30058 */ lw $v1, 0x58($sp) -/* 056194 7F021664 00002025 */ move $a0, $zero -/* 056198 7F021668 34058000 */ li $a1, 32768 -/* 05619C 7F02166C 0C0030C3 */ jal get_controller_buttons_held -/* 0561A0 7F021670 AFA30058 */ sw $v1, 0x58($sp) -/* 0561A4 7F021674 10400008 */ beqz $v0, .L7F021698 -/* 0561A8 7F021678 8FA30058 */ lw $v1, 0x58($sp) -/* 0561AC 7F02167C 3C018005 */ lui $at, %hi(D_80051D58) -/* 0561B0 7F021680 C4281D58 */ lwc1 $f8, %lo(D_80051D58)($at) -/* 0561B4 7F021684 C4660008 */ lwc1 $f6, 8($v1) -/* 0561B8 7F021688 240D0001 */ li $t5, 1 -/* 0561BC 7F02168C 46083281 */ sub.s $f10, $f6, $f8 -/* 0561C0 7F021690 E46A0008 */ swc1 $f10, 8($v1) -/* 0561C4 7F021694 AFAD0054 */ sw $t5, 0x54($sp) -.L7F021698: -/* 0561C8 7F021698 00002025 */ move $a0, $zero -/* 0561CC 7F02169C 24054000 */ li $a1, 16384 -/* 0561D0 7F0216A0 0C0030C3 */ jal get_controller_buttons_held -/* 0561D4 7F0216A4 AFA30058 */ sw $v1, 0x58($sp) -/* 0561D8 7F0216A8 10400008 */ beqz $v0, .L7F0216CC -/* 0561DC 7F0216AC 8FA30058 */ lw $v1, 0x58($sp) -/* 0561E0 7F0216B0 3C018005 */ lui $at, %hi(D_80051D5C) -/* 0561E4 7F0216B4 C4321D5C */ lwc1 $f18, %lo(D_80051D5C)($at) -/* 0561E8 7F0216B8 C4700008 */ lwc1 $f16, 8($v1) -/* 0561EC 7F0216BC 240C0001 */ li $t4, 1 -/* 0561F0 7F0216C0 46128100 */ add.s $f4, $f16, $f18 -/* 0561F4 7F0216C4 E4640008 */ swc1 $f4, 8($v1) -/* 0561F8 7F0216C8 AFAC0054 */ sw $t4, 0x54($sp) -.L7F0216CC: -/* 0561FC 7F0216CC 00002025 */ move $a0, $zero -/* 056200 7F0216D0 24050004 */ li $a1, 4 -/* 056204 7F0216D4 0C0030C3 */ jal get_controller_buttons_held -/* 056208 7F0216D8 AFA30058 */ sw $v1, 0x58($sp) -/* 05620C 7F0216DC 10400008 */ beqz $v0, .L7F021700 -/* 056210 7F0216E0 8FA30058 */ lw $v1, 0x58($sp) -/* 056214 7F0216E4 3C018005 */ lui $at, %hi(D_80051D60) -/* 056218 7F0216E8 C4281D60 */ lwc1 $f8, %lo(D_80051D60)($at) -/* 05621C 7F0216EC C4660004 */ lwc1 $f6, 4($v1) -/* 056220 7F0216F0 24080001 */ li $t0, 1 -/* 056224 7F0216F4 46083281 */ sub.s $f10, $f6, $f8 -/* 056228 7F0216F8 E46A0004 */ swc1 $f10, 4($v1) -/* 05622C 7F0216FC AFA80054 */ sw $t0, 0x54($sp) -.L7F021700: -/* 056230 7F021700 00002025 */ move $a0, $zero -/* 056234 7F021704 24050008 */ li $a1, 8 -/* 056238 7F021708 0C0030C3 */ jal get_controller_buttons_held -/* 05623C 7F02170C AFA30058 */ sw $v1, 0x58($sp) -/* 056240 7F021710 10400008 */ beqz $v0, .L7F021734 -/* 056244 7F021714 8FA30058 */ lw $v1, 0x58($sp) -/* 056248 7F021718 3C018005 */ lui $at, %hi(D_80051D64) -/* 05624C 7F02171C C4321D64 */ lwc1 $f18, %lo(D_80051D64)($at) -/* 056250 7F021720 C4700004 */ lwc1 $f16, 4($v1) -/* 056254 7F021724 24180001 */ li $t8, 1 -/* 056258 7F021728 46128100 */ add.s $f4, $f16, $f18 -/* 05625C 7F02172C E4640004 */ swc1 $f4, 4($v1) -/* 056260 7F021730 AFB80054 */ sw $t8, 0x54($sp) -.L7F021734: -/* 056264 7F021734 00002025 */ move $a0, $zero -/* 056268 7F021738 24050002 */ li $a1, 2 -/* 05626C 7F02173C 0C0030C3 */ jal get_controller_buttons_held -/* 056270 7F021740 AFA30058 */ sw $v1, 0x58($sp) -/* 056274 7F021744 10400008 */ beqz $v0, .L7F021768 -/* 056278 7F021748 8FA30058 */ lw $v1, 0x58($sp) -/* 05627C 7F02174C 3C018005 */ lui $at, %hi(D_80051D68) -/* 056280 7F021750 C4281D68 */ lwc1 $f8, %lo(D_80051D68)($at) -/* 056284 7F021754 C4660000 */ lwc1 $f6, ($v1) -/* 056288 7F021758 24190001 */ li $t9, 1 -/* 05628C 7F02175C 46083281 */ sub.s $f10, $f6, $f8 -/* 056290 7F021760 E46A0000 */ swc1 $f10, ($v1) -/* 056294 7F021764 AFB90054 */ sw $t9, 0x54($sp) -.L7F021768: -/* 056298 7F021768 00002025 */ move $a0, $zero -/* 05629C 7F02176C 24050001 */ li $a1, 1 -/* 0562A0 7F021770 0C0030C3 */ jal get_controller_buttons_held -/* 0562A4 7F021774 AFA30058 */ sw $v1, 0x58($sp) -/* 0562A8 7F021778 10400008 */ beqz $v0, .L7F02179C -/* 0562AC 7F02177C 8FA30058 */ lw $v1, 0x58($sp) -/* 0562B0 7F021780 3C018005 */ lui $at, %hi(D_80051D6C) -/* 0562B4 7F021784 C4321D6C */ lwc1 $f18, %lo(D_80051D6C)($at) -/* 0562B8 7F021788 C4700000 */ lwc1 $f16, ($v1) -/* 0562BC 7F02178C 240F0001 */ li $t7, 1 -/* 0562C0 7F021790 46128100 */ add.s $f4, $f16, $f18 -/* 0562C4 7F021794 E4640000 */ swc1 $f4, ($v1) -/* 0562C8 7F021798 AFAF0054 */ sw $t7, 0x54($sp) -.L7F02179C: -/* 0562CC 7F02179C 00002025 */ move $a0, $zero -/* 0562D0 7F0217A0 24050010 */ li $a1, 16 -/* 0562D4 7F0217A4 0C0030C3 */ jal get_controller_buttons_held -/* 0562D8 7F0217A8 AFA30058 */ sw $v1, 0x58($sp) -/* 0562DC 7F0217AC 1040004F */ beqz $v0, .L7F0218EC -/* 0562E0 7F0217B0 8FA30058 */ lw $v1, 0x58($sp) -/* 0562E4 7F0217B4 00002025 */ move $a0, $zero -/* 0562E8 7F0217B8 34058000 */ li $a1, 32768 -/* 0562EC 7F0217BC 0C0030C3 */ jal get_controller_buttons_held -/* 0562F0 7F0217C0 AFA30058 */ sw $v1, 0x58($sp) -/* 0562F4 7F0217C4 10400008 */ beqz $v0, .L7F0217E8 -/* 0562F8 7F0217C8 8FA30058 */ lw $v1, 0x58($sp) -/* 0562FC 7F0217CC 3C018005 */ lui $at, %hi(D_80051D70) -/* 056300 7F0217D0 C4281D70 */ lwc1 $f8, %lo(D_80051D70)($at) -/* 056304 7F0217D4 C4660014 */ lwc1 $f6, 0x14($v1) -/* 056308 7F0217D8 240E0001 */ li $t6, 1 -/* 05630C 7F0217DC 46083282 */ mul.s $f10, $f6, $f8 -/* 056310 7F0217E0 E46A0014 */ swc1 $f10, 0x14($v1) -/* 056314 7F0217E4 AFAE0054 */ sw $t6, 0x54($sp) -.L7F0217E8: -/* 056318 7F0217E8 00002025 */ move $a0, $zero -/* 05631C 7F0217EC 24054000 */ li $a1, 16384 -/* 056320 7F0217F0 0C0030C3 */ jal get_controller_buttons_held -/* 056324 7F0217F4 AFA30058 */ sw $v1, 0x58($sp) -/* 056328 7F0217F8 10400008 */ beqz $v0, .L7F02181C -/* 05632C 7F0217FC 8FA30058 */ lw $v1, 0x58($sp) -/* 056330 7F021800 3C018005 */ lui $at, %hi(D_80051D74) -/* 056334 7F021804 C4321D74 */ lwc1 $f18, %lo(D_80051D74)($at) -/* 056338 7F021808 C4700014 */ lwc1 $f16, 0x14($v1) -/* 05633C 7F02180C 24090001 */ li $t1, 1 -/* 056340 7F021810 46128102 */ mul.s $f4, $f16, $f18 -/* 056344 7F021814 E4640014 */ swc1 $f4, 0x14($v1) -/* 056348 7F021818 AFA90054 */ sw $t1, 0x54($sp) -.L7F02181C: -/* 05634C 7F02181C 00002025 */ move $a0, $zero -/* 056350 7F021820 24050004 */ li $a1, 4 -/* 056354 7F021824 0C0030C3 */ jal get_controller_buttons_held -/* 056358 7F021828 AFA30058 */ sw $v1, 0x58($sp) -/* 05635C 7F02182C 10400008 */ beqz $v0, .L7F021850 -/* 056360 7F021830 8FA30058 */ lw $v1, 0x58($sp) -/* 056364 7F021834 3C018005 */ lui $at, %hi(D_80051D78) -/* 056368 7F021838 C4281D78 */ lwc1 $f8, %lo(D_80051D78)($at) -/* 05636C 7F02183C C4660010 */ lwc1 $f6, 0x10($v1) -/* 056370 7F021840 240A0001 */ li $t2, 1 -/* 056374 7F021844 46083282 */ mul.s $f10, $f6, $f8 -/* 056378 7F021848 E46A0010 */ swc1 $f10, 0x10($v1) -/* 05637C 7F02184C AFAA0054 */ sw $t2, 0x54($sp) -.L7F021850: -/* 056380 7F021850 00002025 */ move $a0, $zero -/* 056384 7F021854 24050008 */ li $a1, 8 -/* 056388 7F021858 0C0030C3 */ jal get_controller_buttons_held -/* 05638C 7F02185C AFA30058 */ sw $v1, 0x58($sp) -/* 056390 7F021860 10400008 */ beqz $v0, .L7F021884 -/* 056394 7F021864 8FA30058 */ lw $v1, 0x58($sp) -/* 056398 7F021868 3C018005 */ lui $at, %hi(D_80051D7C) -/* 05639C 7F02186C C4321D7C */ lwc1 $f18, %lo(D_80051D7C)($at) -/* 0563A0 7F021870 C4700010 */ lwc1 $f16, 0x10($v1) -/* 0563A4 7F021874 240B0001 */ li $t3, 1 -/* 0563A8 7F021878 46128102 */ mul.s $f4, $f16, $f18 -/* 0563AC 7F02187C E4640010 */ swc1 $f4, 0x10($v1) -/* 0563B0 7F021880 AFAB0054 */ sw $t3, 0x54($sp) -.L7F021884: -/* 0563B4 7F021884 00002025 */ move $a0, $zero -/* 0563B8 7F021888 24050002 */ li $a1, 2 -/* 0563BC 7F02188C 0C0030C3 */ jal get_controller_buttons_held -/* 0563C0 7F021890 AFA30058 */ sw $v1, 0x58($sp) -/* 0563C4 7F021894 10400008 */ beqz $v0, .L7F0218B8 -/* 0563C8 7F021898 8FA30058 */ lw $v1, 0x58($sp) -/* 0563CC 7F02189C 3C018005 */ lui $at, %hi(D_80051D80) -/* 0563D0 7F0218A0 C4281D80 */ lwc1 $f8, %lo(D_80051D80)($at) -/* 0563D4 7F0218A4 C466000C */ lwc1 $f6, 0xc($v1) -/* 0563D8 7F0218A8 240D0001 */ li $t5, 1 -/* 0563DC 7F0218AC 46083282 */ mul.s $f10, $f6, $f8 -/* 0563E0 7F0218B0 E46A000C */ swc1 $f10, 0xc($v1) -/* 0563E4 7F0218B4 AFAD0054 */ sw $t5, 0x54($sp) -.L7F0218B8: -/* 0563E8 7F0218B8 00002025 */ move $a0, $zero -/* 0563EC 7F0218BC 24050001 */ li $a1, 1 -/* 0563F0 7F0218C0 0C0030C3 */ jal get_controller_buttons_held -/* 0563F4 7F0218C4 AFA30058 */ sw $v1, 0x58($sp) -/* 0563F8 7F0218C8 10400008 */ beqz $v0, .L7F0218EC -/* 0563FC 7F0218CC 8FA30058 */ lw $v1, 0x58($sp) -/* 056400 7F0218D0 3C018005 */ lui $at, %hi(D_80051D84) -/* 056404 7F0218D4 C4321D84 */ lwc1 $f18, %lo(D_80051D84)($at) -/* 056408 7F0218D8 C470000C */ lwc1 $f16, 0xc($v1) -/* 05640C 7F0218DC 240C0001 */ li $t4, 1 -/* 056410 7F0218E0 46128102 */ mul.s $f4, $f16, $f18 -/* 056414 7F0218E4 E464000C */ swc1 $f4, 0xc($v1) -/* 056418 7F0218E8 AFAC0054 */ sw $t4, 0x54($sp) -.L7F0218EC: -/* 05641C 7F0218EC 3C018005 */ lui $at, %hi(D_80051D88) -/* 056420 7F0218F0 C4201D88 */ lwc1 $f0, %lo(D_80051D88)($at) -/* 056424 7F0218F4 C4660000 */ lwc1 $f6, ($v1) -/* 056428 7F0218F8 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 05642C 7F0218FC 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 056430 7F021900 46003202 */ mul.s $f8, $f6, $f0 -/* 056434 7F021904 E7A800F0 */ swc1 $f8, 0xf0($sp) -/* 056438 7F021908 C46A0004 */ lwc1 $f10, 4($v1) -/* 05643C 7F02190C 46005402 */ mul.s $f16, $f10, $f0 -/* 056440 7F021910 E7B000F4 */ swc1 $f16, 0xf4($sp) -/* 056444 7F021914 C4720008 */ lwc1 $f18, 8($v1) -/* 056448 7F021918 46009102 */ mul.s $f4, $f18, $f0 -/* 05644C 7F02191C E7A400F8 */ swc1 $f4, 0xf8($sp) -/* 056450 7F021920 C466000C */ lwc1 $f6, 0xc($v1) -/* 056454 7F021924 E7A600EC */ swc1 $f6, 0xec($sp) -/* 056458 7F021928 C4680010 */ lwc1 $f8, 0x10($v1) -/* 05645C 7F02192C E7A800E8 */ swc1 $f8, 0xe8($sp) -/* 056460 7F021930 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 056464 7F021934 0FC16259 */ jal init_something_copy_posdata_to_it -/* 056468 7F021938 E7AA00E4 */ swc1 $f10, 0xe4($sp) -/* 05646C 7F02193C C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 056470 7F021940 0FC1626D */ jal sub_GAME_7F0589B4 -/* 056474 7F021944 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 056478 7F021948 C7AC00E8 */ lwc1 $f12, 0xe8($sp) -/* 05647C 7F02194C 0FC16279 */ jal sub_GAME_7F0589E4 -/* 056480 7F021950 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 056484 7F021954 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 056488 7F021958 0FC16293 */ jal sub_GAME_7F058A4C -/* 05648C 7F02195C 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 056490 7F021960 8FA800FC */ lw $t0, 0xfc($sp) -/* 056494 7F021964 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 056498 7F021968 27A60064 */ addiu $a2, $sp, 0x64 -/* 05649C 7F02196C 0FC16063 */ jal sub_GAME_7F05818C -/* 0564A0 7F021970 8D04000C */ lw $a0, 0xc($t0) -/* 0564A4 7F021974 8FB800FC */ lw $t8, 0xfc($sp) -/* 0564A8 7F021978 27A40064 */ addiu $a0, $sp, 0x64 -/* 0564AC 7F02197C 0FC16008 */ jal sub_GAME_7F058020 -/* 0564B0 7F021980 8F05000C */ lw $a1, 0xc($t8) -/* 0564B4 7F021984 8FB90060 */ lw $t9, 0x60($sp) -/* 0564B8 7F021988 24010002 */ li $at, 2 -/* 0564BC 7F02198C 57210003 */ bnel $t9, $at, .L7F02199C -/* 0564C0 7F021990 960F0012 */ lhu $t7, 0x12($s0) -/* 0564C4 7F021994 AFA00108 */ sw $zero, 0x108($sp) -.L7F021998: -/* 0564C8 7F021998 960F0012 */ lhu $t7, 0x12($s0) -.L7F02199C: -/* 0564CC 7F02199C 8FA90100 */ lw $t1, 0x100($sp) -/* 0564D0 7F0219A0 8FA500FC */ lw $a1, 0xfc($sp) -/* 0564D4 7F0219A4 31EE0001 */ andi $t6, $t7, 1 -/* 0564D8 7F0219A8 11C00005 */ beqz $t6, .L7F0219C0 -/* 0564DC 7F0219AC 00000000 */ nop -/* 0564E0 7F0219B0 8D2A0064 */ lw $t2, 0x64($t1) -/* 0564E4 7F0219B4 314B0080 */ andi $t3, $t2, 0x80 -/* 0564E8 7F0219B8 55600005 */ bnezl $t3, .L7F0219D0 -/* 0564EC 7F0219BC 8FAD0110 */ lw $t5, 0x110($sp) -.L7F0219C0: -/* 0564F0 7F0219C0 0FC1AC48 */ jal sub_GAME_7F06B120 -/* 0564F4 7F0219C4 8E040020 */ lw $a0, 0x20($s0) -/* 0564F8 7F0219C8 AE020020 */ sw $v0, 0x20($s0) -/* 0564FC 7F0219CC 8FAD0110 */ lw $t5, 0x110($sp) -.L7F0219D0: -/* 056500 7F0219D0 8DAC0008 */ lw $t4, 8($t5) -/* 056504 7F0219D4 8D880008 */ lw $t0, 8($t4) -/* 056508 7F0219D8 8D050010 */ lw $a1, 0x10($t0) -/* 05650C 7F0219DC 10A0000E */ beqz $a1, .L7F021A18 -/* 056510 7F0219E0 00000000 */ nop -/* 056514 7F0219E4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 056518 7F0219E8 01A02025 */ move $a0, $t5 -/* 05651C 7F0219EC 8C430000 */ lw $v1, ($v0) -/* 056520 7F0219F0 10600009 */ beqz $v1, .L7F021A18 -/* 056524 7F0219F4 00000000 */ nop -/* 056528 7F0219F8 8C780008 */ lw $t8, 8($v1) -/* 05652C 7F0219FC 8F050004 */ lw $a1, 4($t8) -/* 056530 7F021A00 10A00005 */ beqz $a1, .L7F021A18 -/* 056534 7F021A04 00000000 */ nop -/* 056538 7F021A08 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 05653C 7F021A0C 8FA40110 */ lw $a0, 0x110($sp) -/* 056540 7F021A10 8FB90108 */ lw $t9, 0x108($sp) -/* 056544 7F021A14 AC590000 */ sw $t9, ($v0) -.L7F021A18: -/* 056548 7F021A18 0FC1ACA7 */ jal sub_GAME_7F06B29C -/* 05654C 7F021A1C 8E040020 */ lw $a0, 0x20($s0) -/* 056550 7F021A20 0FC1AECA */ jal sub_GAME_7F06BB28 -/* 056554 7F021A24 8E040020 */ lw $a0, 0x20($s0) -/* 056558 7F021A28 10000020 */ b .L7F021AAC -/* 05655C 7F021A2C AE020020 */ sw $v0, 0x20($s0) -/* 056560 7F021A30 8E020160 */ lw $v0, 0x160($s0) -.L7F021A34: -/* 056564 7F021A34 50400005 */ beql $v0, $zero, .L7F021A4C -/* 056568 7F021A38 8E020164 */ lw $v0, 0x164($s0) -/* 05656C 7F021A3C 904F0001 */ lbu $t7, 1($v0) -/* 056570 7F021A40 31EEFFFD */ andi $t6, $t7, 0xfffd -/* 056574 7F021A44 A04E0001 */ sb $t6, 1($v0) -/* 056578 7F021A48 8E020164 */ lw $v0, 0x164($s0) -.L7F021A4C: -/* 05657C 7F021A4C 2403FFFD */ li $v1, -3 -/* 056580 7F021A50 50400005 */ beql $v0, $zero, .L7F021A68 -/* 056584 7F021A54 8E0201D8 */ lw $v0, 0x1d8($s0) -/* 056588 7F021A58 90490001 */ lbu $t1, 1($v0) -/* 05658C 7F021A5C 01235024 */ and $t2, $t1, $v1 -/* 056590 7F021A60 A04A0001 */ sb $t2, 1($v0) -/* 056594 7F021A64 8E0201D8 */ lw $v0, 0x1d8($s0) -.L7F021A68: -/* 056598 7F021A68 50400005 */ beql $v0, $zero, .L7F021A80 -/* 05659C 7F021A6C 8FA80158 */ lw $t0, 0x158($sp) -/* 0565A0 7F021A70 904B0001 */ lbu $t3, 1($v0) -/* 0565A4 7F021A74 01636024 */ and $t4, $t3, $v1 -/* 0565A8 7F021A78 A04C0001 */ sb $t4, 1($v0) -/* 0565AC 7F021A7C 8FA80158 */ lw $t0, 0x158($sp) -.L7F021A80: -/* 0565B0 7F021A80 910D0001 */ lbu $t5, 1($t0) -/* 0565B4 7F021A84 01A3C024 */ and $t8, $t5, $v1 -/* 0565B8 7F021A88 A1180001 */ sb $t8, 1($t0) -/* 0565BC 7F021A8C 921900F8 */ lbu $t9, 0xf8($s0) -/* 0565C0 7F021A90 920F00F9 */ lbu $t7, 0xf9($s0) -/* 0565C4 7F021A94 920E00FA */ lbu $t6, 0xfa($s0) -/* 0565C8 7F021A98 920900FB */ lbu $t1, 0xfb($s0) -/* 0565CC 7F021A9C A21900F4 */ sb $t9, 0xf4($s0) -/* 0565D0 7F021AA0 A20F00F5 */ sb $t7, 0xf5($s0) -/* 0565D4 7F021AA4 A20E00F6 */ sb $t6, 0xf6($s0) -/* 0565D8 7F021AA8 A20900F7 */ sb $t1, 0xf7($s0) -.L7F021AAC: -/* 0565DC 7F021AAC 8E0A0014 */ lw $t2, 0x14($s0) -/* 0565E0 7F021AB0 314B0400 */ andi $t3, $t2, 0x400 -/* 0565E4 7F021AB4 55600015 */ bnezl $t3, .L7F021B0C -/* 0565E8 7F021AB8 00001025 */ move $v0, $zero -/* 0565EC 7F021ABC 96020012 */ lhu $v0, 0x12($s0) -/* 0565F0 7F021AC0 8FAD0158 */ lw $t5, 0x158($sp) -/* 0565F4 7F021AC4 304C0001 */ andi $t4, $v0, 1 -/* 0565F8 7F021AC8 1180000D */ beqz $t4, .L7F021B00 -/* 0565FC 7F021ACC 00000000 */ nop -/* 056600 7F021AD0 8DA40020 */ lw $a0, 0x20($t5) -/* 056604 7F021AD4 50800009 */ beql $a0, $zero, .L7F021AFC -/* 056608 7F021AD8 3058FFFE */ andi $t8, $v0, 0xfffe -/* 05660C 7F021ADC 8C830024 */ lw $v1, 0x24($a0) -.L7F021AE0: -/* 056610 7F021AE0 0FC1304C */ jal sub_GAME_7F04C130 -/* 056614 7F021AE4 AFA3003C */ sw $v1, 0x3c($sp) -/* 056618 7F021AE8 8FA4003C */ lw $a0, 0x3c($sp) -/* 05661C 7F021AEC 5480FFFC */ bnezl $a0, .L7F021AE0 -/* 056620 7F021AF0 8C830024 */ lw $v1, 0x24($a0) -/* 056624 7F021AF4 96020012 */ lhu $v0, 0x12($s0) -/* 056628 7F021AF8 3058FFFE */ andi $t8, $v0, 0xfffe -.L7F021AFC: -/* 05662C 7F021AFC A6180012 */ sh $t8, 0x12($s0) -.L7F021B00: -/* 056630 7F021B00 0FC0B89B */ jal sub_GAME_7F02E26C -/* 056634 7F021B04 02002025 */ move $a0, $s0 -/* 056638 7F021B08 00001025 */ move $v0, $zero -.L7F021B0C: -/* 05663C 7F021B0C 8FBF0024 */ lw $ra, 0x24($sp) -/* 056640 7F021B10 8FB00020 */ lw $s0, 0x20($sp) -/* 056644 7F021B14 27BD0158 */ addiu $sp, $sp, 0x158 -/* 056648 7F021B18 03E00008 */ jr $ra -/* 05664C 7F021B1C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F020EF0 -/* 055CF8 7F021188 27BDFEA8 */ addiu $sp, $sp, -0x158 -/* 055CFC 7F02118C 3C0F8003 */ lui $t7, %hi(D_8002CC6C) # $t7, 0x8003 -/* 055D00 7F021190 25EFCCAC */ addiu $t7, %lo(D_8002CC6C) # addiu $t7, $t7, -0x3354 -/* 055D04 7F021194 AFBF0024 */ sw $ra, 0x24($sp) -/* 055D08 7F021198 AFB00020 */ sw $s0, 0x20($sp) -/* 055D0C 7F02119C AFA40158 */ sw $a0, 0x158($sp) -/* 055D10 7F0211A0 25E8003C */ addiu $t0, $t7, 0x3c -/* 055D14 7F0211A4 27AE0118 */ addiu $t6, $sp, 0x118 -.Ljp7F0211A8: -/* 055D18 7F0211A8 8DE10000 */ lw $at, ($t7) -/* 055D1C 7F0211AC 25EF000C */ addiu $t7, $t7, 0xc -/* 055D20 7F0211B0 25CE000C */ addiu $t6, $t6, 0xc -/* 055D24 7F0211B4 ADC1FFF4 */ sw $at, -0xc($t6) -/* 055D28 7F0211B8 8DE1FFF8 */ lw $at, -8($t7) -/* 055D2C 7F0211BC ADC1FFF8 */ sw $at, -8($t6) -/* 055D30 7F0211C0 8DE1FFFC */ lw $at, -4($t7) -/* 055D34 7F0211C4 15E8FFF8 */ bne $t7, $t0, .Ljp7F0211A8 -/* 055D38 7F0211C8 ADC1FFFC */ sw $at, -4($t6) -/* 055D3C 7F0211CC 8DE10000 */ lw $at, ($t7) -/* 055D40 7F0211D0 3C0C8005 */ lui $t4, %hi(clock_timer) # $t4, 0x8005 -/* 055D44 7F0211D4 240B0001 */ li $t3, 1 -/* 055D48 7F0211D8 ADC10000 */ sw $at, ($t6) -/* 055D4C 7F0211DC 8FA90158 */ lw $t1, 0x158($sp) -/* 055D50 7F0211E0 8D8C83A4 */ lw $t4, %lo(clock_timer)($t4) -/* 055D54 7F0211E4 3C188003 */ lui $t8, %hi(D_8002C904) # $t8, 0x8003 -/* 055D58 7F0211E8 8D300004 */ lw $s0, 4($t1) -/* 055D5C 7F0211EC 8E0A001C */ lw $t2, 0x1c($s0) -/* 055D60 7F0211F0 AFAB0108 */ sw $t3, 0x108($sp) -/* 055D64 7F0211F4 AFAC0104 */ sw $t4, 0x104($sp) -/* 055D68 7F0211F8 AFAA0110 */ sw $t2, 0x110($sp) -/* 055D6C 7F0211FC 8E020014 */ lw $v0, 0x14($s0) -/* 055D70 7F021200 304D0400 */ andi $t5, $v0, 0x400 -/* 055D74 7F021204 11A00003 */ beqz $t5, .Ljp7F021214 -/* 055D78 7F021208 0002CB40 */ sll $t9, $v0, 0xd -/* 055D7C 7F02120C 07230035 */ bgezl $t9, .Ljp7F0212E4 -/* 055D80 7F021210 96180012 */ lhu $t8, 0x12($s0) -.Ljp7F021214: -/* 055D84 7F021214 8F18C944 */ lw $t8, %lo(D_8002C904)($t8) -/* 055D88 7F021218 3C088003 */ lui $t0, %hi(D_8002C908) # $t0, 0x8003 -/* 055D8C 7F02121C 1300001E */ beqz $t8, .Ljp7F021298 -/* 055D90 7F021220 00000000 */ nop -/* 055D94 7F021224 8D08C948 */ lw $t0, %lo(D_8002C908)($t0) -/* 055D98 7F021228 3C0E8003 */ lui $t6, %hi(animation_table_ptrs1) -/* 055D9C 7F02122C 24010001 */ li $at, 1 -/* 055DA0 7F021230 00087880 */ sll $t7, $t0, 2 -/* 055DA4 7F021234 01CF7021 */ addu $t6, $t6, $t7 -/* 055DA8 7F021238 8DCE9DAC */ lw $t6, %lo(animation_table_ptrs1)($t6) -/* 055DAC 7F02123C 11C1001D */ beq $t6, $at, .Ljp7F0212B4 -/* 055DB0 7F021240 00000000 */ nop -/* 055DB4 7F021244 0FC1BEE7 */ jal sub_GAME_7F06F5AC -/* 055DB8 7F021248 8FA40110 */ lw $a0, 0x110($sp) -/* 055DBC 7F02124C 3C098003 */ lui $t1, %hi(D_8002C908) # $t1, 0x8003 -/* 055DC0 7F021250 8D29C948 */ lw $t1, %lo(D_8002C908)($t1) -/* 055DC4 7F021254 3C058003 */ lui $a1, %hi(animation_table_ptrs1) -/* 055DC8 7F021258 8FA40110 */ lw $a0, 0x110($sp) -/* 055DCC 7F02125C 00095080 */ sll $t2, $t1, 2 -/* 055DD0 7F021260 00AA2821 */ addu $a1, $a1, $t2 -/* 055DD4 7F021264 8CA59DAC */ lw $a1, %lo(animation_table_ptrs1)($a1) -/* 055DD8 7F021268 00003025 */ move $a2, $zero -/* 055DDC 7F02126C 10450011 */ beq $v0, $a1, .Ljp7F0212B4 -/* 055DE0 7F021270 00000000 */ nop -/* 055DE4 7F021274 44800000 */ mtc1 $zero, $f0 -/* 055DE8 7F021278 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 055DEC 7F02127C 44812000 */ mtc1 $at, $f4 -/* 055DF0 7F021280 44070000 */ mfc1 $a3, $f0 -/* 055DF4 7F021284 E7A00014 */ swc1 $f0, 0x14($sp) -/* 055DF8 7F021288 0FC1C0A6 */ jal sub_GAME_7F06FCA8 -/* 055DFC 7F02128C E7A40010 */ swc1 $f4, 0x10($sp) -/* 055E00 7F021290 10000008 */ b .Ljp7F0212B4 -/* 055E04 7F021294 00000000 */ nop -.Ljp7F021298: -/* 055E08 7F021298 0FC0CA6F */ jal manage_actions -/* 055E0C 7F02129C 02002025 */ move $a0, $s0 -/* 055E10 7F0212A0 8E0B001C */ lw $t3, 0x1c($s0) -/* 055E14 7F0212A4 15600003 */ bnez $t3, .Ljp7F0212B4 -/* 055E18 7F0212A8 00000000 */ nop -/* 055E1C 7F0212AC 100002D1 */ b .Ljp7F021DF4 -/* 055E20 7F0212B0 24020001 */ li $v0, 1 -.Ljp7F0212B4: -/* 055E24 7F0212B4 3C0C8003 */ lui $t4, %hi(D_8002C90C) # $t4, 0x8003 -/* 055E28 7F0212B8 8D8CC94C */ lw $t4, %lo(D_8002C90C)($t4) -/* 055E2C 7F0212BC 3C0D8003 */ lui $t5, %hi(D_8002C910) # $t5, 0x8003 -/* 055E30 7F0212C0 51800008 */ beql $t4, $zero, .Ljp7F0212E4 -/* 055E34 7F0212C4 96180012 */ lhu $t8, 0x12($s0) -/* 055E38 7F0212C8 8DADC950 */ lw $t5, %lo(D_8002C910)($t5) -/* 055E3C 7F0212CC AFA00104 */ sw $zero, 0x104($sp) -/* 055E40 7F0212D0 24190001 */ li $t9, 1 -/* 055E44 7F0212D4 51A00003 */ beql $t5, $zero, .Ljp7F0212E4 -/* 055E48 7F0212D8 96180012 */ lhu $t8, 0x12($s0) -/* 055E4C 7F0212DC AFB90104 */ sw $t9, 0x104($sp) -/* 055E50 7F0212E0 96180012 */ lhu $t8, 0x12($s0) -.Ljp7F0212E4: -/* 055E54 7F0212E4 33080020 */ andi $t0, $t8, 0x20 -/* 055E58 7F0212E8 51000006 */ beql $t0, $zero, .Ljp7F021304 -/* 055E5C 7F0212EC 8E020160 */ lw $v0, 0x160($s0) -/* 055E60 7F0212F0 0FC08171 */ jal disable_sounds_attached_to_player_then_something -/* 055E64 7F0212F4 8FA40158 */ lw $a0, 0x158($sp) -/* 055E68 7F0212F8 100002BE */ b .Ljp7F021DF4 -/* 055E6C 7F0212FC 24020001 */ li $v0, 1 -/* 055E70 7F021300 8E020160 */ lw $v0, 0x160($s0) -.Ljp7F021304: -/* 055E74 7F021304 50400009 */ beql $v0, $zero, .Ljp7F02132C -/* 055E78 7F021308 8E020164 */ lw $v0, 0x164($s0) -/* 055E7C 7F02130C 8C440004 */ lw $a0, 4($v0) -/* 055E80 7F021310 8C8F0064 */ lw $t7, 0x64($a0) -/* 055E84 7F021314 31EE0004 */ andi $t6, $t7, 4 -/* 055E88 7F021318 51C00004 */ beql $t6, $zero, .Ljp7F02132C -/* 055E8C 7F02131C 8E020164 */ lw $v0, 0x164($s0) -/* 055E90 7F021320 0FC104C9 */ jal sub_GAME_7F041024 -/* 055E94 7F021324 24050001 */ li $a1, 1 -/* 055E98 7F021328 8E020164 */ lw $v0, 0x164($s0) -.Ljp7F02132C: -/* 055E9C 7F02132C 50400009 */ beql $v0, $zero, .Ljp7F021354 -/* 055EA0 7F021330 8E020014 */ lw $v0, 0x14($s0) -/* 055EA4 7F021334 8C440004 */ lw $a0, 4($v0) -/* 055EA8 7F021338 8C890064 */ lw $t1, 0x64($a0) -/* 055EAC 7F02133C 312A0004 */ andi $t2, $t1, 4 -/* 055EB0 7F021340 51400004 */ beql $t2, $zero, .Ljp7F021354 -/* 055EB4 7F021344 8E020014 */ lw $v0, 0x14($s0) -/* 055EB8 7F021348 0FC104C9 */ jal sub_GAME_7F041024 -/* 055EBC 7F02134C 24050001 */ li $a1, 1 -/* 055EC0 7F021350 8E020014 */ lw $v0, 0x14($s0) -.Ljp7F021354: -/* 055EC4 7F021354 8FAC0158 */ lw $t4, 0x158($sp) -/* 055EC8 7F021358 304B0400 */ andi $t3, $v0, 0x400 -/* 055ECC 7F02135C 51600005 */ beql $t3, $zero, .Ljp7F021374 -/* 055ED0 7F021360 918D0000 */ lbu $t5, ($t4) -/* 055ED4 7F021364 AFA0010C */ sw $zero, 0x10c($sp) -/* 055ED8 7F021368 100000BD */ b .Ljp7F021660 -/* 055EDC 7F02136C 82030007 */ lb $v1, 7($s0) -/* 055EE0 7F021370 918D0000 */ lbu $t5, ($t4) -.Ljp7F021374: -/* 055EE4 7F021374 24010006 */ li $at, 6 -/* 055EE8 7F021378 55A1000D */ bnel $t5, $at, .Ljp7F0213B0 -/* 055EEC 7F02137C 00027A00 */ sll $t7, $v0, 8 -/* 055EF0 7F021380 0FC26F3F */ jal sub_GAME_7F09B15C -/* 055EF4 7F021384 01802025 */ move $a0, $t4 -/* 055EF8 7F021388 0002C880 */ sll $t9, $v0, 2 -/* 055EFC 7F02138C 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) -/* 055F00 7F021390 0319C021 */ addu $t8, $t8, $t9 -/* 055F04 7F021394 8F189F50 */ lw $t8, %lo(ptr_BONDdata_p1)($t8) -/* 055F08 7F021398 24010001 */ li $at, 1 -/* 055F0C 7F02139C 8F080000 */ lw $t0, ($t8) -/* 055F10 7F0213A0 51010005 */ beql $t0, $at, .Ljp7F0213B8 -/* 055F14 7F0213A4 240E0001 */ li $t6, 1 -/* 055F18 7F0213A8 8E020014 */ lw $v0, 0x14($s0) -/* 055F1C 7F0213AC 00027A00 */ sll $t7, $v0, 8 -.Ljp7F0213B0: -/* 055F20 7F0213B0 05E10017 */ bgez $t7, .Ljp7F021410 -/* 055F24 7F0213B4 240E0001 */ li $t6, 1 -.Ljp7F0213B8: -/* 055F28 7F0213B8 AFAE010C */ sw $t6, 0x10c($sp) -/* 055F2C 7F0213BC 82090007 */ lb $t1, 7($s0) -/* 055F30 7F0213C0 24010003 */ li $at, 3 -/* 055F34 7F0213C4 02002025 */ move $a0, $s0 -/* 055F38 7F0213C8 1521000D */ bne $t1, $at, .Ljp7F021400 -/* 055F3C 7F0213CC 00000000 */ nop -/* 055F40 7F0213D0 8E0A002C */ lw $t2, 0x2c($s0) -/* 055F44 7F0213D4 1540000A */ bnez $t2, .Ljp7F021400 -/* 055F48 7F0213D8 00000000 */ nop -/* 055F4C 7F0213DC 8E0B003C */ lw $t3, 0x3c($s0) -/* 055F50 7F0213E0 8FA50104 */ lw $a1, 0x104($sp) -/* 055F54 7F0213E4 00003025 */ move $a2, $zero -/* 055F58 7F0213E8 11600005 */ beqz $t3, .Ljp7F021400 -/* 055F5C 7F0213EC 00000000 */ nop -/* 055F60 7F0213F0 0FC1C437 */ jal sub_GAME_7F070AEC -/* 055F64 7F0213F4 8FA40110 */ lw $a0, 0x110($sp) -/* 055F68 7F0213F8 10000003 */ b .Ljp7F021408 -/* 055F6C 7F0213FC 00000000 */ nop -.Ljp7F021400: -/* 055F70 7F021400 0FC08436 */ jal sub_GAME_7F020E40 -/* 055F74 7F021404 8FA50104 */ lw $a1, 0x104($sp) -.Ljp7F021408: -/* 055F78 7F021408 10000095 */ b .Ljp7F021660 -/* 055F7C 7F02140C 82030007 */ lb $v1, 7($s0) -.Ljp7F021410: -/* 055F80 7F021410 82030007 */ lb $v1, 7($s0) -/* 055F84 7F021414 2406000E */ li $a2, 14 -/* 055F88 7F021418 2401000F */ li $at, 15 -/* 055F8C 7F02141C 10C30003 */ beq $a2, $v1, .Ljp7F02142C -/* 055F90 7F021420 00000000 */ nop -/* 055F94 7F021424 54610041 */ bnel $v1, $at, .Ljp7F02152C -/* 055F98 7F021428 24010003 */ li $at, 3 -.Ljp7F02142C: -/* 055F9C 7F02142C 54C30005 */ bnel $a2, $v1, .Ljp7F021444 -/* 055FA0 7F021430 2401000F */ li $at, 15 -/* 055FA4 7F021434 820D0038 */ lb $t5, 0x38($s0) -/* 055FA8 7F021438 24010006 */ li $at, 6 -/* 055FAC 7F02143C 11A10007 */ beq $t5, $at, .Ljp7F02145C -/* 055FB0 7F021440 2401000F */ li $at, 15 -.Ljp7F021444: -/* 055FB4 7F021444 1461001E */ bne $v1, $at, .Ljp7F0214C0 -/* 055FB8 7F021448 02002025 */ move $a0, $s0 -/* 055FBC 7F02144C 820C005C */ lb $t4, 0x5c($s0) -/* 055FC0 7F021450 24010006 */ li $at, 6 -/* 055FC4 7F021454 1581001A */ bne $t4, $at, .Ljp7F0214C0 -/* 055FC8 7F021458 00000000 */ nop -.Ljp7F02145C: -/* 055FCC 7F02145C 0FC1B57F */ jal getinstsize -/* 055FD0 7F021460 8FA40110 */ lw $a0, 0x110($sp) -/* 055FD4 7F021464 8FA40158 */ lw $a0, 0x158($sp) -/* 055FD8 7F021468 44060000 */ mfc1 $a2, $f0 -/* 055FDC 7F02146C 24070001 */ li $a3, 1 -/* 055FE0 7F021470 24850008 */ addiu $a1, $a0, 8 -/* 055FE4 7F021474 0FC1549A */ jal sub_GAME_7F054D6C -/* 055FE8 7F021478 AFA50030 */ sw $a1, 0x30($sp) -/* 055FEC 7F02147C 10400028 */ beqz $v0, .Ljp7F021520 -/* 055FF0 7F021480 AFA2010C */ sw $v0, 0x10c($sp) -/* 055FF4 7F021484 8FA40110 */ lw $a0, 0x110($sp) -/* 055FF8 7F021488 0FC1B462 */ jal getsuboffset -/* 055FFC 7F02148C 260500BC */ addiu $a1, $s0, 0xbc -/* 056000 7F021490 0FC1B728 */ jal subcalcpos -/* 056004 7F021494 8FA40110 */ lw $a0, 0x110($sp) -/* 056008 7F021498 8FA40158 */ lw $a0, 0x158($sp) -/* 05600C 7F02149C 0FC100E7 */ jal set_color_shading_from_tile -/* 056010 7F0214A0 260500F8 */ addiu $a1, $s0, 0xf8 -/* 056014 7F0214A4 8FA40110 */ lw $a0, 0x110($sp) -/* 056018 7F0214A8 0FC1B462 */ jal getsuboffset -/* 05601C 7F0214AC 8FA50030 */ lw $a1, 0x30($sp) -/* 056020 7F0214B0 0FC0840B */ jal sub_GAME_7F020D94 -/* 056024 7F0214B4 02002025 */ move $a0, $s0 -/* 056028 7F0214B8 10000019 */ b .Ljp7F021520 -/* 05602C 7F0214BC 00000000 */ nop -.Ljp7F0214C0: -/* 056030 7F0214C0 0FC08436 */ jal sub_GAME_7F020E40 -/* 056034 7F0214C4 8FA50104 */ lw $a1, 0x104($sp) -/* 056038 7F0214C8 0FC1B57F */ jal getinstsize -/* 05603C 7F0214CC 8FA40110 */ lw $a0, 0x110($sp) -/* 056040 7F0214D0 8FA40158 */ lw $a0, 0x158($sp) -/* 056044 7F0214D4 44060000 */ mfc1 $a2, $f0 -/* 056048 7F0214D8 24070001 */ li $a3, 1 -/* 05604C 7F0214DC 0FC1549A */ jal sub_GAME_7F054D6C -/* 056050 7F0214E0 24850008 */ addiu $a1, $a0, 8 -/* 056054 7F0214E4 1040000E */ beqz $v0, .Ljp7F021520 -/* 056058 7F0214E8 AFA2010C */ sw $v0, 0x10c($sp) -/* 05605C 7F0214EC 82030007 */ lb $v1, 7($s0) -/* 056060 7F0214F0 2401000E */ li $at, 14 -/* 056064 7F0214F4 3C088005 */ lui $t0, %hi(global_timer) # $t0, 0x8005 -/* 056068 7F0214F8 54610005 */ bnel $v1, $at, .Ljp7F021510 -/* 05606C 7F0214FC 2401000F */ li $at, 15 -/* 056070 7F021500 8D0883AC */ lw $t0, %lo(global_timer)($t0) -/* 056074 7F021504 10000006 */ b .Ljp7F021520 -/* 056078 7F021508 AE080078 */ sw $t0, 0x78($s0) -/* 05607C 7F02150C 2401000F */ li $at, 15 -.Ljp7F021510: -/* 056080 7F021510 14610003 */ bne $v1, $at, .Ljp7F021520 -/* 056084 7F021514 3C0F8005 */ lui $t7, %hi(global_timer) # $t7, 0x8005 -/* 056088 7F021518 8DEF83AC */ lw $t7, %lo(global_timer)($t7) -/* 05608C 7F02151C AE0F009C */ sw $t7, 0x9c($s0) -.Ljp7F021520: -/* 056090 7F021520 1000004F */ b .Ljp7F021660 -/* 056094 7F021524 82030007 */ lb $v1, 7($s0) -/* 056098 7F021528 24010003 */ li $at, 3 -.Ljp7F02152C: -/* 05609C 7F02152C 5461001C */ bnel $v1, $at, .Ljp7F0215A0 -/* 0560A0 7F021530 24010001 */ li $at, 1 -/* 0560A4 7F021534 8E0E002C */ lw $t6, 0x2c($s0) -/* 0560A8 7F021538 55C00019 */ bnezl $t6, .Ljp7F0215A0 -/* 0560AC 7F02153C 24010001 */ li $at, 1 -/* 0560B0 7F021540 0FC1B57F */ jal getinstsize -/* 0560B4 7F021544 8FA40110 */ lw $a0, 0x110($sp) -/* 0560B8 7F021548 8FA40158 */ lw $a0, 0x158($sp) -/* 0560BC 7F02154C 44060000 */ mfc1 $a2, $f0 -/* 0560C0 7F021550 24070001 */ li $a3, 1 -/* 0560C4 7F021554 0FC1549A */ jal sub_GAME_7F054D6C -/* 0560C8 7F021558 24850008 */ addiu $a1, $a0, 8 -/* 0560CC 7F02155C 10400009 */ beqz $v0, .Ljp7F021584 -/* 0560D0 7F021560 AFA2010C */ sw $v0, 0x10c($sp) -/* 0560D4 7F021564 8E0A003C */ lw $t2, 0x3c($s0) -/* 0560D8 7F021568 02002025 */ move $a0, $s0 -/* 0560DC 7F02156C 55400006 */ bnezl $t2, .Ljp7F021588 -/* 0560E0 7F021570 8FA40110 */ lw $a0, 0x110($sp) -/* 0560E4 7F021574 0FC08436 */ jal sub_GAME_7F020E40 -/* 0560E8 7F021578 8FA50104 */ lw $a1, 0x104($sp) -/* 0560EC 7F02157C 10000005 */ b .Ljp7F021594 -/* 0560F0 7F021580 00000000 */ nop -.Ljp7F021584: -/* 0560F4 7F021584 8FA40110 */ lw $a0, 0x110($sp) -.Ljp7F021588: -/* 0560F8 7F021588 8FA50104 */ lw $a1, 0x104($sp) -/* 0560FC 7F02158C 0FC1C437 */ jal sub_GAME_7F070AEC -/* 056100 7F021590 00003025 */ move $a2, $zero -.Ljp7F021594: -/* 056104 7F021594 10000032 */ b .Ljp7F021660 -/* 056108 7F021598 82030007 */ lb $v1, 7($s0) -/* 05610C 7F02159C 24010001 */ li $at, 1 -.Ljp7F0215A0: -/* 056110 7F0215A0 1461001C */ bne $v1, $at, .Ljp7F021614 -/* 056114 7F0215A4 30484000 */ andi $t0, $v0, 0x4000 -/* 056118 7F0215A8 0FC1B57F */ jal getinstsize -/* 05611C 7F0215AC 8FA40110 */ lw $a0, 0x110($sp) -/* 056120 7F0215B0 8FA40158 */ lw $a0, 0x158($sp) -/* 056124 7F0215B4 44060000 */ mfc1 $a2, $f0 -/* 056128 7F0215B8 24070001 */ li $a3, 1 -/* 05612C 7F0215BC 0FC1549A */ jal sub_GAME_7F054D6C -/* 056130 7F0215C0 24850008 */ addiu $a1, $a0, 8 -/* 056134 7F0215C4 14400005 */ bnez $v0, .Ljp7F0215DC -/* 056138 7F0215C8 AFA2010C */ sw $v0, 0x10c($sp) -/* 05613C 7F0215CC 8E0D0014 */ lw $t5, 0x14($s0) -/* 056140 7F0215D0 8FB90110 */ lw $t9, 0x110($sp) -/* 056144 7F0215D4 31AC0001 */ andi $t4, $t5, 1 -/* 056148 7F0215D8 11800005 */ beqz $t4, .Ljp7F0215F0 -.Ljp7F0215DC: -/* 05614C 7F0215DC 02002025 */ move $a0, $s0 -/* 056150 7F0215E0 0FC08436 */ jal sub_GAME_7F020E40 -/* 056154 7F0215E4 8FA50104 */ lw $a1, 0x104($sp) -/* 056158 7F0215E8 10000008 */ b .Ljp7F02160C -/* 05615C 7F0215EC 00000000 */ nop -.Ljp7F0215F0: -/* 056160 7F0215F0 8F380054 */ lw $t8, 0x54($t9) -/* 056164 7F0215F4 03202025 */ move $a0, $t9 -/* 056168 7F0215F8 8FA50104 */ lw $a1, 0x104($sp) -/* 05616C 7F0215FC 13000003 */ beqz $t8, .Ljp7F02160C -/* 056170 7F021600 00000000 */ nop -/* 056174 7F021604 0FC1C437 */ jal sub_GAME_7F070AEC -/* 056178 7F021608 00003025 */ move $a2, $zero -.Ljp7F02160C: -/* 05617C 7F02160C 10000014 */ b .Ljp7F021660 -/* 056180 7F021610 82030007 */ lb $v1, 7($s0) -.Ljp7F021614: -/* 056184 7F021614 11000007 */ beqz $t0, .Ljp7F021634 -/* 056188 7F021618 02002025 */ move $a0, $s0 -/* 05618C 7F02161C 8FA40110 */ lw $a0, 0x110($sp) -/* 056190 7F021620 8FA50104 */ lw $a1, 0x104($sp) -/* 056194 7F021624 0FC1C437 */ jal sub_GAME_7F070AEC -/* 056198 7F021628 00003025 */ move $a2, $zero -/* 05619C 7F02162C 10000003 */ b .Ljp7F02163C -/* 0561A0 7F021630 00000000 */ nop -.Ljp7F021634: -/* 0561A4 7F021634 0FC08436 */ jal sub_GAME_7F020E40 -/* 0561A8 7F021638 8FA50104 */ lw $a1, 0x104($sp) -.Ljp7F02163C: -/* 0561AC 7F02163C 0FC1B57F */ jal getinstsize -/* 0561B0 7F021640 8FA40110 */ lw $a0, 0x110($sp) -/* 0561B4 7F021644 8FA40158 */ lw $a0, 0x158($sp) -/* 0561B8 7F021648 44060000 */ mfc1 $a2, $f0 -/* 0561BC 7F02164C 24070001 */ li $a3, 1 -/* 0561C0 7F021650 0FC1549A */ jal sub_GAME_7F054D6C -/* 0561C4 7F021654 24850008 */ addiu $a1, $a0, 8 -/* 0561C8 7F021658 AFA2010C */ sw $v0, 0x10c($sp) -/* 0561CC 7F02165C 82030007 */ lb $v1, 7($s0) -.Ljp7F021660: -/* 0561D0 7F021660 24010001 */ li $at, 1 -/* 0561D4 7F021664 14610009 */ bne $v1, $at, .Ljp7F02168C -/* 0561D8 7F021668 8FAE0110 */ lw $t6, 0x110($sp) -/* 0561DC 7F02166C 8DC90054 */ lw $t1, 0x54($t6) -/* 0561E0 7F021670 8FAA0158 */ lw $t2, 0x158($sp) -/* 0561E4 7F021674 55200006 */ bnezl $t1, .Ljp7F021690 -/* 0561E8 7F021678 960D0012 */ lhu $t5, 0x12($s0) -/* 0561EC 7F02167C 914B0000 */ lbu $t3, ($t2) -/* 0561F0 7F021680 24010006 */ li $at, 6 -/* 0561F4 7F021684 15610004 */ bne $t3, $at, .Ljp7F021698 -/* 0561F8 7F021688 00000000 */ nop -.Ljp7F02168C: -/* 0561FC 7F02168C 960D0012 */ lhu $t5, 0x12($s0) -.Ljp7F021690: -/* 056200 7F021690 35AC0200 */ ori $t4, $t5, 0x200 -/* 056204 7F021694 A60C0012 */ sh $t4, 0x12($s0) -.Ljp7F021698: -/* 056208 7F021698 0FC081E8 */ jal sub_GAME_7F0205F0 -/* 05620C 7F02169C 02002025 */ move $a0, $s0 -/* 056210 7F0216A0 8E040020 */ lw $a0, 0x20($s0) -/* 056214 7F0216A4 50800005 */ beql $a0, $zero, .Ljp7F0216BC -/* 056218 7F0216A8 8FB8010C */ lw $t8, 0x10c($sp) -/* 05621C 7F0216AC 0FC1AE0E */ jal sub_GAME_7F06B248 -/* 056220 7F0216B0 00000000 */ nop -/* 056224 7F0216B4 AE000020 */ sw $zero, 0x20($s0) -/* 056228 7F0216B8 8FB8010C */ lw $t8, 0x10c($sp) -.Ljp7F0216BC: -/* 05622C 7F0216BC 261900F8 */ addiu $t9, $s0, 0xf8 -/* 056230 7F0216C0 53000196 */ beql $t8, $zero, .Ljp7F021D1C -/* 056234 7F0216C4 8E020160 */ lw $v0, 0x160($s0) -/* 056238 7F0216C8 0FC246CA */ jal get_debug_chrnum_flag -/* 05623C 7F0216CC AFB9002C */ sw $t9, 0x2c($sp) -/* 056240 7F0216D0 8FA20158 */ lw $v0, 0x158($sp) -/* 056244 7F0216D4 2404000C */ li $a0, 12 -/* 056248 7F0216D8 90480001 */ lbu $t0, 1($v0) -/* 05624C 7F0216DC 350F0002 */ ori $t7, $t0, 2 -/* 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 cheatCheckIfOn -/* 056260 7F0216F0 AE090014 */ sw $t1, 0x14($s0) -/* 056264 7F0216F4 10400018 */ beqz $v0, .Ljp7F021758 -/* 056268 7F0216F8 00000000 */ nop -/* 05626C 7F0216FC 8204000F */ lb $a0, 0xf($s0) -/* 056270 7F021700 0FC0827B */ jal jp_only_7F0209EC -/* 056274 7F021704 82050006 */ lb $a1, 6($s0) -/* 056278 7F021708 10400013 */ beqz $v0, .Ljp7F021758 -/* 05627C 7F02170C 3C013EA0 */ li $at, 0x3EA00000 # 0.312500 -/* 056280 7F021710 44816000 */ mtc1 $at, $f12 -/* 056284 7F021714 0FC1B27F */ jal set_float_80036088 -/* 056288 7F021718 00000000 */ nop -/* 05628C 7F02171C 8E020014 */ lw $v0, 0x14($s0) -/* 056290 7F021720 3C01EFFF */ lui $at, (0xEFFFFFFF >> 16) # lui $at, 0xefff -/* 056294 7F021724 3421FFFF */ ori $at, (0xEFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 056298 7F021728 000250C0 */ sll $t2, $v0, 3 -/* 05629C 7F02172C 0541000A */ bgez $t2, .Ljp7F021758 -/* 0562A0 7F021730 00415824 */ and $t3, $v0, $at -/* 0562A4 7F021734 8E04001C */ lw $a0, 0x1c($s0) -/* 0562A8 7F021738 AE0B0014 */ sw $t3, 0x14($s0) -/* 0562AC 7F02173C 3C018005 */ lui $at, %hi(D_jp80051D88) # $at, 0x8005 -/* 0562B0 7F021740 C4281D88 */ lwc1 $f8, %lo(D_jp80051D88)($at) -/* 0562B4 7F021744 C4860014 */ lwc1 $f6, 0x14($a0) -/* 0562B8 7F021748 46083283 */ div.s $f10, $f6, $f8 -/* 0562BC 7F02174C 44055000 */ mfc1 $a1, $f10 -/* 0562C0 7F021750 0FC1B51A */ jal set_obj_instance_controller_scale -/* 0562C4 7F021754 00000000 */ nop -.Ljp7F021758: -/* 0562C8 7F021758 3C0D7F02 */ lui $t5, %hi(sub_GAME_7F02083C) # $t5, 0x7f02 -/* 0562CC 7F02175C 25AD0AAC */ addiu $t5, %lo(sub_GAME_7F02083C) # addiu $t5, $t5, 0xaac -/* 0562D0 7F021760 3C018003 */ lui $at, %hi(D_80036090) # $at, 0x8003 -/* 0562D4 7F021764 AC2D60D0 */ sw $t5, %lo(D_80036090)($at) -/* 0562D8 7F021768 3C018007 */ lui $at, %hi(dword_CODE_bss_80069B60) # $at, 0x8007 -/* 0562DC 7F02176C 0FC1E26D */ jal get_BONDdata_field_10CC -/* 0562E0 7F021770 AC309BA0 */ sw $s0, %lo(dword_CODE_bss_80069B60)($at) -/* 0562E4 7F021774 8FAC0110 */ lw $t4, 0x110($sp) -/* 0562E8 7F021778 AFA20118 */ sw $v0, 0x118($sp) -/* 0562EC 7F02177C 8D980008 */ lw $t8, 8($t4) -/* 0562F0 7F021780 8704000E */ lh $a0, 0xe($t8) -/* 0562F4 7F021784 0004C980 */ sll $t9, $a0, 6 -/* 0562F8 7F021788 0FC2F8B1 */ jal sub_GAME_7F0BD714 -/* 0562FC 7F02178C 03202025 */ move $a0, $t9 -/* 056300 7F021790 3C058007 */ lui $a1, %hi(dword_CODE_bss_80069B60) # $a1, 0x8007 -/* 056304 7F021794 24A59BA0 */ addiu $a1, %lo(dword_CODE_bss_80069B60) # addiu $a1, $a1, -0x6460 -/* 056308 7F021798 8CA30000 */ lw $v1, ($a1) -/* 05630C 7F02179C AFA20128 */ sw $v0, 0x128($sp) -/* 056310 7F0217A0 80640011 */ lb $a0, 0x11($v1) -/* 056314 7F0217A4 0480000B */ bltz $a0, .Ljp7F0217D4 -/* 056318 7F0217A8 3C088005 */ lui $t0, %hi(clock_timer) # $t0, 0x8005 -/* 05631C 7F0217AC 8D0883A4 */ lw $t0, %lo(clock_timer)($t0) -/* 056320 7F0217B0 2409FFFF */ li $t1, -1 -/* 056324 7F0217B4 00887821 */ addu $t7, $a0, $t0 -/* 056328 7F0217B8 A06F0011 */ sb $t7, 0x11($v1) -/* 05632C 7F0217BC 8CA30000 */ lw $v1, ($a1) -/* 056330 7F0217C0 806E0011 */ lb $t6, 0x11($v1) -/* 056334 7F0217C4 29C1001E */ slti $at, $t6, 0x1e -/* 056338 7F0217C8 54200003 */ bnezl $at, .Ljp7F0217D8 -/* 05633C 7F0217CC 27A40118 */ addiu $a0, $sp, 0x118 -/* 056340 7F0217D0 A0690011 */ sb $t1, 0x11($v1) -.Ljp7F0217D4: -/* 056344 7F0217D4 27A40118 */ addiu $a0, $sp, 0x118 -.Ljp7F0217D8: -/* 056348 7F0217D8 0FC1BE3A */ jal subcalcmatrices -/* 05634C 7F0217DC 8FA50110 */ lw $a1, 0x110($sp) -/* 056350 7F0217E0 3C018003 */ lui $at, %hi(D_80036090) # $at, 0x8003 -/* 056354 7F0217E4 AC2060D0 */ sw $zero, %lo(D_80036090)($at) -/* 056358 7F0217E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05635C 7F0217EC 44816000 */ mtc1 $at, $f12 -/* 056360 7F0217F0 0FC1B27F */ jal set_float_80036088 -/* 056364 7F0217F4 00000000 */ nop -/* 056368 7F0217F8 260400F4 */ addiu $a0, $s0, 0xf4 -/* 05636C 7F0217FC 0FC10184 */ jal update_color_shading -/* 056370 7F021800 8FA5002C */ lw $a1, 0x2c($sp) -/* 056374 7F021804 0FC1B356 */ jal sub_GAME_7F06C768 -/* 056378 7F021808 8FA40110 */ lw $a0, 0x110($sp) -/* 05637C 7F02180C 8FAA0158 */ lw $t2, 0x158($sp) -/* 056380 7F021810 00002025 */ move $a0, $zero -/* 056384 7F021814 E5400018 */ swc1 $f0, 0x18($t2) -/* 056388 7F021818 0FC1ADC4 */ jal sub_GAME_7F06B120 -/* 05638C 7F02181C 8FA50110 */ lw $a1, 0x110($sp) -/* 056390 7F021820 AE020020 */ sw $v0, 0x20($s0) -/* 056394 7F021824 26060020 */ addiu $a2, $s0, 0x20 -/* 056398 7F021828 AFA60030 */ sw $a2, 0x30($sp) -/* 05639C 7F02182C 8FA40158 */ lw $a0, 0x158($sp) -/* 0563A0 7F021830 0FC14A3D */ jal sub_GAME_7F0523F8 -/* 0563A4 7F021834 00002825 */ move $a1, $zero -/* 0563A8 7F021838 8FA60030 */ lw $a2, 0x30($sp) -/* 0563AC 7F02183C 8FA40158 */ lw $a0, 0x158($sp) -/* 0563B0 7F021840 0FC14A3D */ jal sub_GAME_7F0523F8 -/* 0563B4 7F021844 24050001 */ li $a1, 1 -/* 0563B8 7F021848 8E0201D8 */ lw $v0, 0x1d8($s0) -/* 0563BC 7F02184C 5040011A */ beql $v0, $zero, .Ljp7F021CB8 -/* 0563C0 7F021850 8FB80110 */ lw $t8, 0x110($sp) -/* 0563C4 7F021854 8C470004 */ lw $a3, 4($v0) -/* 0563C8 7F021858 904B0001 */ lbu $t3, 1($v0) -/* 0563CC 7F02185C 00003025 */ move $a2, $zero -/* 0563D0 7F021860 8CE30014 */ lw $v1, 0x14($a3) -/* 0563D4 7F021864 356D0002 */ ori $t5, $t3, 2 -/* 0563D8 7F021868 A04D0001 */ sb $t5, 1($v0) -/* 0563DC 7F02186C 8C65001C */ lw $a1, 0x1c($v1) -/* 0563E0 7F021870 8FA40110 */ lw $a0, 0x110($sp) -/* 0563E4 7F021874 AFA70100 */ sw $a3, 0x100($sp) -/* 0563E8 7F021878 0FC1B314 */ jal sub_GAME_7F06C660 -/* 0563EC 7F02187C AFA300FC */ sw $v1, 0xfc($sp) -/* 0563F0 7F021880 8FAC00FC */ lw $t4, 0xfc($sp) -/* 0563F4 7F021884 AFA20118 */ sw $v0, 0x118($sp) -/* 0563F8 7F021888 8D980008 */ lw $t8, 8($t4) -/* 0563FC 7F02188C 8704000E */ lh $a0, 0xe($t8) -/* 056400 7F021890 0004C980 */ sll $t9, $a0, 6 -/* 056404 7F021894 0FC2F8B1 */ jal sub_GAME_7F0BD714 -/* 056408 7F021898 03202025 */ move $a0, $t9 -/* 05640C 7F02189C AFA20128 */ sw $v0, 0x128($sp) -/* 056410 7F0218A0 27A40118 */ addiu $a0, $sp, 0x118 -/* 056414 7F0218A4 0FC1BE0E */ jal instcalcmatrices -/* 056418 7F0218A8 8FA500FC */ lw $a1, 0xfc($sp) -/* 05641C 7F0218AC 82020006 */ lb $v0, 6($s0) -/* 056420 7F0218B0 2841002A */ slti $at, $v0, 0x2a -/* 056424 7F0218B4 142000F2 */ bnez $at, .Ljp7F021C80 -/* 056428 7F0218B8 28410046 */ slti $at, $v0, 0x46 -/* 05642C 7F0218BC 102000F0 */ beqz $at, .Ljp7F021C80 -/* 056430 7F0218C0 3C0F8003 */ lui $t7, %hi(D_8002CCAC) # $t7, 0x8003 -/* 056434 7F0218C4 25EFCCEC */ addiu $t7, %lo(D_8002CCAC) # addiu $t7, $t7, -0x3314 -/* 056438 7F0218C8 8DE10000 */ lw $at, ($t7) -/* 05643C 7F0218CC 27A800F0 */ addiu $t0, $sp, 0xf0 -/* 056440 7F0218D0 8DE90004 */ lw $t1, 4($t7) -/* 056444 7F0218D4 AD010000 */ sw $at, ($t0) -/* 056448 7F0218D8 8DE10008 */ lw $at, 8($t7) -/* 05644C 7F0218DC AD090004 */ sw $t1, 4($t0) -/* 056450 7F0218E0 AD010008 */ sw $at, 8($t0) -/* 056454 7F0218E4 0FC14AE0 */ jal get_hat_model -/* 056458 7F0218E8 8E0401D8 */ lw $a0, 0x1d8($s0) -/* 05645C 7F0218EC AFA20060 */ sw $v0, 0x60($sp) -/* 056460 7F0218F0 82040006 */ lb $a0, 6($s0) -/* 056464 7F0218F4 00025880 */ sll $t3, $v0, 2 -/* 056468 7F0218F8 01625823 */ subu $t3, $t3, $v0 -/* 05646C 7F0218FC 2484FFD6 */ addiu $a0, $a0, -0x2a -/* 056470 7F021900 000450C0 */ sll $t2, $a0, 3 -/* 056474 7F021904 01445021 */ addu $t2, $t2, $a0 -/* 056478 7F021908 000A5100 */ sll $t2, $t2, 4 -/* 05647C 7F02190C 000B58C0 */ sll $t3, $t3, 3 -/* 056480 7F021910 3C0C8004 */ lui $t4, %hi(headHat_array_8003E464) # $t4, 0x8004 -/* 056484 7F021914 258CE494 */ addiu $t4, %lo(headHat_array_8003E464) # addiu $t4, $t4, -0x1b6c -/* 056488 7F021918 014B6821 */ addu $t5, $t2, $t3 -/* 05648C 7F02191C 01AC1821 */ addu $v1, $t5, $t4 -/* 056490 7F021920 0FC24677 */ jal get_debug_render_raster -/* 056494 7F021924 AFA30058 */ sw $v1, 0x58($sp) -/* 056498 7F021928 144000AA */ bnez $v0, .Ljp7F021BD4 -/* 05649C 7F02192C 8FA30058 */ lw $v1, 0x58($sp) -/* 0564A0 7F021930 AFA00054 */ sw $zero, 0x54($sp) -/* 0564A4 7F021934 00002025 */ move $a0, $zero -/* 0564A8 7F021938 24050020 */ li $a1, 32 -/* 0564AC 7F02193C 0C0030DC */ jal get_controller_buttons_held -/* 0564B0 7F021940 AFA30058 */ sw $v1, 0x58($sp) -/* 0564B4 7F021944 1040004F */ beqz $v0, .Ljp7F021A84 -/* 0564B8 7F021948 8FA30058 */ lw $v1, 0x58($sp) -/* 0564BC 7F02194C 00002025 */ move $a0, $zero -/* 0564C0 7F021950 34058000 */ li $a1, 32768 -/* 0564C4 7F021954 0C0030DC */ jal get_controller_buttons_held -/* 0564C8 7F021958 AFA30058 */ sw $v1, 0x58($sp) -/* 0564CC 7F02195C 10400008 */ beqz $v0, .Ljp7F021980 -/* 0564D0 7F021960 8FA30058 */ lw $v1, 0x58($sp) -/* 0564D4 7F021964 3C018005 */ lui $at, %hi(D_80051D58) # $at, 0x8005 -/* 0564D8 7F021968 C4321D8C */ lwc1 $f18, %lo(D_80051D58)($at) -/* 0564DC 7F02196C C4700008 */ lwc1 $f16, 8($v1) -/* 0564E0 7F021970 24180001 */ li $t8, 1 -/* 0564E4 7F021974 46128101 */ sub.s $f4, $f16, $f18 -/* 0564E8 7F021978 E4640008 */ swc1 $f4, 8($v1) -/* 0564EC 7F02197C AFB80054 */ sw $t8, 0x54($sp) -.Ljp7F021980: -/* 0564F0 7F021980 00002025 */ move $a0, $zero -/* 0564F4 7F021984 24054000 */ li $a1, 16384 -/* 0564F8 7F021988 0C0030DC */ jal get_controller_buttons_held -/* 0564FC 7F02198C AFA30058 */ sw $v1, 0x58($sp) -/* 056500 7F021990 10400008 */ beqz $v0, .Ljp7F0219B4 -/* 056504 7F021994 8FA30058 */ lw $v1, 0x58($sp) -/* 056508 7F021998 3C018005 */ lui $at, %hi(D_80051D5C) # $at, 0x8005 -/* 05650C 7F02199C C4281D90 */ lwc1 $f8, %lo(D_80051D5C)($at) -/* 056510 7F0219A0 C4660008 */ lwc1 $f6, 8($v1) -/* 056514 7F0219A4 24190001 */ li $t9, 1 -/* 056518 7F0219A8 46083280 */ add.s $f10, $f6, $f8 -/* 05651C 7F0219AC E46A0008 */ swc1 $f10, 8($v1) -/* 056520 7F0219B0 AFB90054 */ sw $t9, 0x54($sp) -.Ljp7F0219B4: -/* 056524 7F0219B4 00002025 */ move $a0, $zero -/* 056528 7F0219B8 24050004 */ li $a1, 4 -/* 05652C 7F0219BC 0C0030DC */ jal get_controller_buttons_held -/* 056530 7F0219C0 AFA30058 */ sw $v1, 0x58($sp) -/* 056534 7F0219C4 10400008 */ beqz $v0, .Ljp7F0219E8 -/* 056538 7F0219C8 8FA30058 */ lw $v1, 0x58($sp) -/* 05653C 7F0219CC 3C018005 */ lui $at, %hi(D_80051D60) # $at, 0x8005 -/* 056540 7F0219D0 C4321D94 */ lwc1 $f18, %lo(D_80051D60)($at) -/* 056544 7F0219D4 C4700004 */ lwc1 $f16, 4($v1) -/* 056548 7F0219D8 240E0001 */ li $t6, 1 -/* 05654C 7F0219DC 46128101 */ sub.s $f4, $f16, $f18 -/* 056550 7F0219E0 E4640004 */ swc1 $f4, 4($v1) -/* 056554 7F0219E4 AFAE0054 */ sw $t6, 0x54($sp) -.Ljp7F0219E8: -/* 056558 7F0219E8 00002025 */ move $a0, $zero -/* 05655C 7F0219EC 24050008 */ li $a1, 8 -/* 056560 7F0219F0 0C0030DC */ jal get_controller_buttons_held -/* 056564 7F0219F4 AFA30058 */ sw $v1, 0x58($sp) -/* 056568 7F0219F8 10400008 */ beqz $v0, .Ljp7F021A1C -/* 05656C 7F0219FC 8FA30058 */ lw $v1, 0x58($sp) -/* 056570 7F021A00 3C018005 */ lui $at, %hi(D_80051D64) # $at, 0x8005 -/* 056574 7F021A04 C4281D98 */ lwc1 $f8, %lo(D_80051D64)($at) -/* 056578 7F021A08 C4660004 */ lwc1 $f6, 4($v1) -/* 05657C 7F021A0C 24080001 */ li $t0, 1 -/* 056580 7F021A10 46083280 */ add.s $f10, $f6, $f8 -/* 056584 7F021A14 E46A0004 */ swc1 $f10, 4($v1) -/* 056588 7F021A18 AFA80054 */ sw $t0, 0x54($sp) -.Ljp7F021A1C: -/* 05658C 7F021A1C 00002025 */ move $a0, $zero -/* 056590 7F021A20 24050002 */ li $a1, 2 -/* 056594 7F021A24 0C0030DC */ jal get_controller_buttons_held -/* 056598 7F021A28 AFA30058 */ sw $v1, 0x58($sp) -/* 05659C 7F021A2C 10400008 */ beqz $v0, .Ljp7F021A50 -/* 0565A0 7F021A30 8FA30058 */ lw $v1, 0x58($sp) -/* 0565A4 7F021A34 3C018005 */ lui $at, %hi(D_80051D68) # $at, 0x8005 -/* 0565A8 7F021A38 C4321D9C */ lwc1 $f18, %lo(D_80051D68)($at) -/* 0565AC 7F021A3C C4700000 */ lwc1 $f16, ($v1) -/* 0565B0 7F021A40 240F0001 */ li $t7, 1 -/* 0565B4 7F021A44 46128101 */ sub.s $f4, $f16, $f18 -/* 0565B8 7F021A48 E4640000 */ swc1 $f4, ($v1) -/* 0565BC 7F021A4C AFAF0054 */ sw $t7, 0x54($sp) -.Ljp7F021A50: -/* 0565C0 7F021A50 00002025 */ move $a0, $zero -/* 0565C4 7F021A54 24050001 */ li $a1, 1 -/* 0565C8 7F021A58 0C0030DC */ jal get_controller_buttons_held -/* 0565CC 7F021A5C AFA30058 */ sw $v1, 0x58($sp) -/* 0565D0 7F021A60 10400008 */ beqz $v0, .Ljp7F021A84 -/* 0565D4 7F021A64 8FA30058 */ lw $v1, 0x58($sp) -/* 0565D8 7F021A68 3C018005 */ lui $at, %hi(D_80051D6C) # $at, 0x8005 -/* 0565DC 7F021A6C C4281DA0 */ lwc1 $f8, %lo(D_80051D6C)($at) -/* 0565E0 7F021A70 C4660000 */ lwc1 $f6, ($v1) -/* 0565E4 7F021A74 24090001 */ li $t1, 1 -/* 0565E8 7F021A78 46083280 */ add.s $f10, $f6, $f8 -/* 0565EC 7F021A7C E46A0000 */ swc1 $f10, ($v1) -/* 0565F0 7F021A80 AFA90054 */ sw $t1, 0x54($sp) -.Ljp7F021A84: -/* 0565F4 7F021A84 00002025 */ move $a0, $zero -/* 0565F8 7F021A88 24050010 */ li $a1, 16 -/* 0565FC 7F021A8C 0C0030DC */ jal get_controller_buttons_held -/* 056600 7F021A90 AFA30058 */ sw $v1, 0x58($sp) -/* 056604 7F021A94 1040004F */ beqz $v0, .Ljp7F021BD4 -/* 056608 7F021A98 8FA30058 */ lw $v1, 0x58($sp) -/* 05660C 7F021A9C 00002025 */ move $a0, $zero -/* 056610 7F021AA0 34058000 */ li $a1, 32768 -/* 056614 7F021AA4 0C0030DC */ jal get_controller_buttons_held -/* 056618 7F021AA8 AFA30058 */ sw $v1, 0x58($sp) -/* 05661C 7F021AAC 10400008 */ beqz $v0, .Ljp7F021AD0 -/* 056620 7F021AB0 8FA30058 */ lw $v1, 0x58($sp) -/* 056624 7F021AB4 3C018005 */ lui $at, %hi(D_80051D70) # $at, 0x8005 -/* 056628 7F021AB8 C4321DA4 */ lwc1 $f18, %lo(D_80051D70)($at) -/* 05662C 7F021ABC C4700014 */ lwc1 $f16, 0x14($v1) -/* 056630 7F021AC0 240A0001 */ li $t2, 1 -/* 056634 7F021AC4 46128102 */ mul.s $f4, $f16, $f18 -/* 056638 7F021AC8 E4640014 */ swc1 $f4, 0x14($v1) -/* 05663C 7F021ACC AFAA0054 */ sw $t2, 0x54($sp) -.Ljp7F021AD0: -/* 056640 7F021AD0 00002025 */ move $a0, $zero -/* 056644 7F021AD4 24054000 */ li $a1, 16384 -/* 056648 7F021AD8 0C0030DC */ jal get_controller_buttons_held -/* 05664C 7F021ADC AFA30058 */ sw $v1, 0x58($sp) -/* 056650 7F021AE0 10400008 */ beqz $v0, .Ljp7F021B04 -/* 056654 7F021AE4 8FA30058 */ lw $v1, 0x58($sp) -/* 056658 7F021AE8 3C018005 */ lui $at, %hi(D_80051D74) # $at, 0x8005 -/* 05665C 7F021AEC C4281DA8 */ lwc1 $f8, %lo(D_80051D74)($at) -/* 056660 7F021AF0 C4660014 */ lwc1 $f6, 0x14($v1) -/* 056664 7F021AF4 240B0001 */ li $t3, 1 -/* 056668 7F021AF8 46083282 */ mul.s $f10, $f6, $f8 -/* 05666C 7F021AFC E46A0014 */ swc1 $f10, 0x14($v1) -/* 056670 7F021B00 AFAB0054 */ sw $t3, 0x54($sp) -.Ljp7F021B04: -/* 056674 7F021B04 00002025 */ move $a0, $zero -/* 056678 7F021B08 24050004 */ li $a1, 4 -/* 05667C 7F021B0C 0C0030DC */ jal get_controller_buttons_held -/* 056680 7F021B10 AFA30058 */ sw $v1, 0x58($sp) -/* 056684 7F021B14 10400008 */ beqz $v0, .Ljp7F021B38 -/* 056688 7F021B18 8FA30058 */ lw $v1, 0x58($sp) -/* 05668C 7F021B1C 3C018005 */ lui $at, %hi(D_80051D78) # $at, 0x8005 -/* 056690 7F021B20 C4321DAC */ lwc1 $f18, %lo(D_80051D78)($at) -/* 056694 7F021B24 C4700010 */ lwc1 $f16, 0x10($v1) -/* 056698 7F021B28 240D0001 */ li $t5, 1 -/* 05669C 7F021B2C 46128102 */ mul.s $f4, $f16, $f18 -/* 0566A0 7F021B30 E4640010 */ swc1 $f4, 0x10($v1) -/* 0566A4 7F021B34 AFAD0054 */ sw $t5, 0x54($sp) -.Ljp7F021B38: -/* 0566A8 7F021B38 00002025 */ move $a0, $zero -/* 0566AC 7F021B3C 24050008 */ li $a1, 8 -/* 0566B0 7F021B40 0C0030DC */ jal get_controller_buttons_held -/* 0566B4 7F021B44 AFA30058 */ sw $v1, 0x58($sp) -/* 0566B8 7F021B48 10400008 */ beqz $v0, .Ljp7F021B6C -/* 0566BC 7F021B4C 8FA30058 */ lw $v1, 0x58($sp) -/* 0566C0 7F021B50 3C018005 */ lui $at, %hi(D_80051D7C) # $at, 0x8005 -/* 0566C4 7F021B54 C4281DB0 */ lwc1 $f8, %lo(D_80051D7C)($at) -/* 0566C8 7F021B58 C4660010 */ lwc1 $f6, 0x10($v1) -/* 0566CC 7F021B5C 240C0001 */ li $t4, 1 -/* 0566D0 7F021B60 46083282 */ mul.s $f10, $f6, $f8 -/* 0566D4 7F021B64 E46A0010 */ swc1 $f10, 0x10($v1) -/* 0566D8 7F021B68 AFAC0054 */ sw $t4, 0x54($sp) -.Ljp7F021B6C: -/* 0566DC 7F021B6C 00002025 */ move $a0, $zero -/* 0566E0 7F021B70 24050002 */ li $a1, 2 -/* 0566E4 7F021B74 0C0030DC */ jal get_controller_buttons_held -/* 0566E8 7F021B78 AFA30058 */ sw $v1, 0x58($sp) -/* 0566EC 7F021B7C 10400008 */ beqz $v0, .Ljp7F021BA0 -/* 0566F0 7F021B80 8FA30058 */ lw $v1, 0x58($sp) -/* 0566F4 7F021B84 3C018005 */ lui $at, %hi(D_80051D80) # $at, 0x8005 -/* 0566F8 7F021B88 C4321DB4 */ lwc1 $f18, %lo(D_80051D80)($at) -/* 0566FC 7F021B8C C470000C */ lwc1 $f16, 0xc($v1) -/* 056700 7F021B90 24180001 */ li $t8, 1 -/* 056704 7F021B94 46128102 */ mul.s $f4, $f16, $f18 -/* 056708 7F021B98 E464000C */ swc1 $f4, 0xc($v1) -/* 05670C 7F021B9C AFB80054 */ sw $t8, 0x54($sp) -.Ljp7F021BA0: -/* 056710 7F021BA0 00002025 */ move $a0, $zero -/* 056714 7F021BA4 24050001 */ li $a1, 1 -/* 056718 7F021BA8 0C0030DC */ jal get_controller_buttons_held -/* 05671C 7F021BAC AFA30058 */ sw $v1, 0x58($sp) -/* 056720 7F021BB0 10400008 */ beqz $v0, .Ljp7F021BD4 -/* 056724 7F021BB4 8FA30058 */ lw $v1, 0x58($sp) -/* 056728 7F021BB8 3C018005 */ lui $at, %hi(D_80051D84) # $at, 0x8005 -/* 05672C 7F021BBC C4281DB8 */ lwc1 $f8, %lo(D_80051D84)($at) -/* 056730 7F021BC0 C466000C */ lwc1 $f6, 0xc($v1) -/* 056734 7F021BC4 24190001 */ li $t9, 1 -/* 056738 7F021BC8 46083282 */ mul.s $f10, $f6, $f8 -/* 05673C 7F021BCC E46A000C */ swc1 $f10, 0xc($v1) -/* 056740 7F021BD0 AFB90054 */ sw $t9, 0x54($sp) -.Ljp7F021BD4: -/* 056744 7F021BD4 3C018005 */ lui $at, %hi(D_80051D88) # $at, 0x8005 -/* 056748 7F021BD8 C4201DBC */ lwc1 $f0, %lo(D_80051D88)($at) -/* 05674C 7F021BDC C4700000 */ lwc1 $f16, ($v1) -/* 056750 7F021BE0 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 056754 7F021BE4 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 056758 7F021BE8 46008482 */ mul.s $f18, $f16, $f0 -/* 05675C 7F021BEC E7B200F0 */ swc1 $f18, 0xf0($sp) -/* 056760 7F021BF0 C4640004 */ lwc1 $f4, 4($v1) -/* 056764 7F021BF4 46002182 */ mul.s $f6, $f4, $f0 -/* 056768 7F021BF8 E7A600F4 */ swc1 $f6, 0xf4($sp) -/* 05676C 7F021BFC C4680008 */ lwc1 $f8, 8($v1) -/* 056770 7F021C00 46004282 */ mul.s $f10, $f8, $f0 -/* 056774 7F021C04 E7AA00F8 */ swc1 $f10, 0xf8($sp) -/* 056778 7F021C08 C470000C */ lwc1 $f16, 0xc($v1) -/* 05677C 7F021C0C E7B000EC */ swc1 $f16, 0xec($sp) -/* 056780 7F021C10 C4720010 */ lwc1 $f18, 0x10($v1) -/* 056784 7F021C14 E7B200E8 */ swc1 $f18, 0xe8($sp) -/* 056788 7F021C18 C4640014 */ lwc1 $f4, 0x14($v1) -/* 05678C 7F021C1C 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 056790 7F021C20 E7A400E4 */ swc1 $f4, 0xe4($sp) -/* 056794 7F021C24 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 056798 7F021C28 0FC163B5 */ jal sub_GAME_7F0589B4 -/* 05679C 7F021C2C 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 0567A0 7F021C30 C7AC00E8 */ lwc1 $f12, 0xe8($sp) -/* 0567A4 7F021C34 0FC163C1 */ jal sub_GAME_7F0589E4 -/* 0567A8 7F021C38 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 0567AC 7F021C3C C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 0567B0 7F021C40 0FC163DB */ jal sub_GAME_7F058A4C -/* 0567B4 7F021C44 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 0567B8 7F021C48 8FAE00FC */ lw $t6, 0xfc($sp) -/* 0567BC 7F021C4C 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 0567C0 7F021C50 27A60064 */ addiu $a2, $sp, 0x64 -/* 0567C4 7F021C54 0FC161AB */ jal sub_GAME_7F05818C -/* 0567C8 7F021C58 8DC4000C */ lw $a0, 0xc($t6) -/* 0567CC 7F021C5C 8FA800FC */ lw $t0, 0xfc($sp) -/* 0567D0 7F021C60 27A40064 */ addiu $a0, $sp, 0x64 -/* 0567D4 7F021C64 0FC16150 */ jal sub_GAME_7F058020 -/* 0567D8 7F021C68 8D05000C */ lw $a1, 0xc($t0) -/* 0567DC 7F021C6C 8FAF0060 */ lw $t7, 0x60($sp) -/* 0567E0 7F021C70 24010002 */ li $at, 2 -/* 0567E4 7F021C74 55E10003 */ bnel $t7, $at, .Ljp7F021C84 -/* 0567E8 7F021C78 96090012 */ lhu $t1, 0x12($s0) -/* 0567EC 7F021C7C AFA00108 */ sw $zero, 0x108($sp) -.Ljp7F021C80: -/* 0567F0 7F021C80 96090012 */ lhu $t1, 0x12($s0) -.Ljp7F021C84: -/* 0567F4 7F021C84 8FAB0100 */ lw $t3, 0x100($sp) -/* 0567F8 7F021C88 8FA500FC */ lw $a1, 0xfc($sp) -/* 0567FC 7F021C8C 312A0001 */ andi $t2, $t1, 1 -/* 056800 7F021C90 11400005 */ beqz $t2, .Ljp7F021CA8 -/* 056804 7F021C94 00000000 */ nop -/* 056808 7F021C98 8D6D0064 */ lw $t5, 0x64($t3) -/* 05680C 7F021C9C 31AC0080 */ andi $t4, $t5, 0x80 -/* 056810 7F021CA0 55800005 */ bnezl $t4, .Ljp7F021CB8 -/* 056814 7F021CA4 8FB80110 */ lw $t8, 0x110($sp) -.Ljp7F021CA8: -/* 056818 7F021CA8 0FC1ADC4 */ jal sub_GAME_7F06B120 -/* 05681C 7F021CAC 8E040020 */ lw $a0, 0x20($s0) -/* 056820 7F021CB0 AE020020 */ sw $v0, 0x20($s0) -/* 056824 7F021CB4 8FB80110 */ lw $t8, 0x110($sp) -.Ljp7F021CB8: -/* 056828 7F021CB8 8F190008 */ lw $t9, 8($t8) -/* 05682C 7F021CBC 8F2E0008 */ lw $t6, 8($t9) -/* 056830 7F021CC0 8DC50010 */ lw $a1, 0x10($t6) -/* 056834 7F021CC4 10A0000E */ beqz $a1, .Ljp7F021D00 -/* 056838 7F021CC8 00000000 */ nop -/* 05683C 7F021CCC 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 056840 7F021CD0 03002025 */ move $a0, $t8 -/* 056844 7F021CD4 8C430000 */ lw $v1, ($v0) -/* 056848 7F021CD8 10600009 */ beqz $v1, .Ljp7F021D00 -/* 05684C 7F021CDC 00000000 */ nop -/* 056850 7F021CE0 8C680008 */ lw $t0, 8($v1) -/* 056854 7F021CE4 8D050004 */ lw $a1, 4($t0) -/* 056858 7F021CE8 10A00005 */ beqz $a1, .Ljp7F021D00 -/* 05685C 7F021CEC 00000000 */ nop -/* 056860 7F021CF0 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 056864 7F021CF4 8FA40110 */ lw $a0, 0x110($sp) -/* 056868 7F021CF8 8FAF0108 */ lw $t7, 0x108($sp) -/* 05686C 7F021CFC AC4F0000 */ sw $t7, ($v0) -.Ljp7F021D00: -/* 056870 7F021D00 0FC1AE23 */ jal sub_GAME_7F06B29C -/* 056874 7F021D04 8E040020 */ lw $a0, 0x20($s0) -/* 056878 7F021D08 0FC1B046 */ jal sub_GAME_7F06BB28 -/* 05687C 7F021D0C 8E040020 */ lw $a0, 0x20($s0) -/* 056880 7F021D10 10000020 */ b .Ljp7F021D94 -/* 056884 7F021D14 AE020020 */ sw $v0, 0x20($s0) -/* 056888 7F021D18 8E020160 */ lw $v0, 0x160($s0) -.Ljp7F021D1C: -/* 05688C 7F021D1C 50400005 */ beql $v0, $zero, .Ljp7F021D34 -/* 056890 7F021D20 8E020164 */ lw $v0, 0x164($s0) -/* 056894 7F021D24 90490001 */ lbu $t1, 1($v0) -/* 056898 7F021D28 312AFFFD */ andi $t2, $t1, 0xfffd -/* 05689C 7F021D2C A04A0001 */ sb $t2, 1($v0) -/* 0568A0 7F021D30 8E020164 */ lw $v0, 0x164($s0) -.Ljp7F021D34: -/* 0568A4 7F021D34 2403FFFD */ li $v1, -3 -/* 0568A8 7F021D38 50400005 */ beql $v0, $zero, .Ljp7F021D50 -/* 0568AC 7F021D3C 8E0201D8 */ lw $v0, 0x1d8($s0) -/* 0568B0 7F021D40 904B0001 */ lbu $t3, 1($v0) -/* 0568B4 7F021D44 01636824 */ and $t5, $t3, $v1 -/* 0568B8 7F021D48 A04D0001 */ sb $t5, 1($v0) -/* 0568BC 7F021D4C 8E0201D8 */ lw $v0, 0x1d8($s0) -.Ljp7F021D50: -/* 0568C0 7F021D50 50400005 */ beql $v0, $zero, .Ljp7F021D68 -/* 0568C4 7F021D54 8FAE0158 */ lw $t6, 0x158($sp) -/* 0568C8 7F021D58 904C0001 */ lbu $t4, 1($v0) -/* 0568CC 7F021D5C 0183C824 */ and $t9, $t4, $v1 -/* 0568D0 7F021D60 A0590001 */ sb $t9, 1($v0) -/* 0568D4 7F021D64 8FAE0158 */ lw $t6, 0x158($sp) -.Ljp7F021D68: -/* 0568D8 7F021D68 91D80001 */ lbu $t8, 1($t6) -/* 0568DC 7F021D6C 03034024 */ and $t0, $t8, $v1 -/* 0568E0 7F021D70 A1C80001 */ sb $t0, 1($t6) -/* 0568E4 7F021D74 920F00F8 */ lbu $t7, 0xf8($s0) -/* 0568E8 7F021D78 920900F9 */ lbu $t1, 0xf9($s0) -/* 0568EC 7F021D7C 920A00FA */ lbu $t2, 0xfa($s0) -/* 0568F0 7F021D80 920B00FB */ lbu $t3, 0xfb($s0) -/* 0568F4 7F021D84 A20F00F4 */ sb $t7, 0xf4($s0) -/* 0568F8 7F021D88 A20900F5 */ sb $t1, 0xf5($s0) -/* 0568FC 7F021D8C A20A00F6 */ sb $t2, 0xf6($s0) -/* 056900 7F021D90 A20B00F7 */ sb $t3, 0xf7($s0) -.Ljp7F021D94: -/* 056904 7F021D94 8E0D0014 */ lw $t5, 0x14($s0) -/* 056908 7F021D98 31AC0400 */ andi $t4, $t5, 0x400 -/* 05690C 7F021D9C 55800015 */ bnezl $t4, .Ljp7F021DF4 -/* 056910 7F021DA0 00001025 */ move $v0, $zero -/* 056914 7F021DA4 96020012 */ lhu $v0, 0x12($s0) -/* 056918 7F021DA8 8FB80158 */ lw $t8, 0x158($sp) -/* 05691C 7F021DAC 30590001 */ andi $t9, $v0, 1 -/* 056920 7F021DB0 1320000D */ beqz $t9, .Ljp7F021DE8 -/* 056924 7F021DB4 00000000 */ nop -/* 056928 7F021DB8 8F040020 */ lw $a0, 0x20($t8) -/* 05692C 7F021DBC 50800009 */ beql $a0, $zero, .Ljp7F021DE4 -/* 056930 7F021DC0 3048FFFE */ andi $t0, $v0, 0xfffe -/* 056934 7F021DC4 8C830024 */ lw $v1, 0x24($a0) -.Ljp7F021DC8: -/* 056938 7F021DC8 0FC1314D */ jal sub_GAME_7F04C130 -/* 05693C 7F021DCC AFA3003C */ sw $v1, 0x3c($sp) -/* 056940 7F021DD0 8FA4003C */ lw $a0, 0x3c($sp) -/* 056944 7F021DD4 5480FFFC */ bnezl $a0, .Ljp7F021DC8 -/* 056948 7F021DD8 8C830024 */ lw $v1, 0x24($a0) -/* 05694C 7F021DDC 96020012 */ lhu $v0, 0x12($s0) -/* 056950 7F021DE0 3048FFFE */ andi $t0, $v0, 0xfffe -.Ljp7F021DE4: -/* 056954 7F021DE4 A6080012 */ sh $t0, 0x12($s0) -.Ljp7F021DE8: -/* 056958 7F021DE8 0FC0B95D */ jal sub_GAME_7F02E26C -/* 05695C 7F021DEC 02002025 */ move $a0, $s0 -/* 056960 7F021DF0 00001025 */ move $v0, $zero -.Ljp7F021DF4: -/* 056964 7F021DF4 8FBF0024 */ lw $ra, 0x24($sp) -/* 056968 7F021DF8 8FB00020 */ lw $s0, 0x20($sp) -/* 05696C 7F021DFC 27BD0158 */ addiu $sp, $sp, 0x158 -/* 056970 7F021E00 03E00008 */ jr $ra -/* 056974 7F021E04 00000000 */ nop - -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F021B20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F021B20 -/* 056650 7F021B20 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 056654 7F021B24 AFBF001C */ sw $ra, 0x1c($sp) -/* 056658 7F021B28 AFB10018 */ sw $s1, 0x18($sp) -/* 05665C 7F021B2C AFB00014 */ sw $s0, 0x14($sp) -/* 056660 7F021B30 8C8E0018 */ lw $t6, 0x18($a0) -/* 056664 7F021B34 00808825 */ move $s1, $a0 -/* 056668 7F021B38 8DD00020 */ lw $s0, 0x20($t6) -/* 05666C 7F021B3C 52000016 */ beql $s0, $zero, .L7F021B98 -/* 056670 7F021B40 962A0012 */ lhu $t2, 0x12($s1) -/* 056674 7F021B44 8E2F01D8 */ lw $t7, 0x1d8($s1) -.L7F021B48: -/* 056678 7F021B48 520F0010 */ beql $s0, $t7, .L7F021B8C -/* 05667C 7F021B4C 8E100024 */ lw $s0, 0x24($s0) -/* 056680 7F021B50 8E380164 */ lw $t8, 0x164($s1) -/* 056684 7F021B54 5218000D */ beql $s0, $t8, .L7F021B8C -/* 056688 7F021B58 8E100024 */ lw $s0, 0x24($s0) -/* 05668C 7F021B5C 8E390160 */ lw $t9, 0x160($s1) -/* 056690 7F021B60 5219000A */ beql $s0, $t9, .L7F021B8C -/* 056694 7F021B64 8E100024 */ lw $s0, 0x24($s0) -/* 056698 7F021B68 8E020004 */ lw $v0, 4($s0) -/* 05669C 7F021B6C 02002025 */ move $a0, $s0 -/* 0566A0 7F021B70 8C480008 */ lw $t0, 8($v0) -/* 0566A4 7F021B74 31092000 */ andi $t1, $t0, 0x2000 -/* 0566A8 7F021B78 55200004 */ bnezl $t1, .L7F021B8C -/* 0566AC 7F021B7C 8E100024 */ lw $s0, 0x24($s0) -/* 0566B0 7F021B80 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 0566B4 7F021B84 24050001 */ li $a1, 1 -/* 0566B8 7F021B88 8E100024 */ lw $s0, 0x24($s0) -.L7F021B8C: -/* 0566BC 7F021B8C 5600FFEE */ bnezl $s0, .L7F021B48 -/* 0566C0 7F021B90 8E2F01D8 */ lw $t7, 0x1d8($s1) -/* 0566C4 7F021B94 962A0012 */ lhu $t2, 0x12($s1) -.L7F021B98: -/* 0566C8 7F021B98 354B0001 */ ori $t3, $t2, 1 -/* 0566CC 7F021B9C A62B0012 */ sh $t3, 0x12($s1) -/* 0566D0 7F021BA0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0566D4 7F021BA4 8FB10018 */ lw $s1, 0x18($sp) -/* 0566D8 7F021BA8 8FB00014 */ lw $s0, 0x14($sp) -/* 0566DC 7F021BAC 03E00008 */ jr $ra -/* 0566E0 7F021BB0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F021BB4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F021BB4 -/* 0566E4 7F021BB4 908E0000 */ lbu $t6, ($a0) -/* 0566E8 7F021BB8 3C028003 */ lui $v0, %hi(D_8002CCB8) -/* 0566EC 7F021BBC 2442CCB8 */ addiu $v0, %lo(D_8002CCB8) # addiu $v0, $v0, -0x3348 -/* 0566F0 7F021BC0 A04E0000 */ sb $t6, ($v0) -/* 0566F4 7F021BC4 908F0001 */ lbu $t7, 1($a0) -/* 0566F8 7F021BC8 A04F0001 */ sb $t7, 1($v0) -/* 0566FC 7F021BCC 90980002 */ lbu $t8, 2($a0) -/* 056700 7F021BD0 03E00008 */ jr $ra -/* 056704 7F021BD4 A0580002 */ sb $t8, 2($v0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F021BD8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F021BD8 -/* 056708 7F021BD8 3C028003 */ lui $v0, %hi(D_8002CCB8) -/* 05670C 7F021BDC 2442CCB8 */ addiu $v0, %lo(D_8002CCB8) # addiu $v0, $v0, -0x3348 -/* 056710 7F021BE0 904E0000 */ lbu $t6, ($v0) -/* 056714 7F021BE4 A08E0000 */ sb $t6, ($a0) -/* 056718 7F021BE8 904F0001 */ lbu $t7, 1($v0) -/* 05671C 7F021BEC A08F0001 */ sb $t7, 1($a0) -/* 056720 7F021BF0 90580002 */ lbu $t8, 2($v0) -/* 056724 7F021BF4 03E00008 */ jr $ra -/* 056728 7F021BF8 A0980002 */ sb $t8, 2($a0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F021BFC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F021BFC -/* 05672C 7F021BFC 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 056730 7F021C00 AFBF0024 */ sw $ra, 0x24($sp) -/* 056734 7F021C04 AFB00020 */ sw $s0, 0x20($sp) -/* 056738 7F021C08 AFA400D8 */ sw $a0, 0xd8($sp) -/* 05673C 7F021C0C AFA500DC */ sw $a1, 0xdc($sp) -/* 056740 7F021C10 AFA600E0 */ sw $a2, 0xe0($sp) -/* 056744 7F021C14 8C900004 */ lw $s0, 4($a0) -/* 056748 7F021C18 920F000C */ lbu $t7, 0xc($s0) -/* 05674C 7F021C1C 8E07001C */ lw $a3, 0x1c($s0) -/* 056750 7F021C20 AFAF00B4 */ sw $t7, 0xb4($sp) -/* 056754 7F021C24 8E180014 */ lw $t8, 0x14($s0) -/* 056758 7F021C28 0018C940 */ sll $t9, $t8, 5 -/* 05675C 7F021C2C 07220010 */ bltzl $t9, .L7F021C70 -/* 056760 7F021C30 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 056764 7F021C34 0FC1B403 */ jal getinstsize -/* 056768 7F021C38 00E02025 */ move $a0, $a3 -/* 05676C 7F021C3C 44050000 */ mfc1 $a1, $f0 -/* 056770 7F021C40 0FC152E0 */ jal sub_GAME_7F054B80 -/* 056774 7F021C44 8FA400D8 */ lw $a0, 0xd8($sp) -/* 056778 7F021C48 8FAA00B4 */ lw $t2, 0xb4($sp) -/* 05677C 7F021C4C 448A2000 */ mtc1 $t2, $f4 -/* 056780 7F021C50 00000000 */ nop -/* 056784 7F021C54 468021A0 */ cvt.s.w $f6, $f4 -/* 056788 7F021C58 46003202 */ mul.s $f8, $f6, $f0 -/* 05678C 7F021C5C 4600428D */ trunc.w.s $f10, $f8 -/* 056790 7F021C60 440C5000 */ mfc1 $t4, $f10 -/* 056794 7F021C64 00000000 */ nop -/* 056798 7F021C68 AFAC00B4 */ sw $t4, 0xb4($sp) -/* 05679C 7F021C6C 8FAD00B4 */ lw $t5, 0xb4($sp) -.L7F021C70: -/* 0567A0 7F021C70 8FB800E0 */ lw $t8, 0xe0($sp) -/* 0567A4 7F021C74 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0567A8 7F021C78 29A100FF */ slti $at, $t5, 0xff -/* 0567AC 7F021C7C 14200006 */ bnez $at, .L7F021C98 -/* 0567B0 7F021C80 00000000 */ nop -/* 0567B4 7F021C84 8E0E0014 */ lw $t6, 0x14($s0) -/* 0567B8 7F021C88 8FAA00E0 */ lw $t2, 0xe0($sp) -/* 0567BC 7F021C8C 000E7B80 */ sll $t7, $t6, 0xe -/* 0567C0 7F021C90 05E10007 */ bgez $t7, .L7F021CB0 -/* 0567C4 7F021C94 00000000 */ nop -.L7F021C98: -/* 0567C8 7F021C98 17000003 */ bnez $t8, .L7F021CA8 -/* 0567CC 7F021C9C 24190003 */ li $t9, 3 -/* 0567D0 7F021CA0 100000F0 */ b .L7F022064 -/* 0567D4 7F021CA4 8FA200DC */ lw $v0, 0xdc($sp) -.L7F021CA8: -/* 0567D8 7F021CA8 10000007 */ b .L7F021CC8 -/* 0567DC 7F021CAC AFB900B8 */ sw $t9, 0xb8($sp) -.L7F021CB0: -/* 0567E0 7F021CB0 15400004 */ bnez $t2, .L7F021CC4 -/* 0567E4 7F021CB4 240C0002 */ li $t4, 2 -/* 0567E8 7F021CB8 240B0001 */ li $t3, 1 -/* 0567EC 7F021CBC 10000002 */ b .L7F021CC8 -/* 0567F0 7F021CC0 AFAB00B8 */ sw $t3, 0xb8($sp) -.L7F021CC4: -/* 0567F4 7F021CC4 AFAC00B8 */ sw $t4, 0xb8($sp) -.L7F021CC8: -/* 0567F8 7F021CC8 0FC2ECE9 */ jal if_sky_present_convert_values -/* 0567FC 7F021CCC 8FA400D8 */ lw $a0, 0xd8($sp) -/* 056800 7F021CD0 104000DD */ beqz $v0, .L7F022048 -/* 056804 7F021CD4 AFA200BC */ sw $v0, 0xbc($sp) -/* 056808 7F021CD8 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 05680C 7F021CDC 3C0F8003 */ lui $t7, %hi(D_8002CCBC) -/* 056810 7F021CE0 25EFCCBC */ addiu $t7, %lo(D_8002CCBC) # addiu $t7, $t7, -0x3344 -/* 056814 7F021CE4 19A000D8 */ blez $t5, .L7F022048 -/* 056818 7F021CE8 27AE0070 */ addiu $t6, $sp, 0x70 -/* 05681C 7F021CEC 25F9003C */ addiu $t9, $t7, 0x3c -.L7F021CF0: -/* 056820 7F021CF0 8DE10000 */ lw $at, ($t7) -/* 056824 7F021CF4 25EF000C */ addiu $t7, $t7, 0xc -/* 056828 7F021CF8 25CE000C */ addiu $t6, $t6, 0xc -/* 05682C 7F021CFC ADC1FFF4 */ sw $at, -0xc($t6) -/* 056830 7F021D00 8DE1FFF8 */ lw $at, -8($t7) -/* 056834 7F021D04 ADC1FFF8 */ sw $at, -8($t6) -/* 056838 7F021D08 8DE1FFFC */ lw $at, -4($t7) -/* 05683C 7F021D0C 15F9FFF8 */ bne $t7, $t9, .L7F021CF0 -/* 056840 7F021D10 ADC1FFFC */ sw $at, -4($t6) -/* 056844 7F021D14 8DE10000 */ lw $at, ($t7) -/* 056848 7F021D18 240A0050 */ li $t2, 80 -/* 05684C 7F021D1C 00003825 */ move $a3, $zero -/* 056850 7F021D20 ADC10000 */ sw $at, ($t6) -/* 056854 7F021D24 AFAA004C */ sw $t2, 0x4c($sp) -/* 056858 7F021D28 8E020160 */ lw $v0, 0x160($s0) -/* 05685C 7F021D2C 8E030164 */ lw $v1, 0x164($s0) -/* 056860 7F021D30 8E0601D8 */ lw $a2, 0x1d8($s0) -/* 056864 7F021D34 00004025 */ move $t0, $zero -/* 056868 7F021D38 10400002 */ beqz $v0, .L7F021D44 -/* 05686C 7F021D3C 00004825 */ move $t1, $zero -/* 056870 7F021D40 8C470004 */ lw $a3, 4($v0) -.L7F021D44: -/* 056874 7F021D44 10600002 */ beqz $v1, .L7F021D50 -/* 056878 7F021D48 8FA400D8 */ lw $a0, 0xd8($sp) -/* 05687C 7F021D4C 8C680004 */ lw $t0, 4($v1) -.L7F021D50: -/* 056880 7F021D50 10C00002 */ beqz $a2, .L7F021D5C -/* 056884 7F021D54 27A50060 */ addiu $a1, $sp, 0x60 -/* 056888 7F021D58 8CC90004 */ lw $t1, 4($a2) -.L7F021D5C: -/* 05688C 7F021D5C AFA20048 */ sw $v0, 0x48($sp) -/* 056890 7F021D60 AFA30044 */ sw $v1, 0x44($sp) -/* 056894 7F021D64 AFA60040 */ sw $a2, 0x40($sp) -/* 056898 7F021D68 AFA7003C */ sw $a3, 0x3c($sp) -/* 05689C 7F021D6C AFA80038 */ sw $t0, 0x38($sp) -/* 0568A0 7F021D70 0FC15299 */ jal sub_GAME_7F054A64 -/* 0568A4 7F021D74 AFA90034 */ sw $t1, 0x34($sp) -/* 0568A8 7F021D78 1840000D */ blez $v0, .L7F021DB0 -/* 0568AC 7F021D7C 00000000 */ nop -/* 0568B0 7F021D80 8E0B0014 */ lw $t3, 0x14($s0) -/* 0568B4 7F021D84 8FA400DC */ lw $a0, 0xdc($sp) -/* 0568B8 7F021D88 8FA50060 */ lw $a1, 0x60($sp) -/* 0568BC 7F021D8C 000B6200 */ sll $t4, $t3, 8 -/* 0568C0 7F021D90 05800007 */ bltz $t4, .L7F021DB0 -/* 0568C4 7F021D94 8FA60064 */ lw $a2, 0x64($sp) -/* 0568C8 7F021D98 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 0568CC 7F021D9C 8FA70068 */ lw $a3, 0x68($sp) -/* 0568D0 7F021DA0 0FC2D3FD */ jal sub_GAME_7F0B4FF4 -/* 0568D4 7F021DA4 E7B00010 */ swc1 $f16, 0x10($sp) -/* 0568D8 7F021DA8 10000004 */ b .L7F021DBC -/* 0568DC 7F021DAC 8FAD00B8 */ lw $t5, 0xb8($sp) -.L7F021DB0: -/* 0568E0 7F021DB0 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 0568E4 7F021DB4 8FA400DC */ lw $a0, 0xdc($sp) -/* 0568E8 7F021DB8 8FAD00B8 */ lw $t5, 0xb8($sp) -.L7F021DBC: -/* 0568EC 7F021DBC 24180001 */ li $t8, 1 -/* 0568F0 7F021DC0 AFB80074 */ sw $t8, 0x74($sp) -/* 0568F4 7F021DC4 AFA2007C */ sw $v0, 0x7c($sp) -/* 0568F8 7F021DC8 AFAD0078 */ sw $t5, 0x78($sp) -/* 0568FC 7F021DCC 8E190014 */ lw $t9, 0x14($s0) -/* 056900 7F021DD0 8FAE00BC */ lw $t6, 0xbc($sp) -/* 056904 7F021DD4 24010001 */ li $at, 1 -/* 056908 7F021DD8 332F2000 */ andi $t7, $t9, 0x2000 -/* 05690C 7F021DDC 11E00003 */ beqz $t7, .L7F021DEC -/* 056910 7F021DE0 00000000 */ nop -/* 056914 7F021DE4 1000000E */ b .L7F021E20 -/* 056918 7F021DE8 AFA0004C */ sw $zero, 0x4c($sp) -.L7F021DEC: -/* 05691C 7F021DEC 15C1000C */ bne $t6, $at, .L7F021E20 -/* 056920 7F021DF0 C7A400CC */ lwc1 $f4, 0xcc($sp) -/* 056924 7F021DF4 240A0050 */ li $t2, 80 -/* 056928 7F021DF8 448A4000 */ mtc1 $t2, $f8 -/* 05692C 7F021DFC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 056930 7F021E00 44819000 */ mtc1 $at, $f18 -/* 056934 7F021E04 468042A0 */ cvt.s.w $f10, $f8 -/* 056938 7F021E08 46049181 */ sub.s $f6, $f18, $f4 -/* 05693C 7F021E0C 460A3402 */ mul.s $f16, $f6, $f10 -/* 056940 7F021E10 4600848D */ trunc.w.s $f18, $f16 -/* 056944 7F021E14 440C9000 */ mfc1 $t4, $f18 -/* 056948 7F021E18 00000000 */ nop -/* 05694C 7F021E1C AFAC004C */ sw $t4, 0x4c($sp) -.L7F021E20: -/* 056950 7F021E20 0FC1CFF2 */ jal sub_GAME_7F073FC8 -/* 056954 7F021E24 8FA4004C */ lw $a0, 0x4c($sp) -/* 056958 7F021E28 920D00F4 */ lbu $t5, 0xf4($s0) -/* 05695C 7F021E2C 27A40050 */ addiu $a0, $sp, 0x50 -/* 056960 7F021E30 8FA500BC */ lw $a1, 0xbc($sp) -/* 056964 7F021E34 AFAD0050 */ sw $t5, 0x50($sp) -/* 056968 7F021E38 921800F5 */ lbu $t8, 0xf5($s0) -/* 05696C 7F021E3C 27A600C0 */ addiu $a2, $sp, 0xc0 -/* 056970 7F021E40 AFB80054 */ sw $t8, 0x54($sp) -/* 056974 7F021E44 921900F6 */ lbu $t9, 0xf6($s0) -/* 056978 7F021E48 AFB90058 */ sw $t9, 0x58($sp) -/* 05697C 7F021E4C 920F00F7 */ lbu $t7, 0xf7($s0) -/* 056980 7F021E50 0FC100E1 */ jal sub_GAME_7F040384 -/* 056984 7F021E54 AFAF005C */ sw $t7, 0x5c($sp) -/* 056988 7F021E58 3C028003 */ lui $v0, %hi(D_8002CCB8) -/* 05698C 7F021E5C 2442CCB8 */ addiu $v0, %lo(D_8002CCB8) # addiu $v0, $v0, -0x3348 -/* 056990 7F021E60 904E0002 */ lbu $t6, 2($v0) -/* 056994 7F021E64 904B0000 */ lbu $t3, ($v0) -/* 056998 7F021E68 90580001 */ lbu $t8, 1($v0) -/* 05699C 7F021E6C 000E5200 */ sll $t2, $t6, 8 -/* 0569A0 7F021E70 8FAE0050 */ lw $t6, 0x50($sp) -/* 0569A4 7F021E74 000B6600 */ sll $t4, $t3, 0x18 -/* 0569A8 7F021E78 8FAF005C */ lw $t7, 0x5c($sp) -/* 0569AC 7F021E7C 014C6825 */ or $t5, $t2, $t4 -/* 0569B0 7F021E80 0018CC00 */ sll $t9, $t8, 0x10 -/* 0569B4 7F021E84 8FAC0054 */ lw $t4, 0x54($sp) -/* 0569B8 7F021E88 01B91825 */ or $v1, $t5, $t9 -/* 0569BC 7F021E8C 000E5E00 */ sll $t3, $t6, 0x18 -/* 0569C0 7F021E90 8FB90058 */ lw $t9, 0x58($sp) -/* 0569C4 7F021E94 01EB5025 */ or $t2, $t7, $t3 -/* 0569C8 7F021E98 8FAB00B4 */ lw $t3, 0xb4($sp) -/* 0569CC 7F021E9C 000CC400 */ sll $t8, $t4, 0x10 -/* 0569D0 7F021EA0 01586825 */ or $t5, $t2, $t8 -/* 0569D4 7F021EA4 00197200 */ sll $t6, $t9, 8 -/* 0569D8 7F021EA8 01AE7825 */ or $t7, $t5, $t6 -/* 0569DC 7F021EAC 296100FF */ slti $at, $t3, 0xff -/* 0569E0 7F021EB0 10200007 */ beqz $at, .L7F021ED0 -/* 0569E4 7F021EB4 AFAF00A8 */ sw $t7, 0xa8($sp) -/* 0569E8 7F021EB8 93AA00B7 */ lbu $t2, 0xb7($sp) -/* 0569EC 7F021EBC 240C0008 */ li $t4, 8 -/* 0569F0 7F021EC0 AFAC00A0 */ sw $t4, 0xa0($sp) -/* 0569F4 7F021EC4 006A1825 */ or $v1, $v1, $t2 -/* 0569F8 7F021EC8 10000004 */ b .L7F021EDC -/* 0569FC 7F021ECC AFA300A4 */ sw $v1, 0xa4($sp) -.L7F021ED0: -/* 056A00 7F021ED0 24180007 */ li $t8, 7 -/* 056A04 7F021ED4 AFA300A4 */ sw $v1, 0xa4($sp) -/* 056A08 7F021ED8 AFB800A0 */ sw $t8, 0xa0($sp) -.L7F021EDC: -/* 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 -/* 056A20 7F021EF0 AC4D0034 */ sw $t5, 0x34($v0) -/* 056A24 7F021EF4 0FC1AF03 */ jal drawjointlist -/* 056A28 7F021EF8 8E050020 */ lw $a1, 0x20($s0) -/* 056A2C 7F021EFC 8FAF003C */ lw $t7, 0x3c($sp) -/* 056A30 7F021F00 8FAE007C */ lw $t6, 0x7c($sp) -/* 056A34 7F021F04 8FA600E0 */ lw $a2, 0xe0($sp) -/* 056A38 7F021F08 11E0000B */ beqz $t7, .L7F021F38 -/* 056A3C 7F021F0C AFAE00DC */ sw $t6, 0xdc($sp) -/* 056A40 7F021F10 91EB0002 */ lbu $t3, 2($t7) -/* 056A44 7F021F14 240C0001 */ li $t4, 1 -/* 056A48 7F021F18 00CC5004 */ sllv $t2, $t4, $a2 -/* 056A4C 7F021F1C 315800FF */ andi $t8, $t2, 0xff -/* 056A50 7F021F20 0178C824 */ and $t9, $t3, $t8 -/* 056A54 7F021F24 13200004 */ beqz $t9, .L7F021F38 -/* 056A58 7F021F28 01C02025 */ move $a0, $t6 -/* 056A5C 7F021F2C 0FC286A5 */ jal sub_GAME_7F0A1A94 -/* 056A60 7F021F30 8FA50048 */ lw $a1, 0x48($sp) -/* 056A64 7F021F34 AFA200DC */ sw $v0, 0xdc($sp) -.L7F021F38: -/* 056A68 7F021F38 8FAD0038 */ lw $t5, 0x38($sp) -/* 056A6C 7F021F3C 8FA600E0 */ lw $a2, 0xe0($sp) -/* 056A70 7F021F40 240C0001 */ li $t4, 1 -/* 056A74 7F021F44 51A0000C */ beql $t5, $zero, .L7F021F78 -/* 056A78 7F021F48 8FB90034 */ lw $t9, 0x34($sp) -/* 056A7C 7F021F4C 91AF0002 */ lbu $t7, 2($t5) -/* 056A80 7F021F50 00CC5004 */ sllv $t2, $t4, $a2 -/* 056A84 7F021F54 314B00FF */ andi $t3, $t2, 0xff -/* 056A88 7F021F58 01EBC024 */ and $t8, $t7, $t3 -/* 056A8C 7F021F5C 13000005 */ beqz $t8, .L7F021F74 -/* 056A90 7F021F60 8FA400DC */ lw $a0, 0xdc($sp) -/* 056A94 7F021F64 0FC286A5 */ jal sub_GAME_7F0A1A94 -/* 056A98 7F021F68 8FA50044 */ lw $a1, 0x44($sp) -/* 056A9C 7F021F6C AFA200DC */ sw $v0, 0xdc($sp) -/* 056AA0 7F021F70 8FA600E0 */ lw $a2, 0xe0($sp) -.L7F021F74: -/* 056AA4 7F021F74 8FB90034 */ lw $t9, 0x34($sp) -.L7F021F78: -/* 056AA8 7F021F78 240D0001 */ li $t5, 1 -/* 056AAC 7F021F7C 1320000B */ beqz $t9, .L7F021FAC -/* 056AB0 7F021F80 00000000 */ nop -/* 056AB4 7F021F84 932E0002 */ lbu $t6, 2($t9) -/* 056AB8 7F021F88 00CD6004 */ sllv $t4, $t5, $a2 -/* 056ABC 7F021F8C 318A00FF */ andi $t2, $t4, 0xff -/* 056AC0 7F021F90 01CA7824 */ and $t7, $t6, $t2 -/* 056AC4 7F021F94 11E00005 */ beqz $t7, .L7F021FAC -/* 056AC8 7F021F98 8FA400DC */ lw $a0, 0xdc($sp) -/* 056ACC 7F021F9C 0FC286A5 */ jal sub_GAME_7F0A1A94 -/* 056AD0 7F021FA0 8FA50040 */ lw $a1, 0x40($sp) -/* 056AD4 7F021FA4 AFA200DC */ sw $v0, 0xdc($sp) -/* 056AD8 7F021FA8 8FA600E0 */ lw $a2, 0xe0($sp) -.L7F021FAC: -/* 056ADC 7F021FAC 50C00027 */ beql $a2, $zero, .L7F02204C -/* 056AE0 7F021FB0 8FA600E0 */ lw $a2, 0xe0($sp) -/* 056AE4 7F021FB4 8E02001C */ lw $v0, 0x1c($s0) -/* 056AE8 7F021FB8 8C4B0008 */ lw $t3, 8($v0) -/* 056AEC 7F021FBC 8C44000C */ lw $a0, 0xc($v0) -/* 056AF0 7F021FC0 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 056AF4 7F021FC4 8565000E */ lh $a1, 0xe($t3) -/* 056AF8 7F021FC8 8FB8003C */ lw $t8, 0x3c($sp) -/* 056AFC 7F021FCC 5300000B */ beql $t8, $zero, .L7F021FFC -/* 056B00 7F021FD0 8FAE0038 */ lw $t6, 0x38($sp) -/* 056B04 7F021FD4 8F190064 */ lw $t9, 0x64($t8) -/* 056B08 7F021FD8 332D0800 */ andi $t5, $t9, 0x800 -/* 056B0C 7F021FDC 55A00007 */ bnezl $t5, .L7F021FFC -/* 056B10 7F021FE0 8FAE0038 */ lw $t6, 0x38($sp) -/* 056B14 7F021FE4 8F020014 */ lw $v0, 0x14($t8) -/* 056B18 7F021FE8 8C4C0008 */ lw $t4, 8($v0) -/* 056B1C 7F021FEC 8C44000C */ lw $a0, 0xc($v0) -/* 056B20 7F021FF0 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 056B24 7F021FF4 8585000E */ lh $a1, 0xe($t4) -/* 056B28 7F021FF8 8FAE0038 */ lw $t6, 0x38($sp) -.L7F021FFC: -/* 056B2C 7F021FFC 51C0000B */ beql $t6, $zero, .L7F02202C -/* 056B30 7F022000 8FB90034 */ lw $t9, 0x34($sp) -/* 056B34 7F022004 8DCA0064 */ lw $t2, 0x64($t6) -/* 056B38 7F022008 314F0800 */ andi $t7, $t2, 0x800 -/* 056B3C 7F02200C 55E00007 */ bnezl $t7, .L7F02202C -/* 056B40 7F022010 8FB90034 */ lw $t9, 0x34($sp) -/* 056B44 7F022014 8DC20014 */ lw $v0, 0x14($t6) -/* 056B48 7F022018 8C4B0008 */ lw $t3, 8($v0) -/* 056B4C 7F02201C 8C44000C */ lw $a0, 0xc($v0) -/* 056B50 7F022020 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 056B54 7F022024 8565000E */ lh $a1, 0xe($t3) -/* 056B58 7F022028 8FB90034 */ lw $t9, 0x34($sp) -.L7F02202C: -/* 056B5C 7F02202C 53200007 */ beql $t9, $zero, .L7F02204C -/* 056B60 7F022030 8FA600E0 */ lw $a2, 0xe0($sp) -/* 056B64 7F022034 8F220014 */ lw $v0, 0x14($t9) -/* 056B68 7F022038 8C4D0008 */ lw $t5, 8($v0) -/* 056B6C 7F02203C 8C44000C */ lw $a0, 0xc($v0) -/* 056B70 7F022040 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 056B74 7F022044 85A5000E */ lh $a1, 0xe($t5) -.L7F022048: -/* 056B78 7F022048 8FA600E0 */ lw $a2, 0xe0($sp) -.L7F02204C: -/* 056B7C 7F02204C 50C00005 */ beql $a2, $zero, .L7F022064 -/* 056B80 7F022050 8FA200DC */ lw $v0, 0xdc($sp) -/* 056B84 7F022054 0FC1AC92 */ jal sub_GAME_7F06B248 -/* 056B88 7F022058 8E040020 */ lw $a0, 0x20($s0) -/* 056B8C 7F02205C AE000020 */ sw $zero, 0x20($s0) -/* 056B90 7F022060 8FA200DC */ lw $v0, 0xdc($sp) -.L7F022064: -/* 056B94 7F022064 8FBF0024 */ lw $ra, 0x24($sp) -/* 056B98 7F022068 8FB00020 */ lw $s0, 0x20($sp) -/* 056B9C 7F02206C 27BD00D8 */ addiu $sp, $sp, 0xd8 -/* 056BA0 7F022070 03E00008 */ jr $ra -/* 056BA4 7F022074 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F022078(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F022078 -/* 056BA8 7F022078 3C0B8003 */ lui $t3, %hi(D_8002C914) -/* 056BAC 7F02207C 256BC914 */ addiu $t3, %lo(D_8002C914) # addiu $t3, $t3, -0x36ec -/* 056BB0 7F022080 8D6E0000 */ lw $t6, ($t3) -/* 056BB4 7F022084 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 056BB8 7F022088 2409FFFF */ li $t1, -1 -/* 056BBC 7F02208C AFBF001C */ sw $ra, 0x1c($sp) -/* 056BC0 7F022090 AFB00018 */ sw $s0, 0x18($sp) -/* 056BC4 7F022094 AFA40050 */ sw $a0, 0x50($sp) -/* 056BC8 7F022098 AFA7005C */ sw $a3, 0x5c($sp) -/* 056BCC 7F02209C 00005025 */ move $t2, $zero -/* 056BD0 7F0220A0 112E000D */ beq $t1, $t6, .L7F0220D8 -/* 056BD4 7F0220A4 00004025 */ move $t0, $zero -/* 056BD8 7F0220A8 3C0F8003 */ lui $t7, %hi(D_8002C914) -/* 056BDC 7F0220AC 25E2C914 */ addiu $v0, $t7, %lo(D_8002C914) -/* 056BE0 7F0220B0 8C430000 */ lw $v1, ($v0) -.L7F0220B4: -/* 056BE4 7F0220B4 54A30004 */ bnel $a1, $v1, .L7F0220C8 -/* 056BE8 7F0220B8 8C43002C */ lw $v1, 0x2c($v0) -/* 056BEC 7F0220BC 10000006 */ b .L7F0220D8 -/* 056BF0 7F0220C0 01005025 */ move $t2, $t0 -/* 056BF4 7F0220C4 8C43002C */ lw $v1, 0x2c($v0) -.L7F0220C8: -/* 056BF8 7F0220C8 25080001 */ addiu $t0, $t0, 1 -/* 056BFC 7F0220CC 2442002C */ addiu $v0, $v0, 0x2c -/* 056C00 7F0220D0 1523FFF8 */ bne $t1, $v1, .L7F0220B4 -/* 056C04 7F0220D4 00000000 */ nop -.L7F0220D8: -/* 056C08 7F0220D8 000AC080 */ sll $t8, $t2, 2 -/* 056C0C 7F0220DC 030AC023 */ subu $t8, $t8, $t2 -/* 056C10 7F0220E0 0018C080 */ sll $t8, $t8, 2 -/* 056C14 7F0220E4 030AC023 */ subu $t8, $t8, $t2 -/* 056C18 7F0220E8 0018C080 */ sll $t8, $t8, 2 -/* 056C1C 7F0220EC 01788021 */ addu $s0, $t3, $t8 -/* 056C20 7F0220F0 8E190010 */ lw $t9, 0x10($s0) -/* 056C24 7F0220F4 5320002C */ beql $t9, $zero, .L7F0221A8 -/* 056C28 7F0220F8 8E050004 */ lw $a1, 4($s0) -/* 056C2C 7F0220FC 0C002914 */ jal get_random_value -/* 056C30 7F022100 AFA60058 */ sw $a2, 0x58($sp) -/* 056C34 7F022104 304C0004 */ andi $t4, $v0, 4 -/* 056C38 7F022108 15800026 */ bnez $t4, .L7F0221A4 -/* 056C3C 7F02210C 8FA60058 */ lw $a2, 0x58($sp) -/* 056C40 7F022110 C4C20000 */ lwc1 $f2, ($a2) -/* 056C44 7F022114 C4CE0004 */ lwc1 $f14, 4($a2) -/* 056C48 7F022118 C4C00008 */ lwc1 $f0, 8($a2) -/* 056C4C 7F02211C 46021102 */ mul.s $f4, $f2, $f2 -/* 056C50 7F022120 AFA60058 */ sw $a2, 0x58($sp) -/* 056C54 7F022124 460E7182 */ mul.s $f6, $f14, $f14 -/* 056C58 7F022128 46062200 */ add.s $f8, $f4, $f6 -/* 056C5C 7F02212C 46000282 */ mul.s $f10, $f0, $f0 -/* 056C60 7F022130 0C007DF8 */ jal sqrtf -/* 056C64 7F022134 46085300 */ add.s $f12, $f10, $f8 -/* 056C68 7F022138 3C014228 */ li $at, 0x42280000 # 42.000000 -/* 056C6C 7F02213C 44818000 */ mtc1 $at, $f16 -/* 056C70 7F022140 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 056C74 7F022144 44812000 */ mtc1 $at, $f4 -/* 056C78 7F022148 46008483 */ div.s $f18, $f16, $f0 -/* 056C7C 7F02214C 8FA60058 */ lw $a2, 0x58($sp) -/* 056C80 7F022150 C4C60000 */ lwc1 $f6, ($a2) -/* 056C84 7F022154 46049080 */ add.s $f2, $f18, $f4 -/* 056C88 7F022158 46023282 */ mul.s $f10, $f6, $f2 -/* 056C8C 7F02215C E7AA003C */ swc1 $f10, 0x3c($sp) -/* 056C90 7F022160 C4C80004 */ lwc1 $f8, 4($a2) -/* 056C94 7F022164 46024402 */ mul.s $f16, $f8, $f2 -/* 056C98 7F022168 E7B00040 */ swc1 $f16, 0x40($sp) -/* 056C9C 7F02216C C4D20008 */ lwc1 $f18, 8($a2) -/* 056CA0 7F022170 46029102 */ mul.s $f4, $f18, $f2 -/* 056CA4 7F022174 0FC1E111 */ jal sub_GAME_7F078444 -/* 056CA8 7F022178 E7A40044 */ swc1 $f4, 0x44($sp) -/* 056CAC 7F02217C 00402025 */ move $a0, $v0 -/* 056CB0 7F022180 0FC1611D */ jal sub_GAME_7F058474 -/* 056CB4 7F022184 27A5003C */ addiu $a1, $sp, 0x3c -/* 056CB8 7F022188 8FAD0050 */ lw $t5, 0x50($sp) -/* 056CBC 7F02218C 27A4003C */ addiu $a0, $sp, 0x3c -/* 056CC0 7F022190 8E050010 */ lw $a1, 0x10($s0) -/* 056CC4 7F022194 8DAE0014 */ lw $t6, 0x14($t5) -/* 056CC8 7F022198 8E060018 */ lw $a2, 0x18($s0) -/* 056CCC 7F02219C 0FC28F87 */ jal sub_GAME_7F0A3E1C -/* 056CD0 7F0221A0 91C70003 */ lbu $a3, 3($t6) -.L7F0221A4: -/* 056CD4 7F0221A4 8E050004 */ lw $a1, 4($s0) -.L7F0221A8: -/* 056CD8 7F0221A8 8FAF0050 */ lw $t7, 0x50($sp) -/* 056CDC 7F0221AC 50A00007 */ beql $a1, $zero, .L7F0221CC -/* 056CE0 7F0221B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 056CE4 7F0221B4 8DF80014 */ lw $t8, 0x14($t7) -/* 056CE8 7F0221B8 8FA4005C */ lw $a0, 0x5c($sp) -/* 056CEC 7F0221BC 8E06000C */ lw $a2, 0xc($s0) -/* 056CF0 7F0221C0 0FC28F87 */ jal sub_GAME_7F0A3E1C -/* 056CF4 7F0221C4 93070003 */ lbu $a3, 3($t8) -/* 056CF8 7F0221C8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0221CC: -/* 056CFC 7F0221CC 8FB00018 */ lw $s0, 0x18($sp) -/* 056D00 7F0221D0 27BD0050 */ addiu $sp, $sp, 0x50 -/* 056D04 7F0221D4 03E00008 */ jr $ra -/* 056D08 7F0221D8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0221DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0221DC -/* 056D0C 7F0221DC 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 056D10 7F0221E0 AFBF0034 */ sw $ra, 0x34($sp) -/* 056D14 7F0221E4 AFB60030 */ sw $s6, 0x30($sp) -/* 056D18 7F0221E8 AFB5002C */ sw $s5, 0x2c($sp) -/* 056D1C 7F0221EC AFB40028 */ sw $s4, 0x28($sp) -/* 056D20 7F0221F0 AFB30024 */ sw $s3, 0x24($sp) -/* 056D24 7F0221F4 AFB20020 */ sw $s2, 0x20($sp) -/* 056D28 7F0221F8 AFB1001C */ sw $s1, 0x1c($sp) -/* 056D2C 7F0221FC AFB00018 */ sw $s0, 0x18($sp) -/* 056D30 7F022200 AFA500B4 */ sw $a1, 0xb4($sp) -/* 056D34 7F022204 C4E40000 */ lwc1 $f4, ($a3) -/* 056D38 7F022208 3C117FFF */ lui $s1, (0x7FFFFFFF >> 16) # lui $s1, 0x7fff -/* 056D3C 7F02220C 00C09025 */ move $s2, $a2 -/* 056D40 7F022210 4600218D */ trunc.w.s $f6, $f4 -/* 056D44 7F022214 0080B025 */ move $s6, $a0 -/* 056D48 7F022218 0000A025 */ move $s4, $zero -/* 056D4C 7F02221C 0000A825 */ move $s5, $zero -/* 056D50 7F022220 440F3000 */ mfc1 $t7, $f6 -/* 056D54 7F022224 3631FFFF */ ori $s1, (0x7FFFFFFF & 0xFFFF) # ori $s1, $s1, 0xffff -/* 056D58 7F022228 00C08025 */ move $s0, $a2 -/* 056D5C 7F02222C AFAF00A4 */ sw $t7, 0xa4($sp) -/* 056D60 7F022230 C4E80004 */ lwc1 $f8, 4($a3) -/* 056D64 7F022234 4600428D */ trunc.w.s $f10, $f8 -/* 056D68 7F022238 44195000 */ mfc1 $t9, $f10 -/* 056D6C 7F02223C 00000000 */ nop -/* 056D70 7F022240 AFB900A8 */ sw $t9, 0xa8($sp) -/* 056D74 7F022244 C4F00008 */ lwc1 $f16, 8($a3) -/* 056D78 7F022248 4600848D */ trunc.w.s $f18, $f16 -/* 056D7C 7F02224C 440B9000 */ mfc1 $t3, $f18 -/* 056D80 7F022250 10C0005B */ beqz $a2, .L7F0223C0 -/* 056D84 7F022254 AFAB00AC */ sw $t3, 0xac($sp) -/* 056D88 7F022258 96130000 */ lhu $s3, ($s0) -.L7F02225C: -/* 056D8C 7F02225C 24010008 */ li $at, 8 -/* 056D90 7F022260 02C02025 */ move $a0, $s6 -/* 056D94 7F022264 326C00FF */ andi $t4, $s3, 0xff -/* 056D98 7F022268 11810030 */ beq $t4, $at, .L7F02232C -/* 056D9C 7F02226C 01809825 */ move $s3, $t4 -/* 056DA0 7F022270 24010012 */ li $at, 18 -/* 056DA4 7F022274 11810031 */ beq $t4, $at, .L7F02233C -/* 056DA8 7F022278 02C02025 */ move $a0, $s6 -/* 056DAC 7F02227C 24010017 */ li $at, 23 -/* 056DB0 7F022280 11810032 */ beq $t4, $at, .L7F02234C -/* 056DB4 7F022284 02C02025 */ move $a0, $s6 -/* 056DB8 7F022288 24010018 */ li $at, 24 -/* 056DBC 7F02228C 15810032 */ bne $t4, $at, .L7F022358 -/* 056DC0 7F022290 8E090014 */ lw $t1, 0x14($s0) -/* 056DC4 7F022294 8E020004 */ lw $v0, 4($s0) -/* 056DC8 7F022298 00003025 */ move $a2, $zero -/* 056DCC 7F02229C 8448000E */ lh $t0, 0xe($v0) -/* 056DD0 7F0222A0 1900002D */ blez $t0, .L7F022358 -/* 056DD4 7F0222A4 00000000 */ nop -/* 056DD8 7F0222A8 8C450010 */ lw $a1, 0x10($v0) -.L7F0222AC: -/* 056DDC 7F0222AC 8FAD00A4 */ lw $t5, 0xa4($sp) -/* 056DE0 7F0222B0 84AE0000 */ lh $t6, ($a1) -/* 056DE4 7F0222B4 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 056DE8 7F0222B8 84B80002 */ lh $t8, 2($a1) -/* 056DEC 7F0222BC 01AE1023 */ subu $v0, $t5, $t6 -/* 056DF0 7F0222C0 00420019 */ multu $v0, $v0 -/* 056DF4 7F0222C4 01F81823 */ subu $v1, $t7, $t8 -/* 056DF8 7F0222C8 8FB900AC */ lw $t9, 0xac($sp) -/* 056DFC 7F0222CC 84AA0004 */ lh $t2, 4($a1) -/* 056E00 7F0222D0 032A2023 */ subu $a0, $t9, $t2 -/* 056E04 7F0222D4 00005812 */ mflo $t3 -/* 056E08 7F0222D8 00000000 */ nop -/* 056E0C 7F0222DC 00000000 */ nop -/* 056E10 7F0222E0 00630019 */ multu $v1, $v1 -/* 056E14 7F0222E4 00006012 */ mflo $t4 -/* 056E18 7F0222E8 016C6821 */ addu $t5, $t3, $t4 -/* 056E1C 7F0222EC 00000000 */ nop -/* 056E20 7F0222F0 00840019 */ multu $a0, $a0 -/* 056E24 7F0222F4 00007012 */ mflo $t6 -/* 056E28 7F0222F8 01AE3821 */ addu $a3, $t5, $t6 -/* 056E2C 7F0222FC 00F1082A */ slt $at, $a3, $s1 -/* 056E30 7F022300 50200005 */ beql $at, $zero, .L7F022318 -/* 056E34 7F022304 24C60001 */ addiu $a2, $a2, 1 -/* 056E38 7F022308 00E08825 */ move $s1, $a3 -/* 056E3C 7F02230C 0200A025 */ move $s4, $s0 -/* 056E40 7F022310 00C0A825 */ move $s5, $a2 -/* 056E44 7F022314 24C60001 */ addiu $a2, $a2, 1 -.L7F022318: -/* 056E48 7F022318 00C8082A */ slt $at, $a2, $t0 -/* 056E4C 7F02231C 1420FFE3 */ bnez $at, .L7F0222AC -/* 056E50 7F022320 24A50010 */ addiu $a1, $a1, 0x10 -/* 056E54 7F022324 1000000C */ b .L7F022358 -/* 056E58 7F022328 00000000 */ nop -.L7F02232C: -/* 056E5C 7F02232C 0FC1BA5C */ jal sub_GAME_7F06E970 -/* 056E60 7F022330 02002825 */ move $a1, $s0 -/* 056E64 7F022334 10000008 */ b .L7F022358 -/* 056E68 7F022338 8E090014 */ lw $t1, 0x14($s0) -.L7F02233C: -/* 056E6C 7F02233C 0FC1BA6F */ jal process_12_handle_switch -/* 056E70 7F022340 02002825 */ move $a1, $s0 -/* 056E74 7F022344 10000004 */ b .L7F022358 -/* 056E78 7F022348 8E090014 */ lw $t1, 0x14($s0) -.L7F02234C: -/* 056E7C 7F02234C 0FC1BA82 */ jal process_17_pointer_to_head -/* 056E80 7F022350 02002825 */ move $a1, $s0 -/* 056E84 7F022354 8E090014 */ lw $t1, 0x14($s0) -.L7F022358: -/* 056E88 7F022358 11200009 */ beqz $t1, .L7F022380 -/* 056E8C 7F02235C 00000000 */ nop -/* 056E90 7F022360 12120005 */ beq $s0, $s2, .L7F022378 -/* 056E94 7F022364 2401000A */ li $at, 10 -/* 056E98 7F022368 12610005 */ beq $s3, $at, .L7F022380 -/* 056E9C 7F02236C 24010011 */ li $at, 17 -/* 056EA0 7F022370 12610003 */ beq $s3, $at, .L7F022380 -/* 056EA4 7F022374 00000000 */ nop -.L7F022378: -/* 056EA8 7F022378 1000000F */ b .L7F0223B8 -/* 056EAC 7F02237C 01208025 */ move $s0, $t1 -.L7F022380: -/* 056EB0 7F022380 1200000D */ beqz $s0, .L7F0223B8 -/* 056EB4 7F022384 00000000 */ nop -.L7F022388: -/* 056EB8 7F022388 56120004 */ bnel $s0, $s2, .L7F02239C -/* 056EBC 7F02238C 8E02000C */ lw $v0, 0xc($s0) -/* 056EC0 7F022390 10000009 */ b .L7F0223B8 -/* 056EC4 7F022394 00008025 */ move $s0, $zero -/* 056EC8 7F022398 8E02000C */ lw $v0, 0xc($s0) -.L7F02239C: -/* 056ECC 7F02239C 50400004 */ beql $v0, $zero, .L7F0223B0 -/* 056ED0 7F0223A0 8E100008 */ lw $s0, 8($s0) -/* 056ED4 7F0223A4 10000004 */ b .L7F0223B8 -/* 056ED8 7F0223A8 00408025 */ move $s0, $v0 -/* 056EDC 7F0223AC 8E100008 */ lw $s0, 8($s0) -.L7F0223B0: -/* 056EE0 7F0223B0 1600FFF5 */ bnez $s0, .L7F022388 -/* 056EE4 7F0223B4 00000000 */ nop -.L7F0223B8: -/* 056EE8 7F0223B8 5600FFA8 */ bnezl $s0, .L7F02225C -/* 056EEC 7F0223BC 96130000 */ lhu $s3, ($s0) -.L7F0223C0: -/* 056EF0 7F0223C0 12800097 */ beqz $s4, .L7F022620 -/* 056EF4 7F0223C4 02C02025 */ move $a0, $s6 -/* 056EF8 7F0223C8 8E900004 */ lw $s0, 4($s4) -/* 056EFC 7F0223CC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 056F00 7F0223D0 02802825 */ move $a1, $s4 -/* 056F04 7F0223D4 0040A025 */ move $s4, $v0 -/* 056F08 7F0223D8 00008825 */ move $s1, $zero -/* 056F0C 7F0223DC 00009825 */ move $s3, $zero -/* 056F10 7F0223E0 0C002914 */ jal get_random_value -/* 056F14 7F0223E4 AFA00060 */ sw $zero, 0x60($sp) -/* 056F18 7F0223E8 24010032 */ li $at, 50 -/* 056F1C 7F0223EC 0041001B */ divu $zero, $v0, $at -/* 056F20 7F0223F0 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 056F24 7F0223F4 00001810 */ mfhi $v1 -/* 056F28 7F0223F8 24630014 */ addiu $v1, $v1, 0x14 -/* 056F2C 7F0223FC 24010008 */ li $at, 8 -/* 056F30 7F022400 15E10002 */ bne $t7, $at, .L7F02240C -/* 056F34 7F022404 00609025 */ move $s2, $v1 -/* 056F38 7F022408 24720064 */ addiu $s2, $v1, 0x64 -.L7F02240C: -/* 056F3C 7F02240C 8FB800B4 */ lw $t8, 0xb4($sp) -/* 056F40 7F022410 2401000F */ li $at, 15 -/* 056F44 7F022414 02C02025 */ move $a0, $s6 -/* 056F48 7F022418 57010003 */ bnel $t8, $at, .L7F022428 -/* 056F4C 7F02241C 8E190010 */ lw $t9, 0x10($s0) -/* 056F50 7F022420 26520032 */ addiu $s2, $s2, 0x32 -/* 056F54 7F022424 8E190010 */ lw $t9, 0x10($s0) -.L7F022428: -/* 056F58 7F022428 00154100 */ sll $t0, $s5, 4 -/* 056F5C 7F02242C 03285021 */ addu $t2, $t9, $t0 -/* 056F60 7F022430 8D420008 */ lw $v0, 8($t2) -/* 056F64 7F022434 1040000A */ beqz $v0, .L7F022460 -/* 056F68 7F022438 00402825 */ move $a1, $v0 -/* 056F6C 7F02243C 8C510004 */ lw $s1, 4($v0) -/* 056F70 7F022440 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 056F74 7F022444 AFA8003C */ sw $t0, 0x3c($sp) -/* 056F78 7F022448 8FA8003C */ lw $t0, 0x3c($sp) -/* 056F7C 7F02244C 8E0B0010 */ lw $t3, 0x10($s0) -/* 056F80 7F022450 00409825 */ move $s3, $v0 -/* 056F84 7F022454 01686021 */ addu $t4, $t3, $t0 -/* 056F88 7F022458 858D000C */ lh $t5, 0xc($t4) -/* 056F8C 7F02245C AFAD0060 */ sw $t5, 0x60($sp) -.L7F022460: -/* 056F90 7F022460 8E0E0008 */ lw $t6, 8($s0) -/* 056F94 7F022464 8E8F0000 */ lw $t7, ($s4) -/* 056F98 7F022468 3405CCCC */ li $a1, 52428 -/* 056F9C 7F02246C 00003025 */ move $a2, $zero -/* 056FA0 7F022470 15CF001D */ bne $t6, $t7, .L7F0224E8 -/* 056FA4 7F022474 00003825 */ move $a3, $zero -/* 056FA8 7F022478 8604000C */ lh $a0, 0xc($s0) -/* 056FAC 7F02247C 0FC26F93 */ jal sub_GAME_7F09BE4C -/* 056FB0 7F022480 AFA8003C */ sw $t0, 0x3c($sp) -/* 056FB4 7F022484 10400018 */ beqz $v0, .L7F0224E8 -/* 056FB8 7F022488 8FA8003C */ lw $t0, 0x3c($sp) -/* 056FBC 7F02248C AE820000 */ sw $v0, ($s4) -/* 056FC0 7F022490 8618000C */ lh $t8, 0xc($s0) -/* 056FC4 7F022494 00001825 */ move $v1, $zero -/* 056FC8 7F022498 00002025 */ move $a0, $zero -/* 056FCC 7F02249C 1B000012 */ blez $t8, .L7F0224E8 -/* 056FD0 7F0224A0 00402825 */ move $a1, $v0 -/* 056FD4 7F0224A4 8E190008 */ lw $t9, 8($s0) -.L7F0224A8: -/* 056FD8 7F0224A8 24630001 */ addiu $v1, $v1, 1 -/* 056FDC 7F0224AC 24A50010 */ addiu $a1, $a1, 0x10 -/* 056FE0 7F0224B0 03245021 */ addu $t2, $t9, $a0 -/* 056FE4 7F0224B4 8D410000 */ lw $at, ($t2) -/* 056FE8 7F0224B8 24840010 */ addiu $a0, $a0, 0x10 -/* 056FEC 7F0224BC ACA1FFF0 */ sw $at, -0x10($a1) -/* 056FF0 7F0224C0 8D4C0004 */ lw $t4, 4($t2) -/* 056FF4 7F0224C4 ACACFFF4 */ sw $t4, -0xc($a1) -/* 056FF8 7F0224C8 8D410008 */ lw $at, 8($t2) -/* 056FFC 7F0224CC ACA1FFF8 */ sw $at, -8($a1) -/* 057000 7F0224D0 8D4C000C */ lw $t4, 0xc($t2) -/* 057004 7F0224D4 ACACFFFC */ sw $t4, -4($a1) -/* 057008 7F0224D8 860D000C */ lh $t5, 0xc($s0) -/* 05700C 7F0224DC 006D082A */ slt $at, $v1, $t5 -/* 057010 7F0224E0 5420FFF1 */ bnezl $at, .L7F0224A8 -/* 057014 7F0224E4 8E190008 */ lw $t9, 8($s0) -.L7F0224E8: -/* 057018 7F0224E8 52600024 */ beql $s3, $zero, .L7F02257C -/* 05701C 7F0224EC 8E0E0008 */ lw $t6, 8($s0) -/* 057020 7F0224F0 8E2E0008 */ lw $t6, 8($s1) -/* 057024 7F0224F4 8E6F0000 */ lw $t7, ($s3) -/* 057028 7F0224F8 3405CCCC */ li $a1, 52428 -/* 05702C 7F0224FC 00003025 */ move $a2, $zero -/* 057030 7F022500 15CF001D */ bne $t6, $t7, .L7F022578 -/* 057034 7F022504 00003825 */ move $a3, $zero -/* 057038 7F022508 8624000C */ lh $a0, 0xc($s1) -/* 05703C 7F02250C 0FC26F93 */ jal sub_GAME_7F09BE4C -/* 057040 7F022510 AFA8003C */ sw $t0, 0x3c($sp) -/* 057044 7F022514 10400018 */ beqz $v0, .L7F022578 -/* 057048 7F022518 8FA8003C */ lw $t0, 0x3c($sp) -/* 05704C 7F02251C AE620000 */ sw $v0, ($s3) -/* 057050 7F022520 8638000C */ lh $t8, 0xc($s1) -/* 057054 7F022524 00001825 */ move $v1, $zero -/* 057058 7F022528 00002025 */ move $a0, $zero -/* 05705C 7F02252C 1B000012 */ blez $t8, .L7F022578 -/* 057060 7F022530 00402825 */ move $a1, $v0 -/* 057064 7F022534 8E390008 */ lw $t9, 8($s1) -.L7F022538: -/* 057068 7F022538 24630001 */ addiu $v1, $v1, 1 -/* 05706C 7F02253C 24A50010 */ addiu $a1, $a1, 0x10 -/* 057070 7F022540 03245821 */ addu $t3, $t9, $a0 -/* 057074 7F022544 8D610000 */ lw $at, ($t3) -/* 057078 7F022548 24840010 */ addiu $a0, $a0, 0x10 -/* 05707C 7F02254C ACA1FFF0 */ sw $at, -0x10($a1) -/* 057080 7F022550 8D6C0004 */ lw $t4, 4($t3) -/* 057084 7F022554 ACACFFF4 */ sw $t4, -0xc($a1) -/* 057088 7F022558 8D610008 */ lw $at, 8($t3) -/* 05708C 7F02255C ACA1FFF8 */ sw $at, -8($a1) -/* 057090 7F022560 8D6C000C */ lw $t4, 0xc($t3) -/* 057094 7F022564 ACACFFFC */ sw $t4, -4($a1) -/* 057098 7F022568 862D000C */ lh $t5, 0xc($s1) -/* 05709C 7F02256C 006D082A */ slt $at, $v1, $t5 -/* 0570A0 7F022570 5420FFF1 */ bnezl $at, .L7F022538 -/* 0570A4 7F022574 8E390008 */ lw $t9, 8($s1) -.L7F022578: -/* 0570A8 7F022578 8E0E0008 */ lw $t6, 8($s0) -.L7F02257C: -/* 0570AC 7F02257C 8E8F0000 */ lw $t7, ($s4) -/* 0570B0 7F022580 11CF0010 */ beq $t6, $t7, .L7F0225C4 -/* 0570B4 7F022584 00000000 */ nop -/* 0570B8 7F022588 8E180010 */ lw $t8, 0x10($s0) -/* 0570BC 7F02258C 0308C821 */ addu $t9, $t8, $t0 -/* 0570C0 7F022590 87220006 */ lh $v0, 6($t9) -/* 0570C4 7F022594 0440000B */ bltz $v0, .L7F0225C4 -/* 0570C8 7F022598 00000000 */ nop -/* 0570CC 7F02259C 8E8A0000 */ lw $t2, ($s4) -.L7F0225A0: -/* 0570D0 7F0225A0 00025900 */ sll $t3, $v0, 4 -/* 0570D4 7F0225A4 00027040 */ sll $t6, $v0, 1 -/* 0570D8 7F0225A8 014B6021 */ addu $t4, $t2, $t3 -/* 0570DC 7F0225AC A192000F */ sb $s2, 0xf($t4) -/* 0570E0 7F0225B0 8E0D0014 */ lw $t5, 0x14($s0) -/* 0570E4 7F0225B4 01AE7821 */ addu $t7, $t5, $t6 -/* 0570E8 7F0225B8 85E20000 */ lh $v0, ($t7) -/* 0570EC 7F0225BC 0443FFF8 */ bgezl $v0, .L7F0225A0 -/* 0570F0 7F0225C0 8E8A0000 */ lw $t2, ($s4) -.L7F0225C4: -/* 0570F4 7F0225C4 52600017 */ beql $s3, $zero, .L7F022624 -/* 0570F8 7F0225C8 8FBF0034 */ lw $ra, 0x34($sp) -/* 0570FC 7F0225CC 8E380008 */ lw $t8, 8($s1) -/* 057100 7F0225D0 8E790000 */ lw $t9, ($s3) -/* 057104 7F0225D4 8FAB0060 */ lw $t3, 0x60($sp) -/* 057108 7F0225D8 53190012 */ beql $t8, $t9, .L7F022624 -/* 05710C 7F0225DC 8FBF0034 */ lw $ra, 0x34($sp) -/* 057110 7F0225E0 8E2A0010 */ lw $t2, 0x10($s1) -/* 057114 7F0225E4 000B6100 */ sll $t4, $t3, 4 -/* 057118 7F0225E8 014C6821 */ addu $t5, $t2, $t4 -/* 05711C 7F0225EC 85A20006 */ lh $v0, 6($t5) -/* 057120 7F0225F0 0442000C */ bltzl $v0, .L7F022624 -/* 057124 7F0225F4 8FBF0034 */ lw $ra, 0x34($sp) -/* 057128 7F0225F8 8E6E0000 */ lw $t6, ($s3) -.L7F0225FC: -/* 05712C 7F0225FC 00027900 */ sll $t7, $v0, 4 -/* 057130 7F022600 00025840 */ sll $t3, $v0, 1 -/* 057134 7F022604 01CFC021 */ addu $t8, $t6, $t7 -/* 057138 7F022608 A312000F */ sb $s2, 0xf($t8) -/* 05713C 7F02260C 8E390014 */ lw $t9, 0x14($s1) -/* 057140 7F022610 032B5021 */ addu $t2, $t9, $t3 -/* 057144 7F022614 85420000 */ lh $v0, ($t2) -/* 057148 7F022618 0443FFF8 */ bgezl $v0, .L7F0225FC -/* 05714C 7F02261C 8E6E0000 */ lw $t6, ($s3) -.L7F022620: -/* 057150 7F022620 8FBF0034 */ lw $ra, 0x34($sp) -.L7F022624: -/* 057154 7F022624 8FB00018 */ lw $s0, 0x18($sp) -/* 057158 7F022628 8FB1001C */ lw $s1, 0x1c($sp) -/* 05715C 7F02262C 8FB20020 */ lw $s2, 0x20($sp) -/* 057160 7F022630 8FB30024 */ lw $s3, 0x24($sp) -/* 057164 7F022634 8FB40028 */ lw $s4, 0x28($sp) -/* 057168 7F022638 8FB5002C */ lw $s5, 0x2c($sp) -/* 05716C 7F02263C 8FB60030 */ lw $s6, 0x30($sp) -/* 057170 7F022640 03E00008 */ jr $ra -/* 057174 7F022644 27BD00B0 */ addiu $sp, $sp, 0xb0 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F022648(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F022648 -/* 057178 7F022648 27BDFF10 */ addiu $sp, $sp, -0xf0 -/* 05717C 7F02264C AFBF0044 */ sw $ra, 0x44($sp) -/* 057180 7F022650 AFB20040 */ sw $s2, 0x40($sp) -/* 057184 7F022654 AFB1003C */ sw $s1, 0x3c($sp) -/* 057188 7F022658 AFB00038 */ sw $s0, 0x38($sp) -/* 05718C 7F02265C AFA400F0 */ sw $a0, 0xf0($sp) -/* 057190 7F022660 8C820004 */ lw $v0, 4($a0) -/* 057194 7F022664 24010005 */ li $at, 5 -/* 057198 7F022668 00A09025 */ move $s2, $a1 -/* 05719C 7F02266C 804F0007 */ lb $t7, 7($v0) -/* 0571A0 7F022670 51E100BE */ beql $t7, $at, .L7F02296C -/* 0571A4 7F022674 8FBF0044 */ lw $ra, 0x44($sp) -/* 0571A8 7F022678 8C50001C */ lw $s0, 0x1c($v0) -/* 0571AC 7F02267C AFA200EC */ sw $v0, 0xec($sp) -/* 0571B0 7F022680 0FC1B403 */ jal getinstsize -/* 0571B4 7F022684 02002025 */ move $a0, $s0 -/* 0571B8 7F022688 8FA200F0 */ lw $v0, 0xf0($sp) -/* 0571BC 7F02268C E7A000E4 */ swc1 $f0, 0xe4($sp) -/* 0571C0 7F022690 90580001 */ lbu $t8, 1($v0) -/* 0571C4 7F022694 33190002 */ andi $t9, $t8, 2 -/* 0571C8 7F022698 532000B4 */ beql $t9, $zero, .L7F02296C -/* 0571CC 7F02269C 8FBF0044 */ lw $ra, 0x44($sp) -/* 0571D0 7F0226A0 C4440018 */ lwc1 $f4, 0x18($v0) -/* 0571D4 7F0226A4 C6480034 */ lwc1 $f8, 0x34($s2) -/* 0571D8 7F0226A8 00008825 */ move $s1, $zero -/* 0571DC 7F0226AC 46002181 */ sub.s $f6, $f4, $f0 -/* 0571E0 7F0226B0 02002025 */ move $a0, $s0 -/* 0571E4 7F0226B4 4608303C */ c.lt.s $f6, $f8 -/* 0571E8 7F0226B8 00000000 */ nop -/* 0571EC 7F0226BC 450200AB */ bc1fl .L7F02296C -/* 0571F0 7F0226C0 8FBF0044 */ lw $ra, 0x44($sp) -/* 0571F4 7F0226C4 AFA000DC */ sw $zero, 0xdc($sp) -/* 0571F8 7F0226C8 AFA000D8 */ sw $zero, 0xd8($sp) -/* 0571FC 7F0226CC AFA000D4 */ sw $zero, 0xd4($sp) -/* 057200 7F0226D0 0FC1B1A8 */ jal getsubmatrix -/* 057204 7F0226D4 AFA0009C */ sw $zero, 0x9c($sp) -/* 057208 7F0226D8 44806000 */ mtc1 $zero, $f12 -/* 05720C 7F0226DC AFA20098 */ sw $v0, 0x98($sp) -/* 057210 7F0226E0 00002825 */ move $a1, $zero -/* 057214 7F0226E4 8FA600EC */ lw $a2, 0xec($sp) -.L7F0226E8: -/* 057218 7F0226E8 8CC30160 */ lw $v1, 0x160($a2) -/* 05721C 7F0226EC 50600012 */ beql $v1, $zero, .L7F022738 -/* 057220 7F0226F0 24A50004 */ addiu $a1, $a1, 4 -/* 057224 7F0226F4 8C620004 */ lw $v0, 4($v1) -/* 057228 7F0226F8 8C440014 */ lw $a0, 0x14($v0) -/* 05722C 7F0226FC E7AC0094 */ swc1 $f12, 0x94($sp) -/* 057230 7F022700 AFA60050 */ sw $a2, 0x50($sp) -/* 057234 7F022704 0FC1B403 */ jal getinstsize -/* 057238 7F022708 AFA50054 */ sw $a1, 0x54($sp) -/* 05723C 7F02270C C60A0014 */ lwc1 $f10, 0x14($s0) -/* 057240 7F022710 C7AC0094 */ lwc1 $f12, 0x94($sp) -/* 057244 7F022714 8FA50054 */ lw $a1, 0x54($sp) -/* 057248 7F022718 460A0082 */ mul.s $f2, $f0, $f10 -/* 05724C 7F02271C 8FA60050 */ lw $a2, 0x50($sp) -/* 057250 7F022720 4602603C */ c.lt.s $f12, $f2 -/* 057254 7F022724 00000000 */ nop -/* 057258 7F022728 45020003 */ bc1fl .L7F022738 -/* 05725C 7F02272C 24A50004 */ addiu $a1, $a1, 4 -/* 057260 7F022730 46001306 */ mov.s $f12, $f2 -/* 057264 7F022734 24A50004 */ addiu $a1, $a1, 4 -.L7F022738: -/* 057268 7F022738 24010008 */ li $at, 8 -/* 05726C 7F02273C 14A1FFEA */ bne $a1, $at, .L7F0226E8 -/* 057270 7F022740 24C60004 */ addiu $a2, $a2, 4 -/* 057274 7F022744 C7A000E4 */ lwc1 $f0, 0xe4($sp) -/* 057278 7F022748 8FA60098 */ lw $a2, 0x98($sp) -/* 05727C 7F02274C 2650000C */ addiu $s0, $s2, 0xc -/* 057280 7F022750 460C0000 */ add.s $f0, $f0, $f12 -/* 057284 7F022754 02002825 */ move $a1, $s0 -/* 057288 7F022758 02402025 */ move $a0, $s2 -/* 05728C 7F02275C 24C60030 */ addiu $a2, $a2, 0x30 -/* 057290 7F022760 44070000 */ mfc1 $a3, $f0 -/* 057294 7F022764 0FC1041D */ jal sub_GAME_7F041074 -/* 057298 7F022768 00000000 */ nop -/* 05729C 7F02276C 10400003 */ beqz $v0, .L7F02277C -/* 0572A0 7F022770 24080001 */ li $t0, 1 -/* 0572A4 7F022774 AFA800D4 */ sw $t0, 0xd4($sp) -/* 0572A8 7F022778 24110001 */ li $s1, 1 -.L7F02277C: -/* 0572AC 7F02277C 12200028 */ beqz $s1, .L7F022820 -/* 0572B0 7F022780 8FA900EC */ lw $t1, 0xec($sp) -/* 0572B4 7F022784 8D2A0020 */ lw $t2, 0x20($t1) -/* 0572B8 7F022788 27AB00D8 */ addiu $t3, $sp, 0xd8 -/* 0572BC 7F02278C AFAB0010 */ sw $t3, 0x10($sp) -/* 0572C0 7F022790 27A40080 */ addiu $a0, $sp, 0x80 -/* 0572C4 7F022794 02402825 */ move $a1, $s2 -/* 0572C8 7F022798 02003025 */ move $a2, $s0 -/* 0572CC 7F02279C 27A700DC */ addiu $a3, $sp, 0xdc -/* 0572D0 7F0227A0 0FC1B004 */ jal sub_GAME_7F06C010 -/* 0572D4 7F0227A4 AFAA0080 */ sw $t2, 0x80($sp) -/* 0572D8 7F0227A8 24010064 */ li $at, 100 -/* 0572DC 7F0227AC 10410003 */ beq $v0, $at, .L7F0227BC -/* 0572E0 7F0227B0 00408825 */ move $s1, $v0 -/* 0572E4 7F0227B4 2401006E */ li $at, 110 -/* 0572E8 7F0227B8 14410019 */ bne $v0, $at, .L7F022820 -.L7F0227BC: -/* 0572EC 7F0227BC 27AC00A4 */ addiu $t4, $sp, 0xa4 -.L7F0227C0: -/* 0572F0 7F0227C0 27AD00A0 */ addiu $t5, $sp, 0xa0 -/* 0572F4 7F0227C4 27AE009C */ addiu $t6, $sp, 0x9c -/* 0572F8 7F0227C8 AFAE0018 */ sw $t6, 0x18($sp) -/* 0572FC 7F0227CC AFAD0014 */ sw $t5, 0x14($sp) -/* 057300 7F0227D0 AFAC0010 */ sw $t4, 0x10($sp) -/* 057304 7F0227D4 8FA400DC */ lw $a0, 0xdc($sp) -/* 057308 7F0227D8 8FA500D8 */ lw $a1, 0xd8($sp) -/* 05730C 7F0227DC 02403025 */ move $a2, $s2 -/* 057310 7F0227E0 0FC1366C */ jal sub_GAME_7F04D9B0 -/* 057314 7F0227E4 02003825 */ move $a3, $s0 -/* 057318 7F0227E8 1440000D */ bnez $v0, .L7F022820 -/* 05731C 7F0227EC 27A40080 */ addiu $a0, $sp, 0x80 -/* 057320 7F0227F0 27AF00D8 */ addiu $t7, $sp, 0xd8 -/* 057324 7F0227F4 AFAF0010 */ sw $t7, 0x10($sp) -/* 057328 7F0227F8 02402825 */ move $a1, $s2 -/* 05732C 7F0227FC 02003025 */ move $a2, $s0 -/* 057330 7F022800 0FC1AF80 */ jal probably_damage_detail_blood_effect_related -/* 057334 7F022804 27A700DC */ addiu $a3, $sp, 0xdc -/* 057338 7F022808 24010064 */ li $at, 100 -/* 05733C 7F02280C 1041FFEB */ beq $v0, $at, .L7F0227BC -/* 057340 7F022810 00408825 */ move $s1, $v0 -/* 057344 7F022814 2401006E */ li $at, 110 -/* 057348 7F022818 5041FFE9 */ beql $v0, $at, .L7F0227C0 -/* 05734C 7F02281C 27AC00A4 */ addiu $t4, $sp, 0xa4 -.L7F022820: -/* 057350 7F022820 5A200041 */ blezl $s1, .L7F022928 -/* 057354 7F022824 8FAC00D4 */ lw $t4, 0xd4($sp) -/* 057358 7F022828 C650000C */ lwc1 $f16, 0xc($s2) -/* 05735C 7F02282C E7B00074 */ swc1 $f16, 0x74($sp) -/* 057360 7F022830 C6520010 */ lwc1 $f18, 0x10($s2) -/* 057364 7F022834 E7B20078 */ swc1 $f18, 0x78($sp) -/* 057368 7F022838 C6440014 */ lwc1 $f4, 0x14($s2) -/* 05736C 7F02283C 0FC1E111 */ jal sub_GAME_7F078444 -/* 057370 7F022840 E7A4007C */ swc1 $f4, 0x7c($sp) -/* 057374 7F022844 00402025 */ move $a0, $v0 -/* 057378 7F022848 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 05737C 7F02284C 27A50074 */ addiu $a1, $sp, 0x74 -/* 057380 7F022850 8FA400DC */ lw $a0, 0xdc($sp) -/* 057384 7F022854 8FA500D8 */ lw $a1, 0xd8($sp) -/* 057388 7F022858 0FC1B198 */ jal sub_GAME_7F06C660 -/* 05738C 7F02285C 00003025 */ move $a2, $zero -/* 057390 7F022860 C4460030 */ lwc1 $f6, 0x30($v0) -/* 057394 7F022864 C6480000 */ lwc1 $f8, ($s2) -/* 057398 7F022868 46083281 */ sub.s $f10, $f6, $f8 -/* 05739C 7F02286C E7AA0060 */ swc1 $f10, 0x60($sp) -/* 0573A0 7F022870 C6520004 */ lwc1 $f18, 4($s2) -/* 0573A4 7F022874 C4500034 */ lwc1 $f16, 0x34($v0) -/* 0573A8 7F022878 46128101 */ sub.s $f4, $f16, $f18 -/* 0573AC 7F02287C C7B00060 */ lwc1 $f16, 0x60($sp) -/* 0573B0 7F022880 E7A40064 */ swc1 $f4, 0x64($sp) -/* 0573B4 7F022884 C6480008 */ lwc1 $f8, 8($s2) -/* 0573B8 7F022888 C4460038 */ lwc1 $f6, 0x38($v0) -/* 0573BC 7F02288C 46108482 */ mul.s $f18, $f16, $f16 -/* 0573C0 7F022890 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 0573C4 7F022894 46083281 */ sub.s $f10, $f6, $f8 -/* 0573C8 7F022898 46042182 */ mul.s $f6, $f4, $f4 -/* 0573CC 7F02289C E7AA0068 */ swc1 $f10, 0x68($sp) -/* 0573D0 7F0228A0 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 0573D4 7F0228A4 460A5402 */ mul.s $f16, $f10, $f10 -/* 0573D8 7F0228A8 46069200 */ add.s $f8, $f18, $f6 -/* 0573DC 7F0228AC 0C007DF8 */ jal sqrtf -/* 0573E0 7F0228B0 46088300 */ add.s $f12, $f16, $f8 -/* 0573E4 7F0228B4 C6440014 */ lwc1 $f4, 0x14($s2) -/* 0573E8 7F0228B8 C6460008 */ lwc1 $f6, 8($s2) -/* 0573EC 7F0228BC C64A0034 */ lwc1 $f10, 0x34($s2) -/* 0573F0 7F0228C0 46002482 */ mul.s $f18, $f4, $f0 -/* 0573F4 7F0228C4 02402025 */ move $a0, $s2 -/* 0573F8 7F0228C8 8FA500F0 */ lw $a1, 0xf0($sp) -/* 0573FC 7F0228CC 02203825 */ move $a3, $s1 -/* 057400 7F0228D0 8FB800D8 */ lw $t8, 0xd8($sp) -/* 057404 7F0228D4 27B900A4 */ addiu $t9, $sp, 0xa4 -/* 057408 7F0228D8 240B0001 */ li $t3, 1 -/* 05740C 7F0228DC 46069080 */ add.s $f2, $f18, $f6 -/* 057410 7F0228E0 46001087 */ neg.s $f2, $f2 -/* 057414 7F0228E4 460A103C */ c.lt.s $f2, $f10 -/* 057418 7F0228E8 00000000 */ nop -/* 05741C 7F0228EC 4502000E */ bc1fl .L7F022928 -/* 057420 7F0228F0 8FAC00D4 */ lw $t4, 0xd4($sp) -/* 057424 7F0228F4 8FA800A0 */ lw $t0, 0xa0($sp) -/* 057428 7F0228F8 8FA9009C */ lw $t1, 0x9c($sp) -/* 05742C 7F0228FC 8FAA00DC */ lw $t2, 0xdc($sp) -/* 057430 7F022900 44061000 */ mfc1 $a2, $f2 -/* 057434 7F022904 AFB80010 */ sw $t8, 0x10($sp) -/* 057438 7F022908 AFB90014 */ sw $t9, 0x14($sp) -/* 05743C 7F02290C AFAB0024 */ sw $t3, 0x24($sp) -/* 057440 7F022910 AFA00028 */ sw $zero, 0x28($sp) -/* 057444 7F022914 AFA80018 */ sw $t0, 0x18($sp) -/* 057448 7F022918 AFA9001C */ sw $t1, 0x1c($sp) -/* 05744C 7F02291C 0FC0EE70 */ jal sub_GAME_7F03B9C0 -/* 057450 7F022920 AFAA0020 */ sw $t2, 0x20($sp) -/* 057454 7F022924 8FAC00D4 */ lw $t4, 0xd4($sp) -.L7F022928: -/* 057458 7F022928 8FAD00F0 */ lw $t5, 0xf0($sp) -/* 05745C 7F02292C 5180000F */ beql $t4, $zero, .L7F02296C -/* 057460 7F022930 8FBF0044 */ lw $ra, 0x44($sp) -/* 057464 7F022934 C6500034 */ lwc1 $f16, 0x34($s2) -/* 057468 7F022938 C5A80018 */ lwc1 $f8, 0x18($t5) -/* 05746C 7F02293C 8FAE00EC */ lw $t6, 0xec($sp) -/* 057470 7F022940 4610403E */ c.le.s $f8, $f16 -/* 057474 7F022944 00000000 */ nop -/* 057478 7F022948 45020008 */ bc1fl .L7F02296C -/* 05747C 7F02294C 8FBF0044 */ lw $ra, 0x44($sp) -/* 057480 7F022950 8DCF0014 */ lw $t7, 0x14($t6) -/* 057484 7F022954 81D9000A */ lb $t9, 0xa($t6) -/* 057488 7F022958 35F80004 */ ori $t8, $t7, 4 -/* 05748C 7F02295C 27280001 */ addiu $t0, $t9, 1 -/* 057490 7F022960 ADD80014 */ sw $t8, 0x14($t6) -/* 057494 7F022964 A1C8000A */ sb $t0, 0xa($t6) -/* 057498 7F022968 8FBF0044 */ lw $ra, 0x44($sp) -.L7F02296C: -/* 05749C 7F02296C 8FB00038 */ lw $s0, 0x38($sp) -/* 0574A0 7F022970 8FB1003C */ lw $s1, 0x3c($sp) -/* 0574A4 7F022974 8FB20040 */ lw $s2, 0x40($sp) -/* 0574A8 7F022978 03E00008 */ jr $ra -/* 0574AC 7F02297C 27BD00F0 */ addiu $sp, $sp, 0xf0 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F022980(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F022980 -/* 0574B0 7F022980 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 0574B4 7F022984 AFBF004C */ sw $ra, 0x4c($sp) -/* 0574B8 7F022988 AFB60048 */ sw $s6, 0x48($sp) -/* 0574BC 7F02298C AFB50044 */ sw $s5, 0x44($sp) -/* 0574C0 7F022990 AFB40040 */ sw $s4, 0x40($sp) -/* 0574C4 7F022994 AFB3003C */ sw $s3, 0x3c($sp) -/* 0574C8 7F022998 AFB20038 */ sw $s2, 0x38($sp) -/* 0574CC 7F02299C AFB10034 */ sw $s1, 0x34($sp) -/* 0574D0 7F0229A0 AFB00030 */ sw $s0, 0x30($sp) -/* 0574D4 7F0229A4 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0574D8 7F0229A8 C4A40000 */ lwc1 $f4, ($a1) -/* 0574DC 7F0229AC C486000C */ lwc1 $f6, 0xc($a0) -/* 0574E0 7F0229B0 C48A0014 */ lwc1 $f10, 0x14($a0) -/* 0574E4 7F0229B4 C4920000 */ lwc1 $f18, ($a0) -/* 0574E8 7F0229B8 46062202 */ mul.s $f8, $f4, $f6 -/* 0574EC 7F0229BC 8CAE0004 */ lw $t6, 4($a1) -/* 0574F0 7F0229C0 00A08825 */ move $s1, $a1 -/* 0574F4 7F0229C4 0080A025 */ move $s4, $a0 -/* 0574F8 7F0229C8 8DD60004 */ lw $s6, 4($t6) -/* 0574FC 7F0229CC 460A4403 */ div.s $f16, $f8, $f10 -/* 057500 7F0229D0 46109101 */ sub.s $f4, $f18, $f16 -/* 057504 7F0229D4 E7A40098 */ swc1 $f4, 0x98($sp) -/* 057508 7F0229D8 C4A60000 */ lwc1 $f6, ($a1) -/* 05750C 7F0229DC C4880010 */ lwc1 $f8, 0x10($a0) -/* 057510 7F0229E0 C4920014 */ lwc1 $f18, 0x14($a0) -/* 057514 7F0229E4 C4840004 */ lwc1 $f4, 4($a0) -/* 057518 7F0229E8 46083282 */ mul.s $f10, $f6, $f8 -/* 05751C 7F0229EC 46125403 */ div.s $f16, $f10, $f18 -/* 057520 7F0229F0 46102181 */ sub.s $f6, $f4, $f16 -/* 057524 7F0229F4 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 057528 7F0229F8 E7A6009C */ swc1 $f6, 0x9c($sp) -/* 05752C 7F0229FC C4AA0000 */ lwc1 $f10, ($a1) -/* 057530 7F022A00 C4880008 */ lwc1 $f8, 8($a0) -/* 057534 7F022A04 46042402 */ mul.s $f16, $f4, $f4 -/* 057538 7F022A08 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 05753C 7F022A0C 460A4481 */ sub.s $f18, $f8, $f10 -/* 057540 7F022A10 46063202 */ mul.s $f8, $f6, $f6 -/* 057544 7F022A14 E7B200A0 */ swc1 $f18, 0xa0($sp) -/* 057548 7F022A18 C7B200A0 */ lwc1 $f18, 0xa0($sp) -/* 05754C 7F022A1C 46129102 */ mul.s $f4, $f18, $f18 -/* 057550 7F022A20 46088280 */ add.s $f10, $f16, $f8 -/* 057554 7F022A24 0C007DF8 */ jal sqrtf -/* 057558 7F022A28 460A2300 */ add.s $f12, $f4, $f10 -/* 05755C 7F022A2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 057560 7F022A30 44813000 */ mtc1 $at, $f6 -/* 057564 7F022A34 3C014228 */ li $at, 0x42280000 # 42.000000 -/* 057568 7F022A38 44818000 */ mtc1 $at, $f16 -/* 05756C 7F022A3C C7B20098 */ lwc1 $f18, 0x98($sp) -/* 057570 7F022A40 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 057574 7F022A44 46008203 */ div.s $f8, $f16, $f0 -/* 057578 7F022A48 46083081 */ sub.s $f2, $f6, $f8 -/* 05757C 7F022A4C C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 057580 7F022A50 46029102 */ mul.s $f4, $f18, $f2 -/* 057584 7F022A54 00000000 */ nop -/* 057588 7F022A58 46025402 */ mul.s $f16, $f10, $f2 -/* 05758C 7F022A5C 00000000 */ nop -/* 057590 7F022A60 46023202 */ mul.s $f8, $f6, $f2 -/* 057594 7F022A64 E7A400A8 */ swc1 $f4, 0xa8($sp) -/* 057598 7F022A68 E7B000AC */ swc1 $f16, 0xac($sp) -/* 05759C 7F022A6C 0FC1E111 */ jal sub_GAME_7F078444 -/* 0575A0 7F022A70 E7A800B0 */ swc1 $f8, 0xb0($sp) -/* 0575A4 7F022A74 27B000A8 */ addiu $s0, $sp, 0xa8 -/* 0575A8 7F022A78 02002825 */ move $a1, $s0 -/* 0575AC 7F022A7C 0FC1611D */ jal sub_GAME_7F058474 -/* 0575B0 7F022A80 00402025 */ move $a0, $v0 -/* 0575B4 7F022A84 0FC19ED3 */ jal sub_GAME_7F067B4C -/* 0575B8 7F022A88 02002025 */ move $a0, $s0 -/* 0575BC 7F022A8C 8E840018 */ lw $a0, 0x18($s4) -/* 0575C0 7F022A90 8E250004 */ lw $a1, 4($s1) -/* 0575C4 7F022A94 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 0575C8 7F022A98 2406FFFF */ li $a2, -1 -/* 0575CC 7F022A9C 8E240004 */ lw $a0, 4($s1) -/* 0575D0 7F022AA0 8E250008 */ lw $a1, 8($s1) -/* 0575D4 7F022AA4 27A60098 */ addiu $a2, $sp, 0x98 -/* 0575D8 7F022AA8 0FC0881E */ jal sub_GAME_7F022078 -/* 0575DC 7F022AAC 02003825 */ move $a3, $s0 -/* 0575E0 7F022AB0 8E250008 */ lw $a1, 8($s1) -/* 0575E4 7F022AB4 8E870018 */ lw $a3, 0x18($s4) -/* 0575E8 7F022AB8 240F0001 */ li $t7, 1 -/* 0575EC 7F022ABC AFAF0010 */ sw $t7, 0x10($sp) -/* 0575F0 7F022AC0 02C02025 */ move $a0, $s6 -/* 0575F4 7F022AC4 0FC09C9F */ jal handles_shot_actors -/* 0575F8 7F022AC8 26860028 */ addiu $a2, $s4, 0x28 -/* 0575FC 7F022ACC 504000C9 */ beql $v0, $zero, .L7F022DF4 -/* 057600 7F022AD0 8FBF004C */ lw $ra, 0x4c($sp) -/* 057604 7F022AD4 8E220008 */ lw $v0, 8($s1) -/* 057608 7F022AD8 24010064 */ li $at, 100 -/* 05760C 7F022ADC 3C158005 */ lui $s5, %hi(D_8004E86C) -/* 057610 7F022AE0 14410057 */ bne $v0, $at, .L7F022C40 -/* 057614 7F022AE4 26B5E86C */ addiu $s5, %lo(D_8004E86C) # addiu $s5, $s5, -0x1794 -/* 057618 7F022AE8 00009025 */ move $s2, $zero -/* 05761C 7F022AEC 02C09825 */ move $s3, $s6 -.L7F022AF0: -/* 057620 7F022AF0 8E700160 */ lw $s0, 0x160($s3) -/* 057624 7F022AF4 5200004D */ beql $s0, $zero, .L7F022C2C -/* 057628 7F022AF8 26520004 */ addiu $s2, $s2, 4 -/* 05762C 7F022AFC 8E030004 */ lw $v1, 4($s0) -/* 057630 7F022B00 8E380048 */ lw $t8, 0x48($s1) -/* 057634 7F022B04 8C790014 */ lw $t9, 0x14($v1) -/* 057638 7F022B08 57190048 */ bnel $t8, $t9, .L7F022C2C -/* 05763C 7F022B0C 26520004 */ addiu $s2, $s2, 4 -/* 057640 7F022B10 80620080 */ lb $v0, 0x80($v1) -/* 057644 7F022B14 2401001A */ li $at, 26 -/* 057648 7F022B18 02002025 */ move $a0, $s0 -/* 05764C 7F022B1C 1041000D */ beq $v0, $at, .L7F022B54 -/* 057650 7F022B20 24010057 */ li $at, 87 -/* 057654 7F022B24 1041000B */ beq $v0, $at, .L7F022B54 -/* 057658 7F022B28 24010056 */ li $at, 86 -/* 05765C 7F022B2C 10410009 */ beq $v0, $at, .L7F022B54 -/* 057660 7F022B30 2401001B */ li $at, 27 -/* 057664 7F022B34 10410007 */ beq $v0, $at, .L7F022B54 -/* 057668 7F022B38 24010021 */ li $at, 33 -/* 05766C 7F022B3C 10410005 */ beq $v0, $at, .L7F022B54 -/* 057670 7F022B40 2401001D */ li $at, 29 -/* 057674 7F022B44 10410003 */ beq $v0, $at, .L7F022B54 -/* 057678 7F022B48 2401001C */ li $at, 28 -/* 05767C 7F022B4C 54410013 */ bnel $v0, $at, .L7F022B9C -/* 057680 7F022B50 8622003A */ lh $v0, 0x3a($s1) -.L7F022B54: -/* 057684 7F022B54 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 057688 7F022B58 24050001 */ li $a1, 1 -/* 05768C 7F022B5C 96C90012 */ lhu $t1, 0x12($s6) -/* 057690 7F022B60 352A0001 */ ori $t2, $t1, 1 -/* 057694 7F022B64 A6CA0012 */ sh $t2, 0x12($s6) -/* 057698 7F022B68 0FC177E1 */ jal sub_GAME_7F05DF84 -/* 05769C 7F022B6C 8E840018 */ lw $a0, 0x18($s4) -/* 0576A0 7F022B70 0FC26C54 */ jal get_cur_playernum -/* 0576A4 7F022B74 46000506 */ mov.s $f20, $f0 -/* 0576A8 7F022B78 8E040004 */ lw $a0, 4($s0) -/* 0576AC 7F022B7C 4405A000 */ mfc1 $a1, $f20 -/* 0576B0 7F022B80 8E870018 */ lw $a3, 0x18($s4) -/* 0576B4 7F022B84 AFA20010 */ sw $v0, 0x10($sp) -/* 0576B8 7F022B88 0FC13842 */ jal maybe_detonate_object -/* 0576BC 7F022B8C 27A60098 */ addiu $a2, $sp, 0x98 -/* 0576C0 7F022B90 10000026 */ b .L7F022C2C -/* 0576C4 7F022B94 26520004 */ addiu $s2, $s2, 4 -/* 0576C8 7F022B98 8622003A */ lh $v0, 0x3a($s1) -.L7F022B9C: -/* 0576CC 7F022B9C 26240010 */ addiu $a0, $s1, 0x10 -/* 0576D0 7F022BA0 2625001C */ addiu $a1, $s1, 0x1c -/* 0576D4 7F022BA4 04410003 */ bgez $v0, .L7F022BB4 -/* 0576D8 7F022BA8 000258C0 */ sll $t3, $v0, 3 -/* 0576DC 7F022BAC 10000008 */ b .L7F022BD0 -/* 0576E0 7F022BB0 8EA30000 */ lw $v1, ($s5) -.L7F022BB4: -/* 0576E4 7F022BB4 3C0C8005 */ lui $t4, %hi(image_entries) -/* 0576E8 7F022BB8 018B6021 */ addu $t4, $t4, $t3 -/* 0576EC 7F022BBC 918C9300 */ lbu $t4, %lo(image_entries)($t4) -/* 0576F0 7F022BC0 318D000F */ andi $t5, $t4, 0xf -/* 0576F4 7F022BC4 000D7080 */ sll $t6, $t5, 2 -/* 0576F8 7F022BC8 02AE7821 */ addu $t7, $s5, $t6 -/* 0576FC 7F022BCC 8DE30000 */ lw $v1, ($t7) -.L7F022BD0: -/* 057700 7F022BD0 AFA30088 */ sw $v1, 0x88($sp) -/* 057704 7F022BD4 AFA40054 */ sw $a0, 0x54($sp) -/* 057708 7F022BD8 0C002914 */ jal get_random_value -/* 05770C 7F022BDC AFA50050 */ sw $a1, 0x50($sp) -/* 057710 7F022BE0 8FA30088 */ lw $v1, 0x88($sp) -/* 057714 7F022BE4 8FA40054 */ lw $a0, 0x54($sp) -/* 057718 7F022BE8 8FA50050 */ lw $a1, 0x50($sp) -/* 05771C 7F022BEC 8478000A */ lh $t8, 0xa($v1) -/* 057720 7F022BF0 8C790004 */ lw $t9, 4($v1) -/* 057724 7F022BF4 24070001 */ li $a3, 1 -/* 057728 7F022BF8 0058001B */ divu $zero, $v0, $t8 -/* 05772C 7F022BFC 00004010 */ mfhi $t0 -/* 057730 7F022C00 03284821 */ addu $t1, $t9, $t0 -/* 057734 7F022C04 91260000 */ lbu $a2, ($t1) -/* 057738 7F022C08 AFB00010 */ sw $s0, 0x10($sp) -/* 05773C 7F022C0C 8E2A0040 */ lw $t2, 0x40($s1) -/* 057740 7F022C10 17000002 */ bnez $t8, .L7F022C1C -/* 057744 7F022C14 00000000 */ nop -/* 057748 7F022C18 0007000D */ break 7 -.L7F022C1C: -/* 05774C 7F022C1C AFA00018 */ sw $zero, 0x18($sp) -/* 057750 7F022C20 0FC28423 */ jal sub_GAME_7F0A108C -/* 057754 7F022C24 AFAA0014 */ sw $t2, 0x14($sp) -/* 057758 7F022C28 26520004 */ addiu $s2, $s2, 4 -.L7F022C2C: -/* 05775C 7F022C2C 24010008 */ li $at, 8 -/* 057760 7F022C30 1641FFAF */ bne $s2, $at, .L7F022AF0 -/* 057764 7F022C34 26730004 */ addiu $s3, $s3, 4 -/* 057768 7F022C38 1000006E */ b .L7F022DF4 -/* 05776C 7F022C3C 8FBF004C */ lw $ra, 0x4c($sp) -.L7F022C40: -/* 057770 7F022C40 2401006E */ li $at, 110 -/* 057774 7F022C44 14410027 */ bne $v0, $at, .L7F022CE4 -/* 057778 7F022C48 00003025 */ move $a2, $zero -/* 05777C 7F022C4C 8622003A */ lh $v0, 0x3a($s1) -/* 057780 7F022C50 3C158005 */ lui $s5, %hi(D_8004E86C) -/* 057784 7F022C54 3C0C8005 */ lui $t4, %hi(image_entries) -/* 057788 7F022C58 04410004 */ bgez $v0, .L7F022C6C -/* 05778C 7F022C5C 000258C0 */ sll $t3, $v0, 3 -/* 057790 7F022C60 26B5E86C */ addiu $s5, %lo(D_8004E86C) # addiu $s5, $s5, -0x1794 -/* 057794 7F022C64 10000009 */ b .L7F022C8C -/* 057798 7F022C68 8EB00000 */ lw $s0, ($s5) -.L7F022C6C: -/* 05779C 7F022C6C 018B6021 */ addu $t4, $t4, $t3 -/* 0577A0 7F022C70 918C9300 */ lbu $t4, %lo(image_entries)($t4) -/* 0577A4 7F022C74 3C158005 */ lui $s5, %hi(D_8004E86C) -/* 0577A8 7F022C78 26B5E86C */ addiu $s5, %lo(D_8004E86C) # addiu $s5, $s5, -0x1794 -/* 0577AC 7F022C7C 318D000F */ andi $t5, $t4, 0xf -/* 0577B0 7F022C80 000D7080 */ sll $t6, $t5, 2 -/* 0577B4 7F022C84 02AE7821 */ addu $t7, $s5, $t6 -/* 0577B8 7F022C88 8DF00000 */ lw $s0, ($t7) -.L7F022C8C: -/* 0577BC 7F022C8C 0C002914 */ jal get_random_value -/* 0577C0 7F022C90 00000000 */ nop -/* 0577C4 7F022C94 8618000A */ lh $t8, 0xa($s0) -/* 0577C8 7F022C98 8E190004 */ lw $t9, 4($s0) -/* 0577CC 7F022C9C 8ECA01D8 */ lw $t2, 0x1d8($s6) -/* 0577D0 7F022CA0 0058001B */ divu $zero, $v0, $t8 -/* 0577D4 7F022CA4 00001810 */ mfhi $v1 -/* 0577D8 7F022CA8 03234821 */ addu $t1, $t9, $v1 -/* 0577DC 7F022CAC 91260000 */ lbu $a2, ($t1) -/* 0577E0 7F022CB0 AFAA0010 */ sw $t2, 0x10($sp) -/* 0577E4 7F022CB4 8E2B0040 */ lw $t3, 0x40($s1) -/* 0577E8 7F022CB8 17000002 */ bnez $t8, .L7F022CC4 -/* 0577EC 7F022CBC 00000000 */ nop -/* 0577F0 7F022CC0 0007000D */ break 7 -.L7F022CC4: -/* 0577F4 7F022CC4 AFA00018 */ sw $zero, 0x18($sp) -/* 0577F8 7F022CC8 26240010 */ addiu $a0, $s1, 0x10 -/* 0577FC 7F022CCC 2625001C */ addiu $a1, $s1, 0x1c -/* 057800 7F022CD0 24070001 */ li $a3, 1 -/* 057804 7F022CD4 0FC28423 */ jal sub_GAME_7F0A108C -/* 057808 7F022CD8 AFAB0014 */ sw $t3, 0x14($sp) -/* 05780C 7F022CDC 10000045 */ b .L7F022DF4 -/* 057810 7F022CE0 8FBF004C */ lw $ra, 0x4c($sp) -.L7F022CE4: -/* 057814 7F022CE4 8E240048 */ lw $a0, 0x48($s1) -/* 057818 7F022CE8 0FC1B198 */ jal sub_GAME_7F06C660 -/* 05781C 7F022CEC 8E25000C */ lw $a1, 0xc($s1) -/* 057820 7F022CF0 C7B20098 */ lwc1 $f18, 0x98($sp) -/* 057824 7F022CF4 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 057828 7F022CF8 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 05782C 7F022CFC E7B20070 */ swc1 $f18, 0x70($sp) -/* 057830 7F022D00 E7A40074 */ swc1 $f4, 0x74($sp) -/* 057834 7F022D04 E7AA0078 */ swc1 $f10, 0x78($sp) -/* 057838 7F022D08 C4500030 */ lwc1 $f16, 0x30($v0) -/* 05783C 7F022D0C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 057840 7F022D10 4481A000 */ mtc1 $at, $f20 -/* 057844 7F022D14 46109181 */ sub.s $f6, $f18, $f16 -/* 057848 7F022D18 00408025 */ move $s0, $v0 -/* 05784C 7F022D1C 46143202 */ mul.s $f8, $f6, $f20 -/* 057850 7F022D20 46089400 */ add.s $f16, $f18, $f8 -/* 057854 7F022D24 E7B00070 */ swc1 $f16, 0x70($sp) -/* 057858 7F022D28 C4460034 */ lwc1 $f6, 0x34($v0) -/* 05785C 7F022D2C 46062481 */ sub.s $f18, $f4, $f6 -/* 057860 7F022D30 46149202 */ mul.s $f8, $f18, $f20 -/* 057864 7F022D34 46082400 */ add.s $f16, $f4, $f8 -/* 057868 7F022D38 E7B00074 */ swc1 $f16, 0x74($sp) -/* 05786C 7F022D3C C4460038 */ lwc1 $f6, 0x38($v0) -/* 057870 7F022D40 46065481 */ sub.s $f18, $f10, $f6 -/* 057874 7F022D44 46149102 */ mul.s $f4, $f18, $f20 -/* 057878 7F022D48 46045200 */ add.s $f8, $f10, $f4 -/* 05787C 7F022D4C E7A80078 */ swc1 $f8, 0x78($sp) -/* 057880 7F022D50 8E25000C */ lw $a1, 0xc($s1) -/* 057884 7F022D54 0FC1B3A4 */ jal getjointsize -/* 057888 7F022D58 8E240048 */ lw $a0, 0x48($s1) -/* 05788C 7F022D5C 46140402 */ mul.s $f16, $f0, $f20 -/* 057890 7F022D60 C686000C */ lwc1 $f6, 0xc($s4) -/* 057894 7F022D64 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 057898 7F022D68 46068482 */ mul.s $f18, $f16, $f6 -/* 05789C 7F022D6C 46125101 */ sub.s $f4, $f10, $f18 -/* 0578A0 7F022D70 E7A40070 */ swc1 $f4, 0x70($sp) -/* 0578A4 7F022D74 8E25000C */ lw $a1, 0xc($s1) -/* 0578A8 7F022D78 0FC1B3A4 */ jal getjointsize -/* 0578AC 7F022D7C 8E240048 */ lw $a0, 0x48($s1) -/* 0578B0 7F022D80 46140202 */ mul.s $f8, $f0, $f20 -/* 0578B4 7F022D84 C6900010 */ lwc1 $f16, 0x10($s4) -/* 0578B8 7F022D88 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 0578BC 7F022D8C 46104182 */ mul.s $f6, $f8, $f16 -/* 0578C0 7F022D90 46065481 */ sub.s $f18, $f10, $f6 -/* 0578C4 7F022D94 E7B20074 */ swc1 $f18, 0x74($sp) -/* 0578C8 7F022D98 8E25000C */ lw $a1, 0xc($s1) -/* 0578CC 7F022D9C 0FC1B3A4 */ jal getjointsize -/* 0578D0 7F022DA0 8E240048 */ lw $a0, 0x48($s1) -/* 0578D4 7F022DA4 46140102 */ mul.s $f4, $f0, $f20 -/* 0578D8 7F022DA8 C6880014 */ lwc1 $f8, 0x14($s4) -/* 0578DC 7F022DAC C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 0578E0 7F022DB0 27B200B4 */ addiu $s2, $sp, 0xb4 -/* 0578E4 7F022DB4 02402825 */ move $a1, $s2 -/* 0578E8 7F022DB8 02002025 */ move $a0, $s0 -/* 0578EC 7F022DBC 46082402 */ mul.s $f16, $f4, $f8 -/* 0578F0 7F022DC0 46105181 */ sub.s $f6, $f10, $f16 -/* 0578F4 7F022DC4 0FC16799 */ jal sub_GAME_7F059E64 -/* 0578F8 7F022DC8 E7A60078 */ swc1 $f6, 0x78($sp) -/* 0578FC 7F022DCC 27B00070 */ addiu $s0, $sp, 0x70 -/* 057900 7F022DD0 02002825 */ move $a1, $s0 -/* 057904 7F022DD4 0FC1611D */ jal sub_GAME_7F058474 -/* 057908 7F022DD8 02402025 */ move $a0, $s2 -/* 05790C 7F022DDC 8E240048 */ lw $a0, 0x48($s1) -/* 057910 7F022DE0 8E250008 */ lw $a1, 8($s1) -/* 057914 7F022DE4 8E26000C */ lw $a2, 0xc($s1) -/* 057918 7F022DE8 0FC08877 */ jal sub_GAME_7F0221DC -/* 05791C 7F022DEC 02003825 */ move $a3, $s0 -/* 057920 7F022DF0 8FBF004C */ lw $ra, 0x4c($sp) -.L7F022DF4: -/* 057924 7F022DF4 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 057928 7F022DF8 8FB00030 */ lw $s0, 0x30($sp) -/* 05792C 7F022DFC 8FB10034 */ lw $s1, 0x34($sp) -/* 057930 7F022E00 8FB20038 */ lw $s2, 0x38($sp) -/* 057934 7F022E04 8FB3003C */ lw $s3, 0x3c($sp) -/* 057938 7F022E08 8FB40040 */ lw $s4, 0x40($sp) -/* 05793C 7F022E0C 8FB50044 */ lw $s5, 0x44($sp) -/* 057940 7F022E10 8FB60048 */ lw $s6, 0x48($sp) -/* 057944 7F022E14 03E00008 */ jr $ra -/* 057948 7F022E18 27BD00F8 */ addiu $sp, $sp, 0xf8 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F022E1C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F022E1C -/* 05794C 7F022E1C 03E00008 */ jr $ra -/* 057950 7F022E20 E7AC0000 */ swc1 $f12, ($sp) -) -#endif - - - - -void sub_GAME_7F022E24(s32 param_1){ - D_8002C904 = param_1; - return; -} - - - -#ifdef NONMATCHING -void sub_GAME_7F022E30(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F022E30 -/* 057960 7F022E30 3C038003 */ lui $v1, %hi(D_8002C908) -/* 057964 7F022E34 2463C908 */ addiu $v1, %lo(D_8002C908) # addiu $v1, $v1, -0x36f8 -/* 057968 7F022E38 8C6E0000 */ lw $t6, ($v1) -/* 05796C 7F022E3C 3C048003 */ lui $a0, %hi(animation_table_ptrs1) -/* 057970 7F022E40 24849D6C */ addiu $a0, %lo(animation_table_ptrs1) # addiu $a0, $a0, -0x6294 -/* 057974 7F022E44 25CFFFFF */ addiu $t7, $t6, -1 -/* 057978 7F022E48 05E1000F */ bgez $t7, .L7F022E88 -/* 05797C 7F022E4C AC6F0000 */ sw $t7, ($v1) -/* 057980 7F022E50 0000C880 */ sll $t9, $zero, 2 -/* 057984 7F022E54 00994021 */ addu $t0, $a0, $t9 -/* 057988 7F022E58 8D090004 */ lw $t1, 4($t0) -/* 05798C 7F022E5C AC600000 */ sw $zero, ($v1) -/* 057990 7F022E60 00001025 */ move $v0, $zero -/* 057994 7F022E64 11200008 */ beqz $t1, .L7F022E88 -/* 057998 7F022E68 244A0001 */ addiu $t2, $v0, 1 -.L7F022E6C: -/* 05799C 7F022E6C 000A5880 */ sll $t3, $t2, 2 -/* 0579A0 7F022E70 008B6021 */ addu $t4, $a0, $t3 -/* 0579A4 7F022E74 8D8D0004 */ lw $t5, 4($t4) -/* 0579A8 7F022E78 AC6A0000 */ sw $t2, ($v1) -/* 0579AC 7F022E7C 01401025 */ move $v0, $t2 -/* 0579B0 7F022E80 55A0FFFA */ bnezl $t5, .L7F022E6C -/* 0579B4 7F022E84 244A0001 */ addiu $t2, $v0, 1 -.L7F022E88: -/* 0579B8 7F022E88 03E00008 */ jr $ra -/* 0579BC 7F022E8C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F022E90(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F022E90 -/* 0579C0 7F022E90 3C028003 */ lui $v0, %hi(D_8002C908) -/* 0579C4 7F022E94 2442C908 */ addiu $v0, %lo(D_8002C908) # addiu $v0, $v0, -0x36f8 -/* 0579C8 7F022E98 8C4E0000 */ lw $t6, ($v0) -/* 0579CC 7F022E9C 3C088003 */ lui $t0, %hi(animation_table_ptrs1) -/* 0579D0 7F022EA0 25CF0001 */ addiu $t7, $t6, 1 -/* 0579D4 7F022EA4 000FC880 */ sll $t9, $t7, 2 -/* 0579D8 7F022EA8 AC4F0000 */ sw $t7, ($v0) -/* 0579DC 7F022EAC 01194021 */ addu $t0, $t0, $t9 -/* 0579E0 7F022EB0 8D089D6C */ lw $t0, %lo(animation_table_ptrs1)($t0) -/* 0579E4 7F022EB4 15000002 */ bnez $t0, .L7F022EC0 -/* 0579E8 7F022EB8 00000000 */ nop -/* 0579EC 7F022EBC AC400000 */ sw $zero, ($v0) -.L7F022EC0: -/* 0579F0 7F022EC0 03E00008 */ jr $ra -/* 0579F4 7F022EC4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F022EC8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F022EC8 -/* 0579F8 7F022EC8 3C038003 */ lui $v1, %hi(D_8002C90C) -/* 0579FC 7F022ECC 2463C90C */ addiu $v1, %lo(D_8002C90C) # addiu $v1, $v1, -0x36f4 -/* 057A00 7F022ED0 8C620000 */ lw $v0, ($v1) -/* 057A04 7F022ED4 2C4E0001 */ sltiu $t6, $v0, 1 -/* 057A08 7F022ED8 03E00008 */ jr $ra -/* 057A0C 7F022EDC AC6E0000 */ sw $t6, ($v1) -) -#endif - - - -void sub_GAME_7F022EE0(s32 param_1){ - D_8002C910 = param_1; -} - - - - -#ifdef NONMATCHING -void sub_GAME_7F022EEC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F022EEC -/* 057A1C 7F022EEC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 057A20 7F022EF0 AFB40038 */ sw $s4, 0x38($sp) -/* 057A24 7F022EF4 3C148003 */ lui $s4, %hi(num_guards) -/* 057A28 7F022EF8 2694CC68 */ addiu $s4, %lo(num_guards) # addiu $s4, $s4, -0x3398 -/* 057A2C 7F022EFC 8E8E0000 */ lw $t6, ($s4) -/* 057A30 7F022F00 AFB20030 */ sw $s2, 0x30($sp) -/* 057A34 7F022F04 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 057A38 7F022F08 46006586 */ mov.s $f22, $f12 -/* 057A3C 7F022F0C AFBF003C */ sw $ra, 0x3c($sp) -/* 057A40 7F022F10 AFB30034 */ sw $s3, 0x34($sp) -/* 057A44 7F022F14 AFB1002C */ sw $s1, 0x2c($sp) -/* 057A48 7F022F18 AFB00028 */ sw $s0, 0x28($sp) -/* 057A4C 7F022F1C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 057A50 7F022F20 19C0001F */ blez $t6, .L7F022FA0 -/* 057A54 7F022F24 00009025 */ move $s2, $zero -/* 057A58 7F022F28 3C138003 */ lui $s3, %hi(ptr_guard_data) -/* 057A5C 7F022F2C 2673CC64 */ addiu $s3, %lo(ptr_guard_data) # addiu $s3, $s3, -0x339c -/* 057A60 7F022F30 00008825 */ move $s1, $zero -/* 057A64 7F022F34 8E700000 */ lw $s0, ($s3) -.L7F022F38: -/* 057A68 7F022F38 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 057A6C 7F022F3C 02117821 */ addu $t7, $s0, $s1 -/* 057A70 7F022F40 8DF8001C */ lw $t8, 0x1c($t7) -/* 057A74 7F022F44 53000011 */ beql $t8, $zero, .L7F022F8C -/* 057A78 7F022F48 8E880000 */ lw $t0, ($s4) -/* 057A7C 7F022F4C 44812000 */ mtc1 $at, $f4 -/* 057A80 7F022F50 02302021 */ addu $a0, $s1, $s0 -/* 057A84 7F022F54 4604B502 */ mul.s $f20, $f22, $f4 -/* 057A88 7F022F58 0FC0CB79 */ jal sub_GAME_7F032DE4 -/* 057A8C 7F022F5C 00000000 */ nop -/* 057A90 7F022F60 8E700000 */ lw $s0, ($s3) -/* 057A94 7F022F64 0211C821 */ addu $t9, $s0, $s1 -/* 057A98 7F022F68 C72600EC */ lwc1 $f6, 0xec($t9) -/* 057A9C 7F022F6C 46143202 */ mul.s $f8, $f6, $f20 -/* 057AA0 7F022F70 4608003C */ c.lt.s $f0, $f8 -/* 057AA4 7F022F74 00000000 */ nop -/* 057AA8 7F022F78 45020004 */ bc1fl .L7F022F8C -/* 057AAC 7F022F7C 8E880000 */ lw $t0, ($s4) -/* 057AB0 7F022F80 0FC0A700 */ jal sub_GAME_7F029C00 -/* 057AB4 7F022F84 02302021 */ addu $a0, $s1, $s0 -/* 057AB8 7F022F88 8E880000 */ lw $t0, ($s4) -.L7F022F8C: -/* 057ABC 7F022F8C 26520001 */ addiu $s2, $s2, 1 -/* 057AC0 7F022F90 263101DC */ addiu $s1, $s1, 0x1dc -/* 057AC4 7F022F94 0248082A */ slt $at, $s2, $t0 -/* 057AC8 7F022F98 5420FFE7 */ bnezl $at, .L7F022F38 -/* 057ACC 7F022F9C 8E700000 */ lw $s0, ($s3) -.L7F022FA0: -/* 057AD0 7F022FA0 8FBF003C */ lw $ra, 0x3c($sp) -/* 057AD4 7F022FA4 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 057AD8 7F022FA8 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 057ADC 7F022FAC 8FB00028 */ lw $s0, 0x28($sp) -/* 057AE0 7F022FB0 8FB1002C */ lw $s1, 0x2c($sp) -/* 057AE4 7F022FB4 8FB20030 */ lw $s2, 0x30($sp) -/* 057AE8 7F022FB8 8FB30034 */ lw $s3, 0x34($sp) -/* 057AEC 7F022FBC 8FB40038 */ lw $s4, 0x38($sp) -/* 057AF0 7F022FC0 03E00008 */ jr $ra -/* 057AF4 7F022FC4 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - -#ifdef NONMATCHING -void check_if_guardnum_loaded_get_ptr_GUARDdata(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_guardnum_loaded_get_ptr_GUARDdata -/* 057AF8 7F022FC8 3C038003 */ lui $v1, %hi(num_guards) -/* 057AFC 7F022FCC 8C63CC68 */ lw $v1, %lo(num_guards)($v1) -/* 057B00 7F022FD0 00803825 */ move $a3, $a0 -/* 057B04 7F022FD4 3C048003 */ lui $a0, %hi(ptr_guard_data) -/* 057B08 7F022FD8 18600011 */ blez $v1, .L7F023020 -/* 057B0C 7F022FDC 00001025 */ move $v0, $zero -/* 057B10 7F022FE0 8C84CC64 */ lw $a0, %lo(ptr_guard_data)($a0) -/* 057B14 7F022FE4 00002825 */ move $a1, $zero -/* 057B18 7F022FE8 00803025 */ move $a2, $a0 -.L7F022FEC: -/* 057B1C 7F022FEC 8CCE001C */ lw $t6, 0x1c($a2) -/* 057B20 7F022FF0 24420001 */ addiu $v0, $v0, 1 -/* 057B24 7F022FF4 0043082A */ slt $at, $v0, $v1 -/* 057B28 7F022FF8 51C00007 */ beql $t6, $zero, .L7F023018 -/* 057B2C 7F022FFC 24A501DC */ addiu $a1, $a1, 0x1dc -/* 057B30 7F023000 84CF0000 */ lh $t7, ($a2) -/* 057B34 7F023004 54EF0004 */ bnel $a3, $t7, .L7F023018 -/* 057B38 7F023008 24A501DC */ addiu $a1, $a1, 0x1dc -/* 057B3C 7F02300C 03E00008 */ jr $ra -/* 057B40 7F023010 00A41021 */ addu $v0, $a1, $a0 - -/* 057B44 7F023014 24A501DC */ addiu $a1, $a1, 0x1dc -.L7F023018: -/* 057B48 7F023018 1420FFF4 */ bnez $at, .L7F022FEC -/* 057B4C 7F02301C 24C601DC */ addiu $a2, $a2, 0x1dc -.L7F023020: -/* 057B50 7F023020 00001025 */ move $v0, $zero -/* 057B54 7F023024 03E00008 */ jr $ra -/* 057B58 7F023028 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void something_with_weaponpos_of_guarddata_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel something_with_weaponpos_of_guarddata_hand -/* 057B5C 7F02302C 00057080 */ sll $t6, $a1, 2 -/* 057B60 7F023030 008E7821 */ addu $t7, $a0, $t6 -/* 057B64 7F023034 03E00008 */ jr $ra -/* 057B68 7F023038 8DE20160 */ lw $v0, 0x160($t7) -) -#endif - - - -#ifdef NONMATCHING -void is_weapon_in_guarddata_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel is_weapon_in_guarddata_hand -/* 057B6C 7F02303C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 057B70 7F023040 00057080 */ sll $t6, $a1, 2 -/* 057B74 7F023044 AFBF0014 */ sw $ra, 0x14($sp) -/* 057B78 7F023048 008E7821 */ addu $t7, $a0, $t6 -/* 057B7C 7F02304C 8DE30160 */ lw $v1, 0x160($t7) -/* 057B80 7F023050 5060000A */ beql $v1, $zero, .L7F02307C -/* 057B84 7F023054 8FBF0014 */ lw $ra, 0x14($sp) -/* 057B88 7F023058 8C620004 */ lw $v0, 4($v1) -/* 057B8C 7F02305C 24050200 */ li $a1, 512 -/* 057B90 7F023060 80440080 */ lb $a0, 0x80($v0) -/* 057B94 7F023064 0FC1782D */ jal check_special_attributes -/* 057B98 7F023068 AFA3001C */ sw $v1, 0x1c($sp) -/* 057B9C 7F02306C 14400002 */ bnez $v0, .L7F023078 -/* 057BA0 7F023070 8FA3001C */ lw $v1, 0x1c($sp) -/* 057BA4 7F023074 00001825 */ move $v1, $zero -.L7F023078: -/* 057BA8 7F023078 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02307C: -/* 057BAC 7F02307C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 057BB0 7F023080 00601025 */ move $v0, $v1 -/* 057BB4 7F023084 03E00008 */ jr $ra -/* 057BB8 7F023088 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02308C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02308C -/* 057BBC 7F02308C 8C820004 */ lw $v0, 4($a0) -/* 057BC0 7F023090 24080004 */ li $t0, 4 -/* 057BC4 7F023094 24010005 */ li $at, 5 -/* 057BC8 7F023098 80430007 */ lb $v1, 7($v0) -/* 057BCC 7F02309C 5103002E */ beql $t0, $v1, .L7F023158 -/* 057BD0 7F0230A0 ACC00000 */ sw $zero, ($a2) -/* 057BD4 7F0230A4 5061002C */ beql $v1, $at, .L7F023158 -/* 057BD8 7F0230A8 ACC00000 */ sw $zero, ($a2) -/* 057BDC 7F0230AC 8C4E0014 */ lw $t6, 0x14($v0) -/* 057BE0 7F0230B0 3C010001 */ lui $at, (0x00010400 >> 16) # lui $at, 1 -/* 057BE4 7F0230B4 34210400 */ ori $at, (0x00010400 & 0xFFFF) # ori $at, $at, 0x400 -/* 057BE8 7F0230B8 01C17824 */ and $t7, $t6, $at -/* 057BEC 7F0230BC 55E00026 */ bnezl $t7, .L7F023158 -/* 057BF0 7F0230C0 ACC00000 */ sw $zero, ($a2) -/* 057BF4 7F0230C4 94580012 */ lhu $t8, 0x12($v0) -/* 057BF8 7F0230C8 2449011C */ addiu $t1, $v0, 0x11c -/* 057BFC 7F0230CC 33190100 */ andi $t9, $t8, 0x100 -/* 057C00 7F0230D0 57200021 */ bnezl $t9, .L7F023158 -/* 057C04 7F0230D4 ACC00000 */ sw $zero, ($a2) -/* 057C08 7F0230D8 ACC80000 */ sw $t0, ($a2) -/* 057C0C 7F0230DC ACA90000 */ sw $t1, ($a1) -/* 057C10 7F0230E0 C4840008 */ lwc1 $f4, 8($a0) -/* 057C14 7F0230E4 C4400024 */ lwc1 $f0, 0x24($v0) -/* 057C18 7F0230E8 46002180 */ add.s $f6, $f4, $f0 -/* 057C1C 7F0230EC E446011C */ swc1 $f6, 0x11c($v0) -/* 057C20 7F0230F0 C4880010 */ lwc1 $f8, 0x10($a0) -/* 057C24 7F0230F4 E4480120 */ swc1 $f8, 0x120($v0) -/* 057C28 7F0230F8 C48A0008 */ lwc1 $f10, 8($a0) -/* 057C2C 7F0230FC E44A0124 */ swc1 $f10, 0x124($v0) -/* 057C30 7F023100 C4900010 */ lwc1 $f16, 0x10($a0) -/* 057C34 7F023104 46008480 */ add.s $f18, $f16, $f0 -/* 057C38 7F023108 E4520128 */ swc1 $f18, 0x128($v0) -/* 057C3C 7F02310C C4840008 */ lwc1 $f4, 8($a0) -/* 057C40 7F023110 46002181 */ sub.s $f6, $f4, $f0 -/* 057C44 7F023114 C44400AC */ lwc1 $f4, 0xac($v0) -/* 057C48 7F023118 E446012C */ swc1 $f6, 0x12c($v0) -/* 057C4C 7F02311C C4880010 */ lwc1 $f8, 0x10($a0) -/* 057C50 7F023120 E4480130 */ swc1 $f8, 0x130($v0) -/* 057C54 7F023124 C48A0008 */ lwc1 $f10, 8($a0) -/* 057C58 7F023128 E44A0134 */ swc1 $f10, 0x134($v0) -/* 057C5C 7F02312C C4900010 */ lwc1 $f16, 0x10($a0) -/* 057C60 7F023130 8FA30010 */ lw $v1, 0x10($sp) -/* 057C64 7F023134 46008481 */ sub.s $f18, $f16, $f0 -/* 057C68 7F023138 E4520138 */ swc1 $f18, 0x138($v0) -/* 057C6C 7F02313C E4640000 */ swc1 $f4, ($v1) -/* 057C70 7F023140 C4480028 */ lwc1 $f8, 0x28($v0) -/* 057C74 7F023144 C4660000 */ lwc1 $f6, ($v1) -/* 057C78 7F023148 46083280 */ add.s $f10, $f6, $f8 -/* 057C7C 7F02314C 03E00008 */ jr $ra -/* 057C80 7F023150 E4EA0000 */ swc1 $f10, ($a3) - -/* 057C84 7F023154 ACC00000 */ sw $zero, ($a2) -.L7F023158: -/* 057C88 7F023158 03E00008 */ jr $ra -/* 057C8C 7F02315C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023160(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023160 -/* 057C90 7F023160 8C820004 */ lw $v0, 4($a0) -/* 057C94 7F023164 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 057C98 7F023168 44810000 */ mtc1 $at, $f0 -/* 057C9C 7F02316C C4440024 */ lwc1 $f4, 0x24($v0) -/* 057CA0 7F023170 E4A40000 */ swc1 $f4, ($a1) -/* 057CA4 7F023174 C4460028 */ lwc1 $f6, 0x28($v0) -/* 057CA8 7F023178 46003201 */ sub.s $f8, $f6, $f0 -/* 057CAC 7F02317C E4C80000 */ swc1 $f8, ($a2) -/* 057CB0 7F023180 03E00008 */ jr $ra -/* 057CB4 7F023184 E4E00000 */ swc1 $f0, ($a3) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023188(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023188 -/* 057CB8 7F023188 8C820004 */ lw $v0, 4($a0) -/* 057CBC 7F02318C 03E00008 */ jr $ra -/* 057CC0 7F023190 C44000AC */ lwc1 $f0, 0xac($v0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023194(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023194 -/* 057CC4 7F023194 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 057CC8 7F023198 AFBF001C */ sw $ra, 0x1c($sp) -/* 057CCC 7F02319C AFA50024 */ sw $a1, 0x24($sp) -/* 057CD0 7F0231A0 AFA7002C */ sw $a3, 0x2c($sp) -/* 057CD4 7F0231A4 908E0001 */ lbu $t6, 1($a0) -/* 057CD8 7F0231A8 8C830004 */ lw $v1, 4($a0) -/* 057CDC 7F0231AC 31CF0002 */ andi $t7, $t6, 2 -/* 057CE0 7F0231B0 51E00033 */ beql $t7, $zero, .L7F023280 -/* 057CE4 7F0231B4 00001025 */ move $v0, $zero -/* 057CE8 7F0231B8 80620007 */ lb $v0, 7($v1) -/* 057CEC 7F0231BC 24010004 */ li $at, 4 -/* 057CF0 7F0231C0 1041002E */ beq $v0, $at, .L7F02327C -/* 057CF4 7F0231C4 24010005 */ li $at, 5 -/* 057CF8 7F0231C8 5041002D */ beql $v0, $at, .L7F023280 -/* 057CFC 7F0231CC 00001025 */ move $v0, $zero -/* 057D00 7F0231D0 8C780014 */ lw $t8, 0x14($v1) -/* 057D04 7F0231D4 33190800 */ andi $t9, $t8, 0x800 -/* 057D08 7F0231D8 57200029 */ bnezl $t9, .L7F023280 -/* 057D0C 7F0231DC 00001025 */ move $v0, $zero -/* 057D10 7F0231E0 8C64001C */ lw $a0, 0x1c($v1) -/* 057D14 7F0231E4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 057D18 7F0231E8 44817000 */ mtc1 $at, $f14 -/* 057D1C 7F0231EC 8C82000C */ lw $v0, 0xc($a0) -/* 057D20 7F0231F0 44806000 */ mtc1 $zero, $f12 -/* 057D24 7F0231F4 24480040 */ addiu $t0, $v0, 0x40 -/* 057D28 7F0231F8 C5000038 */ lwc1 $f0, 0x38($t0) -/* 057D2C 7F0231FC C4440038 */ lwc1 $f4, 0x38($v0) -/* 057D30 7F023200 46002181 */ sub.s $f6, $f4, $f0 -/* 057D34 7F023204 460E3202 */ mul.s $f8, $f6, $f14 -/* 057D38 7F023208 46004280 */ add.s $f10, $f8, $f0 -/* 057D3C 7F02320C 460C503C */ c.lt.s $f10, $f12 -/* 057D40 7F023210 E4AA0008 */ swc1 $f10, 8($a1) -/* 057D44 7F023214 4502001A */ bc1fl .L7F023280 -/* 057D48 7F023218 00001025 */ move $v0, $zero -/* 057D4C 7F02321C C5000030 */ lwc1 $f0, 0x30($t0) -/* 057D50 7F023220 C4500030 */ lwc1 $f16, 0x30($v0) -/* 057D54 7F023224 46008481 */ sub.s $f18, $f16, $f0 -/* 057D58 7F023228 460E9102 */ mul.s $f4, $f18, $f14 -/* 057D5C 7F02322C 46002180 */ add.s $f6, $f4, $f0 -/* 057D60 7F023230 E4A60000 */ swc1 $f6, ($a1) -/* 057D64 7F023234 C4480034 */ lwc1 $f8, 0x34($v0) -/* 057D68 7F023238 C5020034 */ lwc1 $f2, 0x34($t0) -/* 057D6C 7F02323C 46024281 */ sub.s $f10, $f8, $f2 -/* 057D70 7F023240 460E5402 */ mul.s $f16, $f10, $f14 -/* 057D74 7F023244 46028480 */ add.s $f18, $f16, $f2 -/* 057D78 7F023248 E4B20004 */ swc1 $f18, 4($a1) -/* 057D7C 7F02324C 8FAB002C */ lw $t3, 0x2c($sp) -/* 057D80 7F023250 24C50004 */ addiu $a1, $a2, 4 -/* 057D84 7F023254 E56C0004 */ swc1 $f12, 4($t3) -/* 057D88 7F023258 E56C0000 */ swc1 $f12, ($t3) -/* 057D8C 7F02325C E4CC0000 */ swc1 $f12, ($a2) -/* 057D90 7F023260 E4CC0004 */ swc1 $f12, 4($a2) -/* 057D94 7F023264 8FAC002C */ lw $t4, 0x2c($sp) -/* 057D98 7F023268 25870004 */ addiu $a3, $t4, 4 -/* 057D9C 7F02326C 0FC0FE43 */ jal sub_GAME_7F03F90C -/* 057DA0 7F023270 AFAC0010 */ sw $t4, 0x10($sp) -/* 057DA4 7F023274 10000002 */ b .L7F023280 -/* 057DA8 7F023278 24020001 */ li $v0, 1 -.L7F02327C: -/* 057DAC 7F02327C 00001025 */ move $v0, $zero -.L7F023280: -/* 057DB0 7F023280 8FBF001C */ lw $ra, 0x1c($sp) -/* 057DB4 7F023284 27BD0020 */ addiu $sp, $sp, 0x20 -/* 057DB8 7F023288 03E00008 */ jr $ra -/* 057DBC 7F02328C 00000000 */ nop -) -#endif - -//filesplit diff --git a/src/game/chr.h b/src/game/chr.h deleted file mode 100644 index e82007a..0000000 --- a/src/game/chr.h +++ /dev/null @@ -1,190 +0,0 @@ -#ifndef _CHR_H_ -#define _CHR_H_ -#include "ultra64.h" -#include "bondgame.h" - -struct animation_something -{ - s32 anonymous_0; - s32 field_4; - s32 field_8; - f32 field_C; - s32 field_10; - s32 field_14; - f32 field_18; - struct struck_animation_table *field_1C; - s32 field_20; - struct struck_animation_table *field_24; - s32 field_28; -}; - -struct struck_animation_table -{ - void *anonymous_0; - s32 anonymous_1; - f32 anonymous_2; - f32 anonymous_3; - s32 anonymous_4; - f32 sfx1_timer_60; - f32 sfx2_timer_60; -}; - -struct explosion_death_animation -{ - s32 anonymous_0; - s32 anonymous_1; - f32 anonymous_2; - f32 anonymous_3; - f32 anonymous_4; - f32 anonymous_5; - f32 anonymous_6; -}; - -struct explosion_animation -{ - void *explosion_death_animation; - s32 count; -}; - -struct weapon_firing_animation_table -{ - s32 anonymous_0; - f32 anonymous_1; - f32 anonymous_2; - f32 anonymous_3; - f32 anonymous_4; - f32 anonymous_5; - f32 anonymous_6; - f32 anonymous_7; - f32 anonymous_8; - f32 anonymous_9; - f32 anonymous_10; - f32 anonymous_11; - f32 anonymous_12; - f32 anonymous_13; - f32 anonymous_14; - f32 anonymous_15; - f32 anonymous_16; - f32 anonymous_17; -}; - - -extern struct animation_something D_8002C914; - - -extern struct struck_animation_table D_8002CE54[]; -extern struct struck_animation_table D_8002DF10[]; -extern struct struck_animation_table D_8002CEE0[]; -extern struct struck_animation_table D_8002DF64[]; -extern struct struck_animation_table D_8002CF6C[]; -extern struct struck_animation_table D_8002DFB8[]; -extern struct struck_animation_table D_8002D014[]; -extern struct struck_animation_table D_8002E028[]; -extern struct struck_animation_table D_8002D0A0[]; -extern struct struck_animation_table D_8002E07C[]; -extern struct struck_animation_table D_8002D12C[]; -extern struct struck_animation_table D_8002E0D0[]; -extern struct struck_animation_table D_8002D1D4[]; -extern struct struck_animation_table D_8002E140[]; -extern struct struck_animation_table D_8002D3B0[]; -extern struct struck_animation_table D_8002E23C[]; -extern struct struck_animation_table D_8002D6DC[]; -extern struct struck_animation_table D_8002E300[]; -extern struct struck_animation_table D_8002D768[]; -extern struct struck_animation_table D_8002E354[]; -extern struct struck_animation_table D_8002D7F4[]; -extern struct struck_animation_table D_8002E3A8[]; -extern struct struck_animation_table D_8002D880[]; -extern struct struck_animation_table D_8002E418[]; -extern struct struck_animation_table D_8002D90C[]; -extern struct struck_animation_table D_8002E46C[]; -extern struct struck_animation_table D_8002D998[]; -extern struct struck_animation_table D_8002E4C0[]; -extern struct struck_animation_table D_8002DA24[]; -extern struct struck_animation_table D_8002E530[]; -extern struct struck_animation_table D_8002DCE0[]; -extern struct struck_animation_table D_8002E5BC[]; - -extern struct weapon_firing_animation_table rifle_firing_animation_group1[]; -extern struct weapon_firing_animation_table rifle_firing_animation_group2[]; -extern struct weapon_firing_animation_table rifle_firing_animation_group5[]; -extern struct weapon_firing_animation_table rifle_firing_animation_group3[]; -extern struct weapon_firing_animation_table rifle_firing_animation_group4[]; -extern struct weapon_firing_animation_table pistol_firing_animation_group1[]; -extern struct weapon_firing_animation_table pistol_firing_animation_group2[]; -extern struct weapon_firing_animation_table pistol_firing_animation_group3[]; -extern struct weapon_firing_animation_table pistol_firing_animation_group6[]; -extern struct weapon_firing_animation_table pistol_firing_animation_group4[]; -extern struct weapon_firing_animation_table pistol_firing_animation_group5[]; -extern struct weapon_firing_animation_table doubles_firing_animation_group1[]; -extern struct weapon_firing_animation_table doubles_firing_animation_group2[]; -extern struct weapon_firing_animation_table doubles_firing_animation_group3[]; -extern struct weapon_firing_animation_table crouched_rifle_firing_animation_group1[]; -extern struct weapon_firing_animation_table crouched_rifle_firing_animation_groupA[]; -extern struct weapon_firing_animation_table crouched_rifle_firing_animation_group2[]; -extern struct weapon_firing_animation_table crouched_rifle_firing_animation_group3[]; -extern struct weapon_firing_animation_table crouched_pistol_firing_animation_group1[]; -extern struct weapon_firing_animation_table crouched_pistol_firing_animation_group2[]; -extern struct weapon_firing_animation_table crouched_pistol_firing_animation_group3[]; -extern struct weapon_firing_animation_table crouched_doubles_firing_animation_group1[]; -extern struct weapon_firing_animation_table crouched_doubles_firing_animation_group2[]; -extern struct weapon_firing_animation_table crouched_doubles_firing_animation_group3[]; - - -extern struct weapon_firing_animation_table D_80030078; -extern struct weapon_firing_animation_table D_800300C0; -extern struct weapon_firing_animation_table D_80030108; -extern struct weapon_firing_animation_table D_80030150; -extern struct weapon_firing_animation_table D_80030198; -extern struct weapon_firing_animation_table D_800301E0; -extern struct weapon_firing_animation_table D_80030228; -extern struct weapon_firing_animation_table D_80030270; -extern struct weapon_firing_animation_table D_800302B8; -extern struct weapon_firing_animation_table D_80030300; -extern struct weapon_firing_animation_table D_80030348; -extern struct weapon_firing_animation_table D_80030390; -extern struct weapon_firing_animation_table D_800303D8; -extern struct weapon_firing_animation_table D_80030420; -extern struct weapon_firing_animation_table D_80030468; -extern struct weapon_firing_animation_table D_800304B0; -extern struct weapon_firing_animation_table D_800304F8; -extern struct weapon_firing_animation_table D_80030540; -extern struct weapon_firing_animation_table D_80030588; -extern struct weapon_firing_animation_table D_800305D0; -extern struct weapon_firing_animation_table D_80030618; -extern struct weapon_firing_animation_table D_80030660; -extern struct weapon_firing_animation_table D_800306A8; -extern struct weapon_firing_animation_table D_800306F0; -extern struct weapon_firing_animation_table D_80030738; -extern struct weapon_firing_animation_table D_80030780; -extern struct weapon_firing_animation_table D_800307C8; -extern struct weapon_firing_animation_table D_80030810; -extern struct weapon_firing_animation_table D_80030858; -extern struct weapon_firing_animation_table D_800308A0; -extern struct weapon_firing_animation_table D_800308E8; -extern struct weapon_firing_animation_table D_80030930; - -extern f32 animation_rate; -extern s32 D_8002C904; -extern s32 D_8002C908; -extern s32 D_8002C90C; -extern s32 D_8002C910; - -extern s32 D_8002CC58; -extern s32 show_patrols_flag; -extern s32 player1_guardID; -extern s32 ptr_guard_data; -extern s32 num_guards; -extern s32 D_8002CC6C[]; -extern s32 D_8002CCA8; -extern s32 D_8002CCAC; -extern s32 D_8002CCB0; -extern s32 D_8002CCB4; -extern u8 D_8002CCB8; -extern s32 num_bodies; -extern s32 num_male_heads; -extern s32 num_female_heads; -extern s32 list_of_bodies[]; -extern s32 random_male_heads[]; -extern s32 random_female_heads[]; -#endif diff --git a/src/game/chr2.c b/src/game/chr2.c deleted file mode 100644 index 960d36b..0000000 --- a/src/game/chr2.c +++ /dev/null @@ -1,23191 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" -#include "game/chr.h" - - -#ifdef NONMATCHING -void load_body_head_if_not_loaded(void) { - -} -#else -GLOBAL_ASM( -.text -glabel load_body_head_if_not_loaded -/* 057DC0 7F023290 00047080 */ sll $t6, $a0, 2 -/* 057DC4 7F023294 01C47021 */ addu $t6, $t6, $a0 -/* 057DC8 7F023298 3C0F8004 */ lui $t7, %hi(c_item_entries) -/* 057DCC 7F02329C 25EFDE10 */ addiu $t7, %lo(c_item_entries) # addiu $t7, $t7, -0x21f0 -/* 057DD0 7F0232A0 000E7080 */ sll $t6, $t6, 2 -/* 057DD4 7F0232A4 01CF1021 */ addu $v0, $t6, $t7 -/* 057DD8 7F0232A8 8C460000 */ lw $a2, ($v0) -/* 057DDC 7F0232AC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 057DE0 7F0232B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 057DE4 7F0232B4 8CD80000 */ lw $t8, ($a2) -/* 057DE8 7F0232B8 00C02025 */ move $a0, $a2 -/* 057DEC 7F0232BC 57000006 */ bnezl $t8, .L7F0232D8 -/* 057DF0 7F0232C0 00001025 */ move $v0, $zero -/* 057DF4 7F0232C4 0FC1D953 */ jal load_object_into_memory -/* 057DF8 7F0232C8 8C450004 */ lw $a1, 4($v0) -/* 057DFC 7F0232CC 10000002 */ b .L7F0232D8 -/* 057E00 7F0232D0 24020001 */ li $v0, 1 -/* 057E04 7F0232D4 00001025 */ move $v0, $zero -.L7F0232D8: -/* 057E08 7F0232D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 057E0C 7F0232DC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 057E10 7F0232E0 03E00008 */ jr $ra -/* 057E14 7F0232E4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void maybe_load_models_for_guards(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80051D90 -.word 0x3dccccce /*0.10000001*/ -glabel D_80051D94 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80051D98 -.word 0x0 -glabel D_80051D9C -.word 0x0 -.text -glabel maybe_load_models_for_guards -/* 057E18 7F0232E8 00047880 */ sll $t7, $a0, 2 -/* 057E1C 7F0232EC 01E47821 */ addu $t7, $t7, $a0 -/* 057E20 7F0232F0 3C188004 */ lui $t8, %hi(c_item_entries) -/* 057E24 7F0232F4 2718DE10 */ addiu $t8, %lo(c_item_entries) # addiu $t8, $t8, -0x21f0 -/* 057E28 7F0232F8 000F7880 */ sll $t7, $t7, 2 -/* 057E2C 7F0232FC 01F81021 */ addu $v0, $t7, $t8 -/* 057E30 7F023300 3C018005 */ lui $at, %hi(D_80051D90) -/* 057E34 7F023304 C4261D90 */ lwc1 $f6, %lo(D_80051D90)($at) -/* 057E38 7F023308 C4440008 */ lwc1 $f4, 8($v0) -/* 057E3C 7F02330C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 057E40 7F023310 C44A000C */ lwc1 $f10, 0xc($v0) -/* 057E44 7F023314 46062202 */ mul.s $f8, $f4, $f6 -/* 057E48 7F023318 AFBF001C */ sw $ra, 0x1c($sp) -/* 057E4C 7F02331C AFB10018 */ sw $s1, 0x18($sp) -/* 057E50 7F023320 AFB00014 */ sw $s0, 0x14($sp) -/* 057E54 7F023324 AFA40038 */ sw $a0, 0x38($sp) -/* 057E58 7F023328 00C08025 */ move $s0, $a2 -/* 057E5C 7F02332C 00E08825 */ move $s1, $a3 -/* 057E60 7F023330 AFA5003C */ sw $a1, 0x3c($sp) -/* 057E64 7F023334 E7A80034 */ swc1 $f8, 0x34($sp) -/* 057E68 7F023338 AFA0002C */ sw $zero, 0x2c($sp) -/* 057E6C 7F02333C 2404000C */ li $a0, 12 -/* 057E70 7F023340 AFA20024 */ sw $v0, 0x24($sp) -/* 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) -/* 057E84 7F023354 3C018005 */ lui $at, %hi(D_80051D94) -/* 057E88 7F023358 C4321D94 */ lwc1 $f18, %lo(D_80051D94)($at) -/* 057E8C 7F02335C 46128102 */ mul.s $f4, $f16, $f18 -/* 057E90 7F023360 E7A40034 */ swc1 $f4, 0x34($sp) -.L7F023364: -/* 057E94 7F023364 8E190000 */ lw $t9, ($s0) -/* 057E98 7F023368 8FA80024 */ lw $t0, 0x24($sp) -/* 057E9C 7F02336C 17200003 */ bnez $t9, .L7F02337C -/* 057EA0 7F023370 02002025 */ move $a0, $s0 -/* 057EA4 7F023374 0FC1D953 */ jal load_object_into_memory -/* 057EA8 7F023378 8D050004 */ lw $a1, 4($t0) -.L7F02337C: -/* 057EAC 7F02337C 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 057EB0 7F023380 02002025 */ move $a0, $s0 -/* 057EB4 7F023384 8FA90024 */ lw $t1, 0x24($sp) -/* 057EB8 7F023388 8FA2003C */ lw $v0, 0x3c($sp) -/* 057EBC 7F02338C 912A0011 */ lbu $t2, 0x11($t1) -/* 057EC0 7F023390 55400018 */ bnezl $t2, .L7F0233F4 -/* 057EC4 7F023394 8FA9004C */ lw $t1, 0x4c($sp) -/* 057EC8 7F023398 04420016 */ bltzl $v0, .L7F0233F4 -/* 057ECC 7F02339C 8FA9004C */ lw $t1, 0x4c($sp) -/* 057ED0 7F0233A0 8E0B0008 */ lw $t3, 8($s0) -/* 057ED4 7F0233A4 8D6C0010 */ lw $t4, 0x10($t3) -/* 057ED8 7F0233A8 11800011 */ beqz $t4, .L7F0233F0 -/* 057EDC 7F0233AC AFAC002C */ sw $t4, 0x2c($sp) -/* 057EE0 7F0233B0 8E2E0000 */ lw $t6, ($s1) -/* 057EE4 7F0233B4 00027880 */ sll $t7, $v0, 2 -/* 057EE8 7F0233B8 01E27821 */ addu $t7, $t7, $v0 -/* 057EEC 7F0233BC 15C00006 */ bnez $t6, .L7F0233D8 -/* 057EF0 7F0233C0 02202025 */ move $a0, $s1 -/* 057EF4 7F0233C4 000F7880 */ sll $t7, $t7, 2 -/* 057EF8 7F0233C8 3C058004 */ lui $a1, %hi(c_item_entries+4) -/* 057EFC 7F0233CC 00AF2821 */ addu $a1, $a1, $t7 -/* 057F00 7F0233D0 0FC1D953 */ jal load_object_into_memory -/* 057F04 7F0233D4 8CA5DE14 */ lw $a1, %lo(c_item_entries+4)($a1) -.L7F0233D8: -/* 057F08 7F0233D8 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 057F0C 7F0233DC 02202025 */ move $a0, $s1 -/* 057F10 7F0233E0 86180014 */ lh $t8, 0x14($s0) -/* 057F14 7F0233E4 86390014 */ lh $t9, 0x14($s1) -/* 057F18 7F0233E8 03194021 */ addu $t0, $t8, $t9 -/* 057F1C 7F0233EC A6080014 */ sh $t0, 0x14($s0) -.L7F0233F0: -/* 057F20 7F0233F0 8FA9004C */ lw $t1, 0x4c($sp) -.L7F0233F4: -/* 057F24 7F0233F4 55200005 */ bnezl $t1, .L7F02340C -/* 057F28 7F0233F8 8FAA004C */ lw $t2, 0x4c($sp) -/* 057F2C 7F0233FC 0FC1B08F */ jal get_aircraft_obj_instance_controller -/* 057F30 7F023400 02002025 */ move $a0, $s0 -/* 057F34 7F023404 AFA2004C */ sw $v0, 0x4c($sp) -/* 057F38 7F023408 8FAA004C */ lw $t2, 0x4c($sp) -.L7F02340C: -/* 057F3C 7F02340C 11400020 */ beqz $t2, .L7F023490 -/* 057F40 7F023410 01402025 */ move $a0, $t2 -/* 057F44 7F023414 0FC1B39E */ jal set_obj_instance_controller_scale -/* 057F48 7F023418 8FA50034 */ lw $a1, 0x34($sp) -/* 057F4C 7F02341C 8FA4004C */ lw $a0, 0x4c($sp) -/* 057F50 7F023420 0FC1B3A1 */ jal sub_GAME_7F06CE84 -/* 057F54 7F023424 8FA50030 */ lw $a1, 0x30($sp) -/* 057F58 7F023428 12200019 */ beqz $s1, .L7F023490 -/* 057F5C 7F02342C 8FAB0024 */ lw $t3, 0x24($sp) -/* 057F60 7F023430 916C0011 */ lbu $t4, 0x11($t3) -/* 057F64 7F023434 55800017 */ bnezl $t4, .L7F023494 -/* 057F68 7F023438 8FBF001C */ lw $ra, 0x1c($sp) -/* 057F6C 7F02343C 860D0014 */ lh $t5, 0x14($s0) -/* 057F70 7F023440 862E0014 */ lh $t6, 0x14($s1) -/* 057F74 7F023444 02203025 */ move $a2, $s1 -/* 057F78 7F023448 01AE7823 */ subu $t7, $t5, $t6 -/* 057F7C 7F02344C A60F0014 */ sh $t7, 0x14($s0) -/* 057F80 7F023450 8FA5002C */ lw $a1, 0x2c($sp) -/* 057F84 7F023454 0FC1B0ED */ jal sub_GAME_7F06C3B4 -/* 057F88 7F023458 8FA4004C */ lw $a0, 0x4c($sp) -/* 057F8C 7F02345C 8FB80048 */ lw $t8, 0x48($sp) -/* 057F90 7F023460 5700000C */ bnezl $t8, .L7F023494 -/* 057F94 7F023464 8FBF001C */ lw $ra, 0x1c($sp) -/* 057F98 7F023468 8639000C */ lh $t9, 0xc($s1) -/* 057F9C 7F02346C 5B200009 */ blezl $t9, .L7F023494 -/* 057FA0 7F023470 8FBF001C */ lw $ra, 0x1c($sp) -/* 057FA4 7F023474 8E280008 */ lw $t0, 8($s1) -/* 057FA8 7F023478 8D050000 */ lw $a1, ($t0) -/* 057FAC 7F02347C 50A00005 */ beql $a1, $zero, .L7F023494 -/* 057FB0 7F023480 8FBF001C */ lw $ra, 0x1c($sp) -/* 057FB4 7F023484 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 057FB8 7F023488 8FA4004C */ lw $a0, 0x4c($sp) -/* 057FBC 7F02348C AC400000 */ sw $zero, ($v0) -.L7F023490: -/* 057FC0 7F023490 8FBF001C */ lw $ra, 0x1c($sp) -.L7F023494: -/* 057FC4 7F023494 8FA2004C */ lw $v0, 0x4c($sp) -/* 057FC8 7F023498 8FB00014 */ lw $s0, 0x14($sp) -/* 057FCC 7F02349C 8FB10018 */ lw $s1, 0x18($sp) -/* 057FD0 7F0234A0 03E00008 */ jr $ra -/* 057FD4 7F0234A4 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80051D90 -.word 0x3dccccce /*0.10000001*/ -glabel D_80051D94 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80051D98 -.word 0x0 -glabel D_80051D9C -.word 0x0 -.text -glabel maybe_load_models_for_guards -/* 058148 7F0235D8 00047880 */ sll $t7, $a0, 2 -/* 05814C 7F0235DC 01E47821 */ addu $t7, $t7, $a0 -/* 058150 7F0235E0 3C188004 */ lui $t8, %hi(c_item_entries) # $t8, 0x8004 -/* 058154 7F0235E4 2718DE40 */ addiu $t8, %lo(c_item_entries) # addiu $t8, $t8, -0x21c0 -/* 058158 7F0235E8 000F7880 */ sll $t7, $t7, 2 -/* 05815C 7F0235EC 01F81021 */ addu $v0, $t7, $t8 -/* 058160 7F0235F0 3C018005 */ lui $at, %hi(D_80051D90) # $at, 0x8005 -/* 058164 7F0235F4 C4261DC0 */ lwc1 $f6, %lo(D_80051D90)($at) -/* 058168 7F0235F8 C4440008 */ lwc1 $f4, 8($v0) -/* 05816C 7F0235FC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 058170 7F023600 C44A000C */ lwc1 $f10, 0xc($v0) -/* 058174 7F023604 46062202 */ mul.s $f8, $f4, $f6 -/* 058178 7F023608 AFBF001C */ sw $ra, 0x1c($sp) -/* 05817C 7F02360C AFB10018 */ sw $s1, 0x18($sp) -/* 058180 7F023610 AFB00014 */ sw $s0, 0x14($sp) -/* 058184 7F023614 AFA40038 */ sw $a0, 0x38($sp) -/* 058188 7F023618 00C08025 */ move $s0, $a2 -/* 05818C 7F02361C 00E08825 */ move $s1, $a3 -/* 058190 7F023620 AFA5003C */ sw $a1, 0x3c($sp) -/* 058194 7F023624 E7A80034 */ swc1 $f8, 0x34($sp) -/* 058198 7F023628 AFA0002C */ sw $zero, 0x2c($sp) -/* 05819C 7F02362C 2404000C */ li $a0, 12 -/* 0581A0 7F023630 AFA20024 */ sw $v0, 0x24($sp) -/* 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) -/* 0581B4 7F023644 0FC0827B */ jal jp_only_7F0209EC -/* 0581B8 7F023648 8FA5003C */ lw $a1, 0x3c($sp) -/* 0581BC 7F02364C 10400005 */ beqz $v0, .Ljp7F023664 -/* 0581C0 7F023650 C7B00034 */ lwc1 $f16, 0x34($sp) -/* 0581C4 7F023654 3C018005 */ lui $at, %hi(D_80051D94) # $at, 0x8005 -/* 0581C8 7F023658 C4321DC4 */ lwc1 $f18, %lo(D_80051D94)($at) -/* 0581CC 7F02365C 46128102 */ mul.s $f4, $f16, $f18 -/* 0581D0 7F023660 E7A40034 */ swc1 $f4, 0x34($sp) -.Ljp7F023664: -/* 0581D4 7F023664 8E190000 */ lw $t9, ($s0) -/* 0581D8 7F023668 8FA80024 */ lw $t0, 0x24($sp) -/* 0581DC 7F02366C 17200003 */ bnez $t9, .Ljp7F02367C -/* 0581E0 7F023670 02002025 */ move $a0, $s0 -/* 0581E4 7F023674 0FC1DACF */ jal load_object_into_memory -/* 0581E8 7F023678 8D050004 */ lw $a1, 4($t0) -.Ljp7F02367C: -/* 0581EC 7F02367C 0FC1D8B9 */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 0581F0 7F023680 02002025 */ move $a0, $s0 -/* 0581F4 7F023684 8FA90024 */ lw $t1, 0x24($sp) -/* 0581F8 7F023688 8FAB003C */ lw $t3, 0x3c($sp) -/* 0581FC 7F02368C 912A0011 */ lbu $t2, 0x11($t1) -/* 058200 7F023690 55400018 */ bnezl $t2, .Ljp7F0236F4 -/* 058204 7F023694 8FAA004C */ lw $t2, 0x4c($sp) -/* 058208 7F023698 05620016 */ bltzl $t3, .Ljp7F0236F4 -/* 05820C 7F02369C 8FAA004C */ lw $t2, 0x4c($sp) -/* 058210 7F0236A0 8E0C0008 */ lw $t4, 8($s0) -/* 058214 7F0236A4 8D8D0010 */ lw $t5, 0x10($t4) -/* 058218 7F0236A8 11A00011 */ beqz $t5, .Ljp7F0236F0 -/* 05821C 7F0236AC AFAD002C */ sw $t5, 0x2c($sp) -/* 058220 7F0236B0 8E2F0000 */ lw $t7, ($s1) -/* 058224 7F0236B4 000BC080 */ sll $t8, $t3, 2 -/* 058228 7F0236B8 030BC021 */ addu $t8, $t8, $t3 -/* 05822C 7F0236BC 15E00006 */ bnez $t7, .Ljp7F0236D8 -/* 058230 7F0236C0 02202025 */ move $a0, $s1 -/* 058234 7F0236C4 0018C080 */ sll $t8, $t8, 2 -/* 058238 7F0236C8 3C058004 */ lui $a1, %hi(c_item_entries+4) -/* 05823C 7F0236CC 00B82821 */ addu $a1, $a1, $t8 -/* 058240 7F0236D0 0FC1DACF */ jal load_object_into_memory -/* 058244 7F0236D4 8CA5DE44 */ lw $a1, %lo(c_item_entries+4)($a1) -.Ljp7F0236D8: -/* 058248 7F0236D8 0FC1D8B9 */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 05824C 7F0236DC 02202025 */ move $a0, $s1 -/* 058250 7F0236E0 86190014 */ lh $t9, 0x14($s0) -/* 058254 7F0236E4 86280014 */ lh $t0, 0x14($s1) -/* 058258 7F0236E8 03284821 */ addu $t1, $t9, $t0 -/* 05825C 7F0236EC A6090014 */ sh $t1, 0x14($s0) -.Ljp7F0236F0: -/* 058260 7F0236F0 8FAA004C */ lw $t2, 0x4c($sp) -.Ljp7F0236F4: -/* 058264 7F0236F4 55400005 */ bnezl $t2, .Ljp7F02370C -/* 058268 7F0236F8 8FAC004C */ lw $t4, 0x4c($sp) -/* 05826C 7F0236FC 0FC1B20B */ jal get_aircraft_obj_instance_controller -/* 058270 7F023700 02002025 */ move $a0, $s0 -/* 058274 7F023704 AFA2004C */ sw $v0, 0x4c($sp) -/* 058278 7F023708 8FAC004C */ lw $t4, 0x4c($sp) -.Ljp7F02370C: -/* 05827C 7F02370C 11800020 */ beqz $t4, .Ljp7F023790 -/* 058280 7F023710 01802025 */ move $a0, $t4 -/* 058284 7F023714 0FC1B51A */ jal set_obj_instance_controller_scale -/* 058288 7F023718 8FA50034 */ lw $a1, 0x34($sp) -/* 05828C 7F02371C 8FA4004C */ lw $a0, 0x4c($sp) -/* 058290 7F023720 0FC1B51D */ jal sub_GAME_7F06CE84 -/* 058294 7F023724 8FA50030 */ lw $a1, 0x30($sp) -/* 058298 7F023728 12200019 */ beqz $s1, .Ljp7F023790 -/* 05829C 7F02372C 8FAD0024 */ lw $t5, 0x24($sp) -/* 0582A0 7F023730 91AE0011 */ lbu $t6, 0x11($t5) -/* 0582A4 7F023734 55C00017 */ bnezl $t6, .Ljp7F023794 -/* 0582A8 7F023738 8FBF001C */ lw $ra, 0x1c($sp) -/* 0582AC 7F02373C 860F0014 */ lh $t7, 0x14($s0) -/* 0582B0 7F023740 862B0014 */ lh $t3, 0x14($s1) -/* 0582B4 7F023744 02203025 */ move $a2, $s1 -/* 0582B8 7F023748 01EBC023 */ subu $t8, $t7, $t3 -/* 0582BC 7F02374C A6180014 */ sh $t8, 0x14($s0) -/* 0582C0 7F023750 8FA5002C */ lw $a1, 0x2c($sp) -/* 0582C4 7F023754 0FC1B269 */ jal sub_GAME_7F06C3B4 -/* 0582C8 7F023758 8FA4004C */ lw $a0, 0x4c($sp) -/* 0582CC 7F02375C 8FB90048 */ lw $t9, 0x48($sp) -/* 0582D0 7F023760 5720000C */ bnezl $t9, .Ljp7F023794 -/* 0582D4 7F023764 8FBF001C */ lw $ra, 0x1c($sp) -/* 0582D8 7F023768 8628000C */ lh $t0, 0xc($s1) -/* 0582DC 7F02376C 59000009 */ blezl $t0, .Ljp7F023794 -/* 0582E0 7F023770 8FBF001C */ lw $ra, 0x1c($sp) -/* 0582E4 7F023774 8E290008 */ lw $t1, 8($s1) -/* 0582E8 7F023778 8D250000 */ lw $a1, ($t1) -/* 0582EC 7F02377C 50A00005 */ beql $a1, $zero, .Ljp7F023794 -/* 0582F0 7F023780 8FBF001C */ lw $ra, 0x1c($sp) -/* 0582F4 7F023784 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 0582F8 7F023788 8FA4004C */ lw $a0, 0x4c($sp) -/* 0582FC 7F02378C AC400000 */ sw $zero, ($v0) -.Ljp7F023790: -/* 058300 7F023790 8FBF001C */ lw $ra, 0x1c($sp) -.Ljp7F023794: -/* 058304 7F023794 8FA2004C */ lw $v0, 0x4c($sp) -/* 058308 7F023798 8FB00014 */ lw $s0, 0x14($sp) -/* 05830C 7F02379C 8FB10018 */ lw $s1, 0x18($sp) -/* 058310 7F0237A0 03E00008 */ jr $ra -/* 058314 7F0237A4 27BD0038 */ addiu $sp, $sp, 0x38 - -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0234A8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0234A8 -/* 057FD8 7F0234A8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 057FDC 7F0234AC 8FAE0030 */ lw $t6, 0x30($sp) -/* 057FE0 7F0234B0 AFBF001C */ sw $ra, 0x1c($sp) -/* 057FE4 7F0234B4 AFA00014 */ sw $zero, 0x14($sp) -/* 057FE8 7F0234B8 0FC08CBA */ jal maybe_load_models_for_guards -/* 057FEC 7F0234BC AFAE0010 */ sw $t6, 0x10($sp) -/* 057FF0 7F0234C0 8FBF001C */ lw $ra, 0x1c($sp) -/* 057FF4 7F0234C4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 057FF8 7F0234C8 03E00008 */ jr $ra -/* 057FFC 7F0234CC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void retrieve_header_for_body_and_head(void) { - -} -#else -GLOBAL_ASM( -.text -glabel retrieve_header_for_body_and_head -/* 058000 7F0234D0 00047080 */ sll $t6, $a0, 2 -/* 058004 7F0234D4 01C47021 */ addu $t6, $t6, $a0 -/* 058008 7F0234D8 3C0F8004 */ lui $t7, %hi(c_item_entries) -/* 05800C 7F0234DC 25EFDE10 */ addiu $t7, %lo(c_item_entries) # addiu $t7, $t7, -0x21f0 -/* 058010 7F0234E0 000E7080 */ sll $t6, $t6, 2 -/* 058014 7F0234E4 01CF3821 */ addu $a3, $t6, $t7 -/* 058018 7F0234E8 8CF80000 */ lw $t8, ($a3) -/* 05801C 7F0234EC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 058020 7F0234F0 30D90001 */ andi $t9, $a2, 1 -/* 058024 7F0234F4 AFBF001C */ sw $ra, 0x1c($sp) -/* 058028 7F0234F8 AFA00028 */ sw $zero, 0x28($sp) -/* 05802C 7F0234FC 00001825 */ move $v1, $zero -/* 058030 7F023500 13200003 */ beqz $t9, .L7F023510 -/* 058034 7F023504 AFB8002C */ sw $t8, 0x2c($sp) -/* 058038 7F023508 1000000E */ b .L7F023544 -/* 05803C 7F02350C 24030001 */ li $v1, 1 -.L7F023510: -/* 058040 7F023510 30C80002 */ andi $t0, $a2, 2 -/* 058044 7F023514 1100000B */ beqz $t0, .L7F023544 -/* 058048 7F023518 00000000 */ nop -/* 05804C 7F02351C AFA40030 */ sw $a0, 0x30($sp) -/* 058050 7F023520 AFA50034 */ sw $a1, 0x34($sp) -/* 058054 7F023524 0C002914 */ jal get_random_value -/* 058058 7F023528 AFA70020 */ sw $a3, 0x20($sp) -/* 05805C 7F02352C 30430001 */ andi $v1, $v0, 1 -/* 058060 7F023530 2C690001 */ sltiu $t1, $v1, 1 -/* 058064 7F023534 01201825 */ move $v1, $t1 -/* 058068 7F023538 8FA40030 */ lw $a0, 0x30($sp) -/* 05806C 7F02353C 8FA50034 */ lw $a1, 0x34($sp) -/* 058070 7F023540 8FA70020 */ lw $a3, 0x20($sp) -.L7F023544: -/* 058074 7F023544 04A2000B */ bltzl $a1, .L7F023574 -/* 058078 7F023548 8FA6002C */ lw $a2, 0x2c($sp) -/* 05807C 7F02354C 90EA0011 */ lbu $t2, 0x11($a3) -/* 058080 7F023550 00055880 */ sll $t3, $a1, 2 -/* 058084 7F023554 01655821 */ addu $t3, $t3, $a1 -/* 058088 7F023558 15400005 */ bnez $t2, .L7F023570 -/* 05808C 7F02355C 000B5880 */ sll $t3, $t3, 2 -/* 058090 7F023560 3C0C8004 */ lui $t4, %hi(c_item_entries) -/* 058094 7F023564 018B6021 */ addu $t4, $t4, $t3 -/* 058098 7F023568 8D8CDE10 */ lw $t4, %lo(c_item_entries)($t4) -/* 05809C 7F02356C AFAC0028 */ sw $t4, 0x28($sp) -.L7F023570: -/* 0580A0 7F023570 8FA6002C */ lw $a2, 0x2c($sp) -.L7F023574: -/* 0580A4 7F023574 8FA70028 */ lw $a3, 0x28($sp) -/* 0580A8 7F023578 0FC08D2A */ jal sub_GAME_7F0234A8 -/* 0580AC 7F02357C AFA30010 */ sw $v1, 0x10($sp) -/* 0580B0 7F023580 8FBF001C */ lw $ra, 0x1c($sp) -/* 0580B4 7F023584 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0580B8 7F023588 03E00008 */ jr $ra -/* 0580BC 7F02358C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_current_random_body(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_current_random_body -/* 0580C0 7F023590 3C0E8003 */ lui $t6, %hi(current_random_body) -/* 0580C4 7F023594 8DCECE34 */ lw $t6, %lo(current_random_body)($t6) -/* 0580C8 7F023598 3C028003 */ lui $v0, %hi(list_of_bodies) -/* 0580CC 7F02359C 000E7880 */ sll $t7, $t6, 2 -/* 0580D0 7F0235A0 004F1021 */ addu $v0, $v0, $t7 -/* 0580D4 7F0235A4 03E00008 */ jr $ra -/* 0580D8 7F0235A8 8C42CD0C */ lw $v0, %lo(list_of_bodies)($v0) -) -#endif - - - -#ifdef NONMATCHING -void select_psuedorandom_heads(void) { - -} -#else -GLOBAL_ASM( -.text -glabel select_psuedorandom_heads -/* 0580DC 7F0235AC 00047080 */ sll $t6, $a0, 2 -/* 0580E0 7F0235B0 01C47021 */ addu $t6, $t6, $a0 -/* 0580E4 7F0235B4 000E7080 */ sll $t6, $t6, 2 -/* 0580E8 7F0235B8 3C0F8004 */ lui $t7, %hi(c_item_entries+16) -/* 0580EC 7F0235BC 01EE7821 */ addu $t7, $t7, $t6 -/* 0580F0 7F0235C0 91EFDE20 */ lbu $t7, %lo(c_item_entries+16)($t7) -/* 0580F4 7F0235C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0580F8 7F0235C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0580FC 7F0235CC 11E0001A */ beqz $t7, .L7F023638 -/* 058100 7F0235D0 3C0B8003 */ lui $t3, %hi(current_random_female_head) -/* 058104 7F0235D4 0C002914 */ jal get_random_value -/* 058108 7F0235D8 00000000 */ nop -/* 05810C 7F0235DC 3C188003 */ lui $t8, %hi(current_random_male_head) -/* 058110 7F0235E0 8F18CE38 */ lw $t8, %lo(current_random_male_head)($t8) -/* 058114 7F0235E4 30590003 */ andi $t9, $v0, 3 -/* 058118 7F0235E8 3C098003 */ lui $t1, %hi(num_male_heads) -/* 05811C 7F0235EC 8D29CD04 */ lw $t1, %lo(num_male_heads)($t1) -/* 058120 7F0235F0 03194021 */ addu $t0, $t8, $t9 -/* 058124 7F0235F4 0109001A */ div $zero, $t0, $t1 -/* 058128 7F0235F8 00001810 */ mfhi $v1 -/* 05812C 7F0235FC 00035080 */ sll $t2, $v1, 2 -/* 058130 7F023600 3C038003 */ lui $v1, %hi(random_male_heads) -/* 058134 7F023604 006A1821 */ addu $v1, $v1, $t2 -/* 058138 7F023608 15200002 */ bnez $t1, .L7F023614 -/* 05813C 7F02360C 00000000 */ nop -/* 058140 7F023610 0007000D */ break 7 -.L7F023614: -/* 058144 7F023614 2401FFFF */ li $at, -1 -/* 058148 7F023618 15210004 */ bne $t1, $at, .L7F02362C -/* 05814C 7F02361C 3C018000 */ lui $at, 0x8000 -/* 058150 7F023620 15010002 */ bne $t0, $at, .L7F02362C -/* 058154 7F023624 00000000 */ nop -/* 058158 7F023628 0006000D */ break 6 -.L7F02362C: -/* 05815C 7F02362C 8C63CDB8 */ lw $v1, %lo(random_male_heads)($v1) -/* 058160 7F023630 10000007 */ b .L7F023650 -/* 058164 7F023634 8FBF0014 */ lw $ra, 0x14($sp) -.L7F023638: -/* 058168 7F023638 8D6BCE3C */ lw $t3, %lo(current_random_female_head)($t3) -/* 05816C 7F02363C 3C038003 */ lui $v1, %hi(random_female_heads) -/* 058170 7F023640 000B6080 */ sll $t4, $t3, 2 -/* 058174 7F023644 006C1821 */ addu $v1, $v1, $t4 -/* 058178 7F023648 8C63CE20 */ lw $v1, %lo(random_female_heads)($v1) -/* 05817C 7F02364C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F023650: -/* 058180 7F023650 27BD0018 */ addiu $sp, $sp, 0x18 -/* 058184 7F023654 00601025 */ move $v0, $v1 -/* 058188 7F023658 03E00008 */ jr $ra -/* 05818C 7F02365C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_random_head(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_random_head -/* 058190 7F023660 00047080 */ sll $t6, $a0, 2 -/* 058194 7F023664 01C47021 */ addu $t6, $t6, $a0 -/* 058198 7F023668 000E7080 */ sll $t6, $t6, 2 -/* 05819C 7F02366C 3C0F8004 */ lui $t7, %hi(c_item_entries+16) -/* 0581A0 7F023670 01EE7821 */ addu $t7, $t7, $t6 -/* 0581A4 7F023674 91EFDE20 */ lbu $t7, %lo(c_item_entries+16)($t7) -/* 0581A8 7F023678 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0581AC 7F02367C AFBF0014 */ sw $ra, 0x14($sp) -/* 0581B0 7F023680 11E00010 */ beqz $t7, .L7F0236C4 -/* 0581B4 7F023684 00000000 */ nop -/* 0581B8 7F023688 0C002914 */ jal get_random_value -/* 0581BC 7F02368C 00000000 */ nop -/* 0581C0 7F023690 3C188003 */ lui $t8, %hi(num_male_heads) -/* 0581C4 7F023694 8F18CD04 */ lw $t8, %lo(num_male_heads)($t8) -/* 0581C8 7F023698 3C038003 */ lui $v1, %hi(random_male_heads) -/* 0581CC 7F02369C 0058001B */ divu $zero, $v0, $t8 -/* 0581D0 7F0236A0 0000C810 */ mfhi $t9 -/* 0581D4 7F0236A4 00194080 */ sll $t0, $t9, 2 -/* 0581D8 7F0236A8 00681821 */ addu $v1, $v1, $t0 -/* 0581DC 7F0236AC 17000002 */ bnez $t8, .L7F0236B8 -/* 0581E0 7F0236B0 00000000 */ nop -/* 0581E4 7F0236B4 0007000D */ break 7 -.L7F0236B8: -/* 0581E8 7F0236B8 8C63CDB8 */ lw $v1, %lo(random_male_heads)($v1) -/* 0581EC 7F0236BC 1000000F */ b .L7F0236FC -/* 0581F0 7F0236C0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0236C4: -/* 0581F4 7F0236C4 0C002914 */ jal get_random_value -/* 0581F8 7F0236C8 00000000 */ nop -/* 0581FC 7F0236CC 3C098003 */ lui $t1, %hi(num_female_heads) -/* 058200 7F0236D0 8D29CD08 */ lw $t1, %lo(num_female_heads)($t1) -/* 058204 7F0236D4 3C038003 */ lui $v1, %hi(random_female_heads) -/* 058208 7F0236D8 0049001B */ divu $zero, $v0, $t1 -/* 05820C 7F0236DC 00005010 */ mfhi $t2 -/* 058210 7F0236E0 000A5880 */ sll $t3, $t2, 2 -/* 058214 7F0236E4 006B1821 */ addu $v1, $v1, $t3 -/* 058218 7F0236E8 8C63CE20 */ lw $v1, %lo(random_female_heads)($v1) -/* 05821C 7F0236EC 15200002 */ bnez $t1, .L7F0236F8 -/* 058220 7F0236F0 00000000 */ nop -/* 058224 7F0236F4 0007000D */ break 7 -.L7F0236F8: -/* 058228 7F0236F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0236FC: -/* 05822C 7F0236FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 058230 7F023700 00601025 */ move $v0, $v1 -/* 058234 7F023704 03E00008 */ jr $ra -/* 058238 7F023708 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void expand_09_characters(void) { - -} -#else -GLOBAL_ASM( -.text -glabel expand_09_characters -/* 05823C 7F02370C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 058240 7F023710 AFBF0024 */ sw $ra, 0x24($sp) -/* 058244 7F023714 AFB00020 */ sw $s0, 0x20($sp) -/* 058248 7F023718 AFA40060 */ sw $a0, 0x60($sp) -/* 05824C 7F02371C AFA60068 */ sw $a2, 0x68($sp) -/* 058250 7F023720 94AE0006 */ lhu $t6, 6($a1) -/* 058254 7F023724 3C188007 */ lui $t8, %hi(ptr_0xxxpresets) -/* 058258 7F023728 8F185D18 */ lw $t8, %lo(ptr_0xxxpresets)($t8) -/* 05825C 7F02372C 000E7880 */ sll $t7, $t6, 2 -/* 058260 7F023730 01EE7823 */ subu $t7, $t7, $t6 -/* 058264 7F023734 000F7880 */ sll $t7, $t7, 2 -/* 058268 7F023738 01EE7823 */ subu $t7, $t7, $t6 -/* 05826C 7F02373C 000F7880 */ sll $t7, $t7, 2 -/* 058270 7F023740 00A08025 */ move $s0, $a1 -/* 058274 7F023744 01F82021 */ addu $a0, $t7, $t8 -/* 058278 7F023748 8C850028 */ lw $a1, 0x28($a0) -/* 05827C 7F02374C 27B90054 */ addiu $t9, $sp, 0x54 -/* 058280 7F023750 AFB90010 */ sw $t9, 0x10($sp) -/* 058284 7F023754 AFA4005C */ sw $a0, 0x5c($sp) -/* 058288 7F023758 3C0641A0 */ lui $a2, 0x41a0 -/* 05828C 7F02375C 0FC15A14 */ jal sub_GAME_7F056850 -/* 058290 7F023760 27A70048 */ addiu $a3, $sp, 0x48 -/* 058294 7F023764 10400065 */ beqz $v0, .L7F0238FC -/* 058298 7F023768 2408FFFF */ li $t0, -1 -/* 05829C 7F02376C AFA80030 */ sw $t0, 0x30($sp) -/* 0582A0 7F023770 96020008 */ lhu $v0, 8($s0) -/* 0582A4 7F023774 3401FFFF */ li $at, 65535 -/* 0582A8 7F023778 54410006 */ bnel $v0, $at, .L7F023794 -/* 0582AC 7F02377C AFA20034 */ sw $v0, 0x34($sp) -/* 0582B0 7F023780 0FC08D64 */ jal get_current_random_body -/* 0582B4 7F023784 00000000 */ nop -/* 0582B8 7F023788 10000002 */ b .L7F023794 -/* 0582BC 7F02378C AFA20034 */ sw $v0, 0x34($sp) -/* 0582C0 7F023790 AFA20034 */ sw $v0, 0x34($sp) -.L7F023794: -/* 0582C4 7F023794 8FA90034 */ lw $t1, 0x34($sp) -/* 0582C8 7F023798 3C0B8004 */ lui $t3, %hi(c_item_entries+17) -/* 0582CC 7F02379C 00095080 */ sll $t2, $t1, 2 -/* 0582D0 7F0237A0 01495021 */ addu $t2, $t2, $t1 -/* 0582D4 7F0237A4 000A5080 */ sll $t2, $t2, 2 -/* 0582D8 7F0237A8 016A5821 */ addu $t3, $t3, $t2 -/* 0582DC 7F0237AC 916BDE21 */ lbu $t3, %lo(c_item_entries+17)($t3) -/* 0582E0 7F0237B0 5560000A */ bnezl $t3, .L7F0237DC -/* 0582E4 7F0237B4 8FA40034 */ lw $a0, 0x34($sp) -/* 0582E8 7F0237B8 86020016 */ lh $v0, 0x16($s0) -/* 0582EC 7F0237BC 04400003 */ bltz $v0, .L7F0237CC -/* 0582F0 7F0237C0 00000000 */ nop -/* 0582F4 7F0237C4 10000004 */ b .L7F0237D8 -/* 0582F8 7F0237C8 AFA20030 */ sw $v0, 0x30($sp) -.L7F0237CC: -/* 0582FC 7F0237CC 0FC08D6B */ jal select_psuedorandom_heads -/* 058300 7F0237D0 8FA40034 */ lw $a0, 0x34($sp) -/* 058304 7F0237D4 AFA20030 */ sw $v0, 0x30($sp) -.L7F0237D8: -/* 058308 7F0237D8 8FA40034 */ lw $a0, 0x34($sp) -.L7F0237DC: -/* 05830C 7F0237DC 8FA50030 */ lw $a1, 0x30($sp) -/* 058310 7F0237E0 0FC08D34 */ jal retrieve_header_for_body_and_head -/* 058314 7F0237E4 96060014 */ lhu $a2, 0x14($s0) -/* 058318 7F0237E8 10400044 */ beqz $v0, .L7F0238FC -/* 05831C 7F0237EC AFA20038 */ sw $v0, 0x38($sp) -/* 058320 7F0237F0 8FA2005C */ lw $v0, 0x5c($sp) -/* 058324 7F0237F4 C44C0018 */ lwc1 $f12, 0x18($v0) -/* 058328 7F0237F8 0FC16A8C */ jal convert_angle_using_inverse -/* 05832C 7F0237FC C44E0020 */ lwc1 $f14, 0x20($v0) -/* 058330 7F023800 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 058334 7F023804 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 058338 7F023808 9604000A */ lhu $a0, 0xa($s0) -/* 05833C 7F02380C 8FA40038 */ lw $a0, 0x38($sp) -/* 058340 7F023810 27A50048 */ addiu $a1, $sp, 0x48 -/* 058344 7F023814 8FA6003C */ lw $a2, 0x3c($sp) -/* 058348 7F023818 8FA70054 */ lw $a3, 0x54($sp) -/* 05834C 7F02381C 0FC080EE */ jal replace_GUARDdata_with_actual_values -/* 058350 7F023820 AFA20010 */ sw $v0, 0x10($sp) -/* 058354 7F023824 10400035 */ beqz $v0, .L7F0238FC -/* 058358 7F023828 00402025 */ move $a0, $v0 -/* 05835C 7F02382C 0FC0E929 */ jal set_current_objposdata_plus_0x28 -/* 058360 7F023830 AFA20044 */ sw $v0, 0x44($sp) -/* 058364 7F023834 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 058368 7F023838 8FA40044 */ lw $a0, 0x44($sp) -/* 05836C 7F02383C 8FAC0044 */ lw $t4, 0x44($sp) -/* 058370 7F023840 960D0004 */ lhu $t5, 4($s0) -/* 058374 7F023844 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 058378 7F023848 8D820004 */ lw $v0, 4($t4) -/* 05837C 7F02384C A44D0000 */ sh $t5, ($v0) -/* 058380 7F023850 960E0010 */ lhu $t6, 0x10($s0) -/* 058384 7F023854 448E2000 */ mtc1 $t6, $f4 -/* 058388 7F023858 05C10004 */ bgez $t6, .L7F02386C -/* 05838C 7F02385C 468021A0 */ cvt.s.w $f6, $f4 -/* 058390 7F023860 44814000 */ mtc1 $at, $f8 -/* 058394 7F023864 00000000 */ nop -/* 058398 7F023868 46083180 */ add.s $f6, $f6, $f8 -.L7F02386C: -/* 05839C 7F02386C 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0583A0 7F023870 44815000 */ mtc1 $at, $f10 -/* 0583A4 7F023874 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0583A8 7F023878 460A3403 */ div.s $f16, $f6, $f10 -/* 0583AC 7F02387C E45000EC */ swc1 $f16, 0xec($v0) -/* 0583B0 7F023880 960F0012 */ lhu $t7, 0x12($s0) -/* 0583B4 7F023884 448F9000 */ mtc1 $t7, $f18 -/* 0583B8 7F023888 05E10004 */ bgez $t7, .L7F02389C -/* 0583BC 7F02388C 46809120 */ cvt.s.w $f4, $f18 -/* 0583C0 7F023890 44814000 */ mtc1 $at, $f8 -/* 0583C4 7F023894 00000000 */ nop -/* 0583C8 7F023898 46082100 */ add.s $f4, $f4, $f8 -.L7F02389C: -/* 0583CC 7F02389C E44400D0 */ swc1 $f4, 0xd0($v0) -/* 0583D0 7F0238A0 9618000C */ lhu $t8, 0xc($s0) -/* 0583D4 7F0238A4 A4580114 */ sh $t8, 0x114($v0) -/* 0583D8 7F0238A8 9619000E */ lhu $t9, 0xe($s0) -/* 0583DC 7F0238AC A4590116 */ sh $t9, 0x116($v0) -/* 0583E0 7F0238B0 8FA80030 */ lw $t0, 0x30($sp) -/* 0583E4 7F0238B4 A0480006 */ sb $t0, 6($v0) -/* 0583E8 7F0238B8 8FA90034 */ lw $t1, 0x34($sp) -/* 0583EC 7F0238BC A049000F */ sb $t1, 0xf($v0) -/* 0583F0 7F0238C0 96030014 */ lhu $v1, 0x14($s0) -/* 0583F4 7F0238C4 306A0004 */ andi $t2, $v1, 4 -/* 0583F8 7F0238C8 51400006 */ beql $t2, $zero, .L7F0238E4 -/* 0583FC 7F0238CC 306D0008 */ andi $t5, $v1, 8 -/* 058400 7F0238D0 8C4B0014 */ lw $t3, 0x14($v0) -/* 058404 7F0238D4 356C0002 */ ori $t4, $t3, 2 -/* 058408 7F0238D8 AC4C0014 */ sw $t4, 0x14($v0) -/* 05840C 7F0238DC 96030014 */ lhu $v1, 0x14($s0) -/* 058410 7F0238E0 306D0008 */ andi $t5, $v1, 8 -.L7F0238E4: -/* 058414 7F0238E4 51A00005 */ beql $t5, $zero, .L7F0238FC -/* 058418 7F0238E8 AE020018 */ sw $v0, 0x18($s0) -/* 05841C 7F0238EC 8C4E0014 */ lw $t6, 0x14($v0) -/* 058420 7F0238F0 35CF0010 */ ori $t7, $t6, 0x10 -/* 058424 7F0238F4 AC4F0014 */ sw $t7, 0x14($v0) -/* 058428 7F0238F8 AE020018 */ sw $v0, 0x18($s0) -.L7F0238FC: -/* 05842C 7F0238FC 8FBF0024 */ lw $ra, 0x24($sp) -/* 058430 7F023900 8FB00020 */ lw $s0, 0x20($sp) -/* 058434 7F023904 27BD0060 */ addiu $sp, $sp, 0x60 -/* 058438 7F023908 03E00008 */ jr $ra -/* 05843C 7F02390C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_item_held_like_pistol(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_item_held_like_pistol -/* 058440 7F023910 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 058444 7F023914 10800007 */ beqz $a0, .L7F023934 -/* 058448 7F023918 AFBF0014 */ sw $ra, 0x14($sp) -/* 05844C 7F02391C 8C820004 */ lw $v0, 4($a0) -/* 058450 7F023920 24050100 */ li $a1, 256 -/* 058454 7F023924 0FC1782D */ jal check_special_attributes -/* 058458 7F023928 80440080 */ lb $a0, 0x80($v0) -/* 05845C 7F02392C 10000003 */ b .L7F02393C -/* 058460 7F023930 8FBF0014 */ lw $ra, 0x14($sp) -.L7F023934: -/* 058464 7F023934 00001025 */ move $v0, $zero -/* 058468 7F023938 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02393C: -/* 05846C 7F02393C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 058470 7F023940 03E00008 */ jr $ra -/* 058474 7F023944 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023948(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023948 -/* 058478 7F023948 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05847C 7F02394C AFBF0024 */ sw $ra, 0x24($sp) -/* 058480 7F023950 AFB00020 */ sw $s0, 0x20($sp) -/* 058484 7F023954 AFA50034 */ sw $a1, 0x34($sp) -/* 058488 7F023958 00808025 */ move $s0, $a0 -/* 05848C 7F02395C 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 058490 7F023960 24050001 */ li $a1, 1 -/* 058494 7F023964 AFA2002C */ sw $v0, 0x2c($sp) -/* 058498 7F023968 02002025 */ move $a0, $s0 -/* 05849C 7F02396C 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0584A0 7F023970 00002825 */ move $a1, $zero -/* 0584A4 7F023974 8FA4002C */ lw $a0, 0x2c($sp) -/* 0584A8 7F023978 AFA20028 */ sw $v0, 0x28($sp) -/* 0584AC 7F02397C 10800003 */ beqz $a0, .L7F02398C -/* 0584B0 7F023980 00000000 */ nop -/* 0584B4 7F023984 1440000D */ bnez $v0, .L7F0239BC -/* 0584B8 7F023988 00000000 */ nop -.L7F02398C: -/* 0584BC 7F02398C 14800003 */ bnez $a0, .L7F02399C -/* 0584C0 7F023990 00000000 */ nop -/* 0584C4 7F023994 10400009 */ beqz $v0, .L7F0239BC -/* 0584C8 7F023998 00000000 */ nop -.L7F02399C: -/* 0584CC 7F02399C 0FC08E44 */ jal check_if_item_held_like_pistol -/* 0584D0 7F0239A0 00000000 */ nop -/* 0584D4 7F0239A4 14400005 */ bnez $v0, .L7F0239BC -/* 0584D8 7F0239A8 00000000 */ nop -/* 0584DC 7F0239AC 0FC08E44 */ jal check_if_item_held_like_pistol -/* 0584E0 7F0239B0 8FA40028 */ lw $a0, 0x28($sp) -/* 0584E4 7F0239B4 10400017 */ beqz $v0, .L7F023A14 -/* 0584E8 7F0239B8 8FB80028 */ lw $t8, 0x28($sp) -.L7F0239BC: -/* 0584EC 7F0239BC 0C002914 */ jal get_random_value -/* 0584F0 7F0239C0 00000000 */ nop -/* 0584F4 7F0239C4 3C0E8007 */ lui $t6, %hi(ptr_animation_table) -/* 0584F8 7F0239C8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0584FC 7F0239CC 44812000 */ mtc1 $at, $f4 -/* 058500 7F0239D0 8DCE9538 */ lw $t6, %lo(ptr_animation_table)($t6) -/* 058504 7F0239D4 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 058508 7F0239D8 3C0F0001 */ lui $t7, %hi(0x00008194) # $t7, 1 -/* 05850C 7F0239DC 25EF8194 */ addiu $t7, %lo(0x00008194) # addiu $t7, $t7, -0x7e6c -/* 058510 7F0239E0 8E04001C */ lw $a0, 0x1c($s0) -/* 058514 7F0239E4 30460001 */ andi $a2, $v0, 1 -/* 058518 7F0239E8 24070000 */ li $a3, 0 -/* 05851C 7F0239EC E7A40010 */ swc1 $f4, 0x10($sp) -/* 058520 7F0239F0 01CF2821 */ addu $a1, $t6, $t7 -/* 058524 7F0239F4 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058528 7F0239F8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05852C 7F0239FC 8E04001C */ lw $a0, 0x1c($s0) -/* 058530 7F023A00 24050000 */ li $a1, 0 -/* 058534 7F023A04 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 058538 7F023A08 3C064180 */ lui $a2, 0x4180 -/* 05853C 7F023A0C 1000001D */ b .L7F023A84 -/* 058540 7F023A10 8FBF0024 */ lw $ra, 0x24($sp) -.L7F023A14: -/* 058544 7F023A14 17000003 */ bnez $t8, .L7F023A24 -/* 058548 7F023A18 8FB9002C */ lw $t9, 0x2c($sp) -/* 05854C 7F023A1C 53200019 */ beql $t9, $zero, .L7F023A84 -/* 058550 7F023A20 8FBF0024 */ lw $ra, 0x24($sp) -.L7F023A24: -/* 058554 7F023A24 8FA6002C */ lw $a2, 0x2c($sp) -/* 058558 7F023A28 3C088007 */ lui $t0, %hi(ptr_animation_table) -/* 05855C 7F023A2C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 058560 7F023A30 44814000 */ mtc1 $at, $f8 -/* 058564 7F023A34 8D089538 */ lw $t0, %lo(ptr_animation_table)($t0) -/* 058568 7F023A38 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 05856C 7F023A3C 3C090000 */ lui $t1, %hi(0x0000001C) # $t1, 0 -/* 058570 7F023A40 2529001C */ addiu $t1, %lo(0x0000001C) # addiu $t1, $t1, 0x1c -/* 058574 7F023A44 8E04001C */ lw $a0, 0x1c($s0) -/* 058578 7F023A48 0006502B */ sltu $t2, $zero, $a2 -/* 05857C 7F023A4C 01403025 */ move $a2, $t2 -/* 058580 7F023A50 24070000 */ li $a3, 0 -/* 058584 7F023A54 E7A80010 */ swc1 $f8, 0x10($sp) -/* 058588 7F023A58 01092821 */ addu $a1, $t0, $t1 -/* 05858C 7F023A5C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058590 7F023A60 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 058594 7F023A64 8E04001C */ lw $a0, 0x1c($s0) -/* 058598 7F023A68 24050000 */ li $a1, 0 -/* 05859C 7F023A6C 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 0585A0 7F023A70 3C064180 */ lui $a2, 0x4180 -/* 0585A4 7F023A74 8E04001C */ lw $a0, 0x1c($s0) -/* 0585A8 7F023A78 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0585AC 7F023A7C 3C0542F0 */ lui $a1, 0x42f0 -/* 0585B0 7F023A80 8FBF0024 */ lw $ra, 0x24($sp) -.L7F023A84: -/* 0585B4 7F023A84 8FB00020 */ lw $s0, 0x20($sp) -/* 0585B8 7F023A88 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0585BC 7F023A8C 03E00008 */ jr $ra -/* 0585C0 7F023A90 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023A94(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F023A94 -/* 0585C4 7F023A94 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0585C8 7F023A98 AFBF0014 */ sw $ra, 0x14($sp) -/* 0585CC 7F023A9C AFA5001C */ sw $a1, 0x1c($sp) -/* 0585D0 7F023AA0 0FC0B461 */ jal sub_GAME_7F02D184 -/* 0585D4 7F023AA4 AFA40018 */ sw $a0, 0x18($sp) -/* 0585D8 7F023AA8 8FA40018 */ lw $a0, 0x18($sp) -/* 0585DC 7F023AAC 240E0001 */ li $t6, 1 -/* 0585E0 7F023AB0 240F0002 */ li $t7, 2 -/* 0585E4 7F023AB4 A08E0007 */ sb $t6, 7($a0) -/* 0585E8 7F023AB8 AC80002C */ sw $zero, 0x2c($a0) -/* 0585EC 7F023ABC AC800030 */ sw $zero, 0x30($a0) -/* 0585F0 7F023AC0 AC800034 */ sw $zero, 0x34($a0) -/* 0585F4 7F023AC4 AC800038 */ sw $zero, 0x38($a0) -/* 0585F8 7F023AC8 AC8F003C */ sw $t7, 0x3c($a0) -/* 0585FC 7F023ACC 0C002914 */ jal get_random_value -/* 058600 7F023AD0 AC800040 */ sw $zero, 0x40($a0) -/* 058604 7F023AD4 24010078 */ li $at, 120 -/* 058608 7F023AD8 0041001B */ divu $zero, $v0, $at -/* 05860C 7F023ADC 8FA40018 */ lw $a0, 0x18($sp) -/* 058610 7F023AE0 0000C010 */ mfhi $t8 -/* 058614 7F023AE4 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 058618 7F023AE8 8C88001C */ lw $t0, 0x1c($a0) -/* 05861C 7F023AEC 271900B4 */ addiu $t9, $t8, 0xb4 -/* 058620 7F023AF0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 058624 7F023AF4 AC990044 */ sw $t9, 0x44($a0) -/* 058628 7F023AF8 44812000 */ mtc1 $at, $f4 -/* 05862C 7F023AFC C50200A4 */ lwc1 $f2, 0xa4($t0) -/* 058630 7F023B00 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 058634 7F023B04 46006006 */ mov.s $f0, $f12 -/* 058638 7F023B08 46022032 */ c.eq.s $f4, $f2 -/* 05863C 7F023B0C 00000000 */ nop -/* 058640 7F023B10 45030003 */ bc1tl .L7F023B20 -/* 058644 7F023B14 44811000 */ mtc1 $at, $f2 -/* 058648 7F023B18 46026003 */ div.s $f0, $f12, $f2 -/* 05864C 7F023B1C 44811000 */ mtc1 $at, $f2 -.L7F023B20: -/* 058650 7F023B20 00000000 */ nop -/* 058654 7F023B24 4600103C */ c.lt.s $f2, $f0 -/* 058658 7F023B28 00000000 */ nop -/* 05865C 7F023B2C 45020003 */ bc1fl .L7F023B3C -/* 058660 7F023B30 4600018D */ trunc.w.s $f6, $f0 -/* 058664 7F023B34 46001006 */ mov.s $f0, $f2 -/* 058668 7F023B38 4600018D */ trunc.w.s $f6, $f0 -.L7F023B3C: -/* 05866C 7F023B3C 44056000 */ mfc1 $a1, $f12 -/* 058670 7F023B40 440A3000 */ mfc1 $t2, $f6 -/* 058674 7F023B44 0FC08E52 */ jal sub_GAME_7F023948 -/* 058678 7F023B48 A08A0008 */ sb $t2, 8($a0) -/* 05867C 7F023B4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 058680 7F023B50 27BD0018 */ addiu $sp, $sp, 0x18 -/* 058684 7F023B54 03E00008 */ jr $ra -/* 058688 7F023B58 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F023A94 -/* 058904 7F023D94 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 058908 7F023D98 AFBF0014 */ sw $ra, 0x14($sp) -/* 05890C 7F023D9C AFA5001C */ sw $a1, 0x1c($sp) -/* 058910 7F023DA0 0FC0B523 */ jal sub_GAME_7F02D184 -/* 058914 7F023DA4 AFA40018 */ sw $a0, 0x18($sp) -/* 058918 7F023DA8 8FA40018 */ lw $a0, 0x18($sp) -/* 05891C 7F023DAC 240E0001 */ li $t6, 1 -/* 058920 7F023DB0 240F0002 */ li $t7, 2 -/* 058924 7F023DB4 A08E0007 */ sb $t6, 7($a0) -/* 058928 7F023DB8 AC80002C */ sw $zero, 0x2c($a0) -/* 05892C 7F023DBC AC800030 */ sw $zero, 0x30($a0) -/* 058930 7F023DC0 AC800034 */ sw $zero, 0x34($a0) -/* 058934 7F023DC4 AC800038 */ sw $zero, 0x38($a0) -/* 058938 7F023DC8 AC8F003C */ sw $t7, 0x3c($a0) -/* 05893C 7F023DCC 0C002918 */ jal get_random_value -/* 058940 7F023DD0 AC800040 */ sw $zero, 0x40($a0) -/* 058944 7F023DD4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 058948 7F023DD8 44817000 */ mtc1 $at, $f14 -/* 05894C 7F023DDC 24010078 */ li $at, 120 -/* 058950 7F023DE0 0041001B */ divu $zero, $v0, $at -/* 058954 7F023DE4 8FA40018 */ lw $a0, 0x18($sp) -/* 058958 7F023DE8 0000C010 */ mfhi $t8 -/* 05895C 7F023DEC C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 058960 7F023DF0 8C88001C */ lw $t0, 0x1c($a0) -/* 058964 7F023DF4 271900B4 */ addiu $t9, $t8, 0xb4 -/* 058968 7F023DF8 AC990044 */ sw $t9, 0x44($a0) -/* 05896C 7F023DFC C50200A4 */ lwc1 $f2, 0xa4($t0) -/* 058970 7F023E00 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 058974 7F023E04 46006006 */ mov.s $f0, $f12 -/* 058978 7F023E08 46027032 */ c.eq.s $f14, $f2 -/* 05897C 7F023E0C 00000000 */ nop -/* 058980 7F023E10 45030005 */ bc1tl .L7F023E28 -/* 058984 7F023E14 44811000 */ mtc1 $at, $f2 -/* 058988 7F023E18 46027103 */ div.s $f4, $f14, $f2 -/* 05898C 7F023E1C 46046002 */ mul.s $f0, $f12, $f4 -/* 058990 7F023E20 00000000 */ nop -/* 058994 7F023E24 44811000 */ mtc1 $at, $f2 -.L7F023E28: -/* 058998 7F023E28 00000000 */ nop -/* 05899C 7F023E2C 4600103C */ c.lt.s $f2, $f0 -/* 0589A0 7F023E30 00000000 */ nop -/* 0589A4 7F023E34 45020003 */ bc1fl .L7F023E44 -/* 0589A8 7F023E38 4600018D */ trunc.w.s $f6, $f0 -/* 0589AC 7F023E3C 46001006 */ mov.s $f0, $f2 -/* 0589B0 7F023E40 4600018D */ trunc.w.s $f6, $f0 -.L7F023E44: -/* 0589B4 7F023E44 44056000 */ mfc1 $a1, $f12 -/* 0589B8 7F023E48 440A3000 */ mfc1 $t2, $f6 -/* 0589BC 7F023E4C 0FC08F12 */ jal sub_GAME_7F023948 -/* 0589C0 7F023E50 A08A0008 */ sb $t2, 8($a0) -/* 0589C4 7F023E54 8FBF0014 */ lw $ra, 0x14($sp) -/* 0589C8 7F023E58 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0589CC 7F023E5C 03E00008 */ jr $ra -/* 0589D0 7F023E60 00000000 */ nop - -) -#endif - -#endif - -#ifdef NONMATCHING -void sub_GAME_7F023B5C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023B5C -/* 05868C 7F023B5C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 058690 7F023B60 AFBF0014 */ sw $ra, 0x14($sp) -/* 058694 7F023B64 AFA50024 */ sw $a1, 0x24($sp) -/* 058698 7F023B68 AFA60028 */ sw $a2, 0x28($sp) -/* 05869C 7F023B6C 808E0003 */ lb $t6, 3($a0) -/* 0586A0 7F023B70 448E2000 */ mtc1 $t6, $f4 -/* 0586A4 7F023B74 00000000 */ nop -/* 0586A8 7F023B78 468020A0 */ cvt.s.w $f2, $f4 -/* 0586AC 7F023B7C 0FC074AC */ jal get_007_reaction_speed -/* 0586B0 7F023B80 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0586B4 7F023B84 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0586B8 7F023B88 44816000 */ mtc1 $at, $f12 -/* 0586BC 7F023B8C C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 0586C0 7F023B90 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 0586C4 7F023B94 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 0586C8 7F023B98 46026181 */ sub.s $f6, $f12, $f2 -/* 0586CC 7F023B9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0586D0 7F023BA0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0586D4 7F023BA4 460E5401 */ sub.s $f16, $f10, $f14 -/* 0586D8 7F023BA8 46060202 */ mul.s $f8, $f0, $f6 -/* 0586DC 7F023BAC 46024080 */ add.s $f2, $f8, $f2 -/* 0586E0 7F023BB0 46028482 */ mul.s $f18, $f16, $f2 -/* 0586E4 7F023BB4 460C9103 */ div.s $f4, $f18, $f12 -/* 0586E8 7F023BB8 03E00008 */ jr $ra -/* 0586EC 7F023BBC 460E2000 */ add.s $f0, $f4, $f14 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023BC0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023BC0 -/* 0586F0 7F023BC0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0586F4 7F023BC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0586F8 7F023BC8 AFA50024 */ sw $a1, 0x24($sp) -/* 0586FC 7F023BCC 80830003 */ lb $v1, 3($a0) -/* 058700 7F023BD0 0FC074AC */ jal get_007_reaction_speed -/* 058704 7F023BD4 AFA3001C */ sw $v1, 0x1c($sp) -/* 058708 7F023BD8 8FA3001C */ lw $v1, 0x1c($sp) -/* 05870C 7F023BDC 24040064 */ li $a0, 100 -/* 058710 7F023BE0 8FA80024 */ lw $t0, 0x24($sp) -/* 058714 7F023BE4 00837023 */ subu $t6, $a0, $v1 -/* 058718 7F023BE8 448E2000 */ mtc1 $t6, $f4 -/* 05871C 7F023BEC 8FBF0014 */ lw $ra, 0x14($sp) -/* 058720 7F023BF0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 058724 7F023BF4 468021A0 */ cvt.s.w $f6, $f4 -/* 058728 7F023BF8 46060202 */ mul.s $f8, $f0, $f6 -/* 05872C 7F023BFC 4600428D */ trunc.w.s $f10, $f8 -/* 058730 7F023C00 44185000 */ mfc1 $t8, $f10 -/* 058734 7F023C04 00000000 */ nop -/* 058738 7F023C08 03031821 */ addu $v1, $t8, $v1 -/* 05873C 7F023C0C 0083C823 */ subu $t9, $a0, $v1 -/* 058740 7F023C10 03280019 */ multu $t9, $t0 -/* 058744 7F023C14 00004812 */ mflo $t1 -/* 058748 7F023C18 00000000 */ nop -/* 05874C 7F023C1C 00000000 */ nop -/* 058750 7F023C20 0124001A */ div $zero, $t1, $a0 -/* 058754 7F023C24 00001012 */ mflo $v0 -/* 058758 7F023C28 14800002 */ bnez $a0, .L7F023C34 -/* 05875C 7F023C2C 00000000 */ nop -/* 058760 7F023C30 0007000D */ break 7 -.L7F023C34: -/* 058764 7F023C34 2401FFFF */ li $at, -1 -/* 058768 7F023C38 14810004 */ bne $a0, $at, .L7F023C4C -/* 05876C 7F023C3C 3C018000 */ lui $at, 0x8000 -/* 058770 7F023C40 15210002 */ bne $t1, $at, .L7F023C4C -/* 058774 7F023C44 00000000 */ nop -/* 058778 7F023C48 0006000D */ break 6 -.L7F023C4C: -/* 05877C 7F023C4C 03E00008 */ jr $ra -/* 058780 7F023C50 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023C54(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023C54 -/* 058784 7F023C54 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 058788 7F023C58 AFBF0014 */ sw $ra, 0x14($sp) -/* 05878C 7F023C5C AFA50024 */ sw $a1, 0x24($sp) -/* 058790 7F023C60 AFA60028 */ sw $a2, 0x28($sp) -/* 058794 7F023C64 808E000D */ lb $t6, 0xd($a0) -/* 058798 7F023C68 448E2000 */ mtc1 $t6, $f4 -/* 05879C 7F023C6C 00000000 */ nop -/* 0587A0 7F023C70 468020A0 */ cvt.s.w $f2, $f4 -/* 0587A4 7F023C74 0FC074AC */ jal get_007_reaction_speed -/* 0587A8 7F023C78 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0587AC 7F023C7C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0587B0 7F023C80 44816000 */ mtc1 $at, $f12 -/* 0587B4 7F023C84 C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 0587B8 7F023C88 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 0587BC 7F023C8C C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 0587C0 7F023C90 46026181 */ sub.s $f6, $f12, $f2 -/* 0587C4 7F023C94 8FBF0014 */ lw $ra, 0x14($sp) -/* 0587C8 7F023C98 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0587CC 7F023C9C 460E5401 */ sub.s $f16, $f10, $f14 -/* 0587D0 7F023CA0 46060202 */ mul.s $f8, $f0, $f6 -/* 0587D4 7F023CA4 46024080 */ add.s $f2, $f8, $f2 -/* 0587D8 7F023CA8 46028482 */ mul.s $f18, $f16, $f2 -/* 0587DC 7F023CAC 460C9103 */ div.s $f4, $f18, $f12 -/* 0587E0 7F023CB0 03E00008 */ jr $ra -/* 0587E4 7F023CB4 460E2000 */ add.s $f0, $f4, $f14 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023CB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023CB8 -/* 0587E8 7F023CB8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0587EC 7F023CBC AFBF0024 */ sw $ra, 0x24($sp) -/* 0587F0 7F023CC0 AFB00020 */ sw $s0, 0x20($sp) -/* 0587F4 7F023CC4 808E0007 */ lb $t6, 7($a0) -/* 0587F8 7F023CC8 24010002 */ li $at, 2 -/* 0587FC 7F023CCC 00808025 */ move $s0, $a0 -/* 058800 7F023CD0 15C10049 */ bne $t6, $at, .L7F023DF8 -/* 058804 7F023CD4 3C054180 */ lui $a1, 0x4180 -/* 058808 7F023CD8 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05880C 7F023CDC 00000000 */ nop -/* 058810 7F023CE0 24020001 */ li $v0, 1 -/* 058814 7F023CE4 240F0002 */ li $t7, 2 -/* 058818 7F023CE8 A2020007 */ sb $v0, 7($s0) -/* 05881C 7F023CEC AE02002C */ sw $v0, 0x2c($s0) -/* 058820 7F023CF0 AE000030 */ sw $zero, 0x30($s0) -/* 058824 7F023CF4 AE000034 */ sw $zero, 0x34($s0) -/* 058828 7F023CF8 AE000038 */ sw $zero, 0x38($s0) -/* 05882C 7F023CFC AE0F003C */ sw $t7, 0x3c($s0) -/* 058830 7F023D00 0C002914 */ jal get_random_value -/* 058834 7F023D04 AE000040 */ sw $zero, 0x40($s0) -/* 058838 7F023D08 24010078 */ li $at, 120 -/* 05883C 7F023D0C 0041001B */ divu $zero, $v0, $at -/* 058840 7F023D10 0000C010 */ mfhi $t8 -/* 058844 7F023D14 271900B4 */ addiu $t9, $t8, 0xb4 -/* 058848 7F023D18 AE190044 */ sw $t9, 0x44($s0) -/* 05884C 7F023D1C A2000008 */ sb $zero, 8($s0) -/* 058850 7F023D20 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 058854 7F023D24 8E04001C */ lw $a0, 0x1c($s0) -/* 058858 7F023D28 3C088007 */ lui $t0, %hi(ptr_animation_table) -/* 05885C 7F023D2C 8D089538 */ lw $t0, %lo(ptr_animation_table)($t0) -/* 058860 7F023D30 3C030000 */ lui $v1, %hi(0x00006C18) # $v1, 0 -/* 058864 7F023D34 24636C18 */ addiu $v1, %lo(0x00006C18) # addiu $v1, $v1, 0x6c18 -/* 058868 7F023D38 00684821 */ addu $t1, $v1, $t0 -/* 05886C 7F023D3C 14490018 */ bne $v0, $t1, .L7F023DA0 -/* 058870 7F023D40 02002025 */ move $a0, $s0 -/* 058874 7F023D44 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 058878 7F023D48 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 05887C 7F023D4C 02002025 */ move $a0, $s0 -/* 058880 7F023D50 3C053F00 */ lui $a1, 0x3f00 -/* 058884 7F023D54 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 058888 7F023D58 AFA30028 */ sw $v1, 0x28($sp) -/* 05888C 7F023D5C 8E04001C */ lw $a0, 0x1c($s0) -/* 058890 7F023D60 3C0A8007 */ lui $t2, %hi(ptr_animation_table) -/* 058894 7F023D64 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 058898 7F023D68 44812000 */ mtc1 $at, $f4 -/* 05889C 7F023D6C 8D4A9538 */ lw $t2, %lo(ptr_animation_table)($t2) -/* 0588A0 7F023D70 8FA30028 */ lw $v1, 0x28($sp) -/* 0588A4 7F023D74 80860024 */ lb $a2, 0x24($a0) -/* 0588A8 7F023D78 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0588AC 7F023D7C 3C0742DA */ lui $a3, 0x42da -/* 0588B0 7F023D80 E7A40014 */ swc1 $f4, 0x14($sp) -/* 0588B4 7F023D84 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0588B8 7F023D88 006A2821 */ addu $a1, $v1, $t2 -/* 0588BC 7F023D8C 8E04001C */ lw $a0, 0x1c($s0) -/* 0588C0 7F023D90 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0588C4 7F023D94 3C05430C */ lui $a1, 0x430c -/* 0588C8 7F023D98 1000001A */ b .L7F023E04 -/* 0588CC 7F023D9C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F023DA0: -/* 0588D0 7F023DA0 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 0588D4 7F023DA4 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0588D8 7F023DA8 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0588DC 7F023DAC 3C053F00 */ lui $a1, 0x3f00 -/* 0588E0 7F023DB0 8E04001C */ lw $a0, 0x1c($s0) -/* 0588E4 7F023DB4 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 0588E8 7F023DB8 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0588EC 7F023DBC 44813000 */ mtc1 $at, $f6 -/* 0588F0 7F023DC0 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 0588F4 7F023DC4 3C0C0000 */ lui $t4, %hi(0x00000B84) # $t4, 0 -/* 0588F8 7F023DC8 258C0B84 */ addiu $t4, %lo(0x00000B84) # addiu $t4, $t4, 0xb84 -/* 0588FC 7F023DCC 80860024 */ lb $a2, 0x24($a0) -/* 058900 7F023DD0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 058904 7F023DD4 3C0742F0 */ lui $a3, 0x42f0 -/* 058908 7F023DD8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05890C 7F023DDC 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058910 7F023DE0 016C2821 */ addu $a1, $t3, $t4 -/* 058914 7F023DE4 8E04001C */ lw $a0, 0x1c($s0) -/* 058918 7F023DE8 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05891C 7F023DEC 3C054317 */ lui $a1, 0x4317 -/* 058920 7F023DF0 10000004 */ b .L7F023E04 -/* 058924 7F023DF4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F023DF8: -/* 058928 7F023DF8 0FC08EA5 */ jal sub_GAME_7F023A94 -/* 05892C 7F023DFC 02002025 */ move $a0, $s0 -/* 058930 7F023E00 8FBF0024 */ lw $ra, 0x24($sp) -.L7F023E04: -/* 058934 7F023E04 8FB00020 */ lw $s0, 0x20($sp) -/* 058938 7F023E08 27BD0030 */ addiu $sp, $sp, 0x30 -/* 05893C 7F023E0C 03E00008 */ jr $ra -/* 058940 7F023E10 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023E14(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023E14 -/* 058944 7F023E14 44856000 */ mtc1 $a1, $f12 -/* 058948 7F023E18 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05894C 7F023E1C AFBF0014 */ sw $ra, 0x14($sp) -/* 058950 7F023E20 44056000 */ mfc1 $a1, $f12 -/* 058954 7F023E24 0FC08EA5 */ jal sub_GAME_7F023A94 -/* 058958 7F023E28 AFA40018 */ sw $a0, 0x18($sp) -/* 05895C 7F023E2C 8FAF0018 */ lw $t7, 0x18($sp) -/* 058960 7F023E30 240E0001 */ li $t6, 1 -/* 058964 7F023E34 ADEE0040 */ sw $t6, 0x40($t7) -/* 058968 7F023E38 8FBF0014 */ lw $ra, 0x14($sp) -/* 05896C 7F023E3C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 058970 7F023E40 03E00008 */ jr $ra -/* 058974 7F023E44 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F023E48(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F023E48 -/* 058978 7F023E48 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05897C 7F023E4C AFBF0014 */ sw $ra, 0x14($sp) -/* 058980 7F023E50 0FC08F2E */ jal sub_GAME_7F023CB8 -/* 058984 7F023E54 AFA40018 */ sw $a0, 0x18($sp) -/* 058988 7F023E58 8FAF0018 */ lw $t7, 0x18($sp) -/* 05898C 7F023E5C 240E0001 */ li $t6, 1 -/* 058990 7F023E60 ADEE0040 */ sw $t6, 0x40($t7) -/* 058994 7F023E64 8FBF0014 */ lw $ra, 0x14($sp) -/* 058998 7F023E68 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05899C 7F023E6C 03E00008 */ jr $ra -/* 0589A0 7F023E70 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_kneel(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_kneel -/* 0589A4 7F023E74 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0589A8 7F023E78 AFBF0024 */ sw $ra, 0x24($sp) -/* 0589AC 7F023E7C AFB00020 */ sw $s0, 0x20($sp) -/* 0589B0 7F023E80 00808025 */ move $s0, $a0 -/* 0589B4 7F023E84 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0589B8 7F023E88 24050001 */ li $a1, 1 -/* 0589BC 7F023E8C AFA20034 */ sw $v0, 0x34($sp) -/* 0589C0 7F023E90 02002025 */ move $a0, $s0 -/* 0589C4 7F023E94 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0589C8 7F023E98 00002825 */ move $a1, $zero -/* 0589CC 7F023E9C AFA20030 */ sw $v0, 0x30($sp) -/* 0589D0 7F023EA0 0FC0B461 */ jal sub_GAME_7F02D184 -/* 0589D4 7F023EA4 02002025 */ move $a0, $s0 -/* 0589D8 7F023EA8 8FA40034 */ lw $a0, 0x34($sp) -/* 0589DC 7F023EAC 8FAE0030 */ lw $t6, 0x30($sp) -/* 0589E0 7F023EB0 10800003 */ beqz $a0, .L7F023EC0 -/* 0589E4 7F023EB4 00000000 */ nop -/* 0589E8 7F023EB8 15C0000D */ bnez $t6, .L7F023EF0 -/* 0589EC 7F023EBC 00000000 */ nop -.L7F023EC0: -/* 0589F0 7F023EC0 14800003 */ bnez $a0, .L7F023ED0 -/* 0589F4 7F023EC4 8FAF0030 */ lw $t7, 0x30($sp) -/* 0589F8 7F023EC8 11E00009 */ beqz $t7, .L7F023EF0 -/* 0589FC 7F023ECC 00000000 */ nop -.L7F023ED0: -/* 058A00 7F023ED0 0FC08E44 */ jal check_if_item_held_like_pistol -/* 058A04 7F023ED4 00000000 */ nop -/* 058A08 7F023ED8 14400005 */ bnez $v0, .L7F023EF0 -/* 058A0C 7F023EDC 00000000 */ nop -/* 058A10 7F023EE0 0FC08E44 */ jal check_if_item_held_like_pistol -/* 058A14 7F023EE4 8FA40030 */ lw $a0, 0x30($sp) -/* 058A18 7F023EE8 1040001C */ beqz $v0, .L7F023F5C -/* 058A1C 7F023EEC 8FA90030 */ lw $t1, 0x30($sp) -.L7F023EF0: -/* 058A20 7F023EF0 0C002914 */ jal get_random_value -/* 058A24 7F023EF4 00000000 */ nop -/* 058A28 7F023EF8 30580001 */ andi $t8, $v0, 1 -/* 058A2C 7F023EFC 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 058A30 7F023F00 AFB8002C */ sw $t8, 0x2c($sp) -/* 058A34 7F023F04 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 058A38 7F023F08 02002025 */ move $a0, $s0 -/* 058A3C 7F023F0C 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 058A40 7F023F10 3C053F00 */ lui $a1, 0x3f00 -/* 058A44 7F023F14 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 058A48 7F023F18 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 058A4C 7F023F1C 44812000 */ mtc1 $at, $f4 -/* 058A50 7F023F20 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 058A54 7F023F24 3C080000 */ lui $t0, %hi(0x00006C18) # $t0, 0 -/* 058A58 7F023F28 25086C18 */ addiu $t0, %lo(0x00006C18) # addiu $t0, $t0, 0x6c18 -/* 058A5C 7F023F2C 8E04001C */ lw $a0, 0x1c($s0) -/* 058A60 7F023F30 E7A00010 */ swc1 $f0, 0x10($sp) -/* 058A64 7F023F34 8FA6002C */ lw $a2, 0x2c($sp) -/* 058A68 7F023F38 24070000 */ li $a3, 0 -/* 058A6C 7F023F3C E7A40014 */ swc1 $f4, 0x14($sp) -/* 058A70 7F023F40 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058A74 7F023F44 03282821 */ addu $a1, $t9, $t0 -/* 058A78 7F023F48 8E04001C */ lw $a0, 0x1c($s0) -/* 058A7C 7F023F4C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 058A80 7F023F50 3C0541E0 */ lui $a1, 0x41e0 -/* 058A84 7F023F54 1000001C */ b .L7F023FC8 -/* 058A88 7F023F58 240E0002 */ li $t6, 2 -.L7F023F5C: -/* 058A8C 7F023F5C 15200002 */ bnez $t1, .L7F023F68 -/* 058A90 7F023F60 8FAA0034 */ lw $t2, 0x34($sp) -/* 058A94 7F023F64 11400017 */ beqz $t2, .L7F023FC4 -.L7F023F68: -/* 058A98 7F023F68 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 058A9C 7F023F6C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 058AA0 7F023F70 02002025 */ move $a0, $s0 -/* 058AA4 7F023F74 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 058AA8 7F023F78 3C053F00 */ lui $a1, 0x3f00 -/* 058AAC 7F023F7C 8FA60034 */ lw $a2, 0x34($sp) -/* 058AB0 7F023F80 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 058AB4 7F023F84 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 058AB8 7F023F88 44813000 */ mtc1 $at, $f6 -/* 058ABC 7F023F8C 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 058AC0 7F023F90 3C0C0000 */ lui $t4, %hi(0x00000B84) # $t4, 0 -/* 058AC4 7F023F94 258C0B84 */ addiu $t4, %lo(0x00000B84) # addiu $t4, $t4, 0xb84 -/* 058AC8 7F023F98 8E04001C */ lw $a0, 0x1c($s0) -/* 058ACC 7F023F9C 0006682B */ sltu $t5, $zero, $a2 -/* 058AD0 7F023FA0 01A03025 */ move $a2, $t5 -/* 058AD4 7F023FA4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 058AD8 7F023FA8 24070000 */ li $a3, 0 -/* 058ADC 7F023FAC E7A60014 */ swc1 $f6, 0x14($sp) -/* 058AE0 7F023FB0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058AE4 7F023FB4 016C2821 */ addu $a1, $t3, $t4 -/* 058AE8 7F023FB8 8E04001C */ lw $a0, 0x1c($s0) -/* 058AEC 7F023FBC 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 058AF0 7F023FC0 3C0541D8 */ lui $a1, 0x41d8 -.L7F023FC4: -/* 058AF4 7F023FC4 240E0002 */ li $t6, 2 -.L7F023FC8: -/* 058AF8 7F023FC8 A20E0007 */ sb $t6, 7($s0) -/* 058AFC 7F023FCC A2000008 */ sb $zero, 8($s0) -/* 058B00 7F023FD0 8FBF0024 */ lw $ra, 0x24($sp) -/* 058B04 7F023FD4 8FB00020 */ lw $s0, 0x20($sp) -/* 058B08 7F023FD8 27BD0038 */ addiu $sp, $sp, 0x38 -/* 058B0C 7F023FDC 03E00008 */ jr $ra -/* 058B10 7F023FE0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void perform_animation_for_actor(void) { - -} -#else -GLOBAL_ASM( -.text -glabel perform_animation_for_actor -/* 058B14 7F023FE4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 058B18 7F023FE8 AFB10020 */ sw $s1, 0x20($sp) -/* 058B1C 7F023FEC 93B10043 */ lbu $s1, 0x43($sp) -/* 058B20 7F023FF0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 058B24 7F023FF4 AFB0001C */ sw $s0, 0x1c($sp) -/* 058B28 7F023FF8 44810000 */ mtc1 $at, $f0 -/* 058B2C 7F023FFC 322E0080 */ andi $t6, $s1, 0x80 -/* 058B30 7F024000 00808025 */ move $s0, $a0 -/* 058B34 7F024004 AFBF0024 */ sw $ra, 0x24($sp) -/* 058B38 7F024008 AFA50034 */ sw $a1, 0x34($sp) -/* 058B3C 7F02400C AFA60038 */ sw $a2, 0x38($sp) -/* 058B40 7F024010 11C00004 */ beqz $t6, .L7F024024 -/* 058B44 7F024014 AFA7003C */ sw $a3, 0x3c($sp) -/* 058B48 7F024018 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 058B4C 7F02401C 44810000 */ mtc1 $at, $f0 -/* 058B50 7F024020 00000000 */ nop -.L7F024024: -/* 058B54 7F024024 02002025 */ move $a0, $s0 -/* 058B58 7F024028 0FC0B461 */ jal sub_GAME_7F02D184 -/* 058B5C 7F02402C E7A00028 */ swc1 $f0, 0x28($sp) -/* 058B60 7F024030 8FA80038 */ lw $t0, 0x38($sp) -/* 058B64 7F024034 8FA90044 */ lw $t1, 0x44($sp) -/* 058B68 7F024038 8FAF0034 */ lw $t7, 0x34($sp) -/* 058B6C 7F02403C 44882000 */ mtc1 $t0, $f4 -/* 058B70 7F024040 44893000 */ mtc1 $t1, $f6 -/* 058B74 7F024044 C7A00028 */ lwc1 $f0, 0x28($sp) -/* 058B78 7F024048 46802120 */ cvt.s.w $f4, $f4 -/* 058B7C 7F02404C 3C058003 */ lui $a1, %hi(animation_table_ptrs1) -/* 058B80 7F024050 32260001 */ andi $a2, $s1, 1 -/* 058B84 7F024054 000FC080 */ sll $t8, $t7, 2 -/* 058B88 7F024058 00B82821 */ addu $a1, $a1, $t8 -/* 058B8C 7F02405C 46803220 */ cvt.s.w $f8, $f6 -/* 058B90 7F024060 0006C82B */ sltu $t9, $zero, $a2 -/* 058B94 7F024064 44072000 */ mfc1 $a3, $f4 -/* 058B98 7F024068 8E04001C */ lw $a0, 0x1c($s0) -/* 058B9C 7F02406C 03203025 */ move $a2, $t9 -/* 058BA0 7F024070 8CA59D6C */ lw $a1, %lo(animation_table_ptrs1)($a1) -/* 058BA4 7F024074 E7A80014 */ swc1 $f8, 0x14($sp) -/* 058BA8 7F024078 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058BAC 7F02407C E7A00010 */ swc1 $f0, 0x10($sp) -/* 058BB0 7F024080 8FA2003C */ lw $v0, 0x3c($sp) -/* 058BB4 7F024084 04420008 */ bltzl $v0, .L7F0240A8 -/* 058BB8 7F024088 322A0020 */ andi $t2, $s1, 0x20 -/* 058BBC 7F02408C 44825000 */ mtc1 $v0, $f10 -/* 058BC0 7F024090 8E04001C */ lw $a0, 0x1c($s0) -/* 058BC4 7F024094 468052A0 */ cvt.s.w $f10, $f10 -/* 058BC8 7F024098 44055000 */ mfc1 $a1, $f10 -/* 058BCC 7F02409C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 058BD0 7F0240A0 00000000 */ nop -/* 058BD4 7F0240A4 322A0020 */ andi $t2, $s1, 0x20 -.L7F0240A8: -/* 058BD8 7F0240A8 5140000A */ beql $t2, $zero, .L7F0240D4 -/* 058BDC 7F0240AC 8E0B0014 */ lw $t3, 0x14($s0) -/* 058BE0 7F0240B0 8E04001C */ lw $a0, 0x1c($s0) -/* 058BE4 7F0240B4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 058BE8 7F0240B8 44819000 */ mtc1 $at, $f18 -/* 058BEC 7F0240BC C49000B8 */ lwc1 $f16, 0xb8($a0) -/* 058BF0 7F0240C0 46128102 */ mul.s $f4, $f16, $f18 -/* 058BF4 7F0240C4 44052000 */ mfc1 $a1, $f4 -/* 058BF8 7F0240C8 0FC1B3A1 */ jal sub_GAME_7F06CE84 -/* 058BFC 7F0240CC 00000000 */ nop -/* 058C00 7F0240D0 8E0B0014 */ lw $t3, 0x14($s0) -.L7F0240D4: -/* 058C04 7F0240D4 3C01FDFF */ lui $at, (0xFDFFFFFF >> 16) # lui $at, 0xfdff -/* 058C08 7F0240D8 3421FFFF */ ori $at, (0xFDFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 058C0C 7F0240DC 01616024 */ and $t4, $t3, $at -/* 058C10 7F0240E0 AE0C0014 */ sw $t4, 0x14($s0) -/* 058C14 7F0240E4 322E0002 */ andi $t6, $s1, 2 -/* 058C18 7F0240E8 32380004 */ andi $t8, $s1, 4 -/* 058C1C 7F0240EC 32280008 */ andi $t0, $s1, 8 -/* 058C20 7F0240F0 32220010 */ andi $v0, $s1, 0x10 -/* 058C24 7F0240F4 322B0040 */ andi $t3, $s1, 0x40 -/* 058C28 7F0240F8 240D0003 */ li $t5, 3 -/* 058C2C 7F0240FC 000E782B */ sltu $t7, $zero, $t6 -/* 058C30 7F024100 0018C82B */ sltu $t9, $zero, $t8 -/* 058C34 7F024104 0008482B */ sltu $t1, $zero, $t0 -/* 058C38 7F024108 0002502B */ sltu $t2, $zero, $v0 -/* 058C3C 7F02410C 000B602B */ sltu $t4, $zero, $t3 -/* 058C40 7F024110 A20D0007 */ sb $t5, 7($s0) -/* 058C44 7F024114 AE0F002C */ sw $t7, 0x2c($s0) -/* 058C48 7F024118 AE190030 */ sw $t9, 0x30($s0) -/* 058C4C 7F02411C AE090034 */ sw $t1, 0x34($s0) -/* 058C50 7F024120 AE0A0038 */ sw $t2, 0x38($s0) -/* 058C54 7F024124 11400004 */ beqz $t2, .L7F024138 -/* 058C58 7F024128 AE0C003C */ sw $t4, 0x3c($s0) -/* 058C5C 7F02412C 8FAD0044 */ lw $t5, 0x44($sp) -/* 058C60 7F024130 10000002 */ b .L7F02413C -/* 058C64 7F024134 A20D0008 */ sb $t5, 8($s0) -.L7F024138: -/* 058C68 7F024138 A2000008 */ sb $zero, 8($s0) -.L7F02413C: -/* 058C6C 7F02413C 8FBF0024 */ lw $ra, 0x24($sp) -/* 058C70 7F024140 8FB0001C */ lw $s0, 0x1c($sp) -/* 058C74 7F024144 8FB10020 */ lw $s1, 0x20($sp) -/* 058C78 7F024148 03E00008 */ jr $ra -/* 058C7C 7F02414C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F024150(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F024150 -/* 058C80 7F024150 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 058C84 7F024154 AFBF0024 */ sw $ra, 0x24($sp) -/* 058C88 7F024158 AFB00020 */ sw $s0, 0x20($sp) -/* 058C8C 7F02415C 00808025 */ move $s0, $a0 -/* 058C90 7F024160 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 058C94 7F024164 24050001 */ li $a1, 1 -/* 058C98 7F024168 02002025 */ move $a0, $s0 -/* 058C9C 7F02416C 00002825 */ move $a1, $zero -/* 058CA0 7F024170 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 058CA4 7F024174 AFA20034 */ sw $v0, 0x34($sp) -/* 058CA8 7F024178 8FA30034 */ lw $v1, 0x34($sp) -/* 058CAC 7F02417C 00003025 */ move $a2, $zero -/* 058CB0 7F024180 10600005 */ beqz $v1, .L7F024198 -/* 058CB4 7F024184 00000000 */ nop -/* 058CB8 7F024188 14400003 */ bnez $v0, .L7F024198 -/* 058CBC 7F02418C 00000000 */ nop -/* 058CC0 7F024190 1000000C */ b .L7F0241C4 -/* 058CC4 7F024194 24060001 */ li $a2, 1 -.L7F024198: -/* 058CC8 7F024198 10600003 */ beqz $v1, .L7F0241A8 -/* 058CCC 7F02419C 00000000 */ nop -/* 058CD0 7F0241A0 14400005 */ bnez $v0, .L7F0241B8 -/* 058CD4 7F0241A4 00000000 */ nop -.L7F0241A8: -/* 058CD8 7F0241A8 54600007 */ bnezl $v1, .L7F0241C8 -/* 058CDC 7F0241AC 02002025 */ move $a0, $s0 -/* 058CE0 7F0241B0 54400005 */ bnezl $v0, .L7F0241C8 -/* 058CE4 7F0241B4 02002025 */ move $a0, $s0 -.L7F0241B8: -/* 058CE8 7F0241B8 0C002914 */ jal get_random_value -/* 058CEC 7F0241BC 00000000 */ nop -/* 058CF0 7F0241C0 30460001 */ andi $a2, $v0, 1 -.L7F0241C4: -/* 058CF4 7F0241C4 02002025 */ move $a0, $s0 -.L7F0241C8: -/* 058CF8 7F0241C8 0FC0B461 */ jal sub_GAME_7F02D184 -/* 058CFC 7F0241CC AFA6002C */ sw $a2, 0x2c($sp) -/* 058D00 7F0241D0 8FA6002C */ lw $a2, 0x2c($sp) -/* 058D04 7F0241D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 058D08 7F0241D8 44812000 */ mtc1 $at, $f4 -/* 058D0C 7F0241DC 240E0013 */ li $t6, 19 -/* 058D10 7F0241E0 A20E0007 */ sb $t6, 7($s0) -/* 058D14 7F0241E4 A2000008 */ sb $zero, 8($s0) -/* 058D18 7F0241E8 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 058D1C 7F0241EC 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 058D20 7F0241F0 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 058D24 7F0241F4 44813000 */ mtc1 $at, $f6 -/* 058D28 7F0241F8 3C180000 */ lui $t8, %hi(0x00005744) # $t8, 0 -/* 058D2C 7F0241FC 27185744 */ addiu $t8, %lo(0x00005744) # addiu $t8, $t8, 0x5744 -/* 058D30 7F024200 8E04001C */ lw $a0, 0x1c($s0) -/* 058D34 7F024204 3C074220 */ lui $a3, 0x4220 -/* 058D38 7F024208 E7A40010 */ swc1 $f4, 0x10($sp) -/* 058D3C 7F02420C 01F82821 */ addu $a1, $t7, $t8 -/* 058D40 7F024210 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058D44 7F024214 E7A60014 */ swc1 $f6, 0x14($sp) -/* 058D48 7F024218 8E04001C */ lw $a0, 0x1c($s0) -/* 058D4C 7F02421C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 058D50 7F024220 3C0542A4 */ lui $a1, 0x42a4 -/* 058D54 7F024224 8FBF0024 */ lw $ra, 0x24($sp) -/* 058D58 7F024228 8FB00020 */ lw $s0, 0x20($sp) -/* 058D5C 7F02422C 27BD0038 */ addiu $sp, $sp, 0x38 -/* 058D60 7F024230 03E00008 */ jr $ra -/* 058D64 7F024234 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void throw_weapon_in_guard_hand(void) { - -} -#else -GLOBAL_ASM( -.text -glabel throw_weapon_in_guard_hand -/* 058D68 7F024238 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 058D6C 7F02423C AFBF0024 */ sw $ra, 0x24($sp) -/* 058D70 7F024240 AFB00020 */ sw $s0, 0x20($sp) -/* 058D74 7F024244 00808025 */ move $s0, $a0 -/* 058D78 7F024248 AFA5002C */ sw $a1, 0x2c($sp) -/* 058D7C 7F02424C AFA60030 */ sw $a2, 0x30($sp) -/* 058D80 7F024250 0FC0B461 */ jal sub_GAME_7F02D184 -/* 058D84 7F024254 AFA70034 */ sw $a3, 0x34($sp) -/* 058D88 7F024258 240E0014 */ li $t6, 20 -/* 058D8C 7F02425C A20E0007 */ sb $t6, 7($s0) -/* 058D90 7F024260 A2000008 */ sb $zero, 8($s0) -/* 058D94 7F024264 8FAF0034 */ lw $t7, 0x34($sp) -/* 058D98 7F024268 02002025 */ move $a0, $s0 -/* 058D9C 7F02426C 3C053F00 */ lui $a1, 0x3f00 -/* 058DA0 7F024270 11E00017 */ beqz $t7, .L7F0242D0 -/* 058DA4 7F024274 3C063F4C */ lui $a2, 0x3f4c -/* 058DA8 7F024278 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 058DAC 7F02427C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 058DB0 7F024280 02002025 */ move $a0, $s0 -/* 058DB4 7F024284 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 058DB8 7F024288 3C053F00 */ lui $a1, 0x3f00 -/* 058DBC 7F02428C 8FA60030 */ lw $a2, 0x30($sp) -/* 058DC0 7F024290 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 058DC4 7F024294 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 058DC8 7F024298 44812000 */ mtc1 $at, $f4 -/* 058DCC 7F02429C 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 058DD0 7F0242A0 3C190000 */ lui $t9, %hi(0x00005964) # $t9, 0 -/* 058DD4 7F0242A4 27395964 */ addiu $t9, %lo(0x00005964) # addiu $t9, $t9, 0x5964 -/* 058DD8 7F0242A8 8E04001C */ lw $a0, 0x1c($s0) -/* 058DDC 7F0242AC 0006402B */ sltu $t0, $zero, $a2 -/* 058DE0 7F0242B0 01003025 */ move $a2, $t0 -/* 058DE4 7F0242B4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 058DE8 7F0242B8 24070000 */ li $a3, 0 -/* 058DEC 7F0242BC E7A40014 */ swc1 $f4, 0x14($sp) -/* 058DF0 7F0242C0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058DF4 7F0242C4 03192821 */ addu $a1, $t8, $t9 -/* 058DF8 7F0242C8 10000013 */ b .L7F024318 -/* 058DFC 7F0242CC 8E04001C */ lw $a0, 0x1c($s0) -.L7F0242D0: -/* 058E00 7F0242D0 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 058E04 7F0242D4 34C6CCCD */ ori $a2, $a2, 0xcccd -/* 058E08 7F0242D8 8FA60030 */ lw $a2, 0x30($sp) -/* 058E0C 7F0242DC 3C098007 */ lui $t1, %hi(ptr_animation_table) -/* 058E10 7F0242E0 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 058E14 7F0242E4 44813000 */ mtc1 $at, $f6 -/* 058E18 7F0242E8 8D299538 */ lw $t1, %lo(ptr_animation_table)($t1) -/* 058E1C 7F0242EC 3C0A0000 */ lui $t2, %hi(0x00005964) # $t2, 0 -/* 058E20 7F0242F0 254A5964 */ addiu $t2, %lo(0x00005964) # addiu $t2, $t2, 0x5964 -/* 058E24 7F0242F4 8E04001C */ lw $a0, 0x1c($s0) -/* 058E28 7F0242F8 0006582B */ sltu $t3, $zero, $a2 -/* 058E2C 7F0242FC 01603025 */ move $a2, $t3 -/* 058E30 7F024300 E7A00010 */ swc1 $f0, 0x10($sp) -/* 058E34 7F024304 3C0742A8 */ lui $a3, 0x42a8 -/* 058E38 7F024308 E7A60014 */ swc1 $f6, 0x14($sp) -/* 058E3C 7F02430C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058E40 7F024310 012A2821 */ addu $a1, $t1, $t2 -/* 058E44 7F024314 8E04001C */ lw $a0, 0x1c($s0) -.L7F024318: -/* 058E48 7F024318 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 058E4C 7F02431C 3C054341 */ lui $a1, 0x4341 -/* 058E50 7F024320 8FBF0024 */ lw $ra, 0x24($sp) -/* 058E54 7F024324 8FB00020 */ lw $s0, 0x20($sp) -/* 058E58 7F024328 27BD0028 */ addiu $sp, $sp, 0x28 -/* 058E5C 7F02432C 03E00008 */ jr $ra -/* 058E60 7F024330 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F024334(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F024334 -/* 058E64 7F024334 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 058E68 7F024338 AFBF0024 */ sw $ra, 0x24($sp) -/* 058E6C 7F02433C AFB00020 */ sw $s0, 0x20($sp) -/* 058E70 7F024340 AFA5003C */ sw $a1, 0x3c($sp) -/* 058E74 7F024344 00808025 */ move $s0, $a0 -/* 058E78 7F024348 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 058E7C 7F02434C 24050001 */ li $a1, 1 -/* 058E80 7F024350 02002025 */ move $a0, $s0 -/* 058E84 7F024354 00002825 */ move $a1, $zero -/* 058E88 7F024358 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 058E8C 7F02435C AFA20034 */ sw $v0, 0x34($sp) -/* 058E90 7F024360 8FA30034 */ lw $v1, 0x34($sp) -/* 058E94 7F024364 AFA0002C */ sw $zero, 0x2c($sp) -/* 058E98 7F024368 10600005 */ beqz $v1, .L7F024380 -/* 058E9C 7F02436C 00000000 */ nop -/* 058EA0 7F024370 14400003 */ bnez $v0, .L7F024380 -/* 058EA4 7F024374 240E0001 */ li $t6, 1 -/* 058EA8 7F024378 1000000D */ b .L7F0243B0 -/* 058EAC 7F02437C AFAE002C */ sw $t6, 0x2c($sp) -.L7F024380: -/* 058EB0 7F024380 10600003 */ beqz $v1, .L7F024390 -/* 058EB4 7F024384 00000000 */ nop -/* 058EB8 7F024388 14400005 */ bnez $v0, .L7F0243A0 -/* 058EBC 7F02438C 00000000 */ nop -.L7F024390: -/* 058EC0 7F024390 54600008 */ bnezl $v1, .L7F0243B4 -/* 058EC4 7F024394 3C053F19 */ lui $a1, 0x3f19 -/* 058EC8 7F024398 54400006 */ bnezl $v0, .L7F0243B4 -/* 058ECC 7F02439C 3C053F19 */ lui $a1, 0x3f19 -.L7F0243A0: -/* 058ED0 7F0243A0 0C002914 */ jal get_random_value -/* 058ED4 7F0243A4 00000000 */ nop -/* 058ED8 7F0243A8 304F0001 */ andi $t7, $v0, 1 -/* 058EDC 7F0243AC AFAF002C */ sw $t7, 0x2c($sp) -.L7F0243B0: -/* 058EE0 7F0243B0 3C053F19 */ lui $a1, (0x3F19999A >> 16) # lui $a1, 0x3f19 -.L7F0243B4: -/* 058EE4 7F0243B4 3C063F75 */ lui $a2, (0x3F75C290 >> 16) # lui $a2, 0x3f75 -/* 058EE8 7F0243B8 34C6C290 */ ori $a2, (0x3F75C290 & 0xFFFF) # ori $a2, $a2, 0xc290 -/* 058EEC 7F0243BC 34A5999A */ ori $a1, (0x3F19999A & 0xFFFF) # ori $a1, $a1, 0x999a -/* 058EF0 7F0243C0 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 058EF4 7F0243C4 02002025 */ move $a0, $s0 -/* 058EF8 7F0243C8 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 058EFC 7F0243CC 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 058F00 7F0243D0 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 058F04 7F0243D4 3C190000 */ lui $t9, %hi(0x00005D10) # $t9, 0 -/* 058F08 7F0243D8 27395D10 */ addiu $t9, %lo(0x00005D10) # addiu $t9, $t9, 0x5d10 -/* 058F0C 7F0243DC 8E04001C */ lw $a0, 0x1c($s0) -/* 058F10 7F0243E0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 058F14 7F0243E4 8FA6002C */ lw $a2, 0x2c($sp) -/* 058F18 7F0243E8 3C074120 */ lui $a3, 0x4120 -/* 058F1C 7F0243EC 03192821 */ addu $a1, $t8, $t9 -/* 058F20 7F0243F0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 058F24 7F0243F4 E7A40014 */ swc1 $f4, 0x14($sp) -/* 058F28 7F0243F8 8E04001C */ lw $a0, 0x1c($s0) -/* 058F2C 7F0243FC 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 058F30 7F024400 3C054250 */ lui $a1, 0x4250 -/* 058F34 7F024404 8FBF0024 */ lw $ra, 0x24($sp) -/* 058F38 7F024408 8FB00020 */ lw $s0, 0x20($sp) -/* 058F3C 7F02440C 27BD0038 */ addiu $sp, $sp, 0x38 -/* 058F40 7F024410 03E00008 */ jr $ra -/* 058F44 7F024414 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_shuffle_feet(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DA0 -.word 0x3e32b8c3 /*0.17453294*/ -glabel D_80051DA4 -.word 0x40c37a15 /*6.1086526*/ -.text -glabel actor_shuffle_feet -/* 058F48 7F024418 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 058F4C 7F02441C AFBF001C */ sw $ra, 0x1c($sp) -/* 058F50 7F024420 AFB00018 */ sw $s0, 0x18($sp) -/* 058F54 7F024424 0FC0CB13 */ jal sub_GAME_7F032C4C -/* 058F58 7F024428 00808025 */ move $s0, $a0 -/* 058F5C 7F02442C 3C018005 */ lui $at, %hi(D_80051DA0) -/* 058F60 7F024430 C4241DA0 */ lwc1 $f4, %lo(D_80051DA0)($at) -/* 058F64 7F024434 3C018005 */ lui $at, %hi(D_80051DA4) -/* 058F68 7F024438 02002025 */ move $a0, $s0 -/* 058F6C 7F02443C 4604003C */ c.lt.s $f0, $f4 -/* 058F70 7F024440 00000000 */ nop -/* 058F74 7F024444 45010006 */ bc1t .L7F024460 -/* 058F78 7F024448 00000000 */ nop -/* 058F7C 7F02444C C4261DA4 */ lwc1 $f6, %lo(D_80051DA4)($at) -/* 058F80 7F024450 4600303C */ c.lt.s $f6, $f0 -/* 058F84 7F024454 00000000 */ nop -/* 058F88 7F024458 45000009 */ bc1f .L7F024480 -/* 058F8C 7F02445C 00000000 */ nop -.L7F024460: -/* 058F90 7F024460 0FC090CD */ jal sub_GAME_7F024334 -/* 058F94 7F024464 3C054180 */ lui $a1, 0x4180 -/* 058F98 7F024468 0FC0B461 */ jal sub_GAME_7F02D184 -/* 058F9C 7F02446C 02002025 */ move $a0, $s0 -/* 058FA0 7F024470 240E0012 */ li $t6, 18 -/* 058FA4 7F024474 A20E0007 */ sb $t6, 7($s0) -/* 058FA8 7F024478 10000007 */ b .L7F024498 -/* 058FAC 7F02447C A2000008 */ sb $zero, 8($s0) -.L7F024480: -/* 058FB0 7F024480 0FC0A717 */ jal check_if_actor_stationary -/* 058FB4 7F024484 02002025 */ move $a0, $s0 -/* 058FB8 7F024488 54400004 */ bnezl $v0, .L7F02449C -/* 058FBC 7F02448C 8FBF001C */ lw $ra, 0x1c($sp) -/* 058FC0 7F024490 0FC08F2E */ jal sub_GAME_7F023CB8 -/* 058FC4 7F024494 02002025 */ move $a0, $s0 -.L7F024498: -/* 058FC8 7F024498 8FBF001C */ lw $ra, 0x1c($sp) -.L7F02449C: -/* 058FCC 7F02449C 8FB00018 */ lw $s0, 0x18($sp) -/* 058FD0 7F0244A0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 058FD4 7F0244A4 03E00008 */ jr $ra -/* 058FD8 7F0244A8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_fawn_on_shoulder(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_fawn_on_shoulder -/* 058FDC 7F0244AC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 058FE0 7F0244B0 AFBF0024 */ sw $ra, 0x24($sp) -/* 058FE4 7F0244B4 AFB00020 */ sw $s0, 0x20($sp) -/* 058FE8 7F0244B8 0FC0B461 */ jal sub_GAME_7F02D184 -/* 058FEC 7F0244BC 00808025 */ move $s0, $a0 -/* 058FF0 7F0244C0 240E0012 */ li $t6, 18 -/* 058FF4 7F0244C4 A20E0007 */ sb $t6, 7($s0) -/* 058FF8 7F0244C8 0C002914 */ jal get_random_value -/* 058FFC 7F0244CC A2000008 */ sb $zero, 8($s0) -/* 059000 7F0244D0 3C053EB3 */ lui $a1, (0x3EB33333 >> 16) # lui $a1, 0x3eb3 -/* 059004 7F0244D4 3C063F0F */ lui $a2, (0x3F0F5C29 >> 16) # lui $a2, 0x3f0f -/* 059008 7F0244D8 34C65C29 */ ori $a2, (0x3F0F5C29 & 0xFFFF) # ori $a2, $a2, 0x5c29 -/* 05900C 7F0244DC 34A53333 */ ori $a1, (0x3EB33333 & 0xFFFF) # ori $a1, $a1, 0x3333 -/* 059010 7F0244E0 AFA20028 */ sw $v0, 0x28($sp) -/* 059014 7F0244E4 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 059018 7F0244E8 02002025 */ move $a0, $s0 -/* 05901C 7F0244EC 8FA60028 */ lw $a2, 0x28($sp) -/* 059020 7F0244F0 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 059024 7F0244F4 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059028 7F0244F8 44812000 */ mtc1 $at, $f4 -/* 05902C 7F0244FC 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 059030 7F024500 3C180000 */ lui $t8, %hi(0x00004384) # $t8, 0 -/* 059034 7F024504 27184384 */ addiu $t8, %lo(0x00004384) # addiu $t8, $t8, 0x4384 -/* 059038 7F024508 8E04001C */ lw $a0, 0x1c($s0) -/* 05903C 7F02450C 30D90001 */ andi $t9, $a2, 1 -/* 059040 7F024510 03203025 */ move $a2, $t9 -/* 059044 7F024514 E7A00010 */ swc1 $f0, 0x10($sp) -/* 059048 7F024518 24070000 */ li $a3, 0 -/* 05904C 7F02451C E7A40014 */ swc1 $f4, 0x14($sp) -/* 059050 7F024520 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 059054 7F024524 01F82821 */ addu $a1, $t7, $t8 -/* 059058 7F024528 8E04001C */ lw $a0, 0x1c($s0) -/* 05905C 7F02452C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059060 7F024530 3C0540E0 */ lui $a1, 0x40e0 -/* 059064 7F024534 8FBF0024 */ lw $ra, 0x24($sp) -/* 059068 7F024538 8FB00020 */ lw $s0, 0x20($sp) -/* 05906C 7F02453C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 059070 7F024540 03E00008 */ jr $ra -/* 059074 7F024544 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_look_flustered(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DA8 -.word 0x3f19999a /*0.60000002*/ -.text -glabel actor_look_flustered -/* 059078 7F024548 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05907C 7F02454C AFBF0024 */ sw $ra, 0x24($sp) -/* 059080 7F024550 AFB00020 */ sw $s0, 0x20($sp) -/* 059084 7F024554 0C002914 */ jal get_random_value -/* 059088 7F024558 00808025 */ move $s0, $a0 -/* 05908C 7F02455C 24010003 */ li $at, 3 -/* 059090 7F024560 0041001B */ divu $zero, $v0, $at -/* 059094 7F024564 00007010 */ mfhi $t6 -/* 059098 7F024568 AFAE002C */ sw $t6, 0x2c($sp) -/* 05909C 7F02456C 0FC0B461 */ jal sub_GAME_7F02D184 -/* 0590A0 7F024570 02002025 */ move $a0, $s0 -/* 0590A4 7F024574 240F0012 */ li $t7, 18 -/* 0590A8 7F024578 A20F0007 */ sb $t7, 7($s0) -/* 0590AC 7F02457C 0C002914 */ jal get_random_value -/* 0590B0 7F024580 A2000008 */ sb $zero, 8($s0) -/* 0590B4 7F024584 3C018005 */ lui $at, %hi(D_80051DA8) -/* 0590B8 7F024588 C4241DA8 */ lwc1 $f4, %lo(D_80051DA8)($at) -/* 0590BC 7F02458C 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0590C0 7F024590 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 0590C4 7F024594 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 0590C8 7F024598 44813000 */ mtc1 $at, $f6 -/* 0590CC 7F02459C 3C190000 */ lui $t9, %hi(0x00005EF0) # $t9, 0 -/* 0590D0 7F0245A0 27395EF0 */ addiu $t9, %lo(0x00005EF0) # addiu $t9, $t9, 0x5ef0 -/* 0590D4 7F0245A4 8E04001C */ lw $a0, 0x1c($s0) -/* 0590D8 7F0245A8 30460001 */ andi $a2, $v0, 1 -/* 0590DC 7F0245AC 3C074188 */ lui $a3, 0x4188 -/* 0590E0 7F0245B0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0590E4 7F0245B4 03192821 */ addu $a1, $t8, $t9 -/* 0590E8 7F0245B8 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0590EC 7F0245BC E7A60014 */ swc1 $f6, 0x14($sp) -/* 0590F0 7F0245C0 8FA2002C */ lw $v0, 0x2c($sp) -/* 0590F4 7F0245C4 02002025 */ move $a0, $s0 -/* 0590F8 7F0245C8 3C054218 */ lui $a1, 0x4218 -/* 0590FC 7F0245CC 14400008 */ bnez $v0, .L7F0245F0 -/* 059100 7F0245D0 24010001 */ li $at, 1 -/* 059104 7F0245D4 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 059108 7F0245D8 3C064100 */ lui $a2, 0x4100 -/* 05910C 7F0245DC 44050000 */ mfc1 $a1, $f0 -/* 059110 7F0245E0 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059114 7F0245E4 8E04001C */ lw $a0, 0x1c($s0) -/* 059118 7F0245E8 10000013 */ b .L7F024638 -/* 05911C 7F0245EC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0245F0: -/* 059120 7F0245F0 1441000A */ bne $v0, $at, .L7F02461C -/* 059124 7F0245F4 02002025 */ move $a0, $s0 -/* 059128 7F0245F8 02002025 */ move $a0, $s0 -/* 05912C 7F0245FC 3C054284 */ lui $a1, 0x4284 -/* 059130 7F024600 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 059134 7F024604 3C064100 */ lui $a2, 0x4100 -/* 059138 7F024608 44050000 */ mfc1 $a1, $f0 -/* 05913C 7F02460C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059140 7F024610 8E04001C */ lw $a0, 0x1c($s0) -/* 059144 7F024614 10000008 */ b .L7F024638 -/* 059148 7F024618 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02461C: -/* 05914C 7F02461C 3C0542C0 */ lui $a1, 0x42c0 -/* 059150 7F024620 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 059154 7F024624 3C064100 */ lui $a2, 0x4100 -/* 059158 7F024628 44050000 */ mfc1 $a1, $f0 -/* 05915C 7F02462C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059160 7F024630 8E04001C */ lw $a0, 0x1c($s0) -/* 059164 7F024634 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024638: -/* 059168 7F024638 8FB00020 */ lw $s0, 0x20($sp) -/* 05916C 7F02463C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 059170 7F024640 03E00008 */ jr $ra -/* 059174 7F024644 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_throw_weapon_surrender(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_throw_weapon_surrender -/* 059178 7F024648 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05917C 7F02464C AFBF0024 */ sw $ra, 0x24($sp) -/* 059180 7F024650 AFB00020 */ sw $s0, 0x20($sp) -/* 059184 7F024654 808E0007 */ lb $t6, 7($a0) -/* 059188 7F024658 24010010 */ li $at, 16 -/* 05918C 7F02465C 00808025 */ move $s0, $a0 -/* 059190 7F024660 51C10051 */ beql $t6, $at, .L7F0247A8 -/* 059194 7F024664 8FBF0024 */ lw $ra, 0x24($sp) -/* 059198 7F024668 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05919C 7F02466C 24050001 */ li $a1, 1 -/* 0591A0 7F024670 AFA2002C */ sw $v0, 0x2c($sp) -/* 0591A4 7F024674 02002025 */ move $a0, $s0 -/* 0591A8 7F024678 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0591AC 7F02467C 00002825 */ move $a1, $zero -/* 0591B0 7F024680 AFA20028 */ sw $v0, 0x28($sp) -/* 0591B4 7F024684 0FC0B461 */ jal sub_GAME_7F02D184 -/* 0591B8 7F024688 02002025 */ move $a0, $s0 -/* 0591BC 7F02468C 240F0010 */ li $t7, 16 -/* 0591C0 7F024690 A20F0007 */ sb $t7, 7($s0) -/* 0591C4 7F024694 8FB80028 */ lw $t8, 0x28($sp) -/* 0591C8 7F024698 8FB9002C */ lw $t9, 0x2c($sp) -/* 0591CC 7F02469C 17000003 */ bnez $t8, .L7F0246AC -/* 0591D0 7F0246A0 00000000 */ nop -/* 0591D4 7F0246A4 13200026 */ beqz $t9, .L7F024740 -/* 0591D8 7F0246A8 00000000 */ nop -.L7F0246AC: -/* 0591DC 7F0246AC 0C002914 */ jal get_random_value -/* 0591E0 7F0246B0 00000000 */ nop -/* 0591E4 7F0246B4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0591E8 7F0246B8 44812000 */ mtc1 $at, $f4 -/* 0591EC 7F0246BC 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0591F0 7F0246C0 3C088007 */ lui $t0, %hi(ptr_animation_table) -/* 0591F4 7F0246C4 8D089538 */ lw $t0, %lo(ptr_animation_table)($t0) -/* 0591F8 7F0246C8 44813000 */ mtc1 $at, $f6 -/* 0591FC 7F0246CC 3C090000 */ lui $t1, %hi(0x00004504) # $t1, 0 -/* 059200 7F0246D0 25294504 */ addiu $t1, %lo(0x00004504) # addiu $t1, $t1, 0x4504 -/* 059204 7F0246D4 8E04001C */ lw $a0, 0x1c($s0) -/* 059208 7F0246D8 30460001 */ andi $a2, $v0, 1 -/* 05920C 7F0246DC 24070000 */ li $a3, 0 -/* 059210 7F0246E0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 059214 7F0246E4 01092821 */ addu $a1, $t0, $t1 -/* 059218 7F0246E8 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05921C 7F0246EC E7A60014 */ swc1 $f6, 0x14($sp) -/* 059220 7F0246F0 8E04001C */ lw $a0, 0x1c($s0) -/* 059224 7F0246F4 3C054220 */ lui $a1, 0x4220 -/* 059228 7F0246F8 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 05922C 7F0246FC 3C064180 */ lui $a2, 0x4180 -/* 059230 7F024700 240A0010 */ li $t2, 16 -/* 059234 7F024704 A20A0008 */ sb $t2, 8($s0) -/* 059238 7F024708 8FAB002C */ lw $t3, 0x2c($sp) -/* 05923C 7F02470C 11600003 */ beqz $t3, .L7F02471C -/* 059240 7F024710 01602025 */ move $a0, $t3 -/* 059244 7F024714 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 059248 7F024718 24050002 */ li $a1, 2 -.L7F02471C: -/* 05924C 7F02471C 8FA40028 */ lw $a0, 0x28($sp) -/* 059250 7F024720 50800004 */ beql $a0, $zero, .L7F024734 -/* 059254 7F024724 960C0012 */ lhu $t4, 0x12($s0) -/* 059258 7F024728 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 05925C 7F02472C 24050002 */ li $a1, 2 -/* 059260 7F024730 960C0012 */ lhu $t4, 0x12($s0) -.L7F024734: -/* 059264 7F024734 358D0001 */ ori $t5, $t4, 1 -/* 059268 7F024738 10000018 */ b .L7F02479C -/* 05926C 7F02473C A60D0012 */ sh $t5, 0x12($s0) -.L7F024740: -/* 059270 7F024740 0C002914 */ jal get_random_value -/* 059274 7F024744 00000000 */ nop -/* 059278 7F024748 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05927C 7F02474C 44814000 */ mtc1 $at, $f8 -/* 059280 7F024750 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059284 7F024754 3C0E8007 */ lui $t6, %hi(ptr_animation_table) -/* 059288 7F024758 8DCE9538 */ lw $t6, %lo(ptr_animation_table)($t6) -/* 05928C 7F02475C 44815000 */ mtc1 $at, $f10 -/* 059290 7F024760 3C0F0000 */ lui $t7, %hi(0x00004384) # $t7, 0 -/* 059294 7F024764 25EF4384 */ addiu $t7, %lo(0x00004384) # addiu $t7, $t7, 0x4384 -/* 059298 7F024768 8E04001C */ lw $a0, 0x1c($s0) -/* 05929C 7F02476C 30460001 */ andi $a2, $v0, 1 -/* 0592A0 7F024770 24070000 */ li $a3, 0 -/* 0592A4 7F024774 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0592A8 7F024778 01CF2821 */ addu $a1, $t6, $t7 -/* 0592AC 7F02477C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0592B0 7F024780 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 0592B4 7F024784 8E04001C */ lw $a0, 0x1c($s0) -/* 0592B8 7F024788 3C0541F0 */ lui $a1, 0x41f0 -/* 0592BC 7F02478C 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 0592C0 7F024790 3C064180 */ lui $a2, 0x4180 -/* 0592C4 7F024794 24180010 */ li $t8, 16 -/* 0592C8 7F024798 A2180008 */ sb $t8, 8($s0) -.L7F02479C: -/* 0592CC 7F02479C 0FC086C8 */ jal sub_GAME_7F021B20 -/* 0592D0 7F0247A0 02002025 */ move $a0, $s0 -/* 0592D4 7F0247A4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0247A8: -/* 0592D8 7F0247A8 8FB00020 */ lw $s0, 0x20($sp) -/* 0592DC 7F0247AC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0592E0 7F0247B0 03E00008 */ jr $ra -/* 0592E4 7F0247B4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_fade_away(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_fade_away -/* 0592E8 7F0247B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0592EC 7F0247BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0592F0 7F0247C0 808E0007 */ lb $t6, 7($a0) -/* 0592F4 7F0247C4 24010005 */ li $at, 5 -/* 0592F8 7F0247C8 51C1000A */ beql $t6, $at, .L7F0247F4 -/* 0592FC 7F0247CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 059300 7F0247D0 0FC0B461 */ jal sub_GAME_7F02D184 -/* 059304 7F0247D4 AFA40018 */ sw $a0, 0x18($sp) -/* 059308 7F0247D8 8FA40018 */ lw $a0, 0x18($sp) -/* 05930C 7F0247DC 240F0005 */ li $t7, 5 -/* 059310 7F0247E0 2418FFFF */ li $t8, -1 -/* 059314 7F0247E4 A08F0007 */ sb $t7, 7($a0) -/* 059318 7F0247E8 AC98002C */ sw $t8, 0x2c($a0) -/* 05931C 7F0247EC A0800008 */ sb $zero, 8($a0) -/* 059320 7F0247F0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0247F4: -/* 059324 7F0247F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 059328 7F0247F8 03E00008 */ jr $ra -/* 05932C 7F0247FC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F024800(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F024800 -/* 059330 7F024800 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 059334 7F024804 AFBF0024 */ sw $ra, 0x24($sp) -/* 059338 7F024808 AFB00020 */ sw $s0, 0x20($sp) -/* 05933C 7F02480C AFA5003C */ sw $a1, 0x3c($sp) -/* 059340 7F024810 00808025 */ move $s0, $a0 -/* 059344 7F024814 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 059348 7F024818 24050001 */ li $a1, 1 -/* 05934C 7F02481C AFA20034 */ sw $v0, 0x34($sp) -/* 059350 7F024820 02002025 */ move $a0, $s0 -/* 059354 7F024824 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 059358 7F024828 00002825 */ move $a1, $zero -/* 05935C 7F02482C 8FA40034 */ lw $a0, 0x34($sp) -/* 059360 7F024830 AFA20030 */ sw $v0, 0x30($sp) -/* 059364 7F024834 AFA0002C */ sw $zero, 0x2c($sp) -/* 059368 7F024838 1080000A */ beqz $a0, .L7F024864 -/* 05936C 7F02483C 00001825 */ move $v1, $zero -/* 059370 7F024840 10400008 */ beqz $v0, .L7F024864 -/* 059374 7F024844 00000000 */ nop -/* 059378 7F024848 0C002914 */ jal get_random_value -/* 05937C 7F02484C 00000000 */ nop -/* 059380 7F024850 304E0001 */ andi $t6, $v0, 1 -/* 059384 7F024854 0C002914 */ jal get_random_value -/* 059388 7F024858 AFAE002C */ sw $t6, 0x2c($sp) -/* 05938C 7F02485C 10000013 */ b .L7F0248AC -/* 059390 7F024860 30430001 */ andi $v1, $v0, 1 -.L7F024864: -/* 059394 7F024864 0FC08E44 */ jal check_if_item_held_like_pistol -/* 059398 7F024868 AFA30028 */ sw $v1, 0x28($sp) -/* 05939C 7F02486C 1440000F */ bnez $v0, .L7F0248AC -/* 0593A0 7F024870 8FA30028 */ lw $v1, 0x28($sp) -/* 0593A4 7F024874 8FA40030 */ lw $a0, 0x30($sp) -/* 0593A8 7F024878 0FC08E44 */ jal check_if_item_held_like_pistol -/* 0593AC 7F02487C AFA30028 */ sw $v1, 0x28($sp) -/* 0593B0 7F024880 1440000A */ bnez $v0, .L7F0248AC -/* 0593B4 7F024884 8FA30028 */ lw $v1, 0x28($sp) -/* 0593B8 7F024888 8FA20034 */ lw $v0, 0x34($sp) -/* 0593BC 7F02488C 8FAF0030 */ lw $t7, 0x30($sp) -/* 0593C0 7F024890 14400003 */ bnez $v0, .L7F0248A0 -/* 0593C4 7F024894 0002C02B */ sltu $t8, $zero, $v0 -/* 0593C8 7F024898 51E00005 */ beql $t7, $zero, .L7F0248B0 -/* 0593CC 7F02489C 02002025 */ move $a0, $s0 -.L7F0248A0: -/* 0593D0 7F0248A0 0C002914 */ jal get_random_value -/* 0593D4 7F0248A4 AFB8002C */ sw $t8, 0x2c($sp) -/* 0593D8 7F0248A8 30430001 */ andi $v1, $v0, 1 -.L7F0248AC: -/* 0593DC 7F0248AC 02002025 */ move $a0, $s0 -.L7F0248B0: -/* 0593E0 7F0248B0 0FC0B461 */ jal sub_GAME_7F02D184 -/* 0593E4 7F0248B4 AFA30028 */ sw $v1, 0x28($sp) -/* 0593E8 7F0248B8 8FA30028 */ lw $v1, 0x28($sp) -/* 0593EC 7F0248BC 2419000B */ li $t9, 11 -/* 0593F0 7F0248C0 A2190007 */ sb $t9, 7($s0) -/* 0593F4 7F0248C4 14600033 */ bnez $v1, .L7F024994 -/* 0593F8 7F0248C8 A2000008 */ sb $zero, 8($s0) -/* 0593FC 7F0248CC 8FA8003C */ lw $t0, 0x3c($sp) -/* 059400 7F0248D0 3C053F0C */ lui $a1, (0x3F0CCCCD >> 16) # lui $a1, 0x3f0c -/* 059404 7F0248D4 34A5CCCD */ ori $a1, (0x3F0CCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 059408 7F0248D8 11000019 */ beqz $t0, .L7F024940 -/* 05940C 7F0248DC 02002025 */ move $a0, $s0 -/* 059410 7F0248E0 3C053F0C */ lui $a1, (0x3F0CCCCD >> 16) # lui $a1, 0x3f0c -/* 059414 7F0248E4 3C063F61 */ lui $a2, (0x3F6147AF >> 16) # lui $a2, 0x3f61 -/* 059418 7F0248E8 34C647AF */ ori $a2, (0x3F6147AF & 0xFFFF) # ori $a2, $a2, 0x47af -/* 05941C 7F0248EC 34A5CCCD */ ori $a1, (0x3F0CCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 059420 7F0248F0 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 059424 7F0248F4 02002025 */ move $a0, $s0 -/* 059428 7F0248F8 3C098007 */ lui $t1, %hi(ptr_animation_table) -/* 05942C 7F0248FC 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059430 7F024900 44812000 */ mtc1 $at, $f4 -/* 059434 7F024904 8D299538 */ lw $t1, %lo(ptr_animation_table)($t1) -/* 059438 7F024908 3C0A0000 */ lui $t2, %hi(0x00003D9C) # $t2, 0 -/* 05943C 7F02490C 254A3D9C */ addiu $t2, %lo(0x00003D9C) # addiu $t2, $t2, 0x3d9c -/* 059440 7F024910 8E04001C */ lw $a0, 0x1c($s0) -/* 059444 7F024914 E7A00010 */ swc1 $f0, 0x10($sp) -/* 059448 7F024918 00003025 */ move $a2, $zero -/* 05944C 7F02491C 3C0740A0 */ lui $a3, 0x40a0 -/* 059450 7F024920 E7A40014 */ swc1 $f4, 0x14($sp) -/* 059454 7F024924 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 059458 7F024928 012A2821 */ addu $a1, $t1, $t2 -/* 05945C 7F02492C 8E04001C */ lw $a0, 0x1c($s0) -/* 059460 7F024930 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059464 7F024934 3C0541D8 */ lui $a1, 0x41d8 -/* 059468 7F024938 1000004E */ b .L7F024A74 -/* 05946C 7F02493C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024940: -/* 059470 7F024940 3C063F61 */ lui $a2, (0x3F6147AF >> 16) # lui $a2, 0x3f61 -/* 059474 7F024944 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 059478 7F024948 34C647AF */ ori $a2, (0x3F6147AF & 0xFFFF) # ori $a2, $a2, 0x47af -/* 05947C 7F02494C 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 059480 7F024950 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059484 7F024954 44813000 */ mtc1 $at, $f6 -/* 059488 7F024958 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 05948C 7F02495C 3C0C0000 */ lui $t4, %hi(0x00003D9C) # $t4, 0 -/* 059490 7F024960 258C3D9C */ addiu $t4, %lo(0x00003D9C) # addiu $t4, $t4, 0x3d9c -/* 059494 7F024964 8E04001C */ lw $a0, 0x1c($s0) -/* 059498 7F024968 E7A00010 */ swc1 $f0, 0x10($sp) -/* 05949C 7F02496C 24060001 */ li $a2, 1 -/* 0594A0 7F024970 3C0740A0 */ lui $a3, 0x40a0 -/* 0594A4 7F024974 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0594A8 7F024978 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0594AC 7F02497C 016C2821 */ addu $a1, $t3, $t4 -/* 0594B0 7F024980 8E04001C */ lw $a0, 0x1c($s0) -/* 0594B4 7F024984 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0594B8 7F024988 3C0541D8 */ lui $a1, 0x41d8 -/* 0594BC 7F02498C 10000039 */ b .L7F024A74 -/* 0594C0 7F024990 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024994: -/* 0594C4 7F024994 8FA2003C */ lw $v0, 0x3c($sp) -/* 0594C8 7F024998 8FAD002C */ lw $t5, 0x2c($sp) -/* 0594CC 7F02499C 10400003 */ beqz $v0, .L7F0249AC -/* 0594D0 7F0249A0 00000000 */ nop -/* 0594D4 7F0249A4 51A00005 */ beql $t5, $zero, .L7F0249BC -/* 0594D8 7F0249A8 3C053F33 */ lui $a1, 0x3f33 -.L7F0249AC: -/* 0594DC 7F0249AC 1440001A */ bnez $v0, .L7F024A18 -/* 0594E0 7F0249B0 8FAE002C */ lw $t6, 0x2c($sp) -/* 0594E4 7F0249B4 11C00018 */ beqz $t6, .L7F024A18 -/* 0594E8 7F0249B8 3C053F33 */ lui $a1, (0x3F333333 >> 16) # lui $a1, 0x3f33 -.L7F0249BC: -/* 0594EC 7F0249BC 3C063F8F */ lui $a2, (0x3F8F5C29 >> 16) # lui $a2, 0x3f8f -/* 0594F0 7F0249C0 34C65C29 */ ori $a2, (0x3F8F5C29 & 0xFFFF) # ori $a2, $a2, 0x5c29 -/* 0594F4 7F0249C4 34A53333 */ ori $a1, (0x3F333333 & 0xFFFF) # ori $a1, $a1, 0x3333 -/* 0594F8 7F0249C8 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0594FC 7F0249CC 02002025 */ move $a0, $s0 -/* 059500 7F0249D0 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 059504 7F0249D4 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059508 7F0249D8 44814000 */ mtc1 $at, $f8 -/* 05950C 7F0249DC 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 059510 7F0249E0 3C180000 */ lui $t8, %hi(0x00005554) # $t8, 0 -/* 059514 7F0249E4 27185554 */ addiu $t8, %lo(0x00005554) # addiu $t8, $t8, 0x5554 -/* 059518 7F0249E8 8E04001C */ lw $a0, 0x1c($s0) -/* 05951C 7F0249EC E7A00010 */ swc1 $f0, 0x10($sp) -/* 059520 7F0249F0 8FA6002C */ lw $a2, 0x2c($sp) -/* 059524 7F0249F4 3C0740A0 */ lui $a3, 0x40a0 -/* 059528 7F0249F8 E7A80014 */ swc1 $f8, 0x14($sp) -/* 05952C 7F0249FC 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 059530 7F024A00 01F82821 */ addu $a1, $t7, $t8 -/* 059534 7F024A04 8E04001C */ lw $a0, 0x1c($s0) -/* 059538 7F024A08 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05953C 7F024A0C 3C054208 */ lui $a1, 0x4208 -/* 059540 7F024A10 10000018 */ b .L7F024A74 -/* 059544 7F024A14 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024A18: -/* 059548 7F024A18 3C053F33 */ lui $a1, (0x3F333333 >> 16) # lui $a1, 0x3f33 -/* 05954C 7F024A1C 3C063F8F */ lui $a2, (0x3F8F5C29 >> 16) # lui $a2, 0x3f8f -/* 059550 7F024A20 34C65C29 */ ori $a2, (0x3F8F5C29 & 0xFFFF) # ori $a2, $a2, 0x5c29 -/* 059554 7F024A24 34A53333 */ ori $a1, (0x3F333333 & 0xFFFF) # ori $a1, $a1, 0x3333 -/* 059558 7F024A28 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 05955C 7F024A2C 02002025 */ move $a0, $s0 -/* 059560 7F024A30 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 059564 7F024A34 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059568 7F024A38 44815000 */ mtc1 $at, $f10 -/* 05956C 7F024A3C 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 059570 7F024A40 3C080000 */ lui $t0, %hi(0x000054A0) # $t0, 0 -/* 059574 7F024A44 250854A0 */ addiu $t0, %lo(0x000054A0) # addiu $t0, $t0, 0x54a0 -/* 059578 7F024A48 8E04001C */ lw $a0, 0x1c($s0) -/* 05957C 7F024A4C E7A00010 */ swc1 $f0, 0x10($sp) -/* 059580 7F024A50 8FA6002C */ lw $a2, 0x2c($sp) -/* 059584 7F024A54 3C0740A0 */ lui $a3, 0x40a0 -/* 059588 7F024A58 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 05958C 7F024A5C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 059590 7F024A60 03282821 */ addu $a1, $t9, $t0 -/* 059594 7F024A64 8E04001C */ lw $a0, 0x1c($s0) -/* 059598 7F024A68 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05959C 7F024A6C 3C054200 */ lui $a1, 0x4200 -/* 0595A0 7F024A70 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024A74: -/* 0595A4 7F024A74 8FB00020 */ lw $s0, 0x20($sp) -/* 0595A8 7F024A78 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0595AC 7F024A7C 03E00008 */ jr $ra -/* 0595B0 7F024A80 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F024A84(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F024A84 -/* 0595B4 7F024A84 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0595B8 7F024A88 AFBF0024 */ sw $ra, 0x24($sp) -/* 0595BC 7F024A8C AFB00020 */ sw $s0, 0x20($sp) -/* 0595C0 7F024A90 AFA5003C */ sw $a1, 0x3c($sp) -/* 0595C4 7F024A94 00808025 */ move $s0, $a0 -/* 0595C8 7F024A98 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0595CC 7F024A9C 24050001 */ li $a1, 1 -/* 0595D0 7F024AA0 02002025 */ move $a0, $s0 -/* 0595D4 7F024AA4 00002825 */ move $a1, $zero -/* 0595D8 7F024AA8 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0595DC 7F024AAC AFA20034 */ sw $v0, 0x34($sp) -/* 0595E0 7F024AB0 8FA60034 */ lw $a2, 0x34($sp) -/* 0595E4 7F024AB4 00402825 */ move $a1, $v0 -/* 0595E8 7F024AB8 AFA0002C */ sw $zero, 0x2c($sp) -/* 0595EC 7F024ABC 10C00005 */ beqz $a2, .L7F024AD4 -/* 0595F0 7F024AC0 00000000 */ nop -/* 0595F4 7F024AC4 14400003 */ bnez $v0, .L7F024AD4 -/* 0595F8 7F024AC8 240E0001 */ li $t6, 1 -/* 0595FC 7F024ACC 10000015 */ b .L7F024B24 -/* 059600 7F024AD0 AFAE002C */ sw $t6, 0x2c($sp) -.L7F024AD4: -/* 059604 7F024AD4 10C00003 */ beqz $a2, .L7F024AE4 -/* 059608 7F024AD8 00000000 */ nop -/* 05960C 7F024ADC 1440000D */ bnez $v0, .L7F024B14 -/* 059610 7F024AE0 00000000 */ nop -.L7F024AE4: -/* 059614 7F024AE4 14C00003 */ bnez $a2, .L7F024AF4 -/* 059618 7F024AE8 00C02025 */ move $a0, $a2 -/* 05961C 7F024AEC 10400009 */ beqz $v0, .L7F024B14 -/* 059620 7F024AF0 00000000 */ nop -.L7F024AF4: -/* 059624 7F024AF4 0FC08E44 */ jal check_if_item_held_like_pistol -/* 059628 7F024AF8 AFA50030 */ sw $a1, 0x30($sp) -/* 05962C 7F024AFC 14400005 */ bnez $v0, .L7F024B14 -/* 059630 7F024B00 8FA50030 */ lw $a1, 0x30($sp) -/* 059634 7F024B04 0FC08E44 */ jal check_if_item_held_like_pistol -/* 059638 7F024B08 00A02025 */ move $a0, $a1 -/* 05963C 7F024B0C 10400005 */ beqz $v0, .L7F024B24 -/* 059640 7F024B10 00000000 */ nop -.L7F024B14: -/* 059644 7F024B14 0C002914 */ jal get_random_value -/* 059648 7F024B18 00000000 */ nop -/* 05964C 7F024B1C 304F0001 */ andi $t7, $v0, 1 -/* 059650 7F024B20 AFAF002C */ sw $t7, 0x2c($sp) -.L7F024B24: -/* 059654 7F024B24 0FC0B461 */ jal sub_GAME_7F02D184 -/* 059658 7F024B28 02002025 */ move $a0, $s0 -/* 05965C 7F024B2C 8FA2003C */ lw $v0, 0x3c($sp) -/* 059660 7F024B30 2418000C */ li $t8, 12 -/* 059664 7F024B34 A2180007 */ sb $t8, 7($s0) -/* 059668 7F024B38 10400004 */ beqz $v0, .L7F024B4C -/* 05966C 7F024B3C A2000008 */ sb $zero, 8($s0) -/* 059670 7F024B40 8FB9002C */ lw $t9, 0x2c($sp) -/* 059674 7F024B44 13200005 */ beqz $t9, .L7F024B5C -/* 059678 7F024B48 00000000 */ nop -.L7F024B4C: -/* 05967C 7F024B4C 14400035 */ bnez $v0, .L7F024C24 -/* 059680 7F024B50 8FA8002C */ lw $t0, 0x2c($sp) -/* 059684 7F024B54 11000033 */ beqz $t0, .L7F024C24 -/* 059688 7F024B58 00000000 */ nop -.L7F024B5C: -/* 05968C 7F024B5C 0C002914 */ jal get_random_value -/* 059690 7F024B60 00000000 */ nop -/* 059694 7F024B64 30490001 */ andi $t1, $v0, 1 -/* 059698 7F024B68 11200018 */ beqz $t1, .L7F024BCC -/* 05969C 7F024B6C 02002025 */ move $a0, $s0 -/* 0596A0 7F024B70 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 0596A4 7F024B74 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0596A8 7F024B78 02002025 */ move $a0, $s0 -/* 0596AC 7F024B7C 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0596B0 7F024B80 3C053F00 */ lui $a1, 0x3f00 -/* 0596B4 7F024B84 3C0A8007 */ lui $t2, %hi(ptr_animation_table) -/* 0596B8 7F024B88 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0596BC 7F024B8C 44812000 */ mtc1 $at, $f4 -/* 0596C0 7F024B90 8D4A9538 */ lw $t2, %lo(ptr_animation_table)($t2) -/* 0596C4 7F024B94 3C0B0000 */ lui $t3, %hi(0x000047BC) # $t3, 0 -/* 0596C8 7F024B98 256B47BC */ addiu $t3, %lo(0x000047BC) # addiu $t3, $t3, 0x47bc -/* 0596CC 7F024B9C 8E04001C */ lw $a0, 0x1c($s0) -/* 0596D0 7F024BA0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0596D4 7F024BA4 8FA6002C */ lw $a2, 0x2c($sp) -/* 0596D8 7F024BA8 3C0740A0 */ lui $a3, 0x40a0 -/* 0596DC 7F024BAC E7A40014 */ swc1 $f4, 0x14($sp) -/* 0596E0 7F024BB0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0596E4 7F024BB4 014B2821 */ addu $a1, $t2, $t3 -/* 0596E8 7F024BB8 8E04001C */ lw $a0, 0x1c($s0) -/* 0596EC 7F024BBC 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0596F0 7F024BC0 3C054244 */ lui $a1, 0x4244 -/* 0596F4 7F024BC4 10000048 */ b .L7F024CE8 -/* 0596F8 7F024BC8 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024BCC: -/* 0596FC 7F024BCC 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 059700 7F024BD0 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 059704 7F024BD4 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 059708 7F024BD8 3C053F00 */ lui $a1, 0x3f00 -/* 05970C 7F024BDC 3C0C8007 */ lui $t4, %hi(ptr_animation_table) -/* 059710 7F024BE0 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059714 7F024BE4 44813000 */ mtc1 $at, $f6 -/* 059718 7F024BE8 8D8C9538 */ lw $t4, %lo(ptr_animation_table)($t4) -/* 05971C 7F024BEC 3C0D0000 */ lui $t5, %hi(0x00004A40) # $t5, 0 -/* 059720 7F024BF0 25AD4A40 */ addiu $t5, %lo(0x00004A40) # addiu $t5, $t5, 0x4a40 -/* 059724 7F024BF4 8E04001C */ lw $a0, 0x1c($s0) -/* 059728 7F024BF8 E7A00010 */ swc1 $f0, 0x10($sp) -/* 05972C 7F024BFC 8FA6002C */ lw $a2, 0x2c($sp) -/* 059730 7F024C00 3C074302 */ lui $a3, 0x4302 -/* 059734 7F024C04 E7A60014 */ swc1 $f6, 0x14($sp) -/* 059738 7F024C08 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05973C 7F024C0C 018D2821 */ addu $a1, $t4, $t5 -/* 059740 7F024C10 8E04001C */ lw $a0, 0x1c($s0) -/* 059744 7F024C14 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059748 7F024C18 3C05432D */ lui $a1, 0x432d -/* 05974C 7F024C1C 10000032 */ b .L7F024CE8 -/* 059750 7F024C20 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024C24: -/* 059754 7F024C24 0C002914 */ jal get_random_value -/* 059758 7F024C28 00000000 */ nop -/* 05975C 7F024C2C 304E0001 */ andi $t6, $v0, 1 -/* 059760 7F024C30 11C00018 */ beqz $t6, .L7F024C94 -/* 059764 7F024C34 02002025 */ move $a0, $s0 -/* 059768 7F024C38 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 05976C 7F024C3C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 059770 7F024C40 02002025 */ move $a0, $s0 -/* 059774 7F024C44 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 059778 7F024C48 3C053F00 */ lui $a1, 0x3f00 -/* 05977C 7F024C4C 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 059780 7F024C50 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059784 7F024C54 44814000 */ mtc1 $at, $f8 -/* 059788 7F024C58 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 05978C 7F024C5C 3C180000 */ lui $t8, %hi(0x00004A40) # $t8, 0 -/* 059790 7F024C60 27184A40 */ addiu $t8, %lo(0x00004A40) # addiu $t8, $t8, 0x4a40 -/* 059794 7F024C64 8E04001C */ lw $a0, 0x1c($s0) -/* 059798 7F024C68 E7A00010 */ swc1 $f0, 0x10($sp) -/* 05979C 7F024C6C 8FA6002C */ lw $a2, 0x2c($sp) -/* 0597A0 7F024C70 3C0741A0 */ lui $a3, 0x41a0 -/* 0597A4 7F024C74 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0597A8 7F024C78 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0597AC 7F024C7C 01F82821 */ addu $a1, $t7, $t8 -/* 0597B0 7F024C80 8E04001C */ lw $a0, 0x1c($s0) -/* 0597B4 7F024C84 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0597B8 7F024C88 3C05427C */ lui $a1, 0x427c -/* 0597BC 7F024C8C 10000016 */ b .L7F024CE8 -/* 0597C0 7F024C90 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024C94: -/* 0597C4 7F024C94 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 0597C8 7F024C98 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0597CC 7F024C9C 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0597D0 7F024CA0 3C053F00 */ lui $a1, 0x3f00 -/* 0597D4 7F024CA4 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 0597D8 7F024CA8 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0597DC 7F024CAC 44815000 */ mtc1 $at, $f10 -/* 0597E0 7F024CB0 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 0597E4 7F024CB4 3C080000 */ lui $t0, %hi(0x000047BC) # $t0, 0 -/* 0597E8 7F024CB8 250847BC */ addiu $t0, %lo(0x000047BC) # addiu $t0, $t0, 0x47bc -/* 0597EC 7F024CBC 8E04001C */ lw $a0, 0x1c($s0) -/* 0597F0 7F024CC0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0597F4 7F024CC4 8FA6002C */ lw $a2, 0x2c($sp) -/* 0597F8 7F024CC8 3C0742B6 */ lui $a3, 0x42b6 -/* 0597FC 7F024CCC E7AA0014 */ swc1 $f10, 0x14($sp) -/* 059800 7F024CD0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 059804 7F024CD4 03282821 */ addu $a1, $t9, $t0 -/* 059808 7F024CD8 8E04001C */ lw $a0, 0x1c($s0) -/* 05980C 7F024CDC 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059810 7F024CE0 3C054308 */ lui $a1, 0x4308 -/* 059814 7F024CE4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024CE8: -/* 059818 7F024CE8 8FB00020 */ lw $s0, 0x20($sp) -/* 05981C 7F024CEC 27BD0038 */ addiu $sp, $sp, 0x38 -/* 059820 7F024CF0 03E00008 */ jr $ra -/* 059824 7F024CF4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F024CF8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F024CF8 -/* 059828 7F024CF8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 05982C 7F024CFC AFBF0024 */ sw $ra, 0x24($sp) -/* 059830 7F024D00 AFB00020 */ sw $s0, 0x20($sp) -/* 059834 7F024D04 8C820018 */ lw $v0, 0x18($a0) -/* 059838 7F024D08 C4A60000 */ lwc1 $f6, ($a1) -/* 05983C 7F024D0C C4AA0008 */ lwc1 $f10, 8($a1) -/* 059840 7F024D10 C4440008 */ lwc1 $f4, 8($v0) -/* 059844 7F024D14 C4480010 */ lwc1 $f8, 0x10($v0) -/* 059848 7F024D18 00808025 */ move $s0, $a0 -/* 05984C 7F024D1C 46062001 */ sub.s $f0, $f4, $f6 -/* 059850 7F024D20 AFA5004C */ sw $a1, 0x4c($sp) -/* 059854 7F024D24 460A4081 */ sub.s $f2, $f8, $f10 -/* 059858 7F024D28 46000402 */ mul.s $f16, $f0, $f0 -/* 05985C 7F024D2C 00000000 */ nop -/* 059860 7F024D30 46021482 */ mul.s $f18, $f2, $f2 -/* 059864 7F024D34 0C007DF8 */ jal sqrtf -/* 059868 7F024D38 46128300 */ add.s $f12, $f16, $f18 -/* 05986C 7F024D3C E7A00038 */ swc1 $f0, 0x38($sp) -/* 059870 7F024D40 02002025 */ move $a0, $s0 -/* 059874 7F024D44 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 059878 7F024D48 24050001 */ li $a1, 1 -/* 05987C 7F024D4C 02002025 */ move $a0, $s0 -/* 059880 7F024D50 00002825 */ move $a1, $zero -/* 059884 7F024D54 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 059888 7F024D58 AFA20034 */ sw $v0, 0x34($sp) -/* 05988C 7F024D5C 8FA70034 */ lw $a3, 0x34($sp) -/* 059890 7F024D60 240E0001 */ li $t6, 1 -/* 059894 7F024D64 00402825 */ move $a1, $v0 -/* 059898 7F024D68 10E00003 */ beqz $a3, .L7F024D78 -/* 05989C 7F024D6C AFAE002C */ sw $t6, 0x2c($sp) -/* 0598A0 7F024D70 14400005 */ bnez $v0, .L7F024D88 -/* 0598A4 7F024D74 00000000 */ nop -.L7F024D78: -/* 0598A8 7F024D78 14E00007 */ bnez $a3, .L7F024D98 -/* 0598AC 7F024D7C 00E02025 */ move $a0, $a3 -/* 0598B0 7F024D80 54400006 */ bnezl $v0, .L7F024D9C -/* 0598B4 7F024D84 AFA50030 */ sw $a1, 0x30($sp) -.L7F024D88: -/* 0598B8 7F024D88 0C002914 */ jal get_random_value -/* 0598BC 7F024D8C AFA0002C */ sw $zero, 0x2c($sp) -/* 0598C0 7F024D90 10000010 */ b .L7F024DD4 -/* 0598C4 7F024D94 30460001 */ andi $a2, $v0, 1 -.L7F024D98: -/* 0598C8 7F024D98 AFA50030 */ sw $a1, 0x30($sp) -.L7F024D9C: -/* 0598CC 7F024D9C 0FC08E44 */ jal check_if_item_held_like_pistol -/* 0598D0 7F024DA0 AFA70034 */ sw $a3, 0x34($sp) -/* 0598D4 7F024DA4 8FA50030 */ lw $a1, 0x30($sp) -/* 0598D8 7F024DA8 14400006 */ bnez $v0, .L7F024DC4 -/* 0598DC 7F024DAC 8FA70034 */ lw $a3, 0x34($sp) -/* 0598E0 7F024DB0 00A02025 */ move $a0, $a1 -/* 0598E4 7F024DB4 0FC08E44 */ jal check_if_item_held_like_pistol -/* 0598E8 7F024DB8 AFA70034 */ sw $a3, 0x34($sp) -/* 0598EC 7F024DBC 10400004 */ beqz $v0, .L7F024DD0 -/* 0598F0 7F024DC0 8FA70034 */ lw $a3, 0x34($sp) -.L7F024DC4: -/* 0598F4 7F024DC4 AFA0002C */ sw $zero, 0x2c($sp) -/* 0598F8 7F024DC8 10000002 */ b .L7F024DD4 -/* 0598FC 7F024DCC 0007302B */ sltu $a2, $zero, $a3 -.L7F024DD0: -/* 059900 7F024DD0 0007302B */ sltu $a2, $zero, $a3 -.L7F024DD4: -/* 059904 7F024DD4 02002025 */ move $a0, $s0 -/* 059908 7F024DD8 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05990C 7F024DDC AFA60028 */ sw $a2, 0x28($sp) -/* 059910 7F024DE0 8FA2004C */ lw $v0, 0x4c($sp) -/* 059914 7F024DE4 8FA60028 */ lw $a2, 0x28($sp) -/* 059918 7F024DE8 240F000D */ li $t7, 13 -/* 05991C 7F024DEC A20F0007 */ sb $t7, 7($s0) -/* 059920 7F024DF0 C4440000 */ lwc1 $f4, ($v0) -/* 059924 7F024DF4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 059928 7F024DF8 44800000 */ mtc1 $zero, $f0 -/* 05992C 7F024DFC E604002C */ swc1 $f4, 0x2c($s0) -/* 059930 7F024E00 C4460004 */ lwc1 $f6, 4($v0) -/* 059934 7F024E04 44815000 */ mtc1 $at, $f10 -/* 059938 7F024E08 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05993C 7F024E0C E6060030 */ swc1 $f6, 0x30($s0) -/* 059940 7F024E10 C4480008 */ lwc1 $f8, 8($v0) -/* 059944 7F024E14 A2000008 */ sb $zero, 8($s0) -/* 059948 7F024E18 E6000040 */ swc1 $f0, 0x40($s0) -/* 05994C 7F024E1C E60A0038 */ swc1 $f10, 0x38($s0) -/* 059950 7F024E20 E6080034 */ swc1 $f8, 0x34($s0) -/* 059954 7F024E24 8FB8002C */ lw $t8, 0x2c($sp) -/* 059958 7F024E28 5300001B */ beql $t8, $zero, .L7F024E98 -/* 05995C 7F024E2C 44811000 */ mtc1 $at, $f2 -/* 059960 7F024E30 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 059964 7F024E34 44811000 */ mtc1 $at, $f2 -/* 059968 7F024E38 3C018003 */ lui $at, %hi(D_80030988) # -0.000000 -/* 05996C 7F024E3C C4320988 */ lwc1 $f18, %lo(D_80030988)($at) -/* 059970 7F024E40 C7B00038 */ lwc1 $f16, 0x38($sp) -/* 059974 7F024E44 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059978 7F024E48 46029102 */ mul.s $f4, $f18, $f2 -/* 05997C 7F024E4C 3C098007 */ lui $t1, %hi(ptr_animation_table) -/* 059980 7F024E50 44815000 */ mtc1 $at, $f10 -/* 059984 7F024E54 3C0A0000 */ lui $t2, %hi(0x000040D4) # $t2, 0 -/* 059988 7F024E58 254A40D4 */ addiu $t2, %lo(0x000040D4) # addiu $t2, $t2, 0x40d4 -/* 05998C 7F024E5C 8E04001C */ lw $a0, 0x1c($s0) -/* 059990 7F024E60 44070000 */ mfc1 $a3, $f0 -/* 059994 7F024E64 46048183 */ div.s $f6, $f16, $f4 -/* 059998 7F024E68 4600320D */ trunc.w.s $f8, $f6 -/* 05999C 7F024E6C 44084000 */ mfc1 $t0, $f8 -/* 0599A0 7F024E70 00000000 */ nop -/* 0599A4 7F024E74 AE08003C */ sw $t0, 0x3c($s0) -/* 0599A8 7F024E78 8D299538 */ lw $t1, %lo(ptr_animation_table)($t1) -/* 0599AC 7F024E7C E7A20010 */ swc1 $f2, 0x10($sp) -/* 0599B0 7F024E80 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 0599B4 7F024E84 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0599B8 7F024E88 012A2821 */ addu $a1, $t1, $t2 -/* 0599BC 7F024E8C 10000018 */ b .L7F024EF0 -/* 0599C0 7F024E90 8FBF0024 */ lw $ra, 0x24($sp) -/* 0599C4 7F024E94 44811000 */ mtc1 $at, $f2 -.L7F024E98: -/* 0599C8 7F024E98 3C018003 */ lui $at, %hi(D_80030994) -/* 0599CC 7F024E9C C4300994 */ lwc1 $f16, %lo(D_80030994)($at) -/* 0599D0 7F024EA0 C7B20038 */ lwc1 $f18, 0x38($sp) -/* 0599D4 7F024EA4 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0599D8 7F024EA8 46028102 */ mul.s $f4, $f16, $f2 -/* 0599DC 7F024EAC 3C0D8007 */ lui $t5, %hi(ptr_animation_table) -/* 0599E0 7F024EB0 44815000 */ mtc1 $at, $f10 -/* 0599E4 7F024EB4 3C0E0000 */ lui $t6, %hi(0x0000777C) # $t6, 0 -/* 0599E8 7F024EB8 25CE777C */ addiu $t6, %lo(0x0000777C) # addiu $t6, $t6, 0x777c -/* 0599EC 7F024EBC 8E04001C */ lw $a0, 0x1c($s0) -/* 0599F0 7F024EC0 44070000 */ mfc1 $a3, $f0 -/* 0599F4 7F024EC4 46049183 */ div.s $f6, $f18, $f4 -/* 0599F8 7F024EC8 4600320D */ trunc.w.s $f8, $f6 -/* 0599FC 7F024ECC 440C4000 */ mfc1 $t4, $f8 -/* 059A00 7F024ED0 00000000 */ nop -/* 059A04 7F024ED4 AE0C003C */ sw $t4, 0x3c($s0) -/* 059A08 7F024ED8 8DAD9538 */ lw $t5, %lo(ptr_animation_table)($t5) -/* 059A0C 7F024EDC E7A20010 */ swc1 $f2, 0x10($sp) -/* 059A10 7F024EE0 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 059A14 7F024EE4 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 059A18 7F024EE8 01AE2821 */ addu $a1, $t5, $t6 -/* 059A1C 7F024EEC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F024EF0: -/* 059A20 7F024EF0 8FB00020 */ lw $s0, 0x20($sp) -/* 059A24 7F024EF4 27BD0048 */ addiu $sp, $sp, 0x48 -/* 059A28 7F024EF8 03E00008 */ jr $ra -/* 059A2C 7F024EFC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F024F00(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F024F00 -/* 059A30 7F024F00 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 059A34 7F024F04 AFBF0024 */ sw $ra, 0x24($sp) -/* 059A38 7F024F08 AFB00020 */ sw $s0, 0x20($sp) -/* 059A3C 7F024F0C 0FC0B461 */ jal sub_GAME_7F02D184 -/* 059A40 7F024F10 00808025 */ move $s0, $a0 -/* 059A44 7F024F14 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 059A48 7F024F18 44812000 */ mtc1 $at, $f4 -/* 059A4C 7F024F1C 240E0016 */ li $t6, 22 -/* 059A50 7F024F20 A20E0007 */ sb $t6, 7($s0) -/* 059A54 7F024F24 A2000008 */ sb $zero, 8($s0) -/* 059A58 7F024F28 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 059A5C 7F024F2C 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 059A60 7F024F30 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 059A64 7F024F34 44813000 */ mtc1 $at, $f6 -/* 059A68 7F024F38 3C180000 */ lui $t8, %hi(0x00002F94) # $t8, 0 -/* 059A6C 7F024F3C 27182F94 */ addiu $t8, %lo(0x00002F94) # addiu $t8, $t8, 0x2f94 -/* 059A70 7F024F40 8E04001C */ lw $a0, 0x1c($s0) -/* 059A74 7F024F44 00003025 */ move $a2, $zero -/* 059A78 7F024F48 3C074120 */ lui $a3, 0x4120 -/* 059A7C 7F024F4C E7A40010 */ swc1 $f4, 0x10($sp) -/* 059A80 7F024F50 01F82821 */ addu $a1, $t7, $t8 -/* 059A84 7F024F54 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 059A88 7F024F58 E7A60014 */ swc1 $f6, 0x14($sp) -/* 059A8C 7F024F5C 8E04001C */ lw $a0, 0x1c($s0) -/* 059A90 7F024F60 3C054120 */ lui $a1, 0x4120 -/* 059A94 7F024F64 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 059A98 7F024F68 3C064180 */ lui $a2, 0x4180 -/* 059A9C 7F024F6C 8E04001C */ lw $a0, 0x1c($s0) -/* 059AA0 7F024F70 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059AA4 7F024F74 3C054220 */ lui $a1, 0x4220 -/* 059AA8 7F024F78 8FBF0024 */ lw $ra, 0x24($sp) -/* 059AAC 7F024F7C 8FB00020 */ lw $s0, 0x20($sp) -/* 059AB0 7F024F80 27BD0028 */ addiu $sp, $sp, 0x28 -/* 059AB4 7F024F84 03E00008 */ jr $ra -/* 059AB8 7F024F88 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F024F8C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F024F8C -/* 059ABC 7F024F8C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 059AC0 7F024F90 AFBF0014 */ sw $ra, 0x14($sp) -/* 059AC4 7F024F94 8C8E004C */ lw $t6, 0x4c($a0) -/* 059AC8 7F024F98 8C86001C */ lw $a2, 0x1c($a0) -/* 059ACC 7F024F9C 8C82002C */ lw $v0, 0x2c($a0) -/* 059AD0 7F024FA0 31CF0020 */ andi $t7, $t6, 0x20 -/* 059AD4 7F024FA4 51E00017 */ beql $t7, $zero, .L7F025004 -/* 059AD8 7F024FA8 80980036 */ lb $t8, 0x36($a0) -/* 059ADC 7F024FAC 44801000 */ mtc1 $zero, $f2 -/* 059AE0 7F024FB0 C4400020 */ lwc1 $f0, 0x20($v0) -/* 059AE4 7F024FB4 00C02025 */ move $a0, $a2 -/* 059AE8 7F024FB8 4600103E */ c.le.s $f2, $f0 -/* 059AEC 7F024FBC 00000000 */ nop -/* 059AF0 7F024FC0 4500000B */ bc1f .L7F024FF0 -/* 059AF4 7F024FC4 00000000 */ nop -/* 059AF8 7F024FC8 C4440018 */ lwc1 $f4, 0x18($v0) -/* 059AFC 7F024FCC 4604003C */ c.lt.s $f0, $f4 -/* 059B00 7F024FD0 00000000 */ nop -/* 059B04 7F024FD4 45000006 */ bc1f .L7F024FF0 -/* 059B08 7F024FD8 00000000 */ nop -/* 059B0C 7F024FDC 44050000 */ mfc1 $a1, $f0 -/* 059B10 7F024FE0 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059B14 7F024FE4 00C02025 */ move $a0, $a2 -/* 059B18 7F024FE8 10000031 */ b .L7F0250B0 -/* 059B1C 7F024FEC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F024FF0: -/* 059B20 7F024FF0 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059B24 7F024FF4 8C450018 */ lw $a1, 0x18($v0) -/* 059B28 7F024FF8 1000002D */ b .L7F0250B0 -/* 059B2C 7F024FFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 059B30 7F025000 80980036 */ lb $t8, 0x36($a0) -.L7F025004: -/* 059B34 7F025004 53000012 */ beql $t8, $zero, .L7F025050 -/* 059B38 7F025008 44801000 */ mtc1 $zero, $f2 -/* 059B3C 7F02500C 44801000 */ mtc1 $zero, $f2 -/* 059B40 7F025010 C4400020 */ lwc1 $f0, 0x20($v0) -/* 059B44 7F025014 00C02025 */ move $a0, $a2 -/* 059B48 7F025018 4600103E */ c.le.s $f2, $f0 -/* 059B4C 7F02501C 00000000 */ nop -/* 059B50 7F025020 45000006 */ bc1f .L7F02503C -/* 059B54 7F025024 00000000 */ nop -/* 059B58 7F025028 44050000 */ mfc1 $a1, $f0 -/* 059B5C 7F02502C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059B60 7F025030 00C02025 */ move $a0, $a2 -/* 059B64 7F025034 1000001E */ b .L7F0250B0 -/* 059B68 7F025038 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02503C: -/* 059B6C 7F02503C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059B70 7F025040 8C450018 */ lw $a1, 0x18($v0) -/* 059B74 7F025044 1000001A */ b .L7F0250B0 -/* 059B78 7F025048 8FBF0014 */ lw $ra, 0x14($sp) -/* 059B7C 7F02504C 44801000 */ mtc1 $zero, $f2 -.L7F025050: -/* 059B80 7F025050 C4400020 */ lwc1 $f0, 0x20($v0) -/* 059B84 7F025054 4600103E */ c.le.s $f2, $f0 -/* 059B88 7F025058 00000000 */ nop -/* 059B8C 7F02505C 45020007 */ bc1fl .L7F02507C -/* 059B90 7F025060 C4400014 */ lwc1 $f0, 0x14($v0) -/* 059B94 7F025064 44050000 */ mfc1 $a1, $f0 -/* 059B98 7F025068 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059B9C 7F02506C 00C02025 */ move $a0, $a2 -/* 059BA0 7F025070 1000000F */ b .L7F0250B0 -/* 059BA4 7F025074 8FBF0014 */ lw $ra, 0x14($sp) -/* 059BA8 7F025078 C4400014 */ lwc1 $f0, 0x14($v0) -.L7F02507C: -/* 059BAC 7F02507C 00C02025 */ move $a0, $a2 -/* 059BB0 7F025080 4600103E */ c.le.s $f2, $f0 -/* 059BB4 7F025084 00000000 */ nop -/* 059BB8 7F025088 45000006 */ bc1f .L7F0250A4 -/* 059BBC 7F02508C 00000000 */ nop -/* 059BC0 7F025090 44050000 */ mfc1 $a1, $f0 -/* 059BC4 7F025094 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059BC8 7F025098 00C02025 */ move $a0, $a2 -/* 059BCC 7F02509C 10000004 */ b .L7F0250B0 -/* 059BD0 7F0250A0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0250A4: -/* 059BD4 7F0250A4 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 059BD8 7F0250A8 3C05BF80 */ lui $a1, 0xbf80 -/* 059BDC 7F0250AC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0250B0: -/* 059BE0 7F0250B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 059BE4 7F0250B4 03E00008 */ jr $ra -/* 059BE8 7F0250B8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0250BC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DAC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051DB0 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F0250BC -/* 059BEC 7F0250BC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 059BF0 7F0250C0 30AE0002 */ andi $t6, $a1, 2 -/* 059BF4 7F0250C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 059BF8 7F0250C8 11C00004 */ beqz $t6, .L7F0250DC -/* 059BFC 7F0250CC AFA40030 */ sw $a0, 0x30($sp) -/* 059C00 7F0250D0 44800000 */ mtc1 $zero, $f0 -/* 059C04 7F0250D4 10000022 */ b .L7F025160 -/* 059C08 7F0250D8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0250DC: -/* 059C0C 7F0250DC 30AF0010 */ andi $t7, $a1, 0x10 -/* 059C10 7F0250E0 11E00019 */ beqz $t7, .L7F025148 -/* 059C14 7F0250E4 8FA40030 */ lw $a0, 0x30($sp) -/* 059C18 7F0250E8 44862000 */ mtc1 $a2, $f4 -/* 059C1C 7F0250EC 3C018005 */ lui $at, %hi(D_80051DAC) -/* 059C20 7F0250F0 C4281DAC */ lwc1 $f8, %lo(D_80051DAC)($at) -/* 059C24 7F0250F4 468021A0 */ cvt.s.w $f6, $f4 -/* 059C28 7F0250F8 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 059C2C 7F0250FC 44818000 */ mtc1 $at, $f16 -/* 059C30 7F025100 8FB80030 */ lw $t8, 0x30($sp) -/* 059C34 7F025104 46083282 */ mul.s $f10, $f6, $f8 -/* 059C38 7F025108 8F04001C */ lw $a0, 0x1c($t8) -/* 059C3C 7F02510C 46105303 */ div.s $f12, $f10, $f16 -/* 059C40 7F025110 0FC1B320 */ jal getsubroty -/* 059C44 7F025114 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 059C48 7F025118 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 059C4C 7F02511C 44809000 */ mtc1 $zero, $f18 -/* 059C50 7F025120 3C018005 */ lui $at, %hi(D_80051DB0) -/* 059C54 7F025124 46006081 */ sub.s $f2, $f12, $f0 -/* 059C58 7F025128 4612103C */ c.lt.s $f2, $f18 -/* 059C5C 7F02512C 00000000 */ nop -/* 059C60 7F025130 45000003 */ bc1f .L7F025140 -/* 059C64 7F025134 00000000 */ nop -/* 059C68 7F025138 C4241DB0 */ lwc1 $f4, %lo(D_80051DB0)($at) -/* 059C6C 7F02513C 46041080 */ add.s $f2, $f2, $f4 -.L7F025140: -/* 059C70 7F025140 10000006 */ b .L7F02515C -/* 059C74 7F025144 46001006 */ mov.s $f0, $f2 -.L7F025148: -/* 059C78 7F025148 0FC0CB1E */ jal sub_GAME_7F032C78 -/* 059C7C 7F02514C 27A70028 */ addiu $a3, $sp, 0x28 -/* 059C80 7F025150 8FA40030 */ lw $a0, 0x30($sp) -/* 059C84 7F025154 0FC0CAF6 */ jal get_distance_actor_to_position -/* 059C88 7F025158 00402825 */ move $a1, $v0 -.L7F02515C: -/* 059C8C 7F02515C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F025160: -/* 059C90 7F025160 27BD0030 */ addiu $sp, $sp, 0x30 -/* 059C94 7F025164 03E00008 */ jr $ra -/* 059C98 7F025168 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02516C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DB4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051DB8 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F02516C -/* 059C9C 7F02516C 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 059CA0 7F025170 AFBF003C */ sw $ra, 0x3c($sp) -/* 059CA4 7F025174 AFB70038 */ sw $s7, 0x38($sp) -/* 059CA8 7F025178 AFB60034 */ sw $s6, 0x34($sp) -/* 059CAC 7F02517C AFB50030 */ sw $s5, 0x30($sp) -/* 059CB0 7F025180 AFB4002C */ sw $s4, 0x2c($sp) -/* 059CB4 7F025184 AFB30028 */ sw $s3, 0x28($sp) -/* 059CB8 7F025188 AFB20024 */ sw $s2, 0x24($sp) -/* 059CBC 7F02518C AFB10020 */ sw $s1, 0x20($sp) -/* 059CC0 7F025190 AFB0001C */ sw $s0, 0x1c($sp) -/* 059CC4 7F025194 AFA60098 */ sw $a2, 0x98($sp) -/* 059CC8 7F025198 AFA7009C */ sw $a3, 0x9c($sp) -/* 059CCC 7F02519C 8C8E001C */ lw $t6, 0x1c($a0) -/* 059CD0 7F0251A0 3C188003 */ lui $t8, %hi(D_800309A8) -/* 059CD4 7F0251A4 271809A8 */ addiu $t8, %lo(D_800309A8) # addiu $t8, $t8, 0x9a8 -/* 059CD8 7F0251A8 AFAE008C */ sw $t6, 0x8c($sp) -/* 059CDC 7F0251AC 8F0A0004 */ lw $t2, 4($t8) -/* 059CE0 7F0251B0 8F010000 */ lw $at, ($t8) -/* 059CE4 7F0251B4 27AF0060 */ addiu $t7, $sp, 0x60 -/* 059CE8 7F0251B8 3C0C8003 */ lui $t4, %hi(D_800309B0) -/* 059CEC 7F0251BC 258C09B0 */ addiu $t4, %lo(D_800309B0) # addiu $t4, $t4, 0x9b0 -/* 059CF0 7F0251C0 ADEA0004 */ sw $t2, 4($t7) -/* 059CF4 7F0251C4 ADE10000 */ sw $at, ($t7) -/* 059CF8 7F0251C8 8D890004 */ lw $t1, 4($t4) -/* 059CFC 7F0251CC 8D810000 */ lw $at, ($t4) -/* 059D00 7F0251D0 27AB0058 */ addiu $t3, $sp, 0x58 -/* 059D04 7F0251D4 24190008 */ li $t9, 8 -/* 059D08 7F0251D8 AD690004 */ sw $t1, 4($t3) -/* 059D0C 7F0251DC AD610000 */ sw $at, ($t3) -/* 059D10 7F0251E0 00A08825 */ move $s1, $a1 -/* 059D14 7F0251E4 A0990007 */ sb $t9, 7($a0) -/* 059D18 7F0251E8 0080A025 */ move $s4, $a0 -/* 059D1C 7F0251EC 24160001 */ li $s6, 1 -/* 059D20 7F0251F0 0000B825 */ move $s7, $zero -/* 059D24 7F0251F4 8FA600A4 */ lw $a2, 0xa4($sp) -/* 059D28 7F0251F8 0FC0942F */ jal sub_GAME_7F0250BC -/* 059D2C 7F0251FC 8FA500A0 */ lw $a1, 0xa0($sp) -/* 059D30 7F025200 8FAF0098 */ lw $t7, 0x98($sp) -/* 059D34 7F025204 3C018005 */ lui $at, %hi(D_80051DB8) -/* 059D38 7F025208 11E0000F */ beqz $t7, .L7F025248 -/* 059D3C 7F02520C 00000000 */ nop -/* 059D40 7F025210 3C018005 */ lui $at, %hi(D_80051DB4) -/* 059D44 7F025214 C4221DB4 */ lwc1 $f2, %lo(D_80051DB4)($at) -/* 059D48 7F025218 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 059D4C 7F02521C 44813000 */ mtc1 $at, $f6 -/* 059D50 7F025220 46001101 */ sub.s $f4, $f2, $f0 -/* 059D54 7F025224 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 059D58 7F025228 44818000 */ mtc1 $at, $f16 -/* 059D5C 7F02522C 46062202 */ mul.s $f8, $f4, $f6 -/* 059D60 7F025230 46024283 */ div.s $f10, $f8, $f2 -/* 059D64 7F025234 46105480 */ add.s $f18, $f10, $f16 -/* 059D68 7F025238 4600910D */ trunc.w.s $f4, $f18 -/* 059D6C 7F02523C 44102000 */ mfc1 $s0, $f4 -/* 059D70 7F025240 1000000D */ b .L7F025278 -/* 059D74 7F025244 2A010020 */ slti $at, $s0, 0x20 -.L7F025248: -/* 059D78 7F025248 C4221DB8 */ lwc1 $f2, %lo(D_80051DB8)($at) -/* 059D7C 7F02524C 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 059D80 7F025250 44813000 */ mtc1 $at, $f6 -/* 059D84 7F025254 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 059D88 7F025258 44818000 */ mtc1 $at, $f16 -/* 059D8C 7F02525C 46060202 */ mul.s $f8, $f0, $f6 -/* 059D90 7F025260 46024283 */ div.s $f10, $f8, $f2 -/* 059D94 7F025264 46105480 */ add.s $f18, $f10, $f16 -/* 059D98 7F025268 4600910D */ trunc.w.s $f4, $f18 -/* 059D9C 7F02526C 44102000 */ mfc1 $s0, $f4 -/* 059DA0 7F025270 00000000 */ nop -/* 059DA4 7F025274 2A010020 */ slti $at, $s0, 0x20 -.L7F025278: -/* 059DA8 7F025278 14200002 */ bnez $at, .L7F025284 -/* 059DAC 7F02527C 00000000 */ nop -/* 059DB0 7F025280 00008025 */ move $s0, $zero -.L7F025284: -/* 059DB4 7F025284 0C002914 */ jal get_random_value -/* 059DB8 7F025288 00000000 */ nop -/* 059DBC 7F02528C 00107080 */ sll $t6, $s0, 2 -/* 059DC0 7F025290 022E6821 */ addu $t5, $s1, $t6 -/* 059DC4 7F025294 8DA30000 */ lw $v1, ($t5) -/* 059DC8 7F025298 24080048 */ li $t0, 72 -/* 059DCC 7F02529C 8E8C0014 */ lw $t4, 0x14($s4) -/* 059DD0 7F0252A0 8C650004 */ lw $a1, 4($v1) -/* 059DD4 7F0252A4 8C660000 */ lw $a2, ($v1) -/* 059DD8 7F0252A8 31890020 */ andi $t1, $t4, 0x20 -/* 059DDC 7F0252AC 0045001B */ divu $zero, $v0, $a1 -/* 059DE0 7F0252B0 00002010 */ mfhi $a0 -/* 059DE4 7F0252B4 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 059DE8 7F0252B8 14A00002 */ bnez $a1, .L7F0252C4 -/* 059DEC 7F0252BC 00000000 */ nop -/* 059DF0 7F0252C0 0007000D */ break 7 -.L7F0252C4: -/* 059DF4 7F0252C4 00880019 */ multu $a0, $t0 -/* 059DF8 7F0252C8 3C0F0000 */ lui $t7, %hi(0x00000318) # $t7, 0 -/* 059DFC 7F0252CC 00008825 */ move $s1, $zero -/* 059E00 7F0252D0 00009025 */ move $s2, $zero -/* 059E04 7F0252D4 8FB3009C */ lw $s3, 0x9c($sp) -/* 059E08 7F0252D8 24150001 */ li $s5, 1 -/* 059E0C 7F0252DC 00005812 */ mflo $t3 -/* 059E10 7F0252E0 00CB3821 */ addu $a3, $a2, $t3 -/* 059E14 7F0252E4 51200017 */ beql $t1, $zero, .L7F025344 -/* 059E18 7F0252E8 AFA70080 */ sw $a3, 0x80($sp) -/* 059E1C 7F0252EC 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 059E20 7F0252F0 8CEA0000 */ lw $t2, ($a3) -/* 059E24 7F0252F4 25EF0318 */ addiu $t7, %lo(0x00000318) # addiu $t7, $t7, 0x318 -/* 059E28 7F0252F8 032FC021 */ addu $t8, $t9, $t7 -/* 059E2C 7F0252FC 170A0010 */ bne $t8, $t2, .L7F025340 -/* 059E30 7F025300 248E0001 */ addiu $t6, $a0, 1 -/* 059E34 7F025304 01C5001A */ div $zero, $t6, $a1 -/* 059E38 7F025308 00006810 */ mfhi $t5 -/* 059E3C 7F02530C 14A00002 */ bnez $a1, .L7F025318 -/* 059E40 7F025310 00000000 */ nop -/* 059E44 7F025314 0007000D */ break 7 -.L7F025318: -/* 059E48 7F025318 2401FFFF */ li $at, -1 -/* 059E4C 7F02531C 14A10004 */ bne $a1, $at, .L7F025330 -/* 059E50 7F025320 3C018000 */ lui $at, 0x8000 -/* 059E54 7F025324 15C10002 */ bne $t6, $at, .L7F025330 -/* 059E58 7F025328 00000000 */ nop -/* 059E5C 7F02532C 0006000D */ break 6 -.L7F025330: -/* 059E60 7F025330 01A80019 */ multu $t5, $t0 -/* 059E64 7F025334 00005812 */ mflo $t3 -/* 059E68 7F025338 01663821 */ addu $a3, $t3, $a2 -/* 059E6C 7F02533C 00000000 */ nop -.L7F025340: -/* 059E70 7F025340 AFA70080 */ sw $a3, 0x80($sp) -.L7F025344: -/* 059E74 7F025344 8E6C0000 */ lw $t4, ($s3) -/* 059E78 7F025348 02802025 */ move $a0, $s4 -/* 059E7C 7F02534C 5180001A */ beql $t4, $zero, .L7F0253B8 -/* 059E80 7F025350 26310001 */ addiu $s1, $s1, 1 -/* 059E84 7F025354 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 059E88 7F025358 02202825 */ move $a1, $s1 -/* 059E8C 7F02535C 8C500004 */ lw $s0, 4($v0) -/* 059E90 7F025360 0FC177F3 */ jal get_automatic_firing_rate -/* 059E94 7F025364 82040080 */ lb $a0, 0x80($s0) -/* 059E98 7F025368 04410008 */ bgez $v0, .L7F02538C -/* 059E9C 7F02536C 03B24821 */ addu $t1, $sp, $s2 -/* 059EA0 7F025370 AD350060 */ sw $s5, 0x60($t1) -/* 059EA4 7F025374 82020080 */ lb $v0, 0x80($s0) -/* 059EA8 7F025378 24010016 */ li $at, 22 -/* 059EAC 7F02537C 54410007 */ bnel $v0, $at, .L7F02539C -/* 059EB0 7F025380 24010019 */ li $at, 25 -/* 059EB4 7F025384 10000004 */ b .L7F025398 -/* 059EB8 7F025388 0000B025 */ move $s6, $zero -.L7F02538C: -/* 059EBC 7F02538C 0000B025 */ move $s6, $zero -/* 059EC0 7F025390 02A0B825 */ move $s7, $s5 -/* 059EC4 7F025394 82020080 */ lb $v0, 0x80($s0) -.L7F025398: -/* 059EC8 7F025398 24010019 */ li $at, 25 -.L7F02539C: -/* 059ECC 7F02539C 10410004 */ beq $v0, $at, .L7F0253B0 -/* 059ED0 7F0253A0 03B2C821 */ addu $t9, $sp, $s2 -/* 059ED4 7F0253A4 24010018 */ li $at, 24 -/* 059ED8 7F0253A8 54410003 */ bnel $v0, $at, .L7F0253B8 -/* 059EDC 7F0253AC 26310001 */ addiu $s1, $s1, 1 -.L7F0253B0: -/* 059EE0 7F0253B0 AF350058 */ sw $s5, 0x58($t9) -/* 059EE4 7F0253B4 26310001 */ addiu $s1, $s1, 1 -.L7F0253B8: -/* 059EE8 7F0253B8 24010002 */ li $at, 2 -/* 059EEC 7F0253BC 26520004 */ addiu $s2, $s2, 4 -/* 059EF0 7F0253C0 1621FFE0 */ bne $s1, $at, .L7F025344 -/* 059EF4 7F0253C4 26730004 */ addiu $s3, $s3, 4 -/* 059EF8 7F0253C8 A2950030 */ sb $s5, 0x30($s4) -/* 059EFC 7F0253CC 8FAF0080 */ lw $t7, 0x80($sp) -/* 059F00 7F0253D0 A2800031 */ sb $zero, 0x31($s4) -/* 059F04 7F0253D4 0C002914 */ jal get_random_value -/* 059F08 7F0253D8 AE8F002C */ sw $t7, 0x2c($s4) -/* 059F0C 7F0253DC 30580001 */ andi $t8, $v0, 1 -/* 059F10 7F0253E0 A2980032 */ sb $t8, 0x32($s4) -/* 059F14 7F0253E4 8FAA009C */ lw $t2, 0x9c($sp) -/* 059F18 7F0253E8 8D4E0004 */ lw $t6, 4($t2) -/* 059F1C 7F0253EC A28E0039 */ sb $t6, 0x39($s4) -/* 059F20 7F0253F0 8FAD009C */ lw $t5, 0x9c($sp) -/* 059F24 7F0253F4 8DAB0000 */ lw $t3, ($t5) -/* 059F28 7F0253F8 A28B0038 */ sb $t3, 0x38($s4) -/* 059F2C 7F0253FC 8FAC0064 */ lw $t4, 0x64($sp) -/* 059F30 7F025400 A28C003B */ sb $t4, 0x3b($s4) -/* 059F34 7F025404 8FA90060 */ lw $t1, 0x60($sp) -/* 059F38 7F025408 A289003A */ sb $t1, 0x3a($s4) -/* 059F3C 7F02540C 8FB9005C */ lw $t9, 0x5c($sp) -/* 059F40 7F025410 A299003D */ sb $t9, 0x3d($s4) -/* 059F44 7F025414 8FAF0058 */ lw $t7, 0x58($sp) -/* 059F48 7F025418 A2960036 */ sb $s6, 0x36($s4) -/* 059F4C 7F02541C A2970037 */ sb $s7, 0x37($s4) -/* 059F50 7F025420 AE800040 */ sw $zero, 0x40($s4) -/* 059F54 7F025424 A2800033 */ sb $zero, 0x33($s4) -/* 059F58 7F025428 A28F003C */ sb $t7, 0x3c($s4) -/* 059F5C 7F02542C 8FB8005C */ lw $t8, 0x5c($sp) -/* 059F60 7F025430 8FAA0058 */ lw $t2, 0x58($sp) -/* 059F64 7F025434 8FAE005C */ lw $t6, 0x5c($sp) -/* 059F68 7F025438 17000003 */ bnez $t8, .L7F025448 -/* 059F6C 7F02543C 00000000 */ nop -/* 059F70 7F025440 11400009 */ beqz $t2, .L7F025468 -/* 059F74 7F025444 8FAC00A0 */ lw $t4, 0xa0($sp) -.L7F025448: -/* 059F78 7F025448 11C00005 */ beqz $t6, .L7F025460 -/* 059F7C 7F02544C 8FAD0058 */ lw $t5, 0x58($sp) -/* 059F80 7F025450 11A00003 */ beqz $t5, .L7F025460 -/* 059F84 7F025454 240B0002 */ li $t3, 2 -/* 059F88 7F025458 1000001B */ b .L7F0254C8 -/* 059F8C 7F02545C A28B0034 */ sb $t3, 0x34($s4) -.L7F025460: -/* 059F90 7F025460 10000019 */ b .L7F0254C8 -/* 059F94 7F025464 A2950034 */ sb $s5, 0x34($s4) -.L7F025468: -/* 059F98 7F025468 31890080 */ andi $t1, $t4, 0x80 -/* 059F9C 7F02546C 11200003 */ beqz $t1, .L7F02547C -/* 059FA0 7F025470 00000000 */ nop -/* 059FA4 7F025474 10000006 */ b .L7F025490 -/* 059FA8 7F025478 A2950034 */ sb $s5, 0x34($s4) -.L7F02547C: -/* 059FAC 7F02547C 0C002914 */ jal get_random_value -/* 059FB0 7F025480 00000000 */ nop -/* 059FB4 7F025484 30590003 */ andi $t9, $v0, 3 -/* 059FB8 7F025488 272F0002 */ addiu $t7, $t9, 2 -/* 059FBC 7F02548C A28F0034 */ sb $t7, 0x34($s4) -.L7F025490: -/* 059FC0 7F025490 8FB8009C */ lw $t8, 0x9c($sp) -/* 059FC4 7F025494 8F0A0000 */ lw $t2, ($t8) -/* 059FC8 7F025498 5140000C */ beql $t2, $zero, .L7F0254CC -/* 059FCC 7F02549C 8FB900A0 */ lw $t9, 0xa0($sp) -/* 059FD0 7F0254A0 8F0E0004 */ lw $t6, 4($t8) -/* 059FD4 7F0254A4 51C00009 */ beql $t6, $zero, .L7F0254CC -/* 059FD8 7F0254A8 8FB900A0 */ lw $t9, 0xa0($sp) -/* 059FDC 7F0254AC 0C002914 */ jal get_random_value -/* 059FE0 7F0254B0 00000000 */ nop -/* 059FE4 7F0254B4 828D0034 */ lb $t5, 0x34($s4) -/* 059FE8 7F0254B8 304B0003 */ andi $t3, $v0, 3 -/* 059FEC 7F0254BC 01AB6021 */ addu $t4, $t5, $t3 -/* 059FF0 7F0254C0 25890002 */ addiu $t1, $t4, 2 -/* 059FF4 7F0254C4 A2890034 */ sb $t1, 0x34($s4) -.L7F0254C8: -/* 059FF8 7F0254C8 8FB900A0 */ lw $t9, 0xa0($sp) -.L7F0254CC: -/* 059FFC 7F0254CC 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 05A000 7F0254D0 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 05A004 7F0254D4 AE99004C */ sw $t9, 0x4c($s4) -/* 05A008 7F0254D8 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 05A00C 7F0254DC 02802025 */ move $a0, $s4 -/* 05A010 7F0254E0 3C053F00 */ lui $a1, 0x3f00 -/* 05A014 7F0254E4 AE8F0050 */ sw $t7, 0x50($s4) -/* 05A018 7F0254E8 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 05A01C 7F0254EC AE800058 */ sw $zero, 0x58($s4) -/* 05A020 7F0254F0 AE800044 */ sw $zero, 0x44($s4) -/* 05A024 7F0254F4 AE800048 */ sw $zero, 0x48($s4) -/* 05A028 7F0254F8 A2800008 */ sb $zero, 8($s4) -/* 05A02C 7F0254FC 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 05A030 7F025500 AE8A0054 */ sw $t2, 0x54($s4) -/* 05A034 7F025504 8FA20080 */ lw $v0, 0x80($sp) -/* 05A038 7F025508 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05A03C 7F02550C 44813000 */ mtc1 $at, $f6 -/* 05A040 7F025510 8C450000 */ lw $a1, ($v0) -/* 05A044 7F025514 8C470010 */ lw $a3, 0x10($v0) -/* 05A048 7F025518 E7A00010 */ swc1 $f0, 0x10($sp) -/* 05A04C 7F02551C 8FA4008C */ lw $a0, 0x8c($sp) -/* 05A050 7F025520 8FA60098 */ lw $a2, 0x98($sp) -/* 05A054 7F025524 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05A058 7F025528 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05A05C 7F02552C 0FC093E3 */ jal sub_GAME_7F024F8C -/* 05A060 7F025530 02802025 */ move $a0, $s4 -/* 05A064 7F025534 8FBF003C */ lw $ra, 0x3c($sp) -/* 05A068 7F025538 8FB0001C */ lw $s0, 0x1c($sp) -/* 05A06C 7F02553C 8FB10020 */ lw $s1, 0x20($sp) -/* 05A070 7F025540 8FB20024 */ lw $s2, 0x24($sp) -/* 05A074 7F025544 8FB30028 */ lw $s3, 0x28($sp) -/* 05A078 7F025548 8FB4002C */ lw $s4, 0x2c($sp) -/* 05A07C 7F02554C 8FB50030 */ lw $s5, 0x30($sp) -/* 05A080 7F025550 8FB60034 */ lw $s6, 0x34($sp) -/* 05A084 7F025554 8FB70038 */ lw $s7, 0x38($sp) -/* 05A088 7F025558 03E00008 */ jr $ra -/* 05A08C 7F02555C 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F025560(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F025560 -/* 05A090 7F025560 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 05A094 7F025564 AFBF0024 */ sw $ra, 0x24($sp) -/* 05A098 7F025568 AFA50054 */ sw $a1, 0x54($sp) -/* 05A09C 7F02556C AFA40050 */ sw $a0, 0x50($sp) -/* 05A0A0 7F025570 AFA60058 */ sw $a2, 0x58($sp) -/* 05A0A4 7F025574 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A0A8 7F025578 24050001 */ li $a1, 1 -/* 05A0AC 7F02557C AFA2004C */ sw $v0, 0x4c($sp) -/* 05A0B0 7F025580 8FA40050 */ lw $a0, 0x50($sp) -/* 05A0B4 7F025584 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A0B8 7F025588 00002825 */ move $a1, $zero -/* 05A0BC 7F02558C 3C0F8003 */ lui $t7, %hi(D_800309B8) -/* 05A0C0 7F025590 25EF09B8 */ addiu $t7, %lo(D_800309B8) # addiu $t7, $t7, 0x9b8 -/* 05A0C4 7F025594 8FA4004C */ lw $a0, 0x4c($sp) -/* 05A0C8 7F025598 8DE10000 */ lw $at, ($t7) -/* 05A0CC 7F02559C 8DE80004 */ lw $t0, 4($t7) -/* 05A0D0 7F0255A0 27AE0038 */ addiu $t6, $sp, 0x38 -/* 05A0D4 7F0255A4 00402825 */ move $a1, $v0 -/* 05A0D8 7F0255A8 ADC10000 */ sw $at, ($t6) -/* 05A0DC 7F0255AC 1080002C */ beqz $a0, .L7F025660 -/* 05A0E0 7F0255B0 ADC80004 */ sw $t0, 4($t6) -/* 05A0E4 7F0255B4 1040002A */ beqz $v0, .L7F025660 -/* 05A0E8 7F0255B8 00000000 */ nop -/* 05A0EC 7F0255BC 8FA40050 */ lw $a0, 0x50($sp) -/* 05A0F0 7F0255C0 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05A0F4 7F0255C4 24050001 */ li $a1, 1 -/* 05A0F8 7F0255C8 AFA20034 */ sw $v0, 0x34($sp) -/* 05A0FC 7F0255CC 8FA40050 */ lw $a0, 0x50($sp) -/* 05A100 7F0255D0 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05A104 7F0255D4 00002825 */ move $a1, $zero -/* 05A108 7F0255D8 8FA90034 */ lw $t1, 0x34($sp) -/* 05A10C 7F0255DC 3C058003 */ lui $a1, %hi(ptr_pistol_firing_animation_groups) -/* 05A110 7F0255E0 2C460001 */ sltiu $a2, $v0, 1 -/* 05A114 7F0255E4 1120001A */ beqz $t1, .L7F025650 -/* 05A118 7F0255E8 24A5F408 */ addiu $a1, %lo(ptr_pistol_firing_animation_groups) # addiu $a1, $a1, -0xbf8 -/* 05A11C 7F0255EC 50400019 */ beql $v0, $zero, .L7F025654 -/* 05A120 7F0255F0 2CD90001 */ sltiu $t9, $a2, 1 -/* 05A124 7F0255F4 0C002914 */ jal get_random_value -/* 05A128 7F0255F8 00000000 */ nop -/* 05A12C 7F0255FC 30460001 */ andi $a2, $v0, 1 -/* 05A130 7F025600 0C002914 */ jal get_random_value -/* 05A134 7F025604 AFA60044 */ sw $a2, 0x44($sp) -/* 05A138 7F025608 24010003 */ li $at, 3 -/* 05A13C 7F02560C 0041001B */ divu $zero, $v0, $at -/* 05A140 7F025610 00005010 */ mfhi $t2 -/* 05A144 7F025614 8FA60044 */ lw $a2, 0x44($sp) -/* 05A148 7F025618 15400007 */ bnez $t2, .L7F025638 -/* 05A14C 7F02561C 3C058003 */ lui $a1, %hi(ptr_doubles_firing_animation_groups) -/* 05A150 7F025620 3C058003 */ lui $a1, %hi(ptr_pistol_firing_animation_groups) -/* 05A154 7F025624 2CCB0001 */ sltiu $t3, $a2, 1 -/* 05A158 7F025628 24A5F408 */ addiu $a1, %lo(ptr_pistol_firing_animation_groups) # addiu $a1, $a1, -0xbf8 -/* 05A15C 7F02562C AFA6003C */ sw $a2, 0x3c($sp) -/* 05A160 7F025630 10000022 */ b .L7F0256BC -/* 05A164 7F025634 AFAB0038 */ sw $t3, 0x38($sp) -.L7F025638: -/* 05A168 7F025638 240C0001 */ li $t4, 1 -/* 05A16C 7F02563C 240D0001 */ li $t5, 1 -/* 05A170 7F025640 24A5F6E0 */ addiu $a1, $a1, %lo(ptr_doubles_firing_animation_groups) -/* 05A174 7F025644 AFAC003C */ sw $t4, 0x3c($sp) -/* 05A178 7F025648 1000001C */ b .L7F0256BC -/* 05A17C 7F02564C AFAD0038 */ sw $t5, 0x38($sp) -.L7F025650: -/* 05A180 7F025650 2CD90001 */ sltiu $t9, $a2, 1 -.L7F025654: -/* 05A184 7F025654 AFA6003C */ sw $a2, 0x3c($sp) -/* 05A188 7F025658 10000018 */ b .L7F0256BC -/* 05A18C 7F02565C AFB90038 */ sw $t9, 0x38($sp) -.L7F025660: -/* 05A190 7F025660 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05A194 7F025664 AFA50048 */ sw $a1, 0x48($sp) -/* 05A198 7F025668 14400005 */ bnez $v0, .L7F025680 -/* 05A19C 7F02566C 8FA50048 */ lw $a1, 0x48($sp) -/* 05A1A0 7F025670 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05A1A4 7F025674 00A02025 */ move $a0, $a1 -/* 05A1A8 7F025678 5040000A */ beql $v0, $zero, .L7F0256A4 -/* 05A1AC 7F02567C 8FA2004C */ lw $v0, 0x4c($sp) -.L7F025680: -/* 05A1B0 7F025680 8FA2004C */ lw $v0, 0x4c($sp) -/* 05A1B4 7F025684 3C058003 */ lui $a1, %hi(ptr_pistol_firing_animation_groups) -/* 05A1B8 7F025688 24A5F408 */ addiu $a1, %lo(ptr_pistol_firing_animation_groups) # addiu $a1, $a1, -0xbf8 -/* 05A1BC 7F02568C 0002302B */ sltu $a2, $zero, $v0 -/* 05A1C0 7F025690 2CCE0001 */ sltiu $t6, $a2, 1 -/* 05A1C4 7F025694 AFA6003C */ sw $a2, 0x3c($sp) -/* 05A1C8 7F025698 10000008 */ b .L7F0256BC -/* 05A1CC 7F02569C AFAE0038 */ sw $t6, 0x38($sp) -/* 05A1D0 7F0256A0 8FA2004C */ lw $v0, 0x4c($sp) -.L7F0256A4: -/* 05A1D4 7F0256A4 3C058003 */ lui $a1, %hi(ptr_rifle_firing_animation_groups) -/* 05A1D8 7F0256A8 24A5ED28 */ addiu $a1, %lo(ptr_rifle_firing_animation_groups) # addiu $a1, $a1, -0x12d8 -/* 05A1DC 7F0256AC 0002302B */ sltu $a2, $zero, $v0 -/* 05A1E0 7F0256B0 2CC80001 */ sltiu $t0, $a2, 1 -/* 05A1E4 7F0256B4 AFA6003C */ sw $a2, 0x3c($sp) -/* 05A1E8 7F0256B8 AFA80038 */ sw $t0, 0x38($sp) -.L7F0256BC: -/* 05A1EC 7F0256BC 8FA90054 */ lw $t1, 0x54($sp) -/* 05A1F0 7F0256C0 8FAA0058 */ lw $t2, 0x58($sp) -/* 05A1F4 7F0256C4 240B0001 */ li $t3, 1 -/* 05A1F8 7F0256C8 AFAB0018 */ sw $t3, 0x18($sp) -/* 05A1FC 7F0256CC 8FA40050 */ lw $a0, 0x50($sp) -/* 05A200 7F0256D0 27A70038 */ addiu $a3, $sp, 0x38 -/* 05A204 7F0256D4 AFA90010 */ sw $t1, 0x10($sp) -/* 05A208 7F0256D8 0FC0945B */ jal sub_GAME_7F02516C -/* 05A20C 7F0256DC AFAA0014 */ sw $t2, 0x14($sp) -/* 05A210 7F0256E0 8FBF0024 */ lw $ra, 0x24($sp) -/* 05A214 7F0256E4 27BD0050 */ addiu $sp, $sp, 0x50 -/* 05A218 7F0256E8 03E00008 */ jr $ra -/* 05A21C 7F0256EC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0256F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0256F0 -/* 05A220 7F0256F0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 05A224 7F0256F4 AFBF0024 */ sw $ra, 0x24($sp) -/* 05A228 7F0256F8 AFA50054 */ sw $a1, 0x54($sp) -/* 05A22C 7F0256FC AFA40050 */ sw $a0, 0x50($sp) -/* 05A230 7F025700 AFA60058 */ sw $a2, 0x58($sp) -/* 05A234 7F025704 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A238 7F025708 24050001 */ li $a1, 1 -/* 05A23C 7F02570C AFA2004C */ sw $v0, 0x4c($sp) -/* 05A240 7F025710 8FA40050 */ lw $a0, 0x50($sp) -/* 05A244 7F025714 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A248 7F025718 00002825 */ move $a1, $zero -/* 05A24C 7F02571C 3C0F8003 */ lui $t7, %hi(D_800309C0) -/* 05A250 7F025720 25EF09C0 */ addiu $t7, %lo(D_800309C0) # addiu $t7, $t7, 0x9c0 -/* 05A254 7F025724 8FA4004C */ lw $a0, 0x4c($sp) -/* 05A258 7F025728 8DE10000 */ lw $at, ($t7) -/* 05A25C 7F02572C 8DE80004 */ lw $t0, 4($t7) -/* 05A260 7F025730 27AE0038 */ addiu $t6, $sp, 0x38 -/* 05A264 7F025734 00402825 */ move $a1, $v0 -/* 05A268 7F025738 ADC10000 */ sw $at, ($t6) -/* 05A26C 7F02573C 1080002C */ beqz $a0, .L7F0257F0 -/* 05A270 7F025740 ADC80004 */ sw $t0, 4($t6) -/* 05A274 7F025744 1040002A */ beqz $v0, .L7F0257F0 -/* 05A278 7F025748 00000000 */ nop -/* 05A27C 7F02574C 8FA40050 */ lw $a0, 0x50($sp) -/* 05A280 7F025750 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05A284 7F025754 24050001 */ li $a1, 1 -/* 05A288 7F025758 AFA20034 */ sw $v0, 0x34($sp) -/* 05A28C 7F02575C 8FA40050 */ lw $a0, 0x50($sp) -/* 05A290 7F025760 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05A294 7F025764 00002825 */ move $a1, $zero -/* 05A298 7F025768 8FA90034 */ lw $t1, 0x34($sp) -/* 05A29C 7F02576C 3C058003 */ lui $a1, %hi(ptr_crouched_pistol_firing_animation_groups) -/* 05A2A0 7F025770 2C460001 */ sltiu $a2, $v0, 1 -/* 05A2A4 7F025774 1120001A */ beqz $t1, .L7F0257E0 -/* 05A2A8 7F025778 24A5FCD8 */ addiu $a1, %lo(ptr_crouched_pistol_firing_animation_groups) # addiu $a1, $a1, -0x328 -/* 05A2AC 7F02577C 50400019 */ beql $v0, $zero, .L7F0257E4 -/* 05A2B0 7F025780 2CD90001 */ sltiu $t9, $a2, 1 -/* 05A2B4 7F025784 0C002914 */ jal get_random_value -/* 05A2B8 7F025788 00000000 */ nop -/* 05A2BC 7F02578C 30460001 */ andi $a2, $v0, 1 -/* 05A2C0 7F025790 0C002914 */ jal get_random_value -/* 05A2C4 7F025794 AFA60044 */ sw $a2, 0x44($sp) -/* 05A2C8 7F025798 24010003 */ li $at, 3 -/* 05A2CC 7F02579C 0041001B */ divu $zero, $v0, $at -/* 05A2D0 7F0257A0 00005010 */ mfhi $t2 -/* 05A2D4 7F0257A4 8FA60044 */ lw $a2, 0x44($sp) -/* 05A2D8 7F0257A8 15400007 */ bnez $t2, .L7F0257C8 -/* 05A2DC 7F0257AC 3C058003 */ lui $a1, %hi(ptr_crouched_doubles_firing_animation_groups) -/* 05A2E0 7F0257B0 3C058003 */ lui $a1, %hi(ptr_crouched_pistol_firing_animation_groups) -/* 05A2E4 7F0257B4 2CCB0001 */ sltiu $t3, $a2, 1 -/* 05A2E8 7F0257B8 24A5FCD8 */ addiu $a1, %lo(ptr_crouched_pistol_firing_animation_groups) # addiu $a1, $a1, -0x328 -/* 05A2EC 7F0257BC AFA6003C */ sw $a2, 0x3c($sp) -/* 05A2F0 7F0257C0 10000022 */ b .L7F02584C -/* 05A2F4 7F0257C4 AFAB0038 */ sw $t3, 0x38($sp) -.L7F0257C8: -/* 05A2F8 7F0257C8 240C0001 */ li $t4, 1 -/* 05A2FC 7F0257CC 240D0001 */ li $t5, 1 -/* 05A300 7F0257D0 24A5FFF8 */ addiu $a1, $a1, %lo(ptr_crouched_doubles_firing_animation_groups) -/* 05A304 7F0257D4 AFAC003C */ sw $t4, 0x3c($sp) -/* 05A308 7F0257D8 1000001C */ b .L7F02584C -/* 05A30C 7F0257DC AFAD0038 */ sw $t5, 0x38($sp) -.L7F0257E0: -/* 05A310 7F0257E0 2CD90001 */ sltiu $t9, $a2, 1 -.L7F0257E4: -/* 05A314 7F0257E4 AFA6003C */ sw $a2, 0x3c($sp) -/* 05A318 7F0257E8 10000018 */ b .L7F02584C -/* 05A31C 7F0257EC AFB90038 */ sw $t9, 0x38($sp) -.L7F0257F0: -/* 05A320 7F0257F0 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05A324 7F0257F4 AFA50048 */ sw $a1, 0x48($sp) -/* 05A328 7F0257F8 14400005 */ bnez $v0, .L7F025810 -/* 05A32C 7F0257FC 8FA50048 */ lw $a1, 0x48($sp) -/* 05A330 7F025800 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05A334 7F025804 00A02025 */ move $a0, $a1 -/* 05A338 7F025808 5040000A */ beql $v0, $zero, .L7F025834 -/* 05A33C 7F02580C 8FA2004C */ lw $v0, 0x4c($sp) -.L7F025810: -/* 05A340 7F025810 8FA2004C */ lw $v0, 0x4c($sp) -/* 05A344 7F025814 3C058003 */ lui $a1, %hi(ptr_crouched_pistol_firing_animation_groups) -/* 05A348 7F025818 24A5FCD8 */ addiu $a1, %lo(ptr_crouched_pistol_firing_animation_groups) # addiu $a1, $a1, -0x328 -/* 05A34C 7F02581C 0002302B */ sltu $a2, $zero, $v0 -/* 05A350 7F025820 2CCE0001 */ sltiu $t6, $a2, 1 -/* 05A354 7F025824 AFA6003C */ sw $a2, 0x3c($sp) -/* 05A358 7F025828 10000008 */ b .L7F02584C -/* 05A35C 7F02582C AFAE0038 */ sw $t6, 0x38($sp) -/* 05A360 7F025830 8FA2004C */ lw $v0, 0x4c($sp) -.L7F025834: -/* 05A364 7F025834 3C058003 */ lui $a1, %hi(ptr_crouched_rifle_firing_animation_groups) -/* 05A368 7F025838 24A5F970 */ addiu $a1, %lo(ptr_crouched_rifle_firing_animation_groups) # addiu $a1, $a1, -0x690 -/* 05A36C 7F02583C 0002302B */ sltu $a2, $zero, $v0 -/* 05A370 7F025840 2CC80001 */ sltiu $t0, $a2, 1 -/* 05A374 7F025844 AFA6003C */ sw $a2, 0x3c($sp) -/* 05A378 7F025848 AFA80038 */ sw $t0, 0x38($sp) -.L7F02584C: -/* 05A37C 7F02584C 8FA90054 */ lw $t1, 0x54($sp) -/* 05A380 7F025850 8FAA0058 */ lw $t2, 0x58($sp) -/* 05A384 7F025854 8FA40050 */ lw $a0, 0x50($sp) -/* 05A388 7F025858 27A70038 */ addiu $a3, $sp, 0x38 -/* 05A38C 7F02585C AFA00018 */ sw $zero, 0x18($sp) -/* 05A390 7F025860 AFA90010 */ sw $t1, 0x10($sp) -/* 05A394 7F025864 0FC0945B */ jal sub_GAME_7F02516C -/* 05A398 7F025868 AFAA0014 */ sw $t2, 0x14($sp) -/* 05A39C 7F02586C 8FBF0024 */ lw $ra, 0x24($sp) -/* 05A3A0 7F025870 27BD0050 */ addiu $sp, $sp, 0x50 -/* 05A3A4 7F025874 03E00008 */ jr $ra -/* 05A3A8 7F025878 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02587C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02587C -/* 05A3AC 7F02587C 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 05A3B0 7F025880 AFB20024 */ sw $s2, 0x24($sp) -/* 05A3B4 7F025884 00A09025 */ move $s2, $a1 -/* 05A3B8 7F025888 AFBF0034 */ sw $ra, 0x34($sp) -/* 05A3BC 7F02588C AFB50030 */ sw $s5, 0x30($sp) -/* 05A3C0 7F025890 0080A825 */ move $s5, $a0 -/* 05A3C4 7F025894 AFB4002C */ sw $s4, 0x2c($sp) -/* 05A3C8 7F025898 AFB30028 */ sw $s3, 0x28($sp) -/* 05A3CC 7F02589C AFB10020 */ sw $s1, 0x20($sp) -/* 05A3D0 7F0258A0 AFB0001C */ sw $s0, 0x1c($sp) -/* 05A3D4 7F0258A4 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A3D8 7F0258A8 24050001 */ li $a1, 1 -/* 05A3DC 7F0258AC 00408025 */ move $s0, $v0 -/* 05A3E0 7F0258B0 02A02025 */ move $a0, $s5 -/* 05A3E4 7F0258B4 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A3E8 7F0258B8 00002825 */ move $a1, $zero -/* 05A3EC 7F0258BC 3C0F8003 */ lui $t7, %hi(D_800309C8) -/* 05A3F0 7F0258C0 25EF09C8 */ addiu $t7, %lo(D_800309C8) # addiu $t7, $t7, 0x9c8 -/* 05A3F4 7F0258C4 8DE10000 */ lw $at, ($t7) -/* 05A3F8 7F0258C8 8DE80004 */ lw $t0, 4($t7) -/* 05A3FC 7F0258CC 27AE0070 */ addiu $t6, $sp, 0x70 -/* 05A400 7F0258D0 3C0A8003 */ lui $t2, %hi(D_800309D0) -/* 05A404 7F0258D4 254A09D0 */ addiu $t2, %lo(D_800309D0) # addiu $t2, $t2, 0x9d0 -/* 05A408 7F0258D8 ADC10000 */ sw $at, ($t6) -/* 05A40C 7F0258DC ADC80004 */ sw $t0, 4($t6) -/* 05A410 7F0258E0 8D4D0004 */ lw $t5, 4($t2) -/* 05A414 7F0258E4 8D410000 */ lw $at, ($t2) -/* 05A418 7F0258E8 27A90068 */ addiu $t1, $sp, 0x68 -/* 05A41C 7F0258EC 3C188003 */ lui $t8, %hi(D_800309D8) -/* 05A420 7F0258F0 271809D8 */ addiu $t8, %lo(D_800309D8) # addiu $t8, $t8, 0x9d8 -/* 05A424 7F0258F4 AD2D0004 */ sw $t5, 4($t1) -/* 05A428 7F0258F8 AD210000 */ sw $at, ($t1) -/* 05A42C 7F0258FC 8F080004 */ lw $t0, 4($t8) -/* 05A430 7F025900 8F010000 */ lw $at, ($t8) -/* 05A434 7F025904 27B90060 */ addiu $t9, $sp, 0x60 -/* 05A438 7F025908 00408825 */ move $s1, $v0 -/* 05A43C 7F02590C AF280004 */ sw $t0, 4($t9) -/* 05A440 7F025910 12000045 */ beqz $s0, .L7F025A28 -/* 05A444 7F025914 AF210000 */ sw $at, ($t9) -/* 05A448 7F025918 10400043 */ beqz $v0, .L7F025A28 -/* 05A44C 7F02591C 02A02025 */ move $a0, $s5 -/* 05A450 7F025920 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05A454 7F025924 24050001 */ li $a1, 1 -/* 05A458 7F025928 00408025 */ move $s0, $v0 -/* 05A45C 7F02592C 02A02025 */ move $a0, $s5 -/* 05A460 7F025930 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05A464 7F025934 00002825 */ move $a1, $zero -/* 05A468 7F025938 1200000D */ beqz $s0, .L7F025970 -/* 05A46C 7F02593C 00001825 */ move $v1, $zero -/* 05A470 7F025940 5040000C */ beql $v0, $zero, .L7F025974 -/* 05A474 7F025944 2C4B0001 */ sltiu $t3, $v0, 1 -/* 05A478 7F025948 0C002914 */ jal get_random_value -/* 05A47C 7F02594C 00000000 */ nop -/* 05A480 7F025950 304C0001 */ andi $t4, $v0, 1 -/* 05A484 7F025954 0C002914 */ jal get_random_value -/* 05A488 7F025958 AFAC0078 */ sw $t4, 0x78($sp) -/* 05A48C 7F02595C 24010003 */ li $at, 3 -/* 05A490 7F025960 0041001B */ divu $zero, $v0, $at -/* 05A494 7F025964 00001810 */ mfhi $v1 -/* 05A498 7F025968 10000003 */ b .L7F025978 -/* 05A49C 7F02596C 00000000 */ nop -.L7F025970: -/* 05A4A0 7F025970 2C4B0001 */ sltiu $t3, $v0, 1 -.L7F025974: -/* 05A4A4 7F025974 AFAB0078 */ sw $t3, 0x78($sp) -.L7F025978: -/* 05A4A8 7F025978 14600013 */ bnez $v1, .L7F0259C8 -/* 05A4AC 7F02597C 24140001 */ li $s4, 1 -/* 05A4B0 7F025980 12400005 */ beqz $s2, .L7F025998 -/* 05A4B4 7F025984 3C0A8003 */ lui $t2, %hi(D_800306F0) -/* 05A4B8 7F025988 3C098003 */ lui $t1, %hi(D_80030738) -/* 05A4BC 7F02598C 25290738 */ addiu $t1, %lo(D_80030738) # addiu $t1, $t1, 0x738 -/* 05A4C0 7F025990 10000003 */ b .L7F0259A0 -/* 05A4C4 7F025994 AFA90084 */ sw $t1, 0x84($sp) -.L7F025998: -/* 05A4C8 7F025998 254A06F0 */ addiu $t2, %lo(D_800306F0) # addiu $t2, $t2, 0x6f0 -/* 05A4CC 7F02599C AFAA0084 */ sw $t2, 0x84($sp) -.L7F0259A0: -/* 05A4D0 7F0259A0 8FAD0078 */ lw $t5, 0x78($sp) -/* 05A4D4 7F0259A4 240F0001 */ li $t7, 1 -/* 05A4D8 7F0259A8 24020001 */ li $v0, 1 -/* 05A4DC 7F0259AC 11A00003 */ beqz $t5, .L7F0259BC -/* 05A4E0 7F0259B0 24140001 */ li $s4, 1 -/* 05A4E4 7F0259B4 10000048 */ b .L7F025AD8 -/* 05A4E8 7F0259B8 AFAF0074 */ sw $t7, 0x74($sp) -.L7F0259BC: -/* 05A4EC 7F0259BC AFA20070 */ sw $v0, 0x70($sp) -/* 05A4F0 7F0259C0 10000045 */ b .L7F025AD8 -/* 05A4F4 7F0259C4 24140001 */ li $s4, 1 -.L7F0259C8: -/* 05A4F8 7F0259C8 1474000C */ bne $v1, $s4, .L7F0259FC -/* 05A4FC 7F0259CC 00000000 */ nop -/* 05A500 7F0259D0 12400005 */ beqz $s2, .L7F0259E8 -/* 05A504 7F0259D4 3C198003 */ lui $t9, %hi(D_80030780) -/* 05A508 7F0259D8 3C0E8003 */ lui $t6, %hi(D_800307C8) -/* 05A50C 7F0259DC 25CE07C8 */ addiu $t6, %lo(D_800307C8) # addiu $t6, $t6, 0x7c8 -/* 05A510 7F0259E0 10000003 */ b .L7F0259F0 -/* 05A514 7F0259E4 AFAE0084 */ sw $t6, 0x84($sp) -.L7F0259E8: -/* 05A518 7F0259E8 27390780 */ addiu $t9, %lo(D_80030780) # addiu $t9, $t9, 0x780 -/* 05A51C 7F0259EC AFB90084 */ sw $t9, 0x84($sp) -.L7F0259F0: -/* 05A520 7F0259F0 AFB40074 */ sw $s4, 0x74($sp) -/* 05A524 7F0259F4 10000038 */ b .L7F025AD8 -/* 05A528 7F0259F8 AFB40070 */ sw $s4, 0x70($sp) -.L7F0259FC: -/* 05A52C 7F0259FC 12400005 */ beqz $s2, .L7F025A14 -/* 05A530 7F025A00 3C088003 */ lui $t0, %hi(D_80030810) -/* 05A534 7F025A04 3C188003 */ lui $t8, %hi(D_80030858) -/* 05A538 7F025A08 27180858 */ addiu $t8, %lo(D_80030858) # addiu $t8, $t8, 0x858 -/* 05A53C 7F025A0C 10000003 */ b .L7F025A1C -/* 05A540 7F025A10 AFB80084 */ sw $t8, 0x84($sp) -.L7F025A14: -/* 05A544 7F025A14 25080810 */ addiu $t0, %lo(D_80030810) # addiu $t0, $t0, 0x810 -/* 05A548 7F025A18 AFA80084 */ sw $t0, 0x84($sp) -.L7F025A1C: -/* 05A54C 7F025A1C AFB40074 */ sw $s4, 0x74($sp) -/* 05A550 7F025A20 1000002D */ b .L7F025AD8 -/* 05A554 7F025A24 AFB40070 */ sw $s4, 0x70($sp) -.L7F025A28: -/* 05A558 7F025A28 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05A55C 7F025A2C 02002025 */ move $a0, $s0 -/* 05A560 7F025A30 54400005 */ bnezl $v0, .L7F025A48 -/* 05A564 7F025A34 0010102B */ sltu $v0, $zero, $s0 -/* 05A568 7F025A38 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05A56C 7F025A3C 02202025 */ move $a0, $s1 -/* 05A570 7F025A40 10400013 */ beqz $v0, .L7F025A90 -/* 05A574 7F025A44 0010102B */ sltu $v0, $zero, $s0 -.L7F025A48: -/* 05A578 7F025A48 12400005 */ beqz $s2, .L7F025A60 -/* 05A57C 7F025A4C AFA20078 */ sw $v0, 0x78($sp) -/* 05A580 7F025A50 3C0C8003 */ lui $t4, %hi(D_80030738) -/* 05A584 7F025A54 258C0738 */ addiu $t4, %lo(D_80030738) # addiu $t4, $t4, 0x738 -/* 05A588 7F025A58 10000004 */ b .L7F025A6C -/* 05A58C 7F025A5C AFAC0084 */ sw $t4, 0x84($sp) -.L7F025A60: -/* 05A590 7F025A60 3C0B8003 */ lui $t3, %hi(D_800306F0) -/* 05A594 7F025A64 256B06F0 */ addiu $t3, %lo(D_800306F0) # addiu $t3, $t3, 0x6f0 -/* 05A598 7F025A68 AFAB0084 */ sw $t3, 0x84($sp) -.L7F025A6C: -/* 05A59C 7F025A6C 10400004 */ beqz $v0, .L7F025A80 -/* 05A5A0 7F025A70 24090001 */ li $t1, 1 -/* 05A5A4 7F025A74 AFA90074 */ sw $t1, 0x74($sp) -/* 05A5A8 7F025A78 10000017 */ b .L7F025AD8 -/* 05A5AC 7F025A7C 24140001 */ li $s4, 1 -.L7F025A80: -/* 05A5B0 7F025A80 24020001 */ li $v0, 1 -/* 05A5B4 7F025A84 AFA20070 */ sw $v0, 0x70($sp) -/* 05A5B8 7F025A88 10000013 */ b .L7F025AD8 -/* 05A5BC 7F025A8C 24140001 */ li $s4, 1 -.L7F025A90: -/* 05A5C0 7F025A90 0010102B */ sltu $v0, $zero, $s0 -/* 05A5C4 7F025A94 12400005 */ beqz $s2, .L7F025AAC -/* 05A5C8 7F025A98 AFA20078 */ sw $v0, 0x78($sp) -/* 05A5CC 7F025A9C 3C0A8003 */ lui $t2, %hi(D_800306A8) -/* 05A5D0 7F025AA0 254A06A8 */ addiu $t2, %lo(D_800306A8) # addiu $t2, $t2, 0x6a8 -/* 05A5D4 7F025AA4 10000004 */ b .L7F025AB8 -/* 05A5D8 7F025AA8 AFAA0084 */ sw $t2, 0x84($sp) -.L7F025AAC: -/* 05A5DC 7F025AAC 3C0D8003 */ lui $t5, %hi(D_80030660) -/* 05A5E0 7F025AB0 25AD0660 */ addiu $t5, %lo(D_80030660) # addiu $t5, $t5, 0x660 -/* 05A5E4 7F025AB4 AFAD0084 */ sw $t5, 0x84($sp) -.L7F025AB8: -/* 05A5E8 7F025AB8 10400005 */ beqz $v0, .L7F025AD0 -/* 05A5EC 7F025ABC 24140001 */ li $s4, 1 -/* 05A5F0 7F025AC0 240F0001 */ li $t7, 1 -/* 05A5F4 7F025AC4 AFAF0074 */ sw $t7, 0x74($sp) -/* 05A5F8 7F025AC8 10000003 */ b .L7F025AD8 -/* 05A5FC 7F025ACC 24140001 */ li $s4, 1 -.L7F025AD0: -/* 05A600 7F025AD0 24020001 */ li $v0, 1 -/* 05A604 7F025AD4 AFA20070 */ sw $v0, 0x70($sp) -.L7F025AD8: -/* 05A608 7F025AD8 00008825 */ move $s1, $zero -/* 05A60C 7F025ADC 00009025 */ move $s2, $zero -/* 05A610 7F025AE0 27B30070 */ addiu $s3, $sp, 0x70 -.L7F025AE4: -/* 05A614 7F025AE4 8E6E0000 */ lw $t6, ($s3) -/* 05A618 7F025AE8 02A02025 */ move $a0, $s5 -/* 05A61C 7F025AEC 51C00012 */ beql $t6, $zero, .L7F025B38 -/* 05A620 7F025AF0 26310001 */ addiu $s1, $s1, 1 -/* 05A624 7F025AF4 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A628 7F025AF8 02202825 */ move $a1, $s1 -/* 05A62C 7F025AFC 8C500004 */ lw $s0, 4($v0) -/* 05A630 7F025B00 0FC177F3 */ jal get_automatic_firing_rate -/* 05A634 7F025B04 82040080 */ lb $a0, 0x80($s0) -/* 05A638 7F025B08 04410002 */ bgez $v0, .L7F025B14 -/* 05A63C 7F025B0C 03B2C821 */ addu $t9, $sp, $s2 -/* 05A640 7F025B10 AF340068 */ sw $s4, 0x68($t9) -.L7F025B14: -/* 05A644 7F025B14 82020080 */ lb $v0, 0x80($s0) -/* 05A648 7F025B18 24010019 */ li $at, 25 -/* 05A64C 7F025B1C 03B2C021 */ addu $t8, $sp, $s2 -/* 05A650 7F025B20 10410003 */ beq $v0, $at, .L7F025B30 -/* 05A654 7F025B24 24010018 */ li $at, 24 -/* 05A658 7F025B28 54410003 */ bnel $v0, $at, .L7F025B38 -/* 05A65C 7F025B2C 26310001 */ addiu $s1, $s1, 1 -.L7F025B30: -/* 05A660 7F025B30 AF140060 */ sw $s4, 0x60($t8) -/* 05A664 7F025B34 26310001 */ addiu $s1, $s1, 1 -.L7F025B38: -/* 05A668 7F025B38 24010002 */ li $at, 2 -/* 05A66C 7F025B3C 26520004 */ addiu $s2, $s2, 4 -/* 05A670 7F025B40 1621FFE8 */ bne $s1, $at, .L7F025AE4 -/* 05A674 7F025B44 26730004 */ addiu $s3, $s3, 4 -/* 05A678 7F025B48 24080009 */ li $t0, 9 -/* 05A67C 7F025B4C A2A80007 */ sb $t0, 7($s5) -/* 05A680 7F025B50 0C002914 */ jal get_random_value -/* 05A684 7F025B54 AEA00030 */ sw $zero, 0x30($s5) -/* 05A688 7F025B58 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 05A68C 7F025B5C 44812000 */ mtc1 $at, $f4 -/* 05A690 7F025B60 3C018003 */ lui $at, %hi(ai_reaction_speed) -/* 05A694 7F025B64 C426CE4C */ lwc1 $f6, %lo(ai_reaction_speed)($at) -/* 05A698 7F025B68 AEA00038 */ sw $zero, 0x38($s5) -/* 05A69C 7F025B6C 46062202 */ mul.s $f8, $f4, $f6 -/* 05A6A0 7F025B70 4600428D */ trunc.w.s $f10, $f8 -/* 05A6A4 7F025B74 440B5000 */ mfc1 $t3, $f10 -/* 05A6A8 7F025B78 00000000 */ nop -/* 05A6AC 7F025B7C 004B001B */ divu $zero, $v0, $t3 -/* 05A6B0 7F025B80 00004810 */ mfhi $t1 -/* 05A6B4 7F025B84 252A0078 */ addiu $t2, $t1, 0x78 -/* 05A6B8 7F025B88 AEAA0034 */ sw $t2, 0x34($s5) -/* 05A6BC 7F025B8C 8FAD0084 */ lw $t5, 0x84($sp) -/* 05A6C0 7F025B90 15600002 */ bnez $t3, .L7F025B9C -/* 05A6C4 7F025B94 00000000 */ nop -/* 05A6C8 7F025B98 0007000D */ break 7 -.L7F025B9C: -/* 05A6CC 7F025B9C AEA00040 */ sw $zero, 0x40($s5) -/* 05A6D0 7F025BA0 0C002914 */ jal get_random_value -/* 05A6D4 7F025BA4 AEAD003C */ sw $t5, 0x3c($s5) -/* 05A6D8 7F025BA8 304F0001 */ andi $t7, $v0, 1 -/* 05A6DC 7F025BAC AEAF0044 */ sw $t7, 0x44($s5) -/* 05A6E0 7F025BB0 8FAE0074 */ lw $t6, 0x74($sp) -/* 05A6E4 7F025BB4 44808000 */ mtc1 $zero, $f16 -/* 05A6E8 7F025BB8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05A6EC 7F025BBC A2AE0049 */ sb $t6, 0x49($s5) -/* 05A6F0 7F025BC0 8FB90070 */ lw $t9, 0x70($sp) -/* 05A6F4 7F025BC4 44819000 */ mtc1 $at, $f18 -/* 05A6F8 7F025BC8 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05A6FC 7F025BCC A2B90048 */ sb $t9, 0x48($s5) -/* 05A700 7F025BD0 8FB8006C */ lw $t8, 0x6c($sp) -/* 05A704 7F025BD4 44812000 */ mtc1 $at, $f4 -/* 05A708 7F025BD8 8EA4001C */ lw $a0, 0x1c($s5) -/* 05A70C 7F025BDC A2B8004B */ sb $t8, 0x4b($s5) -/* 05A710 7F025BE0 8FA80068 */ lw $t0, 0x68($sp) -/* 05A714 7F025BE4 A2A8004A */ sb $t0, 0x4a($s5) -/* 05A718 7F025BE8 8FAC0064 */ lw $t4, 0x64($sp) -/* 05A71C 7F025BEC A2AC004D */ sb $t4, 0x4d($s5) -/* 05A720 7F025BF0 8FAB0060 */ lw $t3, 0x60($sp) -/* 05A724 7F025BF4 A2A00008 */ sb $zero, 8($s5) -/* 05A728 7F025BF8 E6B00054 */ swc1 $f16, 0x54($s5) -/* 05A72C 7F025BFC A2AB004C */ sb $t3, 0x4c($s5) -/* 05A730 7F025C00 8FA90084 */ lw $t1, 0x84($sp) -/* 05A734 7F025C04 8FA60078 */ lw $a2, 0x78($sp) -/* 05A738 7F025C08 8D250000 */ lw $a1, ($t1) -/* 05A73C 7F025C0C 8D270010 */ lw $a3, 0x10($t1) -/* 05A740 7F025C10 E7B20010 */ swc1 $f18, 0x10($sp) -/* 05A744 7F025C14 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05A748 7F025C18 E7A40014 */ swc1 $f4, 0x14($sp) -/* 05A74C 7F025C1C 8FBF0034 */ lw $ra, 0x34($sp) -/* 05A750 7F025C20 8FB0001C */ lw $s0, 0x1c($sp) -/* 05A754 7F025C24 8FB10020 */ lw $s1, 0x20($sp) -/* 05A758 7F025C28 8FB20024 */ lw $s2, 0x24($sp) -/* 05A75C 7F025C2C 8FB30028 */ lw $s3, 0x28($sp) -/* 05A760 7F025C30 8FB4002C */ lw $s4, 0x2c($sp) -/* 05A764 7F025C34 8FB50030 */ lw $s5, 0x30($sp) -/* 05A768 7F025C38 03E00008 */ jr $ra -/* 05A76C 7F025C3C 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F025C40(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F025C40 -/* 05A770 7F025C40 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 05A774 7F025C44 AFBF002C */ sw $ra, 0x2c($sp) -/* 05A778 7F025C48 AFB30028 */ sw $s3, 0x28($sp) -/* 05A77C 7F025C4C AFB20024 */ sw $s2, 0x24($sp) -/* 05A780 7F025C50 AFB10020 */ sw $s1, 0x20($sp) -/* 05A784 7F025C54 AFB0001C */ sw $s0, 0x1c($sp) -/* 05A788 7F025C58 AFA50094 */ sw $a1, 0x94($sp) -/* 05A78C 7F025C5C 8C8E001C */ lw $t6, 0x1c($a0) -/* 05A790 7F025C60 00809025 */ move $s2, $a0 -/* 05A794 7F025C64 24050001 */ li $a1, 1 -/* 05A798 7F025C68 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A79C 7F025C6C AFAE008C */ sw $t6, 0x8c($sp) -/* 05A7A0 7F025C70 00408025 */ move $s0, $v0 -/* 05A7A4 7F025C74 02402025 */ move $a0, $s2 -/* 05A7A8 7F025C78 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A7AC 7F025C7C 00002825 */ move $a1, $zero -/* 05A7B0 7F025C80 3C188003 */ lui $t8, %hi(D_800309E0) -/* 05A7B4 7F025C84 AFA00078 */ sw $zero, 0x78($sp) -/* 05A7B8 7F025C88 271809E0 */ addiu $t8, %lo(D_800309E0) # addiu $t8, $t8, 0x9e0 -/* 05A7BC 7F025C8C 8F010000 */ lw $at, ($t8) -/* 05A7C0 7F025C90 8F090004 */ lw $t1, 4($t8) -/* 05A7C4 7F025C94 27AF0064 */ addiu $t7, $sp, 0x64 -/* 05A7C8 7F025C98 3C0B8003 */ lui $t3, %hi(D_800309E8) -/* 05A7CC 7F025C9C ADE10000 */ sw $at, ($t7) -/* 05A7D0 7F025CA0 ADE90004 */ sw $t1, 4($t7) -/* 05A7D4 7F025CA4 AFA0005C */ sw $zero, 0x5c($sp) -/* 05A7D8 7F025CA8 256B09E8 */ addiu $t3, %lo(D_800309E8) # addiu $t3, $t3, 0x9e8 -/* 05A7DC 7F025CAC 8D610000 */ lw $at, ($t3) -/* 05A7E0 7F025CB0 8D6E0004 */ lw $t6, 4($t3) -/* 05A7E4 7F025CB4 27AA0054 */ addiu $t2, $sp, 0x54 -/* 05A7E8 7F025CB8 3C198003 */ lui $t9, %hi(D_800309F0) -/* 05A7EC 7F025CBC 273909F0 */ addiu $t9, %lo(D_800309F0) # addiu $t9, $t9, 0x9f0 -/* 05A7F0 7F025CC0 AD410000 */ sw $at, ($t2) -/* 05A7F4 7F025CC4 AD4E0004 */ sw $t6, 4($t2) -/* 05A7F8 7F025CC8 8F290004 */ lw $t1, 4($t9) -/* 05A7FC 7F025CCC 8F210000 */ lw $at, ($t9) -/* 05A800 7F025CD0 27A8004C */ addiu $t0, $sp, 0x4c -/* 05A804 7F025CD4 00408825 */ move $s1, $v0 -/* 05A808 7F025CD8 24130001 */ li $s3, 1 -/* 05A80C 7F025CDC AD090004 */ sw $t1, 4($t0) -/* 05A810 7F025CE0 12000029 */ beqz $s0, .L7F025D88 -/* 05A814 7F025CE4 AD010000 */ sw $at, ($t0) -/* 05A818 7F025CE8 10400027 */ beqz $v0, .L7F025D88 -/* 05A81C 7F025CEC 02402025 */ move $a0, $s2 -/* 05A820 7F025CF0 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05A824 7F025CF4 24050001 */ li $a1, 1 -/* 05A828 7F025CF8 00408025 */ move $s0, $v0 -/* 05A82C 7F025CFC 02402025 */ move $a0, $s2 -/* 05A830 7F025D00 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05A834 7F025D04 00002825 */ move $a1, $zero -/* 05A838 7F025D08 12000018 */ beqz $s0, .L7F025D6C -/* 05A83C 7F025D0C 2C430001 */ sltiu $v1, $v0, 1 -/* 05A840 7F025D10 50400017 */ beql $v0, $zero, .L7F025D70 -/* 05A844 7F025D14 24080001 */ li $t0, 1 -/* 05A848 7F025D18 0C002914 */ jal get_random_value -/* 05A84C 7F025D1C 00000000 */ nop -/* 05A850 7F025D20 304D0001 */ andi $t5, $v0, 1 -/* 05A854 7F025D24 240C0001 */ li $t4, 1 -/* 05A858 7F025D28 AFAD007C */ sw $t5, 0x7c($sp) -/* 05A85C 7F025D2C 0C002914 */ jal get_random_value -/* 05A860 7F025D30 AFAC0078 */ sw $t4, 0x78($sp) -/* 05A864 7F025D34 24010003 */ li $at, 3 -/* 05A868 7F025D38 0041001B */ divu $zero, $v0, $at -/* 05A86C 7F025D3C 00005010 */ mfhi $t2 -/* 05A870 7F025D40 24180001 */ li $t8, 1 -/* 05A874 7F025D44 15400006 */ bnez $t2, .L7F025D60 -/* 05A878 7F025D48 240F0001 */ li $t7, 1 -/* 05A87C 7F025D4C 8FAB007C */ lw $t3, 0x7c($sp) -/* 05A880 7F025D50 2D6E0001 */ sltiu $t6, $t3, 1 -/* 05A884 7F025D54 AFAE0064 */ sw $t6, 0x64($sp) -/* 05A888 7F025D58 1000001F */ b .L7F025DD8 -/* 05A88C 7F025D5C AFAB0068 */ sw $t3, 0x68($sp) -.L7F025D60: -/* 05A890 7F025D60 AFB80068 */ sw $t8, 0x68($sp) -/* 05A894 7F025D64 1000001C */ b .L7F025DD8 -/* 05A898 7F025D68 AFAF0064 */ sw $t7, 0x64($sp) -.L7F025D6C: -/* 05A89C 7F025D6C 24080001 */ li $t0, 1 -.L7F025D70: -/* 05A8A0 7F025D70 2C790001 */ sltiu $t9, $v1, 1 -/* 05A8A4 7F025D74 AFA3007C */ sw $v1, 0x7c($sp) -/* 05A8A8 7F025D78 AFA80078 */ sw $t0, 0x78($sp) -/* 05A8AC 7F025D7C AFA30068 */ sw $v1, 0x68($sp) -/* 05A8B0 7F025D80 10000015 */ b .L7F025DD8 -/* 05A8B4 7F025D84 AFB90064 */ sw $t9, 0x64($sp) -.L7F025D88: -/* 05A8B8 7F025D88 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05A8BC 7F025D8C 02002025 */ move $a0, $s0 -/* 05A8C0 7F025D90 54400005 */ bnezl $v0, .L7F025DA8 -/* 05A8C4 7F025D94 0010102B */ sltu $v0, $zero, $s0 -/* 05A8C8 7F025D98 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05A8CC 7F025D9C 02202025 */ move $a0, $s1 -/* 05A8D0 7F025DA0 10400008 */ beqz $v0, .L7F025DC4 -/* 05A8D4 7F025DA4 0010102B */ sltu $v0, $zero, $s0 -.L7F025DA8: -/* 05A8D8 7F025DA8 24090001 */ li $t1, 1 -/* 05A8DC 7F025DAC 2C4D0001 */ sltiu $t5, $v0, 1 -/* 05A8E0 7F025DB0 AFA2007C */ sw $v0, 0x7c($sp) -/* 05A8E4 7F025DB4 AFA90078 */ sw $t1, 0x78($sp) -/* 05A8E8 7F025DB8 AFA20068 */ sw $v0, 0x68($sp) -/* 05A8EC 7F025DBC 10000006 */ b .L7F025DD8 -/* 05A8F0 7F025DC0 AFAD0064 */ sw $t5, 0x64($sp) -.L7F025DC4: -/* 05A8F4 7F025DC4 0010102B */ sltu $v0, $zero, $s0 -/* 05A8F8 7F025DC8 2C4C0001 */ sltiu $t4, $v0, 1 -/* 05A8FC 7F025DCC AFA2007C */ sw $v0, 0x7c($sp) -/* 05A900 7F025DD0 AFA20068 */ sw $v0, 0x68($sp) -/* 05A904 7F025DD4 AFAC0064 */ sw $t4, 0x64($sp) -.L7F025DD8: -/* 05A908 7F025DD8 8FA20094 */ lw $v0, 0x94($sp) -/* 05A90C 7F025DDC 8FAA007C */ lw $t2, 0x7c($sp) -/* 05A910 7F025DE0 10400003 */ beqz $v0, .L7F025DF0 -/* 05A914 7F025DE4 00000000 */ nop -/* 05A918 7F025DE8 11400005 */ beqz $t2, .L7F025E00 -/* 05A91C 7F025DEC 00000000 */ nop -.L7F025DF0: -/* 05A920 7F025DF0 1440000F */ bnez $v0, .L7F025E30 -/* 05A924 7F025DF4 8FAB007C */ lw $t3, 0x7c($sp) -/* 05A928 7F025DF8 1160000D */ beqz $t3, .L7F025E30 -/* 05A92C 7F025DFC 00000000 */ nop -.L7F025E00: -/* 05A930 7F025E00 0C002914 */ jal get_random_value -/* 05A934 7F025E04 00000000 */ nop -/* 05A938 7F025E08 304E0001 */ andi $t6, $v0, 1 -/* 05A93C 7F025E0C 11C00005 */ beqz $t6, .L7F025E24 -/* 05A940 7F025E10 3C0F8003 */ lui $t7, %hi(D_80030108) -/* 05A944 7F025E14 3C188003 */ lui $t8, %hi(D_80030078) -/* 05A948 7F025E18 27180078 */ addiu $t8, %lo(D_80030078) # addiu $t8, $t8, 0x78 -/* 05A94C 7F025E1C 1000000F */ b .L7F025E5C -/* 05A950 7F025E20 AFB80088 */ sw $t8, 0x88($sp) -.L7F025E24: -/* 05A954 7F025E24 25EF0108 */ addiu $t7, %lo(D_80030108) # addiu $t7, $t7, 0x108 -/* 05A958 7F025E28 1000000C */ b .L7F025E5C -/* 05A95C 7F025E2C AFAF0088 */ sw $t7, 0x88($sp) -.L7F025E30: -/* 05A960 7F025E30 0C002914 */ jal get_random_value -/* 05A964 7F025E34 00000000 */ nop -/* 05A968 7F025E38 30480001 */ andi $t0, $v0, 1 -/* 05A96C 7F025E3C 11000005 */ beqz $t0, .L7F025E54 -/* 05A970 7F025E40 3C098003 */ lui $t1, %hi(D_80030150) -/* 05A974 7F025E44 3C198003 */ lui $t9, %hi(D_800300C0) -/* 05A978 7F025E48 273900C0 */ addiu $t9, %lo(D_800300C0) # addiu $t9, $t9, 0xc0 -/* 05A97C 7F025E4C 10000003 */ b .L7F025E5C -/* 05A980 7F025E50 AFB90088 */ sw $t9, 0x88($sp) -.L7F025E54: -/* 05A984 7F025E54 25290150 */ addiu $t1, %lo(D_80030150) # addiu $t1, $t1, 0x150 -/* 05A988 7F025E58 AFA90088 */ sw $t1, 0x88($sp) -.L7F025E5C: -/* 05A98C 7F025E5C 8FAD0078 */ lw $t5, 0x78($sp) -/* 05A990 7F025E60 00008025 */ move $s0, $zero -/* 05A994 7F025E64 00003025 */ move $a2, $zero -/* 05A998 7F025E68 11A00004 */ beqz $t5, .L7F025E7C -/* 05A99C 7F025E6C 27A70064 */ addiu $a3, $sp, 0x64 -/* 05A9A0 7F025E70 8FAC0088 */ lw $t4, 0x88($sp) -/* 05A9A4 7F025E74 258A0120 */ addiu $t2, $t4, 0x120 -/* 05A9A8 7F025E78 AFAA0088 */ sw $t2, 0x88($sp) -.L7F025E7C: -/* 05A9AC 7F025E7C 24110001 */ li $s1, 1 -.L7F025E80: -/* 05A9B0 7F025E80 8CEB0000 */ lw $t3, ($a3) -/* 05A9B4 7F025E84 02402025 */ move $a0, $s2 -/* 05A9B8 7F025E88 02002825 */ move $a1, $s0 -/* 05A9BC 7F025E8C 5160001F */ beql $t3, $zero, .L7F025F0C -/* 05A9C0 7F025E90 26100001 */ addiu $s0, $s0, 1 -/* 05A9C4 7F025E94 AFA60038 */ sw $a2, 0x38($sp) -/* 05A9C8 7F025E98 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05A9CC 7F025E9C AFA70034 */ sw $a3, 0x34($sp) -/* 05A9D0 7F025EA0 8C430004 */ lw $v1, 4($v0) -/* 05A9D4 7F025EA4 80640080 */ lb $a0, 0x80($v1) -/* 05A9D8 7F025EA8 0FC177F3 */ jal get_automatic_firing_rate -/* 05A9DC 7F025EAC AFA30070 */ sw $v1, 0x70($sp) -/* 05A9E0 7F025EB0 8FA30070 */ lw $v1, 0x70($sp) -/* 05A9E4 7F025EB4 8FA60038 */ lw $a2, 0x38($sp) -/* 05A9E8 7F025EB8 04410009 */ bgez $v0, .L7F025EE0 -/* 05A9EC 7F025EBC 8FA70034 */ lw $a3, 0x34($sp) -/* 05A9F0 7F025EC0 03A67021 */ addu $t6, $sp, $a2 -/* 05A9F4 7F025EC4 ADD10054 */ sw $s1, 0x54($t6) -/* 05A9F8 7F025EC8 80620080 */ lb $v0, 0x80($v1) -/* 05A9FC 7F025ECC 24010016 */ li $at, 22 -/* 05AA00 7F025ED0 54410007 */ bnel $v0, $at, .L7F025EF0 -/* 05AA04 7F025ED4 24010019 */ li $at, 25 -/* 05AA08 7F025ED8 10000004 */ b .L7F025EEC -/* 05AA0C 7F025EDC 00009825 */ move $s3, $zero -.L7F025EE0: -/* 05AA10 7F025EE0 AFB1005C */ sw $s1, 0x5c($sp) -/* 05AA14 7F025EE4 00009825 */ move $s3, $zero -/* 05AA18 7F025EE8 80620080 */ lb $v0, 0x80($v1) -.L7F025EEC: -/* 05AA1C 7F025EEC 24010019 */ li $at, 25 -.L7F025EF0: -/* 05AA20 7F025EF0 10410004 */ beq $v0, $at, .L7F025F04 -/* 05AA24 7F025EF4 03A6C021 */ addu $t8, $sp, $a2 -/* 05AA28 7F025EF8 24010018 */ li $at, 24 -/* 05AA2C 7F025EFC 54410003 */ bnel $v0, $at, .L7F025F0C -/* 05AA30 7F025F00 26100001 */ addiu $s0, $s0, 1 -.L7F025F04: -/* 05AA34 7F025F04 AF11004C */ sw $s1, 0x4c($t8) -/* 05AA38 7F025F08 26100001 */ addiu $s0, $s0, 1 -.L7F025F0C: -/* 05AA3C 7F025F0C 24010002 */ li $at, 2 -/* 05AA40 7F025F10 24C60004 */ addiu $a2, $a2, 4 -/* 05AA44 7F025F14 1601FFDA */ bne $s0, $at, .L7F025E80 -/* 05AA48 7F025F18 24E70004 */ addiu $a3, $a3, 4 -/* 05AA4C 7F025F1C 240F000A */ li $t7, 10 -/* 05AA50 7F025F20 A24F0007 */ sb $t7, 7($s2) -/* 05AA54 7F025F24 8FA80088 */ lw $t0, 0x88($sp) -/* 05AA58 7F025F28 A2400031 */ sb $zero, 0x31($s2) -/* 05AA5C 7F025F2C 0C002914 */ jal get_random_value -/* 05AA60 7F025F30 AE48002C */ sw $t0, 0x2c($s2) -/* 05AA64 7F025F34 30590001 */ andi $t9, $v0, 1 -/* 05AA68 7F025F38 A2590032 */ sb $t9, 0x32($s2) -/* 05AA6C 7F025F3C 8FA90068 */ lw $t1, 0x68($sp) -/* 05AA70 7F025F40 A2490039 */ sb $t1, 0x39($s2) -/* 05AA74 7F025F44 8FAD0064 */ lw $t5, 0x64($sp) -/* 05AA78 7F025F48 A24D0038 */ sb $t5, 0x38($s2) -/* 05AA7C 7F025F4C 8FAC0058 */ lw $t4, 0x58($sp) -/* 05AA80 7F025F50 A24C003B */ sb $t4, 0x3b($s2) -/* 05AA84 7F025F54 8FAA0054 */ lw $t2, 0x54($sp) -/* 05AA88 7F025F58 A24A003A */ sb $t2, 0x3a($s2) -/* 05AA8C 7F025F5C 8FAB0050 */ lw $t3, 0x50($sp) -/* 05AA90 7F025F60 A24B003D */ sb $t3, 0x3d($s2) -/* 05AA94 7F025F64 8FAE004C */ lw $t6, 0x4c($sp) -/* 05AA98 7F025F68 A2530036 */ sb $s3, 0x36($s2) -/* 05AA9C 7F025F6C A24E003C */ sb $t6, 0x3c($s2) -/* 05AAA0 7F025F70 8FB8005C */ lw $t8, 0x5c($sp) -/* 05AAA4 7F025F74 A2580037 */ sb $t8, 0x37($s2) -/* 05AAA8 7F025F78 8FAF0078 */ lw $t7, 0x78($sp) -/* 05AAAC 7F025F7C AE400040 */ sw $zero, 0x40($s2) -/* 05AAB0 7F025F80 A2400033 */ sb $zero, 0x33($s2) -/* 05AAB4 7F025F84 A2510030 */ sb $s1, 0x30($s2) -/* 05AAB8 7F025F88 A24F0035 */ sb $t7, 0x35($s2) -/* 05AABC 7F025F8C 8FA80050 */ lw $t0, 0x50($sp) -/* 05AAC0 7F025F90 8FB9004C */ lw $t9, 0x4c($sp) -/* 05AAC4 7F025F94 8FA90050 */ lw $t1, 0x50($sp) -/* 05AAC8 7F025F98 15000003 */ bnez $t0, .L7F025FA8 -/* 05AACC 7F025F9C 00000000 */ nop -/* 05AAD0 7F025FA0 13200009 */ beqz $t9, .L7F025FC8 -/* 05AAD4 7F025FA4 00000000 */ nop -.L7F025FA8: -/* 05AAD8 7F025FA8 11200005 */ beqz $t1, .L7F025FC0 -/* 05AADC 7F025FAC 8FAD004C */ lw $t5, 0x4c($sp) -/* 05AAE0 7F025FB0 11A00003 */ beqz $t5, .L7F025FC0 -/* 05AAE4 7F025FB4 240C0002 */ li $t4, 2 -/* 05AAE8 7F025FB8 10000015 */ b .L7F026010 -/* 05AAEC 7F025FBC A24C0034 */ sb $t4, 0x34($s2) -.L7F025FC0: -/* 05AAF0 7F025FC0 10000013 */ b .L7F026010 -/* 05AAF4 7F025FC4 A2510034 */ sb $s1, 0x34($s2) -.L7F025FC8: -/* 05AAF8 7F025FC8 0C002914 */ jal get_random_value -/* 05AAFC 7F025FCC 00000000 */ nop -/* 05AB00 7F025FD0 304A0003 */ andi $t2, $v0, 3 -/* 05AB04 7F025FD4 254B0002 */ addiu $t3, $t2, 2 -/* 05AB08 7F025FD8 A24B0034 */ sb $t3, 0x34($s2) -/* 05AB0C 7F025FDC 8FAE0064 */ lw $t6, 0x64($sp) -/* 05AB10 7F025FE0 8FB80068 */ lw $t8, 0x68($sp) -/* 05AB14 7F025FE4 51C0000B */ beql $t6, $zero, .L7F026014 -/* 05AB18 7F025FE8 3C063F4C */ lui $a2, 0x3f4c -/* 05AB1C 7F025FEC 53000009 */ beql $t8, $zero, .L7F026014 -/* 05AB20 7F025FF0 3C063F4C */ lui $a2, 0x3f4c -/* 05AB24 7F025FF4 0C002914 */ jal get_random_value -/* 05AB28 7F025FF8 00000000 */ nop -/* 05AB2C 7F025FFC 824F0034 */ lb $t7, 0x34($s2) -/* 05AB30 7F026000 30480003 */ andi $t0, $v0, 3 -/* 05AB34 7F026004 01E8C821 */ addu $t9, $t7, $t0 -/* 05AB38 7F026008 27290002 */ addiu $t1, $t9, 2 -/* 05AB3C 7F02600C A2490034 */ sb $t1, 0x34($s2) -.L7F026010: -/* 05AB40 7F026010 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -.L7F026014: -/* 05AB44 7F026014 AE51004C */ sw $s1, 0x4c($s2) -/* 05AB48 7F026018 AE400050 */ sw $zero, 0x50($s2) -/* 05AB4C 7F02601C AE510054 */ sw $s1, 0x54($s2) -/* 05AB50 7F026020 AE400058 */ sw $zero, 0x58($s2) -/* 05AB54 7F026024 AE400044 */ sw $zero, 0x44($s2) -/* 05AB58 7F026028 AE400048 */ sw $zero, 0x48($s2) -/* 05AB5C 7F02602C A2400008 */ sb $zero, 8($s2) -/* 05AB60 7F026030 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 05AB64 7F026034 02402025 */ move $a0, $s2 -/* 05AB68 7F026038 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 05AB6C 7F02603C 3C053F00 */ lui $a1, 0x3f00 -/* 05AB70 7F026040 8FAD0088 */ lw $t5, 0x88($sp) -/* 05AB74 7F026044 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05AB78 7F026048 44812000 */ mtc1 $at, $f4 -/* 05AB7C 7F02604C 8DA50000 */ lw $a1, ($t5) -/* 05AB80 7F026050 8DA70010 */ lw $a3, 0x10($t5) -/* 05AB84 7F026054 E7A00010 */ swc1 $f0, 0x10($sp) -/* 05AB88 7F026058 8FA4008C */ lw $a0, 0x8c($sp) -/* 05AB8C 7F02605C 8FA6007C */ lw $a2, 0x7c($sp) -/* 05AB90 7F026060 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05AB94 7F026064 E7A40014 */ swc1 $f4, 0x14($sp) -/* 05AB98 7F026068 8FAC0078 */ lw $t4, 0x78($sp) -/* 05AB9C 7F02606C 5580002A */ bnezl $t4, .L7F026118 -/* 05ABA0 7F026070 8FBF002C */ lw $ra, 0x2c($sp) -/* 05ABA4 7F026074 12600013 */ beqz $s3, .L7F0260C4 -/* 05ABA8 7F026078 8FAE0088 */ lw $t6, 0x88($sp) -/* 05ABAC 7F02607C 8FAA0088 */ lw $t2, 0x88($sp) -/* 05ABB0 7F026080 44801000 */ mtc1 $zero, $f2 -/* 05ABB4 7F026084 8FAB0088 */ lw $t3, 0x88($sp) -/* 05ABB8 7F026088 C5400024 */ lwc1 $f0, 0x24($t2) -/* 05ABBC 7F02608C 4600103E */ c.le.s $f2, $f0 -/* 05ABC0 7F026090 00000000 */ nop -/* 05ABC4 7F026094 45020007 */ bc1fl .L7F0260B4 -/* 05ABC8 7F026098 8FA4008C */ lw $a0, 0x8c($sp) -/* 05ABCC 7F02609C 44050000 */ mfc1 $a1, $f0 -/* 05ABD0 7F0260A0 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05ABD4 7F0260A4 8FA4008C */ lw $a0, 0x8c($sp) -/* 05ABD8 7F0260A8 1000001B */ b .L7F026118 -/* 05ABDC 7F0260AC 8FBF002C */ lw $ra, 0x2c($sp) -/* 05ABE0 7F0260B0 8FA4008C */ lw $a0, 0x8c($sp) -.L7F0260B4: -/* 05ABE4 7F0260B4 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05ABE8 7F0260B8 8D65001C */ lw $a1, 0x1c($t3) -/* 05ABEC 7F0260BC 10000016 */ b .L7F026118 -/* 05ABF0 7F0260C0 8FBF002C */ lw $ra, 0x2c($sp) -.L7F0260C4: -/* 05ABF4 7F0260C4 44801000 */ mtc1 $zero, $f2 -/* 05ABF8 7F0260C8 C5C00020 */ lwc1 $f0, 0x20($t6) -/* 05ABFC 7F0260CC 8FB80088 */ lw $t8, 0x88($sp) -/* 05AC00 7F0260D0 4600103E */ c.le.s $f2, $f0 -/* 05AC04 7F0260D4 00000000 */ nop -/* 05AC08 7F0260D8 45020007 */ bc1fl .L7F0260F8 -/* 05AC0C 7F0260DC C7000014 */ lwc1 $f0, 0x14($t8) -/* 05AC10 7F0260E0 44050000 */ mfc1 $a1, $f0 -/* 05AC14 7F0260E4 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05AC18 7F0260E8 8FA4008C */ lw $a0, 0x8c($sp) -/* 05AC1C 7F0260EC 1000000A */ b .L7F026118 -/* 05AC20 7F0260F0 8FBF002C */ lw $ra, 0x2c($sp) -/* 05AC24 7F0260F4 C7000014 */ lwc1 $f0, 0x14($t8) -.L7F0260F8: -/* 05AC28 7F0260F8 4600103E */ c.le.s $f2, $f0 -/* 05AC2C 7F0260FC 00000000 */ nop -/* 05AC30 7F026100 45020005 */ bc1fl .L7F026118 -/* 05AC34 7F026104 8FBF002C */ lw $ra, 0x2c($sp) -/* 05AC38 7F026108 44050000 */ mfc1 $a1, $f0 -/* 05AC3C 7F02610C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05AC40 7F026110 8FA4008C */ lw $a0, 0x8c($sp) -/* 05AC44 7F026114 8FBF002C */ lw $ra, 0x2c($sp) -.L7F026118: -/* 05AC48 7F026118 8FB0001C */ lw $s0, 0x1c($sp) -/* 05AC4C 7F02611C 8FB10020 */ lw $s1, 0x20($sp) -/* 05AC50 7F026120 8FB20024 */ lw $s2, 0x24($sp) -/* 05AC54 7F026124 8FB30028 */ lw $s3, 0x28($sp) -/* 05AC58 7F026128 03E00008 */ jr $ra -/* 05AC5C 7F02612C 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F026130(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F026130 -/* 05AC60 7F026130 C48C0000 */ lwc1 $f12, ($a0) -/* 05AC64 7F026134 C4A40000 */ lwc1 $f4, ($a1) -/* 05AC68 7F026138 C4900008 */ lwc1 $f16, 8($a0) -/* 05AC6C 7F02613C C4A60008 */ lwc1 $f6, 8($a1) -/* 05AC70 7F026140 460C2381 */ sub.s $f14, $f4, $f12 -/* 05AC74 7F026144 C4E80000 */ lwc1 $f8, ($a3) -/* 05AC78 7F026148 C4E20008 */ lwc1 $f2, 8($a3) -/* 05AC7C 7F02614C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 05AC80 7F026150 46103481 */ sub.s $f18, $f6, $f16 -/* 05AC84 7F026154 E7A80000 */ swc1 $f8, ($sp) -/* 05AC88 7F026158 460E1282 */ mul.s $f10, $f2, $f14 -/* 05AC8C 7F02615C C7A40000 */ lwc1 $f4, ($sp) -/* 05AC90 7F026160 44804000 */ mtc1 $zero, $f8 -/* 05AC94 7F026164 46049182 */ mul.s $f6, $f18, $f4 -/* 05AC98 7F026168 46065001 */ sub.s $f0, $f10, $f6 -/* 05AC9C 7F02616C 46080032 */ c.eq.s $f0, $f8 -/* 05ACA0 7F026170 C7A80000 */ lwc1 $f8, ($sp) -/* 05ACA4 7F026174 4503001B */ bc1tl .L7F0261E4 -/* 05ACA8 7F026178 44802000 */ mtc1 $zero, $f4 -/* 05ACAC 7F02617C C4CA0000 */ lwc1 $f10, ($a2) -/* 05ACB0 7F026180 8FA20030 */ lw $v0, 0x30($sp) -/* 05ACB4 7F026184 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 05ACB8 7F026188 C7A60014 */ lwc1 $f6, 0x14($sp) -/* 05ACBC 7F02618C 460C3201 */ sub.s $f8, $f6, $f12 -/* 05ACC0 7F026190 46089282 */ mul.s $f10, $f18, $f8 -/* 05ACC4 7F026194 C4C80008 */ lwc1 $f8, 8($a2) -/* 05ACC8 7F026198 46088201 */ sub.s $f8, $f16, $f8 -/* 05ACCC 7F02619C 460E4202 */ mul.s $f8, $f8, $f14 -/* 05ACD0 7F0261A0 46085280 */ add.s $f10, $f10, $f8 -/* 05ACD4 7F0261A4 46005083 */ div.s $f2, $f10, $f0 -/* 05ACD8 7F0261A8 46022202 */ mul.s $f8, $f4, $f2 -/* 05ACDC 7F0261AC 46064280 */ add.s $f10, $f8, $f6 -/* 05ACE0 7F0261B0 E44A0000 */ swc1 $f10, ($v0) -/* 05ACE4 7F0261B4 C4E40004 */ lwc1 $f4, 4($a3) -/* 05ACE8 7F0261B8 C4C60004 */ lwc1 $f6, 4($a2) -/* 05ACEC 7F0261BC 46022202 */ mul.s $f8, $f4, $f2 -/* 05ACF0 7F0261C0 46064280 */ add.s $f10, $f8, $f6 -/* 05ACF4 7F0261C4 E44A0004 */ swc1 $f10, 4($v0) -/* 05ACF8 7F0261C8 C4E40008 */ lwc1 $f4, 8($a3) -/* 05ACFC 7F0261CC C4C60008 */ lwc1 $f6, 8($a2) -/* 05AD00 7F0261D0 46022202 */ mul.s $f8, $f4, $f2 -/* 05AD04 7F0261D4 46064280 */ add.s $f10, $f8, $f6 -/* 05AD08 7F0261D8 1000001A */ b .L7F026244 -/* 05AD0C 7F0261DC E44A0008 */ swc1 $f10, 8($v0) -/* 05AD10 7F0261E0 44802000 */ mtc1 $zero, $f4 -.L7F0261E4: -/* 05AD14 7F0261E4 8FA20030 */ lw $v0, 0x30($sp) -/* 05AD18 7F0261E8 46082032 */ c.eq.s $f4, $f8 -/* 05AD1C 7F0261EC 00000000 */ nop -/* 05AD20 7F0261F0 45020010 */ bc1fl .L7F026234 -/* 05AD24 7F0261F4 E44C0000 */ swc1 $f12, ($v0) -/* 05AD28 7F0261F8 44803000 */ mtc1 $zero, $f6 -/* 05AD2C 7F0261FC 00000000 */ nop -/* 05AD30 7F026200 46023032 */ c.eq.s $f6, $f2 -/* 05AD34 7F026204 00000000 */ nop -/* 05AD38 7F026208 4502000A */ bc1fl .L7F026234 -/* 05AD3C 7F02620C E44C0000 */ swc1 $f12, ($v0) -/* 05AD40 7F026210 8FA20030 */ lw $v0, 0x30($sp) -/* 05AD44 7F026214 C4CA0000 */ lwc1 $f10, ($a2) -/* 05AD48 7F026218 E44A0000 */ swc1 $f10, ($v0) -/* 05AD4C 7F02621C C4C40004 */ lwc1 $f4, 4($a2) -/* 05AD50 7F026220 E4440004 */ swc1 $f4, 4($v0) -/* 05AD54 7F026224 C4C80008 */ lwc1 $f8, 8($a2) -/* 05AD58 7F026228 10000006 */ b .L7F026244 -/* 05AD5C 7F02622C E4480008 */ swc1 $f8, 8($v0) -/* 05AD60 7F026230 E44C0000 */ swc1 $f12, ($v0) -.L7F026234: -/* 05AD64 7F026234 C4860004 */ lwc1 $f6, 4($a0) -/* 05AD68 7F026238 E4460004 */ swc1 $f6, 4($v0) -/* 05AD6C 7F02623C C48A0008 */ lwc1 $f10, 8($a0) -/* 05AD70 7F026240 E44A0008 */ swc1 $f10, 8($v0) -.L7F026244: -/* 05AD74 7F026244 03E00008 */ jr $ra -/* 05AD78 7F026248 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02624C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02624C -/* 05AD7C 7F02624C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 05AD80 7F026250 AFBF001C */ sw $ra, 0x1c($sp) -/* 05AD84 7F026254 AFA40038 */ sw $a0, 0x38($sp) -/* 05AD88 7F026258 AFA5003C */ sw $a1, 0x3c($sp) -/* 05AD8C 7F02625C AFA60040 */ sw $a2, 0x40($sp) -/* 05AD90 7F026260 27A50020 */ addiu $a1, $sp, 0x20 -/* 05AD94 7F026264 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 05AD98 7F026268 27A4002C */ addiu $a0, $sp, 0x2c -/* 05AD9C 7F02626C 8FAE0040 */ lw $t6, 0x40($sp) -/* 05ADA0 7F026270 27A4002C */ addiu $a0, $sp, 0x2c -/* 05ADA4 7F026274 27A50020 */ addiu $a1, $sp, 0x20 -/* 05ADA8 7F026278 8FA60038 */ lw $a2, 0x38($sp) -/* 05ADAC 7F02627C 8FA7003C */ lw $a3, 0x3c($sp) -/* 05ADB0 7F026280 0FC0984C */ jal sub_GAME_7F026130 -/* 05ADB4 7F026284 AFAE0010 */ sw $t6, 0x10($sp) -/* 05ADB8 7F026288 8FBF001C */ lw $ra, 0x1c($sp) -/* 05ADBC 7F02628C 27BD0038 */ addiu $sp, $sp, 0x38 -/* 05ADC0 7F026290 03E00008 */ jr $ra -/* 05ADC4 7F026294 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F026298(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F026298 -/* 05ADC8 7F026298 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 05ADCC 7F02629C AFBF0014 */ sw $ra, 0x14($sp) -/* 05ADD0 7F0262A0 AFA40038 */ sw $a0, 0x38($sp) -/* 05ADD4 7F0262A4 AFA5003C */ sw $a1, 0x3c($sp) -/* 05ADD8 7F0262A8 27A50020 */ addiu $a1, $sp, 0x20 -/* 05ADDC 7F0262AC 27A4002C */ addiu $a0, $sp, 0x2c -/* 05ADE0 7F0262B0 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 05ADE4 7F0262B4 AFA60040 */ sw $a2, 0x40($sp) -/* 05ADE8 7F0262B8 8FA30038 */ lw $v1, 0x38($sp) -/* 05ADEC 7F0262BC C7A40020 */ lwc1 $f4, 0x20($sp) -/* 05ADF0 7F0262C0 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 05ADF4 7F0262C4 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 05ADF8 7F0262C8 C46A0008 */ lwc1 $f10, 8($v1) -/* 05ADFC 7F0262CC 8FA2003C */ lw $v0, 0x3c($sp) -/* 05AE00 7F0262D0 46062381 */ sub.s $f14, $f4, $f6 -/* 05AE04 7F0262D4 C4640000 */ lwc1 $f4, ($v1) -/* 05AE08 7F0262D8 C4420000 */ lwc1 $f2, ($v0) -/* 05AE0C 7F0262DC 460A4401 */ sub.s $f16, $f8, $f10 -/* 05AE10 7F0262E0 C44C0008 */ lwc1 $f12, 8($v0) -/* 05AE14 7F0262E4 8FA60040 */ lw $a2, 0x40($sp) -/* 05AE18 7F0262E8 46043281 */ sub.s $f10, $f6, $f4 -/* 05AE1C 7F0262EC 46101482 */ mul.s $f18, $f2, $f16 -/* 05AE20 7F0262F0 00000000 */ nop -/* 05AE24 7F0262F4 460A6402 */ mul.s $f16, $f12, $f10 -/* 05AE28 7F0262F8 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 05AE2C 7F0262FC 46109101 */ sub.s $f4, $f18, $f16 -/* 05AE30 7F026300 46085481 */ sub.s $f18, $f10, $f8 -/* 05AE34 7F026304 46029402 */ mul.s $f16, $f18, $f2 -/* 05AE38 7F026308 00000000 */ nop -/* 05AE3C 7F02630C 460E6282 */ mul.s $f10, $f12, $f14 -/* 05AE40 7F026310 46105201 */ sub.s $f8, $f10, $f16 -/* 05AE44 7F026314 46082003 */ div.s $f0, $f4, $f8 -/* 05AE48 7F026318 46007482 */ mul.s $f18, $f14, $f0 -/* 05AE4C 7F02631C 46069280 */ add.s $f10, $f18, $f6 -/* 05AE50 7F026320 E4CA0000 */ swc1 $f10, ($a2) -/* 05AE54 7F026324 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 05AE58 7F026328 C7B00024 */ lwc1 $f16, 0x24($sp) -/* 05AE5C 7F02632C 46048201 */ sub.s $f8, $f16, $f4 -/* 05AE60 7F026330 46004482 */ mul.s $f18, $f8, $f0 -/* 05AE64 7F026334 46049180 */ add.s $f6, $f18, $f4 -/* 05AE68 7F026338 E4C60004 */ swc1 $f6, 4($a2) -/* 05AE6C 7F02633C C7B00034 */ lwc1 $f16, 0x34($sp) -/* 05AE70 7F026340 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 05AE74 7F026344 46105201 */ sub.s $f8, $f10, $f16 -/* 05AE78 7F026348 46004482 */ mul.s $f18, $f8, $f0 -/* 05AE7C 7F02634C 46109100 */ add.s $f4, $f18, $f16 -/* 05AE80 7F026350 E4C40008 */ swc1 $f4, 8($a2) -/* 05AE84 7F026354 8FBF0014 */ lw $ra, 0x14($sp) -/* 05AE88 7F026358 27BD0038 */ addiu $sp, $sp, 0x38 -/* 05AE8C 7F02635C 03E00008 */ jr $ra -/* 05AE90 7F026360 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F026364(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F026364 -/* 05AE94 7F026364 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 05AE98 7F026368 AFBF0034 */ sw $ra, 0x34($sp) -/* 05AE9C 7F02636C AFB00030 */ sw $s0, 0x30($sp) -/* 05AEA0 7F026370 AFA5006C */ sw $a1, 0x6c($sp) -/* 05AEA4 7F026374 AFA60070 */ sw $a2, 0x70($sp) -/* 05AEA8 7F026378 AFA70074 */ sw $a3, 0x74($sp) -/* 05AEAC 7F02637C 8C8E0014 */ lw $t6, 0x14($a0) -/* 05AEB0 7F026380 00808025 */ move $s0, $a0 -/* 05AEB4 7F026384 C7AC006C */ lwc1 $f12, 0x6c($sp) -/* 05AEB8 7F026388 AFAE0050 */ sw $t6, 0x50($sp) -/* 05AEBC 7F02638C 8C8F0004 */ lw $t7, 4($a0) -/* 05AEC0 7F026390 0FC15FAB */ jal sinf -/* 05AEC4 7F026394 AFAF004C */ sw $t7, 0x4c($sp) -/* 05AEC8 7F026398 44802000 */ mtc1 $zero, $f4 -/* 05AECC 7F02639C E7A0005C */ swc1 $f0, 0x5c($sp) -/* 05AED0 7F0263A0 C7AC006C */ lwc1 $f12, 0x6c($sp) -/* 05AED4 7F0263A4 0FC15FA8 */ jal cosf -/* 05AED8 7F0263A8 E7A40060 */ swc1 $f4, 0x60($sp) -/* 05AEDC 7F0263AC C7AC0070 */ lwc1 $f12, 0x70($sp) -/* 05AEE0 7F0263B0 C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 05AEE4 7F0263B4 E7A00064 */ swc1 $f0, 0x64($sp) -/* 05AEE8 7F0263B8 C7B00064 */ lwc1 $f16, 0x64($sp) -/* 05AEEC 7F0263BC 460C3202 */ mul.s $f8, $f6, $f12 -/* 05AEF0 7F0263C0 C60A0008 */ lwc1 $f10, 8($s0) -/* 05AEF4 7F0263C4 C6040010 */ lwc1 $f4, 0x10($s0) -/* 05AEF8 7F0263C8 460C8482 */ mul.s $f18, $f16, $f12 -/* 05AEFC 7F0263CC 8FA4004C */ lw $a0, 0x4c($sp) -/* 05AF00 7F0263D0 00002825 */ move $a1, $zero -/* 05AF04 7F0263D4 460A4080 */ add.s $f2, $f8, $f10 -/* 05AF08 7F0263D8 46049380 */ add.s $f14, $f18, $f4 -/* 05AF0C 7F0263DC E7A20058 */ swc1 $f2, 0x58($sp) -/* 05AF10 7F0263E0 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05AF14 7F0263E4 E7AE0054 */ swc1 $f14, 0x54($sp) -/* 05AF18 7F0263E8 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 05AF1C 7F0263EC 00000000 */ nop -/* 05AF20 7F0263F0 8E050008 */ lw $a1, 8($s0) -/* 05AF24 7F0263F4 8E060010 */ lw $a2, 0x10($s0) -/* 05AF28 7F0263F8 C7A20058 */ lwc1 $f2, 0x58($sp) -/* 05AF2C 7F0263FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05AF30 7F026400 C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 05AF34 7F026404 44818000 */ mtc1 $at, $f16 -/* 05AF38 7F026408 8FB80074 */ lw $t8, 0x74($sp) -/* 05AF3C 7F02640C C7A60078 */ lwc1 $f6, 0x78($sp) -/* 05AF40 7F026410 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 05AF44 7F026414 44805000 */ mtc1 $zero, $f10 -/* 05AF48 7F026418 44071000 */ mfc1 $a3, $f2 -/* 05AF4C 7F02641C 27A40050 */ addiu $a0, $sp, 0x50 -/* 05AF50 7F026420 E7AE0010 */ swc1 $f14, 0x10($sp) -/* 05AF54 7F026424 AFB80014 */ sw $t8, 0x14($sp) -/* 05AF58 7F026428 E7B00024 */ swc1 $f16, 0x24($sp) -/* 05AF5C 7F02642C E7A60018 */ swc1 $f6, 0x18($sp) -/* 05AF60 7F026430 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 05AF64 7F026434 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05AF68 7F026438 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 05AF6C 7F02643C 10400003 */ beqz $v0, .L7F02644C -/* 05AF70 7F026440 26040008 */ addiu $a0, $s0, 8 -/* 05AF74 7F026444 10000010 */ b .L7F026488 -/* 05AF78 7F026448 C7A20070 */ lwc1 $f2, 0x70($sp) -.L7F02644C: -/* 05AF7C 7F02644C 27A5005C */ addiu $a1, $sp, 0x5c -/* 05AF80 7F026450 0FC09893 */ jal sub_GAME_7F02624C -/* 05AF84 7F026454 27A6003C */ addiu $a2, $sp, 0x3c -/* 05AF88 7F026458 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 05AF8C 7F02645C C6040008 */ lwc1 $f4, 8($s0) -/* 05AF90 7F026460 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 05AF94 7F026464 C6080010 */ lwc1 $f8, 0x10($s0) -/* 05AF98 7F026468 46049081 */ sub.s $f2, $f18, $f4 -/* 05AF9C 7F02646C 46083381 */ sub.s $f14, $f6, $f8 -/* 05AFA0 7F026470 46021282 */ mul.s $f10, $f2, $f2 -/* 05AFA4 7F026474 00000000 */ nop -/* 05AFA8 7F026478 460E7402 */ mul.s $f16, $f14, $f14 -/* 05AFAC 7F02647C 0C007DF8 */ jal sqrtf -/* 05AFB0 7F026480 46105300 */ add.s $f12, $f10, $f16 -/* 05AFB4 7F026484 46000086 */ mov.s $f2, $f0 -.L7F026488: -/* 05AFB8 7F026488 8FA4004C */ lw $a0, 0x4c($sp) -/* 05AFBC 7F02648C 24050001 */ li $a1, 1 -/* 05AFC0 7F026490 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05AFC4 7F026494 E7A20048 */ swc1 $f2, 0x48($sp) -/* 05AFC8 7F026498 8FBF0034 */ lw $ra, 0x34($sp) -/* 05AFCC 7F02649C C7A20048 */ lwc1 $f2, 0x48($sp) -/* 05AFD0 7F0264A0 8FB00030 */ lw $s0, 0x30($sp) -/* 05AFD4 7F0264A4 27BD0068 */ addiu $sp, $sp, 0x68 -/* 05AFD8 7F0264A8 03E00008 */ jr $ra -/* 05AFDC 7F0264AC 46001006 */ mov.s $f0, $f2 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0264B0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0264B0 -/* 05AFE0 7F0264B0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05AFE4 7F0264B4 AFBF001C */ sw $ra, 0x1c($sp) -/* 05AFE8 7F0264B8 AFA50034 */ sw $a1, 0x34($sp) -/* 05AFEC 7F0264BC AFA60038 */ sw $a2, 0x38($sp) -/* 05AFF0 7F0264C0 AFA40030 */ sw $a0, 0x30($sp) -/* 05AFF4 7F0264C4 27A6002C */ addiu $a2, $sp, 0x2c -/* 05AFF8 7F0264C8 27A50024 */ addiu $a1, $sp, 0x24 -/* 05AFFC 7F0264CC 0FC08C58 */ jal sub_GAME_7F023160 -/* 05B000 7F0264D0 27A70028 */ addiu $a3, $sp, 0x28 -/* 05B004 7F0264D4 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 05B008 7F0264D8 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 05B00C 7F0264DC 8FA40030 */ lw $a0, 0x30($sp) -/* 05B010 7F0264E0 8FA50034 */ lw $a1, 0x34($sp) -/* 05B014 7F0264E4 8FA60038 */ lw $a2, 0x38($sp) -/* 05B018 7F0264E8 2407001F */ li $a3, 31 -/* 05B01C 7F0264EC E7A40010 */ swc1 $f4, 0x10($sp) -/* 05B020 7F0264F0 0FC098D9 */ jal sub_GAME_7F026364 -/* 05B024 7F0264F4 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05B028 7F0264F8 8FBF001C */ lw $ra, 0x1c($sp) -/* 05B02C 7F0264FC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 05B030 7F026500 03E00008 */ jr $ra -/* 05B034 7F026504 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void triggered_on_shot_hit(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DBC -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80051DC0 -.word 0x4096cbe4 /*4.712389*/ -glabel D_80051DC4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051DC8 -.word 0x40490fdb /*3.1415927*/ -glabel D_80051DCC -.word 0x3e32b8c3 /*0.17453294*/ -glabel D_80051DD0 -.word 0x3e32b8c3 /*0.17453294*/ -glabel D_80051DD4 -.word 0x4016cbe4 /*2.3561945*/ -glabel D_80051DD8 -.word 0x407b53d2 /*3.926991*/ -.text -glabel triggered_on_shot_hit -/* 05B038 7F026508 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 05B03C 7F02650C 240E0001 */ li $t6, 1 -/* 05B040 7F026510 AFBF002C */ sw $ra, 0x2c($sp) -/* 05B044 7F026514 AFB00028 */ sw $s0, 0x28($sp) -/* 05B048 7F026518 AFA500A4 */ sw $a1, 0xa4($sp) -/* 05B04C 7F02651C AFAE009C */ sw $t6, 0x9c($sp) -/* 05B050 7F026520 8C820018 */ lw $v0, 0x18($a0) -/* 05B054 7F026524 44866000 */ mtc1 $a2, $f12 -/* 05B058 7F026528 24010006 */ li $at, 6 -/* 05B05C 7F02652C AFA20098 */ sw $v0, 0x98($sp) -/* 05B060 7F026530 8C8F001C */ lw $t7, 0x1c($a0) -/* 05B064 7F026534 AFA00090 */ sw $zero, 0x90($sp) -/* 05B068 7F026538 AFA00088 */ sw $zero, 0x88($sp) -/* 05B06C 7F02653C AFAF0094 */ sw $t7, 0x94($sp) -/* 05B070 7F026540 90580000 */ lbu $t8, ($v0) -/* 05B074 7F026544 00808025 */ move $s0, $a0 -/* 05B078 7F026548 57010009 */ bnel $t8, $at, .L7F026570 -/* 05B07C 7F02654C 82020007 */ lb $v0, 7($s0) -/* 05B080 7F026550 AFA700AC */ sw $a3, 0xac($sp) -/* 05B084 7F026554 0FC26919 */ jal get_num_players -/* 05B088 7F026558 E7AC00A8 */ swc1 $f12, 0xa8($sp) -/* 05B08C 7F02655C 28410002 */ slti $at, $v0, 2 -/* 05B090 7F026560 8FA700AC */ lw $a3, 0xac($sp) -/* 05B094 7F026564 1020026D */ beqz $at, .L7F026F1C -/* 05B098 7F026568 C7AC00A8 */ lwc1 $f12, 0xa8($sp) -/* 05B09C 7F02656C 82020007 */ lb $v0, 7($s0) -.L7F026570: -/* 05B0A0 7F026570 3C098005 */ lui $t1, %hi(global_timer) -/* 05B0A4 7F026574 3C0B8003 */ lui $t3, %hi(D_8002C914) -/* 05B0A8 7F026578 38590006 */ xori $t9, $v0, 6 -/* 05B0AC 7F02657C 2F220001 */ sltiu $v0, $t9, 1 -/* 05B0B0 7F026580 10400005 */ beqz $v0, .L7F026598 -/* 05B0B4 7F026584 3C0C8003 */ lui $t4, %hi(D_8002C914) -/* 05B0B8 7F026588 8D29837C */ lw $t1, %lo(global_timer)($t1) -/* 05B0BC 7F02658C 8E0A0030 */ lw $t2, 0x30($s0) -/* 05B0C0 7F026590 012A1026 */ xor $v0, $t1, $t2 -/* 05B0C4 7F026594 2C420001 */ sltiu $v0, $v0, 1 -.L7F026598: -/* 05B0C8 7F026598 8D6BC914 */ lw $t3, %lo(D_8002C914)($t3) -/* 05B0CC 7F02659C 2405FFFF */ li $a1, -1 -/* 05B0D0 7F0265A0 AFA20084 */ sw $v0, 0x84($sp) -/* 05B0D4 7F0265A4 10AB000C */ beq $a1, $t3, .L7F0265D8 -/* 05B0D8 7F0265A8 00002025 */ move $a0, $zero -/* 05B0DC 7F0265AC 2582C914 */ addiu $v0, $t4, %lo(D_8002C914) -/* 05B0E0 7F0265B0 8C430000 */ lw $v1, ($v0) -.L7F0265B4: -/* 05B0E4 7F0265B4 54E30004 */ bnel $a3, $v1, .L7F0265C8 -/* 05B0E8 7F0265B8 8C43002C */ lw $v1, 0x2c($v0) -/* 05B0EC 7F0265BC 10000006 */ b .L7F0265D8 -/* 05B0F0 7F0265C0 AFA40088 */ sw $a0, 0x88($sp) -/* 05B0F4 7F0265C4 8C43002C */ lw $v1, 0x2c($v0) -.L7F0265C8: -/* 05B0F8 7F0265C8 24840001 */ addiu $a0, $a0, 1 -/* 05B0FC 7F0265CC 2442002C */ addiu $v0, $v0, 0x2c -/* 05B100 7F0265D0 14A3FFF8 */ bne $a1, $v1, .L7F0265B4 -/* 05B104 7F0265D4 00000000 */ nop -.L7F0265D8: -/* 05B108 7F0265D8 C60400FC */ lwc1 $f4, 0xfc($s0) -/* 05B10C 7F0265DC C6060100 */ lwc1 $f6, 0x100($s0) -/* 05B110 7F0265E0 24010007 */ li $at, 7 -/* 05B114 7F0265E4 4604303E */ c.le.s $f6, $f4 -/* 05B118 7F0265E8 00000000 */ nop -/* 05B11C 7F0265EC 45000115 */ bc1f .L7F026A44 -/* 05B120 7F0265F0 00000000 */ nop -/* 05B124 7F0265F4 3C018005 */ lui $at, %hi(D_80051DBC) -/* 05B128 7F0265F8 C4281DBC */ lwc1 $f8, %lo(D_80051DBC)($at) -/* 05B12C 7F0265FC 3C018005 */ lui $at, %hi(D_80051DC0) -/* 05B130 7F026600 4608603C */ c.lt.s $f12, $f8 -/* 05B134 7F026604 00000000 */ nop -/* 05B138 7F026608 45010006 */ bc1t .L7F026624 -/* 05B13C 7F02660C 00000000 */ nop -/* 05B140 7F026610 C42A1DC0 */ lwc1 $f10, %lo(D_80051DC0)($at) -/* 05B144 7F026614 460C503C */ c.lt.s $f10, $f12 -/* 05B148 7F026618 00000000 */ nop -/* 05B14C 7F02661C 45020075 */ bc1fl .L7F0267F4 -/* 05B150 7F026620 8FAC0090 */ lw $t4, 0x90($sp) -.L7F026624: -/* 05B154 7F026624 0C002914 */ jal get_random_value -/* 05B158 7F026628 00000000 */ nop -/* 05B15C 7F02662C 24010014 */ li $at, 20 -/* 05B160 7F026630 0041001B */ divu $zero, $v0, $at -/* 05B164 7F026634 00006810 */ mfhi $t5 -/* 05B168 7F026638 55A0006E */ bnezl $t5, .L7F0267F4 -/* 05B16C 7F02663C 8FAC0090 */ lw $t4, 0x90($sp) -/* 05B170 7F026640 0FC1B320 */ jal getsubroty -/* 05B174 7F026644 8FA40094 */ lw $a0, 0x94($sp) -/* 05B178 7F026648 3C018005 */ lui $at, %hi(D_80051DC4) -/* 05B17C 7F02664C C4321DC4 */ lwc1 $f18, %lo(D_80051DC4)($at) -/* 05B180 7F026650 3C018005 */ lui $at, %hi(D_80051DC8) -/* 05B184 7F026654 C4241DC8 */ lwc1 $f4, %lo(D_80051DC8)($at) -/* 05B188 7F026658 3C018005 */ lui $at, %hi(D_80051DCC) -/* 05B18C 7F02665C C4261DCC */ lwc1 $f6, %lo(D_80051DCC)($at) -/* 05B190 7F026660 46040080 */ add.s $f2, $f0, $f4 -/* 05B194 7F026664 3C018005 */ lui $at, %hi(D_80051DD0) -/* 05B198 7F026668 C4281DD0 */ lwc1 $f8, %lo(D_80051DD0)($at) -/* 05B19C 7F02666C 3C064316 */ lui $a2, 0x4316 -/* 05B1A0 7F026670 46061300 */ add.s $f12, $f2, $f6 -/* 05B1A4 7F026674 46081381 */ sub.s $f14, $f2, $f8 -/* 05B1A8 7F026678 46006406 */ mov.s $f16, $f12 -/* 05B1AC 7F02667C 460C903E */ c.le.s $f18, $f12 -/* 05B1B0 7F026680 E7AE0070 */ swc1 $f14, 0x70($sp) -/* 05B1B4 7F026684 45020003 */ bc1fl .L7F026694 -/* 05B1B8 7F026688 460E903E */ c.le.s $f18, $f14 -/* 05B1BC 7F02668C 46126401 */ sub.s $f16, $f12, $f18 -/* 05B1C0 7F026690 460E903E */ c.le.s $f18, $f14 -.L7F026694: -/* 05B1C4 7F026694 44058000 */ mfc1 $a1, $f16 -/* 05B1C8 7F026698 45000003 */ bc1f .L7F0266A8 -/* 05B1CC 7F02669C 00000000 */ nop -/* 05B1D0 7F0266A0 46127281 */ sub.s $f10, $f14, $f18 -/* 05B1D4 7F0266A4 E7AA0070 */ swc1 $f10, 0x70($sp) -.L7F0266A8: -/* 05B1D8 7F0266A8 0FC0992C */ jal sub_GAME_7F0264B0 -/* 05B1DC 7F0266AC 8FA40098 */ lw $a0, 0x98($sp) -/* 05B1E0 7F0266B0 8FA40098 */ lw $a0, 0x98($sp) -/* 05B1E4 7F0266B4 8FA50070 */ lw $a1, 0x70($sp) -/* 05B1E8 7F0266B8 3C064316 */ lui $a2, 0x4316 -/* 05B1EC 7F0266BC 0FC0992C */ jal sub_GAME_7F0264B0 -/* 05B1F0 7F0266C0 E7A0006C */ swc1 $f0, 0x6c($sp) -/* 05B1F4 7F0266C4 3C014316 */ li $at, 0x43160000 # 150.000000 -/* 05B1F8 7F0266C8 44816000 */ mtc1 $at, $f12 -/* 05B1FC 7F0266CC C7A2006C */ lwc1 $f2, 0x6c($sp) -/* 05B200 7F0266D0 460C103C */ c.lt.s $f2, $f12 -/* 05B204 7F0266D4 00000000 */ nop -/* 05B208 7F0266D8 45020046 */ bc1fl .L7F0267F4 -/* 05B20C 7F0266DC 8FAC0090 */ lw $t4, 0x90($sp) -/* 05B210 7F0266E0 460C003C */ c.lt.s $f0, $f12 -/* 05B214 7F0266E4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 05B218 7F0266E8 45020042 */ bc1fl .L7F0267F4 -/* 05B21C 7F0266EC 8FAC0090 */ lw $t4, 0x90($sp) -/* 05B220 7F0266F0 46001301 */ sub.s $f12, $f2, $f0 -/* 05B224 7F0266F4 44812000 */ mtc1 $at, $f4 -/* 05B228 7F0266F8 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 05B22C 7F0266FC 4604603C */ c.lt.s $f12, $f4 -/* 05B230 7F026700 00000000 */ nop -/* 05B234 7F026704 4502003B */ bc1fl .L7F0267F4 -/* 05B238 7F026708 8FAC0090 */ lw $t4, 0x90($sp) -/* 05B23C 7F02670C 44813000 */ mtc1 $at, $f6 -/* 05B240 7F026710 00000000 */ nop -/* 05B244 7F026714 460C303C */ c.lt.s $f6, $f12 -/* 05B248 7F026718 00000000 */ nop -/* 05B24C 7F02671C 45020035 */ bc1fl .L7F0267F4 -/* 05B250 7F026720 8FAC0090 */ lw $t4, 0x90($sp) -/* 05B254 7F026724 0C002914 */ jal get_random_value -/* 05B258 7F026728 00000000 */ nop -/* 05B25C 7F02672C 304E0001 */ andi $t6, $v0, 1 -/* 05B260 7F026730 000E78C0 */ sll $t7, $t6, 3 -/* 05B264 7F026734 01EE7823 */ subu $t7, $t7, $t6 -/* 05B268 7F026738 3C188003 */ lui $t8, %hi(D_8002DEBC) -/* 05B26C 7F02673C 2718DEBC */ addiu $t8, %lo(D_8002DEBC) # addiu $t8, $t8, -0x2144 -/* 05B270 7F026740 000F7880 */ sll $t7, $t7, 2 -/* 05B274 7F026744 01F81821 */ addu $v1, $t7, $t8 -/* 05B278 7F026748 AFA30064 */ sw $v1, 0x64($sp) -/* 05B27C 7F02674C 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05B280 7F026750 02002025 */ move $a0, $s0 -/* 05B284 7F026754 8FA30064 */ lw $v1, 0x64($sp) -/* 05B288 7F026758 24190004 */ li $t9, 4 -/* 05B28C 7F02675C A2190007 */ sb $t9, 7($s0) -/* 05B290 7F026760 AE00002C */ sw $zero, 0x2c($s0) -/* 05B294 7F026764 C4680014 */ lwc1 $f8, 0x14($v1) -/* 05B298 7F026768 44800000 */ mtc1 $zero, $f0 -/* 05B29C 7F02676C 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05B2A0 7F026770 E6080030 */ swc1 $f8, 0x30($s0) -/* 05B2A4 7F026774 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 05B2A8 7F026778 A2000008 */ sb $zero, 8($s0) -/* 05B2AC 7F02677C E6000038 */ swc1 $f0, 0x38($s0) -/* 05B2B0 7F026780 E60A0034 */ swc1 $f10, 0x34($s0) -/* 05B2B4 7F026784 8FA90084 */ lw $t1, 0x84($sp) -/* 05B2B8 7F026788 44813000 */ mtc1 $at, $f6 -/* 05B2BC 7F02678C C464000C */ lwc1 $f4, 0xc($v1) -/* 05B2C0 7F026790 8C660004 */ lw $a2, 4($v1) -/* 05B2C4 7F026794 8C650000 */ lw $a1, ($v1) -/* 05B2C8 7F026798 44070000 */ mfc1 $a3, $f0 -/* 05B2CC 7F02679C 2D2A0001 */ sltiu $t2, $t1, 1 -/* 05B2D0 7F0267A0 AFAA0018 */ sw $t2, 0x18($sp) -/* 05B2D4 7F0267A4 8FA40094 */ lw $a0, 0x94($sp) -/* 05B2D8 7F0267A8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05B2DC 7F0267AC 0FC1BF13 */ jal sub_GAME_7F06FC4C -/* 05B2E0 7F0267B0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05B2E4 7F0267B4 8FA30064 */ lw $v1, 0x64($sp) -/* 05B2E8 7F0267B8 44804000 */ mtc1 $zero, $f8 -/* 05B2EC 7F0267BC C4600008 */ lwc1 $f0, 8($v1) -/* 05B2F0 7F0267C0 4600403E */ c.le.s $f8, $f0 -/* 05B2F4 7F0267C4 00000000 */ nop -/* 05B2F8 7F0267C8 45020005 */ bc1fl .L7F0267E0 -/* 05B2FC 7F0267CC 3C014120 */ lui $at, 0x4120 -/* 05B300 7F0267D0 44050000 */ mfc1 $a1, $f0 -/* 05B304 7F0267D4 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B308 7F0267D8 8FA40094 */ lw $a0, 0x94($sp) -/* 05B30C 7F0267DC 3C014120 */ li $at, 0x41200000 # 10.000000 -.L7F0267E0: -/* 05B310 7F0267E0 44815000 */ mtc1 $at, $f10 -/* 05B314 7F0267E4 240B0001 */ li $t3, 1 -/* 05B318 7F0267E8 E60A0024 */ swc1 $f10, 0x24($s0) -/* 05B31C 7F0267EC AFAB0090 */ sw $t3, 0x90($sp) -/* 05B320 7F0267F0 8FAC0090 */ lw $t4, 0x90($sp) -.L7F0267F4: -/* 05B324 7F0267F4 8FAD0088 */ lw $t5, 0x88($sp) -/* 05B328 7F0267F8 3C0F8003 */ lui $t7, %hi(D_8002C914) -/* 05B32C 7F0267FC 15800085 */ bnez $t4, .L7F026A14 -/* 05B330 7F026800 000D7080 */ sll $t6, $t5, 2 -/* 05B334 7F026804 01CD7023 */ subu $t6, $t6, $t5 -/* 05B338 7F026808 000E7080 */ sll $t6, $t6, 2 -/* 05B33C 7F02680C 01CD7023 */ subu $t6, $t6, $t5 -/* 05B340 7F026810 000E7080 */ sll $t6, $t6, 2 -/* 05B344 7F026814 25EFC914 */ addiu $t7, %lo(D_8002C914) # addiu $t7, $t7, -0x36ec -/* 05B348 7F026818 01CF3021 */ addu $a2, $t6, $t7 -/* 05B34C 7F02681C 8CD8001C */ lw $t8, 0x1c($a2) -/* 05B350 7F026820 1300007C */ beqz $t8, .L7F026A14 -/* 05B354 7F026824 00000000 */ nop -/* 05B358 7F026828 8CD90020 */ lw $t9, 0x20($a2) -/* 05B35C 7F02682C 8FA90084 */ lw $t1, 0x84($sp) -/* 05B360 7F026830 240B0001 */ li $t3, 1 -/* 05B364 7F026834 1B200077 */ blez $t9, .L7F026A14 -/* 05B368 7F026838 2D2A0001 */ sltiu $t2, $t1, 1 -/* 05B36C 7F02683C AFAA0034 */ sw $t2, 0x34($sp) -/* 05B370 7F026840 AFAB0090 */ sw $t3, 0x90($sp) -/* 05B374 7F026844 0C002914 */ jal get_random_value -/* 05B378 7F026848 AFA60030 */ sw $a2, 0x30($sp) -/* 05B37C 7F02684C 8FA60030 */ lw $a2, 0x30($sp) -/* 05B380 7F026850 02002025 */ move $a0, $s0 -/* 05B384 7F026854 8CCC0020 */ lw $t4, 0x20($a2) -/* 05B388 7F026858 8CCD001C */ lw $t5, 0x1c($a2) -/* 05B38C 7F02685C 004C001B */ divu $zero, $v0, $t4 -/* 05B390 7F026860 00001810 */ mfhi $v1 -/* 05B394 7F026864 000370C0 */ sll $t6, $v1, 3 -/* 05B398 7F026868 01C37023 */ subu $t6, $t6, $v1 -/* 05B39C 7F02686C 000E7080 */ sll $t6, $t6, 2 -/* 05B3A0 7F026870 15800002 */ bnez $t4, .L7F02687C -/* 05B3A4 7F026874 00000000 */ nop -/* 05B3A8 7F026878 0007000D */ break 7 -.L7F02687C: -/* 05B3AC 7F02687C 01AE4021 */ addu $t0, $t5, $t6 -/* 05B3B0 7F026880 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05B3B4 7F026884 AFA8005C */ sw $t0, 0x5c($sp) -/* 05B3B8 7F026888 8FA8005C */ lw $t0, 0x5c($sp) -/* 05B3BC 7F02688C 240F0004 */ li $t7, 4 -/* 05B3C0 7F026890 A20F0007 */ sb $t7, 7($s0) -/* 05B3C4 7F026894 AE00002C */ sw $zero, 0x2c($s0) -/* 05B3C8 7F026898 C5040014 */ lwc1 $f4, 0x14($t0) -/* 05B3CC 7F02689C 44800000 */ mtc1 $zero, $f0 -/* 05B3D0 7F0268A0 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05B3D4 7F0268A4 E6040030 */ swc1 $f4, 0x30($s0) -/* 05B3D8 7F0268A8 C5060018 */ lwc1 $f6, 0x18($t0) -/* 05B3DC 7F0268AC A2000008 */ sb $zero, 8($s0) -/* 05B3E0 7F0268B0 E6000038 */ swc1 $f0, 0x38($s0) -/* 05B3E4 7F0268B4 E6060034 */ swc1 $f6, 0x34($s0) -/* 05B3E8 7F0268B8 8FB80034 */ lw $t8, 0x34($sp) -/* 05B3EC 7F0268BC 44815000 */ mtc1 $at, $f10 -/* 05B3F0 7F0268C0 C508000C */ lwc1 $f8, 0xc($t0) -/* 05B3F4 7F0268C4 8D060004 */ lw $a2, 4($t0) -/* 05B3F8 7F0268C8 8D050000 */ lw $a1, ($t0) -/* 05B3FC 7F0268CC 44070000 */ mfc1 $a3, $f0 -/* 05B400 7F0268D0 8FA40094 */ lw $a0, 0x94($sp) -/* 05B404 7F0268D4 AFB80018 */ sw $t8, 0x18($sp) -/* 05B408 7F0268D8 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 05B40C 7F0268DC 0FC1BF13 */ jal sub_GAME_7F06FC4C -/* 05B410 7F0268E0 E7A80010 */ swc1 $f8, 0x10($sp) -/* 05B414 7F0268E4 8FA8005C */ lw $t0, 0x5c($sp) -/* 05B418 7F0268E8 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 05B41C 7F0268EC 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 05B420 7F0268F0 8D0B0000 */ lw $t3, ($t0) -/* 05B424 7F0268F4 3C090000 */ lui $t1, %hi(0x00002E64) # $t1, 0 -/* 05B428 7F0268F8 25292E64 */ addiu $t1, %lo(0x00002E64) # addiu $t1, $t1, 0x2e64 -/* 05B42C 7F0268FC 03295021 */ addu $t2, $t9, $t1 -/* 05B430 7F026900 554B000F */ bnel $t2, $t3, .L7F026940 -/* 05B434 7F026904 C5000008 */ lwc1 $f0, 8($t0) -/* 05B438 7F026908 0C002914 */ jal get_random_value -/* 05B43C 7F02690C AFA8005C */ sw $t0, 0x5c($sp) -/* 05B440 7F026910 24010064 */ li $at, 100 -/* 05B444 7F026914 0041001B */ divu $zero, $v0, $at -/* 05B448 7F026918 00006010 */ mfhi $t4 -/* 05B44C 7F02691C 8FA8005C */ lw $t0, 0x5c($sp) -/* 05B450 7F026920 11800006 */ beqz $t4, .L7F02693C -/* 05B454 7F026924 8FA40094 */ lw $a0, 0x94($sp) -/* 05B458 7F026928 3C054371 */ lui $a1, 0x4371 -/* 05B45C 7F02692C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B460 7F026930 AFA8005C */ sw $t0, 0x5c($sp) -/* 05B464 7F026934 1000000C */ b .L7F026968 -/* 05B468 7F026938 8FA8005C */ lw $t0, 0x5c($sp) -.L7F02693C: -/* 05B46C 7F02693C C5000008 */ lwc1 $f0, 8($t0) -.L7F026940: -/* 05B470 7F026940 44802000 */ mtc1 $zero, $f4 -/* 05B474 7F026944 8FA40094 */ lw $a0, 0x94($sp) -/* 05B478 7F026948 4600203E */ c.le.s $f4, $f0 -/* 05B47C 7F02694C 00000000 */ nop -/* 05B480 7F026950 45020006 */ bc1fl .L7F02696C -/* 05B484 7F026954 8FA400B0 */ lw $a0, 0xb0($sp) -/* 05B488 7F026958 44050000 */ mfc1 $a1, $f0 -/* 05B48C 7F02695C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B490 7F026960 AFA8005C */ sw $t0, 0x5c($sp) -/* 05B494 7F026964 8FA8005C */ lw $t0, 0x5c($sp) -.L7F026968: -/* 05B498 7F026968 8FA400B0 */ lw $a0, 0xb0($sp) -.L7F02696C: -/* 05B49C 7F02696C 0FC177EA */ jal sub_GAME_7F05DFA8 -/* 05B4A0 7F026970 AFA8005C */ sw $t0, 0x5c($sp) -/* 05B4A4 7F026974 44806000 */ mtc1 $zero, $f12 -/* 05B4A8 7F026978 8FA8005C */ lw $t0, 0x5c($sp) -/* 05B4AC 7F02697C 46000086 */ mov.s $f2, $f0 -/* 05B4B0 7F026980 460C003E */ c.le.s $f0, $f12 -/* 05B4B4 7F026984 00000000 */ nop -/* 05B4B8 7F026988 45020009 */ bc1fl .L7F0269B0 -/* 05B4BC 7F02698C 8D0F0010 */ lw $t7, 0x10($t0) -/* 05B4C0 7F026990 8E0D0014 */ lw $t5, 0x14($s0) -/* 05B4C4 7F026994 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 05B4C8 7F026998 31AE8000 */ andi $t6, $t5, 0x8000 -/* 05B4CC 7F02699C 51C00004 */ beql $t6, $zero, .L7F0269B0 -/* 05B4D0 7F0269A0 8D0F0010 */ lw $t7, 0x10($t0) -/* 05B4D4 7F0269A4 44811000 */ mtc1 $at, $f2 -/* 05B4D8 7F0269A8 00000000 */ nop -/* 05B4DC 7F0269AC 8D0F0010 */ lw $t7, 0x10($t0) -.L7F0269B0: -/* 05B4E0 7F0269B0 11E00018 */ beqz $t7, .L7F026A14 -/* 05B4E4 7F0269B4 00000000 */ nop -/* 05B4E8 7F0269B8 4602603C */ c.lt.s $f12, $f2 -/* 05B4EC 7F0269BC 3C0142B4 */ li $at, 0x42B40000 # 90.000000 -/* 05B4F0 7F0269C0 45000014 */ bc1f .L7F026A14 -/* 05B4F4 7F0269C4 00000000 */ nop -/* 05B4F8 7F0269C8 44813000 */ mtc1 $at, $f6 -/* 05B4FC 7F0269CC 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 05B500 7F0269D0 44815000 */ mtc1 $at, $f10 -/* 05B504 7F0269D4 46061202 */ mul.s $f8, $f2, $f6 -/* 05B508 7F0269D8 E60C003C */ swc1 $f12, 0x3c($s0) -/* 05B50C 7F0269DC 460A4103 */ div.s $f4, $f8, $f10 -/* 05B510 7F0269E0 E6040038 */ swc1 $f4, 0x38($s0) -/* 05B514 7F0269E4 8FB800A4 */ lw $t8, 0xa4($sp) -/* 05B518 7F0269E8 C7060000 */ lwc1 $f6, ($t8) -/* 05B51C 7F0269EC 46023202 */ mul.s $f8, $f6, $f2 -/* 05B520 7F0269F0 E6080040 */ swc1 $f8, 0x40($s0) -/* 05B524 7F0269F4 8FB900A4 */ lw $t9, 0xa4($sp) -/* 05B528 7F0269F8 C72A0004 */ lwc1 $f10, 4($t9) -/* 05B52C 7F0269FC 46025102 */ mul.s $f4, $f10, $f2 -/* 05B530 7F026A00 E6040044 */ swc1 $f4, 0x44($s0) -/* 05B534 7F026A04 8FA900A4 */ lw $t1, 0xa4($sp) -/* 05B538 7F026A08 C5260008 */ lwc1 $f6, 8($t1) -/* 05B53C 7F026A0C 46023202 */ mul.s $f8, $f6, $f2 -/* 05B540 7F026A10 E6080048 */ swc1 $f8, 0x48($s0) -.L7F026A14: -/* 05B544 7F026A14 0FC086C8 */ jal sub_GAME_7F021B20 -/* 05B548 7F026A18 02002025 */ move $a0, $s0 -/* 05B54C 7F026A1C 0FC1A9E0 */ jal increment_num_kills_display_text_in_MP -/* 05B550 7F026A20 00000000 */ nop -/* 05B554 7F026A24 8E0A0014 */ lw $t2, 0x14($s0) -/* 05B558 7F026A28 000A5AC0 */ sll $t3, $t2, 0xb -/* 05B55C 7F026A2C 0563011C */ bgezl $t3, .L7F026EA0 -/* 05B560 7F026A30 8FAC009C */ lw $t4, 0x9c($sp) -/* 05B564 7F026A34 0FC1A9D6 */ jal inc_cur_civilian_casualties -/* 05B568 7F026A38 00000000 */ nop -/* 05B56C 7F026A3C 10000118 */ b .L7F026EA0 -/* 05B570 7F026A40 8FAC009C */ lw $t4, 0x9c($sp) -.L7F026A44: -/* 05B574 7F026A44 14E100A0 */ bne $a3, $at, .L7F026CC8 -/* 05B578 7F026A48 3C018005 */ lui $at, %hi(D_80051DD4) -/* 05B57C 7F026A4C C42A1DD4 */ lwc1 $f10, %lo(D_80051DD4)($at) -/* 05B580 7F026A50 3C018005 */ lui $at, %hi(D_80051DD8) -/* 05B584 7F026A54 460C503C */ c.lt.s $f10, $f12 -/* 05B588 7F026A58 00000000 */ nop -/* 05B58C 7F026A5C 4502009B */ bc1fl .L7F026CCC -/* 05B590 7F026A60 8FB80090 */ lw $t8, 0x90($sp) -/* 05B594 7F026A64 C4241DD8 */ lwc1 $f4, %lo(D_80051DD8)($at) -/* 05B598 7F026A68 4604603C */ c.lt.s $f12, $f4 -/* 05B59C 7F026A6C 00000000 */ nop -/* 05B5A0 7F026A70 45020096 */ bc1fl .L7F026CCC -/* 05B5A4 7F026A74 8FB80090 */ lw $t8, 0x90($sp) -/* 05B5A8 7F026A78 0C002914 */ jal get_random_value -/* 05B5AC 7F026A7C 00000000 */ nop -/* 05B5B0 7F026A80 24010005 */ li $at, 5 -/* 05B5B4 7F026A84 0041001B */ divu $zero, $v0, $at -/* 05B5B8 7F026A88 00006010 */ mfhi $t4 -/* 05B5BC 7F026A8C 2D810002 */ sltiu $at, $t4, 2 -/* 05B5C0 7F026A90 5020008E */ beql $at, $zero, .L7F026CCC -/* 05B5C4 7F026A94 8FB80090 */ lw $t8, 0x90($sp) -/* 05B5C8 7F026A98 0C002914 */ jal get_random_value -/* 05B5CC 7F026A9C 00000000 */ nop -/* 05B5D0 7F026AA0 24010005 */ li $at, 5 -/* 05B5D4 7F026AA4 0041001B */ divu $zero, $v0, $at -/* 05B5D8 7F026AA8 00006810 */ mfhi $t5 -/* 05B5DC 7F026AAC AFAD0054 */ sw $t5, 0x54($sp) -/* 05B5E0 7F026AB0 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05B5E4 7F026AB4 02002025 */ move $a0, $s0 -/* 05B5E8 7F026AB8 240E0006 */ li $t6, 6 -/* 05B5EC 7F026ABC A20E0007 */ sb $t6, 7($s0) -/* 05B5F0 7F026AC0 AE00002C */ sw $zero, 0x2c($s0) -/* 05B5F4 7F026AC4 3C0F8005 */ lui $t7, %hi(global_timer) -/* 05B5F8 7F026AC8 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 05B5FC 7F026ACC A2000008 */ sb $zero, 8($s0) -/* 05B600 7F026AD0 0C002914 */ jal get_random_value -/* 05B604 7F026AD4 AE0F0030 */ sw $t7, 0x30($s0) -/* 05B608 7F026AD8 30580001 */ andi $t8, $v0, 1 -/* 05B60C 7F026ADC 1300003D */ beqz $t8, .L7F026BD4 -/* 05B610 7F026AE0 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 05B614 7F026AE4 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 05B618 7F026AE8 3C090000 */ lui $t1, %hi(0x00004CE0) # $t1, 0 -/* 05B61C 7F026AEC 25294CE0 */ addiu $t1, %lo(0x00004CE0) # addiu $t1, $t1, 0x4ce0 -/* 05B620 7F026AF0 03295021 */ addu $t2, $t9, $t1 -/* 05B624 7F026AF4 0C002914 */ jal get_random_value -/* 05B628 7F026AF8 AFAA0080 */ sw $t2, 0x80($sp) -/* 05B62C 7F026AFC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05B630 7F026B00 44813000 */ mtc1 $at, $f6 -/* 05B634 7F026B04 8FAB0084 */ lw $t3, 0x84($sp) -/* 05B638 7F026B08 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05B63C 7F026B0C 44814000 */ mtc1 $at, $f8 -/* 05B640 7F026B10 2D6C0001 */ sltiu $t4, $t3, 1 -/* 05B644 7F026B14 AFAC0018 */ sw $t4, 0x18($sp) -/* 05B648 7F026B18 8FA40094 */ lw $a0, 0x94($sp) -/* 05B64C 7F026B1C 8FA50080 */ lw $a1, 0x80($sp) -/* 05B650 7F026B20 30460001 */ andi $a2, $v0, 1 -/* 05B654 7F026B24 3C074120 */ lui $a3, 0x4120 -/* 05B658 7F026B28 E7A60010 */ swc1 $f6, 0x10($sp) -/* 05B65C 7F026B2C 0FC1BF13 */ jal sub_GAME_7F06FC4C -/* 05B660 7F026B30 E7A80014 */ swc1 $f8, 0x14($sp) -/* 05B664 7F026B34 8FA20054 */ lw $v0, 0x54($sp) -/* 05B668 7F026B38 02002025 */ move $a0, $s0 -/* 05B66C 7F026B3C 3C054208 */ lui $a1, 0x4208 -/* 05B670 7F026B40 2C410002 */ sltiu $at, $v0, 2 -/* 05B674 7F026B44 50200009 */ beql $at, $zero, .L7F026B6C -/* 05B678 7F026B48 2C410004 */ sltiu $at, $v0, 4 -/* 05B67C 7F026B4C 0FC08F15 */ jal sub_GAME_7F023C54 -/* 05B680 7F026B50 3C064100 */ lui $a2, 0x4100 -/* 05B684 7F026B54 44050000 */ mfc1 $a1, $f0 -/* 05B688 7F026B58 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B68C 7F026B5C 8FA40094 */ lw $a0, 0x94($sp) -/* 05B690 7F026B60 10000058 */ b .L7F026CC4 -/* 05B694 7F026B64 240F0001 */ li $t7, 1 -/* 05B698 7F026B68 2C410004 */ sltiu $at, $v0, 4 -.L7F026B6C: -/* 05B69C 7F026B6C 1020000A */ beqz $at, .L7F026B98 -/* 05B6A0 7F026B70 8FAD0080 */ lw $t5, 0x80($sp) -/* 05B6A4 7F026B74 02002025 */ move $a0, $s0 -/* 05B6A8 7F026B78 3C05428E */ lui $a1, 0x428e -/* 05B6AC 7F026B7C 0FC08F15 */ jal sub_GAME_7F023C54 -/* 05B6B0 7F026B80 3C064100 */ lui $a2, 0x4100 -/* 05B6B4 7F026B84 44050000 */ mfc1 $a1, $f0 -/* 05B6B8 7F026B88 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B6BC 7F026B8C 8FA40094 */ lw $a0, 0x94($sp) -/* 05B6C0 7F026B90 1000004C */ b .L7F026CC4 -/* 05B6C4 7F026B94 240F0001 */ li $t7, 1 -.L7F026B98: -/* 05B6C8 7F026B98 95AE0004 */ lhu $t6, 4($t5) -/* 05B6CC 7F026B9C 02002025 */ move $a0, $s0 -/* 05B6D0 7F026BA0 3C064100 */ lui $a2, 0x4100 -/* 05B6D4 7F026BA4 25CFFFFF */ addiu $t7, $t6, -1 -/* 05B6D8 7F026BA8 448F5000 */ mtc1 $t7, $f10 -/* 05B6DC 7F026BAC 00000000 */ nop -/* 05B6E0 7F026BB0 468052A0 */ cvt.s.w $f10, $f10 -/* 05B6E4 7F026BB4 44055000 */ mfc1 $a1, $f10 -/* 05B6E8 7F026BB8 0FC08F15 */ jal sub_GAME_7F023C54 -/* 05B6EC 7F026BBC 00000000 */ nop -/* 05B6F0 7F026BC0 44050000 */ mfc1 $a1, $f0 -/* 05B6F4 7F026BC4 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B6F8 7F026BC8 8FA40094 */ lw $a0, 0x94($sp) -/* 05B6FC 7F026BCC 1000003D */ b .L7F026CC4 -/* 05B700 7F026BD0 240F0001 */ li $t7, 1 -.L7F026BD4: -/* 05B704 7F026BD4 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 05B708 7F026BD8 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 05B70C 7F026BDC 3C190000 */ lui $t9, %hi(0x00004F14) # $t9, 0 -/* 05B710 7F026BE0 27394F14 */ addiu $t9, %lo(0x00004F14) # addiu $t9, $t9, 0x4f14 -/* 05B714 7F026BE4 03194821 */ addu $t1, $t8, $t9 -/* 05B718 7F026BE8 0C002914 */ jal get_random_value -/* 05B71C 7F026BEC AFA90080 */ sw $t1, 0x80($sp) -/* 05B720 7F026BF0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05B724 7F026BF4 44812000 */ mtc1 $at, $f4 -/* 05B728 7F026BF8 8FAA0084 */ lw $t2, 0x84($sp) -/* 05B72C 7F026BFC 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05B730 7F026C00 44813000 */ mtc1 $at, $f6 -/* 05B734 7F026C04 2D4B0001 */ sltiu $t3, $t2, 1 -/* 05B738 7F026C08 AFAB0018 */ sw $t3, 0x18($sp) -/* 05B73C 7F026C0C 8FA40094 */ lw $a0, 0x94($sp) -/* 05B740 7F026C10 8FA50080 */ lw $a1, 0x80($sp) -/* 05B744 7F026C14 30460001 */ andi $a2, $v0, 1 -/* 05B748 7F026C18 24070000 */ li $a3, 0 -/* 05B74C 7F026C1C E7A40010 */ swc1 $f4, 0x10($sp) -/* 05B750 7F026C20 0FC1BF13 */ jal sub_GAME_7F06FC4C -/* 05B754 7F026C24 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05B758 7F026C28 8FA20054 */ lw $v0, 0x54($sp) -/* 05B75C 7F026C2C 02002025 */ move $a0, $s0 -/* 05B760 7F026C30 3C054214 */ lui $a1, 0x4214 -/* 05B764 7F026C34 2C410002 */ sltiu $at, $v0, 2 -/* 05B768 7F026C38 50200009 */ beql $at, $zero, .L7F026C60 -/* 05B76C 7F026C3C 2C410004 */ sltiu $at, $v0, 4 -/* 05B770 7F026C40 0FC08F15 */ jal sub_GAME_7F023C54 -/* 05B774 7F026C44 3C064100 */ lui $a2, 0x4100 -/* 05B778 7F026C48 44050000 */ mfc1 $a1, $f0 -/* 05B77C 7F026C4C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B780 7F026C50 8FA40094 */ lw $a0, 0x94($sp) -/* 05B784 7F026C54 1000001B */ b .L7F026CC4 -/* 05B788 7F026C58 240F0001 */ li $t7, 1 -/* 05B78C 7F026C5C 2C410004 */ sltiu $at, $v0, 4 -.L7F026C60: -/* 05B790 7F026C60 1020000A */ beqz $at, .L7F026C8C -/* 05B794 7F026C64 8FAC0080 */ lw $t4, 0x80($sp) -/* 05B798 7F026C68 02002025 */ move $a0, $s0 -/* 05B79C 7F026C6C 3C05428C */ lui $a1, 0x428c -/* 05B7A0 7F026C70 0FC08F15 */ jal sub_GAME_7F023C54 -/* 05B7A4 7F026C74 3C064100 */ lui $a2, 0x4100 -/* 05B7A8 7F026C78 44050000 */ mfc1 $a1, $f0 -/* 05B7AC 7F026C7C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B7B0 7F026C80 8FA40094 */ lw $a0, 0x94($sp) -/* 05B7B4 7F026C84 1000000F */ b .L7F026CC4 -/* 05B7B8 7F026C88 240F0001 */ li $t7, 1 -.L7F026C8C: -/* 05B7BC 7F026C8C 958D0004 */ lhu $t5, 4($t4) -/* 05B7C0 7F026C90 02002025 */ move $a0, $s0 -/* 05B7C4 7F026C94 3C064100 */ lui $a2, 0x4100 -/* 05B7C8 7F026C98 25AEFFFF */ addiu $t6, $t5, -1 -/* 05B7CC 7F026C9C 448E4000 */ mtc1 $t6, $f8 -/* 05B7D0 7F026CA0 00000000 */ nop -/* 05B7D4 7F026CA4 46804220 */ cvt.s.w $f8, $f8 -/* 05B7D8 7F026CA8 44054000 */ mfc1 $a1, $f8 -/* 05B7DC 7F026CAC 0FC08F15 */ jal sub_GAME_7F023C54 -/* 05B7E0 7F026CB0 00000000 */ nop -/* 05B7E4 7F026CB4 44050000 */ mfc1 $a1, $f0 -/* 05B7E8 7F026CB8 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B7EC 7F026CBC 8FA40094 */ lw $a0, 0x94($sp) -/* 05B7F0 7F026CC0 240F0001 */ li $t7, 1 -.L7F026CC4: -/* 05B7F4 7F026CC4 AFAF0090 */ sw $t7, 0x90($sp) -.L7F026CC8: -/* 05B7F8 7F026CC8 8FB80090 */ lw $t8, 0x90($sp) -.L7F026CCC: -/* 05B7FC 7F026CCC 8FB90088 */ lw $t9, 0x88($sp) -/* 05B800 7F026CD0 3C0A8003 */ lui $t2, %hi(D_8002C914) -/* 05B804 7F026CD4 17000070 */ bnez $t8, .L7F026E98 -/* 05B808 7F026CD8 00194880 */ sll $t1, $t9, 2 -/* 05B80C 7F026CDC 01394823 */ subu $t1, $t1, $t9 -/* 05B810 7F026CE0 00094880 */ sll $t1, $t1, 2 -/* 05B814 7F026CE4 01394823 */ subu $t1, $t1, $t9 -/* 05B818 7F026CE8 00094880 */ sll $t1, $t1, 2 -/* 05B81C 7F026CEC 254AC914 */ addiu $t2, %lo(D_8002C914) # addiu $t2, $t2, -0x36ec -/* 05B820 7F026CF0 012A3021 */ addu $a2, $t1, $t2 -/* 05B824 7F026CF4 8CCB0024 */ lw $t3, 0x24($a2) -/* 05B828 7F026CF8 51600068 */ beql $t3, $zero, .L7F026E9C -/* 05B82C 7F026CFC AFA0009C */ sw $zero, 0x9c($sp) -/* 05B830 7F026D00 8CCC0028 */ lw $t4, 0x28($a2) -/* 05B834 7F026D04 02002025 */ move $a0, $s0 -/* 05B838 7F026D08 24050001 */ li $a1, 1 -/* 05B83C 7F026D0C 19800062 */ blez $t4, .L7F026E98 -/* 05B840 7F026D10 8FAD0084 */ lw $t5, 0x84($sp) -/* 05B844 7F026D14 2DAE0001 */ sltiu $t6, $t5, 1 -/* 05B848 7F026D18 240F0001 */ li $t7, 1 -/* 05B84C 7F026D1C AFAF0090 */ sw $t7, 0x90($sp) -/* 05B850 7F026D20 AFAE0034 */ sw $t6, 0x34($sp) -/* 05B854 7F026D24 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05B858 7F026D28 AFA60030 */ sw $a2, 0x30($sp) -/* 05B85C 7F026D2C AFA20050 */ sw $v0, 0x50($sp) -/* 05B860 7F026D30 02002025 */ move $a0, $s0 -/* 05B864 7F026D34 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05B868 7F026D38 00002825 */ move $a1, $zero -/* 05B86C 7F026D3C 8FA60030 */ lw $a2, 0x30($sp) -/* 05B870 7F026D40 3C188003 */ lui $t8, %hi(D_8002CAA0) -/* 05B874 7F026D44 2718CAA0 */ addiu $t8, %lo(D_8002CAA0) # addiu $t8, $t8, -0x3560 -/* 05B878 7F026D48 14D80007 */ bne $a2, $t8, .L7F026D68 -/* 05B87C 7F026D4C 8FB90050 */ lw $t9, 0x50($sp) -/* 05B880 7F026D50 13200005 */ beqz $t9, .L7F026D68 -/* 05B884 7F026D54 2409000A */ li $t1, 10 -/* 05B888 7F026D58 3C068003 */ lui $a2, %hi(D_8002CACC) -/* 05B88C 7F026D5C 24C6CACC */ addiu $a2, %lo(D_8002CACC) # addiu $a2, $a2, -0x3534 -/* 05B890 7F026D60 1000000A */ b .L7F026D8C -/* 05B894 7F026D64 AFA90088 */ sw $t1, 0x88($sp) -.L7F026D68: -/* 05B898 7F026D68 3C0A8003 */ lui $t2, %hi(D_8002CB24) -/* 05B89C 7F026D6C 254ACB24 */ addiu $t2, %lo(D_8002CB24) # addiu $t2, $t2, -0x34dc -/* 05B8A0 7F026D70 14CA0006 */ bne $a2, $t2, .L7F026D8C -/* 05B8A4 7F026D74 00000000 */ nop -/* 05B8A8 7F026D78 10400004 */ beqz $v0, .L7F026D8C -/* 05B8AC 7F026D7C 240B000D */ li $t3, 13 -/* 05B8B0 7F026D80 3C068003 */ lui $a2, %hi(D_8002CB50) -/* 05B8B4 7F026D84 24C6CB50 */ addiu $a2, %lo(D_8002CB50) # addiu $a2, $a2, -0x34b0 -/* 05B8B8 7F026D88 AFAB0088 */ sw $t3, 0x88($sp) -.L7F026D8C: -/* 05B8BC 7F026D8C 0C002914 */ jal get_random_value -/* 05B8C0 7F026D90 AFA60030 */ sw $a2, 0x30($sp) -/* 05B8C4 7F026D94 8FA60030 */ lw $a2, 0x30($sp) -/* 05B8C8 7F026D98 02002025 */ move $a0, $s0 -/* 05B8CC 7F026D9C 8CCC0028 */ lw $t4, 0x28($a2) -/* 05B8D0 7F026DA0 8CCD0024 */ lw $t5, 0x24($a2) -/* 05B8D4 7F026DA4 004C001B */ divu $zero, $v0, $t4 -/* 05B8D8 7F026DA8 00002810 */ mfhi $a1 -/* 05B8DC 7F026DAC 000570C0 */ sll $t6, $a1, 3 -/* 05B8E0 7F026DB0 01C57023 */ subu $t6, $t6, $a1 -/* 05B8E4 7F026DB4 000E7080 */ sll $t6, $t6, 2 -/* 05B8E8 7F026DB8 15800002 */ bnez $t4, .L7F026DC4 -/* 05B8EC 7F026DBC 00000000 */ nop -/* 05B8F0 7F026DC0 0007000D */ break 7 -.L7F026DC4: -/* 05B8F4 7F026DC4 01AE1821 */ addu $v1, $t5, $t6 -/* 05B8F8 7F026DC8 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05B8FC 7F026DCC AFA30044 */ sw $v1, 0x44($sp) -/* 05B900 7F026DD0 8FA30044 */ lw $v1, 0x44($sp) -/* 05B904 7F026DD4 240F0006 */ li $t7, 6 -/* 05B908 7F026DD8 A20F0007 */ sb $t7, 7($s0) -/* 05B90C 7F026DDC AE00002C */ sw $zero, 0x2c($s0) -/* 05B910 7F026DE0 3C188005 */ lui $t8, %hi(global_timer) -/* 05B914 7F026DE4 8F18837C */ lw $t8, %lo(global_timer)($t8) -/* 05B918 7F026DE8 A2000008 */ sb $zero, 8($s0) -/* 05B91C 7F026DEC 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05B920 7F026DF0 AE180030 */ sw $t8, 0x30($s0) -/* 05B924 7F026DF4 8FB90034 */ lw $t9, 0x34($sp) -/* 05B928 7F026DF8 44812000 */ mtc1 $at, $f4 -/* 05B92C 7F026DFC C46A000C */ lwc1 $f10, 0xc($v1) -/* 05B930 7F026E00 8C660004 */ lw $a2, 4($v1) -/* 05B934 7F026E04 8C650000 */ lw $a1, ($v1) -/* 05B938 7F026E08 8FA40094 */ lw $a0, 0x94($sp) -/* 05B93C 7F026E0C 24070000 */ li $a3, 0 -/* 05B940 7F026E10 AFB90018 */ sw $t9, 0x18($sp) -/* 05B944 7F026E14 E7A40014 */ swc1 $f4, 0x14($sp) -/* 05B948 7F026E18 0FC1BF13 */ jal sub_GAME_7F06FC4C -/* 05B94C 7F026E1C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 05B950 7F026E20 8FA30044 */ lw $v1, 0x44($sp) -/* 05B954 7F026E24 44803000 */ mtc1 $zero, $f6 -/* 05B958 7F026E28 02002025 */ move $a0, $s0 -/* 05B95C 7F026E2C C4600008 */ lwc1 $f0, 8($v1) -/* 05B960 7F026E30 4600303E */ c.le.s $f6, $f0 -/* 05B964 7F026E34 00000000 */ nop -/* 05B968 7F026E38 4502000A */ bc1fl .L7F026E64 -/* 05B96C 7F026E3C 8C690000 */ lw $t1, ($v1) -/* 05B970 7F026E40 44050000 */ mfc1 $a1, $f0 -/* 05B974 7F026E44 0FC08F15 */ jal sub_GAME_7F023C54 -/* 05B978 7F026E48 3C064100 */ lui $a2, 0x4100 -/* 05B97C 7F026E4C 44050000 */ mfc1 $a1, $f0 -/* 05B980 7F026E50 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B984 7F026E54 8FA40094 */ lw $a0, 0x94($sp) -/* 05B988 7F026E58 10000010 */ b .L7F026E9C -/* 05B98C 7F026E5C AFA0009C */ sw $zero, 0x9c($sp) -/* 05B990 7F026E60 8C690000 */ lw $t1, ($v1) -.L7F026E64: -/* 05B994 7F026E64 02002025 */ move $a0, $s0 -/* 05B998 7F026E68 3C064100 */ lui $a2, 0x4100 -/* 05B99C 7F026E6C 952A0004 */ lhu $t2, 4($t1) -/* 05B9A0 7F026E70 254BFFFF */ addiu $t3, $t2, -1 -/* 05B9A4 7F026E74 448B4000 */ mtc1 $t3, $f8 -/* 05B9A8 7F026E78 00000000 */ nop -/* 05B9AC 7F026E7C 46804220 */ cvt.s.w $f8, $f8 -/* 05B9B0 7F026E80 44054000 */ mfc1 $a1, $f8 -/* 05B9B4 7F026E84 0FC08F15 */ jal sub_GAME_7F023C54 -/* 05B9B8 7F026E88 00000000 */ nop -/* 05B9BC 7F026E8C 44050000 */ mfc1 $a1, $f0 -/* 05B9C0 7F026E90 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05B9C4 7F026E94 8FA40094 */ lw $a0, 0x94($sp) -.L7F026E98: -/* 05B9C8 7F026E98 AFA0009C */ sw $zero, 0x9c($sp) -.L7F026E9C: -/* 05B9CC 7F026E9C 8FAC009C */ lw $t4, 0x9c($sp) -.L7F026EA0: -/* 05B9D0 7F026EA0 8FAD0090 */ lw $t5, 0x90($sp) -/* 05B9D4 7F026EA4 5180001E */ beql $t4, $zero, .L7F026F20 -/* 05B9D8 7F026EA8 8FBF002C */ lw $ra, 0x2c($sp) -/* 05B9DC 7F026EAC 51A0001C */ beql $t5, $zero, .L7F026F20 -/* 05B9E0 7F026EB0 8FBF002C */ lw $ra, 0x2c($sp) -/* 05B9E4 7F026EB4 8E040160 */ lw $a0, 0x160($s0) -/* 05B9E8 7F026EB8 5080000C */ beql $a0, $zero, .L7F026EEC -/* 05B9EC 7F026EBC 8E040164 */ lw $a0, 0x164($s0) -/* 05B9F0 7F026EC0 8C8E0004 */ lw $t6, 4($a0) -/* 05B9F4 7F026EC4 8DCF0008 */ lw $t7, 8($t6) -/* 05B9F8 7F026EC8 31F82000 */ andi $t8, $t7, 0x2000 -/* 05B9FC 7F026ECC 57000007 */ bnezl $t8, .L7F026EEC -/* 05BA00 7F026ED0 8E040164 */ lw $a0, 0x164($s0) -/* 05BA04 7F026ED4 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 05BA08 7F026ED8 24050001 */ li $a1, 1 -/* 05BA0C 7F026EDC 96190012 */ lhu $t9, 0x12($s0) -/* 05BA10 7F026EE0 37290001 */ ori $t1, $t9, 1 -/* 05BA14 7F026EE4 A6090012 */ sh $t1, 0x12($s0) -/* 05BA18 7F026EE8 8E040164 */ lw $a0, 0x164($s0) -.L7F026EEC: -/* 05BA1C 7F026EEC 5080000C */ beql $a0, $zero, .L7F026F20 -/* 05BA20 7F026EF0 8FBF002C */ lw $ra, 0x2c($sp) -/* 05BA24 7F026EF4 8C8A0004 */ lw $t2, 4($a0) -/* 05BA28 7F026EF8 8D4B0008 */ lw $t3, 8($t2) -/* 05BA2C 7F026EFC 316C2000 */ andi $t4, $t3, 0x2000 -/* 05BA30 7F026F00 55800007 */ bnezl $t4, .L7F026F20 -/* 05BA34 7F026F04 8FBF002C */ lw $ra, 0x2c($sp) -/* 05BA38 7F026F08 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 05BA3C 7F026F0C 24050001 */ li $a1, 1 -/* 05BA40 7F026F10 960D0012 */ lhu $t5, 0x12($s0) -/* 05BA44 7F026F14 35AE0001 */ ori $t6, $t5, 1 -/* 05BA48 7F026F18 A60E0012 */ sh $t6, 0x12($s0) -.L7F026F1C: -/* 05BA4C 7F026F1C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F026F20: -/* 05BA50 7F026F20 8FB00028 */ lw $s0, 0x28($sp) -/* 05BA54 7F026F24 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 05BA58 7F026F28 03E00008 */ jr $ra -/* 05BA5C 7F026F2C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F026F30(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F026F30 -/* 05BA60 7F026F30 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 05BA64 7F026F34 AFBF0014 */ sw $ra, 0x14($sp) -/* 05BA68 7F026F38 AFA50024 */ sw $a1, 0x24($sp) -/* 05BA6C 7F026F3C 80820007 */ lb $v0, 7($a0) -/* 05BA70 7F026F40 2401000A */ li $at, 10 -/* 05BA74 7F026F44 00803025 */ move $a2, $a0 -/* 05BA78 7F026F48 1441003C */ bne $v0, $at, .L7F02703C -/* 05BA7C 7F026F4C 00001825 */ move $v1, $zero -/* 05BA80 7F026F50 808E0035 */ lb $t6, 0x35($a0) -/* 05BA84 7F026F54 51C00027 */ beql $t6, $zero, .L7F026FF4 -/* 05BA88 7F026F58 8CCA002C */ lw $t2, 0x2c($a2) -/* 05BA8C 7F026F5C 8C82002C */ lw $v0, 0x2c($a0) -/* 05BA90 7F026F60 3C0F8003 */ lui $t7, %hi(D_80030198) -/* 05BA94 7F026F64 25EF0198 */ addiu $t7, %lo(D_80030198) # addiu $t7, $t7, 0x198 -/* 05BA98 7F026F68 11E2000A */ beq $t7, $v0, .L7F026F94 -/* 05BA9C 7F026F6C 3C188003 */ lui $t8, %hi(D_800301E0) -/* 05BAA0 7F026F70 271801E0 */ addiu $t8, %lo(D_800301E0) # addiu $t8, $t8, 0x1e0 -/* 05BAA4 7F026F74 13020007 */ beq $t8, $v0, .L7F026F94 -/* 05BAA8 7F026F78 3C198003 */ lui $t9, %hi(D_80030228) -/* 05BAAC 7F026F7C 27390228 */ addiu $t9, %lo(D_80030228) # addiu $t9, $t9, 0x228 -/* 05BAB0 7F026F80 13220004 */ beq $t9, $v0, .L7F026F94 -/* 05BAB4 7F026F84 3C088003 */ lui $t0, %hi(D_80030270) -/* 05BAB8 7F026F88 25080270 */ addiu $t0, %lo(D_80030270) # addiu $t0, $t0, 0x270 -/* 05BABC 7F026F8C 55020030 */ bnel $t0, $v0, .L7F027050 -/* 05BAC0 7F026F90 8FBF0014 */ lw $ra, 0x14($sp) -.L7F026F94: -/* 05BAC4 7F026F94 C4400004 */ lwc1 $f0, 4($v0) -/* 05BAC8 7F026F98 C44C0014 */ lwc1 $f12, 0x14($v0) -/* 05BACC 7F026F9C 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 05BAD0 7F026FA0 44812000 */ mtc1 $at, $f4 -/* 05BAD4 7F026FA4 4600603C */ c.lt.s $f12, $f0 -/* 05BAD8 7F026FA8 46040081 */ sub.s $f2, $f0, $f4 -/* 05BADC 7F026FAC 45020003 */ bc1fl .L7F026FBC -/* 05BAE0 7F026FB0 8CC4001C */ lw $a0, 0x1c($a2) -/* 05BAE4 7F026FB4 46006086 */ mov.s $f2, $f12 -/* 05BAE8 7F026FB8 8CC4001C */ lw $a0, 0x1c($a2) -.L7F026FBC: -/* 05BAEC 7F026FBC E7A20018 */ swc1 $f2, 0x18($sp) -/* 05BAF0 7F026FC0 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 05BAF4 7F026FC4 AFA3001C */ sw $v1, 0x1c($sp) -/* 05BAF8 7F026FC8 C7A20018 */ lwc1 $f2, 0x18($sp) -/* 05BAFC 7F026FCC 8FA3001C */ lw $v1, 0x1c($sp) -/* 05BB00 7F026FD0 8FA90024 */ lw $t1, 0x24($sp) -/* 05BB04 7F026FD4 4602003C */ c.lt.s $f0, $f2 -/* 05BB08 7F026FD8 00000000 */ nop -/* 05BB0C 7F026FDC 4502001C */ bc1fl .L7F027050 -/* 05BB10 7F026FE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 05BB14 7F026FE4 E5220000 */ swc1 $f2, ($t1) -/* 05BB18 7F026FE8 10000018 */ b .L7F02704C -/* 05BB1C 7F026FEC 24030001 */ li $v1, 1 -/* 05BB20 7F026FF0 8CCA002C */ lw $t2, 0x2c($a2) -.L7F026FF4: -/* 05BB24 7F026FF4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 05BB28 7F026FF8 44814000 */ mtc1 $at, $f8 -/* 05BB2C 7F026FFC C5460004 */ lwc1 $f6, 4($t2) -/* 05BB30 7F027000 8CC4001C */ lw $a0, 0x1c($a2) -/* 05BB34 7F027004 AFA3001C */ sw $v1, 0x1c($sp) -/* 05BB38 7F027008 46083081 */ sub.s $f2, $f6, $f8 -/* 05BB3C 7F02700C 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 05BB40 7F027010 E7A20018 */ swc1 $f2, 0x18($sp) -/* 05BB44 7F027014 C7A20018 */ lwc1 $f2, 0x18($sp) -/* 05BB48 7F027018 8FA3001C */ lw $v1, 0x1c($sp) -/* 05BB4C 7F02701C 8FAB0024 */ lw $t3, 0x24($sp) -/* 05BB50 7F027020 4602003C */ c.lt.s $f0, $f2 -/* 05BB54 7F027024 00000000 */ nop -/* 05BB58 7F027028 45020009 */ bc1fl .L7F027050 -/* 05BB5C 7F02702C 8FBF0014 */ lw $ra, 0x14($sp) -/* 05BB60 7F027030 E5620000 */ swc1 $f2, ($t3) -/* 05BB64 7F027034 10000005 */ b .L7F02704C -/* 05BB68 7F027038 24030001 */ li $v1, 1 -.L7F02703C: -/* 05BB6C 7F02703C 24010007 */ li $at, 7 -/* 05BB70 7F027040 54410003 */ bnel $v0, $at, .L7F027050 -/* 05BB74 7F027044 8FBF0014 */ lw $ra, 0x14($sp) -/* 05BB78 7F027048 24030001 */ li $v1, 1 -.L7F02704C: -/* 05BB7C 7F02704C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F027050: -/* 05BB80 7F027050 27BD0020 */ addiu $sp, $sp, 0x20 -/* 05BB84 7F027054 00601025 */ move $v0, $v1 -/* 05BB88 7F027058 03E00008 */ jr $ra -/* 05BB8C 7F02705C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void play_sound_for_shot_actor(void) { - -} -#else -GLOBAL_ASM( -.text -glabel play_sound_for_shot_actor -/* 05BB90 7F027060 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 05BB94 7F027064 AFBF0014 */ sw $ra, 0x14($sp) -/* 05BB98 7F027068 AFA40068 */ sw $a0, 0x68($sp) -/* 05BB9C 7F02706C 8C850018 */ lw $a1, 0x18($a0) -/* 05BBA0 7F027070 24010006 */ li $at, 6 -/* 05BBA4 7F027074 00001825 */ move $v1, $zero -/* 05BBA8 7F027078 90AF0000 */ lbu $t7, ($a1) -/* 05BBAC 7F02707C 00A02025 */ move $a0, $a1 -/* 05BBB0 7F027080 55E1000C */ bnel $t7, $at, .L7F0270B4 -/* 05BBB4 7F027084 8FA90068 */ lw $t1, 0x68($sp) -/* 05BBB8 7F027088 0FC26C57 */ jal sub_GAME_7F09B15C -/* 05BBBC 7F02708C AFA00060 */ sw $zero, 0x60($sp) -/* 05BBC0 7F027090 0002C080 */ sll $t8, $v0, 2 -/* 05BBC4 7F027094 3C198008 */ lui $t9, %hi(ptr_BONDdata_p1) -/* 05BBC8 7F027098 0338C821 */ addu $t9, $t9, $t8 -/* 05BBCC 7F02709C 8F399EE0 */ lw $t9, %lo(ptr_BONDdata_p1)($t9) -/* 05BBD0 7F0270A0 8FA30060 */ lw $v1, 0x60($sp) -/* 05BBD4 7F0270A4 8F2800D8 */ lw $t0, 0xd8($t9) -/* 05BBD8 7F0270A8 55000071 */ bnezl $t0, .L7F027270 -/* 05BBDC 7F0270AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 05BBE0 7F0270B0 8FA90068 */ lw $t1, 0x68($sp) -.L7F0270B4: -/* 05BBE4 7F0270B4 24010006 */ li $at, 6 -/* 05BBE8 7F0270B8 8FB90068 */ lw $t9, 0x68($sp) -/* 05BBEC 7F0270BC 8D2A0018 */ lw $t2, 0x18($t1) -/* 05BBF0 7F0270C0 914B0000 */ lbu $t3, ($t2) -/* 05BBF4 7F0270C4 5561001D */ bnel $t3, $at, .L7F02713C -/* 05BBF8 7F0270C8 8328000F */ lb $t0, 0xf($t9) -/* 05BBFC 7F0270CC 0FC26919 */ jal get_num_players -/* 05BC00 7F0270D0 AFA30060 */ sw $v1, 0x60($sp) -/* 05BC04 7F0270D4 24010001 */ li $at, 1 -/* 05BC08 7F0270D8 1441000D */ bne $v0, $at, .L7F027110 -/* 05BC0C 7F0270DC 8FA30060 */ lw $v1, 0x60($sp) -/* 05BC10 7F0270E0 8FAC0068 */ lw $t4, 0x68($sp) -/* 05BC14 7F0270E4 3C0F8004 */ lui $t7, %hi(c_item_entries+16) -/* 05BC18 7F0270E8 818D000F */ lb $t5, 0xf($t4) -/* 05BC1C 7F0270EC 000D7080 */ sll $t6, $t5, 2 -/* 05BC20 7F0270F0 01CD7021 */ addu $t6, $t6, $t5 -/* 05BC24 7F0270F4 000E7080 */ sll $t6, $t6, 2 -/* 05BC28 7F0270F8 01EE7821 */ addu $t7, $t7, $t6 -/* 05BC2C 7F0270FC 91EFDE20 */ lbu $t7, %lo(c_item_entries+16)($t7) -/* 05BC30 7F027100 11E00017 */ beqz $t7, .L7F027160 -/* 05BC34 7F027104 00000000 */ nop -/* 05BC38 7F027108 10000015 */ b .L7F027160 -/* 05BC3C 7F02710C 24030001 */ li $v1, 1 -.L7F027110: -/* 05BC40 7F027110 8FB80068 */ lw $t8, 0x68($sp) -/* 05BC44 7F027114 8F040018 */ lw $a0, 0x18($t8) -/* 05BC48 7F027118 0FC26C57 */ jal sub_GAME_7F09B15C -/* 05BC4C 7F02711C AFA30060 */ sw $v1, 0x60($sp) -/* 05BC50 7F027120 0FC040C3 */ jal get_player_mp_char_gender -/* 05BC54 7F027124 00402025 */ move $a0, $v0 -/* 05BC58 7F027128 1040000D */ beqz $v0, .L7F027160 -/* 05BC5C 7F02712C 8FA30060 */ lw $v1, 0x60($sp) -/* 05BC60 7F027130 1000000B */ b .L7F027160 -/* 05BC64 7F027134 24030001 */ li $v1, 1 -/* 05BC68 7F027138 8328000F */ lb $t0, 0xf($t9) -.L7F02713C: -/* 05BC6C 7F02713C 3C0A8004 */ lui $t2, %hi(c_item_entries+16) -/* 05BC70 7F027140 00084880 */ sll $t1, $t0, 2 -/* 05BC74 7F027144 01284821 */ addu $t1, $t1, $t0 -/* 05BC78 7F027148 00094880 */ sll $t1, $t1, 2 -/* 05BC7C 7F02714C 01495021 */ addu $t2, $t2, $t1 -/* 05BC80 7F027150 914ADE20 */ lbu $t2, %lo(c_item_entries+16)($t2) -/* 05BC84 7F027154 11400002 */ beqz $t2, .L7F027160 -/* 05BC88 7F027158 00000000 */ nop -/* 05BC8C 7F02715C 24030001 */ li $v1, 1 -.L7F027160: -/* 05BC90 7F027160 10600025 */ beqz $v1, .L7F0271F8 -/* 05BC94 7F027164 3C088003 */ lui $t0, %hi(female_guard_yelps) -/* 05BC98 7F027168 3C0B8003 */ lui $t3, %hi(male_guard_yelps) -/* 05BC9C 7F02716C 27A20028 */ addiu $v0, $sp, 0x28 -/* 05BCA0 7F027170 256B09F8 */ addiu $t3, %lo(male_guard_yelps) # addiu $t3, $t3, 0x9f8 -/* 05BCA4 7F027174 256D0030 */ addiu $t5, $t3, 0x30 -/* 05BCA8 7F027178 00407025 */ move $t6, $v0 -.L7F02717C: -/* 05BCAC 7F02717C 8D610000 */ lw $at, ($t3) -/* 05BCB0 7F027180 256B000C */ addiu $t3, $t3, 0xc -/* 05BCB4 7F027184 25CE000C */ addiu $t6, $t6, 0xc -/* 05BCB8 7F027188 ADC1FFF4 */ sw $at, -0xc($t6) -/* 05BCBC 7F02718C 8D61FFF8 */ lw $at, -8($t3) -/* 05BCC0 7F027190 ADC1FFF8 */ sw $at, -8($t6) -/* 05BCC4 7F027194 8D61FFFC */ lw $at, -4($t3) -/* 05BCC8 7F027198 156DFFF8 */ bne $t3, $t5, .L7F02717C -/* 05BCCC 7F02719C ADC1FFFC */ sw $at, -4($t6) -/* 05BCD0 7F0271A0 95610000 */ lhu $at, ($t3) -/* 05BCD4 7F0271A4 3C0F8003 */ lui $t7, %hi(male_guard_yelp_counter) -/* 05BCD8 7F0271A8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 05BCDC 7F0271AC A5C10000 */ sh $at, ($t6) -/* 05BCE0 7F0271B0 8DEF0A34 */ lw $t7, %lo(male_guard_yelp_counter)($t7) -/* 05BCE4 7F0271B4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 05BCE8 7F0271B8 00003025 */ move $a2, $zero -/* 05BCEC 7F0271BC 000FC040 */ sll $t8, $t7, 1 -/* 05BCF0 7F0271C0 0058C821 */ addu $t9, $v0, $t8 -/* 05BCF4 7F0271C4 0C002382 */ jal play_sfx_a1 -/* 05BCF8 7F0271C8 87250000 */ lh $a1, ($t9) -/* 05BCFC 7F0271CC 3C038003 */ lui $v1, %hi(male_guard_yelp_counter) -/* 05BD00 7F0271D0 8C630A34 */ lw $v1, %lo(male_guard_yelp_counter)($v1) -/* 05BD04 7F0271D4 3C018003 */ lui $at, %hi(male_guard_yelp_counter) -/* 05BD08 7F0271D8 00402025 */ move $a0, $v0 -/* 05BD0C 7F0271DC 24630001 */ addiu $v1, $v1, 1 -/* 05BD10 7F0271E0 AC230A34 */ sw $v1, %lo(male_guard_yelp_counter)($at) -/* 05BD14 7F0271E4 28610019 */ slti $at, $v1, 0x19 -/* 05BD18 7F0271E8 1420001C */ bnez $at, .L7F02725C -/* 05BD1C 7F0271EC 3C018003 */ lui $at, %hi(male_guard_yelp_counter) -/* 05BD20 7F0271F0 1000001A */ b .L7F02725C -/* 05BD24 7F0271F4 AC200A34 */ sw $zero, %lo(male_guard_yelp_counter)($at) -.L7F0271F8: -/* 05BD28 7F0271F8 25080A2C */ addiu $t0, %lo(female_guard_yelps) # addiu $t0, $t0, 0xa2c -/* 05BD2C 7F0271FC 8D010000 */ lw $at, ($t0) -/* 05BD30 7F027200 27A20020 */ addiu $v0, $sp, 0x20 -/* 05BD34 7F027204 3C0D8003 */ lui $t5, %hi(female_guard_yelp_counter) -/* 05BD38 7F027208 AC410000 */ sw $at, ($v0) -/* 05BD3C 7F02720C 95010004 */ lhu $at, 4($t0) -/* 05BD40 7F027210 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 05BD44 7F027214 00003025 */ move $a2, $zero -/* 05BD48 7F027218 A4410004 */ sh $at, 4($v0) -/* 05BD4C 7F02721C 8DAD0A38 */ lw $t5, %lo(female_guard_yelp_counter)($t5) -/* 05BD50 7F027220 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 05BD54 7F027224 000D5840 */ sll $t3, $t5, 1 -/* 05BD58 7F027228 004B7021 */ addu $t6, $v0, $t3 -/* 05BD5C 7F02722C 0C002382 */ jal play_sfx_a1 -/* 05BD60 7F027230 85C50000 */ lh $a1, ($t6) -/* 05BD64 7F027234 3C038003 */ lui $v1, %hi(female_guard_yelp_counter) -/* 05BD68 7F027238 8C630A38 */ lw $v1, %lo(female_guard_yelp_counter)($v1) -/* 05BD6C 7F02723C 3C018003 */ lui $at, %hi(female_guard_yelp_counter) -/* 05BD70 7F027240 00402025 */ move $a0, $v0 -/* 05BD74 7F027244 24630001 */ addiu $v1, $v1, 1 -/* 05BD78 7F027248 AC230A38 */ sw $v1, %lo(female_guard_yelp_counter)($at) -/* 05BD7C 7F02724C 28610003 */ slti $at, $v1, 3 -/* 05BD80 7F027250 14200002 */ bnez $at, .L7F02725C -/* 05BD84 7F027254 3C018003 */ lui $at, %hi(female_guard_yelp_counter) -/* 05BD88 7F027258 AC200A38 */ sw $zero, %lo(female_guard_yelp_counter)($at) -.L7F02725C: -/* 05BD8C 7F02725C 8FAF0068 */ lw $t7, 0x68($sp) -/* 05BD90 7F027260 8DE50018 */ lw $a1, 0x18($t7) -/* 05BD94 7F027264 0FC14E84 */ jal sub_GAME_7F053A10 -/* 05BD98 7F027268 24A50008 */ addiu $a1, $a1, 8 -/* 05BD9C 7F02726C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F027270: -/* 05BDA0 7F027270 27BD0068 */ addiu $sp, $sp, 0x68 -/* 05BDA4 7F027274 03E00008 */ jr $ra -/* 05BDA8 7F027278 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void handles_shot_actors(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DDC -.word 0x3f860a92 /*1.0471976*/ -glabel D_80051DE0 -.word 0x40a78d36 /*5.2359877*/ -glabel D_80051DE4 -.word 0x40060a92 /*2.0943952*/ -glabel D_80051DE8 -.word 0x40860a92 /*4.1887903*/ -.text -glabel handles_shot_actors -/* 05BDAC 7F02727C 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 05BDB0 7F027280 AFBF0024 */ sw $ra, 0x24($sp) -/* 05BDB4 7F027284 AFB00020 */ sw $s0, 0x20($sp) -/* 05BDB8 7F027288 AFA5006C */ sw $a1, 0x6c($sp) -/* 05BDBC 7F02728C AFA60070 */ sw $a2, 0x70($sp) -/* 05BDC0 7F027290 AFA70074 */ sw $a3, 0x74($sp) -/* 05BDC4 7F027294 8C8E0018 */ lw $t6, 0x18($a0) -/* 05BDC8 7F027298 2401006E */ li $at, 110 -/* 05BDCC 7F02729C 00808025 */ move $s0, $a0 -/* 05BDD0 7F0272A0 14A1002A */ bne $a1, $at, .L7F02734C -/* 05BDD4 7F0272A4 AFAE0060 */ sw $t6, 0x60($sp) -/* 05BDD8 7F0272A8 8C8401D8 */ lw $a0, 0x1d8($a0) -/* 05BDDC 7F0272AC 50800028 */ beql $a0, $zero, .L7F027350 -/* 05BDE0 7F0272B0 8FAF0078 */ lw $t7, 0x78($sp) -/* 05BDE4 7F0272B4 0FC149A1 */ jal get_hat_model -/* 05BDE8 7F0272B8 00000000 */ nop -/* 05BDEC 7F0272BC 24010005 */ li $at, 5 -/* 05BDF0 7F0272C0 14410003 */ bne $v0, $at, .L7F0272D0 -/* 05BDF4 7F0272C4 24180008 */ li $t8, 8 -/* 05BDF8 7F0272C8 10000020 */ b .L7F02734C -/* 05BDFC 7F0272CC AFB8006C */ sw $t8, 0x6c($sp) -.L7F0272D0: -/* 05BE00 7F0272D0 24010003 */ li $at, 3 -/* 05BE04 7F0272D4 10410008 */ beq $v0, $at, .L7F0272F8 -/* 05BE08 7F0272D8 3C0A8003 */ lui $t2, %hi(metal_ricochet_SFX) -/* 05BE0C 7F0272DC 8E0401D8 */ lw $a0, 0x1d8($s0) -/* 05BE10 7F0272E0 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 05BE14 7F0272E4 24050004 */ li $a1, 4 -/* 05BE18 7F0272E8 96190012 */ lhu $t9, 0x12($s0) -/* 05BE1C 7F0272EC 37280001 */ ori $t0, $t9, 1 -/* 05BE20 7F0272F0 10000016 */ b .L7F02734C -/* 05BE24 7F0272F4 A6080012 */ sh $t0, 0x12($s0) -.L7F0272F8: -/* 05BE28 7F0272F8 254A0A3C */ addiu $t2, %lo(metal_ricochet_SFX) # addiu $t2, $t2, 0xa3c -/* 05BE2C 7F0272FC 8D410000 */ lw $at, ($t2) -/* 05BE30 7F027300 27A90054 */ addiu $t1, $sp, 0x54 -/* 05BE34 7F027304 AD210000 */ sw $at, ($t1) -/* 05BE38 7F027308 95410004 */ lhu $at, 4($t2) -/* 05BE3C 7F02730C 0C002914 */ jal get_random_value -/* 05BE40 7F027310 A5210004 */ sh $at, 4($t1) -/* 05BE44 7F027314 24010003 */ li $at, 3 -/* 05BE48 7F027318 0041001B */ divu $zero, $v0, $at -/* 05BE4C 7F02731C 00006810 */ mfhi $t5 -/* 05BE50 7F027320 000D7040 */ sll $t6, $t5, 1 -/* 05BE54 7F027324 03AE2821 */ addu $a1, $sp, $t6 -/* 05BE58 7F027328 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 05BE5C 7F02732C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 05BE60 7F027330 84A50054 */ lh $a1, 0x54($a1) -/* 05BE64 7F027334 0C002382 */ jal play_sfx_a1 -/* 05BE68 7F027338 00003025 */ move $a2, $zero -/* 05BE6C 7F02733C 8E050018 */ lw $a1, 0x18($s0) -/* 05BE70 7F027340 00402025 */ move $a0, $v0 -/* 05BE74 7F027344 0FC14E84 */ jal sub_GAME_7F053A10 -/* 05BE78 7F027348 24A50008 */ addiu $a1, $a1, 8 -.L7F02734C: -/* 05BE7C 7F02734C 8FAF0078 */ lw $t7, 0x78($sp) -.L7F027350: -/* 05BE80 7F027350 8FB8006C */ lw $t8, 0x6c($sp) -/* 05BE84 7F027354 51E00025 */ beql $t7, $zero, .L7F0273EC -/* 05BE88 7F027358 8E0B0014 */ lw $t3, 0x14($s0) -/* 05BE8C 7F02735C 13000022 */ beqz $t8, .L7F0273E8 -/* 05BE90 7F027360 24010007 */ li $at, 7 -/* 05BE94 7F027364 1301001A */ beq $t8, $at, .L7F0273D0 -/* 05BE98 7F027368 8FA40074 */ lw $a0, 0x74($sp) -/* 05BE9C 7F02736C 24010008 */ li $at, 8 -/* 05BEA0 7F027370 1301000B */ beq $t8, $at, .L7F0273A0 -/* 05BEA4 7F027374 24050001 */ li $a1, 1 -/* 05BEA8 7F027378 2401000F */ li $at, 15 -/* 05BEAC 7F02737C 13010014 */ beq $t8, $at, .L7F0273D0 -/* 05BEB0 7F027380 24010064 */ li $at, 100 -/* 05BEB4 7F027384 1301000A */ beq $t8, $at, .L7F0273B0 -/* 05BEB8 7F027388 8FA40074 */ lw $a0, 0x74($sp) -/* 05BEBC 7F02738C 2401006E */ li $at, 110 -/* 05BEC0 7F027390 1301000B */ beq $t8, $at, .L7F0273C0 -/* 05BEC4 7F027394 8FA40074 */ lw $a0, 0x74($sp) -/* 05BEC8 7F027398 10000011 */ b .L7F0273E0 -/* 05BECC 7F02739C 8FA40074 */ lw $a0, 0x74($sp) -.L7F0273A0: -/* 05BED0 7F0273A0 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon -/* 05BED4 7F0273A4 8FA40074 */ lw $a0, 0x74($sp) -/* 05BED8 7F0273A8 10000010 */ b .L7F0273EC -/* 05BEDC 7F0273AC 8E0B0014 */ lw $t3, 0x14($s0) -.L7F0273B0: -/* 05BEE0 7F0273B0 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon -/* 05BEE4 7F0273B4 24050004 */ li $a1, 4 -/* 05BEE8 7F0273B8 1000000C */ b .L7F0273EC -/* 05BEEC 7F0273BC 8E0B0014 */ lw $t3, 0x14($s0) -.L7F0273C0: -/* 05BEF0 7F0273C0 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon -/* 05BEF4 7F0273C4 24050005 */ li $a1, 5 -/* 05BEF8 7F0273C8 10000008 */ b .L7F0273EC -/* 05BEFC 7F0273CC 8E0B0014 */ lw $t3, 0x14($s0) -.L7F0273D0: -/* 05BF00 7F0273D0 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon -/* 05BF04 7F0273D4 24050002 */ li $a1, 2 -/* 05BF08 7F0273D8 10000004 */ b .L7F0273EC -/* 05BF0C 7F0273DC 8E0B0014 */ lw $t3, 0x14($s0) -.L7F0273E0: -/* 05BF10 7F0273E0 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon -/* 05BF14 7F0273E4 24050003 */ li $a1, 3 -.L7F0273E8: -/* 05BF18 7F0273E8 8E0B0014 */ lw $t3, 0x14($s0) -.L7F0273EC: -/* 05BF1C 7F0273EC 8219000B */ lb $t9, 0xb($s0) -/* 05BF20 7F0273F0 3C010020 */ lui $at, 0x20 -/* 05BF24 7F0273F4 01614825 */ or $t1, $t3, $at -/* 05BF28 7F0273F8 312C0010 */ andi $t4, $t1, 0x10 -/* 05BF2C 7F0273FC 27280001 */ addiu $t0, $t9, 1 -/* 05BF30 7F027400 A208000B */ sb $t0, 0xb($s0) -/* 05BF34 7F027404 11800005 */ beqz $t4, .L7F02741C -/* 05BF38 7F027408 AE090014 */ sw $t1, 0x14($s0) -/* 05BF3C 7F02740C 0FC081B5 */ jal sub_GAME_7F0206D4 -/* 05BF40 7F027410 02002025 */ move $a0, $s0 -/* 05BF44 7F027414 100000F6 */ b .L7F0277F0 -/* 05BF48 7F027418 00001025 */ move $v0, $zero -.L7F02741C: -/* 05BF4C 7F02741C 82020007 */ lb $v0, 7($s0) -/* 05BF50 7F027420 24010004 */ li $at, 4 -/* 05BF54 7F027424 104100F1 */ beq $v0, $at, .L7F0277EC -/* 05BF58 7F027428 24010005 */ li $at, 5 -/* 05BF5C 7F02742C 504100F0 */ beql $v0, $at, .L7F0277F0 -/* 05BF60 7F027430 24020001 */ li $v0, 1 -/* 05BF64 7F027434 0FC177E1 */ jal sub_GAME_7F05DF84 -/* 05BF68 7F027438 8FA40074 */ lw $a0, 0x74($sp) -/* 05BF6C 7F02743C 8FAD0078 */ lw $t5, 0x78($sp) -/* 05BF70 7F027440 46000086 */ mov.s $f2, $f0 -/* 05BF74 7F027444 51A0000B */ beql $t5, $zero, .L7F027474 -/* 05BF78 7F027448 8FA20070 */ lw $v0, 0x70($sp) -/* 05BF7C 7F02744C 0FC26919 */ jal get_num_players -/* 05BF80 7F027450 E7A2003C */ swc1 $f2, 0x3c($sp) -/* 05BF84 7F027454 24010001 */ li $at, 1 -/* 05BF88 7F027458 14410005 */ bne $v0, $at, .L7F027470 -/* 05BF8C 7F02745C C7A2003C */ lwc1 $f2, 0x3c($sp) -/* 05BF90 7F027460 3C018003 */ lui $at, %hi(ai_health_modifier) -/* 05BF94 7F027464 C424CE48 */ lwc1 $f4, %lo(ai_health_modifier)($at) -/* 05BF98 7F027468 46041082 */ mul.s $f2, $f2, $f4 -/* 05BF9C 7F02746C 00000000 */ nop -.L7F027470: -/* 05BFA0 7F027470 8FA20070 */ lw $v0, 0x70($sp) -.L7F027474: -/* 05BFA4 7F027474 8FAE0060 */ lw $t6, 0x60($sp) -/* 05BFA8 7F027478 02002025 */ move $a0, $s0 -/* 05BFAC 7F02747C C4480000 */ lwc1 $f8, ($v0) -/* 05BFB0 7F027480 C5C60008 */ lwc1 $f6, 8($t6) -/* 05BFB4 7F027484 27A50044 */ addiu $a1, $sp, 0x44 -/* 05BFB8 7F027488 46083281 */ sub.s $f10, $f6, $f8 -/* 05BFBC 7F02748C E7AA0044 */ swc1 $f10, 0x44($sp) -/* 05BFC0 7F027490 C4520004 */ lwc1 $f18, 4($v0) -/* 05BFC4 7F027494 C5D0000C */ lwc1 $f16, 0xc($t6) -/* 05BFC8 7F027498 46128101 */ sub.s $f4, $f16, $f18 -/* 05BFCC 7F02749C E7A40048 */ swc1 $f4, 0x48($sp) -/* 05BFD0 7F0274A0 C4480008 */ lwc1 $f8, 8($v0) -/* 05BFD4 7F0274A4 C5C60010 */ lwc1 $f6, 0x10($t6) -/* 05BFD8 7F0274A8 E7A2003C */ swc1 $f2, 0x3c($sp) -/* 05BFDC 7F0274AC 46083281 */ sub.s $f10, $f6, $f8 -/* 05BFE0 7F0274B0 0FC0CAF6 */ jal get_distance_actor_to_position -/* 05BFE4 7F0274B4 E7AA004C */ swc1 $f10, 0x4c($sp) -/* 05BFE8 7F0274B8 8FAF006C */ lw $t7, 0x6c($sp) -/* 05BFEC 7F0274BC 240100C8 */ li $at, 200 -/* 05BFF0 7F0274C0 24030001 */ li $v1, 1 -/* 05BFF4 7F0274C4 C7A2003C */ lwc1 $f2, 0x3c($sp) -/* 05BFF8 7F0274C8 15E10008 */ bne $t7, $at, .L7F0274EC -/* 05BFFC 7F0274CC E7A00040 */ swc1 $f0, 0x40($sp) -/* 05C000 7F0274D0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05C004 7F0274D4 44818000 */ mtc1 $at, $f16 -/* 05C008 7F0274D8 2418000F */ li $t8, 15 -/* 05C00C 7F0274DC AFB8006C */ sw $t8, 0x6c($sp) -/* 05C010 7F0274E0 46101082 */ mul.s $f2, $f2, $f16 -/* 05C014 7F0274E4 1000000B */ b .L7F027514 -/* 05C018 7F0274E8 8FAB0074 */ lw $t3, 0x74($sp) -.L7F0274EC: -/* 05C01C 7F0274EC 8FB9006C */ lw $t9, 0x6c($sp) -/* 05C020 7F0274F0 240100C9 */ li $at, 201 -/* 05C024 7F0274F4 17210006 */ bne $t9, $at, .L7F027510 -/* 05C028 7F0274F8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 05C02C 7F0274FC 44819000 */ mtc1 $at, $f18 -/* 05C030 7F027500 2408000F */ li $t0, 15 -/* 05C034 7F027504 AFA8006C */ sw $t0, 0x6c($sp) -/* 05C038 7F027508 46121082 */ mul.s $f2, $f2, $f18 -/* 05C03C 7F02750C 00000000 */ nop -.L7F027510: -/* 05C040 7F027510 8FAB0074 */ lw $t3, 0x74($sp) -.L7F027514: -/* 05C044 7F027514 8FAA006C */ lw $t2, 0x6c($sp) -/* 05C048 7F027518 8FAC006C */ lw $t4, 0x6c($sp) -/* 05C04C 7F02751C 55630039 */ bnel $t3, $v1, .L7F027604 -/* 05C050 7F027520 24010008 */ li $at, 8 -/* 05C054 7F027524 82020007 */ lb $v0, 7($s0) -/* 05C058 7F027528 2401000E */ li $at, 14 -/* 05C05C 7F02752C 50620035 */ beql $v1, $v0, .L7F027604 -/* 05C060 7F027530 24010008 */ li $at, 8 -/* 05C064 7F027534 10410032 */ beq $v0, $at, .L7F027600 -/* 05C068 7F027538 24010010 */ li $at, 16 -/* 05C06C 7F02753C 10410030 */ beq $v0, $at, .L7F027600 -/* 05C070 7F027540 24010003 */ li $at, 3 -/* 05C074 7F027544 1041002E */ beq $v0, $at, .L7F027600 -/* 05C078 7F027548 2401000F */ li $at, 15 -/* 05C07C 7F02754C 14410003 */ bne $v0, $at, .L7F02755C -/* 05C080 7F027550 00000000 */ nop -/* 05C084 7F027554 92090059 */ lbu $t1, 0x59($s0) -/* 05C088 7F027558 11200029 */ beqz $t1, .L7F027600 -.L7F02755C: -/* 05C08C 7F02755C 3C018005 */ lui $at, %hi(D_80051DDC) -/* 05C090 7F027560 C4241DDC */ lwc1 $f4, %lo(D_80051DDC)($at) -/* 05C094 7F027564 3C018005 */ lui $at, %hi(D_80051DE0) -/* 05C098 7F027568 4604003C */ c.lt.s $f0, $f4 -/* 05C09C 7F02756C 00000000 */ nop -/* 05C0A0 7F027570 45030008 */ bc1tl .L7F027594 -/* 05C0A4 7F027574 3C013E00 */ lui $at, 0x3e00 -/* 05C0A8 7F027578 C4261DE0 */ lwc1 $f6, %lo(D_80051DE0)($at) -/* 05C0AC 7F02757C 3C018005 */ lui $at, %hi(D_80051DE4) -/* 05C0B0 7F027580 4600303C */ c.lt.s $f6, $f0 -/* 05C0B4 7F027584 00000000 */ nop -/* 05C0B8 7F027588 45000007 */ bc1f .L7F0275A8 -/* 05C0BC 7F02758C 00000000 */ nop -/* 05C0C0 7F027590 3C013E00 */ li $at, 0x3E000000 # 0.125000 -.L7F027594: -/* 05C0C4 7F027594 44814000 */ mtc1 $at, $f8 -/* 05C0C8 7F027598 00000000 */ nop -/* 05C0CC 7F02759C 46081082 */ mul.s $f2, $f2, $f8 -/* 05C0D0 7F0275A0 10000018 */ b .L7F027604 -/* 05C0D4 7F0275A4 24010008 */ li $at, 8 -.L7F0275A8: -/* 05C0D8 7F0275A8 C42A1DE4 */ lwc1 $f10, %lo(D_80051DE4)($at) -/* 05C0DC 7F0275AC 3C018005 */ lui $at, %hi(D_80051DE8) -/* 05C0E0 7F0275B0 460A003C */ c.lt.s $f0, $f10 -/* 05C0E4 7F0275B4 00000000 */ nop -/* 05C0E8 7F0275B8 45030008 */ bc1tl .L7F0275DC -/* 05C0EC 7F0275BC 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 05C0F0 7F0275C0 C4301DE8 */ lwc1 $f16, %lo(D_80051DE8)($at) -/* 05C0F4 7F0275C4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05C0F8 7F0275C8 4600803C */ c.lt.s $f16, $f0 -/* 05C0FC 7F0275CC 00000000 */ nop -/* 05C100 7F0275D0 45020008 */ bc1fl .L7F0275F4 -/* 05C104 7F0275D4 44812000 */ mtc1 $at, $f4 -/* 05C108 7F0275D8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -.L7F0275DC: -/* 05C10C 7F0275DC 44819000 */ mtc1 $at, $f18 -/* 05C110 7F0275E0 00000000 */ nop -/* 05C114 7F0275E4 46121082 */ mul.s $f2, $f2, $f18 -/* 05C118 7F0275E8 10000006 */ b .L7F027604 -/* 05C11C 7F0275EC 24010008 */ li $at, 8 -/* 05C120 7F0275F0 44812000 */ mtc1 $at, $f4 -.L7F0275F4: -/* 05C124 7F0275F4 00000000 */ nop -/* 05C128 7F0275F8 46041082 */ mul.s $f2, $f2, $f4 -/* 05C12C 7F0275FC 00000000 */ nop -.L7F027600: -/* 05C130 7F027600 24010008 */ li $at, 8 -.L7F027604: -/* 05C134 7F027604 15410006 */ bne $t2, $at, .L7F027620 -/* 05C138 7F027608 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 05C13C 7F02760C 44813000 */ mtc1 $at, $f6 -/* 05C140 7F027610 00000000 */ nop -/* 05C144 7F027614 46061082 */ mul.s $f2, $f2, $f6 -/* 05C148 7F027618 10000012 */ b .L7F027664 -/* 05C14C 7F02761C 8E0F0018 */ lw $t7, 0x18($s0) -.L7F027620: -/* 05C150 7F027620 2401000F */ li $at, 15 -/* 05C154 7F027624 15810003 */ bne $t4, $at, .L7F027634 -/* 05C158 7F027628 8FAD006C */ lw $t5, 0x6c($sp) -/* 05C15C 7F02762C 1000000C */ b .L7F027660 -/* 05C160 7F027630 46021080 */ add.s $f2, $f2, $f2 -.L7F027634: -/* 05C164 7F027634 24010064 */ li $at, 100 -/* 05C168 7F027638 15A10004 */ bne $t5, $at, .L7F02764C -/* 05C16C 7F02763C 8FAE006C */ lw $t6, 0x6c($sp) -/* 05C170 7F027640 44801000 */ mtc1 $zero, $f2 -/* 05C174 7F027644 10000007 */ b .L7F027664 -/* 05C178 7F027648 8E0F0018 */ lw $t7, 0x18($s0) -.L7F02764C: -/* 05C17C 7F02764C 2401006E */ li $at, 110 -/* 05C180 7F027650 55C10004 */ bnel $t6, $at, .L7F027664 -/* 05C184 7F027654 8E0F0018 */ lw $t7, 0x18($s0) -/* 05C188 7F027658 44801000 */ mtc1 $zero, $f2 -/* 05C18C 7F02765C 00000000 */ nop -.L7F027660: -/* 05C190 7F027660 8E0F0018 */ lw $t7, 0x18($s0) -.L7F027664: -/* 05C194 7F027664 24010006 */ li $at, 6 -/* 05C198 7F027668 91F80000 */ lbu $t8, ($t7) -/* 05C19C 7F02766C 57010018 */ bnel $t8, $at, .L7F0276D0 -/* 05C1A0 7F027670 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 05C1A4 7F027674 0FC26C54 */ jal get_cur_playernum -/* 05C1A8 7F027678 E7A2003C */ swc1 $f2, 0x3c($sp) -/* 05C1AC 7F02767C AFA20038 */ sw $v0, 0x38($sp) -/* 05C1B0 7F027680 0FC26C57 */ jal sub_GAME_7F09B15C -/* 05C1B4 7F027684 8E040018 */ lw $a0, 0x18($s0) -/* 05C1B8 7F027688 0FC26C43 */ jal set_cur_player -/* 05C1BC 7F02768C 00402025 */ move $a0, $v0 -/* 05C1C0 7F027690 8FB90070 */ lw $t9, 0x70($sp) -/* 05C1C4 7F027694 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 05C1C8 7F027698 C7A2003C */ lwc1 $f2, 0x3c($sp) -/* 05C1CC 7F02769C 44814000 */ mtc1 $at, $f8 -/* 05C1D0 7F0276A0 24080001 */ li $t0, 1 -/* 05C1D4 7F0276A4 C72E0000 */ lwc1 $f14, ($t9) -/* 05C1D8 7F0276A8 8F260008 */ lw $a2, 8($t9) -/* 05C1DC 7F0276AC 46081302 */ mul.s $f12, $f2, $f8 -/* 05C1E0 7F0276B0 AFA80010 */ sw $t0, 0x10($sp) -/* 05C1E4 7F0276B4 0FC22647 */ jal record_damage_kills -/* 05C1E8 7F0276B8 8FA70038 */ lw $a3, 0x38($sp) -/* 05C1EC 7F0276BC 0FC26C43 */ jal set_cur_player -/* 05C1F0 7F0276C0 8FA40038 */ lw $a0, 0x38($sp) -/* 05C1F4 7F0276C4 1000001A */ b .L7F027730 -/* 05C1F8 7F0276C8 8FAA006C */ lw $t2, 0x6c($sp) -/* 05C1FC 7F0276CC C60A00FC */ lwc1 $f10, 0xfc($s0) -.L7F0276D0: -/* 05C200 7F0276D0 44802000 */ mtc1 $zero, $f4 -/* 05C204 7F0276D4 8E0B0014 */ lw $t3, 0x14($s0) -/* 05C208 7F0276D8 46025400 */ add.s $f16, $f10, $f2 -/* 05C20C 7F0276DC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 05C210 7F0276E0 35690100 */ ori $t1, $t3, 0x100 -/* 05C214 7F0276E4 AE090014 */ sw $t1, 0x14($s0) -/* 05C218 7F0276E8 E61000FC */ swc1 $f16, 0xfc($s0) -/* 05C21C 7F0276EC C61200FC */ lwc1 $f18, 0xfc($s0) -/* 05C220 7F0276F0 02002025 */ move $a0, $s0 -/* 05C224 7F0276F4 4604903C */ c.lt.s $f18, $f4 -/* 05C228 7F0276F8 00000000 */ nop -/* 05C22C 7F0276FC 4502000C */ bc1fl .L7F027730 -/* 05C230 7F027700 8FAA006C */ lw $t2, 0x6c($sp) -/* 05C234 7F027704 44813000 */ mtc1 $at, $f6 -/* 05C238 7F027708 27A50034 */ addiu $a1, $sp, 0x34 -/* 05C23C 7F02770C 0FC09BCC */ jal sub_GAME_7F026F30 -/* 05C240 7F027710 E7A60034 */ swc1 $f6, 0x34($sp) -/* 05C244 7F027714 54400006 */ bnezl $v0, .L7F027730 -/* 05C248 7F027718 8FAA006C */ lw $t2, 0x6c($sp) -/* 05C24C 7F02771C 0FC081B5 */ jal sub_GAME_7F0206D4 -/* 05C250 7F027720 02002025 */ move $a0, $s0 -/* 05C254 7F027724 10000032 */ b .L7F0277F0 -/* 05C258 7F027728 00001025 */ move $v0, $zero -/* 05C25C 7F02772C 8FAA006C */ lw $t2, 0x6c($sp) -.L7F027730: -/* 05C260 7F027730 2401006E */ li $at, 110 -/* 05C264 7F027734 1141002D */ beq $t2, $at, .L7F0277EC -/* 05C268 7F027738 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 05C26C 7F02773C 44814000 */ mtc1 $at, $f8 -/* 05C270 7F027740 02002025 */ move $a0, $s0 -/* 05C274 7F027744 0FC09C18 */ jal play_sound_for_shot_actor -/* 05C278 7F027748 E7A80030 */ swc1 $f8, 0x30($sp) -/* 05C27C 7F02774C 02002025 */ move $a0, $s0 -/* 05C280 7F027750 0FC09BCC */ jal sub_GAME_7F026F30 -/* 05C284 7F027754 27A50030 */ addiu $a1, $sp, 0x30 -/* 05C288 7F027758 1040001E */ beqz $v0, .L7F0277D4 -/* 05C28C 7F02775C 02002025 */ move $a0, $s0 -/* 05C290 7F027760 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 05C294 7F027764 44808000 */ mtc1 $zero, $f16 -/* 05C298 7F027768 00000000 */ nop -/* 05C29C 7F02776C 460A803E */ c.le.s $f16, $f10 -/* 05C2A0 7F027770 00000000 */ nop -/* 05C2A4 7F027774 45020005 */ bc1fl .L7F02778C -/* 05C2A8 7F027778 240C0007 */ li $t4, 7 -/* 05C2AC 7F02777C 44055000 */ mfc1 $a1, $f10 -/* 05C2B0 7F027780 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05C2B4 7F027784 8E04001C */ lw $a0, 0x1c($s0) -/* 05C2B8 7F027788 240C0007 */ li $t4, 7 -.L7F02778C: -/* 05C2BC 7F02778C A20C0007 */ sb $t4, 7($s0) -/* 05C2C0 7F027790 8FAD0070 */ lw $t5, 0x70($sp) -/* 05C2C4 7F027794 C5B20000 */ lwc1 $f18, ($t5) -/* 05C2C8 7F027798 E612002C */ swc1 $f18, 0x2c($s0) -/* 05C2CC 7F02779C 8FAE0070 */ lw $t6, 0x70($sp) -/* 05C2D0 7F0277A0 C5C40004 */ lwc1 $f4, 4($t6) -/* 05C2D4 7F0277A4 E6040030 */ swc1 $f4, 0x30($s0) -/* 05C2D8 7F0277A8 8FAF0070 */ lw $t7, 0x70($sp) -/* 05C2DC 7F0277AC C5E60008 */ lwc1 $f6, 8($t7) -/* 05C2E0 7F0277B0 E6060034 */ swc1 $f6, 0x34($s0) -/* 05C2E4 7F0277B4 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 05C2E8 7F0277B8 E6080038 */ swc1 $f8, 0x38($s0) -/* 05C2EC 7F0277BC 8FB8006C */ lw $t8, 0x6c($sp) -/* 05C2F0 7F0277C0 AE18003C */ sw $t8, 0x3c($s0) -/* 05C2F4 7F0277C4 8FB90074 */ lw $t9, 0x74($sp) -/* 05C2F8 7F0277C8 A2000008 */ sb $zero, 8($s0) -/* 05C2FC 7F0277CC 10000007 */ b .L7F0277EC -/* 05C300 7F0277D0 AE190040 */ sw $t9, 0x40($s0) -.L7F0277D4: -/* 05C304 7F0277D4 8FA80074 */ lw $t0, 0x74($sp) -/* 05C308 7F0277D8 8FA50070 */ lw $a1, 0x70($sp) -/* 05C30C 7F0277DC 8FA60040 */ lw $a2, 0x40($sp) -/* 05C310 7F0277E0 8FA7006C */ lw $a3, 0x6c($sp) -/* 05C314 7F0277E4 0FC09942 */ jal triggered_on_shot_hit -/* 05C318 7F0277E8 AFA80010 */ sw $t0, 0x10($sp) -.L7F0277EC: -/* 05C31C 7F0277EC 24020001 */ li $v0, 1 -.L7F0277F0: -/* 05C320 7F0277F0 8FBF0024 */ lw $ra, 0x24($sp) -/* 05C324 7F0277F4 8FB00020 */ lw $s0, 0x20($sp) -/* 05C328 7F0277F8 27BD0068 */ addiu $sp, $sp, 0x68 -/* 05C32C 7F0277FC 03E00008 */ jr $ra -/* 05C330 7F027800 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F027804(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DEC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051DF0 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F027804 -/* 05C334 7F027804 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 05C338 7F027808 AFBF0024 */ sw $ra, 0x24($sp) -/* 05C33C 7F02780C AFB00020 */ sw $s0, 0x20($sp) -/* 05C340 7F027810 AFA60060 */ sw $a2, 0x60($sp) -/* 05C344 7F027814 AFA70064 */ sw $a3, 0x64($sp) -/* 05C348 7F027818 80830007 */ lb $v1, 7($a0) -/* 05C34C 7F02781C 24010005 */ li $at, 5 -/* 05C350 7F027820 00808025 */ move $s0, $a0 -/* 05C354 7F027824 8C86001C */ lw $a2, 0x1c($a0) -/* 05C358 7F027828 10610004 */ beq $v1, $at, .L7F02783C -/* 05C35C 7F02782C 8C820018 */ lw $v0, 0x18($a0) -/* 05C360 7F027830 24010004 */ li $at, 4 -/* 05C364 7F027834 54610004 */ bnel $v1, $at, .L7F027848 -/* 05C368 7F027838 8E0E0014 */ lw $t6, 0x14($s0) -.L7F02783C: -/* 05C36C 7F02783C 100000E8 */ b .L7F027BE0 -/* 05C370 7F027840 00001025 */ move $v0, $zero -/* 05C374 7F027844 8E0E0014 */ lw $t6, 0x14($s0) -.L7F027848: -/* 05C378 7F027848 3C010020 */ lui $at, 0x20 -/* 05C37C 7F02784C 01C11825 */ or $v1, $t6, $at -/* 05C380 7F027850 30780010 */ andi $t8, $v1, 0x10 -/* 05C384 7F027854 13000003 */ beqz $t8, .L7F027864 -/* 05C388 7F027858 AE030014 */ sw $v1, 0x14($s0) -/* 05C38C 7F02785C 100000E0 */ b .L7F027BE0 -/* 05C390 7F027860 00001025 */ move $v0, $zero -.L7F027864: -/* 05C394 7F027864 8219000B */ lb $t9, 0xb($s0) -/* 05C398 7F027868 C60400FC */ lwc1 $f4, 0xfc($s0) -/* 05C39C 7F02786C 44805000 */ mtc1 $zero, $f10 -/* 05C3A0 7F027870 27280001 */ addiu $t0, $t9, 1 -/* 05C3A4 7F027874 A208000B */ sb $t0, 0xb($s0) -/* 05C3A8 7F027878 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 05C3AC 7F02787C 34690100 */ ori $t1, $v1, 0x100 -/* 05C3B0 7F027880 AE090014 */ sw $t1, 0x14($s0) -/* 05C3B4 7F027884 46062200 */ add.s $f8, $f4, $f6 -/* 05C3B8 7F027888 E60800FC */ swc1 $f8, 0xfc($s0) -/* 05C3BC 7F02788C C60400FC */ lwc1 $f4, 0xfc($s0) -/* 05C3C0 7F027890 4604503C */ c.lt.s $f10, $f4 -/* 05C3C4 7F027894 00000000 */ nop -/* 05C3C8 7F027898 450200D1 */ bc1fl .L7F027BE0 -/* 05C3CC 7F02789C 00001025 */ move $v0, $zero -/* 05C3D0 7F0278A0 C6060100 */ lwc1 $f6, 0x100($s0) -/* 05C3D4 7F0278A4 00C02025 */ move $a0, $a2 -/* 05C3D8 7F0278A8 E60600FC */ swc1 $f6, 0xfc($s0) -/* 05C3DC 7F0278AC AFA60054 */ sw $a2, 0x54($sp) -/* 05C3E0 7F0278B0 AFA5005C */ sw $a1, 0x5c($sp) -/* 05C3E4 7F0278B4 0FC1B320 */ jal getsubroty -/* 05C3E8 7F0278B8 AFA20050 */ sw $v0, 0x50($sp) -/* 05C3EC 7F0278BC 8FA20050 */ lw $v0, 0x50($sp) -/* 05C3F0 7F0278C0 8FA5005C */ lw $a1, 0x5c($sp) -/* 05C3F4 7F0278C4 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 05C3F8 7F0278C8 C4440010 */ lwc1 $f4, 0x10($v0) -/* 05C3FC 7F0278CC C4480008 */ lwc1 $f8, 8($v0) -/* 05C400 7F0278D0 C4A60008 */ lwc1 $f6, 8($a1) -/* 05C404 7F0278D4 C4AA0000 */ lwc1 $f10, ($a1) -/* 05C408 7F0278D8 46062381 */ sub.s $f14, $f4, $f6 -/* 05C40C 7F0278DC 0FC16A8C */ jal convert_angle_using_inverse -/* 05C410 7F0278E0 460A4301 */ sub.s $f12, $f8, $f10 -/* 05C414 7F0278E4 8FA20050 */ lw $v0, 0x50($sp) -/* 05C418 7F0278E8 8FA5005C */ lw $a1, 0x5c($sp) -/* 05C41C 7F0278EC 44801000 */ mtc1 $zero, $f2 -/* 05C420 7F0278F0 C4480008 */ lwc1 $f8, 8($v0) -/* 05C424 7F0278F4 C4AA0000 */ lwc1 $f10, ($a1) -/* 05C428 7F0278F8 46000406 */ mov.s $f16, $f0 -/* 05C42C 7F0278FC 460A4101 */ sub.s $f4, $f8, $f10 -/* 05C430 7F027900 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 05C434 7F027904 C446000C */ lwc1 $f6, 0xc($v0) -/* 05C438 7F027908 C4A80004 */ lwc1 $f8, 4($a1) -/* 05C43C 7F02790C 46083281 */ sub.s $f10, $f6, $f8 -/* 05C440 7F027910 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 05C444 7F027914 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 05C448 7F027918 C4440010 */ lwc1 $f4, 0x10($v0) -/* 05C44C 7F02791C C4A60008 */ lwc1 $f6, 8($a1) -/* 05C450 7F027920 460A1032 */ c.eq.s $f2, $f10 -/* 05C454 7F027924 46062201 */ sub.s $f8, $f4, $f6 -/* 05C458 7F027928 4500000E */ bc1f .L7F027964 -/* 05C45C 7F02792C E7A80034 */ swc1 $f8, 0x34($sp) -/* 05C460 7F027930 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 05C464 7F027934 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 05C468 7F027938 460E1032 */ c.eq.s $f2, $f14 -/* 05C46C 7F02793C 00000000 */ nop -/* 05C470 7F027940 45020009 */ bc1fl .L7F027968 -/* 05C474 7F027944 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 05C478 7F027948 46121032 */ c.eq.s $f2, $f18 -/* 05C47C 7F02794C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05C480 7F027950 45020005 */ bc1fl .L7F027968 -/* 05C484 7F027954 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 05C488 7F027958 44819000 */ mtc1 $at, $f18 -/* 05C48C 7F02795C 00000000 */ nop -/* 05C490 7F027960 E7B20034 */ swc1 $f18, 0x34($sp) -.L7F027964: -/* 05C494 7F027964 C7A0002C */ lwc1 $f0, 0x2c($sp) -.L7F027968: -/* 05C498 7F027968 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 05C49C 7F02796C C7B20034 */ lwc1 $f18, 0x34($sp) -/* 05C4A0 7F027970 46000102 */ mul.s $f4, $f0, $f0 -/* 05C4A4 7F027974 E7B00048 */ swc1 $f16, 0x48($sp) -/* 05C4A8 7F027978 460E7182 */ mul.s $f6, $f14, $f14 -/* 05C4AC 7F02797C 46062200 */ add.s $f8, $f4, $f6 -/* 05C4B0 7F027980 46129282 */ mul.s $f10, $f18, $f18 -/* 05C4B4 7F027984 0C007DF8 */ jal sqrtf -/* 05C4B8 7F027988 46085300 */ add.s $f12, $f10, $f8 -/* 05C4BC 7F02798C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 05C4C0 7F027990 44812000 */ mtc1 $at, $f4 -/* 05C4C4 7F027994 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 05C4C8 7F027998 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 05C4CC 7F02799C C7B00048 */ lwc1 $f16, 0x48($sp) -/* 05C4D0 7F0279A0 46062282 */ mul.s $f10, $f4, $f6 -/* 05C4D4 7F0279A4 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 05C4D8 7F0279A8 C7B2004C */ lwc1 $f18, 0x4c($sp) -/* 05C4DC 7F0279AC 4612803C */ c.lt.s $f16, $f18 -/* 05C4E0 7F0279B0 46005083 */ div.s $f2, $f10, $f0 -/* 05C4E4 7F0279B4 46128381 */ sub.s $f14, $f16, $f18 -/* 05C4E8 7F0279B8 46007306 */ mov.s $f12, $f14 -/* 05C4EC 7F0279BC 46024102 */ mul.s $f4, $f8, $f2 -/* 05C4F0 7F0279C0 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 05C4F4 7F0279C4 46023282 */ mul.s $f10, $f6, $f2 -/* 05C4F8 7F0279C8 00000000 */ nop -/* 05C4FC 7F0279CC 46024182 */ mul.s $f6, $f8, $f2 -/* 05C500 7F0279D0 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 05C504 7F0279D4 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 05C508 7F0279D8 E7A60034 */ swc1 $f6, 0x34($sp) -/* 05C50C 7F0279DC E60400B0 */ swc1 $f4, 0xb0($s0) -/* 05C510 7F0279E0 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 05C514 7F0279E4 E60A00B4 */ swc1 $f10, 0xb4($s0) -/* 05C518 7F0279E8 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 05C51C 7F0279EC 45000004 */ bc1f .L7F027A00 -/* 05C520 7F0279F0 E60800B8 */ swc1 $f8, 0xb8($s0) -/* 05C524 7F0279F4 3C018005 */ lui $at, %hi(D_80051DEC) -/* 05C528 7F0279F8 C4261DEC */ lwc1 $f6, %lo(D_80051DEC)($at) -/* 05C52C 7F0279FC 46067300 */ add.s $f12, $f14, $f6 -.L7F027A00: -/* 05C530 7F027A00 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 05C534 7F027A04 44812000 */ mtc1 $at, $f4 -/* 05C538 7F027A08 3C018005 */ lui $at, %hi(D_80051DF0) -/* 05C53C 7F027A0C C4281DF0 */ lwc1 $f8, %lo(D_80051DF0)($at) -/* 05C540 7F027A10 46046282 */ mul.s $f10, $f12, $f4 -/* 05C544 7F027A14 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05C548 7F027A18 44812000 */ mtc1 $at, $f4 -/* 05C54C 7F027A1C 46085183 */ div.s $f6, $f10, $f8 -/* 05C550 7F027A20 46043280 */ add.s $f10, $f6, $f4 -/* 05C554 7F027A24 4600520D */ trunc.w.s $f8, $f10 -/* 05C558 7F027A28 44074000 */ mfc1 $a3, $f8 -/* 05C55C 7F027A2C 00000000 */ nop -/* 05C560 7F027A30 28E10008 */ slti $at, $a3, 8 -/* 05C564 7F027A34 14200002 */ bnez $at, .L7F027A40 -/* 05C568 7F027A38 00000000 */ nop -/* 05C56C 7F027A3C 00003825 */ move $a3, $zero -.L7F027A40: -/* 05C570 7F027A40 0C002914 */ jal get_random_value -/* 05C574 7F027A44 AFA70040 */ sw $a3, 0x40($sp) -/* 05C578 7F027A48 8FA70040 */ lw $a3, 0x40($sp) -/* 05C57C 7F027A4C 3C0C8003 */ lui $t4, %hi(explosion_animation_table) -/* 05C580 7F027A50 258CE960 */ addiu $t4, %lo(explosion_animation_table) # addiu $t4, $t4, -0x16a0 -/* 05C584 7F027A54 000758C0 */ sll $t3, $a3, 3 -/* 05C588 7F027A58 016C2821 */ addu $a1, $t3, $t4 -/* 05C58C 7F027A5C 8CAD0004 */ lw $t5, 4($a1) -/* 05C590 7F027A60 8CAE0000 */ lw $t6, ($a1) -/* 05C594 7F027A64 3C088003 */ lui $t0, %hi(D_8002E648) -/* 05C598 7F027A68 004D001B */ divu $zero, $v0, $t5 -/* 05C59C 7F027A6C 00003010 */ mfhi $a2 -/* 05C5A0 7F027A70 01C67821 */ addu $t7, $t6, $a2 -/* 05C5A4 7F027A74 81F80000 */ lb $t8, ($t7) -/* 05C5A8 7F027A78 2508E648 */ addiu $t0, %lo(D_8002E648) # addiu $t0, $t0, -0x19b8 -/* 05C5AC 7F027A7C 15A00002 */ bnez $t5, .L7F027A88 -/* 05C5B0 7F027A80 00000000 */ nop -/* 05C5B4 7F027A84 0007000D */ break 7 -.L7F027A88: -/* 05C5B8 7F027A88 0018C8C0 */ sll $t9, $t8, 3 -/* 05C5BC 7F027A8C 0338C823 */ subu $t9, $t9, $t8 -/* 05C5C0 7F027A90 0019C880 */ sll $t9, $t9, 2 -/* 05C5C4 7F027A94 03281821 */ addu $v1, $t9, $t0 -/* 05C5C8 7F027A98 AFA30038 */ sw $v1, 0x38($sp) -/* 05C5CC 7F027A9C 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05C5D0 7F027AA0 02002025 */ move $a0, $s0 -/* 05C5D4 7F027AA4 8FA30038 */ lw $v1, 0x38($sp) -/* 05C5D8 7F027AA8 24090004 */ li $t1, 4 -/* 05C5DC 7F027AAC A2090007 */ sb $t1, 7($s0) -/* 05C5E0 7F027AB0 AE00002C */ sw $zero, 0x2c($s0) -/* 05C5E4 7F027AB4 C4660014 */ lwc1 $f6, 0x14($v1) -/* 05C5E8 7F027AB8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 05C5EC 7F027ABC 44812000 */ mtc1 $at, $f4 -/* 05C5F0 7F027AC0 44805000 */ mtc1 $zero, $f10 -/* 05C5F4 7F027AC4 E6060030 */ swc1 $f6, 0x30($s0) -/* 05C5F8 7F027AC8 A2000008 */ sb $zero, 8($s0) -/* 05C5FC 7F027ACC E6040034 */ swc1 $f4, 0x34($s0) -/* 05C600 7F027AD0 E60A0038 */ swc1 $f10, 0x38($s0) -/* 05C604 7F027AD4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 05C608 7F027AD8 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 05C60C 7F027ADC 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 05C610 7F027AE0 44813000 */ mtc1 $at, $f6 -/* 05C614 7F027AE4 C4680008 */ lwc1 $f8, 8($v1) -/* 05C618 7F027AE8 8C6A0000 */ lw $t2, ($v1) -/* 05C61C 7F027AEC 8C67000C */ lw $a3, 0xc($v1) -/* 05C620 7F027AF0 8C660004 */ lw $a2, 4($v1) -/* 05C624 7F027AF4 8FA40054 */ lw $a0, 0x54($sp) -/* 05C628 7F027AF8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05C62C 7F027AFC E7A80010 */ swc1 $f8, 0x10($sp) -/* 05C630 7F027B00 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05C634 7F027B04 014B2821 */ addu $a1, $t2, $t3 -/* 05C638 7F027B08 8FA30038 */ lw $v1, 0x38($sp) -/* 05C63C 7F027B0C 44802000 */ mtc1 $zero, $f4 -/* 05C640 7F027B10 C4600018 */ lwc1 $f0, 0x18($v1) -/* 05C644 7F027B14 4600203E */ c.le.s $f4, $f0 -/* 05C648 7F027B18 00000000 */ nop -/* 05C64C 7F027B1C 45020005 */ bc1fl .L7F027B34 -/* 05C650 7F027B20 8FAC0064 */ lw $t4, 0x64($sp) -/* 05C654 7F027B24 44050000 */ mfc1 $a1, $f0 -/* 05C658 7F027B28 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05C65C 7F027B2C 8FA40054 */ lw $a0, 0x54($sp) -/* 05C660 7F027B30 8FAC0064 */ lw $t4, 0x64($sp) -.L7F027B34: -/* 05C664 7F027B34 11800003 */ beqz $t4, .L7F027B44 -/* 05C668 7F027B38 00000000 */ nop -/* 05C66C 7F027B3C 0FC09C18 */ jal play_sound_for_shot_actor -/* 05C670 7F027B40 02002025 */ move $a0, $s0 -.L7F027B44: -/* 05C674 7F027B44 0FC086C8 */ jal sub_GAME_7F021B20 -/* 05C678 7F027B48 02002025 */ move $a0, $s0 -/* 05C67C 7F027B4C 0FC1A9E0 */ jal increment_num_kills_display_text_in_MP -/* 05C680 7F027B50 00000000 */ nop -/* 05C684 7F027B54 8E0D0014 */ lw $t5, 0x14($s0) -/* 05C688 7F027B58 000D72C0 */ sll $t6, $t5, 0xb -/* 05C68C 7F027B5C 05C30004 */ bgezl $t6, .L7F027B70 -/* 05C690 7F027B60 8E040160 */ lw $a0, 0x160($s0) -/* 05C694 7F027B64 0FC1A9D6 */ jal inc_cur_civilian_casualties -/* 05C698 7F027B68 00000000 */ nop -/* 05C69C 7F027B6C 8E040160 */ lw $a0, 0x160($s0) -.L7F027B70: -/* 05C6A0 7F027B70 5080000C */ beql $a0, $zero, .L7F027BA4 -/* 05C6A4 7F027B74 8E040164 */ lw $a0, 0x164($s0) -/* 05C6A8 7F027B78 8C8F0004 */ lw $t7, 4($a0) -/* 05C6AC 7F027B7C 8DF80008 */ lw $t8, 8($t7) -/* 05C6B0 7F027B80 33192000 */ andi $t9, $t8, 0x2000 -/* 05C6B4 7F027B84 57200007 */ bnezl $t9, .L7F027BA4 -/* 05C6B8 7F027B88 8E040164 */ lw $a0, 0x164($s0) -/* 05C6BC 7F027B8C 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 05C6C0 7F027B90 24050001 */ li $a1, 1 -/* 05C6C4 7F027B94 96080012 */ lhu $t0, 0x12($s0) -/* 05C6C8 7F027B98 35090001 */ ori $t1, $t0, 1 -/* 05C6CC 7F027B9C A6090012 */ sh $t1, 0x12($s0) -/* 05C6D0 7F027BA0 8E040164 */ lw $a0, 0x164($s0) -.L7F027BA4: -/* 05C6D4 7F027BA4 1080000B */ beqz $a0, .L7F027BD4 -/* 05C6D8 7F027BA8 00000000 */ nop -/* 05C6DC 7F027BAC 8C8A0004 */ lw $t2, 4($a0) -/* 05C6E0 7F027BB0 8D4B0008 */ lw $t3, 8($t2) -/* 05C6E4 7F027BB4 316C2000 */ andi $t4, $t3, 0x2000 -/* 05C6E8 7F027BB8 15800006 */ bnez $t4, .L7F027BD4 -/* 05C6EC 7F027BBC 00000000 */ nop -/* 05C6F0 7F027BC0 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 05C6F4 7F027BC4 24050001 */ li $a1, 1 -/* 05C6F8 7F027BC8 960D0012 */ lhu $t5, 0x12($s0) -/* 05C6FC 7F027BCC 35AE0001 */ ori $t6, $t5, 1 -/* 05C700 7F027BD0 A60E0012 */ sh $t6, 0x12($s0) -.L7F027BD4: -/* 05C704 7F027BD4 10000002 */ b .L7F027BE0 -/* 05C708 7F027BD8 24020001 */ li $v0, 1 -/* 05C70C 7F027BDC 00001025 */ move $v0, $zero -.L7F027BE0: -/* 05C710 7F027BE0 8FBF0024 */ lw $ra, 0x24($sp) -/* 05C714 7F027BE4 8FB00020 */ lw $s0, 0x20($sp) -/* 05C718 7F027BE8 27BD0058 */ addiu $sp, $sp, 0x58 -/* 05C71C 7F027BEC 03E00008 */ jr $ra -/* 05C720 7F027BF0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_ptrpreset_in_table_matching_tile(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptrpreset_in_table_matching_tile -/* 05C724 7F027BF4 3C028007 */ lui $v0, %hi(ptr_setup_path_tbl) -/* 05C728 7F027BF8 8C425D00 */ lw $v0, %lo(ptr_setup_path_tbl)($v0) -/* 05C72C 7F027BFC 00803025 */ move $a2, $a0 -/* 05C730 7F027C00 50400015 */ beql $v0, $zero, .L7F027C58 -/* 05C734 7F027C04 00001025 */ move $v0, $zero -/* 05C738 7F027C08 8C4E0000 */ lw $t6, ($v0) -/* 05C73C 7F027C0C 00401825 */ move $v1, $v0 -/* 05C740 7F027C10 3C058007 */ lui $a1, %hi(ptr_0xxxpresets) -/* 05C744 7F027C14 05C0000F */ bltz $t6, .L7F027C54 -/* 05C748 7F027C18 2407002C */ li $a3, 44 -/* 05C74C 7F027C1C 8C440000 */ lw $a0, ($v0) -/* 05C750 7F027C20 8CA55D18 */ lw $a1, %lo(ptr_0xxxpresets)($a1) -.L7F027C24: -/* 05C754 7F027C24 00870019 */ multu $a0, $a3 -/* 05C758 7F027C28 00007812 */ mflo $t7 -/* 05C75C 7F027C2C 01E51021 */ addu $v0, $t7, $a1 -/* 05C760 7F027C30 8C580028 */ lw $t8, 0x28($v0) -/* 05C764 7F027C34 54D80004 */ bnel $a2, $t8, .L7F027C48 -/* 05C768 7F027C38 8C640010 */ lw $a0, 0x10($v1) -/* 05C76C 7F027C3C 03E00008 */ jr $ra -/* 05C770 7F027C40 00601025 */ move $v0, $v1 - -/* 05C774 7F027C44 8C640010 */ lw $a0, 0x10($v1) -.L7F027C48: -/* 05C778 7F027C48 24630010 */ addiu $v1, $v1, 0x10 -/* 05C77C 7F027C4C 0481FFF5 */ bgez $a0, .L7F027C24 -/* 05C780 7F027C50 00000000 */ nop -.L7F027C54: -/* 05C784 7F027C54 00001025 */ move $v0, $zero -.L7F027C58: -/* 05C788 7F027C58 03E00008 */ jr $ra -/* 05C78C 7F027C5C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_any_path_preset_lies_on_tile(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_any_path_preset_lies_on_tile -/* 05C790 7F027C60 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05C794 7F027C64 AFBF0014 */ sw $ra, 0x14($sp) -/* 05C798 7F027C68 0FC09EFD */ jal get_ptrpreset_in_table_matching_tile -/* 05C79C 7F027C6C 00000000 */ nop -/* 05C7A0 7F027C70 8FBF0014 */ lw $ra, 0x14($sp) -/* 05C7A4 7F027C74 0002702B */ sltu $t6, $zero, $v0 -/* 05C7A8 7F027C78 01C01025 */ move $v0, $t6 -/* 05C7AC 7F027C7C 03E00008 */ jr $ra -/* 05C7B0 7F027C80 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F027C84(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F027C84 -/* 05C7B4 7F027C84 8CAE0000 */ lw $t6, ($a1) -/* 05C7B8 7F027C88 3C188007 */ lui $t8, %hi(ptr_0xxxpresets) -/* 05C7BC 7F027C8C 8F185D18 */ lw $t8, %lo(ptr_0xxxpresets)($t8) -/* 05C7C0 7F027C90 000E7880 */ sll $t7, $t6, 2 -/* 05C7C4 7F027C94 01EE7823 */ subu $t7, $t7, $t6 -/* 05C7C8 7F027C98 000F7880 */ sll $t7, $t7, 2 -/* 05C7CC 7F027C9C 01EE7823 */ subu $t7, $t7, $t6 -/* 05C7D0 7F027CA0 000F7880 */ sll $t7, $t7, 2 -/* 05C7D4 7F027CA4 01F81021 */ addu $v0, $t7, $t8 -/* 05C7D8 7F027CA8 C4440000 */ lwc1 $f4, ($v0) -/* 05C7DC 7F027CAC C4860000 */ lwc1 $f6, ($a0) -/* 05C7E0 7F027CB0 C4480008 */ lwc1 $f8, 8($v0) -/* 05C7E4 7F027CB4 C48A0008 */ lwc1 $f10, 8($a0) -/* 05C7E8 7F027CB8 46062081 */ sub.s $f2, $f4, $f6 -/* 05C7EC 7F027CBC 460A4301 */ sub.s $f12, $f8, $f10 -/* 05C7F0 7F027CC0 46021402 */ mul.s $f16, $f2, $f2 -/* 05C7F4 7F027CC4 00000000 */ nop -/* 05C7F8 7F027CC8 460C6482 */ mul.s $f18, $f12, $f12 -/* 05C7FC 7F027CCC 03E00008 */ jr $ra -/* 05C800 7F027CD0 46128000 */ add.s $f0, $f16, $f18 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F027CD4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F027CD4 -/* 05C804 7F027CD4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 05C808 7F027CD8 AFB40030 */ sw $s4, 0x30($sp) -/* 05C80C 7F027CDC 0080A025 */ move $s4, $a0 -/* 05C810 7F027CE0 00A02025 */ move $a0, $a1 -/* 05C814 7F027CE4 AFBF0034 */ sw $ra, 0x34($sp) -/* 05C818 7F027CE8 AFB3002C */ sw $s3, 0x2c($sp) -/* 05C81C 7F027CEC 3C057F02 */ lui $a1, %hi(check_if_any_path_preset_lies_on_tile) # $a1, 0x7f02 -/* 05C820 7F027CF0 AFB20028 */ sw $s2, 0x28($sp) -/* 05C824 7F027CF4 AFB10024 */ sw $s1, 0x24($sp) -/* 05C828 7F027CF8 AFB00020 */ sw $s0, 0x20($sp) -/* 05C82C 7F027CFC F7B40018 */ sdc1 $f20, 0x18($sp) -/* 05C830 7F027D00 00009825 */ move $s3, $zero -/* 05C834 7F027D04 0FC2C9C6 */ jal sub_GAME_7F0B2718 -/* 05C838 7F027D08 24A57C60 */ addiu $a1, %lo(check_if_any_path_preset_lies_on_tile) # addiu $a1, $a1, 0x7c60 -/* 05C83C 7F027D0C 1040001E */ beqz $v0, .L7F027D88 -/* 05C840 7F027D10 00402025 */ move $a0, $v0 -/* 05C844 7F027D14 0FC09EFD */ jal get_ptrpreset_in_table_matching_tile -/* 05C848 7F027D18 00000000 */ nop -/* 05C84C 7F027D1C 1040001A */ beqz $v0, .L7F027D88 -/* 05C850 7F027D20 00409825 */ move $s3, $v0 -/* 05C854 7F027D24 02802025 */ move $a0, $s4 -/* 05C858 7F027D28 0FC09F21 */ jal sub_GAME_7F027C84 -/* 05C85C 7F027D2C 00402825 */ move $a1, $v0 -/* 05C860 7F027D30 8E710004 */ lw $s1, 4($s3) -/* 05C864 7F027D34 3C128007 */ lui $s2, %hi(ptr_setup_path_tbl) -/* 05C868 7F027D38 46000506 */ mov.s $f20, $f0 -/* 05C86C 7F027D3C 8E220000 */ lw $v0, ($s1) -/* 05C870 7F027D40 26525D00 */ addiu $s2, %lo(ptr_setup_path_tbl) # addiu $s2, $s2, 0x5d00 -/* 05C874 7F027D44 04420011 */ bltzl $v0, .L7F027D8C -/* 05C878 7F027D48 8FBF0034 */ lw $ra, 0x34($sp) -/* 05C87C 7F027D4C 8E4F0000 */ lw $t7, ($s2) -.L7F027D50: -/* 05C880 7F027D50 00027100 */ sll $t6, $v0, 4 -/* 05C884 7F027D54 02802025 */ move $a0, $s4 -/* 05C888 7F027D58 01CF8021 */ addu $s0, $t6, $t7 -/* 05C88C 7F027D5C 0FC09F21 */ jal sub_GAME_7F027C84 -/* 05C890 7F027D60 02002825 */ move $a1, $s0 -/* 05C894 7F027D64 4614003C */ c.lt.s $f0, $f20 -/* 05C898 7F027D68 00000000 */ nop -/* 05C89C 7F027D6C 45020003 */ bc1fl .L7F027D7C -/* 05C8A0 7F027D70 8E220004 */ lw $v0, 4($s1) -/* 05C8A4 7F027D74 02009825 */ move $s3, $s0 -/* 05C8A8 7F027D78 8E220004 */ lw $v0, 4($s1) -.L7F027D7C: -/* 05C8AC 7F027D7C 26310004 */ addiu $s1, $s1, 4 -/* 05C8B0 7F027D80 0443FFF3 */ bgezl $v0, .L7F027D50 -/* 05C8B4 7F027D84 8E4F0000 */ lw $t7, ($s2) -.L7F027D88: -/* 05C8B8 7F027D88 8FBF0034 */ lw $ra, 0x34($sp) -.L7F027D8C: -/* 05C8BC 7F027D8C 02601025 */ move $v0, $s3 -/* 05C8C0 7F027D90 8FB3002C */ lw $s3, 0x2c($sp) -/* 05C8C4 7F027D94 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 05C8C8 7F027D98 8FB00020 */ lw $s0, 0x20($sp) -/* 05C8CC 7F027D9C 8FB10024 */ lw $s1, 0x24($sp) -/* 05C8D0 7F027DA0 8FB20028 */ lw $s2, 0x28($sp) -/* 05C8D4 7F027DA4 8FB40030 */ lw $s4, 0x30($sp) -/* 05C8D8 7F027DA8 03E00008 */ jr $ra -/* 05C8DC 7F027DAC 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F027DB0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F027DB0 -/* 05C8E0 7F027DB0 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 05C8E4 7F027DB4 AFBF0034 */ sw $ra, 0x34($sp) -/* 05C8E8 7F027DB8 AFB20030 */ sw $s2, 0x30($sp) -/* 05C8EC 7F027DBC AFB1002C */ sw $s1, 0x2c($sp) -/* 05C8F0 7F027DC0 AFB00028 */ sw $s0, 0x28($sp) -/* 05C8F4 7F027DC4 AFA600A0 */ sw $a2, 0xa0($sp) -/* 05C8F8 7F027DC8 8C820018 */ lw $v0, 0x18($a0) -/* 05C8FC 7F027DCC 00A08025 */ move $s0, $a1 -/* 05C900 7F027DD0 C6040000 */ lwc1 $f4, ($s0) -/* 05C904 7F027DD4 8C450008 */ lw $a1, 8($v0) -/* 05C908 7F027DD8 8C440014 */ lw $a0, 0x14($v0) -/* 05C90C 7F027DDC 8C460010 */ lw $a2, 0x10($v0) -/* 05C910 7F027DE0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05C914 7F027DE4 C6060008 */ lwc1 $f6, 8($s0) -/* 05C918 7F027DE8 27AE0048 */ addiu $t6, $sp, 0x48 -/* 05C91C 7F027DEC 240F0014 */ li $t7, 20 -/* 05C920 7F027DF0 AFAF001C */ sw $t7, 0x1c($sp) -/* 05C924 7F027DF4 AFAE0018 */ sw $t6, 0x18($sp) -/* 05C928 7F027DF8 27A700A0 */ addiu $a3, $sp, 0xa0 -/* 05C92C 7F027DFC 0FC2C343 */ jal sub_GAME_7F0B0D0C -/* 05C930 7F027E00 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05C934 7F027E04 18400011 */ blez $v0, .L7F027E4C -/* 05C938 7F027E08 00409025 */ move $s2, $v0 -/* 05C93C 7F027E0C 28410014 */ slti $at, $v0, 0x14 -/* 05C940 7F027E10 1020000E */ beqz $at, .L7F027E4C -/* 05C944 7F027E14 00000000 */ nop -/* 05C948 7F027E18 1840000E */ blez $v0, .L7F027E54 -/* 05C94C 7F027E1C 00008025 */ move $s0, $zero -/* 05C950 7F027E20 27B10048 */ addiu $s1, $sp, 0x48 -.L7F027E24: -/* 05C954 7F027E24 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 05C958 7F027E28 8E240000 */ lw $a0, ($s1) -/* 05C95C 7F027E2C 10400003 */ beqz $v0, .L7F027E3C -/* 05C960 7F027E30 26100001 */ addiu $s0, $s0, 1 -/* 05C964 7F027E34 10000008 */ b .L7F027E58 -/* 05C968 7F027E38 00001025 */ move $v0, $zero -.L7F027E3C: -/* 05C96C 7F027E3C 1612FFF9 */ bne $s0, $s2, .L7F027E24 -/* 05C970 7F027E40 26310004 */ addiu $s1, $s1, 4 -/* 05C974 7F027E44 10000004 */ b .L7F027E58 -/* 05C978 7F027E48 24020001 */ li $v0, 1 -.L7F027E4C: -/* 05C97C 7F027E4C 10000002 */ b .L7F027E58 -/* 05C980 7F027E50 00001025 */ move $v0, $zero -.L7F027E54: -/* 05C984 7F027E54 24020001 */ li $v0, 1 -.L7F027E58: -/* 05C988 7F027E58 8FBF0034 */ lw $ra, 0x34($sp) -/* 05C98C 7F027E5C 8FB00028 */ lw $s0, 0x28($sp) -/* 05C990 7F027E60 8FB1002C */ lw $s1, 0x2c($sp) -/* 05C994 7F027E64 8FB20030 */ lw $s2, 0x30($sp) -/* 05C998 7F027E68 03E00008 */ jr $ra -/* 05C99C 7F027E6C 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F027E70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F027E70 -/* 05C9A0 7F027E70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05C9A4 7F027E74 AFBF0014 */ sw $ra, 0x14($sp) -/* 05C9A8 7F027E78 0FC09F6C */ jal sub_GAME_7F027DB0 -/* 05C9AC 7F027E7C 8CA60028 */ lw $a2, 0x28($a1) -/* 05C9B0 7F027E80 8FBF0014 */ lw $ra, 0x14($sp) -/* 05C9B4 7F027E84 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05C9B8 7F027E88 03E00008 */ jr $ra -/* 05C9BC 7F027E8C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F027E90(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F027E90 -/* 05C9C0 7F027E90 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05C9C4 7F027E94 AFBF0014 */ sw $ra, 0x14($sp) -/* 05C9C8 7F027E98 AFA40028 */ sw $a0, 0x28($sp) -/* 05C9CC 7F027E9C AFA5002C */ sw $a1, 0x2c($sp) -/* 05C9D0 7F027EA0 8C820018 */ lw $v0, 0x18($a0) -/* 05C9D4 7F027EA4 C4C40000 */ lwc1 $f4, ($a2) -/* 05C9D8 7F027EA8 C4C80008 */ lwc1 $f8, 8($a2) -/* 05C9DC 7F027EAC C4460008 */ lwc1 $f6, 8($v0) -/* 05C9E0 7F027EB0 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 05C9E4 7F027EB4 46062301 */ sub.s $f12, $f4, $f6 -/* 05C9E8 7F027EB8 460A4381 */ sub.s $f14, $f8, $f10 -/* 05C9EC 7F027EBC E7AC0020 */ swc1 $f12, 0x20($sp) -/* 05C9F0 7F027EC0 0FC16A8C */ jal convert_angle_using_inverse -/* 05C9F4 7F027EC4 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 05C9F8 7F027EC8 C7A20020 */ lwc1 $f2, 0x20($sp) -/* 05C9FC 7F027ECC C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 05CA00 7F027ED0 8FA2002C */ lw $v0, 0x2c($sp) -/* 05CA04 7F027ED4 46021482 */ mul.s $f18, $f2, $f2 -/* 05CA08 7F027ED8 44808000 */ mtc1 $zero, $f16 -/* 05CA0C 7F027EDC E7A00018 */ swc1 $f0, 0x18($sp) -/* 05CA10 7F027EE0 460E7102 */ mul.s $f4, $f14, $f14 -/* 05CA14 7F027EE4 240F0006 */ li $t7, 6 -/* 05CA18 7F027EE8 A04F0000 */ sb $t7, ($v0) -/* 05CA1C 7F027EEC E4500038 */ swc1 $f16, 0x38($v0) -/* 05CA20 7F027EF0 0C007DF8 */ jal sqrtf -/* 05CA24 7F027EF4 46049300 */ add.s $f12, $f18, $f4 -/* 05CA28 7F027EF8 8FB8002C */ lw $t8, 0x2c($sp) -/* 05CA2C 7F027EFC E700003C */ swc1 $f0, 0x3c($t8) -/* 05CA30 7F027F00 8FB90028 */ lw $t9, 0x28($sp) -/* 05CA34 7F027F04 8FA50018 */ lw $a1, 0x18($sp) -/* 05CA38 7F027F08 0FC1B34F */ jal setsubroty -/* 05CA3C 7F027F0C 8F24001C */ lw $a0, 0x1c($t9) -/* 05CA40 7F027F10 8FBF0014 */ lw $ra, 0x14($sp) -/* 05CA44 7F027F14 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05CA48 7F027F18 03E00008 */ jr $ra -/* 05CA4C 7F027F1C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F027F20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F027F20 -/* 05CA50 7F027F20 908E0058 */ lbu $t6, 0x58($a0) -/* 05CA54 7F027F24 000E7880 */ sll $t7, $t6, 2 -/* 05CA58 7F027F28 008FC021 */ addu $t8, $a0, $t7 -/* 05CA5C 7F027F2C 8F020040 */ lw $v0, 0x40($t8) -/* 05CA60 7F027F30 50400014 */ beql $v0, $zero, .L7F027F84 -/* 05CA64 7F027F34 C48A002C */ lwc1 $f10, 0x2c($a0) -/* 05CA68 7F027F38 8C590000 */ lw $t9, ($v0) -/* 05CA6C 7F027F3C 3C098007 */ lui $t1, %hi(ptr_0xxxpresets) -/* 05CA70 7F027F40 8D295D18 */ lw $t1, %lo(ptr_0xxxpresets)($t1) -/* 05CA74 7F027F44 00194080 */ sll $t0, $t9, 2 -/* 05CA78 7F027F48 01194023 */ subu $t0, $t0, $t9 -/* 05CA7C 7F027F4C 00084080 */ sll $t0, $t0, 2 -/* 05CA80 7F027F50 01194023 */ subu $t0, $t0, $t9 -/* 05CA84 7F027F54 00084080 */ sll $t0, $t0, 2 -/* 05CA88 7F027F58 01091821 */ addu $v1, $t0, $t1 -/* 05CA8C 7F027F5C C4640000 */ lwc1 $f4, ($v1) -/* 05CA90 7F027F60 E4A40000 */ swc1 $f4, ($a1) -/* 05CA94 7F027F64 C4660004 */ lwc1 $f6, 4($v1) -/* 05CA98 7F027F68 E4A60004 */ swc1 $f6, 4($a1) -/* 05CA9C 7F027F6C C4680008 */ lwc1 $f8, 8($v1) -/* 05CAA0 7F027F70 E4A80008 */ swc1 $f8, 8($a1) -/* 05CAA4 7F027F74 8C6A0028 */ lw $t2, 0x28($v1) -/* 05CAA8 7F027F78 03E00008 */ jr $ra -/* 05CAAC 7F027F7C ACCA0000 */ sw $t2, ($a2) - -/* 05CAB0 7F027F80 C48A002C */ lwc1 $f10, 0x2c($a0) -.L7F027F84: -/* 05CAB4 7F027F84 E4AA0000 */ swc1 $f10, ($a1) -/* 05CAB8 7F027F88 C4900030 */ lwc1 $f16, 0x30($a0) -/* 05CABC 7F027F8C E4B00004 */ swc1 $f16, 4($a1) -/* 05CAC0 7F027F90 C4920034 */ lwc1 $f18, 0x34($a0) -/* 05CAC4 7F027F94 E4B20008 */ swc1 $f18, 8($a1) -/* 05CAC8 7F027F98 8C8B0038 */ lw $t3, 0x38($a0) -/* 05CACC 7F027F9C ACCB0000 */ sw $t3, ($a2) -/* 05CAD0 7F027FA0 03E00008 */ jr $ra -/* 05CAD4 7F027FA4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F027FA8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DF4 -.word 0x411fffff /*9.999999*/ -.text -glabel sub_GAME_7F027FA8 -/* 05CAD8 7F027FA8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05CADC 7F027FAC AFB10020 */ sw $s1, 0x20($sp) -/* 05CAE0 7F027FB0 00808825 */ move $s1, $a0 -/* 05CAE4 7F027FB4 AFBF0024 */ sw $ra, 0x24($sp) -/* 05CAE8 7F027FB8 AFB0001C */ sw $s0, 0x1c($sp) -/* 05CAEC 7F027FBC F7B40010 */ sdc1 $f20, 0x10($sp) -/* 05CAF0 7F027FC0 3C018003 */ lui $at, %hi(D_80030984) -/* 05CAF4 7F027FC4 C4340984 */ lwc1 $f20, %lo(D_80030984)($at) -/* 05CAF8 7F027FC8 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05CAFC 7F027FCC 8C84001C */ lw $a0, 0x1c($a0) -/* 05CB00 7F027FD0 3C108007 */ lui $s0, %hi(ptr_animation_table) -/* 05CB04 7F027FD4 26109538 */ addiu $s0, %lo(ptr_animation_table) # addiu $s0, $s0, -0x6ac8 -/* 05CB08 7F027FD8 8E0E0000 */ lw $t6, ($s0) -/* 05CB0C 7F027FDC 3C0F0000 */ lui $t7, %hi(0x00004070) # $t7, 0 -/* 05CB10 7F027FE0 25EF4070 */ addiu $t7, %lo(0x00004070) # addiu $t7, $t7, 0x4070 -/* 05CB14 7F027FE4 01CFC021 */ addu $t8, $t6, $t7 -/* 05CB18 7F027FE8 14580003 */ bne $v0, $t8, .L7F027FF8 -/* 05CB1C 7F027FEC 3C018003 */ lui $at, %hi(D_8003098C) -/* 05CB20 7F027FF0 10000047 */ b .L7F028110 -/* 05CB24 7F027FF4 C434098C */ lwc1 $f20, %lo(D_8003098C)($at) -.L7F027FF8: -/* 05CB28 7F027FF8 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05CB2C 7F027FFC 8E24001C */ lw $a0, 0x1c($s1) -/* 05CB30 7F028000 8E190000 */ lw $t9, ($s0) -/* 05CB34 7F028004 3C080000 */ lui $t0, %hi(0x000040D4) # $t0, 0 -/* 05CB38 7F028008 250840D4 */ addiu $t0, %lo(0x000040D4) # addiu $t0, $t0, 0x40d4 -/* 05CB3C 7F02800C 03284821 */ addu $t1, $t9, $t0 -/* 05CB40 7F028010 14490003 */ bne $v0, $t1, .L7F028020 -/* 05CB44 7F028014 3C018003 */ lui $at, %hi(D_80030988) -/* 05CB48 7F028018 1000003D */ b .L7F028110 -/* 05CB4C 7F02801C C4340988 */ lwc1 $f20, %lo(D_80030988)($at) -.L7F028020: -/* 05CB50 7F028020 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05CB54 7F028024 8E24001C */ lw $a0, 0x1c($s1) -/* 05CB58 7F028028 8E0A0000 */ lw $t2, ($s0) -/* 05CB5C 7F02802C 3C030000 */ lui $v1, %hi(0x000077D4) # $v1, 0 -/* 05CB60 7F028030 246377D4 */ addiu $v1, %lo(0x000077D4) # addiu $v1, $v1, 0x77d4 -/* 05CB64 7F028034 006A5821 */ addu $t3, $v1, $t2 -/* 05CB68 7F028038 144B0003 */ bne $v0, $t3, .L7F028048 -/* 05CB6C 7F02803C 3C018003 */ lui $at, %hi(D_80030998) -/* 05CB70 7F028040 10000033 */ b .L7F028110 -/* 05CB74 7F028044 C4340998 */ lwc1 $f20, %lo(D_80030998)($at) -.L7F028048: -/* 05CB78 7F028048 8E24001C */ lw $a0, 0x1c($s1) -/* 05CB7C 7F02804C 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05CB80 7F028050 AFA30028 */ sw $v1, 0x28($sp) -/* 05CB84 7F028054 8E0C0000 */ lw $t4, ($s0) -/* 05CB88 7F028058 3C0D0000 */ lui $t5, %hi(0x0000777C) # $t5, 0 -/* 05CB8C 7F02805C 25AD777C */ addiu $t5, %lo(0x0000777C) # addiu $t5, $t5, 0x777c -/* 05CB90 7F028060 018D7021 */ addu $t6, $t4, $t5 -/* 05CB94 7F028064 144E0003 */ bne $v0, $t6, .L7F028074 -/* 05CB98 7F028068 3C018003 */ lui $at, %hi(D_80030994) -/* 05CB9C 7F02806C 10000028 */ b .L7F028110 -/* 05CBA0 7F028070 C4340994 */ lwc1 $f20, %lo(D_80030994)($at) -.L7F028074: -/* 05CBA4 7F028074 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05CBA8 7F028078 8E24001C */ lw $a0, 0x1c($s1) -/* 05CBAC 7F02807C 8E0F0000 */ lw $t7, ($s0) -/* 05CBB0 7F028080 3C180001 */ lui $t8, %hi(0x00008204) # $t8, 1 -/* 05CBB4 7F028084 27188204 */ addiu $t8, %lo(0x00008204) # addiu $t8, $t8, -0x7dfc -/* 05CBB8 7F028088 01F8C821 */ addu $t9, $t7, $t8 -/* 05CBBC 7F02808C 14590003 */ bne $v0, $t9, .L7F02809C -/* 05CBC0 7F028090 3C018003 */ lui $at, %hi(D_80030990) -/* 05CBC4 7F028094 1000001E */ b .L7F028110 -/* 05CBC8 7F028098 C4340990 */ lwc1 $f20, %lo(D_80030990)($at) -.L7F02809C: -/* 05CBCC 7F02809C 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05CBD0 7F0280A0 8E24001C */ lw $a0, 0x1c($s1) -/* 05CBD4 7F0280A4 8FA80028 */ lw $t0, 0x28($sp) -/* 05CBD8 7F0280A8 8E090000 */ lw $t1, ($s0) -/* 05CBDC 7F0280AC 3C018003 */ lui $at, %hi(D_800309A4) -/* 05CBE0 7F0280B0 01095021 */ addu $t2, $t0, $t1 -/* 05CBE4 7F0280B4 144A0003 */ bne $v0, $t2, .L7F0280C4 -/* 05CBE8 7F0280B8 00000000 */ nop -/* 05CBEC 7F0280BC 10000014 */ b .L7F028110 -/* 05CBF0 7F0280C0 C43409A4 */ lwc1 $f20, %lo(D_800309A4)($at) -.L7F0280C4: -/* 05CBF4 7F0280C4 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05CBF8 7F0280C8 8E24001C */ lw $a0, 0x1c($s1) -/* 05CBFC 7F0280CC 8E0B0000 */ lw $t3, ($s0) -/* 05CC00 7F0280D0 3C0C0001 */ lui $t4, %hi(0x00008520) # $t4, 1 -/* 05CC04 7F0280D4 258C8520 */ addiu $t4, %lo(0x00008520) # addiu $t4, $t4, -0x7ae0 -/* 05CC08 7F0280D8 016C6821 */ addu $t5, $t3, $t4 -/* 05CC0C 7F0280DC 144D0003 */ bne $v0, $t5, .L7F0280EC -/* 05CC10 7F0280E0 3C018003 */ lui $at, %hi(D_800309A0) -/* 05CC14 7F0280E4 1000000A */ b .L7F028110 -/* 05CC18 7F0280E8 C43409A0 */ lwc1 $f20, %lo(D_800309A0)($at) -.L7F0280EC: -/* 05CC1C 7F0280EC 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05CC20 7F0280F0 8E24001C */ lw $a0, 0x1c($s1) -/* 05CC24 7F0280F4 8E0E0000 */ lw $t6, ($s0) -/* 05CC28 7F0280F8 3C0F0001 */ lui $t7, %hi(0x000084C4) # $t7, 1 -/* 05CC2C 7F0280FC 25EF84C4 */ addiu $t7, %lo(0x000084C4) # addiu $t7, $t7, -0x7b3c -/* 05CC30 7F028100 01CFC021 */ addu $t8, $t6, $t7 -/* 05CC34 7F028104 14580002 */ bne $v0, $t8, .L7F028110 -/* 05CC38 7F028108 3C018003 */ lui $at, %hi(D_8003099C) -/* 05CC3C 7F02810C C434099C */ lwc1 $f20, %lo(D_8003099C)($at) -.L7F028110: -/* 05CC40 7F028110 8E39001C */ lw $t9, 0x1c($s1) -/* 05CC44 7F028114 3C018005 */ lui $at, %hi(D_80051DF4) -/* 05CC48 7F028118 C4281DF4 */ lwc1 $f8, %lo(D_80051DF4)($at) -/* 05CC4C 7F02811C C7240014 */ lwc1 $f4, 0x14($t9) -/* 05CC50 7F028120 8FBF0024 */ lw $ra, 0x24($sp) -/* 05CC54 7F028124 8FB10020 */ lw $s1, 0x20($sp) -/* 05CC58 7F028128 46142182 */ mul.s $f6, $f4, $f20 -/* 05CC5C 7F02812C D7B40010 */ ldc1 $f20, 0x10($sp) -/* 05CC60 7F028130 8FB0001C */ lw $s0, 0x1c($sp) -/* 05CC64 7F028134 27BD0030 */ addiu $sp, $sp, 0x30 -/* 05CC68 7F028138 46083002 */ mul.s $f0, $f6, $f8 -/* 05CC6C 7F02813C 03E00008 */ jr $ra -/* 05CC70 7F028140 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F028144(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F028144 -/* 05CC74 7F028144 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 05CC78 7F028148 AFBF0014 */ sw $ra, 0x14($sp) -/* 05CC7C 7F02814C AFA40038 */ sw $a0, 0x38($sp) -/* 05CC80 7F028150 0FC1BD86 */ jal sub_GAME_7F06F618 -/* 05CC84 7F028154 8C84001C */ lw $a0, 0x1c($a0) -/* 05CC88 7F028158 E7A00018 */ swc1 $f0, 0x18($sp) -/* 05CC8C 7F02815C 8FA40038 */ lw $a0, 0x38($sp) -/* 05CC90 7F028160 27A50020 */ addiu $a1, $sp, 0x20 -/* 05CC94 7F028164 0FC09FC8 */ jal sub_GAME_7F027F20 -/* 05CC98 7F028168 27A6001C */ addiu $a2, $sp, 0x1c -/* 05CC9C 7F02816C 8FA40038 */ lw $a0, 0x38($sp) -/* 05CCA0 7F028170 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 05CCA4 7F028174 44800000 */ mtc1 $zero, $f0 -/* 05CCA8 7F028178 8C820018 */ lw $v0, 0x18($a0) -/* 05CCAC 7F02817C C7A80028 */ lwc1 $f8, 0x28($sp) -/* 05CCB0 7F028180 C4460008 */ lwc1 $f6, 8($v0) -/* 05CCB4 7F028184 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 05CCB8 7F028188 46062081 */ sub.s $f2, $f4, $f6 -/* 05CCBC 7F02818C 460A4301 */ sub.s $f12, $f8, $f10 -/* 05CCC0 7F028190 4600103C */ c.lt.s $f2, $f0 -/* 05CCC4 7F028194 00000000 */ nop -/* 05CCC8 7F028198 45020003 */ bc1fl .L7F0281A8 -/* 05CCCC 7F02819C 4600603C */ c.lt.s $f12, $f0 -/* 05CCD0 7F0281A0 46001087 */ neg.s $f2, $f2 -/* 05CCD4 7F0281A4 4600603C */ c.lt.s $f12, $f0 -.L7F0281A8: -/* 05CCD8 7F0281A8 00000000 */ nop -/* 05CCDC 7F0281AC 45020003 */ bc1fl .L7F0281BC -/* 05CCE0 7F0281B0 E7A20034 */ swc1 $f2, 0x34($sp) -/* 05CCE4 7F0281B4 46006307 */ neg.s $f12, $f12 -/* 05CCE8 7F0281B8 E7A20034 */ swc1 $f2, 0x34($sp) -.L7F0281BC: -/* 05CCEC 7F0281BC 0FC09FEA */ jal sub_GAME_7F027FA8 -/* 05CCF0 7F0281C0 E7AC0030 */ swc1 $f12, 0x30($sp) -/* 05CCF4 7F0281C4 C7B20018 */ lwc1 $f18, 0x18($sp) -/* 05CCF8 7F0281C8 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 05CCFC 7F0281CC C7AC0030 */ lwc1 $f12, 0x30($sp) -/* 05CD00 7F0281D0 46120102 */ mul.s $f4, $f0, $f18 -/* 05CD04 7F0281D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 05CD08 7F0281D8 460C1400 */ add.s $f16, $f2, $f12 -/* 05CD0C 7F0281DC 27BD0038 */ addiu $sp, $sp, 0x38 -/* 05CD10 7F0281E0 46048183 */ div.s $f6, $f16, $f4 -/* 05CD14 7F0281E4 4600320D */ trunc.w.s $f8, $f6 -/* 05CD18 7F0281E8 44024000 */ mfc1 $v0, $f8 -/* 05CD1C 7F0281EC 03E00008 */ jr $ra -/* 05CD20 7F0281F0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0281F4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0281F4 -/* 05CD24 7F0281F4 03E00008 */ jr $ra -/* 05CD28 7F0281F8 A480005A */ sh $zero, 0x5a($a0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0281FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0281FC -/* 05CD2C 7F0281FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05CD30 7F028200 AFBF0014 */ sw $ra, 0x14($sp) -/* 05CD34 7F028204 808E005C */ lb $t6, 0x5c($a0) -/* 05CD38 7F028208 24010006 */ li $at, 6 -/* 05CD3C 7F02820C 51C1001C */ beql $t6, $at, .L7F028280 -/* 05CD40 7F028210 8FBF0014 */ lw $ra, 0x14($sp) -/* 05CD44 7F028214 9482005A */ lhu $v0, 0x5a($a0) -/* 05CD48 7F028218 3C038005 */ lui $v1, %hi(clock_timer+2) -/* 05CD4C 7F02821C 1440000C */ bnez $v0, .L7F028250 -/* 05CD50 7F028220 00000000 */ nop -/* 05CD54 7F028224 0FC0A051 */ jal sub_GAME_7F028144 -/* 05CD58 7F028228 AFA40018 */ sw $a0, 0x18($sp) -/* 05CD5C 7F02822C 00021840 */ sll $v1, $v0, 1 -/* 05CD60 7F028230 2465012C */ addiu $a1, $v1, 0x12c -/* 05CD64 7F028234 3C010001 */ lui $at, 1 -/* 05CD68 7F028238 00A1082A */ slt $at, $a1, $at -/* 05CD6C 7F02823C 14200002 */ bnez $at, .L7F028248 -/* 05CD70 7F028240 8FA40018 */ lw $a0, 0x18($sp) -/* 05CD74 7F028244 3405FFFF */ li $a1, 65535 -.L7F028248: -/* 05CD78 7F028248 1000000C */ b .L7F02827C -/* 05CD7C 7F02824C A485005A */ sh $a1, 0x5a($a0) -.L7F028250: -/* 05CD80 7F028250 94638376 */ lhu $v1, %lo(clock_timer+2)($v1) -/* 05CD84 7F028254 2485002C */ addiu $a1, $a0, 0x2c -/* 05CD88 7F028258 0062082A */ slt $at, $v1, $v0 -/* 05CD8C 7F02825C 14200006 */ bnez $at, .L7F028278 -/* 05CD90 7F028260 00437823 */ subu $t7, $v0, $v1 -/* 05CD94 7F028264 8C860038 */ lw $a2, 0x38($a0) -/* 05CD98 7F028268 0FC0A377 */ jal plot_course_for_actor -/* 05CD9C 7F02826C 90870059 */ lbu $a3, 0x59($a0) -/* 05CDA0 7F028270 10000003 */ b .L7F028280 -/* 05CDA4 7F028274 8FBF0014 */ lw $ra, 0x14($sp) -.L7F028278: -/* 05CDA8 7F028278 A48F005A */ sh $t7, 0x5a($a0) -.L7F02827C: -/* 05CDAC 7F02827C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F028280: -/* 05CDB0 7F028280 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05CDB4 7F028284 03E00008 */ jr $ra -/* 05CDB8 7F028288 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02828C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02828C -/* 05CDBC 7F02828C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05CDC0 7F028290 AFBF0014 */ sw $ra, 0x14($sp) -/* 05CDC4 7F028294 27A5001C */ addiu $a1, $sp, 0x1c -/* 05CDC8 7F028298 27A60018 */ addiu $a2, $sp, 0x18 -/* 05CDCC 7F02829C 0FC09FC8 */ jal sub_GAME_7F027F20 -/* 05CDD0 7F0282A0 AFA40028 */ sw $a0, 0x28($sp) -/* 05CDD4 7F0282A4 8FA40028 */ lw $a0, 0x28($sp) -/* 05CDD8 7F0282A8 A080005C */ sb $zero, 0x5c($a0) -/* 05CDDC 7F0282AC A080005D */ sb $zero, 0x5d($a0) -/* 05CDE0 7F0282B0 A080005E */ sb $zero, 0x5e($a0) -/* 05CDE4 7F0282B4 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 05CDE8 7F0282B8 E4840060 */ swc1 $f4, 0x60($a0) -/* 05CDEC 7F0282BC C7A60020 */ lwc1 $f6, 0x20($sp) -/* 05CDF0 7F0282C0 E4860064 */ swc1 $f6, 0x64($a0) -/* 05CDF4 7F0282C4 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 05CDF8 7F0282C8 0FC0A07D */ jal sub_GAME_7F0281F4 -/* 05CDFC 7F0282CC E4880068 */ swc1 $f8, 0x68($a0) -/* 05CE00 7F0282D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 05CE04 7F0282D4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05CE08 7F0282D8 03E00008 */ jr $ra -/* 05CE0C 7F0282DC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0282E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0282E0 -/* 05CE10 7F0282E0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 05CE14 7F0282E4 AFBF001C */ sw $ra, 0x1c($sp) -/* 05CE18 7F0282E8 AFB00018 */ sw $s0, 0x18($sp) -/* 05CE1C 7F0282EC 90820058 */ lbu $v0, 0x58($a0) -/* 05CE20 7F0282F0 00808025 */ move $s0, $a0 -/* 05CE24 7F0282F4 24190001 */ li $t9, 1 -/* 05CE28 7F0282F8 28410003 */ slti $at, $v0, 3 -/* 05CE2C 7F0282FC 10200004 */ beqz $at, .L7F028310 -/* 05CE30 7F028300 00027880 */ sll $t7, $v0, 2 -/* 05CE34 7F028304 244E0001 */ addiu $t6, $v0, 1 -/* 05CE38 7F028308 10000008 */ b .L7F02832C -/* 05CE3C 7F02830C A08E0058 */ sb $t6, 0x58($a0) -.L7F028310: -/* 05CE40 7F028310 020FC021 */ addu $t8, $s0, $t7 -/* 05CE44 7F028314 8F040040 */ lw $a0, 0x40($t8) -/* 05CE48 7F028318 A2190058 */ sb $t9, 0x58($s0) -/* 05CE4C 7F02831C 8E05003C */ lw $a1, 0x3c($s0) -/* 05CE50 7F028320 26060040 */ addiu $a2, $s0, 0x40 -/* 05CE54 7F028324 0FC23D3C */ jal sub_GAME_7F08F4F0 -/* 05CE58 7F028328 24070006 */ li $a3, 6 -.L7F02832C: -/* 05CE5C 7F02832C 0FC0A0A3 */ jal sub_GAME_7F02828C -/* 05CE60 7F028330 02002025 */ move $a0, $s0 -/* 05CE64 7F028334 8FBF001C */ lw $ra, 0x1c($sp) -/* 05CE68 7F028338 8FB00018 */ lw $s0, 0x18($sp) -/* 05CE6C 7F02833C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 05CE70 7F028340 03E00008 */ jr $ra -/* 05CE74 7F028344 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F028348(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F028348 -/* 05CE78 7F028348 8C830030 */ lw $v1, 0x30($a0) -/* 05CE7C 7F02834C 04C10004 */ bgez $a2, .L7F028360 -/* 05CE80 7F028350 8CA70000 */ lw $a3, ($a1) -/* 05CE84 7F028354 2CEE0001 */ sltiu $t6, $a3, 1 -/* 05CE88 7F028358 01C03825 */ move $a3, $t6 -/* 05CE8C 7F02835C 00063023 */ negu $a2, $a2 -.L7F028360: -/* 05CE90 7F028360 58C00024 */ blezl $a2, .L7F0283F4 -/* 05CE94 7F028364 ACA70000 */ sw $a3, ($a1) -.L7F028368: -/* 05CE98 7F028368 10E00012 */ beqz $a3, .L7F0283B4 -/* 05CE9C 7F02836C 24C6FFFF */ addiu $a2, $a2, -1 -/* 05CEA0 7F028370 8C82002C */ lw $v0, 0x2c($a0) -/* 05CEA4 7F028374 24630001 */ addiu $v1, $v1, 1 -/* 05CEA8 7F028378 0003C080 */ sll $t8, $v1, 2 -/* 05CEAC 7F02837C 8C4F0000 */ lw $t7, ($v0) -/* 05CEB0 7F028380 01F8C821 */ addu $t9, $t7, $t8 -/* 05CEB4 7F028384 8F280000 */ lw $t0, ($t9) -/* 05CEB8 7F028388 05010017 */ bgez $t0, .L7F0283E8 -/* 05CEBC 7F02838C 00000000 */ nop -/* 05CEC0 7F028390 90490005 */ lbu $t1, 5($v0) -/* 05CEC4 7F028394 2463FFFE */ addiu $v1, $v1, -2 -/* 05CEC8 7F028398 312A0001 */ andi $t2, $t1, 1 -/* 05CECC 7F02839C 11400003 */ beqz $t2, .L7F0283AC -/* 05CED0 7F0283A0 00000000 */ nop -/* 05CED4 7F0283A4 10000010 */ b .L7F0283E8 -/* 05CED8 7F0283A8 00001825 */ move $v1, $zero -.L7F0283AC: -/* 05CEDC 7F0283AC 1000000E */ b .L7F0283E8 -/* 05CEE0 7F0283B0 00003825 */ move $a3, $zero -.L7F0283B4: -/* 05CEE4 7F0283B4 2463FFFF */ addiu $v1, $v1, -1 -/* 05CEE8 7F0283B8 0461000B */ bgez $v1, .L7F0283E8 -/* 05CEEC 7F0283BC 00000000 */ nop -/* 05CEF0 7F0283C0 8C82002C */ lw $v0, 0x2c($a0) -/* 05CEF4 7F0283C4 24030001 */ li $v1, 1 -/* 05CEF8 7F0283C8 904B0005 */ lbu $t3, 5($v0) -/* 05CEFC 7F0283CC 316C0001 */ andi $t4, $t3, 1 -/* 05CF00 7F0283D0 51800005 */ beql $t4, $zero, .L7F0283E8 -/* 05CF04 7F0283D4 24070001 */ li $a3, 1 -/* 05CF08 7F0283D8 94430006 */ lhu $v1, 6($v0) -/* 05CF0C 7F0283DC 10000002 */ b .L7F0283E8 -/* 05CF10 7F0283E0 2463FFFF */ addiu $v1, $v1, -1 -/* 05CF14 7F0283E4 24070001 */ li $a3, 1 -.L7F0283E8: -/* 05CF18 7F0283E8 1CC0FFDF */ bgtz $a2, .L7F028368 -/* 05CF1C 7F0283EC 00000000 */ nop -/* 05CF20 7F0283F0 ACA70000 */ sw $a3, ($a1) -.L7F0283F4: -/* 05CF24 7F0283F4 03E00008 */ jr $ra -/* 05CF28 7F0283F8 00601025 */ move $v0, $v1 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0283FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0283FC -/* 05CF2C 7F0283FC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05CF30 7F028400 AFBF0014 */ sw $ra, 0x14($sp) -/* 05CF34 7F028404 8C8E0034 */ lw $t6, 0x34($a0) -/* 05CF38 7F028408 00A03025 */ move $a2, $a1 -/* 05CF3C 7F02840C 27A50020 */ addiu $a1, $sp, 0x20 -/* 05CF40 7F028410 AFA40028 */ sw $a0, 0x28($sp) -/* 05CF44 7F028414 0FC0A0D2 */ jal sub_GAME_7F028348 -/* 05CF48 7F028418 AFAE0020 */ sw $t6, 0x20($sp) -/* 05CF4C 7F02841C 8FA70028 */ lw $a3, 0x28($sp) -/* 05CF50 7F028420 0002C880 */ sll $t9, $v0, 2 -/* 05CF54 7F028424 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) -/* 05CF58 7F028428 8CEF002C */ lw $t7, 0x2c($a3) -/* 05CF5C 7F02842C 24A55D00 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d00 -/* 05CF60 7F028430 8CAA0000 */ lw $t2, ($a1) -/* 05CF64 7F028434 8DF80000 */ lw $t8, ($t7) -/* 05CF68 7F028438 8FBF0014 */ lw $ra, 0x14($sp) -/* 05CF6C 7F02843C 8CAD0018 */ lw $t5, 0x18($a1) -/* 05CF70 7F028440 03191821 */ addu $v1, $t8, $t9 -/* 05CF74 7F028444 8C680000 */ lw $t0, ($v1) -/* 05CF78 7F028448 00084900 */ sll $t1, $t0, 4 -/* 05CF7C 7F02844C 012A2021 */ addu $a0, $t1, $t2 -/* 05CF80 7F028450 8C8B0000 */ lw $t3, ($a0) -/* 05CF84 7F028454 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05CF88 7F028458 000B6080 */ sll $t4, $t3, 2 -/* 05CF8C 7F02845C 018B6023 */ subu $t4, $t4, $t3 -/* 05CF90 7F028460 000C6080 */ sll $t4, $t4, 2 -/* 05CF94 7F028464 018B6023 */ subu $t4, $t4, $t3 -/* 05CF98 7F028468 000C6080 */ sll $t4, $t4, 2 -/* 05CF9C 7F02846C 03E00008 */ jr $ra -/* 05CFA0 7F028470 018D1021 */ addu $v0, $t4, $t5 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F028474(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F028474 -/* 05CFA4 7F028474 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05CFA8 7F028478 AFBF0014 */ sw $ra, 0x14($sp) -/* 05CFAC 7F02847C 0FC0A0FF */ jal sub_GAME_7F0283FC -/* 05CFB0 7F028480 00002825 */ move $a1, $zero -/* 05CFB4 7F028484 8FBF0014 */ lw $ra, 0x14($sp) -/* 05CFB8 7F028488 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05CFBC 7F02848C 03E00008 */ jr $ra -/* 05CFC0 7F028490 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F028494(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F028494 -/* 05CFC4 7F028494 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05CFC8 7F028498 AFBF0014 */ sw $ra, 0x14($sp) -/* 05CFCC 7F02849C 0FC0A11D */ jal sub_GAME_7F028474 -/* 05CFD0 7F0284A0 AFA40018 */ sw $a0, 0x18($sp) -/* 05CFD4 7F0284A4 8FA40018 */ lw $a0, 0x18($sp) -/* 05CFD8 7F0284A8 A0800038 */ sb $zero, 0x38($a0) -/* 05CFDC 7F0284AC A0800039 */ sb $zero, 0x39($a0) -/* 05CFE0 7F0284B0 A080003A */ sb $zero, 0x3a($a0) -/* 05CFE4 7F0284B4 C4440000 */ lwc1 $f4, ($v0) -/* 05CFE8 7F0284B8 E484003C */ swc1 $f4, 0x3c($a0) -/* 05CFEC 7F0284BC C4460004 */ lwc1 $f6, 4($v0) -/* 05CFF0 7F0284C0 E4860040 */ swc1 $f6, 0x40($a0) -/* 05CFF4 7F0284C4 C4480008 */ lwc1 $f8, 8($v0) -/* 05CFF8 7F0284C8 E4880044 */ swc1 $f8, 0x44($a0) -/* 05CFFC 7F0284CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 05D000 7F0284D0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05D004 7F0284D4 03E00008 */ jr $ra -/* 05D008 7F0284D8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0284DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0284DC -/* 05D00C 7F0284DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05D010 7F0284E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 05D014 7F0284E4 AFA40018 */ sw $a0, 0x18($sp) -/* 05D018 7F0284E8 24850034 */ addiu $a1, $a0, 0x34 -/* 05D01C 7F0284EC 0FC0A0D2 */ jal sub_GAME_7F028348 -/* 05D020 7F0284F0 24060001 */ li $a2, 1 -/* 05D024 7F0284F4 8FA40018 */ lw $a0, 0x18($sp) -/* 05D028 7F0284F8 0FC0A125 */ jal sub_GAME_7F028494 -/* 05D02C 7F0284FC AC820030 */ sw $v0, 0x30($a0) -/* 05D030 7F028500 8FBF0014 */ lw $ra, 0x14($sp) -/* 05D034 7F028504 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05D038 7F028508 03E00008 */ jr $ra -/* 05D03C 7F02850C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F028510(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F028510 -/* 05D040 7F028510 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 05D044 7F028514 AFBF0034 */ sw $ra, 0x34($sp) -/* 05D048 7F028518 AFB60030 */ sw $s6, 0x30($sp) -/* 05D04C 7F02851C AFB5002C */ sw $s5, 0x2c($sp) -/* 05D050 7F028520 AFB40028 */ sw $s4, 0x28($sp) -/* 05D054 7F028524 AFB30024 */ sw $s3, 0x24($sp) -/* 05D058 7F028528 AFB20020 */ sw $s2, 0x20($sp) -/* 05D05C 7F02852C AFB1001C */ sw $s1, 0x1c($sp) -/* 05D060 7F028530 AFB00018 */ sw $s0, 0x18($sp) -/* 05D064 7F028534 90AE0003 */ lbu $t6, 3($a1) -/* 05D068 7F028538 00808825 */ move $s1, $a0 -/* 05D06C 7F02853C 240FFFFF */ li $t7, -1 -/* 05D070 7F028540 AFAF0054 */ sw $t7, 0x54($sp) -/* 05D074 7F028544 27A40050 */ addiu $a0, $sp, 0x50 -/* 05D078 7F028548 0FC0F8FF */ jal sub_GAME_7F03E3FC -/* 05D07C 7F02854C AFAE0050 */ sw $t6, 0x50($sp) -/* 05D080 7F028550 3C108007 */ lui $s0, %hi(ptr_list_object_lookup_indices) -/* 05D084 7F028554 8E109C30 */ lw $s0, %lo(ptr_list_object_lookup_indices)($s0) -/* 05D088 7F028558 3C138007 */ lui $s3, %hi(pos_data_entry) -/* 05D08C 7F02855C 26739C38 */ addiu $s3, %lo(pos_data_entry) # addiu $s3, $s3, -0x63c8 -/* 05D090 7F028560 86020000 */ lh $v0, ($s0) -/* 05D094 7F028564 27B60040 */ addiu $s6, $sp, 0x40 -/* 05D098 7F028568 27B50044 */ addiu $s5, $sp, 0x44 -/* 05D09C 7F02856C 04400019 */ bltz $v0, .L7F0285D4 -/* 05D0A0 7F028570 24140001 */ li $s4, 1 -/* 05D0A4 7F028574 24120034 */ li $s2, 52 -.L7F028578: -/* 05D0A8 7F028578 00520019 */ multu $v0, $s2 -/* 05D0AC 7F02857C 02A02825 */ move $a1, $s5 -/* 05D0B0 7F028580 0000C012 */ mflo $t8 -/* 05D0B4 7F028584 03132021 */ addu $a0, $t8, $s3 -/* 05D0B8 7F028588 90990000 */ lbu $t9, ($a0) -/* 05D0BC 7F02858C 5699000E */ bnel $s4, $t9, .L7F0285C8 -/* 05D0C0 7F028590 86020002 */ lh $v0, 2($s0) -/* 05D0C4 7F028594 0FC0F32C */ jal sub_GAME_7F03CCB0 -/* 05D0C8 7F028598 02C03025 */ move $a2, $s6 -/* 05D0CC 7F02859C 8FA60040 */ lw $a2, 0x40($sp) -/* 05D0D0 7F0285A0 02202025 */ move $a0, $s1 -/* 05D0D4 7F0285A4 58C00008 */ blezl $a2, .L7F0285C8 -/* 05D0D8 7F0285A8 86020002 */ lh $v0, 2($s0) -/* 05D0DC 7F0285AC 0FC0F336 */ jal sub_GAME_7F03CCD8 -/* 05D0E0 7F0285B0 8FA50044 */ lw $a1, 0x44($sp) -/* 05D0E4 7F0285B4 50400004 */ beql $v0, $zero, .L7F0285C8 -/* 05D0E8 7F0285B8 86020002 */ lh $v0, 2($s0) -/* 05D0EC 7F0285BC 10000006 */ b .L7F0285D8 -/* 05D0F0 7F0285C0 00001025 */ move $v0, $zero -/* 05D0F4 7F0285C4 86020002 */ lh $v0, 2($s0) -.L7F0285C8: -/* 05D0F8 7F0285C8 26100002 */ addiu $s0, $s0, 2 -/* 05D0FC 7F0285CC 0441FFEA */ bgez $v0, .L7F028578 -/* 05D100 7F0285D0 00000000 */ nop -.L7F0285D4: -/* 05D104 7F0285D4 24020001 */ li $v0, 1 -.L7F0285D8: -/* 05D108 7F0285D8 8FBF0034 */ lw $ra, 0x34($sp) -/* 05D10C 7F0285DC 8FB00018 */ lw $s0, 0x18($sp) -/* 05D110 7F0285E0 8FB1001C */ lw $s1, 0x1c($sp) -/* 05D114 7F0285E4 8FB20020 */ lw $s2, 0x20($sp) -/* 05D118 7F0285E8 8FB30024 */ lw $s3, 0x24($sp) -/* 05D11C 7F0285EC 8FB40028 */ lw $s4, 0x28($sp) -/* 05D120 7F0285F0 8FB5002C */ lw $s5, 0x2c($sp) -/* 05D124 7F0285F4 8FB60030 */ lw $s6, 0x30($sp) -/* 05D128 7F0285F8 03E00008 */ jr $ra -/* 05D12C 7F0285FC 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F028600(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F028600 -/* 05D130 7F028600 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 05D134 7F028604 AFBF002C */ sw $ra, 0x2c($sp) -/* 05D138 7F028608 AFB00028 */ sw $s0, 0x28($sp) -/* 05D13C 7F02860C AFA5006C */ sw $a1, 0x6c($sp) -/* 05D140 7F028610 AFA60070 */ sw $a2, 0x70($sp) -/* 05D144 7F028614 AFA70074 */ sw $a3, 0x74($sp) -/* 05D148 7F028618 A0800009 */ sb $zero, 9($a0) -/* 05D14C 7F02861C 3C0E8005 */ lui $t6, %hi(global_timer) -/* 05D150 7F028620 8DCE837C */ lw $t6, %lo(global_timer)($t6) -/* 05D154 7F028624 00808025 */ move $s0, $a0 -/* 05D158 7F028628 AC8E00CC */ sw $t6, 0xcc($a0) -/* 05D15C 7F02862C 0FC1BD86 */ jal sub_GAME_7F06F618 -/* 05D160 7F028630 8C84001C */ lw $a0, 0x1c($a0) -/* 05D164 7F028634 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 05D168 7F028638 3C018005 */ lui $at, %hi(global_timer_delta) -/* 05D16C 7F02863C C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 05D170 7F028640 46002182 */ mul.s $f6, $f4, $f0 -/* 05D174 7F028644 8FA2006C */ lw $v0, 0x6c($sp) -/* 05D178 7F028648 02002025 */ move $a0, $s0 -/* 05D17C 7F02864C C4500038 */ lwc1 $f16, 0x38($v0) -/* 05D180 7F028650 46083282 */ mul.s $f10, $f6, $f8 -/* 05D184 7F028654 C446003C */ lwc1 $f6, 0x3c($v0) -/* 05D188 7F028658 460A8480 */ add.s $f18, $f16, $f10 -/* 05D18C 7F02865C E4520038 */ swc1 $f18, 0x38($v0) -/* 05D190 7F028660 C4440038 */ lwc1 $f4, 0x38($v0) -/* 05D194 7F028664 4604303E */ c.le.s $f6, $f4 -/* 05D198 7F028668 00000000 */ nop -/* 05D19C 7F02866C 45020085 */ bc1fl .L7F028884 -/* 05D1A0 7F028670 8FBF002C */ lw $ra, 0x2c($sp) -/* 05D1A4 7F028674 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05D1A8 7F028678 00002825 */ move $a1, $zero -/* 05D1AC 7F02867C 8FA20074 */ lw $v0, 0x74($sp) -/* 05D1B0 7F028680 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05D1B4 7F028684 44818000 */ mtc1 $at, $f16 -/* 05D1B8 7F028688 44804000 */ mtc1 $zero, $f8 -/* 05D1BC 7F02868C 8E070024 */ lw $a3, 0x24($s0) -/* 05D1C0 7F028690 8C450000 */ lw $a1, ($v0) -/* 05D1C4 7F028694 8C460008 */ lw $a2, 8($v0) -/* 05D1C8 7F028698 240F001F */ li $t7, 31 -/* 05D1CC 7F02869C AFAF0010 */ sw $t7, 0x10($sp) -/* 05D1D0 7F0286A0 27A40078 */ addiu $a0, $sp, 0x78 -/* 05D1D4 7F0286A4 E7B00018 */ swc1 $f16, 0x18($sp) -/* 05D1D8 7F0286A8 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 05D1DC 7F0286AC E7A80014 */ swc1 $f8, 0x14($sp) -/* 05D1E0 7F0286B0 0441005D */ bgez $v0, .L7F028828 -/* 05D1E4 7F0286B4 8FA60074 */ lw $a2, 0x74($sp) -/* 05D1E8 7F0286B8 00C02025 */ move $a0, $a2 -/* 05D1EC 7F0286BC 0FC0A144 */ jal sub_GAME_7F028510 -/* 05D1F0 7F0286C0 8FA50078 */ lw $a1, 0x78($sp) -/* 05D1F4 7F0286C4 10400058 */ beqz $v0, .L7F028828 -/* 05D1F8 7F0286C8 8FA60074 */ lw $a2, 0x74($sp) -/* 05D1FC 7F0286CC 8E030018 */ lw $v1, 0x18($s0) -/* 05D200 7F0286D0 8FB80078 */ lw $t8, 0x78($sp) -/* 05D204 7F0286D4 00C02825 */ move $a1, $a2 -/* 05D208 7F0286D8 AC780014 */ sw $t8, 0x14($v1) -/* 05D20C 7F0286DC C4CA0000 */ lwc1 $f10, ($a2) -/* 05D210 7F0286E0 E46A0008 */ swc1 $f10, 8($v1) -/* 05D214 7F0286E4 C4D20004 */ lwc1 $f18, 4($a2) -/* 05D218 7F0286E8 E472000C */ swc1 $f18, 0xc($v1) -/* 05D21C 7F0286EC C4C40008 */ lwc1 $f4, 8($a2) -/* 05D220 7F0286F0 E4640010 */ swc1 $f4, 0x10($v1) -/* 05D224 7F0286F4 8E190014 */ lw $t9, 0x14($s0) -/* 05D228 7F0286F8 8E04001C */ lw $a0, 0x1c($s0) -/* 05D22C 7F0286FC 37280001 */ ori $t0, $t9, 1 -/* 05D230 7F028700 AE080014 */ sw $t0, 0x14($s0) -/* 05D234 7F028704 0FC1B303 */ jal setsuboffset -/* 05D238 7F028708 AFA30064 */ sw $v1, 0x64($sp) -/* 05D23C 7F02870C 8FA30064 */ lw $v1, 0x64($sp) -/* 05D240 7F028710 8E04001C */ lw $a0, 0x1c($s0) -/* 05D244 7F028714 260700AC */ addiu $a3, $s0, 0xac -/* 05D248 7F028718 24650008 */ addiu $a1, $v1, 8 -/* 05D24C 7F02871C 0FC07F04 */ jal sub_GAME_7F01FC10 -/* 05D250 7F028720 00A03025 */ move $a2, $a1 -/* 05D254 7F028724 0FC08365 */ jal sub_GAME_7F020D94 -/* 05D258 7F028728 02002025 */ move $a0, $s0 -/* 05D25C 7F02872C 82020007 */ lb $v0, 7($s0) -/* 05D260 7F028730 2401000E */ li $at, 14 -/* 05D264 7F028734 8FA30064 */ lw $v1, 0x64($sp) -/* 05D268 7F028738 5441000C */ bnel $v0, $at, .L7F02876C -/* 05D26C 7F02873C 2401000F */ li $at, 15 -/* 05D270 7F028740 0FC0A137 */ jal sub_GAME_7F0284DC -/* 05D274 7F028744 02002025 */ move $a0, $s0 -/* 05D278 7F028748 0FC0A11D */ jal sub_GAME_7F028474 -/* 05D27C 7F02874C 02002025 */ move $a0, $s0 -/* 05D280 7F028750 02002025 */ move $a0, $s0 -/* 05D284 7F028754 8FA5006C */ lw $a1, 0x6c($sp) -/* 05D288 7F028758 0FC09FA4 */ jal sub_GAME_7F027E90 -/* 05D28C 7F02875C 00403025 */ move $a2, $v0 -/* 05D290 7F028760 10000045 */ b .L7F028878 -/* 05D294 7F028764 02002025 */ move $a0, $s0 -/* 05D298 7F028768 2401000F */ li $at, 15 -.L7F02876C: -/* 05D29C 7F02876C 54410042 */ bnel $v0, $at, .L7F028878 -/* 05D2A0 7F028770 02002025 */ move $a0, $s0 -/* 05D2A4 7F028774 92020058 */ lbu $v0, 0x58($s0) -/* 05D2A8 7F028778 00024880 */ sll $t1, $v0, 2 -/* 05D2AC 7F02877C 02095021 */ addu $t2, $s0, $t1 -/* 05D2B0 7F028780 8D4B0040 */ lw $t3, 0x40($t2) -/* 05D2B4 7F028784 1560001C */ bnez $t3, .L7F0287F8 -/* 05D2B8 7F028788 00000000 */ nop -/* 05D2BC 7F02878C 18400016 */ blez $v0, .L7F0287E8 -/* 05D2C0 7F028790 00026080 */ sll $t4, $v0, 2 -/* 05D2C4 7F028794 020C6821 */ addu $t5, $s0, $t4 -/* 05D2C8 7F028798 8DA4003C */ lw $a0, 0x3c($t5) -/* 05D2CC 7F02879C 3C188007 */ lui $t8, %hi(ptr_0xxxpresets) -/* 05D2D0 7F0287A0 8F185D18 */ lw $t8, %lo(ptr_0xxxpresets)($t8) -/* 05D2D4 7F0287A4 8C8E0000 */ lw $t6, ($a0) -/* 05D2D8 7F0287A8 C4660008 */ lwc1 $f6, 8($v1) -/* 05D2DC 7F0287AC C4700010 */ lwc1 $f16, 0x10($v1) -/* 05D2E0 7F0287B0 000E7880 */ sll $t7, $t6, 2 -/* 05D2E4 7F0287B4 01EE7823 */ subu $t7, $t7, $t6 -/* 05D2E8 7F0287B8 000F7880 */ sll $t7, $t7, 2 -/* 05D2EC 7F0287BC 01EE7823 */ subu $t7, $t7, $t6 -/* 05D2F0 7F0287C0 000F7880 */ sll $t7, $t7, 2 -/* 05D2F4 7F0287C4 01F81021 */ addu $v0, $t7, $t8 -/* 05D2F8 7F0287C8 C4480000 */ lwc1 $f8, ($v0) -/* 05D2FC 7F0287CC C44A0008 */ lwc1 $f10, 8($v0) -/* 05D300 7F0287D0 46083301 */ sub.s $f12, $f6, $f8 -/* 05D304 7F0287D4 0FC16A8C */ jal convert_angle_using_inverse -/* 05D308 7F0287D8 460A8381 */ sub.s $f14, $f16, $f10 -/* 05D30C 7F0287DC 44050000 */ mfc1 $a1, $f0 -/* 05D310 7F0287E0 0FC1B34F */ jal setsubroty -/* 05D314 7F0287E4 8E04001C */ lw $a0, 0x1c($s0) -.L7F0287E8: -/* 05D318 7F0287E8 0FC08F92 */ jal sub_GAME_7F023E48 -/* 05D31C 7F0287EC 02002025 */ move $a0, $s0 -/* 05D320 7F0287F0 10000021 */ b .L7F028878 -/* 05D324 7F0287F4 02002025 */ move $a0, $s0 -.L7F0287F8: -/* 05D328 7F0287F8 0FC0A0B8 */ jal sub_GAME_7F0282E0 -/* 05D32C 7F0287FC 02002025 */ move $a0, $s0 -/* 05D330 7F028800 02002025 */ move $a0, $s0 -/* 05D334 7F028804 27A50040 */ addiu $a1, $sp, 0x40 -/* 05D338 7F028808 0FC09FC8 */ jal sub_GAME_7F027F20 -/* 05D33C 7F02880C 27A6003C */ addiu $a2, $sp, 0x3c -/* 05D340 7F028810 02002025 */ move $a0, $s0 -/* 05D344 7F028814 8FA5006C */ lw $a1, 0x6c($sp) -/* 05D348 7F028818 0FC09FA4 */ jal sub_GAME_7F027E90 -/* 05D34C 7F02881C 27A60040 */ addiu $a2, $sp, 0x40 -/* 05D350 7F028820 10000015 */ b .L7F028878 -/* 05D354 7F028824 02002025 */ move $a0, $s0 -.L7F028828: -/* 05D358 7F028828 8FA2006C */ lw $v0, 0x6c($sp) -/* 05D35C 7F02882C 2401000E */ li $at, 14 -/* 05D360 7F028830 3C088005 */ lui $t0, %hi(global_timer) -/* 05D364 7F028834 C452003C */ lwc1 $f18, 0x3c($v0) -/* 05D368 7F028838 3C098005 */ lui $t1, %hi(global_timer) -/* 05D36C 7F02883C E4520038 */ swc1 $f18, 0x38($v0) -/* 05D370 7F028840 82190007 */ lb $t9, 7($s0) -/* 05D374 7F028844 17210007 */ bne $t9, $at, .L7F028864 -/* 05D378 7F028848 00000000 */ nop -/* 05D37C 7F02884C 8D08837C */ lw $t0, %lo(global_timer)($t0) -/* 05D380 7F028850 02002025 */ move $a0, $s0 -/* 05D384 7F028854 0FC0A125 */ jal sub_GAME_7F028494 -/* 05D388 7F028858 AE080078 */ sw $t0, 0x78($s0) -/* 05D38C 7F02885C 10000006 */ b .L7F028878 -/* 05D390 7F028860 02002025 */ move $a0, $s0 -.L7F028864: -/* 05D394 7F028864 8D29837C */ lw $t1, %lo(global_timer)($t1) -/* 05D398 7F028868 02002025 */ move $a0, $s0 -/* 05D39C 7F02886C 0FC0A0A3 */ jal sub_GAME_7F02828C -/* 05D3A0 7F028870 AE09009C */ sw $t1, 0x9c($s0) -/* 05D3A4 7F028874 02002025 */ move $a0, $s0 -.L7F028878: -/* 05D3A8 7F028878 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05D3AC 7F02887C 24050001 */ li $a1, 1 -/* 05D3B0 7F028880 8FBF002C */ lw $ra, 0x2c($sp) -.L7F028884: -/* 05D3B4 7F028884 8FB00028 */ lw $s0, 0x28($sp) -/* 05D3B8 7F028888 27BD0068 */ addiu $sp, $sp, 0x68 -/* 05D3BC 7F02888C 03E00008 */ jr $ra -/* 05D3C0 7F028890 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F028894(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F028894 -/* 05D3C4 7F028894 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 05D3C8 7F028898 AFBF0014 */ sw $ra, 0x14($sp) -/* 05D3CC 7F02889C 80820007 */ lb $v0, 7($a0) -/* 05D3D0 7F0288A0 2401000E */ li $at, 14 -/* 05D3D4 7F0288A4 00A03825 */ move $a3, $a1 -/* 05D3D8 7F0288A8 5441002F */ bnel $v0, $at, .L7F028968 -/* 05D3DC 7F0288AC 2401000F */ li $at, 15 -/* 05D3E0 7F0288B0 808E0038 */ lb $t6, 0x38($a0) -/* 05D3E4 7F0288B4 24010006 */ li $at, 6 -/* 05D3E8 7F0288B8 55C1002B */ bnel $t6, $at, .L7F028968 -/* 05D3EC 7F0288BC 2401000F */ li $at, 15 -/* 05D3F0 7F0288C0 AFA40040 */ sw $a0, 0x40($sp) -/* 05D3F4 7F0288C4 0FC0A11D */ jal sub_GAME_7F028474 -/* 05D3F8 7F0288C8 AFA50044 */ sw $a1, 0x44($sp) -/* 05D3FC 7F0288CC 8FA40040 */ lw $a0, 0x40($sp) -/* 05D400 7F0288D0 8FA70044 */ lw $a3, 0x44($sp) -/* 05D404 7F0288D4 C4900070 */ lwc1 $f16, 0x70($a0) -/* 05D408 7F0288D8 C4920074 */ lwc1 $f18, 0x74($a0) -/* 05D40C 7F0288DC 4610903E */ c.le.s $f18, $f16 -/* 05D410 7F0288E0 00000000 */ nop -/* 05D414 7F0288E4 45020009 */ bc1fl .L7F02890C -/* 05D418 7F0288E8 46128003 */ div.s $f0, $f16, $f18 -/* 05D41C 7F0288EC C4440000 */ lwc1 $f4, ($v0) -/* 05D420 7F0288F0 E4E40000 */ swc1 $f4, ($a3) -/* 05D424 7F0288F4 C4460004 */ lwc1 $f6, 4($v0) -/* 05D428 7F0288F8 E4E60004 */ swc1 $f6, 4($a3) -/* 05D42C 7F0288FC C4480008 */ lwc1 $f8, 8($v0) -/* 05D430 7F028900 10000052 */ b .L7F028A4C -/* 05D434 7F028904 E4E80008 */ swc1 $f8, 8($a3) -/* 05D438 7F028908 46128003 */ div.s $f0, $f16, $f18 -.L7F02890C: -/* 05D43C 7F02890C 8C8F0018 */ lw $t7, 0x18($a0) -/* 05D440 7F028910 C44A0000 */ lwc1 $f10, ($v0) -/* 05D444 7F028914 C5E20008 */ lwc1 $f2, 8($t7) -/* 05D448 7F028918 46025101 */ sub.s $f4, $f10, $f2 -/* 05D44C 7F02891C 46002182 */ mul.s $f6, $f4, $f0 -/* 05D450 7F028920 46023200 */ add.s $f8, $f6, $f2 -/* 05D454 7F028924 E4E80000 */ swc1 $f8, ($a3) -/* 05D458 7F028928 8C980018 */ lw $t8, 0x18($a0) -/* 05D45C 7F02892C C44A0004 */ lwc1 $f10, 4($v0) -/* 05D460 7F028930 C70C000C */ lwc1 $f12, 0xc($t8) -/* 05D464 7F028934 460C5101 */ sub.s $f4, $f10, $f12 -/* 05D468 7F028938 46002182 */ mul.s $f6, $f4, $f0 -/* 05D46C 7F02893C 460C3200 */ add.s $f8, $f6, $f12 -/* 05D470 7F028940 E4E80004 */ swc1 $f8, 4($a3) -/* 05D474 7F028944 8C990018 */ lw $t9, 0x18($a0) -/* 05D478 7F028948 C44A0008 */ lwc1 $f10, 8($v0) -/* 05D47C 7F02894C C72E0010 */ lwc1 $f14, 0x10($t9) -/* 05D480 7F028950 460E5101 */ sub.s $f4, $f10, $f14 -/* 05D484 7F028954 46002182 */ mul.s $f6, $f4, $f0 -/* 05D488 7F028958 460E3200 */ add.s $f8, $f6, $f14 -/* 05D48C 7F02895C 1000003B */ b .L7F028A4C -/* 05D490 7F028960 E4E80008 */ swc1 $f8, 8($a3) -/* 05D494 7F028964 2401000F */ li $at, 15 -.L7F028968: -/* 05D498 7F028968 54410030 */ bnel $v0, $at, .L7F028A2C -/* 05D49C 7F02896C 8C8C0018 */ lw $t4, 0x18($a0) -/* 05D4A0 7F028970 8088005C */ lb $t0, 0x5c($a0) -/* 05D4A4 7F028974 24010006 */ li $at, 6 -/* 05D4A8 7F028978 27A5002C */ addiu $a1, $sp, 0x2c -/* 05D4AC 7F02897C 1501002A */ bne $t0, $at, .L7F028A28 -/* 05D4B0 7F028980 27A60028 */ addiu $a2, $sp, 0x28 -/* 05D4B4 7F028984 AFA40040 */ sw $a0, 0x40($sp) -/* 05D4B8 7F028988 0FC09FC8 */ jal sub_GAME_7F027F20 -/* 05D4BC 7F02898C AFA70044 */ sw $a3, 0x44($sp) -/* 05D4C0 7F028990 8FA40040 */ lw $a0, 0x40($sp) -/* 05D4C4 7F028994 8FA70044 */ lw $a3, 0x44($sp) -/* 05D4C8 7F028998 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 05D4CC 7F02899C C4900094 */ lwc1 $f16, 0x94($a0) -/* 05D4D0 7F0289A0 C4920098 */ lwc1 $f18, 0x98($a0) -/* 05D4D4 7F0289A4 4610903E */ c.le.s $f18, $f16 -/* 05D4D8 7F0289A8 00000000 */ nop -/* 05D4DC 7F0289AC 45020008 */ bc1fl .L7F0289D0 -/* 05D4E0 7F0289B0 46128003 */ div.s $f0, $f16, $f18 -/* 05D4E4 7F0289B4 E4EA0000 */ swc1 $f10, ($a3) -/* 05D4E8 7F0289B8 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 05D4EC 7F0289BC E4E40004 */ swc1 $f4, 4($a3) -/* 05D4F0 7F0289C0 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 05D4F4 7F0289C4 10000021 */ b .L7F028A4C -/* 05D4F8 7F0289C8 E4E60008 */ swc1 $f6, 8($a3) -/* 05D4FC 7F0289CC 46128003 */ div.s $f0, $f16, $f18 -.L7F0289D0: -/* 05D500 7F0289D0 8C890018 */ lw $t1, 0x18($a0) -/* 05D504 7F0289D4 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 05D508 7F0289D8 C5220008 */ lwc1 $f2, 8($t1) -/* 05D50C 7F0289DC 46024281 */ sub.s $f10, $f8, $f2 -/* 05D510 7F0289E0 46005102 */ mul.s $f4, $f10, $f0 -/* 05D514 7F0289E4 46022180 */ add.s $f6, $f4, $f2 -/* 05D518 7F0289E8 E4E60000 */ swc1 $f6, ($a3) -/* 05D51C 7F0289EC 8C8A0018 */ lw $t2, 0x18($a0) -/* 05D520 7F0289F0 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 05D524 7F0289F4 C54C000C */ lwc1 $f12, 0xc($t2) -/* 05D528 7F0289F8 460C4281 */ sub.s $f10, $f8, $f12 -/* 05D52C 7F0289FC 46005102 */ mul.s $f4, $f10, $f0 -/* 05D530 7F028A00 460C2180 */ add.s $f6, $f4, $f12 -/* 05D534 7F028A04 E4E60004 */ swc1 $f6, 4($a3) -/* 05D538 7F028A08 8C8B0018 */ lw $t3, 0x18($a0) -/* 05D53C 7F028A0C C7A80034 */ lwc1 $f8, 0x34($sp) -/* 05D540 7F028A10 C56E0010 */ lwc1 $f14, 0x10($t3) -/* 05D544 7F028A14 460E4281 */ sub.s $f10, $f8, $f14 -/* 05D548 7F028A18 46005102 */ mul.s $f4, $f10, $f0 -/* 05D54C 7F028A1C 460E2180 */ add.s $f6, $f4, $f14 -/* 05D550 7F028A20 1000000A */ b .L7F028A4C -/* 05D554 7F028A24 E4E60008 */ swc1 $f6, 8($a3) -.L7F028A28: -/* 05D558 7F028A28 8C8C0018 */ lw $t4, 0x18($a0) -.L7F028A2C: -/* 05D55C 7F028A2C C5880008 */ lwc1 $f8, 8($t4) -/* 05D560 7F028A30 E4E80000 */ swc1 $f8, ($a3) -/* 05D564 7F028A34 8C8D0018 */ lw $t5, 0x18($a0) -/* 05D568 7F028A38 C5AA000C */ lwc1 $f10, 0xc($t5) -/* 05D56C 7F028A3C E4EA0004 */ swc1 $f10, 4($a3) -/* 05D570 7F028A40 8C8E0018 */ lw $t6, 0x18($a0) -/* 05D574 7F028A44 C5C40010 */ lwc1 $f4, 0x10($t6) -/* 05D578 7F028A48 E4E40008 */ swc1 $f4, 8($a3) -.L7F028A4C: -/* 05D57C 7F028A4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 05D580 7F028A50 27BD0040 */ addiu $sp, $sp, 0x40 -/* 05D584 7F028A54 03E00008 */ jr $ra -/* 05D588 7F028A58 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_sound_at_range(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_sound_at_range -/* 05D58C 7F028A5C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05D590 7F028A60 AFBF001C */ sw $ra, 0x1c($sp) -/* 05D594 7F028A64 AFA50034 */ sw $a1, 0x34($sp) -/* 05D598 7F028A68 AFA40030 */ sw $a0, 0x30($sp) -/* 05D59C 7F028A6C AFA60038 */ sw $a2, 0x38($sp) -/* 05D5A0 7F028A70 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05D5A4 7F028A74 24050001 */ li $a1, 1 -/* 05D5A8 7F028A78 8FA40030 */ lw $a0, 0x30($sp) -/* 05D5AC 7F028A7C 00002825 */ move $a1, $zero -/* 05D5B0 7F028A80 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05D5B4 7F028A84 AFA2002C */ sw $v0, 0x2c($sp) -/* 05D5B8 7F028A88 8FA7002C */ lw $a3, 0x2c($sp) -/* 05D5BC 7F028A8C 00402825 */ move $a1, $v0 -/* 05D5C0 7F028A90 10E00003 */ beqz $a3, .L7F028AA0 -/* 05D5C4 7F028A94 00000000 */ nop -/* 05D5C8 7F028A98 14400005 */ bnez $v0, .L7F028AB0 -/* 05D5CC 7F028A9C 00000000 */ nop -.L7F028AA0: -/* 05D5D0 7F028AA0 14E00009 */ bnez $a3, .L7F028AC8 -/* 05D5D4 7F028AA4 00E02025 */ move $a0, $a3 -/* 05D5D8 7F028AA8 54400008 */ bnezl $v0, .L7F028ACC -/* 05D5DC 7F028AAC AFA50028 */ sw $a1, 0x28($sp) -.L7F028AB0: -/* 05D5E0 7F028AB0 0C002914 */ jal get_random_value -/* 05D5E4 7F028AB4 AFA00020 */ sw $zero, 0x20($sp) -/* 05D5E8 7F028AB8 8FA30020 */ lw $v1, 0x20($sp) -/* 05D5EC 7F028ABC 8FA80030 */ lw $t0, 0x30($sp) -/* 05D5F0 7F028AC0 10000013 */ b .L7F028B10 -/* 05D5F4 7F028AC4 30460001 */ andi $a2, $v0, 1 -.L7F028AC8: -/* 05D5F8 7F028AC8 AFA50028 */ sw $a1, 0x28($sp) -.L7F028ACC: -/* 05D5FC 7F028ACC 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05D600 7F028AD0 AFA7002C */ sw $a3, 0x2c($sp) -/* 05D604 7F028AD4 8FA50028 */ lw $a1, 0x28($sp) -/* 05D608 7F028AD8 8FA7002C */ lw $a3, 0x2c($sp) -/* 05D60C 7F028ADC 14400007 */ bnez $v0, .L7F028AFC -/* 05D610 7F028AE0 8FA80030 */ lw $t0, 0x30($sp) -/* 05D614 7F028AE4 00A02025 */ move $a0, $a1 -/* 05D618 7F028AE8 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05D61C 7F028AEC AFA7002C */ sw $a3, 0x2c($sp) -/* 05D620 7F028AF0 8FA7002C */ lw $a3, 0x2c($sp) -/* 05D624 7F028AF4 10400004 */ beqz $v0, .L7F028B08 -/* 05D628 7F028AF8 8FA80030 */ lw $t0, 0x30($sp) -.L7F028AFC: -/* 05D62C 7F028AFC 00001825 */ move $v1, $zero -/* 05D630 7F028B00 10000003 */ b .L7F028B10 -/* 05D634 7F028B04 0007302B */ sltu $a2, $zero, $a3 -.L7F028B08: -/* 05D638 7F028B08 24030001 */ li $v1, 1 -/* 05D63C 7F028B0C 0007302B */ sltu $a2, $zero, $a3 -.L7F028B10: -/* 05D640 7F028B10 10600036 */ beqz $v1, .L7F028BEC -/* 05D644 7F028B14 8FAB0038 */ lw $t3, 0x38($sp) -/* 05D648 7F028B18 8FA20034 */ lw $v0, 0x34($sp) -/* 05D64C 7F028B1C 24010002 */ li $at, 2 -/* 05D650 7F028B20 3C0E8007 */ lui $t6, %hi(ptr_animation_table) -/* 05D654 7F028B24 1441000F */ bne $v0, $at, .L7F028B64 -/* 05D658 7F028B28 3C0F0000 */ lui $t7, %hi(0x00004070) # $t7, 0 -/* 05D65C 7F028B2C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D660 7F028B30 44812000 */ mtc1 $at, $f4 -/* 05D664 7F028B34 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D668 7F028B38 44813000 */ mtc1 $at, $f6 -/* 05D66C 7F028B3C 8DCE9538 */ lw $t6, %lo(ptr_animation_table)($t6) -/* 05D670 7F028B40 8D04001C */ lw $a0, 0x1c($t0) -/* 05D674 7F028B44 25EF4070 */ addiu $t7, %lo(0x00004070) # addiu $t7, $t7, 0x4070 -/* 05D678 7F028B48 24070000 */ li $a3, 0 -/* 05D67C 7F028B4C E7A40010 */ swc1 $f4, 0x10($sp) -/* 05D680 7F028B50 01CF2821 */ addu $a1, $t6, $t7 -/* 05D684 7F028B54 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D688 7F028B58 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05D68C 7F028B5C 1000008D */ b .L7F028D94 -/* 05D690 7F028B60 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028B64: -/* 05D694 7F028B64 24010001 */ li $at, 1 -/* 05D698 7F028B68 14410011 */ bne $v0, $at, .L7F028BB0 -/* 05D69C 7F028B6C 3C098007 */ lui $t1, %hi(ptr_animation_table) -/* 05D6A0 7F028B70 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D6A4 7F028B74 44814000 */ mtc1 $at, $f8 -/* 05D6A8 7F028B78 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D6AC 7F028B7C 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 05D6B0 7F028B80 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 05D6B4 7F028B84 44815000 */ mtc1 $at, $f10 -/* 05D6B8 7F028B88 3C190000 */ lui $t9, %hi(0x000040D4) # $t9, 0 -/* 05D6BC 7F028B8C 273940D4 */ addiu $t9, %lo(0x000040D4) # addiu $t9, $t9, 0x40d4 -/* 05D6C0 7F028B90 8D04001C */ lw $a0, 0x1c($t0) -/* 05D6C4 7F028B94 24070000 */ li $a3, 0 -/* 05D6C8 7F028B98 E7A80010 */ swc1 $f8, 0x10($sp) -/* 05D6CC 7F028B9C 03192821 */ addu $a1, $t8, $t9 -/* 05D6D0 7F028BA0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D6D4 7F028BA4 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 05D6D8 7F028BA8 1000007A */ b .L7F028D94 -/* 05D6DC 7F028BAC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028BB0: -/* 05D6E0 7F028BB0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D6E4 7F028BB4 44818000 */ mtc1 $at, $f16 -/* 05D6E8 7F028BB8 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D6EC 7F028BBC 44819000 */ mtc1 $at, $f18 -/* 05D6F0 7F028BC0 8D299538 */ lw $t1, %lo(ptr_animation_table)($t1) -/* 05D6F4 7F028BC4 3C0A0000 */ lui $t2, %hi(0x00004018) # $t2, 0 -/* 05D6F8 7F028BC8 254A4018 */ addiu $t2, %lo(0x00004018) # addiu $t2, $t2, 0x4018 -/* 05D6FC 7F028BCC 8D04001C */ lw $a0, 0x1c($t0) -/* 05D700 7F028BD0 24070000 */ li $a3, 0 -/* 05D704 7F028BD4 E7B00010 */ swc1 $f16, 0x10($sp) -/* 05D708 7F028BD8 E7B20014 */ swc1 $f18, 0x14($sp) -/* 05D70C 7F028BDC 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D710 7F028BE0 012A2821 */ addu $a1, $t1, $t2 -/* 05D714 7F028BE4 1000006B */ b .L7F028D94 -/* 05D718 7F028BE8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028BEC: -/* 05D71C 7F028BEC 11600036 */ beqz $t3, .L7F028CC8 -/* 05D720 7F028BF0 8FA20034 */ lw $v0, 0x34($sp) -/* 05D724 7F028BF4 8FA20034 */ lw $v0, 0x34($sp) -/* 05D728 7F028BF8 24010002 */ li $at, 2 -/* 05D72C 7F028BFC 3C0C8007 */ lui $t4, %hi(ptr_animation_table) -/* 05D730 7F028C00 1441000F */ bne $v0, $at, .L7F028C40 -/* 05D734 7F028C04 3C0D0000 */ lui $t5, %hi(0x000077D4) # $t5, 0 -/* 05D738 7F028C08 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D73C 7F028C0C 44812000 */ mtc1 $at, $f4 -/* 05D740 7F028C10 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D744 7F028C14 44813000 */ mtc1 $at, $f6 -/* 05D748 7F028C18 8D8C9538 */ lw $t4, %lo(ptr_animation_table)($t4) -/* 05D74C 7F028C1C 8D04001C */ lw $a0, 0x1c($t0) -/* 05D750 7F028C20 25AD77D4 */ addiu $t5, %lo(0x000077D4) # addiu $t5, $t5, 0x77d4 -/* 05D754 7F028C24 24070000 */ li $a3, 0 -/* 05D758 7F028C28 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05D75C 7F028C2C 018D2821 */ addu $a1, $t4, $t5 -/* 05D760 7F028C30 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D764 7F028C34 E7A60014 */ swc1 $f6, 0x14($sp) -/* 05D768 7F028C38 10000056 */ b .L7F028D94 -/* 05D76C 7F028C3C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028C40: -/* 05D770 7F028C40 24010001 */ li $at, 1 -/* 05D774 7F028C44 14410011 */ bne $v0, $at, .L7F028C8C -/* 05D778 7F028C48 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 05D77C 7F028C4C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D780 7F028C50 44814000 */ mtc1 $at, $f8 -/* 05D784 7F028C54 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D788 7F028C58 3C0E8007 */ lui $t6, %hi(ptr_animation_table) -/* 05D78C 7F028C5C 8DCE9538 */ lw $t6, %lo(ptr_animation_table)($t6) -/* 05D790 7F028C60 44815000 */ mtc1 $at, $f10 -/* 05D794 7F028C64 3C0F0000 */ lui $t7, %hi(0x0000777C) # $t7, 0 -/* 05D798 7F028C68 25EF777C */ addiu $t7, %lo(0x0000777C) # addiu $t7, $t7, 0x777c -/* 05D79C 7F028C6C 8D04001C */ lw $a0, 0x1c($t0) -/* 05D7A0 7F028C70 24070000 */ li $a3, 0 -/* 05D7A4 7F028C74 E7A80010 */ swc1 $f8, 0x10($sp) -/* 05D7A8 7F028C78 01CF2821 */ addu $a1, $t6, $t7 -/* 05D7AC 7F028C7C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D7B0 7F028C80 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 05D7B4 7F028C84 10000043 */ b .L7F028D94 -/* 05D7B8 7F028C88 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028C8C: -/* 05D7BC 7F028C8C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D7C0 7F028C90 44818000 */ mtc1 $at, $f16 -/* 05D7C4 7F028C94 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D7C8 7F028C98 44819000 */ mtc1 $at, $f18 -/* 05D7CC 7F028C9C 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 05D7D0 7F028CA0 3C190001 */ lui $t9, %hi(0x00008204) # $t9, 1 -/* 05D7D4 7F028CA4 27398204 */ addiu $t9, %lo(0x00008204) # addiu $t9, $t9, -0x7dfc -/* 05D7D8 7F028CA8 8D04001C */ lw $a0, 0x1c($t0) -/* 05D7DC 7F028CAC 24070000 */ li $a3, 0 -/* 05D7E0 7F028CB0 E7B00010 */ swc1 $f16, 0x10($sp) -/* 05D7E4 7F028CB4 E7B20014 */ swc1 $f18, 0x14($sp) -/* 05D7E8 7F028CB8 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D7EC 7F028CBC 03192821 */ addu $a1, $t8, $t9 -/* 05D7F0 7F028CC0 10000034 */ b .L7F028D94 -/* 05D7F4 7F028CC4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028CC8: -/* 05D7F8 7F028CC8 24010002 */ li $at, 2 -/* 05D7FC 7F028CCC 14410010 */ bne $v0, $at, .L7F028D10 -/* 05D800 7F028CD0 3C098007 */ lui $t1, %hi(ptr_animation_table) -/* 05D804 7F028CD4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D808 7F028CD8 44812000 */ mtc1 $at, $f4 -/* 05D80C 7F028CDC 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D810 7F028CE0 44813000 */ mtc1 $at, $f6 -/* 05D814 7F028CE4 8D299538 */ lw $t1, %lo(ptr_animation_table)($t1) -/* 05D818 7F028CE8 3C0A0000 */ lui $t2, %hi(0x000077D4) # $t2, 0 -/* 05D81C 7F028CEC 254A77D4 */ addiu $t2, %lo(0x000077D4) # addiu $t2, $t2, 0x77d4 -/* 05D820 7F028CF0 8D04001C */ lw $a0, 0x1c($t0) -/* 05D824 7F028CF4 24070000 */ li $a3, 0 -/* 05D828 7F028CF8 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05D82C 7F028CFC E7A60014 */ swc1 $f6, 0x14($sp) -/* 05D830 7F028D00 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D834 7F028D04 012A2821 */ addu $a1, $t1, $t2 -/* 05D838 7F028D08 10000022 */ b .L7F028D94 -/* 05D83C 7F028D0C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028D10: -/* 05D840 7F028D10 24010001 */ li $at, 1 -/* 05D844 7F028D14 14410011 */ bne $v0, $at, .L7F028D5C -/* 05D848 7F028D18 3C0D8007 */ lui $t5, %hi(ptr_animation_table) -/* 05D84C 7F028D1C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D850 7F028D20 44814000 */ mtc1 $at, $f8 -/* 05D854 7F028D24 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D858 7F028D28 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 05D85C 7F028D2C 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 05D860 7F028D30 44815000 */ mtc1 $at, $f10 -/* 05D864 7F028D34 3C0C0001 */ lui $t4, %hi(0x00008520) # $t4, 1 -/* 05D868 7F028D38 258C8520 */ addiu $t4, %lo(0x00008520) # addiu $t4, $t4, -0x7ae0 -/* 05D86C 7F028D3C 8D04001C */ lw $a0, 0x1c($t0) -/* 05D870 7F028D40 24070000 */ li $a3, 0 -/* 05D874 7F028D44 E7A80010 */ swc1 $f8, 0x10($sp) -/* 05D878 7F028D48 016C2821 */ addu $a1, $t3, $t4 -/* 05D87C 7F028D4C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D880 7F028D50 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 05D884 7F028D54 1000000F */ b .L7F028D94 -/* 05D888 7F028D58 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028D5C: -/* 05D88C 7F028D5C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05D890 7F028D60 44818000 */ mtc1 $at, $f16 -/* 05D894 7F028D64 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05D898 7F028D68 44819000 */ mtc1 $at, $f18 -/* 05D89C 7F028D6C 8DAD9538 */ lw $t5, %lo(ptr_animation_table)($t5) -/* 05D8A0 7F028D70 3C0E0001 */ lui $t6, %hi(0x000084C4) # $t6, 1 -/* 05D8A4 7F028D74 25CE84C4 */ addiu $t6, %lo(0x000084C4) # addiu $t6, $t6, -0x7b3c -/* 05D8A8 7F028D78 8D04001C */ lw $a0, 0x1c($t0) -/* 05D8AC 7F028D7C 24070000 */ li $a3, 0 -/* 05D8B0 7F028D80 E7B00010 */ swc1 $f16, 0x10($sp) -/* 05D8B4 7F028D84 E7B20014 */ swc1 $f18, 0x14($sp) -/* 05D8B8 7F028D88 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05D8BC 7F028D8C 01AE2821 */ addu $a1, $t5, $t6 -/* 05D8C0 7F028D90 8FBF001C */ lw $ra, 0x1c($sp) -.L7F028D94: -/* 05D8C4 7F028D94 27BD0030 */ addiu $sp, $sp, 0x30 -/* 05D8C8 7F028D98 03E00008 */ jr $ra -/* 05D8CC 7F028D9C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void play_hit_soundeffect_and_proper_volume(void) { - -} -#else -GLOBAL_ASM( -.text -glabel play_hit_soundeffect_and_proper_volume -/* 05D8D0 7F028DA0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05D8D4 7F028DA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 05D8D8 7F028DA8 808E000F */ lb $t6, 0xf($a0) -/* 05D8DC 7F028DAC 3C068004 */ lui $a2, %hi(c_item_entries+16) -/* 05D8E0 7F028DB0 90850059 */ lbu $a1, 0x59($a0) -/* 05D8E4 7F028DB4 000E7880 */ sll $t7, $t6, 2 -/* 05D8E8 7F028DB8 01EE7821 */ addu $t7, $t7, $t6 -/* 05D8EC 7F028DBC 000F7880 */ sll $t7, $t7, 2 -/* 05D8F0 7F028DC0 00CF3021 */ addu $a2, $a2, $t7 -/* 05D8F4 7F028DC4 0FC0A297 */ jal get_sound_at_range -/* 05D8F8 7F028DC8 90C6DE20 */ lbu $a2, %lo(c_item_entries+16)($a2) -/* 05D8FC 7F028DCC 8FBF0014 */ lw $ra, 0x14($sp) -/* 05D900 7F028DD0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05D904 7F028DD4 03E00008 */ jr $ra -/* 05D908 7F028DD8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void plot_course_for_actor(void) { - -} -#else -GLOBAL_ASM( -.text -glabel plot_course_for_actor -/* 05D90C 7F028DDC 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 05D910 7F028DE0 AFBF001C */ sw $ra, 0x1c($sp) -/* 05D914 7F028DE4 AFB00018 */ sw $s0, 0x18($sp) -/* 05D918 7F028DE8 AFA5006C */ sw $a1, 0x6c($sp) -/* 05D91C 7F028DEC AFA60070 */ sw $a2, 0x70($sp) -/* 05D920 7F028DF0 AFA70074 */ sw $a3, 0x74($sp) -/* 05D924 7F028DF4 80820007 */ lb $v0, 7($a0) -/* 05D928 7F028DF8 00808025 */ move $s0, $a0 -/* 05D92C 7F028DFC 8C830018 */ lw $v1, 0x18($a0) -/* 05D930 7F028E00 384E000F */ xori $t6, $v0, 0xf -/* 05D934 7F028E04 2DC20001 */ sltiu $v0, $t6, 1 -/* 05D938 7F028E08 10400004 */ beqz $v0, .L7F028E1C -/* 05D93C 7F028E0C 93AF0077 */ lbu $t7, 0x77($sp) -/* 05D940 7F028E10 90980059 */ lbu $t8, 0x59($a0) -/* 05D944 7F028E14 01F81026 */ xor $v0, $t7, $t8 -/* 05D948 7F028E18 2C420001 */ sltiu $v0, $v0, 1 -.L7F028E1C: -/* 05D94C 7F028E1C 8C650014 */ lw $a1, 0x14($v1) -/* 05D950 7F028E20 AFA30064 */ sw $v1, 0x64($sp) -/* 05D954 7F028E24 AFA20028 */ sw $v0, 0x28($sp) -/* 05D958 7F028E28 0FC09F35 */ jal sub_GAME_7F027CD4 -/* 05D95C 7F028E2C 24640008 */ addiu $a0, $v1, 8 -/* 05D960 7F028E30 AFA20060 */ sw $v0, 0x60($sp) -/* 05D964 7F028E34 8FA4006C */ lw $a0, 0x6c($sp) -/* 05D968 7F028E38 0FC09F35 */ jal sub_GAME_7F027CD4 -/* 05D96C 7F028E3C 8FA50070 */ lw $a1, 0x70($sp) -/* 05D970 7F028E40 8FA40060 */ lw $a0, 0x60($sp) -/* 05D974 7F028E44 00402825 */ move $a1, $v0 -/* 05D978 7F028E48 50800053 */ beql $a0, $zero, .L7F028F98 -/* 05D97C 7F028E4C 00001025 */ move $v0, $zero -/* 05D980 7F028E50 10400050 */ beqz $v0, .L7F028F94 -/* 05D984 7F028E54 27A60044 */ addiu $a2, $sp, 0x44 -/* 05D988 7F028E58 24070006 */ li $a3, 6 -/* 05D98C 7F028E5C 0FC23D3C */ jal sub_GAME_7F08F4F0 -/* 05D990 7F028E60 AFA2005C */ sw $v0, 0x5c($sp) -/* 05D994 7F028E64 28410002 */ slti $at, $v0, 2 -/* 05D998 7F028E68 5420004B */ bnezl $at, .L7F028F98 -/* 05D99C 7F028E6C 00001025 */ move $v0, $zero -/* 05D9A0 7F028E70 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05D9A4 7F028E74 02002025 */ move $a0, $s0 -/* 05D9A8 7F028E78 8FA2006C */ lw $v0, 0x6c($sp) -/* 05D9AC 7F028E7C 2419000F */ li $t9, 15 -/* 05D9B0 7F028E80 A2190007 */ sb $t9, 7($s0) -/* 05D9B4 7F028E84 C4440000 */ lwc1 $f4, ($v0) -/* 05D9B8 7F028E88 44805000 */ mtc1 $zero, $f10 -/* 05D9BC 7F028E8C E604002C */ swc1 $f4, 0x2c($s0) -/* 05D9C0 7F028E90 C4460004 */ lwc1 $f6, 4($v0) -/* 05D9C4 7F028E94 E6060030 */ swc1 $f6, 0x30($s0) -/* 05D9C8 7F028E98 C4480008 */ lwc1 $f8, 8($v0) -/* 05D9CC 7F028E9C E6080034 */ swc1 $f8, 0x34($s0) -/* 05D9D0 7F028EA0 8FA80070 */ lw $t0, 0x70($sp) -/* 05D9D4 7F028EA4 AE080038 */ sw $t0, 0x38($s0) -/* 05D9D8 7F028EA8 8FA9005C */ lw $t1, 0x5c($sp) -/* 05D9DC 7F028EAC A2000058 */ sb $zero, 0x58($s0) -/* 05D9E0 7F028EB0 AE09003C */ sw $t1, 0x3c($s0) -/* 05D9E4 7F028EB4 8FAA0074 */ lw $t2, 0x74($sp) -/* 05D9E8 7F028EB8 E60A00A0 */ swc1 $f10, 0xa0($s0) -/* 05D9EC 7F028EBC 0C002914 */ jal get_random_value -/* 05D9F0 7F028EC0 A20A0059 */ sb $t2, 0x59($s0) -/* 05D9F4 7F028EC4 24010064 */ li $at, 100 -/* 05D9F8 7F028EC8 0041001B */ divu $zero, $v0, $at -/* 05D9FC 7F028ECC 00005810 */ mfhi $t3 -/* 05DA00 7F028ED0 240CFFFF */ li $t4, -1 -/* 05DA04 7F028ED4 AE0B0084 */ sw $t3, 0x84($s0) -/* 05DA08 7F028ED8 A200005F */ sb $zero, 0x5f($s0) -/* 05DA0C 7F028EDC AE0C009C */ sw $t4, 0x9c($s0) -/* 05DA10 7F028EE0 8FAD0044 */ lw $t5, 0x44($sp) -/* 05DA14 7F028EE4 24050002 */ li $a1, 2 -/* 05DA18 7F028EE8 27A60044 */ addiu $a2, $sp, 0x44 -/* 05DA1C 7F028EEC AE0D0040 */ sw $t5, 0x40($s0) -/* 05DA20 7F028EF0 8FAE0048 */ lw $t6, 0x48($sp) -/* 05DA24 7F028EF4 00052080 */ sll $a0, $a1, 2 -/* 05DA28 7F028EF8 00C41821 */ addu $v1, $a2, $a0 -/* 05DA2C 7F028EFC AE0E0044 */ sw $t6, 0x44($s0) -/* 05DA30 7F028F00 8C6F0000 */ lw $t7, ($v1) -/* 05DA34 7F028F04 02041021 */ addu $v0, $s0, $a0 -/* 05DA38 7F028F08 02002025 */ move $a0, $s0 -/* 05DA3C 7F028F0C AC4F0040 */ sw $t7, 0x40($v0) -/* 05DA40 7F028F10 8C780004 */ lw $t8, 4($v1) -/* 05DA44 7F028F14 AC580044 */ sw $t8, 0x44($v0) -/* 05DA48 7F028F18 8C790008 */ lw $t9, 8($v1) -/* 05DA4C 7F028F1C AC590048 */ sw $t9, 0x48($v0) -/* 05DA50 7F028F20 8C68000C */ lw $t0, 0xc($v1) -/* 05DA54 7F028F24 0FC0A0A3 */ jal sub_GAME_7F02828C -/* 05DA58 7F028F28 AC48004C */ sw $t0, 0x4c($v0) -/* 05DA5C 7F028F2C A2000008 */ sb $zero, 8($s0) -/* 05DA60 7F028F30 8FA90028 */ lw $t1, 0x28($sp) -/* 05DA64 7F028F34 55200004 */ bnezl $t1, .L7F028F48 -/* 05DA68 7F028F38 02002025 */ move $a0, $s0 -/* 05DA6C 7F028F3C 0FC0A368 */ jal play_hit_soundeffect_and_proper_volume -/* 05DA70 7F028F40 02002025 */ move $a0, $s0 -/* 05DA74 7F028F44 02002025 */ move $a0, $s0 -.L7F028F48: -/* 05DA78 7F028F48 27A50034 */ addiu $a1, $sp, 0x34 -/* 05DA7C 7F028F4C 0FC09FC8 */ jal sub_GAME_7F027F20 -/* 05DA80 7F028F50 27A60030 */ addiu $a2, $sp, 0x30 -/* 05DA84 7F028F54 8FAA0064 */ lw $t2, 0x64($sp) -/* 05DA88 7F028F58 02002025 */ move $a0, $s0 -/* 05DA8C 7F028F5C 27A50034 */ addiu $a1, $sp, 0x34 -/* 05DA90 7F028F60 914B0001 */ lbu $t3, 1($t2) -/* 05DA94 7F028F64 316C0002 */ andi $t4, $t3, 2 -/* 05DA98 7F028F68 15800008 */ bnez $t4, .L7F028F8C -/* 05DA9C 7F028F6C 00000000 */ nop -/* 05DAA0 7F028F70 0FC09F6C */ jal sub_GAME_7F027DB0 -/* 05DAA4 7F028F74 8FA60030 */ lw $a2, 0x30($sp) -/* 05DAA8 7F028F78 10400004 */ beqz $v0, .L7F028F8C -/* 05DAAC 7F028F7C 02002025 */ move $a0, $s0 -/* 05DAB0 7F028F80 2605005C */ addiu $a1, $s0, 0x5c -/* 05DAB4 7F028F84 0FC09FA4 */ jal sub_GAME_7F027E90 -/* 05DAB8 7F028F88 27A60034 */ addiu $a2, $sp, 0x34 -.L7F028F8C: -/* 05DABC 7F028F8C 10000002 */ b .L7F028F98 -/* 05DAC0 7F028F90 24020001 */ li $v0, 1 -.L7F028F94: -/* 05DAC4 7F028F94 00001025 */ move $v0, $zero -.L7F028F98: -/* 05DAC8 7F028F98 8FBF001C */ lw $ra, 0x1c($sp) -/* 05DACC 7F028F9C 8FB00018 */ lw $s0, 0x18($sp) -/* 05DAD0 7F028FA0 27BD0068 */ addiu $sp, $sp, 0x68 -/* 05DAD4 7F028FA4 03E00008 */ jr $ra -/* 05DAD8 7F028FA8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F028FAC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F028FAC -/* 05DADC 7F028FAC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05DAE0 7F028FB0 AFBF001C */ sw $ra, 0x1c($sp) -/* 05DAE4 7F028FB4 AFA40030 */ sw $a0, 0x30($sp) -/* 05DAE8 7F028FB8 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05DAEC 7F028FBC 24050001 */ li $a1, 1 -/* 05DAF0 7F028FC0 8FA40030 */ lw $a0, 0x30($sp) -/* 05DAF4 7F028FC4 00002825 */ move $a1, $zero -/* 05DAF8 7F028FC8 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05DAFC 7F028FCC AFA2002C */ sw $v0, 0x2c($sp) -/* 05DB00 7F028FD0 8FA7002C */ lw $a3, 0x2c($sp) -/* 05DB04 7F028FD4 00402825 */ move $a1, $v0 -/* 05DB08 7F028FD8 10E00003 */ beqz $a3, .L7F028FE8 -/* 05DB0C 7F028FDC 00000000 */ nop -/* 05DB10 7F028FE0 14400005 */ bnez $v0, .L7F028FF8 -/* 05DB14 7F028FE4 00000000 */ nop -.L7F028FE8: -/* 05DB18 7F028FE8 14E00008 */ bnez $a3, .L7F02900C -/* 05DB1C 7F028FEC 00E02025 */ move $a0, $a3 -/* 05DB20 7F028FF0 54400007 */ bnezl $v0, .L7F029010 -/* 05DB24 7F028FF4 AFA50028 */ sw $a1, 0x28($sp) -.L7F028FF8: -/* 05DB28 7F028FF8 0C002914 */ jal get_random_value -/* 05DB2C 7F028FFC AFA00020 */ sw $zero, 0x20($sp) -/* 05DB30 7F029000 8FA30020 */ lw $v1, 0x20($sp) -/* 05DB34 7F029004 10000011 */ b .L7F02904C -/* 05DB38 7F029008 30460001 */ andi $a2, $v0, 1 -.L7F02900C: -/* 05DB3C 7F02900C AFA50028 */ sw $a1, 0x28($sp) -.L7F029010: -/* 05DB40 7F029010 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05DB44 7F029014 AFA7002C */ sw $a3, 0x2c($sp) -/* 05DB48 7F029018 8FA50028 */ lw $a1, 0x28($sp) -/* 05DB4C 7F02901C 14400006 */ bnez $v0, .L7F029038 -/* 05DB50 7F029020 8FA7002C */ lw $a3, 0x2c($sp) -/* 05DB54 7F029024 00A02025 */ move $a0, $a1 -/* 05DB58 7F029028 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05DB5C 7F02902C AFA7002C */ sw $a3, 0x2c($sp) -/* 05DB60 7F029030 10400004 */ beqz $v0, .L7F029044 -/* 05DB64 7F029034 8FA7002C */ lw $a3, 0x2c($sp) -.L7F029038: -/* 05DB68 7F029038 00001825 */ move $v1, $zero -/* 05DB6C 7F02903C 10000003 */ b .L7F02904C -/* 05DB70 7F029040 0007302B */ sltu $a2, $zero, $a3 -.L7F029044: -/* 05DB74 7F029044 24030001 */ li $v1, 1 -/* 05DB78 7F029048 0007302B */ sltu $a2, $zero, $a3 -.L7F02904C: -/* 05DB7C 7F02904C 10600012 */ beqz $v1, .L7F029098 -/* 05DB80 7F029050 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05DB84 7F029054 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05DB88 7F029058 44812000 */ mtc1 $at, $f4 -/* 05DB8C 7F02905C 8FAE0030 */ lw $t6, 0x30($sp) -/* 05DB90 7F029060 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05DB94 7F029064 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 05DB98 7F029068 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 05DB9C 7F02906C 44813000 */ mtc1 $at, $f6 -/* 05DBA0 7F029070 3C180000 */ lui $t8, %hi(0x00004018) # $t8, 0 -/* 05DBA4 7F029074 27184018 */ addiu $t8, %lo(0x00004018) # addiu $t8, $t8, 0x4018 -/* 05DBA8 7F029078 8DC4001C */ lw $a0, 0x1c($t6) -/* 05DBAC 7F02907C 24070000 */ li $a3, 0 -/* 05DBB0 7F029080 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05DBB4 7F029084 01F82821 */ addu $a1, $t7, $t8 -/* 05DBB8 7F029088 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05DBBC 7F02908C E7A60014 */ swc1 $f6, 0x14($sp) -/* 05DBC0 7F029090 10000016 */ b .L7F0290EC -/* 05DBC4 7F029094 8FBF001C */ lw $ra, 0x1c($sp) -.L7F029098: -/* 05DBC8 7F029098 44814000 */ mtc1 $at, $f8 -/* 05DBCC 7F02909C 3C018003 */ lui $at, %hi(D_80030984) -/* 05DBD0 7F0290A0 C42A0984 */ lwc1 $f10, %lo(D_80030984)($at) -/* 05DBD4 7F0290A4 3C018003 */ lui $at, %hi(D_80030990) -/* 05DBD8 7F0290A8 C4320990 */ lwc1 $f18, %lo(D_80030990)($at) -/* 05DBDC 7F0290AC 460A4402 */ mul.s $f16, $f8, $f10 -/* 05DBE0 7F0290B0 8FB90030 */ lw $t9, 0x30($sp) -/* 05DBE4 7F0290B4 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05DBE8 7F0290B8 3C088007 */ lui $t0, %hi(ptr_animation_table) -/* 05DBEC 7F0290BC 8D089538 */ lw $t0, %lo(ptr_animation_table)($t0) -/* 05DBF0 7F0290C0 44812000 */ mtc1 $at, $f4 -/* 05DBF4 7F0290C4 3C090001 */ lui $t1, %hi(0x00008204) # $t1, 1 -/* 05DBF8 7F0290C8 46128003 */ div.s $f0, $f16, $f18 -/* 05DBFC 7F0290CC 25298204 */ addiu $t1, %lo(0x00008204) # addiu $t1, $t1, -0x7dfc -/* 05DC00 7F0290D0 8F24001C */ lw $a0, 0x1c($t9) -/* 05DC04 7F0290D4 24070000 */ li $a3, 0 -/* 05DC08 7F0290D8 01092821 */ addu $a1, $t0, $t1 -/* 05DC0C 7F0290DC E7A40014 */ swc1 $f4, 0x14($sp) -/* 05DC10 7F0290E0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05DC14 7F0290E4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 05DC18 7F0290E8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0290EC: -/* 05DC1C 7F0290EC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 05DC20 7F0290F0 03E00008 */ jr $ra -/* 05DC24 7F0290F4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void set_actor_on_path(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DF8 -.word 0x461c4000 /*10000.0*/ -.text -glabel set_actor_on_path -/* 05DC28 7F0290F8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05DC2C 7F0290FC AFBF001C */ sw $ra, 0x1c($sp) -/* 05DC30 7F029100 AFB00018 */ sw $s0, 0x18($sp) -/* 05DC34 7F029104 AFA5002C */ sw $a1, 0x2c($sp) -/* 05DC38 7F029108 8CA80000 */ lw $t0, ($a1) -/* 05DC3C 7F02910C 00808025 */ move $s0, $a0 -/* 05DC40 7F029110 240CFFFF */ li $t4, -1 -/* 05DC44 7F029114 8D0F0000 */ lw $t7, ($t0) -/* 05DC48 7F029118 8C870018 */ lw $a3, 0x18($a0) -/* 05DC4C 7F02911C 00003025 */ move $a2, $zero -/* 05DC50 7F029120 05E0002C */ bltz $t7, .L7F0291D4 -/* 05DC54 7F029124 3C098007 */ lui $t1, %hi(ptr_setup_path_tbl) -/* 05DC58 7F029128 3C0A8007 */ lui $t2, %hi(ptr_0xxxpresets) -/* 05DC5C 7F02912C 3C018005 */ lui $at, %hi(D_80051DF8) -/* 05DC60 7F029130 C42C1DF8 */ lwc1 $f12, %lo(D_80051DF8)($at) -/* 05DC64 7F029134 8D4A5D18 */ lw $t2, %lo(ptr_0xxxpresets)($t2) -/* 05DC68 7F029138 8D295D00 */ lw $t1, %lo(ptr_setup_path_tbl)($t1) -/* 05DC6C 7F02913C 240B002C */ li $t3, 44 -/* 05DC70 7F029140 0006C080 */ sll $t8, $a2, 2 -.L7F029144: -/* 05DC74 7F029144 01181021 */ addu $v0, $t0, $t8 -/* 05DC78 7F029148 8C590000 */ lw $t9, ($v0) -/* 05DC7C 7F02914C 00196900 */ sll $t5, $t9, 4 -/* 05DC80 7F029150 01A91821 */ addu $v1, $t5, $t1 -/* 05DC84 7F029154 8C6E0000 */ lw $t6, ($v1) -/* 05DC88 7F029158 01CB0019 */ multu $t6, $t3 -/* 05DC8C 7F02915C 00007812 */ mflo $t7 -/* 05DC90 7F029160 01EA2021 */ addu $a0, $t7, $t2 -/* 05DC94 7F029164 8C850028 */ lw $a1, 0x28($a0) -/* 05DC98 7F029168 50A00015 */ beql $a1, $zero, .L7F0291C0 -/* 05DC9C 7F02916C 24C60001 */ addiu $a2, $a2, 1 -/* 05DCA0 7F029170 8CF80014 */ lw $t8, 0x14($a3) -/* 05DCA4 7F029174 57050012 */ bnel $t8, $a1, .L7F0291C0 -/* 05DCA8 7F029178 24C60001 */ addiu $a2, $a2, 1 -/* 05DCAC 7F02917C C4840000 */ lwc1 $f4, ($a0) -/* 05DCB0 7F029180 C4E60008 */ lwc1 $f6, 8($a3) -/* 05DCB4 7F029184 C4880008 */ lwc1 $f8, 8($a0) -/* 05DCB8 7F029188 C4EA0010 */ lwc1 $f10, 0x10($a3) -/* 05DCBC 7F02918C 46062001 */ sub.s $f0, $f4, $f6 -/* 05DCC0 7F029190 460A4081 */ sub.s $f2, $f8, $f10 -/* 05DCC4 7F029194 46000402 */ mul.s $f16, $f0, $f0 -/* 05DCC8 7F029198 00000000 */ nop -/* 05DCCC 7F02919C 46021482 */ mul.s $f18, $f2, $f2 -/* 05DCD0 7F0291A0 46128100 */ add.s $f4, $f16, $f18 -/* 05DCD4 7F0291A4 460C203C */ c.lt.s $f4, $f12 -/* 05DCD8 7F0291A8 00000000 */ nop -/* 05DCDC 7F0291AC 45000003 */ bc1f .L7F0291BC -/* 05DCE0 7F0291B0 00000000 */ nop -/* 05DCE4 7F0291B4 10000007 */ b .L7F0291D4 -/* 05DCE8 7F0291B8 00C06025 */ move $t4, $a2 -.L7F0291BC: -/* 05DCEC 7F0291BC 24C60001 */ addiu $a2, $a2, 1 -.L7F0291C0: -/* 05DCF0 7F0291C0 0006C880 */ sll $t9, $a2, 2 -/* 05DCF4 7F0291C4 01196821 */ addu $t5, $t0, $t9 -/* 05DCF8 7F0291C8 8DAE0000 */ lw $t6, ($t5) -/* 05DCFC 7F0291CC 05C3FFDD */ bgezl $t6, .L7F029144 -/* 05DD00 7F0291D0 0006C080 */ sll $t8, $a2, 2 -.L7F0291D4: -/* 05DD04 7F0291D4 05810002 */ bgez $t4, .L7F0291E0 -/* 05DD08 7F0291D8 02002025 */ move $a0, $s0 -/* 05DD0C 7F0291DC 00006025 */ move $t4, $zero -.L7F0291E0: -/* 05DD10 7F0291E0 0FC0B461 */ jal sub_GAME_7F02D184 -/* 05DD14 7F0291E4 AFAC0020 */ sw $t4, 0x20($sp) -/* 05DD18 7F0291E8 8FAC0020 */ lw $t4, 0x20($sp) -/* 05DD1C 7F0291EC 240F000E */ li $t7, 14 -/* 05DD20 7F0291F0 A20F0007 */ sb $t7, 7($s0) -/* 05DD24 7F0291F4 8FB8002C */ lw $t8, 0x2c($sp) -/* 05DD28 7F0291F8 24190001 */ li $t9, 1 -/* 05DD2C 7F0291FC AE190034 */ sw $t9, 0x34($s0) -/* 05DD30 7F029200 AE0C0030 */ sw $t4, 0x30($s0) -/* 05DD34 7F029204 0C002914 */ jal get_random_value -/* 05DD38 7F029208 AE18002C */ sw $t8, 0x2c($s0) -/* 05DD3C 7F02920C 24010064 */ li $at, 100 -/* 05DD40 7F029210 0041001B */ divu $zero, $v0, $at -/* 05DD44 7F029214 44803000 */ mtc1 $zero, $f6 -/* 05DD48 7F029218 00006810 */ mfhi $t5 -/* 05DD4C 7F02921C 240EFFFF */ li $t6, -1 -/* 05DD50 7F029220 AE0D0060 */ sw $t5, 0x60($s0) -/* 05DD54 7F029224 A200003B */ sb $zero, 0x3b($s0) -/* 05DD58 7F029228 AE0E0078 */ sw $t6, 0x78($s0) -/* 05DD5C 7F02922C 02002025 */ move $a0, $s0 -/* 05DD60 7F029230 0FC0A125 */ jal sub_GAME_7F028494 -/* 05DD64 7F029234 E606007C */ swc1 $f6, 0x7c($s0) -/* 05DD68 7F029238 A2000008 */ sb $zero, 8($s0) -/* 05DD6C 7F02923C 0FC0A3EB */ jal sub_GAME_7F028FAC -/* 05DD70 7F029240 02002025 */ move $a0, $s0 -/* 05DD74 7F029244 0FC0A11D */ jal sub_GAME_7F028474 -/* 05DD78 7F029248 02002025 */ move $a0, $s0 -/* 05DD7C 7F02924C 8E0F0018 */ lw $t7, 0x18($s0) -/* 05DD80 7F029250 02002025 */ move $a0, $s0 -/* 05DD84 7F029254 00402825 */ move $a1, $v0 -/* 05DD88 7F029258 91F80001 */ lbu $t8, 1($t7) -/* 05DD8C 7F02925C 33190002 */ andi $t9, $t8, 2 -/* 05DD90 7F029260 57200009 */ bnezl $t9, .L7F029288 -/* 05DD94 7F029264 8FBF001C */ lw $ra, 0x1c($sp) -/* 05DD98 7F029268 0FC09F9C */ jal sub_GAME_7F027E70 -/* 05DD9C 7F02926C AFA20024 */ sw $v0, 0x24($sp) -/* 05DDA0 7F029270 10400004 */ beqz $v0, .L7F029284 -/* 05DDA4 7F029274 8FA60024 */ lw $a2, 0x24($sp) -/* 05DDA8 7F029278 02002025 */ move $a0, $s0 -/* 05DDAC 7F02927C 0FC09FA4 */ jal sub_GAME_7F027E90 -/* 05DDB0 7F029280 26050038 */ addiu $a1, $s0, 0x38 -.L7F029284: -/* 05DDB4 7F029284 8FBF001C */ lw $ra, 0x1c($sp) -.L7F029288: -/* 05DDB8 7F029288 8FB00018 */ lw $s0, 0x18($sp) -/* 05DDBC 7F02928C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05DDC0 7F029290 03E00008 */ jr $ra -/* 05DDC4 7F029294 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void update_GUARDdata_timer_to_current(void) { - -} -#else -GLOBAL_ASM( -.text -glabel update_GUARDdata_timer_to_current -/* 05DDC8 7F029298 3C0E8005 */ lui $t6, %hi(global_timer) -/* 05DDCC 7F02929C 8DCE837C */ lw $t6, %lo(global_timer)($t6) -/* 05DDD0 7F0292A0 03E00008 */ jr $ra -/* 05DDD4 7F0292A4 AC8E00E8 */ sw $t6, 0xe8($a0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0292A8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0292A8 -/* 05DDD8 7F0292A8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 05DDDC 7F0292AC 240E0001 */ li $t6, 1 -/* 05DDE0 7F0292B0 AFBF0034 */ sw $ra, 0x34($sp) -/* 05DDE4 7F0292B4 AFB00030 */ sw $s0, 0x30($sp) -/* 05DDE8 7F0292B8 AFA60058 */ sw $a2, 0x58($sp) -/* 05DDEC 7F0292BC AFA0004C */ sw $zero, 0x4c($sp) -/* 05DDF0 7F0292C0 AFAE0048 */ sw $t6, 0x48($sp) -/* 05DDF4 7F0292C4 808F0007 */ lb $t7, 7($a0) -/* 05DDF8 7F0292C8 24010008 */ li $at, 8 -/* 05DDFC 7F0292CC 00A08025 */ move $s0, $a1 -/* 05DE00 7F0292D0 15E10003 */ bne $t7, $at, .L7F0292E0 -/* 05DE04 7F0292D4 24090001 */ li $t1, 1 -/* 05DE08 7F0292D8 8C98004C */ lw $t8, 0x4c($a0) -/* 05DE0C 7F0292DC AFB80048 */ sw $t8, 0x48($sp) -.L7F0292E0: -/* 05DE10 7F0292E0 8FB90048 */ lw $t9, 0x48($sp) -/* 05DE14 7F0292E4 8FAA0058 */ lw $t2, 0x58($sp) -/* 05DE18 7F0292E8 27A70040 */ addiu $a3, $sp, 0x40 -/* 05DE1C 7F0292EC 33280002 */ andi $t0, $t9, 2 -/* 05DE20 7F0292F0 51000004 */ beql $t0, $zero, .L7F029304 -/* 05DE24 7F0292F4 AFAA0044 */ sw $t2, 0x44($sp) -/* 05DE28 7F0292F8 1000006B */ b .L7F0294A8 -/* 05DE2C 7F0292FC AFA9004C */ sw $t1, 0x4c($sp) -/* 05DE30 7F029300 AFAA0044 */ sw $t2, 0x44($sp) -.L7F029304: -/* 05DE34 7F029304 8C860050 */ lw $a2, 0x50($a0) -/* 05DE38 7F029308 AFA40050 */ sw $a0, 0x50($sp) -/* 05DE3C 7F02930C 0FC0CB1E */ jal sub_GAME_7F032C78 -/* 05DE40 7F029310 8FA50048 */ lw $a1, 0x48($sp) -/* 05DE44 7F029314 8FA40050 */ lw $a0, 0x50($sp) -/* 05DE48 7F029318 00002825 */ move $a1, $zero -/* 05DE4C 7F02931C 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05DE50 7F029320 AFA2003C */ sw $v0, 0x3c($sp) -/* 05DE54 7F029324 8FA20048 */ lw $v0, 0x48($sp) -/* 05DE58 7F029328 8FA3003C */ lw $v1, 0x3c($sp) -/* 05DE5C 7F02932C 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 05DE60 7F029330 304B0001 */ andi $t3, $v0, 1 -/* 05DE64 7F029334 11600029 */ beqz $t3, .L7F0293DC -/* 05DE68 7F029338 30480004 */ andi $t0, $v0, 4 -/* 05DE6C 7F02933C 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 05DE70 7F029340 00002825 */ move $a1, $zero -/* 05DE74 7F029344 8D8400A8 */ lw $a0, 0xa8($t4) -/* 05DE78 7F029348 0FC2280F */ jal sub_GAME_7F08A03C -/* 05DE7C 7F02934C AFA3003C */ sw $v1, 0x3c($sp) -/* 05DE80 7F029350 0FC227DD */ jal get_invisible_to_guards_flag -/* 05DE84 7F029354 00000000 */ nop -/* 05DE88 7F029358 10400019 */ beqz $v0, .L7F0293C0 -/* 05DE8C 7F02935C 8FA3003C */ lw $v1, 0x3c($sp) -/* 05DE90 7F029360 C4640008 */ lwc1 $f4, 8($v1) -/* 05DE94 7F029364 8E050000 */ lw $a1, ($s0) -/* 05DE98 7F029368 8E060008 */ lw $a2, 8($s0) -/* 05DE9C 7F02936C 8C670000 */ lw $a3, ($v1) -/* 05DEA0 7F029370 240D011B */ li $t5, 283 -/* 05DEA4 7F029374 AFAD0014 */ sw $t5, 0x14($sp) -/* 05DEA8 7F029378 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05DEAC 7F02937C C6000004 */ lwc1 $f0, 4($s0) -/* 05DEB0 7F029380 27A40044 */ addiu $a0, $sp, 0x44 -/* 05DEB4 7F029384 E7A00018 */ swc1 $f0, 0x18($sp) -/* 05DEB8 7F029388 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 05DEBC 7F02938C C4620004 */ lwc1 $f2, 4($v1) -/* 05DEC0 7F029390 E7A20020 */ swc1 $f2, 0x20($sp) -/* 05DEC4 7F029394 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05DEC8 7F029398 E7A20024 */ swc1 $f2, 0x24($sp) -/* 05DECC 7F02939C 10400008 */ beqz $v0, .L7F0293C0 -/* 05DED0 7F0293A0 8FAE0044 */ lw $t6, 0x44($sp) -/* 05DED4 7F0293A4 8FAF0040 */ lw $t7, 0x40($sp) -/* 05DED8 7F0293A8 15CF0005 */ bne $t6, $t7, .L7F0293C0 -/* 05DEDC 7F0293AC 00000000 */ nop -/* 05DEE0 7F0293B0 0FC0A4A6 */ jal update_GUARDdata_timer_to_current -/* 05DEE4 7F0293B4 8FA40050 */ lw $a0, 0x50($sp) -/* 05DEE8 7F0293B8 24180001 */ li $t8, 1 -/* 05DEEC 7F0293BC AFB8004C */ sw $t8, 0x4c($sp) -.L7F0293C0: -/* 05DEF0 7F0293C0 3C198008 */ lui $t9, %hi(pPlayer) -/* 05DEF4 7F0293C4 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 05DEF8 7F0293C8 24050001 */ li $a1, 1 -/* 05DEFC 7F0293CC 0FC2280F */ jal sub_GAME_7F08A03C -/* 05DF00 7F0293D0 8F2400A8 */ lw $a0, 0xa8($t9) -/* 05DF04 7F0293D4 10000032 */ b .L7F0294A0 -/* 05DF08 7F0293D8 8FA40050 */ lw $a0, 0x50($sp) -.L7F0293DC: -/* 05DF0C 7F0293DC 11000018 */ beqz $t0, .L7F029440 -/* 05DF10 7F0293E0 304D0008 */ andi $t5, $v0, 8 -/* 05DF14 7F0293E4 C4660008 */ lwc1 $f6, 8($v1) -/* 05DF18 7F0293E8 8E050000 */ lw $a1, ($s0) -/* 05DF1C 7F0293EC 8E060008 */ lw $a2, 8($s0) -/* 05DF20 7F0293F0 8C670000 */ lw $a3, ($v1) -/* 05DF24 7F0293F4 24090117 */ li $t1, 279 -/* 05DF28 7F0293F8 AFA90014 */ sw $t1, 0x14($sp) -/* 05DF2C 7F0293FC E7A60010 */ swc1 $f6, 0x10($sp) -/* 05DF30 7F029400 C6000004 */ lwc1 $f0, 4($s0) -/* 05DF34 7F029404 27A40044 */ addiu $a0, $sp, 0x44 -/* 05DF38 7F029408 E7A00018 */ swc1 $f0, 0x18($sp) -/* 05DF3C 7F02940C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 05DF40 7F029410 C4620004 */ lwc1 $f2, 4($v1) -/* 05DF44 7F029414 E7A20020 */ swc1 $f2, 0x20($sp) -/* 05DF48 7F029418 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05DF4C 7F02941C E7A20024 */ swc1 $f2, 0x24($sp) -/* 05DF50 7F029420 1040001E */ beqz $v0, .L7F02949C -/* 05DF54 7F029424 8FAA0044 */ lw $t2, 0x44($sp) -/* 05DF58 7F029428 8FAB0040 */ lw $t3, 0x40($sp) -/* 05DF5C 7F02942C 240C0001 */ li $t4, 1 -/* 05DF60 7F029430 554B001B */ bnel $t2, $t3, .L7F0294A0 -/* 05DF64 7F029434 8FA40050 */ lw $a0, 0x50($sp) -/* 05DF68 7F029438 10000018 */ b .L7F02949C -/* 05DF6C 7F02943C AFAC004C */ sw $t4, 0x4c($sp) -.L7F029440: -/* 05DF70 7F029440 11A00016 */ beqz $t5, .L7F02949C -/* 05DF74 7F029444 240E011F */ li $t6, 287 -/* 05DF78 7F029448 C4680008 */ lwc1 $f8, 8($v1) -/* 05DF7C 7F02944C 8E050000 */ lw $a1, ($s0) -/* 05DF80 7F029450 8E060008 */ lw $a2, 8($s0) -/* 05DF84 7F029454 8C670000 */ lw $a3, ($v1) -/* 05DF88 7F029458 AFAE0014 */ sw $t6, 0x14($sp) -/* 05DF8C 7F02945C E7A80010 */ swc1 $f8, 0x10($sp) -/* 05DF90 7F029460 C6000004 */ lwc1 $f0, 4($s0) -/* 05DF94 7F029464 27A40044 */ addiu $a0, $sp, 0x44 -/* 05DF98 7F029468 E7A00018 */ swc1 $f0, 0x18($sp) -/* 05DF9C 7F02946C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 05DFA0 7F029470 C4620004 */ lwc1 $f2, 4($v1) -/* 05DFA4 7F029474 E7A20020 */ swc1 $f2, 0x20($sp) -/* 05DFA8 7F029478 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05DFAC 7F02947C E7A20024 */ swc1 $f2, 0x24($sp) -/* 05DFB0 7F029480 10400006 */ beqz $v0, .L7F02949C -/* 05DFB4 7F029484 8FAF0044 */ lw $t7, 0x44($sp) -/* 05DFB8 7F029488 8FB80040 */ lw $t8, 0x40($sp) -/* 05DFBC 7F02948C 24190001 */ li $t9, 1 -/* 05DFC0 7F029490 55F80003 */ bnel $t7, $t8, .L7F0294A0 -/* 05DFC4 7F029494 8FA40050 */ lw $a0, 0x50($sp) -/* 05DFC8 7F029498 AFB9004C */ sw $t9, 0x4c($sp) -.L7F02949C: -/* 05DFCC 7F02949C 8FA40050 */ lw $a0, 0x50($sp) -.L7F0294A0: -/* 05DFD0 7F0294A0 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05DFD4 7F0294A4 24050001 */ li $a1, 1 -.L7F0294A8: -/* 05DFD8 7F0294A8 8FBF0034 */ lw $ra, 0x34($sp) -/* 05DFDC 7F0294AC 8FA2004C */ lw $v0, 0x4c($sp) -/* 05DFE0 7F0294B0 8FB00030 */ lw $s0, 0x30($sp) -/* 05DFE4 7F0294B4 03E00008 */ jr $ra -/* 05DFE8 7F0294B8 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0294BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0294BC -/* 05DFEC 7F0294BC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 05DFF0 7F0294C0 AFBF0034 */ sw $ra, 0x34($sp) -/* 05DFF4 7F0294C4 AFB00030 */ sw $s0, 0x30($sp) -/* 05DFF8 7F0294C8 00808025 */ move $s0, $a0 -/* 05DFFC 7F0294CC 0FC227DD */ jal get_invisible_to_guards_flag -/* 05E000 7F0294D0 AFA0004C */ sw $zero, 0x4c($sp) -/* 05E004 7F0294D4 5040003A */ beql $v0, $zero, .L7F0295C0 -/* 05E008 7F0294D8 8FBF0034 */ lw $ra, 0x34($sp) -/* 05E00C 7F0294DC 8E0E0018 */ lw $t6, 0x18($s0) -/* 05E010 7F0294E0 0FC225E6 */ jal get_curplayer_positiondata -/* 05E014 7F0294E4 AFAE0048 */ sw $t6, 0x48($sp) -/* 05E018 7F0294E8 AFA20044 */ sw $v0, 0x44($sp) -/* 05E01C 7F0294EC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 05E020 7F0294F0 44813000 */ mtc1 $at, $f6 -/* 05E024 7F0294F4 C6040028 */ lwc1 $f4, 0x28($s0) -/* 05E028 7F0294F8 02002025 */ move $a0, $s0 -/* 05E02C 7F0294FC 00002825 */ move $a1, $zero -/* 05E030 7F029500 46062201 */ sub.s $f8, $f4, $f6 -/* 05E034 7F029504 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05E038 7F029508 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 05E03C 7F02950C 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 05E040 7F029510 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 05E044 7F029514 00002825 */ move $a1, $zero -/* 05E048 7F029518 0FC2280F */ jal sub_GAME_7F08A03C -/* 05E04C 7F02951C 8DE400A8 */ lw $a0, 0xa8($t7) -/* 05E050 7F029520 8FA20048 */ lw $v0, 0x48($sp) -/* 05E054 7F029524 8FA30044 */ lw $v1, 0x44($sp) -/* 05E058 7F029528 C7A0003C */ lwc1 $f0, 0x3c($sp) -/* 05E05C 7F02952C 8C580014 */ lw $t8, 0x14($v0) -/* 05E060 7F029530 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05E064 7F029534 44819000 */ mtc1 $at, $f18 -/* 05E068 7F029538 AFB80040 */ sw $t8, 0x40($sp) -/* 05E06C 7F02953C C46A0010 */ lwc1 $f10, 0x10($v1) -/* 05E070 7F029540 8C460010 */ lw $a2, 0x10($v0) -/* 05E074 7F029544 8C450008 */ lw $a1, 8($v0) -/* 05E078 7F029548 8C670008 */ lw $a3, 8($v1) -/* 05E07C 7F02954C 44808000 */ mtc1 $zero, $f16 -/* 05E080 7F029550 2419011B */ li $t9, 283 -/* 05E084 7F029554 AFB90014 */ sw $t9, 0x14($sp) -/* 05E088 7F029558 27A40040 */ addiu $a0, $sp, 0x40 -/* 05E08C 7F02955C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 05E090 7F029560 E7A00018 */ swc1 $f0, 0x18($sp) -/* 05E094 7F029564 E7B20024 */ swc1 $f18, 0x24($sp) -/* 05E098 7F029568 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 05E09C 7F02956C 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05E0A0 7F029570 E7B00020 */ swc1 $f16, 0x20($sp) -/* 05E0A4 7F029574 10400009 */ beqz $v0, .L7F02959C -/* 05E0A8 7F029578 8FA90044 */ lw $t1, 0x44($sp) -/* 05E0AC 7F02957C 8FA80040 */ lw $t0, 0x40($sp) -/* 05E0B0 7F029580 8D2A0014 */ lw $t2, 0x14($t1) -/* 05E0B4 7F029584 550A0006 */ bnel $t0, $t2, .L7F0295A0 -/* 05E0B8 7F029588 02002025 */ move $a0, $s0 -/* 05E0BC 7F02958C 0FC0A4A6 */ jal update_GUARDdata_timer_to_current -/* 05E0C0 7F029590 02002025 */ move $a0, $s0 -/* 05E0C4 7F029594 240B0001 */ li $t3, 1 -/* 05E0C8 7F029598 AFAB004C */ sw $t3, 0x4c($sp) -.L7F02959C: -/* 05E0CC 7F02959C 02002025 */ move $a0, $s0 -.L7F0295A0: -/* 05E0D0 7F0295A0 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05E0D4 7F0295A4 24050001 */ li $a1, 1 -/* 05E0D8 7F0295A8 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 05E0DC 7F0295AC 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 05E0E0 7F0295B0 24050001 */ li $a1, 1 -/* 05E0E4 7F0295B4 0FC2280F */ jal sub_GAME_7F08A03C -/* 05E0E8 7F0295B8 8D8400A8 */ lw $a0, 0xa8($t4) -/* 05E0EC 7F0295BC 8FBF0034 */ lw $ra, 0x34($sp) -.L7F0295C0: -/* 05E0F0 7F0295C0 8FA2004C */ lw $v0, 0x4c($sp) -/* 05E0F4 7F0295C4 8FB00030 */ lw $s0, 0x30($sp) -/* 05E0F8 7F0295C8 03E00008 */ jr $ra -/* 05E0FC 7F0295CC 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - -#ifdef NONMATCHING -void check_if_position_in_same_room(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_position_in_same_room -/* 05E100 7F0295D0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 05E104 7F0295D4 AFBF002C */ sw $ra, 0x2c($sp) -/* 05E108 7F0295D8 AFA50044 */ sw $a1, 0x44($sp) -/* 05E10C 7F0295DC AFA60048 */ sw $a2, 0x48($sp) -/* 05E110 7F0295E0 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 05E114 7F0295E4 44813000 */ mtc1 $at, $f6 -/* 05E118 7F0295E8 C4840028 */ lwc1 $f4, 0x28($a0) -/* 05E11C 7F0295EC 8C820018 */ lw $v0, 0x18($a0) -/* 05E120 7F0295F0 AFA00030 */ sw $zero, 0x30($sp) -/* 05E124 7F0295F4 46062001 */ sub.s $f0, $f4, $f6 -/* 05E128 7F0295F8 AFA40040 */ sw $a0, 0x40($sp) -/* 05E12C 7F0295FC 00002825 */ move $a1, $zero -/* 05E130 7F029600 AFA2003C */ sw $v0, 0x3c($sp) -/* 05E134 7F029604 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05E138 7F029608 E7A00034 */ swc1 $f0, 0x34($sp) -/* 05E13C 7F02960C 8FA2003C */ lw $v0, 0x3c($sp) -/* 05E140 7F029610 8FA30044 */ lw $v1, 0x44($sp) -/* 05E144 7F029614 C7A00034 */ lwc1 $f0, 0x34($sp) -/* 05E148 7F029618 8C4E0014 */ lw $t6, 0x14($v0) -/* 05E14C 7F02961C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05E150 7F029620 44818000 */ mtc1 $at, $f16 -/* 05E154 7F029624 AFAE0038 */ sw $t6, 0x38($sp) -/* 05E158 7F029628 C4680008 */ lwc1 $f8, 8($v1) -/* 05E15C 7F02962C 8C460010 */ lw $a2, 0x10($v0) -/* 05E160 7F029630 8C450008 */ lw $a1, 8($v0) -/* 05E164 7F029634 8C670000 */ lw $a3, ($v1) -/* 05E168 7F029638 44805000 */ mtc1 $zero, $f10 -/* 05E16C 7F02963C 240F0113 */ li $t7, 275 -/* 05E170 7F029640 AFAF0014 */ sw $t7, 0x14($sp) -/* 05E174 7F029644 27A40038 */ addiu $a0, $sp, 0x38 -/* 05E178 7F029648 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 05E17C 7F02964C E7A00018 */ swc1 $f0, 0x18($sp) -/* 05E180 7F029650 E7B00024 */ swc1 $f16, 0x24($sp) -/* 05E184 7F029654 E7A80010 */ swc1 $f8, 0x10($sp) -/* 05E188 7F029658 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05E18C 7F02965C E7AA0020 */ swc1 $f10, 0x20($sp) -/* 05E190 7F029660 10400007 */ beqz $v0, .L7F029680 -/* 05E194 7F029664 24050001 */ li $a1, 1 -/* 05E198 7F029668 8FB80038 */ lw $t8, 0x38($sp) -/* 05E19C 7F02966C 8FB90048 */ lw $t9, 0x48($sp) -/* 05E1A0 7F029670 24080001 */ li $t0, 1 -/* 05E1A4 7F029674 17190002 */ bne $t8, $t9, .L7F029680 -/* 05E1A8 7F029678 00000000 */ nop -/* 05E1AC 7F02967C AFA80030 */ sw $t0, 0x30($sp) -.L7F029680: -/* 05E1B0 7F029680 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05E1B4 7F029684 8FA40040 */ lw $a0, 0x40($sp) -/* 05E1B8 7F029688 8FBF002C */ lw $ra, 0x2c($sp) -/* 05E1BC 7F02968C 8FA20030 */ lw $v0, 0x30($sp) -/* 05E1C0 7F029690 27BD0040 */ addiu $sp, $sp, 0x40 -/* 05E1C4 7F029694 03E00008 */ jr $ra -/* 05E1C8 7F029698 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02969C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051DFC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E00 -.word 0x3fdf66f3 /*1.7453293*/ -glabel D_80051E04 -.word 0x4091361e /*4.5378561*/ -.text -glabel sub_GAME_7F02969C -/* 05E1CC 7F02969C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 05E1D0 7F0296A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 05E1D4 7F0296A4 AFA40020 */ sw $a0, 0x20($sp) -/* 05E1D8 7F0296A8 AFA50024 */ sw $a1, 0x24($sp) -/* 05E1DC 7F0296AC AFA60028 */ sw $a2, 0x28($sp) -/* 05E1E0 7F0296B0 0FC1B320 */ jal getsubroty -/* 05E1E4 7F0296B4 8C84001C */ lw $a0, 0x1c($a0) -/* 05E1E8 7F0296B8 8FAF0020 */ lw $t7, 0x20($sp) -/* 05E1EC 7F0296BC 8FA30024 */ lw $v1, 0x24($sp) -/* 05E1F0 7F0296C0 8DE20018 */ lw $v0, 0x18($t7) -/* 05E1F4 7F0296C4 C4640000 */ lwc1 $f4, ($v1) -/* 05E1F8 7F0296C8 C4680008 */ lwc1 $f8, 8($v1) -/* 05E1FC 7F0296CC C4460008 */ lwc1 $f6, 8($v0) -/* 05E200 7F0296D0 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 05E204 7F0296D4 E7A00018 */ swc1 $f0, 0x18($sp) -/* 05E208 7F0296D8 46062301 */ sub.s $f12, $f4, $f6 -/* 05E20C 7F0296DC 0FC16A8C */ jal convert_angle_using_inverse -/* 05E210 7F0296E0 460A4381 */ sub.s $f14, $f8, $f10 -/* 05E214 7F0296E4 C7B00018 */ lwc1 $f16, 0x18($sp) -/* 05E218 7F0296E8 3C018005 */ lui $at, %hi(D_80051DFC) -/* 05E21C 7F0296EC 8FA40020 */ lw $a0, 0x20($sp) -/* 05E220 7F0296F0 4610003C */ c.lt.s $f0, $f16 -/* 05E224 7F0296F4 8FA50024 */ lw $a1, 0x24($sp) -/* 05E228 7F0296F8 46100301 */ sub.s $f12, $f0, $f16 -/* 05E22C 7F0296FC 45000003 */ bc1f .L7F02970C -/* 05E230 7F029700 46006086 */ mov.s $f2, $f12 -/* 05E234 7F029704 C4321DFC */ lwc1 $f18, %lo(D_80051DFC)($at) -/* 05E238 7F029708 46126080 */ add.s $f2, $f12, $f18 -.L7F02970C: -/* 05E23C 7F02970C 3C018005 */ lui $at, %hi(D_80051E00) -/* 05E240 7F029710 C4241E00 */ lwc1 $f4, %lo(D_80051E00)($at) -/* 05E244 7F029714 3C018005 */ lui $at, %hi(D_80051E04) -/* 05E248 7F029718 4604103C */ c.lt.s $f2, $f4 -/* 05E24C 7F02971C 00000000 */ nop -/* 05E250 7F029720 45010007 */ bc1t .L7F029740 -/* 05E254 7F029724 00000000 */ nop -/* 05E258 7F029728 C4261E04 */ lwc1 $f6, %lo(D_80051E04)($at) -/* 05E25C 7F02972C 00001025 */ move $v0, $zero -/* 05E260 7F029730 4602303C */ c.lt.s $f6, $f2 -/* 05E264 7F029734 00000000 */ nop -/* 05E268 7F029738 45000005 */ bc1f .L7F029750 -/* 05E26C 7F02973C 00000000 */ nop -.L7F029740: -/* 05E270 7F029740 0FC0A574 */ jal check_if_position_in_same_room -/* 05E274 7F029744 8FA60028 */ lw $a2, 0x28($sp) -/* 05E278 7F029748 10000002 */ b .L7F029754 -/* 05E27C 7F02974C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F029750: -/* 05E280 7F029750 8FBF0014 */ lw $ra, 0x14($sp) -.L7F029754: -/* 05E284 7F029754 27BD0020 */ addiu $sp, $sp, 0x20 -/* 05E288 7F029758 03E00008 */ jr $ra -/* 05E28C 7F02975C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F029760(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F029760 -/* 05E290 7F029760 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 05E294 7F029764 AFBF002C */ sw $ra, 0x2c($sp) -/* 05E298 7F029768 8C8E0018 */ lw $t6, 0x18($a0) -/* 05E29C 7F02976C 0FC225E6 */ jal get_curplayer_positiondata -/* 05E2A0 7F029770 AFAE003C */ sw $t6, 0x3c($sp) -/* 05E2A4 7F029774 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 05E2A8 7F029778 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 05E2AC 7F02977C AFA00030 */ sw $zero, 0x30($sp) -/* 05E2B0 7F029780 00002825 */ move $a1, $zero -/* 05E2B4 7F029784 8DE400A8 */ lw $a0, 0xa8($t7) -/* 05E2B8 7F029788 0FC2280F */ jal sub_GAME_7F08A03C -/* 05E2BC 7F02978C AFA20038 */ sw $v0, 0x38($sp) -/* 05E2C0 7F029790 8FA30038 */ lw $v1, 0x38($sp) -/* 05E2C4 7F029794 8FA2003C */ lw $v0, 0x3c($sp) -/* 05E2C8 7F029798 24190013 */ li $t9, 19 -/* 05E2CC 7F02979C 8C780014 */ lw $t8, 0x14($v1) -/* 05E2D0 7F0297A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05E2D4 7F0297A4 44814000 */ mtc1 $at, $f8 -/* 05E2D8 7F0297A8 AFB80034 */ sw $t8, 0x34($sp) -/* 05E2DC 7F0297AC C4440010 */ lwc1 $f4, 0x10($v0) -/* 05E2E0 7F0297B0 8C660010 */ lw $a2, 0x10($v1) -/* 05E2E4 7F0297B4 8C650008 */ lw $a1, 8($v1) -/* 05E2E8 7F0297B8 8C470008 */ lw $a3, 8($v0) -/* 05E2EC 7F0297BC AFB90014 */ sw $t9, 0x14($sp) -/* 05E2F0 7F0297C0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05E2F4 7F0297C4 C460000C */ lwc1 $f0, 0xc($v1) -/* 05E2F8 7F0297C8 44803000 */ mtc1 $zero, $f6 -/* 05E2FC 7F0297CC 27A40034 */ addiu $a0, $sp, 0x34 -/* 05E300 7F0297D0 E7A80024 */ swc1 $f8, 0x24($sp) -/* 05E304 7F0297D4 E7A00018 */ swc1 $f0, 0x18($sp) -/* 05E308 7F0297D8 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 05E30C 7F0297DC 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05E310 7F0297E0 E7A60020 */ swc1 $f6, 0x20($sp) -/* 05E314 7F0297E4 10400008 */ beqz $v0, .L7F029808 -/* 05E318 7F0297E8 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 05E31C 7F0297EC 8FA9003C */ lw $t1, 0x3c($sp) -/* 05E320 7F0297F0 8FA80034 */ lw $t0, 0x34($sp) -/* 05E324 7F0297F4 240B0001 */ li $t3, 1 -/* 05E328 7F0297F8 8D2A0014 */ lw $t2, 0x14($t1) -/* 05E32C 7F0297FC 150A0002 */ bne $t0, $t2, .L7F029808 -/* 05E330 7F029800 00000000 */ nop -/* 05E334 7F029804 AFAB0030 */ sw $t3, 0x30($sp) -.L7F029808: -/* 05E338 7F029808 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 05E33C 7F02980C 24050001 */ li $a1, 1 -/* 05E340 7F029810 0FC2280F */ jal sub_GAME_7F08A03C -/* 05E344 7F029814 8D8400A8 */ lw $a0, 0xa8($t4) -/* 05E348 7F029818 8FBF002C */ lw $ra, 0x2c($sp) -/* 05E34C 7F02981C 8FA20030 */ lw $v0, 0x30($sp) -/* 05E350 7F029820 27BD0040 */ addiu $sp, $sp, 0x40 -/* 05E354 7F029824 03E00008 */ jr $ra -/* 05E358 7F029828 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02982C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E08 -.word 0x3f99999a /*1.2*/ -.text -glabel sub_GAME_7F02982C -/* 05E35C 7F02982C 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 05E360 7F029830 AFBF0044 */ sw $ra, 0x44($sp) -/* 05E364 7F029834 AFB00040 */ sw $s0, 0x40($sp) -/* 05E368 7F029838 F7B60038 */ sdc1 $f22, 0x38($sp) -/* 05E36C 7F02983C F7B40030 */ sdc1 $f20, 0x30($sp) -/* 05E370 7F029840 AFA50084 */ sw $a1, 0x84($sp) -/* 05E374 7F029844 AFA60088 */ sw $a2, 0x88($sp) -/* 05E378 7F029848 8C820004 */ lw $v0, 4($a0) -/* 05E37C 7F02984C C4C40000 */ lwc1 $f4, ($a2) -/* 05E380 7F029850 3C018005 */ lui $at, %hi(D_80051E08) -/* 05E384 7F029854 C4400024 */ lwc1 $f0, 0x24($v0) -/* 05E388 7F029858 C4221E08 */ lwc1 $f2, %lo(D_80051E08)($at) -/* 05E38C 7F02985C C4C80008 */ lwc1 $f8, 8($a2) -/* 05E390 7F029860 46002182 */ mul.s $f6, $f4, $f0 -/* 05E394 7F029864 00808025 */ move $s0, $a0 -/* 05E398 7F029868 AFA0005C */ sw $zero, 0x5c($sp) -/* 05E39C 7F02986C 27A60058 */ addiu $a2, $sp, 0x58 -/* 05E3A0 7F029870 27A50050 */ addiu $a1, $sp, 0x50 -/* 05E3A4 7F029874 27A70054 */ addiu $a3, $sp, 0x54 -/* 05E3A8 7F029878 AFA2007C */ sw $v0, 0x7c($sp) -/* 05E3AC 7F02987C 46023502 */ mul.s $f20, $f6, $f2 -/* 05E3B0 7F029880 00000000 */ nop -/* 05E3B4 7F029884 46004282 */ mul.s $f10, $f8, $f0 -/* 05E3B8 7F029888 00000000 */ nop -/* 05E3BC 7F02988C 46025582 */ mul.s $f22, $f10, $f2 -/* 05E3C0 7F029890 0FC08C58 */ jal sub_GAME_7F023160 -/* 05E3C4 7F029894 00000000 */ nop -/* 05E3C8 7F029898 8FA4007C */ lw $a0, 0x7c($sp) -/* 05E3CC 7F02989C 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05E3D0 7F0298A0 00002825 */ move $a1, $zero -/* 05E3D4 7F0298A4 8FA20084 */ lw $v0, 0x84($sp) -/* 05E3D8 7F0298A8 C6100008 */ lwc1 $f16, 8($s0) -/* 05E3DC 7F0298AC C6120010 */ lwc1 $f18, 0x10($s0) -/* 05E3E0 7F0298B0 C4440000 */ lwc1 $f4, ($v0) -/* 05E3E4 7F0298B4 46168000 */ add.s $f0, $f16, $f22 -/* 05E3E8 7F0298B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05E3EC 7F0298BC 2418001F */ li $t8, 31 -/* 05E3F0 7F0298C0 46162180 */ add.s $f6, $f4, $f22 -/* 05E3F4 7F0298C4 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 05E3F8 7F0298C8 44070000 */ mfc1 $a3, $f0 -/* 05E3FC 7F0298CC 46149081 */ sub.s $f2, $f18, $f20 -/* 05E400 7F0298D0 27A40068 */ addiu $a0, $sp, 0x68 -/* 05E404 7F0298D4 46143200 */ add.s $f8, $f6, $f20 -/* 05E408 7F0298D8 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 05E40C 7F0298DC E7A80070 */ swc1 $f8, 0x70($sp) -/* 05E410 7F0298E0 C44A0008 */ lwc1 $f10, 8($v0) -/* 05E414 7F0298E4 44804000 */ mtc1 $zero, $f8 -/* 05E418 7F0298E8 46145401 */ sub.s $f16, $f10, $f20 -/* 05E41C 7F0298EC 44815000 */ mtc1 $at, $f10 -/* 05E420 7F0298F0 46168480 */ add.s $f18, $f16, $f22 -/* 05E424 7F0298F4 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 05E428 7F0298F8 8E0F0014 */ lw $t7, 0x14($s0) -/* 05E42C 7F0298FC AFAF0068 */ sw $t7, 0x68($sp) -/* 05E430 7F029900 8E060010 */ lw $a2, 0x10($s0) -/* 05E434 7F029904 8E050008 */ lw $a1, 8($s0) -/* 05E438 7F029908 E7A20074 */ swc1 $f2, 0x74($sp) -/* 05E43C 7F02990C E7A00078 */ swc1 $f0, 0x78($sp) -/* 05E440 7F029910 AFB80014 */ sw $t8, 0x14($sp) -/* 05E444 7F029914 E7A20010 */ swc1 $f2, 0x10($sp) -/* 05E448 7F029918 E7A40018 */ swc1 $f4, 0x18($sp) -/* 05E44C 7F02991C E7A6001C */ swc1 $f6, 0x1c($sp) -/* 05E450 7F029920 E7A80020 */ swc1 $f8, 0x20($sp) -/* 05E454 7F029924 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05E458 7F029928 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 05E45C 7F02992C C7A00078 */ lwc1 $f0, 0x78($sp) -/* 05E460 7F029930 1040004E */ beqz $v0, .L7F029A6C -/* 05E464 7F029934 C7A20074 */ lwc1 $f2, 0x74($sp) -/* 05E468 7F029938 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05E46C 7F02993C 44814000 */ mtc1 $at, $f8 -/* 05E470 7F029940 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 05E474 7F029944 C7B20058 */ lwc1 $f18, 0x58($sp) -/* 05E478 7F029948 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 05E47C 7F02994C 44803000 */ mtc1 $zero, $f6 -/* 05E480 7F029950 44050000 */ mfc1 $a1, $f0 -/* 05E484 7F029954 44061000 */ mfc1 $a2, $f2 -/* 05E488 7F029958 2419001F */ li $t9, 31 -/* 05E48C 7F02995C AFB90014 */ sw $t9, 0x14($sp) -/* 05E490 7F029960 27A40068 */ addiu $a0, $sp, 0x68 -/* 05E494 7F029964 8FA70070 */ lw $a3, 0x70($sp) -/* 05E498 7F029968 E7B00010 */ swc1 $f16, 0x10($sp) -/* 05E49C 7F02996C E7A80024 */ swc1 $f8, 0x24($sp) -/* 05E4A0 7F029970 E7B20018 */ swc1 $f18, 0x18($sp) -/* 05E4A4 7F029974 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 05E4A8 7F029978 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05E4AC 7F02997C E7A60020 */ swc1 $f6, 0x20($sp) -/* 05E4B0 7F029980 1040003A */ beqz $v0, .L7F029A6C -/* 05E4B4 7F029984 8FA80084 */ lw $t0, 0x84($sp) -/* 05E4B8 7F029988 C5120000 */ lwc1 $f18, ($t0) -/* 05E4BC 7F02998C C60A0008 */ lwc1 $f10, 8($s0) -/* 05E4C0 7F029990 C6100010 */ lwc1 $f16, 0x10($s0) -/* 05E4C4 7F029994 46169101 */ sub.s $f4, $f18, $f22 -/* 05E4C8 7F029998 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05E4CC 7F02999C C7B20058 */ lwc1 $f18, 0x58($sp) -/* 05E4D0 7F0299A0 46165001 */ sub.s $f0, $f10, $f22 -/* 05E4D4 7F0299A4 240A001F */ li $t2, 31 -/* 05E4D8 7F0299A8 27A40068 */ addiu $a0, $sp, 0x68 -/* 05E4DC 7F0299AC 46142180 */ add.s $f6, $f4, $f20 -/* 05E4E0 7F0299B0 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 05E4E4 7F0299B4 44070000 */ mfc1 $a3, $f0 -/* 05E4E8 7F0299B8 46148080 */ add.s $f2, $f16, $f20 -/* 05E4EC 7F0299BC E7A60070 */ swc1 $f6, 0x70($sp) -/* 05E4F0 7F0299C0 C5080008 */ lwc1 $f8, 8($t0) -/* 05E4F4 7F0299C4 44803000 */ mtc1 $zero, $f6 -/* 05E4F8 7F0299C8 46144280 */ add.s $f10, $f8, $f20 -/* 05E4FC 7F0299CC 44814000 */ mtc1 $at, $f8 -/* 05E500 7F0299D0 46165400 */ add.s $f16, $f10, $f22 -/* 05E504 7F0299D4 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 05E508 7F0299D8 8E090014 */ lw $t1, 0x14($s0) -/* 05E50C 7F0299DC AFA90068 */ sw $t1, 0x68($sp) -/* 05E510 7F0299E0 8E060010 */ lw $a2, 0x10($s0) -/* 05E514 7F0299E4 8E050008 */ lw $a1, 8($s0) -/* 05E518 7F0299E8 E7A20074 */ swc1 $f2, 0x74($sp) -/* 05E51C 7F0299EC E7A00078 */ swc1 $f0, 0x78($sp) -/* 05E520 7F0299F0 AFAA0014 */ sw $t2, 0x14($sp) -/* 05E524 7F0299F4 E7A20010 */ swc1 $f2, 0x10($sp) -/* 05E528 7F0299F8 E7B20018 */ swc1 $f18, 0x18($sp) -/* 05E52C 7F0299FC E7A4001C */ swc1 $f4, 0x1c($sp) -/* 05E530 7F029A00 E7A60020 */ swc1 $f6, 0x20($sp) -/* 05E534 7F029A04 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05E538 7F029A08 E7A80024 */ swc1 $f8, 0x24($sp) -/* 05E53C 7F029A0C C7A00078 */ lwc1 $f0, 0x78($sp) -/* 05E540 7F029A10 10400016 */ beqz $v0, .L7F029A6C -/* 05E544 7F029A14 C7A20074 */ lwc1 $f2, 0x74($sp) -/* 05E548 7F029A18 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05E54C 7F029A1C 44813000 */ mtc1 $at, $f6 -/* 05E550 7F029A20 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 05E554 7F029A24 C7B00058 */ lwc1 $f16, 0x58($sp) -/* 05E558 7F029A28 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 05E55C 7F029A2C 44802000 */ mtc1 $zero, $f4 -/* 05E560 7F029A30 44050000 */ mfc1 $a1, $f0 -/* 05E564 7F029A34 44061000 */ mfc1 $a2, $f2 -/* 05E568 7F029A38 240B001F */ li $t3, 31 -/* 05E56C 7F029A3C AFAB0014 */ sw $t3, 0x14($sp) -/* 05E570 7F029A40 27A40068 */ addiu $a0, $sp, 0x68 -/* 05E574 7F029A44 8FA70070 */ lw $a3, 0x70($sp) -/* 05E578 7F029A48 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 05E57C 7F029A4C E7A60024 */ swc1 $f6, 0x24($sp) -/* 05E580 7F029A50 E7B00018 */ swc1 $f16, 0x18($sp) -/* 05E584 7F029A54 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 05E588 7F029A58 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 05E58C 7F029A5C E7A40020 */ swc1 $f4, 0x20($sp) -/* 05E590 7F029A60 10400002 */ beqz $v0, .L7F029A6C -/* 05E594 7F029A64 240C0001 */ li $t4, 1 -/* 05E598 7F029A68 AFAC005C */ sw $t4, 0x5c($sp) -.L7F029A6C: -/* 05E59C 7F029A6C 8FA4007C */ lw $a0, 0x7c($sp) -/* 05E5A0 7F029A70 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 05E5A4 7F029A74 24050001 */ li $a1, 1 -/* 05E5A8 7F029A78 8FBF0044 */ lw $ra, 0x44($sp) -/* 05E5AC 7F029A7C 8FA2005C */ lw $v0, 0x5c($sp) -/* 05E5B0 7F029A80 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 05E5B4 7F029A84 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 05E5B8 7F029A88 8FB00040 */ lw $s0, 0x40($sp) -/* 05E5BC 7F029A8C 03E00008 */ jr $ra -/* 05E5C0 7F029A90 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F029A94(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F029A94 -/* 05E5C4 7F029A94 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05E5C8 7F029A98 AFBF0014 */ sw $ra, 0x14($sp) -/* 05E5CC 7F029A9C AFA5002C */ sw $a1, 0x2c($sp) -/* 05E5D0 7F029AA0 44866000 */ mtc1 $a2, $f12 -/* 05E5D4 7F029AA4 C4A40000 */ lwc1 $f4, ($a1) -/* 05E5D8 7F029AA8 C4880008 */ lwc1 $f8, 8($a0) -/* 05E5DC 7F029AAC 00A03025 */ move $a2, $a1 -/* 05E5E0 7F029AB0 460C2182 */ mul.s $f6, $f4, $f12 -/* 05E5E4 7F029AB4 46083280 */ add.s $f10, $f6, $f8 -/* 05E5E8 7F029AB8 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 05E5EC 7F029ABC C490000C */ lwc1 $f16, 0xc($a0) -/* 05E5F0 7F029AC0 E7B00020 */ swc1 $f16, 0x20($sp) -/* 05E5F4 7F029AC4 C4B20008 */ lwc1 $f18, 8($a1) -/* 05E5F8 7F029AC8 C4860010 */ lwc1 $f6, 0x10($a0) -/* 05E5FC 7F029ACC 27A5001C */ addiu $a1, $sp, 0x1c -/* 05E600 7F029AD0 460C9102 */ mul.s $f4, $f18, $f12 -/* 05E604 7F029AD4 46062200 */ add.s $f8, $f4, $f6 -/* 05E608 7F029AD8 0FC0A60B */ jal sub_GAME_7F02982C -/* 05E60C 7F029ADC E7A80024 */ swc1 $f8, 0x24($sp) -/* 05E610 7F029AE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 05E614 7F029AE4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05E618 7F029AE8 03E00008 */ jr $ra -/* 05E61C 7F029AEC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F029AF0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F029AF0 -/* 05E620 7F029AF0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 05E624 7F029AF4 AFBF0014 */ sw $ra, 0x14($sp) -/* 05E628 7F029AF8 C4860008 */ lwc1 $f6, 8($a0) -/* 05E62C 7F029AFC C4A40000 */ lwc1 $f4, ($a1) -/* 05E630 7F029B00 44800000 */ mtc1 $zero, $f0 -/* 05E634 7F029B04 46062201 */ sub.s $f8, $f4, $f6 -/* 05E638 7F029B08 E7A00028 */ swc1 $f0, 0x28($sp) -/* 05E63C 7F029B0C E7A80024 */ swc1 $f8, 0x24($sp) -/* 05E640 7F029B10 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 05E644 7F029B14 C4900010 */ lwc1 $f16, 0x10($a0) -/* 05E648 7F029B18 C4AA0008 */ lwc1 $f10, 8($a1) -/* 05E64C 7F029B1C 46040032 */ c.eq.s $f0, $f4 -/* 05E650 7F029B20 46105481 */ sub.s $f18, $f10, $f16 -/* 05E654 7F029B24 45000008 */ bc1f .L7F029B48 -/* 05E658 7F029B28 E7B2002C */ swc1 $f18, 0x2c($sp) -/* 05E65C 7F029B2C C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 05E660 7F029B30 46020032 */ c.eq.s $f0, $f2 -/* 05E664 7F029B34 00000000 */ nop -/* 05E668 7F029B38 45020004 */ bc1fl .L7F029B4C -/* 05E66C 7F029B3C C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 05E670 7F029B40 10000017 */ b .L7F029BA0 -/* 05E674 7F029B44 24020001 */ li $v0, 1 -.L7F029B48: -/* 05E678 7F029B48 C7A2002C */ lwc1 $f2, 0x2c($sp) -.L7F029B4C: -/* 05E67C 7F029B4C C7A00024 */ lwc1 $f0, 0x24($sp) -/* 05E680 7F029B50 AFA40030 */ sw $a0, 0x30($sp) -/* 05E684 7F029B54 46021182 */ mul.s $f6, $f2, $f2 -/* 05E688 7F029B58 AFA50034 */ sw $a1, 0x34($sp) -/* 05E68C 7F029B5C 46000202 */ mul.s $f8, $f0, $f0 -/* 05E690 7F029B60 0C007DF8 */ jal sqrtf -/* 05E694 7F029B64 46083300 */ add.s $f12, $f6, $f8 -/* 05E698 7F029B68 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05E69C 7F029B6C 44815000 */ mtc1 $at, $f10 -/* 05E6A0 7F029B70 C7B00024 */ lwc1 $f16, 0x24($sp) -/* 05E6A4 7F029B74 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 05E6A8 7F029B78 46005083 */ div.s $f2, $f10, $f0 -/* 05E6AC 7F029B7C 8FA40030 */ lw $a0, 0x30($sp) -/* 05E6B0 7F029B80 8FA50034 */ lw $a1, 0x34($sp) -/* 05E6B4 7F029B84 27A60024 */ addiu $a2, $sp, 0x24 -/* 05E6B8 7F029B88 46028482 */ mul.s $f18, $f16, $f2 -/* 05E6BC 7F029B8C 00000000 */ nop -/* 05E6C0 7F029B90 46022182 */ mul.s $f6, $f4, $f2 -/* 05E6C4 7F029B94 E7B20024 */ swc1 $f18, 0x24($sp) -/* 05E6C8 7F029B98 0FC0A60B */ jal sub_GAME_7F02982C -/* 05E6CC 7F029B9C E7A6002C */ swc1 $f6, 0x2c($sp) -.L7F029BA0: -/* 05E6D0 7F029BA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 05E6D4 7F029BA4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 05E6D8 7F029BA8 03E00008 */ jr $ra -/* 05E6DC 7F029BAC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F029BB0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F029BB0 -/* 05E6E0 7F029BB0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05E6E4 7F029BB4 AFBF0014 */ sw $ra, 0x14($sp) -/* 05E6E8 7F029BB8 0FC225E6 */ jal get_curplayer_positiondata -/* 05E6EC 7F029BBC AFA40018 */ sw $a0, 0x18($sp) -/* 05E6F0 7F029BC0 3C0E8005 */ lui $t6, %hi(global_timer) -/* 05E6F4 7F029BC4 8FA40018 */ lw $a0, 0x18($sp) -/* 05E6F8 7F029BC8 8DCE837C */ lw $t6, %lo(global_timer)($t6) -/* 05E6FC 7F029BCC AC8E00D4 */ sw $t6, 0xd4($a0) -/* 05E700 7F029BD0 C4440008 */ lwc1 $f4, 8($v0) -/* 05E704 7F029BD4 E48400D8 */ swc1 $f4, 0xd8($a0) -/* 05E708 7F029BD8 C446000C */ lwc1 $f6, 0xc($v0) -/* 05E70C 7F029BDC E48600DC */ swc1 $f6, 0xdc($a0) -/* 05E710 7F029BE0 C4480010 */ lwc1 $f8, 0x10($v0) -/* 05E714 7F029BE4 E48800E0 */ swc1 $f8, 0xe0($a0) -/* 05E718 7F029BE8 8C4F0014 */ lw $t7, 0x14($v0) -/* 05E71C 7F029BEC AC8F00E4 */ sw $t7, 0xe4($a0) -/* 05E720 7F029BF0 8FBF0014 */ lw $ra, 0x14($sp) -/* 05E724 7F029BF4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05E728 7F029BF8 03E00008 */ jr $ra -/* 05E72C 7F029BFC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F029C00(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F029C00 -/* 05E730 7F029C00 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05E734 7F029C04 AFBF0014 */ sw $ra, 0x14($sp) -/* 05E738 7F029C08 0FC225E6 */ jal get_curplayer_positiondata -/* 05E73C 7F029C0C AFA40018 */ sw $a0, 0x18($sp) -/* 05E740 7F029C10 8FA40018 */ lw $a0, 0x18($sp) -/* 05E744 7F029C14 3C188005 */ lui $t8, %hi(global_timer) -/* 05E748 7F029C18 948E0012 */ lhu $t6, 0x12($a0) -/* 05E74C 7F029C1C 35CF0002 */ ori $t7, $t6, 2 -/* 05E750 7F029C20 A48F0012 */ sh $t7, 0x12($a0) -/* 05E754 7F029C24 8F18837C */ lw $t8, %lo(global_timer)($t8) -/* 05E758 7F029C28 AC9800F0 */ sw $t8, 0xf0($a0) -/* 05E75C 7F029C2C C4440008 */ lwc1 $f4, 8($v0) -/* 05E760 7F029C30 E48400D8 */ swc1 $f4, 0xd8($a0) -/* 05E764 7F029C34 C446000C */ lwc1 $f6, 0xc($v0) -/* 05E768 7F029C38 E48600DC */ swc1 $f6, 0xdc($a0) -/* 05E76C 7F029C3C C4480010 */ lwc1 $f8, 0x10($v0) -/* 05E770 7F029C40 E48800E0 */ swc1 $f8, 0xe0($a0) -/* 05E774 7F029C44 8C590014 */ lw $t9, 0x14($v0) -/* 05E778 7F029C48 AC9900E4 */ sw $t9, 0xe4($a0) -/* 05E77C 7F029C4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 05E780 7F029C50 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05E784 7F029C54 03E00008 */ jr $ra -/* 05E788 7F029C58 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_actor_stationary(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_actor_stationary -/* 05E78C 7F029C5C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05E790 7F029C60 AFBF001C */ sw $ra, 0x1c($sp) -/* 05E794 7F029C64 AFB00018 */ sw $s0, 0x18($sp) -/* 05E798 7F029C68 80820007 */ lb $v0, 7($a0) -/* 05E79C 7F029C6C 24010001 */ li $at, 1 -/* 05E7A0 7F029C70 00808025 */ move $s0, $a0 -/* 05E7A4 7F029C74 5441000A */ bnel $v0, $at, .L7F029CA0 -/* 05E7A8 7F029C78 24010003 */ li $at, 3 -/* 05E7AC 7F029C7C 8C8E002C */ lw $t6, 0x2c($a0) -/* 05E7B0 7F029C80 55C00007 */ bnezl $t6, .L7F029CA0 -/* 05E7B4 7F029C84 24010003 */ li $at, 3 -/* 05E7B8 7F029C88 8C8F0038 */ lw $t7, 0x38($a0) -/* 05E7BC 7F029C8C 55E00004 */ bnezl $t7, .L7F029CA0 -/* 05E7C0 7F029C90 24010003 */ li $at, 3 -/* 05E7C4 7F029C94 10000031 */ b .L7F029D5C -/* 05E7C8 7F029C98 24020001 */ li $v0, 1 -/* 05E7CC 7F029C9C 24010003 */ li $at, 3 -.L7F029CA0: -/* 05E7D0 7F029CA0 54410029 */ bnel $v0, $at, .L7F029D48 -/* 05E7D4 7F029CA4 2401000E */ li $at, 14 -/* 05E7D8 7F029CA8 8E180034 */ lw $t8, 0x34($s0) -/* 05E7DC 7F029CAC 17000023 */ bnez $t8, .L7F029D3C -/* 05E7E0 7F029CB0 00000000 */ nop -/* 05E7E4 7F029CB4 0FC1BD84 */ jal sub_GAME_7F06F610 -/* 05E7E8 7F029CB8 8E04001C */ lw $a0, 0x1c($s0) -/* 05E7EC 7F029CBC 44802000 */ mtc1 $zero, $f4 -/* 05E7F0 7F029CC0 00000000 */ nop -/* 05E7F4 7F029CC4 4600203E */ c.le.s $f4, $f0 -/* 05E7F8 7F029CC8 00000000 */ nop -/* 05E7FC 7F029CCC 4500000B */ bc1f .L7F029CFC -/* 05E800 7F029CD0 00000000 */ nop -/* 05E804 7F029CD4 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 05E808 7F029CD8 8E04001C */ lw $a0, 0x1c($s0) -/* 05E80C 7F029CDC E7A00024 */ swc1 $f0, 0x24($sp) -/* 05E810 7F029CE0 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 05E814 7F029CE4 8E04001C */ lw $a0, 0x1c($s0) -/* 05E818 7F029CE8 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 05E81C 7F029CEC 4606003E */ c.le.s $f0, $f6 -/* 05E820 7F029CF0 00000000 */ nop -/* 05E824 7F029CF4 45010011 */ bc1t .L7F029D3C -/* 05E828 7F029CF8 00000000 */ nop -.L7F029CFC: -/* 05E82C 7F029CFC 0FC1BD84 */ jal sub_GAME_7F06F610 -/* 05E830 7F029D00 8E04001C */ lw $a0, 0x1c($s0) -/* 05E834 7F029D04 44804000 */ mtc1 $zero, $f8 -/* 05E838 7F029D08 00000000 */ nop -/* 05E83C 7F029D0C 4608003C */ c.lt.s $f0, $f8 -/* 05E840 7F029D10 00000000 */ nop -/* 05E844 7F029D14 45020011 */ bc1fl .L7F029D5C -/* 05E848 7F029D18 00001025 */ move $v0, $zero -/* 05E84C 7F029D1C 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 05E850 7F029D20 8E04001C */ lw $a0, 0x1c($s0) -/* 05E854 7F029D24 44805000 */ mtc1 $zero, $f10 -/* 05E858 7F029D28 00000000 */ nop -/* 05E85C 7F029D2C 460A003E */ c.le.s $f0, $f10 -/* 05E860 7F029D30 00000000 */ nop -/* 05E864 7F029D34 45020009 */ bc1fl .L7F029D5C -/* 05E868 7F029D38 00001025 */ move $v0, $zero -.L7F029D3C: -/* 05E86C 7F029D3C 10000007 */ b .L7F029D5C -/* 05E870 7F029D40 24020001 */ li $v0, 1 -/* 05E874 7F029D44 2401000E */ li $at, 14 -.L7F029D48: -/* 05E878 7F029D48 54410004 */ bnel $v0, $at, .L7F029D5C -/* 05E87C 7F029D4C 00001025 */ move $v0, $zero -/* 05E880 7F029D50 10000002 */ b .L7F029D5C -/* 05E884 7F029D54 24020001 */ li $v0, 1 -/* 05E888 7F029D58 00001025 */ move $v0, $zero -.L7F029D5C: -/* 05E88C 7F029D5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 05E890 7F029D60 8FB00018 */ lw $s0, 0x18($sp) -/* 05E894 7F029D64 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05E898 7F029D68 03E00008 */ jr $ra -/* 05E89C 7F029D6C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F029D70(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E0C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E10 -.word 0x3ff5be0b /*1.9198622*/ -glabel D_80051E14 -.word 0x408ba058 /*4.3633232*/ -glabel D_80051E18 -.word 0x471c4000 /*40000.0*/ -glabel D_80051E1C -.word 0x3ff5be0b /*1.9198622*/ -glabel D_80051E20 -.word 0x408ba058 /*4.3633232*/ -glabel D_80051E24 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80051E28 -.word 0x40afede0 /*5.4977875*/ -glabel D_80051E2C -.word 0x40490fdb /*3.1415927*/ -glabel D_80051E30 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E34 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F029D70 -/* 05E8A0 7F029D70 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 05E8A4 7F029D74 AFBF0014 */ sw $ra, 0x14($sp) -/* 05E8A8 7F029D78 AFA40058 */ sw $a0, 0x58($sp) -/* 05E8AC 7F029D7C 8C830018 */ lw $v1, 0x18($a0) -/* 05E8B0 7F029D80 0FC225E6 */ jal get_curplayer_positiondata -/* 05E8B4 7F029D84 AFA30054 */ sw $v1, 0x54($sp) -/* 05E8B8 7F029D88 8FAF0058 */ lw $t7, 0x58($sp) -/* 05E8BC 7F029D8C 8DE4001C */ lw $a0, 0x1c($t7) -/* 05E8C0 7F029D90 0FC1B320 */ jal getsubroty -/* 05E8C4 7F029D94 AFA20050 */ sw $v0, 0x50($sp) -/* 05E8C8 7F029D98 8FA30054 */ lw $v1, 0x54($sp) -/* 05E8CC 7F029D9C 8FA50050 */ lw $a1, 0x50($sp) -/* 05E8D0 7F029DA0 C4660008 */ lwc1 $f6, 8($v1) -/* 05E8D4 7F029DA4 C4A40008 */ lwc1 $f4, 8($a1) -/* 05E8D8 7F029DA8 C46A000C */ lwc1 $f10, 0xc($v1) -/* 05E8DC 7F029DAC C4A8000C */ lwc1 $f8, 0xc($a1) -/* 05E8E0 7F029DB0 46062301 */ sub.s $f12, $f4, $f6 -/* 05E8E4 7F029DB4 460A4101 */ sub.s $f4, $f8, $f10 -/* 05E8E8 7F029DB8 E7A4003C */ swc1 $f4, 0x3c($sp) -/* 05E8EC 7F029DBC C4680010 */ lwc1 $f8, 0x10($v1) -/* 05E8F0 7F029DC0 C4A60010 */ lwc1 $f6, 0x10($a1) -/* 05E8F4 7F029DC4 E7A00044 */ swc1 $f0, 0x44($sp) -/* 05E8F8 7F029DC8 E7AC0040 */ swc1 $f12, 0x40($sp) -/* 05E8FC 7F029DCC 46083381 */ sub.s $f14, $f6, $f8 -/* 05E900 7F029DD0 0FC16A8C */ jal convert_angle_using_inverse -/* 05E904 7F029DD4 E7AE0038 */ swc1 $f14, 0x38($sp) -/* 05E908 7F029DD8 C7B00044 */ lwc1 $f16, 0x44($sp) -/* 05E90C 7F029DDC C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 05E910 7F029DE0 00001825 */ move $v1, $zero -/* 05E914 7F029DE4 4610003C */ c.lt.s $f0, $f16 -/* 05E918 7F029DE8 3C018005 */ lui $at, %hi(D_80051E0C) -/* 05E91C 7F029DEC 46100301 */ sub.s $f12, $f0, $f16 -/* 05E920 7F029DF0 8FA40058 */ lw $a0, 0x58($sp) -/* 05E924 7F029DF4 45000003 */ bc1f .L7F029E04 -/* 05E928 7F029DF8 46006086 */ mov.s $f2, $f12 -/* 05E92C 7F029DFC C42A1E0C */ lwc1 $f10, %lo(D_80051E0C)($at) -/* 05E930 7F029E00 460A6080 */ add.s $f2, $f12, $f10 -.L7F029E04: -/* 05E934 7F029E04 AFA3002C */ sw $v1, 0x2c($sp) -/* 05E938 7F029E08 E7A20030 */ swc1 $f2, 0x30($sp) -/* 05E93C 7F029E0C 0FC0CADA */ jal sub_GAME_7F032B68 -/* 05E940 7F029E10 E7AE0038 */ swc1 $f14, 0x38($sp) -/* 05E944 7F029E14 8FA3002C */ lw $v1, 0x2c($sp) -/* 05E948 7F029E18 C7A20030 */ lwc1 $f2, 0x30($sp) -/* 05E94C 7F029E1C 10400003 */ beqz $v0, .L7F029E2C -/* 05E950 7F029E20 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 05E954 7F029E24 10000078 */ b .L7F02A008 -/* 05E958 7F029E28 24030001 */ li $v1, 1 -.L7F029E2C: -/* 05E95C 7F029E2C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 05E960 7F029E30 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 05E964 7F029E34 8FB80058 */ lw $t8, 0x58($sp) -/* 05E968 7F029E38 46042182 */ mul.s $f6, $f4, $f4 -/* 05E96C 7F029E3C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 05E970 7F029E40 C70000D0 */ lwc1 $f0, 0xd0($t8) -/* 05E974 7F029E44 46129202 */ mul.s $f8, $f18, $f18 -/* 05E978 7F029E48 44818000 */ mtc1 $at, $f16 -/* 05E97C 7F029E4C 3C018005 */ lui $at, %hi(D_80051E10) -/* 05E980 7F029E50 460E7102 */ mul.s $f4, $f14, $f14 -/* 05E984 7F029E54 46064280 */ add.s $f10, $f8, $f6 -/* 05E988 7F029E58 46000202 */ mul.s $f8, $f0, $f0 -/* 05E98C 7F029E5C 46045300 */ add.s $f12, $f10, $f4 -/* 05E990 7F029E60 46104182 */ mul.s $f6, $f8, $f16 -/* 05E994 7F029E64 00000000 */ nop -/* 05E998 7F029E68 46103282 */ mul.s $f10, $f6, $f16 -/* 05E99C 7F029E6C 460A603C */ c.lt.s $f12, $f10 -/* 05E9A0 7F029E70 00000000 */ nop -/* 05E9A4 7F029E74 4500000B */ bc1f .L7F029EA4 -/* 05E9A8 7F029E78 00000000 */ nop -/* 05E9AC 7F029E7C C4241E10 */ lwc1 $f4, %lo(D_80051E10)($at) -/* 05E9B0 7F029E80 3C018005 */ lui $at, %hi(D_80051E14) -/* 05E9B4 7F029E84 4604103C */ c.lt.s $f2, $f4 -/* 05E9B8 7F029E88 00000000 */ nop -/* 05E9BC 7F029E8C 45030018 */ bc1tl .L7F029EF0 -/* 05E9C0 7F029E90 AFA3002C */ sw $v1, 0x2c($sp) -/* 05E9C4 7F029E94 C4281E14 */ lwc1 $f8, %lo(D_80051E14)($at) -/* 05E9C8 7F029E98 4602403C */ c.lt.s $f8, $f2 -/* 05E9CC 7F029E9C 00000000 */ nop -/* 05E9D0 7F029EA0 45010012 */ bc1t .L7F029EEC -.L7F029EA4: -/* 05E9D4 7F029EA4 3C018005 */ lui $at, %hi(D_80051E18) -/* 05E9D8 7F029EA8 C4261E18 */ lwc1 $f6, %lo(D_80051E18)($at) -/* 05E9DC 7F029EAC 3C018005 */ lui $at, %hi(D_80051E1C) -/* 05E9E0 7F029EB0 4606603C */ c.lt.s $f12, $f6 -/* 05E9E4 7F029EB4 00000000 */ nop -/* 05E9E8 7F029EB8 45000053 */ bc1f .L7F02A008 -/* 05E9EC 7F029EBC 00000000 */ nop -/* 05E9F0 7F029EC0 C42A1E1C */ lwc1 $f10, %lo(D_80051E1C)($at) -/* 05E9F4 7F029EC4 3C018005 */ lui $at, %hi(D_80051E20) -/* 05E9F8 7F029EC8 460A103C */ c.lt.s $f2, $f10 -/* 05E9FC 7F029ECC 00000000 */ nop -/* 05EA00 7F029ED0 45030007 */ bc1tl .L7F029EF0 -/* 05EA04 7F029ED4 AFA3002C */ sw $v1, 0x2c($sp) -/* 05EA08 7F029ED8 C4241E20 */ lwc1 $f4, %lo(D_80051E20)($at) -/* 05EA0C 7F029EDC 4602203C */ c.lt.s $f4, $f2 -/* 05EA10 7F029EE0 00000000 */ nop -/* 05EA14 7F029EE4 45000048 */ bc1f .L7F02A008 -/* 05EA18 7F029EE8 00000000 */ nop -.L7F029EEC: -/* 05EA1C 7F029EEC AFA3002C */ sw $v1, 0x2c($sp) -.L7F029EF0: -/* 05EA20 7F029EF0 E7A20030 */ swc1 $f2, 0x30($sp) -/* 05EA24 7F029EF4 0FC2E9D1 */ jal square_near_fog_value -/* 05EA28 7F029EF8 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 05EA2C 7F029EFC C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 05EA30 7F029F00 8FA3002C */ lw $v1, 0x2c($sp) -/* 05EA34 7F029F04 C7A20030 */ lwc1 $f2, 0x30($sp) -/* 05EA38 7F029F08 4600603C */ c.lt.s $f12, $f0 -/* 05EA3C 7F029F0C 00000000 */ nop -/* 05EA40 7F029F10 4500003D */ bc1f .L7F02A008 -/* 05EA44 7F029F14 00000000 */ nop -/* 05EA48 7F029F18 0C007DF8 */ jal sqrtf -/* 05EA4C 7F029F1C E7A20030 */ swc1 $f2, 0x30($sp) -/* 05EA50 7F029F20 3C018005 */ lui $at, %hi(D_80051E24) -/* 05EA54 7F029F24 C42C1E24 */ lwc1 $f12, %lo(D_80051E24)($at) -/* 05EA58 7F029F28 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 05EA5C 7F029F2C 44814000 */ mtc1 $at, $f8 -/* 05EA60 7F029F30 3C01467A */ li $at, 0x467A0000 # 16000.000000 -/* 05EA64 7F029F34 44815000 */ mtc1 $at, $f10 -/* 05EA68 7F029F38 46080182 */ mul.s $f6, $f0, $f8 -/* 05EA6C 7F029F3C C7A20030 */ lwc1 $f2, 0x30($sp) -/* 05EA70 7F029F40 3C018005 */ lui $at, %hi(D_80051E28) -/* 05EA74 7F029F44 4602603C */ c.lt.s $f12, $f2 -/* 05EA78 7F029F48 460A3103 */ div.s $f4, $f6, $f10 -/* 05EA7C 7F029F4C 4600220D */ trunc.w.s $f8, $f4 -/* 05EA80 7F029F50 44054000 */ mfc1 $a1, $f8 -/* 05EA84 7F029F54 4500001F */ bc1f .L7F029FD4 -/* 05EA88 7F029F58 00000000 */ nop -/* 05EA8C 7F029F5C C4261E28 */ lwc1 $f6, %lo(D_80051E28)($at) -/* 05EA90 7F029F60 3C018005 */ lui $at, %hi(D_80051E2C) -/* 05EA94 7F029F64 4606103C */ c.lt.s $f2, $f6 -/* 05EA98 7F029F68 00000000 */ nop -/* 05EA9C 7F029F6C 45000019 */ bc1f .L7F029FD4 -/* 05EAA0 7F029F70 00000000 */ nop -/* 05EAA4 7F029F74 C42A1E2C */ lwc1 $f10, %lo(D_80051E2C)($at) -/* 05EAA8 7F029F78 46001006 */ mov.s $f0, $f2 -/* 05EAAC 7F029F7C 3C018005 */ lui $at, %hi(D_80051E30) -/* 05EAB0 7F029F80 4602503C */ c.lt.s $f10, $f2 -/* 05EAB4 7F029F84 00000000 */ nop -/* 05EAB8 7F029F88 45020004 */ bc1fl .L7F029F9C -/* 05EABC 7F029F8C 460C0001 */ sub.s $f0, $f0, $f12 -/* 05EAC0 7F029F90 C4241E30 */ lwc1 $f4, %lo(D_80051E30)($at) -/* 05EAC4 7F029F94 46022001 */ sub.s $f0, $f4, $f2 -/* 05EAC8 7F029F98 460C0001 */ sub.s $f0, $f0, $f12 -.L7F029F9C: -/* 05EACC 7F029F9C 3C0141C0 */ li $at, 0x41C00000 # 24.000000 -/* 05EAD0 7F029FA0 44814000 */ mtc1 $at, $f8 -/* 05EAD4 7F029FA4 3C018005 */ lui $at, %hi(D_80051E34) -/* 05EAD8 7F029FA8 C42A1E34 */ lwc1 $f10, %lo(D_80051E34)($at) -/* 05EADC 7F029FAC 46080182 */ mul.s $f6, $f0, $f8 -/* 05EAE0 7F029FB0 460A3103 */ div.s $f4, $f6, $f10 -/* 05EAE4 7F029FB4 4600220D */ trunc.w.s $f8, $f4 -/* 05EAE8 7F029FB8 44094000 */ mfc1 $t1, $f8 -/* 05EAEC 7F029FBC 00000000 */ nop -/* 05EAF0 7F029FC0 252A0001 */ addiu $t2, $t1, 1 -/* 05EAF4 7F029FC4 00AA0019 */ multu $a1, $t2 -/* 05EAF8 7F029FC8 00002812 */ mflo $a1 -/* 05EAFC 7F029FCC 00000000 */ nop -/* 05EB00 7F029FD0 00000000 */ nop -.L7F029FD4: -/* 05EB04 7F029FD4 0FC08EF0 */ jal sub_GAME_7F023BC0 -/* 05EB08 7F029FD8 8FA40058 */ lw $a0, 0x58($sp) -/* 05EB0C 7F029FDC 24450001 */ addiu $a1, $v0, 1 -/* 05EB10 7F029FE0 0C002914 */ jal get_random_value -/* 05EB14 7F029FE4 AFA50024 */ sw $a1, 0x24($sp) -/* 05EB18 7F029FE8 8FA50024 */ lw $a1, 0x24($sp) -/* 05EB1C 7F029FEC 0045001B */ divu $zero, $v0, $a1 -/* 05EB20 7F029FF0 00001810 */ mfhi $v1 -/* 05EB24 7F029FF4 2C6B0001 */ sltiu $t3, $v1, 1 -/* 05EB28 7F029FF8 01601825 */ move $v1, $t3 -/* 05EB2C 7F029FFC 14A00002 */ bnez $a1, .L7F02A008 -/* 05EB30 7F02A000 00000000 */ nop -/* 05EB34 7F02A004 0007000D */ break 7 -.L7F02A008: -/* 05EB38 7F02A008 10600004 */ beqz $v1, .L7F02A01C -/* 05EB3C 7F02A00C 00000000 */ nop -/* 05EB40 7F02A010 0FC0A52F */ jal sub_GAME_7F0294BC -/* 05EB44 7F02A014 8FA40058 */ lw $a0, 0x58($sp) -/* 05EB48 7F02A018 00401825 */ move $v1, $v0 -.L7F02A01C: -/* 05EB4C 7F02A01C 10600004 */ beqz $v1, .L7F02A030 -/* 05EB50 7F02A020 8FA40058 */ lw $a0, 0x58($sp) -/* 05EB54 7F02A024 0FC0A6EC */ jal sub_GAME_7F029BB0 -/* 05EB58 7F02A028 AFA3002C */ sw $v1, 0x2c($sp) -/* 05EB5C 7F02A02C 8FA3002C */ lw $v1, 0x2c($sp) -.L7F02A030: -/* 05EB60 7F02A030 8FBF0014 */ lw $ra, 0x14($sp) -/* 05EB64 7F02A034 27BD0058 */ addiu $sp, $sp, 0x58 -/* 05EB68 7F02A038 00601025 */ move $v0, $v1 -/* 05EB6C 7F02A03C 03E00008 */ jr $ra -/* 05EB70 7F02A040 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02A044(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02A044 -/* 05EB74 7F02A044 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05EB78 7F02A048 AFBF0014 */ sw $ra, 0x14($sp) -/* 05EB7C 7F02A04C AFA5002C */ sw $a1, 0x2c($sp) -/* 05EB80 7F02A050 8C830018 */ lw $v1, 0x18($a0) -/* 05EB84 7F02A054 AFA60030 */ sw $a2, 0x30($sp) -/* 05EB88 7F02A058 0FC225E6 */ jal get_curplayer_positiondata -/* 05EB8C 7F02A05C AFA30024 */ sw $v1, 0x24($sp) -/* 05EB90 7F02A060 8FA30024 */ lw $v1, 0x24($sp) -/* 05EB94 7F02A064 C4440008 */ lwc1 $f4, 8($v0) -/* 05EB98 7F02A068 C4480010 */ lwc1 $f8, 0x10($v0) -/* 05EB9C 7F02A06C C4660008 */ lwc1 $f6, 8($v1) -/* 05EBA0 7F02A070 C46A0010 */ lwc1 $f10, 0x10($v1) -/* 05EBA4 7F02A074 46062081 */ sub.s $f2, $f4, $f6 -/* 05EBA8 7F02A078 460A4381 */ sub.s $f14, $f8, $f10 -/* 05EBAC 7F02A07C 46021402 */ mul.s $f16, $f2, $f2 -/* 05EBB0 7F02A080 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 05EBB4 7F02A084 460E7482 */ mul.s $f18, $f14, $f14 -/* 05EBB8 7F02A088 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 05EBBC 7F02A08C 0C007DF8 */ jal sqrtf -/* 05EBC0 7F02A090 46128300 */ add.s $f12, $f16, $f18 -/* 05EBC4 7F02A094 8FAE002C */ lw $t6, 0x2c($sp) -/* 05EBC8 7F02A098 C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 05EBCC 7F02A09C C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 05EBD0 7F02A0A0 8FA60030 */ lw $a2, 0x30($sp) -/* 05EBD4 7F02A0A4 46001083 */ div.s $f2, $f2, $f0 -/* 05EBD8 7F02A0A8 11C00007 */ beqz $t6, .L7F02A0C8 -/* 05EBDC 7F02A0AC 46007383 */ div.s $f14, $f14, $f0 -/* 05EBE0 7F02A0B0 44802000 */ mtc1 $zero, $f4 -/* 05EBE4 7F02A0B4 46001187 */ neg.s $f6, $f2 -/* 05EBE8 7F02A0B8 E4CE0000 */ swc1 $f14, ($a2) -/* 05EBEC 7F02A0BC E4C60008 */ swc1 $f6, 8($a2) -/* 05EBF0 7F02A0C0 10000006 */ b .L7F02A0DC -/* 05EBF4 7F02A0C4 E4C40004 */ swc1 $f4, 4($a2) -.L7F02A0C8: -/* 05EBF8 7F02A0C8 44805000 */ mtc1 $zero, $f10 -/* 05EBFC 7F02A0CC 46007207 */ neg.s $f8, $f14 -/* 05EC00 7F02A0D0 E4C20008 */ swc1 $f2, 8($a2) -/* 05EC04 7F02A0D4 E4C80000 */ swc1 $f8, ($a2) -/* 05EC08 7F02A0D8 E4CA0004 */ swc1 $f10, 4($a2) -.L7F02A0DC: -/* 05EC0C 7F02A0DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 05EC10 7F02A0E0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05EC14 7F02A0E4 03E00008 */ jr $ra -/* 05EC18 7F02A0E8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02A0EC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02A0EC -/* 05EC1C 7F02A0EC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 05EC20 7F02A0F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 05EC24 7F02A0F4 AFA60040 */ sw $a2, 0x40($sp) -/* 05EC28 7F02A0F8 8C870018 */ lw $a3, 0x18($a0) -/* 05EC2C 7F02A0FC 27A60028 */ addiu $a2, $sp, 0x28 -/* 05EC30 7F02A100 0FC0A811 */ jal sub_GAME_7F02A044 -/* 05EC34 7F02A104 AFA70034 */ sw $a3, 0x34($sp) -/* 05EC38 7F02A108 C7A00040 */ lwc1 $f0, 0x40($sp) -/* 05EC3C 7F02A10C C7A40028 */ lwc1 $f4, 0x28($sp) -/* 05EC40 7F02A110 8FA40034 */ lw $a0, 0x34($sp) -/* 05EC44 7F02A114 C7B20030 */ lwc1 $f18, 0x30($sp) -/* 05EC48 7F02A118 46002182 */ mul.s $f6, $f4, $f0 -/* 05EC4C 7F02A11C C4880008 */ lwc1 $f8, 8($a0) -/* 05EC50 7F02A120 27A5001C */ addiu $a1, $sp, 0x1c -/* 05EC54 7F02A124 46009102 */ mul.s $f4, $f18, $f0 -/* 05EC58 7F02A128 27A60028 */ addiu $a2, $sp, 0x28 -/* 05EC5C 7F02A12C 46083280 */ add.s $f10, $f6, $f8 -/* 05EC60 7F02A130 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 05EC64 7F02A134 C490000C */ lwc1 $f16, 0xc($a0) -/* 05EC68 7F02A138 E7B00020 */ swc1 $f16, 0x20($sp) -/* 05EC6C 7F02A13C C4860010 */ lwc1 $f6, 0x10($a0) -/* 05EC70 7F02A140 46062200 */ add.s $f8, $f4, $f6 -/* 05EC74 7F02A144 0FC0A60B */ jal sub_GAME_7F02982C -/* 05EC78 7F02A148 E7A80024 */ swc1 $f8, 0x24($sp) -/* 05EC7C 7F02A14C 8FBF0014 */ lw $ra, 0x14($sp) -/* 05EC80 7F02A150 27BD0038 */ addiu $sp, $sp, 0x38 -/* 05EC84 7F02A154 03E00008 */ jr $ra -/* 05EC88 7F02A158 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02A15C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02A15C -/* 05EC8C 7F02A15C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05EC90 7F02A160 AFBF001C */ sw $ra, 0x1c($sp) -/* 05EC94 7F02A164 AFB00018 */ sw $s0, 0x18($sp) -/* 05EC98 7F02A168 AFA5002C */ sw $a1, 0x2c($sp) -/* 05EC9C 7F02A16C 00C08025 */ move $s0, $a2 -/* 05ECA0 7F02A170 0FC1B320 */ jal getsubroty -/* 05ECA4 7F02A174 8C84001C */ lw $a0, 0x1c($a0) -/* 05ECA8 7F02A178 8FAE002C */ lw $t6, 0x2c($sp) -/* 05ECAC 7F02A17C 46000306 */ mov.s $f12, $f0 -/* 05ECB0 7F02A180 11C0000B */ beqz $t6, .L7F02A1B0 -/* 05ECB4 7F02A184 00000000 */ nop -/* 05ECB8 7F02A188 0FC15FA8 */ jal cosf -/* 05ECBC 7F02A18C E7AC0024 */ swc1 $f12, 0x24($sp) -/* 05ECC0 7F02A190 44802000 */ mtc1 $zero, $f4 -/* 05ECC4 7F02A194 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 05ECC8 7F02A198 E6000000 */ swc1 $f0, ($s0) -/* 05ECCC 7F02A19C 0FC15FAB */ jal sinf -/* 05ECD0 7F02A1A0 E6040004 */ swc1 $f4, 4($s0) -/* 05ECD4 7F02A1A4 46000187 */ neg.s $f6, $f0 -/* 05ECD8 7F02A1A8 1000000A */ b .L7F02A1D4 -/* 05ECDC 7F02A1AC E6060008 */ swc1 $f6, 8($s0) -.L7F02A1B0: -/* 05ECE0 7F02A1B0 0FC15FA8 */ jal cosf -/* 05ECE4 7F02A1B4 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 05ECE8 7F02A1B8 44805000 */ mtc1 $zero, $f10 -/* 05ECEC 7F02A1BC 46000207 */ neg.s $f8, $f0 -/* 05ECF0 7F02A1C0 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 05ECF4 7F02A1C4 E6080000 */ swc1 $f8, ($s0) -/* 05ECF8 7F02A1C8 0FC15FAB */ jal sinf -/* 05ECFC 7F02A1CC E60A0004 */ swc1 $f10, 4($s0) -/* 05ED00 7F02A1D0 E6000008 */ swc1 $f0, 8($s0) -.L7F02A1D4: -/* 05ED04 7F02A1D4 8FBF001C */ lw $ra, 0x1c($sp) -/* 05ED08 7F02A1D8 8FB00018 */ lw $s0, 0x18($sp) -/* 05ED0C 7F02A1DC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05ED10 7F02A1E0 03E00008 */ jr $ra -/* 05ED14 7F02A1E4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02A1E8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02A1E8 -/* 05ED18 7F02A1E8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 05ED1C 7F02A1EC AFBF0014 */ sw $ra, 0x14($sp) -/* 05ED20 7F02A1F0 AFA60040 */ sw $a2, 0x40($sp) -/* 05ED24 7F02A1F4 8C870018 */ lw $a3, 0x18($a0) -/* 05ED28 7F02A1F8 27A60028 */ addiu $a2, $sp, 0x28 -/* 05ED2C 7F02A1FC 0FC0A857 */ jal sub_GAME_7F02A15C -/* 05ED30 7F02A200 AFA70034 */ sw $a3, 0x34($sp) -/* 05ED34 7F02A204 C7A00040 */ lwc1 $f0, 0x40($sp) -/* 05ED38 7F02A208 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 05ED3C 7F02A20C 8FA40034 */ lw $a0, 0x34($sp) -/* 05ED40 7F02A210 C7B20030 */ lwc1 $f18, 0x30($sp) -/* 05ED44 7F02A214 46002182 */ mul.s $f6, $f4, $f0 -/* 05ED48 7F02A218 C4880008 */ lwc1 $f8, 8($a0) -/* 05ED4C 7F02A21C 27A5001C */ addiu $a1, $sp, 0x1c -/* 05ED50 7F02A220 46009102 */ mul.s $f4, $f18, $f0 -/* 05ED54 7F02A224 27A60028 */ addiu $a2, $sp, 0x28 -/* 05ED58 7F02A228 46083280 */ add.s $f10, $f6, $f8 -/* 05ED5C 7F02A22C E7AA001C */ swc1 $f10, 0x1c($sp) -/* 05ED60 7F02A230 C490000C */ lwc1 $f16, 0xc($a0) -/* 05ED64 7F02A234 E7B00020 */ swc1 $f16, 0x20($sp) -/* 05ED68 7F02A238 C4860010 */ lwc1 $f6, 0x10($a0) -/* 05ED6C 7F02A23C 46062200 */ add.s $f8, $f4, $f6 -/* 05ED70 7F02A240 0FC0A60B */ jal sub_GAME_7F02982C -/* 05ED74 7F02A244 E7A80024 */ swc1 $f8, 0x24($sp) -/* 05ED78 7F02A248 8FBF0014 */ lw $ra, 0x14($sp) -/* 05ED7C 7F02A24C 27BD0038 */ addiu $sp, $sp, 0x38 -/* 05ED80 7F02A250 03E00008 */ jr $ra -/* 05ED84 7F02A254 00000000 */ nop -) -#endif - - - -s32 true_if_actor_dying_fading_limping_shot(PCHRdata chr) { - s8 currentaction = chr->actiontype; - - if ((currentaction == ACT_DIE) || (currentaction == ACT_DEAD) || (currentaction == ACT_PREARGH) || (currentaction == ACT_ARGH) && !(chr->chrflags & CHRFLAG_00000200)) - return 0; - return 1; -} - - - -s32 true_if_actor_dying_fading(PCHRdata chr) { - s8 currentaction = chr->actiontype; - - return ((currentaction == ACT_DIE) || (currentaction == ACT_DEAD)); -} - - - -#ifdef NONMATCHING -void actor_steps_sideways(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E38 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E3C -.word 0x3f490fdb /*0.78539819*/ -glabel D_80051E40 -.word 0x40afede0 /*5.4977875*/ -glabel D_80051E44 -.word 0x4016cbe4 /*2.3561945*/ -glabel D_80051E48 -.word 0x407b53d2 /*3.926991*/ -.text -glabel actor_steps_sideways -/* 05EDF8 7F02A2C8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 05EDFC 7F02A2CC AFBF001C */ sw $ra, 0x1c($sp) -/* 05EE00 7F02A2D0 AFB00018 */ sw $s0, 0x18($sp) -/* 05EE04 7F02A2D4 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05EE08 7F02A2D8 00808025 */ move $s0, $a0 -/* 05EE0C 7F02A2DC 5040004D */ beql $v0, $zero, .L7F02A414 -/* 05EE10 7F02A2E0 00001025 */ move $v0, $zero -/* 05EE14 7F02A2E4 8E0E0018 */ lw $t6, 0x18($s0) -/* 05EE18 7F02A2E8 0FC225E6 */ jal get_curplayer_positiondata -/* 05EE1C 7F02A2EC AFAE004C */ sw $t6, 0x4c($sp) -/* 05EE20 7F02A2F0 8E04001C */ lw $a0, 0x1c($s0) -/* 05EE24 7F02A2F4 0FC1B320 */ jal getsubroty -/* 05EE28 7F02A2F8 AFA20048 */ sw $v0, 0x48($sp) -/* 05EE2C 7F02A2FC 8FA2004C */ lw $v0, 0x4c($sp) -/* 05EE30 7F02A300 8FA30048 */ lw $v1, 0x48($sp) -/* 05EE34 7F02A304 C4460008 */ lwc1 $f6, 8($v0) -/* 05EE38 7F02A308 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 05EE3C 7F02A30C C4640008 */ lwc1 $f4, 8($v1) -/* 05EE40 7F02A310 C4680010 */ lwc1 $f8, 0x10($v1) -/* 05EE44 7F02A314 E7A00040 */ swc1 $f0, 0x40($sp) -/* 05EE48 7F02A318 46062301 */ sub.s $f12, $f4, $f6 -/* 05EE4C 7F02A31C 0FC16A8C */ jal convert_angle_using_inverse -/* 05EE50 7F02A320 460A4381 */ sub.s $f14, $f8, $f10 -/* 05EE54 7F02A324 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 05EE58 7F02A328 3C018005 */ lui $at, %hi(D_80051E38) -/* 05EE5C 7F02A32C 4610003C */ c.lt.s $f0, $f16 -/* 05EE60 7F02A330 46100301 */ sub.s $f12, $f0, $f16 -/* 05EE64 7F02A334 45000003 */ bc1f .L7F02A344 -/* 05EE68 7F02A338 46006086 */ mov.s $f2, $f12 -/* 05EE6C 7F02A33C C4321E38 */ lwc1 $f18, %lo(D_80051E38)($at) -/* 05EE70 7F02A340 46126080 */ add.s $f2, $f12, $f18 -.L7F02A344: -/* 05EE74 7F02A344 3C018005 */ lui $at, %hi(D_80051E3C) -/* 05EE78 7F02A348 C4241E3C */ lwc1 $f4, %lo(D_80051E3C)($at) -/* 05EE7C 7F02A34C 3C018005 */ lui $at, %hi(D_80051E40) -/* 05EE80 7F02A350 4604103C */ c.lt.s $f2, $f4 -/* 05EE84 7F02A354 00000000 */ nop -/* 05EE88 7F02A358 45010012 */ bc1t .L7F02A3A4 -/* 05EE8C 7F02A35C 00000000 */ nop -/* 05EE90 7F02A360 C4261E40 */ lwc1 $f6, %lo(D_80051E40)($at) -/* 05EE94 7F02A364 3C018005 */ lui $at, %hi(D_80051E44) -/* 05EE98 7F02A368 4602303C */ c.lt.s $f6, $f2 -/* 05EE9C 7F02A36C 00000000 */ nop -/* 05EEA0 7F02A370 4501000C */ bc1t .L7F02A3A4 -/* 05EEA4 7F02A374 00000000 */ nop -/* 05EEA8 7F02A378 C4281E44 */ lwc1 $f8, %lo(D_80051E44)($at) -/* 05EEAC 7F02A37C 3C018005 */ lui $at, %hi(D_80051E48) -/* 05EEB0 7F02A380 4602403C */ c.lt.s $f8, $f2 -/* 05EEB4 7F02A384 00000000 */ nop -/* 05EEB8 7F02A388 45020022 */ bc1fl .L7F02A414 -/* 05EEBC 7F02A38C 00001025 */ move $v0, $zero -/* 05EEC0 7F02A390 C42A1E48 */ lwc1 $f10, %lo(D_80051E48)($at) -/* 05EEC4 7F02A394 460A103C */ c.lt.s $f2, $f10 -/* 05EEC8 7F02A398 00000000 */ nop -/* 05EECC 7F02A39C 4502001D */ bc1fl .L7F02A414 -/* 05EED0 7F02A3A0 00001025 */ move $v0, $zero -.L7F02A3A4: -/* 05EED4 7F02A3A4 0C002914 */ jal get_random_value -/* 05EED8 7F02A3A8 00000000 */ nop -/* 05EEDC 7F02A3AC 30450001 */ andi $a1, $v0, 1 -/* 05EEE0 7F02A3B0 2CAF0001 */ sltiu $t7, $a1, 1 -/* 05EEE4 7F02A3B4 01E02825 */ move $a1, $t7 -/* 05EEE8 7F02A3B8 AFAF002C */ sw $t7, 0x2c($sp) -/* 05EEEC 7F02A3BC 02002025 */ move $a0, $s0 -/* 05EEF0 7F02A3C0 0FC0A87A */ jal sub_GAME_7F02A1E8 -/* 05EEF4 7F02A3C4 3C0642C8 */ lui $a2, 0x42c8 -/* 05EEF8 7F02A3C8 10400006 */ beqz $v0, .L7F02A3E4 -/* 05EEFC 7F02A3CC 8FA7002C */ lw $a3, 0x2c($sp) -/* 05EF00 7F02A3D0 02002025 */ move $a0, $s0 -/* 05EF04 7F02A3D4 0FC09200 */ jal sub_GAME_7F024800 -/* 05EF08 7F02A3D8 00E02825 */ move $a1, $a3 -/* 05EF0C 7F02A3DC 1000000D */ b .L7F02A414 -/* 05EF10 7F02A3E0 24020001 */ li $v0, 1 -.L7F02A3E4: -/* 05EF14 7F02A3E4 2CE50001 */ sltiu $a1, $a3, 1 -/* 05EF18 7F02A3E8 AFA50024 */ sw $a1, 0x24($sp) -/* 05EF1C 7F02A3EC 02002025 */ move $a0, $s0 -/* 05EF20 7F02A3F0 0FC0A87A */ jal sub_GAME_7F02A1E8 -/* 05EF24 7F02A3F4 3C0642C8 */ lui $a2, 0x42c8 -/* 05EF28 7F02A3F8 10400005 */ beqz $v0, .L7F02A410 -/* 05EF2C 7F02A3FC 8FA50024 */ lw $a1, 0x24($sp) -/* 05EF30 7F02A400 0FC09200 */ jal sub_GAME_7F024800 -/* 05EF34 7F02A404 02002025 */ move $a0, $s0 -/* 05EF38 7F02A408 10000002 */ b .L7F02A414 -/* 05EF3C 7F02A40C 24020001 */ li $v0, 1 -.L7F02A410: -/* 05EF40 7F02A410 00001025 */ move $v0, $zero -.L7F02A414: -/* 05EF44 7F02A414 8FBF001C */ lw $ra, 0x1c($sp) -/* 05EF48 7F02A418 8FB00018 */ lw $s0, 0x18($sp) -/* 05EF4C 7F02A41C 27BD0050 */ addiu $sp, $sp, 0x50 -/* 05EF50 7F02A420 03E00008 */ jr $ra -/* 05EF54 7F02A424 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_hops_sideways(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E4C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E50 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80051E54 -.word 0x40afede0 /*5.4977875*/ -glabel D_80051E58 -.word 0x4016cbe4 /*2.3561945*/ -glabel D_80051E5C -.word 0x407b53d2 /*3.926991*/ -.text -glabel actor_hops_sideways -/* 05EF58 7F02A428 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 05EF5C 7F02A42C AFBF001C */ sw $ra, 0x1c($sp) -/* 05EF60 7F02A430 AFB00018 */ sw $s0, 0x18($sp) -/* 05EF64 7F02A434 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05EF68 7F02A438 00808025 */ move $s0, $a0 -/* 05EF6C 7F02A43C 5040004D */ beql $v0, $zero, .L7F02A574 -/* 05EF70 7F02A440 00001025 */ move $v0, $zero -/* 05EF74 7F02A444 8E0E0018 */ lw $t6, 0x18($s0) -/* 05EF78 7F02A448 0FC225E6 */ jal get_curplayer_positiondata -/* 05EF7C 7F02A44C AFAE004C */ sw $t6, 0x4c($sp) -/* 05EF80 7F02A450 8E04001C */ lw $a0, 0x1c($s0) -/* 05EF84 7F02A454 0FC1B320 */ jal getsubroty -/* 05EF88 7F02A458 AFA20048 */ sw $v0, 0x48($sp) -/* 05EF8C 7F02A45C 8FA2004C */ lw $v0, 0x4c($sp) -/* 05EF90 7F02A460 8FA30048 */ lw $v1, 0x48($sp) -/* 05EF94 7F02A464 C4460008 */ lwc1 $f6, 8($v0) -/* 05EF98 7F02A468 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 05EF9C 7F02A46C C4640008 */ lwc1 $f4, 8($v1) -/* 05EFA0 7F02A470 C4680010 */ lwc1 $f8, 0x10($v1) -/* 05EFA4 7F02A474 E7A00040 */ swc1 $f0, 0x40($sp) -/* 05EFA8 7F02A478 46062301 */ sub.s $f12, $f4, $f6 -/* 05EFAC 7F02A47C 0FC16A8C */ jal convert_angle_using_inverse -/* 05EFB0 7F02A480 460A4381 */ sub.s $f14, $f8, $f10 -/* 05EFB4 7F02A484 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 05EFB8 7F02A488 3C018005 */ lui $at, %hi(D_80051E4C) -/* 05EFBC 7F02A48C 4610003C */ c.lt.s $f0, $f16 -/* 05EFC0 7F02A490 46100301 */ sub.s $f12, $f0, $f16 -/* 05EFC4 7F02A494 45000003 */ bc1f .L7F02A4A4 -/* 05EFC8 7F02A498 46006086 */ mov.s $f2, $f12 -/* 05EFCC 7F02A49C C4321E4C */ lwc1 $f18, %lo(D_80051E4C)($at) -/* 05EFD0 7F02A4A0 46126080 */ add.s $f2, $f12, $f18 -.L7F02A4A4: -/* 05EFD4 7F02A4A4 3C018005 */ lui $at, %hi(D_80051E50) -/* 05EFD8 7F02A4A8 C4241E50 */ lwc1 $f4, %lo(D_80051E50)($at) -/* 05EFDC 7F02A4AC 3C018005 */ lui $at, %hi(D_80051E54) -/* 05EFE0 7F02A4B0 4604103C */ c.lt.s $f2, $f4 -/* 05EFE4 7F02A4B4 00000000 */ nop -/* 05EFE8 7F02A4B8 45010012 */ bc1t .L7F02A504 -/* 05EFEC 7F02A4BC 00000000 */ nop -/* 05EFF0 7F02A4C0 C4261E54 */ lwc1 $f6, %lo(D_80051E54)($at) -/* 05EFF4 7F02A4C4 3C018005 */ lui $at, %hi(D_80051E58) -/* 05EFF8 7F02A4C8 4602303C */ c.lt.s $f6, $f2 -/* 05EFFC 7F02A4CC 00000000 */ nop -/* 05F000 7F02A4D0 4501000C */ bc1t .L7F02A504 -/* 05F004 7F02A4D4 00000000 */ nop -/* 05F008 7F02A4D8 C4281E58 */ lwc1 $f8, %lo(D_80051E58)($at) -/* 05F00C 7F02A4DC 3C018005 */ lui $at, %hi(D_80051E5C) -/* 05F010 7F02A4E0 4602403C */ c.lt.s $f8, $f2 -/* 05F014 7F02A4E4 00000000 */ nop -/* 05F018 7F02A4E8 45020022 */ bc1fl .L7F02A574 -/* 05F01C 7F02A4EC 00001025 */ move $v0, $zero -/* 05F020 7F02A4F0 C42A1E5C */ lwc1 $f10, %lo(D_80051E5C)($at) -/* 05F024 7F02A4F4 460A103C */ c.lt.s $f2, $f10 -/* 05F028 7F02A4F8 00000000 */ nop -/* 05F02C 7F02A4FC 4502001D */ bc1fl .L7F02A574 -/* 05F030 7F02A500 00001025 */ move $v0, $zero -.L7F02A504: -/* 05F034 7F02A504 0C002914 */ jal get_random_value -/* 05F038 7F02A508 00000000 */ nop -/* 05F03C 7F02A50C 30450001 */ andi $a1, $v0, 1 -/* 05F040 7F02A510 2CAF0001 */ sltiu $t7, $a1, 1 -/* 05F044 7F02A514 01E02825 */ move $a1, $t7 -/* 05F048 7F02A518 AFAF002C */ sw $t7, 0x2c($sp) -/* 05F04C 7F02A51C 02002025 */ move $a0, $s0 -/* 05F050 7F02A520 0FC0A87A */ jal sub_GAME_7F02A1E8 -/* 05F054 7F02A524 3C064348 */ lui $a2, 0x4348 -/* 05F058 7F02A528 10400006 */ beqz $v0, .L7F02A544 -/* 05F05C 7F02A52C 8FA7002C */ lw $a3, 0x2c($sp) -/* 05F060 7F02A530 02002025 */ move $a0, $s0 -/* 05F064 7F02A534 0FC092A1 */ jal sub_GAME_7F024A84 -/* 05F068 7F02A538 00E02825 */ move $a1, $a3 -/* 05F06C 7F02A53C 1000000D */ b .L7F02A574 -/* 05F070 7F02A540 24020001 */ li $v0, 1 -.L7F02A544: -/* 05F074 7F02A544 2CE50001 */ sltiu $a1, $a3, 1 -/* 05F078 7F02A548 AFA50024 */ sw $a1, 0x24($sp) -/* 05F07C 7F02A54C 02002025 */ move $a0, $s0 -/* 05F080 7F02A550 0FC0A87A */ jal sub_GAME_7F02A1E8 -/* 05F084 7F02A554 3C064348 */ lui $a2, 0x4348 -/* 05F088 7F02A558 10400005 */ beqz $v0, .L7F02A570 -/* 05F08C 7F02A55C 8FA50024 */ lw $a1, 0x24($sp) -/* 05F090 7F02A560 0FC092A1 */ jal sub_GAME_7F024A84 -/* 05F094 7F02A564 02002025 */ move $a0, $s0 -/* 05F098 7F02A568 10000002 */ b .L7F02A574 -/* 05F09C 7F02A56C 24020001 */ li $v0, 1 -.L7F02A570: -/* 05F0A0 7F02A570 00001025 */ move $v0, $zero -.L7F02A574: -/* 05F0A4 7F02A574 8FBF001C */ lw $ra, 0x1c($sp) -/* 05F0A8 7F02A578 8FB00018 */ lw $s0, 0x18($sp) -/* 05F0AC 7F02A57C 27BD0050 */ addiu $sp, $sp, 0x50 -/* 05F0B0 7F02A580 03E00008 */ jr $ra -/* 05F0B4 7F02A584 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_runs_sideways(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_runs_sideways -/* 05F0B8 7F02A588 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 05F0BC 7F02A58C AFBF0024 */ sw $ra, 0x24($sp) -/* 05F0C0 7F02A590 AFB10020 */ sw $s1, 0x20($sp) -/* 05F0C4 7F02A594 00808825 */ move $s1, $a0 -/* 05F0C8 7F02A598 AFB0001C */ sw $s0, 0x1c($sp) -/* 05F0CC 7F02A59C 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F0D0 7F02A5A0 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 05F0D4 7F02A5A4 10400050 */ beqz $v0, .L7F02A6E8 -/* 05F0D8 7F02A5A8 3C0E8005 */ lui $t6, %hi(global_timer) -/* 05F0DC 7F02A5AC 8DCE837C */ lw $t6, %lo(global_timer)($t6) -/* 05F0E0 7F02A5B0 8E2F00C8 */ lw $t7, 0xc8($s1) -/* 05F0E4 7F02A5B4 01CFC023 */ subu $t8, $t6, $t7 -/* 05F0E8 7F02A5B8 2B0100B5 */ slti $at, $t8, 0xb5 -/* 05F0EC 7F02A5BC 5420004B */ bnezl $at, .L7F02A6EC -/* 05F0F0 7F02A5C0 00001025 */ move $v0, $zero -/* 05F0F4 7F02A5C4 0C002914 */ jal get_random_value -/* 05F0F8 7F02A5C8 8E300018 */ lw $s0, 0x18($s1) -/* 05F0FC 7F02A5CC 44822000 */ mtc1 $v0, $f4 -/* 05F100 7F02A5D0 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 05F104 7F02A5D4 44810000 */ mtc1 $at, $f0 -/* 05F108 7F02A5D8 04410005 */ bgez $v0, .L7F02A5F0 -/* 05F10C 7F02A5DC 468021A0 */ cvt.s.w $f6, $f4 -/* 05F110 7F02A5E0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 05F114 7F02A5E4 44814000 */ mtc1 $at, $f8 -/* 05F118 7F02A5E8 00000000 */ nop -/* 05F11C 7F02A5EC 46083180 */ add.s $f6, $f6, $f8 -.L7F02A5F0: -/* 05F120 7F02A5F0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 05F124 7F02A5F4 44815000 */ mtc1 $at, $f10 -/* 05F128 7F02A5F8 00000000 */ nop -/* 05F12C 7F02A5FC 460A3402 */ mul.s $f16, $f6, $f10 -/* 05F130 7F02A600 00000000 */ nop -/* 05F134 7F02A604 46008482 */ mul.s $f18, $f16, $f0 -/* 05F138 7F02A608 0C002914 */ jal get_random_value -/* 05F13C 7F02A60C 46009500 */ add.s $f20, $f18, $f0 -/* 05F140 7F02A610 30450001 */ andi $a1, $v0, 1 -/* 05F144 7F02A614 2CB90001 */ sltiu $t9, $a1, 1 -/* 05F148 7F02A618 03202825 */ move $a1, $t9 -/* 05F14C 7F02A61C 02202025 */ move $a0, $s1 -/* 05F150 7F02A620 0FC0A811 */ jal sub_GAME_7F02A044 -/* 05F154 7F02A624 27A6003C */ addiu $a2, $sp, 0x3c -/* 05F158 7F02A628 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 05F15C 7F02A62C C6060008 */ lwc1 $f6, 8($s0) -/* 05F160 7F02A630 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 05F164 7F02A634 46142202 */ mul.s $f8, $f4, $f20 -/* 05F168 7F02A638 02002025 */ move $a0, $s0 -/* 05F16C 7F02A63C 27A50030 */ addiu $a1, $sp, 0x30 -/* 05F170 7F02A640 46149102 */ mul.s $f4, $f18, $f20 -/* 05F174 7F02A644 27A6003C */ addiu $a2, $sp, 0x3c -/* 05F178 7F02A648 46064280 */ add.s $f10, $f8, $f6 -/* 05F17C 7F02A64C E7AA0030 */ swc1 $f10, 0x30($sp) -/* 05F180 7F02A650 C610000C */ lwc1 $f16, 0xc($s0) -/* 05F184 7F02A654 E7B00034 */ swc1 $f16, 0x34($sp) -/* 05F188 7F02A658 C6080010 */ lwc1 $f8, 0x10($s0) -/* 05F18C 7F02A65C 46082180 */ add.s $f6, $f4, $f8 -/* 05F190 7F02A660 0FC0A60B */ jal sub_GAME_7F02982C -/* 05F194 7F02A664 E7A60038 */ swc1 $f6, 0x38($sp) -/* 05F198 7F02A668 10400006 */ beqz $v0, .L7F02A684 -/* 05F19C 7F02A66C C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 05F1A0 7F02A670 02202025 */ move $a0, $s1 -/* 05F1A4 7F02A674 0FC0933E */ jal sub_GAME_7F024CF8 -/* 05F1A8 7F02A678 27A50030 */ addiu $a1, $sp, 0x30 -/* 05F1AC 7F02A67C 1000001B */ b .L7F02A6EC -/* 05F1B0 7F02A680 24020001 */ li $v0, 1 -.L7F02A684: -/* 05F1B4 7F02A684 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 05F1B8 7F02A688 46005407 */ neg.s $f16, $f10 -/* 05F1BC 7F02A68C 02002025 */ move $a0, $s0 -/* 05F1C0 7F02A690 46148202 */ mul.s $f8, $f16, $f20 -/* 05F1C4 7F02A694 46009107 */ neg.s $f4, $f18 -/* 05F1C8 7F02A698 E7B0003C */ swc1 $f16, 0x3c($sp) -/* 05F1CC 7F02A69C E7A40044 */ swc1 $f4, 0x44($sp) -/* 05F1D0 7F02A6A0 C6060008 */ lwc1 $f6, 8($s0) -/* 05F1D4 7F02A6A4 46142402 */ mul.s $f16, $f4, $f20 -/* 05F1D8 7F02A6A8 27A50030 */ addiu $a1, $sp, 0x30 -/* 05F1DC 7F02A6AC 46064280 */ add.s $f10, $f8, $f6 -/* 05F1E0 7F02A6B0 27A6003C */ addiu $a2, $sp, 0x3c -/* 05F1E4 7F02A6B4 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 05F1E8 7F02A6B8 C612000C */ lwc1 $f18, 0xc($s0) -/* 05F1EC 7F02A6BC E7B20034 */ swc1 $f18, 0x34($sp) -/* 05F1F0 7F02A6C0 C6080010 */ lwc1 $f8, 0x10($s0) -/* 05F1F4 7F02A6C4 46088180 */ add.s $f6, $f16, $f8 -/* 05F1F8 7F02A6C8 0FC0A60B */ jal sub_GAME_7F02982C -/* 05F1FC 7F02A6CC E7A60038 */ swc1 $f6, 0x38($sp) -/* 05F200 7F02A6D0 10400005 */ beqz $v0, .L7F02A6E8 -/* 05F204 7F02A6D4 02202025 */ move $a0, $s1 -/* 05F208 7F02A6D8 0FC0933E */ jal sub_GAME_7F024CF8 -/* 05F20C 7F02A6DC 27A50030 */ addiu $a1, $sp, 0x30 -/* 05F210 7F02A6E0 10000002 */ b .L7F02A6EC -/* 05F214 7F02A6E4 24020001 */ li $v0, 1 -.L7F02A6E8: -/* 05F218 7F02A6E8 00001025 */ move $v0, $zero -.L7F02A6EC: -/* 05F21C 7F02A6EC 8FBF0024 */ lw $ra, 0x24($sp) -/* 05F220 7F02A6F0 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 05F224 7F02A6F4 8FB0001C */ lw $s0, 0x1c($sp) -/* 05F228 7F02A6F8 8FB10020 */ lw $s1, 0x20($sp) -/* 05F22C 7F02A6FC 03E00008 */ jr $ra -/* 05F230 7F02A700 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - -#ifdef NONMATCHING -void actor_walks_and_fires(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E60 -.word 0x49742400 /*1000000.0*/ -.text -glabel actor_walks_and_fires -/* 05F234 7F02A704 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05F238 7F02A708 AFBF001C */ sw $ra, 0x1c($sp) -/* 05F23C 7F02A70C AFB00018 */ sw $s0, 0x18($sp) -/* 05F240 7F02A710 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F244 7F02A714 00808025 */ move $s0, $a0 -/* 05F248 7F02A718 50400032 */ beql $v0, $zero, .L7F02A7E4 -/* 05F24C 7F02A71C 00001025 */ move $v0, $zero -/* 05F250 7F02A720 8E0E0018 */ lw $t6, 0x18($s0) -/* 05F254 7F02A724 0FC225E6 */ jal get_curplayer_positiondata -/* 05F258 7F02A728 AFAE0024 */ sw $t6, 0x24($sp) -/* 05F25C 7F02A72C 02002025 */ move $a0, $s0 -/* 05F260 7F02A730 00002825 */ move $a1, $zero -/* 05F264 7F02A734 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F268 7F02A738 AFA20020 */ sw $v0, 0x20($sp) -/* 05F26C 7F02A73C 14400007 */ bnez $v0, .L7F02A75C -/* 05F270 7F02A740 8FA30020 */ lw $v1, 0x20($sp) -/* 05F274 7F02A744 02002025 */ move $a0, $s0 -/* 05F278 7F02A748 24050001 */ li $a1, 1 -/* 05F27C 7F02A74C 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F280 7F02A750 AFA30020 */ sw $v1, 0x20($sp) -/* 05F284 7F02A754 10400022 */ beqz $v0, .L7F02A7E0 -/* 05F288 7F02A758 8FA30020 */ lw $v1, 0x20($sp) -.L7F02A75C: -/* 05F28C 7F02A75C 3C0F8005 */ lui $t7, %hi(global_timer) -/* 05F290 7F02A760 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 05F294 7F02A764 8E1800C8 */ lw $t8, 0xc8($s0) -/* 05F298 7F02A768 8FA20024 */ lw $v0, 0x24($sp) -/* 05F29C 7F02A76C 01F8C823 */ subu $t9, $t7, $t8 -/* 05F2A0 7F02A770 2B2100B5 */ slti $at, $t9, 0xb5 -/* 05F2A4 7F02A774 5420001B */ bnezl $at, .L7F02A7E4 -/* 05F2A8 7F02A778 00001025 */ move $v0, $zero -/* 05F2AC 7F02A77C C4640008 */ lwc1 $f4, 8($v1) -/* 05F2B0 7F02A780 C4460008 */ lwc1 $f6, 8($v0) -/* 05F2B4 7F02A784 C468000C */ lwc1 $f8, 0xc($v1) -/* 05F2B8 7F02A788 C44A000C */ lwc1 $f10, 0xc($v0) -/* 05F2BC 7F02A78C 46062001 */ sub.s $f0, $f4, $f6 -/* 05F2C0 7F02A790 C4700010 */ lwc1 $f16, 0x10($v1) -/* 05F2C4 7F02A794 C4520010 */ lwc1 $f18, 0x10($v0) -/* 05F2C8 7F02A798 460A4081 */ sub.s $f2, $f8, $f10 -/* 05F2CC 7F02A79C 46000102 */ mul.s $f4, $f0, $f0 -/* 05F2D0 7F02A7A0 3C018005 */ lui $at, %hi(D_80051E60) -/* 05F2D4 7F02A7A4 46128301 */ sub.s $f12, $f16, $f18 -/* 05F2D8 7F02A7A8 46021182 */ mul.s $f6, $f2, $f2 -/* 05F2DC 7F02A7AC C4321E60 */ lwc1 $f18, %lo(D_80051E60)($at) -/* 05F2E0 7F02A7B0 02002025 */ move $a0, $s0 -/* 05F2E4 7F02A7B4 460C6282 */ mul.s $f10, $f12, $f12 -/* 05F2E8 7F02A7B8 46062200 */ add.s $f8, $f4, $f6 -/* 05F2EC 7F02A7BC 460A4400 */ add.s $f16, $f8, $f10 -/* 05F2F0 7F02A7C0 4610903E */ c.le.s $f18, $f16 -/* 05F2F4 7F02A7C4 00000000 */ nop -/* 05F2F8 7F02A7C8 45020006 */ bc1fl .L7F02A7E4 -/* 05F2FC 7F02A7CC 00001025 */ move $v0, $zero -/* 05F300 7F02A7D0 0FC0961F */ jal sub_GAME_7F02587C -/* 05F304 7F02A7D4 00002825 */ move $a1, $zero -/* 05F308 7F02A7D8 10000002 */ b .L7F02A7E4 -/* 05F30C 7F02A7DC 24020001 */ li $v0, 1 -.L7F02A7E0: -/* 05F310 7F02A7E0 00001025 */ move $v0, $zero -.L7F02A7E4: -/* 05F314 7F02A7E4 8FBF001C */ lw $ra, 0x1c($sp) -/* 05F318 7F02A7E8 8FB00018 */ lw $s0, 0x18($sp) -/* 05F31C 7F02A7EC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05F320 7F02A7F0 03E00008 */ jr $ra -/* 05F324 7F02A7F4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_runs_and_fires(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E64 -.word 0x49742400 /*1000000.0*/ -.text -glabel actor_runs_and_fires -/* 05F328 7F02A7F8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 05F32C 7F02A7FC AFBF001C */ sw $ra, 0x1c($sp) -/* 05F330 7F02A800 AFB00018 */ sw $s0, 0x18($sp) -/* 05F334 7F02A804 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F338 7F02A808 00808025 */ move $s0, $a0 -/* 05F33C 7F02A80C 50400032 */ beql $v0, $zero, .L7F02A8D8 -/* 05F340 7F02A810 00001025 */ move $v0, $zero -/* 05F344 7F02A814 8E0E0018 */ lw $t6, 0x18($s0) -/* 05F348 7F02A818 0FC225E6 */ jal get_curplayer_positiondata -/* 05F34C 7F02A81C AFAE0024 */ sw $t6, 0x24($sp) -/* 05F350 7F02A820 02002025 */ move $a0, $s0 -/* 05F354 7F02A824 00002825 */ move $a1, $zero -/* 05F358 7F02A828 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F35C 7F02A82C AFA20020 */ sw $v0, 0x20($sp) -/* 05F360 7F02A830 14400007 */ bnez $v0, .L7F02A850 -/* 05F364 7F02A834 8FA30020 */ lw $v1, 0x20($sp) -/* 05F368 7F02A838 02002025 */ move $a0, $s0 -/* 05F36C 7F02A83C 24050001 */ li $a1, 1 -/* 05F370 7F02A840 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F374 7F02A844 AFA30020 */ sw $v1, 0x20($sp) -/* 05F378 7F02A848 10400022 */ beqz $v0, .L7F02A8D4 -/* 05F37C 7F02A84C 8FA30020 */ lw $v1, 0x20($sp) -.L7F02A850: -/* 05F380 7F02A850 3C0F8005 */ lui $t7, %hi(global_timer) -/* 05F384 7F02A854 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 05F388 7F02A858 8E1800C8 */ lw $t8, 0xc8($s0) -/* 05F38C 7F02A85C 8FA20024 */ lw $v0, 0x24($sp) -/* 05F390 7F02A860 01F8C823 */ subu $t9, $t7, $t8 -/* 05F394 7F02A864 2B2100B5 */ slti $at, $t9, 0xb5 -/* 05F398 7F02A868 5420001B */ bnezl $at, .L7F02A8D8 -/* 05F39C 7F02A86C 00001025 */ move $v0, $zero -/* 05F3A0 7F02A870 C4640008 */ lwc1 $f4, 8($v1) -/* 05F3A4 7F02A874 C4460008 */ lwc1 $f6, 8($v0) -/* 05F3A8 7F02A878 C468000C */ lwc1 $f8, 0xc($v1) -/* 05F3AC 7F02A87C C44A000C */ lwc1 $f10, 0xc($v0) -/* 05F3B0 7F02A880 46062001 */ sub.s $f0, $f4, $f6 -/* 05F3B4 7F02A884 C4700010 */ lwc1 $f16, 0x10($v1) -/* 05F3B8 7F02A888 C4520010 */ lwc1 $f18, 0x10($v0) -/* 05F3BC 7F02A88C 460A4081 */ sub.s $f2, $f8, $f10 -/* 05F3C0 7F02A890 46000102 */ mul.s $f4, $f0, $f0 -/* 05F3C4 7F02A894 3C018005 */ lui $at, %hi(D_80051E64) -/* 05F3C8 7F02A898 46128301 */ sub.s $f12, $f16, $f18 -/* 05F3CC 7F02A89C 46021182 */ mul.s $f6, $f2, $f2 -/* 05F3D0 7F02A8A0 C4321E64 */ lwc1 $f18, %lo(D_80051E64)($at) -/* 05F3D4 7F02A8A4 02002025 */ move $a0, $s0 -/* 05F3D8 7F02A8A8 460C6282 */ mul.s $f10, $f12, $f12 -/* 05F3DC 7F02A8AC 46062200 */ add.s $f8, $f4, $f6 -/* 05F3E0 7F02A8B0 460A4400 */ add.s $f16, $f8, $f10 -/* 05F3E4 7F02A8B4 4610903E */ c.le.s $f18, $f16 -/* 05F3E8 7F02A8B8 00000000 */ nop -/* 05F3EC 7F02A8BC 45020006 */ bc1fl .L7F02A8D8 -/* 05F3F0 7F02A8C0 00001025 */ move $v0, $zero -/* 05F3F4 7F02A8C4 0FC0961F */ jal sub_GAME_7F02587C -/* 05F3F8 7F02A8C8 24050001 */ li $a1, 1 -/* 05F3FC 7F02A8CC 10000002 */ b .L7F02A8D8 -/* 05F400 7F02A8D0 24020001 */ li $v0, 1 -.L7F02A8D4: -/* 05F404 7F02A8D4 00001025 */ move $v0, $zero -.L7F02A8D8: -/* 05F408 7F02A8D8 8FBF001C */ lw $ra, 0x1c($sp) -/* 05F40C 7F02A8DC 8FB00018 */ lw $s0, 0x18($sp) -/* 05F410 7F02A8E0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 05F414 7F02A8E4 03E00008 */ jr $ra -/* 05F418 7F02A8E8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_rolls_fires_crouched(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E68 -.word 0x471c4000 /*40000.0*/ -.text -glabel actor_rolls_fires_crouched -/* 05F41C 7F02A8EC 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 05F420 7F02A8F0 AFBF001C */ sw $ra, 0x1c($sp) -/* 05F424 7F02A8F4 AFB00018 */ sw $s0, 0x18($sp) -/* 05F428 7F02A8F8 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F42C 7F02A8FC 00808025 */ move $s0, $a0 -/* 05F430 7F02A900 50400041 */ beql $v0, $zero, .L7F02AA08 -/* 05F434 7F02A904 00001025 */ move $v0, $zero -/* 05F438 7F02A908 8E0E0018 */ lw $t6, 0x18($s0) -/* 05F43C 7F02A90C 0FC225E6 */ jal get_curplayer_positiondata -/* 05F440 7F02A910 AFAE0044 */ sw $t6, 0x44($sp) -/* 05F444 7F02A914 02002025 */ move $a0, $s0 -/* 05F448 7F02A918 00002825 */ move $a1, $zero -/* 05F44C 7F02A91C 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F450 7F02A920 AFA20040 */ sw $v0, 0x40($sp) -/* 05F454 7F02A924 14400007 */ bnez $v0, .L7F02A944 -/* 05F458 7F02A928 8FA30040 */ lw $v1, 0x40($sp) -/* 05F45C 7F02A92C 02002025 */ move $a0, $s0 -/* 05F460 7F02A930 24050001 */ li $a1, 1 -/* 05F464 7F02A934 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F468 7F02A938 AFA30040 */ sw $v1, 0x40($sp) -/* 05F46C 7F02A93C 10400031 */ beqz $v0, .L7F02AA04 -/* 05F470 7F02A940 8FA30040 */ lw $v1, 0x40($sp) -.L7F02A944: -/* 05F474 7F02A944 8FA20044 */ lw $v0, 0x44($sp) -/* 05F478 7F02A948 C4640008 */ lwc1 $f4, 8($v1) -/* 05F47C 7F02A94C C468000C */ lwc1 $f8, 0xc($v1) -/* 05F480 7F02A950 C4460008 */ lwc1 $f6, 8($v0) -/* 05F484 7F02A954 C44A000C */ lwc1 $f10, 0xc($v0) -/* 05F488 7F02A958 C4700010 */ lwc1 $f16, 0x10($v1) -/* 05F48C 7F02A95C 46062001 */ sub.s $f0, $f4, $f6 -/* 05F490 7F02A960 C4520010 */ lwc1 $f18, 0x10($v0) -/* 05F494 7F02A964 3C018005 */ lui $at, %hi(D_80051E68) -/* 05F498 7F02A968 460A4081 */ sub.s $f2, $f8, $f10 -/* 05F49C 7F02A96C 46000102 */ mul.s $f4, $f0, $f0 -/* 05F4A0 7F02A970 46128301 */ sub.s $f12, $f16, $f18 -/* 05F4A4 7F02A974 46021182 */ mul.s $f6, $f2, $f2 -/* 05F4A8 7F02A978 C4321E68 */ lwc1 $f18, %lo(D_80051E68)($at) -/* 05F4AC 7F02A97C 460C6282 */ mul.s $f10, $f12, $f12 -/* 05F4B0 7F02A980 46062200 */ add.s $f8, $f4, $f6 -/* 05F4B4 7F02A984 460A4400 */ add.s $f16, $f8, $f10 -/* 05F4B8 7F02A988 4610903E */ c.le.s $f18, $f16 -/* 05F4BC 7F02A98C 00000000 */ nop -/* 05F4C0 7F02A990 4502001D */ bc1fl .L7F02AA08 -/* 05F4C4 7F02A994 00001025 */ move $v0, $zero -/* 05F4C8 7F02A998 0C002914 */ jal get_random_value -/* 05F4CC 7F02A99C 00000000 */ nop -/* 05F4D0 7F02A9A0 30450001 */ andi $a1, $v0, 1 -/* 05F4D4 7F02A9A4 2CAF0001 */ sltiu $t7, $a1, 1 -/* 05F4D8 7F02A9A8 01E02825 */ move $a1, $t7 -/* 05F4DC 7F02A9AC AFAF002C */ sw $t7, 0x2c($sp) -/* 05F4E0 7F02A9B0 02002025 */ move $a0, $s0 -/* 05F4E4 7F02A9B4 0FC0A83B */ jal sub_GAME_7F02A0EC -/* 05F4E8 7F02A9B8 3C064348 */ lui $a2, 0x4348 -/* 05F4EC 7F02A9BC 10400006 */ beqz $v0, .L7F02A9D8 -/* 05F4F0 7F02A9C0 8FA7002C */ lw $a3, 0x2c($sp) -/* 05F4F4 7F02A9C4 02002025 */ move $a0, $s0 -/* 05F4F8 7F02A9C8 0FC09710 */ jal sub_GAME_7F025C40 -/* 05F4FC 7F02A9CC 00E02825 */ move $a1, $a3 -/* 05F500 7F02A9D0 1000000D */ b .L7F02AA08 -/* 05F504 7F02A9D4 24020001 */ li $v0, 1 -.L7F02A9D8: -/* 05F508 7F02A9D8 2CE50001 */ sltiu $a1, $a3, 1 -/* 05F50C 7F02A9DC AFA50024 */ sw $a1, 0x24($sp) -/* 05F510 7F02A9E0 02002025 */ move $a0, $s0 -/* 05F514 7F02A9E4 0FC0A83B */ jal sub_GAME_7F02A0EC -/* 05F518 7F02A9E8 3C064348 */ lui $a2, 0x4348 -/* 05F51C 7F02A9EC 10400005 */ beqz $v0, .L7F02AA04 -/* 05F520 7F02A9F0 8FA50024 */ lw $a1, 0x24($sp) -/* 05F524 7F02A9F4 0FC09710 */ jal sub_GAME_7F025C40 -/* 05F528 7F02A9F8 02002025 */ move $a0, $s0 -/* 05F52C 7F02A9FC 10000002 */ b .L7F02AA08 -/* 05F530 7F02AA00 24020001 */ li $v0, 1 -.L7F02AA04: -/* 05F534 7F02AA04 00001025 */ move $v0, $zero -.L7F02AA08: -/* 05F538 7F02AA08 8FBF001C */ lw $ra, 0x1c($sp) -/* 05F53C 7F02AA0C 8FB00018 */ lw $s0, 0x18($sp) -/* 05F540 7F02AA10 27BD0048 */ addiu $sp, $sp, 0x48 -/* 05F544 7F02AA14 03E00008 */ jr $ra -/* 05F548 7F02AA18 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_aim_at_actor(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_aim_at_actor -/* 05F54C 7F02AA1C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05F550 7F02AA20 AFBF0014 */ sw $ra, 0x14($sp) -/* 05F554 7F02AA24 AFA40018 */ sw $a0, 0x18($sp) -/* 05F558 7F02AA28 AFA5001C */ sw $a1, 0x1c($sp) -/* 05F55C 7F02AA2C 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F560 7F02AA30 AFA60020 */ sw $a2, 0x20($sp) -/* 05F564 7F02AA34 1040000F */ beqz $v0, .L7F02AA74 -/* 05F568 7F02AA38 8FA40018 */ lw $a0, 0x18($sp) -/* 05F56C 7F02AA3C 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F570 7F02AA40 00002825 */ move $a1, $zero -/* 05F574 7F02AA44 14400005 */ bnez $v0, .L7F02AA5C -/* 05F578 7F02AA48 8FA40018 */ lw $a0, 0x18($sp) -/* 05F57C 7F02AA4C 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F580 7F02AA50 24050001 */ li $a1, 1 -/* 05F584 7F02AA54 50400008 */ beql $v0, $zero, .L7F02AA78 -/* 05F588 7F02AA58 00001025 */ move $v0, $zero -.L7F02AA5C: -/* 05F58C 7F02AA5C 8FA40018 */ lw $a0, 0x18($sp) -/* 05F590 7F02AA60 8FA5001C */ lw $a1, 0x1c($sp) -/* 05F594 7F02AA64 0FC09558 */ jal sub_GAME_7F025560 -/* 05F598 7F02AA68 8FA60020 */ lw $a2, 0x20($sp) -/* 05F59C 7F02AA6C 10000002 */ b .L7F02AA78 -/* 05F5A0 7F02AA70 24020001 */ li $v0, 1 -.L7F02AA74: -/* 05F5A4 7F02AA74 00001025 */ move $v0, $zero -.L7F02AA78: -/* 05F5A8 7F02AA78 8FBF0014 */ lw $ra, 0x14($sp) -/* 05F5AC 7F02AA7C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05F5B0 7F02AA80 03E00008 */ jr $ra -/* 05F5B4 7F02AA84 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_kneel_aim_at_actor(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_kneel_aim_at_actor -/* 05F5B8 7F02AA88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05F5BC 7F02AA8C AFBF0014 */ sw $ra, 0x14($sp) -/* 05F5C0 7F02AA90 AFA40018 */ sw $a0, 0x18($sp) -/* 05F5C4 7F02AA94 AFA5001C */ sw $a1, 0x1c($sp) -/* 05F5C8 7F02AA98 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F5CC 7F02AA9C AFA60020 */ sw $a2, 0x20($sp) -/* 05F5D0 7F02AAA0 1040000F */ beqz $v0, .L7F02AAE0 -/* 05F5D4 7F02AAA4 8FA40018 */ lw $a0, 0x18($sp) -/* 05F5D8 7F02AAA8 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F5DC 7F02AAAC 00002825 */ move $a1, $zero -/* 05F5E0 7F02AAB0 14400005 */ bnez $v0, .L7F02AAC8 -/* 05F5E4 7F02AAB4 8FA40018 */ lw $a0, 0x18($sp) -/* 05F5E8 7F02AAB8 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 05F5EC 7F02AABC 24050001 */ li $a1, 1 -/* 05F5F0 7F02AAC0 50400008 */ beql $v0, $zero, .L7F02AAE4 -/* 05F5F4 7F02AAC4 00001025 */ move $v0, $zero -.L7F02AAC8: -/* 05F5F8 7F02AAC8 8FA40018 */ lw $a0, 0x18($sp) -/* 05F5FC 7F02AACC 8FA5001C */ lw $a1, 0x1c($sp) -/* 05F600 7F02AAD0 0FC095BC */ jal sub_GAME_7F0256F0 -/* 05F604 7F02AAD4 8FA60020 */ lw $a2, 0x20($sp) -/* 05F608 7F02AAD8 10000002 */ b .L7F02AAE4 -/* 05F60C 7F02AADC 24020001 */ li $v0, 1 -.L7F02AAE0: -/* 05F610 7F02AAE0 00001025 */ move $v0, $zero -.L7F02AAE4: -/* 05F614 7F02AAE4 8FBF0014 */ lw $ra, 0x14($sp) -/* 05F618 7F02AAE8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05F61C 7F02AAEC 03E00008 */ jr $ra -/* 05F620 7F02AAF0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02AAF4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02AAF4 -/* 05F624 7F02AAF4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05F628 7F02AAF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 05F62C 7F02AAFC 808E0007 */ lb $t6, 7($a0) -/* 05F630 7F02AB00 24010008 */ li $at, 8 -/* 05F634 7F02AB04 00001025 */ move $v0, $zero -/* 05F638 7F02AB08 15C1000A */ bne $t6, $at, .L7F02AB34 -/* 05F63C 7F02AB0C 00000000 */ nop -/* 05F640 7F02AB10 8C8F004C */ lw $t7, 0x4c($a0) -/* 05F644 7F02AB14 31F80060 */ andi $t8, $t7, 0x60 -/* 05F648 7F02AB18 13000006 */ beqz $t8, .L7F02AB34 -/* 05F64C 7F02AB1C 00000000 */ nop -/* 05F650 7F02AB20 AC85004C */ sw $a1, 0x4c($a0) -/* 05F654 7F02AB24 0FC093E3 */ jal sub_GAME_7F024F8C -/* 05F658 7F02AB28 AC860050 */ sw $a2, 0x50($a0) -/* 05F65C 7F02AB2C 10000001 */ b .L7F02AB34 -/* 05F660 7F02AB30 24020001 */ li $v0, 1 -.L7F02AB34: -/* 05F664 7F02AB34 8FBF0014 */ lw $ra, 0x14($sp) -/* 05F668 7F02AB38 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05F66C 7F02AB3C 03E00008 */ jr $ra -/* 05F670 7F02AB40 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_set_actor_standing_still(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_set_actor_standing_still -/* 05F674 7F02AB44 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05F678 7F02AB48 AFBF0014 */ sw $ra, 0x14($sp) -/* 05F67C 7F02AB4C AFA5001C */ sw $a1, 0x1c($sp) -/* 05F680 7F02AB50 AFA60020 */ sw $a2, 0x20($sp) -/* 05F684 7F02AB54 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F688 7F02AB58 AFA40018 */ sw $a0, 0x18($sp) -/* 05F68C 7F02AB5C 10400010 */ beqz $v0, .L7F02ABA0 -/* 05F690 7F02AB60 8FA40018 */ lw $a0, 0x18($sp) -/* 05F694 7F02AB64 808E0007 */ lb $t6, 7($a0) -/* 05F698 7F02AB68 24010001 */ li $at, 1 -/* 05F69C 7F02AB6C 51C10005 */ beql $t6, $at, .L7F02AB84 -/* 05F6A0 7F02AB70 8FAF001C */ lw $t7, 0x1c($sp) -/* 05F6A4 7F02AB74 0FC08F2E */ jal sub_GAME_7F023CB8 -/* 05F6A8 7F02AB78 AFA40018 */ sw $a0, 0x18($sp) -/* 05F6AC 7F02AB7C 8FA40018 */ lw $a0, 0x18($sp) -/* 05F6B0 7F02AB80 8FAF001C */ lw $t7, 0x1c($sp) -.L7F02AB84: -/* 05F6B4 7F02AB84 24020001 */ li $v0, 1 -/* 05F6B8 7F02AB88 AC8F0030 */ sw $t7, 0x30($a0) -/* 05F6BC 7F02AB8C 8FB80020 */ lw $t8, 0x20($sp) -/* 05F6C0 7F02AB90 AC800038 */ sw $zero, 0x38($a0) -/* 05F6C4 7F02AB94 AC800040 */ sw $zero, 0x40($a0) -/* 05F6C8 7F02AB98 10000002 */ b .L7F02ABA4 -/* 05F6CC 7F02AB9C AC980034 */ sw $t8, 0x34($a0) -.L7F02ABA0: -/* 05F6D0 7F02ABA0 00001025 */ move $v0, $zero -.L7F02ABA4: -/* 05F6D4 7F02ABA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 05F6D8 7F02ABA8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05F6DC 7F02ABAC 03E00008 */ jr $ra -/* 05F6E0 7F02ABB0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_moves_to_preset_at_speed(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E6C -.word 0x3f8ccccd /*1.1*/ -.text -glabel actor_moves_to_preset_at_speed -/* 05F6E4 7F02ABB4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 05F6E8 7F02ABB8 AFB10020 */ sw $s1, 0x20($sp) -/* 05F6EC 7F02ABBC AFB0001C */ sw $s0, 0x1c($sp) -/* 05F6F0 7F02ABC0 00A08025 */ move $s0, $a1 -/* 05F6F4 7F02ABC4 00808825 */ move $s1, $a0 -/* 05F6F8 7F02ABC8 AFBF0024 */ sw $ra, 0x24($sp) -/* 05F6FC 7F02ABCC 04A0005B */ bltz $a1, .L7F02AD3C -/* 05F700 7F02ABD0 AFA60048 */ sw $a2, 0x48($sp) -/* 05F704 7F02ABD4 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F708 7F02ABD8 00000000 */ nop -/* 05F70C 7F02ABDC 10400057 */ beqz $v0, .L7F02AD3C -/* 05F710 7F02ABE0 3C0E8003 */ lui $t6, %hi(setting_007_5) -/* 05F714 7F02ABE4 8DCECE50 */ lw $t6, %lo(setting_007_5)($t6) -/* 05F718 7F02ABE8 02202025 */ move $a0, $s1 -/* 05F71C 7F02ABEC 29C1000A */ slti $at, $t6, 0xa -/* 05F720 7F02ABF0 50200053 */ beql $at, $zero, .L7F02AD40 -/* 05F724 7F02ABF4 00001025 */ move $v0, $zero -/* 05F728 7F02ABF8 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 05F72C 7F02ABFC 02002825 */ move $a1, $s0 -/* 05F730 7F02AC00 28412710 */ slti $at, $v0, 0x2710 -/* 05F734 7F02AC04 1020000A */ beqz $at, .L7F02AC30 -/* 05F738 7F02AC08 0002C900 */ sll $t9, $v0, 4 -/* 05F73C 7F02AC0C 00027880 */ sll $t7, $v0, 2 -/* 05F740 7F02AC10 01E27823 */ subu $t7, $t7, $v0 -/* 05F744 7F02AC14 000F7880 */ sll $t7, $t7, 2 -/* 05F748 7F02AC18 3C188007 */ lui $t8, %hi(ptr_0xxxpresets) -/* 05F74C 7F02AC1C 8F185D18 */ lw $t8, %lo(ptr_0xxxpresets)($t8) -/* 05F750 7F02AC20 01E27823 */ subu $t7, $t7, $v0 -/* 05F754 7F02AC24 000F7880 */ sll $t7, $t7, 2 -/* 05F758 7F02AC28 10000009 */ b .L7F02AC50 -/* 05F75C 7F02AC2C 01F88021 */ addu $s0, $t7, $t8 -.L7F02AC30: -/* 05F760 7F02AC30 3C088007 */ lui $t0, %hi(ptr_2xxxpresets) -/* 05F764 7F02AC34 8D085D1C */ lw $t0, %lo(ptr_2xxxpresets)($t0) -/* 05F768 7F02AC38 0322C821 */ addu $t9, $t9, $v0 -/* 05F76C 7F02AC3C 0019C880 */ sll $t9, $t9, 2 -/* 05F770 7F02AC40 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 05F774 7F02AC44 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 05F778 7F02AC48 03288021 */ addu $s0, $t9, $t0 -/* 05F77C 7F02AC4C 02018021 */ addu $s0, $s0, $at -.L7F02AC50: -/* 05F780 7F02AC50 8E090028 */ lw $t1, 0x28($s0) -/* 05F784 7F02AC54 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05F788 7F02AC58 11200038 */ beqz $t1, .L7F02AD3C -/* 05F78C 7F02AC5C AFA90028 */ sw $t1, 0x28($sp) -/* 05F790 7F02AC60 C6040010 */ lwc1 $f4, 0x10($s0) -/* 05F794 7F02AC64 44813000 */ mtc1 $at, $f6 -/* 05F798 7F02AC68 3C018005 */ lui $at, %hi(D_80051E6C) -/* 05F79C 7F02AC6C 02202025 */ move $a0, $s1 -/* 05F7A0 7F02AC70 4606203C */ c.lt.s $f4, $f6 -/* 05F7A4 7F02AC74 02002825 */ move $a1, $s0 -/* 05F7A8 7F02AC78 8FA60028 */ lw $a2, 0x28($sp) -/* 05F7AC 7F02AC7C 45000029 */ bc1f .L7F02AD24 -/* 05F7B0 7F02AC80 00000000 */ nop -/* 05F7B4 7F02AC84 AFA90038 */ sw $t1, 0x38($sp) -/* 05F7B8 7F02AC88 C4201E6C */ lwc1 $f0, %lo(D_80051E6C)($at) -/* 05F7BC 7F02AC8C C62A0024 */ lwc1 $f10, 0x24($s1) -/* 05F7C0 7F02AC90 C608000C */ lwc1 $f8, 0xc($s0) -/* 05F7C4 7F02AC94 C6040000 */ lwc1 $f4, ($s0) -/* 05F7C8 7F02AC98 46005402 */ mul.s $f16, $f10, $f0 -/* 05F7CC 7F02AC9C 27A40038 */ addiu $a0, $sp, 0x38 -/* 05F7D0 7F02ACA0 46104482 */ mul.s $f18, $f8, $f16 -/* 05F7D4 7F02ACA4 46049180 */ add.s $f6, $f18, $f4 -/* 05F7D8 7F02ACA8 E7A6002C */ swc1 $f6, 0x2c($sp) -/* 05F7DC 7F02ACAC C6280024 */ lwc1 $f8, 0x24($s1) -/* 05F7E0 7F02ACB0 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 05F7E4 7F02ACB4 C6040004 */ lwc1 $f4, 4($s0) -/* 05F7E8 7F02ACB8 46004402 */ mul.s $f16, $f8, $f0 -/* 05F7EC 7F02ACBC 44073000 */ mfc1 $a3, $f6 -/* 05F7F0 7F02ACC0 46105482 */ mul.s $f18, $f10, $f16 -/* 05F7F4 7F02ACC4 46049200 */ add.s $f8, $f18, $f4 -/* 05F7F8 7F02ACC8 E7A80030 */ swc1 $f8, 0x30($sp) -/* 05F7FC 7F02ACCC C6300024 */ lwc1 $f16, 0x24($s1) -/* 05F800 7F02ACD0 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 05F804 7F02ACD4 C6080008 */ lwc1 $f8, 8($s0) -/* 05F808 7F02ACD8 46008482 */ mul.s $f18, $f16, $f0 -/* 05F80C 7F02ACDC 00000000 */ nop -/* 05F810 7F02ACE0 46125102 */ mul.s $f4, $f10, $f18 -/* 05F814 7F02ACE4 46082400 */ add.s $f16, $f4, $f8 -/* 05F818 7F02ACE8 E7B00034 */ swc1 $f16, 0x34($sp) -/* 05F81C 7F02ACEC 8E060008 */ lw $a2, 8($s0) -/* 05F820 7F02ACF0 8E050000 */ lw $a1, ($s0) -/* 05F824 7F02ACF4 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 05F828 7F02ACF8 E7B00010 */ swc1 $f16, 0x10($sp) -/* 05F82C 7F02ACFC 1040000F */ beqz $v0, .L7F02AD3C -/* 05F830 7F02AD00 02202025 */ move $a0, $s1 -/* 05F834 7F02AD04 27A5002C */ addiu $a1, $sp, 0x2c -/* 05F838 7F02AD08 8FA60038 */ lw $a2, 0x38($sp) -/* 05F83C 7F02AD0C 0FC0A377 */ jal plot_course_for_actor -/* 05F840 7F02AD10 8FA70048 */ lw $a3, 0x48($sp) -/* 05F844 7F02AD14 5040000A */ beql $v0, $zero, .L7F02AD40 -/* 05F848 7F02AD18 00001025 */ move $v0, $zero -/* 05F84C 7F02AD1C 10000008 */ b .L7F02AD40 -/* 05F850 7F02AD20 24020001 */ li $v0, 1 -.L7F02AD24: -/* 05F854 7F02AD24 0FC0A377 */ jal plot_course_for_actor -/* 05F858 7F02AD28 8FA70048 */ lw $a3, 0x48($sp) -/* 05F85C 7F02AD2C 50400004 */ beql $v0, $zero, .L7F02AD40 -/* 05F860 7F02AD30 00001025 */ move $v0, $zero -/* 05F864 7F02AD34 10000002 */ b .L7F02AD40 -/* 05F868 7F02AD38 24020001 */ li $v0, 1 -.L7F02AD3C: -/* 05F86C 7F02AD3C 00001025 */ move $v0, $zero -.L7F02AD40: -/* 05F870 7F02AD40 8FBF0024 */ lw $ra, 0x24($sp) -/* 05F874 7F02AD44 8FB0001C */ lw $s0, 0x1c($sp) -/* 05F878 7F02AD48 8FB10020 */ lw $s1, 0x20($sp) -/* 05F87C 7F02AD4C 03E00008 */ jr $ra -/* 05F880 7F02AD50 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - -#ifdef NONMATCHING -void if_actor_able_set_on_path(void) { - -} -#else -GLOBAL_ASM( -.text -glabel if_actor_able_set_on_path -/* 05F884 7F02AD54 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05F888 7F02AD58 AFBF0014 */ sw $ra, 0x14($sp) -/* 05F88C 7F02AD5C 10A00009 */ beqz $a1, .L7F02AD84 -/* 05F890 7F02AD60 AFA40018 */ sw $a0, 0x18($sp) -/* 05F894 7F02AD64 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 05F898 7F02AD68 AFA5001C */ sw $a1, 0x1c($sp) -/* 05F89C 7F02AD6C 10400005 */ beqz $v0, .L7F02AD84 -/* 05F8A0 7F02AD70 8FA5001C */ lw $a1, 0x1c($sp) -/* 05F8A4 7F02AD74 0FC0A43E */ jal set_actor_on_path -/* 05F8A8 7F02AD78 8FA40018 */ lw $a0, 0x18($sp) -/* 05F8AC 7F02AD7C 10000002 */ b .L7F02AD88 -/* 05F8B0 7F02AD80 24020001 */ li $v0, 1 -.L7F02AD84: -/* 05F8B4 7F02AD84 00001025 */ move $v0, $zero -.L7F02AD88: -/* 05F8B8 7F02AD88 8FBF0014 */ lw $ra, 0x14($sp) -/* 05F8BC 7F02AD8C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05F8C0 7F02AD90 03E00008 */ jr $ra -/* 05F8C4 7F02AD94 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02AD98(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E70 -.word 0x3eb2b8c3 /*0.34906587*/ -glabel D_80051E74 -.word 0x40bde44f /*5.9341197*/ -glabel D_80051E78 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E7C -.word 0x3f490fdb /*0.78539819*/ -glabel D_80051E80 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E84 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E88 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051E8C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F02AD98 -/* 05F8C8 7F02AD98 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 05F8CC 7F02AD9C AFBF0024 */ sw $ra, 0x24($sp) -/* 05F8D0 7F02ADA0 AFB00020 */ sw $s0, 0x20($sp) -/* 05F8D4 7F02ADA4 808E0008 */ lb $t6, 8($a0) -/* 05F8D8 7F02ADA8 00808025 */ move $s0, $a0 -/* 05F8DC 7F02ADAC 5DC001C8 */ bgtzl $t6, .L7F02B4D0 -/* 05F8E0 7F02ADB0 8FBF0024 */ lw $ra, 0x24($sp) -/* 05F8E4 7F02ADB4 8C8F002C */ lw $t7, 0x2c($a0) -/* 05F8E8 7F02ADB8 51E00012 */ beql $t7, $zero, .L7F02AE04 -/* 05F8EC 7F02ADBC 8E050030 */ lw $a1, 0x30($s0) -/* 05F8F0 7F02ADC0 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 05F8F4 7F02ADC4 8C84001C */ lw $a0, 0x1c($a0) -/* 05F8F8 7F02ADC8 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 05F8FC 7F02ADCC 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 05F900 7F02ADD0 8E04001C */ lw $a0, 0x1c($s0) -/* 05F904 7F02ADD4 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 05F908 7F02ADD8 02002025 */ move $a0, $s0 -/* 05F90C 7F02ADDC 4604003E */ c.le.s $f0, $f4 -/* 05F910 7F02ADE0 00000000 */ nop -/* 05F914 7F02ADE4 45000004 */ bc1f .L7F02ADF8 -/* 05F918 7F02ADE8 00000000 */ nop -/* 05F91C 7F02ADEC 0FC08E52 */ jal sub_GAME_7F023948 -/* 05F920 7F02ADF0 3C054100 */ lui $a1, 0x4100 -/* 05F924 7F02ADF4 AE00002C */ sw $zero, 0x2c($s0) -.L7F02ADF8: -/* 05F928 7F02ADF8 100001B4 */ b .L7F02B4CC -/* 05F92C 7F02ADFC A2000008 */ sb $zero, 8($s0) -/* 05F930 7F02AE00 8E050030 */ lw $a1, 0x30($s0) -.L7F02AE04: -/* 05F934 7F02AE04 18A00095 */ blez $a1, .L7F02B05C -/* 05F938 7F02AE08 00000000 */ nop -/* 05F93C 7F02AE0C 8E180038 */ lw $t8, 0x38($s0) -/* 05F940 7F02AE10 02002025 */ move $a0, $s0 -/* 05F944 7F02AE14 1300001C */ beqz $t8, .L7F02AE88 -/* 05F948 7F02AE18 00000000 */ nop -/* 05F94C 7F02AE1C 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 05F950 7F02AE20 8E04001C */ lw $a0, 0x1c($s0) -/* 05F954 7F02AE24 94590004 */ lhu $t9, 4($v0) -/* 05F958 7F02AE28 44804000 */ mtc1 $zero, $f8 -/* 05F95C 7F02AE2C 8E05003C */ lw $a1, 0x3c($s0) -/* 05F960 7F02AE30 272CFFFF */ addiu $t4, $t9, -1 -/* 05F964 7F02AE34 448C3000 */ mtc1 $t4, $f6 -/* 05F968 7F02AE38 02002025 */ move $a0, $s0 -/* 05F96C 7F02AE3C 3C073F80 */ lui $a3, 0x3f80 -/* 05F970 7F02AE40 46803020 */ cvt.s.w $f0, $f6 -/* 05F974 7F02AE44 E7A80010 */ swc1 $f8, 0x10($sp) -/* 05F978 7F02AE48 44060000 */ mfc1 $a2, $f0 -/* 05F97C 7F02AE4C 0FC0B0AC */ jal sub_GAME_7F02C2B0 -/* 05F980 7F02AE50 00000000 */ nop -/* 05F984 7F02AE54 24030001 */ li $v1, 1 -/* 05F988 7F02AE58 1043007E */ beq $v0, $v1, .L7F02B054 -/* 05F98C 7F02AE5C AE02003C */ sw $v0, 0x3c($s0) -/* 05F990 7F02AE60 02002025 */ move $a0, $s0 -/* 05F994 7F02AE64 0FC08E52 */ jal sub_GAME_7F023948 -/* 05F998 7F02AE68 3C054100 */ lui $a1, 0x4100 -/* 05F99C 7F02AE6C 8E0D0030 */ lw $t5, 0x30($s0) -/* 05F9A0 7F02AE70 AE000038 */ sw $zero, 0x38($s0) -/* 05F9A4 7F02AE74 31AE0010 */ andi $t6, $t5, 0x10 -/* 05F9A8 7F02AE78 11C00076 */ beqz $t6, .L7F02B054 -/* 05F9AC 7F02AE7C 00000000 */ nop -/* 05F9B0 7F02AE80 10000074 */ b .L7F02B054 -/* 05F9B4 7F02AE84 AE000030 */ sw $zero, 0x30($s0) -.L7F02AE88: -/* 05F9B8 7F02AE88 0FC0942F */ jal sub_GAME_7F0250BC -/* 05F9BC 7F02AE8C 8E060034 */ lw $a2, 0x34($s0) -/* 05F9C0 7F02AE90 3C018005 */ lui $at, %hi(D_80051E70) -/* 05F9C4 7F02AE94 C42A1E70 */ lwc1 $f10, %lo(D_80051E70)($at) -/* 05F9C8 7F02AE98 3C018005 */ lui $at, %hi(D_80051E74) -/* 05F9CC 7F02AE9C 4600503C */ c.lt.s $f10, $f0 -/* 05F9D0 7F02AEA0 00000000 */ nop -/* 05F9D4 7F02AEA4 45020067 */ bc1fl .L7F02B044 -/* 05F9D8 7F02AEA8 8E180030 */ lw $t8, 0x30($s0) -/* 05F9DC 7F02AEAC C4301E74 */ lwc1 $f16, %lo(D_80051E74)($at) -/* 05F9E0 7F02AEB0 02002025 */ move $a0, $s0 -/* 05F9E4 7F02AEB4 4610003C */ c.lt.s $f0, $f16 -/* 05F9E8 7F02AEB8 00000000 */ nop -/* 05F9EC 7F02AEBC 45020061 */ bc1fl .L7F02B044 -/* 05F9F0 7F02AEC0 8E180030 */ lw $t8, 0x30($s0) -/* 05F9F4 7F02AEC4 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05F9F8 7F02AEC8 24050001 */ li $a1, 1 -/* 05F9FC 7F02AECC AFA200A0 */ sw $v0, 0xa0($sp) -/* 05FA00 7F02AED0 02002025 */ move $a0, $s0 -/* 05FA04 7F02AED4 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 05FA08 7F02AED8 00002825 */ move $a1, $zero -/* 05FA0C 7F02AEDC 8FA400A0 */ lw $a0, 0xa0($sp) -/* 05FA10 7F02AEE0 24030001 */ li $v1, 1 -/* 05FA14 7F02AEE4 AFA2009C */ sw $v0, 0x9c($sp) -/* 05FA18 7F02AEE8 AE030038 */ sw $v1, 0x38($s0) -/* 05FA1C 7F02AEEC 10800003 */ beqz $a0, .L7F02AEFC -/* 05FA20 7F02AEF0 AE03003C */ sw $v1, 0x3c($s0) -/* 05FA24 7F02AEF4 1440000D */ bnez $v0, .L7F02AF2C -/* 05FA28 7F02AEF8 00000000 */ nop -.L7F02AEFC: -/* 05FA2C 7F02AEFC 14800003 */ bnez $a0, .L7F02AF0C -/* 05FA30 7F02AF00 00000000 */ nop -/* 05FA34 7F02AF04 10400009 */ beqz $v0, .L7F02AF2C -/* 05FA38 7F02AF08 00000000 */ nop -.L7F02AF0C: -/* 05FA3C 7F02AF0C 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05FA40 7F02AF10 00000000 */ nop -/* 05FA44 7F02AF14 14400005 */ bnez $v0, .L7F02AF2C -/* 05FA48 7F02AF18 00000000 */ nop -/* 05FA4C 7F02AF1C 0FC08E44 */ jal check_if_item_held_like_pistol -/* 05FA50 7F02AF20 8FA4009C */ lw $a0, 0x9c($sp) -/* 05FA54 7F02AF24 10400022 */ beqz $v0, .L7F02AFB0 -/* 05FA58 7F02AF28 8FAE009C */ lw $t6, 0x9c($sp) -.L7F02AF2C: -/* 05FA5C 7F02AF2C 0C002914 */ jal get_random_value -/* 05FA60 7F02AF30 00000000 */ nop -/* 05FA64 7F02AF34 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05FA68 7F02AF38 44819000 */ mtc1 $at, $f18 -/* 05FA6C 7F02AF3C 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05FA70 7F02AF40 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 05FA74 7F02AF44 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 05FA78 7F02AF48 44812000 */ mtc1 $at, $f4 -/* 05FA7C 7F02AF4C 8E04001C */ lw $a0, 0x1c($s0) -/* 05FA80 7F02AF50 3C030001 */ lui $v1, %hi(0x00008204) # $v1, 1 -/* 05FA84 7F02AF54 24638204 */ addiu $v1, %lo(0x00008204) # addiu $v1, $v1, -0x7dfc -/* 05FA88 7F02AF58 AFA30034 */ sw $v1, 0x34($sp) -/* 05FA8C 7F02AF5C 30460001 */ andi $a2, $v0, 1 -/* 05FA90 7F02AF60 24070000 */ li $a3, 0 -/* 05FA94 7F02AF64 E7B20010 */ swc1 $f18, 0x10($sp) -/* 05FA98 7F02AF68 006F2821 */ addu $a1, $v1, $t7 -/* 05FA9C 7F02AF6C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05FAA0 7F02AF70 E7A40014 */ swc1 $f4, 0x14($sp) -/* 05FAA4 7F02AF74 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 05FAA8 7F02AF78 8FA30034 */ lw $v1, 0x34($sp) -/* 05FAAC 7F02AF7C 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 05FAB0 7F02AF80 8E04001C */ lw $a0, 0x1c($s0) -/* 05FAB4 7F02AF84 0078C821 */ addu $t9, $v1, $t8 -/* 05FAB8 7F02AF88 972C0004 */ lhu $t4, 4($t9) -/* 05FABC 7F02AF8C 258DFFFF */ addiu $t5, $t4, -1 -/* 05FAC0 7F02AF90 448D3000 */ mtc1 $t5, $f6 -/* 05FAC4 7F02AF94 00000000 */ nop -/* 05FAC8 7F02AF98 468031A0 */ cvt.s.w $f6, $f6 -/* 05FACC 7F02AF9C 44053000 */ mfc1 $a1, $f6 -/* 05FAD0 7F02AFA0 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05FAD4 7F02AFA4 00000000 */ nop -/* 05FAD8 7F02AFA8 1000002A */ b .L7F02B054 -/* 05FADC 7F02AFAC 00000000 */ nop -.L7F02AFB0: -/* 05FAE0 7F02AFB0 15C00002 */ bnez $t6, .L7F02AFBC -/* 05FAE4 7F02AFB4 8FAF00A0 */ lw $t7, 0xa0($sp) -/* 05FAE8 7F02AFB8 11E00026 */ beqz $t7, .L7F02B054 -.L7F02AFBC: -/* 05FAEC 7F02AFBC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 05FAF0 7F02AFC0 44814000 */ mtc1 $at, $f8 -/* 05FAF4 7F02AFC4 8FA600A0 */ lw $a2, 0xa0($sp) -/* 05FAF8 7F02AFC8 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 05FAFC 7F02AFCC 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 05FB00 7F02AFD0 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 05FB04 7F02AFD4 44815000 */ mtc1 $at, $f10 -/* 05FB08 7F02AFD8 8E04001C */ lw $a0, 0x1c($s0) -/* 05FB0C 7F02AFDC 3C020000 */ lui $v0, %hi(0x00004018) # $v0, 0 -/* 05FB10 7F02AFE0 24424018 */ addiu $v0, %lo(0x00004018) # addiu $v0, $v0, 0x4018 -/* 05FB14 7F02AFE4 0006C82B */ sltu $t9, $zero, $a2 -/* 05FB18 7F02AFE8 03203025 */ move $a2, $t9 -/* 05FB1C 7F02AFEC AFA20034 */ sw $v0, 0x34($sp) -/* 05FB20 7F02AFF0 24070000 */ li $a3, 0 -/* 05FB24 7F02AFF4 E7A80010 */ swc1 $f8, 0x10($sp) -/* 05FB28 7F02AFF8 00582821 */ addu $a1, $v0, $t8 -/* 05FB2C 7F02AFFC 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 05FB30 7F02B000 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 05FB34 7F02B004 3C0C8007 */ lui $t4, %hi(ptr_animation_table) -/* 05FB38 7F02B008 8FA20034 */ lw $v0, 0x34($sp) -/* 05FB3C 7F02B00C 8D8C9538 */ lw $t4, %lo(ptr_animation_table)($t4) -/* 05FB40 7F02B010 8E04001C */ lw $a0, 0x1c($s0) -/* 05FB44 7F02B014 004C6821 */ addu $t5, $v0, $t4 -/* 05FB48 7F02B018 95AE0004 */ lhu $t6, 4($t5) -/* 05FB4C 7F02B01C 25CFFFFF */ addiu $t7, $t6, -1 -/* 05FB50 7F02B020 448F8000 */ mtc1 $t7, $f16 -/* 05FB54 7F02B024 00000000 */ nop -/* 05FB58 7F02B028 46808420 */ cvt.s.w $f16, $f16 -/* 05FB5C 7F02B02C 44058000 */ mfc1 $a1, $f16 -/* 05FB60 7F02B030 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 05FB64 7F02B034 00000000 */ nop -/* 05FB68 7F02B038 10000006 */ b .L7F02B054 -/* 05FB6C 7F02B03C 00000000 */ nop -/* 05FB70 7F02B040 8E180030 */ lw $t8, 0x30($s0) -.L7F02B044: -/* 05FB74 7F02B044 33190010 */ andi $t9, $t8, 0x10 -/* 05FB78 7F02B048 13200002 */ beqz $t9, .L7F02B054 -/* 05FB7C 7F02B04C 00000000 */ nop -/* 05FB80 7F02B050 AE000030 */ sw $zero, 0x30($s0) -.L7F02B054: -/* 05FB84 7F02B054 1000011D */ b .L7F02B4CC -/* 05FB88 7F02B058 A2000008 */ sb $zero, 8($s0) -.L7F02B05C: -/* 05FB8C 7F02B05C 0C002914 */ jal get_random_value -/* 05FB90 7F02B060 00000000 */ nop -/* 05FB94 7F02B064 24010005 */ li $at, 5 -/* 05FB98 7F02B068 0041001B */ divu $zero, $v0, $at -/* 05FB9C 7F02B06C 8E0E0040 */ lw $t6, 0x40($s0) -/* 05FBA0 7F02B070 00006010 */ mfhi $t4 -/* 05FBA4 7F02B074 258D000E */ addiu $t5, $t4, 0xe -/* 05FBA8 7F02B078 11C00114 */ beqz $t6, .L7F02B4CC -/* 05FBAC 7F02B07C A20D0008 */ sb $t5, 8($s0) -/* 05FBB0 7F02B080 8E0F0014 */ lw $t7, 0x14($s0) -/* 05FBB4 7F02B084 31F80080 */ andi $t8, $t7, 0x80 -/* 05FBB8 7F02B088 53000004 */ beql $t8, $zero, .L7F02B09C -/* 05FBBC 7F02B08C 8E190044 */ lw $t9, 0x44($s0) -/* 05FBC0 7F02B090 1000010E */ b .L7F02B4CC -/* 05FBC4 7F02B094 AE000040 */ sw $zero, 0x40($s0) -/* 05FBC8 7F02B098 8E190044 */ lw $t9, 0x44($s0) -.L7F02B09C: -/* 05FBCC 7F02B09C 820C0008 */ lb $t4, 8($s0) -/* 05FBD0 7F02B0A0 032C6823 */ subu $t5, $t9, $t4 -/* 05FBD4 7F02B0A4 05A10109 */ bgez $t5, .L7F02B4CC -/* 05FBD8 7F02B0A8 AE0D0044 */ sw $t5, 0x44($s0) -/* 05FBDC 7F02B0AC 0FC1B320 */ jal getsubroty -/* 05FBE0 7F02B0B0 8E04001C */ lw $a0, 0x1c($s0) -/* 05FBE4 7F02B0B4 3C018005 */ lui $at, %hi(D_80051E78) -/* 05FBE8 7F02B0B8 E7A00070 */ swc1 $f0, 0x70($sp) -/* 05FBEC 7F02B0BC 46000086 */ mov.s $f2, $f0 -/* 05FBF0 7F02B0C0 C42C1E78 */ lwc1 $f12, %lo(D_80051E78)($at) -/* 05FBF4 7F02B0C4 27A20074 */ addiu $v0, $sp, 0x74 -.L7F02B0C8: -/* 05FBF8 7F02B0C8 3C018005 */ lui $at, %hi(D_80051E7C) -/* 05FBFC 7F02B0CC C4321E7C */ lwc1 $f18, %lo(D_80051E7C)($at) -/* 05FC00 7F02B0D0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 05FC04 7F02B0D4 44813000 */ mtc1 $at, $f6 -/* 05FC08 7F02B0D8 46121080 */ add.s $f2, $f2, $f18 -/* 05FC0C 7F02B0DC 44802000 */ mtc1 $zero, $f4 -/* 05FC10 7F02B0E0 3C06447A */ lui $a2, %hi(0x447A0001) # $a2, 0x447a -/* 05FC14 7F02B0E4 00003825 */ move $a3, $zero -/* 05FC18 7F02B0E8 4602603E */ c.le.s $f12, $f2 -/* 05FC1C 7F02B0EC 00000000 */ nop -/* 05FC20 7F02B0F0 45020003 */ bc1fl .L7F02B100 -/* 05FC24 7F02B0F4 8E040018 */ lw $a0, 0x18($s0) -/* 05FC28 7F02B0F8 460C1081 */ sub.s $f2, $f2, $f12 -/* 05FC2C 7F02B0FC 8E040018 */ lw $a0, 0x18($s0) -.L7F02B100: -/* 05FC30 7F02B100 44051000 */ mfc1 $a1, $f2 -/* 05FC34 7F02B104 E7A2006C */ swc1 $f2, 0x6c($sp) -/* 05FC38 7F02B108 AFA20034 */ sw $v0, 0x34($sp) -/* 05FC3C 7F02B10C E7A60014 */ swc1 $f6, 0x14($sp) -/* 05FC40 7F02B110 0FC098D9 */ jal sub_GAME_7F026364 -/* 05FC44 7F02B114 E7A40010 */ swc1 $f4, 0x10($sp) -/* 05FC48 7F02B118 8FA20034 */ lw $v0, 0x34($sp) -/* 05FC4C 7F02B11C 3C018005 */ lui $at, %hi(D_80051E80) -/* 05FC50 7F02B120 27AF0094 */ addiu $t7, $sp, 0x94 -/* 05FC54 7F02B124 C42C1E80 */ lwc1 $f12, %lo(D_80051E80)($at) -/* 05FC58 7F02B128 24420004 */ addiu $v0, $v0, 4 -/* 05FC5C 7F02B12C 004F082B */ sltu $at, $v0, $t7 -/* 05FC60 7F02B130 C7A2006C */ lwc1 $f2, 0x6c($sp) -/* 05FC64 7F02B134 1420FFE4 */ bnez $at, .L7F02B0C8 -/* 05FC68 7F02B138 E440FFFC */ swc1 $f0, -4($v0) -/* 05FC6C 7F02B13C 00003025 */ move $a2, $zero -/* 05FC70 7F02B140 27AA0044 */ addiu $t2, $sp, 0x44 -.L7F02B144: -/* 05FC74 7F02B144 AD460000 */ sw $a2, ($t2) -/* 05FC78 7F02B148 24C60001 */ addiu $a2, %lo(0x447A0001) # addiu $a2, $a2, 1 -/* 05FC7C 7F02B14C 28C10008 */ slti $at, $a2, 8 -/* 05FC80 7F02B150 1420FFFC */ bnez $at, .L7F02B144 -/* 05FC84 7F02B154 254A0004 */ addiu $t2, $t2, 4 -/* 05FC88 7F02B158 00003025 */ move $a2, $zero -/* 05FC8C 7F02B15C 27AA0044 */ addiu $t2, $sp, 0x44 -/* 05FC90 7F02B160 27A80044 */ addiu $t0, $sp, 0x44 -/* 05FC94 7F02B164 24070008 */ li $a3, 8 -/* 05FC98 7F02B168 27A40074 */ addiu $a0, $sp, 0x74 -.L7F02B16C: -/* 05FC9C 7F02B16C 24CB0001 */ addiu $t3, $a2, 1 -/* 05FCA0 7F02B170 29610008 */ slti $at, $t3, 8 -/* 05FCA4 7F02B174 00C02825 */ move $a1, $a2 -/* 05FCA8 7F02B178 1020005B */ beqz $at, .L7F02B2E8 -/* 05FCAC 7F02B17C 01601025 */ move $v0, $t3 -/* 05FCB0 7F02B180 00EB4823 */ subu $t1, $a3, $t3 -/* 05FCB4 7F02B184 31380003 */ andi $t8, $t1, 3 -/* 05FCB8 7F02B188 13000016 */ beqz $t8, .L7F02B1E4 -/* 05FCBC 7F02B18C 030B3021 */ addu $a2, $t8, $t3 -/* 05FCC0 7F02B190 0002C880 */ sll $t9, $v0, 2 -/* 05FCC4 7F02B194 01191821 */ addu $v1, $t0, $t9 -.L7F02B198: -/* 05FCC8 7F02B198 8C6C0000 */ lw $t4, ($v1) -/* 05FCCC 7F02B19C 00057880 */ sll $t7, $a1, 2 -/* 05FCD0 7F02B1A0 010FC021 */ addu $t8, $t0, $t7 -/* 05FCD4 7F02B1A4 8F190000 */ lw $t9, ($t8) -/* 05FCD8 7F02B1A8 000C6880 */ sll $t5, $t4, 2 -/* 05FCDC 7F02B1AC 008D7021 */ addu $t6, $a0, $t5 -/* 05FCE0 7F02B1B0 00196080 */ sll $t4, $t9, 2 -/* 05FCE4 7F02B1B4 008C6821 */ addu $t5, $a0, $t4 -/* 05FCE8 7F02B1B8 C5AA0000 */ lwc1 $f10, ($t5) -/* 05FCEC 7F02B1BC C5C80000 */ lwc1 $f8, ($t6) -/* 05FCF0 7F02B1C0 460A403C */ c.lt.s $f8, $f10 -/* 05FCF4 7F02B1C4 00000000 */ nop -/* 05FCF8 7F02B1C8 45020003 */ bc1fl .L7F02B1D8 -/* 05FCFC 7F02B1CC 24420001 */ addiu $v0, $v0, 1 -/* 05FD00 7F02B1D0 00402825 */ move $a1, $v0 -/* 05FD04 7F02B1D4 24420001 */ addiu $v0, $v0, 1 -.L7F02B1D8: -/* 05FD08 7F02B1D8 14C2FFEF */ bne $a2, $v0, .L7F02B198 -/* 05FD0C 7F02B1DC 24630004 */ addiu $v1, $v1, 4 -/* 05FD10 7F02B1E0 10470041 */ beq $v0, $a3, .L7F02B2E8 -.L7F02B1E4: -/* 05FD14 7F02B1E4 00027080 */ sll $t6, $v0, 2 -/* 05FD18 7F02B1E8 010E1821 */ addu $v1, $t0, $t6 -.L7F02B1EC: -/* 05FD1C 7F02B1EC 00057880 */ sll $t7, $a1, 2 -/* 05FD20 7F02B1F0 010FC021 */ addu $t8, $t0, $t7 -/* 05FD24 7F02B1F4 8F190000 */ lw $t9, ($t8) -/* 05FD28 7F02B1F8 8C6E0000 */ lw $t6, ($v1) -/* 05FD2C 7F02B1FC 00196080 */ sll $t4, $t9, 2 -/* 05FD30 7F02B200 000E7880 */ sll $t7, $t6, 2 -/* 05FD34 7F02B204 008FC021 */ addu $t8, $a0, $t7 -/* 05FD38 7F02B208 008C6821 */ addu $t5, $a0, $t4 -/* 05FD3C 7F02B20C C5A00000 */ lwc1 $f0, ($t5) -/* 05FD40 7F02B210 C7100000 */ lwc1 $f16, ($t8) -/* 05FD44 7F02B214 0002C880 */ sll $t9, $v0, 2 -/* 05FD48 7F02B218 01196021 */ addu $t4, $t0, $t9 -/* 05FD4C 7F02B21C 4600803C */ c.lt.s $f16, $f0 -/* 05FD50 7F02B220 00000000 */ nop -/* 05FD54 7F02B224 45020007 */ bc1fl .L7F02B244 -/* 05FD58 7F02B228 8C780004 */ lw $t8, 4($v1) -/* 05FD5C 7F02B22C 8D8D0000 */ lw $t5, ($t4) -/* 05FD60 7F02B230 00402825 */ move $a1, $v0 -/* 05FD64 7F02B234 000D7080 */ sll $t6, $t5, 2 -/* 05FD68 7F02B238 008E7821 */ addu $t7, $a0, $t6 -/* 05FD6C 7F02B23C C5E00000 */ lwc1 $f0, ($t7) -/* 05FD70 7F02B240 8C780004 */ lw $t8, 4($v1) -.L7F02B244: -/* 05FD74 7F02B244 0018C880 */ sll $t9, $t8, 2 -/* 05FD78 7F02B248 00996021 */ addu $t4, $a0, $t9 -/* 05FD7C 7F02B24C C5920000 */ lwc1 $f18, ($t4) -/* 05FD80 7F02B250 4600903C */ c.lt.s $f18, $f0 -/* 05FD84 7F02B254 00000000 */ nop -/* 05FD88 7F02B258 45020009 */ bc1fl .L7F02B280 -/* 05FD8C 7F02B25C 8C6C0008 */ lw $t4, 8($v1) -/* 05FD90 7F02B260 24450001 */ addiu $a1, $v0, 1 -/* 05FD94 7F02B264 00056880 */ sll $t5, $a1, 2 -/* 05FD98 7F02B268 010D7021 */ addu $t6, $t0, $t5 -/* 05FD9C 7F02B26C 8DCF0000 */ lw $t7, ($t6) -/* 05FDA0 7F02B270 000FC080 */ sll $t8, $t7, 2 -/* 05FDA4 7F02B274 0098C821 */ addu $t9, $a0, $t8 -/* 05FDA8 7F02B278 C7200000 */ lwc1 $f0, ($t9) -/* 05FDAC 7F02B27C 8C6C0008 */ lw $t4, 8($v1) -.L7F02B280: -/* 05FDB0 7F02B280 000C6880 */ sll $t5, $t4, 2 -/* 05FDB4 7F02B284 008D7021 */ addu $t6, $a0, $t5 -/* 05FDB8 7F02B288 C5C40000 */ lwc1 $f4, ($t6) -/* 05FDBC 7F02B28C 4600203C */ c.lt.s $f4, $f0 -/* 05FDC0 7F02B290 00000000 */ nop -/* 05FDC4 7F02B294 45020009 */ bc1fl .L7F02B2BC -/* 05FDC8 7F02B298 8C6E000C */ lw $t6, 0xc($v1) -/* 05FDCC 7F02B29C 24450002 */ addiu $a1, $v0, 2 -/* 05FDD0 7F02B2A0 00057880 */ sll $t7, $a1, 2 -/* 05FDD4 7F02B2A4 010FC021 */ addu $t8, $t0, $t7 -/* 05FDD8 7F02B2A8 8F190000 */ lw $t9, ($t8) -/* 05FDDC 7F02B2AC 00196080 */ sll $t4, $t9, 2 -/* 05FDE0 7F02B2B0 008C6821 */ addu $t5, $a0, $t4 -/* 05FDE4 7F02B2B4 C5A00000 */ lwc1 $f0, ($t5) -/* 05FDE8 7F02B2B8 8C6E000C */ lw $t6, 0xc($v1) -.L7F02B2BC: -/* 05FDEC 7F02B2BC 000E7880 */ sll $t7, $t6, 2 -/* 05FDF0 7F02B2C0 008FC021 */ addu $t8, $a0, $t7 -/* 05FDF4 7F02B2C4 C7060000 */ lwc1 $f6, ($t8) -/* 05FDF8 7F02B2C8 4600303C */ c.lt.s $f6, $f0 -/* 05FDFC 7F02B2CC 00000000 */ nop -/* 05FE00 7F02B2D0 45020003 */ bc1fl .L7F02B2E0 -/* 05FE04 7F02B2D4 24420004 */ addiu $v0, $v0, 4 -/* 05FE08 7F02B2D8 24450003 */ addiu $a1, $v0, 3 -/* 05FE0C 7F02B2DC 24420004 */ addiu $v0, $v0, 4 -.L7F02B2E0: -/* 05FE10 7F02B2E0 1447FFC2 */ bne $v0, $a3, .L7F02B1EC -/* 05FE14 7F02B2E4 24630010 */ addiu $v1, $v1, 0x10 -.L7F02B2E8: -/* 05FE18 7F02B2E8 0005C880 */ sll $t9, $a1, 2 -/* 05FE1C 7F02B2EC 01191821 */ addu $v1, $t0, $t9 -/* 05FE20 7F02B2F0 8C6C0000 */ lw $t4, ($v1) -/* 05FE24 7F02B2F4 8D420000 */ lw $v0, ($t2) -/* 05FE28 7F02B2F8 29610007 */ slti $at, $t3, 7 -/* 05FE2C 7F02B2FC AD4C0000 */ sw $t4, ($t2) -/* 05FE30 7F02B300 01603025 */ move $a2, $t3 -/* 05FE34 7F02B304 254A0004 */ addiu $t2, $t2, 4 -/* 05FE38 7F02B308 1420FF98 */ bnez $at, .L7F02B16C -/* 05FE3C 7F02B30C AC620000 */ sw $v0, ($v1) -/* 05FE40 7F02B310 3C0143F5 */ li $at, 0x43F50000 # 490.000000 -/* 05FE44 7F02B314 44815000 */ mtc1 $at, $f10 -/* 05FE48 7F02B318 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 05FE4C 7F02B31C 8FA60054 */ lw $a2, 0x54($sp) -/* 05FE50 7F02B320 2405FFFF */ li $a1, -1 -/* 05FE54 7F02B324 460A403C */ c.lt.s $f8, $f10 -/* 05FE58 7F02B328 00066880 */ sll $t5, $a2, 2 -/* 05FE5C 7F02B32C 008D7021 */ addu $t6, $a0, $t5 -/* 05FE60 7F02B330 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 05FE64 7F02B334 45000046 */ bc1f .L7F02B450 -/* 05FE68 7F02B338 00000000 */ nop -/* 05FE6C 7F02B33C C5D00000 */ lwc1 $f16, ($t6) -/* 05FE70 7F02B340 44819000 */ mtc1 $at, $f18 -/* 05FE74 7F02B344 8FA20044 */ lw $v0, 0x44($sp) -/* 05FE78 7F02B348 4612803C */ c.lt.s $f16, $f18 -/* 05FE7C 7F02B34C 00000000 */ nop -/* 05FE80 7F02B350 45000003 */ bc1f .L7F02B360 -/* 05FE84 7F02B354 00000000 */ nop -/* 05FE88 7F02B358 1000003D */ b .L7F02B450 -/* 05FE8C 7F02B35C 24050007 */ li $a1, 7 -.L7F02B360: -/* 05FE90 7F02B360 10400005 */ beqz $v0, .L7F02B378 -/* 05FE94 7F02B364 8FAF0048 */ lw $t7, 0x48($sp) -/* 05FE98 7F02B368 11E00003 */ beqz $t7, .L7F02B378 -/* 05FE9C 7F02B36C 8FB8004C */ lw $t8, 0x4c($sp) -/* 05FEA0 7F02B370 17000022 */ bnez $t8, .L7F02B3FC -/* 05FEA4 7F02B374 24030001 */ li $v1, 1 -.L7F02B378: -/* 05FEA8 7F02B378 8FB90050 */ lw $t9, 0x50($sp) -/* 05FEAC 7F02B37C 24030004 */ li $v1, 4 -/* 05FEB0 7F02B380 10790003 */ beq $v1, $t9, .L7F02B390 -/* 05FEB4 7F02B384 00000000 */ nop -/* 05FEB8 7F02B388 14660012 */ bne $v1, $a2, .L7F02B3D4 -/* 05FEBC 7F02B38C 00000000 */ nop -.L7F02B390: -/* 05FEC0 7F02B390 0C002914 */ jal get_random_value -/* 05FEC4 7F02B394 00000000 */ nop -/* 05FEC8 7F02B398 3C018005 */ lui $at, %hi(D_80051E84) -/* 05FECC 7F02B39C C42C1E84 */ lwc1 $f12, %lo(D_80051E84)($at) -/* 05FED0 7F02B3A0 24010003 */ li $at, 3 -/* 05FED4 7F02B3A4 0041001B */ divu $zero, $v0, $at -/* 05FED8 7F02B3A8 00006010 */ mfhi $t4 -/* 05FEDC 7F02B3AC 24030004 */ li $v1, 4 -/* 05FEE0 7F02B3B0 15800008 */ bnez $t4, .L7F02B3D4 -/* 05FEE4 7F02B3B4 27A80044 */ addiu $t0, $sp, 0x44 -/* 05FEE8 7F02B3B8 8FAD0050 */ lw $t5, 0x50($sp) -/* 05FEEC 7F02B3BC 146D0003 */ bne $v1, $t5, .L7F02B3CC -/* 05FEF0 7F02B3C0 00000000 */ nop -/* 05FEF4 7F02B3C4 10000022 */ b .L7F02B450 -/* 05FEF8 7F02B3C8 24050003 */ li $a1, 3 -.L7F02B3CC: -/* 05FEFC 7F02B3CC 10000020 */ b .L7F02B450 -/* 05FF00 7F02B3D0 24050004 */ li $a1, 4 -.L7F02B3D4: -/* 05FF04 7F02B3D4 0C002914 */ jal get_random_value -/* 05FF08 7F02B3D8 00000000 */ nop -/* 05FF0C 7F02B3DC 3C018005 */ lui $at, %hi(D_80051E88) -/* 05FF10 7F02B3E0 C42C1E88 */ lwc1 $f12, %lo(D_80051E88)($at) -/* 05FF14 7F02B3E4 24010003 */ li $at, 3 -/* 05FF18 7F02B3E8 0041001B */ divu $zero, $v0, $at -/* 05FF1C 7F02B3EC 00002810 */ mfhi $a1 -/* 05FF20 7F02B3F0 24A50005 */ addiu $a1, $a1, 5 -/* 05FF24 7F02B3F4 10000016 */ b .L7F02B450 -/* 05FF28 7F02B3F8 27A80044 */ addiu $t0, $sp, 0x44 -.L7F02B3FC: -/* 05FF2C 7F02B3FC 10620003 */ beq $v1, $v0, .L7F02B40C -/* 05FF30 7F02B400 24010007 */ li $at, 7 -/* 05FF34 7F02B404 14410012 */ bne $v0, $at, .L7F02B450 -/* 05FF38 7F02B408 00000000 */ nop -.L7F02B40C: -/* 05FF3C 7F02B40C 8FAE0058 */ lw $t6, 0x58($sp) -/* 05FF40 7F02B410 8FAF005C */ lw $t7, 0x5c($sp) -/* 05FF44 7F02B414 11C0000E */ beqz $t6, .L7F02B450 -/* 05FF48 7F02B418 00000000 */ nop -/* 05FF4C 7F02B41C 11E0000C */ beqz $t7, .L7F02B450 -/* 05FF50 7F02B420 8FB80060 */ lw $t8, 0x60($sp) -/* 05FF54 7F02B424 1300000A */ beqz $t8, .L7F02B450 -/* 05FF58 7F02B428 00000000 */ nop -/* 05FF5C 7F02B42C 0C002914 */ jal get_random_value -/* 05FF60 7F02B430 00000000 */ nop -/* 05FF64 7F02B434 3C018005 */ lui $at, %hi(D_80051E8C) -/* 05FF68 7F02B438 C42C1E8C */ lwc1 $f12, %lo(D_80051E8C)($at) -/* 05FF6C 7F02B43C 24010003 */ li $at, 3 -/* 05FF70 7F02B440 0041001B */ divu $zero, $v0, $at -/* 05FF74 7F02B444 00002810 */ mfhi $a1 -/* 05FF78 7F02B448 24A50005 */ addiu $a1, $a1, 5 -/* 05FF7C 7F02B44C 27A80044 */ addiu $t0, $sp, 0x44 -.L7F02B450: -/* 05FF80 7F02B450 04A0001D */ bltz $a1, .L7F02B4C8 -/* 05FF84 7F02B454 0005C880 */ sll $t9, $a1, 2 -/* 05FF88 7F02B458 01196021 */ addu $t4, $t0, $t9 -/* 05FF8C 7F02B45C 8D860000 */ lw $a2, ($t4) -/* 05FF90 7F02B460 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 05FF94 7F02B464 44815000 */ mtc1 $at, $f10 -/* 05FF98 7F02B468 44862000 */ mtc1 $a2, $f4 -/* 05FF9C 7F02B46C C7B20070 */ lwc1 $f18, 0x70($sp) -/* 05FFA0 7F02B470 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 05FFA4 7F02B474 468021A0 */ cvt.s.w $f6, $f4 -/* 05FFA8 7F02B478 44812000 */ mtc1 $at, $f4 -/* 05FFAC 7F02B47C 460C3202 */ mul.s $f8, $f6, $f12 -/* 05FFB0 7F02B480 00000000 */ nop -/* 05FFB4 7F02B484 460A4402 */ mul.s $f16, $f8, $f10 -/* 05FFB8 7F02B488 46128000 */ add.s $f0, $f16, $f18 -/* 05FFBC 7F02B48C 4600603E */ c.le.s $f12, $f0 -/* 05FFC0 7F02B490 46000086 */ mov.s $f2, $f0 -/* 05FFC4 7F02B494 45000002 */ bc1f .L7F02B4A0 -/* 05FFC8 7F02B498 00000000 */ nop -/* 05FFCC 7F02B49C 460C0081 */ sub.s $f2, $f0, $f12 -.L7F02B4A0: -/* 05FFD0 7F02B4A0 46041182 */ mul.s $f6, $f2, $f4 -/* 05FFD4 7F02B4A4 02002025 */ move $a0, $s0 -/* 05FFD8 7F02B4A8 24050010 */ li $a1, 16 -/* 05FFDC 7F02B4AC 460C3203 */ div.s $f8, $f6, $f12 -/* 05FFE0 7F02B4B0 4600428D */ trunc.w.s $f10, $f8 -/* 05FFE4 7F02B4B4 44065000 */ mfc1 $a2, $f10 -/* 05FFE8 7F02B4B8 0FC0AAD1 */ jal check_set_actor_standing_still -/* 05FFEC 7F02B4BC 00000000 */ nop -/* 05FFF0 7F02B4C0 10000003 */ b .L7F02B4D0 -/* 05FFF4 7F02B4C4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02B4C8: -/* 05FFF8 7F02B4C8 AE000040 */ sw $zero, 0x40($s0) -.L7F02B4CC: -/* 05FFFC 7F02B4CC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02B4D0: -/* 060000 7F02B4D0 8FB00020 */ lw $s0, 0x20($sp) -/* 060004 7F02B4D4 27BD00B0 */ addiu $sp, $sp, 0xb0 -/* 060008 7F02B4D8 03E00008 */ jr $ra -/* 06000C 7F02B4DC 00000000 */ nop -) -#endif - - - -void actor_reset_sleep(PCHRdata actor) { - actor->sleep = 0; -} - - - -#ifdef NONMATCHING -void sub_GAME_7F02B4E8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02B4E8 -/* 060018 7F02B4E8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 06001C 7F02B4EC AFBF001C */ sw $ra, 0x1c($sp) -/* 060020 7F02B4F0 AFB00018 */ sw $s0, 0x18($sp) -/* 060024 7F02B4F4 8C8E0030 */ lw $t6, 0x30($a0) -/* 060028 7F02B4F8 00808025 */ move $s0, $a0 -/* 06002C 7F02B4FC 15C0000D */ bnez $t6, .L7F02B534 -/* 060030 7F02B500 00000000 */ nop -/* 060034 7F02B504 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060038 7F02B508 8C84001C */ lw $a0, 0x1c($a0) -/* 06003C 7F02B50C E7A00020 */ swc1 $f0, 0x20($sp) -/* 060040 7F02B510 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 060044 7F02B514 8E04001C */ lw $a0, 0x1c($s0) -/* 060048 7F02B518 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 06004C 7F02B51C 4604003E */ c.le.s $f0, $f4 -/* 060050 7F02B520 00000000 */ nop -/* 060054 7F02B524 45000003 */ bc1f .L7F02B534 -/* 060058 7F02B528 00000000 */ nop -/* 06005C 7F02B52C 0FC08F2E */ jal sub_GAME_7F023CB8 -/* 060060 7F02B530 02002025 */ move $a0, $s0 -.L7F02B534: -/* 060064 7F02B534 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 060068 7F02B538 8E04001C */ lw $a0, 0x1c($s0) -/* 06006C 7F02B53C 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 060070 7F02B540 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 060074 7F02B544 3C180001 */ lui $t8, %hi(0x0000B9A8) # $t8, 1 -/* 060078 7F02B548 2718B9A8 */ addiu $t8, %lo(0x0000B9A8) # addiu $t8, $t8, -0x4658 -/* 06007C 7F02B54C 01F8C821 */ addu $t9, $t7, $t8 -/* 060080 7F02B550 54590028 */ bnel $v0, $t9, .L7F02B5F4 -/* 060084 7F02B554 820E0008 */ lb $t6, 8($s0) -/* 060088 7F02B558 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 06008C 7F02B55C 8E04001C */ lw $a0, 0x1c($s0) -/* 060090 7F02B560 3C014228 */ li $at, 0x42280000 # 42.000000 -/* 060094 7F02B564 44813000 */ mtc1 $at, $f6 -/* 060098 7F02B568 00000000 */ nop -/* 06009C 7F02B56C 4600303E */ c.le.s $f6, $f0 -/* 0600A0 7F02B570 00000000 */ nop -/* 0600A4 7F02B574 4502001F */ bc1fl .L7F02B5F4 -/* 0600A8 7F02B578 820E0008 */ lb $t6, 8($s0) -/* 0600AC 7F02B57C 8E080014 */ lw $t0, 0x14($s0) -/* 0600B0 7F02B580 3C0A8005 */ lui $t2, %hi(D_80048380) -/* 0600B4 7F02B584 00084980 */ sll $t1, $t0, 6 -/* 0600B8 7F02B588 0522001A */ bltzl $t1, .L7F02B5F4 -/* 0600BC 7F02B58C 820E0008 */ lb $t6, 8($s0) -/* 0600C0 7F02B590 8D4A8380 */ lw $t2, %lo(D_80048380)($t2) -/* 0600C4 7F02B594 314B0001 */ andi $t3, $t2, 1 -/* 0600C8 7F02B598 55600012 */ bnezl $t3, .L7F02B5E4 -/* 0600CC 7F02B59C 8E0C0014 */ lw $t4, 0x14($s0) -/* 0600D0 7F02B5A0 0FC0CB79 */ jal sub_GAME_7F032DE4 -/* 0600D4 7F02B5A4 02002025 */ move $a0, $s0 -/* 0600D8 7F02B5A8 3C014448 */ li $at, 0x44480000 # 800.000000 -/* 0600DC 7F02B5AC 44814000 */ mtc1 $at, $f8 -/* 0600E0 7F02B5B0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0600E4 7F02B5B4 24050101 */ li $a1, 257 -/* 0600E8 7F02B5B8 4608003C */ c.lt.s $f0, $f8 -/* 0600EC 7F02B5BC 00003025 */ move $a2, $zero -/* 0600F0 7F02B5C0 45020008 */ bc1fl .L7F02B5E4 -/* 0600F4 7F02B5C4 8E0C0014 */ lw $t4, 0x14($s0) -/* 0600F8 7F02B5C8 0C002382 */ jal play_sfx_a1 -/* 0600FC 7F02B5CC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 060100 7F02B5D0 8E050018 */ lw $a1, 0x18($s0) -/* 060104 7F02B5D4 00402025 */ move $a0, $v0 -/* 060108 7F02B5D8 0FC14E84 */ jal sub_GAME_7F053A10 -/* 06010C 7F02B5DC 24A50008 */ addiu $a1, $a1, 8 -/* 060110 7F02B5E0 8E0C0014 */ lw $t4, 0x14($s0) -.L7F02B5E4: -/* 060114 7F02B5E4 3C010200 */ lui $at, 0x200 -/* 060118 7F02B5E8 01816825 */ or $t5, $t4, $at -/* 06011C 7F02B5EC AE0D0014 */ sw $t5, 0x14($s0) -/* 060120 7F02B5F0 820E0008 */ lb $t6, 8($s0) -.L7F02B5F4: -/* 060124 7F02B5F4 5DC0000C */ bgtzl $t6, .L7F02B628 -/* 060128 7F02B5F8 8FBF001C */ lw $ra, 0x1c($sp) -/* 06012C 7F02B5FC 8E0F0038 */ lw $t7, 0x38($s0) -/* 060130 7F02B600 51E00009 */ beql $t7, $zero, .L7F02B628 -/* 060134 7F02B604 8FBF001C */ lw $ra, 0x1c($sp) -/* 060138 7F02B608 0C002914 */ jal get_random_value -/* 06013C 7F02B60C 00000000 */ nop -/* 060140 7F02B610 24010005 */ li $at, 5 -/* 060144 7F02B614 0041001B */ divu $zero, $v0, $at -/* 060148 7F02B618 0000C010 */ mfhi $t8 -/* 06014C 7F02B61C 2719000E */ addiu $t9, $t8, 0xe -/* 060150 7F02B620 A2190008 */ sb $t9, 8($s0) -/* 060154 7F02B624 8FBF001C */ lw $ra, 0x1c($sp) -.L7F02B628: -/* 060158 7F02B628 8FB00018 */ lw $s0, 0x18($sp) -/* 06015C 7F02B62C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 060160 7F02B630 03E00008 */ jr $ra -/* 060164 7F02B634 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02B638(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02B638 -/* 060168 7F02B638 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 06016C 7F02B63C AFBF0024 */ sw $ra, 0x24($sp) -/* 060170 7F02B640 AFB00020 */ sw $s0, 0x20($sp) -/* 060174 7F02B644 808E0008 */ lb $t6, 8($a0) -/* 060178 7F02B648 00808025 */ move $s0, $a0 -/* 06017C 7F02B64C 240F0010 */ li $t7, 16 -/* 060180 7F02B650 5DC00044 */ bgtzl $t6, .L7F02B764 -/* 060184 7F02B654 8FBF0024 */ lw $ra, 0x24($sp) -/* 060188 7F02B658 8C84001C */ lw $a0, 0x1c($a0) -/* 06018C 7F02B65C A20F0008 */ sb $t7, 8($s0) -/* 060190 7F02B660 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 060194 7F02B664 AFA4003C */ sw $a0, 0x3c($sp) -/* 060198 7F02B668 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 06019C 7F02B66C 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 0601A0 7F02B670 3C190000 */ lui $t9, %hi(0x00004504) # $t9, 0 -/* 0601A4 7F02B674 27394504 */ addiu $t9, %lo(0x00004504) # addiu $t9, $t9, 0x4504 -/* 0601A8 7F02B678 03194021 */ addu $t0, $t8, $t9 -/* 0601AC 7F02B67C 54480039 */ bnel $v0, $t0, .L7F02B764 -/* 0601B0 7F02B680 8FBF0024 */ lw $ra, 0x24($sp) -/* 0601B4 7F02B684 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 0601B8 7F02B688 8FA4003C */ lw $a0, 0x3c($sp) -/* 0601BC 7F02B68C 3C0142A0 */ li $at, 0x42A00000 # 80.000000 -/* 0601C0 7F02B690 44812000 */ mtc1 $at, $f4 -/* 0601C4 7F02B694 3C0A8003 */ lui $t2, %hi(D_80030A44) -/* 0601C8 7F02B698 254A0A44 */ addiu $t2, %lo(D_80030A44) # addiu $t2, $t2, 0xa44 -/* 0601CC 7F02B69C 4600203E */ c.le.s $f4, $f0 -/* 0601D0 7F02B6A0 00000000 */ nop -/* 0601D4 7F02B6A4 4502002F */ bc1fl .L7F02B764 -/* 0601D8 7F02B6A8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0601DC 7F02B6AC 8D410000 */ lw $at, ($t2) -/* 0601E0 7F02B6B0 27A90030 */ addiu $t1, $sp, 0x30 -/* 0601E4 7F02B6B4 8D4C0004 */ lw $t4, 4($t2) -/* 0601E8 7F02B6B8 AD210000 */ sw $at, ($t1) -/* 0601EC 7F02B6BC 8D410008 */ lw $at, 8($t2) -/* 0601F0 7F02B6C0 AD2C0004 */ sw $t4, 4($t1) -/* 0601F4 7F02B6C4 AD210008 */ sw $at, 8($t1) -/* 0601F8 7F02B6C8 0FC1B320 */ jal getsubroty -/* 0601FC 7F02B6CC 8FA4003C */ lw $a0, 0x3c($sp) -/* 060200 7F02B6D0 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 060204 7F02B6D4 0FC15FAB */ jal sinf -/* 060208 7F02B6D8 46000306 */ mov.s $f12, $f0 -/* 06020C 7F02B6DC 46000187 */ neg.s $f6, $f0 -/* 060210 7F02B6E0 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 060214 7F02B6E4 0FC15FA8 */ jal cosf -/* 060218 7F02B6E8 E7A60030 */ swc1 $f6, 0x30($sp) -/* 06021C 7F02B6EC 46000207 */ neg.s $f8, $f0 -/* 060220 7F02B6F0 27A50030 */ addiu $a1, $sp, 0x30 -/* 060224 7F02B6F4 E7A80038 */ swc1 $f8, 0x38($sp) -/* 060228 7F02B6F8 8E040018 */ lw $a0, 0x18($s0) -/* 06022C 7F02B6FC 0FC0A6A5 */ jal sub_GAME_7F029A94 -/* 060230 7F02B700 3C0641A0 */ lui $a2, 0x41a0 -/* 060234 7F02B704 54400017 */ bnezl $v0, .L7F02B764 -/* 060238 7F02B708 8FBF0024 */ lw $ra, 0x24($sp) -/* 06023C 7F02B70C 0C002914 */ jal get_random_value -/* 060240 7F02B710 00000000 */ nop -/* 060244 7F02B714 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 060248 7F02B718 44815000 */ mtc1 $at, $f10 -/* 06024C 7F02B71C 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 060250 7F02B720 3C0D8007 */ lui $t5, %hi(ptr_animation_table) -/* 060254 7F02B724 8DAD9538 */ lw $t5, %lo(ptr_animation_table)($t5) -/* 060258 7F02B728 44818000 */ mtc1 $at, $f16 -/* 06025C 7F02B72C 3C0E0000 */ lui $t6, %hi(0x00004384) # $t6, 0 -/* 060260 7F02B730 25CE4384 */ addiu $t6, %lo(0x00004384) # addiu $t6, $t6, 0x4384 -/* 060264 7F02B734 8E04001C */ lw $a0, 0x1c($s0) -/* 060268 7F02B738 30460001 */ andi $a2, $v0, 1 -/* 06026C 7F02B73C 3C0741F0 */ lui $a3, 0x41f0 -/* 060270 7F02B740 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 060274 7F02B744 01AE2821 */ addu $a1, $t5, $t6 -/* 060278 7F02B748 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 06027C 7F02B74C E7B00014 */ swc1 $f16, 0x14($sp) -/* 060280 7F02B750 8E04001C */ lw $a0, 0x1c($s0) -/* 060284 7F02B754 3C0541F0 */ lui $a1, 0x41f0 -/* 060288 7F02B758 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 06028C 7F02B75C 3C064180 */ lui $a2, 0x4180 -/* 060290 7F02B760 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02B764: -/* 060294 7F02B764 8FB00020 */ lw $s0, 0x20($sp) -/* 060298 7F02B768 27BD0040 */ addiu $sp, $sp, 0x40 -/* 06029C 7F02B76C 03E00008 */ jr $ra -/* 0602A0 7F02B770 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void manage_guard_fade(void) { - -} -#else -GLOBAL_ASM( -.text -glabel manage_guard_fade -/* 0602A4 7F02B774 8C82002C */ lw $v0, 0x2c($a0) -/* 0602A8 7F02B778 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 0602AC 7F02B77C 0442001E */ bltzl $v0, .L7F02B7F8 -/* 0602B0 7F02B780 AC80002C */ sw $zero, 0x2c($a0) -/* 0602B4 7F02B784 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 0602B8 7F02B788 2403005A */ li $v1, 90 -/* 0602BC 7F02B78C 004E7821 */ addu $t7, $v0, $t6 -/* 0602C0 7F02B790 29E1005A */ slti $at, $t7, 0x5a -/* 0602C4 7F02B794 AC8F002C */ sw $t7, 0x2c($a0) -/* 0602C8 7F02B798 14200005 */ bnez $at, .L7F02B7B0 -/* 0602CC 7F02B79C 01E01025 */ move $v0, $t7 -/* 0602D0 7F02B7A0 94980012 */ lhu $t8, 0x12($a0) -/* 0602D4 7F02B7A4 37190020 */ ori $t9, $t8, 0x20 -/* 0602D8 7F02B7A8 03E00008 */ jr $ra -/* 0602DC 7F02B7AC A4990012 */ sh $t9, 0x12($a0) - -.L7F02B7B0: -/* 0602E0 7F02B7B0 00624023 */ subu $t0, $v1, $v0 -/* 0602E4 7F02B7B4 00084A00 */ sll $t1, $t0, 8 -/* 0602E8 7F02B7B8 01284823 */ subu $t1, $t1, $t0 -/* 0602EC 7F02B7BC 0123001A */ div $zero, $t1, $v1 -/* 0602F0 7F02B7C0 00005012 */ mflo $t2 -/* 0602F4 7F02B7C4 A08A000C */ sb $t2, 0xc($a0) -/* 0602F8 7F02B7C8 14600002 */ bnez $v1, .L7F02B7D4 -/* 0602FC 7F02B7CC 00000000 */ nop -/* 060300 7F02B7D0 0007000D */ break 7 -.L7F02B7D4: -/* 060304 7F02B7D4 2401FFFF */ li $at, -1 -/* 060308 7F02B7D8 14610004 */ bne $v1, $at, .L7F02B7EC -/* 06030C 7F02B7DC 3C018000 */ lui $at, 0x8000 -/* 060310 7F02B7E0 15210002 */ bne $t1, $at, .L7F02B7EC -/* 060314 7F02B7E4 00000000 */ nop -/* 060318 7F02B7E8 0006000D */ break 6 -.L7F02B7EC: -/* 06031C 7F02B7EC 03E00008 */ jr $ra -/* 060320 7F02B7F0 00000000 */ nop - -/* 060324 7F02B7F4 AC80002C */ sw $zero, 0x2c($a0) -.L7F02B7F8: -/* 060328 7F02B7F8 03E00008 */ jr $ra -/* 06032C 7F02B7FC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02B800(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E90 -.word 0x4a742400 /*4000000.0*/ -.text -glabel sub_GAME_7F02B800 -/* 060330 7F02B800 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 060334 7F02B804 AFBF003C */ sw $ra, 0x3c($sp) -/* 060338 7F02B808 AFB70038 */ sw $s7, 0x38($sp) -/* 06033C 7F02B80C AFB4002C */ sw $s4, 0x2c($sp) -/* 060340 7F02B810 AFB30028 */ sw $s3, 0x28($sp) -/* 060344 7F02B814 AFB20024 */ sw $s2, 0x24($sp) -/* 060348 7F02B818 0080A025 */ move $s4, $a0 -/* 06034C 7F02B81C 00A0B825 */ move $s7, $a1 -/* 060350 7F02B820 AFB60034 */ sw $s6, 0x34($sp) -/* 060354 7F02B824 AFB50030 */ sw $s5, 0x30($sp) -/* 060358 7F02B828 AFB10020 */ sw $s1, 0x20($sp) -/* 06035C 7F02B82C AFB0001C */ sw $s0, 0x1c($sp) -/* 060360 7F02B830 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 060364 7F02B834 00009825 */ move $s3, $zero -/* 060368 7F02B838 0FC07D4C */ jal get_numguards -/* 06036C 7F02B83C 00009025 */ move $s2, $zero -/* 060370 7F02B840 82830007 */ lb $v1, 7($s4) -/* 060374 7F02B844 24010006 */ li $at, 6 -/* 060378 7F02B848 0040B025 */ move $s6, $v0 -/* 06037C 7F02B84C 14610003 */ bne $v1, $at, .L7F02B85C -/* 060380 7F02B850 3C158003 */ lui $s5, %hi(ptr_guard_data) -/* 060384 7F02B854 10000005 */ b .L7F02B86C -/* 060388 7F02B858 8E93002C */ lw $s3, 0x2c($s4) -.L7F02B85C: -/* 06038C 7F02B85C 24010004 */ li $at, 4 -/* 060390 7F02B860 54610003 */ bnel $v1, $at, .L7F02B870 -/* 060394 7F02B864 0262082A */ slt $at, $s3, $v0 -/* 060398 7F02B868 8E93002C */ lw $s3, 0x2c($s4) -.L7F02B86C: -/* 06039C 7F02B86C 0262082A */ slt $at, $s3, $v0 -.L7F02B870: -/* 0603A0 7F02B870 10200036 */ beqz $at, .L7F02B94C -/* 0603A4 7F02B874 00138900 */ sll $s1, $s3, 4 -/* 0603A8 7F02B878 02338823 */ subu $s1, $s1, $s3 -/* 0603AC 7F02B87C 001188C0 */ sll $s1, $s1, 3 -/* 0603B0 7F02B880 02338823 */ subu $s1, $s1, $s3 -/* 0603B4 7F02B884 3C018005 */ lui $at, %hi(D_80051E90) -/* 0603B8 7F02B888 C4341E90 */ lwc1 $f20, %lo(D_80051E90)($at) -/* 0603BC 7F02B88C 00118880 */ sll $s1, $s1, 2 -/* 0603C0 7F02B890 26B5CC64 */ addiu $s5, %lo(ptr_guard_data) # addiu $s5, $s5, -0x339c -/* 0603C4 7F02B894 8EAE0000 */ lw $t6, ($s5) -.L7F02B898: -/* 0603C8 7F02B898 022E8021 */ addu $s0, $s1, $t6 -/* 0603CC 7F02B89C 8E0F001C */ lw $t7, 0x1c($s0) -/* 0603D0 7F02B8A0 51E00024 */ beql $t7, $zero, .L7F02B934 -/* 0603D4 7F02B8A4 26730001 */ addiu $s3, $s3, 1 -/* 0603D8 7F02B8A8 8E020018 */ lw $v0, 0x18($s0) -/* 0603DC 7F02B8AC 8E830018 */ lw $v1, 0x18($s4) -/* 0603E0 7F02B8B0 02002025 */ move $a0, $s0 -/* 0603E4 7F02B8B4 C4440008 */ lwc1 $f4, 8($v0) -/* 0603E8 7F02B8B8 C4660008 */ lwc1 $f6, 8($v1) -/* 0603EC 7F02B8BC C448000C */ lwc1 $f8, 0xc($v0) -/* 0603F0 7F02B8C0 C46A000C */ lwc1 $f10, 0xc($v1) -/* 0603F4 7F02B8C4 46062001 */ sub.s $f0, $f4, $f6 -/* 0603F8 7F02B8C8 C4500010 */ lwc1 $f16, 0x10($v0) -/* 0603FC 7F02B8CC C4720010 */ lwc1 $f18, 0x10($v1) -/* 060400 7F02B8D0 460A4081 */ sub.s $f2, $f8, $f10 -/* 060404 7F02B8D4 46000102 */ mul.s $f4, $f0, $f0 -/* 060408 7F02B8D8 24650008 */ addiu $a1, $v1, 8 -/* 06040C 7F02B8DC 46128301 */ sub.s $f12, $f16, $f18 -/* 060410 7F02B8E0 46021182 */ mul.s $f6, $f2, $f2 -/* 060414 7F02B8E4 46062200 */ add.s $f8, $f4, $f6 -/* 060418 7F02B8E8 460C6282 */ mul.s $f10, $f12, $f12 -/* 06041C 7F02B8EC 460A4400 */ add.s $f16, $f8, $f10 -/* 060420 7F02B8F0 4614803C */ c.lt.s $f16, $f20 -/* 060424 7F02B8F4 00000000 */ nop -/* 060428 7F02B8F8 4502000E */ bc1fl .L7F02B934 -/* 06042C 7F02B8FC 26730001 */ addiu $s3, $s3, 1 -/* 060430 7F02B900 26520001 */ addiu $s2, $s2, 1 -/* 060434 7F02B904 0FC0A5A7 */ jal sub_GAME_7F02969C -/* 060438 7F02B908 8C660014 */ lw $a2, 0x14($v1) -/* 06043C 7F02B90C 50400009 */ beql $v0, $zero, .L7F02B934 -/* 060440 7F02B910 26730001 */ addiu $s3, $s3, 1 -/* 060444 7F02B914 56E00005 */ bnezl $s7, .L7F02B92C -/* 060448 7F02B918 86990000 */ lh $t9, ($s4) -/* 06044C 7F02B91C 86980000 */ lh $t8, ($s4) -/* 060450 7F02B920 10000003 */ b .L7F02B930 -/* 060454 7F02B924 A6180118 */ sh $t8, 0x118($s0) -/* 060458 7F02B928 86990000 */ lh $t9, ($s4) -.L7F02B92C: -/* 06045C 7F02B92C A619011A */ sh $t9, 0x11a($s0) -.L7F02B930: -/* 060460 7F02B930 26730001 */ addiu $s3, $s3, 1 -.L7F02B934: -/* 060464 7F02B934 0276082A */ slt $at, $s3, $s6 -/* 060468 7F02B938 10200004 */ beqz $at, .L7F02B94C -/* 06046C 7F02B93C 263101DC */ addiu $s1, $s1, 0x1dc -/* 060470 7F02B940 2A410004 */ slti $at, $s2, 4 -/* 060474 7F02B944 5420FFD4 */ bnezl $at, .L7F02B898 -/* 060478 7F02B948 8EAE0000 */ lw $t6, ($s5) -.L7F02B94C: -/* 06047C 7F02B94C 82830007 */ lb $v1, 7($s4) -/* 060480 7F02B950 24010006 */ li $at, 6 -/* 060484 7F02B954 54610004 */ bnel $v1, $at, .L7F02B968 -/* 060488 7F02B958 24010004 */ li $at, 4 -/* 06048C 7F02B95C 10000005 */ b .L7F02B974 -/* 060490 7F02B960 AE93002C */ sw $s3, 0x2c($s4) -/* 060494 7F02B964 24010004 */ li $at, 4 -.L7F02B968: -/* 060498 7F02B968 54610003 */ bnel $v1, $at, .L7F02B978 -/* 06049C 7F02B96C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0604A0 7F02B970 AE93002C */ sw $s3, 0x2c($s4) -.L7F02B974: -/* 0604A4 7F02B974 8FBF003C */ lw $ra, 0x3c($sp) -.L7F02B978: -/* 0604A8 7F02B978 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0604AC 7F02B97C 8FB0001C */ lw $s0, 0x1c($sp) -/* 0604B0 7F02B980 8FB10020 */ lw $s1, 0x20($sp) -/* 0604B4 7F02B984 8FB20024 */ lw $s2, 0x24($sp) -/* 0604B8 7F02B988 8FB30028 */ lw $s3, 0x28($sp) -/* 0604BC 7F02B98C 8FB4002C */ lw $s4, 0x2c($sp) -/* 0604C0 7F02B990 8FB50030 */ lw $s5, 0x30($sp) -/* 0604C4 7F02B994 8FB60034 */ lw $s6, 0x34($sp) -/* 0604C8 7F02B998 8FB70038 */ lw $s7, 0x38($sp) -/* 0604CC 7F02B99C 03E00008 */ jr $ra -/* 0604D0 7F02B9A0 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - -#ifdef NONMATCHING -void guard_body_hit_sfx(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E94 -.word 0x3e99999a /*0.30000001*/ -.text -glabel guard_body_hit_sfx -/* 0604D4 7F02B9A4 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0604D8 7F02B9A8 3C0F8003 */ lui $t7, %hi(body_hit_SFX) -/* 0604DC 7F02B9AC AFBF0024 */ sw $ra, 0x24($sp) -/* 0604E0 7F02B9B0 AFB10020 */ sw $s1, 0x20($sp) -/* 0604E4 7F02B9B4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0604E8 7F02B9B8 25EF0A50 */ addiu $t7, %lo(body_hit_SFX) # addiu $t7, $t7, 0xa50 -/* 0604EC 7F02B9BC 8DE10000 */ lw $at, ($t7) -/* 0604F0 7F02B9C0 8C91001C */ lw $s1, 0x1c($a0) -/* 0604F4 7F02B9C4 27AE0038 */ addiu $t6, $sp, 0x38 -/* 0604F8 7F02B9C8 ADC10000 */ sw $at, ($t6) -/* 0604FC 7F02B9CC 8DE10008 */ lw $at, 8($t7) -/* 060500 7F02B9D0 8DE80004 */ lw $t0, 4($t7) -/* 060504 7F02B9D4 44803000 */ mtc1 $zero, $f6 -/* 060508 7F02B9D8 ADC10008 */ sw $at, 8($t6) -/* 06050C 7F02B9DC 8DE10010 */ lw $at, 0x10($t7) -/* 060510 7F02B9E0 ADC80004 */ sw $t0, 4($t6) -/* 060514 7F02B9E4 8DE8000C */ lw $t0, 0xc($t7) -/* 060518 7F02B9E8 ADC10010 */ sw $at, 0x10($t6) -/* 06051C 7F02B9EC 95E10014 */ lhu $at, 0x14($t7) -/* 060520 7F02B9F0 ADC8000C */ sw $t0, 0xc($t6) -/* 060524 7F02B9F4 00808025 */ move $s0, $a0 -/* 060528 7F02B9F8 A5C10014 */ sh $at, 0x14($t6) -/* 06052C 7F02B9FC C4840030 */ lwc1 $f4, 0x30($a0) -/* 060530 7F02BA00 4604303E */ c.le.s $f6, $f4 -/* 060534 7F02BA04 00000000 */ nop -/* 060538 7F02BA08 45020023 */ bc1fl .L7F02BA98 -/* 06053C 7F02BA0C C6100034 */ lwc1 $f16, 0x34($s0) -/* 060540 7F02BA10 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060544 7F02BA14 02202025 */ move $a0, $s1 -/* 060548 7F02BA18 C6080030 */ lwc1 $f8, 0x30($s0) -/* 06054C 7F02BA1C 3C028003 */ lui $v0, %hi(D_80030A68) -/* 060550 7F02BA20 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 060554 7F02BA24 4600403E */ c.le.s $f8, $f0 -/* 060558 7F02BA28 00000000 */ nop -/* 06055C 7F02BA2C 4502001A */ bc1fl .L7F02BA98 -/* 060560 7F02BA30 C6100034 */ lwc1 $f16, 0x34($s0) -/* 060564 7F02BA34 8C420A68 */ lw $v0, %lo(D_80030A68)($v0) -/* 060568 7F02BA38 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 06056C 7F02BA3C 00003025 */ move $a2, $zero -/* 060570 7F02BA40 00024840 */ sll $t1, $v0, 1 -/* 060574 7F02BA44 03A92821 */ addu $a1, $sp, $t1 -/* 060578 7F02BA48 0C002382 */ jal play_sfx_a1 -/* 06057C 7F02BA4C 84A50038 */ lh $a1, 0x38($a1) -/* 060580 7F02BA50 8E050018 */ lw $a1, 0x18($s0) -/* 060584 7F02BA54 00402025 */ move $a0, $v0 -/* 060588 7F02BA58 0FC14E84 */ jal sub_GAME_7F053A10 -/* 06058C 7F02BA5C 24A50008 */ addiu $a1, $a1, 8 -/* 060590 7F02BA60 3C028003 */ lui $v0, %hi(D_80030A68) -/* 060594 7F02BA64 8C420A68 */ lw $v0, %lo(D_80030A68)($v0) -/* 060598 7F02BA68 3C018003 */ lui $at, %hi(D_80030A68) -/* 06059C 7F02BA6C 24420001 */ addiu $v0, $v0, 1 -/* 0605A0 7F02BA70 AC220A68 */ sw $v0, %lo(D_80030A68)($at) -/* 0605A4 7F02BA74 2841000B */ slti $at, $v0, 0xb -/* 0605A8 7F02BA78 14200002 */ bnez $at, .L7F02BA84 -/* 0605AC 7F02BA7C 3C018003 */ lui $at, %hi(D_80030A68) -/* 0605B0 7F02BA80 AC200A68 */ sw $zero, %lo(D_80030A68)($at) -.L7F02BA84: -/* 0605B4 7F02BA84 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0605B8 7F02BA88 44815000 */ mtc1 $at, $f10 -/* 0605BC 7F02BA8C 00000000 */ nop -/* 0605C0 7F02BA90 E60A0030 */ swc1 $f10, 0x30($s0) -/* 0605C4 7F02BA94 C6100034 */ lwc1 $f16, 0x34($s0) -.L7F02BA98: -/* 0605C8 7F02BA98 44809000 */ mtc1 $zero, $f18 -/* 0605CC 7F02BA9C 00000000 */ nop -/* 0605D0 7F02BAA0 4610903E */ c.le.s $f18, $f16 -/* 0605D4 7F02BAA4 00000000 */ nop -/* 0605D8 7F02BAA8 45000022 */ bc1f .L7F02BB34 -/* 0605DC 7F02BAAC 00000000 */ nop -/* 0605E0 7F02BAB0 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 0605E4 7F02BAB4 02202025 */ move $a0, $s1 -/* 0605E8 7F02BAB8 C6040034 */ lwc1 $f4, 0x34($s0) -/* 0605EC 7F02BABC 3C028003 */ lui $v0, %hi(D_80030A68) -/* 0605F0 7F02BAC0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0605F4 7F02BAC4 4600203E */ c.le.s $f4, $f0 -/* 0605F8 7F02BAC8 00000000 */ nop -/* 0605FC 7F02BACC 45000019 */ bc1f .L7F02BB34 -/* 060600 7F02BAD0 00000000 */ nop -/* 060604 7F02BAD4 8C420A68 */ lw $v0, %lo(D_80030A68)($v0) -/* 060608 7F02BAD8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 06060C 7F02BADC 00003025 */ move $a2, $zero -/* 060610 7F02BAE0 00025040 */ sll $t2, $v0, 1 -/* 060614 7F02BAE4 03AA2821 */ addu $a1, $sp, $t2 -/* 060618 7F02BAE8 0C002382 */ jal play_sfx_a1 -/* 06061C 7F02BAEC 84A50038 */ lh $a1, 0x38($a1) -/* 060620 7F02BAF0 8E050018 */ lw $a1, 0x18($s0) -/* 060624 7F02BAF4 00402025 */ move $a0, $v0 -/* 060628 7F02BAF8 0FC14E84 */ jal sub_GAME_7F053A10 -/* 06062C 7F02BAFC 24A50008 */ addiu $a1, $a1, 8 -/* 060630 7F02BB00 3C028003 */ lui $v0, %hi(D_80030A68) -/* 060634 7F02BB04 8C420A68 */ lw $v0, %lo(D_80030A68)($v0) -/* 060638 7F02BB08 3C018003 */ lui $at, %hi(D_80030A68) -/* 06063C 7F02BB0C 24420001 */ addiu $v0, $v0, 1 -/* 060640 7F02BB10 AC220A68 */ sw $v0, %lo(D_80030A68)($at) -/* 060644 7F02BB14 2841000B */ slti $at, $v0, 0xb -/* 060648 7F02BB18 14200002 */ bnez $at, .L7F02BB24 -/* 06064C 7F02BB1C 3C018003 */ lui $at, %hi(D_80030A68) -/* 060650 7F02BB20 AC200A68 */ sw $zero, %lo(D_80030A68)($at) -.L7F02BB24: -/* 060654 7F02BB24 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 060658 7F02BB28 44813000 */ mtc1 $at, $f6 -/* 06065C 7F02BB2C 00000000 */ nop -/* 060660 7F02BB30 E6060034 */ swc1 $f6, 0x34($s0) -.L7F02BB34: -/* 060664 7F02BB34 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060668 7F02BB38 02202025 */ move $a0, $s1 -/* 06066C 7F02BB3C E7A00034 */ swc1 $f0, 0x34($sp) -/* 060670 7F02BB40 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 060674 7F02BB44 02202025 */ move $a0, $s1 -/* 060678 7F02BB48 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 06067C 7F02BB4C 4608003E */ c.le.s $f0, $f8 -/* 060680 7F02BB50 00000000 */ nop -/* 060684 7F02BB54 45020043 */ bc1fl .L7F02BC64 -/* 060688 7F02BB58 02002025 */ move $a0, $s0 -/* 06068C 7F02BB5C 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 060690 7F02BB60 02202025 */ move $a0, $s1 -/* 060694 7F02BB64 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 060698 7F02BB68 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 06069C 7F02BB6C 3C0C0000 */ lui $t4, %hi(0x0000540C) # $t4, 0 -/* 0606A0 7F02BB70 258C540C */ addiu $t4, %lo(0x0000540C) # addiu $t4, $t4, 0x540c -/* 0606A4 7F02BB74 016C6821 */ addu $t5, $t3, $t4 -/* 0606A8 7F02BB78 144D0037 */ bne $v0, $t5, .L7F02BC58 -/* 0606AC 7F02BB7C 00000000 */ nop -/* 0606B0 7F02BB80 0FC1BD6D */ jal sub_GAME_7F06F5B4 -/* 0606B4 7F02BB84 02202025 */ move $a0, $s1 -/* 0606B8 7F02BB88 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 0606BC 7F02BB8C 44810000 */ mtc1 $at, $f0 -/* 0606C0 7F02BB90 3C018005 */ lui $at, %hi(D_80051E94) -/* 0606C4 7F02BB94 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 0606C8 7F02BB98 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 0606CC 7F02BB9C C42A1E94 */ lwc1 $f10, %lo(D_80051E94)($at) -/* 0606D0 7F02BBA0 3C100000 */ lui $s0, %hi(0x00005684) # $s0, 0 -/* 0606D4 7F02BBA4 26105684 */ addiu $s0, %lo(0x00005684) # addiu $s0, $s0, 0x5684 -/* 0606D8 7F02BBA8 02192821 */ addu $a1, $s0, $t9 -/* 0606DC 7F02BBAC E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0606E0 7F02BBB0 94B80004 */ lhu $t8, 4($a1) -/* 0606E4 7F02BBB4 44070000 */ mfc1 $a3, $f0 -/* 0606E8 7F02BBB8 02202025 */ move $a0, $s1 -/* 0606EC 7F02BBBC 44988000 */ mtc1 $t8, $f16 -/* 0606F0 7F02BBC0 2C460001 */ sltiu $a2, $v0, 1 -/* 0606F4 7F02BBC4 07010005 */ bgez $t8, .L7F02BBDC -/* 0606F8 7F02BBC8 468084A0 */ cvt.s.w $f18, $f16 -/* 0606FC 7F02BBCC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 060700 7F02BBD0 44812000 */ mtc1 $at, $f4 -/* 060704 7F02BBD4 00000000 */ nop -/* 060708 7F02BBD8 46049480 */ add.s $f18, $f18, $f4 -.L7F02BBDC: -/* 06070C 7F02BBDC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 060710 7F02BBE0 44813000 */ mtc1 $at, $f6 -/* 060714 7F02BBE4 00000000 */ nop -/* 060718 7F02BBE8 46069201 */ sub.s $f8, $f18, $f6 -/* 06071C 7F02BBEC 46004281 */ sub.s $f10, $f8, $f0 -/* 060720 7F02BBF0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 060724 7F02BBF4 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 060728 7F02BBF8 3C0E8007 */ lui $t6, %hi(ptr_animation_table) -/* 06072C 7F02BBFC 8DCE9538 */ lw $t6, %lo(ptr_animation_table)($t6) -/* 060730 7F02BC00 02202025 */ move $a0, $s1 -/* 060734 7F02BC04 3C053F00 */ lui $a1, 0x3f00 -/* 060738 7F02BC08 020E7821 */ addu $t7, $s0, $t6 -/* 06073C 7F02BC0C 95E80004 */ lhu $t0, 4($t7) -/* 060740 7F02BC10 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 060744 7F02BC14 44888000 */ mtc1 $t0, $f16 -/* 060748 7F02BC18 05010004 */ bgez $t0, .L7F02BC2C -/* 06074C 7F02BC1C 46808120 */ cvt.s.w $f4, $f16 -/* 060750 7F02BC20 44819000 */ mtc1 $at, $f18 -/* 060754 7F02BC24 00000000 */ nop -/* 060758 7F02BC28 46122100 */ add.s $f4, $f4, $f18 -.L7F02BC2C: -/* 06075C 7F02BC2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 060760 7F02BC30 44813000 */ mtc1 $at, $f6 -/* 060764 7F02BC34 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 060768 7F02BC38 44815000 */ mtc1 $at, $f10 -/* 06076C 7F02BC3C 46062201 */ sub.s $f8, $f4, $f6 -/* 060770 7F02BC40 460A4401 */ sub.s $f16, $f8, $f10 -/* 060774 7F02BC44 44068000 */ mfc1 $a2, $f16 -/* 060778 7F02BC48 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 06077C 7F02BC4C 00000000 */ nop -/* 060780 7F02BC50 10000007 */ b .L7F02BC70 -/* 060784 7F02BC54 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02BC58: -/* 060788 7F02BC58 0FC091EE */ jal actor_fade_away -/* 06078C 7F02BC5C 02002025 */ move $a0, $s0 -/* 060790 7F02BC60 02002025 */ move $a0, $s0 -.L7F02BC64: -/* 060794 7F02BC64 0FC0AE00 */ jal sub_GAME_7F02B800 -/* 060798 7F02BC68 24050001 */ li $a1, 1 -/* 06079C 7F02BC6C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02BC70: -/* 0607A0 7F02BC70 8FB0001C */ lw $s0, 0x1c($sp) -/* 0607A4 7F02BC74 8FB10020 */ lw $s1, 0x20($sp) -/* 0607A8 7F02BC78 03E00008 */ jr $ra -/* 0607AC 7F02BC7C 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02BC80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02BC80 -/* 0607B0 7F02BC80 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0607B4 7F02BC84 AFB00018 */ sw $s0, 0x18($sp) -/* 0607B8 7F02BC88 00808025 */ move $s0, $a0 -/* 0607BC 7F02BC8C AFBF001C */ sw $ra, 0x1c($sp) -/* 0607C0 7F02BC90 8C84001C */ lw $a0, 0x1c($a0) -/* 0607C4 7F02BC94 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 0607C8 7F02BC98 AFA40024 */ sw $a0, 0x24($sp) -/* 0607CC 7F02BC9C E7A00020 */ swc1 $f0, 0x20($sp) -/* 0607D0 7F02BCA0 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 0607D4 7F02BCA4 8FA40024 */ lw $a0, 0x24($sp) -/* 0607D8 7F02BCA8 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0607DC 7F02BCAC 4604003E */ c.le.s $f0, $f4 -/* 0607E0 7F02BCB0 00000000 */ nop -/* 0607E4 7F02BCB4 45020013 */ bc1fl .L7F02BD04 -/* 0607E8 7F02BCB8 02002025 */ move $a0, $s0 -/* 0607EC 7F02BCBC 0FC0A6EC */ jal sub_GAME_7F029BB0 -/* 0607F0 7F02BCC0 02002025 */ move $a0, $s0 -/* 0607F4 7F02BCC4 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 0607F8 7F02BCC8 8FA40024 */ lw $a0, 0x24($sp) -/* 0607FC 7F02BCCC 3C0E8007 */ lui $t6, %hi(ptr_animation_table) -/* 060800 7F02BCD0 8DCE9538 */ lw $t6, %lo(ptr_animation_table)($t6) -/* 060804 7F02BCD4 3C0F0000 */ lui $t7, %hi(0x0000540C) # $t7, 0 -/* 060808 7F02BCD8 25EF540C */ addiu $t7, %lo(0x0000540C) # addiu $t7, $t7, 0x540c -/* 06080C 7F02BCDC 01CFC021 */ addu $t8, $t6, $t7 -/* 060810 7F02BCE0 14580005 */ bne $v0, $t8, .L7F02BCF8 -/* 060814 7F02BCE4 02002025 */ move $a0, $s0 -/* 060818 7F02BCE8 0FC08F85 */ jal sub_GAME_7F023E14 -/* 06081C 7F02BCEC 3C0541D0 */ lui $a1, 0x41d0 -/* 060820 7F02BCF0 10000004 */ b .L7F02BD04 -/* 060824 7F02BCF4 02002025 */ move $a0, $s0 -.L7F02BCF8: -/* 060828 7F02BCF8 0FC08F92 */ jal sub_GAME_7F023E48 -/* 06082C 7F02BCFC 02002025 */ move $a0, $s0 -/* 060830 7F02BD00 02002025 */ move $a0, $s0 -.L7F02BD04: -/* 060834 7F02BD04 0FC0AE00 */ jal sub_GAME_7F02B800 -/* 060838 7F02BD08 00002825 */ move $a1, $zero -/* 06083C 7F02BD0C 8FBF001C */ lw $ra, 0x1c($sp) -/* 060840 7F02BD10 8FB00018 */ lw $s0, 0x18($sp) -/* 060844 7F02BD14 27BD0028 */ addiu $sp, $sp, 0x28 -/* 060848 7F02BD18 03E00008 */ jr $ra -/* 06084C 7F02BD1C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02BD20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02BD20 -/* 060850 7F02BD20 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 060854 7F02BD24 AFB00020 */ sw $s0, 0x20($sp) -/* 060858 7F02BD28 00808025 */ move $s0, $a0 -/* 06085C 7F02BD2C AFBF0024 */ sw $ra, 0x24($sp) -/* 060860 7F02BD30 8C84001C */ lw $a0, 0x1c($a0) -/* 060864 7F02BD34 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060868 7F02BD38 AFA4003C */ sw $a0, 0x3c($sp) -/* 06086C 7F02BD3C 8FA4003C */ lw $a0, 0x3c($sp) -/* 060870 7F02BD40 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 060874 7F02BD44 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 060878 7F02BD48 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 06087C 7F02BD4C 4604003E */ c.le.s $f0, $f4 -/* 060880 7F02BD50 00000000 */ nop -/* 060884 7F02BD54 4502000F */ bc1fl .L7F02BD94 -/* 060888 7F02BD58 8FBF0024 */ lw $ra, 0x24($sp) -/* 06088C 7F02BD5C C606002C */ lwc1 $f6, 0x2c($s0) -/* 060890 7F02BD60 02002025 */ move $a0, $s0 -/* 060894 7F02BD64 27A50030 */ addiu $a1, $sp, 0x30 -/* 060898 7F02BD68 E7A60030 */ swc1 $f6, 0x30($sp) -/* 06089C 7F02BD6C C6080030 */ lwc1 $f8, 0x30($s0) -/* 0608A0 7F02BD70 E7A80034 */ swc1 $f8, 0x34($sp) -/* 0608A4 7F02BD74 C60A0034 */ lwc1 $f10, 0x34($s0) -/* 0608A8 7F02BD78 E7AA0038 */ swc1 $f10, 0x38($sp) -/* 0608AC 7F02BD7C 8E0E0040 */ lw $t6, 0x40($s0) -/* 0608B0 7F02BD80 8E07003C */ lw $a3, 0x3c($s0) -/* 0608B4 7F02BD84 8E060038 */ lw $a2, 0x38($s0) -/* 0608B8 7F02BD88 0FC09942 */ jal triggered_on_shot_hit -/* 0608BC 7F02BD8C AFAE0010 */ sw $t6, 0x10($sp) -/* 0608C0 7F02BD90 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02BD94: -/* 0608C4 7F02BD94 8FB00020 */ lw $s0, 0x20($sp) -/* 0608C8 7F02BD98 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0608CC 7F02BD9C 03E00008 */ jr $ra -/* 0608D0 7F02BDA0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02BDA4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02BDA4 -/* 0608D4 7F02BDA4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0608D8 7F02BDA8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0608DC 7F02BDAC AFA40020 */ sw $a0, 0x20($sp) -/* 0608E0 7F02BDB0 8C84001C */ lw $a0, 0x1c($a0) -/* 0608E4 7F02BDB4 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 0608E8 7F02BDB8 AFA4001C */ sw $a0, 0x1c($sp) -/* 0608EC 7F02BDBC 8FA4001C */ lw $a0, 0x1c($sp) -/* 0608F0 7F02BDC0 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 0608F4 7F02BDC4 E7A00018 */ swc1 $f0, 0x18($sp) -/* 0608F8 7F02BDC8 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0608FC 7F02BDCC 4604003E */ c.le.s $f0, $f4 -/* 060900 7F02BDD0 00000000 */ nop -/* 060904 7F02BDD4 45020007 */ bc1fl .L7F02BDF4 -/* 060908 7F02BDD8 8FBF0014 */ lw $ra, 0x14($sp) -/* 06090C 7F02BDDC 0FC0A6EC */ jal sub_GAME_7F029BB0 -/* 060910 7F02BDE0 8FA40020 */ lw $a0, 0x20($sp) -/* 060914 7F02BDE4 8FA40020 */ lw $a0, 0x20($sp) -/* 060918 7F02BDE8 0FC08F85 */ jal sub_GAME_7F023E14 -/* 06091C 7F02BDEC 3C054120 */ lui $a1, 0x4120 -/* 060920 7F02BDF0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02BDF4: -/* 060924 7F02BDF4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 060928 7F02BDF8 03E00008 */ jr $ra -/* 06092C 7F02BDFC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02BE00(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02BE00 -/* 060930 7F02BE00 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 060934 7F02BE04 AFBF0014 */ sw $ra, 0x14($sp) -/* 060938 7F02BE08 AFA40020 */ sw $a0, 0x20($sp) -/* 06093C 7F02BE0C 8C84001C */ lw $a0, 0x1c($a0) -/* 060940 7F02BE10 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060944 7F02BE14 AFA4001C */ sw $a0, 0x1c($sp) -/* 060948 7F02BE18 8FA4001C */ lw $a0, 0x1c($sp) -/* 06094C 7F02BE1C 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 060950 7F02BE20 E7A00018 */ swc1 $f0, 0x18($sp) -/* 060954 7F02BE24 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 060958 7F02BE28 4604003E */ c.le.s $f0, $f4 -/* 06095C 7F02BE2C 00000000 */ nop -/* 060960 7F02BE30 45020006 */ bc1fl .L7F02BE4C -/* 060964 7F02BE34 8FBF0014 */ lw $ra, 0x14($sp) -/* 060968 7F02BE38 0FC0A6EC */ jal sub_GAME_7F029BB0 -/* 06096C 7F02BE3C 8FA40020 */ lw $a0, 0x20($sp) -/* 060970 7F02BE40 0FC08F92 */ jal sub_GAME_7F023E48 -/* 060974 7F02BE44 8FA40020 */ lw $a0, 0x20($sp) -/* 060978 7F02BE48 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02BE4C: -/* 06097C 7F02BE4C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 060980 7F02BE50 03E00008 */ jr $ra -/* 060984 7F02BE54 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02BE58(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02BE58 -/* 060988 7F02BE58 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 06098C 7F02BE5C AFBF0014 */ sw $ra, 0x14($sp) -/* 060990 7F02BE60 AFA40020 */ sw $a0, 0x20($sp) -/* 060994 7F02BE64 8C84001C */ lw $a0, 0x1c($a0) -/* 060998 7F02BE68 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 06099C 7F02BE6C AFA4001C */ sw $a0, 0x1c($sp) -/* 0609A0 7F02BE70 8FA4001C */ lw $a0, 0x1c($sp) -/* 0609A4 7F02BE74 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 0609A8 7F02BE78 E7A00018 */ swc1 $f0, 0x18($sp) -/* 0609AC 7F02BE7C C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0609B0 7F02BE80 4604003E */ c.le.s $f0, $f4 -/* 0609B4 7F02BE84 00000000 */ nop -/* 0609B8 7F02BE88 45020004 */ bc1fl .L7F02BE9C -/* 0609BC 7F02BE8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0609C0 7F02BE90 0FC08F2E */ jal sub_GAME_7F023CB8 -/* 0609C4 7F02BE94 8FA40020 */ lw $a0, 0x20($sp) -/* 0609C8 7F02BE98 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02BE9C: -/* 0609CC 7F02BE9C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0609D0 7F02BEA0 03E00008 */ jr $ra -/* 0609D4 7F02BEA4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02BEA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02BEA8 -/* 0609D8 7F02BEA8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0609DC 7F02BEAC AFBF0014 */ sw $ra, 0x14($sp) -/* 0609E0 7F02BEB0 AFA40020 */ sw $a0, 0x20($sp) -/* 0609E4 7F02BEB4 8C84001C */ lw $a0, 0x1c($a0) -/* 0609E8 7F02BEB8 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 0609EC 7F02BEBC AFA4001C */ sw $a0, 0x1c($sp) -/* 0609F0 7F02BEC0 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0609F4 7F02BEC4 44812000 */ mtc1 $at, $f4 -/* 0609F8 7F02BEC8 00000000 */ nop -/* 0609FC 7F02BECC 4600203E */ c.le.s $f4, $f0 -/* 060A00 7F02BED0 00000000 */ nop -/* 060A04 7F02BED4 45000003 */ bc1f .L7F02BEE4 -/* 060A08 7F02BED8 00000000 */ nop -/* 060A0C 7F02BEDC 0FC15772 */ jal start_alarm -/* 060A10 7F02BEE0 00000000 */ nop -.L7F02BEE4: -/* 060A14 7F02BEE4 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060A18 7F02BEE8 8FA4001C */ lw $a0, 0x1c($sp) -/* 060A1C 7F02BEEC E7A00018 */ swc1 $f0, 0x18($sp) -/* 060A20 7F02BEF0 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 060A24 7F02BEF4 8FA4001C */ lw $a0, 0x1c($sp) -/* 060A28 7F02BEF8 C7A60018 */ lwc1 $f6, 0x18($sp) -/* 060A2C 7F02BEFC 4606003E */ c.le.s $f0, $f6 -/* 060A30 7F02BF00 00000000 */ nop -/* 060A34 7F02BF04 45020004 */ bc1fl .L7F02BF18 -/* 060A38 7F02BF08 8FBF0014 */ lw $ra, 0x14($sp) -/* 060A3C 7F02BF0C 0FC08F92 */ jal sub_GAME_7F023E48 -/* 060A40 7F02BF10 8FA40020 */ lw $a0, 0x20($sp) -/* 060A44 7F02BF14 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02BF18: -/* 060A48 7F02BF18 27BD0020 */ addiu $sp, $sp, 0x20 -/* 060A4C 7F02BF1C 03E00008 */ jr $ra -/* 060A50 7F02BF20 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02BF24(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02BF24 -/* 060A54 7F02BF24 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 060A58 7F02BF28 AFBF001C */ sw $ra, 0x1c($sp) -/* 060A5C 7F02BF2C AFB00018 */ sw $s0, 0x18($sp) -/* 060A60 7F02BF30 AFA40028 */ sw $a0, 0x28($sp) -/* 060A64 7F02BF34 8C90001C */ lw $s0, 0x1c($a0) -/* 060A68 7F02BF38 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060A6C 7F02BF3C 02002025 */ move $a0, $s0 -/* 060A70 7F02BF40 E7A00020 */ swc1 $f0, 0x20($sp) -/* 060A74 7F02BF44 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 060A78 7F02BF48 02002025 */ move $a0, $s0 -/* 060A7C 7F02BF4C C7A40020 */ lwc1 $f4, 0x20($sp) -/* 060A80 7F02BF50 4604003E */ c.le.s $f0, $f4 -/* 060A84 7F02BF54 00000000 */ nop -/* 060A88 7F02BF58 4502001E */ bc1fl .L7F02BFD4 -/* 060A8C 7F02BF5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 060A90 7F02BF60 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 060A94 7F02BF64 02002025 */ move $a0, $s0 -/* 060A98 7F02BF68 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 060A9C 7F02BF6C 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 060AA0 7F02BF70 3C180000 */ lui $t8, %hi(0x00004384) # $t8, 0 -/* 060AA4 7F02BF74 27184384 */ addiu $t8, %lo(0x00004384) # addiu $t8, $t8, 0x4384 -/* 060AA8 7F02BF78 01F8C821 */ addu $t9, $t7, $t8 -/* 060AAC 7F02BF7C 14590005 */ bne $v0, $t9, .L7F02BF94 -/* 060AB0 7F02BF80 8FA40028 */ lw $a0, 0x28($sp) -/* 060AB4 7F02BF84 0FC08F85 */ jal sub_GAME_7F023E14 -/* 060AB8 7F02BF88 3C0541D0 */ lui $a1, 0x41d0 -/* 060ABC 7F02BF8C 10000011 */ b .L7F02BFD4 -/* 060AC0 7F02BF90 8FBF001C */ lw $ra, 0x1c($sp) -.L7F02BF94: -/* 060AC4 7F02BF94 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 060AC8 7F02BF98 02002025 */ move $a0, $s0 -/* 060ACC 7F02BF9C 3C088007 */ lui $t0, %hi(ptr_animation_table) -/* 060AD0 7F02BFA0 8D089538 */ lw $t0, %lo(ptr_animation_table)($t0) -/* 060AD4 7F02BFA4 3C090000 */ lui $t1, %hi(0x00005D10) # $t1, 0 -/* 060AD8 7F02BFA8 25295D10 */ addiu $t1, %lo(0x00005D10) # addiu $t1, $t1, 0x5d10 -/* 060ADC 7F02BFAC 01095021 */ addu $t2, $t0, $t1 -/* 060AE0 7F02BFB0 144A0005 */ bne $v0, $t2, .L7F02BFC8 -/* 060AE4 7F02BFB4 8FA40028 */ lw $a0, 0x28($sp) -/* 060AE8 7F02BFB8 0FC08F85 */ jal sub_GAME_7F023E14 -/* 060AEC 7F02BFBC 3C0541D0 */ lui $a1, 0x41d0 -/* 060AF0 7F02BFC0 10000004 */ b .L7F02BFD4 -/* 060AF4 7F02BFC4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F02BFC8: -/* 060AF8 7F02BFC8 0FC08F92 */ jal sub_GAME_7F023E48 -/* 060AFC 7F02BFCC 8FA40028 */ lw $a0, 0x28($sp) -/* 060B00 7F02BFD0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F02BFD4: -/* 060B04 7F02BFD4 8FB00018 */ lw $s0, 0x18($sp) -/* 060B08 7F02BFD8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 060B0C 7F02BFDC 03E00008 */ jr $ra -/* 060B10 7F02BFE0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02BFE4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02BFE4 -/* 060B14 7F02BFE4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 060B18 7F02BFE8 AFBF001C */ sw $ra, 0x1c($sp) -/* 060B1C 7F02BFEC AFB00018 */ sw $s0, 0x18($sp) -/* 060B20 7F02BFF0 00808025 */ move $s0, $a0 -/* 060B24 7F02BFF4 AFA50044 */ sw $a1, 0x44($sp) -/* 060B28 7F02BFF8 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 060B2C 7F02BFFC AFA60048 */ sw $a2, 0x48($sp) -/* 060B30 7F02C000 8C430004 */ lw $v1, 4($v0) -/* 060B34 7F02C004 80640080 */ lb $a0, 0x80($v1) -/* 060B38 7F02C008 AFA00034 */ sw $zero, 0x34($sp) -/* 060B3C 7F02C00C 0FC177FC */ jal get_sound_trigger_rate -/* 060B40 7F02C010 AFA30038 */ sw $v1, 0x38($sp) -/* 060B44 7F02C014 8FA30038 */ lw $v1, 0x38($sp) -/* 060B48 7F02C018 A3A20033 */ sb $v0, 0x33($sp) -/* 060B4C 7F02C01C 0FC17805 */ jal sub_GAME_7F05E014 -/* 060B50 7F02C020 80640080 */ lb $a0, 0x80($v1) -/* 060B54 7F02C024 8FAE0048 */ lw $t6, 0x48($sp) -/* 060B58 7F02C028 8FA50034 */ lw $a1, 0x34($sp) -/* 060B5C 7F02C02C A7A20030 */ sh $v0, 0x30($sp) -/* 060B60 7F02C030 11C00012 */ beqz $t6, .L7F02C07C -/* 060B64 7F02C034 93AF0033 */ lbu $t7, 0x33($sp) -/* 060B68 7F02C038 59E00010 */ blezl $t7, .L7F02C07C -/* 060B6C 7F02C03C 24050001 */ li $a1, 1 -/* 060B70 7F02C040 96180012 */ lhu $t8, 0x12($s0) -/* 060B74 7F02C044 8FA80044 */ lw $t0, 0x44($sp) -/* 060B78 7F02C048 3C0C8005 */ lui $t4, %hi(global_timer) -/* 060B7C 7F02C04C 33190080 */ andi $t9, $t8, 0x80 -/* 060B80 7F02C050 1720000A */ bnez $t9, .L7F02C07C -/* 060B84 7F02C054 00084880 */ sll $t1, $t0, 2 -/* 060B88 7F02C058 02095021 */ addu $t2, $s0, $t1 -/* 060B8C 7F02C05C 8D4B0178 */ lw $t3, 0x178($t2) -/* 060B90 7F02C060 8D8C837C */ lw $t4, %lo(global_timer)($t4) -/* 060B94 7F02C064 016C082A */ slt $at, $t3, $t4 -/* 060B98 7F02C068 10200004 */ beqz $at, .L7F02C07C -/* 060B9C 7F02C06C 00000000 */ nop -/* 060BA0 7F02C070 10000002 */ b .L7F02C07C -/* 060BA4 7F02C074 24050001 */ li $a1, 1 -/* 060BA8 7F02C078 24050001 */ li $a1, 1 -.L7F02C07C: -/* 060BAC 7F02C07C 10A0003F */ beqz $a1, .L7F02C17C -/* 060BB0 7F02C080 8FAD0044 */ lw $t5, 0x44($sp) -/* 060BB4 7F02C084 000D70C0 */ sll $t6, $t5, 3 -/* 060BB8 7F02C088 020E1821 */ addu $v1, $s0, $t6 -/* 060BBC 7F02C08C 8C640168 */ lw $a0, 0x168($v1) -/* 060BC0 7F02C090 5080000A */ beql $a0, $zero, .L7F02C0BC -/* 060BC4 7F02C094 8C64016C */ lw $a0, 0x16c($v1) -/* 060BC8 7F02C098 0C00237C */ jal sfxGetArg0Unk3F -/* 060BCC 7F02C09C AFA30028 */ sw $v1, 0x28($sp) -/* 060BD0 7F02C0A0 10400005 */ beqz $v0, .L7F02C0B8 -/* 060BD4 7F02C0A4 8FA30028 */ lw $v1, 0x28($sp) -/* 060BD8 7F02C0A8 8C640168 */ lw $a0, 0x168($v1) -/* 060BDC 7F02C0AC 0C002408 */ jal sfxDeactivate -/* 060BE0 7F02C0B0 AFA30028 */ sw $v1, 0x28($sp) -/* 060BE4 7F02C0B4 8FA30028 */ lw $v1, 0x28($sp) -.L7F02C0B8: -/* 060BE8 7F02C0B8 8C64016C */ lw $a0, 0x16c($v1) -.L7F02C0BC: -/* 060BEC 7F02C0BC 5080000A */ beql $a0, $zero, .L7F02C0E8 -/* 060BF0 7F02C0C0 97AF0030 */ lhu $t7, 0x30($sp) -/* 060BF4 7F02C0C4 0C00237C */ jal sfxGetArg0Unk3F -/* 060BF8 7F02C0C8 AFA30028 */ sw $v1, 0x28($sp) -/* 060BFC 7F02C0CC 10400005 */ beqz $v0, .L7F02C0E4 -/* 060C00 7F02C0D0 8FA30028 */ lw $v1, 0x28($sp) -/* 060C04 7F02C0D4 8C64016C */ lw $a0, 0x16c($v1) -/* 060C08 7F02C0D8 0C002408 */ jal sfxDeactivate -/* 060C0C 7F02C0DC AFA30028 */ sw $v1, 0x28($sp) -/* 060C10 7F02C0E0 8FA30028 */ lw $v1, 0x28($sp) -.L7F02C0E4: -/* 060C14 7F02C0E4 97AF0030 */ lhu $t7, 0x30($sp) -.L7F02C0E8: -/* 060C18 7F02C0E8 51E00025 */ beql $t7, $zero, .L7F02C180 -/* 060C1C 7F02C0EC 8FBF001C */ lw $ra, 0x1c($sp) -/* 060C20 7F02C0F0 8C780168 */ lw $t8, 0x168($v1) -/* 060C24 7F02C0F4 00003025 */ move $a2, $zero -/* 060C28 7F02C0F8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 060C2C 7F02C0FC 17000003 */ bnez $t8, .L7F02C10C -/* 060C30 7F02C100 87A50030 */ lh $a1, 0x30($sp) -/* 060C34 7F02C104 10000005 */ b .L7F02C11C -/* 060C38 7F02C108 24660168 */ addiu $a2, $v1, 0x168 -.L7F02C10C: -/* 060C3C 7F02C10C 8C79016C */ lw $t9, 0x16c($v1) -/* 060C40 7F02C110 17200002 */ bnez $t9, .L7F02C11C -/* 060C44 7F02C114 00000000 */ nop -/* 060C48 7F02C118 2466016C */ addiu $a2, $v1, 0x16c -.L7F02C11C: -/* 060C4C 7F02C11C 10C00017 */ beqz $a2, .L7F02C17C -/* 060C50 7F02C120 93A80033 */ lbu $t0, 0x33($sp) -/* 060C54 7F02C124 8FA90044 */ lw $t1, 0x44($sp) -/* 060C58 7F02C128 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 060C5C 7F02C12C AFA80028 */ sw $t0, 0x28($sp) -/* 060C60 7F02C130 00095080 */ sll $t2, $t1, 2 -/* 060C64 7F02C134 020A5821 */ addu $t3, $s0, $t2 -/* 060C68 7F02C138 AFAB0024 */ sw $t3, 0x24($sp) -/* 060C6C 7F02C13C 0C002382 */ jal play_sfx_a1 -/* 060C70 7F02C140 AFA6002C */ sw $a2, 0x2c($sp) -/* 060C74 7F02C144 8FA6002C */ lw $a2, 0x2c($sp) -/* 060C78 7F02C148 8E050018 */ lw $a1, 0x18($s0) -/* 060C7C 7F02C14C 8CC40000 */ lw $a0, ($a2) -/* 060C80 7F02C150 0FC14E84 */ jal sub_GAME_7F053A10 -/* 060C84 7F02C154 24A50008 */ addiu $a1, $a1, 8 -/* 060C88 7F02C158 3C0C8005 */ lui $t4, %hi(global_timer) -/* 060C8C 7F02C15C 8D8C837C */ lw $t4, %lo(global_timer)($t4) -/* 060C90 7F02C160 8FAD0028 */ lw $t5, 0x28($sp) -/* 060C94 7F02C164 8FAF0024 */ lw $t7, 0x24($sp) -/* 060C98 7F02C168 018D7021 */ addu $t6, $t4, $t5 -/* 060C9C 7F02C16C ADEE0178 */ sw $t6, 0x178($t7) -/* 060CA0 7F02C170 96180012 */ lhu $t8, 0x12($s0) -/* 060CA4 7F02C174 37190080 */ ori $t9, $t8, 0x80 -/* 060CA8 7F02C178 A6190012 */ sh $t9, 0x12($s0) -.L7F02C17C: -/* 060CAC 7F02C17C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F02C180: -/* 060CB0 7F02C180 8FB00018 */ lw $s0, 0x18($sp) -/* 060CB4 7F02C184 27BD0040 */ addiu $sp, $sp, 0x40 -/* 060CB8 7F02C188 03E00008 */ jr $ra -/* 060CBC 7F02C18C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02C190(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E98 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F02C190 -/* 060CC0 7F02C190 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 060CC4 7F02C194 AFBF0014 */ sw $ra, 0x14($sp) -/* 060CC8 7F02C198 00802825 */ move $a1, $a0 -/* 060CCC 7F02C19C 8C84001C */ lw $a0, 0x1c($a0) -/* 060CD0 7F02C1A0 0FC1B320 */ jal getsubroty -/* 060CD4 7F02C1A4 AFA50018 */ sw $a1, 0x18($sp) -/* 060CD8 7F02C1A8 8FA50018 */ lw $a1, 0x18($sp) -/* 060CDC 7F02C1AC 3C018005 */ lui $at, %hi(D_80051E98) -/* 060CE0 7F02C1B0 C42E1E98 */ lwc1 $f14, %lo(D_80051E98)($at) -/* 060CE4 7F02C1B4 C4A4014C */ lwc1 $f4, 0x14c($a1) -/* 060CE8 7F02C1B8 44808000 */ mtc1 $zero, $f16 -/* 060CEC 7F02C1BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 060CF0 7F02C1C0 46040080 */ add.s $f2, $f0, $f4 -/* 060CF4 7F02C1C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 060CF8 7F02C1C8 46008306 */ mov.s $f12, $f16 -/* 060CFC 7F02C1CC 4602703E */ c.le.s $f14, $f2 -/* 060D00 7F02C1D0 00000000 */ nop -/* 060D04 7F02C1D4 45020004 */ bc1fl .L7F02C1E8 -/* 060D08 7F02C1D8 4610103C */ c.lt.s $f2, $f16 -/* 060D0C 7F02C1DC 10000006 */ b .L7F02C1F8 -/* 060D10 7F02C1E0 460E1081 */ sub.s $f2, $f2, $f14 -/* 060D14 7F02C1E4 4610103C */ c.lt.s $f2, $f16 -.L7F02C1E8: -/* 060D18 7F02C1E8 00000000 */ nop -/* 060D1C 7F02C1EC 45020003 */ bc1fl .L7F02C1FC -/* 060D20 7F02C1F0 80A20007 */ lb $v0, 7($a1) -/* 060D24 7F02C1F4 460E1080 */ add.s $f2, $f2, $f14 -.L7F02C1F8: -/* 060D28 7F02C1F8 80A20007 */ lb $v0, 7($a1) -.L7F02C1FC: -/* 060D2C 7F02C1FC 24010008 */ li $at, 8 -/* 060D30 7F02C200 10410003 */ beq $v0, $at, .L7F02C210 -/* 060D34 7F02C204 2401000A */ li $at, 10 -/* 060D38 7F02C208 54410005 */ bnel $v0, $at, .L7F02C220 -/* 060D3C 7F02C20C 24010019 */ li $at, 25 -.L7F02C210: -/* 060D40 7F02C210 8CAE002C */ lw $t6, 0x2c($a1) -/* 060D44 7F02C214 10000008 */ b .L7F02C238 -/* 060D48 7F02C218 C5CC000C */ lwc1 $f12, 0xc($t6) -/* 060D4C 7F02C21C 24010019 */ li $at, 25 -.L7F02C220: -/* 060D50 7F02C220 54410006 */ bnel $v0, $at, .L7F02C23C -/* 060D54 7F02C224 46106032 */ c.eq.s $f12, $f16 -/* 060D58 7F02C228 8CA2002C */ lw $v0, 0x2c($a1) -/* 060D5C 7F02C22C 50400003 */ beql $v0, $zero, .L7F02C23C -/* 060D60 7F02C230 46106032 */ c.eq.s $f12, $f16 -/* 060D64 7F02C234 C44C000C */ lwc1 $f12, 0xc($v0) -.L7F02C238: -/* 060D68 7F02C238 46106032 */ c.eq.s $f12, $f16 -.L7F02C23C: -/* 060D6C 7F02C23C 00000000 */ nop -/* 060D70 7F02C240 4501000C */ bc1t .L7F02C274 -/* 060D74 7F02C244 00000000 */ nop -/* 060D78 7F02C248 8CAF001C */ lw $t7, 0x1c($a1) -/* 060D7C 7F02C24C 81F80024 */ lb $t8, 0x24($t7) -/* 060D80 7F02C250 53000003 */ beql $t8, $zero, .L7F02C260 -/* 060D84 7F02C254 460C1080 */ add.s $f2, $f2, $f12 -/* 060D88 7F02C258 460C7301 */ sub.s $f12, $f14, $f12 -/* 060D8C 7F02C25C 460C1080 */ add.s $f2, $f2, $f12 -.L7F02C260: -/* 060D90 7F02C260 4602703E */ c.le.s $f14, $f2 -/* 060D94 7F02C264 00000000 */ nop -/* 060D98 7F02C268 45000002 */ bc1f .L7F02C274 -/* 060D9C 7F02C26C 00000000 */ nop -/* 060DA0 7F02C270 460E1081 */ sub.s $f2, $f2, $f14 -.L7F02C274: -/* 060DA4 7F02C274 03E00008 */ jr $ra -/* 060DA8 7F02C278 46001006 */ mov.s $f0, $f2 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02C27C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051E9C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F02C27C -/* 060DAC 7F02C27C C4840144 */ lwc1 $f4, 0x144($a0) -/* 060DB0 7F02C280 C4860148 */ lwc1 $f6, 0x148($a0) -/* 060DB4 7F02C284 44804000 */ mtc1 $zero, $f8 -/* 060DB8 7F02C288 3C018005 */ lui $at, %hi(D_80051E9C) -/* 060DBC 7F02C28C 46062080 */ add.s $f2, $f4, $f6 -/* 060DC0 7F02C290 4608103C */ c.lt.s $f2, $f8 -/* 060DC4 7F02C294 00000000 */ nop -/* 060DC8 7F02C298 45000003 */ bc1f .L7F02C2A8 -/* 060DCC 7F02C29C 00000000 */ nop -/* 060DD0 7F02C2A0 C42A1E9C */ lwc1 $f10, %lo(D_80051E9C)($at) -/* 060DD4 7F02C2A4 460A1080 */ add.s $f2, $f2, $f10 -.L7F02C2A8: -/* 060DD8 7F02C2A8 03E00008 */ jr $ra -/* 060DDC 7F02C2AC 46001006 */ mov.s $f0, $f2 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02C2B0(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80051EA0 -.word 0x3d80adfd /*0.062831856*/ -glabel D_80051EA4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051EA8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051EAC -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F02C2B0 -/* 060DE0 7F02C2B0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 060DE4 7F02C2B4 AFA7003C */ sw $a3, 0x3c($sp) -/* 060DE8 7F02C2B8 24010002 */ li $at, 2 -/* 060DEC 7F02C2BC 00803825 */ move $a3, $a0 -/* 060DF0 7F02C2C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 060DF4 7F02C2C4 AFA40030 */ sw $a0, 0x30($sp) -/* 060DF8 7F02C2C8 AFA50034 */ sw $a1, 0x34($sp) -/* 060DFC 7F02C2CC 10A10077 */ beq $a1, $at, .L7F02C4AC -/* 060E00 7F02C2D0 AFA60038 */ sw $a2, 0x38($sp) -/* 060E04 7F02C2D4 8C84001C */ lw $a0, 0x1c($a0) -/* 060E08 7F02C2D8 AFA70030 */ sw $a3, 0x30($sp) -/* 060E0C 7F02C2DC 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060E10 7F02C2E0 AFA4002C */ sw $a0, 0x2c($sp) -/* 060E14 7F02C2E4 E7A00028 */ swc1 $f0, 0x28($sp) -/* 060E18 7F02C2E8 0FC1B320 */ jal getsubroty -/* 060E1C 7F02C2EC 8FA4002C */ lw $a0, 0x2c($sp) -/* 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(global_timer_delta) -/* 060E30 7F02C300 C42A8378 */ lwc1 $f10, %lo(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) -/* 060E40 7F02C310 24010008 */ li $at, 8 -/* 060E44 7F02C314 C5E400A4 */ lwc1 $f4, 0xa4($t7) -/* 060E48 7F02C318 80E20007 */ lb $v0, 7($a3) -/* 060E4C 7F02C31C 46000306 */ mov.s $f12, $f0 -/* 060E50 7F02C320 460A4482 */ mul.s $f18, $f8, $f10 -/* 060E54 7F02C324 00E02025 */ move $a0, $a3 -/* 060E58 7F02C328 46049382 */ mul.s $f14, $f18, $f4 -/* 060E5C 7F02C32C 5441000A */ bnel $v0, $at, .L7F02C358 -/* 060E60 7F02C330 24010001 */ li $at, 1 -/* 060E64 7F02C334 8CE5004C */ lw $a1, 0x4c($a3) -/* 060E68 7F02C338 8CE60050 */ lw $a2, 0x50($a3) -/* 060E6C 7F02C33C E7AE0018 */ swc1 $f14, 0x18($sp) -/* 060E70 7F02C340 0FC0942F */ jal sub_GAME_7F0250BC -/* 060E74 7F02C344 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 060E78 7F02C348 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 060E7C 7F02C34C 10000015 */ b .L7F02C3A4 -/* 060E80 7F02C350 C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 060E84 7F02C354 24010001 */ li $at, 1 -.L7F02C358: -/* 060E88 7F02C358 14410009 */ bne $v0, $at, .L7F02C380 -/* 060E8C 7F02C35C 00E02025 */ move $a0, $a3 -/* 060E90 7F02C360 8CE50030 */ lw $a1, 0x30($a3) -/* 060E94 7F02C364 8CE60034 */ lw $a2, 0x34($a3) -/* 060E98 7F02C368 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 060E9C 7F02C36C 0FC0942F */ jal sub_GAME_7F0250BC -/* 060EA0 7F02C370 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 060EA4 7F02C374 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 060EA8 7F02C378 1000000A */ b .L7F02C3A4 -/* 060EAC 7F02C37C C7AE0018 */ lwc1 $f14, 0x18($sp) -.L7F02C380: -/* 060EB0 7F02C380 AFA70030 */ sw $a3, 0x30($sp) -/* 060EB4 7F02C384 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 060EB8 7F02C388 0FC225E6 */ jal get_curplayer_positiondata -/* 060EBC 7F02C38C E7AE0018 */ swc1 $f14, 0x18($sp) -/* 060EC0 7F02C390 8FA40030 */ lw $a0, 0x30($sp) -/* 060EC4 7F02C394 0FC0CAF6 */ jal get_distance_actor_to_position -/* 060EC8 7F02C398 24450008 */ addiu $a1, $v0, 8 -/* 060ECC 7F02C39C C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 060ED0 7F02C3A0 C7AE0018 */ lwc1 $f14, 0x18($sp) -.L7F02C3A4: -/* 060ED4 7F02C3A4 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 060ED8 7F02C3A8 44808000 */ mtc1 $zero, $f16 -/* 060EDC 7F02C3AC 3C018005 */ lui $at, %hi(D_80051EA4) -/* 060EE0 7F02C3B0 46060081 */ sub.s $f2, $f0, $f6 -/* 060EE4 7F02C3B4 4610103C */ c.lt.s $f2, $f16 -/* 060EE8 7F02C3B8 00000000 */ nop -/* 060EEC 7F02C3BC 45020004 */ bc1fl .L7F02C3D0 -/* 060EF0 7F02C3C0 460E103C */ c.lt.s $f2, $f14 -/* 060EF4 7F02C3C4 C4201EA4 */ lwc1 $f0, %lo(D_80051EA4)($at) -/* 060EF8 7F02C3C8 46001080 */ add.s $f2, $f2, $f0 -/* 060EFC 7F02C3CC 460E103C */ c.lt.s $f2, $f14 -.L7F02C3D0: -/* 060F00 7F02C3D0 3C018005 */ lui $at, %hi(D_80051EA8) -/* 060F04 7F02C3D4 C4201EA8 */ lwc1 $f0, %lo(D_80051EA8)($at) -/* 060F08 7F02C3D8 45030008 */ bc1tl .L7F02C3FC -/* 060F0C 7F02C3DC 46026300 */ add.s $f12, $f12, $f2 -/* 060F10 7F02C3E0 460E0201 */ sub.s $f8, $f0, $f14 -/* 060F14 7F02C3E4 3C018005 */ lui $at, %hi(D_80051EAC) -/* 060F18 7F02C3E8 4602403C */ c.lt.s $f8, $f2 -/* 060F1C 7F02C3EC 00000000 */ nop -/* 060F20 7F02C3F0 4500000D */ bc1f .L7F02C428 -/* 060F24 7F02C3F4 00000000 */ nop -/* 060F28 7F02C3F8 46026300 */ add.s $f12, $f12, $f2 -.L7F02C3FC: -/* 060F2C 7F02C3FC 460C003E */ c.le.s $f0, $f12 -/* 060F30 7F02C400 00000000 */ nop -/* 060F34 7F02C404 45020003 */ bc1fl .L7F02C414 -/* 060F38 7F02C408 44056000 */ mfc1 $a1, $f12 -/* 060F3C 7F02C40C 46006301 */ sub.s $f12, $f12, $f0 -/* 060F40 7F02C410 44056000 */ mfc1 $a1, $f12 -.L7F02C414: -/* 060F44 7F02C414 0FC1B34F */ jal setsubroty -/* 060F48 7F02C418 8FA4002C */ lw $a0, 0x2c($sp) -/* 060F4C 7F02C41C 24180003 */ li $t8, 3 -/* 060F50 7F02C420 1000001A */ b .L7F02C48C -/* 060F54 7F02C424 AFB80034 */ sw $t8, 0x34($sp) -.L7F02C428: -/* 060F58 7F02C428 C42A1EAC */ lwc1 $f10, %lo(D_80051EAC)($at) -/* 060F5C 7F02C42C 460A103C */ c.lt.s $f2, $f10 -/* 060F60 7F02C430 00000000 */ nop -/* 060F64 7F02C434 4502000D */ bc1fl .L7F02C46C -/* 060F68 7F02C438 460E6301 */ sub.s $f12, $f12, $f14 -/* 060F6C 7F02C43C 460E6300 */ add.s $f12, $f12, $f14 -/* 060F70 7F02C440 460C003E */ c.le.s $f0, $f12 -/* 060F74 7F02C444 00000000 */ nop -/* 060F78 7F02C448 45020003 */ bc1fl .L7F02C458 -/* 060F7C 7F02C44C 44056000 */ mfc1 $a1, $f12 -/* 060F80 7F02C450 46006301 */ sub.s $f12, $f12, $f0 -/* 060F84 7F02C454 44056000 */ mfc1 $a1, $f12 -.L7F02C458: -/* 060F88 7F02C458 0FC1B34F */ jal setsubroty -/* 060F8C 7F02C45C 8FA4002C */ lw $a0, 0x2c($sp) -/* 060F90 7F02C460 1000000B */ b .L7F02C490 -/* 060F94 7F02C464 C7B20028 */ lwc1 $f18, 0x28($sp) -/* 060F98 7F02C468 460E6301 */ sub.s $f12, $f12, $f14 -.L7F02C46C: -/* 060F9C 7F02C46C 4610603C */ c.lt.s $f12, $f16 -/* 060FA0 7F02C470 00000000 */ nop -/* 060FA4 7F02C474 45020003 */ bc1fl .L7F02C484 -/* 060FA8 7F02C478 44056000 */ mfc1 $a1, $f12 -/* 060FAC 7F02C47C 46006300 */ add.s $f12, $f12, $f0 -/* 060FB0 7F02C480 44056000 */ mfc1 $a1, $f12 -.L7F02C484: -/* 060FB4 7F02C484 0FC1B34F */ jal setsubroty -/* 060FB8 7F02C488 8FA4002C */ lw $a0, 0x2c($sp) -.L7F02C48C: -/* 060FBC 7F02C48C C7B20028 */ lwc1 $f18, 0x28($sp) -.L7F02C490: -/* 060FC0 7F02C490 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 060FC4 7F02C494 24190002 */ li $t9, 2 -/* 060FC8 7F02C498 4612203E */ c.le.s $f4, $f18 -/* 060FCC 7F02C49C 00000000 */ nop -/* 060FD0 7F02C4A0 45020003 */ bc1fl .L7F02C4B0 -/* 060FD4 7F02C4A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 060FD8 7F02C4A8 AFB90034 */ sw $t9, 0x34($sp) -.L7F02C4AC: -/* 060FDC 7F02C4AC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02C4B0: -/* 060FE0 7F02C4B0 8FA20034 */ lw $v0, 0x34($sp) -/* 060FE4 7F02C4B4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 060FE8 7F02C4B8 03E00008 */ jr $ra -/* 060FEC 7F02C4BC 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80051EA0 -.word 0x3d80adfd /*0.062831856*/ -glabel D_80051EA4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051EA8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051EAC -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F02C2B0 -/* 060DE0 7F02C2B0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 060DE4 7F02C2B4 AFA7003C */ sw $a3, 0x3c($sp) -/* 060DE8 7F02C2B8 24010002 */ li $at, 2 -/* 060DEC 7F02C2BC 00803825 */ move $a3, $a0 -/* 060DF0 7F02C2C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 060DF4 7F02C2C4 AFA40030 */ sw $a0, 0x30($sp) -/* 060DF8 7F02C2C8 AFA50034 */ sw $a1, 0x34($sp) -/* 060DFC 7F02C2CC 10A10077 */ beq $a1, $at, .L7F02C4AC -/* 060E00 7F02C2D0 AFA60038 */ sw $a2, 0x38($sp) -/* 060E04 7F02C2D4 8C84001C */ lw $a0, 0x1c($a0) -/* 060E08 7F02C2D8 AFA70030 */ sw $a3, 0x30($sp) -/* 060E0C 7F02C2DC 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 060E10 7F02C2E0 AFA4002C */ sw $a0, 0x2c($sp) -/* 060E14 7F02C2E4 E7A00028 */ swc1 $f0, 0x28($sp) -/* 060E18 7F02C2E8 0FC1B320 */ jal getsubroty -/* 060E1C 7F02C2EC 8FA4002C */ lw $a0, 0x2c($sp) -/* 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(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) -/* 060E40 7F02C310 24010008 */ li $at, 8 -/* 060E44 7F02C314 C5E400A4 */ lwc1 $f4, 0xa4($t7) -/* 060E48 7F02C318 80E20007 */ lb $v0, 7($a3) -/* 060E4C 7F02C31C 46000306 */ mov.s $f12, $f0 -/* 060E50 7F02C320 460A4482 */ mul.s $f18, $f8, $f10 -/* 060E54 7F02C324 00E02025 */ move $a0, $a3 -/* 060E58 7F02C328 46049382 */ mul.s $f14, $f18, $f4 -/* 060E5C 7F02C32C 5441000A */ bnel $v0, $at, .L7F02C358 -/* 060E60 7F02C330 24010001 */ li $at, 1 -/* 060E64 7F02C334 8CE5004C */ lw $a1, 0x4c($a3) -/* 060E68 7F02C338 8CE60050 */ lw $a2, 0x50($a3) -/* 060E6C 7F02C33C E7AE0018 */ swc1 $f14, 0x18($sp) -/* 060E70 7F02C340 0FC0942F */ jal sub_GAME_7F0250BC -/* 060E74 7F02C344 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 060E78 7F02C348 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 060E7C 7F02C34C 10000015 */ b .L7F02C3A4 -/* 060E80 7F02C350 C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 060E84 7F02C354 24010001 */ li $at, 1 -.L7F02C358: -/* 060E88 7F02C358 14410009 */ bne $v0, $at, .L7F02C380 -/* 060E8C 7F02C35C 00E02025 */ move $a0, $a3 -/* 060E90 7F02C360 8CE50030 */ lw $a1, 0x30($a3) -/* 060E94 7F02C364 8CE60034 */ lw $a2, 0x34($a3) -/* 060E98 7F02C368 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 060E9C 7F02C36C 0FC0942F */ jal sub_GAME_7F0250BC -/* 060EA0 7F02C370 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 060EA4 7F02C374 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 060EA8 7F02C378 1000000A */ b .L7F02C3A4 -/* 060EAC 7F02C37C C7AE0018 */ lwc1 $f14, 0x18($sp) -.L7F02C380: -/* 060EB0 7F02C380 AFA70030 */ sw $a3, 0x30($sp) -/* 060EB4 7F02C384 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 060EB8 7F02C388 0FC225E6 */ jal get_curplayer_positiondata -/* 060EBC 7F02C38C E7AE0018 */ swc1 $f14, 0x18($sp) -/* 060EC0 7F02C390 8FA40030 */ lw $a0, 0x30($sp) -/* 060EC4 7F02C394 0FC0CAF6 */ jal get_distance_actor_to_position -/* 060EC8 7F02C398 24450008 */ addiu $a1, $v0, 8 -/* 060ECC 7F02C39C C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 060ED0 7F02C3A0 C7AE0018 */ lwc1 $f14, 0x18($sp) -.L7F02C3A4: -/* 060ED4 7F02C3A4 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 060ED8 7F02C3A8 44808000 */ mtc1 $zero, $f16 -/* 060EDC 7F02C3AC 3C018005 */ lui $at, %hi(D_80051EA4) -/* 060EE0 7F02C3B0 46060081 */ sub.s $f2, $f0, $f6 -/* 060EE4 7F02C3B4 4610103C */ c.lt.s $f2, $f16 -/* 060EE8 7F02C3B8 00000000 */ nop -/* 060EEC 7F02C3BC 45020004 */ bc1fl .L7F02C3D0 -/* 060EF0 7F02C3C0 460E103C */ c.lt.s $f2, $f14 -/* 060EF4 7F02C3C4 C4201EA4 */ lwc1 $f0, %lo(D_80051EA4)($at) -/* 060EF8 7F02C3C8 46001080 */ add.s $f2, $f2, $f0 -/* 060EFC 7F02C3CC 460E103C */ c.lt.s $f2, $f14 -.L7F02C3D0: -/* 060F00 7F02C3D0 3C018005 */ lui $at, %hi(D_80051EA8) -/* 060F04 7F02C3D4 C4201EA8 */ lwc1 $f0, %lo(D_80051EA8)($at) -/* 060F08 7F02C3D8 45030008 */ bc1tl .L7F02C3FC -/* 060F0C 7F02C3DC 46026300 */ add.s $f12, $f12, $f2 -/* 060F10 7F02C3E0 460E0201 */ sub.s $f8, $f0, $f14 -/* 060F14 7F02C3E4 3C018005 */ lui $at, %hi(D_80051EAC) -/* 060F18 7F02C3E8 4602403C */ c.lt.s $f8, $f2 -/* 060F1C 7F02C3EC 00000000 */ nop -/* 060F20 7F02C3F0 4500000D */ bc1f .L7F02C428 -/* 060F24 7F02C3F4 00000000 */ nop -/* 060F28 7F02C3F8 46026300 */ add.s $f12, $f12, $f2 -.L7F02C3FC: -/* 060F2C 7F02C3FC 460C003E */ c.le.s $f0, $f12 -/* 060F30 7F02C400 00000000 */ nop -/* 060F34 7F02C404 45020003 */ bc1fl .L7F02C414 -/* 060F38 7F02C408 44056000 */ mfc1 $a1, $f12 -/* 060F3C 7F02C40C 46006301 */ sub.s $f12, $f12, $f0 -/* 060F40 7F02C410 44056000 */ mfc1 $a1, $f12 -.L7F02C414: -/* 060F44 7F02C414 0FC1B34F */ jal setsubroty -/* 060F48 7F02C418 8FA4002C */ lw $a0, 0x2c($sp) -/* 060F4C 7F02C41C 24180003 */ li $t8, 3 -/* 060F50 7F02C420 1000001A */ b .L7F02C48C -/* 060F54 7F02C424 AFB80034 */ sw $t8, 0x34($sp) -.L7F02C428: -/* 060F58 7F02C428 C42A1EAC */ lwc1 $f10, %lo(D_80051EAC)($at) -/* 060F5C 7F02C42C 460A103C */ c.lt.s $f2, $f10 -/* 060F60 7F02C430 00000000 */ nop -/* 060F64 7F02C434 4502000D */ bc1fl .L7F02C46C -/* 060F68 7F02C438 460E6301 */ sub.s $f12, $f12, $f14 -/* 060F6C 7F02C43C 460E6300 */ add.s $f12, $f12, $f14 -/* 060F70 7F02C440 460C003E */ c.le.s $f0, $f12 -/* 060F74 7F02C444 00000000 */ nop -/* 060F78 7F02C448 45020003 */ bc1fl .L7F02C458 -/* 060F7C 7F02C44C 44056000 */ mfc1 $a1, $f12 -/* 060F80 7F02C450 46006301 */ sub.s $f12, $f12, $f0 -/* 060F84 7F02C454 44056000 */ mfc1 $a1, $f12 -.L7F02C458: -/* 060F88 7F02C458 0FC1B34F */ jal setsubroty -/* 060F8C 7F02C45C 8FA4002C */ lw $a0, 0x2c($sp) -/* 060F90 7F02C460 1000000B */ b .L7F02C490 -/* 060F94 7F02C464 C7B20028 */ lwc1 $f18, 0x28($sp) -/* 060F98 7F02C468 460E6301 */ sub.s $f12, $f12, $f14 -.L7F02C46C: -/* 060F9C 7F02C46C 4610603C */ c.lt.s $f12, $f16 -/* 060FA0 7F02C470 00000000 */ nop -/* 060FA4 7F02C474 45020003 */ bc1fl .L7F02C484 -/* 060FA8 7F02C478 44056000 */ mfc1 $a1, $f12 -/* 060FAC 7F02C47C 46006300 */ add.s $f12, $f12, $f0 -/* 060FB0 7F02C480 44056000 */ mfc1 $a1, $f12 -.L7F02C484: -/* 060FB4 7F02C484 0FC1B34F */ jal setsubroty -/* 060FB8 7F02C488 8FA4002C */ lw $a0, 0x2c($sp) -.L7F02C48C: -/* 060FBC 7F02C48C C7B20028 */ lwc1 $f18, 0x28($sp) -.L7F02C490: -/* 060FC0 7F02C490 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 060FC4 7F02C494 24190002 */ li $t9, 2 -/* 060FC8 7F02C498 4612203E */ c.le.s $f4, $f18 -/* 060FCC 7F02C49C 00000000 */ nop -/* 060FD0 7F02C4A0 45020003 */ bc1fl .L7F02C4B0 -/* 060FD4 7F02C4A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 060FD8 7F02C4A8 AFB90034 */ sw $t9, 0x34($sp) -.L7F02C4AC: -/* 060FDC 7F02C4AC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02C4B0: -/* 060FE0 7F02C4B0 8FA20034 */ lw $v0, 0x34($sp) -/* 060FE4 7F02C4B4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 060FE8 7F02C4B8 03E00008 */ jr $ra -/* 060FEC 7F02C4BC 00000000 */ nop -) -#endif -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F02C4C0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051EB0 -.word 0x481c4000 /*160000.0*/ -glabel D_80051EB4 -.word 0x3dcccccd /*0.1*/ -glabel D_80051EB8 -.word 0x3f0ccccd /*0.55000001*/ -glabel D_80051EBC -.word 0x3dcccccd /*0.1*/ -glabel D_80051EC0 -.word 0x3e19999a /*0.15000001*/ -glabel D_80051EC4 -.word 0x3dcccccd /*0.1*/ -glabel D_80051EC8 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_80051ECC -.word 0x3ccccccd /*0.025*/ -glabel D_80051ED0 -.word 0x49742400 /*1000000.0*/ -glabel D_80051ED4 -.word 0x3dcccccd /*0.1*/ -glabel D_80051ED8 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_80051EDC -.word 0x3f0ccccd /*0.55000001*/ -glabel D_80051EE0 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_80051EE4 -.word 0x3dcccccd /*0.1*/ -glabel D_80051EE8 -.word 0x3f0ccccd /*0.55000001*/ -glabel D_80051EEC -.word 0x3dcccccd /*0.1*/ -glabel D_80051EF0 -.word 0x3e19999a /*0.15000001*/ -glabel D_80051EF4 -.word 0x3dcccccd /*0.1*/ -glabel D_80051EF8 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_80051EFC -.word 0x40490fdb /*3.1415927*/ -glabel D_80051F00 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F04 -.word 0x49742400 /*1000000.0*/ -glabel D_80051F08 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F0C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F10 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F14 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F18 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F1C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F20 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F24 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F28 -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F02C4C0 -/* 060FF0 7F02C4C0 27BDFE98 */ addiu $sp, $sp, -0x168 -/* 060FF4 7F02C4C4 44808000 */ mtc1 $zero, $f16 -/* 060FF8 7F02C4C8 240E0001 */ li $t6, 1 -/* 060FFC 7F02C4CC AFBF001C */ sw $ra, 0x1c($sp) -/* 061000 7F02C4D0 AFA5016C */ sw $a1, 0x16c($sp) -/* 061004 7F02C4D4 AFA60170 */ sw $a2, 0x170($sp) -/* 061008 7F02C4D8 AFA70174 */ sw $a3, 0x174($sp) -/* 06100C 7F02C4DC AFAE0154 */ sw $t6, 0x154($sp) -/* 061010 7F02C4E0 E7B00164 */ swc1 $f16, 0x164($sp) -/* 061014 7F02C4E4 80820007 */ lb $v0, 7($a0) -/* 061018 7F02C4E8 24010008 */ li $at, 8 -/* 06101C 7F02C4EC 24080001 */ li $t0, 1 -/* 061020 7F02C4F0 14410004 */ bne $v0, $at, .L7F02C504 -/* 061024 7F02C4F4 00001825 */ move $v1, $zero -/* 061028 7F02C4F8 8C88004C */ lw $t0, 0x4c($a0) -/* 06102C 7F02C4FC 10000006 */ b .L7F02C518 -/* 061030 7F02C500 8C830050 */ lw $v1, 0x50($a0) -.L7F02C504: -/* 061034 7F02C504 24010001 */ li $at, 1 -/* 061038 7F02C508 54410004 */ bnel $v0, $at, .L7F02C51C -/* 06103C 7F02C50C 310F0002 */ andi $t7, $t0, 2 -/* 061040 7F02C510 8C880030 */ lw $t0, 0x30($a0) -/* 061044 7F02C514 8C830034 */ lw $v1, 0x34($a0) -.L7F02C518: -/* 061048 7F02C518 310F0002 */ andi $t7, $t0, 2 -.L7F02C51C: -/* 06104C 7F02C51C 15E002B8 */ bnez $t7, .L7F02D000 -/* 061050 7F02C520 AFA40168 */ sw $a0, 0x168($sp) -/* 061054 7F02C524 AFA30158 */ sw $v1, 0x158($sp) -/* 061058 7F02C528 AFA40168 */ sw $a0, 0x168($sp) -/* 06105C 7F02C52C AFA8015C */ sw $t0, 0x15c($sp) -/* 061060 7F02C530 0FC225E6 */ jal get_curplayer_positiondata -/* 061064 7F02C534 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061068 7F02C538 8FA60168 */ lw $a2, 0x168($sp) -/* 06106C 7F02C53C 24590008 */ addiu $t9, $v0, 8 -/* 061070 7F02C540 8FAA015C */ lw $t2, 0x15c($sp) -/* 061074 7F02C544 8CD80018 */ lw $t8, 0x18($a2) -/* 061078 7F02C548 AFB90134 */ sw $t9, 0x134($sp) -/* 06107C 7F02C54C 314B0001 */ andi $t3, $t2, 1 -/* 061080 7F02C550 AFB8013C */ sw $t8, 0x13c($sp) -/* 061084 7F02C554 C4440008 */ lwc1 $f4, 8($v0) -/* 061088 7F02C558 C7060008 */ lwc1 $f6, 8($t8) -/* 06108C 7F02C55C C7B00160 */ lwc1 $f16, 0x160($sp) -/* 061090 7F02C560 240E0001 */ li $t6, 1 -/* 061094 7F02C564 46062201 */ sub.s $f8, $f4, $f6 -/* 061098 7F02C568 314C0040 */ andi $t4, $t2, 0x40 -/* 06109C 7F02C56C E7A80150 */ swc1 $f8, 0x150($sp) -/* 0610A0 7F02C570 C44A000C */ lwc1 $f10, 0xc($v0) -/* 0610A4 7F02C574 C712000C */ lwc1 $f18, 0xc($t8) -/* 0610A8 7F02C578 46125101 */ sub.s $f4, $f10, $f18 -/* 0610AC 7F02C57C C7B20150 */ lwc1 $f18, 0x150($sp) -/* 0610B0 7F02C580 E7A4014C */ swc1 $f4, 0x14c($sp) -/* 0610B4 7F02C584 C4460010 */ lwc1 $f6, 0x10($v0) -/* 0610B8 7F02C588 C7080010 */ lwc1 $f8, 0x10($t8) -/* 0610BC 7F02C58C 46129102 */ mul.s $f4, $f18, $f18 -/* 0610C0 7F02C590 AFAB0028 */ sw $t3, 0x28($sp) -/* 0610C4 7F02C594 46083281 */ sub.s $f10, $f6, $f8 -/* 0610C8 7F02C598 C7A6014C */ lwc1 $f6, 0x14c($sp) -/* 0610CC 7F02C59C 46063202 */ mul.s $f8, $f6, $f6 -/* 0610D0 7F02C5A0 E7AA0148 */ swc1 $f10, 0x148($sp) -/* 0610D4 7F02C5A4 C7B20148 */ lwc1 $f18, 0x148($sp) -/* 0610D8 7F02C5A8 46129182 */ mul.s $f6, $f18, $f18 -/* 0610DC 7F02C5AC 46082280 */ add.s $f10, $f4, $f8 -/* 0610E0 7F02C5B0 46065080 */ add.s $f2, $f10, $f6 -/* 0610E4 7F02C5B4 1160000E */ beqz $t3, .L7F02C5F0 -/* 0610E8 7F02C5B8 E7A20144 */ swc1 $f2, 0x144($sp) -/* 0610EC 7F02C5BC 11800004 */ beqz $t4, .L7F02C5D0 -/* 0610F0 7F02C5C0 00C02025 */ move $a0, $a2 -/* 0610F4 7F02C5C4 240D0001 */ li $t5, 1 -/* 0610F8 7F02C5C8 1000000A */ b .L7F02C5F4 -/* 0610FC 7F02C5CC AFAD0138 */ sw $t5, 0x138($sp) -.L7F02C5D0: -/* 061100 7F02C5D0 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 061104 7F02C5D4 0FC0A52F */ jal sub_GAME_7F0294BC -/* 061108 7F02C5D8 E7B00160 */ swc1 $f16, 0x160($sp) -/* 06110C 7F02C5DC C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 061110 7F02C5E0 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 061114 7F02C5E4 AFA20138 */ sw $v0, 0x138($sp) -/* 061118 7F02C5E8 10000002 */ b .L7F02C5F4 -/* 06111C 7F02C5EC 8FA60168 */ lw $a2, 0x168($sp) -.L7F02C5F0: -/* 061120 7F02C5F0 AFAE0138 */ sw $t6, 0x138($sp) -.L7F02C5F4: -/* 061124 7F02C5F4 8FAF0028 */ lw $t7, 0x28($sp) -/* 061128 7F02C5F8 3C048008 */ lui $a0, %hi(pPlayer) -/* 06112C 7F02C5FC 27A50120 */ addiu $a1, $sp, 0x120 -/* 061130 7F02C600 51E00137 */ beql $t7, $zero, .L7F02CAE0 -/* 061134 7F02C604 8CC4001C */ lw $a0, 0x1c($a2) -/* 061138 7F02C608 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 06113C 7F02C60C E7A2002C */ swc1 $f2, 0x2c($sp) -/* 061140 7F02C610 0FC225E0 */ jal sub_GAME_7F089780 -/* 061144 7F02C614 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061148 7F02C618 8FB80168 */ lw $t8, 0x168($sp) -/* 06114C 7F02C61C E7A00130 */ swc1 $f0, 0x130($sp) -/* 061150 7F02C620 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 061154 7F02C624 8F190014 */ lw $t9, 0x14($t8) -/* 061158 7F02C628 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 06115C 7F02C62C 3C018005 */ lui $at, %hi(D_80051EB0) -/* 061160 7F02C630 33290020 */ andi $t1, $t9, 0x20 -/* 061164 7F02C634 11200085 */ beqz $t1, .L7F02C84C -/* 061168 7F02C638 00000000 */ nop -/* 06116C 7F02C63C 3C018005 */ lui $at, %hi(D_80051EB0) -/* 061170 7F02C640 C4241EB0 */ lwc1 $f4, %lo(D_80051EB0)($at) -/* 061174 7F02C644 8FAA0134 */ lw $t2, 0x134($sp) -/* 061178 7F02C648 4604103C */ c.lt.s $f2, $f4 -/* 06117C 7F02C64C 00000000 */ nop -/* 061180 7F02C650 45000063 */ bc1f .L7F02C7E0 -/* 061184 7F02C654 00000000 */ nop -/* 061188 7F02C658 46000200 */ add.s $f8, $f0, $f0 -/* 06118C 7F02C65C C54C0004 */ lwc1 $f12, 4($t2) -/* 061190 7F02C660 8FAB013C */ lw $t3, 0x13c($sp) -/* 061194 7F02C664 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 061198 7F02C668 46086481 */ sub.s $f18, $f12, $f8 -/* 06119C 7F02C66C C562000C */ lwc1 $f2, 0xc($t3) -/* 0611A0 7F02C670 4612103C */ c.lt.s $f2, $f18 -/* 0611A4 7F02C674 00000000 */ nop -/* 0611A8 7F02C678 4502001D */ bc1fl .L7F02C6F0 -/* 0611AC 7F02C67C 44812000 */ mtc1 $at, $f4 -/* 0611B0 7F02C680 0C002914 */ jal get_random_value -/* 0611B4 7F02C684 E7B00160 */ swc1 $f16, 0x160($sp) -/* 0611B8 7F02C688 44825000 */ mtc1 $v0, $f10 -/* 0611BC 7F02C68C C7B00160 */ lwc1 $f16, 0x160($sp) -/* 0611C0 7F02C690 04410005 */ bgez $v0, .L7F02C6A8 -/* 0611C4 7F02C694 468051A0 */ cvt.s.w $f6, $f10 -/* 0611C8 7F02C698 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0611CC 7F02C69C 44812000 */ mtc1 $at, $f4 -/* 0611D0 7F02C6A0 00000000 */ nop -/* 0611D4 7F02C6A4 46043180 */ add.s $f6, $f6, $f4 -.L7F02C6A8: -/* 0611D8 7F02C6A8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0611DC 7F02C6AC 44814000 */ mtc1 $at, $f8 -/* 0611E0 7F02C6B0 3C018005 */ lui $at, %hi(D_80051EB4) -/* 0611E4 7F02C6B4 C42A1EB4 */ lwc1 $f10, %lo(D_80051EB4)($at) -/* 0611E8 7F02C6B8 46083482 */ mul.s $f18, $f6, $f8 -/* 0611EC 7F02C6BC C7A60178 */ lwc1 $f6, 0x178($sp) -/* 0611F0 7F02C6C0 3C018005 */ lui $at, %hi(D_80051EB8) -/* 0611F4 7F02C6C4 46125102 */ mul.s $f4, $f10, $f18 -/* 0611F8 7F02C6C8 C42A1EB8 */ lwc1 $f10, %lo(D_80051EB8)($at) -/* 0611FC 7F02C6CC 46062202 */ mul.s $f8, $f4, $f6 -/* 061200 7F02C6D0 C7A40130 */ lwc1 $f4, 0x130($sp) -/* 061204 7F02C6D4 46085480 */ add.s $f18, $f10, $f8 -/* 061208 7F02C6D8 C7AA014C */ lwc1 $f10, 0x14c($sp) -/* 06120C 7F02C6DC 46122182 */ mul.s $f6, $f4, $f18 -/* 061210 7F02C6E0 46065201 */ sub.s $f8, $f10, $f6 -/* 061214 7F02C6E4 10000113 */ b .L7F02CB34 -/* 061218 7F02C6E8 E7A8014C */ swc1 $f8, 0x14c($sp) -/* 06121C 7F02C6EC 44812000 */ mtc1 $at, $f4 -.L7F02C6F0: -/* 061220 7F02C6F0 00000000 */ nop -/* 061224 7F02C6F4 46040482 */ mul.s $f18, $f0, $f4 -/* 061228 7F02C6F8 46126281 */ sub.s $f10, $f12, $f18 -/* 06122C 7F02C6FC 4602503C */ c.lt.s $f10, $f2 -/* 061230 7F02C700 00000000 */ nop -/* 061234 7F02C704 4500001C */ bc1f .L7F02C778 -/* 061238 7F02C708 00000000 */ nop -/* 06123C 7F02C70C 0C002914 */ jal get_random_value -/* 061240 7F02C710 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061244 7F02C714 44823000 */ mtc1 $v0, $f6 -/* 061248 7F02C718 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 06124C 7F02C71C 04410005 */ bgez $v0, .L7F02C734 -/* 061250 7F02C720 46803220 */ cvt.s.w $f8, $f6 -/* 061254 7F02C724 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 061258 7F02C728 44812000 */ mtc1 $at, $f4 -/* 06125C 7F02C72C 00000000 */ nop -/* 061260 7F02C730 46044200 */ add.s $f8, $f8, $f4 -.L7F02C734: -/* 061264 7F02C734 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 061268 7F02C738 44819000 */ mtc1 $at, $f18 -/* 06126C 7F02C73C 3C018005 */ lui $at, %hi(D_80051EBC) -/* 061270 7F02C740 C4261EBC */ lwc1 $f6, %lo(D_80051EBC)($at) -/* 061274 7F02C744 46124282 */ mul.s $f10, $f8, $f18 -/* 061278 7F02C748 C7A80178 */ lwc1 $f8, 0x178($sp) -/* 06127C 7F02C74C 3C018005 */ lui $at, %hi(D_80051EC0) -/* 061280 7F02C750 460A3102 */ mul.s $f4, $f6, $f10 -/* 061284 7F02C754 C4261EC0 */ lwc1 $f6, %lo(D_80051EC0)($at) -/* 061288 7F02C758 46082482 */ mul.s $f18, $f4, $f8 -/* 06128C 7F02C75C C7A40130 */ lwc1 $f4, 0x130($sp) -/* 061290 7F02C760 46123280 */ add.s $f10, $f6, $f18 -/* 061294 7F02C764 C7A6014C */ lwc1 $f6, 0x14c($sp) -/* 061298 7F02C768 460A2202 */ mul.s $f8, $f4, $f10 -/* 06129C 7F02C76C 46083481 */ sub.s $f18, $f6, $f8 -/* 0612A0 7F02C770 100000F0 */ b .L7F02CB34 -/* 0612A4 7F02C774 E7B2014C */ swc1 $f18, 0x14c($sp) -.L7F02C778: -/* 0612A8 7F02C778 0C002914 */ jal get_random_value -/* 0612AC 7F02C77C E7B00160 */ swc1 $f16, 0x160($sp) -/* 0612B0 7F02C780 44822000 */ mtc1 $v0, $f4 -/* 0612B4 7F02C784 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 0612B8 7F02C788 04410005 */ bgez $v0, .L7F02C7A0 -/* 0612BC 7F02C78C 468022A0 */ cvt.s.w $f10, $f4 -/* 0612C0 7F02C790 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0612C4 7F02C794 44813000 */ mtc1 $at, $f6 -/* 0612C8 7F02C798 00000000 */ nop -/* 0612CC 7F02C79C 46065280 */ add.s $f10, $f10, $f6 -.L7F02C7A0: -/* 0612D0 7F02C7A0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0612D4 7F02C7A4 44814000 */ mtc1 $at, $f8 -/* 0612D8 7F02C7A8 3C018005 */ lui $at, %hi(D_80051EC4) -/* 0612DC 7F02C7AC C4241EC4 */ lwc1 $f4, %lo(D_80051EC4)($at) -/* 0612E0 7F02C7B0 46085482 */ mul.s $f18, $f10, $f8 -/* 0612E4 7F02C7B4 C7AA0178 */ lwc1 $f10, 0x178($sp) -/* 0612E8 7F02C7B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0612EC 7F02C7BC 46049182 */ mul.s $f6, $f18, $f4 -/* 0612F0 7F02C7C0 44819000 */ mtc1 $at, $f18 -/* 0612F4 7F02C7C4 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0612F8 7F02C7C8 460A3202 */ mul.s $f8, $f6, $f10 -/* 0612FC 7F02C7CC 44813000 */ mtc1 $at, $f6 -/* 061300 7F02C7D0 46124100 */ add.s $f4, $f8, $f18 -/* 061304 7F02C7D4 46062282 */ mul.s $f10, $f4, $f6 -/* 061308 7F02C7D8 100000D6 */ b .L7F02CB34 -/* 06130C 7F02C7DC E7AA014C */ swc1 $f10, 0x14c($sp) -.L7F02C7E0: -/* 061310 7F02C7E0 0C002914 */ jal get_random_value -/* 061314 7F02C7E4 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061318 7F02C7E8 44824000 */ mtc1 $v0, $f8 -/* 06131C 7F02C7EC C7B00160 */ lwc1 $f16, 0x160($sp) -/* 061320 7F02C7F0 04410005 */ bgez $v0, .L7F02C808 -/* 061324 7F02C7F4 468044A0 */ cvt.s.w $f18, $f8 -/* 061328 7F02C7F8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06132C 7F02C7FC 44812000 */ mtc1 $at, $f4 -/* 061330 7F02C800 00000000 */ nop -/* 061334 7F02C804 46049480 */ add.s $f18, $f18, $f4 -.L7F02C808: -/* 061338 7F02C808 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 06133C 7F02C80C 44813000 */ mtc1 $at, $f6 -/* 061340 7F02C810 3C018005 */ lui $at, %hi(D_80051EC8) -/* 061344 7F02C814 C4281EC8 */ lwc1 $f8, %lo(D_80051EC8)($at) -/* 061348 7F02C818 46069282 */ mul.s $f10, $f18, $f6 -/* 06134C 7F02C81C C7B20178 */ lwc1 $f18, 0x178($sp) -/* 061350 7F02C820 3C018005 */ lui $at, %hi(D_80051ED0) -/* 061354 7F02C824 460A4102 */ mul.s $f4, $f8, $f10 -/* 061358 7F02C828 C4281ECC */ lwc1 $f8, %lo(D_80051ECC)($at) -/* 06135C 7F02C82C 46122182 */ mul.s $f6, $f4, $f18 -/* 061360 7F02C830 C7A40130 */ lwc1 $f4, 0x130($sp) -/* 061364 7F02C834 46064281 */ sub.s $f10, $f8, $f6 -/* 061368 7F02C838 C7A8014C */ lwc1 $f8, 0x14c($sp) -/* 06136C 7F02C83C 460A2482 */ mul.s $f18, $f4, $f10 -/* 061370 7F02C840 46124180 */ add.s $f6, $f8, $f18 -/* 061374 7F02C844 100000BB */ b .L7F02CB34 -/* 061378 7F02C848 E7A6014C */ swc1 $f6, 0x14c($sp) -.L7F02C84C: -/* 06137C 7F02C84C C4241ED0 */ lwc1 $f4, %lo(D_80051ED0)($at) -/* 061380 7F02C850 8FAE0134 */ lw $t6, 0x134($sp) -/* 061384 7F02C854 4602203C */ c.lt.s $f4, $f2 -/* 061388 7F02C858 00000000 */ nop -/* 06138C 7F02C85C 45020040 */ bc1fl .L7F02C960 -/* 061390 7F02C860 C5CC0004 */ lwc1 $f12, 4($t6) -/* 061394 7F02C864 0C002914 */ jal get_random_value -/* 061398 7F02C868 E7B00160 */ swc1 $f16, 0x160($sp) -/* 06139C 7F02C86C 24010003 */ li $at, 3 -/* 0613A0 7F02C870 0041001B */ divu $zero, $v0, $at -/* 0613A4 7F02C874 00006010 */ mfhi $t4 -/* 0613A8 7F02C878 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 0613AC 7F02C87C 1580001C */ bnez $t4, .L7F02C8F0 -/* 0613B0 7F02C880 00000000 */ nop -/* 0613B4 7F02C884 0C002914 */ jal get_random_value -/* 0613B8 7F02C888 E7B00160 */ swc1 $f16, 0x160($sp) -/* 0613BC 7F02C88C 44825000 */ mtc1 $v0, $f10 -/* 0613C0 7F02C890 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 0613C4 7F02C894 04410005 */ bgez $v0, .L7F02C8AC -/* 0613C8 7F02C898 46805220 */ cvt.s.w $f8, $f10 -/* 0613CC 7F02C89C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0613D0 7F02C8A0 44819000 */ mtc1 $at, $f18 -/* 0613D4 7F02C8A4 00000000 */ nop -/* 0613D8 7F02C8A8 46124200 */ add.s $f8, $f8, $f18 -.L7F02C8AC: -/* 0613DC 7F02C8AC 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0613E0 7F02C8B0 44813000 */ mtc1 $at, $f6 -/* 0613E4 7F02C8B4 3C018005 */ lui $at, %hi(D_80051ED4) -/* 0613E8 7F02C8B8 C42A1ED4 */ lwc1 $f10, %lo(D_80051ED4)($at) -/* 0613EC 7F02C8BC 46064102 */ mul.s $f4, $f8, $f6 -/* 0613F0 7F02C8C0 C7A80178 */ lwc1 $f8, 0x178($sp) -/* 0613F4 7F02C8C4 3C018005 */ lui $at, %hi(D_80051ED8) -/* 0613F8 7F02C8C8 46045482 */ mul.s $f18, $f10, $f4 -/* 0613FC 7F02C8CC C42A1ED8 */ lwc1 $f10, %lo(D_80051ED8)($at) -/* 061400 7F02C8D0 46089182 */ mul.s $f6, $f18, $f8 -/* 061404 7F02C8D4 C7B20130 */ lwc1 $f18, 0x130($sp) -/* 061408 7F02C8D8 46065100 */ add.s $f4, $f10, $f6 -/* 06140C 7F02C8DC C7AA014C */ lwc1 $f10, 0x14c($sp) -/* 061410 7F02C8E0 46049202 */ mul.s $f8, $f18, $f4 -/* 061414 7F02C8E4 46085180 */ add.s $f6, $f10, $f8 -/* 061418 7F02C8E8 10000092 */ b .L7F02CB34 -/* 06141C 7F02C8EC E7A6014C */ swc1 $f6, 0x14c($sp) -.L7F02C8F0: -/* 061420 7F02C8F0 0C002914 */ jal get_random_value -/* 061424 7F02C8F4 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061428 7F02C8F8 44829000 */ mtc1 $v0, $f18 -/* 06142C 7F02C8FC C7B00160 */ lwc1 $f16, 0x160($sp) -/* 061430 7F02C900 04410005 */ bgez $v0, .L7F02C918 -/* 061434 7F02C904 46809120 */ cvt.s.w $f4, $f18 -/* 061438 7F02C908 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06143C 7F02C90C 44815000 */ mtc1 $at, $f10 -/* 061440 7F02C910 00000000 */ nop -/* 061444 7F02C914 460A2100 */ add.s $f4, $f4, $f10 -.L7F02C918: -/* 061448 7F02C918 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 06144C 7F02C91C 44814000 */ mtc1 $at, $f8 -/* 061450 7F02C920 3C018005 */ lui $at, %hi(D_80051EDC) -/* 061454 7F02C924 C4321EDC */ lwc1 $f18, %lo(D_80051EDC)($at) -/* 061458 7F02C928 46082182 */ mul.s $f6, $f4, $f8 -/* 06145C 7F02C92C C7A40178 */ lwc1 $f4, 0x178($sp) -/* 061460 7F02C930 3C018005 */ lui $at, %hi(D_80051EE0) -/* 061464 7F02C934 46069282 */ mul.s $f10, $f18, $f6 -/* 061468 7F02C938 C4321EE0 */ lwc1 $f18, %lo(D_80051EE0)($at) -/* 06146C 7F02C93C 46045202 */ mul.s $f8, $f10, $f4 -/* 061470 7F02C940 C7AA0130 */ lwc1 $f10, 0x130($sp) -/* 061474 7F02C944 46089180 */ add.s $f6, $f18, $f8 -/* 061478 7F02C948 C7B2014C */ lwc1 $f18, 0x14c($sp) -/* 06147C 7F02C94C 46065102 */ mul.s $f4, $f10, $f6 -/* 061480 7F02C950 46049201 */ sub.s $f8, $f18, $f4 -/* 061484 7F02C954 10000077 */ b .L7F02CB34 -/* 061488 7F02C958 E7A8014C */ swc1 $f8, 0x14c($sp) -/* 06148C 7F02C95C C5CC0004 */ lwc1 $f12, 4($t6) -.L7F02C960: -/* 061490 7F02C960 8FAD013C */ lw $t5, 0x13c($sp) -/* 061494 7F02C964 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 061498 7F02C968 46006281 */ sub.s $f10, $f12, $f0 -/* 06149C 7F02C96C C5A2000C */ lwc1 $f2, 0xc($t5) -/* 0614A0 7F02C970 460A103C */ c.lt.s $f2, $f10 -/* 0614A4 7F02C974 00000000 */ nop -/* 0614A8 7F02C978 4502001D */ bc1fl .L7F02C9F0 -/* 0614AC 7F02C97C 44812000 */ mtc1 $at, $f4 -/* 0614B0 7F02C980 0C002914 */ jal get_random_value -/* 0614B4 7F02C984 E7B00160 */ swc1 $f16, 0x160($sp) -/* 0614B8 7F02C988 44823000 */ mtc1 $v0, $f6 -/* 0614BC 7F02C98C C7B00160 */ lwc1 $f16, 0x160($sp) -/* 0614C0 7F02C990 04410005 */ bgez $v0, .L7F02C9A8 -/* 0614C4 7F02C994 468034A0 */ cvt.s.w $f18, $f6 -/* 0614C8 7F02C998 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0614CC 7F02C99C 44812000 */ mtc1 $at, $f4 -/* 0614D0 7F02C9A0 00000000 */ nop -/* 0614D4 7F02C9A4 46049480 */ add.s $f18, $f18, $f4 -.L7F02C9A8: -/* 0614D8 7F02C9A8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0614DC 7F02C9AC 44814000 */ mtc1 $at, $f8 -/* 0614E0 7F02C9B0 3C018005 */ lui $at, %hi(D_80051EE4) -/* 0614E4 7F02C9B4 C4261EE4 */ lwc1 $f6, %lo(D_80051EE4)($at) -/* 0614E8 7F02C9B8 46089282 */ mul.s $f10, $f18, $f8 -/* 0614EC 7F02C9BC C7B20178 */ lwc1 $f18, 0x178($sp) -/* 0614F0 7F02C9C0 3C018005 */ lui $at, %hi(D_80051EE8) -/* 0614F4 7F02C9C4 460A3102 */ mul.s $f4, $f6, $f10 -/* 0614F8 7F02C9C8 C4261EE8 */ lwc1 $f6, %lo(D_80051EE8)($at) -/* 0614FC 7F02C9CC 46122202 */ mul.s $f8, $f4, $f18 -/* 061500 7F02C9D0 C7A40130 */ lwc1 $f4, 0x130($sp) -/* 061504 7F02C9D4 46083280 */ add.s $f10, $f6, $f8 -/* 061508 7F02C9D8 C7A6014C */ lwc1 $f6, 0x14c($sp) -/* 06150C 7F02C9DC 460A2482 */ mul.s $f18, $f4, $f10 -/* 061510 7F02C9E0 46123201 */ sub.s $f8, $f6, $f18 -/* 061514 7F02C9E4 10000053 */ b .L7F02CB34 -/* 061518 7F02C9E8 E7A8014C */ swc1 $f8, 0x14c($sp) -/* 06151C 7F02C9EC 44812000 */ mtc1 $at, $f4 -.L7F02C9F0: -/* 061520 7F02C9F0 00000000 */ nop -/* 061524 7F02C9F4 46040282 */ mul.s $f10, $f0, $f4 -/* 061528 7F02C9F8 460A6181 */ sub.s $f6, $f12, $f10 -/* 06152C 7F02C9FC 4602303C */ c.lt.s $f6, $f2 -/* 061530 7F02CA00 00000000 */ nop -/* 061534 7F02CA04 4500001C */ bc1f .L7F02CA78 -/* 061538 7F02CA08 00000000 */ nop -/* 06153C 7F02CA0C 0C002914 */ jal get_random_value -/* 061540 7F02CA10 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061544 7F02CA14 44829000 */ mtc1 $v0, $f18 -/* 061548 7F02CA18 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 06154C 7F02CA1C 04410005 */ bgez $v0, .L7F02CA34 -/* 061550 7F02CA20 46809220 */ cvt.s.w $f8, $f18 -/* 061554 7F02CA24 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 061558 7F02CA28 44812000 */ mtc1 $at, $f4 -/* 06155C 7F02CA2C 00000000 */ nop -/* 061560 7F02CA30 46044200 */ add.s $f8, $f8, $f4 -.L7F02CA34: -/* 061564 7F02CA34 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 061568 7F02CA38 44815000 */ mtc1 $at, $f10 -/* 06156C 7F02CA3C 3C018005 */ lui $at, %hi(D_80051EEC) -/* 061570 7F02CA40 C4321EEC */ lwc1 $f18, %lo(D_80051EEC)($at) -/* 061574 7F02CA44 460A4182 */ mul.s $f6, $f8, $f10 -/* 061578 7F02CA48 C7A80178 */ lwc1 $f8, 0x178($sp) -/* 06157C 7F02CA4C 3C018005 */ lui $at, %hi(D_80051EF0) -/* 061580 7F02CA50 46069102 */ mul.s $f4, $f18, $f6 -/* 061584 7F02CA54 C4321EF0 */ lwc1 $f18, %lo(D_80051EF0)($at) -/* 061588 7F02CA58 46082282 */ mul.s $f10, $f4, $f8 -/* 06158C 7F02CA5C C7A40130 */ lwc1 $f4, 0x130($sp) -/* 061590 7F02CA60 460A9180 */ add.s $f6, $f18, $f10 -/* 061594 7F02CA64 C7B2014C */ lwc1 $f18, 0x14c($sp) -/* 061598 7F02CA68 46062202 */ mul.s $f8, $f4, $f6 -/* 06159C 7F02CA6C 46089281 */ sub.s $f10, $f18, $f8 -/* 0615A0 7F02CA70 10000030 */ b .L7F02CB34 -/* 0615A4 7F02CA74 E7AA014C */ swc1 $f10, 0x14c($sp) -.L7F02CA78: -/* 0615A8 7F02CA78 0C002914 */ jal get_random_value -/* 0615AC 7F02CA7C E7B00160 */ swc1 $f16, 0x160($sp) -/* 0615B0 7F02CA80 44822000 */ mtc1 $v0, $f4 -/* 0615B4 7F02CA84 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 0615B8 7F02CA88 04410005 */ bgez $v0, .L7F02CAA0 -/* 0615BC 7F02CA8C 468021A0 */ cvt.s.w $f6, $f4 -/* 0615C0 7F02CA90 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0615C4 7F02CA94 44819000 */ mtc1 $at, $f18 -/* 0615C8 7F02CA98 00000000 */ nop -/* 0615CC 7F02CA9C 46123180 */ add.s $f6, $f6, $f18 -.L7F02CAA0: -/* 0615D0 7F02CAA0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0615D4 7F02CAA4 44814000 */ mtc1 $at, $f8 -/* 0615D8 7F02CAA8 3C018005 */ lui $at, %hi(D_80051EF4) -/* 0615DC 7F02CAAC C4241EF4 */ lwc1 $f4, %lo(D_80051EF4)($at) -/* 0615E0 7F02CAB0 46083282 */ mul.s $f10, $f6, $f8 -/* 0615E4 7F02CAB4 C7A60178 */ lwc1 $f6, 0x178($sp) -/* 0615E8 7F02CAB8 3C018005 */ lui $at, %hi(D_80051EF8) -/* 0615EC 7F02CABC 46045482 */ mul.s $f18, $f10, $f4 -/* 0615F0 7F02CAC0 C42A1EF8 */ lwc1 $f10, %lo(D_80051EF8)($at) -/* 0615F4 7F02CAC4 46069202 */ mul.s $f8, $f18, $f6 -/* 0615F8 7F02CAC8 C7B20130 */ lwc1 $f18, 0x130($sp) -/* 0615FC 7F02CACC 460A4101 */ sub.s $f4, $f8, $f10 -/* 061600 7F02CAD0 46122182 */ mul.s $f6, $f4, $f18 -/* 061604 7F02CAD4 10000017 */ b .L7F02CB34 -/* 061608 7F02CAD8 E7A6014C */ swc1 $f6, 0x14c($sp) -/* 06160C 7F02CADC 8CC4001C */ lw $a0, 0x1c($a2) -.L7F02CAE0: -/* 061610 7F02CAE0 0FC1B2E6 */ jal getsuboffset -/* 061614 7F02CAE4 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061618 7F02CAE8 8FA40168 */ lw $a0, 0x168($sp) -/* 06161C 7F02CAEC 8FA5015C */ lw $a1, 0x15c($sp) -/* 061620 7F02CAF0 8FA60158 */ lw $a2, 0x158($sp) -/* 061624 7F02CAF4 0FC0CB1E */ jal sub_GAME_7F032C78 -/* 061628 7F02CAF8 27A7012C */ addiu $a3, $sp, 0x12c -/* 06162C 7F02CAFC AFA20134 */ sw $v0, 0x134($sp) -/* 061630 7F02CB00 C4480000 */ lwc1 $f8, ($v0) -/* 061634 7F02CB04 C7AA0120 */ lwc1 $f10, 0x120($sp) -/* 061638 7F02CB08 C7A60124 */ lwc1 $f6, 0x124($sp) -/* 06163C 7F02CB0C C7B00160 */ lwc1 $f16, 0x160($sp) -/* 061640 7F02CB10 460A4101 */ sub.s $f4, $f8, $f10 -/* 061644 7F02CB14 E7A40150 */ swc1 $f4, 0x150($sp) -/* 061648 7F02CB18 C4520004 */ lwc1 $f18, 4($v0) -/* 06164C 7F02CB1C C7A40128 */ lwc1 $f4, 0x128($sp) -/* 061650 7F02CB20 46069201 */ sub.s $f8, $f18, $f6 -/* 061654 7F02CB24 E7A8014C */ swc1 $f8, 0x14c($sp) -/* 061658 7F02CB28 C44A0008 */ lwc1 $f10, 8($v0) -/* 06165C 7F02CB2C 46045481 */ sub.s $f18, $f10, $f4 -/* 061660 7F02CB30 E7B20148 */ swc1 $f18, 0x148($sp) -.L7F02CB34: -/* 061664 7F02CB34 8FAF015C */ lw $t7, 0x15c($sp) -/* 061668 7F02CB38 C7A60150 */ lwc1 $f6, 0x150($sp) -/* 06166C 7F02CB3C C7AA0148 */ lwc1 $f10, 0x148($sp) -/* 061670 7F02CB40 31F80100 */ andi $t8, $t7, 0x100 -/* 061674 7F02CB44 57000015 */ bnezl $t8, .L7F02CB9C -/* 061678 7F02CB48 8FB90138 */ lw $t9, 0x138($sp) -/* 06167C 7F02CB4C 46063202 */ mul.s $f8, $f6, $f6 -/* 061680 7F02CB50 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061684 7F02CB54 460A5102 */ mul.s $f4, $f10, $f10 -/* 061688 7F02CB58 0C007DF8 */ jal sqrtf -/* 06168C 7F02CB5C 46044300 */ add.s $f12, $f8, $f4 -/* 061690 7F02CB60 C7AC014C */ lwc1 $f12, 0x14c($sp) -/* 061694 7F02CB64 0FC16A8C */ jal convert_angle_using_inverse -/* 061698 7F02CB68 46000386 */ mov.s $f14, $f0 -/* 06169C 7F02CB6C 3C018005 */ lui $at, %hi(D_80051EFC) -/* 0616A0 7F02CB70 C4321EFC */ lwc1 $f18, %lo(D_80051EFC)($at) -/* 0616A4 7F02CB74 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 0616A8 7F02CB78 E7A00164 */ swc1 $f0, 0x164($sp) -/* 0616AC 7F02CB7C 4600903E */ c.le.s $f18, $f0 -/* 0616B0 7F02CB80 3C018005 */ lui $at, %hi(D_80051F00) -/* 0616B4 7F02CB84 45020005 */ bc1fl .L7F02CB9C -/* 0616B8 7F02CB88 8FB90138 */ lw $t9, 0x138($sp) -/* 0616BC 7F02CB8C C4261F00 */ lwc1 $f6, %lo(D_80051F00)($at) -/* 0616C0 7F02CB90 46060281 */ sub.s $f10, $f0, $f6 -/* 0616C4 7F02CB94 E7AA0164 */ swc1 $f10, 0x164($sp) -/* 0616C8 7F02CB98 8FB90138 */ lw $t9, 0x138($sp) -.L7F02CB9C: -/* 0616CC 7F02CB9C 53200119 */ beql $t9, $zero, .L7F02D004 -/* 0616D0 7F02CBA0 C7A60164 */ lwc1 $f6, 0x164($sp) -/* 0616D4 7F02CBA4 0FC0B064 */ jal sub_GAME_7F02C190 -/* 0616D8 7F02CBA8 8FA40168 */ lw $a0, 0x168($sp) -/* 0616DC 7F02CBAC 8FA90174 */ lw $t1, 0x174($sp) -/* 0616E0 7F02CBB0 E7A00118 */ swc1 $f0, 0x118($sp) -/* 0616E4 7F02CBB4 00002825 */ move $a1, $zero -/* 0616E8 7F02CBB8 11200005 */ beqz $t1, .L7F02CBD0 -/* 0616EC 7F02CBBC 8FA40168 */ lw $a0, 0x168($sp) -/* 0616F0 7F02CBC0 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0616F4 7F02CBC4 8FA40168 */ lw $a0, 0x168($sp) -/* 0616F8 7F02CBC8 10000003 */ b .L7F02CBD8 -/* 0616FC 7F02CBCC 00000000 */ nop -.L7F02CBD0: -/* 061700 7F02CBD0 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 061704 7F02CBD4 24050001 */ li $a1, 1 -.L7F02CBD8: -/* 061708 7F02CBD8 50400075 */ beql $v0, $zero, .L7F02CDB0 -/* 06170C 7F02CBDC C7AC0150 */ lwc1 $f12, 0x150($sp) -/* 061710 7F02CBE0 904B0001 */ lbu $t3, 1($v0) -/* 061714 7F02CBE4 C7A80144 */ lwc1 $f8, 0x144($sp) -/* 061718 7F02CBE8 3C018005 */ lui $at, %hi(D_80051F04) -/* 06171C 7F02CBEC 316A0002 */ andi $t2, $t3, 2 -/* 061720 7F02CBF0 5140006F */ beql $t2, $zero, .L7F02CDB0 -/* 061724 7F02CBF4 C7AC0150 */ lwc1 $f12, 0x150($sp) -/* 061728 7F02CBF8 C4241F04 */ lwc1 $f4, %lo(D_80051F04)($at) -/* 06172C 7F02CBFC 4604403C */ c.lt.s $f8, $f4 -/* 061730 7F02CC00 00000000 */ nop -/* 061734 7F02CC04 4502006A */ bc1fl .L7F02CDB0 -/* 061738 7F02CC08 C7AC0150 */ lwc1 $f12, 0x150($sp) -/* 06173C 7F02CC0C 8C430004 */ lw $v1, 4($v0) -/* 061740 7F02CC10 00002025 */ move $a0, $zero -/* 061744 7F02CC14 00003025 */ move $a2, $zero -/* 061748 7F02CC18 8C670014 */ lw $a3, 0x14($v1) -/* 06174C 7F02CC1C 8CEC0008 */ lw $t4, 8($a3) -/* 061750 7F02CC20 8D850008 */ lw $a1, 8($t4) -/* 061754 7F02CC24 8CAD0000 */ lw $t5, ($a1) -/* 061758 7F02CC28 11A00025 */ beqz $t5, .L7F02CCC0 -/* 06175C 7F02CC2C AFAD0024 */ sw $t5, 0x24($sp) -/* 061760 7F02CC30 00E02025 */ move $a0, $a3 -/* 061764 7F02CC34 01A02825 */ move $a1, $t5 -/* 061768 7F02CC38 0FC1B198 */ jal sub_GAME_7F06C660 -/* 06176C 7F02CC3C AFA70110 */ sw $a3, 0x110($sp) -/* 061770 7F02CC40 8FA70110 */ lw $a3, 0x110($sp) -/* 061774 7F02CC44 00402025 */ move $a0, $v0 -/* 061778 7F02CC48 27A500BC */ addiu $a1, $sp, 0xbc -/* 06177C 7F02CC4C 8CEF0008 */ lw $t7, 8($a3) -/* 061780 7F02CC50 8DF80008 */ lw $t8, 8($t7) -/* 061784 7F02CC54 8F190000 */ lw $t9, ($t8) -/* 061788 7F02CC58 8F290004 */ lw $t1, 4($t9) -/* 06178C 7F02CC5C 0FC1639E */ jal sub_GAME_7F058E78 -/* 061790 7F02CC60 AFA900B8 */ sw $t1, 0xb8($sp) -/* 061794 7F02CC64 0FC1E115 */ jal sub_GAME_7F078454 -/* 061798 7F02CC68 00000000 */ nop -/* 06179C 7F02CC6C 00402025 */ move $a0, $v0 -/* 0617A0 7F02CC70 0FC16026 */ jal sub_GAME_7F058098 -/* 0617A4 7F02CC74 27A500BC */ addiu $a1, $sp, 0xbc -/* 0617A8 7F02CC78 8FA200B8 */ lw $v0, 0xb8($sp) -/* 0617AC 7F02CC7C 27A400BC */ addiu $a0, $sp, 0xbc -/* 0617B0 7F02CC80 27A500AC */ addiu $a1, $sp, 0xac -/* 0617B4 7F02CC84 C4520000 */ lwc1 $f18, ($v0) -/* 0617B8 7F02CC88 E7B200AC */ swc1 $f18, 0xac($sp) -/* 0617BC 7F02CC8C C4460004 */ lwc1 $f6, 4($v0) -/* 0617C0 7F02CC90 E7A600B0 */ swc1 $f6, 0xb0($sp) -/* 0617C4 7F02CC94 C44A0008 */ lwc1 $f10, 8($v0) -/* 0617C8 7F02CC98 0FC1611D */ jal sub_GAME_7F058474 -/* 0617CC 7F02CC9C E7AA00B4 */ swc1 $f10, 0xb4($sp) -/* 0617D0 7F02CCA0 C7A800AC */ lwc1 $f8, 0xac($sp) -/* 0617D4 7F02CCA4 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0617D8 7F02CCA8 C7B200B4 */ lwc1 $f18, 0xb4($sp) -/* 0617DC 7F02CCAC 24040001 */ li $a0, 1 -/* 0617E0 7F02CCB0 E7A80104 */ swc1 $f8, 0x104($sp) -/* 0617E4 7F02CCB4 E7A40108 */ swc1 $f4, 0x108($sp) -/* 0617E8 7F02CCB8 10000017 */ b .L7F02CD18 -/* 0617EC 7F02CCBC E7B2010C */ swc1 $f18, 0x10c($sp) -.L7F02CCC0: -/* 0617F0 7F02CCC0 8CAB0004 */ lw $t3, 4($a1) -/* 0617F4 7F02CCC4 00003025 */ move $a2, $zero -/* 0617F8 7F02CCC8 11600013 */ beqz $t3, .L7F02CD18 -/* 0617FC 7F02CCCC AFAB0024 */ sw $t3, 0x24($sp) -/* 061800 7F02CCD0 00E02025 */ move $a0, $a3 -/* 061804 7F02CCD4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 061808 7F02CCD8 01602825 */ move $a1, $t3 -/* 06180C 7F02CCDC 00402025 */ move $a0, $v0 -/* 061810 7F02CCE0 0FC1639E */ jal sub_GAME_7F058E78 -/* 061814 7F02CCE4 27A50068 */ addiu $a1, $sp, 0x68 -/* 061818 7F02CCE8 0FC1E115 */ jal sub_GAME_7F078454 -/* 06181C 7F02CCEC 00000000 */ nop -/* 061820 7F02CCF0 00402025 */ move $a0, $v0 -/* 061824 7F02CCF4 0FC16026 */ jal sub_GAME_7F058098 -/* 061828 7F02CCF8 27A50068 */ addiu $a1, $sp, 0x68 -/* 06182C 7F02CCFC C7A60098 */ lwc1 $f6, 0x98($sp) -/* 061830 7F02CD00 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 061834 7F02CD04 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 061838 7F02CD08 24040001 */ li $a0, 1 -/* 06183C 7F02CD0C E7A60104 */ swc1 $f6, 0x104($sp) -/* 061840 7F02CD10 E7AA0108 */ swc1 $f10, 0x108($sp) -/* 061844 7F02CD14 E7A8010C */ swc1 $f8, 0x10c($sp) -.L7F02CD18: -/* 061848 7F02CD18 50800025 */ beql $a0, $zero, .L7F02CDB0 -/* 06184C 7F02CD1C C7AC0150 */ lwc1 $f12, 0x150($sp) -/* 061850 7F02CD20 0FC15FAB */ jal sinf -/* 061854 7F02CD24 C7AC0118 */ lwc1 $f12, 0x118($sp) -/* 061858 7F02CD28 44802000 */ mtc1 $zero, $f4 -/* 06185C 7F02CD2C E7A00050 */ swc1 $f0, 0x50($sp) -/* 061860 7F02CD30 C7AC0118 */ lwc1 $f12, 0x118($sp) -/* 061864 7F02CD34 0FC15FA8 */ jal cosf -/* 061868 7F02CD38 E7A40054 */ swc1 $f4, 0x54($sp) -/* 06186C 7F02CD3C 8FAC013C */ lw $t4, 0x13c($sp) -/* 061870 7F02CD40 E7A00058 */ swc1 $f0, 0x58($sp) -/* 061874 7F02CD44 C7A60148 */ lwc1 $f6, 0x148($sp) -/* 061878 7F02CD48 C5920008 */ lwc1 $f18, 8($t4) -/* 06187C 7F02CD4C 27AD005C */ addiu $t5, $sp, 0x5c -/* 061880 7F02CD50 27A50044 */ addiu $a1, $sp, 0x44 -/* 061884 7F02CD54 46069281 */ sub.s $f10, $f18, $f6 -/* 061888 7F02CD58 C7B20150 */ lwc1 $f18, 0x150($sp) -/* 06188C 7F02CD5C 27A60104 */ addiu $a2, $sp, 0x104 -/* 061890 7F02CD60 27A70050 */ addiu $a3, $sp, 0x50 -/* 061894 7F02CD64 E7AA0044 */ swc1 $f10, 0x44($sp) -/* 061898 7F02CD68 C588000C */ lwc1 $f8, 0xc($t4) -/* 06189C 7F02CD6C 25840008 */ addiu $a0, $t4, 8 -/* 0618A0 7F02CD70 E7A80048 */ swc1 $f8, 0x48($sp) -/* 0618A4 7F02CD74 C5840010 */ lwc1 $f4, 0x10($t4) -/* 0618A8 7F02CD78 AFAD0010 */ sw $t5, 0x10($sp) -/* 0618AC 7F02CD7C 46122180 */ add.s $f6, $f4, $f18 -/* 0618B0 7F02CD80 0FC0984C */ jal sub_GAME_7F026130 -/* 0618B4 7F02CD84 E7A6004C */ swc1 $f6, 0x4c($sp) -/* 0618B8 7F02CD88 8FAE0134 */ lw $t6, 0x134($sp) -/* 0618BC 7F02CD8C C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0618C0 7F02CD90 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 0618C4 7F02CD94 C5CA0000 */ lwc1 $f10, ($t6) -/* 0618C8 7F02CD98 46085101 */ sub.s $f4, $f10, $f8 -/* 0618CC 7F02CD9C E7A40150 */ swc1 $f4, 0x150($sp) -/* 0618D0 7F02CDA0 C5D20008 */ lwc1 $f18, 8($t6) -/* 0618D4 7F02CDA4 46069281 */ sub.s $f10, $f18, $f6 -/* 0618D8 7F02CDA8 E7AA0148 */ swc1 $f10, 0x148($sp) -/* 0618DC 7F02CDAC C7AC0150 */ lwc1 $f12, 0x150($sp) -.L7F02CDB0: -/* 0618E0 7F02CDB0 0FC16A8C */ jal convert_angle_using_inverse -/* 0618E4 7F02CDB4 C7AE0148 */ lwc1 $f14, 0x148($sp) -/* 0618E8 7F02CDB8 C7A80118 */ lwc1 $f8, 0x118($sp) -/* 0618EC 7F02CDBC 3C018005 */ lui $at, %hi(D_80051F08) -/* 0618F0 7F02CDC0 8FAF0168 */ lw $t7, 0x168($sp) -/* 0618F4 7F02CDC4 4608003C */ c.lt.s $f0, $f8 -/* 0618F8 7F02CDC8 46080081 */ sub.s $f2, $f0, $f8 -/* 0618FC 7F02CDCC 45000003 */ bc1f .L7F02CDDC -/* 061900 7F02CDD0 46001406 */ mov.s $f16, $f2 -/* 061904 7F02CDD4 C4241F08 */ lwc1 $f4, %lo(D_80051F08)($at) -/* 061908 7F02CDD8 46041400 */ add.s $f16, $f2, $f4 -.L7F02CDDC: -/* 06190C 7F02CDDC 8DE4001C */ lw $a0, 0x1c($t7) -/* 061910 7F02CDE0 8C980008 */ lw $t8, 8($a0) -/* 061914 7F02CDE4 8F050000 */ lw $a1, ($t8) -/* 061918 7F02CDE8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 06191C 7F02CDEC E7B00160 */ swc1 $f16, 0x160($sp) -/* 061920 7F02CDF0 44801000 */ mtc1 $zero, $f2 -/* 061924 7F02CDF4 C440005C */ lwc1 $f0, 0x5c($v0) -/* 061928 7F02CDF8 8FA9015C */ lw $t1, 0x15c($sp) -/* 06192C 7F02CDFC C7B00160 */ lwc1 $f16, 0x160($sp) -/* 061930 7F02CE00 4600103C */ c.lt.s $f2, $f0 -/* 061934 7F02CE04 8FB90028 */ lw $t9, 0x28($sp) -/* 061938 7F02CE08 312B0060 */ andi $t3, $t1, 0x60 -/* 06193C 7F02CE0C 45000012 */ bc1f .L7F02CE58 -/* 061940 7F02CE10 00000000 */ nop -/* 061944 7F02CE14 C4520058 */ lwc1 $f18, 0x58($v0) -/* 061948 7F02CE18 3C018005 */ lui $at, %hi(D_80051F0C) -/* 06194C 7F02CE1C 46120182 */ mul.s $f6, $f0, $f18 -/* 061950 7F02CE20 46068401 */ sub.s $f16, $f16, $f6 -/* 061954 7F02CE24 4602803C */ c.lt.s $f16, $f2 -/* 061958 7F02CE28 00000000 */ nop -/* 06195C 7F02CE2C 45000003 */ bc1f .L7F02CE3C -/* 061960 7F02CE30 00000000 */ nop -/* 061964 7F02CE34 C4201F0C */ lwc1 $f0, %lo(D_80051F0C)($at) -/* 061968 7F02CE38 46008400 */ add.s $f16, $f16, $f0 -.L7F02CE3C: -/* 06196C 7F02CE3C 3C018005 */ lui $at, %hi(D_80051F10) -/* 061970 7F02CE40 C4201F10 */ lwc1 $f0, %lo(D_80051F10)($at) -/* 061974 7F02CE44 4610003E */ c.le.s $f0, $f16 -/* 061978 7F02CE48 00000000 */ nop -/* 06197C 7F02CE4C 45000002 */ bc1f .L7F02CE58 -/* 061980 7F02CE50 00000000 */ nop -/* 061984 7F02CE54 46008401 */ sub.s $f16, $f16, $f0 -.L7F02CE58: -/* 061988 7F02CE58 3C018005 */ lui $at, %hi(D_80051F14) -/* 06198C 7F02CE5C 13200035 */ beqz $t9, .L7F02CF34 -/* 061990 7F02CE60 C4201F14 */ lwc1 $f0, %lo(D_80051F14)($at) -/* 061994 7F02CE64 15600033 */ bnez $t3, .L7F02CF34 -/* 061998 7F02CE68 3C0A8005 */ lui $t2, %hi(global_timer) -/* 06199C 7F02CE6C 8D4A837C */ lw $t2, %lo(global_timer)($t2) -/* 0619A0 7F02CE70 8FAC0168 */ lw $t4, 0x168($sp) -/* 0619A4 7F02CE74 2401003C */ li $at, 60 -/* 0619A8 7F02CE78 448A5000 */ mtc1 $t2, $f10 -/* 0619AC 7F02CE7C 8D8D001C */ lw $t5, 0x1c($t4) -/* 0619B0 7F02CE80 85980000 */ lh $t8, ($t4) -/* 0619B4 7F02CE84 46805220 */ cvt.s.w $f8, $f10 -/* 0619B8 7F02CE88 C5A400A4 */ lwc1 $f4, 0xa4($t5) -/* 0619BC 7F02CE8C E7B00160 */ swc1 $f16, 0x160($sp) -/* 0619C0 7F02CE90 46044482 */ mul.s $f18, $f8, $f4 -/* 0619C4 7F02CE94 4600918D */ trunc.w.s $f6, $f18 -/* 0619C8 7F02CE98 440F3000 */ mfc1 $t7, $f6 -/* 0619CC 7F02CE9C 00000000 */ nop -/* 0619D0 7F02CEA0 01F8C821 */ addu $t9, $t7, $t8 -/* 0619D4 7F02CEA4 0321001A */ div $zero, $t9, $at -/* 0619D8 7F02CEA8 00004810 */ mfhi $t1 -/* 0619DC 7F02CEAC 44895000 */ mtc1 $t1, $f10 -/* 0619E0 7F02CEB0 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0619E4 7F02CEB4 44819000 */ mtc1 $at, $f18 -/* 0619E8 7F02CEB8 46805220 */ cvt.s.w $f8, $f10 -/* 0619EC 7F02CEBC 46004102 */ mul.s $f4, $f8, $f0 -/* 0619F0 7F02CEC0 0FC15FAB */ jal sinf -/* 0619F4 7F02CEC4 46122303 */ div.s $f12, $f4, $f18 -/* 0619F8 7F02CEC8 E7A00030 */ swc1 $f0, 0x30($sp) -/* 0619FC 7F02CECC 0FC0B491 */ jal sub_GAME_7F02D244 -/* 061A00 7F02CED0 C7AC0144 */ lwc1 $f12, 0x144($sp) -/* 061A04 7F02CED4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 061A08 7F02CED8 44813000 */ mtc1 $at, $f6 -/* 061A0C 7F02CEDC C7A80030 */ lwc1 $f8, 0x30($sp) -/* 061A10 7F02CEE0 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 061A14 7F02CEE4 46060282 */ mul.s $f10, $f0, $f6 -/* 061A18 7F02CEE8 44809000 */ mtc1 $zero, $f18 -/* 061A1C 7F02CEEC 3C018005 */ lui $at, %hi(D_80051F18) -/* 061A20 7F02CEF0 46085102 */ mul.s $f4, $f10, $f8 -/* 061A24 7F02CEF4 46048400 */ add.s $f16, $f16, $f4 -/* 061A28 7F02CEF8 4612803C */ c.lt.s $f16, $f18 -/* 061A2C 7F02CEFC 00000000 */ nop -/* 061A30 7F02CF00 45000003 */ bc1f .L7F02CF10 -/* 061A34 7F02CF04 00000000 */ nop -/* 061A38 7F02CF08 C4261F18 */ lwc1 $f6, %lo(D_80051F18)($at) -/* 061A3C 7F02CF0C 46068400 */ add.s $f16, $f16, $f6 -.L7F02CF10: -/* 061A40 7F02CF10 3C018005 */ lui $at, %hi(D_80051F1C) -/* 061A44 7F02CF14 C42A1F1C */ lwc1 $f10, %lo(D_80051F1C)($at) -/* 061A48 7F02CF18 3C018005 */ lui $at, %hi(D_80051F20) -/* 061A4C 7F02CF1C 4610503E */ c.le.s $f10, $f16 -/* 061A50 7F02CF20 00000000 */ nop -/* 061A54 7F02CF24 45000003 */ bc1f .L7F02CF34 -/* 061A58 7F02CF28 00000000 */ nop -/* 061A5C 7F02CF2C C4281F20 */ lwc1 $f8, %lo(D_80051F20)($at) -/* 061A60 7F02CF30 46088401 */ sub.s $f16, $f16, $f8 -.L7F02CF34: -/* 061A64 7F02CF34 3C018005 */ lui $at, %hi(D_80051F24) -/* 061A68 7F02CF38 C4201F24 */ lwc1 $f0, %lo(D_80051F24)($at) -/* 061A6C 7F02CF3C 3C018005 */ lui $at, %hi(D_80051F28) -/* 061A70 7F02CF40 C4241F28 */ lwc1 $f4, %lo(D_80051F28)($at) -/* 061A74 7F02CF44 8FAB0168 */ lw $t3, 0x168($sp) -/* 061A78 7F02CF48 8FA2016C */ lw $v0, 0x16c($sp) -/* 061A7C 7F02CF4C 4610203E */ c.le.s $f4, $f16 -/* 061A80 7F02CF50 00000000 */ nop -/* 061A84 7F02CF54 45020003 */ bc1fl .L7F02CF64 -/* 061A88 7F02CF58 8D6A001C */ lw $t2, 0x1c($t3) -/* 061A8C 7F02CF5C 46008401 */ sub.s $f16, $f16, $f0 -/* 061A90 7F02CF60 8D6A001C */ lw $t2, 0x1c($t3) -.L7F02CF64: -/* 061A94 7F02CF64 C572014C */ lwc1 $f18, 0x14c($t3) -/* 061A98 7F02CF68 814D0024 */ lb $t5, 0x24($t2) -/* 061A9C 7F02CF6C 46128400 */ add.s $f16, $f16, $f18 -/* 061AA0 7F02CF70 51A00015 */ beql $t5, $zero, .L7F02CFC8 -/* 061AA4 7F02CF74 C4400038 */ lwc1 $f0, 0x38($v0) -/* 061AA8 7F02CF78 8FA2016C */ lw $v0, 0x16c($sp) -/* 061AAC 7F02CF7C C4400038 */ lwc1 $f0, 0x38($v0) -/* 061AB0 7F02CF80 46000007 */ neg.s $f0, $f0 -/* 061AB4 7F02CF84 4600803C */ c.lt.s $f16, $f0 -/* 061AB8 7F02CF88 00000000 */ nop -/* 061ABC 7F02CF8C 45020005 */ bc1fl .L7F02CFA4 -/* 061AC0 7F02CF90 C440003C */ lwc1 $f0, 0x3c($v0) -/* 061AC4 7F02CF94 46000406 */ mov.s $f16, $f0 -/* 061AC8 7F02CF98 10000019 */ b .L7F02D000 -/* 061ACC 7F02CF9C AFA00154 */ sw $zero, 0x154($sp) -/* 061AD0 7F02CFA0 C440003C */ lwc1 $f0, 0x3c($v0) -.L7F02CFA4: -/* 061AD4 7F02CFA4 46000007 */ neg.s $f0, $f0 -/* 061AD8 7F02CFA8 4610003C */ c.lt.s $f0, $f16 -/* 061ADC 7F02CFAC 00000000 */ nop -/* 061AE0 7F02CFB0 45020014 */ bc1fl .L7F02D004 -/* 061AE4 7F02CFB4 C7A60164 */ lwc1 $f6, 0x164($sp) -/* 061AE8 7F02CFB8 46000406 */ mov.s $f16, $f0 -/* 061AEC 7F02CFBC 10000010 */ b .L7F02D000 -/* 061AF0 7F02CFC0 AFA00154 */ sw $zero, 0x154($sp) -/* 061AF4 7F02CFC4 C4400038 */ lwc1 $f0, 0x38($v0) -.L7F02CFC8: -/* 061AF8 7F02CFC8 4610003C */ c.lt.s $f0, $f16 -/* 061AFC 7F02CFCC 00000000 */ nop -/* 061B00 7F02CFD0 45020005 */ bc1fl .L7F02CFE8 -/* 061B04 7F02CFD4 C440003C */ lwc1 $f0, 0x3c($v0) -/* 061B08 7F02CFD8 46000406 */ mov.s $f16, $f0 -/* 061B0C 7F02CFDC 10000008 */ b .L7F02D000 -/* 061B10 7F02CFE0 AFA00154 */ sw $zero, 0x154($sp) -/* 061B14 7F02CFE4 C440003C */ lwc1 $f0, 0x3c($v0) -.L7F02CFE8: -/* 061B18 7F02CFE8 4600803C */ c.lt.s $f16, $f0 -/* 061B1C 7F02CFEC 00000000 */ nop -/* 061B20 7F02CFF0 45020004 */ bc1fl .L7F02D004 -/* 061B24 7F02CFF4 C7A60164 */ lwc1 $f6, 0x164($sp) -/* 061B28 7F02CFF8 46000406 */ mov.s $f16, $f0 -/* 061B2C 7F02CFFC AFA00154 */ sw $zero, 0x154($sp) -.L7F02D000: -/* 061B30 7F02D000 C7A60164 */ lwc1 $f6, 0x164($sp) -.L7F02D004: -/* 061B34 7F02D004 8FA40168 */ lw $a0, 0x168($sp) -/* 061B38 7F02D008 8FA5016C */ lw $a1, 0x16c($sp) -/* 061B3C 7F02D00C 8FA60170 */ lw $a2, 0x170($sp) -/* 061B40 7F02D010 8FA70174 */ lw $a3, 0x174($sp) -/* 061B44 7F02D014 E7B00160 */ swc1 $f16, 0x160($sp) -/* 061B48 7F02D018 0FC0B412 */ jal sub_GAME_7F02D048 -/* 061B4C 7F02D01C E7A60010 */ swc1 $f6, 0x10($sp) -/* 061B50 7F02D020 8FAE0168 */ lw $t6, 0x168($sp) -/* 061B54 7F02D024 C7B00160 */ lwc1 $f16, 0x160($sp) -/* 061B58 7F02D028 240C000A */ li $t4, 10 -/* 061B5C 7F02D02C A1CC000E */ sb $t4, 0xe($t6) -/* 061B60 7F02D030 E5D0015C */ swc1 $f16, 0x15c($t6) -/* 061B64 7F02D034 8FBF001C */ lw $ra, 0x1c($sp) -/* 061B68 7F02D038 8FA20154 */ lw $v0, 0x154($sp) -/* 061B6C 7F02D03C 27BD0168 */ addiu $sp, $sp, 0x168 -/* 061B70 7F02D040 03E00008 */ jr $ra -/* 061B74 7F02D044 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D048(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02D048 -/* 061B78 7F02D048 44808000 */ mtc1 $zero, $f16 -/* 061B7C 7F02D04C C7AE0010 */ lwc1 $f14, 0x10($sp) -/* 061B80 7F02D050 46008006 */ mov.s $f0, $f16 -/* 061B84 7F02D054 46008086 */ mov.s $f2, $f16 -/* 061B88 7F02D058 10A0001B */ beqz $a1, .L7F02D0C8 -/* 061B8C 7F02D05C 46007306 */ mov.s $f12, $f14 -/* 061B90 7F02D060 C4A00030 */ lwc1 $f0, 0x30($a1) -/* 061B94 7F02D064 460E003C */ c.lt.s $f0, $f14 -/* 061B98 7F02D068 00000000 */ nop -/* 061B9C 7F02D06C 45020005 */ bc1fl .L7F02D084 -/* 061BA0 7F02D070 C4A00034 */ lwc1 $f0, 0x34($a1) -/* 061BA4 7F02D074 46007081 */ sub.s $f2, $f14, $f0 -/* 061BA8 7F02D078 10000008 */ b .L7F02D09C -/* 061BAC 7F02D07C 46000306 */ mov.s $f12, $f0 -/* 061BB0 7F02D080 C4A00034 */ lwc1 $f0, 0x34($a1) -.L7F02D084: -/* 061BB4 7F02D084 4600703C */ c.lt.s $f14, $f0 -/* 061BB8 7F02D088 00000000 */ nop -/* 061BBC 7F02D08C 45020004 */ bc1fl .L7F02D0A0 -/* 061BC0 7F02D090 460C803C */ c.lt.s $f16, $f12 -/* 061BC4 7F02D094 46007081 */ sub.s $f2, $f14, $f0 -/* 061BC8 7F02D098 46000306 */ mov.s $f12, $f0 -.L7F02D09C: -/* 061BCC 7F02D09C 460C803C */ c.lt.s $f16, $f12 -.L7F02D0A0: -/* 061BD0 7F02D0A0 00000000 */ nop -/* 061BD4 7F02D0A4 45020006 */ bc1fl .L7F02D0C0 -/* 061BD8 7F02D0A8 C4A60044 */ lwc1 $f6, 0x44($a1) -/* 061BDC 7F02D0AC C4A40040 */ lwc1 $f4, 0x40($a1) -/* 061BE0 7F02D0B0 460C2002 */ mul.s $f0, $f4, $f12 -/* 061BE4 7F02D0B4 10000004 */ b .L7F02D0C8 -/* 061BE8 7F02D0B8 00000000 */ nop -/* 061BEC 7F02D0BC C4A60044 */ lwc1 $f6, 0x44($a1) -.L7F02D0C0: -/* 061BF0 7F02D0C0 460C3002 */ mul.s $f0, $f6, $f12 -/* 061BF4 7F02D0C4 00000000 */ nop -.L7F02D0C8: -/* 061BF8 7F02D0C8 50E00008 */ beql $a3, $zero, .L7F02D0EC -/* 061BFC 7F02D0CC E4800154 */ swc1 $f0, 0x154($a0) -/* 061C00 7F02D0D0 10C00003 */ beqz $a2, .L7F02D0E0 -/* 061C04 7F02D0D4 E48C0154 */ swc1 $f12, 0x154($a0) -/* 061C08 7F02D0D8 10000005 */ b .L7F02D0F0 -/* 061C0C 7F02D0DC E48C0150 */ swc1 $f12, 0x150($a0) -.L7F02D0E0: -/* 061C10 7F02D0E0 10000003 */ b .L7F02D0F0 -/* 061C14 7F02D0E4 E4800150 */ swc1 $f0, 0x150($a0) -/* 061C18 7F02D0E8 E4800154 */ swc1 $f0, 0x154($a0) -.L7F02D0EC: -/* 061C1C 7F02D0EC E48C0150 */ swc1 $f12, 0x150($a0) -.L7F02D0F0: -/* 061C20 7F02D0F0 03E00008 */ jr $ra -/* 061C24 7F02D0F4 E4820158 */ swc1 $f2, 0x158($a0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D0F8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02D0F8 -/* 061C28 7F02D0F8 44800000 */ mtc1 $zero, $f0 -/* 061C2C 7F02D0FC 240E000A */ li $t6, 10 -/* 061C30 7F02D100 A08E000E */ sb $t6, 0xe($a0) -/* 061C34 7F02D104 E4800154 */ swc1 $f0, 0x154($a0) -/* 061C38 7F02D108 E4800150 */ swc1 $f0, 0x150($a0) -/* 061C3C 7F02D10C E4800158 */ swc1 $f0, 0x158($a0) -/* 061C40 7F02D110 03E00008 */ jr $ra -/* 061C44 7F02D114 E480015C */ swc1 $f0, 0x15c($a0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D118(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02D118 -/* 061C48 7F02D118 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 061C4C 7F02D11C AFBF0014 */ sw $ra, 0x14($sp) -/* 061C50 7F02D120 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 061C54 7F02D124 AFA60020 */ sw $a2, 0x20($sp) -/* 061C58 7F02D128 10400003 */ beqz $v0, .L7F02D138 -/* 061C5C 7F02D12C 00402025 */ move $a0, $v0 -/* 061C60 7F02D130 0FC1495D */ jal sub_GAME_7F052574 -/* 061C64 7F02D134 8FA50020 */ lw $a1, 0x20($sp) -.L7F02D138: -/* 061C68 7F02D138 8FBF0014 */ lw $ra, 0x14($sp) -/* 061C6C 7F02D13C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 061C70 7F02D140 03E00008 */ jr $ra -/* 061C74 7F02D144 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D148(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02D148 -/* 061C78 7F02D148 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 061C7C 7F02D14C AFBF0014 */ sw $ra, 0x14($sp) -/* 061C80 7F02D150 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 061C84 7F02D154 00000000 */ nop -/* 061C88 7F02D158 10400005 */ beqz $v0, .L7F02D170 -/* 061C8C 7F02D15C 00402025 */ move $a0, $v0 -/* 061C90 7F02D160 0FC14981 */ jal sub_GAME_7F052604 -/* 061C94 7F02D164 00000000 */ nop -/* 061C98 7F02D168 10000003 */ b .L7F02D178 -/* 061C9C 7F02D16C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02D170: -/* 061CA0 7F02D170 00001025 */ move $v0, $zero -/* 061CA4 7F02D174 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02D178: -/* 061CA8 7F02D178 27BD0018 */ addiu $sp, $sp, 0x18 -/* 061CAC 7F02D17C 03E00008 */ jr $ra -/* 061CB0 7F02D180 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D184(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02D184 -/* 061CB4 7F02D184 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 061CB8 7F02D188 AFBF0014 */ sw $ra, 0x14($sp) -/* 061CBC 7F02D18C AFA40018 */ sw $a0, 0x18($sp) -/* 061CC0 7F02D190 00002825 */ move $a1, $zero -/* 061CC4 7F02D194 0FC0B446 */ jal sub_GAME_7F02D118 -/* 061CC8 7F02D198 00003025 */ move $a2, $zero -/* 061CCC 7F02D19C 8FA40018 */ lw $a0, 0x18($sp) -/* 061CD0 7F02D1A0 24050001 */ li $a1, 1 -/* 061CD4 7F02D1A4 0FC0B446 */ jal sub_GAME_7F02D118 -/* 061CD8 7F02D1A8 00003025 */ move $a2, $zero -/* 061CDC 7F02D1AC 0FC0B43E */ jal sub_GAME_7F02D0F8 -/* 061CE0 7F02D1B0 8FA40018 */ lw $a0, 0x18($sp) -/* 061CE4 7F02D1B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 061CE8 7F02D1B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 061CEC 7F02D1BC 03E00008 */ jr $ra -/* 061CF0 7F02D1C0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D1C4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02D1C4 -/* 061CF4 7F02D1C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 061CF8 7F02D1C8 10C0000C */ beqz $a2, .L7F02D1FC -/* 061CFC 7F02D1CC AFBF0014 */ sw $ra, 0x14($sp) -/* 061D00 7F02D1D0 24010001 */ li $at, 1 -/* 061D04 7F02D1D4 54A10006 */ bnel $a1, $at, .L7F02D1F0 -/* 061D08 7F02D1D8 94980012 */ lhu $t8, 0x12($a0) -/* 061D0C 7F02D1DC 948E0012 */ lhu $t6, 0x12($a0) -/* 061D10 7F02D1E0 35CF0004 */ ori $t7, $t6, 4 -/* 061D14 7F02D1E4 1000000F */ b .L7F02D224 -/* 061D18 7F02D1E8 A48F0012 */ sh $t7, 0x12($a0) -/* 061D1C 7F02D1EC 94980012 */ lhu $t8, 0x12($a0) -.L7F02D1F0: -/* 061D20 7F02D1F0 37190008 */ ori $t9, $t8, 8 -/* 061D24 7F02D1F4 1000000B */ b .L7F02D224 -/* 061D28 7F02D1F8 A4990012 */ sh $t9, 0x12($a0) -.L7F02D1FC: -/* 061D2C 7F02D1FC 24010001 */ li $at, 1 -/* 061D30 7F02D200 54A10006 */ bnel $a1, $at, .L7F02D21C -/* 061D34 7F02D204 948A0012 */ lhu $t2, 0x12($a0) -/* 061D38 7F02D208 94880012 */ lhu $t0, 0x12($a0) -/* 061D3C 7F02D20C 3109FFFB */ andi $t1, $t0, 0xfffb -/* 061D40 7F02D210 10000004 */ b .L7F02D224 -/* 061D44 7F02D214 A4890012 */ sh $t1, 0x12($a0) -/* 061D48 7F02D218 948A0012 */ lhu $t2, 0x12($a0) -.L7F02D21C: -/* 061D4C 7F02D21C 314BFFF7 */ andi $t3, $t2, 0xfff7 -/* 061D50 7F02D220 A48B0012 */ sh $t3, 0x12($a0) -.L7F02D224: -/* 061D54 7F02D224 54C00004 */ bnezl $a2, .L7F02D238 -/* 061D58 7F02D228 8FBF0014 */ lw $ra, 0x14($sp) -/* 061D5C 7F02D22C 0FC0B446 */ jal sub_GAME_7F02D118 -/* 061D60 7F02D230 00003025 */ move $a2, $zero -/* 061D64 7F02D234 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02D238: -/* 061D68 7F02D238 27BD0018 */ addiu $sp, $sp, 0x18 -/* 061D6C 7F02D23C 03E00008 */ jr $ra -/* 061D70 7F02D240 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D244(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051F2C -.word 0x4a1c4000 /*2560000.0*/ -glabel D_80051F30 -.word 0x3c99a5b7 /*0.018755777*/ -glabel D_80051F34 -.word 0x491c4000 /*640000.0*/ -glabel D_80051F38 -.word 0x3d1a1b7b /*0.037623864*/ -glabel D_80051F3C -.word 0x481c4000 /*160000.0*/ -glabel D_80051F40 -.word 0x3d9930a7 /*0.074799828*/ -glabel D_80051F44 -.word 0x471c4000 /*40000.0*/ -glabel D_80051F48 -.word 0x3e1930a7 /*0.14959966*/ -glabel D_80051F4C -.word 0x3e80adfd /*0.25132743*/ -.text -glabel sub_GAME_7F02D244 -/* 061D74 7F02D244 3C018005 */ lui $at, %hi(D_80051F2C) -/* 061D78 7F02D248 C4241F2C */ lwc1 $f4, %lo(D_80051F2C)($at) -/* 061D7C 7F02D24C 3C018005 */ lui $at, %hi(D_80051F34) -/* 061D80 7F02D250 460C203C */ c.lt.s $f4, $f12 -/* 061D84 7F02D254 00000000 */ nop -/* 061D88 7F02D258 45000004 */ bc1f .L7F02D26C -/* 061D8C 7F02D25C 00000000 */ nop -/* 061D90 7F02D260 3C018005 */ lui $at, %hi(D_80051F30) -/* 061D94 7F02D264 03E00008 */ jr $ra -/* 061D98 7F02D268 C4201F30 */ lwc1 $f0, %lo(D_80051F30)($at) - -.L7F02D26C: -/* 061D9C 7F02D26C C4261F34 */ lwc1 $f6, %lo(D_80051F34)($at) -/* 061DA0 7F02D270 3C018005 */ lui $at, %hi(D_80051F3C) -/* 061DA4 7F02D274 460C303C */ c.lt.s $f6, $f12 -/* 061DA8 7F02D278 00000000 */ nop -/* 061DAC 7F02D27C 45000004 */ bc1f .L7F02D290 -/* 061DB0 7F02D280 00000000 */ nop -/* 061DB4 7F02D284 3C018005 */ lui $at, %hi(D_80051F38) -/* 061DB8 7F02D288 03E00008 */ jr $ra -/* 061DBC 7F02D28C C4201F38 */ lwc1 $f0, %lo(D_80051F38)($at) - -.L7F02D290: -/* 061DC0 7F02D290 C4281F3C */ lwc1 $f8, %lo(D_80051F3C)($at) -/* 061DC4 7F02D294 3C018005 */ lui $at, %hi(D_80051F44) -/* 061DC8 7F02D298 460C403C */ c.lt.s $f8, $f12 -/* 061DCC 7F02D29C 00000000 */ nop -/* 061DD0 7F02D2A0 45000004 */ bc1f .L7F02D2B4 -/* 061DD4 7F02D2A4 00000000 */ nop -/* 061DD8 7F02D2A8 3C018005 */ lui $at, %hi(D_80051F40) -/* 061DDC 7F02D2AC 03E00008 */ jr $ra -/* 061DE0 7F02D2B0 C4201F40 */ lwc1 $f0, %lo(D_80051F40)($at) - -.L7F02D2B4: -/* 061DE4 7F02D2B4 C42A1F44 */ lwc1 $f10, %lo(D_80051F44)($at) -/* 061DE8 7F02D2B8 3C018005 */ lui $at, %hi(D_80051F4C) -/* 061DEC 7F02D2BC 460C503C */ c.lt.s $f10, $f12 -/* 061DF0 7F02D2C0 00000000 */ nop -/* 061DF4 7F02D2C4 45000004 */ bc1f .L7F02D2D8 -/* 061DF8 7F02D2C8 00000000 */ nop -/* 061DFC 7F02D2CC 3C018005 */ lui $at, %hi(D_80051F48) -/* 061E00 7F02D2D0 03E00008 */ jr $ra -/* 061E04 7F02D2D4 C4201F48 */ lwc1 $f0, %lo(D_80051F48)($at) - -.L7F02D2D8: -/* 061E08 7F02D2D8 C4201F4C */ lwc1 $f0, %lo(D_80051F4C)($at) -/* 061E0C 7F02D2DC 03E00008 */ jr $ra -/* 061E10 7F02D2E0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D2E4(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80051F50 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F54 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F58 -.word 0x3e23d70a /*0.16*/ -glabel D_80051F5C -.word 0x41200419 /*10.001*/ -.text -glabel sub_GAME_7F02D2E4 -/* 061E14 7F02D2E4 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 061E18 7F02D2E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 061E1C 7F02D2EC AFA40060 */ sw $a0, 0x60($sp) -/* 061E20 7F02D2F0 AFA50064 */ sw $a1, 0x64($sp) -/* 061E24 7F02D2F4 AFA60068 */ sw $a2, 0x68($sp) -/* 061E28 7F02D2F8 0FC225E6 */ jal get_curplayer_positiondata -/* 061E2C 7F02D2FC AFA7006C */ sw $a3, 0x6c($sp) -/* 061E30 7F02D300 8FAE0060 */ lw $t6, 0x60($sp) -/* 061E34 7F02D304 C4440008 */ lwc1 $f4, 8($v0) -/* 061E38 7F02D308 C448000C */ lwc1 $f8, 0xc($v0) -/* 061E3C 7F02D30C 8DC30018 */ lw $v1, 0x18($t6) -/* 061E40 7F02D310 C4660008 */ lwc1 $f6, 8($v1) -/* 061E44 7F02D314 C46A000C */ lwc1 $f10, 0xc($v1) -/* 061E48 7F02D318 46062301 */ sub.s $f12, $f4, $f6 -/* 061E4C 7F02D31C 460A4101 */ sub.s $f4, $f8, $f10 -/* 061E50 7F02D320 E7A40050 */ swc1 $f4, 0x50($sp) -/* 061E54 7F02D324 C4460010 */ lwc1 $f6, 0x10($v0) -/* 061E58 7F02D328 C4680010 */ lwc1 $f8, 0x10($v1) -/* 061E5C 7F02D32C E7AC0054 */ swc1 $f12, 0x54($sp) -/* 061E60 7F02D330 46083381 */ sub.s $f14, $f6, $f8 -/* 061E64 7F02D334 0FC16A8C */ jal convert_angle_using_inverse -/* 061E68 7F02D338 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 061E6C 7F02D33C E7A00048 */ swc1 $f0, 0x48($sp) -/* 061E70 7F02D340 0FC0B064 */ jal sub_GAME_7F02C190 -/* 061E74 7F02D344 8FA40060 */ lw $a0, 0x60($sp) -/* 061E78 7F02D348 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 061E7C 7F02D34C C7B20050 */ lwc1 $f18, 0x50($sp) -/* 061E80 7F02D350 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 061E84 7F02D354 46108102 */ mul.s $f4, $f16, $f16 -/* 061E88 7F02D358 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 061E8C 7F02D35C 46005081 */ sub.s $f2, $f10, $f0 -/* 061E90 7F02D360 46129182 */ mul.s $f6, $f18, $f18 -/* 061E94 7F02D364 E7A00044 */ swc1 $f0, 0x44($sp) -/* 061E98 7F02D368 460E7282 */ mul.s $f10, $f14, $f14 -/* 061E9C 7F02D36C E7A20040 */ swc1 $f2, 0x40($sp) -/* 061EA0 7F02D370 46062200 */ add.s $f8, $f4, $f6 -/* 061EA4 7F02D374 460A4300 */ add.s $f12, $f8, $f10 -/* 061EA8 7F02D378 0FC0B491 */ jal sub_GAME_7F02D244 -/* 061EAC 7F02D37C E7AC001C */ swc1 $f12, 0x1c($sp) -/* 061EB0 7F02D380 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 061EB4 7F02D384 44802000 */ mtc1 $zero, $f4 -/* 061EB8 7F02D388 3C018005 */ lui $at, %hi(D_80051F50) -/* 061EBC 7F02D38C 8FAF0064 */ lw $t7, 0x64($sp) -/* 061EC0 7F02D390 4604103C */ c.lt.s $f2, $f4 -/* 061EC4 7F02D394 00000000 */ nop -/* 061EC8 7F02D398 45020004 */ bc1fl .L7F02D3AC -/* 061ECC 7F02D39C 4600103C */ c.lt.s $f2, $f0 -/* 061ED0 7F02D3A0 C4261F50 */ lwc1 $f6, %lo(D_80051F50)($at) -/* 061ED4 7F02D3A4 46061080 */ add.s $f2, $f2, $f6 -/* 061ED8 7F02D3A8 4600103C */ c.lt.s $f2, $f0 -.L7F02D3AC: -/* 061EDC 7F02D3AC 00001025 */ move $v0, $zero -/* 061EE0 7F02D3B0 3C018005 */ lui $at, %hi(D_80051F54) -/* 061EE4 7F02D3B4 45000002 */ bc1f .L7F02D3C0 -/* 061EE8 7F02D3B8 00000000 */ nop -/* 061EEC 7F02D3BC 24020001 */ li $v0, 1 -.L7F02D3C0: -/* 061EF0 7F02D3C0 14400009 */ bnez $v0, .L7F02D3E8 -/* 061EF4 7F02D3C4 00401825 */ move $v1, $v0 -/* 061EF8 7F02D3C8 C4281F54 */ lwc1 $f8, %lo(D_80051F54)($at) -/* 061EFC 7F02D3CC 00001825 */ move $v1, $zero -/* 061F00 7F02D3D0 46004281 */ sub.s $f10, $f8, $f0 -/* 061F04 7F02D3D4 4602503C */ c.lt.s $f10, $f2 -/* 061F08 7F02D3D8 00000000 */ nop -/* 061F0C 7F02D3DC 45020003 */ bc1fl .L7F02D3EC -/* 061F10 7F02D3E0 ADE30000 */ sw $v1, ($t7) -/* 061F14 7F02D3E4 24030001 */ li $v1, 1 -.L7F02D3E8: -/* 061F18 7F02D3E8 ADE30000 */ sw $v1, ($t7) -.L7F02D3EC: -/* 061F1C 7F02D3EC 8FB80068 */ lw $t8, 0x68($sp) -/* 061F20 7F02D3F0 AF000000 */ sw $zero, ($t8) -/* 061F24 7F02D3F4 0FC227A9 */ jal check_if_bond_is_invincible -/* 061F28 7F02D3F8 AFA30024 */ sw $v1, 0x24($sp) -/* 061F2C 7F02D3FC 14400088 */ bnez $v0, .L7F02D620 -/* 061F30 7F02D400 8FA30024 */ lw $v1, 0x24($sp) -/* 061F34 7F02D404 50600087 */ beql $v1, $zero, .L7F02D624 -/* 061F38 7F02D408 8FBF0014 */ lw $ra, 0x14($sp) -/* 061F3C 7F02D40C 0C007DF8 */ jal sqrtf -/* 061F40 7F02D410 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 061F44 7F02D414 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 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(global_timer_delta) -/* 061F58 7F02D428 4600603C */ c.lt.s $f12, $f0 -/* 061F5C 7F02D42C C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 061F60 7F02D430 8FB90060 */ lw $t9, 0x60($sp) -/* 061F64 7F02D434 46062082 */ mul.s $f2, $f4, $f6 -/* 061F68 7F02D438 45020005 */ bc1fl .L7F02D450 -/* 061F6C 7F02D43C 83220002 */ lb $v0, 2($t9) -/* 061F70 7F02D440 46006203 */ div.s $f8, $f12, $f0 -/* 061F74 7F02D444 46081082 */ mul.s $f2, $f2, $f8 -/* 061F78 7F02D448 00000000 */ nop -/* 061F7C 7F02D44C 83220002 */ lb $v0, 2($t9) -.L7F02D450: -/* 061F80 7F02D450 1840000C */ blez $v0, .L7F02D484 -/* 061F84 7F02D454 00000000 */ nop -/* 061F88 7F02D458 44825000 */ mtc1 $v0, $f10 -/* 061F8C 7F02D45C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 061F90 7F02D460 44813000 */ mtc1 $at, $f6 -/* 061F94 7F02D464 46805120 */ cvt.s.w $f4, $f10 -/* 061F98 7F02D468 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 061F9C 7F02D46C 44815000 */ mtc1 $at, $f10 -/* 061FA0 7F02D470 46062203 */ div.s $f8, $f4, $f6 -/* 061FA4 7F02D474 46085100 */ add.s $f4, $f10, $f8 -/* 061FA8 7F02D478 46041082 */ mul.s $f2, $f2, $f4 -/* 061FAC 7F02D47C 1000000F */ b .L7F02D4BC -/* 061FB0 7F02D480 00000000 */ nop -.L7F02D484: -/* 061FB4 7F02D484 0441000D */ bgez $v0, .L7F02D4BC -/* 061FB8 7F02D488 2841FF9D */ slti $at, $v0, -0x63 -/* 061FBC 7F02D48C 10200004 */ beqz $at, .L7F02D4A0 -/* 061FC0 7F02D490 24480064 */ addiu $t0, $v0, 0x64 -/* 061FC4 7F02D494 44801000 */ mtc1 $zero, $f2 -/* 061FC8 7F02D498 10000008 */ b .L7F02D4BC -/* 061FCC 7F02D49C 00000000 */ nop -.L7F02D4A0: -/* 061FD0 7F02D4A0 44883000 */ mtc1 $t0, $f6 -/* 061FD4 7F02D4A4 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 061FD8 7F02D4A8 44814000 */ mtc1 $at, $f8 -/* 061FDC 7F02D4AC 468032A0 */ cvt.s.w $f10, $f6 -/* 061FE0 7F02D4B0 46085103 */ div.s $f4, $f10, $f8 -/* 061FE4 7F02D4B4 46041082 */ mul.s $f2, $f2, $f4 -/* 061FE8 7F02D4B8 00000000 */ nop -.L7F02D4BC: -/* 061FEC 7F02D4BC 0FC074D8 */ jal get_007_accuracy_mod -/* 061FF0 7F02D4C0 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 061FF4 7F02D4C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 061FF8 7F02D4C8 44813000 */ mtc1 $at, $f6 -/* 061FFC 7F02D4CC C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 062000 7F02D4D0 4606003E */ c.le.s $f0, $f6 -/* 062004 7F02D4D4 00000000 */ nop -/* 062008 7F02D4D8 45000007 */ bc1f .L7F02D4F8 -/* 06200C 7F02D4DC 00000000 */ nop -/* 062010 7F02D4E0 0FC074D8 */ jal get_007_accuracy_mod -/* 062014 7F02D4E4 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 062018 7F02D4E8 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 06201C 7F02D4EC 46001082 */ mul.s $f2, $f2, $f0 -/* 062020 7F02D4F0 1000000C */ b .L7F02D524 -/* 062024 7F02D4F4 00000000 */ nop -.L7F02D4F8: -/* 062028 7F02D4F8 0FC074D8 */ jal get_007_accuracy_mod -/* 06202C 7F02D4FC E7A2002C */ swc1 $f2, 0x2c($sp) -/* 062030 7F02D500 3C014110 */ li $at, 0x41100000 # 9.000000 -/* 062034 7F02D504 44815000 */ mtc1 $at, $f10 -/* 062038 7F02D508 3C018005 */ lui $at, %hi(D_80051F5C) -/* 06203C 7F02D50C C4281F5C */ lwc1 $f8, %lo(D_80051F5C)($at) -/* 062040 7F02D510 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 062044 7F02D514 46004101 */ sub.s $f4, $f8, $f0 -/* 062048 7F02D518 46045183 */ div.s $f6, $f10, $f4 -/* 06204C 7F02D51C 46061082 */ mul.s $f2, $f2, $f6 -/* 062050 7F02D520 00000000 */ nop -.L7F02D524: -/* 062054 7F02D524 3C018003 */ lui $at, %hi(ai_accuracy_modifier) -/* 062058 7F02D528 C428CE40 */ lwc1 $f8, %lo(ai_accuracy_modifier)($at) -/* 06205C 7F02D52C 8FA4006C */ lw $a0, 0x6c($sp) -/* 062060 7F02D530 46081082 */ mul.s $f2, $f2, $f8 -/* 062064 7F02D534 0FC177F3 */ jal get_automatic_firing_rate -/* 062068 7F02D538 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 06206C 7F02D53C 1C400002 */ bgtz $v0, .L7F02D548 -/* 062070 7F02D540 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 062074 7F02D544 46021080 */ add.s $f2, $f2, $f2 -.L7F02D548: -/* 062078 7F02D548 8FA4006C */ lw $a0, 0x6c($sp) -/* 06207C 7F02D54C 2401000F */ li $at, 15 -/* 062080 7F02D550 8FA20060 */ lw $v0, 0x60($sp) -/* 062084 7F02D554 10810003 */ beq $a0, $at, .L7F02D564 -/* 062088 7F02D558 24010010 */ li $at, 16 -/* 06208C 7F02D55C 54810003 */ bnel $a0, $at, .L7F02D56C -/* 062090 7F02D560 C44A013C */ lwc1 $f10, 0x13c($v0) -.L7F02D564: -/* 062094 7F02D564 46021080 */ add.s $f2, $f2, $f2 -/* 062098 7F02D568 C44A013C */ lwc1 $f10, 0x13c($v0) -.L7F02D56C: -/* 06209C 7F02D56C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0620A0 7F02D570 44814000 */ mtc1 $at, $f8 -/* 0620A4 7F02D574 46025100 */ add.s $f4, $f10, $f2 -/* 0620A8 7F02D578 E444013C */ swc1 $f4, 0x13c($v0) -/* 0620AC 7F02D57C C446013C */ lwc1 $f6, 0x13c($v0) -/* 0620B0 7F02D580 4606403E */ c.le.s $f8, $f6 -/* 0620B4 7F02D584 00000000 */ nop -/* 0620B8 7F02D588 45020026 */ bc1fl .L7F02D624 -/* 0620BC 7F02D58C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0620C0 7F02D590 0FC177E1 */ jal sub_GAME_7F05DF84 -/* 0620C4 7F02D594 00000000 */ nop -/* 0620C8 7F02D598 0FC074C9 */ jal get_007_damage_mod -/* 0620CC 7F02D59C E7A00020 */ swc1 $f0, 0x20($sp) -/* 0620D0 7F02D5A0 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 0620D4 7F02D5A4 44815000 */ mtc1 $at, $f10 -/* 0620D8 7F02D5A8 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0620DC 7F02D5AC 3C018003 */ lui $at, %hi(ai_damage_modifier) -/* 0620E0 7F02D5B0 C428CE44 */ lwc1 $f8, %lo(ai_damage_modifier)($at) -/* 0620E4 7F02D5B4 46045182 */ mul.s $f6, $f10, $f4 -/* 0620E8 7F02D5B8 8FA9006C */ lw $t1, 0x6c($sp) -/* 0620EC 7F02D5BC 2401000F */ li $at, 15 -/* 0620F0 7F02D5C0 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 0620F4 7F02D5C4 2406FFFF */ li $a2, -1 -/* 0620F8 7F02D5C8 46083282 */ mul.s $f10, $f6, $f8 -/* 0620FC 7F02D5CC 00000000 */ nop -/* 062100 7F02D5D0 460A0302 */ mul.s $f12, $f0, $f10 -/* 062104 7F02D5D4 11210003 */ beq $t1, $at, .L7F02D5E4 -/* 062108 7F02D5D8 00000000 */ nop -/* 06210C 7F02D5DC 24010010 */ li $at, 16 -/* 062110 7F02D5E0 15210005 */ bne $t1, $at, .L7F02D5F8 -.L7F02D5E4: -/* 062114 7F02D5E4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 062118 7F02D5E8 44812000 */ mtc1 $at, $f4 -/* 06211C 7F02D5EC 00000000 */ nop -/* 062120 7F02D5F0 46046302 */ mul.s $f12, $f12, $f4 -/* 062124 7F02D5F4 00000000 */ nop -.L7F02D5F8: -/* 062128 7F02D5F8 0FC22793 */ jal sub_GAME_7F089E4C -/* 06212C 7F02D5FC 24070001 */ li $a3, 1 -/* 062130 7F02D600 44803000 */ mtc1 $zero, $f6 -/* 062134 7F02D604 8FAA0060 */ lw $t2, 0x60($sp) -/* 062138 7F02D608 0FC227A9 */ jal check_if_bond_is_invincible -/* 06213C 7F02D60C E546013C */ swc1 $f6, 0x13c($t2) -/* 062140 7F02D610 10400003 */ beqz $v0, .L7F02D620 -/* 062144 7F02D614 8FAC0068 */ lw $t4, 0x68($sp) -/* 062148 7F02D618 240B0001 */ li $t3, 1 -/* 06214C 7F02D61C AD8B0000 */ sw $t3, ($t4) -.L7F02D620: -/* 062150 7F02D620 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02D624: -/* 062154 7F02D624 27BD0060 */ addiu $sp, $sp, 0x60 -/* 062158 7F02D628 03E00008 */ jr $ra -/* 06215C 7F02D62C 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80051F50 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F54 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051F58 -.word 0x3e23d70a /*0.16*/ -glabel D_80051F5C -.word 0x41200419 /*10.001*/ -.text -glabel sub_GAME_7F02D2E4 -/* 061E14 7F02D2E4 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 061E18 7F02D2E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 061E1C 7F02D2EC AFA40060 */ sw $a0, 0x60($sp) -/* 061E20 7F02D2F0 AFA50064 */ sw $a1, 0x64($sp) -/* 061E24 7F02D2F4 AFA60068 */ sw $a2, 0x68($sp) -/* 061E28 7F02D2F8 0FC225E6 */ jal get_curplayer_positiondata -/* 061E2C 7F02D2FC AFA7006C */ sw $a3, 0x6c($sp) -/* 061E30 7F02D300 8FAE0060 */ lw $t6, 0x60($sp) -/* 061E34 7F02D304 C4440008 */ lwc1 $f4, 8($v0) -/* 061E38 7F02D308 C448000C */ lwc1 $f8, 0xc($v0) -/* 061E3C 7F02D30C 8DC30018 */ lw $v1, 0x18($t6) -/* 061E40 7F02D310 C4660008 */ lwc1 $f6, 8($v1) -/* 061E44 7F02D314 C46A000C */ lwc1 $f10, 0xc($v1) -/* 061E48 7F02D318 46062301 */ sub.s $f12, $f4, $f6 -/* 061E4C 7F02D31C 460A4101 */ sub.s $f4, $f8, $f10 -/* 061E50 7F02D320 E7A40050 */ swc1 $f4, 0x50($sp) -/* 061E54 7F02D324 C4460010 */ lwc1 $f6, 0x10($v0) -/* 061E58 7F02D328 C4680010 */ lwc1 $f8, 0x10($v1) -/* 061E5C 7F02D32C E7AC0054 */ swc1 $f12, 0x54($sp) -/* 061E60 7F02D330 46083381 */ sub.s $f14, $f6, $f8 -/* 061E64 7F02D334 0FC16A8C */ jal convert_angle_using_inverse -/* 061E68 7F02D338 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 061E6C 7F02D33C E7A00048 */ swc1 $f0, 0x48($sp) -/* 061E70 7F02D340 0FC0B064 */ jal sub_GAME_7F02C190 -/* 061E74 7F02D344 8FA40060 */ lw $a0, 0x60($sp) -/* 061E78 7F02D348 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 061E7C 7F02D34C C7B20050 */ lwc1 $f18, 0x50($sp) -/* 061E80 7F02D350 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 061E84 7F02D354 46108102 */ mul.s $f4, $f16, $f16 -/* 061E88 7F02D358 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 061E8C 7F02D35C 46005081 */ sub.s $f2, $f10, $f0 -/* 061E90 7F02D360 46129182 */ mul.s $f6, $f18, $f18 -/* 061E94 7F02D364 E7A00044 */ swc1 $f0, 0x44($sp) -/* 061E98 7F02D368 460E7282 */ mul.s $f10, $f14, $f14 -/* 061E9C 7F02D36C E7A20040 */ swc1 $f2, 0x40($sp) -/* 061EA0 7F02D370 46062200 */ add.s $f8, $f4, $f6 -/* 061EA4 7F02D374 460A4300 */ add.s $f12, $f8, $f10 -/* 061EA8 7F02D378 0FC0B491 */ jal sub_GAME_7F02D244 -/* 061EAC 7F02D37C E7AC001C */ swc1 $f12, 0x1c($sp) -/* 061EB0 7F02D380 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 061EB4 7F02D384 44802000 */ mtc1 $zero, $f4 -/* 061EB8 7F02D388 3C018005 */ lui $at, %hi(D_80051F50) -/* 061EBC 7F02D38C 8FAF0064 */ lw $t7, 0x64($sp) -/* 061EC0 7F02D390 4604103C */ c.lt.s $f2, $f4 -/* 061EC4 7F02D394 00000000 */ nop -/* 061EC8 7F02D398 45020004 */ bc1fl .L7F02D3AC -/* 061ECC 7F02D39C 4600103C */ c.lt.s $f2, $f0 -/* 061ED0 7F02D3A0 C4261F50 */ lwc1 $f6, %lo(D_80051F50)($at) -/* 061ED4 7F02D3A4 46061080 */ add.s $f2, $f2, $f6 -/* 061ED8 7F02D3A8 4600103C */ c.lt.s $f2, $f0 -.L7F02D3AC: -/* 061EDC 7F02D3AC 00001025 */ move $v0, $zero -/* 061EE0 7F02D3B0 3C018005 */ lui $at, %hi(D_80051F54) -/* 061EE4 7F02D3B4 45000002 */ bc1f .L7F02D3C0 -/* 061EE8 7F02D3B8 00000000 */ nop -/* 061EEC 7F02D3BC 24020001 */ li $v0, 1 -.L7F02D3C0: -/* 061EF0 7F02D3C0 14400009 */ bnez $v0, .L7F02D3E8 -/* 061EF4 7F02D3C4 00401825 */ move $v1, $v0 -/* 061EF8 7F02D3C8 C4281F54 */ lwc1 $f8, %lo(D_80051F54)($at) -/* 061EFC 7F02D3CC 00001825 */ move $v1, $zero -/* 061F00 7F02D3D0 46004281 */ sub.s $f10, $f8, $f0 -/* 061F04 7F02D3D4 4602503C */ c.lt.s $f10, $f2 -/* 061F08 7F02D3D8 00000000 */ nop -/* 061F0C 7F02D3DC 45020003 */ bc1fl .L7F02D3EC -/* 061F10 7F02D3E0 ADE30000 */ sw $v1, ($t7) -/* 061F14 7F02D3E4 24030001 */ li $v1, 1 -.L7F02D3E8: -/* 061F18 7F02D3E8 ADE30000 */ sw $v1, ($t7) -.L7F02D3EC: -/* 061F1C 7F02D3EC 8FB80068 */ lw $t8, 0x68($sp) -/* 061F20 7F02D3F0 AF000000 */ sw $zero, ($t8) -/* 061F24 7F02D3F4 0FC227A9 */ jal check_if_bond_is_invincible -/* 061F28 7F02D3F8 AFA30024 */ sw $v1, 0x24($sp) -/* 061F2C 7F02D3FC 14400088 */ bnez $v0, .L7F02D620 -/* 061F30 7F02D400 8FA30024 */ lw $v1, 0x24($sp) -/* 061F34 7F02D404 50600087 */ beql $v1, $zero, .L7F02D624 -/* 061F38 7F02D408 8FBF0014 */ lw $ra, 0x14($sp) -/* 061F3C 7F02D40C 0C007DF8 */ jal sqrtf -/* 061F40 7F02D410 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 061F44 7F02D414 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 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(jp_global_timer_delta) -/* 061F58 7F02D428 4600603C */ c.lt.s $f12, $f0 -/* 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 -/* 061F6C 7F02D43C 83220002 */ lb $v0, 2($t9) -/* 061F70 7F02D440 46006203 */ div.s $f8, $f12, $f0 -/* 061F74 7F02D444 46081082 */ mul.s $f2, $f2, $f8 -/* 061F78 7F02D448 00000000 */ nop -/* 061F7C 7F02D44C 83220002 */ lb $v0, 2($t9) -.L7F02D450: -/* 061F80 7F02D450 1840000C */ blez $v0, .L7F02D484 -/* 061F84 7F02D454 00000000 */ nop -/* 061F88 7F02D458 44825000 */ mtc1 $v0, $f10 -/* 061F8C 7F02D45C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 061F90 7F02D460 44813000 */ mtc1 $at, $f6 -/* 061F94 7F02D464 46805120 */ cvt.s.w $f4, $f10 -/* 061F98 7F02D468 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 061F9C 7F02D46C 44815000 */ mtc1 $at, $f10 -/* 061FA0 7F02D470 46062203 */ div.s $f8, $f4, $f6 -/* 061FA4 7F02D474 46085100 */ add.s $f4, $f10, $f8 -/* 061FA8 7F02D478 46041082 */ mul.s $f2, $f2, $f4 -/* 061FAC 7F02D47C 1000000F */ b .L7F02D4BC -/* 061FB0 7F02D480 00000000 */ nop -.L7F02D484: -/* 061FB4 7F02D484 0441000D */ bgez $v0, .L7F02D4BC -/* 061FB8 7F02D488 2841FF9D */ slti $at, $v0, -0x63 -/* 061FBC 7F02D48C 10200004 */ beqz $at, .L7F02D4A0 -/* 061FC0 7F02D490 24480064 */ addiu $t0, $v0, 0x64 -/* 061FC4 7F02D494 44801000 */ mtc1 $zero, $f2 -/* 061FC8 7F02D498 10000008 */ b .L7F02D4BC -/* 061FCC 7F02D49C 00000000 */ nop -.L7F02D4A0: -/* 061FD0 7F02D4A0 44883000 */ mtc1 $t0, $f6 -/* 061FD4 7F02D4A4 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 061FD8 7F02D4A8 44814000 */ mtc1 $at, $f8 -/* 061FDC 7F02D4AC 468032A0 */ cvt.s.w $f10, $f6 -/* 061FE0 7F02D4B0 46085103 */ div.s $f4, $f10, $f8 -/* 061FE4 7F02D4B4 46041082 */ mul.s $f2, $f2, $f4 -/* 061FE8 7F02D4B8 00000000 */ nop -.L7F02D4BC: -/* 061FEC 7F02D4BC 0FC074D8 */ jal get_007_accuracy_mod -/* 061FF0 7F02D4C0 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 061FF4 7F02D4C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 061FF8 7F02D4C8 44813000 */ mtc1 $at, $f6 -/* 061FFC 7F02D4CC C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 062000 7F02D4D0 4606003E */ c.le.s $f0, $f6 -/* 062004 7F02D4D4 00000000 */ nop -/* 062008 7F02D4D8 45000007 */ bc1f .L7F02D4F8 -/* 06200C 7F02D4DC 00000000 */ nop -/* 062010 7F02D4E0 0FC074D8 */ jal get_007_accuracy_mod -/* 062014 7F02D4E4 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 062018 7F02D4E8 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 06201C 7F02D4EC 46001082 */ mul.s $f2, $f2, $f0 -/* 062020 7F02D4F0 1000000C */ b .L7F02D524 -/* 062024 7F02D4F4 00000000 */ nop -.L7F02D4F8: -/* 062028 7F02D4F8 0FC074D8 */ jal get_007_accuracy_mod -/* 06202C 7F02D4FC E7A2002C */ swc1 $f2, 0x2c($sp) -/* 062030 7F02D500 3C014110 */ li $at, 0x41100000 # 9.000000 -/* 062034 7F02D504 44815000 */ mtc1 $at, $f10 -/* 062038 7F02D508 3C018005 */ lui $at, %hi(D_80051F5C) -/* 06203C 7F02D50C C4281F5C */ lwc1 $f8, %lo(D_80051F5C)($at) -/* 062040 7F02D510 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 062044 7F02D514 46004101 */ sub.s $f4, $f8, $f0 -/* 062048 7F02D518 46045183 */ div.s $f6, $f10, $f4 -/* 06204C 7F02D51C 46061082 */ mul.s $f2, $f2, $f6 -/* 062050 7F02D520 00000000 */ nop -.L7F02D524: -/* 062054 7F02D524 3C018003 */ lui $at, %hi(ai_accuracy_modifier) -/* 062058 7F02D528 C428CE40 */ lwc1 $f8, %lo(ai_accuracy_modifier)($at) -/* 06205C 7F02D52C 8FA4006C */ lw $a0, 0x6c($sp) -/* 062060 7F02D530 46081082 */ mul.s $f2, $f2, $f8 -/* 062064 7F02D534 0FC177F3 */ jal get_automatic_firing_rate -/* 062068 7F02D538 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 06206C 7F02D53C 1C400002 */ bgtz $v0, .L7F02D548 -/* 062070 7F02D540 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 062074 7F02D544 46021080 */ add.s $f2, $f2, $f2 -.L7F02D548: -/* 062078 7F02D548 8FA4006C */ lw $a0, 0x6c($sp) -/* 06207C 7F02D54C 2401000F */ li $at, 15 -/* 062080 7F02D550 8FA20060 */ lw $v0, 0x60($sp) -/* 062084 7F02D554 10810003 */ beq $a0, $at, .L7F02D564 -/* 062088 7F02D558 24010010 */ li $at, 16 -/* 06208C 7F02D55C 54810003 */ bnel $a0, $at, .L7F02D56C -/* 062090 7F02D560 C44A013C */ lwc1 $f10, 0x13c($v0) -.L7F02D564: -/* 062094 7F02D564 46021080 */ add.s $f2, $f2, $f2 -/* 062098 7F02D568 C44A013C */ lwc1 $f10, 0x13c($v0) -.L7F02D56C: -/* 06209C 7F02D56C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0620A0 7F02D570 44814000 */ mtc1 $at, $f8 -/* 0620A4 7F02D574 46025100 */ add.s $f4, $f10, $f2 -/* 0620A8 7F02D578 E444013C */ swc1 $f4, 0x13c($v0) -/* 0620AC 7F02D57C C446013C */ lwc1 $f6, 0x13c($v0) -/* 0620B0 7F02D580 4606403E */ c.le.s $f8, $f6 -/* 0620B4 7F02D584 00000000 */ nop -/* 0620B8 7F02D588 45020026 */ bc1fl .L7F02D624 -/* 0620BC 7F02D58C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0620C0 7F02D590 0FC177E1 */ jal sub_GAME_7F05DF84 -/* 0620C4 7F02D594 00000000 */ nop -/* 0620C8 7F02D598 0FC074C9 */ jal get_007_damage_mod -/* 0620CC 7F02D59C E7A00020 */ swc1 $f0, 0x20($sp) -/* 0620D0 7F02D5A0 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 0620D4 7F02D5A4 44815000 */ mtc1 $at, $f10 -/* 0620D8 7F02D5A8 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0620DC 7F02D5AC 3C018003 */ lui $at, %hi(ai_damage_modifier) -/* 0620E0 7F02D5B0 C428CE44 */ lwc1 $f8, %lo(ai_damage_modifier)($at) -/* 0620E4 7F02D5B4 46045182 */ mul.s $f6, $f10, $f4 -/* 0620E8 7F02D5B8 8FA9006C */ lw $t1, 0x6c($sp) -/* 0620EC 7F02D5BC 2401000F */ li $at, 15 -/* 0620F0 7F02D5C0 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 0620F4 7F02D5C4 2406FFFF */ li $a2, -1 -/* 0620F8 7F02D5C8 46083282 */ mul.s $f10, $f6, $f8 -/* 0620FC 7F02D5CC 00000000 */ nop -/* 062100 7F02D5D0 460A0302 */ mul.s $f12, $f0, $f10 -/* 062104 7F02D5D4 11210003 */ beq $t1, $at, .L7F02D5E4 -/* 062108 7F02D5D8 00000000 */ nop -/* 06210C 7F02D5DC 24010010 */ li $at, 16 -/* 062110 7F02D5E0 15210005 */ bne $t1, $at, .L7F02D5F8 -.L7F02D5E4: -/* 062114 7F02D5E4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 062118 7F02D5E8 44812000 */ mtc1 $at, $f4 -/* 06211C 7F02D5EC 00000000 */ nop -/* 062120 7F02D5F0 46046302 */ mul.s $f12, $f12, $f4 -/* 062124 7F02D5F4 00000000 */ nop -.L7F02D5F8: -/* 062128 7F02D5F8 0FC22793 */ jal sub_GAME_7F089E4C -/* 06212C 7F02D5FC 24070001 */ li $a3, 1 -/* 062130 7F02D600 44803000 */ mtc1 $zero, $f6 -/* 062134 7F02D604 8FAA0060 */ lw $t2, 0x60($sp) -/* 062138 7F02D608 0FC227A9 */ jal check_if_bond_is_invincible -/* 06213C 7F02D60C E546013C */ swc1 $f6, 0x13c($t2) -/* 062140 7F02D610 10400003 */ beqz $v0, .L7F02D620 -/* 062144 7F02D614 8FAC0068 */ lw $t4, 0x68($sp) -/* 062148 7F02D618 240B0001 */ li $t3, 1 -/* 06214C 7F02D61C AD8B0000 */ sw $t3, ($t4) -.L7F02D620: -/* 062150 7F02D620 8FBF0014 */ lw $ra, 0x14($sp) -.L7F02D624: -/* 062154 7F02D624 27BD0060 */ addiu $sp, $sp, 0x60 -/* 062158 7F02D628 03E00008 */ jr $ra -/* 06215C 7F02D62C 00000000 */ nop -) -#endif -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F02D630(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02D630 -/* 062160 7F02D630 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 062164 7F02D634 AFBF001C */ sw $ra, 0x1c($sp) -/* 062168 7F02D638 AFB00018 */ sw $s0, 0x18($sp) -/* 06216C 7F02D63C 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 062170 7F02D640 00C08025 */ move $s0, $a2 -/* 062174 7F02D644 10400036 */ beqz $v0, .L7F02D720 -/* 062178 7F02D648 00003025 */ move $a2, $zero -/* 06217C 7F02D64C 904E0001 */ lbu $t6, 1($v0) -/* 062180 7F02D650 8C430004 */ lw $v1, 4($v0) -/* 062184 7F02D654 31CF0002 */ andi $t7, $t6, 2 -/* 062188 7F02D658 11E00031 */ beqz $t7, .L7F02D720 -/* 06218C 7F02D65C 8C640014 */ lw $a0, 0x14($v1) -/* 062190 7F02D660 8C980008 */ lw $t8, 8($a0) -/* 062194 7F02D664 8F020008 */ lw $v0, 8($t8) -/* 062198 7F02D668 8C450000 */ lw $a1, ($v0) -/* 06219C 7F02D66C 50A0001B */ beql $a1, $zero, .L7F02D6DC -/* 0621A0 7F02D670 8C450004 */ lw $a1, 4($v0) -/* 0621A4 7F02D674 00003025 */ move $a2, $zero -/* 0621A8 7F02D678 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0621AC 7F02D67C AFA400BC */ sw $a0, 0xbc($sp) -/* 0621B0 7F02D680 8FA400BC */ lw $a0, 0xbc($sp) -/* 0621B4 7F02D684 AFA200B4 */ sw $v0, 0xb4($sp) -/* 0621B8 7F02D688 8C990008 */ lw $t9, 8($a0) -/* 0621BC 7F02D68C 8F280008 */ lw $t0, 8($t9) -/* 0621C0 7F02D690 8D090000 */ lw $t1, ($t0) -/* 0621C4 7F02D694 8D230004 */ lw $v1, 4($t1) -/* 0621C8 7F02D698 C4640000 */ lwc1 $f4, ($v1) -/* 0621CC 7F02D69C E6040000 */ swc1 $f4, ($s0) -/* 0621D0 7F02D6A0 C4660004 */ lwc1 $f6, 4($v1) -/* 0621D4 7F02D6A4 E6060004 */ swc1 $f6, 4($s0) -/* 0621D8 7F02D6A8 C4680008 */ lwc1 $f8, 8($v1) -/* 0621DC 7F02D6AC 0FC1E111 */ jal sub_GAME_7F078444 -/* 0621E0 7F02D6B0 E6080008 */ swc1 $f8, 8($s0) -/* 0621E4 7F02D6B4 00402025 */ move $a0, $v0 -/* 0621E8 7F02D6B8 8FA500B4 */ lw $a1, 0xb4($sp) -/* 0621EC 7F02D6BC 0FC16063 */ jal sub_GAME_7F05818C -/* 0621F0 7F02D6C0 27A60074 */ addiu $a2, $sp, 0x74 -/* 0621F4 7F02D6C4 27A40074 */ addiu $a0, $sp, 0x74 -/* 0621F8 7F02D6C8 0FC1611D */ jal sub_GAME_7F058474 -/* 0621FC 7F02D6CC 02002825 */ move $a1, $s0 -/* 062200 7F02D6D0 10000013 */ b .L7F02D720 -/* 062204 7F02D6D4 24060001 */ li $a2, 1 -/* 062208 7F02D6D8 8C450004 */ lw $a1, 4($v0) -.L7F02D6DC: -/* 06220C 7F02D6DC 50A00011 */ beql $a1, $zero, .L7F02D724 -/* 062210 7F02D6E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 062214 7F02D6E4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 062218 7F02D6E8 00003025 */ move $a2, $zero -/* 06221C 7F02D6EC 0FC1E111 */ jal sub_GAME_7F078444 -/* 062220 7F02D6F0 AFA2006C */ sw $v0, 0x6c($sp) -/* 062224 7F02D6F4 00402025 */ move $a0, $v0 -/* 062228 7F02D6F8 8FA5006C */ lw $a1, 0x6c($sp) -/* 06222C 7F02D6FC 0FC16063 */ jal sub_GAME_7F05818C -/* 062230 7F02D700 27A6002C */ addiu $a2, $sp, 0x2c -/* 062234 7F02D704 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 062238 7F02D708 24060001 */ li $a2, 1 -/* 06223C 7F02D70C E60A0000 */ swc1 $f10, ($s0) -/* 062240 7F02D710 C7B00060 */ lwc1 $f16, 0x60($sp) -/* 062244 7F02D714 E6100004 */ swc1 $f16, 4($s0) -/* 062248 7F02D718 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 06224C 7F02D71C E6120008 */ swc1 $f18, 8($s0) -.L7F02D720: -/* 062250 7F02D720 8FBF001C */ lw $ra, 0x1c($sp) -.L7F02D724: -/* 062254 7F02D724 8FB00018 */ lw $s0, 0x18($sp) -/* 062258 7F02D728 27BD00C8 */ addiu $sp, $sp, 0xc8 -/* 06225C 7F02D72C 03E00008 */ jr $ra -/* 062260 7F02D730 00C01025 */ move $v0, $a2 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02D734(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051F60 -.word 0x481c4000 /*160000.0*/ -glabel D_80051F64 -.word 0x3f8e38e3 /*1.111111*/ -glabel D_80051F68 -.word 0x481c4000 /*160000.0*/ -glabel D_80051F6C -.word 0x42055555 /*33.333332*/ -glabel D_80051F70 -.word 0x3e99999a /*0.30000001*/ -glabel D_80051F74 -.word 0x3e088888 /*0.13333333*/ -glabel D_80051F78 -.word 0x461c4000 /*10000.0*/ -glabel jpt_80051F7C - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_no_projectile - .word weapon_guard_fires_bullet_no_projectile - .word weapon_guard_fires_bullet_no_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile - .word weapon_guard_fires_bullet_projectile -.text -glabel sub_GAME_7F02D734 -/* 062264 7F02D734 27BDFD78 */ addiu $sp, $sp, -0x288 -/* 062268 7F02D738 AFBF002C */ sw $ra, 0x2c($sp) -/* 06226C 7F02D73C AFA5028C */ sw $a1, 0x28c($sp) -/* 062270 7F02D740 8C8E0018 */ lw $t6, 0x18($a0) -/* 062274 7F02D744 AFA40288 */ sw $a0, 0x288($sp) -/* 062278 7F02D748 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 06227C 7F02D74C AFAE0284 */ sw $t6, 0x284($sp) -/* 062280 7F02D750 504002C3 */ beql $v0, $zero, .L7F02E260 -/* 062284 7F02D754 8FBF002C */ lw $ra, 0x2c($sp) -/* 062288 7F02D758 AFA0027C */ sw $zero, 0x27c($sp) -/* 06228C 7F02D75C AFA00278 */ sw $zero, 0x278($sp) -/* 062290 7F02D760 8C4F0004 */ lw $t7, 4($v0) -/* 062294 7F02D764 0FC225E6 */ jal get_curplayer_positiondata -/* 062298 7F02D768 AFAF0274 */ sw $t7, 0x274($sp) -/* 06229C 7F02D76C 8FA50288 */ lw $a1, 0x288($sp) -/* 0622A0 7F02D770 AFA20270 */ sw $v0, 0x270($sp) -/* 0622A4 7F02D774 24010008 */ li $at, 8 -/* 0622A8 7F02D778 80B80007 */ lb $t8, 7($a1) -/* 0622AC 7F02D77C 24030001 */ li $v1, 1 -/* 0622B0 7F02D780 3C0A8005 */ lui $t2, %hi(global_timer) -/* 0622B4 7F02D784 57010003 */ bnel $t8, $at, .L7F02D794 -/* 0622B8 7F02D788 30790001 */ andi $t9, $v1, 1 -/* 0622BC 7F02D78C 8CA3004C */ lw $v1, 0x4c($a1) -/* 0622C0 7F02D790 30790001 */ andi $t9, $v1, 1 -.L7F02D794: -/* 0622C4 7F02D794 1320000C */ beqz $t9, .L7F02D7C8 -/* 0622C8 7F02D798 AFB90044 */ sw $t9, 0x44($sp) -/* 0622CC 7F02D79C 8D4A837C */ lw $t2, %lo(global_timer)($t2) -/* 0622D0 7F02D7A0 8CA900E8 */ lw $t1, 0xe8($a1) -/* 0622D4 7F02D7A4 8FAC0274 */ lw $t4, 0x274($sp) -/* 0622D8 7F02D7A8 254BFF88 */ addiu $t3, $t2, -0x78 -/* 0622DC 7F02D7AC 012B082A */ slt $at, $t1, $t3 -/* 0622E0 7F02D7B0 50200006 */ beql $at, $zero, .L7F02D7CC -/* 0622E4 7F02D7B4 8FAD028C */ lw $t5, 0x28c($sp) -/* 0622E8 7F02D7B8 0FC177F3 */ jal get_automatic_firing_rate -/* 0622EC 7F02D7BC 81840080 */ lb $a0, 0x80($t4) -/* 0622F0 7F02D7C0 044102A2 */ bgez $v0, .L7F02E24C -/* 0622F4 7F02D7C4 8FA50288 */ lw $a1, 0x288($sp) -.L7F02D7C8: -/* 0622F8 7F02D7C8 8FAD028C */ lw $t5, 0x28c($sp) -.L7F02D7CC: -/* 0622FC 7F02D7CC AFA00268 */ sw $zero, 0x268($sp) -/* 062300 7F02D7D0 AFA00264 */ sw $zero, 0x264($sp) -/* 062304 7F02D7D4 00AD1021 */ addu $v0, $a1, $t5 -/* 062308 7F02D7D8 904E0004 */ lbu $t6, 4($v0) -/* 06230C 7F02D7DC 25CF0001 */ addiu $t7, $t6, 1 -/* 062310 7F02D7E0 A04F0004 */ sb $t7, 4($v0) -/* 062314 7F02D7E4 8FB80274 */ lw $t8, 0x274($sp) -/* 062318 7F02D7E8 83040080 */ lb $a0, 0x80($t8) -/* 06231C 7F02D7EC 0FC177F3 */ jal get_automatic_firing_rate -/* 062320 7F02D7F0 AFA20040 */ sw $v0, 0x40($sp) -/* 062324 7F02D7F4 04410006 */ bgez $v0, .L7F02D810 -/* 062328 7F02D7F8 8FAA0274 */ lw $t2, 0x274($sp) -/* 06232C 7F02D7FC 24190001 */ li $t9, 1 -/* 062330 7F02D800 24080001 */ li $t0, 1 -/* 062334 7F02D804 AFB90268 */ sw $t9, 0x268($sp) -/* 062338 7F02D808 10000031 */ b .L7F02D8D0 -/* 06233C 7F02D80C AFA80264 */ sw $t0, 0x264($sp) -.L7F02D810: -/* 062340 7F02D810 0FC177F3 */ jal get_automatic_firing_rate -/* 062344 7F02D814 81440080 */ lb $a0, 0x80($t2) -/* 062348 7F02D818 8FA90040 */ lw $t1, 0x40($sp) -/* 06234C 7F02D81C 240D0001 */ li $t5, 1 -/* 062350 7F02D820 912B0004 */ lbu $t3, 4($t1) -/* 062354 7F02D824 0162001A */ div $zero, $t3, $v0 -/* 062358 7F02D828 00006010 */ mfhi $t4 -/* 06235C 7F02D82C 14400002 */ bnez $v0, .L7F02D838 -/* 062360 7F02D830 00000000 */ nop -/* 062364 7F02D834 0007000D */ break 7 -.L7F02D838: -/* 062368 7F02D838 2401FFFF */ li $at, -1 -/* 06236C 7F02D83C 14410004 */ bne $v0, $at, .L7F02D850 -/* 062370 7F02D840 3C018000 */ lui $at, 0x8000 -/* 062374 7F02D844 15610002 */ bne $t3, $at, .L7F02D850 -/* 062378 7F02D848 00000000 */ nop -/* 06237C 7F02D84C 0006000D */ break 6 -.L7F02D850: -/* 062380 7F02D850 5580001E */ bnezl $t4, .L7F02D8CC -/* 062384 7F02D854 240C0001 */ li $t4, 1 -/* 062388 7F02D858 8FAE0274 */ lw $t6, 0x274($sp) -/* 06238C 7F02D85C AFAD0268 */ sw $t5, 0x268($sp) -/* 062390 7F02D860 0FC177F3 */ jal get_automatic_firing_rate -/* 062394 7F02D864 81C40080 */ lb $a0, 0x80($t6) -/* 062398 7F02D868 8FAF0040 */ lw $t7, 0x40($sp) -/* 06239C 7F02D86C 0002C840 */ sll $t9, $v0, 1 -/* 0623A0 7F02D870 8FAA0274 */ lw $t2, 0x274($sp) -/* 0623A4 7F02D874 91F80004 */ lbu $t8, 4($t7) -/* 0623A8 7F02D878 240B0001 */ li $t3, 1 -/* 0623AC 7F02D87C 0319001A */ div $zero, $t8, $t9 -/* 0623B0 7F02D880 17200002 */ bnez $t9, .L7F02D88C -/* 0623B4 7F02D884 00000000 */ nop -/* 0623B8 7F02D888 0007000D */ break 7 -.L7F02D88C: -/* 0623BC 7F02D88C 2401FFFF */ li $at, -1 -/* 0623C0 7F02D890 17210004 */ bne $t9, $at, .L7F02D8A4 -/* 0623C4 7F02D894 3C018000 */ lui $at, 0x8000 -/* 0623C8 7F02D898 17010002 */ bne $t8, $at, .L7F02D8A4 -/* 0623CC 7F02D89C 00000000 */ nop -/* 0623D0 7F02D8A0 0006000D */ break 6 -.L7F02D8A4: -/* 0623D4 7F02D8A4 00004010 */ mfhi $t0 -/* 0623D8 7F02D8A8 24010016 */ li $at, 22 -/* 0623DC 7F02D8AC 11000004 */ beqz $t0, .L7F02D8C0 -/* 0623E0 7F02D8B0 00000000 */ nop -/* 0623E4 7F02D8B4 81490080 */ lb $t1, 0x80($t2) -/* 0623E8 7F02D8B8 55210006 */ bnel $t1, $at, .L7F02D8D4 -/* 0623EC 7F02D8BC 8FAD0268 */ lw $t5, 0x268($sp) -.L7F02D8C0: -/* 0623F0 7F02D8C0 10000003 */ b .L7F02D8D0 -/* 0623F4 7F02D8C4 AFAB0264 */ sw $t3, 0x264($sp) -/* 0623F8 7F02D8C8 240C0001 */ li $t4, 1 -.L7F02D8CC: -/* 0623FC 7F02D8CC AFAC0278 */ sw $t4, 0x278($sp) -.L7F02D8D0: -/* 062400 7F02D8D0 8FAD0268 */ lw $t5, 0x268($sp) -.L7F02D8D4: -/* 062404 7F02D8D4 51A00254 */ beql $t5, $zero, .L7F02E228 -/* 062408 7F02D8D8 8FA2027C */ lw $v0, 0x27c($sp) -/* 06240C 7F02D8DC AFA00254 */ sw $zero, 0x254($sp) -/* 062410 7F02D8E0 0FC0B064 */ jal sub_GAME_7F02C190 -/* 062414 7F02D8E4 8FA40288 */ lw $a0, 0x288($sp) -/* 062418 7F02D8E8 E7A00250 */ swc1 $f0, 0x250($sp) -/* 06241C 7F02D8EC 0FC0B09F */ jal sub_GAME_7F02C27C -/* 062420 7F02D8F0 8FA40288 */ lw $a0, 0x288($sp) -/* 062424 7F02D8F4 8FAE0284 */ lw $t6, 0x284($sp) -/* 062428 7F02D8F8 E7A0024C */ swc1 $f0, 0x24c($sp) -/* 06242C 7F02D8FC 24180001 */ li $t8, 1 -/* 062430 7F02D900 8DCF0014 */ lw $t7, 0x14($t6) -/* 062434 7F02D904 AFB8027C */ sw $t8, 0x27c($sp) -/* 062438 7F02D908 8FA40288 */ lw $a0, 0x288($sp) -/* 06243C 7F02D90C 8FA5028C */ lw $a1, 0x28c($sp) -/* 062440 7F02D910 27A60240 */ addiu $a2, $sp, 0x240 -/* 062444 7F02D914 0FC0B58C */ jal sub_GAME_7F02D630 -/* 062448 7F02D918 AFAF023C */ sw $t7, 0x23c($sp) -/* 06244C 7F02D91C 54400032 */ bnezl $v0, .L7F02D9E8 -/* 062450 7F02D920 8FA80284 */ lw $t0, 0x284($sp) -/* 062454 7F02D924 8FA20284 */ lw $v0, 0x284($sp) -/* 062458 7F02D928 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 06245C 7F02D92C 44814000 */ mtc1 $at, $f8 -/* 062460 7F02D930 C4440008 */ lwc1 $f4, 8($v0) -/* 062464 7F02D934 8FB9028C */ lw $t9, 0x28c($sp) -/* 062468 7F02D938 24010001 */ li $at, 1 -/* 06246C 7F02D93C E7A40240 */ swc1 $f4, 0x240($sp) -/* 062470 7F02D940 C446000C */ lwc1 $f6, 0xc($v0) -/* 062474 7F02D944 46083280 */ add.s $f10, $f6, $f8 -/* 062478 7F02D948 E7AA0244 */ swc1 $f10, 0x244($sp) -/* 06247C 7F02D94C C4440010 */ lwc1 $f4, 0x10($v0) -/* 062480 7F02D950 17210013 */ bne $t9, $at, .L7F02D9A0 -/* 062484 7F02D954 E7A40248 */ swc1 $f4, 0x248($sp) -/* 062488 7F02D958 0FC15FA8 */ jal cosf -/* 06248C 7F02D95C C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 062490 7F02D960 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 062494 7F02D964 44814000 */ mtc1 $at, $f8 -/* 062498 7F02D968 C7A60240 */ lwc1 $f6, 0x240($sp) -/* 06249C 7F02D96C C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 0624A0 7F02D970 46080282 */ mul.s $f10, $f0, $f8 -/* 0624A4 7F02D974 460A3100 */ add.s $f4, $f6, $f10 -/* 0624A8 7F02D978 0FC15FAB */ jal sinf -/* 0624AC 7F02D97C E7A40240 */ swc1 $f4, 0x240($sp) -/* 0624B0 7F02D980 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0624B4 7F02D984 44813000 */ mtc1 $at, $f6 -/* 0624B8 7F02D988 46000207 */ neg.s $f8, $f0 -/* 0624BC 7F02D98C C7A40248 */ lwc1 $f4, 0x248($sp) -/* 0624C0 7F02D990 46064282 */ mul.s $f10, $f8, $f6 -/* 0624C4 7F02D994 460A2200 */ add.s $f8, $f4, $f10 -/* 0624C8 7F02D998 10000012 */ b .L7F02D9E4 -/* 0624CC 7F02D99C E7A80248 */ swc1 $f8, 0x248($sp) -.L7F02D9A0: -/* 0624D0 7F02D9A0 0FC15FA8 */ jal cosf -/* 0624D4 7F02D9A4 C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 0624D8 7F02D9A8 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0624DC 7F02D9AC 44812000 */ mtc1 $at, $f4 -/* 0624E0 7F02D9B0 46000187 */ neg.s $f6, $f0 -/* 0624E4 7F02D9B4 C7A80240 */ lwc1 $f8, 0x240($sp) -/* 0624E8 7F02D9B8 46043282 */ mul.s $f10, $f6, $f4 -/* 0624EC 7F02D9BC C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 0624F0 7F02D9C0 460A4180 */ add.s $f6, $f8, $f10 -/* 0624F4 7F02D9C4 0FC15FAB */ jal sinf -/* 0624F8 7F02D9C8 E7A60240 */ swc1 $f6, 0x240($sp) -/* 0624FC 7F02D9CC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 062500 7F02D9D0 44814000 */ mtc1 $at, $f8 -/* 062504 7F02D9D4 C7A40248 */ lwc1 $f4, 0x248($sp) -/* 062508 7F02D9D8 46080282 */ mul.s $f10, $f0, $f8 -/* 06250C 7F02D9DC 460A2180 */ add.s $f6, $f4, $f10 -/* 062510 7F02D9E0 E7A60248 */ swc1 $f6, 0x248($sp) -.L7F02D9E4: -/* 062514 7F02D9E4 8FA80284 */ lw $t0, 0x284($sp) -.L7F02D9E8: -/* 062518 7F02D9E8 C7A80248 */ lwc1 $f8, 0x248($sp) -/* 06251C 7F02D9EC 8FA90288 */ lw $t1, 0x288($sp) -/* 062520 7F02D9F0 8D050008 */ lw $a1, 8($t0) -/* 062524 7F02D9F4 8D060010 */ lw $a2, 0x10($t0) -/* 062528 7F02D9F8 240A0002 */ li $t2, 2 -/* 06252C 7F02D9FC AFAA0014 */ sw $t2, 0x14($sp) -/* 062530 7F02DA00 E7A80010 */ swc1 $f8, 0x10($sp) -/* 062534 7F02DA04 C7A40244 */ lwc1 $f4, 0x244($sp) -/* 062538 7F02DA08 C52A00AC */ lwc1 $f10, 0xac($t1) -/* 06253C 7F02DA0C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 062540 7F02DA10 44814000 */ mtc1 $at, $f8 -/* 062544 7F02DA14 460A2001 */ sub.s $f0, $f4, $f10 -/* 062548 7F02DA18 44803000 */ mtc1 $zero, $f6 -/* 06254C 7F02DA1C 27A4023C */ addiu $a0, $sp, 0x23c -/* 062550 7F02DA20 8FA70240 */ lw $a3, 0x240($sp) -/* 062554 7F02DA24 E7A00018 */ swc1 $f0, 0x18($sp) -/* 062558 7F02DA28 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 06255C 7F02DA2C E7A80024 */ swc1 $f8, 0x24($sp) -/* 062560 7F02DA30 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 062564 7F02DA34 E7A60020 */ swc1 $f6, 0x20($sp) -/* 062568 7F02DA38 10400003 */ beqz $v0, .L7F02DA48 -/* 06256C 7F02DA3C 8FAB023C */ lw $t3, 0x23c($sp) -/* 062570 7F02DA40 10000006 */ b .L7F02DA5C -/* 062574 7F02DA44 AFAB0238 */ sw $t3, 0x238($sp) -.L7F02DA48: -/* 062578 7F02DA48 8FA20040 */ lw $v0, 0x40($sp) -/* 06257C 7F02DA4C 904C0004 */ lbu $t4, 4($v0) -/* 062580 7F02DA50 258DFFFF */ addiu $t5, $t4, -1 -/* 062584 7F02DA54 A04D0004 */ sb $t5, 4($v0) -/* 062588 7F02DA58 AFA0027C */ sw $zero, 0x27c($sp) -.L7F02DA5C: -/* 06258C 7F02DA5C 8FAE027C */ lw $t6, 0x27c($sp) -/* 062590 7F02DA60 240F0001 */ li $t7, 1 -/* 062594 7F02DA64 27A50240 */ addiu $a1, $sp, 0x240 -/* 062598 7F02DA68 51C001EF */ beql $t6, $zero, .L7F02E228 -/* 06259C 7F02DA6C 8FA2027C */ lw $v0, 0x27c($sp) -/* 0625A0 7F02DA70 AFA00234 */ sw $zero, 0x234($sp) -/* 0625A4 7F02DA74 AFA00230 */ sw $zero, 0x230($sp) -/* 0625A8 7F02DA78 AFAF022C */ sw $t7, 0x22c($sp) -/* 0625AC 7F02DA7C 8FA40288 */ lw $a0, 0x288($sp) -/* 0625B0 7F02DA80 0FC0A4AA */ jal sub_GAME_7F0292A8 -/* 0625B4 7F02DA84 8FA60238 */ lw $a2, 0x238($sp) -/* 0625B8 7F02DA88 AFA2021C */ sw $v0, 0x21c($sp) -/* 0625BC 7F02DA8C 0FC15FA8 */ jal cosf -/* 0625C0 7F02DA90 C7AC024C */ lwc1 $f12, 0x24c($sp) -/* 0625C4 7F02DA94 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 0625C8 7F02DA98 0FC15FAB */ jal sinf -/* 0625CC 7F02DA9C C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 0625D0 7F02DAA0 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0625D4 7F02DAA4 C7AC024C */ lwc1 $f12, 0x24c($sp) -/* 0625D8 7F02DAA8 46040282 */ mul.s $f10, $f0, $f4 -/* 0625DC 7F02DAAC 0FC15FAB */ jal sinf -/* 0625E0 7F02DAB0 E7AA0220 */ swc1 $f10, 0x220($sp) -/* 0625E4 7F02DAB4 E7A00224 */ swc1 $f0, 0x224($sp) -/* 0625E8 7F02DAB8 0FC15FA8 */ jal cosf -/* 0625EC 7F02DABC C7AC024C */ lwc1 $f12, 0x24c($sp) -/* 0625F0 7F02DAC0 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 0625F4 7F02DAC4 0FC15FA8 */ jal cosf -/* 0625F8 7F02DAC8 C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 0625FC 7F02DACC C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 062600 7F02DAD0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 062604 7F02DAD4 44811000 */ mtc1 $at, $f2 -/* 062608 7F02DAD8 46060482 */ mul.s $f18, $f0, $f6 -/* 06260C 7F02DADC C7A80220 */ lwc1 $f8, 0x220($sp) -/* 062610 7F02DAE0 C7AA0240 */ lwc1 $f10, 0x240($sp) -/* 062614 7F02DAE4 C7AC0244 */ lwc1 $f12, 0x244($sp) -/* 062618 7F02DAE8 46024102 */ mul.s $f4, $f8, $f2 -/* 06261C 7F02DAEC C7A80224 */ lwc1 $f8, 0x224($sp) -/* 062620 7F02DAF0 8FA40288 */ lw $a0, 0x288($sp) -/* 062624 7F02DAF4 E7B20228 */ swc1 $f18, 0x228($sp) -/* 062628 7F02DAF8 00002825 */ move $a1, $zero -/* 06262C 7F02DAFC 460A2180 */ add.s $f6, $f4, $f10 -/* 062630 7F02DB00 46024102 */ mul.s $f4, $f8, $f2 -/* 062634 7F02DB04 00000000 */ nop -/* 062638 7F02DB08 46029282 */ mul.s $f10, $f18, $f2 -/* 06263C 7F02DB0C E7A60258 */ swc1 $f6, 0x258($sp) -/* 062640 7F02DB10 C7A60248 */ lwc1 $f6, 0x248($sp) -/* 062644 7F02DB14 460C2380 */ add.s $f14, $f4, $f12 -/* 062648 7F02DB18 46065200 */ add.s $f8, $f10, $f6 -/* 06264C 7F02DB1C E7AE025C */ swc1 $f14, 0x25c($sp) -/* 062650 7F02DB20 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 062654 7F02DB24 E7A80260 */ swc1 $f8, 0x260($sp) -/* 062658 7F02DB28 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 06265C 7F02DB2C 00000000 */ nop -/* 062660 7F02DB30 C7AC0244 */ lwc1 $f12, 0x244($sp) -/* 062664 7F02DB34 C7AE025C */ lwc1 $f14, 0x25c($sp) -/* 062668 7F02DB38 8FB80238 */ lw $t8, 0x238($sp) -/* 06266C 7F02DB3C C7A40260 */ lwc1 $f4, 0x260($sp) -/* 062670 7F02DB40 2419001B */ li $t9, 27 -/* 062674 7F02DB44 AFB90014 */ sw $t9, 0x14($sp) -/* 062678 7F02DB48 27A4023C */ addiu $a0, $sp, 0x23c -/* 06267C 7F02DB4C 8FA50240 */ lw $a1, 0x240($sp) -/* 062680 7F02DB50 8FA60248 */ lw $a2, 0x248($sp) -/* 062684 7F02DB54 8FA70258 */ lw $a3, 0x258($sp) -/* 062688 7F02DB58 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 06268C 7F02DB5C E7AC001C */ swc1 $f12, 0x1c($sp) -/* 062690 7F02DB60 E7AE0020 */ swc1 $f14, 0x20($sp) -/* 062694 7F02DB64 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 062698 7F02DB68 AFB8023C */ sw $t8, 0x23c($sp) -/* 06269C 7F02DB6C 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0626A0 7F02DB70 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0626A4 7F02DB74 14400017 */ bnez $v0, .L7F02DBD4 -/* 0626A8 7F02DB78 27A40240 */ addiu $a0, $sp, 0x240 -/* 0626AC 7F02DB7C 27A50220 */ addiu $a1, $sp, 0x220 -/* 0626B0 7F02DB80 0FC09893 */ jal sub_GAME_7F02624C -/* 0626B4 7F02DB84 27A60258 */ addiu $a2, $sp, 0x258 -/* 0626B8 7F02DB88 3C0141D0 */ li $at, 0x41D00000 # 26.000000 -/* 0626BC 7F02DB8C 44810000 */ mtc1 $at, $f0 -/* 0626C0 7F02DB90 C7A60220 */ lwc1 $f6, 0x220($sp) -/* 0626C4 7F02DB94 C7AA0258 */ lwc1 $f10, 0x258($sp) -/* 0626C8 7F02DB98 C7B20228 */ lwc1 $f18, 0x228($sp) -/* 0626CC 7F02DB9C 46060202 */ mul.s $f8, $f0, $f6 -/* 0626D0 7F02DBA0 C7A60224 */ lwc1 $f6, 0x224($sp) -/* 0626D4 7F02DBA4 C7AE025C */ lwc1 $f14, 0x25c($sp) -/* 0626D8 7F02DBA8 8FA8023C */ lw $t0, 0x23c($sp) -/* 0626DC 7F02DBAC AFA80254 */ sw $t0, 0x254($sp) -/* 0626E0 7F02DBB0 46085101 */ sub.s $f4, $f10, $f8 -/* 0626E4 7F02DBB4 46060282 */ mul.s $f10, $f0, $f6 -/* 0626E8 7F02DBB8 C7A80260 */ lwc1 $f8, 0x260($sp) -/* 0626EC 7F02DBBC E7A40258 */ swc1 $f4, 0x258($sp) -/* 0626F0 7F02DBC0 46120102 */ mul.s $f4, $f0, $f18 -/* 0626F4 7F02DBC4 460A7381 */ sub.s $f14, $f14, $f10 -/* 0626F8 7F02DBC8 46044181 */ sub.s $f6, $f8, $f4 -/* 0626FC 7F02DBCC E7AE025C */ swc1 $f14, 0x25c($sp) -/* 062700 7F02DBD0 E7A60260 */ swc1 $f6, 0x260($sp) -.L7F02DBD4: -/* 062704 7F02DBD4 8FA40288 */ lw $a0, 0x288($sp) -/* 062708 7F02DBD8 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 06270C 7F02DBDC 24050001 */ li $a1, 1 -/* 062710 7F02DBE0 C7AA0258 */ lwc1 $f10, 0x258($sp) -/* 062714 7F02DBE4 C7A80240 */ lwc1 $f8, 0x240($sp) -/* 062718 7F02DBE8 C7A4025C */ lwc1 $f4, 0x25c($sp) -/* 06271C 7F02DBEC C7A60244 */ lwc1 $f6, 0x244($sp) -/* 062720 7F02DBF0 46085081 */ sub.s $f2, $f10, $f8 -/* 062724 7F02DBF4 C7A80248 */ lwc1 $f8, 0x248($sp) -/* 062728 7F02DBF8 C7AA0260 */ lwc1 $f10, 0x260($sp) -/* 06272C 7F02DBFC 46062381 */ sub.s $f14, $f4, $f6 -/* 062730 7F02DC00 46021102 */ mul.s $f4, $f2, $f2 -/* 062734 7F02DC04 8FAA0274 */ lw $t2, 0x274($sp) -/* 062738 7F02DC08 46085481 */ sub.s $f18, $f10, $f8 -/* 06273C 7F02DC0C 460E7182 */ mul.s $f6, $f14, $f14 -/* 062740 7F02DC10 24010019 */ li $at, 25 -/* 062744 7F02DC14 46129202 */ mul.s $f8, $f18, $f18 -/* 062748 7F02DC18 46062280 */ add.s $f10, $f4, $f6 -/* 06274C 7F02DC1C 46085100 */ add.s $f4, $f10, $f8 -/* 062750 7F02DC20 E7A4020C */ swc1 $f4, 0x20c($sp) -/* 062754 7F02DC24 81470080 */ lb $a3, 0x80($t2) -/* 062758 7F02DC28 54E1006F */ bnel $a3, $at, .L7F02DDE8 -/* 06275C 7F02DC2C 24010018 */ li $at, 24 -/* 062760 7F02DC30 46021282 */ mul.s $f10, $f2, $f2 -/* 062764 7F02DC34 3C018005 */ lui $at, %hi(D_80051F60) -/* 062768 7F02DC38 C4261F60 */ lwc1 $f6, %lo(D_80051F60)($at) -/* 06276C 7F02DC3C 460E7202 */ mul.s $f8, $f14, $f14 -/* 062770 7F02DC40 240400CA */ li $a0, 202 -/* 062774 7F02DC44 46085100 */ add.s $f4, $f10, $f8 -/* 062778 7F02DC48 46129282 */ mul.s $f10, $f18, $f18 -/* 06277C 7F02DC4C 460A2200 */ add.s $f8, $f4, $f10 -/* 062780 7F02DC50 4608303C */ c.lt.s $f6, $f8 -/* 062784 7F02DC54 00000000 */ nop -/* 062788 7F02DC58 45000060 */ bc1f .L7F02DDDC -/* 06278C 7F02DC5C 00000000 */ nop -/* 062790 7F02DC60 0FC1481B */ jal create_new_item_instance_of_model -/* 062794 7F02DC64 24050056 */ li $a1, 86 -/* 062798 7F02DC68 1040016E */ beqz $v0, .L7F02E224 -/* 06279C 7F02DC6C AFA20208 */ sw $v0, 0x208($sp) -/* 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 -/* 0627B0 7F02DC80 27A5016C */ addiu $a1, $sp, 0x16c -/* 0627B4 7F02DC84 C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 0627B8 7F02DC88 0FC1617F */ jal sub_GAME_7F0585FC -/* 0627BC 7F02DC8C 27A5012C */ addiu $a1, $sp, 0x12c -/* 0627C0 7F02DC90 27A4012C */ addiu $a0, $sp, 0x12c -/* 0627C4 7F02DC94 0FC16026 */ jal sub_GAME_7F058098 -/* 0627C8 7F02DC98 27A5016C */ addiu $a1, $sp, 0x16c -/* 0627CC 7F02DC9C 3C018005 */ lui $at, %hi(D_80051F64) -/* 0627D0 7F02DCA0 C4221F64 */ lwc1 $f2, %lo(D_80051F64)($at) -/* 0627D4 7F02DCA4 C7A40220 */ lwc1 $f4, 0x220($sp) -/* 0627D8 7F02DCA8 C7AA0224 */ lwc1 $f10, 0x224($sp) -/* 0627DC 7F02DCAC C7B20228 */ lwc1 $f18, 0x228($sp) -/* 0627E0 7F02DCB0 46022302 */ mul.s $f12, $f4, $f2 -/* 0627E4 7F02DCB4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0627E8 7F02DCB8 C4208378 */ lwc1 $f0, %lo(global_timer_delta)($at) -/* 0627EC 7F02DCBC 46025382 */ mul.s $f14, $f10, $f2 -/* 0627F0 7F02DCC0 8FAC0284 */ lw $t4, 0x284($sp) -/* 0627F4 7F02DCC4 27A901BC */ addiu $t1, $sp, 0x1bc -/* 0627F8 7F02DCC8 46029402 */ mul.s $f16, $f18, $f2 -/* 0627FC 7F02DCCC 27AB01C8 */ addiu $t3, $sp, 0x1c8 -/* 062800 7F02DCD0 AFAB0014 */ sw $t3, 0x14($sp) -/* 062804 7F02DCD4 46006182 */ mul.s $f6, $f12, $f0 -/* 062808 7F02DCD8 AFA90010 */ sw $t1, 0x10($sp) -/* 06280C 7F02DCDC E7AE01B0 */ swc1 $f14, 0x1b0($sp) -/* 062810 7F02DCE0 46007202 */ mul.s $f8, $f14, $f0 -/* 062814 7F02DCE4 E7B001B4 */ swc1 $f16, 0x1b4($sp) -/* 062818 7F02DCE8 E7AC01AC */ swc1 $f12, 0x1ac($sp) -/* 06281C 7F02DCEC 46008102 */ mul.s $f4, $f16, $f0 -/* 062820 7F02DCF0 E7A601BC */ swc1 $f6, 0x1bc($sp) -/* 062824 7F02DCF4 8FA40208 */ lw $a0, 0x208($sp) -/* 062828 7F02DCF8 27A50240 */ addiu $a1, $sp, 0x240 -/* 06282C 7F02DCFC E7A801C0 */ swc1 $f8, 0x1c0($sp) -/* 062830 7F02DD00 8FA60238 */ lw $a2, 0x238($sp) -/* 062834 7F02DD04 27A7016C */ addiu $a3, $sp, 0x16c -/* 062838 7F02DD08 E7A401C4 */ swc1 $f4, 0x1c4($sp) -/* 06283C 7F02DD0C 0FC17AC3 */ jal sub_GAME_7F05EB0C -/* 062840 7F02DD10 AFAC0018 */ sw $t4, 0x18($sp) -/* 062844 7F02DD14 8FA30208 */ lw $v1, 0x208($sp) -/* 062848 7F02DD18 8C6D0064 */ lw $t5, 0x64($v1) -/* 06284C 7F02DD1C 31AE0080 */ andi $t6, $t5, 0x80 -/* 062850 7F02DD20 51C00141 */ beql $t6, $zero, .L7F02E228 -/* 062854 7F02DD24 8FA2027C */ lw $v0, 0x27c($sp) -/* 062858 7F02DD28 8C62006C */ lw $v0, 0x6c($v1) -/* 06285C 7F02DD2C 2419FFFF */ li $t9, -1 -/* 062860 7F02DD30 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 062864 7F02DD34 8C4F0000 */ lw $t7, ($v0) -/* 062868 7F02DD38 24050001 */ li $a1, 1 -/* 06286C 7F02DD3C 35F80080 */ ori $t8, $t7, 0x80 -/* 062870 7F02DD40 AC580000 */ sw $t8, ($v0) -/* 062874 7F02DD44 8C62006C */ lw $v0, 0x6c($v1) -/* 062878 7F02DD48 A4790082 */ sh $t9, 0x82($v1) -/* 06287C 7F02DD4C 8C480000 */ lw $t0, ($v0) -/* 062880 7F02DD50 350A0020 */ ori $t2, $t0, 0x20 -/* 062884 7F02DD54 AC4A0000 */ sw $t2, ($v0) -/* 062888 7F02DD58 8C69006C */ lw $t1, 0x6c($v1) -/* 06288C 7F02DD5C C46A005C */ lwc1 $f10, 0x5c($v1) -/* 062890 7F02DD60 E52A00B0 */ swc1 $f10, 0xb0($t1) -/* 062894 7F02DD64 8C62006C */ lw $v0, 0x6c($v1) -/* 062898 7F02DD68 C4460008 */ lwc1 $f6, 8($v0) -/* 06289C 7F02DD6C E44600B4 */ swc1 $f6, 0xb4($v0) -/* 0628A0 7F02DD70 8C6B006C */ lw $t3, 0x6c($v1) -/* 0628A4 7F02DD74 C7A801AC */ lwc1 $f8, 0x1ac($sp) -/* 0628A8 7F02DD78 E5680010 */ swc1 $f8, 0x10($t3) -/* 0628AC 7F02DD7C 8C6C006C */ lw $t4, 0x6c($v1) -/* 0628B0 7F02DD80 C7A401B0 */ lwc1 $f4, 0x1b0($sp) -/* 0628B4 7F02DD84 E5840014 */ swc1 $f4, 0x14($t4) -/* 0628B8 7F02DD88 8C6D006C */ lw $t5, 0x6c($v1) -/* 0628BC 7F02DD8C C7AA01B4 */ lwc1 $f10, 0x1b4($sp) -/* 0628C0 7F02DD90 E5AA0018 */ swc1 $f10, 0x18($t5) -/* 0628C4 7F02DD94 8C62006C */ lw $v0, 0x6c($v1) -/* 0628C8 7F02DD98 8C4E0098 */ lw $t6, 0x98($v0) -/* 0628CC 7F02DD9C 24460098 */ addiu $a2, $v0, 0x98 -/* 0628D0 7F02DDA0 55C00006 */ bnezl $t6, .L7F02DDBC -/* 0628D4 7F02DDA4 8C4F009C */ lw $t7, 0x9c($v0) -/* 0628D8 7F02DDA8 0C002382 */ jal play_sfx_a1 -/* 0628DC 7F02DDAC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0628E0 7F02DDB0 1000011D */ b .L7F02E228 -/* 0628E4 7F02DDB4 8FA2027C */ lw $v0, 0x27c($sp) -/* 0628E8 7F02DDB8 8C4F009C */ lw $t7, 0x9c($v0) -.L7F02DDBC: -/* 0628EC 7F02DDBC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0628F0 7F02DDC0 24050001 */ li $a1, 1 -/* 0628F4 7F02DDC4 15E00117 */ bnez $t7, .L7F02E224 -/* 0628F8 7F02DDC8 2446009C */ addiu $a2, $v0, 0x9c -/* 0628FC 7F02DDCC 0C002382 */ jal play_sfx_a1 -/* 062900 7F02DDD0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 062904 7F02DDD4 10000114 */ b .L7F02E228 -/* 062908 7F02DDD8 8FA2027C */ lw $v0, 0x27c($sp) -.L7F02DDDC: -/* 06290C 7F02DDDC 10000111 */ b .L7F02E224 -/* 062910 7F02DDE0 AFA0027C */ sw $zero, 0x27c($sp) -/* 062914 7F02DDE4 24010018 */ li $at, 24 -.L7F02DDE8: -/* 062918 7F02DDE8 14E10048 */ bne $a3, $at, .L7F02DF0C -/* 06291C 7F02DDEC 8FB80044 */ lw $t8, 0x44($sp) -/* 062920 7F02DDF0 46021202 */ mul.s $f8, $f2, $f2 -/* 062924 7F02DDF4 3C018005 */ lui $at, %hi(D_80051F68) -/* 062928 7F02DDF8 C4261F68 */ lwc1 $f6, %lo(D_80051F68)($at) -/* 06292C 7F02DDFC 460E7102 */ mul.s $f4, $f14, $f14 -/* 062930 7F02DE00 240400CB */ li $a0, 203 -/* 062934 7F02DE04 46044280 */ add.s $f10, $f8, $f4 -/* 062938 7F02DE08 46129202 */ mul.s $f8, $f18, $f18 -/* 06293C 7F02DE0C 46085100 */ add.s $f4, $f10, $f8 -/* 062940 7F02DE10 4604303C */ c.lt.s $f6, $f4 -/* 062944 7F02DE14 00000000 */ nop -/* 062948 7F02DE18 4500003A */ bc1f .L7F02DF04 -/* 06294C 7F02DE1C 00000000 */ nop -/* 062950 7F02DE20 0FC1481B */ jal create_new_item_instance_of_model -/* 062954 7F02DE24 24050057 */ li $a1, 87 -/* 062958 7F02DE28 104000FE */ beqz $v0, .L7F02E224 -/* 06295C 7F02DE2C AFA20128 */ sw $v0, 0x128($sp) -/* 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) -/* 062970 7F02DE40 C7AA0220 */ lwc1 $f10, 0x220($sp) -/* 062974 7F02DE44 C7A60224 */ lwc1 $f6, 0x224($sp) -/* 062978 7F02DE48 C7B20228 */ lwc1 $f18, 0x228($sp) -/* 06297C 7F02DE4C 46005202 */ mul.s $f8, $f10, $f0 -/* 062980 7F02DE50 C7AC024C */ lwc1 $f12, 0x24c($sp) -/* 062984 7F02DE54 27A5009C */ addiu $a1, $sp, 0x9c -/* 062988 7F02DE58 46003102 */ mul.s $f4, $f6, $f0 -/* 06298C 7F02DE5C 00000000 */ nop -/* 062990 7F02DE60 46009282 */ mul.s $f10, $f18, $f0 -/* 062994 7F02DE64 E7A800DC */ swc1 $f8, 0xdc($sp) -/* 062998 7F02DE68 E7A400E0 */ swc1 $f4, 0xe0($sp) -/* 06299C 7F02DE6C 0FC1615C */ jal sub_GAME_7F058570 -/* 0629A0 7F02DE70 E7AA00E4 */ swc1 $f10, 0xe4($sp) -/* 0629A4 7F02DE74 C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 0629A8 7F02DE78 0FC1617F */ jal sub_GAME_7F0585FC -/* 0629AC 7F02DE7C 27A5005C */ addiu $a1, $sp, 0x5c -/* 0629B0 7F02DE80 27A4005C */ addiu $a0, $sp, 0x5c -/* 0629B4 7F02DE84 0FC16026 */ jal sub_GAME_7F058098 -/* 0629B8 7F02DE88 27A5009C */ addiu $a1, $sp, 0x9c -/* 0629BC 7F02DE8C 8FA40128 */ lw $a0, 0x128($sp) -/* 0629C0 7F02DE90 241800B4 */ li $t8, 180 -/* 0629C4 7F02DE94 27B900DC */ addiu $t9, $sp, 0xdc -/* 0629C8 7F02DE98 A4980082 */ sh $t8, 0x82($a0) -/* 0629CC 7F02DE9C 8FAA0284 */ lw $t2, 0x284($sp) -/* 0629D0 7F02DEA0 27A800E8 */ addiu $t0, $sp, 0xe8 -/* 0629D4 7F02DEA4 AFA80014 */ sw $t0, 0x14($sp) -/* 0629D8 7F02DEA8 AFB90010 */ sw $t9, 0x10($sp) -/* 0629DC 7F02DEAC 8FA60238 */ lw $a2, 0x238($sp) -/* 0629E0 7F02DEB0 27A50240 */ addiu $a1, $sp, 0x240 -/* 0629E4 7F02DEB4 27A7009C */ addiu $a3, $sp, 0x9c -/* 0629E8 7F02DEB8 0FC17AC3 */ jal sub_GAME_7F05EB0C -/* 0629EC 7F02DEBC AFAA0018 */ sw $t2, 0x18($sp) -/* 0629F0 7F02DEC0 8FA20128 */ lw $v0, 0x128($sp) -/* 0629F4 7F02DEC4 3C018005 */ lui $at, %hi(D_80051F70) -/* 0629F8 7F02DEC8 8C490064 */ lw $t1, 0x64($v0) -/* 0629FC 7F02DECC 312B0080 */ andi $t3, $t1, 0x80 -/* 062A00 7F02DED0 516000D5 */ beql $t3, $zero, .L7F02E228 -/* 062A04 7F02DED4 8FA2027C */ lw $v0, 0x27c($sp) -/* 062A08 7F02DED8 C4281F70 */ lwc1 $f8, %lo(D_80051F70)($at) -/* 062A0C 7F02DEDC 8C4C006C */ lw $t4, 0x6c($v0) -/* 062A10 7F02DEE0 3C018005 */ lui $at, %hi(D_80051F74) -/* 062A14 7F02DEE4 240E003C */ li $t6, 60 -/* 062A18 7F02DEE8 E588008C */ swc1 $f8, 0x8c($t4) -/* 062A1C 7F02DEEC 8C4D006C */ lw $t5, 0x6c($v0) -/* 062A20 7F02DEF0 C4261F74 */ lwc1 $f6, %lo(D_80051F74)($at) -/* 062A24 7F02DEF4 E5A60094 */ swc1 $f6, 0x94($t5) -/* 062A28 7F02DEF8 8C4F006C */ lw $t7, 0x6c($v0) -/* 062A2C 7F02DEFC 100000C9 */ b .L7F02E224 -/* 062A30 7F02DF00 ADEE00BC */ sw $t6, 0xbc($t7) -.L7F02DF04: -/* 062A34 7F02DF04 100000C7 */ b .L7F02E224 -/* 062A38 7F02DF08 AFA0027C */ sw $zero, 0x27c($sp) -.L7F02DF0C: -/* 062A3C 7F02DF0C 13000036 */ beqz $t8, .L7F02DFE8 -/* 062A40 7F02DF10 8FB9021C */ lw $t9, 0x21c($sp) -/* 062A44 7F02DF14 13200034 */ beqz $t9, .L7F02DFE8 -/* 062A48 7F02DF18 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 062A4C 7F02DF1C 8FA80270 */ lw $t0, 0x270($sp) -/* 062A50 7F02DF20 C7AA0240 */ lwc1 $f10, 0x240($sp) -/* 062A54 7F02DF24 44811000 */ mtc1 $at, $f2 -/* 062A58 7F02DF28 C5040008 */ lwc1 $f4, 8($t0) -/* 062A5C 7F02DF2C C7A60220 */ lwc1 $f6, 0x220($sp) -/* 062A60 7F02DF30 8FA40288 */ lw $a0, 0x288($sp) -/* 062A64 7F02DF34 460A2201 */ sub.s $f8, $f4, $f10 -/* 062A68 7F02DF38 46023102 */ mul.s $f4, $f6, $f2 -/* 062A6C 7F02DF3C C7A60244 */ lwc1 $f6, 0x244($sp) -/* 062A70 7F02DF40 C50A000C */ lwc1 $f10, 0xc($t0) -/* 062A74 7F02DF44 27A50234 */ addiu $a1, $sp, 0x234 -/* 062A78 7F02DF48 46044001 */ sub.s $f0, $f8, $f4 -/* 062A7C 7F02DF4C C7A40224 */ lwc1 $f4, 0x224($sp) -/* 062A80 7F02DF50 46065201 */ sub.s $f8, $f10, $f6 -/* 062A84 7F02DF54 46022282 */ mul.s $f10, $f4, $f2 -/* 062A88 7F02DF58 C7A40248 */ lwc1 $f4, 0x248($sp) -/* 062A8C 7F02DF5C C5060010 */ lwc1 $f6, 0x10($t0) -/* 062A90 7F02DF60 460A4301 */ sub.s $f12, $f8, $f10 -/* 062A94 7F02DF64 C7AA0228 */ lwc1 $f10, 0x228($sp) -/* 062A98 7F02DF68 46043201 */ sub.s $f8, $f6, $f4 -/* 062A9C 7F02DF6C 46025182 */ mul.s $f6, $f10, $f2 -/* 062AA0 7F02DF70 C7A4020C */ lwc1 $f4, 0x20c($sp) -/* 062AA4 7F02DF74 46000282 */ mul.s $f10, $f0, $f0 -/* 062AA8 7F02DF78 46064401 */ sub.s $f16, $f8, $f6 -/* 062AAC 7F02DF7C 460C6202 */ mul.s $f8, $f12, $f12 -/* 062AB0 7F02DF80 46085180 */ add.s $f6, $f10, $f8 -/* 062AB4 7F02DF84 46108282 */ mul.s $f10, $f16, $f16 -/* 062AB8 7F02DF88 460A3200 */ add.s $f8, $f6, $f10 -/* 062ABC 7F02DF8C 4604403E */ c.le.s $f8, $f4 -/* 062AC0 7F02DF90 00000000 */ nop -/* 062AC4 7F02DF94 45020020 */ bc1fl .L7F02E018 -/* 062AC8 7F02DF98 8FA80230 */ lw $t0, 0x230($sp) -/* 062ACC 7F02DF9C 0FC0B4B9 */ jal sub_GAME_7F02D2E4 -/* 062AD0 7F02DFA0 27A60230 */ addiu $a2, $sp, 0x230 -/* 062AD4 7F02DFA4 8FAA0230 */ lw $t2, 0x230($sp) -/* 062AD8 7F02DFA8 8FAB0234 */ lw $t3, 0x234($sp) -/* 062ADC 7F02DFAC 8FAC0288 */ lw $t4, 0x288($sp) -/* 062AE0 7F02DFB0 2D490001 */ sltiu $t1, $t2, 1 -/* 062AE4 7F02DFB4 11600017 */ beqz $t3, .L7F02E014 -/* 062AE8 7F02DFB8 AFA9022C */ sw $t1, 0x22c($sp) -/* 062AEC 7F02DFBC 81820007 */ lb $v0, 7($t4) -/* 062AF0 7F02DFC0 24010008 */ li $at, 8 -/* 062AF4 7F02DFC4 3C0D8005 */ lui $t5, %hi(global_timer) -/* 062AF8 7F02DFC8 10410004 */ beq $v0, $at, .L7F02DFDC -/* 062AFC 7F02DFCC 8FAE0288 */ lw $t6, 0x288($sp) -/* 062B00 7F02DFD0 2401000A */ li $at, 10 -/* 062B04 7F02DFD4 54410010 */ bnel $v0, $at, .L7F02E018 -/* 062B08 7F02DFD8 8FA80230 */ lw $t0, 0x230($sp) -.L7F02DFDC: -/* 062B0C 7F02DFDC 8DAD837C */ lw $t5, %lo(global_timer)($t5) -/* 062B10 7F02DFE0 1000000C */ b .L7F02E014 -/* 062B14 7F02DFE4 ADCD0048 */ sw $t5, 0x48($t6) -.L7F02DFE8: -/* 062B18 7F02DFE8 8FAF0288 */ lw $t7, 0x288($sp) -/* 062B1C 7F02DFEC 24010008 */ li $at, 8 -/* 062B20 7F02DFF0 3C188005 */ lui $t8, %hi(global_timer) -/* 062B24 7F02DFF4 81E20007 */ lb $v0, 7($t7) -/* 062B28 7F02DFF8 8FB90288 */ lw $t9, 0x288($sp) -/* 062B2C 7F02DFFC 10410003 */ beq $v0, $at, .L7F02E00C -/* 062B30 7F02E000 2401000A */ li $at, 10 -/* 062B34 7F02E004 54410004 */ bnel $v0, $at, .L7F02E018 -/* 062B38 7F02E008 8FA80230 */ lw $t0, 0x230($sp) -.L7F02E00C: -/* 062B3C 7F02E00C 8F18837C */ lw $t8, %lo(global_timer)($t8) -/* 062B40 7F02E010 AF380048 */ sw $t8, 0x48($t9) -.L7F02E014: -/* 062B44 7F02E014 8FA80230 */ lw $t0, 0x230($sp) -.L7F02E018: -/* 062B48 7F02E018 8FA50270 */ lw $a1, 0x270($sp) -/* 062B4C 7F02E01C 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007BA04) -/* 062B50 7F02E020 1100000F */ beqz $t0, .L7F02E060 -/* 062B54 7F02E024 00000000 */ nop -/* 062B58 7F02E028 C4A60008 */ lwc1 $f6, 8($a1) -/* 062B5C 7F02E02C 8FAB0274 */ lw $t3, 0x274($sp) -/* 062B60 7F02E030 2406FFFF */ li $a2, -1 -/* 062B64 7F02E034 E7A60258 */ swc1 $f6, 0x258($sp) -/* 062B68 7F02E038 C4AA000C */ lwc1 $f10, 0xc($a1) -/* 062B6C 7F02E03C E7AA025C */ swc1 $f10, 0x25c($sp) -/* 062B70 7F02E040 C4A40010 */ lwc1 $f4, 0x10($a1) -/* 062B74 7F02E044 E7A40260 */ swc1 $f4, 0x260($sp) -/* 062B78 7F02E048 8CA90014 */ lw $t1, 0x14($a1) -/* 062B7C 7F02E04C AFA90254 */ sw $t1, 0x254($sp) -/* 062B80 7F02E050 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 062B84 7F02E054 81640080 */ lb $a0, 0x80($t3) -/* 062B88 7F02E058 10000012 */ b .L7F02E0A4 -/* 062B8C 7F02E05C 8FAC022C */ lw $t4, 0x22c($sp) -.L7F02E060: -/* 062B90 7F02E060 8C63BA04 */ lw $v1, %lo(dword_CODE_bss_8007BA04)($v1) -/* 062B94 7F02E064 C7A8020C */ lwc1 $f8, 0x20c($sp) -/* 062B98 7F02E068 10600006 */ beqz $v1, .L7F02E084 -/* 062B9C 7F02E06C 00000000 */ nop -/* 062BA0 7F02E070 90620000 */ lbu $v0, ($v1) -/* 062BA4 7F02E074 24010003 */ li $at, 3 -/* 062BA8 7F02E078 10410009 */ beq $v0, $at, .L7F02E0A0 -/* 062BAC 7F02E07C 24010006 */ li $at, 6 -/* 062BB0 7F02E080 10410007 */ beq $v0, $at, .L7F02E0A0 -.L7F02E084: -/* 062BB4 7F02E084 3C018005 */ lui $at, %hi(D_80051F78) -/* 062BB8 7F02E088 C4261F78 */ lwc1 $f6, %lo(D_80051F78)($at) -/* 062BBC 7F02E08C 4606403C */ c.lt.s $f8, $f6 -/* 062BC0 7F02E090 00000000 */ nop -/* 062BC4 7F02E094 45020003 */ bc1fl .L7F02E0A4 -/* 062BC8 7F02E098 8FAC022C */ lw $t4, 0x22c($sp) -/* 062BCC 7F02E09C AFA0022C */ sw $zero, 0x22c($sp) -.L7F02E0A0: -/* 062BD0 7F02E0A0 8FAC022C */ lw $t4, 0x22c($sp) -.L7F02E0A4: -/* 062BD4 7F02E0A4 8FAD0254 */ lw $t5, 0x254($sp) -/* 062BD8 7F02E0A8 5180003D */ beql $t4, $zero, .L7F02E1A0 -/* 062BDC 7F02E0AC 8FAC0264 */ lw $t4, 0x264($sp) -/* 062BE0 7F02E0B0 11A00005 */ beqz $t5, .L7F02E0C8 -/* 062BE4 7F02E0B4 27A40258 */ addiu $a0, $sp, 0x258 -/* 062BE8 7F02E0B8 24050001 */ li $a1, 1 -/* 062BEC 7F02E0BC 3C0641D0 */ lui $a2, 0x41d0 -/* 062BF0 7F02E0C0 0FC28F87 */ jal sub_GAME_7F0A3E1C -/* 062BF4 7F02E0C4 91A70003 */ lbu $a3, 3($t5) -.L7F02E0C8: -/* 062BF8 7F02E0C8 3C058008 */ lui $a1, %hi(dword_CODE_bss_8007BA04) -/* 062BFC 7F02E0CC 8CA5BA04 */ lw $a1, %lo(dword_CODE_bss_8007BA04)($a1) -/* 062C00 7F02E0D0 8FAE0274 */ lw $t6, 0x274($sp) -/* 062C04 7F02E0D4 2406FFFF */ li $a2, -1 -/* 062C08 7F02E0D8 10A0002D */ beqz $a1, .L7F02E190 -/* 062C0C 7F02E0DC 81C70080 */ lb $a3, 0x80($t6) -/* 062C10 7F02E0E0 00E02025 */ move $a0, $a3 -/* 062C14 7F02E0E4 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 062C18 7F02E0E8 2406FFFF */ li $a2, -1 -/* 062C1C 7F02E0EC 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007BA04) -/* 062C20 7F02E0F0 8C63BA04 */ lw $v1, %lo(dword_CODE_bss_8007BA04)($v1) -/* 062C24 7F02E0F4 24010003 */ li $at, 3 -/* 062C28 7F02E0F8 8FAF0288 */ lw $t7, 0x288($sp) -/* 062C2C 7F02E0FC 90620000 */ lbu $v0, ($v1) -/* 062C30 7F02E100 5441000F */ bnel $v0, $at, .L7F02E140 -/* 062C34 7F02E104 24010001 */ li $at, 1 -/* 062C38 7F02E108 8DF80014 */ lw $t8, 0x14($t7) -/* 062C3C 7F02E10C 2405000F */ li $a1, 15 -/* 062C40 7F02E110 8FA80274 */ lw $t0, 0x274($sp) -/* 062C44 7F02E114 33190040 */ andi $t9, $t8, 0x40 -/* 062C48 7F02E118 53200021 */ beql $t9, $zero, .L7F02E1A0 -/* 062C4C 7F02E11C 8FAC0264 */ lw $t4, 0x264($sp) -/* 062C50 7F02E120 8C640004 */ lw $a0, 4($v1) -/* 062C54 7F02E124 81070080 */ lb $a3, 0x80($t0) -/* 062C58 7F02E128 AFA00010 */ sw $zero, 0x10($sp) -/* 062C5C 7F02E12C 0FC09C9F */ jal handles_shot_actors -/* 062C60 7F02E130 27A60220 */ addiu $a2, $sp, 0x220 -/* 062C64 7F02E134 1000001A */ b .L7F02E1A0 -/* 062C68 7F02E138 8FAC0264 */ lw $t4, 0x264($sp) -/* 062C6C 7F02E13C 24010001 */ li $at, 1 -.L7F02E140: -/* 062C70 7F02E140 10410004 */ beq $v0, $at, .L7F02E154 -/* 062C74 7F02E144 8FA90274 */ lw $t1, 0x274($sp) -/* 062C78 7F02E148 24010004 */ li $at, 4 -/* 062C7C 7F02E14C 54410014 */ bnel $v0, $at, .L7F02E1A0 -/* 062C80 7F02E150 8FAC0264 */ lw $t4, 0x264($sp) -.L7F02E154: -/* 062C84 7F02E154 0FC177E1 */ jal sub_GAME_7F05DF84 -/* 062C88 7F02E158 81240080 */ lb $a0, 0x80($t1) -/* 062C8C 7F02E15C 0FC26C54 */ jal get_cur_playernum -/* 062C90 7F02E160 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 062C94 7F02E164 3C0B8008 */ lui $t3, %hi(dword_CODE_bss_8007BA04) -/* 062C98 7F02E168 8D6BBA04 */ lw $t3, %lo(dword_CODE_bss_8007BA04)($t3) -/* 062C9C 7F02E16C 8FAA0274 */ lw $t2, 0x274($sp) -/* 062CA0 7F02E170 8FA5004C */ lw $a1, 0x4c($sp) -/* 062CA4 7F02E174 8D640004 */ lw $a0, 4($t3) -/* 062CA8 7F02E178 81470080 */ lb $a3, 0x80($t2) -/* 062CAC 7F02E17C AFA20010 */ sw $v0, 0x10($sp) -/* 062CB0 7F02E180 0FC13833 */ jal sub_GAME_7F04E0CC -/* 062CB4 7F02E184 27A60258 */ addiu $a2, $sp, 0x258 -/* 062CB8 7F02E188 10000005 */ b .L7F02E1A0 -/* 062CBC 7F02E18C 8FAC0264 */ lw $t4, 0x264($sp) -.L7F02E190: -/* 062CC0 7F02E190 00E02025 */ move $a0, $a3 -/* 062CC4 7F02E194 0FC191DD */ jal recall_joy2_hits_edit_flag -/* 062CC8 7F02E198 27A50258 */ addiu $a1, $sp, 0x258 -/* 062CCC 7F02E19C 8FAC0264 */ lw $t4, 0x264($sp) -.L7F02E1A0: -/* 062CD0 7F02E1A0 8FAD0274 */ lw $t5, 0x274($sp) -/* 062CD4 7F02E1A4 51800010 */ beql $t4, $zero, .L7F02E1E8 -/* 062CD8 7F02E1A8 8FB90264 */ lw $t9, 0x264($sp) -/* 062CDC 7F02E1AC 81AE0080 */ lb $t6, 0x80($t5) -/* 062CE0 7F02E1B0 25CFFFFC */ addiu $t7, $t6, -4 -/* 062CE4 7F02E1B4 2DE10013 */ sltiu $at, $t7, 0x13 -/* 062CE8 7F02E1B8 10200009 */ beqz $at, .L7F02E1E0 -/* 062CEC 7F02E1BC 000F7880 */ sll $t7, $t7, 2 -/* 062CF0 7F02E1C0 3C018005 */ lui $at, %hi(jpt_80051F7C) -/* 062CF4 7F02E1C4 002F0821 */ addu $at, $at, $t7 -/* 062CF8 7F02E1C8 8C2F1F7C */ lw $t7, %lo(jpt_80051F7C)($at) -/* 062CFC 7F02E1CC 01E00008 */ jr $t7 -/* 062D00 7F02E1D0 00000000 */ nop -weapon_guard_fires_bullet_projectile: -/* 062D04 7F02E1D4 24180001 */ li $t8, 1 -/* 062D08 7F02E1D8 10000002 */ b .L7F02E1E4 -/* 062D0C 7F02E1DC AFB80264 */ sw $t8, 0x264($sp) -weapon_guard_fires_bullet_no_projectile: -.L7F02E1E0: -/* 062D10 7F02E1E0 AFA00264 */ sw $zero, 0x264($sp) -.L7F02E1E4: -/* 062D14 7F02E1E4 8FB90264 */ lw $t9, 0x264($sp) -.L7F02E1E8: -/* 062D18 7F02E1E8 8FA9028C */ lw $t1, 0x28c($sp) -/* 062D1C 7F02E1EC 8FA80288 */ lw $t0, 0x288($sp) -/* 062D20 7F02E1F0 1320000C */ beqz $t9, .L7F02E224 -/* 062D24 7F02E1F4 00095880 */ sll $t3, $t1, 2 -/* 062D28 7F02E1F8 01695823 */ subu $t3, $t3, $t1 -/* 062D2C 7F02E1FC 000B5880 */ sll $t3, $t3, 2 -/* 062D30 7F02E200 01695823 */ subu $t3, $t3, $t1 -/* 062D34 7F02E204 8FAA0274 */ lw $t2, 0x274($sp) -/* 062D38 7F02E208 000B5880 */ sll $t3, $t3, 2 -/* 062D3C 7F02E20C 010B2021 */ addu $a0, $t0, $t3 -/* 062D40 7F02E210 24840180 */ addiu $a0, $a0, 0x180 -/* 062D44 7F02E214 27A60240 */ addiu $a2, $sp, 0x240 -/* 062D48 7F02E218 27A70258 */ addiu $a3, $sp, 0x258 -/* 062D4C 7F02E21C 0FC18652 */ jal sub_GAME_7F061948 -/* 062D50 7F02E220 81450080 */ lb $a1, 0x80($t2) -.L7F02E224: -/* 062D54 7F02E224 8FA2027C */ lw $v0, 0x27c($sp) -.L7F02E228: -/* 062D58 7F02E228 8FA40288 */ lw $a0, 0x288($sp) -/* 062D5C 7F02E22C 0002302B */ sltu $a2, $zero, $v0 -/* 062D60 7F02E230 14C00004 */ bnez $a2, .L7F02E244 -/* 062D64 7F02E234 00000000 */ nop -/* 062D68 7F02E238 8FA60278 */ lw $a2, 0x278($sp) -/* 062D6C 7F02E23C 0006682B */ sltu $t5, $zero, $a2 -/* 062D70 7F02E240 01A03025 */ move $a2, $t5 -.L7F02E244: -/* 062D74 7F02E244 0FC0AFF9 */ jal sub_GAME_7F02BFE4 -/* 062D78 7F02E248 8FA5028C */ lw $a1, 0x28c($sp) -.L7F02E24C: -/* 062D7C 7F02E24C 8FA40288 */ lw $a0, 0x288($sp) -/* 062D80 7F02E250 8FA5028C */ lw $a1, 0x28c($sp) -/* 062D84 7F02E254 0FC0B446 */ jal sub_GAME_7F02D118 -/* 062D88 7F02E258 8FA6027C */ lw $a2, 0x27c($sp) -/* 062D8C 7F02E25C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F02E260: -/* 062D90 7F02E260 27BD0288 */ addiu $sp, $sp, 0x288 -/* 062D94 7F02E264 03E00008 */ jr $ra -/* 062D98 7F02E268 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02E26C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02E26C -/* 062D9C 7F02E26C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 062DA0 7F02E270 AFBF0014 */ sw $ra, 0x14($sp) -/* 062DA4 7F02E274 948E0012 */ lhu $t6, 0x12($a0) -/* 062DA8 7F02E278 00002825 */ move $a1, $zero -/* 062DAC 7F02E27C 31CFFF7F */ andi $t7, $t6, 0xff7f -/* 062DB0 7F02E280 31E2FFFF */ andi $v0, $t7, 0xffff -/* 062DB4 7F02E284 30580008 */ andi $t8, $v0, 8 -/* 062DB8 7F02E288 13000008 */ beqz $t8, .L7F02E2AC -/* 062DBC 7F02E28C A48F0012 */ sh $t7, 0x12($a0) -/* 062DC0 7F02E290 0FC0B5CD */ jal sub_GAME_7F02D734 -/* 062DC4 7F02E294 AFA40018 */ sw $a0, 0x18($sp) -/* 062DC8 7F02E298 8FA40018 */ lw $a0, 0x18($sp) -/* 062DCC 7F02E29C 94990012 */ lhu $t9, 0x12($a0) -/* 062DD0 7F02E2A0 3328FFF7 */ andi $t0, $t9, 0xfff7 -/* 062DD4 7F02E2A4 3102FFFF */ andi $v0, $t0, 0xffff -/* 062DD8 7F02E2A8 A4880012 */ sh $t0, 0x12($a0) -.L7F02E2AC: -/* 062DDC 7F02E2AC 30490004 */ andi $t1, $v0, 4 -/* 062DE0 7F02E2B0 11200007 */ beqz $t1, .L7F02E2D0 -/* 062DE4 7F02E2B4 24050001 */ li $a1, 1 -/* 062DE8 7F02E2B8 0FC0B5CD */ jal sub_GAME_7F02D734 -/* 062DEC 7F02E2BC AFA40018 */ sw $a0, 0x18($sp) -/* 062DF0 7F02E2C0 8FA40018 */ lw $a0, 0x18($sp) -/* 062DF4 7F02E2C4 948A0012 */ lhu $t2, 0x12($a0) -/* 062DF8 7F02E2C8 314BFFFB */ andi $t3, $t2, 0xfffb -/* 062DFC 7F02E2CC A48B0012 */ sh $t3, 0x12($a0) -.L7F02E2D0: -/* 062E00 7F02E2D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 062E04 7F02E2D4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 062E08 7F02E2D8 03E00008 */ jr $ra -/* 062E0C 7F02E2DC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02E2E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02E2E0 -/* 062E10 7F02E2E0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 062E14 7F02E2E4 AFBF001C */ sw $ra, 0x1c($sp) -/* 062E18 7F02E2E8 8C82002C */ lw $v0, 0x2c($a0) -/* 062E1C 7F02E2EC 3C0E8003 */ lui $t6, %hi(D_80030108) -/* 062E20 7F02E2F0 25CE0108 */ addiu $t6, %lo(D_80030108) # addiu $t6, $t6, 0x108 -/* 062E24 7F02E2F4 11C20004 */ beq $t6, $v0, .L7F02E308 -/* 062E28 7F02E2F8 3C0F8003 */ lui $t7, %hi(D_80030150) -/* 062E2C 7F02E2FC 25EF0150 */ addiu $t7, %lo(D_80030150) # addiu $t7, $t7, 0x150 -/* 062E30 7F02E300 55E20029 */ bnel $t7, $v0, .L7F02E3A8 -/* 062E34 7F02E304 00001025 */ move $v0, $zero -.L7F02E308: -/* 062E38 7F02E308 8C82001C */ lw $v0, 0x1c($a0) -/* 062E3C 7F02E30C 3C088003 */ lui $t0, %hi(D_800300C0) -/* 062E40 7F02E310 24190002 */ li $t9, 2 -/* 062E44 7F02E314 80580024 */ lb $t8, 0x24($v0) -/* 062E48 7F02E318 250800C0 */ addiu $t0, %lo(D_800300C0) # addiu $t0, $t0, 0xc0 -/* 062E4C 7F02E31C 3C053F33 */ lui $a1, (0x3F333333 >> 16) # lui $a1, 0x3f33 -/* 062E50 7F02E320 AFB80024 */ sw $t8, 0x24($sp) -/* 062E54 7F02E324 A0990030 */ sb $t9, 0x30($a0) -/* 062E58 7F02E328 AC88002C */ sw $t0, 0x2c($a0) -/* 062E5C 7F02E32C A0800008 */ sb $zero, 8($a0) -/* 062E60 7F02E330 3C063F8F */ lui $a2, (0x3F8F5C29 >> 16) # lui $a2, 0x3f8f -/* 062E64 7F02E334 34C65C29 */ ori $a2, (0x3F8F5C29 & 0xFFFF) # ori $a2, $a2, 0x5c29 -/* 062E68 7F02E338 34A53333 */ ori $a1, (0x3F333333 & 0xFFFF) # ori $a1, $a1, 0x3333 -/* 062E6C 7F02E33C 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 062E70 7F02E340 AFA2002C */ sw $v0, 0x2c($sp) -/* 062E74 7F02E344 3C0141B0 */ li $at, 0x41B00000 # 22.000000 -/* 062E78 7F02E348 44812000 */ mtc1 $at, $f4 -/* 062E7C 7F02E34C 3C058003 */ lui $a1, %hi(D_800300C0) -/* 062E80 7F02E350 3C078003 */ lui $a3, %hi(D_800300C0+0x1C) -/* 062E84 7F02E354 8CE700DC */ lw $a3, %lo(D_800300C0+0x1C)($a3) -/* 062E88 7F02E358 8CA500C0 */ lw $a1, %lo(D_800300C0)($a1) -/* 062E8C 7F02E35C 8FA4002C */ lw $a0, 0x2c($sp) -/* 062E90 7F02E360 8FA60024 */ lw $a2, 0x24($sp) -/* 062E94 7F02E364 E7A00010 */ swc1 $f0, 0x10($sp) -/* 062E98 7F02E368 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 062E9C 7F02E36C E7A40014 */ swc1 $f4, 0x14($sp) -/* 062EA0 7F02E370 3C018003 */ lui $at, %hi(D_800300C0+0x14) -/* 062EA4 7F02E374 C42000D4 */ lwc1 $f0, %lo(D_800300C0+0x14)($at) -/* 062EA8 7F02E378 44803000 */ mtc1 $zero, $f6 -/* 062EAC 7F02E37C 00000000 */ nop -/* 062EB0 7F02E380 4600303E */ c.le.s $f6, $f0 -/* 062EB4 7F02E384 00000000 */ nop -/* 062EB8 7F02E388 45000004 */ bc1f .L7F02E39C -/* 062EBC 7F02E38C 00000000 */ nop -/* 062EC0 7F02E390 44050000 */ mfc1 $a1, $f0 -/* 062EC4 7F02E394 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 062EC8 7F02E398 8FA4002C */ lw $a0, 0x2c($sp) -.L7F02E39C: -/* 062ECC 7F02E39C 10000002 */ b .L7F02E3A8 -/* 062ED0 7F02E3A0 24020001 */ li $v0, 1 -/* 062ED4 7F02E3A4 00001025 */ move $v0, $zero -.L7F02E3A8: -/* 062ED8 7F02E3A8 8FBF001C */ lw $ra, 0x1c($sp) -/* 062EDC 7F02E3AC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 062EE0 7F02E3B0 03E00008 */ jr $ra -/* 062EE4 7F02E3B4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02E3B8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02E3B8 -/* 062EE8 7F02E3B8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 062EEC 7F02E3BC AFBF0024 */ sw $ra, 0x24($sp) -/* 062EF0 7F02E3C0 AFB10020 */ sw $s1, 0x20($sp) -/* 062EF4 7F02E3C4 AFB0001C */ sw $s0, 0x1c($sp) -/* 062EF8 7F02E3C8 8C8E002C */ lw $t6, 0x2c($a0) -/* 062EFC 7F02E3CC 44802000 */ mtc1 $zero, $f4 -/* 062F00 7F02E3D0 00808825 */ move $s1, $a0 -/* 062F04 7F02E3D4 C5C60024 */ lwc1 $f6, 0x24($t6) -/* 062F08 7F02E3D8 8C90001C */ lw $s0, 0x1c($a0) -/* 062F0C 7F02E3DC 4606203C */ c.lt.s $f4, $f6 -/* 062F10 7F02E3E0 00000000 */ nop -/* 062F14 7F02E3E4 45000015 */ bc1f .L7F02E43C -/* 062F18 7F02E3E8 00000000 */ nop -/* 062F1C 7F02E3EC 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 062F20 7F02E3F0 02002025 */ move $a0, $s0 -/* 062F24 7F02E3F4 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 062F28 7F02E3F8 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 062F2C 7F02E3FC AFA2002C */ sw $v0, 0x2c($sp) -/* 062F30 7F02E400 02202025 */ move $a0, $s1 -/* 062F34 7F02E404 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 062F38 7F02E408 3C053F00 */ lui $a1, 0x3f00 -/* 062F3C 7F02E40C 8E2F002C */ lw $t7, 0x2c($s1) -/* 062F40 7F02E410 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 062F44 7F02E414 44814000 */ mtc1 $at, $f8 -/* 062F48 7F02E418 82060024 */ lb $a2, 0x24($s0) -/* 062F4C 7F02E41C 8DE70024 */ lw $a3, 0x24($t7) -/* 062F50 7F02E420 E7A00010 */ swc1 $f0, 0x10($sp) -/* 062F54 7F02E424 02002025 */ move $a0, $s0 -/* 062F58 7F02E428 8FA5002C */ lw $a1, 0x2c($sp) -/* 062F5C 7F02E42C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 062F60 7F02E430 E7A80014 */ swc1 $f8, 0x14($sp) -/* 062F64 7F02E434 10000014 */ b .L7F02E488 -/* 062F68 7F02E438 8E39002C */ lw $t9, 0x2c($s1) -.L7F02E43C: -/* 062F6C 7F02E43C 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 062F70 7F02E440 02002025 */ move $a0, $s0 -/* 062F74 7F02E444 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 062F78 7F02E448 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 062F7C 7F02E44C AFA2002C */ sw $v0, 0x2c($sp) -/* 062F80 7F02E450 02202025 */ move $a0, $s1 -/* 062F84 7F02E454 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 062F88 7F02E458 3C053F00 */ lui $a1, 0x3f00 -/* 062F8C 7F02E45C 8E38002C */ lw $t8, 0x2c($s1) -/* 062F90 7F02E460 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 062F94 7F02E464 44815000 */ mtc1 $at, $f10 -/* 062F98 7F02E468 82060024 */ lb $a2, 0x24($s0) -/* 062F9C 7F02E46C 8F07001C */ lw $a3, 0x1c($t8) -/* 062FA0 7F02E470 E7A00010 */ swc1 $f0, 0x10($sp) -/* 062FA4 7F02E474 02002025 */ move $a0, $s0 -/* 062FA8 7F02E478 8FA5002C */ lw $a1, 0x2c($sp) -/* 062FAC 7F02E47C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 062FB0 7F02E480 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 062FB4 7F02E484 8E39002C */ lw $t9, 0x2c($s1) -.L7F02E488: -/* 062FB8 7F02E488 44808000 */ mtc1 $zero, $f16 -/* 062FBC 7F02E48C C7200014 */ lwc1 $f0, 0x14($t9) -/* 062FC0 7F02E490 4600803E */ c.le.s $f16, $f0 -/* 062FC4 7F02E494 00000000 */ nop -/* 062FC8 7F02E498 45020005 */ bc1fl .L7F02E4B0 -/* 062FCC 7F02E49C 8FBF0024 */ lw $ra, 0x24($sp) -/* 062FD0 7F02E4A0 44050000 */ mfc1 $a1, $f0 -/* 062FD4 7F02E4A4 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 062FD8 7F02E4A8 02002025 */ move $a0, $s0 -/* 062FDC 7F02E4AC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02E4B0: -/* 062FE0 7F02E4B0 8FB0001C */ lw $s0, 0x1c($sp) -/* 062FE4 7F02E4B4 8FB10020 */ lw $s1, 0x20($sp) -/* 062FE8 7F02E4B8 03E00008 */ jr $ra -/* 062FEC 7F02E4BC 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02E4C0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051FC8 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F02E4C0 -/* 062FF0 7F02E4C0 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 062FF4 7F02E4C4 AFBF0044 */ sw $ra, 0x44($sp) -/* 062FF8 7F02E4C8 AFB30040 */ sw $s3, 0x40($sp) -/* 062FFC 7F02E4CC AFB2003C */ sw $s2, 0x3c($sp) -/* 063000 7F02E4D0 AFB10038 */ sw $s1, 0x38($sp) -/* 063004 7F02E4D4 AFB00034 */ sw $s0, 0x34($sp) -/* 063008 7F02E4D8 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 06300C 7F02E4DC F7B60020 */ sdc1 $f22, 0x20($sp) -/* 063010 7F02E4E0 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 063014 7F02E4E4 8C93001C */ lw $s3, 0x1c($a0) -/* 063018 7F02E4E8 00808025 */ move $s0, $a0 -/* 06301C 7F02E4EC 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 063020 7F02E4F0 02602025 */ move $a0, $s3 -/* 063024 7F02E4F4 8E0F0044 */ lw $t7, 0x44($s0) -/* 063028 7F02E4F8 8E0E0048 */ lw $t6, 0x48($s0) -/* 06302C 7F02E4FC 46000506 */ mov.s $f20, $f0 -/* 063030 7F02E500 25F8FFE2 */ addiu $t8, $t7, -0x1e -/* 063034 7F02E504 01D8082A */ slt $at, $t6, $t8 -/* 063038 7F02E508 5020004B */ beql $at, $zero, .L7F02E638 -/* 06303C 7F02E50C 3C013F00 */ lui $at, 0x3f00 -/* 063040 7F02E510 8E790054 */ lw $t9, 0x54($s3) -/* 063044 7F02E514 57200048 */ bnezl $t9, .L7F02E638 -/* 063048 7F02E518 3C013F00 */ lui $at, 0x3f00 -/* 06304C 7F02E51C 8E05002C */ lw $a1, 0x2c($s0) -/* 063050 7F02E520 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 063054 7F02E524 44813000 */ mtc1 $at, $f6 -/* 063058 7F02E528 C4A40018 */ lwc1 $f4, 0x18($a1) -/* 06305C 7F02E52C 46062200 */ add.s $f8, $f4, $f6 -/* 063060 7F02E530 4600403C */ c.lt.s $f8, $f0 -/* 063064 7F02E534 00000000 */ nop -/* 063068 7F02E538 4502003F */ bc1fl .L7F02E638 -/* 06306C 7F02E53C 3C013F00 */ lui $at, 0x3f00 -/* 063070 7F02E540 C4AA001C */ lwc1 $f10, 0x1c($a1) -/* 063074 7F02E544 460A003C */ c.lt.s $f0, $f10 -/* 063078 7F02E548 00000000 */ nop -/* 06307C 7F02E54C 4502003A */ bc1fl .L7F02E638 -/* 063080 7F02E550 3C013F00 */ lui $at, 0x3f00 -/* 063084 7F02E554 4480B000 */ mtc1 $zero, $f22 -/* 063088 7F02E558 C4A20024 */ lwc1 $f2, 0x24($a1) -/* 06308C 7F02E55C 4616103C */ c.lt.s $f2, $f22 -/* 063090 7F02E560 00000000 */ nop -/* 063094 7F02E564 45030006 */ bc1tl .L7F02E580 -/* 063098 7F02E568 82080036 */ lb $t0, 0x36($s0) -/* 06309C 7F02E56C 4602003C */ c.lt.s $f0, $f2 -/* 0630A0 7F02E570 00000000 */ nop -/* 0630A4 7F02E574 45020030 */ bc1fl .L7F02E638 -/* 0630A8 7F02E578 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0630AC 7F02E57C 82080036 */ lb $t0, 0x36($s0) -.L7F02E580: -/* 0630B0 7F02E580 15000024 */ bnez $t0, .L7F02E614 -/* 0630B4 7F02E584 00000000 */ nop -/* 0630B8 7F02E588 0FC0B8B8 */ jal sub_GAME_7F02E2E0 -/* 0630BC 7F02E58C 02002025 */ move $a0, $s0 -/* 0630C0 7F02E590 1440001E */ bnez $v0, .L7F02E60C -/* 0630C4 7F02E594 00000000 */ nop -/* 0630C8 7F02E598 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 0630CC 7F02E59C 02602025 */ move $a0, $s3 -/* 0630D0 7F02E5A0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0630D4 7F02E5A4 4481C000 */ mtc1 $at, $f24 -/* 0630D8 7F02E5A8 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 0630DC 7F02E5AC 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0630E0 7F02E5B0 4405C000 */ mfc1 $a1, $f24 -/* 0630E4 7F02E5B4 00408825 */ move $s1, $v0 -/* 0630E8 7F02E5B8 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0630EC 7F02E5BC 02002025 */ move $a0, $s0 -/* 0630F0 7F02E5C0 8E09002C */ lw $t1, 0x2c($s0) -/* 0630F4 7F02E5C4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0630F8 7F02E5C8 44818000 */ mtc1 $at, $f16 -/* 0630FC 7F02E5CC 82660024 */ lb $a2, 0x24($s3) -/* 063100 7F02E5D0 8D27001C */ lw $a3, 0x1c($t1) -/* 063104 7F02E5D4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 063108 7F02E5D8 02602025 */ move $a0, $s3 -/* 06310C 7F02E5DC 02202825 */ move $a1, $s1 -/* 063110 7F02E5E0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 063114 7F02E5E4 E7B00014 */ swc1 $f16, 0x14($sp) -/* 063118 7F02E5E8 8E0A002C */ lw $t2, 0x2c($s0) -/* 06311C 7F02E5EC C5400014 */ lwc1 $f0, 0x14($t2) -/* 063120 7F02E5F0 4600B03E */ c.le.s $f22, $f0 -/* 063124 7F02E5F4 00000000 */ nop -/* 063128 7F02E5F8 45000004 */ bc1f .L7F02E60C -/* 06312C 7F02E5FC 00000000 */ nop -/* 063130 7F02E600 44050000 */ mfc1 $a1, $f0 -/* 063134 7F02E604 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 063138 7F02E608 02602025 */ move $a0, $s3 -.L7F02E60C: -/* 06313C 7F02E60C 10000004 */ b .L7F02E620 -/* 063140 7F02E610 820B0034 */ lb $t3, 0x34($s0) -.L7F02E614: -/* 063144 7F02E614 0FC0B8EE */ jal sub_GAME_7F02E3B8 -/* 063148 7F02E618 02002025 */ move $a0, $s0 -/* 06314C 7F02E61C 820B0034 */ lb $t3, 0x34($s0) -.L7F02E620: -/* 063150 7F02E620 02602025 */ move $a0, $s3 -/* 063154 7F02E624 256C0001 */ addiu $t4, $t3, 1 -/* 063158 7F02E628 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 06315C 7F02E62C A20C0033 */ sb $t4, 0x33($s0) -/* 063160 7F02E630 46000506 */ mov.s $f20, $f0 -/* 063164 7F02E634 3C013F00 */ li $at, 0x3F000000 # 0.500000 -.L7F02E638: -/* 063168 7F02E638 4481C000 */ mtc1 $at, $f24 -/* 06316C 7F02E63C 4480B000 */ mtc1 $zero, $f22 -/* 063170 7F02E640 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 063174 7F02E644 02602025 */ move $a0, $s3 -/* 063178 7F02E648 4614003E */ c.le.s $f0, $f20 -/* 06317C 7F02E64C 00000000 */ nop -/* 063180 7F02E650 45020076 */ bc1fl .L7F02E82C -/* 063184 7F02E654 8E02004C */ lw $v0, 0x4c($s0) -/* 063188 7F02E658 820D0037 */ lb $t5, 0x37($s0) -/* 06318C 7F02E65C 15A00006 */ bnez $t5, .L7F02E678 -/* 063190 7F02E660 00000000 */ nop -/* 063194 7F02E664 82030034 */ lb $v1, 0x34($s0) -/* 063198 7F02E668 82020033 */ lb $v0, 0x33($s0) -/* 06319C 7F02E66C 0062082A */ slt $at, $v1, $v0 -/* 0631A0 7F02E670 1020000F */ beqz $at, .L7F02E6B0 -/* 0631A4 7F02E674 00000000 */ nop -.L7F02E678: -/* 0631A8 7F02E678 0FC0B8B8 */ jal sub_GAME_7F02E2E0 -/* 0631AC 7F02E67C 02002025 */ move $a0, $s0 -/* 0631B0 7F02E680 14400066 */ bnez $v0, .L7F02E81C -/* 0631B4 7F02E684 00000000 */ nop -/* 0631B8 7F02E688 8E0F004C */ lw $t7, 0x4c($s0) -/* 0631BC 7F02E68C 31EE0001 */ andi $t6, $t7, 1 -/* 0631C0 7F02E690 11C00003 */ beqz $t6, .L7F02E6A0 -/* 0631C4 7F02E694 00000000 */ nop -/* 0631C8 7F02E698 0FC0A6EC */ jal sub_GAME_7F029BB0 -/* 0631CC 7F02E69C 02002025 */ move $a0, $s0 -.L7F02E6A0: -/* 0631D0 7F02E6A0 0FC08F92 */ jal sub_GAME_7F023E48 -/* 0631D4 7F02E6A4 02002025 */ move $a0, $s0 -/* 0631D8 7F02E6A8 1000014B */ b .L7F02EBD8 -/* 0631DC 7F02E6AC 8FBF0044 */ lw $ra, 0x44($sp) -.L7F02E6B0: -/* 0631E0 7F02E6B0 14620006 */ bne $v1, $v0, .L7F02E6CC -/* 0631E4 7F02E6B4 24580001 */ addiu $t8, $v0, 1 -/* 0631E8 7F02E6B8 A2180033 */ sb $t8, 0x33($s0) -/* 0631EC 7F02E6BC 0FC0B8EE */ jal sub_GAME_7F02E3B8 -/* 0631F0 7F02E6C0 02002025 */ move $a0, $s0 -/* 0631F4 7F02E6C4 10000055 */ b .L7F02E81C -/* 0631F8 7F02E6C8 00000000 */ nop -.L7F02E6CC: -/* 0631FC 7F02E6CC 82190031 */ lb $t9, 0x31($s0) -/* 063200 7F02E6D0 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 063204 7F02E6D4 02602025 */ move $a0, $s3 -/* 063208 7F02E6D8 13200050 */ beqz $t9, .L7F02E81C -/* 06320C 7F02E6DC 00000000 */ nop -/* 063210 7F02E6E0 82080036 */ lb $t0, 0x36($s0) -/* 063214 7F02E6E4 4600C306 */ mov.s $f12, $f24 -/* 063218 7F02E6E8 51000014 */ beql $t0, $zero, .L7F02E73C -/* 06321C 7F02E6EC 8E05002C */ lw $a1, 0x2c($s0) -/* 063220 7F02E6F0 8E05002C */ lw $a1, 0x2c($s0) -/* 063224 7F02E6F4 C4A00020 */ lwc1 $f0, 0x20($a1) -/* 063228 7F02E6F8 4600B03C */ c.lt.s $f22, $f0 -/* 06322C 7F02E6FC 00000000 */ nop -/* 063230 7F02E700 45020004 */ bc1fl .L7F02E714 -/* 063234 7F02E704 C4AE0018 */ lwc1 $f14, 0x18($a1) -/* 063238 7F02E708 10000002 */ b .L7F02E714 -/* 06323C 7F02E70C 46000386 */ mov.s $f14, $f0 -/* 063240 7F02E710 C4AE0018 */ lwc1 $f14, 0x18($a1) -.L7F02E714: -/* 063244 7F02E714 C4A20024 */ lwc1 $f2, 0x24($a1) -/* 063248 7F02E718 4602B03C */ c.lt.s $f22, $f2 -/* 06324C 7F02E71C 00000000 */ nop -/* 063250 7F02E720 45000003 */ bc1f .L7F02E730 -/* 063254 7F02E724 00000000 */ nop -/* 063258 7F02E728 1000000D */ b .L7F02E760 -/* 06325C 7F02E72C 46001506 */ mov.s $f20, $f2 -.L7F02E730: -/* 063260 7F02E730 1000000B */ b .L7F02E760 -/* 063264 7F02E734 C4B4001C */ lwc1 $f20, 0x1c($a1) -/* 063268 7F02E738 8E05002C */ lw $a1, 0x2c($s0) -.L7F02E73C: -/* 06326C 7F02E73C C4A00020 */ lwc1 $f0, 0x20($a1) -/* 063270 7F02E740 C4AE0018 */ lwc1 $f14, 0x18($a1) -/* 063274 7F02E744 4600B03C */ c.lt.s $f22, $f0 -/* 063278 7F02E748 00000000 */ nop -/* 06327C 7F02E74C 45020004 */ bc1fl .L7F02E760 -/* 063280 7F02E750 C4B4001C */ lwc1 $f20, 0x1c($a1) -/* 063284 7F02E754 10000002 */ b .L7F02E760 -/* 063288 7F02E758 46000506 */ mov.s $f20, $f0 -/* 06328C 7F02E75C C4B4001C */ lwc1 $f20, 0x1c($a1) -.L7F02E760: -/* 063290 7F02E760 460EA001 */ sub.s $f0, $f20, $f14 -/* 063294 7F02E764 44811000 */ mtc1 $at, $f2 -/* 063298 7F02E768 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 06329C 7F02E76C 4602003C */ c.lt.s $f0, $f2 -/* 0632A0 7F02E770 00000000 */ nop -/* 0632A4 7F02E774 45020005 */ bc1fl .L7F02E78C -/* 0632A8 7F02E778 44812000 */ mtc1 $at, $f4 -/* 0632AC 7F02E77C 46180482 */ mul.s $f18, $f0, $f24 -/* 0632B0 7F02E780 1000000D */ b .L7F02E7B8 -/* 0632B4 7F02E784 46029303 */ div.s $f12, $f18, $f2 -/* 0632B8 7F02E788 44812000 */ mtc1 $at, $f4 -.L7F02E78C: -/* 0632BC 7F02E78C 00000000 */ nop -/* 0632C0 7F02E790 4600203C */ c.lt.s $f4, $f0 -/* 0632C4 7F02E794 00000000 */ nop -/* 0632C8 7F02E798 45020008 */ bc1fl .L7F02E7BC -/* 0632CC 7F02E79C 8209003A */ lb $t1, 0x3a($s0) -/* 0632D0 7F02E7A0 46180182 */ mul.s $f6, $f0, $f24 -/* 0632D4 7F02E7A4 3C013D80 */ li $at, 0x3D800000 # 0.062500 -/* 0632D8 7F02E7A8 44814000 */ mtc1 $at, $f8 -/* 0632DC 7F02E7AC 00000000 */ nop -/* 0632E0 7F02E7B0 46083302 */ mul.s $f12, $f6, $f8 -/* 0632E4 7F02E7B4 00000000 */ nop -.L7F02E7B8: -/* 0632E8 7F02E7B8 8209003A */ lb $t1, 0x3a($s0) -.L7F02E7BC: -/* 0632EC 7F02E7BC 51200006 */ beql $t1, $zero, .L7F02E7D8 -/* 0632F0 7F02E7C0 A2000031 */ sb $zero, 0x31($s0) -/* 0632F4 7F02E7C4 820A003B */ lb $t2, 0x3b($s0) -/* 0632F8 7F02E7C8 51400003 */ beql $t2, $zero, .L7F02E7D8 -/* 0632FC 7F02E7CC A2000031 */ sb $zero, 0x31($s0) -/* 063300 7F02E7D0 460C6300 */ add.s $f12, $f12, $f12 -/* 063304 7F02E7D4 A2000031 */ sb $zero, 0x31($s0) -.L7F02E7D8: -/* 063308 7F02E7D8 E7AE005C */ swc1 $f14, 0x5c($sp) -/* 06330C 7F02E7DC 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 063310 7F02E7E0 E7AC0060 */ swc1 $f12, 0x60($sp) -/* 063314 7F02E7E4 C7AE005C */ lwc1 $f14, 0x5c($sp) -/* 063318 7F02E7E8 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 06331C 7F02E7EC 44815000 */ mtc1 $at, $f10 -/* 063320 7F02E7F0 C7AC0060 */ lwc1 $f12, 0x60($sp) -/* 063324 7F02E7F4 82660024 */ lb $a2, 0x24($s3) -/* 063328 7F02E7F8 44077000 */ mfc1 $a3, $f14 -/* 06332C 7F02E7FC 02602025 */ move $a0, $s3 -/* 063330 7F02E800 00402825 */ move $a1, $v0 -/* 063334 7F02E804 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 063338 7F02E808 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 06333C 7F02E80C E7AC0010 */ swc1 $f12, 0x10($sp) -/* 063340 7F02E810 4405A000 */ mfc1 $a1, $f20 -/* 063344 7F02E814 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 063348 7F02E818 02602025 */ move $a0, $s3 -.L7F02E81C: -/* 06334C 7F02E81C 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 063350 7F02E820 02602025 */ move $a0, $s3 -/* 063354 7F02E824 46000506 */ mov.s $f20, $f0 -/* 063358 7F02E828 8E02004C */ lw $v0, 0x4c($s0) -.L7F02E82C: -/* 06335C 7F02E82C 304B0040 */ andi $t3, $v0, 0x40 -/* 063360 7F02E830 5560002B */ bnezl $t3, .L7F02E8E0 -/* 063364 7F02E834 8E05002C */ lw $a1, 0x2c($s0) -/* 063368 7F02E838 8E05002C */ lw $a1, 0x2c($s0) -/* 06336C 7F02E83C 304C0020 */ andi $t4, $v0, 0x20 -/* 063370 7F02E840 02602025 */ move $a0, $s3 -/* 063374 7F02E844 C4A2000C */ lwc1 $f2, 0xc($a1) -/* 063378 7F02E848 1180000F */ beqz $t4, .L7F02E888 -/* 06337C 7F02E84C C4AC0004 */ lwc1 $f12, 4($a1) -/* 063380 7F02E850 E7A20050 */ swc1 $f2, 0x50($sp) -/* 063384 7F02E854 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 063388 7F02E858 E7AC004C */ swc1 $f12, 0x4c($sp) -/* 06338C 7F02E85C C7AC004C */ lwc1 $f12, 0x4c($sp) -/* 063390 7F02E860 C7A20050 */ lwc1 $f2, 0x50($sp) -/* 063394 7F02E864 02602025 */ move $a0, $s3 -/* 063398 7F02E868 460C003C */ c.lt.s $f0, $f12 -/* 06339C 7F02E86C 00000000 */ nop -/* 0633A0 7F02E870 45020006 */ bc1fl .L7F02E88C -/* 0633A4 7F02E874 826D0024 */ lb $t5, 0x24($s3) -/* 0633A8 7F02E878 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 0633AC 7F02E87C E7A20050 */ swc1 $f2, 0x50($sp) -/* 0633B0 7F02E880 C7A20050 */ lwc1 $f2, 0x50($sp) -/* 0633B4 7F02E884 46000306 */ mov.s $f12, $f0 -.L7F02E888: -/* 0633B8 7F02E888 826D0024 */ lb $t5, 0x24($s3) -.L7F02E88C: -/* 0633BC 7F02E88C 02002025 */ move $a0, $s0 -/* 0633C0 7F02E890 3C053F80 */ lui $a1, 0x3f80 -/* 0633C4 7F02E894 11A00004 */ beqz $t5, .L7F02E8A8 -/* 0633C8 7F02E898 3C063FCC */ lui $a2, (0x3FCCCCCD >> 16) # lui $a2, 0x3fcc -/* 0633CC 7F02E89C 3C018005 */ lui $at, %hi(D_80051FC8) -/* 0633D0 7F02E8A0 C4301FC8 */ lwc1 $f16, %lo(D_80051FC8)($at) -/* 0633D4 7F02E8A4 46028081 */ sub.s $f2, $f16, $f2 -.L7F02E8A8: -/* 0633D8 7F02E8A8 34C6CCCD */ ori $a2, (0x3FCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0633DC 7F02E8AC E7A20050 */ swc1 $f2, 0x50($sp) -/* 0633E0 7F02E8B0 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0633E4 7F02E8B4 E7AC004C */ swc1 $f12, 0x4c($sp) -/* 0633E8 7F02E8B8 C7AC004C */ lwc1 $f12, 0x4c($sp) -/* 0633EC 7F02E8BC C7A20050 */ lwc1 $f2, 0x50($sp) -/* 0633F0 7F02E8C0 82050030 */ lb $a1, 0x30($s0) -/* 0633F4 7F02E8C4 44070000 */ mfc1 $a3, $f0 -/* 0633F8 7F02E8C8 44066000 */ mfc1 $a2, $f12 -/* 0633FC 7F02E8CC 02002025 */ move $a0, $s0 -/* 063400 7F02E8D0 0FC0B0AC */ jal sub_GAME_7F02C2B0 -/* 063404 7F02E8D4 E7A20010 */ swc1 $f2, 0x10($sp) -/* 063408 7F02E8D8 A2020030 */ sb $v0, 0x30($s0) -/* 06340C 7F02E8DC 8E05002C */ lw $a1, 0x2c($s0) -.L7F02E8E0: -/* 063410 7F02E8E0 C4B20028 */ lwc1 $f18, 0x28($a1) -/* 063414 7F02E8E4 4614903C */ c.lt.s $f18, $f20 -/* 063418 7F02E8E8 00000000 */ nop -/* 06341C 7F02E8EC 4500000F */ bc1f .L7F02E92C -/* 063420 7F02E8F0 00000000 */ nop -/* 063424 7F02E8F4 C4A4002C */ lwc1 $f4, 0x2c($a1) -/* 063428 7F02E8F8 02002025 */ move $a0, $s0 -/* 06342C 7F02E8FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 063430 7F02E900 4604A03C */ c.lt.s $f20, $f4 -/* 063434 7F02E904 00000000 */ nop -/* 063438 7F02E908 45000008 */ bc1f .L7F02E92C -/* 06343C 7F02E90C 00000000 */ nop -/* 063440 7F02E910 44813000 */ mtc1 $at, $f6 -/* 063444 7F02E914 82060039 */ lb $a2, 0x39($s0) -/* 063448 7F02E918 82070038 */ lb $a3, 0x38($s0) -/* 06344C 7F02E91C 0FC0B130 */ jal sub_GAME_7F02C4C0 -/* 063450 7F02E920 E7A60010 */ swc1 $f6, 0x10($sp) -/* 063454 7F02E924 10000004 */ b .L7F02E938 -/* 063458 7F02E928 00008825 */ move $s1, $zero -.L7F02E92C: -/* 06345C 7F02E92C 0FC0B43E */ jal sub_GAME_7F02D0F8 -/* 063460 7F02E930 02002025 */ move $a0, $s0 -/* 063464 7F02E934 00008825 */ move $s1, $zero -.L7F02E938: -/* 063468 7F02E938 02009025 */ move $s2, $s0 -.L7F02E93C: -/* 06346C 7F02E93C 824F0038 */ lb $t7, 0x38($s2) -/* 063470 7F02E940 02002025 */ move $a0, $s0 -/* 063474 7F02E944 02202825 */ move $a1, $s1 -/* 063478 7F02E948 11E0009C */ beqz $t7, .L7F02EBBC -/* 06347C 7F02E94C 00000000 */ nop -/* 063480 7F02E950 824E003A */ lb $t6, 0x3a($s2) -/* 063484 7F02E954 55C00064 */ bnezl $t6, .L7F02EAE8 -/* 063488 7F02E958 82090031 */ lb $t1, 0x31($s0) -/* 06348C 7F02E95C 8E05002C */ lw $a1, 0x2c($s0) -/* 063490 7F02E960 02002025 */ move $a0, $s0 -/* 063494 7F02E964 00003025 */ move $a2, $zero -/* 063498 7F02E968 C4A80018 */ lwc1 $f8, 0x18($a1) -/* 06349C 7F02E96C 4614403E */ c.le.s $f8, $f20 -/* 0634A0 7F02E970 00000000 */ nop -/* 0634A4 7F02E974 45000040 */ bc1f .L7F02EA78 -/* 0634A8 7F02E978 00000000 */ nop -/* 0634AC 7F02E97C C4AA001C */ lwc1 $f10, 0x1c($a1) -/* 0634B0 7F02E980 02202825 */ move $a1, $s1 -/* 0634B4 7F02E984 460AA03C */ c.lt.s $f20, $f10 -/* 0634B8 7F02E988 00000000 */ nop -/* 0634BC 7F02E98C 4500003A */ bc1f .L7F02EA78 -/* 0634C0 7F02E990 00000000 */ nop -/* 0634C4 7F02E994 02002025 */ move $a0, $s0 -/* 0634C8 7F02E998 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 0634CC 7F02E99C 24060001 */ li $a2, 1 -/* 0634D0 7F02E9A0 82190007 */ lb $t9, 7($s0) -/* 0634D4 7F02E9A4 3C188005 */ lui $t8, %hi(global_timer) -/* 0634D8 7F02E9A8 8F18837C */ lw $t8, %lo(global_timer)($t8) -/* 0634DC 7F02E9AC 2401000A */ li $at, 10 -/* 0634E0 7F02E9B0 1721002B */ bne $t9, $at, .L7F02EA60 -/* 0634E4 7F02E9B4 AE180044 */ sw $t8, 0x44($s0) -/* 0634E8 7F02E9B8 8E05002C */ lw $a1, 0x2c($s0) -/* 0634EC 7F02E9BC 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0634F0 7F02E9C0 44812000 */ mtc1 $at, $f4 -/* 0634F4 7F02E9C4 C4B0001C */ lwc1 $f16, 0x1c($a1) -/* 0634F8 7F02E9C8 C4B20018 */ lwc1 $f18, 0x18($a1) -/* 0634FC 7F02E9CC 46128001 */ sub.s $f0, $f16, $f18 -/* 063500 7F02E9D0 4604003C */ c.lt.s $f0, $f4 -/* 063504 7F02E9D4 00000000 */ nop -/* 063508 7F02E9D8 4502001C */ bc1fl .L7F02EA4C -/* 06350C 7F02E9DC 4405C000 */ mfc1 $a1, $f24 -/* 063510 7F02E9E0 4600018D */ trunc.w.s $f6, $f0 -/* 063514 7F02E9E4 8E080040 */ lw $t0, 0x40($s0) -/* 063518 7F02E9E8 240C003C */ li $t4, 60 -/* 06351C 7F02E9EC 02602025 */ move $a0, $s3 -/* 063520 7F02E9F0 440A3000 */ mfc1 $t2, $f6 -/* 063524 7F02E9F4 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 063528 7F02E9F8 000A5840 */ sll $t3, $t2, 1 -/* 06352C 7F02E9FC 018B6823 */ subu $t5, $t4, $t3 -/* 063530 7F02EA00 010D082A */ slt $at, $t0, $t5 -/* 063534 7F02EA04 54200008 */ bnezl $at, .L7F02EA28 -/* 063538 7F02EA08 4406B000 */ mfc1 $a2, $f22 -/* 06353C 7F02EA0C 4405C000 */ mfc1 $a1, $f24 -/* 063540 7F02EA10 4406B000 */ mfc1 $a2, $f22 -/* 063544 7F02EA14 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 063548 7F02EA18 02602025 */ move $a0, $s3 -/* 06354C 7F02EA1C 1000006A */ b .L7F02EBC8 -/* 063550 7F02EA20 26310001 */ addiu $s1, $s1, 1 -/* 063554 7F02EA24 4406B000 */ mfc1 $a2, $f22 -.L7F02EA28: -/* 063558 7F02EA28 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 06355C 7F02EA2C 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 063560 7F02EA30 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 063564 7F02EA34 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 063568 7F02EA38 8E0F0040 */ lw $t7, 0x40($s0) -/* 06356C 7F02EA3C 01EEC021 */ addu $t8, $t7, $t6 -/* 063570 7F02EA40 10000060 */ b .L7F02EBC4 -/* 063574 7F02EA44 AE180040 */ sw $t8, 0x40($s0) -/* 063578 7F02EA48 4405C000 */ mfc1 $a1, $f24 -.L7F02EA4C: -/* 06357C 7F02EA4C 4406B000 */ mfc1 $a2, $f22 -/* 063580 7F02EA50 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 063584 7F02EA54 02602025 */ move $a0, $s3 -/* 063588 7F02EA58 1000005B */ b .L7F02EBC8 -/* 06358C 7F02EA5C 26310001 */ addiu $s1, $s1, 1 -.L7F02EA60: -/* 063590 7F02EA60 4405C000 */ mfc1 $a1, $f24 -/* 063594 7F02EA64 4406B000 */ mfc1 $a2, $f22 -/* 063598 7F02EA68 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 06359C 7F02EA6C 02602025 */ move $a0, $s3 -/* 0635A0 7F02EA70 10000055 */ b .L7F02EBC8 -/* 0635A4 7F02EA74 26310001 */ addiu $s1, $s1, 1 -.L7F02EA78: -/* 0635A8 7F02EA78 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 0635AC 7F02EA7C 02202825 */ move $a1, $s1 -/* 0635B0 7F02EA80 82190007 */ lb $t9, 7($s0) -/* 0635B4 7F02EA84 2401000A */ li $at, 10 -/* 0635B8 7F02EA88 02002025 */ move $a0, $s0 -/* 0635BC 7F02EA8C 1721000C */ bne $t9, $at, .L7F02EAC0 -/* 0635C0 7F02EA90 3C063F4C */ lui $a2, 0x3f4c -/* 0635C4 7F02EA94 4405C000 */ mfc1 $a1, $f24 -/* 0635C8 7F02EA98 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 0635CC 7F02EA9C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0635D0 7F02EAA0 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0635D4 7F02EAA4 02002025 */ move $a0, $s0 -/* 0635D8 7F02EAA8 44050000 */ mfc1 $a1, $f0 -/* 0635DC 7F02EAAC 4406B000 */ mfc1 $a2, $f22 -/* 0635E0 7F02EAB0 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 0635E4 7F02EAB4 02602025 */ move $a0, $s3 -/* 0635E8 7F02EAB8 10000043 */ b .L7F02EBC8 -/* 0635EC 7F02EABC 26310001 */ addiu $s1, $s1, 1 -.L7F02EAC0: -/* 0635F0 7F02EAC0 4405C000 */ mfc1 $a1, $f24 -/* 0635F4 7F02EAC4 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0635F8 7F02EAC8 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0635FC 7F02EACC 44050000 */ mfc1 $a1, $f0 -/* 063600 7F02EAD0 4406B000 */ mfc1 $a2, $f22 -/* 063604 7F02EAD4 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 063608 7F02EAD8 02602025 */ move $a0, $s3 -/* 06360C 7F02EADC 1000003A */ b .L7F02EBC8 -/* 063610 7F02EAE0 26310001 */ addiu $s1, $s1, 1 -/* 063614 7F02EAE4 82090031 */ lb $t1, 0x31($s0) -.L7F02EAE8: -/* 063618 7F02EAE8 02002025 */ move $a0, $s0 -/* 06361C 7F02EAEC 00003025 */ move $a2, $zero -/* 063620 7F02EAF0 1520002E */ bnez $t1, .L7F02EBAC -/* 063624 7F02EAF4 00000000 */ nop -/* 063628 7F02EAF8 82020032 */ lb $v0, 0x32($s0) -/* 06362C 7F02EAFC 12220004 */ beq $s1, $v0, .L7F02EB10 -/* 063630 7F02EB00 02025021 */ addu $t2, $s0, $v0 -/* 063634 7F02EB04 814C003A */ lb $t4, 0x3a($t2) -/* 063638 7F02EB08 15800028 */ bnez $t4, .L7F02EBAC -/* 06363C 7F02EB0C 00000000 */ nop -.L7F02EB10: -/* 063640 7F02EB10 8E05002C */ lw $a1, 0x2c($s0) -/* 063644 7F02EB14 C4A00020 */ lwc1 $f0, 0x20($a1) -/* 063648 7F02EB18 4600B03E */ c.le.s $f22, $f0 -/* 06364C 7F02EB1C 00000000 */ nop -/* 063650 7F02EB20 4502000B */ bc1fl .L7F02EB50 -/* 063654 7F02EB24 4616003C */ c.lt.s $f0, $f22 -/* 063658 7F02EB28 4614003E */ c.le.s $f0, $f20 -/* 06365C 7F02EB2C 00000000 */ nop -/* 063660 7F02EB30 45020007 */ bc1fl .L7F02EB50 -/* 063664 7F02EB34 4616003C */ c.lt.s $f0, $f22 -/* 063668 7F02EB38 C4A80024 */ lwc1 $f8, 0x24($a1) -/* 06366C 7F02EB3C 4608A03E */ c.le.s $f20, $f8 -/* 063670 7F02EB40 00000000 */ nop -/* 063674 7F02EB44 4503000B */ bc1tl .L7F02EB74 -/* 063678 7F02EB48 82080033 */ lb $t0, 0x33($s0) -/* 06367C 7F02EB4C 4616003C */ c.lt.s $f0, $f22 -.L7F02EB50: -/* 063680 7F02EB50 00000000 */ nop -/* 063684 7F02EB54 45000015 */ bc1f .L7F02EBAC -/* 063688 7F02EB58 00000000 */ nop -/* 06368C 7F02EB5C C4AA0018 */ lwc1 $f10, 0x18($a1) -/* 063690 7F02EB60 4614503E */ c.le.s $f10, $f20 -/* 063694 7F02EB64 00000000 */ nop -/* 063698 7F02EB68 45000010 */ bc1f .L7F02EBAC -/* 06369C 7F02EB6C 00000000 */ nop -/* 0636A0 7F02EB70 82080033 */ lb $t0, 0x33($s0) -.L7F02EB74: -/* 0636A4 7F02EB74 24060001 */ li $a2, 1 -/* 0636A8 7F02EB78 00C25823 */ subu $t3, $a2, $v0 -/* 0636AC 7F02EB7C 250D0001 */ addiu $t5, $t0, 1 -/* 0636B0 7F02EB80 A2060031 */ sb $a2, 0x31($s0) -/* 0636B4 7F02EB84 A20B0032 */ sb $t3, 0x32($s0) -/* 0636B8 7F02EB88 A20D0033 */ sb $t5, 0x33($s0) -/* 0636BC 7F02EB8C 3C0F8005 */ lui $t7, %hi(global_timer) -/* 0636C0 7F02EB90 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 0636C4 7F02EB94 02002025 */ move $a0, $s0 -/* 0636C8 7F02EB98 02202825 */ move $a1, $s1 -/* 0636CC 7F02EB9C 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 0636D0 7F02EBA0 AE0F0044 */ sw $t7, 0x44($s0) -/* 0636D4 7F02EBA4 10000008 */ b .L7F02EBC8 -/* 0636D8 7F02EBA8 26310001 */ addiu $s1, $s1, 1 -.L7F02EBAC: -/* 0636DC 7F02EBAC 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 0636E0 7F02EBB0 02202825 */ move $a1, $s1 -/* 0636E4 7F02EBB4 10000004 */ b .L7F02EBC8 -/* 0636E8 7F02EBB8 26310001 */ addiu $s1, $s1, 1 -.L7F02EBBC: -/* 0636EC 7F02EBBC 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 0636F0 7F02EBC0 00003025 */ move $a2, $zero -.L7F02EBC4: -/* 0636F4 7F02EBC4 26310001 */ addiu $s1, $s1, 1 -.L7F02EBC8: -/* 0636F8 7F02EBC8 24010002 */ li $at, 2 -/* 0636FC 7F02EBCC 1621FF5B */ bne $s1, $at, .L7F02E93C -/* 063700 7F02EBD0 26520001 */ addiu $s2, $s2, 1 -/* 063704 7F02EBD4 8FBF0044 */ lw $ra, 0x44($sp) -.L7F02EBD8: -/* 063708 7F02EBD8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 06370C 7F02EBDC D7B60020 */ ldc1 $f22, 0x20($sp) -/* 063710 7F02EBE0 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 063714 7F02EBE4 8FB00034 */ lw $s0, 0x34($sp) -/* 063718 7F02EBE8 8FB10038 */ lw $s1, 0x38($sp) -/* 06371C 7F02EBEC 8FB2003C */ lw $s2, 0x3c($sp) -/* 063720 7F02EBF0 8FB30040 */ lw $s3, 0x40($sp) -/* 063724 7F02EBF4 03E00008 */ jr $ra -/* 063728 7F02EBF8 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02EBFC(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80051FCC -.word 0x3e4ccccd /*0.2*/ -.text -glabel sub_GAME_7F02EBFC -/* 06372C 7F02EBFC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 063730 7F02EC00 AFBF0024 */ sw $ra, 0x24($sp) -/* 063734 7F02EC04 AFB10020 */ sw $s1, 0x20($sp) -/* 063738 7F02EC08 AFB0001C */ sw $s0, 0x1c($sp) -/* 06373C 7F02EC0C 8C91001C */ lw $s1, 0x1c($a0) -/* 063740 7F02EC10 00808025 */ move $s0, $a0 -/* 063744 7F02EC14 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 063748 7F02EC18 02202025 */ move $a0, $s1 -/* 06374C 7F02EC1C 8E020058 */ lw $v0, 0x58($s0) -/* 063750 7F02EC20 46000086 */ mov.s $f2, $f0 -/* 063754 7F02EC24 24010001 */ li $at, 1 -/* 063758 7F02EC28 5040004E */ beql $v0, $zero, .L7F02ED64 -/* 06375C 7F02EC2C 8E02004C */ lw $v0, 0x4c($s0) -/* 063760 7F02EC30 1441002D */ bne $v0, $at, .L7F02ECE8 -/* 063764 7F02EC34 02202025 */ move $a0, $s1 -/* 063768 7F02EC38 8E02002C */ lw $v0, 0x2c($s0) -/* 06376C 7F02EC3C 44802000 */ mtc1 $zero, $f4 -/* 063770 7F02EC40 C4400024 */ lwc1 $f0, 0x24($v0) -/* 063774 7F02EC44 4600203E */ c.le.s $f4, $f0 -/* 063778 7F02EC48 00000000 */ nop -/* 06377C 7F02EC4C 45020004 */ bc1fl .L7F02EC60 -/* 063780 7F02EC50 C442001C */ lwc1 $f2, 0x1c($v0) -/* 063784 7F02EC54 10000002 */ b .L7F02EC60 -/* 063788 7F02EC58 46000086 */ mov.s $f2, $f0 -/* 06378C 7F02EC5C C442001C */ lwc1 $f2, 0x1c($v0) -.L7F02EC60: -/* 063790 7F02EC60 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 063794 7F02EC64 E7A20034 */ swc1 $f2, 0x34($sp) -/* 063798 7F02EC68 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 06379C 7F02EC6C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0637A0 7F02EC70 AFA2002C */ sw $v0, 0x2c($sp) -/* 0637A4 7F02EC74 02002025 */ move $a0, $s0 -/* 0637A8 7F02EC78 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0637AC 7F02EC7C 3C053F00 */ lui $a1, 0x3f00 -/* 0637B0 7F02EC80 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 0637B4 7F02EC84 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0637B8 7F02EC88 44813000 */ mtc1 $at, $f6 -/* 0637BC 7F02EC8C 82260024 */ lb $a2, 0x24($s1) -/* 0637C0 7F02EC90 44071000 */ mfc1 $a3, $f2 -/* 0637C4 7F02EC94 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0637C8 7F02EC98 02202025 */ move $a0, $s1 -/* 0637CC 7F02EC9C 8FA5002C */ lw $a1, 0x2c($sp) -/* 0637D0 7F02ECA0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0637D4 7F02ECA4 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0637D8 7F02ECA8 8E0E002C */ lw $t6, 0x2c($s0) -/* 0637DC 7F02ECAC 44804000 */ mtc1 $zero, $f8 -/* 0637E0 7F02ECB0 C5C00014 */ lwc1 $f0, 0x14($t6) -/* 0637E4 7F02ECB4 4600403E */ c.le.s $f8, $f0 -/* 0637E8 7F02ECB8 00000000 */ nop -/* 0637EC 7F02ECBC 45020005 */ bc1fl .L7F02ECD4 -/* 0637F0 7F02ECC0 240F0002 */ li $t7, 2 -/* 0637F4 7F02ECC4 44050000 */ mfc1 $a1, $f0 -/* 0637F8 7F02ECC8 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0637FC 7F02ECCC 02202025 */ move $a0, $s1 -/* 063800 7F02ECD0 240F0002 */ li $t7, 2 -.L7F02ECD4: -/* 063804 7F02ECD4 AE0F0058 */ sw $t7, 0x58($s0) -/* 063808 7F02ECD8 0FC0B43E */ jal sub_GAME_7F02D0F8 -/* 06380C 7F02ECDC 02002025 */ move $a0, $s0 -/* 063810 7F02ECE0 1000007B */ b .L7F02EED0 -/* 063814 7F02ECE4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02ECE8: -/* 063818 7F02ECE8 24010002 */ li $at, 2 -/* 06381C 7F02ECEC 1441001C */ bne $v0, $at, .L7F02ED60 -/* 063820 7F02ECF0 02202025 */ move $a0, $s1 -/* 063824 7F02ECF4 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 063828 7F02ECF8 E7A20038 */ swc1 $f2, 0x38($sp) -/* 06382C 7F02ECFC C7A20038 */ lwc1 $f2, 0x38($sp) -/* 063830 7F02ED00 4602003E */ c.le.s $f0, $f2 -/* 063834 7F02ED04 00000000 */ nop -/* 063838 7F02ED08 45020071 */ bc1fl .L7F02EED0 -/* 06383C 7F02ED0C 8FBF0024 */ lw $ra, 0x24($sp) -/* 063840 7F02ED10 8E18004C */ lw $t8, 0x4c($s0) -/* 063844 7F02ED14 8E0A0054 */ lw $t2, 0x54($s0) -/* 063848 7F02ED18 2401FFBF */ li $at, -65 -/* 06384C 7F02ED1C 37190020 */ ori $t9, $t8, 0x20 -/* 063850 7F02ED20 AE19004C */ sw $t9, 0x4c($s0) -/* 063854 7F02ED24 03214824 */ and $t1, $t9, $at -/* 063858 7F02ED28 11400007 */ beqz $t2, .L7F02ED48 -/* 06385C 7F02ED2C AE09004C */ sw $t1, 0x4c($s0) -/* 063860 7F02ED30 02002025 */ move $a0, $s0 -/* 063864 7F02ED34 01202825 */ move $a1, $t1 -/* 063868 7F02ED38 0FC09558 */ jal sub_GAME_7F025560 -/* 06386C 7F02ED3C 8E060050 */ lw $a2, 0x50($s0) -/* 063870 7F02ED40 10000063 */ b .L7F02EED0 -/* 063874 7F02ED44 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02ED48: -/* 063878 7F02ED48 02002025 */ move $a0, $s0 -/* 06387C 7F02ED4C 8E05004C */ lw $a1, 0x4c($s0) -/* 063880 7F02ED50 0FC095BC */ jal sub_GAME_7F0256F0 -/* 063884 7F02ED54 8E060050 */ lw $a2, 0x50($s0) -/* 063888 7F02ED58 1000005D */ b .L7F02EED0 -/* 06388C 7F02ED5C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02ED60: -/* 063890 7F02ED60 8E02004C */ lw $v0, 0x4c($s0) -.L7F02ED64: -/* 063894 7F02ED64 304B0020 */ andi $t3, $v0, 0x20 -/* 063898 7F02ED68 1160001C */ beqz $t3, .L7F02EDDC -/* 06389C 7F02ED6C 304C0040 */ andi $t4, $v0, 0x40 -/* 0638A0 7F02ED70 1180000D */ beqz $t4, .L7F02EDA8 -/* 0638A4 7F02ED74 02202025 */ move $a0, $s1 -/* 0638A8 7F02ED78 3C018005 */ lui $at, %hi(D_80051FCC) -/* 0638AC 7F02ED7C C42A1FCC */ lwc1 $f10, %lo(D_80051FCC)($at) -/* 0638B0 7F02ED80 8E05002C */ lw $a1, 0x2c($s0) -/* 0638B4 7F02ED84 82060039 */ lb $a2, 0x39($s0) -/* 0638B8 7F02ED88 82070038 */ lb $a3, 0x38($s0) -/* 0638BC 7F02ED8C 02002025 */ move $a0, $s0 -/* 0638C0 7F02ED90 0FC0B130 */ jal sub_GAME_7F02C4C0 -/* 0638C4 7F02ED94 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0638C8 7F02ED98 1440004C */ bnez $v0, .L7F02EECC -/* 0638CC 7F02ED9C 240D0001 */ li $t5, 1 -/* 0638D0 7F02EDA0 1000004A */ b .L7F02EECC -/* 0638D4 7F02EDA4 AE0D0058 */ sw $t5, 0x58($s0) -.L7F02EDA8: -/* 0638D8 7F02EDA8 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 0638DC 7F02EDAC E7A20038 */ swc1 $f2, 0x38($sp) -/* 0638E0 7F02EDB0 C7A20038 */ lwc1 $f2, 0x38($sp) -/* 0638E4 7F02EDB4 4602003E */ c.le.s $f0, $f2 -/* 0638E8 7F02EDB8 00000000 */ nop -/* 0638EC 7F02EDBC 45020008 */ bc1fl .L7F02EDE0 -/* 0638F0 7F02EDC0 82190036 */ lb $t9, 0x36($s0) -/* 0638F4 7F02EDC4 8E0E004C */ lw $t6, 0x4c($s0) -/* 0638F8 7F02EDC8 24180002 */ li $t8, 2 -/* 0638FC 7F02EDCC A2180030 */ sb $t8, 0x30($s0) -/* 063900 7F02EDD0 35CF0040 */ ori $t7, $t6, 0x40 -/* 063904 7F02EDD4 1000003D */ b .L7F02EECC -/* 063908 7F02EDD8 AE0F004C */ sw $t7, 0x4c($s0) -.L7F02EDDC: -/* 06390C 7F02EDDC 82190036 */ lb $t9, 0x36($s0) -.L7F02EDE0: -/* 063910 7F02EDE0 17200038 */ bnez $t9, .L7F02EEC4 -/* 063914 7F02EDE4 00000000 */ nop -/* 063918 7F02EDE8 8E08002C */ lw $t0, 0x2c($s0) -/* 06391C 7F02EDEC 44808000 */ mtc1 $zero, $f16 -/* 063920 7F02EDF0 C5000024 */ lwc1 $f0, 0x24($t0) -/* 063924 7F02EDF4 4600803C */ c.lt.s $f16, $f0 -/* 063928 7F02EDF8 00000000 */ nop -/* 06392C 7F02EDFC 45000031 */ bc1f .L7F02EEC4 -/* 063930 7F02EE00 00000000 */ nop -/* 063934 7F02EE04 4600103E */ c.le.s $f2, $f0 -/* 063938 7F02EE08 02202025 */ move $a0, $s1 -/* 06393C 7F02EE0C 4500002D */ bc1f .L7F02EEC4 -/* 063940 7F02EE10 00000000 */ nop -/* 063944 7F02EE14 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 063948 7F02EE18 E7A20038 */ swc1 $f2, 0x38($sp) -/* 06394C 7F02EE1C C7A20038 */ lwc1 $f2, 0x38($sp) -/* 063950 7F02EE20 4602003E */ c.le.s $f0, $f2 -/* 063954 7F02EE24 00000000 */ nop -/* 063958 7F02EE28 45000026 */ bc1f .L7F02EEC4 -/* 06395C 7F02EE2C 00000000 */ nop -/* 063960 7F02EE30 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 063964 7F02EE34 02202025 */ move $a0, $s1 -/* 063968 7F02EE38 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 06396C 7F02EE3C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 063970 7F02EE40 AFA2002C */ sw $v0, 0x2c($sp) -/* 063974 7F02EE44 02002025 */ move $a0, $s0 -/* 063978 7F02EE48 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 06397C 7F02EE4C 3C053F00 */ lui $a1, 0x3f00 -/* 063980 7F02EE50 8E09002C */ lw $t1, 0x2c($s0) -/* 063984 7F02EE54 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 063988 7F02EE58 44819000 */ mtc1 $at, $f18 -/* 06398C 7F02EE5C 82260024 */ lb $a2, 0x24($s1) -/* 063990 7F02EE60 8D270024 */ lw $a3, 0x24($t1) -/* 063994 7F02EE64 E7A00010 */ swc1 $f0, 0x10($sp) -/* 063998 7F02EE68 02202025 */ move $a0, $s1 -/* 06399C 7F02EE6C 8FA5002C */ lw $a1, 0x2c($sp) -/* 0639A0 7F02EE70 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0639A4 7F02EE74 E7B20014 */ swc1 $f18, 0x14($sp) -/* 0639A8 7F02EE78 820A0037 */ lb $t2, 0x37($s0) -/* 0639AC 7F02EE7C 5140000E */ beql $t2, $zero, .L7F02EEB8 -/* 0639B0 7F02EE80 8E0C002C */ lw $t4, 0x2c($s0) -/* 0639B4 7F02EE84 8E0B002C */ lw $t3, 0x2c($s0) -/* 0639B8 7F02EE88 44802000 */ mtc1 $zero, $f4 -/* 0639BC 7F02EE8C C5600014 */ lwc1 $f0, 0x14($t3) -/* 0639C0 7F02EE90 4600203E */ c.le.s $f4, $f0 -/* 0639C4 7F02EE94 00000000 */ nop -/* 0639C8 7F02EE98 4500000A */ bc1f .L7F02EEC4 -/* 0639CC 7F02EE9C 00000000 */ nop -/* 0639D0 7F02EEA0 44050000 */ mfc1 $a1, $f0 -/* 0639D4 7F02EEA4 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0639D8 7F02EEA8 02202025 */ move $a0, $s1 -/* 0639DC 7F02EEAC 10000005 */ b .L7F02EEC4 -/* 0639E0 7F02EEB0 00000000 */ nop -/* 0639E4 7F02EEB4 8E0C002C */ lw $t4, 0x2c($s0) -.L7F02EEB8: -/* 0639E8 7F02EEB8 02202025 */ move $a0, $s1 -/* 0639EC 7F02EEBC 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0639F0 7F02EEC0 8D85001C */ lw $a1, 0x1c($t4) -.L7F02EEC4: -/* 0639F4 7F02EEC4 0FC0B930 */ jal sub_GAME_7F02E4C0 -/* 0639F8 7F02EEC8 02002025 */ move $a0, $s0 -.L7F02EECC: -/* 0639FC 7F02EECC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02EED0: -/* 063A00 7F02EED0 8FB0001C */ lw $s0, 0x1c($sp) -/* 063A04 7F02EED4 8FB10020 */ lw $s1, 0x20($sp) -/* 063A08 7F02EED8 03E00008 */ jr $ra -/* 063A0C 7F02EEDC 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80051FCC -.word 0x3e4ccccd /*0.2*/ - -.text -glabel sub_GAME_7F02EBFC -/* 063A74 7F02EF04 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 063A78 7F02EF08 AFBF0024 */ sw $ra, 0x24($sp) -/* 063A7C 7F02EF0C AFB10020 */ sw $s1, 0x20($sp) -/* 063A80 7F02EF10 AFB0001C */ sw $s0, 0x1c($sp) -/* 063A84 7F02EF14 8C91001C */ lw $s1, 0x1c($a0) -/* 063A88 7F02EF18 00808025 */ move $s0, $a0 -/* 063A8C 7F02EF1C 0FC1BEEB */ jal sub_GAME_7F06F5BC -/* 063A90 7F02EF20 02202025 */ move $a0, $s1 -/* 063A94 7F02EF24 8E020058 */ lw $v0, 0x58($s0) -/* 063A98 7F02EF28 46000086 */ mov.s $f2, $f0 -/* 063A9C 7F02EF2C 24010001 */ li $at, 1 -/* 063AA0 7F02EF30 5040004C */ beql $v0, $zero, .Ljp7F02F064 -/* 063AA4 7F02EF34 8E02004C */ lw $v0, 0x4c($s0) -/* 063AA8 7F02EF38 1441002D */ bne $v0, $at, .Ljp7F02EFF0 -/* 063AAC 7F02EF3C 02202025 */ move $a0, $s1 -/* 063AB0 7F02EF40 8E02002C */ lw $v0, 0x2c($s0) -/* 063AB4 7F02EF44 44802000 */ mtc1 $zero, $f4 -/* 063AB8 7F02EF48 C4400024 */ lwc1 $f0, 0x24($v0) -/* 063ABC 7F02EF4C 4600203E */ c.le.s $f4, $f0 -/* 063AC0 7F02EF50 00000000 */ nop -/* 063AC4 7F02EF54 45020004 */ bc1fl .Ljp7F02EF68 -/* 063AC8 7F02EF58 C442001C */ lwc1 $f2, 0x1c($v0) -/* 063ACC 7F02EF5C 10000002 */ b .Ljp7F02EF68 -/* 063AD0 7F02EF60 46000086 */ mov.s $f2, $f0 -/* 063AD4 7F02EF64 C442001C */ lwc1 $f2, 0x1c($v0) -.Ljp7F02EF68: -/* 063AD8 7F02EF68 0FC1BEE7 */ jal sub_GAME_7F06F5AC -/* 063ADC 7F02EF6C E7A20034 */ swc1 $f2, 0x34($sp) -/* 063AE0 7F02EF70 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 063AE4 7F02EF74 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 063AE8 7F02EF78 AFA2002C */ sw $v0, 0x2c($sp) -/* 063AEC 7F02EF7C 02002025 */ move $a0, $s0 -/* 063AF0 7F02EF80 0FC08F99 */ jal sub_GAME_7F023B5C -/* 063AF4 7F02EF84 3C053F00 */ lui $a1, 0x3f00 -/* 063AF8 7F02EF88 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 063AFC 7F02EF8C 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 063B00 7F02EF90 44813000 */ mtc1 $at, $f6 -/* 063B04 7F02EF94 82260024 */ lb $a2, 0x24($s1) -/* 063B08 7F02EF98 44071000 */ mfc1 $a3, $f2 -/* 063B0C 7F02EF9C E7A00010 */ swc1 $f0, 0x10($sp) -/* 063B10 7F02EFA0 02202025 */ move $a0, $s1 -/* 063B14 7F02EFA4 8FA5002C */ lw $a1, 0x2c($sp) -/* 063B18 7F02EFA8 0FC1C0A6 */ jal sub_GAME_7F06FCA8 -/* 063B1C 7F02EFAC E7A60014 */ swc1 $f6, 0x14($sp) -/* 063B20 7F02EFB0 8E0E002C */ lw $t6, 0x2c($s0) -/* 063B24 7F02EFB4 44804000 */ mtc1 $zero, $f8 -/* 063B28 7F02EFB8 C5C00014 */ lwc1 $f0, 0x14($t6) -/* 063B2C 7F02EFBC 4600403E */ c.le.s $f8, $f0 -/* 063B30 7F02EFC0 00000000 */ nop -/* 063B34 7F02EFC4 45020005 */ bc1fl .Ljp7F02EFDC -/* 063B38 7F02EFC8 240F0002 */ li $t7, 2 -/* 063B3C 7F02EFCC 44050000 */ mfc1 $a1, $f0 -/* 063B40 7F02EFD0 0FC1C0F6 */ jal sub_GAME_7F06FDE8 -/* 063B44 7F02EFD4 02202025 */ move $a0, $s1 -/* 063B48 7F02EFD8 240F0002 */ li $t7, 2 -.Ljp7F02EFDC: -/* 063B4C 7F02EFDC AE0F0058 */ sw $t7, 0x58($s0) -/* 063B50 7F02EFE0 0FC0B500 */ jal sub_GAME_7F02D0F8 -/* 063B54 7F02EFE4 02002025 */ move $a0, $s0 -/* 063B58 7F02EFE8 10000079 */ b .Ljp7F02F1D0 -/* 063B5C 7F02EFEC 8FBF0024 */ lw $ra, 0x24($sp) -.Ljp7F02EFF0: -/* 063B60 7F02EFF0 24010002 */ li $at, 2 -/* 063B64 7F02EFF4 1441001A */ bne $v0, $at, .Ljp7F02F060 -/* 063B68 7F02EFF8 02202025 */ move $a0, $s1 -/* 063B6C 7F02EFFC 0FC1BEED */ jal sub_GAME_7F06F5C4 -/* 063B70 7F02F000 E7A20038 */ swc1 $f2, 0x38($sp) -/* 063B74 7F02F004 C7A20038 */ lwc1 $f2, 0x38($sp) -/* 063B78 7F02F008 4602003E */ c.le.s $f0, $f2 -/* 063B7C 7F02F00C 00000000 */ nop -/* 063B80 7F02F010 4502006F */ bc1fl .Ljp7F02F1D0 -/* 063B84 7F02F014 8FBF0024 */ lw $ra, 0x24($sp) -/* 063B88 7F02F018 8E18004C */ lw $t8, 0x4c($s0) -/* 063B8C 7F02F01C 8E080054 */ lw $t0, 0x54($s0) -/* 063B90 7F02F020 2401FFBF */ li $at, -65 -/* 063B94 7F02F024 0301C824 */ and $t9, $t8, $at -/* 063B98 7F02F028 11000007 */ beqz $t0, .Ljp7F02F048 -/* 063B9C 7F02F02C AE19004C */ sw $t9, 0x4c($s0) -/* 063BA0 7F02F030 02002025 */ move $a0, $s0 -/* 063BA4 7F02F034 03202825 */ move $a1, $t9 -/* 063BA8 7F02F038 0FC0961A */ jal sub_GAME_7F025560 -/* 063BAC 7F02F03C 8E060050 */ lw $a2, 0x50($s0) -/* 063BB0 7F02F040 10000063 */ b .Ljp7F02F1D0 -/* 063BB4 7F02F044 8FBF0024 */ lw $ra, 0x24($sp) -.Ljp7F02F048: -/* 063BB8 7F02F048 02002025 */ move $a0, $s0 -/* 063BBC 7F02F04C 8E05004C */ lw $a1, 0x4c($s0) -/* 063BC0 7F02F050 0FC0967E */ jal sub_GAME_7F0256F0 -/* 063BC4 7F02F054 8E060050 */ lw $a2, 0x50($s0) -/* 063BC8 7F02F058 1000005D */ b .Ljp7F02F1D0 -/* 063BCC 7F02F05C 8FBF0024 */ lw $ra, 0x24($sp) -.Ljp7F02F060: -/* 063BD0 7F02F060 8E02004C */ lw $v0, 0x4c($s0) -.Ljp7F02F064: -/* 063BD4 7F02F064 30490020 */ andi $t1, $v0, 0x20 -/* 063BD8 7F02F068 1120001C */ beqz $t1, .Ljp7F02F0DC -/* 063BDC 7F02F06C 304A0040 */ andi $t2, $v0, 0x40 -/* 063BE0 7F02F070 1140000D */ beqz $t2, .Ljp7F02F0A8 -/* 063BE4 7F02F074 02202025 */ move $a0, $s1 -/* 063BE8 7F02F078 3C018005 */ lui $at, %hi(D_80051FCC) # $at, 0x8005 -/* 063BEC 7F02F07C C42A1FFC */ lwc1 $f10, %lo(D_80051FCC)($at) -/* 063BF0 7F02F080 8E05002C */ lw $a1, 0x2c($s0) -/* 063BF4 7F02F084 82060039 */ lb $a2, 0x39($s0) -/* 063BF8 7F02F088 82070038 */ lb $a3, 0x38($s0) -/* 063BFC 7F02F08C 02002025 */ move $a0, $s0 -/* 063C00 7F02F090 0FC0B1F2 */ jal sub_GAME_7F02C4C0 -/* 063C04 7F02F094 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 063C08 7F02F098 1440004C */ bnez $v0, .Ljp7F02F1CC -/* 063C0C 7F02F09C 240B0001 */ li $t3, 1 -/* 063C10 7F02F0A0 1000004A */ b .Ljp7F02F1CC -/* 063C14 7F02F0A4 AE0B0058 */ sw $t3, 0x58($s0) -.Ljp7F02F0A8: -/* 063C18 7F02F0A8 0FC1BEED */ jal sub_GAME_7F06F5C4 -/* 063C1C 7F02F0AC E7A20038 */ swc1 $f2, 0x38($sp) -/* 063C20 7F02F0B0 C7A20038 */ lwc1 $f2, 0x38($sp) -/* 063C24 7F02F0B4 4602003E */ c.le.s $f0, $f2 -/* 063C28 7F02F0B8 00000000 */ nop -/* 063C2C 7F02F0BC 45020008 */ bc1fl .Ljp7F02F0E0 -/* 063C30 7F02F0C0 820F0036 */ lb $t7, 0x36($s0) -/* 063C34 7F02F0C4 8E0C004C */ lw $t4, 0x4c($s0) -/* 063C38 7F02F0C8 240E0002 */ li $t6, 2 -/* 063C3C 7F02F0CC A20E0030 */ sb $t6, 0x30($s0) -/* 063C40 7F02F0D0 358D0040 */ ori $t5, $t4, 0x40 -/* 063C44 7F02F0D4 1000003D */ b .Ljp7F02F1CC -/* 063C48 7F02F0D8 AE0D004C */ sw $t5, 0x4c($s0) -.Ljp7F02F0DC: -/* 063C4C 7F02F0DC 820F0036 */ lb $t7, 0x36($s0) -.Ljp7F02F0E0: -/* 063C50 7F02F0E0 15E00038 */ bnez $t7, .Ljp7F02F1C4 -/* 063C54 7F02F0E4 00000000 */ nop -/* 063C58 7F02F0E8 8E18002C */ lw $t8, 0x2c($s0) -/* 063C5C 7F02F0EC 44808000 */ mtc1 $zero, $f16 -/* 063C60 7F02F0F0 C7000024 */ lwc1 $f0, 0x24($t8) -/* 063C64 7F02F0F4 4600803C */ c.lt.s $f16, $f0 -/* 063C68 7F02F0F8 00000000 */ nop -/* 063C6C 7F02F0FC 45000031 */ bc1f .Ljp7F02F1C4 -/* 063C70 7F02F100 00000000 */ nop -/* 063C74 7F02F104 4600103E */ c.le.s $f2, $f0 -/* 063C78 7F02F108 02202025 */ move $a0, $s1 -/* 063C7C 7F02F10C 4500002D */ bc1f .Ljp7F02F1C4 -/* 063C80 7F02F110 00000000 */ nop -/* 063C84 7F02F114 0FC1BEED */ jal sub_GAME_7F06F5C4 -/* 063C88 7F02F118 E7A20038 */ swc1 $f2, 0x38($sp) -/* 063C8C 7F02F11C C7A20038 */ lwc1 $f2, 0x38($sp) -/* 063C90 7F02F120 4602003E */ c.le.s $f0, $f2 -/* 063C94 7F02F124 00000000 */ nop -/* 063C98 7F02F128 45000026 */ bc1f .Ljp7F02F1C4 -/* 063C9C 7F02F12C 00000000 */ nop -/* 063CA0 7F02F130 0FC1BEE7 */ jal sub_GAME_7F06F5AC -/* 063CA4 7F02F134 02202025 */ move $a0, $s1 -/* 063CA8 7F02F138 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 063CAC 7F02F13C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 063CB0 7F02F140 AFA2002C */ sw $v0, 0x2c($sp) -/* 063CB4 7F02F144 02002025 */ move $a0, $s0 -/* 063CB8 7F02F148 0FC08F99 */ jal sub_GAME_7F023B5C -/* 063CBC 7F02F14C 3C053F00 */ lui $a1, 0x3f00 -/* 063CC0 7F02F150 8E19002C */ lw $t9, 0x2c($s0) -/* 063CC4 7F02F154 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 063CC8 7F02F158 44819000 */ mtc1 $at, $f18 -/* 063CCC 7F02F15C 82260024 */ lb $a2, 0x24($s1) -/* 063CD0 7F02F160 8F270024 */ lw $a3, 0x24($t9) -/* 063CD4 7F02F164 E7A00010 */ swc1 $f0, 0x10($sp) -/* 063CD8 7F02F168 02202025 */ move $a0, $s1 -/* 063CDC 7F02F16C 8FA5002C */ lw $a1, 0x2c($sp) -/* 063CE0 7F02F170 0FC1C0A6 */ jal sub_GAME_7F06FCA8 -/* 063CE4 7F02F174 E7B20014 */ swc1 $f18, 0x14($sp) -/* 063CE8 7F02F178 82080037 */ lb $t0, 0x37($s0) -/* 063CEC 7F02F17C 5100000E */ beql $t0, $zero, .Ljp7F02F1B8 -/* 063CF0 7F02F180 8E0A002C */ lw $t2, 0x2c($s0) -/* 063CF4 7F02F184 8E09002C */ lw $t1, 0x2c($s0) -/* 063CF8 7F02F188 44802000 */ mtc1 $zero, $f4 -/* 063CFC 7F02F18C C5200014 */ lwc1 $f0, 0x14($t1) -/* 063D00 7F02F190 4600203E */ c.le.s $f4, $f0 -/* 063D04 7F02F194 00000000 */ nop -/* 063D08 7F02F198 4500000A */ bc1f .Ljp7F02F1C4 -/* 063D0C 7F02F19C 00000000 */ nop -/* 063D10 7F02F1A0 44050000 */ mfc1 $a1, $f0 -/* 063D14 7F02F1A4 0FC1C0F6 */ jal sub_GAME_7F06FDE8 -/* 063D18 7F02F1A8 02202025 */ move $a0, $s1 -/* 063D1C 7F02F1AC 10000005 */ b .Ljp7F02F1C4 -/* 063D20 7F02F1B0 00000000 */ nop -/* 063D24 7F02F1B4 8E0A002C */ lw $t2, 0x2c($s0) -.Ljp7F02F1B8: -/* 063D28 7F02F1B8 02202025 */ move $a0, $s1 -/* 063D2C 7F02F1BC 0FC1C0F6 */ jal sub_GAME_7F06FDE8 -/* 063D30 7F02F1C0 8D45001C */ lw $a1, 0x1c($t2) -.Ljp7F02F1C4: -/* 063D34 7F02F1C4 0FC0B9F2 */ jal sub_GAME_7F02E4C0 -/* 063D38 7F02F1C8 02002025 */ move $a0, $s0 -.Ljp7F02F1CC: -/* 063D3C 7F02F1CC 8FBF0024 */ lw $ra, 0x24($sp) -.Ljp7F02F1D0: -/* 063D40 7F02F1D0 8FB0001C */ lw $s0, 0x1c($sp) -/* 063D44 7F02F1D4 8FB10020 */ lw $s1, 0x20($sp) -/* 063D48 7F02F1D8 03E00008 */ jr $ra -/* 063D4C 7F02F1DC 27BD0040 */ addiu $sp, $sp, 0x40 - -) -#endif - -#endif - -#ifdef NONMATCHING -void sub_GAME_7F02EEE0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02EEE0 -/* 063A10 7F02EEE0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 063A14 7F02EEE4 AFBF001C */ sw $ra, 0x1c($sp) -/* 063A18 7F02EEE8 AFA40048 */ sw $a0, 0x48($sp) -/* 063A1C 7F02EEEC 808F0035 */ lb $t7, 0x35($a0) -/* 063A20 7F02EEF0 11E0013B */ beqz $t7, .L7F02F3E0 -/* 063A24 7F02EEF4 00000000 */ nop -/* 063A28 7F02EEF8 8C84001C */ lw $a0, 0x1c($a0) -/* 063A2C 7F02EEFC 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 063A30 7F02EF00 AFA40044 */ sw $a0, 0x44($sp) -/* 063A34 7F02EF04 8FA70048 */ lw $a3, 0x48($sp) -/* 063A38 7F02EF08 3C188003 */ lui $t8, %hi(D_80030198) -/* 063A3C 7F02EF0C 27180198 */ addiu $t8, %lo(D_80030198) # addiu $t8, $t8, 0x198 -/* 063A40 7F02EF10 8CE2002C */ lw $v0, 0x2c($a3) -/* 063A44 7F02EF14 3C198003 */ lui $t9, %hi(D_800301E0) -/* 063A48 7F02EF18 46000306 */ mov.s $f12, $f0 -/* 063A4C 7F02EF1C 13020009 */ beq $t8, $v0, .L7F02EF44 -/* 063A50 7F02EF20 273901E0 */ addiu $t9, %lo(D_800301E0) # addiu $t9, $t9, 0x1e0 -/* 063A54 7F02EF24 13220007 */ beq $t9, $v0, .L7F02EF44 -/* 063A58 7F02EF28 3C088003 */ lui $t0, %hi(D_80030228) -/* 063A5C 7F02EF2C 25080228 */ addiu $t0, %lo(D_80030228) # addiu $t0, $t0, 0x228 -/* 063A60 7F02EF30 11020004 */ beq $t0, $v0, .L7F02EF44 -/* 063A64 7F02EF34 3C098003 */ lui $t1, %hi(D_80030270) -/* 063A68 7F02EF38 25290270 */ addiu $t1, %lo(D_80030270) # addiu $t1, $t1, 0x270 -/* 063A6C 7F02EF3C 152200C7 */ bne $t1, $v0, .L7F02F25C -/* 063A70 7F02EF40 3C188003 */ lui $t8, %hi(D_800302B8) -.L7F02EF44: -/* 063A74 7F02EF44 C4440014 */ lwc1 $f4, 0x14($v0) -/* 063A78 7F02EF48 8FAA0044 */ lw $t2, 0x44($sp) -/* 063A7C 7F02EF4C 4600203E */ c.le.s $f4, $f0 -/* 063A80 7F02EF50 00000000 */ nop -/* 063A84 7F02EF54 450000BF */ bc1f .L7F02F254 -/* 063A88 7F02EF58 00000000 */ nop -/* 063A8C 7F02EF5C 814B0024 */ lb $t3, 0x24($t2) -/* 063A90 7F02EF60 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 063A94 7F02EF64 44811000 */ mtc1 $at, $f2 -/* 063A98 7F02EF68 AFAB0038 */ sw $t3, 0x38($sp) -/* 063A9C 7F02EF6C 80EC0039 */ lb $t4, 0x39($a3) -/* 063AA0 7F02EF70 24430120 */ addiu $v1, $v0, 0x120 -/* 063AA4 7F02EF74 11800010 */ beqz $t4, .L7F02EFB8 -/* 063AA8 7F02EF78 00000000 */ nop -/* 063AAC 7F02EF7C 80ED0038 */ lb $t5, 0x38($a3) -/* 063AB0 7F02EF80 11A0000D */ beqz $t5, .L7F02EFB8 -/* 063AB4 7F02EF84 00000000 */ nop -/* 063AB8 7F02EF88 AFA3003C */ sw $v1, 0x3c($sp) -/* 063ABC 7F02EF8C 0C002914 */ jal get_random_value -/* 063AC0 7F02EF90 E7A20034 */ swc1 $f2, 0x34($sp) -/* 063AC4 7F02EF94 304F0001 */ andi $t7, $v0, 1 -/* 063AC8 7F02EF98 8FA3003C */ lw $v1, 0x3c($sp) -/* 063ACC 7F02EF9C 15E00004 */ bnez $t7, .L7F02EFB0 -/* 063AD0 7F02EFA0 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 063AD4 7F02EFA4 24630120 */ addiu $v1, $v1, 0x120 -/* 063AD8 7F02EFA8 10000003 */ b .L7F02EFB8 -/* 063ADC 7F02EFAC 8FA70048 */ lw $a3, 0x48($sp) -.L7F02EFB0: -/* 063AE0 7F02EFB0 24630240 */ addiu $v1, $v1, 0x240 -/* 063AE4 7F02EFB4 8FA70048 */ lw $a3, 0x48($sp) -.L7F02EFB8: -/* 063AE8 7F02EFB8 3C028003 */ lui $v0, %hi(D_80030078) -/* 063AEC 7F02EFBC 24420078 */ addiu $v0, %lo(D_80030078) # addiu $v0, $v0, 0x78 -/* 063AF0 7F02EFC0 244E0240 */ addiu $t6, $v0, 0x240 -/* 063AF4 7F02EFC4 146E0005 */ bne $v1, $t6, .L7F02EFDC -/* 063AF8 7F02EFC8 00E02025 */ move $a0, $a3 -/* 063AFC 7F02EFCC 3C0141C0 */ li $at, 0x41C00000 # 24.000000 -/* 063B00 7F02EFD0 44811000 */ mtc1 $at, $f2 -/* 063B04 7F02EFD4 10000043 */ b .L7F02F0E4 -/* 063B08 7F02EFD8 24190002 */ li $t9, 2 -.L7F02EFDC: -/* 063B0C 7F02EFDC 24580288 */ addiu $t8, $v0, 0x288 -/* 063B10 7F02EFE0 14780005 */ bne $v1, $t8, .L7F02EFF8 -/* 063B14 7F02EFE4 245902D0 */ addiu $t9, $v0, 0x2d0 -/* 063B18 7F02EFE8 3C0141C0 */ li $at, 0x41C00000 # 24.000000 -/* 063B1C 7F02EFEC 44811000 */ mtc1 $at, $f2 -/* 063B20 7F02EFF0 1000003C */ b .L7F02F0E4 -/* 063B24 7F02EFF4 24190002 */ li $t9, 2 -.L7F02EFF8: -/* 063B28 7F02EFF8 14790005 */ bne $v1, $t9, .L7F02F010 -/* 063B2C 7F02EFFC 24480318 */ addiu $t0, $v0, 0x318 -/* 063B30 7F02F000 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 063B34 7F02F004 44811000 */ mtc1 $at, $f2 -/* 063B38 7F02F008 10000036 */ b .L7F02F0E4 -/* 063B3C 7F02F00C 24190002 */ li $t9, 2 -.L7F02F010: -/* 063B40 7F02F010 14680005 */ bne $v1, $t0, .L7F02F028 -/* 063B44 7F02F014 24490360 */ addiu $t1, $v0, 0x360 -/* 063B48 7F02F018 3C014230 */ li $at, 0x42300000 # 44.000000 -/* 063B4C 7F02F01C 44811000 */ mtc1 $at, $f2 -/* 063B50 7F02F020 10000030 */ b .L7F02F0E4 -/* 063B54 7F02F024 24190002 */ li $t9, 2 -.L7F02F028: -/* 063B58 7F02F028 14690005 */ bne $v1, $t1, .L7F02F040 -/* 063B5C 7F02F02C 244A03A8 */ addiu $t2, $v0, 0x3a8 -/* 063B60 7F02F030 3C0141C0 */ li $at, 0x41C00000 # 24.000000 -/* 063B64 7F02F034 44811000 */ mtc1 $at, $f2 -/* 063B68 7F02F038 1000002A */ b .L7F02F0E4 -/* 063B6C 7F02F03C 24190002 */ li $t9, 2 -.L7F02F040: -/* 063B70 7F02F040 146A0005 */ bne $v1, $t2, .L7F02F058 -/* 063B74 7F02F044 244B03F0 */ addiu $t3, $v0, 0x3f0 -/* 063B78 7F02F048 3C014208 */ li $at, 0x42080000 # 34.000000 -/* 063B7C 7F02F04C 44811000 */ mtc1 $at, $f2 -/* 063B80 7F02F050 10000024 */ b .L7F02F0E4 -/* 063B84 7F02F054 24190002 */ li $t9, 2 -.L7F02F058: -/* 063B88 7F02F058 146B0005 */ bne $v1, $t3, .L7F02F070 -/* 063B8C 7F02F05C 244C0438 */ addiu $t4, $v0, 0x438 -/* 063B90 7F02F060 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 063B94 7F02F064 44811000 */ mtc1 $at, $f2 -/* 063B98 7F02F068 1000001E */ b .L7F02F0E4 -/* 063B9C 7F02F06C 24190002 */ li $t9, 2 -.L7F02F070: -/* 063BA0 7F02F070 146C0005 */ bne $v1, $t4, .L7F02F088 -/* 063BA4 7F02F074 244D0480 */ addiu $t5, $v0, 0x480 -/* 063BA8 7F02F078 3C014230 */ li $at, 0x42300000 # 44.000000 -/* 063BAC 7F02F07C 44811000 */ mtc1 $at, $f2 -/* 063BB0 7F02F080 10000018 */ b .L7F02F0E4 -/* 063BB4 7F02F084 24190002 */ li $t9, 2 -.L7F02F088: -/* 063BB8 7F02F088 146D0005 */ bne $v1, $t5, .L7F02F0A0 -/* 063BBC 7F02F08C 244F04C8 */ addiu $t7, $v0, 0x4c8 -/* 063BC0 7F02F090 3C0141C0 */ li $at, 0x41C00000 # 24.000000 -/* 063BC4 7F02F094 44811000 */ mtc1 $at, $f2 -/* 063BC8 7F02F098 10000012 */ b .L7F02F0E4 -/* 063BCC 7F02F09C 24190002 */ li $t9, 2 -.L7F02F0A0: -/* 063BD0 7F02F0A0 146F0005 */ bne $v1, $t7, .L7F02F0B8 -/* 063BD4 7F02F0A4 244E0510 */ addiu $t6, $v0, 0x510 -/* 063BD8 7F02F0A8 3C014208 */ li $at, 0x42080000 # 34.000000 -/* 063BDC 7F02F0AC 44811000 */ mtc1 $at, $f2 -/* 063BE0 7F02F0B0 1000000C */ b .L7F02F0E4 -/* 063BE4 7F02F0B4 24190002 */ li $t9, 2 -.L7F02F0B8: -/* 063BE8 7F02F0B8 146E0005 */ bne $v1, $t6, .L7F02F0D0 -/* 063BEC 7F02F0BC 24580558 */ addiu $t8, $v0, 0x558 -/* 063BF0 7F02F0C0 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 063BF4 7F02F0C4 44811000 */ mtc1 $at, $f2 -/* 063BF8 7F02F0C8 10000006 */ b .L7F02F0E4 -/* 063BFC 7F02F0CC 24190002 */ li $t9, 2 -.L7F02F0D0: -/* 063C00 7F02F0D0 14780003 */ bne $v1, $t8, .L7F02F0E0 -/* 063C04 7F02F0D4 3C014230 */ li $at, 0x42300000 # 44.000000 -/* 063C08 7F02F0D8 44811000 */ mtc1 $at, $f2 -/* 063C0C 7F02F0DC 00000000 */ nop -.L7F02F0E0: -/* 063C10 7F02F0E0 24190002 */ li $t9, 2 -.L7F02F0E4: -/* 063C14 7F02F0E4 A0F90030 */ sb $t9, 0x30($a3) -/* 063C18 7F02F0E8 ACE3002C */ sw $v1, 0x2c($a3) -/* 063C1C 7F02F0EC A0E00008 */ sb $zero, 8($a3) -/* 063C20 7F02F0F0 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 063C24 7F02F0F4 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 063C28 7F02F0F8 E7A20034 */ swc1 $f2, 0x34($sp) -/* 063C2C 7F02F0FC AFA3003C */ sw $v1, 0x3c($sp) -/* 063C30 7F02F100 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 063C34 7F02F104 3C053F00 */ lui $a1, 0x3f00 -/* 063C38 7F02F108 8FA3003C */ lw $v1, 0x3c($sp) -/* 063C3C 7F02F10C C7A20034 */ lwc1 $f2, 0x34($sp) -/* 063C40 7F02F110 8FA40044 */ lw $a0, 0x44($sp) -/* 063C44 7F02F114 8C650000 */ lw $a1, ($v1) -/* 063C48 7F02F118 8C670010 */ lw $a3, 0x10($v1) -/* 063C4C 7F02F11C E7A00010 */ swc1 $f0, 0x10($sp) -/* 063C50 7F02F120 8FA60038 */ lw $a2, 0x38($sp) -/* 063C54 7F02F124 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 063C58 7F02F128 E7A20014 */ swc1 $f2, 0x14($sp) -/* 063C5C 7F02F12C 8FA80048 */ lw $t0, 0x48($sp) -/* 063C60 7F02F130 8FA3003C */ lw $v1, 0x3c($sp) -/* 063C64 7F02F134 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 063C68 7F02F138 81090036 */ lb $t1, 0x36($t0) -/* 063C6C 7F02F13C 51200014 */ beql $t1, $zero, .L7F02F190 -/* 063C70 7F02F140 C4600020 */ lwc1 $f0, 0x20($v1) -/* 063C74 7F02F144 C4600024 */ lwc1 $f0, 0x24($v1) -/* 063C78 7F02F148 44803000 */ mtc1 $zero, $f6 -/* 063C7C 7F02F14C 8FA40044 */ lw $a0, 0x44($sp) -/* 063C80 7F02F150 4600303E */ c.le.s $f6, $f0 -/* 063C84 7F02F154 00000000 */ nop -/* 063C88 7F02F158 45020008 */ bc1fl .L7F02F17C -/* 063C8C 7F02F15C 8C65001C */ lw $a1, 0x1c($v1) -/* 063C90 7F02F160 44050000 */ mfc1 $a1, $f0 -/* 063C94 7F02F164 8FA40044 */ lw $a0, 0x44($sp) -/* 063C98 7F02F168 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 063C9C 7F02F16C E7A20034 */ swc1 $f2, 0x34($sp) -/* 063CA0 7F02F170 1000001D */ b .L7F02F1E8 -/* 063CA4 7F02F174 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 063CA8 7F02F178 8C65001C */ lw $a1, 0x1c($v1) -.L7F02F17C: -/* 063CAC 7F02F17C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 063CB0 7F02F180 E7A20034 */ swc1 $f2, 0x34($sp) -/* 063CB4 7F02F184 10000018 */ b .L7F02F1E8 -/* 063CB8 7F02F188 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 063CBC 7F02F18C C4600020 */ lwc1 $f0, 0x20($v1) -.L7F02F190: -/* 063CC0 7F02F190 44804000 */ mtc1 $zero, $f8 -/* 063CC4 7F02F194 8FA40044 */ lw $a0, 0x44($sp) -/* 063CC8 7F02F198 4600403E */ c.le.s $f8, $f0 -/* 063CCC 7F02F19C 00000000 */ nop -/* 063CD0 7F02F1A0 45020007 */ bc1fl .L7F02F1C0 -/* 063CD4 7F02F1A4 C4600014 */ lwc1 $f0, 0x14($v1) -/* 063CD8 7F02F1A8 44050000 */ mfc1 $a1, $f0 -/* 063CDC 7F02F1AC 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 063CE0 7F02F1B0 E7A20034 */ swc1 $f2, 0x34($sp) -/* 063CE4 7F02F1B4 1000000C */ b .L7F02F1E8 -/* 063CE8 7F02F1B8 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 063CEC 7F02F1BC C4600014 */ lwc1 $f0, 0x14($v1) -.L7F02F1C0: -/* 063CF0 7F02F1C0 44805000 */ mtc1 $zero, $f10 -/* 063CF4 7F02F1C4 8FA40044 */ lw $a0, 0x44($sp) -/* 063CF8 7F02F1C8 4600503E */ c.le.s $f10, $f0 -/* 063CFC 7F02F1CC 00000000 */ nop -/* 063D00 7F02F1D0 45020006 */ bc1fl .L7F02F1EC -/* 063D04 7F02F1D4 8FAA0048 */ lw $t2, 0x48($sp) -/* 063D08 7F02F1D8 44050000 */ mfc1 $a1, $f0 -/* 063D0C 7F02F1DC 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 063D10 7F02F1E0 E7A20034 */ swc1 $f2, 0x34($sp) -/* 063D14 7F02F1E4 C7A20034 */ lwc1 $f2, 0x34($sp) -.L7F02F1E8: -/* 063D18 7F02F1E8 8FAA0048 */ lw $t2, 0x48($sp) -.L7F02F1EC: -/* 063D1C 7F02F1EC 44808000 */ mtc1 $zero, $f16 -/* 063D20 7F02F1F0 8FA40044 */ lw $a0, 0x44($sp) -/* 063D24 7F02F1F4 8D4B002C */ lw $t3, 0x2c($t2) -/* 063D28 7F02F1F8 C572000C */ lwc1 $f18, 0xc($t3) -/* 063D2C 7F02F1FC 46128032 */ c.eq.s $f16, $f18 -/* 063D30 7F02F200 00000000 */ nop -/* 063D34 7F02F204 45010013 */ bc1t .L7F02F254 -/* 063D38 7F02F208 00000000 */ nop -/* 063D3C 7F02F20C 8C8C0008 */ lw $t4, 8($a0) -/* 063D40 7F02F210 8D850000 */ lw $a1, ($t4) -/* 063D44 7F02F214 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 063D48 7F02F218 E7A20034 */ swc1 $f2, 0x34($sp) -/* 063D4C 7F02F21C C7A20034 */ lwc1 $f2, 0x34($sp) -/* 063D50 7F02F220 E442005C */ swc1 $f2, 0x5c($v0) -/* 063D54 7F02F224 8FAD0048 */ lw $t5, 0x48($sp) -/* 063D58 7F02F228 8DAF002C */ lw $t7, 0x2c($t5) -/* 063D5C 7F02F22C C5E4000C */ lwc1 $f4, 0xc($t7) -/* 063D60 7F02F230 46002187 */ neg.s $f6, $f4 -/* 063D64 7F02F234 46023203 */ div.s $f8, $f6, $f2 -/* 063D68 7F02F238 E4480058 */ swc1 $f8, 0x58($v0) -/* 063D6C 7F02F23C 8FAE0038 */ lw $t6, 0x38($sp) -/* 063D70 7F02F240 11C00004 */ beqz $t6, .L7F02F254 -/* 063D74 7F02F244 00000000 */ nop -/* 063D78 7F02F248 C44A0058 */ lwc1 $f10, 0x58($v0) -/* 063D7C 7F02F24C 46005407 */ neg.s $f16, $f10 -/* 063D80 7F02F250 E4500058 */ swc1 $f16, 0x58($v0) -.L7F02F254: -/* 063D84 7F02F254 10000062 */ b .L7F02F3E0 -/* 063D88 7F02F258 00000000 */ nop -.L7F02F25C: -/* 063D8C 7F02F25C 271802B8 */ addiu $t8, $t8, %lo(D_800302B8) -/* 063D90 7F02F260 13020022 */ beq $t8, $v0, .L7F02F2EC -/* 063D94 7F02F264 3C198003 */ lui $t9, %hi(D_80030300) -/* 063D98 7F02F268 27390300 */ addiu $t9, %lo(D_80030300) # addiu $t9, $t9, 0x300 -/* 063D9C 7F02F26C 1322001F */ beq $t9, $v0, .L7F02F2EC -/* 063DA0 7F02F270 3C088003 */ lui $t0, %hi(D_80030348) -/* 063DA4 7F02F274 25080348 */ addiu $t0, %lo(D_80030348) # addiu $t0, $t0, 0x348 -/* 063DA8 7F02F278 1102001C */ beq $t0, $v0, .L7F02F2EC -/* 063DAC 7F02F27C 3C098003 */ lui $t1, %hi(D_80030390) -/* 063DB0 7F02F280 25290390 */ addiu $t1, %lo(D_80030390) # addiu $t1, $t1, 0x390 -/* 063DB4 7F02F284 11220019 */ beq $t1, $v0, .L7F02F2EC -/* 063DB8 7F02F288 3C0A8003 */ lui $t2, %hi(D_800303D8) -/* 063DBC 7F02F28C 254A03D8 */ addiu $t2, %lo(D_800303D8) # addiu $t2, $t2, 0x3d8 -/* 063DC0 7F02F290 11420016 */ beq $t2, $v0, .L7F02F2EC -/* 063DC4 7F02F294 3C0B8003 */ lui $t3, %hi(D_80030420) -/* 063DC8 7F02F298 256B0420 */ addiu $t3, %lo(D_80030420) # addiu $t3, $t3, 0x420 -/* 063DCC 7F02F29C 11620013 */ beq $t3, $v0, .L7F02F2EC -/* 063DD0 7F02F2A0 3C0C8003 */ lui $t4, %hi(D_80030468) -/* 063DD4 7F02F2A4 258C0468 */ addiu $t4, %lo(D_80030468) # addiu $t4, $t4, 0x468 -/* 063DD8 7F02F2A8 11820010 */ beq $t4, $v0, .L7F02F2EC -/* 063DDC 7F02F2AC 3C0D8003 */ lui $t5, %hi(D_800304B0) -/* 063DE0 7F02F2B0 25AD04B0 */ addiu $t5, %lo(D_800304B0) # addiu $t5, $t5, 0x4b0 -/* 063DE4 7F02F2B4 11A2000D */ beq $t5, $v0, .L7F02F2EC -/* 063DE8 7F02F2B8 3C0F8003 */ lui $t7, %hi(D_800304F8) -/* 063DEC 7F02F2BC 25EF04F8 */ addiu $t7, %lo(D_800304F8) # addiu $t7, $t7, 0x4f8 -/* 063DF0 7F02F2C0 11E2000A */ beq $t7, $v0, .L7F02F2EC -/* 063DF4 7F02F2C4 3C0E8003 */ lui $t6, %hi(D_80030540) -/* 063DF8 7F02F2C8 25CE0540 */ addiu $t6, %lo(D_80030540) # addiu $t6, $t6, 0x540 -/* 063DFC 7F02F2CC 11C20007 */ beq $t6, $v0, .L7F02F2EC -/* 063E00 7F02F2D0 3C188003 */ lui $t8, %hi(D_80030588) -/* 063E04 7F02F2D4 27180588 */ addiu $t8, %lo(D_80030588) # addiu $t8, $t8, 0x588 -/* 063E08 7F02F2D8 13020004 */ beq $t8, $v0, .L7F02F2EC -/* 063E0C 7F02F2DC 3C198003 */ lui $t9, %hi(D_800305D0) -/* 063E10 7F02F2E0 273905D0 */ addiu $t9, %lo(D_800305D0) # addiu $t9, $t9, 0x5d0 -/* 063E14 7F02F2E4 1722003E */ bne $t9, $v0, .L7F02F3E0 -/* 063E18 7F02F2E8 00000000 */ nop -.L7F02F2EC: -/* 063E1C 7F02F2EC 80E80036 */ lb $t0, 0x36($a3) -/* 063E20 7F02F2F0 1500003B */ bnez $t0, .L7F02F3E0 -/* 063E24 7F02F2F4 00000000 */ nop -/* 063E28 7F02F2F8 C4420024 */ lwc1 $f2, 0x24($v0) -/* 063E2C 7F02F2FC 44809000 */ mtc1 $zero, $f18 -/* 063E30 7F02F300 00000000 */ nop -/* 063E34 7F02F304 4602903C */ c.lt.s $f18, $f2 -/* 063E38 7F02F308 00000000 */ nop -/* 063E3C 7F02F30C 45000034 */ bc1f .L7F02F3E0 -/* 063E40 7F02F310 00000000 */ nop -/* 063E44 7F02F314 4602003E */ c.le.s $f0, $f2 -/* 063E48 7F02F318 8FA40044 */ lw $a0, 0x44($sp) -/* 063E4C 7F02F31C 45000030 */ bc1f .L7F02F3E0 -/* 063E50 7F02F320 00000000 */ nop -/* 063E54 7F02F324 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 063E58 7F02F328 E7AC0040 */ swc1 $f12, 0x40($sp) -/* 063E5C 7F02F32C C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 063E60 7F02F330 460C003E */ c.le.s $f0, $f12 -/* 063E64 7F02F334 00000000 */ nop -/* 063E68 7F02F338 45000029 */ bc1f .L7F02F3E0 -/* 063E6C 7F02F33C 00000000 */ nop -/* 063E70 7F02F340 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 063E74 7F02F344 8FA40044 */ lw $a0, 0x44($sp) -/* 063E78 7F02F348 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c -/* 063E7C 7F02F34C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 063E80 7F02F350 AFA20024 */ sw $v0, 0x24($sp) -/* 063E84 7F02F354 8FA40048 */ lw $a0, 0x48($sp) -/* 063E88 7F02F358 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 063E8C 7F02F35C 3C053F00 */ lui $a1, 0x3f00 -/* 063E90 7F02F360 8FAA0048 */ lw $t2, 0x48($sp) -/* 063E94 7F02F364 8FA40044 */ lw $a0, 0x44($sp) -/* 063E98 7F02F368 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 063E9C 7F02F36C 8D4B002C */ lw $t3, 0x2c($t2) -/* 063EA0 7F02F370 44812000 */ mtc1 $at, $f4 -/* 063EA4 7F02F374 80860024 */ lb $a2, 0x24($a0) -/* 063EA8 7F02F378 8D670024 */ lw $a3, 0x24($t3) -/* 063EAC 7F02F37C E7A00010 */ swc1 $f0, 0x10($sp) -/* 063EB0 7F02F380 8FA50024 */ lw $a1, 0x24($sp) -/* 063EB4 7F02F384 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 063EB8 7F02F388 E7A40014 */ swc1 $f4, 0x14($sp) -/* 063EBC 7F02F38C 8FAC0048 */ lw $t4, 0x48($sp) -/* 063EC0 7F02F390 8FAE0048 */ lw $t6, 0x48($sp) -/* 063EC4 7F02F394 818D0037 */ lb $t5, 0x37($t4) -/* 063EC8 7F02F398 51A0000E */ beql $t5, $zero, .L7F02F3D4 -/* 063ECC 7F02F39C 8DD8002C */ lw $t8, 0x2c($t6) -/* 063ED0 7F02F3A0 8D8F002C */ lw $t7, 0x2c($t4) -/* 063ED4 7F02F3A4 44803000 */ mtc1 $zero, $f6 -/* 063ED8 7F02F3A8 C5E00014 */ lwc1 $f0, 0x14($t7) -/* 063EDC 7F02F3AC 4600303E */ c.le.s $f6, $f0 -/* 063EE0 7F02F3B0 00000000 */ nop -/* 063EE4 7F02F3B4 4500000A */ bc1f .L7F02F3E0 -/* 063EE8 7F02F3B8 00000000 */ nop -/* 063EEC 7F02F3BC 44050000 */ mfc1 $a1, $f0 -/* 063EF0 7F02F3C0 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 063EF4 7F02F3C4 8FA40044 */ lw $a0, 0x44($sp) -/* 063EF8 7F02F3C8 10000005 */ b .L7F02F3E0 -/* 063EFC 7F02F3CC 00000000 */ nop -/* 063F00 7F02F3D0 8DD8002C */ lw $t8, 0x2c($t6) -.L7F02F3D4: -/* 063F04 7F02F3D4 8FA40044 */ lw $a0, 0x44($sp) -/* 063F08 7F02F3D8 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 063F0C 7F02F3DC 8F05001C */ lw $a1, 0x1c($t8) -.L7F02F3E0: -/* 063F10 7F02F3E0 0FC0B930 */ jal sub_GAME_7F02E4C0 -/* 063F14 7F02F3E4 8FA40048 */ lw $a0, 0x48($sp) -/* 063F18 7F02F3E8 8FBF001C */ lw $ra, 0x1c($sp) -/* 063F1C 7F02F3EC 27BD0048 */ addiu $sp, $sp, 0x48 -/* 063F20 7F02F3F0 03E00008 */ jr $ra -/* 063F24 7F02F3F4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02F3F8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02F3F8 -/* 063F28 7F02F3F8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 063F2C 7F02F3FC AFB00020 */ sw $s0, 0x20($sp) -/* 063F30 7F02F400 00808025 */ move $s0, $a0 -/* 063F34 7F02F404 AFBF0024 */ sw $ra, 0x24($sp) -/* 063F38 7F02F408 8C84001C */ lw $a0, 0x1c($a0) -/* 063F3C 7F02F40C 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 063F40 7F02F410 AFA40044 */ sw $a0, 0x44($sp) -/* 063F44 7F02F414 8FAE0044 */ lw $t6, 0x44($sp) -/* 063F48 7F02F418 46000086 */ mov.s $f2, $f0 -/* 063F4C 7F02F41C 00003025 */ move $a2, $zero -/* 063F50 7F02F420 81CF0024 */ lb $t7, 0x24($t6) -/* 063F54 7F02F424 02002025 */ move $a0, $s0 -/* 063F58 7F02F428 11E00003 */ beqz $t7, .L7F02F438 -/* 063F5C 7F02F42C 00000000 */ nop -/* 063F60 7F02F430 10000001 */ b .L7F02F438 -/* 063F64 7F02F434 24060001 */ li $a2, 1 -.L7F02F438: -/* 063F68 7F02F438 00C02825 */ move $a1, $a2 -/* 063F6C 7F02F43C AFA6003C */ sw $a2, 0x3c($sp) -/* 063F70 7F02F440 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 063F74 7F02F444 E7A20040 */ swc1 $f2, 0x40($sp) -/* 063F78 7F02F448 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 063F7C 7F02F44C C7A20040 */ lwc1 $f2, 0x40($sp) -/* 063F80 7F02F450 44812000 */ mtc1 $at, $f4 -/* 063F84 7F02F454 8FA6003C */ lw $a2, 0x3c($sp) -/* 063F88 7F02F458 4602203E */ c.le.s $f4, $f2 -/* 063F8C 7F02F45C 00000000 */ nop -/* 063F90 7F02F460 45020009 */ bc1fl .L7F02F488 -/* 063F94 7F02F464 3C014274 */ lui $at, 0x4274 -/* 063F98 7F02F468 50400007 */ beql $v0, $zero, .L7F02F488 -/* 063F9C 7F02F46C 3C014274 */ li $at, 0x42740000 # 61.000000 -/* 063FA0 7F02F470 8C430004 */ lw $v1, 4($v0) -/* 063FA4 7F02F474 2401F7FF */ li $at, -2049 -/* 063FA8 7F02F478 8C780064 */ lw $t8, 0x64($v1) -/* 063FAC 7F02F47C 0301C824 */ and $t9, $t8, $at -/* 063FB0 7F02F480 AC790064 */ sw $t9, 0x64($v1) -/* 063FB4 7F02F484 3C014274 */ li $at, 0x42740000 # 61.000000 -.L7F02F488: -/* 063FB8 7F02F488 44813000 */ mtc1 $at, $f6 -/* 063FBC 7F02F48C 3C0142EE */ li $at, 0x42EE0000 # 119.000000 -/* 063FC0 7F02F490 44814000 */ mtc1 $at, $f8 -/* 063FC4 7F02F494 4602303E */ c.le.s $f6, $f2 -/* 063FC8 7F02F498 00000000 */ nop -/* 063FCC 7F02F49C 45020007 */ bc1fl .L7F02F4BC -/* 063FD0 7F02F4A0 4602403E */ c.le.s $f8, $f2 -/* 063FD4 7F02F4A4 50400005 */ beql $v0, $zero, .L7F02F4BC -/* 063FD8 7F02F4A8 4602403E */ c.le.s $f8, $f2 -/* 063FDC 7F02F4AC 8C430004 */ lw $v1, 4($v0) -/* 063FE0 7F02F4B0 240800B4 */ li $t0, 180 -/* 063FE4 7F02F4B4 A4680082 */ sh $t0, 0x82($v1) -/* 063FE8 7F02F4B8 4602403E */ c.le.s $f8, $f2 -.L7F02F4BC: -/* 063FEC 7F02F4BC 00000000 */ nop -/* 063FF0 7F02F4C0 4502000D */ bc1fl .L7F02F4F8 -/* 063FF4 7F02F4C4 8FA40044 */ lw $a0, 0x44($sp) -/* 063FF8 7F02F4C8 1040000A */ beqz $v0, .L7F02F4F4 -/* 063FFC 7F02F4CC 00064880 */ sll $t1, $a2, 2 -/* 064000 7F02F4D0 02095021 */ addu $t2, $s0, $t1 -/* 064004 7F02F4D4 8D440160 */ lw $a0, 0x160($t2) -/* 064008 7F02F4D8 E7A20040 */ swc1 $f2, 0x40($sp) -/* 06400C 7F02F4DC 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 064010 7F02F4E0 24050003 */ li $a1, 3 -/* 064014 7F02F4E4 960B0012 */ lhu $t3, 0x12($s0) -/* 064018 7F02F4E8 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 06401C 7F02F4EC 356C0001 */ ori $t4, $t3, 1 -/* 064020 7F02F4F0 A60C0012 */ sh $t4, 0x12($s0) -.L7F02F4F4: -/* 064024 7F02F4F4 8FA40044 */ lw $a0, 0x44($sp) -.L7F02F4F8: -/* 064028 7F02F4F8 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 06402C 7F02F4FC E7A20040 */ swc1 $f2, 0x40($sp) -/* 064030 7F02F500 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 064034 7F02F504 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 064038 7F02F508 8FA40044 */ lw $a0, 0x44($sp) -/* 06403C 7F02F50C C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 064040 7F02F510 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 064044 7F02F514 3C0142AE */ li $at, 0x42AE0000 # 87.000000 -/* 064048 7F02F518 460A003E */ c.le.s $f0, $f10 -/* 06404C 7F02F51C 00000000 */ nop -/* 064050 7F02F520 45020006 */ bc1fl .L7F02F53C -/* 064054 7F02F524 44818000 */ mtc1 $at, $f16 -/* 064058 7F02F528 0FC08F92 */ jal sub_GAME_7F023E48 -/* 06405C 7F02F52C 02002025 */ move $a0, $s0 -/* 064060 7F02F530 10000018 */ b .L7F02F594 -/* 064064 7F02F534 8FBF0024 */ lw $ra, 0x24($sp) -/* 064068 7F02F538 44818000 */ mtc1 $at, $f16 -.L7F02F53C: -/* 06406C 7F02F53C 3C0142DC */ li $at, 0x42DC0000 # 110.000000 -/* 064070 7F02F540 4602803E */ c.le.s $f16, $f2 -/* 064074 7F02F544 00000000 */ nop -/* 064078 7F02F548 45020012 */ bc1fl .L7F02F594 -/* 06407C 7F02F54C 8FBF0024 */ lw $ra, 0x24($sp) -/* 064080 7F02F550 44819000 */ mtc1 $at, $f18 -/* 064084 7F02F554 02002025 */ move $a0, $s0 -/* 064088 7F02F558 3C053F80 */ lui $a1, 0x3f80 -/* 06408C 7F02F55C 4612103E */ c.le.s $f2, $f18 -/* 064090 7F02F560 3C063FCC */ lui $a2, (0x3FCCCCCD >> 16) # lui $a2, 0x3fcc -/* 064094 7F02F564 4502000B */ bc1fl .L7F02F594 -/* 064098 7F02F568 8FBF0024 */ lw $ra, 0x24($sp) -/* 06409C 7F02F56C 0FC08ED7 */ jal sub_GAME_7F023B5C -/* 0640A0 7F02F570 34C6CCCD */ ori $a2, (0x3FCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0640A4 7F02F574 44802000 */ mtc1 $zero, $f4 -/* 0640A8 7F02F578 44070000 */ mfc1 $a3, $f0 -/* 0640AC 7F02F57C 02002025 */ move $a0, $s0 -/* 0640B0 7F02F580 24050001 */ li $a1, 1 -/* 0640B4 7F02F584 3C0642DC */ lui $a2, 0x42dc -/* 0640B8 7F02F588 0FC0B0AC */ jal sub_GAME_7F02C2B0 -/* 0640BC 7F02F58C E7A40010 */ swc1 $f4, 0x10($sp) -/* 0640C0 7F02F590 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02F594: -/* 0640C4 7F02F594 8FB00020 */ lw $s0, 0x20($sp) -/* 0640C8 7F02F598 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0640CC 7F02F59C 03E00008 */ jr $ra -/* 0640D0 7F02F5A0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02F5A4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02F5A4 -/* 0640D4 7F02F5A4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0640D8 7F02F5A8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0640DC 7F02F5AC AFB00020 */ sw $s0, 0x20($sp) -/* 0640E0 7F02F5B0 AFA40030 */ sw $a0, 0x30($sp) -/* 0640E4 7F02F5B4 8C90001C */ lw $s0, 0x1c($a0) -/* 0640E8 7F02F5B8 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 0640EC 7F02F5BC 02002025 */ move $a0, $s0 -/* 0640F0 7F02F5C0 3C0142AC */ li $at, 0x42AC0000 # 86.000000 -/* 0640F4 7F02F5C4 44812000 */ mtc1 $at, $f4 -/* 0640F8 7F02F5C8 46000086 */ mov.s $f2, $f0 -/* 0640FC 7F02F5CC 02002025 */ move $a0, $s0 -/* 064100 7F02F5D0 4604003C */ c.lt.s $f0, $f4 -/* 064104 7F02F5D4 00000000 */ nop -/* 064108 7F02F5D8 4502001D */ bc1fl .L7F02F650 -/* 06410C 7F02F5DC 02002025 */ move $a0, $s0 -/* 064110 7F02F5E0 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 064114 7F02F5E4 E7A20028 */ swc1 $f2, 0x28($sp) -/* 064118 7F02F5E8 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 06411C 7F02F5EC 4602003E */ c.le.s $f0, $f2 -/* 064120 7F02F5F0 00000000 */ nop -/* 064124 7F02F5F4 45020016 */ bc1fl .L7F02F650 -/* 064128 7F02F5F8 02002025 */ move $a0, $s0 -/* 06412C 7F02F5FC 0FC1BD84 */ jal sub_GAME_7F06F610 -/* 064130 7F02F600 02002025 */ move $a0, $s0 -/* 064134 7F02F604 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 064138 7F02F608 3C0141C0 */ li $at, 0x41C00000 # 24.000000 -/* 06413C 7F02F60C 44813000 */ mtc1 $at, $f6 -/* 064140 7F02F610 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 064144 7F02F614 3C180000 */ lui $t8, %hi(0x00006254) # $t8, 0 -/* 064148 7F02F618 27186254 */ addiu $t8, %lo(0x00006254) # addiu $t8, $t8, 0x6254 -/* 06414C 7F02F61C 02002025 */ move $a0, $s0 -/* 064150 7F02F620 00003025 */ move $a2, $zero -/* 064154 7F02F624 3C0742AC */ lui $a3, 0x42ac -/* 064158 7F02F628 E7A00010 */ swc1 $f0, 0x10($sp) -/* 06415C 7F02F62C 01F82821 */ addu $a1, $t7, $t8 -/* 064160 7F02F630 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 064164 7F02F634 E7A60014 */ swc1 $f6, 0x14($sp) -/* 064168 7F02F638 02002025 */ move $a0, $s0 -/* 06416C 7F02F63C 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 064170 7F02F640 3C054303 */ lui $a1, 0x4303 -/* 064174 7F02F644 1000000C */ b .L7F02F678 -/* 064178 7F02F648 8FBF0024 */ lw $ra, 0x24($sp) -/* 06417C 7F02F64C 02002025 */ move $a0, $s0 -.L7F02F650: -/* 064180 7F02F650 0FC1BD71 */ jal sub_GAME_7F06F5C4 -/* 064184 7F02F654 E7A20028 */ swc1 $f2, 0x28($sp) -/* 064188 7F02F658 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 06418C 7F02F65C 4602003E */ c.le.s $f0, $f2 -/* 064190 7F02F660 00000000 */ nop -/* 064194 7F02F664 45020004 */ bc1fl .L7F02F678 -/* 064198 7F02F668 8FBF0024 */ lw $ra, 0x24($sp) -/* 06419C 7F02F66C 0FC08F2E */ jal sub_GAME_7F023CB8 -/* 0641A0 7F02F670 8FA40030 */ lw $a0, 0x30($sp) -/* 0641A4 7F02F674 8FBF0024 */ lw $ra, 0x24($sp) -.L7F02F678: -/* 0641A8 7F02F678 8FB00020 */ lw $s0, 0x20($sp) -/* 0641AC 7F02F67C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0641B0 7F02F680 03E00008 */ jr $ra -/* 0641B4 7F02F684 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02F688(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02F688 -/* 0641B8 7F02F688 03E00008 */ jr $ra -/* 0641BC 7F02F68C AFA40000 */ sw $a0, ($sp) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02F690(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051FD0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051FD4 -.word 0x40490fdb /*3.1415927*/ -glabel D_80051FD8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80051FDC -.word 0x3e9930a7 /*0.29919931*/ -glabel D_80051FE0 -.word 0x3c751aa5 /*0.014959966*/ -glabel D_80051FE4 -.word 0x3ec90fdb /*0.39269909*/ -glabel D_80051FE8 -.word 0x3ca0d97c /*0.019634955*/ -glabel D_80051FEC -.word 0x3fa0d97c /*1.2566371*/ -glabel D_80051FF0 -.word 0x3dc90fdb /*0.098174773*/ -glabel D_80051FF4 -.word 0x3e490fdb /*0.19634955*/ -glabel D_80051FF8 -.word 0x3c751aa5 /*0.014959966*/ -glabel D_80051FFC -.word 0x3ec90fdb /*0.39269909*/ -glabel D_80052000 -.word 0x3c20d97c /*0.0098174773*/ -glabel D_80052004 -.word 0x3fa0d97c /*1.2566371*/ -glabel D_80052008 -.word 0x3d490fdb /*0.049087387*/ -glabel D_8005200C -.word 0x3e00adfd /*0.12566371*/ -glabel D_80052010 -.word 0x3c20d97c /*0.0098174773*/ -.text -glabel sub_GAME_7F02F690 -/* 0641C0 7F02F690 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0641C4 7F02F694 AFBF001C */ sw $ra, 0x1c($sp) -/* 0641C8 7F02F698 AFA60058 */ sw $a2, 0x58($sp) -/* 0641CC 7F02F69C AFA7005C */ sw $a3, 0x5c($sp) -/* 0641D0 7F02F6A0 8C8E001C */ lw $t6, 0x1c($a0) -/* 0641D4 7F02F6A4 8C820018 */ lw $v0, 0x18($a0) -/* 0641D8 7F02F6A8 AFAE0048 */ sw $t6, 0x48($sp) -/* 0641DC 7F02F6AC C4A40000 */ lwc1 $f4, ($a1) -/* 0641E0 7F02F6B0 C4A80008 */ lwc1 $f8, 8($a1) -/* 0641E4 7F02F6B4 C4460008 */ lwc1 $f6, 8($v0) -/* 0641E8 7F02F6B8 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0641EC 7F02F6BC 46062301 */ sub.s $f12, $f4, $f6 -/* 0641F0 7F02F6C0 0FC16A8C */ jal convert_angle_using_inverse -/* 0641F4 7F02F6C4 460A4381 */ sub.s $f14, $f8, $f10 -/* 0641F8 7F02F6C8 8FA40048 */ lw $a0, 0x48($sp) -/* 0641FC 7F02F6CC 0FC1B320 */ jal getsubroty -/* 064200 7F02F6D0 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 064204 7F02F6D4 C7AE003C */ lwc1 $f14, 0x3c($sp) -/* 064208 7F02F6D8 E7A00038 */ swc1 $f0, 0x38($sp) -/* 06420C 7F02F6DC 00001825 */ move $v1, $zero -/* 064210 7F02F6E0 4600703C */ c.lt.s $f14, $f0 -/* 064214 7F02F6E4 3C018005 */ lui $at, %hi(D_80051FD0) -/* 064218 7F02F6E8 46007301 */ sub.s $f12, $f14, $f0 -/* 06421C 7F02F6EC 8FA20058 */ lw $v0, 0x58($sp) -/* 064220 7F02F6F0 8FAF0048 */ lw $t7, 0x48($sp) -/* 064224 7F02F6F4 45000003 */ bc1f .L7F02F704 -/* 064228 7F02F6F8 46006086 */ mov.s $f2, $f12 -/* 06422C 7F02F6FC C4301FD0 */ lwc1 $f16, %lo(D_80051FD0)($at) -/* 064230 7F02F700 46106080 */ add.s $f2, $f12, $f16 -.L7F02F704: -/* 064234 7F02F704 3C018005 */ lui $at, %hi(D_80051FD4) -/* 064238 7F02F708 C4321FD4 */ lwc1 $f18, %lo(D_80051FD4)($at) -/* 06423C 7F02F70C 46001006 */ mov.s $f0, $f2 -/* 064240 7F02F710 3C018005 */ lui $at, %hi(D_80051FD8) -/* 064244 7F02F714 4602903C */ c.lt.s $f18, $f2 -/* 064248 7F02F718 00000000 */ nop -/* 06424C 7F02F71C 45020004 */ bc1fl .L7F02F730 -/* 064250 7F02F720 24010002 */ li $at, 2 -/* 064254 7F02F724 C4241FD8 */ lwc1 $f4, %lo(D_80051FD8)($at) -/* 064258 7F02F728 46022001 */ sub.s $f0, $f4, $f2 -/* 06425C 7F02F72C 24010002 */ li $at, 2 -.L7F02F730: -/* 064260 7F02F730 14410005 */ bne $v0, $at, .L7F02F748 -/* 064264 7F02F734 3C018005 */ lui $at, %hi(D_80051FDC) -/* 064268 7F02F738 C42C1FDC */ lwc1 $f12, %lo(D_80051FDC)($at) -/* 06426C 7F02F73C 3C018005 */ lui $at, %hi(D_80051FE0) -/* 064270 7F02F740 10000030 */ b .L7F02F804 -/* 064274 7F02F744 C4201FE0 */ lwc1 $f0, %lo(D_80051FE0)($at) -.L7F02F748: -/* 064278 7F02F748 24010001 */ li $at, 1 -/* 06427C 7F02F74C 14410017 */ bne $v0, $at, .L7F02F7AC -/* 064280 7F02F750 3C018005 */ lui $at, %hi(D_80051FE4) -/* 064284 7F02F754 C4261FE4 */ lwc1 $f6, %lo(D_80051FE4)($at) -/* 064288 7F02F758 3C018005 */ lui $at, %hi(D_80051FEC) -/* 06428C 7F02F75C 4606003C */ c.lt.s $f0, $f6 -/* 064290 7F02F760 00000000 */ nop -/* 064294 7F02F764 45000004 */ bc1f .L7F02F778 -/* 064298 7F02F768 00000000 */ nop -/* 06429C 7F02F76C 3C018005 */ lui $at, %hi(D_80051FE8) -/* 0642A0 7F02F770 1000000B */ b .L7F02F7A0 -/* 0642A4 7F02F774 C42C1FE8 */ lwc1 $f12, %lo(D_80051FE8)($at) -.L7F02F778: -/* 0642A8 7F02F778 C4281FEC */ lwc1 $f8, %lo(D_80051FEC)($at) -/* 0642AC 7F02F77C 3C018005 */ lui $at, %hi(D_80051FF4) -/* 0642B0 7F02F780 4608003C */ c.lt.s $f0, $f8 -/* 0642B4 7F02F784 00000000 */ nop -/* 0642B8 7F02F788 45000004 */ bc1f .L7F02F79C -/* 0642BC 7F02F78C 00000000 */ nop -/* 0642C0 7F02F790 3C018005 */ lui $at, %hi(D_80051FF0) -/* 0642C4 7F02F794 10000002 */ b .L7F02F7A0 -/* 0642C8 7F02F798 C42C1FF0 */ lwc1 $f12, %lo(D_80051FF0)($at) -.L7F02F79C: -/* 0642CC 7F02F79C C42C1FF4 */ lwc1 $f12, %lo(D_80051FF4)($at) -.L7F02F7A0: -/* 0642D0 7F02F7A0 3C018005 */ lui $at, %hi(D_80051FF8) -/* 0642D4 7F02F7A4 10000017 */ b .L7F02F804 -/* 0642D8 7F02F7A8 C4201FF8 */ lwc1 $f0, %lo(D_80051FF8)($at) -.L7F02F7AC: -/* 0642DC 7F02F7AC 3C018005 */ lui $at, %hi(D_80051FFC) -/* 0642E0 7F02F7B0 C42A1FFC */ lwc1 $f10, %lo(D_80051FFC)($at) -/* 0642E4 7F02F7B4 3C018005 */ lui $at, %hi(D_80052004) -/* 0642E8 7F02F7B8 460A003C */ c.lt.s $f0, $f10 -/* 0642EC 7F02F7BC 00000000 */ nop -/* 0642F0 7F02F7C0 45000004 */ bc1f .L7F02F7D4 -/* 0642F4 7F02F7C4 00000000 */ nop -/* 0642F8 7F02F7C8 3C018005 */ lui $at, %hi(D_80052000) -/* 0642FC 7F02F7CC 1000000B */ b .L7F02F7FC -/* 064300 7F02F7D0 C42C2000 */ lwc1 $f12, %lo(D_80052000)($at) -.L7F02F7D4: -/* 064304 7F02F7D4 C4302004 */ lwc1 $f16, %lo(D_80052004)($at) -/* 064308 7F02F7D8 3C018005 */ lui $at, %hi(D_8005200C) -/* 06430C 7F02F7DC 4610003C */ c.lt.s $f0, $f16 -/* 064310 7F02F7E0 00000000 */ nop -/* 064314 7F02F7E4 45000004 */ bc1f .L7F02F7F8 -/* 064318 7F02F7E8 00000000 */ nop -/* 06431C 7F02F7EC 3C018005 */ lui $at, %hi(D_80052008) -/* 064320 7F02F7F0 10000002 */ b .L7F02F7FC -/* 064324 7F02F7F4 C42C2008 */ lwc1 $f12, %lo(D_80052008)($at) -.L7F02F7F8: -/* 064328 7F02F7F8 C42C200C */ lwc1 $f12, %lo(D_8005200C)($at) -.L7F02F7FC: -/* 06432C 7F02F7FC 3C018005 */ lui $at, %hi(D_80052010) -/* 064330 7F02F800 C4202010 */ lwc1 $f0, %lo(D_80052010)($at) -.L7F02F804: -/* 064334 7F02F804 C5E200A4 */ lwc1 $f2, 0xa4($t7) -/* 064338 7F02F808 44057000 */ mfc1 $a1, $f14 -/* 06433C 7F02F80C E7AE003C */ swc1 $f14, 0x3c($sp) -/* 064340 7F02F810 46026302 */ mul.s $f12, $f12, $f2 -/* 064344 7F02F814 AFA30024 */ sw $v1, 0x24($sp) -/* 064348 7F02F818 27A40038 */ addiu $a0, $sp, 0x38 -/* 06434C 7F02F81C 46020002 */ mul.s $f0, $f0, $f2 -/* 064350 7F02F820 8FA6005C */ lw $a2, 0x5c($sp) -/* 064354 7F02F824 E7AC0014 */ swc1 $f12, 0x14($sp) -/* 064358 7F02F828 46000480 */ add.s $f18, $f0, $f0 -/* 06435C 7F02F82C 44070000 */ mfc1 $a3, $f0 -/* 064360 7F02F830 0FC10C43 */ jal sub_GAME_7F04310C -/* 064364 7F02F834 E7B20010 */ swc1 $f18, 0x10($sp) -/* 064368 7F02F838 C7AE003C */ lwc1 $f14, 0x3c($sp) -/* 06436C 7F02F83C C7A40038 */ lwc1 $f4, 0x38($sp) -/* 064370 7F02F840 8FA30024 */ lw $v1, 0x24($sp) -/* 064374 7F02F844 8FB8005C */ lw $t8, 0x5c($sp) -/* 064378 7F02F848 460E2032 */ c.eq.s $f4, $f14 -/* 06437C 7F02F84C 00000000 */ nop -/* 064380 7F02F850 45020005 */ bc1fl .L7F02F868 -/* 064384 7F02F854 8FA40048 */ lw $a0, 0x48($sp) -/* 064388 7F02F858 44803000 */ mtc1 $zero, $f6 -/* 06438C 7F02F85C 24030001 */ li $v1, 1 -/* 064390 7F02F860 E7060000 */ swc1 $f6, ($t8) -/* 064394 7F02F864 8FA40048 */ lw $a0, 0x48($sp) -.L7F02F868: -/* 064398 7F02F868 8FA50038 */ lw $a1, 0x38($sp) -/* 06439C 7F02F86C 0FC1B34F */ jal setsubroty -/* 0643A0 7F02F870 AFA30024 */ sw $v1, 0x24($sp) -/* 0643A4 7F02F874 8FBF001C */ lw $ra, 0x1c($sp) -/* 0643A8 7F02F878 8FA20024 */ lw $v0, 0x24($sp) -/* 0643AC 7F02F87C 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0643B0 7F02F880 03E00008 */ jr $ra -/* 0643B4 7F02F884 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02F888(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02F888 -/* 0643B8 7F02F888 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0643BC 7F02F88C AFBF002C */ sw $ra, 0x2c($sp) -/* 0643C0 7F02F890 AFB00020 */ sw $s0, 0x20($sp) -/* 0643C4 7F02F894 AFB20028 */ sw $s2, 0x28($sp) -/* 0643C8 7F02F898 AFB10024 */ sw $s1, 0x24($sp) -/* 0643CC 7F02F89C 00808025 */ move $s0, $a0 -/* 0643D0 7F02F8A0 8C91001C */ lw $s1, 0x1c($a0) -/* 0643D4 7F02F8A4 0FC225E6 */ jal get_curplayer_positiondata -/* 0643D8 7F02F8A8 8C920018 */ lw $s2, 0x18($a0) -/* 0643DC 7F02F8AC 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 0643E0 7F02F8B0 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 0643E4 7F02F8B4 8E0E0030 */ lw $t6, 0x30($s0) -/* 0643E8 7F02F8B8 3C048005 */ lui $a0, %hi(global_timer) -/* 0643EC 7F02F8BC 82080009 */ lb $t0, 9($s0) -/* 0643F0 7F02F8C0 01CFC021 */ addu $t8, $t6, $t7 -/* 0643F4 7F02F8C4 2484837C */ addiu $a0, %lo(global_timer) # addiu $a0, $a0, -0x7c84 -/* 0643F8 7F02F8C8 AE180030 */ sw $t8, 0x30($s0) -/* 0643FC 7F02F8CC 8C990000 */ lw $t9, ($a0) -/* 064400 7F02F8D0 24010001 */ li $at, 1 -/* 064404 7F02F8D4 00401825 */ move $v1, $v0 -/* 064408 7F02F8D8 1101000B */ beq $t0, $at, .L7F02F908 -/* 06440C 7F02F8DC AE1900C8 */ sw $t9, 0xc8($s0) -/* 064410 7F02F8E0 8C8A0000 */ lw $t2, ($a0) -/* 064414 7F02F8E4 8E0900CC */ lw $t1, 0xcc($s0) -/* 064418 7F02F8E8 254BFFC4 */ addiu $t3, $t2, -0x3c -/* 06441C 7F02F8EC 012B082A */ slt $at, $t1, $t3 -/* 064420 7F02F8F0 14200005 */ bnez $at, .L7F02F908 -/* 064424 7F02F8F4 00000000 */ nop -/* 064428 7F02F8F8 8E0C0034 */ lw $t4, 0x34($s0) -/* 06442C 7F02F8FC 0198082A */ slt $at, $t4, $t8 -/* 064430 7F02F900 50200035 */ beql $at, $zero, .L7F02F9D8 -/* 064434 7F02F904 C4520008 */ lwc1 $f18, 8($v0) -.L7F02F908: -/* 064438 7F02F908 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 06443C 7F02F90C 02202025 */ move $a0, $s1 -/* 064440 7F02F910 E7A00034 */ swc1 $f0, 0x34($sp) -/* 064444 7F02F914 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 064448 7F02F918 02202025 */ move $a0, $s1 -/* 06444C 7F02F91C 944E0004 */ lhu $t6, 4($v0) -/* 064450 7F02F920 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 064454 7F02F924 02202025 */ move $a0, $s1 -/* 064458 7F02F928 448E2000 */ mtc1 $t6, $f4 -/* 06445C 7F02F92C 24050000 */ li $a1, 0 -/* 064460 7F02F930 05C10004 */ bgez $t6, .L7F02F944 -/* 064464 7F02F934 468021A0 */ cvt.s.w $f6, $f4 -/* 064468 7F02F938 44814000 */ mtc1 $at, $f8 -/* 06446C 7F02F93C 00000000 */ nop -/* 064470 7F02F940 46083180 */ add.s $f6, $f6, $f8 -.L7F02F944: -/* 064474 7F02F944 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 064478 7F02F948 44815000 */ mtc1 $at, $f10 -/* 06447C 7F02F94C C7B20034 */ lwc1 $f18, 0x34($sp) -/* 064480 7F02F950 460A3402 */ mul.s $f16, $f6, $f10 -/* 064484 7F02F954 4612803C */ c.lt.s $f16, $f18 -/* 064488 7F02F958 00000000 */ nop -/* 06448C 7F02F95C 45000005 */ bc1f .L7F02F974 -/* 064490 7F02F960 00000000 */ nop -/* 064494 7F02F964 0FC1BFA4 */ jal sub_GAME_7F06FE90 -/* 064498 7F02F968 3C064180 */ lui $a2, 0x4180 -/* 06449C 7F02F96C 10000013 */ b .L7F02F9BC -/* 0644A0 7F02F970 00000000 */ nop -.L7F02F974: -/* 0644A4 7F02F974 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 0644A8 7F02F978 02202025 */ move $a0, $s1 -/* 0644AC 7F02F97C 944F0004 */ lhu $t7, 4($v0) -/* 0644B0 7F02F980 02202025 */ move $a0, $s1 -/* 0644B4 7F02F984 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0644B8 7F02F988 448F2000 */ mtc1 $t7, $f4 -/* 0644BC 7F02F98C 05E10004 */ bgez $t7, .L7F02F9A0 -/* 0644C0 7F02F990 46802220 */ cvt.s.w $f8, $f4 -/* 0644C4 7F02F994 44813000 */ mtc1 $at, $f6 -/* 0644C8 7F02F998 00000000 */ nop -/* 0644CC 7F02F99C 46064200 */ add.s $f8, $f8, $f6 -.L7F02F9A0: -/* 0644D0 7F02F9A0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0644D4 7F02F9A4 44815000 */ mtc1 $at, $f10 -/* 0644D8 7F02F9A8 3C064180 */ lui $a2, 0x4180 -/* 0644DC 7F02F9AC 460A4402 */ mul.s $f16, $f8, $f10 -/* 0644E0 7F02F9B0 44058000 */ mfc1 $a1, $f16 -/* 0644E4 7F02F9B4 0FC1BFA4 */ jal sub_GAME_7F06FE90 -/* 0644E8 7F02F9B8 00000000 */ nop -.L7F02F9BC: -/* 0644EC 7F02F9BC 0FC0A6EC */ jal sub_GAME_7F029BB0 -/* 0644F0 7F02F9C0 02002025 */ move $a0, $s0 -/* 0644F4 7F02F9C4 0FC08F92 */ jal sub_GAME_7F023E48 -/* 0644F8 7F02F9C8 02002025 */ move $a0, $s0 -/* 0644FC 7F02F9CC 10000094 */ b .L7F02FC20 -/* 064500 7F02F9D0 8FBF002C */ lw $ra, 0x2c($sp) -/* 064504 7F02F9D4 C4520008 */ lwc1 $f18, 8($v0) -.L7F02F9D8: -/* 064508 7F02F9D8 C6440008 */ lwc1 $f4, 8($s2) -/* 06450C 7F02F9DC 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 064510 7F02F9E0 44816000 */ mtc1 $at, $f12 -/* 064514 7F02F9E4 46049001 */ sub.s $f0, $f18, $f4 -/* 064518 7F02F9E8 C4460010 */ lwc1 $f6, 0x10($v0) -/* 06451C 7F02F9EC C6480010 */ lwc1 $f8, 0x10($s2) -/* 064520 7F02F9F0 3C01C396 */ li $at, 0xC3960000 # -300.000000 -/* 064524 7F02F9F4 460C003C */ c.lt.s $f0, $f12 -/* 064528 7F02F9F8 02002025 */ move $a0, $s0 -/* 06452C 7F02F9FC 24650008 */ addiu $a1, $v1, 8 -/* 064530 7F02FA00 00003025 */ move $a2, $zero -/* 064534 7F02FA04 45000015 */ bc1f .L7F02FA5C -/* 064538 7F02FA08 46083081 */ sub.s $f2, $f6, $f8 -/* 06453C 7F02FA0C 44817000 */ mtc1 $at, $f14 -/* 064540 7F02FA10 00000000 */ nop -/* 064544 7F02FA14 4600703C */ c.lt.s $f14, $f0 -/* 064548 7F02FA18 00000000 */ nop -/* 06454C 7F02FA1C 4500000F */ bc1f .L7F02FA5C -/* 064550 7F02FA20 00000000 */ nop -/* 064554 7F02FA24 460C103C */ c.lt.s $f2, $f12 -/* 064558 7F02FA28 00000000 */ nop -/* 06455C 7F02FA2C 4500000B */ bc1f .L7F02FA5C -/* 064560 7F02FA30 00000000 */ nop -/* 064564 7F02FA34 4602703C */ c.lt.s $f14, $f2 -/* 064568 7F02FA38 00000000 */ nop -/* 06456C 7F02FA3C 45000007 */ bc1f .L7F02FA5C -/* 064570 7F02FA40 00000000 */ nop -/* 064574 7F02FA44 0FC0A6EC */ jal sub_GAME_7F029BB0 -/* 064578 7F02FA48 02002025 */ move $a0, $s0 -/* 06457C 7F02FA4C 0FC08F92 */ jal sub_GAME_7F023E48 -/* 064580 7F02FA50 02002025 */ move $a0, $s0 -/* 064584 7F02FA54 10000072 */ b .L7F02FC20 -/* 064588 7F02FA58 8FBF002C */ lw $ra, 0x2c($sp) -.L7F02FA5C: -/* 06458C 7F02FA5C 0FC0BDA4 */ jal sub_GAME_7F02F690 -/* 064590 7F02FA60 26070054 */ addiu $a3, $s0, 0x54 -/* 064594 7F02FA64 10400002 */ beqz $v0, .L7F02FA70 -/* 064598 7F02FA68 24180001 */ li $t8, 1 -/* 06459C 7F02FA6C AE180038 */ sw $t8, 0x38($s0) -.L7F02FA70: -/* 0645A0 7F02FA70 8E190030 */ lw $t9, 0x30($s0) -/* 0645A4 7F02FA74 02002025 */ move $a0, $s0 -/* 0645A8 7F02FA78 2B210015 */ slti $at, $t9, 0x15 -/* 0645AC 7F02FA7C 14200009 */ bnez $at, .L7F02FAA4 -/* 0645B0 7F02FA80 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0645B4 7F02FA84 44815000 */ mtc1 $at, $f10 -/* 0645B8 7F02FA88 8E05003C */ lw $a1, 0x3c($s0) -/* 0645BC 7F02FA8C 82060049 */ lb $a2, 0x49($s0) -/* 0645C0 7F02FA90 82070048 */ lb $a3, 0x48($s0) -/* 0645C4 7F02FA94 0FC0B130 */ jal sub_GAME_7F02C4C0 -/* 0645C8 7F02FA98 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0645CC 7F02FA9C 10000004 */ b .L7F02FAB0 -/* 0645D0 7F02FAA0 8E080038 */ lw $t0, 0x38($s0) -.L7F02FAA4: -/* 0645D4 7F02FAA4 0FC0B43E */ jal sub_GAME_7F02D0F8 -/* 0645D8 7F02FAA8 02002025 */ move $a0, $s0 -/* 0645DC 7F02FAAC 8E080038 */ lw $t0, 0x38($s0) -.L7F02FAB0: -/* 0645E0 7F02FAB0 02002025 */ move $a0, $s0 -/* 0645E4 7F02FAB4 24050001 */ li $a1, 1 -/* 0645E8 7F02FAB8 11000052 */ beqz $t0, .L7F02FC04 -/* 0645EC 7F02FABC 00000000 */ nop -/* 0645F0 7F02FAC0 8E0A0030 */ lw $t2, 0x30($s0) -/* 0645F4 7F02FAC4 00008825 */ move $s1, $zero -/* 0645F8 7F02FAC8 02009025 */ move $s2, $s0 -/* 0645FC 7F02FACC 2941001F */ slti $at, $t2, 0x1f -/* 064600 7F02FAD0 1420004C */ bnez $at, .L7F02FC04 -/* 064604 7F02FAD4 00000000 */ nop -.L7F02FAD8: -/* 064608 7F02FAD8 82490048 */ lb $t1, 0x48($s2) -/* 06460C 7F02FADC 02002025 */ move $a0, $s0 -/* 064610 7F02FAE0 02202825 */ move $a1, $s1 -/* 064614 7F02FAE4 1120003F */ beqz $t1, .L7F02FBE4 -/* 064618 7F02FAE8 00000000 */ nop -/* 06461C 7F02FAEC 824B004A */ lb $t3, 0x4a($s2) -/* 064620 7F02FAF0 02002025 */ move $a0, $s0 -/* 064624 7F02FAF4 02202825 */ move $a1, $s1 -/* 064628 7F02FAF8 55600006 */ bnezl $t3, .L7F02FB14 -/* 06462C 7F02FAFC 8E020030 */ lw $v0, 0x30($s0) -/* 064630 7F02FB00 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 064634 7F02FB04 24060001 */ li $a2, 1 -/* 064638 7F02FB08 10000039 */ b .L7F02FBF0 -/* 06463C 7F02FB0C 26310001 */ addiu $s1, $s1, 1 -/* 064640 7F02FB10 8E020030 */ lw $v0, 0x30($s0) -.L7F02FB14: -/* 064644 7F02FB14 8E0C0040 */ lw $t4, 0x40($s0) -/* 064648 7F02FB18 02002025 */ move $a0, $s0 -/* 06464C 7F02FB1C 02202825 */ move $a1, $s1 -/* 064650 7F02FB20 0182082A */ slt $at, $t4, $v0 -/* 064654 7F02FB24 1020002B */ beqz $at, .L7F02FBD4 -/* 064658 7F02FB28 00000000 */ nop -/* 06465C 7F02FB2C 8E030044 */ lw $v1, 0x44($s0) -/* 064660 7F02FB30 00117823 */ negu $t7, $s1 -/* 064664 7F02FB34 020FC021 */ addu $t8, $s0, $t7 -/* 064668 7F02FB38 12230004 */ beq $s1, $v1, .L7F02FB4C -/* 06466C 7F02FB3C 02036821 */ addu $t5, $s0, $v1 -/* 064670 7F02FB40 81AE004A */ lb $t6, 0x4a($t5) -/* 064674 7F02FB44 15C00023 */ bnez $t6, .L7F02FBD4 -/* 064678 7F02FB48 00000000 */ nop -.L7F02FB4C: -/* 06467C 7F02FB4C AE020040 */ sw $v0, 0x40($s0) -/* 064680 7F02FB50 8319004B */ lb $t9, 0x4b($t8) -/* 064684 7F02FB54 240A0001 */ li $t2, 1 -/* 064688 7F02FB58 02002025 */ move $a0, $s0 -/* 06468C 7F02FB5C 5320000C */ beql $t9, $zero, .L7F02FB90 -/* 064690 7F02FB60 824D004C */ lb $t5, 0x4c($s2) -/* 064694 7F02FB64 8248004C */ lb $t0, 0x4c($s2) -/* 064698 7F02FB68 2449005A */ addiu $t1, $v0, 0x5a -/* 06469C 7F02FB6C 51000004 */ beql $t0, $zero, .L7F02FB80 -/* 0646A0 7F02FB70 8E0B0040 */ lw $t3, 0x40($s0) -/* 0646A4 7F02FB74 1000000F */ b .L7F02FBB4 -/* 0646A8 7F02FB78 AE090040 */ sw $t1, 0x40($s0) -/* 0646AC 7F02FB7C 8E0B0040 */ lw $t3, 0x40($s0) -.L7F02FB80: -/* 0646B0 7F02FB80 256C0014 */ addiu $t4, $t3, 0x14 -/* 0646B4 7F02FB84 1000000B */ b .L7F02FBB4 -/* 0646B8 7F02FB88 AE0C0040 */ sw $t4, 0x40($s0) -/* 0646BC 7F02FB8C 824D004C */ lb $t5, 0x4c($s2) -.L7F02FB90: -/* 0646C0 7F02FB90 51A00006 */ beql $t5, $zero, .L7F02FBAC -/* 0646C4 7F02FB94 8E180040 */ lw $t8, 0x40($s0) -/* 0646C8 7F02FB98 8E0E0040 */ lw $t6, 0x40($s0) -/* 0646CC 7F02FB9C 25CF00B4 */ addiu $t7, $t6, 0xb4 -/* 0646D0 7F02FBA0 10000004 */ b .L7F02FBB4 -/* 0646D4 7F02FBA4 AE0F0040 */ sw $t7, 0x40($s0) -/* 0646D8 7F02FBA8 8E180040 */ lw $t8, 0x40($s0) -.L7F02FBAC: -/* 0646DC 7F02FBAC 27190028 */ addiu $t9, $t8, 0x28 -/* 0646E0 7F02FBB0 AE190040 */ sw $t9, 0x40($s0) -.L7F02FBB4: -/* 0646E4 7F02FBB4 8E080044 */ lw $t0, 0x44($s0) -/* 0646E8 7F02FBB8 02202825 */ move $a1, $s1 -/* 0646EC 7F02FBBC 24060001 */ li $a2, 1 -/* 0646F0 7F02FBC0 01484823 */ subu $t1, $t2, $t0 -/* 0646F4 7F02FBC4 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 0646F8 7F02FBC8 AE090044 */ sw $t1, 0x44($s0) -/* 0646FC 7F02FBCC 10000008 */ b .L7F02FBF0 -/* 064700 7F02FBD0 26310001 */ addiu $s1, $s1, 1 -.L7F02FBD4: -/* 064704 7F02FBD4 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 064708 7F02FBD8 00003025 */ move $a2, $zero -/* 06470C 7F02FBDC 10000004 */ b .L7F02FBF0 -/* 064710 7F02FBE0 26310001 */ addiu $s1, $s1, 1 -.L7F02FBE4: -/* 064714 7F02FBE4 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 064718 7F02FBE8 00003025 */ move $a2, $zero -/* 06471C 7F02FBEC 26310001 */ addiu $s1, $s1, 1 -.L7F02FBF0: -/* 064720 7F02FBF0 24010002 */ li $at, 2 -/* 064724 7F02FBF4 1621FFB8 */ bne $s1, $at, .L7F02FAD8 -/* 064728 7F02FBF8 26520001 */ addiu $s2, $s2, 1 -/* 06472C 7F02FBFC 10000008 */ b .L7F02FC20 -/* 064730 7F02FC00 8FBF002C */ lw $ra, 0x2c($sp) -.L7F02FC04: -/* 064734 7F02FC04 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 064738 7F02FC08 00003025 */ move $a2, $zero -/* 06473C 7F02FC0C 02002025 */ move $a0, $s0 -/* 064740 7F02FC10 00002825 */ move $a1, $zero -/* 064744 7F02FC14 0FC0B471 */ jal sub_GAME_7F02D1C4 -/* 064748 7F02FC18 00003025 */ move $a2, $zero -/* 06474C 7F02FC1C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F02FC20: -/* 064750 7F02FC20 8FB00020 */ lw $s0, 0x20($sp) -/* 064754 7F02FC24 8FB10024 */ lw $s1, 0x24($sp) -/* 064758 7F02FC28 8FB20028 */ lw $s2, 0x28($sp) -/* 06475C 7F02FC2C 03E00008 */ jr $ra -/* 064760 7F02FC30 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02FC34(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02FC34 -/* 064764 7F02FC34 C4C40000 */ lwc1 $f4, ($a2) -/* 064768 7F02FC38 C4860000 */ lwc1 $f6, ($a0) -/* 06476C 7F02FC3C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 064770 7F02FC40 44808000 */ mtc1 $zero, $f16 -/* 064774 7F02FC44 46062201 */ sub.s $f8, $f4, $f6 -/* 064778 7F02FC48 44876000 */ mtc1 $a3, $f12 -/* 06477C 7F02FC4C E7A80004 */ swc1 $f8, 4($sp) -/* 064780 7F02FC50 C4840008 */ lwc1 $f4, 8($a0) -/* 064784 7F02FC54 C4CA0008 */ lwc1 $f10, 8($a2) -/* 064788 7F02FC58 46045181 */ sub.s $f6, $f10, $f4 -/* 06478C 7F02FC5C E7A6000C */ swc1 $f6, 0xc($sp) -/* 064790 7F02FC60 C4A00000 */ lwc1 $f0, ($a1) -/* 064794 7F02FC64 C7AA000C */ lwc1 $f10, 0xc($sp) -/* 064798 7F02FC68 46008032 */ c.eq.s $f16, $f0 -/* 06479C 7F02FC6C 00000000 */ nop -/* 0647A0 7F02FC70 45020015 */ bc1fl .L7F02FCC8 -/* 0647A4 7F02FC74 C4A20008 */ lwc1 $f2, 8($a1) -/* 0647A8 7F02FC78 C4A80008 */ lwc1 $f8, 8($a1) -/* 0647AC 7F02FC7C C7A2000C */ lwc1 $f2, 0xc($sp) -/* 0647B0 7F02FC80 46088032 */ c.eq.s $f16, $f8 -/* 0647B4 7F02FC84 00000000 */ nop -/* 0647B8 7F02FC88 4502000F */ bc1fl .L7F02FCC8 -/* 0647BC 7F02FC8C C4A20008 */ lwc1 $f2, 8($a1) -/* 0647C0 7F02FC90 46021282 */ mul.s $f10, $f2, $f2 -/* 0647C4 7F02FC94 C7A00004 */ lwc1 $f0, 4($sp) -/* 0647C8 7F02FC98 00001025 */ move $v0, $zero -/* 0647CC 7F02FC9C 46000102 */ mul.s $f4, $f0, $f0 -/* 0647D0 7F02FCA0 46045180 */ add.s $f6, $f10, $f4 -/* 0647D4 7F02FCA4 460C6202 */ mul.s $f8, $f12, $f12 -/* 0647D8 7F02FCA8 4608303E */ c.le.s $f6, $f8 -/* 0647DC 7F02FCAC 00000000 */ nop -/* 0647E0 7F02FCB0 45000025 */ bc1f .L7F02FD48 -/* 0647E4 7F02FCB4 00000000 */ nop -/* 0647E8 7F02FCB8 24020001 */ li $v0, 1 -/* 0647EC 7F02FCBC 10000022 */ b .L7F02FD48 -/* 0647F0 7F02FCC0 00000000 */ nop -/* 0647F4 7F02FCC4 C4A20008 */ lwc1 $f2, 8($a1) -.L7F02FCC8: -/* 0647F8 7F02FCC8 C7A80004 */ lwc1 $f8, 4($sp) -/* 0647FC 7F02FCCC 00001025 */ move $v0, $zero -/* 064800 7F02FCD0 46025102 */ mul.s $f4, $f10, $f2 -/* 064804 7F02FCD4 00000000 */ nop -/* 064808 7F02FCD8 46080182 */ mul.s $f6, $f0, $f8 -/* 06480C 7F02FCDC 46062380 */ add.s $f14, $f4, $f6 -/* 064810 7F02FCE0 460E803C */ c.lt.s $f16, $f14 -/* 064814 7F02FCE4 00000000 */ nop -/* 064818 7F02FCE8 45000017 */ bc1f .L7F02FD48 -/* 06481C 7F02FCEC 00000000 */ nop -/* 064820 7F02FCF0 46021102 */ mul.s $f4, $f2, $f2 -/* 064824 7F02FCF4 00000000 */ nop -/* 064828 7F02FCF8 46000182 */ mul.s $f6, $f0, $f0 -/* 06482C 7F02FCFC 46062400 */ add.s $f16, $f4, $f6 -/* 064830 7F02FD00 460A5102 */ mul.s $f4, $f10, $f10 -/* 064834 7F02FD04 00000000 */ nop -/* 064838 7F02FD08 46084182 */ mul.s $f6, $f8, $f8 -/* 06483C 7F02FD0C 00000000 */ nop -/* 064840 7F02FD10 460E7282 */ mul.s $f10, $f14, $f14 -/* 064844 7F02FD14 00000000 */ nop -/* 064848 7F02FD18 460C6202 */ mul.s $f8, $f12, $f12 -/* 06484C 7F02FD1C 46062480 */ add.s $f18, $f4, $f6 -/* 064850 7F02FD20 46089101 */ sub.s $f4, $f18, $f8 -/* 064854 7F02FD24 46102182 */ mul.s $f6, $f4, $f16 -/* 064858 7F02FD28 460A303E */ c.le.s $f6, $f10 -/* 06485C 7F02FD2C 00000000 */ nop -/* 064860 7F02FD30 45000003 */ bc1f .L7F02FD40 -/* 064864 7F02FD34 00000000 */ nop -/* 064868 7F02FD38 10000003 */ b .L7F02FD48 -/* 06486C 7F02FD3C 24020001 */ li $v0, 1 -.L7F02FD40: -/* 064870 7F02FD40 10000001 */ b .L7F02FD48 -/* 064874 7F02FD44 00001025 */ move $v0, $zero -.L7F02FD48: -/* 064878 7F02FD48 03E00008 */ jr $ra -/* 06487C 7F02FD4C 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02FD50(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02FD50 -/* 064880 7F02FD50 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 064884 7F02FD54 AFBF001C */ sw $ra, 0x1c($sp) -/* 064888 7F02FD58 AFB00018 */ sw $s0, 0x18($sp) -/* 06488C 7F02FD5C 44876000 */ mtc1 $a3, $f12 -/* 064890 7F02FD60 C4C00000 */ lwc1 $f0, ($a2) -/* 064894 7F02FD64 C4900000 */ lwc1 $f16, ($a0) -/* 064898 7F02FD68 00A08025 */ move $s0, $a1 -/* 06489C 7F02FD6C 460C0081 */ sub.s $f2, $f0, $f12 -/* 0648A0 7F02FD70 4602803E */ c.le.s $f16, $f2 -/* 0648A4 7F02FD74 00000000 */ nop -/* 0648A8 7F02FD78 45020009 */ bc1fl .L7F02FDA0 -/* 0648AC 7F02FD7C 460C0080 */ add.s $f2, $f0, $f12 -/* 0648B0 7F02FD80 C4A40000 */ lwc1 $f4, ($a1) -/* 0648B4 7F02FD84 4602203E */ c.le.s $f4, $f2 -/* 0648B8 7F02FD88 00000000 */ nop -/* 0648BC 7F02FD8C 45020004 */ bc1fl .L7F02FDA0 -/* 0648C0 7F02FD90 460C0080 */ add.s $f2, $f0, $f12 -/* 0648C4 7F02FD94 10000033 */ b .L7F02FE64 -/* 0648C8 7F02FD98 00001025 */ move $v0, $zero -/* 0648CC 7F02FD9C 460C0080 */ add.s $f2, $f0, $f12 -.L7F02FDA0: -/* 0648D0 7F02FDA0 4610103E */ c.le.s $f2, $f16 -/* 0648D4 7F02FDA4 00000000 */ nop -/* 0648D8 7F02FDA8 45020009 */ bc1fl .L7F02FDD0 -/* 0648DC 7F02FDAC C4C00008 */ lwc1 $f0, 8($a2) -/* 0648E0 7F02FDB0 C6060000 */ lwc1 $f6, ($s0) -/* 0648E4 7F02FDB4 4606103E */ c.le.s $f2, $f6 -/* 0648E8 7F02FDB8 00000000 */ nop -/* 0648EC 7F02FDBC 45020004 */ bc1fl .L7F02FDD0 -/* 0648F0 7F02FDC0 C4C00008 */ lwc1 $f0, 8($a2) -/* 0648F4 7F02FDC4 10000027 */ b .L7F02FE64 -/* 0648F8 7F02FDC8 00001025 */ move $v0, $zero -/* 0648FC 7F02FDCC C4C00008 */ lwc1 $f0, 8($a2) -.L7F02FDD0: -/* 064900 7F02FDD0 C48E0008 */ lwc1 $f14, 8($a0) -/* 064904 7F02FDD4 460C0081 */ sub.s $f2, $f0, $f12 -/* 064908 7F02FDD8 4602703E */ c.le.s $f14, $f2 -/* 06490C 7F02FDDC 00000000 */ nop -/* 064910 7F02FDE0 45020009 */ bc1fl .L7F02FE08 -/* 064914 7F02FDE4 460C0080 */ add.s $f2, $f0, $f12 -/* 064918 7F02FDE8 C6080008 */ lwc1 $f8, 8($s0) -/* 06491C 7F02FDEC 4602403E */ c.le.s $f8, $f2 -/* 064920 7F02FDF0 00000000 */ nop -/* 064924 7F02FDF4 45020004 */ bc1fl .L7F02FE08 -/* 064928 7F02FDF8 460C0080 */ add.s $f2, $f0, $f12 -/* 06492C 7F02FDFC 10000019 */ b .L7F02FE64 -/* 064930 7F02FE00 00001025 */ move $v0, $zero -/* 064934 7F02FE04 460C0080 */ add.s $f2, $f0, $f12 -.L7F02FE08: -/* 064938 7F02FE08 460E103E */ c.le.s $f2, $f14 -/* 06493C 7F02FE0C 00000000 */ nop -/* 064940 7F02FE10 45020009 */ bc1fl .L7F02FE38 -/* 064944 7F02FE14 C6120000 */ lwc1 $f18, ($s0) -/* 064948 7F02FE18 C60A0008 */ lwc1 $f10, 8($s0) -/* 06494C 7F02FE1C 460A103E */ c.le.s $f2, $f10 -/* 064950 7F02FE20 00000000 */ nop -/* 064954 7F02FE24 45020004 */ bc1fl .L7F02FE38 -/* 064958 7F02FE28 C6120000 */ lwc1 $f18, ($s0) -/* 06495C 7F02FE2C 1000000D */ b .L7F02FE64 -/* 064960 7F02FE30 00001025 */ move $v0, $zero -/* 064964 7F02FE34 C6120000 */ lwc1 $f18, ($s0) -.L7F02FE38: -/* 064968 7F02FE38 44803000 */ mtc1 $zero, $f6 -/* 06496C 7F02FE3C 44076000 */ mfc1 $a3, $f12 -/* 064970 7F02FE40 46109101 */ sub.s $f4, $f18, $f16 -/* 064974 7F02FE44 E7A60038 */ swc1 $f6, 0x38($sp) -/* 064978 7F02FE48 27A50034 */ addiu $a1, $sp, 0x34 -/* 06497C 7F02FE4C E7A40034 */ swc1 $f4, 0x34($sp) -/* 064980 7F02FE50 C48A0008 */ lwc1 $f10, 8($a0) -/* 064984 7F02FE54 C6080008 */ lwc1 $f8, 8($s0) -/* 064988 7F02FE58 460A4481 */ sub.s $f18, $f8, $f10 -/* 06498C 7F02FE5C 0FC0BF0D */ jal sub_GAME_7F02FC34 -/* 064990 7F02FE60 E7B2003C */ swc1 $f18, 0x3c($sp) -.L7F02FE64: -/* 064994 7F02FE64 8FBF001C */ lw $ra, 0x1c($sp) -/* 064998 7F02FE68 8FB00018 */ lw $s0, 0x18($sp) -/* 06499C 7F02FE6C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0649A0 7F02FE70 03E00008 */ jr $ra -/* 0649A4 7F02FE74 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F02FE78(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F02FE78 -/* 0649A8 7F02FE78 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0649AC 7F02FE7C AFBF001C */ sw $ra, 0x1c($sp) -/* 0649B0 7F02FE80 AFB10018 */ sw $s1, 0x18($sp) -/* 0649B4 7F02FE84 AFB00014 */ sw $s0, 0x14($sp) -/* 0649B8 7F02FE88 3C038005 */ lui $v1, %hi(global_timer) -/* 0649BC 7F02FE8C 808F0009 */ lb $t7, 9($a0) -/* 0649C0 7F02FE90 2463837C */ addiu $v1, %lo(global_timer) # addiu $v1, $v1, -0x7c84 -/* 0649C4 7F02FE94 8C6E0000 */ lw $t6, ($v1) -/* 0649C8 7F02FE98 24010001 */ li $at, 1 -/* 0649CC 7F02FE9C 00808025 */ move $s0, $a0 -/* 0649D0 7F02FEA0 8C820018 */ lw $v0, 0x18($a0) -/* 0649D4 7F02FEA4 8C91001C */ lw $s1, 0x1c($a0) -/* 0649D8 7F02FEA8 11E1000E */ beq $t7, $at, .L7F02FEE4 -/* 0649DC 7F02FEAC AC8E00C8 */ sw $t6, 0xc8($a0) -/* 0649E0 7F02FEB0 8C790000 */ lw $t9, ($v1) -/* 0649E4 7F02FEB4 8C9800CC */ lw $t8, 0xcc($a0) -/* 0649E8 7F02FEB8 248400BC */ addiu $a0, $a0, 0xbc -/* 0649EC 7F02FEBC 2728FFC4 */ addiu $t0, $t9, -0x3c -/* 0649F0 7F02FEC0 0308082A */ slt $at, $t8, $t0 -/* 0649F4 7F02FEC4 14200007 */ bnez $at, .L7F02FEE4 -/* 0649F8 7F02FEC8 24450008 */ addiu $a1, $v0, 8 -/* 0649FC 7F02FECC 2606002C */ addiu $a2, $s0, 0x2c -/* 064A00 7F02FED0 8E070038 */ lw $a3, 0x38($s0) -/* 064A04 7F02FED4 0FC0BF54 */ jal sub_GAME_7F02FD50 -/* 064A08 7F02FED8 AFA60020 */ sw $a2, 0x20($sp) -/* 064A0C 7F02FEDC 10400068 */ beqz $v0, .L7F030080 -/* 064A10 7F02FEE0 02002025 */ move $a0, $s0 -.L7F02FEE4: -/* 064A14 7F02FEE4 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 064A18 7F02FEE8 02202025 */ move $a0, $s1 -/* 064A1C 7F02FEEC 0FC1BD6F */ jal sub_GAME_7F06F5BC -/* 064A20 7F02FEF0 02202025 */ move $a0, $s1 -/* 064A24 7F02FEF4 44803000 */ mtc1 $zero, $f6 -/* 064A28 7F02FEF8 44802000 */ mtc1 $zero, $f4 -/* 064A2C 7F02FEFC 02202025 */ move $a0, $s1 -/* 064A30 7F02FF00 4606003C */ c.lt.s $f0, $f6 -/* 064A34 7F02FF04 46040081 */ sub.s $f2, $f0, $f4 -/* 064A38 7F02FF08 4502000E */ bc1fl .L7F02FF44 -/* 064A3C 7F02FF0C 02202025 */ move $a0, $s1 -/* 064A40 7F02FF10 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 064A44 7F02FF14 E7A20034 */ swc1 $f2, 0x34($sp) -/* 064A48 7F02FF18 94490004 */ lhu $t1, 4($v0) -/* 064A4C 7F02FF1C C7A20034 */ lwc1 $f2, 0x34($sp) -/* 064A50 7F02FF20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 064A54 7F02FF24 44894000 */ mtc1 $t1, $f8 -/* 064A58 7F02FF28 05210004 */ bgez $t1, .L7F02FF3C -/* 064A5C 7F02FF2C 468042A0 */ cvt.s.w $f10, $f8 -/* 064A60 7F02FF30 44818000 */ mtc1 $at, $f16 -/* 064A64 7F02FF34 00000000 */ nop -/* 064A68 7F02FF38 46105280 */ add.s $f10, $f10, $f16 -.L7F02FF3C: -/* 064A6C 7F02FF3C 460A1080 */ add.s $f2, $f2, $f10 -/* 064A70 7F02FF40 02202025 */ move $a0, $s1 -.L7F02FF44: -/* 064A74 7F02FF44 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 064A78 7F02FF48 E7A20034 */ swc1 $f2, 0x34($sp) -/* 064A7C 7F02FF4C 944A0004 */ lhu $t2, 4($v0) -/* 064A80 7F02FF50 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 064A84 7F02FF54 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 064A88 7F02FF58 448A9000 */ mtc1 $t2, $f18 -/* 064A8C 7F02FF5C 05410004 */ bgez $t2, .L7F02FF70 -/* 064A90 7F02FF60 46809120 */ cvt.s.w $f4, $f18 -/* 064A94 7F02FF64 44813000 */ mtc1 $at, $f6 -/* 064A98 7F02FF68 00000000 */ nop -/* 064A9C 7F02FF6C 46062100 */ add.s $f4, $f4, $f6 -.L7F02FF70: -/* 064AA0 7F02FF70 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 064AA4 7F02FF74 44814000 */ mtc1 $at, $f8 -/* 064AA8 7F02FF78 00000000 */ nop -/* 064AAC 7F02FF7C 46082402 */ mul.s $f16, $f4, $f8 -/* 064AB0 7F02FF80 4602803C */ c.lt.s $f16, $f2 -/* 064AB4 7F02FF84 00000000 */ nop -/* 064AB8 7F02FF88 45000014 */ bc1f .L7F02FFDC -/* 064ABC 7F02FF8C 00000000 */ nop -/* 064AC0 7F02FF90 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 064AC4 7F02FF94 02202025 */ move $a0, $s1 -/* 064AC8 7F02FF98 944B0004 */ lhu $t3, 4($v0) -/* 064ACC 7F02FF9C 44802000 */ mtc1 $zero, $f4 -/* 064AD0 7F02FFA0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 064AD4 7F02FFA4 448B5000 */ mtc1 $t3, $f10 -/* 064AD8 7F02FFA8 05610004 */ bgez $t3, .L7F02FFBC -/* 064ADC 7F02FFAC 468054A0 */ cvt.s.w $f18, $f10 -/* 064AE0 7F02FFB0 44813000 */ mtc1 $at, $f6 -/* 064AE4 7F02FFB4 00000000 */ nop -/* 064AE8 7F02FFB8 46069480 */ add.s $f18, $f18, $f6 -.L7F02FFBC: -/* 064AEC 7F02FFBC 46049081 */ sub.s $f2, $f18, $f4 -/* 064AF0 7F02FFC0 02202025 */ move $a0, $s1 -/* 064AF4 7F02FFC4 3C064180 */ lui $a2, 0x4180 -/* 064AF8 7F02FFC8 44051000 */ mfc1 $a1, $f2 -/* 064AFC 7F02FFCC 0FC1BFA4 */ jal sub_GAME_7F06FE90 -/* 064B00 7F02FFD0 00000000 */ nop -/* 064B04 7F02FFD4 10000026 */ b .L7F030070 -/* 064B08 7F02FFD8 00000000 */ nop -.L7F02FFDC: -/* 064B0C 7F02FFDC 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 064B10 7F02FFE0 02202025 */ move $a0, $s1 -/* 064B14 7F02FFE4 944C0004 */ lhu $t4, 4($v0) -/* 064B18 7F02FFE8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 064B1C 7F02FFEC 02202025 */ move $a0, $s1 -/* 064B20 7F02FFF0 448C4000 */ mtc1 $t4, $f8 -/* 064B24 7F02FFF4 05810004 */ bgez $t4, .L7F030008 -/* 064B28 7F02FFF8 46804420 */ cvt.s.w $f16, $f8 -/* 064B2C 7F02FFFC 44815000 */ mtc1 $at, $f10 -/* 064B30 7F030000 00000000 */ nop -/* 064B34 7F030004 460A8400 */ add.s $f16, $f16, $f10 -.L7F030008: -/* 064B38 7F030008 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 064B3C 7F03000C 44813000 */ mtc1 $at, $f6 -/* 064B40 7F030010 44802000 */ mtc1 $zero, $f4 -/* 064B44 7F030014 44804000 */ mtc1 $zero, $f8 -/* 064B48 7F030018 46068482 */ mul.s $f18, $f16, $f6 -/* 064B4C 7F03001C 46049081 */ sub.s $f2, $f18, $f4 -/* 064B50 7F030020 4608103C */ c.lt.s $f2, $f8 -/* 064B54 7F030024 00000000 */ nop -/* 064B58 7F030028 4502000E */ bc1fl .L7F030064 -/* 064B5C 7F03002C 44051000 */ mfc1 $a1, $f2 -/* 064B60 7F030030 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 064B64 7F030034 E7A20034 */ swc1 $f2, 0x34($sp) -/* 064B68 7F030038 944D0004 */ lhu $t5, 4($v0) -/* 064B6C 7F03003C C7A20034 */ lwc1 $f2, 0x34($sp) -/* 064B70 7F030040 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 064B74 7F030044 448D5000 */ mtc1 $t5, $f10 -/* 064B78 7F030048 05A10004 */ bgez $t5, .L7F03005C -/* 064B7C 7F03004C 46805420 */ cvt.s.w $f16, $f10 -/* 064B80 7F030050 44813000 */ mtc1 $at, $f6 -/* 064B84 7F030054 00000000 */ nop -/* 064B88 7F030058 46068400 */ add.s $f16, $f16, $f6 -.L7F03005C: -/* 064B8C 7F03005C 46101080 */ add.s $f2, $f2, $f16 -/* 064B90 7F030060 44051000 */ mfc1 $a1, $f2 -.L7F030064: -/* 064B94 7F030064 02202025 */ move $a0, $s1 -/* 064B98 7F030068 0FC1BFA4 */ jal sub_GAME_7F06FE90 -/* 064B9C 7F03006C 3C064180 */ lui $a2, 0x4180 -.L7F030070: -/* 064BA0 7F030070 0FC08F92 */ jal sub_GAME_7F023E48 -/* 064BA4 7F030074 02002025 */ move $a0, $s0 -/* 064BA8 7F030078 10000027 */ b .L7F030118 -/* 064BAC 7F03007C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F030080: -/* 064BB0 7F030080 8FA50020 */ lw $a1, 0x20($sp) -/* 064BB4 7F030084 24060001 */ li $a2, 1 -/* 064BB8 7F030088 0FC0BDA4 */ jal sub_GAME_7F02F690 -/* 064BBC 7F03008C 26070040 */ addiu $a3, $s0, 0x40 -/* 064BC0 7F030090 8E03003C */ lw $v1, 0x3c($s0) -/* 064BC4 7F030094 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 064BC8 7F030098 3C018003 */ lui $at, %hi(D_80030988) -/* 064BCC 7F03009C 18600005 */ blez $v1, .L7F0300B4 -/* 064BD0 7F0300A0 00000000 */ nop -/* 064BD4 7F0300A4 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 064BD8 7F0300A8 006E7823 */ subu $t7, $v1, $t6 -/* 064BDC 7F0300AC 10000019 */ b .L7F030114 -/* 064BE0 7F0300B0 AE0F003C */ sw $t7, 0x3c($s0) -.L7F0300B4: -/* 064BE4 7F0300B4 C4320988 */ lwc1 $f18, %lo(D_80030988)($at) -/* 064BE8 7F0300B8 02202025 */ move $a0, $s1 -/* 064BEC 7F0300BC 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 064BF0 7F0300C0 E7B2002C */ swc1 $f18, 0x2c($sp) -/* 064BF4 7F0300C4 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 064BF8 7F0300C8 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 064BFC 7F0300CC 3C180000 */ lui $t8, %hi(0x0000777C) # $t8, 0 -/* 064C00 7F0300D0 2718777C */ addiu $t8, %lo(0x0000777C) # addiu $t8, $t8, 0x777c -/* 064C04 7F0300D4 03384021 */ addu $t0, $t9, $t8 -/* 064C08 7F0300D8 14480003 */ bne $v0, $t0, .L7F0300E8 -/* 064C0C 7F0300DC 3C018003 */ lui $at, %hi(D_80030994) -/* 064C10 7F0300E0 C4240994 */ lwc1 $f4, %lo(D_80030994)($at) -/* 064C14 7F0300E4 E7A4002C */ swc1 $f4, 0x2c($sp) -.L7F0300E8: -/* 064C18 7F0300E8 0FC1BD86 */ jal sub_GAME_7F06F618 -/* 064C1C 7F0300EC 02202025 */ move $a0, $s1 -/* 064C20 7F0300F0 3C018005 */ lui $at, %hi(global_timer_delta) -/* 064C24 7F0300F4 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 064C28 7F0300F8 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 064C2C 7F0300FC C6120038 */ lwc1 $f18, 0x38($s0) -/* 064C30 7F030100 460A4182 */ mul.s $f6, $f8, $f10 -/* 064C34 7F030104 00000000 */ nop -/* 064C38 7F030108 46003402 */ mul.s $f16, $f6, $f0 -/* 064C3C 7F03010C 46109100 */ add.s $f4, $f18, $f16 -/* 064C40 7F030110 E6040038 */ swc1 $f4, 0x38($s0) -.L7F030114: -/* 064C44 7F030114 8FBF001C */ lw $ra, 0x1c($sp) -.L7F030118: -/* 064C48 7F030118 8FB00014 */ lw $s0, 0x14($sp) -/* 064C4C 7F03011C 8FB10018 */ lw $s1, 0x18($sp) -/* 064C50 7F030120 03E00008 */ jr $ra -/* 064C54 7F030124 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F030128(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F030128 -/* 064C58 7F030128 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 064C5C 7F03012C AFBF002C */ sw $ra, 0x2c($sp) -/* 064C60 7F030130 AFA40048 */ sw $a0, 0x48($sp) -/* 064C64 7F030134 AFA5004C */ sw $a1, 0x4c($sp) -/* 064C68 7F030138 AFA60050 */ sw $a2, 0x50($sp) -/* 064C6C 7F03013C AFA70054 */ sw $a3, 0x54($sp) -/* 064C70 7F030140 AFA60044 */ sw $a2, 0x44($sp) -/* 064C74 7F030144 AFA00040 */ sw $zero, 0x40($sp) -/* 064C78 7F030148 8C840018 */ lw $a0, 0x18($a0) -/* 064C7C 7F03014C 27A6003C */ addiu $a2, $sp, 0x3c -/* 064C80 7F030150 27A70038 */ addiu $a3, $sp, 0x38 -/* 064C84 7F030154 0FC08C58 */ jal sub_GAME_7F023160 -/* 064C88 7F030158 27A50034 */ addiu $a1, $sp, 0x34 -/* 064C8C 7F03015C 8FA40048 */ lw $a0, 0x48($sp) -/* 064C90 7F030160 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 064C94 7F030164 00002825 */ move $a1, $zero -/* 064C98 7F030168 8FA2004C */ lw $v0, 0x4c($sp) -/* 064C9C 7F03016C 8FA30054 */ lw $v1, 0x54($sp) -/* 064CA0 7F030170 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 064CA4 7F030174 8C450000 */ lw $a1, ($v0) -/* 064CA8 7F030178 C4640008 */ lwc1 $f4, 8($v1) -/* 064CAC 7F03017C 8C460008 */ lw $a2, 8($v0) -/* 064CB0 7F030180 8C670000 */ lw $a3, ($v1) -/* 064CB4 7F030184 44818000 */ mtc1 $at, $f16 -/* 064CB8 7F030188 8FB8005C */ lw $t8, 0x5c($sp) -/* 064CBC 7F03018C C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 064CC0 7F030190 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 064CC4 7F030194 44805000 */ mtc1 $zero, $f10 -/* 064CC8 7F030198 27A40044 */ addiu $a0, $sp, 0x44 -/* 064CCC 7F03019C E7A40010 */ swc1 $f4, 0x10($sp) -/* 064CD0 7F0301A0 AFB80014 */ sw $t8, 0x14($sp) -/* 064CD4 7F0301A4 E7B00024 */ swc1 $f16, 0x24($sp) -/* 064CD8 7F0301A8 E7A60018 */ swc1 $f6, 0x18($sp) -/* 064CDC 7F0301AC E7A8001C */ swc1 $f8, 0x1c($sp) -/* 064CE0 7F0301B0 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 064CE4 7F0301B4 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 064CE8 7F0301B8 10400009 */ beqz $v0, .L7F0301E0 -/* 064CEC 7F0301BC 24050001 */ li $a1, 1 -/* 064CF0 7F0301C0 8FA20058 */ lw $v0, 0x58($sp) -/* 064CF4 7F0301C4 8FB90044 */ lw $t9, 0x44($sp) -/* 064CF8 7F0301C8 24080001 */ li $t0, 1 -/* 064CFC 7F0301CC 50400004 */ beql $v0, $zero, .L7F0301E0 -/* 064D00 7F0301D0 AFA80040 */ sw $t0, 0x40($sp) -/* 064D04 7F0301D4 17220002 */ bne $t9, $v0, .L7F0301E0 -/* 064D08 7F0301D8 00000000 */ nop -/* 064D0C 7F0301DC AFA80040 */ sw $t0, 0x40($sp) -.L7F0301E0: -/* 064D10 7F0301E0 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 064D14 7F0301E4 8FA40048 */ lw $a0, 0x48($sp) -/* 064D18 7F0301E8 8FBF002C */ lw $ra, 0x2c($sp) -/* 064D1C 7F0301EC 8FA20040 */ lw $v0, 0x40($sp) -/* 064D20 7F0301F0 27BD0048 */ addiu $sp, $sp, 0x48 -/* 064D24 7F0301F4 03E00008 */ jr $ra -/* 064D28 7F0301F8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0301FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0301FC -/* 064D2C 7F0301FC 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 064D30 7F030200 AFB10048 */ sw $s1, 0x48($sp) -/* 064D34 7F030204 AFB00044 */ sw $s0, 0x44($sp) -/* 064D38 7F030208 00A08025 */ move $s0, $a1 -/* 064D3C 7F03020C 00E08825 */ move $s1, $a3 -/* 064D40 7F030210 AFBF004C */ sw $ra, 0x4c($sp) -/* 064D44 7F030214 F7B80038 */ sdc1 $f24, 0x38($sp) -/* 064D48 7F030218 F7B60030 */ sdc1 $f22, 0x30($sp) -/* 064D4C 7F03021C F7B40028 */ sdc1 $f20, 0x28($sp) -/* 064D50 7F030220 AFA40088 */ sw $a0, 0x88($sp) -/* 064D54 7F030224 AFA60090 */ sw $a2, 0x90($sp) -/* 064D58 7F030228 AFA00068 */ sw $zero, 0x68($sp) -/* 064D5C 7F03022C 8C840018 */ lw $a0, 0x18($a0) -/* 064D60 7F030230 27A60064 */ addiu $a2, $sp, 0x64 -/* 064D64 7F030234 27A70060 */ addiu $a3, $sp, 0x60 -/* 064D68 7F030238 0FC08C58 */ jal sub_GAME_7F023160 -/* 064D6C 7F03023C 27A5005C */ addiu $a1, $sp, 0x5c -/* 064D70 7F030240 C6240000 */ lwc1 $f4, ($s1) -/* 064D74 7F030244 C6060000 */ lwc1 $f6, ($s0) -/* 064D78 7F030248 4480C000 */ mtc1 $zero, $f24 -/* 064D7C 7F03024C 46062201 */ sub.s $f8, $f4, $f6 -/* 064D80 7F030250 E7B8007C */ swc1 $f24, 0x7c($sp) -/* 064D84 7F030254 E7A80078 */ swc1 $f8, 0x78($sp) -/* 064D88 7F030258 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 064D8C 7F03025C C6120008 */ lwc1 $f18, 8($s0) -/* 064D90 7F030260 C62A0008 */ lwc1 $f10, 8($s1) -/* 064D94 7F030264 4606C032 */ c.eq.s $f24, $f6 -/* 064D98 7F030268 46125101 */ sub.s $f4, $f10, $f18 -/* 064D9C 7F03026C 45000009 */ bc1f .L7F030294 -/* 064DA0 7F030270 E7A40080 */ swc1 $f4, 0x80($sp) -/* 064DA4 7F030274 C7B00080 */ lwc1 $f16, 0x80($sp) -/* 064DA8 7F030278 240F0001 */ li $t7, 1 -/* 064DAC 7F03027C 4610C032 */ c.eq.s $f24, $f16 -/* 064DB0 7F030280 00000000 */ nop -/* 064DB4 7F030284 45020004 */ bc1fl .L7F030298 -/* 064DB8 7F030288 C7B00080 */ lwc1 $f16, 0x80($sp) -/* 064DBC 7F03028C 1000007E */ b .L7F030488 -/* 064DC0 7F030290 AFAF0068 */ sw $t7, 0x68($sp) -.L7F030294: -/* 064DC4 7F030294 C7B00080 */ lwc1 $f16, 0x80($sp) -.L7F030298: -/* 064DC8 7F030298 C7AE0078 */ lwc1 $f14, 0x78($sp) -/* 064DCC 7F03029C 46108202 */ mul.s $f8, $f16, $f16 -/* 064DD0 7F0302A0 00000000 */ nop -/* 064DD4 7F0302A4 460E7282 */ mul.s $f10, $f14, $f14 -/* 064DD8 7F0302A8 0C007DF8 */ jal sqrtf -/* 064DDC 7F0302AC 460A4300 */ add.s $f12, $f8, $f10 -/* 064DE0 7F0302B0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 064DE4 7F0302B4 44819000 */ mtc1 $at, $f18 -/* 064DE8 7F0302B8 C7AE0078 */ lwc1 $f14, 0x78($sp) -/* 064DEC 7F0302BC C7B00080 */ lwc1 $f16, 0x80($sp) -/* 064DF0 7F0302C0 46009083 */ div.s $f2, $f18, $f0 -/* 064DF4 7F0302C4 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 064DF8 7F0302C8 8FA40088 */ lw $a0, 0x88($sp) -/* 064DFC 7F0302CC 00002825 */ move $a1, $zero -/* 064E00 7F0302D0 46027382 */ mul.s $f14, $f14, $f2 -/* 064E04 7F0302D4 00000000 */ nop -/* 064E08 7F0302D8 46028402 */ mul.s $f16, $f16, $f2 -/* 064E0C 7F0302DC 00000000 */ nop -/* 064E10 7F0302E0 460C7502 */ mul.s $f20, $f14, $f12 -/* 064E14 7F0302E4 E7AE0078 */ swc1 $f14, 0x78($sp) -/* 064E18 7F0302E8 460C8582 */ mul.s $f22, $f16, $f12 -/* 064E1C 7F0302EC 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 064E20 7F0302F0 E7B00080 */ swc1 $f16, 0x80($sp) -/* 064E24 7F0302F4 8FB80090 */ lw $t8, 0x90($sp) -/* 064E28 7F0302F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 064E2C 7F0302FC 44819000 */ mtc1 $at, $f18 -/* 064E30 7F030300 AFB80084 */ sw $t8, 0x84($sp) -/* 064E34 7F030304 C6000000 */ lwc1 $f0, ($s0) -/* 064E38 7F030308 C6020008 */ lwc1 $f2, 8($s0) -/* 064E3C 7F03030C 8FB9009C */ lw $t9, 0x9c($sp) -/* 064E40 7F030310 46160100 */ add.s $f4, $f0, $f22 -/* 064E44 7F030314 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 064E48 7F030318 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 064E4C 7F03031C 46141181 */ sub.s $f6, $f2, $f20 -/* 064E50 7F030320 44072000 */ mfc1 $a3, $f4 -/* 064E54 7F030324 44050000 */ mfc1 $a1, $f0 -/* 064E58 7F030328 44061000 */ mfc1 $a2, $f2 -/* 064E5C 7F03032C E7A60010 */ swc1 $f6, 0x10($sp) -/* 064E60 7F030330 E7B80020 */ swc1 $f24, 0x20($sp) -/* 064E64 7F030334 27A40084 */ addiu $a0, $sp, 0x84 -/* 064E68 7F030338 E7B20024 */ swc1 $f18, 0x24($sp) -/* 064E6C 7F03033C AFB90014 */ sw $t9, 0x14($sp) -/* 064E70 7F030340 E7A80018 */ swc1 $f8, 0x18($sp) -/* 064E74 7F030344 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 064E78 7F030348 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 064E7C 7F03034C 1040004B */ beqz $v0, .L7F03047C -/* 064E80 7F030350 27A40084 */ addiu $a0, $sp, 0x84 -/* 064E84 7F030354 C6040000 */ lwc1 $f4, ($s0) -/* 064E88 7F030358 C6080008 */ lwc1 $f8, 8($s0) -/* 064E8C 7F03035C C6320000 */ lwc1 $f18, ($s1) -/* 064E90 7F030360 46162180 */ add.s $f6, $f4, $f22 -/* 064E94 7F030364 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 064E98 7F030368 8FA8009C */ lw $t0, 0x9c($sp) -/* 064E9C 7F03036C 46144281 */ sub.s $f10, $f8, $f20 -/* 064EA0 7F030370 44053000 */ mfc1 $a1, $f6 -/* 064EA4 7F030374 C6260008 */ lwc1 $f6, 8($s1) -/* 064EA8 7F030378 46169100 */ add.s $f4, $f18, $f22 -/* 064EAC 7F03037C 44065000 */ mfc1 $a2, $f10 -/* 064EB0 7F030380 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 064EB4 7F030384 46143201 */ sub.s $f8, $f6, $f20 -/* 064EB8 7F030388 44072000 */ mfc1 $a3, $f4 -/* 064EBC 7F03038C 44812000 */ mtc1 $at, $f4 -/* 064EC0 7F030390 C7B20060 */ lwc1 $f18, 0x60($sp) -/* 064EC4 7F030394 E7A80010 */ swc1 $f8, 0x10($sp) -/* 064EC8 7F030398 E7B80020 */ swc1 $f24, 0x20($sp) -/* 064ECC 7F03039C AFA80014 */ sw $t0, 0x14($sp) -/* 064ED0 7F0303A0 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 064ED4 7F0303A4 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 064ED8 7F0303A8 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 064EDC 7F0303AC E7A40024 */ swc1 $f4, 0x24($sp) -/* 064EE0 7F0303B0 10400032 */ beqz $v0, .L7F03047C -/* 064EE4 7F0303B4 8FA90090 */ lw $t1, 0x90($sp) -/* 064EE8 7F0303B8 AFA90084 */ sw $t1, 0x84($sp) -/* 064EEC 7F0303BC C6000000 */ lwc1 $f0, ($s0) -/* 064EF0 7F0303C0 C6020008 */ lwc1 $f2, 8($s0) -/* 064EF4 7F0303C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 064EF8 7F0303C8 46160181 */ sub.s $f6, $f0, $f22 -/* 064EFC 7F0303CC 44812000 */ mtc1 $at, $f4 -/* 064F00 7F0303D0 8FAA009C */ lw $t2, 0x9c($sp) -/* 064F04 7F0303D4 46141200 */ add.s $f8, $f2, $f20 -/* 064F08 7F0303D8 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 064F0C 7F0303DC C7B20060 */ lwc1 $f18, 0x60($sp) -/* 064F10 7F0303E0 44073000 */ mfc1 $a3, $f6 -/* 064F14 7F0303E4 44050000 */ mfc1 $a1, $f0 -/* 064F18 7F0303E8 44061000 */ mfc1 $a2, $f2 -/* 064F1C 7F0303EC E7A80010 */ swc1 $f8, 0x10($sp) -/* 064F20 7F0303F0 E7B80020 */ swc1 $f24, 0x20($sp) -/* 064F24 7F0303F4 27A40084 */ addiu $a0, $sp, 0x84 -/* 064F28 7F0303F8 AFAA0014 */ sw $t2, 0x14($sp) -/* 064F2C 7F0303FC E7A40024 */ swc1 $f4, 0x24($sp) -/* 064F30 7F030400 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 064F34 7F030404 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 064F38 7F030408 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 064F3C 7F03040C 1040001B */ beqz $v0, .L7F03047C -/* 064F40 7F030410 27A40084 */ addiu $a0, $sp, 0x84 -/* 064F44 7F030414 C6060000 */ lwc1 $f6, ($s0) -/* 064F48 7F030418 C60A0008 */ lwc1 $f10, 8($s0) -/* 064F4C 7F03041C C6240000 */ lwc1 $f4, ($s1) -/* 064F50 7F030420 46163201 */ sub.s $f8, $f6, $f22 -/* 064F54 7F030424 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 064F58 7F030428 8FAB009C */ lw $t3, 0x9c($sp) -/* 064F5C 7F03042C 46145480 */ add.s $f18, $f10, $f20 -/* 064F60 7F030430 44054000 */ mfc1 $a1, $f8 -/* 064F64 7F030434 C6280008 */ lwc1 $f8, 8($s1) -/* 064F68 7F030438 46162181 */ sub.s $f6, $f4, $f22 -/* 064F6C 7F03043C 44069000 */ mfc1 $a2, $f18 -/* 064F70 7F030440 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 064F74 7F030444 46144280 */ add.s $f10, $f8, $f20 -/* 064F78 7F030448 44073000 */ mfc1 $a3, $f6 -/* 064F7C 7F03044C 44813000 */ mtc1 $at, $f6 -/* 064F80 7F030450 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 064F84 7F030454 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 064F88 7F030458 E7B80020 */ swc1 $f24, 0x20($sp) -/* 064F8C 7F03045C AFAB0014 */ sw $t3, 0x14($sp) -/* 064F90 7F030460 E7B20018 */ swc1 $f18, 0x18($sp) -/* 064F94 7F030464 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 064F98 7F030468 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 064F9C 7F03046C E7A60024 */ swc1 $f6, 0x24($sp) -/* 064FA0 7F030470 10400002 */ beqz $v0, .L7F03047C -/* 064FA4 7F030474 240C0001 */ li $t4, 1 -/* 064FA8 7F030478 AFAC0068 */ sw $t4, 0x68($sp) -.L7F03047C: -/* 064FAC 7F03047C 8FA40088 */ lw $a0, 0x88($sp) -/* 064FB0 7F030480 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 064FB4 7F030484 24050001 */ li $a1, 1 -.L7F030488: -/* 064FB8 7F030488 8FBF004C */ lw $ra, 0x4c($sp) -/* 064FBC 7F03048C 8FA20068 */ lw $v0, 0x68($sp) -/* 064FC0 7F030490 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 064FC4 7F030494 D7B60030 */ ldc1 $f22, 0x30($sp) -/* 064FC8 7F030498 D7B80038 */ ldc1 $f24, 0x38($sp) -/* 064FCC 7F03049C 8FB00044 */ lw $s0, 0x44($sp) -/* 064FD0 7F0304A0 8FB10048 */ lw $s1, 0x48($sp) -/* 064FD4 7F0304A4 03E00008 */ jr $ra -/* 064FD8 7F0304A8 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0304AC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0304AC -/* 064FDC 7F0304AC 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 064FE0 7F0304B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 064FE4 7F0304B4 AFA40048 */ sw $a0, 0x48($sp) -/* 064FE8 7F0304B8 AFA5004C */ sw $a1, 0x4c($sp) -/* 064FEC 7F0304BC AFA60050 */ sw $a2, 0x50($sp) -/* 064FF0 7F0304C0 AFA70054 */ sw $a3, 0x54($sp) -/* 064FF4 7F0304C4 AFA60044 */ sw $a2, 0x44($sp) -/* 064FF8 7F0304C8 AFA00040 */ sw $zero, 0x40($sp) -/* 064FFC 7F0304CC 8C840018 */ lw $a0, 0x18($a0) -/* 065000 7F0304D0 27A6003C */ addiu $a2, $sp, 0x3c -/* 065004 7F0304D4 27A70038 */ addiu $a3, $sp, 0x38 -/* 065008 7F0304D8 0FC08C58 */ jal sub_GAME_7F023160 -/* 06500C 7F0304DC 27A50034 */ addiu $a1, $sp, 0x34 -/* 065010 7F0304E0 8FA40048 */ lw $a0, 0x48($sp) -/* 065014 7F0304E4 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 065018 7F0304E8 00002825 */ move $a1, $zero -/* 06501C 7F0304EC 8FA20054 */ lw $v0, 0x54($sp) -/* 065020 7F0304F0 8FA3004C */ lw $v1, 0x4c($sp) -/* 065024 7F0304F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065028 7F0304F8 C4440008 */ lwc1 $f4, 8($v0) -/* 06502C 7F0304FC 8C470000 */ lw $a3, ($v0) -/* 065030 7F030500 8C650000 */ lw $a1, ($v1) -/* 065034 7F030504 8C660008 */ lw $a2, 8($v1) -/* 065038 7F030508 44818000 */ mtc1 $at, $f16 -/* 06503C 7F03050C 8FB80060 */ lw $t8, 0x60($sp) -/* 065040 7F030510 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 065044 7F030514 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 065048 7F030518 44805000 */ mtc1 $zero, $f10 -/* 06504C 7F03051C 27A40044 */ addiu $a0, $sp, 0x44 -/* 065050 7F030520 E7A40010 */ swc1 $f4, 0x10($sp) -/* 065054 7F030524 AFB80014 */ sw $t8, 0x14($sp) -/* 065058 7F030528 E7B00024 */ swc1 $f16, 0x24($sp) -/* 06505C 7F03052C E7A60018 */ swc1 $f6, 0x18($sp) -/* 065060 7F030530 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 065064 7F030534 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 065068 7F030538 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 06506C 7F03053C 10400020 */ beqz $v0, .L7F0305C0 -/* 065070 7F030540 8FB90044 */ lw $t9, 0x44($sp) -/* 065074 7F030544 8FA20058 */ lw $v0, 0x58($sp) -/* 065078 7F030548 8FA80054 */ lw $t0, 0x54($sp) -/* 06507C 7F03054C AFB90030 */ sw $t9, 0x30($sp) -/* 065080 7F030550 C4520008 */ lwc1 $f18, 8($v0) -/* 065084 7F030554 8C470000 */ lw $a3, ($v0) -/* 065088 7F030558 8D060008 */ lw $a2, 8($t0) -/* 06508C 7F03055C 8D050000 */ lw $a1, ($t0) -/* 065090 7F030560 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065094 7F030564 44815000 */ mtc1 $at, $f10 -/* 065098 7F030568 8FA90060 */ lw $t1, 0x60($sp) -/* 06509C 7F03056C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0650A0 7F030570 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 0650A4 7F030574 44804000 */ mtc1 $zero, $f8 -/* 0650A8 7F030578 27A40030 */ addiu $a0, $sp, 0x30 -/* 0650AC 7F03057C E7B20010 */ swc1 $f18, 0x10($sp) -/* 0650B0 7F030580 AFA90014 */ sw $t1, 0x14($sp) -/* 0650B4 7F030584 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0650B8 7F030588 E7A40018 */ swc1 $f4, 0x18($sp) -/* 0650BC 7F03058C E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0650C0 7F030590 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0650C4 7F030594 E7A80020 */ swc1 $f8, 0x20($sp) -/* 0650C8 7F030598 5040000A */ beql $v0, $zero, .L7F0305C4 -/* 0650CC 7F03059C 8FA40048 */ lw $a0, 0x48($sp) -/* 0650D0 7F0305A0 8FA2005C */ lw $v0, 0x5c($sp) -/* 0650D4 7F0305A4 8FAA0030 */ lw $t2, 0x30($sp) -/* 0650D8 7F0305A8 240B0001 */ li $t3, 1 -/* 0650DC 7F0305AC 50400004 */ beql $v0, $zero, .L7F0305C0 -/* 0650E0 7F0305B0 AFAB0040 */ sw $t3, 0x40($sp) -/* 0650E4 7F0305B4 55420003 */ bnel $t2, $v0, .L7F0305C4 -/* 0650E8 7F0305B8 8FA40048 */ lw $a0, 0x48($sp) -/* 0650EC 7F0305BC AFAB0040 */ sw $t3, 0x40($sp) -.L7F0305C0: -/* 0650F0 7F0305C0 8FA40048 */ lw $a0, 0x48($sp) -.L7F0305C4: -/* 0650F4 7F0305C4 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 0650F8 7F0305C8 24050001 */ li $a1, 1 -/* 0650FC 7F0305CC 8FBF002C */ lw $ra, 0x2c($sp) -/* 065100 7F0305D0 8FA20040 */ lw $v0, 0x40($sp) -/* 065104 7F0305D4 27BD0048 */ addiu $sp, $sp, 0x48 -/* 065108 7F0305D8 03E00008 */ jr $ra -/* 06510C 7F0305DC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0305E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0305E0 -/* 065110 7F0305E0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 065114 7F0305E4 AFB10030 */ sw $s1, 0x30($sp) -/* 065118 7F0305E8 AFB0002C */ sw $s0, 0x2c($sp) -/* 06511C 7F0305EC 00E08025 */ move $s0, $a3 -/* 065120 7F0305F0 00808825 */ move $s1, $a0 -/* 065124 7F0305F4 AFBF0034 */ sw $ra, 0x34($sp) -/* 065128 7F0305F8 AFA50054 */ sw $a1, 0x54($sp) -/* 06512C 7F0305FC AFA60058 */ sw $a2, 0x58($sp) -/* 065130 7F030600 AFA6004C */ sw $a2, 0x4c($sp) -/* 065134 7F030604 AFA00048 */ sw $zero, 0x48($sp) -/* 065138 7F030608 8C840018 */ lw $a0, 0x18($a0) -/* 06513C 7F03060C 27A60044 */ addiu $a2, $sp, 0x44 -/* 065140 7F030610 27A5003C */ addiu $a1, $sp, 0x3c -/* 065144 7F030614 0FC08C58 */ jal sub_GAME_7F023160 -/* 065148 7F030618 27A70040 */ addiu $a3, $sp, 0x40 -/* 06514C 7F03061C 02202025 */ move $a0, $s1 -/* 065150 7F030620 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 065154 7F030624 00002825 */ move $a1, $zero -/* 065158 7F030628 8FA20054 */ lw $v0, 0x54($sp) -/* 06515C 7F03062C C6040008 */ lwc1 $f4, 8($s0) -/* 065160 7F030630 8E070000 */ lw $a3, ($s0) -/* 065164 7F030634 8C450000 */ lw $a1, ($v0) -/* 065168 7F030638 8C460008 */ lw $a2, 8($v0) -/* 06516C 7F03063C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065170 7F030640 44818000 */ mtc1 $at, $f16 -/* 065174 7F030644 8FAF0068 */ lw $t7, 0x68($sp) -/* 065178 7F030648 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 06517C 7F03064C C7A80040 */ lwc1 $f8, 0x40($sp) -/* 065180 7F030650 44805000 */ mtc1 $zero, $f10 -/* 065184 7F030654 27A4004C */ addiu $a0, $sp, 0x4c -/* 065188 7F030658 E7A40010 */ swc1 $f4, 0x10($sp) -/* 06518C 7F03065C AFAF0014 */ sw $t7, 0x14($sp) -/* 065190 7F030660 E7B00024 */ swc1 $f16, 0x24($sp) -/* 065194 7F030664 E7A60018 */ swc1 $f6, 0x18($sp) -/* 065198 7F030668 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 06519C 7F03066C 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0651A0 7F030670 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 0651A4 7F030674 1040002C */ beqz $v0, .L7F030728 -/* 0651A8 7F030678 8FB8004C */ lw $t8, 0x4c($sp) -/* 0651AC 7F03067C 8FA20060 */ lw $v0, 0x60($sp) -/* 0651B0 7F030680 AFB80038 */ sw $t8, 0x38($sp) -/* 0651B4 7F030684 8E060008 */ lw $a2, 8($s0) -/* 0651B8 7F030688 C4520008 */ lwc1 $f18, 8($v0) -/* 0651BC 7F03068C 8E050000 */ lw $a1, ($s0) -/* 0651C0 7F030690 8C470000 */ lw $a3, ($v0) -/* 0651C4 7F030694 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0651C8 7F030698 44815000 */ mtc1 $at, $f10 -/* 0651CC 7F03069C 8FB90068 */ lw $t9, 0x68($sp) -/* 0651D0 7F0306A0 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0651D4 7F0306A4 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 0651D8 7F0306A8 44804000 */ mtc1 $zero, $f8 -/* 0651DC 7F0306AC 27A40038 */ addiu $a0, $sp, 0x38 -/* 0651E0 7F0306B0 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0651E4 7F0306B4 AFB90014 */ sw $t9, 0x14($sp) -/* 0651E8 7F0306B8 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0651EC 7F0306BC E7A40018 */ swc1 $f4, 0x18($sp) -/* 0651F0 7F0306C0 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0651F4 7F0306C4 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0651F8 7F0306C8 E7A80020 */ swc1 $f8, 0x20($sp) -/* 0651FC 7F0306CC 10400016 */ beqz $v0, .L7F030728 -/* 065200 7F0306D0 02202025 */ move $a0, $s1 -/* 065204 7F0306D4 C7B00064 */ lwc1 $f16, 0x64($sp) -/* 065208 7F0306D8 8FA80068 */ lw $t0, 0x68($sp) -/* 06520C 7F0306DC 8FA50054 */ lw $a1, 0x54($sp) -/* 065210 7F0306E0 8FA60058 */ lw $a2, 0x58($sp) -/* 065214 7F0306E4 02003825 */ move $a3, $s0 -/* 065218 7F0306E8 E7B00010 */ swc1 $f16, 0x10($sp) -/* 06521C 7F0306EC 0FC0C07F */ jal sub_GAME_7F0301FC -/* 065220 7F0306F0 AFA80014 */ sw $t0, 0x14($sp) -/* 065224 7F0306F4 1040000C */ beqz $v0, .L7F030728 -/* 065228 7F0306F8 02202025 */ move $a0, $s1 -/* 06522C 7F0306FC C7B20064 */ lwc1 $f18, 0x64($sp) -/* 065230 7F030700 8FA90068 */ lw $t1, 0x68($sp) -/* 065234 7F030704 02002825 */ move $a1, $s0 -/* 065238 7F030708 8FA6004C */ lw $a2, 0x4c($sp) -/* 06523C 7F03070C 8FA70060 */ lw $a3, 0x60($sp) -/* 065240 7F030710 E7B20010 */ swc1 $f18, 0x10($sp) -/* 065244 7F030714 0FC0C07F */ jal sub_GAME_7F0301FC -/* 065248 7F030718 AFA90014 */ sw $t1, 0x14($sp) -/* 06524C 7F03071C 10400002 */ beqz $v0, .L7F030728 -/* 065250 7F030720 240A0001 */ li $t2, 1 -/* 065254 7F030724 AFAA0048 */ sw $t2, 0x48($sp) -.L7F030728: -/* 065258 7F030728 02202025 */ move $a0, $s1 -/* 06525C 7F03072C 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 065260 7F030730 24050001 */ li $a1, 1 -/* 065264 7F030734 8FBF0034 */ lw $ra, 0x34($sp) -/* 065268 7F030738 8FA20048 */ lw $v0, 0x48($sp) -/* 06526C 7F03073C 8FB0002C */ lw $s0, 0x2c($sp) -/* 065270 7F030740 8FB10030 */ lw $s1, 0x30($sp) -/* 065274 7F030744 03E00008 */ jr $ra -/* 065278 7F030748 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F03074C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03074C -/* 06527C 7F03074C C4A40000 */ lwc1 $f4, ($a1) -/* 065280 7F030750 C4860000 */ lwc1 $f6, ($a0) -/* 065284 7F030754 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 065288 7F030758 44800000 */ mtc1 $zero, $f0 -/* 06528C 7F03075C 46062201 */ sub.s $f8, $f4, $f6 -/* 065290 7F030760 E7A8000C */ swc1 $f8, 0xc($sp) -/* 065294 7F030764 C4900004 */ lwc1 $f16, 4($a0) -/* 065298 7F030768 C4AA0004 */ lwc1 $f10, 4($a1) -/* 06529C 7F03076C 46105481 */ sub.s $f18, $f10, $f16 -/* 0652A0 7F030770 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0652A4 7F030774 C4860008 */ lwc1 $f6, 8($a0) -/* 0652A8 7F030778 C4A40008 */ lwc1 $f4, 8($a1) -/* 0652AC 7F03077C 46062201 */ sub.s $f8, $f4, $f6 -/* 0652B0 7F030780 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0652B4 7F030784 C4CA0008 */ lwc1 $f10, 8($a2) -/* 0652B8 7F030788 E7A00004 */ swc1 $f0, 4($sp) -/* 0652BC 7F03078C C7A40014 */ lwc1 $f4, 0x14($sp) -/* 0652C0 7F030790 46005407 */ neg.s $f16, $f10 -/* 0652C4 7F030794 E7B00000 */ swc1 $f16, ($sp) -/* 0652C8 7F030798 C4D20000 */ lwc1 $f18, ($a2) -/* 0652CC 7F03079C C7AA0000 */ lwc1 $f10, ($sp) -/* 0652D0 7F0307A0 C7B0000C */ lwc1 $f16, 0xc($sp) -/* 0652D4 7F0307A4 E7B20008 */ swc1 $f18, 8($sp) -/* 0652D8 7F0307A8 C7A60008 */ lwc1 $f6, 8($sp) -/* 0652DC 7F0307AC 46062202 */ mul.s $f8, $f4, $f6 -/* 0652E0 7F0307B0 00000000 */ nop -/* 0652E4 7F0307B4 46105482 */ mul.s $f18, $f10, $f16 -/* 0652E8 7F0307B8 46124100 */ add.s $f4, $f8, $f18 -/* 0652EC 7F0307BC 4604003C */ c.lt.s $f0, $f4 -/* 0652F0 7F0307C0 00000000 */ nop -/* 0652F4 7F0307C4 45010013 */ bc1t .L7F030814 -/* 0652F8 7F0307C8 00000000 */ nop -/* 0652FC 7F0307CC C4860000 */ lwc1 $f6, ($a0) -/* 065300 7F0307D0 E7A6000C */ swc1 $f6, 0xc($sp) -/* 065304 7F0307D4 C48A0004 */ lwc1 $f10, 4($a0) -/* 065308 7F0307D8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 06530C 7F0307DC C4900008 */ lwc1 $f16, 8($a0) -/* 065310 7F0307E0 E7B00014 */ swc1 $f16, 0x14($sp) -/* 065314 7F0307E4 C4A80000 */ lwc1 $f8, ($a1) -/* 065318 7F0307E8 E4880000 */ swc1 $f8, ($a0) -/* 06531C 7F0307EC C4B20004 */ lwc1 $f18, 4($a1) -/* 065320 7F0307F0 E4920004 */ swc1 $f18, 4($a0) -/* 065324 7F0307F4 C4A40008 */ lwc1 $f4, 8($a1) -/* 065328 7F0307F8 E4840008 */ swc1 $f4, 8($a0) -/* 06532C 7F0307FC C7A6000C */ lwc1 $f6, 0xc($sp) -/* 065330 7F030800 E4A60000 */ swc1 $f6, ($a1) -/* 065334 7F030804 C7AA0010 */ lwc1 $f10, 0x10($sp) -/* 065338 7F030808 E4AA0004 */ swc1 $f10, 4($a1) -/* 06533C 7F03080C C7B00014 */ lwc1 $f16, 0x14($sp) -/* 065340 7F030810 E4B00008 */ swc1 $f16, 8($a1) -.L7F030814: -/* 065344 7F030814 03E00008 */ jr $ra -/* 065348 7F030818 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F03081C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052014 -.word 0x3f733333 /*0.94999999*/ -glabel D_80052018 -.word 0x3f733333 /*0.94999999*/ -glabel D_8005201C -.word 0x3f99999a /*1.2*/ -glabel D_80052020 -.word 0x3f99999a /*1.2*/ -.text -glabel sub_GAME_7F03081C -/* 06534C 7F03081C 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 065350 7F030820 AFB00030 */ sw $s0, 0x30($sp) -/* 065354 7F030824 00A08025 */ move $s0, $a1 -/* 065358 7F030828 AFBF0034 */ sw $ra, 0x34($sp) -/* 06535C 7F03082C AFA400B0 */ sw $a0, 0xb0($sp) -/* 065360 7F030830 AFA600B8 */ sw $a2, 0xb8($sp) -/* 065364 7F030834 AFA700BC */ sw $a3, 0xbc($sp) -/* 065368 7F030838 AFA00088 */ sw $zero, 0x88($sp) -/* 06536C 7F03083C AFA00084 */ sw $zero, 0x84($sp) -/* 065370 7F030840 AFA00050 */ sw $zero, 0x50($sp) -/* 065374 7F030844 8C840018 */ lw $a0, 0x18($a0) -/* 065378 7F030848 27A70048 */ addiu $a3, $sp, 0x48 -/* 06537C 7F03084C 27A6004C */ addiu $a2, $sp, 0x4c -/* 065380 7F030850 0FC08C58 */ jal sub_GAME_7F023160 -/* 065384 7F030854 27A50044 */ addiu $a1, $sp, 0x44 -/* 065388 7F030858 8FA200BC */ lw $v0, 0xbc($sp) -/* 06538C 7F03085C C6060000 */ lwc1 $f6, ($s0) -/* 065390 7F030860 44800000 */ mtc1 $zero, $f0 -/* 065394 7F030864 C4440000 */ lwc1 $f4, ($v0) -/* 065398 7F030868 E7A000A4 */ swc1 $f0, 0xa4($sp) -/* 06539C 7F03086C 46062201 */ sub.s $f8, $f4, $f6 -/* 0653A0 7F030870 E7A800A0 */ swc1 $f8, 0xa0($sp) -/* 0653A4 7F030874 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 0653A8 7F030878 C6040008 */ lwc1 $f4, 8($s0) -/* 0653AC 7F03087C C44A0008 */ lwc1 $f10, 8($v0) -/* 0653B0 7F030880 46080032 */ c.eq.s $f0, $f8 -/* 0653B4 7F030884 46045181 */ sub.s $f6, $f10, $f4 -/* 0653B8 7F030888 45000008 */ bc1f .L7F0308AC -/* 0653BC 7F03088C E7A600A8 */ swc1 $f6, 0xa8($sp) -/* 0653C0 7F030890 C7B200A8 */ lwc1 $f18, 0xa8($sp) -/* 0653C4 7F030894 46120032 */ c.eq.s $f0, $f18 -/* 0653C8 7F030898 00000000 */ nop -/* 0653CC 7F03089C 45020004 */ bc1fl .L7F0308B0 -/* 0653D0 7F0308A0 C7B200A8 */ lwc1 $f18, 0xa8($sp) -/* 0653D4 7F0308A4 1000012D */ b .L7F030D5C -/* 0653D8 7F0308A8 24020001 */ li $v0, 1 -.L7F0308AC: -/* 0653DC 7F0308AC C7B200A8 */ lwc1 $f18, 0xa8($sp) -.L7F0308B0: -/* 0653E0 7F0308B0 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 0653E4 7F0308B4 46129282 */ mul.s $f10, $f18, $f18 -/* 0653E8 7F0308B8 00000000 */ nop -/* 0653EC 7F0308BC 46108102 */ mul.s $f4, $f16, $f16 -/* 0653F0 7F0308C0 0C007DF8 */ jal sqrtf -/* 0653F4 7F0308C4 46045300 */ add.s $f12, $f10, $f4 -/* 0653F8 7F0308C8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0653FC 7F0308CC 44813000 */ mtc1 $at, $f6 -/* 065400 7F0308D0 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 065404 7F0308D4 C7B200A8 */ lwc1 $f18, 0xa8($sp) -/* 065408 7F0308D8 46003083 */ div.s $f2, $f6, $f0 -/* 06540C 7F0308DC C7A800CC */ lwc1 $f8, 0xcc($sp) -/* 065410 7F0308E0 3C018005 */ lui $at, %hi(D_80052014) -/* 065414 7F0308E4 C42A2014 */ lwc1 $f10, %lo(D_80052014)($at) -/* 065418 7F0308E8 3C018005 */ lui $at, %hi(D_80052018) -/* 06541C 7F0308EC C4262018 */ lwc1 $f6, %lo(D_80052018)($at) -/* 065420 7F0308F0 3C018005 */ lui $at, %hi(D_8005201C) -/* 065424 7F0308F4 8FA400B0 */ lw $a0, 0xb0($sp) -/* 065428 7F0308F8 00002825 */ move $a1, $zero -/* 06542C 7F0308FC 46028402 */ mul.s $f16, $f16, $f2 -/* 065430 7F030900 00000000 */ nop -/* 065434 7F030904 46029482 */ mul.s $f18, $f18, $f2 -/* 065438 7F030908 00000000 */ nop -/* 06543C 7F03090C 46088302 */ mul.s $f12, $f16, $f8 -/* 065440 7F030910 E7B000A0 */ swc1 $f16, 0xa0($sp) -/* 065444 7F030914 E7B200A8 */ swc1 $f18, 0xa8($sp) -/* 065448 7F030918 460A6102 */ mul.s $f4, $f12, $f10 -/* 06544C 7F03091C 00000000 */ nop -/* 065450 7F030920 46089382 */ mul.s $f14, $f18, $f8 -/* 065454 7F030924 E7A4009C */ swc1 $f4, 0x9c($sp) -/* 065458 7F030928 C424201C */ lwc1 $f4, %lo(D_8005201C)($at) -/* 06545C 7F03092C 3C018005 */ lui $at, %hi(D_80052020) -/* 065460 7F030930 46067282 */ mul.s $f10, $f14, $f6 -/* 065464 7F030934 C4262020 */ lwc1 $f6, %lo(D_80052020)($at) -/* 065468 7F030938 46046202 */ mul.s $f8, $f12, $f4 -/* 06546C 7F03093C E7AA0098 */ swc1 $f10, 0x98($sp) -/* 065470 7F030940 46067282 */ mul.s $f10, $f14, $f6 -/* 065474 7F030944 E7A80094 */ swc1 $f8, 0x94($sp) -/* 065478 7F030948 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 06547C 7F03094C E7AA0090 */ swc1 $f10, 0x90($sp) -/* 065480 7F030950 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 065484 7F030954 00000000 */ nop -/* 065488 7F030958 8FAF00B8 */ lw $t7, 0xb8($sp) -/* 06548C 7F03095C C7A40098 */ lwc1 $f4, 0x98($sp) -/* 065490 7F030960 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 065494 7F030964 AFAF00AC */ sw $t7, 0xac($sp) -/* 065498 7F030968 C6020008 */ lwc1 $f2, 8($s0) -/* 06549C 7F03096C C6000000 */ lwc1 $f0, ($s0) -/* 0654A0 7F030970 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0654A4 7F030974 46061281 */ sub.s $f10, $f2, $f6 -/* 0654A8 7F030978 44803000 */ mtc1 $zero, $f6 -/* 0654AC 7F03097C 8FB800D0 */ lw $t8, 0xd0($sp) -/* 0654B0 7F030980 46040200 */ add.s $f8, $f0, $f4 -/* 0654B4 7F030984 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0654B8 7F030988 44815000 */ mtc1 $at, $f10 -/* 0654BC 7F03098C C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0654C0 7F030990 44074000 */ mfc1 $a3, $f8 -/* 0654C4 7F030994 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0654C8 7F030998 44061000 */ mfc1 $a2, $f2 -/* 0654CC 7F03099C 44050000 */ mfc1 $a1, $f0 -/* 0654D0 7F0309A0 27A400AC */ addiu $a0, $sp, 0xac -/* 0654D4 7F0309A4 AFB80014 */ sw $t8, 0x14($sp) -/* 0654D8 7F0309A8 E7A60020 */ swc1 $f6, 0x20($sp) -/* 0654DC 7F0309AC E7A40018 */ swc1 $f4, 0x18($sp) -/* 0654E0 7F0309B0 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0654E4 7F0309B4 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0654E8 7F0309B8 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 0654EC 7F0309BC 10400026 */ beqz $v0, .L7F030A58 -/* 0654F0 7F0309C0 27A400AC */ addiu $a0, $sp, 0xac -/* 0654F4 7F0309C4 8FA200BC */ lw $v0, 0xbc($sp) -/* 0654F8 7F0309C8 C7B200C8 */ lwc1 $f18, 0xc8($sp) -/* 0654FC 7F0309CC C6100000 */ lwc1 $f16, ($s0) -/* 065500 7F0309D0 C7AE0098 */ lwc1 $f14, 0x98($sp) -/* 065504 7F0309D4 C60C0008 */ lwc1 $f12, 8($s0) -/* 065508 7F0309D8 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 06550C 7F0309DC 460E8380 */ add.s $f14, $f16, $f14 -/* 065510 7F0309E0 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 065514 7F0309E4 C4480000 */ lwc1 $f8, ($v0) -/* 065518 7F0309E8 460A6281 */ sub.s $f10, $f12, $f10 -/* 06551C 7F0309EC 46128402 */ mul.s $f16, $f16, $f18 -/* 065520 7F0309F0 C7AC0090 */ lwc1 $f12, 0x90($sp) -/* 065524 7F0309F4 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 065528 7F0309F8 C4440008 */ lwc1 $f4, 8($v0) -/* 06552C 7F0309FC C7A20094 */ lwc1 $f2, 0x94($sp) -/* 065530 7F030A00 46123482 */ mul.s $f18, $f6, $f18 -/* 065534 7F030A04 460C4300 */ add.s $f12, $f8, $f12 -/* 065538 7F030A08 44057000 */ mfc1 $a1, $f14 -/* 06553C 7F030A0C 44065000 */ mfc1 $a2, $f10 -/* 065540 7F030A10 8FB900D0 */ lw $t9, 0xd0($sp) -/* 065544 7F030A14 46022081 */ sub.s $f2, $f4, $f2 -/* 065548 7F030A18 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 06554C 7F030A1C C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 065550 7F030A20 460C8300 */ add.s $f12, $f16, $f12 -/* 065554 7F030A24 44808000 */ mtc1 $zero, $f16 -/* 065558 7F030A28 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06555C 7F030A2C 46029080 */ add.s $f2, $f18, $f2 -/* 065560 7F030A30 44076000 */ mfc1 $a3, $f12 -/* 065564 7F030A34 44816000 */ mtc1 $at, $f12 -/* 065568 7F030A38 E7A40018 */ swc1 $f4, 0x18($sp) -/* 06556C 7F030A3C E7A20010 */ swc1 $f2, 0x10($sp) -/* 065570 7F030A40 AFB90014 */ sw $t9, 0x14($sp) -/* 065574 7F030A44 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 065578 7F030A48 E7B00020 */ swc1 $f16, 0x20($sp) -/* 06557C 7F030A4C 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 065580 7F030A50 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 065584 7F030A54 14400009 */ bnez $v0, .L7F030A7C -.L7F030A58: -/* 065588 7F030A58 24080001 */ li $t0, 1 -/* 06558C 7F030A5C AFA80088 */ sw $t0, 0x88($sp) -/* 065590 7F030A60 27A40078 */ addiu $a0, $sp, 0x78 -/* 065594 7F030A64 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 065598 7F030A68 27A5006C */ addiu $a1, $sp, 0x6c -/* 06559C 7F030A6C 27A40078 */ addiu $a0, $sp, 0x78 -/* 0655A0 7F030A70 27A5006C */ addiu $a1, $sp, 0x6c -/* 0655A4 7F030A74 0FC0C1D3 */ jal sub_GAME_7F03074C -/* 0655A8 7F030A78 27A600A0 */ addiu $a2, $sp, 0xa0 -.L7F030A7C: -/* 0655AC 7F030A7C 8FA900B8 */ lw $t1, 0xb8($sp) -/* 0655B0 7F030A80 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0655B4 7F030A84 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0655B8 7F030A88 AFA900AC */ sw $t1, 0xac($sp) -/* 0655BC 7F030A8C C6020008 */ lwc1 $f2, 8($s0) -/* 0655C0 7F030A90 C6000000 */ lwc1 $f0, ($s0) -/* 0655C4 7F030A94 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0655C8 7F030A98 46041180 */ add.s $f6, $f2, $f4 -/* 0655CC 7F030A9C 44802000 */ mtc1 $zero, $f4 -/* 0655D0 7F030AA0 8FAA00D0 */ lw $t2, 0xd0($sp) -/* 0655D4 7F030AA4 460A0201 */ sub.s $f8, $f0, $f10 -/* 0655D8 7F030AA8 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0655DC 7F030AAC 44813000 */ mtc1 $at, $f6 -/* 0655E0 7F030AB0 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0655E4 7F030AB4 44074000 */ mfc1 $a3, $f8 -/* 0655E8 7F030AB8 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0655EC 7F030ABC 44061000 */ mfc1 $a2, $f2 -/* 0655F0 7F030AC0 44050000 */ mfc1 $a1, $f0 -/* 0655F4 7F030AC4 27A400AC */ addiu $a0, $sp, 0xac -/* 0655F8 7F030AC8 AFAA0014 */ sw $t2, 0x14($sp) -/* 0655FC 7F030ACC E7A40020 */ swc1 $f4, 0x20($sp) -/* 065600 7F030AD0 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 065604 7F030AD4 E7A60024 */ swc1 $f6, 0x24($sp) -/* 065608 7F030AD8 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 06560C 7F030ADC E7A8001C */ swc1 $f8, 0x1c($sp) -/* 065610 7F030AE0 10400026 */ beqz $v0, .L7F030B7C -/* 065614 7F030AE4 27A400AC */ addiu $a0, $sp, 0xac -/* 065618 7F030AE8 8FA200BC */ lw $v0, 0xbc($sp) -/* 06561C 7F030AEC C6120008 */ lwc1 $f18, 8($s0) -/* 065620 7F030AF0 C7B0009C */ lwc1 $f16, 0x9c($sp) -/* 065624 7F030AF4 C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 065628 7F030AF8 C7AC00C8 */ lwc1 $f12, 0xc8($sp) -/* 06562C 7F030AFC 46109400 */ add.s $f16, $f18, $f16 -/* 065630 7F030B00 C4520000 */ lwc1 $f18, ($v0) -/* 065634 7F030B04 460C7382 */ mul.s $f14, $f14, $f12 -/* 065638 7F030B08 C60A0000 */ lwc1 $f10, ($s0) -/* 06563C 7F030B0C C7A80098 */ lwc1 $f8, 0x98($sp) -/* 065640 7F030B10 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 065644 7F030B14 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 065648 7F030B18 46085201 */ sub.s $f8, $f10, $f8 -/* 06564C 7F030B1C C44A0008 */ lwc1 $f10, 8($v0) -/* 065650 7F030B20 C7A20094 */ lwc1 $f2, 0x94($sp) -/* 065654 7F030B24 46069181 */ sub.s $f6, $f18, $f6 -/* 065658 7F030B28 460C2302 */ mul.s $f12, $f4, $f12 -/* 06565C 7F030B2C 44054000 */ mfc1 $a1, $f8 -/* 065660 7F030B30 46025080 */ add.s $f2, $f10, $f2 -/* 065664 7F030B34 44068000 */ mfc1 $a2, $f16 -/* 065668 7F030B38 8FAB00D0 */ lw $t3, 0xd0($sp) -/* 06566C 7F030B3C 46067180 */ add.s $f6, $f14, $f6 -/* 065670 7F030B40 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 065674 7F030B44 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 065678 7F030B48 46026080 */ add.s $f2, $f12, $f2 -/* 06567C 7F030B4C 44073000 */ mfc1 $a3, $f6 -/* 065680 7F030B50 44803000 */ mtc1 $zero, $f6 -/* 065684 7F030B54 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065688 7F030B58 44816000 */ mtc1 $at, $f12 -/* 06568C 7F030B5C E7A20010 */ swc1 $f2, 0x10($sp) -/* 065690 7F030B60 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 065694 7F030B64 AFAB0014 */ sw $t3, 0x14($sp) -/* 065698 7F030B68 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 06569C 7F030B6C E7A60020 */ swc1 $f6, 0x20($sp) -/* 0656A0 7F030B70 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0656A4 7F030B74 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 0656A8 7F030B78 14400009 */ bnez $v0, .L7F030BA0 -.L7F030B7C: -/* 0656AC 7F030B7C 240C0001 */ li $t4, 1 -/* 0656B0 7F030B80 AFAC0084 */ sw $t4, 0x84($sp) -/* 0656B4 7F030B84 27A40060 */ addiu $a0, $sp, 0x60 -/* 0656B8 7F030B88 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 0656BC 7F030B8C 27A50054 */ addiu $a1, $sp, 0x54 -/* 0656C0 7F030B90 27A40060 */ addiu $a0, $sp, 0x60 -/* 0656C4 7F030B94 27A50054 */ addiu $a1, $sp, 0x54 -/* 0656C8 7F030B98 0FC0C1D3 */ jal sub_GAME_7F03074C -/* 0656CC 7F030B9C 27A600A0 */ addiu $a2, $sp, 0xa0 -.L7F030BA0: -/* 0656D0 7F030BA0 8FAD0088 */ lw $t5, 0x88($sp) -/* 0656D4 7F030BA4 8FAE0084 */ lw $t6, 0x84($sp) -/* 0656D8 7F030BA8 8FAF0088 */ lw $t7, 0x88($sp) -/* 0656DC 7F030BAC 11A00019 */ beqz $t5, .L7F030C14 -/* 0656E0 7F030BB0 00000000 */ nop -/* 0656E4 7F030BB4 11C00017 */ beqz $t6, .L7F030C14 -/* 0656E8 7F030BB8 27A40078 */ addiu $a0, $sp, 0x78 -/* 0656EC 7F030BBC 27A50060 */ addiu $a1, $sp, 0x60 -/* 0656F0 7F030BC0 0FC0C1D3 */ jal sub_GAME_7F03074C -/* 0656F4 7F030BC4 27A600A0 */ addiu $a2, $sp, 0xa0 -/* 0656F8 7F030BC8 27A4006C */ addiu $a0, $sp, 0x6c -/* 0656FC 7F030BCC 27A50054 */ addiu $a1, $sp, 0x54 -/* 065700 7F030BD0 0FC0C1D3 */ jal sub_GAME_7F03074C -/* 065704 7F030BD4 27A600A0 */ addiu $a2, $sp, 0xa0 -/* 065708 7F030BD8 8FA400C0 */ lw $a0, 0xc0($sp) -/* 06570C 7F030BDC C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 065710 7F030BE0 8FA500C4 */ lw $a1, 0xc4($sp) -/* 065714 7F030BE4 E48A0000 */ swc1 $f10, ($a0) -/* 065718 7F030BE8 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 06571C 7F030BEC E4880004 */ swc1 $f8, 4($a0) -/* 065720 7F030BF0 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 065724 7F030BF4 E4860008 */ swc1 $f6, 8($a0) -/* 065728 7F030BF8 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 06572C 7F030BFC E4A40000 */ swc1 $f4, ($a1) -/* 065730 7F030C00 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 065734 7F030C04 E4AA0004 */ swc1 $f10, 4($a1) -/* 065738 7F030C08 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 06573C 7F030C0C 1000004F */ b .L7F030D4C -/* 065740 7F030C10 E4A80008 */ swc1 $f8, 8($a1) -.L7F030C14: -/* 065744 7F030C14 11E00010 */ beqz $t7, .L7F030C58 -/* 065748 7F030C18 8FB80084 */ lw $t8, 0x84($sp) -/* 06574C 7F030C1C 8FA400C0 */ lw $a0, 0xc0($sp) -/* 065750 7F030C20 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 065754 7F030C24 8FA500C4 */ lw $a1, 0xc4($sp) -/* 065758 7F030C28 E4860000 */ swc1 $f6, ($a0) -/* 06575C 7F030C2C C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 065760 7F030C30 E4840004 */ swc1 $f4, 4($a0) -/* 065764 7F030C34 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 065768 7F030C38 E48A0008 */ swc1 $f10, 8($a0) -/* 06576C 7F030C3C C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 065770 7F030C40 E4A80000 */ swc1 $f8, ($a1) -/* 065774 7F030C44 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 065778 7F030C48 E4A60004 */ swc1 $f6, 4($a1) -/* 06577C 7F030C4C C7A40074 */ lwc1 $f4, 0x74($sp) -/* 065780 7F030C50 1000003E */ b .L7F030D4C -/* 065784 7F030C54 E4A40008 */ swc1 $f4, 8($a1) -.L7F030C58: -/* 065788 7F030C58 13000010 */ beqz $t8, .L7F030C9C -/* 06578C 7F030C5C 8FA200BC */ lw $v0, 0xbc($sp) -/* 065790 7F030C60 8FA400C0 */ lw $a0, 0xc0($sp) -/* 065794 7F030C64 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 065798 7F030C68 8FA500C4 */ lw $a1, 0xc4($sp) -/* 06579C 7F030C6C E48A0000 */ swc1 $f10, ($a0) -/* 0657A0 7F030C70 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 0657A4 7F030C74 E4880004 */ swc1 $f8, 4($a0) -/* 0657A8 7F030C78 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 0657AC 7F030C7C E4860008 */ swc1 $f6, 8($a0) -/* 0657B0 7F030C80 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 0657B4 7F030C84 E4A40000 */ swc1 $f4, ($a1) -/* 0657B8 7F030C88 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 0657BC 7F030C8C E4AA0004 */ swc1 $f10, 4($a1) -/* 0657C0 7F030C90 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0657C4 7F030C94 1000002D */ b .L7F030D4C -/* 0657C8 7F030C98 E4A80008 */ swc1 $f8, 8($a1) -.L7F030C9C: -/* 0657CC 7F030C9C 8FB900B8 */ lw $t9, 0xb8($sp) -/* 0657D0 7F030CA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0657D4 7F030CA4 8FA800D0 */ lw $t0, 0xd0($sp) -/* 0657D8 7F030CA8 AFB900AC */ sw $t9, 0xac($sp) -/* 0657DC 7F030CAC C4460008 */ lwc1 $f6, 8($v0) -/* 0657E0 7F030CB0 8C470000 */ lw $a3, ($v0) -/* 0657E4 7F030CB4 8E060008 */ lw $a2, 8($s0) -/* 0657E8 7F030CB8 8E050000 */ lw $a1, ($s0) -/* 0657EC 7F030CBC E7A60010 */ swc1 $f6, 0x10($sp) -/* 0657F0 7F030CC0 44813000 */ mtc1 $at, $f6 -/* 0657F4 7F030CC4 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0657F8 7F030CC8 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 0657FC 7F030CCC 44804000 */ mtc1 $zero, $f8 -/* 065800 7F030CD0 27A400AC */ addiu $a0, $sp, 0xac -/* 065804 7F030CD4 AFA80014 */ sw $t0, 0x14($sp) -/* 065808 7F030CD8 E7A40018 */ swc1 $f4, 0x18($sp) -/* 06580C 7F030CDC E7A60024 */ swc1 $f6, 0x24($sp) -/* 065810 7F030CE0 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 065814 7F030CE4 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 065818 7F030CE8 E7A80020 */ swc1 $f8, 0x20($sp) -/* 06581C 7F030CEC 10400010 */ beqz $v0, .L7F030D30 -/* 065820 7F030CF0 27A400AC */ addiu $a0, $sp, 0xac -/* 065824 7F030CF4 8FA900BC */ lw $t1, 0xbc($sp) -/* 065828 7F030CF8 8FAA00D0 */ lw $t2, 0xd0($sp) -/* 06582C 7F030CFC C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 065830 7F030D00 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 065834 7F030D04 8D250000 */ lw $a1, ($t1) -/* 065838 7F030D08 8D260008 */ lw $a2, 8($t1) -/* 06583C 7F030D0C 8FA700CC */ lw $a3, 0xcc($sp) -/* 065840 7F030D10 AFAA0010 */ sw $t2, 0x10($sp) -/* 065844 7F030D14 E7A40014 */ swc1 $f4, 0x14($sp) -/* 065848 7F030D18 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 06584C 7F030D1C E7AA0018 */ swc1 $f10, 0x18($sp) -/* 065850 7F030D20 04410003 */ bgez $v0, .L7F030D30 -/* 065854 7F030D24 240B0001 */ li $t3, 1 -/* 065858 7F030D28 10000008 */ b .L7F030D4C -/* 06585C 7F030D2C AFAB0050 */ sw $t3, 0x50($sp) -.L7F030D30: -/* 065860 7F030D30 8FA400C0 */ lw $a0, 0xc0($sp) -/* 065864 7F030D34 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 065868 7F030D38 8FA500C4 */ lw $a1, 0xc4($sp) -/* 06586C 7F030D3C 8FA400C0 */ lw $a0, 0xc0($sp) -/* 065870 7F030D40 8FA500C4 */ lw $a1, 0xc4($sp) -/* 065874 7F030D44 0FC0C1D3 */ jal sub_GAME_7F03074C -/* 065878 7F030D48 27A600A0 */ addiu $a2, $sp, 0xa0 -.L7F030D4C: -/* 06587C 7F030D4C 8FA400B0 */ lw $a0, 0xb0($sp) -/* 065880 7F030D50 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 065884 7F030D54 24050001 */ li $a1, 1 -/* 065888 7F030D58 8FA20050 */ lw $v0, 0x50($sp) -.L7F030D5C: -/* 06588C 7F030D5C 8FBF0034 */ lw $ra, 0x34($sp) -/* 065890 7F030D60 8FB00030 */ lw $s0, 0x30($sp) -/* 065894 7F030D64 27BD00B0 */ addiu $sp, $sp, 0xb0 -/* 065898 7F030D68 03E00008 */ jr $ra -/* 06589C 7F030D6C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F030D70(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052024 -.word 0x3f733333 /*0.94999999*/ -glabel D_80052028 -.word 0x3f733333 /*0.94999999*/ -glabel D_8005202C -.word 0x3f99999a /*1.2*/ -glabel D_80052030 -.word 0x3f99999a /*1.2*/ -.text -glabel sub_GAME_7F030D70 -/* 0658A0 7F030D70 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0658A4 7F030D74 AFB00030 */ sw $s0, 0x30($sp) -/* 0658A8 7F030D78 00A08025 */ move $s0, $a1 -/* 0658AC 7F030D7C AFBF0034 */ sw $ra, 0x34($sp) -/* 0658B0 7F030D80 AFA400B8 */ sw $a0, 0xb8($sp) -/* 0658B4 7F030D84 AFA600C0 */ sw $a2, 0xc0($sp) -/* 0658B8 7F030D88 AFA700C4 */ sw $a3, 0xc4($sp) -/* 0658BC 7F030D8C AFA00090 */ sw $zero, 0x90($sp) -/* 0658C0 7F030D90 AFA0008C */ sw $zero, 0x8c($sp) -/* 0658C4 7F030D94 AFA00058 */ sw $zero, 0x58($sp) -/* 0658C8 7F030D98 8C840018 */ lw $a0, 0x18($a0) -/* 0658CC 7F030D9C 27A70048 */ addiu $a3, $sp, 0x48 -/* 0658D0 7F030DA0 27A6004C */ addiu $a2, $sp, 0x4c -/* 0658D4 7F030DA4 0FC08C58 */ jal sub_GAME_7F023160 -/* 0658D8 7F030DA8 27A50044 */ addiu $a1, $sp, 0x44 -/* 0658DC 7F030DAC 8FA200C4 */ lw $v0, 0xc4($sp) -/* 0658E0 7F030DB0 C6060000 */ lwc1 $f6, ($s0) -/* 0658E4 7F030DB4 44800000 */ mtc1 $zero, $f0 -/* 0658E8 7F030DB8 C4440000 */ lwc1 $f4, ($v0) -/* 0658EC 7F030DBC E7A000AC */ swc1 $f0, 0xac($sp) -/* 0658F0 7F030DC0 46062201 */ sub.s $f8, $f4, $f6 -/* 0658F4 7F030DC4 E7A800A8 */ swc1 $f8, 0xa8($sp) -/* 0658F8 7F030DC8 C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 0658FC 7F030DCC C6040008 */ lwc1 $f4, 8($s0) -/* 065900 7F030DD0 C44A0008 */ lwc1 $f10, 8($v0) -/* 065904 7F030DD4 46080032 */ c.eq.s $f0, $f8 -/* 065908 7F030DD8 46045181 */ sub.s $f6, $f10, $f4 -/* 06590C 7F030DDC 45000008 */ bc1f .L7F030E00 -/* 065910 7F030DE0 E7A600B0 */ swc1 $f6, 0xb0($sp) -/* 065914 7F030DE4 C7B200B0 */ lwc1 $f18, 0xb0($sp) -/* 065918 7F030DE8 46120032 */ c.eq.s $f0, $f18 -/* 06591C 7F030DEC 00000000 */ nop -/* 065920 7F030DF0 45020004 */ bc1fl .L7F030E04 -/* 065924 7F030DF4 C7B200B0 */ lwc1 $f18, 0xb0($sp) -/* 065928 7F030DF8 1000013F */ b .L7F0312F8 -/* 06592C 7F030DFC 24020001 */ li $v0, 1 -.L7F030E00: -/* 065930 7F030E00 C7B200B0 */ lwc1 $f18, 0xb0($sp) -.L7F030E04: -/* 065934 7F030E04 C7B000A8 */ lwc1 $f16, 0xa8($sp) -/* 065938 7F030E08 46129282 */ mul.s $f10, $f18, $f18 -/* 06593C 7F030E0C 00000000 */ nop -/* 065940 7F030E10 46108102 */ mul.s $f4, $f16, $f16 -/* 065944 7F030E14 0C007DF8 */ jal sqrtf -/* 065948 7F030E18 46045300 */ add.s $f12, $f10, $f4 -/* 06594C 7F030E1C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065950 7F030E20 44813000 */ mtc1 $at, $f6 -/* 065954 7F030E24 C7B000A8 */ lwc1 $f16, 0xa8($sp) -/* 065958 7F030E28 C7B200B0 */ lwc1 $f18, 0xb0($sp) -/* 06595C 7F030E2C 46003083 */ div.s $f2, $f6, $f0 -/* 065960 7F030E30 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 065964 7F030E34 3C018005 */ lui $at, %hi(D_80052024) -/* 065968 7F030E38 C42A2024 */ lwc1 $f10, %lo(D_80052024)($at) -/* 06596C 7F030E3C 3C018005 */ lui $at, %hi(D_80052028) -/* 065970 7F030E40 C4262028 */ lwc1 $f6, %lo(D_80052028)($at) -/* 065974 7F030E44 3C018005 */ lui $at, %hi(D_8005202C) -/* 065978 7F030E48 8FA400B8 */ lw $a0, 0xb8($sp) -/* 06597C 7F030E4C 00002825 */ move $a1, $zero -/* 065980 7F030E50 46028402 */ mul.s $f16, $f16, $f2 -/* 065984 7F030E54 00000000 */ nop -/* 065988 7F030E58 46029482 */ mul.s $f18, $f18, $f2 -/* 06598C 7F030E5C 00000000 */ nop -/* 065990 7F030E60 46088302 */ mul.s $f12, $f16, $f8 -/* 065994 7F030E64 E7B000A8 */ swc1 $f16, 0xa8($sp) -/* 065998 7F030E68 E7B200B0 */ swc1 $f18, 0xb0($sp) -/* 06599C 7F030E6C 460A6102 */ mul.s $f4, $f12, $f10 -/* 0659A0 7F030E70 00000000 */ nop -/* 0659A4 7F030E74 46089382 */ mul.s $f14, $f18, $f8 -/* 0659A8 7F030E78 E7A400A4 */ swc1 $f4, 0xa4($sp) -/* 0659AC 7F030E7C C424202C */ lwc1 $f4, %lo(D_8005202C)($at) -/* 0659B0 7F030E80 3C018005 */ lui $at, %hi(D_80052030) -/* 0659B4 7F030E84 46067282 */ mul.s $f10, $f14, $f6 -/* 0659B8 7F030E88 C4262030 */ lwc1 $f6, %lo(D_80052030)($at) -/* 0659BC 7F030E8C 46046202 */ mul.s $f8, $f12, $f4 -/* 0659C0 7F030E90 E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 0659C4 7F030E94 46067282 */ mul.s $f10, $f14, $f6 -/* 0659C8 7F030E98 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 0659CC 7F030E9C 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 0659D0 7F030EA0 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 0659D4 7F030EA4 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 0659D8 7F030EA8 00000000 */ nop -/* 0659DC 7F030EAC 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0659E0 7F030EB0 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0659E4 7F030EB4 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0659E8 7F030EB8 AFAF00B4 */ sw $t7, 0xb4($sp) -/* 0659EC 7F030EBC C6020008 */ lwc1 $f2, 8($s0) -/* 0659F0 7F030EC0 C6000000 */ lwc1 $f0, ($s0) -/* 0659F4 7F030EC4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0659F8 7F030EC8 46061281 */ sub.s $f10, $f2, $f6 -/* 0659FC 7F030ECC 44803000 */ mtc1 $zero, $f6 -/* 065A00 7F030ED0 8FB800D8 */ lw $t8, 0xd8($sp) -/* 065A04 7F030ED4 46040200 */ add.s $f8, $f0, $f4 -/* 065A08 7F030ED8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 065A0C 7F030EDC 44815000 */ mtc1 $at, $f10 -/* 065A10 7F030EE0 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 065A14 7F030EE4 44074000 */ mfc1 $a3, $f8 -/* 065A18 7F030EE8 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 065A1C 7F030EEC 44061000 */ mfc1 $a2, $f2 -/* 065A20 7F030EF0 44050000 */ mfc1 $a1, $f0 -/* 065A24 7F030EF4 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 065A28 7F030EF8 AFB80014 */ sw $t8, 0x14($sp) -/* 065A2C 7F030EFC E7A60020 */ swc1 $f6, 0x20($sp) -/* 065A30 7F030F00 E7A40018 */ swc1 $f4, 0x18($sp) -/* 065A34 7F030F04 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 065A38 7F030F08 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 065A3C 7F030F0C E7A8001C */ swc1 $f8, 0x1c($sp) -/* 065A40 7F030F10 10400026 */ beqz $v0, .L7F030FAC -/* 065A44 7F030F14 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 065A48 7F030F18 8FA200C4 */ lw $v0, 0xc4($sp) -/* 065A4C 7F030F1C C7B200D0 */ lwc1 $f18, 0xd0($sp) -/* 065A50 7F030F20 C6100000 */ lwc1 $f16, ($s0) -/* 065A54 7F030F24 C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 065A58 7F030F28 C60C0008 */ lwc1 $f12, 8($s0) -/* 065A5C 7F030F2C C7AA00A4 */ lwc1 $f10, 0xa4($sp) -/* 065A60 7F030F30 460E8380 */ add.s $f14, $f16, $f14 -/* 065A64 7F030F34 C7B000A8 */ lwc1 $f16, 0xa8($sp) -/* 065A68 7F030F38 C4480000 */ lwc1 $f8, ($v0) -/* 065A6C 7F030F3C 460A6281 */ sub.s $f10, $f12, $f10 -/* 065A70 7F030F40 46128402 */ mul.s $f16, $f16, $f18 -/* 065A74 7F030F44 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 065A78 7F030F48 C7A600B0 */ lwc1 $f6, 0xb0($sp) -/* 065A7C 7F030F4C C4440008 */ lwc1 $f4, 8($v0) -/* 065A80 7F030F50 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 065A84 7F030F54 46123482 */ mul.s $f18, $f6, $f18 -/* 065A88 7F030F58 460C4300 */ add.s $f12, $f8, $f12 -/* 065A8C 7F030F5C 44057000 */ mfc1 $a1, $f14 -/* 065A90 7F030F60 44065000 */ mfc1 $a2, $f10 -/* 065A94 7F030F64 8FB900D8 */ lw $t9, 0xd8($sp) -/* 065A98 7F030F68 46022081 */ sub.s $f2, $f4, $f2 -/* 065A9C 7F030F6C C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 065AA0 7F030F70 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 065AA4 7F030F74 460C8300 */ add.s $f12, $f16, $f12 -/* 065AA8 7F030F78 44808000 */ mtc1 $zero, $f16 -/* 065AAC 7F030F7C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065AB0 7F030F80 46029080 */ add.s $f2, $f18, $f2 -/* 065AB4 7F030F84 44076000 */ mfc1 $a3, $f12 -/* 065AB8 7F030F88 44816000 */ mtc1 $at, $f12 -/* 065ABC 7F030F8C E7A40018 */ swc1 $f4, 0x18($sp) -/* 065AC0 7F030F90 E7A20010 */ swc1 $f2, 0x10($sp) -/* 065AC4 7F030F94 AFB90014 */ sw $t9, 0x14($sp) -/* 065AC8 7F030F98 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 065ACC 7F030F9C E7B00020 */ swc1 $f16, 0x20($sp) -/* 065AD0 7F030FA0 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 065AD4 7F030FA4 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 065AD8 7F030FA8 1440000C */ bnez $v0, .L7F030FDC -.L7F030FAC: -/* 065ADC 7F030FAC 24080001 */ li $t0, 1 -/* 065AE0 7F030FB0 AFA80090 */ sw $t0, 0x90($sp) -/* 065AE4 7F030FB4 27A40080 */ addiu $a0, $sp, 0x80 -/* 065AE8 7F030FB8 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 065AEC 7F030FBC 27A50074 */ addiu $a1, $sp, 0x74 -/* 065AF0 7F030FC0 27A40080 */ addiu $a0, $sp, 0x80 -/* 065AF4 7F030FC4 27A50074 */ addiu $a1, $sp, 0x74 -/* 065AF8 7F030FC8 0FC0C1D3 */ jal sub_GAME_7F03074C -/* 065AFC 7F030FCC 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 065B00 7F030FD0 3C018008 */ lui $at, %hi(flt_CODE_bss_8007BA00) -/* 065B04 7F030FD4 C42ABA00 */ lwc1 $f10, %lo(flt_CODE_bss_8007BA00)($at) -/* 065B08 7F030FD8 E7AA0054 */ swc1 $f10, 0x54($sp) -.L7F030FDC: -/* 065B0C 7F030FDC 8FA900C0 */ lw $t1, 0xc0($sp) -/* 065B10 7F030FE0 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 065B14 7F030FE4 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 065B18 7F030FE8 AFA900B4 */ sw $t1, 0xb4($sp) -/* 065B1C 7F030FEC C6020008 */ lwc1 $f2, 8($s0) -/* 065B20 7F030FF0 C6000000 */ lwc1 $f0, ($s0) -/* 065B24 7F030FF4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065B28 7F030FF8 46061280 */ add.s $f10, $f2, $f6 -/* 065B2C 7F030FFC 44803000 */ mtc1 $zero, $f6 -/* 065B30 7F031000 8FAA00D8 */ lw $t2, 0xd8($sp) -/* 065B34 7F031004 46080101 */ sub.s $f4, $f0, $f8 -/* 065B38 7F031008 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 065B3C 7F03100C 44815000 */ mtc1 $at, $f10 -/* 065B40 7F031010 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 065B44 7F031014 44072000 */ mfc1 $a3, $f4 -/* 065B48 7F031018 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 065B4C 7F03101C 44061000 */ mfc1 $a2, $f2 -/* 065B50 7F031020 44050000 */ mfc1 $a1, $f0 -/* 065B54 7F031024 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 065B58 7F031028 AFAA0014 */ sw $t2, 0x14($sp) -/* 065B5C 7F03102C E7A60020 */ swc1 $f6, 0x20($sp) -/* 065B60 7F031030 E7A80018 */ swc1 $f8, 0x18($sp) -/* 065B64 7F031034 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 065B68 7F031038 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 065B6C 7F03103C E7A4001C */ swc1 $f4, 0x1c($sp) -/* 065B70 7F031040 10400026 */ beqz $v0, .L7F0310DC -/* 065B74 7F031044 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 065B78 7F031048 8FA200C4 */ lw $v0, 0xc4($sp) -/* 065B7C 7F03104C C6120008 */ lwc1 $f18, 8($s0) -/* 065B80 7F031050 C7B000A4 */ lwc1 $f16, 0xa4($sp) -/* 065B84 7F031054 C7AE00A8 */ lwc1 $f14, 0xa8($sp) -/* 065B88 7F031058 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 065B8C 7F03105C 46109400 */ add.s $f16, $f18, $f16 -/* 065B90 7F031060 C4520000 */ lwc1 $f18, ($v0) -/* 065B94 7F031064 460C7382 */ mul.s $f14, $f14, $f12 -/* 065B98 7F031068 C60A0000 */ lwc1 $f10, ($s0) -/* 065B9C 7F03106C C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 065BA0 7F031070 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 065BA4 7F031074 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 065BA8 7F031078 46085201 */ sub.s $f8, $f10, $f8 -/* 065BAC 7F03107C C44A0008 */ lwc1 $f10, 8($v0) -/* 065BB0 7F031080 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 065BB4 7F031084 46069181 */ sub.s $f6, $f18, $f6 -/* 065BB8 7F031088 460C2302 */ mul.s $f12, $f4, $f12 -/* 065BBC 7F03108C 44054000 */ mfc1 $a1, $f8 -/* 065BC0 7F031090 46025080 */ add.s $f2, $f10, $f2 -/* 065BC4 7F031094 44068000 */ mfc1 $a2, $f16 -/* 065BC8 7F031098 8FAB00D8 */ lw $t3, 0xd8($sp) -/* 065BCC 7F03109C 46067180 */ add.s $f6, $f14, $f6 -/* 065BD0 7F0310A0 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 065BD4 7F0310A4 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 065BD8 7F0310A8 46026080 */ add.s $f2, $f12, $f2 -/* 065BDC 7F0310AC 44073000 */ mfc1 $a3, $f6 -/* 065BE0 7F0310B0 44803000 */ mtc1 $zero, $f6 -/* 065BE4 7F0310B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065BE8 7F0310B8 44816000 */ mtc1 $at, $f12 -/* 065BEC 7F0310BC E7A20010 */ swc1 $f2, 0x10($sp) -/* 065BF0 7F0310C0 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 065BF4 7F0310C4 AFAB0014 */ sw $t3, 0x14($sp) -/* 065BF8 7F0310C8 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 065BFC 7F0310CC E7A60020 */ swc1 $f6, 0x20($sp) -/* 065C00 7F0310D0 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 065C04 7F0310D4 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 065C08 7F0310D8 1440000C */ bnez $v0, .L7F03110C -.L7F0310DC: -/* 065C0C 7F0310DC 240C0001 */ li $t4, 1 -/* 065C10 7F0310E0 AFAC008C */ sw $t4, 0x8c($sp) -/* 065C14 7F0310E4 27A40068 */ addiu $a0, $sp, 0x68 -/* 065C18 7F0310E8 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 065C1C 7F0310EC 27A5005C */ addiu $a1, $sp, 0x5c -/* 065C20 7F0310F0 27A40068 */ addiu $a0, $sp, 0x68 -/* 065C24 7F0310F4 27A5005C */ addiu $a1, $sp, 0x5c -/* 065C28 7F0310F8 0FC0C1D3 */ jal sub_GAME_7F03074C -/* 065C2C 7F0310FC 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 065C30 7F031100 3C018008 */ lui $at, %hi(flt_CODE_bss_8007BA00) -/* 065C34 7F031104 C428BA00 */ lwc1 $f8, %lo(flt_CODE_bss_8007BA00)($at) -/* 065C38 7F031108 E7A80050 */ swc1 $f8, 0x50($sp) -.L7F03110C: -/* 065C3C 7F03110C 8FAD0090 */ lw $t5, 0x90($sp) -/* 065C40 7F031110 8FAE008C */ lw $t6, 0x8c($sp) -/* 065C44 7F031114 8FAF0090 */ lw $t7, 0x90($sp) -/* 065C48 7F031118 11A00025 */ beqz $t5, .L7F0311B0 -/* 065C4C 7F03111C 00000000 */ nop -/* 065C50 7F031120 11C00023 */ beqz $t6, .L7F0311B0 -/* 065C54 7F031124 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 065C58 7F031128 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 065C5C 7F03112C C7A60080 */ lwc1 $f6, 0x80($sp) -/* 065C60 7F031130 8FA400C8 */ lw $a0, 0xc8($sp) -/* 065C64 7F031134 460A203C */ c.lt.s $f4, $f10 -/* 065C68 7F031138 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 065C6C 7F03113C 45020010 */ bc1fl .L7F031180 -/* 065C70 7F031140 8FA500CC */ lw $a1, 0xcc($sp) -/* 065C74 7F031144 8FA400C8 */ lw $a0, 0xc8($sp) -/* 065C78 7F031148 8FA500CC */ lw $a1, 0xcc($sp) -/* 065C7C 7F03114C E4860000 */ swc1 $f6, ($a0) -/* 065C80 7F031150 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 065C84 7F031154 E4880004 */ swc1 $f8, 4($a0) -/* 065C88 7F031158 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 065C8C 7F03115C E4840008 */ swc1 $f4, 8($a0) -/* 065C90 7F031160 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 065C94 7F031164 E4AA0000 */ swc1 $f10, ($a1) -/* 065C98 7F031168 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 065C9C 7F03116C E4A60004 */ swc1 $f6, 4($a1) -/* 065CA0 7F031170 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 065CA4 7F031174 1000005C */ b .L7F0312E8 -/* 065CA8 7F031178 E4A80008 */ swc1 $f8, 8($a1) -/* 065CAC 7F03117C 8FA500CC */ lw $a1, 0xcc($sp) -.L7F031180: -/* 065CB0 7F031180 E4840000 */ swc1 $f4, ($a0) -/* 065CB4 7F031184 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 065CB8 7F031188 E48A0004 */ swc1 $f10, 4($a0) -/* 065CBC 7F03118C C7A60070 */ lwc1 $f6, 0x70($sp) -/* 065CC0 7F031190 E4860008 */ swc1 $f6, 8($a0) -/* 065CC4 7F031194 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 065CC8 7F031198 E4A80000 */ swc1 $f8, ($a1) -/* 065CCC 7F03119C C7A40060 */ lwc1 $f4, 0x60($sp) -/* 065CD0 7F0311A0 E4A40004 */ swc1 $f4, 4($a1) -/* 065CD4 7F0311A4 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 065CD8 7F0311A8 1000004F */ b .L7F0312E8 -/* 065CDC 7F0311AC E4AA0008 */ swc1 $f10, 8($a1) -.L7F0311B0: -/* 065CE0 7F0311B0 11E00010 */ beqz $t7, .L7F0311F4 -/* 065CE4 7F0311B4 8FB8008C */ lw $t8, 0x8c($sp) -/* 065CE8 7F0311B8 8FA400C8 */ lw $a0, 0xc8($sp) -/* 065CEC 7F0311BC C7A60080 */ lwc1 $f6, 0x80($sp) -/* 065CF0 7F0311C0 8FA500CC */ lw $a1, 0xcc($sp) -/* 065CF4 7F0311C4 E4860000 */ swc1 $f6, ($a0) -/* 065CF8 7F0311C8 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 065CFC 7F0311CC E4880004 */ swc1 $f8, 4($a0) -/* 065D00 7F0311D0 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 065D04 7F0311D4 E4840008 */ swc1 $f4, 8($a0) -/* 065D08 7F0311D8 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 065D0C 7F0311DC E4AA0000 */ swc1 $f10, ($a1) -/* 065D10 7F0311E0 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 065D14 7F0311E4 E4A60004 */ swc1 $f6, 4($a1) -/* 065D18 7F0311E8 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 065D1C 7F0311EC 1000003E */ b .L7F0312E8 -/* 065D20 7F0311F0 E4A80008 */ swc1 $f8, 8($a1) -.L7F0311F4: -/* 065D24 7F0311F4 13000010 */ beqz $t8, .L7F031238 -/* 065D28 7F0311F8 8FA200C4 */ lw $v0, 0xc4($sp) -/* 065D2C 7F0311FC 8FA400C8 */ lw $a0, 0xc8($sp) -/* 065D30 7F031200 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 065D34 7F031204 8FA500CC */ lw $a1, 0xcc($sp) -/* 065D38 7F031208 E4840000 */ swc1 $f4, ($a0) -/* 065D3C 7F03120C C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 065D40 7F031210 E48A0004 */ swc1 $f10, 4($a0) -/* 065D44 7F031214 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 065D48 7F031218 E4860008 */ swc1 $f6, 8($a0) -/* 065D4C 7F03121C C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 065D50 7F031220 E4A80000 */ swc1 $f8, ($a1) -/* 065D54 7F031224 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 065D58 7F031228 E4A40004 */ swc1 $f4, 4($a1) -/* 065D5C 7F03122C C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 065D60 7F031230 1000002D */ b .L7F0312E8 -/* 065D64 7F031234 E4AA0008 */ swc1 $f10, 8($a1) -.L7F031238: -/* 065D68 7F031238 8FB900C0 */ lw $t9, 0xc0($sp) -/* 065D6C 7F03123C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065D70 7F031240 8FA800D8 */ lw $t0, 0xd8($sp) -/* 065D74 7F031244 AFB900B4 */ sw $t9, 0xb4($sp) -/* 065D78 7F031248 C4460008 */ lwc1 $f6, 8($v0) -/* 065D7C 7F03124C 8C470000 */ lw $a3, ($v0) -/* 065D80 7F031250 8E060008 */ lw $a2, 8($s0) -/* 065D84 7F031254 8E050000 */ lw $a1, ($s0) -/* 065D88 7F031258 E7A60010 */ swc1 $f6, 0x10($sp) -/* 065D8C 7F03125C 44813000 */ mtc1 $at, $f6 -/* 065D90 7F031260 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 065D94 7F031264 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 065D98 7F031268 44805000 */ mtc1 $zero, $f10 -/* 065D9C 7F03126C 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 065DA0 7F031270 AFA80014 */ sw $t0, 0x14($sp) -/* 065DA4 7F031274 E7A80018 */ swc1 $f8, 0x18($sp) -/* 065DA8 7F031278 E7A60024 */ swc1 $f6, 0x24($sp) -/* 065DAC 7F03127C E7A4001C */ swc1 $f4, 0x1c($sp) -/* 065DB0 7F031280 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 065DB4 7F031284 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 065DB8 7F031288 10400010 */ beqz $v0, .L7F0312CC -/* 065DBC 7F03128C 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 065DC0 7F031290 8FA900C4 */ lw $t1, 0xc4($sp) -/* 065DC4 7F031294 8FAA00D8 */ lw $t2, 0xd8($sp) -/* 065DC8 7F031298 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 065DCC 7F03129C C7A40048 */ lwc1 $f4, 0x48($sp) -/* 065DD0 7F0312A0 8D250000 */ lw $a1, ($t1) -/* 065DD4 7F0312A4 8D260008 */ lw $a2, 8($t1) -/* 065DD8 7F0312A8 8FA700D4 */ lw $a3, 0xd4($sp) -/* 065DDC 7F0312AC AFAA0010 */ sw $t2, 0x10($sp) -/* 065DE0 7F0312B0 E7A80014 */ swc1 $f8, 0x14($sp) -/* 065DE4 7F0312B4 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 065DE8 7F0312B8 E7A40018 */ swc1 $f4, 0x18($sp) -/* 065DEC 7F0312BC 04410003 */ bgez $v0, .L7F0312CC -/* 065DF0 7F0312C0 240B0001 */ li $t3, 1 -/* 065DF4 7F0312C4 10000008 */ b .L7F0312E8 -/* 065DF8 7F0312C8 AFAB0058 */ sw $t3, 0x58($sp) -.L7F0312CC: -/* 065DFC 7F0312CC 8FA400C8 */ lw $a0, 0xc8($sp) -/* 065E00 7F0312D0 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 065E04 7F0312D4 8FA500CC */ lw $a1, 0xcc($sp) -/* 065E08 7F0312D8 8FA400C8 */ lw $a0, 0xc8($sp) -/* 065E0C 7F0312DC 8FA500CC */ lw $a1, 0xcc($sp) -/* 065E10 7F0312E0 0FC0C1D3 */ jal sub_GAME_7F03074C -/* 065E14 7F0312E4 27A600A8 */ addiu $a2, $sp, 0xa8 -.L7F0312E8: -/* 065E18 7F0312E8 8FA400B8 */ lw $a0, 0xb8($sp) -/* 065E1C 7F0312EC 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 065E20 7F0312F0 24050001 */ li $a1, 1 -/* 065E24 7F0312F4 8FA20058 */ lw $v0, 0x58($sp) -.L7F0312F8: -/* 065E28 7F0312F8 8FBF0034 */ lw $ra, 0x34($sp) -/* 065E2C 7F0312FC 8FB00030 */ lw $s0, 0x30($sp) -/* 065E30 7F031300 27BD00B8 */ addiu $sp, $sp, 0xb8 -/* 065E34 7F031304 03E00008 */ jr $ra -/* 065E38 7F031308 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F03130C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052034 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80052038 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F03130C -/* 065E3C 7F03130C 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 065E40 7F031310 AFBF0034 */ sw $ra, 0x34($sp) -/* 065E44 7F031314 AFB00030 */ sw $s0, 0x30($sp) -/* 065E48 7F031318 AFA40080 */ sw $a0, 0x80($sp) -/* 065E4C 7F03131C AFA60088 */ sw $a2, 0x88($sp) -/* 065E50 7F031320 00A08025 */ move $s0, $a1 -/* 065E54 7F031324 10C00004 */ beqz $a2, .L7F031338 -/* 065E58 7F031328 8C820018 */ lw $v0, 0x18($a0) -/* 065E5C 7F03132C AFA5004C */ sw $a1, 0x4c($sp) -/* 065E60 7F031330 10000003 */ b .L7F031340 -/* 065E64 7F031334 AFA70048 */ sw $a3, 0x48($sp) -.L7F031338: -/* 065E68 7F031338 AFA7004C */ sw $a3, 0x4c($sp) -/* 065E6C 7F03133C AFB00048 */ sw $s0, 0x48($sp) -.L7F031340: -/* 065E70 7F031340 C6040000 */ lwc1 $f4, ($s0) -/* 065E74 7F031344 C4460008 */ lwc1 $f6, 8($v0) -/* 065E78 7F031348 44805000 */ mtc1 $zero, $f10 -/* 065E7C 7F03134C 46062201 */ sub.s $f8, $f4, $f6 -/* 065E80 7F031350 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 065E84 7F031354 E7A80070 */ swc1 $f8, 0x70($sp) -/* 065E88 7F031358 C4460010 */ lwc1 $f6, 0x10($v0) -/* 065E8C 7F03135C C6040008 */ lwc1 $f4, 8($s0) -/* 065E90 7F031360 AFA2007C */ sw $v0, 0x7c($sp) -/* 065E94 7F031364 46062201 */ sub.s $f8, $f4, $f6 -/* 065E98 7F031368 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 065E9C 7F03136C E7A80078 */ swc1 $f8, 0x78($sp) -/* 065EA0 7F031370 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 065EA4 7F031374 460A5102 */ mul.s $f4, $f10, $f10 -/* 065EA8 7F031378 00000000 */ nop -/* 065EAC 7F03137C 46063202 */ mul.s $f8, $f6, $f6 -/* 065EB0 7F031380 0C007DF8 */ jal sqrtf -/* 065EB4 7F031384 46082300 */ add.s $f12, $f4, $f8 -/* 065EB8 7F031388 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 065EBC 7F03138C 44818000 */ mtc1 $at, $f16 -/* 065EC0 7F031390 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 065EC4 7F031394 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 065EC8 7F031398 46008383 */ div.s $f14, $f16, $f0 -/* 065ECC 7F03139C C7A40078 */ lwc1 $f4, 0x78($sp) -/* 065ED0 7F0313A0 3C018005 */ lui $at, %hi(D_80052034) -/* 065ED4 7F0313A4 460E9082 */ mul.s $f2, $f18, $f14 -/* 065ED8 7F0313A8 00000000 */ nop -/* 065EDC 7F0313AC 46025182 */ mul.s $f6, $f10, $f2 -/* 065EE0 7F0313B0 4602803C */ c.lt.s $f16, $f2 -/* 065EE4 7F0313B4 46022202 */ mul.s $f8, $f4, $f2 -/* 065EE8 7F0313B8 E7A60070 */ swc1 $f6, 0x70($sp) -/* 065EEC 7F0313BC 45000003 */ bc1f .L7F0313CC -/* 065EF0 7F0313C0 E7A80078 */ swc1 $f8, 0x78($sp) -/* 065EF4 7F0313C4 10000005 */ b .L7F0313DC -/* 065EF8 7F0313C8 C42C2034 */ lwc1 $f12, %lo(D_80052034)($at) -.L7F0313CC: -/* 065EFC 7F0313CC 460E9302 */ mul.s $f12, $f18, $f14 -/* 065F00 7F0313D0 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 065F04 7F0313D4 00000000 */ nop -/* 065F08 7F0313D8 46000306 */ mov.s $f12, $f0 -.L7F0313DC: -/* 065F0C 7F0313DC 8FB80088 */ lw $t8, 0x88($sp) -/* 065F10 7F0313E0 17000009 */ bnez $t8, .L7F031408 -/* 065F14 7F0313E4 00000000 */ nop -/* 065F18 7F0313E8 44805000 */ mtc1 $zero, $f10 -/* 065F1C 7F0313EC 3C018005 */ lui $at, %hi(D_80052038) -/* 065F20 7F0313F0 460A6032 */ c.eq.s $f12, $f10 -/* 065F24 7F0313F4 00000000 */ nop -/* 065F28 7F0313F8 45010003 */ bc1t .L7F031408 -/* 065F2C 7F0313FC 00000000 */ nop -/* 065F30 7F031400 C4262038 */ lwc1 $f6, %lo(D_80052038)($at) -/* 065F34 7F031404 460C3301 */ sub.s $f12, $f6, $f12 -.L7F031408: -/* 065F38 7F031408 0FC15FA8 */ jal cosf -/* 065F3C 7F03140C E7AC005C */ swc1 $f12, 0x5c($sp) -/* 065F40 7F031410 C7AC005C */ lwc1 $f12, 0x5c($sp) -/* 065F44 7F031414 0FC15FAB */ jal sinf -/* 065F48 7F031418 E7A00040 */ swc1 $f0, 0x40($sp) -/* 065F4C 7F03141C C7A40040 */ lwc1 $f4, 0x40($sp) -/* 065F50 7F031420 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 065F54 7F031424 C7AC005C */ lwc1 $f12, 0x5c($sp) -/* 065F58 7F031428 46002207 */ neg.s $f8, $f4 -/* 065F5C 7F03142C C7A40078 */ lwc1 $f4, 0x78($sp) -/* 065F60 7F031430 460A4182 */ mul.s $f6, $f8, $f10 -/* 065F64 7F031434 00000000 */ nop -/* 065F68 7F031438 46002202 */ mul.s $f8, $f4, $f0 -/* 065F6C 7F03143C 44802000 */ mtc1 $zero, $f4 -/* 065F70 7F031440 00000000 */ nop -/* 065F74 7F031444 E7A40054 */ swc1 $f4, 0x54($sp) -/* 065F78 7F031448 46064280 */ add.s $f10, $f8, $f6 -/* 065F7C 7F03144C 0FC15FAB */ jal sinf -/* 065F80 7F031450 E7AA0050 */ swc1 $f10, 0x50($sp) -/* 065F84 7F031454 C7AC005C */ lwc1 $f12, 0x5c($sp) -/* 065F88 7F031458 0FC15FA8 */ jal cosf -/* 065F8C 7F03145C E7A00040 */ swc1 $f0, 0x40($sp) -/* 065F90 7F031460 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 065F94 7F031464 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 065F98 7F031468 8FA2007C */ lw $v0, 0x7c($sp) -/* 065F9C 7F03146C 46004187 */ neg.s $f6, $f8 -/* 065FA0 7F031470 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 065FA4 7F031474 460A3102 */ mul.s $f4, $f6, $f10 -/* 065FA8 7F031478 8FB9004C */ lw $t9, 0x4c($sp) -/* 065FAC 7F03147C 8FA80048 */ lw $t0, 0x48($sp) -/* 065FB0 7F031480 46004182 */ mul.s $f6, $f8, $f0 -/* 065FB4 7F031484 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 065FB8 7F031488 8FA40080 */ lw $a0, 0x80($sp) -/* 065FBC 7F03148C 8FA900A4 */ lw $t1, 0xa4($sp) -/* 065FC0 7F031490 24450008 */ addiu $a1, $v0, 8 -/* 065FC4 7F031494 27A70064 */ addiu $a3, $sp, 0x64 -/* 065FC8 7F031498 46062281 */ sub.s $f10, $f4, $f6 -/* 065FCC 7F03149C E7AA0058 */ swc1 $f10, 0x58($sp) -/* 065FD0 7F0314A0 C6040000 */ lwc1 $f4, ($s0) -/* 065FD4 7F0314A4 46044180 */ add.s $f6, $f8, $f4 -/* 065FD8 7F0314A8 E7A60064 */ swc1 $f6, 0x64($sp) -/* 065FDC 7F0314AC C6080004 */ lwc1 $f8, 4($s0) -/* 065FE0 7F0314B0 E7A80068 */ swc1 $f8, 0x68($sp) -/* 065FE4 7F0314B4 C6040008 */ lwc1 $f4, 8($s0) -/* 065FE8 7F0314B8 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 065FEC 7F0314BC 46045180 */ add.s $f6, $f10, $f4 -/* 065FF0 7F0314C0 E7A6006C */ swc1 $f6, 0x6c($sp) -/* 065FF4 7F0314C4 8C460014 */ lw $a2, 0x14($v0) -/* 065FF8 7F0314C8 AFB90010 */ sw $t9, 0x10($sp) -/* 065FFC 7F0314CC AFA80014 */ sw $t0, 0x14($sp) -/* 066000 7F0314D0 E7A80018 */ swc1 $f8, 0x18($sp) -/* 066004 7F0314D4 C48A0024 */ lwc1 $f10, 0x24($a0) -/* 066008 7F0314D8 AFA5003C */ sw $a1, 0x3c($sp) -/* 06600C 7F0314DC AFA90020 */ sw $t1, 0x20($sp) -/* 066010 7F0314E0 0FC0C207 */ jal sub_GAME_7F03081C -/* 066014 7F0314E4 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 066018 7F0314E8 10400028 */ beqz $v0, .L7F03158C -/* 06601C 7F0314EC 8FA5003C */ lw $a1, 0x3c($sp) -/* 066020 7F0314F0 8FAA0094 */ lw $t2, 0x94($sp) -/* 066024 7F0314F4 8FA40080 */ lw $a0, 0x80($sp) -/* 066028 7F0314F8 8FAB007C */ lw $t3, 0x7c($sp) -/* 06602C 7F0314FC 1140000A */ beqz $t2, .L7F031528 -/* 066030 7F031500 27A70064 */ addiu $a3, $sp, 0x64 -/* 066034 7F031504 8FAC0098 */ lw $t4, 0x98($sp) -/* 066038 7F031508 8FAD00A4 */ lw $t5, 0xa4($sp) -/* 06603C 7F03150C 8D660014 */ lw $a2, 0x14($t3) -/* 066040 7F031510 AFA00014 */ sw $zero, 0x14($sp) -/* 066044 7F031514 AFAC0010 */ sw $t4, 0x10($sp) -/* 066048 7F031518 0FC0C12B */ jal sub_GAME_7F0304AC -/* 06604C 7F03151C AFAD0018 */ sw $t5, 0x18($sp) -/* 066050 7F031520 5040001B */ beql $v0, $zero, .L7F031590 -/* 066054 7F031524 00001025 */ move $v0, $zero -.L7F031528: -/* 066058 7F031528 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 06605C 7F03152C 8FA2009C */ lw $v0, 0x9c($sp) -/* 066060 7F031530 24180001 */ li $t8, 1 -/* 066064 7F031534 51C0000D */ beql $t6, $zero, .L7F03156C -/* 066068 7F031538 A0580002 */ sb $t8, 2($v0) -/* 06606C 7F03153C 8FA2009C */ lw $v0, 0x9c($sp) -/* 066070 7F031540 240F0001 */ li $t7, 1 -/* 066074 7F031544 A04F0003 */ sb $t7, 3($v0) -/* 066078 7F031548 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 06607C 7F03154C E444002C */ swc1 $f4, 0x2c($v0) -/* 066080 7F031550 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 066084 7F031554 E4460030 */ swc1 $f6, 0x30($v0) -/* 066088 7F031558 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 06608C 7F03155C E4480034 */ swc1 $f8, 0x34($v0) -/* 066090 7F031560 1000000B */ b .L7F031590 -/* 066094 7F031564 24020001 */ li $v0, 1 -/* 066098 7F031568 A0580002 */ sb $t8, 2($v0) -.L7F03156C: -/* 06609C 7F03156C C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 0660A0 7F031570 E44A0004 */ swc1 $f10, 4($v0) -/* 0660A4 7F031574 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 0660A8 7F031578 E4440008 */ swc1 $f4, 8($v0) -/* 0660AC 7F03157C C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0660B0 7F031580 E446000C */ swc1 $f6, 0xc($v0) -/* 0660B4 7F031584 10000002 */ b .L7F031590 -/* 0660B8 7F031588 24020001 */ li $v0, 1 -.L7F03158C: -/* 0660BC 7F03158C 00001025 */ move $v0, $zero -.L7F031590: -/* 0660C0 7F031590 8FBF0034 */ lw $ra, 0x34($sp) -/* 0660C4 7F031594 8FB00030 */ lw $s0, 0x30($sp) -/* 0660C8 7F031598 27BD0080 */ addiu $sp, $sp, 0x80 -/* 0660CC 7F03159C 03E00008 */ jr $ra -/* 0660D0 7F0315A0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0315A4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005203C -.word 0x40490fdb /*3.1415927*/ -glabel D_80052040 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052044 -.word 0x3f99999a /*1.2*/ -glabel D_80052048 -.word 0x3f866666 /*1.05*/ -glabel D_8005204C -.word 0x3f99999a /*1.2*/ -glabel D_80052050 -.word 0x3f866666 /*1.05*/ -glabel D_80052054 -.word 0x3f99999a /*1.2*/ -glabel D_80052058 -.word 0x3f866666 /*1.05*/ -glabel D_8005205C -.word 0x3f8ccccd /*1.1*/ -glabel D_80052060 -.word 0x3f8ccccd /*1.1*/ -glabel D_80052064 -.word 0x471c4000 /*40000.0*/ -.text -glabel sub_GAME_7F0315A4 -/* 0660D4 7F0315A4 27BDFEF0 */ addiu $sp, $sp, -0x110 -/* 0660D8 7F0315A8 AFBF0084 */ sw $ra, 0x84($sp) -/* 0660DC 7F0315AC AFB70080 */ sw $s7, 0x80($sp) -/* 0660E0 7F0315B0 AFB6007C */ sw $s6, 0x7c($sp) -/* 0660E4 7F0315B4 AFB50078 */ sw $s5, 0x78($sp) -/* 0660E8 7F0315B8 AFB40074 */ sw $s4, 0x74($sp) -/* 0660EC 7F0315BC AFB30070 */ sw $s3, 0x70($sp) -/* 0660F0 7F0315C0 AFB2006C */ sw $s2, 0x6c($sp) -/* 0660F4 7F0315C4 AFB10068 */ sw $s1, 0x68($sp) -/* 0660F8 7F0315C8 AFB00064 */ sw $s0, 0x64($sp) -/* 0660FC 7F0315CC F7BE0058 */ sdc1 $f30, 0x58($sp) -/* 066100 7F0315D0 F7BC0050 */ sdc1 $f28, 0x50($sp) -/* 066104 7F0315D4 F7BA0048 */ sdc1 $f26, 0x48($sp) -/* 066108 7F0315D8 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 06610C 7F0315DC F7B60038 */ sdc1 $f22, 0x38($sp) -/* 066110 7F0315E0 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 066114 7F0315E4 AFA60118 */ sw $a2, 0x118($sp) -/* 066118 7F0315E8 948E0012 */ lhu $t6, 0x12($a0) -/* 06611C 7F0315EC 00E08025 */ move $s0, $a3 -/* 066120 7F0315F0 00809025 */ move $s2, $a0 -/* 066124 7F0315F4 31CF0010 */ andi $t7, $t6, 0x10 -/* 066128 7F0315F8 00A0A025 */ move $s4, $a1 -/* 06612C 7F0315FC 8C910018 */ lw $s1, 0x18($a0) -/* 066130 7F031600 11E00002 */ beqz $t7, .L7F03160C -/* 066134 7F031604 3416801D */ li $s6, 32797 -/* 066138 7F031608 2416001F */ li $s6, 31 -.L7F03160C: -/* 06613C 7F03160C 3C018005 */ lui $at, %hi(D_8005203C) -/* 066140 7F031610 C43E203C */ lwc1 $f30, %lo(D_8005203C)($at) -/* 066144 7F031614 3C018005 */ lui $at, %hi(D_80052040) -/* 066148 7F031618 4480E000 */ mtc1 $zero, $f28 -/* 06614C 7F03161C C43A2040 */ lwc1 $f26, %lo(D_80052040)($at) -/* 066150 7F031620 AFA000F0 */ sw $zero, 0xf0($sp) -/* 066154 7F031624 24170001 */ li $s7, 1 -/* 066158 7F031628 24150004 */ li $s5, 4 -/* 06615C 7F03162C 27B300F4 */ addiu $s3, $sp, 0xf4 -.L7F031630: -/* 066160 7F031630 82020000 */ lb $v0, ($s0) -/* 066164 7F031634 24010002 */ li $at, 2 -/* 066168 7F031638 50400004 */ beql $v0, $zero, .L7F03164C -/* 06616C 7F03163C C6840000 */ lwc1 $f4, ($s4) -/* 066170 7F031640 1441002D */ bne $v0, $at, .L7F0316F8 -/* 066174 7F031644 00000000 */ nop -/* 066178 7F031648 C6840000 */ lwc1 $f4, ($s4) -.L7F03164C: -/* 06617C 7F03164C 26180010 */ addiu $t8, $s0, 0x10 -/* 066180 7F031650 2619001C */ addiu $t9, $s0, 0x1c -/* 066184 7F031654 E7A40100 */ swc1 $f4, 0x100($sp) -/* 066188 7F031658 C6860004 */ lwc1 $f6, 4($s4) -/* 06618C 7F03165C 24080010 */ li $t0, 16 -/* 066190 7F031660 02402025 */ move $a0, $s2 -/* 066194 7F031664 E7A60104 */ swc1 $f6, 0x104($sp) -/* 066198 7F031668 C6880008 */ lwc1 $f8, 8($s4) -/* 06619C 7F03166C 26250008 */ addiu $a1, $s1, 8 -/* 0661A0 7F031670 27A70100 */ addiu $a3, $sp, 0x100 -/* 0661A4 7F031674 E7A80108 */ swc1 $f8, 0x108($sp) -/* 0661A8 7F031678 8E260014 */ lw $a2, 0x14($s1) -/* 0661AC 7F03167C AFB90014 */ sw $t9, 0x14($sp) -/* 0661B0 7F031680 AFB80010 */ sw $t8, 0x10($sp) -/* 0661B4 7F031684 C6400024 */ lwc1 $f0, 0x24($s2) -/* 0661B8 7F031688 AFA80020 */ sw $t0, 0x20($sp) -/* 0661BC 7F03168C 46000287 */ neg.s $f10, $f0 -/* 0661C0 7F031690 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0661C4 7F031694 0FC0C207 */ jal sub_GAME_7F03081C -/* 0661C8 7F031698 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0661CC 7F03169C 5040000B */ beql $v0, $zero, .L7F0316CC -/* 0661D0 7F0316A0 82020000 */ lb $v0, ($s0) -/* 0661D4 7F0316A4 A2170002 */ sb $s7, 2($s0) -/* 0661D8 7F0316A8 C7B20100 */ lwc1 $f18, 0x100($sp) -/* 0661DC 7F0316AC E6120004 */ swc1 $f18, 4($s0) -/* 0661E0 7F0316B0 C7A40104 */ lwc1 $f4, 0x104($sp) -/* 0661E4 7F0316B4 E6040008 */ swc1 $f4, 8($s0) -/* 0661E8 7F0316B8 C7A60108 */ lwc1 $f6, 0x108($sp) -/* 0661EC 7F0316BC A2150000 */ sb $s5, ($s0) -/* 0661F0 7F0316C0 1000019B */ b .L7F031D30 -/* 0661F4 7F0316C4 E606000C */ swc1 $f6, 0xc($s0) -/* 0661F8 7F0316C8 82020000 */ lb $v0, ($s0) -.L7F0316CC: -/* 0661FC 7F0316CC 24010002 */ li $at, 2 -/* 066200 7F0316D0 14400004 */ bnez $v0, .L7F0316E4 -/* 066204 7F0316D4 00000000 */ nop -/* 066208 7F0316D8 A2170000 */ sb $s7, ($s0) -/* 06620C 7F0316DC 10000194 */ b .L7F031D30 -/* 066210 7F0316E0 A2000001 */ sb $zero, 1($s0) -.L7F0316E4: -/* 066214 7F0316E4 14410192 */ bne $v0, $at, .L7F031D30 -/* 066218 7F0316E8 24090003 */ li $t1, 3 -/* 06621C 7F0316EC A2090000 */ sb $t1, ($s0) -/* 066220 7F0316F0 1000018F */ b .L7F031D30 -/* 066224 7F0316F4 A2000001 */ sb $zero, 1($s0) -.L7F0316F8: -/* 066228 7F0316F8 16E20035 */ bne $s7, $v0, .L7F0317D0 -/* 06622C 7F0316FC 24010003 */ li $at, 3 -/* 066230 7F031700 3C018005 */ lui $at, %hi(D_80052044) -/* 066234 7F031704 C42A2044 */ lwc1 $f10, %lo(D_80052044)($at) -/* 066238 7F031708 C6480024 */ lwc1 $f8, 0x24($s2) -/* 06623C 7F03170C 3C018005 */ lui $at, %hi(D_80052048) -/* 066240 7F031710 C4242048 */ lwc1 $f4, %lo(D_80052048)($at) -/* 066244 7F031714 460A4482 */ mul.s $f18, $f8, $f10 -/* 066248 7F031718 240A0010 */ li $t2, 16 -/* 06624C 7F03171C AFAA0024 */ sw $t2, 0x24($sp) -/* 066250 7F031720 AFA00028 */ sw $zero, 0x28($sp) -/* 066254 7F031724 E7BC0020 */ swc1 $f28, 0x20($sp) -/* 066258 7F031728 AFB0001C */ sw $s0, 0x1c($sp) -/* 06625C 7F03172C AFB40018 */ sw $s4, 0x18($sp) -/* 066260 7F031730 46049002 */ mul.s $f0, $f18, $f4 -/* 066264 7F031734 AFB70014 */ sw $s7, 0x14($sp) -/* 066268 7F031738 02402025 */ move $a0, $s2 -/* 06626C 7F03173C 26050010 */ addiu $a1, $s0, 0x10 -/* 066270 7F031740 02E03025 */ move $a2, $s7 -/* 066274 7F031744 02603825 */ move $a3, $s3 -/* 066278 7F031748 E7A00010 */ swc1 $f0, 0x10($sp) -/* 06627C 7F03174C 0FC0C4C3 */ jal sub_GAME_7F03130C -/* 066280 7F031750 E7A000E8 */ swc1 $f0, 0xe8($sp) -/* 066284 7F031754 10400003 */ beqz $v0, .L7F031764 -/* 066288 7F031758 C7A000E8 */ lwc1 $f0, 0xe8($sp) -/* 06628C 7F03175C 10000174 */ b .L7F031D30 -/* 066290 7F031760 A2150000 */ sb $s5, ($s0) -.L7F031764: -/* 066294 7F031764 240B0010 */ li $t3, 16 -/* 066298 7F031768 AFAB0024 */ sw $t3, 0x24($sp) -/* 06629C 7F03176C 02402025 */ move $a0, $s2 -/* 0662A0 7F031770 2605001C */ addiu $a1, $s0, 0x1c -/* 0662A4 7F031774 00003025 */ move $a2, $zero -/* 0662A8 7F031778 02603825 */ move $a3, $s3 -/* 0662AC 7F03177C E7A00010 */ swc1 $f0, 0x10($sp) -/* 0662B0 7F031780 AFB70014 */ sw $s7, 0x14($sp) -/* 0662B4 7F031784 AFB40018 */ sw $s4, 0x18($sp) -/* 0662B8 7F031788 AFB0001C */ sw $s0, 0x1c($sp) -/* 0662BC 7F03178C E7BC0020 */ swc1 $f28, 0x20($sp) -/* 0662C0 7F031790 0FC0C4C3 */ jal sub_GAME_7F03130C -/* 0662C4 7F031794 AFA00028 */ sw $zero, 0x28($sp) -/* 0662C8 7F031798 50400004 */ beql $v0, $zero, .L7F0317AC -/* 0662CC 7F03179C 820C0001 */ lb $t4, 1($s0) -/* 0662D0 7F0317A0 10000163 */ b .L7F031D30 -/* 0662D4 7F0317A4 A2150000 */ sb $s5, ($s0) -/* 0662D8 7F0317A8 820C0001 */ lb $t4, 1($s0) -.L7F0317AC: -/* 0662DC 7F0317AC 240F0002 */ li $t7, 2 -/* 0662E0 7F0317B0 258D0001 */ addiu $t5, $t4, 1 -/* 0662E4 7F0317B4 A20D0001 */ sb $t5, 1($s0) -/* 0662E8 7F0317B8 820E0001 */ lb $t6, 1($s0) -/* 0662EC 7F0317BC 29C10006 */ slti $at, $t6, 6 -/* 0662F0 7F0317C0 5420015C */ bnezl $at, .L7F031D34 -/* 0662F4 7F0317C4 8FA800F0 */ lw $t0, 0xf0($sp) -/* 0662F8 7F0317C8 10000159 */ b .L7F031D30 -/* 0662FC 7F0317CC A20F0000 */ sb $t7, ($s0) -.L7F0317D0: -/* 066300 7F0317D0 1441003F */ bne $v0, $at, .L7F0318D0 -/* 066304 7F0317D4 3C018005 */ lui $at, %hi(D_8005204C) -/* 066308 7F0317D8 C428204C */ lwc1 $f8, %lo(D_8005204C)($at) -/* 06630C 7F0317DC C6460024 */ lwc1 $f6, 0x24($s2) -/* 066310 7F0317E0 3C018005 */ lui $at, %hi(D_80052050) -/* 066314 7F0317E4 C4322050 */ lwc1 $f18, %lo(D_80052050)($at) -/* 066318 7F0317E8 46083282 */ mul.s $f10, $f6, $f8 -/* 06631C 7F0317EC 24180010 */ li $t8, 16 -/* 066320 7F0317F0 AFB80024 */ sw $t8, 0x24($sp) -/* 066324 7F0317F4 AFA00028 */ sw $zero, 0x28($sp) -/* 066328 7F0317F8 E7BC0020 */ swc1 $f28, 0x20($sp) -/* 06632C 7F0317FC AFB0001C */ sw $s0, 0x1c($sp) -/* 066330 7F031800 AFA00018 */ sw $zero, 0x18($sp) -/* 066334 7F031804 46125002 */ mul.s $f0, $f10, $f18 -/* 066338 7F031808 AFA00014 */ sw $zero, 0x14($sp) -/* 06633C 7F03180C 02402025 */ move $a0, $s2 -/* 066340 7F031810 26050010 */ addiu $a1, $s0, 0x10 -/* 066344 7F031814 02E03025 */ move $a2, $s7 -/* 066348 7F031818 02603825 */ move $a3, $s3 -/* 06634C 7F03181C E7A00010 */ swc1 $f0, 0x10($sp) -/* 066350 7F031820 0FC0C4C3 */ jal sub_GAME_7F03130C -/* 066354 7F031824 E7A000E4 */ swc1 $f0, 0xe4($sp) -/* 066358 7F031828 10400003 */ beqz $v0, .L7F031838 -/* 06635C 7F03182C C7A000E4 */ lwc1 $f0, 0xe4($sp) -/* 066360 7F031830 1000013F */ b .L7F031D30 -/* 066364 7F031834 A2150000 */ sb $s5, ($s0) -.L7F031838: -/* 066368 7F031838 24190010 */ li $t9, 16 -/* 06636C 7F03183C AFB90024 */ sw $t9, 0x24($sp) -/* 066370 7F031840 02402025 */ move $a0, $s2 -/* 066374 7F031844 2605001C */ addiu $a1, $s0, 0x1c -/* 066378 7F031848 00003025 */ move $a2, $zero -/* 06637C 7F03184C 02603825 */ move $a3, $s3 -/* 066380 7F031850 E7A00010 */ swc1 $f0, 0x10($sp) -/* 066384 7F031854 AFA00014 */ sw $zero, 0x14($sp) -/* 066388 7F031858 AFA00018 */ sw $zero, 0x18($sp) -/* 06638C 7F03185C AFB0001C */ sw $s0, 0x1c($sp) -/* 066390 7F031860 E7BC0020 */ swc1 $f28, 0x20($sp) -/* 066394 7F031864 0FC0C4C3 */ jal sub_GAME_7F03130C -/* 066398 7F031868 AFA00028 */ sw $zero, 0x28($sp) -/* 06639C 7F03186C 50400004 */ beql $v0, $zero, .L7F031880 -/* 0663A0 7F031870 82080001 */ lb $t0, 1($s0) -/* 0663A4 7F031874 1000012E */ b .L7F031D30 -/* 0663A8 7F031878 A2150000 */ sb $s5, ($s0) -/* 0663AC 7F03187C 82080001 */ lb $t0, 1($s0) -.L7F031880: -/* 0663B0 7F031880 25090001 */ addiu $t1, $t0, 1 -/* 0663B4 7F031884 A2090001 */ sb $t1, 1($s0) -/* 0663B8 7F031888 820A0001 */ lb $t2, 1($s0) -/* 0663BC 7F03188C 29410006 */ slti $at, $t2, 6 -/* 0663C0 7F031890 54200128 */ bnezl $at, .L7F031D34 -/* 0663C4 7F031894 8FA800F0 */ lw $t0, 0xf0($sp) -/* 0663C8 7F031898 A2000002 */ sb $zero, 2($s0) -/* 0663CC 7F03189C 820B0002 */ lb $t3, 2($s0) -/* 0663D0 7F0318A0 A20B0003 */ sb $t3, 3($s0) -/* 0663D4 7F0318A4 C6800000 */ lwc1 $f0, ($s4) -/* 0663D8 7F0318A8 E6000004 */ swc1 $f0, 4($s0) -/* 0663DC 7F0318AC E600002C */ swc1 $f0, 0x2c($s0) -/* 0663E0 7F0318B0 C6800004 */ lwc1 $f0, 4($s4) -/* 0663E4 7F0318B4 E6000008 */ swc1 $f0, 8($s0) -/* 0663E8 7F0318B8 E6000030 */ swc1 $f0, 0x30($s0) -/* 0663EC 7F0318BC C6800008 */ lwc1 $f0, 8($s4) -/* 0663F0 7F0318C0 A2000000 */ sb $zero, ($s0) -/* 0663F4 7F0318C4 E600000C */ swc1 $f0, 0xc($s0) -/* 0663F8 7F0318C8 10000119 */ b .L7F031D30 -/* 0663FC 7F0318CC E6000034 */ swc1 $f0, 0x34($s0) -.L7F0318D0: -/* 066400 7F0318D0 16A2001D */ bne $s5, $v0, .L7F031948 -/* 066404 7F0318D4 24010005 */ li $at, 5 -/* 066408 7F0318D8 8E260014 */ lw $a2, 0x14($s1) -/* 06640C 7F0318DC 260C0010 */ addiu $t4, $s0, 0x10 -/* 066410 7F0318E0 260D001C */ addiu $t5, $s0, 0x1c -/* 066414 7F0318E4 AFAD0014 */ sw $t5, 0x14($sp) -/* 066418 7F0318E8 AFAC0010 */ sw $t4, 0x10($sp) -/* 06641C 7F0318EC C6400024 */ lwc1 $f0, 0x24($s2) -/* 066420 7F0318F0 AFB60020 */ sw $s6, 0x20($sp) -/* 066424 7F0318F4 02402025 */ move $a0, $s2 -/* 066428 7F0318F8 46000107 */ neg.s $f4, $f0 -/* 06642C 7F0318FC 26250008 */ addiu $a1, $s1, 8 -/* 066430 7F031900 E7A40018 */ swc1 $f4, 0x18($sp) -/* 066434 7F031904 26070004 */ addiu $a3, $s0, 4 -/* 066438 7F031908 0FC0C35C */ jal sub_GAME_7F030D70 -/* 06643C 7F03190C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 066440 7F031910 1040000A */ beqz $v0, .L7F03193C -/* 066444 7F031914 240E0005 */ li $t6, 5 -/* 066448 7F031918 C6060004 */ lwc1 $f6, 4($s0) -/* 06644C 7F03191C C6080008 */ lwc1 $f8, 8($s0) -/* 066450 7F031920 C60A000C */ lwc1 $f10, 0xc($s0) -/* 066454 7F031924 A2170003 */ sb $s7, 3($s0) -/* 066458 7F031928 A2000000 */ sb $zero, ($s0) -/* 06645C 7F03192C E606002C */ swc1 $f6, 0x2c($s0) -/* 066460 7F031930 E6080030 */ swc1 $f8, 0x30($s0) -/* 066464 7F031934 100000FE */ b .L7F031D30 -/* 066468 7F031938 E60A0034 */ swc1 $f10, 0x34($s0) -.L7F03193C: -/* 06646C 7F03193C A20E0000 */ sb $t6, ($s0) -/* 066470 7F031940 100000FB */ b .L7F031D30 -/* 066474 7F031944 A2000001 */ sb $zero, 1($s0) -.L7F031948: -/* 066478 7F031948 144100F9 */ bne $v0, $at, .L7F031D30 -/* 06647C 7F03194C 3C018005 */ lui $at, %hi(D_80052054) -/* 066480 7F031950 C4242054 */ lwc1 $f4, %lo(D_80052054)($at) -/* 066484 7F031954 C6520024 */ lwc1 $f18, 0x24($s2) -/* 066488 7F031958 3C018005 */ lui $at, %hi(D_80052058) -/* 06648C 7F03195C C4282058 */ lwc1 $f8, %lo(D_80052058)($at) -/* 066490 7F031960 46049182 */ mul.s $f6, $f18, $f4 -/* 066494 7F031964 C604000C */ lwc1 $f4, 0xc($s0) -/* 066498 7F031968 C6320008 */ lwc1 $f18, 8($s1) -/* 06649C 7F03196C C60A0004 */ lwc1 $f10, 4($s0) -/* 0664A0 7F031970 46125301 */ sub.s $f12, $f10, $f18 -/* 0664A4 7F031974 46083602 */ mul.s $f24, $f6, $f8 -/* 0664A8 7F031978 C6260010 */ lwc1 $f6, 0x10($s1) -/* 0664AC 7F03197C 0FC16A8C */ jal convert_angle_using_inverse -/* 0664B0 7F031980 46062381 */ sub.s $f14, $f4, $f6 -/* 0664B4 7F031984 C6160010 */ lwc1 $f22, 0x10($s0) -/* 0664B8 7F031988 C6320008 */ lwc1 $f18, 8($s1) -/* 0664BC 7F03198C C6100018 */ lwc1 $f16, 0x18($s0) -/* 0664C0 7F031990 C62A0010 */ lwc1 $f10, 0x10($s1) -/* 0664C4 7F031994 4612B301 */ sub.s $f12, $f22, $f18 -/* 0664C8 7F031998 46000506 */ mov.s $f20, $f0 -/* 0664CC 7F03199C 0FC16A8C */ jal convert_angle_using_inverse -/* 0664D0 7F0319A0 460A8381 */ sub.s $f14, $f16, $f10 -/* 0664D4 7F0319A4 4600A581 */ sub.s $f22, $f20, $f0 -/* 0664D8 7F0319A8 C612001C */ lwc1 $f18, 0x1c($s0) -/* 0664DC 7F0319AC C6300008 */ lwc1 $f16, 8($s1) -/* 0664E0 7F0319B0 C60A0024 */ lwc1 $f10, 0x24($s0) -/* 0664E4 7F0319B4 C6280010 */ lwc1 $f8, 0x10($s1) -/* 0664E8 7F0319B8 46109301 */ sub.s $f12, $f18, $f16 -/* 0664EC 7F0319BC E7B600D4 */ swc1 $f22, 0xd4($sp) -/* 0664F0 7F0319C0 0FC16A8C */ jal convert_angle_using_inverse -/* 0664F4 7F0319C4 46085381 */ sub.s $f14, $f10, $f8 -/* 0664F8 7F0319C8 C7B000D4 */ lwc1 $f16, 0xd4($sp) -/* 0664FC 7F0319CC 4600A301 */ sub.s $f12, $f20, $f0 -/* 066500 7F0319D0 02603825 */ move $a3, $s3 -/* 066504 7F0319D4 02402025 */ move $a0, $s2 -/* 066508 7F0319D8 461C803C */ c.lt.s $f16, $f28 -/* 06650C 7F0319DC 46006086 */ mov.s $f2, $f12 -/* 066510 7F0319E0 2605001C */ addiu $a1, $s0, 0x1c -/* 066514 7F0319E4 00003025 */ move $a2, $zero -/* 066518 7F0319E8 45000002 */ bc1f .L7F0319F4 -/* 06651C 7F0319EC 3C018005 */ lui $at, %hi(D_80052060) -/* 066520 7F0319F0 461A8400 */ add.s $f16, $f16, $f26 -.L7F0319F4: -/* 066524 7F0319F4 4610F03E */ c.le.s $f30, $f16 -/* 066528 7F0319F8 00000000 */ nop -/* 06652C 7F0319FC 45020003 */ bc1fl .L7F031A0C -/* 066530 7F031A00 461C803C */ c.lt.s $f16, $f28 -/* 066534 7F031A04 461A8401 */ sub.s $f16, $f16, $f26 -/* 066538 7F031A08 461C803C */ c.lt.s $f16, $f28 -.L7F031A0C: -/* 06653C 7F031A0C 00000000 */ nop -/* 066540 7F031A10 45020003 */ bc1fl .L7F031A20 -/* 066544 7F031A14 461C603C */ c.lt.s $f12, $f28 -/* 066548 7F031A18 46008407 */ neg.s $f16, $f16 -/* 06654C 7F031A1C 461C603C */ c.lt.s $f12, $f28 -.L7F031A20: -/* 066550 7F031A20 00000000 */ nop -/* 066554 7F031A24 45020003 */ bc1fl .L7F031A34 -/* 066558 7F031A28 4602F03E */ c.le.s $f30, $f2 -/* 06655C 7F031A2C 461A6080 */ add.s $f2, $f12, $f26 -/* 066560 7F031A30 4602F03E */ c.le.s $f30, $f2 -.L7F031A34: -/* 066564 7F031A34 00000000 */ nop -/* 066568 7F031A38 45020003 */ bc1fl .L7F031A48 -/* 06656C 7F031A3C 461C103C */ c.lt.s $f2, $f28 -/* 066570 7F031A40 461A1081 */ sub.s $f2, $f2, $f26 -/* 066574 7F031A44 461C103C */ c.lt.s $f2, $f28 -.L7F031A48: -/* 066578 7F031A48 00000000 */ nop -/* 06657C 7F031A4C 45020003 */ bc1fl .L7F031A5C -/* 066580 7F031A50 4602803C */ c.lt.s $f16, $f2 -/* 066584 7F031A54 46001087 */ neg.s $f2, $f2 -/* 066588 7F031A58 4602803C */ c.lt.s $f16, $f2 -.L7F031A5C: -/* 06658C 7F031A5C 00000000 */ nop -/* 066590 7F031A60 45000057 */ bc1f .L7F031BC0 -/* 066594 7F031A64 00000000 */ nop -/* 066598 7F031A68 3C018005 */ lui $at, %hi(D_80052060) -/* 06659C 7F031A6C C424205C */ lwc1 $f4, %lo(D_8005205C)($at) -/* 0665A0 7F031A70 02402025 */ move $a0, $s2 -/* 0665A4 7F031A74 26050010 */ addiu $a1, $s0, 0x10 -/* 0665A8 7F031A78 4604C582 */ mul.s $f22, $f24, $f4 -/* 0665AC 7F031A7C 02E03025 */ move $a2, $s7 -/* 0665B0 7F031A80 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0665B4 7F031A84 AFA00014 */ sw $zero, 0x14($sp) -/* 0665B8 7F031A88 AFA00018 */ sw $zero, 0x18($sp) -/* 0665BC 7F031A8C AFB0001C */ sw $s0, 0x1c($sp) -/* 0665C0 7F031A90 AFB60024 */ sw $s6, 0x24($sp) -/* 0665C4 7F031A94 E7B60020 */ swc1 $f22, 0x20($sp) -/* 0665C8 7F031A98 0FC0C4C3 */ jal sub_GAME_7F03130C -/* 0665CC 7F031A9C AFB70028 */ sw $s7, 0x28($sp) -/* 0665D0 7F031AA0 50400004 */ beql $v0, $zero, .L7F031AB4 -/* 0665D4 7F031AA4 C6060010 */ lwc1 $f6, 0x10($s0) -/* 0665D8 7F031AA8 100000A5 */ b .L7F031D40 -/* 0665DC 7F031AAC A2000000 */ sb $zero, ($s0) -/* 0665E0 7F031AB0 C6060010 */ lwc1 $f6, 0x10($s0) -.L7F031AB4: -/* 0665E4 7F031AB4 C6280008 */ lwc1 $f8, 8($s1) -/* 0665E8 7F031AB8 C60A0018 */ lwc1 $f10, 0x18($s0) -/* 0665EC 7F031ABC C6320010 */ lwc1 $f18, 0x10($s1) -/* 0665F0 7F031AC0 46083301 */ sub.s $f12, $f6, $f8 -/* 0665F4 7F031AC4 0FC16A8C */ jal convert_angle_using_inverse -/* 0665F8 7F031AC8 46125381 */ sub.s $f14, $f10, $f18 -/* 0665FC 7F031ACC 4600A481 */ sub.s $f18, $f20, $f0 -/* 066600 7F031AD0 C7B000F4 */ lwc1 $f16, 0xf4($sp) -/* 066604 7F031AD4 C62A0008 */ lwc1 $f10, 8($s1) -/* 066608 7F031AD8 C7A800FC */ lwc1 $f8, 0xfc($sp) -/* 06660C 7F031ADC C6260010 */ lwc1 $f6, 0x10($s1) -/* 066610 7F031AE0 460A8301 */ sub.s $f12, $f16, $f10 -/* 066614 7F031AE4 E7B200C4 */ swc1 $f18, 0xc4($sp) -/* 066618 7F031AE8 0FC16A8C */ jal convert_angle_using_inverse -/* 06661C 7F031AEC 46064381 */ sub.s $f14, $f8, $f6 -/* 066620 7F031AF0 C7B000C4 */ lwc1 $f16, 0xc4($sp) -/* 066624 7F031AF4 4600A301 */ sub.s $f12, $f20, $f0 -/* 066628 7F031AF8 02402025 */ move $a0, $s2 -/* 06662C 7F031AFC 02602825 */ move $a1, $s3 -/* 066630 7F031B00 461C803C */ c.lt.s $f16, $f28 -/* 066634 7F031B04 46006086 */ mov.s $f2, $f12 -/* 066638 7F031B08 00003025 */ move $a2, $zero -/* 06663C 7F031B0C 02603825 */ move $a3, $s3 -/* 066640 7F031B10 45020003 */ bc1fl .L7F031B20 -/* 066644 7F031B14 4610F03E */ c.le.s $f30, $f16 -/* 066648 7F031B18 461A8400 */ add.s $f16, $f16, $f26 -/* 06664C 7F031B1C 4610F03E */ c.le.s $f30, $f16 -.L7F031B20: -/* 066650 7F031B20 00000000 */ nop -/* 066654 7F031B24 45020003 */ bc1fl .L7F031B34 -/* 066658 7F031B28 461C803C */ c.lt.s $f16, $f28 -/* 06665C 7F031B2C 461A8401 */ sub.s $f16, $f16, $f26 -/* 066660 7F031B30 461C803C */ c.lt.s $f16, $f28 -.L7F031B34: -/* 066664 7F031B34 00000000 */ nop -/* 066668 7F031B38 45020003 */ bc1fl .L7F031B48 -/* 06666C 7F031B3C 461C603C */ c.lt.s $f12, $f28 -/* 066670 7F031B40 46008407 */ neg.s $f16, $f16 -/* 066674 7F031B44 461C603C */ c.lt.s $f12, $f28 -.L7F031B48: -/* 066678 7F031B48 00000000 */ nop -/* 06667C 7F031B4C 45020003 */ bc1fl .L7F031B5C -/* 066680 7F031B50 4602F03E */ c.le.s $f30, $f2 -/* 066684 7F031B54 461A6080 */ add.s $f2, $f12, $f26 -/* 066688 7F031B58 4602F03E */ c.le.s $f30, $f2 -.L7F031B5C: -/* 06668C 7F031B5C 00000000 */ nop -/* 066690 7F031B60 45020003 */ bc1fl .L7F031B70 -/* 066694 7F031B64 461C103C */ c.lt.s $f2, $f28 -/* 066698 7F031B68 461A1081 */ sub.s $f2, $f2, $f26 -/* 06669C 7F031B6C 461C103C */ c.lt.s $f2, $f28 -.L7F031B70: -/* 0666A0 7F031B70 00000000 */ nop -/* 0666A4 7F031B74 45020003 */ bc1fl .L7F031B84 -/* 0666A8 7F031B78 4610103C */ c.lt.s $f2, $f16 -/* 0666AC 7F031B7C 46001087 */ neg.s $f2, $f2 -/* 0666B0 7F031B80 4610103C */ c.lt.s $f2, $f16 -.L7F031B84: -/* 0666B4 7F031B84 00000000 */ nop -/* 0666B8 7F031B88 45020061 */ bc1fl .L7F031D10 -/* 0666BC 7F031B8C 820F0001 */ lb $t7, 1($s0) -/* 0666C0 7F031B90 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0666C4 7F031B94 AFA00014 */ sw $zero, 0x14($sp) -/* 0666C8 7F031B98 AFA00018 */ sw $zero, 0x18($sp) -/* 0666CC 7F031B9C AFB0001C */ sw $s0, 0x1c($sp) -/* 0666D0 7F031BA0 E7B60020 */ swc1 $f22, 0x20($sp) -/* 0666D4 7F031BA4 AFB60024 */ sw $s6, 0x24($sp) -/* 0666D8 7F031BA8 0FC0C4C3 */ jal sub_GAME_7F03130C -/* 0666DC 7F031BAC AFB70028 */ sw $s7, 0x28($sp) -/* 0666E0 7F031BB0 50400057 */ beql $v0, $zero, .L7F031D10 -/* 0666E4 7F031BB4 820F0001 */ lb $t7, 1($s0) -/* 0666E8 7F031BB8 10000061 */ b .L7F031D40 -/* 0666EC 7F031BBC A2000000 */ sb $zero, ($s0) -.L7F031BC0: -/* 0666F0 7F031BC0 C4322060 */ lwc1 $f18, %lo(D_80052060)($at) -/* 0666F4 7F031BC4 02603825 */ move $a3, $s3 -/* 0666F8 7F031BC8 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0666FC 7F031BCC 4612C582 */ mul.s $f22, $f24, $f18 -/* 066700 7F031BD0 AFA00014 */ sw $zero, 0x14($sp) -/* 066704 7F031BD4 AFA00018 */ sw $zero, 0x18($sp) -/* 066708 7F031BD8 AFB0001C */ sw $s0, 0x1c($sp) -/* 06670C 7F031BDC AFB60024 */ sw $s6, 0x24($sp) -/* 066710 7F031BE0 AFB70028 */ sw $s7, 0x28($sp) -/* 066714 7F031BE4 0FC0C4C3 */ jal sub_GAME_7F03130C -/* 066718 7F031BE8 E7B60020 */ swc1 $f22, 0x20($sp) -/* 06671C 7F031BEC 50400004 */ beql $v0, $zero, .L7F031C00 -/* 066720 7F031BF0 C604001C */ lwc1 $f4, 0x1c($s0) -/* 066724 7F031BF4 10000052 */ b .L7F031D40 -/* 066728 7F031BF8 A2000000 */ sb $zero, ($s0) -/* 06672C 7F031BFC C604001C */ lwc1 $f4, 0x1c($s0) -.L7F031C00: -/* 066730 7F031C00 C6260008 */ lwc1 $f6, 8($s1) -/* 066734 7F031C04 C6080024 */ lwc1 $f8, 0x24($s0) -/* 066738 7F031C08 C62A0010 */ lwc1 $f10, 0x10($s1) -/* 06673C 7F031C0C 46062301 */ sub.s $f12, $f4, $f6 -/* 066740 7F031C10 0FC16A8C */ jal convert_angle_using_inverse -/* 066744 7F031C14 460A4381 */ sub.s $f14, $f8, $f10 -/* 066748 7F031C18 4600A481 */ sub.s $f18, $f20, $f0 -/* 06674C 7F031C1C C7B000F4 */ lwc1 $f16, 0xf4($sp) -/* 066750 7F031C20 C62A0008 */ lwc1 $f10, 8($s1) -/* 066754 7F031C24 C7A800FC */ lwc1 $f8, 0xfc($sp) -/* 066758 7F031C28 C6260010 */ lwc1 $f6, 0x10($s1) -/* 06675C 7F031C2C 460A8301 */ sub.s $f12, $f16, $f10 -/* 066760 7F031C30 E7B200B4 */ swc1 $f18, 0xb4($sp) -/* 066764 7F031C34 0FC16A8C */ jal convert_angle_using_inverse -/* 066768 7F031C38 46064381 */ sub.s $f14, $f8, $f6 -/* 06676C 7F031C3C C7B000B4 */ lwc1 $f16, 0xb4($sp) -/* 066770 7F031C40 4600A301 */ sub.s $f12, $f20, $f0 -/* 066774 7F031C44 02402025 */ move $a0, $s2 -/* 066778 7F031C48 02602825 */ move $a1, $s3 -/* 06677C 7F031C4C 461C803C */ c.lt.s $f16, $f28 -/* 066780 7F031C50 46006086 */ mov.s $f2, $f12 -/* 066784 7F031C54 02E03025 */ move $a2, $s7 -/* 066788 7F031C58 02603825 */ move $a3, $s3 -/* 06678C 7F031C5C 45020003 */ bc1fl .L7F031C6C -/* 066790 7F031C60 4610F03E */ c.le.s $f30, $f16 -/* 066794 7F031C64 461A8400 */ add.s $f16, $f16, $f26 -/* 066798 7F031C68 4610F03E */ c.le.s $f30, $f16 -.L7F031C6C: -/* 06679C 7F031C6C 00000000 */ nop -/* 0667A0 7F031C70 45020003 */ bc1fl .L7F031C80 -/* 0667A4 7F031C74 461C803C */ c.lt.s $f16, $f28 -/* 0667A8 7F031C78 461A8401 */ sub.s $f16, $f16, $f26 -/* 0667AC 7F031C7C 461C803C */ c.lt.s $f16, $f28 -.L7F031C80: -/* 0667B0 7F031C80 00000000 */ nop -/* 0667B4 7F031C84 45020003 */ bc1fl .L7F031C94 -/* 0667B8 7F031C88 461C603C */ c.lt.s $f12, $f28 -/* 0667BC 7F031C8C 46008407 */ neg.s $f16, $f16 -/* 0667C0 7F031C90 461C603C */ c.lt.s $f12, $f28 -.L7F031C94: -/* 0667C4 7F031C94 00000000 */ nop -/* 0667C8 7F031C98 45020003 */ bc1fl .L7F031CA8 -/* 0667CC 7F031C9C 4602F03E */ c.le.s $f30, $f2 -/* 0667D0 7F031CA0 461A6080 */ add.s $f2, $f12, $f26 -/* 0667D4 7F031CA4 4602F03E */ c.le.s $f30, $f2 -.L7F031CA8: -/* 0667D8 7F031CA8 00000000 */ nop -/* 0667DC 7F031CAC 45020003 */ bc1fl .L7F031CBC -/* 0667E0 7F031CB0 461C103C */ c.lt.s $f2, $f28 -/* 0667E4 7F031CB4 461A1081 */ sub.s $f2, $f2, $f26 -/* 0667E8 7F031CB8 461C103C */ c.lt.s $f2, $f28 -.L7F031CBC: -/* 0667EC 7F031CBC 00000000 */ nop -/* 0667F0 7F031CC0 45020003 */ bc1fl .L7F031CD0 -/* 0667F4 7F031CC4 4610103C */ c.lt.s $f2, $f16 -/* 0667F8 7F031CC8 46001087 */ neg.s $f2, $f2 -/* 0667FC 7F031CCC 4610103C */ c.lt.s $f2, $f16 -.L7F031CD0: -/* 066800 7F031CD0 00000000 */ nop -/* 066804 7F031CD4 4502000E */ bc1fl .L7F031D10 -/* 066808 7F031CD8 820F0001 */ lb $t7, 1($s0) -/* 06680C 7F031CDC E7B80010 */ swc1 $f24, 0x10($sp) -/* 066810 7F031CE0 AFA00014 */ sw $zero, 0x14($sp) -/* 066814 7F031CE4 AFA00018 */ sw $zero, 0x18($sp) -/* 066818 7F031CE8 AFB0001C */ sw $s0, 0x1c($sp) -/* 06681C 7F031CEC E7B60020 */ swc1 $f22, 0x20($sp) -/* 066820 7F031CF0 AFB60024 */ sw $s6, 0x24($sp) -/* 066824 7F031CF4 0FC0C4C3 */ jal sub_GAME_7F03130C -/* 066828 7F031CF8 AFB70028 */ sw $s7, 0x28($sp) -/* 06682C 7F031CFC 50400004 */ beql $v0, $zero, .L7F031D10 -/* 066830 7F031D00 820F0001 */ lb $t7, 1($s0) -/* 066834 7F031D04 1000000E */ b .L7F031D40 -/* 066838 7F031D08 A2000000 */ sb $zero, ($s0) -/* 06683C 7F031D0C 820F0001 */ lb $t7, 1($s0) -.L7F031D10: -/* 066840 7F031D10 25F80001 */ addiu $t8, $t7, 1 -/* 066844 7F031D14 A2180001 */ sb $t8, 1($s0) -/* 066848 7F031D18 82190001 */ lb $t9, 1($s0) -/* 06684C 7F031D1C 2B210006 */ slti $at, $t9, 6 -/* 066850 7F031D20 54200004 */ bnezl $at, .L7F031D34 -/* 066854 7F031D24 8FA800F0 */ lw $t0, 0xf0($sp) -/* 066858 7F031D28 A2000003 */ sb $zero, 3($s0) -/* 06685C 7F031D2C A2000000 */ sb $zero, ($s0) -.L7F031D30: -/* 066860 7F031D30 8FA800F0 */ lw $t0, 0xf0($sp) -.L7F031D34: -/* 066864 7F031D34 25090001 */ addiu $t1, $t0, 1 -/* 066868 7F031D38 1537FE3D */ bne $t1, $s7, .L7F031630 -/* 06686C 7F031D3C AFA900F0 */ sw $t1, 0xf0($sp) -.L7F031D40: -/* 066870 7F031D40 820A0003 */ lb $t2, 3($s0) -/* 066874 7F031D44 240D5000 */ li $t5, 20480 -/* 066878 7F031D48 55400008 */ bnezl $t2, .L7F031D6C -/* 06687C 7F031D4C 8E0B0028 */ lw $t3, 0x28($s0) -/* 066880 7F031D50 C60A0004 */ lwc1 $f10, 4($s0) -/* 066884 7F031D54 C6120008 */ lwc1 $f18, 8($s0) -/* 066888 7F031D58 C604000C */ lwc1 $f4, 0xc($s0) -/* 06688C 7F031D5C E60A002C */ swc1 $f10, 0x2c($s0) -/* 066890 7F031D60 E6120030 */ swc1 $f18, 0x30($s0) -/* 066894 7F031D64 E6040034 */ swc1 $f4, 0x34($s0) -/* 066898 7F031D68 8E0B0028 */ lw $t3, 0x28($s0) -.L7F031D6C: -/* 06689C 7F031D6C 2401000A */ li $at, 10 -/* 0668A0 7F031D70 0161001A */ div $zero, $t3, $at -/* 0668A4 7F031D74 00006010 */ mfhi $t4 -/* 0668A8 7F031D78 55800072 */ bnezl $t4, .L7F031F44 -/* 0668AC 7F031D7C 824E0007 */ lb $t6, 7($s2) -/* 0668B0 7F031D80 C6060034 */ lwc1 $f6, 0x34($s0) -/* 0668B4 7F031D84 8E240014 */ lw $a0, 0x14($s1) -/* 0668B8 7F031D88 8E250008 */ lw $a1, 8($s1) -/* 0668BC 7F031D8C 8E260010 */ lw $a2, 0x10($s1) -/* 0668C0 7F031D90 8E07002C */ lw $a3, 0x2c($s0) -/* 0668C4 7F031D94 AFAD0014 */ sw $t5, 0x14($sp) -/* 0668C8 7F031D98 0FC2C504 */ jal sub_GAME_7F0B1410 -/* 0668CC 7F031D9C E7A60010 */ swc1 $f6, 0x10($sp) -/* 0668D0 7F031DA0 10400042 */ beqz $v0, .L7F031EAC -/* 0668D4 7F031DA4 00409825 */ move $s3, $v0 -/* 0668D8 7F031DA8 8C430004 */ lw $v1, 4($v0) -/* 0668DC 7F031DAC 8C6E000C */ lw $t6, 0xc($v1) -/* 0668E0 7F031DB0 000E7880 */ sll $t7, $t6, 2 -/* 0668E4 7F031DB4 05E2003D */ bltzl $t7, .L7F031EAC -/* 0668E8 7F031DB8 00009825 */ move $s3, $zero -/* 0668EC 7F031DBC C4480008 */ lwc1 $f8, 8($v0) -/* 0668F0 7F031DC0 C62A0008 */ lwc1 $f10, 8($s1) -/* 0668F4 7F031DC4 C452000C */ lwc1 $f18, 0xc($v0) -/* 0668F8 7F031DC8 C624000C */ lwc1 $f4, 0xc($s1) -/* 0668FC 7F031DCC 460A4001 */ sub.s $f0, $f8, $f10 -/* 066900 7F031DD0 C6280010 */ lwc1 $f8, 0x10($s1) -/* 066904 7F031DD4 C4460010 */ lwc1 $f6, 0x10($v0) -/* 066908 7F031DD8 46049081 */ sub.s $f2, $f18, $f4 -/* 06690C 7F031DDC 46000282 */ mul.s $f10, $f0, $f0 -/* 066910 7F031DE0 3C018005 */ lui $at, %hi(D_80052064) -/* 066914 7F031DE4 46083301 */ sub.s $f12, $f6, $f8 -/* 066918 7F031DE8 46021482 */ mul.s $f18, $f2, $f2 -/* 06691C 7F031DEC 02402025 */ move $a0, $s2 -/* 066920 7F031DF0 460C6182 */ mul.s $f6, $f12, $f12 -/* 066924 7F031DF4 46125100 */ add.s $f4, $f10, $f18 -/* 066928 7F031DF8 C42A2064 */ lwc1 $f10, %lo(D_80052064)($at) -/* 06692C 7F031DFC 46062200 */ add.s $f8, $f4, $f6 -/* 066930 7F031E00 460A403C */ c.lt.s $f8, $f10 -/* 066934 7F031E04 00000000 */ nop -/* 066938 7F031E08 45000025 */ bc1f .L7F031EA0 -/* 06693C 7F031E0C 00000000 */ nop -/* 066940 7F031E10 0FC0A07D */ jal sub_GAME_7F0281F4 -/* 066944 7F031E14 00000000 */ nop -/* 066948 7F031E18 02202025 */ move $a0, $s1 -/* 06694C 7F031E1C 0FC156DE */ jal sub_GAME_7F055B78 -/* 066950 7F031E20 8E650004 */ lw $a1, 4($s3) -/* 066954 7F031E24 8E640004 */ lw $a0, 4($s3) -/* 066958 7F031E28 0FC15262 */ jal set_door_state -/* 06695C 7F031E2C 02E02825 */ move $a1, $s7 -/* 066960 7F031E30 96580012 */ lhu $t8, 0x12($s2) -/* 066964 7F031E34 33190010 */ andi $t9, $t8, 0x10 -/* 066968 7F031E38 1720001C */ bnez $t9, .L7F031EAC -/* 06696C 7F031E3C 00000000 */ nop -/* 066970 7F031E40 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 066974 7F031E44 8E44001C */ lw $a0, 0x1c($s2) -/* 066978 7F031E48 3C088007 */ lui $t0, %hi(ptr_animation_table) -/* 06697C 7F031E4C 8D089538 */ lw $t0, %lo(ptr_animation_table)($t0) -/* 066980 7F031E50 3C090001 */ lui $t1, %hi(0x00008194) # $t1, 1 -/* 066984 7F031E54 25298194 */ addiu $t1, %lo(0x00008194) # addiu $t1, $t1, -0x7e6c -/* 066988 7F031E58 01095021 */ addu $t2, $t0, $t1 -/* 06698C 7F031E5C 104A0013 */ beq $v0, $t2, .L7F031EAC -/* 066990 7F031E60 00000000 */ nop -/* 066994 7F031E64 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 066998 7F031E68 8E44001C */ lw $a0, 0x1c($s2) -/* 06699C 7F031E6C 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 0669A0 7F031E70 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 0669A4 7F031E74 3C0C0000 */ lui $t4, %hi(0x0000001C) # $t4, 0 -/* 0669A8 7F031E78 258C001C */ addiu $t4, %lo(0x0000001C) # addiu $t4, $t4, 0x1c -/* 0669AC 7F031E7C 016C6821 */ addu $t5, $t3, $t4 -/* 0669B0 7F031E80 104D000A */ beq $v0, $t5, .L7F031EAC -/* 0669B4 7F031E84 02402025 */ move $a0, $s2 -/* 0669B8 7F031E88 0FC08E52 */ jal sub_GAME_7F023948 -/* 0669BC 7F031E8C 3C054180 */ lui $a1, 0x4180 -/* 0669C0 7F031E90 3C0E8005 */ lui $t6, %hi(global_timer) -/* 0669C4 7F031E94 8DCE837C */ lw $t6, %lo(global_timer)($t6) -/* 0669C8 7F031E98 10000004 */ b .L7F031EAC -/* 0669CC 7F031E9C AE4E00CC */ sw $t6, 0xcc($s2) -.L7F031EA0: -/* 0669D0 7F031EA0 10000002 */ b .L7F031EAC -/* 0669D4 7F031EA4 00009825 */ move $s3, $zero -/* 0669D8 7F031EA8 00009825 */ move $s3, $zero -.L7F031EAC: -/* 0669DC 7F031EAC 12600005 */ beqz $s3, .L7F031EC4 -/* 0669E0 7F031EB0 3C110001 */ lui $s1, %hi(0x00008194) # $s1, 1 -/* 0669E4 7F031EB4 964F0012 */ lhu $t7, 0x12($s2) -/* 0669E8 7F031EB8 31F80010 */ andi $t8, $t7, 0x10 -/* 0669EC 7F031EBC 53000021 */ beql $t8, $zero, .L7F031F44 -/* 0669F0 7F031EC0 824E0007 */ lb $t6, 7($s2) -.L7F031EC4: -/* 0669F4 7F031EC4 8E44001C */ lw $a0, 0x1c($s2) -/* 0669F8 7F031EC8 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 0669FC 7F031ECC 26318194 */ addiu $s1, %lo(0x00008194) # addiu $s1, $s1, -0x7e6c -/* 066A00 7F031ED0 3C198007 */ lui $t9, %hi(ptr_animation_table) -/* 066A04 7F031ED4 8F399538 */ lw $t9, %lo(ptr_animation_table)($t9) -/* 066A08 7F031ED8 02394021 */ addu $t0, $s1, $t9 -/* 066A0C 7F031EDC 10480009 */ beq $v0, $t0, .L7F031F04 -/* 066A10 7F031EE0 3C110000 */ lui $s1, %hi(0x0000001C) # $s1, 0 -/* 066A14 7F031EE4 8E44001C */ lw $a0, 0x1c($s2) -/* 066A18 7F031EE8 0FC1BD6B */ jal sub_GAME_7F06F5AC -/* 066A1C 7F031EEC 2631001C */ addiu $s1, %lo(0x0000001C) # addiu $s1, $s1, 0x1c -/* 066A20 7F031EF0 3C098007 */ lui $t1, %hi(ptr_animation_table) -/* 066A24 7F031EF4 8D299538 */ lw $t1, %lo(ptr_animation_table)($t1) -/* 066A28 7F031EF8 02295021 */ addu $t2, $s1, $t1 -/* 066A2C 7F031EFC 144A000B */ bne $v0, $t2, .L7F031F2C -/* 066A30 7F031F00 00000000 */ nop -.L7F031F04: -/* 066A34 7F031F04 824B0007 */ lb $t3, 7($s2) -/* 066A38 7F031F08 2401000E */ li $at, 14 -/* 066A3C 7F031F0C 15610005 */ bne $t3, $at, .L7F031F24 -/* 066A40 7F031F10 00000000 */ nop -/* 066A44 7F031F14 0FC0A3EB */ jal sub_GAME_7F028FAC -/* 066A48 7F031F18 02402025 */ move $a0, $s2 -/* 066A4C 7F031F1C 10000003 */ b .L7F031F2C -/* 066A50 7F031F20 00000000 */ nop -.L7F031F24: -/* 066A54 7F031F24 0FC0A368 */ jal play_hit_soundeffect_and_proper_volume -/* 066A58 7F031F28 02402025 */ move $a0, $s2 -.L7F031F2C: -/* 066A5C 7F031F2C 56600005 */ bnezl $s3, .L7F031F44 -/* 066A60 7F031F30 824E0007 */ lb $t6, 7($s2) -/* 066A64 7F031F34 964C0012 */ lhu $t4, 0x12($s2) -/* 066A68 7F031F38 318DFFEF */ andi $t5, $t4, 0xffef -/* 066A6C 7F031F3C A64D0012 */ sh $t5, 0x12($s2) -/* 066A70 7F031F40 824E0007 */ lb $t6, 7($s2) -.L7F031F44: -/* 066A74 7F031F44 2401000E */ li $at, 14 -/* 066A78 7F031F48 02402025 */ move $a0, $s2 -/* 066A7C 7F031F4C 15C10008 */ bne $t6, $at, .L7F031F70 -/* 066A80 7F031F50 2605002C */ addiu $a1, $s0, 0x2c -/* 066A84 7F031F54 02402025 */ move $a0, $s2 -/* 066A88 7F031F58 2605002C */ addiu $a1, $s0, 0x2c -/* 066A8C 7F031F5C 00003025 */ move $a2, $zero -/* 066A90 7F031F60 0FC0BDA4 */ jal sub_GAME_7F02F690 -/* 066A94 7F031F64 2647007C */ addiu $a3, $s2, 0x7c -/* 066A98 7F031F68 10000037 */ b .L7F032048 -/* 066A9C 7F031F6C 8FBF0084 */ lw $ra, 0x84($sp) -.L7F031F70: -/* 066AA0 7F031F70 92460059 */ lbu $a2, 0x59($s2) -/* 066AA4 7F031F74 0FC0BDA4 */ jal sub_GAME_7F02F690 -/* 066AA8 7F031F78 264700A0 */ addiu $a3, $s2, 0xa0 -/* 066AAC 7F031F7C 92430059 */ lbu $v1, 0x59($s2) -/* 066AB0 7F031F80 24010002 */ li $at, 2 -/* 066AB4 7F031F84 1461001D */ bne $v1, $at, .L7F031FFC -/* 066AB8 7F031F88 00000000 */ nop -/* 066ABC 7F031F8C C65200A0 */ lwc1 $f18, 0xa0($s2) -/* 066AC0 7F031F90 3C053E80 */ lui $a1, 0x3e80 -/* 066AC4 7F031F94 4612E032 */ c.eq.s $f28, $f18 -/* 066AC8 7F031F98 00000000 */ nop -/* 066ACC 7F031F9C 45030007 */ bc1tl .L7F031FBC -/* 066AD0 7F031FA0 8E4F0014 */ lw $t7, 0x14($s2) -/* 066AD4 7F031FA4 4406E000 */ mfc1 $a2, $f28 -/* 066AD8 7F031FA8 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 066ADC 7F031FAC 8E44001C */ lw $a0, 0x1c($s2) -/* 066AE0 7F031FB0 10000025 */ b .L7F032048 -/* 066AE4 7F031FB4 8FBF0084 */ lw $ra, 0x84($sp) -/* 066AE8 7F031FB8 8E4F0014 */ lw $t7, 0x14($s2) -.L7F031FBC: -/* 066AEC 7F031FBC 3C053F00 */ lui $a1, 0x3f00 -/* 066AF0 7F031FC0 000FC300 */ sll $t8, $t7, 0xc -/* 066AF4 7F031FC4 07030009 */ bgezl $t8, .L7F031FEC -/* 066AF8 7F031FC8 4406E000 */ mfc1 $a2, $f28 -/* 066AFC 7F031FCC 3C053F26 */ lui $a1, (0x3F266666 >> 16) # lui $a1, 0x3f26 -/* 066B00 7F031FD0 4406E000 */ mfc1 $a2, $f28 -/* 066B04 7F031FD4 34A56666 */ ori $a1, (0x3F266666 & 0xFFFF) # ori $a1, $a1, 0x6666 -/* 066B08 7F031FD8 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 066B0C 7F031FDC 8E44001C */ lw $a0, 0x1c($s2) -/* 066B10 7F031FE0 10000019 */ b .L7F032048 -/* 066B14 7F031FE4 8FBF0084 */ lw $ra, 0x84($sp) -/* 066B18 7F031FE8 4406E000 */ mfc1 $a2, $f28 -.L7F031FEC: -/* 066B1C 7F031FEC 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 066B20 7F031FF0 8E44001C */ lw $a0, 0x1c($s2) -/* 066B24 7F031FF4 10000014 */ b .L7F032048 -/* 066B28 7F031FF8 8FBF0084 */ lw $ra, 0x84($sp) -.L7F031FFC: -/* 066B2C 7F031FFC 56E30012 */ bnel $s7, $v1, .L7F032048 -/* 066B30 7F032000 8FBF0084 */ lw $ra, 0x84($sp) -/* 066B34 7F032004 C64400A0 */ lwc1 $f4, 0xa0($s2) -/* 066B38 7F032008 3C053F00 */ lui $a1, 0x3f00 -/* 066B3C 7F03200C 4604E032 */ c.eq.s $f28, $f4 -/* 066B40 7F032010 00000000 */ nop -/* 066B44 7F032014 45030009 */ bc1tl .L7F03203C -/* 066B48 7F032018 4406E000 */ mfc1 $a2, $f28 -/* 066B4C 7F03201C 3C053ECC */ lui $a1, (0x3ECCCCCD >> 16) # lui $a1, 0x3ecc -/* 066B50 7F032020 4406E000 */ mfc1 $a2, $f28 -/* 066B54 7F032024 34A5CCCD */ ori $a1, (0x3ECCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 066B58 7F032028 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 066B5C 7F03202C 8E44001C */ lw $a0, 0x1c($s2) -/* 066B60 7F032030 10000005 */ b .L7F032048 -/* 066B64 7F032034 8FBF0084 */ lw $ra, 0x84($sp) -/* 066B68 7F032038 4406E000 */ mfc1 $a2, $f28 -.L7F03203C: -/* 066B6C 7F03203C 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 066B70 7F032040 8E44001C */ lw $a0, 0x1c($s2) -/* 066B74 7F032044 8FBF0084 */ lw $ra, 0x84($sp) -.L7F032048: -/* 066B78 7F032048 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 066B7C 7F03204C D7B60038 */ ldc1 $f22, 0x38($sp) -/* 066B80 7F032050 D7B80040 */ ldc1 $f24, 0x40($sp) -/* 066B84 7F032054 D7BA0048 */ ldc1 $f26, 0x48($sp) -/* 066B88 7F032058 D7BC0050 */ ldc1 $f28, 0x50($sp) -/* 066B8C 7F03205C D7BE0058 */ ldc1 $f30, 0x58($sp) -/* 066B90 7F032060 8FB00064 */ lw $s0, 0x64($sp) -/* 066B94 7F032064 8FB10068 */ lw $s1, 0x68($sp) -/* 066B98 7F032068 8FB2006C */ lw $s2, 0x6c($sp) -/* 066B9C 7F03206C 8FB30070 */ lw $s3, 0x70($sp) -/* 066BA0 7F032070 8FB40074 */ lw $s4, 0x74($sp) -/* 066BA4 7F032074 8FB50078 */ lw $s5, 0x78($sp) -/* 066BA8 7F032078 8FB6007C */ lw $s6, 0x7c($sp) -/* 066BAC 7F03207C 8FB70080 */ lw $s7, 0x80($sp) -/* 066BB0 7F032080 03E00008 */ jr $ra -/* 066BB4 7F032084 27BD0110 */ addiu $sp, $sp, 0x110 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032088(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052068 -.word 0x3f99999a /*1.2*/ -glabel D_8005206C -.word 0x3f99999a /*1.2*/ -.text -glabel sub_GAME_7F032088 -/* 066BB8 7F032088 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 066BBC 7F03208C AFBF0024 */ sw $ra, 0x24($sp) -/* 066BC0 7F032090 AFB00020 */ sw $s0, 0x20($sp) -/* 066BC4 7F032094 8C8E0018 */ lw $t6, 0x18($a0) -/* 066BC8 7F032098 AFA00074 */ sw $zero, 0x74($sp) -/* 066BCC 7F03209C 3C198005 */ lui $t9, %hi(global_timer) -/* 066BD0 7F0320A0 AFAE0078 */ sw $t6, 0x78($sp) -/* 066BD4 7F0320A4 8C8F0084 */ lw $t7, 0x84($a0) -/* 066BD8 7F0320A8 3C098005 */ lui $t1, %hi(global_timer) -/* 066BDC 7F0320AC 8C8800CC */ lw $t0, 0xcc($a0) -/* 066BE0 7F0320B0 25F80001 */ addiu $t8, $t7, 1 -/* 066BE4 7F0320B4 AC980084 */ sw $t8, 0x84($a0) -/* 066BE8 7F0320B8 8F39837C */ lw $t9, %lo(global_timer)($t9) -/* 066BEC 7F0320BC 00808025 */ move $s0, $a0 -/* 066BF0 7F0320C0 2605002C */ addiu $a1, $s0, 0x2c -/* 066BF4 7F0320C4 AC9900C8 */ sw $t9, 0xc8($a0) -/* 066BF8 7F0320C8 8D29837C */ lw $t1, %lo(global_timer)($t1) -/* 066BFC 7F0320CC 252AFFC4 */ addiu $t2, $t1, -0x3c -/* 066C00 7F0320D0 010A082A */ slt $at, $t0, $t2 -/* 066C04 7F0320D4 10200004 */ beqz $at, .L7F0320E8 -/* 066C08 7F0320D8 00000000 */ nop -/* 066C0C 7F0320DC 8E060038 */ lw $a2, 0x38($s0) -/* 066C10 7F0320E0 0FC0A377 */ jal plot_course_for_actor -/* 066C14 7F0320E4 92070059 */ lbu $a3, 0x59($s0) -.L7F0320E8: -/* 066C18 7F0320E8 0FC0A07F */ jal sub_GAME_7F0281FC -/* 066C1C 7F0320EC 02002025 */ move $a0, $s0 -/* 066C20 7F0320F0 820B005C */ lb $t3, 0x5c($s0) -/* 066C24 7F0320F4 24010006 */ li $at, 6 -/* 066C28 7F0320F8 3C0C8005 */ lui $t4, %hi(global_timer) -/* 066C2C 7F0320FC 11610015 */ beq $t3, $at, .L7F032154 -/* 066C30 7F032100 00000000 */ nop -/* 066C34 7F032104 8E0D009C */ lw $t5, 0x9c($s0) -/* 066C38 7F032108 8D8C837C */ lw $t4, %lo(global_timer)($t4) -/* 066C3C 7F03210C 02002025 */ move $a0, $s0 -/* 066C40 7F032110 25AE00B4 */ addiu $t6, $t5, 0xb4 -/* 066C44 7F032114 01CC082A */ slt $at, $t6, $t4 -/* 066C48 7F032118 1020000E */ beqz $at, .L7F032154 -/* 066C4C 7F03211C 27A50068 */ addiu $a1, $sp, 0x68 -/* 066C50 7F032120 0FC09FC8 */ jal sub_GAME_7F027F20 -/* 066C54 7F032124 27A60064 */ addiu $a2, $sp, 0x64 -/* 066C58 7F032128 02002025 */ move $a0, $s0 -/* 066C5C 7F03212C 27A50068 */ addiu $a1, $sp, 0x68 -/* 066C60 7F032130 0FC09F6C */ jal sub_GAME_7F027DB0 -/* 066C64 7F032134 8FA60064 */ lw $a2, 0x64($sp) -/* 066C68 7F032138 10400006 */ beqz $v0, .L7F032154 -/* 066C6C 7F03213C 240F0001 */ li $t7, 1 -/* 066C70 7F032140 AFAF0074 */ sw $t7, 0x74($sp) -/* 066C74 7F032144 02002025 */ move $a0, $s0 -/* 066C78 7F032148 2605005C */ addiu $a1, $s0, 0x5c -/* 066C7C 7F03214C 0FC09FA4 */ jal sub_GAME_7F027E90 -/* 066C80 7F032150 27A60068 */ addiu $a2, $sp, 0x68 -.L7F032154: -/* 066C84 7F032154 3C188003 */ lui $t8, %hi(setting_007_5) -/* 066C88 7F032158 8F18CE50 */ lw $t8, %lo(setting_007_5)($t8) -/* 066C8C 7F03215C 2B01000A */ slti $at, $t8, 0xa -/* 066C90 7F032160 54200006 */ bnezl $at, .L7F03217C -/* 066C94 7F032164 8219005C */ lb $t9, 0x5c($s0) -/* 066C98 7F032168 0FC08F92 */ jal sub_GAME_7F023E48 -/* 066C9C 7F03216C 02002025 */ move $a0, $s0 -/* 066CA0 7F032170 100000F1 */ b .L7F032538 -/* 066CA4 7F032174 8FBF0024 */ lw $ra, 0x24($sp) -/* 066CA8 7F032178 8219005C */ lb $t9, 0x5c($s0) -.L7F03217C: -/* 066CAC 7F03217C 24010006 */ li $at, 6 -/* 066CB0 7F032180 02002025 */ move $a0, $s0 -/* 066CB4 7F032184 17210024 */ bne $t9, $at, .L7F032218 -/* 066CB8 7F032188 27A50058 */ addiu $a1, $sp, 0x58 -/* 066CBC 7F03218C 0FC09FC8 */ jal sub_GAME_7F027F20 -/* 066CC0 7F032190 27A60054 */ addiu $a2, $sp, 0x54 -/* 066CC4 7F032194 8FA90074 */ lw $t1, 0x74($sp) -/* 066CC8 7F032198 8FA80078 */ lw $t0, 0x78($sp) -/* 066CCC 7F03219C 55200012 */ bnezl $t1, .L7F0321E8 -/* 066CD0 7F0321A0 260C005C */ addiu $t4, $s0, 0x5c -/* 066CD4 7F0321A4 910A0001 */ lbu $t2, 1($t0) -/* 066CD8 7F0321A8 02002025 */ move $a0, $s0 -/* 066CDC 7F0321AC 27A50058 */ addiu $a1, $sp, 0x58 -/* 066CE0 7F0321B0 314B0002 */ andi $t3, $t2, 2 -/* 066CE4 7F0321B4 15600005 */ bnez $t3, .L7F0321CC -/* 066CE8 7F0321B8 00000000 */ nop -/* 066CEC 7F0321BC 0FC09F6C */ jal sub_GAME_7F027DB0 -/* 066CF0 7F0321C0 8FA60054 */ lw $a2, 0x54($sp) -/* 066CF4 7F0321C4 54400008 */ bnezl $v0, .L7F0321E8 -/* 066CF8 7F0321C8 260C005C */ addiu $t4, $s0, 0x5c -.L7F0321CC: -/* 066CFC 7F0321CC 0FC0A0A3 */ jal sub_GAME_7F02828C -/* 066D00 7F0321D0 02002025 */ move $a0, $s0 -/* 066D04 7F0321D4 3C0D8005 */ lui $t5, %hi(global_timer) -/* 066D08 7F0321D8 8DAD837C */ lw $t5, %lo(global_timer)($t5) -/* 066D0C 7F0321DC 100000D5 */ b .L7F032534 -/* 066D10 7F0321E0 AE0D009C */ sw $t5, 0x9c($s0) -/* 066D14 7F0321E4 260C005C */ addiu $t4, $s0, 0x5c -.L7F0321E8: -/* 066D18 7F0321E8 AFAC0034 */ sw $t4, 0x34($sp) -/* 066D1C 7F0321EC 0FC09FEA */ jal sub_GAME_7F027FA8 -/* 066D20 7F0321F0 02002025 */ move $a0, $s0 -/* 066D24 7F0321F4 8FAE0054 */ lw $t6, 0x54($sp) -/* 066D28 7F0321F8 44060000 */ mfc1 $a2, $f0 -/* 066D2C 7F0321FC 02002025 */ move $a0, $s0 -/* 066D30 7F032200 8FA50034 */ lw $a1, 0x34($sp) -/* 066D34 7F032204 27A70058 */ addiu $a3, $sp, 0x58 -/* 066D38 7F032208 0FC0A180 */ jal sub_GAME_7F028600 -/* 066D3C 7F03220C AFAE0010 */ sw $t6, 0x10($sp) -/* 066D40 7F032210 100000C9 */ b .L7F032538 -/* 066D44 7F032214 8FBF0024 */ lw $ra, 0x24($sp) -.L7F032218: -/* 066D48 7F032218 920F0058 */ lbu $t7, 0x58($s0) -/* 066D4C 7F03221C 8FA50078 */ lw $a1, 0x78($sp) -/* 066D50 7F032220 00001825 */ move $v1, $zero -/* 066D54 7F032224 000FC080 */ sll $t8, $t7, 2 -/* 066D58 7F032228 0218C821 */ addu $t9, $s0, $t8 -/* 066D5C 7F03222C 8F220040 */ lw $v0, 0x40($t9) -/* 066D60 7F032230 260400BC */ addiu $a0, $s0, 0xbc -/* 066D64 7F032234 2606002C */ addiu $a2, $s0, 0x2c -/* 066D68 7F032238 10400015 */ beqz $v0, .L7F032290 -/* 066D6C 7F03223C 24A50008 */ addiu $a1, $a1, 8 -/* 066D70 7F032240 8C490000 */ lw $t1, ($v0) -/* 066D74 7F032244 8FA50078 */ lw $a1, 0x78($sp) -/* 066D78 7F032248 3C0A8007 */ lui $t2, %hi(ptr_0xxxpresets) -/* 066D7C 7F03224C 00094080 */ sll $t0, $t1, 2 -/* 066D80 7F032250 01094023 */ subu $t0, $t0, $t1 -/* 066D84 7F032254 00084080 */ sll $t0, $t0, 2 -/* 066D88 7F032258 8D4A5D18 */ lw $t2, %lo(ptr_0xxxpresets)($t2) -/* 066D8C 7F03225C 01094023 */ subu $t0, $t0, $t1 -/* 066D90 7F032260 00084080 */ sll $t0, $t0, 2 -/* 066D94 7F032264 24A50008 */ addiu $a1, $a1, 8 -/* 066D98 7F032268 AFA5002C */ sw $a1, 0x2c($sp) -/* 066D9C 7F03226C AFA0004C */ sw $zero, 0x4c($sp) -/* 066DA0 7F032270 260400BC */ addiu $a0, $s0, 0xbc -/* 066DA4 7F032274 3C0741F0 */ lui $a3, 0x41f0 -/* 066DA8 7F032278 0FC0BF54 */ jal sub_GAME_7F02FD50 -/* 066DAC 7F03227C 010A3021 */ addu $a2, $t0, $t2 -/* 066DB0 7F032280 1040000D */ beqz $v0, .L7F0322B8 -/* 066DB4 7F032284 8FA3004C */ lw $v1, 0x4c($sp) -/* 066DB8 7F032288 1000000B */ b .L7F0322B8 -/* 066DBC 7F03228C 24030001 */ li $v1, 1 -.L7F032290: -/* 066DC0 7F032290 3C0741F0 */ lui $a3, 0x41f0 -/* 066DC4 7F032294 AFA3004C */ sw $v1, 0x4c($sp) -/* 066DC8 7F032298 0FC0BF54 */ jal sub_GAME_7F02FD50 -/* 066DCC 7F03229C AFA5002C */ sw $a1, 0x2c($sp) -/* 066DD0 7F0322A0 10400005 */ beqz $v0, .L7F0322B8 -/* 066DD4 7F0322A4 8FA3004C */ lw $v1, 0x4c($sp) -/* 066DD8 7F0322A8 0FC08F92 */ jal sub_GAME_7F023E48 -/* 066DDC 7F0322AC 02002025 */ move $a0, $s0 -/* 066DE0 7F0322B0 100000A1 */ b .L7F032538 -/* 066DE4 7F0322B4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0322B8: -/* 066DE8 7F0322B8 260B005C */ addiu $t3, $s0, 0x5c -/* 066DEC 7F0322BC 10600003 */ beqz $v1, .L7F0322CC -/* 066DF0 7F0322C0 AFAB0034 */ sw $t3, 0x34($sp) -/* 066DF4 7F0322C4 0FC0A0B8 */ jal sub_GAME_7F0282E0 -/* 066DF8 7F0322C8 02002025 */ move $a0, $s0 -.L7F0322CC: -/* 066DFC 7F0322CC 8E0D0084 */ lw $t5, 0x84($s0) -/* 066E00 7F0322D0 2401000A */ li $at, 10 -/* 066E04 7F0322D4 01A1001A */ div $zero, $t5, $at -/* 066E08 7F0322D8 00006010 */ mfhi $t4 -/* 066E0C 7F0322DC 24010005 */ li $at, 5 -/* 066E10 7F0322E0 5581003F */ bnel $t4, $at, .L7F0323E0 -/* 066E14 7F0322E4 8E190084 */ lw $t9, 0x84($s0) -/* 066E18 7F0322E8 92030058 */ lbu $v1, 0x58($s0) -/* 066E1C 7F0322EC 00037080 */ sll $t6, $v1, 2 -/* 066E20 7F0322F0 020E7821 */ addu $t7, $s0, $t6 -/* 066E24 7F0322F4 8DE20040 */ lw $v0, 0x40($t7) -/* 066E28 7F0322F8 0003C080 */ sll $t8, $v1, 2 -/* 066E2C 7F0322FC 02182021 */ addu $a0, $s0, $t8 -/* 066E30 7F032300 50400037 */ beql $v0, $zero, .L7F0323E0 -/* 066E34 7F032304 8E190084 */ lw $t9, 0x84($s0) -/* 066E38 7F032308 8C820044 */ lw $v0, 0x44($a0) -/* 066E3C 7F03230C 240E0010 */ li $t6, 16 -/* 066E40 7F032310 50400033 */ beql $v0, $zero, .L7F0323E0 -/* 066E44 7F032314 8E190084 */ lw $t9, 0x84($s0) -/* 066E48 7F032318 8C820048 */ lw $v0, 0x48($a0) -/* 066E4C 7F03231C 260B002C */ addiu $t3, $s0, 0x2c -/* 066E50 7F032320 02002025 */ move $a0, $s0 -/* 066E54 7F032324 5040000F */ beql $v0, $zero, .L7F032364 -/* 066E58 7F032328 AFAB0080 */ sw $t3, 0x80($sp) -/* 066E5C 7F03232C 8C590000 */ lw $t9, ($v0) -/* 066E60 7F032330 3C088007 */ lui $t0, %hi(ptr_0xxxpresets) -/* 066E64 7F032334 8D085D18 */ lw $t0, %lo(ptr_0xxxpresets)($t0) -/* 066E68 7F032338 00194880 */ sll $t1, $t9, 2 -/* 066E6C 7F03233C 01394823 */ subu $t1, $t1, $t9 -/* 066E70 7F032340 00094880 */ sll $t1, $t1, 2 -/* 066E74 7F032344 01394823 */ subu $t1, $t1, $t9 -/* 066E78 7F032348 00094880 */ sll $t1, $t1, 2 -/* 066E7C 7F03234C 01281821 */ addu $v1, $t1, $t0 -/* 066E80 7F032350 AFA30080 */ sw $v1, 0x80($sp) -/* 066E84 7F032354 8C6A0028 */ lw $t2, 0x28($v1) -/* 066E88 7F032358 10000004 */ b .L7F03236C -/* 066E8C 7F03235C AFAA007C */ sw $t2, 0x7c($sp) -/* 066E90 7F032360 AFAB0080 */ sw $t3, 0x80($sp) -.L7F032364: -/* 066E94 7F032364 8E060038 */ lw $a2, 0x38($s0) -/* 066E98 7F032368 AFA6007C */ sw $a2, 0x7c($sp) -.L7F03236C: -/* 066E9C 7F03236C 8FAD0078 */ lw $t5, 0x78($sp) -/* 066EA0 7F032370 8FAC007C */ lw $t4, 0x7c($sp) -/* 066EA4 7F032374 8FA5002C */ lw $a1, 0x2c($sp) -/* 066EA8 7F032378 8DA60014 */ lw $a2, 0x14($t5) -/* 066EAC 7F03237C AFAE0014 */ sw $t6, 0x14($sp) -/* 066EB0 7F032380 8FA70080 */ lw $a3, 0x80($sp) -/* 066EB4 7F032384 0FC0C04A */ jal sub_GAME_7F030128 -/* 066EB8 7F032388 AFAC0010 */ sw $t4, 0x10($sp) -/* 066EBC 7F03238C 10400013 */ beqz $v0, .L7F0323DC -/* 066EC0 7F032390 3C018005 */ lui $at, %hi(D_80052068) -/* 066EC4 7F032394 C6040024 */ lwc1 $f4, 0x24($s0) -/* 066EC8 7F032398 C4262068 */ lwc1 $f6, %lo(D_80052068)($at) -/* 066ECC 7F03239C 8FAF0078 */ lw $t7, 0x78($sp) -/* 066ED0 7F0323A0 24180010 */ li $t8, 16 -/* 066ED4 7F0323A4 46062202 */ mul.s $f8, $f4, $f6 -/* 066ED8 7F0323A8 8DE60014 */ lw $a2, 0x14($t7) -/* 066EDC 7F0323AC AFB80014 */ sw $t8, 0x14($sp) -/* 066EE0 7F0323B0 02002025 */ move $a0, $s0 -/* 066EE4 7F0323B4 8FA5002C */ lw $a1, 0x2c($sp) -/* 066EE8 7F0323B8 8FA70080 */ lw $a3, 0x80($sp) -/* 066EEC 7F0323BC 0FC0C07F */ jal sub_GAME_7F0301FC -/* 066EF0 7F0323C0 E7A80010 */ swc1 $f8, 0x10($sp) -/* 066EF4 7F0323C4 50400006 */ beql $v0, $zero, .L7F0323E0 -/* 066EF8 7F0323C8 8E190084 */ lw $t9, 0x84($s0) -/* 066EFC 7F0323CC 0FC0A0B8 */ jal sub_GAME_7F0282E0 -/* 066F00 7F0323D0 02002025 */ move $a0, $s0 -/* 066F04 7F0323D4 0FC0A0B8 */ jal sub_GAME_7F0282E0 -/* 066F08 7F0323D8 02002025 */ move $a0, $s0 -.L7F0323DC: -/* 066F0C 7F0323DC 8E190084 */ lw $t9, 0x84($s0) -.L7F0323E0: -/* 066F10 7F0323E0 2401000A */ li $at, 10 -/* 066F14 7F0323E4 0321001A */ div $zero, $t9, $at -/* 066F18 7F0323E8 00004810 */ mfhi $t1 -/* 066F1C 7F0323EC 55200039 */ bnezl $t1, .L7F0324D4 -/* 066F20 7F0323F0 920C0058 */ lbu $t4, 0x58($s0) -/* 066F24 7F0323F4 92030058 */ lbu $v1, 0x58($s0) -/* 066F28 7F0323F8 02002025 */ move $a0, $s0 -/* 066F2C 7F0323FC 00034080 */ sll $t0, $v1, 2 -/* 066F30 7F032400 02085021 */ addu $t2, $s0, $t0 -/* 066F34 7F032404 8D420040 */ lw $v0, 0x40($t2) -/* 066F38 7F032408 00035880 */ sll $t3, $v1, 2 -/* 066F3C 7F03240C 020B6821 */ addu $t5, $s0, $t3 -/* 066F40 7F032410 1040002F */ beqz $v0, .L7F0324D0 -/* 066F44 7F032414 240A0010 */ li $t2, 16 -/* 066F48 7F032418 8DA20044 */ lw $v0, 0x44($t5) -/* 066F4C 7F03241C 2619002C */ addiu $t9, $s0, 0x2c -/* 066F50 7F032420 5040000F */ beql $v0, $zero, .L7F032460 -/* 066F54 7F032424 AFB90080 */ sw $t9, 0x80($sp) -/* 066F58 7F032428 8C4C0000 */ lw $t4, ($v0) -/* 066F5C 7F03242C 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) -/* 066F60 7F032430 8DEF5D18 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 066F64 7F032434 000C7080 */ sll $t6, $t4, 2 -/* 066F68 7F032438 01CC7023 */ subu $t6, $t6, $t4 -/* 066F6C 7F03243C 000E7080 */ sll $t6, $t6, 2 -/* 066F70 7F032440 01CC7023 */ subu $t6, $t6, $t4 -/* 066F74 7F032444 000E7080 */ sll $t6, $t6, 2 -/* 066F78 7F032448 01CF1821 */ addu $v1, $t6, $t7 -/* 066F7C 7F03244C AFA30080 */ sw $v1, 0x80($sp) -/* 066F80 7F032450 8C780028 */ lw $t8, 0x28($v1) -/* 066F84 7F032454 10000004 */ b .L7F032468 -/* 066F88 7F032458 AFB8007C */ sw $t8, 0x7c($sp) -/* 066F8C 7F03245C AFB90080 */ sw $t9, 0x80($sp) -.L7F032460: -/* 066F90 7F032460 8E060038 */ lw $a2, 0x38($s0) -/* 066F94 7F032464 AFA6007C */ sw $a2, 0x7c($sp) -.L7F032468: -/* 066F98 7F032468 8FA90078 */ lw $t1, 0x78($sp) -/* 066F9C 7F03246C 8FA8007C */ lw $t0, 0x7c($sp) -/* 066FA0 7F032470 8FA5002C */ lw $a1, 0x2c($sp) -/* 066FA4 7F032474 8D260014 */ lw $a2, 0x14($t1) -/* 066FA8 7F032478 AFAA0014 */ sw $t2, 0x14($sp) -/* 066FAC 7F03247C 8FA70080 */ lw $a3, 0x80($sp) -/* 066FB0 7F032480 0FC0C04A */ jal sub_GAME_7F030128 -/* 066FB4 7F032484 AFA80010 */ sw $t0, 0x10($sp) -/* 066FB8 7F032488 10400011 */ beqz $v0, .L7F0324D0 -/* 066FBC 7F03248C 3C018005 */ lui $at, %hi(D_8005206C) -/* 066FC0 7F032490 C60A0024 */ lwc1 $f10, 0x24($s0) -/* 066FC4 7F032494 C430206C */ lwc1 $f16, %lo(D_8005206C)($at) -/* 066FC8 7F032498 8FAB0078 */ lw $t3, 0x78($sp) -/* 066FCC 7F03249C 240D0010 */ li $t5, 16 -/* 066FD0 7F0324A0 46105482 */ mul.s $f18, $f10, $f16 -/* 066FD4 7F0324A4 8D660014 */ lw $a2, 0x14($t3) -/* 066FD8 7F0324A8 AFAD0014 */ sw $t5, 0x14($sp) -/* 066FDC 7F0324AC 02002025 */ move $a0, $s0 -/* 066FE0 7F0324B0 8FA5002C */ lw $a1, 0x2c($sp) -/* 066FE4 7F0324B4 8FA70080 */ lw $a3, 0x80($sp) -/* 066FE8 7F0324B8 0FC0C07F */ jal sub_GAME_7F0301FC -/* 066FEC 7F0324BC E7B20010 */ swc1 $f18, 0x10($sp) -/* 066FF0 7F0324C0 50400004 */ beql $v0, $zero, .L7F0324D4 -/* 066FF4 7F0324C4 920C0058 */ lbu $t4, 0x58($s0) -/* 066FF8 7F0324C8 0FC0A0B8 */ jal sub_GAME_7F0282E0 -/* 066FFC 7F0324CC 02002025 */ move $a0, $s0 -.L7F0324D0: -/* 067000 7F0324D0 920C0058 */ lbu $t4, 0x58($s0) -.L7F0324D4: -/* 067004 7F0324D4 2608002C */ addiu $t0, $s0, 0x2c -/* 067008 7F0324D8 02002025 */ move $a0, $s0 -/* 06700C 7F0324DC 000C7080 */ sll $t6, $t4, 2 -/* 067010 7F0324E0 020E7821 */ addu $t7, $s0, $t6 -/* 067014 7F0324E4 8DE20040 */ lw $v0, 0x40($t7) -/* 067018 7F0324E8 5040000E */ beql $v0, $zero, .L7F032524 -/* 06701C 7F0324EC AFA80080 */ sw $t0, 0x80($sp) -/* 067020 7F0324F0 8C580000 */ lw $t8, ($v0) -/* 067024 7F0324F4 3C098007 */ lui $t1, %hi(ptr_0xxxpresets) -/* 067028 7F0324F8 8D295D18 */ lw $t1, %lo(ptr_0xxxpresets)($t1) -/* 06702C 7F0324FC 0018C880 */ sll $t9, $t8, 2 -/* 067030 7F032500 0338C823 */ subu $t9, $t9, $t8 -/* 067034 7F032504 0019C880 */ sll $t9, $t9, 2 -/* 067038 7F032508 0338C823 */ subu $t9, $t9, $t8 -/* 06703C 7F03250C 0019C880 */ sll $t9, $t9, 2 -/* 067040 7F032510 03291821 */ addu $v1, $t9, $t1 -/* 067044 7F032514 AFA30080 */ sw $v1, 0x80($sp) -/* 067048 7F032518 10000003 */ b .L7F032528 -/* 06704C 7F03251C 8C660028 */ lw $a2, 0x28($v1) -/* 067050 7F032520 AFA80080 */ sw $t0, 0x80($sp) -.L7F032524: -/* 067054 7F032524 8E060038 */ lw $a2, 0x38($s0) -.L7F032528: -/* 067058 7F032528 8FA50080 */ lw $a1, 0x80($sp) -/* 06705C 7F03252C 0FC0C569 */ jal sub_GAME_7F0315A4 -/* 067060 7F032530 8FA70034 */ lw $a3, 0x34($sp) -.L7F032534: -/* 067064 7F032534 8FBF0024 */ lw $ra, 0x24($sp) -.L7F032538: -/* 067068 7F032538 8FB00020 */ lw $s0, 0x20($sp) -/* 06706C 7F03253C 27BD0088 */ addiu $sp, $sp, 0x88 -/* 067070 7F032540 03E00008 */ jr $ra -/* 067074 7F032544 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032548(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032548 -/* 067078 7F032548 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 06707C 7F03254C AFBF0024 */ sw $ra, 0x24($sp) -/* 067080 7F032550 AFB10020 */ sw $s1, 0x20($sp) -/* 067084 7F032554 AFB0001C */ sw $s0, 0x1c($sp) -/* 067088 7F032558 8C8E0018 */ lw $t6, 0x18($a0) -/* 06708C 7F03255C 00808025 */ move $s0, $a0 -/* 067090 7F032560 0FC0A11D */ jal sub_GAME_7F028474 -/* 067094 7F032564 AFAE003C */ sw $t6, 0x3c($sp) -/* 067098 7F032568 AFA00034 */ sw $zero, 0x34($sp) -/* 06709C 7F03256C 8E0F0060 */ lw $t7, 0x60($s0) -/* 0670A0 7F032570 82080038 */ lb $t0, 0x38($s0) -/* 0670A4 7F032574 3C198005 */ lui $t9, %hi(global_timer) -/* 0670A8 7F032578 25F80001 */ addiu $t8, $t7, 1 -/* 0670AC 7F03257C AE180060 */ sw $t8, 0x60($s0) -/* 0670B0 7F032580 8F39837C */ lw $t9, %lo(global_timer)($t9) -/* 0670B4 7F032584 24010006 */ li $at, 6 -/* 0670B8 7F032588 00408825 */ move $s1, $v0 -/* 0670BC 7F03258C 11010012 */ beq $t0, $at, .L7F0325D8 -/* 0670C0 7F032590 AE1900C8 */ sw $t9, 0xc8($s0) -/* 0670C4 7F032594 8E0A0078 */ lw $t2, 0x78($s0) -/* 0670C8 7F032598 3C098005 */ lui $t1, %hi(global_timer) -/* 0670CC 7F03259C 8D29837C */ lw $t1, %lo(global_timer)($t1) -/* 0670D0 7F0325A0 254B00B4 */ addiu $t3, $t2, 0xb4 -/* 0670D4 7F0325A4 02002025 */ move $a0, $s0 -/* 0670D8 7F0325A8 0169082A */ slt $at, $t3, $t1 -/* 0670DC 7F0325AC 5020000B */ beql $at, $zero, .L7F0325DC -/* 0670E0 7F0325B0 820D0038 */ lb $t5, 0x38($s0) -/* 0670E4 7F0325B4 0FC09F9C */ jal sub_GAME_7F027E70 -/* 0670E8 7F0325B8 00402825 */ move $a1, $v0 -/* 0670EC 7F0325BC 10400006 */ beqz $v0, .L7F0325D8 -/* 0670F0 7F0325C0 240C0001 */ li $t4, 1 -/* 0670F4 7F0325C4 AFAC0034 */ sw $t4, 0x34($sp) -/* 0670F8 7F0325C8 02002025 */ move $a0, $s0 -/* 0670FC 7F0325CC 26050038 */ addiu $a1, $s0, 0x38 -/* 067100 7F0325D0 0FC09FA4 */ jal sub_GAME_7F027E90 -/* 067104 7F0325D4 02203025 */ move $a2, $s1 -.L7F0325D8: -/* 067108 7F0325D8 820D0038 */ lb $t5, 0x38($s0) -.L7F0325DC: -/* 06710C 7F0325DC 24010006 */ li $at, 6 -/* 067110 7F0325E0 26090038 */ addiu $t1, $s0, 0x38 -/* 067114 7F0325E4 15A1001E */ bne $t5, $at, .L7F032660 -/* 067118 7F0325E8 260400BC */ addiu $a0, $s0, 0xbc -/* 06711C 7F0325EC 8FAE0034 */ lw $t6, 0x34($sp) -/* 067120 7F0325F0 8FAF003C */ lw $t7, 0x3c($sp) -/* 067124 7F0325F4 55C00011 */ bnezl $t6, .L7F03263C -/* 067128 7F0325F8 8E2A0028 */ lw $t2, 0x28($s1) -/* 06712C 7F0325FC 91F80001 */ lbu $t8, 1($t7) -/* 067130 7F032600 02002025 */ move $a0, $s0 -/* 067134 7F032604 33190002 */ andi $t9, $t8, 2 -/* 067138 7F032608 17200004 */ bnez $t9, .L7F03261C -/* 06713C 7F03260C 00000000 */ nop -/* 067140 7F032610 0FC09F9C */ jal sub_GAME_7F027E70 -/* 067144 7F032614 02202825 */ move $a1, $s1 -/* 067148 7F032618 14400007 */ bnez $v0, .L7F032638 -.L7F03261C: -/* 06714C 7F03261C 3C088005 */ lui $t0, %hi(global_timer) -/* 067150 7F032620 8D08837C */ lw $t0, %lo(global_timer)($t0) -/* 067154 7F032624 02002025 */ move $a0, $s0 -/* 067158 7F032628 0FC0A125 */ jal sub_GAME_7F028494 -/* 06715C 7F03262C AE080078 */ sw $t0, 0x78($s0) -/* 067160 7F032630 1000001E */ b .L7F0326AC -/* 067164 7F032634 8FBF0024 */ lw $ra, 0x24($sp) -.L7F032638: -/* 067168 7F032638 8E2A0028 */ lw $t2, 0x28($s1) -.L7F03263C: -/* 06716C 7F03263C 3C068003 */ lui $a2, %hi(D_80030984) -/* 067170 7F032640 8CC60984 */ lw $a2, %lo(D_80030984)($a2) -/* 067174 7F032644 02002025 */ move $a0, $s0 -/* 067178 7F032648 26050038 */ addiu $a1, $s0, 0x38 -/* 06717C 7F03264C 02203825 */ move $a3, $s1 -/* 067180 7F032650 0FC0A180 */ jal sub_GAME_7F028600 -/* 067184 7F032654 AFAA0010 */ sw $t2, 0x10($sp) -/* 067188 7F032658 10000014 */ b .L7F0326AC -/* 06718C 7F03265C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F032660: -/* 067190 7F032660 8FA5003C */ lw $a1, 0x3c($sp) -/* 067194 7F032664 AFA9002C */ sw $t1, 0x2c($sp) -/* 067198 7F032668 02203025 */ move $a2, $s1 -/* 06719C 7F03266C 3C0741F0 */ lui $a3, 0x41f0 -/* 0671A0 7F032670 0FC0BF54 */ jal sub_GAME_7F02FD50 -/* 0671A4 7F032674 24A50008 */ addiu $a1, $a1, 8 -/* 0671A8 7F032678 50400007 */ beql $v0, $zero, .L7F032698 -/* 0671AC 7F03267C 02002025 */ move $a0, $s0 -/* 0671B0 7F032680 0FC0A137 */ jal sub_GAME_7F0284DC -/* 0671B4 7F032684 02002025 */ move $a0, $s0 -/* 0671B8 7F032688 0FC0A11D */ jal sub_GAME_7F028474 -/* 0671BC 7F03268C 02002025 */ move $a0, $s0 -/* 0671C0 7F032690 00408825 */ move $s1, $v0 -/* 0671C4 7F032694 02002025 */ move $a0, $s0 -.L7F032698: -/* 0671C8 7F032698 02202825 */ move $a1, $s1 -/* 0671CC 7F03269C 8E260028 */ lw $a2, 0x28($s1) -/* 0671D0 7F0326A0 0FC0C569 */ jal sub_GAME_7F0315A4 -/* 0671D4 7F0326A4 8FA7002C */ lw $a3, 0x2c($sp) -/* 0671D8 7F0326A8 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0326AC: -/* 0671DC 7F0326AC 8FB0001C */ lw $s0, 0x1c($sp) -/* 0671E0 7F0326B0 8FB10020 */ lw $s1, 0x20($sp) -/* 0671E4 7F0326B4 03E00008 */ jr $ra -/* 0671E8 7F0326B8 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - -#ifdef NONMATCHING -void manage_actions(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel jpt_80052070 - .word .L7F032788 - .word .L7F032798 - .word .L7F0327A8 - .word .L7F0327B8 - .word .L7F032808 - .word .L7F0327C8 - .word .L7F0327D8 - .word .L7F032818 - .word .L7F032828 - .word .L7F032838 - .word .L7F0327E8 - .word .L7F0327F8 - .word .L7F032848 - .word .L7F032858 - .word .L7F032868 - .word .L7F032878 - .word def_7F032780 - .word .L7F032898 - .word .L7F0328A8 - .word .L7F0328B8 - .word def_7F032780 - .word .L7F032888 - .word .L7F0328C8 - .word .L7F0328D8 -.text -glabel manage_actions -/* 0671EC 7F0326BC 3C028005 */ lui $v0, %hi(clock_timer) -/* 0671F0 7F0326C0 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0671F4 7F0326C4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0671F8 7F0326C8 AFB00018 */ sw $s0, 0x18($sp) -/* 0671FC 7F0326CC 00808025 */ move $s0, $a0 -/* 067200 7F0326D0 1840008D */ blez $v0, .L7F032908 -/* 067204 7F0326D4 AFBF001C */ sw $ra, 0x1c($sp) -/* 067208 7F0326D8 808E0007 */ lb $t6, 7($a0) -/* 06720C 7F0326DC 55C0000A */ bnezl $t6, .L7F032708 -/* 067210 7F0326E0 96190012 */ lhu $t9, 0x12($s0) -/* 067214 7F0326E4 8C8F0014 */ lw $t7, 0x14($a0) -/* 067218 7F0326E8 24050000 */ li $a1, 0 -/* 06721C 7F0326EC 35F80001 */ ori $t8, $t7, 1 -/* 067220 7F0326F0 0FC08EA5 */ jal sub_GAME_7F023A94 -/* 067224 7F0326F4 AC980014 */ sw $t8, 0x14($a0) -/* 067228 7F0326F8 A2000008 */ sb $zero, 8($s0) -/* 06722C 7F0326FC 3C028005 */ lui $v0, %hi(clock_timer) -/* 067230 7F032700 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 067234 7F032704 96190012 */ lhu $t9, 0x12($s0) -.L7F032708: -/* 067238 7F032708 02002025 */ move $a0, $s0 -/* 06723C 7F03270C 24050003 */ li $a1, 3 -/* 067240 7F032710 33280040 */ andi $t0, $t9, 0x40 -/* 067244 7F032714 51000007 */ beql $t0, $zero, .L7F032734 -/* 067248 7F032718 820B0008 */ lb $t3, 8($s0) -/* 06724C 7F03271C 8E090110 */ lw $t1, 0x110($s0) -/* 067250 7F032720 01225021 */ addu $t2, $t1, $v0 -/* 067254 7F032724 AE0A0110 */ sw $t2, 0x110($s0) -/* 067258 7F032728 3C028005 */ lui $v0, %hi(clock_timer) -/* 06725C 7F03272C 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 067260 7F032730 820B0008 */ lb $t3, 8($s0) -.L7F032734: -/* 067264 7F032734 01626023 */ subu $t4, $t3, $v0 -/* 067268 7F032738 A20C0008 */ sb $t4, 8($s0) -/* 06726C 7F03273C 820D0008 */ lb $t5, 8($s0) -/* 067270 7F032740 05A00005 */ bltz $t5, .L7F032758 -/* 067274 7F032744 00000000 */ nop -/* 067278 7F032748 8E0E0014 */ lw $t6, 0x14($s0) -/* 06727C 7F03274C 000E7B40 */ sll $t7, $t6, 0xd -/* 067280 7F032750 05E3006E */ bgezl $t7, .L7F03290C -/* 067284 7F032754 8FBF001C */ lw $ra, 0x1c($sp) -.L7F032758: -/* 067288 7F032758 0FC0D521 */ jal parse_handle_actionblocks -/* 06728C 7F03275C A2000008 */ sb $zero, 8($s0) -/* 067290 7F032760 82180007 */ lb $t8, 7($s0) -/* 067294 7F032764 2719FFFF */ addiu $t9, $t8, -1 -/* 067298 7F032768 2F210018 */ sltiu $at, $t9, 0x18 -/* 06729C 7F03276C 1020005C */ beqz $at, .L7F0328E0 -/* 0672A0 7F032770 0019C880 */ sll $t9, $t9, 2 -/* 0672A4 7F032774 3C018005 */ lui $at, %hi(jpt_80052070) -/* 0672A8 7F032778 00390821 */ addu $at, $at, $t9 -/* 0672AC 7F03277C 8C392070 */ lw $t9, %lo(jpt_80052070)($at) -/* 0672B0 7F032780 03200008 */ jr $t9 -/* 0672B4 7F032784 00000000 */ nop -.L7F032788: -/* 0672B8 7F032788 0FC0AB66 */ jal sub_GAME_7F02AD98 -/* 0672BC 7F03278C 02002025 */ move $a0, $s0 -/* 0672C0 7F032790 10000054 */ b .L7F0328E4 -/* 0672C4 7F032794 8E080014 */ lw $t0, 0x14($s0) -.L7F032798: -/* 0672C8 7F032798 0FC0AD38 */ jal actor_reset_sleep -/* 0672CC 7F03279C 02002025 */ move $a0, $s0 -/* 0672D0 7F0327A0 10000050 */ b .L7F0328E4 -/* 0672D4 7F0327A4 8E080014 */ lw $t0, 0x14($s0) -.L7F0327A8: -/* 0672D8 7F0327A8 0FC0AD3A */ jal sub_GAME_7F02B4E8 -/* 0672DC 7F0327AC 02002025 */ move $a0, $s0 -/* 0672E0 7F0327B0 1000004C */ b .L7F0328E4 -/* 0672E4 7F0327B4 8E080014 */ lw $t0, 0x14($s0) -.L7F0327B8: -/* 0672E8 7F0327B8 0FC0AE69 */ jal guard_body_hit_sfx -/* 0672EC 7F0327BC 02002025 */ move $a0, $s0 -/* 0672F0 7F0327C0 10000048 */ b .L7F0328E4 -/* 0672F4 7F0327C4 8E080014 */ lw $t0, 0x14($s0) -.L7F0327C8: -/* 0672F8 7F0327C8 0FC0AF20 */ jal sub_GAME_7F02BC80 -/* 0672FC 7F0327CC 02002025 */ move $a0, $s0 -/* 067300 7F0327D0 10000044 */ b .L7F0328E4 -/* 067304 7F0327D4 8E080014 */ lw $t0, 0x14($s0) -.L7F0327D8: -/* 067308 7F0327D8 0FC0AF48 */ jal sub_GAME_7F02BD20 -/* 06730C 7F0327DC 02002025 */ move $a0, $s0 -/* 067310 7F0327E0 10000040 */ b .L7F0328E4 -/* 067314 7F0327E4 8E080014 */ lw $t0, 0x14($s0) -.L7F0327E8: -/* 067318 7F0327E8 0FC0AF69 */ jal sub_GAME_7F02BDA4 -/* 06731C 7F0327EC 02002025 */ move $a0, $s0 -/* 067320 7F0327F0 1000003C */ b .L7F0328E4 -/* 067324 7F0327F4 8E080014 */ lw $t0, 0x14($s0) -.L7F0327F8: -/* 067328 7F0327F8 0FC0AF80 */ jal sub_GAME_7F02BE00 -/* 06732C 7F0327FC 02002025 */ move $a0, $s0 -/* 067330 7F032800 10000038 */ b .L7F0328E4 -/* 067334 7F032804 8E080014 */ lw $t0, 0x14($s0) -.L7F032808: -/* 067338 7F032808 0FC0ADDD */ jal manage_guard_fade -/* 06733C 7F03280C 02002025 */ move $a0, $s0 -/* 067340 7F032810 10000034 */ b .L7F0328E4 -/* 067344 7F032814 8E080014 */ lw $t0, 0x14($s0) -.L7F032818: -/* 067348 7F032818 0FC0BAFF */ jal sub_GAME_7F02EBFC -/* 06734C 7F03281C 02002025 */ move $a0, $s0 -/* 067350 7F032820 10000030 */ b .L7F0328E4 -/* 067354 7F032824 8E080014 */ lw $t0, 0x14($s0) -.L7F032828: -/* 067358 7F032828 0FC0BE22 */ jal sub_GAME_7F02F888 -/* 06735C 7F03282C 02002025 */ move $a0, $s0 -/* 067360 7F032830 1000002C */ b .L7F0328E4 -/* 067364 7F032834 8E080014 */ lw $t0, 0x14($s0) -.L7F032838: -/* 067368 7F032838 0FC0BBB8 */ jal sub_GAME_7F02EEE0 -/* 06736C 7F03283C 02002025 */ move $a0, $s0 -/* 067370 7F032840 10000028 */ b .L7F0328E4 -/* 067374 7F032844 8E080014 */ lw $t0, 0x14($s0) -.L7F032848: -/* 067378 7F032848 0FC0BF9E */ jal sub_GAME_7F02FE78 -/* 06737C 7F03284C 02002025 */ move $a0, $s0 -/* 067380 7F032850 10000024 */ b .L7F0328E4 -/* 067384 7F032854 8E080014 */ lw $t0, 0x14($s0) -.L7F032858: -/* 067388 7F032858 0FC0C952 */ jal sub_GAME_7F032548 -/* 06738C 7F03285C 02002025 */ move $a0, $s0 -/* 067390 7F032860 10000020 */ b .L7F0328E4 -/* 067394 7F032864 8E080014 */ lw $t0, 0x14($s0) -.L7F032868: -/* 067398 7F032868 0FC0C822 */ jal sub_GAME_7F032088 -/* 06739C 7F03286C 02002025 */ move $a0, $s0 -/* 0673A0 7F032870 1000001C */ b .L7F0328E4 -/* 0673A4 7F032874 8E080014 */ lw $t0, 0x14($s0) -.L7F032878: -/* 0673A8 7F032878 0FC0AD8E */ jal sub_GAME_7F02B638 -/* 0673AC 7F03287C 02002025 */ move $a0, $s0 -/* 0673B0 7F032880 10000018 */ b .L7F0328E4 -/* 0673B4 7F032884 8E080014 */ lw $t0, 0x14($s0) -.L7F032888: -/* 0673B8 7F032888 0FC0AF96 */ jal sub_GAME_7F02BE58 -/* 0673BC 7F03288C 02002025 */ move $a0, $s0 -/* 0673C0 7F032890 10000014 */ b .L7F0328E4 -/* 0673C4 7F032894 8E080014 */ lw $t0, 0x14($s0) -.L7F032898: -/* 0673C8 7F032898 0FC0AFC9 */ jal sub_GAME_7F02BF24 -/* 0673CC 7F03289C 02002025 */ move $a0, $s0 -/* 0673D0 7F0328A0 10000010 */ b .L7F0328E4 -/* 0673D4 7F0328A4 8E080014 */ lw $t0, 0x14($s0) -.L7F0328A8: -/* 0673D8 7F0328A8 0FC0AFAA */ jal sub_GAME_7F02BEA8 -/* 0673DC 7F0328AC 02002025 */ move $a0, $s0 -/* 0673E0 7F0328B0 1000000C */ b .L7F0328E4 -/* 0673E4 7F0328B4 8E080014 */ lw $t0, 0x14($s0) -.L7F0328B8: -/* 0673E8 7F0328B8 0FC0BCFE */ jal sub_GAME_7F02F3F8 -/* 0673EC 7F0328BC 02002025 */ move $a0, $s0 -/* 0673F0 7F0328C0 10000008 */ b .L7F0328E4 -/* 0673F4 7F0328C4 8E080014 */ lw $t0, 0x14($s0) -.L7F0328C8: -/* 0673F8 7F0328C8 0FC0BD69 */ jal sub_GAME_7F02F5A4 -/* 0673FC 7F0328CC 02002025 */ move $a0, $s0 -/* 067400 7F0328D0 10000004 */ b .L7F0328E4 -/* 067404 7F0328D4 8E080014 */ lw $t0, 0x14($s0) -.L7F0328D8: -/* 067408 7F0328D8 0FC0BDA2 */ jal sub_GAME_7F02F688 -/* 06740C 7F0328DC 02002025 */ move $a0, $s0 -def_7F032780: -.L7F0328E0: -/* 067410 7F0328E0 8E080014 */ lw $t0, 0x14($s0) -.L7F0328E4: -/* 067414 7F0328E4 960A0012 */ lhu $t2, 0x12($s0) -/* 067418 7F0328E8 2402FFFF */ li $v0, -1 -/* 06741C 7F0328EC 2401FFFB */ li $at, -5 -/* 067420 7F0328F0 01014824 */ and $t1, $t0, $at -/* 067424 7F0328F4 314BFDFD */ andi $t3, $t2, 0xfdfd -/* 067428 7F0328F8 AE090014 */ sw $t1, 0x14($s0) -/* 06742C 7F0328FC A60B0012 */ sh $t3, 0x12($s0) -/* 067430 7F032900 A6020118 */ sh $v0, 0x118($s0) -/* 067434 7F032904 A602011A */ sh $v0, 0x11a($s0) -.L7F032908: -/* 067438 7F032908 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03290C: -/* 06743C 7F03290C 8FB00018 */ lw $s0, 0x18($sp) -/* 067440 7F032910 27BD0020 */ addiu $sp, $sp, 0x20 -/* 067444 7F032914 03E00008 */ jr $ra -/* 067448 7F032918 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F03291C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03291C -/* 06744C 7F03291C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 067450 7F032920 AFBF001C */ sw $ra, 0x1c($sp) -/* 067454 7F032924 0FC07D4C */ jal get_numguards -/* 067458 7F032928 AFB00018 */ sw $s0, 0x18($sp) -/* 06745C 7F03292C 3C0E8003 */ lui $t6, %hi(objectiveregisters3) -/* 067460 7F032930 8DCE0980 */ lw $t6, %lo(objectiveregisters3)($t6) -/* 067464 7F032934 00405825 */ move $t3, $v0 -/* 067468 7F032938 00001825 */ move $v1, $zero -/* 06746C 7F03293C 19C00010 */ blez $t6, .L7F032980 -/* 067470 7F032940 00008025 */ move $s0, $zero -.L7F032944: -/* 067474 7F032944 3C0F8003 */ lui $t7, %hi(objectiveregisters2) -/* 067478 7F032948 8DEF097C */ lw $t7, %lo(objectiveregisters2)($t7) -/* 06747C 7F03294C AFA30024 */ sw $v1, 0x24($sp) -/* 067480 7F032950 AFAB0020 */ sw $t3, 0x20($sp) -/* 067484 7F032954 0FC0C9AF */ jal manage_actions -/* 067488 7F032958 020F2021 */ addu $a0, $s0, $t7 -/* 06748C 7F03295C 8FA30024 */ lw $v1, 0x24($sp) -/* 067490 7F032960 3C188003 */ lui $t8, %hi(objectiveregisters3) -/* 067494 7F032964 8F180980 */ lw $t8, %lo(objectiveregisters3)($t8) -/* 067498 7F032968 24630001 */ addiu $v1, $v1, 1 -/* 06749C 7F03296C 261001DC */ addiu $s0, $s0, 0x1dc -/* 0674A0 7F032970 0078082A */ slt $at, $v1, $t8 -/* 0674A4 7F032974 1420FFF3 */ bnez $at, .L7F032944 -/* 0674A8 7F032978 8FAB0020 */ lw $t3, 0x20($sp) -/* 0674AC 7F03297C 00001825 */ move $v1, $zero -.L7F032980: -/* 0674B0 7F032980 3C048003 */ lui $a0, %hi(setting_007_5) -/* 0674B4 7F032984 2484CE50 */ addiu $a0, %lo(setting_007_5) # addiu $a0, $a0, -0x31b0 -/* 0674B8 7F032988 19600072 */ blez $t3, .L7F032B54 -/* 0674BC 7F03298C AC800000 */ sw $zero, ($a0) -/* 0674C0 7F032990 31620003 */ andi $v0, $t3, 3 -/* 0674C4 7F032994 1040001D */ beqz $v0, .L7F032A0C -/* 0674C8 7F032998 00403825 */ move $a3, $v0 -/* 0674CC 7F03299C 0003C900 */ sll $t9, $v1, 4 -/* 0674D0 7F0329A0 0323C823 */ subu $t9, $t9, $v1 -/* 0674D4 7F0329A4 3C0C8003 */ lui $t4, %hi(ptr_guard_data) -/* 0674D8 7F0329A8 8D8CCC64 */ lw $t4, %lo(ptr_guard_data)($t4) -/* 0674DC 7F0329AC 0019C8C0 */ sll $t9, $t9, 3 -/* 0674E0 7F0329B0 0323C823 */ subu $t9, $t9, $v1 -/* 0674E4 7F0329B4 0019C880 */ sll $t9, $t9, 2 -/* 0674E8 7F0329B8 3C068005 */ lui $a2, %hi(global_timer) -/* 0674EC 7F0329BC 24C6837C */ addiu $a2, %lo(global_timer) # addiu $a2, $a2, -0x7c84 -/* 0674F0 7F0329C0 032C2821 */ addu $a1, $t9, $t4 -.L7F0329C4: -/* 0674F4 7F0329C4 8CAD001C */ lw $t5, 0x1c($a1) -/* 0674F8 7F0329C8 24630001 */ addiu $v1, $v1, 1 -/* 0674FC 7F0329CC 11A0000C */ beqz $t5, .L7F032A00 -/* 067500 7F0329D0 00000000 */ nop -/* 067504 7F0329D4 8CA200D4 */ lw $v0, 0xd4($a1) -/* 067508 7F0329D8 18400009 */ blez $v0, .L7F032A00 -/* 06750C 7F0329DC 00000000 */ nop -/* 067510 7F0329E0 8CCE0000 */ lw $t6, ($a2) -/* 067514 7F0329E4 01C27823 */ subu $t7, $t6, $v0 -/* 067518 7F0329E8 29E10078 */ slti $at, $t7, 0x78 -/* 06751C 7F0329EC 10200004 */ beqz $at, .L7F032A00 -/* 067520 7F0329F0 00000000 */ nop -/* 067524 7F0329F4 8C980000 */ lw $t8, ($a0) -/* 067528 7F0329F8 27190001 */ addiu $t9, $t8, 1 -/* 06752C 7F0329FC AC990000 */ sw $t9, ($a0) -.L7F032A00: -/* 067530 7F032A00 14E3FFF0 */ bne $a3, $v1, .L7F0329C4 -/* 067534 7F032A04 24A501DC */ addiu $a1, $a1, 0x1dc -/* 067538 7F032A08 106B0052 */ beq $v1, $t3, .L7F032B54 -.L7F032A0C: -/* 06753C 7F032A0C 00038100 */ sll $s0, $v1, 4 -/* 067540 7F032A10 02038023 */ subu $s0, $s0, $v1 -/* 067544 7F032A14 3C0C8003 */ lui $t4, %hi(ptr_guard_data) -/* 067548 7F032A18 8D8CCC64 */ lw $t4, %lo(ptr_guard_data)($t4) -/* 06754C 7F032A1C 001080C0 */ sll $s0, $s0, 3 -/* 067550 7F032A20 02038023 */ subu $s0, $s0, $v1 -/* 067554 7F032A24 00108080 */ sll $s0, $s0, 2 -/* 067558 7F032A28 000B5100 */ sll $t2, $t3, 4 -/* 06755C 7F032A2C 014B5023 */ subu $t2, $t2, $t3 -/* 067560 7F032A30 020C2821 */ addu $a1, $s0, $t4 -/* 067564 7F032A34 000A50C0 */ sll $t2, $t2, 3 -/* 067568 7F032A38 014B5023 */ subu $t2, $t2, $t3 -/* 06756C 7F032A3C 3C068005 */ lui $a2, %hi(global_timer) -/* 067570 7F032A40 24C6837C */ addiu $a2, %lo(global_timer) # addiu $a2, $a2, -0x7c84 -/* 067574 7F032A44 000A5080 */ sll $t2, $t2, 2 -/* 067578 7F032A48 24A701DC */ addiu $a3, $a1, 0x1dc -/* 06757C 7F032A4C 24A803B8 */ addiu $t0, $a1, 0x3b8 -/* 067580 7F032A50 24A90594 */ addiu $t1, $a1, 0x594 -.L7F032A54: -/* 067584 7F032A54 8CAD001C */ lw $t5, 0x1c($a1) -/* 067588 7F032A58 26100770 */ addiu $s0, $s0, 0x770 -/* 06758C 7F032A5C 51A0000D */ beql $t5, $zero, .L7F032A94 -/* 067590 7F032A60 8CEC001C */ lw $t4, 0x1c($a3) -/* 067594 7F032A64 8CA200D4 */ lw $v0, 0xd4($a1) -/* 067598 7F032A68 5840000A */ blezl $v0, .L7F032A94 -/* 06759C 7F032A6C 8CEC001C */ lw $t4, 0x1c($a3) -/* 0675A0 7F032A70 8CCE0000 */ lw $t6, ($a2) -/* 0675A4 7F032A74 01C27823 */ subu $t7, $t6, $v0 -/* 0675A8 7F032A78 29E10078 */ slti $at, $t7, 0x78 -/* 0675AC 7F032A7C 50200005 */ beql $at, $zero, .L7F032A94 -/* 0675B0 7F032A80 8CEC001C */ lw $t4, 0x1c($a3) -/* 0675B4 7F032A84 8C980000 */ lw $t8, ($a0) -/* 0675B8 7F032A88 27190001 */ addiu $t9, $t8, 1 -/* 0675BC 7F032A8C AC990000 */ sw $t9, ($a0) -/* 0675C0 7F032A90 8CEC001C */ lw $t4, 0x1c($a3) -.L7F032A94: -/* 0675C4 7F032A94 00E01025 */ move $v0, $a3 -/* 0675C8 7F032A98 24E70770 */ addiu $a3, $a3, 0x770 -/* 0675CC 7F032A9C 1180000C */ beqz $t4, .L7F032AD0 -/* 0675D0 7F032AA0 24A50770 */ addiu $a1, $a1, 0x770 -/* 0675D4 7F032AA4 8C4300D4 */ lw $v1, 0xd4($v0) -/* 0675D8 7F032AA8 5860000A */ blezl $v1, .L7F032AD4 -/* 0675DC 7F032AAC 8D19001C */ lw $t9, 0x1c($t0) -/* 0675E0 7F032AB0 8CCD0000 */ lw $t5, ($a2) -/* 0675E4 7F032AB4 01A37023 */ subu $t6, $t5, $v1 -/* 0675E8 7F032AB8 29C10078 */ slti $at, $t6, 0x78 -/* 0675EC 7F032ABC 50200005 */ beql $at, $zero, .L7F032AD4 -/* 0675F0 7F032AC0 8D19001C */ lw $t9, 0x1c($t0) -/* 0675F4 7F032AC4 8C8F0000 */ lw $t7, ($a0) -/* 0675F8 7F032AC8 25F80001 */ addiu $t8, $t7, 1 -/* 0675FC 7F032ACC AC980000 */ sw $t8, ($a0) -.L7F032AD0: -/* 067600 7F032AD0 8D19001C */ lw $t9, 0x1c($t0) -.L7F032AD4: -/* 067604 7F032AD4 01001025 */ move $v0, $t0 -/* 067608 7F032AD8 25080770 */ addiu $t0, $t0, 0x770 -/* 06760C 7F032ADC 5320000D */ beql $t9, $zero, .L7F032B14 -/* 067610 7F032AE0 8D38001C */ lw $t8, 0x1c($t1) -/* 067614 7F032AE4 8C4300D4 */ lw $v1, 0xd4($v0) -/* 067618 7F032AE8 5860000A */ blezl $v1, .L7F032B14 -/* 06761C 7F032AEC 8D38001C */ lw $t8, 0x1c($t1) -/* 067620 7F032AF0 8CCC0000 */ lw $t4, ($a2) -/* 067624 7F032AF4 01836823 */ subu $t5, $t4, $v1 -/* 067628 7F032AF8 29A10078 */ slti $at, $t5, 0x78 -/* 06762C 7F032AFC 50200005 */ beql $at, $zero, .L7F032B14 -/* 067630 7F032B00 8D38001C */ lw $t8, 0x1c($t1) -/* 067634 7F032B04 8C8E0000 */ lw $t6, ($a0) -/* 067638 7F032B08 25CF0001 */ addiu $t7, $t6, 1 -/* 06763C 7F032B0C AC8F0000 */ sw $t7, ($a0) -/* 067640 7F032B10 8D38001C */ lw $t8, 0x1c($t1) -.L7F032B14: -/* 067644 7F032B14 01201025 */ move $v0, $t1 -/* 067648 7F032B18 1300000C */ beqz $t8, .L7F032B4C -/* 06764C 7F032B1C 00000000 */ nop -/* 067650 7F032B20 8C4300D4 */ lw $v1, 0xd4($v0) -/* 067654 7F032B24 18600009 */ blez $v1, .L7F032B4C -/* 067658 7F032B28 00000000 */ nop -/* 06765C 7F032B2C 8CD90000 */ lw $t9, ($a2) -/* 067660 7F032B30 03236023 */ subu $t4, $t9, $v1 -/* 067664 7F032B34 29810078 */ slti $at, $t4, 0x78 -/* 067668 7F032B38 10200004 */ beqz $at, .L7F032B4C -/* 06766C 7F032B3C 00000000 */ nop -/* 067670 7F032B40 8C8D0000 */ lw $t5, ($a0) -/* 067674 7F032B44 25AE0001 */ addiu $t6, $t5, 1 -/* 067678 7F032B48 AC8E0000 */ sw $t6, ($a0) -.L7F032B4C: -/* 06767C 7F032B4C 160AFFC1 */ bne $s0, $t2, .L7F032A54 -/* 067680 7F032B50 25290770 */ addiu $t1, $t1, 0x770 -.L7F032B54: -/* 067684 7F032B54 8FBF001C */ lw $ra, 0x1c($sp) -/* 067688 7F032B58 8FB00018 */ lw $s0, 0x18($sp) -/* 06768C 7F032B5C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 067690 7F032B60 03E00008 */ jr $ra -/* 067694 7F032B64 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032B68(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032B68 -/* 067698 7F032B68 8C8200D4 */ lw $v0, 0xd4($a0) -/* 06769C 7F032B6C 3C0E8005 */ lui $t6, %hi(global_timer) -/* 0676A0 7F032B70 58400009 */ blezl $v0, .L7F032B98 -/* 0676A4 7F032B74 00001025 */ move $v0, $zero -/* 0676A8 7F032B78 8DCE837C */ lw $t6, %lo(global_timer)($t6) -/* 0676AC 7F032B7C 01C27823 */ subu $t7, $t6, $v0 -/* 0676B0 7F032B80 29E10258 */ slti $at, $t7, 0x258 -/* 0676B4 7F032B84 50200004 */ beql $at, $zero, .L7F032B98 -/* 0676B8 7F032B88 00001025 */ move $v0, $zero -/* 0676BC 7F032B8C 03E00008 */ jr $ra -/* 0676C0 7F032B90 24020001 */ li $v0, 1 - -/* 0676C4 7F032B94 00001025 */ move $v0, $zero -.L7F032B98: -/* 0676C8 7F032B98 03E00008 */ jr $ra -/* 0676CC 7F032B9C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032BA0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032BA0 -/* 0676D0 7F032BA0 8C8200F0 */ lw $v0, 0xf0($a0) -/* 0676D4 7F032BA4 3C0E8005 */ lui $t6, %hi(global_timer) -/* 0676D8 7F032BA8 58400009 */ blezl $v0, .L7F032BD0 -/* 0676DC 7F032BAC 00001025 */ move $v0, $zero -/* 0676E0 7F032BB0 8DCE837C */ lw $t6, %lo(global_timer)($t6) -/* 0676E4 7F032BB4 01C27823 */ subu $t7, $t6, $v0 -/* 0676E8 7F032BB8 29E10258 */ slti $at, $t7, 0x258 -/* 0676EC 7F032BBC 50200004 */ beql $at, $zero, .L7F032BD0 -/* 0676F0 7F032BC0 00001025 */ move $v0, $zero -/* 0676F4 7F032BC4 03E00008 */ jr $ra -/* 0676F8 7F032BC8 24020001 */ li $v0, 1 - -/* 0676FC 7F032BCC 00001025 */ move $v0, $zero -.L7F032BD0: -/* 067700 7F032BD0 03E00008 */ jr $ra -/* 067704 7F032BD4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_distance_actor_to_position(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800520D0 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel get_distance_actor_to_position -/* 067708 7F032BD8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 06770C 7F032BDC AFBF0014 */ sw $ra, 0x14($sp) -/* 067710 7F032BE0 AFA40020 */ sw $a0, 0x20($sp) -/* 067714 7F032BE4 AFA50024 */ sw $a1, 0x24($sp) -/* 067718 7F032BE8 0FC1B320 */ jal getsubroty -/* 06771C 7F032BEC 8C84001C */ lw $a0, 0x1c($a0) -/* 067720 7F032BF0 8FAF0020 */ lw $t7, 0x20($sp) -/* 067724 7F032BF4 8FA30024 */ lw $v1, 0x24($sp) -/* 067728 7F032BF8 8DE20018 */ lw $v0, 0x18($t7) -/* 06772C 7F032BFC C4640000 */ lwc1 $f4, ($v1) -/* 067730 7F032C00 C4680008 */ lwc1 $f8, 8($v1) -/* 067734 7F032C04 C4460008 */ lwc1 $f6, 8($v0) -/* 067738 7F032C08 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 06773C 7F032C0C E7A00018 */ swc1 $f0, 0x18($sp) -/* 067740 7F032C10 46062301 */ sub.s $f12, $f4, $f6 -/* 067744 7F032C14 0FC16A8C */ jal convert_angle_using_inverse -/* 067748 7F032C18 460A4381 */ sub.s $f14, $f8, $f10 -/* 06774C 7F032C1C C7A20018 */ lwc1 $f2, 0x18($sp) -/* 067750 7F032C20 8FBF0014 */ lw $ra, 0x14($sp) -/* 067754 7F032C24 3C018005 */ lui $at, %hi(D_800520D0) -/* 067758 7F032C28 4602003C */ c.lt.s $f0, $f2 -/* 06775C 7F032C2C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 067760 7F032C30 46020381 */ sub.s $f14, $f0, $f2 -/* 067764 7F032C34 45000003 */ bc1f .L7F032C44 -/* 067768 7F032C38 46007306 */ mov.s $f12, $f14 -/* 06776C 7F032C3C C43020D0 */ lwc1 $f16, %lo(D_800520D0)($at) -/* 067770 7F032C40 46107300 */ add.s $f12, $f14, $f16 -.L7F032C44: -/* 067774 7F032C44 03E00008 */ jr $ra -/* 067778 7F032C48 46006006 */ mov.s $f0, $f12 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032C4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032C4C -/* 06777C 7F032C4C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067780 7F032C50 AFBF0014 */ sw $ra, 0x14($sp) -/* 067784 7F032C54 0FC225E6 */ jal get_curplayer_positiondata -/* 067788 7F032C58 AFA40018 */ sw $a0, 0x18($sp) -/* 06778C 7F032C5C 8FA40018 */ lw $a0, 0x18($sp) -/* 067790 7F032C60 0FC0CAF6 */ jal get_distance_actor_to_position -/* 067794 7F032C64 24450008 */ addiu $a1, $v0, 8 -/* 067798 7F032C68 8FBF0014 */ lw $ra, 0x14($sp) -/* 06779C 7F032C6C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0677A0 7F032C70 03E00008 */ jr $ra -/* 0677A4 7F032C74 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032C78(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032C78 -/* 0677A8 7F032C78 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0677AC 7F032C7C 30AE0004 */ andi $t6, $a1, 4 -/* 0677B0 7F032C80 AFBF0014 */ sw $ra, 0x14($sp) -/* 0677B4 7F032C84 11C00012 */ beqz $t6, .L7F032CD0 -/* 0677B8 7F032C88 AFA70024 */ sw $a3, 0x24($sp) -/* 0677BC 7F032C8C 00C02825 */ move $a1, $a2 -/* 0677C0 7F032C90 0FC0CC10 */ jal get_handle_for_guard_id -/* 0677C4 7F032C94 AFA40018 */ sw $a0, 0x18($sp) -/* 0677C8 7F032C98 8FA40018 */ lw $a0, 0x18($sp) -/* 0677CC 7F032C9C 10400004 */ beqz $v0, .L7F032CB0 -/* 0677D0 7F032CA0 00401825 */ move $v1, $v0 -/* 0677D4 7F032CA4 8C4F0018 */ lw $t7, 0x18($v0) -/* 0677D8 7F032CA8 55E00003 */ bnezl $t7, .L7F032CB8 -/* 0677DC 7F032CAC 8C980018 */ lw $t8, 0x18($a0) -.L7F032CB0: -/* 0677E0 7F032CB0 00801825 */ move $v1, $a0 -/* 0677E4 7F032CB4 8C980018 */ lw $t8, 0x18($a0) -.L7F032CB8: -/* 0677E8 7F032CB8 8FA80024 */ lw $t0, 0x24($sp) -/* 0677EC 7F032CBC 8F190014 */ lw $t9, 0x14($t8) -/* 0677F0 7F032CC0 AD190000 */ sw $t9, ($t0) -/* 0677F4 7F032CC4 8C620018 */ lw $v0, 0x18($v1) -/* 0677F8 7F032CC8 10000025 */ b .L7F032D60 -/* 0677FC 7F032CCC 24420008 */ addiu $v0, $v0, 8 -.L7F032CD0: -/* 067800 7F032CD0 30A90008 */ andi $t1, $a1, 8 -/* 067804 7F032CD4 1120001C */ beqz $t1, .L7F032D48 -/* 067808 7F032CD8 00000000 */ nop -/* 06780C 7F032CDC 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 067810 7F032CE0 00C02825 */ move $a1, $a2 -/* 067814 7F032CE4 28412710 */ slti $at, $v0, 0x2710 -/* 067818 7F032CE8 1020000A */ beqz $at, .L7F032D14 -/* 06781C 7F032CEC 8FAF0024 */ lw $t7, 0x24($sp) -/* 067820 7F032CF0 00025080 */ sll $t2, $v0, 2 -/* 067824 7F032CF4 01425023 */ subu $t2, $t2, $v0 -/* 067828 7F032CF8 000A5080 */ sll $t2, $t2, 2 -/* 06782C 7F032CFC 3C0B8007 */ lui $t3, %hi(ptr_0xxxpresets) -/* 067830 7F032D00 8D6B5D18 */ lw $t3, %lo(ptr_0xxxpresets)($t3) -/* 067834 7F032D04 01425023 */ subu $t2, $t2, $v0 -/* 067838 7F032D08 000A5080 */ sll $t2, $t2, 2 -/* 06783C 7F032D0C 1000000A */ b .L7F032D38 -/* 067840 7F032D10 014B1821 */ addu $v1, $t2, $t3 -.L7F032D14: -/* 067844 7F032D14 3C0D8007 */ lui $t5, %hi(ptr_2xxxpresets) -/* 067848 7F032D18 8DAD5D1C */ lw $t5, %lo(ptr_2xxxpresets)($t5) -/* 06784C 7F032D1C 00026100 */ sll $t4, $v0, 4 -/* 067850 7F032D20 01826021 */ addu $t4, $t4, $v0 -/* 067854 7F032D24 000C6080 */ sll $t4, $t4, 2 -/* 067858 7F032D28 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06785C 7F032D2C 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 067860 7F032D30 018D1821 */ addu $v1, $t4, $t5 -/* 067864 7F032D34 00611821 */ addu $v1, $v1, $at -.L7F032D38: -/* 067868 7F032D38 8C6E0028 */ lw $t6, 0x28($v1) -/* 06786C 7F032D3C 00601025 */ move $v0, $v1 -/* 067870 7F032D40 10000007 */ b .L7F032D60 -/* 067874 7F032D44 ADEE0000 */ sw $t6, ($t7) -.L7F032D48: -/* 067878 7F032D48 0FC225E6 */ jal get_curplayer_positiondata -/* 06787C 7F032D4C 00000000 */ nop -/* 067880 7F032D50 8C580014 */ lw $t8, 0x14($v0) -/* 067884 7F032D54 8FB90024 */ lw $t9, 0x24($sp) -/* 067888 7F032D58 24420008 */ addiu $v0, $v0, 8 -/* 06788C 7F032D5C AF380000 */ sw $t8, ($t9) -.L7F032D60: -/* 067890 7F032D60 8FBF0014 */ lw $ra, 0x14($sp) -/* 067894 7F032D64 27BD0018 */ addiu $sp, $sp, 0x18 -/* 067898 7F032D68 03E00008 */ jr $ra -/* 06789C 7F032D6C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_angle_between_actor_cur_player(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800520D4 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel get_angle_between_actor_cur_player -/* 0678A0 7F032D70 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0678A4 7F032D74 AFBF0014 */ sw $ra, 0x14($sp) -/* 0678A8 7F032D78 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 0678AC 7F032D7C AFA40020 */ sw $a0, 0x20($sp) -/* 0678B0 7F032D80 8FAE0020 */ lw $t6, 0x20($sp) -/* 0678B4 7F032D84 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0678B8 7F032D88 8DC30018 */ lw $v1, 0x18($t6) -/* 0678BC 7F032D8C 0FC225E6 */ jal get_curplayer_positiondata -/* 0678C0 7F032D90 AFA30018 */ sw $v1, 0x18($sp) -/* 0678C4 7F032D94 8FA30018 */ lw $v1, 0x18($sp) -/* 0678C8 7F032D98 C4460008 */ lwc1 $f6, 8($v0) -/* 0678CC 7F032D9C C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0678D0 7F032DA0 C4640008 */ lwc1 $f4, 8($v1) -/* 0678D4 7F032DA4 C4680010 */ lwc1 $f8, 0x10($v1) -/* 0678D8 7F032DA8 46062301 */ sub.s $f12, $f4, $f6 -/* 0678DC 7F032DAC 0FC16A8C */ jal convert_angle_using_inverse -/* 0678E0 7F032DB0 460A4381 */ sub.s $f14, $f8, $f10 -/* 0678E4 7F032DB4 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 0678E8 7F032DB8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0678EC 7F032DBC 3C018005 */ lui $at, %hi(D_800520D4) -/* 0678F0 7F032DC0 460E003C */ c.lt.s $f0, $f14 -/* 0678F4 7F032DC4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0678F8 7F032DC8 460E0301 */ sub.s $f12, $f0, $f14 -/* 0678FC 7F032DCC 45000003 */ bc1f .L7F032DDC -/* 067900 7F032DD0 46006086 */ mov.s $f2, $f12 -/* 067904 7F032DD4 C43020D4 */ lwc1 $f16, %lo(D_800520D4)($at) -/* 067908 7F032DD8 46106080 */ add.s $f2, $f12, $f16 -.L7F032DDC: -/* 06790C 7F032DDC 03E00008 */ jr $ra -/* 067910 7F032DE0 46001006 */ mov.s $f0, $f2 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032DE4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032DE4 -/* 067914 7F032DE4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 067918 7F032DE8 AFBF0014 */ sw $ra, 0x14($sp) -/* 06791C 7F032DEC 8C830018 */ lw $v1, 0x18($a0) -/* 067920 7F032DF0 0FC225E6 */ jal get_curplayer_positiondata -/* 067924 7F032DF4 AFA3001C */ sw $v1, 0x1c($sp) -/* 067928 7F032DF8 8FA3001C */ lw $v1, 0x1c($sp) -/* 06792C 7F032DFC C4440008 */ lwc1 $f4, 8($v0) -/* 067930 7F032E00 C448000C */ lwc1 $f8, 0xc($v0) -/* 067934 7F032E04 C4660008 */ lwc1 $f6, 8($v1) -/* 067938 7F032E08 C46A000C */ lwc1 $f10, 0xc($v1) -/* 06793C 7F032E0C C4500010 */ lwc1 $f16, 0x10($v0) -/* 067940 7F032E10 46062001 */ sub.s $f0, $f4, $f6 -/* 067944 7F032E14 C4720010 */ lwc1 $f18, 0x10($v1) -/* 067948 7F032E18 460A4081 */ sub.s $f2, $f8, $f10 -/* 06794C 7F032E1C 46000102 */ mul.s $f4, $f0, $f0 -/* 067950 7F032E20 46128381 */ sub.s $f14, $f16, $f18 -/* 067954 7F032E24 46021182 */ mul.s $f6, $f2, $f2 -/* 067958 7F032E28 46062200 */ add.s $f8, $f4, $f6 -/* 06795C 7F032E2C 460E7282 */ mul.s $f10, $f14, $f14 -/* 067960 7F032E30 0C007DF8 */ jal sqrtf -/* 067964 7F032E34 460A4300 */ add.s $f12, $f8, $f10 -/* 067968 7F032E38 8FBF0014 */ lw $ra, 0x14($sp) -/* 06796C 7F032E3C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 067970 7F032E40 03E00008 */ jr $ra -/* 067974 7F032E44 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032E48(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032E48 -/* 067978 7F032E48 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 06797C 7F032E4C AFBF0014 */ sw $ra, 0x14($sp) -/* 067980 7F032E50 8C860018 */ lw $a2, 0x18($a0) -/* 067984 7F032E54 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 067988 7F032E58 AFA6001C */ sw $a2, 0x1c($sp) -/* 06798C 7F032E5C 28412710 */ slti $at, $v0, 0x2710 -/* 067990 7F032E60 1020000A */ beqz $at, .L7F032E8C -/* 067994 7F032E64 8FA6001C */ lw $a2, 0x1c($sp) -/* 067998 7F032E68 00027080 */ sll $t6, $v0, 2 -/* 06799C 7F032E6C 01C27023 */ subu $t6, $t6, $v0 -/* 0679A0 7F032E70 000E7080 */ sll $t6, $t6, 2 -/* 0679A4 7F032E74 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) -/* 0679A8 7F032E78 8DEF5D18 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 0679AC 7F032E7C 01C27023 */ subu $t6, $t6, $v0 -/* 0679B0 7F032E80 000E7080 */ sll $t6, $t6, 2 -/* 0679B4 7F032E84 1000000A */ b .L7F032EB0 -/* 0679B8 7F032E88 01CF1821 */ addu $v1, $t6, $t7 -.L7F032E8C: -/* 0679BC 7F032E8C 3C198007 */ lui $t9, %hi(ptr_2xxxpresets) -/* 0679C0 7F032E90 8F395D1C */ lw $t9, %lo(ptr_2xxxpresets)($t9) -/* 0679C4 7F032E94 0002C100 */ sll $t8, $v0, 4 -/* 0679C8 7F032E98 0302C021 */ addu $t8, $t8, $v0 -/* 0679CC 7F032E9C 0018C080 */ sll $t8, $t8, 2 -/* 0679D0 7F032EA0 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 0679D4 7F032EA4 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 0679D8 7F032EA8 03191821 */ addu $v1, $t8, $t9 -/* 0679DC 7F032EAC 00611821 */ addu $v1, $v1, $at -.L7F032EB0: -/* 0679E0 7F032EB0 C4640000 */ lwc1 $f4, ($v1) -/* 0679E4 7F032EB4 C4C60008 */ lwc1 $f6, 8($a2) -/* 0679E8 7F032EB8 C4680004 */ lwc1 $f8, 4($v1) -/* 0679EC 7F032EBC C4CA000C */ lwc1 $f10, 0xc($a2) -/* 0679F0 7F032EC0 46062001 */ sub.s $f0, $f4, $f6 -/* 0679F4 7F032EC4 C4700008 */ lwc1 $f16, 8($v1) -/* 0679F8 7F032EC8 C4D20010 */ lwc1 $f18, 0x10($a2) -/* 0679FC 7F032ECC 460A4081 */ sub.s $f2, $f8, $f10 -/* 067A00 7F032ED0 46000102 */ mul.s $f4, $f0, $f0 -/* 067A04 7F032ED4 46128381 */ sub.s $f14, $f16, $f18 -/* 067A08 7F032ED8 46021182 */ mul.s $f6, $f2, $f2 -/* 067A0C 7F032EDC 46062200 */ add.s $f8, $f4, $f6 -/* 067A10 7F032EE0 460E7282 */ mul.s $f10, $f14, $f14 -/* 067A14 7F032EE4 0C007DF8 */ jal sqrtf -/* 067A18 7F032EE8 460A4300 */ add.s $f12, $f8, $f10 -/* 067A1C 7F032EEC 8FBF0014 */ lw $ra, 0x14($sp) -/* 067A20 7F032EF0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 067A24 7F032EF4 03E00008 */ jr $ra -/* 067A28 7F032EF8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_room_for_preset_loaded(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_room_for_preset_loaded -/* 067A2C 7F032EFC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067A30 7F032F00 AFBF0014 */ sw $ra, 0x14($sp) -/* 067A34 7F032F04 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 067A38 7F032F08 00000000 */ nop -/* 067A3C 7F032F0C 28412710 */ slti $at, $v0, 0x2710 -/* 067A40 7F032F10 1020000A */ beqz $at, .L7F032F3C -/* 067A44 7F032F14 0002C100 */ sll $t8, $v0, 4 -/* 067A48 7F032F18 00027080 */ sll $t6, $v0, 2 -/* 067A4C 7F032F1C 01C27023 */ subu $t6, $t6, $v0 -/* 067A50 7F032F20 000E7080 */ sll $t6, $t6, 2 -/* 067A54 7F032F24 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) -/* 067A58 7F032F28 8DEF5D18 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 067A5C 7F032F2C 01C27023 */ subu $t6, $t6, $v0 -/* 067A60 7F032F30 000E7080 */ sll $t6, $t6, 2 -/* 067A64 7F032F34 10000009 */ b .L7F032F5C -/* 067A68 7F032F38 01CF1821 */ addu $v1, $t6, $t7 -.L7F032F3C: -/* 067A6C 7F032F3C 3C198007 */ lui $t9, %hi(ptr_2xxxpresets) -/* 067A70 7F032F40 8F395D1C */ lw $t9, %lo(ptr_2xxxpresets)($t9) -/* 067A74 7F032F44 0302C021 */ addu $t8, $t8, $v0 -/* 067A78 7F032F48 0018C080 */ sll $t8, $t8, 2 -/* 067A7C 7F032F4C 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 067A80 7F032F50 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 067A84 7F032F54 03191821 */ addu $v1, $t8, $t9 -/* 067A88 7F032F58 00611821 */ addu $v1, $v1, $at -.L7F032F5C: -/* 067A8C 7F032F5C 8C640028 */ lw $a0, 0x28($v1) -/* 067A90 7F032F60 00001025 */ move $v0, $zero -/* 067A94 7F032F64 10800007 */ beqz $a0, .L7F032F84 -/* 067A98 7F032F68 00000000 */ nop -/* 067A9C 7F032F6C 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 067AA0 7F032F70 00000000 */ nop -/* 067AA4 7F032F74 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 067AA8 7F032F78 00402025 */ move $a0, $v0 -/* 067AAC 7F032F7C 10000002 */ b .L7F032F88 -/* 067AB0 7F032F80 8FBF0014 */ lw $ra, 0x14($sp) -.L7F032F84: -/* 067AB4 7F032F84 8FBF0014 */ lw $ra, 0x14($sp) -.L7F032F88: -/* 067AB8 7F032F88 27BD0018 */ addiu $sp, $sp, 0x18 -/* 067ABC 7F032F8C 03E00008 */ jr $ra -/* 067AC0 7F032F90 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032F94(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032F94 -/* 067AC4 7F032F94 24012328 */ li $at, 9000 -/* 067AC8 7F032F98 14A10002 */ bne $a1, $at, .L7F032FA4 -/* 067ACC 7F032F9C 00000000 */ nop -/* 067AD0 7F032FA0 84850114 */ lh $a1, 0x114($a0) -.L7F032FA4: -/* 067AD4 7F032FA4 03E00008 */ jr $ra -/* 067AD8 7F032FA8 00A01025 */ move $v0, $a1 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F032FAC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F032FAC -/* 067ADC 7F032FAC 240100FA */ li $at, 250 -/* 067AE0 7F032FB0 54A10004 */ bnel $a1, $at, .L7F032FC4 -/* 067AE4 7F032FB4 240100FB */ li $at, 251 -/* 067AE8 7F032FB8 03E00008 */ jr $ra -/* 067AEC 7F032FBC 84820118 */ lh $v0, 0x118($a0) - -/* 067AF0 7F032FC0 240100FB */ li $at, 251 -.L7F032FC4: -/* 067AF4 7F032FC4 54A10004 */ bnel $a1, $at, .L7F032FD8 -/* 067AF8 7F032FC8 240100FC */ li $at, 252 -/* 067AFC 7F032FCC 03E00008 */ jr $ra -/* 067B00 7F032FD0 8482011A */ lh $v0, 0x11a($a0) - -/* 067B04 7F032FD4 240100FC */ li $at, 252 -.L7F032FD8: -/* 067B08 7F032FD8 54A10004 */ bnel $a1, $at, .L7F032FEC -/* 067B0C 7F032FDC 240100FD */ li $at, 253 -/* 067B10 7F032FE0 03E00008 */ jr $ra -/* 067B14 7F032FE4 84820116 */ lh $v0, 0x116($a0) - -/* 067B18 7F032FE8 240100FD */ li $at, 253 -.L7F032FEC: -/* 067B1C 7F032FEC 54A10004 */ bnel $a1, $at, .L7F033000 -/* 067B20 7F032FF0 240100F9 */ li $at, 249 -/* 067B24 7F032FF4 03E00008 */ jr $ra -/* 067B28 7F032FF8 84820000 */ lh $v0, ($a0) - -/* 067B2C 7F032FFC 240100F9 */ li $at, 249 -.L7F033000: -/* 067B30 7F033000 54A10005 */ bnel $a1, $at, .L7F033018 -/* 067B34 7F033004 240100F8 */ li $at, 248 -/* 067B38 7F033008 84850000 */ lh $a1, ($a0) -/* 067B3C 7F03300C 03E00008 */ jr $ra -/* 067B40 7F033010 24A22710 */ addiu $v0, $a1, 0x2710 - -/* 067B44 7F033014 240100F8 */ li $at, 248 -.L7F033018: -/* 067B48 7F033018 14A10007 */ bne $a1, $at, .L7F033038 -/* 067B4C 7F03301C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 067B50 7F033020 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 067B54 7F033024 8DCF00A8 */ lw $t7, 0xa8($t6) -/* 067B58 7F033028 8DE20004 */ lw $v0, 4($t7) -/* 067B5C 7F03302C 10400002 */ beqz $v0, .L7F033038 -/* 067B60 7F033030 00000000 */ nop -/* 067B64 7F033034 84450000 */ lh $a1, ($v0) -.L7F033038: -/* 067B68 7F033038 03E00008 */ jr $ra -/* 067B6C 7F03303C 00A01025 */ move $v0, $a1 -) -#endif - - - -#ifdef NONMATCHING -void get_handle_for_guard_id(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_handle_for_guard_id -/* 067B70 7F033040 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067B74 7F033044 AFBF0014 */ sw $ra, 0x14($sp) -/* 067B78 7F033048 0FC0CBEB */ jal sub_GAME_7F032FAC -/* 067B7C 7F03304C 00000000 */ nop -/* 067B80 7F033050 00402025 */ move $a0, $v0 -/* 067B84 7F033054 0FC08BF2 */ jal check_if_guardnum_loaded_get_ptr_GUARDdata -/* 067B88 7F033058 AFA2001C */ sw $v0, 0x1c($sp) -/* 067B8C 7F03305C 8FA6001C */ lw $a2, 0x1c($sp) -/* 067B90 7F033060 14400013 */ bnez $v0, .L7F0330B0 -/* 067B94 7F033064 00404025 */ move $t0, $v0 -/* 067B98 7F033068 3C058003 */ lui $a1, %hi(objectiveregisters3) -/* 067B9C 7F03306C 8CA50980 */ lw $a1, %lo(objectiveregisters3)($a1) -/* 067BA0 7F033070 00001025 */ move $v0, $zero -/* 067BA4 7F033074 3C078003 */ lui $a3, %hi(objectiveregisters2) -/* 067BA8 7F033078 58A0000E */ blezl $a1, .L7F0330B4 -/* 067BAC 7F03307C 8FBF0014 */ lw $ra, 0x14($sp) -/* 067BB0 7F033080 8CE7097C */ lw $a3, %lo(objectiveregisters2)($a3) -/* 067BB4 7F033084 00002025 */ move $a0, $zero -/* 067BB8 7F033088 00E01825 */ move $v1, $a3 -.L7F03308C: -/* 067BBC 7F03308C 846E0000 */ lh $t6, ($v1) -/* 067BC0 7F033090 24420001 */ addiu $v0, $v0, 1 -/* 067BC4 7F033094 0045082A */ slt $at, $v0, $a1 -/* 067BC8 7F033098 14CE0003 */ bne $a2, $t6, .L7F0330A8 -/* 067BCC 7F03309C 246301DC */ addiu $v1, $v1, 0x1dc -/* 067BD0 7F0330A0 10000003 */ b .L7F0330B0 -/* 067BD4 7F0330A4 00874021 */ addu $t0, $a0, $a3 -.L7F0330A8: -/* 067BD8 7F0330A8 1420FFF8 */ bnez $at, .L7F03308C -/* 067BDC 7F0330AC 248401DC */ addiu $a0, $a0, 0x1dc -.L7F0330B0: -/* 067BE0 7F0330B0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0330B4: -/* 067BE4 7F0330B4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 067BE8 7F0330B8 01001025 */ move $v0, $t0 -/* 067BEC 7F0330BC 03E00008 */ jr $ra -/* 067BF0 7F0330C0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_distance_between_actor_and_actorID(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_distance_between_actor_and_actorID -/* 067BF4 7F0330C4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 067BF8 7F0330C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 067BFC 7F0330CC 8C830018 */ lw $v1, 0x18($a0) -/* 067C00 7F0330D0 0FC0CC10 */ jal get_handle_for_guard_id -/* 067C04 7F0330D4 AFA3001C */ sw $v1, 0x1c($sp) -/* 067C08 7F0330D8 44801000 */ mtc1 $zero, $f2 -/* 067C0C 7F0330DC 10400018 */ beqz $v0, .L7F033140 -/* 067C10 7F0330E0 8FA3001C */ lw $v1, 0x1c($sp) -/* 067C14 7F0330E4 8C4E001C */ lw $t6, 0x1c($v0) -/* 067C18 7F0330E8 51C00016 */ beql $t6, $zero, .L7F033144 -/* 067C1C 7F0330EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 067C20 7F0330F0 8C4F0018 */ lw $t7, 0x18($v0) -/* 067C24 7F0330F4 51E00013 */ beql $t7, $zero, .L7F033144 -/* 067C28 7F0330F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 067C2C 7F0330FC 8C420018 */ lw $v0, 0x18($v0) -/* 067C30 7F033100 C4660008 */ lwc1 $f6, 8($v1) -/* 067C34 7F033104 C46A000C */ lwc1 $f10, 0xc($v1) -/* 067C38 7F033108 C4440008 */ lwc1 $f4, 8($v0) -/* 067C3C 7F03310C C448000C */ lwc1 $f8, 0xc($v0) -/* 067C40 7F033110 C4720010 */ lwc1 $f18, 0x10($v1) -/* 067C44 7F033114 46062001 */ sub.s $f0, $f4, $f6 -/* 067C48 7F033118 C4500010 */ lwc1 $f16, 0x10($v0) -/* 067C4C 7F03311C 460A4081 */ sub.s $f2, $f8, $f10 -/* 067C50 7F033120 46000102 */ mul.s $f4, $f0, $f0 -/* 067C54 7F033124 46128381 */ sub.s $f14, $f16, $f18 -/* 067C58 7F033128 46021182 */ mul.s $f6, $f2, $f2 -/* 067C5C 7F03312C 46062200 */ add.s $f8, $f4, $f6 -/* 067C60 7F033130 460E7282 */ mul.s $f10, $f14, $f14 -/* 067C64 7F033134 0C007DF8 */ jal sqrtf -/* 067C68 7F033138 460A4300 */ add.s $f12, $f8, $f10 -/* 067C6C 7F03313C 46000086 */ mov.s $f2, $f0 -.L7F033140: -/* 067C70 7F033140 8FBF0014 */ lw $ra, 0x14($sp) -.L7F033144: -/* 067C74 7F033144 27BD0020 */ addiu $sp, $sp, 0x20 -/* 067C78 7F033148 46001006 */ mov.s $f0, $f2 -/* 067C7C 7F03314C 03E00008 */ jr $ra -/* 067C80 7F033150 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_distance_between_actor_and_preset(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_distance_between_actor_and_preset -/* 067C84 7F033154 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 067C88 7F033158 AFBF0014 */ sw $ra, 0x14($sp) -/* 067C8C 7F03315C AFA40020 */ sw $a0, 0x20($sp) -/* 067C90 7F033160 0FC225E6 */ jal get_curplayer_positiondata -/* 067C94 7F033164 AFA50024 */ sw $a1, 0x24($sp) -/* 067C98 7F033168 8FA40020 */ lw $a0, 0x20($sp) -/* 067C9C 7F03316C 8FA50024 */ lw $a1, 0x24($sp) -/* 067CA0 7F033170 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 067CA4 7F033174 AFA2001C */ sw $v0, 0x1c($sp) -/* 067CA8 7F033178 28412710 */ slti $at, $v0, 0x2710 -/* 067CAC 7F03317C 1020000A */ beqz $at, .L7F0331A8 -/* 067CB0 7F033180 8FA6001C */ lw $a2, 0x1c($sp) -/* 067CB4 7F033184 00027080 */ sll $t6, $v0, 2 -/* 067CB8 7F033188 01C27023 */ subu $t6, $t6, $v0 -/* 067CBC 7F03318C 000E7080 */ sll $t6, $t6, 2 -/* 067CC0 7F033190 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) -/* 067CC4 7F033194 8DEF5D18 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 067CC8 7F033198 01C27023 */ subu $t6, $t6, $v0 -/* 067CCC 7F03319C 000E7080 */ sll $t6, $t6, 2 -/* 067CD0 7F0331A0 1000000A */ b .L7F0331CC -/* 067CD4 7F0331A4 01CF1821 */ addu $v1, $t6, $t7 -.L7F0331A8: -/* 067CD8 7F0331A8 3C198007 */ lui $t9, %hi(ptr_2xxxpresets) -/* 067CDC 7F0331AC 8F395D1C */ lw $t9, %lo(ptr_2xxxpresets)($t9) -/* 067CE0 7F0331B0 0002C100 */ sll $t8, $v0, 4 -/* 067CE4 7F0331B4 0302C021 */ addu $t8, $t8, $v0 -/* 067CE8 7F0331B8 0018C080 */ sll $t8, $t8, 2 -/* 067CEC 7F0331BC 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 067CF0 7F0331C0 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 067CF4 7F0331C4 03191821 */ addu $v1, $t8, $t9 -/* 067CF8 7F0331C8 00611821 */ addu $v1, $v1, $at -.L7F0331CC: -/* 067CFC 7F0331CC C4640000 */ lwc1 $f4, ($v1) -/* 067D00 7F0331D0 C4C60008 */ lwc1 $f6, 8($a2) -/* 067D04 7F0331D4 C4680004 */ lwc1 $f8, 4($v1) -/* 067D08 7F0331D8 C4CA000C */ lwc1 $f10, 0xc($a2) -/* 067D0C 7F0331DC 46062001 */ sub.s $f0, $f4, $f6 -/* 067D10 7F0331E0 C4700008 */ lwc1 $f16, 8($v1) -/* 067D14 7F0331E4 C4D20010 */ lwc1 $f18, 0x10($a2) -/* 067D18 7F0331E8 460A4081 */ sub.s $f2, $f8, $f10 -/* 067D1C 7F0331EC 46000102 */ mul.s $f4, $f0, $f0 -/* 067D20 7F0331F0 46128381 */ sub.s $f14, $f16, $f18 -/* 067D24 7F0331F4 46021182 */ mul.s $f6, $f2, $f2 -/* 067D28 7F0331F8 46062200 */ add.s $f8, $f4, $f6 -/* 067D2C 7F0331FC 460E7282 */ mul.s $f10, $f14, $f14 -/* 067D30 7F033200 0C007DF8 */ jal sqrtf -/* 067D34 7F033204 460A4300 */ add.s $f12, $f8, $f10 -/* 067D38 7F033208 8FBF0014 */ lw $ra, 0x14($sp) -/* 067D3C 7F03320C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 067D40 7F033210 03E00008 */ jr $ra -/* 067D44 7F033214 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033218(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033218 -/* 067D48 7F033218 AFA50004 */ sw $a1, 4($sp) -/* 067D4C 7F03321C 908F010E */ lbu $t7, 0x10e($a0) -/* 067D50 7F033220 01E5C025 */ or $t8, $t7, $a1 -/* 067D54 7F033224 03E00008 */ jr $ra -/* 067D58 7F033228 A098010E */ sb $t8, 0x10e($a0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F03322C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03322C -/* 067D5C 7F03322C AFA50004 */ sw $a1, 4($sp) -/* 067D60 7F033230 908F010E */ lbu $t7, 0x10e($a0) -/* 067D64 7F033234 00A0C027 */ not $t8, $a1 -/* 067D68 7F033238 01F8C824 */ and $t9, $t7, $t8 -/* 067D6C 7F03323C 03E00008 */ jr $ra -/* 067D70 7F033240 A099010E */ sb $t9, 0x10e($a0) -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033244(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033244 -/* 067D74 7F033244 AFA50004 */ sw $a1, 4($sp) -/* 067D78 7F033248 908F010E */ lbu $t7, 0x10e($a0) -/* 067D7C 7F03324C 30AE00FF */ andi $t6, $a1, 0xff -/* 067D80 7F033250 01EE1024 */ and $v0, $t7, $t6 -/* 067D84 7F033254 0002C02B */ sltu $t8, $zero, $v0 -/* 067D88 7F033258 03E00008 */ jr $ra -/* 067D8C 7F03325C 03001025 */ move $v0, $t8 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033260(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033260 -/* 067D90 7F033260 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067D94 7F033264 AFBF0014 */ sw $ra, 0x14($sp) -/* 067D98 7F033268 0FC0CC10 */ jal get_handle_for_guard_id -/* 067D9C 7F03326C AFA60020 */ sw $a2, 0x20($sp) -/* 067DA0 7F033270 10400003 */ beqz $v0, .L7F033280 -/* 067DA4 7F033274 00402025 */ move $a0, $v0 -/* 067DA8 7F033278 0FC0CC86 */ jal sub_GAME_7F033218 -/* 067DAC 7F03327C 93A50023 */ lbu $a1, 0x23($sp) -.L7F033280: -/* 067DB0 7F033280 8FBF0014 */ lw $ra, 0x14($sp) -/* 067DB4 7F033284 27BD0018 */ addiu $sp, $sp, 0x18 -/* 067DB8 7F033288 03E00008 */ jr $ra -/* 067DBC 7F03328C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033290(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033290 -/* 067DC0 7F033290 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067DC4 7F033294 AFBF0014 */ sw $ra, 0x14($sp) -/* 067DC8 7F033298 0FC0CC10 */ jal get_handle_for_guard_id -/* 067DCC 7F03329C AFA60020 */ sw $a2, 0x20($sp) -/* 067DD0 7F0332A0 10400003 */ beqz $v0, .L7F0332B0 -/* 067DD4 7F0332A4 00402025 */ move $a0, $v0 -/* 067DD8 7F0332A8 0FC0CC8B */ jal sub_GAME_7F03322C -/* 067DDC 7F0332AC 93A50023 */ lbu $a1, 0x23($sp) -.L7F0332B0: -/* 067DE0 7F0332B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 067DE4 7F0332B4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 067DE8 7F0332B8 03E00008 */ jr $ra -/* 067DEC 7F0332BC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0332C0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0332C0 -/* 067DF0 7F0332C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067DF4 7F0332C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 067DF8 7F0332C8 0FC0CC10 */ jal get_handle_for_guard_id -/* 067DFC 7F0332CC AFA60020 */ sw $a2, 0x20($sp) -/* 067E00 7F0332D0 10400005 */ beqz $v0, .L7F0332E8 -/* 067E04 7F0332D4 00402025 */ move $a0, $v0 -/* 067E08 7F0332D8 0FC0CC91 */ jal sub_GAME_7F033244 -/* 067E0C 7F0332DC 93A50023 */ lbu $a1, 0x23($sp) -/* 067E10 7F0332E0 10000003 */ b .L7F0332F0 -/* 067E14 7F0332E4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0332E8: -/* 067E18 7F0332E8 00001025 */ move $v0, $zero -/* 067E1C 7F0332EC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0332F0: -/* 067E20 7F0332F0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 067E24 7F0332F4 03E00008 */ jr $ra -/* 067E28 7F0332F8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void toggle_objective_bitflags(void) { - -} -#else -GLOBAL_ASM( -.text -glabel toggle_objective_bitflags -/* 067E2C 7F0332FC 3C028003 */ lui $v0, %hi(objectiveregisters1) -/* 067E30 7F033300 24420978 */ addiu $v0, %lo(objectiveregisters1) # addiu $v0, $v0, 0x978 -/* 067E34 7F033304 8C4E0000 */ lw $t6, ($v0) -/* 067E38 7F033308 AFA40000 */ sw $a0, ($sp) -/* 067E3C 7F03330C 01C57825 */ or $t7, $t6, $a1 -/* 067E40 7F033310 03E00008 */ jr $ra -/* 067E44 7F033314 AC4F0000 */ sw $t7, ($v0) -) -#endif - - - -#ifdef NONMATCHING -void untoggle_objective_bitflags(void) { - -} -#else -GLOBAL_ASM( -.text -glabel untoggle_objective_bitflags -/* 067E48 7F033318 3C028003 */ lui $v0, %hi(objectiveregisters1) -/* 067E4C 7F03331C 24420978 */ addiu $v0, %lo(objectiveregisters1) # addiu $v0, $v0, 0x978 -/* 067E50 7F033320 8C4F0000 */ lw $t7, ($v0) -/* 067E54 7F033324 00A07027 */ not $t6, $a1 -/* 067E58 7F033328 AFA40000 */ sw $a0, ($sp) -/* 067E5C 7F03332C 01CFC024 */ and $t8, $t6, $t7 -/* 067E60 7F033330 03E00008 */ jr $ra -/* 067E64 7F033334 AC580000 */ sw $t8, ($v0) -) -#endif - - - -#ifdef NONMATCHING -void check_if_objective_bitflags_set(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_objective_bitflags_set -/* 067E68 7F033338 3C0E8003 */ lui $t6, %hi(objectiveregisters1) -/* 067E6C 7F03333C 8DCE0978 */ lw $t6, %lo(objectiveregisters1)($t6) -/* 067E70 7F033340 AFA40000 */ sw $a0, ($sp) -/* 067E74 7F033344 01C51024 */ and $v0, $t6, $a1 -/* 067E78 7F033348 0002782B */ sltu $t7, $zero, $v0 -/* 067E7C 7F03334C 03E00008 */ jr $ra -/* 067E80 7F033350 01E01025 */ move $v0, $t7 -) -#endif - - - -#ifdef NONMATCHING -void check_if_actor_02_flag_set(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_actor_02_flag_set -/* 067E84 7F033354 94820012 */ lhu $v0, 0x12($a0) -/* 067E88 7F033358 304E0002 */ andi $t6, $v0, 2 -/* 067E8C 7F03335C 03E00008 */ jr $ra -/* 067E90 7F033360 000E102B */ sltu $v0, $zero, $t6 -) -#endif - - - -#ifdef NONMATCHING -void check_if_able_to_then_surrender(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_able_to_then_surrender -/* 067E94 7F033364 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067E98 7F033368 AFBF0014 */ sw $ra, 0x14($sp) -/* 067E9C 7F03336C 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 067EA0 7F033370 AFA40018 */ sw $a0, 0x18($sp) -/* 067EA4 7F033374 50400006 */ beql $v0, $zero, .L7F033390 -/* 067EA8 7F033378 00001025 */ move $v0, $zero -/* 067EAC 7F03337C 0FC09192 */ jal actor_throw_weapon_surrender -/* 067EB0 7F033380 8FA40018 */ lw $a0, 0x18($sp) -/* 067EB4 7F033384 10000002 */ b .L7F033390 -/* 067EB8 7F033388 24020001 */ li $v0, 1 -/* 067EBC 7F03338C 00001025 */ move $v0, $zero -.L7F033390: -/* 067EC0 7F033390 8FBF0014 */ lw $ra, 0x14($sp) -/* 067EC4 7F033394 27BD0018 */ addiu $sp, $sp, 0x18 -/* 067EC8 7F033398 03E00008 */ jr $ra -/* 067ECC 7F03339C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0333A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0333A0 -/* 067ED0 7F0333A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067ED4 7F0333A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 067ED8 7F0333A8 0FC091EE */ jal actor_fade_away -/* 067EDC 7F0333AC 00000000 */ nop -/* 067EE0 7F0333B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 067EE4 7F0333B4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 067EE8 7F0333B8 24020001 */ li $v0, 1 -/* 067EEC 7F0333BC 03E00008 */ jr $ra -/* 067EF0 7F0333C0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void reset_and_start_loop_counter(void) { - -} -#else -GLOBAL_ASM( -.text -glabel reset_and_start_loop_counter -/* 067EF4 7F0333C4 948E0012 */ lhu $t6, 0x12($a0) -/* 067EF8 7F0333C8 AC800110 */ sw $zero, 0x110($a0) -/* 067EFC 7F0333CC 35CF0040 */ ori $t7, $t6, 0x40 -/* 067F00 7F0333D0 03E00008 */ jr $ra -/* 067F04 7F0333D4 A48F0012 */ sh $t7, 0x12($a0) -) -#endif - - - -#ifdef NONMATCHING -void get_loop_counter_time_in_seconds(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_loop_counter_time_in_seconds -/* 067F08 7F0333D8 8C8E0110 */ lw $t6, 0x110($a0) -/* 067F0C 7F0333DC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 067F10 7F0333E0 44814000 */ mtc1 $at, $f8 -/* 067F14 7F0333E4 448E2000 */ mtc1 $t6, $f4 -/* 067F18 7F0333E8 00000000 */ nop -/* 067F1C 7F0333EC 468021A0 */ cvt.s.w $f6, $f4 -/* 067F20 7F0333F0 03E00008 */ jr $ra -/* 067F24 7F0333F4 46083003 */ div.s $f0, $f6, $f8 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0333F8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800520D8 -.word 0x3f4ccccd /*0.80000001*/ -.text -glabel sub_GAME_7F0333F8 -/* 067F28 7F0333F8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 067F2C 7F0333FC AFBF0014 */ sw $ra, 0x14($sp) -/* 067F30 7F033400 0FC0A5D8 */ jal sub_GAME_7F029760 -/* 067F34 7F033404 AFA40048 */ sw $a0, 0x48($sp) -/* 067F38 7F033408 1040001C */ beqz $v0, .L7F03347C -/* 067F3C 7F03340C 8FAE0048 */ lw $t6, 0x48($sp) -/* 067F40 7F033410 8DC4001C */ lw $a0, 0x1c($t6) -/* 067F44 7F033414 0FC1B403 */ jal getinstsize -/* 067F48 7F033418 AFA40044 */ sw $a0, 0x44($sp) -/* 067F4C 7F03341C 3C018005 */ lui $at, %hi(D_800520D8) -/* 067F50 7F033420 C42420D8 */ lwc1 $f4, %lo(D_800520D8)($at) -/* 067F54 7F033424 27A40038 */ addiu $a0, $sp, 0x38 -/* 067F58 7F033428 27A5002C */ addiu $a1, $sp, 0x2c -/* 067F5C 7F03342C 46040182 */ mul.s $f6, $f0, $f4 -/* 067F60 7F033430 0FC1A064 */ jal sub_GAME_7F068190 -/* 067F64 7F033434 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 067F68 7F033438 8FA40044 */ lw $a0, 0x44($sp) -/* 067F6C 7F03343C 0FC1B2E6 */ jal getsuboffset -/* 067F70 7F033440 27A50020 */ addiu $a1, $sp, 0x20 -/* 067F74 7F033444 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 067F78 7F033448 00000000 */ nop -/* 067F7C 7F03344C 00402025 */ move $a0, $v0 -/* 067F80 7F033450 0FC1611D */ jal sub_GAME_7F058474 -/* 067F84 7F033454 27A50020 */ addiu $a1, $sp, 0x20 -/* 067F88 7F033458 27A40038 */ addiu $a0, $sp, 0x38 -/* 067F8C 7F03345C 27A5002C */ addiu $a1, $sp, 0x2c -/* 067F90 7F033460 27A60020 */ addiu $a2, $sp, 0x20 -/* 067F94 7F033464 0FC1041D */ jal sub_GAME_7F041074 -/* 067F98 7F033468 8FA7001C */ lw $a3, 0x1c($sp) -/* 067F9C 7F03346C 50400004 */ beql $v0, $zero, .L7F033480 -/* 067FA0 7F033470 00001025 */ move $v0, $zero -/* 067FA4 7F033474 10000002 */ b .L7F033480 -/* 067FA8 7F033478 24020001 */ li $v0, 1 -.L7F03347C: -/* 067FAC 7F03347C 00001025 */ move $v0, $zero -.L7F033480: -/* 067FB0 7F033480 8FBF0014 */ lw $ra, 0x14($sp) -/* 067FB4 7F033484 27BD0048 */ addiu $sp, $sp, 0x48 -/* 067FB8 7F033488 03E00008 */ jr $ra -/* 067FBC 7F03348C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_actor_invisible(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_actor_invisible -/* 067FC0 7F033490 8C820014 */ lw $v0, 0x14($a0) -/* 067FC4 7F033494 304E0004 */ andi $t6, $v0, 4 -/* 067FC8 7F033498 03E00008 */ jr $ra -/* 067FCC 7F03349C 000E102B */ sltu $v0, $zero, $t6 -) -#endif - - - -#ifdef NONMATCHING -void actor_move_to_curplayer_at_speed(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_move_to_curplayer_at_speed -/* 067FD0 7F0334A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 067FD4 7F0334A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 067FD8 7F0334A8 AFA40018 */ sw $a0, 0x18($sp) -/* 067FDC 7F0334AC 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 067FE0 7F0334B0 AFA5001C */ sw $a1, 0x1c($sp) -/* 067FE4 7F0334B4 10400010 */ beqz $v0, .L7F0334F8 -/* 067FE8 7F0334B8 3C0E8003 */ lui $t6, %hi(setting_007_5) -/* 067FEC 7F0334BC 8DCECE50 */ lw $t6, %lo(setting_007_5)($t6) -/* 067FF0 7F0334C0 29C1000A */ slti $at, $t6, 0xa -/* 067FF4 7F0334C4 5020000D */ beql $at, $zero, .L7F0334FC -/* 067FF8 7F0334C8 00001025 */ move $v0, $zero -/* 067FFC 7F0334CC 0FC225E6 */ jal get_curplayer_positiondata -/* 068000 7F0334D0 00000000 */ nop -/* 068004 7F0334D4 8FA40018 */ lw $a0, 0x18($sp) -/* 068008 7F0334D8 24450008 */ addiu $a1, $v0, 8 -/* 06800C 7F0334DC 8C460014 */ lw $a2, 0x14($v0) -/* 068010 7F0334E0 0FC0A377 */ jal plot_course_for_actor -/* 068014 7F0334E4 8FA7001C */ lw $a3, 0x1c($sp) -/* 068018 7F0334E8 50400004 */ beql $v0, $zero, .L7F0334FC -/* 06801C 7F0334EC 00001025 */ move $v0, $zero -/* 068020 7F0334F0 10000002 */ b .L7F0334FC -/* 068024 7F0334F4 24020001 */ li $v0, 1 -.L7F0334F8: -/* 068028 7F0334F8 00001025 */ move $v0, $zero -.L7F0334FC: -/* 06802C 7F0334FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 068030 7F033500 27BD0018 */ addiu $sp, $sp, 0x18 -/* 068034 7F033504 03E00008 */ jr $ra -/* 068038 7F033508 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void actor_move_to_actorID_at_speed(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_move_to_actorID_at_speed -/* 06803C 7F03350C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 068040 7F033510 AFBF0014 */ sw $ra, 0x14($sp) -/* 068044 7F033514 AFA40018 */ sw $a0, 0x18($sp) -/* 068048 7F033518 AFA5001C */ sw $a1, 0x1c($sp) -/* 06804C 7F03351C 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 068050 7F033520 AFA60020 */ sw $a2, 0x20($sp) -/* 068054 7F033524 1040001A */ beqz $v0, .L7F033590 -/* 068058 7F033528 3C0E8003 */ lui $t6, %hi(setting_007_5) -/* 06805C 7F03352C 8DCECE50 */ lw $t6, %lo(setting_007_5)($t6) -/* 068060 7F033530 8FA40018 */ lw $a0, 0x18($sp) -/* 068064 7F033534 29C1000A */ slti $at, $t6, 0xa -/* 068068 7F033538 50200016 */ beql $at, $zero, .L7F033594 -/* 06806C 7F03353C 00001025 */ move $v0, $zero -/* 068070 7F033540 0FC0CC10 */ jal get_handle_for_guard_id -/* 068074 7F033544 8FA5001C */ lw $a1, 0x1c($sp) -/* 068078 7F033548 50400012 */ beql $v0, $zero, .L7F033594 -/* 06807C 7F03354C 00001025 */ move $v0, $zero -/* 068080 7F033550 8C4F001C */ lw $t7, 0x1c($v0) -/* 068084 7F033554 51E0000F */ beql $t7, $zero, .L7F033594 -/* 068088 7F033558 00001025 */ move $v0, $zero -/* 06808C 7F03355C 8C580018 */ lw $t8, 0x18($v0) -/* 068090 7F033560 5300000C */ beql $t8, $zero, .L7F033594 -/* 068094 7F033564 00001025 */ move $v0, $zero -/* 068098 7F033568 8C420018 */ lw $v0, 0x18($v0) -/* 06809C 7F03356C 8FA40018 */ lw $a0, 0x18($sp) -/* 0680A0 7F033570 8FA70020 */ lw $a3, 0x20($sp) -/* 0680A4 7F033574 24450008 */ addiu $a1, $v0, 8 -/* 0680A8 7F033578 0FC0A377 */ jal plot_course_for_actor -/* 0680AC 7F03357C 8C460014 */ lw $a2, 0x14($v0) -/* 0680B0 7F033580 50400004 */ beql $v0, $zero, .L7F033594 -/* 0680B4 7F033584 00001025 */ move $v0, $zero -/* 0680B8 7F033588 10000002 */ b .L7F033594 -/* 0680BC 7F03358C 24020001 */ li $v0, 1 -.L7F033590: -/* 0680C0 7F033590 00001025 */ move $v0, $zero -.L7F033594: -/* 0680C4 7F033594 8FBF0014 */ lw $ra, 0x14($sp) -/* 0680C8 7F033598 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0680CC 7F03359C 03E00008 */ jr $ra -/* 0680D0 7F0335A0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_times_actor_shot(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_times_actor_shot -/* 0680D4 7F0335A4 03E00008 */ jr $ra -/* 0680D8 7F0335A8 8082000B */ lb $v0, 0xb($a0) -) -#endif - - - -#ifdef NONMATCHING -void get_num_shots_near_actor(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_num_shots_near_actor -/* 0680DC 7F0335AC 03E00008 */ jr $ra -/* 0680E0 7F0335B0 8082000A */ lb $v0, 0xa($a0) -) -#endif - - - -#ifdef NONMATCHING -void check_if_actor_FA_target_set(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_actor_FA_target_set -/* 0680E4 7F0335B4 84820118 */ lh $v0, 0x118($a0) -/* 0680E8 7F0335B8 284E0000 */ slti $t6, $v0, 0 -/* 0680EC 7F0335BC 03E00008 */ jr $ra -/* 0680F0 7F0335C0 39C20001 */ xori $v0, $t6, 1 -) -#endif - - - -#ifdef NONMATCHING -void check_if_actor_FB_target_set(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_actor_FB_target_set -/* 0680F4 7F0335C4 8482011A */ lh $v0, 0x11a($a0) -/* 0680F8 7F0335C8 284E0000 */ slti $t6, $v0, 0 -/* 0680FC 7F0335CC 03E00008 */ jr $ra -/* 068100 7F0335D0 39C20001 */ xori $v0, $t6, 1 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0335D4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0335D4 -/* 068104 7F0335D4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 068108 7F0335D8 AFBF0014 */ sw $ra, 0x14($sp) -/* 06810C 7F0335DC 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 068110 7F0335E0 AFA40018 */ sw $a0, 0x18($sp) -/* 068114 7F0335E4 50400006 */ beql $v0, $zero, .L7F033600 -/* 068118 7F0335E8 00001025 */ move $v0, $zero -/* 06811C 7F0335EC 0FC08F92 */ jal sub_GAME_7F023E48 -/* 068120 7F0335F0 8FA40018 */ lw $a0, 0x18($sp) -/* 068124 7F0335F4 10000002 */ b .L7F033600 -/* 068128 7F0335F8 24020001 */ li $v0, 1 -/* 06812C 7F0335FC 00001025 */ move $v0, $zero -.L7F033600: -/* 068130 7F033600 8FBF0014 */ lw $ra, 0x14($sp) -/* 068134 7F033604 27BD0018 */ addiu $sp, $sp, 0x18 -/* 068138 7F033608 03E00008 */ jr $ra -/* 06813C 7F03360C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_able_to_then_shuffle_feet(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_able_to_then_shuffle_feet -/* 068140 7F033610 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 068144 7F033614 AFBF0014 */ sw $ra, 0x14($sp) -/* 068148 7F033618 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 06814C 7F03361C AFA40018 */ sw $a0, 0x18($sp) -/* 068150 7F033620 50400006 */ beql $v0, $zero, .L7F03363C -/* 068154 7F033624 00001025 */ move $v0, $zero -/* 068158 7F033628 0FC09106 */ jal actor_shuffle_feet -/* 06815C 7F03362C 8FA40018 */ lw $a0, 0x18($sp) -/* 068160 7F033630 10000002 */ b .L7F03363C -/* 068164 7F033634 24020001 */ li $v0, 1 -/* 068168 7F033638 00001025 */ move $v0, $zero -.L7F03363C: -/* 06816C 7F03363C 8FBF0014 */ lw $ra, 0x14($sp) -/* 068170 7F033640 27BD0018 */ addiu $sp, $sp, 0x18 -/* 068174 7F033644 03E00008 */ jr $ra -/* 068178 7F033648 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_able_to_then_fawn_on_shoulder(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_able_to_then_fawn_on_shoulder -/* 06817C 7F03364C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 068180 7F033650 AFBF0014 */ sw $ra, 0x14($sp) -/* 068184 7F033654 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 068188 7F033658 AFA40018 */ sw $a0, 0x18($sp) -/* 06818C 7F03365C 50400006 */ beql $v0, $zero, .L7F033678 -/* 068190 7F033660 00001025 */ move $v0, $zero -/* 068194 7F033664 0FC0912B */ jal actor_fawn_on_shoulder -/* 068198 7F033668 8FA40018 */ lw $a0, 0x18($sp) -/* 06819C 7F03366C 10000002 */ b .L7F033678 -/* 0681A0 7F033670 24020001 */ li $v0, 1 -/* 0681A4 7F033674 00001025 */ move $v0, $zero -.L7F033678: -/* 0681A8 7F033678 8FBF0014 */ lw $ra, 0x14($sp) -/* 0681AC 7F03367C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0681B0 7F033680 03E00008 */ jr $ra -/* 0681B4 7F033684 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_able_to_then_look_flustered(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_able_to_then_look_flustered -/* 0681B8 7F033688 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0681BC 7F03368C AFBF0014 */ sw $ra, 0x14($sp) -/* 0681C0 7F033690 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 0681C4 7F033694 AFA40018 */ sw $a0, 0x18($sp) -/* 0681C8 7F033698 50400006 */ beql $v0, $zero, .L7F0336B4 -/* 0681CC 7F03369C 00001025 */ move $v0, $zero -/* 0681D0 7F0336A0 0FC09152 */ jal actor_look_flustered -/* 0681D4 7F0336A4 8FA40018 */ lw $a0, 0x18($sp) -/* 0681D8 7F0336A8 10000002 */ b .L7F0336B4 -/* 0681DC 7F0336AC 24020001 */ li $v0, 1 -/* 0681E0 7F0336B0 00001025 */ move $v0, $zero -.L7F0336B4: -/* 0681E4 7F0336B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0681E8 7F0336B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0681EC 7F0336BC 03E00008 */ jr $ra -/* 0681F0 7F0336C0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_able_to_then_kneel(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_able_to_then_kneel -/* 0681F4 7F0336C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0681F8 7F0336C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0681FC 7F0336CC 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 068200 7F0336D0 AFA40018 */ sw $a0, 0x18($sp) -/* 068204 7F0336D4 50400006 */ beql $v0, $zero, .L7F0336F0 -/* 068208 7F0336D8 00001025 */ move $v0, $zero -/* 06820C 7F0336DC 0FC08F9D */ jal actor_kneel -/* 068210 7F0336E0 8FA40018 */ lw $a0, 0x18($sp) -/* 068214 7F0336E4 10000002 */ b .L7F0336F0 -/* 068218 7F0336E8 24020001 */ li $v0, 1 -/* 06821C 7F0336EC 00001025 */ move $v0, $zero -.L7F0336F0: -/* 068220 7F0336F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 068224 7F0336F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 068228 7F0336F8 03E00008 */ jr $ra -/* 06822C 7F0336FC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_able_to_then_perform_animation(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_able_to_then_perform_animation -/* 068230 7F033700 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 068234 7F033704 AFBF001C */ sw $ra, 0x1c($sp) -/* 068238 7F033708 AFA40020 */ sw $a0, 0x20($sp) -/* 06823C 7F03370C AFA50024 */ sw $a1, 0x24($sp) -/* 068240 7F033710 AFA60028 */ sw $a2, 0x28($sp) -/* 068244 7F033714 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 068248 7F033718 AFA7002C */ sw $a3, 0x2c($sp) -/* 06824C 7F03371C 1040000B */ beqz $v0, .L7F03374C -/* 068250 7F033720 8FA40020 */ lw $a0, 0x20($sp) -/* 068254 7F033724 93AE0033 */ lbu $t6, 0x33($sp) -/* 068258 7F033728 8FAF0034 */ lw $t7, 0x34($sp) -/* 06825C 7F03372C 8FA50024 */ lw $a1, 0x24($sp) -/* 068260 7F033730 8FA60028 */ lw $a2, 0x28($sp) -/* 068264 7F033734 8FA7002C */ lw $a3, 0x2c($sp) -/* 068268 7F033738 AFAE0010 */ sw $t6, 0x10($sp) -/* 06826C 7F03373C 0FC08FF9 */ jal perform_animation_for_actor -/* 068270 7F033740 AFAF0014 */ sw $t7, 0x14($sp) -/* 068274 7F033744 10000002 */ b .L7F033750 -/* 068278 7F033748 24020001 */ li $v0, 1 -.L7F03374C: -/* 06827C 7F03374C 00001025 */ move $v0, $zero -.L7F033750: -/* 068280 7F033750 8FBF001C */ lw $ra, 0x1c($sp) -/* 068284 7F033754 27BD0020 */ addiu $sp, $sp, 0x20 -/* 068288 7F033758 03E00008 */ jr $ra -/* 06828C 7F03375C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void alarm_timer_related(void) { - -} -#else -GLOBAL_ASM( -.text -glabel alarm_timer_related -/* 068290 7F033760 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 068294 7F033764 AFBF0014 */ sw $ra, 0x14($sp) -/* 068298 7F033768 0FC15794 */ jal is_alarm_on -/* 06829C 7F03376C AFA40018 */ sw $a0, 0x18($sp) -/* 0682A0 7F033770 8FBF0014 */ lw $ra, 0x14($sp) -/* 0682A4 7F033774 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0682A8 7F033778 03E00008 */ jr $ra -/* 0682AC 7F03377C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033780(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800520DC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800520E0 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_800520E4 -.word 0x4096cbe4 /*4.712389*/ -.text -glabel sub_GAME_7F033780 -/* 0682B0 7F033780 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0682B4 7F033784 AFBF0014 */ sw $ra, 0x14($sp) -/* 0682B8 7F033788 AFA60020 */ sw $a2, 0x20($sp) -/* 0682BC 7F03378C 8C8E0000 */ lw $t6, ($a0) -/* 0682C0 7F033790 3C188007 */ lui $t8, %hi(ptr_0xxxpresets) -/* 0682C4 7F033794 8F185D18 */ lw $t8, %lo(ptr_0xxxpresets)($t8) -/* 0682C8 7F033798 000E7880 */ sll $t7, $t6, 2 -/* 0682CC 7F03379C 01EE7823 */ subu $t7, $t7, $t6 -/* 0682D0 7F0337A0 000F7880 */ sll $t7, $t7, 2 -/* 0682D4 7F0337A4 01EE7823 */ subu $t7, $t7, $t6 -/* 0682D8 7F0337A8 000F7880 */ sll $t7, $t7, 2 -/* 0682DC 7F0337AC 01F81021 */ addu $v0, $t7, $t8 -/* 0682E0 7F0337B0 C4440000 */ lwc1 $f4, ($v0) -/* 0682E4 7F0337B4 C4A60000 */ lwc1 $f6, ($a1) -/* 0682E8 7F0337B8 C4480008 */ lwc1 $f8, 8($v0) -/* 0682EC 7F0337BC C4AA0008 */ lwc1 $f10, 8($a1) -/* 0682F0 7F0337C0 46062301 */ sub.s $f12, $f4, $f6 -/* 0682F4 7F0337C4 0FC16A8C */ jal convert_angle_using_inverse -/* 0682F8 7F0337C8 460A4381 */ sub.s $f14, $f8, $f10 -/* 0682FC 7F0337CC C7AE0020 */ lwc1 $f14, 0x20($sp) -/* 068300 7F0337D0 3C018005 */ lui $at, %hi(D_800520DC) -/* 068304 7F0337D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 068308 7F0337D8 4600703C */ c.lt.s $f14, $f0 -/* 06830C 7F0337DC 46007301 */ sub.s $f12, $f14, $f0 -/* 068310 7F0337E0 45000003 */ bc1f .L7F0337F0 -/* 068314 7F0337E4 46006086 */ mov.s $f2, $f12 -/* 068318 7F0337E8 C43020DC */ lwc1 $f16, %lo(D_800520DC)($at) -/* 06831C 7F0337EC 46106080 */ add.s $f2, $f12, $f16 -.L7F0337F0: -/* 068320 7F0337F0 3C018005 */ lui $at, %hi(D_800520E0) -/* 068324 7F0337F4 C43220E0 */ lwc1 $f18, %lo(D_800520E0)($at) -/* 068328 7F0337F8 3C018005 */ lui $at, %hi(D_800520E4) -/* 06832C 7F0337FC 4612103C */ c.lt.s $f2, $f18 -/* 068330 7F033800 00000000 */ nop -/* 068334 7F033804 45010007 */ bc1t .L7F033824 -/* 068338 7F033808 00000000 */ nop -/* 06833C 7F03380C C42420E4 */ lwc1 $f4, %lo(D_800520E4)($at) -/* 068340 7F033810 00001025 */ move $v0, $zero -/* 068344 7F033814 4602203C */ c.lt.s $f4, $f2 -/* 068348 7F033818 00000000 */ nop -/* 06834C 7F03381C 45000003 */ bc1f .L7F03382C -/* 068350 7F033820 00000000 */ nop -.L7F033824: -/* 068354 7F033824 10000001 */ b .L7F03382C -/* 068358 7F033828 24020001 */ li $v0, 1 -.L7F03382C: -/* 06835C 7F03382C 03E00008 */ jr $ra -/* 068360 7F033830 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033834(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800520E8 -.word 0x40490fdb /*3.1415927*/ -glabel D_800520EC -.word 0x3fc90fdb /*1.5707964*/ -glabel D_800520F0 -.word 0x4096cbe4 /*4.712389*/ -glabel D_800520F4 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F033834 -/* 068364 7F033834 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 068368 7F033838 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 06836C 7F03383C 4486A000 */ mtc1 $a2, $f20 -/* 068370 7F033840 AFBF0034 */ sw $ra, 0x34($sp) -/* 068374 7F033844 AFB40030 */ sw $s4, 0x30($sp) -/* 068378 7F033848 AFB00020 */ sw $s0, 0x20($sp) -/* 06837C 7F03384C 30F000FF */ andi $s0, $a3, 0xff -/* 068380 7F033850 0080A025 */ move $s4, $a0 -/* 068384 7F033854 AFB3002C */ sw $s3, 0x2c($sp) -/* 068388 7F033858 AFB20028 */ sw $s2, 0x28($sp) -/* 06838C 7F03385C AFB10024 */ sw $s1, 0x24($sp) -/* 068390 7F033860 0FC09F35 */ jal sub_GAME_7F027CD4 -/* 068394 7F033864 AFA70044 */ sw $a3, 0x44($sp) -/* 068398 7F033868 10400041 */ beqz $v0, .L7F033970 -/* 06839C 7F03386C 00409825 */ move $s3, $v0 -/* 0683A0 7F033870 24010001 */ li $at, 1 -/* 0683A4 7F033874 1201000A */ beq $s0, $at, .L7F0338A0 -/* 0683A8 7F033878 02602025 */ move $a0, $s3 -/* 0683AC 7F03387C 24010002 */ li $at, 2 -/* 0683B0 7F033880 1201000B */ beq $s0, $at, .L7F0338B0 -/* 0683B4 7F033884 24010004 */ li $at, 4 -/* 0683B8 7F033888 1201000D */ beq $s0, $at, .L7F0338C0 -/* 0683BC 7F03388C 24010008 */ li $at, 8 -/* 0683C0 7F033890 1201000E */ beq $s0, $at, .L7F0338CC -/* 0683C4 7F033894 00000000 */ nop -/* 0683C8 7F033898 1000000C */ b .L7F0338CC -/* 0683CC 7F03389C 00000000 */ nop -.L7F0338A0: -/* 0683D0 7F0338A0 3C018005 */ lui $at, %hi(D_800520E8) -/* 0683D4 7F0338A4 C42420E8 */ lwc1 $f4, %lo(D_800520E8)($at) -/* 0683D8 7F0338A8 10000008 */ b .L7F0338CC -/* 0683DC 7F0338AC 4604A500 */ add.s $f20, $f20, $f4 -.L7F0338B0: -/* 0683E0 7F0338B0 3C018005 */ lui $at, %hi(D_800520EC) -/* 0683E4 7F0338B4 C42620EC */ lwc1 $f6, %lo(D_800520EC)($at) -/* 0683E8 7F0338B8 10000004 */ b .L7F0338CC -/* 0683EC 7F0338BC 4606A500 */ add.s $f20, $f20, $f6 -.L7F0338C0: -/* 0683F0 7F0338C0 3C018005 */ lui $at, %hi(D_800520F0) -/* 0683F4 7F0338C4 C42820F0 */ lwc1 $f8, %lo(D_800520F0)($at) -/* 0683F8 7F0338C8 4608A500 */ add.s $f20, $f20, $f8 -.L7F0338CC: -/* 0683FC 7F0338CC 3C018005 */ lui $at, %hi(D_800520F4) -/* 068400 7F0338D0 C42020F4 */ lwc1 $f0, %lo(D_800520F4)($at) -/* 068404 7F0338D4 4614003E */ c.le.s $f0, $f20 -/* 068408 7F0338D8 00000000 */ nop -/* 06840C 7F0338DC 45020003 */ bc1fl .L7F0338EC -/* 068410 7F0338E0 4406A000 */ mfc1 $a2, $f20 -/* 068414 7F0338E4 4600A501 */ sub.s $f20, $f20, $f0 -/* 068418 7F0338E8 4406A000 */ mfc1 $a2, $f20 -.L7F0338EC: -/* 06841C 7F0338EC 0FC0CDE0 */ jal sub_GAME_7F033780 -/* 068420 7F0338F0 02802825 */ move $a1, $s4 -/* 068424 7F0338F4 50400004 */ beql $v0, $zero, .L7F033908 -/* 068428 7F0338F8 8E6E0004 */ lw $t6, 4($s3) -/* 06842C 7F0338FC 1000001D */ b .L7F033974 -/* 068430 7F033900 8E620000 */ lw $v0, ($s3) -/* 068434 7F033904 8E6E0004 */ lw $t6, 4($s3) -.L7F033908: -/* 068438 7F033908 3C128007 */ lui $s2, %hi(ptr_setup_path_tbl) -/* 06843C 7F03390C 26525D00 */ addiu $s2, %lo(ptr_setup_path_tbl) # addiu $s2, $s2, 0x5d00 -/* 068440 7F033910 8DD10000 */ lw $s1, ($t6) -/* 068444 7F033914 00008025 */ move $s0, $zero -/* 068448 7F033918 06220016 */ bltzl $s1, .L7F033974 -/* 06844C 7F03391C 2402FFFF */ li $v0, -1 -/* 068450 7F033920 8E580000 */ lw $t8, ($s2) -.L7F033924: -/* 068454 7F033924 00117900 */ sll $t7, $s1, 4 -/* 068458 7F033928 4406A000 */ mfc1 $a2, $f20 -/* 06845C 7F03392C 02802825 */ move $a1, $s4 -/* 068460 7F033930 0FC0CDE0 */ jal sub_GAME_7F033780 -/* 068464 7F033934 01F82021 */ addu $a0, $t7, $t8 -/* 068468 7F033938 50400007 */ beql $v0, $zero, .L7F033958 -/* 06846C 7F03393C 8E6A0004 */ lw $t2, 4($s3) -/* 068470 7F033940 8E590000 */ lw $t9, ($s2) -/* 068474 7F033944 00114100 */ sll $t0, $s1, 4 -/* 068478 7F033948 03284821 */ addu $t1, $t9, $t0 -/* 06847C 7F03394C 10000009 */ b .L7F033974 -/* 068480 7F033950 8D220000 */ lw $v0, ($t1) -/* 068484 7F033954 8E6A0004 */ lw $t2, 4($s3) -.L7F033958: -/* 068488 7F033958 26100001 */ addiu $s0, $s0, 1 -/* 06848C 7F03395C 00105880 */ sll $t3, $s0, 2 -/* 068490 7F033960 014B6021 */ addu $t4, $t2, $t3 -/* 068494 7F033964 8D910000 */ lw $s1, ($t4) -/* 068498 7F033968 0623FFEE */ bgezl $s1, .L7F033924 -/* 06849C 7F03396C 8E580000 */ lw $t8, ($s2) -.L7F033970: -/* 0684A0 7F033970 2402FFFF */ li $v0, -1 -.L7F033974: -/* 0684A4 7F033974 8FBF0034 */ lw $ra, 0x34($sp) -/* 0684A8 7F033978 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0684AC 7F03397C 8FB00020 */ lw $s0, 0x20($sp) -/* 0684B0 7F033980 8FB10024 */ lw $s1, 0x24($sp) -/* 0684B4 7F033984 8FB20028 */ lw $s2, 0x28($sp) -/* 0684B8 7F033988 8FB3002C */ lw $s3, 0x2c($sp) -/* 0684BC 7F03398C 8FB40030 */ lw $s4, 0x30($sp) -/* 0684C0 7F033990 03E00008 */ jr $ra -/* 0684C4 7F033994 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - -#ifdef NONMATCHING -void check_2328_preset_set_with_method(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_2328_preset_set_with_method -/* 0684C8 7F033998 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0684CC 7F03399C AFB00014 */ sw $s0, 0x14($sp) -/* 0684D0 7F0339A0 30B000FF */ andi $s0, $a1, 0xff -/* 0684D4 7F0339A4 AFB10018 */ sw $s1, 0x18($sp) -/* 0684D8 7F0339A8 24010010 */ li $at, 16 -/* 0684DC 7F0339AC 00808825 */ move $s1, $a0 -/* 0684E0 7F0339B0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0684E4 7F0339B4 AFA5004C */ sw $a1, 0x4c($sp) -/* 0684E8 7F0339B8 12010004 */ beq $s0, $at, .L7F0339CC -/* 0684EC 7F0339BC 02003025 */ move $a2, $s0 -/* 0684F0 7F0339C0 24010020 */ li $at, 32 -/* 0684F4 7F0339C4 16010026 */ bne $s0, $at, .L7F033A60 -/* 0684F8 7F0339C8 00000000 */ nop -.L7F0339CC: -/* 0684FC 7F0339CC 8E300018 */ lw $s0, 0x18($s1) -/* 068500 7F0339D0 0FC225E6 */ jal get_curplayer_positiondata -/* 068504 7F0339D4 AFA60020 */ sw $a2, 0x20($sp) -/* 068508 7F0339D8 8E050014 */ lw $a1, 0x14($s0) -/* 06850C 7F0339DC AFA20040 */ sw $v0, 0x40($sp) -/* 068510 7F0339E0 0FC09F35 */ jal sub_GAME_7F027CD4 -/* 068514 7F0339E4 26040008 */ addiu $a0, $s0, 8 -/* 068518 7F0339E8 8FA30040 */ lw $v1, 0x40($sp) -/* 06851C 7F0339EC 00408025 */ move $s0, $v0 -/* 068520 7F0339F0 24640008 */ addiu $a0, $v1, 8 -/* 068524 7F0339F4 0FC09F35 */ jal sub_GAME_7F027CD4 -/* 068528 7F0339F8 8C650014 */ lw $a1, 0x14($v1) -/* 06852C 7F0339FC 8FA60020 */ lw $a2, 0x20($sp) -/* 068530 7F033A00 12000024 */ beqz $s0, .L7F033A94 -/* 068534 7F033A04 00402825 */ move $a1, $v0 -/* 068538 7F033A08 10400022 */ beqz $v0, .L7F033A94 -/* 06853C 7F033A0C 24010010 */ li $at, 16 -/* 068540 7F033A10 14C1000B */ bne $a2, $at, .L7F033A40 -/* 068544 7F033A14 02002025 */ move $a0, $s0 -/* 068548 7F033A18 27A6002C */ addiu $a2, $sp, 0x2c -/* 06854C 7F033A1C 0FC23D3C */ jal sub_GAME_7F08F4F0 -/* 068550 7F033A20 24070003 */ li $a3, 3 -/* 068554 7F033A24 28410003 */ slti $at, $v0, 3 -/* 068558 7F033A28 1420001A */ bnez $at, .L7F033A94 -/* 06855C 7F033A2C 8FAE0030 */ lw $t6, 0x30($sp) -/* 068560 7F033A30 8DCF0000 */ lw $t7, ($t6) -/* 068564 7F033A34 24020001 */ li $v0, 1 -/* 068568 7F033A38 10000017 */ b .L7F033A98 -/* 06856C 7F033A3C A62F0114 */ sh $t7, 0x114($s1) -.L7F033A40: -/* 068570 7F033A40 0FC23EE4 */ jal sub_GAME_7F08FB90 -/* 068574 7F033A44 02002025 */ move $a0, $s0 -/* 068578 7F033A48 50400013 */ beql $v0, $zero, .L7F033A98 -/* 06857C 7F033A4C 00001025 */ move $v0, $zero -/* 068580 7F033A50 8C580000 */ lw $t8, ($v0) -/* 068584 7F033A54 24020001 */ li $v0, 1 -/* 068588 7F033A58 1000000F */ b .L7F033A98 -/* 06858C 7F033A5C A6380114 */ sh $t8, 0x114($s1) -.L7F033A60: -/* 068590 7F033A60 0FC1B320 */ jal getsubroty -/* 068594 7F033A64 8E24001C */ lw $a0, 0x1c($s1) -/* 068598 7F033A68 8E220018 */ lw $v0, 0x18($s1) -/* 06859C 7F033A6C 44060000 */ mfc1 $a2, $f0 -/* 0685A0 7F033A70 320700FF */ andi $a3, $s0, 0xff -/* 0685A4 7F033A74 24440008 */ addiu $a0, $v0, 8 -/* 0685A8 7F033A78 0FC0CE0D */ jal sub_GAME_7F033834 -/* 0685AC 7F033A7C 8C450014 */ lw $a1, 0x14($v0) -/* 0685B0 7F033A80 04420005 */ bltzl $v0, .L7F033A98 -/* 0685B4 7F033A84 00001025 */ move $v0, $zero -/* 0685B8 7F033A88 A6220114 */ sh $v0, 0x114($s1) -/* 0685BC 7F033A8C 10000002 */ b .L7F033A98 -/* 0685C0 7F033A90 24020001 */ li $v0, 1 -.L7F033A94: -/* 0685C4 7F033A94 00001025 */ move $v0, $zero -.L7F033A98: -/* 0685C8 7F033A98 8FBF001C */ lw $ra, 0x1c($sp) -/* 0685CC 7F033A9C 8FB00014 */ lw $s0, 0x14($sp) -/* 0685D0 7F033AA0 8FB10018 */ lw $s1, 0x18($sp) -/* 0685D4 7F033AA4 03E00008 */ jr $ra -/* 0685D8 7F033AA8 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033AAC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033AAC -/* 0685DC 7F033AAC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0685E0 7F033AB0 30A700FF */ andi $a3, $a1, 0xff -/* 0685E4 7F033AB4 24010010 */ li $at, 16 -/* 0685E8 7F033AB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0685EC 7F033ABC AFA40020 */ sw $a0, 0x20($sp) -/* 0685F0 7F033AC0 AFA50024 */ sw $a1, 0x24($sp) -/* 0685F4 7F033AC4 10E10004 */ beq $a3, $at, .L7F033AD8 -/* 0685F8 7F033AC8 00E01025 */ move $v0, $a3 -/* 0685FC 7F033ACC 24010020 */ li $at, 32 -/* 068600 7F033AD0 14410006 */ bne $v0, $at, .L7F033AEC -/* 068604 7F033AD4 00000000 */ nop -.L7F033AD8: -/* 068608 7F033AD8 8FA40020 */ lw $a0, 0x20($sp) -/* 06860C 7F033ADC 0FC0CE66 */ jal check_2328_preset_set_with_method -/* 068610 7F033AE0 30E500FF */ andi $a1, $a3, 0xff -/* 068614 7F033AE4 10000011 */ b .L7F033B2C -/* 068618 7F033AE8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F033AEC: -/* 06861C 7F033AEC 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 068620 7F033AF0 A3A70027 */ sb $a3, 0x27($sp) -/* 068624 7F033AF4 0FC225E6 */ jal get_curplayer_positiondata -/* 068628 7F033AF8 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 06862C 7F033AFC 93A70027 */ lbu $a3, 0x27($sp) -/* 068630 7F033B00 24440008 */ addiu $a0, $v0, 8 -/* 068634 7F033B04 8C450014 */ lw $a1, 0x14($v0) -/* 068638 7F033B08 0FC0CE0D */ jal sub_GAME_7F033834 -/* 06863C 7F033B0C 8FA6001C */ lw $a2, 0x1c($sp) -/* 068640 7F033B10 04400004 */ bltz $v0, .L7F033B24 -/* 068644 7F033B14 8FAE0020 */ lw $t6, 0x20($sp) -/* 068648 7F033B18 A5C20114 */ sh $v0, 0x114($t6) -/* 06864C 7F033B1C 10000002 */ b .L7F033B28 -/* 068650 7F033B20 24020001 */ li $v0, 1 -.L7F033B24: -/* 068654 7F033B24 00001025 */ move $v0, $zero -.L7F033B28: -/* 068658 7F033B28 8FBF0014 */ lw $ra, 0x14($sp) -.L7F033B2C: -/* 06865C 7F033B2C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 068660 7F033B30 03E00008 */ jr $ra -/* 068664 7F033B34 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033B38(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033B38 -/* 068668 7F033B38 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 06866C 7F033B3C 44856000 */ mtc1 $a1, $f12 -/* 068670 7F033B40 AFBF0064 */ sw $ra, 0x64($sp) -/* 068674 7F033B44 AFB5005C */ sw $s5, 0x5c($sp) -/* 068678 7F033B48 0080A825 */ move $s5, $a0 -/* 06867C 7F033B4C AFB60060 */ sw $s6, 0x60($sp) -/* 068680 7F033B50 AFB40058 */ sw $s4, 0x58($sp) -/* 068684 7F033B54 AFB30054 */ sw $s3, 0x54($sp) -/* 068688 7F033B58 AFB20050 */ sw $s2, 0x50($sp) -/* 06868C 7F033B5C AFB1004C */ sw $s1, 0x4c($sp) -/* 068690 7F033B60 AFB00048 */ sw $s0, 0x48($sp) -/* 068694 7F033B64 F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 068698 7F033B68 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 06869C 7F033B6C F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0686A0 7F033B70 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0686A4 7F033B74 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0686A8 7F033B78 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0686AC 7F033B7C 0FC07D4C */ jal get_numguards -/* 0686B0 7F033B80 E7AC006C */ swc1 $f12, 0x6c($sp) -/* 0686B4 7F033B84 8EA30018 */ lw $v1, 0x18($s5) -/* 0686B8 7F033B88 C7AC006C */ lwc1 $f12, 0x6c($sp) -/* 0686BC 7F033B8C 0040A025 */ move $s4, $v0 -/* 0686C0 7F033B90 C4600008 */ lwc1 $f0, 8($v1) -/* 0686C4 7F033B94 C462000C */ lwc1 $f2, 0xc($v1) -/* 0686C8 7F033B98 C46E0010 */ lwc1 $f14, 0x10($v1) -/* 0686CC 7F033B9C 8C6E0014 */ lw $t6, 0x14($v1) -/* 0686D0 7F033BA0 00008825 */ move $s1, $zero -/* 0686D4 7F033BA4 460C0501 */ sub.s $f20, $f0, $f12 -/* 0686D8 7F033BA8 91D30003 */ lbu $s3, 3($t6) -/* 0686DC 7F033BAC 460C0580 */ add.s $f22, $f0, $f12 -/* 0686E0 7F033BB0 460C1601 */ sub.s $f24, $f2, $f12 -/* 0686E4 7F033BB4 460C1680 */ add.s $f26, $f2, $f12 -/* 0686E8 7F033BB8 460C7701 */ sub.s $f28, $f14, $f12 -/* 0686EC 7F033BBC 1840003C */ blez $v0, .L7F033CB0 -/* 0686F0 7F033BC0 460C7780 */ add.s $f30, $f14, $f12 -/* 0686F4 7F033BC4 3C168003 */ lui $s6, %hi(ptr_guard_data) -/* 0686F8 7F033BC8 26D6CC64 */ addiu $s6, %lo(ptr_guard_data) # addiu $s6, $s6, -0x339c -/* 0686FC 7F033BCC 00009025 */ move $s2, $zero -.L7F033BD0: -/* 068700 7F033BD0 8ECF0000 */ lw $t7, ($s6) -/* 068704 7F033BD4 024F8021 */ addu $s0, $s2, $t7 -/* 068708 7F033BD8 52150032 */ beql $s0, $s5, .L7F033CA4 -/* 06870C 7F033BDC 26310001 */ addiu $s1, $s1, 1 -/* 068710 7F033BE0 8E18001C */ lw $t8, 0x1c($s0) -/* 068714 7F033BE4 5300002F */ beql $t8, $zero, .L7F033CA4 -/* 068718 7F033BE8 26310001 */ addiu $s1, $s1, 1 -/* 06871C 7F033BEC 0FC0A8A9 */ jal true_if_actor_dying_fading -/* 068720 7F033BF0 02002025 */ move $a0, $s0 -/* 068724 7F033BF4 5440002B */ bnezl $v0, .L7F033CA4 -/* 068728 7F033BF8 26310001 */ addiu $s1, $s1, 1 -/* 06872C 7F033BFC 8E030018 */ lw $v1, 0x18($s0) -/* 068730 7F033C00 24620008 */ addiu $v0, $v1, 8 -/* 068734 7F033C04 C4400000 */ lwc1 $f0, ($v0) -/* 068738 7F033C08 4600A03E */ c.le.s $f20, $f0 -/* 06873C 7F033C0C 00000000 */ nop -/* 068740 7F033C10 45020024 */ bc1fl .L7F033CA4 -/* 068744 7F033C14 26310001 */ addiu $s1, $s1, 1 -/* 068748 7F033C18 4616003E */ c.le.s $f0, $f22 -/* 06874C 7F033C1C 00000000 */ nop -/* 068750 7F033C20 45020020 */ bc1fl .L7F033CA4 -/* 068754 7F033C24 26310001 */ addiu $s1, $s1, 1 -/* 068758 7F033C28 C4400004 */ lwc1 $f0, 4($v0) -/* 06875C 7F033C2C 4600C03E */ c.le.s $f24, $f0 -/* 068760 7F033C30 00000000 */ nop -/* 068764 7F033C34 4502001B */ bc1fl .L7F033CA4 -/* 068768 7F033C38 26310001 */ addiu $s1, $s1, 1 -/* 06876C 7F033C3C 461A003E */ c.le.s $f0, $f26 -/* 068770 7F033C40 00000000 */ nop -/* 068774 7F033C44 45020017 */ bc1fl .L7F033CA4 -/* 068778 7F033C48 26310001 */ addiu $s1, $s1, 1 -/* 06877C 7F033C4C C4400008 */ lwc1 $f0, 8($v0) -/* 068780 7F033C50 4600E03E */ c.le.s $f28, $f0 -/* 068784 7F033C54 00000000 */ nop -/* 068788 7F033C58 45020012 */ bc1fl .L7F033CA4 -/* 06878C 7F033C5C 26310001 */ addiu $s1, $s1, 1 -/* 068790 7F033C60 461E003E */ c.le.s $f0, $f30 -/* 068794 7F033C64 00000000 */ nop -/* 068798 7F033C68 4502000E */ bc1fl .L7F033CA4 -/* 06879C 7F033C6C 26310001 */ addiu $s1, $s1, 1 -/* 0687A0 7F033C70 8C790014 */ lw $t9, 0x14($v1) -/* 0687A4 7F033C74 93250003 */ lbu $a1, 3($t9) -/* 0687A8 7F033C78 52650006 */ beql $s3, $a1, .L7F033C94 -/* 0687AC 7F033C7C 86080000 */ lh $t0, ($s0) -/* 0687B0 7F033C80 0FC2E3F4 */ jal sub_GAME_7F0B8FD0 -/* 0687B4 7F033C84 02602025 */ move $a0, $s3 -/* 0687B8 7F033C88 50400006 */ beql $v0, $zero, .L7F033CA4 -/* 0687BC 7F033C8C 26310001 */ addiu $s1, $s1, 1 -/* 0687C0 7F033C90 86080000 */ lh $t0, ($s0) -.L7F033C94: -/* 0687C4 7F033C94 24020001 */ li $v0, 1 -/* 0687C8 7F033C98 10000006 */ b .L7F033CB4 -/* 0687CC 7F033C9C A6A80116 */ sh $t0, 0x116($s5) -/* 0687D0 7F033CA0 26310001 */ addiu $s1, $s1, 1 -.L7F033CA4: -/* 0687D4 7F033CA4 0234082A */ slt $at, $s1, $s4 -/* 0687D8 7F033CA8 1420FFC9 */ bnez $at, .L7F033BD0 -/* 0687DC 7F033CAC 265201DC */ addiu $s2, $s2, 0x1dc -.L7F033CB0: -/* 0687E0 7F033CB0 00001025 */ move $v0, $zero -.L7F033CB4: -/* 0687E4 7F033CB4 8FBF0064 */ lw $ra, 0x64($sp) -/* 0687E8 7F033CB8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0687EC 7F033CBC D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0687F0 7F033CC0 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0687F4 7F033CC4 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0687F8 7F033CC8 D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0687FC 7F033CCC D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 068800 7F033CD0 8FB00048 */ lw $s0, 0x48($sp) -/* 068804 7F033CD4 8FB1004C */ lw $s1, 0x4c($sp) -/* 068808 7F033CD8 8FB20050 */ lw $s2, 0x50($sp) -/* 06880C 7F033CDC 8FB30054 */ lw $s3, 0x54($sp) -/* 068810 7F033CE0 8FB40058 */ lw $s4, 0x58($sp) -/* 068814 7F033CE4 8FB5005C */ lw $s5, 0x5c($sp) -/* 068818 7F033CE8 8FB60060 */ lw $s6, 0x60($sp) -/* 06881C 7F033CEC 03E00008 */ jr $ra -/* 068820 7F033CF0 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033CF4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033CF4 -/* 068824 7F033CF4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 068828 7F033CF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 06882C 7F033CFC 0FC0CBEB */ jal sub_GAME_7F032FAC -/* 068830 7F033D00 AFA40018 */ sw $a0, 0x18($sp) -/* 068834 7F033D04 8FAE0018 */ lw $t6, 0x18($sp) -/* 068838 7F033D08 A5C20116 */ sh $v0, 0x116($t6) -/* 06883C 7F033D0C 8FBF0014 */ lw $ra, 0x14($sp) -/* 068840 7F033D10 27BD0018 */ addiu $sp, $sp, 0x18 -/* 068844 7F033D14 03E00008 */ jr $ra -/* 068848 7F033D18 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033D1C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033D1C -/* 06884C 7F033D1C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 068850 7F033D20 AFBF0014 */ sw $ra, 0x14($sp) -/* 068854 7F033D24 AFA40020 */ sw $a0, 0x20($sp) -/* 068858 7F033D28 0FC0CC10 */ jal get_handle_for_guard_id -/* 06885C 7F033D2C AFA60028 */ sw $a2, 0x28($sp) -/* 068860 7F033D30 10400006 */ beqz $v0, .L7F033D4C -/* 068864 7F033D34 8FA40020 */ lw $a0, 0x20($sp) -/* 068868 7F033D38 8FA50028 */ lw $a1, 0x28($sp) -/* 06886C 7F033D3C 0FC0CBEB */ jal sub_GAME_7F032FAC -/* 068870 7F033D40 AFA2001C */ sw $v0, 0x1c($sp) -/* 068874 7F033D44 8FA3001C */ lw $v1, 0x1c($sp) -/* 068878 7F033D48 A4620116 */ sh $v0, 0x116($v1) -.L7F033D4C: -/* 06887C 7F033D4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 068880 7F033D50 27BD0020 */ addiu $sp, $sp, 0x20 -/* 068884 7F033D54 03E00008 */ jr $ra -/* 068888 7F033D58 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033D5C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033D5C -/* 06888C 7F033D5C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 068890 7F033D60 AFBF0014 */ sw $ra, 0x14($sp) -/* 068894 7F033D64 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 068898 7F033D68 AFA40018 */ sw $a0, 0x18($sp) -/* 06889C 7F033D6C 8FAE0018 */ lw $t6, 0x18($sp) -/* 0688A0 7F033D70 A5C20114 */ sh $v0, 0x114($t6) -/* 0688A4 7F033D74 8FBF0014 */ lw $ra, 0x14($sp) -/* 0688A8 7F033D78 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0688AC 7F033D7C 03E00008 */ jr $ra -/* 0688B0 7F033D80 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033D84(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033D84 -/* 0688B4 7F033D84 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0688B8 7F033D88 AFBF0014 */ sw $ra, 0x14($sp) -/* 0688BC 7F033D8C AFA40020 */ sw $a0, 0x20($sp) -/* 0688C0 7F033D90 0FC0CC10 */ jal get_handle_for_guard_id -/* 0688C4 7F033D94 AFA60028 */ sw $a2, 0x28($sp) -/* 0688C8 7F033D98 10400006 */ beqz $v0, .L7F033DB4 -/* 0688CC 7F033D9C 8FA40020 */ lw $a0, 0x20($sp) -/* 0688D0 7F033DA0 8FA50028 */ lw $a1, 0x28($sp) -/* 0688D4 7F033DA4 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 0688D8 7F033DA8 AFA2001C */ sw $v0, 0x1c($sp) -/* 0688DC 7F033DAC 8FA3001C */ lw $v1, 0x1c($sp) -/* 0688E0 7F033DB0 A4620114 */ sh $v0, 0x114($v1) -.L7F033DB4: -/* 0688E4 7F033DB4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0688E8 7F033DB8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0688EC 7F033DBC 03E00008 */ jr $ra -/* 0688F0 7F033DC0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033DC4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033DC4 -/* 0688F4 7F033DC4 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0688F8 7F033DC8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0688FC 7F033DCC AFB10028 */ sw $s1, 0x28($sp) -/* 068900 7F033DD0 AFB00024 */ sw $s0, 0x24($sp) -/* 068904 7F033DD4 0FC225E6 */ jal get_curplayer_positiondata -/* 068908 7F033DD8 AFA40060 */ sw $a0, 0x60($sp) -/* 06890C 7F033DDC 8FAE0060 */ lw $t6, 0x60($sp) -/* 068910 7F033DE0 00408825 */ move $s1, $v0 -/* 068914 7F033DE4 8DD00018 */ lw $s0, 0x18($t6) -/* 068918 7F033DE8 8E0F0014 */ lw $t7, 0x14($s0) -/* 06891C 7F033DEC 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 068920 7F033DF0 AFAF0054 */ sw $t7, 0x54($sp) -/* 068924 7F033DF4 C6240010 */ lwc1 $f4, 0x10($s1) -/* 068928 7F033DF8 8E050008 */ lw $a1, 8($s0) -/* 06892C 7F033DFC 8E060010 */ lw $a2, 0x10($s0) -/* 068930 7F033E00 8E270008 */ lw $a3, 8($s1) -/* 068934 7F033E04 27A40054 */ addiu $a0, $sp, 0x54 -/* 068938 7F033E08 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 06893C 7F033E0C E7A40010 */ swc1 $f4, 0x10($sp) -/* 068940 7F033E10 10400003 */ beqz $v0, .L7F033E20 -/* 068944 7F033E14 27A40048 */ addiu $a0, $sp, 0x48 -/* 068948 7F033E18 1000001F */ b .L7F033E98 -/* 06894C 7F033E1C 00001025 */ move $v0, $zero -.L7F033E20: -/* 068950 7F033E20 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 068954 7F033E24 27A5003C */ addiu $a1, $sp, 0x3c -/* 068958 7F033E28 8E060014 */ lw $a2, 0x14($s0) -/* 06895C 7F033E2C 26230008 */ addiu $v1, $s1, 8 -/* 068960 7F033E30 AFA30010 */ sw $v1, 0x10($sp) -/* 068964 7F033E34 8E380014 */ lw $t8, 0x14($s1) -/* 068968 7F033E38 26050008 */ addiu $a1, $s0, 8 -/* 06896C 7F033E3C AFA50038 */ sw $a1, 0x38($sp) -/* 068970 7F033E40 AFA30034 */ sw $v1, 0x34($sp) -/* 068974 7F033E44 AFA00018 */ sw $zero, 0x18($sp) -/* 068978 7F033E48 8FA40060 */ lw $a0, 0x60($sp) -/* 06897C 7F033E4C 27A70048 */ addiu $a3, $sp, 0x48 -/* 068980 7F033E50 0FC0C12B */ jal sub_GAME_7F0304AC -/* 068984 7F033E54 AFB80014 */ sw $t8, 0x14($sp) -/* 068988 7F033E58 8FA30034 */ lw $v1, 0x34($sp) -/* 06898C 7F033E5C 1440000B */ bnez $v0, .L7F033E8C -/* 068990 7F033E60 8FA50038 */ lw $a1, 0x38($sp) -/* 068994 7F033E64 8E060014 */ lw $a2, 0x14($s0) -/* 068998 7F033E68 AFA30010 */ sw $v1, 0x10($sp) -/* 06899C 7F033E6C 8E390014 */ lw $t9, 0x14($s1) -/* 0689A0 7F033E70 AFA00018 */ sw $zero, 0x18($sp) -/* 0689A4 7F033E74 8FA40060 */ lw $a0, 0x60($sp) -/* 0689A8 7F033E78 27A7003C */ addiu $a3, $sp, 0x3c -/* 0689AC 7F033E7C 0FC0C12B */ jal sub_GAME_7F0304AC -/* 0689B0 7F033E80 AFB90014 */ sw $t9, 0x14($sp) -/* 0689B4 7F033E84 50400004 */ beql $v0, $zero, .L7F033E98 -/* 0689B8 7F033E88 00001025 */ move $v0, $zero -.L7F033E8C: -/* 0689BC 7F033E8C 10000002 */ b .L7F033E98 -/* 0689C0 7F033E90 24020001 */ li $v0, 1 -/* 0689C4 7F033E94 00001025 */ move $v0, $zero -.L7F033E98: -/* 0689C8 7F033E98 8FBF002C */ lw $ra, 0x2c($sp) -/* 0689CC 7F033E9C 8FB00024 */ lw $s0, 0x24($sp) -/* 0689D0 7F033EA0 8FB10028 */ lw $s1, 0x28($sp) -/* 0689D4 7F033EA4 03E00008 */ jr $ra -/* 0689D8 7F033EA8 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033EAC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F033EAC -/* 0689DC 7F033EAC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0689E0 7F033EB0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0689E4 7F033EB4 AFA40030 */ sw $a0, 0x30($sp) -/* 0689E8 7F033EB8 240E0001 */ li $t6, 1 -/* 0689EC 7F033EBC AFA50034 */ sw $a1, 0x34($sp) -/* 0689F0 7F033EC0 AFAE002C */ sw $t6, 0x2c($sp) -/* 0689F4 7F033EC4 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 0689F8 7F033EC8 00A02025 */ move $a0, $a1 -/* 0689FC 7F033ECC 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 068A00 7F033ED0 00402025 */ move $a0, $v0 -/* 068A04 7F033ED4 10400017 */ beqz $v0, .L7F033F34 -/* 068A08 7F033ED8 8FA40030 */ lw $a0, 0x30($sp) -/* 068A0C 7F033EDC 0FC2ECB2 */ jal sub_GAME_7F0BB2C8 -/* 068A10 7F033EE0 24050000 */ li $a1, 0 -/* 068A14 7F033EE4 50400014 */ beql $v0, $zero, .L7F033F38 -/* 068A18 7F033EE8 8FBF0014 */ lw $ra, 0x14($sp) -/* 068A1C 7F033EEC 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 068A20 7F033EF0 8FA40034 */ lw $a0, 0x34($sp) -/* 068A24 7F033EF4 00402025 */ move $a0, $v0 -/* 068A28 7F033EF8 0FC2CF03 */ jal sub_GAME_7F0B3C0C -/* 068A2C 7F033EFC 27A5001C */ addiu $a1, $sp, 0x1c -/* 068A30 7F033F00 10400008 */ beqz $v0, .L7F033F24 -/* 068A34 7F033F04 8FA40030 */ lw $a0, 0x30($sp) -/* 068A38 7F033F08 8FA40030 */ lw $a0, 0x30($sp) -/* 068A3C 7F033F0C 3C054348 */ lui $a1, 0x4348 -/* 068A40 7F033F10 0FC1E2FD */ jal sub_GAME_7F078BF4 -/* 068A44 7F033F14 27A6001C */ addiu $a2, $sp, 0x1c -/* 068A48 7F033F18 2C4F0001 */ sltiu $t7, $v0, 1 -/* 068A4C 7F033F1C 10000005 */ b .L7F033F34 -/* 068A50 7F033F20 AFAF002C */ sw $t7, 0x2c($sp) -.L7F033F24: -/* 068A54 7F033F24 0FC1E296 */ jal sub_GAME_7F078A58 -/* 068A58 7F033F28 3C054348 */ lui $a1, 0x4348 -/* 068A5C 7F033F2C 2C580001 */ sltiu $t8, $v0, 1 -/* 068A60 7F033F30 AFB8002C */ sw $t8, 0x2c($sp) -.L7F033F34: -/* 068A64 7F033F34 8FBF0014 */ lw $ra, 0x14($sp) -.L7F033F38: -/* 068A68 7F033F38 8FA2002C */ lw $v0, 0x2c($sp) -/* 068A6C 7F033F3C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 068A70 7F033F40 03E00008 */ jr $ra -/* 068A74 7F033F44 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F033F48(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800520F8 -.word 0x3f490fdb /*0.78539819*/ -glabel D_800520FC -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F033F48 -/* 068A78 7F033F48 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 068A7C 7F033F4C AFBF007C */ sw $ra, 0x7c($sp) -/* 068A80 7F033F50 AFB60078 */ sw $s6, 0x78($sp) -/* 068A84 7F033F54 AFB50074 */ sw $s5, 0x74($sp) -/* 068A88 7F033F58 AFB40070 */ sw $s4, 0x70($sp) -/* 068A8C 7F033F5C AFB3006C */ sw $s3, 0x6c($sp) -/* 068A90 7F033F60 AFB20068 */ sw $s2, 0x68($sp) -/* 068A94 7F033F64 AFB10064 */ sw $s1, 0x64($sp) -/* 068A98 7F033F68 AFB00060 */ sw $s0, 0x60($sp) -/* 068A9C 7F033F6C F7BE0058 */ sdc1 $f30, 0x58($sp) -/* 068AA0 7F033F70 F7BC0050 */ sdc1 $f28, 0x50($sp) -/* 068AA4 7F033F74 F7BA0048 */ sdc1 $f26, 0x48($sp) -/* 068AA8 7F033F78 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 068AAC 7F033F7C F7B60038 */ sdc1 $f22, 0x38($sp) -/* 068AB0 7F033F80 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 068AB4 7F033F84 8CAE0000 */ lw $t6, ($a1) -/* 068AB8 7F033F88 00808025 */ move $s0, $a0 -/* 068ABC 7F033F8C 4486A000 */ mtc1 $a2, $f20 -/* 068AC0 7F033F90 AFAE0088 */ sw $t6, 0x88($sp) -/* 068AC4 7F033F94 00A0A825 */ move $s5, $a1 -/* 068AC8 7F033F98 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 068ACC 7F033F9C 4481C000 */ mtc1 $at, $f24 -/* 068AD0 7F033FA0 4480B000 */ mtc1 $zero, $f22 -/* 068AD4 7F033FA4 8E050000 */ lw $a1, ($s0) -/* 068AD8 7F033FA8 8E060008 */ lw $a2, 8($s0) -/* 068ADC 7F033FAC 27B20088 */ addiu $s2, $sp, 0x88 -/* 068AE0 7F033FB0 00E0B025 */ move $s6, $a3 -/* 068AE4 7F033FB4 240F001F */ li $t7, 31 -/* 068AE8 7F033FB8 AFAF0010 */ sw $t7, 0x10($sp) -/* 068AEC 7F033FBC 3C0741A0 */ lui $a3, 0x41a0 -/* 068AF0 7F033FC0 02402025 */ move $a0, $s2 -/* 068AF4 7F033FC4 E7B80018 */ swc1 $f24, 0x18($sp) -/* 068AF8 7F033FC8 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 068AFC 7F033FCC E7B60014 */ swc1 $f22, 0x14($sp) -/* 068B00 7F033FD0 04410009 */ bgez $v0, .L7F033FF8 -/* 068B04 7F033FD4 00000000 */ nop -/* 068B08 7F033FD8 16C00005 */ bnez $s6, .L7F033FF0 -/* 068B0C 7F033FDC 02002025 */ move $a0, $s0 -/* 068B10 7F033FE0 0FC0CFAB */ jal sub_GAME_7F033EAC -/* 068B14 7F033FE4 8EA50000 */ lw $a1, ($s5) -/* 068B18 7F033FE8 10400003 */ beqz $v0, .L7F033FF8 -/* 068B1C 7F033FEC 00000000 */ nop -.L7F033FF0: -/* 068B20 7F033FF0 1000004A */ b .L7F03411C -/* 068B24 7F033FF4 24020001 */ li $v0, 1 -.L7F033FF8: -/* 068B28 7F033FF8 3C018005 */ lui $at, %hi(D_800520F8) -/* 068B2C 7F033FFC C43E20F8 */ lwc1 $f30, %lo(D_800520F8)($at) -/* 068B30 7F034000 3C018005 */ lui $at, %hi(D_800520FC) -/* 068B34 7F034004 C43C20FC */ lwc1 $f28, %lo(D_800520FC)($at) -/* 068B38 7F034008 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 068B3C 7F03400C 4481D000 */ mtc1 $at, $f26 -/* 068B40 7F034010 00008825 */ move $s1, $zero -/* 068B44 7F034014 24140008 */ li $s4, 8 -/* 068B48 7F034018 27B3008C */ addiu $s3, $sp, 0x8c -.L7F03401C: -/* 068B4C 7F03401C 0FC15FAB */ jal sinf -/* 068B50 7F034020 4600A306 */ mov.s $f12, $f20 -/* 068B54 7F034024 461A0102 */ mul.s $f4, $f0, $f26 -/* 068B58 7F034028 C6060000 */ lwc1 $f6, ($s0) -/* 068B5C 7F03402C 4600A306 */ mov.s $f12, $f20 -/* 068B60 7F034030 46062200 */ add.s $f8, $f4, $f6 -/* 068B64 7F034034 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 068B68 7F034038 C60A0004 */ lwc1 $f10, 4($s0) -/* 068B6C 7F03403C 0FC15FA8 */ jal cosf -/* 068B70 7F034040 E7AA0090 */ swc1 $f10, 0x90($sp) -/* 068B74 7F034044 461A0402 */ mul.s $f16, $f0, $f26 -/* 068B78 7F034048 C6120008 */ lwc1 $f18, 8($s0) -/* 068B7C 7F03404C 24190013 */ li $t9, 19 -/* 068B80 7F034050 02402025 */ move $a0, $s2 -/* 068B84 7F034054 8FA7008C */ lw $a3, 0x8c($sp) -/* 068B88 7F034058 46128100 */ add.s $f4, $f16, $f18 -/* 068B8C 7F03405C E7A40094 */ swc1 $f4, 0x94($sp) -/* 068B90 7F034060 8EB80000 */ lw $t8, ($s5) -/* 068B94 7F034064 AFB80088 */ sw $t8, 0x88($sp) -/* 068B98 7F034068 8E060008 */ lw $a2, 8($s0) -/* 068B9C 7F03406C 8E050000 */ lw $a1, ($s0) -/* 068BA0 7F034070 E7B80024 */ swc1 $f24, 0x24($sp) -/* 068BA4 7F034074 E7B60020 */ swc1 $f22, 0x20($sp) -/* 068BA8 7F034078 E7B8001C */ swc1 $f24, 0x1c($sp) -/* 068BAC 7F03407C E7B60018 */ swc1 $f22, 0x18($sp) -/* 068BB0 7F034080 AFB90014 */ sw $t9, 0x14($sp) -/* 068BB4 7F034084 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 068BB8 7F034088 E7A40010 */ swc1 $f4, 0x10($sp) -/* 068BBC 7F03408C 10400019 */ beqz $v0, .L7F0340F4 -/* 068BC0 7F034090 02402025 */ move $a0, $s2 -/* 068BC4 7F034094 2408001F */ li $t0, 31 -/* 068BC8 7F034098 AFA80010 */ sw $t0, 0x10($sp) -/* 068BCC 7F03409C 8FA5008C */ lw $a1, 0x8c($sp) -/* 068BD0 7F0340A0 8FA60094 */ lw $a2, 0x94($sp) -/* 068BD4 7F0340A4 3C0741A0 */ lui $a3, 0x41a0 -/* 068BD8 7F0340A8 E7B60014 */ swc1 $f22, 0x14($sp) -/* 068BDC 7F0340AC 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 068BE0 7F0340B0 E7B80018 */ swc1 $f24, 0x18($sp) -/* 068BE4 7F0340B4 0441000F */ bgez $v0, .L7F0340F4 -/* 068BE8 7F0340B8 02602025 */ move $a0, $s3 -/* 068BEC 7F0340BC 56C00006 */ bnezl $s6, .L7F0340D8 -/* 068BF0 7F0340C0 8FA90088 */ lw $t1, 0x88($sp) -/* 068BF4 7F0340C4 0FC0CFAB */ jal sub_GAME_7F033EAC -/* 068BF8 7F0340C8 8FA50088 */ lw $a1, 0x88($sp) -/* 068BFC 7F0340CC 5040000A */ beql $v0, $zero, .L7F0340F8 -/* 068C00 7F0340D0 461EA500 */ add.s $f20, $f20, $f30 -/* 068C04 7F0340D4 8FA90088 */ lw $t1, 0x88($sp) -.L7F0340D8: -/* 068C08 7F0340D8 24020001 */ li $v0, 1 -/* 068C0C 7F0340DC AEA90000 */ sw $t1, ($s5) -/* 068C10 7F0340E0 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 068C14 7F0340E4 E6060000 */ swc1 $f6, ($s0) -/* 068C18 7F0340E8 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 068C1C 7F0340EC 1000000B */ b .L7F03411C -/* 068C20 7F0340F0 E6080008 */ swc1 $f8, 8($s0) -.L7F0340F4: -/* 068C24 7F0340F4 461EA500 */ add.s $f20, $f20, $f30 -.L7F0340F8: -/* 068C28 7F0340F8 26310001 */ addiu $s1, $s1, 1 -/* 068C2C 7F0340FC 4614E03E */ c.le.s $f28, $f20 -/* 068C30 7F034100 00000000 */ nop -/* 068C34 7F034104 45000002 */ bc1f .L7F034110 -/* 068C38 7F034108 00000000 */ nop -/* 068C3C 7F03410C 461CA501 */ sub.s $f20, $f20, $f28 -.L7F034110: -/* 068C40 7F034110 1634FFC2 */ bne $s1, $s4, .L7F03401C -/* 068C44 7F034114 00000000 */ nop -/* 068C48 7F034118 00001025 */ move $v0, $zero -.L7F03411C: -/* 068C4C 7F03411C 8FBF007C */ lw $ra, 0x7c($sp) -/* 068C50 7F034120 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 068C54 7F034124 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 068C58 7F034128 D7B80040 */ ldc1 $f24, 0x40($sp) -/* 068C5C 7F03412C D7BA0048 */ ldc1 $f26, 0x48($sp) -/* 068C60 7F034130 D7BC0050 */ ldc1 $f28, 0x50($sp) -/* 068C64 7F034134 D7BE0058 */ ldc1 $f30, 0x58($sp) -/* 068C68 7F034138 8FB00060 */ lw $s0, 0x60($sp) -/* 068C6C 7F03413C 8FB10064 */ lw $s1, 0x64($sp) -/* 068C70 7F034140 8FB20068 */ lw $s2, 0x68($sp) -/* 068C74 7F034144 8FB3006C */ lw $s3, 0x6c($sp) -/* 068C78 7F034148 8FB40070 */ lw $s4, 0x70($sp) -/* 068C7C 7F03414C 8FB50074 */ lw $s5, 0x74($sp) -/* 068C80 7F034150 8FB60078 */ lw $s6, 0x78($sp) -/* 068C84 7F034154 03E00008 */ jr $ra -/* 068C88 7F034158 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - -#ifdef NONMATCHING -void actionblock_guard_constructor_BDBE(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actionblock_guard_constructor_BDBE -/* 068C8C 7F03415C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 068C90 7F034160 AFBF001C */ sw $ra, 0x1c($sp) -/* 068C94 7F034164 AFA40040 */ sw $a0, 0x40($sp) -/* 068C98 7F034168 AFA50044 */ sw $a1, 0x44($sp) -/* 068C9C 7F03416C AFA60048 */ sw $a2, 0x48($sp) -/* 068CA0 7F034170 0FC07FF0 */ jal get_next_available_guardID -/* 068CA4 7F034174 AFA7004C */ sw $a3, 0x4c($sp) -/* 068CA8 7F034178 28410003 */ slti $at, $v0, 3 -/* 068CAC 7F03417C 14200031 */ bnez $at, .L7F034244 -/* 068CB0 7F034180 8FA30048 */ lw $v1, 0x48($sp) -/* 068CB4 7F034184 8FAE0044 */ lw $t6, 0x44($sp) -/* 068CB8 7F034188 05C30006 */ bgezl $t6, .L7F0341A4 -/* 068CBC 7F03418C C4640000 */ lwc1 $f4, ($v1) -/* 068CC0 7F034190 0FC08D6B */ jal select_psuedorandom_heads -/* 068CC4 7F034194 8FA40040 */ lw $a0, 0x40($sp) -/* 068CC8 7F034198 8FA30048 */ lw $v1, 0x48($sp) -/* 068CCC 7F03419C AFA20044 */ sw $v0, 0x44($sp) -/* 068CD0 7F0341A0 C4640000 */ lwc1 $f4, ($v1) -.L7F0341A4: -/* 068CD4 7F0341A4 8FA70058 */ lw $a3, 0x58($sp) -/* 068CD8 7F0341A8 8FAF004C */ lw $t7, 0x4c($sp) -/* 068CDC 7F0341AC E7A40030 */ swc1 $f4, 0x30($sp) -/* 068CE0 7F0341B0 C4660004 */ lwc1 $f6, 4($v1) -/* 068CE4 7F0341B4 30F80010 */ andi $t8, $a3, 0x10 -/* 068CE8 7F0341B8 0018382B */ sltu $a3, $zero, $t8 -/* 068CEC 7F0341BC E7A60034 */ swc1 $f6, 0x34($sp) -/* 068CF0 7F0341C0 C4680008 */ lwc1 $f8, 8($v1) -/* 068CF4 7F0341C4 27A40030 */ addiu $a0, $sp, 0x30 -/* 068CF8 7F0341C8 27A50028 */ addiu $a1, $sp, 0x28 -/* 068CFC 7F0341CC 8FA60050 */ lw $a2, 0x50($sp) -/* 068D00 7F0341D0 AFAF0028 */ sw $t7, 0x28($sp) -/* 068D04 7F0341D4 0FC0CFD2 */ jal sub_GAME_7F033F48 -/* 068D08 7F0341D8 E7A80038 */ swc1 $f8, 0x38($sp) -/* 068D0C 7F0341DC 10400019 */ beqz $v0, .L7F034244 -/* 068D10 7F0341E0 8FA40040 */ lw $a0, 0x40($sp) -/* 068D14 7F0341E4 8FA50044 */ lw $a1, 0x44($sp) -/* 068D18 7F0341E8 0FC08D34 */ jal retrieve_header_for_body_and_head -/* 068D1C 7F0341EC 8FA60058 */ lw $a2, 0x58($sp) -/* 068D20 7F0341F0 10400014 */ beqz $v0, .L7F034244 -/* 068D24 7F0341F4 00402025 */ move $a0, $v0 -/* 068D28 7F0341F8 8FA80054 */ lw $t0, 0x54($sp) -/* 068D2C 7F0341FC 27A50030 */ addiu $a1, $sp, 0x30 -/* 068D30 7F034200 8FA60050 */ lw $a2, 0x50($sp) -/* 068D34 7F034204 8FA70028 */ lw $a3, 0x28($sp) -/* 068D38 7F034208 0FC080EE */ jal replace_GUARDdata_with_actual_values -/* 068D3C 7F03420C AFA80010 */ sw $t0, 0x10($sp) -/* 068D40 7F034210 1040000C */ beqz $v0, .L7F034244 -/* 068D44 7F034214 00402025 */ move $a0, $v0 -/* 068D48 7F034218 0FC0E93C */ jal sub_GAME_7F03A4F0 -/* 068D4C 7F03421C AFA2003C */ sw $v0, 0x3c($sp) -/* 068D50 7F034220 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 068D54 7F034224 8FA4003C */ lw $a0, 0x3c($sp) -/* 068D58 7F034228 8FA2003C */ lw $v0, 0x3c($sp) -/* 068D5C 7F03422C 8FA90044 */ lw $t1, 0x44($sp) -/* 068D60 7F034230 8C430004 */ lw $v1, 4($v0) -/* 068D64 7F034234 A0690006 */ sb $t1, 6($v1) -/* 068D68 7F034238 8FAA0040 */ lw $t2, 0x40($sp) -/* 068D6C 7F03423C 10000002 */ b .L7F034248 -/* 068D70 7F034240 A06A000F */ sb $t2, 0xf($v1) -.L7F034244: -/* 068D74 7F034244 00001025 */ move $v0, $zero -.L7F034248: -/* 068D78 7F034248 8FBF001C */ lw $ra, 0x1c($sp) -/* 068D7C 7F03424C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 068D80 7F034250 03E00008 */ jr $ra -/* 068D84 7F034254 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void guard_constructor_BD(void) { - -} -#else -GLOBAL_ASM( -.text -glabel guard_constructor_BD -/* 068D88 7F034258 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 068D8C 7F03425C AFBF0024 */ sw $ra, 0x24($sp) -/* 068D90 7F034260 AFA50034 */ sw $a1, 0x34($sp) -/* 068D94 7F034264 AFA60038 */ sw $a2, 0x38($sp) -/* 068D98 7F034268 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 068D9C 7F03426C 00E02825 */ move $a1, $a3 -/* 068DA0 7F034270 28412710 */ slti $at, $v0, 0x2710 -/* 068DA4 7F034274 1020000A */ beqz $at, .L7F0342A0 -/* 068DA8 7F034278 0002C100 */ sll $t8, $v0, 4 -/* 068DAC 7F03427C 00027080 */ sll $t6, $v0, 2 -/* 068DB0 7F034280 01C27023 */ subu $t6, $t6, $v0 -/* 068DB4 7F034284 000E7080 */ sll $t6, $t6, 2 -/* 068DB8 7F034288 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) -/* 068DBC 7F03428C 8DEF5D18 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 068DC0 7F034290 01C27023 */ subu $t6, $t6, $v0 -/* 068DC4 7F034294 000E7080 */ sll $t6, $t6, 2 -/* 068DC8 7F034298 10000009 */ b .L7F0342C0 -/* 068DCC 7F03429C 01CF3021 */ addu $a2, $t6, $t7 -.L7F0342A0: -/* 068DD0 7F0342A0 3C198007 */ lui $t9, %hi(ptr_2xxxpresets) -/* 068DD4 7F0342A4 8F395D1C */ lw $t9, %lo(ptr_2xxxpresets)($t9) -/* 068DD8 7F0342A8 0302C021 */ addu $t8, $t8, $v0 -/* 068DDC 7F0342AC 0018C080 */ sll $t8, $t8, 2 -/* 068DE0 7F0342B0 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 068DE4 7F0342B4 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 068DE8 7F0342B8 03193021 */ addu $a2, $t8, $t9 -/* 068DEC 7F0342BC 00C13021 */ addu $a2, $a2, $at -.L7F0342C0: -/* 068DF0 7F0342C0 C4CC0018 */ lwc1 $f12, 0x18($a2) -/* 068DF4 7F0342C4 C4CE0020 */ lwc1 $f14, 0x20($a2) -/* 068DF8 7F0342C8 0FC16A8C */ jal convert_angle_using_inverse -/* 068DFC 7F0342CC AFA6002C */ sw $a2, 0x2c($sp) -/* 068E00 7F0342D0 8FA6002C */ lw $a2, 0x2c($sp) -/* 068E04 7F0342D4 8FA80040 */ lw $t0, 0x40($sp) -/* 068E08 7F0342D8 8FA90044 */ lw $t1, 0x44($sp) -/* 068E0C 7F0342DC 8CC70028 */ lw $a3, 0x28($a2) -/* 068E10 7F0342E0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 068E14 7F0342E4 8FA40034 */ lw $a0, 0x34($sp) -/* 068E18 7F0342E8 8FA50038 */ lw $a1, 0x38($sp) -/* 068E1C 7F0342EC AFA80014 */ sw $t0, 0x14($sp) -/* 068E20 7F0342F0 0FC0D057 */ jal actionblock_guard_constructor_BDBE -/* 068E24 7F0342F4 AFA90018 */ sw $t1, 0x18($sp) -/* 068E28 7F0342F8 8FBF0024 */ lw $ra, 0x24($sp) -/* 068E2C 7F0342FC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 068E30 7F034300 03E00008 */ jr $ra -/* 068E34 7F034304 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void guard_constructor_BE(void) { - -} -#else -GLOBAL_ASM( -.text -glabel guard_constructor_BE -/* 068E38 7F034308 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 068E3C 7F03430C AFBF0024 */ sw $ra, 0x24($sp) -/* 068E40 7F034310 AFA50034 */ sw $a1, 0x34($sp) -/* 068E44 7F034314 AFA60038 */ sw $a2, 0x38($sp) -/* 068E48 7F034318 0FC0CC10 */ jal get_handle_for_guard_id -/* 068E4C 7F03431C 00E02825 */ move $a1, $a3 -/* 068E50 7F034320 8C4E0014 */ lw $t6, 0x14($v0) -/* 068E54 7F034324 31CF0008 */ andi $t7, $t6, 8 -/* 068E58 7F034328 55E00013 */ bnezl $t7, .L7F034378 -/* 068E5C 7F03432C 00001025 */ move $v0, $zero -/* 068E60 7F034330 8C44001C */ lw $a0, 0x1c($v0) -/* 068E64 7F034334 0FC1B320 */ jal getsubroty -/* 068E68 7F034338 AFA2002C */ sw $v0, 0x2c($sp) -/* 068E6C 7F03433C 8FA3002C */ lw $v1, 0x2c($sp) -/* 068E70 7F034340 8FB80040 */ lw $t8, 0x40($sp) -/* 068E74 7F034344 8FB90044 */ lw $t9, 0x44($sp) -/* 068E78 7F034348 8C620018 */ lw $v0, 0x18($v1) -/* 068E7C 7F03434C 8FA40034 */ lw $a0, 0x34($sp) -/* 068E80 7F034350 8FA50038 */ lw $a1, 0x38($sp) -/* 068E84 7F034354 8C470014 */ lw $a3, 0x14($v0) -/* 068E88 7F034358 E7A00010 */ swc1 $f0, 0x10($sp) -/* 068E8C 7F03435C AFB80014 */ sw $t8, 0x14($sp) -/* 068E90 7F034360 AFB90018 */ sw $t9, 0x18($sp) -/* 068E94 7F034364 0FC0D057 */ jal actionblock_guard_constructor_BDBE -/* 068E98 7F034368 24460008 */ addiu $a2, $v0, 8 -/* 068E9C 7F03436C 10000003 */ b .L7F03437C -/* 068EA0 7F034370 8FBF0024 */ lw $ra, 0x24($sp) -/* 068EA4 7F034374 00001025 */ move $v0, $zero -.L7F034378: -/* 068EA8 7F034378 8FBF0024 */ lw $ra, 0x24($sp) -.L7F03437C: -/* 068EAC 7F03437C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 068EB0 7F034380 03E00008 */ jr $ra -/* 068EB4 7F034384 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_actorID_is_at_preset(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_actorID_is_at_preset -/* 068EB8 7F034388 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 068EBC 7F03438C AFBF0014 */ sw $ra, 0x14($sp) -/* 068EC0 7F034390 AFA40020 */ sw $a0, 0x20($sp) -/* 068EC4 7F034394 0FC0CC10 */ jal get_handle_for_guard_id -/* 068EC8 7F034398 AFA60028 */ sw $a2, 0x28($sp) -/* 068ECC 7F03439C 8FA40020 */ lw $a0, 0x20($sp) -/* 068ED0 7F0343A0 8FA50028 */ lw $a1, 0x28($sp) -/* 068ED4 7F0343A4 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 068ED8 7F0343A8 AFA20018 */ sw $v0, 0x18($sp) -/* 068EDC 7F0343AC 28412710 */ slti $at, $v0, 0x2710 -/* 068EE0 7F0343B0 1020000A */ beqz $at, .L7F0343DC -/* 068EE4 7F0343B4 8FA60018 */ lw $a2, 0x18($sp) -/* 068EE8 7F0343B8 00027080 */ sll $t6, $v0, 2 -/* 068EEC 7F0343BC 01C27023 */ subu $t6, $t6, $v0 -/* 068EF0 7F0343C0 000E7080 */ sll $t6, $t6, 2 -/* 068EF4 7F0343C4 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) -/* 068EF8 7F0343C8 8DEF5D18 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 068EFC 7F0343CC 01C27023 */ subu $t6, $t6, $v0 -/* 068F00 7F0343D0 000E7080 */ sll $t6, $t6, 2 -/* 068F04 7F0343D4 1000000A */ b .L7F034400 -/* 068F08 7F0343D8 01CF1821 */ addu $v1, $t6, $t7 -.L7F0343DC: -/* 068F0C 7F0343DC 3C198007 */ lui $t9, %hi(ptr_2xxxpresets) -/* 068F10 7F0343E0 8F395D1C */ lw $t9, %lo(ptr_2xxxpresets)($t9) -/* 068F14 7F0343E4 0002C100 */ sll $t8, $v0, 4 -/* 068F18 7F0343E8 0302C021 */ addu $t8, $t8, $v0 -/* 068F1C 7F0343EC 0018C080 */ sll $t8, $t8, 2 -/* 068F20 7F0343F0 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 068F24 7F0343F4 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 068F28 7F0343F8 03191821 */ addu $v1, $t8, $t9 -/* 068F2C 7F0343FC 00611821 */ addu $v1, $v1, $at -.L7F034400: -/* 068F30 7F034400 8C620028 */ lw $v0, 0x28($v1) -/* 068F34 7F034404 8FBF0014 */ lw $ra, 0x14($sp) -/* 068F38 7F034408 5040000E */ beql $v0, $zero, .L7F034444 -/* 068F3C 7F03440C 00001025 */ move $v0, $zero -/* 068F40 7F034410 50C0000C */ beql $a2, $zero, .L7F034444 -/* 068F44 7F034414 00001025 */ move $v0, $zero -/* 068F48 7F034418 8CC30018 */ lw $v1, 0x18($a2) -/* 068F4C 7F03441C 50600009 */ beql $v1, $zero, .L7F034444 -/* 068F50 7F034420 00001025 */ move $v0, $zero -/* 068F54 7F034424 8C680014 */ lw $t0, 0x14($v1) -/* 068F58 7F034428 904A0003 */ lbu $t2, 3($v0) -/* 068F5C 7F03442C 91090003 */ lbu $t1, 3($t0) -/* 068F60 7F034430 552A0004 */ bnel $t1, $t2, .L7F034444 -/* 068F64 7F034434 00001025 */ move $v0, $zero -/* 068F68 7F034438 10000002 */ b .L7F034444 -/* 068F6C 7F03443C 24020001 */ li $v0, 1 -/* 068F70 7F034440 00001025 */ move $v0, $zero -.L7F034444: -/* 068F74 7F034444 03E00008 */ jr $ra -/* 068F78 7F034448 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -void check_if_actor_is_at_preset(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_actor_is_at_preset -/* 068F7C 7F03444C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 068F80 7F034450 AFBF0014 */ sw $ra, 0x14($sp) -/* 068F84 7F034454 AFA40020 */ sw $a0, 0x20($sp) -/* 068F88 7F034458 0FC225E6 */ jal get_curplayer_positiondata -/* 068F8C 7F03445C AFA50024 */ sw $a1, 0x24($sp) -/* 068F90 7F034460 AFA2001C */ sw $v0, 0x1c($sp) -/* 068F94 7F034464 8FA40020 */ lw $a0, 0x20($sp) -/* 068F98 7F034468 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 068F9C 7F03446C 8FA50024 */ lw $a1, 0x24($sp) -/* 068FA0 7F034470 28412710 */ slti $at, $v0, 0x2710 -/* 068FA4 7F034474 1020000A */ beqz $at, .L7F0344A0 -/* 068FA8 7F034478 8FBF0014 */ lw $ra, 0x14($sp) -/* 068FAC 7F03447C 00027080 */ sll $t6, $v0, 2 -/* 068FB0 7F034480 01C27023 */ subu $t6, $t6, $v0 -/* 068FB4 7F034484 000E7080 */ sll $t6, $t6, 2 -/* 068FB8 7F034488 3C0F8007 */ lui $t7, %hi(ptr_0xxxpresets) -/* 068FBC 7F03448C 8DEF5D18 */ lw $t7, %lo(ptr_0xxxpresets)($t7) -/* 068FC0 7F034490 01C27023 */ subu $t6, $t6, $v0 -/* 068FC4 7F034494 000E7080 */ sll $t6, $t6, 2 -/* 068FC8 7F034498 1000000A */ b .L7F0344C4 -/* 068FCC 7F03449C 01CF1821 */ addu $v1, $t6, $t7 -.L7F0344A0: -/* 068FD0 7F0344A0 3C198007 */ lui $t9, %hi(ptr_2xxxpresets) -/* 068FD4 7F0344A4 8F395D1C */ lw $t9, %lo(ptr_2xxxpresets)($t9) -/* 068FD8 7F0344A8 0002C100 */ sll $t8, $v0, 4 -/* 068FDC 7F0344AC 0302C021 */ addu $t8, $t8, $v0 -/* 068FE0 7F0344B0 0018C080 */ sll $t8, $t8, 2 -/* 068FE4 7F0344B4 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 068FE8 7F0344B8 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 068FEC 7F0344BC 03191821 */ addu $v1, $t8, $t9 -/* 068FF0 7F0344C0 00611821 */ addu $v1, $v1, $at -.L7F0344C4: -/* 068FF4 7F0344C4 8C620028 */ lw $v0, 0x28($v1) -/* 068FF8 7F0344C8 8FA8001C */ lw $t0, 0x1c($sp) -/* 068FFC 7F0344CC 50400009 */ beql $v0, $zero, .L7F0344F4 -/* 069000 7F0344D0 00001025 */ move $v0, $zero -/* 069004 7F0344D4 8D090014 */ lw $t1, 0x14($t0) -/* 069008 7F0344D8 904B0003 */ lbu $t3, 3($v0) -/* 06900C 7F0344DC 912A0003 */ lbu $t2, 3($t1) -/* 069010 7F0344E0 554B0004 */ bnel $t2, $t3, .L7F0344F4 -/* 069014 7F0344E4 00001025 */ move $v0, $zero -/* 069018 7F0344E8 10000002 */ b .L7F0344F4 -/* 06901C 7F0344EC 24020001 */ li $v0, 1 -/* 069020 7F0344F0 00001025 */ move $v0, $zero -.L7F0344F4: -/* 069024 7F0344F4 03E00008 */ jr $ra -/* 069028 7F0344F8 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -void removed_animation_routine_27(void) { - -} -#else -GLOBAL_ASM( -.text -glabel removed_animation_routine_27 -/* 06902C 7F0344FC AFA40000 */ sw $a0, ($sp) -/* 069030 7F034500 03E00008 */ jr $ra -/* 069034 7F034504 00001025 */ move $v0, $zero -) -#endif - - - -#ifdef NONMATCHING -void removed_animation_routine_2B(void) { - -} -#else -GLOBAL_ASM( -.text -glabel removed_animation_routine_2B -/* 069038 7F034508 AFA40000 */ sw $a0, ($sp) -/* 06903C 7F03450C 03E00008 */ jr $ra -/* 069040 7F034510 00001025 */ move $v0, $zero -) -#endif - - - -#ifdef NONMATCHING -? sub_GAME_7F034514(s32 arg0, s32 arg1) -{ - s32 temp_ret; - - arg1 = sub_GAME_7F032F94(); - if (true_if_actor_dying_fading_limping_shot(arg0) != 0) - { - temp_ret = scan_position_data_table_for_normal_object_at_preset(arg1); - if (temp_ret != 0) - { - if (check_if_object_has_not_been_destroyed(temp_ret) != 0) - { - sub_GAME_7F024150(arg0); - return 1; - } - } - } - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F034514 -/* 069044 7F034514 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 069048 7F034518 AFBF0014 */ sw $ra, 0x14($sp) -/* 06904C 7F03451C 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 069050 7F034520 AFA40018 */ sw $a0, 0x18($sp) -/* 069054 7F034524 AFA2001C */ sw $v0, 0x1c($sp) -/* 069058 7F034528 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 06905C 7F03452C 8FA40018 */ lw $a0, 0x18($sp) -/* 069060 7F034530 5040000E */ beql $v0, $zero, .L7F03456C -/* 069064 7F034534 00001025 */ move $v0, $zero -/* 069068 7F034538 0FC0FE91 */ jal scan_position_data_table_for_normal_object_at_preset -/* 06906C 7F03453C 8FA4001C */ lw $a0, 0x1c($sp) -/* 069070 7F034540 10400009 */ beqz $v0, .L7F034568 -/* 069074 7F034544 00402025 */ move $a0, $v0 -/* 069078 7F034548 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 06907C 7F03454C 00000000 */ nop -/* 069080 7F034550 50400006 */ beql $v0, $zero, .L7F03456C -/* 069084 7F034554 00001025 */ move $v0, $zero -/* 069088 7F034558 0FC09054 */ jal sub_GAME_7F024150 -/* 06908C 7F03455C 8FA40018 */ lw $a0, 0x18($sp) -/* 069090 7F034560 10000002 */ b .L7F03456C -/* 069094 7F034564 24020001 */ li $v0, 1 -.L7F034568: -/* 069098 7F034568 00001025 */ move $v0, $zero -.L7F03456C: -/* 06909C 7F03456C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0690A0 7F034570 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0690A4 7F034574 03E00008 */ jr $ra -/* 0690A8 7F034578 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -? actor_draws_throws_grenade_at_player_if_possible(void *arg0) -{ - s32 sp24; - s32 sp20; - s32 temp_ret; - s32 temp_ret_2; - void *temp_v1; - ? phi_a3; - ? phi_a2; - - if ((u32) (get_random_value() % 0xffU) >= (u32) arg0->unk10) - { - return 0; - } - if (sub_GAME_7F032DE4(arg0) < 10.0f) - { - return 0; - } - if (true_if_actor_dying_fading_limping_shot(arg0) != 0) - { - sp24 = something_with_weaponpos_of_guarddata_hand(arg0, 1); - temp_ret = something_with_weaponpos_of_guarddata_hand(arg0, 0); - sp20 = temp_ret; - if (temp_ret != 0) - { - if (temp_ret->unk4->unk80 == 0x1a) - { - throw_weapon_in_guard_hand(arg0, temp_ret, 0, 0); - return 1; - } - } - if (sp24 != 0) - { - if (sp24->unk4->unk80 == 0x1a) - { - throw_weapon_in_guard_hand(arg0, sp24, 1, 0); - return 1; - } - } - if ((sp24 == 0) || (temp_ret == 0)) - { - phi_a3 = 0; - if (temp_ret != 0) - { - phi_a3 = 0x10000000; - } - temp_ret_2 = actor_draws_weapon_with_model(arg0, 0xc4, 0x1a, phi_a3); - if (temp_ret_2 != 0) - { - temp_v1 = temp_ret_2->unk4; - temp_v1->unk64 = (s32) (temp_v1->unk64 | 0x800); - phi_a2 = 1; - if (sp20 == 0) - { - phi_a2 = 0; - } - throw_weapon_in_guard_hand(arg0, temp_ret_2, phi_a2, 1); - return 1; - } - } - else - { - - } - } - return 0; -} -#else -GLOBAL_ASM( -.text -glabel actor_draws_throws_grenade_at_player_if_possible -/* 0690AC 7F03457C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0690B0 7F034580 AFBF001C */ sw $ra, 0x1c($sp) -/* 0690B4 7F034584 AFB00018 */ sw $s0, 0x18($sp) -/* 0690B8 7F034588 0C002914 */ jal get_random_value -/* 0690BC 7F03458C 00808025 */ move $s0, $a0 -/* 0690C0 7F034590 240100FF */ li $at, 255 -/* 0690C4 7F034594 0041001B */ divu $zero, $v0, $at -/* 0690C8 7F034598 920F0010 */ lbu $t7, 0x10($s0) -/* 0690CC 7F03459C 00007010 */ mfhi $t6 -/* 0690D0 7F0345A0 01CF082B */ sltu $at, $t6, $t7 -/* 0690D4 7F0345A4 14200003 */ bnez $at, .L7F0345B4 -/* 0690D8 7F0345A8 00000000 */ nop -/* 0690DC 7F0345AC 1000004E */ b .L7F0346E8 -/* 0690E0 7F0345B0 00001025 */ move $v0, $zero -.L7F0345B4: -/* 0690E4 7F0345B4 0FC0CB79 */ jal sub_GAME_7F032DE4 -/* 0690E8 7F0345B8 02002025 */ move $a0, $s0 -/* 0690EC 7F0345BC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0690F0 7F0345C0 44812000 */ mtc1 $at, $f4 -/* 0690F4 7F0345C4 00000000 */ nop -/* 0690F8 7F0345C8 4604003C */ c.lt.s $f0, $f4 -/* 0690FC 7F0345CC 00000000 */ nop -/* 069100 7F0345D0 45000003 */ bc1f .L7F0345E0 -/* 069104 7F0345D4 00000000 */ nop -/* 069108 7F0345D8 10000043 */ b .L7F0346E8 -/* 06910C 7F0345DC 00001025 */ move $v0, $zero -.L7F0345E0: -/* 069110 7F0345E0 0FC0A896 */ jal true_if_actor_dying_fading_limping_shot -/* 069114 7F0345E4 02002025 */ move $a0, $s0 -/* 069118 7F0345E8 1040003E */ beqz $v0, .L7F0346E4 -/* 06911C 7F0345EC 02002025 */ move $a0, $s0 -/* 069120 7F0345F0 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 069124 7F0345F4 24050001 */ li $a1, 1 -/* 069128 7F0345F8 AFA20024 */ sw $v0, 0x24($sp) -/* 06912C 7F0345FC 02002025 */ move $a0, $s0 -/* 069130 7F034600 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 069134 7F034604 00002825 */ move $a1, $zero -/* 069138 7F034608 8FA50024 */ lw $a1, 0x24($sp) -/* 06913C 7F03460C 1040000D */ beqz $v0, .L7F034644 -/* 069140 7F034610 AFA20020 */ sw $v0, 0x20($sp) -/* 069144 7F034614 8C430004 */ lw $v1, 4($v0) -/* 069148 7F034618 2401001A */ li $at, 26 -/* 06914C 7F03461C 02002025 */ move $a0, $s0 -/* 069150 7F034620 80780080 */ lb $t8, 0x80($v1) -/* 069154 7F034624 00003025 */ move $a2, $zero -/* 069158 7F034628 00003825 */ move $a3, $zero -/* 06915C 7F03462C 17010005 */ bne $t8, $at, .L7F034644 -/* 069160 7F034630 00000000 */ nop -/* 069164 7F034634 0FC0908E */ jal throw_weapon_in_guard_hand -/* 069168 7F034638 00402825 */ move $a1, $v0 -/* 06916C 7F03463C 1000002A */ b .L7F0346E8 -/* 069170 7F034640 24020001 */ li $v0, 1 -.L7F034644: -/* 069174 7F034644 10A0000C */ beqz $a1, .L7F034678 -/* 069178 7F034648 00000000 */ nop -/* 06917C 7F03464C 8CA30004 */ lw $v1, 4($a1) -/* 069180 7F034650 2401001A */ li $at, 26 -/* 069184 7F034654 02002025 */ move $a0, $s0 -/* 069188 7F034658 80790080 */ lb $t9, 0x80($v1) -/* 06918C 7F03465C 24060001 */ li $a2, 1 -/* 069190 7F034660 17210005 */ bne $t9, $at, .L7F034678 -/* 069194 7F034664 00000000 */ nop -/* 069198 7F034668 0FC0908E */ jal throw_weapon_in_guard_hand -/* 06919C 7F03466C 00003825 */ move $a3, $zero -/* 0691A0 7F034670 1000001D */ b .L7F0346E8 -/* 0691A4 7F034674 24020001 */ li $v0, 1 -.L7F034678: -/* 0691A8 7F034678 10A00003 */ beqz $a1, .L7F034688 -/* 0691AC 7F03467C 02002025 */ move $a0, $s0 -/* 0691B0 7F034680 54400019 */ bnezl $v0, .L7F0346E8 -/* 0691B4 7F034684 00001025 */ move $v0, $zero -.L7F034688: -/* 0691B8 7F034688 10400002 */ beqz $v0, .L7F034694 -/* 0691BC 7F03468C 00003825 */ move $a3, $zero -/* 0691C0 7F034690 3C071000 */ lui $a3, 0x1000 -.L7F034694: -/* 0691C4 7F034694 240500C4 */ li $a1, 196 -/* 0691C8 7F034698 0FC148F5 */ jal actor_draws_weapon_with_model -/* 0691CC 7F03469C 2406001A */ li $a2, 26 -/* 0691D0 7F0346A0 10400010 */ beqz $v0, .L7F0346E4 -/* 0691D4 7F0346A4 00402825 */ move $a1, $v0 -/* 0691D8 7F0346A8 8C430004 */ lw $v1, 4($v0) -/* 0691DC 7F0346AC 02002025 */ move $a0, $s0 -/* 0691E0 7F0346B0 24060001 */ li $a2, 1 -/* 0691E4 7F0346B4 8C680064 */ lw $t0, 0x64($v1) -/* 0691E8 7F0346B8 35090800 */ ori $t1, $t0, 0x800 -/* 0691EC 7F0346BC AC690064 */ sw $t1, 0x64($v1) -/* 0691F0 7F0346C0 8FAA0020 */ lw $t2, 0x20($sp) -/* 0691F4 7F0346C4 15400003 */ bnez $t2, .L7F0346D4 -/* 0691F8 7F0346C8 00000000 */ nop -/* 0691FC 7F0346CC 10000001 */ b .L7F0346D4 -/* 069200 7F0346D0 00003025 */ move $a2, $zero -.L7F0346D4: -/* 069204 7F0346D4 0FC0908E */ jal throw_weapon_in_guard_hand -/* 069208 7F0346D8 24070001 */ li $a3, 1 -/* 06920C 7F0346DC 10000002 */ b .L7F0346E8 -/* 069210 7F0346E0 24020001 */ li $v0, 1 -.L7F0346E4: -/* 069214 7F0346E4 00001025 */ move $v0, $zero -.L7F0346E8: -/* 069218 7F0346E8 8FBF001C */ lw $ra, 0x1c($sp) -/* 06921C 7F0346EC 8FB00018 */ lw $s0, 0x18($sp) -/* 069220 7F0346F0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 069224 7F0346F4 03E00008 */ jr $ra -/* 069228 7F0346F8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -? actor_drops_itemtype_setting_timer(void *arg0, s32 arg1, s32 arg2) -{ - s32 sp1C; - s32 temp_ret; - void *temp_a0; - - temp_ret = create_new_item_instance_of_model(arg1, arg2 & 0xff); - if (temp_ret != 0) - { - if (temp_ret->unk10 != 0) - { - temp_a0 = temp_ret->unk14; - sp1C = temp_ret; - set_obj_instance_controller_scale(temp_a0, temp_a0->unk14); - sub_GAME_7F03A5A4(sp1C->unk10, arg0->unk18); - sp1C->unk82 = (u16)0xb4; - sub_GAME_7F04BFD0(sp1C->unk10, 1); - arg0->unk12 = (s16) (arg0->unk12 | 1); - return 1; - } - } - return 0; -} -#else -GLOBAL_ASM( -.text -glabel actor_drops_itemtype_setting_timer -/* 06922C 7F0346FC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 069230 7F034700 AFA40020 */ sw $a0, 0x20($sp) -/* 069234 7F034704 AFBF0014 */ sw $ra, 0x14($sp) -/* 069238 7F034708 30CE00FF */ andi $t6, $a2, 0xff -/* 06923C 7F03470C 00A02025 */ move $a0, $a1 -/* 069240 7F034710 AFA60028 */ sw $a2, 0x28($sp) -/* 069244 7F034714 0FC1481B */ jal create_new_item_instance_of_model -/* 069248 7F034718 01C02825 */ move $a1, $t6 -/* 06924C 7F03471C 5040001A */ beql $v0, $zero, .L7F034788 -/* 069250 7F034720 00001025 */ move $v0, $zero -/* 069254 7F034724 8C4F0010 */ lw $t7, 0x10($v0) -/* 069258 7F034728 51E00017 */ beql $t7, $zero, .L7F034788 -/* 06925C 7F03472C 00001025 */ move $v0, $zero -/* 069260 7F034730 8C440014 */ lw $a0, 0x14($v0) -/* 069264 7F034734 8C850014 */ lw $a1, 0x14($a0) -/* 069268 7F034738 0FC1B39E */ jal set_obj_instance_controller_scale -/* 06926C 7F03473C AFA2001C */ sw $v0, 0x1c($sp) -/* 069270 7F034740 8FA3001C */ lw $v1, 0x1c($sp) -/* 069274 7F034744 8FB80020 */ lw $t8, 0x20($sp) -/* 069278 7F034748 8C640010 */ lw $a0, 0x10($v1) -/* 06927C 7F03474C 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 069280 7F034750 8F050018 */ lw $a1, 0x18($t8) -/* 069284 7F034754 8FA3001C */ lw $v1, 0x1c($sp) -/* 069288 7F034758 241900B4 */ li $t9, 180 -/* 06928C 7F03475C 24050001 */ li $a1, 1 -/* 069290 7F034760 A4790082 */ sh $t9, 0x82($v1) -/* 069294 7F034764 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 069298 7F034768 8C640010 */ lw $a0, 0x10($v1) -/* 06929C 7F03476C 8FA80020 */ lw $t0, 0x20($sp) -/* 0692A0 7F034770 24020001 */ li $v0, 1 -/* 0692A4 7F034774 95090012 */ lhu $t1, 0x12($t0) -/* 0692A8 7F034778 352A0001 */ ori $t2, $t1, 1 -/* 0692AC 7F03477C 10000002 */ b .L7F034788 -/* 0692B0 7F034780 A50A0012 */ sh $t2, 0x12($t0) -/* 0692B4 7F034784 00001025 */ move $v0, $zero -.L7F034788: -/* 0692B8 7F034788 8FBF0014 */ lw $ra, 0x14($sp) -/* 0692BC 7F03478C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0692C0 7F034790 03E00008 */ jr $ra -/* 0692C4 7F034794 00000000 */ nop -) -#endif - - diff --git a/src/game/chrai.c b/src/game/chrai.c deleted file mode 100644 index f23f366..0000000 --- a/src/game/chrai.c +++ /dev/null @@ -1,21577 +0,0 @@ -#include "ultra64.h" -#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]; -//CODE.bss:80069C30 -void * ptr_list_object_lookup_indices; -//CODE.bss:80069C34 -u32 num_obj_position_data_entries; - -//CODE.bss:80069C38 -u8 pos_data_entry[0x24]; -//CODE.bss:80069C5C -u8 dword_CODE_bss_80069C5C; -u8 dword_CODE_bss_80069C5D; -u8 dword_CODE_bss_80069C5E; -u8 dword_CODE_bss_80069C5F; -u8 dword_CODE_bss_80069C60; -u8 dword_CODE_bss_80069C61; -u8 dword_CODE_bss_80069C62; -u8 dword_CODE_bss_80069C63; -u8 dword_CODE_bss_80069C64; -u8 dword_CODE_bss_80069C65; -u8 dword_CODE_bss_80069C66; -u8 dword_CODE_bss_80069C67; -u8 dword_CODE_bss_80069C68; -u8 dword_CODE_bss_80069C69; -u8 dword_CODE_bss_80069C6A; -u8 dword_CODE_bss_80069C6B; -//CODE.bss:80069C6C -u8 dword_CODE_bss_80069C6C; -u8 dword_CODE_bss_80069C6D; -u8 dword_CODE_bss_80069C6E; -u8 dword_CODE_bss_80069C6F; -u8 dword_CODE_bss_80069C70[0x20]; -//CODE.bss:80069C90 -u8 dword_CODE_bss_80069C90[0xC]; -//CODE.bss:80069C94 -//u8 dword_CODE_bss_80069C94[8]; -//CODE.bss:80069CA0 -u8 dword_CODE_bss_80069CA0[0x24]; -//CODE.bss:80069CC4 -u32 dword_CODE_bss_80069CC4; -u32 dword_CODE_bss_80069CC8; -u32 dword_CODE_bss_80069CCC; -u32 dword_CODE_bss_80069CD0; -//CODE.bss:80069CD4 -u32 dword_CODE_bss_80069CD4; -u32 dword_CODE_bss_80069CD8; -u32 dword_CODE_bss_80069CDC; -u8 dword_CODE_bss_80069CE0[0x28]; -//CODE.bss:80069D08 -u8 dword_CODE_bss_80069D08[0x34]; -//CODE.bss:80069D3C -u8 dword_CODE_bss_80069D3C; -u8 dword_CODE_bss_80069D3D; -u8 dword_CODE_bss_80069D3E; -u8 dword_CODE_bss_80069D3F; -u8 dword_CODE_bss_80069D40[0x30]; -//CODE.bss:80069D70 -u8 dword_CODE_bss_80069D70[0x34]; -//CODE.bss:80069DA4 -u8 dword_CODE_bss_80069DA4; -u8 dword_CODE_bss_80069DA5; -u8 dword_CODE_bss_80069DA6; -u8 dword_CODE_bss_80069DA7; -u8 dword_CODE_bss_80069DA8[0x7870]; -//CODE.bss:80071618 -void *ptr_room_lookup_buffer_maybe; -//CODE.bss:8007161C -u32 dword_CODE_bss_8007161C; - -//CODE.bss:80071620 -char dword_CODE_bss_80071620[0x94]; -//CODE.bss:800716B4 -char dword_CODE_bss_800716B4; -char dword_CODE_bss_800716B5; -char dword_CODE_bss_800716B6; -char dword_CODE_bss_800716B7; -char dword_CODE_bss_800716B8[0x738]; -//CODE.bss:80071DF0 -u32 dword_CODE_bss_80071DF0; -//CODE.bss:80071DF4 -u32 dword_CODE_bss_80071DF4; -//CODE.bss:80071DF8 -u32 dword_CODE_bss_80071DF8; -//CODE.bss:80071DFC -u32 dword_CODE_bss_80071DFC; -//CODE.bss:80071E00 -char temp_mine_table[0x78]; - -//CODE.bss:80071E78 -f32 gas_damage_flag; -//CODE.bss:80071E7C -u32 gas_cutoff_flag; -//CODE.bss:80071E80 -char ProjectileData_start_address[0xFF0]; -//CODE.bss:80072E70 -char dword_CODE_bss_80072E70[0x500]; -//CODE.bss:80073370 -char dword_CODE_bss_80073370[0xA50]; -//CODE.bss:80073DC0 -char dword_CODE_bss_80073DC0[0x1270]; -//CODE.bss:80075030 -char dword_CODE_bss_80075030[0xB40]; -//CODE.bss:80075B70 -u32 objinst; -//CODE.bss:80075B74 -u32 dword_CODE_bss_80075B74; -//CODE.bss:80075B78 -f32 flt_CODE_bss_80075B78; -//CODE.bss:80075B7C -f32 flt_CODE_bss_80075B7C; -//CODE.bss:80075B80 -f32 flt_CODE_bss_80075B80; -//CODE.bss:80075B84 -f32 flt_CODE_bss_80075B84; -//CODE.bss:80075B88 -f32 flt_CODE_bss_80075B88; -//CODE.bss:80075B8C -f32 flt_CODE_bss_80075B8C; -//CODE.bss:80075B90 -f32 flt_CODE_bss_80075B90; -//CODE.bss:80075B94 -f32 flt_CODE_bss_80075B94; -//CODE.bss:80075B98 -char dword_CODE_bss_80075B98[0x6C]; -//CODE.bss:80075C04 -u32 dword_CODE_bss_80075C04; -u32 dword_CODE_bss_80075C08; -u32 dword_CODE_bss_80075C0C; -//CODE.bss:80075C10 -char dword_CODE_bss_80075C10[0x78]; -//CODE.bss:80075C88 -char dword_CODE_bss_80075C88[0x78]; - -//CODE.bss:80075D00 -void * ptr_setup_path_tbl; -//CODE.bss:80075D04 -void * ptr_setup_path_link; -//CODE.bss:80075D08 -void * ptr_setup_intro; -//CODE.bss:80075D0C -struct object_standard * ptr_setup_objects; -//CODE.bss:80075D10 -void * ptr_setup_path_sets; -//CODE.bss:80075D14 -void * ptr_setup_actions; -//CODE.bss:80075D18 -void * ptr_0xxxpresets; -//CODE.bss:80075D1C -void * ptr_2xxxpresets; -//CODE.bss:80075D20 -u32 dword_CODE_bss_80075D20; -//CODE.bss:80075D24 -u32 dword_CODE_bss_80075D24; -//CODE.bss:80075D28 -u32 dword_CODE_bss_80075D28; - - -//data -s32 D_80030A70 = 0; -s32 D_80030A74 = 0; -s32 D_80030A78 = 0; -s32 D_80030A7C = 0; -s32 D_80030A80 = 0; -s32 D_80030A84 = 0; -s32 D_80030A88 = 0; -s32 D_80030A8C = 0; -s32 D_80030A90 = 0; -s32 D_80030A94 = 0; -s32 D_80030A98 = 0; -s32 D_80030A9C = 0; -s32 *ptr_obj_pos_list_current_entry = 0; -s32 *ptr_obj_pos_list_first_entry = 0; -s32 *ptr_obj_pos_list_final_entry = 0; -f32 difficulty = 1.0; -s32 D_80030AB0 = 0; -s32 D_80030AB4 = 0; -s32 D_80030AB8 = 0; -s32 D_80030ABC = 0; - - - - - - -#ifdef NONMATCHING -void set_sound_effect_source_to_location(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_sound_effect_source_to_location -/* 0692D0 7F0347A0 00047080 */ sll $t6, $a0, 2 -/* 0692D4 7F0347A4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0692D8 7F0347A8 01C47023 */ subu $t6, $t6, $a0 -/* 0692DC 7F0347AC 3C0F8007 */ lui $t7, %hi(sfx_related) -/* 0692E0 7F0347B0 AFB00018 */ sw $s0, 0x18($sp) -/* 0692E4 7F0347B4 25EF9B70 */ addiu $t7, %lo(sfx_related) # addiu $t7, $t7, -0x6490 -/* 0692E8 7F0347B8 000E70C0 */ sll $t6, $t6, 3 -/* 0692EC 7F0347BC 01CF8021 */ addu $s0, $t6, $t7 -/* 0692F0 7F0347C0 8E050000 */ lw $a1, ($s0) -/* 0692F4 7F0347C4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0692F8 7F0347C8 50A00041 */ beql $a1, $zero, .L7F0348D0 -/* 0692FC 7F0347CC AE000004 */ sw $zero, 4($s0) -/* 069300 7F0347D0 0C00237C */ jal sfxGetArg0Unk3F -/* 069304 7F0347D4 00A02025 */ move $a0, $a1 -/* 069308 7F0347D8 5040003D */ beql $v0, $zero, .L7F0348D0 -/* 06930C 7F0347DC AE000004 */ sw $zero, 4($s0) -/* 069310 7F0347E0 8E040010 */ lw $a0, 0x10($s0) -/* 069314 7F0347E4 50800006 */ beql $a0, $zero, .L7F034800 -/* 069318 7F0347E8 8E020014 */ lw $v0, 0x14($s0) -/* 06931C 7F0347EC 0FC14E79 */ jal sub_GAME_7F0539E4 -/* 069320 7F0347F0 00000000 */ nop -/* 069324 7F0347F4 1000000A */ b .L7F034820 -/* 069328 7F0347F8 AE02000C */ sw $v0, 0xc($s0) -/* 06932C 7F0347FC 8E020014 */ lw $v0, 0x14($s0) -.L7F034800: -/* 069330 7F034800 50400008 */ beql $v0, $zero, .L7F034824 -/* 069334 7F034804 8E030008 */ lw $v1, 8($s0) -/* 069338 7F034808 8C580010 */ lw $t8, 0x10($v0) -/* 06933C 7F03480C 53000005 */ beql $t8, $zero, .L7F034824 -/* 069340 7F034810 8E030008 */ lw $v1, 8($s0) -/* 069344 7F034814 0FC14E79 */ jal sub_GAME_7F0539E4 -/* 069348 7F034818 24440058 */ addiu $a0, $v0, 0x58 -/* 06934C 7F03481C AE02000C */ sw $v0, 0xc($s0) -.L7F034820: -/* 069350 7F034820 8E030008 */ lw $v1, 8($s0) -.L7F034824: -/* 069354 7F034824 8E05000C */ lw $a1, 0xc($s0) -/* 069358 7F034828 3C048005 */ lui $a0, %hi(clock_timer) -/* 06935C 7F03482C 04600018 */ bltz $v1, .L7F034890 -/* 069360 7F034830 00A03025 */ move $a2, $a1 -/* 069364 7F034834 8C848374 */ lw $a0, %lo(clock_timer)($a0) -/* 069368 7F034838 0083082A */ slt $at, $a0, $v1 -/* 06936C 7F03483C 10200013 */ beqz $at, .L7F03488C -/* 069370 7F034840 00645023 */ subu $t2, $v1, $a0 -/* 069374 7F034844 8E020004 */ lw $v0, 4($s0) -/* 069378 7F034848 00A2C823 */ subu $t9, $a1, $v0 -/* 06937C 7F03484C 03240019 */ multu $t9, $a0 -/* 069380 7F034850 00004012 */ mflo $t0 -/* 069384 7F034854 00000000 */ nop -/* 069388 7F034858 00000000 */ nop -/* 06938C 7F03485C 0103001A */ div $zero, $t0, $v1 -/* 069390 7F034860 00004812 */ mflo $t1 -/* 069394 7F034864 01223021 */ addu $a2, $t1, $v0 -/* 069398 7F034868 14600002 */ bnez $v1, .L7F034874 -/* 06939C 7F03486C 00000000 */ nop -/* 0693A0 7F034870 0007000D */ break 7 -.L7F034874: -/* 0693A4 7F034874 2401FFFF */ li $at, -1 -/* 0693A8 7F034878 14610004 */ bne $v1, $at, .L7F03488C -/* 0693AC 7F03487C 3C018000 */ lui $at, 0x8000 -/* 0693B0 7F034880 15010002 */ bne $t0, $at, .L7F03488C -/* 0693B4 7F034884 00000000 */ nop -/* 0693B8 7F034888 0006000D */ break 6 -.L7F03488C: -/* 0693BC 7F03488C AE0A0008 */ sw $t2, 8($s0) -.L7F034890: -/* 0693C0 7F034890 0FC2FF01 */ jal get_controls_locked_flag -/* 0693C4 7F034894 AFA60024 */ sw $a2, 0x24($sp) -/* 0693C8 7F034898 10400002 */ beqz $v0, .L7F0348A4 -/* 0693CC 7F03489C 8FA60024 */ lw $a2, 0x24($sp) -/* 0693D0 7F0348A0 00003025 */ move $a2, $zero -.L7F0348A4: -/* 0693D4 7F0348A4 8E0B0004 */ lw $t3, 4($s0) -/* 0693D8 7F0348A8 24050008 */ li $a1, 8 -/* 0693DC 7F0348AC 50CB0009 */ beql $a2, $t3, .L7F0348D4 -/* 0693E0 7F0348B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0693E4 7F0348B4 8E040000 */ lw $a0, ($s0) -/* 0693E8 7F0348B8 0C002461 */ jal sfx_c_70009184 -/* 0693EC 7F0348BC AFA60024 */ sw $a2, 0x24($sp) -/* 0693F0 7F0348C0 8FA60024 */ lw $a2, 0x24($sp) -/* 0693F4 7F0348C4 10000002 */ b .L7F0348D0 -/* 0693F8 7F0348C8 AE060004 */ sw $a2, 4($s0) -/* 0693FC 7F0348CC AE000004 */ sw $zero, 4($s0) -.L7F0348D0: -/* 069400 7F0348D0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0348D4: -/* 069404 7F0348D4 8FB00018 */ lw $s0, 0x18($sp) -/* 069408 7F0348D8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 06940C 7F0348DC 03E00008 */ jr $ra -/* 069410 7F0348E0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void loop_set_sound_effect_all_slots(void) { - -} -#else -GLOBAL_ASM( -.text -glabel loop_set_sound_effect_all_slots -/* 069414 7F0348E4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 069418 7F0348E8 AFB10018 */ sw $s1, 0x18($sp) -/* 06941C 7F0348EC AFB00014 */ sw $s0, 0x14($sp) -/* 069420 7F0348F0 AFBF001C */ sw $ra, 0x1c($sp) -/* 069424 7F0348F4 00008025 */ move $s0, $zero -/* 069428 7F0348F8 24110008 */ li $s1, 8 -.L7F0348FC: -/* 06942C 7F0348FC 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 069430 7F034900 02002025 */ move $a0, $s0 -/* 069434 7F034904 26100001 */ addiu $s0, $s0, 1 -/* 069438 7F034908 1611FFFC */ bne $s0, $s1, .L7F0348FC -/* 06943C 7F03490C 00000000 */ nop -/* 069440 7F034910 8FBF001C */ lw $ra, 0x1c($sp) -/* 069444 7F034914 8FB00014 */ lw $s0, 0x14($sp) -/* 069448 7F034918 8FB10018 */ lw $s1, 0x18($sp) -/* 06944C 7F03491C 03E00008 */ jr $ra -/* 069450 7F034920 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void set_sound_effect_to_slot(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_sound_effect_to_slot -/* 069454 7F034924 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 069458 7F034928 AFBF0014 */ sw $ra, 0x14($sp) -/* 06945C 7F03492C AFA50024 */ sw $a1, 0x24($sp) -/* 069460 7F034930 0480001A */ bltz $a0, .L7F03499C -/* 069464 7F034934 00003025 */ move $a2, $zero -/* 069468 7F034938 28810008 */ slti $at, $a0, 8 -/* 06946C 7F03493C 10200017 */ beqz $at, .L7F03499C -/* 069470 7F034940 00047080 */ sll $t6, $a0, 2 -/* 069474 7F034944 01C47023 */ subu $t6, $t6, $a0 -/* 069478 7F034948 3C0F8007 */ lui $t7, %hi(sfx_related) -/* 06947C 7F03494C 25EF9B70 */ addiu $t7, %lo(sfx_related) # addiu $t7, $t7, -0x6490 -/* 069480 7F034950 000E70C0 */ sll $t6, $t6, 3 -/* 069484 7F034954 01CF1821 */ addu $v1, $t6, $t7 -/* 069488 7F034958 8C650000 */ lw $a1, ($v1) -/* 06948C 7F03495C 10A00007 */ beqz $a1, .L7F03497C -/* 069490 7F034960 00A02025 */ move $a0, $a1 -/* 069494 7F034964 AFA30018 */ sw $v1, 0x18($sp) -/* 069498 7F034968 0C00237C */ jal sfxGetArg0Unk3F -/* 06949C 7F03496C AFA0001C */ sw $zero, 0x1c($sp) -/* 0694A0 7F034970 8FA30018 */ lw $v1, 0x18($sp) -/* 0694A4 7F034974 14400009 */ bnez $v0, .L7F03499C -/* 0694A8 7F034978 8FA6001C */ lw $a2, 0x1c($sp) -.L7F03497C: -/* 0694AC 7F03497C 24027FFF */ li $v0, 32767 -/* 0694B0 7F034980 2418FFFF */ li $t8, -1 -/* 0694B4 7F034984 00603025 */ move $a2, $v1 -/* 0694B8 7F034988 AC62000C */ sw $v0, 0xc($v1) -/* 0694BC 7F03498C AC620004 */ sw $v0, 4($v1) -/* 0694C0 7F034990 AC780008 */ sw $t8, 8($v1) -/* 0694C4 7F034994 AC600010 */ sw $zero, 0x10($v1) -/* 0694C8 7F034998 AC600014 */ sw $zero, 0x14($v1) -.L7F03499C: -/* 0694CC 7F03499C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0694D0 7F0349A0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0694D4 7F0349A4 0C002382 */ jal play_sfx_a1 -/* 0694D8 7F0349A8 87A50026 */ lh $a1, 0x26($sp) -/* 0694DC 7F0349AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0694E0 7F0349B0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0694E4 7F0349B4 03E00008 */ jr $ra -/* 0694E8 7F0349B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0349BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0349BC -/* 0694EC 7F0349BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0694F0 7F0349C0 0480000A */ bltz $a0, .L7F0349EC -/* 0694F4 7F0349C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0694F8 7F0349C8 28810008 */ slti $at, $a0, 8 -/* 0694FC 7F0349CC 10200007 */ beqz $at, .L7F0349EC -/* 069500 7F0349D0 00047080 */ sll $t6, $a0, 2 -/* 069504 7F0349D4 01C47023 */ subu $t6, $t6, $a0 -/* 069508 7F0349D8 000E70C0 */ sll $t6, $t6, 3 -/* 06950C 7F0349DC 3C048007 */ lui $a0, %hi(sfx_related) -/* 069510 7F0349E0 008E2021 */ addu $a0, $a0, $t6 -/* 069514 7F0349E4 0C002408 */ jal sfxDeactivate -/* 069518 7F0349E8 8C849B70 */ lw $a0, %lo(sfx_related)($a0) -.L7F0349EC: -/* 06951C 7F0349EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 069520 7F0349F0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 069524 7F0349F4 03E00008 */ jr $ra -/* 069528 7F0349F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -/* - -* Trev's Original Assumption - - -enum ActionCommands -{ - GotoLabel, - GotoLabelFromTop, - Label, - Yield, - End, - JAL, - -}; -u8 get_length_of_action_block(CurrentActionByte) { - enum ActionCommands Action = byte(CurrentActionByte) - switch(Action) - { - case GotoLabel: - return 2; - case GotoLabelFromTop: - return 2; - ... - case 252: - return 1; - default: - return 1; - } -} -*/ - -/* -* With New macro commands -- SUGESTION: Prefix all AI commands with AI -*/ -u8 get_length_of_action_block(u8 *CurrentActionByte) -{ - switch (CurrentActionByte) - { - case goto_next_ID: - return goto_next_LENGTH; - case goto_first_ID: - return goto_first_LENGTH; - case label_ID: - return label_LENGTH; - case ai_sleep_ID: - return ai_sleep_LENGTH; - case ai_list_end_ID: - return ai_list_end_LENGTH; - case jump_to_ai_list_ID: - return jump_to_ai_list_LENGTH; - case set_return_ai_list_ID: - return set_return_ai_list_LENGTH; - case jump_to_return_ai_list_ID: - return jump_to_return_ai_list_LENGTH; - case guard_animation_stop_ID: - return guard_animation_stop_LENGTH; - case guard_kneel_ID: - return guard_kneel_LENGTH; - case guard_play_animation_ID: - return guard_play_animation_LENGTH; - case if_guard_playing_animation_ID: - return if_guard_playing_animation_LENGTH; - case guard_points_at_bond_ID: - return guard_points_at_bond_LENGTH; - case guard_looks_around_self_ID: - return guard_looks_around_self_LENGTH; - case guard_try_sidestepping_ID: - return guard_try_sidestepping_LENGTH; - case guard_try_hopping_sideways_ID: - return guard_try_hopping_sideways_LENGTH; - case guard_try_running_to_side_ID: - return guard_try_running_to_side_LENGTH; - case guard_try_firing_walk_ID: - return guard_try_firing_walk_LENGTH; - case guard_try_firing_run_ID: - return guard_try_firing_run_LENGTH; - case guard_try_firing_roll_ID: - return guard_try_firing_roll_LENGTH; - case guard_try_fire_or_aim_at_target_ID: - return guard_try_fire_or_aim_at_target_LENGTH; - case guard_try_fire_or_aim_at_target_kneel_ID: - return guard_try_fire_or_aim_at_target_kneel_LENGTH; - case guard_try_fire_or_aim_at_target_update_ID: - return guard_try_fire_or_aim_at_target_update_LENGTH; - case guard_try_facing_target_ID: - return guard_try_facing_target_LENGTH; - case chr_hit_body_part_with_item_damage_ID: - return chr_hit_body_part_with_item_damage_LENGTH; - case chr_hit_chr_body_part_with_held_item_ID: - return chr_hit_chr_body_part_with_held_item_LENGTH; - case guard_try_throwing_grenade_ID: - return guard_try_throwing_grenade_LENGTH; - case guard_try_dropping_item_ID: - return guard_try_dropping_item_LENGTH; - case guard_runs_to_pad_ID: - return guard_runs_to_pad_LENGTH; - case guard_runs_to_padpreset_ID: - return guard_runs_to_padpreset_LENGTH; - case guard_walks_to_pad_ID: - return guard_walks_to_pad_LENGTH; - case guard_sprints_to_pad_ID: - return guard_sprints_to_pad_LENGTH; - case guard_start_patrol_ID: - return guard_start_patrol_LENGTH; - case guard_surrenders_ID: - return guard_surrenders_LENGTH; - case guard_remove_fade_ID: - return guard_remove_fade_LENGTH; - case chr_remove_instant_ID: - return chr_remove_instant_LENGTH; - case guard_try_triggering_alarm_at_pad_ID: - return guard_try_triggering_alarm_at_pad_LENGTH; - case alarm_on_ID: - return alarm_on_LENGTH; - case alarm_off_ID: - return alarm_off_LENGTH; - case removed_command27_ID: - return removed_command27_LENGTH; - case guard_try_running_to_bond_position_ID: - return guard_try_running_to_bond_position_LENGTH; - case guard_try_walking_to_bond_position_ID: - return guard_try_walking_to_bond_position_LENGTH; - case guard_try_sprinting_to_bond_position_ID: - return guard_try_sprinting_to_bond_position_LENGTH; - case removed_command2B_ID: - return removed_command2B_LENGTH; - case guard_try_running_to_chr_position_ID: - return guard_try_running_to_chr_position_LENGTH; - case guard_try_walking_to_chr_position_ID: - return guard_try_walking_to_chr_position_LENGTH; - case guard_try_sprinting_to_chr_position_ID: - return guard_try_sprinting_to_chr_position_LENGTH; - case if_guard_has_stopped_moving_ID: - return if_guard_has_stopped_moving_LENGTH; - case if_chr_dying_or_dead_ID: - return if_chr_dying_or_dead_LENGTH; - case if_chr_does_not_exist_ID: - return if_chr_does_not_exist_LENGTH; - case if_guard_sees_bond_ID: - return if_guard_sees_bond_LENGTH; - case random_generate_ID: - return random_generate_LENGTH; - case if_random_seed_less_than_ID: - return if_random_seed_less_than_LENGTH; - case if_random_seed_greater_than_ID: - return if_random_seed_greater_than_LENGTH; - case if_alarm_is_on_unused_ID: - return if_alarm_is_on_unused_LENGTH; - case if_alarm_is_on_ID: - return if_alarm_is_on_LENGTH; - case if_gas_is_leaking_ID: - return if_gas_is_leaking_LENGTH; - case if_guard_heard_bond_ID: - return if_guard_heard_bond_LENGTH; - case if_guard_see_another_guard_shot_ID: - return if_guard_see_another_guard_shot_LENGTH; - case if_guard_see_another_guard_die_ID: - return if_guard_see_another_guard_die_LENGTH; - case if_guard_and_bond_within_line_of_sight_ID: - return if_guard_and_bond_within_line_of_sight_LENGTH; - case if_guard_and_bond_within_partial_line_of_sight_ID: - return if_guard_and_bond_within_partial_line_of_sight_LENGTH; - case if_guard_was_shot_within_last_10_secs_ID: - return if_guard_was_shot_within_last_10_secs_LENGTH; - case if_guard_heard_bond_within_last_10_secs_ID: - return if_guard_heard_bond_within_last_10_secs_LENGTH; - case if_guard_in_room_with_chr_ID: - return if_guard_in_room_with_chr_LENGTH; - case if_guard_is_on_screen_ID: - return if_guard_is_on_screen_LENGTH; - case if_guard_has_not_been_seen_ID: - return if_guard_has_not_been_seen_LENGTH; - case if_guard_room_containing_self_is_on_screen_ID: - return if_guard_room_containing_self_is_on_screen_LENGTH; - case if_room_containing_pad_is_on_screen_ID: - return if_room_containing_pad_is_on_screen_LENGTH; - case if_guard_is_targeted_by_bond_ID: - return if_guard_is_targeted_by_bond_LENGTH; - case if_guard_shot_from_bond_missed_ID: - return if_guard_shot_from_bond_missed_LENGTH; - case if_guard_counter_clockwise_direction_to_bond_less_than_ID: - return if_guard_counter_clockwise_direction_to_bond_less_than_LENGTH; - case if_guard_counter_clockwise_direction_to_bond_greater_than_ID: - return if_guard_counter_clockwise_direction_to_bond_greater_than_LENGTH; - case if_guard_counter_clockwise_direction_from_bond_less_than_ID: - return if_guard_counter_clockwise_direction_from_bond_less_than_LENGTH; - case if_guard_counter_clockwise_direction_from_bond_greater_than_ID: - return if_guard_counter_clockwise_direction_from_bond_greater_than_LENGTH; - case if_guard_distance_to_bond_less_than_ID: - return if_guard_distance_to_bond_less_than_LENGTH; - case if_guard_distance_to_bond_greater_than_ID: - return if_guard_distance_to_bond_greater_than_LENGTH; - case if_chr_distance_to_pad_less_than_ID: - return if_chr_distance_to_pad_less_than_LENGTH; - case if_chr_distance_to_pad_greater_than_ID: - return if_chr_distance_to_pad_greater_than_LENGTH; - case if_guard_distance_to_chr_less_than_ID: - return if_guard_distance_to_chr_less_than_LENGTH; - case if_guard_distance_to_chr_greater_than_ID: - return if_guard_distance_to_chr_greater_than_LENGTH; - case guard_try_setting_chr_preset_to_guard_within_distance_ID: - return guard_try_setting_chr_preset_to_guard_within_distance_LENGTH; - case if_bond_distance_to_pad_less_than_ID: - return if_bond_distance_to_pad_less_than_LENGTH; - case if_bond_distance_to_pad_greater_than_ID: - return if_bond_distance_to_pad_greater_than_LENGTH; - case if_chr_in_room_with_pad_ID: - return if_chr_in_room_with_pad_LENGTH; - case if_bond_in_room_with_pad_ID: - return if_bond_in_room_with_pad_LENGTH; - case if_bond_collected_object_ID: - return if_bond_collected_object_LENGTH; - case if_item_is_stationary_within_level_ID: - return if_item_is_stationary_within_level_LENGTH; - case if_item_is_attached_to_object_ID: - return if_item_is_attached_to_object_LENGTH; - case if_bond_has_item_equipped_ID: - return if_bond_has_item_equipped_LENGTH; - case if_object_exists_ID: - return if_object_exists_LENGTH; - case if_object_not_destroyed_ID: - return if_object_not_destroyed_LENGTH; - case if_object_was_activated_ID: - return if_object_was_activated_LENGTH; - case if_bond_used_gadget_on_object_ID: - return if_bond_used_gadget_on_object_LENGTH; - case object_activate_ID: - return object_activate_LENGTH; - case object_destroy_ID: - return object_destroy_LENGTH; - case object_detach_from_chr_ID: - return object_detach_from_chr_LENGTH; - case chr_drop_all_concealed_items_ID: - return chr_drop_all_concealed_items_LENGTH; - case chr_drop_all_held_items_ID: - return chr_drop_all_held_items_LENGTH; - case bond_collect_object_ID: - return bond_collect_object_LENGTH; - case chr_equip_object_ID: - return chr_equip_object_LENGTH; - case object_move_to_pad_ID: - return object_move_to_pad_LENGTH; - case door_open_ID: - return door_open_LENGTH; - case door_close_ID: - return door_close_LENGTH; - case if_door_state_equal_ID: - return if_door_state_equal_LENGTH; - case if_door_has_been_opened_before_ID: - return if_door_has_been_opened_before_LENGTH; - case door_set_lock_ID: - return door_set_lock_LENGTH; - case door_unset_lock_ID: - return door_unset_lock_LENGTH; - case if_door_lock_equal_ID: - return if_door_lock_equal_LENGTH; - case if_objective_num_complete_ID: - return if_objective_num_complete_LENGTH; - case if_game_difficulty_less_than_ID: - return if_game_difficulty_less_than_LENGTH; - case if_game_difficulty_greater_than_ID: - return if_game_difficulty_greater_than_LENGTH; - case if_mission_time_less_than_ID: - return if_mission_time_less_than_LENGTH; - case if_mission_time_greater_than_ID: - return if_mission_time_greater_than_LENGTH; - case if_system_power_time_less_than_ID: - return if_system_power_time_less_than_LENGTH; - case if_system_power_time_greater_than_ID: - return if_system_power_time_greater_than_LENGTH; - case if_level_id_less_than_ID: - return if_level_id_less_than_LENGTH; - case if_level_id_greater_than_ID: - return if_level_id_greater_than_LENGTH; - case if_guard_hits_less_than_ID: - return if_guard_hits_less_than_LENGTH; - case if_guard_hits_greater_than_ID: - return if_guard_hits_greater_than_LENGTH; - case if_guard_hits_missed_less_than_ID: - return if_guard_hits_missed_less_than_LENGTH; - case if_guard_hits_missed_greater_than_ID: - return if_guard_hits_missed_greater_than_LENGTH; - case if_chr_health_less_than_ID: - return if_chr_health_less_than_LENGTH; - case if_chr_health_greater_than_ID: - return if_chr_health_greater_than_LENGTH; - case if_chr_was_damaged_since_last_check_ID: - return if_chr_was_damaged_since_last_check_LENGTH; - case if_bond_health_less_than_ID: - return if_bond_health_less_than_LENGTH; - case if_bond_health_greater_than_ID: - return if_bond_health_greater_than_LENGTH; - case local_byte_1_set_ID: - return local_byte_1_set_LENGTH; - case local_byte_1_add_ID: - return local_byte_1_add_LENGTH; - case local_byte_1_subtract_ID: - return local_byte_1_subtract_LENGTH; - case if_local_byte_1_less_than_ID: - return if_local_byte_1_less_than_LENGTH; - case if_local_byte_1_less_than_random_seed_ID: - return if_local_byte_1_less_than_random_seed_LENGTH; - case local_byte_2_set_ID: - return local_byte_2_set_LENGTH; - case local_byte_2_add_ID: - return local_byte_2_add_LENGTH; - case local_byte_2_subtract_ID: - return local_byte_2_subtract_LENGTH; - case if_local_byte_2_less_than_ID: - return if_local_byte_2_less_than_LENGTH; - case if_local_byte_2_less_than_random_seed_ID: - return if_local_byte_2_less_than_random_seed_LENGTH; - case guard_set_hearing_scale_ID: - return guard_set_hearing_scale_LENGTH; - case guard_set_vision_range_ID: - return guard_set_vision_range_LENGTH; - case guard_set_grenade_probability_ID: - return guard_set_grenade_probability_LENGTH; - case guard_set_chr_num_ID: - return guard_set_chr_num_LENGTH; - case guard_set_health_total_ID: - return guard_set_health_total_LENGTH; - case guard_set_armour_ID: - return guard_set_armour_LENGTH; - case guard_set_speed_rating_ID: - return guard_set_speed_rating_LENGTH; - case guard_set_argh_rating_ID: - return guard_set_argh_rating_LENGTH; - case guard_set_accuracy_rating_ID: - return guard_set_accuracy_rating_LENGTH; - case guard_bitfield_set_on_ID: - return guard_bitfield_set_on_LENGTH; - case guard_bitfield_set_off_ID: - return guard_bitfield_set_off_LENGTH; - case if_guard_bitfield_is_set_on_ID: - return if_guard_bitfield_is_set_on_LENGTH; - case chr_bitfield_set_on_ID: - return chr_bitfield_set_on_LENGTH; - case chr_bitfield_set_off_ID: - return chr_bitfield_set_off_LENGTH; - case if_chr_bitfield_is_set_on_ID: - return if_chr_bitfield_is_set_on_LENGTH; - case guard_flags_set_on_ID: - return guard_flags_set_on_LENGTH; - case guard_flags_set_off_ID: - return guard_flags_set_off_LENGTH; - case if_guard_flags_is_set_on_ID: - return if_guard_flags_is_set_on_LENGTH; - case chr_flags_set_on_ID: - return chr_flags_set_on_LENGTH; - case chr_flags_set_off_ID: - return chr_flags_set_off_LENGTH; - case if_chr_flags_is_set_on_ID: - return if_chr_flags_is_set_on_LENGTH; - case object_flags_1_set_on_ID: - return object_flags_1_set_on_LENGTH; - case object_flags_1_set_off_ID: - return object_flags_1_set_off_LENGTH; - case if_object_flags_1_is_set_on_ID: - return if_object_flags_1_is_set_on_LENGTH; - case object_flags_2_set_on_ID: - return object_flags_2_set_on_LENGTH; - case object_flags_2_set_off_ID: - return object_flags_2_set_off_LENGTH; - case if_object_flags_2_is_set_on_ID: - return if_object_flags_2_is_set_on_LENGTH; - case guard_set_chr_preset_ID: - return guard_set_chr_preset_LENGTH; - case chr_set_chr_preset_ID: - return chr_set_chr_preset_LENGTH; - case guard_set_pad_preset_ID: - return guard_set_pad_preset_LENGTH; - case chr_set_pad_preset_ID: - return chr_set_pad_preset_LENGTH; - case debug_log_ID: - for (int i = 0; currentaction[i] < debug_log_LENGTH; i++) - { - if (currentaction[i] == debug_log_end) - return i; - } - return debug_log_LENGTH; - case local_timer_reset_start_ID: - return local_timer_reset_start_LENGTH; - case local_timer_reset_ID: - return local_timer_reset_LENGTH; - case local_timer_stop_ID: - return local_timer_stop_LENGTH; - case local_timer_start_ID: - return local_timer_start_LENGTH; - case if_local_timer_has_stopped_ID: - return if_local_timer_has_stopped_LENGTH; - case if_local_timer_less_than_ID: - return if_local_timer_less_than_LENGTH; - case if_local_timer_greater_than_ID: - return if_local_timer_greater_than_LENGTH; - case hud_countdown_show_ID: - return hud_countdown_show_LENGTH; - case hud_countdown_hide_ID: - return hud_countdown_hide_LENGTH; - case hud_countdown_set_ID: - return hud_countdown_set_LENGTH; - case hud_countdown_stop_ID: - return hud_countdown_stop_LENGTH; - case hud_countdown_start_ID: - return hud_countdown_start_LENGTH; - case if_hud_countdown_has_stopped_ID: - return if_hud_countdown_has_stopped_LENGTH; - case if_hud_countdown_less_than_ID: - return if_hud_countdown_less_than_LENGTH; - case if_hud_countdown_greater_than_ID: - return if_hud_countdown_greater_than_LENGTH; - case chr_try_spawning_at_pad_ID: - return chr_try_spawning_at_pad_LENGTH; - case chr_try_spawning_next_to_unseen_chr_ID: - return chr_try_spawning_next_to_unseen_chr_LENGTH; - case guard_try_spawning_item_ID: - return guard_try_spawning_item_LENGTH; - case guard_try_spawning_hat_ID: - return guard_try_spawning_hat_LENGTH; - case chr_try_spawning_clone_ID: - return chr_try_spawning_clone_LENGTH; - case text_print_bottom_ID: - return text_print_bottom_LENGTH; - case text_print_top_ID: - return text_print_top_LENGTH; - case sfx_play_ID: - return sfx_play_LENGTH; - case sfx_emit_from_object_ID: - return sfx_emit_from_object_LENGTH; - case sfx_emit_from_pad_ID: - return sfx_emit_from_pad_LENGTH; - case sfx_set_channel_volume_ID: - return sfx_set_channel_volume_LENGTH; - case sfx_fade_channel_volume_ID: - return sfx_fade_channel_volume_LENGTH; - case sfx_stop_channel_ID: - return sfx_stop_channel_LENGTH; - case if_sfx_channel_volume_less_than_ID: - return if_sfx_channel_volume_less_than_LENGTH; - case vehicle_start_path_ID: - return vehicle_start_path_LENGTH; - case vehicle_speed_ID: - return vehicle_speed_LENGTH; - case aircraft_rotor_speed_ID: - return aircraft_rotor_speed_LENGTH; - case if_camera_is_in_intro_ID: - return if_camera_is_in_intro_LENGTH; - case if_camera_is_in_bond_swirl_ID: - return if_camera_is_in_bond_swirl_LENGTH; - case tv_change_screen_bank_ID: - return tv_change_screen_bank_LENGTH; - case if_bond_in_tank_ID: - return if_bond_in_tank_LENGTH; - case exit_level_ID: - return exit_level_LENGTH; - case camera_return_to_bond_ID: - return camera_return_to_bond_LENGTH; - case camera_look_at_bond_from_pad_ID: - return camera_look_at_bond_from_pad_LENGTH; - case camera_switch_ID: - return camera_switch_LENGTH; - case if_bond_y_pos_less_than_ID: - return if_bond_y_pos_less_than_LENGTH; - case hud_hide_and_lock_controls_ID: - return hud_hide_and_lock_controls_LENGTH; - case hud_show_all_ID: - return hud_show_all_LENGTH; - case chr_try_teleporting_to_pad_ID: - return chr_try_teleporting_to_pad_LENGTH; - case screen_fade_to_black_ID: - return screen_fade_to_black_LENGTH; - case screen_fade_from_black_ID: - return screen_fade_from_black_LENGTH; - case if_screen_fade_completed_ID: - return if_screen_fade_completed_LENGTH; - case chr_hide_all_ID: - return chr_hide_all_LENGTH; - case chr_show_all_ID: - return chr_show_all_LENGTH; - case door_open_instant_ID: - return door_open_instant_LENGTH; - case chr_remove_item_in_hand_ID: - return chr_remove_item_in_hand_LENGTH; - case if_number_of_active_players_less_than_ID: - return if_number_of_active_players_less_than_LENGTH; - case if_bond_item_total_ammo_less_than_ID: - return if_bond_item_total_ammo_less_than_LENGTH; - case bond_equip_item_ID: - return bond_equip_item_LENGTH; - case bond_equip_item_cinema_ID: - return bond_equip_item_cinema_LENGTH; - case bond_set_locked_velocity_ID: - return bond_set_locked_velocity_LENGTH; - case if_object_in_room_with_pad_ID: - return if_object_in_room_with_pad_LENGTH; - case if_guard_is_firing_and_unknown_flag_ID: - return if_guard_is_firing_and_unknown_flag_LENGTH; - case if_guard_is_firing_ID: - return if_guard_is_firing_LENGTH; - case gas_leak_and_switch_fog_ID: - return gas_leak_and_switch_fog_LENGTH; - case mission_time_stop_and_exit_level_on_button_input_ID: - return mission_time_stop_and_exit_level_on_button_input_LENGTH; - case if_bond_is_dead_ID: - return if_bond_is_dead_LENGTH; - case bond_disable_damage_and_pickups_ID: - return bond_disable_damage_and_pickups_LENGTH; - case bond_hide_weapons_ID: - return bond_hide_weapons_LENGTH; - case camera_orbit_pad_ID: - return camera_orbit_pad_LENGTH; - case credits_roll_ID: - return credits_roll_LENGTH; - case if_credits_has_completed_ID: - return if_credits_has_completed_LENGTH; - case if_objective_all_completed_ID: - return if_objective_all_completed_LENGTH; - case if_folder_actor_is_equal_ID: - return if_folder_actor_is_equal_LENGTH; - case if_bond_damage_and_pickups_disabled_ID: - return if_bond_damage_and_pickups_disabled_LENGTH; - case music_xtrack_play_ID: - return music_xtrack_play_LENGTH; - case music_xtrack_stop_ID: - return music_xtrack_stop_LENGTH; - case trigger_explosions_around_bond_ID: - return trigger_explosions_around_bond_LENGTH; - case if_killed_civilians_greater_than_ID: - return if_killed_civilians_greater_than_LENGTH; - case if_chr_was_shot_since_last_check_ID: - return if_chr_was_shot_since_last_check_LENGTH; - case bond_killed_in_action_ID: - return bond_killed_in_action_LENGTH; - case guard_raises_arms_ID: - return guard_raises_arms_LENGTH; - case gas_leak_and_fade_fog_ID: - return gas_leak_and_fade_fog_LENGTH; - case object_rocket_launch_ID: - return object_rocket_launch_LENGTH; - - default: - return 1; - } -} -#else -GLOBAL_ASM( -.late_rodata -/*80052100*/ -glabel jpt_actionblock_lengths -.word action00_length -.word action01_length -.word locret_CODE_7F034A34 -.word locret_CODE_7F034A3C -.word locret_CODE_7F034A44 -.word locret_CODE_7F034A4C -.word locret_CODE_7F034A54 -.word locret_CODE_7F034A5C -.word locret_CODE_7F034A64 -.word locret_CODE_7F034A6C -.word locret_CODE_7F034A74 -.word locret_CODE_7F034A7C -.word locret_CODE_7F034A84 -.word locret_CODE_7F034A8C -.word locret_CODE_7F034A94 -.word locret_CODE_7F034A9C -.word locret_CODE_7F034AA4 -.word locret_CODE_7F034AAC -.word locret_CODE_7F034AB4 -.word locret_CODE_7F034ABC -.word locret_CODE_7F034AC4 -.word locret_CODE_7F034ACC -.word locret_CODE_7F034AE4 -.word locret_CODE_7F034AEC -.word locret_CODE_7F034AF4 -.word locret_CODE_7F034AFC -.word locret_CODE_7F034B04 -.word locret_CODE_7F034B0C -.word locret_CODE_7F034B14 -.word locret_CODE_7F034B1C -.word locret_CODE_7F034B24 -.word locret_CODE_7F034B2C -.word locret_CODE_7F034B34 -.word locret_CODE_7F034B3C -.word locret_CODE_7F034B44 -.word locret_CODE_7F034B4C -.word locret_CODE_7F034B54 -.word locret_CODE_7F034B5C -.word locret_CODE_7F034B64 -.word locret_CODE_7F034B6C -.word locret_CODE_7F034B74 -.word locret_CODE_7F034B7C -.word locret_CODE_7F034B84 -.word locret_CODE_7F034B8C -.word locret_CODE_7F034B94 -.word locret_CODE_7F034B9C -.word locret_CODE_7F034BA4 -.word locret_CODE_7F034BAC -.word locret_CODE_7F034BB4 -.word locret_CODE_7F034BBC -.word locret_CODE_7F034BC4 -.word locret_CODE_7F034BCC -.word locret_CODE_7F034BD4 -.word locret_CODE_7F034BDC -.word locret_CODE_7F034BE4 -.word locret_CODE_7F034BEC -.word locret_CODE_7F034BF4 -.word locret_CODE_7F034BFC -.word locret_CODE_7F034C04 -.word locret_CODE_7F034C0C -.word locret_CODE_7F034C14 -.word locret_CODE_7F034C1C -.word locret_CODE_7F034C24 -.word locret_CODE_7F034C2C -.word locret_CODE_7F034C34 -.word locret_CODE_7F034C3C -.word locret_CODE_7F034C44 -.word locret_CODE_7F034C4C -.word locret_CODE_7F034C54 -.word locret_CODE_7F034C5C -.word locret_CODE_7F034C64 -.word locret_CODE_7F034C6C -.word locret_CODE_7F034C74 -.word locret_CODE_7F034C7C -.word locret_CODE_7F034C84 -.word locret_CODE_7F034C8C -.word locret_CODE_7F034C94 -.word locret_CODE_7F034C9C -.word locret_CODE_7F034CA4 -.word locret_CODE_7F034CAC -.word locret_CODE_7F034CB4 -.word locret_CODE_7F034CBC -.word locret_CODE_7F034CC4 -.word locret_CODE_7F034CCC -.word locret_CODE_7F034CD4 -.word locret_CODE_7F034CDC -.word locret_CODE_7F034CE4 -.word locret_CODE_7F034CEC -.word locret_CODE_7F034CF4 -.word locret_CODE_7F034CFC -.word locret_CODE_7F034D04 -.word locret_CODE_7F034D0C -.word locret_CODE_7F034D14 -.word locret_CODE_7F034D1C -.word locret_CODE_7F034D24 -.word locret_CODE_7F034D2C -.word locret_CODE_7F034D34 -.word locret_CODE_7F034D3C -.word locret_CODE_7F034D44 -.word locret_CODE_7F034D4C -.word locret_CODE_7F034D54 -.word locret_CODE_7F034D5C -.word locret_CODE_7F034D64 -.word locret_CODE_7F034D6C -.word locret_CODE_7F034D74 -.word locret_CODE_7F034D7C -.word locret_CODE_7F034D84 -.word locret_CODE_7F034D8C -.word locret_CODE_7F034D94 -.word locret_CODE_7F034D9C -.word locret_CODE_7F034DA4 -.word locret_CODE_7F034DAC -.word locret_CODE_7F034DB4 -.word locret_CODE_7F034DBC -.word locret_CODE_7F034DC4 -.word locret_CODE_7F034DCC -.word locret_CODE_7F034DD4 -.word locret_CODE_7F034DDC -.word locret_CODE_7F034DE4 -.word locret_CODE_7F034DEC -.word locret_CODE_7F034DF4 -.word locret_CODE_7F034DFC -.word locret_CODE_7F034E04 -.word locret_CODE_7F034E0C -.word locret_CODE_7F034E14 -.word locret_CODE_7F034E1C -.word locret_CODE_7F034E24 -.word locret_CODE_7F034E2C -.word locret_CODE_7F034E34 -.word locret_CODE_7F034E3C -.word locret_CODE_7F034E44 -.word locret_CODE_7F034E4C -.word locret_CODE_7F034E54 -.word locret_CODE_7F034E5C -.word locret_CODE_7F034E64 -.word locret_CODE_7F034E6C -.word locret_CODE_7F034E74 -.word locret_CODE_7F034E7C -.word locret_CODE_7F034E84 -.word locret_CODE_7F034E8C -.word locret_CODE_7F034E94 -.word locret_CODE_7F034E9C -.word locret_CODE_7F034EA4 -.word locret_CODE_7F034EAC -.word locret_CODE_7F034EB4 -.word locret_CODE_7F034EBC -.word locret_CODE_7F034EC4 -.word locret_CODE_7F034ECC -.word locret_CODE_7F034ED4 -.word locret_CODE_7F034EDC -.word locret_CODE_7F034EE4 -.word locret_CODE_7F034EEC -.word locret_CODE_7F034EF4 -.word locret_CODE_7F034EFC -.word locret_CODE_7F034F04 -.word locret_CODE_7F034F0C -.word locret_CODE_7F034F14 -.word locret_CODE_7F034F1C -.word locret_CODE_7F034F24 -.word locret_CODE_7F034F2C -.word locret_CODE_7F034F34 -.word locret_CODE_7F034F3C -.word locret_CODE_7F034F44 -.word locret_CODE_7F034F4C -.word locret_CODE_7F034F54 -.word locret_CODE_7F034F5C -.word locret_CODE_7F034F64 -.word locret_CODE_7F034F6C -.word locret_CODE_7F034F74 -.word locret_CODE_7F034F7C -.word locret_CODE_7F034F84 -.word locret_CODE_7F034F8C -.word locret_CODE_7F034F94 -.word actionAD_length -/*HACK FIXME */ -/*.word locret_CODE_7F034F9C*/ -/*.word locret_CODE_7F034FA4*/ -/*.word locret_CODE_7F034FAC*/ -/*.word locret_CODE_7F034FB4*/ -/*.word locret_CODE_7F034FBC*/ -/*.word locret_CODE_7F034FC4*/ -/*.word locret_CODE_7F034FCC*/ -/*.word locret_CODE_7F034FD4*/ -/*.word locret_CODE_7F034FDC*/ -/*.word locret_CODE_7F034FE4*/ -/*.word locret_CODE_7F034FEC*/ -/*.word locret_CODE_7F034FF4*/ -/*.word locret_CODE_7F034FFC*/ -/*.word locret_CODE_7F035004*/ -/*.word locret_CODE_7F03500C*/ -/*.word locret_CODE_7F035014*/ -/*.word locret_CODE_7F03501C*/ -/*.word locret_CODE_7F035024*/ -/*.word locret_CODE_7F03502C*/ -/*.word locret_CODE_7F035034*/ -/*.word locret_CODE_7F03503C*/ -/*.word locret_CODE_7F035044*/ -/*.word locret_CODE_7F03504C*/ -/*.word locret_CODE_7F035054*/ -/*.word locret_CODE_7F03505C*/ -/*.word locret_CODE_7F035064*/ -/*.word locret_CODE_7F03506C*/ -/*.word locret_CODE_7F035074*/ -/*.word locret_CODE_7F03507C*/ -/*.word locret_CODE_7F035084*/ -/*.word locret_CODE_7F03508C*/ -/*.word locret_CODE_7F035094*/ -/*.word locret_CODE_7F03509C*/ -/*.word locret_CODE_7F0350A4*/ -/*.word locret_CODE_7F0350AC*/ -/*.word locret_CODE_7F0350B4*/ -/*.word locret_CODE_7F0350BC*/ -/*.word locret_CODE_7F0350C4*/ -/*.word locret_CODE_7F0350CC*/ -/*.word locret_CODE_7F0350D4*/ -/*.word locret_CODE_7F0350DC*/ -/*.word locret_CODE_7F0350E4*/ -/*.word locret_CODE_7F0350EC*/ -/*.word locret_CODE_7F0350F4*/ -/*.word locret_CODE_7F0350FC*/ -/*.word locret_CODE_7F035104*/ -/*.word locret_CODE_7F03510C*/ -/*.word locret_CODE_7F035114*/ -/*.word locret_CODE_7F03511C*/ -/*.word locret_CODE_7F035124*/ -/*.word locret_CODE_7F03512C*/ -/*.word locret_CODE_7F035134*/ -/*.word locret_CODE_7F03513C*/ -/*.word locret_CODE_7F035144*/ -/*.word locret_CODE_7F03514C*/ -/*.word locret_CODE_7F035154*/ -/*.word locret_CODE_7F03515C*/ -/*.word locret_CODE_7F034ADC*/ -/*.word locret_CODE_7F034AD4*/ -/*.word locret_CODE_7F035164*/ -/*.word locret_CODE_7F03516C*/ -/*.word locret_CODE_7F035174*/ -/*.word locret_CODE_7F03517C*/ -/*.word locret_CODE_7F035184*/ -/*.word locret_CODE_7F03518C*/ -/*.word locret_CODE_7F035194*/ -/*.word locret_CODE_7F03519C*/ -/*.word locret_CODE_7F0351A4*/ -/*.word locret_CODE_7F0351AC*/ -/*.word locret_CODE_7F0351B4*/ -/*.word locret_CODE_7F0351BC*/ -/*.word locret_CODE_7F0351C4*/ -/*.word locret_CODE_7F0351CC*/ -/*.word locret_CODE_7F0351D4*/ -/*.word locret_CODE_7F0351DC*/ -/*.word locret_CODE_7F0351E4*/ -/*.word locret_CODE_7F0351EC*/ -/*.word locret_CODE_7F0351F4*/ -/*.word actionFC_length*/ -.text -glabel get_length_of_action_block #(CurrentActionByte) -/* 06952C 7F0349FC 00851021 */ addu $v0, $a0, $a1 #v0 = CurrentActionByte -/* 069530 7F034A00 904E0000 */ lbu $t6, ($v0) #t6= Action = byte(v0) -/* 069534 7F034A04 2DC100FD */ sltiu $at, $t6, 0xfd #if not Action less than AI_CMDS_TOTAL -/* 069538 7F034A08 1020020B */ beqz $at, ActionLengthSwitchElse # Action << 2 -/* 06953C 7F034A0C 000E7080 */ sll $t6, $t6, 2 # return 1 //goto ActionLengthSwitchElse -/* 069540 7F034A10 3C018005 */ lui $at, %hi(jpt_actionblock_lengths) #else -/* 069544 7F034A14 002E0821 */ addu $at, $at, $t6 # at = 8005 + t6 -/* 069548 7F034A18 8C2E2100 */ lw $t6, %lo(jpt_actionblock_lengths)($at) # Switch Action -/* 06954C 7F034A1C 01C00008 */ jr $t6 # jump to address held at 80052100+at = Select Case t6 -/* 069550 7F034A20 00000000 */ nop -action00_length: -/* 069554 7F034A24 03E00008 */ jr $ra -/* 069558 7F034A28 24020002 */ li $v0, 2 #return 2 -action01_length: -/* 06955C 7F034A2C 03E00008 */ jr $ra -/* 069560 7F034A30 24020002 */ li $v0, 2 -locret_CODE_7F034A34: -/* 069564 7F034A34 03E00008 */ jr $ra -/* 069568 7F034A38 24020002 */ li $v0, 2 -locret_CODE_7F034A3C: -/* 06956C 7F034A3C 03E00008 */ jr $ra -/* 069570 7F034A40 24020001 */ li $v0, 1 -locret_CODE_7F034A44: -/* 069574 7F034A44 03E00008 */ jr $ra -/* 069578 7F034A48 24020001 */ li $v0, 1 -locret_CODE_7F034A4C: -/* 06957C 7F034A4C 03E00008 */ jr $ra -/* 069580 7F034A50 24020004 */ li $v0, 4 -locret_CODE_7F034A54: -/* 069584 7F034A54 03E00008 */ jr $ra -/* 069588 7F034A58 24020003 */ li $v0, 3 -locret_CODE_7F034A5C: -/* 06958C 7F034A5C 03E00008 */ jr $ra -/* 069590 7F034A60 24020001 */ li $v0, 1 -locret_CODE_7F034A64: -/* 069594 7F034A64 03E00008 */ jr $ra -/* 069598 7F034A68 24020001 */ li $v0, 1 -locret_CODE_7F034A6C: -/* 06959C 7F034A6C 03E00008 */ jr $ra -/* 0695A0 7F034A70 24020001 */ li $v0, 1 -locret_CODE_7F034A74: -/* 0695A4 7F034A74 03E00008 */ jr $ra -/* 0695A8 7F034A78 24020009 */ li $v0, 9 -locret_CODE_7F034A7C: -/* 0695AC 7F034A7C 03E00008 */ jr $ra -/* 0695B0 7F034A80 24020002 */ li $v0, 2 -locret_CODE_7F034A84: -/* 0695B4 7F034A84 03E00008 */ jr $ra -/* 0695B8 7F034A88 24020001 */ li $v0, 1 -locret_CODE_7F034A8C: -/* 0695BC 7F034A8C 03E00008 */ jr $ra -/* 0695C0 7F034A90 24020001 */ li $v0, 1 -locret_CODE_7F034A94: -/* 0695C4 7F034A94 03E00008 */ jr $ra -/* 0695C8 7F034A98 24020002 */ li $v0, 2 -locret_CODE_7F034A9C: -/* 0695CC 7F034A9C 03E00008 */ jr $ra -/* 0695D0 7F034AA0 24020002 */ li $v0, 2 -locret_CODE_7F034AA4: -/* 0695D4 7F034AA4 03E00008 */ jr $ra -/* 0695D8 7F034AA8 24020002 */ li $v0, 2 -locret_CODE_7F034AAC: -/* 0695DC 7F034AAC 03E00008 */ jr $ra -/* 0695E0 7F034AB0 24020002 */ li $v0, 2 -locret_CODE_7F034AB4: -/* 0695E4 7F034AB4 03E00008 */ jr $ra -/* 0695E8 7F034AB8 24020002 */ li $v0, 2 -locret_CODE_7F034ABC: -/* 0695EC 7F034ABC 03E00008 */ jr $ra -/* 0695F0 7F034AC0 24020002 */ li $v0, 2 -locret_CODE_7F034AC4: -/* 0695F4 7F034AC4 03E00008 */ jr $ra -/* 0695F8 7F034AC8 24020006 */ li $v0, 6 -locret_CODE_7F034ACC: -/* 0695FC 7F034ACC 03E00008 */ jr $ra -/* 069600 7F034AD0 24020006 */ li $v0, 6 -locret_CODE_7F034AD4: -/* 069604 7F034AD4 03E00008 */ jr $ra -/* 069608 7F034AD8 24020002 */ li $v0, 2 -locret_CODE_7F034ADC: -/* 06960C 7F034ADC 03E00008 */ jr $ra -/* 069610 7F034AE0 24020002 */ li $v0, 2 -locret_CODE_7F034AE4: -/* 069614 7F034AE4 03E00008 */ jr $ra -/* 069618 7F034AE8 24020006 */ li $v0, 6 -locret_CODE_7F034AEC: -/* 06961C 7F034AEC 03E00008 */ jr $ra -/* 069620 7F034AF0 24020006 */ li $v0, 6 -locret_CODE_7F034AF4: -/* 069624 7F034AF4 03E00008 */ jr $ra -/* 069628 7F034AF8 24020004 */ li $v0, 4 -locret_CODE_7F034AFC: -/* 06962C 7F034AFC 03E00008 */ jr $ra -/* 069630 7F034B00 24020004 */ li $v0, 4 -locret_CODE_7F034B04: -/* 069634 7F034B04 03E00008 */ jr $ra -/* 069638 7F034B08 24020002 */ li $v0, 2 -locret_CODE_7F034B0C: -/* 06963C 7F034B0C 03E00008 */ jr $ra -/* 069640 7F034B10 24020005 */ li $v0, 5 -locret_CODE_7F034B14: -/* 069644 7F034B14 03E00008 */ jr $ra -/* 069648 7F034B18 24020003 */ li $v0, 3 -locret_CODE_7F034B1C: -/* 06964C 7F034B1C 03E00008 */ jr $ra -/* 069650 7F034B20 24020001 */ li $v0, 1 -locret_CODE_7F034B24: -/* 069654 7F034B24 03E00008 */ jr $ra -/* 069658 7F034B28 24020003 */ li $v0, 3 -locret_CODE_7F034B2C: -/* 06965C 7F034B2C 03E00008 */ jr $ra -/* 069660 7F034B30 24020003 */ li $v0, 3 -locret_CODE_7F034B34: -/* 069664 7F034B34 03E00008 */ jr $ra -/* 069668 7F034B38 24020002 */ li $v0, 2 -locret_CODE_7F034B3C: -/* 06966C 7F034B3C 03E00008 */ jr $ra -/* 069670 7F034B40 24020001 */ li $v0, 1 -locret_CODE_7F034B44: -/* 069674 7F034B44 03E00008 */ jr $ra -/* 069678 7F034B48 24020001 */ li $v0, 1 -locret_CODE_7F034B4C: -/* 06967C 7F034B4C 03E00008 */ jr $ra -/* 069680 7F034B50 24020002 */ li $v0, 2 -locret_CODE_7F034B54: -/* 069684 7F034B54 03E00008 */ jr $ra -/* 069688 7F034B58 24020004 */ li $v0, 4 -locret_CODE_7F034B5C: -/* 06968C 7F034B5C 03E00008 */ jr $ra -/* 069690 7F034B60 24020001 */ li $v0, 1 -locret_CODE_7F034B64: -/* 069694 7F034B64 03E00008 */ jr $ra -/* 069698 7F034B68 24020001 */ li $v0, 1 -locret_CODE_7F034B6C: -/* 06969C 7F034B6C 03E00008 */ jr $ra -/* 0696A0 7F034B70 24020002 */ li $v0, 2 -locret_CODE_7F034B74: -/* 0696A4 7F034B74 03E00008 */ jr $ra -/* 0696A8 7F034B78 24020002 */ li $v0, 2 -locret_CODE_7F034B7C: -/* 0696AC 7F034B7C 03E00008 */ jr $ra -/* 0696B0 7F034B80 24020002 */ li $v0, 2 -locret_CODE_7F034B84: -/* 0696B4 7F034B84 03E00008 */ jr $ra -/* 0696B8 7F034B88 24020002 */ li $v0, 2 -locret_CODE_7F034B8C: -/* 0696BC 7F034B8C 03E00008 */ jr $ra -/* 0696C0 7F034B90 24020002 */ li $v0, 2 -locret_CODE_7F034B94: -/* 0696C4 7F034B94 03E00008 */ jr $ra -/* 0696C8 7F034B98 24020003 */ li $v0, 3 -locret_CODE_7F034B9C: -/* 0696CC 7F034B9C 03E00008 */ jr $ra -/* 0696D0 7F034BA0 24020003 */ li $v0, 3 -locret_CODE_7F034BA4: -/* 0696D4 7F034BA4 03E00008 */ jr $ra -/* 0696D8 7F034BA8 24020003 */ li $v0, 3 -locret_CODE_7F034BAC: -/* 0696DC 7F034BAC 03E00008 */ jr $ra -/* 0696E0 7F034BB0 24020002 */ li $v0, 2 -locret_CODE_7F034BB4: -/* 0696E4 7F034BB4 03E00008 */ jr $ra -/* 0696E8 7F034BB8 24020003 */ li $v0, 3 -locret_CODE_7F034BBC: -/* 0696EC 7F034BBC 03E00008 */ jr $ra -/* 0696F0 7F034BC0 24020003 */ li $v0, 3 -locret_CODE_7F034BC4: -/* 0696F4 7F034BC4 03E00008 */ jr $ra -/* 0696F8 7F034BC8 24020002 */ li $v0, 2 -locret_CODE_7F034BCC: -/* 0696FC 7F034BCC 03E00008 */ jr $ra -/* 069700 7F034BD0 24020001 */ li $v0, 1 -locret_CODE_7F034BD4: -/* 069704 7F034BD4 03E00008 */ jr $ra -/* 069708 7F034BD8 24020003 */ li $v0, 3 -locret_CODE_7F034BDC: -/* 06970C 7F034BDC 03E00008 */ jr $ra -/* 069710 7F034BE0 24020003 */ li $v0, 3 -locret_CODE_7F034BE4: -/* 069714 7F034BE4 03E00008 */ jr $ra -/* 069718 7F034BE8 24020002 */ li $v0, 2 -locret_CODE_7F034BEC: -/* 06971C 7F034BEC 03E00008 */ jr $ra -/* 069720 7F034BF0 24020002 */ li $v0, 2 -locret_CODE_7F034BF4: -/* 069724 7F034BF4 03E00008 */ jr $ra -/* 069728 7F034BF8 24020002 */ li $v0, 2 -locret_CODE_7F034BFC: -/* 06972C 7F034BFC 03E00008 */ jr $ra -/* 069730 7F034C00 24020002 */ li $v0, 2 -locret_CODE_7F034C04: -/* 069734 7F034C04 03E00008 */ jr $ra -/* 069738 7F034C08 24020002 */ li $v0, 2 -locret_CODE_7F034C0C: -/* 06973C 7F034C0C 03E00008 */ jr $ra -/* 069740 7F034C10 24020002 */ li $v0, 2 -locret_CODE_7F034C14: -/* 069744 7F034C14 03E00008 */ jr $ra -/* 069748 7F034C18 24020002 */ li $v0, 2 -locret_CODE_7F034C1C: -/* 06974C 7F034C1C 03E00008 */ jr $ra -/* 069750 7F034C20 24020002 */ li $v0, 2 -locret_CODE_7F034C24: -/* 069754 7F034C24 03E00008 */ jr $ra -/* 069758 7F034C28 24020002 */ li $v0, 2 -locret_CODE_7F034C2C: -/* 06975C 7F034C2C 03E00008 */ jr $ra -/* 069760 7F034C30 24020002 */ li $v0, 2 -locret_CODE_7F034C34: -/* 069764 7F034C34 03E00008 */ jr $ra -/* 069768 7F034C38 24020003 */ li $v0, 3 -locret_CODE_7F034C3C: -/* 06976C 7F034C3C 03E00008 */ jr $ra -/* 069770 7F034C40 24020002 */ li $v0, 2 -locret_CODE_7F034C44: -/* 069774 7F034C44 03E00008 */ jr $ra -/* 069778 7F034C48 24020002 */ li $v0, 2 -locret_CODE_7F034C4C: -/* 06977C 7F034C4C 03E00008 */ jr $ra -/* 069780 7F034C50 24020002 */ li $v0, 2 -locret_CODE_7F034C54: -/* 069784 7F034C54 03E00008 */ jr $ra -/* 069788 7F034C58 24020004 */ li $v0, 4 -locret_CODE_7F034C5C: -/* 06978C 7F034C5C 03E00008 */ jr $ra -/* 069790 7F034C60 24020002 */ li $v0, 2 -locret_CODE_7F034C64: -/* 069794 7F034C64 03E00008 */ jr $ra -/* 069798 7F034C68 24020002 */ li $v0, 2 -locret_CODE_7F034C6C: -/* 06979C 7F034C6C 03E00008 */ jr $ra -/* 0697A0 7F034C70 24020003 */ li $v0, 3 -locret_CODE_7F034C74: -/* 0697A4 7F034C74 03E00008 */ jr $ra -/* 0697A8 7F034C78 24020003 */ li $v0, 3 -locret_CODE_7F034C7C: -/* 0697AC 7F034C7C 03E00008 */ jr $ra -/* 0697B0 7F034C80 24020003 */ li $v0, 3 -locret_CODE_7F034C84: -/* 0697B4 7F034C84 03E00008 */ jr $ra -/* 0697B8 7F034C88 24020003 */ li $v0, 3 -locret_CODE_7F034C8C: -/* 0697BC 7F034C8C 03E00008 */ jr $ra -/* 0697C0 7F034C90 24020004 */ li $v0, 4 -locret_CODE_7F034C94: -/* 0697C4 7F034C94 03E00008 */ jr $ra -/* 0697C8 7F034C98 24020004 */ li $v0, 4 -locret_CODE_7F034C9C: -/* 0697CC 7F034C9C 03E00008 */ jr $ra -/* 0697D0 7F034CA0 24020007 */ li $v0, 7 -locret_CODE_7F034CA4: -/* 0697D4 7F034CA4 03E00008 */ jr $ra -/* 0697D8 7F034CA8 24020007 */ li $v0, 7 -locret_CODE_7F034CAC: -/* 0697DC 7F034CAC 03E00008 */ jr $ra -/* 0697E0 7F034CB0 24020005 */ li $v0, 5 -locret_CODE_7F034CB4: -/* 0697E4 7F034CB4 03E00008 */ jr $ra -/* 0697E8 7F034CB8 24020005 */ li $v0, 5 -locret_CODE_7F034CBC: -/* 0697EC 7F034CBC 03E00008 */ jr $ra -/* 0697F0 7F034CC0 24020004 */ li $v0, 4 -locret_CODE_7F034CC4: -/* 0697F4 7F034CC4 03E00008 */ jr $ra -/* 0697F8 7F034CC8 24020006 */ li $v0, 6 -locret_CODE_7F034CCC: -/* 0697FC 7F034CCC 03E00008 */ jr $ra -/* 069800 7F034CD0 24020006 */ li $v0, 6 -locret_CODE_7F034CD4: -/* 069804 7F034CD4 03E00008 */ jr $ra -/* 069808 7F034CD8 24020005 */ li $v0, 5 -locret_CODE_7F034CDC: -/* 06980C 7F034CDC 03E00008 */ jr $ra -/* 069810 7F034CE0 24020004 */ li $v0, 4 -locret_CODE_7F034CE4: -/* 069814 7F034CE4 03E00008 */ jr $ra -/* 069818 7F034CE8 24020003 */ li $v0, 3 -locret_CODE_7F034CEC: -/* 06981C 7F034CEC 03E00008 */ jr $ra -/* 069820 7F034CF0 24020003 */ li $v0, 3 -locret_CODE_7F034CF4: -/* 069824 7F034CF4 03E00008 */ jr $ra -/* 069828 7F034CF8 24020004 */ li $v0, 4 -locret_CODE_7F034CFC: -/* 06982C 7F034CFC 03E00008 */ jr $ra -/* 069830 7F034D00 24020003 */ li $v0, 3 -locret_CODE_7F034D04: -/* 069834 7F034D04 03E00008 */ jr $ra -/* 069838 7F034D08 24020003 */ li $v0, 3 -locret_CODE_7F034D0C: -/* 06983C 7F034D0C 03E00008 */ jr $ra -/* 069840 7F034D10 24020003 */ li $v0, 3 -locret_CODE_7F034D14: -/* 069844 7F034D14 03E00008 */ jr $ra -/* 069848 7F034D18 24020003 */ li $v0, 3 -locret_CODE_7F034D1C: -/* 06984C 7F034D1C 03E00008 */ jr $ra -/* 069850 7F034D20 24020003 */ li $v0, 3 -locret_CODE_7F034D24: -/* 069854 7F034D24 03E00008 */ jr $ra -/* 069858 7F034D28 24020002 */ li $v0, 2 -locret_CODE_7F034D2C: -/* 06985C 7F034D2C 03E00008 */ jr $ra -/* 069860 7F034D30 24020002 */ li $v0, 2 -locret_CODE_7F034D34: -/* 069864 7F034D34 03E00008 */ jr $ra -/* 069868 7F034D38 24020002 */ li $v0, 2 -locret_CODE_7F034D3C: -/* 06986C 7F034D3C 03E00008 */ jr $ra -/* 069870 7F034D40 24020002 */ li $v0, 2 -locret_CODE_7F034D44: -/* 069874 7F034D44 03E00008 */ jr $ra -/* 069878 7F034D48 24020002 */ li $v0, 2 -locret_CODE_7F034D4C: -/* 06987C 7F034D4C 03E00008 */ jr $ra -/* 069880 7F034D50 24020002 */ li $v0, 2 -locret_CODE_7F034D54: -/* 069884 7F034D54 03E00008 */ jr $ra -/* 069888 7F034D58 24020003 */ li $v0, 3 -locret_CODE_7F034D5C: -/* 06988C 7F034D5C 03E00008 */ jr $ra -/* 069890 7F034D60 24020004 */ li $v0, 4 -locret_CODE_7F034D64: -/* 069894 7F034D64 03E00008 */ jr $ra -/* 069898 7F034D68 24020002 */ li $v0, 2 -locret_CODE_7F034D6C: -/* 06989C 7F034D6C 03E00008 */ jr $ra -/* 0698A0 7F034D70 24020002 */ li $v0, 2 -locret_CODE_7F034D74: -/* 0698A4 7F034D74 03E00008 */ jr $ra -/* 0698A8 7F034D78 24020004 */ li $v0, 4 -locret_CODE_7F034D7C: -/* 0698AC 7F034D7C 03E00008 */ jr $ra -/* 0698B0 7F034D80 24020003 */ li $v0, 3 -locret_CODE_7F034D84: -/* 0698B4 7F034D84 03E00008 */ jr $ra -/* 0698B8 7F034D88 24020003 */ li $v0, 3 -locret_CODE_7F034D8C: -/* 0698BC 7F034D8C 03E00008 */ jr $ra -/* 0698C0 7F034D90 24020003 */ li $v0, 3 -locret_CODE_7F034D94: -/* 0698C4 7F034D94 03E00008 */ jr $ra -/* 0698C8 7F034D98 24020004 */ li $v0, 4 -locret_CODE_7F034D9C: -/* 0698CC 7F034D9C 03E00008 */ jr $ra -/* 0698D0 7F034DA0 24020003 */ li $v0, 3 -locret_CODE_7F034DA4: -/* 0698D4 7F034DA4 03E00008 */ jr $ra -/* 0698D8 7F034DA8 24020003 */ li $v0, 3 -locret_CODE_7F034DAC: -/* 0698DC 7F034DAC 03E00008 */ jr $ra -/* 0698E0 7F034DB0 24020003 */ li $v0, 3 -locret_CODE_7F034DB4: -/* 0698E4 7F034DB4 03E00008 */ jr $ra -/* 0698E8 7F034DB8 24020003 */ li $v0, 3 -locret_CODE_7F034DBC: -/* 0698EC 7F034DBC 03E00008 */ jr $ra -/* 0698F0 7F034DC0 24020003 */ li $v0, 3 -locret_CODE_7F034DC4: -/* 0698F4 7F034DC4 03E00008 */ jr $ra -/* 0698F8 7F034DC8 24020004 */ li $v0, 4 -locret_CODE_7F034DCC: -/* 0698FC 7F034DCC 03E00008 */ jr $ra -/* 069900 7F034DD0 24020004 */ li $v0, 4 -locret_CODE_7F034DD4: -/* 069904 7F034DD4 03E00008 */ jr $ra -/* 069908 7F034DD8 24020004 */ li $v0, 4 -locret_CODE_7F034DDC: -/* 06990C 7F034DDC 03E00008 */ jr $ra -/* 069910 7F034DE0 24020004 */ li $v0, 4 -locret_CODE_7F034DE4: -/* 069914 7F034DE4 03E00008 */ jr $ra -/* 069918 7F034DE8 24020003 */ li $v0, 3 -locret_CODE_7F034DEC: -/* 06991C 7F034DEC 03E00008 */ jr $ra -/* 069920 7F034DF0 24020003 */ li $v0, 3 -locret_CODE_7F034DF4: -/* 069924 7F034DF4 03E00008 */ jr $ra -/* 069928 7F034DF8 24020003 */ li $v0, 3 -locret_CODE_7F034DFC: -/* 06992C 7F034DFC 03E00008 */ jr $ra -/* 069930 7F034E00 24020003 */ li $v0, 3 -locret_CODE_7F034E04: -/* 069934 7F034E04 03E00008 */ jr $ra -/* 069938 7F034E08 24020003 */ li $v0, 3 -locret_CODE_7F034E0C: -/* 06993C 7F034E0C 03E00008 */ jr $ra -/* 069940 7F034E10 24020003 */ li $v0, 3 -locret_CODE_7F034E14: -/* 069944 7F034E14 03E00008 */ jr $ra -/* 069948 7F034E18 24020004 */ li $v0, 4 -locret_CODE_7F034E1C: -/* 06994C 7F034E1C 03E00008 */ jr $ra -/* 069950 7F034E20 24020004 */ li $v0, 4 -locret_CODE_7F034E24: -/* 069954 7F034E24 03E00008 */ jr $ra -/* 069958 7F034E28 24020003 */ li $v0, 3 -locret_CODE_7F034E2C: -/* 06995C 7F034E2C 03E00008 */ jr $ra -/* 069960 7F034E30 24020003 */ li $v0, 3 -locret_CODE_7F034E34: -/* 069964 7F034E34 03E00008 */ jr $ra -/* 069968 7F034E38 24020003 */ li $v0, 3 -locret_CODE_7F034E3C: -/* 06996C 7F034E3C 03E00008 */ jr $ra -/* 069970 7F034E40 24020002 */ li $v0, 2 -locret_CODE_7F034E44: -/* 069974 7F034E44 03E00008 */ jr $ra -/* 069978 7F034E48 24020002 */ li $v0, 2 -locret_CODE_7F034E4C: -/* 06997C 7F034E4C 03E00008 */ jr $ra -/* 069980 7F034E50 24020002 */ li $v0, 2 -locret_CODE_7F034E54: -/* 069984 7F034E54 03E00008 */ jr $ra -/* 069988 7F034E58 24020003 */ li $v0, 3 -locret_CODE_7F034E5C: -/* 06998C 7F034E5C 03E00008 */ jr $ra -/* 069990 7F034E60 24020002 */ li $v0, 2 -locret_CODE_7F034E64: -/* 069994 7F034E64 03E00008 */ jr $ra -/* 069998 7F034E68 24020002 */ li $v0, 2 -locret_CODE_7F034E6C: -/* 06999C 7F034E6C 03E00008 */ jr $ra -/* 0699A0 7F034E70 24020002 */ li $v0, 2 -locret_CODE_7F034E74: -/* 0699A4 7F034E74 03E00008 */ jr $ra -/* 0699A8 7F034E78 24020002 */ li $v0, 2 -locret_CODE_7F034E7C: -/* 0699AC 7F034E7C 03E00008 */ jr $ra -/* 0699B0 7F034E80 24020003 */ li $v0, 3 -locret_CODE_7F034E84: -/* 0699B4 7F034E84 03E00008 */ jr $ra -/* 0699B8 7F034E88 24020002 */ li $v0, 2 -locret_CODE_7F034E8C: -/* 0699BC 7F034E8C 03E00008 */ jr $ra -/* 0699C0 7F034E90 24020003 */ li $v0, 3 -locret_CODE_7F034E94: -/* 0699C4 7F034E94 03E00008 */ jr $ra -/* 0699C8 7F034E98 24020002 */ li $v0, 2 -locret_CODE_7F034E9C: -/* 0699CC 7F034E9C 03E00008 */ jr $ra -/* 0699D0 7F034EA0 24020002 */ li $v0, 2 -locret_CODE_7F034EA4: -/* 0699D4 7F034EA4 03E00008 */ jr $ra -/* 0699D8 7F034EA8 24020002 */ li $v0, 2 -locret_CODE_7F034EAC: -/* 0699DC 7F034EAC 03E00008 */ jr $ra -/* 0699E0 7F034EB0 24020003 */ li $v0, 3 -locret_CODE_7F034EB4: -/* 0699E4 7F034EB4 03E00008 */ jr $ra -/* 0699E8 7F034EB8 24020003 */ li $v0, 3 -locret_CODE_7F034EBC: -/* 0699EC 7F034EBC 03E00008 */ jr $ra -/* 0699F0 7F034EC0 24020002 */ li $v0, 2 -locret_CODE_7F034EC4: -/* 0699F4 7F034EC4 03E00008 */ jr $ra -/* 0699F8 7F034EC8 24020002 */ li $v0, 2 -locret_CODE_7F034ECC: -/* 0699FC 7F034ECC 03E00008 */ jr $ra -/* 069A00 7F034ED0 24020002 */ li $v0, 2 -locret_CODE_7F034ED4: -/* 069A04 7F034ED4 03E00008 */ jr $ra -/* 069A08 7F034ED8 24020002 */ li $v0, 2 -locret_CODE_7F034EDC: -/* 069A0C 7F034EDC 03E00008 */ jr $ra -/* 069A10 7F034EE0 24020002 */ li $v0, 2 -locret_CODE_7F034EE4: -/* 069A14 7F034EE4 03E00008 */ jr $ra -/* 069A18 7F034EE8 24020003 */ li $v0, 3 -locret_CODE_7F034EEC: -/* 069A1C 7F034EEC 03E00008 */ jr $ra -/* 069A20 7F034EF0 24020003 */ li $v0, 3 -locret_CODE_7F034EF4: -/* 069A24 7F034EF4 03E00008 */ jr $ra -/* 069A28 7F034EF8 24020003 */ li $v0, 3 -locret_CODE_7F034EFC: -/* 069A2C 7F034EFC 03E00008 */ jr $ra -/* 069A30 7F034F00 24020004 */ li $v0, 4 -locret_CODE_7F034F04: -/* 069A34 7F034F04 03E00008 */ jr $ra -/* 069A38 7F034F08 24020005 */ li $v0, 5 -locret_CODE_7F034F0C: -/* 069A3C 7F034F0C 03E00008 */ jr $ra -/* 069A40 7F034F10 24020005 */ li $v0, 5 -locret_CODE_7F034F14: -/* 069A44 7F034F14 03E00008 */ jr $ra -/* 069A48 7F034F18 24020006 */ li $v0, 6 -locret_CODE_7F034F1C: -/* 069A4C 7F034F1C 03E00008 */ jr $ra -/* 069A50 7F034F20 24020005 */ li $v0, 5 -locret_CODE_7F034F24: -/* 069A54 7F034F24 03E00008 */ jr $ra -/* 069A58 7F034F28 24020005 */ li $v0, 5 -locret_CODE_7F034F2C: -/* 069A5C 7F034F2C 03E00008 */ jr $ra -/* 069A60 7F034F30 24020006 */ li $v0, 6 -locret_CODE_7F034F34: -/* 069A64 7F034F34 03E00008 */ jr $ra -/* 069A68 7F034F38 24020006 */ li $v0, 6 -locret_CODE_7F034F3C: -/* 069A6C 7F034F3C 03E00008 */ jr $ra -/* 069A70 7F034F40 24020006 */ li $v0, 6 -locret_CODE_7F034F44: -/* 069A74 7F034F44 03E00008 */ jr $ra -/* 069A78 7F034F48 24020007 */ li $v0, 7 -locret_CODE_7F034F4C: -/* 069A7C 7F034F4C 03E00008 */ jr $ra -/* 069A80 7F034F50 24020006 */ li $v0, 6 -locret_CODE_7F034F54: -/* 069A84 7F034F54 03E00008 */ jr $ra -/* 069A88 7F034F58 24020006 */ li $v0, 6 -locret_CODE_7F034F5C: -/* 069A8C 7F034F5C 03E00008 */ jr $ra -/* 069A90 7F034F60 24020007 */ li $v0, 7 -locret_CODE_7F034F64: -/* 069A94 7F034F64 03E00008 */ jr $ra -/* 069A98 7F034F68 24020006 */ li $v0, 6 -locret_CODE_7F034F6C: -/* 069A9C 7F034F6C 03E00008 */ jr $ra -/* 069AA0 7F034F70 24020006 */ li $v0, 6 -locret_CODE_7F034F74: -/* 069AA4 7F034F74 03E00008 */ jr $ra -/* 069AA8 7F034F78 24020007 */ li $v0, 7 -locret_CODE_7F034F7C: -/* 069AAC 7F034F7C 03E00008 */ jr $ra -/* 069AB0 7F034F80 24020002 */ li $v0, 2 -locret_CODE_7F034F84: -/* 069AB4 7F034F84 03E00008 */ jr $ra -/* 069AB8 7F034F88 24020003 */ li $v0, 3 -locret_CODE_7F034F8C: -/* 069ABC 7F034F8C 03E00008 */ jr $ra -/* 069AC0 7F034F90 24020003 */ li $v0, 3 -locret_CODE_7F034F94: -/* 069AC4 7F034F94 03E00008 */ jr $ra -/* 069AC8 7F034F98 24020004 */ li $v0, 4 -locret_CODE_7F034F9C: -/* 069ACC 7F034F9C 03E00008 */ jr $ra -/* 069AD0 7F034FA0 24020001 */ li $v0, 1 -locret_CODE_7F034FA4: -/* 069AD4 7F034FA4 03E00008 */ jr $ra -/* 069AD8 7F034FA8 24020001 */ li $v0, 1 -locret_CODE_7F034FAC: -/* 069ADC 7F034FAC 03E00008 */ jr $ra -/* 069AE0 7F034FB0 24020001 */ li $v0, 1 -locret_CODE_7F034FB4: -/* 069AE4 7F034FB4 03E00008 */ jr $ra -/* 069AE8 7F034FB8 24020001 */ li $v0, 1 -locret_CODE_7F034FBC: -/* 069AEC 7F034FBC 03E00008 */ jr $ra -/* 069AF0 7F034FC0 24020002 */ li $v0, 2 -locret_CODE_7F034FC4: -/* 069AF4 7F034FC4 03E00008 */ jr $ra -/* 069AF8 7F034FC8 24020005 */ li $v0, 5 -locret_CODE_7F034FCC: -/* 069AFC 7F034FCC 03E00008 */ jr $ra -/* 069B00 7F034FD0 24020005 */ li $v0, 5 -locret_CODE_7F034FD4: -/* 069B04 7F034FD4 03E00008 */ jr $ra -/* 069B08 7F034FD8 24020001 */ li $v0, 1 -locret_CODE_7F034FDC: -/* 069B0C 7F034FDC 03E00008 */ jr $ra -/* 069B10 7F034FE0 24020001 */ li $v0, 1 -locret_CODE_7F034FE4: -/* 069B14 7F034FE4 03E00008 */ jr $ra -/* 069B18 7F034FE8 24020003 */ li $v0, 3 -locret_CODE_7F034FEC: -/* 069B1C 7F034FEC 03E00008 */ jr $ra -/* 069B20 7F034FF0 24020001 */ li $v0, 1 -locret_CODE_7F034FF4: -/* 069B24 7F034FF4 03E00008 */ jr $ra -/* 069B28 7F034FF8 24020001 */ li $v0, 1 -locret_CODE_7F034FFC: -/* 069B2C 7F034FFC 03E00008 */ jr $ra -/* 069B30 7F035000 24020002 */ li $v0, 2 -locret_CODE_7F035004: -/* 069B34 7F035004 03E00008 */ jr $ra -/* 069B38 7F035008 24020004 */ li $v0, 4 -locret_CODE_7F03500C: -/* 069B3C 7F03500C 03E00008 */ jr $ra -/* 069B40 7F035010 24020004 */ li $v0, 4 -locret_CODE_7F035014: -/* 069B44 7F035014 03E00008 */ jr $ra -/* 069B48 7F035018 2402000C */ li $v0, 12 -locret_CODE_7F03501C: -/* 069B4C 7F03501C 03E00008 */ jr $ra -/* 069B50 7F035020 2402000B */ li $v0, 11 -locret_CODE_7F035024: -/* 069B54 7F035024 03E00008 */ jr $ra -/* 069B58 7F035028 24020009 */ li $v0, 9 -locret_CODE_7F03502C: -/* 069B5C 7F03502C 03E00008 */ jr $ra -/* 069B60 7F035030 24020008 */ li $v0, 8 -locret_CODE_7F035034: -/* 069B64 7F035034 03E00008 */ jr $ra -/* 069B68 7F035038 24020005 */ li $v0, 5 -locret_CODE_7F03503C: -/* 069B6C 7F03503C 03E00008 */ jr $ra -/* 069B70 7F035040 24020003 */ li $v0, 3 -locret_CODE_7F035044: -/* 069B74 7F035044 03E00008 */ jr $ra -/* 069B78 7F035048 24020003 */ li $v0, 3 -locret_CODE_7F03504C: -/* 069B7C 7F03504C 03E00008 */ jr $ra -/* 069B80 7F035050 24020004 */ li $v0, 4 -locret_CODE_7F035054: -/* 069B84 7F035054 03E00008 */ jr $ra -/* 069B88 7F035058 24020005 */ li $v0, 5 -locret_CODE_7F03505C: -/* 069B8C 7F03505C 03E00008 */ jr $ra -/* 069B90 7F035060 24020006 */ li $v0, 6 -locret_CODE_7F035064: -/* 069B94 7F035064 03E00008 */ jr $ra -/* 069B98 7F035068 24020006 */ li $v0, 6 -locret_CODE_7F03506C: -/* 069B9C 7F03506C 03E00008 */ jr $ra -/* 069BA0 7F035070 24020006 */ li $v0, 6 -locret_CODE_7F035074: -/* 069BA4 7F035074 03E00008 */ jr $ra -/* 069BA8 7F035078 24020002 */ li $v0, 2 -locret_CODE_7F03507C: -/* 069BAC 7F03507C 03E00008 */ jr $ra -/* 069BB0 7F035080 24020005 */ li $v0, 5 -locret_CODE_7F035084: -/* 069BB4 7F035084 03E00008 */ jr $ra -/* 069BB8 7F035088 24020002 */ li $v0, 2 -locret_CODE_7F03508C: -/* 069BBC 7F03508C 03E00008 */ jr $ra -/* 069BC0 7F035090 24020005 */ li $v0, 5 -locret_CODE_7F035094: -/* 069BC4 7F035094 03E00008 */ jr $ra -/* 069BC8 7F035098 24020005 */ li $v0, 5 -locret_CODE_7F03509C: -/* 069BCC 7F03509C 03E00008 */ jr $ra -/* 069BD0 7F0350A0 24020002 */ li $v0, 2 -locret_CODE_7F0350A4: -/* 069BD4 7F0350A4 03E00008 */ jr $ra -/* 069BD8 7F0350A8 24020002 */ li $v0, 2 -locret_CODE_7F0350AC: -/* 069BDC 7F0350AC 03E00008 */ jr $ra -/* 069BE0 7F0350B0 24020004 */ li $v0, 4 -locret_CODE_7F0350B4: -/* 069BE4 7F0350B4 03E00008 */ jr $ra -/* 069BE8 7F0350B8 24020002 */ li $v0, 2 -locret_CODE_7F0350BC: -/* 069BEC 7F0350BC 03E00008 */ jr $ra -/* 069BF0 7F0350C0 24020001 */ li $v0, 1 -locret_CODE_7F0350C4: -/* 069BF4 7F0350C4 03E00008 */ jr $ra -/* 069BF8 7F0350C8 24020001 */ li $v0, 1 -locret_CODE_7F0350CC: -/* 069BFC 7F0350CC 03E00008 */ jr $ra -/* 069C00 7F0350D0 24020003 */ li $v0, 3 -locret_CODE_7F0350D4: -/* 069C04 7F0350D4 03E00008 */ jr $ra -/* 069C08 7F0350D8 24020006 */ li $v0, 6 -locret_CODE_7F0350DC: -/* 069C0C 7F0350DC 03E00008 */ jr $ra -/* 069C10 7F0350E0 24020004 */ li $v0, 4 -locret_CODE_7F0350E4: -/* 069C14 7F0350E4 03E00008 */ jr $ra -/* 069C18 7F0350E8 24020002 */ li $v0, 2 -locret_CODE_7F0350EC: -/* 069C1C 7F0350EC 03E00008 */ jr $ra -/* 069C20 7F0350F0 24020001 */ li $v0, 1 -locret_CODE_7F0350F4: -/* 069C24 7F0350F4 03E00008 */ jr $ra -/* 069C28 7F0350F8 24020005 */ li $v0, 5 -locret_CODE_7F0350FC: -/* 069C2C 7F0350FC 03E00008 */ jr $ra -/* 069C30 7F035100 24020001 */ li $v0, 1 -locret_CODE_7F035104: -/* 069C34 7F035104 03E00008 */ jr $ra -/* 069C38 7F035108 24020001 */ li $v0, 1 -locret_CODE_7F03510C: -/* 069C3C 7F03510C 03E00008 */ jr $ra -/* 069C40 7F035110 24020002 */ li $v0, 2 -locret_CODE_7F035114: -/* 069C44 7F035114 03E00008 */ jr $ra -/* 069C48 7F035118 24020001 */ li $v0, 1 -locret_CODE_7F03511C: -/* 069C4C 7F03511C 03E00008 */ jr $ra -/* 069C50 7F035120 24020001 */ li $v0, 1 -locret_CODE_7F035124: -/* 069C54 7F035124 03E00008 */ jr $ra -/* 069C58 7F035128 24020002 */ li $v0, 2 -locret_CODE_7F03512C: -/* 069C5C 7F03512C 03E00008 */ jr $ra -/* 069C60 7F035130 24020003 */ li $v0, 3 -locret_CODE_7F035134: -/* 069C64 7F035134 03E00008 */ jr $ra -/* 069C68 7F035138 24020003 */ li $v0, 3 -locret_CODE_7F03513C: -/* 069C6C 7F03513C 03E00008 */ jr $ra -/* 069C70 7F035140 24020004 */ li $v0, 4 -locret_CODE_7F035144: -/* 069C74 7F035144 03E00008 */ jr $ra -/* 069C78 7F035148 24020002 */ li $v0, 2 -locret_CODE_7F03514C: -/* 069C7C 7F03514C 03E00008 */ jr $ra -/* 069C80 7F035150 24020002 */ li $v0, 2 -locret_CODE_7F035154: -/* 069C84 7F035154 03E00008 */ jr $ra -/* 069C88 7F035158 24020003 */ li $v0, 3 -locret_CODE_7F03515C: -/* 069C8C 7F03515C 03E00008 */ jr $ra -/* 069C90 7F035160 24020005 */ li $v0, 5 -locret_CODE_7F035164: -/* 069C94 7F035164 03E00008 */ jr $ra -/* 069C98 7F035168 24020001 */ li $v0, 1 -locret_CODE_7F03516C: -/* 069C9C 7F03516C 03E00008 */ jr $ra -/* 069CA0 7F035170 24020001 */ li $v0, 1 -locret_CODE_7F035174: -/* 069CA4 7F035174 03E00008 */ jr $ra -/* 069CA8 7F035178 24020002 */ li $v0, 2 -locret_CODE_7F03517C: -/* 069CAC 7F03517C 03E00008 */ jr $ra -/* 069CB0 7F035180 24020001 */ li $v0, 1 -locret_CODE_7F035184: -/* 069CB4 7F035184 03E00008 */ jr $ra -/* 069CB8 7F035188 24020001 */ li $v0, 1 -locret_CODE_7F03518C: -/* 069CBC 7F03518C 03E00008 */ jr $ra -/* 069CC0 7F035190 2402000D */ li $v0, 13 -locret_CODE_7F035194: -/* 069CC4 7F035194 03E00008 */ jr $ra -/* 069CC8 7F035198 24020001 */ li $v0, 1 -locret_CODE_7F03519C: -/* 069CCC 7F03519C 03E00008 */ jr $ra -/* 069CD0 7F0351A0 24020002 */ li $v0, 2 -locret_CODE_7F0351A4: -/* 069CD4 7F0351A4 03E00008 */ jr $ra -/* 069CD8 7F0351A8 24020002 */ li $v0, 2 -locret_CODE_7F0351AC: -/* 069CDC 7F0351AC 03E00008 */ jr $ra -/* 069CE0 7F0351B0 24020003 */ li $v0, 3 -locret_CODE_7F0351B4: -/* 069CE4 7F0351B4 03E00008 */ jr $ra -/* 069CE8 7F0351B8 24020002 */ li $v0, 2 -locret_CODE_7F0351BC: -/* 069CEC 7F0351BC 03E00008 */ jr $ra -/* 069CF0 7F0351C0 24020004 */ li $v0, 4 -locret_CODE_7F0351C4: -/* 069CF4 7F0351C4 03E00008 */ jr $ra -/* 069CF8 7F0351C8 24020002 */ li $v0, 2 -locret_CODE_7F0351CC: -/* 069CFC 7F0351CC 03E00008 */ jr $ra -/* 069D00 7F0351D0 24020001 */ li $v0, 1 -locret_CODE_7F0351D4: -/* 069D04 7F0351D4 03E00008 */ jr $ra -/* 069D08 7F0351D8 24020003 */ li $v0, 3 -locret_CODE_7F0351DC: -/* 069D0C 7F0351DC 03E00008 */ jr $ra -/* 069D10 7F0351E0 24020003 */ li $v0, 3 -locret_CODE_7F0351E4: -/* 069D14 7F0351E4 03E00008 */ jr $ra -/* 069D18 7F0351E8 24020001 */ li $v0, 1 -locret_CODE_7F0351EC: -/* 069D1C 7F0351EC 03E00008 */ jr $ra -/* 069D20 7F0351F0 24020001 */ li $v0, 1 -locret_CODE_7F0351F4: -/* 069D24 7F0351F4 03E00008 */ jr $ra -/* 069D28 7F0351F8 24020001 */ li $v0, 1 -actionFC_length: -/* 069D2C 7F0351FC 03E00008 */ jr $ra -/* 069D30 7F035200 24020002 */ li $v0, 2 - -actionAD_length: -/* 069D34 7F035204 904F0001 */ lbu $t7, 1($v0) -/* 069D38 7F035208 24A30001 */ addiu $v1, $a1, 1 -/* 069D3C 7F03520C 00831021 */ addu $v0, $a0, $v1 -/* 069D40 7F035210 51E00007 */ beql $t7, $zero, .L7F035230 -/* 069D44 7F035214 00651023 */ subu $v0, $v1, $a1 -/* 069D48 7F035218 90580001 */ lbu $t8, 1($v0) -.L7F03521C: -/* 069D4C 7F03521C 24630001 */ addiu $v1, $v1, 1 -/* 069D50 7F035220 24420001 */ addiu $v0, $v0, 1 -/* 069D54 7F035224 5700FFFD */ bnezl $t8, .L7F03521C -/* 069D58 7F035228 90580001 */ lbu $t8, 1($v0) -/* 069D5C 7F03522C 00651023 */ subu $v0, $v1, $a1 -.L7F035230: -/* 069D60 7F035230 03E00008 */ jr $ra -/* 069D64 7F035234 24420001 */ addiu $v0, $v0, 1 - -invalid_type: -ActionLengthSwitchElse: -/* 069D68 7F035238 24020001 */ li $v0, 1 -/* 069D6C 7F03523C 03E00008 */ jr $ra -/* 069D70 7F035240 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F035244(void) -{ - -} -#else -GLOBAL_ASM( -.late_rodata -/*HACK FIXME */ -.word locret_CODE_7F034F9C -.word locret_CODE_7F034FA4 -.word locret_CODE_7F034FAC -.word locret_CODE_7F034FB4 -.word locret_CODE_7F034FBC -.word locret_CODE_7F034FC4 -.word locret_CODE_7F034FCC -.word locret_CODE_7F034FD4 -.word locret_CODE_7F034FDC -.word locret_CODE_7F034FE4 -.word locret_CODE_7F034FEC -.word locret_CODE_7F034FF4 -.word locret_CODE_7F034FFC -.word locret_CODE_7F035004 - -.text -glabel sub_GAME_7F035244 -/* 069D74 7F035244 3C088007 */ lui $t0, %hi(ptr_setup_path_tbl) -/* 069D78 7F035248 25085D00 */ addiu $t0, %lo(ptr_setup_path_tbl) # addiu $t0, $t0, 0x5d00 -/* 069D7C 7F03524C 8D020014 */ lw $v0, 0x14($t0) #v0 = ptr_setup_actions -/* 069D80 7F035250 00A03825 */ move $a3, $a1 -/* 069D84 7F035254 3C198003 */ lui $t9, %hi(D_8003744C) -/* 069D88 7F035258 10400013 */ beqz $v0, .L7F0352A8 -/* 069D8C 7F03525C 00000000 */ nop -/* 069D90 7F035260 8C4E0000 */ lw $t6, ($v0) -/* 069D94 7F035264 00001825 */ move $v1, $zero -/* 069D98 7F035268 00402825 */ move $a1, $v0 -/* 069D9C 7F03526C 11C0000E */ beqz $t6, .L7F0352A8 -/* 069DA0 7F035270 00000000 */ nop -/* 069DA4 7F035274 8C460000 */ lw $a2, ($v0) -.L7F035278: -/* 069DA8 7F035278 54860007 */ bnel $a0, $a2, .L7F035298 -/* 069DAC 7F03527C 8CA60008 */ lw $a2, 8($a1) -/* 069DB0 7F035280 ACE00000 */ sw $zero, ($a3) -/* 069DB4 7F035284 8D0F0014 */ lw $t7, 0x14($t0) -/* 069DB8 7F035288 01E3C021 */ addu $t8, $t7, $v1 -/* 069DBC 7F03528C 03E00008 */ jr $ra -/* 069DC0 7F035290 8F020004 */ lw $v0, 4($t8) - -/* 069DC4 7F035294 8CA60008 */ lw $a2, 8($a1) -.L7F035298: -/* 069DC8 7F035298 24630008 */ addiu $v1, $v1, 8 -/* 069DCC 7F03529C 24A50008 */ addiu $a1, $a1, 8 -/* 069DD0 7F0352A0 14C0FFF5 */ bnez $a2, .L7F035278 -/* 069DD4 7F0352A4 00000000 */ nop -.L7F0352A8: -/* 069DD8 7F0352A8 8F39744C */ lw $t9, %lo(D_8003744C)($t9) -/* 069DDC 7F0352AC 3C098003 */ lui $t1, %hi(D_8003744C) -/* 069DE0 7F0352B0 2523744C */ addiu $v1, $t1, %lo(D_8003744C) -/* 069DE4 7F0352B4 1320000B */ beqz $t9, .L7F0352E4 -/* 069DE8 7F0352B8 240A0001 */ li $t2, 1 -/* 069DEC 7F0352BC 8C620000 */ lw $v0, ($v1) -.L7F0352C0: -/* 069DF0 7F0352C0 54820005 */ bnel $a0, $v0, .L7F0352D8 -/* 069DF4 7F0352C4 8C620008 */ lw $v0, 8($v1) -/* 069DF8 7F0352C8 ACEA0000 */ sw $t2, ($a3) -/* 069DFC 7F0352CC 03E00008 */ jr $ra -/* 069E00 7F0352D0 8C620004 */ lw $v0, 4($v1) - -/* 069E04 7F0352D4 8C620008 */ lw $v0, 8($v1) -.L7F0352D8: -/* 069E08 7F0352D8 24630008 */ addiu $v1, $v1, 8 -/* 069E0C 7F0352DC 1440FFF8 */ bnez $v0, .L7F0352C0 -/* 069E10 7F0352E0 00000000 */ nop -.L7F0352E4: -/* 069E14 7F0352E4 2402FFFF */ li $v0, -1 -/* 069E18 7F0352E8 03E00008 */ jr $ra -/* 069E1C 7F0352EC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -/* MIPS-2-C - -s32 true_if_sucessfully_performing_action(s32 arg0, s32 arg1, s32 arg2) -{ - ? sp3C; - void *temp_v0; - s32 phi_s0; - - // Node 0 - phi_s0 = arg1; -loop_1: - // Node 1 - temp_v0 = arg0 + phi_s0; - if (2 == temp_v0->unk0) - { - // Node 2 - if ((arg2 & 0xff) == temp_v0->unk1) - { - // Node 3 - return phi_s0; - } -block_6: - // Node 6 - phi_s0 = phi_s0 + get_length_of_action_block(arg0, phi_s0); - goto loop_1; - } - // Node 4 - if (4 != temp_v0->unk0) - { - goto block_6; - } - // Node 5 - sub_GAME_7F035244(arg0, &sp3C); - return 0; -}*/ -bool true_if_sucessfully_performing_action(s32 arg0, s32 arg1, s32 arg2) -{ - /* Closest ASM I could get (though not using right tools since still cant get to work... ill try again this weekend)*/ - u8 *v0; //struct - int s0 = arg1; - int s1 = arg0; - - do - { - v0 = arg0 + s0; - if (v0->unk0 == label_ID) - { - if ((arg2 & 255) == v0->unk1) //strip lower byte? - { - return arg1; //exit loop and return - } - - } - if (v0->unk0 == ai_list_end_ID) - { - break; - } - s0 += get_length_of_action_block(arg0, arg1); - } - while (v0->unk0 != 4); - - sub_GAME_7F035244(s1, &v0 + 0x3c); - return 0; -} -#else -GLOBAL_ASM( -.late_rodata -/*HACK FIXME */ -.word locret_CODE_7F03500C -.word locret_CODE_7F035014 -.word locret_CODE_7F03501C -.word locret_CODE_7F035024 -.word locret_CODE_7F03502C -.word locret_CODE_7F035034 -.word locret_CODE_7F03503C -.word locret_CODE_7F035044 -.word locret_CODE_7F03504C -.word locret_CODE_7F035054 -.word locret_CODE_7F03505C -.word locret_CODE_7F035064 -.word locret_CODE_7F03506C - -.text -glabel true_if_sucessfully_performing_action -/* 069E20 7F0352F0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 069E24 7F0352F4 AFB40028 */ sw $s4, 0x28($sp) -/* 069E28 7F0352F8 AFB30024 */ sw $s3, 0x24($sp) -/* 069E2C 7F0352FC AFB20020 */ sw $s2, 0x20($sp) -/* 069E30 7F035300 AFB1001C */ sw $s1, 0x1c($sp) -/* 069E34 7F035304 AFB00018 */ sw $s0, 0x18($sp) -/* 069E38 7F035308 00A08025 */ move $s0, $a1 # Args 1,0 to save 0,1 -/* 069E3C 7F03530C 00808825 */ move $s1, $a0 -/* 069E40 7F035310 30D200FF */ andi $s2, $a2, 0xff # save 2 = Arg 2 AND 255 - convert to lower byte? -/* 069E44 7F035314 AFBF002C */ sw $ra, 0x2c($sp) -/* 069E48 7F035318 AFA60050 */ sw $a2, 0x50($sp) # save a bunch of stuff -/* 069E4C 7F03531C 24130002 */ li $s3, 2 -/* 069E50 7F035320 24140004 */ li $s4, 4 -.L7F035324: /* Begining*/ -/* 069E54 7F035324 02301021 */ addu $v0, $s1, $s0 # *v0 = a0 + a1 # command+commandLength? -/* 069E58 7F035328 90430000 */ lbu $v1, ($v0) # v1 = Byte(v0) -/* 069E5C 7F03532C 02202025 */ move $a0, $s1 -/* 069E60 7F035330 16630006 */ bne $s3, $v1, .L7F03534C # goto not2 if not v1 = label_ID -/* 069E64 7F035334 00000000 */ nop -/* 069E68 7F035338 904E0001 */ lbu $t6, 1($v0) # t6 = byte(v0[4]) -/* 069E6C 7F03533C 164E000A */ bne $s2, $t6, .L7F035368 # goto AICMDlength if not s2 = t6 -/* 069E70 7F035340 00000000 */ nop -/* 069E74 7F035344 1000000C */ b .L7F035378 # save 0 = v0 goto return -/* 069E78 7F035348 02001025 */ move $v0, $s0 -.L7F03534C: /* Not2*/ -/* 069E7C 7F03534C 16830006 */ bne $s4, $v1, .L7F035368 # goto AICMDlength if not v1 = ai_list_end_ID -/* 069E80 7F035350 00000000 */ nop -/* 069E84 7F035354 02202025 */ move $a0, $s1 -/* 069E88 7F035358 0FC0D491 */ jal sub_GAME_7F035244 -/* 069E8C 7F03535C 27A5003C */ addiu $a1, $sp, 0x3c -/* 069E90 7F035360 10000005 */ b .L7F035378 # goto return -/* 069E94 7F035364 00001025 */ move $v0, $zero -.L7F035368: /* AICMDlength*/ -/* 069E98 7F035368 0FC0D27F */ jal get_length_of_action_block -/* 069E9C 7F03536C 02002825 */ move $a1, $s0 -/* 069EA0 7F035370 1000FFEC */ b .L7F035324 # goto begining -/* 069EA4 7F035374 02028021 */ addu $s0, $s0, $v0 -.L7F035378: /* return*/ -/* 069EA8 7F035378 8FBF002C */ lw $ra, 0x2c($sp) -/* 069EAC 7F03537C 8FB00018 */ lw $s0, 0x18($sp) -/* 069EB0 7F035380 8FB1001C */ lw $s1, 0x1c($sp) -/* 069EB4 7F035384 8FB20020 */ lw $s2, 0x20($sp) -/* 069EB8 7F035388 8FB30024 */ lw $s3, 0x24($sp) -/* 069EBC 7F03538C 8FB40028 */ lw $s4, 0x28($sp) -/* 069EC0 7F035390 03E00008 */ jr $ra -/* 069EC4 7F035394 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -//LoadNext_PrevActionBlock -void LoadNext_PrevActionBlock(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*HACK FIXME */ -.word locret_CODE_7F035074 -.word locret_CODE_7F03507C -.word locret_CODE_7F035084 -.word locret_CODE_7F03508C -.word locret_CODE_7F035094 -.word locret_CODE_7F03509C -.word locret_CODE_7F0350A4 -.word locret_CODE_7F0350AC -.word locret_CODE_7F0350B4 -.word locret_CODE_7F0350BC -.word locret_CODE_7F0350C4 -.word locret_CODE_7F0350CC - -.text -glabel LoadNext_PrevActionBlock -/* 069EC8 7F035398 28810401 */ slti $at, $a0, 0x401 -/* 069ECC 7F03539C 14200014 */ bnez $at, .L7F0353F0 -/* 069ED0 7F0353A0 3C198003 */ lui $t9, %hi(D_8003744C) -/* 069ED4 7F0353A4 3C028007 */ lui $v0, %hi(ptr_setup_actions) -/* 069ED8 7F0353A8 8C425D14 */ lw $v0, %lo(ptr_setup_actions)($v0) -/* 069EDC 7F0353AC 5040001F */ beql $v0, $zero, .L7F03542C #if <= 0 return -/* 069EE0 7F0353B0 00001025 */ move $v0, $zero -/* 069EE4 7F0353B4 8C4E0000 */ lw $t6, ($v0) -/* 069EE8 7F0353B8 00401825 */ move $v1, $v0 -/* 069EEC 7F0353BC 51C0001B */ beql $t6, $zero, .L7F03542C -/* 069EF0 7F0353C0 00001025 */ move $v0, $zero -/* 069EF4 7F0353C4 8C6F0004 */ lw $t7, 4($v1) -.L7F0353C8: -/* 069EF8 7F0353C8 548F0004 */ bnel $a0, $t7, .L7F0353DC -/* 069EFC 7F0353CC 8C780008 */ lw $t8, 8($v1) -/* 069F00 7F0353D0 03E00008 */ jr $ra -/* 069F04 7F0353D4 8C620000 */ lw $v0, ($v1) - -/* 069F08 7F0353D8 8C780008 */ lw $t8, 8($v1) -.L7F0353DC: -/* 069F0C 7F0353DC 24630008 */ addiu $v1, $v1, 8 -/* 069F10 7F0353E0 5700FFF9 */ bnezl $t8, .L7F0353C8 -/* 069F14 7F0353E4 8C6F0004 */ lw $t7, 4($v1) -/* 069F18 7F0353E8 10000010 */ b .L7F03542C -/* 069F1C 7F0353EC 00001025 */ move $v0, $zero -.L7F0353F0: -/* 069F20 7F0353F0 8F39744C */ lw $t9, %lo(D_8003744C)($t9) -/* 069F24 7F0353F4 3C038003 */ lui $v1, %hi(D_8003744C) -/* 069F28 7F0353F8 2463744C */ addiu $v1, %lo(D_8003744C) # addiu $v1, $v1, 0x744c -/* 069F2C 7F0353FC 5320000B */ beql $t9, $zero, .L7F03542C -/* 069F30 7F035400 00001025 */ move $v0, $zero -/* 069F34 7F035404 8C680004 */ lw $t0, 4($v1) -.L7F035408: -/* 069F38 7F035408 54880004 */ bnel $a0, $t0, .L7F03541C -/* 069F3C 7F03540C 8C690008 */ lw $t1, 8($v1) -/* 069F40 7F035410 03E00008 */ jr $ra -/* 069F44 7F035414 8C620000 */ lw $v0, ($v1) - -/* 069F48 7F035418 8C690008 */ lw $t1, 8($v1) -.L7F03541C: -/* 069F4C 7F03541C 24630008 */ addiu $v1, $v1, 8 -/* 069F50 7F035420 5520FFF9 */ bnezl $t1, .L7F035408 -/* 069F54 7F035424 8C680004 */ lw $t0, 4($v1) -/* 069F58 7F035428 00001025 */ move $v0, $zero -.L7F03542C: -/* 069F5C 7F03542C 03E00008 */ jr $ra -/* 069F60 7F035430 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_path_for_pathnum(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*HACK FIXME */ -.word locret_CODE_7F0350D4 -.word locret_CODE_7F0350DC -.word locret_CODE_7F0350E4 -.word locret_CODE_7F0350EC -.word locret_CODE_7F0350F4 -.word locret_CODE_7F0350FC - -.text -glabel get_ptr_path_for_pathnum -/* 069F64 7F035434 3C058007 */ lui $a1, %hi(ptr_setup_path_sets) -/* 069F68 7F035438 8CA55D10 */ lw $a1, %lo(ptr_setup_path_sets)($a1) -/* 069F6C 7F03543C 00001825 */ move $v1, $zero -/* 069F70 7F035440 8CAE0000 */ lw $t6, ($a1) -/* 069F74 7F035444 00A01025 */ move $v0, $a1 -/* 069F78 7F035448 51C0000C */ beql $t6, $zero, .L7F03547C -/* 069F7C 7F03544C 00001025 */ move $v0, $zero -/* 069F80 7F035450 904F0004 */ lbu $t7, 4($v0) -.L7F035454: -/* 069F84 7F035454 148F0003 */ bne $a0, $t7, .L7F035464 -/* 069F88 7F035458 0003C0C0 */ sll $t8, $v1, 3 -/* 069F8C 7F03545C 03E00008 */ jr $ra -/* 069F90 7F035460 03051021 */ addu $v0, $t8, $a1 - -.L7F035464: -/* 069F94 7F035464 8C590008 */ lw $t9, 8($v0) -/* 069F98 7F035468 24630001 */ addiu $v1, $v1, 1 -/* 069F9C 7F03546C 24420008 */ addiu $v0, $v0, 8 -/* 069FA0 7F035470 5720FFF8 */ bnezl $t9, .L7F035454 -/* 069FA4 7F035474 904F0004 */ lbu $t7, 4($v0) -/* 069FA8 7F035478 00001025 */ move $v0, $zero -.L7F03547C: -/* 069FAC 7F03547C 03E00008 */ jr $ra -/* 069FB0 7F035480 00000000 */ nop -) -#endif - - - - -#ifdef NONMATCHING -void parse_handle_actionblocks(*s1, 1, 0) // s1 = AIListp, 1 = true? (a1 is always set to 1) a2 set to 0 within block -{ - s7 = 0; - if (a1 != ai_sleep) - { - if (a1 == 1) - { - if (s1[3] > 39) - { - if (s1[3] = 40) - { - returnval1 = s1; - } - } - a2 = s1; - } - } - - if (s7 == 0) - { - if (a2 == 0) - { - if (v1 != 0) - { - s2 = v1[336]; - s6 = v1[320]; - } - } - else - { - s2 = a2[336]; - s6 = a2[320]; - } - } - else - { - s2 = s7[432]; - s6 = s7[416]; - } - - if (s6 != 0) - { - //10 * something - //60 * something - - do - { - if (cmd < AI_CMDS_TOTAL) - { - switch Byte(cmd) - case 0: - NextStatement = +2; - true_if_sucessfully_performing_action(); - break; - //... - } - else - { - //cmd << 2; - cmdpos += get_length_of_action_block(cmd) //GetAICmdLen(Cmd) - } - } - while (action != 4) - } -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*HACK FIXME */ -.word locret_CODE_7F035104 -.word locret_CODE_7F03510C -.word locret_CODE_7F035114 -.word locret_CODE_7F03511C -.word locret_CODE_7F035124 -.word locret_CODE_7F03512C -.word locret_CODE_7F035134 -.word locret_CODE_7F03513C -.word locret_CODE_7F035144 -.word locret_CODE_7F03514C -.word locret_CODE_7F035154 -.word locret_CODE_7F03515C -.word locret_CODE_7F034ADC -.word locret_CODE_7F034AD4 -.word locret_CODE_7F035164 -.word locret_CODE_7F03516C -.word locret_CODE_7F035174 -.word locret_CODE_7F03517C -.word locret_CODE_7F035184 -.word locret_CODE_7F03518C -.word locret_CODE_7F035194 -.word locret_CODE_7F03519C -.word locret_CODE_7F0351A4 -.word locret_CODE_7F0351AC -.word locret_CODE_7F0351B4 -.word locret_CODE_7F0351BC -.word locret_CODE_7F0351C4 -.word locret_CODE_7F0351CC -.word locret_CODE_7F0351D4 -.word locret_CODE_7F0351DC -.word locret_CODE_7F0351E4 -.word locret_CODE_7F0351EC -.word locret_CODE_7F0351F4 -.word actionFC_length -.late_rodata -glabel D_800524F4 -.word 0x40c90fdb /*6.2831855*/ -/*D:800524F8*/ -glabel jpt_800524F8 -.word Action00_GoToLabel -.word Action01_GoToLabelFromTop -.word Action02_Label -.word action03_Leave_The_Routine_When_Return_Continue_From_Spot_1 -.word Action04_End_1 -.word action05_Jump_To_Function_4 -.word action06_Set_Return_Subroutine_for_0007_Command_3 -.word action07_Jump_to_Return_Subroutine_1 -.word action08_Reset_Animation_1 -.word action09_Guard_Kneels_1 -.word action0A_Animation_9 -.word action0B_If_Guard_WastingTime_SwatFlies_RVL_2 -.word action0C_Guard_Gestures_1 -.word action0D_Guard_Looks_Around_When_Shot_At_1 -.word action0E_Guard_Steps_Sideways_RVL_2 -.word action0F_Guard_Hops_Sideways_RVL_2 -.word action10_Guard_Runs_Sideways_RVL_2 -.word action11_Guard_Walks_Firing_RVL_2 -.word action12_Guard_Runs_Firing_RVL_2 -.word action13_Guard_Rolls_On_Ground_Then_Fires_Crouched_RVL_2 -.word action14_Guard_Aims_Shoots_at_Bond_Guard_Pad_RVL_6 -.word action15_Guard_Kneels_Aims_Shoots_at_Bond_Guard_Pad_RVL_6 -.word action16_Guard_Shoots_Guards_Without_Animation_Change_RVL_6 -.word action17_Guard_Constantly_Angles_To_Face_RVL_6 -.word action18_Shoot_Guard_ID_In_Style_With_Weapon_Type_num_4 -.word action19_Guard_ID1_Shoots_Guard_ID2_In_Style_4 -.word action1A_Guard_Throws_Grenade_RVL_2 -.word action1B_Drop_Weapon_Inventory_num_RVL_5 -.word action1C_Guard_Jogs_To_Preset_3 -.word action1D_Guard_Jogs_To_Predefined_Preset_2328_1 -.word action1E_Guard_Walks_To_Preset_3 -.word action1F_Guard_Runs__To_Preset_3 -.word action20_Activate_Path_2 -.word action21_Guard_Surrenders_1 -.word action22_Guard_Set_To_Move_Fades_And_Disappear_1 -.word action23_Eliminate_Guard_ID_2 -.word action24_Activate_Object_At_Preset_RVL_If_Successful_4 -.word action25_Sound_Alarm_1 -.word action26_Turn_Off_Alarm_1 -.word action27_Return_False_Invalid_Type_2 -.word action28_Jog_To_Bond_Return_Loop_When_Reached_Bond_2 -.word action29_Walk_To_Bond_Return_Loop_When_Reached_Bond_2 -.word action2A_Run_To_Bond_Return_Loop_When_Reached_Bond_2 -.word action2B_Return_False_Invalid_Type_2 -.word action2C_Jog_To_Character_Position_RVL_On_Arrival_3 -.word action2D_Walk_To_Character_Position_RVL_On_Arrival_3 -.word action2E_Run_To_Character_Position_RVL_On_Arrival_3 -.word action2F_When_Guard_Stops_Moving_RVL_2 -.word action30_Detect_If_Guard_Killed_RVL_If_So_3 -.word action31_If_GuardID_Finish_DeathAnimation_RVL_3 -.word action32_If_Bond_In_Sight_RVL_2 -.word action33_Seed_Random_Byte_1 -.word action34_If_Seeded_Byte_LTV_Go_Into_RVL_3 -.word action35_If_Seeded_Byte_GTV_Go_Into_RVL_3 -.word action36_If_Alarm_Activated_RVL_Plus_Stack_2 -.word action37_If_Alarm_Activated_RVL_2 -.word action38_If_Toxic_Gas_Released_RVL_2 -.word action39_If_Guard_Heard_Gunfire_RVL_2 -.word action3A_If_Bond_Shoots_Another_Guard_RVL_2 -.word action3B_If_Guard_Killed_In_Front_Of_Guard_RVL_2 -.word action3C_If_Guard_In_Firing_Range_RVL_2 -.word action3D___Unused___Unknown___2 -.word action3E_If_Shot_Current_Guard_RVL_2 -.word action3F_If_Heard_Bond_RVL_2 -.word action40_If_Another_Guard_In_Same_Room_As_Guard_ID_RVL_3 -.word action41_If_Guard_Has_Been_On_Screen_RVL_2 -.word action42_If_Current_Guard_On_Screen_In_Loaded_Room_RVL_2 -.word action43_If_Guard_In_A_Room_Currently_Loaded_RVL_2 -.word action44_If_Room_Containing_Preset_Is_Loaded_RVL_4 -.word action45_Go_To_RVL_If_Bond_Has_Guard_At_Gunpoint_2 -.word action46_If_Fired_A_Shot_RVL_2 -.word action47_If_Distance_Between_Bond_And_Guard_LTV_RVL_3 -.word action48_If_Distance_Between_Bond_And_Guard_GTV_RVL_3 -.word action49_Test_if_Actor_and_Player_CCWAngle_LTV_RVL_Unused_3 -.word action4A_Test_if_Actor_and_Player_CCWAngle_GTV_RVL_Unused_3 -.word action4B_RVL_If_In_Proximity_Of_Bond_4 -.word action4C_RVL_If_Not_In_Proximity_Of_Bond_4 -.word action4D_When_Guard_In_Proximity_Of_Preset_RVL_7 -.word action4E_When_Guard_Not_In_Proximity_Of_Preset_RVL_7 -.word action4F_If_Current_Guard_Is_In_Units_Of_Guard_ID_RVL_5 -.word action50_If_Current_Guard_Is_Not_In_Units_Of_Guard_ID_RVL_5 -.word action51_SetClosestGuardUnitsGuardID_Then_RVL_IfSuccess_4 -.word action52_GoIntoRVLIf_In_Units_Of_Preset_6 -.word action53_GoIntoRVLIf_Not_In_Units_Of_Preset_6 -.word action54_GoIntoRVLIf_Guard_Is_At_Preset_5 -.word action55_GoIntoRVLIf_Entered_Room_with_Preset_4 -.word action56_GoIntoRVLIf_16_Object_num_Collected_3 -.word action57_GoIntoRVLIf_Specified_Weapon_Deposited_3 -.word action58_GoIntoRVLIf_SpecifiedWeaponDeposited_On16Object_4 -.word action59_GoIntoRVLIf_Specified_Weapon_Is_Out_3 -.word action5A_GoIntoRVLIf_Type_16_Object_num_Loaded_3 -.word action5B_GoIntoRVLIf_16_Object_num_Not_Destroyed_3 -.word action5C_GoIntoRVLIf_16_Object_num_Activated_3 -.word action5D_GoIntoRVLIf_Gadget_Used_On_16_Object_num_3 -.word action5E_16_Object_Activates_2 -.word action5F_16_Object_Explodes_2 -.word action60_Guard_Drops_16_Object_num_2 -.word action61_Kill_Guard_num_2 -.word action62_Guard_num_Throws_Equipment_2 -.word action63_Guard_Gives_Bond_16_Object_num_2 -.word action64_Type_16_Object_Equipped_On_Guard_3 -.word action65_Object_Moved_To_Preset_4 -.word action66_Open_Door_2 -.word action67_Close_Door_2 -.word action68_Check_Door_Status_RVL_If_Met_4 -.word action69_If_16_Object_Is_Valid_Door_RVL_3 -.word action6A_Set_Bits_To_Lock_On_Type_16_Door_3 -.word action6B_Unset_Bits_To_Lock_On_Type_16_Door_3 -.word action6C_If_Tagged_Locked_Door_16_Objects_Toggled_RVL_4 -.word action6D_If_Objective_num_Complete_RVL_3 -.word action6E_If_Guard_2328_Preset_RVL_3 -.word action6F_If_Guard_2328_Preset_Set_RVL_3 -.word action70_Go_Into_RVL_Difficulty_LTV_3 -.word action71_GoIntoRVLIf_Difficulty_GTV_3 -.word action72_Go_To_RVL_If_Time_LTV_4 -.word action73_Go_To_RVL_If_Time_GTV_4 -.word action74_Go_To_RVL_If_Power_On_Time_LTV_4 -.word action75_Go_To_RVL_If_Power_On_Time_GTV_4 -.word action76_Go_To_RVL_If_Stage_Number_LTV_3 -.word action77_Go_To_RVL_If_Stage_Number_GTV_3 -.word action78_Go_To_RVL_If_Guard_Shot_LTV_3 -.word action79_Go_To_RVL_If_Guard_Shot_GTV_3 -.word action7A_Go_To_RVL_If_Number_Near_Miss_Gunshots_LTV_3 -.word action7B_Go_To_RVL_If_Number_Near_Miss_Gunshots_GTV_3 -.word action7C_If_Guard_Health_Below_Value_RVL_4 -.word action7D_If_Guard_Health_Above_Value_RVL_4 -.word action7E_If_Guard_nums_Bitflag_01000000_Set_RVL_3 -.word action7F_If_Health_Below_Value_RVL_3 -.word action80_If_Health_Above_Value_RVL_3 -.word action81_Set_User_Byte_num1_2 -.word action82_Add_Value_To_User_Byte_num1_Max_To_FF_2 -.word action83_Subtract_Value_To_User_Byte_num1_Min_To_0_2 -.word action84_If_Value_GreaterThan_User_Byte_num1_RVL_3 -.word action85_If_User_Byte_num1_LessThan_Random_Value_RVL_2 -.word action86_Set_User_Byte_num2_2 -.word action87_Add_Value_To_User_Byte_num2_Max_To_FF_2 -.word action88_Subtract_Value_To_User_Byte_num2_Min_To_0_2 -.word action89_If_Value_GreaterThan_User_Byte_num2_RVL_3 -.word action8A_If_User_Byte_num2_LessThan_Random_Value_RVL_2 -.word action8B_Set_Guard_Hearing_Distance_3 -.word action8C_Set_Guard_Visible_Distance_2 -.word action8D_Set_Guard_Grenade_Probability_2 -.word action8E_Set_Guard_ID_2 -.word action8F_Set_Guard_Health_3 -.word action90_Set_Guard_Armor_Amount_3 -.word action91_Set_Character_Reaction_Speed_2 -.word action92_Set_Character_Injury_Recovery_Speed_2 -.word action93_Set_Character_Accuracy_2 -.word action94_Mask_Guard_Type_With_Value_2 -.word action95_Unmask_Guard_Type_With_Value_2 -.word action96_If_Guard_Type_Value_Is_Set_RVL_3 -.word action97_Mask_Guard_Type_Flags_With_Value_3 -.word action98_Unmask_Guard_Type_Flags_With_Value_3 -.word action99_If_Guard_Type_Flags_Set_RVL_4 -.word action9A_Set_Objective_Bits_5 -.word action9B_Unset_Objective_Value_5 -.word action9C_Check_If_Objective_Value_Return_Loop_If_So_6 -.word action9D_Set_Guard_Bit_Tags_5 -.word action9E_Unset_Guard_Bit_Tags_5 -.word action9F_Check_Guard_Bits_If_Same_RVL_6 -.word actionA0_Set_Guard_ID_Bits_6 -.word actionA1_Unset_Guard_ID_Bits_6 -.word actionA2_Check_Guard_Bits_If_Same_RVL_7 -.word actionA3_Set_State_Bits_16_Type_Object_6 -.word actionA4_Unset_State_Bits_16_Type_Object_6 -.word actionA5_Check_State_Bits_16_Type_Object_If_Same_RVL_7 -.word actionA6_Set_16_Object_States_More_6 -.word actionA7_Unset_16_Object_States_More_6 -.word actionA8_Check_16_Object_States_More_If_Same_RVL_7 -.word actionA9_Sets_To_Guard_ID_Fc_Current_Guard_2 -.word actionAA_Sets_FC_Value_For_Guard_ID_To_Guard_ID_3 -.word actionAB_Set_Current_Guards_2328_Value_To_Preset_3 -.word actionAC_Set_Guard_ID_numS_2328_Value_To_Preset_4 -.word actionAD_Debug_Comment_20 -.word actionAE_Reset_Cycle_Counter_And_Enable_It_1 -.word actionAF_Reset_Cycle_Counter_1 -.word actionB0_Disable_Cycle_Counter_1 -.word actionB1_Enable_Cycle_Counter_1 -.word actionB2_Check_Cycle_Counter_Enable_Status_2 -.word actionB3_If_Cycle_Counter_LTV_RVL_5 -.word actionB4_If_Cycle_Counter_GTV_RVL_5 -.word actionB5_Show_Timer_1 -.word actionB6_Hide_Timer_Silent_Countdown_1 -.word actionB7_Set_Timer_X_Seconds__Doesnt_Show_Timer_Yet_3 -.word actionB8_Stop_Timer_1 -.word actionB9_Start_Timer_1 -.word actionBA_Check_Timer_Enabled_Status_RVL_If_Enabled_2 -.word actionBB_Detect_If_Timer_Below_Certain_Point_RVL_If_So_4 -.word actionBC_Detect_If_Timer_Above_Certain_Point_RVL_If_So_4 -.word actionBD_Spawn_Guard_C -.word actionBE_Respawn_Guard_with_ID_B -.word actionBF_Spawn_Weapon_9 -.word actionC0_Spawn_Hat_8 -.word actionC1_GuardIDDoesAV_If_Gunfire_RVL_WhenComplete_5 -.word actionC2_Display_Text_Preset_Bottom_Screen_3 -.word actionC3_Display_Text_Preset_Top_Screen_3 -.word actionC4_Play_Sound_Effect_num_In_Slot_num_0_7_4 -.word actionC5_EmanateSoundSlotnumFrom16ObjectWithAudibleRV_5 -.word actionC6_EmanateSoundSlotnumFromPresetWithAudibleRV_6 -.word actionC7_Sound_In_Slot_num_Crecendos_To_Volume_Over_ms_6 -.word actionC8_Sound_In_Slot_num_Fades_To_Volume_Over_ms_6 -.word actionC9_Shut_Off_Sound_In_Slot_Number_2 -.word actionCA_If_Value_GreaterThan_Volume_7FFF_Max_RVL_5 -.word actionCB_Set_Object_Path_27_Type_Object_2 -.word actionCC_Set_Speed_Moving_Vehicle_27_Type_Object_5 -.word actionCD_Set_Speed_Aircraft_Rotor_5 -.word actionCE_Detect_If_Currently_In_Intro_Camera_RVL_If_So_2 -.word actionCF_Detect_If_Currently_In_Intro_Swirl_RVL_If_So_2 -.word actionD0_Change_Animation_Type_Of_Type_16_Monitor_4 -.word actionD1_If_Bond_In_Tank_RVL_2 -.word actionD2_Exit_Level_1 -.word actionD3_Return_From_Camera_Scene_1 -.word actionD4_Camera_Looks_At_Bond_From_Preset_3 -.word actionD5_Go_To_Camera_Position_6 -.word actionD6_If_Less_Than_Elevation_RVL_4 -.word actionD7_Disable_Text_Variable_2 -.word actionD8_Enable_All_On_Screen_Displays_1 -.word actionD9_GuardIDMovedToPresetReturnLoopIfSuccessful_5 -.word actionDA_Fade_Out_From_Cut_Scene_1 -.word actionDB_Fade_In_From_Black_Reset_DA_1 -.word actionDC_RVL_When_Fade_Complete_2 -.word actionDD_Remove_All_Guards_1 -.word actionDE_Bring_Removed_Guards_Back_1 -.word actionDF_Open_Type_16_Door_Used_Cut_Scenes_2 -.word actionE0_Guard_ID_Draws_Weapon_num_3 -.word actionE1_If_Fewer_than_This_Many_Players_Playing_RVL_3 -.word actionE2_If_Ammo_Value_In_Type_Is_LTV_RVL_4 -.word actionE3_Draw_Weapon_From_Inventory_In_Game_2 -.word actionE4_Draw_Weapon_From_Inventory_Cut_Scene_2 -.word actionE5_Set_Bonds_Speed_3 -.word actionE6_If_16_Object_And_Preset_Are_In_Same_Room_RVL_5 -.word actionE7_If_Guard_Moving_And_Shooting_RVL_2 -.word actionE8_If_Guard_Is_Shooting_RVL_2 -.word actionE9_Instantly_Switch_Sky_To_Sky_2_1 -.word actionEA_Stop_Game_Time_1 -.word actionEB_If_Key_Pressed_RVL_2 -.word actionEC_Disable_Player_Pickups_1 -.word actionED_Hide_First_Person_Display_1 -.word actionEE_Cuba_Circular_Camera_Aim_D -.word actionEF_Trigger_Credits_1 -.word actionF0_RVL_If_Credits_Completed_2 -.word actionF1_If_All_Objectives_Complete_RVL_2 -.word actionF2_Check_Current_Folder_Bond_RVL_3 -.word actionF3_If_Player_Pickups_Disabled_RVL_2 -.word actionF4_PlaysValuenum1ThemeSlot03ForValuenum2Seconds_4 -.word actionF5_Turn_Off_Music_In_Slot_num_0_3_2 -.word actionF6_Trigger_Explosions_Around_Bond_1 -.word actionF7_If_Number_Of_Hostages_Scientists_Killed_RVL_3 -.word actionF8_If_Guard_ID_00200000_Flag_Set_Unset_And_Return_3 -.word actionF9_Set_Killed_In_Action_Automatic_Mission_Failure_1 -.word actionFA_Guard_Fawns_On_Shoulder_1 -.word actionFB_SwitchToSkyValuenumAndActivateGasContainersIfExist_ -.word actionFC_Launch_Shuttle_2 - -glabel D_800528EC -.word 0x3dcccccd /*0.1*/ -glabel D_800528F0 -.word 0x3dcccccd /*0.1*/ -glabel D_800528F4 -.word 0x3dcccccd /*0.1*/ -glabel D_800528F8 -.word 0x3dcccccd /*0.1*/ - -glabel jpt_800528FC -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word .L7F038C24 -.word .L7F038C24 -.word .L7F038C24 -.word .L7F038C24 -.word .L7F038C24 -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C - -glabel D_80052974 -.word 0x3c888888 /*0.016666666*/ -glabel D_80052978 -.word 0x3e955555 /*0.29166666*/ -.word 0 - -.text -glabel parse_handle_actionblocks -/* 069FB4 7F035484 27BDF848 */ addiu $sp, $sp, -0x7b8 -/* 069FB8 7F035488 AFB7006C */ sw $s7, 0x6c($sp) -/* 069FBC 7F03548C AFB60068 */ sw $s6, 0x68($sp) #free s2 for CurrentActionByte ? -/* 069FC0 7F035490 24010003 */ li $at, 3 #ai_sleep -/* 069FC4 7F035494 AFBF0074 */ sw $ra, 0x74($sp) -/* 069FC8 7F035498 AFBE0070 */ sw $fp, 0x70($sp) -/* 069FCC 7F03549C AFB50064 */ sw $s5, 0x64($sp) -/* 069FD0 7F0354A0 AFB40060 */ sw $s4, 0x60($sp) -/* 069FD4 7F0354A4 AFB3005C */ sw $s3, 0x5c($sp) -/* 069FD8 7F0354A8 AFB20058 */ sw $s2, 0x58($sp) #free s2 for CurrentActionByteSize ? -/* 069FDC 7F0354AC AFB10054 */ sw $s1, 0x54($sp) -/* 069FE0 7F0354B0 AFB00050 */ sw $s0, 0x50($sp) -/* 069FE4 7F0354B4 F7BA0048 */ sdc1 $f26, 0x48($sp) -/* 069FE8 7F0354B8 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 069FEC 7F0354BC F7B60038 */ sdc1 $f22, 0x38($sp) -/* 069FF0 7F0354C0 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 069FF4 7F0354C4 0000B825 */ move $s7, $zero -/* 069FF8 7F0354C8 00003025 */ move $a2, $zero -/* 069FFC 7F0354CC 00001825 */ move $v1, $zero -/* 06A000 7F0354D0 14A10003 */ bne $a1, $at, .L7F0354E0 -/* 06A004 7F0354D4 0000B025 */ move $s6, $zero -/* 06A008 7F0354D8 1000000E */ b .L7F035514 -/* 06A00C 7F0354DC 0080B825 */ move $s7, $a0 -.L7F0354E0: -/* 06A010 7F0354E0 24010001 */ li $at, 1 -/* 06A014 7F0354E4 14A1000B */ bne $a1, $at, .L7F035514 -/* 06A018 7F0354E8 00000000 */ nop -/* 06A01C 7F0354EC 90820003 */ lbu $v0, 3($a0) -/* 06A020 7F0354F0 24010027 */ li $at, 39 -/* 06A024 7F0354F4 54410004 */ bnel $v0, $at, .L7F035508 -/* 06A028 7F0354F8 24010028 */ li $at, 40 -/* 06A02C 7F0354FC 10000005 */ b .L7F035514 -/* 06A030 7F035500 00803025 */ move $a2, $a0 -/* 06A034 7F035504 24010028 */ li $at, 40 -.L7F035508: -/* 06A038 7F035508 14410002 */ bne $v0, $at, .L7F035514 -/* 06A03C 7F03550C 00000000 */ nop -/* 06A040 7F035510 00801825 */ move $v1, $a0 -.L7F035514: -/* 06A044 7F035514 12E00005 */ beqz $s7, .L7F03552C -/* 06A048 7F035518 3C018005 */ lui $at, %hi(D_800524F4) -/* 06A04C 7F03551C 96F20108 */ lhu $s2, 0x108($s7) # Load Size of command -/* 06A050 7F035520 8EF60104 */ lw $s6, 0x104($s7) # load command -/* 06A054 7F035524 1000000C */ b .L7F035558 -/* 06A058 7F035528 AFB207A4 */ sw $s2, 0x7a4($sp) # save command size -.L7F03552C: -/* 06A05C 7F03552C 10C00005 */ beqz $a2, .L7F035544 -/* 06A060 7F035530 00000000 */ nop -/* 06A064 7F035534 94D20084 */ lhu $s2, 0x84($a2) -/* 06A068 7F035538 8CD60080 */ lw $s6, 0x80($a2) -/* 06A06C 7F03553C 10000006 */ b .L7F035558 -/* 06A070 7F035540 AFB207A4 */ sw $s2, 0x7a4($sp) -.L7F035544: -/* 06A074 7F035544 10600004 */ beqz $v1, .L7F035558 -/* 06A078 7F035548 00000000 */ nop -/* 06A07C 7F03554C 94720084 */ lhu $s2, 0x84($v1) -/* 06A080 7F035550 8C760080 */ lw $s6, 0x80($v1) -/* 06A084 7F035554 AFB207A4 */ sw $s2, 0x7a4($sp) -.L7F035558: -/* 06A088 7F035558 12C01329 */ beqz $s6, Action04_End_1 -/* 06A08C 7F03555C 8FB207A4 */ lw $s2, 0x7a4($sp) -/* 06A090 7F035560 C43A24F4 */ lwc1 $f26, %lo(D_800524F4)($at) -/* 06A094 7F035564 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 06A098 7F035568 4481C000 */ mtc1 $at, $f24 -/* 06A09C 7F03556C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 06A0A0 7F035570 3C1E8003 */ lui $fp, %hi(ptr_guard_data) -/* 06A0A4 7F035574 4481B000 */ mtc1 $at, $f22 -/* 06A0A8 7F035578 4480A000 */ mtc1 $zero, $f20 -/* 06A0AC 7F03557C 27DECC64 */ addiu $fp, %lo(ptr_guard_data) # addiu $fp, $fp, -0x339c -/* 06A0B0 7F035580 02D28821 */ addu $s1, $s6, $s2 -/* 06A0B4 7F035584 AFA307AC */ sw $v1, 0x7ac($sp) -/* 06A0B8 7F035588 AFA607B0 */ sw $a2, 0x7b0($sp) -GetByteS1_ParseCommandByte_SwitchCase: /*GetCommandByte(cmd)*/ -/* 06A0BC 7F03558C 922E0000 */ lbu $t6, ($s1) #t6 = byte(s1) -ParseCommandByte_SwitchCase: -/* 06A0C0 7F035590 02C02025 */ move $a0, $s6 -/* 06A0C4 7F035594 2DC100FD */ sltiu $at, $t6, 0xfd # if Cmd !< AI_CMDS_TOTAL then -/* 06A0C8 7F035598 10201314 */ beqz $at, GetCmdLength # Cmd<<2 goto GetCmdLength -/* 06A0CC 7F03559C 000E7080 */ sll $t6, $t6, 2 -/* 06A0D0 7F0355A0 3C018005 */ lui $at, %hi(jpt_800524F8) -/* 06A0D4 7F0355A4 002E0821 */ addu $at, $at, $t6 # else //get cmd -/* 06A0D8 7F0355A8 8C2E24F8 */ lw $t6, %lo(jpt_800524F8)($at) # switch t6(look up table for switch 0x800524f8) -/* 06A0DC 7F0355AC 01C00008 */ jr $t6 # return cmd -/* 06A0E0 7F0355B0 00000000 */ nop -Action00_GoToLabel: #case 0 -/* 06A0E4 7F0355B4 02C02025 */ move $a0, $s6 -/* 06A0E8 7F0355B8 02402825 */ move $a1, $s2 -/* 06A0EC 7F0355BC 0FC0D4BC */ jal true_if_sucessfully_performing_action #(command, commandsize, nextcommand[4]) -/* 06A0F0 7F0355C0 92260001 */ lbu $a2, 1($s1) -/* 06A0F4 7F0355C4 00409025 */ move $s2, $v0 -/* 06A0F8 7F0355C8 1000FFF0 */ b GetByteS1_ParseCommandByte_SwitchCase # GetCommandByte(currcmd + currcmdLength); -/* 06A0FC 7F0355CC 02C28821 */ addu $s1, $s6, $v0 -Action01_GoToLabelFromTop: #case 1 -/* 06A100 7F0355D0 02C02025 */ move $a0, $s6 -/* 06A104 7F0355D4 00002825 */ move $a1, $zero -/* 06A108 7F0355D8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A10C 7F0355DC 92260001 */ lbu $a2, 1($s1) -/* 06A110 7F0355E0 00409025 */ move $s2, $v0 -/* 06A114 7F0355E4 1000FFE9 */ b GetByteS1_ParseCommandByte_SwitchCase #break -/* 06A118 7F0355E8 02C28821 */ addu $s1, $s6, $v0 -Action02_Label: #case 2 -/* 06A11C 7F0355EC 26520002 */ addiu $s2, $s2, 2 # s2++ PC ? # CurrentActionByte += 2 -/* 06A120 7F0355F0 1000FFE6 */ b GetByteS1_ParseCommandByte_SwitchCase # s1 +=2; goto 58c -/* 06A124 7F0355F4 26310002 */ addiu $s1, $s1, 2 -action03_Leave_The_Routine_When_Return_Continue_From_Spot_1: -/* 06A128 7F0355F8 12E00004 */ beqz $s7, .L7F03560C # s2++ PC? -/* 06A12C 7F0355FC 26520001 */ addiu $s2, $s2, 1 # if s7 = 0 goto 0c If actionblock not initilised else ? -/* 06A130 7F035600 AEF60104 */ sw $s6, 0x104($s7) # s7.104 = s6 -/* 06A134 7F035604 100012FE */ b Action04_End_1 # s7.108 = u16(s2) -/* 06A138 7F035608 A6F20108 */ sh $s2, 0x108($s7) # goto end1 (load return addr) -.L7F03560C: -/* 06A13C 7F03560C 8FAF07B0 */ lw $t7, 0x7b0($sp) -/* 06A140 7F035610 8FB807AC */ lw $t8, 0x7ac($sp) -/* 06A144 7F035614 11E00004 */ beqz $t7, .L7F035628 # if t7 = 0 goto 28 -/* 06A148 7F035618 00000000 */ nop -/* 06A14C 7F03561C ADF60080 */ sw $s6, 0x80($t7) #else t7.80 = s6 -/* 06A150 7F035620 100012F7 */ b Action04_End_1 # t7.84 = u16(s2) -/* 06A154 7F035624 A5F20084 */ sh $s2, 0x84($t7) # end1 (load return addr) -.L7F035628: -/* 06A158 7F035628 530012F6 */ beql $t8, $zero, Action04_End_2 # load return addr (same as end1 (sp.74)) -/* 06A15C 7F03562C 8FBF0074 */ lw $ra, 0x74($sp) # if t8 = 0 goto end2 (skip return addr) -/* 06A160 7F035630 AF160080 */ sw $s6, 0x80($t8) # else t8.80 = s6 -/* 06A164 7F035634 100012F2 */ b Action04_End_1 # t8.84 = u16(s2) -/* 06A168 7F035638 A7120084 */ sh $s2, 0x84($t8) # end1(load return addr) -action05_Jump_To_Function_4: -/* 06A16C 7F03563C 92390002 */ lbu $t9, 2($s1) -/* 06A170 7F035640 922A0003 */ lbu $t2, 3($s1) -/* 06A174 7F035644 92250001 */ lbu $a1, 1($s1) -/* 06A178 7F035648 00194A00 */ sll $t1, $t9, 8 -/* 06A17C 7F03564C 012A1825 */ or $v1, $t1, $t2 -/* 06A180 7F035650 306BFFFF */ andi $t3, $v1, 0xffff -/* 06A184 7F035654 240100FD */ li $at, 253 -/* 06A188 7F035658 14A10007 */ bne $a1, $at, .L7F035678 -/* 06A18C 7F03565C 01601825 */ move $v1, $t3 -/* 06A190 7F035660 01602025 */ move $a0, $t3 -/* 06A194 7F035664 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A198 7F035668 00009025 */ move $s2, $zero -/* 06A19C 7F03566C 0040B025 */ move $s6, $v0 -/* 06A1A0 7F035670 1000FFC6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A1A4 7F035674 00408825 */ move $s1, $v0 -.L7F035678: -/* 06A1A8 7F035678 02E02025 */ move $a0, $s7 -/* 06A1AC 7F03567C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A1B0 7F035680 A7A30792 */ sh $v1, 0x792($sp) -/* 06A1B4 7F035684 97A30792 */ lhu $v1, 0x792($sp) -/* 06A1B8 7F035688 10400006 */ beqz $v0, .L7F0356A4 -/* 06A1BC 7F03568C 00408025 */ move $s0, $v0 -/* 06A1C0 7F035690 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A1C4 7F035694 00602025 */ move $a0, $v1 -/* 06A1C8 7F035698 AE020104 */ sw $v0, 0x104($s0) -/* 06A1CC 7F03569C A6000108 */ sh $zero, 0x108($s0) -/* 06A1D0 7F0356A0 A2000008 */ sb $zero, 8($s0) -.L7F0356A4: -/* 06A1D4 7F0356A4 26520004 */ addiu $s2, $s2, 4 -/* 06A1D8 7F0356A8 1000FFB8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A1DC 7F0356AC 26310004 */ addiu $s1, $s1, 4 -action06_Set_Return_Subroutine_for_0007_Command_3: -/* 06A1E0 7F0356B0 922C0001 */ lbu $t4, 1($s1) -/* 06A1E4 7F0356B4 922E0002 */ lbu $t6, 2($s1) -/* 06A1E8 7F0356B8 8FB807B0 */ lw $t8, 0x7b0($sp) -/* 06A1EC 7F0356BC 000C6A00 */ sll $t5, $t4, 8 -/* 06A1F0 7F0356C0 01AE1025 */ or $v0, $t5, $t6 -/* 06A1F4 7F0356C4 304FFFFF */ andi $t7, $v0, 0xffff -/* 06A1F8 7F0356C8 12E00005 */ beqz $s7, .L7F0356E0 -/* 06A1FC 7F0356CC 01E01025 */ move $v0, $t7 -/* 06A200 7F0356D0 A6EF010A */ sh $t7, 0x10a($s7) -/* 06A204 7F0356D4 26520003 */ addiu $s2, $s2, 3 -/* 06A208 7F0356D8 1000FFAC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A20C 7F0356DC 26310003 */ addiu $s1, $s1, 3 -.L7F0356E0: -/* 06A210 7F0356E0 13000005 */ beqz $t8, .L7F0356F8 -/* 06A214 7F0356E4 8FB907AC */ lw $t9, 0x7ac($sp) -/* 06A218 7F0356E8 A7020086 */ sh $v0, 0x86($t8) -/* 06A21C 7F0356EC 26520003 */ addiu $s2, $s2, 3 -/* 06A220 7F0356F0 1000FFA6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A224 7F0356F4 26310003 */ addiu $s1, $s1, 3 -.L7F0356F8: -/* 06A228 7F0356F8 13200002 */ beqz $t9, .L7F035704 -/* 06A22C 7F0356FC 26520003 */ addiu $s2, $s2, 3 -/* 06A230 7F035700 A7220086 */ sh $v0, 0x86($t9) -.L7F035704: -/* 06A234 7F035704 1000FFA1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A238 7F035708 26310003 */ addiu $s1, $s1, 3 -action07_Jump_to_Return_Subroutine_1: -/* 06A23C 7F03570C 12E00006 */ beqz $s7, .L7F035728 -/* 06A240 7F035710 00009025 */ move $s2, $zero -/* 06A244 7F035714 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A248 7F035718 86E4010A */ lh $a0, 0x10a($s7) -/* 06A24C 7F03571C 0040B025 */ move $s6, $v0 -/* 06A250 7F035720 1000FF9A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A254 7F035724 00408825 */ move $s1, $v0 -.L7F035728: -/* 06A258 7F035728 8FA907B0 */ lw $t1, 0x7b0($sp) -/* 06A25C 7F03572C 8FAA07AC */ lw $t2, 0x7ac($sp) -/* 06A260 7F035730 11200006 */ beqz $t1, .L7F03574C -/* 06A264 7F035734 00000000 */ nop -/* 06A268 7F035738 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A26C 7F03573C 85240086 */ lh $a0, 0x86($t1) -/* 06A270 7F035740 0040B025 */ move $s6, $v0 -/* 06A274 7F035744 1000FF91 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A278 7F035748 00408825 */ move $s1, $v0 -.L7F03574C: -/* 06A27C 7F03574C 11400004 */ beqz $t2, .L7F035760 -/* 06A280 7F035750 00000000 */ nop -/* 06A284 7F035754 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A288 7F035758 85440086 */ lh $a0, 0x86($t2) -/* 06A28C 7F03575C 0040B025 */ move $s6, $v0 -.L7F035760: -/* 06A290 7F035760 1000FF8A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A294 7F035764 02C08825 */ move $s1, $s6 -action08_Reset_Animation_1: -/* 06A298 7F035768 0FC0CD75 */ jal sub_GAME_7F0335D4 -/* 06A29C 7F03576C 02E02025 */ move $a0, $s7 -/* 06A2A0 7F035770 26520001 */ addiu $s2, $s2, 1 -/* 06A2A4 7F035774 1000FF85 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A2A8 7F035778 26310001 */ addiu $s1, $s1, 1 -action09_Guard_Kneels_1: -/* 06A2AC 7F03577C 0FC0CDB1 */ jal check_if_able_to_then_kneel -/* 06A2B0 7F035780 02E02025 */ move $a0, $s7 -/* 06A2B4 7F035784 26520001 */ addiu $s2, $s2, 1 -/* 06A2B8 7F035788 1000FF80 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A2BC 7F03578C 26310001 */ addiu $s1, $s1, 1 -action0A_Animation_9: -/* 06A2C0 7F035790 922B0001 */ lbu $t3, 1($s1) -/* 06A2C4 7F035794 922D0002 */ lbu $t5, 2($s1) -/* 06A2C8 7F035798 3401FFFF */ li $at, 65535 -/* 06A2CC 7F03579C 000B6200 */ sll $t4, $t3, 8 -/* 06A2D0 7F0357A0 018D7025 */ or $t6, $t4, $t5 -/* 06A2D4 7F0357A4 AFAE077C */ sw $t6, 0x77c($sp) -/* 06A2D8 7F0357A8 922F0003 */ lbu $t7, 3($s1) -/* 06A2DC 7F0357AC 92290005 */ lbu $t1, 5($s1) -/* 06A2E0 7F0357B0 92390004 */ lbu $t9, 4($s1) -/* 06A2E4 7F0357B4 922B0006 */ lbu $t3, 6($s1) -/* 06A2E8 7F0357B8 000FC200 */ sll $t8, $t7, 8 -/* 06A2EC 7F0357BC 00095200 */ sll $t2, $t1, 8 -/* 06A2F0 7F0357C0 03198025 */ or $s0, $t8, $t9 -/* 06A2F4 7F0357C4 014B6025 */ or $t4, $t2, $t3 -/* 06A2F8 7F0357C8 16010002 */ bne $s0, $at, .L7F0357D4 -/* 06A2FC 7F0357CC AFAC0774 */ sw $t4, 0x774($sp) -/* 06A300 7F0357D0 00008025 */ move $s0, $zero -.L7F0357D4: -/* 06A304 7F0357D4 8FB30774 */ lw $s3, 0x774($sp) -/* 06A308 7F0357D8 3401FFFF */ li $at, 65535 -/* 06A30C 7F0357DC 02E02025 */ move $a0, $s7 -/* 06A310 7F0357E0 16610002 */ bne $s3, $at, .L7F0357EC -/* 06A314 7F0357E4 8FAF07AC */ lw $t7, 0x7ac($sp) -/* 06A318 7F0357E8 2413FFFF */ li $s3, -1 -.L7F0357EC: -/* 06A31C 7F0357EC 12E0000C */ beqz $s7, .L7F035820 -/* 06A320 7F0357F0 00000000 */ nop -/* 06A324 7F0357F4 922D0007 */ lbu $t5, 7($s1) -/* 06A328 7F0357F8 8FA5077C */ lw $a1, 0x77c($sp) -/* 06A32C 7F0357FC 02003025 */ move $a2, $s0 -/* 06A330 7F035800 AFAD0010 */ sw $t5, 0x10($sp) -/* 06A334 7F035804 922E0008 */ lbu $t6, 8($s1) -/* 06A338 7F035808 02603825 */ move $a3, $s3 -/* 06A33C 7F03580C 0FC0CDC0 */ jal check_if_able_to_then_perform_animation -/* 06A340 7F035810 AFAE0014 */ sw $t6, 0x14($sp) -/* 06A344 7F035814 26520009 */ addiu $s2, $s2, 9 -/* 06A348 7F035818 1000FF5C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A34C 7F03581C 26310009 */ addiu $s1, $s1, 9 -.L7F035820: -/* 06A350 7F035820 11E0001B */ beqz $t7, .L7F035890 -/* 06A354 7F035824 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 06A358 7F035828 44813000 */ mtc1 $at, $f6 -/* 06A35C 7F03582C 8DE40014 */ lw $a0, 0x14($t7) -/* 06A360 7F035830 44902000 */ mtc1 $s0, $f4 -/* 06A364 7F035834 E7A60010 */ swc1 $f6, 0x10($sp) -/* 06A368 7F035838 92290008 */ lbu $t1, 8($s1) -/* 06A36C 7F03583C 46802120 */ cvt.s.w $f4, $f4 -/* 06A370 7F035840 8FB8077C */ lw $t8, 0x77c($sp) -/* 06A374 7F035844 44894000 */ mtc1 $t1, $f8 -/* 06A378 7F035848 3C058003 */ lui $a1, %hi(animation_table_ptrs2) -/* 06A37C 7F03584C 0018C880 */ sll $t9, $t8, 2 -/* 06A380 7F035850 468042A0 */ cvt.s.w $f10, $f8 -/* 06A384 7F035854 00B92821 */ addu $a1, $a1, $t9 -/* 06A388 7F035858 44072000 */ mfc1 $a3, $f4 -/* 06A38C 7F03585C 8CA5A04C */ lw $a1, %lo(animation_table_ptrs2)($a1) -/* 06A390 7F035860 00003025 */ move $a2, $zero -/* 06A394 7F035864 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 06A398 7F035868 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 06A39C 7F03586C 06620009 */ bltzl $s3, .L7F035894 -/* 06A3A0 7F035870 26520009 */ addiu $s2, $s2, 9 -/* 06A3A4 7F035874 44938000 */ mtc1 $s3, $f16 -/* 06A3A8 7F035878 8FAA07AC */ lw $t2, 0x7ac($sp) -/* 06A3AC 7F03587C 46808420 */ cvt.s.w $f16, $f16 -/* 06A3B0 7F035880 8D440014 */ lw $a0, 0x14($t2) -/* 06A3B4 7F035884 44058000 */ mfc1 $a1, $f16 -/* 06A3B8 7F035888 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 06A3BC 7F03588C 00000000 */ nop -.L7F035890: -/* 06A3C0 7F035890 26520009 */ addiu $s2, $s2, 9 -.L7F035894: -/* 06A3C4 7F035894 1000FF3D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A3C8 7F035898 26310009 */ addiu $s1, $s1, 9 -action0B_If_Guard_WastingTime_SwatFlies_RVL_2: -/* 06A3CC 7F03589C 82EB0007 */ lb $t3, 7($s7) -/* 06A3D0 7F0358A0 24010003 */ li $at, 3 -/* 06A3D4 7F0358A4 02C02025 */ move $a0, $s6 -/* 06A3D8 7F0358A8 15610006 */ bne $t3, $at, .L7F0358C4 -/* 06A3DC 7F0358AC 02402825 */ move $a1, $s2 -/* 06A3E0 7F0358B0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A3E4 7F0358B4 92260001 */ lbu $a2, 1($s1) -/* 06A3E8 7F0358B8 00409025 */ move $s2, $v0 -/* 06A3EC 7F0358BC 1000FF33 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A3F0 7F0358C0 02C28821 */ addu $s1, $s6, $v0 -.L7F0358C4: -/* 06A3F4 7F0358C4 26520002 */ addiu $s2, $s2, 2 -/* 06A3F8 7F0358C8 1000FF30 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A3FC 7F0358CC 26310002 */ addiu $s1, $s1, 2 -action0C_Guard_Gestures_1: -/* 06A400 7F0358D0 0FC0CD84 */ jal check_if_able_to_then_shuffle_feet -/* 06A404 7F0358D4 02E02025 */ move $a0, $s7 -/* 06A408 7F0358D8 26520001 */ addiu $s2, $s2, 1 -/* 06A40C 7F0358DC 1000FF2B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A410 7F0358E0 26310001 */ addiu $s1, $s1, 1 -action0D_Guard_Looks_Around_When_Shot_At_1: -/* 06A414 7F0358E4 0FC0CDA2 */ jal check_if_able_to_then_look_flustered -/* 06A418 7F0358E8 02E02025 */ move $a0, $s7 -/* 06A41C 7F0358EC 26520001 */ addiu $s2, $s2, 1 -/* 06A420 7F0358F0 1000FF26 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A424 7F0358F4 26310001 */ addiu $s1, $s1, 1 -action2F_When_Guard_Stops_Moving_RVL_2: -/* 06A428 7F0358F8 0FC0A717 */ jal check_if_actor_stationary -/* 06A42C 7F0358FC 02E02025 */ move $a0, $s7 -/* 06A430 7F035900 10400007 */ beqz $v0, .L7F035920 -/* 06A434 7F035904 02C02025 */ move $a0, $s6 -/* 06A438 7F035908 02402825 */ move $a1, $s2 -/* 06A43C 7F03590C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A440 7F035910 92260001 */ lbu $a2, 1($s1) -/* 06A444 7F035914 00409025 */ move $s2, $v0 -/* 06A448 7F035918 1000FF1C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A44C 7F03591C 02C28821 */ addu $s1, $s6, $v0 -.L7F035920: -/* 06A450 7F035920 26520002 */ addiu $s2, $s2, 2 -/* 06A454 7F035924 1000FF19 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A458 7F035928 26310002 */ addiu $s1, $s1, 2 -action30_Detect_If_Guard_Killed_RVL_If_So_3: -/* 06A45C 7F03592C 02E02025 */ move $a0, $s7 -/* 06A460 7F035930 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A464 7F035934 92250001 */ lbu $a1, 1($s1) -/* 06A468 7F035938 10400004 */ beqz $v0, .L7F03594C -/* 06A46C 7F03593C 00402025 */ move $a0, $v0 -/* 06A470 7F035940 0FC0A8A9 */ jal true_if_actor_dying_fading -/* 06A474 7F035944 00000000 */ nop -/* 06A478 7F035948 10400007 */ beqz $v0, .L7F035968 -.L7F03594C: -/* 06A47C 7F03594C 02C02025 */ move $a0, $s6 -/* 06A480 7F035950 02402825 */ move $a1, $s2 -/* 06A484 7F035954 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A488 7F035958 92260002 */ lbu $a2, 2($s1) -/* 06A48C 7F03595C 00409025 */ move $s2, $v0 -/* 06A490 7F035960 1000FF0A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A494 7F035964 02C28821 */ addu $s1, $s6, $v0 -.L7F035968: -/* 06A498 7F035968 26520003 */ addiu $s2, $s2, 3 -/* 06A49C 7F03596C 1000FF07 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A4A0 7F035970 26310003 */ addiu $s1, $s1, 3 -action31_If_GuardID_Finish_DeathAnimation_RVL_3: -/* 06A4A4 7F035974 02E02025 */ move $a0, $s7 -/* 06A4A8 7F035978 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A4AC 7F03597C 92250001 */ lbu $a1, 1($s1) -/* 06A4B0 7F035980 10400003 */ beqz $v0, .L7F035990 -/* 06A4B4 7F035984 02C02025 */ move $a0, $s6 -/* 06A4B8 7F035988 8C4C001C */ lw $t4, 0x1c($v0) -/* 06A4BC 7F03598C 15800006 */ bnez $t4, .L7F0359A8 -.L7F035990: -/* 06A4C0 7F035990 02402825 */ move $a1, $s2 -/* 06A4C4 7F035994 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A4C8 7F035998 92260002 */ lbu $a2, 2($s1) -/* 06A4CC 7F03599C 00409025 */ move $s2, $v0 -/* 06A4D0 7F0359A0 1000FEFA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A4D4 7F0359A4 02C28821 */ addu $s1, $s6, $v0 -.L7F0359A8: -/* 06A4D8 7F0359A8 26520003 */ addiu $s2, $s2, 3 -/* 06A4DC 7F0359AC 1000FEF7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A4E0 7F0359B0 26310003 */ addiu $s1, $s1, 3 -action32_If_Bond_In_Sight_RVL_2: -/* 06A4E4 7F0359B4 0FC0A75C */ jal sub_GAME_7F029D70 -/* 06A4E8 7F0359B8 02E02025 */ move $a0, $s7 -/* 06A4EC 7F0359BC 10400007 */ beqz $v0, .L7F0359DC -/* 06A4F0 7F0359C0 02C02025 */ move $a0, $s6 -/* 06A4F4 7F0359C4 02402825 */ move $a1, $s2 -/* 06A4F8 7F0359C8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A4FC 7F0359CC 92260001 */ lbu $a2, 1($s1) -/* 06A500 7F0359D0 00409025 */ move $s2, $v0 -/* 06A504 7F0359D4 1000FEED */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A508 7F0359D8 02C28821 */ addu $s1, $s6, $v0 -.L7F0359DC: -/* 06A50C 7F0359DC 26520002 */ addiu $s2, $s2, 2 -/* 06A510 7F0359E0 1000FEEA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A514 7F0359E4 26310002 */ addiu $s1, $s1, 2 -action0E_Guard_Steps_Sideways_RVL_2: -/* 06A518 7F0359E8 0FC0A8B2 */ jal actor_steps_sideways -/* 06A51C 7F0359EC 02E02025 */ move $a0, $s7 -/* 06A520 7F0359F0 10400007 */ beqz $v0, .L7F035A10 -/* 06A524 7F0359F4 02C02025 */ move $a0, $s6 -/* 06A528 7F0359F8 02402825 */ move $a1, $s2 -/* 06A52C 7F0359FC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A530 7F035A00 92260001 */ lbu $a2, 1($s1) -/* 06A534 7F035A04 00409025 */ move $s2, $v0 -/* 06A538 7F035A08 1000FEE0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A53C 7F035A0C 02C28821 */ addu $s1, $s6, $v0 -.L7F035A10: -/* 06A540 7F035A10 26520002 */ addiu $s2, $s2, 2 -/* 06A544 7F035A14 1000FEDD */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A548 7F035A18 26310002 */ addiu $s1, $s1, 2 -action0F_Guard_Hops_Sideways_RVL_2: -/* 06A54C 7F035A1C 0FC0A90A */ jal actor_hops_sideways -/* 06A550 7F035A20 02E02025 */ move $a0, $s7 -/* 06A554 7F035A24 10400007 */ beqz $v0, .L7F035A44 -/* 06A558 7F035A28 02C02025 */ move $a0, $s6 -/* 06A55C 7F035A2C 02402825 */ move $a1, $s2 -/* 06A560 7F035A30 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A564 7F035A34 92260001 */ lbu $a2, 1($s1) -/* 06A568 7F035A38 00409025 */ move $s2, $v0 -/* 06A56C 7F035A3C 1000FED3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A570 7F035A40 02C28821 */ addu $s1, $s6, $v0 -.L7F035A44: -/* 06A574 7F035A44 26520002 */ addiu $s2, $s2, 2 -/* 06A578 7F035A48 1000FED0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A57C 7F035A4C 26310002 */ addiu $s1, $s1, 2 -action10_Guard_Runs_Sideways_RVL_2: -/* 06A580 7F035A50 0FC0A962 */ jal actor_runs_sideways -/* 06A584 7F035A54 02E02025 */ move $a0, $s7 -/* 06A588 7F035A58 10400007 */ beqz $v0, .L7F035A78 -/* 06A58C 7F035A5C 02C02025 */ move $a0, $s6 -/* 06A590 7F035A60 02402825 */ move $a1, $s2 -/* 06A594 7F035A64 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A598 7F035A68 92260001 */ lbu $a2, 1($s1) -/* 06A59C 7F035A6C 00409025 */ move $s2, $v0 -/* 06A5A0 7F035A70 1000FEC6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A5A4 7F035A74 02C28821 */ addu $s1, $s6, $v0 -.L7F035A78: -/* 06A5A8 7F035A78 26520002 */ addiu $s2, $s2, 2 -/* 06A5AC 7F035A7C 1000FEC3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A5B0 7F035A80 26310002 */ addiu $s1, $s1, 2 -action11_Guard_Walks_Firing_RVL_2: -/* 06A5B4 7F035A84 0FC0A9C1 */ jal actor_walks_and_fires -/* 06A5B8 7F035A88 02E02025 */ move $a0, $s7 -/* 06A5BC 7F035A8C 10400007 */ beqz $v0, .L7F035AAC -/* 06A5C0 7F035A90 02C02025 */ move $a0, $s6 -/* 06A5C4 7F035A94 02402825 */ move $a1, $s2 -/* 06A5C8 7F035A98 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A5CC 7F035A9C 92260001 */ lbu $a2, 1($s1) -/* 06A5D0 7F035AA0 00409025 */ move $s2, $v0 -/* 06A5D4 7F035AA4 1000FEB9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A5D8 7F035AA8 02C28821 */ addu $s1, $s6, $v0 -.L7F035AAC: -/* 06A5DC 7F035AAC 26520002 */ addiu $s2, $s2, 2 -/* 06A5E0 7F035AB0 1000FEB6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A5E4 7F035AB4 26310002 */ addiu $s1, $s1, 2 -action12_Guard_Runs_Firing_RVL_2: -/* 06A5E8 7F035AB8 0FC0A9FE */ jal actor_runs_and_fires -/* 06A5EC 7F035ABC 02E02025 */ move $a0, $s7 -/* 06A5F0 7F035AC0 10400007 */ beqz $v0, .L7F035AE0 -/* 06A5F4 7F035AC4 02C02025 */ move $a0, $s6 -/* 06A5F8 7F035AC8 02402825 */ move $a1, $s2 -/* 06A5FC 7F035ACC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A600 7F035AD0 92260001 */ lbu $a2, 1($s1) -/* 06A604 7F035AD4 00409025 */ move $s2, $v0 -/* 06A608 7F035AD8 1000FEAC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A60C 7F035ADC 02C28821 */ addu $s1, $s6, $v0 -.L7F035AE0: -/* 06A610 7F035AE0 26520002 */ addiu $s2, $s2, 2 -/* 06A614 7F035AE4 1000FEA9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A618 7F035AE8 26310002 */ addiu $s1, $s1, 2 -action13_Guard_Rolls_On_Ground_Then_Fires_Crouched_RVL_2: -/* 06A61C 7F035AEC 0FC0AA3B */ jal actor_rolls_fires_crouched -/* 06A620 7F035AF0 02E02025 */ move $a0, $s7 -/* 06A624 7F035AF4 10400007 */ beqz $v0, .L7F035B14 -/* 06A628 7F035AF8 02C02025 */ move $a0, $s6 -/* 06A62C 7F035AFC 02402825 */ move $a1, $s2 -/* 06A630 7F035B00 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A634 7F035B04 92260001 */ lbu $a2, 1($s1) -/* 06A638 7F035B08 00409025 */ move $s2, $v0 -/* 06A63C 7F035B0C 1000FE9F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A640 7F035B10 02C28821 */ addu $s1, $s6, $v0 -.L7F035B14: -/* 06A644 7F035B14 26520002 */ addiu $s2, $s2, 2 -/* 06A648 7F035B18 1000FE9C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A64C 7F035B1C 26310002 */ addiu $s1, $s1, 2 -action14_Guard_Aims_Shoots_at_Bond_Guard_Pad_RVL_6: -/* 06A650 7F035B20 922D0003 */ lbu $t5, 3($s1) -/* 06A654 7F035B24 92380001 */ lbu $t8, 1($s1) -/* 06A658 7F035B28 922F0004 */ lbu $t7, 4($s1) -/* 06A65C 7F035B2C 92290002 */ lbu $t1, 2($s1) -/* 06A660 7F035B30 000D7200 */ sll $t6, $t5, 8 -/* 06A664 7F035B34 0018CA00 */ sll $t9, $t8, 8 -/* 06A668 7F035B38 02E02025 */ move $a0, $s7 -/* 06A66C 7F035B3C 01CF3025 */ or $a2, $t6, $t7 -/* 06A670 7F035B40 0FC0AA87 */ jal actor_aim_at_actor -/* 06A674 7F035B44 03292825 */ or $a1, $t9, $t1 -/* 06A678 7F035B48 10400007 */ beqz $v0, .L7F035B68 -/* 06A67C 7F035B4C 02C02025 */ move $a0, $s6 -/* 06A680 7F035B50 02402825 */ move $a1, $s2 -/* 06A684 7F035B54 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A688 7F035B58 92260005 */ lbu $a2, 5($s1) -/* 06A68C 7F035B5C 00409025 */ move $s2, $v0 -/* 06A690 7F035B60 1000FE8A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A694 7F035B64 02C28821 */ addu $s1, $s6, $v0 -.L7F035B68: -/* 06A698 7F035B68 26520006 */ addiu $s2, $s2, 6 -/* 06A69C 7F035B6C 1000FE87 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A6A0 7F035B70 26310006 */ addiu $s1, $s1, 6 -action15_Guard_Kneels_Aims_Shoots_at_Bond_Guard_Pad_RVL_6: -/* 06A6A4 7F035B74 922A0003 */ lbu $t2, 3($s1) -/* 06A6A8 7F035B78 922D0001 */ lbu $t5, 1($s1) -/* 06A6AC 7F035B7C 922C0004 */ lbu $t4, 4($s1) -/* 06A6B0 7F035B80 922F0002 */ lbu $t7, 2($s1) -/* 06A6B4 7F035B84 000A5A00 */ sll $t3, $t2, 8 -/* 06A6B8 7F035B88 000D7200 */ sll $t6, $t5, 8 -/* 06A6BC 7F035B8C 02E02025 */ move $a0, $s7 -/* 06A6C0 7F035B90 016C3025 */ or $a2, $t3, $t4 -/* 06A6C4 7F035B94 0FC0AAA2 */ jal actor_kneel_aim_at_actor -/* 06A6C8 7F035B98 01CF2825 */ or $a1, $t6, $t7 -/* 06A6CC 7F035B9C 10400007 */ beqz $v0, .L7F035BBC -/* 06A6D0 7F035BA0 02C02025 */ move $a0, $s6 -/* 06A6D4 7F035BA4 02402825 */ move $a1, $s2 -/* 06A6D8 7F035BA8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A6DC 7F035BAC 92260005 */ lbu $a2, 5($s1) -/* 06A6E0 7F035BB0 00409025 */ move $s2, $v0 -/* 06A6E4 7F035BB4 1000FE75 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A6E8 7F035BB8 02C28821 */ addu $s1, $s6, $v0 -.L7F035BBC: -/* 06A6EC 7F035BBC 26520006 */ addiu $s2, $s2, 6 -/* 06A6F0 7F035BC0 1000FE72 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A6F4 7F035BC4 26310006 */ addiu $s1, $s1, 6 -actionE7_If_Guard_Moving_And_Shooting_RVL_2: -/* 06A6F8 7F035BC8 82F80007 */ lb $t8, 7($s7) -/* 06A6FC 7F035BCC 24010008 */ li $at, 8 -/* 06A700 7F035BD0 57010010 */ bnel $t8, $at, .L7F035C14 -/* 06A704 7F035BD4 26520002 */ addiu $s2, $s2, 2 -/* 06A708 7F035BD8 8EF90058 */ lw $t9, 0x58($s7) -/* 06A70C 7F035BDC 5720000D */ bnezl $t9, .L7F035C14 -/* 06A710 7F035BE0 26520002 */ addiu $s2, $s2, 2 -/* 06A714 7F035BE4 8EE9004C */ lw $t1, 0x4c($s7) -/* 06A718 7F035BE8 02C02025 */ move $a0, $s6 -/* 06A71C 7F035BEC 02402825 */ move $a1, $s2 -/* 06A720 7F035BF0 312A0040 */ andi $t2, $t1, 0x40 -/* 06A724 7F035BF4 51400007 */ beql $t2, $zero, .L7F035C14 -/* 06A728 7F035BF8 26520002 */ addiu $s2, $s2, 2 -/* 06A72C 7F035BFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A730 7F035C00 92260001 */ lbu $a2, 1($s1) -/* 06A734 7F035C04 00409025 */ move $s2, $v0 -/* 06A738 7F035C08 1000FE60 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A73C 7F035C0C 02C28821 */ addu $s1, $s6, $v0 -/* 06A740 7F035C10 26520002 */ addiu $s2, $s2, 2 -.L7F035C14: -/* 06A744 7F035C14 1000FE5D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A748 7F035C18 26310002 */ addiu $s1, $s1, 2 -actionE8_If_Guard_Is_Shooting_RVL_2: -/* 06A74C 7F035C1C 82EB0007 */ lb $t3, 7($s7) -/* 06A750 7F035C20 24010008 */ li $at, 8 -/* 06A754 7F035C24 02C02025 */ move $a0, $s6 -/* 06A758 7F035C28 15610006 */ bne $t3, $at, .L7F035C44 -/* 06A75C 7F035C2C 02402825 */ move $a1, $s2 -/* 06A760 7F035C30 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A764 7F035C34 92260001 */ lbu $a2, 1($s1) -/* 06A768 7F035C38 00409025 */ move $s2, $v0 -/* 06A76C 7F035C3C 1000FE53 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A770 7F035C40 02C28821 */ addu $s1, $s6, $v0 -.L7F035C44: -/* 06A774 7F035C44 26520002 */ addiu $s2, $s2, 2 -/* 06A778 7F035C48 1000FE50 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A77C 7F035C4C 26310002 */ addiu $s1, $s1, 2 -action16_Guard_Shoots_Guards_Without_Animation_Change_RVL_6: -/* 06A780 7F035C50 922C0003 */ lbu $t4, 3($s1) -/* 06A784 7F035C54 922F0001 */ lbu $t7, 1($s1) -/* 06A788 7F035C58 922E0004 */ lbu $t6, 4($s1) -/* 06A78C 7F035C5C 92390002 */ lbu $t9, 2($s1) -/* 06A790 7F035C60 000C6A00 */ sll $t5, $t4, 8 -/* 06A794 7F035C64 000FC200 */ sll $t8, $t7, 8 -/* 06A798 7F035C68 02E02025 */ move $a0, $s7 -/* 06A79C 7F035C6C 01AE3025 */ or $a2, $t5, $t6 -/* 06A7A0 7F035C70 0FC0AABD */ jal sub_GAME_7F02AAF4 -/* 06A7A4 7F035C74 03192825 */ or $a1, $t8, $t9 -/* 06A7A8 7F035C78 10400007 */ beqz $v0, .L7F035C98 -/* 06A7AC 7F035C7C 02C02025 */ move $a0, $s6 -/* 06A7B0 7F035C80 02402825 */ move $a1, $s2 -/* 06A7B4 7F035C84 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A7B8 7F035C88 92260005 */ lbu $a2, 5($s1) -/* 06A7BC 7F035C8C 00409025 */ move $s2, $v0 -/* 06A7C0 7F035C90 1000FE3E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A7C4 7F035C94 02C28821 */ addu $s1, $s6, $v0 -.L7F035C98: -/* 06A7C8 7F035C98 26520006 */ addiu $s2, $s2, 6 -/* 06A7CC 7F035C9C 1000FE3B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A7D0 7F035CA0 26310006 */ addiu $s1, $s1, 6 -action17_Guard_Constantly_Angles_To_Face_RVL_6: -/* 06A7D4 7F035CA4 92290003 */ lbu $t1, 3($s1) -/* 06A7D8 7F035CA8 922C0001 */ lbu $t4, 1($s1) -/* 06A7DC 7F035CAC 922B0004 */ lbu $t3, 4($s1) -/* 06A7E0 7F035CB0 922E0002 */ lbu $t6, 2($s1) -/* 06A7E4 7F035CB4 00095200 */ sll $t2, $t1, 8 -/* 06A7E8 7F035CB8 000C6A00 */ sll $t5, $t4, 8 -/* 06A7EC 7F035CBC 02E02025 */ move $a0, $s7 -/* 06A7F0 7F035CC0 014B3025 */ or $a2, $t2, $t3 -/* 06A7F4 7F035CC4 0FC0AAD1 */ jal check_set_actor_standing_still -/* 06A7F8 7F035CC8 01AE2825 */ or $a1, $t5, $t6 -/* 06A7FC 7F035CCC 10400007 */ beqz $v0, .L7F035CEC -/* 06A800 7F035CD0 02C02025 */ move $a0, $s6 -/* 06A804 7F035CD4 02402825 */ move $a1, $s2 -/* 06A808 7F035CD8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A80C 7F035CDC 92260005 */ lbu $a2, 5($s1) -/* 06A810 7F035CE0 00409025 */ move $s2, $v0 -/* 06A814 7F035CE4 1000FE29 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A818 7F035CE8 02C28821 */ addu $s1, $s6, $v0 -.L7F035CEC: -/* 06A81C 7F035CEC 26520006 */ addiu $s2, $s2, 6 -/* 06A820 7F035CF0 1000FE26 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A824 7F035CF4 26310006 */ addiu $s1, $s1, 6 -action18_Shoot_Guard_ID_In_Style_With_Weapon_Type_num_4: -/* 06A828 7F035CF8 02E02025 */ move $a0, $s7 -/* 06A82C 7F035CFC 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A830 7F035D00 92250001 */ lbu $a1, 1($s1) -/* 06A834 7F035D04 3C188003 */ lui $t8, %hi(D_80030A70) -/* 06A838 7F035D08 27180A70 */ addiu $t8, %lo(D_80030A70) # addiu $t8, $t8, 0xa70 -/* 06A83C 7F035D0C 8F010000 */ lw $at, ($t8) -/* 06A840 7F035D10 27AF06F4 */ addiu $t7, $sp, 0x6f4 -/* 06A844 7F035D14 8F090004 */ lw $t1, 4($t8) -/* 06A848 7F035D18 ADE10000 */ sw $at, ($t7) -/* 06A84C 7F035D1C 8F010008 */ lw $at, 8($t8) -/* 06A850 7F035D20 00402025 */ move $a0, $v0 -/* 06A854 7F035D24 ADE90004 */ sw $t1, 4($t7) -/* 06A858 7F035D28 10400009 */ beqz $v0, .L7F035D50 -/* 06A85C 7F035D2C ADE10008 */ sw $at, 8($t7) -/* 06A860 7F035D30 8C4A0018 */ lw $t2, 0x18($v0) -/* 06A864 7F035D34 51400007 */ beql $t2, $zero, .L7F035D54 -/* 06A868 7F035D38 26520004 */ addiu $s2, $s2, 4 -/* 06A86C 7F035D3C 82250002 */ lb $a1, 2($s1) -/* 06A870 7F035D40 92270003 */ lbu $a3, 3($s1) -/* 06A874 7F035D44 AFA00010 */ sw $zero, 0x10($sp) -/* 06A878 7F035D48 0FC09C9F */ jal handles_shot_actors -/* 06A87C 7F035D4C 27A606F4 */ addiu $a2, $sp, 0x6f4 -.L7F035D50: -/* 06A880 7F035D50 26520004 */ addiu $s2, $s2, 4 -.L7F035D54: -/* 06A884 7F035D54 1000FE0D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A888 7F035D58 26310004 */ addiu $s1, $s1, 4 -action19_Guard_ID1_Shoots_Guard_ID2_In_Style_4: -/* 06A88C 7F035D5C 02E02025 */ move $a0, $s7 -/* 06A890 7F035D60 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A894 7F035D64 92250001 */ lbu $a1, 1($s1) -/* 06A898 7F035D68 00408025 */ move $s0, $v0 -/* 06A89C 7F035D6C 02E02025 */ move $a0, $s7 -/* 06A8A0 7F035D70 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A8A4 7F035D74 92250002 */ lbu $a1, 2($s1) -/* 06A8A8 7F035D78 1200003C */ beqz $s0, .L7F035E6C -/* 06A8AC 7F035D7C AFA206E8 */ sw $v0, 0x6e8($sp) -/* 06A8B0 7F035D80 1040003A */ beqz $v0, .L7F035E6C -/* 06A8B4 7F035D84 00409825 */ move $s3, $v0 -/* 06A8B8 7F035D88 8E0B0018 */ lw $t3, 0x18($s0) -/* 06A8BC 7F035D8C 51600038 */ beql $t3, $zero, .L7F035E70 -/* 06A8C0 7F035D90 26520004 */ addiu $s2, $s2, 4 -/* 06A8C4 7F035D94 8C4C0018 */ lw $t4, 0x18($v0) -/* 06A8C8 7F035D98 02002025 */ move $a0, $s0 -/* 06A8CC 7F035D9C 51800034 */ beql $t4, $zero, .L7F035E70 -/* 06A8D0 7F035DA0 26520004 */ addiu $s2, $s2, 4 -/* 06A8D4 7F035DA4 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 06A8D8 7F035DA8 00002825 */ move $a1, $zero -/* 06A8DC 7F035DAC 3C0E8003 */ lui $t6, %hi(D_80030A7C) -/* 06A8E0 7F035DB0 25CE0A7C */ addiu $t6, %lo(D_80030A7C) # addiu $t6, $t6, 0xa7c -/* 06A8E4 7F035DB4 8DC10000 */ lw $at, ($t6) -/* 06A8E8 7F035DB8 27AD06D4 */ addiu $t5, $sp, 0x6d4 -/* 06A8EC 7F035DBC 8DCF0004 */ lw $t7, 4($t6) -/* 06A8F0 7F035DC0 ADA10000 */ sw $at, ($t5) -/* 06A8F4 7F035DC4 8DC10008 */ lw $at, 8($t6) -/* 06A8F8 7F035DC8 00401825 */ move $v1, $v0 -/* 06A8FC 7F035DCC ADAF0004 */ sw $t7, 4($t5) -/* 06A900 7F035DD0 14400005 */ bnez $v0, .L7F035DE8 -/* 06A904 7F035DD4 ADA10008 */ sw $at, 8($t5) -/* 06A908 7F035DD8 02002025 */ move $a0, $s0 -/* 06A90C 7F035DDC 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 06A910 7F035DE0 24050001 */ li $a1, 1 -/* 06A914 7F035DE4 00401825 */ move $v1, $v0 -.L7F035DE8: -/* 06A918 7F035DE8 50400021 */ beql $v0, $zero, .L7F035E70 -/* 06A91C 7F035DEC 26520004 */ addiu $s2, $s2, 4 -/* 06A920 7F035DF0 8E780018 */ lw $t8, 0x18($s3) -/* 06A924 7F035DF4 8E090018 */ lw $t1, 0x18($s0) -/* 06A928 7F035DF8 27A406D4 */ addiu $a0, $sp, 0x6d4 -/* 06A92C 7F035DFC C7120008 */ lwc1 $f18, 8($t8) -/* 06A930 7F035E00 C5240008 */ lwc1 $f4, 8($t1) -/* 06A934 7F035E04 27A506D8 */ addiu $a1, $sp, 0x6d8 -/* 06A938 7F035E08 27A606DC */ addiu $a2, $sp, 0x6dc -/* 06A93C 7F035E0C 46049181 */ sub.s $f6, $f18, $f4 -/* 06A940 7F035E10 E7A606D4 */ swc1 $f6, 0x6d4($sp) -/* 06A944 7F035E14 8E0B0018 */ lw $t3, 0x18($s0) -/* 06A948 7F035E18 8E6A0018 */ lw $t2, 0x18($s3) -/* 06A94C 7F035E1C C56A000C */ lwc1 $f10, 0xc($t3) -/* 06A950 7F035E20 C548000C */ lwc1 $f8, 0xc($t2) -/* 06A954 7F035E24 460A4401 */ sub.s $f16, $f8, $f10 -/* 06A958 7F035E28 E7B006D8 */ swc1 $f16, 0x6d8($sp) -/* 06A95C 7F035E2C 8E190018 */ lw $t9, 0x18($s0) -/* 06A960 7F035E30 8E6C0018 */ lw $t4, 0x18($s3) -/* 06A964 7F035E34 C7240010 */ lwc1 $f4, 0x10($t9) -/* 06A968 7F035E38 C5920010 */ lwc1 $f18, 0x10($t4) -/* 06A96C 7F035E3C AFA306E4 */ sw $v1, 0x6e4($sp) -/* 06A970 7F035E40 46049181 */ sub.s $f6, $f18, $f4 -/* 06A974 7F035E44 0C007DD4 */ jal guNormalize -/* 06A978 7F035E48 E7A606DC */ swc1 $f6, 0x6dc($sp) -/* 06A97C 7F035E4C 8FA306E4 */ lw $v1, 0x6e4($sp) -/* 06A980 7F035E50 82250003 */ lb $a1, 3($s1) -/* 06A984 7F035E54 02602025 */ move $a0, $s3 -/* 06A988 7F035E58 8C620004 */ lw $v0, 4($v1) -/* 06A98C 7F035E5C 27A606D4 */ addiu $a2, $sp, 0x6d4 -/* 06A990 7F035E60 80470080 */ lb $a3, 0x80($v0) -/* 06A994 7F035E64 0FC09C9F */ jal handles_shot_actors -/* 06A998 7F035E68 AFA00010 */ sw $zero, 0x10($sp) -.L7F035E6C: -/* 06A99C 7F035E6C 26520004 */ addiu $s2, $s2, 4 -.L7F035E70: -/* 06A9A0 7F035E70 1000FDC6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A9A4 7F035E74 26310004 */ addiu $s1, $s1, 4 -action1A_Guard_Throws_Grenade_RVL_2: -/* 06A9A8 7F035E78 0FC0D15F */ jal actor_draws_throws_grenade_at_player_if_possible -/* 06A9AC 7F035E7C 02E02025 */ move $a0, $s7 -/* 06A9B0 7F035E80 10400007 */ beqz $v0, .L7F035EA0 -/* 06A9B4 7F035E84 02C02025 */ move $a0, $s6 -/* 06A9B8 7F035E88 02402825 */ move $a1, $s2 -/* 06A9BC 7F035E8C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A9C0 7F035E90 92260001 */ lbu $a2, 1($s1) -/* 06A9C4 7F035E94 00409025 */ move $s2, $v0 -/* 06A9C8 7F035E98 1000FDBC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A9CC 7F035E9C 02C28821 */ addu $s1, $s6, $v0 -.L7F035EA0: -/* 06A9D0 7F035EA0 26520002 */ addiu $s2, $s2, 2 -/* 06A9D4 7F035EA4 1000FDB9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A9D8 7F035EA8 26310002 */ addiu $s1, $s1, 2 -action1B_Drop_Weapon_Inventory_num_RVL_5: -/* 06A9DC 7F035EAC 922D0001 */ lbu $t5, 1($s1) -/* 06A9E0 7F035EB0 922F0002 */ lbu $t7, 2($s1) -/* 06A9E4 7F035EB4 02E02025 */ move $a0, $s7 -/* 06A9E8 7F035EB8 000D7200 */ sll $t6, $t5, 8 -/* 06A9EC 7F035EBC 01CF1025 */ or $v0, $t6, $t7 -/* 06A9F0 7F035EC0 3045FFFF */ andi $a1, $v0, 0xffff -/* 06A9F4 7F035EC4 0FC0D1BF */ jal actor_drops_itemtype_setting_timer -/* 06A9F8 7F035EC8 92260003 */ lbu $a2, 3($s1) -/* 06A9FC 7F035ECC 10400007 */ beqz $v0, .L7F035EEC -/* 06AA00 7F035ED0 02C02025 */ move $a0, $s6 -/* 06AA04 7F035ED4 02402825 */ move $a1, $s2 -/* 06AA08 7F035ED8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AA0C 7F035EDC 92260004 */ lbu $a2, 4($s1) -/* 06AA10 7F035EE0 00409025 */ move $s2, $v0 -/* 06AA14 7F035EE4 1000FDA9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA18 7F035EE8 02C28821 */ addu $s1, $s6, $v0 -.L7F035EEC: -/* 06AA1C 7F035EEC 26520005 */ addiu $s2, $s2, 5 -/* 06AA20 7F035EF0 1000FDA6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA24 7F035EF4 26310005 */ addiu $s1, $s1, 5 -action21_Guard_Surrenders_1: -/* 06AA28 7F035EF8 0FC0CCD9 */ jal check_if_able_to_then_surrender -/* 06AA2C 7F035EFC 02E02025 */ move $a0, $s7 -/* 06AA30 7F035F00 26520001 */ addiu $s2, $s2, 1 -/* 06AA34 7F035F04 1000FDA1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA38 7F035F08 26310001 */ addiu $s1, $s1, 1 -action22_Guard_Set_To_Move_Fades_And_Disappear_1: -/* 06AA3C 7F035F0C 0FC0CCE8 */ jal sub_GAME_7F0333A0 -/* 06AA40 7F035F10 02E02025 */ move $a0, $s7 -/* 06AA44 7F035F14 26520001 */ addiu $s2, $s2, 1 -/* 06AA48 7F035F18 1000FD9C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA4C 7F035F1C 26310001 */ addiu $s1, $s1, 1 -action23_Eliminate_Guard_ID_2: -/* 06AA50 7F035F20 02E02025 */ move $a0, $s7 -/* 06AA54 7F035F24 0FC0CC10 */ jal get_handle_for_guard_id -/* 06AA58 7F035F28 92250001 */ lbu $a1, 1($s1) -/* 06AA5C 7F035F2C 10400007 */ beqz $v0, .L7F035F4C -/* 06AA60 7F035F30 26520002 */ addiu $s2, $s2, 2 -/* 06AA64 7F035F34 8C490018 */ lw $t1, 0x18($v0) -/* 06AA68 7F035F38 11200004 */ beqz $t1, .L7F035F4C -/* 06AA6C 7F035F3C 00000000 */ nop -/* 06AA70 7F035F40 944A0012 */ lhu $t2, 0x12($v0) -/* 06AA74 7F035F44 354B0020 */ ori $t3, $t2, 0x20 -/* 06AA78 7F035F48 A44B0012 */ sh $t3, 0x12($v0) -.L7F035F4C: -/* 06AA7C 7F035F4C 1000FD8F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA80 7F035F50 26310002 */ addiu $s1, $s1, 2 -action24_Activate_Object_At_Preset_RVL_If_Successful_4: -/* 06AA84 7F035F54 922C0001 */ lbu $t4, 1($s1) -/* 06AA88 7F035F58 922D0002 */ lbu $t5, 2($s1) -/* 06AA8C 7F035F5C 02E02025 */ move $a0, $s7 -/* 06AA90 7F035F60 000CCA00 */ sll $t9, $t4, 8 -/* 06AA94 7F035F64 032D1025 */ or $v0, $t9, $t5 -/* 06AA98 7F035F68 0FC0D145 */ jal sub_GAME_7F034514 -/* 06AA9C 7F035F6C 3045FFFF */ andi $a1, $v0, 0xffff -/* 06AAA0 7F035F70 10400007 */ beqz $v0, .L7F035F90 -/* 06AAA4 7F035F74 02C02025 */ move $a0, $s6 -/* 06AAA8 7F035F78 02402825 */ move $a1, $s2 -/* 06AAAC 7F035F7C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AAB0 7F035F80 92260003 */ lbu $a2, 3($s1) -/* 06AAB4 7F035F84 00409025 */ move $s2, $v0 -/* 06AAB8 7F035F88 1000FD80 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AABC 7F035F8C 02C28821 */ addu $s1, $s6, $v0 -.L7F035F90: -/* 06AAC0 7F035F90 26520004 */ addiu $s2, $s2, 4 -/* 06AAC4 7F035F94 1000FD7D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AAC8 7F035F98 26310004 */ addiu $s1, $s1, 4 -action25_Sound_Alarm_1: -/* 06AACC 7F035F9C 0FC15772 */ jal start_alarm -/* 06AAD0 7F035FA0 00000000 */ nop -/* 06AAD4 7F035FA4 26520001 */ addiu $s2, $s2, 1 -/* 06AAD8 7F035FA8 1000FD78 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AADC 7F035FAC 26310001 */ addiu $s1, $s1, 1 -action26_Turn_Off_Alarm_1: -/* 06AAE0 7F035FB0 0FC1578B */ jal stop_alarm -/* 06AAE4 7F035FB4 00000000 */ nop -/* 06AAE8 7F035FB8 26520001 */ addiu $s2, $s2, 1 -/* 06AAEC 7F035FBC 1000FD73 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AAF0 7F035FC0 26310001 */ addiu $s1, $s1, 1 -action27_Return_False_Invalid_Type_2: -/* 06AAF4 7F035FC4 0FC0D13F */ jal removed_animation_routine_27 -/* 06AAF8 7F035FC8 02E02025 */ move $a0, $s7 -/* 06AAFC 7F035FCC 10400007 */ beqz $v0, .L7F035FEC -/* 06AB00 7F035FD0 02C02025 */ move $a0, $s6 -/* 06AB04 7F035FD4 02402825 */ move $a1, $s2 -/* 06AB08 7F035FD8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AB0C 7F035FDC 92260001 */ lbu $a2, 1($s1) -/* 06AB10 7F035FE0 00409025 */ move $s2, $v0 -/* 06AB14 7F035FE4 1000FD69 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB18 7F035FE8 02C28821 */ addu $s1, $s6, $v0 -.L7F035FEC: -/* 06AB1C 7F035FEC 26520002 */ addiu $s2, $s2, 2 -/* 06AB20 7F035FF0 1000FD66 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB24 7F035FF4 26310002 */ addiu $s1, $s1, 2 -action28_Jog_To_Bond_Return_Loop_When_Reached_Bond_2: -/* 06AB28 7F035FF8 02E02025 */ move $a0, $s7 -/* 06AB2C 7F035FFC 0FC0CD28 */ jal actor_move_to_curplayer_at_speed -/* 06AB30 7F036000 24050001 */ li $a1, 1 -/* 06AB34 7F036004 10400007 */ beqz $v0, .L7F036024 -/* 06AB38 7F036008 02C02025 */ move $a0, $s6 -/* 06AB3C 7F03600C 02402825 */ move $a1, $s2 -/* 06AB40 7F036010 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AB44 7F036014 92260001 */ lbu $a2, 1($s1) -/* 06AB48 7F036018 00409025 */ move $s2, $v0 -/* 06AB4C 7F03601C 1000FD5B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB50 7F036020 02C28821 */ addu $s1, $s6, $v0 -.L7F036024: -/* 06AB54 7F036024 26520002 */ addiu $s2, $s2, 2 -/* 06AB58 7F036028 1000FD58 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB5C 7F03602C 26310002 */ addiu $s1, $s1, 2 -action29_Walk_To_Bond_Return_Loop_When_Reached_Bond_2: -/* 06AB60 7F036030 02E02025 */ move $a0, $s7 -/* 06AB64 7F036034 0FC0CD28 */ jal actor_move_to_curplayer_at_speed -/* 06AB68 7F036038 00002825 */ move $a1, $zero -/* 06AB6C 7F03603C 10400007 */ beqz $v0, .L7F03605C -/* 06AB70 7F036040 02C02025 */ move $a0, $s6 -/* 06AB74 7F036044 02402825 */ move $a1, $s2 -/* 06AB78 7F036048 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AB7C 7F03604C 92260001 */ lbu $a2, 1($s1) -/* 06AB80 7F036050 00409025 */ move $s2, $v0 -/* 06AB84 7F036054 1000FD4D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB88 7F036058 02C28821 */ addu $s1, $s6, $v0 -.L7F03605C: -/* 06AB8C 7F03605C 26520002 */ addiu $s2, $s2, 2 -/* 06AB90 7F036060 1000FD4A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB94 7F036064 26310002 */ addiu $s1, $s1, 2 -action2A_Run_To_Bond_Return_Loop_When_Reached_Bond_2: -/* 06AB98 7F036068 02E02025 */ move $a0, $s7 -/* 06AB9C 7F03606C 0FC0CD28 */ jal actor_move_to_curplayer_at_speed -/* 06ABA0 7F036070 24050002 */ li $a1, 2 -/* 06ABA4 7F036074 10400007 */ beqz $v0, .L7F036094 -/* 06ABA8 7F036078 02C02025 */ move $a0, $s6 -/* 06ABAC 7F03607C 02402825 */ move $a1, $s2 -/* 06ABB0 7F036080 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06ABB4 7F036084 92260001 */ lbu $a2, 1($s1) -/* 06ABB8 7F036088 00409025 */ move $s2, $v0 -/* 06ABBC 7F03608C 1000FD3F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ABC0 7F036090 02C28821 */ addu $s1, $s6, $v0 -.L7F036094: -/* 06ABC4 7F036094 26520002 */ addiu $s2, $s2, 2 -/* 06ABC8 7F036098 1000FD3C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ABCC 7F03609C 26310002 */ addiu $s1, $s1, 2 -action2B_Return_False_Invalid_Type_2: -/* 06ABD0 7F0360A0 0FC0D142 */ jal removed_animation_routine_2B -/* 06ABD4 7F0360A4 02E02025 */ move $a0, $s7 -/* 06ABD8 7F0360A8 10400007 */ beqz $v0, .L7F0360C8 -/* 06ABDC 7F0360AC 02C02025 */ move $a0, $s6 -/* 06ABE0 7F0360B0 02402825 */ move $a1, $s2 -/* 06ABE4 7F0360B4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06ABE8 7F0360B8 92260001 */ lbu $a2, 1($s1) -/* 06ABEC 7F0360BC 00409025 */ move $s2, $v0 -/* 06ABF0 7F0360C0 1000FD32 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ABF4 7F0360C4 02C28821 */ addu $s1, $s6, $v0 -.L7F0360C8: -/* 06ABF8 7F0360C8 26520002 */ addiu $s2, $s2, 2 -/* 06ABFC 7F0360CC 1000FD2F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC00 7F0360D0 26310002 */ addiu $s1, $s1, 2 -action2C_Jog_To_Character_Position_RVL_On_Arrival_3: -/* 06AC04 7F0360D4 02E02025 */ move $a0, $s7 -/* 06AC08 7F0360D8 92250001 */ lbu $a1, 1($s1) -/* 06AC0C 7F0360DC 0FC0CD43 */ jal actor_move_to_actorID_at_speed -/* 06AC10 7F0360E0 24060001 */ li $a2, 1 -/* 06AC14 7F0360E4 10400007 */ beqz $v0, .L7F036104 -/* 06AC18 7F0360E8 02C02025 */ move $a0, $s6 -/* 06AC1C 7F0360EC 02402825 */ move $a1, $s2 -/* 06AC20 7F0360F0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AC24 7F0360F4 92260002 */ lbu $a2, 2($s1) -/* 06AC28 7F0360F8 00409025 */ move $s2, $v0 -/* 06AC2C 7F0360FC 1000FD23 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC30 7F036100 02C28821 */ addu $s1, $s6, $v0 -.L7F036104: -/* 06AC34 7F036104 26520003 */ addiu $s2, $s2, 3 -/* 06AC38 7F036108 1000FD20 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC3C 7F03610C 26310003 */ addiu $s1, $s1, 3 -action2D_Walk_To_Character_Position_RVL_On_Arrival_3: -/* 06AC40 7F036110 02E02025 */ move $a0, $s7 -/* 06AC44 7F036114 92250001 */ lbu $a1, 1($s1) -/* 06AC48 7F036118 0FC0CD43 */ jal actor_move_to_actorID_at_speed -/* 06AC4C 7F03611C 00003025 */ move $a2, $zero -/* 06AC50 7F036120 10400007 */ beqz $v0, .L7F036140 -/* 06AC54 7F036124 02C02025 */ move $a0, $s6 -/* 06AC58 7F036128 02402825 */ move $a1, $s2 -/* 06AC5C 7F03612C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AC60 7F036130 92260002 */ lbu $a2, 2($s1) -/* 06AC64 7F036134 00409025 */ move $s2, $v0 -/* 06AC68 7F036138 1000FD14 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC6C 7F03613C 02C28821 */ addu $s1, $s6, $v0 -.L7F036140: -/* 06AC70 7F036140 26520003 */ addiu $s2, $s2, 3 -/* 06AC74 7F036144 1000FD11 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC78 7F036148 26310003 */ addiu $s1, $s1, 3 -action2E_Run_To_Character_Position_RVL_On_Arrival_3: -/* 06AC7C 7F03614C 02E02025 */ move $a0, $s7 -/* 06AC80 7F036150 92250001 */ lbu $a1, 1($s1) -/* 06AC84 7F036154 0FC0CD43 */ jal actor_move_to_actorID_at_speed -/* 06AC88 7F036158 24060002 */ li $a2, 2 -/* 06AC8C 7F03615C 10400007 */ beqz $v0, .L7F03617C -/* 06AC90 7F036160 02C02025 */ move $a0, $s6 -/* 06AC94 7F036164 02402825 */ move $a1, $s2 -/* 06AC98 7F036168 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AC9C 7F03616C 92260002 */ lbu $a2, 2($s1) -/* 06ACA0 7F036170 00409025 */ move $s2, $v0 -/* 06ACA4 7F036174 1000FD05 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ACA8 7F036178 02C28821 */ addu $s1, $s6, $v0 -.L7F03617C: -/* 06ACAC 7F03617C 26520003 */ addiu $s2, $s2, 3 -/* 06ACB0 7F036180 1000FD02 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ACB4 7F036184 26310003 */ addiu $s1, $s1, 3 -action33_Seed_Random_Byte_1: -/* 06ACB8 7F036188 0C002914 */ jal get_random_value -/* 06ACBC 7F03618C 00000000 */ nop -/* 06ACC0 7F036190 A2E2010F */ sb $v0, 0x10f($s7) -/* 06ACC4 7F036194 26520001 */ addiu $s2, $s2, 1 -/* 06ACC8 7F036198 1000FCFC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ACCC 7F03619C 26310001 */ addiu $s1, $s1, 1 -action34_If_Seeded_Byte_LTV_Go_Into_RVL_3: -/* 06ACD0 7F0361A0 92F8010F */ lbu $t8, 0x10f($s7) -/* 06ACD4 7F0361A4 92290001 */ lbu $t1, 1($s1) -/* 06ACD8 7F0361A8 02C02025 */ move $a0, $s6 -/* 06ACDC 7F0361AC 02402825 */ move $a1, $s2 -/* 06ACE0 7F0361B0 0309082A */ slt $at, $t8, $t1 -/* 06ACE4 7F0361B4 50200007 */ beql $at, $zero, .L7F0361D4 -/* 06ACE8 7F0361B8 26520003 */ addiu $s2, $s2, 3 -/* 06ACEC 7F0361BC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06ACF0 7F0361C0 92260002 */ lbu $a2, 2($s1) -/* 06ACF4 7F0361C4 00409025 */ move $s2, $v0 -/* 06ACF8 7F0361C8 1000FCF0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ACFC 7F0361CC 02C28821 */ addu $s1, $s6, $v0 -/* 06AD00 7F0361D0 26520003 */ addiu $s2, $s2, 3 -.L7F0361D4: -/* 06AD04 7F0361D4 1000FCED */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD08 7F0361D8 26310003 */ addiu $s1, $s1, 3 -action35_If_Seeded_Byte_GTV_Go_Into_RVL_3: -/* 06AD0C 7F0361DC 922A0001 */ lbu $t2, 1($s1) -/* 06AD10 7F0361E0 92EB010F */ lbu $t3, 0x10f($s7) -/* 06AD14 7F0361E4 02C02025 */ move $a0, $s6 -/* 06AD18 7F0361E8 02402825 */ move $a1, $s2 -/* 06AD1C 7F0361EC 014B082A */ slt $at, $t2, $t3 -/* 06AD20 7F0361F0 50200007 */ beql $at, $zero, .L7F036210 -/* 06AD24 7F0361F4 26520003 */ addiu $s2, $s2, 3 -/* 06AD28 7F0361F8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AD2C 7F0361FC 92260002 */ lbu $a2, 2($s1) -/* 06AD30 7F036200 00409025 */ move $s2, $v0 -/* 06AD34 7F036204 1000FCE1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD38 7F036208 02C28821 */ addu $s1, $s6, $v0 -/* 06AD3C 7F03620C 26520003 */ addiu $s2, $s2, 3 -.L7F036210: -/* 06AD40 7F036210 1000FCDE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD44 7F036214 26310003 */ addiu $s1, $s1, 3 -action1C_Guard_Jogs_To_Preset_3: -/* 06AD48 7F036218 922C0001 */ lbu $t4, 1($s1) -/* 06AD4C 7F03621C 922D0002 */ lbu $t5, 2($s1) -/* 06AD50 7F036220 02E02025 */ move $a0, $s7 -/* 06AD54 7F036224 000CCA00 */ sll $t9, $t4, 8 -/* 06AD58 7F036228 032D1025 */ or $v0, $t9, $t5 -/* 06AD5C 7F03622C 3045FFFF */ andi $a1, $v0, 0xffff -/* 06AD60 7F036230 0FC0AAED */ jal actor_moves_to_preset_at_speed -/* 06AD64 7F036234 24060001 */ li $a2, 1 -/* 06AD68 7F036238 26520003 */ addiu $s2, $s2, 3 -/* 06AD6C 7F03623C 1000FCD3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD70 7F036240 26310003 */ addiu $s1, $s1, 3 -action1D_Guard_Jogs_To_Predefined_Preset_2328_1: -/* 06AD74 7F036244 02E02025 */ move $a0, $s7 -/* 06AD78 7F036248 86E50114 */ lh $a1, 0x114($s7) -/* 06AD7C 7F03624C 0FC0AAED */ jal actor_moves_to_preset_at_speed -/* 06AD80 7F036250 24060001 */ li $a2, 1 -/* 06AD84 7F036254 26520001 */ addiu $s2, $s2, 1 -/* 06AD88 7F036258 1000FCCC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD8C 7F03625C 26310001 */ addiu $s1, $s1, 1 -action1E_Guard_Walks_To_Preset_3: -/* 06AD90 7F036260 922F0001 */ lbu $t7, 1($s1) -/* 06AD94 7F036264 92290002 */ lbu $t1, 2($s1) -/* 06AD98 7F036268 02E02025 */ move $a0, $s7 -/* 06AD9C 7F03626C 000FC200 */ sll $t8, $t7, 8 -/* 06ADA0 7F036270 03091025 */ or $v0, $t8, $t1 -/* 06ADA4 7F036274 3045FFFF */ andi $a1, $v0, 0xffff -/* 06ADA8 7F036278 0FC0AAED */ jal actor_moves_to_preset_at_speed -/* 06ADAC 7F03627C 00003025 */ move $a2, $zero -/* 06ADB0 7F036280 26520003 */ addiu $s2, $s2, 3 -/* 06ADB4 7F036284 1000FCC1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ADB8 7F036288 26310003 */ addiu $s1, $s1, 3 -action1F_Guard_Runs__To_Preset_3: -/* 06ADBC 7F03628C 922B0001 */ lbu $t3, 1($s1) -/* 06ADC0 7F036290 92390002 */ lbu $t9, 2($s1) -/* 06ADC4 7F036294 02E02025 */ move $a0, $s7 -/* 06ADC8 7F036298 000B6200 */ sll $t4, $t3, 8 -/* 06ADCC 7F03629C 01991025 */ or $v0, $t4, $t9 -/* 06ADD0 7F0362A0 3045FFFF */ andi $a1, $v0, 0xffff -/* 06ADD4 7F0362A4 0FC0AAED */ jal actor_moves_to_preset_at_speed -/* 06ADD8 7F0362A8 24060002 */ li $a2, 2 -/* 06ADDC 7F0362AC 26520003 */ addiu $s2, $s2, 3 -/* 06ADE0 7F0362B0 1000FCB6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ADE4 7F0362B4 26310003 */ addiu $s1, $s1, 3 -action20_Activate_Path_2: -/* 06ADE8 7F0362B8 0FC0D50D */ jal get_ptr_path_for_pathnum -/* 06ADEC 7F0362BC 92240001 */ lbu $a0, 1($s1) -/* 06ADF0 7F0362C0 02E02025 */ move $a0, $s7 -/* 06ADF4 7F0362C4 0FC0AB55 */ jal if_actor_able_set_on_path -/* 06ADF8 7F0362C8 00402825 */ move $a1, $v0 -/* 06ADFC 7F0362CC 26520002 */ addiu $s2, $s2, 2 -/* 06AE00 7F0362D0 1000FCAE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE04 7F0362D4 26310002 */ addiu $s1, $s1, 2 -action36_If_Alarm_Activated_RVL_Plus_Stack_2: -/* 06AE08 7F0362D8 0FC0CDD8 */ jal alarm_timer_related -/* 06AE0C 7F0362DC 02E02025 */ move $a0, $s7 -/* 06AE10 7F0362E0 10400007 */ beqz $v0, .L7F036300 -/* 06AE14 7F0362E4 02C02025 */ move $a0, $s6 -/* 06AE18 7F0362E8 02402825 */ move $a1, $s2 -/* 06AE1C 7F0362EC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AE20 7F0362F0 92260001 */ lbu $a2, 1($s1) -/* 06AE24 7F0362F4 00409025 */ move $s2, $v0 -/* 06AE28 7F0362F8 1000FCA4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE2C 7F0362FC 02C28821 */ addu $s1, $s6, $v0 -.L7F036300: -/* 06AE30 7F036300 26520002 */ addiu $s2, $s2, 2 -/* 06AE34 7F036304 1000FCA1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE38 7F036308 26310002 */ addiu $s1, $s1, 2 -action37_If_Alarm_Activated_RVL_2: -/* 06AE3C 7F03630C 0FC15794 */ jal is_alarm_on -/* 06AE40 7F036310 00000000 */ nop -/* 06AE44 7F036314 10400007 */ beqz $v0, .L7F036334 -/* 06AE48 7F036318 02C02025 */ move $a0, $s6 -/* 06AE4C 7F03631C 02402825 */ move $a1, $s2 -/* 06AE50 7F036320 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AE54 7F036324 92260001 */ lbu $a2, 1($s1) -/* 06AE58 7F036328 00409025 */ move $s2, $v0 -/* 06AE5C 7F03632C 1000FC97 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE60 7F036330 02C28821 */ addu $s1, $s6, $v0 -.L7F036334: -/* 06AE64 7F036334 26520002 */ addiu $s2, $s2, 2 -/* 06AE68 7F036338 1000FC94 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE6C 7F03633C 26310002 */ addiu $s1, $s1, 2 -action38_If_Toxic_Gas_Released_RVL_2: -/* 06AE70 7F036340 0FC157CE */ jal check_if_toxic_gas_activated -/* 06AE74 7F036344 00000000 */ nop -/* 06AE78 7F036348 10400007 */ beqz $v0, .L7F036368 -/* 06AE7C 7F03634C 02C02025 */ move $a0, $s6 -/* 06AE80 7F036350 02402825 */ move $a1, $s2 -/* 06AE84 7F036354 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AE88 7F036358 92260001 */ lbu $a2, 1($s1) -/* 06AE8C 7F03635C 00409025 */ move $s2, $v0 -/* 06AE90 7F036360 1000FC8A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE94 7F036364 02C28821 */ addu $s1, $s6, $v0 -.L7F036368: -/* 06AE98 7F036368 26520002 */ addiu $s2, $s2, 2 -/* 06AE9C 7F03636C 1000FC87 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AEA0 7F036370 26310002 */ addiu $s1, $s1, 2 -action39_If_Guard_Heard_Gunfire_RVL_2: -/* 06AEA4 7F036374 0FC0CCD5 */ jal check_if_actor_02_flag_set -/* 06AEA8 7F036378 02E02025 */ move $a0, $s7 -/* 06AEAC 7F03637C 10400007 */ beqz $v0, .L7F03639C -/* 06AEB0 7F036380 02C02025 */ move $a0, $s6 -/* 06AEB4 7F036384 02402825 */ move $a1, $s2 -/* 06AEB8 7F036388 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AEBC 7F03638C 92260001 */ lbu $a2, 1($s1) -/* 06AEC0 7F036390 00409025 */ move $s2, $v0 -/* 06AEC4 7F036394 1000FC7D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AEC8 7F036398 02C28821 */ addu $s1, $s6, $v0 -.L7F03639C: -/* 06AECC 7F03639C 26520002 */ addiu $s2, $s2, 2 -/* 06AED0 7F0363A0 1000FC7A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AED4 7F0363A4 26310002 */ addiu $s1, $s1, 2 -action3A_If_Bond_Shoots_Another_Guard_RVL_2: -/* 06AED8 7F0363A8 0FC0CD6D */ jal check_if_actor_FA_target_set -/* 06AEDC 7F0363AC 02E02025 */ move $a0, $s7 -/* 06AEE0 7F0363B0 10400007 */ beqz $v0, .L7F0363D0 -/* 06AEE4 7F0363B4 02C02025 */ move $a0, $s6 -/* 06AEE8 7F0363B8 02402825 */ move $a1, $s2 -/* 06AEEC 7F0363BC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AEF0 7F0363C0 92260001 */ lbu $a2, 1($s1) -/* 06AEF4 7F0363C4 00409025 */ move $s2, $v0 -/* 06AEF8 7F0363C8 1000FC70 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AEFC 7F0363CC 02C28821 */ addu $s1, $s6, $v0 -.L7F0363D0: -/* 06AF00 7F0363D0 26520002 */ addiu $s2, $s2, 2 -/* 06AF04 7F0363D4 1000FC6D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF08 7F0363D8 26310002 */ addiu $s1, $s1, 2 -action3B_If_Guard_Killed_In_Front_Of_Guard_RVL_2: -/* 06AF0C 7F0363DC 0FC0CD71 */ jal check_if_actor_FB_target_set -/* 06AF10 7F0363E0 02E02025 */ move $a0, $s7 -/* 06AF14 7F0363E4 10400007 */ beqz $v0, .L7F036404 -/* 06AF18 7F0363E8 02C02025 */ move $a0, $s6 -/* 06AF1C 7F0363EC 02402825 */ move $a1, $s2 -/* 06AF20 7F0363F0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AF24 7F0363F4 92260001 */ lbu $a2, 1($s1) -/* 06AF28 7F0363F8 00409025 */ move $s2, $v0 -/* 06AF2C 7F0363FC 1000FC63 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF30 7F036400 02C28821 */ addu $s1, $s6, $v0 -.L7F036404: -/* 06AF34 7F036404 26520002 */ addiu $s2, $s2, 2 -/* 06AF38 7F036408 1000FC60 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF3C 7F03640C 26310002 */ addiu $s1, $s1, 2 -action3C_If_Guard_In_Firing_Range_RVL_2: -/* 06AF40 7F036410 0FC0A52F */ jal sub_GAME_7F0294BC -/* 06AF44 7F036414 02E02025 */ move $a0, $s7 -/* 06AF48 7F036418 10400007 */ beqz $v0, .L7F036438 -/* 06AF4C 7F03641C 02C02025 */ move $a0, $s6 -/* 06AF50 7F036420 02402825 */ move $a1, $s2 -/* 06AF54 7F036424 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AF58 7F036428 92260001 */ lbu $a2, 1($s1) -/* 06AF5C 7F03642C 00409025 */ move $s2, $v0 -/* 06AF60 7F036430 1000FC56 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF64 7F036434 02C28821 */ addu $s1, $s6, $v0 -.L7F036438: -/* 06AF68 7F036438 26520002 */ addiu $s2, $s2, 2 -/* 06AF6C 7F03643C 1000FC53 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF70 7F036440 26310002 */ addiu $s1, $s1, 2 -action3D___Unused___Unknown___2: -/* 06AF74 7F036444 0FC0CF71 */ jal sub_GAME_7F033DC4 -/* 06AF78 7F036448 02E02025 */ move $a0, $s7 -/* 06AF7C 7F03644C 10400007 */ beqz $v0, .L7F03646C -/* 06AF80 7F036450 02C02025 */ move $a0, $s6 -/* 06AF84 7F036454 02402825 */ move $a1, $s2 -/* 06AF88 7F036458 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AF8C 7F03645C 92260001 */ lbu $a2, 1($s1) -/* 06AF90 7F036460 00409025 */ move $s2, $v0 -/* 06AF94 7F036464 1000FC49 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF98 7F036468 02C28821 */ addu $s1, $s6, $v0 -.L7F03646C: -/* 06AF9C 7F03646C 26520002 */ addiu $s2, $s2, 2 -/* 06AFA0 7F036470 1000FC46 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AFA4 7F036474 26310002 */ addiu $s1, $s1, 2 -action3E_If_Shot_Current_Guard_RVL_2: -/* 06AFA8 7F036478 0FC0CADA */ jal sub_GAME_7F032B68 -/* 06AFAC 7F03647C 02E02025 */ move $a0, $s7 -/* 06AFB0 7F036480 10400007 */ beqz $v0, .L7F0364A0 -/* 06AFB4 7F036484 02C02025 */ move $a0, $s6 -/* 06AFB8 7F036488 02402825 */ move $a1, $s2 -/* 06AFBC 7F03648C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AFC0 7F036490 92260001 */ lbu $a2, 1($s1) -/* 06AFC4 7F036494 00409025 */ move $s2, $v0 -/* 06AFC8 7F036498 1000FC3C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AFCC 7F03649C 02C28821 */ addu $s1, $s6, $v0 -.L7F0364A0: -/* 06AFD0 7F0364A0 26520002 */ addiu $s2, $s2, 2 -/* 06AFD4 7F0364A4 1000FC39 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AFD8 7F0364A8 26310002 */ addiu $s1, $s1, 2 -action3F_If_Heard_Bond_RVL_2: -/* 06AFDC 7F0364AC 0FC0CAE8 */ jal sub_GAME_7F032BA0 -/* 06AFE0 7F0364B0 02E02025 */ move $a0, $s7 -/* 06AFE4 7F0364B4 10400007 */ beqz $v0, .L7F0364D4 -/* 06AFE8 7F0364B8 02C02025 */ move $a0, $s6 -/* 06AFEC 7F0364BC 02402825 */ move $a1, $s2 -/* 06AFF0 7F0364C0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AFF4 7F0364C4 92260001 */ lbu $a2, 1($s1) -/* 06AFF8 7F0364C8 00409025 */ move $s2, $v0 -/* 06AFFC 7F0364CC 1000FC2F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B000 7F0364D0 02C28821 */ addu $s1, $s6, $v0 -.L7F0364D4: -/* 06B004 7F0364D4 26520002 */ addiu $s2, $s2, 2 -/* 06B008 7F0364D8 1000FC2C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B00C 7F0364DC 26310002 */ addiu $s1, $s1, 2 -action40_If_Another_Guard_In_Same_Room_As_Guard_ID_RVL_3: -/* 06B010 7F0364E0 02E02025 */ move $a0, $s7 -/* 06B014 7F0364E4 0FC0CC10 */ jal get_handle_for_guard_id -/* 06B018 7F0364E8 92250001 */ lbu $a1, 1($s1) -/* 06B01C 7F0364EC 50400012 */ beql $v0, $zero, .L7F036538 -/* 06B020 7F0364F0 26520003 */ addiu $s2, $s2, 3 -/* 06B024 7F0364F4 8C4E0018 */ lw $t6, 0x18($v0) -/* 06B028 7F0364F8 51C0000F */ beql $t6, $zero, .L7F036538 -/* 06B02C 7F0364FC 26520003 */ addiu $s2, $s2, 3 -/* 06B030 7F036500 8C420018 */ lw $v0, 0x18($v0) -/* 06B034 7F036504 02E02025 */ move $a0, $s7 -/* 06B038 7F036508 24450008 */ addiu $a1, $v0, 8 -/* 06B03C 7F03650C 0FC0A574 */ jal check_if_position_in_same_room -/* 06B040 7F036510 8C460014 */ lw $a2, 0x14($v0) -/* 06B044 7F036514 10400007 */ beqz $v0, .L7F036534 -/* 06B048 7F036518 02C02025 */ move $a0, $s6 -/* 06B04C 7F03651C 02402825 */ move $a1, $s2 -/* 06B050 7F036520 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B054 7F036524 92260002 */ lbu $a2, 2($s1) -/* 06B058 7F036528 00409025 */ move $s2, $v0 -/* 06B05C 7F03652C 1000FC17 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B060 7F036530 02C28821 */ addu $s1, $s6, $v0 -.L7F036534: -/* 06B064 7F036534 26520003 */ addiu $s2, $s2, 3 -.L7F036538: -/* 06B068 7F036538 1000FC14 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B06C 7F03653C 26310003 */ addiu $s1, $s1, 3 -action41_If_Guard_Has_Been_On_Screen_RVL_2: -/* 06B070 7F036540 8EEF0014 */ lw $t7, 0x14($s7) -/* 06B074 7F036544 02C02025 */ move $a0, $s6 -/* 06B078 7F036548 02402825 */ move $a1, $s2 -/* 06B07C 7F03654C 31F80008 */ andi $t8, $t7, 8 -/* 06B080 7F036550 57000007 */ bnezl $t8, .L7F036570 -/* 06B084 7F036554 26520002 */ addiu $s2, $s2, 2 -/* 06B088 7F036558 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B08C 7F03655C 92260001 */ lbu $a2, 1($s1) -/* 06B090 7F036560 00409025 */ move $s2, $v0 -/* 06B094 7F036564 1000FC09 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B098 7F036568 02C28821 */ addu $s1, $s6, $v0 -/* 06B09C 7F03656C 26520002 */ addiu $s2, $s2, 2 -.L7F036570: -/* 06B0A0 7F036570 1000FC06 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B0A4 7F036574 26310002 */ addiu $s1, $s1, 2 -action42_If_Current_Guard_On_Screen_In_Loaded_Room_RVL_2: -/* 06B0A8 7F036578 8EE90018 */ lw $t1, 0x18($s7) -/* 06B0AC 7F03657C 02C02025 */ move $a0, $s6 -/* 06B0B0 7F036580 02402825 */ move $a1, $s2 -/* 06B0B4 7F036584 912A0001 */ lbu $t2, 1($t1) -/* 06B0B8 7F036588 314B0002 */ andi $t3, $t2, 2 -/* 06B0BC 7F03658C 51600007 */ beql $t3, $zero, .L7F0365AC -/* 06B0C0 7F036590 26520002 */ addiu $s2, $s2, 2 -/* 06B0C4 7F036594 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B0C8 7F036598 92260001 */ lbu $a2, 1($s1) -/* 06B0CC 7F03659C 00409025 */ move $s2, $v0 -/* 06B0D0 7F0365A0 1000FBFA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B0D4 7F0365A4 02C28821 */ addu $s1, $s6, $v0 -/* 06B0D8 7F0365A8 26520002 */ addiu $s2, $s2, 2 -.L7F0365AC: -/* 06B0DC 7F0365AC 1000FBF7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B0E0 7F0365B0 26310002 */ addiu $s1, $s1, 2 -action43_If_Guard_In_A_Room_Currently_Loaded_RVL_2: -/* 06B0E4 7F0365B4 8EEC0018 */ lw $t4, 0x18($s7) -/* 06B0E8 7F0365B8 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 06B0EC 7F0365BC 8D840014 */ lw $a0, 0x14($t4) -/* 06B0F0 7F0365C0 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 06B0F4 7F0365C4 00402025 */ move $a0, $v0 -/* 06B0F8 7F0365C8 10400007 */ beqz $v0, .L7F0365E8 -/* 06B0FC 7F0365CC 02C02025 */ move $a0, $s6 -/* 06B100 7F0365D0 02402825 */ move $a1, $s2 -/* 06B104 7F0365D4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B108 7F0365D8 92260001 */ lbu $a2, 1($s1) -/* 06B10C 7F0365DC 00409025 */ move $s2, $v0 -/* 06B110 7F0365E0 1000FBEA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B114 7F0365E4 02C28821 */ addu $s1, $s6, $v0 -.L7F0365E8: -/* 06B118 7F0365E8 26520002 */ addiu $s2, $s2, 2 -/* 06B11C 7F0365EC 1000FBE7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B120 7F0365F0 26310002 */ addiu $s1, $s1, 2 -action44_If_Room_Containing_Preset_Is_Loaded_RVL_4: -/* 06B124 7F0365F4 92390001 */ lbu $t9, 1($s1) -/* 06B128 7F0365F8 922E0002 */ lbu $t6, 2($s1) -/* 06B12C 7F0365FC 02E02025 */ move $a0, $s7 -/* 06B130 7F036600 00196A00 */ sll $t5, $t9, 8 -/* 06B134 7F036604 01AE1025 */ or $v0, $t5, $t6 -/* 06B138 7F036608 0FC0CBBF */ jal check_if_room_for_preset_loaded -/* 06B13C 7F03660C 3045FFFF */ andi $a1, $v0, 0xffff -/* 06B140 7F036610 10400007 */ beqz $v0, .L7F036630 -/* 06B144 7F036614 02C02025 */ move $a0, $s6 -/* 06B148 7F036618 02402825 */ move $a1, $s2 -/* 06B14C 7F03661C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B150 7F036620 92260003 */ lbu $a2, 3($s1) -/* 06B154 7F036624 00409025 */ move $s2, $v0 -/* 06B158 7F036628 1000FBD8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B15C 7F03662C 02C28821 */ addu $s1, $s6, $v0 -.L7F036630: -/* 06B160 7F036630 26520004 */ addiu $s2, $s2, 4 -/* 06B164 7F036634 1000FBD5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B168 7F036638 26310004 */ addiu $s1, $s1, 4 -action45_Go_To_RVL_If_Bond_Has_Guard_At_Gunpoint_2: -/* 06B16C 7F03663C 0FC0CCFE */ jal sub_GAME_7F0333F8 -/* 06B170 7F036640 02E02025 */ move $a0, $s7 -/* 06B174 7F036644 10400007 */ beqz $v0, .L7F036664 -/* 06B178 7F036648 02C02025 */ move $a0, $s6 -/* 06B17C 7F03664C 02402825 */ move $a1, $s2 -/* 06B180 7F036650 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B184 7F036654 92260001 */ lbu $a2, 1($s1) -/* 06B188 7F036658 00409025 */ move $s2, $v0 -/* 06B18C 7F03665C 1000FBCB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B190 7F036660 02C28821 */ addu $s1, $s6, $v0 -.L7F036664: -/* 06B194 7F036664 26520002 */ addiu $s2, $s2, 2 -/* 06B198 7F036668 1000FBC8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B19C 7F03666C 26310002 */ addiu $s1, $s1, 2 -action46_If_Fired_A_Shot_RVL_2: -/* 06B1A0 7F036670 0FC0CD24 */ jal check_if_actor_invisible -/* 06B1A4 7F036674 02E02025 */ move $a0, $s7 -/* 06B1A8 7F036678 10400007 */ beqz $v0, .L7F036698 -/* 06B1AC 7F03667C 02C02025 */ move $a0, $s6 -/* 06B1B0 7F036680 02402825 */ move $a1, $s2 -/* 06B1B4 7F036684 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B1B8 7F036688 92260001 */ lbu $a2, 1($s1) -/* 06B1BC 7F03668C 00409025 */ move $s2, $v0 -/* 06B1C0 7F036690 1000FBBE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B1C4 7F036694 02C28821 */ addu $s1, $s6, $v0 -.L7F036698: -/* 06B1C8 7F036698 26520002 */ addiu $s2, $s2, 2 -/* 06B1CC 7F03669C 1000FBBB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B1D0 7F0366A0 26310002 */ addiu $s1, $s1, 2 -action47_If_Distance_Between_Bond_And_Guard_LTV_RVL_3: -/* 06B1D4 7F0366A4 0FC0CB13 */ jal sub_GAME_7F032C4C -/* 06B1D8 7F0366A8 02E02025 */ move $a0, $s7 -/* 06B1DC 7F0366AC 92380001 */ lbu $t8, 1($s1) -/* 06B1E0 7F0366B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06B1E4 7F0366B4 02C02025 */ move $a0, $s6 -/* 06B1E8 7F0366B8 44984000 */ mtc1 $t8, $f8 -/* 06B1EC 7F0366BC 02402825 */ move $a1, $s2 -/* 06B1F0 7F0366C0 07010004 */ bgez $t8, .L7F0366D4 -/* 06B1F4 7F0366C4 468042A0 */ cvt.s.w $f10, $f8 -/* 06B1F8 7F0366C8 44818000 */ mtc1 $at, $f16 -/* 06B1FC 7F0366CC 00000000 */ nop -/* 06B200 7F0366D0 46105280 */ add.s $f10, $f10, $f16 -.L7F0366D4: -/* 06B204 7F0366D4 461A5482 */ mul.s $f18, $f10, $f26 -/* 06B208 7F0366D8 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 06B20C 7F0366DC 44812000 */ mtc1 $at, $f4 -/* 06B210 7F0366E0 00000000 */ nop -/* 06B214 7F0366E4 46049182 */ mul.s $f6, $f18, $f4 -/* 06B218 7F0366E8 4606003C */ c.lt.s $f0, $f6 -/* 06B21C 7F0366EC 00000000 */ nop -/* 06B220 7F0366F0 45020007 */ bc1fl .L7F036710 -/* 06B224 7F0366F4 26520003 */ addiu $s2, $s2, 3 -/* 06B228 7F0366F8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B22C 7F0366FC 92260002 */ lbu $a2, 2($s1) -/* 06B230 7F036700 00409025 */ move $s2, $v0 -/* 06B234 7F036704 1000FBA1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B238 7F036708 02C28821 */ addu $s1, $s6, $v0 -/* 06B23C 7F03670C 26520003 */ addiu $s2, $s2, 3 -.L7F036710: -/* 06B240 7F036710 1000FB9E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B244 7F036714 26310003 */ addiu $s1, $s1, 3 -action48_If_Distance_Between_Bond_And_Guard_GTV_RVL_3: -/* 06B248 7F036718 0FC0CB13 */ jal sub_GAME_7F032C4C -/* 06B24C 7F03671C 02E02025 */ move $a0, $s7 -/* 06B250 7F036720 92290001 */ lbu $t1, 1($s1) -/* 06B254 7F036724 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06B258 7F036728 02C02025 */ move $a0, $s6 -/* 06B25C 7F03672C 44894000 */ mtc1 $t1, $f8 -/* 06B260 7F036730 02402825 */ move $a1, $s2 -/* 06B264 7F036734 05210004 */ bgez $t1, .L7F036748 -/* 06B268 7F036738 46804420 */ cvt.s.w $f16, $f8 -/* 06B26C 7F03673C 44815000 */ mtc1 $at, $f10 -/* 06B270 7F036740 00000000 */ nop -/* 06B274 7F036744 460A8400 */ add.s $f16, $f16, $f10 -.L7F036748: -/* 06B278 7F036748 461A8482 */ mul.s $f18, $f16, $f26 -/* 06B27C 7F03674C 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 06B280 7F036750 44812000 */ mtc1 $at, $f4 -/* 06B284 7F036754 00000000 */ nop -/* 06B288 7F036758 46049182 */ mul.s $f6, $f18, $f4 -/* 06B28C 7F03675C 4600303C */ c.lt.s $f6, $f0 -/* 06B290 7F036760 00000000 */ nop -/* 06B294 7F036764 45020007 */ bc1fl .L7F036784 -/* 06B298 7F036768 26520003 */ addiu $s2, $s2, 3 -/* 06B29C 7F03676C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B2A0 7F036770 92260002 */ lbu $a2, 2($s1) -/* 06B2A4 7F036774 00409025 */ move $s2, $v0 -/* 06B2A8 7F036778 1000FB84 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B2AC 7F03677C 02C28821 */ addu $s1, $s6, $v0 -/* 06B2B0 7F036780 26520003 */ addiu $s2, $s2, 3 -.L7F036784: -/* 06B2B4 7F036784 1000FB81 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B2B8 7F036788 26310003 */ addiu $s1, $s1, 3 -action49_Test_if_Actor_and_Player_CCWAngle_LTV_RVL_Unused_3: -/* 06B2BC 7F03678C 0FC0CB5C */ jal get_angle_between_actor_cur_player -/* 06B2C0 7F036790 02E02025 */ move $a0, $s7 -/* 06B2C4 7F036794 922A0001 */ lbu $t2, 1($s1) -/* 06B2C8 7F036798 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06B2CC 7F03679C 02C02025 */ move $a0, $s6 -/* 06B2D0 7F0367A0 448A4000 */ mtc1 $t2, $f8 -/* 06B2D4 7F0367A4 02402825 */ move $a1, $s2 -/* 06B2D8 7F0367A8 05410004 */ bgez $t2, .L7F0367BC -/* 06B2DC 7F0367AC 468042A0 */ cvt.s.w $f10, $f8 -/* 06B2E0 7F0367B0 44818000 */ mtc1 $at, $f16 -/* 06B2E4 7F0367B4 00000000 */ nop -/* 06B2E8 7F0367B8 46105280 */ add.s $f10, $f10, $f16 -.L7F0367BC: -/* 06B2EC 7F0367BC 461A5482 */ mul.s $f18, $f10, $f26 -/* 06B2F0 7F0367C0 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 06B2F4 7F0367C4 44812000 */ mtc1 $at, $f4 -/* 06B2F8 7F0367C8 00000000 */ nop -/* 06B2FC 7F0367CC 46049182 */ mul.s $f6, $f18, $f4 -/* 06B300 7F0367D0 4606003C */ c.lt.s $f0, $f6 -/* 06B304 7F0367D4 00000000 */ nop -/* 06B308 7F0367D8 45020007 */ bc1fl .L7F0367F8 -/* 06B30C 7F0367DC 26520003 */ addiu $s2, $s2, 3 -/* 06B310 7F0367E0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B314 7F0367E4 92260002 */ lbu $a2, 2($s1) -/* 06B318 7F0367E8 00409025 */ move $s2, $v0 -/* 06B31C 7F0367EC 1000FB67 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B320 7F0367F0 02C28821 */ addu $s1, $s6, $v0 -/* 06B324 7F0367F4 26520003 */ addiu $s2, $s2, 3 -.L7F0367F8: -/* 06B328 7F0367F8 1000FB64 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B32C 7F0367FC 26310003 */ addiu $s1, $s1, 3 -action4A_Test_if_Actor_and_Player_CCWAngle_GTV_RVL_Unused_3: -/* 06B330 7F036800 0FC0CB5C */ jal get_angle_between_actor_cur_player -/* 06B334 7F036804 02E02025 */ move $a0, $s7 -/* 06B338 7F036808 922B0001 */ lbu $t3, 1($s1) -/* 06B33C 7F03680C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06B340 7F036810 02C02025 */ move $a0, $s6 -/* 06B344 7F036814 448B4000 */ mtc1 $t3, $f8 -/* 06B348 7F036818 02402825 */ move $a1, $s2 -/* 06B34C 7F03681C 05610004 */ bgez $t3, .L7F036830 -/* 06B350 7F036820 46804420 */ cvt.s.w $f16, $f8 -/* 06B354 7F036824 44815000 */ mtc1 $at, $f10 -/* 06B358 7F036828 00000000 */ nop -/* 06B35C 7F03682C 460A8400 */ add.s $f16, $f16, $f10 -.L7F036830: -/* 06B360 7F036830 461A8482 */ mul.s $f18, $f16, $f26 -/* 06B364 7F036834 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 06B368 7F036838 44812000 */ mtc1 $at, $f4 -/* 06B36C 7F03683C 00000000 */ nop -/* 06B370 7F036840 46049182 */ mul.s $f6, $f18, $f4 -/* 06B374 7F036844 4600303C */ c.lt.s $f6, $f0 -/* 06B378 7F036848 00000000 */ nop -/* 06B37C 7F03684C 45020007 */ bc1fl .L7F03686C -/* 06B380 7F036850 26520003 */ addiu $s2, $s2, 3 -/* 06B384 7F036854 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B388 7F036858 92260002 */ lbu $a2, 2($s1) -/* 06B38C 7F03685C 00409025 */ move $s2, $v0 -/* 06B390 7F036860 1000FB4A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B394 7F036864 02C28821 */ addu $s1, $s6, $v0 -/* 06B398 7F036868 26520003 */ addiu $s2, $s2, 3 -.L7F03686C: -/* 06B39C 7F03686C 1000FB47 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B3A0 7F036870 26310003 */ addiu $s1, $s1, 3 -action4B_RVL_If_In_Proximity_Of_Bond_4: -/* 06B3A4 7F036874 922C0001 */ lbu $t4, 1($s1) -/* 06B3A8 7F036878 922D0002 */ lbu $t5, 2($s1) -/* 06B3AC 7F03687C 02E02025 */ move $a0, $s7 -/* 06B3B0 7F036880 000CCA00 */ sll $t9, $t4, 8 -/* 06B3B4 7F036884 032D7025 */ or $t6, $t9, $t5 -/* 06B3B8 7F036888 448E4000 */ mtc1 $t6, $f8 -/* 06B3BC 7F03688C 00000000 */ nop -/* 06B3C0 7F036890 468042A0 */ cvt.s.w $f10, $f8 -/* 06B3C4 7F036894 46185402 */ mul.s $f16, $f10, $f24 -/* 06B3C8 7F036898 0FC0CB79 */ jal sub_GAME_7F032DE4 -/* 06B3CC 7F03689C E7B005FC */ swc1 $f16, 0x5fc($sp) -/* 06B3D0 7F0368A0 C7B205FC */ lwc1 $f18, 0x5fc($sp) -/* 06B3D4 7F0368A4 02C02025 */ move $a0, $s6 -/* 06B3D8 7F0368A8 02402825 */ move $a1, $s2 -/* 06B3DC 7F0368AC 4612003C */ c.lt.s $f0, $f18 -/* 06B3E0 7F0368B0 00000000 */ nop -/* 06B3E4 7F0368B4 45020007 */ bc1fl .L7F0368D4 -/* 06B3E8 7F0368B8 26520004 */ addiu $s2, $s2, 4 -/* 06B3EC 7F0368BC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B3F0 7F0368C0 92260003 */ lbu $a2, 3($s1) -/* 06B3F4 7F0368C4 00409025 */ move $s2, $v0 -/* 06B3F8 7F0368C8 1000FB30 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B3FC 7F0368CC 02C28821 */ addu $s1, $s6, $v0 -/* 06B400 7F0368D0 26520004 */ addiu $s2, $s2, 4 -.L7F0368D4: -/* 06B404 7F0368D4 1000FB2D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B408 7F0368D8 26310004 */ addiu $s1, $s1, 4 -action4C_RVL_If_Not_In_Proximity_Of_Bond_4: -/* 06B40C 7F0368DC 922F0001 */ lbu $t7, 1($s1) -/* 06B410 7F0368E0 92290002 */ lbu $t1, 2($s1) -/* 06B414 7F0368E4 02E02025 */ move $a0, $s7 -/* 06B418 7F0368E8 000FC200 */ sll $t8, $t7, 8 -/* 06B41C 7F0368EC 03095025 */ or $t2, $t8, $t1 -/* 06B420 7F0368F0 448A2000 */ mtc1 $t2, $f4 -/* 06B424 7F0368F4 00000000 */ nop -/* 06B428 7F0368F8 468021A0 */ cvt.s.w $f6, $f4 -/* 06B42C 7F0368FC 46183202 */ mul.s $f8, $f6, $f24 -/* 06B430 7F036900 0FC0CB79 */ jal sub_GAME_7F032DE4 -/* 06B434 7F036904 E7A805F4 */ swc1 $f8, 0x5f4($sp) -/* 06B438 7F036908 C7AA05F4 */ lwc1 $f10, 0x5f4($sp) -/* 06B43C 7F03690C 02C02025 */ move $a0, $s6 -/* 06B440 7F036910 02402825 */ move $a1, $s2 -/* 06B444 7F036914 4600503C */ c.lt.s $f10, $f0 -/* 06B448 7F036918 00000000 */ nop -/* 06B44C 7F03691C 45020007 */ bc1fl .L7F03693C -/* 06B450 7F036920 26520004 */ addiu $s2, $s2, 4 -/* 06B454 7F036924 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B458 7F036928 92260003 */ lbu $a2, 3($s1) -/* 06B45C 7F03692C 00409025 */ move $s2, $v0 -/* 06B460 7F036930 1000FB16 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B464 7F036934 02C28821 */ addu $s1, $s6, $v0 -/* 06B468 7F036938 26520004 */ addiu $s2, $s2, 4 -.L7F03693C: -/* 06B46C 7F03693C 1000FB13 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B470 7F036940 26310004 */ addiu $s1, $s1, 4 -action4D_When_Guard_In_Proximity_Of_Preset_RVL_7: -/* 06B474 7F036944 02E02025 */ move $a0, $s7 -/* 06B478 7F036948 0FC0CC10 */ jal get_handle_for_guard_id -/* 06B47C 7F03694C 92250001 */ lbu $a1, 1($s1) -/* 06B480 7F036950 922E0002 */ lbu $t6, 2($s1) -/* 06B484 7F036954 92380003 */ lbu $t8, 3($s1) -/* 06B488 7F036958 922B0004 */ lbu $t3, 4($s1) -/* 06B48C 7F03695C 000E7A00 */ sll $t7, $t6, 8 -/* 06B490 7F036960 01F84825 */ or $t1, $t7, $t8 -/* 06B494 7F036964 44898000 */ mtc1 $t1, $f16 -/* 06B498 7F036968 92390005 */ lbu $t9, 5($s1) -/* 06B49C 7F03696C 000B6200 */ sll $t4, $t3, 8 -/* 06B4A0 7F036970 468084A0 */ cvt.s.w $f18, $f16 -/* 06B4A4 7F036974 01991825 */ or $v1, $t4, $t9 -/* 06B4A8 7F036978 306DFFFF */ andi $t5, $v1, 0xffff -/* 06B4AC 7F03697C 00402025 */ move $a0, $v0 -/* 06B4B0 7F036980 01A02825 */ move $a1, $t5 -/* 06B4B4 7F036984 46189082 */ mul.s $f2, $f18, $f24 -/* 06B4B8 7F036988 50400010 */ beql $v0, $zero, .L7F0369CC -/* 06B4BC 7F03698C 26520007 */ addiu $s2, $s2, 7 -/* 06B4C0 7F036990 0FC0CB92 */ jal sub_GAME_7F032E48 -/* 06B4C4 7F036994 E7A205E4 */ swc1 $f2, 0x5e4($sp) -/* 06B4C8 7F036998 C7A205E4 */ lwc1 $f2, 0x5e4($sp) -/* 06B4CC 7F03699C 02C02025 */ move $a0, $s6 -/* 06B4D0 7F0369A0 02402825 */ move $a1, $s2 -/* 06B4D4 7F0369A4 4602003C */ c.lt.s $f0, $f2 -/* 06B4D8 7F0369A8 00000000 */ nop -/* 06B4DC 7F0369AC 45020007 */ bc1fl .L7F0369CC -/* 06B4E0 7F0369B0 26520007 */ addiu $s2, $s2, 7 -/* 06B4E4 7F0369B4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B4E8 7F0369B8 92260006 */ lbu $a2, 6($s1) -/* 06B4EC 7F0369BC 00409025 */ move $s2, $v0 -/* 06B4F0 7F0369C0 1000FAF2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B4F4 7F0369C4 02C28821 */ addu $s1, $s6, $v0 -/* 06B4F8 7F0369C8 26520007 */ addiu $s2, $s2, 7 -.L7F0369CC: -/* 06B4FC 7F0369CC 1000FAEF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B500 7F0369D0 26310007 */ addiu $s1, $s1, 7 -action4E_When_Guard_Not_In_Proximity_Of_Preset_RVL_7: -/* 06B504 7F0369D4 02E02025 */ move $a0, $s7 -/* 06B508 7F0369D8 0FC0CC10 */ jal get_handle_for_guard_id -/* 06B50C 7F0369DC 92250001 */ lbu $a1, 1($s1) -/* 06B510 7F0369E0 922D0002 */ lbu $t5, 2($s1) -/* 06B514 7F0369E4 922F0003 */ lbu $t7, 3($s1) -/* 06B518 7F0369E8 922A0004 */ lbu $t2, 4($s1) -/* 06B51C 7F0369EC 000D7200 */ sll $t6, $t5, 8 -/* 06B520 7F0369F0 01CFC025 */ or $t8, $t6, $t7 -/* 06B524 7F0369F4 44982000 */ mtc1 $t8, $f4 -/* 06B528 7F0369F8 922C0005 */ lbu $t4, 5($s1) -/* 06B52C 7F0369FC 000A5A00 */ sll $t3, $t2, 8 -/* 06B530 7F036A00 468021A0 */ cvt.s.w $f6, $f4 -/* 06B534 7F036A04 016C1825 */ or $v1, $t3, $t4 -/* 06B538 7F036A08 3079FFFF */ andi $t9, $v1, 0xffff -/* 06B53C 7F036A0C 00402025 */ move $a0, $v0 -/* 06B540 7F036A10 03202825 */ move $a1, $t9 -/* 06B544 7F036A14 46183082 */ mul.s $f2, $f6, $f24 -/* 06B548 7F036A18 50400010 */ beql $v0, $zero, .L7F036A5C -/* 06B54C 7F036A1C 26520007 */ addiu $s2, $s2, 7 -/* 06B550 7F036A20 0FC0CB92 */ jal sub_GAME_7F032E48 -/* 06B554 7F036A24 E7A205D4 */ swc1 $f2, 0x5d4($sp) -/* 06B558 7F036A28 C7A205D4 */ lwc1 $f2, 0x5d4($sp) -/* 06B55C 7F036A2C 02C02025 */ move $a0, $s6 -/* 06B560 7F036A30 02402825 */ move $a1, $s2 -/* 06B564 7F036A34 4600103C */ c.lt.s $f2, $f0 -/* 06B568 7F036A38 00000000 */ nop -/* 06B56C 7F036A3C 45020007 */ bc1fl .L7F036A5C -/* 06B570 7F036A40 26520007 */ addiu $s2, $s2, 7 -/* 06B574 7F036A44 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B578 7F036A48 92260006 */ lbu $a2, 6($s1) -/* 06B57C 7F036A4C 00409025 */ move $s2, $v0 -/* 06B580 7F036A50 1000FACE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B584 7F036A54 02C28821 */ addu $s1, $s6, $v0 -/* 06B588 7F036A58 26520007 */ addiu $s2, $s2, 7 -.L7F036A5C: -/* 06B58C 7F036A5C 1000FACB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B590 7F036A60 26310007 */ addiu $s1, $s1, 7 -action4F_If_Current_Guard_Is_In_Units_Of_Guard_ID_RVL_5: -/* 06B594 7F036A64 92290001 */ lbu $t1, 1($s1) -/* 06B598 7F036A68 922B0002 */ lbu $t3, 2($s1) -/* 06B59C 7F036A6C 02E02025 */ move $a0, $s7 -/* 06B5A0 7F036A70 00095200 */ sll $t2, $t1, 8 -/* 06B5A4 7F036A74 014B6025 */ or $t4, $t2, $t3 -/* 06B5A8 7F036A78 448C4000 */ mtc1 $t4, $f8 -/* 06B5AC 7F036A7C 00000000 */ nop -/* 06B5B0 7F036A80 468042A0 */ cvt.s.w $f10, $f8 -/* 06B5B4 7F036A84 46185402 */ mul.s $f16, $f10, $f24 -/* 06B5B8 7F036A88 E7B005CC */ swc1 $f16, 0x5cc($sp) -/* 06B5BC 7F036A8C 0FC0CC31 */ jal get_distance_between_actor_and_actorID -/* 06B5C0 7F036A90 92250003 */ lbu $a1, 3($s1) -/* 06B5C4 7F036A94 C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 06B5C8 7F036A98 02C02025 */ move $a0, $s6 -/* 06B5CC 7F036A9C 02402825 */ move $a1, $s2 -/* 06B5D0 7F036AA0 4612003C */ c.lt.s $f0, $f18 -/* 06B5D4 7F036AA4 00000000 */ nop -/* 06B5D8 7F036AA8 45020007 */ bc1fl .L7F036AC8 -/* 06B5DC 7F036AAC 26520005 */ addiu $s2, $s2, 5 -/* 06B5E0 7F036AB0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B5E4 7F036AB4 92260004 */ lbu $a2, 4($s1) -/* 06B5E8 7F036AB8 00409025 */ move $s2, $v0 -/* 06B5EC 7F036ABC 1000FAB3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B5F0 7F036AC0 02C28821 */ addu $s1, $s6, $v0 -/* 06B5F4 7F036AC4 26520005 */ addiu $s2, $s2, 5 -.L7F036AC8: -/* 06B5F8 7F036AC8 1000FAB0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B5FC 7F036ACC 26310005 */ addiu $s1, $s1, 5 -action50_If_Current_Guard_Is_Not_In_Units_Of_Guard_ID_RVL_5: -/* 06B600 7F036AD0 92390001 */ lbu $t9, 1($s1) -/* 06B604 7F036AD4 922E0002 */ lbu $t6, 2($s1) -/* 06B608 7F036AD8 02E02025 */ move $a0, $s7 -/* 06B60C 7F036ADC 00196A00 */ sll $t5, $t9, 8 -/* 06B610 7F036AE0 01AE7825 */ or $t7, $t5, $t6 -/* 06B614 7F036AE4 448F2000 */ mtc1 $t7, $f4 -/* 06B618 7F036AE8 00000000 */ nop -/* 06B61C 7F036AEC 468021A0 */ cvt.s.w $f6, $f4 -/* 06B620 7F036AF0 46183202 */ mul.s $f8, $f6, $f24 -/* 06B624 7F036AF4 E7A805C4 */ swc1 $f8, 0x5c4($sp) -/* 06B628 7F036AF8 0FC0CC31 */ jal get_distance_between_actor_and_actorID -/* 06B62C 7F036AFC 92250003 */ lbu $a1, 3($s1) -/* 06B630 7F036B00 C7AA05C4 */ lwc1 $f10, 0x5c4($sp) -/* 06B634 7F036B04 02C02025 */ move $a0, $s6 -/* 06B638 7F036B08 02402825 */ move $a1, $s2 -/* 06B63C 7F036B0C 4600503C */ c.lt.s $f10, $f0 -/* 06B640 7F036B10 00000000 */ nop -/* 06B644 7F036B14 45020007 */ bc1fl .L7F036B34 -/* 06B648 7F036B18 26520005 */ addiu $s2, $s2, 5 -/* 06B64C 7F036B1C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B650 7F036B20 92260004 */ lbu $a2, 4($s1) -/* 06B654 7F036B24 00409025 */ move $s2, $v0 -/* 06B658 7F036B28 1000FA98 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B65C 7F036B2C 02C28821 */ addu $s1, $s6, $v0 -/* 06B660 7F036B30 26520005 */ addiu $s2, $s2, 5 -.L7F036B34: -/* 06B664 7F036B34 1000FA95 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B668 7F036B38 26310005 */ addiu $s1, $s1, 5 -action51_SetClosestGuardUnitsGuardID_Then_RVL_IfSuccess_4: -/* 06B66C 7F036B3C 92380001 */ lbu $t8, 1($s1) -/* 06B670 7F036B40 922A0002 */ lbu $t2, 2($s1) -/* 06B674 7F036B44 02E02025 */ move $a0, $s7 -/* 06B678 7F036B48 00184A00 */ sll $t1, $t8, 8 -/* 06B67C 7F036B4C 012A5825 */ or $t3, $t1, $t2 -/* 06B680 7F036B50 448B8000 */ mtc1 $t3, $f16 -/* 06B684 7F036B54 00000000 */ nop -/* 06B688 7F036B58 468084A0 */ cvt.s.w $f18, $f16 -/* 06B68C 7F036B5C 46189002 */ mul.s $f0, $f18, $f24 -/* 06B690 7F036B60 44050000 */ mfc1 $a1, $f0 -/* 06B694 7F036B64 0FC0CECE */ jal sub_GAME_7F033B38 -/* 06B698 7F036B68 00000000 */ nop -/* 06B69C 7F036B6C 10400007 */ beqz $v0, .L7F036B8C -/* 06B6A0 7F036B70 02C02025 */ move $a0, $s6 -/* 06B6A4 7F036B74 02402825 */ move $a1, $s2 -/* 06B6A8 7F036B78 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B6AC 7F036B7C 92260003 */ lbu $a2, 3($s1) -/* 06B6B0 7F036B80 00409025 */ move $s2, $v0 -/* 06B6B4 7F036B84 1000FA81 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B6B8 7F036B88 02C28821 */ addu $s1, $s6, $v0 -.L7F036B8C: -/* 06B6BC 7F036B8C 26520004 */ addiu $s2, $s2, 4 -/* 06B6C0 7F036B90 1000FA7E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B6C4 7F036B94 26310004 */ addiu $s1, $s1, 4 -action52_GoIntoRVLIf_In_Units_Of_Preset_6: -/* 06B6C8 7F036B98 922F0001 */ lbu $t7, 1($s1) -/* 06B6CC 7F036B9C 92290002 */ lbu $t1, 2($s1) -/* 06B6D0 7F036BA0 922C0003 */ lbu $t4, 3($s1) -/* 06B6D4 7F036BA4 000FC200 */ sll $t8, $t7, 8 -/* 06B6D8 7F036BA8 03095025 */ or $t2, $t8, $t1 -/* 06B6DC 7F036BAC 448A2000 */ mtc1 $t2, $f4 -/* 06B6E0 7F036BB0 922D0004 */ lbu $t5, 4($s1) -/* 06B6E4 7F036BB4 000CCA00 */ sll $t9, $t4, 8 -/* 06B6E8 7F036BB8 468021A0 */ cvt.s.w $f6, $f4 -/* 06B6EC 7F036BBC 032D1025 */ or $v0, $t9, $t5 -/* 06B6F0 7F036BC0 3045FFFF */ andi $a1, $v0, 0xffff -/* 06B6F4 7F036BC4 02E02025 */ move $a0, $s7 -/* 06B6F8 7F036BC8 46183202 */ mul.s $f8, $f6, $f24 -/* 06B6FC 7F036BCC 0FC0CC55 */ jal get_distance_between_actor_and_preset -/* 06B700 7F036BD0 E7A805B0 */ swc1 $f8, 0x5b0($sp) -/* 06B704 7F036BD4 C7AA05B0 */ lwc1 $f10, 0x5b0($sp) -/* 06B708 7F036BD8 02C02025 */ move $a0, $s6 -/* 06B70C 7F036BDC 02402825 */ move $a1, $s2 -/* 06B710 7F036BE0 460A003C */ c.lt.s $f0, $f10 -/* 06B714 7F036BE4 00000000 */ nop -/* 06B718 7F036BE8 45020007 */ bc1fl .L7F036C08 -/* 06B71C 7F036BEC 26520006 */ addiu $s2, $s2, 6 -/* 06B720 7F036BF0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B724 7F036BF4 92260005 */ lbu $a2, 5($s1) -/* 06B728 7F036BF8 00409025 */ move $s2, $v0 -/* 06B72C 7F036BFC 1000FA63 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B730 7F036C00 02C28821 */ addu $s1, $s6, $v0 -/* 06B734 7F036C04 26520006 */ addiu $s2, $s2, 6 -.L7F036C08: -/* 06B738 7F036C08 1000FA60 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B73C 7F036C0C 26310006 */ addiu $s1, $s1, 6 -action53_GoIntoRVLIf_Not_In_Units_Of_Preset_6: -/* 06B740 7F036C10 922E0001 */ lbu $t6, 1($s1) -/* 06B744 7F036C14 92380002 */ lbu $t8, 2($s1) -/* 06B748 7F036C18 922B0003 */ lbu $t3, 3($s1) -/* 06B74C 7F036C1C 000E7A00 */ sll $t7, $t6, 8 -/* 06B750 7F036C20 01F84825 */ or $t1, $t7, $t8 -/* 06B754 7F036C24 44898000 */ mtc1 $t1, $f16 -/* 06B758 7F036C28 92390004 */ lbu $t9, 4($s1) -/* 06B75C 7F036C2C 000B6200 */ sll $t4, $t3, 8 -/* 06B760 7F036C30 468084A0 */ cvt.s.w $f18, $f16 -/* 06B764 7F036C34 01991025 */ or $v0, $t4, $t9 -/* 06B768 7F036C38 3045FFFF */ andi $a1, $v0, 0xffff -/* 06B76C 7F036C3C 02E02025 */ move $a0, $s7 -/* 06B770 7F036C40 46189102 */ mul.s $f4, $f18, $f24 -/* 06B774 7F036C44 0FC0CC55 */ jal get_distance_between_actor_and_preset -/* 06B778 7F036C48 E7A405A4 */ swc1 $f4, 0x5a4($sp) -/* 06B77C 7F036C4C C7A605A4 */ lwc1 $f6, 0x5a4($sp) -/* 06B780 7F036C50 02C02025 */ move $a0, $s6 -/* 06B784 7F036C54 02402825 */ move $a1, $s2 -/* 06B788 7F036C58 4600303C */ c.lt.s $f6, $f0 -/* 06B78C 7F036C5C 00000000 */ nop -/* 06B790 7F036C60 45020007 */ bc1fl .L7F036C80 -/* 06B794 7F036C64 26520006 */ addiu $s2, $s2, 6 -/* 06B798 7F036C68 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B79C 7F036C6C 92260005 */ lbu $a2, 5($s1) -/* 06B7A0 7F036C70 00409025 */ move $s2, $v0 -/* 06B7A4 7F036C74 1000FA45 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B7A8 7F036C78 02C28821 */ addu $s1, $s6, $v0 -/* 06B7AC 7F036C7C 26520006 */ addiu $s2, $s2, 6 -.L7F036C80: -/* 06B7B0 7F036C80 1000FA42 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B7B4 7F036C84 26310006 */ addiu $s1, $s1, 6 -action54_GoIntoRVLIf_Guard_Is_At_Preset_5: -/* 06B7B8 7F036C88 922A0002 */ lbu $t2, 2($s1) -/* 06B7BC 7F036C8C 922C0003 */ lbu $t4, 3($s1) -/* 06B7C0 7F036C90 02E02025 */ move $a0, $s7 -/* 06B7C4 7F036C94 000A5A00 */ sll $t3, $t2, 8 -/* 06B7C8 7F036C98 016C1025 */ or $v0, $t3, $t4 -/* 06B7CC 7F036C9C 3046FFFF */ andi $a2, $v0, 0xffff -/* 06B7D0 7F036CA0 0FC0D0E2 */ jal check_if_actorID_is_at_preset -/* 06B7D4 7F036CA4 92250001 */ lbu $a1, 1($s1) -/* 06B7D8 7F036CA8 10400007 */ beqz $v0, .L7F036CC8 -/* 06B7DC 7F036CAC 02C02025 */ move $a0, $s6 -/* 06B7E0 7F036CB0 02402825 */ move $a1, $s2 -/* 06B7E4 7F036CB4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B7E8 7F036CB8 92260004 */ lbu $a2, 4($s1) -/* 06B7EC 7F036CBC 00409025 */ move $s2, $v0 -/* 06B7F0 7F036CC0 1000FA32 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B7F4 7F036CC4 02C28821 */ addu $s1, $s6, $v0 -.L7F036CC8: -/* 06B7F8 7F036CC8 26520005 */ addiu $s2, $s2, 5 -/* 06B7FC 7F036CCC 1000FA2F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B800 7F036CD0 26310005 */ addiu $s1, $s1, 5 -action55_GoIntoRVLIf_Entered_Room_with_Preset_4: -/* 06B804 7F036CD4 922D0001 */ lbu $t5, 1($s1) -/* 06B808 7F036CD8 922F0002 */ lbu $t7, 2($s1) -/* 06B80C 7F036CDC 02E02025 */ move $a0, $s7 -/* 06B810 7F036CE0 000D7200 */ sll $t6, $t5, 8 -/* 06B814 7F036CE4 01CF1025 */ or $v0, $t6, $t7 -/* 06B818 7F036CE8 0FC0D113 */ jal check_if_actor_is_at_preset -/* 06B81C 7F036CEC 3045FFFF */ andi $a1, $v0, 0xffff -/* 06B820 7F036CF0 10400007 */ beqz $v0, .L7F036D10 -/* 06B824 7F036CF4 02C02025 */ move $a0, $s6 -/* 06B828 7F036CF8 02402825 */ move $a1, $s2 -/* 06B82C 7F036CFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B830 7F036D00 92260003 */ lbu $a2, 3($s1) -/* 06B834 7F036D04 00409025 */ move $s2, $v0 -/* 06B838 7F036D08 1000FA20 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B83C 7F036D0C 02C28821 */ addu $s1, $s6, $v0 -.L7F036D10: -/* 06B840 7F036D10 26520004 */ addiu $s2, $s2, 4 -/* 06B844 7F036D14 1000FA1D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B848 7F036D18 26310004 */ addiu $s1, $s1, 4 -action56_GoIntoRVLIf_16_Object_num_Collected_3: -/* 06B84C 7F036D1C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06B850 7F036D20 92240001 */ lbu $a0, 1($s1) -/* 06B854 7F036D24 5040000F */ beql $v0, $zero, .L7F036D64 -/* 06B858 7F036D28 26520003 */ addiu $s2, $s2, 3 -/* 06B85C 7F036D2C 8C490010 */ lw $t1, 0x10($v0) -/* 06B860 7F036D30 5120000C */ beql $t1, $zero, .L7F036D64 -/* 06B864 7F036D34 26520003 */ addiu $s2, $s2, 3 -/* 06B868 7F036D38 0FC233F8 */ jal sub_GAME_7F08CFE0 -/* 06B86C 7F036D3C 8C440010 */ lw $a0, 0x10($v0) -/* 06B870 7F036D40 10400007 */ beqz $v0, .L7F036D60 -/* 06B874 7F036D44 02C02025 */ move $a0, $s6 -/* 06B878 7F036D48 02402825 */ move $a1, $s2 -/* 06B87C 7F036D4C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B880 7F036D50 92260002 */ lbu $a2, 2($s1) -/* 06B884 7F036D54 00409025 */ move $s2, $v0 -/* 06B888 7F036D58 1000FA0C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B88C 7F036D5C 02C28821 */ addu $s1, $s6, $v0 -.L7F036D60: -/* 06B890 7F036D60 26520003 */ addiu $s2, $s2, 3 -.L7F036D64: -/* 06B894 7F036D64 1000FA09 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B898 7F036D68 26310003 */ addiu $s1, $s1, 3 -action57_GoIntoRVLIf_Specified_Weapon_Deposited_3: -/* 06B89C 7F036D6C 0FC146BB */ jal check_if_item_deposited -/* 06B8A0 7F036D70 92240001 */ lbu $a0, 1($s1) -/* 06B8A4 7F036D74 10400007 */ beqz $v0, .L7F036D94 -/* 06B8A8 7F036D78 02C02025 */ move $a0, $s6 -/* 06B8AC 7F036D7C 02402825 */ move $a1, $s2 -/* 06B8B0 7F036D80 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B8B4 7F036D84 92260002 */ lbu $a2, 2($s1) -/* 06B8B8 7F036D88 00409025 */ move $s2, $v0 -/* 06B8BC 7F036D8C 1000F9FF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B8C0 7F036D90 02C28821 */ addu $s1, $s6, $v0 -.L7F036D94: -/* 06B8C4 7F036D94 26520003 */ addiu $s2, $s2, 3 -/* 06B8C8 7F036D98 1000F9FC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B8CC 7F036D9C 26310003 */ addiu $s1, $s1, 3 -action58_GoIntoRVLIf_SpecifiedWeaponDeposited_On16Object_4: -/* 06B8D0 7F036DA0 92240002 */ lbu $a0, 2($s1) -/* 06B8D4 7F036DA4 0FC15C30 */ jal get_handle_to_tagged_object -/* 06B8D8 7F036DA8 00008025 */ move $s0, $zero -/* 06B8DC 7F036DAC 10400015 */ beqz $v0, .L7F036E04 -/* 06B8E0 7F036DB0 02402825 */ move $a1, $s2 -/* 06B8E4 7F036DB4 8C440010 */ lw $a0, 0x10($v0) -/* 06B8E8 7F036DB8 10800012 */ beqz $a0, .L7F036E04 -/* 06B8EC 7F036DBC 00000000 */ nop -/* 06B8F0 7F036DC0 8C830020 */ lw $v1, 0x20($a0) -/* 06B8F4 7F036DC4 1060000F */ beqz $v1, .L7F036E04 -/* 06B8F8 7F036DC8 00000000 */ nop -/* 06B8FC 7F036DCC 906A0000 */ lbu $t2, ($v1) -.L7F036DD0: -/* 06B900 7F036DD0 24010004 */ li $at, 4 -/* 06B904 7F036DD4 55410009 */ bnel $t2, $at, .L7F036DFC -/* 06B908 7F036DD8 8C630024 */ lw $v1, 0x24($v1) -/* 06B90C 7F036DDC 8C620004 */ lw $v0, 4($v1) -/* 06B910 7F036DE0 922B0001 */ lbu $t3, 1($s1) -/* 06B914 7F036DE4 804C0080 */ lb $t4, 0x80($v0) -/* 06B918 7F036DE8 556C0004 */ bnel $t3, $t4, .L7F036DFC -/* 06B91C 7F036DEC 8C630024 */ lw $v1, 0x24($v1) -/* 06B920 7F036DF0 10000004 */ b .L7F036E04 -/* 06B924 7F036DF4 24100001 */ li $s0, 1 -/* 06B928 7F036DF8 8C630024 */ lw $v1, 0x24($v1) -.L7F036DFC: -/* 06B92C 7F036DFC 5460FFF4 */ bnezl $v1, .L7F036DD0 -/* 06B930 7F036E00 906A0000 */ lbu $t2, ($v1) -.L7F036E04: -/* 06B934 7F036E04 12000006 */ beqz $s0, .L7F036E20 -/* 06B938 7F036E08 02C02025 */ move $a0, $s6 -/* 06B93C 7F036E0C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B940 7F036E10 92260003 */ lbu $a2, 3($s1) -/* 06B944 7F036E14 00409025 */ move $s2, $v0 -/* 06B948 7F036E18 1000F9DC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B94C 7F036E1C 02C28821 */ addu $s1, $s6, $v0 -.L7F036E20: -/* 06B950 7F036E20 26520004 */ addiu $s2, $s2, 4 -/* 06B954 7F036E24 1000F9D9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B958 7F036E28 26310004 */ addiu $s1, $s1, 4 -action59_GoIntoRVLIf_Specified_Weapon_Is_Out_3: -/* 06B95C 7F036E2C 0FC17674 */ jal get_item_in_hand -/* 06B960 7F036E30 00002025 */ move $a0, $zero -/* 06B964 7F036E34 92390001 */ lbu $t9, 1($s1) -/* 06B968 7F036E38 50590006 */ beql $v0, $t9, .L7F036E54 -/* 06B96C 7F036E3C 02C02025 */ move $a0, $s6 -/* 06B970 7F036E40 0FC17674 */ jal get_item_in_hand -/* 06B974 7F036E44 24040001 */ li $a0, 1 -/* 06B978 7F036E48 922D0001 */ lbu $t5, 1($s1) -/* 06B97C 7F036E4C 144D0007 */ bne $v0, $t5, .L7F036E6C -/* 06B980 7F036E50 02C02025 */ move $a0, $s6 -.L7F036E54: -/* 06B984 7F036E54 02402825 */ move $a1, $s2 -/* 06B988 7F036E58 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B98C 7F036E5C 92260002 */ lbu $a2, 2($s1) -/* 06B990 7F036E60 00409025 */ move $s2, $v0 -/* 06B994 7F036E64 1000F9C9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B998 7F036E68 02C28821 */ addu $s1, $s6, $v0 -.L7F036E6C: -/* 06B99C 7F036E6C 26520003 */ addiu $s2, $s2, 3 -/* 06B9A0 7F036E70 1000F9C6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B9A4 7F036E74 26310003 */ addiu $s1, $s1, 3 -action5A_GoIntoRVLIf_Type_16_Object_num_Loaded_3: -/* 06B9A8 7F036E78 0FC15C30 */ jal get_handle_to_tagged_object -/* 06B9AC 7F036E7C 92240001 */ lbu $a0, 1($s1) -/* 06B9B0 7F036E80 5040000C */ beql $v0, $zero, .L7F036EB4 -/* 06B9B4 7F036E84 26520003 */ addiu $s2, $s2, 3 -/* 06B9B8 7F036E88 8C4E0010 */ lw $t6, 0x10($v0) -/* 06B9BC 7F036E8C 02C02025 */ move $a0, $s6 -/* 06B9C0 7F036E90 02402825 */ move $a1, $s2 -/* 06B9C4 7F036E94 51C00007 */ beql $t6, $zero, .L7F036EB4 -/* 06B9C8 7F036E98 26520003 */ addiu $s2, $s2, 3 -/* 06B9CC 7F036E9C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B9D0 7F036EA0 92260002 */ lbu $a2, 2($s1) -/* 06B9D4 7F036EA4 00409025 */ move $s2, $v0 -/* 06B9D8 7F036EA8 1000F9B8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B9DC 7F036EAC 02C28821 */ addu $s1, $s6, $v0 -/* 06B9E0 7F036EB0 26520003 */ addiu $s2, $s2, 3 -.L7F036EB4: -/* 06B9E4 7F036EB4 1000F9B5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B9E8 7F036EB8 26310003 */ addiu $s1, $s1, 3 -action5B_GoIntoRVLIf_16_Object_num_Not_Destroyed_3: -/* 06B9EC 7F036EBC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06B9F0 7F036EC0 92240001 */ lbu $a0, 1($s1) -/* 06B9F4 7F036EC4 1040000E */ beqz $v0, .L7F036F00 -/* 06B9F8 7F036EC8 00402025 */ move $a0, $v0 -/* 06B9FC 7F036ECC 8C4F0010 */ lw $t7, 0x10($v0) -/* 06BA00 7F036ED0 51E0000C */ beql $t7, $zero, .L7F036F04 -/* 06BA04 7F036ED4 26520003 */ addiu $s2, $s2, 3 -/* 06BA08 7F036ED8 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 06BA0C 7F036EDC 00000000 */ nop -/* 06BA10 7F036EE0 10400007 */ beqz $v0, .L7F036F00 -/* 06BA14 7F036EE4 02C02025 */ move $a0, $s6 -/* 06BA18 7F036EE8 02402825 */ move $a1, $s2 -/* 06BA1C 7F036EEC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06BA20 7F036EF0 92260002 */ lbu $a2, 2($s1) -/* 06BA24 7F036EF4 00409025 */ move $s2, $v0 -/* 06BA28 7F036EF8 1000F9A4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BA2C 7F036EFC 02C28821 */ addu $s1, $s6, $v0 -.L7F036F00: -/* 06BA30 7F036F00 26520003 */ addiu $s2, $s2, 3 -.L7F036F04: -/* 06BA34 7F036F04 1000F9A1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BA38 7F036F08 26310003 */ addiu $s1, $s1, 3 -action5C_GoIntoRVLIf_16_Object_num_Activated_3: -/* 06BA3C 7F036F0C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BA40 7F036F10 92240001 */ lbu $a0, 1($s1) -/* 06BA44 7F036F14 50400014 */ beql $v0, $zero, .L7F036F68 -/* 06BA48 7F036F18 26520003 */ addiu $s2, $s2, 3 -/* 06BA4C 7F036F1C 8C580010 */ lw $t8, 0x10($v0) -/* 06BA50 7F036F20 53000011 */ beql $t8, $zero, .L7F036F68 -/* 06BA54 7F036F24 26520003 */ addiu $s2, $s2, 3 -/* 06BA58 7F036F28 8C490064 */ lw $t1, 0x64($v0) -/* 06BA5C 7F036F2C 2401BFFF */ li $at, -16385 -/* 06BA60 7F036F30 312A4000 */ andi $t2, $t1, 0x4000 -/* 06BA64 7F036F34 5140000C */ beql $t2, $zero, .L7F036F68 -/* 06BA68 7F036F38 26520003 */ addiu $s2, $s2, 3 -/* 06BA6C 7F036F3C 8C4B0064 */ lw $t3, 0x64($v0) -/* 06BA70 7F036F40 02C02025 */ move $a0, $s6 -/* 06BA74 7F036F44 02402825 */ move $a1, $s2 -/* 06BA78 7F036F48 01616024 */ and $t4, $t3, $at -/* 06BA7C 7F036F4C AC4C0064 */ sw $t4, 0x64($v0) -/* 06BA80 7F036F50 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06BA84 7F036F54 92260002 */ lbu $a2, 2($s1) -/* 06BA88 7F036F58 00409025 */ move $s2, $v0 -/* 06BA8C 7F036F5C 1000F98B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BA90 7F036F60 02C28821 */ addu $s1, $s6, $v0 -/* 06BA94 7F036F64 26520003 */ addiu $s2, $s2, 3 -.L7F036F68: -/* 06BA98 7F036F68 1000F988 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BA9C 7F036F6C 26310003 */ addiu $s1, $s1, 3 -action5D_GoIntoRVLIf_Gadget_Used_On_16_Object_num_3: -/* 06BAA0 7F036F70 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BAA4 7F036F74 92240001 */ lbu $a0, 1($s1) -/* 06BAA8 7F036F78 50400013 */ beql $v0, $zero, .L7F036FC8 -/* 06BAAC 7F036F7C 26520003 */ addiu $s2, $s2, 3 -/* 06BAB0 7F036F80 8C590010 */ lw $t9, 0x10($v0) -/* 06BAB4 7F036F84 53200010 */ beql $t9, $zero, .L7F036FC8 -/* 06BAB8 7F036F88 26520003 */ addiu $s2, $s2, 3 -/* 06BABC 7F036F8C 904D0002 */ lbu $t5, 2($v0) -/* 06BAC0 7F036F90 31AE0040 */ andi $t6, $t5, 0x40 -/* 06BAC4 7F036F94 51C0000C */ beql $t6, $zero, .L7F036FC8 -/* 06BAC8 7F036F98 26520003 */ addiu $s2, $s2, 3 -/* 06BACC 7F036F9C 904F0002 */ lbu $t7, 2($v0) -/* 06BAD0 7F036FA0 02C02025 */ move $a0, $s6 -/* 06BAD4 7F036FA4 02402825 */ move $a1, $s2 -/* 06BAD8 7F036FA8 31F8FFBF */ andi $t8, $t7, 0xffbf -/* 06BADC 7F036FAC A0580002 */ sb $t8, 2($v0) -/* 06BAE0 7F036FB0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06BAE4 7F036FB4 92260002 */ lbu $a2, 2($s1) -/* 06BAE8 7F036FB8 00409025 */ move $s2, $v0 -/* 06BAEC 7F036FBC 1000F973 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BAF0 7F036FC0 02C28821 */ addu $s1, $s6, $v0 -/* 06BAF4 7F036FC4 26520003 */ addiu $s2, $s2, 3 -.L7F036FC8: -/* 06BAF8 7F036FC8 1000F970 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BAFC 7F036FCC 26310003 */ addiu $s1, $s1, 3 -action5E_16_Object_Activates_2: -/* 06BB00 7F036FD0 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BB04 7F036FD4 92240001 */ lbu $a0, 1($s1) -/* 06BB08 7F036FD8 10400014 */ beqz $v0, .L7F03702C -/* 06BB0C 7F036FDC 00402825 */ move $a1, $v0 -/* 06BB10 7F036FE0 8C440010 */ lw $a0, 0x10($v0) -/* 06BB14 7F036FE4 50800012 */ beql $a0, $zero, .L7F037030 -/* 06BB18 7F036FE8 26520002 */ addiu $s2, $s2, 2 -/* 06BB1C 7F036FEC 90830000 */ lbu $v1, ($a0) -/* 06BB20 7F036FF0 24010002 */ li $at, 2 -/* 06BB24 7F036FF4 54610007 */ bnel $v1, $at, .L7F037014 -/* 06BB28 7F036FF8 24010001 */ li $at, 1 -/* 06BB2C 7F036FFC 0FC15667 */ jal sub_GAME_7F05599C -/* 06BB30 7F037000 8C440010 */ lw $a0, 0x10($v0) -/* 06BB34 7F037004 26520002 */ addiu $s2, $s2, 2 -/* 06BB38 7F037008 1000F960 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BB3C 7F03700C 26310002 */ addiu $s1, $s1, 2 -/* 06BB40 7F037010 24010001 */ li $at, 1 -.L7F037014: -/* 06BB44 7F037014 10610003 */ beq $v1, $at, .L7F037024 -/* 06BB48 7F037018 24010004 */ li $at, 4 -/* 06BB4C 7F03701C 54610004 */ bnel $v1, $at, .L7F037030 -/* 06BB50 7F037020 26520002 */ addiu $s2, $s2, 2 -.L7F037024: -/* 06BB54 7F037024 0FC13C5C */ jal sub_GAME_7F04F170 -/* 06BB58 7F037028 8CA40010 */ lw $a0, 0x10($a1) -.L7F03702C: -/* 06BB5C 7F03702C 26520002 */ addiu $s2, $s2, 2 -.L7F037030: -/* 06BB60 7F037030 1000F956 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BB64 7F037034 26310002 */ addiu $s1, $s1, 2 -action5F_16_Object_Explodes_2: -/* 06BB68 7F037038 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BB6C 7F03703C 92240001 */ lbu $a0, 1($s1) -/* 06BB70 7F037040 10400019 */ beqz $v0, .L7F0370A8 -/* 06BB74 7F037044 00408025 */ move $s0, $v0 -/* 06BB78 7F037048 8C490010 */ lw $t1, 0x10($v0) -/* 06BB7C 7F03704C 51200017 */ beql $t1, $zero, .L7F0370AC -/* 06BB80 7F037050 26520002 */ addiu $s2, $s2, 2 -/* 06BB84 7F037054 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 06BB88 7F037058 00402025 */ move $a0, $v0 -/* 06BB8C 7F03705C 54400013 */ bnezl $v0, .L7F0370AC -/* 06BB90 7F037060 26520002 */ addiu $s2, $s2, 2 -/* 06BB94 7F037064 C6080074 */ lwc1 $f8, 0x74($s0) -/* 06BB98 7F037068 C60A0070 */ lwc1 $f10, 0x70($s0) -/* 06BB9C 7F03706C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06BBA0 7F037070 44819000 */ mtc1 $at, $f18 -/* 06BBA4 7F037074 460A4401 */ sub.s $f16, $f8, $f10 -/* 06BBA8 7F037078 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 06BBAC 7F03707C 44813000 */ mtc1 $at, $f6 -/* 06BBB0 7F037080 240AFFFF */ li $t2, -1 -/* 06BBB4 7F037084 46128100 */ add.s $f4, $f16, $f18 -/* 06BBB8 7F037088 AFAA0010 */ sw $t2, 0x10($sp) -/* 06BBBC 7F03708C 02002025 */ move $a0, $s0 -/* 06BBC0 7F037090 26060058 */ addiu $a2, $s0, 0x58 -/* 06BBC4 7F037094 46062003 */ div.s $f0, $f4, $f6 -/* 06BBC8 7F037098 2407001D */ li $a3, 29 -/* 06BBCC 7F03709C 44050000 */ mfc1 $a1, $f0 -/* 06BBD0 7F0370A0 0FC13842 */ jal maybe_detonate_object -/* 06BBD4 7F0370A4 00000000 */ nop -.L7F0370A8: -/* 06BBD8 7F0370A8 26520002 */ addiu $s2, $s2, 2 -.L7F0370AC: -/* 06BBDC 7F0370AC 1000F937 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BBE0 7F0370B0 26310002 */ addiu $s1, $s1, 2 -action60_Guard_Drops_16_Object_num_2: -/* 06BBE4 7F0370B4 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BBE8 7F0370B8 92240001 */ lbu $a0, 1($s1) -/* 06BBEC 7F0370BC 10400013 */ beqz $v0, .L7F03710C -/* 06BBF0 7F0370C0 00403025 */ move $a2, $v0 -/* 06BBF4 7F0370C4 8C440010 */ lw $a0, 0x10($v0) -/* 06BBF8 7F0370C8 50800011 */ beql $a0, $zero, .L7F037110 -/* 06BBFC 7F0370CC 26520002 */ addiu $s2, $s2, 2 -/* 06BC00 7F0370D0 8C83001C */ lw $v1, 0x1c($a0) -/* 06BC04 7F0370D4 5060000E */ beql $v1, $zero, .L7F037110 -/* 06BC08 7F0370D8 26520002 */ addiu $s2, $s2, 2 -/* 06BC0C 7F0370DC 906B0000 */ lbu $t3, ($v1) -/* 06BC10 7F0370E0 24010003 */ li $at, 3 -/* 06BC14 7F0370E4 5561000A */ bnel $t3, $at, .L7F037110 -/* 06BC18 7F0370E8 26520002 */ addiu $s2, $s2, 2 -/* 06BC1C 7F0370EC 8C440010 */ lw $a0, 0x10($v0) -/* 06BC20 7F0370F0 24050002 */ li $a1, 2 -/* 06BC24 7F0370F4 8C8C001C */ lw $t4, 0x1c($a0) -/* 06BC28 7F0370F8 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 06BC2C 7F0370FC 8D900004 */ lw $s0, 4($t4) -/* 06BC30 7F037100 96190012 */ lhu $t9, 0x12($s0) -/* 06BC34 7F037104 372D0001 */ ori $t5, $t9, 1 -/* 06BC38 7F037108 A60D0012 */ sh $t5, 0x12($s0) -.L7F03710C: -/* 06BC3C 7F03710C 26520002 */ addiu $s2, $s2, 2 -.L7F037110: -/* 06BC40 7F037110 1000F91E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BC44 7F037114 26310002 */ addiu $s1, $s1, 2 -action61_Kill_Guard_num_2: -/* 06BC48 7F037118 02E02025 */ move $a0, $s7 -/* 06BC4C 7F03711C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06BC50 7F037120 92250001 */ lbu $a1, 1($s1) -/* 06BC54 7F037124 10400006 */ beqz $v0, .L7F037140 -/* 06BC58 7F037128 00402025 */ move $a0, $v0 -/* 06BC5C 7F03712C 8C4E0018 */ lw $t6, 0x18($v0) -/* 06BC60 7F037130 51C00004 */ beql $t6, $zero, .L7F037144 -/* 06BC64 7F037134 26520002 */ addiu $s2, $s2, 2 -/* 06BC68 7F037138 0FC086C8 */ jal sub_GAME_7F021B20 -/* 06BC6C 7F03713C 00000000 */ nop -.L7F037140: -/* 06BC70 7F037140 26520002 */ addiu $s2, $s2, 2 -.L7F037144: -/* 06BC74 7F037144 1000F911 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BC78 7F037148 26310002 */ addiu $s1, $s1, 2 -action62_Guard_num_Throws_Equipment_2: -/* 06BC7C 7F03714C 02E02025 */ move $a0, $s7 -/* 06BC80 7F037150 0FC0CC10 */ jal get_handle_for_guard_id -/* 06BC84 7F037154 92250001 */ lbu $a1, 1($s1) -/* 06BC88 7F037158 10400015 */ beqz $v0, .L7F0371B0 -/* 06BC8C 7F03715C 00408025 */ move $s0, $v0 -/* 06BC90 7F037160 8C4F0018 */ lw $t7, 0x18($v0) -/* 06BC94 7F037164 51E00013 */ beql $t7, $zero, .L7F0371B4 -/* 06BC98 7F037168 26520002 */ addiu $s2, $s2, 2 -/* 06BC9C 7F03716C 8C580160 */ lw $t8, 0x160($v0) -/* 06BCA0 7F037170 24050001 */ li $a1, 1 -/* 06BCA4 7F037174 53000007 */ beql $t8, $zero, .L7F037194 -/* 06BCA8 7F037178 8E040164 */ lw $a0, 0x164($s0) -/* 06BCAC 7F03717C 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 06BCB0 7F037180 8C440160 */ lw $a0, 0x160($v0) -/* 06BCB4 7F037184 96090012 */ lhu $t1, 0x12($s0) -/* 06BCB8 7F037188 352A0001 */ ori $t2, $t1, 1 -/* 06BCBC 7F03718C A60A0012 */ sh $t2, 0x12($s0) -/* 06BCC0 7F037190 8E040164 */ lw $a0, 0x164($s0) -.L7F037194: -/* 06BCC4 7F037194 50800007 */ beql $a0, $zero, .L7F0371B4 -/* 06BCC8 7F037198 26520002 */ addiu $s2, $s2, 2 -/* 06BCCC 7F03719C 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 06BCD0 7F0371A0 24050001 */ li $a1, 1 -/* 06BCD4 7F0371A4 960B0012 */ lhu $t3, 0x12($s0) -/* 06BCD8 7F0371A8 356C0001 */ ori $t4, $t3, 1 -/* 06BCDC 7F0371AC A60C0012 */ sh $t4, 0x12($s0) -.L7F0371B0: -/* 06BCE0 7F0371B0 26520002 */ addiu $s2, $s2, 2 -.L7F0371B4: -/* 06BCE4 7F0371B4 1000F8F5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BCE8 7F0371B8 26310002 */ addiu $s1, $s1, 2 -action63_Guard_Gives_Bond_16_Object_num_2: -/* 06BCEC 7F0371BC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BCF0 7F0371C0 92240001 */ lbu $a0, 1($s1) -/* 06BCF4 7F0371C4 1040000A */ beqz $v0, .L7F0371F0 -/* 06BCF8 7F0371C8 00408025 */ move $s0, $v0 -/* 06BCFC 7F0371CC 8C590010 */ lw $t9, 0x10($v0) -/* 06BD00 7F0371D0 00002825 */ move $a1, $zero -/* 06BD04 7F0371D4 53200007 */ beql $t9, $zero, .L7F0371F4 -/* 06BD08 7F0371D8 26520002 */ addiu $s2, $s2, 2 -/* 06BD0C 7F0371DC 0FC14094 */ jal collect_or_interact_object -/* 06BD10 7F0371E0 8C440010 */ lw $a0, 0x10($v0) -/* 06BD14 7F0371E4 8E040010 */ lw $a0, 0x10($s0) -/* 06BD18 7F0371E8 0FC0F0AF */ jal sub_GAME_7F03C2BC -/* 06BD1C 7F0371EC 00402825 */ move $a1, $v0 -.L7F0371F0: -/* 06BD20 7F0371F0 26520002 */ addiu $s2, $s2, 2 -.L7F0371F4: -/* 06BD24 7F0371F4 1000F8E5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BD28 7F0371F8 26310002 */ addiu $s1, $s1, 2 -action64_Type_16_Object_Equipped_On_Guard_3: -/* 06BD2C 7F0371FC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BD30 7F037200 92240001 */ lbu $a0, 1($s1) -/* 06BD34 7F037204 00408025 */ move $s0, $v0 -/* 06BD38 7F037208 02E02025 */ move $a0, $s7 -/* 06BD3C 7F03720C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06BD40 7F037210 92250002 */ lbu $a1, 2($s1) -/* 06BD44 7F037214 1200001F */ beqz $s0, .L7F037294 -/* 06BD48 7F037218 00409825 */ move $s3, $v0 -/* 06BD4C 7F03721C 8E040010 */ lw $a0, 0x10($s0) -/* 06BD50 7F037220 5080001D */ beql $a0, $zero, .L7F037298 -/* 06BD54 7F037224 26520003 */ addiu $s2, $s2, 3 -/* 06BD58 7F037228 5040001B */ beql $v0, $zero, .L7F037298 -/* 06BD5C 7F03722C 26520003 */ addiu $s2, $s2, 3 -/* 06BD60 7F037230 8C8D001C */ lw $t5, 0x1c($a0) -/* 06BD64 7F037234 11A00005 */ beqz $t5, .L7F03724C -/* 06BD68 7F037238 00000000 */ nop -/* 06BD6C 7F03723C 0FC13011 */ jal sub_GAME_7F04C044 -/* 06BD70 7F037240 00000000 */ nop -/* 06BD74 7F037244 10000008 */ b .L7F037268 -/* 06BD78 7F037248 920E0003 */ lbu $t6, 3($s0) -.L7F03724C: -/* 06BD7C 7F03724C 0FC0F863 */ jal sub_GAME_7F03E18C -/* 06BD80 7F037250 00000000 */ nop -/* 06BD84 7F037254 0FC0E94E */ jal sub_GAME_7F03A538 -/* 06BD88 7F037258 8E040010 */ lw $a0, 0x10($s0) -/* 06BD8C 7F03725C 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 06BD90 7F037260 8E040010 */ lw $a0, 0x10($s0) -/* 06BD94 7F037264 920E0003 */ lbu $t6, 3($s0) -.L7F037268: -/* 06BD98 7F037268 24010008 */ li $at, 8 -/* 06BD9C 7F03726C 02002025 */ move $a0, $s0 -/* 06BDA0 7F037270 55C10006 */ bnel $t6, $at, .L7F03728C -/* 06BDA4 7F037274 8E040010 */ lw $a0, 0x10($s0) -/* 06BDA8 7F037278 0FC14787 */ jal sub_GAME_7F051E1C -/* 06BDAC 7F03727C 02602825 */ move $a1, $s3 -/* 06BDB0 7F037280 54400005 */ bnezl $v0, .L7F037298 -/* 06BDB4 7F037284 26520003 */ addiu $s2, $s2, 3 -/* 06BDB8 7F037288 8E040010 */ lw $a0, 0x10($s0) -.L7F03728C: -/* 06BDBC 7F03728C 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 06BDC0 7F037290 8E650018 */ lw $a1, 0x18($s3) -.L7F037294: -/* 06BDC4 7F037294 26520003 */ addiu $s2, $s2, 3 -.L7F037298: -/* 06BDC8 7F037298 1000F8BC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BDCC 7F03729C 26310003 */ addiu $s1, $s1, 3 -action65_Object_Moved_To_Preset_4: -/* 06BDD0 7F0372A0 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BDD4 7F0372A4 92240001 */ lbu $a0, 1($s1) -/* 06BDD8 7F0372A8 AFA20500 */ sw $v0, 0x500($sp) -/* 06BDDC 7F0372AC 922F0002 */ lbu $t7, 2($s1) -/* 06BDE0 7F0372B0 92290003 */ lbu $t1, 3($s1) -/* 06BDE4 7F0372B4 000FC200 */ sll $t8, $t7, 8 -/* 06BDE8 7F0372B8 03091825 */ or $v1, $t8, $t1 -/* 06BDEC 7F0372BC 1040003C */ beqz $v0, .L7F0373B0 -/* 06BDF0 7F0372C0 306AFFFF */ andi $t2, $v1, 0xffff -/* 06BDF4 7F0372C4 8C4B0010 */ lw $t3, 0x10($v0) -/* 06BDF8 7F0372C8 00409825 */ move $s3, $v0 -/* 06BDFC 7F0372CC 29412710 */ slti $at, $t2, 0x2710 -/* 06BE00 7F0372D0 51600038 */ beql $t3, $zero, .L7F0373B4 -/* 06BE04 7F0372D4 26520004 */ addiu $s2, $s2, 4 -/* 06BE08 7F0372D8 1020000A */ beqz $at, .L7F037304 -/* 06BE0C 7F0372DC 01401025 */ move $v0, $t2 -/* 06BE10 7F0372E0 000A6080 */ sll $t4, $t2, 2 -/* 06BE14 7F0372E4 018A6023 */ subu $t4, $t4, $t2 -/* 06BE18 7F0372E8 000C6080 */ sll $t4, $t4, 2 -/* 06BE1C 7F0372EC 3C198007 */ lui $t9, %hi(ptr_0xxxpresets) -/* 06BE20 7F0372F0 8F395D18 */ lw $t9, %lo(ptr_0xxxpresets)($t9) -/* 06BE24 7F0372F4 018A6023 */ subu $t4, $t4, $t2 -/* 06BE28 7F0372F8 000C6080 */ sll $t4, $t4, 2 -/* 06BE2C 7F0372FC 1000000A */ b .L7F037328 -/* 06BE30 7F037300 01998021 */ addu $s0, $t4, $t9 -.L7F037304: -/* 06BE34 7F037304 3C0E8007 */ lui $t6, %hi(ptr_2xxxpresets) -/* 06BE38 7F037308 8DCE5D1C */ lw $t6, %lo(ptr_2xxxpresets)($t6) -/* 06BE3C 7F03730C 00026900 */ sll $t5, $v0, 4 -/* 06BE40 7F037310 01A26821 */ addu $t5, $t5, $v0 -/* 06BE44 7F037314 000D6880 */ sll $t5, $t5, 2 -/* 06BE48 7F037318 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06BE4C 7F03731C 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06BE50 7F037320 01AE8021 */ addu $s0, $t5, $t6 -/* 06BE54 7F037324 02018021 */ addu $s0, $s0, $at -.L7F037328: -/* 06BE58 7F037328 C6080018 */ lwc1 $f8, 0x18($s0) -/* 06BE5C 7F03732C 4405A000 */ mfc1 $a1, $f20 -/* 06BE60 7F037330 4406A000 */ mfc1 $a2, $f20 -/* 06BE64 7F037334 46004287 */ neg.s $f10, $f8 -/* 06BE68 7F037338 4407A000 */ mfc1 $a3, $f20 -/* 06BE6C 7F03733C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 06BE70 7F037340 C610001C */ lwc1 $f16, 0x1c($s0) -/* 06BE74 7F037344 27A404B8 */ addiu $a0, $sp, 0x4b8 -/* 06BE78 7F037348 46008487 */ neg.s $f18, $f16 -/* 06BE7C 7F03734C E7B20014 */ swc1 $f18, 0x14($sp) -/* 06BE80 7F037350 C6040020 */ lwc1 $f4, 0x20($s0) -/* 06BE84 7F037354 46002187 */ neg.s $f6, $f4 -/* 06BE88 7F037358 E7A60018 */ swc1 $f6, 0x18($sp) -/* 06BE8C 7F03735C C608000C */ lwc1 $f8, 0xc($s0) -/* 06BE90 7F037360 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 06BE94 7F037364 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 06BE98 7F037368 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 06BE9C 7F03736C C6100014 */ lwc1 $f16, 0x14($s0) -/* 06BEA0 7F037370 0FC16642 */ jal sub_GAME_7F059908 -/* 06BEA4 7F037374 E7B00024 */ swc1 $f16, 0x24($sp) -/* 06BEA8 7F037378 8E620014 */ lw $v0, 0x14($s3) -/* 06BEAC 7F03737C 27A504B8 */ addiu $a1, $sp, 0x4b8 -/* 06BEB0 7F037380 50400004 */ beql $v0, $zero, .L7F037394 -/* 06BEB4 7F037384 8E070028 */ lw $a3, 0x28($s0) -/* 06BEB8 7F037388 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 06BEBC 7F03738C C44C0014 */ lwc1 $f12, 0x14($v0) -/* 06BEC0 7F037390 8E070028 */ lw $a3, 0x28($s0) -.L7F037394: -/* 06BEC4 7F037394 AFB00010 */ sw $s0, 0x10($sp) -/* 06BEC8 7F037398 02602025 */ move $a0, $s3 -/* 06BECC 7F03739C 02002825 */ move $a1, $s0 -/* 06BED0 7F0373A0 0FC10223 */ jal sub_GAME_7F04088C -/* 06BED4 7F0373A4 27A604B8 */ addiu $a2, $sp, 0x4b8 -/* 06BED8 7F0373A8 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 06BEDC 7F0373AC 02602025 */ move $a0, $s3 -.L7F0373B0: -/* 06BEE0 7F0373B0 26520004 */ addiu $s2, $s2, 4 -.L7F0373B4: -/* 06BEE4 7F0373B4 1000F875 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BEE8 7F0373B8 26310004 */ addiu $s1, $s1, 4 -action66_Open_Door_2: -/* 06BEEC 7F0373BC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BEF0 7F0373C0 92240001 */ lbu $a0, 1($s1) -/* 06BEF4 7F0373C4 1040000B */ beqz $v0, .L7F0373F4 -/* 06BEF8 7F0373C8 00403025 */ move $a2, $v0 -/* 06BEFC 7F0373CC 8C440010 */ lw $a0, 0x10($v0) -/* 06BF00 7F0373D0 50800009 */ beql $a0, $zero, .L7F0373F8 -/* 06BF04 7F0373D4 26520002 */ addiu $s2, $s2, 2 -/* 06BF08 7F0373D8 908F0000 */ lbu $t7, ($a0) -/* 06BF0C 7F0373DC 24010002 */ li $at, 2 -/* 06BF10 7F0373E0 00402025 */ move $a0, $v0 -/* 06BF14 7F0373E4 55E10004 */ bnel $t7, $at, .L7F0373F8 -/* 06BF18 7F0373E8 26520002 */ addiu $s2, $s2, 2 -/* 06BF1C 7F0373EC 0FC15262 */ jal set_door_state -/* 06BF20 7F0373F0 24050001 */ li $a1, 1 -.L7F0373F4: -/* 06BF24 7F0373F4 26520002 */ addiu $s2, $s2, 2 -.L7F0373F8: -/* 06BF28 7F0373F8 1000F864 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BF2C 7F0373FC 26310002 */ addiu $s1, $s1, 2 -action67_Close_Door_2: -/* 06BF30 7F037400 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BF34 7F037404 92240001 */ lbu $a0, 1($s1) -/* 06BF38 7F037408 1040000B */ beqz $v0, .L7F037438 -/* 06BF3C 7F03740C 00403025 */ move $a2, $v0 -/* 06BF40 7F037410 8C440010 */ lw $a0, 0x10($v0) -/* 06BF44 7F037414 50800009 */ beql $a0, $zero, .L7F03743C -/* 06BF48 7F037418 26520002 */ addiu $s2, $s2, 2 -/* 06BF4C 7F03741C 90980000 */ lbu $t8, ($a0) -/* 06BF50 7F037420 24010002 */ li $at, 2 -/* 06BF54 7F037424 00402025 */ move $a0, $v0 -/* 06BF58 7F037428 57010004 */ bnel $t8, $at, .L7F03743C -/* 06BF5C 7F03742C 26520002 */ addiu $s2, $s2, 2 -/* 06BF60 7F037430 0FC15262 */ jal set_door_state -/* 06BF64 7F037434 24050002 */ li $a1, 2 -.L7F037438: -/* 06BF68 7F037438 26520002 */ addiu $s2, $s2, 2 -.L7F03743C: -/* 06BF6C 7F03743C 1000F853 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BF70 7F037440 26310002 */ addiu $s1, $s1, 2 -action68_Check_Door_Status_RVL_If_Met_4: -/* 06BF74 7F037444 92240001 */ lbu $a0, 1($s1) -/* 06BF78 7F037448 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BF7C 7F03744C 00008025 */ move $s0, $zero -/* 06BF80 7F037450 10400027 */ beqz $v0, .L7F0374F0 -/* 06BF84 7F037454 02C02025 */ move $a0, $s6 -/* 06BF88 7F037458 8C490010 */ lw $t1, 0x10($v0) -/* 06BF8C 7F03745C 11200024 */ beqz $t1, .L7F0374F0 -/* 06BF90 7F037460 00000000 */ nop -/* 06BF94 7F037464 904A0003 */ lbu $t2, 3($v0) -/* 06BF98 7F037468 24010001 */ li $at, 1 -/* 06BF9C 7F03746C 15410020 */ bne $t2, $at, .L7F0374F0 -/* 06BFA0 7F037470 00000000 */ nop -/* 06BFA4 7F037474 804300BC */ lb $v1, 0xbc($v0) -/* 06BFA8 7F037478 24010001 */ li $at, 1 -/* 06BFAC 7F03747C 1460000E */ bnez $v1, .L7F0374B8 -/* 06BFB0 7F037480 00000000 */ nop -/* 06BFB4 7F037484 C45200B4 */ lwc1 $f18, 0xb4($v0) -/* 06BFB8 7F037488 4614903E */ c.le.s $f18, $f20 -/* 06BFBC 7F03748C 00000000 */ nop -/* 06BFC0 7F037490 45020006 */ bc1fl .L7F0374AC -/* 06BFC4 7F037494 92300002 */ lbu $s0, 2($s1) -/* 06BFC8 7F037498 92300002 */ lbu $s0, 2($s1) -/* 06BFCC 7F03749C 320B0001 */ andi $t3, $s0, 1 -/* 06BFD0 7F0374A0 10000013 */ b .L7F0374F0 -/* 06BFD4 7F0374A4 000B802B */ sltu $s0, $zero, $t3 -/* 06BFD8 7F0374A8 92300002 */ lbu $s0, 2($s1) -.L7F0374AC: -/* 06BFDC 7F0374AC 32190002 */ andi $t9, $s0, 2 -/* 06BFE0 7F0374B0 1000000F */ b .L7F0374F0 -/* 06BFE4 7F0374B4 0019802B */ sltu $s0, $zero, $t9 -.L7F0374B8: -/* 06BFE8 7F0374B8 10610003 */ beq $v1, $at, .L7F0374C8 -/* 06BFEC 7F0374BC 24010003 */ li $at, 3 -/* 06BFF0 7F0374C0 54610006 */ bnel $v1, $at, .L7F0374DC -/* 06BFF4 7F0374C4 24010002 */ li $at, 2 -.L7F0374C8: -/* 06BFF8 7F0374C8 92300002 */ lbu $s0, 2($s1) -/* 06BFFC 7F0374CC 320E0008 */ andi $t6, $s0, 8 -/* 06C000 7F0374D0 10000007 */ b .L7F0374F0 -/* 06C004 7F0374D4 000E802B */ sltu $s0, $zero, $t6 -/* 06C008 7F0374D8 24010002 */ li $at, 2 -.L7F0374DC: -/* 06C00C 7F0374DC 14610004 */ bne $v1, $at, .L7F0374F0 -/* 06C010 7F0374E0 00000000 */ nop -/* 06C014 7F0374E4 92300002 */ lbu $s0, 2($s1) -/* 06C018 7F0374E8 32180004 */ andi $t8, $s0, 4 -/* 06C01C 7F0374EC 0018802B */ sltu $s0, $zero, $t8 -.L7F0374F0: -/* 06C020 7F0374F0 12000006 */ beqz $s0, .L7F03750C -/* 06C024 7F0374F4 02402825 */ move $a1, $s2 -/* 06C028 7F0374F8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C02C 7F0374FC 92260003 */ lbu $a2, 3($s1) -/* 06C030 7F037500 00409025 */ move $s2, $v0 -/* 06C034 7F037504 1000F821 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C038 7F037508 02C28821 */ addu $s1, $s6, $v0 -.L7F03750C: -/* 06C03C 7F03750C 26520004 */ addiu $s2, $s2, 4 -/* 06C040 7F037510 1000F81E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C044 7F037514 26310004 */ addiu $s1, $s1, 4 -action69_If_16_Object_Is_Valid_Door_RVL_3: -/* 06C048 7F037518 0FC15C30 */ jal get_handle_to_tagged_object -/* 06C04C 7F03751C 92240001 */ lbu $a0, 1($s1) -/* 06C050 7F037520 50400014 */ beql $v0, $zero, .L7F037574 -/* 06C054 7F037524 26520003 */ addiu $s2, $s2, 3 -/* 06C058 7F037528 8C4A0010 */ lw $t2, 0x10($v0) -/* 06C05C 7F03752C 51400011 */ beql $t2, $zero, .L7F037574 -/* 06C060 7F037530 26520003 */ addiu $s2, $s2, 3 -/* 06C064 7F037534 904B0003 */ lbu $t3, 3($v0) -/* 06C068 7F037538 24010001 */ li $at, 1 -/* 06C06C 7F03753C 5561000D */ bnel $t3, $at, .L7F037574 -/* 06C070 7F037540 26520003 */ addiu $s2, $s2, 3 -/* 06C074 7F037544 8C4C0064 */ lw $t4, 0x64($v0) -/* 06C078 7F037548 02C02025 */ move $a0, $s6 -/* 06C07C 7F03754C 02402825 */ move $a1, $s2 -/* 06C080 7F037550 31990200 */ andi $t9, $t4, 0x200 -/* 06C084 7F037554 53200007 */ beql $t9, $zero, .L7F037574 -/* 06C088 7F037558 26520003 */ addiu $s2, $s2, 3 -/* 06C08C 7F03755C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C090 7F037560 92260002 */ lbu $a2, 2($s1) -/* 06C094 7F037564 00409025 */ move $s2, $v0 -/* 06C098 7F037568 1000F808 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C09C 7F03756C 02C28821 */ addu $s1, $s6, $v0 -/* 06C0A0 7F037570 26520003 */ addiu $s2, $s2, 3 -.L7F037574: -/* 06C0A4 7F037574 1000F805 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C0A8 7F037578 26310003 */ addiu $s1, $s1, 3 -action6A_Set_Bits_To_Lock_On_Type_16_Door_3: -/* 06C0AC 7F03757C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06C0B0 7F037580 92240001 */ lbu $a0, 1($s1) -/* 06C0B4 7F037584 1040000C */ beqz $v0, .L7F0375B8 -/* 06C0B8 7F037588 26520003 */ addiu $s2, $s2, 3 -/* 06C0BC 7F03758C 8C440010 */ lw $a0, 0x10($v0) -/* 06C0C0 7F037590 10800009 */ beqz $a0, .L7F0375B8 -/* 06C0C4 7F037594 00000000 */ nop -/* 06C0C8 7F037598 908D0000 */ lbu $t5, ($a0) -/* 06C0CC 7F03759C 24010002 */ li $at, 2 -/* 06C0D0 7F0375A0 15A10005 */ bne $t5, $at, .L7F0375B8 -/* 06C0D4 7F0375A4 00000000 */ nop -/* 06C0D8 7F0375A8 92230002 */ lbu $v1, 2($s1) -/* 06C0DC 7F0375AC 8C4E009C */ lw $t6, 0x9c($v0) -/* 06C0E0 7F0375B0 01C37825 */ or $t7, $t6, $v1 -/* 06C0E4 7F0375B4 AC4F009C */ sw $t7, 0x9c($v0) -.L7F0375B8: -/* 06C0E8 7F0375B8 1000F7F4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C0EC 7F0375BC 26310003 */ addiu $s1, $s1, 3 -action6B_Unset_Bits_To_Lock_On_Type_16_Door_3: -/* 06C0F0 7F0375C0 0FC15C30 */ jal get_handle_to_tagged_object -/* 06C0F4 7F0375C4 92240001 */ lbu $a0, 1($s1) -/* 06C0F8 7F0375C8 1040000D */ beqz $v0, .L7F037600 -/* 06C0FC 7F0375CC 26520003 */ addiu $s2, $s2, 3 -/* 06C100 7F0375D0 8C440010 */ lw $a0, 0x10($v0) -/* 06C104 7F0375D4 1080000A */ beqz $a0, .L7F037600 -/* 06C108 7F0375D8 00000000 */ nop -/* 06C10C 7F0375DC 90980000 */ lbu $t8, ($a0) -/* 06C110 7F0375E0 24010002 */ li $at, 2 -/* 06C114 7F0375E4 17010006 */ bne $t8, $at, .L7F037600 -/* 06C118 7F0375E8 00000000 */ nop -/* 06C11C 7F0375EC 92230002 */ lbu $v1, 2($s1) -/* 06C120 7F0375F0 8C49009C */ lw $t1, 0x9c($v0) -/* 06C124 7F0375F4 00605027 */ not $t2, $v1 -/* 06C128 7F0375F8 012A5824 */ and $t3, $t1, $t2 -/* 06C12C 7F0375FC AC4B009C */ sw $t3, 0x9c($v0) -.L7F037600: -/* 06C130 7F037600 1000F7E2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C134 7F037604 26310003 */ addiu $s1, $s1, 3 -action6C_If_Tagged_Locked_Door_16_Objects_Toggled_RVL_4: -/* 06C138 7F037608 92240001 */ lbu $a0, 1($s1) -/* 06C13C 7F03760C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06C140 7F037610 00008025 */ move $s0, $zero -/* 06C144 7F037614 1040000E */ beqz $v0, .L7F037650 -/* 06C148 7F037618 02402825 */ move $a1, $s2 -/* 06C14C 7F03761C 8C440010 */ lw $a0, 0x10($v0) -/* 06C150 7F037620 1080000B */ beqz $a0, .L7F037650 -/* 06C154 7F037624 00000000 */ nop -/* 06C158 7F037628 908C0000 */ lbu $t4, ($a0) -/* 06C15C 7F03762C 24010002 */ li $at, 2 -/* 06C160 7F037630 15810007 */ bne $t4, $at, .L7F037650 -/* 06C164 7F037634 00000000 */ nop -/* 06C168 7F037638 92230002 */ lbu $v1, 2($s1) -/* 06C16C 7F03763C 8C59009C */ lw $t9, 0x9c($v0) -/* 06C170 7F037640 03236824 */ and $t5, $t9, $v1 -/* 06C174 7F037644 146D0002 */ bne $v1, $t5, .L7F037650 -/* 06C178 7F037648 00000000 */ nop -/* 06C17C 7F03764C 24100001 */ li $s0, 1 -.L7F037650: -/* 06C180 7F037650 12000006 */ beqz $s0, .L7F03766C -/* 06C184 7F037654 02C02025 */ move $a0, $s6 -/* 06C188 7F037658 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C18C 7F03765C 92260003 */ lbu $a2, 3($s1) -/* 06C190 7F037660 00409025 */ move $s2, $v0 -/* 06C194 7F037664 1000F7C9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C198 7F037668 02C28821 */ addu $s1, $s6, $v0 -.L7F03766C: -/* 06C19C 7F03766C 26520004 */ addiu $s2, $s2, 4 -/* 06C1A0 7F037670 1000F7C6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C1A4 7F037674 26310004 */ addiu $s1, $s1, 4 -action6D_If_Objective_num_Complete_RVL_3: -/* 06C1A8 7F037678 0FC15C6A */ jal add_objective -/* 06C1AC 7F03767C 00000000 */ nop -/* 06C1B0 7F037680 92250001 */ lbu $a1, 1($s1) -/* 06C1B4 7F037684 00A2082A */ slt $at, $a1, $v0 -/* 06C1B8 7F037688 5020000D */ beql $at, $zero, .L7F0376C0 -/* 06C1BC 7F03768C 26520003 */ addiu $s2, $s2, 3 -/* 06C1C0 7F037690 0FC15C8E */ jal get_status_of_objective -/* 06C1C4 7F037694 00A02025 */ move $a0, $a1 -/* 06C1C8 7F037698 24010001 */ li $at, 1 -/* 06C1CC 7F03769C 14410007 */ bne $v0, $at, .L7F0376BC -/* 06C1D0 7F0376A0 02C02025 */ move $a0, $s6 -/* 06C1D4 7F0376A4 02402825 */ move $a1, $s2 -/* 06C1D8 7F0376A8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C1DC 7F0376AC 92260002 */ lbu $a2, 2($s1) -/* 06C1E0 7F0376B0 00409025 */ move $s2, $v0 -/* 06C1E4 7F0376B4 1000F7B5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C1E8 7F0376B8 02C28821 */ addu $s1, $s6, $v0 -.L7F0376BC: -/* 06C1EC 7F0376BC 26520003 */ addiu $s2, $s2, 3 -.L7F0376C0: -/* 06C1F0 7F0376C0 1000F7B2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C1F4 7F0376C4 26310003 */ addiu $s1, $s1, 3 -action6E_If_Guard_2328_Preset_RVL_3: -/* 06C1F8 7F0376C8 02E02025 */ move $a0, $s7 -/* 06C1FC 7F0376CC 0FC0CE66 */ jal check_2328_preset_set_with_method -/* 06C200 7F0376D0 92250001 */ lbu $a1, 1($s1) -/* 06C204 7F0376D4 10400007 */ beqz $v0, .L7F0376F4 -/* 06C208 7F0376D8 02C02025 */ move $a0, $s6 -/* 06C20C 7F0376DC 02402825 */ move $a1, $s2 -/* 06C210 7F0376E0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C214 7F0376E4 92260002 */ lbu $a2, 2($s1) -/* 06C218 7F0376E8 00409025 */ move $s2, $v0 -/* 06C21C 7F0376EC 1000F7A7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C220 7F0376F0 02C28821 */ addu $s1, $s6, $v0 -.L7F0376F4: -/* 06C224 7F0376F4 26520003 */ addiu $s2, $s2, 3 -/* 06C228 7F0376F8 1000F7A4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C22C 7F0376FC 26310003 */ addiu $s1, $s1, 3 -action6F_If_Guard_2328_Preset_Set_RVL_3: -/* 06C230 7F037700 02E02025 */ move $a0, $s7 -/* 06C234 7F037704 0FC0CEAB */ jal sub_GAME_7F033AAC -/* 06C238 7F037708 92250001 */ lbu $a1, 1($s1) -/* 06C23C 7F03770C 10400007 */ beqz $v0, .L7F03772C -/* 06C240 7F037710 02C02025 */ move $a0, $s6 -/* 06C244 7F037714 02402825 */ move $a1, $s2 -/* 06C248 7F037718 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C24C 7F03771C 92260002 */ lbu $a2, 2($s1) -/* 06C250 7F037720 00409025 */ move $s2, $v0 -/* 06C254 7F037724 1000F799 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C258 7F037728 02C28821 */ addu $s1, $s6, $v0 -.L7F03772C: -/* 06C25C 7F03772C 26520003 */ addiu $s2, $s2, 3 -/* 06C260 7F037730 1000F796 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C264 7F037734 26310003 */ addiu $s1, $s1, 3 -action78_Go_To_RVL_If_Guard_Shot_LTV_3: -/* 06C268 7F037738 0FC0CD69 */ jal get_times_actor_shot -/* 06C26C 7F03773C 02E02025 */ move $a0, $s7 -/* 06C270 7F037740 922E0001 */ lbu $t6, 1($s1) -/* 06C274 7F037744 02C02025 */ move $a0, $s6 -/* 06C278 7F037748 02402825 */ move $a1, $s2 -/* 06C27C 7F03774C 004E082A */ slt $at, $v0, $t6 -/* 06C280 7F037750 50200007 */ beql $at, $zero, .L7F037770 -/* 06C284 7F037754 26520003 */ addiu $s2, $s2, 3 -/* 06C288 7F037758 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C28C 7F03775C 92260002 */ lbu $a2, 2($s1) -/* 06C290 7F037760 00409025 */ move $s2, $v0 -/* 06C294 7F037764 1000F789 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C298 7F037768 02C28821 */ addu $s1, $s6, $v0 -/* 06C29C 7F03776C 26520003 */ addiu $s2, $s2, 3 -.L7F037770: -/* 06C2A0 7F037770 1000F786 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C2A4 7F037774 26310003 */ addiu $s1, $s1, 3 -action79_Go_To_RVL_If_Guard_Shot_GTV_3: -/* 06C2A8 7F037778 0FC0CD69 */ jal get_times_actor_shot -/* 06C2AC 7F03777C 02E02025 */ move $a0, $s7 -/* 06C2B0 7F037780 922F0001 */ lbu $t7, 1($s1) -/* 06C2B4 7F037784 02C02025 */ move $a0, $s6 -/* 06C2B8 7F037788 02402825 */ move $a1, $s2 -/* 06C2BC 7F03778C 01E2082A */ slt $at, $t7, $v0 -/* 06C2C0 7F037790 50200007 */ beql $at, $zero, .L7F0377B0 -/* 06C2C4 7F037794 26520003 */ addiu $s2, $s2, 3 -/* 06C2C8 7F037798 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C2CC 7F03779C 92260002 */ lbu $a2, 2($s1) -/* 06C2D0 7F0377A0 00409025 */ move $s2, $v0 -/* 06C2D4 7F0377A4 1000F779 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C2D8 7F0377A8 02C28821 */ addu $s1, $s6, $v0 -/* 06C2DC 7F0377AC 26520003 */ addiu $s2, $s2, 3 -.L7F0377B0: -/* 06C2E0 7F0377B0 1000F776 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C2E4 7F0377B4 26310003 */ addiu $s1, $s1, 3 -action7A_Go_To_RVL_If_Number_Near_Miss_Gunshots_LTV_3: -/* 06C2E8 7F0377B8 0FC0CD6B */ jal get_num_shots_near_actor -/* 06C2EC 7F0377BC 02E02025 */ move $a0, $s7 -/* 06C2F0 7F0377C0 92380001 */ lbu $t8, 1($s1) -/* 06C2F4 7F0377C4 02C02025 */ move $a0, $s6 -/* 06C2F8 7F0377C8 02402825 */ move $a1, $s2 -/* 06C2FC 7F0377CC 0058082A */ slt $at, $v0, $t8 -/* 06C300 7F0377D0 50200007 */ beql $at, $zero, .L7F0377F0 -/* 06C304 7F0377D4 26520003 */ addiu $s2, $s2, 3 -/* 06C308 7F0377D8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C30C 7F0377DC 92260002 */ lbu $a2, 2($s1) -/* 06C310 7F0377E0 00409025 */ move $s2, $v0 -/* 06C314 7F0377E4 1000F769 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C318 7F0377E8 02C28821 */ addu $s1, $s6, $v0 -/* 06C31C 7F0377EC 26520003 */ addiu $s2, $s2, 3 -.L7F0377F0: -/* 06C320 7F0377F0 1000F766 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C324 7F0377F4 26310003 */ addiu $s1, $s1, 3 -action7B_Go_To_RVL_If_Number_Near_Miss_Gunshots_GTV_3: -/* 06C328 7F0377F8 0FC0CD6B */ jal get_num_shots_near_actor -/* 06C32C 7F0377FC 02E02025 */ move $a0, $s7 -/* 06C330 7F037800 92290001 */ lbu $t1, 1($s1) -/* 06C334 7F037804 02C02025 */ move $a0, $s6 -/* 06C338 7F037808 02402825 */ move $a1, $s2 -/* 06C33C 7F03780C 0122082A */ slt $at, $t1, $v0 -/* 06C340 7F037810 50200007 */ beql $at, $zero, .L7F037830 -/* 06C344 7F037814 26520003 */ addiu $s2, $s2, 3 -/* 06C348 7F037818 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C34C 7F03781C 92260002 */ lbu $a2, 2($s1) -/* 06C350 7F037820 00409025 */ move $s2, $v0 -/* 06C354 7F037824 1000F759 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C358 7F037828 02C28821 */ addu $s1, $s6, $v0 -/* 06C35C 7F03782C 26520003 */ addiu $s2, $s2, 3 -.L7F037830: -/* 06C360 7F037830 1000F756 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C364 7F037834 26310003 */ addiu $s1, $s1, 3 -action7C_If_Guard_Health_Below_Value_RVL_4: -/* 06C368 7F037838 922A0002 */ lbu $t2, 2($s1) -/* 06C36C 7F03783C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06C370 7F037840 448A2000 */ mtc1 $t2, $f4 -/* 06C374 7F037844 05410004 */ bgez $t2, .L7F037858 -/* 06C378 7F037848 468021A0 */ cvt.s.w $f6, $f4 -/* 06C37C 7F03784C 44814000 */ mtc1 $at, $f8 -/* 06C380 7F037850 00000000 */ nop -/* 06C384 7F037854 46083180 */ add.s $f6, $f6, $f8 -.L7F037858: -/* 06C388 7F037858 3C018005 */ lui $at, %hi(D_800528EC) -/* 06C38C 7F03785C C42A28EC */ lwc1 $f10, %lo(D_800528EC)($at) -/* 06C390 7F037860 02E02025 */ move $a0, $s7 -/* 06C394 7F037864 460A3402 */ mul.s $f16, $f6, $f10 -/* 06C398 7F037868 E7B00438 */ swc1 $f16, 0x438($sp) -/* 06C39C 7F03786C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06C3A0 7F037870 92250001 */ lbu $a1, 1($s1) -/* 06C3A4 7F037874 50400011 */ beql $v0, $zero, .L7F0378BC -/* 06C3A8 7F037878 26520004 */ addiu $s2, $s2, 4 -/* 06C3AC 7F03787C C4520100 */ lwc1 $f18, 0x100($v0) -/* 06C3B0 7F037880 C44400FC */ lwc1 $f4, 0xfc($v0) -/* 06C3B4 7F037884 C7A60438 */ lwc1 $f6, 0x438($sp) -/* 06C3B8 7F037888 02C02025 */ move $a0, $s6 -/* 06C3BC 7F03788C 46049201 */ sub.s $f8, $f18, $f4 -/* 06C3C0 7F037890 02402825 */ move $a1, $s2 -/* 06C3C4 7F037894 4606403C */ c.lt.s $f8, $f6 -/* 06C3C8 7F037898 00000000 */ nop -/* 06C3CC 7F03789C 45020007 */ bc1fl .L7F0378BC -/* 06C3D0 7F0378A0 26520004 */ addiu $s2, $s2, 4 -/* 06C3D4 7F0378A4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C3D8 7F0378A8 92260003 */ lbu $a2, 3($s1) -/* 06C3DC 7F0378AC 00409025 */ move $s2, $v0 -/* 06C3E0 7F0378B0 1000F736 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C3E4 7F0378B4 02C28821 */ addu $s1, $s6, $v0 -/* 06C3E8 7F0378B8 26520004 */ addiu $s2, $s2, 4 -.L7F0378BC: -/* 06C3EC 7F0378BC 1000F733 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C3F0 7F0378C0 26310004 */ addiu $s1, $s1, 4 -action7D_If_Guard_Health_Above_Value_RVL_4: -/* 06C3F4 7F0378C4 922B0002 */ lbu $t3, 2($s1) -/* 06C3F8 7F0378C8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06C3FC 7F0378CC 448B5000 */ mtc1 $t3, $f10 -/* 06C400 7F0378D0 05610004 */ bgez $t3, .L7F0378E4 -/* 06C404 7F0378D4 46805420 */ cvt.s.w $f16, $f10 -/* 06C408 7F0378D8 44819000 */ mtc1 $at, $f18 -/* 06C40C 7F0378DC 00000000 */ nop -/* 06C410 7F0378E0 46128400 */ add.s $f16, $f16, $f18 -.L7F0378E4: -/* 06C414 7F0378E4 3C018005 */ lui $at, %hi(D_800528F0) -/* 06C418 7F0378E8 C42428F0 */ lwc1 $f4, %lo(D_800528F0)($at) -/* 06C41C 7F0378EC 02E02025 */ move $a0, $s7 -/* 06C420 7F0378F0 46048202 */ mul.s $f8, $f16, $f4 -/* 06C424 7F0378F4 E7A8042C */ swc1 $f8, 0x42c($sp) -/* 06C428 7F0378F8 0FC0CC10 */ jal get_handle_for_guard_id -/* 06C42C 7F0378FC 92250001 */ lbu $a1, 1($s1) -/* 06C430 7F037900 50400011 */ beql $v0, $zero, .L7F037948 -/* 06C434 7F037904 26520004 */ addiu $s2, $s2, 4 -/* 06C438 7F037908 C44A0100 */ lwc1 $f10, 0x100($v0) -/* 06C43C 7F03790C C45200FC */ lwc1 $f18, 0xfc($v0) -/* 06C440 7F037910 C7A6042C */ lwc1 $f6, 0x42c($sp) -/* 06C444 7F037914 02C02025 */ move $a0, $s6 -/* 06C448 7F037918 46125401 */ sub.s $f16, $f10, $f18 -/* 06C44C 7F03791C 02402825 */ move $a1, $s2 -/* 06C450 7F037920 4610303C */ c.lt.s $f6, $f16 -/* 06C454 7F037924 00000000 */ nop -/* 06C458 7F037928 45020007 */ bc1fl .L7F037948 -/* 06C45C 7F03792C 26520004 */ addiu $s2, $s2, 4 -/* 06C460 7F037930 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C464 7F037934 92260003 */ lbu $a2, 3($s1) -/* 06C468 7F037938 00409025 */ move $s2, $v0 -/* 06C46C 7F03793C 1000F713 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C470 7F037940 02C28821 */ addu $s1, $s6, $v0 -/* 06C474 7F037944 26520004 */ addiu $s2, $s2, 4 -.L7F037948: -/* 06C478 7F037948 1000F710 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C47C 7F03794C 26310004 */ addiu $s1, $s1, 4 -action7E_If_Guard_nums_Bitflag_01000000_Set_RVL_3: -/* 06C480 7F037950 02E02025 */ move $a0, $s7 -/* 06C484 7F037954 0FC0CC10 */ jal get_handle_for_guard_id -/* 06C488 7F037958 92250001 */ lbu $a1, 1($s1) -/* 06C48C 7F03795C 50400011 */ beql $v0, $zero, .L7F0379A4 -/* 06C490 7F037960 26520003 */ addiu $s2, $s2, 3 -/* 06C494 7F037964 8C4C0014 */ lw $t4, 0x14($v0) -/* 06C498 7F037968 2401FEFF */ li $at, -257 -/* 06C49C 7F03796C 31990100 */ andi $t9, $t4, 0x100 -/* 06C4A0 7F037970 5320000C */ beql $t9, $zero, .L7F0379A4 -/* 06C4A4 7F037974 26520003 */ addiu $s2, $s2, 3 -/* 06C4A8 7F037978 8C4D0014 */ lw $t5, 0x14($v0) -/* 06C4AC 7F03797C 02C02025 */ move $a0, $s6 -/* 06C4B0 7F037980 02402825 */ move $a1, $s2 -/* 06C4B4 7F037984 01A17024 */ and $t6, $t5, $at -/* 06C4B8 7F037988 AC4E0014 */ sw $t6, 0x14($v0) -/* 06C4BC 7F03798C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C4C0 7F037990 92260002 */ lbu $a2, 2($s1) -/* 06C4C4 7F037994 00409025 */ move $s2, $v0 -/* 06C4C8 7F037998 1000F6FC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C4CC 7F03799C 02C28821 */ addu $s1, $s6, $v0 -/* 06C4D0 7F0379A0 26520003 */ addiu $s2, $s2, 3 -.L7F0379A4: -/* 06C4D4 7F0379A4 1000F6F9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C4D8 7F0379A8 26310003 */ addiu $s1, $s1, 3 -action7F_If_Health_Below_Value_RVL_3: -/* 06C4DC 7F0379AC 922F0001 */ lbu $t7, 1($s1) -/* 06C4E0 7F0379B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06C4E4 7F0379B4 448F2000 */ mtc1 $t7, $f4 -/* 06C4E8 7F0379B8 05E10004 */ bgez $t7, .L7F0379CC -/* 06C4EC 7F0379BC 46802220 */ cvt.s.w $f8, $f4 -/* 06C4F0 7F0379C0 44815000 */ mtc1 $at, $f10 -/* 06C4F4 7F0379C4 00000000 */ nop -/* 06C4F8 7F0379C8 460A4200 */ add.s $f8, $f8, $f10 -.L7F0379CC: -/* 06C4FC 7F0379CC 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 06C500 7F0379D0 44819000 */ mtc1 $at, $f18 -/* 06C504 7F0379D4 00000000 */ nop -/* 06C508 7F0379D8 46124183 */ div.s $f6, $f8, $f18 -/* 06C50C 7F0379DC 0FC228BB */ jal get_BONDdata_watch_health -/* 06C510 7F0379E0 E7A60418 */ swc1 $f6, 0x418($sp) -/* 06C514 7F0379E4 C7B00418 */ lwc1 $f16, 0x418($sp) -/* 06C518 7F0379E8 02C02025 */ move $a0, $s6 -/* 06C51C 7F0379EC 02402825 */ move $a1, $s2 -/* 06C520 7F0379F0 4610003C */ c.lt.s $f0, $f16 -/* 06C524 7F0379F4 00000000 */ nop -/* 06C528 7F0379F8 45020007 */ bc1fl .L7F037A18 -/* 06C52C 7F0379FC 26520003 */ addiu $s2, $s2, 3 -/* 06C530 7F037A00 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C534 7F037A04 92260002 */ lbu $a2, 2($s1) -/* 06C538 7F037A08 00409025 */ move $s2, $v0 -/* 06C53C 7F037A0C 1000F6DF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C540 7F037A10 02C28821 */ addu $s1, $s6, $v0 -/* 06C544 7F037A14 26520003 */ addiu $s2, $s2, 3 -.L7F037A18: -/* 06C548 7F037A18 1000F6DC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C54C 7F037A1C 26310003 */ addiu $s1, $s1, 3 -action80_If_Health_Above_Value_RVL_3: -/* 06C550 7F037A20 92380001 */ lbu $t8, 1($s1) -/* 06C554 7F037A24 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06C558 7F037A28 44982000 */ mtc1 $t8, $f4 -/* 06C55C 7F037A2C 07010004 */ bgez $t8, .L7F037A40 -/* 06C560 7F037A30 468022A0 */ cvt.s.w $f10, $f4 -/* 06C564 7F037A34 44814000 */ mtc1 $at, $f8 -/* 06C568 7F037A38 00000000 */ nop -/* 06C56C 7F037A3C 46085280 */ add.s $f10, $f10, $f8 -.L7F037A40: -/* 06C570 7F037A40 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 06C574 7F037A44 44819000 */ mtc1 $at, $f18 -/* 06C578 7F037A48 00000000 */ nop -/* 06C57C 7F037A4C 46125183 */ div.s $f6, $f10, $f18 -/* 06C580 7F037A50 0FC228BB */ jal get_BONDdata_watch_health -/* 06C584 7F037A54 E7A60410 */ swc1 $f6, 0x410($sp) -/* 06C588 7F037A58 C7B00410 */ lwc1 $f16, 0x410($sp) -/* 06C58C 7F037A5C 02C02025 */ move $a0, $s6 -/* 06C590 7F037A60 02402825 */ move $a1, $s2 -/* 06C594 7F037A64 4600803C */ c.lt.s $f16, $f0 -/* 06C598 7F037A68 00000000 */ nop -/* 06C59C 7F037A6C 45020007 */ bc1fl .L7F037A8C -/* 06C5A0 7F037A70 26520003 */ addiu $s2, $s2, 3 -/* 06C5A4 7F037A74 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C5A8 7F037A78 92260002 */ lbu $a2, 2($s1) -/* 06C5AC 7F037A7C 00409025 */ move $s2, $v0 -/* 06C5B0 7F037A80 1000F6C2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C5B4 7F037A84 02C28821 */ addu $s1, $s6, $v0 -/* 06C5B8 7F037A88 26520003 */ addiu $s2, $s2, 3 -.L7F037A8C: -/* 06C5BC 7F037A8C 1000F6BF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C5C0 7F037A90 26310003 */ addiu $s1, $s1, 3 -action70_Go_Into_RVL_Difficulty_LTV_3: -/* 06C5C4 7F037A94 0FC2FF04 */ jal get_current_difficulty -/* 06C5C8 7F037A98 00000000 */ nop -/* 06C5CC 7F037A9C 92290001 */ lbu $t1, 1($s1) -/* 06C5D0 7F037AA0 02C02025 */ move $a0, $s6 -/* 06C5D4 7F037AA4 02402825 */ move $a1, $s2 -/* 06C5D8 7F037AA8 0049082A */ slt $at, $v0, $t1 -/* 06C5DC 7F037AAC 50200007 */ beql $at, $zero, .L7F037ACC -/* 06C5E0 7F037AB0 26520003 */ addiu $s2, $s2, 3 -/* 06C5E4 7F037AB4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C5E8 7F037AB8 92260002 */ lbu $a2, 2($s1) -/* 06C5EC 7F037ABC 00409025 */ move $s2, $v0 -/* 06C5F0 7F037AC0 1000F6B2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C5F4 7F037AC4 02C28821 */ addu $s1, $s6, $v0 -/* 06C5F8 7F037AC8 26520003 */ addiu $s2, $s2, 3 -.L7F037ACC: -/* 06C5FC 7F037ACC 1000F6AF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C600 7F037AD0 26310003 */ addiu $s1, $s1, 3 -action71_GoIntoRVLIf_Difficulty_GTV_3: -/* 06C604 7F037AD4 0FC2FF04 */ jal get_current_difficulty -/* 06C608 7F037AD8 00000000 */ nop -/* 06C60C 7F037ADC 922A0001 */ lbu $t2, 1($s1) -/* 06C610 7F037AE0 02C02025 */ move $a0, $s6 -/* 06C614 7F037AE4 02402825 */ move $a1, $s2 -/* 06C618 7F037AE8 0142082A */ slt $at, $t2, $v0 -/* 06C61C 7F037AEC 50200007 */ beql $at, $zero, .L7F037B0C -/* 06C620 7F037AF0 26520003 */ addiu $s2, $s2, 3 -/* 06C624 7F037AF4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C628 7F037AF8 92260002 */ lbu $a2, 2($s1) -/* 06C62C 7F037AFC 00409025 */ move $s2, $v0 -/* 06C630 7F037B00 1000F6A2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C634 7F037B04 02C28821 */ addu $s1, $s6, $v0 -/* 06C638 7F037B08 26520003 */ addiu $s2, $s2, 3 -.L7F037B0C: -/* 06C63C 7F037B0C 1000F69F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C640 7F037B10 26310003 */ addiu $s1, $s1, 3 -action72_Go_To_RVL_If_Time_LTV_4: -/* 06C644 7F037B14 922B0001 */ lbu $t3, 1($s1) -/* 06C648 7F037B18 92390002 */ lbu $t9, 2($s1) -/* 06C64C 7F037B1C 000B6200 */ sll $t4, $t3, 8 -/* 06C650 7F037B20 01996825 */ or $t5, $t4, $t9 -/* 06C654 7F037B24 448D2000 */ mtc1 $t5, $f4 -/* 06C658 7F037B28 00000000 */ nop -/* 06C65C 7F037B2C 46802220 */ cvt.s.w $f8, $f4 -/* 06C660 7F037B30 0FC2FF10 */ jal get_cur_mp_sec -/* 06C664 7F037B34 E7A80400 */ swc1 $f8, 0x400($sp) -/* 06C668 7F037B38 C7AA0400 */ lwc1 $f10, 0x400($sp) -/* 06C66C 7F037B3C 02C02025 */ move $a0, $s6 -/* 06C670 7F037B40 02402825 */ move $a1, $s2 -/* 06C674 7F037B44 460A003C */ c.lt.s $f0, $f10 -/* 06C678 7F037B48 00000000 */ nop -/* 06C67C 7F037B4C 45020007 */ bc1fl .L7F037B6C -/* 06C680 7F037B50 26520004 */ addiu $s2, $s2, 4 -/* 06C684 7F037B54 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C688 7F037B58 92260003 */ lbu $a2, 3($s1) -/* 06C68C 7F037B5C 00409025 */ move $s2, $v0 -/* 06C690 7F037B60 1000F68A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C694 7F037B64 02C28821 */ addu $s1, $s6, $v0 -/* 06C698 7F037B68 26520004 */ addiu $s2, $s2, 4 -.L7F037B6C: -/* 06C69C 7F037B6C 1000F687 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C6A0 7F037B70 26310004 */ addiu $s1, $s1, 4 -action73_Go_To_RVL_If_Time_GTV_4: -/* 06C6A4 7F037B74 922E0001 */ lbu $t6, 1($s1) -/* 06C6A8 7F037B78 92380002 */ lbu $t8, 2($s1) -/* 06C6AC 7F037B7C 000E7A00 */ sll $t7, $t6, 8 -/* 06C6B0 7F037B80 01F84825 */ or $t1, $t7, $t8 -/* 06C6B4 7F037B84 44899000 */ mtc1 $t1, $f18 -/* 06C6B8 7F037B88 00000000 */ nop -/* 06C6BC 7F037B8C 468091A0 */ cvt.s.w $f6, $f18 -/* 06C6C0 7F037B90 0FC2FF10 */ jal get_cur_mp_sec -/* 06C6C4 7F037B94 E7A603F8 */ swc1 $f6, 0x3f8($sp) -/* 06C6C8 7F037B98 C7B003F8 */ lwc1 $f16, 0x3f8($sp) -/* 06C6CC 7F037B9C 02C02025 */ move $a0, $s6 -/* 06C6D0 7F037BA0 02402825 */ move $a1, $s2 -/* 06C6D4 7F037BA4 4600803C */ c.lt.s $f16, $f0 -/* 06C6D8 7F037BA8 00000000 */ nop -/* 06C6DC 7F037BAC 45020007 */ bc1fl .L7F037BCC -/* 06C6E0 7F037BB0 26520004 */ addiu $s2, $s2, 4 -/* 06C6E4 7F037BB4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C6E8 7F037BB8 92260003 */ lbu $a2, 3($s1) -/* 06C6EC 7F037BBC 00409025 */ move $s2, $v0 -/* 06C6F0 7F037BC0 1000F672 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C6F4 7F037BC4 02C28821 */ addu $s1, $s6, $v0 -/* 06C6F8 7F037BC8 26520004 */ addiu $s2, $s2, 4 -.L7F037BCC: -/* 06C6FC 7F037BCC 1000F66F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C700 7F037BD0 26310004 */ addiu $s1, $s1, 4 -action74_Go_To_RVL_If_Power_On_Time_LTV_4: -/* 06C704 7F037BD4 922A0001 */ lbu $t2, 1($s1) -/* 06C708 7F037BD8 922C0002 */ lbu $t4, 2($s1) -/* 06C70C 7F037BDC 000A5A00 */ sll $t3, $t2, 8 -/* 06C710 7F037BE0 016CC825 */ or $t9, $t3, $t4 -/* 06C714 7F037BE4 44992000 */ mtc1 $t9, $f4 -/* 06C718 7F037BE8 00000000 */ nop -/* 06C71C 7F037BEC 46802220 */ cvt.s.w $f8, $f4 -/* 06C720 7F037BF0 46164282 */ mul.s $f10, $f8, $f22 -/* 06C724 7F037BF4 0FC2FF13 */ jal get_cur_mp_min -/* 06C728 7F037BF8 E7AA03F0 */ swc1 $f10, 0x3f0($sp) -/* 06C72C 7F037BFC C7B203F0 */ lwc1 $f18, 0x3f0($sp) -/* 06C730 7F037C00 02C02025 */ move $a0, $s6 -/* 06C734 7F037C04 02402825 */ move $a1, $s2 -/* 06C738 7F037C08 4612003C */ c.lt.s $f0, $f18 -/* 06C73C 7F037C0C 00000000 */ nop -/* 06C740 7F037C10 45020007 */ bc1fl .L7F037C30 -/* 06C744 7F037C14 26520004 */ addiu $s2, $s2, 4 -/* 06C748 7F037C18 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C74C 7F037C1C 92260003 */ lbu $a2, 3($s1) -/* 06C750 7F037C20 00409025 */ move $s2, $v0 -/* 06C754 7F037C24 1000F659 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C758 7F037C28 02C28821 */ addu $s1, $s6, $v0 -/* 06C75C 7F037C2C 26520004 */ addiu $s2, $s2, 4 -.L7F037C30: -/* 06C760 7F037C30 1000F656 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C764 7F037C34 26310004 */ addiu $s1, $s1, 4 -action75_Go_To_RVL_If_Power_On_Time_GTV_4: -/* 06C768 7F037C38 922D0001 */ lbu $t5, 1($s1) -/* 06C76C 7F037C3C 922F0002 */ lbu $t7, 2($s1) -/* 06C770 7F037C40 000D7200 */ sll $t6, $t5, 8 -/* 06C774 7F037C44 01CFC025 */ or $t8, $t6, $t7 -/* 06C778 7F037C48 44983000 */ mtc1 $t8, $f6 -/* 06C77C 7F037C4C 00000000 */ nop -/* 06C780 7F037C50 46803420 */ cvt.s.w $f16, $f6 -/* 06C784 7F037C54 46168102 */ mul.s $f4, $f16, $f22 -/* 06C788 7F037C58 0FC2FF13 */ jal get_cur_mp_min -/* 06C78C 7F037C5C E7A403E8 */ swc1 $f4, 0x3e8($sp) -/* 06C790 7F037C60 C7A803E8 */ lwc1 $f8, 0x3e8($sp) -/* 06C794 7F037C64 02C02025 */ move $a0, $s6 -/* 06C798 7F037C68 02402825 */ move $a1, $s2 -/* 06C79C 7F037C6C 4600403C */ c.lt.s $f8, $f0 -/* 06C7A0 7F037C70 00000000 */ nop -/* 06C7A4 7F037C74 45020007 */ bc1fl .L7F037C94 -/* 06C7A8 7F037C78 26520004 */ addiu $s2, $s2, 4 -/* 06C7AC 7F037C7C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C7B0 7F037C80 92260003 */ lbu $a2, 3($s1) -/* 06C7B4 7F037C84 00409025 */ move $s2, $v0 -/* 06C7B8 7F037C88 1000F640 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C7BC 7F037C8C 02C28821 */ addu $s1, $s6, $v0 -/* 06C7C0 7F037C90 26520004 */ addiu $s2, $s2, 4 -.L7F037C94: -/* 06C7C4 7F037C94 1000F63D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C7C8 7F037C98 26310004 */ addiu $s1, $s1, 4 -action76_Go_To_RVL_If_Stage_Number_LTV_3: -/* 06C7CC 7F037C9C 0C001A57 */ jal get_stage_num -/* 06C7D0 7F037CA0 00000000 */ nop -/* 06C7D4 7F037CA4 92290001 */ lbu $t1, 1($s1) -/* 06C7D8 7F037CA8 02C02025 */ move $a0, $s6 -/* 06C7DC 7F037CAC 02402825 */ move $a1, $s2 -/* 06C7E0 7F037CB0 0049082A */ slt $at, $v0, $t1 -/* 06C7E4 7F037CB4 50200007 */ beql $at, $zero, .L7F037CD4 -/* 06C7E8 7F037CB8 26520003 */ addiu $s2, $s2, 3 -/* 06C7EC 7F037CBC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C7F0 7F037CC0 92260002 */ lbu $a2, 2($s1) -/* 06C7F4 7F037CC4 00409025 */ move $s2, $v0 -/* 06C7F8 7F037CC8 1000F630 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C7FC 7F037CCC 02C28821 */ addu $s1, $s6, $v0 -/* 06C800 7F037CD0 26520003 */ addiu $s2, $s2, 3 -.L7F037CD4: -/* 06C804 7F037CD4 1000F62D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C808 7F037CD8 26310003 */ addiu $s1, $s1, 3 -action77_Go_To_RVL_If_Stage_Number_GTV_3: -/* 06C80C 7F037CDC 0C001A57 */ jal get_stage_num -/* 06C810 7F037CE0 00000000 */ nop -/* 06C814 7F037CE4 922A0001 */ lbu $t2, 1($s1) -/* 06C818 7F037CE8 02C02025 */ move $a0, $s6 -/* 06C81C 7F037CEC 02402825 */ move $a1, $s2 -/* 06C820 7F037CF0 0142082A */ slt $at, $t2, $v0 -/* 06C824 7F037CF4 50200007 */ beql $at, $zero, .L7F037D14 -/* 06C828 7F037CF8 26520003 */ addiu $s2, $s2, 3 -/* 06C82C 7F037CFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C830 7F037D00 92260002 */ lbu $a2, 2($s1) -/* 06C834 7F037D04 00409025 */ move $s2, $v0 -/* 06C838 7F037D08 1000F620 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C83C 7F037D0C 02C28821 */ addu $s1, $s6, $v0 -/* 06C840 7F037D10 26520003 */ addiu $s2, $s2, 3 -.L7F037D14: -/* 06C844 7F037D14 1000F61D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C848 7F037D18 26310003 */ addiu $s1, $s1, 3 -action81_Set_User_Byte_num1_2: -/* 06C84C 7F037D1C 922B0001 */ lbu $t3, 1($s1) -/* 06C850 7F037D20 26520002 */ addiu $s2, $s2, 2 -/* 06C854 7F037D24 26310002 */ addiu $s1, $s1, 2 -/* 06C858 7F037D28 1000F618 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C85C 7F037D2C A2EB010C */ sb $t3, 0x10c($s7) -action82_Add_Value_To_User_Byte_num1_Max_To_FF_2: -/* 06C860 7F037D30 92250001 */ lbu $a1, 1($s1) -/* 06C864 7F037D34 92E2010C */ lbu $v0, 0x10c($s7) -/* 06C868 7F037D38 240C00FF */ li $t4, 255 -/* 06C86C 7F037D3C 0185C823 */ subu $t9, $t4, $a1 -/* 06C870 7F037D40 0322082A */ slt $at, $t9, $v0 -/* 06C874 7F037D44 10200006 */ beqz $at, .L7F037D60 -/* 06C878 7F037D48 00457021 */ addu $t6, $v0, $a1 -/* 06C87C 7F037D4C 240D00FF */ li $t5, 255 -/* 06C880 7F037D50 A2ED010C */ sb $t5, 0x10c($s7) -/* 06C884 7F037D54 26520002 */ addiu $s2, $s2, 2 -/* 06C888 7F037D58 1000F60C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C88C 7F037D5C 26310002 */ addiu $s1, $s1, 2 -.L7F037D60: -/* 06C890 7F037D60 A2EE010C */ sb $t6, 0x10c($s7) -/* 06C894 7F037D64 26520002 */ addiu $s2, $s2, 2 -/* 06C898 7F037D68 1000F608 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C89C 7F037D6C 26310002 */ addiu $s1, $s1, 2 -action83_Subtract_Value_To_User_Byte_num1_Min_To_0_2: -/* 06C8A0 7F037D70 92E2010C */ lbu $v0, 0x10c($s7) -/* 06C8A4 7F037D74 92250001 */ lbu $a1, 1($s1) -/* 06C8A8 7F037D78 0045082A */ slt $at, $v0, $a1 -/* 06C8AC 7F037D7C 10200005 */ beqz $at, .L7F037D94 -/* 06C8B0 7F037D80 00457823 */ subu $t7, $v0, $a1 -/* 06C8B4 7F037D84 A2E0010C */ sb $zero, 0x10c($s7) -/* 06C8B8 7F037D88 26520002 */ addiu $s2, $s2, 2 -/* 06C8BC 7F037D8C 1000F5FF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C8C0 7F037D90 26310002 */ addiu $s1, $s1, 2 -.L7F037D94: -/* 06C8C4 7F037D94 A2EF010C */ sb $t7, 0x10c($s7) -/* 06C8C8 7F037D98 26520002 */ addiu $s2, $s2, 2 -/* 06C8CC 7F037D9C 1000F5FB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C8D0 7F037DA0 26310002 */ addiu $s1, $s1, 2 -action84_If_Value_GreaterThan_User_Byte_num1_RVL_3: -/* 06C8D4 7F037DA4 92F8010C */ lbu $t8, 0x10c($s7) -/* 06C8D8 7F037DA8 92290001 */ lbu $t1, 1($s1) -/* 06C8DC 7F037DAC 02C02025 */ move $a0, $s6 -/* 06C8E0 7F037DB0 02402825 */ move $a1, $s2 -/* 06C8E4 7F037DB4 0309082A */ slt $at, $t8, $t1 -/* 06C8E8 7F037DB8 50200007 */ beql $at, $zero, .L7F037DD8 -/* 06C8EC 7F037DBC 26520003 */ addiu $s2, $s2, 3 -/* 06C8F0 7F037DC0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C8F4 7F037DC4 92260002 */ lbu $a2, 2($s1) -/* 06C8F8 7F037DC8 00409025 */ move $s2, $v0 -/* 06C8FC 7F037DCC 1000F5EF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C900 7F037DD0 02C28821 */ addu $s1, $s6, $v0 -/* 06C904 7F037DD4 26520003 */ addiu $s2, $s2, 3 -.L7F037DD8: -/* 06C908 7F037DD8 1000F5EC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C90C 7F037DDC 26310003 */ addiu $s1, $s1, 3 -action85_If_User_Byte_num1_LessThan_Random_Value_RVL_2: -/* 06C910 7F037DE0 92EA010C */ lbu $t2, 0x10c($s7) -/* 06C914 7F037DE4 92EB010F */ lbu $t3, 0x10f($s7) -/* 06C918 7F037DE8 02C02025 */ move $a0, $s6 -/* 06C91C 7F037DEC 02402825 */ move $a1, $s2 -/* 06C920 7F037DF0 014B082A */ slt $at, $t2, $t3 -/* 06C924 7F037DF4 50200007 */ beql $at, $zero, .L7F037E14 -/* 06C928 7F037DF8 26520002 */ addiu $s2, $s2, 2 -/* 06C92C 7F037DFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C930 7F037E00 92260001 */ lbu $a2, 1($s1) -/* 06C934 7F037E04 00409025 */ move $s2, $v0 -/* 06C938 7F037E08 1000F5E0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C93C 7F037E0C 02C28821 */ addu $s1, $s6, $v0 -/* 06C940 7F037E10 26520002 */ addiu $s2, $s2, 2 -.L7F037E14: -/* 06C944 7F037E14 1000F5DD */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C948 7F037E18 26310002 */ addiu $s1, $s1, 2 -action86_Set_User_Byte_num2_2: -/* 06C94C 7F037E1C 922C0001 */ lbu $t4, 1($s1) -/* 06C950 7F037E20 26520002 */ addiu $s2, $s2, 2 -/* 06C954 7F037E24 26310002 */ addiu $s1, $s1, 2 -/* 06C958 7F037E28 1000F5D8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C95C 7F037E2C A2EC010D */ sb $t4, 0x10d($s7) -action87_Add_Value_To_User_Byte_num2_Max_To_FF_2: -/* 06C960 7F037E30 92250001 */ lbu $a1, 1($s1) -/* 06C964 7F037E34 92E2010D */ lbu $v0, 0x10d($s7) -/* 06C968 7F037E38 241900FF */ li $t9, 255 -/* 06C96C 7F037E3C 03256823 */ subu $t5, $t9, $a1 -/* 06C970 7F037E40 01A2082A */ slt $at, $t5, $v0 -/* 06C974 7F037E44 10200006 */ beqz $at, .L7F037E60 -/* 06C978 7F037E48 00457821 */ addu $t7, $v0, $a1 -/* 06C97C 7F037E4C 240E00FF */ li $t6, 255 -/* 06C980 7F037E50 A2EE010D */ sb $t6, 0x10d($s7) -/* 06C984 7F037E54 26520002 */ addiu $s2, $s2, 2 -/* 06C988 7F037E58 1000F5CC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C98C 7F037E5C 26310002 */ addiu $s1, $s1, 2 -.L7F037E60: -/* 06C990 7F037E60 A2EF010D */ sb $t7, 0x10d($s7) -/* 06C994 7F037E64 26520002 */ addiu $s2, $s2, 2 -/* 06C998 7F037E68 1000F5C8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C99C 7F037E6C 26310002 */ addiu $s1, $s1, 2 -action88_Subtract_Value_To_User_Byte_num2_Min_To_0_2: -/* 06C9A0 7F037E70 92E2010D */ lbu $v0, 0x10d($s7) -/* 06C9A4 7F037E74 92250001 */ lbu $a1, 1($s1) -/* 06C9A8 7F037E78 0045082A */ slt $at, $v0, $a1 -/* 06C9AC 7F037E7C 10200005 */ beqz $at, .L7F037E94 -/* 06C9B0 7F037E80 0045C023 */ subu $t8, $v0, $a1 -/* 06C9B4 7F037E84 A2E0010D */ sb $zero, 0x10d($s7) -/* 06C9B8 7F037E88 26520002 */ addiu $s2, $s2, 2 -/* 06C9BC 7F037E8C 1000F5BF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C9C0 7F037E90 26310002 */ addiu $s1, $s1, 2 -.L7F037E94: -/* 06C9C4 7F037E94 A2F8010D */ sb $t8, 0x10d($s7) -/* 06C9C8 7F037E98 26520002 */ addiu $s2, $s2, 2 -/* 06C9CC 7F037E9C 1000F5BB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C9D0 7F037EA0 26310002 */ addiu $s1, $s1, 2 -action89_If_Value_GreaterThan_User_Byte_num2_RVL_3: -/* 06C9D4 7F037EA4 92E9010D */ lbu $t1, 0x10d($s7) -/* 06C9D8 7F037EA8 922A0001 */ lbu $t2, 1($s1) -/* 06C9DC 7F037EAC 02C02025 */ move $a0, $s6 -/* 06C9E0 7F037EB0 02402825 */ move $a1, $s2 -/* 06C9E4 7F037EB4 012A082A */ slt $at, $t1, $t2 -/* 06C9E8 7F037EB8 50200007 */ beql $at, $zero, .L7F037ED8 -/* 06C9EC 7F037EBC 26520003 */ addiu $s2, $s2, 3 -/* 06C9F0 7F037EC0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C9F4 7F037EC4 92260002 */ lbu $a2, 2($s1) -/* 06C9F8 7F037EC8 00409025 */ move $s2, $v0 -/* 06C9FC 7F037ECC 1000F5AF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA00 7F037ED0 02C28821 */ addu $s1, $s6, $v0 -/* 06CA04 7F037ED4 26520003 */ addiu $s2, $s2, 3 -.L7F037ED8: -/* 06CA08 7F037ED8 1000F5AC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA0C 7F037EDC 26310003 */ addiu $s1, $s1, 3 -action8A_If_User_Byte_num2_LessThan_Random_Value_RVL_2: -/* 06CA10 7F037EE0 92EB010D */ lbu $t3, 0x10d($s7) -/* 06CA14 7F037EE4 92EC010F */ lbu $t4, 0x10f($s7) -/* 06CA18 7F037EE8 02C02025 */ move $a0, $s6 -/* 06CA1C 7F037EEC 02402825 */ move $a1, $s2 -/* 06CA20 7F037EF0 016C082A */ slt $at, $t3, $t4 -/* 06CA24 7F037EF4 50200007 */ beql $at, $zero, .L7F037F14 -/* 06CA28 7F037EF8 26520002 */ addiu $s2, $s2, 2 -/* 06CA2C 7F037EFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CA30 7F037F00 92260001 */ lbu $a2, 1($s1) -/* 06CA34 7F037F04 00409025 */ move $s2, $v0 -/* 06CA38 7F037F08 1000F5A0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA3C 7F037F0C 02C28821 */ addu $s1, $s6, $v0 -/* 06CA40 7F037F10 26520002 */ addiu $s2, $s2, 2 -.L7F037F14: -/* 06CA44 7F037F14 1000F59D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA48 7F037F18 26310002 */ addiu $s1, $s1, 2 -action8B_Set_Guard_Hearing_Distance_3: -/* 06CA4C 7F037F1C 92390001 */ lbu $t9, 1($s1) -/* 06CA50 7F037F20 922E0002 */ lbu $t6, 2($s1) -/* 06CA54 7F037F24 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 06CA58 7F037F28 00196A00 */ sll $t5, $t9, 8 -/* 06CA5C 7F037F2C 01AE7825 */ or $t7, $t5, $t6 -/* 06CA60 7F037F30 448F5000 */ mtc1 $t7, $f10 -/* 06CA64 7F037F34 44813000 */ mtc1 $at, $f6 -/* 06CA68 7F037F38 26520003 */ addiu $s2, $s2, 3 -/* 06CA6C 7F037F3C 468054A0 */ cvt.s.w $f18, $f10 -/* 06CA70 7F037F40 26310003 */ addiu $s1, $s1, 3 -/* 06CA74 7F037F44 46069003 */ div.s $f0, $f18, $f6 -/* 06CA78 7F037F48 1000F590 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA7C 7F037F4C E6E000EC */ swc1 $f0, 0xec($s7) -action8C_Set_Guard_Visible_Distance_2: -/* 06CA80 7F037F50 92380001 */ lbu $t8, 1($s1) -/* 06CA84 7F037F54 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06CA88 7F037F58 26520002 */ addiu $s2, $s2, 2 -/* 06CA8C 7F037F5C 44988000 */ mtc1 $t8, $f16 -/* 06CA90 7F037F60 26310002 */ addiu $s1, $s1, 2 -/* 06CA94 7F037F64 07010004 */ bgez $t8, .L7F037F78 -/* 06CA98 7F037F68 46808120 */ cvt.s.w $f4, $f16 -/* 06CA9C 7F037F6C 44814000 */ mtc1 $at, $f8 -/* 06CAA0 7F037F70 00000000 */ nop -/* 06CAA4 7F037F74 46082100 */ add.s $f4, $f4, $f8 -.L7F037F78: -/* 06CAA8 7F037F78 1000F584 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CAAC 7F037F7C E6E400D0 */ swc1 $f4, 0xd0($s7) -action8D_Set_Guard_Grenade_Probability_2: -/* 06CAB0 7F037F80 92290001 */ lbu $t1, 1($s1) -/* 06CAB4 7F037F84 26520002 */ addiu $s2, $s2, 2 -/* 06CAB8 7F037F88 26310002 */ addiu $s1, $s1, 2 -/* 06CABC 7F037F8C 1000F57F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CAC0 7F037F90 A2E90010 */ sb $t1, 0x10($s7) -action8E_Set_Guard_ID_2: -/* 06CAC4 7F037F94 922A0001 */ lbu $t2, 1($s1) -/* 06CAC8 7F037F98 26520002 */ addiu $s2, $s2, 2 -/* 06CACC 7F037F9C 26310002 */ addiu $s1, $s1, 2 -/* 06CAD0 7F037FA0 1000F57A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CAD4 7F037FA4 A6EA0000 */ sh $t2, ($s7) -action8F_Set_Guard_Health_3: -/* 06CAD8 7F037FA8 922B0001 */ lbu $t3, 1($s1) -/* 06CADC 7F037FAC 92390002 */ lbu $t9, 2($s1) -/* 06CAE0 7F037FB0 3C018005 */ lui $at, %hi(D_800528F4) -/* 06CAE4 7F037FB4 000B6200 */ sll $t4, $t3, 8 -/* 06CAE8 7F037FB8 01996825 */ or $t5, $t4, $t9 -/* 06CAEC 7F037FBC 448D5000 */ mtc1 $t5, $f10 -/* 06CAF0 7F037FC0 C42628F4 */ lwc1 $f6, %lo(D_800528F4)($at) -/* 06CAF4 7F037FC4 02E02025 */ move $a0, $s7 -/* 06CAF8 7F037FC8 468054A0 */ cvt.s.w $f18, $f10 -/* 06CAFC 7F037FCC 46069002 */ mul.s $f0, $f18, $f6 -/* 06CB00 7F037FD0 44050000 */ mfc1 $a1, $f0 -/* 06CB04 7F037FD4 0FC08006 */ jal sub_GAME_7F020018 -/* 06CB08 7F037FD8 00000000 */ nop -/* 06CB0C 7F037FDC 26520003 */ addiu $s2, $s2, 3 -/* 06CB10 7F037FE0 1000F56A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB14 7F037FE4 26310003 */ addiu $s1, $s1, 3 -action90_Set_Guard_Armor_Amount_3: -/* 06CB18 7F037FE8 922E0001 */ lbu $t6, 1($s1) -/* 06CB1C 7F037FEC 92380002 */ lbu $t8, 2($s1) -/* 06CB20 7F037FF0 3C018005 */ lui $at, %hi(D_800528F8) -/* 06CB24 7F037FF4 000E7A00 */ sll $t7, $t6, 8 -/* 06CB28 7F037FF8 01F84825 */ or $t1, $t7, $t8 -/* 06CB2C 7F037FFC 44898000 */ mtc1 $t1, $f16 -/* 06CB30 7F038000 C42428F8 */ lwc1 $f4, %lo(D_800528F8)($at) -/* 06CB34 7F038004 02E02025 */ move $a0, $s7 -/* 06CB38 7F038008 46808220 */ cvt.s.w $f8, $f16 -/* 06CB3C 7F03800C 46044002 */ mul.s $f0, $f8, $f4 -/* 06CB40 7F038010 44050000 */ mfc1 $a1, $f0 -/* 06CB44 7F038014 0FC08015 */ jal sub_GAME_7F020054 -/* 06CB48 7F038018 00000000 */ nop -/* 06CB4C 7F03801C 26520003 */ addiu $s2, $s2, 3 -/* 06CB50 7F038020 1000F55A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB54 7F038024 26310003 */ addiu $s1, $s1, 3 -action91_Set_Character_Reaction_Speed_2: -/* 06CB58 7F038028 822A0001 */ lb $t2, 1($s1) -/* 06CB5C 7F03802C 26520002 */ addiu $s2, $s2, 2 -/* 06CB60 7F038030 26310002 */ addiu $s1, $s1, 2 -/* 06CB64 7F038034 1000F555 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB68 7F038038 A2EA0003 */ sb $t2, 3($s7) -action92_Set_Character_Injury_Recovery_Speed_2: -/* 06CB6C 7F03803C 822B0001 */ lb $t3, 1($s1) -/* 06CB70 7F038040 26520002 */ addiu $s2, $s2, 2 -/* 06CB74 7F038044 26310002 */ addiu $s1, $s1, 2 -/* 06CB78 7F038048 1000F550 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB7C 7F03804C A2EB000D */ sb $t3, 0xd($s7) -action93_Set_Character_Accuracy_2: -/* 06CB80 7F038050 822C0001 */ lb $t4, 1($s1) -/* 06CB84 7F038054 26520002 */ addiu $s2, $s2, 2 -/* 06CB88 7F038058 26310002 */ addiu $s1, $s1, 2 -/* 06CB8C 7F03805C 1000F54B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB90 7F038060 A2EC0002 */ sb $t4, 2($s7) -action94_Mask_Guard_Type_With_Value_2: -/* 06CB94 7F038064 02E02025 */ move $a0, $s7 -/* 06CB98 7F038068 0FC0CC86 */ jal sub_GAME_7F033218 -/* 06CB9C 7F03806C 92250001 */ lbu $a1, 1($s1) -/* 06CBA0 7F038070 26520002 */ addiu $s2, $s2, 2 -/* 06CBA4 7F038074 1000F545 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CBA8 7F038078 26310002 */ addiu $s1, $s1, 2 -action95_Unmask_Guard_Type_With_Value_2: -/* 06CBAC 7F03807C 02E02025 */ move $a0, $s7 -/* 06CBB0 7F038080 0FC0CC8B */ jal sub_GAME_7F03322C -/* 06CBB4 7F038084 92250001 */ lbu $a1, 1($s1) -/* 06CBB8 7F038088 26520002 */ addiu $s2, $s2, 2 -/* 06CBBC 7F03808C 1000F53F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CBC0 7F038090 26310002 */ addiu $s1, $s1, 2 -action96_If_Guard_Type_Value_Is_Set_RVL_3: -/* 06CBC4 7F038094 02E02025 */ move $a0, $s7 -/* 06CBC8 7F038098 0FC0CC91 */ jal sub_GAME_7F033244 -/* 06CBCC 7F03809C 92250001 */ lbu $a1, 1($s1) -/* 06CBD0 7F0380A0 10400007 */ beqz $v0, .L7F0380C0 -/* 06CBD4 7F0380A4 02C02025 */ move $a0, $s6 -/* 06CBD8 7F0380A8 02402825 */ move $a1, $s2 -/* 06CBDC 7F0380AC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CBE0 7F0380B0 92260002 */ lbu $a2, 2($s1) -/* 06CBE4 7F0380B4 00409025 */ move $s2, $v0 -/* 06CBE8 7F0380B8 1000F534 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CBEC 7F0380BC 02C28821 */ addu $s1, $s6, $v0 -.L7F0380C0: -/* 06CBF0 7F0380C0 26520003 */ addiu $s2, $s2, 3 -/* 06CBF4 7F0380C4 1000F531 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CBF8 7F0380C8 26310003 */ addiu $s1, $s1, 3 -action97_Mask_Guard_Type_Flags_With_Value_3: -/* 06CBFC 7F0380CC 02E02025 */ move $a0, $s7 -/* 06CC00 7F0380D0 92250001 */ lbu $a1, 1($s1) -/* 06CC04 7F0380D4 0FC0CC98 */ jal sub_GAME_7F033260 -/* 06CC08 7F0380D8 92260002 */ lbu $a2, 2($s1) -/* 06CC0C 7F0380DC 26520003 */ addiu $s2, $s2, 3 -/* 06CC10 7F0380E0 1000F52A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CC14 7F0380E4 26310003 */ addiu $s1, $s1, 3 -action98_Unmask_Guard_Type_Flags_With_Value_3: -/* 06CC18 7F0380E8 02E02025 */ move $a0, $s7 -/* 06CC1C 7F0380EC 92250001 */ lbu $a1, 1($s1) -/* 06CC20 7F0380F0 0FC0CCA4 */ jal sub_GAME_7F033290 -/* 06CC24 7F0380F4 92260002 */ lbu $a2, 2($s1) -/* 06CC28 7F0380F8 26520003 */ addiu $s2, $s2, 3 -/* 06CC2C 7F0380FC 1000F523 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CC30 7F038100 26310003 */ addiu $s1, $s1, 3 -action99_If_Guard_Type_Flags_Set_RVL_4: -/* 06CC34 7F038104 02E02025 */ move $a0, $s7 -/* 06CC38 7F038108 92250001 */ lbu $a1, 1($s1) -/* 06CC3C 7F03810C 0FC0CCB0 */ jal sub_GAME_7F0332C0 -/* 06CC40 7F038110 92260002 */ lbu $a2, 2($s1) -/* 06CC44 7F038114 10400007 */ beqz $v0, .L7F038134 -/* 06CC48 7F038118 02C02025 */ move $a0, $s6 -/* 06CC4C 7F03811C 02402825 */ move $a1, $s2 -/* 06CC50 7F038120 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CC54 7F038124 92260003 */ lbu $a2, 3($s1) -/* 06CC58 7F038128 00409025 */ move $s2, $v0 -/* 06CC5C 7F03812C 1000F517 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CC60 7F038130 02C28821 */ addu $s1, $s6, $v0 -.L7F038134: -/* 06CC64 7F038134 26520004 */ addiu $s2, $s2, 4 -/* 06CC68 7F038138 1000F514 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CC6C 7F03813C 26310004 */ addiu $s1, $s1, 4 -action9A_Set_Objective_Bits_5: -/* 06CC70 7F038140 92390001 */ lbu $t9, 1($s1) -/* 06CC74 7F038144 922E0002 */ lbu $t6, 2($s1) -/* 06CC78 7F038148 92290003 */ lbu $t1, 3($s1) -/* 06CC7C 7F03814C 00196E00 */ sll $t5, $t9, 0x18 -/* 06CC80 7F038150 000E7C00 */ sll $t7, $t6, 0x10 -/* 06CC84 7F038154 922C0004 */ lbu $t4, 4($s1) -/* 06CC88 7F038158 01AFC025 */ or $t8, $t5, $t7 -/* 06CC8C 7F03815C 00095200 */ sll $t2, $t1, 8 -/* 06CC90 7F038160 030A5825 */ or $t3, $t8, $t2 -/* 06CC94 7F038164 02E02025 */ move $a0, $s7 -/* 06CC98 7F038168 0FC0CCBF */ jal toggle_objective_bitflags -/* 06CC9C 7F03816C 016C2825 */ or $a1, $t3, $t4 -/* 06CCA0 7F038170 26520005 */ addiu $s2, $s2, 5 -/* 06CCA4 7F038174 1000F505 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CCA8 7F038178 26310005 */ addiu $s1, $s1, 5 -action9B_Unset_Objective_Value_5: -/* 06CCAC 7F03817C 92390001 */ lbu $t9, 1($s1) -/* 06CCB0 7F038180 922D0002 */ lbu $t5, 2($s1) -/* 06CCB4 7F038184 92380003 */ lbu $t8, 3($s1) -/* 06CCB8 7F038188 00197600 */ sll $t6, $t9, 0x18 -/* 06CCBC 7F03818C 000D7C00 */ sll $t7, $t5, 0x10 -/* 06CCC0 7F038190 922C0004 */ lbu $t4, 4($s1) -/* 06CCC4 7F038194 01CF4825 */ or $t1, $t6, $t7 -/* 06CCC8 7F038198 00185200 */ sll $t2, $t8, 8 -/* 06CCCC 7F03819C 012A5825 */ or $t3, $t1, $t2 -/* 06CCD0 7F0381A0 02E02025 */ move $a0, $s7 -/* 06CCD4 7F0381A4 0FC0CCC6 */ jal untoggle_objective_bitflags -/* 06CCD8 7F0381A8 016C2825 */ or $a1, $t3, $t4 -/* 06CCDC 7F0381AC 26520005 */ addiu $s2, $s2, 5 -/* 06CCE0 7F0381B0 1000F4F6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CCE4 7F0381B4 26310005 */ addiu $s1, $s1, 5 -action9C_Check_If_Objective_Value_Return_Loop_If_So_6: -/* 06CCE8 7F0381B8 92390001 */ lbu $t9, 1($s1) -/* 06CCEC 7F0381BC 922E0002 */ lbu $t6, 2($s1) -/* 06CCF0 7F0381C0 92290003 */ lbu $t1, 3($s1) -/* 06CCF4 7F0381C4 00196E00 */ sll $t5, $t9, 0x18 -/* 06CCF8 7F0381C8 000E7C00 */ sll $t7, $t6, 0x10 -/* 06CCFC 7F0381CC 922C0004 */ lbu $t4, 4($s1) -/* 06CD00 7F0381D0 01AFC025 */ or $t8, $t5, $t7 -/* 06CD04 7F0381D4 00095200 */ sll $t2, $t1, 8 -/* 06CD08 7F0381D8 030A5825 */ or $t3, $t8, $t2 -/* 06CD0C 7F0381DC 02E02025 */ move $a0, $s7 -/* 06CD10 7F0381E0 0FC0CCCE */ jal check_if_objective_bitflags_set -/* 06CD14 7F0381E4 016C2825 */ or $a1, $t3, $t4 -/* 06CD18 7F0381E8 10400007 */ beqz $v0, .L7F038208 -/* 06CD1C 7F0381EC 02C02025 */ move $a0, $s6 -/* 06CD20 7F0381F0 02402825 */ move $a1, $s2 -/* 06CD24 7F0381F4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CD28 7F0381F8 92260005 */ lbu $a2, 5($s1) -/* 06CD2C 7F0381FC 00409025 */ move $s2, $v0 -/* 06CD30 7F038200 1000F4E2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CD34 7F038204 02C28821 */ addu $s1, $s6, $v0 -.L7F038208: -/* 06CD38 7F038208 26520006 */ addiu $s2, $s2, 6 -/* 06CD3C 7F03820C 1000F4DF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CD40 7F038210 26310006 */ addiu $s1, $s1, 6 -action9D_Set_Guard_Bit_Tags_5: -/* 06CD44 7F038214 92390001 */ lbu $t9, 1($s1) -/* 06CD48 7F038218 922D0002 */ lbu $t5, 2($s1) -/* 06CD4C 7F03821C 92380003 */ lbu $t8, 3($s1) -/* 06CD50 7F038220 00197600 */ sll $t6, $t9, 0x18 -/* 06CD54 7F038224 922C0004 */ lbu $t4, 4($s1) -/* 06CD58 7F038228 000D7C00 */ sll $t7, $t5, 0x10 -/* 06CD5C 7F03822C 8EF90014 */ lw $t9, 0x14($s7) -/* 06CD60 7F038230 01CF4825 */ or $t1, $t6, $t7 -/* 06CD64 7F038234 00185200 */ sll $t2, $t8, 8 -/* 06CD68 7F038238 012A5825 */ or $t3, $t1, $t2 -/* 06CD6C 7F03823C 016C1025 */ or $v0, $t3, $t4 -/* 06CD70 7F038240 03226825 */ or $t5, $t9, $v0 -/* 06CD74 7F038244 AEED0014 */ sw $t5, 0x14($s7) -/* 06CD78 7F038248 26520005 */ addiu $s2, $s2, 5 -/* 06CD7C 7F03824C 1000F4CF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CD80 7F038250 26310005 */ addiu $s1, $s1, 5 -action9E_Unset_Guard_Bit_Tags_5: -/* 06CD84 7F038254 922E0001 */ lbu $t6, 1($s1) -/* 06CD88 7F038258 92380002 */ lbu $t8, 2($s1) -/* 06CD8C 7F03825C 922B0003 */ lbu $t3, 3($s1) -/* 06CD90 7F038260 922D0004 */ lbu $t5, 4($s1) -/* 06CD94 7F038264 000E7E00 */ sll $t7, $t6, 0x18 -/* 06CD98 7F038268 00184C00 */ sll $t1, $t8, 0x10 -/* 06CD9C 7F03826C 01E95025 */ or $t2, $t7, $t1 -/* 06CDA0 7F038270 000B6200 */ sll $t4, $t3, 8 -/* 06CDA4 7F038274 8EEE0014 */ lw $t6, 0x14($s7) -/* 06CDA8 7F038278 014CC825 */ or $t9, $t2, $t4 -/* 06CDAC 7F03827C 032D1025 */ or $v0, $t9, $t5 -/* 06CDB0 7F038280 0040C027 */ not $t8, $v0 -/* 06CDB4 7F038284 01D87824 */ and $t7, $t6, $t8 -/* 06CDB8 7F038288 AEEF0014 */ sw $t7, 0x14($s7) -/* 06CDBC 7F03828C 26520005 */ addiu $s2, $s2, 5 -/* 06CDC0 7F038290 1000F4BE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CDC4 7F038294 26310005 */ addiu $s1, $s1, 5 -action9F_Check_Guard_Bits_If_Same_RVL_6: -/* 06CDC8 7F038298 92290001 */ lbu $t1, 1($s1) -/* 06CDCC 7F03829C 922A0002 */ lbu $t2, 2($s1) -/* 06CDD0 7F0382A0 922D0003 */ lbu $t5, 3($s1) -/* 06CDD4 7F0382A4 00095E00 */ sll $t3, $t1, 0x18 -/* 06CDD8 7F0382A8 922F0004 */ lbu $t7, 4($s1) -/* 06CDDC 7F0382AC 000A6400 */ sll $t4, $t2, 0x10 -/* 06CDE0 7F0382B0 8EE90014 */ lw $t1, 0x14($s7) -/* 06CDE4 7F0382B4 016CC825 */ or $t9, $t3, $t4 -/* 06CDE8 7F0382B8 000D7200 */ sll $t6, $t5, 8 -/* 06CDEC 7F0382BC 032EC025 */ or $t8, $t9, $t6 -/* 06CDF0 7F0382C0 030F1025 */ or $v0, $t8, $t7 -/* 06CDF4 7F0382C4 01225024 */ and $t2, $t1, $v0 -/* 06CDF8 7F0382C8 144A0007 */ bne $v0, $t2, .L7F0382E8 -/* 06CDFC 7F0382CC 02C02025 */ move $a0, $s6 -/* 06CE00 7F0382D0 02402825 */ move $a1, $s2 -/* 06CE04 7F0382D4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CE08 7F0382D8 92260005 */ lbu $a2, 5($s1) -/* 06CE0C 7F0382DC 00409025 */ move $s2, $v0 -/* 06CE10 7F0382E0 1000F4AA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CE14 7F0382E4 02C28821 */ addu $s1, $s6, $v0 -.L7F0382E8: -/* 06CE18 7F0382E8 26520006 */ addiu $s2, $s2, 6 -/* 06CE1C 7F0382EC 1000F4A7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CE20 7F0382F0 26310006 */ addiu $s1, $s1, 6 -actionA0_Set_Guard_ID_Bits_6: -/* 06CE24 7F0382F4 922B0002 */ lbu $t3, 2($s1) -/* 06CE28 7F0382F8 922D0003 */ lbu $t5, 3($s1) -/* 06CE2C 7F0382FC 92380004 */ lbu $t8, 4($s1) -/* 06CE30 7F038300 000B6600 */ sll $t4, $t3, 0x18 -/* 06CE34 7F038304 000DCC00 */ sll $t9, $t5, 0x10 -/* 06CE38 7F038308 922A0005 */ lbu $t2, 5($s1) -/* 06CE3C 7F03830C 01997025 */ or $t6, $t4, $t9 -/* 06CE40 7F038310 00187A00 */ sll $t7, $t8, 8 -/* 06CE44 7F038314 01CF4825 */ or $t1, $t6, $t7 -/* 06CE48 7F038318 02E02025 */ move $a0, $s7 -/* 06CE4C 7F03831C 92250001 */ lbu $a1, 1($s1) -/* 06CE50 7F038320 0FC0CC10 */ jal get_handle_for_guard_id -/* 06CE54 7F038324 012A8025 */ or $s0, $t1, $t2 -/* 06CE58 7F038328 10400004 */ beqz $v0, .L7F03833C -/* 06CE5C 7F03832C 26520006 */ addiu $s2, $s2, 6 -/* 06CE60 7F038330 8C4B0014 */ lw $t3, 0x14($v0) -/* 06CE64 7F038334 01706825 */ or $t5, $t3, $s0 -/* 06CE68 7F038338 AC4D0014 */ sw $t5, 0x14($v0) -.L7F03833C: -/* 06CE6C 7F03833C 1000F493 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CE70 7F038340 26310006 */ addiu $s1, $s1, 6 -actionA1_Unset_Guard_ID_Bits_6: -/* 06CE74 7F038344 922C0002 */ lbu $t4, 2($s1) -/* 06CE78 7F038348 92380003 */ lbu $t8, 3($s1) -/* 06CE7C 7F03834C 92290004 */ lbu $t1, 4($s1) -/* 06CE80 7F038350 000CCE00 */ sll $t9, $t4, 0x18 -/* 06CE84 7F038354 00187400 */ sll $t6, $t8, 0x10 -/* 06CE88 7F038358 922D0005 */ lbu $t5, 5($s1) -/* 06CE8C 7F03835C 032E7825 */ or $t7, $t9, $t6 -/* 06CE90 7F038360 00095200 */ sll $t2, $t1, 8 -/* 06CE94 7F038364 01EA5825 */ or $t3, $t7, $t2 -/* 06CE98 7F038368 02E02025 */ move $a0, $s7 -/* 06CE9C 7F03836C 92250001 */ lbu $a1, 1($s1) -/* 06CEA0 7F038370 0FC0CC10 */ jal get_handle_for_guard_id -/* 06CEA4 7F038374 016D8025 */ or $s0, $t3, $t5 -/* 06CEA8 7F038378 10400005 */ beqz $v0, .L7F038390 -/* 06CEAC 7F03837C 26520006 */ addiu $s2, $s2, 6 -/* 06CEB0 7F038380 8C4C0014 */ lw $t4, 0x14($v0) -/* 06CEB4 7F038384 0200C027 */ not $t8, $s0 -/* 06CEB8 7F038388 0198C824 */ and $t9, $t4, $t8 -/* 06CEBC 7F03838C AC590014 */ sw $t9, 0x14($v0) -.L7F038390: -/* 06CEC0 7F038390 1000F47E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CEC4 7F038394 26310006 */ addiu $s1, $s1, 6 -actionA2_Check_Guard_Bits_If_Same_RVL_7: -/* 06CEC8 7F038398 922E0002 */ lbu $t6, 2($s1) -/* 06CECC 7F03839C 922F0003 */ lbu $t7, 3($s1) -/* 06CED0 7F0383A0 922D0004 */ lbu $t5, 4($s1) -/* 06CED4 7F0383A4 000E4E00 */ sll $t1, $t6, 0x18 -/* 06CED8 7F0383A8 000F5400 */ sll $t2, $t7, 0x10 -/* 06CEDC 7F0383AC 92390005 */ lbu $t9, 5($s1) -/* 06CEE0 7F0383B0 012A5825 */ or $t3, $t1, $t2 -/* 06CEE4 7F0383B4 000D6200 */ sll $t4, $t5, 8 -/* 06CEE8 7F0383B8 016CC025 */ or $t8, $t3, $t4 -/* 06CEEC 7F0383BC 02E02025 */ move $a0, $s7 -/* 06CEF0 7F0383C0 92250001 */ lbu $a1, 1($s1) -/* 06CEF4 7F0383C4 0FC0CC10 */ jal get_handle_for_guard_id -/* 06CEF8 7F0383C8 03198025 */ or $s0, $t8, $t9 -/* 06CEFC 7F0383CC 5040000D */ beql $v0, $zero, .L7F038404 -/* 06CF00 7F0383D0 26520007 */ addiu $s2, $s2, 7 -/* 06CF04 7F0383D4 8C4E0014 */ lw $t6, 0x14($v0) -/* 06CF08 7F0383D8 02C02025 */ move $a0, $s6 -/* 06CF0C 7F0383DC 02402825 */ move $a1, $s2 -/* 06CF10 7F0383E0 01D07824 */ and $t7, $t6, $s0 -/* 06CF14 7F0383E4 560F0007 */ bnel $s0, $t7, .L7F038404 -/* 06CF18 7F0383E8 26520007 */ addiu $s2, $s2, 7 -/* 06CF1C 7F0383EC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CF20 7F0383F0 92260006 */ lbu $a2, 6($s1) -/* 06CF24 7F0383F4 00409025 */ move $s2, $v0 -/* 06CF28 7F0383F8 1000F464 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CF2C 7F0383FC 02C28821 */ addu $s1, $s6, $v0 -/* 06CF30 7F038400 26520007 */ addiu $s2, $s2, 7 -.L7F038404: -/* 06CF34 7F038404 1000F461 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CF38 7F038408 26310007 */ addiu $s1, $s1, 7 -actionA3_Set_State_Bits_16_Type_Object_6: -/* 06CF3C 7F03840C 92290002 */ lbu $t1, 2($s1) -/* 06CF40 7F038410 922D0003 */ lbu $t5, 3($s1) -/* 06CF44 7F038414 92380004 */ lbu $t8, 4($s1) -/* 06CF48 7F038418 00095600 */ sll $t2, $t1, 0x18 -/* 06CF4C 7F03841C 000D5C00 */ sll $t3, $t5, 0x10 -/* 06CF50 7F038420 922F0005 */ lbu $t7, 5($s1) -/* 06CF54 7F038424 014B6025 */ or $t4, $t2, $t3 -/* 06CF58 7F038428 0018CA00 */ sll $t9, $t8, 8 -/* 06CF5C 7F03842C 01997025 */ or $t6, $t4, $t9 -/* 06CF60 7F038430 92240001 */ lbu $a0, 1($s1) -/* 06CF64 7F038434 0FC15C30 */ jal get_handle_to_tagged_object -/* 06CF68 7F038438 01CF8025 */ or $s0, $t6, $t7 -/* 06CF6C 7F03843C 10400007 */ beqz $v0, .L7F03845C -/* 06CF70 7F038440 26520006 */ addiu $s2, $s2, 6 -/* 06CF74 7F038444 8C490010 */ lw $t1, 0x10($v0) -/* 06CF78 7F038448 11200004 */ beqz $t1, .L7F03845C -/* 06CF7C 7F03844C 00000000 */ nop -/* 06CF80 7F038450 8C4D0008 */ lw $t5, 8($v0) -/* 06CF84 7F038454 01B05025 */ or $t2, $t5, $s0 -/* 06CF88 7F038458 AC4A0008 */ sw $t2, 8($v0) -.L7F03845C: -/* 06CF8C 7F03845C 1000F44B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CF90 7F038460 26310006 */ addiu $s1, $s1, 6 -actionA4_Unset_State_Bits_16_Type_Object_6: -/* 06CF94 7F038464 922B0002 */ lbu $t3, 2($s1) -/* 06CF98 7F038468 922C0003 */ lbu $t4, 3($s1) -/* 06CF9C 7F03846C 922F0004 */ lbu $t7, 4($s1) -/* 06CFA0 7F038470 000BC600 */ sll $t8, $t3, 0x18 -/* 06CFA4 7F038474 000CCC00 */ sll $t9, $t4, 0x10 -/* 06CFA8 7F038478 922A0005 */ lbu $t2, 5($s1) -/* 06CFAC 7F03847C 03197025 */ or $t6, $t8, $t9 -/* 06CFB0 7F038480 000F4A00 */ sll $t1, $t7, 8 -/* 06CFB4 7F038484 01C96825 */ or $t5, $t6, $t1 -/* 06CFB8 7F038488 92240001 */ lbu $a0, 1($s1) -/* 06CFBC 7F03848C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06CFC0 7F038490 01AA8025 */ or $s0, $t5, $t2 -/* 06CFC4 7F038494 10400008 */ beqz $v0, .L7F0384B8 -/* 06CFC8 7F038498 26520006 */ addiu $s2, $s2, 6 -/* 06CFCC 7F03849C 8C4B0010 */ lw $t3, 0x10($v0) -/* 06CFD0 7F0384A0 11600005 */ beqz $t3, .L7F0384B8 -/* 06CFD4 7F0384A4 00000000 */ nop -/* 06CFD8 7F0384A8 8C4C0008 */ lw $t4, 8($v0) -/* 06CFDC 7F0384AC 0200C027 */ not $t8, $s0 -/* 06CFE0 7F0384B0 0198C824 */ and $t9, $t4, $t8 -/* 06CFE4 7F0384B4 AC590008 */ sw $t9, 8($v0) -.L7F0384B8: -/* 06CFE8 7F0384B8 1000F434 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CFEC 7F0384BC 26310006 */ addiu $s1, $s1, 6 -actionA5_Check_State_Bits_16_Type_Object_If_Same_RVL_7: -/* 06CFF0 7F0384C0 922F0002 */ lbu $t7, 2($s1) -/* 06CFF4 7F0384C4 92290003 */ lbu $t1, 3($s1) -/* 06CFF8 7F0384C8 922B0004 */ lbu $t3, 4($s1) -/* 06CFFC 7F0384CC 000F7600 */ sll $t6, $t7, 0x18 -/* 06D000 7F0384D0 00096C00 */ sll $t5, $t1, 0x10 -/* 06D004 7F0384D4 92390005 */ lbu $t9, 5($s1) -/* 06D008 7F0384D8 01CD5025 */ or $t2, $t6, $t5 -/* 06D00C 7F0384DC 000B6200 */ sll $t4, $t3, 8 -/* 06D010 7F0384E0 014CC025 */ or $t8, $t2, $t4 -/* 06D014 7F0384E4 92240001 */ lbu $a0, 1($s1) -/* 06D018 7F0384E8 0FC15C30 */ jal get_handle_to_tagged_object -/* 06D01C 7F0384EC 03198025 */ or $s0, $t8, $t9 -/* 06D020 7F0384F0 50400010 */ beql $v0, $zero, .L7F038534 -/* 06D024 7F0384F4 26520007 */ addiu $s2, $s2, 7 -/* 06D028 7F0384F8 8C4F0010 */ lw $t7, 0x10($v0) -/* 06D02C 7F0384FC 51E0000D */ beql $t7, $zero, .L7F038534 -/* 06D030 7F038500 26520007 */ addiu $s2, $s2, 7 -/* 06D034 7F038504 8C490008 */ lw $t1, 8($v0) -/* 06D038 7F038508 02C02025 */ move $a0, $s6 -/* 06D03C 7F03850C 02402825 */ move $a1, $s2 -/* 06D040 7F038510 01307024 */ and $t6, $t1, $s0 -/* 06D044 7F038514 560E0007 */ bnel $s0, $t6, .L7F038534 -/* 06D048 7F038518 26520007 */ addiu $s2, $s2, 7 -/* 06D04C 7F03851C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D050 7F038520 92260006 */ lbu $a2, 6($s1) -/* 06D054 7F038524 00409025 */ move $s2, $v0 -/* 06D058 7F038528 1000F418 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D05C 7F03852C 02C28821 */ addu $s1, $s6, $v0 -/* 06D060 7F038530 26520007 */ addiu $s2, $s2, 7 -.L7F038534: -/* 06D064 7F038534 1000F415 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D068 7F038538 26310007 */ addiu $s1, $s1, 7 -actionA6_Set_16_Object_States_More_6: -/* 06D06C 7F03853C 922D0002 */ lbu $t5, 2($s1) -/* 06D070 7F038540 922A0003 */ lbu $t2, 3($s1) -/* 06D074 7F038544 92390004 */ lbu $t9, 4($s1) -/* 06D078 7F038548 000D5E00 */ sll $t3, $t5, 0x18 -/* 06D07C 7F03854C 000A6400 */ sll $t4, $t2, 0x10 -/* 06D080 7F038550 922E0005 */ lbu $t6, 5($s1) -/* 06D084 7F038554 016CC025 */ or $t8, $t3, $t4 -/* 06D088 7F038558 00197A00 */ sll $t7, $t9, 8 -/* 06D08C 7F03855C 030F4825 */ or $t1, $t8, $t7 -/* 06D090 7F038560 92240001 */ lbu $a0, 1($s1) -/* 06D094 7F038564 0FC15C30 */ jal get_handle_to_tagged_object -/* 06D098 7F038568 012E8025 */ or $s0, $t1, $t6 -/* 06D09C 7F03856C 10400007 */ beqz $v0, .L7F03858C -/* 06D0A0 7F038570 26520006 */ addiu $s2, $s2, 6 -/* 06D0A4 7F038574 8C4D0010 */ lw $t5, 0x10($v0) -/* 06D0A8 7F038578 11A00004 */ beqz $t5, .L7F03858C -/* 06D0AC 7F03857C 00000000 */ nop -/* 06D0B0 7F038580 8C4A000C */ lw $t2, 0xc($v0) -/* 06D0B4 7F038584 01505825 */ or $t3, $t2, $s0 -/* 06D0B8 7F038588 AC4B000C */ sw $t3, 0xc($v0) -.L7F03858C: -/* 06D0BC 7F03858C 1000F3FF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D0C0 7F038590 26310006 */ addiu $s1, $s1, 6 -actionA7_Unset_16_Object_States_More_6: -/* 06D0C4 7F038594 922C0002 */ lbu $t4, 2($s1) -/* 06D0C8 7F038598 92380003 */ lbu $t8, 3($s1) -/* 06D0CC 7F03859C 922E0004 */ lbu $t6, 4($s1) -/* 06D0D0 7F0385A0 000CCE00 */ sll $t9, $t4, 0x18 -/* 06D0D4 7F0385A4 00187C00 */ sll $t7, $t8, 0x10 -/* 06D0D8 7F0385A8 922B0005 */ lbu $t3, 5($s1) -/* 06D0DC 7F0385AC 032F4825 */ or $t1, $t9, $t7 -/* 06D0E0 7F0385B0 000E6A00 */ sll $t5, $t6, 8 -/* 06D0E4 7F0385B4 012D5025 */ or $t2, $t1, $t5 -/* 06D0E8 7F0385B8 92240001 */ lbu $a0, 1($s1) -/* 06D0EC 7F0385BC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06D0F0 7F0385C0 014B8025 */ or $s0, $t2, $t3 -/* 06D0F4 7F0385C4 10400008 */ beqz $v0, .L7F0385E8 -/* 06D0F8 7F0385C8 26520006 */ addiu $s2, $s2, 6 -/* 06D0FC 7F0385CC 8C4C0010 */ lw $t4, 0x10($v0) -/* 06D100 7F0385D0 11800005 */ beqz $t4, .L7F0385E8 -/* 06D104 7F0385D4 00000000 */ nop -/* 06D108 7F0385D8 8C58000C */ lw $t8, 0xc($v0) -/* 06D10C 7F0385DC 0200C827 */ not $t9, $s0 -/* 06D110 7F0385E0 03197824 */ and $t7, $t8, $t9 -/* 06D114 7F0385E4 AC4F000C */ sw $t7, 0xc($v0) -.L7F0385E8: -/* 06D118 7F0385E8 1000F3E8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D11C 7F0385EC 26310006 */ addiu $s1, $s1, 6 -actionA8_Check_16_Object_States_More_If_Same_RVL_7: -/* 06D120 7F0385F0 922E0002 */ lbu $t6, 2($s1) -/* 06D124 7F0385F4 922D0003 */ lbu $t5, 3($s1) -/* 06D128 7F0385F8 922C0004 */ lbu $t4, 4($s1) -/* 06D12C 7F0385FC 000E4E00 */ sll $t1, $t6, 0x18 -/* 06D130 7F038600 000D5400 */ sll $t2, $t5, 0x10 -/* 06D134 7F038604 922F0005 */ lbu $t7, 5($s1) -/* 06D138 7F038608 012A5825 */ or $t3, $t1, $t2 -/* 06D13C 7F03860C 000CC200 */ sll $t8, $t4, 8 -/* 06D140 7F038610 0178C825 */ or $t9, $t3, $t8 -/* 06D144 7F038614 92240001 */ lbu $a0, 1($s1) -/* 06D148 7F038618 0FC15C30 */ jal get_handle_to_tagged_object -/* 06D14C 7F03861C 032F8025 */ or $s0, $t9, $t7 -/* 06D150 7F038620 50400010 */ beql $v0, $zero, .L7F038664 -/* 06D154 7F038624 26520007 */ addiu $s2, $s2, 7 -/* 06D158 7F038628 8C4E0010 */ lw $t6, 0x10($v0) -/* 06D15C 7F03862C 51C0000D */ beql $t6, $zero, .L7F038664 -/* 06D160 7F038630 26520007 */ addiu $s2, $s2, 7 -/* 06D164 7F038634 8C4D000C */ lw $t5, 0xc($v0) -/* 06D168 7F038638 02C02025 */ move $a0, $s6 -/* 06D16C 7F03863C 02402825 */ move $a1, $s2 -/* 06D170 7F038640 01B04824 */ and $t1, $t5, $s0 -/* 06D174 7F038644 56090007 */ bnel $s0, $t1, .L7F038664 -/* 06D178 7F038648 26520007 */ addiu $s2, $s2, 7 -/* 06D17C 7F03864C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D180 7F038650 92260006 */ lbu $a2, 6($s1) -/* 06D184 7F038654 00409025 */ move $s2, $v0 -/* 06D188 7F038658 1000F3CC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D18C 7F03865C 02C28821 */ addu $s1, $s6, $v0 -/* 06D190 7F038660 26520007 */ addiu $s2, $s2, 7 -.L7F038664: -/* 06D194 7F038664 1000F3C9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D198 7F038668 26310007 */ addiu $s1, $s1, 7 -actionA9_Sets_To_Guard_ID_Fc_Current_Guard_2: -/* 06D19C 7F03866C 02E02025 */ move $a0, $s7 -/* 06D1A0 7F038670 0FC0CF3D */ jal sub_GAME_7F033CF4 -/* 06D1A4 7F038674 92250001 */ lbu $a1, 1($s1) -/* 06D1A8 7F038678 26520002 */ addiu $s2, $s2, 2 -/* 06D1AC 7F03867C 1000F3C3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D1B0 7F038680 26310002 */ addiu $s1, $s1, 2 -actionAA_Sets_FC_Value_For_Guard_ID_To_Guard_ID_3: -/* 06D1B4 7F038684 02E02025 */ move $a0, $s7 -/* 06D1B8 7F038688 92250001 */ lbu $a1, 1($s1) -/* 06D1BC 7F03868C 0FC0CF47 */ jal sub_GAME_7F033D1C -/* 06D1C0 7F038690 92260002 */ lbu $a2, 2($s1) -/* 06D1C4 7F038694 26520003 */ addiu $s2, $s2, 3 -/* 06D1C8 7F038698 1000F3BC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D1CC 7F03869C 26310003 */ addiu $s1, $s1, 3 -actionAB_Set_Current_Guards_2328_Value_To_Preset_3: -/* 06D1D0 7F0386A0 922A0001 */ lbu $t2, 1($s1) -/* 06D1D4 7F0386A4 922B0002 */ lbu $t3, 2($s1) -/* 06D1D8 7F0386A8 8FB907AC */ lw $t9, 0x7ac($sp) -/* 06D1DC 7F0386AC 000A6200 */ sll $t4, $t2, 8 -/* 06D1E0 7F0386B0 018B1025 */ or $v0, $t4, $t3 -/* 06D1E4 7F0386B4 3058FFFF */ andi $t8, $v0, 0xffff -/* 06D1E8 7F0386B8 12E00007 */ beqz $s7, .L7F0386D8 -/* 06D1EC 7F0386BC 03001025 */ move $v0, $t8 -/* 06D1F0 7F0386C0 02E02025 */ move $a0, $s7 -/* 06D1F4 7F0386C4 0FC0CF57 */ jal sub_GAME_7F033D5C -/* 06D1F8 7F0386C8 03002825 */ move $a1, $t8 -/* 06D1FC 7F0386CC 26520003 */ addiu $s2, $s2, 3 -/* 06D200 7F0386D0 1000F3AE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D204 7F0386D4 26310003 */ addiu $s1, $s1, 3 -.L7F0386D8: -/* 06D208 7F0386D8 13200002 */ beqz $t9, .L7F0386E4 -/* 06D20C 7F0386DC 26520003 */ addiu $s2, $s2, 3 -/* 06D210 7F0386E0 A7220006 */ sh $v0, 6($t9) -.L7F0386E4: -/* 06D214 7F0386E4 1000F3A9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D218 7F0386E8 26310003 */ addiu $s1, $s1, 3 -actionAC_Set_Guard_ID_numS_2328_Value_To_Preset_4: -/* 06D21C 7F0386EC 922F0002 */ lbu $t7, 2($s1) -/* 06D220 7F0386F0 922D0003 */ lbu $t5, 3($s1) -/* 06D224 7F0386F4 02E02025 */ move $a0, $s7 -/* 06D228 7F0386F8 000F7200 */ sll $t6, $t7, 8 -/* 06D22C 7F0386FC 01CD1025 */ or $v0, $t6, $t5 -/* 06D230 7F038700 3046FFFF */ andi $a2, $v0, 0xffff -/* 06D234 7F038704 0FC0CF61 */ jal sub_GAME_7F033D84 -/* 06D238 7F038708 92250001 */ lbu $a1, 1($s1) -/* 06D23C 7F03870C 26520004 */ addiu $s2, $s2, 4 -/* 06D240 7F038710 1000F39E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D244 7F038714 26310004 */ addiu $s1, $s1, 4 -actionAD_Debug_Comment_20: -/* 06D248 7F038718 02C02025 */ move $a0, $s6 -/* 06D24C 7F03871C 0FC0D27F */ jal get_length_of_action_block -/* 06D250 7F038720 02402825 */ move $a1, $s2 -/* 06D254 7F038724 02429021 */ addu $s2, $s2, $v0 -/* 06D258 7F038728 1000F398 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D25C 7F03872C 02D28821 */ addu $s1, $s6, $s2 -actionAE_Reset_Cycle_Counter_And_Enable_It_1: -/* 06D260 7F038730 0FC0CCF1 */ jal reset_and_start_loop_counter -/* 06D264 7F038734 02E02025 */ move $a0, $s7 -/* 06D268 7F038738 26520001 */ addiu $s2, $s2, 1 -/* 06D26C 7F03873C 1000F393 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D270 7F038740 26310001 */ addiu $s1, $s1, 1 -actionAF_Reset_Cycle_Counter_1: -/* 06D274 7F038744 AEE00110 */ sw $zero, 0x110($s7) -/* 06D278 7F038748 26520001 */ addiu $s2, $s2, 1 -/* 06D27C 7F03874C 1000F38F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D280 7F038750 26310001 */ addiu $s1, $s1, 1 -actionB0_Disable_Cycle_Counter_1: -/* 06D284 7F038754 96EA0012 */ lhu $t2, 0x12($s7) -/* 06D288 7F038758 26520001 */ addiu $s2, $s2, 1 -/* 06D28C 7F03875C 26310001 */ addiu $s1, $s1, 1 -/* 06D290 7F038760 314CFFBF */ andi $t4, $t2, 0xffbf -/* 06D294 7F038764 1000F389 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D298 7F038768 A6EC0012 */ sh $t4, 0x12($s7) -actionB1_Enable_Cycle_Counter_1: -/* 06D29C 7F03876C 96EB0012 */ lhu $t3, 0x12($s7) -/* 06D2A0 7F038770 26520001 */ addiu $s2, $s2, 1 -/* 06D2A4 7F038774 26310001 */ addiu $s1, $s1, 1 -/* 06D2A8 7F038778 35780040 */ ori $t8, $t3, 0x40 -/* 06D2AC 7F03877C 1000F383 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D2B0 7F038780 A6F80012 */ sh $t8, 0x12($s7) -actionB2_Check_Cycle_Counter_Enable_Status_2: -/* 06D2B4 7F038784 96F90012 */ lhu $t9, 0x12($s7) -/* 06D2B8 7F038788 02C02025 */ move $a0, $s6 -/* 06D2BC 7F03878C 02402825 */ move $a1, $s2 -/* 06D2C0 7F038790 332F0040 */ andi $t7, $t9, 0x40 -/* 06D2C4 7F038794 55E00007 */ bnezl $t7, .L7F0387B4 -/* 06D2C8 7F038798 26520002 */ addiu $s2, $s2, 2 -/* 06D2CC 7F03879C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D2D0 7F0387A0 92260001 */ lbu $a2, 1($s1) -/* 06D2D4 7F0387A4 00409025 */ move $s2, $v0 -/* 06D2D8 7F0387A8 1000F378 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D2DC 7F0387AC 02C28821 */ addu $s1, $s6, $v0 -/* 06D2E0 7F0387B0 26520002 */ addiu $s2, $s2, 2 -.L7F0387B4: -/* 06D2E4 7F0387B4 1000F375 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D2E8 7F0387B8 26310002 */ addiu $s1, $s1, 2 -actionB3_If_Cycle_Counter_LTV_RVL_5: -/* 06D2EC 7F0387BC 922E0001 */ lbu $t6, 1($s1) -/* 06D2F0 7F0387C0 92290002 */ lbu $t1, 2($s1) -/* 06D2F4 7F0387C4 922B0003 */ lbu $t3, 3($s1) -/* 06D2F8 7F0387C8 000E6C00 */ sll $t5, $t6, 0x10 -/* 06D2FC 7F0387CC 00095200 */ sll $t2, $t1, 8 -/* 06D300 7F0387D0 01AA6025 */ or $t4, $t5, $t2 -/* 06D304 7F0387D4 018BC025 */ or $t8, $t4, $t3 -/* 06D308 7F0387D8 44985000 */ mtc1 $t8, $f10 -/* 06D30C 7F0387DC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06D310 7F0387E0 07010004 */ bgez $t8, .L7F0387F4 -/* 06D314 7F0387E4 468054A0 */ cvt.s.w $f18, $f10 -/* 06D318 7F0387E8 44813000 */ mtc1 $at, $f6 -/* 06D31C 7F0387EC 00000000 */ nop -/* 06D320 7F0387F0 46069480 */ add.s $f18, $f18, $f6 -.L7F0387F4: -/* 06D324 7F0387F4 46169403 */ div.s $f16, $f18, $f22 -/* 06D328 7F0387F8 02E02025 */ move $a0, $s7 -/* 06D32C 7F0387FC 0FC0CCF6 */ jal get_loop_counter_time_in_seconds -/* 06D330 7F038800 E7B002B0 */ swc1 $f16, 0x2b0($sp) -/* 06D334 7F038804 C7A802B0 */ lwc1 $f8, 0x2b0($sp) -/* 06D338 7F038808 02C02025 */ move $a0, $s6 -/* 06D33C 7F03880C 02402825 */ move $a1, $s2 -/* 06D340 7F038810 4608003C */ c.lt.s $f0, $f8 -/* 06D344 7F038814 00000000 */ nop -/* 06D348 7F038818 45020007 */ bc1fl .L7F038838 -/* 06D34C 7F03881C 26520005 */ addiu $s2, $s2, 5 -/* 06D350 7F038820 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D354 7F038824 92260004 */ lbu $a2, 4($s1) -/* 06D358 7F038828 00409025 */ move $s2, $v0 -/* 06D35C 7F03882C 1000F357 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D360 7F038830 02C28821 */ addu $s1, $s6, $v0 -/* 06D364 7F038834 26520005 */ addiu $s2, $s2, 5 -.L7F038838: -/* 06D368 7F038838 1000F354 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D36C 7F03883C 26310005 */ addiu $s1, $s1, 5 -actionB4_If_Cycle_Counter_GTV_RVL_5: -/* 06D370 7F038840 92390001 */ lbu $t9, 1($s1) -/* 06D374 7F038844 922E0002 */ lbu $t6, 2($s1) -/* 06D378 7F038848 922A0003 */ lbu $t2, 3($s1) -/* 06D37C 7F03884C 00197C00 */ sll $t7, $t9, 0x10 -/* 06D380 7F038850 000E4A00 */ sll $t1, $t6, 8 -/* 06D384 7F038854 01E96825 */ or $t5, $t7, $t1 -/* 06D388 7F038858 01AA6025 */ or $t4, $t5, $t2 -/* 06D38C 7F03885C 448C2000 */ mtc1 $t4, $f4 -/* 06D390 7F038860 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06D394 7F038864 05810004 */ bgez $t4, .L7F038878 -/* 06D398 7F038868 468022A0 */ cvt.s.w $f10, $f4 -/* 06D39C 7F03886C 44813000 */ mtc1 $at, $f6 -/* 06D3A0 7F038870 00000000 */ nop -/* 06D3A4 7F038874 46065280 */ add.s $f10, $f10, $f6 -.L7F038878: -/* 06D3A8 7F038878 46165483 */ div.s $f18, $f10, $f22 -/* 06D3AC 7F03887C 02E02025 */ move $a0, $s7 -/* 06D3B0 7F038880 0FC0CCF6 */ jal get_loop_counter_time_in_seconds -/* 06D3B4 7F038884 E7B202A8 */ swc1 $f18, 0x2a8($sp) -/* 06D3B8 7F038888 C7B002A8 */ lwc1 $f16, 0x2a8($sp) -/* 06D3BC 7F03888C 02C02025 */ move $a0, $s6 -/* 06D3C0 7F038890 02402825 */ move $a1, $s2 -/* 06D3C4 7F038894 4600803C */ c.lt.s $f16, $f0 -/* 06D3C8 7F038898 00000000 */ nop -/* 06D3CC 7F03889C 45020007 */ bc1fl .L7F0388BC -/* 06D3D0 7F0388A0 26520005 */ addiu $s2, $s2, 5 -/* 06D3D4 7F0388A4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D3D8 7F0388A8 92260004 */ lbu $a2, 4($s1) -/* 06D3DC 7F0388AC 00409025 */ move $s2, $v0 -/* 06D3E0 7F0388B0 1000F336 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D3E4 7F0388B4 02C28821 */ addu $s1, $s6, $v0 -/* 06D3E8 7F0388B8 26520005 */ addiu $s2, $s2, 5 -.L7F0388BC: -/* 06D3EC 7F0388BC 1000F333 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D3F0 7F0388C0 26310005 */ addiu $s1, $s1, 5 -actionB5_Show_Timer_1: -/* 06D3F4 7F0388C4 24040001 */ li $a0, 1 -/* 06D3F8 7F0388C8 0FC15858 */ jal set_unset_clock_lock_bits -/* 06D3FC 7F0388CC 24050001 */ li $a1, 1 -/* 06D400 7F0388D0 26520001 */ addiu $s2, $s2, 1 -/* 06D404 7F0388D4 1000F32D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D408 7F0388D8 26310001 */ addiu $s1, $s1, 1 -actionB6_Hide_Timer_Silent_Countdown_1: -/* 06D40C 7F0388DC 24040001 */ li $a0, 1 -/* 06D410 7F0388E0 0FC15858 */ jal set_unset_clock_lock_bits -/* 06D414 7F0388E4 00002825 */ move $a1, $zero -/* 06D418 7F0388E8 26520001 */ addiu $s2, $s2, 1 -/* 06D41C 7F0388EC 1000F327 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D420 7F0388F0 26310001 */ addiu $s1, $s1, 1 -actionB7_Set_Timer_X_Seconds__Doesnt_Show_Timer_Yet_3: -/* 06D424 7F0388F4 922B0001 */ lbu $t3, 1($s1) -/* 06D428 7F0388F8 92390002 */ lbu $t9, 2($s1) -/* 06D42C 7F0388FC 000BC200 */ sll $t8, $t3, 8 -/* 06D430 7F038900 03197025 */ or $t6, $t8, $t9 -/* 06D434 7F038904 448E4000 */ mtc1 $t6, $f8 -/* 06D438 7F038908 00000000 */ nop -/* 06D43C 7F03890C 46804020 */ cvt.s.w $f0, $f8 -/* 06D440 7F038910 46160302 */ mul.s $f12, $f0, $f22 -/* 06D444 7F038914 0FC1586C */ jal set_clock_time -/* 06D448 7F038918 00000000 */ nop -/* 06D44C 7F03891C 26520003 */ addiu $s2, $s2, 3 -/* 06D450 7F038920 1000F31A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D454 7F038924 26310003 */ addiu $s1, $s1, 3 -actionB8_Stop_Timer_1: -/* 06D458 7F038928 0FC15872 */ jal set_clock_enable -/* 06D45C 7F03892C 00002025 */ move $a0, $zero -/* 06D460 7F038930 26520001 */ addiu $s2, $s2, 1 -/* 06D464 7F038934 1000F315 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D468 7F038938 26310001 */ addiu $s1, $s1, 1 -actionB9_Start_Timer_1: -/* 06D46C 7F03893C 0FC15872 */ jal set_clock_enable -/* 06D470 7F038940 24040001 */ li $a0, 1 -/* 06D474 7F038944 26520001 */ addiu $s2, $s2, 1 -/* 06D478 7F038948 1000F310 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D47C 7F03894C 26310001 */ addiu $s1, $s1, 1 -actionBA_Check_Timer_Enabled_Status_RVL_If_Enabled_2: -/* 06D480 7F038950 0FC15875 */ jal get_clock_enable -/* 06D484 7F038954 00000000 */ nop -/* 06D488 7F038958 14400007 */ bnez $v0, .L7F038978 -/* 06D48C 7F03895C 02C02025 */ move $a0, $s6 -/* 06D490 7F038960 02402825 */ move $a1, $s2 -/* 06D494 7F038964 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D498 7F038968 92260001 */ lbu $a2, 1($s1) -/* 06D49C 7F03896C 00409025 */ move $s2, $v0 -/* 06D4A0 7F038970 1000F306 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D4A4 7F038974 02C28821 */ addu $s1, $s6, $v0 -.L7F038978: -/* 06D4A8 7F038978 26520002 */ addiu $s2, $s2, 2 -/* 06D4AC 7F03897C 1000F303 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D4B0 7F038980 26310002 */ addiu $s1, $s1, 2 -actionBB_Detect_If_Timer_Below_Certain_Point_RVL_If_So_4: -/* 06D4B4 7F038984 922F0001 */ lbu $t7, 1($s1) -/* 06D4B8 7F038988 922D0002 */ lbu $t5, 2($s1) -/* 06D4BC 7F03898C 000F4A00 */ sll $t1, $t7, 8 -/* 06D4C0 7F038990 012D5025 */ or $t2, $t1, $t5 -/* 06D4C4 7F038994 448A2000 */ mtc1 $t2, $f4 -/* 06D4C8 7F038998 00000000 */ nop -/* 06D4CC 7F03899C 468021A0 */ cvt.s.w $f6, $f4 -/* 06D4D0 7F0389A0 0FC1586F */ jal get_clock_time -/* 06D4D4 7F0389A4 E7A60294 */ swc1 $f6, 0x294($sp) -/* 06D4D8 7F0389A8 C7AA0294 */ lwc1 $f10, 0x294($sp) -/* 06D4DC 7F0389AC 02C02025 */ move $a0, $s6 -/* 06D4E0 7F0389B0 02402825 */ move $a1, $s2 -/* 06D4E4 7F0389B4 46165482 */ mul.s $f18, $f10, $f22 -/* 06D4E8 7F0389B8 4612003C */ c.lt.s $f0, $f18 -/* 06D4EC 7F0389BC 00000000 */ nop -/* 06D4F0 7F0389C0 45020007 */ bc1fl .L7F0389E0 -/* 06D4F4 7F0389C4 26520004 */ addiu $s2, $s2, 4 -/* 06D4F8 7F0389C8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D4FC 7F0389CC 92260003 */ lbu $a2, 3($s1) -/* 06D500 7F0389D0 00409025 */ move $s2, $v0 -/* 06D504 7F0389D4 1000F2ED */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D508 7F0389D8 02C28821 */ addu $s1, $s6, $v0 -/* 06D50C 7F0389DC 26520004 */ addiu $s2, $s2, 4 -.L7F0389E0: -/* 06D510 7F0389E0 1000F2EA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D514 7F0389E4 26310004 */ addiu $s1, $s1, 4 -actionBC_Detect_If_Timer_Above_Certain_Point_RVL_If_So_4: -/* 06D518 7F0389E8 922C0001 */ lbu $t4, 1($s1) -/* 06D51C 7F0389EC 92380002 */ lbu $t8, 2($s1) -/* 06D520 7F0389F0 000C5A00 */ sll $t3, $t4, 8 -/* 06D524 7F0389F4 0178C825 */ or $t9, $t3, $t8 -/* 06D528 7F0389F8 44998000 */ mtc1 $t9, $f16 -/* 06D52C 7F0389FC 00000000 */ nop -/* 06D530 7F038A00 46808220 */ cvt.s.w $f8, $f16 -/* 06D534 7F038A04 0FC1586F */ jal get_clock_time -/* 06D538 7F038A08 E7A8028C */ swc1 $f8, 0x28c($sp) -/* 06D53C 7F038A0C C7A4028C */ lwc1 $f4, 0x28c($sp) -/* 06D540 7F038A10 02C02025 */ move $a0, $s6 -/* 06D544 7F038A14 02402825 */ move $a1, $s2 -/* 06D548 7F038A18 46162182 */ mul.s $f6, $f4, $f22 -/* 06D54C 7F038A1C 4600303C */ c.lt.s $f6, $f0 -/* 06D550 7F038A20 00000000 */ nop -/* 06D554 7F038A24 45020007 */ bc1fl .L7F038A44 -/* 06D558 7F038A28 26520004 */ addiu $s2, $s2, 4 -/* 06D55C 7F038A2C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D560 7F038A30 92260003 */ lbu $a2, 3($s1) -/* 06D564 7F038A34 00409025 */ move $s2, $v0 -/* 06D568 7F038A38 1000F2D4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D56C 7F038A3C 02C28821 */ addu $s1, $s6, $v0 -/* 06D570 7F038A40 26520004 */ addiu $s2, $s2, 4 -.L7F038A44: -/* 06D574 7F038A44 1000F2D1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D578 7F038A48 26310004 */ addiu $s1, $s1, 4 -actionBD_Spawn_Guard_C: -/* 06D57C 7F038A4C 922E0003 */ lbu $t6, 3($s1) -/* 06D580 7F038A50 92290004 */ lbu $t1, 4($s1) -/* 06D584 7F038A54 922A0007 */ lbu $t2, 7($s1) -/* 06D588 7F038A58 000E7A00 */ sll $t7, $t6, 8 -/* 06D58C 7F038A5C 922B0008 */ lbu $t3, 8($s1) -/* 06D590 7F038A60 01E98025 */ or $s0, $t7, $t1 -/* 06D594 7F038A64 922E0009 */ lbu $t6, 9($s1) -/* 06D598 7F038A68 320DFFFF */ andi $t5, $s0, 0xffff -/* 06D59C 7F038A6C 01A08025 */ move $s0, $t5 -/* 06D5A0 7F038A70 922D000A */ lbu $t5, 0xa($s1) -/* 06D5A4 7F038A74 000A6600 */ sll $t4, $t2, 0x18 -/* 06D5A8 7F038A78 000BC400 */ sll $t8, $t3, 0x10 -/* 06D5AC 7F038A7C 0198C825 */ or $t9, $t4, $t8 -/* 06D5B0 7F038A80 000E7A00 */ sll $t7, $t6, 8 -/* 06D5B4 7F038A84 032F4825 */ or $t1, $t9, $t7 -/* 06D5B8 7F038A88 012D5025 */ or $t2, $t1, $t5 -/* 06D5BC 7F038A8C AFAA0280 */ sw $t2, 0x280($sp) -/* 06D5C0 7F038A90 922B0005 */ lbu $t3, 5($s1) -/* 06D5C4 7F038A94 92380006 */ lbu $t8, 6($s1) -/* 06D5C8 7F038A98 000B6200 */ sll $t4, $t3, 8 -/* 06D5CC 7F038A9C 01981025 */ or $v0, $t4, $t8 -/* 06D5D0 7F038AA0 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06D5D4 7F038AA4 3044FFFF */ andi $a0, $v0, 0xffff -/* 06D5D8 7F038AA8 8FB90280 */ lw $t9, 0x280($sp) -/* 06D5DC 7F038AAC 92250001 */ lbu $a1, 1($s1) -/* 06D5E0 7F038AB0 82260002 */ lb $a2, 2($s1) -/* 06D5E4 7F038AB4 AFA20010 */ sw $v0, 0x10($sp) -/* 06D5E8 7F038AB8 02E02025 */ move $a0, $s7 -/* 06D5EC 7F038ABC 02003825 */ move $a3, $s0 -/* 06D5F0 7F038AC0 0FC0D096 */ jal guard_constructor_BD -/* 06D5F4 7F038AC4 AFB90014 */ sw $t9, 0x14($sp) -/* 06D5F8 7F038AC8 10400007 */ beqz $v0, .L7F038AE8 -/* 06D5FC 7F038ACC 02C02025 */ move $a0, $s6 -/* 06D600 7F038AD0 02402825 */ move $a1, $s2 -/* 06D604 7F038AD4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D608 7F038AD8 9226000B */ lbu $a2, 0xb($s1) -/* 06D60C 7F038ADC 00409025 */ move $s2, $v0 -/* 06D610 7F038AE0 1000F2AA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D614 7F038AE4 02C28821 */ addu $s1, $s6, $v0 -.L7F038AE8: -/* 06D618 7F038AE8 2652000C */ addiu $s2, $s2, 0xc -/* 06D61C 7F038AEC 1000F2A7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D620 7F038AF0 2631000C */ addiu $s1, $s1, 0xc -actionBE_Respawn_Guard_with_ID_B: -/* 06D624 7F038AF4 922F0006 */ lbu $t7, 6($s1) -/* 06D628 7F038AF8 922D0007 */ lbu $t5, 7($s1) -/* 06D62C 7F038AFC 922C0008 */ lbu $t4, 8($s1) -/* 06D630 7F038B00 000F4E00 */ sll $t1, $t7, 0x18 -/* 06D634 7F038B04 000D5400 */ sll $t2, $t5, 0x10 -/* 06D638 7F038B08 922F0004 */ lbu $t7, 4($s1) -/* 06D63C 7F038B0C 012A5825 */ or $t3, $t1, $t2 -/* 06D640 7F038B10 92290005 */ lbu $t1, 5($s1) -/* 06D644 7F038B14 92390009 */ lbu $t9, 9($s1) -/* 06D648 7F038B18 000CC200 */ sll $t8, $t4, 8 -/* 06D64C 7F038B1C 000F6A00 */ sll $t5, $t7, 8 -/* 06D650 7F038B20 01787025 */ or $t6, $t3, $t8 -/* 06D654 7F038B24 01A91025 */ or $v0, $t5, $t1 -/* 06D658 7F038B28 3044FFFF */ andi $a0, $v0, 0xffff -/* 06D65C 7F038B2C 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06D660 7F038B30 01D98025 */ or $s0, $t6, $t9 -/* 06D664 7F038B34 92250001 */ lbu $a1, 1($s1) -/* 06D668 7F038B38 82260002 */ lb $a2, 2($s1) -/* 06D66C 7F038B3C 92270003 */ lbu $a3, 3($s1) -/* 06D670 7F038B40 AFB00014 */ sw $s0, 0x14($sp) -/* 06D674 7F038B44 AFA20010 */ sw $v0, 0x10($sp) -/* 06D678 7F038B48 0FC0D0C2 */ jal guard_constructor_BE -/* 06D67C 7F038B4C 02E02025 */ move $a0, $s7 -/* 06D680 7F038B50 10400007 */ beqz $v0, .L7F038B70 -/* 06D684 7F038B54 02C02025 */ move $a0, $s6 -/* 06D688 7F038B58 02402825 */ move $a1, $s2 -/* 06D68C 7F038B5C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D690 7F038B60 9226000A */ lbu $a2, 0xa($s1) -/* 06D694 7F038B64 00409025 */ move $s2, $v0 -/* 06D698 7F038B68 1000F288 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D69C 7F038B6C 02C28821 */ addu $s1, $s6, $v0 -.L7F038B70: -/* 06D6A0 7F038B70 2652000B */ addiu $s2, $s2, 0xb -/* 06D6A4 7F038B74 1000F285 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D6A8 7F038B78 2631000B */ addiu $s1, $s1, 0xb -actionBF_Spawn_Weapon_9: -/* 06D6AC 7F038B7C 922C0004 */ lbu $t4, 4($s1) -/* 06D6B0 7F038B80 92380005 */ lbu $t8, 5($s1) -/* 06D6B4 7F038B84 922F0006 */ lbu $t7, 6($s1) -/* 06D6B8 7F038B88 000C5E00 */ sll $t3, $t4, 0x18 -/* 06D6BC 7F038B8C 922C0001 */ lbu $t4, 1($s1) -/* 06D6C0 7F038B90 00187400 */ sll $t6, $t8, 0x10 -/* 06D6C4 7F038B94 016EC825 */ or $t9, $t3, $t6 -/* 06D6C8 7F038B98 922A0007 */ lbu $t2, 7($s1) -/* 06D6CC 7F038B9C 922B0002 */ lbu $t3, 2($s1) -/* 06D6D0 7F038BA0 000F6A00 */ sll $t5, $t7, 8 -/* 06D6D4 7F038BA4 032D4825 */ or $t1, $t9, $t5 -/* 06D6D8 7F038BA8 000CC200 */ sll $t8, $t4, 8 -/* 06D6DC 7F038BAC 00001825 */ move $v1, $zero -/* 06D6E0 7F038BB0 012A8025 */ or $s0, $t1, $t2 -/* 06D6E4 7F038BB4 12E00027 */ beqz $s7, .L7F038C54 -/* 06D6E8 7F038BB8 030B9825 */ or $s3, $t8, $t3 -/* 06D6EC 7F038BBC 8EEE0018 */ lw $t6, 0x18($s7) -/* 06D6F0 7F038BC0 11C00024 */ beqz $t6, .L7F038C54 -/* 06D6F4 7F038BC4 00000000 */ nop -/* 06D6F8 7F038BC8 8EEF001C */ lw $t7, 0x1c($s7) -/* 06D6FC 7F038BCC 11E00021 */ beqz $t7, .L7F038C54 -/* 06D700 7F038BD0 00000000 */ nop -/* 06D704 7F038BD4 0FC249EF */ jal cheatCheckIfOn -/* 06D708 7F038BD8 2404001C */ li $a0, 28 -/* 06D70C 7F038BDC 50400018 */ beql $v0, $zero, .L7F038C40 -/* 06D710 7F038BE0 02E02025 */ move $a0, $s7 -/* 06D714 7F038BE4 92260003 */ lbu $a2, 3($s1) -/* 06D718 7F038BE8 24D9FFFE */ addiu $t9, $a2, -2 -/* 06D71C 7F038BEC 2F21001E */ sltiu $at, $t9, 0x1e -/* 06D720 7F038BF0 1020000C */ beqz $at, .L7F038C24 -/* 06D724 7F038BF4 0019C880 */ sll $t9, $t9, 2 -/* 06D728 7F038BF8 3C018005 */ lui $at, %hi(jpt_800528FC) -/* 06D72C 7F038BFC 00390821 */ addu $at, $at, $t9 -/* 06D730 7F038C00 8C3928FC */ lw $t9, %lo(jpt_800528FC)($at) -.L7F038C04: -/* 06D734 7F038C04 03200008 */ jr $t9 -/* 06D738 7F038C08 00000000 */ nop -loc_CODE_7F038C0C: -/* 06D73C 7F038C0C 02E02025 */ move $a0, $s7 -/* 06D740 7F038C10 240500D3 */ li $a1, 211 -/* 06D744 7F038C14 24060019 */ li $a2, 25 -/* 06D748 7F038C18 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D74C 7F038C1C 02003825 */ move $a3, $s0 -/* 06D750 7F038C20 92260003 */ lbu $a2, 3($s1) -.L7F038C24: -/* 06D754 7F038C24 02E02025 */ move $a0, $s7 -/* 06D758 7F038C28 02602825 */ move $a1, $s3 -/* 06D75C 7F038C2C 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D760 7F038C30 02003825 */ move $a3, $s0 -/* 06D764 7F038C34 10000007 */ b .L7F038C54 -/* 06D768 7F038C38 00401825 */ move $v1, $v0 -/* 06D76C 7F038C3C 02E02025 */ move $a0, $s7 -.L7F038C40: -/* 06D770 7F038C40 02602825 */ move $a1, $s3 -/* 06D774 7F038C44 92260003 */ lbu $a2, 3($s1) -/* 06D778 7F038C48 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D77C 7F038C4C 02003825 */ move $a3, $s0 -/* 06D780 7F038C50 00401825 */ move $v1, $v0 -.L7F038C54: -/* 06D784 7F038C54 10600007 */ beqz $v1, .L7F038C74 -/* 06D788 7F038C58 02C02025 */ move $a0, $s6 -/* 06D78C 7F038C5C 02402825 */ move $a1, $s2 -/* 06D790 7F038C60 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D794 7F038C64 92260008 */ lbu $a2, 8($s1) -/* 06D798 7F038C68 00409025 */ move $s2, $v0 -/* 06D79C 7F038C6C 1000F247 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D7A0 7F038C70 02C28821 */ addu $s1, $s6, $v0 -.L7F038C74: -/* 06D7A4 7F038C74 26520009 */ addiu $s2, $s2, 9 -/* 06D7A8 7F038C78 1000F244 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D7AC 7F038C7C 26310009 */ addiu $s1, $s1, 9 -actionC0_Spawn_Hat_8: -/* 06D7B0 7F038C80 922D0003 */ lbu $t5, 3($s1) -/* 06D7B4 7F038C84 922A0004 */ lbu $t2, 4($s1) -/* 06D7B8 7F038C88 922B0005 */ lbu $t3, 5($s1) -/* 06D7BC 7F038C8C 000D4E00 */ sll $t1, $t5, 0x18 -/* 06D7C0 7F038C90 922D0001 */ lbu $t5, 1($s1) -/* 06D7C4 7F038C94 000A6400 */ sll $t4, $t2, 0x10 -/* 06D7C8 7F038C98 012CC025 */ or $t8, $t1, $t4 -/* 06D7CC 7F038C9C 92390006 */ lbu $t9, 6($s1) -/* 06D7D0 7F038CA0 92290002 */ lbu $t1, 2($s1) -/* 06D7D4 7F038CA4 000B7200 */ sll $t6, $t3, 8 -/* 06D7D8 7F038CA8 030E7825 */ or $t7, $t8, $t6 -/* 06D7DC 7F038CAC 000D5200 */ sll $t2, $t5, 8 -/* 06D7E0 7F038CB0 00001825 */ move $v1, $zero -/* 06D7E4 7F038CB4 01F93025 */ or $a2, $t7, $t9 -/* 06D7E8 7F038CB8 12E0000A */ beqz $s7, .L7F038CE4 -/* 06D7EC 7F038CBC 01492825 */ or $a1, $t2, $t1 -/* 06D7F0 7F038CC0 8EEC0018 */ lw $t4, 0x18($s7) -/* 06D7F4 7F038CC4 11800007 */ beqz $t4, .L7F038CE4 -/* 06D7F8 7F038CC8 00000000 */ nop -/* 06D7FC 7F038CCC 8EEB001C */ lw $t3, 0x1c($s7) -/* 06D800 7F038CD0 11600004 */ beqz $t3, .L7F038CE4 -/* 06D804 7F038CD4 00000000 */ nop -/* 06D808 7F038CD8 0FC14430 */ jal sub_GAME_7F0510C0 -/* 06D80C 7F038CDC 02E02025 */ move $a0, $s7 -/* 06D810 7F038CE0 00401825 */ move $v1, $v0 -.L7F038CE4: -/* 06D814 7F038CE4 10600007 */ beqz $v1, .L7F038D04 -/* 06D818 7F038CE8 02C02025 */ move $a0, $s6 -/* 06D81C 7F038CEC 02402825 */ move $a1, $s2 -/* 06D820 7F038CF0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D824 7F038CF4 92260007 */ lbu $a2, 7($s1) -/* 06D828 7F038CF8 00409025 */ move $s2, $v0 -/* 06D82C 7F038CFC 1000F223 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D830 7F038D00 02C28821 */ addu $s1, $s6, $v0 -.L7F038D04: -/* 06D834 7F038D04 26520008 */ addiu $s2, $s2, 8 -/* 06D838 7F038D08 1000F220 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D83C 7F038D0C 26310008 */ addiu $s1, $s1, 8 -actionC1_GuardIDDoesAV_If_Gunfire_RVL_WhenComplete_5: -/* 06D840 7F038D10 92380002 */ lbu $t8, 2($s1) -/* 06D844 7F038D14 922F0003 */ lbu $t7, 3($s1) -/* 06D848 7F038D18 AFA0020C */ sw $zero, 0x20c($sp) -/* 06D84C 7F038D1C 00187200 */ sll $t6, $t8, 8 -/* 06D850 7F038D20 01CF1025 */ or $v0, $t6, $t7 -/* 06D854 7F038D24 3044FFFF */ andi $a0, $v0, 0xffff -/* 06D858 7F038D28 AFA00210 */ sw $zero, 0x210($sp) -/* 06D85C 7F038D2C AFA00234 */ sw $zero, 0x234($sp) -/* 06D860 7F038D30 00009825 */ move $s3, $zero -/* 06D864 7F038D34 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06D868 7F038D38 0000A025 */ move $s4, $zero -/* 06D86C 7F038D3C 00408025 */ move $s0, $v0 -/* 06D870 7F038D40 02E02025 */ move $a0, $s7 -/* 06D874 7F038D44 0FC0CC10 */ jal get_handle_for_guard_id -/* 06D878 7F038D48 92250001 */ lbu $a1, 1($s1) -/* 06D87C 7F038D4C 10400051 */ beqz $v0, .L7F038E94 -/* 06D880 7F038D50 0040A825 */ move $s5, $v0 -/* 06D884 7F038D54 8C4D0014 */ lw $t5, 0x14($v0) -/* 06D888 7F038D58 02E02025 */ move $a0, $s7 -/* 06D88C 7F038D5C 31AA0002 */ andi $t2, $t5, 2 -/* 06D890 7F038D60 5140004D */ beql $t2, $zero, .L7F038E98 -/* 06D894 7F038D64 8FA90234 */ lw $t1, 0x234($sp) -/* 06D898 7F038D68 8045000F */ lb $a1, 0xf($v0) -/* 06D89C 7F038D6C 84470000 */ lh $a3, ($v0) -/* 06D8A0 7F038D70 AFA00014 */ sw $zero, 0x14($sp) -/* 06D8A4 7F038D74 AFB00010 */ sw $s0, 0x10($sp) -/* 06D8A8 7F038D78 0FC0D0C2 */ jal guard_constructor_BE -/* 06D8AC 7F038D7C 2406FFFF */ li $a2, -1 -/* 06D8B0 7F038D80 50400045 */ beql $v0, $zero, .L7F038E98 -/* 06D8B4 7F038D84 8FA90234 */ lw $t1, 0x234($sp) -/* 06D8B8 7F038D88 8C490004 */ lw $t1, 4($v0) -/* 06D8BC 7F038D8C 02E02025 */ move $a0, $s7 -/* 06D8C0 7F038D90 AFA90218 */ sw $t1, 0x218($sp) -/* 06D8C4 7F038D94 86B00000 */ lh $s0, ($s5) -/* 06D8C8 7F038D98 26102710 */ addiu $s0, $s0, 0x2710 -/* 06D8CC 7F038D9C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06D8D0 7F038DA0 02002825 */ move $a1, $s0 -/* 06D8D4 7F038DA4 14400003 */ bnez $v0, .L7F038DB4 -/* 06D8D8 7F038DA8 02A02025 */ move $a0, $s5 -/* 06D8DC 7F038DAC 8FAC0218 */ lw $t4, 0x218($sp) -/* 06D8E0 7F038DB0 A5900000 */ sh $s0, ($t4) -.L7F038DB4: -/* 06D8E4 7F038DB4 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 06D8E8 7F038DB8 00002825 */ move $a1, $zero -/* 06D8EC 7F038DBC 5040000C */ beql $v0, $zero, .L7F038DF0 -/* 06D8F0 7F038DC0 02A02025 */ move $a0, $s5 -/* 06D8F4 7F038DC4 8C540004 */ lw $s4, 4($v0) -/* 06D8F8 7F038DC8 8FA40218 */ lw $a0, 0x218($sp) -/* 06D8FC 7F038DCC 00003825 */ move $a3, $zero -/* 06D900 7F038DD0 86850004 */ lh $a1, 4($s4) -/* 06D904 7F038DD4 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D908 7F038DD8 82860080 */ lb $a2, 0x80($s4) -/* 06D90C 7F038DDC 50400004 */ beql $v0, $zero, .L7F038DF0 -/* 06D910 7F038DE0 02A02025 */ move $a0, $s5 -/* 06D914 7F038DE4 8C4B0004 */ lw $t3, 4($v0) -/* 06D918 7F038DE8 AFAB020C */ sw $t3, 0x20c($sp) -/* 06D91C 7F038DEC 02A02025 */ move $a0, $s5 -.L7F038DF0: -/* 06D920 7F038DF0 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 06D924 7F038DF4 24050001 */ li $a1, 1 -/* 06D928 7F038DF8 1040000B */ beqz $v0, .L7F038E28 -/* 06D92C 7F038DFC 00000000 */ nop -/* 06D930 7F038E00 8C530004 */ lw $s3, 4($v0) -/* 06D934 7F038E04 8FA40218 */ lw $a0, 0x218($sp) -/* 06D938 7F038E08 3C071000 */ lui $a3, 0x1000 -/* 06D93C 7F038E0C 86650004 */ lh $a1, 4($s3) -/* 06D940 7F038E10 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D944 7F038E14 82660080 */ lb $a2, 0x80($s3) -/* 06D948 7F038E18 10400003 */ beqz $v0, .L7F038E28 -/* 06D94C 7F038E1C 00000000 */ nop -/* 06D950 7F038E20 8C580004 */ lw $t8, 4($v0) -/* 06D954 7F038E24 AFB80210 */ sw $t8, 0x210($sp) -.L7F038E28: -/* 06D958 7F038E28 52600011 */ beql $s3, $zero, .L7F038E70 -/* 06D95C 7F038E2C 8EA301D8 */ lw $v1, 0x1d8($s5) -/* 06D960 7F038E30 1280000E */ beqz $s4, .L7F038E6C -/* 06D964 7F038E34 8FAE0210 */ lw $t6, 0x210($sp) -/* 06D968 7F038E38 11C0000C */ beqz $t6, .L7F038E6C -/* 06D96C 7F038E3C 8FAF020C */ lw $t7, 0x20c($sp) -/* 06D970 7F038E40 51E0000B */ beql $t7, $zero, .L7F038E70 -/* 06D974 7F038E44 8EA301D8 */ lw $v1, 0x1d8($s5) -/* 06D978 7F038E48 8E790084 */ lw $t9, 0x84($s3) -/* 06D97C 7F038E4C 56990008 */ bnel $s4, $t9, .L7F038E70 -/* 06D980 7F038E50 8EA301D8 */ lw $v1, 0x1d8($s5) -/* 06D984 7F038E54 8E8D0084 */ lw $t5, 0x84($s4) -/* 06D988 7F038E58 01C02025 */ move $a0, $t6 -/* 06D98C 7F038E5C 566D0004 */ bnel $s3, $t5, .L7F038E70 -/* 06D990 7F038E60 8EA301D8 */ lw $v1, 0x1d8($s5) -/* 06D994 7F038E64 0FC1475D */ jal link_objects -/* 06D998 7F038E68 01E02825 */ move $a1, $t7 -.L7F038E6C: -/* 06D99C 7F038E6C 8EA301D8 */ lw $v1, 0x1d8($s5) -.L7F038E70: -/* 06D9A0 7F038E70 8FA40218 */ lw $a0, 0x218($sp) -/* 06D9A4 7F038E74 50600006 */ beql $v1, $zero, .L7F038E90 -/* 06D9A8 7F038E78 240A0001 */ li $t2, 1 -/* 06D9AC 7F038E7C 8C620004 */ lw $v0, 4($v1) -/* 06D9B0 7F038E80 00003025 */ move $a2, $zero -/* 06D9B4 7F038E84 0FC14430 */ jal sub_GAME_7F0510C0 -/* 06D9B8 7F038E88 84450004 */ lh $a1, 4($v0) -/* 06D9BC 7F038E8C 240A0001 */ li $t2, 1 -.L7F038E90: -/* 06D9C0 7F038E90 AFAA0234 */ sw $t2, 0x234($sp) -.L7F038E94: -/* 06D9C4 7F038E94 8FA90234 */ lw $t1, 0x234($sp) -.L7F038E98: -/* 06D9C8 7F038E98 02C02025 */ move $a0, $s6 -/* 06D9CC 7F038E9C 02402825 */ move $a1, $s2 -/* 06D9D0 7F038EA0 51200007 */ beql $t1, $zero, .L7F038EC0 -/* 06D9D4 7F038EA4 26520005 */ addiu $s2, $s2, 5 -/* 06D9D8 7F038EA8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D9DC 7F038EAC 92260004 */ lbu $a2, 4($s1) -/* 06D9E0 7F038EB0 00409025 */ move $s2, $v0 -/* 06D9E4 7F038EB4 1000F1B5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D9E8 7F038EB8 02C28821 */ addu $s1, $s6, $v0 -/* 06D9EC 7F038EBC 26520005 */ addiu $s2, $s2, 5 -.L7F038EC0: -/* 06D9F0 7F038EC0 1000F1B2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D9F4 7F038EC4 26310005 */ addiu $s1, $s1, 5 -actionC2_Display_Text_Preset_Bottom_Screen_3: -/* 06D9F8 7F038EC8 922C0001 */ lbu $t4, 1($s1) -/* 06D9FC 7F038ECC 92380002 */ lbu $t8, 2($s1) -/* 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 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 -/* 06DA1C 7F038EEC 26310003 */ addiu $s1, $s1, 3 -actionC3_Display_Text_Preset_Top_Screen_3: -/* 06DA20 7F038EF0 92390001 */ lbu $t9, 1($s1) -/* 06DA24 7F038EF4 922E0002 */ lbu $t6, 2($s1) -/* 06DA28 7F038EF8 00196A00 */ sll $t5, $t9, 8 -/* 06DA2C 7F038EFC 0FC30776 */ jal get_textptr_for_textID -/* 06DA30 7F038F00 01AE2025 */ or $a0, $t5, $t6 -/* 06DA34 7F038F04 0FC22A57 */ jal display_string_at_top_of_screen -/* 06DA38 7F038F08 00402025 */ move $a0, $v0 -/* 06DA3C 7F038F0C 26520003 */ addiu $s2, $s2, 3 -/* 06DA40 7F038F10 1000F19E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DA44 7F038F14 26310003 */ addiu $s1, $s1, 3 -actionC4_Play_Sound_Effect_num_In_Slot_num_0_7_4: -/* 06DA48 7F038F18 922F0001 */ lbu $t7, 1($s1) -/* 06DA4C 7F038F1C 92290002 */ lbu $t1, 2($s1) -/* 06DA50 7F038F20 82240003 */ lb $a0, 3($s1) -/* 06DA54 7F038F24 000F5200 */ sll $t2, $t7, 8 -/* 06DA58 7F038F28 01492825 */ or $a1, $t2, $t1 -/* 06DA5C 7F038F2C 00056400 */ sll $t4, $a1, 0x10 -/* 06DA60 7F038F30 0FC0D249 */ jal set_sound_effect_to_slot -/* 06DA64 7F038F34 000C2C03 */ sra $a1, $t4, 0x10 -/* 06DA68 7F038F38 26520004 */ addiu $s2, $s2, 4 -/* 06DA6C 7F038F3C 1000F193 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DA70 7F038F40 26310004 */ addiu $s1, $s1, 4 -actionC9_Shut_Off_Sound_In_Slot_Number_2: -/* 06DA74 7F038F44 0FC0D26F */ jal sub_GAME_7F0349BC -/* 06DA78 7F038F48 82240001 */ lb $a0, 1($s1) -/* 06DA7C 7F038F4C 26520002 */ addiu $s2, $s2, 2 -/* 06DA80 7F038F50 1000F18E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DA84 7F038F54 26310002 */ addiu $s1, $s1, 2 -actionC7_Sound_In_Slot_num_Crecendos_To_Volume_Over_ms_6: -/* 06DA88 7F038F58 92380002 */ lbu $t8, 2($s1) -/* 06DA8C 7F038F5C 922D0003 */ lbu $t5, 3($s1) -/* 06DA90 7F038F60 922A0004 */ lbu $t2, 4($s1) -/* 06DA94 7F038F64 922C0005 */ lbu $t4, 5($s1) -/* 06DA98 7F038F68 82230001 */ lb $v1, 1($s1) -/* 06DA9C 7F038F6C 0018CA00 */ sll $t9, $t8, 8 -/* 06DAA0 7F038F70 032D2025 */ or $a0, $t9, $t5 -/* 06DAA4 7F038F74 000A4A00 */ sll $t1, $t2, 8 -/* 06DAA8 7F038F78 00047400 */ sll $t6, $a0, 0x10 -/* 06DAAC 7F038F7C 012C2825 */ or $a1, $t1, $t4 -/* 06DAB0 7F038F80 000E2403 */ sra $a0, $t6, 0x10 -/* 06DAB4 7F038F84 0460001D */ bltz $v1, .L7F038FFC -/* 06DAB8 7F038F88 30ABFFFF */ andi $t3, $a1, 0xffff -/* 06DABC 7F038F8C 28610008 */ slti $at, $v1, 8 -/* 06DAC0 7F038F90 1020001A */ beqz $at, .L7F038FFC -/* 06DAC4 7F038F94 24070018 */ li $a3, 24 -/* 06DAC8 7F038F98 00670019 */ multu $v1, $a3 -/* 06DACC 7F038F9C 3C068007 */ lui $a2, %hi(sfx_related) -/* 06DAD0 7F038FA0 24C69B70 */ addiu $a2, %lo(sfx_related) # addiu $a2, $a2, -0x6490 -/* 06DAD4 7F038FA4 01601025 */ move $v0, $t3 -/* 06DAD8 7F038FA8 0000C012 */ mflo $t8 -/* 06DADC 7F038FAC 00D8C821 */ addu $t9, $a2, $t8 -/* 06DAE0 7F038FB0 AF2B0008 */ sw $t3, 8($t9) -/* 06DAE4 7F038FB4 822D0001 */ lb $t5, 1($s1) -/* 06DAE8 7F038FB8 01A70019 */ multu $t5, $a3 -/* 06DAEC 7F038FBC 00007012 */ mflo $t6 -/* 06DAF0 7F038FC0 00CE7821 */ addu $t7, $a2, $t6 -/* 06DAF4 7F038FC4 ADE4000C */ sw $a0, 0xc($t7) -/* 06DAF8 7F038FC8 822A0001 */ lb $t2, 1($s1) -/* 06DAFC 7F038FCC 01470019 */ multu $t2, $a3 -/* 06DB00 7F038FD0 00004812 */ mflo $t1 -/* 06DB04 7F038FD4 00C96021 */ addu $t4, $a2, $t1 -/* 06DB08 7F038FD8 AD800010 */ sw $zero, 0x10($t4) -/* 06DB0C 7F038FDC 822B0001 */ lb $t3, 1($s1) -/* 06DB10 7F038FE0 01670019 */ multu $t3, $a3 -/* 06DB14 7F038FE4 0000C012 */ mflo $t8 -/* 06DB18 7F038FE8 00D8C821 */ addu $t9, $a2, $t8 -/* 06DB1C 7F038FEC 14400003 */ bnez $v0, .L7F038FFC -/* 06DB20 7F038FF0 AF200014 */ sw $zero, 0x14($t9) -/* 06DB24 7F038FF4 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 06DB28 7F038FF8 82240001 */ lb $a0, 1($s1) -.L7F038FFC: -/* 06DB2C 7F038FFC 26520006 */ addiu $s2, $s2, 6 -/* 06DB30 7F039000 1000F162 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DB34 7F039004 26310006 */ addiu $s1, $s1, 6 -actionC8_Sound_In_Slot_num_Fades_To_Volume_Over_ms_6: -/* 06DB38 7F039008 922D0002 */ lbu $t5, 2($s1) -/* 06DB3C 7F03900C 922F0003 */ lbu $t7, 3($s1) -/* 06DB40 7F039010 92290004 */ lbu $t1, 4($s1) -/* 06DB44 7F039014 922B0005 */ lbu $t3, 5($s1) -/* 06DB48 7F039018 000D7200 */ sll $t6, $t5, 8 -/* 06DB4C 7F03901C 82230001 */ lb $v1, 1($s1) -/* 06DB50 7F039020 01CF5025 */ or $t2, $t6, $t7 -/* 06DB54 7F039024 448A5000 */ mtc1 $t2, $f10 -/* 06DB58 7F039028 00096200 */ sll $t4, $t1, 8 -/* 06DB5C 7F03902C 018B1025 */ or $v0, $t4, $t3 -/* 06DB60 7F039030 3058FFFF */ andi $t8, $v0, 0xffff -/* 06DB64 7F039034 04600020 */ bltz $v1, .L7F0390B8 -/* 06DB68 7F039038 46805320 */ cvt.s.w $f12, $f10 -/* 06DB6C 7F03903C 28610008 */ slti $at, $v1, 8 -/* 06DB70 7F039040 1020001D */ beqz $at, .L7F0390B8 -/* 06DB74 7F039044 0003C880 */ sll $t9, $v1, 2 -/* 06DB78 7F039048 0323C823 */ subu $t9, $t9, $v1 -/* 06DB7C 7F03904C 0019C8C0 */ sll $t9, $t9, 3 -/* 06DB80 7F039050 3C018007 */ lui $at, %hi(sfx_related+8) -/* 06DB84 7F039054 00390821 */ addu $at, $at, $t9 -/* 06DB88 7F039058 AC389B78 */ sw $t8, %lo(sfx_related+8)($at) -/* 06DB8C 7F03905C 0FC14E6E */ jal sub_GAME_7F0539B8 -/* 06DB90 7F039060 03008025 */ move $s0, $t8 -/* 06DB94 7F039064 822D0001 */ lb $t5, 1($s1) -/* 06DB98 7F039068 24040018 */ li $a0, 24 -/* 06DB9C 7F03906C 3C038007 */ lui $v1, %hi(sfx_related) -/* 06DBA0 7F039070 01A40019 */ multu $t5, $a0 -/* 06DBA4 7F039074 24639B70 */ addiu $v1, %lo(sfx_related) # addiu $v1, $v1, -0x6490 -/* 06DBA8 7F039078 00007012 */ mflo $t6 -/* 06DBAC 7F03907C 006E7821 */ addu $t7, $v1, $t6 -/* 06DBB0 7F039080 ADE2000C */ sw $v0, 0xc($t7) -/* 06DBB4 7F039084 822A0001 */ lb $t2, 1($s1) -/* 06DBB8 7F039088 01440019 */ multu $t2, $a0 -/* 06DBBC 7F03908C 00004812 */ mflo $t1 -/* 06DBC0 7F039090 00696021 */ addu $t4, $v1, $t1 -/* 06DBC4 7F039094 AD800010 */ sw $zero, 0x10($t4) -/* 06DBC8 7F039098 822B0001 */ lb $t3, 1($s1) -/* 06DBCC 7F03909C 01640019 */ multu $t3, $a0 -/* 06DBD0 7F0390A0 0000C012 */ mflo $t8 -/* 06DBD4 7F0390A4 0078C821 */ addu $t9, $v1, $t8 -/* 06DBD8 7F0390A8 16000003 */ bnez $s0, .L7F0390B8 -/* 06DBDC 7F0390AC AF200014 */ sw $zero, 0x14($t9) -/* 06DBE0 7F0390B0 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 06DBE4 7F0390B4 82240001 */ lb $a0, 1($s1) -.L7F0390B8: -/* 06DBE8 7F0390B8 26520006 */ addiu $s2, $s2, 6 -/* 06DBEC 7F0390BC 1000F133 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DBF0 7F0390C0 26310006 */ addiu $s1, $s1, 6 -actionC5_EmanateSoundSlotnumFrom16ObjectWithAudibleRV_5: -/* 06DBF4 7F0390C4 0FC15C30 */ jal get_handle_to_tagged_object -/* 06DBF8 7F0390C8 92240002 */ lbu $a0, 2($s1) -/* 06DBFC 7F0390CC 922D0003 */ lbu $t5, 3($s1) -/* 06DC00 7F0390D0 922F0004 */ lbu $t7, 4($s1) -/* 06DC04 7F0390D4 82230001 */ lb $v1, 1($s1) -/* 06DC08 7F0390D8 000D7200 */ sll $t6, $t5, 8 -/* 06DC0C 7F0390DC 01CF2825 */ or $a1, $t6, $t7 -/* 06DC10 7F0390E0 0460001C */ bltz $v1, .L7F039154 -/* 06DC14 7F0390E4 30AAFFFF */ andi $t2, $a1, 0xffff -/* 06DC18 7F0390E8 28610008 */ slti $at, $v1, 8 -/* 06DC1C 7F0390EC 5020001A */ beql $at, $zero, .L7F039158 -/* 06DC20 7F0390F0 26520005 */ addiu $s2, $s2, 5 -/* 06DC24 7F0390F4 10400017 */ beqz $v0, .L7F039154 -/* 06DC28 7F0390F8 00034880 */ sll $t1, $v1, 2 -/* 06DC2C 7F0390FC 01234823 */ subu $t1, $t1, $v1 -/* 06DC30 7F039100 000948C0 */ sll $t1, $t1, 3 -/* 06DC34 7F039104 3C018007 */ lui $at, %hi(sfx_related+8) -/* 06DC38 7F039108 00290821 */ addu $at, $at, $t1 -/* 06DC3C 7F03910C AC2A9B78 */ sw $t2, %lo(sfx_related+8)($at) -/* 06DC40 7F039110 822C0001 */ lb $t4, 1($s1) -/* 06DC44 7F039114 3C018007 */ lui $at, %hi(sfx_related+16) -/* 06DC48 7F039118 000C5880 */ sll $t3, $t4, 2 -/* 06DC4C 7F03911C 016C5823 */ subu $t3, $t3, $t4 -/* 06DC50 7F039120 000B58C0 */ sll $t3, $t3, 3 -/* 06DC54 7F039124 002B0821 */ addu $at, $at, $t3 -/* 06DC58 7F039128 AC209B80 */ sw $zero, %lo(sfx_related+16)($at) -/* 06DC5C 7F03912C 82380001 */ lb $t8, 1($s1) -/* 06DC60 7F039130 3C018007 */ lui $at, %hi(sfx_related+20) -/* 06DC64 7F039134 0018C880 */ sll $t9, $t8, 2 -/* 06DC68 7F039138 0338C823 */ subu $t9, $t9, $t8 -/* 06DC6C 7F03913C 0019C8C0 */ sll $t9, $t9, 3 -/* 06DC70 7F039140 00390821 */ addu $at, $at, $t9 -/* 06DC74 7F039144 15400003 */ bnez $t2, .L7F039154 -/* 06DC78 7F039148 AC229B84 */ sw $v0, %lo(sfx_related+20)($at) -/* 06DC7C 7F03914C 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 06DC80 7F039150 82240001 */ lb $a0, 1($s1) -.L7F039154: -/* 06DC84 7F039154 26520005 */ addiu $s2, $s2, 5 -.L7F039158: -/* 06DC88 7F039158 1000F10C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DC8C 7F03915C 26310005 */ addiu $s1, $s1, 5 -actionC6_EmanateSoundSlotnumFromPresetWithAudibleRV_6: -/* 06DC90 7F039160 922D0002 */ lbu $t5, 2($s1) -/* 06DC94 7F039164 922F0003 */ lbu $t7, 3($s1) -/* 06DC98 7F039168 92290004 */ lbu $t1, 4($s1) -/* 06DC9C 7F03916C 922B0005 */ lbu $t3, 5($s1) -/* 06DCA0 7F039170 000D7200 */ sll $t6, $t5, 8 -/* 06DCA4 7F039174 01CF1025 */ or $v0, $t6, $t7 -/* 06DCA8 7F039178 00096200 */ sll $t4, $t1, 8 -/* 06DCAC 7F03917C 304AFFFF */ andi $t2, $v0, 0xffff -/* 06DCB0 7F039180 018B2825 */ or $a1, $t4, $t3 -/* 06DCB4 7F039184 30B8FFFF */ andi $t8, $a1, 0xffff -/* 06DCB8 7F039188 29412710 */ slti $at, $t2, 0x2710 -/* 06DCBC 7F03918C 03002825 */ move $a1, $t8 -/* 06DCC0 7F039190 1020000A */ beqz $at, .L7F0391BC -/* 06DCC4 7F039194 01401825 */ move $v1, $t2 -/* 06DCC8 7F039198 000AC880 */ sll $t9, $t2, 2 -/* 06DCCC 7F03919C 032AC823 */ subu $t9, $t9, $t2 -/* 06DCD0 7F0391A0 0019C880 */ sll $t9, $t9, 2 -/* 06DCD4 7F0391A4 3C0D8007 */ lui $t5, %hi(ptr_0xxxpresets) -/* 06DCD8 7F0391A8 8DAD5D18 */ lw $t5, %lo(ptr_0xxxpresets)($t5) -/* 06DCDC 7F0391AC 032AC823 */ subu $t9, $t9, $t2 -/* 06DCE0 7F0391B0 0019C880 */ sll $t9, $t9, 2 -/* 06DCE4 7F0391B4 1000000A */ b .L7F0391E0 -/* 06DCE8 7F0391B8 032D2021 */ addu $a0, $t9, $t5 -.L7F0391BC: -/* 06DCEC 7F0391BC 3C0F8007 */ lui $t7, %hi(ptr_2xxxpresets) -/* 06DCF0 7F0391C0 8DEF5D1C */ lw $t7, %lo(ptr_2xxxpresets)($t7) -/* 06DCF4 7F0391C4 00037100 */ sll $t6, $v1, 4 -/* 06DCF8 7F0391C8 01C37021 */ addu $t6, $t6, $v1 -/* 06DCFC 7F0391CC 000E7080 */ sll $t6, $t6, 2 -/* 06DD00 7F0391D0 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06DD04 7F0391D4 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06DD08 7F0391D8 01CF2021 */ addu $a0, $t6, $t7 -/* 06DD0C 7F0391DC 00812021 */ addu $a0, $a0, $at -.L7F0391E0: -/* 06DD10 7F0391E0 82230001 */ lb $v1, 1($s1) -/* 06DD14 7F0391E4 0460001B */ bltz $v1, .L7F039254 -/* 06DD18 7F0391E8 28610008 */ slti $at, $v1, 8 -/* 06DD1C 7F0391EC 5020001A */ beql $at, $zero, .L7F039258 -/* 06DD20 7F0391F0 26520006 */ addiu $s2, $s2, 6 -/* 06DD24 7F0391F4 10800017 */ beqz $a0, .L7F039254 -/* 06DD28 7F0391F8 00035080 */ sll $t2, $v1, 2 -/* 06DD2C 7F0391FC 01435023 */ subu $t2, $t2, $v1 -/* 06DD30 7F039200 000A50C0 */ sll $t2, $t2, 3 -/* 06DD34 7F039204 3C018007 */ lui $at, %hi(sfx_related+8) -/* 06DD38 7F039208 002A0821 */ addu $at, $at, $t2 -/* 06DD3C 7F03920C AC259B78 */ sw $a1, %lo(sfx_related+8)($at) -/* 06DD40 7F039210 82290001 */ lb $t1, 1($s1) -/* 06DD44 7F039214 3C018007 */ lui $at, %hi(sfx_related+16) -/* 06DD48 7F039218 00096080 */ sll $t4, $t1, 2 -/* 06DD4C 7F03921C 01896023 */ subu $t4, $t4, $t1 -/* 06DD50 7F039220 000C60C0 */ sll $t4, $t4, 3 -/* 06DD54 7F039224 002C0821 */ addu $at, $at, $t4 -/* 06DD58 7F039228 AC249B80 */ sw $a0, %lo(sfx_related+16)($at) -/* 06DD5C 7F03922C 822B0001 */ lb $t3, 1($s1) -/* 06DD60 7F039230 3C018007 */ lui $at, %hi(sfx_related+20) -/* 06DD64 7F039234 000BC080 */ sll $t8, $t3, 2 -/* 06DD68 7F039238 030BC023 */ subu $t8, $t8, $t3 -/* 06DD6C 7F03923C 0018C0C0 */ sll $t8, $t8, 3 -/* 06DD70 7F039240 00380821 */ addu $at, $at, $t8 -/* 06DD74 7F039244 14A00003 */ bnez $a1, .L7F039254 -/* 06DD78 7F039248 AC209B84 */ sw $zero, %lo(sfx_related+20)($at) -/* 06DD7C 7F03924C 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 06DD80 7F039250 82240001 */ lb $a0, 1($s1) -.L7F039254: -/* 06DD84 7F039254 26520006 */ addiu $s2, $s2, 6 -.L7F039258: -/* 06DD88 7F039258 1000F0CC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DD8C 7F03925C 26310006 */ addiu $s1, $s1, 6 -actionCA_If_Value_GreaterThan_Volume_7FFF_Max_RVL_5: -/* 06DD90 7F039260 92390002 */ lbu $t9, 2($s1) -/* 06DD94 7F039264 922E0003 */ lbu $t6, 3($s1) -/* 06DD98 7F039268 82230001 */ lb $v1, 1($s1) -/* 06DD9C 7F03926C 00196A00 */ sll $t5, $t9, 8 -/* 06DDA0 7F039270 01AE1025 */ or $v0, $t5, $t6 -/* 06DDA4 7F039274 00027C00 */ sll $t7, $v0, 0x10 -/* 06DDA8 7F039278 04600013 */ bltz $v1, .L7F0392C8 -/* 06DDAC 7F03927C 000F5403 */ sra $t2, $t7, 0x10 -/* 06DDB0 7F039280 28610008 */ slti $at, $v1, 8 -/* 06DDB4 7F039284 10200010 */ beqz $at, .L7F0392C8 -/* 06DDB8 7F039288 00034880 */ sll $t1, $v1, 2 -/* 06DDBC 7F03928C 01234823 */ subu $t1, $t1, $v1 -/* 06DDC0 7F039290 000948C0 */ sll $t1, $t1, 3 -/* 06DDC4 7F039294 3C0C8007 */ lui $t4, %hi(sfx_related+4) -/* 06DDC8 7F039298 01896021 */ addu $t4, $t4, $t1 -/* 06DDCC 7F03929C 8D8C9B74 */ lw $t4, %lo(sfx_related+4)($t4) -/* 06DDD0 7F0392A0 02C02025 */ move $a0, $s6 -/* 06DDD4 7F0392A4 02402825 */ move $a1, $s2 -/* 06DDD8 7F0392A8 018A082A */ slt $at, $t4, $t2 -/* 06DDDC 7F0392AC 50200007 */ beql $at, $zero, .L7F0392CC -/* 06DDE0 7F0392B0 26520005 */ addiu $s2, $s2, 5 -/* 06DDE4 7F0392B4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06DDE8 7F0392B8 92260004 */ lbu $a2, 4($s1) -/* 06DDEC 7F0392BC 00409025 */ move $s2, $v0 -/* 06DDF0 7F0392C0 1000F0B2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DDF4 7F0392C4 02C28821 */ addu $s1, $s6, $v0 -.L7F0392C8: -/* 06DDF8 7F0392C8 26520005 */ addiu $s2, $s2, 5 -.L7F0392CC: -/* 06DDFC 7F0392CC 1000F0AF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DE00 7F0392D0 26310005 */ addiu $s1, $s1, 5 -actionCB_Set_Object_Path_27_Type_Object_2: -/* 06DE04 7F0392D4 0FC0D50D */ jal get_ptr_path_for_pathnum -/* 06DE08 7F0392D8 92240001 */ lbu $a0, 1($s1) -/* 06DE0C 7F0392DC 8FAB07B0 */ lw $t3, 0x7b0($sp) -/* 06DE10 7F0392E0 26520002 */ addiu $s2, $s2, 2 -/* 06DE14 7F0392E4 11600003 */ beqz $t3, .L7F0392F4 -/* 06DE18 7F0392E8 00000000 */ nop -/* 06DE1C 7F0392EC AD6200A4 */ sw $v0, 0xa4($t3) -/* 06DE20 7F0392F0 AD6000A8 */ sw $zero, 0xa8($t3) -.L7F0392F4: -/* 06DE24 7F0392F4 1000F0A5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DE28 7F0392F8 26310002 */ addiu $s1, $s1, 2 -actionCC_Set_Speed_Moving_Vehicle_27_Type_Object_5: -/* 06DE2C 7F0392FC 922F0001 */ lbu $t7, 1($s1) -/* 06DE30 7F039300 92290002 */ lbu $t1, 2($s1) -/* 06DE34 7F039304 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 06DE38 7F039308 000F5200 */ sll $t2, $t7, 8 -/* 06DE3C 7F03930C 01496025 */ or $t4, $t2, $t1 -/* 06DE40 7F039310 448C8000 */ mtc1 $t4, $f16 -/* 06DE44 7F039314 44812000 */ mtc1 $at, $f4 -/* 06DE48 7F039318 92380003 */ lbu $t8, 3($s1) -/* 06DE4C 7F03931C 46808220 */ cvt.s.w $f8, $f16 -/* 06DE50 7F039320 922D0004 */ lbu $t5, 4($s1) -/* 06DE54 7F039324 0018CA00 */ sll $t9, $t8, 8 -/* 06DE58 7F039328 8FAB07B0 */ lw $t3, 0x7b0($sp) -/* 06DE5C 7F03932C 3C014670 */ li $at, 0x46700000 # 15360.000000 -/* 06DE60 7F039330 032D7025 */ or $t6, $t9, $t5 -/* 06DE64 7F039334 46044182 */ mul.s $f6, $f8, $f4 -/* 06DE68 7F039338 448E9000 */ mtc1 $t6, $f18 -/* 06DE6C 7F03933C 44815000 */ mtc1 $at, $f10 -/* 06DE70 7F039340 26520005 */ addiu $s2, $s2, 5 -/* 06DE74 7F039344 46809020 */ cvt.s.w $f0, $f18 -/* 06DE78 7F039348 11600003 */ beqz $t3, .L7F039358 -/* 06DE7C 7F03934C 460A3083 */ div.s $f2, $f6, $f10 -/* 06DE80 7F039350 E5620094 */ swc1 $f2, 0x94($t3) -/* 06DE84 7F039354 E5600098 */ swc1 $f0, 0x98($t3) -.L7F039358: -/* 06DE88 7F039358 1000F08C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DE8C 7F03935C 26310005 */ addiu $s1, $s1, 5 -actionCD_Set_Speed_Aircraft_Rotor_5: -/* 06DE90 7F039360 922F0001 */ lbu $t7, 1($s1) -/* 06DE94 7F039364 92290002 */ lbu $t1, 2($s1) -/* 06DE98 7F039368 92380003 */ lbu $t8, 3($s1) -/* 06DE9C 7F03936C 000F5200 */ sll $t2, $t7, 8 -/* 06DEA0 7F039370 01496025 */ or $t4, $t2, $t1 -/* 06DEA4 7F039374 448C8000 */ mtc1 $t4, $f16 -/* 06DEA8 7F039378 922D0004 */ lbu $t5, 4($s1) -/* 06DEAC 7F03937C 0018CA00 */ sll $t9, $t8, 8 -/* 06DEB0 7F039380 46808220 */ cvt.s.w $f8, $f16 -/* 06DEB4 7F039384 8FAB07AC */ lw $t3, 0x7ac($sp) -/* 06DEB8 7F039388 3C014561 */ li $at, 0x45610000 # 3600.000000 -/* 06DEBC 7F03938C 032D7025 */ or $t6, $t9, $t5 -/* 06DEC0 7F039390 448E9000 */ mtc1 $t6, $f18 -/* 06DEC4 7F039394 44813000 */ mtc1 $at, $f6 -/* 06DEC8 7F039398 461A4102 */ mul.s $f4, $f8, $f26 -/* 06DECC 7F03939C 26520005 */ addiu $s2, $s2, 5 -/* 06DED0 7F0393A0 46809020 */ cvt.s.w $f0, $f18 -/* 06DED4 7F0393A4 11600003 */ beqz $t3, .L7F0393B4 -/* 06DED8 7F0393A8 46062083 */ div.s $f2, $f4, $f6 -/* 06DEDC 7F0393AC E5620090 */ swc1 $f2, 0x90($t3) -/* 06DEE0 7F0393B0 E5600094 */ swc1 $f0, 0x94($t3) -.L7F0393B4: -/* 06DEE4 7F0393B4 1000F075 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DEE8 7F0393B8 26310005 */ addiu $s1, $s1, 5 -actionCE_Detect_If_Currently_In_Intro_Camera_RVL_If_So_2: -/* 06DEEC 7F0393BC 0FC1E94A */ jal get_camera_mode -/* 06DEF0 7F0393C0 00000000 */ nop -/* 06DEF4 7F0393C4 24010001 */ li $at, 1 -/* 06DEF8 7F0393C8 50410006 */ beql $v0, $at, .L7F0393E4 -/* 06DEFC 7F0393CC 02C02025 */ move $a0, $s6 -/* 06DF00 7F0393D0 0FC1E94A */ jal get_camera_mode -/* 06DF04 7F0393D4 00000000 */ nop -/* 06DF08 7F0393D8 24010002 */ li $at, 2 -/* 06DF0C 7F0393DC 14410007 */ bne $v0, $at, .L7F0393FC -/* 06DF10 7F0393E0 02C02025 */ move $a0, $s6 -.L7F0393E4: -/* 06DF14 7F0393E4 02402825 */ move $a1, $s2 -/* 06DF18 7F0393E8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06DF1C 7F0393EC 92260001 */ lbu $a2, 1($s1) -/* 06DF20 7F0393F0 00409025 */ move $s2, $v0 -/* 06DF24 7F0393F4 1000F065 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DF28 7F0393F8 02C28821 */ addu $s1, $s6, $v0 -.L7F0393FC: -/* 06DF2C 7F0393FC 26520002 */ addiu $s2, $s2, 2 -/* 06DF30 7F039400 1000F062 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DF34 7F039404 26310002 */ addiu $s1, $s1, 2 -actionCF_Detect_If_Currently_In_Intro_Swirl_RVL_If_So_2: -/* 06DF38 7F039408 0FC1E94A */ jal get_camera_mode -/* 06DF3C 7F03940C 00000000 */ nop -/* 06DF40 7F039410 24010003 */ li $at, 3 -/* 06DF44 7F039414 14410007 */ bne $v0, $at, .L7F039434 -/* 06DF48 7F039418 02C02025 */ move $a0, $s6 -/* 06DF4C 7F03941C 02402825 */ move $a1, $s2 -/* 06DF50 7F039420 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06DF54 7F039424 92260001 */ lbu $a2, 1($s1) -/* 06DF58 7F039428 00409025 */ move $s2, $v0 -/* 06DF5C 7F03942C 1000F057 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DF60 7F039430 02C28821 */ addu $s1, $s6, $v0 -.L7F039434: -/* 06DF64 7F039434 26520002 */ addiu $s2, $s2, 2 -/* 06DF68 7F039438 1000F054 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DF6C 7F03943C 26310002 */ addiu $s1, $s1, 2 -actionD0_Change_Animation_Type_Of_Type_16_Monitor_4: -/* 06DF70 7F039440 0FC15C30 */ jal get_handle_to_tagged_object -/* 06DF74 7F039444 92240001 */ lbu $a0, 1($s1) -/* 06DF78 7F039448 1040001D */ beqz $v0, .L7F0394C0 -/* 06DF7C 7F03944C 00403025 */ move $a2, $v0 -/* 06DF80 7F039450 8C580010 */ lw $t8, 0x10($v0) -/* 06DF84 7F039454 5300001B */ beql $t8, $zero, .L7F0394C4 -/* 06DF88 7F039458 26520004 */ addiu $s2, $s2, 4 -/* 06DF8C 7F03945C 90430003 */ lbu $v1, 3($v0) -/* 06DF90 7F039460 2401000A */ li $at, 10 -/* 06DF94 7F039464 24440080 */ addiu $a0, $v0, 0x80 -/* 06DF98 7F039468 54610007 */ bnel $v1, $at, .L7F039488 -/* 06DF9C 7F03946C 2401000B */ li $at, 11 -/* 06DFA0 7F039470 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 06DFA4 7F039474 92250003 */ lbu $a1, 3($s1) -/* 06DFA8 7F039478 26520004 */ addiu $s2, $s2, 4 -/* 06DFAC 7F03947C 1000F043 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DFB0 7F039480 26310004 */ addiu $s1, $s1, 4 -/* 06DFB4 7F039484 2401000B */ li $at, 11 -.L7F039488: -/* 06DFB8 7F039488 5461000E */ bnel $v1, $at, .L7F0394C4 -/* 06DFBC 7F03948C 26520004 */ addiu $s2, $s2, 4 -/* 06DFC0 7F039490 92220002 */ lbu $v0, 2($s1) -/* 06DFC4 7F039494 28410004 */ slti $at, $v0, 4 -/* 06DFC8 7F039498 10200009 */ beqz $at, .L7F0394C0 -/* 06DFCC 7F03949C 0002C8C0 */ sll $t9, $v0, 3 -/* 06DFD0 7F0394A0 0322C823 */ subu $t9, $t9, $v0 -/* 06DFD4 7F0394A4 0019C880 */ sll $t9, $t9, 2 -/* 06DFD8 7F0394A8 0322C821 */ addu $t9, $t9, $v0 -/* 06DFDC 7F0394AC 0019C880 */ sll $t9, $t9, 2 -/* 06DFE0 7F0394B0 00D92021 */ addu $a0, $a2, $t9 -/* 06DFE4 7F0394B4 24840080 */ addiu $a0, $a0, 0x80 -/* 06DFE8 7F0394B8 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 06DFEC 7F0394BC 92250003 */ lbu $a1, 3($s1) -.L7F0394C0: -/* 06DFF0 7F0394C0 26520004 */ addiu $s2, $s2, 4 -.L7F0394C4: -/* 06DFF4 7F0394C4 1000F031 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DFF8 7F0394C8 26310004 */ addiu $s1, $s1, 4 -actionD1_If_Bond_In_Tank_RVL_2: -/* 06DFFC 7F0394CC 0FC1F39E */ jal get_intank_flag -/* 06E000 7F0394D0 00000000 */ nop -/* 06E004 7F0394D4 24010001 */ li $at, 1 -/* 06E008 7F0394D8 14410007 */ bne $v0, $at, .L7F0394F8 -/* 06E00C 7F0394DC 02C02025 */ move $a0, $s6 -/* 06E010 7F0394E0 02402825 */ move $a1, $s2 -/* 06E014 7F0394E4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E018 7F0394E8 92260001 */ lbu $a2, 1($s1) -/* 06E01C 7F0394EC 00409025 */ move $s2, $v0 -/* 06E020 7F0394F0 1000F026 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E024 7F0394F4 02C28821 */ addu $s1, $s6, $v0 -.L7F0394F8: -/* 06E028 7F0394F8 26520002 */ addiu $s2, $s2, 2 -/* 06E02C 7F0394FC 1000F023 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E030 7F039500 26310002 */ addiu $s1, $s1, 2 -actionD2_Exit_Level_1: -/* 06E034 7F039504 3C0D8003 */ lui $t5, %hi(camera_8003642C) -/* 06E038 7F039508 8DAD642C */ lw $t5, %lo(camera_8003642C)($t5) -/* 06E03C 7F03950C 3C0E8003 */ lui $t6, %hi(camera_80036434) -/* 06E040 7F039510 11A0000A */ beqz $t5, .L7F03953C -/* 06E044 7F039514 00000000 */ nop -/* 06E048 7F039518 8DCE6434 */ lw $t6, %lo(camera_80036434)($t6) -/* 06E04C 7F03951C 240F0001 */ li $t7, 1 -/* 06E050 7F039520 3C018003 */ lui $at, %hi(camera_80036434) -/* 06E054 7F039524 55C00008 */ bnezl $t6, .L7F039548 -/* 06E058 7F039528 26520001 */ addiu $s2, $s2, 1 -/* 06E05C 7F03952C AC2F6434 */ sw $t7, %lo(camera_80036434)($at) -/* 06E060 7F039530 26520001 */ addiu $s2, $s2, 1 -/* 06E064 7F039534 1000F015 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E068 7F039538 26310001 */ addiu $s1, $s1, 1 -.L7F03953C: -/* 06E06C 7F03953C 0C001A5A */ jal return_to_title_from_level_end -/* 06E070 7F039540 00000000 */ nop -/* 06E074 7F039544 26520001 */ addiu $s2, $s2, 1 -.L7F039548: -/* 06E078 7F039548 1000F010 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E07C 7F03954C 26310001 */ addiu $s1, $s1, 1 -actionD3_Return_From_Camera_Scene_1: -/* 06E080 7F039550 0FC1EA6E */ jal set_camera_mode -/* 06E084 7F039554 24040008 */ li $a0, 8 -/* 06E088 7F039558 26520001 */ addiu $s2, $s2, 1 -/* 06E08C 7F03955C 1000F00B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E090 7F039560 26310001 */ addiu $s1, $s1, 1 -actionD4_Camera_Looks_At_Bond_From_Preset_3: -/* 06E094 7F039564 922A0001 */ lbu $t2, 1($s1) -/* 06E098 7F039568 922C0002 */ lbu $t4, 2($s1) -/* 06E09C 7F03956C 3C0F8007 */ lui $t7, %hi(ptr_2xxxpresets) -/* 06E0A0 7F039570 000A4A00 */ sll $t1, $t2, 8 -/* 06E0A4 7F039574 012C1025 */ or $v0, $t1, $t4 -/* 06E0A8 7F039578 304BFFFF */ andi $t3, $v0, 0xffff -/* 06E0AC 7F03957C 29612710 */ slti $at, $t3, 0x2710 -/* 06E0B0 7F039580 1020000C */ beqz $at, .L7F0395B4 -/* 06E0B4 7F039584 01601825 */ move $v1, $t3 -/* 06E0B8 7F039588 000BC080 */ sll $t8, $t3, 2 -/* 06E0BC 7F03958C 030BC023 */ subu $t8, $t8, $t3 -/* 06E0C0 7F039590 3C198007 */ lui $t9, %hi(ptr_0xxxpresets) -/* 06E0C4 7F039594 8F395D18 */ lw $t9, %lo(ptr_0xxxpresets)($t9) -/* 06E0C8 7F039598 0018C080 */ sll $t8, $t8, 2 -/* 06E0CC 7F03959C 030BC023 */ subu $t8, $t8, $t3 -/* 06E0D0 7F0395A0 0018C080 */ sll $t8, $t8, 2 -/* 06E0D4 7F0395A4 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F8) -/* 06E0D8 7F0395A8 03196821 */ addu $t5, $t8, $t9 -/* 06E0DC 7F0395AC 1000000B */ b .L7F0395DC -/* 06E0E0 7F0395B0 AC2D99F8 */ sw $t5, %lo(dword_CODE_bss_800799F8)($at) -.L7F0395B4: -/* 06E0E4 7F0395B4 8DEF5D1C */ lw $t7, %lo(ptr_2xxxpresets)($t7) -/* 06E0E8 7F0395B8 00037100 */ sll $t6, $v1, 4 -/* 06E0EC 7F0395BC 01C37021 */ addu $t6, $t6, $v1 -/* 06E0F0 7F0395C0 000E7080 */ sll $t6, $t6, 2 -/* 06E0F4 7F0395C4 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06E0F8 7F0395C8 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06E0FC 7F0395CC 01CF5021 */ addu $t2, $t6, $t7 -/* 06E100 7F0395D0 01414821 */ addu $t1, $t2, $at -/* 06E104 7F0395D4 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F8) -/* 06E108 7F0395D8 AC2999F8 */ sw $t1, %lo(dword_CODE_bss_800799F8)($at) -.L7F0395DC: -/* 06E10C 7F0395DC 0FC1EA6E */ jal set_camera_mode -/* 06E110 7F0395E0 24040007 */ li $a0, 7 -/* 06E114 7F0395E4 26520003 */ addiu $s2, $s2, 3 -/* 06E118 7F0395E8 1000EFE8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E11C 7F0395EC 26310003 */ addiu $s1, $s1, 3 -actionD5_Go_To_Camera_Position_6: -/* 06E120 7F0395F0 0FC15C20 */ jal sub_GAME_7F057080 -/* 06E124 7F0395F4 92240001 */ lbu $a0, 1($s1) -/* 06E128 7F0395F8 1040001A */ beqz $v0, .L7F039664 -/* 06E12C 7F0395FC 00408025 */ move $s0, $v0 -/* 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 -/* 06E140 7F039610 860C0006 */ lh $t4, 6($s0) -/* 06E144 7F039614 0FC15AA2 */ jal sub_GAME_7F056A88 -/* 06E148 7F039618 01822021 */ addu $a0, $t4, $v0 -/* 06E14C 7F03961C 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F8) -/* 06E150 7F039620 AC2099F8 */ sw $zero, %lo(dword_CODE_bss_800799F8)($at) -/* 06E154 7F039624 3C018008 */ lui $at, %hi(dword_CODE_bss_800799FC) -/* 06E158 7F039628 AC2299FC */ sw $v0, %lo(dword_CODE_bss_800799FC)($at) -/* 06E15C 7F03962C 922B0002 */ lbu $t3, 2($s1) -/* 06E160 7F039630 92390003 */ lbu $t9, 3($s1) -/* 06E164 7F039634 3C018008 */ lui $at, %hi(dword_CODE_bss_80079A18) -/* 06E168 7F039638 000BC200 */ sll $t8, $t3, 8 -/* 06E16C 7F03963C 03196825 */ or $t5, $t8, $t9 -/* 06E170 7F039640 AC2D9A18 */ sw $t5, %lo(dword_CODE_bss_80079A18)($at) -/* 06E174 7F039644 922E0004 */ lbu $t6, 4($s1) -/* 06E178 7F039648 922A0005 */ lbu $t2, 5($s1) -/* 06E17C 7F03964C 3C018008 */ lui $at, %hi(dword_CODE_bss_80079A1C) -/* 06E180 7F039650 000E7A00 */ sll $t7, $t6, 8 -/* 06E184 7F039654 01EA4825 */ or $t1, $t7, $t2 -/* 06E188 7F039658 AC299A1C */ sw $t1, %lo(dword_CODE_bss_80079A1C)($at) -/* 06E18C 7F03965C 0FC1EA6E */ jal set_camera_mode -/* 06E190 7F039660 24040007 */ li $a0, 7 -.L7F039664: -/* 06E194 7F039664 26520006 */ addiu $s2, $s2, 6 -.L7F039668: -/* 06E198 7F039668 1000EFC8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E19C 7F03966C 26310006 */ addiu $s1, $s1, 6 -actionD6_If_Less_Than_Elevation_RVL_4: -/* 06E1A0 7F039670 922C0001 */ lbu $t4, 1($s1) -/* 06E1A4 7F039674 92380002 */ lbu $t8, 2($s1) -/* 06E1A8 7F039678 000C5A00 */ sll $t3, $t4, 8 -/* 06E1AC 7F03967C 0178C825 */ or $t9, $t3, $t8 -/* 06E1B0 7F039680 00196C00 */ sll $t5, $t9, 0x10 -/* 06E1B4 7F039684 000D7403 */ sra $t6, $t5, 0x10 -/* 06E1B8 7F039688 448E5000 */ mtc1 $t6, $f10 -/* 06E1BC 7F03968C 00000000 */ nop -/* 06E1C0 7F039690 468054A0 */ cvt.s.w $f18, $f10 -/* 06E1C4 7F039694 0FC225E6 */ jal get_curplayer_positiondata -/* 06E1C8 7F039698 E7B2014C */ swc1 $f18, 0x14c($sp) -/* 06E1CC 7F03969C C450000C */ lwc1 $f16, 0xc($v0) -/* 06E1D0 7F0396A0 C7A8014C */ lwc1 $f8, 0x14c($sp) -/* 06E1D4 7F0396A4 02C02025 */ move $a0, $s6 -/* 06E1D8 7F0396A8 02402825 */ move $a1, $s2 -/* 06E1DC 7F0396AC 4608803C */ c.lt.s $f16, $f8 -/* 06E1E0 7F0396B0 00000000 */ nop -/* 06E1E4 7F0396B4 45020007 */ bc1fl .L7F0396D4 -/* 06E1E8 7F0396B8 26520004 */ addiu $s2, $s2, 4 -/* 06E1EC 7F0396BC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E1F0 7F0396C0 92260003 */ lbu $a2, 3($s1) -/* 06E1F4 7F0396C4 00409025 */ move $s2, $v0 -/* 06E1F8 7F0396C8 1000EFB0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E1FC 7F0396CC 02C28821 */ addu $s1, $s6, $v0 -/* 06E200 7F0396D0 26520004 */ addiu $s2, $s2, 4 -.L7F0396D4: -/* 06E204 7F0396D4 1000EFAD */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E208 7F0396D8 26310004 */ addiu $s1, $s1, 4 -actionD7_Disable_Text_Variable_2: -/* 06E20C 7F0396DC 24040004 */ li $a0, 4 -/* 06E210 7F0396E0 0FC1A96A */ jal set_unset_bitflags -/* 06E214 7F0396E4 00002825 */ move $a1, $zero -/* 06E218 7F0396E8 24040002 */ li $a0, 2 -/* 06E21C 7F0396EC 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 06E220 7F0396F0 00002825 */ move $a1, $zero -/* 06E224 7F0396F4 92250001 */ lbu $a1, 1($s1) -/* 06E228 7F0396F8 30AF0002 */ andi $t7, $a1, 2 -/* 06E22C 7F0396FC 55E00005 */ bnezl $t7, .L7F039714 -/* 06E230 7F039700 30AA0001 */ andi $t2, $a1, 1 -/* 06E234 7F039704 0FC228E7 */ jal set_flags_in_BONDdata_stationary_intro_cam -/* 06E238 7F039708 24040002 */ li $a0, 2 -/* 06E23C 7F03970C 92250001 */ lbu $a1, 1($s1) -/* 06E240 7F039710 30AA0001 */ andi $t2, $a1, 1 -.L7F039714: -/* 06E244 7F039714 55400005 */ bnezl $t2, .L7F03972C -/* 06E248 7F039718 30A90004 */ andi $t1, $a1, 4 -/* 06E24C 7F03971C 0FC22A51 */ jal sub_GAME_7F08A944 -/* 06E250 7F039720 24040002 */ li $a0, 2 -/* 06E254 7F039724 92250001 */ lbu $a1, 1($s1) -/* 06E258 7F039728 30A90004 */ andi $t1, $a1, 4 -.L7F03972C: -/* 06E25C 7F03972C 15200003 */ bnez $t1, .L7F03973C -/* 06E260 7F039730 24040010 */ li $a0, 16 -/* 06E264 7F039734 0FC15858 */ jal set_unset_clock_lock_bits -/* 06E268 7F039738 00002825 */ move $a1, $zero -.L7F03973C: -/* 06E26C 7F03973C 3C018003 */ lui $at, %hi(D_800364B0) -/* 06E270 7F039740 AC2064B0 */ sw $zero, %lo(D_800364B0)($at) -/* 06E274 7F039744 26520002 */ addiu $s2, $s2, 2 -/* 06E278 7F039748 1000EF90 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E27C 7F03974C 26310002 */ addiu $s1, $s1, 2 -actionD8_Enable_All_On_Screen_Displays_1: -/* 06E280 7F039750 24040004 */ li $a0, 4 -/* 06E284 7F039754 0FC1A96A */ jal set_unset_bitflags -/* 06E288 7F039758 24050001 */ li $a1, 1 -/* 06E28C 7F03975C 24040002 */ li $a0, 2 -/* 06E290 7F039760 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 06E294 7F039764 24050001 */ li $a1, 1 -/* 06E298 7F039768 0FC228E0 */ jal unset_flags_in_BONDdata_stationary_intro_cam -/* 06E29C 7F03976C 24040002 */ li $a0, 2 -/* 06E2A0 7F039770 0FC22A4A */ jal sub_GAME_7F08A928 -/* 06E2A4 7F039774 24040002 */ li $a0, 2 -/* 06E2A8 7F039778 24040010 */ li $a0, 16 -/* 06E2AC 7F03977C 0FC15858 */ jal set_unset_clock_lock_bits -/* 06E2B0 7F039780 24050001 */ li $a1, 1 -/* 06E2B4 7F039784 240C0001 */ li $t4, 1 -/* 06E2B8 7F039788 3C018003 */ lui $at, %hi(D_800364B0) -/* 06E2BC 7F03978C AC2C64B0 */ sw $t4, %lo(D_800364B0)($at) -/* 06E2C0 7F039790 26520001 */ addiu $s2, $s2, 1 -/* 06E2C4 7F039794 1000EF7D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E2C8 7F039798 26310001 */ addiu $s1, $s1, 1 -actionD9_GuardIDMovedToPresetReturnLoopIfSuccessful_5: -/* 06E2CC 7F03979C 922B0002 */ lbu $t3, 2($s1) -/* 06E2D0 7F0397A0 92390003 */ lbu $t9, 3($s1) -/* 06E2D4 7F0397A4 02E02025 */ move $a0, $s7 -/* 06E2D8 7F0397A8 000BC200 */ sll $t8, $t3, 8 -/* 06E2DC 7F0397AC 92250001 */ lbu $a1, 1($s1) -/* 06E2E0 7F0397B0 0000A025 */ move $s4, $zero -/* 06E2E4 7F0397B4 0FC0CC10 */ jal get_handle_for_guard_id -/* 06E2E8 7F0397B8 03199825 */ or $s3, $t8, $t9 -/* 06E2EC 7F0397BC 1040005E */ beqz $v0, .L7F039938 -/* 06E2F0 7F0397C0 00408025 */ move $s0, $v0 -/* 06E2F4 7F0397C4 02E02025 */ move $a0, $s7 -/* 06E2F8 7F0397C8 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 06E2FC 7F0397CC 02602825 */ move $a1, $s3 -/* 06E300 7F0397D0 28412710 */ slti $at, $v0, 0x2710 -/* 06E304 7F0397D4 1020000A */ beqz $at, .L7F039800 -/* 06E308 7F0397D8 00027900 */ sll $t7, $v0, 4 -/* 06E30C 7F0397DC 00026880 */ sll $t5, $v0, 2 -/* 06E310 7F0397E0 01A26823 */ subu $t5, $t5, $v0 -/* 06E314 7F0397E4 000D6880 */ sll $t5, $t5, 2 -/* 06E318 7F0397E8 3C0E8007 */ lui $t6, %hi(ptr_0xxxpresets) -/* 06E31C 7F0397EC 8DCE5D18 */ lw $t6, %lo(ptr_0xxxpresets)($t6) -/* 06E320 7F0397F0 01A26823 */ subu $t5, $t5, $v0 -/* 06E324 7F0397F4 000D6880 */ sll $t5, $t5, 2 -/* 06E328 7F0397F8 10000009 */ b .L7F039820 -/* 06E32C 7F0397FC 01AE1821 */ addu $v1, $t5, $t6 -.L7F039800: -/* 06E330 7F039800 3C0A8007 */ lui $t2, %hi(ptr_2xxxpresets) -/* 06E334 7F039804 8D4A5D1C */ lw $t2, %lo(ptr_2xxxpresets)($t2) -/* 06E338 7F039808 01E27821 */ addu $t7, $t7, $v0 -/* 06E33C 7F03980C 000F7880 */ sll $t7, $t7, 2 -/* 06E340 7F039810 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06E344 7F039814 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06E348 7F039818 01EA1821 */ addu $v1, $t7, $t2 -/* 06E34C 7F03981C 00611821 */ addu $v1, $v1, $at -.L7F039820: -/* 06E350 7F039820 C46C0018 */ lwc1 $f12, 0x18($v1) -/* 06E354 7F039824 C46E0020 */ lwc1 $f14, 0x20($v1) -/* 06E358 7F039828 0FC16A8C */ jal convert_angle_using_inverse -/* 06E35C 7F03982C AFA30134 */ sw $v1, 0x134($sp) -/* 06E360 7F039830 8FA30134 */ lw $v1, 0x134($sp) -/* 06E364 7F039834 E7A00130 */ swc1 $f0, 0x130($sp) -/* 06E368 7F039838 00002825 */ move $a1, $zero -/* 06E36C 7F03983C C4640000 */ lwc1 $f4, ($v1) -/* 06E370 7F039840 E7A40124 */ swc1 $f4, 0x124($sp) -/* 06E374 7F039844 C4660004 */ lwc1 $f6, 4($v1) -/* 06E378 7F039848 E7A60128 */ swc1 $f6, 0x128($sp) -/* 06E37C 7F03984C C46A0008 */ lwc1 $f10, 8($v1) -/* 06E380 7F039850 E7AA012C */ swc1 $f10, 0x12c($sp) -/* 06E384 7F039854 8C690028 */ lw $t1, 0x28($v1) -/* 06E388 7F039858 AFA90120 */ sw $t1, 0x120($sp) -/* 06E38C 7F03985C 0FC0F416 */ jal sub_GAME_7F03D058 -/* 06E390 7F039860 8E040018 */ lw $a0, 0x18($s0) -/* 06E394 7F039864 27A40124 */ addiu $a0, $sp, 0x124 -/* 06E398 7F039868 27A50120 */ addiu $a1, $sp, 0x120 -/* 06E39C 7F03986C 8FA60130 */ lw $a2, 0x130($sp) -/* 06E3A0 7F039870 0FC0CFD2 */ jal sub_GAME_7F033F48 -/* 06E3A4 7F039874 24070001 */ li $a3, 1 -/* 06E3A8 7F039878 1040002C */ beqz $v0, .L7F03992C -/* 06E3AC 7F03987C C7B20124 */ lwc1 $f18, 0x124($sp) -/* 06E3B0 7F039880 8E0C0018 */ lw $t4, 0x18($s0) -/* 06E3B4 7F039884 E5920008 */ swc1 $f18, 8($t4) -/* 06E3B8 7F039888 8E0B0018 */ lw $t3, 0x18($s0) -/* 06E3BC 7F03988C C7B00128 */ lwc1 $f16, 0x128($sp) -/* 06E3C0 7F039890 E570000C */ swc1 $f16, 0xc($t3) -/* 06E3C4 7F039894 8E180018 */ lw $t8, 0x18($s0) -/* 06E3C8 7F039898 C7A8012C */ lwc1 $f8, 0x12c($sp) -/* 06E3CC 7F03989C E7080010 */ swc1 $f8, 0x10($t8) -/* 06E3D0 7F0398A0 8E0D0018 */ lw $t5, 0x18($s0) -/* 06E3D4 7F0398A4 8FB90120 */ lw $t9, 0x120($sp) -/* 06E3D8 7F0398A8 ADB90014 */ sw $t9, 0x14($t5) -/* 06E3DC 7F0398AC 8E0E0014 */ lw $t6, 0x14($s0) -/* 06E3E0 7F0398B0 8E04001C */ lw $a0, 0x1c($s0) -/* 06E3E4 7F0398B4 35CF0001 */ ori $t7, $t6, 1 -/* 06E3E8 7F0398B8 AE0F0014 */ sw $t7, 0x14($s0) -/* 06E3EC 7F0398BC 0FC1B34F */ jal setsubroty -/* 06E3F0 7F0398C0 8FA50130 */ lw $a1, 0x130($sp) -/* 06E3F4 7F0398C4 8E04001C */ lw $a0, 0x1c($s0) -/* 06E3F8 7F0398C8 0FC1B303 */ jal setsuboffset -/* 06E3FC 7F0398CC 27A50124 */ addiu $a1, $sp, 0x124 -/* 06E400 7F0398D0 0FC08365 */ jal sub_GAME_7F020D94 -/* 06E404 7F0398D4 02002025 */ move $a0, $s0 -/* 06E408 7F0398D8 3C028008 */ lui $v0, %hi(pPlayer) -/* 06E40C 7F0398DC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 06E410 7F0398E0 8E090018 */ lw $t1, 0x18($s0) -/* 06E414 7F0398E4 C7A40124 */ lwc1 $f4, 0x124($sp) -/* 06E418 7F0398E8 8C4A00A8 */ lw $t2, 0xa8($v0) -/* 06E41C 7F0398EC 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 06E420 7F0398F0 24140001 */ li $s4, 1 -/* 06E424 7F0398F4 1549000D */ bne $t2, $t1, .L7F03992C -/* 06E428 7F0398F8 00000000 */ nop -/* 06E42C 7F0398FC E444048C */ swc1 $f4, 0x48c($v0) -/* 06E430 7F039900 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 06E434 7F039904 C7A60128 */ lwc1 $f6, 0x128($sp) -/* 06E438 7F039908 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 06E43C 7F03990C 3C198008 */ lui $t9, %hi(pPlayer) -/* 06E440 7F039910 E5860490 */ swc1 $f6, 0x490($t4) -/* 06E444 7F039914 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 06E448 7F039918 C7AA012C */ lwc1 $f10, 0x12c($sp) -/* 06E44C 7F03991C E56A0494 */ swc1 $f10, 0x494($t3) -/* 06E450 7F039920 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 06E454 7F039924 8FB80120 */ lw $t8, 0x120($sp) -/* 06E458 7F039928 AF380488 */ sw $t8, 0x488($t9) -.L7F03992C: -/* 06E45C 7F03992C 8E040018 */ lw $a0, 0x18($s0) -/* 06E460 7F039930 0FC0F416 */ jal sub_GAME_7F03D058 -/* 06E464 7F039934 24050001 */ li $a1, 1 -.L7F039938: -/* 06E468 7F039938 12800007 */ beqz $s4, .L7F039958 -/* 06E46C 7F03993C 02C02025 */ move $a0, $s6 -/* 06E470 7F039940 02402825 */ move $a1, $s2 -/* 06E474 7F039944 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E478 7F039948 92260004 */ lbu $a2, 4($s1) -/* 06E47C 7F03994C 00409025 */ move $s2, $v0 -/* 06E480 7F039950 1000EF0E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E484 7F039954 02C28821 */ addu $s1, $s6, $v0 -.L7F039958: -/* 06E488 7F039958 26520005 */ addiu $s2, $s2, 5 -/* 06E48C 7F03995C 1000EF0B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E490 7F039960 26310005 */ addiu $s1, $s1, 5 -actionDA_Fade_Out_From_Cut_Scene_1: -/* 06E494 7F039964 3C0D8003 */ lui $t5, %hi(stop_time_flag) -/* 06E498 7F039968 8DAD64A0 */ lw $t5, %lo(stop_time_flag)($t5) -/* 06E49C 7F03996C 24010002 */ li $at, 2 -/* 06E4A0 7F039970 00002025 */ move $a0, $zero -/* 06E4A4 7F039974 11A10008 */ beq $t5, $at, .L7F039998 -/* 06E4A8 7F039978 00002825 */ move $a1, $zero -/* 06E4AC 7F03997C 4407A000 */ mfc1 $a3, $f20 -/* 06E4B0 7F039980 0FC201EC */ jal set_rgba_tint -/* 06E4B4 7F039984 00003025 */ move $a2, $zero -/* 06E4B8 7F039988 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06E4BC 7F03998C 44817000 */ mtc1 $at, $f14 -/* 06E4C0 7F039990 0FC20216 */ jal fade_to_over_seconds -/* 06E4C4 7F039994 4600B306 */ mov.s $f12, $f22 -.L7F039998: -/* 06E4C8 7F039998 26520001 */ addiu $s2, $s2, 1 -/* 06E4CC 7F03999C 1000EEFB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E4D0 7F0399A0 26310001 */ addiu $s1, $s1, 1 -actionDB_Fade_In_From_Black_Reset_DA_1: -/* 06E4D4 7F0399A4 3C0E8003 */ lui $t6, %hi(stop_time_flag) -/* 06E4D8 7F0399A8 8DCE64A0 */ lw $t6, %lo(stop_time_flag)($t6) -/* 06E4DC 7F0399AC 24010002 */ li $at, 2 -/* 06E4E0 7F0399B0 00002025 */ move $a0, $zero -/* 06E4E4 7F0399B4 11C10007 */ beq $t6, $at, .L7F0399D4 -/* 06E4E8 7F0399B8 00002825 */ move $a1, $zero -/* 06E4EC 7F0399BC 00003025 */ move $a2, $zero -/* 06E4F0 7F0399C0 0FC201EC */ jal set_rgba_tint -/* 06E4F4 7F0399C4 3C073F80 */ li $a3, 0x3F800000 # 1.000000 -/* 06E4F8 7F0399C8 4600B306 */ mov.s $f12, $f22 -/* 06E4FC 7F0399CC 0FC20216 */ jal fade_to_over_seconds -/* 06E500 7F0399D0 4600A386 */ mov.s $f14, $f20 -.L7F0399D4: -/* 06E504 7F0399D4 26520001 */ addiu $s2, $s2, 1 -/* 06E508 7F0399D8 1000EEEC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E50C 7F0399DC 26310001 */ addiu $s1, $s1, 1 -actionDC_RVL_When_Fade_Complete_2: -/* 06E510 7F0399E0 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 06E514 7F0399E4 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 06E518 7F0399E8 02C02025 */ move $a0, $s6 -/* 06E51C 7F0399EC 02402825 */ move $a1, $s2 -/* 06E520 7F0399F0 C5F203E4 */ lwc1 $f18, 0x3e4($t7) -/* 06E524 7F0399F4 4614903C */ c.lt.s $f18, $f20 -/* 06E528 7F0399F8 00000000 */ nop -/* 06E52C 7F0399FC 45020007 */ bc1fl .L7F039A1C -/* 06E530 7F039A00 26520002 */ addiu $s2, $s2, 2 -/* 06E534 7F039A04 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E538 7F039A08 92260001 */ lbu $a2, 1($s1) -/* 06E53C 7F039A0C 00409025 */ move $s2, $v0 -/* 06E540 7F039A10 1000EEDE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E544 7F039A14 02C28821 */ addu $s1, $s6, $v0 -/* 06E548 7F039A18 26520002 */ addiu $s2, $s2, 2 -.L7F039A1C: -/* 06E54C 7F039A1C 1000EEDB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E550 7F039A20 26310002 */ addiu $s1, $s1, 2 -actionDD_Remove_All_Guards_1: -/* 06E554 7F039A24 0FC07D4C */ jal get_numguards -/* 06E558 7F039A28 00000000 */ nop -/* 06E55C 7F039A2C 2443FFFF */ addiu $v1, $v0, -1 -/* 06E560 7F039A30 04600011 */ bltz $v1, .L7F039A78 -/* 06E564 7F039A34 26520001 */ addiu $s2, $s2, 1 -/* 06E568 7F039A38 00031100 */ sll $v0, $v1, 4 -/* 06E56C 7F039A3C 00431023 */ subu $v0, $v0, $v1 -/* 06E570 7F039A40 000210C0 */ sll $v0, $v0, 3 -/* 06E574 7F039A44 00431023 */ subu $v0, $v0, $v1 -/* 06E578 7F039A48 00021080 */ sll $v0, $v0, 2 -/* 06E57C 7F039A4C 8FCA0000 */ lw $t2, ($fp) -.L7F039A50: -/* 06E580 7F039A50 01421821 */ addu $v1, $t2, $v0 -/* 06E584 7F039A54 8C69001C */ lw $t1, 0x1c($v1) -/* 06E588 7F039A58 2442FE24 */ addiu $v0, $v0, -0x1dc -/* 06E58C 7F039A5C 11200004 */ beqz $t1, .L7F039A70 -/* 06E590 7F039A60 00000000 */ nop -/* 06E594 7F039A64 8C6C0014 */ lw $t4, 0x14($v1) -/* 06E598 7F039A68 358B0400 */ ori $t3, $t4, 0x400 -/* 06E59C 7F039A6C AC6B0014 */ sw $t3, 0x14($v1) -.L7F039A70: -/* 06E5A0 7F039A70 0443FFF7 */ bgezl $v0, .L7F039A50 -/* 06E5A4 7F039A74 8FCA0000 */ lw $t2, ($fp) -.L7F039A78: -/* 06E5A8 7F039A78 1000EEC4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E5AC 7F039A7C 26310001 */ addiu $s1, $s1, 1 -actionDE_Bring_Removed_Guards_Back_1: -/* 06E5B0 7F039A80 0FC07D4C */ jal get_numguards -/* 06E5B4 7F039A84 00000000 */ nop -/* 06E5B8 7F039A88 2443FFFF */ addiu $v1, $v0, -1 -/* 06E5BC 7F039A8C 0460000E */ bltz $v1, .L7F039AC8 -/* 06E5C0 7F039A90 00602025 */ move $a0, $v1 -/* 06E5C4 7F039A94 00031900 */ sll $v1, $v1, 4 -/* 06E5C8 7F039A98 00641823 */ subu $v1, $v1, $a0 -/* 06E5CC 7F039A9C 000318C0 */ sll $v1, $v1, 3 -/* 06E5D0 7F039AA0 00641823 */ subu $v1, $v1, $a0 -/* 06E5D4 7F039AA4 00031880 */ sll $v1, $v1, 2 -/* 06E5D8 7F039AA8 2404FBFF */ li $a0, -1025 -.L7F039AAC: -/* 06E5DC 7F039AAC 8FD80000 */ lw $t8, ($fp) -/* 06E5E0 7F039AB0 03031021 */ addu $v0, $t8, $v1 -/* 06E5E4 7F039AB4 8C590014 */ lw $t9, 0x14($v0) -/* 06E5E8 7F039AB8 2463FE24 */ addiu $v1, $v1, -0x1dc -/* 06E5EC 7F039ABC 03246824 */ and $t5, $t9, $a0 -/* 06E5F0 7F039AC0 0461FFFA */ bgez $v1, .L7F039AAC -/* 06E5F4 7F039AC4 AC4D0014 */ sw $t5, 0x14($v0) -.L7F039AC8: -/* 06E5F8 7F039AC8 26520001 */ addiu $s2, $s2, 1 -/* 06E5FC 7F039ACC 1000EEAF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E600 7F039AD0 26310001 */ addiu $s1, $s1, 1 -actionDF_Open_Type_16_Door_Used_Cut_Scenes_2: -/* 06E604 7F039AD4 0FC15C30 */ jal get_handle_to_tagged_object -/* 06E608 7F039AD8 92240001 */ lbu $a0, 1($s1) -/* 06E60C 7F039ADC 10400011 */ beqz $v0, .L7F039B24 -/* 06E610 7F039AE0 00402025 */ move $a0, $v0 -/* 06E614 7F039AE4 8C4E0010 */ lw $t6, 0x10($v0) -/* 06E618 7F039AE8 51C0000F */ beql $t6, $zero, .L7F039B28 -/* 06E61C 7F039AEC 26520002 */ addiu $s2, $s2, 2 -/* 06E620 7F039AF0 C4500084 */ lwc1 $f16, 0x84($v0) -/* 06E624 7F039AF4 E45400B8 */ swc1 $f20, 0xb8($v0) -/* 06E628 7F039AF8 3C0F8005 */ lui $t7, %hi(global_timer) -/* 06E62C 7F039AFC E45000B4 */ swc1 $f16, 0xb4($v0) -/* 06E630 7F039B00 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 06E634 7F039B04 A04000BC */ sb $zero, 0xbc($v0) -/* 06E638 7F039B08 AC4F00EC */ sw $t7, 0xec($v0) -/* 06E63C 7F039B0C 0FC14AC0 */ jal sub_GAME_7F052B00 -/* 06E640 7F039B10 AFA2010C */ sw $v0, 0x10c($sp) -/* 06E644 7F039B14 0FC14D66 */ jal sub_GAME_7F053598 -/* 06E648 7F039B18 8FA4010C */ lw $a0, 0x10c($sp) -/* 06E64C 7F039B1C 0FC14EC4 */ jal sub_GAME_7F053B10 -/* 06E650 7F039B20 8FA4010C */ lw $a0, 0x10c($sp) -.L7F039B24: -/* 06E654 7F039B24 26520002 */ addiu $s2, $s2, 2 -.L7F039B28: -/* 06E658 7F039B28 1000EE98 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E65C 7F039B2C 26310002 */ addiu $s1, $s1, 2 -actionE0_Guard_ID_Draws_Weapon_num_3: -/* 06E660 7F039B30 02E02025 */ move $a0, $s7 -/* 06E664 7F039B34 0FC0CC10 */ jal get_handle_for_guard_id -/* 06E668 7F039B38 92250001 */ lbu $a1, 1($s1) -/* 06E66C 7F039B3C 10400003 */ beqz $v0, .L7F039B4C -/* 06E670 7F039B40 00402025 */ move $a0, $v0 -/* 06E674 7F039B44 0FC1487A */ jal set_0x4_in_runtime_flags_for_item_in_guards_hand -/* 06E678 7F039B48 92250002 */ lbu $a1, 2($s1) -.L7F039B4C: -/* 06E67C 7F039B4C 26520003 */ addiu $s2, $s2, 3 -/* 06E680 7F039B50 1000EE8E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E684 7F039B54 26310003 */ addiu $s1, $s1, 3 -actionE1_If_Fewer_than_This_Many_Players_Playing_RVL_3: -/* 06E688 7F039B58 0FC26919 */ jal get_num_players -/* 06E68C 7F039B5C 00000000 */ nop -/* 06E690 7F039B60 822A0001 */ lb $t2, 1($s1) -/* 06E694 7F039B64 02C02025 */ move $a0, $s6 -/* 06E698 7F039B68 02402825 */ move $a1, $s2 -/* 06E69C 7F039B6C 004A082A */ slt $at, $v0, $t2 -/* 06E6A0 7F039B70 50200007 */ beql $at, $zero, .L7F039B90 -/* 06E6A4 7F039B74 26520003 */ addiu $s2, $s2, 3 -/* 06E6A8 7F039B78 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E6AC 7F039B7C 92260002 */ lbu $a2, 2($s1) -/* 06E6B0 7F039B80 00409025 */ move $s2, $v0 -/* 06E6B4 7F039B84 1000EE81 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E6B8 7F039B88 02C28821 */ addu $s1, $s6, $v0 -/* 06E6BC 7F039B8C 26520003 */ addiu $s2, $s2, 3 -.L7F039B90: -/* 06E6C0 7F039B90 1000EE7E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E6C4 7F039B94 26310003 */ addiu $s1, $s1, 3 -actionE2_If_Ammo_Value_In_Type_Is_LTV_RVL_4: -/* 06E6C8 7F039B98 0FC1A496 */ jal check_cur_player_ammo_amount_total -/* 06E6CC 7F039B9C 82240001 */ lb $a0, 1($s1) -/* 06E6D0 7F039BA0 82290002 */ lb $t1, 2($s1) -/* 06E6D4 7F039BA4 02C02025 */ move $a0, $s6 -/* 06E6D8 7F039BA8 02402825 */ move $a1, $s2 -/* 06E6DC 7F039BAC 0049082A */ slt $at, $v0, $t1 -/* 06E6E0 7F039BB0 50200007 */ beql $at, $zero, .L7F039BD0 -/* 06E6E4 7F039BB4 26520004 */ addiu $s2, $s2, 4 -/* 06E6E8 7F039BB8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E6EC 7F039BBC 92260003 */ lbu $a2, 3($s1) -/* 06E6F0 7F039BC0 00409025 */ move $s2, $v0 -/* 06E6F4 7F039BC4 1000EE71 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E6F8 7F039BC8 02C28821 */ addu $s1, $s6, $v0 -/* 06E6FC 7F039BCC 26520004 */ addiu $s2, $s2, 4 -.L7F039BD0: -/* 06E700 7F039BD0 1000EE6E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E704 7F039BD4 26310004 */ addiu $s1, $s1, 4 -actionE3_Draw_Weapon_From_Inventory_In_Game_2: -/* 06E708 7F039BD8 00002025 */ move $a0, $zero -/* 06E70C 7F039BDC 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 06E710 7F039BE0 82250001 */ lb $a1, 1($s1) -/* 06E714 7F039BE4 24040001 */ li $a0, 1 -/* 06E718 7F039BE8 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 06E71C 7F039BEC 00002825 */ move $a1, $zero -/* 06E720 7F039BF0 26520002 */ addiu $s2, $s2, 2 -/* 06E724 7F039BF4 1000EE65 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E728 7F039BF8 26310002 */ addiu $s1, $s1, 2 -actionE4_Draw_Weapon_From_Inventory_Cut_Scene_2: -/* 06E72C 7F039BFC 00002025 */ move $a0, $zero -/* 06E730 7F039C00 0FC176D5 */ jal remove_hands_item -/* 06E734 7F039C04 82250001 */ lb $a1, 1($s1) -/* 06E738 7F039C08 24040001 */ li $a0, 1 -/* 06E73C 7F039C0C 0FC176D5 */ jal remove_hands_item -/* 06E740 7F039C10 00002825 */ move $a1, $zero -/* 06E744 7F039C14 26520002 */ addiu $s2, $s2, 2 -/* 06E748 7F039C18 1000EE5C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E74C 7F039C1C 26310002 */ addiu $s1, $s1, 2 -actionE5_Set_Bonds_Speed_3: -/* 06E750 7F039C20 822C0001 */ lb $t4, 1($s1) -/* 06E754 7F039C24 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079990) -/* 06E758 7F039C28 24429990 */ addiu $v0, %lo(flt_CODE_bss_80079990) # addiu $v0, $v0, -0x6670 -/* 06E75C 7F039C2C 448C4000 */ mtc1 $t4, $f8 -/* 06E760 7F039C30 E4540004 */ swc1 $f20, 4($v0) -/* 06E764 7F039C34 26520003 */ addiu $s2, $s2, 3 -/* 06E768 7F039C38 46804120 */ cvt.s.w $f4, $f8 -/* 06E76C 7F039C3C 26310003 */ addiu $s1, $s1, 3 -/* 06E770 7F039C40 E4440000 */ swc1 $f4, ($v0) -/* 06E774 7F039C44 822BFFFF */ lb $t3, -1($s1) -/* 06E778 7F039C48 448B3000 */ mtc1 $t3, $f6 -/* 06E77C 7F039C4C 00000000 */ nop -/* 06E780 7F039C50 468032A0 */ cvt.s.w $f10, $f6 -/* 06E784 7F039C54 1000EE4D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E788 7F039C58 E44A0008 */ swc1 $f10, 8($v0) -actionE6_If_16_Object_And_Preset_Are_In_Same_Room_RVL_5: -/* 06E78C 7F039C5C 92380002 */ lbu $t8, 2($s1) -/* 06E790 7F039C60 922D0003 */ lbu $t5, 3($s1) -/* 06E794 7F039C64 92240001 */ lbu $a0, 1($s1) -/* 06E798 7F039C68 0018CA00 */ sll $t9, $t8, 8 -/* 06E79C 7F039C6C 032D8025 */ or $s0, $t9, $t5 -/* 06E7A0 7F039C70 320EFFFF */ andi $t6, $s0, 0xffff -/* 06E7A4 7F039C74 0FC15C30 */ jal get_handle_to_tagged_object -/* 06E7A8 7F039C78 01C08025 */ move $s0, $t6 -/* 06E7AC 7F039C7C 2A012710 */ slti $at, $s0, 0x2710 -/* 06E7B0 7F039C80 1020000A */ beqz $at, .L7F039CAC -/* 06E7B4 7F039C84 02001825 */ move $v1, $s0 -/* 06E7B8 7F039C88 00037880 */ sll $t7, $v1, 2 -/* 06E7BC 7F039C8C 01E37823 */ subu $t7, $t7, $v1 -/* 06E7C0 7F039C90 000F7880 */ sll $t7, $t7, 2 -/* 06E7C4 7F039C94 3C0A8007 */ lui $t2, %hi(ptr_0xxxpresets) -/* 06E7C8 7F039C98 8D4A5D18 */ lw $t2, %lo(ptr_0xxxpresets)($t2) -/* 06E7CC 7F039C9C 01E37823 */ subu $t7, $t7, $v1 -/* 06E7D0 7F039CA0 000F7880 */ sll $t7, $t7, 2 -/* 06E7D4 7F039CA4 1000000A */ b .L7F039CD0 -/* 06E7D8 7F039CA8 01EA2021 */ addu $a0, $t7, $t2 -.L7F039CAC: -/* 06E7DC 7F039CAC 3C0C8007 */ lui $t4, %hi(ptr_2xxxpresets) -/* 06E7E0 7F039CB0 8D8C5D1C */ lw $t4, %lo(ptr_2xxxpresets)($t4) -/* 06E7E4 7F039CB4 00034900 */ sll $t1, $v1, 4 -/* 06E7E8 7F039CB8 01234821 */ addu $t1, $t1, $v1 -/* 06E7EC 7F039CBC 00094880 */ sll $t1, $t1, 2 -/* 06E7F0 7F039CC0 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06E7F4 7F039CC4 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06E7F8 7F039CC8 012C2021 */ addu $a0, $t1, $t4 -/* 06E7FC 7F039CCC 00812021 */ addu $a0, $a0, $at -.L7F039CD0: -/* 06E800 7F039CD0 8C830028 */ lw $v1, 0x28($a0) -/* 06E804 7F039CD4 50600013 */ beql $v1, $zero, .L7F039D24 -/* 06E808 7F039CD8 26520005 */ addiu $s2, $s2, 5 -/* 06E80C 7F039CDC 50400011 */ beql $v0, $zero, .L7F039D24 -/* 06E810 7F039CE0 26520005 */ addiu $s2, $s2, 5 -/* 06E814 7F039CE4 8C440010 */ lw $a0, 0x10($v0) -/* 06E818 7F039CE8 5080000E */ beql $a0, $zero, .L7F039D24 -/* 06E81C 7F039CEC 26520005 */ addiu $s2, $s2, 5 -/* 06E820 7F039CF0 8C8B0014 */ lw $t3, 0x14($a0) -/* 06E824 7F039CF4 90790003 */ lbu $t9, 3($v1) -/* 06E828 7F039CF8 02C02025 */ move $a0, $s6 -/* 06E82C 7F039CFC 91780003 */ lbu $t8, 3($t3) -/* 06E830 7F039D00 02402825 */ move $a1, $s2 -/* 06E834 7F039D04 57190007 */ bnel $t8, $t9, .L7F039D24 -/* 06E838 7F039D08 26520005 */ addiu $s2, $s2, 5 -/* 06E83C 7F039D0C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E840 7F039D10 92260004 */ lbu $a2, 4($s1) -/* 06E844 7F039D14 00409025 */ move $s2, $v0 -/* 06E848 7F039D18 1000EE1C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E84C 7F039D1C 02C28821 */ addu $s1, $s6, $v0 -/* 06E850 7F039D20 26520005 */ addiu $s2, $s2, 5 -.L7F039D24: -/* 06E854 7F039D24 1000EE19 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E858 7F039D28 26310005 */ addiu $s1, $s1, 5 -actionE9_Instantly_Switch_Sky_To_Sky_2_1: -/* 06E85C 7F039D2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06E860 7F039D30 44816000 */ mtc1 $at, $f12 -/* 06E864 7F039D34 0FC2EB2A */ jal switch_to_solosky2 -/* 06E868 7F039D38 00000000 */ nop -/* 06E86C 7F039D3C 26520001 */ addiu $s2, $s2, 1 -/* 06E870 7F039D40 1000EE12 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E874 7F039D44 26310001 */ addiu $s1, $s1, 1 -actionEA_Stop_Game_Time_1: -/* 06E878 7F039D48 3C0D8003 */ lui $t5, %hi(stop_time_flag) -/* 06E87C 7F039D4C 8DAD64A0 */ lw $t5, %lo(stop_time_flag)($t5) -/* 06E880 7F039D50 240E0001 */ li $t6, 1 -/* 06E884 7F039D54 3C018003 */ lui $at, %hi(stop_time_flag) -/* 06E888 7F039D58 15A00002 */ bnez $t5, .L7F039D64 -/* 06E88C 7F039D5C 26520001 */ addiu $s2, $s2, 1 -/* 06E890 7F039D60 AC2E64A0 */ sw $t6, %lo(stop_time_flag)($at) -.L7F039D64: -/* 06E894 7F039D64 1000EE09 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E898 7F039D68 26310001 */ addiu $s1, $s1, 1 -actionEB_If_Key_Pressed_RVL_2: -/* 06E89C 7F039D6C 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 06E8A0 7F039D70 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 06E8A4 7F039D74 02C02025 */ move $a0, $s6 -/* 06E8A8 7F039D78 02402825 */ move $a1, $s2 -/* 06E8AC 7F039D7C 8DEA00D8 */ lw $t2, 0xd8($t7) -/* 06E8B0 7F039D80 51400007 */ beql $t2, $zero, .L7F039DA0 -/* 06E8B4 7F039D84 26520002 */ addiu $s2, $s2, 2 -/* 06E8B8 7F039D88 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E8BC 7F039D8C 92260001 */ lbu $a2, 1($s1) -/* 06E8C0 7F039D90 00409025 */ move $s2, $v0 -/* 06E8C4 7F039D94 1000EDFD */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E8C8 7F039D98 02C28821 */ addu $s1, $s6, $v0 -/* 06E8CC 7F039D9C 26520002 */ addiu $s2, $s2, 2 -.L7F039DA0: -/* 06E8D0 7F039DA0 1000EDFA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E8D4 7F039DA4 26310002 */ addiu $s1, $s1, 2 -actionEC_Disable_Player_Pickups_1: -/* 06E8D8 7F039DA8 24090001 */ li $t1, 1 -/* 06E8DC 7F039DAC 3C018003 */ lui $at, %hi(disable_player_pickups_flag) -/* 06E8E0 7F039DB0 AC2964B4 */ sw $t1, %lo(disable_player_pickups_flag)($at) -/* 06E8E4 7F039DB4 26520001 */ addiu $s2, $s2, 1 -/* 06E8E8 7F039DB8 1000EDF4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E8EC 7F039DBC 26310001 */ addiu $s1, $s1, 1 -actionED_Hide_First_Person_Display_1: -/* 06E8F0 7F039DC0 0FC173D7 */ jal remove_item_in_hand -/* 06E8F4 7F039DC4 00002025 */ move $a0, $zero -/* 06E8F8 7F039DC8 0FC173D7 */ jal remove_item_in_hand -/* 06E8FC 7F039DCC 24040001 */ li $a0, 1 -/* 06E900 7F039DD0 26520001 */ addiu $s2, $s2, 1 -/* 06E904 7F039DD4 1000EDED */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E908 7F039DD8 26310001 */ addiu $s1, $s1, 1 -actionEE_Cuba_Circular_Camera_Aim_D: -/* 06E90C 7F039DDC 92390003 */ lbu $t9, 3($s1) -/* 06E910 7F039DE0 922E0004 */ lbu $t6, 4($s1) -/* 06E914 7F039DE4 922C0001 */ lbu $t4, 1($s1) -/* 06E918 7F039DE8 00196A00 */ sll $t5, $t9, 8 -/* 06E91C 7F039DEC 01AE1825 */ or $v1, $t5, $t6 -/* 06E920 7F039DF0 00037C00 */ sll $t7, $v1, 0x10 -/* 06E924 7F039DF4 922D0007 */ lbu $t5, 7($s1) -/* 06E928 7F039DF8 000F1C03 */ sra $v1, $t7, 0x10 -/* 06E92C 7F039DFC 922F0008 */ lbu $t7, 8($s1) -/* 06E930 7F039E00 92380002 */ lbu $t8, 2($s1) -/* 06E934 7F039E04 000D7200 */ sll $t6, $t5, 8 -/* 06E938 7F039E08 9239000B */ lbu $t9, 0xb($s1) -/* 06E93C 7F039E0C 01CF3025 */ or $a2, $t6, $t7 -/* 06E940 7F039E10 922E000C */ lbu $t6, 0xc($s1) -/* 06E944 7F039E14 000C5A00 */ sll $t3, $t4, 8 -/* 06E948 7F039E18 92290005 */ lbu $t1, 5($s1) -/* 06E94C 7F039E1C 01781025 */ or $v0, $t3, $t8 -/* 06E950 7F039E20 922B0006 */ lbu $t3, 6($s1) -/* 06E954 7F039E24 00196A00 */ sll $t5, $t9, 8 -/* 06E958 7F039E28 01AE4025 */ or $t0, $t5, $t6 -/* 06E95C 7F039E2C 44889000 */ mtc1 $t0, $f18 -/* 06E960 7F039E30 00096200 */ sll $t4, $t1, 8 -/* 06E964 7F039E34 018B2825 */ or $a1, $t4, $t3 -/* 06E968 7F039E38 0005C400 */ sll $t8, $a1, 0x10 -/* 06E96C 7F039E3C 46809420 */ cvt.s.w $f16, $f18 -/* 06E970 7F039E40 00182C03 */ sra $a1, $t8, 0x10 -/* 06E974 7F039E44 44853000 */ mtc1 $a1, $f6 -/* 06E978 7F039E48 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 06E97C 7F039E4C 44810000 */ mtc1 $at, $f0 -/* 06E980 7F039E50 468032A0 */ cvt.s.w $f10, $f6 -/* 06E984 7F039E54 461A8202 */ mul.s $f8, $f16, $f26 -/* 06E988 7F039E58 922A0009 */ lbu $t2, 9($s1) -/* 06E98C 7F039E5C 922C000A */ lbu $t4, 0xa($s1) -/* 06E990 7F039E60 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F8) -/* 06E994 7F039E64 AC2099F8 */ sw $zero, %lo(dword_CODE_bss_800799F8)($at) -/* 06E998 7F039E68 461A5482 */ mul.s $f18, $f10, $f26 -/* 06E99C 7F039E6C 3C018008 */ lui $at, %hi(dword_CODE_bss_800799FC) -/* 06E9A0 7F039E70 AC2099FC */ sw $zero, %lo(dword_CODE_bss_800799FC)($at) -/* 06E9A4 7F039E74 000A4A00 */ sll $t1, $t2, 8 -/* 06E9A8 7F039E78 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A00) -/* 06E9AC 7F039E7C 012C3825 */ or $a3, $t1, $t4 -/* 06E9B0 7F039E80 46004103 */ div.s $f4, $f8, $f0 -/* 06E9B4 7F039E84 44824000 */ mtc1 $v0, $f8 -/* 06E9B8 7F039E88 44833000 */ mtc1 $v1, $f6 -/* 06E9BC 7F039E8C 00075C00 */ sll $t3, $a3, 0x10 -/* 06E9C0 7F039E90 000B3C03 */ sra $a3, $t3, 0x10 -/* 06E9C4 7F039E94 468032A0 */ cvt.s.w $f10, $f6 -/* 06E9C8 7F039E98 24040007 */ li $a0, 7 -/* 06E9CC 7F039E9C 46009403 */ div.s $f16, $f18, $f0 -/* 06E9D0 7F039EA0 E4249A00 */ swc1 $f4, %lo(flt_CODE_bss_80079A00)($at) -/* 06E9D4 7F039EA4 44879000 */ mtc1 $a3, $f18 -/* 06E9D8 7F039EA8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A04) -/* 06E9DC 7F039EAC 46804120 */ cvt.s.w $f4, $f8 -/* 06E9E0 7F039EB0 E4309A04 */ swc1 $f16, %lo(flt_CODE_bss_80079A04)($at) -/* 06E9E4 7F039EB4 46809420 */ cvt.s.w $f16, $f18 -/* 06E9E8 7F039EB8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A08) -/* 06E9EC 7F039EBC E4249A08 */ swc1 $f4, %lo(flt_CODE_bss_80079A08)($at) -/* 06E9F0 7F039EC0 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A0C) -/* 06E9F4 7F039EC4 E42A9A0C */ swc1 $f10, %lo(flt_CODE_bss_80079A0C)($at) -/* 06E9F8 7F039EC8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A10) -/* 06E9FC 7F039ECC E4309A10 */ swc1 $f16, %lo(flt_CODE_bss_80079A10)($at) -/* 06EA00 7F039ED0 3C018008 */ lui $at, %hi(dword_CODE_bss_80079A14) -/* 06EA04 7F039ED4 0FC1EA6E */ jal set_camera_mode -/* 06EA08 7F039ED8 AC269A14 */ sw $a2, %lo(dword_CODE_bss_80079A14)($at) -/* 06EA0C 7F039EDC 2652000D */ addiu $s2, $s2, 0xd -/* 06EA10 7F039EE0 1000EDAA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA14 7F039EE4 2631000D */ addiu $s1, $s1, 0xd -actionEF_Trigger_Credits_1: -/* 06EA18 7F039EE8 240F0001 */ li $t7, 1 -/* 06EA1C 7F039EEC 3C018003 */ lui $at, %hi(D_8003643C) -/* 06EA20 7F039EF0 AC2F643C */ sw $t7, %lo(D_8003643C)($at) -/* 06EA24 7F039EF4 26520001 */ addiu $s2, $s2, 1 -/* 06EA28 7F039EF8 1000EDA4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA2C 7F039EFC 26310001 */ addiu $s1, $s1, 1 -actionF0_RVL_If_Credits_Completed_2: -/* 06EA30 7F039F00 3C0A8003 */ lui $t2, %hi(D_8003643C) -/* 06EA34 7F039F04 8D4A643C */ lw $t2, %lo(D_8003643C)($t2) -/* 06EA38 7F039F08 24010002 */ li $at, 2 -/* 06EA3C 7F039F0C 02C02025 */ move $a0, $s6 -/* 06EA40 7F039F10 15410006 */ bne $t2, $at, .L7F039F2C -/* 06EA44 7F039F14 02402825 */ move $a1, $s2 -/* 06EA48 7F039F18 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EA4C 7F039F1C 92260001 */ lbu $a2, 1($s1) -/* 06EA50 7F039F20 00409025 */ move $s2, $v0 -/* 06EA54 7F039F24 1000ED99 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA58 7F039F28 02C28821 */ addu $s1, $s6, $v0 -.L7F039F2C: -/* 06EA5C 7F039F2C 26520002 */ addiu $s2, $s2, 2 -/* 06EA60 7F039F30 1000ED96 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA64 7F039F34 26310002 */ addiu $s1, $s1, 2 -actionF1_If_All_Objectives_Complete_RVL_2: -/* 06EA68 7F039F38 0FC15D2E */ jal check_objectives_complete -/* 06EA6C 7F039F3C 00000000 */ nop -/* 06EA70 7F039F40 10400007 */ beqz $v0, .L7F039F60 -/* 06EA74 7F039F44 02C02025 */ move $a0, $s6 -/* 06EA78 7F039F48 02402825 */ move $a1, $s2 -/* 06EA7C 7F039F4C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EA80 7F039F50 92260001 */ lbu $a2, 1($s1) -/* 06EA84 7F039F54 00409025 */ move $s2, $v0 -/* 06EA88 7F039F58 1000ED8C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA8C 7F039F5C 02C28821 */ addu $s1, $s6, $v0 -.L7F039F60: -/* 06EA90 7F039F60 26520002 */ addiu $s2, $s2, 2 -/* 06EA94 7F039F64 1000ED89 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA98 7F039F68 26310002 */ addiu $s1, $s1, 2 -actionF2_Check_Current_Folder_Bond_RVL_3: -/* 06EA9C 7F039F6C 0FC0755B */ jal getSelectedFolderBond -/* 06EAA0 7F039F70 00000000 */ nop -/* 06EAA4 7F039F74 82290001 */ lb $t1, 1($s1) -/* 06EAA8 7F039F78 02C02025 */ move $a0, $s6 -/* 06EAAC 7F039F7C 02402825 */ move $a1, $s2 -/* 06EAB0 7F039F80 54490007 */ bnel $v0, $t1, .L7F039FA0 -/* 06EAB4 7F039F84 26520003 */ addiu $s2, $s2, 3 -/* 06EAB8 7F039F88 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EABC 7F039F8C 92260002 */ lbu $a2, 2($s1) -/* 06EAC0 7F039F90 00409025 */ move $s2, $v0 -/* 06EAC4 7F039F94 1000ED7D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EAC8 7F039F98 02C28821 */ addu $s1, $s6, $v0 -/* 06EACC 7F039F9C 26520003 */ addiu $s2, $s2, 3 -.L7F039FA0: -/* 06EAD0 7F039FA0 1000ED7A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EAD4 7F039FA4 26310003 */ addiu $s1, $s1, 3 -actionF3_If_Player_Pickups_Disabled_RVL_2: -/* 06EAD8 7F039FA8 3C0C8003 */ lui $t4, %hi(disable_player_pickups_flag) -/* 06EADC 7F039FAC 8D8C64B4 */ lw $t4, %lo(disable_player_pickups_flag)($t4) -/* 06EAE0 7F039FB0 02C02025 */ move $a0, $s6 -/* 06EAE4 7F039FB4 02402825 */ move $a1, $s2 -/* 06EAE8 7F039FB8 51800007 */ beql $t4, $zero, .L7F039FD8 -/* 06EAEC 7F039FBC 26520002 */ addiu $s2, $s2, 2 -/* 06EAF0 7F039FC0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EAF4 7F039FC4 92260001 */ lbu $a2, 1($s1) -/* 06EAF8 7F039FC8 00409025 */ move $s2, $v0 -/* 06EAFC 7F039FCC 1000ED6F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EB00 7F039FD0 02C28821 */ addu $s1, $s6, $v0 -/* 06EB04 7F039FD4 26520002 */ addiu $s2, $s2, 2 -.L7F039FD8: -/* 06EB08 7F039FD8 1000ED6C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EB0C 7F039FDC 26310002 */ addiu $s1, $s1, 2 -actionF4_PlaysValuenum1ThemeSlot03ForValuenum2Seconds_4: -/* 06EB10 7F039FE0 02201025 */ move $v0, $s1 -/* 06EB14 7F039FE4 26310004 */ addiu $s1, $s1, 4 -/* 06EB18 7F039FE8 26520004 */ addiu $s2, $s2, 4 -/* 06EB1C 7F039FEC 80440001 */ lb $a0, 1($v0) -/* 06EB20 7F039FF0 90450002 */ lbu $a1, 2($v0) -/* 06EB24 7F039FF4 0FC3053F */ jal set_musicslot_time -/* 06EB28 7F039FF8 90460003 */ lbu $a2, 3($v0) -/* 06EB2C 7F039FFC 1000ED64 */ b ParseCommandByte_SwitchCase -/* 06EB30 7F03A000 922E0000 */ lbu $t6, ($s1) -actionF5_Turn_Off_Music_In_Slot_num_0_3_2: -/* 06EB34 7F03A004 02201025 */ move $v0, $s1 -/* 06EB38 7F03A008 26310002 */ addiu $s1, $s1, 2 -/* 06EB3C 7F03A00C 26520002 */ addiu $s2, $s2, 2 -/* 06EB40 7F03A010 0FC30556 */ jal reset_music_in_slot -/* 06EB44 7F03A014 80440001 */ lb $a0, 1($v0) -/* 06EB48 7F03A018 1000ED5D */ b ParseCommandByte_SwitchCase -/* 06EB4C 7F03A01C 922E0000 */ lbu $t6, ($s1) -actionF6_Trigger_Explosions_Around_Bond_1: -/* 06EB50 7F03A020 0FC22FF1 */ jal trigger_explosions_around_player -/* 06EB54 7F03A024 00002025 */ move $a0, $zero -/* 06EB58 7F03A028 26520001 */ addiu $s2, $s2, 1 -/* 06EB5C 7F03A02C 1000ED57 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EB60 7F03A030 26310001 */ addiu $s1, $s1, 1 -actionF7_If_Number_Of_Hostages_Scientists_Killed_RVL_3: -/* 06EB64 7F03A034 0FC1A9DC */ jal get_civilian_casualties -/* 06EB68 7F03A038 00000000 */ nop -/* 06EB6C 7F03A03C 922B0001 */ lbu $t3, 1($s1) -/* 06EB70 7F03A040 02C02025 */ move $a0, $s6 -/* 06EB74 7F03A044 02402825 */ move $a1, $s2 -/* 06EB78 7F03A048 0162082A */ slt $at, $t3, $v0 -/* 06EB7C 7F03A04C 50200007 */ beql $at, $zero, .L7F03A06C -/* 06EB80 7F03A050 26520003 */ addiu $s2, $s2, 3 -/* 06EB84 7F03A054 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EB88 7F03A058 92260002 */ lbu $a2, 2($s1) -/* 06EB8C 7F03A05C 00409025 */ move $s2, $v0 -/* 06EB90 7F03A060 1000ED4A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EB94 7F03A064 02C28821 */ addu $s1, $s6, $v0 -/* 06EB98 7F03A068 26520003 */ addiu $s2, $s2, 3 -.L7F03A06C: -/* 06EB9C 7F03A06C 1000ED47 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EBA0 7F03A070 26310003 */ addiu $s1, $s1, 3 -actionF8_If_Guard_ID_00200000_Flag_Set_Unset_And_Return_3: -/* 06EBA4 7F03A074 02E02025 */ move $a0, $s7 -/* 06EBA8 7F03A078 0FC0CC10 */ jal get_handle_for_guard_id -/* 06EBAC 7F03A07C 92250001 */ lbu $a1, 1($s1) -/* 06EBB0 7F03A080 50400012 */ beql $v0, $zero, .L7F03A0CC -/* 06EBB4 7F03A084 26520003 */ addiu $s2, $s2, 3 -/* 06EBB8 7F03A088 8C580014 */ lw $t8, 0x14($v0) -/* 06EBBC 7F03A08C 3C01FFDF */ lui $at, (0xFFDFFFFF >> 16) # lui $at, 0xffdf -/* 06EBC0 7F03A090 3421FFFF */ ori $at, (0xFFDFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 06EBC4 7F03A094 0018CA80 */ sll $t9, $t8, 0xa -/* 06EBC8 7F03A098 0723000C */ bgezl $t9, .L7F03A0CC -/* 06EBCC 7F03A09C 26520003 */ addiu $s2, $s2, 3 -/* 06EBD0 7F03A0A0 8C4D0014 */ lw $t5, 0x14($v0) -/* 06EBD4 7F03A0A4 02C02025 */ move $a0, $s6 -/* 06EBD8 7F03A0A8 02402825 */ move $a1, $s2 -/* 06EBDC 7F03A0AC 01A17024 */ and $t6, $t5, $at -/* 06EBE0 7F03A0B0 AC4E0014 */ sw $t6, 0x14($v0) -/* 06EBE4 7F03A0B4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EBE8 7F03A0B8 92260002 */ lbu $a2, 2($s1) -/* 06EBEC 7F03A0BC 00409025 */ move $s2, $v0 -/* 06EBF0 7F03A0C0 1000ED32 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EBF4 7F03A0C4 02C28821 */ addu $s1, $s6, $v0 -/* 06EBF8 7F03A0C8 26520003 */ addiu $s2, $s2, 3 -.L7F03A0CC: -/* 06EBFC 7F03A0CC 1000ED2F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EC00 7F03A0D0 26310003 */ addiu $s1, $s1, 3 -actionF9_Set_Killed_In_Action_Automatic_Mission_Failure_1: -/* 06EC04 7F03A0D4 240F0001 */ li $t7, 1 -/* 06EC08 7F03A0D8 3C018003 */ lui $at, %hi(mission_kia_flag) -/* 06EC0C 7F03A0DC AC2FA928 */ sw $t7, %lo(mission_kia_flag)($at) -/* 06EC10 7F03A0E0 26520001 */ addiu $s2, $s2, 1 -/* 06EC14 7F03A0E4 1000ED29 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EC18 7F03A0E8 26310001 */ addiu $s1, $s1, 1 -actionFA_Guard_Fawns_On_Shoulder_1: -/* 06EC1C 7F03A0EC 0FC0CD93 */ jal check_if_able_to_then_fawn_on_shoulder -/* 06EC20 7F03A0F0 02E02025 */ move $a0, $s7 -/* 06EC24 7F03A0F4 26520001 */ addiu $s2, $s2, 1 -/* 06EC28 7F03A0F8 1000ED24 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EC2C 7F03A0FC 26310001 */ addiu $s1, $s1, 1 -actionFB_SwitchToSkyValuenumAndActivateGasContainersIfExist_: -/* 06EC30 7F03A100 3C0A8003 */ lui $t2, %hi(D_80030A88) -/* 06EC34 7F03A104 254A0A88 */ addiu $t2, %lo(D_80030A88) # addiu $t2, $t2, 0xa88 -/* 06EC38 7F03A108 8D410000 */ lw $at, ($t2) -/* 06EC3C 7F03A10C 27A40090 */ addiu $a0, $sp, 0x90 -/* 06EC40 7F03A110 AC810000 */ sw $at, ($a0) -/* 06EC44 7F03A114 8D4B0004 */ lw $t3, 4($t2) -/* 06EC48 7F03A118 AC8B0004 */ sw $t3, 4($a0) -/* 06EC4C 7F03A11C 8D410008 */ lw $at, 8($t2) -/* 06EC50 7F03A120 0FC15799 */ jal init_trigger_toxic_gas_effect -/* 06EC54 7F03A124 AC810008 */ sw $at, 8($a0) -/* 06EC58 7F03A128 26520001 */ addiu $s2, $s2, 1 -/* 06EC5C 7F03A12C 1000ED17 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EC60 7F03A130 26310001 */ addiu $s1, $s1, 1 -actionFC_Launch_Shuttle_2: -/* 06EC64 7F03A134 0FC15C30 */ jal get_handle_to_tagged_object -/* 06EC68 7F03A138 92240001 */ lbu $a0, 1($s1) -/* 06EC6C 7F03A13C 50400029 */ beql $v0, $zero, .L7F03A1E4 -/* 06EC70 7F03A140 26520002 */ addiu $s2, $s2, 2 -/* 06EC74 7F03A144 8C580010 */ lw $t8, 0x10($v0) -/* 06EC78 7F03A148 53000026 */ beql $t8, $zero, .L7F03A1E4 -/* 06EC7C 7F03A14C 26520002 */ addiu $s2, $s2, 2 -/* 06EC80 7F03A150 8C440010 */ lw $a0, 0x10($v0) -/* 06EC84 7F03A154 0FC0FF6A */ jal sub_GAME_7F03FDA8 -/* 06EC88 7F03A158 AFA20088 */ sw $v0, 0x88($sp) -/* 06EC8C 7F03A15C 8FA30088 */ lw $v1, 0x88($sp) -/* 06EC90 7F03A160 8C790064 */ lw $t9, 0x64($v1) -/* 06EC94 7F03A164 332D0080 */ andi $t5, $t9, 0x80 -/* 06EC98 7F03A168 51A0001E */ beql $t5, $zero, .L7F03A1E4 -/* 06EC9C 7F03A16C 26520002 */ addiu $s2, $s2, 2 -/* 06ECA0 7F03A170 8C62006C */ lw $v0, 0x6c($v1) -/* 06ECA4 7F03A174 8C4E0000 */ lw $t6, ($v0) -/* 06ECA8 7F03A178 35CF0601 */ ori $t7, $t6, 0x601 -/* 06ECAC 7F03A17C AC4F0000 */ sw $t7, ($v0) -/* 06ECB0 7F03A180 8C640010 */ lw $a0, 0x10($v1) -/* 06ECB4 7F03A184 0FC0FF85 */ jal sub_GAME_7F03FE14 -/* 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 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) -/* 06ECD4 7F03A1A4 8C6C006C */ lw $t4, 0x6c($v1) -/* 06ECD8 7F03A1A8 E5940004 */ swc1 $f20, 4($t4) -/* 06ECDC 7F03A1AC C4282974 */ lwc1 $f8, %lo(D_80052974)($at) -/* 06ECE0 7F03A1B0 8C69006C */ lw $t1, 0x6c($v1) -/* 06ECE4 7F03A1B4 3C018005 */ lui $at, %hi(D_80052978) -/* 06ECE8 7F03A1B8 E5280008 */ swc1 $f8, 8($t1) -/* 06ECEC 7F03A1BC 8C6A006C */ lw $t2, 0x6c($v1) -/* 06ECF0 7F03A1C0 E554000C */ swc1 $f20, 0xc($t2) -/* 06ECF4 7F03A1C4 8C6B006C */ lw $t3, 0x6c($v1) -/* 06ECF8 7F03A1C8 E5740010 */ swc1 $f20, 0x10($t3) -/* 06ECFC 7F03A1CC C4242978 */ lwc1 $f4, %lo(D_80052978)($at) -/* 06ED00 7F03A1D0 8C78006C */ lw $t8, 0x6c($v1) -/* 06ED04 7F03A1D4 E7040014 */ swc1 $f4, 0x14($t8) -/* 06ED08 7F03A1D8 8C79006C */ lw $t9, 0x6c($v1) -/* 06ED0C 7F03A1DC E7340018 */ swc1 $f20, 0x18($t9) -/* 06ED10 7F03A1E0 26520002 */ addiu $s2, $s2, 2 -.L7F03A1E4: -/* 06ED14 7F03A1E4 1000ECE9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ED18 7F03A1E8 26310002 */ addiu $s1, $s1, 2 -GetCmdLength: -/* 06ED1C 7F03A1EC 0FC0D27F */ jal get_length_of_action_block -/* 06ED20 7F03A1F0 02402825 */ move $a1, $s2 # -/* 06ED24 7F03A1F4 02429021 */ addu $s2, $s2, $v0 # CurrentActionByte += get_length_of_action_block(CurrentActionByte) -/* 06ED28 7F03A1F8 1000ECE4 */ b GetByteS1_ParseCommandByte_SwitchCase # s1 = CurrentActionByte + s6 -/* 06ED2C 7F03A1FC 02D28821 */ addu $s1, $s6, $s2 # goto 58c - -Action04_End_1: -/* 06ED30 7F03A200 8FBF0074 */ lw $ra, 0x74($sp) -Action04_End_2: -/* 06ED34 7F03A204 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 06ED38 7F03A208 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 06ED3C 7F03A20C D7B80040 */ ldc1 $f24, 0x40($sp) -/* 06ED40 7F03A210 D7BA0048 */ ldc1 $f26, 0x48($sp) -/* 06ED44 7F03A214 8FB00050 */ lw $s0, 0x50($sp) -/* 06ED48 7F03A218 8FB10054 */ lw $s1, 0x54($sp) -/* 06ED4C 7F03A21C 8FB20058 */ lw $s2, 0x58($sp) #load s2 with value before entering actionblock -/* 06ED50 7F03A220 8FB3005C */ lw $s3, 0x5c($sp) -/* 06ED54 7F03A224 8FB40060 */ lw $s4, 0x60($sp) -/* 06ED58 7F03A228 8FB50064 */ lw $s5, 0x64($sp) -/* 06ED5C 7F03A22C 8FB60068 */ lw $s6, 0x68($sp) -/* 06ED60 7F03A230 8FB7006C */ lw $s7, 0x6c($sp) -/* 06ED64 7F03A234 8FBE0070 */ lw $fp, 0x70($sp) -/* 06ED68 7F03A238 03E00008 */ jr $ra -/* 06ED6C 7F03A23C 27BD07B8 */ addiu $sp, $sp, 0x7b8 -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -/*HACK FIXME */ -.word locret_CODE_7F035104 -.word locret_CODE_7F03510C -.word locret_CODE_7F035114 -.word locret_CODE_7F03511C -.word locret_CODE_7F035124 -.word locret_CODE_7F03512C -.word locret_CODE_7F035134 -.word locret_CODE_7F03513C -.word locret_CODE_7F035144 -.word locret_CODE_7F03514C -.word locret_CODE_7F035154 -.word locret_CODE_7F03515C -.word locret_CODE_7F034ADC -.word locret_CODE_7F034AD4 -.word locret_CODE_7F035164 -.word locret_CODE_7F03516C -.word locret_CODE_7F035174 -.word locret_CODE_7F03517C -.word locret_CODE_7F035184 -.word locret_CODE_7F03518C -.word locret_CODE_7F035194 -.word locret_CODE_7F03519C -.word locret_CODE_7F0351A4 -.word locret_CODE_7F0351AC -.word locret_CODE_7F0351B4 -.word locret_CODE_7F0351BC -.word locret_CODE_7F0351C4 -.word locret_CODE_7F0351CC -.word locret_CODE_7F0351D4 -.word locret_CODE_7F0351DC -.word locret_CODE_7F0351E4 -.word locret_CODE_7F0351EC -.word locret_CODE_7F0351F4 -.word actionFC_length -.late_rodata -glabel D_800524F4 -.word 0x40c90fdb /*6.2831855*/ -/*D:800524F8*/ -glabel jpt_800524F8 -.word Action00_GoToLabel -.word Action01_GoToLabelFromTop -.word Action02_Label -.word action03_Leave_The_Routine_When_Return_Continue_From_Spot_1 -.word Action04_End_1 -.word action05_Jump_To_Function_4 -.word action06_Set_Return_Subroutine_for_0007_Command_3 -.word action07_Jump_to_Return_Subroutine_1 -.word action08_Reset_Animation_1 -.word action09_Guard_Kneels_1 -.word action0A_Animation_9 -.word action0B_If_Guard_WastingTime_SwatFlies_RVL_2 -.word action0C_Guard_Gestures_1 -.word action0D_Guard_Looks_Around_When_Shot_At_1 -.word action0E_Guard_Steps_Sideways_RVL_2 -.word action0F_Guard_Hops_Sideways_RVL_2 -.word action10_Guard_Runs_Sideways_RVL_2 -.word action11_Guard_Walks_Firing_RVL_2 -.word action12_Guard_Runs_Firing_RVL_2 -.word action13_Guard_Rolls_On_Ground_Then_Fires_Crouched_RVL_2 -.word action14_Guard_Aims_Shoots_at_Bond_Guard_Pad_RVL_6 -.word action15_Guard_Kneels_Aims_Shoots_at_Bond_Guard_Pad_RVL_6 -.word action16_Guard_Shoots_Guards_Without_Animation_Change_RVL_6 -.word action17_Guard_Constantly_Angles_To_Face_RVL_6 -.word action18_Shoot_Guard_ID_In_Style_With_Weapon_Type_num_4 -.word action19_Guard_ID1_Shoots_Guard_ID2_In_Style_4 -.word action1A_Guard_Throws_Grenade_RVL_2 -.word action1B_Drop_Weapon_Inventory_num_RVL_5 -.word action1C_Guard_Jogs_To_Preset_3 -.word action1D_Guard_Jogs_To_Predefined_Preset_2328_1 -.word action1E_Guard_Walks_To_Preset_3 -.word action1F_Guard_Runs__To_Preset_3 -.word action20_Activate_Path_2 -.word action21_Guard_Surrenders_1 -.word action22_Guard_Set_To_Move_Fades_And_Disappear_1 -.word action23_Eliminate_Guard_ID_2 -.word action24_Activate_Object_At_Preset_RVL_If_Successful_4 -.word action25_Sound_Alarm_1 -.word action26_Turn_Off_Alarm_1 -.word action27_Return_False_Invalid_Type_2 -.word action28_Jog_To_Bond_Return_Loop_When_Reached_Bond_2 -.word action29_Walk_To_Bond_Return_Loop_When_Reached_Bond_2 -.word action2A_Run_To_Bond_Return_Loop_When_Reached_Bond_2 -.word action2B_Return_False_Invalid_Type_2 -.word action2C_Jog_To_Character_Position_RVL_On_Arrival_3 -.word action2D_Walk_To_Character_Position_RVL_On_Arrival_3 -.word action2E_Run_To_Character_Position_RVL_On_Arrival_3 -.word action2F_When_Guard_Stops_Moving_RVL_2 -.word action30_Detect_If_Guard_Killed_RVL_If_So_3 -.word action31_If_GuardID_Finish_DeathAnimation_RVL_3 -.word action32_If_Bond_In_Sight_RVL_2 -.word action33_Seed_Random_Byte_1 -.word action34_If_Seeded_Byte_LTV_Go_Into_RVL_3 -.word action35_If_Seeded_Byte_GTV_Go_Into_RVL_3 -.word action36_If_Alarm_Activated_RVL_Plus_Stack_2 -.word action37_If_Alarm_Activated_RVL_2 -.word action38_If_Toxic_Gas_Released_RVL_2 -.word action39_If_Guard_Heard_Gunfire_RVL_2 -.word action3A_If_Bond_Shoots_Another_Guard_RVL_2 -.word action3B_If_Guard_Killed_In_Front_Of_Guard_RVL_2 -.word action3C_If_Guard_In_Firing_Range_RVL_2 -.word action3D___Unused___Unknown___2 -.word action3E_If_Shot_Current_Guard_RVL_2 -.word action3F_If_Heard_Bond_RVL_2 -.word action40_If_Another_Guard_In_Same_Room_As_Guard_ID_RVL_3 -.word action41_If_Guard_Has_Been_On_Screen_RVL_2 -.word action42_If_Current_Guard_On_Screen_In_Loaded_Room_RVL_2 -.word action43_If_Guard_In_A_Room_Currently_Loaded_RVL_2 -.word action44_If_Room_Containing_Preset_Is_Loaded_RVL_4 -.word action45_Go_To_RVL_If_Bond_Has_Guard_At_Gunpoint_2 -.word action46_If_Fired_A_Shot_RVL_2 -.word action47_If_Distance_Between_Bond_And_Guard_LTV_RVL_3 -.word action48_If_Distance_Between_Bond_And_Guard_GTV_RVL_3 -.word action49_Test_if_Actor_and_Player_CCWAngle_LTV_RVL_Unused_3 -.word action4A_Test_if_Actor_and_Player_CCWAngle_GTV_RVL_Unused_3 -.word action4B_RVL_If_In_Proximity_Of_Bond_4 -.word action4C_RVL_If_Not_In_Proximity_Of_Bond_4 -.word action4D_When_Guard_In_Proximity_Of_Preset_RVL_7 -.word action4E_When_Guard_Not_In_Proximity_Of_Preset_RVL_7 -.word action4F_If_Current_Guard_Is_In_Units_Of_Guard_ID_RVL_5 -.word action50_If_Current_Guard_Is_Not_In_Units_Of_Guard_ID_RVL_5 -.word action51_SetClosestGuardUnitsGuardID_Then_RVL_IfSuccess_4 -.word action52_GoIntoRVLIf_In_Units_Of_Preset_6 -.word action53_GoIntoRVLIf_Not_In_Units_Of_Preset_6 -.word action54_GoIntoRVLIf_Guard_Is_At_Preset_5 -.word action55_GoIntoRVLIf_Entered_Room_with_Preset_4 -.word action56_GoIntoRVLIf_16_Object_num_Collected_3 -.word action57_GoIntoRVLIf_Specified_Weapon_Deposited_3 -.word action58_GoIntoRVLIf_SpecifiedWeaponDeposited_On16Object_4 -.word action59_GoIntoRVLIf_Specified_Weapon_Is_Out_3 -.word action5A_GoIntoRVLIf_Type_16_Object_num_Loaded_3 -.word action5B_GoIntoRVLIf_16_Object_num_Not_Destroyed_3 -.word action5C_GoIntoRVLIf_16_Object_num_Activated_3 -.word action5D_GoIntoRVLIf_Gadget_Used_On_16_Object_num_3 -.word action5E_16_Object_Activates_2 -.word action5F_16_Object_Explodes_2 -.word action60_Guard_Drops_16_Object_num_2 -.word action61_Kill_Guard_num_2 -.word action62_Guard_num_Throws_Equipment_2 -.word action63_Guard_Gives_Bond_16_Object_num_2 -.word action64_Type_16_Object_Equipped_On_Guard_3 -.word action65_Object_Moved_To_Preset_4 -.word action66_Open_Door_2 -.word action67_Close_Door_2 -.word action68_Check_Door_Status_RVL_If_Met_4 -.word action69_If_16_Object_Is_Valid_Door_RVL_3 -.word action6A_Set_Bits_To_Lock_On_Type_16_Door_3 -.word action6B_Unset_Bits_To_Lock_On_Type_16_Door_3 -.word action6C_If_Tagged_Locked_Door_16_Objects_Toggled_RVL_4 -.word action6D_If_Objective_num_Complete_RVL_3 -.word action6E_If_Guard_2328_Preset_RVL_3 -.word action6F_If_Guard_2328_Preset_Set_RVL_3 -.word action70_Go_Into_RVL_Difficulty_LTV_3 -.word action71_GoIntoRVLIf_Difficulty_GTV_3 -.word action72_Go_To_RVL_If_Time_LTV_4 -.word action73_Go_To_RVL_If_Time_GTV_4 -.word action74_Go_To_RVL_If_Power_On_Time_LTV_4 -.word action75_Go_To_RVL_If_Power_On_Time_GTV_4 -.word action76_Go_To_RVL_If_Stage_Number_LTV_3 -.word action77_Go_To_RVL_If_Stage_Number_GTV_3 -.word action78_Go_To_RVL_If_Guard_Shot_LTV_3 -.word action79_Go_To_RVL_If_Guard_Shot_GTV_3 -.word action7A_Go_To_RVL_If_Number_Near_Miss_Gunshots_LTV_3 -.word action7B_Go_To_RVL_If_Number_Near_Miss_Gunshots_GTV_3 -.word action7C_If_Guard_Health_Below_Value_RVL_4 -.word action7D_If_Guard_Health_Above_Value_RVL_4 -.word action7E_If_Guard_nums_Bitflag_01000000_Set_RVL_3 -.word action7F_If_Health_Below_Value_RVL_3 -.word action80_If_Health_Above_Value_RVL_3 -.word action81_Set_User_Byte_num1_2 -.word action82_Add_Value_To_User_Byte_num1_Max_To_FF_2 -.word action83_Subtract_Value_To_User_Byte_num1_Min_To_0_2 -.word action84_If_Value_GreaterThan_User_Byte_num1_RVL_3 -.word action85_If_User_Byte_num1_LessThan_Random_Value_RVL_2 -.word action86_Set_User_Byte_num2_2 -.word action87_Add_Value_To_User_Byte_num2_Max_To_FF_2 -.word action88_Subtract_Value_To_User_Byte_num2_Min_To_0_2 -.word action89_If_Value_GreaterThan_User_Byte_num2_RVL_3 -.word action8A_If_User_Byte_num2_LessThan_Random_Value_RVL_2 -.word action8B_Set_Guard_Hearing_Distance_3 -.word action8C_Set_Guard_Visible_Distance_2 -.word action8D_Set_Guard_Grenade_Probability_2 -.word action8E_Set_Guard_ID_2 -.word action8F_Set_Guard_Health_3 -.word action90_Set_Guard_Armor_Amount_3 -.word action91_Set_Character_Reaction_Speed_2 -.word action92_Set_Character_Injury_Recovery_Speed_2 -.word action93_Set_Character_Accuracy_2 -.word action94_Mask_Guard_Type_With_Value_2 -.word action95_Unmask_Guard_Type_With_Value_2 -.word action96_If_Guard_Type_Value_Is_Set_RVL_3 -.word action97_Mask_Guard_Type_Flags_With_Value_3 -.word action98_Unmask_Guard_Type_Flags_With_Value_3 -.word action99_If_Guard_Type_Flags_Set_RVL_4 -.word action9A_Set_Objective_Bits_5 -.word action9B_Unset_Objective_Value_5 -.word action9C_Check_If_Objective_Value_Return_Loop_If_So_6 -.word action9D_Set_Guard_Bit_Tags_5 -.word action9E_Unset_Guard_Bit_Tags_5 -.word action9F_Check_Guard_Bits_If_Same_RVL_6 -.word actionA0_Set_Guard_ID_Bits_6 -.word actionA1_Unset_Guard_ID_Bits_6 -.word actionA2_Check_Guard_Bits_If_Same_RVL_7 -.word actionA3_Set_State_Bits_16_Type_Object_6 -.word actionA4_Unset_State_Bits_16_Type_Object_6 -.word actionA5_Check_State_Bits_16_Type_Object_If_Same_RVL_7 -.word actionA6_Set_16_Object_States_More_6 -.word actionA7_Unset_16_Object_States_More_6 -.word actionA8_Check_16_Object_States_More_If_Same_RVL_7 -.word actionA9_Sets_To_Guard_ID_Fc_Current_Guard_2 -.word actionAA_Sets_FC_Value_For_Guard_ID_To_Guard_ID_3 -.word actionAB_Set_Current_Guards_2328_Value_To_Preset_3 -.word actionAC_Set_Guard_ID_numS_2328_Value_To_Preset_4 -.word actionAD_Debug_Comment_20 -.word actionAE_Reset_Cycle_Counter_And_Enable_It_1 -.word actionAF_Reset_Cycle_Counter_1 -.word actionB0_Disable_Cycle_Counter_1 -.word actionB1_Enable_Cycle_Counter_1 -.word actionB2_Check_Cycle_Counter_Enable_Status_2 -.word actionB3_If_Cycle_Counter_LTV_RVL_5 -.word actionB4_If_Cycle_Counter_GTV_RVL_5 -.word actionB5_Show_Timer_1 -.word actionB6_Hide_Timer_Silent_Countdown_1 -.word actionB7_Set_Timer_X_Seconds__Doesnt_Show_Timer_Yet_3 -.word actionB8_Stop_Timer_1 -.word actionB9_Start_Timer_1 -.word actionBA_Check_Timer_Enabled_Status_RVL_If_Enabled_2 -.word actionBB_Detect_If_Timer_Below_Certain_Point_RVL_If_So_4 -.word actionBC_Detect_If_Timer_Above_Certain_Point_RVL_If_So_4 -.word actionBD_Spawn_Guard_C -.word actionBE_Respawn_Guard_with_ID_B -.word actionBF_Spawn_Weapon_9 -.word actionC0_Spawn_Hat_8 -.word actionC1_GuardIDDoesAV_If_Gunfire_RVL_WhenComplete_5 -.word actionC2_Display_Text_Preset_Bottom_Screen_3 -.word actionC3_Display_Text_Preset_Top_Screen_3 -.word actionC4_Play_Sound_Effect_num_In_Slot_num_0_7_4 -.word actionC5_EmanateSoundSlotnumFrom16ObjectWithAudibleRV_5 -.word actionC6_EmanateSoundSlotnumFromPresetWithAudibleRV_6 -.word actionC7_Sound_In_Slot_num_Crecendos_To_Volume_Over_ms_6 -.word actionC8_Sound_In_Slot_num_Fades_To_Volume_Over_ms_6 -.word actionC9_Shut_Off_Sound_In_Slot_Number_2 -.word actionCA_If_Value_GreaterThan_Volume_7FFF_Max_RVL_5 -.word actionCB_Set_Object_Path_27_Type_Object_2 -.word actionCC_Set_Speed_Moving_Vehicle_27_Type_Object_5 -.word actionCD_Set_Speed_Aircraft_Rotor_5 -.word actionCE_Detect_If_Currently_In_Intro_Camera_RVL_If_So_2 -.word actionCF_Detect_If_Currently_In_Intro_Swirl_RVL_If_So_2 -.word actionD0_Change_Animation_Type_Of_Type_16_Monitor_4 -.word actionD1_If_Bond_In_Tank_RVL_2 -.word actionD2_Exit_Level_1 -.word actionD3_Return_From_Camera_Scene_1 -.word actionD4_Camera_Looks_At_Bond_From_Preset_3 -.word actionD5_Go_To_Camera_Position_6 -.word actionD6_If_Less_Than_Elevation_RVL_4 -.word actionD7_Disable_Text_Variable_2 -.word actionD8_Enable_All_On_Screen_Displays_1 -.word actionD9_GuardIDMovedToPresetReturnLoopIfSuccessful_5 -.word actionDA_Fade_Out_From_Cut_Scene_1 -.word actionDB_Fade_In_From_Black_Reset_DA_1 -.word actionDC_RVL_When_Fade_Complete_2 -.word actionDD_Remove_All_Guards_1 -.word actionDE_Bring_Removed_Guards_Back_1 -.word actionDF_Open_Type_16_Door_Used_Cut_Scenes_2 -.word actionE0_Guard_ID_Draws_Weapon_num_3 -.word actionE1_If_Fewer_than_This_Many_Players_Playing_RVL_3 -.word actionE2_If_Ammo_Value_In_Type_Is_LTV_RVL_4 -.word actionE3_Draw_Weapon_From_Inventory_In_Game_2 -.word actionE4_Draw_Weapon_From_Inventory_Cut_Scene_2 -.word actionE5_Set_Bonds_Speed_3 -.word actionE6_If_16_Object_And_Preset_Are_In_Same_Room_RVL_5 -.word actionE7_If_Guard_Moving_And_Shooting_RVL_2 -.word actionE8_If_Guard_Is_Shooting_RVL_2 -.word actionE9_Instantly_Switch_Sky_To_Sky_2_1 -.word actionEA_Stop_Game_Time_1 -.word actionEB_If_Key_Pressed_RVL_2 -.word actionEC_Disable_Player_Pickups_1 -.word actionED_Hide_First_Person_Display_1 -.word actionEE_Cuba_Circular_Camera_Aim_D -.word actionEF_Trigger_Credits_1 -.word actionF0_RVL_If_Credits_Completed_2 -.word actionF1_If_All_Objectives_Complete_RVL_2 -.word actionF2_Check_Current_Folder_Bond_RVL_3 -.word actionF3_If_Player_Pickups_Disabled_RVL_2 -.word actionF4_PlaysValuenum1ThemeSlot03ForValuenum2Seconds_4 -.word actionF5_Turn_Off_Music_In_Slot_num_0_3_2 -.word actionF6_Trigger_Explosions_Around_Bond_1 -.word actionF7_If_Number_Of_Hostages_Scientists_Killed_RVL_3 -.word actionF8_If_Guard_ID_00200000_Flag_Set_Unset_And_Return_3 -.word actionF9_Set_Killed_In_Action_Automatic_Mission_Failure_1 -.word actionFA_Guard_Fawns_On_Shoulder_1 -.word actionFB_SwitchToSkyValuenumAndActivateGasContainersIfExist_ -.word actionFC_Launch_Shuttle_2 - -glabel D_800528EC -.word 0x3dcccccd /*0.1*/ -glabel D_800528F0 -.word 0x3dcccccd /*0.1*/ -glabel D_800528F4 -.word 0x3dcccccd /*0.1*/ -glabel D_800528F8 -.word 0x3dcccccd /*0.1*/ - -glabel jpt_800528FC -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word .L7F038C24 -.word .L7F038C24 -.word .L7F038C24 -.word .L7F038C24 -.word .L7F038C24 -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C -.word loc_CODE_7F038C0C - -glabel D_80052974 -.word 0x3c888888 /*0.016666666*/ -glabel D_80052978 -.word 0x3e955555 /*0.29166666*/ -.word 0 - -.text -glabel parse_handle_actionblocks -/* 069FB4 7F035484 27BDF848 */ addiu $sp, $sp, -0x7b8 -/* 069FB8 7F035488 AFB7006C */ sw $s7, 0x6c($sp) -/* 069FBC 7F03548C AFB60068 */ sw $s6, 0x68($sp) #free s2 for CurrentActionByte ? -/* 069FC0 7F035490 24010003 */ li $at, 3 #ai_sleep -/* 069FC4 7F035494 AFBF0074 */ sw $ra, 0x74($sp) -/* 069FC8 7F035498 AFBE0070 */ sw $fp, 0x70($sp) -/* 069FCC 7F03549C AFB50064 */ sw $s5, 0x64($sp) -/* 069FD0 7F0354A0 AFB40060 */ sw $s4, 0x60($sp) -/* 069FD4 7F0354A4 AFB3005C */ sw $s3, 0x5c($sp) -/* 069FD8 7F0354A8 AFB20058 */ sw $s2, 0x58($sp) #free s2 for CurrentActionByteSize ? -/* 069FDC 7F0354AC AFB10054 */ sw $s1, 0x54($sp) -/* 069FE0 7F0354B0 AFB00050 */ sw $s0, 0x50($sp) -/* 069FE4 7F0354B4 F7BA0048 */ sdc1 $f26, 0x48($sp) -/* 069FE8 7F0354B8 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 069FEC 7F0354BC F7B60038 */ sdc1 $f22, 0x38($sp) -/* 069FF0 7F0354C0 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 069FF4 7F0354C4 0000B825 */ move $s7, $zero -/* 069FF8 7F0354C8 00003025 */ move $a2, $zero -/* 069FFC 7F0354CC 00001825 */ move $v1, $zero -/* 06A000 7F0354D0 14A10003 */ bne $a1, $at, .L7F0354E0 -/* 06A004 7F0354D4 0000B025 */ move $s6, $zero -/* 06A008 7F0354D8 1000000E */ b .L7F035514 -/* 06A00C 7F0354DC 0080B825 */ move $s7, $a0 -.L7F0354E0: -/* 06A010 7F0354E0 24010001 */ li $at, 1 -/* 06A014 7F0354E4 14A1000B */ bne $a1, $at, .L7F035514 -/* 06A018 7F0354E8 00000000 */ nop -/* 06A01C 7F0354EC 90820003 */ lbu $v0, 3($a0) -/* 06A020 7F0354F0 24010027 */ li $at, 39 -/* 06A024 7F0354F4 54410004 */ bnel $v0, $at, .L7F035508 -/* 06A028 7F0354F8 24010028 */ li $at, 40 -/* 06A02C 7F0354FC 10000005 */ b .L7F035514 -/* 06A030 7F035500 00803025 */ move $a2, $a0 -/* 06A034 7F035504 24010028 */ li $at, 40 -.L7F035508: -/* 06A038 7F035508 14410002 */ bne $v0, $at, .L7F035514 -/* 06A03C 7F03550C 00000000 */ nop -/* 06A040 7F035510 00801825 */ move $v1, $a0 -.L7F035514: -/* 06A044 7F035514 12E00005 */ beqz $s7, .L7F03552C -/* 06A048 7F035518 3C018005 */ lui $at, %hi(D_800524F4) -/* 06A04C 7F03551C 96F20108 */ lhu $s2, 0x108($s7) # Load Size of command -/* 06A050 7F035520 8EF60104 */ lw $s6, 0x104($s7) # load command -/* 06A054 7F035524 1000000C */ b .L7F035558 -/* 06A058 7F035528 AFB207A4 */ sw $s2, 0x7a4($sp) # save command size -.L7F03552C: -/* 06A05C 7F03552C 10C00005 */ beqz $a2, .L7F035544 -/* 06A060 7F035530 00000000 */ nop -/* 06A064 7F035534 94D20084 */ lhu $s2, 0x84($a2) -/* 06A068 7F035538 8CD60080 */ lw $s6, 0x80($a2) -/* 06A06C 7F03553C 10000006 */ b .L7F035558 -/* 06A070 7F035540 AFB207A4 */ sw $s2, 0x7a4($sp) -.L7F035544: -/* 06A074 7F035544 10600004 */ beqz $v1, .L7F035558 -/* 06A078 7F035548 00000000 */ nop -/* 06A07C 7F03554C 94720084 */ lhu $s2, 0x84($v1) -/* 06A080 7F035550 8C760080 */ lw $s6, 0x80($v1) -/* 06A084 7F035554 AFB207A4 */ sw $s2, 0x7a4($sp) -.L7F035558: -/* 06A088 7F035558 12C01329 */ beqz $s6, Action04_End_1 -/* 06A08C 7F03555C 8FB207A4 */ lw $s2, 0x7a4($sp) -/* 06A090 7F035560 C43A24F4 */ lwc1 $f26, %lo(D_800524F4)($at) -/* 06A094 7F035564 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 06A098 7F035568 4481C000 */ mtc1 $at, $f24 -/* 06A09C 7F03556C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 06A0A0 7F035570 3C1E8003 */ lui $fp, %hi(ptr_guard_data) -/* 06A0A4 7F035574 4481B000 */ mtc1 $at, $f22 -/* 06A0A8 7F035578 4480A000 */ mtc1 $zero, $f20 -/* 06A0AC 7F03557C 27DECC64 */ addiu $fp, %lo(ptr_guard_data) # addiu $fp, $fp, -0x339c -/* 06A0B0 7F035580 02D28821 */ addu $s1, $s6, $s2 -/* 06A0B4 7F035584 AFA307AC */ sw $v1, 0x7ac($sp) -/* 06A0B8 7F035588 AFA607B0 */ sw $a2, 0x7b0($sp) -GetByteS1_ParseCommandByte_SwitchCase: /*GetCommandByte(cmd)*/ -/* 06A0BC 7F03558C 922E0000 */ lbu $t6, ($s1) #t6 = byte(s1) -ParseCommandByte_SwitchCase: -/* 06A0C0 7F035590 02C02025 */ move $a0, $s6 -/* 06A0C4 7F035594 2DC100FD */ sltiu $at, $t6, 0xfd # if Cmd !< AI_CMDS_TOTAL then -/* 06A0C8 7F035598 10201314 */ beqz $at, GetCmdLength # Cmd<<2 goto GetCmdLength -/* 06A0CC 7F03559C 000E7080 */ sll $t6, $t6, 2 -/* 06A0D0 7F0355A0 3C018005 */ lui $at, %hi(jpt_800524F8) -/* 06A0D4 7F0355A4 002E0821 */ addu $at, $at, $t6 # else //get cmd -/* 06A0D8 7F0355A8 8C2E24F8 */ lw $t6, %lo(jpt_800524F8)($at) # switch t6(look up table for switch 0x800524f8) -/* 06A0DC 7F0355AC 01C00008 */ jr $t6 # return cmd -/* 06A0E0 7F0355B0 00000000 */ nop -Action00_GoToLabel: #case 0 -/* 06A0E4 7F0355B4 02C02025 */ move $a0, $s6 -/* 06A0E8 7F0355B8 02402825 */ move $a1, $s2 -/* 06A0EC 7F0355BC 0FC0D4BC */ jal true_if_sucessfully_performing_action #(command, commandsize, nextcommand[4]) -/* 06A0F0 7F0355C0 92260001 */ lbu $a2, 1($s1) -/* 06A0F4 7F0355C4 00409025 */ move $s2, $v0 -/* 06A0F8 7F0355C8 1000FFF0 */ b GetByteS1_ParseCommandByte_SwitchCase # GetCommandByte(currcmd + currcmdLength); -/* 06A0FC 7F0355CC 02C28821 */ addu $s1, $s6, $v0 -Action01_GoToLabelFromTop: #case 1 -/* 06A100 7F0355D0 02C02025 */ move $a0, $s6 -/* 06A104 7F0355D4 00002825 */ move $a1, $zero -/* 06A108 7F0355D8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A10C 7F0355DC 92260001 */ lbu $a2, 1($s1) -/* 06A110 7F0355E0 00409025 */ move $s2, $v0 -/* 06A114 7F0355E4 1000FFE9 */ b GetByteS1_ParseCommandByte_SwitchCase #break -/* 06A118 7F0355E8 02C28821 */ addu $s1, $s6, $v0 -Action02_Label: #case 2 -/* 06A11C 7F0355EC 26520002 */ addiu $s2, $s2, 2 # s2++ PC ? # CurrentActionByte += 2 -/* 06A120 7F0355F0 1000FFE6 */ b GetByteS1_ParseCommandByte_SwitchCase # s1 +=2; goto 58c -/* 06A124 7F0355F4 26310002 */ addiu $s1, $s1, 2 -action03_Leave_The_Routine_When_Return_Continue_From_Spot_1: -/* 06A128 7F0355F8 12E00004 */ beqz $s7, .L7F03560C # s2++ PC? -/* 06A12C 7F0355FC 26520001 */ addiu $s2, $s2, 1 # if s7 = 0 goto 0c If actionblock not initilised else ? -/* 06A130 7F035600 AEF60104 */ sw $s6, 0x104($s7) # s7.104 = s6 -/* 06A134 7F035604 100012FE */ b Action04_End_1 # s7.108 = u16(s2) -/* 06A138 7F035608 A6F20108 */ sh $s2, 0x108($s7) # goto end1 (load return addr) -.L7F03560C: -/* 06A13C 7F03560C 8FAF07B0 */ lw $t7, 0x7b0($sp) -/* 06A140 7F035610 8FB807AC */ lw $t8, 0x7ac($sp) -/* 06A144 7F035614 11E00004 */ beqz $t7, .L7F035628 # if t7 = 0 goto 28 -/* 06A148 7F035618 00000000 */ nop -/* 06A14C 7F03561C ADF60080 */ sw $s6, 0x80($t7) #else t7.80 = s6 -/* 06A150 7F035620 100012F7 */ b Action04_End_1 # t7.84 = u16(s2) -/* 06A154 7F035624 A5F20084 */ sh $s2, 0x84($t7) # end1 (load return addr) -.L7F035628: -/* 06A158 7F035628 530012F6 */ beql $t8, $zero, Action04_End_2 # load return addr (same as end1 (sp.74)) -/* 06A15C 7F03562C 8FBF0074 */ lw $ra, 0x74($sp) # if t8 = 0 goto end2 (skip return addr) -/* 06A160 7F035630 AF160080 */ sw $s6, 0x80($t8) # else t8.80 = s6 -/* 06A164 7F035634 100012F2 */ b Action04_End_1 # t8.84 = u16(s2) -/* 06A168 7F035638 A7120084 */ sh $s2, 0x84($t8) # end1(load return addr) -action05_Jump_To_Function_4: -/* 06A16C 7F03563C 92390002 */ lbu $t9, 2($s1) -/* 06A170 7F035640 922A0003 */ lbu $t2, 3($s1) -/* 06A174 7F035644 92250001 */ lbu $a1, 1($s1) -/* 06A178 7F035648 00194A00 */ sll $t1, $t9, 8 -/* 06A17C 7F03564C 012A1825 */ or $v1, $t1, $t2 -/* 06A180 7F035650 306BFFFF */ andi $t3, $v1, 0xffff -/* 06A184 7F035654 240100FD */ li $at, 253 -/* 06A188 7F035658 14A10007 */ bne $a1, $at, .L7F035678 -/* 06A18C 7F03565C 01601825 */ move $v1, $t3 -/* 06A190 7F035660 01602025 */ move $a0, $t3 -/* 06A194 7F035664 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A198 7F035668 00009025 */ move $s2, $zero -/* 06A19C 7F03566C 0040B025 */ move $s6, $v0 -/* 06A1A0 7F035670 1000FFC6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A1A4 7F035674 00408825 */ move $s1, $v0 -.L7F035678: -/* 06A1A8 7F035678 02E02025 */ move $a0, $s7 -/* 06A1AC 7F03567C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A1B0 7F035680 A7A30792 */ sh $v1, 0x792($sp) -/* 06A1B4 7F035684 97A30792 */ lhu $v1, 0x792($sp) -/* 06A1B8 7F035688 10400006 */ beqz $v0, .L7F0356A4 -/* 06A1BC 7F03568C 00408025 */ move $s0, $v0 -/* 06A1C0 7F035690 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A1C4 7F035694 00602025 */ move $a0, $v1 -/* 06A1C8 7F035698 AE020104 */ sw $v0, 0x104($s0) -/* 06A1CC 7F03569C A6000108 */ sh $zero, 0x108($s0) -/* 06A1D0 7F0356A0 A2000008 */ sb $zero, 8($s0) -.L7F0356A4: -/* 06A1D4 7F0356A4 26520004 */ addiu $s2, $s2, 4 -/* 06A1D8 7F0356A8 1000FFB8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A1DC 7F0356AC 26310004 */ addiu $s1, $s1, 4 -action06_Set_Return_Subroutine_for_0007_Command_3: -/* 06A1E0 7F0356B0 922C0001 */ lbu $t4, 1($s1) -/* 06A1E4 7F0356B4 922E0002 */ lbu $t6, 2($s1) -/* 06A1E8 7F0356B8 8FB807B0 */ lw $t8, 0x7b0($sp) -/* 06A1EC 7F0356BC 000C6A00 */ sll $t5, $t4, 8 -/* 06A1F0 7F0356C0 01AE1025 */ or $v0, $t5, $t6 -/* 06A1F4 7F0356C4 304FFFFF */ andi $t7, $v0, 0xffff -/* 06A1F8 7F0356C8 12E00005 */ beqz $s7, .L7F0356E0 -/* 06A1FC 7F0356CC 01E01025 */ move $v0, $t7 -/* 06A200 7F0356D0 A6EF010A */ sh $t7, 0x10a($s7) -/* 06A204 7F0356D4 26520003 */ addiu $s2, $s2, 3 -/* 06A208 7F0356D8 1000FFAC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A20C 7F0356DC 26310003 */ addiu $s1, $s1, 3 -.L7F0356E0: -/* 06A210 7F0356E0 13000005 */ beqz $t8, .L7F0356F8 -/* 06A214 7F0356E4 8FB907AC */ lw $t9, 0x7ac($sp) -/* 06A218 7F0356E8 A7020086 */ sh $v0, 0x86($t8) -/* 06A21C 7F0356EC 26520003 */ addiu $s2, $s2, 3 -/* 06A220 7F0356F0 1000FFA6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A224 7F0356F4 26310003 */ addiu $s1, $s1, 3 -.L7F0356F8: -/* 06A228 7F0356F8 13200002 */ beqz $t9, .L7F035704 -/* 06A22C 7F0356FC 26520003 */ addiu $s2, $s2, 3 -/* 06A230 7F035700 A7220086 */ sh $v0, 0x86($t9) -.L7F035704: -/* 06A234 7F035704 1000FFA1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A238 7F035708 26310003 */ addiu $s1, $s1, 3 -action07_Jump_to_Return_Subroutine_1: -/* 06A23C 7F03570C 12E00006 */ beqz $s7, .L7F035728 -/* 06A240 7F035710 00009025 */ move $s2, $zero -/* 06A244 7F035714 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A248 7F035718 86E4010A */ lh $a0, 0x10a($s7) -/* 06A24C 7F03571C 0040B025 */ move $s6, $v0 -/* 06A250 7F035720 1000FF9A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A254 7F035724 00408825 */ move $s1, $v0 -.L7F035728: -/* 06A258 7F035728 8FA907B0 */ lw $t1, 0x7b0($sp) -/* 06A25C 7F03572C 8FAA07AC */ lw $t2, 0x7ac($sp) -/* 06A260 7F035730 11200006 */ beqz $t1, .L7F03574C -/* 06A264 7F035734 00000000 */ nop -/* 06A268 7F035738 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A26C 7F03573C 85240086 */ lh $a0, 0x86($t1) -/* 06A270 7F035740 0040B025 */ move $s6, $v0 -/* 06A274 7F035744 1000FF91 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A278 7F035748 00408825 */ move $s1, $v0 -.L7F03574C: -/* 06A27C 7F03574C 11400004 */ beqz $t2, .L7F035760 -/* 06A280 7F035750 00000000 */ nop -/* 06A284 7F035754 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06A288 7F035758 85440086 */ lh $a0, 0x86($t2) -/* 06A28C 7F03575C 0040B025 */ move $s6, $v0 -.L7F035760: -/* 06A290 7F035760 1000FF8A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A294 7F035764 02C08825 */ move $s1, $s6 -action08_Reset_Animation_1: -/* 06A298 7F035768 0FC0CD75 */ jal sub_GAME_7F0335D4 -/* 06A29C 7F03576C 02E02025 */ move $a0, $s7 -/* 06A2A0 7F035770 26520001 */ addiu $s2, $s2, 1 -/* 06A2A4 7F035774 1000FF85 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A2A8 7F035778 26310001 */ addiu $s1, $s1, 1 -action09_Guard_Kneels_1: -/* 06A2AC 7F03577C 0FC0CDB1 */ jal check_if_able_to_then_kneel -/* 06A2B0 7F035780 02E02025 */ move $a0, $s7 -/* 06A2B4 7F035784 26520001 */ addiu $s2, $s2, 1 -/* 06A2B8 7F035788 1000FF80 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A2BC 7F03578C 26310001 */ addiu $s1, $s1, 1 -action0A_Animation_9: -/* 06A2C0 7F035790 922B0001 */ lbu $t3, 1($s1) -/* 06A2C4 7F035794 922D0002 */ lbu $t5, 2($s1) -/* 06A2C8 7F035798 3401FFFF */ li $at, 65535 -/* 06A2CC 7F03579C 000B6200 */ sll $t4, $t3, 8 -/* 06A2D0 7F0357A0 018D7025 */ or $t6, $t4, $t5 -/* 06A2D4 7F0357A4 AFAE077C */ sw $t6, 0x77c($sp) -/* 06A2D8 7F0357A8 922F0003 */ lbu $t7, 3($s1) -/* 06A2DC 7F0357AC 92290005 */ lbu $t1, 5($s1) -/* 06A2E0 7F0357B0 92390004 */ lbu $t9, 4($s1) -/* 06A2E4 7F0357B4 922B0006 */ lbu $t3, 6($s1) -/* 06A2E8 7F0357B8 000FC200 */ sll $t8, $t7, 8 -/* 06A2EC 7F0357BC 00095200 */ sll $t2, $t1, 8 -/* 06A2F0 7F0357C0 03198025 */ or $s0, $t8, $t9 -/* 06A2F4 7F0357C4 014B6025 */ or $t4, $t2, $t3 -/* 06A2F8 7F0357C8 16010002 */ bne $s0, $at, .L7F0357D4 -/* 06A2FC 7F0357CC AFAC0774 */ sw $t4, 0x774($sp) -/* 06A300 7F0357D0 00008025 */ move $s0, $zero -.L7F0357D4: -/* 06A304 7F0357D4 8FB30774 */ lw $s3, 0x774($sp) -/* 06A308 7F0357D8 3401FFFF */ li $at, 65535 -/* 06A30C 7F0357DC 02E02025 */ move $a0, $s7 -/* 06A310 7F0357E0 16610002 */ bne $s3, $at, .L7F0357EC -/* 06A314 7F0357E4 8FAF07AC */ lw $t7, 0x7ac($sp) -/* 06A318 7F0357E8 2413FFFF */ li $s3, -1 -.L7F0357EC: -/* 06A31C 7F0357EC 12E0000C */ beqz $s7, .L7F035820 -/* 06A320 7F0357F0 00000000 */ nop -/* 06A324 7F0357F4 922D0007 */ lbu $t5, 7($s1) -/* 06A328 7F0357F8 8FA5077C */ lw $a1, 0x77c($sp) -/* 06A32C 7F0357FC 02003025 */ move $a2, $s0 -/* 06A330 7F035800 AFAD0010 */ sw $t5, 0x10($sp) -/* 06A334 7F035804 922E0008 */ lbu $t6, 8($s1) -/* 06A338 7F035808 02603825 */ move $a3, $s3 -/* 06A33C 7F03580C 0FC0CDC0 */ jal check_if_able_to_then_perform_animation -/* 06A340 7F035810 AFAE0014 */ sw $t6, 0x14($sp) -/* 06A344 7F035814 26520009 */ addiu $s2, $s2, 9 -/* 06A348 7F035818 1000FF5C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A34C 7F03581C 26310009 */ addiu $s1, $s1, 9 -.L7F035820: -/* 06A350 7F035820 11E0001B */ beqz $t7, .L7F035890 -/* 06A354 7F035824 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 06A358 7F035828 44813000 */ mtc1 $at, $f6 -/* 06A35C 7F03582C 8DE40014 */ lw $a0, 0x14($t7) -/* 06A360 7F035830 44902000 */ mtc1 $s0, $f4 -/* 06A364 7F035834 E7A60010 */ swc1 $f6, 0x10($sp) -/* 06A368 7F035838 92290008 */ lbu $t1, 8($s1) -/* 06A36C 7F03583C 46802120 */ cvt.s.w $f4, $f4 -/* 06A370 7F035840 8FB8077C */ lw $t8, 0x77c($sp) -/* 06A374 7F035844 44894000 */ mtc1 $t1, $f8 -/* 06A378 7F035848 3C058003 */ lui $a1, %hi(animation_table_ptrs2) -/* 06A37C 7F03584C 0018C880 */ sll $t9, $t8, 2 -/* 06A380 7F035850 468042A0 */ cvt.s.w $f10, $f8 -/* 06A384 7F035854 00B92821 */ addu $a1, $a1, $t9 -/* 06A388 7F035858 44072000 */ mfc1 $a3, $f4 -/* 06A38C 7F03585C 8CA5A04C */ lw $a1, %lo(animation_table_ptrs2)($a1) -/* 06A390 7F035860 00003025 */ move $a2, $zero -/* 06A394 7F035864 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 06A398 7F035868 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 06A39C 7F03586C 06620009 */ bltzl $s3, .L7F035894 -/* 06A3A0 7F035870 26520009 */ addiu $s2, $s2, 9 -/* 06A3A4 7F035874 44938000 */ mtc1 $s3, $f16 -/* 06A3A8 7F035878 8FAA07AC */ lw $t2, 0x7ac($sp) -/* 06A3AC 7F03587C 46808420 */ cvt.s.w $f16, $f16 -/* 06A3B0 7F035880 8D440014 */ lw $a0, 0x14($t2) -/* 06A3B4 7F035884 44058000 */ mfc1 $a1, $f16 -/* 06A3B8 7F035888 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 06A3BC 7F03588C 00000000 */ nop -.L7F035890: -/* 06A3C0 7F035890 26520009 */ addiu $s2, $s2, 9 -.L7F035894: -/* 06A3C4 7F035894 1000FF3D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A3C8 7F035898 26310009 */ addiu $s1, $s1, 9 -action0B_If_Guard_WastingTime_SwatFlies_RVL_2: -/* 06A3CC 7F03589C 82EB0007 */ lb $t3, 7($s7) -/* 06A3D0 7F0358A0 24010003 */ li $at, 3 -/* 06A3D4 7F0358A4 02C02025 */ move $a0, $s6 -/* 06A3D8 7F0358A8 15610006 */ bne $t3, $at, .L7F0358C4 -/* 06A3DC 7F0358AC 02402825 */ move $a1, $s2 -/* 06A3E0 7F0358B0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A3E4 7F0358B4 92260001 */ lbu $a2, 1($s1) -/* 06A3E8 7F0358B8 00409025 */ move $s2, $v0 -/* 06A3EC 7F0358BC 1000FF33 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A3F0 7F0358C0 02C28821 */ addu $s1, $s6, $v0 -.L7F0358C4: -/* 06A3F4 7F0358C4 26520002 */ addiu $s2, $s2, 2 -/* 06A3F8 7F0358C8 1000FF30 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A3FC 7F0358CC 26310002 */ addiu $s1, $s1, 2 -action0C_Guard_Gestures_1: -/* 06A400 7F0358D0 0FC0CD84 */ jal check_if_able_to_then_shuffle_feet -/* 06A404 7F0358D4 02E02025 */ move $a0, $s7 -/* 06A408 7F0358D8 26520001 */ addiu $s2, $s2, 1 -/* 06A40C 7F0358DC 1000FF2B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A410 7F0358E0 26310001 */ addiu $s1, $s1, 1 -action0D_Guard_Looks_Around_When_Shot_At_1: -/* 06A414 7F0358E4 0FC0CDA2 */ jal check_if_able_to_then_look_flustered -/* 06A418 7F0358E8 02E02025 */ move $a0, $s7 -/* 06A41C 7F0358EC 26520001 */ addiu $s2, $s2, 1 -/* 06A420 7F0358F0 1000FF26 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A424 7F0358F4 26310001 */ addiu $s1, $s1, 1 -action2F_When_Guard_Stops_Moving_RVL_2: -/* 06A428 7F0358F8 0FC0A717 */ jal check_if_actor_stationary -/* 06A42C 7F0358FC 02E02025 */ move $a0, $s7 -/* 06A430 7F035900 10400007 */ beqz $v0, .L7F035920 -/* 06A434 7F035904 02C02025 */ move $a0, $s6 -/* 06A438 7F035908 02402825 */ move $a1, $s2 -/* 06A43C 7F03590C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A440 7F035910 92260001 */ lbu $a2, 1($s1) -/* 06A444 7F035914 00409025 */ move $s2, $v0 -/* 06A448 7F035918 1000FF1C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A44C 7F03591C 02C28821 */ addu $s1, $s6, $v0 -.L7F035920: -/* 06A450 7F035920 26520002 */ addiu $s2, $s2, 2 -/* 06A454 7F035924 1000FF19 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A458 7F035928 26310002 */ addiu $s1, $s1, 2 -action30_Detect_If_Guard_Killed_RVL_If_So_3: -/* 06A45C 7F03592C 02E02025 */ move $a0, $s7 -/* 06A460 7F035930 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A464 7F035934 92250001 */ lbu $a1, 1($s1) -/* 06A468 7F035938 10400004 */ beqz $v0, .L7F03594C -/* 06A46C 7F03593C 00402025 */ move $a0, $v0 -/* 06A470 7F035940 0FC0A8A9 */ jal true_if_actor_dying_fading -/* 06A474 7F035944 00000000 */ nop -/* 06A478 7F035948 10400007 */ beqz $v0, .L7F035968 -.L7F03594C: -/* 06A47C 7F03594C 02C02025 */ move $a0, $s6 -/* 06A480 7F035950 02402825 */ move $a1, $s2 -/* 06A484 7F035954 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A488 7F035958 92260002 */ lbu $a2, 2($s1) -/* 06A48C 7F03595C 00409025 */ move $s2, $v0 -/* 06A490 7F035960 1000FF0A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A494 7F035964 02C28821 */ addu $s1, $s6, $v0 -.L7F035968: -/* 06A498 7F035968 26520003 */ addiu $s2, $s2, 3 -/* 06A49C 7F03596C 1000FF07 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A4A0 7F035970 26310003 */ addiu $s1, $s1, 3 -action31_If_GuardID_Finish_DeathAnimation_RVL_3: -/* 06A4A4 7F035974 02E02025 */ move $a0, $s7 -/* 06A4A8 7F035978 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A4AC 7F03597C 92250001 */ lbu $a1, 1($s1) -/* 06A4B0 7F035980 10400003 */ beqz $v0, .L7F035990 -/* 06A4B4 7F035984 02C02025 */ move $a0, $s6 -/* 06A4B8 7F035988 8C4C001C */ lw $t4, 0x1c($v0) -/* 06A4BC 7F03598C 15800006 */ bnez $t4, .L7F0359A8 -.L7F035990: -/* 06A4C0 7F035990 02402825 */ move $a1, $s2 -/* 06A4C4 7F035994 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A4C8 7F035998 92260002 */ lbu $a2, 2($s1) -/* 06A4CC 7F03599C 00409025 */ move $s2, $v0 -/* 06A4D0 7F0359A0 1000FEFA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A4D4 7F0359A4 02C28821 */ addu $s1, $s6, $v0 -.L7F0359A8: -/* 06A4D8 7F0359A8 26520003 */ addiu $s2, $s2, 3 -/* 06A4DC 7F0359AC 1000FEF7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A4E0 7F0359B0 26310003 */ addiu $s1, $s1, 3 -action32_If_Bond_In_Sight_RVL_2: -/* 06A4E4 7F0359B4 0FC0A75C */ jal sub_GAME_7F029D70 -/* 06A4E8 7F0359B8 02E02025 */ move $a0, $s7 -/* 06A4EC 7F0359BC 10400007 */ beqz $v0, .L7F0359DC -/* 06A4F0 7F0359C0 02C02025 */ move $a0, $s6 -/* 06A4F4 7F0359C4 02402825 */ move $a1, $s2 -/* 06A4F8 7F0359C8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A4FC 7F0359CC 92260001 */ lbu $a2, 1($s1) -/* 06A500 7F0359D0 00409025 */ move $s2, $v0 -/* 06A504 7F0359D4 1000FEED */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A508 7F0359D8 02C28821 */ addu $s1, $s6, $v0 -.L7F0359DC: -/* 06A50C 7F0359DC 26520002 */ addiu $s2, $s2, 2 -/* 06A510 7F0359E0 1000FEEA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A514 7F0359E4 26310002 */ addiu $s1, $s1, 2 -action0E_Guard_Steps_Sideways_RVL_2: -/* 06A518 7F0359E8 0FC0A8B2 */ jal actor_steps_sideways -/* 06A51C 7F0359EC 02E02025 */ move $a0, $s7 -/* 06A520 7F0359F0 10400007 */ beqz $v0, .L7F035A10 -/* 06A524 7F0359F4 02C02025 */ move $a0, $s6 -/* 06A528 7F0359F8 02402825 */ move $a1, $s2 -/* 06A52C 7F0359FC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A530 7F035A00 92260001 */ lbu $a2, 1($s1) -/* 06A534 7F035A04 00409025 */ move $s2, $v0 -/* 06A538 7F035A08 1000FEE0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A53C 7F035A0C 02C28821 */ addu $s1, $s6, $v0 -.L7F035A10: -/* 06A540 7F035A10 26520002 */ addiu $s2, $s2, 2 -/* 06A544 7F035A14 1000FEDD */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A548 7F035A18 26310002 */ addiu $s1, $s1, 2 -action0F_Guard_Hops_Sideways_RVL_2: -/* 06A54C 7F035A1C 0FC0A90A */ jal actor_hops_sideways -/* 06A550 7F035A20 02E02025 */ move $a0, $s7 -/* 06A554 7F035A24 10400007 */ beqz $v0, .L7F035A44 -/* 06A558 7F035A28 02C02025 */ move $a0, $s6 -/* 06A55C 7F035A2C 02402825 */ move $a1, $s2 -/* 06A560 7F035A30 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A564 7F035A34 92260001 */ lbu $a2, 1($s1) -/* 06A568 7F035A38 00409025 */ move $s2, $v0 -/* 06A56C 7F035A3C 1000FED3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A570 7F035A40 02C28821 */ addu $s1, $s6, $v0 -.L7F035A44: -/* 06A574 7F035A44 26520002 */ addiu $s2, $s2, 2 -/* 06A578 7F035A48 1000FED0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A57C 7F035A4C 26310002 */ addiu $s1, $s1, 2 -action10_Guard_Runs_Sideways_RVL_2: -/* 06A580 7F035A50 0FC0A962 */ jal actor_runs_sideways -/* 06A584 7F035A54 02E02025 */ move $a0, $s7 -/* 06A588 7F035A58 10400007 */ beqz $v0, .L7F035A78 -/* 06A58C 7F035A5C 02C02025 */ move $a0, $s6 -/* 06A590 7F035A60 02402825 */ move $a1, $s2 -/* 06A594 7F035A64 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A598 7F035A68 92260001 */ lbu $a2, 1($s1) -/* 06A59C 7F035A6C 00409025 */ move $s2, $v0 -/* 06A5A0 7F035A70 1000FEC6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A5A4 7F035A74 02C28821 */ addu $s1, $s6, $v0 -.L7F035A78: -/* 06A5A8 7F035A78 26520002 */ addiu $s2, $s2, 2 -/* 06A5AC 7F035A7C 1000FEC3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A5B0 7F035A80 26310002 */ addiu $s1, $s1, 2 -action11_Guard_Walks_Firing_RVL_2: -/* 06A5B4 7F035A84 0FC0A9C1 */ jal actor_walks_and_fires -/* 06A5B8 7F035A88 02E02025 */ move $a0, $s7 -/* 06A5BC 7F035A8C 10400007 */ beqz $v0, .L7F035AAC -/* 06A5C0 7F035A90 02C02025 */ move $a0, $s6 -/* 06A5C4 7F035A94 02402825 */ move $a1, $s2 -/* 06A5C8 7F035A98 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A5CC 7F035A9C 92260001 */ lbu $a2, 1($s1) -/* 06A5D0 7F035AA0 00409025 */ move $s2, $v0 -/* 06A5D4 7F035AA4 1000FEB9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A5D8 7F035AA8 02C28821 */ addu $s1, $s6, $v0 -.L7F035AAC: -/* 06A5DC 7F035AAC 26520002 */ addiu $s2, $s2, 2 -/* 06A5E0 7F035AB0 1000FEB6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A5E4 7F035AB4 26310002 */ addiu $s1, $s1, 2 -action12_Guard_Runs_Firing_RVL_2: -/* 06A5E8 7F035AB8 0FC0A9FE */ jal actor_runs_and_fires -/* 06A5EC 7F035ABC 02E02025 */ move $a0, $s7 -/* 06A5F0 7F035AC0 10400007 */ beqz $v0, .L7F035AE0 -/* 06A5F4 7F035AC4 02C02025 */ move $a0, $s6 -/* 06A5F8 7F035AC8 02402825 */ move $a1, $s2 -/* 06A5FC 7F035ACC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A600 7F035AD0 92260001 */ lbu $a2, 1($s1) -/* 06A604 7F035AD4 00409025 */ move $s2, $v0 -/* 06A608 7F035AD8 1000FEAC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A60C 7F035ADC 02C28821 */ addu $s1, $s6, $v0 -.L7F035AE0: -/* 06A610 7F035AE0 26520002 */ addiu $s2, $s2, 2 -/* 06A614 7F035AE4 1000FEA9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A618 7F035AE8 26310002 */ addiu $s1, $s1, 2 -action13_Guard_Rolls_On_Ground_Then_Fires_Crouched_RVL_2: -/* 06A61C 7F035AEC 0FC0AA3B */ jal actor_rolls_fires_crouched -/* 06A620 7F035AF0 02E02025 */ move $a0, $s7 -/* 06A624 7F035AF4 10400007 */ beqz $v0, .L7F035B14 -/* 06A628 7F035AF8 02C02025 */ move $a0, $s6 -/* 06A62C 7F035AFC 02402825 */ move $a1, $s2 -/* 06A630 7F035B00 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A634 7F035B04 92260001 */ lbu $a2, 1($s1) -/* 06A638 7F035B08 00409025 */ move $s2, $v0 -/* 06A63C 7F035B0C 1000FE9F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A640 7F035B10 02C28821 */ addu $s1, $s6, $v0 -.L7F035B14: -/* 06A644 7F035B14 26520002 */ addiu $s2, $s2, 2 -/* 06A648 7F035B18 1000FE9C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A64C 7F035B1C 26310002 */ addiu $s1, $s1, 2 -action14_Guard_Aims_Shoots_at_Bond_Guard_Pad_RVL_6: -/* 06A650 7F035B20 922D0003 */ lbu $t5, 3($s1) -/* 06A654 7F035B24 92380001 */ lbu $t8, 1($s1) -/* 06A658 7F035B28 922F0004 */ lbu $t7, 4($s1) -/* 06A65C 7F035B2C 92290002 */ lbu $t1, 2($s1) -/* 06A660 7F035B30 000D7200 */ sll $t6, $t5, 8 -/* 06A664 7F035B34 0018CA00 */ sll $t9, $t8, 8 -/* 06A668 7F035B38 02E02025 */ move $a0, $s7 -/* 06A66C 7F035B3C 01CF3025 */ or $a2, $t6, $t7 -/* 06A670 7F035B40 0FC0AA87 */ jal actor_aim_at_actor -/* 06A674 7F035B44 03292825 */ or $a1, $t9, $t1 -/* 06A678 7F035B48 10400007 */ beqz $v0, .L7F035B68 -/* 06A67C 7F035B4C 02C02025 */ move $a0, $s6 -/* 06A680 7F035B50 02402825 */ move $a1, $s2 -/* 06A684 7F035B54 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A688 7F035B58 92260005 */ lbu $a2, 5($s1) -/* 06A68C 7F035B5C 00409025 */ move $s2, $v0 -/* 06A690 7F035B60 1000FE8A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A694 7F035B64 02C28821 */ addu $s1, $s6, $v0 -.L7F035B68: -/* 06A698 7F035B68 26520006 */ addiu $s2, $s2, 6 -/* 06A69C 7F035B6C 1000FE87 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A6A0 7F035B70 26310006 */ addiu $s1, $s1, 6 -action15_Guard_Kneels_Aims_Shoots_at_Bond_Guard_Pad_RVL_6: -/* 06A6A4 7F035B74 922A0003 */ lbu $t2, 3($s1) -/* 06A6A8 7F035B78 922D0001 */ lbu $t5, 1($s1) -/* 06A6AC 7F035B7C 922C0004 */ lbu $t4, 4($s1) -/* 06A6B0 7F035B80 922F0002 */ lbu $t7, 2($s1) -/* 06A6B4 7F035B84 000A5A00 */ sll $t3, $t2, 8 -/* 06A6B8 7F035B88 000D7200 */ sll $t6, $t5, 8 -/* 06A6BC 7F035B8C 02E02025 */ move $a0, $s7 -/* 06A6C0 7F035B90 016C3025 */ or $a2, $t3, $t4 -/* 06A6C4 7F035B94 0FC0AAA2 */ jal actor_kneel_aim_at_actor -/* 06A6C8 7F035B98 01CF2825 */ or $a1, $t6, $t7 -/* 06A6CC 7F035B9C 10400007 */ beqz $v0, .L7F035BBC -/* 06A6D0 7F035BA0 02C02025 */ move $a0, $s6 -/* 06A6D4 7F035BA4 02402825 */ move $a1, $s2 -/* 06A6D8 7F035BA8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A6DC 7F035BAC 92260005 */ lbu $a2, 5($s1) -/* 06A6E0 7F035BB0 00409025 */ move $s2, $v0 -/* 06A6E4 7F035BB4 1000FE75 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A6E8 7F035BB8 02C28821 */ addu $s1, $s6, $v0 -.L7F035BBC: -/* 06A6EC 7F035BBC 26520006 */ addiu $s2, $s2, 6 -/* 06A6F0 7F035BC0 1000FE72 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A6F4 7F035BC4 26310006 */ addiu $s1, $s1, 6 -actionE7_If_Guard_Moving_And_Shooting_RVL_2: -/* 06A6F8 7F035BC8 82F80007 */ lb $t8, 7($s7) -/* 06A6FC 7F035BCC 24010008 */ li $at, 8 -/* 06A700 7F035BD0 57010010 */ bnel $t8, $at, .L7F035C14 -/* 06A704 7F035BD4 26520002 */ addiu $s2, $s2, 2 -/* 06A708 7F035BD8 8EF90058 */ lw $t9, 0x58($s7) -/* 06A70C 7F035BDC 5720000D */ bnezl $t9, .L7F035C14 -/* 06A710 7F035BE0 26520002 */ addiu $s2, $s2, 2 -/* 06A714 7F035BE4 8EE9004C */ lw $t1, 0x4c($s7) -/* 06A718 7F035BE8 02C02025 */ move $a0, $s6 -/* 06A71C 7F035BEC 02402825 */ move $a1, $s2 -/* 06A720 7F035BF0 312A0040 */ andi $t2, $t1, 0x40 -/* 06A724 7F035BF4 51400007 */ beql $t2, $zero, .L7F035C14 -/* 06A728 7F035BF8 26520002 */ addiu $s2, $s2, 2 -/* 06A72C 7F035BFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A730 7F035C00 92260001 */ lbu $a2, 1($s1) -/* 06A734 7F035C04 00409025 */ move $s2, $v0 -/* 06A738 7F035C08 1000FE60 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A73C 7F035C0C 02C28821 */ addu $s1, $s6, $v0 -/* 06A740 7F035C10 26520002 */ addiu $s2, $s2, 2 -.L7F035C14: -/* 06A744 7F035C14 1000FE5D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A748 7F035C18 26310002 */ addiu $s1, $s1, 2 -actionE8_If_Guard_Is_Shooting_RVL_2: -/* 06A74C 7F035C1C 82EB0007 */ lb $t3, 7($s7) -/* 06A750 7F035C20 24010008 */ li $at, 8 -/* 06A754 7F035C24 02C02025 */ move $a0, $s6 -/* 06A758 7F035C28 15610006 */ bne $t3, $at, .L7F035C44 -/* 06A75C 7F035C2C 02402825 */ move $a1, $s2 -/* 06A760 7F035C30 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A764 7F035C34 92260001 */ lbu $a2, 1($s1) -/* 06A768 7F035C38 00409025 */ move $s2, $v0 -/* 06A76C 7F035C3C 1000FE53 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A770 7F035C40 02C28821 */ addu $s1, $s6, $v0 -.L7F035C44: -/* 06A774 7F035C44 26520002 */ addiu $s2, $s2, 2 -/* 06A778 7F035C48 1000FE50 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A77C 7F035C4C 26310002 */ addiu $s1, $s1, 2 -action16_Guard_Shoots_Guards_Without_Animation_Change_RVL_6: -/* 06A780 7F035C50 922C0003 */ lbu $t4, 3($s1) -/* 06A784 7F035C54 922F0001 */ lbu $t7, 1($s1) -/* 06A788 7F035C58 922E0004 */ lbu $t6, 4($s1) -/* 06A78C 7F035C5C 92390002 */ lbu $t9, 2($s1) -/* 06A790 7F035C60 000C6A00 */ sll $t5, $t4, 8 -/* 06A794 7F035C64 000FC200 */ sll $t8, $t7, 8 -/* 06A798 7F035C68 02E02025 */ move $a0, $s7 -/* 06A79C 7F035C6C 01AE3025 */ or $a2, $t5, $t6 -/* 06A7A0 7F035C70 0FC0AABD */ jal sub_GAME_7F02AAF4 -/* 06A7A4 7F035C74 03192825 */ or $a1, $t8, $t9 -/* 06A7A8 7F035C78 10400007 */ beqz $v0, .L7F035C98 -/* 06A7AC 7F035C7C 02C02025 */ move $a0, $s6 -/* 06A7B0 7F035C80 02402825 */ move $a1, $s2 -/* 06A7B4 7F035C84 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A7B8 7F035C88 92260005 */ lbu $a2, 5($s1) -/* 06A7BC 7F035C8C 00409025 */ move $s2, $v0 -/* 06A7C0 7F035C90 1000FE3E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A7C4 7F035C94 02C28821 */ addu $s1, $s6, $v0 -.L7F035C98: -/* 06A7C8 7F035C98 26520006 */ addiu $s2, $s2, 6 -/* 06A7CC 7F035C9C 1000FE3B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A7D0 7F035CA0 26310006 */ addiu $s1, $s1, 6 -action17_Guard_Constantly_Angles_To_Face_RVL_6: -/* 06A7D4 7F035CA4 92290003 */ lbu $t1, 3($s1) -/* 06A7D8 7F035CA8 922C0001 */ lbu $t4, 1($s1) -/* 06A7DC 7F035CAC 922B0004 */ lbu $t3, 4($s1) -/* 06A7E0 7F035CB0 922E0002 */ lbu $t6, 2($s1) -/* 06A7E4 7F035CB4 00095200 */ sll $t2, $t1, 8 -/* 06A7E8 7F035CB8 000C6A00 */ sll $t5, $t4, 8 -/* 06A7EC 7F035CBC 02E02025 */ move $a0, $s7 -/* 06A7F0 7F035CC0 014B3025 */ or $a2, $t2, $t3 -/* 06A7F4 7F035CC4 0FC0AAD1 */ jal check_set_actor_standing_still -/* 06A7F8 7F035CC8 01AE2825 */ or $a1, $t5, $t6 -/* 06A7FC 7F035CCC 10400007 */ beqz $v0, .L7F035CEC -/* 06A800 7F035CD0 02C02025 */ move $a0, $s6 -/* 06A804 7F035CD4 02402825 */ move $a1, $s2 -/* 06A808 7F035CD8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A80C 7F035CDC 92260005 */ lbu $a2, 5($s1) -/* 06A810 7F035CE0 00409025 */ move $s2, $v0 -/* 06A814 7F035CE4 1000FE29 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A818 7F035CE8 02C28821 */ addu $s1, $s6, $v0 -.L7F035CEC: -/* 06A81C 7F035CEC 26520006 */ addiu $s2, $s2, 6 -/* 06A820 7F035CF0 1000FE26 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A824 7F035CF4 26310006 */ addiu $s1, $s1, 6 -action18_Shoot_Guard_ID_In_Style_With_Weapon_Type_num_4: -/* 06A828 7F035CF8 02E02025 */ move $a0, $s7 -/* 06A82C 7F035CFC 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A830 7F035D00 92250001 */ lbu $a1, 1($s1) -/* 06A834 7F035D04 3C188003 */ lui $t8, %hi(D_80030A70) -/* 06A838 7F035D08 27180A70 */ addiu $t8, %lo(D_80030A70) # addiu $t8, $t8, 0xa70 -/* 06A83C 7F035D0C 8F010000 */ lw $at, ($t8) -/* 06A840 7F035D10 27AF06F4 */ addiu $t7, $sp, 0x6f4 -/* 06A844 7F035D14 8F090004 */ lw $t1, 4($t8) -/* 06A848 7F035D18 ADE10000 */ sw $at, ($t7) -/* 06A84C 7F035D1C 8F010008 */ lw $at, 8($t8) -/* 06A850 7F035D20 00402025 */ move $a0, $v0 -/* 06A854 7F035D24 ADE90004 */ sw $t1, 4($t7) -/* 06A858 7F035D28 10400009 */ beqz $v0, .L7F035D50 -/* 06A85C 7F035D2C ADE10008 */ sw $at, 8($t7) -/* 06A860 7F035D30 8C4A0018 */ lw $t2, 0x18($v0) -/* 06A864 7F035D34 51400007 */ beql $t2, $zero, .L7F035D54 -/* 06A868 7F035D38 26520004 */ addiu $s2, $s2, 4 -/* 06A86C 7F035D3C 82250002 */ lb $a1, 2($s1) -/* 06A870 7F035D40 92270003 */ lbu $a3, 3($s1) -/* 06A874 7F035D44 AFA00010 */ sw $zero, 0x10($sp) -/* 06A878 7F035D48 0FC09C9F */ jal handles_shot_actors -/* 06A87C 7F035D4C 27A606F4 */ addiu $a2, $sp, 0x6f4 -.L7F035D50: -/* 06A880 7F035D50 26520004 */ addiu $s2, $s2, 4 -.L7F035D54: -/* 06A884 7F035D54 1000FE0D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A888 7F035D58 26310004 */ addiu $s1, $s1, 4 -action19_Guard_ID1_Shoots_Guard_ID2_In_Style_4: -/* 06A88C 7F035D5C 02E02025 */ move $a0, $s7 -/* 06A890 7F035D60 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A894 7F035D64 92250001 */ lbu $a1, 1($s1) -/* 06A898 7F035D68 00408025 */ move $s0, $v0 -/* 06A89C 7F035D6C 02E02025 */ move $a0, $s7 -/* 06A8A0 7F035D70 0FC0CC10 */ jal get_handle_for_guard_id -/* 06A8A4 7F035D74 92250002 */ lbu $a1, 2($s1) -/* 06A8A8 7F035D78 1200003C */ beqz $s0, .L7F035E6C -/* 06A8AC 7F035D7C AFA206E8 */ sw $v0, 0x6e8($sp) -/* 06A8B0 7F035D80 1040003A */ beqz $v0, .L7F035E6C -/* 06A8B4 7F035D84 00409825 */ move $s3, $v0 -/* 06A8B8 7F035D88 8E0B0018 */ lw $t3, 0x18($s0) -/* 06A8BC 7F035D8C 51600038 */ beql $t3, $zero, .L7F035E70 -/* 06A8C0 7F035D90 26520004 */ addiu $s2, $s2, 4 -/* 06A8C4 7F035D94 8C4C0018 */ lw $t4, 0x18($v0) -/* 06A8C8 7F035D98 02002025 */ move $a0, $s0 -/* 06A8CC 7F035D9C 51800034 */ beql $t4, $zero, .L7F035E70 -/* 06A8D0 7F035DA0 26520004 */ addiu $s2, $s2, 4 -/* 06A8D4 7F035DA4 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 06A8D8 7F035DA8 00002825 */ move $a1, $zero -/* 06A8DC 7F035DAC 3C0E8003 */ lui $t6, %hi(D_80030A7C) -/* 06A8E0 7F035DB0 25CE0A7C */ addiu $t6, %lo(D_80030A7C) # addiu $t6, $t6, 0xa7c -/* 06A8E4 7F035DB4 8DC10000 */ lw $at, ($t6) -/* 06A8E8 7F035DB8 27AD06D4 */ addiu $t5, $sp, 0x6d4 -/* 06A8EC 7F035DBC 8DCF0004 */ lw $t7, 4($t6) -/* 06A8F0 7F035DC0 ADA10000 */ sw $at, ($t5) -/* 06A8F4 7F035DC4 8DC10008 */ lw $at, 8($t6) -/* 06A8F8 7F035DC8 00401825 */ move $v1, $v0 -/* 06A8FC 7F035DCC ADAF0004 */ sw $t7, 4($t5) -/* 06A900 7F035DD0 14400005 */ bnez $v0, .L7F035DE8 -/* 06A904 7F035DD4 ADA10008 */ sw $at, 8($t5) -/* 06A908 7F035DD8 02002025 */ move $a0, $s0 -/* 06A90C 7F035DDC 0FC08C0F */ jal is_weapon_in_guarddata_hand -/* 06A910 7F035DE0 24050001 */ li $a1, 1 -/* 06A914 7F035DE4 00401825 */ move $v1, $v0 -.L7F035DE8: -/* 06A918 7F035DE8 50400021 */ beql $v0, $zero, .L7F035E70 -/* 06A91C 7F035DEC 26520004 */ addiu $s2, $s2, 4 -/* 06A920 7F035DF0 8E780018 */ lw $t8, 0x18($s3) -/* 06A924 7F035DF4 8E090018 */ lw $t1, 0x18($s0) -/* 06A928 7F035DF8 27A406D4 */ addiu $a0, $sp, 0x6d4 -/* 06A92C 7F035DFC C7120008 */ lwc1 $f18, 8($t8) -/* 06A930 7F035E00 C5240008 */ lwc1 $f4, 8($t1) -/* 06A934 7F035E04 27A506D8 */ addiu $a1, $sp, 0x6d8 -/* 06A938 7F035E08 27A606DC */ addiu $a2, $sp, 0x6dc -/* 06A93C 7F035E0C 46049181 */ sub.s $f6, $f18, $f4 -/* 06A940 7F035E10 E7A606D4 */ swc1 $f6, 0x6d4($sp) -/* 06A944 7F035E14 8E0B0018 */ lw $t3, 0x18($s0) -/* 06A948 7F035E18 8E6A0018 */ lw $t2, 0x18($s3) -/* 06A94C 7F035E1C C56A000C */ lwc1 $f10, 0xc($t3) -/* 06A950 7F035E20 C548000C */ lwc1 $f8, 0xc($t2) -/* 06A954 7F035E24 460A4401 */ sub.s $f16, $f8, $f10 -/* 06A958 7F035E28 E7B006D8 */ swc1 $f16, 0x6d8($sp) -/* 06A95C 7F035E2C 8E190018 */ lw $t9, 0x18($s0) -/* 06A960 7F035E30 8E6C0018 */ lw $t4, 0x18($s3) -/* 06A964 7F035E34 C7240010 */ lwc1 $f4, 0x10($t9) -/* 06A968 7F035E38 C5920010 */ lwc1 $f18, 0x10($t4) -/* 06A96C 7F035E3C AFA306E4 */ sw $v1, 0x6e4($sp) -/* 06A970 7F035E40 46049181 */ sub.s $f6, $f18, $f4 -/* 06A974 7F035E44 0C007DD4 */ jal guNormalize -/* 06A978 7F035E48 E7A606DC */ swc1 $f6, 0x6dc($sp) -/* 06A97C 7F035E4C 8FA306E4 */ lw $v1, 0x6e4($sp) -/* 06A980 7F035E50 82250003 */ lb $a1, 3($s1) -/* 06A984 7F035E54 02602025 */ move $a0, $s3 -/* 06A988 7F035E58 8C620004 */ lw $v0, 4($v1) -/* 06A98C 7F035E5C 27A606D4 */ addiu $a2, $sp, 0x6d4 -/* 06A990 7F035E60 80470080 */ lb $a3, 0x80($v0) -/* 06A994 7F035E64 0FC09C9F */ jal handles_shot_actors -/* 06A998 7F035E68 AFA00010 */ sw $zero, 0x10($sp) -.L7F035E6C: -/* 06A99C 7F035E6C 26520004 */ addiu $s2, $s2, 4 -.L7F035E70: -/* 06A9A0 7F035E70 1000FDC6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A9A4 7F035E74 26310004 */ addiu $s1, $s1, 4 -action1A_Guard_Throws_Grenade_RVL_2: -/* 06A9A8 7F035E78 0FC0D15F */ jal actor_draws_throws_grenade_at_player_if_possible -/* 06A9AC 7F035E7C 02E02025 */ move $a0, $s7 -/* 06A9B0 7F035E80 10400007 */ beqz $v0, .L7F035EA0 -/* 06A9B4 7F035E84 02C02025 */ move $a0, $s6 -/* 06A9B8 7F035E88 02402825 */ move $a1, $s2 -/* 06A9BC 7F035E8C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06A9C0 7F035E90 92260001 */ lbu $a2, 1($s1) -/* 06A9C4 7F035E94 00409025 */ move $s2, $v0 -/* 06A9C8 7F035E98 1000FDBC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A9CC 7F035E9C 02C28821 */ addu $s1, $s6, $v0 -.L7F035EA0: -/* 06A9D0 7F035EA0 26520002 */ addiu $s2, $s2, 2 -/* 06A9D4 7F035EA4 1000FDB9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06A9D8 7F035EA8 26310002 */ addiu $s1, $s1, 2 -action1B_Drop_Weapon_Inventory_num_RVL_5: -/* 06A9DC 7F035EAC 922D0001 */ lbu $t5, 1($s1) -/* 06A9E0 7F035EB0 922F0002 */ lbu $t7, 2($s1) -/* 06A9E4 7F035EB4 02E02025 */ move $a0, $s7 -/* 06A9E8 7F035EB8 000D7200 */ sll $t6, $t5, 8 -/* 06A9EC 7F035EBC 01CF1025 */ or $v0, $t6, $t7 -/* 06A9F0 7F035EC0 3045FFFF */ andi $a1, $v0, 0xffff -/* 06A9F4 7F035EC4 0FC0D1BF */ jal actor_drops_itemtype_setting_timer -/* 06A9F8 7F035EC8 92260003 */ lbu $a2, 3($s1) -/* 06A9FC 7F035ECC 10400007 */ beqz $v0, .L7F035EEC -/* 06AA00 7F035ED0 02C02025 */ move $a0, $s6 -/* 06AA04 7F035ED4 02402825 */ move $a1, $s2 -/* 06AA08 7F035ED8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AA0C 7F035EDC 92260004 */ lbu $a2, 4($s1) -/* 06AA10 7F035EE0 00409025 */ move $s2, $v0 -/* 06AA14 7F035EE4 1000FDA9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA18 7F035EE8 02C28821 */ addu $s1, $s6, $v0 -.L7F035EEC: -/* 06AA1C 7F035EEC 26520005 */ addiu $s2, $s2, 5 -/* 06AA20 7F035EF0 1000FDA6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA24 7F035EF4 26310005 */ addiu $s1, $s1, 5 -action21_Guard_Surrenders_1: -/* 06AA28 7F035EF8 0FC0CCD9 */ jal check_if_able_to_then_surrender -/* 06AA2C 7F035EFC 02E02025 */ move $a0, $s7 -/* 06AA30 7F035F00 26520001 */ addiu $s2, $s2, 1 -/* 06AA34 7F035F04 1000FDA1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA38 7F035F08 26310001 */ addiu $s1, $s1, 1 -action22_Guard_Set_To_Move_Fades_And_Disappear_1: -/* 06AA3C 7F035F0C 0FC0CCE8 */ jal sub_GAME_7F0333A0 -/* 06AA40 7F035F10 02E02025 */ move $a0, $s7 -/* 06AA44 7F035F14 26520001 */ addiu $s2, $s2, 1 -/* 06AA48 7F035F18 1000FD9C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA4C 7F035F1C 26310001 */ addiu $s1, $s1, 1 -action23_Eliminate_Guard_ID_2: -/* 06AA50 7F035F20 02E02025 */ move $a0, $s7 -/* 06AA54 7F035F24 0FC0CC10 */ jal get_handle_for_guard_id -/* 06AA58 7F035F28 92250001 */ lbu $a1, 1($s1) -/* 06AA5C 7F035F2C 10400007 */ beqz $v0, .L7F035F4C -/* 06AA60 7F035F30 26520002 */ addiu $s2, $s2, 2 -/* 06AA64 7F035F34 8C490018 */ lw $t1, 0x18($v0) -/* 06AA68 7F035F38 11200004 */ beqz $t1, .L7F035F4C -/* 06AA6C 7F035F3C 00000000 */ nop -/* 06AA70 7F035F40 944A0012 */ lhu $t2, 0x12($v0) -/* 06AA74 7F035F44 354B0020 */ ori $t3, $t2, 0x20 -/* 06AA78 7F035F48 A44B0012 */ sh $t3, 0x12($v0) -.L7F035F4C: -/* 06AA7C 7F035F4C 1000FD8F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AA80 7F035F50 26310002 */ addiu $s1, $s1, 2 -action24_Activate_Object_At_Preset_RVL_If_Successful_4: -/* 06AA84 7F035F54 922C0001 */ lbu $t4, 1($s1) -/* 06AA88 7F035F58 922D0002 */ lbu $t5, 2($s1) -/* 06AA8C 7F035F5C 02E02025 */ move $a0, $s7 -/* 06AA90 7F035F60 000CCA00 */ sll $t9, $t4, 8 -/* 06AA94 7F035F64 032D1025 */ or $v0, $t9, $t5 -/* 06AA98 7F035F68 0FC0D145 */ jal sub_GAME_7F034514 -/* 06AA9C 7F035F6C 3045FFFF */ andi $a1, $v0, 0xffff -/* 06AAA0 7F035F70 10400007 */ beqz $v0, .L7F035F90 -/* 06AAA4 7F035F74 02C02025 */ move $a0, $s6 -/* 06AAA8 7F035F78 02402825 */ move $a1, $s2 -/* 06AAAC 7F035F7C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AAB0 7F035F80 92260003 */ lbu $a2, 3($s1) -/* 06AAB4 7F035F84 00409025 */ move $s2, $v0 -/* 06AAB8 7F035F88 1000FD80 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AABC 7F035F8C 02C28821 */ addu $s1, $s6, $v0 -.L7F035F90: -/* 06AAC0 7F035F90 26520004 */ addiu $s2, $s2, 4 -/* 06AAC4 7F035F94 1000FD7D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AAC8 7F035F98 26310004 */ addiu $s1, $s1, 4 -action25_Sound_Alarm_1: -/* 06AACC 7F035F9C 0FC15772 */ jal start_alarm -/* 06AAD0 7F035FA0 00000000 */ nop -/* 06AAD4 7F035FA4 26520001 */ addiu $s2, $s2, 1 -/* 06AAD8 7F035FA8 1000FD78 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AADC 7F035FAC 26310001 */ addiu $s1, $s1, 1 -action26_Turn_Off_Alarm_1: -/* 06AAE0 7F035FB0 0FC1578B */ jal stop_alarm -/* 06AAE4 7F035FB4 00000000 */ nop -/* 06AAE8 7F035FB8 26520001 */ addiu $s2, $s2, 1 -/* 06AAEC 7F035FBC 1000FD73 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AAF0 7F035FC0 26310001 */ addiu $s1, $s1, 1 -action27_Return_False_Invalid_Type_2: -/* 06AAF4 7F035FC4 0FC0D13F */ jal removed_animation_routine_27 -/* 06AAF8 7F035FC8 02E02025 */ move $a0, $s7 -/* 06AAFC 7F035FCC 10400007 */ beqz $v0, .L7F035FEC -/* 06AB00 7F035FD0 02C02025 */ move $a0, $s6 -/* 06AB04 7F035FD4 02402825 */ move $a1, $s2 -/* 06AB08 7F035FD8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AB0C 7F035FDC 92260001 */ lbu $a2, 1($s1) -/* 06AB10 7F035FE0 00409025 */ move $s2, $v0 -/* 06AB14 7F035FE4 1000FD69 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB18 7F035FE8 02C28821 */ addu $s1, $s6, $v0 -.L7F035FEC: -/* 06AB1C 7F035FEC 26520002 */ addiu $s2, $s2, 2 -/* 06AB20 7F035FF0 1000FD66 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB24 7F035FF4 26310002 */ addiu $s1, $s1, 2 -action28_Jog_To_Bond_Return_Loop_When_Reached_Bond_2: -/* 06AB28 7F035FF8 02E02025 */ move $a0, $s7 -/* 06AB2C 7F035FFC 0FC0CD28 */ jal actor_move_to_curplayer_at_speed -/* 06AB30 7F036000 24050001 */ li $a1, 1 -/* 06AB34 7F036004 10400007 */ beqz $v0, .L7F036024 -/* 06AB38 7F036008 02C02025 */ move $a0, $s6 -/* 06AB3C 7F03600C 02402825 */ move $a1, $s2 -/* 06AB40 7F036010 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AB44 7F036014 92260001 */ lbu $a2, 1($s1) -/* 06AB48 7F036018 00409025 */ move $s2, $v0 -/* 06AB4C 7F03601C 1000FD5B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB50 7F036020 02C28821 */ addu $s1, $s6, $v0 -.L7F036024: -/* 06AB54 7F036024 26520002 */ addiu $s2, $s2, 2 -/* 06AB58 7F036028 1000FD58 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB5C 7F03602C 26310002 */ addiu $s1, $s1, 2 -action29_Walk_To_Bond_Return_Loop_When_Reached_Bond_2: -/* 06AB60 7F036030 02E02025 */ move $a0, $s7 -/* 06AB64 7F036034 0FC0CD28 */ jal actor_move_to_curplayer_at_speed -/* 06AB68 7F036038 00002825 */ move $a1, $zero -/* 06AB6C 7F03603C 10400007 */ beqz $v0, .L7F03605C -/* 06AB70 7F036040 02C02025 */ move $a0, $s6 -/* 06AB74 7F036044 02402825 */ move $a1, $s2 -/* 06AB78 7F036048 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AB7C 7F03604C 92260001 */ lbu $a2, 1($s1) -/* 06AB80 7F036050 00409025 */ move $s2, $v0 -/* 06AB84 7F036054 1000FD4D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB88 7F036058 02C28821 */ addu $s1, $s6, $v0 -.L7F03605C: -/* 06AB8C 7F03605C 26520002 */ addiu $s2, $s2, 2 -/* 06AB90 7F036060 1000FD4A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AB94 7F036064 26310002 */ addiu $s1, $s1, 2 -action2A_Run_To_Bond_Return_Loop_When_Reached_Bond_2: -/* 06AB98 7F036068 02E02025 */ move $a0, $s7 -/* 06AB9C 7F03606C 0FC0CD28 */ jal actor_move_to_curplayer_at_speed -/* 06ABA0 7F036070 24050002 */ li $a1, 2 -/* 06ABA4 7F036074 10400007 */ beqz $v0, .L7F036094 -/* 06ABA8 7F036078 02C02025 */ move $a0, $s6 -/* 06ABAC 7F03607C 02402825 */ move $a1, $s2 -/* 06ABB0 7F036080 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06ABB4 7F036084 92260001 */ lbu $a2, 1($s1) -/* 06ABB8 7F036088 00409025 */ move $s2, $v0 -/* 06ABBC 7F03608C 1000FD3F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ABC0 7F036090 02C28821 */ addu $s1, $s6, $v0 -.L7F036094: -/* 06ABC4 7F036094 26520002 */ addiu $s2, $s2, 2 -/* 06ABC8 7F036098 1000FD3C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ABCC 7F03609C 26310002 */ addiu $s1, $s1, 2 -action2B_Return_False_Invalid_Type_2: -/* 06ABD0 7F0360A0 0FC0D142 */ jal removed_animation_routine_2B -/* 06ABD4 7F0360A4 02E02025 */ move $a0, $s7 -/* 06ABD8 7F0360A8 10400007 */ beqz $v0, .L7F0360C8 -/* 06ABDC 7F0360AC 02C02025 */ move $a0, $s6 -/* 06ABE0 7F0360B0 02402825 */ move $a1, $s2 -/* 06ABE4 7F0360B4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06ABE8 7F0360B8 92260001 */ lbu $a2, 1($s1) -/* 06ABEC 7F0360BC 00409025 */ move $s2, $v0 -/* 06ABF0 7F0360C0 1000FD32 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ABF4 7F0360C4 02C28821 */ addu $s1, $s6, $v0 -.L7F0360C8: -/* 06ABF8 7F0360C8 26520002 */ addiu $s2, $s2, 2 -/* 06ABFC 7F0360CC 1000FD2F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC00 7F0360D0 26310002 */ addiu $s1, $s1, 2 -action2C_Jog_To_Character_Position_RVL_On_Arrival_3: -/* 06AC04 7F0360D4 02E02025 */ move $a0, $s7 -/* 06AC08 7F0360D8 92250001 */ lbu $a1, 1($s1) -/* 06AC0C 7F0360DC 0FC0CD43 */ jal actor_move_to_actorID_at_speed -/* 06AC10 7F0360E0 24060001 */ li $a2, 1 -/* 06AC14 7F0360E4 10400007 */ beqz $v0, .L7F036104 -/* 06AC18 7F0360E8 02C02025 */ move $a0, $s6 -/* 06AC1C 7F0360EC 02402825 */ move $a1, $s2 -/* 06AC20 7F0360F0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AC24 7F0360F4 92260002 */ lbu $a2, 2($s1) -/* 06AC28 7F0360F8 00409025 */ move $s2, $v0 -/* 06AC2C 7F0360FC 1000FD23 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC30 7F036100 02C28821 */ addu $s1, $s6, $v0 -.L7F036104: -/* 06AC34 7F036104 26520003 */ addiu $s2, $s2, 3 -/* 06AC38 7F036108 1000FD20 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC3C 7F03610C 26310003 */ addiu $s1, $s1, 3 -action2D_Walk_To_Character_Position_RVL_On_Arrival_3: -/* 06AC40 7F036110 02E02025 */ move $a0, $s7 -/* 06AC44 7F036114 92250001 */ lbu $a1, 1($s1) -/* 06AC48 7F036118 0FC0CD43 */ jal actor_move_to_actorID_at_speed -/* 06AC4C 7F03611C 00003025 */ move $a2, $zero -/* 06AC50 7F036120 10400007 */ beqz $v0, .L7F036140 -/* 06AC54 7F036124 02C02025 */ move $a0, $s6 -/* 06AC58 7F036128 02402825 */ move $a1, $s2 -/* 06AC5C 7F03612C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AC60 7F036130 92260002 */ lbu $a2, 2($s1) -/* 06AC64 7F036134 00409025 */ move $s2, $v0 -/* 06AC68 7F036138 1000FD14 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC6C 7F03613C 02C28821 */ addu $s1, $s6, $v0 -.L7F036140: -/* 06AC70 7F036140 26520003 */ addiu $s2, $s2, 3 -/* 06AC74 7F036144 1000FD11 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AC78 7F036148 26310003 */ addiu $s1, $s1, 3 -action2E_Run_To_Character_Position_RVL_On_Arrival_3: -/* 06AC7C 7F03614C 02E02025 */ move $a0, $s7 -/* 06AC80 7F036150 92250001 */ lbu $a1, 1($s1) -/* 06AC84 7F036154 0FC0CD43 */ jal actor_move_to_actorID_at_speed -/* 06AC88 7F036158 24060002 */ li $a2, 2 -/* 06AC8C 7F03615C 10400007 */ beqz $v0, .L7F03617C -/* 06AC90 7F036160 02C02025 */ move $a0, $s6 -/* 06AC94 7F036164 02402825 */ move $a1, $s2 -/* 06AC98 7F036168 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AC9C 7F03616C 92260002 */ lbu $a2, 2($s1) -/* 06ACA0 7F036170 00409025 */ move $s2, $v0 -/* 06ACA4 7F036174 1000FD05 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ACA8 7F036178 02C28821 */ addu $s1, $s6, $v0 -.L7F03617C: -/* 06ACAC 7F03617C 26520003 */ addiu $s2, $s2, 3 -/* 06ACB0 7F036180 1000FD02 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ACB4 7F036184 26310003 */ addiu $s1, $s1, 3 -action33_Seed_Random_Byte_1: -/* 06ACB8 7F036188 0C002914 */ jal get_random_value -/* 06ACBC 7F03618C 00000000 */ nop -/* 06ACC0 7F036190 A2E2010F */ sb $v0, 0x10f($s7) -/* 06ACC4 7F036194 26520001 */ addiu $s2, $s2, 1 -/* 06ACC8 7F036198 1000FCFC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ACCC 7F03619C 26310001 */ addiu $s1, $s1, 1 -action34_If_Seeded_Byte_LTV_Go_Into_RVL_3: -/* 06ACD0 7F0361A0 92F8010F */ lbu $t8, 0x10f($s7) -/* 06ACD4 7F0361A4 92290001 */ lbu $t1, 1($s1) -/* 06ACD8 7F0361A8 02C02025 */ move $a0, $s6 -/* 06ACDC 7F0361AC 02402825 */ move $a1, $s2 -/* 06ACE0 7F0361B0 0309082A */ slt $at, $t8, $t1 -/* 06ACE4 7F0361B4 50200007 */ beql $at, $zero, .L7F0361D4 -/* 06ACE8 7F0361B8 26520003 */ addiu $s2, $s2, 3 -/* 06ACEC 7F0361BC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06ACF0 7F0361C0 92260002 */ lbu $a2, 2($s1) -/* 06ACF4 7F0361C4 00409025 */ move $s2, $v0 -/* 06ACF8 7F0361C8 1000FCF0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ACFC 7F0361CC 02C28821 */ addu $s1, $s6, $v0 -/* 06AD00 7F0361D0 26520003 */ addiu $s2, $s2, 3 -.L7F0361D4: -/* 06AD04 7F0361D4 1000FCED */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD08 7F0361D8 26310003 */ addiu $s1, $s1, 3 -action35_If_Seeded_Byte_GTV_Go_Into_RVL_3: -/* 06AD0C 7F0361DC 922A0001 */ lbu $t2, 1($s1) -/* 06AD10 7F0361E0 92EB010F */ lbu $t3, 0x10f($s7) -/* 06AD14 7F0361E4 02C02025 */ move $a0, $s6 -/* 06AD18 7F0361E8 02402825 */ move $a1, $s2 -/* 06AD1C 7F0361EC 014B082A */ slt $at, $t2, $t3 -/* 06AD20 7F0361F0 50200007 */ beql $at, $zero, .L7F036210 -/* 06AD24 7F0361F4 26520003 */ addiu $s2, $s2, 3 -/* 06AD28 7F0361F8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AD2C 7F0361FC 92260002 */ lbu $a2, 2($s1) -/* 06AD30 7F036200 00409025 */ move $s2, $v0 -/* 06AD34 7F036204 1000FCE1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD38 7F036208 02C28821 */ addu $s1, $s6, $v0 -/* 06AD3C 7F03620C 26520003 */ addiu $s2, $s2, 3 -.L7F036210: -/* 06AD40 7F036210 1000FCDE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD44 7F036214 26310003 */ addiu $s1, $s1, 3 -action1C_Guard_Jogs_To_Preset_3: -/* 06AD48 7F036218 922C0001 */ lbu $t4, 1($s1) -/* 06AD4C 7F03621C 922D0002 */ lbu $t5, 2($s1) -/* 06AD50 7F036220 02E02025 */ move $a0, $s7 -/* 06AD54 7F036224 000CCA00 */ sll $t9, $t4, 8 -/* 06AD58 7F036228 032D1025 */ or $v0, $t9, $t5 -/* 06AD5C 7F03622C 3045FFFF */ andi $a1, $v0, 0xffff -/* 06AD60 7F036230 0FC0AAED */ jal actor_moves_to_preset_at_speed -/* 06AD64 7F036234 24060001 */ li $a2, 1 -/* 06AD68 7F036238 26520003 */ addiu $s2, $s2, 3 -/* 06AD6C 7F03623C 1000FCD3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD70 7F036240 26310003 */ addiu $s1, $s1, 3 -action1D_Guard_Jogs_To_Predefined_Preset_2328_1: -/* 06AD74 7F036244 02E02025 */ move $a0, $s7 -/* 06AD78 7F036248 86E50114 */ lh $a1, 0x114($s7) -/* 06AD7C 7F03624C 0FC0AAED */ jal actor_moves_to_preset_at_speed -/* 06AD80 7F036250 24060001 */ li $a2, 1 -/* 06AD84 7F036254 26520001 */ addiu $s2, $s2, 1 -/* 06AD88 7F036258 1000FCCC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AD8C 7F03625C 26310001 */ addiu $s1, $s1, 1 -action1E_Guard_Walks_To_Preset_3: -/* 06AD90 7F036260 922F0001 */ lbu $t7, 1($s1) -/* 06AD94 7F036264 92290002 */ lbu $t1, 2($s1) -/* 06AD98 7F036268 02E02025 */ move $a0, $s7 -/* 06AD9C 7F03626C 000FC200 */ sll $t8, $t7, 8 -/* 06ADA0 7F036270 03091025 */ or $v0, $t8, $t1 -/* 06ADA4 7F036274 3045FFFF */ andi $a1, $v0, 0xffff -/* 06ADA8 7F036278 0FC0AAED */ jal actor_moves_to_preset_at_speed -/* 06ADAC 7F03627C 00003025 */ move $a2, $zero -/* 06ADB0 7F036280 26520003 */ addiu $s2, $s2, 3 -/* 06ADB4 7F036284 1000FCC1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ADB8 7F036288 26310003 */ addiu $s1, $s1, 3 -action1F_Guard_Runs__To_Preset_3: -/* 06ADBC 7F03628C 922B0001 */ lbu $t3, 1($s1) -/* 06ADC0 7F036290 92390002 */ lbu $t9, 2($s1) -/* 06ADC4 7F036294 02E02025 */ move $a0, $s7 -/* 06ADC8 7F036298 000B6200 */ sll $t4, $t3, 8 -/* 06ADCC 7F03629C 01991025 */ or $v0, $t4, $t9 -/* 06ADD0 7F0362A0 3045FFFF */ andi $a1, $v0, 0xffff -/* 06ADD4 7F0362A4 0FC0AAED */ jal actor_moves_to_preset_at_speed -/* 06ADD8 7F0362A8 24060002 */ li $a2, 2 -/* 06ADDC 7F0362AC 26520003 */ addiu $s2, $s2, 3 -/* 06ADE0 7F0362B0 1000FCB6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ADE4 7F0362B4 26310003 */ addiu $s1, $s1, 3 -action20_Activate_Path_2: -/* 06ADE8 7F0362B8 0FC0D50D */ jal get_ptr_path_for_pathnum -/* 06ADEC 7F0362BC 92240001 */ lbu $a0, 1($s1) -/* 06ADF0 7F0362C0 02E02025 */ move $a0, $s7 -/* 06ADF4 7F0362C4 0FC0AB55 */ jal if_actor_able_set_on_path -/* 06ADF8 7F0362C8 00402825 */ move $a1, $v0 -/* 06ADFC 7F0362CC 26520002 */ addiu $s2, $s2, 2 -/* 06AE00 7F0362D0 1000FCAE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE04 7F0362D4 26310002 */ addiu $s1, $s1, 2 -action36_If_Alarm_Activated_RVL_Plus_Stack_2: -/* 06AE08 7F0362D8 0FC0CDD8 */ jal alarm_timer_related -/* 06AE0C 7F0362DC 02E02025 */ move $a0, $s7 -/* 06AE10 7F0362E0 10400007 */ beqz $v0, .L7F036300 -/* 06AE14 7F0362E4 02C02025 */ move $a0, $s6 -/* 06AE18 7F0362E8 02402825 */ move $a1, $s2 -/* 06AE1C 7F0362EC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AE20 7F0362F0 92260001 */ lbu $a2, 1($s1) -/* 06AE24 7F0362F4 00409025 */ move $s2, $v0 -/* 06AE28 7F0362F8 1000FCA4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE2C 7F0362FC 02C28821 */ addu $s1, $s6, $v0 -.L7F036300: -/* 06AE30 7F036300 26520002 */ addiu $s2, $s2, 2 -/* 06AE34 7F036304 1000FCA1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE38 7F036308 26310002 */ addiu $s1, $s1, 2 -action37_If_Alarm_Activated_RVL_2: -/* 06AE3C 7F03630C 0FC15794 */ jal is_alarm_on -/* 06AE40 7F036310 00000000 */ nop -/* 06AE44 7F036314 10400007 */ beqz $v0, .L7F036334 -/* 06AE48 7F036318 02C02025 */ move $a0, $s6 -/* 06AE4C 7F03631C 02402825 */ move $a1, $s2 -/* 06AE50 7F036320 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AE54 7F036324 92260001 */ lbu $a2, 1($s1) -/* 06AE58 7F036328 00409025 */ move $s2, $v0 -/* 06AE5C 7F03632C 1000FC97 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE60 7F036330 02C28821 */ addu $s1, $s6, $v0 -.L7F036334: -/* 06AE64 7F036334 26520002 */ addiu $s2, $s2, 2 -/* 06AE68 7F036338 1000FC94 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE6C 7F03633C 26310002 */ addiu $s1, $s1, 2 -action38_If_Toxic_Gas_Released_RVL_2: -/* 06AE70 7F036340 0FC157CE */ jal check_if_toxic_gas_activated -/* 06AE74 7F036344 00000000 */ nop -/* 06AE78 7F036348 10400007 */ beqz $v0, .L7F036368 -/* 06AE7C 7F03634C 02C02025 */ move $a0, $s6 -/* 06AE80 7F036350 02402825 */ move $a1, $s2 -/* 06AE84 7F036354 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AE88 7F036358 92260001 */ lbu $a2, 1($s1) -/* 06AE8C 7F03635C 00409025 */ move $s2, $v0 -/* 06AE90 7F036360 1000FC8A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AE94 7F036364 02C28821 */ addu $s1, $s6, $v0 -.L7F036368: -/* 06AE98 7F036368 26520002 */ addiu $s2, $s2, 2 -/* 06AE9C 7F03636C 1000FC87 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AEA0 7F036370 26310002 */ addiu $s1, $s1, 2 -action39_If_Guard_Heard_Gunfire_RVL_2: -/* 06AEA4 7F036374 0FC0CCD5 */ jal check_if_actor_02_flag_set -/* 06AEA8 7F036378 02E02025 */ move $a0, $s7 -/* 06AEAC 7F03637C 10400007 */ beqz $v0, .L7F03639C -/* 06AEB0 7F036380 02C02025 */ move $a0, $s6 -/* 06AEB4 7F036384 02402825 */ move $a1, $s2 -/* 06AEB8 7F036388 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AEBC 7F03638C 92260001 */ lbu $a2, 1($s1) -/* 06AEC0 7F036390 00409025 */ move $s2, $v0 -/* 06AEC4 7F036394 1000FC7D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AEC8 7F036398 02C28821 */ addu $s1, $s6, $v0 -.L7F03639C: -/* 06AECC 7F03639C 26520002 */ addiu $s2, $s2, 2 -/* 06AED0 7F0363A0 1000FC7A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AED4 7F0363A4 26310002 */ addiu $s1, $s1, 2 -action3A_If_Bond_Shoots_Another_Guard_RVL_2: -/* 06AED8 7F0363A8 0FC0CD6D */ jal check_if_actor_FA_target_set -/* 06AEDC 7F0363AC 02E02025 */ move $a0, $s7 -/* 06AEE0 7F0363B0 10400007 */ beqz $v0, .L7F0363D0 -/* 06AEE4 7F0363B4 02C02025 */ move $a0, $s6 -/* 06AEE8 7F0363B8 02402825 */ move $a1, $s2 -/* 06AEEC 7F0363BC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AEF0 7F0363C0 92260001 */ lbu $a2, 1($s1) -/* 06AEF4 7F0363C4 00409025 */ move $s2, $v0 -/* 06AEF8 7F0363C8 1000FC70 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AEFC 7F0363CC 02C28821 */ addu $s1, $s6, $v0 -.L7F0363D0: -/* 06AF00 7F0363D0 26520002 */ addiu $s2, $s2, 2 -/* 06AF04 7F0363D4 1000FC6D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF08 7F0363D8 26310002 */ addiu $s1, $s1, 2 -action3B_If_Guard_Killed_In_Front_Of_Guard_RVL_2: -/* 06AF0C 7F0363DC 0FC0CD71 */ jal check_if_actor_FB_target_set -/* 06AF10 7F0363E0 02E02025 */ move $a0, $s7 -/* 06AF14 7F0363E4 10400007 */ beqz $v0, .L7F036404 -/* 06AF18 7F0363E8 02C02025 */ move $a0, $s6 -/* 06AF1C 7F0363EC 02402825 */ move $a1, $s2 -/* 06AF20 7F0363F0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AF24 7F0363F4 92260001 */ lbu $a2, 1($s1) -/* 06AF28 7F0363F8 00409025 */ move $s2, $v0 -/* 06AF2C 7F0363FC 1000FC63 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF30 7F036400 02C28821 */ addu $s1, $s6, $v0 -.L7F036404: -/* 06AF34 7F036404 26520002 */ addiu $s2, $s2, 2 -/* 06AF38 7F036408 1000FC60 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF3C 7F03640C 26310002 */ addiu $s1, $s1, 2 -action3C_If_Guard_In_Firing_Range_RVL_2: -/* 06AF40 7F036410 0FC0A52F */ jal sub_GAME_7F0294BC -/* 06AF44 7F036414 02E02025 */ move $a0, $s7 -/* 06AF48 7F036418 10400007 */ beqz $v0, .L7F036438 -/* 06AF4C 7F03641C 02C02025 */ move $a0, $s6 -/* 06AF50 7F036420 02402825 */ move $a1, $s2 -/* 06AF54 7F036424 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AF58 7F036428 92260001 */ lbu $a2, 1($s1) -/* 06AF5C 7F03642C 00409025 */ move $s2, $v0 -/* 06AF60 7F036430 1000FC56 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF64 7F036434 02C28821 */ addu $s1, $s6, $v0 -.L7F036438: -/* 06AF68 7F036438 26520002 */ addiu $s2, $s2, 2 -/* 06AF6C 7F03643C 1000FC53 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF70 7F036440 26310002 */ addiu $s1, $s1, 2 -action3D___Unused___Unknown___2: -/* 06AF74 7F036444 0FC0CF71 */ jal sub_GAME_7F033DC4 -/* 06AF78 7F036448 02E02025 */ move $a0, $s7 -/* 06AF7C 7F03644C 10400007 */ beqz $v0, .L7F03646C -/* 06AF80 7F036450 02C02025 */ move $a0, $s6 -/* 06AF84 7F036454 02402825 */ move $a1, $s2 -/* 06AF88 7F036458 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AF8C 7F03645C 92260001 */ lbu $a2, 1($s1) -/* 06AF90 7F036460 00409025 */ move $s2, $v0 -/* 06AF94 7F036464 1000FC49 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AF98 7F036468 02C28821 */ addu $s1, $s6, $v0 -.L7F03646C: -/* 06AF9C 7F03646C 26520002 */ addiu $s2, $s2, 2 -/* 06AFA0 7F036470 1000FC46 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AFA4 7F036474 26310002 */ addiu $s1, $s1, 2 -action3E_If_Shot_Current_Guard_RVL_2: -/* 06AFA8 7F036478 0FC0CADA */ jal sub_GAME_7F032B68 -/* 06AFAC 7F03647C 02E02025 */ move $a0, $s7 -/* 06AFB0 7F036480 10400007 */ beqz $v0, .L7F0364A0 -/* 06AFB4 7F036484 02C02025 */ move $a0, $s6 -/* 06AFB8 7F036488 02402825 */ move $a1, $s2 -/* 06AFBC 7F03648C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AFC0 7F036490 92260001 */ lbu $a2, 1($s1) -/* 06AFC4 7F036494 00409025 */ move $s2, $v0 -/* 06AFC8 7F036498 1000FC3C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AFCC 7F03649C 02C28821 */ addu $s1, $s6, $v0 -.L7F0364A0: -/* 06AFD0 7F0364A0 26520002 */ addiu $s2, $s2, 2 -/* 06AFD4 7F0364A4 1000FC39 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06AFD8 7F0364A8 26310002 */ addiu $s1, $s1, 2 -action3F_If_Heard_Bond_RVL_2: -/* 06AFDC 7F0364AC 0FC0CAE8 */ jal sub_GAME_7F032BA0 -/* 06AFE0 7F0364B0 02E02025 */ move $a0, $s7 -/* 06AFE4 7F0364B4 10400007 */ beqz $v0, .L7F0364D4 -/* 06AFE8 7F0364B8 02C02025 */ move $a0, $s6 -/* 06AFEC 7F0364BC 02402825 */ move $a1, $s2 -/* 06AFF0 7F0364C0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06AFF4 7F0364C4 92260001 */ lbu $a2, 1($s1) -/* 06AFF8 7F0364C8 00409025 */ move $s2, $v0 -/* 06AFFC 7F0364CC 1000FC2F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B000 7F0364D0 02C28821 */ addu $s1, $s6, $v0 -.L7F0364D4: -/* 06B004 7F0364D4 26520002 */ addiu $s2, $s2, 2 -/* 06B008 7F0364D8 1000FC2C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B00C 7F0364DC 26310002 */ addiu $s1, $s1, 2 -action40_If_Another_Guard_In_Same_Room_As_Guard_ID_RVL_3: -/* 06B010 7F0364E0 02E02025 */ move $a0, $s7 -/* 06B014 7F0364E4 0FC0CC10 */ jal get_handle_for_guard_id -/* 06B018 7F0364E8 92250001 */ lbu $a1, 1($s1) -/* 06B01C 7F0364EC 50400012 */ beql $v0, $zero, .L7F036538 -/* 06B020 7F0364F0 26520003 */ addiu $s2, $s2, 3 -/* 06B024 7F0364F4 8C4E0018 */ lw $t6, 0x18($v0) -/* 06B028 7F0364F8 51C0000F */ beql $t6, $zero, .L7F036538 -/* 06B02C 7F0364FC 26520003 */ addiu $s2, $s2, 3 -/* 06B030 7F036500 8C420018 */ lw $v0, 0x18($v0) -/* 06B034 7F036504 02E02025 */ move $a0, $s7 -/* 06B038 7F036508 24450008 */ addiu $a1, $v0, 8 -/* 06B03C 7F03650C 0FC0A574 */ jal check_if_position_in_same_room -/* 06B040 7F036510 8C460014 */ lw $a2, 0x14($v0) -/* 06B044 7F036514 10400007 */ beqz $v0, .L7F036534 -/* 06B048 7F036518 02C02025 */ move $a0, $s6 -/* 06B04C 7F03651C 02402825 */ move $a1, $s2 -/* 06B050 7F036520 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B054 7F036524 92260002 */ lbu $a2, 2($s1) -/* 06B058 7F036528 00409025 */ move $s2, $v0 -/* 06B05C 7F03652C 1000FC17 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B060 7F036530 02C28821 */ addu $s1, $s6, $v0 -.L7F036534: -/* 06B064 7F036534 26520003 */ addiu $s2, $s2, 3 -.L7F036538: -/* 06B068 7F036538 1000FC14 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B06C 7F03653C 26310003 */ addiu $s1, $s1, 3 -action41_If_Guard_Has_Been_On_Screen_RVL_2: -/* 06B070 7F036540 8EEF0014 */ lw $t7, 0x14($s7) -/* 06B074 7F036544 02C02025 */ move $a0, $s6 -/* 06B078 7F036548 02402825 */ move $a1, $s2 -/* 06B07C 7F03654C 31F80008 */ andi $t8, $t7, 8 -/* 06B080 7F036550 57000007 */ bnezl $t8, .L7F036570 -/* 06B084 7F036554 26520002 */ addiu $s2, $s2, 2 -/* 06B088 7F036558 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B08C 7F03655C 92260001 */ lbu $a2, 1($s1) -/* 06B090 7F036560 00409025 */ move $s2, $v0 -/* 06B094 7F036564 1000FC09 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B098 7F036568 02C28821 */ addu $s1, $s6, $v0 -/* 06B09C 7F03656C 26520002 */ addiu $s2, $s2, 2 -.L7F036570: -/* 06B0A0 7F036570 1000FC06 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B0A4 7F036574 26310002 */ addiu $s1, $s1, 2 -action42_If_Current_Guard_On_Screen_In_Loaded_Room_RVL_2: -/* 06B0A8 7F036578 8EE90018 */ lw $t1, 0x18($s7) -/* 06B0AC 7F03657C 02C02025 */ move $a0, $s6 -/* 06B0B0 7F036580 02402825 */ move $a1, $s2 -/* 06B0B4 7F036584 912A0001 */ lbu $t2, 1($t1) -/* 06B0B8 7F036588 314B0002 */ andi $t3, $t2, 2 -/* 06B0BC 7F03658C 51600007 */ beql $t3, $zero, .L7F0365AC -/* 06B0C0 7F036590 26520002 */ addiu $s2, $s2, 2 -/* 06B0C4 7F036594 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B0C8 7F036598 92260001 */ lbu $a2, 1($s1) -/* 06B0CC 7F03659C 00409025 */ move $s2, $v0 -/* 06B0D0 7F0365A0 1000FBFA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B0D4 7F0365A4 02C28821 */ addu $s1, $s6, $v0 -/* 06B0D8 7F0365A8 26520002 */ addiu $s2, $s2, 2 -.L7F0365AC: -/* 06B0DC 7F0365AC 1000FBF7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B0E0 7F0365B0 26310002 */ addiu $s1, $s1, 2 -action43_If_Guard_In_A_Room_Currently_Loaded_RVL_2: -/* 06B0E4 7F0365B4 8EEC0018 */ lw $t4, 0x18($s7) -/* 06B0E8 7F0365B8 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 06B0EC 7F0365BC 8D840014 */ lw $a0, 0x14($t4) -/* 06B0F0 7F0365C0 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 06B0F4 7F0365C4 00402025 */ move $a0, $v0 -/* 06B0F8 7F0365C8 10400007 */ beqz $v0, .L7F0365E8 -/* 06B0FC 7F0365CC 02C02025 */ move $a0, $s6 -/* 06B100 7F0365D0 02402825 */ move $a1, $s2 -/* 06B104 7F0365D4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B108 7F0365D8 92260001 */ lbu $a2, 1($s1) -/* 06B10C 7F0365DC 00409025 */ move $s2, $v0 -/* 06B110 7F0365E0 1000FBEA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B114 7F0365E4 02C28821 */ addu $s1, $s6, $v0 -.L7F0365E8: -/* 06B118 7F0365E8 26520002 */ addiu $s2, $s2, 2 -/* 06B11C 7F0365EC 1000FBE7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B120 7F0365F0 26310002 */ addiu $s1, $s1, 2 -action44_If_Room_Containing_Preset_Is_Loaded_RVL_4: -/* 06B124 7F0365F4 92390001 */ lbu $t9, 1($s1) -/* 06B128 7F0365F8 922E0002 */ lbu $t6, 2($s1) -/* 06B12C 7F0365FC 02E02025 */ move $a0, $s7 -/* 06B130 7F036600 00196A00 */ sll $t5, $t9, 8 -/* 06B134 7F036604 01AE1025 */ or $v0, $t5, $t6 -/* 06B138 7F036608 0FC0CBBF */ jal check_if_room_for_preset_loaded -/* 06B13C 7F03660C 3045FFFF */ andi $a1, $v0, 0xffff -/* 06B140 7F036610 10400007 */ beqz $v0, .L7F036630 -/* 06B144 7F036614 02C02025 */ move $a0, $s6 -/* 06B148 7F036618 02402825 */ move $a1, $s2 -/* 06B14C 7F03661C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B150 7F036620 92260003 */ lbu $a2, 3($s1) -/* 06B154 7F036624 00409025 */ move $s2, $v0 -/* 06B158 7F036628 1000FBD8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B15C 7F03662C 02C28821 */ addu $s1, $s6, $v0 -.L7F036630: -/* 06B160 7F036630 26520004 */ addiu $s2, $s2, 4 -/* 06B164 7F036634 1000FBD5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B168 7F036638 26310004 */ addiu $s1, $s1, 4 -action45_Go_To_RVL_If_Bond_Has_Guard_At_Gunpoint_2: -/* 06B16C 7F03663C 0FC0CCFE */ jal sub_GAME_7F0333F8 -/* 06B170 7F036640 02E02025 */ move $a0, $s7 -/* 06B174 7F036644 10400007 */ beqz $v0, .L7F036664 -/* 06B178 7F036648 02C02025 */ move $a0, $s6 -/* 06B17C 7F03664C 02402825 */ move $a1, $s2 -/* 06B180 7F036650 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B184 7F036654 92260001 */ lbu $a2, 1($s1) -/* 06B188 7F036658 00409025 */ move $s2, $v0 -/* 06B18C 7F03665C 1000FBCB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B190 7F036660 02C28821 */ addu $s1, $s6, $v0 -.L7F036664: -/* 06B194 7F036664 26520002 */ addiu $s2, $s2, 2 -/* 06B198 7F036668 1000FBC8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B19C 7F03666C 26310002 */ addiu $s1, $s1, 2 -action46_If_Fired_A_Shot_RVL_2: -/* 06B1A0 7F036670 0FC0CD24 */ jal check_if_actor_invisible -/* 06B1A4 7F036674 02E02025 */ move $a0, $s7 -/* 06B1A8 7F036678 10400007 */ beqz $v0, .L7F036698 -/* 06B1AC 7F03667C 02C02025 */ move $a0, $s6 -/* 06B1B0 7F036680 02402825 */ move $a1, $s2 -/* 06B1B4 7F036684 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B1B8 7F036688 92260001 */ lbu $a2, 1($s1) -/* 06B1BC 7F03668C 00409025 */ move $s2, $v0 -/* 06B1C0 7F036690 1000FBBE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B1C4 7F036694 02C28821 */ addu $s1, $s6, $v0 -.L7F036698: -/* 06B1C8 7F036698 26520002 */ addiu $s2, $s2, 2 -/* 06B1CC 7F03669C 1000FBBB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B1D0 7F0366A0 26310002 */ addiu $s1, $s1, 2 -action47_If_Distance_Between_Bond_And_Guard_LTV_RVL_3: -/* 06B1D4 7F0366A4 0FC0CB13 */ jal sub_GAME_7F032C4C -/* 06B1D8 7F0366A8 02E02025 */ move $a0, $s7 -/* 06B1DC 7F0366AC 92380001 */ lbu $t8, 1($s1) -/* 06B1E0 7F0366B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06B1E4 7F0366B4 02C02025 */ move $a0, $s6 -/* 06B1E8 7F0366B8 44984000 */ mtc1 $t8, $f8 -/* 06B1EC 7F0366BC 02402825 */ move $a1, $s2 -/* 06B1F0 7F0366C0 07010004 */ bgez $t8, .L7F0366D4 -/* 06B1F4 7F0366C4 468042A0 */ cvt.s.w $f10, $f8 -/* 06B1F8 7F0366C8 44818000 */ mtc1 $at, $f16 -/* 06B1FC 7F0366CC 00000000 */ nop -/* 06B200 7F0366D0 46105280 */ add.s $f10, $f10, $f16 -.L7F0366D4: -/* 06B204 7F0366D4 461A5482 */ mul.s $f18, $f10, $f26 -/* 06B208 7F0366D8 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 06B20C 7F0366DC 44812000 */ mtc1 $at, $f4 -/* 06B210 7F0366E0 00000000 */ nop -/* 06B214 7F0366E4 46049182 */ mul.s $f6, $f18, $f4 -/* 06B218 7F0366E8 4606003C */ c.lt.s $f0, $f6 -/* 06B21C 7F0366EC 00000000 */ nop -/* 06B220 7F0366F0 45020007 */ bc1fl .L7F036710 -/* 06B224 7F0366F4 26520003 */ addiu $s2, $s2, 3 -/* 06B228 7F0366F8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B22C 7F0366FC 92260002 */ lbu $a2, 2($s1) -/* 06B230 7F036700 00409025 */ move $s2, $v0 -/* 06B234 7F036704 1000FBA1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B238 7F036708 02C28821 */ addu $s1, $s6, $v0 -/* 06B23C 7F03670C 26520003 */ addiu $s2, $s2, 3 -.L7F036710: -/* 06B240 7F036710 1000FB9E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B244 7F036714 26310003 */ addiu $s1, $s1, 3 -action48_If_Distance_Between_Bond_And_Guard_GTV_RVL_3: -/* 06B248 7F036718 0FC0CB13 */ jal sub_GAME_7F032C4C -/* 06B24C 7F03671C 02E02025 */ move $a0, $s7 -/* 06B250 7F036720 92290001 */ lbu $t1, 1($s1) -/* 06B254 7F036724 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06B258 7F036728 02C02025 */ move $a0, $s6 -/* 06B25C 7F03672C 44894000 */ mtc1 $t1, $f8 -/* 06B260 7F036730 02402825 */ move $a1, $s2 -/* 06B264 7F036734 05210004 */ bgez $t1, .L7F036748 -/* 06B268 7F036738 46804420 */ cvt.s.w $f16, $f8 -/* 06B26C 7F03673C 44815000 */ mtc1 $at, $f10 -/* 06B270 7F036740 00000000 */ nop -/* 06B274 7F036744 460A8400 */ add.s $f16, $f16, $f10 -.L7F036748: -/* 06B278 7F036748 461A8482 */ mul.s $f18, $f16, $f26 -/* 06B27C 7F03674C 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 06B280 7F036750 44812000 */ mtc1 $at, $f4 -/* 06B284 7F036754 00000000 */ nop -/* 06B288 7F036758 46049182 */ mul.s $f6, $f18, $f4 -/* 06B28C 7F03675C 4600303C */ c.lt.s $f6, $f0 -/* 06B290 7F036760 00000000 */ nop -/* 06B294 7F036764 45020007 */ bc1fl .L7F036784 -/* 06B298 7F036768 26520003 */ addiu $s2, $s2, 3 -/* 06B29C 7F03676C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B2A0 7F036770 92260002 */ lbu $a2, 2($s1) -/* 06B2A4 7F036774 00409025 */ move $s2, $v0 -/* 06B2A8 7F036778 1000FB84 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B2AC 7F03677C 02C28821 */ addu $s1, $s6, $v0 -/* 06B2B0 7F036780 26520003 */ addiu $s2, $s2, 3 -.L7F036784: -/* 06B2B4 7F036784 1000FB81 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B2B8 7F036788 26310003 */ addiu $s1, $s1, 3 -action49_Test_if_Actor_and_Player_CCWAngle_LTV_RVL_Unused_3: -/* 06B2BC 7F03678C 0FC0CB5C */ jal get_angle_between_actor_cur_player -/* 06B2C0 7F036790 02E02025 */ move $a0, $s7 -/* 06B2C4 7F036794 922A0001 */ lbu $t2, 1($s1) -/* 06B2C8 7F036798 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06B2CC 7F03679C 02C02025 */ move $a0, $s6 -/* 06B2D0 7F0367A0 448A4000 */ mtc1 $t2, $f8 -/* 06B2D4 7F0367A4 02402825 */ move $a1, $s2 -/* 06B2D8 7F0367A8 05410004 */ bgez $t2, .L7F0367BC -/* 06B2DC 7F0367AC 468042A0 */ cvt.s.w $f10, $f8 -/* 06B2E0 7F0367B0 44818000 */ mtc1 $at, $f16 -/* 06B2E4 7F0367B4 00000000 */ nop -/* 06B2E8 7F0367B8 46105280 */ add.s $f10, $f10, $f16 -.L7F0367BC: -/* 06B2EC 7F0367BC 461A5482 */ mul.s $f18, $f10, $f26 -/* 06B2F0 7F0367C0 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 06B2F4 7F0367C4 44812000 */ mtc1 $at, $f4 -/* 06B2F8 7F0367C8 00000000 */ nop -/* 06B2FC 7F0367CC 46049182 */ mul.s $f6, $f18, $f4 -/* 06B300 7F0367D0 4606003C */ c.lt.s $f0, $f6 -/* 06B304 7F0367D4 00000000 */ nop -/* 06B308 7F0367D8 45020007 */ bc1fl .L7F0367F8 -/* 06B30C 7F0367DC 26520003 */ addiu $s2, $s2, 3 -/* 06B310 7F0367E0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B314 7F0367E4 92260002 */ lbu $a2, 2($s1) -/* 06B318 7F0367E8 00409025 */ move $s2, $v0 -/* 06B31C 7F0367EC 1000FB67 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B320 7F0367F0 02C28821 */ addu $s1, $s6, $v0 -/* 06B324 7F0367F4 26520003 */ addiu $s2, $s2, 3 -.L7F0367F8: -/* 06B328 7F0367F8 1000FB64 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B32C 7F0367FC 26310003 */ addiu $s1, $s1, 3 -action4A_Test_if_Actor_and_Player_CCWAngle_GTV_RVL_Unused_3: -/* 06B330 7F036800 0FC0CB5C */ jal get_angle_between_actor_cur_player -/* 06B334 7F036804 02E02025 */ move $a0, $s7 -/* 06B338 7F036808 922B0001 */ lbu $t3, 1($s1) -/* 06B33C 7F03680C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06B340 7F036810 02C02025 */ move $a0, $s6 -/* 06B344 7F036814 448B4000 */ mtc1 $t3, $f8 -/* 06B348 7F036818 02402825 */ move $a1, $s2 -/* 06B34C 7F03681C 05610004 */ bgez $t3, .L7F036830 -/* 06B350 7F036820 46804420 */ cvt.s.w $f16, $f8 -/* 06B354 7F036824 44815000 */ mtc1 $at, $f10 -/* 06B358 7F036828 00000000 */ nop -/* 06B35C 7F03682C 460A8400 */ add.s $f16, $f16, $f10 -.L7F036830: -/* 06B360 7F036830 461A8482 */ mul.s $f18, $f16, $f26 -/* 06B364 7F036834 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 06B368 7F036838 44812000 */ mtc1 $at, $f4 -/* 06B36C 7F03683C 00000000 */ nop -/* 06B370 7F036840 46049182 */ mul.s $f6, $f18, $f4 -/* 06B374 7F036844 4600303C */ c.lt.s $f6, $f0 -/* 06B378 7F036848 00000000 */ nop -/* 06B37C 7F03684C 45020007 */ bc1fl .L7F03686C -/* 06B380 7F036850 26520003 */ addiu $s2, $s2, 3 -/* 06B384 7F036854 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B388 7F036858 92260002 */ lbu $a2, 2($s1) -/* 06B38C 7F03685C 00409025 */ move $s2, $v0 -/* 06B390 7F036860 1000FB4A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B394 7F036864 02C28821 */ addu $s1, $s6, $v0 -/* 06B398 7F036868 26520003 */ addiu $s2, $s2, 3 -.L7F03686C: -/* 06B39C 7F03686C 1000FB47 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B3A0 7F036870 26310003 */ addiu $s1, $s1, 3 -action4B_RVL_If_In_Proximity_Of_Bond_4: -/* 06B3A4 7F036874 922C0001 */ lbu $t4, 1($s1) -/* 06B3A8 7F036878 922D0002 */ lbu $t5, 2($s1) -/* 06B3AC 7F03687C 02E02025 */ move $a0, $s7 -/* 06B3B0 7F036880 000CCA00 */ sll $t9, $t4, 8 -/* 06B3B4 7F036884 032D7025 */ or $t6, $t9, $t5 -/* 06B3B8 7F036888 448E4000 */ mtc1 $t6, $f8 -/* 06B3BC 7F03688C 00000000 */ nop -/* 06B3C0 7F036890 468042A0 */ cvt.s.w $f10, $f8 -/* 06B3C4 7F036894 46185402 */ mul.s $f16, $f10, $f24 -/* 06B3C8 7F036898 0FC0CB79 */ jal sub_GAME_7F032DE4 -/* 06B3CC 7F03689C E7B005FC */ swc1 $f16, 0x5fc($sp) -/* 06B3D0 7F0368A0 C7B205FC */ lwc1 $f18, 0x5fc($sp) -/* 06B3D4 7F0368A4 02C02025 */ move $a0, $s6 -/* 06B3D8 7F0368A8 02402825 */ move $a1, $s2 -/* 06B3DC 7F0368AC 4612003C */ c.lt.s $f0, $f18 -/* 06B3E0 7F0368B0 00000000 */ nop -/* 06B3E4 7F0368B4 45020007 */ bc1fl .L7F0368D4 -/* 06B3E8 7F0368B8 26520004 */ addiu $s2, $s2, 4 -/* 06B3EC 7F0368BC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B3F0 7F0368C0 92260003 */ lbu $a2, 3($s1) -/* 06B3F4 7F0368C4 00409025 */ move $s2, $v0 -/* 06B3F8 7F0368C8 1000FB30 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B3FC 7F0368CC 02C28821 */ addu $s1, $s6, $v0 -/* 06B400 7F0368D0 26520004 */ addiu $s2, $s2, 4 -.L7F0368D4: -/* 06B404 7F0368D4 1000FB2D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B408 7F0368D8 26310004 */ addiu $s1, $s1, 4 -action4C_RVL_If_Not_In_Proximity_Of_Bond_4: -/* 06B40C 7F0368DC 922F0001 */ lbu $t7, 1($s1) -/* 06B410 7F0368E0 92290002 */ lbu $t1, 2($s1) -/* 06B414 7F0368E4 02E02025 */ move $a0, $s7 -/* 06B418 7F0368E8 000FC200 */ sll $t8, $t7, 8 -/* 06B41C 7F0368EC 03095025 */ or $t2, $t8, $t1 -/* 06B420 7F0368F0 448A2000 */ mtc1 $t2, $f4 -/* 06B424 7F0368F4 00000000 */ nop -/* 06B428 7F0368F8 468021A0 */ cvt.s.w $f6, $f4 -/* 06B42C 7F0368FC 46183202 */ mul.s $f8, $f6, $f24 -/* 06B430 7F036900 0FC0CB79 */ jal sub_GAME_7F032DE4 -/* 06B434 7F036904 E7A805F4 */ swc1 $f8, 0x5f4($sp) -/* 06B438 7F036908 C7AA05F4 */ lwc1 $f10, 0x5f4($sp) -/* 06B43C 7F03690C 02C02025 */ move $a0, $s6 -/* 06B440 7F036910 02402825 */ move $a1, $s2 -/* 06B444 7F036914 4600503C */ c.lt.s $f10, $f0 -/* 06B448 7F036918 00000000 */ nop -/* 06B44C 7F03691C 45020007 */ bc1fl .L7F03693C -/* 06B450 7F036920 26520004 */ addiu $s2, $s2, 4 -/* 06B454 7F036924 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B458 7F036928 92260003 */ lbu $a2, 3($s1) -/* 06B45C 7F03692C 00409025 */ move $s2, $v0 -/* 06B460 7F036930 1000FB16 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B464 7F036934 02C28821 */ addu $s1, $s6, $v0 -/* 06B468 7F036938 26520004 */ addiu $s2, $s2, 4 -.L7F03693C: -/* 06B46C 7F03693C 1000FB13 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B470 7F036940 26310004 */ addiu $s1, $s1, 4 -action4D_When_Guard_In_Proximity_Of_Preset_RVL_7: -/* 06B474 7F036944 02E02025 */ move $a0, $s7 -/* 06B478 7F036948 0FC0CC10 */ jal get_handle_for_guard_id -/* 06B47C 7F03694C 92250001 */ lbu $a1, 1($s1) -/* 06B480 7F036950 922E0002 */ lbu $t6, 2($s1) -/* 06B484 7F036954 92380003 */ lbu $t8, 3($s1) -/* 06B488 7F036958 922B0004 */ lbu $t3, 4($s1) -/* 06B48C 7F03695C 000E7A00 */ sll $t7, $t6, 8 -/* 06B490 7F036960 01F84825 */ or $t1, $t7, $t8 -/* 06B494 7F036964 44898000 */ mtc1 $t1, $f16 -/* 06B498 7F036968 92390005 */ lbu $t9, 5($s1) -/* 06B49C 7F03696C 000B6200 */ sll $t4, $t3, 8 -/* 06B4A0 7F036970 468084A0 */ cvt.s.w $f18, $f16 -/* 06B4A4 7F036974 01991825 */ or $v1, $t4, $t9 -/* 06B4A8 7F036978 306DFFFF */ andi $t5, $v1, 0xffff -/* 06B4AC 7F03697C 00402025 */ move $a0, $v0 -/* 06B4B0 7F036980 01A02825 */ move $a1, $t5 -/* 06B4B4 7F036984 46189082 */ mul.s $f2, $f18, $f24 -/* 06B4B8 7F036988 50400010 */ beql $v0, $zero, .L7F0369CC -/* 06B4BC 7F03698C 26520007 */ addiu $s2, $s2, 7 -/* 06B4C0 7F036990 0FC0CB92 */ jal sub_GAME_7F032E48 -/* 06B4C4 7F036994 E7A205E4 */ swc1 $f2, 0x5e4($sp) -/* 06B4C8 7F036998 C7A205E4 */ lwc1 $f2, 0x5e4($sp) -/* 06B4CC 7F03699C 02C02025 */ move $a0, $s6 -/* 06B4D0 7F0369A0 02402825 */ move $a1, $s2 -/* 06B4D4 7F0369A4 4602003C */ c.lt.s $f0, $f2 -/* 06B4D8 7F0369A8 00000000 */ nop -/* 06B4DC 7F0369AC 45020007 */ bc1fl .L7F0369CC -/* 06B4E0 7F0369B0 26520007 */ addiu $s2, $s2, 7 -/* 06B4E4 7F0369B4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B4E8 7F0369B8 92260006 */ lbu $a2, 6($s1) -/* 06B4EC 7F0369BC 00409025 */ move $s2, $v0 -/* 06B4F0 7F0369C0 1000FAF2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B4F4 7F0369C4 02C28821 */ addu $s1, $s6, $v0 -/* 06B4F8 7F0369C8 26520007 */ addiu $s2, $s2, 7 -.L7F0369CC: -/* 06B4FC 7F0369CC 1000FAEF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B500 7F0369D0 26310007 */ addiu $s1, $s1, 7 -action4E_When_Guard_Not_In_Proximity_Of_Preset_RVL_7: -/* 06B504 7F0369D4 02E02025 */ move $a0, $s7 -/* 06B508 7F0369D8 0FC0CC10 */ jal get_handle_for_guard_id -/* 06B50C 7F0369DC 92250001 */ lbu $a1, 1($s1) -/* 06B510 7F0369E0 922D0002 */ lbu $t5, 2($s1) -/* 06B514 7F0369E4 922F0003 */ lbu $t7, 3($s1) -/* 06B518 7F0369E8 922A0004 */ lbu $t2, 4($s1) -/* 06B51C 7F0369EC 000D7200 */ sll $t6, $t5, 8 -/* 06B520 7F0369F0 01CFC025 */ or $t8, $t6, $t7 -/* 06B524 7F0369F4 44982000 */ mtc1 $t8, $f4 -/* 06B528 7F0369F8 922C0005 */ lbu $t4, 5($s1) -/* 06B52C 7F0369FC 000A5A00 */ sll $t3, $t2, 8 -/* 06B530 7F036A00 468021A0 */ cvt.s.w $f6, $f4 -/* 06B534 7F036A04 016C1825 */ or $v1, $t3, $t4 -/* 06B538 7F036A08 3079FFFF */ andi $t9, $v1, 0xffff -/* 06B53C 7F036A0C 00402025 */ move $a0, $v0 -/* 06B540 7F036A10 03202825 */ move $a1, $t9 -/* 06B544 7F036A14 46183082 */ mul.s $f2, $f6, $f24 -/* 06B548 7F036A18 50400010 */ beql $v0, $zero, .L7F036A5C -/* 06B54C 7F036A1C 26520007 */ addiu $s2, $s2, 7 -/* 06B550 7F036A20 0FC0CB92 */ jal sub_GAME_7F032E48 -/* 06B554 7F036A24 E7A205D4 */ swc1 $f2, 0x5d4($sp) -/* 06B558 7F036A28 C7A205D4 */ lwc1 $f2, 0x5d4($sp) -/* 06B55C 7F036A2C 02C02025 */ move $a0, $s6 -/* 06B560 7F036A30 02402825 */ move $a1, $s2 -/* 06B564 7F036A34 4600103C */ c.lt.s $f2, $f0 -/* 06B568 7F036A38 00000000 */ nop -/* 06B56C 7F036A3C 45020007 */ bc1fl .L7F036A5C -/* 06B570 7F036A40 26520007 */ addiu $s2, $s2, 7 -/* 06B574 7F036A44 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B578 7F036A48 92260006 */ lbu $a2, 6($s1) -/* 06B57C 7F036A4C 00409025 */ move $s2, $v0 -/* 06B580 7F036A50 1000FACE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B584 7F036A54 02C28821 */ addu $s1, $s6, $v0 -/* 06B588 7F036A58 26520007 */ addiu $s2, $s2, 7 -.L7F036A5C: -/* 06B58C 7F036A5C 1000FACB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B590 7F036A60 26310007 */ addiu $s1, $s1, 7 -action4F_If_Current_Guard_Is_In_Units_Of_Guard_ID_RVL_5: -/* 06B594 7F036A64 92290001 */ lbu $t1, 1($s1) -/* 06B598 7F036A68 922B0002 */ lbu $t3, 2($s1) -/* 06B59C 7F036A6C 02E02025 */ move $a0, $s7 -/* 06B5A0 7F036A70 00095200 */ sll $t2, $t1, 8 -/* 06B5A4 7F036A74 014B6025 */ or $t4, $t2, $t3 -/* 06B5A8 7F036A78 448C4000 */ mtc1 $t4, $f8 -/* 06B5AC 7F036A7C 00000000 */ nop -/* 06B5B0 7F036A80 468042A0 */ cvt.s.w $f10, $f8 -/* 06B5B4 7F036A84 46185402 */ mul.s $f16, $f10, $f24 -/* 06B5B8 7F036A88 E7B005CC */ swc1 $f16, 0x5cc($sp) -/* 06B5BC 7F036A8C 0FC0CC31 */ jal get_distance_between_actor_and_actorID -/* 06B5C0 7F036A90 92250003 */ lbu $a1, 3($s1) -/* 06B5C4 7F036A94 C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 06B5C8 7F036A98 02C02025 */ move $a0, $s6 -/* 06B5CC 7F036A9C 02402825 */ move $a1, $s2 -/* 06B5D0 7F036AA0 4612003C */ c.lt.s $f0, $f18 -/* 06B5D4 7F036AA4 00000000 */ nop -/* 06B5D8 7F036AA8 45020007 */ bc1fl .L7F036AC8 -/* 06B5DC 7F036AAC 26520005 */ addiu $s2, $s2, 5 -/* 06B5E0 7F036AB0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B5E4 7F036AB4 92260004 */ lbu $a2, 4($s1) -/* 06B5E8 7F036AB8 00409025 */ move $s2, $v0 -/* 06B5EC 7F036ABC 1000FAB3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B5F0 7F036AC0 02C28821 */ addu $s1, $s6, $v0 -/* 06B5F4 7F036AC4 26520005 */ addiu $s2, $s2, 5 -.L7F036AC8: -/* 06B5F8 7F036AC8 1000FAB0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B5FC 7F036ACC 26310005 */ addiu $s1, $s1, 5 -action50_If_Current_Guard_Is_Not_In_Units_Of_Guard_ID_RVL_5: -/* 06B600 7F036AD0 92390001 */ lbu $t9, 1($s1) -/* 06B604 7F036AD4 922E0002 */ lbu $t6, 2($s1) -/* 06B608 7F036AD8 02E02025 */ move $a0, $s7 -/* 06B60C 7F036ADC 00196A00 */ sll $t5, $t9, 8 -/* 06B610 7F036AE0 01AE7825 */ or $t7, $t5, $t6 -/* 06B614 7F036AE4 448F2000 */ mtc1 $t7, $f4 -/* 06B618 7F036AE8 00000000 */ nop -/* 06B61C 7F036AEC 468021A0 */ cvt.s.w $f6, $f4 -/* 06B620 7F036AF0 46183202 */ mul.s $f8, $f6, $f24 -/* 06B624 7F036AF4 E7A805C4 */ swc1 $f8, 0x5c4($sp) -/* 06B628 7F036AF8 0FC0CC31 */ jal get_distance_between_actor_and_actorID -/* 06B62C 7F036AFC 92250003 */ lbu $a1, 3($s1) -/* 06B630 7F036B00 C7AA05C4 */ lwc1 $f10, 0x5c4($sp) -/* 06B634 7F036B04 02C02025 */ move $a0, $s6 -/* 06B638 7F036B08 02402825 */ move $a1, $s2 -/* 06B63C 7F036B0C 4600503C */ c.lt.s $f10, $f0 -/* 06B640 7F036B10 00000000 */ nop -/* 06B644 7F036B14 45020007 */ bc1fl .L7F036B34 -/* 06B648 7F036B18 26520005 */ addiu $s2, $s2, 5 -/* 06B64C 7F036B1C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B650 7F036B20 92260004 */ lbu $a2, 4($s1) -/* 06B654 7F036B24 00409025 */ move $s2, $v0 -/* 06B658 7F036B28 1000FA98 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B65C 7F036B2C 02C28821 */ addu $s1, $s6, $v0 -/* 06B660 7F036B30 26520005 */ addiu $s2, $s2, 5 -.L7F036B34: -/* 06B664 7F036B34 1000FA95 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B668 7F036B38 26310005 */ addiu $s1, $s1, 5 -action51_SetClosestGuardUnitsGuardID_Then_RVL_IfSuccess_4: -/* 06B66C 7F036B3C 92380001 */ lbu $t8, 1($s1) -/* 06B670 7F036B40 922A0002 */ lbu $t2, 2($s1) -/* 06B674 7F036B44 02E02025 */ move $a0, $s7 -/* 06B678 7F036B48 00184A00 */ sll $t1, $t8, 8 -/* 06B67C 7F036B4C 012A5825 */ or $t3, $t1, $t2 -/* 06B680 7F036B50 448B8000 */ mtc1 $t3, $f16 -/* 06B684 7F036B54 00000000 */ nop -/* 06B688 7F036B58 468084A0 */ cvt.s.w $f18, $f16 -/* 06B68C 7F036B5C 46189002 */ mul.s $f0, $f18, $f24 -/* 06B690 7F036B60 44050000 */ mfc1 $a1, $f0 -/* 06B694 7F036B64 0FC0CECE */ jal sub_GAME_7F033B38 -/* 06B698 7F036B68 00000000 */ nop -/* 06B69C 7F036B6C 10400007 */ beqz $v0, .L7F036B8C -/* 06B6A0 7F036B70 02C02025 */ move $a0, $s6 -/* 06B6A4 7F036B74 02402825 */ move $a1, $s2 -/* 06B6A8 7F036B78 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B6AC 7F036B7C 92260003 */ lbu $a2, 3($s1) -/* 06B6B0 7F036B80 00409025 */ move $s2, $v0 -/* 06B6B4 7F036B84 1000FA81 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B6B8 7F036B88 02C28821 */ addu $s1, $s6, $v0 -.L7F036B8C: -/* 06B6BC 7F036B8C 26520004 */ addiu $s2, $s2, 4 -/* 06B6C0 7F036B90 1000FA7E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B6C4 7F036B94 26310004 */ addiu $s1, $s1, 4 -action52_GoIntoRVLIf_In_Units_Of_Preset_6: -/* 06B6C8 7F036B98 922F0001 */ lbu $t7, 1($s1) -/* 06B6CC 7F036B9C 92290002 */ lbu $t1, 2($s1) -/* 06B6D0 7F036BA0 922C0003 */ lbu $t4, 3($s1) -/* 06B6D4 7F036BA4 000FC200 */ sll $t8, $t7, 8 -/* 06B6D8 7F036BA8 03095025 */ or $t2, $t8, $t1 -/* 06B6DC 7F036BAC 448A2000 */ mtc1 $t2, $f4 -/* 06B6E0 7F036BB0 922D0004 */ lbu $t5, 4($s1) -/* 06B6E4 7F036BB4 000CCA00 */ sll $t9, $t4, 8 -/* 06B6E8 7F036BB8 468021A0 */ cvt.s.w $f6, $f4 -/* 06B6EC 7F036BBC 032D1025 */ or $v0, $t9, $t5 -/* 06B6F0 7F036BC0 3045FFFF */ andi $a1, $v0, 0xffff -/* 06B6F4 7F036BC4 02E02025 */ move $a0, $s7 -/* 06B6F8 7F036BC8 46183202 */ mul.s $f8, $f6, $f24 -/* 06B6FC 7F036BCC 0FC0CC55 */ jal get_distance_between_actor_and_preset -/* 06B700 7F036BD0 E7A805B0 */ swc1 $f8, 0x5b0($sp) -/* 06B704 7F036BD4 C7AA05B0 */ lwc1 $f10, 0x5b0($sp) -/* 06B708 7F036BD8 02C02025 */ move $a0, $s6 -/* 06B70C 7F036BDC 02402825 */ move $a1, $s2 -/* 06B710 7F036BE0 460A003C */ c.lt.s $f0, $f10 -/* 06B714 7F036BE4 00000000 */ nop -/* 06B718 7F036BE8 45020007 */ bc1fl .L7F036C08 -/* 06B71C 7F036BEC 26520006 */ addiu $s2, $s2, 6 -/* 06B720 7F036BF0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B724 7F036BF4 92260005 */ lbu $a2, 5($s1) -/* 06B728 7F036BF8 00409025 */ move $s2, $v0 -/* 06B72C 7F036BFC 1000FA63 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B730 7F036C00 02C28821 */ addu $s1, $s6, $v0 -/* 06B734 7F036C04 26520006 */ addiu $s2, $s2, 6 -.L7F036C08: -/* 06B738 7F036C08 1000FA60 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B73C 7F036C0C 26310006 */ addiu $s1, $s1, 6 -action53_GoIntoRVLIf_Not_In_Units_Of_Preset_6: -/* 06B740 7F036C10 922E0001 */ lbu $t6, 1($s1) -/* 06B744 7F036C14 92380002 */ lbu $t8, 2($s1) -/* 06B748 7F036C18 922B0003 */ lbu $t3, 3($s1) -/* 06B74C 7F036C1C 000E7A00 */ sll $t7, $t6, 8 -/* 06B750 7F036C20 01F84825 */ or $t1, $t7, $t8 -/* 06B754 7F036C24 44898000 */ mtc1 $t1, $f16 -/* 06B758 7F036C28 92390004 */ lbu $t9, 4($s1) -/* 06B75C 7F036C2C 000B6200 */ sll $t4, $t3, 8 -/* 06B760 7F036C30 468084A0 */ cvt.s.w $f18, $f16 -/* 06B764 7F036C34 01991025 */ or $v0, $t4, $t9 -/* 06B768 7F036C38 3045FFFF */ andi $a1, $v0, 0xffff -/* 06B76C 7F036C3C 02E02025 */ move $a0, $s7 -/* 06B770 7F036C40 46189102 */ mul.s $f4, $f18, $f24 -/* 06B774 7F036C44 0FC0CC55 */ jal get_distance_between_actor_and_preset -/* 06B778 7F036C48 E7A405A4 */ swc1 $f4, 0x5a4($sp) -/* 06B77C 7F036C4C C7A605A4 */ lwc1 $f6, 0x5a4($sp) -/* 06B780 7F036C50 02C02025 */ move $a0, $s6 -/* 06B784 7F036C54 02402825 */ move $a1, $s2 -/* 06B788 7F036C58 4600303C */ c.lt.s $f6, $f0 -/* 06B78C 7F036C5C 00000000 */ nop -/* 06B790 7F036C60 45020007 */ bc1fl .L7F036C80 -/* 06B794 7F036C64 26520006 */ addiu $s2, $s2, 6 -/* 06B798 7F036C68 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B79C 7F036C6C 92260005 */ lbu $a2, 5($s1) -/* 06B7A0 7F036C70 00409025 */ move $s2, $v0 -/* 06B7A4 7F036C74 1000FA45 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B7A8 7F036C78 02C28821 */ addu $s1, $s6, $v0 -/* 06B7AC 7F036C7C 26520006 */ addiu $s2, $s2, 6 -.L7F036C80: -/* 06B7B0 7F036C80 1000FA42 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B7B4 7F036C84 26310006 */ addiu $s1, $s1, 6 -action54_GoIntoRVLIf_Guard_Is_At_Preset_5: -/* 06B7B8 7F036C88 922A0002 */ lbu $t2, 2($s1) -/* 06B7BC 7F036C8C 922C0003 */ lbu $t4, 3($s1) -/* 06B7C0 7F036C90 02E02025 */ move $a0, $s7 -/* 06B7C4 7F036C94 000A5A00 */ sll $t3, $t2, 8 -/* 06B7C8 7F036C98 016C1025 */ or $v0, $t3, $t4 -/* 06B7CC 7F036C9C 3046FFFF */ andi $a2, $v0, 0xffff -/* 06B7D0 7F036CA0 0FC0D0E2 */ jal check_if_actorID_is_at_preset -/* 06B7D4 7F036CA4 92250001 */ lbu $a1, 1($s1) -/* 06B7D8 7F036CA8 10400007 */ beqz $v0, .L7F036CC8 -/* 06B7DC 7F036CAC 02C02025 */ move $a0, $s6 -/* 06B7E0 7F036CB0 02402825 */ move $a1, $s2 -/* 06B7E4 7F036CB4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B7E8 7F036CB8 92260004 */ lbu $a2, 4($s1) -/* 06B7EC 7F036CBC 00409025 */ move $s2, $v0 -/* 06B7F0 7F036CC0 1000FA32 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B7F4 7F036CC4 02C28821 */ addu $s1, $s6, $v0 -.L7F036CC8: -/* 06B7F8 7F036CC8 26520005 */ addiu $s2, $s2, 5 -/* 06B7FC 7F036CCC 1000FA2F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B800 7F036CD0 26310005 */ addiu $s1, $s1, 5 -action55_GoIntoRVLIf_Entered_Room_with_Preset_4: -/* 06B804 7F036CD4 922D0001 */ lbu $t5, 1($s1) -/* 06B808 7F036CD8 922F0002 */ lbu $t7, 2($s1) -/* 06B80C 7F036CDC 02E02025 */ move $a0, $s7 -/* 06B810 7F036CE0 000D7200 */ sll $t6, $t5, 8 -/* 06B814 7F036CE4 01CF1025 */ or $v0, $t6, $t7 -/* 06B818 7F036CE8 0FC0D113 */ jal check_if_actor_is_at_preset -/* 06B81C 7F036CEC 3045FFFF */ andi $a1, $v0, 0xffff -/* 06B820 7F036CF0 10400007 */ beqz $v0, .L7F036D10 -/* 06B824 7F036CF4 02C02025 */ move $a0, $s6 -/* 06B828 7F036CF8 02402825 */ move $a1, $s2 -/* 06B82C 7F036CFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B830 7F036D00 92260003 */ lbu $a2, 3($s1) -/* 06B834 7F036D04 00409025 */ move $s2, $v0 -/* 06B838 7F036D08 1000FA20 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B83C 7F036D0C 02C28821 */ addu $s1, $s6, $v0 -.L7F036D10: -/* 06B840 7F036D10 26520004 */ addiu $s2, $s2, 4 -/* 06B844 7F036D14 1000FA1D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B848 7F036D18 26310004 */ addiu $s1, $s1, 4 -action56_GoIntoRVLIf_16_Object_num_Collected_3: -/* 06B84C 7F036D1C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06B850 7F036D20 92240001 */ lbu $a0, 1($s1) -/* 06B854 7F036D24 5040000F */ beql $v0, $zero, .L7F036D64 -/* 06B858 7F036D28 26520003 */ addiu $s2, $s2, 3 -/* 06B85C 7F036D2C 8C490010 */ lw $t1, 0x10($v0) -/* 06B860 7F036D30 5120000C */ beql $t1, $zero, .L7F036D64 -/* 06B864 7F036D34 26520003 */ addiu $s2, $s2, 3 -/* 06B868 7F036D38 0FC233F8 */ jal sub_GAME_7F08CFE0 -/* 06B86C 7F036D3C 8C440010 */ lw $a0, 0x10($v0) -/* 06B870 7F036D40 10400007 */ beqz $v0, .L7F036D60 -/* 06B874 7F036D44 02C02025 */ move $a0, $s6 -/* 06B878 7F036D48 02402825 */ move $a1, $s2 -/* 06B87C 7F036D4C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B880 7F036D50 92260002 */ lbu $a2, 2($s1) -/* 06B884 7F036D54 00409025 */ move $s2, $v0 -/* 06B888 7F036D58 1000FA0C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B88C 7F036D5C 02C28821 */ addu $s1, $s6, $v0 -.L7F036D60: -/* 06B890 7F036D60 26520003 */ addiu $s2, $s2, 3 -.L7F036D64: -/* 06B894 7F036D64 1000FA09 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B898 7F036D68 26310003 */ addiu $s1, $s1, 3 -action57_GoIntoRVLIf_Specified_Weapon_Deposited_3: -/* 06B89C 7F036D6C 0FC146BB */ jal check_if_item_deposited -/* 06B8A0 7F036D70 92240001 */ lbu $a0, 1($s1) -/* 06B8A4 7F036D74 10400007 */ beqz $v0, .L7F036D94 -/* 06B8A8 7F036D78 02C02025 */ move $a0, $s6 -/* 06B8AC 7F036D7C 02402825 */ move $a1, $s2 -/* 06B8B0 7F036D80 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B8B4 7F036D84 92260002 */ lbu $a2, 2($s1) -/* 06B8B8 7F036D88 00409025 */ move $s2, $v0 -/* 06B8BC 7F036D8C 1000F9FF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B8C0 7F036D90 02C28821 */ addu $s1, $s6, $v0 -.L7F036D94: -/* 06B8C4 7F036D94 26520003 */ addiu $s2, $s2, 3 -/* 06B8C8 7F036D98 1000F9FC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B8CC 7F036D9C 26310003 */ addiu $s1, $s1, 3 -action58_GoIntoRVLIf_SpecifiedWeaponDeposited_On16Object_4: -/* 06B8D0 7F036DA0 92240002 */ lbu $a0, 2($s1) -/* 06B8D4 7F036DA4 0FC15C30 */ jal get_handle_to_tagged_object -/* 06B8D8 7F036DA8 00008025 */ move $s0, $zero -/* 06B8DC 7F036DAC 10400015 */ beqz $v0, .L7F036E04 -/* 06B8E0 7F036DB0 02402825 */ move $a1, $s2 -/* 06B8E4 7F036DB4 8C440010 */ lw $a0, 0x10($v0) -/* 06B8E8 7F036DB8 10800012 */ beqz $a0, .L7F036E04 -/* 06B8EC 7F036DBC 00000000 */ nop -/* 06B8F0 7F036DC0 8C830020 */ lw $v1, 0x20($a0) -/* 06B8F4 7F036DC4 1060000F */ beqz $v1, .L7F036E04 -/* 06B8F8 7F036DC8 00000000 */ nop -/* 06B8FC 7F036DCC 906A0000 */ lbu $t2, ($v1) -.L7F036DD0: -/* 06B900 7F036DD0 24010004 */ li $at, 4 -/* 06B904 7F036DD4 55410009 */ bnel $t2, $at, .L7F036DFC -/* 06B908 7F036DD8 8C630024 */ lw $v1, 0x24($v1) -/* 06B90C 7F036DDC 8C620004 */ lw $v0, 4($v1) -/* 06B910 7F036DE0 922B0001 */ lbu $t3, 1($s1) -/* 06B914 7F036DE4 804C0080 */ lb $t4, 0x80($v0) -/* 06B918 7F036DE8 556C0004 */ bnel $t3, $t4, .L7F036DFC -/* 06B91C 7F036DEC 8C630024 */ lw $v1, 0x24($v1) -/* 06B920 7F036DF0 10000004 */ b .L7F036E04 -/* 06B924 7F036DF4 24100001 */ li $s0, 1 -/* 06B928 7F036DF8 8C630024 */ lw $v1, 0x24($v1) -.L7F036DFC: -/* 06B92C 7F036DFC 5460FFF4 */ bnezl $v1, .L7F036DD0 -/* 06B930 7F036E00 906A0000 */ lbu $t2, ($v1) -.L7F036E04: -/* 06B934 7F036E04 12000006 */ beqz $s0, .L7F036E20 -/* 06B938 7F036E08 02C02025 */ move $a0, $s6 -/* 06B93C 7F036E0C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B940 7F036E10 92260003 */ lbu $a2, 3($s1) -/* 06B944 7F036E14 00409025 */ move $s2, $v0 -/* 06B948 7F036E18 1000F9DC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B94C 7F036E1C 02C28821 */ addu $s1, $s6, $v0 -.L7F036E20: -/* 06B950 7F036E20 26520004 */ addiu $s2, $s2, 4 -/* 06B954 7F036E24 1000F9D9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B958 7F036E28 26310004 */ addiu $s1, $s1, 4 -action59_GoIntoRVLIf_Specified_Weapon_Is_Out_3: -/* 06B95C 7F036E2C 0FC17674 */ jal get_item_in_hand -/* 06B960 7F036E30 00002025 */ move $a0, $zero -/* 06B964 7F036E34 92390001 */ lbu $t9, 1($s1) -/* 06B968 7F036E38 50590006 */ beql $v0, $t9, .L7F036E54 -/* 06B96C 7F036E3C 02C02025 */ move $a0, $s6 -/* 06B970 7F036E40 0FC17674 */ jal get_item_in_hand -/* 06B974 7F036E44 24040001 */ li $a0, 1 -/* 06B978 7F036E48 922D0001 */ lbu $t5, 1($s1) -/* 06B97C 7F036E4C 144D0007 */ bne $v0, $t5, .L7F036E6C -/* 06B980 7F036E50 02C02025 */ move $a0, $s6 -.L7F036E54: -/* 06B984 7F036E54 02402825 */ move $a1, $s2 -/* 06B988 7F036E58 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B98C 7F036E5C 92260002 */ lbu $a2, 2($s1) -/* 06B990 7F036E60 00409025 */ move $s2, $v0 -/* 06B994 7F036E64 1000F9C9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B998 7F036E68 02C28821 */ addu $s1, $s6, $v0 -.L7F036E6C: -/* 06B99C 7F036E6C 26520003 */ addiu $s2, $s2, 3 -/* 06B9A0 7F036E70 1000F9C6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B9A4 7F036E74 26310003 */ addiu $s1, $s1, 3 -action5A_GoIntoRVLIf_Type_16_Object_num_Loaded_3: -/* 06B9A8 7F036E78 0FC15C30 */ jal get_handle_to_tagged_object -/* 06B9AC 7F036E7C 92240001 */ lbu $a0, 1($s1) -/* 06B9B0 7F036E80 5040000C */ beql $v0, $zero, .L7F036EB4 -/* 06B9B4 7F036E84 26520003 */ addiu $s2, $s2, 3 -/* 06B9B8 7F036E88 8C4E0010 */ lw $t6, 0x10($v0) -/* 06B9BC 7F036E8C 02C02025 */ move $a0, $s6 -/* 06B9C0 7F036E90 02402825 */ move $a1, $s2 -/* 06B9C4 7F036E94 51C00007 */ beql $t6, $zero, .L7F036EB4 -/* 06B9C8 7F036E98 26520003 */ addiu $s2, $s2, 3 -/* 06B9CC 7F036E9C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06B9D0 7F036EA0 92260002 */ lbu $a2, 2($s1) -/* 06B9D4 7F036EA4 00409025 */ move $s2, $v0 -/* 06B9D8 7F036EA8 1000F9B8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B9DC 7F036EAC 02C28821 */ addu $s1, $s6, $v0 -/* 06B9E0 7F036EB0 26520003 */ addiu $s2, $s2, 3 -.L7F036EB4: -/* 06B9E4 7F036EB4 1000F9B5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06B9E8 7F036EB8 26310003 */ addiu $s1, $s1, 3 -action5B_GoIntoRVLIf_16_Object_num_Not_Destroyed_3: -/* 06B9EC 7F036EBC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06B9F0 7F036EC0 92240001 */ lbu $a0, 1($s1) -/* 06B9F4 7F036EC4 1040000E */ beqz $v0, .L7F036F00 -/* 06B9F8 7F036EC8 00402025 */ move $a0, $v0 -/* 06B9FC 7F036ECC 8C4F0010 */ lw $t7, 0x10($v0) -/* 06BA00 7F036ED0 51E0000C */ beql $t7, $zero, .L7F036F04 -/* 06BA04 7F036ED4 26520003 */ addiu $s2, $s2, 3 -/* 06BA08 7F036ED8 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 06BA0C 7F036EDC 00000000 */ nop -/* 06BA10 7F036EE0 10400007 */ beqz $v0, .L7F036F00 -/* 06BA14 7F036EE4 02C02025 */ move $a0, $s6 -/* 06BA18 7F036EE8 02402825 */ move $a1, $s2 -/* 06BA1C 7F036EEC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06BA20 7F036EF0 92260002 */ lbu $a2, 2($s1) -/* 06BA24 7F036EF4 00409025 */ move $s2, $v0 -/* 06BA28 7F036EF8 1000F9A4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BA2C 7F036EFC 02C28821 */ addu $s1, $s6, $v0 -.L7F036F00: -/* 06BA30 7F036F00 26520003 */ addiu $s2, $s2, 3 -.L7F036F04: -/* 06BA34 7F036F04 1000F9A1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BA38 7F036F08 26310003 */ addiu $s1, $s1, 3 -action5C_GoIntoRVLIf_16_Object_num_Activated_3: -/* 06BA3C 7F036F0C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BA40 7F036F10 92240001 */ lbu $a0, 1($s1) -/* 06BA44 7F036F14 50400014 */ beql $v0, $zero, .L7F036F68 -/* 06BA48 7F036F18 26520003 */ addiu $s2, $s2, 3 -/* 06BA4C 7F036F1C 8C580010 */ lw $t8, 0x10($v0) -/* 06BA50 7F036F20 53000011 */ beql $t8, $zero, .L7F036F68 -/* 06BA54 7F036F24 26520003 */ addiu $s2, $s2, 3 -/* 06BA58 7F036F28 8C490064 */ lw $t1, 0x64($v0) -/* 06BA5C 7F036F2C 2401BFFF */ li $at, -16385 -/* 06BA60 7F036F30 312A4000 */ andi $t2, $t1, 0x4000 -/* 06BA64 7F036F34 5140000C */ beql $t2, $zero, .L7F036F68 -/* 06BA68 7F036F38 26520003 */ addiu $s2, $s2, 3 -/* 06BA6C 7F036F3C 8C4B0064 */ lw $t3, 0x64($v0) -/* 06BA70 7F036F40 02C02025 */ move $a0, $s6 -/* 06BA74 7F036F44 02402825 */ move $a1, $s2 -/* 06BA78 7F036F48 01616024 */ and $t4, $t3, $at -/* 06BA7C 7F036F4C AC4C0064 */ sw $t4, 0x64($v0) -/* 06BA80 7F036F50 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06BA84 7F036F54 92260002 */ lbu $a2, 2($s1) -/* 06BA88 7F036F58 00409025 */ move $s2, $v0 -/* 06BA8C 7F036F5C 1000F98B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BA90 7F036F60 02C28821 */ addu $s1, $s6, $v0 -/* 06BA94 7F036F64 26520003 */ addiu $s2, $s2, 3 -.L7F036F68: -/* 06BA98 7F036F68 1000F988 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BA9C 7F036F6C 26310003 */ addiu $s1, $s1, 3 -action5D_GoIntoRVLIf_Gadget_Used_On_16_Object_num_3: -/* 06BAA0 7F036F70 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BAA4 7F036F74 92240001 */ lbu $a0, 1($s1) -/* 06BAA8 7F036F78 50400013 */ beql $v0, $zero, .L7F036FC8 -/* 06BAAC 7F036F7C 26520003 */ addiu $s2, $s2, 3 -/* 06BAB0 7F036F80 8C590010 */ lw $t9, 0x10($v0) -/* 06BAB4 7F036F84 53200010 */ beql $t9, $zero, .L7F036FC8 -/* 06BAB8 7F036F88 26520003 */ addiu $s2, $s2, 3 -/* 06BABC 7F036F8C 904D0002 */ lbu $t5, 2($v0) -/* 06BAC0 7F036F90 31AE0040 */ andi $t6, $t5, 0x40 -/* 06BAC4 7F036F94 51C0000C */ beql $t6, $zero, .L7F036FC8 -/* 06BAC8 7F036F98 26520003 */ addiu $s2, $s2, 3 -/* 06BACC 7F036F9C 904F0002 */ lbu $t7, 2($v0) -/* 06BAD0 7F036FA0 02C02025 */ move $a0, $s6 -/* 06BAD4 7F036FA4 02402825 */ move $a1, $s2 -/* 06BAD8 7F036FA8 31F8FFBF */ andi $t8, $t7, 0xffbf -/* 06BADC 7F036FAC A0580002 */ sb $t8, 2($v0) -/* 06BAE0 7F036FB0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06BAE4 7F036FB4 92260002 */ lbu $a2, 2($s1) -/* 06BAE8 7F036FB8 00409025 */ move $s2, $v0 -/* 06BAEC 7F036FBC 1000F973 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BAF0 7F036FC0 02C28821 */ addu $s1, $s6, $v0 -/* 06BAF4 7F036FC4 26520003 */ addiu $s2, $s2, 3 -.L7F036FC8: -/* 06BAF8 7F036FC8 1000F970 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BAFC 7F036FCC 26310003 */ addiu $s1, $s1, 3 -action5E_16_Object_Activates_2: -/* 06BB00 7F036FD0 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BB04 7F036FD4 92240001 */ lbu $a0, 1($s1) -/* 06BB08 7F036FD8 10400014 */ beqz $v0, .L7F03702C -/* 06BB0C 7F036FDC 00402825 */ move $a1, $v0 -/* 06BB10 7F036FE0 8C440010 */ lw $a0, 0x10($v0) -/* 06BB14 7F036FE4 50800012 */ beql $a0, $zero, .L7F037030 -/* 06BB18 7F036FE8 26520002 */ addiu $s2, $s2, 2 -/* 06BB1C 7F036FEC 90830000 */ lbu $v1, ($a0) -/* 06BB20 7F036FF0 24010002 */ li $at, 2 -/* 06BB24 7F036FF4 54610007 */ bnel $v1, $at, .L7F037014 -/* 06BB28 7F036FF8 24010001 */ li $at, 1 -/* 06BB2C 7F036FFC 0FC15667 */ jal sub_GAME_7F05599C -/* 06BB30 7F037000 8C440010 */ lw $a0, 0x10($v0) -/* 06BB34 7F037004 26520002 */ addiu $s2, $s2, 2 -/* 06BB38 7F037008 1000F960 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BB3C 7F03700C 26310002 */ addiu $s1, $s1, 2 -/* 06BB40 7F037010 24010001 */ li $at, 1 -.L7F037014: -/* 06BB44 7F037014 10610003 */ beq $v1, $at, .L7F037024 -/* 06BB48 7F037018 24010004 */ li $at, 4 -/* 06BB4C 7F03701C 54610004 */ bnel $v1, $at, .L7F037030 -/* 06BB50 7F037020 26520002 */ addiu $s2, $s2, 2 -.L7F037024: -/* 06BB54 7F037024 0FC13C5C */ jal sub_GAME_7F04F170 -/* 06BB58 7F037028 8CA40010 */ lw $a0, 0x10($a1) -.L7F03702C: -/* 06BB5C 7F03702C 26520002 */ addiu $s2, $s2, 2 -.L7F037030: -/* 06BB60 7F037030 1000F956 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BB64 7F037034 26310002 */ addiu $s1, $s1, 2 -action5F_16_Object_Explodes_2: -/* 06BB68 7F037038 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BB6C 7F03703C 92240001 */ lbu $a0, 1($s1) -/* 06BB70 7F037040 10400019 */ beqz $v0, .L7F0370A8 -/* 06BB74 7F037044 00408025 */ move $s0, $v0 -/* 06BB78 7F037048 8C490010 */ lw $t1, 0x10($v0) -/* 06BB7C 7F03704C 51200017 */ beql $t1, $zero, .L7F0370AC -/* 06BB80 7F037050 26520002 */ addiu $s2, $s2, 2 -/* 06BB84 7F037054 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 06BB88 7F037058 00402025 */ move $a0, $v0 -/* 06BB8C 7F03705C 54400013 */ bnezl $v0, .L7F0370AC -/* 06BB90 7F037060 26520002 */ addiu $s2, $s2, 2 -/* 06BB94 7F037064 C6080074 */ lwc1 $f8, 0x74($s0) -/* 06BB98 7F037068 C60A0070 */ lwc1 $f10, 0x70($s0) -/* 06BB9C 7F03706C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06BBA0 7F037070 44819000 */ mtc1 $at, $f18 -/* 06BBA4 7F037074 460A4401 */ sub.s $f16, $f8, $f10 -/* 06BBA8 7F037078 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 06BBAC 7F03707C 44813000 */ mtc1 $at, $f6 -/* 06BBB0 7F037080 240AFFFF */ li $t2, -1 -/* 06BBB4 7F037084 46128100 */ add.s $f4, $f16, $f18 -/* 06BBB8 7F037088 AFAA0010 */ sw $t2, 0x10($sp) -/* 06BBBC 7F03708C 02002025 */ move $a0, $s0 -/* 06BBC0 7F037090 26060058 */ addiu $a2, $s0, 0x58 -/* 06BBC4 7F037094 46062003 */ div.s $f0, $f4, $f6 -/* 06BBC8 7F037098 2407001D */ li $a3, 29 -/* 06BBCC 7F03709C 44050000 */ mfc1 $a1, $f0 -/* 06BBD0 7F0370A0 0FC13842 */ jal maybe_detonate_object -/* 06BBD4 7F0370A4 00000000 */ nop -.L7F0370A8: -/* 06BBD8 7F0370A8 26520002 */ addiu $s2, $s2, 2 -.L7F0370AC: -/* 06BBDC 7F0370AC 1000F937 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BBE0 7F0370B0 26310002 */ addiu $s1, $s1, 2 -action60_Guard_Drops_16_Object_num_2: -/* 06BBE4 7F0370B4 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BBE8 7F0370B8 92240001 */ lbu $a0, 1($s1) -/* 06BBEC 7F0370BC 10400013 */ beqz $v0, .L7F03710C -/* 06BBF0 7F0370C0 00403025 */ move $a2, $v0 -/* 06BBF4 7F0370C4 8C440010 */ lw $a0, 0x10($v0) -/* 06BBF8 7F0370C8 50800011 */ beql $a0, $zero, .L7F037110 -/* 06BBFC 7F0370CC 26520002 */ addiu $s2, $s2, 2 -/* 06BC00 7F0370D0 8C83001C */ lw $v1, 0x1c($a0) -/* 06BC04 7F0370D4 5060000E */ beql $v1, $zero, .L7F037110 -/* 06BC08 7F0370D8 26520002 */ addiu $s2, $s2, 2 -/* 06BC0C 7F0370DC 906B0000 */ lbu $t3, ($v1) -/* 06BC10 7F0370E0 24010003 */ li $at, 3 -/* 06BC14 7F0370E4 5561000A */ bnel $t3, $at, .L7F037110 -/* 06BC18 7F0370E8 26520002 */ addiu $s2, $s2, 2 -/* 06BC1C 7F0370EC 8C440010 */ lw $a0, 0x10($v0) -/* 06BC20 7F0370F0 24050002 */ li $a1, 2 -/* 06BC24 7F0370F4 8C8C001C */ lw $t4, 0x1c($a0) -/* 06BC28 7F0370F8 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 06BC2C 7F0370FC 8D900004 */ lw $s0, 4($t4) -/* 06BC30 7F037100 96190012 */ lhu $t9, 0x12($s0) -/* 06BC34 7F037104 372D0001 */ ori $t5, $t9, 1 -/* 06BC38 7F037108 A60D0012 */ sh $t5, 0x12($s0) -.L7F03710C: -/* 06BC3C 7F03710C 26520002 */ addiu $s2, $s2, 2 -.L7F037110: -/* 06BC40 7F037110 1000F91E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BC44 7F037114 26310002 */ addiu $s1, $s1, 2 -action61_Kill_Guard_num_2: -/* 06BC48 7F037118 02E02025 */ move $a0, $s7 -/* 06BC4C 7F03711C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06BC50 7F037120 92250001 */ lbu $a1, 1($s1) -/* 06BC54 7F037124 10400006 */ beqz $v0, .L7F037140 -/* 06BC58 7F037128 00402025 */ move $a0, $v0 -/* 06BC5C 7F03712C 8C4E0018 */ lw $t6, 0x18($v0) -/* 06BC60 7F037130 51C00004 */ beql $t6, $zero, .L7F037144 -/* 06BC64 7F037134 26520002 */ addiu $s2, $s2, 2 -/* 06BC68 7F037138 0FC086C8 */ jal sub_GAME_7F021B20 -/* 06BC6C 7F03713C 00000000 */ nop -.L7F037140: -/* 06BC70 7F037140 26520002 */ addiu $s2, $s2, 2 -.L7F037144: -/* 06BC74 7F037144 1000F911 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BC78 7F037148 26310002 */ addiu $s1, $s1, 2 -action62_Guard_num_Throws_Equipment_2: -/* 06BC7C 7F03714C 02E02025 */ move $a0, $s7 -/* 06BC80 7F037150 0FC0CC10 */ jal get_handle_for_guard_id -/* 06BC84 7F037154 92250001 */ lbu $a1, 1($s1) -/* 06BC88 7F037158 10400015 */ beqz $v0, .L7F0371B0 -/* 06BC8C 7F03715C 00408025 */ move $s0, $v0 -/* 06BC90 7F037160 8C4F0018 */ lw $t7, 0x18($v0) -/* 06BC94 7F037164 51E00013 */ beql $t7, $zero, .L7F0371B4 -/* 06BC98 7F037168 26520002 */ addiu $s2, $s2, 2 -/* 06BC9C 7F03716C 8C580160 */ lw $t8, 0x160($v0) -/* 06BCA0 7F037170 24050001 */ li $a1, 1 -/* 06BCA4 7F037174 53000007 */ beql $t8, $zero, .L7F037194 -/* 06BCA8 7F037178 8E040164 */ lw $a0, 0x164($s0) -/* 06BCAC 7F03717C 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 06BCB0 7F037180 8C440160 */ lw $a0, 0x160($v0) -/* 06BCB4 7F037184 96090012 */ lhu $t1, 0x12($s0) -/* 06BCB8 7F037188 352A0001 */ ori $t2, $t1, 1 -/* 06BCBC 7F03718C A60A0012 */ sh $t2, 0x12($s0) -/* 06BCC0 7F037190 8E040164 */ lw $a0, 0x164($s0) -.L7F037194: -/* 06BCC4 7F037194 50800007 */ beql $a0, $zero, .L7F0371B4 -/* 06BCC8 7F037198 26520002 */ addiu $s2, $s2, 2 -/* 06BCCC 7F03719C 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 06BCD0 7F0371A0 24050001 */ li $a1, 1 -/* 06BCD4 7F0371A4 960B0012 */ lhu $t3, 0x12($s0) -/* 06BCD8 7F0371A8 356C0001 */ ori $t4, $t3, 1 -/* 06BCDC 7F0371AC A60C0012 */ sh $t4, 0x12($s0) -.L7F0371B0: -/* 06BCE0 7F0371B0 26520002 */ addiu $s2, $s2, 2 -.L7F0371B4: -/* 06BCE4 7F0371B4 1000F8F5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BCE8 7F0371B8 26310002 */ addiu $s1, $s1, 2 -action63_Guard_Gives_Bond_16_Object_num_2: -/* 06BCEC 7F0371BC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BCF0 7F0371C0 92240001 */ lbu $a0, 1($s1) -/* 06BCF4 7F0371C4 1040000A */ beqz $v0, .L7F0371F0 -/* 06BCF8 7F0371C8 00408025 */ move $s0, $v0 -/* 06BCFC 7F0371CC 8C590010 */ lw $t9, 0x10($v0) -/* 06BD00 7F0371D0 00002825 */ move $a1, $zero -/* 06BD04 7F0371D4 53200007 */ beql $t9, $zero, .L7F0371F4 -/* 06BD08 7F0371D8 26520002 */ addiu $s2, $s2, 2 -/* 06BD0C 7F0371DC 0FC14094 */ jal collect_or_interact_object -/* 06BD10 7F0371E0 8C440010 */ lw $a0, 0x10($v0) -/* 06BD14 7F0371E4 8E040010 */ lw $a0, 0x10($s0) -/* 06BD18 7F0371E8 0FC0F0AF */ jal sub_GAME_7F03C2BC -/* 06BD1C 7F0371EC 00402825 */ move $a1, $v0 -.L7F0371F0: -/* 06BD20 7F0371F0 26520002 */ addiu $s2, $s2, 2 -.L7F0371F4: -/* 06BD24 7F0371F4 1000F8E5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BD28 7F0371F8 26310002 */ addiu $s1, $s1, 2 -action64_Type_16_Object_Equipped_On_Guard_3: -/* 06BD2C 7F0371FC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BD30 7F037200 92240001 */ lbu $a0, 1($s1) -/* 06BD34 7F037204 00408025 */ move $s0, $v0 -/* 06BD38 7F037208 02E02025 */ move $a0, $s7 -/* 06BD3C 7F03720C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06BD40 7F037210 92250002 */ lbu $a1, 2($s1) -/* 06BD44 7F037214 1200001F */ beqz $s0, .L7F037294 -/* 06BD48 7F037218 00409825 */ move $s3, $v0 -/* 06BD4C 7F03721C 8E040010 */ lw $a0, 0x10($s0) -/* 06BD50 7F037220 5080001D */ beql $a0, $zero, .L7F037298 -/* 06BD54 7F037224 26520003 */ addiu $s2, $s2, 3 -/* 06BD58 7F037228 5040001B */ beql $v0, $zero, .L7F037298 -/* 06BD5C 7F03722C 26520003 */ addiu $s2, $s2, 3 -/* 06BD60 7F037230 8C8D001C */ lw $t5, 0x1c($a0) -/* 06BD64 7F037234 11A00005 */ beqz $t5, .L7F03724C -/* 06BD68 7F037238 00000000 */ nop -/* 06BD6C 7F03723C 0FC13011 */ jal sub_GAME_7F04C044 -/* 06BD70 7F037240 00000000 */ nop -/* 06BD74 7F037244 10000008 */ b .L7F037268 -/* 06BD78 7F037248 920E0003 */ lbu $t6, 3($s0) -.L7F03724C: -/* 06BD7C 7F03724C 0FC0F863 */ jal sub_GAME_7F03E18C -/* 06BD80 7F037250 00000000 */ nop -/* 06BD84 7F037254 0FC0E94E */ jal sub_GAME_7F03A538 -/* 06BD88 7F037258 8E040010 */ lw $a0, 0x10($s0) -/* 06BD8C 7F03725C 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 06BD90 7F037260 8E040010 */ lw $a0, 0x10($s0) -/* 06BD94 7F037264 920E0003 */ lbu $t6, 3($s0) -.L7F037268: -/* 06BD98 7F037268 24010008 */ li $at, 8 -/* 06BD9C 7F03726C 02002025 */ move $a0, $s0 -/* 06BDA0 7F037270 55C10006 */ bnel $t6, $at, .L7F03728C -/* 06BDA4 7F037274 8E040010 */ lw $a0, 0x10($s0) -/* 06BDA8 7F037278 0FC14787 */ jal sub_GAME_7F051E1C -/* 06BDAC 7F03727C 02602825 */ move $a1, $s3 -/* 06BDB0 7F037280 54400005 */ bnezl $v0, .L7F037298 -/* 06BDB4 7F037284 26520003 */ addiu $s2, $s2, 3 -/* 06BDB8 7F037288 8E040010 */ lw $a0, 0x10($s0) -.L7F03728C: -/* 06BDBC 7F03728C 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 06BDC0 7F037290 8E650018 */ lw $a1, 0x18($s3) -.L7F037294: -/* 06BDC4 7F037294 26520003 */ addiu $s2, $s2, 3 -.L7F037298: -/* 06BDC8 7F037298 1000F8BC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BDCC 7F03729C 26310003 */ addiu $s1, $s1, 3 -action65_Object_Moved_To_Preset_4: -/* 06BDD0 7F0372A0 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BDD4 7F0372A4 92240001 */ lbu $a0, 1($s1) -/* 06BDD8 7F0372A8 AFA20500 */ sw $v0, 0x500($sp) -/* 06BDDC 7F0372AC 922F0002 */ lbu $t7, 2($s1) -/* 06BDE0 7F0372B0 92290003 */ lbu $t1, 3($s1) -/* 06BDE4 7F0372B4 000FC200 */ sll $t8, $t7, 8 -/* 06BDE8 7F0372B8 03091825 */ or $v1, $t8, $t1 -/* 06BDEC 7F0372BC 1040003C */ beqz $v0, .L7F0373B0 -/* 06BDF0 7F0372C0 306AFFFF */ andi $t2, $v1, 0xffff -/* 06BDF4 7F0372C4 8C4B0010 */ lw $t3, 0x10($v0) -/* 06BDF8 7F0372C8 00409825 */ move $s3, $v0 -/* 06BDFC 7F0372CC 29412710 */ slti $at, $t2, 0x2710 -/* 06BE00 7F0372D0 51600038 */ beql $t3, $zero, .L7F0373B4 -/* 06BE04 7F0372D4 26520004 */ addiu $s2, $s2, 4 -/* 06BE08 7F0372D8 1020000A */ beqz $at, .L7F037304 -/* 06BE0C 7F0372DC 01401025 */ move $v0, $t2 -/* 06BE10 7F0372E0 000A6080 */ sll $t4, $t2, 2 -/* 06BE14 7F0372E4 018A6023 */ subu $t4, $t4, $t2 -/* 06BE18 7F0372E8 000C6080 */ sll $t4, $t4, 2 -/* 06BE1C 7F0372EC 3C198007 */ lui $t9, %hi(ptr_0xxxpresets) -/* 06BE20 7F0372F0 8F395D18 */ lw $t9, %lo(ptr_0xxxpresets)($t9) -/* 06BE24 7F0372F4 018A6023 */ subu $t4, $t4, $t2 -/* 06BE28 7F0372F8 000C6080 */ sll $t4, $t4, 2 -/* 06BE2C 7F0372FC 1000000A */ b .L7F037328 -/* 06BE30 7F037300 01998021 */ addu $s0, $t4, $t9 -.L7F037304: -/* 06BE34 7F037304 3C0E8007 */ lui $t6, %hi(ptr_2xxxpresets) -/* 06BE38 7F037308 8DCE5D1C */ lw $t6, %lo(ptr_2xxxpresets)($t6) -/* 06BE3C 7F03730C 00026900 */ sll $t5, $v0, 4 -/* 06BE40 7F037310 01A26821 */ addu $t5, $t5, $v0 -/* 06BE44 7F037314 000D6880 */ sll $t5, $t5, 2 -/* 06BE48 7F037318 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06BE4C 7F03731C 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06BE50 7F037320 01AE8021 */ addu $s0, $t5, $t6 -/* 06BE54 7F037324 02018021 */ addu $s0, $s0, $at -.L7F037328: -/* 06BE58 7F037328 C6080018 */ lwc1 $f8, 0x18($s0) -/* 06BE5C 7F03732C 4405A000 */ mfc1 $a1, $f20 -/* 06BE60 7F037330 4406A000 */ mfc1 $a2, $f20 -/* 06BE64 7F037334 46004287 */ neg.s $f10, $f8 -/* 06BE68 7F037338 4407A000 */ mfc1 $a3, $f20 -/* 06BE6C 7F03733C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 06BE70 7F037340 C610001C */ lwc1 $f16, 0x1c($s0) -/* 06BE74 7F037344 27A404B8 */ addiu $a0, $sp, 0x4b8 -/* 06BE78 7F037348 46008487 */ neg.s $f18, $f16 -/* 06BE7C 7F03734C E7B20014 */ swc1 $f18, 0x14($sp) -/* 06BE80 7F037350 C6040020 */ lwc1 $f4, 0x20($s0) -/* 06BE84 7F037354 46002187 */ neg.s $f6, $f4 -/* 06BE88 7F037358 E7A60018 */ swc1 $f6, 0x18($sp) -/* 06BE8C 7F03735C C608000C */ lwc1 $f8, 0xc($s0) -/* 06BE90 7F037360 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 06BE94 7F037364 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 06BE98 7F037368 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 06BE9C 7F03736C C6100014 */ lwc1 $f16, 0x14($s0) -/* 06BEA0 7F037370 0FC16642 */ jal sub_GAME_7F059908 -/* 06BEA4 7F037374 E7B00024 */ swc1 $f16, 0x24($sp) -/* 06BEA8 7F037378 8E620014 */ lw $v0, 0x14($s3) -/* 06BEAC 7F03737C 27A504B8 */ addiu $a1, $sp, 0x4b8 -/* 06BEB0 7F037380 50400004 */ beql $v0, $zero, .L7F037394 -/* 06BEB4 7F037384 8E070028 */ lw $a3, 0x28($s0) -/* 06BEB8 7F037388 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 06BEBC 7F03738C C44C0014 */ lwc1 $f12, 0x14($v0) -/* 06BEC0 7F037390 8E070028 */ lw $a3, 0x28($s0) -.L7F037394: -/* 06BEC4 7F037394 AFB00010 */ sw $s0, 0x10($sp) -/* 06BEC8 7F037398 02602025 */ move $a0, $s3 -/* 06BECC 7F03739C 02002825 */ move $a1, $s0 -/* 06BED0 7F0373A0 0FC10223 */ jal sub_GAME_7F04088C -/* 06BED4 7F0373A4 27A604B8 */ addiu $a2, $sp, 0x4b8 -/* 06BED8 7F0373A8 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 06BEDC 7F0373AC 02602025 */ move $a0, $s3 -.L7F0373B0: -/* 06BEE0 7F0373B0 26520004 */ addiu $s2, $s2, 4 -.L7F0373B4: -/* 06BEE4 7F0373B4 1000F875 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BEE8 7F0373B8 26310004 */ addiu $s1, $s1, 4 -action66_Open_Door_2: -/* 06BEEC 7F0373BC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BEF0 7F0373C0 92240001 */ lbu $a0, 1($s1) -/* 06BEF4 7F0373C4 1040000B */ beqz $v0, .L7F0373F4 -/* 06BEF8 7F0373C8 00403025 */ move $a2, $v0 -/* 06BEFC 7F0373CC 8C440010 */ lw $a0, 0x10($v0) -/* 06BF00 7F0373D0 50800009 */ beql $a0, $zero, .L7F0373F8 -/* 06BF04 7F0373D4 26520002 */ addiu $s2, $s2, 2 -/* 06BF08 7F0373D8 908F0000 */ lbu $t7, ($a0) -/* 06BF0C 7F0373DC 24010002 */ li $at, 2 -/* 06BF10 7F0373E0 00402025 */ move $a0, $v0 -/* 06BF14 7F0373E4 55E10004 */ bnel $t7, $at, .L7F0373F8 -/* 06BF18 7F0373E8 26520002 */ addiu $s2, $s2, 2 -/* 06BF1C 7F0373EC 0FC15262 */ jal set_door_state -/* 06BF20 7F0373F0 24050001 */ li $a1, 1 -.L7F0373F4: -/* 06BF24 7F0373F4 26520002 */ addiu $s2, $s2, 2 -.L7F0373F8: -/* 06BF28 7F0373F8 1000F864 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BF2C 7F0373FC 26310002 */ addiu $s1, $s1, 2 -action67_Close_Door_2: -/* 06BF30 7F037400 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BF34 7F037404 92240001 */ lbu $a0, 1($s1) -/* 06BF38 7F037408 1040000B */ beqz $v0, .L7F037438 -/* 06BF3C 7F03740C 00403025 */ move $a2, $v0 -/* 06BF40 7F037410 8C440010 */ lw $a0, 0x10($v0) -/* 06BF44 7F037414 50800009 */ beql $a0, $zero, .L7F03743C -/* 06BF48 7F037418 26520002 */ addiu $s2, $s2, 2 -/* 06BF4C 7F03741C 90980000 */ lbu $t8, ($a0) -/* 06BF50 7F037420 24010002 */ li $at, 2 -/* 06BF54 7F037424 00402025 */ move $a0, $v0 -/* 06BF58 7F037428 57010004 */ bnel $t8, $at, .L7F03743C -/* 06BF5C 7F03742C 26520002 */ addiu $s2, $s2, 2 -/* 06BF60 7F037430 0FC15262 */ jal set_door_state -/* 06BF64 7F037434 24050002 */ li $a1, 2 -.L7F037438: -/* 06BF68 7F037438 26520002 */ addiu $s2, $s2, 2 -.L7F03743C: -/* 06BF6C 7F03743C 1000F853 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06BF70 7F037440 26310002 */ addiu $s1, $s1, 2 -action68_Check_Door_Status_RVL_If_Met_4: -/* 06BF74 7F037444 92240001 */ lbu $a0, 1($s1) -/* 06BF78 7F037448 0FC15C30 */ jal get_handle_to_tagged_object -/* 06BF7C 7F03744C 00008025 */ move $s0, $zero -/* 06BF80 7F037450 10400027 */ beqz $v0, .L7F0374F0 -/* 06BF84 7F037454 02C02025 */ move $a0, $s6 -/* 06BF88 7F037458 8C490010 */ lw $t1, 0x10($v0) -/* 06BF8C 7F03745C 11200024 */ beqz $t1, .L7F0374F0 -/* 06BF90 7F037460 00000000 */ nop -/* 06BF94 7F037464 904A0003 */ lbu $t2, 3($v0) -/* 06BF98 7F037468 24010001 */ li $at, 1 -/* 06BF9C 7F03746C 15410020 */ bne $t2, $at, .L7F0374F0 -/* 06BFA0 7F037470 00000000 */ nop -/* 06BFA4 7F037474 804300BC */ lb $v1, 0xbc($v0) -/* 06BFA8 7F037478 24010001 */ li $at, 1 -/* 06BFAC 7F03747C 1460000E */ bnez $v1, .L7F0374B8 -/* 06BFB0 7F037480 00000000 */ nop -/* 06BFB4 7F037484 C45200B4 */ lwc1 $f18, 0xb4($v0) -/* 06BFB8 7F037488 4614903E */ c.le.s $f18, $f20 -/* 06BFBC 7F03748C 00000000 */ nop -/* 06BFC0 7F037490 45020006 */ bc1fl .L7F0374AC -/* 06BFC4 7F037494 92300002 */ lbu $s0, 2($s1) -/* 06BFC8 7F037498 92300002 */ lbu $s0, 2($s1) -/* 06BFCC 7F03749C 320B0001 */ andi $t3, $s0, 1 -/* 06BFD0 7F0374A0 10000013 */ b .L7F0374F0 -/* 06BFD4 7F0374A4 000B802B */ sltu $s0, $zero, $t3 -/* 06BFD8 7F0374A8 92300002 */ lbu $s0, 2($s1) -.L7F0374AC: -/* 06BFDC 7F0374AC 32190002 */ andi $t9, $s0, 2 -/* 06BFE0 7F0374B0 1000000F */ b .L7F0374F0 -/* 06BFE4 7F0374B4 0019802B */ sltu $s0, $zero, $t9 -.L7F0374B8: -/* 06BFE8 7F0374B8 10610003 */ beq $v1, $at, .L7F0374C8 -/* 06BFEC 7F0374BC 24010003 */ li $at, 3 -/* 06BFF0 7F0374C0 54610006 */ bnel $v1, $at, .L7F0374DC -/* 06BFF4 7F0374C4 24010002 */ li $at, 2 -.L7F0374C8: -/* 06BFF8 7F0374C8 92300002 */ lbu $s0, 2($s1) -/* 06BFFC 7F0374CC 320E0008 */ andi $t6, $s0, 8 -/* 06C000 7F0374D0 10000007 */ b .L7F0374F0 -/* 06C004 7F0374D4 000E802B */ sltu $s0, $zero, $t6 -/* 06C008 7F0374D8 24010002 */ li $at, 2 -.L7F0374DC: -/* 06C00C 7F0374DC 14610004 */ bne $v1, $at, .L7F0374F0 -/* 06C010 7F0374E0 00000000 */ nop -/* 06C014 7F0374E4 92300002 */ lbu $s0, 2($s1) -/* 06C018 7F0374E8 32180004 */ andi $t8, $s0, 4 -/* 06C01C 7F0374EC 0018802B */ sltu $s0, $zero, $t8 -.L7F0374F0: -/* 06C020 7F0374F0 12000006 */ beqz $s0, .L7F03750C -/* 06C024 7F0374F4 02402825 */ move $a1, $s2 -/* 06C028 7F0374F8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C02C 7F0374FC 92260003 */ lbu $a2, 3($s1) -/* 06C030 7F037500 00409025 */ move $s2, $v0 -/* 06C034 7F037504 1000F821 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C038 7F037508 02C28821 */ addu $s1, $s6, $v0 -.L7F03750C: -/* 06C03C 7F03750C 26520004 */ addiu $s2, $s2, 4 -/* 06C040 7F037510 1000F81E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C044 7F037514 26310004 */ addiu $s1, $s1, 4 -action69_If_16_Object_Is_Valid_Door_RVL_3: -/* 06C048 7F037518 0FC15C30 */ jal get_handle_to_tagged_object -/* 06C04C 7F03751C 92240001 */ lbu $a0, 1($s1) -/* 06C050 7F037520 50400014 */ beql $v0, $zero, .L7F037574 -/* 06C054 7F037524 26520003 */ addiu $s2, $s2, 3 -/* 06C058 7F037528 8C4A0010 */ lw $t2, 0x10($v0) -/* 06C05C 7F03752C 51400011 */ beql $t2, $zero, .L7F037574 -/* 06C060 7F037530 26520003 */ addiu $s2, $s2, 3 -/* 06C064 7F037534 904B0003 */ lbu $t3, 3($v0) -/* 06C068 7F037538 24010001 */ li $at, 1 -/* 06C06C 7F03753C 5561000D */ bnel $t3, $at, .L7F037574 -/* 06C070 7F037540 26520003 */ addiu $s2, $s2, 3 -/* 06C074 7F037544 8C4C0064 */ lw $t4, 0x64($v0) -/* 06C078 7F037548 02C02025 */ move $a0, $s6 -/* 06C07C 7F03754C 02402825 */ move $a1, $s2 -/* 06C080 7F037550 31990200 */ andi $t9, $t4, 0x200 -/* 06C084 7F037554 53200007 */ beql $t9, $zero, .L7F037574 -/* 06C088 7F037558 26520003 */ addiu $s2, $s2, 3 -/* 06C08C 7F03755C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C090 7F037560 92260002 */ lbu $a2, 2($s1) -/* 06C094 7F037564 00409025 */ move $s2, $v0 -/* 06C098 7F037568 1000F808 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C09C 7F03756C 02C28821 */ addu $s1, $s6, $v0 -/* 06C0A0 7F037570 26520003 */ addiu $s2, $s2, 3 -.L7F037574: -/* 06C0A4 7F037574 1000F805 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C0A8 7F037578 26310003 */ addiu $s1, $s1, 3 -action6A_Set_Bits_To_Lock_On_Type_16_Door_3: -/* 06C0AC 7F03757C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06C0B0 7F037580 92240001 */ lbu $a0, 1($s1) -/* 06C0B4 7F037584 1040000C */ beqz $v0, .L7F0375B8 -/* 06C0B8 7F037588 26520003 */ addiu $s2, $s2, 3 -/* 06C0BC 7F03758C 8C440010 */ lw $a0, 0x10($v0) -/* 06C0C0 7F037590 10800009 */ beqz $a0, .L7F0375B8 -/* 06C0C4 7F037594 00000000 */ nop -/* 06C0C8 7F037598 908D0000 */ lbu $t5, ($a0) -/* 06C0CC 7F03759C 24010002 */ li $at, 2 -/* 06C0D0 7F0375A0 15A10005 */ bne $t5, $at, .L7F0375B8 -/* 06C0D4 7F0375A4 00000000 */ nop -/* 06C0D8 7F0375A8 92230002 */ lbu $v1, 2($s1) -/* 06C0DC 7F0375AC 8C4E009C */ lw $t6, 0x9c($v0) -/* 06C0E0 7F0375B0 01C37825 */ or $t7, $t6, $v1 -/* 06C0E4 7F0375B4 AC4F009C */ sw $t7, 0x9c($v0) -.L7F0375B8: -/* 06C0E8 7F0375B8 1000F7F4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C0EC 7F0375BC 26310003 */ addiu $s1, $s1, 3 -action6B_Unset_Bits_To_Lock_On_Type_16_Door_3: -/* 06C0F0 7F0375C0 0FC15C30 */ jal get_handle_to_tagged_object -/* 06C0F4 7F0375C4 92240001 */ lbu $a0, 1($s1) -/* 06C0F8 7F0375C8 1040000D */ beqz $v0, .L7F037600 -/* 06C0FC 7F0375CC 26520003 */ addiu $s2, $s2, 3 -/* 06C100 7F0375D0 8C440010 */ lw $a0, 0x10($v0) -/* 06C104 7F0375D4 1080000A */ beqz $a0, .L7F037600 -/* 06C108 7F0375D8 00000000 */ nop -/* 06C10C 7F0375DC 90980000 */ lbu $t8, ($a0) -/* 06C110 7F0375E0 24010002 */ li $at, 2 -/* 06C114 7F0375E4 17010006 */ bne $t8, $at, .L7F037600 -/* 06C118 7F0375E8 00000000 */ nop -/* 06C11C 7F0375EC 92230002 */ lbu $v1, 2($s1) -/* 06C120 7F0375F0 8C49009C */ lw $t1, 0x9c($v0) -/* 06C124 7F0375F4 00605027 */ not $t2, $v1 -/* 06C128 7F0375F8 012A5824 */ and $t3, $t1, $t2 -/* 06C12C 7F0375FC AC4B009C */ sw $t3, 0x9c($v0) -.L7F037600: -/* 06C130 7F037600 1000F7E2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C134 7F037604 26310003 */ addiu $s1, $s1, 3 -action6C_If_Tagged_Locked_Door_16_Objects_Toggled_RVL_4: -/* 06C138 7F037608 92240001 */ lbu $a0, 1($s1) -/* 06C13C 7F03760C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06C140 7F037610 00008025 */ move $s0, $zero -/* 06C144 7F037614 1040000E */ beqz $v0, .L7F037650 -/* 06C148 7F037618 02402825 */ move $a1, $s2 -/* 06C14C 7F03761C 8C440010 */ lw $a0, 0x10($v0) -/* 06C150 7F037620 1080000B */ beqz $a0, .L7F037650 -/* 06C154 7F037624 00000000 */ nop -/* 06C158 7F037628 908C0000 */ lbu $t4, ($a0) -/* 06C15C 7F03762C 24010002 */ li $at, 2 -/* 06C160 7F037630 15810007 */ bne $t4, $at, .L7F037650 -/* 06C164 7F037634 00000000 */ nop -/* 06C168 7F037638 92230002 */ lbu $v1, 2($s1) -/* 06C16C 7F03763C 8C59009C */ lw $t9, 0x9c($v0) -/* 06C170 7F037640 03236824 */ and $t5, $t9, $v1 -/* 06C174 7F037644 146D0002 */ bne $v1, $t5, .L7F037650 -/* 06C178 7F037648 00000000 */ nop -/* 06C17C 7F03764C 24100001 */ li $s0, 1 -.L7F037650: -/* 06C180 7F037650 12000006 */ beqz $s0, .L7F03766C -/* 06C184 7F037654 02C02025 */ move $a0, $s6 -/* 06C188 7F037658 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C18C 7F03765C 92260003 */ lbu $a2, 3($s1) -/* 06C190 7F037660 00409025 */ move $s2, $v0 -/* 06C194 7F037664 1000F7C9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C198 7F037668 02C28821 */ addu $s1, $s6, $v0 -.L7F03766C: -/* 06C19C 7F03766C 26520004 */ addiu $s2, $s2, 4 -/* 06C1A0 7F037670 1000F7C6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C1A4 7F037674 26310004 */ addiu $s1, $s1, 4 -action6D_If_Objective_num_Complete_RVL_3: -/* 06C1A8 7F037678 0FC15C6A */ jal add_objective -/* 06C1AC 7F03767C 00000000 */ nop -/* 06C1B0 7F037680 92250001 */ lbu $a1, 1($s1) -/* 06C1B4 7F037684 00A2082A */ slt $at, $a1, $v0 -/* 06C1B8 7F037688 5020000D */ beql $at, $zero, .L7F0376C0 -/* 06C1BC 7F03768C 26520003 */ addiu $s2, $s2, 3 -/* 06C1C0 7F037690 0FC15C8E */ jal get_status_of_objective -/* 06C1C4 7F037694 00A02025 */ move $a0, $a1 -/* 06C1C8 7F037698 24010001 */ li $at, 1 -/* 06C1CC 7F03769C 14410007 */ bne $v0, $at, .L7F0376BC -/* 06C1D0 7F0376A0 02C02025 */ move $a0, $s6 -/* 06C1D4 7F0376A4 02402825 */ move $a1, $s2 -/* 06C1D8 7F0376A8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C1DC 7F0376AC 92260002 */ lbu $a2, 2($s1) -/* 06C1E0 7F0376B0 00409025 */ move $s2, $v0 -/* 06C1E4 7F0376B4 1000F7B5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C1E8 7F0376B8 02C28821 */ addu $s1, $s6, $v0 -.L7F0376BC: -/* 06C1EC 7F0376BC 26520003 */ addiu $s2, $s2, 3 -.L7F0376C0: -/* 06C1F0 7F0376C0 1000F7B2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C1F4 7F0376C4 26310003 */ addiu $s1, $s1, 3 -action6E_If_Guard_2328_Preset_RVL_3: -/* 06C1F8 7F0376C8 02E02025 */ move $a0, $s7 -/* 06C1FC 7F0376CC 0FC0CE66 */ jal check_2328_preset_set_with_method -/* 06C200 7F0376D0 92250001 */ lbu $a1, 1($s1) -/* 06C204 7F0376D4 10400007 */ beqz $v0, .L7F0376F4 -/* 06C208 7F0376D8 02C02025 */ move $a0, $s6 -/* 06C20C 7F0376DC 02402825 */ move $a1, $s2 -/* 06C210 7F0376E0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C214 7F0376E4 92260002 */ lbu $a2, 2($s1) -/* 06C218 7F0376E8 00409025 */ move $s2, $v0 -/* 06C21C 7F0376EC 1000F7A7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C220 7F0376F0 02C28821 */ addu $s1, $s6, $v0 -.L7F0376F4: -/* 06C224 7F0376F4 26520003 */ addiu $s2, $s2, 3 -/* 06C228 7F0376F8 1000F7A4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C22C 7F0376FC 26310003 */ addiu $s1, $s1, 3 -action6F_If_Guard_2328_Preset_Set_RVL_3: -/* 06C230 7F037700 02E02025 */ move $a0, $s7 -/* 06C234 7F037704 0FC0CEAB */ jal sub_GAME_7F033AAC -/* 06C238 7F037708 92250001 */ lbu $a1, 1($s1) -/* 06C23C 7F03770C 10400007 */ beqz $v0, .L7F03772C -/* 06C240 7F037710 02C02025 */ move $a0, $s6 -/* 06C244 7F037714 02402825 */ move $a1, $s2 -/* 06C248 7F037718 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C24C 7F03771C 92260002 */ lbu $a2, 2($s1) -/* 06C250 7F037720 00409025 */ move $s2, $v0 -/* 06C254 7F037724 1000F799 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C258 7F037728 02C28821 */ addu $s1, $s6, $v0 -.L7F03772C: -/* 06C25C 7F03772C 26520003 */ addiu $s2, $s2, 3 -/* 06C260 7F037730 1000F796 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C264 7F037734 26310003 */ addiu $s1, $s1, 3 -action78_Go_To_RVL_If_Guard_Shot_LTV_3: -/* 06C268 7F037738 0FC0CD69 */ jal get_times_actor_shot -/* 06C26C 7F03773C 02E02025 */ move $a0, $s7 -/* 06C270 7F037740 922E0001 */ lbu $t6, 1($s1) -/* 06C274 7F037744 02C02025 */ move $a0, $s6 -/* 06C278 7F037748 02402825 */ move $a1, $s2 -/* 06C27C 7F03774C 004E082A */ slt $at, $v0, $t6 -/* 06C280 7F037750 50200007 */ beql $at, $zero, .L7F037770 -/* 06C284 7F037754 26520003 */ addiu $s2, $s2, 3 -/* 06C288 7F037758 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C28C 7F03775C 92260002 */ lbu $a2, 2($s1) -/* 06C290 7F037760 00409025 */ move $s2, $v0 -/* 06C294 7F037764 1000F789 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C298 7F037768 02C28821 */ addu $s1, $s6, $v0 -/* 06C29C 7F03776C 26520003 */ addiu $s2, $s2, 3 -.L7F037770: -/* 06C2A0 7F037770 1000F786 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C2A4 7F037774 26310003 */ addiu $s1, $s1, 3 -action79_Go_To_RVL_If_Guard_Shot_GTV_3: -/* 06C2A8 7F037778 0FC0CD69 */ jal get_times_actor_shot -/* 06C2AC 7F03777C 02E02025 */ move $a0, $s7 -/* 06C2B0 7F037780 922F0001 */ lbu $t7, 1($s1) -/* 06C2B4 7F037784 02C02025 */ move $a0, $s6 -/* 06C2B8 7F037788 02402825 */ move $a1, $s2 -/* 06C2BC 7F03778C 01E2082A */ slt $at, $t7, $v0 -/* 06C2C0 7F037790 50200007 */ beql $at, $zero, .L7F0377B0 -/* 06C2C4 7F037794 26520003 */ addiu $s2, $s2, 3 -/* 06C2C8 7F037798 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C2CC 7F03779C 92260002 */ lbu $a2, 2($s1) -/* 06C2D0 7F0377A0 00409025 */ move $s2, $v0 -/* 06C2D4 7F0377A4 1000F779 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C2D8 7F0377A8 02C28821 */ addu $s1, $s6, $v0 -/* 06C2DC 7F0377AC 26520003 */ addiu $s2, $s2, 3 -.L7F0377B0: -/* 06C2E0 7F0377B0 1000F776 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C2E4 7F0377B4 26310003 */ addiu $s1, $s1, 3 -action7A_Go_To_RVL_If_Number_Near_Miss_Gunshots_LTV_3: -/* 06C2E8 7F0377B8 0FC0CD6B */ jal get_num_shots_near_actor -/* 06C2EC 7F0377BC 02E02025 */ move $a0, $s7 -/* 06C2F0 7F0377C0 92380001 */ lbu $t8, 1($s1) -/* 06C2F4 7F0377C4 02C02025 */ move $a0, $s6 -/* 06C2F8 7F0377C8 02402825 */ move $a1, $s2 -/* 06C2FC 7F0377CC 0058082A */ slt $at, $v0, $t8 -/* 06C300 7F0377D0 50200007 */ beql $at, $zero, .L7F0377F0 -/* 06C304 7F0377D4 26520003 */ addiu $s2, $s2, 3 -/* 06C308 7F0377D8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C30C 7F0377DC 92260002 */ lbu $a2, 2($s1) -/* 06C310 7F0377E0 00409025 */ move $s2, $v0 -/* 06C314 7F0377E4 1000F769 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C318 7F0377E8 02C28821 */ addu $s1, $s6, $v0 -/* 06C31C 7F0377EC 26520003 */ addiu $s2, $s2, 3 -.L7F0377F0: -/* 06C320 7F0377F0 1000F766 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C324 7F0377F4 26310003 */ addiu $s1, $s1, 3 -action7B_Go_To_RVL_If_Number_Near_Miss_Gunshots_GTV_3: -/* 06C328 7F0377F8 0FC0CD6B */ jal get_num_shots_near_actor -/* 06C32C 7F0377FC 02E02025 */ move $a0, $s7 -/* 06C330 7F037800 92290001 */ lbu $t1, 1($s1) -/* 06C334 7F037804 02C02025 */ move $a0, $s6 -/* 06C338 7F037808 02402825 */ move $a1, $s2 -/* 06C33C 7F03780C 0122082A */ slt $at, $t1, $v0 -/* 06C340 7F037810 50200007 */ beql $at, $zero, .L7F037830 -/* 06C344 7F037814 26520003 */ addiu $s2, $s2, 3 -/* 06C348 7F037818 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C34C 7F03781C 92260002 */ lbu $a2, 2($s1) -/* 06C350 7F037820 00409025 */ move $s2, $v0 -/* 06C354 7F037824 1000F759 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C358 7F037828 02C28821 */ addu $s1, $s6, $v0 -/* 06C35C 7F03782C 26520003 */ addiu $s2, $s2, 3 -.L7F037830: -/* 06C360 7F037830 1000F756 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C364 7F037834 26310003 */ addiu $s1, $s1, 3 -action7C_If_Guard_Health_Below_Value_RVL_4: -/* 06C368 7F037838 922A0002 */ lbu $t2, 2($s1) -/* 06C36C 7F03783C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06C370 7F037840 448A2000 */ mtc1 $t2, $f4 -/* 06C374 7F037844 05410004 */ bgez $t2, .L7F037858 -/* 06C378 7F037848 468021A0 */ cvt.s.w $f6, $f4 -/* 06C37C 7F03784C 44814000 */ mtc1 $at, $f8 -/* 06C380 7F037850 00000000 */ nop -/* 06C384 7F037854 46083180 */ add.s $f6, $f6, $f8 -.L7F037858: -/* 06C388 7F037858 3C018005 */ lui $at, %hi(D_800528EC) -/* 06C38C 7F03785C C42A28EC */ lwc1 $f10, %lo(D_800528EC)($at) -/* 06C390 7F037860 02E02025 */ move $a0, $s7 -/* 06C394 7F037864 460A3402 */ mul.s $f16, $f6, $f10 -/* 06C398 7F037868 E7B00438 */ swc1 $f16, 0x438($sp) -/* 06C39C 7F03786C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06C3A0 7F037870 92250001 */ lbu $a1, 1($s1) -/* 06C3A4 7F037874 50400011 */ beql $v0, $zero, .L7F0378BC -/* 06C3A8 7F037878 26520004 */ addiu $s2, $s2, 4 -/* 06C3AC 7F03787C C4520100 */ lwc1 $f18, 0x100($v0) -/* 06C3B0 7F037880 C44400FC */ lwc1 $f4, 0xfc($v0) -/* 06C3B4 7F037884 C7A60438 */ lwc1 $f6, 0x438($sp) -/* 06C3B8 7F037888 02C02025 */ move $a0, $s6 -/* 06C3BC 7F03788C 46049201 */ sub.s $f8, $f18, $f4 -/* 06C3C0 7F037890 02402825 */ move $a1, $s2 -/* 06C3C4 7F037894 4606403C */ c.lt.s $f8, $f6 -/* 06C3C8 7F037898 00000000 */ nop -/* 06C3CC 7F03789C 45020007 */ bc1fl .L7F0378BC -/* 06C3D0 7F0378A0 26520004 */ addiu $s2, $s2, 4 -/* 06C3D4 7F0378A4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C3D8 7F0378A8 92260003 */ lbu $a2, 3($s1) -/* 06C3DC 7F0378AC 00409025 */ move $s2, $v0 -/* 06C3E0 7F0378B0 1000F736 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C3E4 7F0378B4 02C28821 */ addu $s1, $s6, $v0 -/* 06C3E8 7F0378B8 26520004 */ addiu $s2, $s2, 4 -.L7F0378BC: -/* 06C3EC 7F0378BC 1000F733 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C3F0 7F0378C0 26310004 */ addiu $s1, $s1, 4 -action7D_If_Guard_Health_Above_Value_RVL_4: -/* 06C3F4 7F0378C4 922B0002 */ lbu $t3, 2($s1) -/* 06C3F8 7F0378C8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06C3FC 7F0378CC 448B5000 */ mtc1 $t3, $f10 -/* 06C400 7F0378D0 05610004 */ bgez $t3, .L7F0378E4 -/* 06C404 7F0378D4 46805420 */ cvt.s.w $f16, $f10 -/* 06C408 7F0378D8 44819000 */ mtc1 $at, $f18 -/* 06C40C 7F0378DC 00000000 */ nop -/* 06C410 7F0378E0 46128400 */ add.s $f16, $f16, $f18 -.L7F0378E4: -/* 06C414 7F0378E4 3C018005 */ lui $at, %hi(D_800528F0) -/* 06C418 7F0378E8 C42428F0 */ lwc1 $f4, %lo(D_800528F0)($at) -/* 06C41C 7F0378EC 02E02025 */ move $a0, $s7 -/* 06C420 7F0378F0 46048202 */ mul.s $f8, $f16, $f4 -/* 06C424 7F0378F4 E7A8042C */ swc1 $f8, 0x42c($sp) -/* 06C428 7F0378F8 0FC0CC10 */ jal get_handle_for_guard_id -/* 06C42C 7F0378FC 92250001 */ lbu $a1, 1($s1) -/* 06C430 7F037900 50400011 */ beql $v0, $zero, .L7F037948 -/* 06C434 7F037904 26520004 */ addiu $s2, $s2, 4 -/* 06C438 7F037908 C44A0100 */ lwc1 $f10, 0x100($v0) -/* 06C43C 7F03790C C45200FC */ lwc1 $f18, 0xfc($v0) -/* 06C440 7F037910 C7A6042C */ lwc1 $f6, 0x42c($sp) -/* 06C444 7F037914 02C02025 */ move $a0, $s6 -/* 06C448 7F037918 46125401 */ sub.s $f16, $f10, $f18 -/* 06C44C 7F03791C 02402825 */ move $a1, $s2 -/* 06C450 7F037920 4610303C */ c.lt.s $f6, $f16 -/* 06C454 7F037924 00000000 */ nop -/* 06C458 7F037928 45020007 */ bc1fl .L7F037948 -/* 06C45C 7F03792C 26520004 */ addiu $s2, $s2, 4 -/* 06C460 7F037930 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C464 7F037934 92260003 */ lbu $a2, 3($s1) -/* 06C468 7F037938 00409025 */ move $s2, $v0 -/* 06C46C 7F03793C 1000F713 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C470 7F037940 02C28821 */ addu $s1, $s6, $v0 -/* 06C474 7F037944 26520004 */ addiu $s2, $s2, 4 -.L7F037948: -/* 06C478 7F037948 1000F710 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C47C 7F03794C 26310004 */ addiu $s1, $s1, 4 -action7E_If_Guard_nums_Bitflag_01000000_Set_RVL_3: -/* 06C480 7F037950 02E02025 */ move $a0, $s7 -/* 06C484 7F037954 0FC0CC10 */ jal get_handle_for_guard_id -/* 06C488 7F037958 92250001 */ lbu $a1, 1($s1) -/* 06C48C 7F03795C 50400011 */ beql $v0, $zero, .L7F0379A4 -/* 06C490 7F037960 26520003 */ addiu $s2, $s2, 3 -/* 06C494 7F037964 8C4C0014 */ lw $t4, 0x14($v0) -/* 06C498 7F037968 2401FEFF */ li $at, -257 -/* 06C49C 7F03796C 31990100 */ andi $t9, $t4, 0x100 -/* 06C4A0 7F037970 5320000C */ beql $t9, $zero, .L7F0379A4 -/* 06C4A4 7F037974 26520003 */ addiu $s2, $s2, 3 -/* 06C4A8 7F037978 8C4D0014 */ lw $t5, 0x14($v0) -/* 06C4AC 7F03797C 02C02025 */ move $a0, $s6 -/* 06C4B0 7F037980 02402825 */ move $a1, $s2 -/* 06C4B4 7F037984 01A17024 */ and $t6, $t5, $at -/* 06C4B8 7F037988 AC4E0014 */ sw $t6, 0x14($v0) -/* 06C4BC 7F03798C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C4C0 7F037990 92260002 */ lbu $a2, 2($s1) -/* 06C4C4 7F037994 00409025 */ move $s2, $v0 -/* 06C4C8 7F037998 1000F6FC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C4CC 7F03799C 02C28821 */ addu $s1, $s6, $v0 -/* 06C4D0 7F0379A0 26520003 */ addiu $s2, $s2, 3 -.L7F0379A4: -/* 06C4D4 7F0379A4 1000F6F9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C4D8 7F0379A8 26310003 */ addiu $s1, $s1, 3 -action7F_If_Health_Below_Value_RVL_3: -/* 06C4DC 7F0379AC 922F0001 */ lbu $t7, 1($s1) -/* 06C4E0 7F0379B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06C4E4 7F0379B4 448F2000 */ mtc1 $t7, $f4 -/* 06C4E8 7F0379B8 05E10004 */ bgez $t7, .L7F0379CC -/* 06C4EC 7F0379BC 46802220 */ cvt.s.w $f8, $f4 -/* 06C4F0 7F0379C0 44815000 */ mtc1 $at, $f10 -/* 06C4F4 7F0379C4 00000000 */ nop -/* 06C4F8 7F0379C8 460A4200 */ add.s $f8, $f8, $f10 -.L7F0379CC: -/* 06C4FC 7F0379CC 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 06C500 7F0379D0 44819000 */ mtc1 $at, $f18 -/* 06C504 7F0379D4 00000000 */ nop -/* 06C508 7F0379D8 46124183 */ div.s $f6, $f8, $f18 -/* 06C50C 7F0379DC 0FC228BB */ jal get_BONDdata_watch_health -/* 06C510 7F0379E0 E7A60418 */ swc1 $f6, 0x418($sp) -/* 06C514 7F0379E4 C7B00418 */ lwc1 $f16, 0x418($sp) -/* 06C518 7F0379E8 02C02025 */ move $a0, $s6 -/* 06C51C 7F0379EC 02402825 */ move $a1, $s2 -/* 06C520 7F0379F0 4610003C */ c.lt.s $f0, $f16 -/* 06C524 7F0379F4 00000000 */ nop -/* 06C528 7F0379F8 45020007 */ bc1fl .L7F037A18 -/* 06C52C 7F0379FC 26520003 */ addiu $s2, $s2, 3 -/* 06C530 7F037A00 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C534 7F037A04 92260002 */ lbu $a2, 2($s1) -/* 06C538 7F037A08 00409025 */ move $s2, $v0 -/* 06C53C 7F037A0C 1000F6DF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C540 7F037A10 02C28821 */ addu $s1, $s6, $v0 -/* 06C544 7F037A14 26520003 */ addiu $s2, $s2, 3 -.L7F037A18: -/* 06C548 7F037A18 1000F6DC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C54C 7F037A1C 26310003 */ addiu $s1, $s1, 3 -action80_If_Health_Above_Value_RVL_3: -/* 06C550 7F037A20 92380001 */ lbu $t8, 1($s1) -/* 06C554 7F037A24 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06C558 7F037A28 44982000 */ mtc1 $t8, $f4 -/* 06C55C 7F037A2C 07010004 */ bgez $t8, .L7F037A40 -/* 06C560 7F037A30 468022A0 */ cvt.s.w $f10, $f4 -/* 06C564 7F037A34 44814000 */ mtc1 $at, $f8 -/* 06C568 7F037A38 00000000 */ nop -/* 06C56C 7F037A3C 46085280 */ add.s $f10, $f10, $f8 -.L7F037A40: -/* 06C570 7F037A40 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 06C574 7F037A44 44819000 */ mtc1 $at, $f18 -/* 06C578 7F037A48 00000000 */ nop -/* 06C57C 7F037A4C 46125183 */ div.s $f6, $f10, $f18 -/* 06C580 7F037A50 0FC228BB */ jal get_BONDdata_watch_health -/* 06C584 7F037A54 E7A60410 */ swc1 $f6, 0x410($sp) -/* 06C588 7F037A58 C7B00410 */ lwc1 $f16, 0x410($sp) -/* 06C58C 7F037A5C 02C02025 */ move $a0, $s6 -/* 06C590 7F037A60 02402825 */ move $a1, $s2 -/* 06C594 7F037A64 4600803C */ c.lt.s $f16, $f0 -/* 06C598 7F037A68 00000000 */ nop -/* 06C59C 7F037A6C 45020007 */ bc1fl .L7F037A8C -/* 06C5A0 7F037A70 26520003 */ addiu $s2, $s2, 3 -/* 06C5A4 7F037A74 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C5A8 7F037A78 92260002 */ lbu $a2, 2($s1) -/* 06C5AC 7F037A7C 00409025 */ move $s2, $v0 -/* 06C5B0 7F037A80 1000F6C2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C5B4 7F037A84 02C28821 */ addu $s1, $s6, $v0 -/* 06C5B8 7F037A88 26520003 */ addiu $s2, $s2, 3 -.L7F037A8C: -/* 06C5BC 7F037A8C 1000F6BF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C5C0 7F037A90 26310003 */ addiu $s1, $s1, 3 -action70_Go_Into_RVL_Difficulty_LTV_3: -/* 06C5C4 7F037A94 0FC2FF04 */ jal get_current_difficulty -/* 06C5C8 7F037A98 00000000 */ nop -/* 06C5CC 7F037A9C 92290001 */ lbu $t1, 1($s1) -/* 06C5D0 7F037AA0 02C02025 */ move $a0, $s6 -/* 06C5D4 7F037AA4 02402825 */ move $a1, $s2 -/* 06C5D8 7F037AA8 0049082A */ slt $at, $v0, $t1 -/* 06C5DC 7F037AAC 50200007 */ beql $at, $zero, .L7F037ACC -/* 06C5E0 7F037AB0 26520003 */ addiu $s2, $s2, 3 -/* 06C5E4 7F037AB4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C5E8 7F037AB8 92260002 */ lbu $a2, 2($s1) -/* 06C5EC 7F037ABC 00409025 */ move $s2, $v0 -/* 06C5F0 7F037AC0 1000F6B2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C5F4 7F037AC4 02C28821 */ addu $s1, $s6, $v0 -/* 06C5F8 7F037AC8 26520003 */ addiu $s2, $s2, 3 -.L7F037ACC: -/* 06C5FC 7F037ACC 1000F6AF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C600 7F037AD0 26310003 */ addiu $s1, $s1, 3 -action71_GoIntoRVLIf_Difficulty_GTV_3: -/* 06C604 7F037AD4 0FC2FF04 */ jal get_current_difficulty -/* 06C608 7F037AD8 00000000 */ nop -/* 06C60C 7F037ADC 922A0001 */ lbu $t2, 1($s1) -/* 06C610 7F037AE0 02C02025 */ move $a0, $s6 -/* 06C614 7F037AE4 02402825 */ move $a1, $s2 -/* 06C618 7F037AE8 0142082A */ slt $at, $t2, $v0 -/* 06C61C 7F037AEC 50200007 */ beql $at, $zero, .L7F037B0C -/* 06C620 7F037AF0 26520003 */ addiu $s2, $s2, 3 -/* 06C624 7F037AF4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C628 7F037AF8 92260002 */ lbu $a2, 2($s1) -/* 06C62C 7F037AFC 00409025 */ move $s2, $v0 -/* 06C630 7F037B00 1000F6A2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C634 7F037B04 02C28821 */ addu $s1, $s6, $v0 -/* 06C638 7F037B08 26520003 */ addiu $s2, $s2, 3 -.L7F037B0C: -/* 06C63C 7F037B0C 1000F69F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C640 7F037B10 26310003 */ addiu $s1, $s1, 3 -action72_Go_To_RVL_If_Time_LTV_4: -/* 06C644 7F037B14 922B0001 */ lbu $t3, 1($s1) -/* 06C648 7F037B18 92390002 */ lbu $t9, 2($s1) -/* 06C64C 7F037B1C 000B6200 */ sll $t4, $t3, 8 -/* 06C650 7F037B20 01996825 */ or $t5, $t4, $t9 -/* 06C654 7F037B24 448D2000 */ mtc1 $t5, $f4 -/* 06C658 7F037B28 00000000 */ nop -/* 06C65C 7F037B2C 46802220 */ cvt.s.w $f8, $f4 -/* 06C660 7F037B30 0FC2FF10 */ jal get_cur_mp_sec -/* 06C664 7F037B34 E7A80400 */ swc1 $f8, 0x400($sp) -/* 06C668 7F037B38 C7AA0400 */ lwc1 $f10, 0x400($sp) -/* 06C66C 7F037B3C 02C02025 */ move $a0, $s6 -/* 06C670 7F037B40 02402825 */ move $a1, $s2 -/* 06C674 7F037B44 460A003C */ c.lt.s $f0, $f10 -/* 06C678 7F037B48 00000000 */ nop -/* 06C67C 7F037B4C 45020007 */ bc1fl .L7F037B6C -/* 06C680 7F037B50 26520004 */ addiu $s2, $s2, 4 -/* 06C684 7F037B54 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C688 7F037B58 92260003 */ lbu $a2, 3($s1) -/* 06C68C 7F037B5C 00409025 */ move $s2, $v0 -/* 06C690 7F037B60 1000F68A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C694 7F037B64 02C28821 */ addu $s1, $s6, $v0 -/* 06C698 7F037B68 26520004 */ addiu $s2, $s2, 4 -.L7F037B6C: -/* 06C69C 7F037B6C 1000F687 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C6A0 7F037B70 26310004 */ addiu $s1, $s1, 4 -action73_Go_To_RVL_If_Time_GTV_4: -/* 06C6A4 7F037B74 922E0001 */ lbu $t6, 1($s1) -/* 06C6A8 7F037B78 92380002 */ lbu $t8, 2($s1) -/* 06C6AC 7F037B7C 000E7A00 */ sll $t7, $t6, 8 -/* 06C6B0 7F037B80 01F84825 */ or $t1, $t7, $t8 -/* 06C6B4 7F037B84 44899000 */ mtc1 $t1, $f18 -/* 06C6B8 7F037B88 00000000 */ nop -/* 06C6BC 7F037B8C 468091A0 */ cvt.s.w $f6, $f18 -/* 06C6C0 7F037B90 0FC2FF10 */ jal get_cur_mp_sec -/* 06C6C4 7F037B94 E7A603F8 */ swc1 $f6, 0x3f8($sp) -/* 06C6C8 7F037B98 C7B003F8 */ lwc1 $f16, 0x3f8($sp) -/* 06C6CC 7F037B9C 02C02025 */ move $a0, $s6 -/* 06C6D0 7F037BA0 02402825 */ move $a1, $s2 -/* 06C6D4 7F037BA4 4600803C */ c.lt.s $f16, $f0 -/* 06C6D8 7F037BA8 00000000 */ nop -/* 06C6DC 7F037BAC 45020007 */ bc1fl .L7F037BCC -/* 06C6E0 7F037BB0 26520004 */ addiu $s2, $s2, 4 -/* 06C6E4 7F037BB4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C6E8 7F037BB8 92260003 */ lbu $a2, 3($s1) -/* 06C6EC 7F037BBC 00409025 */ move $s2, $v0 -/* 06C6F0 7F037BC0 1000F672 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C6F4 7F037BC4 02C28821 */ addu $s1, $s6, $v0 -/* 06C6F8 7F037BC8 26520004 */ addiu $s2, $s2, 4 -.L7F037BCC: -/* 06C6FC 7F037BCC 1000F66F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C700 7F037BD0 26310004 */ addiu $s1, $s1, 4 -action74_Go_To_RVL_If_Power_On_Time_LTV_4: -/* 06C704 7F037BD4 922A0001 */ lbu $t2, 1($s1) -/* 06C708 7F037BD8 922C0002 */ lbu $t4, 2($s1) -/* 06C70C 7F037BDC 000A5A00 */ sll $t3, $t2, 8 -/* 06C710 7F037BE0 016CC825 */ or $t9, $t3, $t4 -/* 06C714 7F037BE4 44992000 */ mtc1 $t9, $f4 -/* 06C718 7F037BE8 00000000 */ nop -/* 06C71C 7F037BEC 46802220 */ cvt.s.w $f8, $f4 -/* 06C720 7F037BF0 46164282 */ mul.s $f10, $f8, $f22 -/* 06C724 7F037BF4 0FC2FF13 */ jal get_cur_mp_min -/* 06C728 7F037BF8 E7AA03F0 */ swc1 $f10, 0x3f0($sp) -/* 06C72C 7F037BFC C7B203F0 */ lwc1 $f18, 0x3f0($sp) -/* 06C730 7F037C00 02C02025 */ move $a0, $s6 -/* 06C734 7F037C04 02402825 */ move $a1, $s2 -/* 06C738 7F037C08 4612003C */ c.lt.s $f0, $f18 -/* 06C73C 7F037C0C 00000000 */ nop -/* 06C740 7F037C10 45020007 */ bc1fl .L7F037C30 -/* 06C744 7F037C14 26520004 */ addiu $s2, $s2, 4 -/* 06C748 7F037C18 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C74C 7F037C1C 92260003 */ lbu $a2, 3($s1) -/* 06C750 7F037C20 00409025 */ move $s2, $v0 -/* 06C754 7F037C24 1000F659 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C758 7F037C28 02C28821 */ addu $s1, $s6, $v0 -/* 06C75C 7F037C2C 26520004 */ addiu $s2, $s2, 4 -.L7F037C30: -/* 06C760 7F037C30 1000F656 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C764 7F037C34 26310004 */ addiu $s1, $s1, 4 -action75_Go_To_RVL_If_Power_On_Time_GTV_4: -/* 06C768 7F037C38 922D0001 */ lbu $t5, 1($s1) -/* 06C76C 7F037C3C 922F0002 */ lbu $t7, 2($s1) -/* 06C770 7F037C40 000D7200 */ sll $t6, $t5, 8 -/* 06C774 7F037C44 01CFC025 */ or $t8, $t6, $t7 -/* 06C778 7F037C48 44983000 */ mtc1 $t8, $f6 -/* 06C77C 7F037C4C 00000000 */ nop -/* 06C780 7F037C50 46803420 */ cvt.s.w $f16, $f6 -/* 06C784 7F037C54 46168102 */ mul.s $f4, $f16, $f22 -/* 06C788 7F037C58 0FC2FF13 */ jal get_cur_mp_min -/* 06C78C 7F037C5C E7A403E8 */ swc1 $f4, 0x3e8($sp) -/* 06C790 7F037C60 C7A803E8 */ lwc1 $f8, 0x3e8($sp) -/* 06C794 7F037C64 02C02025 */ move $a0, $s6 -/* 06C798 7F037C68 02402825 */ move $a1, $s2 -/* 06C79C 7F037C6C 4600403C */ c.lt.s $f8, $f0 -/* 06C7A0 7F037C70 00000000 */ nop -/* 06C7A4 7F037C74 45020007 */ bc1fl .L7F037C94 -/* 06C7A8 7F037C78 26520004 */ addiu $s2, $s2, 4 -/* 06C7AC 7F037C7C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C7B0 7F037C80 92260003 */ lbu $a2, 3($s1) -/* 06C7B4 7F037C84 00409025 */ move $s2, $v0 -/* 06C7B8 7F037C88 1000F640 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C7BC 7F037C8C 02C28821 */ addu $s1, $s6, $v0 -/* 06C7C0 7F037C90 26520004 */ addiu $s2, $s2, 4 -.L7F037C94: -/* 06C7C4 7F037C94 1000F63D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C7C8 7F037C98 26310004 */ addiu $s1, $s1, 4 -action76_Go_To_RVL_If_Stage_Number_LTV_3: -/* 06C7CC 7F037C9C 0C001A57 */ jal get_stage_num -/* 06C7D0 7F037CA0 00000000 */ nop -/* 06C7D4 7F037CA4 92290001 */ lbu $t1, 1($s1) -/* 06C7D8 7F037CA8 02C02025 */ move $a0, $s6 -/* 06C7DC 7F037CAC 02402825 */ move $a1, $s2 -/* 06C7E0 7F037CB0 0049082A */ slt $at, $v0, $t1 -/* 06C7E4 7F037CB4 50200007 */ beql $at, $zero, .L7F037CD4 -/* 06C7E8 7F037CB8 26520003 */ addiu $s2, $s2, 3 -/* 06C7EC 7F037CBC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C7F0 7F037CC0 92260002 */ lbu $a2, 2($s1) -/* 06C7F4 7F037CC4 00409025 */ move $s2, $v0 -/* 06C7F8 7F037CC8 1000F630 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C7FC 7F037CCC 02C28821 */ addu $s1, $s6, $v0 -/* 06C800 7F037CD0 26520003 */ addiu $s2, $s2, 3 -.L7F037CD4: -/* 06C804 7F037CD4 1000F62D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C808 7F037CD8 26310003 */ addiu $s1, $s1, 3 -action77_Go_To_RVL_If_Stage_Number_GTV_3: -/* 06C80C 7F037CDC 0C001A57 */ jal get_stage_num -/* 06C810 7F037CE0 00000000 */ nop -/* 06C814 7F037CE4 922A0001 */ lbu $t2, 1($s1) -/* 06C818 7F037CE8 02C02025 */ move $a0, $s6 -/* 06C81C 7F037CEC 02402825 */ move $a1, $s2 -/* 06C820 7F037CF0 0142082A */ slt $at, $t2, $v0 -/* 06C824 7F037CF4 50200007 */ beql $at, $zero, .L7F037D14 -/* 06C828 7F037CF8 26520003 */ addiu $s2, $s2, 3 -/* 06C82C 7F037CFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C830 7F037D00 92260002 */ lbu $a2, 2($s1) -/* 06C834 7F037D04 00409025 */ move $s2, $v0 -/* 06C838 7F037D08 1000F620 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C83C 7F037D0C 02C28821 */ addu $s1, $s6, $v0 -/* 06C840 7F037D10 26520003 */ addiu $s2, $s2, 3 -.L7F037D14: -/* 06C844 7F037D14 1000F61D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C848 7F037D18 26310003 */ addiu $s1, $s1, 3 -action81_Set_User_Byte_num1_2: -/* 06C84C 7F037D1C 922B0001 */ lbu $t3, 1($s1) -/* 06C850 7F037D20 26520002 */ addiu $s2, $s2, 2 -/* 06C854 7F037D24 26310002 */ addiu $s1, $s1, 2 -/* 06C858 7F037D28 1000F618 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C85C 7F037D2C A2EB010C */ sb $t3, 0x10c($s7) -action82_Add_Value_To_User_Byte_num1_Max_To_FF_2: -/* 06C860 7F037D30 92250001 */ lbu $a1, 1($s1) -/* 06C864 7F037D34 92E2010C */ lbu $v0, 0x10c($s7) -/* 06C868 7F037D38 240C00FF */ li $t4, 255 -/* 06C86C 7F037D3C 0185C823 */ subu $t9, $t4, $a1 -/* 06C870 7F037D40 0322082A */ slt $at, $t9, $v0 -/* 06C874 7F037D44 10200006 */ beqz $at, .L7F037D60 -/* 06C878 7F037D48 00457021 */ addu $t6, $v0, $a1 -/* 06C87C 7F037D4C 240D00FF */ li $t5, 255 -/* 06C880 7F037D50 A2ED010C */ sb $t5, 0x10c($s7) -/* 06C884 7F037D54 26520002 */ addiu $s2, $s2, 2 -/* 06C888 7F037D58 1000F60C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C88C 7F037D5C 26310002 */ addiu $s1, $s1, 2 -.L7F037D60: -/* 06C890 7F037D60 A2EE010C */ sb $t6, 0x10c($s7) -/* 06C894 7F037D64 26520002 */ addiu $s2, $s2, 2 -/* 06C898 7F037D68 1000F608 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C89C 7F037D6C 26310002 */ addiu $s1, $s1, 2 -action83_Subtract_Value_To_User_Byte_num1_Min_To_0_2: -/* 06C8A0 7F037D70 92E2010C */ lbu $v0, 0x10c($s7) -/* 06C8A4 7F037D74 92250001 */ lbu $a1, 1($s1) -/* 06C8A8 7F037D78 0045082A */ slt $at, $v0, $a1 -/* 06C8AC 7F037D7C 10200005 */ beqz $at, .L7F037D94 -/* 06C8B0 7F037D80 00457823 */ subu $t7, $v0, $a1 -/* 06C8B4 7F037D84 A2E0010C */ sb $zero, 0x10c($s7) -/* 06C8B8 7F037D88 26520002 */ addiu $s2, $s2, 2 -/* 06C8BC 7F037D8C 1000F5FF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C8C0 7F037D90 26310002 */ addiu $s1, $s1, 2 -.L7F037D94: -/* 06C8C4 7F037D94 A2EF010C */ sb $t7, 0x10c($s7) -/* 06C8C8 7F037D98 26520002 */ addiu $s2, $s2, 2 -/* 06C8CC 7F037D9C 1000F5FB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C8D0 7F037DA0 26310002 */ addiu $s1, $s1, 2 -action84_If_Value_GreaterThan_User_Byte_num1_RVL_3: -/* 06C8D4 7F037DA4 92F8010C */ lbu $t8, 0x10c($s7) -/* 06C8D8 7F037DA8 92290001 */ lbu $t1, 1($s1) -/* 06C8DC 7F037DAC 02C02025 */ move $a0, $s6 -/* 06C8E0 7F037DB0 02402825 */ move $a1, $s2 -/* 06C8E4 7F037DB4 0309082A */ slt $at, $t8, $t1 -/* 06C8E8 7F037DB8 50200007 */ beql $at, $zero, .L7F037DD8 -/* 06C8EC 7F037DBC 26520003 */ addiu $s2, $s2, 3 -/* 06C8F0 7F037DC0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C8F4 7F037DC4 92260002 */ lbu $a2, 2($s1) -/* 06C8F8 7F037DC8 00409025 */ move $s2, $v0 -/* 06C8FC 7F037DCC 1000F5EF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C900 7F037DD0 02C28821 */ addu $s1, $s6, $v0 -/* 06C904 7F037DD4 26520003 */ addiu $s2, $s2, 3 -.L7F037DD8: -/* 06C908 7F037DD8 1000F5EC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C90C 7F037DDC 26310003 */ addiu $s1, $s1, 3 -action85_If_User_Byte_num1_LessThan_Random_Value_RVL_2: -/* 06C910 7F037DE0 92EA010C */ lbu $t2, 0x10c($s7) -/* 06C914 7F037DE4 92EB010F */ lbu $t3, 0x10f($s7) -/* 06C918 7F037DE8 02C02025 */ move $a0, $s6 -/* 06C91C 7F037DEC 02402825 */ move $a1, $s2 -/* 06C920 7F037DF0 014B082A */ slt $at, $t2, $t3 -/* 06C924 7F037DF4 50200007 */ beql $at, $zero, .L7F037E14 -/* 06C928 7F037DF8 26520002 */ addiu $s2, $s2, 2 -/* 06C92C 7F037DFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C930 7F037E00 92260001 */ lbu $a2, 1($s1) -/* 06C934 7F037E04 00409025 */ move $s2, $v0 -/* 06C938 7F037E08 1000F5E0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C93C 7F037E0C 02C28821 */ addu $s1, $s6, $v0 -/* 06C940 7F037E10 26520002 */ addiu $s2, $s2, 2 -.L7F037E14: -/* 06C944 7F037E14 1000F5DD */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C948 7F037E18 26310002 */ addiu $s1, $s1, 2 -action86_Set_User_Byte_num2_2: -/* 06C94C 7F037E1C 922C0001 */ lbu $t4, 1($s1) -/* 06C950 7F037E20 26520002 */ addiu $s2, $s2, 2 -/* 06C954 7F037E24 26310002 */ addiu $s1, $s1, 2 -/* 06C958 7F037E28 1000F5D8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C95C 7F037E2C A2EC010D */ sb $t4, 0x10d($s7) -action87_Add_Value_To_User_Byte_num2_Max_To_FF_2: -/* 06C960 7F037E30 92250001 */ lbu $a1, 1($s1) -/* 06C964 7F037E34 92E2010D */ lbu $v0, 0x10d($s7) -/* 06C968 7F037E38 241900FF */ li $t9, 255 -/* 06C96C 7F037E3C 03256823 */ subu $t5, $t9, $a1 -/* 06C970 7F037E40 01A2082A */ slt $at, $t5, $v0 -/* 06C974 7F037E44 10200006 */ beqz $at, .L7F037E60 -/* 06C978 7F037E48 00457821 */ addu $t7, $v0, $a1 -/* 06C97C 7F037E4C 240E00FF */ li $t6, 255 -/* 06C980 7F037E50 A2EE010D */ sb $t6, 0x10d($s7) -/* 06C984 7F037E54 26520002 */ addiu $s2, $s2, 2 -/* 06C988 7F037E58 1000F5CC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C98C 7F037E5C 26310002 */ addiu $s1, $s1, 2 -.L7F037E60: -/* 06C990 7F037E60 A2EF010D */ sb $t7, 0x10d($s7) -/* 06C994 7F037E64 26520002 */ addiu $s2, $s2, 2 -/* 06C998 7F037E68 1000F5C8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C99C 7F037E6C 26310002 */ addiu $s1, $s1, 2 -action88_Subtract_Value_To_User_Byte_num2_Min_To_0_2: -/* 06C9A0 7F037E70 92E2010D */ lbu $v0, 0x10d($s7) -/* 06C9A4 7F037E74 92250001 */ lbu $a1, 1($s1) -/* 06C9A8 7F037E78 0045082A */ slt $at, $v0, $a1 -/* 06C9AC 7F037E7C 10200005 */ beqz $at, .L7F037E94 -/* 06C9B0 7F037E80 0045C023 */ subu $t8, $v0, $a1 -/* 06C9B4 7F037E84 A2E0010D */ sb $zero, 0x10d($s7) -/* 06C9B8 7F037E88 26520002 */ addiu $s2, $s2, 2 -/* 06C9BC 7F037E8C 1000F5BF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C9C0 7F037E90 26310002 */ addiu $s1, $s1, 2 -.L7F037E94: -/* 06C9C4 7F037E94 A2F8010D */ sb $t8, 0x10d($s7) -/* 06C9C8 7F037E98 26520002 */ addiu $s2, $s2, 2 -/* 06C9CC 7F037E9C 1000F5BB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06C9D0 7F037EA0 26310002 */ addiu $s1, $s1, 2 -action89_If_Value_GreaterThan_User_Byte_num2_RVL_3: -/* 06C9D4 7F037EA4 92E9010D */ lbu $t1, 0x10d($s7) -/* 06C9D8 7F037EA8 922A0001 */ lbu $t2, 1($s1) -/* 06C9DC 7F037EAC 02C02025 */ move $a0, $s6 -/* 06C9E0 7F037EB0 02402825 */ move $a1, $s2 -/* 06C9E4 7F037EB4 012A082A */ slt $at, $t1, $t2 -/* 06C9E8 7F037EB8 50200007 */ beql $at, $zero, .L7F037ED8 -/* 06C9EC 7F037EBC 26520003 */ addiu $s2, $s2, 3 -/* 06C9F0 7F037EC0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06C9F4 7F037EC4 92260002 */ lbu $a2, 2($s1) -/* 06C9F8 7F037EC8 00409025 */ move $s2, $v0 -/* 06C9FC 7F037ECC 1000F5AF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA00 7F037ED0 02C28821 */ addu $s1, $s6, $v0 -/* 06CA04 7F037ED4 26520003 */ addiu $s2, $s2, 3 -.L7F037ED8: -/* 06CA08 7F037ED8 1000F5AC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA0C 7F037EDC 26310003 */ addiu $s1, $s1, 3 -action8A_If_User_Byte_num2_LessThan_Random_Value_RVL_2: -/* 06CA10 7F037EE0 92EB010D */ lbu $t3, 0x10d($s7) -/* 06CA14 7F037EE4 92EC010F */ lbu $t4, 0x10f($s7) -/* 06CA18 7F037EE8 02C02025 */ move $a0, $s6 -/* 06CA1C 7F037EEC 02402825 */ move $a1, $s2 -/* 06CA20 7F037EF0 016C082A */ slt $at, $t3, $t4 -/* 06CA24 7F037EF4 50200007 */ beql $at, $zero, .L7F037F14 -/* 06CA28 7F037EF8 26520002 */ addiu $s2, $s2, 2 -/* 06CA2C 7F037EFC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CA30 7F037F00 92260001 */ lbu $a2, 1($s1) -/* 06CA34 7F037F04 00409025 */ move $s2, $v0 -/* 06CA38 7F037F08 1000F5A0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA3C 7F037F0C 02C28821 */ addu $s1, $s6, $v0 -/* 06CA40 7F037F10 26520002 */ addiu $s2, $s2, 2 -.L7F037F14: -/* 06CA44 7F037F14 1000F59D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA48 7F037F18 26310002 */ addiu $s1, $s1, 2 -action8B_Set_Guard_Hearing_Distance_3: -/* 06CA4C 7F037F1C 92390001 */ lbu $t9, 1($s1) -/* 06CA50 7F037F20 922E0002 */ lbu $t6, 2($s1) -/* 06CA54 7F037F24 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 06CA58 7F037F28 00196A00 */ sll $t5, $t9, 8 -/* 06CA5C 7F037F2C 01AE7825 */ or $t7, $t5, $t6 -/* 06CA60 7F037F30 448F5000 */ mtc1 $t7, $f10 -/* 06CA64 7F037F34 44813000 */ mtc1 $at, $f6 -/* 06CA68 7F037F38 26520003 */ addiu $s2, $s2, 3 -/* 06CA6C 7F037F3C 468054A0 */ cvt.s.w $f18, $f10 -/* 06CA70 7F037F40 26310003 */ addiu $s1, $s1, 3 -/* 06CA74 7F037F44 46069003 */ div.s $f0, $f18, $f6 -/* 06CA78 7F037F48 1000F590 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CA7C 7F037F4C E6E000EC */ swc1 $f0, 0xec($s7) -action8C_Set_Guard_Visible_Distance_2: -/* 06CA80 7F037F50 92380001 */ lbu $t8, 1($s1) -/* 06CA84 7F037F54 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06CA88 7F037F58 26520002 */ addiu $s2, $s2, 2 -/* 06CA8C 7F037F5C 44988000 */ mtc1 $t8, $f16 -/* 06CA90 7F037F60 26310002 */ addiu $s1, $s1, 2 -/* 06CA94 7F037F64 07010004 */ bgez $t8, .L7F037F78 -/* 06CA98 7F037F68 46808120 */ cvt.s.w $f4, $f16 -/* 06CA9C 7F037F6C 44814000 */ mtc1 $at, $f8 -/* 06CAA0 7F037F70 00000000 */ nop -/* 06CAA4 7F037F74 46082100 */ add.s $f4, $f4, $f8 -.L7F037F78: -/* 06CAA8 7F037F78 1000F584 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CAAC 7F037F7C E6E400D0 */ swc1 $f4, 0xd0($s7) -action8D_Set_Guard_Grenade_Probability_2: -/* 06CAB0 7F037F80 92290001 */ lbu $t1, 1($s1) -/* 06CAB4 7F037F84 26520002 */ addiu $s2, $s2, 2 -/* 06CAB8 7F037F88 26310002 */ addiu $s1, $s1, 2 -/* 06CABC 7F037F8C 1000F57F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CAC0 7F037F90 A2E90010 */ sb $t1, 0x10($s7) -action8E_Set_Guard_ID_2: -/* 06CAC4 7F037F94 922A0001 */ lbu $t2, 1($s1) -/* 06CAC8 7F037F98 26520002 */ addiu $s2, $s2, 2 -/* 06CACC 7F037F9C 26310002 */ addiu $s1, $s1, 2 -/* 06CAD0 7F037FA0 1000F57A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CAD4 7F037FA4 A6EA0000 */ sh $t2, ($s7) -action8F_Set_Guard_Health_3: -/* 06CAD8 7F037FA8 922B0001 */ lbu $t3, 1($s1) -/* 06CADC 7F037FAC 92390002 */ lbu $t9, 2($s1) -/* 06CAE0 7F037FB0 3C018005 */ lui $at, %hi(D_800528F4) -/* 06CAE4 7F037FB4 000B6200 */ sll $t4, $t3, 8 -/* 06CAE8 7F037FB8 01996825 */ or $t5, $t4, $t9 -/* 06CAEC 7F037FBC 448D5000 */ mtc1 $t5, $f10 -/* 06CAF0 7F037FC0 C42628F4 */ lwc1 $f6, %lo(D_800528F4)($at) -/* 06CAF4 7F037FC4 02E02025 */ move $a0, $s7 -/* 06CAF8 7F037FC8 468054A0 */ cvt.s.w $f18, $f10 -/* 06CAFC 7F037FCC 46069002 */ mul.s $f0, $f18, $f6 -/* 06CB00 7F037FD0 44050000 */ mfc1 $a1, $f0 -/* 06CB04 7F037FD4 0FC08006 */ jal sub_GAME_7F020018 -/* 06CB08 7F037FD8 00000000 */ nop -/* 06CB0C 7F037FDC 26520003 */ addiu $s2, $s2, 3 -/* 06CB10 7F037FE0 1000F56A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB14 7F037FE4 26310003 */ addiu $s1, $s1, 3 -action90_Set_Guard_Armor_Amount_3: -/* 06CB18 7F037FE8 922E0001 */ lbu $t6, 1($s1) -/* 06CB1C 7F037FEC 92380002 */ lbu $t8, 2($s1) -/* 06CB20 7F037FF0 3C018005 */ lui $at, %hi(D_800528F8) -/* 06CB24 7F037FF4 000E7A00 */ sll $t7, $t6, 8 -/* 06CB28 7F037FF8 01F84825 */ or $t1, $t7, $t8 -/* 06CB2C 7F037FFC 44898000 */ mtc1 $t1, $f16 -/* 06CB30 7F038000 C42428F8 */ lwc1 $f4, %lo(D_800528F8)($at) -/* 06CB34 7F038004 02E02025 */ move $a0, $s7 -/* 06CB38 7F038008 46808220 */ cvt.s.w $f8, $f16 -/* 06CB3C 7F03800C 46044002 */ mul.s $f0, $f8, $f4 -/* 06CB40 7F038010 44050000 */ mfc1 $a1, $f0 -/* 06CB44 7F038014 0FC08015 */ jal sub_GAME_7F020054 -/* 06CB48 7F038018 00000000 */ nop -/* 06CB4C 7F03801C 26520003 */ addiu $s2, $s2, 3 -/* 06CB50 7F038020 1000F55A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB54 7F038024 26310003 */ addiu $s1, $s1, 3 -action91_Set_Character_Reaction_Speed_2: -/* 06CB58 7F038028 822A0001 */ lb $t2, 1($s1) -/* 06CB5C 7F03802C 26520002 */ addiu $s2, $s2, 2 -/* 06CB60 7F038030 26310002 */ addiu $s1, $s1, 2 -/* 06CB64 7F038034 1000F555 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB68 7F038038 A2EA0003 */ sb $t2, 3($s7) -action92_Set_Character_Injury_Recovery_Speed_2: -/* 06CB6C 7F03803C 822B0001 */ lb $t3, 1($s1) -/* 06CB70 7F038040 26520002 */ addiu $s2, $s2, 2 -/* 06CB74 7F038044 26310002 */ addiu $s1, $s1, 2 -/* 06CB78 7F038048 1000F550 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB7C 7F03804C A2EB000D */ sb $t3, 0xd($s7) -action93_Set_Character_Accuracy_2: -/* 06CB80 7F038050 822C0001 */ lb $t4, 1($s1) -/* 06CB84 7F038054 26520002 */ addiu $s2, $s2, 2 -/* 06CB88 7F038058 26310002 */ addiu $s1, $s1, 2 -/* 06CB8C 7F03805C 1000F54B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CB90 7F038060 A2EC0002 */ sb $t4, 2($s7) -action94_Mask_Guard_Type_With_Value_2: -/* 06CB94 7F038064 02E02025 */ move $a0, $s7 -/* 06CB98 7F038068 0FC0CC86 */ jal sub_GAME_7F033218 -/* 06CB9C 7F03806C 92250001 */ lbu $a1, 1($s1) -/* 06CBA0 7F038070 26520002 */ addiu $s2, $s2, 2 -/* 06CBA4 7F038074 1000F545 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CBA8 7F038078 26310002 */ addiu $s1, $s1, 2 -action95_Unmask_Guard_Type_With_Value_2: -/* 06CBAC 7F03807C 02E02025 */ move $a0, $s7 -/* 06CBB0 7F038080 0FC0CC8B */ jal sub_GAME_7F03322C -/* 06CBB4 7F038084 92250001 */ lbu $a1, 1($s1) -/* 06CBB8 7F038088 26520002 */ addiu $s2, $s2, 2 -/* 06CBBC 7F03808C 1000F53F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CBC0 7F038090 26310002 */ addiu $s1, $s1, 2 -action96_If_Guard_Type_Value_Is_Set_RVL_3: -/* 06CBC4 7F038094 02E02025 */ move $a0, $s7 -/* 06CBC8 7F038098 0FC0CC91 */ jal sub_GAME_7F033244 -/* 06CBCC 7F03809C 92250001 */ lbu $a1, 1($s1) -/* 06CBD0 7F0380A0 10400007 */ beqz $v0, .L7F0380C0 -/* 06CBD4 7F0380A4 02C02025 */ move $a0, $s6 -/* 06CBD8 7F0380A8 02402825 */ move $a1, $s2 -/* 06CBDC 7F0380AC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CBE0 7F0380B0 92260002 */ lbu $a2, 2($s1) -/* 06CBE4 7F0380B4 00409025 */ move $s2, $v0 -/* 06CBE8 7F0380B8 1000F534 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CBEC 7F0380BC 02C28821 */ addu $s1, $s6, $v0 -.L7F0380C0: -/* 06CBF0 7F0380C0 26520003 */ addiu $s2, $s2, 3 -/* 06CBF4 7F0380C4 1000F531 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CBF8 7F0380C8 26310003 */ addiu $s1, $s1, 3 -action97_Mask_Guard_Type_Flags_With_Value_3: -/* 06CBFC 7F0380CC 02E02025 */ move $a0, $s7 -/* 06CC00 7F0380D0 92250001 */ lbu $a1, 1($s1) -/* 06CC04 7F0380D4 0FC0CC98 */ jal sub_GAME_7F033260 -/* 06CC08 7F0380D8 92260002 */ lbu $a2, 2($s1) -/* 06CC0C 7F0380DC 26520003 */ addiu $s2, $s2, 3 -/* 06CC10 7F0380E0 1000F52A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CC14 7F0380E4 26310003 */ addiu $s1, $s1, 3 -action98_Unmask_Guard_Type_Flags_With_Value_3: -/* 06CC18 7F0380E8 02E02025 */ move $a0, $s7 -/* 06CC1C 7F0380EC 92250001 */ lbu $a1, 1($s1) -/* 06CC20 7F0380F0 0FC0CCA4 */ jal sub_GAME_7F033290 -/* 06CC24 7F0380F4 92260002 */ lbu $a2, 2($s1) -/* 06CC28 7F0380F8 26520003 */ addiu $s2, $s2, 3 -/* 06CC2C 7F0380FC 1000F523 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CC30 7F038100 26310003 */ addiu $s1, $s1, 3 -action99_If_Guard_Type_Flags_Set_RVL_4: -/* 06CC34 7F038104 02E02025 */ move $a0, $s7 -/* 06CC38 7F038108 92250001 */ lbu $a1, 1($s1) -/* 06CC3C 7F03810C 0FC0CCB0 */ jal sub_GAME_7F0332C0 -/* 06CC40 7F038110 92260002 */ lbu $a2, 2($s1) -/* 06CC44 7F038114 10400007 */ beqz $v0, .L7F038134 -/* 06CC48 7F038118 02C02025 */ move $a0, $s6 -/* 06CC4C 7F03811C 02402825 */ move $a1, $s2 -/* 06CC50 7F038120 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CC54 7F038124 92260003 */ lbu $a2, 3($s1) -/* 06CC58 7F038128 00409025 */ move $s2, $v0 -/* 06CC5C 7F03812C 1000F517 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CC60 7F038130 02C28821 */ addu $s1, $s6, $v0 -.L7F038134: -/* 06CC64 7F038134 26520004 */ addiu $s2, $s2, 4 -/* 06CC68 7F038138 1000F514 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CC6C 7F03813C 26310004 */ addiu $s1, $s1, 4 -action9A_Set_Objective_Bits_5: -/* 06CC70 7F038140 92390001 */ lbu $t9, 1($s1) -/* 06CC74 7F038144 922E0002 */ lbu $t6, 2($s1) -/* 06CC78 7F038148 92290003 */ lbu $t1, 3($s1) -/* 06CC7C 7F03814C 00196E00 */ sll $t5, $t9, 0x18 -/* 06CC80 7F038150 000E7C00 */ sll $t7, $t6, 0x10 -/* 06CC84 7F038154 922C0004 */ lbu $t4, 4($s1) -/* 06CC88 7F038158 01AFC025 */ or $t8, $t5, $t7 -/* 06CC8C 7F03815C 00095200 */ sll $t2, $t1, 8 -/* 06CC90 7F038160 030A5825 */ or $t3, $t8, $t2 -/* 06CC94 7F038164 02E02025 */ move $a0, $s7 -/* 06CC98 7F038168 0FC0CCBF */ jal toggle_objective_bitflags -/* 06CC9C 7F03816C 016C2825 */ or $a1, $t3, $t4 -/* 06CCA0 7F038170 26520005 */ addiu $s2, $s2, 5 -/* 06CCA4 7F038174 1000F505 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CCA8 7F038178 26310005 */ addiu $s1, $s1, 5 -action9B_Unset_Objective_Value_5: -/* 06CCAC 7F03817C 92390001 */ lbu $t9, 1($s1) -/* 06CCB0 7F038180 922D0002 */ lbu $t5, 2($s1) -/* 06CCB4 7F038184 92380003 */ lbu $t8, 3($s1) -/* 06CCB8 7F038188 00197600 */ sll $t6, $t9, 0x18 -/* 06CCBC 7F03818C 000D7C00 */ sll $t7, $t5, 0x10 -/* 06CCC0 7F038190 922C0004 */ lbu $t4, 4($s1) -/* 06CCC4 7F038194 01CF4825 */ or $t1, $t6, $t7 -/* 06CCC8 7F038198 00185200 */ sll $t2, $t8, 8 -/* 06CCCC 7F03819C 012A5825 */ or $t3, $t1, $t2 -/* 06CCD0 7F0381A0 02E02025 */ move $a0, $s7 -/* 06CCD4 7F0381A4 0FC0CCC6 */ jal untoggle_objective_bitflags -/* 06CCD8 7F0381A8 016C2825 */ or $a1, $t3, $t4 -/* 06CCDC 7F0381AC 26520005 */ addiu $s2, $s2, 5 -/* 06CCE0 7F0381B0 1000F4F6 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CCE4 7F0381B4 26310005 */ addiu $s1, $s1, 5 -action9C_Check_If_Objective_Value_Return_Loop_If_So_6: -/* 06CCE8 7F0381B8 92390001 */ lbu $t9, 1($s1) -/* 06CCEC 7F0381BC 922E0002 */ lbu $t6, 2($s1) -/* 06CCF0 7F0381C0 92290003 */ lbu $t1, 3($s1) -/* 06CCF4 7F0381C4 00196E00 */ sll $t5, $t9, 0x18 -/* 06CCF8 7F0381C8 000E7C00 */ sll $t7, $t6, 0x10 -/* 06CCFC 7F0381CC 922C0004 */ lbu $t4, 4($s1) -/* 06CD00 7F0381D0 01AFC025 */ or $t8, $t5, $t7 -/* 06CD04 7F0381D4 00095200 */ sll $t2, $t1, 8 -/* 06CD08 7F0381D8 030A5825 */ or $t3, $t8, $t2 -/* 06CD0C 7F0381DC 02E02025 */ move $a0, $s7 -/* 06CD10 7F0381E0 0FC0CCCE */ jal check_if_objective_bitflags_set -/* 06CD14 7F0381E4 016C2825 */ or $a1, $t3, $t4 -/* 06CD18 7F0381E8 10400007 */ beqz $v0, .L7F038208 -/* 06CD1C 7F0381EC 02C02025 */ move $a0, $s6 -/* 06CD20 7F0381F0 02402825 */ move $a1, $s2 -/* 06CD24 7F0381F4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CD28 7F0381F8 92260005 */ lbu $a2, 5($s1) -/* 06CD2C 7F0381FC 00409025 */ move $s2, $v0 -/* 06CD30 7F038200 1000F4E2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CD34 7F038204 02C28821 */ addu $s1, $s6, $v0 -.L7F038208: -/* 06CD38 7F038208 26520006 */ addiu $s2, $s2, 6 -/* 06CD3C 7F03820C 1000F4DF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CD40 7F038210 26310006 */ addiu $s1, $s1, 6 -action9D_Set_Guard_Bit_Tags_5: -/* 06CD44 7F038214 92390001 */ lbu $t9, 1($s1) -/* 06CD48 7F038218 922D0002 */ lbu $t5, 2($s1) -/* 06CD4C 7F03821C 92380003 */ lbu $t8, 3($s1) -/* 06CD50 7F038220 00197600 */ sll $t6, $t9, 0x18 -/* 06CD54 7F038224 922C0004 */ lbu $t4, 4($s1) -/* 06CD58 7F038228 000D7C00 */ sll $t7, $t5, 0x10 -/* 06CD5C 7F03822C 8EF90014 */ lw $t9, 0x14($s7) -/* 06CD60 7F038230 01CF4825 */ or $t1, $t6, $t7 -/* 06CD64 7F038234 00185200 */ sll $t2, $t8, 8 -/* 06CD68 7F038238 012A5825 */ or $t3, $t1, $t2 -/* 06CD6C 7F03823C 016C1025 */ or $v0, $t3, $t4 -/* 06CD70 7F038240 03226825 */ or $t5, $t9, $v0 -/* 06CD74 7F038244 AEED0014 */ sw $t5, 0x14($s7) -/* 06CD78 7F038248 26520005 */ addiu $s2, $s2, 5 -/* 06CD7C 7F03824C 1000F4CF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CD80 7F038250 26310005 */ addiu $s1, $s1, 5 -action9E_Unset_Guard_Bit_Tags_5: -/* 06CD84 7F038254 922E0001 */ lbu $t6, 1($s1) -/* 06CD88 7F038258 92380002 */ lbu $t8, 2($s1) -/* 06CD8C 7F03825C 922B0003 */ lbu $t3, 3($s1) -/* 06CD90 7F038260 922D0004 */ lbu $t5, 4($s1) -/* 06CD94 7F038264 000E7E00 */ sll $t7, $t6, 0x18 -/* 06CD98 7F038268 00184C00 */ sll $t1, $t8, 0x10 -/* 06CD9C 7F03826C 01E95025 */ or $t2, $t7, $t1 -/* 06CDA0 7F038270 000B6200 */ sll $t4, $t3, 8 -/* 06CDA4 7F038274 8EEE0014 */ lw $t6, 0x14($s7) -/* 06CDA8 7F038278 014CC825 */ or $t9, $t2, $t4 -/* 06CDAC 7F03827C 032D1025 */ or $v0, $t9, $t5 -/* 06CDB0 7F038280 0040C027 */ not $t8, $v0 -/* 06CDB4 7F038284 01D87824 */ and $t7, $t6, $t8 -/* 06CDB8 7F038288 AEEF0014 */ sw $t7, 0x14($s7) -/* 06CDBC 7F03828C 26520005 */ addiu $s2, $s2, 5 -/* 06CDC0 7F038290 1000F4BE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CDC4 7F038294 26310005 */ addiu $s1, $s1, 5 -action9F_Check_Guard_Bits_If_Same_RVL_6: -/* 06CDC8 7F038298 92290001 */ lbu $t1, 1($s1) -/* 06CDCC 7F03829C 922A0002 */ lbu $t2, 2($s1) -/* 06CDD0 7F0382A0 922D0003 */ lbu $t5, 3($s1) -/* 06CDD4 7F0382A4 00095E00 */ sll $t3, $t1, 0x18 -/* 06CDD8 7F0382A8 922F0004 */ lbu $t7, 4($s1) -/* 06CDDC 7F0382AC 000A6400 */ sll $t4, $t2, 0x10 -/* 06CDE0 7F0382B0 8EE90014 */ lw $t1, 0x14($s7) -/* 06CDE4 7F0382B4 016CC825 */ or $t9, $t3, $t4 -/* 06CDE8 7F0382B8 000D7200 */ sll $t6, $t5, 8 -/* 06CDEC 7F0382BC 032EC025 */ or $t8, $t9, $t6 -/* 06CDF0 7F0382C0 030F1025 */ or $v0, $t8, $t7 -/* 06CDF4 7F0382C4 01225024 */ and $t2, $t1, $v0 -/* 06CDF8 7F0382C8 144A0007 */ bne $v0, $t2, .L7F0382E8 -/* 06CDFC 7F0382CC 02C02025 */ move $a0, $s6 -/* 06CE00 7F0382D0 02402825 */ move $a1, $s2 -/* 06CE04 7F0382D4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CE08 7F0382D8 92260005 */ lbu $a2, 5($s1) -/* 06CE0C 7F0382DC 00409025 */ move $s2, $v0 -/* 06CE10 7F0382E0 1000F4AA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CE14 7F0382E4 02C28821 */ addu $s1, $s6, $v0 -.L7F0382E8: -/* 06CE18 7F0382E8 26520006 */ addiu $s2, $s2, 6 -/* 06CE1C 7F0382EC 1000F4A7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CE20 7F0382F0 26310006 */ addiu $s1, $s1, 6 -actionA0_Set_Guard_ID_Bits_6: -/* 06CE24 7F0382F4 922B0002 */ lbu $t3, 2($s1) -/* 06CE28 7F0382F8 922D0003 */ lbu $t5, 3($s1) -/* 06CE2C 7F0382FC 92380004 */ lbu $t8, 4($s1) -/* 06CE30 7F038300 000B6600 */ sll $t4, $t3, 0x18 -/* 06CE34 7F038304 000DCC00 */ sll $t9, $t5, 0x10 -/* 06CE38 7F038308 922A0005 */ lbu $t2, 5($s1) -/* 06CE3C 7F03830C 01997025 */ or $t6, $t4, $t9 -/* 06CE40 7F038310 00187A00 */ sll $t7, $t8, 8 -/* 06CE44 7F038314 01CF4825 */ or $t1, $t6, $t7 -/* 06CE48 7F038318 02E02025 */ move $a0, $s7 -/* 06CE4C 7F03831C 92250001 */ lbu $a1, 1($s1) -/* 06CE50 7F038320 0FC0CC10 */ jal get_handle_for_guard_id -/* 06CE54 7F038324 012A8025 */ or $s0, $t1, $t2 -/* 06CE58 7F038328 10400004 */ beqz $v0, .L7F03833C -/* 06CE5C 7F03832C 26520006 */ addiu $s2, $s2, 6 -/* 06CE60 7F038330 8C4B0014 */ lw $t3, 0x14($v0) -/* 06CE64 7F038334 01706825 */ or $t5, $t3, $s0 -/* 06CE68 7F038338 AC4D0014 */ sw $t5, 0x14($v0) -.L7F03833C: -/* 06CE6C 7F03833C 1000F493 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CE70 7F038340 26310006 */ addiu $s1, $s1, 6 -actionA1_Unset_Guard_ID_Bits_6: -/* 06CE74 7F038344 922C0002 */ lbu $t4, 2($s1) -/* 06CE78 7F038348 92380003 */ lbu $t8, 3($s1) -/* 06CE7C 7F03834C 92290004 */ lbu $t1, 4($s1) -/* 06CE80 7F038350 000CCE00 */ sll $t9, $t4, 0x18 -/* 06CE84 7F038354 00187400 */ sll $t6, $t8, 0x10 -/* 06CE88 7F038358 922D0005 */ lbu $t5, 5($s1) -/* 06CE8C 7F03835C 032E7825 */ or $t7, $t9, $t6 -/* 06CE90 7F038360 00095200 */ sll $t2, $t1, 8 -/* 06CE94 7F038364 01EA5825 */ or $t3, $t7, $t2 -/* 06CE98 7F038368 02E02025 */ move $a0, $s7 -/* 06CE9C 7F03836C 92250001 */ lbu $a1, 1($s1) -/* 06CEA0 7F038370 0FC0CC10 */ jal get_handle_for_guard_id -/* 06CEA4 7F038374 016D8025 */ or $s0, $t3, $t5 -/* 06CEA8 7F038378 10400005 */ beqz $v0, .L7F038390 -/* 06CEAC 7F03837C 26520006 */ addiu $s2, $s2, 6 -/* 06CEB0 7F038380 8C4C0014 */ lw $t4, 0x14($v0) -/* 06CEB4 7F038384 0200C027 */ not $t8, $s0 -/* 06CEB8 7F038388 0198C824 */ and $t9, $t4, $t8 -/* 06CEBC 7F03838C AC590014 */ sw $t9, 0x14($v0) -.L7F038390: -/* 06CEC0 7F038390 1000F47E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CEC4 7F038394 26310006 */ addiu $s1, $s1, 6 -actionA2_Check_Guard_Bits_If_Same_RVL_7: -/* 06CEC8 7F038398 922E0002 */ lbu $t6, 2($s1) -/* 06CECC 7F03839C 922F0003 */ lbu $t7, 3($s1) -/* 06CED0 7F0383A0 922D0004 */ lbu $t5, 4($s1) -/* 06CED4 7F0383A4 000E4E00 */ sll $t1, $t6, 0x18 -/* 06CED8 7F0383A8 000F5400 */ sll $t2, $t7, 0x10 -/* 06CEDC 7F0383AC 92390005 */ lbu $t9, 5($s1) -/* 06CEE0 7F0383B0 012A5825 */ or $t3, $t1, $t2 -/* 06CEE4 7F0383B4 000D6200 */ sll $t4, $t5, 8 -/* 06CEE8 7F0383B8 016CC025 */ or $t8, $t3, $t4 -/* 06CEEC 7F0383BC 02E02025 */ move $a0, $s7 -/* 06CEF0 7F0383C0 92250001 */ lbu $a1, 1($s1) -/* 06CEF4 7F0383C4 0FC0CC10 */ jal get_handle_for_guard_id -/* 06CEF8 7F0383C8 03198025 */ or $s0, $t8, $t9 -/* 06CEFC 7F0383CC 5040000D */ beql $v0, $zero, .L7F038404 -/* 06CF00 7F0383D0 26520007 */ addiu $s2, $s2, 7 -/* 06CF04 7F0383D4 8C4E0014 */ lw $t6, 0x14($v0) -/* 06CF08 7F0383D8 02C02025 */ move $a0, $s6 -/* 06CF0C 7F0383DC 02402825 */ move $a1, $s2 -/* 06CF10 7F0383E0 01D07824 */ and $t7, $t6, $s0 -/* 06CF14 7F0383E4 560F0007 */ bnel $s0, $t7, .L7F038404 -/* 06CF18 7F0383E8 26520007 */ addiu $s2, $s2, 7 -/* 06CF1C 7F0383EC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06CF20 7F0383F0 92260006 */ lbu $a2, 6($s1) -/* 06CF24 7F0383F4 00409025 */ move $s2, $v0 -/* 06CF28 7F0383F8 1000F464 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CF2C 7F0383FC 02C28821 */ addu $s1, $s6, $v0 -/* 06CF30 7F038400 26520007 */ addiu $s2, $s2, 7 -.L7F038404: -/* 06CF34 7F038404 1000F461 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CF38 7F038408 26310007 */ addiu $s1, $s1, 7 -actionA3_Set_State_Bits_16_Type_Object_6: -/* 06CF3C 7F03840C 92290002 */ lbu $t1, 2($s1) -/* 06CF40 7F038410 922D0003 */ lbu $t5, 3($s1) -/* 06CF44 7F038414 92380004 */ lbu $t8, 4($s1) -/* 06CF48 7F038418 00095600 */ sll $t2, $t1, 0x18 -/* 06CF4C 7F03841C 000D5C00 */ sll $t3, $t5, 0x10 -/* 06CF50 7F038420 922F0005 */ lbu $t7, 5($s1) -/* 06CF54 7F038424 014B6025 */ or $t4, $t2, $t3 -/* 06CF58 7F038428 0018CA00 */ sll $t9, $t8, 8 -/* 06CF5C 7F03842C 01997025 */ or $t6, $t4, $t9 -/* 06CF60 7F038430 92240001 */ lbu $a0, 1($s1) -/* 06CF64 7F038434 0FC15C30 */ jal get_handle_to_tagged_object -/* 06CF68 7F038438 01CF8025 */ or $s0, $t6, $t7 -/* 06CF6C 7F03843C 10400007 */ beqz $v0, .L7F03845C -/* 06CF70 7F038440 26520006 */ addiu $s2, $s2, 6 -/* 06CF74 7F038444 8C490010 */ lw $t1, 0x10($v0) -/* 06CF78 7F038448 11200004 */ beqz $t1, .L7F03845C -/* 06CF7C 7F03844C 00000000 */ nop -/* 06CF80 7F038450 8C4D0008 */ lw $t5, 8($v0) -/* 06CF84 7F038454 01B05025 */ or $t2, $t5, $s0 -/* 06CF88 7F038458 AC4A0008 */ sw $t2, 8($v0) -.L7F03845C: -/* 06CF8C 7F03845C 1000F44B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CF90 7F038460 26310006 */ addiu $s1, $s1, 6 -actionA4_Unset_State_Bits_16_Type_Object_6: -/* 06CF94 7F038464 922B0002 */ lbu $t3, 2($s1) -/* 06CF98 7F038468 922C0003 */ lbu $t4, 3($s1) -/* 06CF9C 7F03846C 922F0004 */ lbu $t7, 4($s1) -/* 06CFA0 7F038470 000BC600 */ sll $t8, $t3, 0x18 -/* 06CFA4 7F038474 000CCC00 */ sll $t9, $t4, 0x10 -/* 06CFA8 7F038478 922A0005 */ lbu $t2, 5($s1) -/* 06CFAC 7F03847C 03197025 */ or $t6, $t8, $t9 -/* 06CFB0 7F038480 000F4A00 */ sll $t1, $t7, 8 -/* 06CFB4 7F038484 01C96825 */ or $t5, $t6, $t1 -/* 06CFB8 7F038488 92240001 */ lbu $a0, 1($s1) -/* 06CFBC 7F03848C 0FC15C30 */ jal get_handle_to_tagged_object -/* 06CFC0 7F038490 01AA8025 */ or $s0, $t5, $t2 -/* 06CFC4 7F038494 10400008 */ beqz $v0, .L7F0384B8 -/* 06CFC8 7F038498 26520006 */ addiu $s2, $s2, 6 -/* 06CFCC 7F03849C 8C4B0010 */ lw $t3, 0x10($v0) -/* 06CFD0 7F0384A0 11600005 */ beqz $t3, .L7F0384B8 -/* 06CFD4 7F0384A4 00000000 */ nop -/* 06CFD8 7F0384A8 8C4C0008 */ lw $t4, 8($v0) -/* 06CFDC 7F0384AC 0200C027 */ not $t8, $s0 -/* 06CFE0 7F0384B0 0198C824 */ and $t9, $t4, $t8 -/* 06CFE4 7F0384B4 AC590008 */ sw $t9, 8($v0) -.L7F0384B8: -/* 06CFE8 7F0384B8 1000F434 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06CFEC 7F0384BC 26310006 */ addiu $s1, $s1, 6 -actionA5_Check_State_Bits_16_Type_Object_If_Same_RVL_7: -/* 06CFF0 7F0384C0 922F0002 */ lbu $t7, 2($s1) -/* 06CFF4 7F0384C4 92290003 */ lbu $t1, 3($s1) -/* 06CFF8 7F0384C8 922B0004 */ lbu $t3, 4($s1) -/* 06CFFC 7F0384CC 000F7600 */ sll $t6, $t7, 0x18 -/* 06D000 7F0384D0 00096C00 */ sll $t5, $t1, 0x10 -/* 06D004 7F0384D4 92390005 */ lbu $t9, 5($s1) -/* 06D008 7F0384D8 01CD5025 */ or $t2, $t6, $t5 -/* 06D00C 7F0384DC 000B6200 */ sll $t4, $t3, 8 -/* 06D010 7F0384E0 014CC025 */ or $t8, $t2, $t4 -/* 06D014 7F0384E4 92240001 */ lbu $a0, 1($s1) -/* 06D018 7F0384E8 0FC15C30 */ jal get_handle_to_tagged_object -/* 06D01C 7F0384EC 03198025 */ or $s0, $t8, $t9 -/* 06D020 7F0384F0 50400010 */ beql $v0, $zero, .L7F038534 -/* 06D024 7F0384F4 26520007 */ addiu $s2, $s2, 7 -/* 06D028 7F0384F8 8C4F0010 */ lw $t7, 0x10($v0) -/* 06D02C 7F0384FC 51E0000D */ beql $t7, $zero, .L7F038534 -/* 06D030 7F038500 26520007 */ addiu $s2, $s2, 7 -/* 06D034 7F038504 8C490008 */ lw $t1, 8($v0) -/* 06D038 7F038508 02C02025 */ move $a0, $s6 -/* 06D03C 7F03850C 02402825 */ move $a1, $s2 -/* 06D040 7F038510 01307024 */ and $t6, $t1, $s0 -/* 06D044 7F038514 560E0007 */ bnel $s0, $t6, .L7F038534 -/* 06D048 7F038518 26520007 */ addiu $s2, $s2, 7 -/* 06D04C 7F03851C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D050 7F038520 92260006 */ lbu $a2, 6($s1) -/* 06D054 7F038524 00409025 */ move $s2, $v0 -/* 06D058 7F038528 1000F418 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D05C 7F03852C 02C28821 */ addu $s1, $s6, $v0 -/* 06D060 7F038530 26520007 */ addiu $s2, $s2, 7 -.L7F038534: -/* 06D064 7F038534 1000F415 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D068 7F038538 26310007 */ addiu $s1, $s1, 7 -actionA6_Set_16_Object_States_More_6: -/* 06D06C 7F03853C 922D0002 */ lbu $t5, 2($s1) -/* 06D070 7F038540 922A0003 */ lbu $t2, 3($s1) -/* 06D074 7F038544 92390004 */ lbu $t9, 4($s1) -/* 06D078 7F038548 000D5E00 */ sll $t3, $t5, 0x18 -/* 06D07C 7F03854C 000A6400 */ sll $t4, $t2, 0x10 -/* 06D080 7F038550 922E0005 */ lbu $t6, 5($s1) -/* 06D084 7F038554 016CC025 */ or $t8, $t3, $t4 -/* 06D088 7F038558 00197A00 */ sll $t7, $t9, 8 -/* 06D08C 7F03855C 030F4825 */ or $t1, $t8, $t7 -/* 06D090 7F038560 92240001 */ lbu $a0, 1($s1) -/* 06D094 7F038564 0FC15C30 */ jal get_handle_to_tagged_object -/* 06D098 7F038568 012E8025 */ or $s0, $t1, $t6 -/* 06D09C 7F03856C 10400007 */ beqz $v0, .L7F03858C -/* 06D0A0 7F038570 26520006 */ addiu $s2, $s2, 6 -/* 06D0A4 7F038574 8C4D0010 */ lw $t5, 0x10($v0) -/* 06D0A8 7F038578 11A00004 */ beqz $t5, .L7F03858C -/* 06D0AC 7F03857C 00000000 */ nop -/* 06D0B0 7F038580 8C4A000C */ lw $t2, 0xc($v0) -/* 06D0B4 7F038584 01505825 */ or $t3, $t2, $s0 -/* 06D0B8 7F038588 AC4B000C */ sw $t3, 0xc($v0) -.L7F03858C: -/* 06D0BC 7F03858C 1000F3FF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D0C0 7F038590 26310006 */ addiu $s1, $s1, 6 -actionA7_Unset_16_Object_States_More_6: -/* 06D0C4 7F038594 922C0002 */ lbu $t4, 2($s1) -/* 06D0C8 7F038598 92380003 */ lbu $t8, 3($s1) -/* 06D0CC 7F03859C 922E0004 */ lbu $t6, 4($s1) -/* 06D0D0 7F0385A0 000CCE00 */ sll $t9, $t4, 0x18 -/* 06D0D4 7F0385A4 00187C00 */ sll $t7, $t8, 0x10 -/* 06D0D8 7F0385A8 922B0005 */ lbu $t3, 5($s1) -/* 06D0DC 7F0385AC 032F4825 */ or $t1, $t9, $t7 -/* 06D0E0 7F0385B0 000E6A00 */ sll $t5, $t6, 8 -/* 06D0E4 7F0385B4 012D5025 */ or $t2, $t1, $t5 -/* 06D0E8 7F0385B8 92240001 */ lbu $a0, 1($s1) -/* 06D0EC 7F0385BC 0FC15C30 */ jal get_handle_to_tagged_object -/* 06D0F0 7F0385C0 014B8025 */ or $s0, $t2, $t3 -/* 06D0F4 7F0385C4 10400008 */ beqz $v0, .L7F0385E8 -/* 06D0F8 7F0385C8 26520006 */ addiu $s2, $s2, 6 -/* 06D0FC 7F0385CC 8C4C0010 */ lw $t4, 0x10($v0) -/* 06D100 7F0385D0 11800005 */ beqz $t4, .L7F0385E8 -/* 06D104 7F0385D4 00000000 */ nop -/* 06D108 7F0385D8 8C58000C */ lw $t8, 0xc($v0) -/* 06D10C 7F0385DC 0200C827 */ not $t9, $s0 -/* 06D110 7F0385E0 03197824 */ and $t7, $t8, $t9 -/* 06D114 7F0385E4 AC4F000C */ sw $t7, 0xc($v0) -.L7F0385E8: -/* 06D118 7F0385E8 1000F3E8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D11C 7F0385EC 26310006 */ addiu $s1, $s1, 6 -actionA8_Check_16_Object_States_More_If_Same_RVL_7: -/* 06D120 7F0385F0 922E0002 */ lbu $t6, 2($s1) -/* 06D124 7F0385F4 922D0003 */ lbu $t5, 3($s1) -/* 06D128 7F0385F8 922C0004 */ lbu $t4, 4($s1) -/* 06D12C 7F0385FC 000E4E00 */ sll $t1, $t6, 0x18 -/* 06D130 7F038600 000D5400 */ sll $t2, $t5, 0x10 -/* 06D134 7F038604 922F0005 */ lbu $t7, 5($s1) -/* 06D138 7F038608 012A5825 */ or $t3, $t1, $t2 -/* 06D13C 7F03860C 000CC200 */ sll $t8, $t4, 8 -/* 06D140 7F038610 0178C825 */ or $t9, $t3, $t8 -/* 06D144 7F038614 92240001 */ lbu $a0, 1($s1) -/* 06D148 7F038618 0FC15C30 */ jal get_handle_to_tagged_object -/* 06D14C 7F03861C 032F8025 */ or $s0, $t9, $t7 -/* 06D150 7F038620 50400010 */ beql $v0, $zero, .L7F038664 -/* 06D154 7F038624 26520007 */ addiu $s2, $s2, 7 -/* 06D158 7F038628 8C4E0010 */ lw $t6, 0x10($v0) -/* 06D15C 7F03862C 51C0000D */ beql $t6, $zero, .L7F038664 -/* 06D160 7F038630 26520007 */ addiu $s2, $s2, 7 -/* 06D164 7F038634 8C4D000C */ lw $t5, 0xc($v0) -/* 06D168 7F038638 02C02025 */ move $a0, $s6 -/* 06D16C 7F03863C 02402825 */ move $a1, $s2 -/* 06D170 7F038640 01B04824 */ and $t1, $t5, $s0 -/* 06D174 7F038644 56090007 */ bnel $s0, $t1, .L7F038664 -/* 06D178 7F038648 26520007 */ addiu $s2, $s2, 7 -/* 06D17C 7F03864C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D180 7F038650 92260006 */ lbu $a2, 6($s1) -/* 06D184 7F038654 00409025 */ move $s2, $v0 -/* 06D188 7F038658 1000F3CC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D18C 7F03865C 02C28821 */ addu $s1, $s6, $v0 -/* 06D190 7F038660 26520007 */ addiu $s2, $s2, 7 -.L7F038664: -/* 06D194 7F038664 1000F3C9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D198 7F038668 26310007 */ addiu $s1, $s1, 7 -actionA9_Sets_To_Guard_ID_Fc_Current_Guard_2: -/* 06D19C 7F03866C 02E02025 */ move $a0, $s7 -/* 06D1A0 7F038670 0FC0CF3D */ jal sub_GAME_7F033CF4 -/* 06D1A4 7F038674 92250001 */ lbu $a1, 1($s1) -/* 06D1A8 7F038678 26520002 */ addiu $s2, $s2, 2 -/* 06D1AC 7F03867C 1000F3C3 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D1B0 7F038680 26310002 */ addiu $s1, $s1, 2 -actionAA_Sets_FC_Value_For_Guard_ID_To_Guard_ID_3: -/* 06D1B4 7F038684 02E02025 */ move $a0, $s7 -/* 06D1B8 7F038688 92250001 */ lbu $a1, 1($s1) -/* 06D1BC 7F03868C 0FC0CF47 */ jal sub_GAME_7F033D1C -/* 06D1C0 7F038690 92260002 */ lbu $a2, 2($s1) -/* 06D1C4 7F038694 26520003 */ addiu $s2, $s2, 3 -/* 06D1C8 7F038698 1000F3BC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D1CC 7F03869C 26310003 */ addiu $s1, $s1, 3 -actionAB_Set_Current_Guards_2328_Value_To_Preset_3: -/* 06D1D0 7F0386A0 922A0001 */ lbu $t2, 1($s1) -/* 06D1D4 7F0386A4 922B0002 */ lbu $t3, 2($s1) -/* 06D1D8 7F0386A8 8FB907AC */ lw $t9, 0x7ac($sp) -/* 06D1DC 7F0386AC 000A6200 */ sll $t4, $t2, 8 -/* 06D1E0 7F0386B0 018B1025 */ or $v0, $t4, $t3 -/* 06D1E4 7F0386B4 3058FFFF */ andi $t8, $v0, 0xffff -/* 06D1E8 7F0386B8 12E00007 */ beqz $s7, .L7F0386D8 -/* 06D1EC 7F0386BC 03001025 */ move $v0, $t8 -/* 06D1F0 7F0386C0 02E02025 */ move $a0, $s7 -/* 06D1F4 7F0386C4 0FC0CF57 */ jal sub_GAME_7F033D5C -/* 06D1F8 7F0386C8 03002825 */ move $a1, $t8 -/* 06D1FC 7F0386CC 26520003 */ addiu $s2, $s2, 3 -/* 06D200 7F0386D0 1000F3AE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D204 7F0386D4 26310003 */ addiu $s1, $s1, 3 -.L7F0386D8: -/* 06D208 7F0386D8 13200002 */ beqz $t9, .L7F0386E4 -/* 06D20C 7F0386DC 26520003 */ addiu $s2, $s2, 3 -/* 06D210 7F0386E0 A7220006 */ sh $v0, 6($t9) -.L7F0386E4: -/* 06D214 7F0386E4 1000F3A9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D218 7F0386E8 26310003 */ addiu $s1, $s1, 3 -actionAC_Set_Guard_ID_numS_2328_Value_To_Preset_4: -/* 06D21C 7F0386EC 922F0002 */ lbu $t7, 2($s1) -/* 06D220 7F0386F0 922D0003 */ lbu $t5, 3($s1) -/* 06D224 7F0386F4 02E02025 */ move $a0, $s7 -/* 06D228 7F0386F8 000F7200 */ sll $t6, $t7, 8 -/* 06D22C 7F0386FC 01CD1025 */ or $v0, $t6, $t5 -/* 06D230 7F038700 3046FFFF */ andi $a2, $v0, 0xffff -/* 06D234 7F038704 0FC0CF61 */ jal sub_GAME_7F033D84 -/* 06D238 7F038708 92250001 */ lbu $a1, 1($s1) -/* 06D23C 7F03870C 26520004 */ addiu $s2, $s2, 4 -/* 06D240 7F038710 1000F39E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D244 7F038714 26310004 */ addiu $s1, $s1, 4 -actionAD_Debug_Comment_20: -/* 06D248 7F038718 02C02025 */ move $a0, $s6 -/* 06D24C 7F03871C 0FC0D27F */ jal get_length_of_action_block -/* 06D250 7F038720 02402825 */ move $a1, $s2 -/* 06D254 7F038724 02429021 */ addu $s2, $s2, $v0 -/* 06D258 7F038728 1000F398 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D25C 7F03872C 02D28821 */ addu $s1, $s6, $s2 -actionAE_Reset_Cycle_Counter_And_Enable_It_1: -/* 06D260 7F038730 0FC0CCF1 */ jal reset_and_start_loop_counter -/* 06D264 7F038734 02E02025 */ move $a0, $s7 -/* 06D268 7F038738 26520001 */ addiu $s2, $s2, 1 -/* 06D26C 7F03873C 1000F393 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D270 7F038740 26310001 */ addiu $s1, $s1, 1 -actionAF_Reset_Cycle_Counter_1: -/* 06D274 7F038744 AEE00110 */ sw $zero, 0x110($s7) -/* 06D278 7F038748 26520001 */ addiu $s2, $s2, 1 -/* 06D27C 7F03874C 1000F38F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D280 7F038750 26310001 */ addiu $s1, $s1, 1 -actionB0_Disable_Cycle_Counter_1: -/* 06D284 7F038754 96EA0012 */ lhu $t2, 0x12($s7) -/* 06D288 7F038758 26520001 */ addiu $s2, $s2, 1 -/* 06D28C 7F03875C 26310001 */ addiu $s1, $s1, 1 -/* 06D290 7F038760 314CFFBF */ andi $t4, $t2, 0xffbf -/* 06D294 7F038764 1000F389 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D298 7F038768 A6EC0012 */ sh $t4, 0x12($s7) -actionB1_Enable_Cycle_Counter_1: -/* 06D29C 7F03876C 96EB0012 */ lhu $t3, 0x12($s7) -/* 06D2A0 7F038770 26520001 */ addiu $s2, $s2, 1 -/* 06D2A4 7F038774 26310001 */ addiu $s1, $s1, 1 -/* 06D2A8 7F038778 35780040 */ ori $t8, $t3, 0x40 -/* 06D2AC 7F03877C 1000F383 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D2B0 7F038780 A6F80012 */ sh $t8, 0x12($s7) -actionB2_Check_Cycle_Counter_Enable_Status_2: -/* 06D2B4 7F038784 96F90012 */ lhu $t9, 0x12($s7) -/* 06D2B8 7F038788 02C02025 */ move $a0, $s6 -/* 06D2BC 7F03878C 02402825 */ move $a1, $s2 -/* 06D2C0 7F038790 332F0040 */ andi $t7, $t9, 0x40 -/* 06D2C4 7F038794 55E00007 */ bnezl $t7, .L7F0387B4 -/* 06D2C8 7F038798 26520002 */ addiu $s2, $s2, 2 -/* 06D2CC 7F03879C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D2D0 7F0387A0 92260001 */ lbu $a2, 1($s1) -/* 06D2D4 7F0387A4 00409025 */ move $s2, $v0 -/* 06D2D8 7F0387A8 1000F378 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D2DC 7F0387AC 02C28821 */ addu $s1, $s6, $v0 -/* 06D2E0 7F0387B0 26520002 */ addiu $s2, $s2, 2 -.L7F0387B4: -/* 06D2E4 7F0387B4 1000F375 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D2E8 7F0387B8 26310002 */ addiu $s1, $s1, 2 -actionB3_If_Cycle_Counter_LTV_RVL_5: -/* 06D2EC 7F0387BC 922E0001 */ lbu $t6, 1($s1) -/* 06D2F0 7F0387C0 92290002 */ lbu $t1, 2($s1) -/* 06D2F4 7F0387C4 922B0003 */ lbu $t3, 3($s1) -/* 06D2F8 7F0387C8 000E6C00 */ sll $t5, $t6, 0x10 -/* 06D2FC 7F0387CC 00095200 */ sll $t2, $t1, 8 -/* 06D300 7F0387D0 01AA6025 */ or $t4, $t5, $t2 -/* 06D304 7F0387D4 018BC025 */ or $t8, $t4, $t3 -/* 06D308 7F0387D8 44985000 */ mtc1 $t8, $f10 -/* 06D30C 7F0387DC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06D310 7F0387E0 07010004 */ bgez $t8, .L7F0387F4 -/* 06D314 7F0387E4 468054A0 */ cvt.s.w $f18, $f10 -/* 06D318 7F0387E8 44813000 */ mtc1 $at, $f6 -/* 06D31C 7F0387EC 00000000 */ nop -/* 06D320 7F0387F0 46069480 */ add.s $f18, $f18, $f6 -.L7F0387F4: -/* 06D324 7F0387F4 46169403 */ div.s $f16, $f18, $f22 -/* 06D328 7F0387F8 02E02025 */ move $a0, $s7 -/* 06D32C 7F0387FC 0FC0CCF6 */ jal get_loop_counter_time_in_seconds -/* 06D330 7F038800 E7B002B0 */ swc1 $f16, 0x2b0($sp) -/* 06D334 7F038804 C7A802B0 */ lwc1 $f8, 0x2b0($sp) -/* 06D338 7F038808 02C02025 */ move $a0, $s6 -/* 06D33C 7F03880C 02402825 */ move $a1, $s2 -/* 06D340 7F038810 4608003C */ c.lt.s $f0, $f8 -/* 06D344 7F038814 00000000 */ nop -/* 06D348 7F038818 45020007 */ bc1fl .L7F038838 -/* 06D34C 7F03881C 26520005 */ addiu $s2, $s2, 5 -/* 06D350 7F038820 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D354 7F038824 92260004 */ lbu $a2, 4($s1) -/* 06D358 7F038828 00409025 */ move $s2, $v0 -/* 06D35C 7F03882C 1000F357 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D360 7F038830 02C28821 */ addu $s1, $s6, $v0 -/* 06D364 7F038834 26520005 */ addiu $s2, $s2, 5 -.L7F038838: -/* 06D368 7F038838 1000F354 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D36C 7F03883C 26310005 */ addiu $s1, $s1, 5 -actionB4_If_Cycle_Counter_GTV_RVL_5: -/* 06D370 7F038840 92390001 */ lbu $t9, 1($s1) -/* 06D374 7F038844 922E0002 */ lbu $t6, 2($s1) -/* 06D378 7F038848 922A0003 */ lbu $t2, 3($s1) -/* 06D37C 7F03884C 00197C00 */ sll $t7, $t9, 0x10 -/* 06D380 7F038850 000E4A00 */ sll $t1, $t6, 8 -/* 06D384 7F038854 01E96825 */ or $t5, $t7, $t1 -/* 06D388 7F038858 01AA6025 */ or $t4, $t5, $t2 -/* 06D38C 7F03885C 448C2000 */ mtc1 $t4, $f4 -/* 06D390 7F038860 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06D394 7F038864 05810004 */ bgez $t4, .L7F038878 -/* 06D398 7F038868 468022A0 */ cvt.s.w $f10, $f4 -/* 06D39C 7F03886C 44813000 */ mtc1 $at, $f6 -/* 06D3A0 7F038870 00000000 */ nop -/* 06D3A4 7F038874 46065280 */ add.s $f10, $f10, $f6 -.L7F038878: -/* 06D3A8 7F038878 46165483 */ div.s $f18, $f10, $f22 -/* 06D3AC 7F03887C 02E02025 */ move $a0, $s7 -/* 06D3B0 7F038880 0FC0CCF6 */ jal get_loop_counter_time_in_seconds -/* 06D3B4 7F038884 E7B202A8 */ swc1 $f18, 0x2a8($sp) -/* 06D3B8 7F038888 C7B002A8 */ lwc1 $f16, 0x2a8($sp) -/* 06D3BC 7F03888C 02C02025 */ move $a0, $s6 -/* 06D3C0 7F038890 02402825 */ move $a1, $s2 -/* 06D3C4 7F038894 4600803C */ c.lt.s $f16, $f0 -/* 06D3C8 7F038898 00000000 */ nop -/* 06D3CC 7F03889C 45020007 */ bc1fl .L7F0388BC -/* 06D3D0 7F0388A0 26520005 */ addiu $s2, $s2, 5 -/* 06D3D4 7F0388A4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D3D8 7F0388A8 92260004 */ lbu $a2, 4($s1) -/* 06D3DC 7F0388AC 00409025 */ move $s2, $v0 -/* 06D3E0 7F0388B0 1000F336 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D3E4 7F0388B4 02C28821 */ addu $s1, $s6, $v0 -/* 06D3E8 7F0388B8 26520005 */ addiu $s2, $s2, 5 -.L7F0388BC: -/* 06D3EC 7F0388BC 1000F333 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D3F0 7F0388C0 26310005 */ addiu $s1, $s1, 5 -actionB5_Show_Timer_1: -/* 06D3F4 7F0388C4 24040001 */ li $a0, 1 -/* 06D3F8 7F0388C8 0FC15858 */ jal set_unset_clock_lock_bits -/* 06D3FC 7F0388CC 24050001 */ li $a1, 1 -/* 06D400 7F0388D0 26520001 */ addiu $s2, $s2, 1 -/* 06D404 7F0388D4 1000F32D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D408 7F0388D8 26310001 */ addiu $s1, $s1, 1 -actionB6_Hide_Timer_Silent_Countdown_1: -/* 06D40C 7F0388DC 24040001 */ li $a0, 1 -/* 06D410 7F0388E0 0FC15858 */ jal set_unset_clock_lock_bits -/* 06D414 7F0388E4 00002825 */ move $a1, $zero -/* 06D418 7F0388E8 26520001 */ addiu $s2, $s2, 1 -/* 06D41C 7F0388EC 1000F327 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D420 7F0388F0 26310001 */ addiu $s1, $s1, 1 -actionB7_Set_Timer_X_Seconds__Doesnt_Show_Timer_Yet_3: -/* 06D424 7F0388F4 922B0001 */ lbu $t3, 1($s1) -/* 06D428 7F0388F8 92390002 */ lbu $t9, 2($s1) -/* 06D42C 7F0388FC 000BC200 */ sll $t8, $t3, 8 -/* 06D430 7F038900 03197025 */ or $t6, $t8, $t9 -/* 06D434 7F038904 448E4000 */ mtc1 $t6, $f8 -/* 06D438 7F038908 00000000 */ nop -/* 06D43C 7F03890C 46804020 */ cvt.s.w $f0, $f8 -/* 06D440 7F038910 46160302 */ mul.s $f12, $f0, $f22 -/* 06D444 7F038914 0FC1586C */ jal set_clock_time -/* 06D448 7F038918 00000000 */ nop -/* 06D44C 7F03891C 26520003 */ addiu $s2, $s2, 3 -/* 06D450 7F038920 1000F31A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D454 7F038924 26310003 */ addiu $s1, $s1, 3 -actionB8_Stop_Timer_1: -/* 06D458 7F038928 0FC15872 */ jal set_clock_enable -/* 06D45C 7F03892C 00002025 */ move $a0, $zero -/* 06D460 7F038930 26520001 */ addiu $s2, $s2, 1 -/* 06D464 7F038934 1000F315 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D468 7F038938 26310001 */ addiu $s1, $s1, 1 -actionB9_Start_Timer_1: -/* 06D46C 7F03893C 0FC15872 */ jal set_clock_enable -/* 06D470 7F038940 24040001 */ li $a0, 1 -/* 06D474 7F038944 26520001 */ addiu $s2, $s2, 1 -/* 06D478 7F038948 1000F310 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D47C 7F03894C 26310001 */ addiu $s1, $s1, 1 -actionBA_Check_Timer_Enabled_Status_RVL_If_Enabled_2: -/* 06D480 7F038950 0FC15875 */ jal get_clock_enable -/* 06D484 7F038954 00000000 */ nop -/* 06D488 7F038958 14400007 */ bnez $v0, .L7F038978 -/* 06D48C 7F03895C 02C02025 */ move $a0, $s6 -/* 06D490 7F038960 02402825 */ move $a1, $s2 -/* 06D494 7F038964 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D498 7F038968 92260001 */ lbu $a2, 1($s1) -/* 06D49C 7F03896C 00409025 */ move $s2, $v0 -/* 06D4A0 7F038970 1000F306 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D4A4 7F038974 02C28821 */ addu $s1, $s6, $v0 -.L7F038978: -/* 06D4A8 7F038978 26520002 */ addiu $s2, $s2, 2 -/* 06D4AC 7F03897C 1000F303 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D4B0 7F038980 26310002 */ addiu $s1, $s1, 2 -actionBB_Detect_If_Timer_Below_Certain_Point_RVL_If_So_4: -/* 06D4B4 7F038984 922F0001 */ lbu $t7, 1($s1) -/* 06D4B8 7F038988 922D0002 */ lbu $t5, 2($s1) -/* 06D4BC 7F03898C 000F4A00 */ sll $t1, $t7, 8 -/* 06D4C0 7F038990 012D5025 */ or $t2, $t1, $t5 -/* 06D4C4 7F038994 448A2000 */ mtc1 $t2, $f4 -/* 06D4C8 7F038998 00000000 */ nop -/* 06D4CC 7F03899C 468021A0 */ cvt.s.w $f6, $f4 -/* 06D4D0 7F0389A0 0FC1586F */ jal get_clock_time -/* 06D4D4 7F0389A4 E7A60294 */ swc1 $f6, 0x294($sp) -/* 06D4D8 7F0389A8 C7AA0294 */ lwc1 $f10, 0x294($sp) -/* 06D4DC 7F0389AC 02C02025 */ move $a0, $s6 -/* 06D4E0 7F0389B0 02402825 */ move $a1, $s2 -/* 06D4E4 7F0389B4 46165482 */ mul.s $f18, $f10, $f22 -/* 06D4E8 7F0389B8 4612003C */ c.lt.s $f0, $f18 -/* 06D4EC 7F0389BC 00000000 */ nop -/* 06D4F0 7F0389C0 45020007 */ bc1fl .L7F0389E0 -/* 06D4F4 7F0389C4 26520004 */ addiu $s2, $s2, 4 -/* 06D4F8 7F0389C8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D4FC 7F0389CC 92260003 */ lbu $a2, 3($s1) -/* 06D500 7F0389D0 00409025 */ move $s2, $v0 -/* 06D504 7F0389D4 1000F2ED */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D508 7F0389D8 02C28821 */ addu $s1, $s6, $v0 -/* 06D50C 7F0389DC 26520004 */ addiu $s2, $s2, 4 -.L7F0389E0: -/* 06D510 7F0389E0 1000F2EA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D514 7F0389E4 26310004 */ addiu $s1, $s1, 4 -actionBC_Detect_If_Timer_Above_Certain_Point_RVL_If_So_4: -/* 06D518 7F0389E8 922C0001 */ lbu $t4, 1($s1) -/* 06D51C 7F0389EC 92380002 */ lbu $t8, 2($s1) -/* 06D520 7F0389F0 000C5A00 */ sll $t3, $t4, 8 -/* 06D524 7F0389F4 0178C825 */ or $t9, $t3, $t8 -/* 06D528 7F0389F8 44998000 */ mtc1 $t9, $f16 -/* 06D52C 7F0389FC 00000000 */ nop -/* 06D530 7F038A00 46808220 */ cvt.s.w $f8, $f16 -/* 06D534 7F038A04 0FC1586F */ jal get_clock_time -/* 06D538 7F038A08 E7A8028C */ swc1 $f8, 0x28c($sp) -/* 06D53C 7F038A0C C7A4028C */ lwc1 $f4, 0x28c($sp) -/* 06D540 7F038A10 02C02025 */ move $a0, $s6 -/* 06D544 7F038A14 02402825 */ move $a1, $s2 -/* 06D548 7F038A18 46162182 */ mul.s $f6, $f4, $f22 -/* 06D54C 7F038A1C 4600303C */ c.lt.s $f6, $f0 -/* 06D550 7F038A20 00000000 */ nop -/* 06D554 7F038A24 45020007 */ bc1fl .L7F038A44 -/* 06D558 7F038A28 26520004 */ addiu $s2, $s2, 4 -/* 06D55C 7F038A2C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D560 7F038A30 92260003 */ lbu $a2, 3($s1) -/* 06D564 7F038A34 00409025 */ move $s2, $v0 -/* 06D568 7F038A38 1000F2D4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D56C 7F038A3C 02C28821 */ addu $s1, $s6, $v0 -/* 06D570 7F038A40 26520004 */ addiu $s2, $s2, 4 -.L7F038A44: -/* 06D574 7F038A44 1000F2D1 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D578 7F038A48 26310004 */ addiu $s1, $s1, 4 -actionBD_Spawn_Guard_C: -/* 06D57C 7F038A4C 922E0003 */ lbu $t6, 3($s1) -/* 06D580 7F038A50 92290004 */ lbu $t1, 4($s1) -/* 06D584 7F038A54 922A0007 */ lbu $t2, 7($s1) -/* 06D588 7F038A58 000E7A00 */ sll $t7, $t6, 8 -/* 06D58C 7F038A5C 922B0008 */ lbu $t3, 8($s1) -/* 06D590 7F038A60 01E98025 */ or $s0, $t7, $t1 -/* 06D594 7F038A64 922E0009 */ lbu $t6, 9($s1) -/* 06D598 7F038A68 320DFFFF */ andi $t5, $s0, 0xffff -/* 06D59C 7F038A6C 01A08025 */ move $s0, $t5 -/* 06D5A0 7F038A70 922D000A */ lbu $t5, 0xa($s1) -/* 06D5A4 7F038A74 000A6600 */ sll $t4, $t2, 0x18 -/* 06D5A8 7F038A78 000BC400 */ sll $t8, $t3, 0x10 -/* 06D5AC 7F038A7C 0198C825 */ or $t9, $t4, $t8 -/* 06D5B0 7F038A80 000E7A00 */ sll $t7, $t6, 8 -/* 06D5B4 7F038A84 032F4825 */ or $t1, $t9, $t7 -/* 06D5B8 7F038A88 012D5025 */ or $t2, $t1, $t5 -/* 06D5BC 7F038A8C AFAA0280 */ sw $t2, 0x280($sp) -/* 06D5C0 7F038A90 922B0005 */ lbu $t3, 5($s1) -/* 06D5C4 7F038A94 92380006 */ lbu $t8, 6($s1) -/* 06D5C8 7F038A98 000B6200 */ sll $t4, $t3, 8 -/* 06D5CC 7F038A9C 01981025 */ or $v0, $t4, $t8 -/* 06D5D0 7F038AA0 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06D5D4 7F038AA4 3044FFFF */ andi $a0, $v0, 0xffff -/* 06D5D8 7F038AA8 8FB90280 */ lw $t9, 0x280($sp) -/* 06D5DC 7F038AAC 92250001 */ lbu $a1, 1($s1) -/* 06D5E0 7F038AB0 82260002 */ lb $a2, 2($s1) -/* 06D5E4 7F038AB4 AFA20010 */ sw $v0, 0x10($sp) -/* 06D5E8 7F038AB8 02E02025 */ move $a0, $s7 -/* 06D5EC 7F038ABC 02003825 */ move $a3, $s0 -/* 06D5F0 7F038AC0 0FC0D096 */ jal guard_constructor_BD -/* 06D5F4 7F038AC4 AFB90014 */ sw $t9, 0x14($sp) -/* 06D5F8 7F038AC8 10400007 */ beqz $v0, .L7F038AE8 -/* 06D5FC 7F038ACC 02C02025 */ move $a0, $s6 -/* 06D600 7F038AD0 02402825 */ move $a1, $s2 -/* 06D604 7F038AD4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D608 7F038AD8 9226000B */ lbu $a2, 0xb($s1) -/* 06D60C 7F038ADC 00409025 */ move $s2, $v0 -/* 06D610 7F038AE0 1000F2AA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D614 7F038AE4 02C28821 */ addu $s1, $s6, $v0 -.L7F038AE8: -/* 06D618 7F038AE8 2652000C */ addiu $s2, $s2, 0xc -/* 06D61C 7F038AEC 1000F2A7 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D620 7F038AF0 2631000C */ addiu $s1, $s1, 0xc -actionBE_Respawn_Guard_with_ID_B: -/* 06D624 7F038AF4 922F0006 */ lbu $t7, 6($s1) -/* 06D628 7F038AF8 922D0007 */ lbu $t5, 7($s1) -/* 06D62C 7F038AFC 922C0008 */ lbu $t4, 8($s1) -/* 06D630 7F038B00 000F4E00 */ sll $t1, $t7, 0x18 -/* 06D634 7F038B04 000D5400 */ sll $t2, $t5, 0x10 -/* 06D638 7F038B08 922F0004 */ lbu $t7, 4($s1) -/* 06D63C 7F038B0C 012A5825 */ or $t3, $t1, $t2 -/* 06D640 7F038B10 92290005 */ lbu $t1, 5($s1) -/* 06D644 7F038B14 92390009 */ lbu $t9, 9($s1) -/* 06D648 7F038B18 000CC200 */ sll $t8, $t4, 8 -/* 06D64C 7F038B1C 000F6A00 */ sll $t5, $t7, 8 -/* 06D650 7F038B20 01787025 */ or $t6, $t3, $t8 -/* 06D654 7F038B24 01A91025 */ or $v0, $t5, $t1 -/* 06D658 7F038B28 3044FFFF */ andi $a0, $v0, 0xffff -/* 06D65C 7F038B2C 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06D660 7F038B30 01D98025 */ or $s0, $t6, $t9 -/* 06D664 7F038B34 92250001 */ lbu $a1, 1($s1) -/* 06D668 7F038B38 82260002 */ lb $a2, 2($s1) -/* 06D66C 7F038B3C 92270003 */ lbu $a3, 3($s1) -/* 06D670 7F038B40 AFB00014 */ sw $s0, 0x14($sp) -/* 06D674 7F038B44 AFA20010 */ sw $v0, 0x10($sp) -/* 06D678 7F038B48 0FC0D0C2 */ jal guard_constructor_BE -/* 06D67C 7F038B4C 02E02025 */ move $a0, $s7 -/* 06D680 7F038B50 10400007 */ beqz $v0, .L7F038B70 -/* 06D684 7F038B54 02C02025 */ move $a0, $s6 -/* 06D688 7F038B58 02402825 */ move $a1, $s2 -/* 06D68C 7F038B5C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D690 7F038B60 9226000A */ lbu $a2, 0xa($s1) -/* 06D694 7F038B64 00409025 */ move $s2, $v0 -/* 06D698 7F038B68 1000F288 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D69C 7F038B6C 02C28821 */ addu $s1, $s6, $v0 -.L7F038B70: -/* 06D6A0 7F038B70 2652000B */ addiu $s2, $s2, 0xb -/* 06D6A4 7F038B74 1000F285 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D6A8 7F038B78 2631000B */ addiu $s1, $s1, 0xb -actionBF_Spawn_Weapon_9: -/* 06D6AC 7F038B7C 922C0004 */ lbu $t4, 4($s1) -/* 06D6B0 7F038B80 92380005 */ lbu $t8, 5($s1) -/* 06D6B4 7F038B84 922F0006 */ lbu $t7, 6($s1) -/* 06D6B8 7F038B88 000C5E00 */ sll $t3, $t4, 0x18 -/* 06D6BC 7F038B8C 922C0001 */ lbu $t4, 1($s1) -/* 06D6C0 7F038B90 00187400 */ sll $t6, $t8, 0x10 -/* 06D6C4 7F038B94 016EC825 */ or $t9, $t3, $t6 -/* 06D6C8 7F038B98 922A0007 */ lbu $t2, 7($s1) -/* 06D6CC 7F038B9C 922B0002 */ lbu $t3, 2($s1) -/* 06D6D0 7F038BA0 000F6A00 */ sll $t5, $t7, 8 -/* 06D6D4 7F038BA4 032D4825 */ or $t1, $t9, $t5 -/* 06D6D8 7F038BA8 000CC200 */ sll $t8, $t4, 8 -/* 06D6DC 7F038BAC 00001825 */ move $v1, $zero -/* 06D6E0 7F038BB0 012A8025 */ or $s0, $t1, $t2 -/* 06D6E4 7F038BB4 12E00027 */ beqz $s7, .L7F038C54 -/* 06D6E8 7F038BB8 030B9825 */ or $s3, $t8, $t3 -/* 06D6EC 7F038BBC 8EEE0018 */ lw $t6, 0x18($s7) -/* 06D6F0 7F038BC0 11C00024 */ beqz $t6, .L7F038C54 -/* 06D6F4 7F038BC4 00000000 */ nop -/* 06D6F8 7F038BC8 8EEF001C */ lw $t7, 0x1c($s7) -/* 06D6FC 7F038BCC 11E00021 */ beqz $t7, .L7F038C54 -/* 06D700 7F038BD0 00000000 */ nop -/* 06D704 7F038BD4 0FC249EF */ jal cheatCheckIfOn -/* 06D708 7F038BD8 2404001C */ li $a0, 28 -/* 06D70C 7F038BDC 50400018 */ beql $v0, $zero, .L7F038C40 -/* 06D710 7F038BE0 02E02025 */ move $a0, $s7 -/* 06D714 7F038BE4 92260003 */ lbu $a2, 3($s1) -/* 06D718 7F038BE8 24D9FFFE */ addiu $t9, $a2, -2 -/* 06D71C 7F038BEC 2F21001E */ sltiu $at, $t9, 0x1e -/* 06D720 7F038BF0 1020000C */ beqz $at, .L7F038C24 -/* 06D724 7F038BF4 0019C880 */ sll $t9, $t9, 2 -/* 06D728 7F038BF8 3C018005 */ lui $at, %hi(jpt_800528FC) -/* 06D72C 7F038BFC 00390821 */ addu $at, $at, $t9 -/* 06D730 7F038C00 8C3928FC */ lw $t9, %lo(jpt_800528FC)($at) -.L7F038C04: -/* 06D734 7F038C04 03200008 */ jr $t9 -/* 06D738 7F038C08 00000000 */ nop -loc_CODE_7F038C0C: -/* 06D73C 7F038C0C 02E02025 */ move $a0, $s7 -/* 06D740 7F038C10 240500D3 */ li $a1, 211 -/* 06D744 7F038C14 24060019 */ li $a2, 25 -/* 06D748 7F038C18 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D74C 7F038C1C 02003825 */ move $a3, $s0 -/* 06D750 7F038C20 92260003 */ lbu $a2, 3($s1) -.L7F038C24: -/* 06D754 7F038C24 02E02025 */ move $a0, $s7 -/* 06D758 7F038C28 02602825 */ move $a1, $s3 -/* 06D75C 7F038C2C 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D760 7F038C30 02003825 */ move $a3, $s0 -/* 06D764 7F038C34 10000007 */ b .L7F038C54 -/* 06D768 7F038C38 00401825 */ move $v1, $v0 -/* 06D76C 7F038C3C 02E02025 */ move $a0, $s7 -.L7F038C40: -/* 06D770 7F038C40 02602825 */ move $a1, $s3 -/* 06D774 7F038C44 92260003 */ lbu $a2, 3($s1) -/* 06D778 7F038C48 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D77C 7F038C4C 02003825 */ move $a3, $s0 -/* 06D780 7F038C50 00401825 */ move $v1, $v0 -.L7F038C54: -/* 06D784 7F038C54 10600007 */ beqz $v1, .L7F038C74 -/* 06D788 7F038C58 02C02025 */ move $a0, $s6 -/* 06D78C 7F038C5C 02402825 */ move $a1, $s2 -/* 06D790 7F038C60 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D794 7F038C64 92260008 */ lbu $a2, 8($s1) -/* 06D798 7F038C68 00409025 */ move $s2, $v0 -/* 06D79C 7F038C6C 1000F247 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D7A0 7F038C70 02C28821 */ addu $s1, $s6, $v0 -.L7F038C74: -/* 06D7A4 7F038C74 26520009 */ addiu $s2, $s2, 9 -/* 06D7A8 7F038C78 1000F244 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D7AC 7F038C7C 26310009 */ addiu $s1, $s1, 9 -actionC0_Spawn_Hat_8: -/* 06D7B0 7F038C80 922D0003 */ lbu $t5, 3($s1) -/* 06D7B4 7F038C84 922A0004 */ lbu $t2, 4($s1) -/* 06D7B8 7F038C88 922B0005 */ lbu $t3, 5($s1) -/* 06D7BC 7F038C8C 000D4E00 */ sll $t1, $t5, 0x18 -/* 06D7C0 7F038C90 922D0001 */ lbu $t5, 1($s1) -/* 06D7C4 7F038C94 000A6400 */ sll $t4, $t2, 0x10 -/* 06D7C8 7F038C98 012CC025 */ or $t8, $t1, $t4 -/* 06D7CC 7F038C9C 92390006 */ lbu $t9, 6($s1) -/* 06D7D0 7F038CA0 92290002 */ lbu $t1, 2($s1) -/* 06D7D4 7F038CA4 000B7200 */ sll $t6, $t3, 8 -/* 06D7D8 7F038CA8 030E7825 */ or $t7, $t8, $t6 -/* 06D7DC 7F038CAC 000D5200 */ sll $t2, $t5, 8 -/* 06D7E0 7F038CB0 00001825 */ move $v1, $zero -/* 06D7E4 7F038CB4 01F93025 */ or $a2, $t7, $t9 -/* 06D7E8 7F038CB8 12E0000A */ beqz $s7, .L7F038CE4 -/* 06D7EC 7F038CBC 01492825 */ or $a1, $t2, $t1 -/* 06D7F0 7F038CC0 8EEC0018 */ lw $t4, 0x18($s7) -/* 06D7F4 7F038CC4 11800007 */ beqz $t4, .L7F038CE4 -/* 06D7F8 7F038CC8 00000000 */ nop -/* 06D7FC 7F038CCC 8EEB001C */ lw $t3, 0x1c($s7) -/* 06D800 7F038CD0 11600004 */ beqz $t3, .L7F038CE4 -/* 06D804 7F038CD4 00000000 */ nop -/* 06D808 7F038CD8 0FC14430 */ jal sub_GAME_7F0510C0 -/* 06D80C 7F038CDC 02E02025 */ move $a0, $s7 -/* 06D810 7F038CE0 00401825 */ move $v1, $v0 -.L7F038CE4: -/* 06D814 7F038CE4 10600007 */ beqz $v1, .L7F038D04 -/* 06D818 7F038CE8 02C02025 */ move $a0, $s6 -/* 06D81C 7F038CEC 02402825 */ move $a1, $s2 -/* 06D820 7F038CF0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D824 7F038CF4 92260007 */ lbu $a2, 7($s1) -/* 06D828 7F038CF8 00409025 */ move $s2, $v0 -/* 06D82C 7F038CFC 1000F223 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D830 7F038D00 02C28821 */ addu $s1, $s6, $v0 -.L7F038D04: -/* 06D834 7F038D04 26520008 */ addiu $s2, $s2, 8 -/* 06D838 7F038D08 1000F220 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D83C 7F038D0C 26310008 */ addiu $s1, $s1, 8 -actionC1_GuardIDDoesAV_If_Gunfire_RVL_WhenComplete_5: -/* 06D840 7F038D10 92380002 */ lbu $t8, 2($s1) -/* 06D844 7F038D14 922F0003 */ lbu $t7, 3($s1) -/* 06D848 7F038D18 AFA0020C */ sw $zero, 0x20c($sp) -/* 06D84C 7F038D1C 00187200 */ sll $t6, $t8, 8 -/* 06D850 7F038D20 01CF1025 */ or $v0, $t6, $t7 -/* 06D854 7F038D24 3044FFFF */ andi $a0, $v0, 0xffff -/* 06D858 7F038D28 AFA00210 */ sw $zero, 0x210($sp) -/* 06D85C 7F038D2C AFA00234 */ sw $zero, 0x234($sp) -/* 06D860 7F038D30 00009825 */ move $s3, $zero -/* 06D864 7F038D34 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 06D868 7F038D38 0000A025 */ move $s4, $zero -/* 06D86C 7F038D3C 00408025 */ move $s0, $v0 -/* 06D870 7F038D40 02E02025 */ move $a0, $s7 -/* 06D874 7F038D44 0FC0CC10 */ jal get_handle_for_guard_id -/* 06D878 7F038D48 92250001 */ lbu $a1, 1($s1) -/* 06D87C 7F038D4C 10400051 */ beqz $v0, .L7F038E94 -/* 06D880 7F038D50 0040A825 */ move $s5, $v0 -/* 06D884 7F038D54 8C4D0014 */ lw $t5, 0x14($v0) -/* 06D888 7F038D58 02E02025 */ move $a0, $s7 -/* 06D88C 7F038D5C 31AA0002 */ andi $t2, $t5, 2 -/* 06D890 7F038D60 5140004D */ beql $t2, $zero, .L7F038E98 -/* 06D894 7F038D64 8FA90234 */ lw $t1, 0x234($sp) -/* 06D898 7F038D68 8045000F */ lb $a1, 0xf($v0) -/* 06D89C 7F038D6C 84470000 */ lh $a3, ($v0) -/* 06D8A0 7F038D70 AFA00014 */ sw $zero, 0x14($sp) -/* 06D8A4 7F038D74 AFB00010 */ sw $s0, 0x10($sp) -/* 06D8A8 7F038D78 0FC0D0C2 */ jal guard_constructor_BE -/* 06D8AC 7F038D7C 2406FFFF */ li $a2, -1 -/* 06D8B0 7F038D80 50400045 */ beql $v0, $zero, .L7F038E98 -/* 06D8B4 7F038D84 8FA90234 */ lw $t1, 0x234($sp) -/* 06D8B8 7F038D88 8C490004 */ lw $t1, 4($v0) -/* 06D8BC 7F038D8C 02E02025 */ move $a0, $s7 -/* 06D8C0 7F038D90 AFA90218 */ sw $t1, 0x218($sp) -/* 06D8C4 7F038D94 86B00000 */ lh $s0, ($s5) -/* 06D8C8 7F038D98 26102710 */ addiu $s0, $s0, 0x2710 -/* 06D8CC 7F038D9C 0FC0CC10 */ jal get_handle_for_guard_id -/* 06D8D0 7F038DA0 02002825 */ move $a1, $s0 -/* 06D8D4 7F038DA4 14400003 */ bnez $v0, .L7F038DB4 -/* 06D8D8 7F038DA8 02A02025 */ move $a0, $s5 -/* 06D8DC 7F038DAC 8FAC0218 */ lw $t4, 0x218($sp) -/* 06D8E0 7F038DB0 A5900000 */ sh $s0, ($t4) -.L7F038DB4: -/* 06D8E4 7F038DB4 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 06D8E8 7F038DB8 00002825 */ move $a1, $zero -/* 06D8EC 7F038DBC 5040000C */ beql $v0, $zero, .L7F038DF0 -/* 06D8F0 7F038DC0 02A02025 */ move $a0, $s5 -/* 06D8F4 7F038DC4 8C540004 */ lw $s4, 4($v0) -/* 06D8F8 7F038DC8 8FA40218 */ lw $a0, 0x218($sp) -/* 06D8FC 7F038DCC 00003825 */ move $a3, $zero -/* 06D900 7F038DD0 86850004 */ lh $a1, 4($s4) -/* 06D904 7F038DD4 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D908 7F038DD8 82860080 */ lb $a2, 0x80($s4) -/* 06D90C 7F038DDC 50400004 */ beql $v0, $zero, .L7F038DF0 -/* 06D910 7F038DE0 02A02025 */ move $a0, $s5 -/* 06D914 7F038DE4 8C4B0004 */ lw $t3, 4($v0) -/* 06D918 7F038DE8 AFAB020C */ sw $t3, 0x20c($sp) -/* 06D91C 7F038DEC 02A02025 */ move $a0, $s5 -.L7F038DF0: -/* 06D920 7F038DF0 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 06D924 7F038DF4 24050001 */ li $a1, 1 -/* 06D928 7F038DF8 1040000B */ beqz $v0, .L7F038E28 -/* 06D92C 7F038DFC 00000000 */ nop -/* 06D930 7F038E00 8C530004 */ lw $s3, 4($v0) -/* 06D934 7F038E04 8FA40218 */ lw $a0, 0x218($sp) -/* 06D938 7F038E08 3C071000 */ lui $a3, 0x1000 -/* 06D93C 7F038E0C 86650004 */ lh $a1, 4($s3) -/* 06D940 7F038E10 0FC148F5 */ jal actor_draws_weapon_with_model -/* 06D944 7F038E14 82660080 */ lb $a2, 0x80($s3) -/* 06D948 7F038E18 10400003 */ beqz $v0, .L7F038E28 -/* 06D94C 7F038E1C 00000000 */ nop -/* 06D950 7F038E20 8C580004 */ lw $t8, 4($v0) -/* 06D954 7F038E24 AFB80210 */ sw $t8, 0x210($sp) -.L7F038E28: -/* 06D958 7F038E28 52600011 */ beql $s3, $zero, .L7F038E70 -/* 06D95C 7F038E2C 8EA301D8 */ lw $v1, 0x1d8($s5) -/* 06D960 7F038E30 1280000E */ beqz $s4, .L7F038E6C -/* 06D964 7F038E34 8FAE0210 */ lw $t6, 0x210($sp) -/* 06D968 7F038E38 11C0000C */ beqz $t6, .L7F038E6C -/* 06D96C 7F038E3C 8FAF020C */ lw $t7, 0x20c($sp) -/* 06D970 7F038E40 51E0000B */ beql $t7, $zero, .L7F038E70 -/* 06D974 7F038E44 8EA301D8 */ lw $v1, 0x1d8($s5) -/* 06D978 7F038E48 8E790084 */ lw $t9, 0x84($s3) -/* 06D97C 7F038E4C 56990008 */ bnel $s4, $t9, .L7F038E70 -/* 06D980 7F038E50 8EA301D8 */ lw $v1, 0x1d8($s5) -/* 06D984 7F038E54 8E8D0084 */ lw $t5, 0x84($s4) -/* 06D988 7F038E58 01C02025 */ move $a0, $t6 -/* 06D98C 7F038E5C 566D0004 */ bnel $s3, $t5, .L7F038E70 -/* 06D990 7F038E60 8EA301D8 */ lw $v1, 0x1d8($s5) -/* 06D994 7F038E64 0FC1475D */ jal link_objects -/* 06D998 7F038E68 01E02825 */ move $a1, $t7 -.L7F038E6C: -/* 06D99C 7F038E6C 8EA301D8 */ lw $v1, 0x1d8($s5) -.L7F038E70: -/* 06D9A0 7F038E70 8FA40218 */ lw $a0, 0x218($sp) -/* 06D9A4 7F038E74 50600006 */ beql $v1, $zero, .L7F038E90 -/* 06D9A8 7F038E78 240A0001 */ li $t2, 1 -/* 06D9AC 7F038E7C 8C620004 */ lw $v0, 4($v1) -/* 06D9B0 7F038E80 00003025 */ move $a2, $zero -/* 06D9B4 7F038E84 0FC14430 */ jal sub_GAME_7F0510C0 -/* 06D9B8 7F038E88 84450004 */ lh $a1, 4($v0) -/* 06D9BC 7F038E8C 240A0001 */ li $t2, 1 -.L7F038E90: -/* 06D9C0 7F038E90 AFAA0234 */ sw $t2, 0x234($sp) -.L7F038E94: -/* 06D9C4 7F038E94 8FA90234 */ lw $t1, 0x234($sp) -.L7F038E98: -/* 06D9C8 7F038E98 02C02025 */ move $a0, $s6 -/* 06D9CC 7F038E9C 02402825 */ move $a1, $s2 -/* 06D9D0 7F038EA0 51200007 */ beql $t1, $zero, .L7F038EC0 -/* 06D9D4 7F038EA4 26520005 */ addiu $s2, $s2, 5 -/* 06D9D8 7F038EA8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06D9DC 7F038EAC 92260004 */ lbu $a2, 4($s1) -/* 06D9E0 7F038EB0 00409025 */ move $s2, $v0 -/* 06D9E4 7F038EB4 1000F1B5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D9E8 7F038EB8 02C28821 */ addu $s1, $s6, $v0 -/* 06D9EC 7F038EBC 26520005 */ addiu $s2, $s2, 5 -.L7F038EC0: -/* 06D9F0 7F038EC0 1000F1B2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06D9F4 7F038EC4 26310005 */ addiu $s1, $s1, 5 -actionC2_Display_Text_Preset_Bottom_Screen_3: -/* 06D9F8 7F038EC8 922C0001 */ lbu $t4, 1($s1) -/* 06D9FC 7F038ECC 92380002 */ lbu $t8, 2($s1) -/* 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_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 -/* 06DA1C 7F038EEC 26310003 */ addiu $s1, $s1, 3 -actionC3_Display_Text_Preset_Top_Screen_3: -/* 06DA20 7F038EF0 92390001 */ lbu $t9, 1($s1) -/* 06DA24 7F038EF4 922E0002 */ lbu $t6, 2($s1) -/* 06DA28 7F038EF8 00196A00 */ sll $t5, $t9, 8 -/* 06DA2C 7F038EFC 0FC30776 */ jal get_textptr_for_textID -/* 06DA30 7F038F00 01AE2025 */ or $a0, $t5, $t6 -/* 06DA34 7F038F04 0FC22A57 */ jal display_string_at_top_of_screen -/* 06DA38 7F038F08 00402025 */ move $a0, $v0 -/* 06DA3C 7F038F0C 26520003 */ addiu $s2, $s2, 3 -/* 06DA40 7F038F10 1000F19E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DA44 7F038F14 26310003 */ addiu $s1, $s1, 3 -actionC4_Play_Sound_Effect_num_In_Slot_num_0_7_4: -/* 06DA48 7F038F18 922F0001 */ lbu $t7, 1($s1) -/* 06DA4C 7F038F1C 92290002 */ lbu $t1, 2($s1) -/* 06DA50 7F038F20 82240003 */ lb $a0, 3($s1) -/* 06DA54 7F038F24 000F5200 */ sll $t2, $t7, 8 -/* 06DA58 7F038F28 01492825 */ or $a1, $t2, $t1 -/* 06DA5C 7F038F2C 00056400 */ sll $t4, $a1, 0x10 -/* 06DA60 7F038F30 0FC0D249 */ jal set_sound_effect_to_slot -/* 06DA64 7F038F34 000C2C03 */ sra $a1, $t4, 0x10 -/* 06DA68 7F038F38 26520004 */ addiu $s2, $s2, 4 -/* 06DA6C 7F038F3C 1000F193 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DA70 7F038F40 26310004 */ addiu $s1, $s1, 4 -actionC9_Shut_Off_Sound_In_Slot_Number_2: -/* 06DA74 7F038F44 0FC0D26F */ jal sub_GAME_7F0349BC -/* 06DA78 7F038F48 82240001 */ lb $a0, 1($s1) -/* 06DA7C 7F038F4C 26520002 */ addiu $s2, $s2, 2 -/* 06DA80 7F038F50 1000F18E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DA84 7F038F54 26310002 */ addiu $s1, $s1, 2 -actionC7_Sound_In_Slot_num_Crecendos_To_Volume_Over_ms_6: -/* 06DA88 7F038F58 92380002 */ lbu $t8, 2($s1) -/* 06DA8C 7F038F5C 922D0003 */ lbu $t5, 3($s1) -/* 06DA90 7F038F60 922A0004 */ lbu $t2, 4($s1) -/* 06DA94 7F038F64 922C0005 */ lbu $t4, 5($s1) -/* 06DA98 7F038F68 82230001 */ lb $v1, 1($s1) -/* 06DA9C 7F038F6C 0018CA00 */ sll $t9, $t8, 8 -/* 06DAA0 7F038F70 032D2025 */ or $a0, $t9, $t5 -/* 06DAA4 7F038F74 000A4A00 */ sll $t1, $t2, 8 -/* 06DAA8 7F038F78 00047400 */ sll $t6, $a0, 0x10 -/* 06DAAC 7F038F7C 012C2825 */ or $a1, $t1, $t4 -/* 06DAB0 7F038F80 000E2403 */ sra $a0, $t6, 0x10 -/* 06DAB4 7F038F84 0460001D */ bltz $v1, .L7F038FFC -/* 06DAB8 7F038F88 30ABFFFF */ andi $t3, $a1, 0xffff -/* 06DABC 7F038F8C 28610008 */ slti $at, $v1, 8 -/* 06DAC0 7F038F90 1020001A */ beqz $at, .L7F038FFC -/* 06DAC4 7F038F94 24070018 */ li $a3, 24 -/* 06DAC8 7F038F98 00670019 */ multu $v1, $a3 -/* 06DACC 7F038F9C 3C068007 */ lui $a2, %hi(sfx_related) -/* 06DAD0 7F038FA0 24C69B70 */ addiu $a2, %lo(sfx_related) # addiu $a2, $a2, -0x6490 -/* 06DAD4 7F038FA4 01601025 */ move $v0, $t3 -/* 06DAD8 7F038FA8 0000C012 */ mflo $t8 -/* 06DADC 7F038FAC 00D8C821 */ addu $t9, $a2, $t8 -/* 06DAE0 7F038FB0 AF2B0008 */ sw $t3, 8($t9) -/* 06DAE4 7F038FB4 822D0001 */ lb $t5, 1($s1) -/* 06DAE8 7F038FB8 01A70019 */ multu $t5, $a3 -/* 06DAEC 7F038FBC 00007012 */ mflo $t6 -/* 06DAF0 7F038FC0 00CE7821 */ addu $t7, $a2, $t6 -/* 06DAF4 7F038FC4 ADE4000C */ sw $a0, 0xc($t7) -/* 06DAF8 7F038FC8 822A0001 */ lb $t2, 1($s1) -/* 06DAFC 7F038FCC 01470019 */ multu $t2, $a3 -/* 06DB00 7F038FD0 00004812 */ mflo $t1 -/* 06DB04 7F038FD4 00C96021 */ addu $t4, $a2, $t1 -/* 06DB08 7F038FD8 AD800010 */ sw $zero, 0x10($t4) -/* 06DB0C 7F038FDC 822B0001 */ lb $t3, 1($s1) -/* 06DB10 7F038FE0 01670019 */ multu $t3, $a3 -/* 06DB14 7F038FE4 0000C012 */ mflo $t8 -/* 06DB18 7F038FE8 00D8C821 */ addu $t9, $a2, $t8 -/* 06DB1C 7F038FEC 14400003 */ bnez $v0, .L7F038FFC -/* 06DB20 7F038FF0 AF200014 */ sw $zero, 0x14($t9) -/* 06DB24 7F038FF4 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 06DB28 7F038FF8 82240001 */ lb $a0, 1($s1) -.L7F038FFC: -/* 06DB2C 7F038FFC 26520006 */ addiu $s2, $s2, 6 -/* 06DB30 7F039000 1000F162 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DB34 7F039004 26310006 */ addiu $s1, $s1, 6 -actionC8_Sound_In_Slot_num_Fades_To_Volume_Over_ms_6: -/* 06DB38 7F039008 922D0002 */ lbu $t5, 2($s1) -/* 06DB3C 7F03900C 922F0003 */ lbu $t7, 3($s1) -/* 06DB40 7F039010 92290004 */ lbu $t1, 4($s1) -/* 06DB44 7F039014 922B0005 */ lbu $t3, 5($s1) -/* 06DB48 7F039018 000D7200 */ sll $t6, $t5, 8 -/* 06DB4C 7F03901C 82230001 */ lb $v1, 1($s1) -/* 06DB50 7F039020 01CF5025 */ or $t2, $t6, $t7 -/* 06DB54 7F039024 448A5000 */ mtc1 $t2, $f10 -/* 06DB58 7F039028 00096200 */ sll $t4, $t1, 8 -/* 06DB5C 7F03902C 018B1025 */ or $v0, $t4, $t3 -/* 06DB60 7F039030 3058FFFF */ andi $t8, $v0, 0xffff -/* 06DB64 7F039034 04600020 */ bltz $v1, .L7F0390B8 -/* 06DB68 7F039038 46805320 */ cvt.s.w $f12, $f10 -/* 06DB6C 7F03903C 28610008 */ slti $at, $v1, 8 -/* 06DB70 7F039040 1020001D */ beqz $at, .L7F0390B8 -/* 06DB74 7F039044 0003C880 */ sll $t9, $v1, 2 -/* 06DB78 7F039048 0323C823 */ subu $t9, $t9, $v1 -/* 06DB7C 7F03904C 0019C8C0 */ sll $t9, $t9, 3 -/* 06DB80 7F039050 3C018007 */ lui $at, %hi(sfx_related+8) -/* 06DB84 7F039054 00390821 */ addu $at, $at, $t9 -/* 06DB88 7F039058 AC389B78 */ sw $t8, %lo(sfx_related+8)($at) -/* 06DB8C 7F03905C 0FC14E6E */ jal sub_GAME_7F0539B8 -/* 06DB90 7F039060 03008025 */ move $s0, $t8 -/* 06DB94 7F039064 822D0001 */ lb $t5, 1($s1) -/* 06DB98 7F039068 24040018 */ li $a0, 24 -/* 06DB9C 7F03906C 3C038007 */ lui $v1, %hi(sfx_related) -/* 06DBA0 7F039070 01A40019 */ multu $t5, $a0 -/* 06DBA4 7F039074 24639B70 */ addiu $v1, %lo(sfx_related) # addiu $v1, $v1, -0x6490 -/* 06DBA8 7F039078 00007012 */ mflo $t6 -/* 06DBAC 7F03907C 006E7821 */ addu $t7, $v1, $t6 -/* 06DBB0 7F039080 ADE2000C */ sw $v0, 0xc($t7) -/* 06DBB4 7F039084 822A0001 */ lb $t2, 1($s1) -/* 06DBB8 7F039088 01440019 */ multu $t2, $a0 -/* 06DBBC 7F03908C 00004812 */ mflo $t1 -/* 06DBC0 7F039090 00696021 */ addu $t4, $v1, $t1 -/* 06DBC4 7F039094 AD800010 */ sw $zero, 0x10($t4) -/* 06DBC8 7F039098 822B0001 */ lb $t3, 1($s1) -/* 06DBCC 7F03909C 01640019 */ multu $t3, $a0 -/* 06DBD0 7F0390A0 0000C012 */ mflo $t8 -/* 06DBD4 7F0390A4 0078C821 */ addu $t9, $v1, $t8 -/* 06DBD8 7F0390A8 16000003 */ bnez $s0, .L7F0390B8 -/* 06DBDC 7F0390AC AF200014 */ sw $zero, 0x14($t9) -/* 06DBE0 7F0390B0 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 06DBE4 7F0390B4 82240001 */ lb $a0, 1($s1) -.L7F0390B8: -/* 06DBE8 7F0390B8 26520006 */ addiu $s2, $s2, 6 -/* 06DBEC 7F0390BC 1000F133 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DBF0 7F0390C0 26310006 */ addiu $s1, $s1, 6 -actionC5_EmanateSoundSlotnumFrom16ObjectWithAudibleRV_5: -/* 06DBF4 7F0390C4 0FC15C30 */ jal get_handle_to_tagged_object -/* 06DBF8 7F0390C8 92240002 */ lbu $a0, 2($s1) -/* 06DBFC 7F0390CC 922D0003 */ lbu $t5, 3($s1) -/* 06DC00 7F0390D0 922F0004 */ lbu $t7, 4($s1) -/* 06DC04 7F0390D4 82230001 */ lb $v1, 1($s1) -/* 06DC08 7F0390D8 000D7200 */ sll $t6, $t5, 8 -/* 06DC0C 7F0390DC 01CF2825 */ or $a1, $t6, $t7 -/* 06DC10 7F0390E0 0460001C */ bltz $v1, .L7F039154 -/* 06DC14 7F0390E4 30AAFFFF */ andi $t2, $a1, 0xffff -/* 06DC18 7F0390E8 28610008 */ slti $at, $v1, 8 -/* 06DC1C 7F0390EC 5020001A */ beql $at, $zero, .L7F039158 -/* 06DC20 7F0390F0 26520005 */ addiu $s2, $s2, 5 -/* 06DC24 7F0390F4 10400017 */ beqz $v0, .L7F039154 -/* 06DC28 7F0390F8 00034880 */ sll $t1, $v1, 2 -/* 06DC2C 7F0390FC 01234823 */ subu $t1, $t1, $v1 -/* 06DC30 7F039100 000948C0 */ sll $t1, $t1, 3 -/* 06DC34 7F039104 3C018007 */ lui $at, %hi(sfx_related+8) -/* 06DC38 7F039108 00290821 */ addu $at, $at, $t1 -/* 06DC3C 7F03910C AC2A9B78 */ sw $t2, %lo(sfx_related+8)($at) -/* 06DC40 7F039110 822C0001 */ lb $t4, 1($s1) -/* 06DC44 7F039114 3C018007 */ lui $at, %hi(sfx_related+16) -/* 06DC48 7F039118 000C5880 */ sll $t3, $t4, 2 -/* 06DC4C 7F03911C 016C5823 */ subu $t3, $t3, $t4 -/* 06DC50 7F039120 000B58C0 */ sll $t3, $t3, 3 -/* 06DC54 7F039124 002B0821 */ addu $at, $at, $t3 -/* 06DC58 7F039128 AC209B80 */ sw $zero, %lo(sfx_related+16)($at) -/* 06DC5C 7F03912C 82380001 */ lb $t8, 1($s1) -/* 06DC60 7F039130 3C018007 */ lui $at, %hi(sfx_related+20) -/* 06DC64 7F039134 0018C880 */ sll $t9, $t8, 2 -/* 06DC68 7F039138 0338C823 */ subu $t9, $t9, $t8 -/* 06DC6C 7F03913C 0019C8C0 */ sll $t9, $t9, 3 -/* 06DC70 7F039140 00390821 */ addu $at, $at, $t9 -/* 06DC74 7F039144 15400003 */ bnez $t2, .L7F039154 -/* 06DC78 7F039148 AC229B84 */ sw $v0, %lo(sfx_related+20)($at) -/* 06DC7C 7F03914C 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 06DC80 7F039150 82240001 */ lb $a0, 1($s1) -.L7F039154: -/* 06DC84 7F039154 26520005 */ addiu $s2, $s2, 5 -.L7F039158: -/* 06DC88 7F039158 1000F10C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DC8C 7F03915C 26310005 */ addiu $s1, $s1, 5 -actionC6_EmanateSoundSlotnumFromPresetWithAudibleRV_6: -/* 06DC90 7F039160 922D0002 */ lbu $t5, 2($s1) -/* 06DC94 7F039164 922F0003 */ lbu $t7, 3($s1) -/* 06DC98 7F039168 92290004 */ lbu $t1, 4($s1) -/* 06DC9C 7F03916C 922B0005 */ lbu $t3, 5($s1) -/* 06DCA0 7F039170 000D7200 */ sll $t6, $t5, 8 -/* 06DCA4 7F039174 01CF1025 */ or $v0, $t6, $t7 -/* 06DCA8 7F039178 00096200 */ sll $t4, $t1, 8 -/* 06DCAC 7F03917C 304AFFFF */ andi $t2, $v0, 0xffff -/* 06DCB0 7F039180 018B2825 */ or $a1, $t4, $t3 -/* 06DCB4 7F039184 30B8FFFF */ andi $t8, $a1, 0xffff -/* 06DCB8 7F039188 29412710 */ slti $at, $t2, 0x2710 -/* 06DCBC 7F03918C 03002825 */ move $a1, $t8 -/* 06DCC0 7F039190 1020000A */ beqz $at, .L7F0391BC -/* 06DCC4 7F039194 01401825 */ move $v1, $t2 -/* 06DCC8 7F039198 000AC880 */ sll $t9, $t2, 2 -/* 06DCCC 7F03919C 032AC823 */ subu $t9, $t9, $t2 -/* 06DCD0 7F0391A0 0019C880 */ sll $t9, $t9, 2 -/* 06DCD4 7F0391A4 3C0D8007 */ lui $t5, %hi(ptr_0xxxpresets) -/* 06DCD8 7F0391A8 8DAD5D18 */ lw $t5, %lo(ptr_0xxxpresets)($t5) -/* 06DCDC 7F0391AC 032AC823 */ subu $t9, $t9, $t2 -/* 06DCE0 7F0391B0 0019C880 */ sll $t9, $t9, 2 -/* 06DCE4 7F0391B4 1000000A */ b .L7F0391E0 -/* 06DCE8 7F0391B8 032D2021 */ addu $a0, $t9, $t5 -.L7F0391BC: -/* 06DCEC 7F0391BC 3C0F8007 */ lui $t7, %hi(ptr_2xxxpresets) -/* 06DCF0 7F0391C0 8DEF5D1C */ lw $t7, %lo(ptr_2xxxpresets)($t7) -/* 06DCF4 7F0391C4 00037100 */ sll $t6, $v1, 4 -/* 06DCF8 7F0391C8 01C37021 */ addu $t6, $t6, $v1 -/* 06DCFC 7F0391CC 000E7080 */ sll $t6, $t6, 2 -/* 06DD00 7F0391D0 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06DD04 7F0391D4 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06DD08 7F0391D8 01CF2021 */ addu $a0, $t6, $t7 -/* 06DD0C 7F0391DC 00812021 */ addu $a0, $a0, $at -.L7F0391E0: -/* 06DD10 7F0391E0 82230001 */ lb $v1, 1($s1) -/* 06DD14 7F0391E4 0460001B */ bltz $v1, .L7F039254 -/* 06DD18 7F0391E8 28610008 */ slti $at, $v1, 8 -/* 06DD1C 7F0391EC 5020001A */ beql $at, $zero, .L7F039258 -/* 06DD20 7F0391F0 26520006 */ addiu $s2, $s2, 6 -/* 06DD24 7F0391F4 10800017 */ beqz $a0, .L7F039254 -/* 06DD28 7F0391F8 00035080 */ sll $t2, $v1, 2 -/* 06DD2C 7F0391FC 01435023 */ subu $t2, $t2, $v1 -/* 06DD30 7F039200 000A50C0 */ sll $t2, $t2, 3 -/* 06DD34 7F039204 3C018007 */ lui $at, %hi(sfx_related+8) -/* 06DD38 7F039208 002A0821 */ addu $at, $at, $t2 -/* 06DD3C 7F03920C AC259B78 */ sw $a1, %lo(sfx_related+8)($at) -/* 06DD40 7F039210 82290001 */ lb $t1, 1($s1) -/* 06DD44 7F039214 3C018007 */ lui $at, %hi(sfx_related+16) -/* 06DD48 7F039218 00096080 */ sll $t4, $t1, 2 -/* 06DD4C 7F03921C 01896023 */ subu $t4, $t4, $t1 -/* 06DD50 7F039220 000C60C0 */ sll $t4, $t4, 3 -/* 06DD54 7F039224 002C0821 */ addu $at, $at, $t4 -/* 06DD58 7F039228 AC249B80 */ sw $a0, %lo(sfx_related+16)($at) -/* 06DD5C 7F03922C 822B0001 */ lb $t3, 1($s1) -/* 06DD60 7F039230 3C018007 */ lui $at, %hi(sfx_related+20) -/* 06DD64 7F039234 000BC080 */ sll $t8, $t3, 2 -/* 06DD68 7F039238 030BC023 */ subu $t8, $t8, $t3 -/* 06DD6C 7F03923C 0018C0C0 */ sll $t8, $t8, 3 -/* 06DD70 7F039240 00380821 */ addu $at, $at, $t8 -/* 06DD74 7F039244 14A00003 */ bnez $a1, .L7F039254 -/* 06DD78 7F039248 AC209B84 */ sw $zero, %lo(sfx_related+20)($at) -/* 06DD7C 7F03924C 0FC0D1E8 */ jal set_sound_effect_source_to_location -/* 06DD80 7F039250 82240001 */ lb $a0, 1($s1) -.L7F039254: -/* 06DD84 7F039254 26520006 */ addiu $s2, $s2, 6 -.L7F039258: -/* 06DD88 7F039258 1000F0CC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DD8C 7F03925C 26310006 */ addiu $s1, $s1, 6 -actionCA_If_Value_GreaterThan_Volume_7FFF_Max_RVL_5: -/* 06DD90 7F039260 92390002 */ lbu $t9, 2($s1) -/* 06DD94 7F039264 922E0003 */ lbu $t6, 3($s1) -/* 06DD98 7F039268 82230001 */ lb $v1, 1($s1) -/* 06DD9C 7F03926C 00196A00 */ sll $t5, $t9, 8 -/* 06DDA0 7F039270 01AE1025 */ or $v0, $t5, $t6 -/* 06DDA4 7F039274 00027C00 */ sll $t7, $v0, 0x10 -/* 06DDA8 7F039278 04600013 */ bltz $v1, .L7F0392C8 -/* 06DDAC 7F03927C 000F5403 */ sra $t2, $t7, 0x10 -/* 06DDB0 7F039280 28610008 */ slti $at, $v1, 8 -/* 06DDB4 7F039284 10200010 */ beqz $at, .L7F0392C8 -/* 06DDB8 7F039288 00034880 */ sll $t1, $v1, 2 -/* 06DDBC 7F03928C 01234823 */ subu $t1, $t1, $v1 -/* 06DDC0 7F039290 000948C0 */ sll $t1, $t1, 3 -/* 06DDC4 7F039294 3C0C8007 */ lui $t4, %hi(sfx_related+4) -/* 06DDC8 7F039298 01896021 */ addu $t4, $t4, $t1 -/* 06DDCC 7F03929C 8D8C9B74 */ lw $t4, %lo(sfx_related+4)($t4) -/* 06DDD0 7F0392A0 02C02025 */ move $a0, $s6 -/* 06DDD4 7F0392A4 02402825 */ move $a1, $s2 -/* 06DDD8 7F0392A8 018A082A */ slt $at, $t4, $t2 -/* 06DDDC 7F0392AC 50200007 */ beql $at, $zero, .L7F0392CC -/* 06DDE0 7F0392B0 26520005 */ addiu $s2, $s2, 5 -/* 06DDE4 7F0392B4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06DDE8 7F0392B8 92260004 */ lbu $a2, 4($s1) -/* 06DDEC 7F0392BC 00409025 */ move $s2, $v0 -/* 06DDF0 7F0392C0 1000F0B2 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DDF4 7F0392C4 02C28821 */ addu $s1, $s6, $v0 -.L7F0392C8: -/* 06DDF8 7F0392C8 26520005 */ addiu $s2, $s2, 5 -.L7F0392CC: -/* 06DDFC 7F0392CC 1000F0AF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DE00 7F0392D0 26310005 */ addiu $s1, $s1, 5 -actionCB_Set_Object_Path_27_Type_Object_2: -/* 06DE04 7F0392D4 0FC0D50D */ jal get_ptr_path_for_pathnum -/* 06DE08 7F0392D8 92240001 */ lbu $a0, 1($s1) -/* 06DE0C 7F0392DC 8FAB07B0 */ lw $t3, 0x7b0($sp) -/* 06DE10 7F0392E0 26520002 */ addiu $s2, $s2, 2 -/* 06DE14 7F0392E4 11600003 */ beqz $t3, .L7F0392F4 -/* 06DE18 7F0392E8 00000000 */ nop -/* 06DE1C 7F0392EC AD6200A4 */ sw $v0, 0xa4($t3) -/* 06DE20 7F0392F0 AD6000A8 */ sw $zero, 0xa8($t3) -.L7F0392F4: -/* 06DE24 7F0392F4 1000F0A5 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DE28 7F0392F8 26310002 */ addiu $s1, $s1, 2 -actionCC_Set_Speed_Moving_Vehicle_27_Type_Object_5: -/* 06DE2C 7F0392FC 922F0001 */ lbu $t7, 1($s1) -/* 06DE30 7F039300 92290002 */ lbu $t1, 2($s1) -/* 06DE34 7F039304 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 06DE38 7F039308 000F5200 */ sll $t2, $t7, 8 -/* 06DE3C 7F03930C 01496025 */ or $t4, $t2, $t1 -/* 06DE40 7F039310 448C8000 */ mtc1 $t4, $f16 -/* 06DE44 7F039314 44812000 */ mtc1 $at, $f4 -/* 06DE48 7F039318 92380003 */ lbu $t8, 3($s1) -/* 06DE4C 7F03931C 46808220 */ cvt.s.w $f8, $f16 -/* 06DE50 7F039320 922D0004 */ lbu $t5, 4($s1) -/* 06DE54 7F039324 0018CA00 */ sll $t9, $t8, 8 -/* 06DE58 7F039328 8FAB07B0 */ lw $t3, 0x7b0($sp) -/* 06DE5C 7F03932C 3C014670 */ li $at, 0x46700000 # 15360.000000 -/* 06DE60 7F039330 032D7025 */ or $t6, $t9, $t5 -/* 06DE64 7F039334 46044182 */ mul.s $f6, $f8, $f4 -/* 06DE68 7F039338 448E9000 */ mtc1 $t6, $f18 -/* 06DE6C 7F03933C 44815000 */ mtc1 $at, $f10 -/* 06DE70 7F039340 26520005 */ addiu $s2, $s2, 5 -/* 06DE74 7F039344 46809020 */ cvt.s.w $f0, $f18 -/* 06DE78 7F039348 11600003 */ beqz $t3, .L7F039358 -/* 06DE7C 7F03934C 460A3083 */ div.s $f2, $f6, $f10 -/* 06DE80 7F039350 E5620094 */ swc1 $f2, 0x94($t3) -/* 06DE84 7F039354 E5600098 */ swc1 $f0, 0x98($t3) -.L7F039358: -/* 06DE88 7F039358 1000F08C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DE8C 7F03935C 26310005 */ addiu $s1, $s1, 5 -actionCD_Set_Speed_Aircraft_Rotor_5: -/* 06DE90 7F039360 922F0001 */ lbu $t7, 1($s1) -/* 06DE94 7F039364 92290002 */ lbu $t1, 2($s1) -/* 06DE98 7F039368 92380003 */ lbu $t8, 3($s1) -/* 06DE9C 7F03936C 000F5200 */ sll $t2, $t7, 8 -/* 06DEA0 7F039370 01496025 */ or $t4, $t2, $t1 -/* 06DEA4 7F039374 448C8000 */ mtc1 $t4, $f16 -/* 06DEA8 7F039378 922D0004 */ lbu $t5, 4($s1) -/* 06DEAC 7F03937C 0018CA00 */ sll $t9, $t8, 8 -/* 06DEB0 7F039380 46808220 */ cvt.s.w $f8, $f16 -/* 06DEB4 7F039384 8FAB07AC */ lw $t3, 0x7ac($sp) -/* 06DEB8 7F039388 3C014561 */ li $at, 0x45610000 # 3600.000000 -/* 06DEBC 7F03938C 032D7025 */ or $t6, $t9, $t5 -/* 06DEC0 7F039390 448E9000 */ mtc1 $t6, $f18 -/* 06DEC4 7F039394 44813000 */ mtc1 $at, $f6 -/* 06DEC8 7F039398 461A4102 */ mul.s $f4, $f8, $f26 -/* 06DECC 7F03939C 26520005 */ addiu $s2, $s2, 5 -/* 06DED0 7F0393A0 46809020 */ cvt.s.w $f0, $f18 -/* 06DED4 7F0393A4 11600003 */ beqz $t3, .L7F0393B4 -/* 06DED8 7F0393A8 46062083 */ div.s $f2, $f4, $f6 -/* 06DEDC 7F0393AC E5620090 */ swc1 $f2, 0x90($t3) -/* 06DEE0 7F0393B0 E5600094 */ swc1 $f0, 0x94($t3) -.L7F0393B4: -/* 06DEE4 7F0393B4 1000F075 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DEE8 7F0393B8 26310005 */ addiu $s1, $s1, 5 -actionCE_Detect_If_Currently_In_Intro_Camera_RVL_If_So_2: -/* 06DEEC 7F0393BC 0FC1E94A */ jal get_camera_mode -/* 06DEF0 7F0393C0 00000000 */ nop -/* 06DEF4 7F0393C4 24010001 */ li $at, 1 -/* 06DEF8 7F0393C8 50410006 */ beql $v0, $at, .L7F0393E4 -/* 06DEFC 7F0393CC 02C02025 */ move $a0, $s6 -/* 06DF00 7F0393D0 0FC1E94A */ jal get_camera_mode -/* 06DF04 7F0393D4 00000000 */ nop -/* 06DF08 7F0393D8 24010002 */ li $at, 2 -/* 06DF0C 7F0393DC 14410007 */ bne $v0, $at, .L7F0393FC -/* 06DF10 7F0393E0 02C02025 */ move $a0, $s6 -.L7F0393E4: -/* 06DF14 7F0393E4 02402825 */ move $a1, $s2 -/* 06DF18 7F0393E8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06DF1C 7F0393EC 92260001 */ lbu $a2, 1($s1) -/* 06DF20 7F0393F0 00409025 */ move $s2, $v0 -/* 06DF24 7F0393F4 1000F065 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DF28 7F0393F8 02C28821 */ addu $s1, $s6, $v0 -.L7F0393FC: -/* 06DF2C 7F0393FC 26520002 */ addiu $s2, $s2, 2 -/* 06DF30 7F039400 1000F062 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DF34 7F039404 26310002 */ addiu $s1, $s1, 2 -actionCF_Detect_If_Currently_In_Intro_Swirl_RVL_If_So_2: -/* 06DF38 7F039408 0FC1E94A */ jal get_camera_mode -/* 06DF3C 7F03940C 00000000 */ nop -/* 06DF40 7F039410 24010003 */ li $at, 3 -/* 06DF44 7F039414 14410007 */ bne $v0, $at, .L7F039434 -/* 06DF48 7F039418 02C02025 */ move $a0, $s6 -/* 06DF4C 7F03941C 02402825 */ move $a1, $s2 -/* 06DF50 7F039420 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06DF54 7F039424 92260001 */ lbu $a2, 1($s1) -/* 06DF58 7F039428 00409025 */ move $s2, $v0 -/* 06DF5C 7F03942C 1000F057 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DF60 7F039430 02C28821 */ addu $s1, $s6, $v0 -.L7F039434: -/* 06DF64 7F039434 26520002 */ addiu $s2, $s2, 2 -/* 06DF68 7F039438 1000F054 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DF6C 7F03943C 26310002 */ addiu $s1, $s1, 2 -actionD0_Change_Animation_Type_Of_Type_16_Monitor_4: -/* 06DF70 7F039440 0FC15C30 */ jal get_handle_to_tagged_object -/* 06DF74 7F039444 92240001 */ lbu $a0, 1($s1) -/* 06DF78 7F039448 1040001D */ beqz $v0, .L7F0394C0 -/* 06DF7C 7F03944C 00403025 */ move $a2, $v0 -/* 06DF80 7F039450 8C580010 */ lw $t8, 0x10($v0) -/* 06DF84 7F039454 5300001B */ beql $t8, $zero, .L7F0394C4 -/* 06DF88 7F039458 26520004 */ addiu $s2, $s2, 4 -/* 06DF8C 7F03945C 90430003 */ lbu $v1, 3($v0) -/* 06DF90 7F039460 2401000A */ li $at, 10 -/* 06DF94 7F039464 24440080 */ addiu $a0, $v0, 0x80 -/* 06DF98 7F039468 54610007 */ bnel $v1, $at, .L7F039488 -/* 06DF9C 7F03946C 2401000B */ li $at, 11 -/* 06DFA0 7F039470 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 06DFA4 7F039474 92250003 */ lbu $a1, 3($s1) -/* 06DFA8 7F039478 26520004 */ addiu $s2, $s2, 4 -/* 06DFAC 7F03947C 1000F043 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DFB0 7F039480 26310004 */ addiu $s1, $s1, 4 -/* 06DFB4 7F039484 2401000B */ li $at, 11 -.L7F039488: -/* 06DFB8 7F039488 5461000E */ bnel $v1, $at, .L7F0394C4 -/* 06DFBC 7F03948C 26520004 */ addiu $s2, $s2, 4 -/* 06DFC0 7F039490 92220002 */ lbu $v0, 2($s1) -/* 06DFC4 7F039494 28410004 */ slti $at, $v0, 4 -/* 06DFC8 7F039498 10200009 */ beqz $at, .L7F0394C0 -/* 06DFCC 7F03949C 0002C8C0 */ sll $t9, $v0, 3 -/* 06DFD0 7F0394A0 0322C823 */ subu $t9, $t9, $v0 -/* 06DFD4 7F0394A4 0019C880 */ sll $t9, $t9, 2 -/* 06DFD8 7F0394A8 0322C821 */ addu $t9, $t9, $v0 -/* 06DFDC 7F0394AC 0019C880 */ sll $t9, $t9, 2 -/* 06DFE0 7F0394B0 00D92021 */ addu $a0, $a2, $t9 -/* 06DFE4 7F0394B4 24840080 */ addiu $a0, $a0, 0x80 -/* 06DFE8 7F0394B8 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 06DFEC 7F0394BC 92250003 */ lbu $a1, 3($s1) -.L7F0394C0: -/* 06DFF0 7F0394C0 26520004 */ addiu $s2, $s2, 4 -.L7F0394C4: -/* 06DFF4 7F0394C4 1000F031 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06DFF8 7F0394C8 26310004 */ addiu $s1, $s1, 4 -actionD1_If_Bond_In_Tank_RVL_2: -/* 06DFFC 7F0394CC 0FC1F39E */ jal get_intank_flag -/* 06E000 7F0394D0 00000000 */ nop -/* 06E004 7F0394D4 24010001 */ li $at, 1 -/* 06E008 7F0394D8 14410007 */ bne $v0, $at, .L7F0394F8 -/* 06E00C 7F0394DC 02C02025 */ move $a0, $s6 -/* 06E010 7F0394E0 02402825 */ move $a1, $s2 -/* 06E014 7F0394E4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E018 7F0394E8 92260001 */ lbu $a2, 1($s1) -/* 06E01C 7F0394EC 00409025 */ move $s2, $v0 -/* 06E020 7F0394F0 1000F026 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E024 7F0394F4 02C28821 */ addu $s1, $s6, $v0 -.L7F0394F8: -/* 06E028 7F0394F8 26520002 */ addiu $s2, $s2, 2 -/* 06E02C 7F0394FC 1000F023 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E030 7F039500 26310002 */ addiu $s1, $s1, 2 -actionD2_Exit_Level_1: -/* 06E034 7F039504 3C0D8003 */ lui $t5, %hi(camera_8003642C) -/* 06E038 7F039508 8DAD642C */ lw $t5, %lo(camera_8003642C)($t5) -/* 06E03C 7F03950C 3C0E8003 */ lui $t6, %hi(camera_80036434) -/* 06E040 7F039510 11A0000A */ beqz $t5, .L7F03953C -/* 06E044 7F039514 00000000 */ nop -/* 06E048 7F039518 8DCE6434 */ lw $t6, %lo(camera_80036434)($t6) -/* 06E04C 7F03951C 240F0001 */ li $t7, 1 -/* 06E050 7F039520 3C018003 */ lui $at, %hi(camera_80036434) -/* 06E054 7F039524 55C00008 */ bnezl $t6, .L7F039548 -/* 06E058 7F039528 26520001 */ addiu $s2, $s2, 1 -/* 06E05C 7F03952C AC2F6434 */ sw $t7, %lo(camera_80036434)($at) -/* 06E060 7F039530 26520001 */ addiu $s2, $s2, 1 -/* 06E064 7F039534 1000F015 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E068 7F039538 26310001 */ addiu $s1, $s1, 1 -.L7F03953C: -/* 06E06C 7F03953C 0C001A5A */ jal return_to_title_from_level_end -/* 06E070 7F039540 00000000 */ nop -/* 06E074 7F039544 26520001 */ addiu $s2, $s2, 1 -.L7F039548: -/* 06E078 7F039548 1000F010 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E07C 7F03954C 26310001 */ addiu $s1, $s1, 1 -actionD3_Return_From_Camera_Scene_1: -/* 06E080 7F039550 0FC1EA6E */ jal set_camera_mode -/* 06E084 7F039554 24040008 */ li $a0, 8 -/* 06E088 7F039558 26520001 */ addiu $s2, $s2, 1 -/* 06E08C 7F03955C 1000F00B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E090 7F039560 26310001 */ addiu $s1, $s1, 1 -actionD4_Camera_Looks_At_Bond_From_Preset_3: -/* 06E094 7F039564 922A0001 */ lbu $t2, 1($s1) -/* 06E098 7F039568 922C0002 */ lbu $t4, 2($s1) -/* 06E09C 7F03956C 3C0F8007 */ lui $t7, %hi(ptr_2xxxpresets) -/* 06E0A0 7F039570 000A4A00 */ sll $t1, $t2, 8 -/* 06E0A4 7F039574 012C1025 */ or $v0, $t1, $t4 -/* 06E0A8 7F039578 304BFFFF */ andi $t3, $v0, 0xffff -/* 06E0AC 7F03957C 29612710 */ slti $at, $t3, 0x2710 -/* 06E0B0 7F039580 1020000C */ beqz $at, .L7F0395B4 -/* 06E0B4 7F039584 01601825 */ move $v1, $t3 -/* 06E0B8 7F039588 000BC080 */ sll $t8, $t3, 2 -/* 06E0BC 7F03958C 030BC023 */ subu $t8, $t8, $t3 -/* 06E0C0 7F039590 3C198007 */ lui $t9, %hi(ptr_0xxxpresets) -/* 06E0C4 7F039594 8F395D18 */ lw $t9, %lo(ptr_0xxxpresets)($t9) -/* 06E0C8 7F039598 0018C080 */ sll $t8, $t8, 2 -/* 06E0CC 7F03959C 030BC023 */ subu $t8, $t8, $t3 -/* 06E0D0 7F0395A0 0018C080 */ sll $t8, $t8, 2 -/* 06E0D4 7F0395A4 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F8) -/* 06E0D8 7F0395A8 03196821 */ addu $t5, $t8, $t9 -/* 06E0DC 7F0395AC 1000000B */ b .L7F0395DC -/* 06E0E0 7F0395B0 AC2D99F8 */ sw $t5, %lo(dword_CODE_bss_800799F8)($at) -.L7F0395B4: -/* 06E0E4 7F0395B4 8DEF5D1C */ lw $t7, %lo(ptr_2xxxpresets)($t7) -/* 06E0E8 7F0395B8 00037100 */ sll $t6, $v1, 4 -/* 06E0EC 7F0395BC 01C37021 */ addu $t6, $t6, $v1 -/* 06E0F0 7F0395C0 000E7080 */ sll $t6, $t6, 2 -/* 06E0F4 7F0395C4 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06E0F8 7F0395C8 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06E0FC 7F0395CC 01CF5021 */ addu $t2, $t6, $t7 -/* 06E100 7F0395D0 01414821 */ addu $t1, $t2, $at -/* 06E104 7F0395D4 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F8) -/* 06E108 7F0395D8 AC2999F8 */ sw $t1, %lo(dword_CODE_bss_800799F8)($at) -.L7F0395DC: -/* 06E10C 7F0395DC 0FC1EA6E */ jal set_camera_mode -/* 06E110 7F0395E0 24040007 */ li $a0, 7 -/* 06E114 7F0395E4 26520003 */ addiu $s2, $s2, 3 -/* 06E118 7F0395E8 1000EFE8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E11C 7F0395EC 26310003 */ addiu $s1, $s1, 3 -actionD5_Go_To_Camera_Position_6: -/* 06E120 7F0395F0 0FC15C20 */ jal sub_GAME_7F057080 -/* 06E124 7F0395F4 92240001 */ lbu $a0, 1($s1) -/* 06E128 7F0395F8 1040001A */ beqz $v0, .L7F039664 -/* 06E12C 7F0395FC 00408025 */ move $s0, $v0 -/* 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 -/* 06E140 7F039610 860C0006 */ lh $t4, 6($s0) -/* 06E144 7F039614 0FC15AA2 */ jal sub_GAME_7F056A88 -/* 06E148 7F039618 01822021 */ addu $a0, $t4, $v0 -/* 06E14C 7F03961C 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F8) -/* 06E150 7F039620 AC2099F8 */ sw $zero, %lo(dword_CODE_bss_800799F8)($at) -/* 06E154 7F039624 3C018008 */ lui $at, %hi(dword_CODE_bss_800799FC) -/* 06E158 7F039628 AC2299FC */ sw $v0, %lo(dword_CODE_bss_800799FC)($at) -/* 06E15C 7F03962C 922B0002 */ lbu $t3, 2($s1) -/* 06E160 7F039630 92390003 */ lbu $t9, 3($s1) -/* 06E164 7F039634 3C018008 */ lui $at, %hi(dword_CODE_bss_80079A18) -/* 06E168 7F039638 000BC200 */ sll $t8, $t3, 8 -/* 06E16C 7F03963C 03196825 */ or $t5, $t8, $t9 -/* 06E170 7F039640 AC2D9A18 */ sw $t5, %lo(dword_CODE_bss_80079A18)($at) -/* 06E174 7F039644 922E0004 */ lbu $t6, 4($s1) -/* 06E178 7F039648 922A0005 */ lbu $t2, 5($s1) -/* 06E17C 7F03964C 3C018008 */ lui $at, %hi(dword_CODE_bss_80079A1C) -/* 06E180 7F039650 000E7A00 */ sll $t7, $t6, 8 -/* 06E184 7F039654 01EA4825 */ or $t1, $t7, $t2 -/* 06E188 7F039658 AC299A1C */ sw $t1, %lo(dword_CODE_bss_80079A1C)($at) -/* 06E18C 7F03965C 0FC1EA6E */ jal set_camera_mode -/* 06E190 7F039660 24040007 */ li $a0, 7 -.L7F039664: -/* 06E194 7F039664 26520006 */ addiu $s2, $s2, 6 -.L7F039668: -/* 06E198 7F039668 1000EFC8 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E19C 7F03966C 26310006 */ addiu $s1, $s1, 6 -actionD6_If_Less_Than_Elevation_RVL_4: -/* 06E1A0 7F039670 922C0001 */ lbu $t4, 1($s1) -/* 06E1A4 7F039674 92380002 */ lbu $t8, 2($s1) -/* 06E1A8 7F039678 000C5A00 */ sll $t3, $t4, 8 -/* 06E1AC 7F03967C 0178C825 */ or $t9, $t3, $t8 -/* 06E1B0 7F039680 00196C00 */ sll $t5, $t9, 0x10 -/* 06E1B4 7F039684 000D7403 */ sra $t6, $t5, 0x10 -/* 06E1B8 7F039688 448E5000 */ mtc1 $t6, $f10 -/* 06E1BC 7F03968C 00000000 */ nop -/* 06E1C0 7F039690 468054A0 */ cvt.s.w $f18, $f10 -/* 06E1C4 7F039694 0FC225E6 */ jal get_curplayer_positiondata -/* 06E1C8 7F039698 E7B2014C */ swc1 $f18, 0x14c($sp) -/* 06E1CC 7F03969C C450000C */ lwc1 $f16, 0xc($v0) -/* 06E1D0 7F0396A0 C7A8014C */ lwc1 $f8, 0x14c($sp) -/* 06E1D4 7F0396A4 02C02025 */ move $a0, $s6 -/* 06E1D8 7F0396A8 02402825 */ move $a1, $s2 -/* 06E1DC 7F0396AC 4608803C */ c.lt.s $f16, $f8 -/* 06E1E0 7F0396B0 00000000 */ nop -/* 06E1E4 7F0396B4 45020007 */ bc1fl .L7F0396D4 -/* 06E1E8 7F0396B8 26520004 */ addiu $s2, $s2, 4 -/* 06E1EC 7F0396BC 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E1F0 7F0396C0 92260003 */ lbu $a2, 3($s1) -/* 06E1F4 7F0396C4 00409025 */ move $s2, $v0 -/* 06E1F8 7F0396C8 1000EFB0 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E1FC 7F0396CC 02C28821 */ addu $s1, $s6, $v0 -/* 06E200 7F0396D0 26520004 */ addiu $s2, $s2, 4 -.L7F0396D4: -/* 06E204 7F0396D4 1000EFAD */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E208 7F0396D8 26310004 */ addiu $s1, $s1, 4 -actionD7_Disable_Text_Variable_2: -/* 06E20C 7F0396DC 24040004 */ li $a0, 4 -/* 06E210 7F0396E0 0FC1A96A */ jal set_unset_bitflags -/* 06E214 7F0396E4 00002825 */ move $a1, $zero -/* 06E218 7F0396E8 24040002 */ li $a0, 2 -/* 06E21C 7F0396EC 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 06E220 7F0396F0 00002825 */ move $a1, $zero -/* 06E224 7F0396F4 92250001 */ lbu $a1, 1($s1) -/* 06E228 7F0396F8 30AF0002 */ andi $t7, $a1, 2 -/* 06E22C 7F0396FC 55E00005 */ bnezl $t7, .L7F039714 -/* 06E230 7F039700 30AA0001 */ andi $t2, $a1, 1 -/* 06E234 7F039704 0FC228E7 */ jal set_flags_in_BONDdata_stationary_intro_cam -/* 06E238 7F039708 24040002 */ li $a0, 2 -/* 06E23C 7F03970C 92250001 */ lbu $a1, 1($s1) -/* 06E240 7F039710 30AA0001 */ andi $t2, $a1, 1 -.L7F039714: -/* 06E244 7F039714 55400005 */ bnezl $t2, .L7F03972C -/* 06E248 7F039718 30A90004 */ andi $t1, $a1, 4 -/* 06E24C 7F03971C 0FC22A51 */ jal sub_GAME_7F08A944 -/* 06E250 7F039720 24040002 */ li $a0, 2 -/* 06E254 7F039724 92250001 */ lbu $a1, 1($s1) -/* 06E258 7F039728 30A90004 */ andi $t1, $a1, 4 -.L7F03972C: -/* 06E25C 7F03972C 15200003 */ bnez $t1, .L7F03973C -/* 06E260 7F039730 24040010 */ li $a0, 16 -/* 06E264 7F039734 0FC15858 */ jal set_unset_clock_lock_bits -/* 06E268 7F039738 00002825 */ move $a1, $zero -.L7F03973C: -/* 06E26C 7F03973C 3C018003 */ lui $at, %hi(D_800364B0) -/* 06E270 7F039740 AC2064B0 */ sw $zero, %lo(D_800364B0)($at) -/* 06E274 7F039744 26520002 */ addiu $s2, $s2, 2 -/* 06E278 7F039748 1000EF90 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E27C 7F03974C 26310002 */ addiu $s1, $s1, 2 -actionD8_Enable_All_On_Screen_Displays_1: -/* 06E280 7F039750 24040004 */ li $a0, 4 -/* 06E284 7F039754 0FC1A96A */ jal set_unset_bitflags -/* 06E288 7F039758 24050001 */ li $a1, 1 -/* 06E28C 7F03975C 24040002 */ li $a0, 2 -/* 06E290 7F039760 0FC1A43D */ jal set_unset_ammo_on_screen_setting -/* 06E294 7F039764 24050001 */ li $a1, 1 -/* 06E298 7F039768 0FC228E0 */ jal unset_flags_in_BONDdata_stationary_intro_cam -/* 06E29C 7F03976C 24040002 */ li $a0, 2 -/* 06E2A0 7F039770 0FC22A4A */ jal sub_GAME_7F08A928 -/* 06E2A4 7F039774 24040002 */ li $a0, 2 -/* 06E2A8 7F039778 24040010 */ li $a0, 16 -/* 06E2AC 7F03977C 0FC15858 */ jal set_unset_clock_lock_bits -/* 06E2B0 7F039780 24050001 */ li $a1, 1 -/* 06E2B4 7F039784 240C0001 */ li $t4, 1 -/* 06E2B8 7F039788 3C018003 */ lui $at, %hi(D_800364B0) -/* 06E2BC 7F03978C AC2C64B0 */ sw $t4, %lo(D_800364B0)($at) -/* 06E2C0 7F039790 26520001 */ addiu $s2, $s2, 1 -/* 06E2C4 7F039794 1000EF7D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E2C8 7F039798 26310001 */ addiu $s1, $s1, 1 -actionD9_GuardIDMovedToPresetReturnLoopIfSuccessful_5: -/* 06E2CC 7F03979C 922B0002 */ lbu $t3, 2($s1) -/* 06E2D0 7F0397A0 92390003 */ lbu $t9, 3($s1) -/* 06E2D4 7F0397A4 02E02025 */ move $a0, $s7 -/* 06E2D8 7F0397A8 000BC200 */ sll $t8, $t3, 8 -/* 06E2DC 7F0397AC 92250001 */ lbu $a1, 1($s1) -/* 06E2E0 7F0397B0 0000A025 */ move $s4, $zero -/* 06E2E4 7F0397B4 0FC0CC10 */ jal get_handle_for_guard_id -/* 06E2E8 7F0397B8 03199825 */ or $s3, $t8, $t9 -/* 06E2EC 7F0397BC 1040005E */ beqz $v0, .L7F039938 -/* 06E2F0 7F0397C0 00408025 */ move $s0, $v0 -/* 06E2F4 7F0397C4 02E02025 */ move $a0, $s7 -/* 06E2F8 7F0397C8 0FC0CBE5 */ jal sub_GAME_7F032F94 -/* 06E2FC 7F0397CC 02602825 */ move $a1, $s3 -/* 06E300 7F0397D0 28412710 */ slti $at, $v0, 0x2710 -/* 06E304 7F0397D4 1020000A */ beqz $at, .L7F039800 -/* 06E308 7F0397D8 00027900 */ sll $t7, $v0, 4 -/* 06E30C 7F0397DC 00026880 */ sll $t5, $v0, 2 -/* 06E310 7F0397E0 01A26823 */ subu $t5, $t5, $v0 -/* 06E314 7F0397E4 000D6880 */ sll $t5, $t5, 2 -/* 06E318 7F0397E8 3C0E8007 */ lui $t6, %hi(ptr_0xxxpresets) -/* 06E31C 7F0397EC 8DCE5D18 */ lw $t6, %lo(ptr_0xxxpresets)($t6) -/* 06E320 7F0397F0 01A26823 */ subu $t5, $t5, $v0 -/* 06E324 7F0397F4 000D6880 */ sll $t5, $t5, 2 -/* 06E328 7F0397F8 10000009 */ b .L7F039820 -/* 06E32C 7F0397FC 01AE1821 */ addu $v1, $t5, $t6 -.L7F039800: -/* 06E330 7F039800 3C0A8007 */ lui $t2, %hi(ptr_2xxxpresets) -/* 06E334 7F039804 8D4A5D1C */ lw $t2, %lo(ptr_2xxxpresets)($t2) -/* 06E338 7F039808 01E27821 */ addu $t7, $t7, $v0 -/* 06E33C 7F03980C 000F7880 */ sll $t7, $t7, 2 -/* 06E340 7F039810 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06E344 7F039814 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06E348 7F039818 01EA1821 */ addu $v1, $t7, $t2 -/* 06E34C 7F03981C 00611821 */ addu $v1, $v1, $at -.L7F039820: -/* 06E350 7F039820 C46C0018 */ lwc1 $f12, 0x18($v1) -/* 06E354 7F039824 C46E0020 */ lwc1 $f14, 0x20($v1) -/* 06E358 7F039828 0FC16A8C */ jal convert_angle_using_inverse -/* 06E35C 7F03982C AFA30134 */ sw $v1, 0x134($sp) -/* 06E360 7F039830 8FA30134 */ lw $v1, 0x134($sp) -/* 06E364 7F039834 E7A00130 */ swc1 $f0, 0x130($sp) -/* 06E368 7F039838 00002825 */ move $a1, $zero -/* 06E36C 7F03983C C4640000 */ lwc1 $f4, ($v1) -/* 06E370 7F039840 E7A40124 */ swc1 $f4, 0x124($sp) -/* 06E374 7F039844 C4660004 */ lwc1 $f6, 4($v1) -/* 06E378 7F039848 E7A60128 */ swc1 $f6, 0x128($sp) -/* 06E37C 7F03984C C46A0008 */ lwc1 $f10, 8($v1) -/* 06E380 7F039850 E7AA012C */ swc1 $f10, 0x12c($sp) -/* 06E384 7F039854 8C690028 */ lw $t1, 0x28($v1) -/* 06E388 7F039858 AFA90120 */ sw $t1, 0x120($sp) -/* 06E38C 7F03985C 0FC0F416 */ jal sub_GAME_7F03D058 -/* 06E390 7F039860 8E040018 */ lw $a0, 0x18($s0) -/* 06E394 7F039864 27A40124 */ addiu $a0, $sp, 0x124 -/* 06E398 7F039868 27A50120 */ addiu $a1, $sp, 0x120 -/* 06E39C 7F03986C 8FA60130 */ lw $a2, 0x130($sp) -/* 06E3A0 7F039870 0FC0CFD2 */ jal sub_GAME_7F033F48 -/* 06E3A4 7F039874 24070001 */ li $a3, 1 -/* 06E3A8 7F039878 1040002C */ beqz $v0, .L7F03992C -/* 06E3AC 7F03987C C7B20124 */ lwc1 $f18, 0x124($sp) -/* 06E3B0 7F039880 8E0C0018 */ lw $t4, 0x18($s0) -/* 06E3B4 7F039884 E5920008 */ swc1 $f18, 8($t4) -/* 06E3B8 7F039888 8E0B0018 */ lw $t3, 0x18($s0) -/* 06E3BC 7F03988C C7B00128 */ lwc1 $f16, 0x128($sp) -/* 06E3C0 7F039890 E570000C */ swc1 $f16, 0xc($t3) -/* 06E3C4 7F039894 8E180018 */ lw $t8, 0x18($s0) -/* 06E3C8 7F039898 C7A8012C */ lwc1 $f8, 0x12c($sp) -/* 06E3CC 7F03989C E7080010 */ swc1 $f8, 0x10($t8) -/* 06E3D0 7F0398A0 8E0D0018 */ lw $t5, 0x18($s0) -/* 06E3D4 7F0398A4 8FB90120 */ lw $t9, 0x120($sp) -/* 06E3D8 7F0398A8 ADB90014 */ sw $t9, 0x14($t5) -/* 06E3DC 7F0398AC 8E0E0014 */ lw $t6, 0x14($s0) -/* 06E3E0 7F0398B0 8E04001C */ lw $a0, 0x1c($s0) -/* 06E3E4 7F0398B4 35CF0001 */ ori $t7, $t6, 1 -/* 06E3E8 7F0398B8 AE0F0014 */ sw $t7, 0x14($s0) -/* 06E3EC 7F0398BC 0FC1B34F */ jal setsubroty -/* 06E3F0 7F0398C0 8FA50130 */ lw $a1, 0x130($sp) -/* 06E3F4 7F0398C4 8E04001C */ lw $a0, 0x1c($s0) -/* 06E3F8 7F0398C8 0FC1B303 */ jal setsuboffset -/* 06E3FC 7F0398CC 27A50124 */ addiu $a1, $sp, 0x124 -/* 06E400 7F0398D0 0FC08365 */ jal sub_GAME_7F020D94 -/* 06E404 7F0398D4 02002025 */ move $a0, $s0 -/* 06E408 7F0398D8 3C028008 */ lui $v0, %hi(pPlayer) -/* 06E40C 7F0398DC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 06E410 7F0398E0 8E090018 */ lw $t1, 0x18($s0) -/* 06E414 7F0398E4 C7A40124 */ lwc1 $f4, 0x124($sp) -/* 06E418 7F0398E8 8C4A00A8 */ lw $t2, 0xa8($v0) -/* 06E41C 7F0398EC 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 06E420 7F0398F0 24140001 */ li $s4, 1 -/* 06E424 7F0398F4 1549000D */ bne $t2, $t1, .L7F03992C -/* 06E428 7F0398F8 00000000 */ nop -/* 06E42C 7F0398FC E444048C */ swc1 $f4, 0x48c($v0) -/* 06E430 7F039900 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 06E434 7F039904 C7A60128 */ lwc1 $f6, 0x128($sp) -/* 06E438 7F039908 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 06E43C 7F03990C 3C198008 */ lui $t9, %hi(pPlayer) -/* 06E440 7F039910 E5860490 */ swc1 $f6, 0x490($t4) -/* 06E444 7F039914 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 06E448 7F039918 C7AA012C */ lwc1 $f10, 0x12c($sp) -/* 06E44C 7F03991C E56A0494 */ swc1 $f10, 0x494($t3) -/* 06E450 7F039920 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 06E454 7F039924 8FB80120 */ lw $t8, 0x120($sp) -/* 06E458 7F039928 AF380488 */ sw $t8, 0x488($t9) -.L7F03992C: -/* 06E45C 7F03992C 8E040018 */ lw $a0, 0x18($s0) -/* 06E460 7F039930 0FC0F416 */ jal sub_GAME_7F03D058 -/* 06E464 7F039934 24050001 */ li $a1, 1 -.L7F039938: -/* 06E468 7F039938 12800007 */ beqz $s4, .L7F039958 -/* 06E46C 7F03993C 02C02025 */ move $a0, $s6 -/* 06E470 7F039940 02402825 */ move $a1, $s2 -/* 06E474 7F039944 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E478 7F039948 92260004 */ lbu $a2, 4($s1) -/* 06E47C 7F03994C 00409025 */ move $s2, $v0 -/* 06E480 7F039950 1000EF0E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E484 7F039954 02C28821 */ addu $s1, $s6, $v0 -.L7F039958: -/* 06E488 7F039958 26520005 */ addiu $s2, $s2, 5 -/* 06E48C 7F03995C 1000EF0B */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E490 7F039960 26310005 */ addiu $s1, $s1, 5 -actionDA_Fade_Out_From_Cut_Scene_1: -/* 06E494 7F039964 3C0D8003 */ lui $t5, %hi(stop_time_flag) -/* 06E498 7F039968 8DAD64A0 */ lw $t5, %lo(stop_time_flag)($t5) -/* 06E49C 7F03996C 24010002 */ li $at, 2 -/* 06E4A0 7F039970 00002025 */ move $a0, $zero -/* 06E4A4 7F039974 11A10008 */ beq $t5, $at, .L7F039998 -/* 06E4A8 7F039978 00002825 */ move $a1, $zero -/* 06E4AC 7F03997C 4407A000 */ mfc1 $a3, $f20 -/* 06E4B0 7F039980 0FC201EC */ jal set_rgba_tint -/* 06E4B4 7F039984 00003025 */ move $a2, $zero -/* 06E4B8 7F039988 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06E4BC 7F03998C 44817000 */ mtc1 $at, $f14 -/* 06E4C0 7F039990 0FC20216 */ jal fade_to_over_seconds -/* 06E4C4 7F039994 4600B306 */ mov.s $f12, $f22 -.L7F039998: -/* 06E4C8 7F039998 26520001 */ addiu $s2, $s2, 1 -/* 06E4CC 7F03999C 1000EEFB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E4D0 7F0399A0 26310001 */ addiu $s1, $s1, 1 -actionDB_Fade_In_From_Black_Reset_DA_1: -/* 06E4D4 7F0399A4 3C0E8003 */ lui $t6, %hi(stop_time_flag) -/* 06E4D8 7F0399A8 8DCE64A0 */ lw $t6, %lo(stop_time_flag)($t6) -/* 06E4DC 7F0399AC 24010002 */ li $at, 2 -/* 06E4E0 7F0399B0 00002025 */ move $a0, $zero -/* 06E4E4 7F0399B4 11C10007 */ beq $t6, $at, .L7F0399D4 -/* 06E4E8 7F0399B8 00002825 */ move $a1, $zero -/* 06E4EC 7F0399BC 00003025 */ move $a2, $zero -/* 06E4F0 7F0399C0 0FC201EC */ jal set_rgba_tint -/* 06E4F4 7F0399C4 3C073F80 */ li $a3, 0x3F800000 # 1.000000 -/* 06E4F8 7F0399C8 4600B306 */ mov.s $f12, $f22 -/* 06E4FC 7F0399CC 0FC20216 */ jal fade_to_over_seconds -/* 06E500 7F0399D0 4600A386 */ mov.s $f14, $f20 -.L7F0399D4: -/* 06E504 7F0399D4 26520001 */ addiu $s2, $s2, 1 -/* 06E508 7F0399D8 1000EEEC */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E50C 7F0399DC 26310001 */ addiu $s1, $s1, 1 -actionDC_RVL_When_Fade_Complete_2: -/* 06E510 7F0399E0 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 06E514 7F0399E4 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 06E518 7F0399E8 02C02025 */ move $a0, $s6 -/* 06E51C 7F0399EC 02402825 */ move $a1, $s2 -/* 06E520 7F0399F0 C5F203E4 */ lwc1 $f18, 0x3e4($t7) -/* 06E524 7F0399F4 4614903C */ c.lt.s $f18, $f20 -/* 06E528 7F0399F8 00000000 */ nop -/* 06E52C 7F0399FC 45020007 */ bc1fl .L7F039A1C -/* 06E530 7F039A00 26520002 */ addiu $s2, $s2, 2 -/* 06E534 7F039A04 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E538 7F039A08 92260001 */ lbu $a2, 1($s1) -/* 06E53C 7F039A0C 00409025 */ move $s2, $v0 -/* 06E540 7F039A10 1000EEDE */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E544 7F039A14 02C28821 */ addu $s1, $s6, $v0 -/* 06E548 7F039A18 26520002 */ addiu $s2, $s2, 2 -.L7F039A1C: -/* 06E54C 7F039A1C 1000EEDB */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E550 7F039A20 26310002 */ addiu $s1, $s1, 2 -actionDD_Remove_All_Guards_1: -/* 06E554 7F039A24 0FC07D4C */ jal get_numguards -/* 06E558 7F039A28 00000000 */ nop -/* 06E55C 7F039A2C 2443FFFF */ addiu $v1, $v0, -1 -/* 06E560 7F039A30 04600011 */ bltz $v1, .L7F039A78 -/* 06E564 7F039A34 26520001 */ addiu $s2, $s2, 1 -/* 06E568 7F039A38 00031100 */ sll $v0, $v1, 4 -/* 06E56C 7F039A3C 00431023 */ subu $v0, $v0, $v1 -/* 06E570 7F039A40 000210C0 */ sll $v0, $v0, 3 -/* 06E574 7F039A44 00431023 */ subu $v0, $v0, $v1 -/* 06E578 7F039A48 00021080 */ sll $v0, $v0, 2 -/* 06E57C 7F039A4C 8FCA0000 */ lw $t2, ($fp) -.L7F039A50: -/* 06E580 7F039A50 01421821 */ addu $v1, $t2, $v0 -/* 06E584 7F039A54 8C69001C */ lw $t1, 0x1c($v1) -/* 06E588 7F039A58 2442FE24 */ addiu $v0, $v0, -0x1dc -/* 06E58C 7F039A5C 11200004 */ beqz $t1, .L7F039A70 -/* 06E590 7F039A60 00000000 */ nop -/* 06E594 7F039A64 8C6C0014 */ lw $t4, 0x14($v1) -/* 06E598 7F039A68 358B0400 */ ori $t3, $t4, 0x400 -/* 06E59C 7F039A6C AC6B0014 */ sw $t3, 0x14($v1) -.L7F039A70: -/* 06E5A0 7F039A70 0443FFF7 */ bgezl $v0, .L7F039A50 -/* 06E5A4 7F039A74 8FCA0000 */ lw $t2, ($fp) -.L7F039A78: -/* 06E5A8 7F039A78 1000EEC4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E5AC 7F039A7C 26310001 */ addiu $s1, $s1, 1 -actionDE_Bring_Removed_Guards_Back_1: -/* 06E5B0 7F039A80 0FC07D4C */ jal get_numguards -/* 06E5B4 7F039A84 00000000 */ nop -/* 06E5B8 7F039A88 2443FFFF */ addiu $v1, $v0, -1 -/* 06E5BC 7F039A8C 0460000E */ bltz $v1, .L7F039AC8 -/* 06E5C0 7F039A90 00602025 */ move $a0, $v1 -/* 06E5C4 7F039A94 00031900 */ sll $v1, $v1, 4 -/* 06E5C8 7F039A98 00641823 */ subu $v1, $v1, $a0 -/* 06E5CC 7F039A9C 000318C0 */ sll $v1, $v1, 3 -/* 06E5D0 7F039AA0 00641823 */ subu $v1, $v1, $a0 -/* 06E5D4 7F039AA4 00031880 */ sll $v1, $v1, 2 -/* 06E5D8 7F039AA8 2404FBFF */ li $a0, -1025 -.L7F039AAC: -/* 06E5DC 7F039AAC 8FD80000 */ lw $t8, ($fp) -/* 06E5E0 7F039AB0 03031021 */ addu $v0, $t8, $v1 -/* 06E5E4 7F039AB4 8C590014 */ lw $t9, 0x14($v0) -/* 06E5E8 7F039AB8 2463FE24 */ addiu $v1, $v1, -0x1dc -/* 06E5EC 7F039ABC 03246824 */ and $t5, $t9, $a0 -/* 06E5F0 7F039AC0 0461FFFA */ bgez $v1, .L7F039AAC -/* 06E5F4 7F039AC4 AC4D0014 */ sw $t5, 0x14($v0) -.L7F039AC8: -/* 06E5F8 7F039AC8 26520001 */ addiu $s2, $s2, 1 -/* 06E5FC 7F039ACC 1000EEAF */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E600 7F039AD0 26310001 */ addiu $s1, $s1, 1 -actionDF_Open_Type_16_Door_Used_Cut_Scenes_2: -/* 06E604 7F039AD4 0FC15C30 */ jal get_handle_to_tagged_object -/* 06E608 7F039AD8 92240001 */ lbu $a0, 1($s1) -/* 06E60C 7F039ADC 10400011 */ beqz $v0, .L7F039B24 -/* 06E610 7F039AE0 00402025 */ move $a0, $v0 -/* 06E614 7F039AE4 8C4E0010 */ lw $t6, 0x10($v0) -/* 06E618 7F039AE8 51C0000F */ beql $t6, $zero, .L7F039B28 -/* 06E61C 7F039AEC 26520002 */ addiu $s2, $s2, 2 -/* 06E620 7F039AF0 C4500084 */ lwc1 $f16, 0x84($v0) -/* 06E624 7F039AF4 E45400B8 */ swc1 $f20, 0xb8($v0) -/* 06E628 7F039AF8 3C0F8005 */ lui $t7, %hi(global_timer) -/* 06E62C 7F039AFC E45000B4 */ swc1 $f16, 0xb4($v0) -/* 06E630 7F039B00 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 06E634 7F039B04 A04000BC */ sb $zero, 0xbc($v0) -/* 06E638 7F039B08 AC4F00EC */ sw $t7, 0xec($v0) -/* 06E63C 7F039B0C 0FC14AC0 */ jal sub_GAME_7F052B00 -/* 06E640 7F039B10 AFA2010C */ sw $v0, 0x10c($sp) -/* 06E644 7F039B14 0FC14D66 */ jal sub_GAME_7F053598 -/* 06E648 7F039B18 8FA4010C */ lw $a0, 0x10c($sp) -/* 06E64C 7F039B1C 0FC14EC4 */ jal sub_GAME_7F053B10 -/* 06E650 7F039B20 8FA4010C */ lw $a0, 0x10c($sp) -.L7F039B24: -/* 06E654 7F039B24 26520002 */ addiu $s2, $s2, 2 -.L7F039B28: -/* 06E658 7F039B28 1000EE98 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E65C 7F039B2C 26310002 */ addiu $s1, $s1, 2 -actionE0_Guard_ID_Draws_Weapon_num_3: -/* 06E660 7F039B30 02E02025 */ move $a0, $s7 -/* 06E664 7F039B34 0FC0CC10 */ jal get_handle_for_guard_id -/* 06E668 7F039B38 92250001 */ lbu $a1, 1($s1) -/* 06E66C 7F039B3C 10400003 */ beqz $v0, .L7F039B4C -/* 06E670 7F039B40 00402025 */ move $a0, $v0 -/* 06E674 7F039B44 0FC1487A */ jal set_0x4_in_runtime_flags_for_item_in_guards_hand -/* 06E678 7F039B48 92250002 */ lbu $a1, 2($s1) -.L7F039B4C: -/* 06E67C 7F039B4C 26520003 */ addiu $s2, $s2, 3 -/* 06E680 7F039B50 1000EE8E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E684 7F039B54 26310003 */ addiu $s1, $s1, 3 -actionE1_If_Fewer_than_This_Many_Players_Playing_RVL_3: -/* 06E688 7F039B58 0FC26919 */ jal get_num_players -/* 06E68C 7F039B5C 00000000 */ nop -/* 06E690 7F039B60 822A0001 */ lb $t2, 1($s1) -/* 06E694 7F039B64 02C02025 */ move $a0, $s6 -/* 06E698 7F039B68 02402825 */ move $a1, $s2 -/* 06E69C 7F039B6C 004A082A */ slt $at, $v0, $t2 -/* 06E6A0 7F039B70 50200007 */ beql $at, $zero, .L7F039B90 -/* 06E6A4 7F039B74 26520003 */ addiu $s2, $s2, 3 -/* 06E6A8 7F039B78 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E6AC 7F039B7C 92260002 */ lbu $a2, 2($s1) -/* 06E6B0 7F039B80 00409025 */ move $s2, $v0 -/* 06E6B4 7F039B84 1000EE81 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E6B8 7F039B88 02C28821 */ addu $s1, $s6, $v0 -/* 06E6BC 7F039B8C 26520003 */ addiu $s2, $s2, 3 -.L7F039B90: -/* 06E6C0 7F039B90 1000EE7E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E6C4 7F039B94 26310003 */ addiu $s1, $s1, 3 -actionE2_If_Ammo_Value_In_Type_Is_LTV_RVL_4: -/* 06E6C8 7F039B98 0FC1A496 */ jal check_cur_player_ammo_amount_total -/* 06E6CC 7F039B9C 82240001 */ lb $a0, 1($s1) -/* 06E6D0 7F039BA0 82290002 */ lb $t1, 2($s1) -/* 06E6D4 7F039BA4 02C02025 */ move $a0, $s6 -/* 06E6D8 7F039BA8 02402825 */ move $a1, $s2 -/* 06E6DC 7F039BAC 0049082A */ slt $at, $v0, $t1 -/* 06E6E0 7F039BB0 50200007 */ beql $at, $zero, .L7F039BD0 -/* 06E6E4 7F039BB4 26520004 */ addiu $s2, $s2, 4 -/* 06E6E8 7F039BB8 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E6EC 7F039BBC 92260003 */ lbu $a2, 3($s1) -/* 06E6F0 7F039BC0 00409025 */ move $s2, $v0 -/* 06E6F4 7F039BC4 1000EE71 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E6F8 7F039BC8 02C28821 */ addu $s1, $s6, $v0 -/* 06E6FC 7F039BCC 26520004 */ addiu $s2, $s2, 4 -.L7F039BD0: -/* 06E700 7F039BD0 1000EE6E */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E704 7F039BD4 26310004 */ addiu $s1, $s1, 4 -actionE3_Draw_Weapon_From_Inventory_In_Game_2: -/* 06E708 7F039BD8 00002025 */ move $a0, $zero -/* 06E70C 7F039BDC 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 06E710 7F039BE0 82250001 */ lb $a1, 1($s1) -/* 06E714 7F039BE4 24040001 */ li $a0, 1 -/* 06E718 7F039BE8 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 06E71C 7F039BEC 00002825 */ move $a1, $zero -/* 06E720 7F039BF0 26520002 */ addiu $s2, $s2, 2 -/* 06E724 7F039BF4 1000EE65 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E728 7F039BF8 26310002 */ addiu $s1, $s1, 2 -actionE4_Draw_Weapon_From_Inventory_Cut_Scene_2: -/* 06E72C 7F039BFC 00002025 */ move $a0, $zero -/* 06E730 7F039C00 0FC176D5 */ jal remove_hands_item -/* 06E734 7F039C04 82250001 */ lb $a1, 1($s1) -/* 06E738 7F039C08 24040001 */ li $a0, 1 -/* 06E73C 7F039C0C 0FC176D5 */ jal remove_hands_item -/* 06E740 7F039C10 00002825 */ move $a1, $zero -/* 06E744 7F039C14 26520002 */ addiu $s2, $s2, 2 -/* 06E748 7F039C18 1000EE5C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E74C 7F039C1C 26310002 */ addiu $s1, $s1, 2 -actionE5_Set_Bonds_Speed_3: -/* 06E750 7F039C20 822C0001 */ lb $t4, 1($s1) -/* 06E754 7F039C24 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079990) -/* 06E758 7F039C28 24429990 */ addiu $v0, %lo(flt_CODE_bss_80079990) # addiu $v0, $v0, -0x6670 -/* 06E75C 7F039C2C 448C4000 */ mtc1 $t4, $f8 -/* 06E760 7F039C30 E4540004 */ swc1 $f20, 4($v0) -/* 06E764 7F039C34 26520003 */ addiu $s2, $s2, 3 -/* 06E768 7F039C38 46804120 */ cvt.s.w $f4, $f8 -/* 06E76C 7F039C3C 26310003 */ addiu $s1, $s1, 3 -/* 06E770 7F039C40 E4440000 */ swc1 $f4, ($v0) -/* 06E774 7F039C44 822BFFFF */ lb $t3, -1($s1) -/* 06E778 7F039C48 448B3000 */ mtc1 $t3, $f6 -/* 06E77C 7F039C4C 00000000 */ nop -/* 06E780 7F039C50 468032A0 */ cvt.s.w $f10, $f6 -/* 06E784 7F039C54 1000EE4D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E788 7F039C58 E44A0008 */ swc1 $f10, 8($v0) -actionE6_If_16_Object_And_Preset_Are_In_Same_Room_RVL_5: -/* 06E78C 7F039C5C 92380002 */ lbu $t8, 2($s1) -/* 06E790 7F039C60 922D0003 */ lbu $t5, 3($s1) -/* 06E794 7F039C64 92240001 */ lbu $a0, 1($s1) -/* 06E798 7F039C68 0018CA00 */ sll $t9, $t8, 8 -/* 06E79C 7F039C6C 032D8025 */ or $s0, $t9, $t5 -/* 06E7A0 7F039C70 320EFFFF */ andi $t6, $s0, 0xffff -/* 06E7A4 7F039C74 0FC15C30 */ jal get_handle_to_tagged_object -/* 06E7A8 7F039C78 01C08025 */ move $s0, $t6 -/* 06E7AC 7F039C7C 2A012710 */ slti $at, $s0, 0x2710 -/* 06E7B0 7F039C80 1020000A */ beqz $at, .L7F039CAC -/* 06E7B4 7F039C84 02001825 */ move $v1, $s0 -/* 06E7B8 7F039C88 00037880 */ sll $t7, $v1, 2 -/* 06E7BC 7F039C8C 01E37823 */ subu $t7, $t7, $v1 -/* 06E7C0 7F039C90 000F7880 */ sll $t7, $t7, 2 -/* 06E7C4 7F039C94 3C0A8007 */ lui $t2, %hi(ptr_0xxxpresets) -/* 06E7C8 7F039C98 8D4A5D18 */ lw $t2, %lo(ptr_0xxxpresets)($t2) -/* 06E7CC 7F039C9C 01E37823 */ subu $t7, $t7, $v1 -/* 06E7D0 7F039CA0 000F7880 */ sll $t7, $t7, 2 -/* 06E7D4 7F039CA4 1000000A */ b .L7F039CD0 -/* 06E7D8 7F039CA8 01EA2021 */ addu $a0, $t7, $t2 -.L7F039CAC: -/* 06E7DC 7F039CAC 3C0C8007 */ lui $t4, %hi(ptr_2xxxpresets) -/* 06E7E0 7F039CB0 8D8C5D1C */ lw $t4, %lo(ptr_2xxxpresets)($t4) -/* 06E7E4 7F039CB4 00034900 */ sll $t1, $v1, 4 -/* 06E7E8 7F039CB8 01234821 */ addu $t1, $t1, $v1 -/* 06E7EC 7F039CBC 00094880 */ sll $t1, $t1, 2 -/* 06E7F0 7F039CC0 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 06E7F4 7F039CC4 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 06E7F8 7F039CC8 012C2021 */ addu $a0, $t1, $t4 -/* 06E7FC 7F039CCC 00812021 */ addu $a0, $a0, $at -.L7F039CD0: -/* 06E800 7F039CD0 8C830028 */ lw $v1, 0x28($a0) -/* 06E804 7F039CD4 50600013 */ beql $v1, $zero, .L7F039D24 -/* 06E808 7F039CD8 26520005 */ addiu $s2, $s2, 5 -/* 06E80C 7F039CDC 50400011 */ beql $v0, $zero, .L7F039D24 -/* 06E810 7F039CE0 26520005 */ addiu $s2, $s2, 5 -/* 06E814 7F039CE4 8C440010 */ lw $a0, 0x10($v0) -/* 06E818 7F039CE8 5080000E */ beql $a0, $zero, .L7F039D24 -/* 06E81C 7F039CEC 26520005 */ addiu $s2, $s2, 5 -/* 06E820 7F039CF0 8C8B0014 */ lw $t3, 0x14($a0) -/* 06E824 7F039CF4 90790003 */ lbu $t9, 3($v1) -/* 06E828 7F039CF8 02C02025 */ move $a0, $s6 -/* 06E82C 7F039CFC 91780003 */ lbu $t8, 3($t3) -/* 06E830 7F039D00 02402825 */ move $a1, $s2 -/* 06E834 7F039D04 57190007 */ bnel $t8, $t9, .L7F039D24 -/* 06E838 7F039D08 26520005 */ addiu $s2, $s2, 5 -/* 06E83C 7F039D0C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E840 7F039D10 92260004 */ lbu $a2, 4($s1) -/* 06E844 7F039D14 00409025 */ move $s2, $v0 -/* 06E848 7F039D18 1000EE1C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E84C 7F039D1C 02C28821 */ addu $s1, $s6, $v0 -/* 06E850 7F039D20 26520005 */ addiu $s2, $s2, 5 -.L7F039D24: -/* 06E854 7F039D24 1000EE19 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E858 7F039D28 26310005 */ addiu $s1, $s1, 5 -actionE9_Instantly_Switch_Sky_To_Sky_2_1: -/* 06E85C 7F039D2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06E860 7F039D30 44816000 */ mtc1 $at, $f12 -/* 06E864 7F039D34 0FC2EB2A */ jal switch_to_solosky2 -/* 06E868 7F039D38 00000000 */ nop -/* 06E86C 7F039D3C 26520001 */ addiu $s2, $s2, 1 -/* 06E870 7F039D40 1000EE12 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E874 7F039D44 26310001 */ addiu $s1, $s1, 1 -actionEA_Stop_Game_Time_1: -/* 06E878 7F039D48 3C0D8003 */ lui $t5, %hi(stop_time_flag) -/* 06E87C 7F039D4C 8DAD64A0 */ lw $t5, %lo(stop_time_flag)($t5) -/* 06E880 7F039D50 240E0001 */ li $t6, 1 -/* 06E884 7F039D54 3C018003 */ lui $at, %hi(stop_time_flag) -/* 06E888 7F039D58 15A00002 */ bnez $t5, .L7F039D64 -/* 06E88C 7F039D5C 26520001 */ addiu $s2, $s2, 1 -/* 06E890 7F039D60 AC2E64A0 */ sw $t6, %lo(stop_time_flag)($at) -.L7F039D64: -/* 06E894 7F039D64 1000EE09 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E898 7F039D68 26310001 */ addiu $s1, $s1, 1 -actionEB_If_Key_Pressed_RVL_2: -/* 06E89C 7F039D6C 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 06E8A0 7F039D70 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 06E8A4 7F039D74 02C02025 */ move $a0, $s6 -/* 06E8A8 7F039D78 02402825 */ move $a1, $s2 -/* 06E8AC 7F039D7C 8DEA00D8 */ lw $t2, 0xd8($t7) -/* 06E8B0 7F039D80 51400007 */ beql $t2, $zero, .L7F039DA0 -/* 06E8B4 7F039D84 26520002 */ addiu $s2, $s2, 2 -/* 06E8B8 7F039D88 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06E8BC 7F039D8C 92260001 */ lbu $a2, 1($s1) -/* 06E8C0 7F039D90 00409025 */ move $s2, $v0 -/* 06E8C4 7F039D94 1000EDFD */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E8C8 7F039D98 02C28821 */ addu $s1, $s6, $v0 -/* 06E8CC 7F039D9C 26520002 */ addiu $s2, $s2, 2 -.L7F039DA0: -/* 06E8D0 7F039DA0 1000EDFA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E8D4 7F039DA4 26310002 */ addiu $s1, $s1, 2 -actionEC_Disable_Player_Pickups_1: -/* 06E8D8 7F039DA8 24090001 */ li $t1, 1 -/* 06E8DC 7F039DAC 3C018003 */ lui $at, %hi(disable_player_pickups_flag) -/* 06E8E0 7F039DB0 AC2964B4 */ sw $t1, %lo(disable_player_pickups_flag)($at) -/* 06E8E4 7F039DB4 26520001 */ addiu $s2, $s2, 1 -/* 06E8E8 7F039DB8 1000EDF4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E8EC 7F039DBC 26310001 */ addiu $s1, $s1, 1 -actionED_Hide_First_Person_Display_1: -/* 06E8F0 7F039DC0 0FC173D7 */ jal remove_item_in_hand -/* 06E8F4 7F039DC4 00002025 */ move $a0, $zero -/* 06E8F8 7F039DC8 0FC173D7 */ jal remove_item_in_hand -/* 06E8FC 7F039DCC 24040001 */ li $a0, 1 -/* 06E900 7F039DD0 26520001 */ addiu $s2, $s2, 1 -/* 06E904 7F039DD4 1000EDED */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06E908 7F039DD8 26310001 */ addiu $s1, $s1, 1 -actionEE_Cuba_Circular_Camera_Aim_D: -/* 06E90C 7F039DDC 92390003 */ lbu $t9, 3($s1) -/* 06E910 7F039DE0 922E0004 */ lbu $t6, 4($s1) -/* 06E914 7F039DE4 922C0001 */ lbu $t4, 1($s1) -/* 06E918 7F039DE8 00196A00 */ sll $t5, $t9, 8 -/* 06E91C 7F039DEC 01AE1825 */ or $v1, $t5, $t6 -/* 06E920 7F039DF0 00037C00 */ sll $t7, $v1, 0x10 -/* 06E924 7F039DF4 922D0007 */ lbu $t5, 7($s1) -/* 06E928 7F039DF8 000F1C03 */ sra $v1, $t7, 0x10 -/* 06E92C 7F039DFC 922F0008 */ lbu $t7, 8($s1) -/* 06E930 7F039E00 92380002 */ lbu $t8, 2($s1) -/* 06E934 7F039E04 000D7200 */ sll $t6, $t5, 8 -/* 06E938 7F039E08 9239000B */ lbu $t9, 0xb($s1) -/* 06E93C 7F039E0C 01CF3025 */ or $a2, $t6, $t7 -/* 06E940 7F039E10 922E000C */ lbu $t6, 0xc($s1) -/* 06E944 7F039E14 000C5A00 */ sll $t3, $t4, 8 -/* 06E948 7F039E18 92290005 */ lbu $t1, 5($s1) -/* 06E94C 7F039E1C 01781025 */ or $v0, $t3, $t8 -/* 06E950 7F039E20 922B0006 */ lbu $t3, 6($s1) -/* 06E954 7F039E24 00196A00 */ sll $t5, $t9, 8 -/* 06E958 7F039E28 01AE4025 */ or $t0, $t5, $t6 -/* 06E95C 7F039E2C 44889000 */ mtc1 $t0, $f18 -/* 06E960 7F039E30 00096200 */ sll $t4, $t1, 8 -/* 06E964 7F039E34 018B2825 */ or $a1, $t4, $t3 -/* 06E968 7F039E38 0005C400 */ sll $t8, $a1, 0x10 -/* 06E96C 7F039E3C 46809420 */ cvt.s.w $f16, $f18 -/* 06E970 7F039E40 00182C03 */ sra $a1, $t8, 0x10 -/* 06E974 7F039E44 44853000 */ mtc1 $a1, $f6 -/* 06E978 7F039E48 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 06E97C 7F039E4C 44810000 */ mtc1 $at, $f0 -/* 06E980 7F039E50 468032A0 */ cvt.s.w $f10, $f6 -/* 06E984 7F039E54 461A8202 */ mul.s $f8, $f16, $f26 -/* 06E988 7F039E58 922A0009 */ lbu $t2, 9($s1) -/* 06E98C 7F039E5C 922C000A */ lbu $t4, 0xa($s1) -/* 06E990 7F039E60 3C018008 */ lui $at, %hi(dword_CODE_bss_800799F8) -/* 06E994 7F039E64 AC2099F8 */ sw $zero, %lo(dword_CODE_bss_800799F8)($at) -/* 06E998 7F039E68 461A5482 */ mul.s $f18, $f10, $f26 -/* 06E99C 7F039E6C 3C018008 */ lui $at, %hi(dword_CODE_bss_800799FC) -/* 06E9A0 7F039E70 AC2099FC */ sw $zero, %lo(dword_CODE_bss_800799FC)($at) -/* 06E9A4 7F039E74 000A4A00 */ sll $t1, $t2, 8 -/* 06E9A8 7F039E78 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A00) -/* 06E9AC 7F039E7C 012C3825 */ or $a3, $t1, $t4 -/* 06E9B0 7F039E80 46004103 */ div.s $f4, $f8, $f0 -/* 06E9B4 7F039E84 44824000 */ mtc1 $v0, $f8 -/* 06E9B8 7F039E88 44833000 */ mtc1 $v1, $f6 -/* 06E9BC 7F039E8C 00075C00 */ sll $t3, $a3, 0x10 -/* 06E9C0 7F039E90 000B3C03 */ sra $a3, $t3, 0x10 -/* 06E9C4 7F039E94 468032A0 */ cvt.s.w $f10, $f6 -/* 06E9C8 7F039E98 24040007 */ li $a0, 7 -/* 06E9CC 7F039E9C 46009403 */ div.s $f16, $f18, $f0 -/* 06E9D0 7F039EA0 E4249A00 */ swc1 $f4, %lo(flt_CODE_bss_80079A00)($at) -/* 06E9D4 7F039EA4 44879000 */ mtc1 $a3, $f18 -/* 06E9D8 7F039EA8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A04) -/* 06E9DC 7F039EAC 46804120 */ cvt.s.w $f4, $f8 -/* 06E9E0 7F039EB0 E4309A04 */ swc1 $f16, %lo(flt_CODE_bss_80079A04)($at) -/* 06E9E4 7F039EB4 46809420 */ cvt.s.w $f16, $f18 -/* 06E9E8 7F039EB8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A08) -/* 06E9EC 7F039EBC E4249A08 */ swc1 $f4, %lo(flt_CODE_bss_80079A08)($at) -/* 06E9F0 7F039EC0 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A0C) -/* 06E9F4 7F039EC4 E42A9A0C */ swc1 $f10, %lo(flt_CODE_bss_80079A0C)($at) -/* 06E9F8 7F039EC8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079A10) -/* 06E9FC 7F039ECC E4309A10 */ swc1 $f16, %lo(flt_CODE_bss_80079A10)($at) -/* 06EA00 7F039ED0 3C018008 */ lui $at, %hi(dword_CODE_bss_80079A14) -/* 06EA04 7F039ED4 0FC1EA6E */ jal set_camera_mode -/* 06EA08 7F039ED8 AC269A14 */ sw $a2, %lo(dword_CODE_bss_80079A14)($at) -/* 06EA0C 7F039EDC 2652000D */ addiu $s2, $s2, 0xd -/* 06EA10 7F039EE0 1000EDAA */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA14 7F039EE4 2631000D */ addiu $s1, $s1, 0xd -actionEF_Trigger_Credits_1: -/* 06EA18 7F039EE8 240F0001 */ li $t7, 1 -/* 06EA1C 7F039EEC 3C018003 */ lui $at, %hi(D_8003643C) -/* 06EA20 7F039EF0 AC2F643C */ sw $t7, %lo(D_8003643C)($at) -/* 06EA24 7F039EF4 26520001 */ addiu $s2, $s2, 1 -/* 06EA28 7F039EF8 1000EDA4 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA2C 7F039EFC 26310001 */ addiu $s1, $s1, 1 -actionF0_RVL_If_Credits_Completed_2: -/* 06EA30 7F039F00 3C0A8003 */ lui $t2, %hi(D_8003643C) -/* 06EA34 7F039F04 8D4A643C */ lw $t2, %lo(D_8003643C)($t2) -/* 06EA38 7F039F08 24010002 */ li $at, 2 -/* 06EA3C 7F039F0C 02C02025 */ move $a0, $s6 -/* 06EA40 7F039F10 15410006 */ bne $t2, $at, .L7F039F2C -/* 06EA44 7F039F14 02402825 */ move $a1, $s2 -/* 06EA48 7F039F18 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EA4C 7F039F1C 92260001 */ lbu $a2, 1($s1) -/* 06EA50 7F039F20 00409025 */ move $s2, $v0 -/* 06EA54 7F039F24 1000ED99 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA58 7F039F28 02C28821 */ addu $s1, $s6, $v0 -.L7F039F2C: -/* 06EA5C 7F039F2C 26520002 */ addiu $s2, $s2, 2 -/* 06EA60 7F039F30 1000ED96 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA64 7F039F34 26310002 */ addiu $s1, $s1, 2 -actionF1_If_All_Objectives_Complete_RVL_2: -/* 06EA68 7F039F38 0FC15D2E */ jal check_objectives_complete -/* 06EA6C 7F039F3C 00000000 */ nop -/* 06EA70 7F039F40 10400007 */ beqz $v0, .L7F039F60 -/* 06EA74 7F039F44 02C02025 */ move $a0, $s6 -/* 06EA78 7F039F48 02402825 */ move $a1, $s2 -/* 06EA7C 7F039F4C 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EA80 7F039F50 92260001 */ lbu $a2, 1($s1) -/* 06EA84 7F039F54 00409025 */ move $s2, $v0 -/* 06EA88 7F039F58 1000ED8C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA8C 7F039F5C 02C28821 */ addu $s1, $s6, $v0 -.L7F039F60: -/* 06EA90 7F039F60 26520002 */ addiu $s2, $s2, 2 -/* 06EA94 7F039F64 1000ED89 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EA98 7F039F68 26310002 */ addiu $s1, $s1, 2 -actionF2_Check_Current_Folder_Bond_RVL_3: -/* 06EA9C 7F039F6C 0FC0755B */ jal getSelectedFolderBond -/* 06EAA0 7F039F70 00000000 */ nop -/* 06EAA4 7F039F74 82290001 */ lb $t1, 1($s1) -/* 06EAA8 7F039F78 02C02025 */ move $a0, $s6 -/* 06EAAC 7F039F7C 02402825 */ move $a1, $s2 -/* 06EAB0 7F039F80 54490007 */ bnel $v0, $t1, .L7F039FA0 -/* 06EAB4 7F039F84 26520003 */ addiu $s2, $s2, 3 -/* 06EAB8 7F039F88 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EABC 7F039F8C 92260002 */ lbu $a2, 2($s1) -/* 06EAC0 7F039F90 00409025 */ move $s2, $v0 -/* 06EAC4 7F039F94 1000ED7D */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EAC8 7F039F98 02C28821 */ addu $s1, $s6, $v0 -/* 06EACC 7F039F9C 26520003 */ addiu $s2, $s2, 3 -.L7F039FA0: -/* 06EAD0 7F039FA0 1000ED7A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EAD4 7F039FA4 26310003 */ addiu $s1, $s1, 3 -actionF3_If_Player_Pickups_Disabled_RVL_2: -/* 06EAD8 7F039FA8 3C0C8003 */ lui $t4, %hi(disable_player_pickups_flag) -/* 06EADC 7F039FAC 8D8C64B4 */ lw $t4, %lo(disable_player_pickups_flag)($t4) -/* 06EAE0 7F039FB0 02C02025 */ move $a0, $s6 -/* 06EAE4 7F039FB4 02402825 */ move $a1, $s2 -/* 06EAE8 7F039FB8 51800007 */ beql $t4, $zero, .L7F039FD8 -/* 06EAEC 7F039FBC 26520002 */ addiu $s2, $s2, 2 -/* 06EAF0 7F039FC0 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EAF4 7F039FC4 92260001 */ lbu $a2, 1($s1) -/* 06EAF8 7F039FC8 00409025 */ move $s2, $v0 -/* 06EAFC 7F039FCC 1000ED6F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EB00 7F039FD0 02C28821 */ addu $s1, $s6, $v0 -/* 06EB04 7F039FD4 26520002 */ addiu $s2, $s2, 2 -.L7F039FD8: -/* 06EB08 7F039FD8 1000ED6C */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EB0C 7F039FDC 26310002 */ addiu $s1, $s1, 2 -actionF4_PlaysValuenum1ThemeSlot03ForValuenum2Seconds_4: -/* 06EB10 7F039FE0 02201025 */ move $v0, $s1 -/* 06EB14 7F039FE4 26310004 */ addiu $s1, $s1, 4 -/* 06EB18 7F039FE8 26520004 */ addiu $s2, $s2, 4 -/* 06EB1C 7F039FEC 80440001 */ lb $a0, 1($v0) -/* 06EB20 7F039FF0 90450002 */ lbu $a1, 2($v0) -/* 06EB24 7F039FF4 0FC3053F */ jal set_musicslot_time -/* 06EB28 7F039FF8 90460003 */ lbu $a2, 3($v0) -/* 06EB2C 7F039FFC 1000ED64 */ b ParseCommandByte_SwitchCase -/* 06EB30 7F03A000 922E0000 */ lbu $t6, ($s1) -actionF5_Turn_Off_Music_In_Slot_num_0_3_2: -/* 06EB34 7F03A004 02201025 */ move $v0, $s1 -/* 06EB38 7F03A008 26310002 */ addiu $s1, $s1, 2 -/* 06EB3C 7F03A00C 26520002 */ addiu $s2, $s2, 2 -/* 06EB40 7F03A010 0FC30556 */ jal reset_music_in_slot -/* 06EB44 7F03A014 80440001 */ lb $a0, 1($v0) -/* 06EB48 7F03A018 1000ED5D */ b ParseCommandByte_SwitchCase -/* 06EB4C 7F03A01C 922E0000 */ lbu $t6, ($s1) -actionF6_Trigger_Explosions_Around_Bond_1: -/* 06EB50 7F03A020 0FC22FF1 */ jal trigger_explosions_around_player -/* 06EB54 7F03A024 00002025 */ move $a0, $zero -/* 06EB58 7F03A028 26520001 */ addiu $s2, $s2, 1 -/* 06EB5C 7F03A02C 1000ED57 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EB60 7F03A030 26310001 */ addiu $s1, $s1, 1 -actionF7_If_Number_Of_Hostages_Scientists_Killed_RVL_3: -/* 06EB64 7F03A034 0FC1A9DC */ jal get_civilian_casualties -/* 06EB68 7F03A038 00000000 */ nop -/* 06EB6C 7F03A03C 922B0001 */ lbu $t3, 1($s1) -/* 06EB70 7F03A040 02C02025 */ move $a0, $s6 -/* 06EB74 7F03A044 02402825 */ move $a1, $s2 -/* 06EB78 7F03A048 0162082A */ slt $at, $t3, $v0 -/* 06EB7C 7F03A04C 50200007 */ beql $at, $zero, .L7F03A06C -/* 06EB80 7F03A050 26520003 */ addiu $s2, $s2, 3 -/* 06EB84 7F03A054 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EB88 7F03A058 92260002 */ lbu $a2, 2($s1) -/* 06EB8C 7F03A05C 00409025 */ move $s2, $v0 -/* 06EB90 7F03A060 1000ED4A */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EB94 7F03A064 02C28821 */ addu $s1, $s6, $v0 -/* 06EB98 7F03A068 26520003 */ addiu $s2, $s2, 3 -.L7F03A06C: -/* 06EB9C 7F03A06C 1000ED47 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EBA0 7F03A070 26310003 */ addiu $s1, $s1, 3 -actionF8_If_Guard_ID_00200000_Flag_Set_Unset_And_Return_3: -/* 06EBA4 7F03A074 02E02025 */ move $a0, $s7 -/* 06EBA8 7F03A078 0FC0CC10 */ jal get_handle_for_guard_id -/* 06EBAC 7F03A07C 92250001 */ lbu $a1, 1($s1) -/* 06EBB0 7F03A080 50400012 */ beql $v0, $zero, .L7F03A0CC -/* 06EBB4 7F03A084 26520003 */ addiu $s2, $s2, 3 -/* 06EBB8 7F03A088 8C580014 */ lw $t8, 0x14($v0) -/* 06EBBC 7F03A08C 3C01FFDF */ lui $at, (0xFFDFFFFF >> 16) # lui $at, 0xffdf -/* 06EBC0 7F03A090 3421FFFF */ ori $at, (0xFFDFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 06EBC4 7F03A094 0018CA80 */ sll $t9, $t8, 0xa -/* 06EBC8 7F03A098 0723000C */ bgezl $t9, .L7F03A0CC -/* 06EBCC 7F03A09C 26520003 */ addiu $s2, $s2, 3 -/* 06EBD0 7F03A0A0 8C4D0014 */ lw $t5, 0x14($v0) -/* 06EBD4 7F03A0A4 02C02025 */ move $a0, $s6 -/* 06EBD8 7F03A0A8 02402825 */ move $a1, $s2 -/* 06EBDC 7F03A0AC 01A17024 */ and $t6, $t5, $at -/* 06EBE0 7F03A0B0 AC4E0014 */ sw $t6, 0x14($v0) -/* 06EBE4 7F03A0B4 0FC0D4BC */ jal true_if_sucessfully_performing_action -/* 06EBE8 7F03A0B8 92260002 */ lbu $a2, 2($s1) -/* 06EBEC 7F03A0BC 00409025 */ move $s2, $v0 -/* 06EBF0 7F03A0C0 1000ED32 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EBF4 7F03A0C4 02C28821 */ addu $s1, $s6, $v0 -/* 06EBF8 7F03A0C8 26520003 */ addiu $s2, $s2, 3 -.L7F03A0CC: -/* 06EBFC 7F03A0CC 1000ED2F */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EC00 7F03A0D0 26310003 */ addiu $s1, $s1, 3 -actionF9_Set_Killed_In_Action_Automatic_Mission_Failure_1: -/* 06EC04 7F03A0D4 240F0001 */ li $t7, 1 -/* 06EC08 7F03A0D8 3C018003 */ lui $at, %hi(mission_kia_flag) -/* 06EC0C 7F03A0DC AC2FA928 */ sw $t7, %lo(mission_kia_flag)($at) -/* 06EC10 7F03A0E0 26520001 */ addiu $s2, $s2, 1 -/* 06EC14 7F03A0E4 1000ED29 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EC18 7F03A0E8 26310001 */ addiu $s1, $s1, 1 -actionFA_Guard_Fawns_On_Shoulder_1: -/* 06EC1C 7F03A0EC 0FC0CD93 */ jal check_if_able_to_then_fawn_on_shoulder -/* 06EC20 7F03A0F0 02E02025 */ move $a0, $s7 -/* 06EC24 7F03A0F4 26520001 */ addiu $s2, $s2, 1 -/* 06EC28 7F03A0F8 1000ED24 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EC2C 7F03A0FC 26310001 */ addiu $s1, $s1, 1 -actionFB_SwitchToSkyValuenumAndActivateGasContainersIfExist_: -/* 06EC30 7F03A100 3C0A8003 */ lui $t2, %hi(D_80030A88) -/* 06EC34 7F03A104 254A0A88 */ addiu $t2, %lo(D_80030A88) # addiu $t2, $t2, 0xa88 -/* 06EC38 7F03A108 8D410000 */ lw $at, ($t2) -/* 06EC3C 7F03A10C 27A40090 */ addiu $a0, $sp, 0x90 -/* 06EC40 7F03A110 AC810000 */ sw $at, ($a0) -/* 06EC44 7F03A114 8D4B0004 */ lw $t3, 4($t2) -/* 06EC48 7F03A118 AC8B0004 */ sw $t3, 4($a0) -/* 06EC4C 7F03A11C 8D410008 */ lw $at, 8($t2) -/* 06EC50 7F03A120 0FC15799 */ jal init_trigger_toxic_gas_effect -/* 06EC54 7F03A124 AC810008 */ sw $at, 8($a0) -/* 06EC58 7F03A128 26520001 */ addiu $s2, $s2, 1 -/* 06EC5C 7F03A12C 1000ED17 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06EC60 7F03A130 26310001 */ addiu $s1, $s1, 1 -actionFC_Launch_Shuttle_2: -/* 06EC64 7F03A134 0FC15C30 */ jal get_handle_to_tagged_object -/* 06EC68 7F03A138 92240001 */ lbu $a0, 1($s1) -/* 06EC6C 7F03A13C 50400029 */ beql $v0, $zero, .L7F03A1E4 -/* 06EC70 7F03A140 26520002 */ addiu $s2, $s2, 2 -/* 06EC74 7F03A144 8C580010 */ lw $t8, 0x10($v0) -/* 06EC78 7F03A148 53000026 */ beql $t8, $zero, .L7F03A1E4 -/* 06EC7C 7F03A14C 26520002 */ addiu $s2, $s2, 2 -/* 06EC80 7F03A150 8C440010 */ lw $a0, 0x10($v0) -/* 06EC84 7F03A154 0FC0FF6A */ jal sub_GAME_7F03FDA8 -/* 06EC88 7F03A158 AFA20088 */ sw $v0, 0x88($sp) -/* 06EC8C 7F03A15C 8FA30088 */ lw $v1, 0x88($sp) -/* 06EC90 7F03A160 8C790064 */ lw $t9, 0x64($v1) -/* 06EC94 7F03A164 332D0080 */ andi $t5, $t9, 0x80 -/* 06EC98 7F03A168 51A0001E */ beql $t5, $zero, .L7F03A1E4 -/* 06EC9C 7F03A16C 26520002 */ addiu $s2, $s2, 2 -/* 06ECA0 7F03A170 8C62006C */ lw $v0, 0x6c($v1) -/* 06ECA4 7F03A174 8C4E0000 */ lw $t6, ($v0) -/* 06ECA8 7F03A178 35CF0601 */ ori $t7, $t6, 0x601 -/* 06ECAC 7F03A17C AC4F0000 */ sw $t7, ($v0) -/* 06ECB0 7F03A180 8C640010 */ lw $a0, 0x10($v1) -/* 06ECB4 7F03A184 0FC0FF85 */ jal sub_GAME_7F03FE14 -/* 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 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) -/* 06ECD4 7F03A1A4 8C6C006C */ lw $t4, 0x6c($v1) -/* 06ECD8 7F03A1A8 E5940004 */ swc1 $f20, 4($t4) -/* 06ECDC 7F03A1AC C4282974 */ lwc1 $f8, %lo(D_80052974)($at) -/* 06ECE0 7F03A1B0 8C69006C */ lw $t1, 0x6c($v1) -/* 06ECE4 7F03A1B4 3C018005 */ lui $at, %hi(D_80052978) -/* 06ECE8 7F03A1B8 E5280008 */ swc1 $f8, 8($t1) -/* 06ECEC 7F03A1BC 8C6A006C */ lw $t2, 0x6c($v1) -/* 06ECF0 7F03A1C0 E554000C */ swc1 $f20, 0xc($t2) -/* 06ECF4 7F03A1C4 8C6B006C */ lw $t3, 0x6c($v1) -/* 06ECF8 7F03A1C8 E5740010 */ swc1 $f20, 0x10($t3) -/* 06ECFC 7F03A1CC C4242978 */ lwc1 $f4, %lo(D_80052978)($at) -/* 06ED00 7F03A1D0 8C78006C */ lw $t8, 0x6c($v1) -/* 06ED04 7F03A1D4 E7040014 */ swc1 $f4, 0x14($t8) -/* 06ED08 7F03A1D8 8C79006C */ lw $t9, 0x6c($v1) -/* 06ED0C 7F03A1DC E7340018 */ swc1 $f20, 0x18($t9) -/* 06ED10 7F03A1E0 26520002 */ addiu $s2, $s2, 2 -.L7F03A1E4: -/* 06ED14 7F03A1E4 1000ECE9 */ b GetByteS1_ParseCommandByte_SwitchCase -/* 06ED18 7F03A1E8 26310002 */ addiu $s1, $s1, 2 -GetCmdLength: -/* 06ED1C 7F03A1EC 0FC0D27F */ jal get_length_of_action_block -/* 06ED20 7F03A1F0 02402825 */ move $a1, $s2 # -/* 06ED24 7F03A1F4 02429021 */ addu $s2, $s2, $v0 # CurrentActionByte += get_length_of_action_block(CurrentActionByte) -/* 06ED28 7F03A1F8 1000ECE4 */ b GetByteS1_ParseCommandByte_SwitchCase # s1 = CurrentActionByte + s6 -/* 06ED2C 7F03A1FC 02D28821 */ addu $s1, $s6, $s2 # goto 58c - -Action04_End_1: -/* 06ED30 7F03A200 8FBF0074 */ lw $ra, 0x74($sp) -Action04_End_2: -/* 06ED34 7F03A204 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 06ED38 7F03A208 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 06ED3C 7F03A20C D7B80040 */ ldc1 $f24, 0x40($sp) -/* 06ED40 7F03A210 D7BA0048 */ ldc1 $f26, 0x48($sp) -/* 06ED44 7F03A214 8FB00050 */ lw $s0, 0x50($sp) -/* 06ED48 7F03A218 8FB10054 */ lw $s1, 0x54($sp) -/* 06ED4C 7F03A21C 8FB20058 */ lw $s2, 0x58($sp) #load s2 with value before entering actionblock -/* 06ED50 7F03A220 8FB3005C */ lw $s3, 0x5c($sp) -/* 06ED54 7F03A224 8FB40060 */ lw $s4, 0x60($sp) -/* 06ED58 7F03A228 8FB50064 */ lw $s5, 0x64($sp) -/* 06ED5C 7F03A22C 8FB60068 */ lw $s6, 0x68($sp) -/* 06ED60 7F03A230 8FB7006C */ lw $s7, 0x6c($sp) -/* 06ED64 7F03A234 8FBE0070 */ lw $fp, 0x70($sp) -/* 06ED68 7F03A238 03E00008 */ jr $ra -/* 06ED6C 7F03A23C 27BD07B8 */ addiu $sp, $sp, 0x7b8 -) -#endif -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F03A240(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03A240 -/* 06ED70 7F03A240 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 06ED74 7F03A244 AFBF0014 */ sw $ra, 0x14($sp) -/* 06ED78 7F03A248 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 06ED7C 7F03A24C AFA0001C */ sw $zero, 0x1c($sp) -/* 06ED80 7F03A250 8FA6001C */ lw $a2, 0x1c($sp) -/* 06ED84 7F03A254 1040000F */ beqz $v0, .L7F03A294 -/* 06ED88 7F03A258 00402825 */ move $a1, $v0 -/* 06ED8C 7F03A25C 3C098007 */ lui $t1, %hi(dword_CODE_bss_80071620) -/* 06ED90 7F03A260 25291620 */ addiu $t1, %lo(dword_CODE_bss_80071620) # addiu $t1, $t1, 0x1620 -/* 06ED94 7F03A264 24020006 */ li $v0, 6 -/* 06ED98 7F03A268 90AE0001 */ lbu $t6, 1($a1) -.L7F03A26C: -/* 06ED9C 7F03A26C 0006C080 */ sll $t8, $a2, 2 -/* 06EDA0 7F03A270 0138C821 */ addu $t9, $t1, $t8 -/* 06EDA4 7F03A274 31CF0006 */ andi $t7, $t6, 6 -/* 06EDA8 7F03A278 544F0004 */ bnel $v0, $t7, .L7F03A28C -/* 06EDAC 7F03A27C 8CA50024 */ lw $a1, 0x24($a1) -/* 06EDB0 7F03A280 AF250000 */ sw $a1, ($t9) -/* 06EDB4 7F03A284 24C60001 */ addiu $a2, $a2, 1 -/* 06EDB8 7F03A288 8CA50024 */ lw $a1, 0x24($a1) -.L7F03A28C: -/* 06EDBC 7F03A28C 54A0FFF7 */ bnezl $a1, .L7F03A26C -/* 06EDC0 7F03A290 90AE0001 */ lbu $t6, 1($a1) -.L7F03A294: -/* 06EDC4 7F03A294 3C098007 */ lui $t1, %hi(dword_CODE_bss_80071620) -/* 06EDC8 7F03A298 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF4) -/* 06EDCC 7F03A29C 25291620 */ addiu $t1, %lo(dword_CODE_bss_80071620) # addiu $t1, $t1, 0x1620 -/* 06EDD0 7F03A2A0 AC261DF4 */ sw $a2, %lo(dword_CODE_bss_80071DF4)($at) -/* 06EDD4 7F03A2A4 00065080 */ sll $t2, $a2, 2 -/* 06EDD8 7F03A2A8 012A5821 */ addu $t3, $t1, $t2 -/* 06EDDC 7F03A2AC 00066080 */ sll $t4, $a2, 2 -/* 06EDE0 7F03A2B0 AD600000 */ sw $zero, ($t3) -/* 06EDE4 7F03A2B4 012C6821 */ addu $t5, $t1, $t4 -/* 06EDE8 7F03A2B8 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF0) -/* 06EDEC 7F03A2BC AC2D1DF0 */ sw $t5, %lo(dword_CODE_bss_80071DF0)($at) -/* 06EDF0 7F03A2C0 18C0004C */ blez $a2, .L7F03A3F4 -/* 06EDF4 7F03A2C4 00004025 */ move $t0, $zero -/* 06EDF8 7F03A2C8 3C01CF80 */ li $at, 0xCF800000 # -4294967296.000000 -/* 06EDFC 7F03A2CC 44817000 */ mtc1 $at, $f14 -/* 06EE00 7F03A2D0 00000000 */ nop -/* 06EE04 7F03A2D4 0106082A */ slt $at, $t0, $a2 -.L7F03A2D8: -/* 06EE08 7F03A2D8 2404FFFF */ li $a0, -1 -/* 06EE0C 7F03A2DC 46007306 */ mov.s $f12, $f14 -/* 06EE10 7F03A2E0 10200038 */ beqz $at, .L7F03A3C4 -/* 06EE14 7F03A2E4 01001025 */ move $v0, $t0 -/* 06EE18 7F03A2E8 00C81823 */ subu $v1, $a2, $t0 -/* 06EE1C 7F03A2EC 30670003 */ andi $a3, $v1, 3 -/* 06EE20 7F03A2F0 10E0000F */ beqz $a3, .L7F03A330 -/* 06EE24 7F03A2F4 00E82821 */ addu $a1, $a3, $t0 -/* 06EE28 7F03A2F8 00027080 */ sll $t6, $v0, 2 -/* 06EE2C 7F03A2FC 012E1821 */ addu $v1, $t1, $t6 -.L7F03A300: -/* 06EE30 7F03A300 8C6F0000 */ lw $t7, ($v1) -/* 06EE34 7F03A304 C5E20018 */ lwc1 $f2, 0x18($t7) -/* 06EE38 7F03A308 4602603C */ c.lt.s $f12, $f2 -/* 06EE3C 7F03A30C 00000000 */ nop -/* 06EE40 7F03A310 45020004 */ bc1fl .L7F03A324 -/* 06EE44 7F03A314 24420001 */ addiu $v0, $v0, 1 -/* 06EE48 7F03A318 46001306 */ mov.s $f12, $f2 -/* 06EE4C 7F03A31C 00402025 */ move $a0, $v0 -/* 06EE50 7F03A320 24420001 */ addiu $v0, $v0, 1 -.L7F03A324: -/* 06EE54 7F03A324 14A2FFF6 */ bne $a1, $v0, .L7F03A300 -/* 06EE58 7F03A328 24630004 */ addiu $v1, $v1, 4 -/* 06EE5C 7F03A32C 10460025 */ beq $v0, $a2, .L7F03A3C4 -.L7F03A330: -/* 06EE60 7F03A330 0002C080 */ sll $t8, $v0, 2 -/* 06EE64 7F03A334 01381821 */ addu $v1, $t1, $t8 -.L7F03A338: -/* 06EE68 7F03A338 8C790000 */ lw $t9, ($v1) -/* 06EE6C 7F03A33C C7220018 */ lwc1 $f2, 0x18($t9) -/* 06EE70 7F03A340 4602603C */ c.lt.s $f12, $f2 -/* 06EE74 7F03A344 00000000 */ nop -/* 06EE78 7F03A348 45020004 */ bc1fl .L7F03A35C -/* 06EE7C 7F03A34C 8C6A0004 */ lw $t2, 4($v1) -/* 06EE80 7F03A350 46001306 */ mov.s $f12, $f2 -/* 06EE84 7F03A354 00402025 */ move $a0, $v0 -/* 06EE88 7F03A358 8C6A0004 */ lw $t2, 4($v1) -.L7F03A35C: -/* 06EE8C 7F03A35C C5400018 */ lwc1 $f0, 0x18($t2) -/* 06EE90 7F03A360 4600603C */ c.lt.s $f12, $f0 -/* 06EE94 7F03A364 00000000 */ nop -/* 06EE98 7F03A368 45020004 */ bc1fl .L7F03A37C -/* 06EE9C 7F03A36C 8C6B0008 */ lw $t3, 8($v1) -/* 06EEA0 7F03A370 46000306 */ mov.s $f12, $f0 -/* 06EEA4 7F03A374 24440001 */ addiu $a0, $v0, 1 -/* 06EEA8 7F03A378 8C6B0008 */ lw $t3, 8($v1) -.L7F03A37C: -/* 06EEAC 7F03A37C C5600018 */ lwc1 $f0, 0x18($t3) -/* 06EEB0 7F03A380 4600603C */ c.lt.s $f12, $f0 -/* 06EEB4 7F03A384 00000000 */ nop -/* 06EEB8 7F03A388 45020004 */ bc1fl .L7F03A39C -/* 06EEBC 7F03A38C 8C6C000C */ lw $t4, 0xc($v1) -/* 06EEC0 7F03A390 46000306 */ mov.s $f12, $f0 -/* 06EEC4 7F03A394 24440002 */ addiu $a0, $v0, 2 -/* 06EEC8 7F03A398 8C6C000C */ lw $t4, 0xc($v1) -.L7F03A39C: -/* 06EECC 7F03A39C C5800018 */ lwc1 $f0, 0x18($t4) -/* 06EED0 7F03A3A0 4600603C */ c.lt.s $f12, $f0 -/* 06EED4 7F03A3A4 00000000 */ nop -/* 06EED8 7F03A3A8 45020004 */ bc1fl .L7F03A3BC -/* 06EEDC 7F03A3AC 24420004 */ addiu $v0, $v0, 4 -/* 06EEE0 7F03A3B0 46000306 */ mov.s $f12, $f0 -/* 06EEE4 7F03A3B4 24440003 */ addiu $a0, $v0, 3 -/* 06EEE8 7F03A3B8 24420004 */ addiu $v0, $v0, 4 -.L7F03A3BC: -/* 06EEEC 7F03A3BC 1446FFDE */ bne $v0, $a2, .L7F03A338 -/* 06EEF0 7F03A3C0 24630010 */ addiu $v1, $v1, 0x10 -.L7F03A3C4: -/* 06EEF4 7F03A3C4 04800008 */ bltz $a0, .L7F03A3E8 -/* 06EEF8 7F03A3C8 00086880 */ sll $t5, $t0, 2 -/* 06EEFC 7F03A3CC 00047080 */ sll $t6, $a0, 2 -/* 06EF00 7F03A3D0 012E1821 */ addu $v1, $t1, $t6 -/* 06EF04 7F03A3D4 8C6F0000 */ lw $t7, ($v1) -/* 06EF08 7F03A3D8 012D1021 */ addu $v0, $t1, $t5 -/* 06EF0C 7F03A3DC 8C450000 */ lw $a1, ($v0) -/* 06EF10 7F03A3E0 AC4F0000 */ sw $t7, ($v0) -/* 06EF14 7F03A3E4 AC650000 */ sw $a1, ($v1) -.L7F03A3E8: -/* 06EF18 7F03A3E8 25080001 */ addiu $t0, $t0, 1 -/* 06EF1C 7F03A3EC 5506FFBA */ bnel $t0, $a2, .L7F03A2D8 -/* 06EF20 7F03A3F0 0106082A */ slt $at, $t0, $a2 -.L7F03A3F4: -/* 06EF24 7F03A3F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 06EF28 7F03A3F8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 06EF2C 7F03A3FC 03E00008 */ jr $ra -/* 06EF30 7F03A400 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_stateflag_0x04_for_posdata(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_stateflag_0x04_for_posdata -/* 06EF34 7F03A404 908E0001 */ lbu $t6, 1($a0) -/* 06EF38 7F03A408 35CF0004 */ ori $t7, $t6, 4 -/* 06EF3C 7F03A40C 03E00008 */ jr $ra -/* 06EF40 7F03A410 A08F0001 */ sb $t7, 1($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void unset_stateflag_0x04_for_posdata(void) { - -} -#else -GLOBAL_ASM( -.text -glabel unset_stateflag_0x04_for_posdata -/* 06EF44 7F03A414 908E0001 */ lbu $t6, 1($a0) -/* 06EF48 7F03A418 31CFFFFB */ andi $t7, $t6, 0xfffb -/* 06EF4C 7F03A41C 03E00008 */ jr $ra -/* 06EF50 7F03A420 A08F0001 */ sb $t7, 1($a0) -) -#endif - - - - - - -s32 *get_ptr_obj_pos_list_current_entry(void) { - return ptr_obj_pos_list_current_entry; -} - - - - - - -#ifdef NONMATCHING -void remove_last_obj_pos_data_entry(void) { - -} -#else -GLOBAL_ASM( -.text -glabel remove_last_obj_pos_data_entry -/* 06EF60 7F03A430 3C058003 */ lui $a1, %hi(ptr_obj_pos_list_final_entry) -/* 06EF64 7F03A434 24A50AA8 */ addiu $a1, %lo(ptr_obj_pos_list_final_entry) # addiu $a1, $a1, 0xaa8 -/* 06EF68 7F03A438 8CA30000 */ lw $v1, ($a1) -/* 06EF6C 7F03A43C 5060000F */ beql $v1, $zero, .L7F03A47C -/* 06EF70 7F03A440 00001025 */ move $v0, $zero -/* 06EF74 7F03A444 8C6E0024 */ lw $t6, 0x24($v1) -/* 06EF78 7F03A448 240F00FF */ li $t7, 255 -/* 06EF7C 7F03A44C 00601025 */ move $v0, $v1 -/* 06EF80 7F03A450 ACAE0000 */ sw $t6, ($a1) -/* 06EF84 7F03A454 AC600024 */ sw $zero, 0x24($v1) -/* 06EF88 7F03A458 AC600028 */ sw $zero, 0x28($v1) -/* 06EF8C 7F03A45C AC60001C */ sw $zero, 0x1c($v1) -/* 06EF90 7F03A460 AC600020 */ sw $zero, 0x20($v1) -/* 06EF94 7F03A464 A0600001 */ sb $zero, 1($v1) -/* 06EF98 7F03A468 AC600014 */ sw $zero, 0x14($v1) -/* 06EF9C 7F03A46C A4600002 */ sh $zero, 2($v1) -/* 06EFA0 7F03A470 03E00008 */ jr $ra -/* 06EFA4 7F03A474 A06F002C */ sb $t7, 0x2c($v1) - -/* 06EFA8 7F03A478 00001025 */ move $v0, $zero -.L7F03A47C: -/* 06EFAC 7F03A47C 03E00008 */ jr $ra -/* 06EFB0 7F03A480 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_last_obj_pos_data(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_last_obj_pos_data -/* 06EFB4 7F03A484 3C028003 */ lui $v0, %hi(ptr_obj_pos_list_final_entry) -/* 06EFB8 7F03A488 24420AA8 */ addiu $v0, %lo(ptr_obj_pos_list_final_entry) # addiu $v0, $v0, 0xaa8 -/* 06EFBC 7F03A48C 8C4E0000 */ lw $t6, ($v0) -/* 06EFC0 7F03A490 AC800028 */ sw $zero, 0x28($a0) -/* 06EFC4 7F03A494 AC800014 */ sw $zero, 0x14($a0) -/* 06EFC8 7F03A498 AC8E0024 */ sw $t6, 0x24($a0) -/* 06EFCC 7F03A49C 03E00008 */ jr $ra -/* 06EFD0 7F03A4A0 AC440000 */ sw $a0, ($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void set_current_objposdata_plus_0x28(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_current_objposdata_plus_0x28 -/* 06EFD4 7F03A4A4 3C038003 */ lui $v1, %hi(ptr_obj_pos_list_current_entry) -/* 06EFD8 7F03A4A8 24630AA0 */ addiu $v1, %lo(ptr_obj_pos_list_current_entry) # addiu $v1, $v1, 0xaa0 -/* 06EFDC 7F03A4AC 8C620000 */ lw $v0, ($v1) -/* 06EFE0 7F03A4B0 10400007 */ beqz $v0, .L7F03A4D0 -/* 06EFE4 7F03A4B4 00000000 */ nop -/* 06EFE8 7F03A4B8 AC440028 */ sw $a0, 0x28($v0) -/* 06EFEC 7F03A4BC 8C6E0000 */ lw $t6, ($v1) -/* 06EFF0 7F03A4C0 AC800028 */ sw $zero, 0x28($a0) -/* 06EFF4 7F03A4C4 AC8E0024 */ sw $t6, 0x24($a0) -/* 06EFF8 7F03A4C8 03E00008 */ jr $ra -/* 06EFFC 7F03A4CC AC640000 */ sw $a0, ($v1) - -.L7F03A4D0: -/* 06F000 7F03A4D0 3C028003 */ lui $v0, %hi(ptr_obj_pos_list_first_entry) -/* 06F004 7F03A4D4 AC800024 */ sw $zero, 0x24($a0) -/* 06F008 7F03A4D8 AC800028 */ sw $zero, 0x28($a0) -/* 06F00C 7F03A4DC 24420AA4 */ addiu $v0, %lo(ptr_obj_pos_list_first_entry) # addiu $v0, $v0, 0xaa4 -/* 06F010 7F03A4E0 AC440000 */ sw $a0, ($v0) -/* 06F014 7F03A4E4 AC640000 */ sw $a0, ($v1) -/* 06F018 7F03A4E8 03E00008 */ jr $ra -/* 06F01C 7F03A4EC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03A4F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03A4F0 -/* 06F020 7F03A4F0 3C038003 */ lui $v1, %hi(ptr_obj_pos_list_first_entry) -/* 06F024 7F03A4F4 24630AA4 */ addiu $v1, %lo(ptr_obj_pos_list_first_entry) # addiu $v1, $v1, 0xaa4 -/* 06F028 7F03A4F8 8C620000 */ lw $v0, ($v1) -/* 06F02C 7F03A4FC 3C018003 */ lui $at, %hi(ptr_obj_pos_list_current_entry) -/* 06F030 7F03A500 50400008 */ beql $v0, $zero, .L7F03A524 -/* 06F034 7F03A504 AC800024 */ sw $zero, 0x24($a0) -/* 06F038 7F03A508 AC440024 */ sw $a0, 0x24($v0) -/* 06F03C 7F03A50C 8C6E0000 */ lw $t6, ($v1) -/* 06F040 7F03A510 AC800024 */ sw $zero, 0x24($a0) -/* 06F044 7F03A514 AC8E0028 */ sw $t6, 0x28($a0) -/* 06F048 7F03A518 03E00008 */ jr $ra -/* 06F04C 7F03A51C AC640000 */ sw $a0, ($v1) - -/* 06F050 7F03A520 AC800024 */ sw $zero, 0x24($a0) -.L7F03A524: -/* 06F054 7F03A524 AC800028 */ sw $zero, 0x28($a0) -/* 06F058 7F03A528 AC640000 */ sw $a0, ($v1) -/* 06F05C 7F03A52C AC240AA0 */ sw $a0, %lo(ptr_obj_pos_list_current_entry)($at) -/* 06F060 7F03A530 03E00008 */ jr $ra -/* 06F064 7F03A534 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03A538(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03A538 -/* 06F068 7F03A538 3C028003 */ lui $v0, %hi(ptr_obj_pos_list_current_entry) -/* 06F06C 7F03A53C 24420AA0 */ addiu $v0, %lo(ptr_obj_pos_list_current_entry) # addiu $v0, $v0, 0xaa0 -/* 06F070 7F03A540 8C4E0000 */ lw $t6, ($v0) -/* 06F074 7F03A544 148E0003 */ bne $a0, $t6, .L7F03A554 -/* 06F078 7F03A548 00000000 */ nop -/* 06F07C 7F03A54C 8C8F0024 */ lw $t7, 0x24($a0) -/* 06F080 7F03A550 AC4F0000 */ sw $t7, ($v0) -.L7F03A554: -/* 06F084 7F03A554 3C028003 */ lui $v0, %hi(ptr_obj_pos_list_first_entry) -/* 06F088 7F03A558 24420AA4 */ addiu $v0, %lo(ptr_obj_pos_list_first_entry) # addiu $v0, $v0, 0xaa4 -/* 06F08C 7F03A55C 8C580000 */ lw $t8, ($v0) -/* 06F090 7F03A560 54980004 */ bnel $a0, $t8, .L7F03A574 -/* 06F094 7F03A564 8C820024 */ lw $v0, 0x24($a0) -/* 06F098 7F03A568 8C990028 */ lw $t9, 0x28($a0) -/* 06F09C 7F03A56C AC590000 */ sw $t9, ($v0) -/* 06F0A0 7F03A570 8C820024 */ lw $v0, 0x24($a0) -.L7F03A574: -/* 06F0A4 7F03A574 50400004 */ beql $v0, $zero, .L7F03A588 -/* 06F0A8 7F03A578 8C820028 */ lw $v0, 0x28($a0) -/* 06F0AC 7F03A57C 8C880028 */ lw $t0, 0x28($a0) -/* 06F0B0 7F03A580 AC480028 */ sw $t0, 0x28($v0) -/* 06F0B4 7F03A584 8C820028 */ lw $v0, 0x28($a0) -.L7F03A588: -/* 06F0B8 7F03A588 50400004 */ beql $v0, $zero, .L7F03A59C -/* 06F0BC 7F03A58C AC800024 */ sw $zero, 0x24($a0) -/* 06F0C0 7F03A590 8C890024 */ lw $t1, 0x24($a0) -/* 06F0C4 7F03A594 AC490024 */ sw $t1, 0x24($v0) -/* 06F0C8 7F03A598 AC800024 */ sw $zero, 0x24($a0) -.L7F03A59C: -/* 06F0CC 7F03A59C 03E00008 */ jr $ra -/* 06F0D0 7F03A5A0 AC800028 */ sw $zero, 0x28($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03A5A4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03A5A4 -/* 06F0D4 7F03A5A4 AC85001C */ sw $a1, 0x1c($a0) -/* 06F0D8 7F03A5A8 8CA20020 */ lw $v0, 0x20($a1) -/* 06F0DC 7F03A5AC 50400004 */ beql $v0, $zero, .L7F03A5C0 -/* 06F0E0 7F03A5B0 AC820024 */ sw $v0, 0x24($a0) -/* 06F0E4 7F03A5B4 AC440028 */ sw $a0, 0x28($v0) -/* 06F0E8 7F03A5B8 8CA20020 */ lw $v0, 0x20($a1) -/* 06F0EC 7F03A5BC AC820024 */ sw $v0, 0x24($a0) -.L7F03A5C0: -/* 06F0F0 7F03A5C0 AC800028 */ sw $zero, 0x28($a0) -/* 06F0F4 7F03A5C4 AC800014 */ sw $zero, 0x14($a0) -/* 06F0F8 7F03A5C8 03E00008 */ jr $ra -/* 06F0FC 7F03A5CC ACA40020 */ sw $a0, 0x20($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03A5D0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03A5D0 -/* 06F100 7F03A5D0 8C82001C */ lw $v0, 0x1c($a0) -/* 06F104 7F03A5D4 10400013 */ beqz $v0, .L7F03A624 -/* 06F108 7F03A5D8 00000000 */ nop -/* 06F10C 7F03A5DC 8C4E0020 */ lw $t6, 0x20($v0) -/* 06F110 7F03A5E0 548E0004 */ bnel $a0, $t6, .L7F03A5F4 -/* 06F114 7F03A5E4 8C820024 */ lw $v0, 0x24($a0) -/* 06F118 7F03A5E8 8C8F0024 */ lw $t7, 0x24($a0) -/* 06F11C 7F03A5EC AC4F0020 */ sw $t7, 0x20($v0) -/* 06F120 7F03A5F0 8C820024 */ lw $v0, 0x24($a0) -.L7F03A5F4: -/* 06F124 7F03A5F4 50400004 */ beql $v0, $zero, .L7F03A608 -/* 06F128 7F03A5F8 8C820028 */ lw $v0, 0x28($a0) -/* 06F12C 7F03A5FC 8C980028 */ lw $t8, 0x28($a0) -/* 06F130 7F03A600 AC580028 */ sw $t8, 0x28($v0) -/* 06F134 7F03A604 8C820028 */ lw $v0, 0x28($a0) -.L7F03A608: -/* 06F138 7F03A608 50400004 */ beql $v0, $zero, .L7F03A61C -/* 06F13C 7F03A60C AC80001C */ sw $zero, 0x1c($a0) -/* 06F140 7F03A610 8C990024 */ lw $t9, 0x24($a0) -/* 06F144 7F03A614 AC590024 */ sw $t9, 0x24($v0) -/* 06F148 7F03A618 AC80001C */ sw $zero, 0x1c($a0) -.L7F03A61C: -/* 06F14C 7F03A61C AC800024 */ sw $zero, 0x24($a0) -/* 06F150 7F03A620 AC800028 */ sw $zero, 0x28($a0) -.L7F03A624: -/* 06F154 7F03A624 03E00008 */ jr $ra -/* 06F158 7F03A628 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03A62C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03A62C -/* 06F15C 7F03A62C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 06F160 7F03A630 AFBF001C */ sw $ra, 0x1c($sp) -/* 06F164 7F03A634 AFB00018 */ sw $s0, 0x18($sp) -/* 06F168 7F03A638 90A20000 */ lbu $v0, ($a1) -/* 06F16C 7F03A63C 24010003 */ li $at, 3 -/* 06F170 7F03A640 00808025 */ move $s0, $a0 -/* 06F174 7F03A644 14410006 */ bne $v0, $at, .L7F03A660 -/* 06F178 7F03A648 00A03825 */ move $a3, $a1 -/* 06F17C 7F03A64C 00A02025 */ move $a0, $a1 -/* 06F180 7F03A650 0FC086FF */ jal sub_GAME_7F021BFC -/* 06F184 7F03A654 02002825 */ move $a1, $s0 -/* 06F188 7F03A658 10000021 */ b .L7F03A6E0 -/* 06F18C 7F03A65C 00408025 */ move $s0, $v0 -.L7F03A660: -/* 06F190 7F03A660 24010001 */ li $at, 1 -/* 06F194 7F03A664 10410006 */ beq $v0, $at, .L7F03A680 -/* 06F198 7F03A668 00E02025 */ move $a0, $a3 -/* 06F19C 7F03A66C 24010004 */ li $at, 4 -/* 06F1A0 7F03A670 10410003 */ beq $v0, $at, .L7F03A680 -/* 06F1A4 7F03A674 24010002 */ li $at, 2 -/* 06F1A8 7F03A678 54410006 */ bnel $v0, $at, .L7F03A694 -/* 06F1AC 7F03A67C 24010007 */ li $at, 7 -.L7F03A680: -/* 06F1B0 7F03A680 0FC12C54 */ jal sub_GAME_7F04B150 -/* 06F1B4 7F03A684 02002825 */ move $a1, $s0 -/* 06F1B8 7F03A688 10000015 */ b .L7F03A6E0 -/* 06F1BC 7F03A68C 00408025 */ move $s0, $v0 -/* 06F1C0 7F03A690 24010007 */ li $at, 7 -.L7F03A694: -/* 06F1C4 7F03A694 14410005 */ bne $v0, $at, .L7F03A6AC -/* 06F1C8 7F03A698 00E02025 */ move $a0, $a3 -/* 06F1CC 7F03A69C 0FC27568 */ jal sub_GAME_7F09D5A0 -/* 06F1D0 7F03A6A0 02002825 */ move $a1, $s0 -/* 06F1D4 7F03A6A4 1000000E */ b .L7F03A6E0 -/* 06F1D8 7F03A6A8 00408025 */ move $s0, $v0 -.L7F03A6AC: -/* 06F1DC 7F03A6AC 24010008 */ li $at, 8 -/* 06F1E0 7F03A6B0 14410005 */ bne $v0, $at, .L7F03A6C8 -/* 06F1E4 7F03A6B4 00E02025 */ move $a0, $a3 -/* 06F1E8 7F03A6B8 0FC27C0F */ jal sub_GAME_7F09F03C -/* 06F1EC 7F03A6BC 02002825 */ move $a1, $s0 -/* 06F1F0 7F03A6C0 10000007 */ b .L7F03A6E0 -/* 06F1F4 7F03A6C4 00408025 */ move $s0, $v0 -.L7F03A6C8: -/* 06F1F8 7F03A6C8 24010006 */ li $at, 6 -/* 06F1FC 7F03A6CC 14410004 */ bne $v0, $at, .L7F03A6E0 -/* 06F200 7F03A6D0 00E02025 */ move $a0, $a3 -/* 06F204 7F03A6D4 0FC22F30 */ jal sub_GAME_7F08BCC0 -/* 06F208 7F03A6D8 02002825 */ move $a1, $s0 -/* 06F20C 7F03A6DC 00408025 */ move $s0, $v0 -.L7F03A6E0: -/* 06F210 7F03A6E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 06F214 7F03A6E4 02001025 */ move $v0, $s0 -/* 06F218 7F03A6E8 8FB00018 */ lw $s0, 0x18($sp) -/* 06F21C 7F03A6EC 03E00008 */ jr $ra -/* 06F220 7F03A6F0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03A6F4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03A6F4 -/* 06F224 7F03A6F4 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 06F228 7F03A6F8 AFBF0034 */ sw $ra, 0x34($sp) -/* 06F22C 7F03A6FC AFB70030 */ sw $s7, 0x30($sp) -/* 06F230 7F03A700 AFB50028 */ sw $s5, 0x28($sp) -/* 06F234 7F03A704 AFB40024 */ sw $s4, 0x24($sp) -/* 06F238 7F03A708 0080A025 */ move $s4, $a0 -/* 06F23C 7F03A70C 00C0A825 */ move $s5, $a2 -/* 06F240 7F03A710 00A0B825 */ move $s7, $a1 -/* 06F244 7F03A714 AFB6002C */ sw $s6, 0x2c($sp) -/* 06F248 7F03A718 AFB30020 */ sw $s3, 0x20($sp) -/* 06F24C 7F03A71C AFB2001C */ sw $s2, 0x1c($sp) -/* 06F250 7F03A720 AFB10018 */ sw $s1, 0x18($sp) -/* 06F254 7F03A724 0C001A57 */ jal get_stage_num -/* 06F258 7F03A728 AFB00014 */ sw $s0, 0x14($sp) -/* 06F25C 7F03A72C 24010036 */ li $at, 54 -/* 06F260 7F03A730 14410008 */ bne $v0, $at, .L7F03A754 -/* 06F264 7F03A734 00000000 */ nop -/* 06F268 7F03A738 16A00003 */ bnez $s5, .L7F03A748 -/* 06F26C 7F03A73C 24010002 */ li $at, 2 -/* 06F270 7F03A740 10000083 */ b .L7F03A950 -/* 06F274 7F03A744 02801025 */ move $v0, $s4 -.L7F03A748: -/* 06F278 7F03A748 16A10002 */ bne $s5, $at, .L7F03A754 -/* 06F27C 7F03A74C 00000000 */ nop -/* 06F280 7F03A750 0000A825 */ move $s5, $zero -.L7F03A754: -/* 06F284 7F03A754 12A00003 */ beqz $s5, .L7F03A764 -/* 06F288 7F03A758 24010002 */ li $at, 2 -/* 06F28C 7F03A75C 16A10043 */ bne $s5, $at, .L7F03A86C -/* 06F290 7F03A760 3C138007 */ lui $s3, %hi(dword_CODE_bss_80071620) -.L7F03A764: -/* 06F294 7F03A764 3C138007 */ lui $s3, %hi(dword_CODE_bss_80071DF0) -/* 06F298 7F03A768 8E731DF0 */ lw $s3, %lo(dword_CODE_bss_80071DF0)($s3) -/* 06F29C 7F03A76C 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80071620) -/* 06F2A0 7F03A770 25CE1620 */ addiu $t6, %lo(dword_CODE_bss_80071620) # addiu $t6, $t6, 0x1620 -/* 06F2A4 7F03A774 2673FFFC */ addiu $s3, $s3, -4 -/* 06F2A8 7F03A778 026E082B */ sltu $at, $s3, $t6 -/* 06F2AC 7F03A77C 14200072 */ bnez $at, .L7F03A948 -/* 06F2B0 7F03A780 27B60048 */ addiu $s6, $sp, 0x48 -/* 06F2B4 7F03A784 8E720000 */ lw $s2, ($s3) -.L7F03A788: -/* 06F2B8 7F03A788 12400030 */ beqz $s2, .L7F03A84C -/* 06F2BC 7F03A78C 00000000 */ nop -/* 06F2C0 7F03A790 16A00007 */ bnez $s5, .L7F03A7B0 -/* 06F2C4 7F03A794 00008825 */ move $s1, $zero -/* 06F2C8 7F03A798 924F0001 */ lbu $t7, 1($s2) -/* 06F2CC 7F03A79C 31F80021 */ andi $t8, $t7, 0x21 -/* 06F2D0 7F03A7A0 57000004 */ bnezl $t8, .L7F03A7B4 -/* 06F2D4 7F03A7A4 24010002 */ li $at, 2 -/* 06F2D8 7F03A7A8 1000000A */ b .L7F03A7D4 -/* 06F2DC 7F03A7AC 24110001 */ li $s1, 1 -.L7F03A7B0: -/* 06F2E0 7F03A7B0 24010002 */ li $at, 2 -.L7F03A7B4: -/* 06F2E4 7F03A7B4 16A10007 */ bne $s5, $at, .L7F03A7D4 -/* 06F2E8 7F03A7B8 00000000 */ nop -/* 06F2EC 7F03A7BC 92590001 */ lbu $t9, 1($s2) -/* 06F2F0 7F03A7C0 24010001 */ li $at, 1 -/* 06F2F4 7F03A7C4 33280021 */ andi $t0, $t9, 0x21 -/* 06F2F8 7F03A7C8 15010002 */ bne $t0, $at, .L7F03A7D4 -/* 06F2FC 7F03A7CC 00000000 */ nop -/* 06F300 7F03A7D0 24110001 */ li $s1, 1 -.L7F03A7D4: -/* 06F304 7F03A7D4 1220001D */ beqz $s1, .L7F03A84C -/* 06F308 7F03A7D8 02402025 */ move $a0, $s2 -/* 06F30C 7F03A7DC 00008825 */ move $s1, $zero -/* 06F310 7F03A7E0 02C02825 */ move $a1, $s6 -/* 06F314 7F03A7E4 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 06F318 7F03A7E8 02C08025 */ move $s0, $s6 -/* 06F31C 7F03A7EC 8FA90048 */ lw $t1, 0x48($sp) -/* 06F320 7F03A7F0 27AA0048 */ addiu $t2, $sp, 0x48 -/* 06F324 7F03A7F4 0520000F */ bltz $t1, .L7F03A834 -/* 06F328 7F03A7F8 00000000 */ nop -/* 06F32C 7F03A7FC 8D440000 */ lw $a0, ($t2) -.L7F03A800: -/* 06F330 7F03A800 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 06F334 7F03A804 00000000 */ nop -/* 06F338 7F03A808 50400007 */ beql $v0, $zero, .L7F03A828 -/* 06F33C 7F03A80C 8E040004 */ lw $a0, 4($s0) -/* 06F340 7F03A810 8E0B0000 */ lw $t3, ($s0) -/* 06F344 7F03A814 16EB0007 */ bne $s7, $t3, .L7F03A834 -/* 06F348 7F03A818 00000000 */ nop -/* 06F34C 7F03A81C 10000005 */ b .L7F03A834 -/* 06F350 7F03A820 24110001 */ li $s1, 1 -/* 06F354 7F03A824 8E040004 */ lw $a0, 4($s0) -.L7F03A828: -/* 06F358 7F03A828 26100004 */ addiu $s0, $s0, 4 -/* 06F35C 7F03A82C 0481FFF4 */ bgez $a0, .L7F03A800 -/* 06F360 7F03A830 00000000 */ nop -.L7F03A834: -/* 06F364 7F03A834 12200005 */ beqz $s1, .L7F03A84C -/* 06F368 7F03A838 02802025 */ move $a0, $s4 -/* 06F36C 7F03A83C 02402825 */ move $a1, $s2 -/* 06F370 7F03A840 0FC0E98B */ jal sub_GAME_7F03A62C -/* 06F374 7F03A844 00003025 */ move $a2, $zero -/* 06F378 7F03A848 0040A025 */ move $s4, $v0 -.L7F03A84C: -/* 06F37C 7F03A84C 3C0C8007 */ lui $t4, %hi(dword_CODE_bss_80071620) -/* 06F380 7F03A850 258C1620 */ addiu $t4, %lo(dword_CODE_bss_80071620) # addiu $t4, $t4, 0x1620 -/* 06F384 7F03A854 2673FFFC */ addiu $s3, $s3, -4 -/* 06F388 7F03A858 026C082B */ sltu $at, $s3, $t4 -/* 06F38C 7F03A85C 5020FFCA */ beql $at, $zero, .L7F03A788 -/* 06F390 7F03A860 8E720000 */ lw $s2, ($s3) -/* 06F394 7F03A864 10000038 */ b .L7F03A948 -/* 06F398 7F03A868 00000000 */ nop -.L7F03A86C: -/* 06F39C 7F03A86C 3C158007 */ lui $s5, %hi(dword_CODE_bss_80071DF0) -/* 06F3A0 7F03A870 26B51DF0 */ addiu $s5, %lo(dword_CODE_bss_80071DF0) # addiu $s5, $s5, 0x1df0 -/* 06F3A4 7F03A874 8EAD0000 */ lw $t5, ($s5) -/* 06F3A8 7F03A878 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80071620+1) -/* 06F3AC 7F03A87C 25CE1621 */ addiu $t6, %lo(dword_CODE_bss_80071620+1) # addiu $t6, $t6, 0x1621 -/* 06F3B0 7F03A880 01AE082B */ sltu $at, $t5, $t6 -/* 06F3B4 7F03A884 14200030 */ bnez $at, .L7F03A948 -/* 06F3B8 7F03A888 26731620 */ addiu $s3, $s3, %lo(dword_CODE_bss_80071620) -/* 06F3BC 7F03A88C 27B60048 */ addiu $s6, $sp, 0x48 -/* 06F3C0 7F03A890 8E720000 */ lw $s2, ($s3) -.L7F03A894: -/* 06F3C4 7F03A894 00008825 */ move $s1, $zero -/* 06F3C8 7F03A898 02C02825 */ move $a1, $s6 -/* 06F3CC 7F03A89C 12400025 */ beqz $s2, .L7F03A934 -/* 06F3D0 7F03A8A0 02402025 */ move $a0, $s2 -/* 06F3D4 7F03A8A4 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 06F3D8 7F03A8A8 02C08025 */ move $s0, $s6 -/* 06F3DC 7F03A8AC 8FAF0048 */ lw $t7, 0x48($sp) -/* 06F3E0 7F03A8B0 27B80048 */ addiu $t8, $sp, 0x48 -/* 06F3E4 7F03A8B4 05E0000F */ bltz $t7, .L7F03A8F4 -/* 06F3E8 7F03A8B8 00000000 */ nop -/* 06F3EC 7F03A8BC 8F040000 */ lw $a0, ($t8) -.L7F03A8C0: -/* 06F3F0 7F03A8C0 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 06F3F4 7F03A8C4 00000000 */ nop -/* 06F3F8 7F03A8C8 50400007 */ beql $v0, $zero, .L7F03A8E8 -/* 06F3FC 7F03A8CC 8E040004 */ lw $a0, 4($s0) -/* 06F400 7F03A8D0 8E190000 */ lw $t9, ($s0) -/* 06F404 7F03A8D4 16F90007 */ bne $s7, $t9, .L7F03A8F4 -/* 06F408 7F03A8D8 00000000 */ nop -/* 06F40C 7F03A8DC 10000005 */ b .L7F03A8F4 -/* 06F410 7F03A8E0 24110001 */ li $s1, 1 -/* 06F414 7F03A8E4 8E040004 */ lw $a0, 4($s0) -.L7F03A8E8: -/* 06F418 7F03A8E8 26100004 */ addiu $s0, $s0, 4 -/* 06F41C 7F03A8EC 0481FFF4 */ bgez $a0, .L7F03A8C0 -/* 06F420 7F03A8F0 00000000 */ nop -.L7F03A8F4: -/* 06F424 7F03A8F4 52200010 */ beql $s1, $zero, .L7F03A938 -/* 06F428 7F03A8F8 8EAA0000 */ lw $t2, ($s5) -/* 06F42C 7F03A8FC 92480001 */ lbu $t0, 1($s2) -/* 06F430 7F03A900 02802025 */ move $a0, $s4 -/* 06F434 7F03A904 02402825 */ move $a1, $s2 -/* 06F438 7F03A908 31090020 */ andi $t1, $t0, 0x20 -/* 06F43C 7F03A90C 51200005 */ beql $t1, $zero, .L7F03A924 -/* 06F440 7F03A910 02802025 */ move $a0, $s4 -/* 06F444 7F03A914 0FC0E98B */ jal sub_GAME_7F03A62C -/* 06F448 7F03A918 00003025 */ move $a2, $zero -/* 06F44C 7F03A91C 0040A025 */ move $s4, $v0 -/* 06F450 7F03A920 02802025 */ move $a0, $s4 -.L7F03A924: -/* 06F454 7F03A924 02402825 */ move $a1, $s2 -/* 06F458 7F03A928 0FC0E98B */ jal sub_GAME_7F03A62C -/* 06F45C 7F03A92C 24060001 */ li $a2, 1 -/* 06F460 7F03A930 0040A025 */ move $s4, $v0 -.L7F03A934: -/* 06F464 7F03A934 8EAA0000 */ lw $t2, ($s5) -.L7F03A938: -/* 06F468 7F03A938 26730004 */ addiu $s3, $s3, 4 -/* 06F46C 7F03A93C 026A082B */ sltu $at, $s3, $t2 -/* 06F470 7F03A940 5420FFD4 */ bnezl $at, .L7F03A894 -/* 06F474 7F03A944 8E720000 */ lw $s2, ($s3) -.L7F03A948: -/* 06F478 7F03A948 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 06F47C 7F03A94C 02802025 */ move $a0, $s4 -.L7F03A950: -/* 06F480 7F03A950 8FBF0034 */ lw $ra, 0x34($sp) -/* 06F484 7F03A954 8FB00014 */ lw $s0, 0x14($sp) -/* 06F488 7F03A958 8FB10018 */ lw $s1, 0x18($sp) -/* 06F48C 7F03A95C 8FB2001C */ lw $s2, 0x1c($sp) -/* 06F490 7F03A960 8FB30020 */ lw $s3, 0x20($sp) -/* 06F494 7F03A964 8FB40024 */ lw $s4, 0x24($sp) -/* 06F498 7F03A968 8FB50028 */ lw $s5, 0x28($sp) -/* 06F49C 7F03A96C 8FB6002C */ lw $s6, 0x2c($sp) -/* 06F4A0 7F03A970 8FB70030 */ lw $s7, 0x30($sp) -/* 06F4A4 7F03A974 03E00008 */ jr $ra -/* 06F4A8 7F03A978 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03A97C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03A97C -/* 06F4AC 7F03A97C 00047080 */ sll $t6, $a0, 2 -/* 06F4B0 7F03A980 01C47021 */ addu $t6, $t6, $a0 -/* 06F4B4 7F03A984 3C0F8004 */ lui $t7, %hi(D_80041414) -/* 06F4B8 7F03A988 25EF1414 */ addiu $t7, %lo(D_80041414) # addiu $t7, $t7, 0x1414 -/* 06F4BC 7F03A98C 000E7100 */ sll $t6, $t6, 4 -/* 06F4C0 7F03A990 01CF1021 */ addu $v0, $t6, $t7 -/* 06F4C4 7F03A994 8C58002C */ lw $t8, 0x2c($v0) -/* 06F4C8 7F03A998 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 06F4CC 7F03A99C AFBF0014 */ sw $ra, 0x14($sp) -/* 06F4D0 7F03A9A0 AFA5003C */ sw $a1, 0x3c($sp) -/* 06F4D4 7F03A9A4 13000022 */ beqz $t8, .L7F03AA30 -/* 06F4D8 7F03A9A8 AFA60040 */ sw $a2, 0x40($sp) -/* 06F4DC 7F03A9AC C4440038 */ lwc1 $f4, 0x38($v0) -/* 06F4E0 7F03A9B0 C448003C */ lwc1 $f8, 0x3c($v0) -/* 06F4E4 7F03A9B4 C4500040 */ lwc1 $f16, 0x40($v0) -/* 06F4E8 7F03A9B8 4600218D */ trunc.w.s $f6, $f4 -/* 06F4EC 7F03A9BC C4440044 */ lwc1 $f4, 0x44($v0) -/* 06F4F0 7F03A9C0 00A02025 */ move $a0, $a1 -/* 06F4F4 7F03A9C4 4600428D */ trunc.w.s $f10, $f8 -/* 06F4F8 7F03A9C8 C4480048 */ lwc1 $f8, 0x48($v0) -/* 06F4FC 7F03A9CC 44083000 */ mfc1 $t0, $f6 -/* 06F500 7F03A9D0 4600848D */ trunc.w.s $f18, $f16 -/* 06F504 7F03A9D4 C450004C */ lwc1 $f16, 0x4c($v0) -/* 06F508 7F03A9D8 440A5000 */ mfc1 $t2, $f10 -/* 06F50C 7F03A9DC 4600218D */ trunc.w.s $f6, $f4 -/* 06F510 7F03A9E0 440C9000 */ mfc1 $t4, $f18 -/* 06F514 7F03A9E4 AFA80020 */ sw $t0, 0x20($sp) -/* 06F518 7F03A9E8 4600428D */ trunc.w.s $f10, $f8 -/* 06F51C 7F03A9EC 440E3000 */ mfc1 $t6, $f6 -/* 06F520 7F03A9F0 00C02825 */ move $a1, $a2 -/* 06F524 7F03A9F4 4600848D */ trunc.w.s $f18, $f16 -/* 06F528 7F03A9F8 44185000 */ mfc1 $t8, $f10 -/* 06F52C 7F03A9FC 27A60020 */ addiu $a2, $sp, 0x20 -/* 06F530 7F03AA00 27A7002C */ addiu $a3, $sp, 0x2c -/* 06F534 7F03AA04 44089000 */ mfc1 $t0, $f18 -/* 06F538 7F03AA08 AFAA0024 */ sw $t2, 0x24($sp) -/* 06F53C 7F03AA0C AFAC0028 */ sw $t4, 0x28($sp) -/* 06F540 7F03AA10 AFAE002C */ sw $t6, 0x2c($sp) -/* 06F544 7F03AA14 AFB80030 */ sw $t8, 0x30($sp) -/* 06F548 7F03AA18 0FC2DB3B */ jal sub_GAME_7F0B6CEC -/* 06F54C 7F03AA1C AFA80034 */ sw $t0, 0x34($sp) -/* 06F550 7F03AA20 50400004 */ beql $v0, $zero, .L7F03AA34 -/* 06F554 7F03AA24 00001025 */ move $v0, $zero -/* 06F558 7F03AA28 10000002 */ b .L7F03AA34 -/* 06F55C 7F03AA2C 24020001 */ li $v0, 1 -.L7F03AA30: -/* 06F560 7F03AA30 00001025 */ move $v0, $zero -.L7F03AA34: -/* 06F564 7F03AA34 8FBF0014 */ lw $ra, 0x14($sp) -/* 06F568 7F03AA38 27BD0038 */ addiu $sp, $sp, 0x38 -/* 06F56C 7F03AA3C 03E00008 */ jr $ra -/* 06F570 7F03AA40 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03AA44(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03AA44 -/* 06F574 7F03AA44 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 06F578 7F03AA48 AFBF002C */ sw $ra, 0x2c($sp) -/* 06F57C 7F03AA4C AFB30024 */ sw $s3, 0x24($sp) -/* 06F580 7F03AA50 AFB20020 */ sw $s2, 0x20($sp) -/* 06F584 7F03AA54 AFB1001C */ sw $s1, 0x1c($sp) -/* 06F588 7F03AA58 00A08825 */ move $s1, $a1 -/* 06F58C 7F03AA5C 00C09025 */ move $s2, $a2 -/* 06F590 7F03AA60 00E09825 */ move $s3, $a3 -/* 06F594 7F03AA64 AFB40028 */ sw $s4, 0x28($sp) -/* 06F598 7F03AA68 AFB00018 */ sw $s0, 0x18($sp) -/* 06F59C 7F03AA6C 0FC2D20F */ jal get_room_data_float1 -/* 06F5A0 7F03AA70 AFA40058 */ sw $a0, 0x58($sp) -/* 06F5A4 7F03AA74 0FC2D21E */ jal sub_GAME_7F0B4878 -/* 06F5A8 7F03AA78 E7A00034 */ swc1 $f0, 0x34($sp) -/* 06F5AC 7F03AA7C C6440000 */ lwc1 $f4, ($s2) -/* 06F5B0 7F03AA80 C6260000 */ lwc1 $f6, ($s1) -/* 06F5B4 7F03AA84 24100001 */ li $s0, 1 -/* 06F5B8 7F03AA88 46062201 */ sub.s $f8, $f4, $f6 -/* 06F5BC 7F03AA8C E7A80040 */ swc1 $f8, 0x40($sp) -/* 06F5C0 7F03AA90 C6300004 */ lwc1 $f16, 4($s1) -/* 06F5C4 7F03AA94 C64A0004 */ lwc1 $f10, 4($s2) -/* 06F5C8 7F03AA98 46105481 */ sub.s $f18, $f10, $f16 -/* 06F5CC 7F03AA9C C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 06F5D0 7F03AAA0 E7B20044 */ swc1 $f18, 0x44($sp) -/* 06F5D4 7F03AAA4 C6260008 */ lwc1 $f6, 8($s1) -/* 06F5D8 7F03AAA8 C6440008 */ lwc1 $f4, 8($s2) -/* 06F5DC 7F03AAAC 460A0082 */ mul.s $f2, $f0, $f10 -/* 06F5E0 7F03AAB0 46062201 */ sub.s $f8, $f4, $f6 -/* 06F5E4 7F03AAB4 E7A80048 */ swc1 $f8, 0x48($sp) -/* 06F5E8 7F03AAB8 C6300000 */ lwc1 $f16, ($s1) -/* 06F5EC 7F03AABC 46028482 */ mul.s $f18, $f16, $f2 -/* 06F5F0 7F03AAC0 E7B2004C */ swc1 $f18, 0x4c($sp) -/* 06F5F4 7F03AAC4 C6240004 */ lwc1 $f4, 4($s1) -/* 06F5F8 7F03AAC8 46022182 */ mul.s $f6, $f4, $f2 -/* 06F5FC 7F03AACC E7A60050 */ swc1 $f6, 0x50($sp) -/* 06F600 7F03AAD0 C6280008 */ lwc1 $f8, 8($s1) -/* 06F604 7F03AAD4 46024282 */ mul.s $f10, $f8, $f2 -/* 06F608 7F03AAD8 0FC2D791 */ jal getMaxNumRooms -/* 06F60C 7F03AADC E7AA0054 */ swc1 $f10, 0x54($sp) -/* 06F610 7F03AAE0 28410002 */ slti $at, $v0, 2 -/* 06F614 7F03AAE4 14200014 */ bnez $at, .L7F03AB38 -/* 06F618 7F03AAE8 02708821 */ addu $s1, $s3, $s0 -/* 06F61C 7F03AAEC 24140001 */ li $s4, 1 -/* 06F620 7F03AAF0 27B30040 */ addiu $s3, $sp, 0x40 -/* 06F624 7F03AAF4 27B2004C */ addiu $s2, $sp, 0x4c -/* 06F628 7F03AAF8 922E0000 */ lbu $t6, ($s1) -.L7F03AAFC: -/* 06F62C 7F03AAFC 02002025 */ move $a0, $s0 -/* 06F630 7F03AB00 02402825 */ move $a1, $s2 -/* 06F634 7F03AB04 55C00007 */ bnezl $t6, .L7F03AB24 -/* 06F638 7F03AB08 26100001 */ addiu $s0, $s0, 1 -/* 06F63C 7F03AB0C 0FC0EA5F */ jal sub_GAME_7F03A97C -/* 06F640 7F03AB10 02603025 */ move $a2, $s3 -/* 06F644 7F03AB14 54400003 */ bnezl $v0, .L7F03AB24 -/* 06F648 7F03AB18 26100001 */ addiu $s0, $s0, 1 -/* 06F64C 7F03AB1C A2340000 */ sb $s4, ($s1) -/* 06F650 7F03AB20 26100001 */ addiu $s0, $s0, 1 -.L7F03AB24: -/* 06F654 7F03AB24 0FC2D791 */ jal getMaxNumRooms -/* 06F658 7F03AB28 26310001 */ addiu $s1, $s1, 1 -/* 06F65C 7F03AB2C 0202082A */ slt $at, $s0, $v0 -/* 06F660 7F03AB30 5420FFF2 */ bnezl $at, .L7F03AAFC -/* 06F664 7F03AB34 922E0000 */ lbu $t6, ($s1) -.L7F03AB38: -/* 06F668 7F03AB38 8FBF002C */ lw $ra, 0x2c($sp) -/* 06F66C 7F03AB3C 8FB00018 */ lw $s0, 0x18($sp) -/* 06F670 7F03AB40 8FB1001C */ lw $s1, 0x1c($sp) -/* 06F674 7F03AB44 8FB20020 */ lw $s2, 0x20($sp) -/* 06F678 7F03AB48 8FB30024 */ lw $s3, 0x24($sp) -/* 06F67C 7F03AB4C 8FB40028 */ lw $s4, 0x28($sp) -/* 06F680 7F03AB50 03E00008 */ jr $ra -/* 06F684 7F03AB54 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03AB58(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03AB58 -/* 06F688 7F03AB58 27BDFDE0 */ addiu $sp, $sp, -0x220 -/* 06F68C 7F03AB5C AFBF003C */ sw $ra, 0x3c($sp) -/* 06F690 7F03AB60 AFB20024 */ sw $s2, 0x24($sp) -/* 06F694 7F03AB64 00809025 */ move $s2, $a0 -/* 06F698 7F03AB68 AFB70038 */ sw $s7, 0x38($sp) -/* 06F69C 7F03AB6C AFB60034 */ sw $s6, 0x34($sp) -/* 06F6A0 7F03AB70 AFB50030 */ sw $s5, 0x30($sp) -/* 06F6A4 7F03AB74 AFB4002C */ sw $s4, 0x2c($sp) -/* 06F6A8 7F03AB78 AFB30028 */ sw $s3, 0x28($sp) -/* 06F6AC 7F03AB7C AFB10020 */ sw $s1, 0x20($sp) -/* 06F6B0 7F03AB80 AFB0001C */ sw $s0, 0x1c($sp) -/* 06F6B4 7F03AB84 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 06F6B8 7F03AB88 AFA50224 */ sw $a1, 0x224($sp) -/* 06F6BC 7F03AB8C AFA60228 */ sw $a2, 0x228($sp) -/* 06F6C0 7F03AB90 0FC2D20C */ jal get_room_data_float2 -/* 06F6C4 7F03AB94 AFA7022C */ sw $a3, 0x22c($sp) -/* 06F6C8 7F03AB98 46000506 */ mov.s $f20, $f0 -/* 06F6CC 7F03AB9C 27A40090 */ addiu $a0, $sp, 0x90 -/* 06F6D0 7F03ABA0 0FC2E3A6 */ jal sub_GAME_7F0B8E98 -/* 06F6D4 7F03ABA4 24050064 */ li $a1, 100 -/* 06F6D8 7F03ABA8 18400085 */ blez $v0, .L7F03ADC0 -/* 06F6DC 7F03ABAC 27B00090 */ addiu $s0, $sp, 0x90 -/* 06F6E0 7F03ABB0 00027880 */ sll $t7, $v0, 2 -/* 06F6E4 7F03ABB4 01F0A021 */ addu $s4, $t7, $s0 -/* 06F6E8 7F03ABB8 24170001 */ li $s7, 1 -/* 06F6EC 7F03ABBC 8FB60230 */ lw $s6, 0x230($sp) -/* 06F6F0 7F03ABC0 27B30054 */ addiu $s3, $sp, 0x54 -/* 06F6F4 7F03ABC4 8FB10234 */ lw $s1, 0x234($sp) -/* 06F6F8 7F03ABC8 8E180000 */ lw $t8, ($s0) -.L7F03ABCC: -/* 06F6FC 7F03ABCC 03161021 */ addu $v0, $t8, $s6 -/* 06F700 7F03ABD0 90590000 */ lbu $t9, ($v0) -/* 06F704 7F03ABD4 57200077 */ bnezl $t9, .L7F03ADB4 -/* 06F708 7F03ABD8 26100004 */ addiu $s0, $s0, 4 -/* 06F70C 7F03ABDC A0570000 */ sb $s7, ($v0) -/* 06F710 7F03ABE0 8FA60228 */ lw $a2, 0x228($sp) -/* 06F714 7F03ABE4 8FA5022C */ lw $a1, 0x22c($sp) -/* 06F718 7F03ABE8 0FC0EA5F */ jal sub_GAME_7F03A97C -/* 06F71C 7F03ABEC 8E040000 */ lw $a0, ($s0) -/* 06F720 7F03ABF0 1040006F */ beqz $v0, .L7F03ADB0 -/* 06F724 7F03ABF4 02402025 */ move $a0, $s2 -/* 06F728 7F03ABF8 8FA50224 */ lw $a1, 0x224($sp) -/* 06F72C 7F03ABFC 8E060000 */ lw $a2, ($s0) -/* 06F730 7F03AC00 0FC2DE9E */ jal sub_GAME_7F0B7A78 -/* 06F734 7F03AC04 02603825 */ move $a3, $s3 -/* 06F738 7F03AC08 10400069 */ beqz $v0, .L7F03ADB0 -/* 06F73C 7F03AC0C C7A40054 */ lwc1 $f4, 0x54($sp) -/* 06F740 7F03AC10 46142182 */ mul.s $f6, $f4, $f20 -/* 06F744 7F03AC14 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 06F748 7F03AC18 C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 06F74C 7F03AC1C 8FA80238 */ lw $t0, 0x238($sp) -/* 06F750 7F03AC20 46144282 */ mul.s $f10, $f8, $f20 -/* 06F754 7F03AC24 8E020000 */ lw $v0, ($s0) -/* 06F758 7F03AC28 02606025 */ move $t4, $s3 -/* 06F75C 7F03AC2C 46148482 */ mul.s $f18, $f16, $f20 -/* 06F760 7F03AC30 E7A60054 */ swc1 $f6, 0x54($sp) -/* 06F764 7F03AC34 02206825 */ move $t5, $s1 -/* 06F768 7F03AC38 266B0030 */ addiu $t3, $s3, 0x30 -/* 06F76C 7F03AC3C E7AA0058 */ swc1 $f10, 0x58($sp) -/* 06F770 7F03AC40 19000051 */ blez $t0, .L7F03AD88 -/* 06F774 7F03AC44 E7B2005C */ swc1 $f18, 0x5c($sp) -/* 06F778 7F03AC48 C6200000 */ lwc1 $f0, ($s1) -/* 06F77C 7F03AC4C C6420000 */ lwc1 $f2, ($s2) -/* 06F780 7F03AC50 4600103E */ c.le.s $f2, $f0 -/* 06F784 7F03AC54 00000000 */ nop -/* 06F788 7F03AC58 4502000A */ bc1fl .L7F03AC84 -/* 06F78C 7F03AC5C 4602003E */ c.le.s $f0, $f2 -/* 06F790 7F03AC60 4606103E */ c.le.s $f2, $f6 -/* 06F794 7F03AC64 00000000 */ nop -/* 06F798 7F03AC68 45020006 */ bc1fl .L7F03AC84 -/* 06F79C 7F03AC6C 4602003E */ c.le.s $f0, $f2 -/* 06F7A0 7F03AC70 4600303C */ c.lt.s $f6, $f0 -/* 06F7A4 7F03AC74 00000000 */ nop -/* 06F7A8 7F03AC78 4503000E */ bc1tl .L7F03ACB4 -/* 06F7AC 7F03AC7C C6200004 */ lwc1 $f0, 4($s1) -/* 06F7B0 7F03AC80 4602003E */ c.le.s $f0, $f2 -.L7F03AC84: -/* 06F7B4 7F03AC84 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 06F7B8 7F03AC88 4502004A */ bc1fl .L7F03ADB4 -/* 06F7BC 7F03AC8C 26100004 */ addiu $s0, $s0, 4 -/* 06F7C0 7F03AC90 4602203E */ c.le.s $f4, $f2 -/* 06F7C4 7F03AC94 00000000 */ nop -/* 06F7C8 7F03AC98 45020046 */ bc1fl .L7F03ADB4 -/* 06F7CC 7F03AC9C 26100004 */ addiu $s0, $s0, 4 -/* 06F7D0 7F03ACA0 4604003C */ c.lt.s $f0, $f4 -/* 06F7D4 7F03ACA4 00000000 */ nop -/* 06F7D8 7F03ACA8 45020042 */ bc1fl .L7F03ADB4 -/* 06F7DC 7F03ACAC 26100004 */ addiu $s0, $s0, 4 -/* 06F7E0 7F03ACB0 C6200004 */ lwc1 $f0, 4($s1) -.L7F03ACB4: -/* 06F7E4 7F03ACB4 C6420004 */ lwc1 $f2, 4($s2) -/* 06F7E8 7F03ACB8 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 06F7EC 7F03ACBC 4600103E */ c.le.s $f2, $f0 -/* 06F7F0 7F03ACC0 00000000 */ nop -/* 06F7F4 7F03ACC4 4502000A */ bc1fl .L7F03ACF0 -/* 06F7F8 7F03ACC8 4602003E */ c.le.s $f0, $f2 -/* 06F7FC 7F03ACCC 4608103E */ c.le.s $f2, $f8 -/* 06F800 7F03ACD0 00000000 */ nop -/* 06F804 7F03ACD4 45020006 */ bc1fl .L7F03ACF0 -/* 06F808 7F03ACD8 4602003E */ c.le.s $f0, $f2 -/* 06F80C 7F03ACDC 4600403C */ c.lt.s $f8, $f0 -/* 06F810 7F03ACE0 00000000 */ nop -/* 06F814 7F03ACE4 4503000E */ bc1tl .L7F03AD20 -/* 06F818 7F03ACE8 C6200008 */ lwc1 $f0, 8($s1) -/* 06F81C 7F03ACEC 4602003E */ c.le.s $f0, $f2 -.L7F03ACF0: -/* 06F820 7F03ACF0 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 06F824 7F03ACF4 4502002F */ bc1fl .L7F03ADB4 -/* 06F828 7F03ACF8 26100004 */ addiu $s0, $s0, 4 -/* 06F82C 7F03ACFC 4602503E */ c.le.s $f10, $f2 -/* 06F830 7F03AD00 00000000 */ nop -/* 06F834 7F03AD04 4502002B */ bc1fl .L7F03ADB4 -/* 06F838 7F03AD08 26100004 */ addiu $s0, $s0, 4 -/* 06F83C 7F03AD0C 460A003C */ c.lt.s $f0, $f10 -/* 06F840 7F03AD10 00000000 */ nop -/* 06F844 7F03AD14 45020027 */ bc1fl .L7F03ADB4 -/* 06F848 7F03AD18 26100004 */ addiu $s0, $s0, 4 -/* 06F84C 7F03AD1C C6200008 */ lwc1 $f0, 8($s1) -.L7F03AD20: -/* 06F850 7F03AD20 C6420008 */ lwc1 $f2, 8($s2) -/* 06F854 7F03AD24 C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 06F858 7F03AD28 4600103E */ c.le.s $f2, $f0 -/* 06F85C 7F03AD2C 00000000 */ nop -/* 06F860 7F03AD30 4502000A */ bc1fl .L7F03AD5C -/* 06F864 7F03AD34 4602003E */ c.le.s $f0, $f2 -/* 06F868 7F03AD38 4610103E */ c.le.s $f2, $f16 -/* 06F86C 7F03AD3C 00000000 */ nop -/* 06F870 7F03AD40 45020006 */ bc1fl .L7F03AD5C -/* 06F874 7F03AD44 4602003E */ c.le.s $f0, $f2 -/* 06F878 7F03AD48 4600803C */ c.lt.s $f16, $f0 -/* 06F87C 7F03AD4C 00000000 */ nop -/* 06F880 7F03AD50 4503000E */ bc1tl .L7F03AD8C -/* 06F884 7F03AD54 AFA20238 */ sw $v0, 0x238($sp) -/* 06F888 7F03AD58 4602003E */ c.le.s $f0, $f2 -.L7F03AD5C: -/* 06F88C 7F03AD5C C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 06F890 7F03AD60 45020014 */ bc1fl .L7F03ADB4 -/* 06F894 7F03AD64 26100004 */ addiu $s0, $s0, 4 -/* 06F898 7F03AD68 4602903E */ c.le.s $f18, $f2 -/* 06F89C 7F03AD6C 00000000 */ nop -/* 06F8A0 7F03AD70 45020010 */ bc1fl .L7F03ADB4 -/* 06F8A4 7F03AD74 26100004 */ addiu $s0, $s0, 4 -/* 06F8A8 7F03AD78 4612003C */ c.lt.s $f0, $f18 -/* 06F8AC 7F03AD7C 00000000 */ nop -/* 06F8B0 7F03AD80 4502000C */ bc1fl .L7F03ADB4 -/* 06F8B4 7F03AD84 26100004 */ addiu $s0, $s0, 4 -.L7F03AD88: -/* 06F8B8 7F03AD88 AFA20238 */ sw $v0, 0x238($sp) -.L7F03AD8C: -/* 06F8BC 7F03AD8C 8D810000 */ lw $at, ($t4) -/* 06F8C0 7F03AD90 258C000C */ addiu $t4, $t4, 0xc -/* 06F8C4 7F03AD94 25AD000C */ addiu $t5, $t5, 0xc -/* 06F8C8 7F03AD98 ADA1FFF4 */ sw $at, -0xc($t5) -/* 06F8CC 7F03AD9C 8D81FFF8 */ lw $at, -8($t4) -/* 06F8D0 7F03ADA0 ADA1FFF8 */ sw $at, -8($t5) -/* 06F8D4 7F03ADA4 8D81FFFC */ lw $at, -4($t4) -/* 06F8D8 7F03ADA8 158BFFF8 */ bne $t4, $t3, .L7F03AD8C -/* 06F8DC 7F03ADAC ADA1FFFC */ sw $at, -4($t5) -.L7F03ADB0: -/* 06F8E0 7F03ADB0 26100004 */ addiu $s0, $s0, 4 -.L7F03ADB4: -/* 06F8E4 7F03ADB4 0214082B */ sltu $at, $s0, $s4 -/* 06F8E8 7F03ADB8 5420FF84 */ bnezl $at, .L7F03ABCC -/* 06F8EC 7F03ADBC 8E180000 */ lw $t8, ($s0) -.L7F03ADC0: -/* 06F8F0 7F03ADC0 8FBF003C */ lw $ra, 0x3c($sp) -/* 06F8F4 7F03ADC4 8FA20238 */ lw $v0, 0x238($sp) -/* 06F8F8 7F03ADC8 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 06F8FC 7F03ADCC 8FB0001C */ lw $s0, 0x1c($sp) -/* 06F900 7F03ADD0 8FB10020 */ lw $s1, 0x20($sp) -/* 06F904 7F03ADD4 8FB20024 */ lw $s2, 0x24($sp) -/* 06F908 7F03ADD8 8FB30028 */ lw $s3, 0x28($sp) -/* 06F90C 7F03ADDC 8FB4002C */ lw $s4, 0x2c($sp) -/* 06F910 7F03ADE0 8FB50030 */ lw $s5, 0x30($sp) -/* 06F914 7F03ADE4 8FB60034 */ lw $s6, 0x34($sp) -/* 06F918 7F03ADE8 8FB70038 */ lw $s7, 0x38($sp) -/* 06F91C 7F03ADEC 03E00008 */ jr $ra -/* 06F920 7F03ADF0 27BD0220 */ addiu $sp, $sp, 0x220 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03ADF4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03ADF4 -/* 06F924 7F03ADF4 27BDFD08 */ addiu $sp, $sp, -0x2f8 -/* 06F928 7F03ADF8 AFBE0038 */ sw $fp, 0x38($sp) -/* 06F92C 7F03ADFC AFB70034 */ sw $s7, 0x34($sp) -/* 06F930 7F03AE00 AFB60030 */ sw $s6, 0x30($sp) -/* 06F934 7F03AE04 AFB5002C */ sw $s5, 0x2c($sp) -/* 06F938 7F03AE08 AFB40028 */ sw $s4, 0x28($sp) -/* 06F93C 7F03AE0C AFB20020 */ sw $s2, 0x20($sp) -/* 06F940 7F03AE10 AFB00018 */ sw $s0, 0x18($sp) -/* 06F944 7F03AE14 AFBF003C */ sw $ra, 0x3c($sp) -/* 06F948 7F03AE18 AFB30024 */ sw $s3, 0x24($sp) -/* 06F94C 7F03AE1C AFB1001C */ sw $s1, 0x1c($sp) -/* 06F950 7F03AE20 AFA502FC */ sw $a1, 0x2fc($sp) -/* 06F954 7F03AE24 AFA60300 */ sw $a2, 0x300($sp) -/* 06F958 7F03AE28 AFA70304 */ sw $a3, 0x304($sp) -/* 06F95C 7F03AE2C A3A401F8 */ sb $a0, 0x1f8($sp) -/* 06F960 7F03AE30 24100001 */ li $s0, 1 -/* 06F964 7F03AE34 27B20064 */ addiu $s2, $sp, 0x64 -/* 06F968 7F03AE38 27B401F8 */ addiu $s4, $sp, 0x1f8 -/* 06F96C 7F03AE3C 0000A825 */ move $s5, $zero -/* 06F970 7F03AE40 27B601F8 */ addiu $s6, $sp, 0x1f8 -/* 06F974 7F03AE44 8FB7030C */ lw $s7, 0x30c($sp) -/* 06F978 7F03AE48 8FBE0308 */ lw $fp, 0x308($sp) -.L7F03AE4C: -/* 06F97C 7F03AE4C 92D30000 */ lbu $s3, ($s6) -/* 06F980 7F03AE50 240F0001 */ li $t7, 1 -/* 06F984 7F03AE54 03C02825 */ move $a1, $fp -/* 06F988 7F03AE58 02F31021 */ addu $v0, $s7, $s3 -/* 06F98C 7F03AE5C 904E0000 */ lbu $t6, ($v0) -/* 06F990 7F03AE60 02602025 */ move $a0, $s3 -/* 06F994 7F03AE64 55C0000F */ bnezl $t6, .L7F03AEA4 -/* 06F998 7F03AE68 02602025 */ move $a0, $s3 -/* 06F99C 7F03AE6C A04F0000 */ sb $t7, ($v0) -/* 06F9A0 7F03AE70 0FC0EA5F */ jal sub_GAME_7F03A97C -/* 06F9A4 7F03AE74 8FA60304 */ lw $a2, 0x304($sp) -/* 06F9A8 7F03AE78 10400009 */ beqz $v0, .L7F03AEA0 -/* 06F9AC 7F03AE7C 8FA402FC */ lw $a0, 0x2fc($sp) -/* 06F9B0 7F03AE80 8FA50300 */ lw $a1, 0x300($sp) -/* 06F9B4 7F03AE84 02603025 */ move $a2, $s3 -/* 06F9B8 7F03AE88 0FC2DE9E */ jal sub_GAME_7F0B7A78 -/* 06F9BC 7F03AE8C 8FA70310 */ lw $a3, 0x310($sp) -/* 06F9C0 7F03AE90 50400004 */ beql $v0, $zero, .L7F03AEA4 -/* 06F9C4 7F03AE94 02602025 */ move $a0, $s3 -/* 06F9C8 7F03AE98 10000024 */ b .L7F03AF2C -/* 06F9CC 7F03AE9C 02601025 */ move $v0, $s3 -.L7F03AEA0: -/* 06F9D0 7F03AEA0 02602025 */ move $a0, $s3 -.L7F03AEA4: -/* 06F9D4 7F03AEA4 02402825 */ move $a1, $s2 -/* 06F9D8 7F03AEA8 24060064 */ li $a2, 100 -/* 06F9DC 7F03AEAC 0FC2E3BF */ jal sub_GAME_7F0B8EFC -/* 06F9E0 7F03AEB0 00008825 */ move $s1, $zero -/* 06F9E4 7F03AEB4 18400018 */ blez $v0, .L7F03AF18 -/* 06F9E8 7F03AEB8 00402825 */ move $a1, $v0 -.L7F03AEBC: -/* 06F9EC 7F03AEBC 1A00000B */ blez $s0, .L7F03AEEC -/* 06F9F0 7F03AEC0 00001825 */ move $v1, $zero -/* 06F9F4 7F03AEC4 0011C080 */ sll $t8, $s1, 2 -/* 06F9F8 7F03AEC8 0258C821 */ addu $t9, $s2, $t8 -/* 06F9FC 7F03AECC 8F240000 */ lw $a0, ($t9) -/* 06FA00 7F03AED0 27A201F8 */ addiu $v0, $sp, 0x1f8 -.L7F03AED4: -/* 06FA04 7F03AED4 90480000 */ lbu $t0, ($v0) -/* 06FA08 7F03AED8 11040004 */ beq $t0, $a0, .L7F03AEEC -/* 06FA0C 7F03AEDC 00000000 */ nop -/* 06FA10 7F03AEE0 24630001 */ addiu $v1, $v1, 1 -/* 06FA14 7F03AEE4 1470FFFB */ bne $v1, $s0, .L7F03AED4 -/* 06FA18 7F03AEE8 24420001 */ addiu $v0, $v0, 1 -.L7F03AEEC: -/* 06FA1C 7F03AEEC 14700006 */ bne $v1, $s0, .L7F03AF08 -/* 06FA20 7F03AEF0 00114880 */ sll $t1, $s1, 2 -/* 06FA24 7F03AEF4 02495021 */ addu $t2, $s2, $t1 -/* 06FA28 7F03AEF8 8D4B0000 */ lw $t3, ($t2) -/* 06FA2C 7F03AEFC 02906021 */ addu $t4, $s4, $s0 -/* 06FA30 7F03AF00 26100001 */ addiu $s0, $s0, 1 -/* 06FA34 7F03AF04 A18B0000 */ sb $t3, ($t4) -.L7F03AF08: -/* 06FA38 7F03AF08 26310001 */ addiu $s1, $s1, 1 -/* 06FA3C 7F03AF0C 0225082A */ slt $at, $s1, $a1 -/* 06FA40 7F03AF10 1420FFEA */ bnez $at, .L7F03AEBC -/* 06FA44 7F03AF14 00000000 */ nop -.L7F03AF18: -/* 06FA48 7F03AF18 26B50001 */ addiu $s5, $s5, 1 -/* 06FA4C 7F03AF1C 02B0082A */ slt $at, $s5, $s0 -/* 06FA50 7F03AF20 1420FFCA */ bnez $at, .L7F03AE4C -/* 06FA54 7F03AF24 26D60001 */ addiu $s6, $s6, 1 -/* 06FA58 7F03AF28 00001025 */ move $v0, $zero -.L7F03AF2C: -/* 06FA5C 7F03AF2C 8FBF003C */ lw $ra, 0x3c($sp) -/* 06FA60 7F03AF30 8FB00018 */ lw $s0, 0x18($sp) -/* 06FA64 7F03AF34 8FB1001C */ lw $s1, 0x1c($sp) -/* 06FA68 7F03AF38 8FB20020 */ lw $s2, 0x20($sp) -/* 06FA6C 7F03AF3C 8FB30024 */ lw $s3, 0x24($sp) -/* 06FA70 7F03AF40 8FB40028 */ lw $s4, 0x28($sp) -/* 06FA74 7F03AF44 8FB5002C */ lw $s5, 0x2c($sp) -/* 06FA78 7F03AF48 8FB60030 */ lw $s6, 0x30($sp) -/* 06FA7C 7F03AF4C 8FB70034 */ lw $s7, 0x34($sp) -/* 06FA80 7F03AF50 8FBE0038 */ lw $fp, 0x38($sp) -/* 06FA84 7F03AF54 03E00008 */ jr $ra -/* 06FA88 7F03AF58 27BD02F8 */ addiu $sp, $sp, 0x2f8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03AF5C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03AF5C -/* 06FA8C 7F03AF5C 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 06FA90 7F03AF60 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 06FA94 7F03AF64 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06FA98 7F03AF68 AFBF0064 */ sw $ra, 0x64($sp) -/* 06FA9C 7F03AF6C AFBE0060 */ sw $fp, 0x60($sp) -/* 06FAA0 7F03AF70 AFB7005C */ sw $s7, 0x5c($sp) -/* 06FAA4 7F03AF74 AFB3004C */ sw $s3, 0x4c($sp) -/* 06FAA8 7F03AF78 4481D000 */ mtc1 $at, $f26 -/* 06FAAC 7F03AF7C 00A09825 */ move $s3, $a1 -/* 06FAB0 7F03AF80 00E0F025 */ move $fp, $a3 -/* 06FAB4 7F03AF84 AFB60058 */ sw $s6, 0x58($sp) -/* 06FAB8 7F03AF88 AFB50054 */ sw $s5, 0x54($sp) -/* 06FABC 7F03AF8C AFB40050 */ sw $s4, 0x50($sp) -/* 06FAC0 7F03AF90 AFB20048 */ sw $s2, 0x48($sp) -/* 06FAC4 7F03AF94 AFB10044 */ sw $s1, 0x44($sp) -/* 06FAC8 7F03AF98 AFB00040 */ sw $s0, 0x40($sp) -/* 06FACC 7F03AF9C F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 06FAD0 7F03AFA0 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 06FAD4 7F03AFA4 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 06FAD8 7F03AFA8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 06FADC 7F03AFAC AFA400C0 */ sw $a0, 0xc0($sp) -/* 06FAE0 7F03AFB0 AFA600C8 */ sw $a2, 0xc8($sp) -/* 06FAE4 7F03AFB4 0FC2D20C */ jal get_room_data_float2 -/* 06FAE8 7F03AFB8 0000B825 */ move $s7, $zero -/* 06FAEC 7F03AFBC 46000606 */ mov.s $f24, $f0 -/* 06FAF0 7F03AFC0 0FC2D791 */ jal getMaxNumRooms -/* 06FAF4 7F03AFC4 24110001 */ li $s1, 1 -/* 06FAF8 7F03AFC8 28410002 */ slti $at, $v0, 2 -/* 06FAFC 7F03AFCC 14200051 */ bnez $at, .L7F03B114 -/* 06FB00 7F03AFD0 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 06FB04 7F03AFD4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 06FB08 7F03AFD8 4481E000 */ mtc1 $at, $f28 -/* 06FB0C 7F03AFDC 01D19021 */ addu $s2, $t6, $s1 -/* 06FB10 7F03AFE0 27B60088 */ addiu $s6, $sp, 0x88 -/* 06FB14 7F03AFE4 24150001 */ li $s5, 1 -/* 06FB18 7F03AFE8 8FB400D0 */ lw $s4, 0xd0($sp) -/* 06FB1C 7F03AFEC 8FB000D8 */ lw $s0, 0xd8($sp) -/* 06FB20 7F03AFF0 924F0000 */ lbu $t7, ($s2) -.L7F03AFF4: -/* 06FB24 7F03AFF4 02202025 */ move $a0, $s1 -/* 06FB28 7F03AFF8 02802825 */ move $a1, $s4 -/* 06FB2C 7F03AFFC 15E0003F */ bnez $t7, .L7F03B0FC -/* 06FB30 7F03B000 03C03025 */ move $a2, $fp -/* 06FB34 7F03B004 0FC0EA5F */ jal sub_GAME_7F03A97C -/* 06FB38 7F03B008 A2550000 */ sb $s5, ($s2) -/* 06FB3C 7F03B00C 1040003B */ beqz $v0, .L7F03B0FC -/* 06FB40 7F03B010 02602025 */ move $a0, $s3 -/* 06FB44 7F03B014 8FA500C8 */ lw $a1, 0xc8($sp) -/* 06FB48 7F03B018 02203025 */ move $a2, $s1 -/* 06FB4C 7F03B01C 0FC2DE9E */ jal sub_GAME_7F0B7A78 -/* 06FB50 7F03B020 02C03825 */ move $a3, $s6 -/* 06FB54 7F03B024 10400035 */ beqz $v0, .L7F03B0FC -/* 06FB58 7F03B028 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 06FB5C 7F03B02C 46182182 */ mul.s $f6, $f4, $f24 -/* 06FB60 7F03B030 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 06FB64 7F03B034 C6680000 */ lwc1 $f8, ($s3) -/* 06FB68 7F03B038 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 06FB6C 7F03B03C 46185402 */ mul.s $f16, $f10, $f24 -/* 06FB70 7F03B040 C6720004 */ lwc1 $f18, 4($s3) -/* 06FB74 7F03B044 87A400B2 */ lh $a0, 0xb2($sp) -/* 06FB78 7F03B048 46083001 */ sub.s $f0, $f6, $f8 -/* 06FB7C 7F03B04C 46182182 */ mul.s $f6, $f4, $f24 -/* 06FB80 7F03B050 C6680008 */ lwc1 $f8, 8($s3) -/* 06FB84 7F03B054 46128081 */ sub.s $f2, $f16, $f18 -/* 06FB88 7F03B058 46000282 */ mul.s $f10, $f0, $f0 -/* 06FB8C 7F03B05C 00000000 */ nop -/* 06FB90 7F03B060 46021402 */ mul.s $f16, $f2, $f2 -/* 06FB94 7F03B064 46083301 */ sub.s $f12, $f6, $f8 -/* 06FB98 7F03B068 460C6102 */ mul.s $f4, $f12, $f12 -/* 06FB9C 7F03B06C 46105480 */ add.s $f18, $f10, $f16 -/* 06FBA0 7F03B070 46049580 */ add.s $f22, $f18, $f4 -/* 06FBA4 7F03B074 0FC2ED8C */ jal check_if_imageID_is_light -/* 06FBA8 7F03B078 4600B506 */ mov.s $f20, $f22 -/* 06FBAC 7F03B07C 10400002 */ beqz $v0, .L7F03B088 -/* 06FBB0 7F03B080 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 06FBB4 7F03B084 461CB501 */ sub.s $f20, $f22, $f28 -.L7F03B088: -/* 06FBB8 7F03B088 461AA03C */ c.lt.s $f20, $f26 -/* 06FBBC 7F03B08C 00000000 */ nop -/* 06FBC0 7F03B090 4502001B */ bc1fl .L7F03B100 -/* 06FBC4 7F03B094 26310001 */ addiu $s1, $s1, 1 -/* 06FBC8 7F03B098 E6060000 */ swc1 $f6, ($s0) -/* 06FBCC 7F03B09C C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 06FBD0 7F03B0A0 4600A686 */ mov.s $f26, $f20 -/* 06FBD4 7F03B0A4 0220B825 */ move $s7, $s1 -/* 06FBD8 7F03B0A8 E6080004 */ swc1 $f8, 4($s0) -/* 06FBDC 7F03B0AC C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 06FBE0 7F03B0B0 E60A0008 */ swc1 $f10, 8($s0) -/* 06FBE4 7F03B0B4 C7B00094 */ lwc1 $f16, 0x94($sp) -/* 06FBE8 7F03B0B8 E610000C */ swc1 $f16, 0xc($s0) -/* 06FBEC 7F03B0BC C7B20098 */ lwc1 $f18, 0x98($sp) -/* 06FBF0 7F03B0C0 E6120010 */ swc1 $f18, 0x10($s0) -/* 06FBF4 7F03B0C4 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 06FBF8 7F03B0C8 E6040014 */ swc1 $f4, 0x14($s0) -/* 06FBFC 7F03B0CC 8FB800A0 */ lw $t8, 0xa0($sp) -/* 06FC00 7F03B0D0 AE180018 */ sw $t8, 0x18($s0) -/* 06FC04 7F03B0D4 8FB900A4 */ lw $t9, 0xa4($sp) -/* 06FC08 7F03B0D8 AE19001C */ sw $t9, 0x1c($s0) -/* 06FC0C 7F03B0DC 8FA800A8 */ lw $t0, 0xa8($sp) -/* 06FC10 7F03B0E0 AE080020 */ sw $t0, 0x20($s0) -/* 06FC14 7F03B0E4 87A900B2 */ lh $t1, 0xb2($sp) -/* 06FC18 7F03B0E8 A609002A */ sh $t1, 0x2a($s0) -/* 06FC1C 7F03B0EC 8FAA00AC */ lw $t2, 0xac($sp) -/* 06FC20 7F03B0F0 AE0A0024 */ sw $t2, 0x24($s0) -/* 06FC24 7F03B0F4 87AB00B0 */ lh $t3, 0xb0($sp) -/* 06FC28 7F03B0F8 A60B0028 */ sh $t3, 0x28($s0) -.L7F03B0FC: -/* 06FC2C 7F03B0FC 26310001 */ addiu $s1, $s1, 1 -.L7F03B100: -/* 06FC30 7F03B100 0FC2D791 */ jal getMaxNumRooms -/* 06FC34 7F03B104 26520001 */ addiu $s2, $s2, 1 -/* 06FC38 7F03B108 0222082A */ slt $at, $s1, $v0 -/* 06FC3C 7F03B10C 5420FFB9 */ bnezl $at, .L7F03AFF4 -/* 06FC40 7F03B110 924F0000 */ lbu $t7, ($s2) -.L7F03B114: -/* 06FC44 7F03B114 8FBF0064 */ lw $ra, 0x64($sp) -/* 06FC48 7F03B118 02E01025 */ move $v0, $s7 -/* 06FC4C 7F03B11C 8FB7005C */ lw $s7, 0x5c($sp) -/* 06FC50 7F03B120 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 06FC54 7F03B124 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 06FC58 7F03B128 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 06FC5C 7F03B12C D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 06FC60 7F03B130 D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 06FC64 7F03B134 8FB00040 */ lw $s0, 0x40($sp) -/* 06FC68 7F03B138 8FB10044 */ lw $s1, 0x44($sp) -/* 06FC6C 7F03B13C 8FB20048 */ lw $s2, 0x48($sp) -/* 06FC70 7F03B140 8FB3004C */ lw $s3, 0x4c($sp) -/* 06FC74 7F03B144 8FB40050 */ lw $s4, 0x50($sp) -/* 06FC78 7F03B148 8FB50054 */ lw $s5, 0x54($sp) -/* 06FC7C 7F03B14C 8FB60058 */ lw $s6, 0x58($sp) -/* 06FC80 7F03B150 8FBE0060 */ lw $fp, 0x60($sp) -/* 06FC84 7F03B154 03E00008 */ jr $ra -/* 06FC88 7F03B158 27BD00C0 */ addiu $sp, $sp, 0xc0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03B15C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03B15C -/* 06FC8C 7F03B15C 27BDFA88 */ addiu $sp, $sp, -0x578 -/* 06FC90 7F03B160 AFBF0034 */ sw $ra, 0x34($sp) -/* 06FC94 7F03B164 AFB00028 */ sw $s0, 0x28($sp) -/* 06FC98 7F03B168 00808025 */ move $s0, $a0 -/* 06FC9C 7F03B16C AFB20030 */ sw $s2, 0x30($sp) -/* 06FCA0 7F03B170 AFB1002C */ sw $s1, 0x2c($sp) -/* 06FCA4 7F03B174 AFA0056C */ sw $zero, 0x56c($sp) -/* 06FCA8 7F03B178 AFA0055C */ sw $zero, 0x55c($sp) -/* 06FCAC 7F03B17C AFA00554 */ sw $zero, 0x554($sp) -/* 06FCB0 7F03B180 0FC225E6 */ jal get_curplayer_positiondata -/* 06FCB4 7F03B184 AFA00544 */ sw $zero, 0x544($sp) -/* 06FCB8 7F03B188 8C4E0014 */ lw $t6, 0x14($v0) -/* 06FCBC 7F03B18C 27B20194 */ addiu $s2, $sp, 0x194 -/* 06FCC0 7F03B190 00408825 */ move $s1, $v0 -/* 06FCC4 7F03B194 AFA0018C */ sw $zero, 0x18c($sp) -/* 06FCC8 7F03B198 02402025 */ move $a0, $s2 -/* 06FCCC 7F03B19C 27A501A0 */ addiu $a1, $sp, 0x1a0 -/* 06FCD0 7F03B1A0 02003025 */ move $a2, $s0 -/* 06FCD4 7F03B1A4 0FC1A073 */ jal sub_GAME_7F0681CC -/* 06FCD8 7F03B1A8 AFAE04F8 */ sw $t6, 0x4f8($sp) -/* 06FCDC 7F03B1AC 0FC17674 */ jal get_item_in_hand -/* 06FCE0 7F03B1B0 02002025 */ move $a0, $s0 -/* 06FCE4 7F03B1B4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 06FCE8 7F03B1B8 44812000 */ mtc1 $at, $f4 -/* 06FCEC 7F03B1BC AFA201AC */ sw $v0, 0x1ac($sp) -/* 06FCF0 7F03B1C0 27A204B4 */ addiu $v0, $sp, 0x4b4 -/* 06FCF4 7F03B1C4 AFA001D0 */ sw $zero, 0x1d0($sp) -/* 06FCF8 7F03B1C8 AFA001D4 */ sw $zero, 0x1d4($sp) -/* 06FCFC 7F03B1CC AFA001D8 */ sw $zero, 0x1d8($sp) -/* 06FD00 7F03B1D0 AFA00220 */ sw $zero, 0x220($sp) -/* 06FD04 7F03B1D4 AFA00224 */ sw $zero, 0x224($sp) -/* 06FD08 7F03B1D8 AFA00228 */ sw $zero, 0x228($sp) -/* 06FD0C 7F03B1DC 27B00234 */ addiu $s0, $sp, 0x234 -/* 06FD10 7F03B1E0 E7A401C8 */ swc1 $f4, 0x1c8($sp) -.L7F03B1E4: -/* 06FD14 7F03B1E4 26100140 */ addiu $s0, $s0, 0x140 -/* 06FD18 7F03B1E8 AE00FF4C */ sw $zero, -0xb4($s0) -/* 06FD1C 7F03B1EC AE00FF50 */ sw $zero, -0xb0($s0) -/* 06FD20 7F03B1F0 AE00FF54 */ sw $zero, -0xac($s0) -/* 06FD24 7F03B1F4 AE00FF9C */ sw $zero, -0x64($s0) -/* 06FD28 7F03B1F8 AE00FFA0 */ sw $zero, -0x60($s0) -/* 06FD2C 7F03B1FC AE00FFA4 */ sw $zero, -0x5c($s0) -/* 06FD30 7F03B200 AE00FFEC */ sw $zero, -0x14($s0) -/* 06FD34 7F03B204 AE00FFF0 */ sw $zero, -0x10($s0) -/* 06FD38 7F03B208 AE00FFF4 */ sw $zero, -0xc($s0) -/* 06FD3C 7F03B20C AE00FEFC */ sw $zero, -0x104($s0) -/* 06FD40 7F03B210 AE00FF00 */ sw $zero, -0x100($s0) -/* 06FD44 7F03B214 1602FFF3 */ bne $s0, $v0, .L7F03B1E4 -/* 06FD48 7F03B218 AE00FF04 */ sw $zero, -0xfc($s0) -/* 06FD4C 7F03B21C C7A60194 */ lwc1 $f6, 0x194($sp) -/* 06FD50 7F03B220 C7A80198 */ lwc1 $f8, 0x198($sp) -/* 06FD54 7F03B224 C7AA019C */ lwc1 $f10, 0x19c($sp) -/* 06FD58 7F03B228 E7A601B0 */ swc1 $f6, 0x1b0($sp) -/* 06FD5C 7F03B22C E7A801B4 */ swc1 $f8, 0x1b4($sp) -/* 06FD60 7F03B230 0FC1E111 */ jal sub_GAME_7F078444 -/* 06FD64 7F03B234 E7AA01B8 */ swc1 $f10, 0x1b8($sp) -/* 06FD68 7F03B238 00402025 */ move $a0, $v0 -/* 06FD6C 7F03B23C 0FC1611D */ jal sub_GAME_7F058474 -/* 06FD70 7F03B240 27A501B0 */ addiu $a1, $sp, 0x1b0 -/* 06FD74 7F03B244 C7B001A0 */ lwc1 $f16, 0x1a0($sp) -/* 06FD78 7F03B248 C7B201A4 */ lwc1 $f18, 0x1a4($sp) -/* 06FD7C 7F03B24C C7A401A8 */ lwc1 $f4, 0x1a8($sp) -/* 06FD80 7F03B250 E7B001BC */ swc1 $f16, 0x1bc($sp) -/* 06FD84 7F03B254 E7B201C0 */ swc1 $f18, 0x1c0($sp) -/* 06FD88 7F03B258 0FC1E111 */ jal sub_GAME_7F078444 -/* 06FD8C 7F03B25C E7A401C4 */ swc1 $f4, 0x1c4($sp) -/* 06FD90 7F03B260 00402025 */ move $a0, $v0 -/* 06FD94 7F03B264 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 06FD98 7F03B268 27A501BC */ addiu $a1, $sp, 0x1bc -/* 06FD9C 7F03B26C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 06FDA0 7F03B270 44810000 */ mtc1 $at, $f0 -/* 06FDA4 7F03B274 C7A601BC */ lwc1 $f6, 0x1bc($sp) -/* 06FDA8 7F03B278 C7AA01B0 */ lwc1 $f10, 0x1b0($sp) -/* 06FDAC 7F03B27C C7B201C0 */ lwc1 $f18, 0x1c0($sp) -/* 06FDB0 7F03B280 46003202 */ mul.s $f8, $f6, $f0 -/* 06FDB4 7F03B284 C7A601B4 */ lwc1 $f6, 0x1b4($sp) -/* 06FDB8 7F03B288 44075000 */ mfc1 $a3, $f10 -/* 06FDBC 7F03B28C 46009102 */ mul.s $f4, $f18, $f0 -/* 06FDC0 7F03B290 27A404F8 */ addiu $a0, $sp, 0x4f8 -/* 06FDC4 7F03B294 460A4400 */ add.s $f16, $f8, $f10 -/* 06FDC8 7F03B298 46062200 */ add.s $f8, $f4, $f6 -/* 06FDCC 7F03B29C E7B004EC */ swc1 $f16, 0x4ec($sp) -/* 06FDD0 7F03B2A0 C7B001C4 */ lwc1 $f16, 0x1c4($sp) -/* 06FDD4 7F03B2A4 C7A401B8 */ lwc1 $f4, 0x1b8($sp) -/* 06FDD8 7F03B2A8 E7A804F0 */ swc1 $f8, 0x4f0($sp) -/* 06FDDC 7F03B2AC 46008482 */ mul.s $f18, $f16, $f0 -/* 06FDE0 7F03B2B0 46049180 */ add.s $f6, $f18, $f4 -/* 06FDE4 7F03B2B4 E7A604F4 */ swc1 $f6, 0x4f4($sp) -/* 06FDE8 7F03B2B8 8E260010 */ lw $a2, 0x10($s1) -/* 06FDEC 7F03B2BC 8E250008 */ lw $a1, 8($s1) -/* 06FDF0 7F03B2C0 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 06FDF4 7F03B2C4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 06FDF8 7F03B2C8 504000B9 */ beql $v0, $zero, .L7F03B5B0 -/* 06FDFC 7F03B2CC 8FB901AC */ lw $t9, 0x1ac($sp) -/* 06FE00 7F03B2D0 0FC2D20F */ jal get_room_data_float1 -/* 06FE04 7F03B2D4 00000000 */ nop -/* 06FE08 7F03B2D8 0FC2D21E */ jal sub_GAME_7F0B4878 -/* 06FE0C 7F03B2DC E7A00048 */ swc1 $f0, 0x48($sp) -/* 06FE10 7F03B2E0 C7A20048 */ lwc1 $f2, 0x48($sp) -/* 06FE14 7F03B2E4 46020202 */ mul.s $f8, $f0, $f2 -/* 06FE18 7F03B2E8 0FC227F5 */ jal get_BONDdata_position -/* 06FE1C 7F03B2EC E7A8006C */ swc1 $f8, 0x6c($sp) -/* 06FE20 7F03B2F0 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 06FE24 7F03B2F4 00408025 */ move $s0, $v0 -/* 06FE28 7F03B2F8 C7B004F4 */ lwc1 $f16, 0x4f4($sp) -/* 06FE2C 7F03B2FC 27A404F8 */ addiu $a0, $sp, 0x4f8 -/* 06FE30 7F03B300 8FA501B0 */ lw $a1, 0x1b0($sp) -/* 06FE34 7F03B304 8FA601B8 */ lw $a2, 0x1b8($sp) -/* 06FE38 7F03B308 8FA704EC */ lw $a3, 0x4ec($sp) -/* 06FE3C 7F03B30C 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 06FE40 7F03B310 E7B00010 */ swc1 $f16, 0x10($sp) -/* 06FE44 7F03B314 14400008 */ bnez $v0, .L7F03B338 -/* 06FE48 7F03B318 C7B204EC */ lwc1 $f18, 0x4ec($sp) -/* 06FE4C 7F03B31C 27A401B0 */ addiu $a0, $sp, 0x1b0 -/* 06FE50 7F03B320 27A501BC */ addiu $a1, $sp, 0x1bc -/* 06FE54 7F03B324 0FC09893 */ jal sub_GAME_7F02624C -/* 06FE58 7F03B328 27A60560 */ addiu $a2, $sp, 0x560 -/* 06FE5C 7F03B32C 240F0001 */ li $t7, 1 -/* 06FE60 7F03B330 10000006 */ b .L7F03B34C -/* 06FE64 7F03B334 AFAF056C */ sw $t7, 0x56c($sp) -.L7F03B338: -/* 06FE68 7F03B338 C7A604F0 */ lwc1 $f6, 0x4f0($sp) -/* 06FE6C 7F03B33C C7AA04F4 */ lwc1 $f10, 0x4f4($sp) -/* 06FE70 7F03B340 E7B20560 */ swc1 $f18, 0x560($sp) -/* 06FE74 7F03B344 E7A60564 */ swc1 $f6, 0x564($sp) -/* 06FE78 7F03B348 E7AA0568 */ swc1 $f10, 0x568($sp) -.L7F03B34C: -/* 06FE7C 7F03B34C C7A40560 */ lwc1 $f4, 0x560($sp) -/* 06FE80 7F03B350 C6080000 */ lwc1 $f8, ($s0) -/* 06FE84 7F03B354 C7B20564 */ lwc1 $f18, 0x564($sp) -/* 06FE88 7F03B358 C7A0006C */ lwc1 $f0, 0x6c($sp) -/* 06FE8C 7F03B35C 46082401 */ sub.s $f16, $f4, $f8 -/* 06FE90 7F03B360 C7A40568 */ lwc1 $f4, 0x568($sp) -/* 06FE94 7F03B364 8FA404F8 */ lw $a0, 0x4f8($sp) -/* 06FE98 7F03B368 E7B00070 */ swc1 $f16, 0x70($sp) -/* 06FE9C 7F03B36C C6060004 */ lwc1 $f6, 4($s0) -/* 06FEA0 7F03B370 46069281 */ sub.s $f10, $f18, $f6 -/* 06FEA4 7F03B374 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 06FEA8 7F03B378 C6080008 */ lwc1 $f8, 8($s0) -/* 06FEAC 7F03B37C 46082401 */ sub.s $f16, $f4, $f8 -/* 06FEB0 7F03B380 E7B00078 */ swc1 $f16, 0x78($sp) -/* 06FEB4 7F03B384 C6120000 */ lwc1 $f18, ($s0) -/* 06FEB8 7F03B388 46009182 */ mul.s $f6, $f18, $f0 -/* 06FEBC 7F03B38C E7A6007C */ swc1 $f6, 0x7c($sp) -/* 06FEC0 7F03B390 C60A0004 */ lwc1 $f10, 4($s0) -/* 06FEC4 7F03B394 46005102 */ mul.s $f4, $f10, $f0 -/* 06FEC8 7F03B398 E7A40080 */ swc1 $f4, 0x80($sp) -/* 06FECC 7F03B39C C6080008 */ lwc1 $f8, 8($s0) -/* 06FED0 7F03B3A0 AFA4055C */ sw $a0, 0x55c($sp) -/* 06FED4 7F03B3A4 46004402 */ mul.s $f16, $f8, $f0 -/* 06FED8 7F03B3A8 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 06FEDC 7F03B3AC E7B00084 */ swc1 $f16, 0x84($sp) -/* 06FEE0 7F03B3B0 00408825 */ move $s1, $v0 -/* 06FEE4 7F03B3B4 27A2018C */ addiu $v0, $sp, 0x18c -/* 06FEE8 7F03B3B8 27A3008C */ addiu $v1, $sp, 0x8c -.L7F03B3BC: -/* 06FEEC 7F03B3BC 24630004 */ addiu $v1, $v1, 4 -/* 06FEF0 7F03B3C0 A060FFFD */ sb $zero, -3($v1) -/* 06FEF4 7F03B3C4 A060FFFE */ sb $zero, -2($v1) -/* 06FEF8 7F03B3C8 A060FFFF */ sb $zero, -1($v1) -/* 06FEFC 7F03B3CC 1462FFFB */ bne $v1, $v0, .L7F03B3BC -/* 06FF00 7F03B3D0 A060FFFC */ sb $zero, -4($v1) -/* 06FF04 7F03B3D4 02002025 */ move $a0, $s0 -/* 06FF08 7F03B3D8 27A50560 */ addiu $a1, $sp, 0x560 -/* 06FF0C 7F03B3DC 02203025 */ move $a2, $s1 -/* 06FF10 7F03B3E0 0FC2DE9E */ jal sub_GAME_7F0B7A78 -/* 06FF14 7F03B3E4 27A70510 */ addiu $a3, $sp, 0x510 -/* 06FF18 7F03B3E8 10400002 */ beqz $v0, .L7F03B3F4 -/* 06FF1C 7F03B3EC 24190001 */ li $t9, 1 -/* 06FF20 7F03B3F0 AFB10544 */ sw $s1, 0x544($sp) -.L7F03B3F4: -/* 06FF24 7F03B3F4 03B14021 */ addu $t0, $sp, $s1 -/* 06FF28 7F03B3F8 A119008C */ sb $t9, 0x8c($t0) -/* 06FF2C 7F03B3FC 8FA90544 */ lw $t1, 0x544($sp) -/* 06FF30 7F03B400 3C0A8008 */ lui $t2, %hi(ptr_bgdata_portals) -/* 06FF34 7F03B404 5D200027 */ bgtzl $t1, .L7F03B4A4 -/* 06FF38 7F03B408 8FA80544 */ lw $t0, 0x544($sp) -/* 06FF3C 7F03B40C 8D4AFF80 */ lw $t2, %lo(ptr_bgdata_portals)($t2) -/* 06FF40 7F03B410 8D4B0000 */ lw $t3, ($t2) -/* 06FF44 7F03B414 11600012 */ beqz $t3, .L7F03B460 -/* 06FF48 7F03B418 00000000 */ nop -/* 06FF4C 7F03B41C 0FC225E6 */ jal get_curplayer_positiondata -/* 06FF50 7F03B420 00000000 */ nop -/* 06FF54 7F03B424 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 06FF58 7F03B428 8C440014 */ lw $a0, 0x14($v0) -/* 06FF5C 7F03B42C 27AC007C */ addiu $t4, $sp, 0x7c -/* 06FF60 7F03B430 27AD008C */ addiu $t5, $sp, 0x8c -/* 06FF64 7F03B434 27AE0510 */ addiu $t6, $sp, 0x510 -/* 06FF68 7F03B438 AFAE0018 */ sw $t6, 0x18($sp) -/* 06FF6C 7F03B43C AFAD0014 */ sw $t5, 0x14($sp) -/* 06FF70 7F03B440 AFAC0010 */ sw $t4, 0x10($sp) -/* 06FF74 7F03B444 00402025 */ move $a0, $v0 -/* 06FF78 7F03B448 02002825 */ move $a1, $s0 -/* 06FF7C 7F03B44C 27A60560 */ addiu $a2, $sp, 0x560 -/* 06FF80 7F03B450 0FC0EB7D */ jal sub_GAME_7F03ADF4 -/* 06FF84 7F03B454 27A70070 */ addiu $a3, $sp, 0x70 -/* 06FF88 7F03B458 10000011 */ b .L7F03B4A0 -/* 06FF8C 7F03B45C AFA20544 */ sw $v0, 0x544($sp) -.L7F03B460: -/* 06FF90 7F03B460 0FC225E6 */ jal get_curplayer_positiondata -/* 06FF94 7F03B464 00000000 */ nop -/* 06FF98 7F03B468 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 06FF9C 7F03B46C 8C440014 */ lw $a0, 0x14($v0) -/* 06FFA0 7F03B470 27AF007C */ addiu $t7, $sp, 0x7c -/* 06FFA4 7F03B474 27B8008C */ addiu $t8, $sp, 0x8c -/* 06FFA8 7F03B478 27B90510 */ addiu $t9, $sp, 0x510 -/* 06FFAC 7F03B47C AFB90018 */ sw $t9, 0x18($sp) -/* 06FFB0 7F03B480 AFB80014 */ sw $t8, 0x14($sp) -/* 06FFB4 7F03B484 AFAF0010 */ sw $t7, 0x10($sp) -/* 06FFB8 7F03B488 00402025 */ move $a0, $v0 -/* 06FFBC 7F03B48C 02002825 */ move $a1, $s0 -/* 06FFC0 7F03B490 27A60560 */ addiu $a2, $sp, 0x560 -/* 06FFC4 7F03B494 0FC0EBD7 */ jal sub_GAME_7F03AF5C -/* 06FFC8 7F03B498 27A70070 */ addiu $a3, $sp, 0x70 -/* 06FFCC 7F03B49C AFA20544 */ sw $v0, 0x544($sp) -.L7F03B4A0: -/* 06FFD0 7F03B4A0 8FA80544 */ lw $t0, 0x544($sp) -.L7F03B4A4: -/* 06FFD4 7F03B4A4 5900000F */ blezl $t0, .L7F03B4E4 -/* 06FFD8 7F03B4A8 8FAB0544 */ lw $t3, 0x544($sp) -/* 06FFDC 7F03B4AC 0FC2D20C */ jal get_room_data_float2 -/* 06FFE0 7F03B4B0 00000000 */ nop -/* 06FFE4 7F03B4B4 C7B20510 */ lwc1 $f18, 0x510($sp) -/* 06FFE8 7F03B4B8 C7AA0514 */ lwc1 $f10, 0x514($sp) -/* 06FFEC 7F03B4BC C7A80518 */ lwc1 $f8, 0x518($sp) -/* 06FFF0 7F03B4C0 46009182 */ mul.s $f6, $f18, $f0 -/* 06FFF4 7F03B4C4 00000000 */ nop -/* 06FFF8 7F03B4C8 46005102 */ mul.s $f4, $f10, $f0 -/* 06FFFC 7F03B4CC 00000000 */ nop -/* 070000 7F03B4D0 46004402 */ mul.s $f16, $f8, $f0 -/* 070004 7F03B4D4 E7A60510 */ swc1 $f6, 0x510($sp) -/* 070008 7F03B4D8 E7A40514 */ swc1 $f4, 0x514($sp) -/* 07000C 7F03B4DC E7B00518 */ swc1 $f16, 0x518($sp) -/* 070010 7F03B4E0 8FAB0544 */ lw $t3, 0x544($sp) -.L7F03B4E4: -/* 070014 7F03B4E4 27A9008C */ addiu $t1, $sp, 0x8c -/* 070018 7F03B4E8 27AA0510 */ addiu $t2, $sp, 0x510 -/* 07001C 7F03B4EC AFAA0014 */ sw $t2, 0x14($sp) -/* 070020 7F03B4F0 AFA90010 */ sw $t1, 0x10($sp) -/* 070024 7F03B4F4 02002025 */ move $a0, $s0 -/* 070028 7F03B4F8 27A50560 */ addiu $a1, $sp, 0x560 -/* 07002C 7F03B4FC 27A60070 */ addiu $a2, $sp, 0x70 -/* 070030 7F03B500 27A7007C */ addiu $a3, $sp, 0x7c -/* 070034 7F03B504 0FC0EAD6 */ jal sub_GAME_7F03AB58 -/* 070038 7F03B508 AFAB0018 */ sw $t3, 0x18($sp) -/* 07003C 7F03B50C 1840000F */ blez $v0, .L7F03B54C -/* 070040 7F03B510 AFA20544 */ sw $v0, 0x544($sp) -/* 070044 7F03B514 C7B20510 */ lwc1 $f18, 0x510($sp) -/* 070048 7F03B518 87AD053A */ lh $t5, 0x53a($sp) -/* 07004C 7F03B51C C7B00514 */ lwc1 $f16, 0x514($sp) -/* 070050 7F03B520 C7AE0518 */ lwc1 $f14, 0x518($sp) -/* 070054 7F03B524 240C0001 */ li $t4, 1 -/* 070058 7F03B528 AFAC0554 */ sw $t4, 0x554($sp) -/* 07005C 7F03B52C AFAD0540 */ sw $t5, 0x540($sp) -/* 070060 7F03B530 E7B20548 */ swc1 $f18, 0x548($sp) -/* 070064 7F03B534 E7B20500 */ swc1 $f18, 0x500($sp) -/* 070068 7F03B538 E7B0054C */ swc1 $f16, 0x54c($sp) -/* 07006C 7F03B53C E7B00504 */ swc1 $f16, 0x504($sp) -/* 070070 7F03B540 E7AE0550 */ swc1 $f14, 0x550($sp) -/* 070074 7F03B544 1000000A */ b .L7F03B570 -/* 070078 7F03B548 E7AE0508 */ swc1 $f14, 0x508($sp) -.L7F03B54C: -/* 07007C 7F03B54C C7B204EC */ lwc1 $f18, 0x4ec($sp) -/* 070080 7F03B550 C7A604F0 */ lwc1 $f6, 0x4f0($sp) -/* 070084 7F03B554 C7AA04F4 */ lwc1 $f10, 0x4f4($sp) -/* 070088 7F03B558 240EFFFF */ li $t6, -1 -/* 07008C 7F03B55C AFB10544 */ sw $s1, 0x544($sp) -/* 070090 7F03B560 AFAE0540 */ sw $t6, 0x540($sp) -/* 070094 7F03B564 E7B20500 */ swc1 $f18, 0x500($sp) -/* 070098 7F03B568 E7A60504 */ swc1 $f6, 0x504($sp) -/* 07009C 7F03B56C E7AA0508 */ swc1 $f10, 0x508($sp) -.L7F03B570: -/* 0700A0 7F03B570 8FAF056C */ lw $t7, 0x56c($sp) -/* 0700A4 7F03B574 8FB80554 */ lw $t8, 0x554($sp) -/* 0700A8 7F03B578 15E00003 */ bnez $t7, .L7F03B588 -/* 0700AC 7F03B57C 00000000 */ nop -/* 0700B0 7F03B580 5300000B */ beql $t8, $zero, .L7F03B5B0 -/* 0700B4 7F03B584 8FB901AC */ lw $t9, 0x1ac($sp) -.L7F03B588: -/* 0700B8 7F03B588 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0700BC 7F03B58C 00000000 */ nop -/* 0700C0 7F03B590 00402025 */ move $a0, $v0 -/* 0700C4 7F03B594 0FC1611D */ jal sub_GAME_7F058474 -/* 0700C8 7F03B598 27A50500 */ addiu $a1, $sp, 0x500 -/* 0700CC 7F03B59C C7A40508 */ lwc1 $f4, 0x508($sp) -/* 0700D0 7F03B5A0 46002207 */ neg.s $f8, $f4 -/* 0700D4 7F03B5A4 E7A8050C */ swc1 $f8, 0x50c($sp) -/* 0700D8 7F03B5A8 E7A801C8 */ swc1 $f8, 0x1c8($sp) -/* 0700DC 7F03B5AC 8FB901AC */ lw $t9, 0x1ac($sp) -.L7F03B5B0: -/* 0700E0 7F03B5B0 24010017 */ li $at, 23 -/* 0700E4 7F03B5B4 C7B201C8 */ lwc1 $f18, 0x1c8($sp) -/* 0700E8 7F03B5B8 1721000B */ bne $t9, $at, .L7F03B5E8 -/* 0700EC 7F03B5BC 3C118007 */ lui $s1, %hi(dword_CODE_bss_80071DF0) -/* 0700F0 7F03B5C0 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0700F4 7F03B5C4 44818000 */ mtc1 $at, $f16 -/* 0700F8 7F03B5C8 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0700FC 7F03B5CC 4612803C */ c.lt.s $f16, $f18 -/* 070100 7F03B5D0 00000000 */ nop -/* 070104 7F03B5D4 45000004 */ bc1f .L7F03B5E8 -/* 070108 7F03B5D8 00000000 */ nop -/* 07010C 7F03B5DC 44813000 */ mtc1 $at, $f6 -/* 070110 7F03B5E0 00000000 */ nop -/* 070114 7F03B5E4 E7A601C8 */ swc1 $f6, 0x1c8($sp) -.L7F03B5E8: -/* 070118 7F03B5E8 8E311DF0 */ lw $s1, %lo(dword_CODE_bss_80071DF0)($s1) -/* 07011C 7F03B5EC 3C088007 */ lui $t0, %hi(dword_CODE_bss_80071620) -/* 070120 7F03B5F0 25081620 */ addiu $t0, %lo(dword_CODE_bss_80071620) # addiu $t0, $t0, 0x1620 -/* 070124 7F03B5F4 2631FFFC */ addiu $s1, $s1, -4 -/* 070128 7F03B5F8 0228082B */ sltu $at, $s1, $t0 -/* 07012C 7F03B5FC 5420002A */ bnezl $at, .L7F03B6A8 -/* 070130 7F03B600 27B00194 */ addiu $s0, $sp, 0x194 -/* 070134 7F03B604 8E300000 */ lw $s0, ($s1) -.L7F03B608: -/* 070138 7F03B608 12000020 */ beqz $s0, .L7F03B68C -/* 07013C 7F03B60C 00000000 */ nop -/* 070140 7F03B610 92020000 */ lbu $v0, ($s0) -/* 070144 7F03B614 24010003 */ li $at, 3 -/* 070148 7F03B618 1041000C */ beq $v0, $at, .L7F03B64C -/* 07014C 7F03B61C 24010006 */ li $at, 6 -/* 070150 7F03B620 54410010 */ bnel $v0, $at, .L7F03B664 -/* 070154 7F03B624 92020000 */ lbu $v0, ($s0) -/* 070158 7F03B628 8E090004 */ lw $t1, 4($s0) -/* 07015C 7F03B62C 5120000D */ beql $t1, $zero, .L7F03B664 -/* 070160 7F03B630 92020000 */ lbu $v0, ($s0) -/* 070164 7F03B634 0FC26C57 */ jal sub_GAME_7F09B15C -/* 070168 7F03B638 02002025 */ move $a0, $s0 -/* 07016C 7F03B63C 0FC26C54 */ jal get_cur_playernum -/* 070170 7F03B640 AFA2004C */ sw $v0, 0x4c($sp) -/* 070174 7F03B644 8FAA004C */ lw $t2, 0x4c($sp) -/* 070178 7F03B648 104A0005 */ beq $v0, $t2, .L7F03B660 -.L7F03B64C: -/* 07017C 7F03B64C 02002025 */ move $a0, $s0 -/* 070180 7F03B650 0FC08992 */ jal sub_GAME_7F022648 -/* 070184 7F03B654 02402825 */ move $a1, $s2 -/* 070188 7F03B658 1000000C */ b .L7F03B68C -/* 07018C 7F03B65C 00000000 */ nop -.L7F03B660: -/* 070190 7F03B660 92020000 */ lbu $v0, ($s0) -.L7F03B664: -/* 070194 7F03B664 24010001 */ li $at, 1 -/* 070198 7F03B668 02002025 */ move $a0, $s0 -/* 07019C 7F03B66C 10410005 */ beq $v0, $at, .L7F03B684 -/* 0701A0 7F03B670 24010004 */ li $at, 4 -/* 0701A4 7F03B674 10410003 */ beq $v0, $at, .L7F03B684 -/* 0701A8 7F03B678 24010002 */ li $at, 2 -/* 0701AC 7F03B67C 14410003 */ bne $v0, $at, .L7F03B68C -/* 0701B0 7F03B680 00000000 */ nop -.L7F03B684: -/* 0701B4 7F03B684 0FC13A6F */ jal sub_GAME_7F04E9BC -/* 0701B8 7F03B688 02402825 */ move $a1, $s2 -.L7F03B68C: -/* 0701BC 7F03B68C 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80071620) -/* 0701C0 7F03B690 256B1620 */ addiu $t3, %lo(dword_CODE_bss_80071620) # addiu $t3, $t3, 0x1620 -/* 0701C4 7F03B694 2631FFFC */ addiu $s1, $s1, -4 -/* 0701C8 7F03B698 022B082B */ sltu $at, $s1, $t3 -/* 0701CC 7F03B69C 5020FFDA */ beql $at, $zero, .L7F03B608 -/* 0701D0 7F03B6A0 8E300000 */ lw $s0, ($s1) -/* 0701D4 7F03B6A4 27B00194 */ addiu $s0, $sp, 0x194 -.L7F03B6A8: -/* 0701D8 7F03B6A8 27B104B4 */ addiu $s1, $sp, 0x4b4 -/* 0701DC 7F03B6AC 8E03003C */ lw $v1, 0x3c($s0) -.L7F03B6B0: -/* 0701E0 7F03B6B0 50600024 */ beql $v1, $zero, .L7F03B744 -/* 0701E4 7F03B6B4 26100050 */ addiu $s0, $s0, 0x50 -/* 0701E8 7F03B6B8 90620000 */ lbu $v0, ($v1) -/* 0701EC 7F03B6BC 24010003 */ li $at, 3 -/* 0701F0 7F03B6C0 02402025 */ move $a0, $s2 -/* 0701F4 7F03B6C4 10410003 */ beq $v0, $at, .L7F03B6D4 -/* 0701F8 7F03B6C8 24010006 */ li $at, 6 -/* 0701FC 7F03B6CC 54410006 */ bnel $v0, $at, .L7F03B6E8 -/* 070200 7F03B6D0 24010001 */ li $at, 1 -.L7F03B6D4: -/* 070204 7F03B6D4 0FC08A60 */ jal sub_GAME_7F022980 -/* 070208 7F03B6D8 26050038 */ addiu $a1, $s0, 0x38 -/* 07020C 7F03B6DC 1000000C */ b .L7F03B710 -/* 070210 7F03B6E0 8E0C0084 */ lw $t4, 0x84($s0) -/* 070214 7F03B6E4 24010001 */ li $at, 1 -.L7F03B6E8: -/* 070218 7F03B6E8 10410006 */ beq $v0, $at, .L7F03B704 -/* 07021C 7F03B6EC 02402025 */ move $a0, $s2 -/* 070220 7F03B6F0 24010004 */ li $at, 4 -/* 070224 7F03B6F4 10410003 */ beq $v0, $at, .L7F03B704 -/* 070228 7F03B6F8 24010002 */ li $at, 2 -/* 07022C 7F03B6FC 54410004 */ bnel $v0, $at, .L7F03B710 -/* 070230 7F03B700 8E0C0084 */ lw $t4, 0x84($s0) -.L7F03B704: -/* 070234 7F03B704 0FC13A9A */ jal sub_GAME_7F04EA68 -/* 070238 7F03B708 26050038 */ addiu $a1, $s0, 0x38 -/* 07023C 7F03B70C 8E0C0084 */ lw $t4, 0x84($s0) -.L7F03B710: -/* 070240 7F03B710 8FAD018C */ lw $t5, 0x18c($sp) -/* 070244 7F03B714 1180000A */ beqz $t4, .L7F03B740 -/* 070248 7F03B718 25AE0001 */ addiu $t6, $t5, 1 -/* 07024C 7F03B71C AFAE018C */ sw $t6, 0x18c($sp) -/* 070250 7F03B720 0FC1780E */ jal sub_GAME_7F05E038 -/* 070254 7F03B724 8FA401AC */ lw $a0, 0x1ac($sp) -/* 070258 7F03B728 8FAF018C */ lw $t7, 0x18c($sp) -/* 07025C 7F03B72C 01E2082A */ slt $at, $t7, $v0 -/* 070260 7F03B730 54200004 */ bnezl $at, .L7F03B744 -/* 070264 7F03B734 26100050 */ addiu $s0, $s0, 0x50 -/* 070268 7F03B738 AFA00554 */ sw $zero, 0x554($sp) -/* 07026C 7F03B73C AFA0056C */ sw $zero, 0x56c($sp) -.L7F03B740: -/* 070270 7F03B740 26100050 */ addiu $s0, $s0, 0x50 -.L7F03B744: -/* 070274 7F03B744 5611FFDA */ bnel $s0, $s1, .L7F03B6B0 -/* 070278 7F03B748 8E03003C */ lw $v1, 0x3c($s0) -/* 07027C 7F03B74C 8FB80554 */ lw $t8, 0x554($sp) -/* 070280 7F03B750 8FB9056C */ lw $t9, 0x56c($sp) -/* 070284 7F03B754 8FA801AC */ lw $t0, 0x1ac($sp) -/* 070288 7F03B758 17000002 */ bnez $t8, .L7F03B764 -/* 07028C 7F03B75C 24010017 */ li $at, 23 -/* 070290 7F03B760 13200091 */ beqz $t9, .L7F03B9A8 -.L7F03B764: -/* 070294 7F03B764 00008025 */ move $s0, $zero -/* 070298 7F03B768 15010009 */ bne $t0, $at, .L7F03B790 -/* 07029C 7F03B76C 24110001 */ li $s1, 1 -/* 0702A0 7F03B770 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0702A4 7F03B774 44815000 */ mtc1 $at, $f10 -/* 0702A8 7F03B778 C7A4050C */ lwc1 $f4, 0x50c($sp) -/* 0702AC 7F03B77C 4604503C */ c.lt.s $f10, $f4 -/* 0702B0 7F03B780 00000000 */ nop -/* 0702B4 7F03B784 45020003 */ bc1fl .L7F03B794 -/* 0702B8 7F03B788 8FA90554 */ lw $t1, 0x554($sp) -/* 0702BC 7F03B78C 00008825 */ move $s1, $zero -.L7F03B790: -/* 0702C0 7F03B790 8FA90554 */ lw $t1, 0x554($sp) -.L7F03B794: -/* 0702C4 7F03B794 87AA053A */ lh $t2, 0x53a($sp) -/* 0702C8 7F03B798 8FAC056C */ lw $t4, 0x56c($sp) -/* 0702CC 7F03B79C 11200034 */ beqz $t1, .L7F03B870 -/* 0702D0 7F03B7A0 00000000 */ nop -/* 0702D4 7F03B7A4 05410004 */ bgez $t2, .L7F03B7B8 -/* 0702D8 7F03B7A8 87AB053A */ lh $t3, 0x53a($sp) -/* 0702DC 7F03B7AC 3C108005 */ lui $s0, %hi(D_8004E86C) -/* 0702E0 7F03B7B0 1000000A */ b .L7F03B7DC -/* 0702E4 7F03B7B4 8E10E86C */ lw $s0, %lo(D_8004E86C)($s0) -.L7F03B7B8: -/* 0702E8 7F03B7B8 000B60C0 */ sll $t4, $t3, 3 -/* 0702EC 7F03B7BC 3C0D8005 */ lui $t5, %hi(image_entries) -/* 0702F0 7F03B7C0 01AC6821 */ addu $t5, $t5, $t4 -/* 0702F4 7F03B7C4 91AD9300 */ lbu $t5, %lo(image_entries)($t5) -/* 0702F8 7F03B7C8 3C108005 */ lui $s0, %hi(D_8004E86C) -/* 0702FC 7F03B7CC 31AE000F */ andi $t6, $t5, 0xf -/* 070300 7F03B7D0 000E7880 */ sll $t7, $t6, 2 -/* 070304 7F03B7D4 020F8021 */ addu $s0, $s0, $t7 -/* 070308 7F03B7D8 8E10E86C */ lw $s0, %lo(D_8004E86C)($s0) -.L7F03B7DC: -/* 07030C 7F03B7DC 12200022 */ beqz $s1, .L7F03B868 -/* 070310 7F03B7E0 00000000 */ nop -/* 070314 7F03B7E4 8618000A */ lh $t8, 0xa($s0) -/* 070318 7F03B7E8 8FB901AC */ lw $t9, 0x1ac($sp) -/* 07031C 7F03B7EC 24010017 */ li $at, 23 -/* 070320 7F03B7F0 1B000016 */ blez $t8, .L7F03B84C -/* 070324 7F03B7F4 00000000 */ nop -/* 070328 7F03B7F8 13210014 */ beq $t9, $at, .L7F03B84C -/* 07032C 7F03B7FC 00000000 */ nop -/* 070330 7F03B800 0C002914 */ jal get_random_value -/* 070334 7F03B804 00000000 */ nop -/* 070338 7F03B808 8608000A */ lh $t0, 0xa($s0) -/* 07033C 7F03B80C 8E090004 */ lw $t1, 4($s0) -/* 070340 7F03B810 240BFFFF */ li $t3, -1 -/* 070344 7F03B814 0048001B */ divu $zero, $v0, $t0 -/* 070348 7F03B818 00001810 */ mfhi $v1 -/* 07034C 7F03B81C 01235021 */ addu $t2, $t1, $v1 -/* 070350 7F03B820 91460000 */ lbu $a2, ($t2) -/* 070354 7F03B824 15000002 */ bnez $t0, .L7F03B830 -/* 070358 7F03B828 00000000 */ nop -/* 07035C 7F03B82C 0007000D */ break 7 -.L7F03B830: -/* 070360 7F03B830 AFA00018 */ sw $zero, 0x18($sp) -/* 070364 7F03B834 AFAB0014 */ sw $t3, 0x14($sp) -/* 070368 7F03B838 AFA00010 */ sw $zero, 0x10($sp) -/* 07036C 7F03B83C 27A40548 */ addiu $a0, $sp, 0x548 -/* 070370 7F03B840 27A5051C */ addiu $a1, $sp, 0x51c -/* 070374 7F03B844 0FC28423 */ jal sub_GAME_7F0A108C -/* 070378 7F03B848 87A70546 */ lh $a3, 0x546($sp) -.L7F03B84C: -/* 07037C 7F03B84C 0FC2ED8C */ jal check_if_imageID_is_light -/* 070380 7F03B850 87A4053A */ lh $a0, 0x53a($sp) -/* 070384 7F03B854 10400004 */ beqz $v0, .L7F03B868 -/* 070388 7F03B858 8FA40534 */ lw $a0, 0x534($sp) -/* 07038C 7F03B85C 87A50538 */ lh $a1, 0x538($sp) -/* 070390 7F03B860 0FC2EF83 */ jal sub_GAME_7F0BBE0C -/* 070394 7F03B864 8FA60544 */ lw $a2, 0x544($sp) -.L7F03B868: -/* 070398 7F03B868 10000014 */ b .L7F03B8BC -/* 07039C 7F03B86C 27B00548 */ addiu $s0, $sp, 0x548 -.L7F03B870: -/* 0703A0 7F03B870 11800012 */ beqz $t4, .L7F03B8BC -/* 0703A4 7F03B874 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0703A8 7F03B878 44810000 */ mtc1 $at, $f0 -/* 0703AC 7F03B87C C7A801BC */ lwc1 $f8, 0x1bc($sp) -/* 0703B0 7F03B880 C7B201B0 */ lwc1 $f18, 0x1b0($sp) -/* 0703B4 7F03B884 C7AA01C0 */ lwc1 $f10, 0x1c0($sp) -/* 0703B8 7F03B888 46004402 */ mul.s $f16, $f8, $f0 -/* 0703BC 7F03B88C C7A801B4 */ lwc1 $f8, 0x1b4($sp) -/* 0703C0 7F03B890 27B00560 */ addiu $s0, $sp, 0x560 -/* 0703C4 7F03B894 46005102 */ mul.s $f4, $f10, $f0 -/* 0703C8 7F03B898 C7AA01B8 */ lwc1 $f10, 0x1b8($sp) -/* 0703CC 7F03B89C 46128180 */ add.s $f6, $f16, $f18 -/* 0703D0 7F03B8A0 C7B201C4 */ lwc1 $f18, 0x1c4($sp) -/* 0703D4 7F03B8A4 46082400 */ add.s $f16, $f4, $f8 -/* 0703D8 7F03B8A8 E7A60560 */ swc1 $f6, 0x560($sp) -/* 0703DC 7F03B8AC 46009182 */ mul.s $f6, $f18, $f0 -/* 0703E0 7F03B8B0 E7B00564 */ swc1 $f16, 0x564($sp) -/* 0703E4 7F03B8B4 460A3100 */ add.s $f4, $f6, $f10 -/* 0703E8 7F03B8B8 E7A40568 */ swc1 $f4, 0x568($sp) -.L7F03B8BC: -/* 0703EC 7F03B8BC 5200003B */ beql $s0, $zero, .L7F03B9AC -/* 0703F0 7F03B8C0 8FBF0034 */ lw $ra, 0x34($sp) -/* 0703F4 7F03B8C4 1220001D */ beqz $s1, .L7F03B93C -/* 0703F8 7F03B8C8 8FA401AC */ lw $a0, 0x1ac($sp) -/* 0703FC 7F03B8CC 02002825 */ move $a1, $s0 -/* 070400 7F03B8D0 0FC191DD */ jal recall_joy2_hits_edit_flag -/* 070404 7F03B8D4 8FA60540 */ lw $a2, 0x540($sp) -/* 070408 7F03B8D8 8FAD0540 */ lw $t5, 0x540($sp) -/* 07040C 7F03B8DC 3C028005 */ lui $v0, %hi(image_entries) -/* 070410 7F03B8E0 24010005 */ li $at, 5 -/* 070414 7F03B8E4 000D70C0 */ sll $t6, $t5, 3 -/* 070418 7F03B8E8 004E1021 */ addu $v0, $v0, $t6 -/* 07041C 7F03B8EC 90429300 */ lbu $v0, %lo(image_entries)($v0) -/* 070420 7F03B8F0 304F000F */ andi $t7, $v0, 0xf -/* 070424 7F03B8F4 11E10011 */ beq $t7, $at, .L7F03B93C -/* 070428 7F03B8F8 24010006 */ li $at, 6 -/* 07042C 7F03B8FC 11E1000F */ beq $t7, $at, .L7F03B93C -/* 070430 7F03B900 8FB80544 */ lw $t8, 0x544($sp) -/* 070434 7F03B904 241900FF */ li $t9, 255 -/* 070438 7F03B908 A3B80050 */ sb $t8, 0x50($sp) -/* 07043C 7F03B90C 0FC26C54 */ jal get_cur_playernum -/* 070440 7F03B910 A3B90051 */ sb $t9, 0x51($sp) -/* 070444 7F03B914 27A80050 */ addiu $t0, $sp, 0x50 -/* 070448 7F03B918 AFA80018 */ sw $t0, 0x18($sp) -/* 07044C 7F03B91C 00002025 */ move $a0, $zero -/* 070450 7F03B920 02002825 */ move $a1, $s0 -/* 070454 7F03B924 8FA6055C */ lw $a2, 0x55c($sp) -/* 070458 7F03B928 24070001 */ li $a3, 1 -/* 07045C 7F03B92C AFA00010 */ sw $zero, 0x10($sp) -/* 070460 7F03B930 AFA20014 */ sw $v0, 0x14($sp) -/* 070464 7F03B934 0FC27094 */ jal sub_GAME_7F09C250 -/* 070468 7F03B938 AFA0001C */ sw $zero, 0x1c($sp) -.L7F03B93C: -/* 07046C 7F03B93C 3C0141D0 */ li $at, 0x41D00000 # 26.000000 -/* 070470 7F03B940 44810000 */ mtc1 $at, $f0 -/* 070474 7F03B944 C7B001BC */ lwc1 $f16, 0x1bc($sp) -/* 070478 7F03B948 C6080000 */ lwc1 $f8, ($s0) -/* 07047C 7F03B94C C60A0004 */ lwc1 $f10, 4($s0) -/* 070480 7F03B950 46100482 */ mul.s $f18, $f0, $f16 -/* 070484 7F03B954 02002025 */ move $a0, $s0 -/* 070488 7F03B958 46124181 */ sub.s $f6, $f8, $f18 -/* 07048C 7F03B95C C6120008 */ lwc1 $f18, 8($s0) -/* 070490 7F03B960 E6060000 */ swc1 $f6, ($s0) -/* 070494 7F03B964 C7A401C0 */ lwc1 $f4, 0x1c0($sp) -/* 070498 7F03B968 46040402 */ mul.s $f16, $f0, $f4 -/* 07049C 7F03B96C 46105201 */ sub.s $f8, $f10, $f16 -/* 0704A0 7F03B970 E6080004 */ swc1 $f8, 4($s0) -/* 0704A4 7F03B974 C7A601C4 */ lwc1 $f6, 0x1c4($sp) -/* 0704A8 7F03B978 46060102 */ mul.s $f4, $f0, $f6 -/* 0704AC 7F03B97C 46049281 */ sub.s $f10, $f18, $f4 -/* 0704B0 7F03B980 0FC19ED3 */ jal sub_GAME_7F067B4C -/* 0704B4 7F03B984 E60A0008 */ swc1 $f10, 8($s0) -/* 0704B8 7F03B988 3C0141D0 */ li $at, 0x41D00000 # 26.000000 -/* 0704BC 7F03B98C 44810000 */ mtc1 $at, $f0 -/* 0704C0 7F03B990 12200005 */ beqz $s1, .L7F03B9A8 -/* 0704C4 7F03B994 02002025 */ move $a0, $s0 -/* 0704C8 7F03B998 44060000 */ mfc1 $a2, $f0 -/* 0704CC 7F03B99C 24050001 */ li $a1, 1 -/* 0704D0 7F03B9A0 0FC28F87 */ jal sub_GAME_7F0A3E1C -/* 0704D4 7F03B9A4 87A70546 */ lh $a3, 0x546($sp) -.L7F03B9A8: -/* 0704D8 7F03B9A8 8FBF0034 */ lw $ra, 0x34($sp) -.L7F03B9AC: -/* 0704DC 7F03B9AC 8FB00028 */ lw $s0, 0x28($sp) -/* 0704E0 7F03B9B0 8FB1002C */ lw $s1, 0x2c($sp) -/* 0704E4 7F03B9B4 8FB20030 */ lw $s2, 0x30($sp) -/* 0704E8 7F03B9B8 03E00008 */ jr $ra -/* 0704EC 7F03B9BC 27BD0578 */ addiu $sp, $sp, 0x578 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03B9C0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03B9C0 -/* 0704F0 7F03B9C0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0704F4 7F03B9C4 8FAE0054 */ lw $t6, 0x54($sp) -/* 0704F8 7F03B9C8 44867000 */ mtc1 $a2, $f14 -/* 0704FC 7F03B9CC AFBF0014 */ sw $ra, 0x14($sp) -/* 070500 7F03B9D0 AFA40030 */ sw $a0, 0x30($sp) -/* 070504 7F03B9D4 AFA50034 */ sw $a1, 0x34($sp) -/* 070508 7F03B9D8 11C00091 */ beqz $t6, .L7F03BC20 -/* 07050C 7F03B9DC AFA7003C */ sw $a3, 0x3c($sp) -/* 070510 7F03B9E0 44806000 */ mtc1 $zero, $f12 -/* 070514 7F03B9E4 00003025 */ move $a2, $zero -/* 070518 7F03B9E8 00002825 */ move $a1, $zero -/* 07051C 7F03B9EC 00001825 */ move $v1, $zero -/* 070520 7F03B9F0 00801025 */ move $v0, $a0 -/* 070524 7F03B9F4 46006086 */ mov.s $f2, $f12 -.L7F03B9F8: -/* 070528 7F03B9F8 8C4F003C */ lw $t7, 0x3c($v0) -/* 07052C 7F03B9FC 51E0000E */ beql $t7, $zero, .L7F03BA38 -/* 070530 7F03BA00 24630001 */ addiu $v1, $v1, 1 -/* 070534 7F03BA04 8C580084 */ lw $t8, 0x84($v0) -/* 070538 7F03BA08 5300000B */ beql $t8, $zero, .L7F03BA38 -/* 07053C 7F03BA0C 24630001 */ addiu $v1, $v1, 1 -/* 070540 7F03BA10 C4400038 */ lwc1 $f0, 0x38($v0) -/* 070544 7F03BA14 24A50001 */ addiu $a1, $a1, 1 -/* 070548 7F03BA18 4600103C */ c.lt.s $f2, $f0 -/* 07054C 7F03BA1C 00000000 */ nop -/* 070550 7F03BA20 45020005 */ bc1fl .L7F03BA38 -/* 070554 7F03BA24 24630001 */ addiu $v1, $v1, 1 -/* 070558 7F03BA28 46001306 */ mov.s $f12, $f2 -/* 07055C 7F03BA2C 46000086 */ mov.s $f2, $f0 -/* 070560 7F03BA30 00603025 */ move $a2, $v1 -/* 070564 7F03BA34 24630001 */ addiu $v1, $v1, 1 -.L7F03BA38: -/* 070568 7F03BA38 2861000A */ slti $at, $v1, 0xa -/* 07056C 7F03BA3C 1420FFEE */ bnez $at, .L7F03B9F8 -/* 070570 7F03BA40 24420050 */ addiu $v0, $v0, 0x50 -/* 070574 7F03BA44 8FB90030 */ lw $t9, 0x30($sp) -/* 070578 7F03BA48 8F240018 */ lw $a0, 0x18($t9) -/* 07057C 7F03BA4C E7AE0038 */ swc1 $f14, 0x38($sp) -/* 070580 7F03BA50 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 070584 7F03BA54 AFA60024 */ sw $a2, 0x24($sp) -/* 070588 7F03BA58 0FC1780E */ jal sub_GAME_7F05E038 -/* 07058C 7F03BA5C AFA5001C */ sw $a1, 0x1c($sp) -/* 070590 7F03BA60 8FA5001C */ lw $a1, 0x1c($sp) -/* 070594 7F03BA64 8FA60024 */ lw $a2, 0x24($sp) -/* 070598 7F03BA68 8FA70030 */ lw $a3, 0x30($sp) -/* 07059C 7F03BA6C 00A2082A */ slt $at, $a1, $v0 -/* 0705A0 7F03BA70 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 0705A4 7F03BA74 1420005A */ bnez $at, .L7F03BBE0 -/* 0705A8 7F03BA78 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 0705AC 7F03BA7C 00064080 */ sll $t0, $a2, 2 -/* 0705B0 7F03BA80 460E603C */ c.lt.s $f12, $f14 -/* 0705B4 7F03BA84 01064021 */ addu $t0, $t0, $a2 -/* 0705B8 7F03BA88 00084100 */ sll $t0, $t0, 4 -/* 0705BC 7F03BA8C 00E84821 */ addu $t1, $a3, $t0 -/* 0705C0 7F03BA90 AD20003C */ sw $zero, 0x3c($t1) -/* 0705C4 7F03BA94 45000002 */ bc1f .L7F03BAA0 -/* 0705C8 7F03BA98 E4EC0034 */ swc1 $f12, 0x34($a3) -/* 0705CC 7F03BA9C E4EE0034 */ swc1 $f14, 0x34($a3) -.L7F03BAA0: -/* 0705D0 7F03BAA0 8CEA003C */ lw $t2, 0x3c($a3) -/* 0705D4 7F03BAA4 00E01025 */ move $v0, $a3 -/* 0705D8 7F03BAA8 240400A0 */ li $a0, 160 -/* 0705DC 7F03BAAC 1140000A */ beqz $t2, .L7F03BAD8 -/* 0705E0 7F03BAB0 24030320 */ li $v1, 800 -/* 0705E4 7F03BAB4 8C4B0084 */ lw $t3, 0x84($v0) -/* 0705E8 7F03BAB8 55600008 */ bnezl $t3, .L7F03BADC -/* 0705EC 7F03BABC 8C4C008C */ lw $t4, 0x8c($v0) -/* 0705F0 7F03BAC0 C4440038 */ lwc1 $f4, 0x38($v0) -/* 0705F4 7F03BAC4 4604603C */ c.lt.s $f12, $f4 -/* 0705F8 7F03BAC8 00000000 */ nop -/* 0705FC 7F03BACC 45020003 */ bc1fl .L7F03BADC -/* 070600 7F03BAD0 8C4C008C */ lw $t4, 0x8c($v0) -/* 070604 7F03BAD4 AC40003C */ sw $zero, 0x3c($v0) -.L7F03BAD8: -/* 070608 7F03BAD8 8C4C008C */ lw $t4, 0x8c($v0) -.L7F03BADC: -/* 07060C 7F03BADC 5180000B */ beql $t4, $zero, .L7F03BB0C -/* 070610 7F03BAE0 24E200A0 */ addiu $v0, $a3, 0xa0 -/* 070614 7F03BAE4 8C4D00D4 */ lw $t5, 0xd4($v0) -/* 070618 7F03BAE8 55A00008 */ bnezl $t5, .L7F03BB0C -/* 07061C 7F03BAEC 24E200A0 */ addiu $v0, $a3, 0xa0 -/* 070620 7F03BAF0 C4460088 */ lwc1 $f6, 0x88($v0) -/* 070624 7F03BAF4 4606603C */ c.lt.s $f12, $f6 -/* 070628 7F03BAF8 00000000 */ nop -/* 07062C 7F03BAFC 45020003 */ bc1fl .L7F03BB0C -/* 070630 7F03BB00 24E200A0 */ addiu $v0, $a3, 0xa0 -/* 070634 7F03BB04 AC40008C */ sw $zero, 0x8c($v0) -/* 070638 7F03BB08 24E200A0 */ addiu $v0, $a3, 0xa0 -.L7F03BB0C: -/* 07063C 7F03BB0C 8C4E003C */ lw $t6, 0x3c($v0) -/* 070640 7F03BB10 24840140 */ addiu $a0, $a0, 0x140 -/* 070644 7F03BB14 51C0000B */ beql $t6, $zero, .L7F03BB44 -/* 070648 7F03BB18 8C58008C */ lw $t8, 0x8c($v0) -/* 07064C 7F03BB1C 8C4F0084 */ lw $t7, 0x84($v0) -/* 070650 7F03BB20 55E00008 */ bnezl $t7, .L7F03BB44 -/* 070654 7F03BB24 8C58008C */ lw $t8, 0x8c($v0) -/* 070658 7F03BB28 C4480038 */ lwc1 $f8, 0x38($v0) -/* 07065C 7F03BB2C 4608603C */ c.lt.s $f12, $f8 -/* 070660 7F03BB30 00000000 */ nop -/* 070664 7F03BB34 45020003 */ bc1fl .L7F03BB44 -/* 070668 7F03BB38 8C58008C */ lw $t8, 0x8c($v0) -/* 07066C 7F03BB3C AC40003C */ sw $zero, 0x3c($v0) -/* 070670 7F03BB40 8C58008C */ lw $t8, 0x8c($v0) -.L7F03BB44: -/* 070674 7F03BB44 5300000B */ beql $t8, $zero, .L7F03BB74 -/* 070678 7F03BB48 8C4800DC */ lw $t0, 0xdc($v0) -/* 07067C 7F03BB4C 8C5900D4 */ lw $t9, 0xd4($v0) -/* 070680 7F03BB50 57200008 */ bnezl $t9, .L7F03BB74 -/* 070684 7F03BB54 8C4800DC */ lw $t0, 0xdc($v0) -/* 070688 7F03BB58 C44A0088 */ lwc1 $f10, 0x88($v0) -/* 07068C 7F03BB5C 460A603C */ c.lt.s $f12, $f10 -/* 070690 7F03BB60 00000000 */ nop -/* 070694 7F03BB64 45020003 */ bc1fl .L7F03BB74 -/* 070698 7F03BB68 8C4800DC */ lw $t0, 0xdc($v0) -/* 07069C 7F03BB6C AC40008C */ sw $zero, 0x8c($v0) -/* 0706A0 7F03BB70 8C4800DC */ lw $t0, 0xdc($v0) -.L7F03BB74: -/* 0706A4 7F03BB74 5100000B */ beql $t0, $zero, .L7F03BBA4 -/* 0706A8 7F03BB78 8C4A012C */ lw $t2, 0x12c($v0) -/* 0706AC 7F03BB7C 8C490124 */ lw $t1, 0x124($v0) -/* 0706B0 7F03BB80 55200008 */ bnezl $t1, .L7F03BBA4 -/* 0706B4 7F03BB84 8C4A012C */ lw $t2, 0x12c($v0) -/* 0706B8 7F03BB88 C45000D8 */ lwc1 $f16, 0xd8($v0) -/* 0706BC 7F03BB8C 4610603C */ c.lt.s $f12, $f16 -/* 0706C0 7F03BB90 00000000 */ nop -/* 0706C4 7F03BB94 45020003 */ bc1fl .L7F03BBA4 -/* 0706C8 7F03BB98 8C4A012C */ lw $t2, 0x12c($v0) -/* 0706CC 7F03BB9C AC4000DC */ sw $zero, 0xdc($v0) -/* 0706D0 7F03BBA0 8C4A012C */ lw $t2, 0x12c($v0) -.L7F03BBA4: -/* 0706D4 7F03BBA4 1140000A */ beqz $t2, .L7F03BBD0 -/* 0706D8 7F03BBA8 00000000 */ nop -/* 0706DC 7F03BBAC 8C4B0174 */ lw $t3, 0x174($v0) -/* 0706E0 7F03BBB0 15600007 */ bnez $t3, .L7F03BBD0 -/* 0706E4 7F03BBB4 00000000 */ nop -/* 0706E8 7F03BBB8 C4520128 */ lwc1 $f18, 0x128($v0) -/* 0706EC 7F03BBBC 4612603C */ c.lt.s $f12, $f18 -/* 0706F0 7F03BBC0 00000000 */ nop -/* 0706F4 7F03BBC4 45000002 */ bc1f .L7F03BBD0 -/* 0706F8 7F03BBC8 00000000 */ nop -/* 0706FC 7F03BBCC AC40012C */ sw $zero, 0x12c($v0) -.L7F03BBD0: -/* 070700 7F03BBD0 1483FFCE */ bne $a0, $v1, .L7F03BB0C -/* 070704 7F03BBD4 24420140 */ addiu $v0, $v0, 0x140 -/* 070708 7F03BBD8 10000012 */ b .L7F03BC24 -/* 07070C 7F03BBDC 8FAD0058 */ lw $t5, 0x58($sp) -.L7F03BBE0: -/* 070710 7F03BBE0 8CE40018 */ lw $a0, 0x18($a3) -/* 070714 7F03BBE4 E7AE0038 */ swc1 $f14, 0x38($sp) -/* 070718 7F03BBE8 0FC1780E */ jal sub_GAME_7F05E038 -/* 07071C 7F03BBEC AFA5001C */ sw $a1, 0x1c($sp) -/* 070720 7F03BBF0 8FA5001C */ lw $a1, 0x1c($sp) -/* 070724 7F03BBF4 8FA70030 */ lw $a3, 0x30($sp) -/* 070728 7F03BBF8 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 07072C 7F03BBFC 24AC0001 */ addiu $t4, $a1, 1 -/* 070730 7F03BC00 55820008 */ bnel $t4, $v0, .L7F03BC24 -/* 070734 7F03BC04 8FAD0058 */ lw $t5, 0x58($sp) -/* 070738 7F03BC08 C4E40034 */ lwc1 $f4, 0x34($a3) -/* 07073C 7F03BC0C 4604703C */ c.lt.s $f14, $f4 -/* 070740 7F03BC10 00000000 */ nop -/* 070744 7F03BC14 45020003 */ bc1fl .L7F03BC24 -/* 070748 7F03BC18 8FAD0058 */ lw $t5, 0x58($sp) -/* 07074C 7F03BC1C E4EE0034 */ swc1 $f14, 0x34($a3) -.L7F03BC20: -/* 070750 7F03BC20 8FAD0058 */ lw $t5, 0x58($sp) -.L7F03BC24: -/* 070754 7F03BC24 8FAE0030 */ lw $t6, 0x30($sp) -/* 070758 7F03BC28 51A00048 */ beql $t5, $zero, .L7F03BD4C -/* 07075C 7F03BC2C 00002025 */ move $a0, $zero -/* 070760 7F03BC30 8DC20018 */ lw $v0, 0x18($t6) -/* 070764 7F03BC34 24010012 */ li $at, 18 -/* 070768 7F03BC38 10410043 */ beq $v0, $at, .L7F03BD48 -/* 07076C 7F03BC3C 24010014 */ li $at, 20 -/* 070770 7F03BC40 50410042 */ beql $v0, $at, .L7F03BD4C -/* 070774 7F03BC44 00002025 */ move $a0, $zero -/* 070778 7F03BC48 8DC3003C */ lw $v1, 0x3c($t6) -/* 07077C 7F03BC4C 01C01025 */ move $v0, $t6 -/* 070780 7F03BC50 50600008 */ beql $v1, $zero, .L7F03BC74 -/* 070784 7F03BC54 8C4F008C */ lw $t7, 0x8c($v0) -/* 070788 7F03BC58 C5C60038 */ lwc1 $f6, 0x38($t6) -/* 07078C 7F03BC5C 4606703C */ c.lt.s $f14, $f6 -/* 070790 7F03BC60 00000000 */ nop -/* 070794 7F03BC64 45020003 */ bc1fl .L7F03BC74 -/* 070798 7F03BC68 8C4F008C */ lw $t7, 0x8c($v0) -/* 07079C 7F03BC6C ADC0003C */ sw $zero, 0x3c($t6) -/* 0707A0 7F03BC70 8C4F008C */ lw $t7, 0x8c($v0) -.L7F03BC74: -/* 0707A4 7F03BC74 51E00008 */ beql $t7, $zero, .L7F03BC98 -/* 0707A8 7F03BC78 8FA20030 */ lw $v0, 0x30($sp) -/* 0707AC 7F03BC7C C4480088 */ lwc1 $f8, 0x88($v0) -/* 0707B0 7F03BC80 4608703C */ c.lt.s $f14, $f8 -/* 0707B4 7F03BC84 00000000 */ nop -/* 0707B8 7F03BC88 45020003 */ bc1fl .L7F03BC98 -/* 0707BC 7F03BC8C 8FA20030 */ lw $v0, 0x30($sp) -/* 0707C0 7F03BC90 AC40008C */ sw $zero, 0x8c($v0) -/* 0707C4 7F03BC94 8FA20030 */ lw $v0, 0x30($sp) -.L7F03BC98: -/* 0707C8 7F03BC98 240400A0 */ li $a0, 160 -/* 0707CC 7F03BC9C 24030320 */ li $v1, 800 -/* 0707D0 7F03BCA0 244200A0 */ addiu $v0, $v0, 0xa0 -.L7F03BCA4: -/* 0707D4 7F03BCA4 8C58003C */ lw $t8, 0x3c($v0) -/* 0707D8 7F03BCA8 24840140 */ addiu $a0, $a0, 0x140 -/* 0707DC 7F03BCAC 53000008 */ beql $t8, $zero, .L7F03BCD0 -/* 0707E0 7F03BCB0 8C59008C */ lw $t9, 0x8c($v0) -/* 0707E4 7F03BCB4 C44A0038 */ lwc1 $f10, 0x38($v0) -/* 0707E8 7F03BCB8 460A703C */ c.lt.s $f14, $f10 -/* 0707EC 7F03BCBC 00000000 */ nop -/* 0707F0 7F03BCC0 45020003 */ bc1fl .L7F03BCD0 -/* 0707F4 7F03BCC4 8C59008C */ lw $t9, 0x8c($v0) -/* 0707F8 7F03BCC8 AC40003C */ sw $zero, 0x3c($v0) -/* 0707FC 7F03BCCC 8C59008C */ lw $t9, 0x8c($v0) -.L7F03BCD0: -/* 070800 7F03BCD0 53200008 */ beql $t9, $zero, .L7F03BCF4 -/* 070804 7F03BCD4 8C4800DC */ lw $t0, 0xdc($v0) -/* 070808 7F03BCD8 C4500088 */ lwc1 $f16, 0x88($v0) -/* 07080C 7F03BCDC 4610703C */ c.lt.s $f14, $f16 -/* 070810 7F03BCE0 00000000 */ nop -/* 070814 7F03BCE4 45020003 */ bc1fl .L7F03BCF4 -/* 070818 7F03BCE8 8C4800DC */ lw $t0, 0xdc($v0) -/* 07081C 7F03BCEC AC40008C */ sw $zero, 0x8c($v0) -/* 070820 7F03BCF0 8C4800DC */ lw $t0, 0xdc($v0) -.L7F03BCF4: -/* 070824 7F03BCF4 51000008 */ beql $t0, $zero, .L7F03BD18 -/* 070828 7F03BCF8 8C49012C */ lw $t1, 0x12c($v0) -/* 07082C 7F03BCFC C45200D8 */ lwc1 $f18, 0xd8($v0) -/* 070830 7F03BD00 4612703C */ c.lt.s $f14, $f18 -/* 070834 7F03BD04 00000000 */ nop -/* 070838 7F03BD08 45020003 */ bc1fl .L7F03BD18 -/* 07083C 7F03BD0C 8C49012C */ lw $t1, 0x12c($v0) -/* 070840 7F03BD10 AC4000DC */ sw $zero, 0xdc($v0) -/* 070844 7F03BD14 8C49012C */ lw $t1, 0x12c($v0) -.L7F03BD18: -/* 070848 7F03BD18 11200007 */ beqz $t1, .L7F03BD38 -/* 07084C 7F03BD1C 00000000 */ nop -/* 070850 7F03BD20 C4440128 */ lwc1 $f4, 0x128($v0) -/* 070854 7F03BD24 4604703C */ c.lt.s $f14, $f4 -/* 070858 7F03BD28 00000000 */ nop -/* 07085C 7F03BD2C 45000002 */ bc1f .L7F03BD38 -/* 070860 7F03BD30 00000000 */ nop -/* 070864 7F03BD34 AC40012C */ sw $zero, 0x12c($v0) -.L7F03BD38: -/* 070868 7F03BD38 1483FFDA */ bne $a0, $v1, .L7F03BCA4 -/* 07086C 7F03BD3C 24420140 */ addiu $v0, $v0, 0x140 -/* 070870 7F03BD40 8FAA0030 */ lw $t2, 0x30($sp) -/* 070874 7F03BD44 E54E0034 */ swc1 $f14, 0x34($t2) -.L7F03BD48: -/* 070878 7F03BD48 00002025 */ move $a0, $zero -.L7F03BD4C: -/* 07087C 7F03BD4C 8FA20030 */ lw $v0, 0x30($sp) -/* 070880 7F03BD50 24030320 */ li $v1, 800 -.L7F03BD54: -/* 070884 7F03BD54 8C4B003C */ lw $t3, 0x3c($v0) -/* 070888 7F03BD58 24840050 */ addiu $a0, $a0, 0x50 -/* 07088C 7F03BD5C 1560001D */ bnez $t3, .L7F03BDD4 -/* 070890 7F03BD60 00000000 */ nop -/* 070894 7F03BD64 E44E0038 */ swc1 $f14, 0x38($v0) -/* 070898 7F03BD68 8FAC0034 */ lw $t4, 0x34($sp) -/* 07089C 7F03BD6C 00404025 */ move $t0, $v0 -/* 0708A0 7F03BD70 AC4C003C */ sw $t4, 0x3c($v0) -/* 0708A4 7F03BD74 8FAD003C */ lw $t5, 0x3c($sp) -/* 0708A8 7F03BD78 AC4D0040 */ sw $t5, 0x40($v0) -/* 0708AC 7F03BD7C 8FAE0040 */ lw $t6, 0x40($sp) -/* 0708B0 7F03BD80 AC4E0044 */ sw $t6, 0x44($v0) -/* 0708B4 7F03BD84 8FAF0044 */ lw $t7, 0x44($sp) -/* 0708B8 7F03BD88 25F90030 */ addiu $t9, $t7, 0x30 -.L7F03BD8C: -/* 0708BC 7F03BD8C 8DE10000 */ lw $at, ($t7) -/* 0708C0 7F03BD90 25EF000C */ addiu $t7, $t7, 0xc -/* 0708C4 7F03BD94 2508000C */ addiu $t0, $t0, 0xc -/* 0708C8 7F03BD98 AD01003C */ sw $at, 0x3c($t0) -/* 0708CC 7F03BD9C 8DE1FFF8 */ lw $at, -8($t7) -/* 0708D0 7F03BDA0 AD010040 */ sw $at, 0x40($t0) -/* 0708D4 7F03BDA4 8DE1FFFC */ lw $at, -4($t7) -/* 0708D8 7F03BDA8 15F9FFF8 */ bne $t7, $t9, .L7F03BD8C -/* 0708DC 7F03BDAC AD010044 */ sw $at, 0x44($t0) -/* 0708E0 7F03BDB0 8FA90048 */ lw $t1, 0x48($sp) -/* 0708E4 7F03BDB4 AC490078 */ sw $t1, 0x78($v0) -/* 0708E8 7F03BDB8 8FAA004C */ lw $t2, 0x4c($sp) -/* 0708EC 7F03BDBC AC4A007C */ sw $t2, 0x7c($v0) -/* 0708F0 7F03BDC0 8FAB0050 */ lw $t3, 0x50($sp) -/* 0708F4 7F03BDC4 AC4B0080 */ sw $t3, 0x80($v0) -/* 0708F8 7F03BDC8 8FAC0054 */ lw $t4, 0x54($sp) -/* 0708FC 7F03BDCC 10000003 */ b .L7F03BDDC -/* 070900 7F03BDD0 AC4C0084 */ sw $t4, 0x84($v0) -.L7F03BDD4: -/* 070904 7F03BDD4 1483FFDF */ bne $a0, $v1, .L7F03BD54 -/* 070908 7F03BDD8 24420050 */ addiu $v0, $v0, 0x50 -.L7F03BDDC: -/* 07090C 7F03BDDC 8FBF0014 */ lw $ra, 0x14($sp) -/* 070910 7F03BDE0 27BD0030 */ addiu $sp, $sp, 0x30 -/* 070914 7F03BDE4 03E00008 */ jr $ra -/* 070918 7F03BDE8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03BDEC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03BDEC -/* 07091C 7F03BDEC 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 070920 7F03BDF0 AFBF0064 */ sw $ra, 0x64($sp) -/* 070924 7F03BDF4 AFB60060 */ sw $s6, 0x60($sp) -/* 070928 7F03BDF8 00A0B025 */ move $s6, $a1 -/* 07092C 7F03BDFC AFB5005C */ sw $s5, 0x5c($sp) -/* 070930 7F03BE00 AFB40058 */ sw $s4, 0x58($sp) -/* 070934 7F03BE04 AFB30054 */ sw $s3, 0x54($sp) -/* 070938 7F03BE08 AFB20050 */ sw $s2, 0x50($sp) -/* 07093C 7F03BE0C AFB1004C */ sw $s1, 0x4c($sp) -/* 070940 7F03BE10 AFB00048 */ sw $s0, 0x48($sp) -/* 070944 7F03BE14 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 070948 7F03BE18 F7B60038 */ sdc1 $f22, 0x38($sp) -/* 07094C 7F03BE1C F7B40030 */ sdc1 $f20, 0x30($sp) -/* 070950 7F03BE20 AFA400C8 */ sw $a0, 0xc8($sp) -/* 070954 7F03BE24 0FC225E6 */ jal get_curplayer_positiondata -/* 070958 7F03BE28 AFA000BC */ sw $zero, 0xbc($sp) -/* 07095C 7F03BE2C 3C048008 */ lui $a0, %hi(pPlayer) -/* 070960 7F03BE30 0040A025 */ move $s4, $v0 -/* 070964 7F03BE34 0FC225E0 */ jal sub_GAME_7F089780 -/* 070968 7F03BE38 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 07096C 7F03BE3C 3C138007 */ lui $s3, %hi(dword_CODE_bss_80071DF0) -/* 070970 7F03BE40 8E731DF0 */ lw $s3, %lo(dword_CODE_bss_80071DF0)($s3) -/* 070974 7F03BE44 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80071620) -/* 070978 7F03BE48 25CE1620 */ addiu $t6, %lo(dword_CODE_bss_80071620) # addiu $t6, $t6, 0x1620 -/* 07097C 7F03BE4C 2673FFFC */ addiu $s3, $s3, -4 -/* 070980 7F03BE50 026E082B */ sltu $at, $s3, $t6 -/* 070984 7F03BE54 1420008F */ bnez $at, .L7F03C094 -/* 070988 7F03BE58 46000606 */ mov.s $f24, $f0 -/* 07098C 7F03BE5C 4480B000 */ mtc1 $zero, $f22 -/* 070990 7F03BE60 27B50078 */ addiu $s5, $sp, 0x78 -/* 070994 7F03BE64 8E700000 */ lw $s0, ($s3) -.L7F03BE68: -/* 070998 7F03BE68 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 07099C 7F03BE6C 12000083 */ beqz $s0, .L7F03C07C -/* 0709A0 7F03BE70 00000000 */ nop -/* 0709A4 7F03BE74 C6040018 */ lwc1 $f4, 0x18($s0) -/* 0709A8 7F03BE78 44813000 */ mtc1 $at, $f6 -/* 0709AC 7F03BE7C 00000000 */ nop -/* 0709B0 7F03BE80 4606203C */ c.lt.s $f4, $f6 -/* 0709B4 7F03BE84 00000000 */ nop -/* 0709B8 7F03BE88 4500007C */ bc1f .L7F03C07C -/* 0709BC 7F03BE8C 00000000 */ nop -/* 0709C0 7F03BE90 92020000 */ lbu $v0, ($s0) -/* 0709C4 7F03BE94 24010003 */ li $at, 3 -/* 0709C8 7F03BE98 1041000B */ beq $v0, $at, .L7F03BEC8 -/* 0709CC 7F03BE9C 24010006 */ li $at, 6 -/* 0709D0 7F03BEA0 14410076 */ bne $v0, $at, .L7F03C07C -/* 0709D4 7F03BEA4 00000000 */ nop -/* 0709D8 7F03BEA8 8E0F0004 */ lw $t7, 4($s0) -/* 0709DC 7F03BEAC 11E00073 */ beqz $t7, .L7F03C07C -/* 0709E0 7F03BEB0 00000000 */ nop -/* 0709E4 7F03BEB4 0FC26C57 */ jal sub_GAME_7F09B15C -/* 0709E8 7F03BEB8 02002025 */ move $a0, $s0 -/* 0709EC 7F03BEBC 0FC26C54 */ jal get_cur_playernum -/* 0709F0 7F03BEC0 00408825 */ move $s1, $v0 -/* 0709F4 7F03BEC4 1051006D */ beq $v0, $s1, .L7F03C07C -.L7F03BEC8: -/* 0709F8 7F03BEC8 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 0709FC 7F03BECC 4481A000 */ mtc1 $at, $f20 -/* 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 -/* 070A10 7F03BEE0 27A500AC */ addiu $a1, $sp, 0xac -/* 070A14 7F03BEE4 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 070A18 7F03BEE8 4481A000 */ mtc1 $at, $f20 -/* 070A1C 7F03BEEC 00000000 */ nop -.L7F03BEF0: -/* 070A20 7F03BEF0 8E44001C */ lw $a0, 0x1c($s2) -/* 070A24 7F03BEF4 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 070A28 7F03BEF8 0FC0FDD2 */ jal sub_GAME_7F03F748 -/* 070A2C 7F03BEFC 00003825 */ move $a3, $zero -/* 070A30 7F03BF00 C7A800AC */ lwc1 $f8, 0xac($sp) -/* 070A34 7F03BF04 C7AA00A8 */ lwc1 $f10, 0xa8($sp) -/* 070A38 7F03BF08 4608B03E */ c.le.s $f22, $f8 -/* 070A3C 7F03BF0C 00000000 */ nop -/* 070A40 7F03BF10 4500005A */ bc1f .L7F03C07C -/* 070A44 7F03BF14 00000000 */ nop -/* 070A48 7F03BF18 4616503E */ c.le.s $f10, $f22 -/* 070A4C 7F03BF1C 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 070A50 7F03BF20 27A600A0 */ addiu $a2, $sp, 0xa0 -/* 070A54 7F03BF24 24070001 */ li $a3, 1 -/* 070A58 7F03BF28 45000054 */ bc1f .L7F03C07C -/* 070A5C 7F03BF2C 00000000 */ nop -/* 070A60 7F03BF30 0FC0FDD2 */ jal sub_GAME_7F03F748 -/* 070A64 7F03BF34 8E44001C */ lw $a0, 0x1c($s2) -/* 070A68 7F03BF38 C7B000A4 */ lwc1 $f16, 0xa4($sp) -/* 070A6C 7F03BF3C C7B200A0 */ lwc1 $f18, 0xa0($sp) -/* 070A70 7F03BF40 4610B03E */ c.le.s $f22, $f16 -/* 070A74 7F03BF44 00000000 */ nop -/* 070A78 7F03BF48 4500004C */ bc1f .L7F03C07C -/* 070A7C 7F03BF4C 00000000 */ nop -/* 070A80 7F03BF50 4616903E */ c.le.s $f18, $f22 -/* 070A84 7F03BF54 27A5009C */ addiu $a1, $sp, 0x9c -/* 070A88 7F03BF58 27A60098 */ addiu $a2, $sp, 0x98 -/* 070A8C 7F03BF5C 24070002 */ li $a3, 2 -/* 070A90 7F03BF60 45000046 */ bc1f .L7F03C07C -/* 070A94 7F03BF64 00000000 */ nop -/* 070A98 7F03BF68 0FC0FDD2 */ jal sub_GAME_7F03F748 -/* 070A9C 7F03BF6C 8E44001C */ lw $a0, 0x1c($s2) -/* 070AA0 7F03BF70 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 070AA4 7F03BF74 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 070AA8 7F03BF78 4616203E */ c.le.s $f4, $f22 -/* 070AAC 7F03BF7C 00000000 */ nop -/* 070AB0 7F03BF80 4500003E */ bc1f .L7F03C07C -/* 070AB4 7F03BF84 00000000 */ nop -/* 070AB8 7F03BF88 4600A207 */ neg.s $f8, $f20 -/* 070ABC 7F03BF8C 27A40090 */ addiu $a0, $sp, 0x90 -/* 070AC0 7F03BF90 4606403E */ c.le.s $f8, $f6 -/* 070AC4 7F03BF94 24190013 */ li $t9, 19 -/* 070AC8 7F03BF98 45000038 */ bc1f .L7F03C07C -/* 070ACC 7F03BF9C 00000000 */ nop -/* 070AD0 7F03BFA0 8E980014 */ lw $t8, 0x14($s4) -/* 070AD4 7F03BFA4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 070AD8 7F03BFA8 44818000 */ mtc1 $at, $f16 -/* 070ADC 7F03BFAC AFB80090 */ sw $t8, 0x90($sp) -/* 070AE0 7F03BFB0 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 070AE4 7F03BFB4 8E070008 */ lw $a3, 8($s0) -/* 070AE8 7F03BFB8 8E860010 */ lw $a2, 0x10($s4) -/* 070AEC 7F03BFBC 8E850008 */ lw $a1, 8($s4) -/* 070AF0 7F03BFC0 E7B60020 */ swc1 $f22, 0x20($sp) -/* 070AF4 7F03BFC4 E7B8001C */ swc1 $f24, 0x1c($sp) -/* 070AF8 7F03BFC8 E7B80018 */ swc1 $f24, 0x18($sp) -/* 070AFC 7F03BFCC AFB90014 */ sw $t9, 0x14($sp) -/* 070B00 7F03BFD0 E7B00024 */ swc1 $f16, 0x24($sp) -/* 070B04 7F03BFD4 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 070B08 7F03BFD8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 070B0C 7F03BFDC 10400027 */ beqz $v0, .L7F03C07C -/* 070B10 7F03BFE0 8FA80090 */ lw $t0, 0x90($sp) -/* 070B14 7F03BFE4 8E090014 */ lw $t1, 0x14($s0) -/* 070B18 7F03BFE8 15090024 */ bne $t0, $t1, .L7F03C07C -/* 070B1C 7F03BFEC 00000000 */ nop -/* 070B20 7F03BFF0 0FC1E67C */ jal sub_GAME_7F0799F0 -/* 070B24 7F03BFF4 2411000F */ li $s1, 15 -/* 070B28 7F03BFF8 24010001 */ li $at, 1 -/* 070B2C 7F03BFFC 14410003 */ bne $v0, $at, .L7F03C00C -/* 070B30 7F03C000 00000000 */ nop -/* 070B34 7F03C004 10000006 */ b .L7F03C020 -/* 070B38 7F03C008 241100C8 */ li $s1, 200 -.L7F03C00C: -/* 070B3C 7F03C00C 0FC1E67C */ jal sub_GAME_7F0799F0 -/* 070B40 7F03C010 00000000 */ nop -/* 070B44 7F03C014 54400003 */ bnezl $v0, .L7F03C024 -/* 070B48 7F03C018 27A40084 */ addiu $a0, $sp, 0x84 -/* 070B4C 7F03C01C 241100C9 */ li $s1, 201 -.L7F03C020: -/* 070B50 7F03C020 27A40084 */ addiu $a0, $sp, 0x84 -.L7F03C024: -/* 070B54 7F03C024 02A02825 */ move $a1, $s5 -/* 070B58 7F03C028 0FC1A073 */ jal sub_GAME_7F0681CC -/* 070B5C 7F03C02C 8FA600C8 */ lw $a2, 0xc8($sp) -/* 070B60 7F03C030 0FC1E111 */ jal sub_GAME_7F078444 -/* 070B64 7F03C034 00000000 */ nop -/* 070B68 7F03C038 00402025 */ move $a0, $v0 -/* 070B6C 7F03C03C 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 070B70 7F03C040 02A02825 */ move $a1, $s5 -/* 070B74 7F03C044 240A0001 */ li $t2, 1 -/* 070B78 7F03C048 AFAA0010 */ sw $t2, 0x10($sp) -/* 070B7C 7F03C04C 02402025 */ move $a0, $s2 -/* 070B80 7F03C050 02202825 */ move $a1, $s1 -/* 070B84 7F03C054 02A03025 */ move $a2, $s5 -/* 070B88 7F03C058 0FC09C9F */ jal handles_shot_actors -/* 070B8C 7F03C05C 02C03825 */ move $a3, $s6 -/* 070B90 7F03C060 10400006 */ beqz $v0, .L7F03C07C -/* 070B94 7F03C064 02C02025 */ move $a0, $s6 -/* 070B98 7F03C068 240B0001 */ li $t3, 1 -/* 070B9C 7F03C06C AFAB00BC */ sw $t3, 0xbc($sp) -/* 070BA0 7F03C070 02002825 */ move $a1, $s0 -/* 070BA4 7F03C074 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 070BA8 7F03C078 2406FFFF */ li $a2, -1 -.L7F03C07C: -/* 070BAC 7F03C07C 3C0C8007 */ lui $t4, %hi(dword_CODE_bss_80071620) -/* 070BB0 7F03C080 258C1620 */ addiu $t4, %lo(dword_CODE_bss_80071620) # addiu $t4, $t4, 0x1620 -/* 070BB4 7F03C084 2673FFFC */ addiu $s3, $s3, -4 -/* 070BB8 7F03C088 026C082B */ sltu $at, $s3, $t4 -/* 070BBC 7F03C08C 5020FF76 */ beql $at, $zero, .L7F03BE68 -/* 070BC0 7F03C090 8E700000 */ lw $s0, ($s3) -.L7F03C094: -/* 070BC4 7F03C094 8FAD00BC */ lw $t5, 0xbc($sp) -/* 070BC8 7F03C098 24010001 */ li $at, 1 -/* 070BCC 7F03C09C 55A00008 */ bnezl $t5, .L7F03C0C0 -/* 070BD0 7F03C0A0 8FBF0064 */ lw $ra, 0x64($sp) -/* 070BD4 7F03C0A4 16C10005 */ bne $s6, $at, .L7F03C0BC -/* 070BD8 7F03C0A8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 070BDC 7F03C0AC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 070BE0 7F03C0B0 24050069 */ li $a1, 105 -/* 070BE4 7F03C0B4 0C002382 */ jal play_sfx_a1 -/* 070BE8 7F03C0B8 00003025 */ move $a2, $zero -.L7F03C0BC: -/* 070BEC 7F03C0BC 8FBF0064 */ lw $ra, 0x64($sp) -.L7F03C0C0: -/* 070BF0 7F03C0C0 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 070BF4 7F03C0C4 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 070BF8 7F03C0C8 D7B80040 */ ldc1 $f24, 0x40($sp) -/* 070BFC 7F03C0CC 8FB00048 */ lw $s0, 0x48($sp) -/* 070C00 7F03C0D0 8FB1004C */ lw $s1, 0x4c($sp) -/* 070C04 7F03C0D4 8FB20050 */ lw $s2, 0x50($sp) -/* 070C08 7F03C0D8 8FB30054 */ lw $s3, 0x54($sp) -/* 070C0C 7F03C0DC 8FB40058 */ lw $s4, 0x58($sp) -/* 070C10 7F03C0E0 8FB5005C */ lw $s5, 0x5c($sp) -/* 070C14 7F03C0E4 8FB60060 */ lw $s6, 0x60($sp) -/* 070C18 7F03C0E8 03E00008 */ jr $ra -/* 070C1C 7F03C0EC 27BD00C8 */ addiu $sp, $sp, 0xc8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03C0F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03C0F0 -/* 070C20 7F03C0F0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 070C24 7F03C0F4 AFBF001C */ sw $ra, 0x1c($sp) -/* 070C28 7F03C0F8 AFB00018 */ sw $s0, 0x18($sp) -/* 070C2C 7F03C0FC 0FC17722 */ jal get_hands_firing_status -/* 070C30 7F03C100 00808025 */ move $s0, $a0 -/* 070C34 7F03C104 5040005F */ beql $v0, $zero, .L7F03C284 -/* 070C38 7F03C108 8FBF001C */ lw $ra, 0x1c($sp) -/* 070C3C 7F03C10C 0FC17674 */ jal get_item_in_hand -/* 070C40 7F03C110 02002025 */ move $a0, $s0 -/* 070C44 7F03C114 2401001E */ li $at, 30 -/* 070C48 7F03C118 14410005 */ bne $v0, $at, .L7F03C130 -/* 070C4C 7F03C11C 00403025 */ move $a2, $v0 -/* 070C50 7F03C120 0FC14686 */ jal trigger_remote_mine_detonation -/* 070C54 7F03C124 00000000 */ nop -/* 070C58 7F03C128 10000056 */ b .L7F03C284 -/* 070C5C 7F03C12C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03C130: -/* 070C60 7F03C130 24010018 */ li $at, 24 -/* 070C64 7F03C134 10410052 */ beq $v0, $at, .L7F03C280 -/* 070C68 7F03C138 24010019 */ li $at, 25 -/* 070C6C 7F03C13C 10410050 */ beq $v0, $at, .L7F03C280 -/* 070C70 7F03C140 2401001A */ li $at, 26 -/* 070C74 7F03C144 1041004E */ beq $v0, $at, .L7F03C280 -/* 070C78 7F03C148 24010003 */ li $at, 3 -/* 070C7C 7F03C14C 1041004C */ beq $v0, $at, .L7F03C280 -/* 070C80 7F03C150 2401001D */ li $at, 29 -/* 070C84 7F03C154 1041004A */ beq $v0, $at, .L7F03C280 -/* 070C88 7F03C158 2401001C */ li $at, 28 -/* 070C8C 7F03C15C 10410048 */ beq $v0, $at, .L7F03C280 -/* 070C90 7F03C160 2401001B */ li $at, 27 -/* 070C94 7F03C164 10410046 */ beq $v0, $at, .L7F03C280 -/* 070C98 7F03C168 24010023 */ li $at, 35 -/* 070C9C 7F03C16C 10410044 */ beq $v0, $at, .L7F03C280 -/* 070CA0 7F03C170 24010024 */ li $at, 36 -/* 070CA4 7F03C174 10410042 */ beq $v0, $at, .L7F03C280 -/* 070CA8 7F03C178 24010021 */ li $at, 33 -/* 070CAC 7F03C17C 10410040 */ beq $v0, $at, .L7F03C280 -/* 070CB0 7F03C180 2401002F */ li $at, 47 -/* 070CB4 7F03C184 1041003E */ beq $v0, $at, .L7F03C280 -/* 070CB8 7F03C188 24010030 */ li $at, 48 -/* 070CBC 7F03C18C 1041003C */ beq $v0, $at, .L7F03C280 -/* 070CC0 7F03C190 2401003D */ li $at, 61 -/* 070CC4 7F03C194 1041003A */ beq $v0, $at, .L7F03C280 -/* 070CC8 7F03C198 24010058 */ li $at, 88 -/* 070CCC 7F03C19C 10410038 */ beq $v0, $at, .L7F03C280 -/* 070CD0 7F03C1A0 24010022 */ li $at, 34 -/* 070CD4 7F03C1A4 10410036 */ beq $v0, $at, .L7F03C280 -/* 070CD8 7F03C1A8 24010020 */ li $at, 32 -/* 070CDC 7F03C1AC 54410006 */ bnel $v0, $at, .L7F03C1C8 -/* 070CE0 7F03C1B0 24010001 */ li $at, 1 -/* 070CE4 7F03C1B4 0FC17ED9 */ jal sub_GAME_7F05FB64 -/* 070CE8 7F03C1B8 02002025 */ move $a0, $s0 -/* 070CEC 7F03C1BC 10000031 */ b .L7F03C284 -/* 070CF0 7F03C1C0 8FBF001C */ lw $ra, 0x1c($sp) -/* 070CF4 7F03C1C4 24010001 */ li $at, 1 -.L7F03C1C8: -/* 070CF8 7F03C1C8 10410004 */ beq $v0, $at, .L7F03C1DC -/* 070CFC 7F03C1CC 02002025 */ move $a0, $s0 -/* 070D00 7F03C1D0 24010002 */ li $at, 2 -/* 070D04 7F03C1D4 54410006 */ bnel $v0, $at, .L7F03C1F0 -/* 070D08 7F03C1D8 2401000F */ li $at, 15 -.L7F03C1DC: -/* 070D0C 7F03C1DC 0FC0EF7B */ jal sub_GAME_7F03BDEC -/* 070D10 7F03C1E0 00C02825 */ move $a1, $a2 -/* 070D14 7F03C1E4 10000027 */ b .L7F03C284 -/* 070D18 7F03C1E8 8FBF001C */ lw $ra, 0x1c($sp) -/* 070D1C 7F03C1EC 2401000F */ li $at, 15 -.L7F03C1F0: -/* 070D20 7F03C1F0 10410004 */ beq $v0, $at, .L7F03C204 -/* 070D24 7F03C1F4 00C02025 */ move $a0, $a2 -/* 070D28 7F03C1F8 24010010 */ li $at, 16 -/* 070D2C 7F03C1FC 5441000F */ bnel $v0, $at, .L7F03C23C -/* 070D30 7F03C200 24010028 */ li $at, 40 -.L7F03C204: -/* 070D34 7F03C204 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon -/* 070D38 7F03C208 00002825 */ move $a1, $zero -/* 070D3C 7F03C20C 00001025 */ move $v0, $zero -/* 070D40 7F03C210 02002025 */ move $a0, $s0 -.L7F03C214: -/* 070D44 7F03C214 0FC0EC57 */ jal sub_GAME_7F03B15C -/* 070D48 7F03C218 AFA20020 */ sw $v0, 0x20($sp) -/* 070D4C 7F03C21C 8FA20020 */ lw $v0, 0x20($sp) -/* 070D50 7F03C220 24010005 */ li $at, 5 -/* 070D54 7F03C224 24420001 */ addiu $v0, $v0, 1 -/* 070D58 7F03C228 5441FFFA */ bnel $v0, $at, .L7F03C214 -/* 070D5C 7F03C22C 02002025 */ move $a0, $s0 -/* 070D60 7F03C230 10000014 */ b .L7F03C284 -/* 070D64 7F03C234 8FBF001C */ lw $ra, 0x1c($sp) -/* 070D68 7F03C238 24010028 */ li $at, 40 -.L7F03C23C: -/* 070D6C 7F03C23C 54410006 */ bnel $v0, $at, .L7F03C258 -/* 070D70 7F03C240 2401003C */ li $at, 60 -/* 070D74 7F03C244 0FC15E26 */ jal sub_GAME_7F057898 -/* 070D78 7F03C248 00000000 */ nop -/* 070D7C 7F03C24C 1000000D */ b .L7F03C284 -/* 070D80 7F03C250 8FBF001C */ lw $ra, 0x1c($sp) -/* 070D84 7F03C254 2401003C */ li $at, 60 -.L7F03C258: -/* 070D88 7F03C258 14410005 */ bne $v0, $at, .L7F03C270 -/* 070D8C 7F03C25C 00C02025 */ move $a0, $a2 -/* 070D90 7F03C260 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 070D94 7F03C264 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 070D98 7F03C268 10000005 */ b .L7F03C280 -/* 070D9C 7F03C26C ADC01270 */ sw $zero, 0x1270($t6) -.L7F03C270: -/* 070DA0 7F03C270 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon -/* 070DA4 7F03C274 00002825 */ move $a1, $zero -/* 070DA8 7F03C278 0FC0EC57 */ jal sub_GAME_7F03B15C -/* 070DAC 7F03C27C 02002025 */ move $a0, $s0 -.L7F03C280: -/* 070DB0 7F03C280 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03C284: -/* 070DB4 7F03C284 8FB00018 */ lw $s0, 0x18($sp) -/* 070DB8 7F03C288 27BD0028 */ addiu $sp, $sp, 0x28 -/* 070DBC 7F03C28C 03E00008 */ jr $ra -/* 070DC0 7F03C290 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03C294(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03C294 -/* 070DC4 7F03C294 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 070DC8 7F03C298 AFBF0014 */ sw $ra, 0x14($sp) -/* 070DCC 7F03C29C 0FC0F03C */ jal sub_GAME_7F03C0F0 -/* 070DD0 7F03C2A0 00002025 */ move $a0, $zero -/* 070DD4 7F03C2A4 0FC0F03C */ jal sub_GAME_7F03C0F0 -/* 070DD8 7F03C2A8 24040001 */ li $a0, 1 -/* 070DDC 7F03C2AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 070DE0 7F03C2B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 070DE4 7F03C2B4 03E00008 */ jr $ra -/* 070DE8 7F03C2B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03C2BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03C2BC -/* 070DEC 7F03C2BC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 070DF0 7F03C2C0 AFB00018 */ sw $s0, 0x18($sp) -/* 070DF4 7F03C2C4 24030001 */ li $v1, 1 -/* 070DF8 7F03C2C8 00808025 */ move $s0, $a0 -/* 070DFC 7F03C2CC 14A30029 */ bne $a1, $v1, .L7F03C374 -/* 070E00 7F03C2D0 AFBF001C */ sw $ra, 0x1c($sp) -/* 070E04 7F03C2D4 90820000 */ lbu $v0, ($a0) -/* 070E08 7F03C2D8 24010004 */ li $at, 4 -/* 070E0C 7F03C2DC 50410004 */ beql $v0, $at, .L7F03C2F0 -/* 070E10 7F03C2E0 8E030004 */ lw $v1, 4($s0) -/* 070E14 7F03C2E4 14620019 */ bne $v1, $v0, .L7F03C34C -/* 070E18 7F03C2E8 00000000 */ nop -/* 070E1C 7F03C2EC 8E030004 */ lw $v1, 4($s0) -.L7F03C2F0: -/* 070E20 7F03C2F0 241804B0 */ li $t8, 1200 -/* 070E24 7F03C2F4 2401FFFB */ li $at, -5 -/* 070E28 7F03C2F8 906E0002 */ lbu $t6, 2($v1) -/* 070E2C 7F03C2FC 02002025 */ move $a0, $s0 -/* 070E30 7F03C300 31CF0004 */ andi $t7, $t6, 4 -/* 070E34 7F03C304 11E00011 */ beqz $t7, .L7F03C34C -/* 070E38 7F03C308 00000000 */ nop -/* 070E3C 7F03C30C A6180002 */ sh $t8, 2($s0) -/* 070E40 7F03C310 8C790064 */ lw $t9, 0x64($v1) -/* 070E44 7F03C314 906B0002 */ lbu $t3, 2($v1) -/* 070E48 7F03C318 44802000 */ mtc1 $zero, $f4 -/* 070E4C 7F03C31C 37280800 */ ori $t0, $t9, 0x800 -/* 070E50 7F03C320 AC680064 */ sw $t0, 0x64($v1) -/* 070E54 7F03C324 01015024 */ and $t2, $t0, $at -/* 070E58 7F03C328 316CFF7F */ andi $t4, $t3, 0xff7f -/* 070E5C 7F03C32C AC6A0064 */ sw $t2, 0x64($v1) -/* 070E60 7F03C330 A06C0002 */ sb $t4, 2($v1) -/* 070E64 7F03C334 0FC0F863 */ jal sub_GAME_7F03E18C -/* 070E68 7F03C338 E4640070 */ swc1 $f4, 0x70($v1) -/* 070E6C 7F03C33C 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 070E70 7F03C340 02002025 */ move $a0, $s0 -/* 070E74 7F03C344 10000029 */ b .L7F03C3EC -/* 070E78 7F03C348 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03C34C: -/* 070E7C 7F03C34C 0FC0F863 */ jal sub_GAME_7F03E18C -/* 070E80 7F03C350 02002025 */ move $a0, $s0 -/* 070E84 7F03C354 0FC0E94E */ jal sub_GAME_7F03A538 -/* 070E88 7F03C358 02002025 */ move $a0, $s0 -/* 070E8C 7F03C35C 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 070E90 7F03C360 02002025 */ move $a0, $s0 -/* 070E94 7F03C364 0FC0E921 */ jal set_last_obj_pos_data -/* 070E98 7F03C368 02002025 */ move $a0, $s0 -/* 070E9C 7F03C36C 1000001F */ b .L7F03C3EC -/* 070EA0 7F03C370 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03C374: -/* 070EA4 7F03C374 24010002 */ li $at, 2 -/* 070EA8 7F03C378 54A1000A */ bnel $a1, $at, .L7F03C3A4 -/* 070EAC 7F03C37C 24010004 */ li $at, 4 -/* 070EB0 7F03C380 0FC0F863 */ jal sub_GAME_7F03E18C -/* 070EB4 7F03C384 02002025 */ move $a0, $s0 -/* 070EB8 7F03C388 0FC0E94E */ jal sub_GAME_7F03A538 -/* 070EBC 7F03C38C 02002025 */ move $a0, $s0 -/* 070EC0 7F03C390 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 070EC4 7F03C394 02002025 */ move $a0, $s0 -/* 070EC8 7F03C398 10000014 */ b .L7F03C3EC -/* 070ECC 7F03C39C 8FBF001C */ lw $ra, 0x1c($sp) -/* 070ED0 7F03C3A0 24010004 */ li $at, 4 -.L7F03C3A4: -/* 070ED4 7F03C3A4 54A10011 */ bnel $a1, $at, .L7F03C3EC -/* 070ED8 7F03C3A8 8FBF001C */ lw $ra, 0x1c($sp) -/* 070EDC 7F03C3AC 0FC0F863 */ jal sub_GAME_7F03E18C -/* 070EE0 7F03C3B0 02002025 */ move $a0, $s0 -/* 070EE4 7F03C3B4 0FC0E94E */ jal sub_GAME_7F03A538 -/* 070EE8 7F03C3B8 02002025 */ move $a0, $s0 -/* 070EEC 7F03C3BC 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 070EF0 7F03C3C0 02002025 */ move $a0, $s0 -/* 070EF4 7F03C3C4 0FC13011 */ jal sub_GAME_7F04C044 -/* 070EF8 7F03C3C8 02002025 */ move $a0, $s0 -/* 070EFC 7F03C3CC 0FC1033C */ jal sub_GAME_7F040CF0 -/* 070F00 7F03C3D0 02002025 */ move $a0, $s0 -/* 070F04 7F03C3D4 0FC225E6 */ jal get_curplayer_positiondata -/* 070F08 7F03C3D8 00000000 */ nop -/* 070F0C 7F03C3DC 02002025 */ move $a0, $s0 -/* 070F10 7F03C3E0 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 070F14 7F03C3E4 00402825 */ move $a1, $v0 -/* 070F18 7F03C3E8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03C3EC: -/* 070F1C 7F03C3EC 8FB00018 */ lw $s0, 0x18($sp) -/* 070F20 7F03C3F0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 070F24 7F03C3F4 03E00008 */ jr $ra -/* 070F28 7F03C3F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03C3FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03C3FC -/* 070F2C 7F03C3FC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 070F30 7F03C400 AFB00014 */ sw $s0, 0x14($sp) -/* 070F34 7F03C404 3C108007 */ lui $s0, %hi(dword_CODE_bss_80071DF0) -/* 070F38 7F03C408 8E101DF0 */ lw $s0, %lo(dword_CODE_bss_80071DF0)($s0) -/* 070F3C 7F03C40C AFB70030 */ sw $s7, 0x30($sp) -/* 070F40 7F03C410 3C178007 */ lui $s7, %hi(dword_CODE_bss_80071620) -/* 070F44 7F03C414 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF8) -/* 070F48 7F03C418 26F71620 */ addiu $s7, %lo(dword_CODE_bss_80071620) # addiu $s7, $s7, 0x1620 -/* 070F4C 7F03C41C AC201DF8 */ sw $zero, %lo(dword_CODE_bss_80071DF8)($at) -/* 070F50 7F03C420 2610FFFC */ addiu $s0, $s0, -4 -/* 070F54 7F03C424 0217082B */ sltu $at, $s0, $s7 -/* 070F58 7F03C428 AFBF0034 */ sw $ra, 0x34($sp) -/* 070F5C 7F03C42C AFB6002C */ sw $s6, 0x2c($sp) -/* 070F60 7F03C430 AFB50028 */ sw $s5, 0x28($sp) -/* 070F64 7F03C434 AFB40024 */ sw $s4, 0x24($sp) -/* 070F68 7F03C438 AFB30020 */ sw $s3, 0x20($sp) -/* 070F6C 7F03C43C AFB2001C */ sw $s2, 0x1c($sp) -/* 070F70 7F03C440 AFB10018 */ sw $s1, 0x18($sp) -/* 070F74 7F03C444 1420001D */ bnez $at, .L7F03C4BC -/* 070F78 7F03C448 24030001 */ li $v1, 1 -/* 070F7C 7F03C44C 24140002 */ li $s4, 2 -/* 070F80 7F03C450 24130004 */ li $s3, 4 -/* 070F84 7F03C454 24120001 */ li $s2, 1 -/* 070F88 7F03C458 24110003 */ li $s1, 3 -/* 070F8C 7F03C45C 8E040000 */ lw $a0, ($s0) -.L7F03C460: -/* 070F90 7F03C460 50800013 */ beql $a0, $zero, .L7F03C4B0 -/* 070F94 7F03C464 2610FFFC */ addiu $s0, $s0, -4 -/* 070F98 7F03C468 90820000 */ lbu $v0, ($a0) -/* 070F9C 7F03C46C 1222000E */ beq $s1, $v0, .L7F03C4A8 -/* 070FA0 7F03C470 00000000 */ nop -/* 070FA4 7F03C474 12420003 */ beq $s2, $v0, .L7F03C484 -/* 070FA8 7F03C478 00000000 */ nop -/* 070FAC 7F03C47C 16620005 */ bne $s3, $v0, .L7F03C494 -/* 070FB0 7F03C480 00000000 */ nop -.L7F03C484: -/* 070FB4 7F03C484 0FC13BD6 */ jal sub_GAME_7F04EF58 -/* 070FB8 7F03C488 00000000 */ nop -/* 070FBC 7F03C48C 10000006 */ b .L7F03C4A8 -/* 070FC0 7F03C490 00401825 */ move $v1, $v0 -.L7F03C494: -/* 070FC4 7F03C494 16820004 */ bne $s4, $v0, .L7F03C4A8 -/* 070FC8 7F03C498 00000000 */ nop -/* 070FCC 7F03C49C 0FC15601 */ jal sub_GAME_7F055804 -/* 070FD0 7F03C4A0 00000000 */ nop -/* 070FD4 7F03C4A4 00401825 */ move $v1, $v0 -.L7F03C4A8: -/* 070FD8 7F03C4A8 10600004 */ beqz $v1, .L7F03C4BC -/* 070FDC 7F03C4AC 2610FFFC */ addiu $s0, $s0, -4 -.L7F03C4B0: -/* 070FE0 7F03C4B0 0217082B */ sltu $at, $s0, $s7 -/* 070FE4 7F03C4B4 5020FFEA */ beql $at, $zero, .L7F03C460 -/* 070FE8 7F03C4B8 8E040000 */ lw $a0, ($s0) -.L7F03C4BC: -/* 070FEC 7F03C4BC 8FBF0034 */ lw $ra, 0x34($sp) -/* 070FF0 7F03C4C0 3C028007 */ lui $v0, %hi(dword_CODE_bss_80071DF8) -/* 070FF4 7F03C4C4 8C421DF8 */ lw $v0, %lo(dword_CODE_bss_80071DF8)($v0) -/* 070FF8 7F03C4C8 8FB00014 */ lw $s0, 0x14($sp) -/* 070FFC 7F03C4CC 8FB10018 */ lw $s1, 0x18($sp) -/* 071000 7F03C4D0 8FB2001C */ lw $s2, 0x1c($sp) -/* 071004 7F03C4D4 8FB30020 */ lw $s3, 0x20($sp) -/* 071008 7F03C4D8 8FB40024 */ lw $s4, 0x24($sp) -/* 07100C 7F03C4DC 8FB50028 */ lw $s5, 0x28($sp) -/* 071010 7F03C4E0 8FB6002C */ lw $s6, 0x2c($sp) -/* 071014 7F03C4E4 8FB70030 */ lw $s7, 0x30($sp) -/* 071018 7F03C4E8 03E00008 */ jr $ra -/* 07101C 7F03C4EC 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03C4F0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80052980*/ -glabel jpt_80052980 -.word loc_CODE_7F03C534 -.word loc_CODE_7F03C544 -.word def_7F03C52C -.word loc_CODE_7F03C534 -.word def_7F03C52C -.word def_7F03C52C -.word def_7F03C52C -.word def_7F03C52C - -.text -glabel sub_GAME_7F03C4F0 -/* 071020 7F03C4F0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 071024 7F03C4F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 071028 7F03C4F8 0FC0F0FF */ jal sub_GAME_7F03C3FC -/* 07102C 7F03C4FC 00000000 */ nop -/* 071030 7F03C500 AFA2001C */ sw $v0, 0x1c($sp) -/* 071034 7F03C504 10400016 */ beqz $v0, .L7F03C560 -/* 071038 7F03C508 00002825 */ move $a1, $zero -/* 07103C 7F03C50C 904E0000 */ lbu $t6, ($v0) -/* 071040 7F03C510 25CFFFFF */ addiu $t7, $t6, -1 -/* 071044 7F03C514 2DE10008 */ sltiu $at, $t7, 8 -/* 071048 7F03C518 1020000D */ beqz $at, .L7F03C550 -/* 07104C 7F03C51C 000F7880 */ sll $t7, $t7, 2 -/* 071050 7F03C520 3C018005 */ lui $at, %hi(jpt_80052980) -/* 071054 7F03C524 002F0821 */ addu $at, $at, $t7 -/* 071058 7F03C528 8C2F2980 */ lw $t7, %lo(jpt_80052980)($at) -/* 07105C 7F03C52C 01E00008 */ jr $t7 -/* 071060 7F03C530 00000000 */ nop -loc_CODE_7F03C534: -/* 071064 7F03C534 0FC13C5C */ jal sub_GAME_7F04F170 -/* 071068 7F03C538 8FA4001C */ lw $a0, 0x1c($sp) -/* 07106C 7F03C53C 10000004 */ b .L7F03C550 -/* 071070 7F03C540 00402825 */ move $a1, $v0 -loc_CODE_7F03C544: -/* 071074 7F03C544 0FC15710 */ jal sub_GAME_7F055C40 -/* 071078 7F03C548 8FA4001C */ lw $a0, 0x1c($sp) -/* 07107C 7F03C54C 00402825 */ move $a1, $v0 -def_7F03C52C: -.L7F03C550: -/* 071080 7F03C550 0FC0F0AF */ jal sub_GAME_7F03C2BC -/* 071084 7F03C554 8FA4001C */ lw $a0, 0x1c($sp) -/* 071088 7F03C558 10000002 */ b .L7F03C564 -/* 07108C 7F03C55C 00001025 */ move $v0, $zero -.L7F03C560: -/* 071090 7F03C560 24020001 */ li $v0, 1 -.L7F03C564: -/* 071094 7F03C564 8FBF0014 */ lw $ra, 0x14($sp) -/* 071098 7F03C568 27BD0020 */ addiu $sp, $sp, 0x20 -/* 07109C 7F03C56C 03E00008 */ jr $ra -/* 0710A0 7F03C570 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03C574(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03C574 -/* 0710A4 7F03C574 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0710A8 7F03C578 AFBF002C */ sw $ra, 0x2c($sp) -/* 0710AC 7F03C57C AFB20024 */ sw $s2, 0x24($sp) -/* 0710B0 7F03C580 00809025 */ move $s2, $a0 -/* 0710B4 7F03C584 AFB30028 */ sw $s3, 0x28($sp) -/* 0710B8 7F03C588 AFB10020 */ sw $s1, 0x20($sp) -/* 0710BC 7F03C58C AFB0001C */ sw $s0, 0x1c($sp) -/* 0710C0 7F03C590 0FC26919 */ jal get_num_players -/* 0710C4 7F03C594 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0710C8 7F03C598 240E0001 */ li $t6, 1 -/* 0710CC 7F03C59C 00409825 */ move $s3, $v0 -/* 0710D0 7F03C5A0 AFAE0030 */ sw $t6, 0x30($sp) -/* 0710D4 7F03C5A4 1840001F */ blez $v0, .L7F03C624 -/* 0710D8 7F03C5A8 00008025 */ move $s0, $zero -/* 0710DC 7F03C5AC 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 0710E0 7F03C5B0 3C118008 */ lui $s1, %hi(ptr_BONDdata_p1) -/* 0710E4 7F03C5B4 4481A000 */ mtc1 $at, $f20 -/* 0710E8 7F03C5B8 26319EE0 */ addiu $s1, %lo(ptr_BONDdata_p1) # addiu $s1, $s1, -0x6120 -.L7F03C5BC: -/* 0710EC 7F03C5BC 8E2F0000 */ lw $t7, ($s1) -/* 0710F0 7F03C5C0 C6460008 */ lwc1 $f6, 8($s2) -/* 0710F4 7F03C5C4 C64A000C */ lwc1 $f10, 0xc($s2) -/* 0710F8 7F03C5C8 8DE200A8 */ lw $v0, 0xa8($t7) -/* 0710FC 7F03C5CC C6520010 */ lwc1 $f18, 0x10($s2) -/* 071100 7F03C5D0 C4440008 */ lwc1 $f4, 8($v0) -/* 071104 7F03C5D4 C448000C */ lwc1 $f8, 0xc($v0) -/* 071108 7F03C5D8 C4500010 */ lwc1 $f16, 0x10($v0) -/* 07110C 7F03C5DC 46062001 */ sub.s $f0, $f4, $f6 -/* 071110 7F03C5E0 460A4081 */ sub.s $f2, $f8, $f10 -/* 071114 7F03C5E4 46000102 */ mul.s $f4, $f0, $f0 -/* 071118 7F03C5E8 46128381 */ sub.s $f14, $f16, $f18 -/* 07111C 7F03C5EC 46021182 */ mul.s $f6, $f2, $f2 -/* 071120 7F03C5F0 46062200 */ add.s $f8, $f4, $f6 -/* 071124 7F03C5F4 460E7282 */ mul.s $f10, $f14, $f14 -/* 071128 7F03C5F8 0C007DF8 */ jal sqrtf -/* 07112C 7F03C5FC 460A4300 */ add.s $f12, $f8, $f10 -/* 071130 7F03C600 4614003C */ c.lt.s $f0, $f20 -/* 071134 7F03C604 26100001 */ addiu $s0, $s0, 1 -/* 071138 7F03C608 0213082A */ slt $at, $s0, $s3 -/* 07113C 7F03C60C 45000003 */ bc1f .L7F03C61C -/* 071140 7F03C610 00000000 */ nop -/* 071144 7F03C614 10000003 */ b .L7F03C624 -/* 071148 7F03C618 AFA00030 */ sw $zero, 0x30($sp) -.L7F03C61C: -/* 07114C 7F03C61C 1420FFE7 */ bnez $at, .L7F03C5BC -/* 071150 7F03C620 26310004 */ addiu $s1, $s1, 4 -.L7F03C624: -/* 071154 7F03C624 8FBF002C */ lw $ra, 0x2c($sp) -/* 071158 7F03C628 8FA20030 */ lw $v0, 0x30($sp) -/* 07115C 7F03C62C D7B40010 */ ldc1 $f20, 0x10($sp) -/* 071160 7F03C630 8FB0001C */ lw $s0, 0x1c($sp) -/* 071164 7F03C634 8FB10020 */ lw $s1, 0x20($sp) -/* 071168 7F03C638 8FB20024 */ lw $s2, 0x24($sp) -/* 07116C 7F03C63C 8FB30028 */ lw $s3, 0x28($sp) -/* 071170 7F03C640 03E00008 */ jr $ra -/* 071174 7F03C644 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void handle_mp_respawn_and_some_things(void) { - -} -#else -GLOBAL_ASM( -.text -glabel handle_mp_respawn_and_some_things -/* 071178 7F03C648 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 07117C 7F03C64C AFBF0024 */ sw $ra, 0x24($sp) -/* 071180 7F03C650 AFB30020 */ sw $s3, 0x20($sp) -/* 071184 7F03C654 AFB2001C */ sw $s2, 0x1c($sp) -/* 071188 7F03C658 AFB10018 */ sw $s1, 0x18($sp) -/* 07118C 7F03C65C 0FC0CA47 */ jal sub_GAME_7F03291C -/* 071190 7F03C660 AFB00014 */ sw $s0, 0x14($sp) -/* 071194 7F03C664 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 071198 7F03C668 00000000 */ nop -/* 07119C 7F03C66C 104000E9 */ beqz $v0, .L7F03CA14 -/* 0711A0 7F03C670 00408825 */ move $s1, $v0 -.L7F03C674: -/* 0711A4 7F03C674 8E2E0024 */ lw $t6, 0x24($s1) -/* 0711A8 7F03C678 24010003 */ li $at, 3 -/* 0711AC 7F03C67C 00009025 */ move $s2, $zero -/* 0711B0 7F03C680 AFAE004C */ sw $t6, 0x4c($sp) -/* 0711B4 7F03C684 92220000 */ lbu $v0, ($s1) -/* 0711B8 7F03C688 54410009 */ bnel $v0, $at, .L7F03C6B0 -/* 0711BC 7F03C68C 24010001 */ li $at, 1 -/* 0711C0 7F03C690 8E300004 */ lw $s0, 4($s1) -/* 0711C4 7F03C694 0FC18AC0 */ jal sub_GAME_7F062B00 -/* 0711C8 7F03C698 26040180 */ addiu $a0, $s0, 0x180 -/* 0711CC 7F03C69C 0FC18AC0 */ jal sub_GAME_7F062B00 -/* 0711D0 7F03C6A0 260401AC */ addiu $a0, $s0, 0x1ac -/* 0711D4 7F03C6A4 100000C7 */ b .L7F03C9C4 -/* 0711D8 7F03C6A8 24010005 */ li $at, 5 -/* 0711DC 7F03C6AC 24010001 */ li $at, 1 -.L7F03C6B0: -/* 0711E0 7F03C6B0 10410005 */ beq $v0, $at, .L7F03C6C8 -/* 0711E4 7F03C6B4 24010004 */ li $at, 4 -/* 0711E8 7F03C6B8 10410003 */ beq $v0, $at, .L7F03C6C8 -/* 0711EC 7F03C6BC 24010002 */ li $at, 2 -/* 0711F0 7F03C6C0 54410092 */ bnel $v0, $at, .L7F03C90C -/* 0711F4 7F03C6C4 24010007 */ li $at, 7 -.L7F03C6C8: -/* 0711F8 7F03C6C8 86220002 */ lh $v0, 2($s1) -/* 0711FC 7F03C6CC 8E300004 */ lw $s0, 4($s1) -/* 071200 7F03C6D0 00009825 */ move $s3, $zero -/* 071204 7F03C6D4 18400083 */ blez $v0, .L7F03C8E4 -/* 071208 7F03C6D8 2841003C */ slti $at, $v0, 0x3c -/* 07120C 7F03C6DC 14200002 */ bnez $at, .L7F03C6E8 -/* 071210 7F03C6E0 24030001 */ li $v1, 1 -/* 071214 7F03C6E4 00001825 */ move $v1, $zero -.L7F03C6E8: -/* 071218 7F03C6E8 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 07121C 7F03C6EC 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 071220 7F03C6F0 004FC023 */ subu $t8, $v0, $t7 -/* 071224 7F03C6F4 A6380002 */ sh $t8, 2($s1) -/* 071228 7F03C6F8 86390002 */ lh $t9, 2($s1) -/* 07122C 7F03C6FC 2B21003C */ slti $at, $t9, 0x3c -/* 071230 7F03C700 5020000B */ beql $at, $zero, .L7F03C730 -/* 071234 7F03C704 86220002 */ lh $v0, 2($s1) -/* 071238 7F03C708 14600008 */ bnez $v1, .L7F03C72C -/* 07123C 7F03C70C 02202025 */ move $a0, $s1 -/* 071240 7F03C710 0FC0F15D */ jal sub_GAME_7F03C574 -/* 071244 7F03C714 AFA30038 */ sw $v1, 0x38($sp) -/* 071248 7F03C718 14400004 */ bnez $v0, .L7F03C72C -/* 07124C 7F03C71C 8FA30038 */ lw $v1, 0x38($sp) -/* 071250 7F03C720 86280002 */ lh $t0, 2($s1) -/* 071254 7F03C724 2509003C */ addiu $t1, $t0, 0x3c -/* 071258 7F03C728 A6290002 */ sh $t1, 2($s1) -.L7F03C72C: -/* 07125C 7F03C72C 86220002 */ lh $v0, 2($s1) -.L7F03C730: -/* 071260 7F03C730 1C40000F */ bgtz $v0, .L7F03C770 -/* 071264 7F03C734 2841003C */ slti $at, $v0, 0x3c -/* 071268 7F03C738 A6200002 */ sh $zero, 2($s1) -/* 07126C 7F03C73C 920A0002 */ lbu $t2, 2($s0) -/* 071270 7F03C740 314B0010 */ andi $t3, $t2, 0x10 -/* 071274 7F03C744 51600006 */ beql $t3, $zero, .L7F03C760 -/* 071278 7F03C748 8E0E0064 */ lw $t6, 0x64($s0) -/* 07127C 7F03C74C 8E0C0064 */ lw $t4, 0x64($s0) -/* 071280 7F03C750 358D1000 */ ori $t5, $t4, 0x1000 -/* 071284 7F03C754 10000063 */ b .L7F03C8E4 -/* 071288 7F03C758 AE0D0064 */ sw $t5, 0x64($s0) -/* 07128C 7F03C75C 8E0E0064 */ lw $t6, 0x64($s0) -.L7F03C760: -/* 071290 7F03C760 2401EFFF */ li $at, -4097 -/* 071294 7F03C764 01C17824 */ and $t7, $t6, $at -/* 071298 7F03C768 1000005E */ b .L7F03C8E4 -/* 07129C 7F03C76C AE0F0064 */ sw $t7, 0x64($s0) -.L7F03C770: -/* 0712A0 7F03C770 5020005D */ beql $at, $zero, .L7F03C8E8 -/* 0712A4 7F03C774 92190003 */ lbu $t9, 3($s0) -/* 0712A8 7F03C778 5460005B */ bnezl $v1, .L7F03C8E8 -/* 0712AC 7F03C77C 92190003 */ lbu $t9, 3($s0) -/* 0712B0 7F03C780 44800000 */ mtc1 $zero, $f0 -/* 0712B4 7F03C784 C6040070 */ lwc1 $f4, 0x70($s0) -/* 0712B8 7F03C788 46040032 */ c.eq.s $f0, $f4 -/* 0712BC 7F03C78C 00000000 */ nop -/* 0712C0 7F03C790 45020035 */ bc1fl .L7F03C868 -/* 0712C4 7F03C794 92080002 */ lbu $t0, 2($s0) -/* 0712C8 7F03C798 92180002 */ lbu $t8, 2($s0) -/* 0712CC 7F03C79C 33190080 */ andi $t9, $t8, 0x80 -/* 0712D0 7F03C7A0 57200031 */ bnezl $t9, .L7F03C868 -/* 0712D4 7F03C7A4 92080002 */ lbu $t0, 2($s0) -/* 0712D8 7F03C7A8 8E080008 */ lw $t0, 8($s0) -/* 0712DC 7F03C7AC 31098000 */ andi $t1, $t0, 0x8000 -/* 0712E0 7F03C7B0 11200023 */ beqz $t1, .L7F03C840 -/* 0712E4 7F03C7B4 00000000 */ nop -/* 0712E8 7F03C7B8 0FC0F863 */ jal sub_GAME_7F03E18C -/* 0712EC 7F03C7BC 02202025 */ move $a0, $s1 -/* 0712F0 7F03C7C0 0FC0E94E */ jal sub_GAME_7F03A538 -/* 0712F4 7F03C7C4 02202025 */ move $a0, $s1 -/* 0712F8 7F03C7C8 8E0A0064 */ lw $t2, 0x64($s0) -/* 0712FC 7F03C7CC 2401F7FF */ li $at, -2049 -/* 071300 7F03C7D0 02202025 */ move $a0, $s1 -/* 071304 7F03C7D4 01415824 */ and $t3, $t2, $at -/* 071308 7F03C7D8 0FC15AEA */ jal sub_GAME_7F056BA8 -/* 07130C 7F03C7DC AE0B0064 */ sw $t3, 0x64($s0) -/* 071310 7F03C7E0 AFA20030 */ sw $v0, 0x30($sp) -/* 071314 7F03C7E4 860C0006 */ lh $t4, 6($s0) -/* 071318 7F03C7E8 0FC2F7C1 */ jal sub_GAME_7F0BDF04 -/* 07131C 7F03C7EC AFAC002C */ sw $t4, 0x2c($sp) -/* 071320 7F03C7F0 8FAD0030 */ lw $t5, 0x30($sp) -/* 071324 7F03C7F4 8FAE002C */ lw $t6, 0x2c($sp) -/* 071328 7F03C7F8 00402025 */ move $a0, $v0 -/* 07132C 7F03C7FC 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 071330 7F03C800 01AE2821 */ addu $a1, $t5, $t6 -/* 071334 7F03C804 5040002A */ beql $v0, $zero, .L7F03C8B0 -/* 071338 7F03C808 92180003 */ lbu $t8, 3($s0) -/* 07133C 7F03C80C 8C4F0010 */ lw $t7, 0x10($v0) -/* 071340 7F03C810 51E00027 */ beql $t7, $zero, .L7F03C8B0 -/* 071344 7F03C814 92180003 */ lbu $t8, 3($s0) -/* 071348 7F03C818 8E040014 */ lw $a0, 0x14($s0) -/* 07134C 7F03C81C 8C850014 */ lw $a1, 0x14($a0) -/* 071350 7F03C820 0FC1B39E */ jal set_obj_instance_controller_scale -/* 071354 7F03C824 AFA20028 */ sw $v0, 0x28($sp) -/* 071358 7F03C828 8FA30028 */ lw $v1, 0x28($sp) -/* 07135C 7F03C82C 8E040010 */ lw $a0, 0x10($s0) -/* 071360 7F03C830 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 071364 7F03C834 8C650010 */ lw $a1, 0x10($v1) -/* 071368 7F03C838 1000001C */ b .L7F03C8AC -/* 07136C 7F03C83C 24130001 */ li $s3, 1 -.L7F03C840: -/* 071370 7F03C840 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 071374 7F03C844 02202025 */ move $a0, $s1 -/* 071378 7F03C848 0FC0F84D */ jal sub_GAME_7F03E134 -/* 07137C 7F03C84C 02202025 */ move $a0, $s1 -/* 071380 7F03C850 8E180064 */ lw $t8, 0x64($s0) -/* 071384 7F03C854 2401F7FF */ li $at, -2049 -/* 071388 7F03C858 0301C824 */ and $t9, $t8, $at -/* 07138C 7F03C85C 10000013 */ b .L7F03C8AC -/* 071390 7F03C860 AE190064 */ sw $t9, 0x64($s0) -/* 071394 7F03C864 92080002 */ lbu $t0, 2($s0) -.L7F03C868: -/* 071398 7F03C868 31090008 */ andi $t1, $t0, 8 -/* 07139C 7F03C86C 51200006 */ beql $t1, $zero, .L7F03C888 -/* 0713A0 7F03C870 8E0C0008 */ lw $t4, 8($s0) -/* 0713A4 7F03C874 8E0A0008 */ lw $t2, 8($s0) -/* 0713A8 7F03C878 354B0100 */ ori $t3, $t2, 0x100 -/* 0713AC 7F03C87C 10000005 */ b .L7F03C894 -/* 0713B0 7F03C880 AE0B0008 */ sw $t3, 8($s0) -/* 0713B4 7F03C884 8E0C0008 */ lw $t4, 8($s0) -.L7F03C888: -/* 0713B8 7F03C888 2401FEFF */ li $at, -257 -/* 0713BC 7F03C88C 01816824 */ and $t5, $t4, $at -/* 0713C0 7F03C890 AE0D0008 */ sw $t5, 8($s0) -.L7F03C894: -/* 0713C4 7F03C894 920E0002 */ lbu $t6, 2($s0) -/* 0713C8 7F03C898 E6000070 */ swc1 $f0, 0x70($s0) -/* 0713CC 7F03C89C 8E040014 */ lw $a0, 0x14($s0) -/* 0713D0 7F03C8A0 31CFFF7F */ andi $t7, $t6, 0xff7f -/* 0713D4 7F03C8A4 0FC1437A */ jal sub_GAME_7F050DE8 -/* 0713D8 7F03C8A8 A20F0002 */ sb $t7, 2($s0) -.L7F03C8AC: -/* 0713DC 7F03C8AC 92180003 */ lbu $t8, 3($s0) -.L7F03C8B0: -/* 0713E0 7F03C8B0 24010015 */ li $at, 21 -/* 0713E4 7F03C8B4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0713E8 7F03C8B8 17010003 */ bne $t8, $at, .L7F03C8C8 -/* 0713EC 7F03C8BC 24050052 */ li $a1, 82 -/* 0713F0 7F03C8C0 C6060080 */ lwc1 $f6, 0x80($s0) -/* 0713F4 7F03C8C4 E6060084 */ swc1 $f6, 0x84($s0) -.L7F03C8C8: -/* 0713F8 7F03C8C8 16600006 */ bnez $s3, .L7F03C8E4 -/* 0713FC 7F03C8CC 00003025 */ move $a2, $zero -/* 071400 7F03C8D0 0C002382 */ jal play_sfx_a1 -/* 071404 7F03C8D4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 071408 7F03C8D8 00402025 */ move $a0, $v0 -/* 07140C 7F03C8DC 0FC14E84 */ jal sub_GAME_7F053A10 -/* 071410 7F03C8E0 26250008 */ addiu $a1, $s1, 8 -.L7F03C8E4: -/* 071414 7F03C8E4 92190003 */ lbu $t9, 3($s0) -.L7F03C8E8: -/* 071418 7F03C8E8 2401000D */ li $at, 13 -/* 07141C 7F03C8EC 57210035 */ bnel $t9, $at, .L7F03C9C4 -/* 071420 7F03C8F0 24010005 */ li $at, 5 -/* 071424 7F03C8F4 8E220004 */ lw $v0, 4($s1) -/* 071428 7F03C8F8 0FC18AC0 */ jal sub_GAME_7F062B00 -/* 07142C 7F03C8FC 8C4400CC */ lw $a0, 0xcc($v0) -/* 071430 7F03C900 10000030 */ b .L7F03C9C4 -/* 071434 7F03C904 24010005 */ li $at, 5 -/* 071438 7F03C908 24010007 */ li $at, 7 -.L7F03C90C: -/* 07143C 7F03C90C 54410006 */ bnel $v0, $at, .L7F03C928 -/* 071440 7F03C910 24010008 */ li $at, 8 -/* 071444 7F03C914 0FC273BA */ jal sub_GAME_7F09CEE8 -/* 071448 7F03C918 02202025 */ move $a0, $s1 -/* 07144C 7F03C91C 10000028 */ b .L7F03C9C0 -/* 071450 7F03C920 00409025 */ move $s2, $v0 -/* 071454 7F03C924 24010008 */ li $at, 8 -.L7F03C928: -/* 071458 7F03C928 54410006 */ bnel $v0, $at, .L7F03C944 -/* 07145C 7F03C92C 24010006 */ li $at, 6 -/* 071460 7F03C930 0FC27A2B */ jal sub_GAME_7F09E8AC -/* 071464 7F03C934 02202025 */ move $a0, $s1 -/* 071468 7F03C938 10000021 */ b .L7F03C9C0 -/* 07146C 7F03C93C 00409025 */ move $s2, $v0 -/* 071470 7F03C940 24010006 */ li $at, 6 -.L7F03C944: -/* 071474 7F03C944 5441001F */ bnel $v0, $at, .L7F03C9C4 -/* 071478 7F03C948 24010005 */ li $at, 5 -/* 07147C 7F03C94C 0FC26C57 */ jal sub_GAME_7F09B15C -/* 071480 7F03C950 02202025 */ move $a0, $s1 -/* 071484 7F03C954 00024080 */ sll $t0, $v0, 2 -/* 071488 7F03C958 3C048008 */ lui $a0, %hi(ptr_BONDdata_p1) -/* 07148C 7F03C95C 00882021 */ addu $a0, $a0, $t0 -/* 071490 7F03C960 8C849EE0 */ lw $a0, %lo(ptr_BONDdata_p1)($a0) -/* 071494 7F03C964 0FC18AC0 */ jal sub_GAME_7F062B00 -/* 071498 7F03C968 24840A54 */ addiu $a0, $a0, 0xa54 -/* 07149C 7F03C96C 0FC26C57 */ jal sub_GAME_7F09B15C -/* 0714A0 7F03C970 02202025 */ move $a0, $s1 -/* 0714A4 7F03C974 00024880 */ sll $t1, $v0, 2 -/* 0714A8 7F03C978 3C048008 */ lui $a0, %hi(ptr_BONDdata_p1) -/* 0714AC 7F03C97C 00892021 */ addu $a0, $a0, $t1 -/* 0714B0 7F03C980 8C849EE0 */ lw $a0, %lo(ptr_BONDdata_p1)($a0) -/* 0714B4 7F03C984 0FC18AC0 */ jal sub_GAME_7F062B00 -/* 0714B8 7F03C988 24840DFC */ addiu $a0, $a0, 0xdfc -/* 0714BC 7F03C98C 8E2A0004 */ lw $t2, 4($s1) -/* 0714C0 7F03C990 5140000C */ beql $t2, $zero, .L7F03C9C4 -/* 0714C4 7F03C994 24010005 */ li $at, 5 -/* 0714C8 7F03C998 0FC26919 */ jal get_num_players -/* 0714CC 7F03C99C 00000000 */ nop -/* 0714D0 7F03C9A0 28410002 */ slti $at, $v0, 2 -/* 0714D4 7F03C9A4 54200007 */ bnezl $at, .L7F03C9C4 -/* 0714D8 7F03C9A8 24010005 */ li $at, 5 -/* 0714DC 7F03C9AC 8E300004 */ lw $s0, 4($s1) -/* 0714E0 7F03C9B0 0FC18AC0 */ jal sub_GAME_7F062B00 -/* 0714E4 7F03C9B4 26040180 */ addiu $a0, $s0, 0x180 -/* 0714E8 7F03C9B8 0FC18AC0 */ jal sub_GAME_7F062B00 -/* 0714EC 7F03C9BC 260401AC */ addiu $a0, $s0, 0x1ac -.L7F03C9C0: -/* 0714F0 7F03C9C0 24010005 */ li $at, 5 -.L7F03C9C4: -/* 0714F4 7F03C9C4 56410004 */ bnel $s2, $at, .L7F03C9D8 -/* 0714F8 7F03C9C8 24010003 */ li $at, 3 -/* 0714FC 7F03C9CC 1000000F */ b .L7F03CA0C -/* 071500 7F03C9D0 8FB0004C */ lw $s0, 0x4c($sp) -/* 071504 7F03C9D4 24010003 */ li $at, 3 -.L7F03C9D8: -/* 071508 7F03C9D8 16410009 */ bne $s2, $at, .L7F03CA00 -/* 07150C 7F03C9DC 8E300024 */ lw $s0, 0x24($s1) -/* 071510 7F03C9E0 0FC0E94E */ jal sub_GAME_7F03A538 -/* 071514 7F03C9E4 02202025 */ move $a0, $s1 -/* 071518 7F03C9E8 0FC0E93C */ jal sub_GAME_7F03A4F0 -/* 07151C 7F03C9EC 02202025 */ move $a0, $s1 -/* 071520 7F03C9F0 16000006 */ bnez $s0, .L7F03CA0C -/* 071524 7F03C9F4 00000000 */ nop -/* 071528 7F03C9F8 10000004 */ b .L7F03CA0C -/* 07152C 7F03C9FC 02208025 */ move $s0, $s1 -.L7F03CA00: -/* 071530 7F03CA00 02202025 */ move $a0, $s1 -/* 071534 7F03CA04 0FC0F0AF */ jal sub_GAME_7F03C2BC -/* 071538 7F03CA08 02402825 */ move $a1, $s2 -.L7F03CA0C: -/* 07153C 7F03CA0C 1600FF19 */ bnez $s0, .L7F03C674 -/* 071540 7F03CA10 02008825 */ move $s1, $s0 -.L7F03CA14: -/* 071544 7F03CA14 8FBF0024 */ lw $ra, 0x24($sp) -/* 071548 7F03CA18 8FB00014 */ lw $s0, 0x14($sp) -/* 07154C 7F03CA1C 8FB10018 */ lw $s1, 0x18($sp) -/* 071550 7F03CA20 8FB2001C */ lw $s2, 0x1c($sp) -/* 071554 7F03CA24 8FB30020 */ lw $s3, 0x20($sp) -/* 071558 7F03CA28 03E00008 */ jr $ra -/* 07155C 7F03CA2C 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void determing_type_of_object_and_detection(void) { - -} -#else -GLOBAL_ASM( -.text -glabel determing_type_of_object_and_detection -/* 071560 7F03CA30 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 071564 7F03CA34 AFBF0024 */ sw $ra, 0x24($sp) -/* 071568 7F03CA38 AFB30020 */ sw $s3, 0x20($sp) -/* 07156C 7F03CA3C AFB2001C */ sw $s2, 0x1c($sp) -/* 071570 7F03CA40 AFB10018 */ sw $s1, 0x18($sp) -/* 071574 7F03CA44 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 071578 7F03CA48 AFB00014 */ sw $s0, 0x14($sp) -/* 07157C 7F03CA4C 1040003C */ beqz $v0, .L7F03CB40 -/* 071580 7F03CA50 00408025 */ move $s0, $v0 -/* 071584 7F03CA54 24130003 */ li $s3, 3 -.L7F03CA58: -/* 071588 7F03CA58 92020000 */ lbu $v0, ($s0) -/* 07158C 7F03CA5C 00002825 */ move $a1, $zero -/* 071590 7F03CA60 8E120024 */ lw $s2, 0x24($s0) -/* 071594 7F03CA64 16620005 */ bne $s3, $v0, .L7F03CA7C -/* 071598 7F03CA68 24010001 */ li $at, 1 -/* 07159C 7F03CA6C 0FC083BC */ jal sub_GAME_7F020EF0 -/* 0715A0 7F03CA70 02002025 */ move $a0, $s0 -/* 0715A4 7F03CA74 1000001F */ b .L7F03CAF4 -/* 0715A8 7F03CA78 00402825 */ move $a1, $v0 -.L7F03CA7C: -/* 0715AC 7F03CA7C 10410005 */ beq $v0, $at, .L7F03CA94 -/* 0715B0 7F03CA80 24010004 */ li $at, 4 -/* 0715B4 7F03CA84 10410003 */ beq $v0, $at, .L7F03CA94 -/* 0715B8 7F03CA88 24010002 */ li $at, 2 -/* 0715BC 7F03CA8C 54410006 */ bnel $v0, $at, .L7F03CAA8 -/* 0715C0 7F03CA90 24010007 */ li $at, 7 -.L7F03CA94: -/* 0715C4 7F03CA94 0FC114B5 */ jal object_interaction -/* 0715C8 7F03CA98 02002025 */ move $a0, $s0 -/* 0715CC 7F03CA9C 10000015 */ b .L7F03CAF4 -/* 0715D0 7F03CAA0 00402825 */ move $a1, $v0 -/* 0715D4 7F03CAA4 24010007 */ li $at, 7 -.L7F03CAA8: -/* 0715D8 7F03CAA8 54410006 */ bnel $v0, $at, .L7F03CAC4 -/* 0715DC 7F03CAAC 24010008 */ li $at, 8 -/* 0715E0 7F03CAB0 0FC2753B */ jal sub_GAME_7F09D4EC -/* 0715E4 7F03CAB4 02002025 */ move $a0, $s0 -/* 0715E8 7F03CAB8 1000000E */ b .L7F03CAF4 -/* 0715EC 7F03CABC 00402825 */ move $a1, $v0 -/* 0715F0 7F03CAC0 24010008 */ li $at, 8 -.L7F03CAC4: -/* 0715F4 7F03CAC4 54410006 */ bnel $v0, $at, .L7F03CAE0 -/* 0715F8 7F03CAC8 24010006 */ li $at, 6 -/* 0715FC 7F03CACC 0FC27BE7 */ jal sub_GAME_7F09EF9C -/* 071600 7F03CAD0 02002025 */ move $a0, $s0 -/* 071604 7F03CAD4 10000007 */ b .L7F03CAF4 -/* 071608 7F03CAD8 00402825 */ move $a1, $v0 -/* 07160C 7F03CADC 24010006 */ li $at, 6 -.L7F03CAE0: -/* 071610 7F03CAE0 54410005 */ bnel $v0, $at, .L7F03CAF8 -/* 071614 7F03CAE4 24010005 */ li $at, 5 -/* 071618 7F03CAE8 0FC22C3C */ jal sub_GAME_7F08B0F0 -/* 07161C 7F03CAEC 02002025 */ move $a0, $s0 -/* 071620 7F03CAF0 00402825 */ move $a1, $v0 -.L7F03CAF4: -/* 071624 7F03CAF4 24010005 */ li $at, 5 -.L7F03CAF8: -/* 071628 7F03CAF8 14A10003 */ bne $a1, $at, .L7F03CB08 -/* 07162C 7F03CAFC 00000000 */ nop -/* 071630 7F03CB00 1000000D */ b .L7F03CB38 -/* 071634 7F03CB04 02408825 */ move $s1, $s2 -.L7F03CB08: -/* 071638 7F03CB08 14B30009 */ bne $a1, $s3, .L7F03CB30 -/* 07163C 7F03CB0C 8E110024 */ lw $s1, 0x24($s0) -/* 071640 7F03CB10 0FC0E94E */ jal sub_GAME_7F03A538 -/* 071644 7F03CB14 02002025 */ move $a0, $s0 -/* 071648 7F03CB18 0FC0E93C */ jal sub_GAME_7F03A4F0 -/* 07164C 7F03CB1C 02002025 */ move $a0, $s0 -/* 071650 7F03CB20 16200005 */ bnez $s1, .L7F03CB38 -/* 071654 7F03CB24 00000000 */ nop -/* 071658 7F03CB28 10000003 */ b .L7F03CB38 -/* 07165C 7F03CB2C 02008825 */ move $s1, $s0 -.L7F03CB30: -/* 071660 7F03CB30 0FC0F0AF */ jal sub_GAME_7F03C2BC -/* 071664 7F03CB34 02002025 */ move $a0, $s0 -.L7F03CB38: -/* 071668 7F03CB38 1620FFC7 */ bnez $s1, .L7F03CA58 -/* 07166C 7F03CB3C 02208025 */ move $s0, $s1 -.L7F03CB40: -/* 071670 7F03CB40 0FC26C54 */ jal get_cur_playernum -/* 071674 7F03CB44 00000000 */ nop -/* 071678 7F03CB48 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 07167C 7F03CB4C 00402025 */ move $a0, $v0 -/* 071680 7F03CB50 54400008 */ bnezl $v0, .L7F03CB74 -/* 071684 7F03CB54 8FBF0024 */ lw $ra, 0x24($sp) -/* 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 -/* 071698 7F03CB68 0FC0F93C */ jal sub_GAME_7F03E4F0 -/* 07169C 7F03CB6C 00000000 */ nop -/* 0716A0 7F03CB70 8FBF0024 */ lw $ra, 0x24($sp) -.L7F03CB74: -/* 0716A4 7F03CB74 8FB00014 */ lw $s0, 0x14($sp) -/* 0716A8 7F03CB78 8FB10018 */ lw $s1, 0x18($sp) -/* 0716AC 7F03CB7C 8FB2001C */ lw $s2, 0x1c($sp) -/* 0716B0 7F03CB80 8FB30020 */ lw $s3, 0x20($sp) -/* 0716B4 7F03CB84 03E00008 */ jr $ra -/* 0716B8 7F03CB88 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03CB8C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03CB8C -/* 0716BC 7F03CB8C 8C820014 */ lw $v0, 0x14($a0) -/* 0716C0 7F03CB90 240EFFFF */ li $t6, -1 -/* 0716C4 7F03CB94 54400004 */ bnezl $v0, .L7F03CBA8 -/* 0716C8 7F03CB98 908F0000 */ lbu $t7, ($a0) -/* 0716CC 7F03CB9C 03E00008 */ jr $ra -/* 0716D0 7F03CBA0 ACAE0000 */ sw $t6, ($a1) - -/* 0716D4 7F03CBA4 908F0000 */ lbu $t7, ($a0) -.L7F03CBA8: -/* 0716D8 7F03CBA8 24010006 */ li $at, 6 -/* 0716DC 7F03CBAC 240BFFFF */ li $t3, -1 -/* 0716E0 7F03CBB0 55E1000A */ bnel $t7, $at, .L7F03CBDC -/* 0716E4 7F03CBB4 908A002C */ lbu $t2, 0x2c($a0) -/* 0716E8 7F03CBB8 8C980004 */ lw $t8, 4($a0) -/* 0716EC 7F03CBBC 2409FFFF */ li $t1, -1 -/* 0716F0 7F03CBC0 57000006 */ bnezl $t8, .L7F03CBDC -/* 0716F4 7F03CBC4 908A002C */ lbu $t2, 0x2c($a0) -/* 0716F8 7F03CBC8 90590003 */ lbu $t9, 3($v0) -/* 0716FC 7F03CBCC ACA90004 */ sw $t1, 4($a1) -/* 071700 7F03CBD0 03E00008 */ jr $ra -/* 071704 7F03CBD4 ACB90000 */ sw $t9, ($a1) - -/* 071708 7F03CBD8 908A002C */ lbu $t2, 0x2c($a0) -.L7F03CBDC: -/* 07170C 7F03CBDC 240800FF */ li $t0, 255 -/* 071710 7F03CBE0 00001025 */ move $v0, $zero -/* 071714 7F03CBE4 110A0009 */ beq $t0, $t2, .L7F03CC0C -/* 071718 7F03CBE8 00A01825 */ move $v1, $a1 -/* 07171C 7F03CBEC 00803025 */ move $a2, $a0 -/* 071720 7F03CBF0 9087002C */ lbu $a3, 0x2c($a0) -.L7F03CBF4: -/* 071724 7F03CBF4 AC670000 */ sw $a3, ($v1) -/* 071728 7F03CBF8 90C7002D */ lbu $a3, 0x2d($a2) -/* 07172C 7F03CBFC 24420001 */ addiu $v0, $v0, 1 -/* 071730 7F03CC00 24630004 */ addiu $v1, $v1, 4 -/* 071734 7F03CC04 1507FFFB */ bne $t0, $a3, .L7F03CBF4 -/* 071738 7F03CC08 24C60001 */ addiu $a2, $a2, 1 -.L7F03CC0C: -/* 07173C 7F03CC0C 00026080 */ sll $t4, $v0, 2 -/* 071740 7F03CC10 00AC6821 */ addu $t5, $a1, $t4 -/* 071744 7F03CC14 ADAB0000 */ sw $t3, ($t5) -/* 071748 7F03CC18 03E00008 */ jr $ra -/* 07174C 7F03CC1C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03CC20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03CC20 -/* 071750 7F03CC20 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 071754 7F03CC24 AFBF001C */ sw $ra, 0x1c($sp) -/* 071758 7F03CC28 ACA00000 */ sw $zero, ($a1) -/* 07175C 7F03CC2C ACC00000 */ sw $zero, ($a2) -/* 071760 7F03CC30 90820000 */ lbu $v0, ($a0) -/* 071764 7F03CC34 24010003 */ li $at, 3 -/* 071768 7F03CC38 8FAE0030 */ lw $t6, 0x30($sp) -/* 07176C 7F03CC3C 54410006 */ bnel $v0, $at, .L7F03CC58 -/* 071770 7F03CC40 24010006 */ li $at, 6 -/* 071774 7F03CC44 0FC08C23 */ jal sub_GAME_7F02308C -/* 071778 7F03CC48 AFAE0010 */ sw $t6, 0x10($sp) -/* 07177C 7F03CC4C 10000015 */ b .L7F03CCA4 -/* 071780 7F03CC50 8FBF001C */ lw $ra, 0x1c($sp) -/* 071784 7F03CC54 24010006 */ li $at, 6 -.L7F03CC58: -/* 071788 7F03CC58 14410005 */ bne $v0, $at, .L7F03CC70 -/* 07178C 7F03CC5C 8FAF0030 */ lw $t7, 0x30($sp) -/* 071790 7F03CC60 0FC2282C */ jal sub_GAME_7F08A0B0 -/* 071794 7F03CC64 AFAF0010 */ sw $t7, 0x10($sp) -/* 071798 7F03CC68 1000000E */ b .L7F03CCA4 -/* 07179C 7F03CC6C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03CC70: -/* 0717A0 7F03CC70 24010004 */ li $at, 4 -/* 0717A4 7F03CC74 1041000A */ beq $v0, $at, .L7F03CCA0 -/* 0717A8 7F03CC78 24010001 */ li $at, 1 -/* 0717AC 7F03CC7C 10410004 */ beq $v0, $at, .L7F03CC90 -/* 0717B0 7F03CC80 8FB80030 */ lw $t8, 0x30($sp) -/* 0717B4 7F03CC84 24010002 */ li $at, 2 -/* 0717B8 7F03CC88 14410005 */ bne $v0, $at, .L7F03CCA0 -/* 0717BC 7F03CC8C 00000000 */ nop -.L7F03CC90: -/* 0717C0 7F03CC90 0FC13C91 */ jal sub_GAME_7F04F244 -/* 0717C4 7F03CC94 AFB80010 */ sw $t8, 0x10($sp) -/* 0717C8 7F03CC98 10000002 */ b .L7F03CCA4 -/* 0717CC 7F03CC9C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03CCA0: -/* 0717D0 7F03CCA0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03CCA4: -/* 0717D4 7F03CCA4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0717D8 7F03CCA8 03E00008 */ jr $ra -/* 0717DC 7F03CCAC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03CCB0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03CCB0 -/* 0717E0 7F03CCB0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0717E4 7F03CCB4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0717E8 7F03CCB8 27AE0020 */ addiu $t6, $sp, 0x20 -/* 0717EC 7F03CCBC AFAE0010 */ sw $t6, 0x10($sp) -/* 0717F0 7F03CCC0 0FC0F308 */ jal sub_GAME_7F03CC20 -/* 0717F4 7F03CCC4 27A70024 */ addiu $a3, $sp, 0x24 -/* 0717F8 7F03CCC8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0717FC 7F03CCCC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 071800 7F03CCD0 03E00008 */ jr $ra -/* 071804 7F03CCD4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03CCD8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03CCD8 -/* 071808 7F03CCD8 1CC00003 */ bgtz $a2, .L7F03CCE8 -/* 07180C 7F03CCDC 2402FFFF */ li $v0, -1 -/* 071810 7F03CCE0 03E00008 */ jr $ra -/* 071814 7F03CCE4 00001025 */ move $v0, $zero - -.L7F03CCE8: -/* 071818 7F03CCE8 18C000A4 */ blez $a2, .L7F03CF7C -/* 07181C 7F03CCEC 00001825 */ move $v1, $zero -/* 071820 7F03CCF0 30C70001 */ andi $a3, $a2, 1 -/* 071824 7F03CCF4 10E00029 */ beqz $a3, .L7F03CD9C -/* 071828 7F03CCF8 2409FFFF */ li $t1, -1 -/* 07182C 7F03CCFC 240E0001 */ li $t6, 1 -/* 071830 7F03CD00 01C6001A */ div $zero, $t6, $a2 -/* 071834 7F03CD04 00007810 */ mfhi $t7 -/* 071838 7F03CD08 000FC0C0 */ sll $t8, $t7, 3 -/* 07183C 7F03CD0C 00B81821 */ addu $v1, $a1, $t8 -/* 071840 7F03CD10 C4640004 */ lwc1 $f4, 4($v1) -/* 071844 7F03CD14 C4A20004 */ lwc1 $f2, 4($a1) -/* 071848 7F03CD18 C4AC0000 */ lwc1 $f12, ($a1) -/* 07184C 7F03CD1C C4880000 */ lwc1 $f8, ($a0) -/* 071850 7F03CD20 46022181 */ sub.s $f6, $f4, $f2 -/* 071854 7F03CD24 44809000 */ mtc1 $zero, $f18 -/* 071858 7F03CD28 14C00002 */ bnez $a2, .L7F03CD34 -/* 07185C 7F03CD2C 00000000 */ nop -/* 071860 7F03CD30 0007000D */ break 7 -.L7F03CD34: -/* 071864 7F03CD34 2401FFFF */ li $at, -1 -/* 071868 7F03CD38 14C10004 */ bne $a2, $at, .L7F03CD4C -/* 07186C 7F03CD3C 3C018000 */ lui $at, 0x8000 -/* 071870 7F03CD40 15C10002 */ bne $t6, $at, .L7F03CD4C -/* 071874 7F03CD44 00000000 */ nop -/* 071878 7F03CD48 0006000D */ break 6 -.L7F03CD4C: -/* 07187C 7F03CD4C 460C4281 */ sub.s $f10, $f8, $f12 -/* 071880 7F03CD50 C4880008 */ lwc1 $f8, 8($a0) -/* 071884 7F03CD54 00A03825 */ move $a3, $a1 -/* 071888 7F03CD58 460A3102 */ mul.s $f4, $f6, $f10 -/* 07188C 7F03CD5C C46A0000 */ lwc1 $f10, ($v1) -/* 071890 7F03CD60 46024181 */ sub.s $f6, $f8, $f2 -/* 071894 7F03CD64 24030001 */ li $v1, 1 -/* 071898 7F03CD68 460C5201 */ sub.s $f8, $f10, $f12 -/* 07189C 7F03CD6C 46083282 */ mul.s $f10, $f6, $f8 -/* 0718A0 7F03CD70 460A2001 */ sub.s $f0, $f4, $f10 -/* 0718A4 7F03CD74 46120032 */ c.eq.s $f0, $f18 -/* 0718A8 7F03CD78 00000000 */ nop -/* 0718AC 7F03CD7C 45010006 */ bc1t .L7F03CD98 -/* 0718B0 7F03CD80 00000000 */ nop -/* 0718B4 7F03CD84 4600903C */ c.lt.s $f18, $f0 -/* 0718B8 7F03CD88 00001025 */ move $v0, $zero -/* 0718BC 7F03CD8C 45000002 */ bc1f .L7F03CD98 -/* 0718C0 7F03CD90 00000000 */ nop -/* 0718C4 7F03CD94 24020001 */ li $v0, 1 -.L7F03CD98: -/* 0718C8 7F03CD98 10660078 */ beq $v1, $a2, .L7F03CF7C -.L7F03CD9C: -/* 0718CC 7F03CD9C 0003C8C0 */ sll $t9, $v1, 3 -/* 0718D0 7F03CDA0 44809000 */ mtc1 $zero, $f18 -/* 0718D4 7F03CDA4 00B93821 */ addu $a3, $a1, $t9 -/* 0718D8 7F03CDA8 C48C0000 */ lwc1 $f12, ($a0) -/* 0718DC 7F03CDAC C4900008 */ lwc1 $f16, 8($a0) -.L7F03CDB0: -/* 0718E0 7F03CDB0 246A0001 */ addiu $t2, $v1, 1 -/* 0718E4 7F03CDB4 0146001A */ div $zero, $t2, $a2 -/* 0718E8 7F03CDB8 00005810 */ mfhi $t3 -/* 0718EC 7F03CDBC 000B60C0 */ sll $t4, $t3, 3 -/* 0718F0 7F03CDC0 00AC2021 */ addu $a0, $a1, $t4 -/* 0718F4 7F03CDC4 C4860004 */ lwc1 $f6, 4($a0) -/* 0718F8 7F03CDC8 C4E20004 */ lwc1 $f2, 4($a3) -/* 0718FC 7F03CDCC C4EE0000 */ lwc1 $f14, ($a3) -/* 071900 7F03CDD0 14C00002 */ bnez $a2, .L7F03CDDC -/* 071904 7F03CDD4 00000000 */ nop -/* 071908 7F03CDD8 0007000D */ break 7 -.L7F03CDDC: -/* 07190C 7F03CDDC 2401FFFF */ li $at, -1 -/* 071910 7F03CDE0 14C10004 */ bne $a2, $at, .L7F03CDF4 -/* 071914 7F03CDE4 3C018000 */ lui $at, 0x8000 -/* 071918 7F03CDE8 15410002 */ bne $t2, $at, .L7F03CDF4 -/* 07191C 7F03CDEC 00000000 */ nop -/* 071920 7F03CDF0 0006000D */ break 6 -.L7F03CDF4: -/* 071924 7F03CDF4 46023201 */ sub.s $f8, $f6, $f2 -/* 071928 7F03CDF8 460E6101 */ sub.s $f4, $f12, $f14 -/* 07192C 7F03CDFC 46028181 */ sub.s $f6, $f16, $f2 -/* 071930 7F03CE00 46044282 */ mul.s $f10, $f8, $f4 -/* 071934 7F03CE04 C4880000 */ lwc1 $f8, ($a0) -/* 071938 7F03CE08 24640002 */ addiu $a0, $v1, 2 -/* 07193C 7F03CE0C 460E4101 */ sub.s $f4, $f8, $f14 -/* 071940 7F03CE10 46043202 */ mul.s $f8, $f6, $f4 -/* 071944 7F03CE14 46085001 */ sub.s $f0, $f10, $f8 -/* 071948 7F03CE18 46120032 */ c.eq.s $f0, $f18 -/* 07194C 7F03CE1C 00000000 */ nop -/* 071950 7F03CE20 4501001C */ bc1t .L7F03CE94 -/* 071954 7F03CE24 00000000 */ nop -/* 071958 7F03CE28 50600004 */ beql $v1, $zero, .L7F03CE3C -/* 07195C 7F03CE2C 4600903C */ c.lt.s $f18, $f0 -/* 071960 7F03CE30 04410008 */ bgez $v0, .L7F03CE54 -/* 071964 7F03CE34 00000000 */ nop -/* 071968 7F03CE38 4600903C */ c.lt.s $f18, $f0 -.L7F03CE3C: -/* 07196C 7F03CE3C 00001025 */ move $v0, $zero -/* 071970 7F03CE40 45000014 */ bc1f .L7F03CE94 -/* 071974 7F03CE44 00000000 */ nop -/* 071978 7F03CE48 24020001 */ li $v0, 1 -/* 07197C 7F03CE4C 10000011 */ b .L7F03CE94 -/* 071980 7F03CE50 00000000 */ nop -.L7F03CE54: -/* 071984 7F03CE54 10400007 */ beqz $v0, .L7F03CE74 -/* 071988 7F03CE58 00000000 */ nop -/* 07198C 7F03CE5C 4612003C */ c.lt.s $f0, $f18 -/* 071990 7F03CE60 00000000 */ nop -/* 071994 7F03CE64 45000003 */ bc1f .L7F03CE74 -/* 071998 7F03CE68 00000000 */ nop -/* 07199C 7F03CE6C 03E00008 */ jr $ra -/* 0719A0 7F03CE70 00001025 */ move $v0, $zero - -.L7F03CE74: -/* 0719A4 7F03CE74 14400007 */ bnez $v0, .L7F03CE94 -/* 0719A8 7F03CE78 00000000 */ nop -/* 0719AC 7F03CE7C 4600903C */ c.lt.s $f18, $f0 -/* 0719B0 7F03CE80 00000000 */ nop -/* 0719B4 7F03CE84 45000003 */ bc1f .L7F03CE94 -/* 0719B8 7F03CE88 00000000 */ nop -/* 0719BC 7F03CE8C 03E00008 */ jr $ra -/* 0719C0 7F03CE90 00001025 */ move $v0, $zero - -.L7F03CE94: -/* 0719C4 7F03CE94 0086001A */ div $zero, $a0, $a2 -/* 0719C8 7F03CE98 00006810 */ mfhi $t5 -/* 0719CC 7F03CE9C 000D70C0 */ sll $t6, $t5, 3 -/* 0719D0 7F03CEA0 00AE4021 */ addu $t0, $a1, $t6 -/* 0719D4 7F03CEA4 C5060004 */ lwc1 $f6, 4($t0) -/* 0719D8 7F03CEA8 C4E2000C */ lwc1 $f2, 0xc($a3) -/* 0719DC 7F03CEAC C4EE0008 */ lwc1 $f14, 8($a3) -/* 0719E0 7F03CEB0 14C00002 */ bnez $a2, .L7F03CEBC -/* 0719E4 7F03CEB4 00000000 */ nop -/* 0719E8 7F03CEB8 0007000D */ break 7 -.L7F03CEBC: -/* 0719EC 7F03CEBC 2401FFFF */ li $at, -1 -/* 0719F0 7F03CEC0 14C10004 */ bne $a2, $at, .L7F03CED4 -/* 0719F4 7F03CEC4 3C018000 */ lui $at, 0x8000 -/* 0719F8 7F03CEC8 14810002 */ bne $a0, $at, .L7F03CED4 -/* 0719FC 7F03CECC 00000000 */ nop -/* 071A00 7F03CED0 0006000D */ break 6 -.L7F03CED4: -/* 071A04 7F03CED4 46023101 */ sub.s $f4, $f6, $f2 -/* 071A08 7F03CED8 24E70010 */ addiu $a3, $a3, 0x10 -/* 071A0C 7F03CEDC 460E6281 */ sub.s $f10, $f12, $f14 -/* 071A10 7F03CEE0 46028181 */ sub.s $f6, $f16, $f2 -/* 071A14 7F03CEE4 460A2202 */ mul.s $f8, $f4, $f10 -/* 071A18 7F03CEE8 C5040000 */ lwc1 $f4, ($t0) -/* 071A1C 7F03CEEC 460E2281 */ sub.s $f10, $f4, $f14 -/* 071A20 7F03CEF0 460A3102 */ mul.s $f4, $f6, $f10 -/* 071A24 7F03CEF4 46044001 */ sub.s $f0, $f8, $f4 -/* 071A28 7F03CEF8 46120032 */ c.eq.s $f0, $f18 -/* 071A2C 7F03CEFC 00000000 */ nop -/* 071A30 7F03CF00 4501001C */ bc1t .L7F03CF74 -/* 071A34 7F03CF04 00000000 */ nop -/* 071A38 7F03CF08 50690004 */ beql $v1, $t1, .L7F03CF1C -/* 071A3C 7F03CF0C 4600903C */ c.lt.s $f18, $f0 -/* 071A40 7F03CF10 04410008 */ bgez $v0, .L7F03CF34 -/* 071A44 7F03CF14 00000000 */ nop -/* 071A48 7F03CF18 4600903C */ c.lt.s $f18, $f0 -.L7F03CF1C: -/* 071A4C 7F03CF1C 00001025 */ move $v0, $zero -/* 071A50 7F03CF20 45000014 */ bc1f .L7F03CF74 -/* 071A54 7F03CF24 00000000 */ nop -/* 071A58 7F03CF28 24020001 */ li $v0, 1 -/* 071A5C 7F03CF2C 10000011 */ b .L7F03CF74 -/* 071A60 7F03CF30 00000000 */ nop -.L7F03CF34: -/* 071A64 7F03CF34 10400007 */ beqz $v0, .L7F03CF54 -/* 071A68 7F03CF38 00000000 */ nop -/* 071A6C 7F03CF3C 4612003C */ c.lt.s $f0, $f18 -/* 071A70 7F03CF40 00000000 */ nop -/* 071A74 7F03CF44 45000003 */ bc1f .L7F03CF54 -/* 071A78 7F03CF48 00000000 */ nop -/* 071A7C 7F03CF4C 03E00008 */ jr $ra -/* 071A80 7F03CF50 00001025 */ move $v0, $zero - -.L7F03CF54: -/* 071A84 7F03CF54 14400007 */ bnez $v0, .L7F03CF74 -/* 071A88 7F03CF58 00000000 */ nop -/* 071A8C 7F03CF5C 4600903C */ c.lt.s $f18, $f0 -/* 071A90 7F03CF60 00000000 */ nop -/* 071A94 7F03CF64 45000003 */ bc1f .L7F03CF74 -/* 071A98 7F03CF68 00000000 */ nop -/* 071A9C 7F03CF6C 03E00008 */ jr $ra -/* 071AA0 7F03CF70 00001025 */ move $v0, $zero - -.L7F03CF74: -/* 071AA4 7F03CF74 1486FF8E */ bne $a0, $a2, .L7F03CDB0 -/* 071AA8 7F03CF78 00801825 */ move $v1, $a0 -.L7F03CF7C: -/* 071AAC 7F03CF7C 24020001 */ li $v0, 1 -/* 071AB0 7F03CF80 03E00008 */ jr $ra -/* 071AB4 7F03CF84 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03CF88(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03CF88 -/* 071AB8 7F03CF88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 071ABC 7F03CF8C AFBF0014 */ sw $ra, 0x14($sp) -/* 071AC0 7F03CF90 90820000 */ lbu $v0, ($a0) -/* 071AC4 7F03CF94 24010003 */ li $at, 3 -/* 071AC8 7F03CF98 54410006 */ bnel $v0, $at, .L7F03CFB4 -/* 071ACC 7F03CF9C 24010006 */ li $at, 6 -/* 071AD0 7F03CFA0 0FC08C58 */ jal sub_GAME_7F023160 -/* 071AD4 7F03CFA4 00000000 */ nop -/* 071AD8 7F03CFA8 1000000C */ b .L7F03CFDC -/* 071ADC 7F03CFAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 071AE0 7F03CFB0 24010006 */ li $at, 6 -.L7F03CFB4: -/* 071AE4 7F03CFB4 54410006 */ bnel $v0, $at, .L7F03CFD0 -/* 071AE8 7F03CFB8 44802000 */ mtc1 $zero, $f4 -/* 071AEC 7F03CFBC 0FC2289D */ jal sub_GAME_7F08A274 -/* 071AF0 7F03CFC0 00000000 */ nop -/* 071AF4 7F03CFC4 10000005 */ b .L7F03CFDC -/* 071AF8 7F03CFC8 8FBF0014 */ lw $ra, 0x14($sp) -/* 071AFC 7F03CFCC 44802000 */ mtc1 $zero, $f4 -.L7F03CFD0: -/* 071B00 7F03CFD0 00000000 */ nop -/* 071B04 7F03CFD4 E4A40000 */ swc1 $f4, ($a1) -/* 071B08 7F03CFD8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F03CFDC: -/* 071B0C 7F03CFDC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 071B10 7F03CFE0 03E00008 */ jr $ra -/* 071B14 7F03CFE4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03CFE8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03CFE8 -/* 071B18 7F03CFE8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 071B1C 7F03CFEC AFBF0014 */ sw $ra, 0x14($sp) -/* 071B20 7F03CFF0 90820000 */ lbu $v0, ($a0) -/* 071B24 7F03CFF4 24010003 */ li $at, 3 -/* 071B28 7F03CFF8 54410006 */ bnel $v0, $at, .L7F03D014 -/* 071B2C 7F03CFFC 24010006 */ li $at, 6 -/* 071B30 7F03D000 0FC08C62 */ jal sub_GAME_7F023188 -/* 071B34 7F03D004 00000000 */ nop -/* 071B38 7F03D008 10000010 */ b .L7F03D04C -/* 071B3C 7F03D00C 8FBF0014 */ lw $ra, 0x14($sp) -/* 071B40 7F03D010 24010006 */ li $at, 6 -.L7F03D014: -/* 071B44 7F03D014 5441000B */ bnel $v0, $at, .L7F03D044 -/* 071B48 7F03D018 44800000 */ mtc1 $zero, $f0 -/* 071B4C 7F03D01C 0FC26C57 */ jal sub_GAME_7F09B15C -/* 071B50 7F03D020 00000000 */ nop -/* 071B54 7F03D024 00027080 */ sll $t6, $v0, 2 -/* 071B58 7F03D028 3C048008 */ lui $a0, %hi(ptr_BONDdata_p1) -/* 071B5C 7F03D02C 008E2021 */ addu $a0, $a0, $t6 -/* 071B60 7F03D030 0FC225DE */ jal sub_GAME_7F089778 -/* 071B64 7F03D034 8C849EE0 */ lw $a0, %lo(ptr_BONDdata_p1)($a0) -/* 071B68 7F03D038 10000004 */ b .L7F03D04C -/* 071B6C 7F03D03C 8FBF0014 */ lw $ra, 0x14($sp) -/* 071B70 7F03D040 44800000 */ mtc1 $zero, $f0 -.L7F03D044: -/* 071B74 7F03D044 00000000 */ nop -/* 071B78 7F03D048 8FBF0014 */ lw $ra, 0x14($sp) -.L7F03D04C: -/* 071B7C 7F03D04C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 071B80 7F03D050 03E00008 */ jr $ra -/* 071B84 7F03D054 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03D058(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03D058 -/* 071B88 7F03D058 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 071B8C 7F03D05C AFBF0014 */ sw $ra, 0x14($sp) -/* 071B90 7F03D060 90820000 */ lbu $v0, ($a0) -/* 071B94 7F03D064 24010003 */ li $at, 3 -/* 071B98 7F03D068 00803025 */ move $a2, $a0 -/* 071B9C 7F03D06C 54410006 */ bnel $v0, $at, .L7F03D088 -/* 071BA0 7F03D070 24010006 */ li $at, 6 -/* 071BA4 7F03D074 0FC07D7A */ jal set_or_unset_GUARDdata_flag -/* 071BA8 7F03D078 8C840004 */ lw $a0, 4($a0) -/* 071BAC 7F03D07C 10000012 */ b .L7F03D0C8 -/* 071BB0 7F03D080 8FBF0014 */ lw $ra, 0x14($sp) -/* 071BB4 7F03D084 24010006 */ li $at, 6 -.L7F03D088: -/* 071BB8 7F03D088 54410006 */ bnel $v0, $at, .L7F03D0A4 -/* 071BBC 7F03D08C 24010001 */ li $at, 1 -/* 071BC0 7F03D090 0FC2280F */ jal sub_GAME_7F08A03C -/* 071BC4 7F03D094 00C02025 */ move $a0, $a2 -/* 071BC8 7F03D098 1000000B */ b .L7F03D0C8 -/* 071BCC 7F03D09C 8FBF0014 */ lw $ra, 0x14($sp) -/* 071BD0 7F03D0A0 24010001 */ li $at, 1 -.L7F03D0A4: -/* 071BD4 7F03D0A4 10410005 */ beq $v0, $at, .L7F03D0BC -/* 071BD8 7F03D0A8 24010002 */ li $at, 2 -/* 071BDC 7F03D0AC 10410003 */ beq $v0, $at, .L7F03D0BC -/* 071BE0 7F03D0B0 24010004 */ li $at, 4 -/* 071BE4 7F03D0B4 54410004 */ bnel $v0, $at, .L7F03D0C8 -/* 071BE8 7F03D0B8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F03D0BC: -/* 071BEC 7F03D0BC 0FC13C86 */ jal sub_GAME_7F04F218 -/* 071BF0 7F03D0C0 00C02025 */ move $a0, $a2 -/* 071BF4 7F03D0C4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F03D0C8: -/* 071BF8 7F03D0C8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 071BFC 7F03D0CC 03E00008 */ jr $ra -/* 071C00 7F03D0D0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03D0D4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:800529A0*/ -glabel jpt_800529A0 -.word loc_CODE_7F03D144 -.word def_7F03D13C -.word def_7F03D13C -.word loc_CODE_7F03D154 -.word def_7F03D13C -.word def_7F03D13C -.word def_7F03D13C -.word def_7F03D13C -.text -glabel sub_GAME_7F03D0D4 -/* 071C04 7F03D0D4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 071C08 7F03D0D8 AFBF001C */ sw $ra, 0x1c($sp) -/* 071C0C 7F03D0DC AFB10018 */ sw $s1, 0x18($sp) -/* 071C10 7F03D0E0 0FC1F39E */ jal get_intank_flag -/* 071C14 7F03D0E4 AFB00014 */ sw $s0, 0x14($sp) -/* 071C18 7F03D0E8 14400022 */ bnez $v0, .L7F03D174 -/* 071C1C 7F03D0EC 3C0E8003 */ lui $t6, %hi(disable_player_pickups_flag) -/* 071C20 7F03D0F0 8DCE64B4 */ lw $t6, %lo(disable_player_pickups_flag)($t6) -/* 071C24 7F03D0F4 55C00020 */ bnezl $t6, .L7F03D178 -/* 071C28 7F03D0F8 8FBF001C */ lw $ra, 0x1c($sp) -/* 071C2C 7F03D0FC 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 071C30 7F03D100 00000000 */ nop -/* 071C34 7F03D104 1040001B */ beqz $v0, .L7F03D174 -/* 071C38 7F03D108 00408825 */ move $s1, $v0 -.L7F03D10C: -/* 071C3C 7F03D10C 862F0002 */ lh $t7, 2($s1) -/* 071C40 7F03D110 00002825 */ move $a1, $zero -/* 071C44 7F03D114 5DE00013 */ bgtzl $t7, .L7F03D164 -/* 071C48 7F03D118 8E300024 */ lw $s0, 0x24($s1) -/* 071C4C 7F03D11C 92380000 */ lbu $t8, ($s1) -/* 071C50 7F03D120 2719FFFF */ addiu $t9, $t8, -1 -/* 071C54 7F03D124 2F210008 */ sltiu $at, $t9, 8 -/* 071C58 7F03D128 1020000D */ beqz $at, .L7F03D160 -/* 071C5C 7F03D12C 0019C880 */ sll $t9, $t9, 2 -/* 071C60 7F03D130 3C018005 */ lui $at, %hi(jpt_800529A0) -/* 071C64 7F03D134 00390821 */ addu $at, $at, $t9 -/* 071C68 7F03D138 8C3929A0 */ lw $t9, %lo(jpt_800529A0)($at) -/* 071C6C 7F03D13C 03200008 */ jr $t9 -/* 071C70 7F03D140 00000000 */ nop -loc_CODE_7F03D144: -/* 071C74 7F03D144 0FC141B7 */ jal object_collectability_routines -/* 071C78 7F03D148 02202025 */ move $a0, $s1 -/* 071C7C 7F03D14C 10000004 */ b .L7F03D160 -/* 071C80 7F03D150 00402825 */ move $a1, $v0 -loc_CODE_7F03D154: -/* 071C84 7F03D154 0FC14955 */ jal redirect_object_collectability_routines -/* 071C88 7F03D158 02202025 */ move $a0, $s1 -/* 071C8C 7F03D15C 00402825 */ move $a1, $v0 -def_7F03D13C: -.L7F03D160: -/* 071C90 7F03D160 8E300024 */ lw $s0, 0x24($s1) -.L7F03D164: -/* 071C94 7F03D164 0FC0F0AF */ jal sub_GAME_7F03C2BC -/* 071C98 7F03D168 02202025 */ move $a0, $s1 -/* 071C9C 7F03D16C 1600FFE7 */ bnez $s0, .L7F03D10C -/* 071CA0 7F03D170 02008825 */ move $s1, $s0 -.L7F03D174: -/* 071CA4 7F03D174 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03D178: -/* 071CA8 7F03D178 8FB00014 */ lw $s0, 0x14($sp) -/* 071CAC 7F03D17C 8FB10018 */ lw $s1, 0x18($sp) -/* 071CB0 7F03D180 03E00008 */ jr $ra -/* 071CB4 7F03D184 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03D188(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800529C0 -.word 0x3e333333 /*0.175*/ -glabel D_800529C4 -.word 0x3f533333 /*0.82499999*/ -.text -glabel sub_GAME_7F03D188 -/* 071CB8 7F03D188 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 071CBC 7F03D18C AFBF002C */ sw $ra, 0x2c($sp) -/* 071CC0 7F03D190 AFA400B0 */ sw $a0, 0xb0($sp) -/* 071CC4 7F03D194 AFA500B4 */ sw $a1, 0xb4($sp) -/* 071CC8 7F03D198 AFA600B8 */ sw $a2, 0xb8($sp) -/* 071CCC 7F03D19C 0FC1E135 */ jal getPlayer_c_screentop -/* 071CD0 7F03D1A0 AFA700BC */ sw $a3, 0xbc($sp) -/* 071CD4 7F03D1A4 0FC1E12D */ jal getPlayer_c_screenheight -/* 071CD8 7F03D1A8 E7A00040 */ swc1 $f0, 0x40($sp) -/* 071CDC 7F03D1AC 3C018005 */ lui $at, %hi(D_800529C0) -/* 071CE0 7F03D1B0 C42429C0 */ lwc1 $f4, %lo(D_800529C0)($at) -/* 071CE4 7F03D1B4 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 071CE8 7F03D1B8 46040182 */ mul.s $f6, $f0, $f4 -/* 071CEC 7F03D1BC 46083280 */ add.s $f10, $f6, $f8 -/* 071CF0 7F03D1C0 0FC1E135 */ jal getPlayer_c_screentop -/* 071CF4 7F03D1C4 E7AA0070 */ swc1 $f10, 0x70($sp) -/* 071CF8 7F03D1C8 0FC1E12D */ jal getPlayer_c_screenheight -/* 071CFC 7F03D1CC E7A00040 */ swc1 $f0, 0x40($sp) -/* 071D00 7F03D1D0 3C018005 */ lui $at, %hi(D_800529C4) -/* 071D04 7F03D1D4 C43029C4 */ lwc1 $f16, %lo(D_800529C4)($at) -/* 071D08 7F03D1D8 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 071D0C 7F03D1DC 46100482 */ mul.s $f18, $f0, $f16 -/* 071D10 7F03D1E0 46049180 */ add.s $f6, $f18, $f4 -/* 071D14 7F03D1E4 0FC1E131 */ jal getPlayer_c_screenleft -/* 071D18 7F03D1E8 E7A6006C */ swc1 $f6, 0x6c($sp) -/* 071D1C 7F03D1EC 0FC1E129 */ jal getPlayer_c_screenwidth -/* 071D20 7F03D1F0 E7A00040 */ swc1 $f0, 0x40($sp) -/* 071D24 7F03D1F4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 071D28 7F03D1F8 44814000 */ mtc1 $at, $f8 -/* 071D2C 7F03D1FC C7B00040 */ lwc1 $f16, 0x40($sp) -/* 071D30 7F03D200 46080282 */ mul.s $f10, $f0, $f8 -/* 071D34 7F03D204 46105480 */ add.s $f18, $f10, $f16 -/* 071D38 7F03D208 0FC1E131 */ jal getPlayer_c_screenleft -/* 071D3C 7F03D20C E7B20068 */ swc1 $f18, 0x68($sp) -/* 071D40 7F03D210 0FC1E129 */ jal getPlayer_c_screenwidth -/* 071D44 7F03D214 E7A00040 */ swc1 $f0, 0x40($sp) -/* 071D48 7F03D218 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 071D4C 7F03D21C 44812000 */ mtc1 $at, $f4 -/* 071D50 7F03D220 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 071D54 7F03D224 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 071D58 7F03D228 46040182 */ mul.s $f6, $f0, $f4 -/* 071D5C 7F03D22C 44818000 */ mtc1 $at, $f16 -/* 071D60 7F03D230 8FA400B4 */ lw $a0, 0xb4($sp) -/* 071D64 7F03D234 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 071D68 7F03D238 E7B00060 */ swc1 $f16, 0x60($sp) -/* 071D6C 7F03D23C 46083280 */ add.s $f10, $f6, $f8 -/* 071D70 7F03D240 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 071D74 7F03D244 E7AA0064 */ swc1 $f10, 0x64($sp) -/* 071D78 7F03D248 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 071D7C 7F03D24C 8FA200B4 */ lw $v0, 0xb4($sp) -/* 071D80 7F03D250 27A4009C */ addiu $a0, $sp, 0x9c -/* 071D84 7F03D254 C5D20000 */ lwc1 $f18, ($t6) -/* 071D88 7F03D258 27A50094 */ addiu $a1, $sp, 0x94 -/* 071D8C 7F03D25C E7B2009C */ swc1 $f18, 0x9c($sp) -/* 071D90 7F03D260 C4440004 */ lwc1 $f4, 4($v0) -/* 071D94 7F03D264 E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 071D98 7F03D268 C4460008 */ lwc1 $f6, 8($v0) -/* 071D9C 7F03D26C 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 071DA0 7F03D270 E7A600A4 */ swc1 $f6, 0xa4($sp) -/* 071DA4 7F03D274 8FAF00B8 */ lw $t7, 0xb8($sp) -/* 071DA8 7F03D278 8FA200B4 */ lw $v0, 0xb4($sp) -/* 071DAC 7F03D27C 27A4009C */ addiu $a0, $sp, 0x9c -/* 071DB0 7F03D280 C5E80004 */ lwc1 $f8, 4($t7) -/* 071DB4 7F03D284 27A5008C */ addiu $a1, $sp, 0x8c -/* 071DB8 7F03D288 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 071DBC 7F03D28C C44A0004 */ lwc1 $f10, 4($v0) -/* 071DC0 7F03D290 E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 071DC4 7F03D294 C4500008 */ lwc1 $f16, 8($v0) -/* 071DC8 7F03D298 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 071DCC 7F03D29C E7B000A4 */ swc1 $f16, 0xa4($sp) -/* 071DD0 7F03D2A0 8FA200B4 */ lw $v0, 0xb4($sp) -/* 071DD4 7F03D2A4 8FB800BC */ lw $t8, 0xbc($sp) -/* 071DD8 7F03D2A8 27A4009C */ addiu $a0, $sp, 0x9c -/* 071DDC 7F03D2AC C4520000 */ lwc1 $f18, ($v0) -/* 071DE0 7F03D2B0 27A50084 */ addiu $a1, $sp, 0x84 -/* 071DE4 7F03D2B4 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 071DE8 7F03D2B8 C7040004 */ lwc1 $f4, 4($t8) -/* 071DEC 7F03D2BC E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 071DF0 7F03D2C0 C4460008 */ lwc1 $f6, 8($v0) -/* 071DF4 7F03D2C4 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 071DF8 7F03D2C8 E7A600A4 */ swc1 $f6, 0xa4($sp) -/* 071DFC 7F03D2CC 8FB900B4 */ lw $t9, 0xb4($sp) -/* 071E00 7F03D2D0 8FA800BC */ lw $t0, 0xbc($sp) -/* 071E04 7F03D2D4 27A4009C */ addiu $a0, $sp, 0x9c -/* 071E08 7F03D2D8 C7280000 */ lwc1 $f8, ($t9) -/* 071E0C 7F03D2DC 27A5007C */ addiu $a1, $sp, 0x7c -/* 071E10 7F03D2E0 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 071E14 7F03D2E4 C50A0000 */ lwc1 $f10, ($t0) -/* 071E18 7F03D2E8 E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 071E1C 7F03D2EC C7300008 */ lwc1 $f16, 8($t9) -/* 071E20 7F03D2F0 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 071E24 7F03D2F4 E7B000A4 */ swc1 $f16, 0xa4($sp) -/* 071E28 7F03D2F8 C7B20080 */ lwc1 $f18, 0x80($sp) -/* 071E2C 7F03D2FC C7A40070 */ lwc1 $f4, 0x70($sp) -/* 071E30 7F03D300 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 071E34 7F03D304 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 071E38 7F03D308 4612203E */ c.le.s $f4, $f18 -/* 071E3C 7F03D30C 00000000 */ nop -/* 071E40 7F03D310 4502011A */ bc1fl .L7F03D77C -/* 071E44 7F03D314 8FBF002C */ lw $ra, 0x2c($sp) -/* 071E48 7F03D318 4606403E */ c.le.s $f8, $f6 -/* 071E4C 7F03D31C 27A40078 */ addiu $a0, $sp, 0x78 -/* 071E50 7F03D320 27A50074 */ addiu $a1, $sp, 0x74 -/* 071E54 7F03D324 45020115 */ bc1fl .L7F03D77C -/* 071E58 7F03D328 8FBF002C */ lw $ra, 0x2c($sp) -/* 071E5C 7F03D32C 0FC1A002 */ jal sub_GAME_7F068008 -/* 071E60 7F03D330 AFA0005C */ sw $zero, 0x5c($sp) -/* 071E64 7F03D334 0FC170D8 */ jal truncf -/* 071E68 7F03D338 C7AC0094 */ lwc1 $f12, 0x94($sp) -/* 071E6C 7F03D33C E7A00094 */ swc1 $f0, 0x94($sp) -/* 071E70 7F03D340 0FC17110 */ jal sub_GAME_7F05C440 -/* 071E74 7F03D344 C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 071E78 7F03D348 0FC1F1AA */ jal redirect_get_BONDdata_autoaim_x -/* 071E7C 7F03D34C E7A0008C */ swc1 $f0, 0x8c($sp) -/* 071E80 7F03D350 1040005C */ beqz $v0, .L7F03D4C4 -/* 071E84 7F03D354 C7A00078 */ lwc1 $f0, 0x78($sp) -/* 071E88 7F03D358 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 071E8C 7F03D35C C7B00094 */ lwc1 $f16, 0x94($sp) -/* 071E90 7F03D360 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 071E94 7F03D364 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 071E98 7F03D368 460A803E */ c.le.s $f16, $f10 -/* 071E9C 7F03D36C 00000000 */ nop -/* 071EA0 7F03D370 45020065 */ bc1fl .L7F03D508 -/* 071EA4 7F03D374 8FA9005C */ lw $t1, 0x5c($sp) -/* 071EA8 7F03D378 4612203E */ c.le.s $f4, $f18 -/* 071EAC 7F03D37C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 071EB0 7F03D380 45020061 */ bc1fl .L7F03D508 -/* 071EB4 7F03D384 8FA9005C */ lw $t1, 0x5c($sp) -/* 071EB8 7F03D388 46109181 */ sub.s $f6, $f18, $f16 -/* 071EBC 7F03D38C 44814000 */ mtc1 $at, $f8 -/* 071EC0 7F03D390 00000000 */ nop -/* 071EC4 7F03D394 46083282 */ mul.s $f10, $f6, $f8 -/* 071EC8 7F03D398 0FC26919 */ jal get_num_players -/* 071ECC 7F03D39C E7AA0058 */ swc1 $f10, 0x58($sp) -/* 071ED0 7F03D3A0 24010001 */ li $at, 1 -/* 071ED4 7F03D3A4 14410005 */ bne $v0, $at, .L7F03D3BC -/* 071ED8 7F03D3A8 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 071EDC 7F03D3AC 3C018003 */ lui $at, %hi(difficulty) -/* 071EE0 7F03D3B0 C4320AAC */ lwc1 $f18, %lo(difficulty)($at) -/* 071EE4 7F03D3B4 46122402 */ mul.s $f16, $f4, $f18 -/* 071EE8 7F03D3B8 E7B00058 */ swc1 $f16, 0x58($sp) -.L7F03D3BC: -/* 071EEC 7F03D3BC 0FC1E129 */ jal getPlayer_c_screenwidth -/* 071EF0 7F03D3C0 00000000 */ nop -/* 071EF4 7F03D3C4 0FC1E131 */ jal getPlayer_c_screenleft -/* 071EF8 7F03D3C8 E7A00038 */ swc1 $f0, 0x38($sp) -/* 071EFC 7F03D3CC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 071F00 7F03D3D0 44813000 */ mtc1 $at, $f6 -/* 071F04 7F03D3D4 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 071F08 7F03D3D8 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 071F0C 7F03D3DC C7B00094 */ lwc1 $f16, 0x94($sp) -/* 071F10 7F03D3E0 46083282 */ mul.s $f10, $f6, $f8 -/* 071F14 7F03D3E4 44814000 */ mtc1 $at, $f8 -/* 071F18 7F03D3E8 46109180 */ add.s $f6, $f18, $f16 -/* 071F1C 7F03D3EC C7B20058 */ lwc1 $f18, 0x58($sp) -/* 071F20 7F03D3F0 00001025 */ move $v0, $zero -/* 071F24 7F03D3F4 460A0100 */ add.s $f4, $f0, $f10 -/* 071F28 7F03D3F8 46083282 */ mul.s $f10, $f6, $f8 -/* 071F2C 7F03D3FC 46125401 */ sub.s $f16, $f10, $f18 -/* 071F30 7F03D400 4604803E */ c.le.s $f16, $f4 -/* 071F34 7F03D404 00000000 */ nop -/* 071F38 7F03D408 45000002 */ bc1f .L7F03D414 -/* 071F3C 7F03D40C 00000000 */ nop -/* 071F40 7F03D410 24020001 */ li $v0, 1 -.L7F03D414: -/* 071F44 7F03D414 10400029 */ beqz $v0, .L7F03D4BC -/* 071F48 7F03D418 00000000 */ nop -/* 071F4C 7F03D41C 0FC1E129 */ jal getPlayer_c_screenwidth -/* 071F50 7F03D420 00000000 */ nop -/* 071F54 7F03D424 0FC1E131 */ jal getPlayer_c_screenleft -/* 071F58 7F03D428 E7A00030 */ swc1 $f0, 0x30($sp) -/* 071F5C 7F03D42C C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 071F60 7F03D430 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 071F64 7F03D434 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 071F68 7F03D438 44816000 */ mtc1 $at, $f12 -/* 071F6C 7F03D43C 46083280 */ add.s $f10, $f6, $f8 -/* 071F70 7F03D440 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 071F74 7F03D444 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 071F78 7F03D448 00001025 */ move $v0, $zero -/* 071F7C 7F03D44C 460C5482 */ mul.s $f18, $f10, $f12 -/* 071F80 7F03D450 00000000 */ nop -/* 071F84 7F03D454 46066202 */ mul.s $f8, $f12, $f6 -/* 071F88 7F03D458 46049400 */ add.s $f16, $f18, $f4 -/* 071F8C 7F03D45C C7B20068 */ lwc1 $f18, 0x68($sp) -/* 071F90 7F03D460 46080280 */ add.s $f10, $f0, $f8 -/* 071F94 7F03D464 4610503E */ c.le.s $f10, $f16 -/* 071F98 7F03D468 00000000 */ nop -/* 071F9C 7F03D46C 45000002 */ bc1f .L7F03D478 -/* 071FA0 7F03D470 00000000 */ nop -/* 071FA4 7F03D474 24020001 */ li $v0, 1 -.L7F03D478: -/* 071FA8 7F03D478 10400010 */ beqz $v0, .L7F03D4BC -/* 071FAC 7F03D47C 00000000 */ nop -/* 071FB0 7F03D480 C7A200A8 */ lwc1 $f2, 0xa8($sp) -/* 071FB4 7F03D484 00001025 */ move $v0, $zero -/* 071FB8 7F03D488 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 071FBC 7F03D48C 4602903E */ c.le.s $f18, $f2 -/* 071FC0 7F03D490 00000000 */ nop -/* 071FC4 7F03D494 45000002 */ bc1f .L7F03D4A0 -/* 071FC8 7F03D498 00000000 */ nop -/* 071FCC 7F03D49C 24020001 */ li $v0, 1 -.L7F03D4A0: -/* 071FD0 7F03D4A0 10400006 */ beqz $v0, .L7F03D4BC -/* 071FD4 7F03D4A4 00000000 */ nop -/* 071FD8 7F03D4A8 4604103E */ c.le.s $f2, $f4 -/* 071FDC 7F03D4AC 00001025 */ move $v0, $zero -/* 071FE0 7F03D4B0 45000002 */ bc1f .L7F03D4BC -/* 071FE4 7F03D4B4 00000000 */ nop -/* 071FE8 7F03D4B8 24020001 */ li $v0, 1 -.L7F03D4BC: -/* 071FEC 7F03D4BC 10000011 */ b .L7F03D504 -/* 071FF0 7F03D4C0 AFA2005C */ sw $v0, 0x5c($sp) -.L7F03D4C4: -/* 071FF4 7F03D4C4 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 071FF8 7F03D4C8 00001025 */ move $v0, $zero -/* 071FFC 7F03D4CC C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 072000 7F03D4D0 4600303E */ c.le.s $f6, $f0 -/* 072004 7F03D4D4 00000000 */ nop -/* 072008 7F03D4D8 45000002 */ bc1f .L7F03D4E4 -/* 07200C 7F03D4DC 00000000 */ nop -/* 072010 7F03D4E0 24020001 */ li $v0, 1 -.L7F03D4E4: -/* 072014 7F03D4E4 50400007 */ beql $v0, $zero, .L7F03D504 -/* 072018 7F03D4E8 AFA2005C */ sw $v0, 0x5c($sp) -/* 07201C 7F03D4EC 4608003E */ c.le.s $f0, $f8 -/* 072020 7F03D4F0 00001025 */ move $v0, $zero -/* 072024 7F03D4F4 45020003 */ bc1fl .L7F03D504 -/* 072028 7F03D4F8 AFA2005C */ sw $v0, 0x5c($sp) -/* 07202C 7F03D4FC 24020001 */ li $v0, 1 -/* 072030 7F03D500 AFA2005C */ sw $v0, 0x5c($sp) -.L7F03D504: -/* 072034 7F03D504 8FA9005C */ lw $t1, 0x5c($sp) -.L7F03D508: -/* 072038 7F03D508 5120009C */ beql $t1, $zero, .L7F03D77C -/* 07203C 7F03D50C 8FBF002C */ lw $ra, 0x2c($sp) -/* 072040 7F03D510 0FC225E6 */ jal get_curplayer_positiondata -/* 072044 7F03D514 00000000 */ nop -/* 072048 7F03D518 AFA20054 */ sw $v0, 0x54($sp) -/* 07204C 7F03D51C 8C4A0014 */ lw $t2, 0x14($v0) -/* 072050 7F03D520 3C048008 */ lui $a0, %hi(pPlayer) -/* 072054 7F03D524 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 072058 7F03D528 0FC225E0 */ jal sub_GAME_7F089780 -/* 07205C 7F03D52C AFAA0050 */ sw $t2, 0x50($sp) -/* 072060 7F03D530 8FA40054 */ lw $a0, 0x54($sp) -/* 072064 7F03D534 00002825 */ move $a1, $zero -/* 072068 7F03D538 0FC2280F */ jal sub_GAME_7F08A03C -/* 07206C 7F03D53C E7A0004C */ swc1 $f0, 0x4c($sp) -/* 072070 7F03D540 8FA20054 */ lw $v0, 0x54($sp) -/* 072074 7F03D544 8FA300B0 */ lw $v1, 0xb0($sp) -/* 072078 7F03D548 C7A2004C */ lwc1 $f2, 0x4c($sp) -/* 07207C 7F03D54C 8C450008 */ lw $a1, 8($v0) -/* 072080 7F03D550 C4700010 */ lwc1 $f16, 0x10($v1) -/* 072084 7F03D554 8C460010 */ lw $a2, 0x10($v0) -/* 072088 7F03D558 8C670008 */ lw $a3, 8($v1) -/* 07208C 7F03D55C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 072090 7F03D560 44819000 */ mtc1 $at, $f18 -/* 072094 7F03D564 44805000 */ mtc1 $zero, $f10 -/* 072098 7F03D568 240B0013 */ li $t3, 19 -/* 07209C 7F03D56C AFAB0014 */ sw $t3, 0x14($sp) -/* 0720A0 7F03D570 27A40050 */ addiu $a0, $sp, 0x50 -/* 0720A4 7F03D574 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0720A8 7F03D578 E7A20018 */ swc1 $f2, 0x18($sp) -/* 0720AC 7F03D57C E7B00010 */ swc1 $f16, 0x10($sp) -/* 0720B0 7F03D580 E7B20024 */ swc1 $f18, 0x24($sp) -/* 0720B4 7F03D584 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0720B8 7F03D588 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 0720BC 7F03D58C 10400077 */ beqz $v0, .L7F03D76C -/* 0720C0 7F03D590 8FAD00B0 */ lw $t5, 0xb0($sp) -/* 0720C4 7F03D594 8FAC0050 */ lw $t4, 0x50($sp) -/* 0720C8 7F03D598 8DAE0014 */ lw $t6, 0x14($t5) -/* 0720CC 7F03D59C C7A200AC */ lwc1 $f2, 0xac($sp) -/* 0720D0 7F03D5A0 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0720D4 7F03D5A4 158E0071 */ bne $t4, $t6, .L7F03D76C -/* 0720D8 7F03D5A8 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0720DC 7F03D5AC 4604103C */ c.lt.s $f2, $f4 -/* 0720E0 7F03D5B0 46001006 */ mov.s $f0, $f2 -/* 0720E4 7F03D5B4 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0720E8 7F03D5B8 45020004 */ bc1fl .L7F03D5CC -/* 0720EC 7F03D5BC 4602303C */ c.lt.s $f6, $f2 -/* 0720F0 7F03D5C0 10000006 */ b .L7F03D5DC -/* 0720F4 7F03D5C4 46002006 */ mov.s $f0, $f4 -/* 0720F8 7F03D5C8 4602303C */ c.lt.s $f6, $f2 -.L7F03D5CC: -/* 0720FC 7F03D5CC 00000000 */ nop -/* 072100 7F03D5D0 45000002 */ bc1f .L7F03D5DC -/* 072104 7F03D5D4 00000000 */ nop -/* 072108 7F03D5D8 46003006 */ mov.s $f0, $f6 -.L7F03D5DC: -/* 07210C 7F03D5DC 0FC1F1AA */ jal redirect_get_BONDdata_autoaim_x -/* 072110 7F03D5E0 E5E00004 */ swc1 $f0, 4($t7) -/* 072114 7F03D5E4 10400010 */ beqz $v0, .L7F03D628 -/* 072118 7F03D5E8 C7A200A8 */ lwc1 $f2, 0xa8($sp) -/* 07211C 7F03D5EC C7A80068 */ lwc1 $f8, 0x68($sp) -/* 072120 7F03D5F0 46001006 */ mov.s $f0, $f2 -/* 072124 7F03D5F4 C7B00064 */ lwc1 $f16, 0x64($sp) -/* 072128 7F03D5F8 4608103C */ c.lt.s $f2, $f8 -/* 07212C 7F03D5FC 8FB800C0 */ lw $t8, 0xc0($sp) -/* 072130 7F03D600 45020004 */ bc1fl .L7F03D614 -/* 072134 7F03D604 4602803C */ c.lt.s $f16, $f2 -/* 072138 7F03D608 10000006 */ b .L7F03D624 -/* 07213C 7F03D60C 46004006 */ mov.s $f0, $f8 -/* 072140 7F03D610 4602803C */ c.lt.s $f16, $f2 -.L7F03D614: -/* 072144 7F03D614 00000000 */ nop -/* 072148 7F03D618 45020003 */ bc1fl .L7F03D628 -/* 07214C 7F03D61C E7000000 */ swc1 $f0, ($t8) -/* 072150 7F03D620 46008006 */ mov.s $f0, $f16 -.L7F03D624: -/* 072154 7F03D624 E7000000 */ swc1 $f0, ($t8) -.L7F03D628: -/* 072158 7F03D628 0FC1E129 */ jal getPlayer_c_screenwidth -/* 07215C 7F03D62C 00000000 */ nop -/* 072160 7F03D630 0FC1E131 */ jal getPlayer_c_screenleft -/* 072164 7F03D634 E7A00038 */ swc1 $f0, 0x38($sp) -/* 072168 7F03D638 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07216C 7F03D63C 44815000 */ mtc1 $at, $f10 -/* 072170 7F03D640 C7B20038 */ lwc1 $f18, 0x38($sp) -/* 072174 7F03D644 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 072178 7F03D648 46125102 */ mul.s $f4, $f10, $f18 -/* 07217C 7F03D64C 46040180 */ add.s $f6, $f0, $f4 -/* 072180 7F03D650 4606403E */ c.le.s $f8, $f6 -/* 072184 7F03D654 00000000 */ nop -/* 072188 7F03D658 45000013 */ bc1f .L7F03D6A8 -/* 07218C 7F03D65C 00000000 */ nop -/* 072190 7F03D660 0FC1E129 */ jal getPlayer_c_screenwidth -/* 072194 7F03D664 00000000 */ nop -/* 072198 7F03D668 0FC1E131 */ jal getPlayer_c_screenleft -/* 07219C 7F03D66C E7A00030 */ swc1 $f0, 0x30($sp) -/* 0721A0 7F03D670 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0721A4 7F03D674 44815000 */ mtc1 $at, $f10 -/* 0721A8 7F03D678 C7B20030 */ lwc1 $f18, 0x30($sp) -/* 0721AC 7F03D67C C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0721B0 7F03D680 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0721B4 7F03D684 46125102 */ mul.s $f4, $f10, $f18 -/* 0721B8 7F03D688 46040180 */ add.s $f6, $f0, $f4 -/* 0721BC 7F03D68C 4610303E */ c.le.s $f6, $f16 -/* 0721C0 7F03D690 00000000 */ nop -/* 0721C4 7F03D694 45000004 */ bc1f .L7F03D6A8 -/* 0721C8 7F03D698 00000000 */ nop -/* 0721CC 7F03D69C 44814000 */ mtc1 $at, $f8 -/* 0721D0 7F03D6A0 10000032 */ b .L7F03D76C -/* 0721D4 7F03D6A4 E7A80060 */ swc1 $f8, 0x60($sp) -.L7F03D6A8: -/* 0721D8 7F03D6A8 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0721DC 7F03D6AC 00000000 */ nop -/* 0721E0 7F03D6B0 0FC1E131 */ jal getPlayer_c_screenleft -/* 0721E4 7F03D6B4 E7A00038 */ swc1 $f0, 0x38($sp) -/* 0721E8 7F03D6B8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0721EC 7F03D6BC 44815000 */ mtc1 $at, $f10 -/* 0721F0 7F03D6C0 C7B20038 */ lwc1 $f18, 0x38($sp) -/* 0721F4 7F03D6C4 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 0721F8 7F03D6C8 46125102 */ mul.s $f4, $f10, $f18 -/* 0721FC 7F03D6CC 46040400 */ add.s $f16, $f0, $f4 -/* 072200 7F03D6D0 4610303E */ c.le.s $f6, $f16 -/* 072204 7F03D6D4 00000000 */ nop -/* 072208 7F03D6D8 45000013 */ bc1f .L7F03D728 -/* 07220C 7F03D6DC 00000000 */ nop -/* 072210 7F03D6E0 0FC1E129 */ jal getPlayer_c_screenwidth -/* 072214 7F03D6E4 00000000 */ nop -/* 072218 7F03D6E8 0FC1E131 */ jal getPlayer_c_screenleft -/* 07221C 7F03D6EC E7A00038 */ swc1 $f0, 0x38($sp) -/* 072220 7F03D6F0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 072224 7F03D6F4 44814000 */ mtc1 $at, $f8 -/* 072228 7F03D6F8 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 07222C 7F03D6FC C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 072230 7F03D700 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 072234 7F03D704 460A4482 */ mul.s $f18, $f8, $f10 -/* 072238 7F03D708 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 07223C 7F03D70C 46120100 */ add.s $f4, $f0, $f18 -/* 072240 7F03D710 44819000 */ mtc1 $at, $f18 -/* 072244 7F03D714 46102181 */ sub.s $f6, $f4, $f16 -/* 072248 7F03D718 46083283 */ div.s $f10, $f6, $f8 -/* 07224C 7F03D71C 460A9101 */ sub.s $f4, $f18, $f10 -/* 072250 7F03D720 10000012 */ b .L7F03D76C -/* 072254 7F03D724 E7A40060 */ swc1 $f4, 0x60($sp) -.L7F03D728: -/* 072258 7F03D728 0FC1E131 */ jal getPlayer_c_screenleft -/* 07225C 7F03D72C 00000000 */ nop -/* 072260 7F03D730 0FC1E129 */ jal getPlayer_c_screenwidth -/* 072264 7F03D734 E7A00040 */ swc1 $f0, 0x40($sp) -/* 072268 7F03D738 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07226C 7F03D73C 44818000 */ mtc1 $at, $f16 -/* 072270 7F03D740 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 072274 7F03D744 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 072278 7F03D748 46100182 */ mul.s $f6, $f0, $f16 -/* 07227C 7F03D74C C7B00058 */ lwc1 $f16, 0x58($sp) -/* 072280 7F03D750 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 072284 7F03D754 46083480 */ add.s $f18, $f6, $f8 -/* 072288 7F03D758 44814000 */ mtc1 $at, $f8 -/* 07228C 7F03D75C 46125101 */ sub.s $f4, $f10, $f18 -/* 072290 7F03D760 46102183 */ div.s $f6, $f4, $f16 -/* 072294 7F03D764 46064281 */ sub.s $f10, $f8, $f6 -/* 072298 7F03D768 E7AA0060 */ swc1 $f10, 0x60($sp) -.L7F03D76C: -/* 07229C 7F03D76C 8FA40054 */ lw $a0, 0x54($sp) -/* 0722A0 7F03D770 0FC2280F */ jal sub_GAME_7F08A03C -/* 0722A4 7F03D774 24050001 */ li $a1, 1 -/* 0722A8 7F03D778 8FBF002C */ lw $ra, 0x2c($sp) -.L7F03D77C: -/* 0722AC 7F03D77C C7A00060 */ lwc1 $f0, 0x60($sp) -/* 0722B0 7F03D780 27BD00B0 */ addiu $sp, $sp, 0xb0 -/* 0722B4 7F03D784 03E00008 */ jr $ra -/* 0722B8 7F03D788 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03D78C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03D78C -/* 0722BC 7F03D78C 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 0722C0 7F03D790 3C0F8003 */ lui $t7, %hi(D_80030AB0) -/* 0722C4 7F03D794 AFBF004C */ sw $ra, 0x4c($sp) -/* 0722C8 7F03D798 AFB60048 */ sw $s6, 0x48($sp) -/* 0722CC 7F03D79C AFB50044 */ sw $s5, 0x44($sp) -/* 0722D0 7F03D7A0 AFB40040 */ sw $s4, 0x40($sp) -/* 0722D4 7F03D7A4 AFB3003C */ sw $s3, 0x3c($sp) -/* 0722D8 7F03D7A8 AFB20038 */ sw $s2, 0x38($sp) -/* 0722DC 7F03D7AC AFB10034 */ sw $s1, 0x34($sp) -/* 0722E0 7F03D7B0 AFB00030 */ sw $s0, 0x30($sp) -/* 0722E4 7F03D7B4 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 0722E8 7F03D7B8 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0722EC 7F03D7BC 25EF0AB0 */ addiu $t7, %lo(D_80030AB0) # addiu $t7, $t7, 0xab0 -/* 0722F0 7F03D7C0 8DE10000 */ lw $at, ($t7) -/* 0722F4 7F03D7C4 8DE80004 */ lw $t0, 4($t7) -/* 0722F8 7F03D7C8 27AE009C */ addiu $t6, $sp, 0x9c -/* 0722FC 7F03D7CC 0000B025 */ move $s6, $zero -/* 072300 7F03D7D0 ADC10000 */ sw $at, ($t6) -/* 072304 7F03D7D4 0FC1F170 */ jal redirect_get_BONDdata_autoaim_y -/* 072308 7F03D7D8 ADC80004 */ sw $t0, 4($t6) -/* 07230C 7F03D7DC 10400047 */ beqz $v0, .L7F03D8FC -/* 072310 7F03D7E0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 072314 7F03D7E4 3C128007 */ lui $s2, %hi(dword_CODE_bss_80071DF0) -/* 072318 7F03D7E8 8E521DF0 */ lw $s2, %lo(dword_CODE_bss_80071DF0)($s2) -/* 07231C 7F03D7EC 3C098007 */ lui $t1, %hi(dword_CODE_bss_80071620) -/* 072320 7F03D7F0 4481A000 */ mtc1 $at, $f20 -/* 072324 7F03D7F4 25291620 */ addiu $t1, %lo(dword_CODE_bss_80071620) # addiu $t1, $t1, 0x1620 -/* 072328 7F03D7F8 2652FFFC */ addiu $s2, $s2, -4 -/* 07232C 7F03D7FC 0249082B */ sltu $at, $s2, $t1 -/* 072330 7F03D800 1420003E */ bnez $at, .L7F03D8FC -/* 072334 7F03D804 27B50078 */ addiu $s5, $sp, 0x78 -/* 072338 7F03D808 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07233C 7F03D80C 4481B000 */ mtc1 $at, $f22 -/* 072340 7F03D810 27B40080 */ addiu $s4, $sp, 0x80 -/* 072344 7F03D814 27B30088 */ addiu $s3, $sp, 0x88 -/* 072348 7F03D818 8E500000 */ lw $s0, ($s2) -.L7F03D81C: -/* 07234C 7F03D81C 12000031 */ beqz $s0, .L7F03D8E4 -/* 072350 7F03D820 00000000 */ nop -/* 072354 7F03D824 92020000 */ lbu $v0, ($s0) -/* 072358 7F03D828 24010003 */ li $at, 3 -/* 07235C 7F03D82C 1041000C */ beq $v0, $at, .L7F03D860 -/* 072360 7F03D830 24010006 */ li $at, 6 -/* 072364 7F03D834 1441002B */ bne $v0, $at, .L7F03D8E4 -/* 072368 7F03D838 00000000 */ nop -/* 07236C 7F03D83C 8E0A0004 */ lw $t2, 4($s0) -/* 072370 7F03D840 11400028 */ beqz $t2, .L7F03D8E4 -/* 072374 7F03D844 00000000 */ nop -/* 072378 7F03D848 0FC26C57 */ jal sub_GAME_7F09B15C -/* 07237C 7F03D84C 02002025 */ move $a0, $s0 -/* 072380 7F03D850 0FC26C54 */ jal get_cur_playernum -/* 072384 7F03D854 00408825 */ move $s1, $v0 -/* 072388 7F03D858 10510022 */ beq $v0, $s1, .L7F03D8E4 -/* 07238C 7F03D85C 00000000 */ nop -.L7F03D860: -/* 072390 7F03D860 8E110004 */ lw $s1, 4($s0) -/* 072394 7F03D864 00002825 */ move $a1, $zero -/* 072398 7F03D868 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 07239C 7F03D86C 02202025 */ move $a0, $s1 -/* 0723A0 7F03D870 14400004 */ bnez $v0, .L7F03D884 -/* 0723A4 7F03D874 02202025 */ move $a0, $s1 -/* 0723A8 7F03D878 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 0723AC 7F03D87C 24050001 */ li $a1, 1 -/* 0723B0 7F03D880 10400018 */ beqz $v0, .L7F03D8E4 -.L7F03D884: -/* 0723B4 7F03D884 02002025 */ move $a0, $s0 -/* 0723B8 7F03D888 02602825 */ move $a1, $s3 -/* 0723BC 7F03D88C 02803025 */ move $a2, $s4 -/* 0723C0 7F03D890 0FC08C65 */ jal sub_GAME_7F023194 -/* 0723C4 7F03D894 02A03825 */ move $a3, $s5 -/* 0723C8 7F03D898 10400012 */ beqz $v0, .L7F03D8E4 -/* 0723CC 7F03D89C 02002025 */ move $a0, $s0 -/* 0723D0 7F03D8A0 27AB006C */ addiu $t3, $sp, 0x6c -/* 0723D4 7F03D8A4 AFAB0010 */ sw $t3, 0x10($sp) -/* 0723D8 7F03D8A8 02602825 */ move $a1, $s3 -/* 0723DC 7F03D8AC 02803025 */ move $a2, $s4 -/* 0723E0 7F03D8B0 0FC0F462 */ jal sub_GAME_7F03D188 -/* 0723E4 7F03D8B4 02A03825 */ move $a3, $s5 -/* 0723E8 7F03D8B8 4600A03C */ c.lt.s $f20, $f0 -/* 0723EC 7F03D8BC C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 0723F0 7F03D8C0 45000008 */ bc1f .L7F03D8E4 -/* 0723F4 7F03D8C4 00000000 */ nop -/* 0723F8 7F03D8C8 4600B03E */ c.le.s $f22, $f0 -/* 0723FC 7F03D8CC C7A60070 */ lwc1 $f6, 0x70($sp) -/* 072400 7F03D8D0 46000506 */ mov.s $f20, $f0 -/* 072404 7F03D8D4 0200B025 */ move $s6, $s0 -/* 072408 7F03D8D8 E7A4009C */ swc1 $f4, 0x9c($sp) -/* 07240C 7F03D8DC 45010007 */ bc1t .L7F03D8FC -/* 072410 7F03D8E0 E7A600A0 */ swc1 $f6, 0xa0($sp) -.L7F03D8E4: -/* 072414 7F03D8E4 3C0C8007 */ lui $t4, %hi(dword_CODE_bss_80071620) -/* 072418 7F03D8E8 258C1620 */ addiu $t4, %lo(dword_CODE_bss_80071620) # addiu $t4, $t4, 0x1620 -/* 07241C 7F03D8EC 2652FFFC */ addiu $s2, $s2, -4 -/* 072420 7F03D8F0 024C082B */ sltu $at, $s2, $t4 -/* 072424 7F03D8F4 5020FFC9 */ beql $at, $zero, .L7F03D81C -/* 072428 7F03D8F8 8E500000 */ lw $s0, ($s2) -.L7F03D8FC: -/* 07242C 7F03D8FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 072430 7F03D900 4481B000 */ mtc1 $at, $f22 -/* 072434 7F03D904 52C00026 */ beql $s6, $zero, .L7F03D9A0 -/* 072438 7F03D908 4480A000 */ mtc1 $zero, $f20 -/* 07243C 7F03D90C 0FC1E135 */ jal getPlayer_c_screentop -/* 072440 7F03D910 00000000 */ nop -/* 072444 7F03D914 0FC1E12D */ jal getPlayer_c_screenheight -/* 072448 7F03D918 46000506 */ mov.s $f20, $f0 -/* 07244C 7F03D91C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 072450 7F03D920 44818000 */ mtc1 $at, $f16 -/* 072454 7F03D924 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 072458 7F03D928 02C02025 */ move $a0, $s6 -/* 07245C 7F03D92C 46100482 */ mul.s $f18, $f0, $f16 -/* 072460 7F03D930 46144281 */ sub.s $f10, $f8, $f20 -/* 072464 7F03D934 46125103 */ div.s $f4, $f10, $f18 -/* 072468 7F03D938 46162181 */ sub.s $f6, $f4, $f22 -/* 07246C 7F03D93C 44053000 */ mfc1 $a1, $f6 -/* 072470 7F03D940 0FC1F17C */ jal sub_GAME_7F07C5F0 -/* 072474 7F03D944 00000000 */ nop -/* 072478 7F03D948 0FC1F1AA */ jal redirect_get_BONDdata_autoaim_x -/* 07247C 7F03D94C 00000000 */ nop -/* 072480 7F03D950 5040001B */ beql $v0, $zero, .L7F03D9C0 -/* 072484 7F03D954 8FBF004C */ lw $ra, 0x4c($sp) -/* 072488 7F03D958 0FC1E131 */ jal getPlayer_c_screenleft -/* 07248C 7F03D95C 00000000 */ nop -/* 072490 7F03D960 0FC1E129 */ jal getPlayer_c_screenwidth -/* 072494 7F03D964 46000506 */ mov.s $f20, $f0 -/* 072498 7F03D968 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07249C 7F03D96C 44815000 */ mtc1 $at, $f10 -/* 0724A0 7F03D970 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 0724A4 7F03D974 02C02025 */ move $a0, $s6 -/* 0724A8 7F03D978 460A0482 */ mul.s $f18, $f0, $f10 -/* 0724AC 7F03D97C 46144401 */ sub.s $f16, $f8, $f20 -/* 0724B0 7F03D980 46128103 */ div.s $f4, $f16, $f18 -/* 0724B4 7F03D984 46162181 */ sub.s $f6, $f4, $f22 -/* 0724B8 7F03D988 44053000 */ mfc1 $a1, $f6 -/* 0724BC 7F03D98C 0FC1F1B2 */ jal sub_GAME_7F07C6C8 -/* 0724C0 7F03D990 00000000 */ nop -/* 0724C4 7F03D994 1000000A */ b .L7F03D9C0 -/* 0724C8 7F03D998 8FBF004C */ lw $ra, 0x4c($sp) -/* 0724CC 7F03D99C 4480A000 */ mtc1 $zero, $f20 -.L7F03D9A0: -/* 0724D0 7F03D9A0 00002025 */ move $a0, $zero -/* 0724D4 7F03D9A4 4405A000 */ mfc1 $a1, $f20 -/* 0724D8 7F03D9A8 0FC1F17C */ jal sub_GAME_7F07C5F0 -/* 0724DC 7F03D9AC 00000000 */ nop -/* 0724E0 7F03D9B0 4405A000 */ mfc1 $a1, $f20 -/* 0724E4 7F03D9B4 0FC1F1B2 */ jal sub_GAME_7F07C6C8 -/* 0724E8 7F03D9B8 00002025 */ move $a0, $zero -/* 0724EC 7F03D9BC 8FBF004C */ lw $ra, 0x4c($sp) -.L7F03D9C0: -/* 0724F0 7F03D9C0 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0724F4 7F03D9C4 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 0724F8 7F03D9C8 8FB00030 */ lw $s0, 0x30($sp) -/* 0724FC 7F03D9CC 8FB10034 */ lw $s1, 0x34($sp) -/* 072500 7F03D9D0 8FB20038 */ lw $s2, 0x38($sp) -/* 072504 7F03D9D4 8FB3003C */ lw $s3, 0x3c($sp) -/* 072508 7F03D9D8 8FB40040 */ lw $s4, 0x40($sp) -/* 07250C 7F03D9DC 8FB50044 */ lw $s5, 0x44($sp) -/* 072510 7F03D9E0 8FB60048 */ lw $s6, 0x48($sp) -/* 072514 7F03D9E4 03E00008 */ jr $ra -/* 072518 7F03D9E8 27BD00A8 */ addiu $sp, $sp, 0xa8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03D9EC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03D9EC -/* 07251C 7F03D9EC 8C820004 */ lw $v0, 4($a0) -/* 072520 7F03D9F0 44802000 */ mtc1 $zero, $f4 -/* 072524 7F03D9F4 C44000B4 */ lwc1 $f0, 0xb4($v0) -/* 072528 7F03D9F8 4604003E */ c.le.s $f0, $f4 -/* 07252C 7F03D9FC 00000000 */ nop -/* 072530 7F03DA00 45020004 */ bc1fl .L7F03DA14 -/* 072534 7F03DA04 C4460084 */ lwc1 $f6, 0x84($v0) -/* 072538 7F03DA08 10000009 */ b .L7F03DA30 -/* 07253C 7F03DA0C 24031000 */ li $v1, 4096 -/* 072540 7F03DA10 C4460084 */ lwc1 $f6, 0x84($v0) -.L7F03DA14: -/* 072544 7F03DA14 24034000 */ li $v1, 16384 -/* 072548 7F03DA18 4600303E */ c.le.s $f6, $f0 -/* 07254C 7F03DA1C 00000000 */ nop -/* 072550 7F03DA20 45000003 */ bc1f .L7F03DA30 -/* 072554 7F03DA24 00000000 */ nop -/* 072558 7F03DA28 10000001 */ b .L7F03DA30 -/* 07255C 7F03DA2C 24032000 */ li $v1, 8192 -.L7F03DA30: -/* 072560 7F03DA30 8C4E000C */ lw $t6, 0xc($v0) -/* 072564 7F03DA34 34788000 */ ori $t8, $v1, 0x8000 -/* 072568 7F03DA38 000E7880 */ sll $t7, $t6, 2 -/* 07256C 7F03DA3C 05E10002 */ bgez $t7, .L7F03DA48 -/* 072570 7F03DA40 00000000 */ nop -/* 072574 7F03DA44 03001825 */ move $v1, $t8 -.L7F03DA48: -/* 072578 7F03DA48 03E00008 */ jr $ra -/* 07257C 7F03DA4C 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03DA50(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03DA50 -/* 072580 7F03DA50 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 072584 7F03DA54 AFBF0014 */ sw $ra, 0x14($sp) -/* 072588 7F03DA58 90820000 */ lbu $v0, ($a0) -/* 07258C 7F03DA5C 24010002 */ li $at, 2 -/* 072590 7F03DA60 24060001 */ li $a2, 1 -/* 072594 7F03DA64 14410015 */ bne $v0, $at, .L7F03DABC -/* 072598 7F03DA68 30AE0100 */ andi $t6, $a1, 0x100 -/* 07259C 7F03DA6C 11C00007 */ beqz $t6, .L7F03DA8C -/* 0725A0 7F03DA70 30B90002 */ andi $t9, $a1, 2 -/* 0725A4 7F03DA74 8C820004 */ lw $v0, 4($a0) -/* 0725A8 7F03DA78 8C4F0008 */ lw $t7, 8($v0) -/* 0725AC 7F03DA7C 000FC140 */ sll $t8, $t7, 5 -/* 0725B0 7F03DA80 07010002 */ bgez $t8, .L7F03DA8C -/* 0725B4 7F03DA84 00000000 */ nop -/* 0725B8 7F03DA88 00003025 */ move $a2, $zero -.L7F03DA8C: -/* 0725BC 7F03DA8C 57200034 */ bnezl $t9, .L7F03DB60 -/* 0725C0 7F03DA90 8FBF0014 */ lw $ra, 0x14($sp) -/* 0725C4 7F03DA94 AFA50024 */ sw $a1, 0x24($sp) -/* 0725C8 7F03DA98 0FC0F67B */ jal sub_GAME_7F03D9EC -/* 0725CC 7F03DA9C AFA6001C */ sw $a2, 0x1c($sp) -/* 0725D0 7F03DAA0 8FA50024 */ lw $a1, 0x24($sp) -/* 0725D4 7F03DAA4 8FA6001C */ lw $a2, 0x1c($sp) -/* 0725D8 7F03DAA8 00454024 */ and $t0, $v0, $a1 -/* 0725DC 7F03DAAC 5500002C */ bnezl $t0, .L7F03DB60 -/* 0725E0 7F03DAB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0725E4 7F03DAB4 10000029 */ b .L7F03DB5C -/* 0725E8 7F03DAB8 00003025 */ move $a2, $zero -.L7F03DABC: -/* 0725EC 7F03DABC 24010006 */ li $at, 6 -/* 0725F0 7F03DAC0 14410005 */ bne $v0, $at, .L7F03DAD8 -/* 0725F4 7F03DAC4 30A90004 */ andi $t1, $a1, 4 -/* 0725F8 7F03DAC8 55200025 */ bnezl $t1, .L7F03DB60 -/* 0725FC 7F03DACC 8FBF0014 */ lw $ra, 0x14($sp) -/* 072600 7F03DAD0 10000022 */ b .L7F03DB5C -/* 072604 7F03DAD4 00003025 */ move $a2, $zero -.L7F03DAD8: -/* 072608 7F03DAD8 24010003 */ li $at, 3 -/* 07260C 7F03DADC 14410006 */ bne $v0, $at, .L7F03DAF8 -/* 072610 7F03DAE0 30AB0100 */ andi $t3, $a1, 0x100 -/* 072614 7F03DAE4 30AA0008 */ andi $t2, $a1, 8 -/* 072618 7F03DAE8 5540001D */ bnezl $t2, .L7F03DB60 -/* 07261C 7F03DAEC 8FBF0014 */ lw $ra, 0x14($sp) -/* 072620 7F03DAF0 1000001A */ b .L7F03DB5C -/* 072624 7F03DAF4 00003025 */ move $a2, $zero -.L7F03DAF8: -/* 072628 7F03DAF8 11600006 */ beqz $t3, .L7F03DB14 -/* 07262C 7F03DAFC 8C820004 */ lw $v0, 4($a0) -/* 072630 7F03DB00 8C4C0008 */ lw $t4, 8($v0) -/* 072634 7F03DB04 000C6940 */ sll $t5, $t4, 5 -/* 072638 7F03DB08 05A30003 */ bgezl $t5, .L7F03DB18 -/* 07263C 7F03DB0C 30AE0200 */ andi $t6, $a1, 0x200 -/* 072640 7F03DB10 00003025 */ move $a2, $zero -.L7F03DB14: -/* 072644 7F03DB14 30AE0200 */ andi $t6, $a1, 0x200 -.L7F03DB18: -/* 072648 7F03DB18 11C00005 */ beqz $t6, .L7F03DB30 -/* 07264C 7F03DB1C 8C430008 */ lw $v1, 8($v0) -/* 072650 7F03DB20 00037B80 */ sll $t7, $v1, 0xe -/* 072654 7F03DB24 05E20003 */ bltzl $t7, .L7F03DB34 -/* 072658 7F03DB28 30780800 */ andi $t8, $v1, 0x800 -/* 07265C 7F03DB2C 00003025 */ move $a2, $zero -.L7F03DB30: -/* 072660 7F03DB30 30780800 */ andi $t8, $v1, 0x800 -.L7F03DB34: -/* 072664 7F03DB34 13000006 */ beqz $t8, .L7F03DB50 -/* 072668 7F03DB38 30A80001 */ andi $t0, $a1, 1 -/* 07266C 7F03DB3C 30B90010 */ andi $t9, $a1, 0x10 -/* 072670 7F03DB40 57200007 */ bnezl $t9, .L7F03DB60 -/* 072674 7F03DB44 8FBF0014 */ lw $ra, 0x14($sp) -/* 072678 7F03DB48 10000004 */ b .L7F03DB5C -/* 07267C 7F03DB4C 00003025 */ move $a2, $zero -.L7F03DB50: -/* 072680 7F03DB50 55000003 */ bnezl $t0, .L7F03DB60 -/* 072684 7F03DB54 8FBF0014 */ lw $ra, 0x14($sp) -/* 072688 7F03DB58 00003025 */ move $a2, $zero -.L7F03DB5C: -/* 07268C 7F03DB5C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F03DB60: -/* 072690 7F03DB60 27BD0020 */ addiu $sp, $sp, 0x20 -/* 072694 7F03DB64 00C01025 */ move $v0, $a2 -/* 072698 7F03DB68 03E00008 */ jr $ra -/* 07269C 7F03DB6C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03DB70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03DB70 -/* 0726A0 7F03DB70 8C830000 */ lw $v1, ($a0) -/* 0726A4 7F03DB74 00801025 */ move $v0, $a0 -/* 0726A8 7F03DB78 04620012 */ bltzl $v1, .L7F03DBC4 -/* 0726AC 7F03DB7C 00001025 */ move $v0, $zero -/* 0726B0 7F03DB80 8CA70000 */ lw $a3, ($a1) -/* 0726B4 7F03DB84 00A02025 */ move $a0, $a1 -.L7F03DB88: -/* 0726B8 7F03DB88 04E00009 */ bltz $a3, .L7F03DBB0 -/* 0726BC 7F03DB8C 00E03025 */ move $a2, $a3 -.L7F03DB90: -/* 0726C0 7F03DB90 54660004 */ bnel $v1, $a2, .L7F03DBA4 -/* 0726C4 7F03DB94 8C860004 */ lw $a2, 4($a0) -/* 0726C8 7F03DB98 03E00008 */ jr $ra -/* 0726CC 7F03DB9C 24020001 */ li $v0, 1 - -/* 0726D0 7F03DBA0 8C860004 */ lw $a2, 4($a0) -.L7F03DBA4: -/* 0726D4 7F03DBA4 24840004 */ addiu $a0, $a0, 4 -/* 0726D8 7F03DBA8 04C1FFF9 */ bgez $a2, .L7F03DB90 -/* 0726DC 7F03DBAC 00000000 */ nop -.L7F03DBB0: -/* 0726E0 7F03DBB0 8C430004 */ lw $v1, 4($v0) -/* 0726E4 7F03DBB4 24420004 */ addiu $v0, $v0, 4 -/* 0726E8 7F03DBB8 0463FFF3 */ bgezl $v1, .L7F03DB88 -/* 0726EC 7F03DBBC 00A02025 */ move $a0, $a1 -/* 0726F0 7F03DBC0 00001025 */ move $v0, $zero -.L7F03DBC4: -/* 0726F4 7F03DBC4 03E00008 */ jr $ra -/* 0726F8 7F03DBC8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03DBCC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03DBCC -/* 0726FC 7F03DBCC 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_8007161C) -/* 072700 7F03DBD0 8DEF161C */ lw $t7, %lo(dword_CODE_bss_8007161C)($t7) -/* 072704 7F03DBD4 0005C140 */ sll $t8, $a1, 5 -/* 072708 7F03DBD8 AFA40000 */ sw $a0, ($sp) -/* 07270C 7F03DBDC 01F81821 */ addu $v1, $t7, $t8 -/* 072710 7F03DBE0 84790000 */ lh $t9, ($v1) -/* 072714 7F03DBE4 00043400 */ sll $a2, $a0, 0x10 -/* 072718 7F03DBE8 00067403 */ sra $t6, $a2, 0x10 -/* 07271C 7F03DBEC 01C03025 */ move $a2, $t6 -/* 072720 7F03DBF0 07210004 */ bgez $t9, .L7F03DC04 -/* 072724 7F03DBF4 00602025 */ move $a0, $v1 -/* 072728 7F03DBF8 A48E0000 */ sh $t6, ($a0) -/* 07272C 7F03DBFC 03E00008 */ jr $ra -/* 072730 7F03DC00 24020001 */ li $v0, 1 - -.L7F03DC04: -/* 072734 7F03DC04 84880002 */ lh $t0, 2($a0) -/* 072738 7F03DC08 24020001 */ li $v0, 1 -/* 07273C 7F03DC0C 05030004 */ bgezl $t0, .L7F03DC20 -/* 072740 7F03DC10 84890004 */ lh $t1, 4($a0) -/* 072744 7F03DC14 03E00008 */ jr $ra -/* 072748 7F03DC18 A4860002 */ sh $a2, 2($a0) - -/* 07274C 7F03DC1C 84890004 */ lh $t1, 4($a0) -.L7F03DC20: -/* 072750 7F03DC20 24650006 */ addiu $a1, $v1, 6 -/* 072754 7F03DC24 2402001E */ li $v0, 30 -/* 072758 7F03DC28 05230005 */ bgezl $t1, .L7F03DC40 -/* 07275C 7F03DC2C 24040006 */ li $a0, 6 -/* 072760 7F03DC30 A4860004 */ sh $a2, 4($a0) -/* 072764 7F03DC34 03E00008 */ jr $ra -/* 072768 7F03DC38 24020001 */ li $v0, 1 - -/* 07276C 7F03DC3C 24040006 */ li $a0, 6 -.L7F03DC40: -/* 072770 7F03DC40 84AA0000 */ lh $t2, ($a1) -/* 072774 7F03DC44 24840008 */ addiu $a0, $a0, 8 -/* 072778 7F03DC48 05430005 */ bgezl $t2, .L7F03DC60 -/* 07277C 7F03DC4C 84AB0002 */ lh $t3, 2($a1) -/* 072780 7F03DC50 A4A60000 */ sh $a2, ($a1) -/* 072784 7F03DC54 03E00008 */ jr $ra -/* 072788 7F03DC58 24020001 */ li $v0, 1 - -/* 07278C 7F03DC5C 84AB0002 */ lh $t3, 2($a1) -.L7F03DC60: -/* 072790 7F03DC60 05630005 */ bgezl $t3, .L7F03DC78 -/* 072794 7F03DC64 84AC0004 */ lh $t4, 4($a1) -/* 072798 7F03DC68 A4A60002 */ sh $a2, 2($a1) -/* 07279C 7F03DC6C 03E00008 */ jr $ra -/* 0727A0 7F03DC70 24020001 */ li $v0, 1 - -/* 0727A4 7F03DC74 84AC0004 */ lh $t4, 4($a1) -.L7F03DC78: -/* 0727A8 7F03DC78 05830005 */ bgezl $t4, .L7F03DC90 -/* 0727AC 7F03DC7C 84AD0006 */ lh $t5, 6($a1) -/* 0727B0 7F03DC80 A4A60004 */ sh $a2, 4($a1) -/* 0727B4 7F03DC84 03E00008 */ jr $ra -/* 0727B8 7F03DC88 24020001 */ li $v0, 1 - -/* 0727BC 7F03DC8C 84AD0006 */ lh $t5, 6($a1) -.L7F03DC90: -/* 0727C0 7F03DC90 05A10004 */ bgez $t5, .L7F03DCA4 -/* 0727C4 7F03DC94 00000000 */ nop -/* 0727C8 7F03DC98 A4A60006 */ sh $a2, 6($a1) -/* 0727CC 7F03DC9C 03E00008 */ jr $ra -/* 0727D0 7F03DCA0 24020001 */ li $v0, 1 - -.L7F03DCA4: -/* 0727D4 7F03DCA4 1482FFE6 */ bne $a0, $v0, .L7F03DC40 -/* 0727D8 7F03DCA8 24A50008 */ addiu $a1, $a1, 8 -/* 0727DC 7F03DCAC 00001025 */ move $v0, $zero -/* 0727E0 7F03DCB0 03E00008 */ jr $ra -/* 0727E4 7F03DCB4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03DCB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03DCB8 -/* 0727E8 7F03DCB8 00803025 */ move $a2, $a0 -/* 0727EC 7F03DCBC 3C028007 */ lui $v0, %hi(dword_CODE_bss_8007161C) -/* 0727F0 7F03DCC0 8C42161C */ lw $v0, %lo(dword_CODE_bss_8007161C)($v0) -/* 0727F4 7F03DCC4 2404FFFE */ li $a0, -2 -/* 0727F8 7F03DCC8 00001825 */ move $v1, $zero -/* 0727FC 7F03DCCC 24070100 */ li $a3, 256 -.L7F03DCD0: -/* 072800 7F03DCD0 844E0000 */ lh $t6, ($v0) -/* 072804 7F03DCD4 548E002C */ bnel $a0, $t6, .L7F03DD88 -/* 072808 7F03DCD8 24630001 */ addiu $v1, $v1, 1 -/* 07280C 7F03DCDC 3C028007 */ lui $v0, %hi(dword_CODE_bss_8007161C) -/* 072810 7F03DCE0 2442161C */ addiu $v0, %lo(dword_CODE_bss_8007161C) # addiu $v0, $v0, 0x161c -/* 072814 7F03DCE4 00002025 */ move $a0, $zero -/* 072818 7F03DCE8 24080020 */ li $t0, 32 -/* 07281C 7F03DCEC 2407FFFF */ li $a3, -1 -.L7F03DCF0: -/* 072820 7F03DCF0 8C4F0000 */ lw $t7, ($v0) -/* 072824 7F03DCF4 0003C140 */ sll $t8, $v1, 5 -/* 072828 7F03DCF8 00035940 */ sll $t3, $v1, 5 -/* 07282C 7F03DCFC 01F8C821 */ addu $t9, $t7, $t8 -/* 072830 7F03DD00 03244821 */ addu $t1, $t9, $a0 -/* 072834 7F03DD04 A5270000 */ sh $a3, ($t1) -/* 072838 7F03DD08 8C4A0000 */ lw $t2, ($v0) -/* 07283C 7F03DD0C 00037940 */ sll $t7, $v1, 5 -/* 072840 7F03DD10 014B6021 */ addu $t4, $t2, $t3 -/* 072844 7F03DD14 01846821 */ addu $t5, $t4, $a0 -/* 072848 7F03DD18 A5A70002 */ sh $a3, 2($t5) -/* 07284C 7F03DD1C 8C4E0000 */ lw $t6, ($v0) -/* 072850 7F03DD20 00035140 */ sll $t2, $v1, 5 -/* 072854 7F03DD24 01CFC021 */ addu $t8, $t6, $t7 -/* 072858 7F03DD28 0304C821 */ addu $t9, $t8, $a0 -/* 07285C 7F03DD2C A7270004 */ sh $a3, 4($t9) -/* 072860 7F03DD30 8C490000 */ lw $t1, ($v0) -/* 072864 7F03DD34 012A5821 */ addu $t3, $t1, $t2 -/* 072868 7F03DD38 01646021 */ addu $t4, $t3, $a0 -/* 07286C 7F03DD3C 24840008 */ addiu $a0, $a0, 8 -/* 072870 7F03DD40 1488FFEB */ bne $a0, $t0, .L7F03DCF0 -/* 072874 7F03DD44 A5870006 */ sh $a3, 6($t4) -/* 072878 7F03DD48 04A00007 */ bltz $a1, .L7F03DD68 -/* 07287C 7F03DD4C 00000000 */ nop -/* 072880 7F03DD50 8C4D0000 */ lw $t5, ($v0) -/* 072884 7F03DD54 00057140 */ sll $t6, $a1, 5 -/* 072888 7F03DD58 00601025 */ move $v0, $v1 -/* 07288C 7F03DD5C 01AE7821 */ addu $t7, $t5, $t6 -/* 072890 7F03DD60 03E00008 */ jr $ra -/* 072894 7F03DD64 A5E3001E */ sh $v1, 0x1e($t7) - -.L7F03DD68: -/* 072898 7F03DD68 3C188007 */ lui $t8, %hi(ptr_room_lookup_buffer_maybe) -/* 07289C 7F03DD6C 8F181618 */ lw $t8, %lo(ptr_room_lookup_buffer_maybe)($t8) -/* 0728A0 7F03DD70 0006C840 */ sll $t9, $a2, 1 -/* 0728A4 7F03DD74 03194821 */ addu $t1, $t8, $t9 -/* 0728A8 7F03DD78 A5230000 */ sh $v1, ($t1) -/* 0728AC 7F03DD7C 03E00008 */ jr $ra -/* 0728B0 7F03DD80 00601025 */ move $v0, $v1 - -/* 0728B4 7F03DD84 24630001 */ addiu $v1, $v1, 1 -.L7F03DD88: -/* 0728B8 7F03DD88 1467FFD1 */ bne $v1, $a3, .L7F03DCD0 -/* 0728BC 7F03DD8C 24420020 */ addiu $v0, $v0, 0x20 -/* 0728C0 7F03DD90 2402FFFF */ li $v0, -1 -/* 0728C4 7F03DD94 03E00008 */ jr $ra -/* 0728C8 7F03DD98 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03DD9C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03DD9C -/* 0728CC 7F03DD9C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0728D0 7F03DDA0 AFA5002C */ sw $a1, 0x2c($sp) -/* 0728D4 7F03DDA4 87AE002E */ lh $t6, 0x2e($sp) -/* 0728D8 7F03DDA8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0728DC 7F03DDAC AFB20020 */ sw $s2, 0x20($sp) -/* 0728E0 7F03DDB0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0728E4 7F03DDB4 AFB00018 */ sw $s0, 0x18($sp) -/* 0728E8 7F03DDB8 AFA40028 */ sw $a0, 0x28($sp) -/* 0728EC 7F03DDBC 05C0002F */ bltz $t6, .L7F03DE7C -/* 0728F0 7F03DDC0 2406FFFF */ li $a2, -1 -/* 0728F4 7F03DDC4 87B8002E */ lh $t8, 0x2e($sp) -/* 0728F8 7F03DDC8 3C0F8007 */ lui $t7, %hi(ptr_room_lookup_buffer_maybe) -/* 0728FC 7F03DDCC 8DEF1618 */ lw $t7, %lo(ptr_room_lookup_buffer_maybe)($t7) -/* 072900 7F03DDD0 0018C840 */ sll $t9, $t8, 1 -/* 072904 7F03DDD4 3C0A8007 */ lui $t2, %hi(pos_data_entry) -/* 072908 7F03DDD8 01F94021 */ addu $t0, $t7, $t9 -/* 07290C 7F03DDDC 85100000 */ lh $s0, ($t0) -/* 072910 7F03DDE0 254A9C38 */ addiu $t2, %lo(pos_data_entry) # addiu $t2, $t2, -0x63c8 -/* 072914 7F03DDE4 008A8823 */ subu $s1, $a0, $t2 -/* 072918 7F03DDE8 06000015 */ bltz $s0, .L7F03DE40 -/* 07291C 7F03DDEC 24010034 */ li $at, 52 -/* 072920 7F03DDF0 0221001A */ div $zero, $s1, $at -/* 072924 7F03DDF4 00005812 */ mflo $t3 -/* 072928 7F03DDF8 000B6400 */ sll $t4, $t3, 0x10 -/* 07292C 7F03DDFC 3C128007 */ lui $s2, %hi(dword_CODE_bss_8007161C) -/* 072930 7F03DE00 2652161C */ addiu $s2, %lo(dword_CODE_bss_8007161C) # addiu $s2, $s2, 0x161c -/* 072934 7F03DE04 000C8C03 */ sra $s1, $t4, 0x10 -/* 072938 7F03DE08 00112400 */ sll $a0, $s1, 0x10 -.L7F03DE0C: -/* 07293C 7F03DE0C 00047403 */ sra $t6, $a0, 0x10 -/* 072940 7F03DE10 01C02025 */ move $a0, $t6 -/* 072944 7F03DE14 0FC0F6F3 */ jal sub_GAME_7F03DBCC -/* 072948 7F03DE18 02002825 */ move $a1, $s0 -/* 07294C 7F03DE1C 54400018 */ bnezl $v0, .L7F03DE80 -/* 072950 7F03DE20 8FBF0024 */ lw $ra, 0x24($sp) -/* 072954 7F03DE24 8E580000 */ lw $t8, ($s2) -/* 072958 7F03DE28 00107940 */ sll $t7, $s0, 5 -/* 07295C 7F03DE2C 02003025 */ move $a2, $s0 -/* 072960 7F03DE30 030FC821 */ addu $t9, $t8, $t7 -/* 072964 7F03DE34 8730001E */ lh $s0, 0x1e($t9) -/* 072968 7F03DE38 0603FFF4 */ bgezl $s0, .L7F03DE0C -/* 07296C 7F03DE3C 00112400 */ sll $a0, $s1, 0x10 -.L7F03DE40: -/* 072970 7F03DE40 87A4002E */ lh $a0, 0x2e($sp) -/* 072974 7F03DE44 0FC0F72E */ jal sub_GAME_7F03DCB8 -/* 072978 7F03DE48 00C02825 */ move $a1, $a2 -/* 07297C 7F03DE4C 0440000B */ bltz $v0, .L7F03DE7C -/* 072980 7F03DE50 8FA80028 */ lw $t0, 0x28($sp) -/* 072984 7F03DE54 3C098007 */ lui $t1, %hi(pos_data_entry) -/* 072988 7F03DE58 25299C38 */ addiu $t1, %lo(pos_data_entry) # addiu $t1, $t1, -0x63c8 -/* 07298C 7F03DE5C 01092023 */ subu $a0, $t0, $t1 -/* 072990 7F03DE60 24010034 */ li $at, 52 -/* 072994 7F03DE64 0081001A */ div $zero, $a0, $at -/* 072998 7F03DE68 00005012 */ mflo $t2 -/* 07299C 7F03DE6C 000A5C00 */ sll $t3, $t2, 0x10 -/* 0729A0 7F03DE70 000B2403 */ sra $a0, $t3, 0x10 -/* 0729A4 7F03DE74 0FC0F6F3 */ jal sub_GAME_7F03DBCC -/* 0729A8 7F03DE78 00402825 */ move $a1, $v0 -.L7F03DE7C: -/* 0729AC 7F03DE7C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F03DE80: -/* 0729B0 7F03DE80 8FB00018 */ lw $s0, 0x18($sp) -/* 0729B4 7F03DE84 8FB1001C */ lw $s1, 0x1c($sp) -/* 0729B8 7F03DE88 8FB20020 */ lw $s2, 0x20($sp) -/* 0729BC 7F03DE8C 03E00008 */ jr $ra -/* 0729C0 7F03DE90 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03DE94(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03DE94 -/* 0729C4 7F03DE94 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0729C8 7F03DE98 00057400 */ sll $t6, $a1, 0x10 -/* 0729CC 7F03DE9C 000E7C03 */ sra $t7, $t6, 0x10 -/* 0729D0 7F03DEA0 AFB1000C */ sw $s1, 0xc($sp) -/* 0729D4 7F03DEA4 AFB00008 */ sw $s0, 8($sp) -/* 0729D8 7F03DEA8 AFA50014 */ sw $a1, 0x14($sp) -/* 0729DC 7F03DEAC 00003025 */ move $a2, $zero -/* 0729E0 7F03DEB0 05E0009C */ bltz $t7, .L7F03E124 -/* 0729E4 7F03DEB4 2409FFFF */ li $t1, -1 -/* 0729E8 7F03DEB8 3C0B8007 */ lui $t3, %hi(ptr_room_lookup_buffer_maybe) -/* 0729EC 7F03DEBC 256B1618 */ addiu $t3, %lo(ptr_room_lookup_buffer_maybe) # addiu $t3, $t3, 0x1618 -/* 0729F0 7F03DEC0 8D780000 */ lw $t8, ($t3) -/* 0729F4 7F03DEC4 000F5040 */ sll $t2, $t7, 1 -/* 0729F8 7F03DEC8 3C0E8007 */ lui $t6, %hi(pos_data_entry) -/* 0729FC 7F03DECC 030AC821 */ addu $t9, $t8, $t2 -/* 072A00 7F03DED0 87230000 */ lh $v1, ($t9) -/* 072A04 7F03DED4 25CE9C38 */ addiu $t6, %lo(pos_data_entry) # addiu $t6, $t6, -0x63c8 -/* 072A08 7F03DED8 008E2023 */ subu $a0, $a0, $t6 -/* 072A0C 7F03DEDC 04600091 */ bltz $v1, .L7F03E124 -/* 072A10 7F03DEE0 3C0D8007 */ lui $t5, %hi(dword_CODE_bss_8007161C) -/* 072A14 7F03DEE4 24010034 */ li $at, 52 -/* 072A18 7F03DEE8 0081001A */ div $zero, $a0, $at -/* 072A1C 7F03DEEC 00007812 */ mflo $t7 -/* 072A20 7F03DEF0 000FC400 */ sll $t8, $t7, 0x10 -/* 072A24 7F03DEF4 3C078007 */ lui $a3, %hi(dword_CODE_bss_8007161C) -/* 072A28 7F03DEF8 24E7161C */ addiu $a3, %lo(dword_CODE_bss_8007161C) # addiu $a3, $a3, 0x161c -/* 072A2C 7F03DEFC 00182403 */ sra $a0, $t8, 0x10 -/* 072A30 7F03DF00 8DAD161C */ lw $t5, %lo(dword_CODE_bss_8007161C)($t5) -/* 072A34 7F03DF04 240CFFFE */ li $t4, -2 -/* 072A38 7F03DF08 2408001E */ li $t0, 30 -/* 072A3C 7F03DF0C 2405FFFF */ li $a1, -1 -/* 072A40 7F03DF10 00037140 */ sll $t6, $v1, 5 -.L7F03DF14: -/* 072A44 7F03DF14 01AE8021 */ addu $s0, $t5, $t6 -/* 072A48 7F03DF18 86110000 */ lh $s1, ($s0) -/* 072A4C 7F03DF1C 00001025 */ move $v0, $zero -/* 072A50 7F03DF20 00037140 */ sll $t6, $v1, 5 -/* 072A54 7F03DF24 14910006 */ bne $a0, $s1, .L7F03DF40 -/* 072A58 7F03DF28 0003C140 */ sll $t8, $v1, 5 -/* 072A5C 7F03DF2C A6050000 */ sh $a1, ($s0) -/* 072A60 7F03DF30 8CEF0000 */ lw $t7, ($a3) -/* 072A64 7F03DF34 24060001 */ li $a2, 1 -/* 072A68 7F03DF38 10000004 */ b .L7F03DF4C -/* 072A6C 7F03DF3C 01F88021 */ addu $s0, $t7, $t8 -.L7F03DF40: -/* 072A70 7F03DF40 06220003 */ bltzl $s1, .L7F03DF50 -/* 072A74 7F03DF44 860D0002 */ lh $t5, 2($s0) -/* 072A78 7F03DF48 24020001 */ li $v0, 1 -.L7F03DF4C: -/* 072A7C 7F03DF4C 860D0002 */ lh $t5, 2($s0) -.L7F03DF50: -/* 072A80 7F03DF50 148D0006 */ bne $a0, $t5, .L7F03DF6C -/* 072A84 7F03DF54 00000000 */ nop -/* 072A88 7F03DF58 A6050002 */ sh $a1, 2($s0) -/* 072A8C 7F03DF5C 8CF90000 */ lw $t9, ($a3) -/* 072A90 7F03DF60 24060001 */ li $a2, 1 -/* 072A94 7F03DF64 10000006 */ b .L7F03DF80 -/* 072A98 7F03DF68 032E8021 */ addu $s0, $t9, $t6 -.L7F03DF6C: -/* 072A9C 7F03DF6C 54400005 */ bnezl $v0, .L7F03DF84 -/* 072AA0 7F03DF70 860D0004 */ lh $t5, 4($s0) -/* 072AA4 7F03DF74 05A20003 */ bltzl $t5, .L7F03DF84 -/* 072AA8 7F03DF78 860D0004 */ lh $t5, 4($s0) -/* 072AAC 7F03DF7C 24020001 */ li $v0, 1 -.L7F03DF80: -/* 072AB0 7F03DF80 860D0004 */ lh $t5, 4($s0) -.L7F03DF84: -/* 072AB4 7F03DF84 148D0004 */ bne $a0, $t5, .L7F03DF98 -/* 072AB8 7F03DF88 00000000 */ nop -/* 072ABC 7F03DF8C A6050004 */ sh $a1, 4($s0) -/* 072AC0 7F03DF90 10000006 */ b .L7F03DFAC -/* 072AC4 7F03DF94 24060001 */ li $a2, 1 -.L7F03DF98: -/* 072AC8 7F03DF98 54400005 */ bnezl $v0, .L7F03DFB0 -/* 072ACC 7F03DF9C 24100006 */ li $s0, 6 -/* 072AD0 7F03DFA0 05A20003 */ bltzl $t5, .L7F03DFB0 -/* 072AD4 7F03DFA4 24100006 */ li $s0, 6 -/* 072AD8 7F03DFA8 24020001 */ li $v0, 1 -.L7F03DFAC: -/* 072ADC 7F03DFAC 24100006 */ li $s0, 6 -.L7F03DFB0: -/* 072AE0 7F03DFB0 8CEF0000 */ lw $t7, ($a3) -.L7F03DFB4: -/* 072AE4 7F03DFB4 0003C140 */ sll $t8, $v1, 5 -/* 072AE8 7F03DFB8 01F8C821 */ addu $t9, $t7, $t8 -/* 072AEC 7F03DFBC 03306821 */ addu $t5, $t9, $s0 -/* 072AF0 7F03DFC0 85B10000 */ lh $s1, ($t5) -/* 072AF4 7F03DFC4 14910008 */ bne $a0, $s1, .L7F03DFE8 -/* 072AF8 7F03DFC8 00000000 */ nop -/* 072AFC 7F03DFCC A5A50000 */ sh $a1, ($t5) -/* 072B00 7F03DFD0 8CEE0000 */ lw $t6, ($a3) -/* 072B04 7F03DFD4 00037940 */ sll $t7, $v1, 5 -/* 072B08 7F03DFD8 24060001 */ li $a2, 1 -/* 072B0C 7F03DFDC 01CFC021 */ addu $t8, $t6, $t7 -/* 072B10 7F03DFE0 10000006 */ b .L7F03DFFC -/* 072B14 7F03DFE4 03106821 */ addu $t5, $t8, $s0 -.L7F03DFE8: -/* 072B18 7F03DFE8 54400005 */ bnezl $v0, .L7F03E000 -/* 072B1C 7F03DFEC 85B10002 */ lh $s1, 2($t5) -/* 072B20 7F03DFF0 06220003 */ bltzl $s1, .L7F03E000 -/* 072B24 7F03DFF4 85B10002 */ lh $s1, 2($t5) -/* 072B28 7F03DFF8 24020001 */ li $v0, 1 -.L7F03DFFC: -/* 072B2C 7F03DFFC 85B10002 */ lh $s1, 2($t5) -.L7F03E000: -/* 072B30 7F03E000 14910008 */ bne $a0, $s1, .L7F03E024 -/* 072B34 7F03E004 00000000 */ nop -/* 072B38 7F03E008 A5A50002 */ sh $a1, 2($t5) -/* 072B3C 7F03E00C 8CF90000 */ lw $t9, ($a3) -/* 072B40 7F03E010 00037140 */ sll $t6, $v1, 5 -/* 072B44 7F03E014 24060001 */ li $a2, 1 -/* 072B48 7F03E018 032E7821 */ addu $t7, $t9, $t6 -/* 072B4C 7F03E01C 10000006 */ b .L7F03E038 -/* 072B50 7F03E020 01F06821 */ addu $t5, $t7, $s0 -.L7F03E024: -/* 072B54 7F03E024 54400005 */ bnezl $v0, .L7F03E03C -/* 072B58 7F03E028 85B10004 */ lh $s1, 4($t5) -/* 072B5C 7F03E02C 06220003 */ bltzl $s1, .L7F03E03C -/* 072B60 7F03E030 85B10004 */ lh $s1, 4($t5) -/* 072B64 7F03E034 24020001 */ li $v0, 1 -.L7F03E038: -/* 072B68 7F03E038 85B10004 */ lh $s1, 4($t5) -.L7F03E03C: -/* 072B6C 7F03E03C 14910008 */ bne $a0, $s1, .L7F03E060 -/* 072B70 7F03E040 00000000 */ nop -/* 072B74 7F03E044 A5A50004 */ sh $a1, 4($t5) -/* 072B78 7F03E048 8CF80000 */ lw $t8, ($a3) -/* 072B7C 7F03E04C 0003C940 */ sll $t9, $v1, 5 -/* 072B80 7F03E050 24060001 */ li $a2, 1 -/* 072B84 7F03E054 03197021 */ addu $t6, $t8, $t9 -/* 072B88 7F03E058 10000006 */ b .L7F03E074 -/* 072B8C 7F03E05C 01D06821 */ addu $t5, $t6, $s0 -.L7F03E060: -/* 072B90 7F03E060 54400005 */ bnezl $v0, .L7F03E078 -/* 072B94 7F03E064 85B10006 */ lh $s1, 6($t5) -/* 072B98 7F03E068 06220003 */ bltzl $s1, .L7F03E078 -/* 072B9C 7F03E06C 85B10006 */ lh $s1, 6($t5) -/* 072BA0 7F03E070 24020001 */ li $v0, 1 -.L7F03E074: -/* 072BA4 7F03E074 85B10006 */ lh $s1, 6($t5) -.L7F03E078: -/* 072BA8 7F03E078 26100008 */ addiu $s0, $s0, 8 -/* 072BAC 7F03E07C 14910004 */ bne $a0, $s1, .L7F03E090 -/* 072BB0 7F03E080 00000000 */ nop -/* 072BB4 7F03E084 A5A50006 */ sh $a1, 6($t5) -/* 072BB8 7F03E088 10000006 */ b .L7F03E0A4 -/* 072BBC 7F03E08C 24060001 */ li $a2, 1 -.L7F03E090: -/* 072BC0 7F03E090 14400004 */ bnez $v0, .L7F03E0A4 -/* 072BC4 7F03E094 00000000 */ nop -/* 072BC8 7F03E098 06200002 */ bltz $s1, .L7F03E0A4 -/* 072BCC 7F03E09C 00000000 */ nop -/* 072BD0 7F03E0A0 24020001 */ li $v0, 1 -.L7F03E0A4: -/* 072BD4 7F03E0A4 5608FFC3 */ bnel $s0, $t0, .L7F03DFB4 -/* 072BD8 7F03E0A8 8CEF0000 */ lw $t7, ($a3) -/* 072BDC 7F03E0AC 54400015 */ bnezl $v0, .L7F03E104 -/* 072BE0 7F03E0B0 00604825 */ move $t1, $v1 -/* 072BE4 7F03E0B4 8CEF0000 */ lw $t7, ($a3) -/* 072BE8 7F03E0B8 00031140 */ sll $v0, $v1, 5 -/* 072BEC 7F03E0BC 01E2C021 */ addu $t8, $t7, $v0 -/* 072BF0 7F03E0C0 05200008 */ bltz $t1, .L7F03E0E4 -/* 072BF4 7F03E0C4 A70C0000 */ sh $t4, ($t8) -/* 072BF8 7F03E0C8 8CED0000 */ lw $t5, ($a3) -/* 072BFC 7F03E0CC 00097940 */ sll $t7, $t1, 5 -/* 072C00 7F03E0D0 01A2C821 */ addu $t9, $t5, $v0 -/* 072C04 7F03E0D4 872E001E */ lh $t6, 0x1e($t9) -/* 072C08 7F03E0D8 01AFC021 */ addu $t8, $t5, $t7 -/* 072C0C 7F03E0DC 10000009 */ b .L7F03E104 -/* 072C10 7F03E0E0 A70E001E */ sh $t6, 0x1e($t8) -.L7F03E0E4: -/* 072C14 7F03E0E4 8CF90000 */ lw $t9, ($a3) -/* 072C18 7F03E0E8 8D780000 */ lw $t8, ($t3) -/* 072C1C 7F03E0EC 03227821 */ addu $t7, $t9, $v0 -/* 072C20 7F03E0F0 85EE001E */ lh $t6, 0x1e($t7) -/* 072C24 7F03E0F4 030AC821 */ addu $t9, $t8, $t2 -/* 072C28 7F03E0F8 10000002 */ b .L7F03E104 -/* 072C2C 7F03E0FC A72E0000 */ sh $t6, ($t9) -/* 072C30 7F03E100 00604825 */ move $t1, $v1 -.L7F03E104: -/* 072C34 7F03E104 54C00008 */ bnezl $a2, .L7F03E128 -/* 072C38 7F03E108 8FB00008 */ lw $s0, 8($sp) -/* 072C3C 7F03E10C 8CED0000 */ lw $t5, ($a3) -/* 072C40 7F03E110 00037940 */ sll $t7, $v1, 5 -/* 072C44 7F03E114 01AFC021 */ addu $t8, $t5, $t7 -/* 072C48 7F03E118 8703001E */ lh $v1, 0x1e($t8) -/* 072C4C 7F03E11C 0463FF7D */ bgezl $v1, .L7F03DF14 -/* 072C50 7F03E120 00037140 */ sll $t6, $v1, 5 -.L7F03E124: -/* 072C54 7F03E124 8FB00008 */ lw $s0, 8($sp) -.L7F03E128: -/* 072C58 7F03E128 8FB1000C */ lw $s1, 0xc($sp) -/* 072C5C 7F03E12C 03E00008 */ jr $ra -/* 072C60 7F03E130 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E134(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E134 -/* 072C64 7F03E134 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 072C68 7F03E138 AFBF0014 */ sw $ra, 0x14($sp) -/* 072C6C 7F03E13C 90820000 */ lbu $v0, ($a0) -/* 072C70 7F03E140 24010003 */ li $at, 3 -/* 072C74 7F03E144 00802825 */ move $a1, $a0 -/* 072C78 7F03E148 54410006 */ bnel $v0, $at, .L7F03E164 -/* 072C7C 7F03E14C 24010001 */ li $at, 1 -/* 072C80 7F03E150 0FC08365 */ jal sub_GAME_7F020D94 -/* 072C84 7F03E154 8C840004 */ lw $a0, 4($a0) -/* 072C88 7F03E158 10000009 */ b .L7F03E180 -/* 072C8C 7F03E15C 8FBF0014 */ lw $ra, 0x14($sp) -/* 072C90 7F03E160 24010001 */ li $at, 1 -.L7F03E164: -/* 072C94 7F03E164 10410003 */ beq $v0, $at, .L7F03E174 -/* 072C98 7F03E168 24010004 */ li $at, 4 -/* 072C9C 7F03E16C 54410004 */ bnel $v0, $at, .L7F03E180 -/* 072CA0 7F03E170 8FBF0014 */ lw $ra, 0x14($sp) -.L7F03E174: -/* 072CA4 7F03E174 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 072CA8 7F03E178 8CA40004 */ lw $a0, 4($a1) -/* 072CAC 7F03E17C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F03E180: -/* 072CB0 7F03E180 27BD0018 */ addiu $sp, $sp, 0x18 -/* 072CB4 7F03E184 03E00008 */ jr $ra -/* 072CB8 7F03E188 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E18C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E18C -/* 072CBC 7F03E18C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 072CC0 7F03E190 AFBF0024 */ sw $ra, 0x24($sp) -/* 072CC4 7F03E194 AFB30020 */ sw $s3, 0x20($sp) -/* 072CC8 7F03E198 AFB2001C */ sw $s2, 0x1c($sp) -/* 072CCC 7F03E19C AFB10018 */ sw $s1, 0x18($sp) -/* 072CD0 7F03E1A0 AFB00014 */ sw $s0, 0x14($sp) -/* 072CD4 7F03E1A4 9090002C */ lbu $s0, 0x2c($a0) -/* 072CD8 7F03E1A8 241200FF */ li $s2, 255 -/* 072CDC 7F03E1AC 00809825 */ move $s3, $a0 -/* 072CE0 7F03E1B0 1250000A */ beq $s2, $s0, .L7F03E1DC -/* 072CE4 7F03E1B4 2491002C */ addiu $s1, $a0, 0x2c -/* 072CE8 7F03E1B8 00102C00 */ sll $a1, $s0, 0x10 -.L7F03E1BC: -/* 072CEC 7F03E1BC 00057403 */ sra $t6, $a1, 0x10 -/* 072CF0 7F03E1C0 01C02825 */ move $a1, $t6 -/* 072CF4 7F03E1C4 0FC0F7A5 */ jal sub_GAME_7F03DE94 -/* 072CF8 7F03E1C8 02602025 */ move $a0, $s3 -/* 072CFC 7F03E1CC 92300001 */ lbu $s0, 1($s1) -/* 072D00 7F03E1D0 26310001 */ addiu $s1, $s1, 1 -/* 072D04 7F03E1D4 5650FFF9 */ bnel $s2, $s0, .L7F03E1BC -/* 072D08 7F03E1D8 00102C00 */ sll $a1, $s0, 0x10 -.L7F03E1DC: -/* 072D0C 7F03E1DC 926F0001 */ lbu $t7, 1($s3) -/* 072D10 7F03E1E0 241900FF */ li $t9, 255 -/* 072D14 7F03E1E4 31F80010 */ andi $t8, $t7, 0x10 -/* 072D18 7F03E1E8 57000003 */ bnezl $t8, .L7F03E1F8 -/* 072D1C 7F03E1EC 8FBF0024 */ lw $ra, 0x24($sp) -/* 072D20 7F03E1F0 A279002C */ sb $t9, 0x2c($s3) -/* 072D24 7F03E1F4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F03E1F8: -/* 072D28 7F03E1F8 8FB00014 */ lw $s0, 0x14($sp) -/* 072D2C 7F03E1FC 8FB10018 */ lw $s1, 0x18($sp) -/* 072D30 7F03E200 8FB2001C */ lw $s2, 0x1c($sp) -/* 072D34 7F03E204 8FB30020 */ lw $s3, 0x20($sp) -/* 072D38 7F03E208 03E00008 */ jr $ra -/* 072D3C 7F03E20C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E210(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E210 -/* 072D40 7F03E210 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 072D44 7F03E214 AFBF0024 */ sw $ra, 0x24($sp) -/* 072D48 7F03E218 AFB30020 */ sw $s3, 0x20($sp) -/* 072D4C 7F03E21C AFB2001C */ sw $s2, 0x1c($sp) -/* 072D50 7F03E220 AFB10018 */ sw $s1, 0x18($sp) -/* 072D54 7F03E224 AFB00014 */ sw $s0, 0x14($sp) -/* 072D58 7F03E228 9090002C */ lbu $s0, 0x2c($a0) -/* 072D5C 7F03E22C 241300FF */ li $s3, 255 -/* 072D60 7F03E230 00809025 */ move $s2, $a0 -/* 072D64 7F03E234 1270000A */ beq $s3, $s0, .L7F03E260 -/* 072D68 7F03E238 2491002C */ addiu $s1, $a0, 0x2c -/* 072D6C 7F03E23C 00102C00 */ sll $a1, $s0, 0x10 -.L7F03E240: -/* 072D70 7F03E240 00057403 */ sra $t6, $a1, 0x10 -/* 072D74 7F03E244 01C02825 */ move $a1, $t6 -/* 072D78 7F03E248 0FC0F767 */ jal sub_GAME_7F03DD9C -/* 072D7C 7F03E24C 02402025 */ move $a0, $s2 -/* 072D80 7F03E250 92300001 */ lbu $s0, 1($s1) -/* 072D84 7F03E254 26310001 */ addiu $s1, $s1, 1 -/* 072D88 7F03E258 5670FFF9 */ bnel $s3, $s0, .L7F03E240 -/* 072D8C 7F03E25C 00102C00 */ sll $a1, $s0, 0x10 -.L7F03E260: -/* 072D90 7F03E260 8FBF0024 */ lw $ra, 0x24($sp) -/* 072D94 7F03E264 8FB00014 */ lw $s0, 0x14($sp) -/* 072D98 7F03E268 8FB10018 */ lw $s1, 0x18($sp) -/* 072D9C 7F03E26C 8FB2001C */ lw $s2, 0x1c($sp) -/* 072DA0 7F03E270 8FB30020 */ lw $s3, 0x20($sp) -/* 072DA4 7F03E274 03E00008 */ jr $ra -/* 072DA8 7F03E278 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E27C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E27C -/* 072DAC 7F03E27C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 072DB0 7F03E280 AFBF002C */ sw $ra, 0x2c($sp) -/* 072DB4 7F03E284 AFB00028 */ sw $s0, 0x28($sp) -/* 072DB8 7F03E288 AFA50074 */ sw $a1, 0x74($sp) -/* 072DBC 7F03E28C AFA60078 */ sw $a2, 0x78($sp) -/* 072DC0 7F03E290 AFA00048 */ sw $zero, 0x48($sp) -/* 072DC4 7F03E294 908E0001 */ lbu $t6, 1($a0) -/* 072DC8 7F03E298 44876000 */ mtc1 $a3, $f12 -/* 072DCC 7F03E29C 00808025 */ move $s0, $a0 -/* 072DD0 7F03E2A0 31CF0008 */ andi $t7, $t6, 8 -/* 072DD4 7F03E2A4 11E00028 */ beqz $t7, .L7F03E348 -/* 072DD8 7F03E2A8 00001825 */ move $v1, $zero -/* 072DDC 7F03E2AC 90820000 */ lbu $v0, ($a0) -/* 072DE0 7F03E2B0 24010001 */ li $at, 1 -/* 072DE4 7F03E2B4 2606002C */ addiu $a2, $s0, 0x2c -/* 072DE8 7F03E2B8 10410005 */ beq $v0, $at, .L7F03E2D0 -/* 072DEC 7F03E2BC 24010004 */ li $at, 4 -/* 072DF0 7F03E2C0 10410003 */ beq $v0, $at, .L7F03E2D0 -/* 072DF4 7F03E2C4 24010002 */ li $at, 2 -/* 072DF8 7F03E2C8 14410002 */ bne $v0, $at, .L7F03E2D4 -/* 072DFC 7F03E2CC 00000000 */ nop -.L7F03E2D0: -/* 072E00 7F03E2D0 8E030004 */ lw $v1, 4($s0) -.L7F03E2D4: -/* 072E04 7F03E2D4 1060000C */ beqz $v1, .L7F03E308 -/* 072E08 7F03E2D8 00000000 */ nop -/* 072E0C 7F03E2DC 8C780064 */ lw $t8, 0x64($v1) -/* 072E10 7F03E2E0 33190080 */ andi $t9, $t8, 0x80 -/* 072E14 7F03E2E4 13200008 */ beqz $t9, .L7F03E308 -/* 072E18 7F03E2E8 00000000 */ nop -/* 072E1C 7F03E2EC 8C62006C */ lw $v0, 0x6c($v1) -/* 072E20 7F03E2F0 8C490000 */ lw $t1, ($v0) -/* 072E24 7F03E2F4 312A0008 */ andi $t2, $t1, 8 -/* 072E28 7F03E2F8 11400003 */ beqz $t2, .L7F03E308 -/* 072E2C 7F03E2FC 00000000 */ nop -/* 072E30 7F03E300 10000001 */ b .L7F03E308 -/* 072E34 7F03E304 244600CC */ addiu $a2, $v0, 0xcc -.L7F03E308: -/* 072E38 7F03E308 90CB0000 */ lbu $t3, ($a2) -/* 072E3C 7F03E30C 240500FF */ li $a1, 255 -/* 072E40 7F03E310 00004025 */ move $t0, $zero -/* 072E44 7F03E314 10AB0009 */ beq $a1, $t3, .L7F03E33C -/* 072E48 7F03E318 27A20050 */ addiu $v0, $sp, 0x50 -/* 072E4C 7F03E31C 00C01825 */ move $v1, $a2 -/* 072E50 7F03E320 90C40000 */ lbu $a0, ($a2) -.L7F03E324: -/* 072E54 7F03E324 AC440000 */ sw $a0, ($v0) -/* 072E58 7F03E328 90640001 */ lbu $a0, 1($v1) -/* 072E5C 7F03E32C 25080001 */ addiu $t0, $t0, 1 -/* 072E60 7F03E330 24420004 */ addiu $v0, $v0, 4 -/* 072E64 7F03E334 14A4FFFB */ bne $a1, $a0, .L7F03E324 -/* 072E68 7F03E338 24630001 */ addiu $v1, $v1, 1 -.L7F03E33C: -/* 072E6C 7F03E33C AFA80048 */ sw $t0, 0x48($sp) -/* 072E70 7F03E340 10000010 */ b .L7F03E384 -/* 072E74 7F03E344 00004025 */ move $t0, $zero -.L7F03E348: -/* 072E78 7F03E348 8E0C0014 */ lw $t4, 0x14($s0) -/* 072E7C 7F03E34C AFA00048 */ sw $zero, 0x48($sp) -/* 072E80 7F03E350 44076000 */ mfc1 $a3, $f12 -/* 072E84 7F03E354 AFAC004C */ sw $t4, 0x4c($sp) -/* 072E88 7F03E358 8E060010 */ lw $a2, 0x10($s0) -/* 072E8C 7F03E35C 8E050008 */ lw $a1, 8($s0) -/* 072E90 7F03E360 27AD0050 */ addiu $t5, $sp, 0x50 -/* 072E94 7F03E364 27AE0048 */ addiu $t6, $sp, 0x48 -/* 072E98 7F03E368 240F0007 */ li $t7, 7 -/* 072E9C 7F03E36C AFAF0018 */ sw $t7, 0x18($sp) -/* 072EA0 7F03E370 AFAE0014 */ sw $t6, 0x14($sp) -/* 072EA4 7F03E374 AFAD0010 */ sw $t5, 0x10($sp) -/* 072EA8 7F03E378 0FC2C86C */ jal sub_GAME_7F0B21B0 -/* 072EAC 7F03E37C 27A4004C */ addiu $a0, $sp, 0x4c -/* 072EB0 7F03E380 00004025 */ move $t0, $zero -.L7F03E384: -/* 072EB4 7F03E384 24180007 */ li $t8, 7 -/* 072EB8 7F03E388 AFB80010 */ sw $t8, 0x10($sp) -/* 072EBC 7F03E38C 8FA40074 */ lw $a0, 0x74($sp) -/* 072EC0 7F03E390 8FA50078 */ lw $a1, 0x78($sp) -/* 072EC4 7F03E394 27A60050 */ addiu $a2, $sp, 0x50 -/* 072EC8 7F03E398 27A70048 */ addiu $a3, $sp, 0x48 -/* 072ECC 7F03E39C 0FC2E8B5 */ jal sub_GAME_7F0BA2D4 -/* 072ED0 7F03E3A0 AFA80044 */ sw $t0, 0x44($sp) -/* 072ED4 7F03E3A4 8FB90048 */ lw $t9, 0x48($sp) -/* 072ED8 7F03E3A8 8FA80044 */ lw $t0, 0x44($sp) -/* 072EDC 7F03E3AC 27A20050 */ addiu $v0, $sp, 0x50 -/* 072EE0 7F03E3B0 1B20000B */ blez $t9, .L7F03E3E0 -/* 072EE4 7F03E3B4 240B00FF */ li $t3, 255 -/* 072EE8 7F03E3B8 02001825 */ move $v1, $s0 -/* 072EEC 7F03E3BC 8C490000 */ lw $t1, ($v0) -.L7F03E3C0: -/* 072EF0 7F03E3C0 25080001 */ addiu $t0, $t0, 1 -/* 072EF4 7F03E3C4 24420004 */ addiu $v0, $v0, 4 -/* 072EF8 7F03E3C8 A069002C */ sb $t1, 0x2c($v1) -/* 072EFC 7F03E3CC 8FAA0048 */ lw $t2, 0x48($sp) -/* 072F00 7F03E3D0 24630001 */ addiu $v1, $v1, 1 -/* 072F04 7F03E3D4 010A082A */ slt $at, $t0, $t2 -/* 072F08 7F03E3D8 5420FFF9 */ bnezl $at, .L7F03E3C0 -/* 072F0C 7F03E3DC 8C490000 */ lw $t1, ($v0) -.L7F03E3E0: -/* 072F10 7F03E3E0 02086021 */ addu $t4, $s0, $t0 -/* 072F14 7F03E3E4 A18B002C */ sb $t3, 0x2c($t4) -/* 072F18 7F03E3E8 8FBF002C */ lw $ra, 0x2c($sp) -/* 072F1C 7F03E3EC 8FB00028 */ lw $s0, 0x28($sp) -/* 072F20 7F03E3F0 27BD0070 */ addiu $sp, $sp, 0x70 -/* 072F24 7F03E3F4 03E00008 */ jr $ra -/* 072F28 7F03E3F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E3FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E3FC -/* 072F2C 7F03E3FC 8C830000 */ lw $v1, ($a0) -/* 072F30 7F03E400 3C098007 */ lui $t1, %hi(ptr_list_object_lookup_indices) -/* 072F34 7F03E404 25299C30 */ addiu $t1, %lo(ptr_list_object_lookup_indices) # addiu $t1, $t1, -0x63d0 -/* 072F38 7F03E408 04600030 */ bltz $v1, .L7F03E4CC -/* 072F3C 7F03E40C 8D220000 */ lw $v0, ($t1) -/* 072F40 7F03E410 3C0A8007 */ lui $t2, %hi(ptr_room_lookup_buffer_maybe) -/* 072F44 7F03E414 254A1618 */ addiu $t2, %lo(ptr_room_lookup_buffer_maybe) # addiu $t2, $t2, 0x1618 -/* 072F48 7F03E418 240B001E */ li $t3, 30 -/* 072F4C 7F03E41C 8D4E0000 */ lw $t6, ($t2) -.L7F03E420: -/* 072F50 7F03E420 00037840 */ sll $t7, $v1, 1 -/* 072F54 7F03E424 3C068007 */ lui $a2, %hi(dword_CODE_bss_8007161C) -/* 072F58 7F03E428 01CFC021 */ addu $t8, $t6, $t7 -/* 072F5C 7F03E42C 87050000 */ lh $a1, ($t8) -/* 072F60 7F03E430 04A20023 */ bltzl $a1, .L7F03E4C0 -/* 072F64 7F03E434 8C830004 */ lw $v1, 4($a0) -/* 072F68 7F03E438 8CC6161C */ lw $a2, %lo(dword_CODE_bss_8007161C)($a2) -/* 072F6C 7F03E43C 00003825 */ move $a3, $zero -.L7F03E440: -/* 072F70 7F03E440 0005C940 */ sll $t9, $a1, 5 -.L7F03E444: -/* 072F74 7F03E444 00D96021 */ addu $t4, $a2, $t9 -/* 072F78 7F03E448 01876821 */ addu $t5, $t4, $a3 -/* 072F7C 7F03E44C 85A30000 */ lh $v1, ($t5) -/* 072F80 7F03E450 24E70002 */ addiu $a3, $a3, 2 -/* 072F84 7F03E454 04600012 */ bltz $v1, .L7F03E4A0 -/* 072F88 7F03E458 00000000 */ nop -/* 072F8C 7F03E45C 8D280000 */ lw $t0, ($t1) -/* 072F90 7F03E460 0102082B */ sltu $at, $t0, $v0 -/* 072F94 7F03E464 10200008 */ beqz $at, .L7F03E488 -/* 072F98 7F03E468 00000000 */ nop -/* 072F9C 7F03E46C 850E0000 */ lh $t6, ($t0) -.L7F03E470: -/* 072FA0 7F03E470 106E0005 */ beq $v1, $t6, .L7F03E488 -/* 072FA4 7F03E474 00000000 */ nop -/* 072FA8 7F03E478 25080002 */ addiu $t0, $t0, 2 -/* 072FAC 7F03E47C 0102082B */ sltu $at, $t0, $v0 -/* 072FB0 7F03E480 5420FFFB */ bnezl $at, .L7F03E470 -/* 072FB4 7F03E484 850E0000 */ lh $t6, ($t0) -.L7F03E488: -/* 072FB8 7F03E488 15020005 */ bne $t0, $v0, .L7F03E4A0 -/* 072FBC 7F03E48C 00000000 */ nop -/* 072FC0 7F03E490 A4430000 */ sh $v1, ($v0) -/* 072FC4 7F03E494 3C068007 */ lui $a2, %hi(dword_CODE_bss_8007161C) -/* 072FC8 7F03E498 8CC6161C */ lw $a2, %lo(dword_CODE_bss_8007161C)($a2) -/* 072FCC 7F03E49C 24420002 */ addiu $v0, $v0, 2 -.L7F03E4A0: -/* 072FD0 7F03E4A0 54EBFFE8 */ bnel $a3, $t3, .L7F03E444 -/* 072FD4 7F03E4A4 0005C940 */ sll $t9, $a1, 5 -/* 072FD8 7F03E4A8 00057940 */ sll $t7, $a1, 5 -/* 072FDC 7F03E4AC 00CFC021 */ addu $t8, $a2, $t7 -/* 072FE0 7F03E4B0 8705001E */ lh $a1, 0x1e($t8) -/* 072FE4 7F03E4B4 04A3FFE2 */ bgezl $a1, .L7F03E440 -/* 072FE8 7F03E4B8 00003825 */ move $a3, $zero -/* 072FEC 7F03E4BC 8C830004 */ lw $v1, 4($a0) -.L7F03E4C0: -/* 072FF0 7F03E4C0 24840004 */ addiu $a0, $a0, 4 -/* 072FF4 7F03E4C4 0463FFD6 */ bgezl $v1, .L7F03E420 -/* 072FF8 7F03E4C8 8D4E0000 */ lw $t6, ($t2) -.L7F03E4CC: -/* 072FFC 7F03E4CC 2419FFFF */ li $t9, -1 -/* 073000 7F03E4D0 A4590000 */ sh $t9, ($v0) -/* 073004 7F03E4D4 8D2C0000 */ lw $t4, ($t1) -/* 073008 7F03E4D8 24420002 */ addiu $v0, $v0, 2 -/* 07300C 7F03E4DC 3C018007 */ lui $at, %hi(num_obj_position_data_entries) -/* 073010 7F03E4E0 004C6823 */ subu $t5, $v0, $t4 -/* 073014 7F03E4E4 000D7043 */ sra $t6, $t5, 1 -/* 073018 7F03E4E8 03E00008 */ jr $ra -/* 07301C 7F03E4EC AC2E9C34 */ sw $t6, %lo(num_obj_position_data_entries)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E4F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E4F0 -/* 073020 7F03E4F0 3C038004 */ lui $v1, %hi(MaxNumRooms) -/* 073024 7F03E4F4 8C6342F4 */ lw $v1, %lo(MaxNumRooms)($v1) -/* 073028 7F03E4F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 07302C 7F03E4FC AFB30014 */ sw $s3, 0x14($sp) -/* 073030 7F03E500 AFB20010 */ sw $s2, 0x10($sp) -/* 073034 7F03E504 AFB1000C */ sw $s1, 0xc($sp) -/* 073038 7F03E508 AFB00008 */ sw $s0, 8($sp) -/* 07303C 7F03E50C 1860005C */ blez $v1, .L7F03E680 -/* 073040 7F03E510 00001025 */ move $v0, $zero -/* 073044 7F03E514 3C0D8007 */ lui $t5, %hi(dword_CODE_bss_8007161C) -/* 073048 7F03E518 3C0C8007 */ lui $t4, %hi(ptr_room_lookup_buffer_maybe) -/* 07304C 7F03E51C 258C1618 */ addiu $t4, %lo(ptr_room_lookup_buffer_maybe) # addiu $t4, $t4, 0x1618 -/* 073050 7F03E520 25AD161C */ addiu $t5, %lo(dword_CODE_bss_8007161C) # addiu $t5, $t5, 0x161c -/* 073054 7F03E524 00002825 */ move $a1, $zero -/* 073058 7F03E528 2413001E */ li $s3, 30 -/* 07305C 7F03E52C 2412FFFE */ li $s2, -2 -/* 073060 7F03E530 2411001E */ li $s1, 30 -/* 073064 7F03E534 2410FFFF */ li $s0, -1 -.L7F03E538: -/* 073068 7F03E538 8D8E0000 */ lw $t6, ($t4) -/* 07306C 7F03E53C 24420001 */ addiu $v0, $v0, 1 -/* 073070 7F03E540 01C57821 */ addu $t7, $t6, $a1 -/* 073074 7F03E544 85E40000 */ lh $a0, ($t7) -/* 073078 7F03E548 0482004B */ bltzl $a0, .L7F03E678 -/* 07307C 7F03E54C 0043082A */ slt $at, $v0, $v1 -/* 073080 7F03E550 8DB80000 */ lw $t8, ($t5) -/* 073084 7F03E554 0004C940 */ sll $t9, $a0, 5 -/* 073088 7F03E558 03197021 */ addu $t6, $t8, $t9 -/* 07308C 7F03E55C 85C6001E */ lh $a2, 0x1e($t6) -/* 073090 7F03E560 04C00044 */ bltz $a2, .L7F03E674 -/* 073094 7F03E564 00004025 */ move $t0, $zero -.L7F03E568: -/* 073098 7F03E568 8DA30000 */ lw $v1, ($t5) -.L7F03E56C: -/* 07309C 7F03E56C 00047940 */ sll $t7, $a0, 5 -/* 0730A0 7F03E570 00067140 */ sll $t6, $a2, 5 -/* 0730A4 7F03E574 006FC021 */ addu $t8, $v1, $t7 -/* 0730A8 7F03E578 03083821 */ addu $a3, $t8, $t0 -/* 0730AC 7F03E57C 84F90000 */ lh $t9, ($a3) -/* 0730B0 7F03E580 25080002 */ addiu $t0, $t0, 2 -/* 0730B4 7F03E584 00005025 */ move $t2, $zero -/* 0730B8 7F03E588 0721002C */ bgez $t9, .L7F03E63C -/* 0730BC 7F03E58C 006E5821 */ addu $t3, $v1, $t6 -.L7F03E590: -/* 0730C0 7F03E590 85630000 */ lh $v1, ($t3) -/* 0730C4 7F03E594 04620009 */ bltzl $v1, .L7F03E5BC -/* 0730C8 7F03E598 254A0002 */ addiu $t2, $t2, 2 -/* 0730CC 7F03E59C A4E30000 */ sh $v1, ($a3) -/* 0730D0 7F03E5A0 8DAF0000 */ lw $t7, ($t5) -/* 0730D4 7F03E5A4 0006C140 */ sll $t8, $a2, 5 -/* 0730D8 7F03E5A8 01F8C821 */ addu $t9, $t7, $t8 -/* 0730DC 7F03E5AC 032A7021 */ addu $t6, $t9, $t2 -/* 0730E0 7F03E5B0 10000004 */ b .L7F03E5C4 -/* 0730E4 7F03E5B4 A5D00000 */ sh $s0, ($t6) -/* 0730E8 7F03E5B8 254A0002 */ addiu $t2, $t2, 2 -.L7F03E5BC: -/* 0730EC 7F03E5BC 1553FFF4 */ bne $t2, $s3, .L7F03E590 -/* 0730F0 7F03E5C0 256B0002 */ addiu $t3, $t3, 2 -.L7F03E5C4: -/* 0730F4 7F03E5C4 2941001E */ slti $at, $t2, 0x1e -/* 0730F8 7F03E5C8 1020000C */ beqz $at, .L7F03E5FC -/* 0730FC 7F03E5CC 00000000 */ nop -/* 073100 7F03E5D0 8DAF0000 */ lw $t7, ($t5) -/* 073104 7F03E5D4 0006C140 */ sll $t8, $a2, 5 -/* 073108 7F03E5D8 01F8C821 */ addu $t9, $t7, $t8 -/* 07310C 7F03E5DC 032A5821 */ addu $t3, $t9, $t2 -.L7F03E5E0: -/* 073110 7F03E5E0 856E0000 */ lh $t6, ($t3) -/* 073114 7F03E5E4 05C10005 */ bgez $t6, .L7F03E5FC -/* 073118 7F03E5E8 00000000 */ nop -/* 07311C 7F03E5EC 254A0002 */ addiu $t2, $t2, 2 -/* 073120 7F03E5F0 2941001E */ slti $at, $t2, 0x1e -/* 073124 7F03E5F4 1420FFFA */ bnez $at, .L7F03E5E0 -/* 073128 7F03E5F8 256B0002 */ addiu $t3, $t3, 2 -.L7F03E5FC: -/* 07312C 7F03E5FC 55510010 */ bnel $t2, $s1, .L7F03E640 -/* 073130 7F03E600 2901001E */ slti $at, $t0, 0x1e -/* 073134 7F03E604 8DAF0000 */ lw $t7, ($t5) -/* 073138 7F03E608 00064940 */ sll $t1, $a2, 5 -/* 07313C 7F03E60C 00043940 */ sll $a3, $a0, 5 -/* 073140 7F03E610 01E9C021 */ addu $t8, $t7, $t1 -/* 073144 7F03E614 A7120000 */ sh $s2, ($t8) -/* 073148 7F03E618 8DA30000 */ lw $v1, ($t5) -/* 07314C 7F03E61C 0069C821 */ addu $t9, $v1, $t1 -/* 073150 7F03E620 872E001E */ lh $t6, 0x1e($t9) -/* 073154 7F03E624 00677821 */ addu $t7, $v1, $a3 -/* 073158 7F03E628 A5EE001E */ sh $t6, 0x1e($t7) -/* 07315C 7F03E62C 8DB80000 */ lw $t8, ($t5) -/* 073160 7F03E630 0307C821 */ addu $t9, $t8, $a3 -/* 073164 7F03E634 8726001E */ lh $a2, 0x1e($t9) -/* 073168 7F03E638 04C00003 */ bltz $a2, .L7F03E648 -.L7F03E63C: -/* 07316C 7F03E63C 2901001E */ slti $at, $t0, 0x1e -.L7F03E640: -/* 073170 7F03E640 5420FFCA */ bnezl $at, .L7F03E56C -/* 073174 7F03E644 8DA30000 */ lw $v1, ($t5) -.L7F03E648: -/* 073178 7F03E648 04C00006 */ bltz $a2, .L7F03E664 -/* 07317C 7F03E64C 00000000 */ nop -/* 073180 7F03E650 8DAE0000 */ lw $t6, ($t5) -/* 073184 7F03E654 00067940 */ sll $t7, $a2, 5 -/* 073188 7F03E658 00C02025 */ move $a0, $a2 -/* 07318C 7F03E65C 01CFC021 */ addu $t8, $t6, $t7 -/* 073190 7F03E660 8706001E */ lh $a2, 0x1e($t8) -.L7F03E664: -/* 073194 7F03E664 04C3FFC0 */ bgezl $a2, .L7F03E568 -/* 073198 7F03E668 00004025 */ move $t0, $zero -/* 07319C 7F03E66C 3C038004 */ lui $v1, %hi(MaxNumRooms) -/* 0731A0 7F03E670 8C6342F4 */ lw $v1, %lo(MaxNumRooms)($v1) -.L7F03E674: -/* 0731A4 7F03E674 0043082A */ slt $at, $v0, $v1 -.L7F03E678: -/* 0731A8 7F03E678 1420FFAF */ bnez $at, .L7F03E538 -/* 0731AC 7F03E67C 24A50002 */ addiu $a1, $a1, 2 -.L7F03E680: -/* 0731B0 7F03E680 8FB00008 */ lw $s0, 8($sp) -/* 0731B4 7F03E684 8FB1000C */ lw $s1, 0xc($sp) -/* 0731B8 7F03E688 8FB20010 */ lw $s2, 0x10($sp) -/* 0731BC 7F03E68C 8FB30014 */ lw $s3, 0x14($sp) -/* 0731C0 7F03E690 03E00008 */ jr $ra -/* 0731C4 7F03E694 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void removed_debug_roomblocks_feature(void) { - -} -#else -GLOBAL_ASM( -.text -glabel removed_debug_roomblocks_feature -/* 0731C8 7F03E698 03E00008 */ jr $ra -/* 0731CC 7F03E69C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E6A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E6A0 -/* 0731D0 7F03E6A0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0731D4 7F03E6A4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0731D8 7F03E6A8 AFB10018 */ sw $s1, 0x18($sp) -/* 0731DC 7F03E6AC AFB00014 */ sw $s0, 0x14($sp) -/* 0731E0 7F03E6B0 8C820004 */ lw $v0, 4($a0) -/* 0731E4 7F03E6B4 00808825 */ move $s1, $a0 -/* 0731E8 7F03E6B8 3C108003 */ lui $s0, %hi(D_80030B00) -/* 0731EC 7F03E6BC 8C4E0064 */ lw $t6, 0x64($v0) -/* 0731F0 7F03E6C0 31CF0001 */ andi $t7, $t6, 1 -/* 0731F4 7F03E6C4 51E00010 */ beql $t7, $zero, .L7F03E708 -/* 0731F8 7F03E6C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0731FC 7F03E6CC 8E100B00 */ lw $s0, %lo(D_80030B00)($s0) -/* 073200 7F03E6D0 5200000D */ beql $s0, $zero, .L7F03E708 -/* 073204 7F03E6D4 8FBF001C */ lw $ra, 0x1c($sp) -/* 073208 7F03E6D8 8E180004 */ lw $t8, 4($s0) -.L7F03E6DC: -/* 07320C 7F03E6DC 56380007 */ bnel $s1, $t8, .L7F03E6FC -/* 073210 7F03E6E0 8E10000C */ lw $s0, 0xc($s0) -/* 073214 7F03E6E4 8E040008 */ lw $a0, 8($s0) -/* 073218 7F03E6E8 50800004 */ beql $a0, $zero, .L7F03E6FC -/* 07321C 7F03E6EC 8E10000C */ lw $s0, 0xc($s0) -/* 073220 7F03E6F0 0FC15667 */ jal sub_GAME_7F05599C -/* 073224 7F03E6F4 00000000 */ nop -/* 073228 7F03E6F8 8E10000C */ lw $s0, 0xc($s0) -.L7F03E6FC: -/* 07322C 7F03E6FC 5600FFF7 */ bnezl $s0, .L7F03E6DC -/* 073230 7F03E700 8E180004 */ lw $t8, 4($s0) -/* 073234 7F03E704 8FBF001C */ lw $ra, 0x1c($sp) -.L7F03E708: -/* 073238 7F03E708 8FB00014 */ lw $s0, 0x14($sp) -/* 07323C 7F03E70C 8FB10018 */ lw $s1, 0x18($sp) -/* 073240 7F03E710 03E00008 */ jr $ra -/* 073244 7F03E714 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E718(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E718 -/* 073248 7F03E718 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 07324C 7F03E71C AFBF001C */ sw $ra, 0x1c($sp) -/* 073250 7F03E720 AFB10018 */ sw $s1, 0x18($sp) -/* 073254 7F03E724 AFB00014 */ sw $s0, 0x14($sp) -/* 073258 7F03E728 8C8E0064 */ lw $t6, 0x64($a0) -/* 07325C 7F03E72C 00808825 */ move $s1, $a0 -/* 073260 7F03E730 3C108003 */ lui $s0, %hi(D_80030B04) -/* 073264 7F03E734 31CF2000 */ andi $t7, $t6, 0x2000 -/* 073268 7F03E738 51E00017 */ beql $t7, $zero, .L7F03E798 -/* 07326C 7F03E73C 24020001 */ li $v0, 1 -/* 073270 7F03E740 8E100B04 */ lw $s0, %lo(D_80030B04)($s0) -/* 073274 7F03E744 52000014 */ beql $s0, $zero, .L7F03E798 -/* 073278 7F03E748 24020001 */ li $v0, 1 -/* 07327C 7F03E74C 8E180004 */ lw $t8, 4($s0) -.L7F03E750: -/* 073280 7F03E750 5638000E */ bnel $s1, $t8, .L7F03E78C -/* 073284 7F03E754 8E10000C */ lw $s0, 0xc($s0) -/* 073288 7F03E758 8E040008 */ lw $a0, 8($s0) -/* 07328C 7F03E75C 5080000B */ beql $a0, $zero, .L7F03E78C -/* 073290 7F03E760 8E10000C */ lw $s0, 0xc($s0) -/* 073294 7F03E764 8C990010 */ lw $t9, 0x10($a0) -/* 073298 7F03E768 53200008 */ beql $t9, $zero, .L7F03E78C -/* 07329C 7F03E76C 8E10000C */ lw $s0, 0xc($s0) -/* 0732A0 7F03E770 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 0732A4 7F03E774 00000000 */ nop -/* 0732A8 7F03E778 50400004 */ beql $v0, $zero, .L7F03E78C -/* 0732AC 7F03E77C 8E10000C */ lw $s0, 0xc($s0) -/* 0732B0 7F03E780 10000005 */ b .L7F03E798 -/* 0732B4 7F03E784 00001025 */ move $v0, $zero -/* 0732B8 7F03E788 8E10000C */ lw $s0, 0xc($s0) -.L7F03E78C: -/* 0732BC 7F03E78C 5600FFF0 */ bnezl $s0, .L7F03E750 -/* 0732C0 7F03E790 8E180004 */ lw $t8, 4($s0) -/* 0732C4 7F03E794 24020001 */ li $v0, 1 -.L7F03E798: -/* 0732C8 7F03E798 8FBF001C */ lw $ra, 0x1c($sp) -/* 0732CC 7F03E79C 8FB00014 */ lw $s0, 0x14($sp) -/* 0732D0 7F03E7A0 8FB10018 */ lw $s1, 0x18($sp) -/* 0732D4 7F03E7A4 03E00008 */ jr $ra -/* 0732D8 7F03E7A8 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E7AC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E7AC -/* 0732DC 7F03E7AC 8C8E000C */ lw $t6, 0xc($a0) -/* 0732E0 7F03E7B0 3C028003 */ lui $v0, %hi(D_80030B08) -/* 0732E4 7F03E7B4 31CF0400 */ andi $t7, $t6, 0x400 -/* 0732E8 7F03E7B8 51E0001B */ beql $t7, $zero, .L7F03E828 -/* 0732EC 7F03E7BC 24020001 */ li $v0, 1 -/* 0732F0 7F03E7C0 8C420B08 */ lw $v0, %lo(D_80030B08)($v0) -/* 0732F4 7F03E7C4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0732F8 7F03E7C8 50400017 */ beql $v0, $zero, .L7F03E828 -/* 0732FC 7F03E7CC 24020001 */ li $v0, 1 -/* 073300 7F03E7D0 44810000 */ mtc1 $at, $f0 -/* 073304 7F03E7D4 00000000 */ nop -/* 073308 7F03E7D8 8C580004 */ lw $t8, 4($v0) -.L7F03E7DC: -/* 07330C 7F03E7DC 5498000F */ bnel $a0, $t8, .L7F03E81C -/* 073310 7F03E7E0 8C420010 */ lw $v0, 0x10($v0) -/* 073314 7F03E7E4 8C43000C */ lw $v1, 0xc($v0) -/* 073318 7F03E7E8 5060000C */ beql $v1, $zero, .L7F03E81C -/* 07331C 7F03E7EC 8C420010 */ lw $v0, 0x10($v0) -/* 073320 7F03E7F0 8C790010 */ lw $t9, 0x10($v1) -/* 073324 7F03E7F4 53200009 */ beql $t9, $zero, .L7F03E81C -/* 073328 7F03E7F8 8C420010 */ lw $v0, 0x10($v0) -/* 07332C 7F03E7FC C46400B4 */ lwc1 $f4, 0xb4($v1) -/* 073330 7F03E800 4600203E */ c.le.s $f4, $f0 -/* 073334 7F03E804 00000000 */ nop -/* 073338 7F03E808 45020004 */ bc1fl .L7F03E81C -/* 07333C 7F03E80C 8C420010 */ lw $v0, 0x10($v0) -/* 073340 7F03E810 03E00008 */ jr $ra -/* 073344 7F03E814 00001025 */ move $v0, $zero - -/* 073348 7F03E818 8C420010 */ lw $v0, 0x10($v0) -.L7F03E81C: -/* 07334C 7F03E81C 5440FFEF */ bnezl $v0, .L7F03E7DC -/* 073350 7F03E820 8C580004 */ lw $t8, 4($v0) -/* 073354 7F03E824 24020001 */ li $v0, 1 -.L7F03E828: -/* 073358 7F03E828 03E00008 */ jr $ra -/* 07335C 7F03E82C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E830(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E830 -/* 073360 7F03E830 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 073364 7F03E834 AFBF0014 */ sw $ra, 0x14($sp) -/* 073368 7F03E838 8C820010 */ lw $v0, 0x10($a0) -/* 07336C 7F03E83C 8C440014 */ lw $a0, 0x14($v0) -/* 073370 7F03E840 8C450008 */ lw $a1, 8($v0) -/* 073374 7F03E844 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 073378 7F03E848 8C460010 */ lw $a2, 0x10($v0) -/* 07337C 7F03E84C 8FBF0014 */ lw $ra, 0x14($sp) -/* 073380 7F03E850 27BD0018 */ addiu $sp, $sp, 0x18 -/* 073384 7F03E854 03E00008 */ jr $ra -/* 073388 7F03E858 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E85C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E85C -/* 07338C 7F03E85C 03E00008 */ jr $ra -/* 073390 7F03E860 C4800004 */ lwc1 $f0, 4($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E864(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E864 -/* 073394 7F03E864 03E00008 */ jr $ra -/* 073398 7F03E868 C480000C */ lwc1 $f0, 0xc($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E86C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E86C -/* 07339C 7F03E86C 03E00008 */ jr $ra -/* 0733A0 7F03E870 C4800010 */ lwc1 $f0, 0x10($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E874(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E874 -/* 0733A4 7F03E874 03E00008 */ jr $ra -/* 0733A8 7F03E878 C4800014 */ lwc1 $f0, 0x14($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E87C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E87C -/* 0733AC 7F03E87C 44806000 */ mtc1 $zero, $f12 -/* 0733B0 7F03E880 C4A00000 */ lwc1 $f0, ($a1) -/* 0733B4 7F03E884 4600603E */ c.le.s $f12, $f0 -/* 0733B8 7F03E888 00000000 */ nop -/* 0733BC 7F03E88C 45020006 */ bc1fl .L7F03E8A8 -/* 0733C0 7F03E890 C4880008 */ lwc1 $f8, 8($a0) -/* 0733C4 7F03E894 C4840004 */ lwc1 $f4, 4($a0) -/* 0733C8 7F03E898 46002182 */ mul.s $f6, $f4, $f0 -/* 0733CC 7F03E89C 10000004 */ b .L7F03E8B0 -/* 0733D0 7F03E8A0 46066080 */ add.s $f2, $f12, $f6 -/* 0733D4 7F03E8A4 C4880008 */ lwc1 $f8, 8($a0) -.L7F03E8A8: -/* 0733D8 7F03E8A8 46004282 */ mul.s $f10, $f8, $f0 -/* 0733DC 7F03E8AC 460A6080 */ add.s $f2, $f12, $f10 -.L7F03E8B0: -/* 0733E0 7F03E8B0 C4A00010 */ lwc1 $f0, 0x10($a1) -/* 0733E4 7F03E8B4 4600603E */ c.le.s $f12, $f0 -/* 0733E8 7F03E8B8 00000000 */ nop -/* 0733EC 7F03E8BC 45020006 */ bc1fl .L7F03E8D8 -/* 0733F0 7F03E8C0 C4840010 */ lwc1 $f4, 0x10($a0) -/* 0733F4 7F03E8C4 C490000C */ lwc1 $f16, 0xc($a0) -/* 0733F8 7F03E8C8 46008482 */ mul.s $f18, $f16, $f0 -/* 0733FC 7F03E8CC 10000004 */ b .L7F03E8E0 -/* 073400 7F03E8D0 46121080 */ add.s $f2, $f2, $f18 -/* 073404 7F03E8D4 C4840010 */ lwc1 $f4, 0x10($a0) -.L7F03E8D8: -/* 073408 7F03E8D8 46002182 */ mul.s $f6, $f4, $f0 -/* 07340C 7F03E8DC 46061080 */ add.s $f2, $f2, $f6 -.L7F03E8E0: -/* 073410 7F03E8E0 C4A00020 */ lwc1 $f0, 0x20($a1) -/* 073414 7F03E8E4 4600603E */ c.le.s $f12, $f0 -/* 073418 7F03E8E8 00000000 */ nop -/* 07341C 7F03E8EC 45020007 */ bc1fl .L7F03E90C -/* 073420 7F03E8F0 C4900018 */ lwc1 $f16, 0x18($a0) -/* 073424 7F03E8F4 C4880014 */ lwc1 $f8, 0x14($a0) -/* 073428 7F03E8F8 46004282 */ mul.s $f10, $f8, $f0 -/* 07342C 7F03E8FC 460A1080 */ add.s $f2, $f2, $f10 -/* 073430 7F03E900 03E00008 */ jr $ra -/* 073434 7F03E904 46001006 */ mov.s $f0, $f2 - -/* 073438 7F03E908 C4900018 */ lwc1 $f16, 0x18($a0) -.L7F03E90C: -/* 07343C 7F03E90C 46008482 */ mul.s $f18, $f16, $f0 -/* 073440 7F03E910 46121080 */ add.s $f2, $f2, $f18 -/* 073444 7F03E914 03E00008 */ jr $ra -/* 073448 7F03E918 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E91C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E91C -/* 07344C 7F03E91C 44806000 */ mtc1 $zero, $f12 -/* 073450 7F03E920 C4A00000 */ lwc1 $f0, ($a1) -/* 073454 7F03E924 460C003E */ c.le.s $f0, $f12 -/* 073458 7F03E928 00000000 */ nop -/* 07345C 7F03E92C 45020006 */ bc1fl .L7F03E948 -/* 073460 7F03E930 C4880008 */ lwc1 $f8, 8($a0) -/* 073464 7F03E934 C4840004 */ lwc1 $f4, 4($a0) -/* 073468 7F03E938 46002182 */ mul.s $f6, $f4, $f0 -/* 07346C 7F03E93C 10000004 */ b .L7F03E950 -/* 073470 7F03E940 46066080 */ add.s $f2, $f12, $f6 -/* 073474 7F03E944 C4880008 */ lwc1 $f8, 8($a0) -.L7F03E948: -/* 073478 7F03E948 46004282 */ mul.s $f10, $f8, $f0 -/* 07347C 7F03E94C 460A6080 */ add.s $f2, $f12, $f10 -.L7F03E950: -/* 073480 7F03E950 C4A00010 */ lwc1 $f0, 0x10($a1) -/* 073484 7F03E954 460C003E */ c.le.s $f0, $f12 -/* 073488 7F03E958 00000000 */ nop -/* 07348C 7F03E95C 45020006 */ bc1fl .L7F03E978 -/* 073490 7F03E960 C4840010 */ lwc1 $f4, 0x10($a0) -/* 073494 7F03E964 C490000C */ lwc1 $f16, 0xc($a0) -/* 073498 7F03E968 46008482 */ mul.s $f18, $f16, $f0 -/* 07349C 7F03E96C 10000004 */ b .L7F03E980 -/* 0734A0 7F03E970 46121080 */ add.s $f2, $f2, $f18 -/* 0734A4 7F03E974 C4840010 */ lwc1 $f4, 0x10($a0) -.L7F03E978: -/* 0734A8 7F03E978 46002182 */ mul.s $f6, $f4, $f0 -/* 0734AC 7F03E97C 46061080 */ add.s $f2, $f2, $f6 -.L7F03E980: -/* 0734B0 7F03E980 C4A00020 */ lwc1 $f0, 0x20($a1) -/* 0734B4 7F03E984 460C003E */ c.le.s $f0, $f12 -/* 0734B8 7F03E988 00000000 */ nop -/* 0734BC 7F03E98C 45020007 */ bc1fl .L7F03E9AC -/* 0734C0 7F03E990 C4900018 */ lwc1 $f16, 0x18($a0) -/* 0734C4 7F03E994 C4880014 */ lwc1 $f8, 0x14($a0) -/* 0734C8 7F03E998 46004282 */ mul.s $f10, $f8, $f0 -/* 0734CC 7F03E99C 460A1080 */ add.s $f2, $f2, $f10 -/* 0734D0 7F03E9A0 03E00008 */ jr $ra -/* 0734D4 7F03E9A4 46001006 */ mov.s $f0, $f2 - -/* 0734D8 7F03E9A8 C4900018 */ lwc1 $f16, 0x18($a0) -.L7F03E9AC: -/* 0734DC 7F03E9AC 46008482 */ mul.s $f18, $f16, $f0 -/* 0734E0 7F03E9B0 46121080 */ add.s $f2, $f2, $f18 -/* 0734E4 7F03E9B4 03E00008 */ jr $ra -/* 0734E8 7F03E9B8 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03E9BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03E9BC -/* 0734EC 7F03E9BC 44806000 */ mtc1 $zero, $f12 -/* 0734F0 7F03E9C0 C4A00004 */ lwc1 $f0, 4($a1) -/* 0734F4 7F03E9C4 4600603E */ c.le.s $f12, $f0 -/* 0734F8 7F03E9C8 00000000 */ nop -/* 0734FC 7F03E9CC 45020006 */ bc1fl .L7F03E9E8 -/* 073500 7F03E9D0 C4880008 */ lwc1 $f8, 8($a0) -/* 073504 7F03E9D4 C4840004 */ lwc1 $f4, 4($a0) -/* 073508 7F03E9D8 46002182 */ mul.s $f6, $f4, $f0 -/* 07350C 7F03E9DC 10000004 */ b .L7F03E9F0 -/* 073510 7F03E9E0 46066080 */ add.s $f2, $f12, $f6 -/* 073514 7F03E9E4 C4880008 */ lwc1 $f8, 8($a0) -.L7F03E9E8: -/* 073518 7F03E9E8 46004282 */ mul.s $f10, $f8, $f0 -/* 07351C 7F03E9EC 460A6080 */ add.s $f2, $f12, $f10 -.L7F03E9F0: -/* 073520 7F03E9F0 C4A00014 */ lwc1 $f0, 0x14($a1) -/* 073524 7F03E9F4 4600603E */ c.le.s $f12, $f0 -/* 073528 7F03E9F8 00000000 */ nop -/* 07352C 7F03E9FC 45020006 */ bc1fl .L7F03EA18 -/* 073530 7F03EA00 C4840010 */ lwc1 $f4, 0x10($a0) -/* 073534 7F03EA04 C490000C */ lwc1 $f16, 0xc($a0) -/* 073538 7F03EA08 46008482 */ mul.s $f18, $f16, $f0 -/* 07353C 7F03EA0C 10000004 */ b .L7F03EA20 -/* 073540 7F03EA10 46121080 */ add.s $f2, $f2, $f18 -/* 073544 7F03EA14 C4840010 */ lwc1 $f4, 0x10($a0) -.L7F03EA18: -/* 073548 7F03EA18 46002182 */ mul.s $f6, $f4, $f0 -/* 07354C 7F03EA1C 46061080 */ add.s $f2, $f2, $f6 -.L7F03EA20: -/* 073550 7F03EA20 C4A00024 */ lwc1 $f0, 0x24($a1) -/* 073554 7F03EA24 4600603E */ c.le.s $f12, $f0 -/* 073558 7F03EA28 00000000 */ nop -/* 07355C 7F03EA2C 45020007 */ bc1fl .L7F03EA4C -/* 073560 7F03EA30 C4900018 */ lwc1 $f16, 0x18($a0) -/* 073564 7F03EA34 C4880014 */ lwc1 $f8, 0x14($a0) -/* 073568 7F03EA38 46004282 */ mul.s $f10, $f8, $f0 -/* 07356C 7F03EA3C 460A1080 */ add.s $f2, $f2, $f10 -/* 073570 7F03EA40 03E00008 */ jr $ra -/* 073574 7F03EA44 46001006 */ mov.s $f0, $f2 - -/* 073578 7F03EA48 C4900018 */ lwc1 $f16, 0x18($a0) -.L7F03EA4C: -/* 07357C 7F03EA4C 46008482 */ mul.s $f18, $f16, $f0 -/* 073580 7F03EA50 46121080 */ add.s $f2, $f2, $f18 -/* 073584 7F03EA54 03E00008 */ jr $ra -/* 073588 7F03EA58 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03EA5C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03EA5C -/* 07358C 7F03EA5C 44806000 */ mtc1 $zero, $f12 -/* 073590 7F03EA60 C4A00004 */ lwc1 $f0, 4($a1) -/* 073594 7F03EA64 460C003E */ c.le.s $f0, $f12 -/* 073598 7F03EA68 00000000 */ nop -/* 07359C 7F03EA6C 45020006 */ bc1fl .L7F03EA88 -/* 0735A0 7F03EA70 C4880008 */ lwc1 $f8, 8($a0) -/* 0735A4 7F03EA74 C4840004 */ lwc1 $f4, 4($a0) -/* 0735A8 7F03EA78 46002182 */ mul.s $f6, $f4, $f0 -/* 0735AC 7F03EA7C 10000004 */ b .L7F03EA90 -/* 0735B0 7F03EA80 46066080 */ add.s $f2, $f12, $f6 -/* 0735B4 7F03EA84 C4880008 */ lwc1 $f8, 8($a0) -.L7F03EA88: -/* 0735B8 7F03EA88 46004282 */ mul.s $f10, $f8, $f0 -/* 0735BC 7F03EA8C 460A6080 */ add.s $f2, $f12, $f10 -.L7F03EA90: -/* 0735C0 7F03EA90 C4A00014 */ lwc1 $f0, 0x14($a1) -/* 0735C4 7F03EA94 460C003E */ c.le.s $f0, $f12 -/* 0735C8 7F03EA98 00000000 */ nop -/* 0735CC 7F03EA9C 45020006 */ bc1fl .L7F03EAB8 -/* 0735D0 7F03EAA0 C4840010 */ lwc1 $f4, 0x10($a0) -/* 0735D4 7F03EAA4 C490000C */ lwc1 $f16, 0xc($a0) -/* 0735D8 7F03EAA8 46008482 */ mul.s $f18, $f16, $f0 -/* 0735DC 7F03EAAC 10000004 */ b .L7F03EAC0 -/* 0735E0 7F03EAB0 46121080 */ add.s $f2, $f2, $f18 -/* 0735E4 7F03EAB4 C4840010 */ lwc1 $f4, 0x10($a0) -.L7F03EAB8: -/* 0735E8 7F03EAB8 46002182 */ mul.s $f6, $f4, $f0 -/* 0735EC 7F03EABC 46061080 */ add.s $f2, $f2, $f6 -.L7F03EAC0: -/* 0735F0 7F03EAC0 C4A00024 */ lwc1 $f0, 0x24($a1) -/* 0735F4 7F03EAC4 460C003E */ c.le.s $f0, $f12 -/* 0735F8 7F03EAC8 00000000 */ nop -/* 0735FC 7F03EACC 45020007 */ bc1fl .L7F03EAEC -/* 073600 7F03EAD0 C4900018 */ lwc1 $f16, 0x18($a0) -/* 073604 7F03EAD4 C4880014 */ lwc1 $f8, 0x14($a0) -/* 073608 7F03EAD8 46004282 */ mul.s $f10, $f8, $f0 -/* 07360C 7F03EADC 460A1080 */ add.s $f2, $f2, $f10 -/* 073610 7F03EAE0 03E00008 */ jr $ra -/* 073614 7F03EAE4 46001006 */ mov.s $f0, $f2 - -/* 073618 7F03EAE8 C4900018 */ lwc1 $f16, 0x18($a0) -.L7F03EAEC: -/* 07361C 7F03EAEC 46008482 */ mul.s $f18, $f16, $f0 -/* 073620 7F03EAF0 46121080 */ add.s $f2, $f2, $f18 -/* 073624 7F03EAF4 03E00008 */ jr $ra -/* 073628 7F03EAF8 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03EAFC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03EAFC -/* 07362C 7F03EAFC 44806000 */ mtc1 $zero, $f12 -/* 073630 7F03EB00 C4A00008 */ lwc1 $f0, 8($a1) -/* 073634 7F03EB04 4600603E */ c.le.s $f12, $f0 -/* 073638 7F03EB08 00000000 */ nop -/* 07363C 7F03EB0C 45020006 */ bc1fl .L7F03EB28 -/* 073640 7F03EB10 C4880008 */ lwc1 $f8, 8($a0) -/* 073644 7F03EB14 C4840004 */ lwc1 $f4, 4($a0) -/* 073648 7F03EB18 46002182 */ mul.s $f6, $f4, $f0 -/* 07364C 7F03EB1C 10000004 */ b .L7F03EB30 -/* 073650 7F03EB20 46066080 */ add.s $f2, $f12, $f6 -/* 073654 7F03EB24 C4880008 */ lwc1 $f8, 8($a0) -.L7F03EB28: -/* 073658 7F03EB28 46004282 */ mul.s $f10, $f8, $f0 -/* 07365C 7F03EB2C 460A6080 */ add.s $f2, $f12, $f10 -.L7F03EB30: -/* 073660 7F03EB30 C4A00018 */ lwc1 $f0, 0x18($a1) -/* 073664 7F03EB34 4600603E */ c.le.s $f12, $f0 -/* 073668 7F03EB38 00000000 */ nop -/* 07366C 7F03EB3C 45020006 */ bc1fl .L7F03EB58 -/* 073670 7F03EB40 C4840010 */ lwc1 $f4, 0x10($a0) -/* 073674 7F03EB44 C490000C */ lwc1 $f16, 0xc($a0) -/* 073678 7F03EB48 46008482 */ mul.s $f18, $f16, $f0 -/* 07367C 7F03EB4C 10000004 */ b .L7F03EB60 -/* 073680 7F03EB50 46121080 */ add.s $f2, $f2, $f18 -/* 073684 7F03EB54 C4840010 */ lwc1 $f4, 0x10($a0) -.L7F03EB58: -/* 073688 7F03EB58 46002182 */ mul.s $f6, $f4, $f0 -/* 07368C 7F03EB5C 46061080 */ add.s $f2, $f2, $f6 -.L7F03EB60: -/* 073690 7F03EB60 C4A00028 */ lwc1 $f0, 0x28($a1) -/* 073694 7F03EB64 4600603E */ c.le.s $f12, $f0 -/* 073698 7F03EB68 00000000 */ nop -/* 07369C 7F03EB6C 45020007 */ bc1fl .L7F03EB8C -/* 0736A0 7F03EB70 C4900018 */ lwc1 $f16, 0x18($a0) -/* 0736A4 7F03EB74 C4880014 */ lwc1 $f8, 0x14($a0) -/* 0736A8 7F03EB78 46004282 */ mul.s $f10, $f8, $f0 -/* 0736AC 7F03EB7C 460A1080 */ add.s $f2, $f2, $f10 -/* 0736B0 7F03EB80 03E00008 */ jr $ra -/* 0736B4 7F03EB84 46001006 */ mov.s $f0, $f2 - -/* 0736B8 7F03EB88 C4900018 */ lwc1 $f16, 0x18($a0) -.L7F03EB8C: -/* 0736BC 7F03EB8C 46008482 */ mul.s $f18, $f16, $f0 -/* 0736C0 7F03EB90 46121080 */ add.s $f2, $f2, $f18 -/* 0736C4 7F03EB94 03E00008 */ jr $ra -/* 0736C8 7F03EB98 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03EB9C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03EB9C -/* 0736CC 7F03EB9C 44806000 */ mtc1 $zero, $f12 -/* 0736D0 7F03EBA0 C4A00008 */ lwc1 $f0, 8($a1) -/* 0736D4 7F03EBA4 460C003E */ c.le.s $f0, $f12 -/* 0736D8 7F03EBA8 00000000 */ nop -/* 0736DC 7F03EBAC 45020006 */ bc1fl .L7F03EBC8 -/* 0736E0 7F03EBB0 C4880008 */ lwc1 $f8, 8($a0) -/* 0736E4 7F03EBB4 C4840004 */ lwc1 $f4, 4($a0) -/* 0736E8 7F03EBB8 46002182 */ mul.s $f6, $f4, $f0 -/* 0736EC 7F03EBBC 10000004 */ b .L7F03EBD0 -/* 0736F0 7F03EBC0 46066080 */ add.s $f2, $f12, $f6 -/* 0736F4 7F03EBC4 C4880008 */ lwc1 $f8, 8($a0) -.L7F03EBC8: -/* 0736F8 7F03EBC8 46004282 */ mul.s $f10, $f8, $f0 -/* 0736FC 7F03EBCC 460A6080 */ add.s $f2, $f12, $f10 -.L7F03EBD0: -/* 073700 7F03EBD0 C4A00018 */ lwc1 $f0, 0x18($a1) -/* 073704 7F03EBD4 460C003E */ c.le.s $f0, $f12 -/* 073708 7F03EBD8 00000000 */ nop -/* 07370C 7F03EBDC 45020006 */ bc1fl .L7F03EBF8 -/* 073710 7F03EBE0 C4840010 */ lwc1 $f4, 0x10($a0) -/* 073714 7F03EBE4 C490000C */ lwc1 $f16, 0xc($a0) -/* 073718 7F03EBE8 46008482 */ mul.s $f18, $f16, $f0 -/* 07371C 7F03EBEC 10000004 */ b .L7F03EC00 -/* 073720 7F03EBF0 46121080 */ add.s $f2, $f2, $f18 -/* 073724 7F03EBF4 C4840010 */ lwc1 $f4, 0x10($a0) -.L7F03EBF8: -/* 073728 7F03EBF8 46002182 */ mul.s $f6, $f4, $f0 -/* 07372C 7F03EBFC 46061080 */ add.s $f2, $f2, $f6 -.L7F03EC00: -/* 073730 7F03EC00 C4A00028 */ lwc1 $f0, 0x28($a1) -/* 073734 7F03EC04 460C003E */ c.le.s $f0, $f12 -/* 073738 7F03EC08 00000000 */ nop -/* 07373C 7F03EC0C 45020007 */ bc1fl .L7F03EC2C -/* 073740 7F03EC10 C4900018 */ lwc1 $f16, 0x18($a0) -/* 073744 7F03EC14 C4880014 */ lwc1 $f8, 0x14($a0) -/* 073748 7F03EC18 46004282 */ mul.s $f10, $f8, $f0 -/* 07374C 7F03EC1C 460A1080 */ add.s $f2, $f2, $f10 -/* 073750 7F03EC20 03E00008 */ jr $ra -/* 073754 7F03EC24 46001006 */ mov.s $f0, $f2 - -/* 073758 7F03EC28 C4900018 */ lwc1 $f16, 0x18($a0) -.L7F03EC2C: -/* 07375C 7F03EC2C 46008482 */ mul.s $f18, $f16, $f0 -/* 073760 7F03EC30 46121080 */ add.s $f2, $f2, $f18 -/* 073764 7F03EC34 03E00008 */ jr $ra -/* 073768 7F03EC38 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03EC3C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03EC3C -/* 07376C 7F03EC3C 44800000 */ mtc1 $zero, $f0 -/* 073770 7F03EC40 C4A40008 */ lwc1 $f4, 8($a1) -/* 073774 7F03EC44 4600203E */ c.le.s $f4, $f0 -/* 073778 7F03EC48 00000000 */ nop -/* 07377C 7F03EC4C 45020005 */ bc1fl .L7F03EC64 -/* 073780 7F03EC50 C4880008 */ lwc1 $f8, 8($a0) -/* 073784 7F03EC54 C4860004 */ lwc1 $f6, 4($a0) -/* 073788 7F03EC58 10000003 */ b .L7F03EC68 -/* 07378C 7F03EC5C E4C60000 */ swc1 $f6, ($a2) -/* 073790 7F03EC60 C4880008 */ lwc1 $f8, 8($a0) -.L7F03EC64: -/* 073794 7F03EC64 E4C80000 */ swc1 $f8, ($a2) -.L7F03EC68: -/* 073798 7F03EC68 C4AA0018 */ lwc1 $f10, 0x18($a1) -/* 07379C 7F03EC6C 4600503E */ c.le.s $f10, $f0 -/* 0737A0 7F03EC70 00000000 */ nop -/* 0737A4 7F03EC74 45020005 */ bc1fl .L7F03EC8C -/* 0737A8 7F03EC78 C4920010 */ lwc1 $f18, 0x10($a0) -/* 0737AC 7F03EC7C C490000C */ lwc1 $f16, 0xc($a0) -/* 0737B0 7F03EC80 10000003 */ b .L7F03EC90 -/* 0737B4 7F03EC84 E4D00004 */ swc1 $f16, 4($a2) -/* 0737B8 7F03EC88 C4920010 */ lwc1 $f18, 0x10($a0) -.L7F03EC8C: -/* 0737BC 7F03EC8C E4D20004 */ swc1 $f18, 4($a2) -.L7F03EC90: -/* 0737C0 7F03EC90 C4A40028 */ lwc1 $f4, 0x28($a1) -/* 0737C4 7F03EC94 4600203E */ c.le.s $f4, $f0 -/* 0737C8 7F03EC98 00000000 */ nop -/* 0737CC 7F03EC9C 45020005 */ bc1fl .L7F03ECB4 -/* 0737D0 7F03ECA0 C4880018 */ lwc1 $f8, 0x18($a0) -/* 0737D4 7F03ECA4 C4860014 */ lwc1 $f6, 0x14($a0) -/* 0737D8 7F03ECA8 03E00008 */ jr $ra -/* 0737DC 7F03ECAC E4C60008 */ swc1 $f6, 8($a2) - -/* 0737E0 7F03ECB0 C4880018 */ lwc1 $f8, 0x18($a0) -.L7F03ECB4: -/* 0737E4 7F03ECB4 E4C80008 */ swc1 $f8, 8($a2) -/* 0737E8 7F03ECB8 03E00008 */ jr $ra -/* 0737EC 7F03ECBC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03ECC0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03ECC0 -/* 0737F0 7F03ECC0 27BDFE20 */ addiu $sp, $sp, -0x1e0 -/* 0737F4 7F03ECC4 AFA601E8 */ sw $a2, 0x1e8($sp) -/* 0737F8 7F03ECC8 8FA601F8 */ lw $a2, 0x1f8($sp) -/* 0737FC 7F03ECCC E7AE01E4 */ swc1 $f14, 0x1e4($sp) -/* 073800 7F03ECD0 AFA701EC */ sw $a3, 0x1ec($sp) -/* 073804 7F03ECD4 C4C40000 */ lwc1 $f4, ($a2) -/* 073808 7F03ECD8 46006021 */ cvt.d.s $f0, $f12 -/* 07380C 7F03ECDC 27AE0160 */ addiu $t6, $sp, 0x160 -/* 073810 7F03ECE0 460021A1 */ cvt.d.s $f6, $f4 -/* 073814 7F03ECE4 0000C900 */ sll $t9, $zero, 4 -/* 073818 7F03ECE8 F7A600F0 */ sdc1 $f6, 0xf0($sp) -/* 07381C 7F03ECEC C4CA0008 */ lwc1 $f10, 8($a2) -/* 073820 7F03ECF0 032E4821 */ addu $t1, $t9, $t6 -/* 073824 7F03ECF4 00005025 */ move $t2, $zero -/* 073828 7F03ECF8 46005221 */ cvt.d.s $f8, $f10 -/* 07382C 7F03ECFC 000AC900 */ sll $t9, $t2, 4 -/* 073830 7F03ED00 F7A800E8 */ sdc1 $f8, 0xe8($sp) -/* 073834 7F03ED04 C4C40010 */ lwc1 $f4, 0x10($a2) -/* 073838 7F03ED08 27AE0160 */ addiu $t6, $sp, 0x160 -/* 07383C 7F03ED0C 032E4021 */ addu $t0, $t9, $t6 -/* 073840 7F03ED10 460021A1 */ cvt.d.s $f6, $f4 -/* 073844 7F03ED14 00002025 */ move $a0, $zero -/* 073848 7F03ED18 F7A600E0 */ sdc1 $f6, 0xe0($sp) -/* 07384C 7F03ED1C C4CA0018 */ lwc1 $f10, 0x18($a2) -/* 073850 7F03ED20 0004C900 */ sll $t9, $a0, 4 -/* 073854 7F03ED24 27AE0160 */ addiu $t6, $sp, 0x160 -/* 073858 7F03ED28 46005221 */ cvt.d.s $f8, $f10 -/* 07385C 7F03ED2C 032E3821 */ addu $a3, $t9, $t6 -/* 073860 7F03ED30 F7A800D8 */ sdc1 $f8, 0xd8($sp) -/* 073864 7F03ED34 C4C60028 */ lwc1 $f6, 0x28($a2) -/* 073868 7F03ED38 C4C40020 */ lwc1 $f4, 0x20($a2) -/* 07386C 7F03ED3C D7A800F0 */ ldc1 $f8, 0xf0($sp) -/* 073870 7F03ED40 460032A1 */ cvt.d.s $f10, $f6 -/* 073874 7F03ED44 C7A601E8 */ lwc1 $f6, 0x1e8($sp) -/* 073878 7F03ED48 F7AA00C8 */ sdc1 $f10, 0xc8($sp) -/* 07387C 7F03ED4C D7AA00E0 */ ldc1 $f10, 0xe0($sp) -/* 073880 7F03ED50 460024A1 */ cvt.d.s $f18, $f4 -/* 073884 7F03ED54 46204102 */ mul.d $f4, $f8, $f0 -/* 073888 7F03ED58 460030A1 */ cvt.d.s $f2, $f6 -/* 07388C 7F03ED5C F7AA0008 */ sdc1 $f10, 8($sp) -/* 073890 7F03ED60 F7A80000 */ sdc1 $f8, ($sp) -/* 073894 7F03ED64 46225182 */ mul.d $f6, $f10, $f2 -/* 073898 7F03ED68 C7AA01F0 */ lwc1 $f10, 0x1f0($sp) -/* 07389C 7F03ED6C 00005825 */ move $t3, $zero -/* 0738A0 7F03ED70 000BC900 */ sll $t9, $t3, 4 -/* 0738A4 7F03ED74 46005421 */ cvt.d.s $f16, $f10 -/* 0738A8 7F03ED78 F7A400A0 */ sdc1 $f4, 0xa0($sp) -/* 0738AC 7F03ED7C 46309282 */ mul.d $f10, $f18, $f16 -/* 0738B0 7F03ED80 F7A40010 */ sdc1 $f4, 0x10($sp) -/* 0738B4 7F03ED84 46262200 */ add.d $f8, $f4, $f6 -/* 0738B8 7F03ED88 F7A60098 */ sdc1 $f6, 0x98($sp) -/* 0738BC 7F03ED8C F7A60018 */ sdc1 $f6, 0x18($sp) -/* 0738C0 7F03ED90 27AE0160 */ addiu $t6, $sp, 0x160 -/* 0738C4 7F03ED94 F7A80038 */ sdc1 $f8, 0x38($sp) -/* 0738C8 7F03ED98 00001025 */ move $v0, $zero -/* 0738CC 7F03ED9C 462A4100 */ add.d $f4, $f8, $f10 -/* 0738D0 7F03EDA0 F7AA0090 */ sdc1 $f10, 0x90($sp) -/* 0738D4 7F03EDA4 27A50170 */ addiu $a1, $sp, 0x170 -/* 0738D8 7F03EDA8 24030001 */ li $v1, 1 -/* 0738DC 7F03EDAC F7A40160 */ sdc1 $f4, 0x160($sp) -/* 0738E0 7F03EDB0 D7A400E8 */ ldc1 $f4, 0xe8($sp) -/* 0738E4 7F03EDB4 032E6021 */ addu $t4, $t9, $t6 -/* 0738E8 7F03EDB8 27AD0130 */ addiu $t5, $sp, 0x130 -/* 0738EC 7F03EDBC 46202102 */ mul.d $f4, $f4, $f0 -/* 0738F0 7F03EDC0 F7A40088 */ sdc1 $f4, 0x88($sp) -/* 0738F4 7F03EDC4 D7A400D8 */ ldc1 $f4, 0xd8($sp) -/* 0738F8 7F03EDC8 46222102 */ mul.d $f4, $f4, $f2 -/* 0738FC 7F03EDCC F7A40080 */ sdc1 $f4, 0x80($sp) -/* 073900 7F03EDD0 D7A60080 */ ldc1 $f6, 0x80($sp) -/* 073904 7F03EDD4 D7A40088 */ ldc1 $f4, 0x88($sp) -/* 073908 7F03EDD8 46262100 */ add.d $f4, $f4, $f6 -/* 07390C 7F03EDDC D7A600C8 */ ldc1 $f6, 0xc8($sp) -/* 073910 7F03EDE0 F7A40078 */ sdc1 $f4, 0x78($sp) -/* 073914 7F03EDE4 46303102 */ mul.d $f4, $f6, $f16 -/* 073918 7F03EDE8 D7A60078 */ ldc1 $f6, 0x78($sp) -/* 07391C 7F03EDEC 46243180 */ add.d $f6, $f6, $f4 -/* 073920 7F03EDF0 F7A40070 */ sdc1 $f4, 0x70($sp) -/* 073924 7F03EDF4 C7A401F4 */ lwc1 $f4, 0x1f4($sp) -/* 073928 7F03EDF8 F7A60168 */ sdc1 $f6, 0x168($sp) -/* 07392C 7F03EDFC 460021A1 */ cvt.d.s $f6, $f4 -/* 073930 7F03EE00 F7A600A8 */ sdc1 $f6, 0xa8($sp) -/* 073934 7F03EE04 46269182 */ mul.d $f6, $f18, $f6 -/* 073938 7F03EE08 D7A400A8 */ ldc1 $f4, 0xa8($sp) -/* 07393C 7F03EE0C F7A60068 */ sdc1 $f6, 0x68($sp) -/* 073940 7F03EE10 46264180 */ add.d $f6, $f8, $f6 -/* 073944 7F03EE14 D7A800C8 */ ldc1 $f8, 0xc8($sp) -/* 073948 7F03EE18 46244302 */ mul.d $f12, $f8, $f4 -/* 07394C 7F03EE1C F7A60170 */ sdc1 $f6, 0x170($sp) -/* 073950 7F03EE20 D7A60078 */ ldc1 $f6, 0x78($sp) -/* 073954 7F03EE24 C7A401EC */ lwc1 $f4, 0x1ec($sp) -/* 073958 7F03EE28 46002021 */ cvt.d.s $f0, $f4 -/* 07395C 7F03EE2C 462C3200 */ add.d $f8, $f6, $f12 -/* 073960 7F03EE30 D7A60008 */ ldc1 $f6, 8($sp) -/* 073964 7F03EE34 46203382 */ mul.d $f14, $f6, $f0 -/* 073968 7F03EE38 F7A80178 */ sdc1 $f8, 0x178($sp) -/* 07396C 7F03EE3C D7A80010 */ ldc1 $f8, 0x10($sp) -/* 073970 7F03EE40 D7A600D8 */ ldc1 $f6, 0xd8($sp) -/* 073974 7F03EE44 46203402 */ mul.d $f16, $f6, $f0 -/* 073978 7F03EE48 462E4080 */ add.d $f2, $f8, $f14 -/* 07397C 7F03EE4C D7A80088 */ ldc1 $f8, 0x88($sp) -/* 073980 7F03EE50 F7AE0038 */ sdc1 $f14, 0x38($sp) -/* 073984 7F03EE54 462A1100 */ add.d $f4, $f2, $f10 -/* 073988 7F03EE58 46304480 */ add.d $f18, $f8, $f16 -/* 07398C 7F03EE5C F7A40180 */ sdc1 $f4, 0x180($sp) -/* 073990 7F03EE60 D7A40070 */ ldc1 $f4, 0x70($sp) -/* 073994 7F03EE64 D7A80068 */ ldc1 $f8, 0x68($sp) -/* 073998 7F03EE68 F7B20030 */ sdc1 $f18, 0x30($sp) -/* 07399C 7F03EE6C 46249180 */ add.d $f6, $f18, $f4 -/* 0739A0 7F03EE70 46281100 */ add.d $f4, $f2, $f8 -/* 0739A4 7F03EE74 F7A60188 */ sdc1 $f6, 0x188($sp) -/* 0739A8 7F03EE78 D7A60000 */ ldc1 $f6, ($sp) -/* 0739AC 7F03EE7C 462C9200 */ add.d $f8, $f18, $f12 -/* 0739B0 7F03EE80 F7A40190 */ sdc1 $f4, 0x190($sp) -/* 0739B4 7F03EE84 C7A401E4 */ lwc1 $f4, 0x1e4($sp) -/* 0739B8 7F03EE88 F7A80198 */ sdc1 $f8, 0x198($sp) -/* 0739BC 7F03EE8C 46002021 */ cvt.d.s $f0, $f4 -/* 0739C0 7F03EE90 D7A400E8 */ ldc1 $f4, 0xe8($sp) -/* 0739C4 7F03EE94 46203202 */ mul.d $f8, $f6, $f0 -/* 0739C8 7F03EE98 D7A60018 */ ldc1 $f6, 0x18($sp) -/* 0739CC 7F03EE9C 46202382 */ mul.d $f14, $f4, $f0 -/* 0739D0 7F03EEA0 F7A80088 */ sdc1 $f8, 0x88($sp) -/* 0739D4 7F03EEA4 46264080 */ add.d $f2, $f8, $f6 -/* 0739D8 7F03EEA8 D7A60080 */ ldc1 $f6, 0x80($sp) -/* 0739DC 7F03EEAC 462A1200 */ add.d $f8, $f2, $f10 -/* 0739E0 7F03EEB0 46267480 */ add.d $f18, $f14, $f6 -/* 0739E4 7F03EEB4 F7A801A0 */ sdc1 $f8, 0x1a0($sp) -/* 0739E8 7F03EEB8 D7A80070 */ ldc1 $f8, 0x70($sp) -/* 0739EC 7F03EEBC D7A60068 */ ldc1 $f6, 0x68($sp) -/* 0739F0 7F03EEC0 46289100 */ add.d $f4, $f18, $f8 -/* 0739F4 7F03EEC4 46261200 */ add.d $f8, $f2, $f6 -/* 0739F8 7F03EEC8 D7A60088 */ ldc1 $f6, 0x88($sp) -/* 0739FC 7F03EECC F7A401A8 */ sdc1 $f4, 0x1a8($sp) -/* 073A00 7F03EED0 462C9100 */ add.d $f4, $f18, $f12 -/* 073A04 7F03EED4 F7A801B0 */ sdc1 $f8, 0x1b0($sp) -/* 073A08 7F03EED8 D7A80038 */ ldc1 $f8, 0x38($sp) -/* 073A0C 7F03EEDC 46307080 */ add.d $f2, $f14, $f16 -/* 073A10 7F03EEE0 F7A401B8 */ sdc1 $f4, 0x1b8($sp) -/* 073A14 7F03EEE4 46283000 */ add.d $f0, $f6, $f8 -/* 073A18 7F03EEE8 D7A60070 */ ldc1 $f6, 0x70($sp) -/* 073A1C 7F03EEEC 462A0100 */ add.d $f4, $f0, $f10 -/* 073A20 7F03EEF0 D7AA0068 */ ldc1 $f10, 0x68($sp) -/* 073A24 7F03EEF4 46261200 */ add.d $f8, $f2, $f6 -/* 073A28 7F03EEF8 F7A401C0 */ sdc1 $f4, 0x1c0($sp) -/* 073A2C 7F03EEFC 462C1180 */ add.d $f6, $f2, $f12 -/* 073A30 7F03EF00 F7A801C8 */ sdc1 $f8, 0x1c8($sp) -/* 073A34 7F03EF04 462A0100 */ add.d $f4, $f0, $f10 -/* 073A38 7F03EF08 F7A601D8 */ sdc1 $f6, 0x1d8($sp) -/* 073A3C 7F03EF0C F7A401D0 */ sdc1 $f4, 0x1d0($sp) -/* 073A40 7F03EF10 D5200000 */ ldc1 $f0, ($t1) -.L7F03EF14: -/* 073A44 7F03EF14 D4A20000 */ ldc1 $f2, ($a1) -/* 073A48 7F03EF18 00037900 */ sll $t7, $v1, 4 -/* 073A4C 7F03EF1C 27B80160 */ addiu $t8, $sp, 0x160 -/* 073A50 7F03EF20 4620103C */ c.lt.d $f2, $f0 -/* 073A54 7F03EF24 00000000 */ nop -/* 073A58 7F03EF28 4503000C */ bc1tl .L7F03EF5C -/* 073A5C 7F03EF2C 01F84821 */ addu $t1, $t7, $t8 -/* 073A60 7F03EF30 46201032 */ c.eq.d $f2, $f0 -/* 073A64 7F03EF34 00000000 */ nop -/* 073A68 7F03EF38 4502000B */ bc1fl .L7F03EF68 -/* 073A6C 7F03EF3C 24630001 */ addiu $v1, $v1, 1 -/* 073A70 7F03EF40 D4A80008 */ ldc1 $f8, 8($a1) -/* 073A74 7F03EF44 D52A0008 */ ldc1 $f10, 8($t1) -/* 073A78 7F03EF48 462A403C */ c.lt.d $f8, $f10 -/* 073A7C 7F03EF4C 00000000 */ nop -/* 073A80 7F03EF50 45020005 */ bc1fl .L7F03EF68 -/* 073A84 7F03EF54 24630001 */ addiu $v1, $v1, 1 -/* 073A88 7F03EF58 01F84821 */ addu $t1, $t7, $t8 -.L7F03EF5C: -/* 073A8C 7F03EF5C D5200000 */ ldc1 $f0, ($t1) -/* 073A90 7F03EF60 00601025 */ move $v0, $v1 -/* 073A94 7F03EF64 24630001 */ addiu $v1, $v1, 1 -.L7F03EF68: -/* 073A98 7F03EF68 28610008 */ slti $at, $v1, 8 -/* 073A9C 7F03EF6C 1420FFE9 */ bnez $at, .L7F03EF14 -/* 073AA0 7F03EF70 24A50010 */ addiu $a1, $a1, 0x10 -/* 073AA4 7F03EF74 24030001 */ li $v1, 1 -/* 073AA8 7F03EF78 27A50170 */ addiu $a1, $sp, 0x170 -.L7F03EF7C: -/* 073AAC 7F03EF7C D50C0008 */ ldc1 $f12, 8($t0) -/* 073AB0 7F03EF80 D4A20008 */ ldc1 $f2, 8($a1) -/* 073AB4 7F03EF84 00037900 */ sll $t7, $v1, 4 -/* 073AB8 7F03EF88 27B80160 */ addiu $t8, $sp, 0x160 -/* 073ABC 7F03EF8C 4622603C */ c.lt.d $f12, $f2 -/* 073AC0 7F03EF90 00000000 */ nop -/* 073AC4 7F03EF94 4503000C */ bc1tl .L7F03EFC8 -/* 073AC8 7F03EF98 00605025 */ move $t2, $v1 -/* 073ACC 7F03EF9C 462C1032 */ c.eq.d $f2, $f12 -/* 073AD0 7F03EFA0 00000000 */ nop -/* 073AD4 7F03EFA4 4502000A */ bc1fl .L7F03EFD0 -/* 073AD8 7F03EFA8 24630001 */ addiu $v1, $v1, 1 -/* 073ADC 7F03EFAC D4A40000 */ ldc1 $f4, ($a1) -/* 073AE0 7F03EFB0 D5060000 */ ldc1 $f6, ($t0) -/* 073AE4 7F03EFB4 4626203C */ c.lt.d $f4, $f6 -/* 073AE8 7F03EFB8 00000000 */ nop -/* 073AEC 7F03EFBC 45020004 */ bc1fl .L7F03EFD0 -/* 073AF0 7F03EFC0 24630001 */ addiu $v1, $v1, 1 -/* 073AF4 7F03EFC4 00605025 */ move $t2, $v1 -.L7F03EFC8: -/* 073AF8 7F03EFC8 01F84021 */ addu $t0, $t7, $t8 -/* 073AFC 7F03EFCC 24630001 */ addiu $v1, $v1, 1 -.L7F03EFD0: -/* 073B00 7F03EFD0 28610008 */ slti $at, $v1, 8 -/* 073B04 7F03EFD4 1420FFE9 */ bnez $at, .L7F03EF7C -/* 073B08 7F03EFD8 24A50010 */ addiu $a1, $a1, 0x10 -/* 073B0C 7F03EFDC 24030001 */ li $v1, 1 -/* 073B10 7F03EFE0 27A50170 */ addiu $a1, $sp, 0x170 -.L7F03EFE4: -/* 073B14 7F03EFE4 D4F00000 */ ldc1 $f16, ($a3) -/* 073B18 7F03EFE8 D4A20000 */ ldc1 $f2, ($a1) -/* 073B1C 7F03EFEC 00037900 */ sll $t7, $v1, 4 -/* 073B20 7F03EFF0 27B80160 */ addiu $t8, $sp, 0x160 -/* 073B24 7F03EFF4 4622803C */ c.lt.d $f16, $f2 -/* 073B28 7F03EFF8 00000000 */ nop -/* 073B2C 7F03EFFC 4503000C */ bc1tl .L7F03F030 -/* 073B30 7F03F000 00602025 */ move $a0, $v1 -/* 073B34 7F03F004 46301032 */ c.eq.d $f2, $f16 -/* 073B38 7F03F008 00000000 */ nop -/* 073B3C 7F03F00C 4502000A */ bc1fl .L7F03F038 -/* 073B40 7F03F010 24630001 */ addiu $v1, $v1, 1 -/* 073B44 7F03F014 D4E80008 */ ldc1 $f8, 8($a3) -/* 073B48 7F03F018 D4AA0008 */ ldc1 $f10, 8($a1) -/* 073B4C 7F03F01C 462A403C */ c.lt.d $f8, $f10 -/* 073B50 7F03F020 00000000 */ nop -/* 073B54 7F03F024 45020004 */ bc1fl .L7F03F038 -/* 073B58 7F03F028 24630001 */ addiu $v1, $v1, 1 -/* 073B5C 7F03F02C 00602025 */ move $a0, $v1 -.L7F03F030: -/* 073B60 7F03F030 01F83821 */ addu $a3, $t7, $t8 -/* 073B64 7F03F034 24630001 */ addiu $v1, $v1, 1 -.L7F03F038: -/* 073B68 7F03F038 28610008 */ slti $at, $v1, 8 -/* 073B6C 7F03F03C 1420FFE9 */ bnez $at, .L7F03EFE4 -/* 073B70 7F03F040 24A50010 */ addiu $a1, $a1, 0x10 -/* 073B74 7F03F044 24030001 */ li $v1, 1 -/* 073B78 7F03F048 27A50170 */ addiu $a1, $sp, 0x170 -.L7F03F04C: -/* 073B7C 7F03F04C D4A20008 */ ldc1 $f2, 8($a1) -/* 073B80 7F03F050 D58C0008 */ ldc1 $f12, 8($t4) -/* 073B84 7F03F054 00037900 */ sll $t7, $v1, 4 -/* 073B88 7F03F058 27B80160 */ addiu $t8, $sp, 0x160 -/* 073B8C 7F03F05C 462C103C */ c.lt.d $f2, $f12 -/* 073B90 7F03F060 00000000 */ nop -/* 073B94 7F03F064 4503000C */ bc1tl .L7F03F098 -/* 073B98 7F03F068 00605825 */ move $t3, $v1 -/* 073B9C 7F03F06C 462C1032 */ c.eq.d $f2, $f12 -/* 073BA0 7F03F070 00000000 */ nop -/* 073BA4 7F03F074 4502000A */ bc1fl .L7F03F0A0 -/* 073BA8 7F03F078 24630001 */ addiu $v1, $v1, 1 -/* 073BAC 7F03F07C D5840000 */ ldc1 $f4, ($t4) -/* 073BB0 7F03F080 D4A60000 */ ldc1 $f6, ($a1) -/* 073BB4 7F03F084 4626203C */ c.lt.d $f4, $f6 -/* 073BB8 7F03F088 00000000 */ nop -/* 073BBC 7F03F08C 45020004 */ bc1fl .L7F03F0A0 -/* 073BC0 7F03F090 24630001 */ addiu $v1, $v1, 1 -/* 073BC4 7F03F094 00605825 */ move $t3, $v1 -.L7F03F098: -/* 073BC8 7F03F098 01F86021 */ addu $t4, $t7, $t8 -/* 073BCC 7F03F09C 24630001 */ addiu $v1, $v1, 1 -.L7F03F0A0: -/* 073BD0 7F03F0A0 28610008 */ slti $at, $v1, 8 -/* 073BD4 7F03F0A4 1420FFE9 */ bnez $at, .L7F03F04C -/* 073BD8 7F03F0A8 24A50010 */ addiu $a1, $a1, 0x10 -/* 073BDC 7F03F0AC 00002825 */ move $a1, $zero -/* 073BE0 7F03F0B0 00001825 */ move $v1, $zero -.L7F03F0B4: -/* 073BE4 7F03F0B4 5062000B */ beql $v1, $v0, .L7F03F0E4 -/* 073BE8 7F03F0B8 24630001 */ addiu $v1, $v1, 1 -/* 073BEC 7F03F0BC 50640009 */ beql $v1, $a0, .L7F03F0E4 -/* 073BF0 7F03F0C0 24630001 */ addiu $v1, $v1, 1 -/* 073BF4 7F03F0C4 506A0007 */ beql $v1, $t2, .L7F03F0E4 -/* 073BF8 7F03F0C8 24630001 */ addiu $v1, $v1, 1 -/* 073BFC 7F03F0CC 106B0004 */ beq $v1, $t3, .L7F03F0E0 -/* 073C00 7F03F0D0 0005C880 */ sll $t9, $a1, 2 -/* 073C04 7F03F0D4 01B97021 */ addu $t6, $t5, $t9 -/* 073C08 7F03F0D8 ADC30000 */ sw $v1, ($t6) -/* 073C0C 7F03F0DC 24A50001 */ addiu $a1, $a1, 1 -.L7F03F0E0: -/* 073C10 7F03F0E0 24630001 */ addiu $v1, $v1, 1 -.L7F03F0E4: -/* 073C14 7F03F0E4 28610008 */ slti $at, $v1, 8 -/* 073C18 7F03F0E8 1420FFF2 */ bnez $at, .L7F03F0B4 -/* 073C1C 7F03F0EC 00000000 */ nop -/* 073C20 7F03F0F0 46200220 */ cvt.s.d $f8, $f0 -/* 073C24 7F03F0F4 8FAA01FC */ lw $t2, 0x1fc($sp) -/* 073C28 7F03F0F8 24050001 */ li $a1, 1 -/* 073C2C 7F03F0FC 27A20130 */ addiu $v0, $sp, 0x130 -/* 073C30 7F03F100 E5480000 */ swc1 $f8, ($t2) -/* 073C34 7F03F104 D52A0008 */ ldc1 $f10, 8($t1) -/* 073C38 7F03F108 27AD0140 */ addiu $t5, $sp, 0x140 -/* 073C3C 7F03F10C 27A40160 */ addiu $a0, $sp, 0x160 -/* 073C40 7F03F110 46205120 */ cvt.s.d $f4, $f10 -/* 073C44 7F03F114 E5440004 */ swc1 $f4, 4($t2) -/* 073C48 7F03F118 D5280000 */ ldc1 $f8, ($t1) -/* 073C4C 7F03F11C D5260008 */ ldc1 $f6, 8($t1) -/* 073C50 7F03F120 D5820000 */ ldc1 $f2, ($t4) -/* 073C54 7F03F124 D58C0008 */ ldc1 $f12, 8($t4) -/* 073C58 7F03F128 46224401 */ sub.d $f16, $f8, $f2 -/* 073C5C 7F03F12C 462C3381 */ sub.d $f14, $f6, $f12 -/* 073C60 7F03F130 8C430000 */ lw $v1, ($v0) -.L7F03F134: -/* 073C64 7F03F134 00037900 */ sll $t7, $v1, 4 -/* 073C68 7F03F138 008F5821 */ addu $t3, $a0, $t7 -/* 073C6C 7F03F13C D5600000 */ ldc1 $f0, ($t3) -/* 073C70 7F03F140 D5660008 */ ldc1 $f6, 8($t3) -/* 073C74 7F03F144 46220281 */ sub.d $f10, $f0, $f2 -/* 073C78 7F03F148 462C3201 */ sub.d $f8, $f6, $f12 -/* 073C7C 7F03F14C 462E5102 */ mul.d $f4, $f10, $f14 -/* 073C80 7F03F150 00000000 */ nop -/* 073C84 7F03F154 46304282 */ mul.d $f10, $f8, $f16 -/* 073C88 7F03F158 462A203C */ c.lt.d $f4, $f10 -/* 073C8C 7F03F15C 00000000 */ nop -/* 073C90 7F03F160 4500000A */ bc1f .L7F03F18C -/* 073C94 7F03F164 00000000 */ nop -/* 073C98 7F03F168 462001A0 */ cvt.s.d $f6, $f0 -/* 073C9C 7F03F16C 25420008 */ addiu $v0, $t2, 8 -/* 073CA0 7F03F170 24050002 */ li $a1, 2 -/* 073CA4 7F03F174 E4460000 */ swc1 $f6, ($v0) -/* 073CA8 7F03F178 D5680008 */ ldc1 $f8, 8($t3) -/* 073CAC 7F03F17C 46204120 */ cvt.s.d $f4, $f8 -/* 073CB0 7F03F180 E4440004 */ swc1 $f4, 4($v0) -/* 073CB4 7F03F184 10000005 */ b .L7F03F19C -/* 073CB8 7F03F188 D5820000 */ ldc1 $f2, ($t4) -.L7F03F18C: -/* 073CBC 7F03F18C 24420004 */ addiu $v0, $v0, 4 -/* 073CC0 7F03F190 004D082B */ sltu $at, $v0, $t5 -/* 073CC4 7F03F194 5420FFE7 */ bnezl $at, .L7F03F134 -/* 073CC8 7F03F198 8C430000 */ lw $v1, ($v0) -.L7F03F19C: -/* 073CCC 7F03F19C 462012A0 */ cvt.s.d $f10, $f2 -/* 073CD0 7F03F1A0 0005C0C0 */ sll $t8, $a1, 3 -/* 073CD4 7F03F1A4 01585821 */ addu $t3, $t2, $t8 -/* 073CD8 7F03F1A8 256B0008 */ addiu $t3, $t3, 8 -/* 073CDC 7F03F1AC E56AFFF8 */ swc1 $f10, -8($t3) -/* 073CE0 7F03F1B0 D5860008 */ ldc1 $f6, 8($t4) -/* 073CE4 7F03F1B4 24A50001 */ addiu $a1, $a1, 1 -/* 073CE8 7F03F1B8 27A20130 */ addiu $v0, $sp, 0x130 -/* 073CEC 7F03F1BC 46203220 */ cvt.s.d $f8, $f6 -/* 073CF0 7F03F1C0 27AD0140 */ addiu $t5, $sp, 0x140 -/* 073CF4 7F03F1C4 E568FFFC */ swc1 $f8, -4($t3) -/* 073CF8 7F03F1C8 D58A0000 */ ldc1 $f10, ($t4) -/* 073CFC 7F03F1CC D5840008 */ ldc1 $f4, 8($t4) -/* 073D00 7F03F1D0 D4E00008 */ ldc1 $f0, 8($a3) -/* 073D04 7F03F1D4 D4F00000 */ ldc1 $f16, ($a3) -/* 073D08 7F03F1D8 46202301 */ sub.d $f12, $f4, $f0 -/* 073D0C 7F03F1DC 46305381 */ sub.d $f14, $f10, $f16 -/* 073D10 7F03F1E0 8C430000 */ lw $v1, ($v0) -.L7F03F1E4: -/* 073D14 7F03F1E4 0003C900 */ sll $t9, $v1, 4 -/* 073D18 7F03F1E8 00996021 */ addu $t4, $a0, $t9 -/* 073D1C 7F03F1EC D5820000 */ ldc1 $f2, ($t4) -/* 073D20 7F03F1F0 D5840008 */ ldc1 $f4, 8($t4) -/* 073D24 7F03F1F4 46301181 */ sub.d $f6, $f2, $f16 -/* 073D28 7F03F1F8 46202281 */ sub.d $f10, $f4, $f0 -/* 073D2C 7F03F1FC 462C3202 */ mul.d $f8, $f6, $f12 -/* 073D30 7F03F200 00000000 */ nop -/* 073D34 7F03F204 462E5182 */ mul.d $f6, $f10, $f14 -/* 073D38 7F03F208 4626403C */ c.lt.d $f8, $f6 -/* 073D3C 7F03F20C 00000000 */ nop -/* 073D40 7F03F210 4500000A */ bc1f .L7F03F23C -/* 073D44 7F03F214 00000000 */ nop -/* 073D48 7F03F218 46201120 */ cvt.s.d $f4, $f2 -/* 073D4C 7F03F21C 24A50001 */ addiu $a1, $a1, 1 -/* 073D50 7F03F220 256B0008 */ addiu $t3, $t3, 8 -/* 073D54 7F03F224 E564FFF8 */ swc1 $f4, -8($t3) -/* 073D58 7F03F228 D58A0008 */ ldc1 $f10, 8($t4) -/* 073D5C 7F03F22C 46205220 */ cvt.s.d $f8, $f10 -/* 073D60 7F03F230 E568FFFC */ swc1 $f8, -4($t3) -/* 073D64 7F03F234 10000005 */ b .L7F03F24C -/* 073D68 7F03F238 D4F00000 */ ldc1 $f16, ($a3) -.L7F03F23C: -/* 073D6C 7F03F23C 24420004 */ addiu $v0, $v0, 4 -/* 073D70 7F03F240 004D082B */ sltu $at, $v0, $t5 -/* 073D74 7F03F244 5420FFE7 */ bnezl $at, .L7F03F1E4 -/* 073D78 7F03F248 8C430000 */ lw $v1, ($v0) -.L7F03F24C: -/* 073D7C 7F03F24C 462081A0 */ cvt.s.d $f6, $f16 -/* 073D80 7F03F250 24A50001 */ addiu $a1, $a1, 1 -/* 073D84 7F03F254 256B0008 */ addiu $t3, $t3, 8 -/* 073D88 7F03F258 27A20130 */ addiu $v0, $sp, 0x130 -/* 073D8C 7F03F25C E566FFF8 */ swc1 $f6, -8($t3) -/* 073D90 7F03F260 D4E40008 */ ldc1 $f4, 8($a3) -/* 073D94 7F03F264 27AC0140 */ addiu $t4, $sp, 0x140 -/* 073D98 7F03F268 462022A0 */ cvt.s.d $f10, $f4 -/* 073D9C 7F03F26C E56AFFFC */ swc1 $f10, -4($t3) -/* 073DA0 7F03F270 D4E60000 */ ldc1 $f6, ($a3) -/* 073DA4 7F03F274 D4E80008 */ ldc1 $f8, 8($a3) -/* 073DA8 7F03F278 D50E0000 */ ldc1 $f14, ($t0) -/* 073DAC 7F03F27C D50C0008 */ ldc1 $f12, 8($t0) -/* 073DB0 7F03F280 462E3481 */ sub.d $f18, $f6, $f14 -/* 073DB4 7F03F284 462C4081 */ sub.d $f2, $f8, $f12 -/* 073DB8 7F03F288 8C430000 */ lw $v1, ($v0) -.L7F03F28C: -/* 073DBC 7F03F28C 00037100 */ sll $t6, $v1, 4 -/* 073DC0 7F03F290 008E3821 */ addu $a3, $a0, $t6 -/* 073DC4 7F03F294 D4E00000 */ ldc1 $f0, ($a3) -/* 073DC8 7F03F298 D4E80008 */ ldc1 $f8, 8($a3) -/* 073DCC 7F03F29C 462E0101 */ sub.d $f4, $f0, $f14 -/* 073DD0 7F03F2A0 462C4181 */ sub.d $f6, $f8, $f12 -/* 073DD4 7F03F2A4 46222282 */ mul.d $f10, $f4, $f2 -/* 073DD8 7F03F2A8 00000000 */ nop -/* 073DDC 7F03F2AC 46323102 */ mul.d $f4, $f6, $f18 -/* 073DE0 7F03F2B0 4624503C */ c.lt.d $f10, $f4 -/* 073DE4 7F03F2B4 00000000 */ nop -/* 073DE8 7F03F2B8 4500000A */ bc1f .L7F03F2E4 -/* 073DEC 7F03F2BC 00000000 */ nop -/* 073DF0 7F03F2C0 46200220 */ cvt.s.d $f8, $f0 -/* 073DF4 7F03F2C4 24A50001 */ addiu $a1, $a1, 1 -/* 073DF8 7F03F2C8 256B0008 */ addiu $t3, $t3, 8 -/* 073DFC 7F03F2CC E568FFF8 */ swc1 $f8, -8($t3) -/* 073E00 7F03F2D0 D4E60008 */ ldc1 $f6, 8($a3) -/* 073E04 7F03F2D4 462032A0 */ cvt.s.d $f10, $f6 -/* 073E08 7F03F2D8 E56AFFFC */ swc1 $f10, -4($t3) -/* 073E0C 7F03F2DC 10000005 */ b .L7F03F2F4 -/* 073E10 7F03F2E0 D50E0000 */ ldc1 $f14, ($t0) -.L7F03F2E4: -/* 073E14 7F03F2E4 24420004 */ addiu $v0, $v0, 4 -/* 073E18 7F03F2E8 004C082B */ sltu $at, $v0, $t4 -/* 073E1C 7F03F2EC 5420FFE7 */ bnezl $at, .L7F03F28C -/* 073E20 7F03F2F0 8C430000 */ lw $v1, ($v0) -.L7F03F2F4: -/* 073E24 7F03F2F4 46207120 */ cvt.s.d $f4, $f14 -/* 073E28 7F03F2F8 24A50001 */ addiu $a1, $a1, 1 -/* 073E2C 7F03F2FC 256B0008 */ addiu $t3, $t3, 8 -/* 073E30 7F03F300 27A20130 */ addiu $v0, $sp, 0x130 -/* 073E34 7F03F304 E564FFF8 */ swc1 $f4, -8($t3) -/* 073E38 7F03F308 D5080008 */ ldc1 $f8, 8($t0) -/* 073E3C 7F03F30C 462041A0 */ cvt.s.d $f6, $f8 -/* 073E40 7F03F310 E566FFFC */ swc1 $f6, -4($t3) -/* 073E44 7F03F314 D5040000 */ ldc1 $f4, ($t0) -/* 073E48 7F03F318 D50A0008 */ ldc1 $f10, 8($t0) -/* 073E4C 7F03F31C D5220008 */ ldc1 $f2, 8($t1) -/* 073E50 7F03F320 D5200000 */ ldc1 $f0, ($t1) -/* 073E54 7F03F324 27A80140 */ addiu $t0, $sp, 0x140 -/* 073E58 7F03F328 46225401 */ sub.d $f16, $f10, $f2 -/* 073E5C 7F03F32C 46202481 */ sub.d $f18, $f4, $f0 -/* 073E60 7F03F330 8C430000 */ lw $v1, ($v0) -.L7F03F334: -/* 073E64 7F03F334 00037900 */ sll $t7, $v1, 4 -/* 073E68 7F03F338 008F3821 */ addu $a3, $a0, $t7 -/* 073E6C 7F03F33C D4EC0000 */ ldc1 $f12, ($a3) -/* 073E70 7F03F340 D4EA0008 */ ldc1 $f10, 8($a3) -/* 073E74 7F03F344 46206201 */ sub.d $f8, $f12, $f0 -/* 073E78 7F03F348 46225101 */ sub.d $f4, $f10, $f2 -/* 073E7C 7F03F34C 46304182 */ mul.d $f6, $f8, $f16 -/* 073E80 7F03F350 00000000 */ nop -/* 073E84 7F03F354 46322202 */ mul.d $f8, $f4, $f18 -/* 073E88 7F03F358 4628303C */ c.lt.d $f6, $f8 -/* 073E8C 7F03F35C 00000000 */ nop -/* 073E90 7F03F360 45000009 */ bc1f .L7F03F388 -/* 073E94 7F03F364 00000000 */ nop -/* 073E98 7F03F368 462062A0 */ cvt.s.d $f10, $f12 -/* 073E9C 7F03F36C 24A50001 */ addiu $a1, $a1, 1 -/* 073EA0 7F03F370 00001825 */ move $v1, $zero -/* 073EA4 7F03F374 E56A0000 */ swc1 $f10, ($t3) -/* 073EA8 7F03F378 D4E40008 */ ldc1 $f4, 8($a3) -/* 073EAC 7F03F37C 462021A0 */ cvt.s.d $f6, $f4 -/* 073EB0 7F03F380 10000006 */ b .L7F03F39C -/* 073EB4 7F03F384 E5660004 */ swc1 $f6, 4($t3) -.L7F03F388: -/* 073EB8 7F03F388 24420004 */ addiu $v0, $v0, 4 -/* 073EBC 7F03F38C 0048082B */ sltu $at, $v0, $t0 -/* 073EC0 7F03F390 5420FFE8 */ bnezl $at, .L7F03F334 -/* 073EC4 7F03F394 8C430000 */ lw $v1, ($v0) -/* 073EC8 7F03F398 00001825 */ move $v1, $zero -.L7F03F39C: -/* 073ECC 7F03F39C 8FB80200 */ lw $t8, 0x200($sp) -/* 073ED0 7F03F3A0 18A00065 */ blez $a1, .L7F03F538 -/* 073ED4 7F03F3A4 AF050000 */ sw $a1, ($t8) -/* 073ED8 7F03F3A8 30A70003 */ andi $a3, $a1, 3 -/* 073EDC 7F03F3AC 10E0001A */ beqz $a3, .L7F03F418 -/* 073EE0 7F03F3B0 00E02025 */ move $a0, $a3 -/* 073EE4 7F03F3B4 0003C8C0 */ sll $t9, $v1, 3 -/* 073EE8 7F03F3B8 01591021 */ addu $v0, $t2, $t9 -/* 073EEC 7F03F3BC 24630001 */ addiu $v1, $v1, 1 -/* 073EF0 7F03F3C0 1083000C */ beq $a0, $v1, .L7F03F3F4 -/* 073EF4 7F03F3C4 C4520000 */ lwc1 $f18, ($v0) -.L7F03F3C8: -/* 073EF8 7F03F3C8 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 073EFC 7F03F3CC C44E0004 */ lwc1 $f14, 4($v0) -/* 073F00 7F03F3D0 24630001 */ addiu $v1, $v1, 1 -/* 073F04 7F03F3D4 46109400 */ add.s $f16, $f18, $f16 -/* 073F08 7F03F3D8 C4520008 */ lwc1 $f18, 8($v0) -/* 073F0C 7F03F3DC 24420008 */ addiu $v0, $v0, 8 -/* 073F10 7F03F3E0 E450FFF8 */ swc1 $f16, -8($v0) -/* 073F14 7F03F3E4 C4D00038 */ lwc1 $f16, 0x38($a2) -/* 073F18 7F03F3E8 46107400 */ add.s $f16, $f14, $f16 -/* 073F1C 7F03F3EC 1483FFF6 */ bne $a0, $v1, .L7F03F3C8 -/* 073F20 7F03F3F0 E450FFFC */ swc1 $f16, -4($v0) -.L7F03F3F4: -/* 073F24 7F03F3F4 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 073F28 7F03F3F8 C44E0004 */ lwc1 $f14, 4($v0) -/* 073F2C 7F03F3FC 24420008 */ addiu $v0, $v0, 8 -/* 073F30 7F03F400 46109400 */ add.s $f16, $f18, $f16 -/* 073F34 7F03F404 E450FFF8 */ swc1 $f16, -8($v0) -/* 073F38 7F03F408 C4D00038 */ lwc1 $f16, 0x38($a2) -/* 073F3C 7F03F40C 46107400 */ add.s $f16, $f14, $f16 -/* 073F40 7F03F410 E450FFFC */ swc1 $f16, -4($v0) -/* 073F44 7F03F414 10650048 */ beq $v1, $a1, .L7F03F538 -.L7F03F418: -/* 073F48 7F03F418 000370C0 */ sll $t6, $v1, 3 -/* 073F4C 7F03F41C 000578C0 */ sll $t7, $a1, 3 -/* 073F50 7F03F420 01EA2021 */ addu $a0, $t7, $t2 -/* 073F54 7F03F424 014E1021 */ addu $v0, $t2, $t6 -/* 073F58 7F03F428 24420020 */ addiu $v0, $v0, 0x20 -/* 073F5C 7F03F42C 10440023 */ beq $v0, $a0, .L7F03F4BC -/* 073F60 7F03F430 C452FFE0 */ lwc1 $f18, -0x20($v0) -.L7F03F434: -/* 073F64 7F03F434 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 073F68 7F03F438 C44EFFE4 */ lwc1 $f14, -0x1c($v0) -/* 073F6C 7F03F43C C44CFFE8 */ lwc1 $f12, -0x18($v0) -/* 073F70 7F03F440 46109400 */ add.s $f16, $f18, $f16 -/* 073F74 7F03F444 C44AFFEC */ lwc1 $f10, -0x14($v0) -/* 073F78 7F03F448 C448FFF0 */ lwc1 $f8, -0x10($v0) -/* 073F7C 7F03F44C C446FFF4 */ lwc1 $f6, -0xc($v0) -/* 073F80 7F03F450 E450FFE0 */ swc1 $f16, -0x20($v0) -/* 073F84 7F03F454 C4D00038 */ lwc1 $f16, 0x38($a2) -/* 073F88 7F03F458 C444FFF8 */ lwc1 $f4, -8($v0) -/* 073F8C 7F03F45C C442FFFC */ lwc1 $f2, -4($v0) -/* 073F90 7F03F460 46107400 */ add.s $f16, $f14, $f16 -/* 073F94 7F03F464 C4520000 */ lwc1 $f18, ($v0) -/* 073F98 7F03F468 24420020 */ addiu $v0, $v0, 0x20 -/* 073F9C 7F03F46C E450FFC4 */ swc1 $f16, -0x3c($v0) -/* 073FA0 7F03F470 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 073FA4 7F03F474 46106400 */ add.s $f16, $f12, $f16 -/* 073FA8 7F03F478 E450FFC8 */ swc1 $f16, -0x38($v0) -/* 073FAC 7F03F47C C4D00038 */ lwc1 $f16, 0x38($a2) -/* 073FB0 7F03F480 46105400 */ add.s $f16, $f10, $f16 -/* 073FB4 7F03F484 E450FFCC */ swc1 $f16, -0x34($v0) -/* 073FB8 7F03F488 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 073FBC 7F03F48C 46104400 */ add.s $f16, $f8, $f16 -/* 073FC0 7F03F490 E450FFD0 */ swc1 $f16, -0x30($v0) -/* 073FC4 7F03F494 C4D00038 */ lwc1 $f16, 0x38($a2) -/* 073FC8 7F03F498 46103400 */ add.s $f16, $f6, $f16 -/* 073FCC 7F03F49C E450FFD4 */ swc1 $f16, -0x2c($v0) -/* 073FD0 7F03F4A0 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 073FD4 7F03F4A4 46102400 */ add.s $f16, $f4, $f16 -/* 073FD8 7F03F4A8 E450FFD8 */ swc1 $f16, -0x28($v0) -/* 073FDC 7F03F4AC C4D00038 */ lwc1 $f16, 0x38($a2) -/* 073FE0 7F03F4B0 46101400 */ add.s $f16, $f2, $f16 -/* 073FE4 7F03F4B4 1444FFDF */ bne $v0, $a0, .L7F03F434 -/* 073FE8 7F03F4B8 E450FFDC */ swc1 $f16, -0x24($v0) -.L7F03F4BC: -/* 073FEC 7F03F4BC C4D00030 */ lwc1 $f16, 0x30($a2) -/* 073FF0 7F03F4C0 C44EFFE4 */ lwc1 $f14, -0x1c($v0) -/* 073FF4 7F03F4C4 C44CFFE8 */ lwc1 $f12, -0x18($v0) -/* 073FF8 7F03F4C8 46109400 */ add.s $f16, $f18, $f16 -/* 073FFC 7F03F4CC C44AFFEC */ lwc1 $f10, -0x14($v0) -/* 074000 7F03F4D0 C448FFF0 */ lwc1 $f8, -0x10($v0) -/* 074004 7F03F4D4 C446FFF4 */ lwc1 $f6, -0xc($v0) -/* 074008 7F03F4D8 E450FFE0 */ swc1 $f16, -0x20($v0) -/* 07400C 7F03F4DC C4D00038 */ lwc1 $f16, 0x38($a2) -/* 074010 7F03F4E0 C444FFF8 */ lwc1 $f4, -8($v0) -/* 074014 7F03F4E4 C442FFFC */ lwc1 $f2, -4($v0) -/* 074018 7F03F4E8 46107400 */ add.s $f16, $f14, $f16 -/* 07401C 7F03F4EC E450FFE4 */ swc1 $f16, -0x1c($v0) -/* 074020 7F03F4F0 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 074024 7F03F4F4 46106400 */ add.s $f16, $f12, $f16 -/* 074028 7F03F4F8 E450FFE8 */ swc1 $f16, -0x18($v0) -/* 07402C 7F03F4FC C4D00038 */ lwc1 $f16, 0x38($a2) -/* 074030 7F03F500 46105400 */ add.s $f16, $f10, $f16 -/* 074034 7F03F504 E450FFEC */ swc1 $f16, -0x14($v0) -/* 074038 7F03F508 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 07403C 7F03F50C 46104400 */ add.s $f16, $f8, $f16 -/* 074040 7F03F510 E450FFF0 */ swc1 $f16, -0x10($v0) -/* 074044 7F03F514 C4D00038 */ lwc1 $f16, 0x38($a2) -/* 074048 7F03F518 46103400 */ add.s $f16, $f6, $f16 -/* 07404C 7F03F51C E450FFF4 */ swc1 $f16, -0xc($v0) -/* 074050 7F03F520 C4D00030 */ lwc1 $f16, 0x30($a2) -/* 074054 7F03F524 46102400 */ add.s $f16, $f4, $f16 -/* 074058 7F03F528 E450FFF8 */ swc1 $f16, -8($v0) -/* 07405C 7F03F52C C4D00038 */ lwc1 $f16, 0x38($a2) -/* 074060 7F03F530 46101400 */ add.s $f16, $f2, $f16 -/* 074064 7F03F534 E450FFFC */ swc1 $f16, -4($v0) -.L7F03F538: -/* 074068 7F03F538 03E00008 */ jr $ra -/* 07406C 7F03F53C 27BD01E0 */ addiu $sp, $sp, 0x1e0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03F540(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03F540 -/* 074070 7F03F540 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 074074 7F03F544 AFBF002C */ sw $ra, 0x2c($sp) -/* 074078 7F03F548 AFA60038 */ sw $a2, 0x38($sp) -/* 07407C 7F03F54C AFA7003C */ sw $a3, 0x3c($sp) -/* 074080 7F03F550 C4840014 */ lwc1 $f4, 0x14($a0) -/* 074084 7F03F554 8C870010 */ lw $a3, 0x10($a0) -/* 074088 7F03F558 8C86000C */ lw $a2, 0xc($a0) -/* 07408C 7F03F55C C48E0008 */ lwc1 $f14, 8($a0) -/* 074090 7F03F560 C48C0004 */ lwc1 $f12, 4($a0) -/* 074094 7F03F564 E7A40010 */ swc1 $f4, 0x10($sp) -/* 074098 7F03F568 C4860018 */ lwc1 $f6, 0x18($a0) -/* 07409C 7F03F56C 8FAF003C */ lw $t7, 0x3c($sp) -/* 0740A0 7F03F570 8FAE0038 */ lw $t6, 0x38($sp) -/* 0740A4 7F03F574 AFA50018 */ sw $a1, 0x18($sp) -/* 0740A8 7F03F578 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0740AC 7F03F57C AFAF0020 */ sw $t7, 0x20($sp) -/* 0740B0 7F03F580 0FC0FB30 */ jal sub_GAME_7F03ECC0 -/* 0740B4 7F03F584 AFAE001C */ sw $t6, 0x1c($sp) -/* 0740B8 7F03F588 8FBF002C */ lw $ra, 0x2c($sp) -/* 0740BC 7F03F58C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0740C0 7F03F590 03E00008 */ jr $ra -/* 0740C4 7F03F594 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03F598(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03F598 -/* 0740C8 7F03F598 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0740CC 7F03F59C F7B40008 */ sdc1 $f20, 8($sp) -/* 0740D0 7F03F5A0 C4C60000 */ lwc1 $f6, ($a2) -/* 0740D4 7F03F5A4 C4840000 */ lwc1 $f4, ($a0) -/* 0740D8 7F03F5A8 C4CA0004 */ lwc1 $f10, 4($a2) -/* 0740DC 7F03F5AC C4880004 */ lwc1 $f8, 4($a0) -/* 0740E0 7F03F5B0 46062001 */ sub.s $f0, $f4, $f6 -/* 0740E4 7F03F5B4 C4C40008 */ lwc1 $f4, 8($a2) -/* 0740E8 7F03F5B8 C4920008 */ lwc1 $f18, 8($a0) -/* 0740EC 7F03F5BC 460A4081 */ sub.s $f2, $f8, $f10 -/* 0740F0 7F03F5C0 C4C80020 */ lwc1 $f8, 0x20($a2) -/* 0740F4 7F03F5C4 C4C60010 */ lwc1 $f6, 0x10($a2) -/* 0740F8 7F03F5C8 46049301 */ sub.s $f12, $f18, $f4 -/* 0740FC 7F03F5CC C4C40014 */ lwc1 $f4, 0x14($a2) -/* 074100 7F03F5D0 46083282 */ mul.s $f10, $f6, $f8 -/* 074104 7F03F5D4 C4D2001C */ lwc1 $f18, 0x1c($a2) -/* 074108 7F03F5D8 4485A000 */ mtc1 $a1, $f20 -/* 07410C 7F03F5DC 46049182 */ mul.s $f6, $f18, $f4 -/* 074110 7F03F5E0 46065201 */ sub.s $f8, $f10, $f6 -/* 074114 7F03F5E4 E7A80010 */ swc1 $f8, 0x10($sp) -/* 074118 7F03F5E8 C4C40018 */ lwc1 $f4, 0x18($a2) -/* 07411C 7F03F5EC C4D20014 */ lwc1 $f18, 0x14($a2) -/* 074120 7F03F5F0 C4C60020 */ lwc1 $f6, 0x20($a2) -/* 074124 7F03F5F4 C4C8000C */ lwc1 $f8, 0xc($a2) -/* 074128 7F03F5F8 46049282 */ mul.s $f10, $f18, $f4 -/* 07412C 7F03F5FC 00000000 */ nop -/* 074130 7F03F600 46083482 */ mul.s $f18, $f6, $f8 -/* 074134 7F03F604 46125101 */ sub.s $f4, $f10, $f18 -/* 074138 7F03F608 E7A40014 */ swc1 $f4, 0x14($sp) -/* 07413C 7F03F60C C4C8001C */ lwc1 $f8, 0x1c($a2) -/* 074140 7F03F610 C4C6000C */ lwc1 $f6, 0xc($a2) -/* 074144 7F03F614 C4D20018 */ lwc1 $f18, 0x18($a2) -/* 074148 7F03F618 C4C40010 */ lwc1 $f4, 0x10($a2) -/* 07414C 7F03F61C 46083282 */ mul.s $f10, $f6, $f8 -/* 074150 7F03F620 00000000 */ nop -/* 074154 7F03F624 46049182 */ mul.s $f6, $f18, $f4 -/* 074158 7F03F628 46065201 */ sub.s $f8, $f10, $f6 -/* 07415C 7F03F62C E7A80018 */ swc1 $f8, 0x18($sp) -/* 074160 7F03F630 C4D20018 */ lwc1 $f18, 0x18($a2) -/* 074164 7F03F634 C4CA001C */ lwc1 $f10, 0x1c($a2) -/* 074168 7F03F638 46120102 */ mul.s $f4, $f0, $f18 -/* 07416C 7F03F63C C4D20020 */ lwc1 $f18, 0x20($a2) -/* 074170 7F03F640 460A1182 */ mul.s $f6, $f2, $f10 -/* 074174 7F03F644 46062200 */ add.s $f8, $f4, $f6 -/* 074178 7F03F648 460C9282 */ mul.s $f10, $f18, $f12 -/* 07417C 7F03F64C C4C40040 */ lwc1 $f4, 0x40($a2) -/* 074180 7F03F650 46142180 */ add.s $f6, $f4, $f20 -/* 074184 7F03F654 46085380 */ add.s $f14, $f10, $f8 -/* 074188 7F03F658 460E303C */ c.lt.s $f6, $f14 -/* 07418C 7F03F65C 00000000 */ nop -/* 074190 7F03F660 45010007 */ bc1t .L7F03F680 -/* 074194 7F03F664 00000000 */ nop -/* 074198 7F03F668 C4D2003C */ lwc1 $f18, 0x3c($a2) -/* 07419C 7F03F66C 46149281 */ sub.s $f10, $f18, $f20 -/* 0741A0 7F03F670 460A703C */ c.lt.s $f14, $f10 -/* 0741A4 7F03F674 00000000 */ nop -/* 0741A8 7F03F678 45020004 */ bc1fl .L7F03F68C -/* 0741AC 7F03F67C C4C8000C */ lwc1 $f8, 0xc($a2) -.L7F03F680: -/* 0741B0 7F03F680 1000002E */ b .L7F03F73C -/* 0741B4 7F03F684 00001025 */ move $v0, $zero -/* 0741B8 7F03F688 C4C8000C */ lwc1 $f8, 0xc($a2) -.L7F03F68C: -/* 0741BC 7F03F68C C4C60010 */ lwc1 $f6, 0x10($a2) -/* 0741C0 7F03F690 46080102 */ mul.s $f4, $f0, $f8 -/* 0741C4 7F03F694 C4C80014 */ lwc1 $f8, 0x14($a2) -/* 0741C8 7F03F698 46061482 */ mul.s $f18, $f2, $f6 -/* 0741CC 7F03F69C 46122280 */ add.s $f10, $f4, $f18 -/* 0741D0 7F03F6A0 460C4182 */ mul.s $f6, $f8, $f12 -/* 0741D4 7F03F6A4 C4C40038 */ lwc1 $f4, 0x38($a2) -/* 0741D8 7F03F6A8 46142480 */ add.s $f18, $f4, $f20 -/* 0741DC 7F03F6AC 460A3380 */ add.s $f14, $f6, $f10 -/* 0741E0 7F03F6B0 460E903C */ c.lt.s $f18, $f14 -/* 0741E4 7F03F6B4 00000000 */ nop -/* 0741E8 7F03F6B8 45010009 */ bc1t .L7F03F6E0 -/* 0741EC 7F03F6BC 00000000 */ nop -/* 0741F0 7F03F6C0 C4C80034 */ lwc1 $f8, 0x34($a2) -/* 0741F4 7F03F6C4 C7AA0010 */ lwc1 $f10, 0x10($sp) -/* 0741F8 7F03F6C8 C7B20014 */ lwc1 $f18, 0x14($sp) -/* 0741FC 7F03F6CC 46144181 */ sub.s $f6, $f8, $f20 -/* 074200 7F03F6D0 4606703C */ c.lt.s $f14, $f6 -/* 074204 7F03F6D4 00000000 */ nop -/* 074208 7F03F6D8 45000003 */ bc1f .L7F03F6E8 -/* 07420C 7F03F6DC 00000000 */ nop -.L7F03F6E0: -/* 074210 7F03F6E0 10000016 */ b .L7F03F73C -/* 074214 7F03F6E4 00001025 */ move $v0, $zero -.L7F03F6E8: -/* 074218 7F03F6E8 460A0102 */ mul.s $f4, $f0, $f10 -/* 07421C 7F03F6EC C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 074220 7F03F6F0 46121202 */ mul.s $f8, $f2, $f18 -/* 074224 7F03F6F4 46082180 */ add.s $f6, $f4, $f8 -/* 074228 7F03F6F8 460C5482 */ mul.s $f18, $f10, $f12 -/* 07422C 7F03F6FC C4C40030 */ lwc1 $f4, 0x30($a2) -/* 074230 7F03F700 46142200 */ add.s $f8, $f4, $f20 -/* 074234 7F03F704 46069400 */ add.s $f16, $f18, $f6 -/* 074238 7F03F708 4610403C */ c.lt.s $f8, $f16 -/* 07423C 7F03F70C 00000000 */ nop -/* 074240 7F03F710 45010008 */ bc1t .L7F03F734 -/* 074244 7F03F714 00000000 */ nop -/* 074248 7F03F718 C4CA002C */ lwc1 $f10, 0x2c($a2) -/* 07424C 7F03F71C 24020001 */ li $v0, 1 -/* 074250 7F03F720 46145481 */ sub.s $f18, $f10, $f20 -/* 074254 7F03F724 4612803C */ c.lt.s $f16, $f18 -/* 074258 7F03F728 00000000 */ nop -/* 07425C 7F03F72C 45000003 */ bc1f .L7F03F73C -/* 074260 7F03F730 00000000 */ nop -.L7F03F734: -/* 074264 7F03F734 10000001 */ b .L7F03F73C -/* 074268 7F03F738 00001025 */ move $v0, $zero -.L7F03F73C: -/* 07426C 7F03F73C D7B40008 */ ldc1 $f20, 8($sp) -/* 074270 7F03F740 03E00008 */ jr $ra -/* 074274 7F03F744 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03F748(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03F748 -/* 074278 7F03F748 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 07427C 7F03F74C AFBF0044 */ sw $ra, 0x44($sp) -/* 074280 7F03F750 AFBE0040 */ sw $fp, 0x40($sp) -/* 074284 7F03F754 AFB7003C */ sw $s7, 0x3c($sp) -/* 074288 7F03F758 AFB60038 */ sw $s6, 0x38($sp) -/* 07428C 7F03F75C AFB50034 */ sw $s5, 0x34($sp) -/* 074290 7F03F760 AFB40030 */ sw $s4, 0x30($sp) -/* 074294 7F03F764 AFB3002C */ sw $s3, 0x2c($sp) -/* 074298 7F03F768 AFB20028 */ sw $s2, 0x28($sp) -/* 07429C 7F03F76C AFB10024 */ sw $s1, 0x24($sp) -/* 0742A0 7F03F770 AFB00020 */ sw $s0, 0x20($sp) -/* 0742A4 7F03F774 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0742A8 7F03F778 AFA40048 */ sw $a0, 0x48($sp) -/* 0742AC 7F03F77C 8C8F0008 */ lw $t7, 8($a0) -/* 0742B0 7F03F780 00E0A025 */ move $s4, $a3 -/* 0742B4 7F03F784 00A0A825 */ move $s5, $a1 -/* 0742B8 7F03F788 8DF00000 */ lw $s0, ($t7) -/* 0742BC 7F03F78C 00C0B025 */ move $s6, $a2 -/* 0742C0 7F03F790 24130001 */ li $s3, 1 -/* 0742C4 7F03F794 12000050 */ beqz $s0, .L7F03F8D8 -/* 0742C8 7F03F798 241E0001 */ li $fp, 1 -/* 0742CC 7F03F79C 2417000A */ li $s7, 10 -/* 0742D0 7F03F7A0 96020000 */ lhu $v0, ($s0) -.L7F03F7A4: -/* 0742D4 7F03F7A4 8FA40048 */ lw $a0, 0x48($sp) -/* 0742D8 7F03F7A8 02002825 */ move $a1, $s0 -/* 0742DC 7F03F7AC 305800FF */ andi $t8, $v0, 0xff -/* 0742E0 7F03F7B0 17170038 */ bne $t8, $s7, .L7F03F894 -/* 0742E4 7F03F7B4 00003025 */ move $a2, $zero -/* 0742E8 7F03F7B8 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0742EC 7F03F7BC 8E120004 */ lw $s2, 4($s0) -/* 0742F0 7F03F7C0 1680000C */ bnez $s4, .L7F03F7F4 -/* 0742F4 7F03F7C4 00408825 */ move $s1, $v0 -/* 0742F8 7F03F7C8 02402025 */ move $a0, $s2 -/* 0742FC 7F03F7CC 0FC0FA47 */ jal sub_GAME_7F03E91C -/* 074300 7F03F7D0 00402825 */ move $a1, $v0 -/* 074304 7F03F7D4 C6240030 */ lwc1 $f4, 0x30($s1) -/* 074308 7F03F7D8 02402025 */ move $a0, $s2 -/* 07430C 7F03F7DC 02202825 */ move $a1, $s1 -/* 074310 7F03F7E0 0FC0FA1F */ jal sub_GAME_7F03E87C -/* 074314 7F03F7E4 46002500 */ add.s $f20, $f4, $f0 -/* 074318 7F03F7E8 C6260030 */ lwc1 $f6, 0x30($s1) -/* 07431C 7F03F7EC 10000017 */ b .L7F03F84C -/* 074320 7F03F7F0 46003080 */ add.s $f2, $f6, $f0 -.L7F03F7F4: -/* 074324 7F03F7F4 169E000C */ bne $s4, $fp, .L7F03F828 -/* 074328 7F03F7F8 02402025 */ move $a0, $s2 -/* 07432C 7F03F7FC 02402025 */ move $a0, $s2 -/* 074330 7F03F800 0FC0FA97 */ jal sub_GAME_7F03EA5C -/* 074334 7F03F804 02202825 */ move $a1, $s1 -/* 074338 7F03F808 C6280034 */ lwc1 $f8, 0x34($s1) -/* 07433C 7F03F80C 02402025 */ move $a0, $s2 -/* 074340 7F03F810 02202825 */ move $a1, $s1 -/* 074344 7F03F814 0FC0FA6F */ jal sub_GAME_7F03E9BC -/* 074348 7F03F818 46004500 */ add.s $f20, $f8, $f0 -/* 07434C 7F03F81C C62A0034 */ lwc1 $f10, 0x34($s1) -/* 074350 7F03F820 1000000A */ b .L7F03F84C -/* 074354 7F03F824 46005080 */ add.s $f2, $f10, $f0 -.L7F03F828: -/* 074358 7F03F828 0FC0FAE7 */ jal sub_GAME_7F03EB9C -/* 07435C 7F03F82C 02202825 */ move $a1, $s1 -/* 074360 7F03F830 C6300038 */ lwc1 $f16, 0x38($s1) -/* 074364 7F03F834 02402025 */ move $a0, $s2 -/* 074368 7F03F838 02202825 */ move $a1, $s1 -/* 07436C 7F03F83C 0FC0FABF */ jal sub_GAME_7F03EAFC -/* 074370 7F03F840 46008500 */ add.s $f20, $f16, $f0 -/* 074374 7F03F844 C6320038 */ lwc1 $f18, 0x38($s1) -/* 074378 7F03F848 46009080 */ add.s $f2, $f18, $f0 -.L7F03F84C: -/* 07437C 7F03F84C 16600006 */ bnez $s3, .L7F03F868 -/* 074380 7F03F850 0013102B */ sltu $v0, $zero, $s3 -/* 074384 7F03F854 C6A40000 */ lwc1 $f4, ($s5) -/* 074388 7F03F858 4614203C */ c.lt.s $f4, $f20 -/* 07438C 7F03F85C 00000000 */ nop -/* 074390 7F03F860 45000002 */ bc1f .L7F03F86C -/* 074394 7F03F864 00000000 */ nop -.L7F03F868: -/* 074398 7F03F868 E6B40000 */ swc1 $f20, ($s5) -.L7F03F86C: -/* 07439C 7F03F86C 14400006 */ bnez $v0, .L7F03F888 -/* 0743A0 7F03F870 00009825 */ move $s3, $zero -/* 0743A4 7F03F874 C6C60000 */ lwc1 $f6, ($s6) -/* 0743A8 7F03F878 4606103C */ c.lt.s $f2, $f6 -/* 0743AC 7F03F87C 00000000 */ nop -/* 0743B0 7F03F880 45000002 */ bc1f .L7F03F88C -/* 0743B4 7F03F884 00000000 */ nop -.L7F03F888: -/* 0743B8 7F03F888 E6C20000 */ swc1 $f2, ($s6) -.L7F03F88C: -/* 0743BC 7F03F88C 10000002 */ b .L7F03F898 -/* 0743C0 7F03F890 8E020014 */ lw $v0, 0x14($s0) -.L7F03F894: -/* 0743C4 7F03F894 8E020014 */ lw $v0, 0x14($s0) -.L7F03F898: -/* 0743C8 7F03F898 10400003 */ beqz $v0, .L7F03F8A8 -/* 0743CC 7F03F89C 00000000 */ nop -/* 0743D0 7F03F8A0 1000000B */ b .L7F03F8D0 -/* 0743D4 7F03F8A4 00408025 */ move $s0, $v0 -.L7F03F8A8: -/* 0743D8 7F03F8A8 12000009 */ beqz $s0, .L7F03F8D0 -/* 0743DC 7F03F8AC 00000000 */ nop -/* 0743E0 7F03F8B0 8E02000C */ lw $v0, 0xc($s0) -.L7F03F8B4: -/* 0743E4 7F03F8B4 50400004 */ beql $v0, $zero, .L7F03F8C8 -/* 0743E8 7F03F8B8 8E100008 */ lw $s0, 8($s0) -/* 0743EC 7F03F8BC 10000004 */ b .L7F03F8D0 -/* 0743F0 7F03F8C0 00408025 */ move $s0, $v0 -/* 0743F4 7F03F8C4 8E100008 */ lw $s0, 8($s0) -.L7F03F8C8: -/* 0743F8 7F03F8C8 5600FFFA */ bnezl $s0, .L7F03F8B4 -/* 0743FC 7F03F8CC 8E02000C */ lw $v0, 0xc($s0) -.L7F03F8D0: -/* 074400 7F03F8D0 5600FFB4 */ bnezl $s0, .L7F03F7A4 -/* 074404 7F03F8D4 96020000 */ lhu $v0, ($s0) -.L7F03F8D8: -/* 074408 7F03F8D8 8FBF0044 */ lw $ra, 0x44($sp) -/* 07440C 7F03F8DC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 074410 7F03F8E0 8FB00020 */ lw $s0, 0x20($sp) -/* 074414 7F03F8E4 8FB10024 */ lw $s1, 0x24($sp) -/* 074418 7F03F8E8 8FB20028 */ lw $s2, 0x28($sp) -/* 07441C 7F03F8EC 8FB3002C */ lw $s3, 0x2c($sp) -/* 074420 7F03F8F0 8FB40030 */ lw $s4, 0x30($sp) -/* 074424 7F03F8F4 8FB50034 */ lw $s5, 0x34($sp) -/* 074428 7F03F8F8 8FB60038 */ lw $s6, 0x38($sp) -/* 07442C 7F03F8FC 8FB7003C */ lw $s7, 0x3c($sp) -/* 074430 7F03F900 8FBE0040 */ lw $fp, 0x40($sp) -/* 074434 7F03F904 03E00008 */ jr $ra -/* 074438 7F03F908 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03F90C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03F90C -/* 07443C 7F03F90C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 074440 7F03F910 AFBF0014 */ sw $ra, 0x14($sp) -/* 074444 7F03F914 AFA70024 */ sw $a3, 0x24($sp) -/* 074448 7F03F918 AFA40018 */ sw $a0, 0x18($sp) -/* 07444C 7F03F91C 0FC0FDD2 */ jal sub_GAME_7F03F748 -/* 074450 7F03F920 00003825 */ move $a3, $zero -/* 074454 7F03F924 8FA40018 */ lw $a0, 0x18($sp) -/* 074458 7F03F928 8FA50024 */ lw $a1, 0x24($sp) -/* 07445C 7F03F92C 8FA60028 */ lw $a2, 0x28($sp) -/* 074460 7F03F930 0FC0FDD2 */ jal sub_GAME_7F03F748 -/* 074464 7F03F934 24070001 */ li $a3, 1 -/* 074468 7F03F938 8FBF0014 */ lw $ra, 0x14($sp) -/* 07446C 7F03F93C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 074470 7F03F940 03E00008 */ jr $ra -/* 074474 7F03F944 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03F948(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03F948 -/* 074478 7F03F948 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 07447C 7F03F94C AFBF001C */ sw $ra, 0x1c($sp) -/* 074480 7F03F950 AFB00018 */ sw $s0, 0x18($sp) -/* 074484 7F03F954 AFA5003C */ sw $a1, 0x3c($sp) -/* 074488 7F03F958 AFA60040 */ sw $a2, 0x40($sp) -/* 07448C 7F03F95C AFA70044 */ sw $a3, 0x44($sp) -/* 074490 7F03F960 C4A40000 */ lwc1 $f4, ($a1) -/* 074494 7F03F964 00808025 */ move $s0, $a0 -/* 074498 7F03F968 27A50024 */ addiu $a1, $sp, 0x24 -/* 07449C 7F03F96C E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0744A0 7F03F970 C4860004 */ lwc1 $f6, 4($a0) -/* 0744A4 7F03F974 E7A60030 */ swc1 $f6, 0x30($sp) -/* 0744A8 7F03F978 C4880008 */ lwc1 $f8, 8($a0) -/* 0744AC 7F03F97C 27A4002C */ addiu $a0, $sp, 0x2c -/* 0744B0 7F03F980 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 0744B4 7F03F984 E7A80034 */ swc1 $f8, 0x34($sp) -/* 0744B8 7F03F988 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 0744BC 7F03F98C 8FAF0044 */ lw $t7, 0x44($sp) -/* 0744C0 7F03F990 27A4002C */ addiu $a0, $sp, 0x2c -/* 0744C4 7F03F994 27A50024 */ addiu $a1, $sp, 0x24 -/* 0744C8 7F03F998 E5EA0000 */ swc1 $f10, ($t7) -/* 0744CC 7F03F99C 8FB8003C */ lw $t8, 0x3c($sp) -/* 0744D0 7F03F9A0 C7100004 */ lwc1 $f16, 4($t8) -/* 0744D4 7F03F9A4 E7B0002C */ swc1 $f16, 0x2c($sp) -/* 0744D8 7F03F9A8 C6120004 */ lwc1 $f18, 4($s0) -/* 0744DC 7F03F9AC E7B20030 */ swc1 $f18, 0x30($sp) -/* 0744E0 7F03F9B0 C6040008 */ lwc1 $f4, 8($s0) -/* 0744E4 7F03F9B4 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 0744E8 7F03F9B8 E7A40034 */ swc1 $f4, 0x34($sp) -/* 0744EC 7F03F9BC C7A60024 */ lwc1 $f6, 0x24($sp) -/* 0744F0 7F03F9C0 8FB90048 */ lw $t9, 0x48($sp) -/* 0744F4 7F03F9C4 27A4002C */ addiu $a0, $sp, 0x2c -/* 0744F8 7F03F9C8 27A50024 */ addiu $a1, $sp, 0x24 -/* 0744FC 7F03F9CC E7260000 */ swc1 $f6, ($t9) -/* 074500 7F03F9D0 C6080000 */ lwc1 $f8, ($s0) -/* 074504 7F03F9D4 8FA80040 */ lw $t0, 0x40($sp) -/* 074508 7F03F9D8 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 07450C 7F03F9DC C50A0004 */ lwc1 $f10, 4($t0) -/* 074510 7F03F9E0 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 074514 7F03F9E4 C6100008 */ lwc1 $f16, 8($s0) -/* 074518 7F03F9E8 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 07451C 7F03F9EC E7B00034 */ swc1 $f16, 0x34($sp) -/* 074520 7F03F9F0 C7B20028 */ lwc1 $f18, 0x28($sp) -/* 074524 7F03F9F4 8FA90044 */ lw $t1, 0x44($sp) -/* 074528 7F03F9F8 27A4002C */ addiu $a0, $sp, 0x2c -/* 07452C 7F03F9FC 27A50024 */ addiu $a1, $sp, 0x24 -/* 074530 7F03FA00 E5320004 */ swc1 $f18, 4($t1) -/* 074534 7F03FA04 C6040000 */ lwc1 $f4, ($s0) -/* 074538 7F03FA08 8FAA0040 */ lw $t2, 0x40($sp) -/* 07453C 7F03FA0C E7A4002C */ swc1 $f4, 0x2c($sp) -/* 074540 7F03FA10 C5460000 */ lwc1 $f6, ($t2) -/* 074544 7F03FA14 E7A60030 */ swc1 $f6, 0x30($sp) -/* 074548 7F03FA18 C6080008 */ lwc1 $f8, 8($s0) -/* 07454C 7F03FA1C 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 074550 7F03FA20 E7A80034 */ swc1 $f8, 0x34($sp) -/* 074554 7F03FA24 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 074558 7F03FA28 8FAB0048 */ lw $t3, 0x48($sp) -/* 07455C 7F03FA2C E56A0004 */ swc1 $f10, 4($t3) -/* 074560 7F03FA30 8FBF001C */ lw $ra, 0x1c($sp) -/* 074564 7F03FA34 8FB00018 */ lw $s0, 0x18($sp) -/* 074568 7F03FA38 27BD0038 */ addiu $sp, $sp, 0x38 -/* 07456C 7F03FA3C 03E00008 */ jr $ra -/* 074570 7F03FA40 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void scan_position_data_table_for_normal_object_at_preset(void) { - -} -#else -GLOBAL_ASM( -.text -glabel scan_position_data_table_for_normal_object_at_preset -/* 074574 7F03FA44 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 074578 7F03FA48 AFBF0014 */ sw $ra, 0x14($sp) -/* 07457C 7F03FA4C 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 074580 7F03FA50 AFA40018 */ sw $a0, 0x18($sp) -/* 074584 7F03FA54 8FA50018 */ lw $a1, 0x18($sp) -/* 074588 7F03FA58 10400010 */ beqz $v0, .L7F03FA9C -/* 07458C 7F03FA5C 00401825 */ move $v1, $v0 -/* 074590 7F03FA60 24020001 */ li $v0, 1 -/* 074594 7F03FA64 906E0000 */ lbu $t6, ($v1) -.L7F03FA68: -/* 074598 7F03FA68 544E000A */ bnel $v0, $t6, .L7F03FA94 -/* 07459C 7F03FA6C 8C630024 */ lw $v1, 0x24($v1) -/* 0745A0 7F03FA70 8C640004 */ lw $a0, 4($v1) -/* 0745A4 7F03FA74 00057C00 */ sll $t7, $a1, 0x10 -/* 0745A8 7F03FA78 000FC403 */ sra $t8, $t7, 0x10 -/* 0745AC 7F03FA7C 84990006 */ lh $t9, 6($a0) -/* 0745B0 7F03FA80 57190004 */ bnel $t8, $t9, .L7F03FA94 -/* 0745B4 7F03FA84 8C630024 */ lw $v1, 0x24($v1) -/* 0745B8 7F03FA88 10000005 */ b .L7F03FAA0 -/* 0745BC 7F03FA8C 00801025 */ move $v0, $a0 -/* 0745C0 7F03FA90 8C630024 */ lw $v1, 0x24($v1) -.L7F03FA94: -/* 0745C4 7F03FA94 5460FFF4 */ bnezl $v1, .L7F03FA68 -/* 0745C8 7F03FA98 906E0000 */ lbu $t6, ($v1) -.L7F03FA9C: -/* 0745CC 7F03FA9C 00001025 */ move $v0, $zero -.L7F03FAA0: -/* 0745D0 7F03FAA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0745D4 7F03FAA4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0745D8 7F03FAA8 03E00008 */ jr $ra -/* 0745DC 7F03FAAC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FAB0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FAB0 -/* 0745E0 7F03FAB0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0745E4 7F03FAB4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0745E8 7F03FAB8 AFB2001C */ sw $s2, 0x1c($sp) -/* 0745EC 7F03FABC AFB10018 */ sw $s1, 0x18($sp) -/* 0745F0 7F03FAC0 00A08825 */ move $s1, $a1 -/* 0745F4 7F03FAC4 00809025 */ move $s2, $a0 -/* 0745F8 7F03FAC8 AFB50028 */ sw $s5, 0x28($sp) -/* 0745FC 7F03FACC AFB40024 */ sw $s4, 0x24($sp) -/* 074600 7F03FAD0 AFB30020 */ sw $s3, 0x20($sp) -/* 074604 7F03FAD4 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 074608 7F03FAD8 AFB00014 */ sw $s0, 0x14($sp) -/* 07460C 7F03FADC 1040001A */ beqz $v0, .L7F03FB48 -/* 074610 7F03FAE0 00408025 */ move $s0, $v0 -/* 074614 7F03FAE4 27B50034 */ addiu $s5, $sp, 0x34 -/* 074618 7F03FAE8 27B40038 */ addiu $s4, $sp, 0x38 -/* 07461C 7F03FAEC 24130001 */ li $s3, 1 -/* 074620 7F03FAF0 920E0000 */ lbu $t6, ($s0) -.L7F03FAF4: -/* 074624 7F03FAF4 566E0012 */ bnel $s3, $t6, .L7F03FB40 -/* 074628 7F03FAF8 8E100024 */ lw $s0, 0x24($s0) -/* 07462C 7F03FAFC 8E0F0014 */ lw $t7, 0x14($s0) -/* 074630 7F03FB00 02002025 */ move $a0, $s0 -/* 074634 7F03FB04 02802825 */ move $a1, $s4 -/* 074638 7F03FB08 91F80003 */ lbu $t8, 3($t7) -/* 07463C 7F03FB0C 5638000C */ bnel $s1, $t8, .L7F03FB40 -/* 074640 7F03FB10 8E100024 */ lw $s0, 0x24($s0) -/* 074644 7F03FB14 0FC0F32C */ jal sub_GAME_7F03CCB0 -/* 074648 7F03FB18 02A03025 */ move $a2, $s5 -/* 07464C 7F03FB1C 02402025 */ move $a0, $s2 -/* 074650 7F03FB20 8FA50038 */ lw $a1, 0x38($sp) -/* 074654 7F03FB24 0FC0F336 */ jal sub_GAME_7F03CCD8 -/* 074658 7F03FB28 8FA60034 */ lw $a2, 0x34($sp) -/* 07465C 7F03FB2C 50400004 */ beql $v0, $zero, .L7F03FB40 -/* 074660 7F03FB30 8E100024 */ lw $s0, 0x24($s0) -/* 074664 7F03FB34 10000005 */ b .L7F03FB4C -/* 074668 7F03FB38 8E020004 */ lw $v0, 4($s0) -/* 07466C 7F03FB3C 8E100024 */ lw $s0, 0x24($s0) -.L7F03FB40: -/* 074670 7F03FB40 5600FFEC */ bnezl $s0, .L7F03FAF4 -/* 074674 7F03FB44 920E0000 */ lbu $t6, ($s0) -.L7F03FB48: -/* 074678 7F03FB48 00001025 */ move $v0, $zero -.L7F03FB4C: -/* 07467C 7F03FB4C 8FBF002C */ lw $ra, 0x2c($sp) -/* 074680 7F03FB50 8FB00014 */ lw $s0, 0x14($sp) -/* 074684 7F03FB54 8FB10018 */ lw $s1, 0x18($sp) -/* 074688 7F03FB58 8FB2001C */ lw $s2, 0x1c($sp) -/* 07468C 7F03FB5C 8FB30020 */ lw $s3, 0x20($sp) -/* 074690 7F03FB60 8FB40024 */ lw $s4, 0x24($sp) -/* 074694 7F03FB64 8FB50028 */ lw $s5, 0x28($sp) -/* 074698 7F03FB68 03E00008 */ jr $ra -/* 07469C 7F03FB6C 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - diff --git a/src/game/chrai.h b/src/game/chrai.h deleted file mode 100644 index 7d273dd..0000000 --- a/src/game/chrai.h +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef _CHRAI_H_ -#define _CHRAI_H_ -#include "ultra64.h" - -struct sfx_register_struct { - u32 field_0x0; - u32 field_0x4; - u32 field_0x8; - u32 field_0xc; - u32 field_0x10; - u32 field_0x14; -}; - -struct struct_0 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - void * anonymous_5; - int anonymous_6; -}; - -struct struct_5 { - int anonymous_0; - void * anonymous_1; - int anonymous_2; -}; - -struct struct_12 { - int anonymous_0; - char anonymous_1; - char anonymous_2; - char anonymous_3; - char anonymous_4; - int anonymous_5; - int anonymous_6; - void * anonymous_7; -}; - -struct struct_16 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - int anonymous_5; - void * anonymous_6; -}; - -struct struct_20 { - int anonymous_0; - int anonymous_1; - int anonymous_2; - int anonymous_3; - int anonymous_4; - int anonymous_5; - int anonymous_6; - int anonymous_7; - int anonymous_8; - int anonymous_9; - int anonymous_10; - int anonymous_11; - int anonymous_12; - int anonymous_13; - int anonymous_14; - int anonymous_15; - int anonymous_16; - int anonymous_17; - int anonymous_18; - void * anonymous_19; -}; - -extern u32 D_800312A0[]; -extern u32 D_800312B4[]; -extern u32 D_800312C8[]; -extern u32 D_800312F4[]; -extern u32 D_80031310[]; -extern struct struct_5 D_80031950[]; -extern struct struct_0 D_800319D4; -extern struct struct_0 D_800319F0; -extern struct struct_0 D_80031A0C; -extern struct struct_0 D_80031A28; -extern struct struct_0 D_80031A44; -extern struct struct_0 D_80031A60; -extern struct struct_0 D_80031A7C; -extern struct struct_0 D_80031A98; -extern struct struct_0 D_80031AB4; -extern struct struct_0 D_80031AD0; -extern struct struct_5 D_80031AEC[]; -extern struct struct_12 D_80031B10[]; -extern struct struct_12 D_80031B24[]; -extern struct struct_12 D_80031B38[]; -extern struct struct_12 D_80031B4C[]; -extern u32 D_80031B60[]; -extern struct struct_16 D_80031BB4; -extern struct struct_16 D_80031BD0; -extern struct struct_16 D_80031BEC; -extern u32 D_80031C08[]; -extern u32 D_80031C80[]; -extern u32 D_80031D30[]; -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 check_deactivate_gas_sound(void); - -#endif diff --git a/src/game/chrobjdata.c b/src/game/chrobjdata.c deleted file mode 100644 index b60d234..0000000 --- a/src/game/chrobjdata.c +++ /dev/null @@ -1,3086 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" -#include "game/chrobjdata.h" -// bss - - -/* global ai lists used for all levels */ -// data -//D:80037070 -u8 dword_D_80037070[] = { // GLIST_AIM_AT_BOND: continuously aim at bond with weapon - guard_try_fire_or_aim_at_target(TARGET_BOND | TARGET_AIM_ONLY, 0, 0x01) - goto_loop_infinite(0x01) - ai_list_end -}; - -//D:8003707C -u8 dword_D_8003707C[] = { // GLIST_END_ROUTINE: end routine (loop forever) - goto_loop_infinite(0x11) - ai_list_end -}; - -//D:80037084 -u8 dword_D_80037084[] = { // GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE: wait for bond detection (spawn clone when heard bond) - goto_loop_start(0x01) - if_chr_dying_or_dead(CHR_SELF, 0x11) // guard died, safely end list - if_guard_has_stopped_moving(0x06) // guard has stopped moving, safe to continue - goto_loop_repeat(0x01) - label(0x06) - if_guard_sees_bond(0x07) - if_guard_was_shot_within_last_10_secs(0x0D) - if_guard_heard_bond_within_last_10_secs(0x0E) - if_guard_shot_from_bond_missed(0x10) - if_guard_see_another_guard_shot(0x0D) - if_guard_see_another_guard_die(0x0D) - if_guard_playing_animation(0x03) // playing idle animation - random_generate_greater_than(1, 0x03) // 1/255 chance of playing idle animation - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_IDLE_RAND_ANIM_SUBROUTINE) // play idle animation and return to list - label(0x03) - goto_loop_repeat(0x01) - label(0x10) // bond shot near guard - random_generate_greater_than(127, 0x07) // 50% chance of playing looking around animation - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_STARTLE_CHR_AND_RUN_TO_BOND_SUBROUTINE) - label(0x07) // guard sees bond - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_FIRE_RAND_ANIM_SUBROUTINE) - label(0x0D) // guard saw another guard shot/die or guard was shot - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) - label(0x0E) // guard heard bond, attempt to spawn clone (only if chr has clone flag) - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_SPAWN_CLONE_OR_RUN_TO_BOND) - label(0x11) // guard has died, end routine - jump_to_ai_list(CHR_SELF, GLIST_END_ROUTINE) - ai_list_end -}; - -//D:800370DC -u8 dword_D_800370DC[] = { // GLIST_IDLE_RAND_ANIM_SUBROUTINE: play idle animation (subroutine) - random_generate_greater_than(50, 0x03) // generate annd compare random seed to see which animation to play - guard_play_animation(ANIM_yawning, 0, 193, ANIM_IDLE_POSE_WHEN_COMPLETE | ANIM_PLAY_SFX, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x03) - if_random_seed_greater_than(100, 0x03) - guard_play_animation(ANIM_swatting_flies, 0, 294, ANIM_IDLE_POSE_WHEN_COMPLETE | ANIM_PLAY_SFX, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x03) - if_random_seed_greater_than(150, 0x03) - guard_play_animation(ANIM_scratching_leg, 0, 183, ANIM_IDLE_POSE_WHEN_COMPLETE | ANIM_PLAY_SFX, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x03) - if_random_seed_greater_than(200, 0x03) - guard_play_animation(ANIM_scratching_butt, 0, 123, ANIM_IDLE_POSE_WHEN_COMPLETE | ANIM_PLAY_SFX, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x03) - if_random_seed_greater_than(250, 0x03) - guard_play_animation(ANIM_adjusting_crotch, 0, 56, ANIM_IDLE_POSE_WHEN_COMPLETE | ANIM_PLAY_SFX, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x03) - guard_play_animation(ANIM_sneeze, 0, 137, ANIM_IDLE_POSE_WHEN_COMPLETE | ANIM_PLAY_SFX, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x02) - jump_to_return_ai_list - ai_list_end -}; - -//D:8003713C -u8 dword_D_8003713C[] = { // GLIST_KEYBOARD_RAND_ANIM_SUBROUTINE: play use keyboard animation (subroutine) - random_generate_greater_than(60, 0x03) - guard_play_animation(ANIM_keyboard_right_hand1, 0, 69, 0x00, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x03) - if_random_seed_greater_than(120, 0x03) - guard_play_animation(ANIM_keyboard_right_hand2, 0, 74, 0x00, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x03) - if_random_seed_greater_than(180, 0x03) - guard_play_animation(ANIM_keyboard_left_hand, 0, 79, 0x00, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x03) - guard_play_animation(ANIM_keyboard_right_hand_tapping, 0, 89, 0x00, ANIM_DEFAULT_INTERPOLATION) - goto_next(0x02) // jump to end, we're done - label(0x02) - jump_to_return_ai_list - ai_list_end -}; - -//D:8003717C -u8 dword_D_8003717C[] = { // GLIST_DETECT_BOND_DEAF_NO_CLONE_NO_IDLE_ANIM: wait for bond detection (deaf/no clones/no idling) - goto_loop_start(0x01) // wait for guard to stop moving before branching to next logic - if_guard_has_stopped_moving(0x06) - goto_loop_repeat(0x01) - label(0x06) - if_guard_sees_bond(0x07) - if_guard_was_shot_within_last_10_secs(0x0D) - if_guard_shot_from_bond_missed(0x10) - if_guard_see_another_guard_shot(0x0D) - if_guard_see_another_guard_die(0x0D) - goto_loop_repeat(0x01) - label(0x10) // bond shot near guard - random_generate_greater_than(127, 0x07) // 50% chance of playing looking around animation - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_STARTLE_CHR_AND_RUN_TO_BOND_SUBROUTINE) - label(0x07) // guard sees bond - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_FIRE_RAND_ANIM_SUBROUTINE) - label(0x0D) // guard saw another guard shot/die or guard was shot - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) - ai_list_end -}; - -//D:800371B4 -u8 dword_D_800371B4[] = { // GLIST_FIRE_RAND_ANIM_SUBROUTINE: fire at bond with random animation (subroutine) - if_guard_bitfield_is_set_on(BITFIELD_DONT_POINT_AT_BOND, 0x03) // if guard already pointed at bond, goto label 03 - random_generate_greater_than(32, 0x03) // 12.5% chance of pointing to bond - guard_points_at_bond - guard_bitfield_set_on(BITFIELD_DONT_POINT_AT_BOND) // don't point again, thank you object permanence - jump_to_return_ai_list // guard pointed at bond, return to list - label(0x03) - guard_bitfield_set_on(BITFIELD_DONT_POINT_AT_BOND) // set flag so we don't point at bond, only do that for first time in list - guard_try_throwing_grenade(0x02) // attempt to throw grenade, depends on chr->grenadeprob value - label(0x03) - random_generate_greater_than(10, 0x03) - guard_try_firing_roll(0x02) - label(0x03) - random_generate_greater_than(10, 0x03) - guard_try_hopping_sideways(0x02) - label(0x03) - random_generate_greater_than(25, 0x03) - guard_try_sidestepping(0x02) - label(0x03) - random_generate_greater_than(50, 0x03) - guard_try_running_to_side(0x02) - label(0x03) - random_generate_greater_than(64, 0x03) - guard_try_firing_walk(0x02) // infinite ammo death sentence ;) - label(0x03) - if_random_seed_greater_than(127, 0x03) - guard_try_firing_run(0x02) - label(0x03) - random_generate_greater_than(127, 0x0B) - guard_try_fire_or_aim_at_target(TARGET_BOND, 0, 0x02) - label(0x0B) - guard_try_fire_or_aim_at_target_kneel(TARGET_BOND, 0, 0x02) - label(0x02) // guard did the thing, now go back home - jump_to_return_ai_list - ai_list_end -}; - -//D:8003720C -u8 dword_D_8003720C[] = { // GLIST_RUN_TO_BOND_SUBROUTINE: run to bond and fire (subroutine) - guard_bitfield_set_on(BITFIELD_DONT_POINT_AT_BOND) // guard is aware of bond, so don't point at him when first spotted - guard_try_running_to_bond_position(0x01) // goto loop if bond position is reachable - jump_to_return_ai_list // if guard can't reach bond, return to ai list (read guard_try_running_to_bond_position command info) - goto_loop_start(0x01) - if_guard_has_stopped_moving(0x06) - if_guard_sees_bond(0x07) // detected bond, goto attack list - goto_loop_repeat(0x01) - label(0x07) - jump_to_ai_list(CHR_SELF, GLIST_FIRE_RAND_ANIM_SUBROUTINE) - label(0x06) - jump_to_return_ai_list - ai_list_end -}; - -//D:80037224 -u8 dword_D_80037224[] = { // GLIST_SPAWN_CLONE_OR_RUN_TO_BOND: if chr has been seen, run to bond - else spawn clone - guard_bitfield_set_on(BITFIELD_DONT_POINT_AT_BOND) // guard is aware of bond, so don't point at him when first spotted - if_guard_has_not_been_seen(0x0E) // if guard has yet to be seen by bond, goto 0E - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) // guard has been seen, run to bond and fire - label(0x0E) - if_chr_does_not_exist(CHR_CLONE, 0x0E) // if clone doesn't exist, goto 0E - jump_to_ai_list(CHR_SELF, GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) // continue idling - label(0x0E) - chr_try_spawning_clone(CHR_SELF, GLIST_RUN_TO_BOND_AND_FIRE, 0x03) // attempt to spawn clone with run to bond list assigned, if success goto 03 - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) // guard failed to spawn (not enough memory/guard doesn't have clone flag on), just run at bond anyway - label(0x03) // if clone spawn was successful - jump_to_ai_list(CHR_SELF, GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) // set original chr to sit tight while the clone does all the work, giving the illusion that bunker ii is a crowded complex - ai_list_end -}; - -//D:80037248 -u8 dword_D_80037248[] = { // GLIST_RUN_TO_BOND_AND_FIRE: run to bond and fire - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) - ai_list_end -}; - -//D:80037250 -u8 dword_D_80037250[] = { // GLIST_DETECT_BOND_NO_CLONE_NO_IDLE_ANIM: wait for bond detection (no clones/no idling) - goto_loop_start(0x01) // wait for guard to stop moving before branching to next logic - if_guard_sees_bond(0x07) - if_guard_was_shot_within_last_10_secs(0x0D) - if_guard_heard_bond_within_last_10_secs(0x0D) - if_guard_shot_from_bond_missed(0x0D) - if_guard_see_another_guard_shot(0x0D) - if_guard_see_another_guard_die(0x0D) - goto_loop_repeat(0x01) - label(0x07) // guard sees bond - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_FIRE_RAND_ANIM_SUBROUTINE) - label(0x0D) // guard saw another guard shot/die or guard was shot - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) - label(0x0E) // unused spawn clone reaction for hearing bond, likely made game too difficult/slow - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_SPAWN_CLONE_OR_RUN_TO_BOND) - ai_list_end -}; - -//D:80037280 -u8 dword_D_80037280[] = { // GLIST_RUN_TO_CHR_PADPRESET_AND_ACTIVATE_ALARM: run to chr->padpreset1 and activate alarm - goto_loop_start(0x01) // wait for guard to stop moving before branching to next logic - if_guard_has_stopped_moving(0x06) - goto_loop_repeat(0x01) - label(0x06) - if_guard_sees_bond(0x0F) - if_guard_hits_missed_greater_than(0, 0x10) - if_guard_heard_bond_within_last_10_secs(0x10) - if_guard_see_another_guard_shot(0x10) - if_guard_see_another_guard_die(0x10) - goto_loop_repeat(0x01) - label(0x10) // a guard in sight was killed/shot, heard bond or bond shot guard - if_guard_hits_greater_than(0, 0x0F) // doesn't make sense why the guard would be mildly curious about getting shot - guard_looks_around_self - goto_loop_start(0x04) // wait for guard to stop moving before branching to next logic (triggered by look around animation) - if_guard_has_stopped_moving(0x0F) - goto_loop_repeat(0x04) - label(0x0F) - guard_runs_to_pad(PAD_PRESET) - goto_loop_start(0x03) // wait for guard to stop moving (reached destination/guard was shot) - if_guard_has_stopped_moving(0x02) - goto_loop_repeat(0x03) - label(0x02) - if_chr_meters_to_pad_greater_than(CHR_SELF, 1, PAD_PRESET, 0x02) // if guard is more than 1 meter away from alarm, skip to attack ai list - guard_try_triggering_alarm_at_pad(PAD_PRESET, 0x05) - goto_next(0x02) // didn't activate alarm (alarm destroyed?) - goto_loop_start(0x05) // wait for guard to finish activating alarm - if_guard_has_stopped_moving(0x02) - goto_loop_repeat(0x05) - label(0x02) - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) - ai_list_end -}; - -//D:800372D0 -u8 dword_D_800372D0[] = { // GLIST_STARTLE_CHR_AND_RUN_TO_BOND_SUBROUTINE: startle character (subroutine) - guard_looks_around_self // trigger animation - goto_loop_start(0x01) - if_guard_has_stopped_moving(0x02) // wait for chr to stop moving - goto_loop_repeat(0x01) - label(0x02) // chr stopped moving - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) - ai_list_end -}; - -//D:800372E0 -u8 dword_D_800372E0[] = { // GLIST_RUN_TO_BOND_AND_FIRE_HALT_CHR_RANDOMLY: forever chase bond and fire (halt randomly) - label(0x28) - guard_try_running_to_bond_position(0x1B) // goto loop if bond position is reachable - debug_log 'n','o',' ','g','o','!','\n', debug_log_end // guard can't reach bond - goto_loop_start(0x1B) - if_guard_and_bond_within_line_of_sight(0x06) - if_guard_has_stopped_moving(0x02) - goto_loop_repeat(0x1B) - label(0x01) - ai_sleep - if_guard_hits_less_than(6, 0x2D) - if_guard_flags_is_set_on(CHRFLAG_INVINCIBLE, 0x2F) - label(0x2D) - if_guard_has_stopped_moving(0x06) - if_guard_meters_to_bond_greater_than(20, 0x03) // if guard is further than 20 meters away from bond, goto 03 - goto_first(0x01) - label(0x03) - goto_first(0x28) - label(0x06) - if_guard_and_bond_within_line_of_sight(0x03) - goto_next(0x02) - label(0x24) - ai_sleep - if_guard_meters_to_bond_less_than(5, 0x03) // if guard is within 5 meters from bond, goto 03 - if_guard_has_stopped_moving(0x03) - goto_first(0x28) - label(0x03) - if_guard_flags_is_set_on(CHRFLAG_INVINCIBLE, 0x2F) - label(0x2B) - random_generate_greater_than(10, 0x03) - guard_try_throwing_grenade(0x02) // attempt to throw grenade, depends on chr->grenadeprob value - label(0x03) - if_random_seed_greater_than(50, 0x03) - guard_try_sidestepping(0x02) - label(0x03) - if_random_seed_greater_than(60, 0x03) - guard_try_firing_roll(0x02) - label(0x03) - if_random_seed_greater_than(80, 0x03) - guard_try_firing_roll(0x02) - label(0x03) - if_random_seed_greater_than(100, 0x03) - guard_try_firing_walk(0x02) - label(0x03) - if_random_seed_greater_than(150, 0x03) - guard_try_firing_run(0x02) - label(0x03) - if_random_seed_greater_than(200, 0x03) - guard_try_fire_or_aim_at_target(TARGET_BOND, 0, 0x02) - label(0x03) - guard_try_fire_or_aim_at_target_kneel(TARGET_BOND, 0, 0x02) - label(0x02) - if_guard_and_bond_within_line_of_sight(0x03) - goto_next(0x1B) - label(0x1B) - ai_sleep - random_generate_greater_than(160, 0x03) - goto_next(0x1C) - label(0x03) - ai_sleep - goto_first(0x01) - label(0x1C) - local_timer_reset_start - guard_try_running_to_bond_position(0x1D) - goto_loop_start(0x1D) - if_guard_has_stopped_moving(0x03) - if_local_timer_seconds_greater_than(1, 0x03) - goto_loop_repeat(0x1D) - label(0x03) - guard_animation_stop - debug_log 'w','a','i','t','\n', debug_log_end - guard_bitfield_set_off(0x04) - random_generate_greater_than(160, 0x03) - guard_bitfield_set_on(0x04) - label(0x03) - local_timer_reset_start - label(0x1E) - ai_sleep - if_guard_and_bond_within_line_of_sight(0x03) - if_guard_shot_from_bond_missed(0x03) - ai_sleep - if_local_timer_seconds_less_than(10, 0x04) // if timer less than 10 seconds, goto 04 - if_guard_bitfield_is_set_on(0x04, 0x05) - goto_first(0x28) - label(0x05) - goto_first(0x1C) - label(0x04) - goto_first(0x1E) - label(0x03) - goto_first(0x01) - label(0x2F) - if_guard_hits_less_than(6, 0x03) - guard_flags_set_off(CHRFLAG_INVINCIBLE) - label(0x03) - goto_first(0x2B) - ai_list_end -}; - -//D:800373D0 -u8 dword_D_800373D0[] = { // GLIST_WAIT_ONE_SECOND_SUBROUTINE: wait for one second (subroutine) - local_timer_reset_start - goto_loop_start(0x1B) - if_local_timer_seconds_greater_than(1, 0x03) // wait one second - goto_loop_repeat(0x1B) - label(0x03) - jump_to_return_ai_list - ai_list_end -}; - -//D:800373E0 -u8 dword_D_800373E0[] = { // GLIST_EXIT_LEVEL: exit level - exit_level - jump_to_ai_list(CHR_SELF, GLIST_END_ROUTINE) - ai_list_end -}; - -//D:800373E8 -u8 dword_D_800373E8[] = { // GLIST_DRAW_DD44_AND_FIRE: draw dd44 and fire - guard_set_speed_rating(40) // fast boi watch out! - guard_set_accuracy_rating(50) - label(0x03) - guard_try_facing_target(TARGET_BOND, 0, 0x03) - label(0x03) - local_timer_reset_start - goto_loop_start(0x1B) - if_local_timer_greater_than(20, 0x03) // wait 1/3 of a second - goto_loop_repeat(0x1B) - label(0x03) - guard_play_animation(ANIM_fire_standing_draw_one_handed_weapon_fast, 0, 20, ANIM_LOOP_HOLD_LAST_FRAME, ANIM_DEFAULT_INTERPOLATION) - goto_loop_start(0x1C) - if_guard_has_stopped_moving(0x03) - goto_loop_repeat(0x1C) - label(0x03) - guard_try_spawning_item(PROP_chrtt33, ITEM_TT33, 0, 0x03) - label(0x03) - guard_try_fire_or_aim_at_target(TARGET_BOND | TARGET_AIM_ONLY, 0, 0x03) // aim... - label(0x03) - guard_try_fire_or_aim_at_target_update(TARGET_BOND, 0, 0x03) // FIRE! - label(0x03) - goto_loop_start(0x1E) // loop until guard has stopped firing at bond - if_guard_has_stopped_moving(0x03) - goto_loop_repeat(0x1E) - label(0x03) - set_return_ai_list(GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) - jump_to_ai_list(CHR_SELF, GLIST_RUN_TO_BOND_SUBROUTINE) - ai_list_end -}; - -//D:80037444 -u8 dword_D_80037444[] = { // GLIST_REMOVE_CHR: remove chr - chr_remove_instant(CHR_SELF) // remove self - jump_to_ai_list(CHR_SELF, GLIST_END_ROUTINE) - ai_list_end -}; - -//D:8003744C -struct struct_13 D_8003744C[] = { // global ai lists (glists) - {dword_D_80037070, GLIST_AIM_AT_BOND}, - {dword_D_8003707C, GLIST_END_ROUTINE}, - {dword_D_80037084, GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE}, - {dword_D_800370DC, GLIST_IDLE_RAND_ANIM_SUBROUTINE}, - {dword_D_8003713C, GLIST_KEYBOARD_RAND_ANIM_SUBROUTINE}, - {dword_D_8003717C, GLIST_DETECT_BOND_DEAF_NO_CLONE_NO_IDLE_ANIM}, - {dword_D_800371B4, GLIST_FIRE_RAND_ANIM_SUBROUTINE}, - {dword_D_80037250, GLIST_DETECT_BOND_NO_CLONE_NO_IDLE_ANIM}, - {dword_D_8003720C, GLIST_RUN_TO_BOND_SUBROUTINE}, - {dword_D_80037280, GLIST_RUN_TO_CHR_PADPRESET_AND_ACTIVATE_ALARM}, - {dword_D_800372D0, GLIST_STARTLE_CHR_AND_RUN_TO_BOND_SUBROUTINE}, - {dword_D_80037224, GLIST_SPAWN_CLONE_OR_RUN_TO_BOND}, - {dword_D_80037248, GLIST_RUN_TO_BOND_AND_FIRE}, - {dword_D_800372E0, GLIST_RUN_TO_BOND_AND_FIRE_HALT_CHR_RANDOMLY}, - {dword_D_800373D0, GLIST_WAIT_ONE_SECOND_SUBROUTINE}, - {dword_D_800373E0, GLIST_EXIT_LEVEL}, - {dword_D_800373E8, GLIST_DRAW_DD44_AND_FIRE}, - {dword_D_80037444, GLIST_REMOVE_CHR} -}; -//D:800374DC -u32 D_800374DC[] = {0,0}; - -//D:800374E4 -char * setup_text_pointers[] = { - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "UsetupsevbunkerZ", - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,"UsetupsiloZ", - "UsetupsevbunkerZ","UsetupstatueZ","UsetupcontrolZ","UsetuparchZ","UsetuptraZ", - "UsetupdestZ","UsetupsevbZ","UsetupaztZ","UsetuppeteZ","UsetupdepoZ","UsetuprefZ", - "UsetupcrypZ","UsetupdamZ","UsetuparkZ","UsetuprunZ","UsetupsevxZ","UsetupjunZ", - "UsetupdishZ","UsetupcaveZ","UsetupcatZ","UsetupcradZ","UsetupshoZ","UsetupsevxbZ", - "UsetupeldZ","UsetupimpZ","UsetupashZ","UsetuplueZ","UsetupameZ","UsetupritZ", - "UsetupoatZ","UsetupearZ","UsetupleeZ","UsetuplipZ","UsetuplenZ","UsetupwaxZ", - "UsetuppamZ", NULL, NULL -}; - - -//D:800375D0 -struct PitemZ_header Palarm1z_header = {0, &model_object_standard_object, 0, 0, 1, 304.6402, 2, 0, 0}; -//D:800375F0 -struct PitemZ_header Palarm2Z_header = {0, &model_object_standard_object, 0, 0, 1, 208.22205, 3, 0, 0}; -//D:80037610 -struct PitemZ_header PexplosionbitZ_header = {0, &model_object_standard_object, 0, 0, 1, 208.22205, 0, 0, 0}; -//D:80037630 -struct PitemZ_header Pammo_crate1Z_header = {0, &model_object_standard_object, 0, 0, 1, 691.83429, 3, 0, 0}; -//D:80037650 -struct PitemZ_header Pammo_crate2Z_header = {0, &model_object_standard_object, 0, 0, 1, 691.83429, 4, 0, 0}; -//D:80037670 -struct PitemZ_header Pammo_crate3Z_header = {0, &model_object_standard_object, 0, 0, 1, 691.83429, 4, 0, 0}; -//D:80037690 -struct PitemZ_header Pammo_crate4Z_header = {0, &model_object_standard_object, 0, 0, 1, 691.83429, 5, 0, 0}; -//D:800376B0 -struct PitemZ_header Pammo_crate5Z_header = {0, &model_object_standard_object, 0, 0, 1, 691.83429, 5, 0, 0}; -//D:800376D0 -struct PitemZ_header Pbin1Z_header = {0, &model_object_standard_object, 0, 0, 1, 3027.6262, 2, 0}; -//D:800376F0 -struct PitemZ_header Pblotter1Z_header = {0, &model_object_standard_object, 0, 0, 1, 432.46707, 1, 0, 0}; -//D:80037710 -struct PitemZ_header Pbook1Z_header = {0, &model_object_standard_object, 0, 0, 1, 171.37482, 2, 0, }; -//D:80037730 -struct PitemZ_header Pbookshelf1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1166.7578, 0xD, 0, 0}; -//D:80037750 -struct PitemZ_header Pbridge_console1aZ_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 788.03992, 0xF, 0, 0}; -//D:80037770 -struct PitemZ_header Pbridge_console1bZ_header = {0, &prop_console_one_screen_related, 0, 0, 0x10001, 788.03992, 0x10, 0, 0}; -//D:80037790 -struct PitemZ_header Pbridge_console2aZ_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 788.03992, 0xF, 0, 0}; -//D:800377B0 -struct PitemZ_header Pbridge_console2bZ_header = {0, &model_object_standard_object, 0, 0, 1, 788.03992, 0xF, 0, 0}; -//D:800377D0 -struct PitemZ_header Pbridge_console3aZ_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 788.03992, 0xF, 0, 0}; -//D:800377F0 -struct PitemZ_header Pbridge_console3bZ_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 788.03992, 0x10, 0, 0}; -//D:80037810 -struct PitemZ_header Pcard_box1Z_header = {0, &model_object_standard_object, 0, 0, 1, 727.4613, 5, 0, 0}; -//D:80037830 -struct PitemZ_header Pcard_box2Z_header = {0, &model_object_standard_object, 0, 0, 1, 727.4613, 6, 0, 0}; -//D:80037850 -struct PitemZ_header Pcard_box3Z_header = {0, &model_object_standard_object, 0, 0, 1, 727.4613, 5, 0, 0}; -//D:80037870 -struct PitemZ_header Pcard_box4_lgZ_header = {0, &model_object_standard_object, 0, 0, 1, 800.2074, 4, 0, 0}; -//D:80037890 -struct PitemZ_header Pcard_box5_lgZ_header = {0, &model_object_standard_object, 0, 0, 1, 800.2074, 5, 0, 0}; -//D:800378B0 -struct PitemZ_header Pcard_box6_lgZ_header = {0, &model_object_standard_object, 0, 0, 1, 800.2074, 5, 0, 0}; -//D:800378D0 -struct PitemZ_header PcctvZ_header = {0, &prop_cctv_related, 0, 0, 0x40002, 558.90094, 6, 0}; -//D:800378F0 -struct PitemZ_header Pconsole1Z_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 1611.2357, 0xA, 0, 0}; -//D:80037910 -struct PitemZ_header Pconsole2Z_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 1611.2357, 0xA, 0, 0}; -//D:80037930 -struct PitemZ_header Pconsole3Z_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 1611.2357, 0xA, 0, 0}; -//D:80037950 -struct PitemZ_header Pconsole_sevaZ_header = {0, &model_object_standard_object, 0, 0, 1, 994.23688, 0xE, 0, 0}; -//D:80037970 -struct PitemZ_header Pconsole_sevbZ_header = {0, &prop_console_one_screen_related, 0, 0, 0x10001, 994.23688, 0xB, 0, 0}; -//D:80037990 -struct PitemZ_header Pconsole_sevcZ_header = {0, &model_object_standard_object, 0, 0, 1, 994.23688, 0xF, 0, 0}; -//D:800379B0 -struct PitemZ_header Pconsole_sevdZ_header = {0, &model_object_standard_object, 0, 0, 1, 994.23688, 0xD, 0, 0}; -//D:800379D0 -struct PitemZ_header Pconsole_sev2aZ_header = {0, &model_object_standard_object, 0, 0, 1, 994.23688, 0xD, 0, 0}; -//D:800379F0 -struct PitemZ_header Pconsole_sev2bZ_header = {0, &prop_console_one_screen_related, 0, 0, 0x10001, 994.23688, 0xD, 0, 0}; -//D:80037A10 -struct PitemZ_header Pconsole_sev2cZ_header = {0, &model_object_standard_object, 0, 0, 1, 994.23688, 0xF, 0, 0}; -//D:80037A30 -struct PitemZ_header Pconsole_sev2dZ_header = {0, &model_object_standard_object, 0, 0, 1, 994.23688, 0xD, 0, 0}; -//D:80037A50 -struct PitemZ_header Pconsole_sev_GEaZ_header = {0, &model_object_standard_object, 0, 0, 1, 994.23688, 0xD, 0, 0}; -//D:80037A70 -struct PitemZ_header Pconsole_sev_GEbZ_header = {0, &model_object_standard_object, 0, 0, 1, 994.23688, 0xD, 0, 0}; -//D:80037A90 -struct PitemZ_header Pdesk1Z_header = {0, &model_object_standard_object, 0, 0, 1, 957.18225, 3, 0, }; -//D:80037AB0 -struct PitemZ_header Pdesk2Z_header = {0, &model_object_standard_object, 0, 0, 1, 957.18225, 3, 0, }; -//D:80037AD0 -struct PitemZ_header Pdesk_lamp2Z_header = {0, &model_object_standard_object, 0, 0, 1, 804.59833, 4, 0, 0}; -//D:80037AF0 -struct PitemZ_header Pdisc_readerZ_header = {0, &model_object_standard_object, 0, 0, 1, 214.33035, 6, 0, 0}; -//D:80037B10 -struct PitemZ_header Pdisk_drive1Z_header = {0, &model_object_standard_object, 0, 0, 1, 191.85779, 4, 0, 0}; -//D:80037B30 -struct PitemZ_header Pfiling_cabinet1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1055.5693, 2, 0, 0}; -//D:80037B50 -struct PitemZ_header Pjerry_can1Z_header = {0, &model_object_standard_object, 0, 0, 1, 366.61932, 4, 0, 0}; -//D:80037B70 -struct PitemZ_header Pkeyboard1Z_header = {0, &model_object_standard_object, 0, 0, 1, 278.23227, 2, 0, 0}; -//D:80037B90 -struct PitemZ_header Pkit_units1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1661.4763, 4, 0, 0}; -//D:80037BB0 -struct PitemZ_header Pletter_tray1Z_header = {0, &model_object_standard_object, 0, 0, 1, 252.06836, 1, 0, 0}; -//D:80037BD0 -struct PitemZ_header Pmainframe1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1119.4073, 7, 0, 0}; -//D:80037BF0 -struct PitemZ_header Pmainframe2Z_header = {0, &model_object_standard_object, 0, 0, 1, 1119.4073, 7, 0, 0}; -//D:80037C10 -struct PitemZ_header Pmetal_chair1Z_header = {0, &model_object_standard_object, 0, 0, 1, 639.18097, 2, 0, 0}; -//D:80037C30 -struct PitemZ_header Pmetal_crate1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1010.363, 3, 0, 0}; -//D:80037C50 -struct PitemZ_header Pmetal_crate2Z_header = {0, &model_object_standard_object, 0, 0, 1, 1010.363, 3, 0, 0}; -//D:80037C70 -struct PitemZ_header Pmetal_crate3Z_header = {0, &model_object_standard_object, 0, 0, 1, 1010.363, 2, 0, 0}; -//D:80037C90 -struct PitemZ_header Pmetal_crate4Z_header = {0, &model_object_standard_object, 0, 0, 1, 1010.363, 3, 0, 0}; -//D:80037CB0 -struct PitemZ_header Pmissile_rackZ_header = {0, &model_object_standard_object, 0, 0, 1, 964.16296, 4, 0, 0}; -//D:80037CD0 -struct PitemZ_header Pmissile_rack2Z_header = {0, &model_object_standard_object, 0, 0, 1, 1148.4724, 4, 0, 0}; -//D:80037CF0 -struct PitemZ_header Poil_drum1Z_header = {0, &model_object_standard_object, 0, 0, 1, 745.45892, 2, 0, 0}; -//D:80037D10 -struct PitemZ_header Poil_drum2Z_header = {0, &model_object_standard_object, 0, 0, 1, 745.45892, 4, 0, 0}; -//D:80037D30 -struct PitemZ_header Poil_drum3Z_header = {0, &model_object_standard_object, 0, 0, 1, 745.45892, 4, 0, 0}; -//D:80037D50 -struct PitemZ_header Poil_drum5Z_header = {0, &model_object_standard_object, 0, 0, 1, 745.45892, 3, 0, 0}; -//D:80037D70 -struct PitemZ_header Poil_drum6Z_header = {0, &model_object_standard_object, 0, 0, 1, 745.45892, 3, 0, 0}; -//D:80037D90 -struct PitemZ_header Poil_drum7Z_header = {0, &model_object_standard_object, 0, 0, 1, 745.45892, 4, 0, 0}; -//D:80037DB0 -struct PitemZ_header PpadlockZ_header = {0, &model_object_standard_object, 0, 0, 1, 225.64145, 4, 0, 0}; -//D:80037DD0 -struct PitemZ_header Pphone1Z_header = {0, &model_object_standard_object, 0, 0, 1, 166.03481, 2, 0, 0}; -//D:80037DF0 -struct PitemZ_header Pradio_unit1Z_header = {0, &model_object_standard_object, 0, 0, 1, 354.59534, 5, 0, 0}; -//D:80037E10 -struct PitemZ_header Pradio_unit2Z_header = {0, &model_object_standard_object, 0, 0, 1, 354.59534, 5, 0, 0}; -//D:80037E30 -struct PitemZ_header Pradio_unit3Z_header = {0, &model_object_standard_object, 0, 0, 1, 354.59534, 5, 0, 0}; -//D:80037E50 -struct PitemZ_header Pradio_unit4Z_header = {0, &model_object_standard_object, 0, 0, 1, 354.59534, 5, 0, 0}; -//D:80037E70 -struct PitemZ_header Psat1_reflectZ_header = {0, &model_object_standard_object, 0, 0, 1, 5185.9409, 0xD, 0, 0}; -//D:80037E90 -struct PitemZ_header PsatdishZ_header = {0, &model_object_standard_object, 0, 0, 1, 2437.468, 2, 0, 0}; -//D:80037EB0 -struct PitemZ_header PsatboxZ_header = {0, &model_object_standard_object, 0, 0, 1, 89.935875, 1, 0, 0}; -//D:80037ED0 -struct PitemZ_header Pstool1Z_header = {0, &model_object_standard_object, 0, 0, 1, 353.11398, 2, 0, 0}; -//D:80037EF0 -struct PitemZ_header Pswivel_chair1Z_header = {0, &model_object_standard_object, 0, 0, 1, 581.16394, 3, 0, 0}; -//D:80037F10 -struct PitemZ_header Ptorpedo_rackZ_header = {0, &model_object_standard_object, 0, 0, 1, 765.61725, 3, 0, 0}; -//D:80037F30 -struct PitemZ_header Ptv1Z_header = {0, &prop_console_one_screen_related, 0, 0, 0x10001, 347.0235, 5, 0}; -//D:80037F50 -struct PitemZ_header Ptv_holderZ_header = {0, &prop_tv_holder_related, 0, 0, 0x40005, 1352.4841, 2, 0, 0}; -//D:80037F70 -struct PitemZ_header PtvscreenZ_header = {0, &prop_console_one_screen_related, 0, 0, 0x10001, 211.74477, 1, 0, 0}; -//D:80037F90 -struct PitemZ_header Ptv4screenZ_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 211.74477, 1, 0, 0}; -//D:80037FB0 -struct PitemZ_header Pwood_lg_crate1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1010.363, 3, 0, 0}; -//D:80037FD0 -struct PitemZ_header Pwood_lg_crate2Z_header = {0, &model_object_standard_object, 0, 0, 1, 1010.363, 2, 0, 0}; -//D:80037FF0 -struct PitemZ_header Pwood_md_crate3Z_header = {0, &model_object_standard_object, 0, 0, 1, 909.32666, 2, 0, 0}; -//D:80038010 -struct PitemZ_header Pwood_sm_crate4Z_header = {0, &model_object_standard_object, 0, 0, 1, 727.4613, 3, 0, 0}; -//D:80038030 -struct PitemZ_header Pwood_sm_crate5Z_header = {0, &model_object_standard_object, 0, 0, 1, 727.4613, 4, 0, 0}; -//D:80038050 -struct PitemZ_header Pwood_sm_crate6Z_header = {0, &model_object_standard_object, 0, 0, 1, 727.4613, 4, 0, 0}; -//D:80038070 -struct PitemZ_header Pwooden_table1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1095.1365, 2, 0, 0}; -//D:80038090 -struct PitemZ_header Pswipe_card2Z_header = {0, &model_object_standard_object, 0, 0, 1, 123.088844, 2, 0, 0}; -//D:800380B0 -struct PitemZ_header Pborg_crateZ_header = {0, &model_object_standard_object, 0, 0, 1, 1010.363, 1, 0, 0}; -//D:800380D0 -struct PitemZ_header Pboxes4x4Z_header = {0, &model_object_standard_object, 0, 0, 1, 2424.8711, 7, 0, 0}; -//D:800380F0 -struct PitemZ_header Pboxes3x4Z_header = {0, &model_object_standard_object, 0, 0, 1, 2241.0935, 6, 0, 0}; -//D:80038110 -struct PitemZ_header Pboxes2x4Z_header = {0, &model_object_standard_object, 0, 0, 1, 2100.0, 6, 0, 0}; -//D:80038130 -struct PitemZ_header Psec_panelZ_header = {0, &model_object_standard_object, 0, 0, 1, 1567.2454, 3, 0, 0}; -//D:80038150 -struct PitemZ_header PICBM_noseZ_header = {0, &model_object_standard_object, 0, 0, 1, 2782.7126, 8, 0, 0}; -//D:80038170 -struct PitemZ_header PICBMZ_header = {0, &model_object_standard_object, 0, 0, 1, 14790.535, 0xE, 0}; -//D:80038190 -struct PitemZ_header Ptuning_console1Z_header = {0, &prop_console_one_screen_related, 0, 0, 0x10001, 1139.5872, 0xE, 0, 0}; -//D:800381B0 -struct PitemZ_header Pdesk_arecibo1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1829.1477, 3, 0, 0}; -//D:800381D0 -struct PitemZ_header Plocker3Z_header = {0, &model_object_standard_object, 0, 0, 1, 916.99805, 3, 0, 0}; -//D:800381F0 -struct PitemZ_header Plocker4Z_header = {0, &model_object_standard_object, 0, 0, 1, 916.99805, 3, 0, 0}; -//D:80038210 -struct PitemZ_header ProofgunZ_header = {0, &prop_rotating_stuff_related, 0, 0, 0x80005, 1910.908, 0xE, 0, 0}; -//D:80038230 -struct PitemZ_header Pdest_engineZ_header = {0, &model_object_standard_object, 0, 0, 1, 6459.439, 0xA, 0, 0}; -//D:80038250 -struct PitemZ_header Pdest_exocetZ_header = {0, &model_object_standard_object, 0, 0, 1, 1644.8435, 8, 0, 0}; -//D:80038270 -struct PitemZ_header Pdest_gunZ_header = {0, &model_object_standard_object, 0, 0, 1, 2124.0735, 5, 0, 0}; -//D:80038290 -struct PitemZ_header Pdest_harpoonZ_header = {0, &model_object_standard_object, 0, 0, 1, 1798.7655, 5, 0, 0}; -//D:800382B0 -struct PitemZ_header Pdest_seawolfZ_header = {0, &model_object_standard_object, 0, 0, 1, 2282.0623, 0xA, 0, 0}; -//D:800382D0 -struct PitemZ_header PwindowZ_header = {0, &model_object_standard_object, 0, 0, 1, 423.48956, 1, 0, 0}; -//D:800382F0 -struct PitemZ_header Pwindow_lib_lg1Z_header = {0, &model_object_standard_object, 0, 0, 1, 835.20624, 1, 0, 0}; -//D:80038310 -struct PitemZ_header Pwindow_lib_sm1Z_header = {0, &model_object_standard_object, 0, 0, 1, 601.28625, 1, 0, 0}; -//D:80038330 -struct PitemZ_header Pwindow_cor11Z_header = {0, &model_object_standard_object, 0, 0, 1, 414.53622, 1, 0, 0}; -//D:80038350 -struct PitemZ_header Pjungle3_treeZ_header = {0, &model_object_standard_object, 0, 0, 1, 28729.467, 5, 0, 0}; -//D:80038370 -struct PitemZ_header PpalmZ_header = {0, &model_object_standard_object, 0, 0, 1, 15501.406, 3, 0}; -//D:80038390 -struct PitemZ_header PpalmtreeZ_header = {0, &model_object_standard_object, 0, 0, 1, 1781.4542, 2, 0, 0}; -//D:800383B0 -struct PitemZ_header Pplant2bZ_header = {0, &model_object_standard_object, 0, 0, 1, 1252.9539, 2, 0, 0}; -//D:800383D0 -struct PitemZ_header PlabbenchZ_header = {0, &model_object_standard_object, 0, 0, 1, 844.09717, 4, 0, 0}; -//D:800383F0 -struct PitemZ_header PgasbarrelZ_header = {0, &model_object_standard_object, 0, 0, 1, 725.94379, 2, 0, 0}; -//D:80038410 -struct PitemZ_header PgasbarrelsZ_header = {0, &model_object_standard_object, 0, 0, 1, 1174.1927, 2, 0, 0}; -//D:80038430 -struct PitemZ_header PbodyarmourZ_header = {0, &model_object_standard_object, 0, 0, 1, 246.94099, 7, 0, 0}; -//D:80038450 -struct PitemZ_header PbodyarmourvestZ_header = {0, &model_object_standard_object, 0, 0, 1, 241.82211, 2, 0, 0}; -//D:80038470 -struct PitemZ_header PgastankZ_header = {0, &model_object_standard_object, 0, 0, 1, 1130.0691, 5, 0, 0}; -//D:80038490 -struct PitemZ_header Pglassware1Z_header = {0, &model_object_standard_object, 0, 0, 1, 72.111031, 1, 0, 0}; -//D:800384B0 -struct PitemZ_header PhatchboltZ_header = {0, &model_object_standard_object, 0, 0, 1, 2236.0679, 1, 0, 0}; -//D:800384D0 -struct PitemZ_header PbrakeunitZ_header = {0, &model_object_standard_object, 0, 0, 1, 801.95074, 4, 0, 0}; -//D:800384F0 -struct PitemZ_header Pak47magZ_header = {0, &model_object_standard_object, 0, 0, 1, 107.11019, 2, 0, 0}; -//D:80038510 -struct PitemZ_header Pm16magZ_header = {0, &model_object_standard_object, 0, 0, 1, 87.934891, 2, 0, 0}; -//D:80038530 -struct PitemZ_header Pmp5kmagZ_header = {0, &model_object_standard_object, 0, 0, 1, 119.547295, 2, 0, 0}; -//D:80038550 -struct PitemZ_header PskorpionmagZ_header = {0, &model_object_standard_object, 0, 0, 1, 58.428444, 2, 0, 0}; -//D:80038570 -struct PitemZ_header PspectremagZ_header = {0, &model_object_standard_object, 0, 0, 1, 99.01432, 2, 0, 0}; -//D:80038590 -struct PitemZ_header PuzimagZ_header = {0, &model_object_standard_object, 0, 0, 1, 74.28373, 2, 0, 0}; -//D:800385B0 -struct PitemZ_header PsilencerZ_header = {0, &model_object_standard_object, 0, 0, 1, 63.915436, 3, 0, 0}; -//D:800385D0 -struct PitemZ_header PchrextinguisherZ_header = {0, &model_object_standard_object, 0, 0, 1, 425.50903, 2, 0, 0}; -//D:800385F0 -struct PitemZ_header PboxcartridgesZ_header = {0, &model_object_standard_object, 0, 0, 1, 66.81916, 3, 0, 0}; -//D:80038610 -struct PitemZ_header Pfnp90magZ_header = {0, &model_object_standard_object, 0, 0, 1, 176.28201, 2, 0, 0}; -//D:80038630 -struct PitemZ_header PgoldenshellsZ_header = {0, &model_object_standard_object, 0, 0, 1, 66.81916, 3, 0, 0}; -//D:80038650 -struct PitemZ_header PmagnumshellsZ_header = {0, &model_object_standard_object, 0, 0, 1, 66.81916, 3, 0, 0}; -//D:80038670 -struct PitemZ_header PwppkmagZ_header = {0, &model_object_standard_object, 0, 0, 1, 74.28373, 2, 0, 0}; -//D:80038690 -struct PitemZ_header Ptt33magZ_header = {0, &model_object_standard_object, 0, 0, 1, 74.28373, 2, 0, 0}; -//D:800386B0 -struct PitemZ_header Psev_doorZ_header = {0, &model_object_standard_object, 0, 0, 1, 1143.7695, 3, 0, 0}; -//D:800386D0 -struct PitemZ_header Psev_door3Z_header = {0, &model_object_standard_object, 0, 0, 1, 1143.5603, 6, 0, 0}; -//D:800386F0 -struct PitemZ_header Psev_door3_windZ_header = {0, &model_object_standard_object, 0, 0, 1, 1143.5603, 5, 0, 0}; -//D:80038710 -struct PitemZ_header Psev_door4_windZ_header = {0, &prop_door_related, 0, 0, 0x40001, 1143.5603, 8, 0, 0}; -//D:80038730 -struct PitemZ_header Psev_trislideZ_header = {0, &prop_door_related, 0, 0, 0x40001, 950.54327, 2, 0, 0}; -//D:80038750 -struct PitemZ_header Psev_door_v1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1137.8739, 6, 0, 0}; -//D:80038770 -struct PitemZ_header Psteel_door1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1137.8739, 4, 0, 0}; -//D:80038790 -struct PitemZ_header Psteel_door2Z_header = {0, &model_object_standard_object, 0, 0, 1, 1137.8739, 9, 0, 0}; -//D:800387B0 -struct PitemZ_header Psteel_door3Z_header = {0, &model_object_standard_object, 0, 0, 1, 1137.8739, 9, 0, 0}; -//D:800387D0 -struct PitemZ_header Psilo_lift_doorZ_header = {0, &model_object_standard_object, 0, 0, 1, 600.71082, 4, 0, 0}; -//D:800387F0 -struct PitemZ_header Psteel_door2bZ_header = {0, &model_object_standard_object, 0, 0, 1, 1137.8739, 9, 0, 0}; -//D:80038810 -struct PitemZ_header Pdoor_roller1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1032.125, 4, 0, 0}; -//D:80038830 -struct PitemZ_header Pdoor_roller2Z_header = {0, &model_object_standard_object, 0, 0, 1, 1032.125, 4, 0, 0}; -//D:80038850 -struct PitemZ_header Pdoor_roller3Z_header = {0, &model_object_standard_object, 0, 0, 1, 1032.125, 4, 0, 0}; -//D:80038870 -struct PitemZ_header Pdoor_roller4Z_header = {0, &model_object_standard_object, 0, 0, 1, 1032.125, 4, 0, 0}; -//D:80038890 -struct PitemZ_header Pdoor_st_arec1Z_header = {0, &model_object_standard_object, 0, 0, 1, 763.03589, 3, 0, 0}; -//D:800388B0 -struct PitemZ_header Pdoor_st_arec2Z_header = {0, &model_object_standard_object, 0, 0, 1, 763.03589, 3, 0, 0}; -//D:800388D0 -struct PitemZ_header Pdoor_dest1Z_header = {0, &model_object_standard_object, 0, 0, 1, 461.3873, 3, 0, 0}; -//D:800388F0 -struct PitemZ_header Pdoor_dest2Z_header = {0, &model_object_standard_object, 0, 0, 1, 461.3873, 5, 0, 0}; -//D:80038910 -struct PitemZ_header Pgas_plant_sw_do1Z_header = {0, &model_object_standard_object, 0, 0, 1, 862.29706, 4, 0, 0}; -//D:80038930 -struct PitemZ_header Pgas_plant_sw2_do1Z_header = {0, &model_object_standard_object, 0, 0, 1, 862.88489, 2, 0, 0}; -//D:80038950 -struct PitemZ_header Pgas_plant_sw3_do1Z_header = {0, &model_object_standard_object, 0, 0, 1, 862.88489, 2, 0, 0}; -//D:80038970 -struct PitemZ_header Pgas_plant_sw4_do1Z_header = {0, &model_object_standard_object, 0, 0, 1, 862.88489, 1, 0, 0}; -//D:80038990 -struct PitemZ_header Pgas_plant_met1_do1Z_header = {0, &model_object_standard_object, 0, 0, 1, 862.88489, 5, 0, 0}; -//D:800389B0 -struct PitemZ_header Pgas_plant_wc_cub1Z_header = {0, &model_object_standard_object, 0, 0, 1, 783.8501, 3, 0, 0}; -//D:800389D0 -struct PitemZ_header Pgasplant_clear_doorZ_header = {0, &prop_door_related, 0, 0, 0x40001, 1025.0952, 2, 0, 0}; -//D:800389F0 -struct PitemZ_header Ptrain_doorZ_header = {0, &model_object_standard_object, 0, 0, 1, 456.99615, 3, 0, 0}; -//D:80038A10 -struct PitemZ_header Ptrain_door2Z_header = {0, &prop_door_related, 0, 0, 0x40001, 445.98541, 3, 0, 0}; -//D:80038A30 -struct PitemZ_header Ptrain_door3Z_header = {0, &prop_door_related, 0, 0, 0x40001, 445.98541, 4, 0, 0}; -//D:80038A50 -struct PitemZ_header Pdoor_eyelidZ_header = {0, &prop_eyelid_door_related, 0, 0, 0x30003, 3165.4348, 3, 0, 0}; -//D:80038A70 -struct PitemZ_header Pdoor_irisZ_header = {0, &prop_iris_door_related, 0, 0, 0xD000D, 1621.3601, 5, 0, 0}; -//D:80038A90 -struct PitemZ_header PsevdoorwoodZ_header = {0, &prop_door_related, 0, 0, 0x40001, 851.62671, 3, 0, 0}; -//D:80038AB0 -struct PitemZ_header PsevdoorwindZ_header = {0, &prop_door_related, 0, 0, 0x40001, 851.62671, 5, 0, 0}; -//D:80038AD0 -struct PitemZ_header PsevdoornowindZ_header = {0, &model_object_standard_object, 0, 0, 1, 863.03766, 2, 0, 0}; -//D:80038AF0 -struct PitemZ_header PsevdoormetslideZ_header = {0, &model_object_standard_object, 0, 0, 1, 863.74707, 2, 0, 0}; -//D:80038B10 -struct PitemZ_header Pcryptdoor1aZ_header = {0, &model_object_standard_object, 0, 0, 1, 502.64923, 2, 0, 0}; -//D:80038B30 -struct PitemZ_header Pcryptdoor1bZ_header = {0, &model_object_standard_object, 0, 0, 1, 400.97537, 2, 0, 0}; -//D:80038B50 -struct PitemZ_header Pcryptdoor2aZ_header = {0, &model_object_standard_object, 0, 0, 1, 502.64923, 2, 0, 0}; -//D:80038B70 -struct PitemZ_header Pcryptdoor2bZ_header = {0, &model_object_standard_object, 0, 0, 1, 400.97537, 2, 0, 0}; -//D:80038B90 -struct PitemZ_header Pcryptdoor3Z_header = {0, &model_object_standard_object, 0, 0, 1, 801.95074, 3, 0, 0}; -//D:80038BB0 -struct PitemZ_header Pcryptdoor4Z_header = {0, &model_object_standard_object, 0, 0, 1, 801.95074, 1, 0, 0}; -//D:80038BD0 -struct PitemZ_header PvertdoorZ_header = {0, &model_object_standard_object, 0, 0, 1, 1997.2246, 5, 0, 0}; -//D:80038BF0 -struct PitemZ_header PhatchdoorZ_header = {0, &model_object_standard_object, 0, 0, 1, 192.1653, 1, 0, 0}; -//D:80038C10 -struct PitemZ_header PdamgatedoorZ_header = {0, &model_object_standard_object, 0, 0, 1, 308.36456, 3, 0, 0}; -//D:80038C30 -struct PitemZ_header PdamtundoorZ_header = {0, &model_object_standard_object, 0, 0, 1, 127.89996, 4, 0, 0}; -//D:80038C50 -struct PitemZ_header PdamchaindoorZ_header = {0, &model_object_standard_object, 0, 0, 1, 171.36655, 2, 0, 0}; -//D:80038C70 -struct PitemZ_header PsilotopdoorZ_header = {0, &model_object_standard_object, 0, 0, 1, 2675.3958, 5, 0, 0}; -//D:80038C90 -struct PitemZ_header Pdoorprison1Z_header = {0, &model_object_standard_object, 0, 0, 1, 1062.0833, 1, 0, 0}; -//D:80038CB0 -struct PitemZ_header PdoorstatgateZ_header = {0, &model_object_standard_object, 0, 0, 1, 1503.9503, 3, 0, 0}; -//D:80038CD0 -struct PitemZ_header PchrkalashZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 403.53766, 8, 0, 0}; -//D:80038CF0 -struct PitemZ_header PchrgrenadelaunchZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 422.48355, 7, 0, 0}; -//D:80038D10 -struct PitemZ_header PchrknifeZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 245.14619, 2, 0, 0}; -//D:80038D30 -struct PitemZ_header PchrlaserZ_header = {0, &prop_weapon_related, 0, 0, 0x30002, 444.66241, 8, 0, 0}; -//D:80038D50 -struct PitemZ_header Pchrm16Z_header = {0, &prop_weapon_related, 0, 0, 0x30002, 964.01367, 6, 0, 0}; -//D:80038D70 -struct PitemZ_header Pchrmp5kZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 277.32227, 9, 0, 0}; -//D:80038D90 -struct PitemZ_header PchrrugerZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 246.72643, 5, 0, 0}; -//D:80038DB0 -struct PitemZ_header PchrwppkZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 125.79879, 5, 0, 0}; -//D:80038DD0 -struct PitemZ_header PchrshotgunZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 488.88385, 8, 0, 0}; -//D:80038DF0 -struct PitemZ_header PchrskorpionZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 183.37708, 7, 0, 0}; -//D:80038E10 -struct PitemZ_header PchrspectreZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 351.26923, 6, 0, 0}; -//D:80038E30 -struct PitemZ_header PchruziZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 265.11813, 7, 0, 0}; -//D:80038E50 -struct PitemZ_header PchrgrenadeZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 118.18749, 2, 0, 0}; -//D:80038E70 -struct PitemZ_header Pchrfnp90Z_header = {0, &prop_weapon_related, 0, 0, 0x30002, 470.04633, 7, 0, 0}; -//D:80038E90 -struct PitemZ_header PchrbriefcaseZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 342.23688, 5, 0, 0}; -//D:80038EB0 -struct PitemZ_header PchrremotemineZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 87.434036, 2, 0, 0}; -//D:80038ED0 -struct PitemZ_header PchrproximitymineZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 87.196609, 2, 0, 0}; -//D:80038EF0 -struct PitemZ_header PchrtimedmineZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 87.245888, 3, 0, 0}; -//D:80038F10 -struct PitemZ_header PchrrocketZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 342.8634, 3, 0, 0}; -//D:80038F30 -struct PitemZ_header PchrgrenaderoundZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 96.976593, 1, 0, 0}; -//D:80038F50 -struct PitemZ_header PchrwppksilZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 219.44571, 6, 0, 0}; -//D:80038F70 -struct PitemZ_header Pchrtt33Z_header = {0, &prop_weapon_related, 0, 0, 0x30001, 142.11539, 5, 0, 0}; -//D:80038F90 -struct PitemZ_header Pchrmp5ksilZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 406.18033, 0xA, 0, 0}; -//D:80038FB0 -struct PitemZ_header PchrautoshotZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 375.50247, 8, 0, 0}; -//D:80038FD0 -struct PitemZ_header PchrgoldenZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 157.98299, 2, 0, 0}; -//D:80038FF0 -struct PitemZ_header PchrthrowknifeZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 217.61888, 2, 0, 0}; -//D:80039010 -struct PitemZ_header PchrsniperrifleZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 616.93939, 5, 0, 0}; -//D:80039030 -struct PitemZ_header PchrrocketlaunchZ_header = {0, &prop_weapon_related, 0, 0, 0x30002, 501.55179, 6, 0, 0}; -//D:80039050 -struct PitemZ_header PhatfurryZ_header = {0, &item_hat_related, 0, 0, 1, 152.53136, 3, 0, 0}; -//D:80039070 -struct PitemZ_header PhatfurrybrownZ_header = {0, &item_hat_related, 0, 0, 1, 152.53136, 3, 0, 0}; -//D:80039090 -struct PitemZ_header PhatfurryblackZ_header = {0, &item_hat_related, 0, 0, 1, 152.53136, 3, 0, 0}; -//D:800390B0 -struct PitemZ_header PhattbirdZ_header = {0, &item_hat_related, 0, 0, 1, 114.45274, 1, 0, 0}; -//D:800390D0 -struct PitemZ_header PhattbirdbrownZ_header = {0, &item_hat_related, 0, 0, 1, 122.7013, 1, 0, 0}; -//D:800390F0 -struct PitemZ_header PhathelmetZ_header = {0, &item_hat_related, 0, 0, 1, 163.84476, 1, 0, 0}; -//D:80039110 -struct PitemZ_header PhathelmetgreyZ_header = {0, &item_hat_related, 0, 0, 1, 163.84476, 1, 0, 0}; -//D:80039130 -struct PitemZ_header PhatmoonZ_header = {0, &item_hat_related, 0, 0, 1, 138.25751, 2, 0, 0}; -//D:80039150 -struct PitemZ_header PhatberetZ_header = {0, &item_hat_related, 0, 0, 1, 116.16043, 1, 0, 0}; -//D:80039170 -struct PitemZ_header PhatberetblueZ_header = {0, &item_hat_related, 0, 0, 1, 116.16043, 2, 0, 0}; -//D:80039190 -struct PitemZ_header PhatberetredZ_header = {0, &item_hat_related, 0, 0, 1, 115.46455, 2, 0, 0}; -//D:800391B0 -struct PitemZ_header PhatpeakedZ_header = {0, &item_hat_related, 0, 0, 1, 148.39027, 1, 0, 0}; -//D:800391D0 -struct PitemZ_header PchrwristdartZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:800391F0 -struct PitemZ_header PchrexplosivepenZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039210 -struct PitemZ_header PchrbombcaseZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 342.23688, 5, 0, 0}; -//D:80039230 -struct PitemZ_header PchrflarepistolZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039250 -struct PitemZ_header PchrpitongunZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039270 -struct PitemZ_header PchrfingergunZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039290 -struct PitemZ_header PchrsilverwppkZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:800392B0 -struct PitemZ_header PchrgoldwppkZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:800392D0 -struct PitemZ_header PchrdynamiteZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:800392F0 -struct PitemZ_header PchrbungeeZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039310 -struct PitemZ_header PchrdoordecoderZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 180.27969, 0x10, 0, 0}; -//D:80039330 -struct PitemZ_header PchrbombdefuserZ_header = {0, &model_object_standard_object, 0, 0, 1, 84.370705, 0xC, 0, 0}; -//D:80039350 -struct PitemZ_header PchrbugdetectorZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039370 -struct PitemZ_header PchrsafecrackercaseZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 342.23688, 5, 0, 0}; -//D:80039390 -struct PitemZ_header PchrcameraZ_header = {0, &model_object_standard_object, 0, 0, 1, 52.775627, 0xB, 0, 0}; -//D:800393B0 -struct PitemZ_header PchrlockexploderZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:800393D0 -struct PitemZ_header PchrdoorexploderZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:800393F0 -struct PitemZ_header PchrkeyanalysercaseZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 342.23688, 5, 0, 0}; -//D:80039410 -struct PitemZ_header PchrweaponcaseZ_header = {0, &model_object_standard_object, 0, 0, 1, 274.2905, 5, 0, 0}; -//D:80039430 -struct PitemZ_header PchrkeyyaleZ_header = {0, &model_object_standard_object, 0, 0, 1, 82.850311, 1, 0, 0}; -//D:80039450 -struct PitemZ_header PchrkeyboltZ_header = {0, &model_object_standard_object, 0, 0, 1, 151.85315, 1, 0, 0}; -//D:80039470 -struct PitemZ_header PchrbugZ_header = {0, &model_object_standard_object, 0, 0, 1, 104.7203, 6, 0, 0}; -//D:80039490 -struct PitemZ_header PchrmicrocameraZ_header = {0, &model_object_standard_object, 0, 0, 1, 126.49728, 7, 0, 0}; -//D:800394B0 -struct PitemZ_header PfloppyZ_header = {0, &model_object_standard_object, 0, 0, 1, 60.902443, 5, 0, 0}; -//D:800394D0 -struct PitemZ_header PchrgoldeneyekeyZ_header = {0, &model_object_standard_object, 0, 0, 1, 98.987083, 5, 0, 0}; -//D:800394F0 -struct PitemZ_header PchrpolarizedglassesZ_header = {0, &model_object_standard_object, 0, 0, 1, 53.776386, 2, 0, 0}; -//D:80039510 -struct PitemZ_header PchrcreditcardZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039530 -struct PitemZ_header PchrdarkglassesZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039550 -struct PitemZ_header PchrgaskeyringZ_header = {0, &model_object_standard_object, 0, 0, 1, 111.59859, 9, 0, 0}; -//D:80039570 -struct PitemZ_header PchrdatathiefZ_header = {0, &model_object_standard_object, 0, 0, 1, 119.78231, 3, 0, 0}; -//D:80039590 -struct PitemZ_header PsafeZ_header = {0, &model_object_standard_object, 0, 0, 1, 1011.18744, 3, 0}; -//D:800395B0 -struct PitemZ_header PbombZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0}; -//D:800395D0 -struct PitemZ_header PchrplansZ_header = {0, &model_object_standard_object, 0, 0, 1, 384.74649, 5, 0, 0}; -//D:800395F0 -struct PitemZ_header PchrspyfileZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039610 -struct PitemZ_header PchrblueprintsZ_header = {0, &model_object_standard_object, 0, 0, 1, 588.65448, 4, 0, 0}; -//D:80039630 -struct PitemZ_header PchrcircuitboardZ_header = {0, &model_object_standard_object, 0, 0, 1, 138.90285, 3, 0, 0}; -//D:80039650 -struct PitemZ_header PchrmapZ_header = {0, &model_object_standard_object, 0, 0, 1, 588.65448, 4, 0, 0}; -//D:80039670 -struct PitemZ_header PchrspooltapeZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039690 -struct PitemZ_header PchraudiotapeZ_header = {0, &model_object_standard_object, 0, 0, 1, 97.531075, 9, 0, 0}; -//D:800396B0 -struct PitemZ_header PchrmicrofilmZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:800396D0 -struct PitemZ_header PchrmicrocodeZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:800396F0 -struct PitemZ_header PchrlectreZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039710 -struct PitemZ_header PchrmoneyZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039730 -struct PitemZ_header PchrgoldbarZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039750 -struct PitemZ_header PchrheroinZ_header = {0, &model_object_standard_object, 0, 0, 1, 288.67514, 1, 0, 0}; -//D:80039770 -struct PitemZ_header PchrclipboardZ_header = {0, &model_object_standard_object, 0, 0, 1, 190.41742, 3, 0, 0}; -//D:80039790 -struct PitemZ_header PchrdossierredZ_header = {0, &model_object_standard_object, 0, 0, 1, 183.54231, 4, 0, 0}; -//D:800397B0 -struct PitemZ_header PchrstafflistZ_header = {0, &model_object_standard_object, 0, 0, 1, 215.17534, 4, 0, 0}; -//D:800397D0 -struct PitemZ_header PchrdattapeZ_header = {0, &model_object_standard_object, 0, 0, 1, 79.868584, 4, 0, 0}; -//D:800397F0 -struct PitemZ_header PchrplastiqueZ_header = {0, &model_object_standard_object, 0, 0, 1, 143.86052, 3, 0, 0}; -//D:80039810 -struct PitemZ_header PchrblackboxZ_header = {0, &model_object_standard_object, 0, 0, 1, 128.31796, 5, 0, 0}; -//D:80039830 -struct PitemZ_header PchrvideotapeZ_header = {0, &model_object_standard_object, 0, 0, 1, 122.69632, 9, 0, 0}; -//D:80039850 -struct PitemZ_header PnintendologoZ_header = {0, &model_object_standard_object, 0, 0, 1, 1868.335, 1, 0, 0}; -//D:80039870 -struct PitemZ_header PgoldeneyelogoZ_header = {0, &model_object_standard_object, 0, 0, 1, 1287.1866, 2, 0, 0}; -//D:80039890 -struct PitemZ_header PwalletbondZ_header = {0, &prop_walletbond_related, 0, 0, 0x2B0001, 3504.53, 0x54, 0, 0}; -//D:800398B0 -struct PitemZ_header PmiltruckZ_header = {0, &prop_car_related, 0, 0, 0xB0005, 4589.7188, 0x16, 0, 0}; -//D:800398D0 -struct PitemZ_header PjeepZ_header = {0, &prop_car_related, 0, 0, 0xB0005, 2107.8105, 0x10, 0}; -//D:800398F0 -struct PitemZ_header ParticZ_header = {0, &prop_car_related, 0, 0, 0xB0005, 2678.5667, 0x11, 0, }; -//D:80039910 -struct PitemZ_header PhelicopterZ_header = {0, &prop_flying_related, 0, 0, 0x60004, 4955.271, 0x18, 0, 0}; -//D:80039930 -struct PitemZ_header PtigerZ_header = {0, &prop_flying_related, 0, 0, 0x60004, 4072.0291, 0xE, 0, }; -//D:80039950 -struct PitemZ_header PmilcopterZ_header = {0, &prop_flying_related, 0, 0, 0x60004, 5316.9155, 0xF, 0, 0}; -//D:80039970 -struct PitemZ_header PhindZ_header = {0, &prop_flying_related, 0, 0, 0x60005, 5315.314, 0xB, 0}; -//D:80039990 -struct PitemZ_header PartictrailerZ_header = {0, &model_object_standard_object, 0, 0, 1, 4014.6265, 0xB, 0, 0}; -//D:800399B0 -struct PitemZ_header PmotorbikeZ_header = {0, &model_object_standard_object, 0, 0, 1, 1610.8706, 6, 0, 0}; -//D:800399D0 -struct PitemZ_header PtankZ_header = {0, &item_tank_related, 0, 0, 0x90005, 6290.8398, 0x18, 0}; -//D:800399F0 -struct PitemZ_header PapcZ_header = {0, &model_object_standard_object, 0, 0, 1, 3611.1035, 0xE, 0}; -//D:80039A10 -struct PitemZ_header PspeedboatZ_header = {0, &model_object_standard_object, 0, 0, 1, 1799.4586, 0xD, 0, 0}; -//D:80039A30 -struct PitemZ_header PplaneZ_header = {0, &prop_flying_related, 0, 0, 0x60003, 9285.4492, 0x1C, 0, }; -//D:80039A50 -struct PitemZ_header Pgun_runway1Z_header = {0, &prop_rotating_stuff_related, 0, 0, 0x80005, 1927.5205, 6, 0, 0}; -//D:80039A70 -struct PitemZ_header PsafedoorZ_header = {0, &model_object_standard_object, 0, 0, 1, 714.14612, 4, 0, 0}; -//D:80039A90 -struct PitemZ_header Pkey_holderZ_header = {0, &model_object_standard_object, 0, 0, 1, 223.87097, 7, 0, 0}; -//D:80039AB0 -struct PitemZ_header PhatchsevxZ_header = {0, &model_object_standard_object, 0, 0, 1, 1224.7664, 2, 0, 0}; -//D:80039AD0 -struct PitemZ_header PsevdishZ_header = {0, &prop_rotating_stuff_related, 0, 0, 0x80003, 14350.1, 7, 0, 0}; -//D:80039AF0 -struct PitemZ_header Parchsecdoor1Z_header = {0, &model_object_standard_object, 0, 0, 1, 455.81409, 3, 0, 0}; -//D:80039B10 -struct PitemZ_header Parchsecdoor2Z_header = {0, &model_object_standard_object, 0, 0, 1, 496.99292, 3, 0, 0}; -//D:80039B30 -struct PitemZ_header PgroundgunZ_header = {0, &prop_rotating_stuff_related, 0, 0, 0x80005, 2182.6472, 4, 0, 0}; -//D:80039B50 -struct PitemZ_header PtrainextdoorZ_header = {0, &model_object_standard_object, 0, 0, 1, 587.70111, 5, 0, 0}; -//D:80039B70 -struct PitemZ_header PcarbmwZ_header = {0, &model_object_standard_object, 0, 0, 1, 553.08728, 0xB, 0, 0}; -//D:80039B90 -struct PitemZ_header PcarescortZ_header = {0, &model_object_standard_object, 0, 0, 1, 1110.5665, 9, 0, 0}; -//D:80039BB0 -struct PitemZ_header PcargolfZ_header = {0, &model_object_standard_object, 0, 0, 1, 1121.6409, 0xA, 0, 0}; -//D:80039BD0 -struct PitemZ_header PcarweirdZ_header = {0, &model_object_standard_object, 0, 0, 1, 984.03931, 0xD, 0, 0}; -//D:80039BF0 -struct PitemZ_header PcarzilZ_header = {0, &prop_car_related, 0, 0, 0xB0005, 1044.5764, 0xD, 0, 0}; -//D:80039C10 -struct PitemZ_header Pshuttle_door_lZ_header = {0, &model_object_standard_object, 0, 0, 1, 706.56641, 7, 0, 0}; -//D:80039C30 -struct PitemZ_header Pshuttle_door_rZ_header = {0, &model_object_standard_object, 0, 0, 1, 706.56641, 8, 0, 0}; -//D:80039C50 -struct PitemZ_header Pdepot_gate_entryZ_header = {0, &model_object_standard_object, 0, 0, 1, 811.28949, 3, 0, 0}; -//D:80039C70 -struct PitemZ_header Pdepot_door_steelZ_header = {0, &model_object_standard_object, 0, 0, 1, 574.79651, 3, 0, 0}; -//D:80039C90 -struct PitemZ_header Pglassware2Z_header = {0, &model_object_standard_object, 0, 0, 1, 98.488579, 3, 0, 0}; -//D:80039CB0 -struct PitemZ_header Pglassware3Z_header = {0, &model_object_standard_object, 0, 0, 1, 137.92715, 1, 0, 0}; -//D:80039CD0 -struct PitemZ_header Pglassware4Z_header = {0, &model_object_standard_object, 0, 0, 1, 177.48241, 2, 0, 0}; -//D:80039CF0 -struct PitemZ_header PlandmineZ_header = {0, &model_object_standard_object, 0, 0, 1, 440.03009, 2, 0, 0}; -//D:80039D10 -struct PitemZ_header Pplant1Z_header = {0, &model_object_standard_object, 0, 0, 1, 2704.1086, 1, 0, 0}; -//D:80039D30 -struct PitemZ_header Pplant11Z_header = {0, &model_object_standard_object, 0, 0, 1, 2704.1086, 1, 0, 0}; -//D:80039D50 -struct PitemZ_header Pplant2Z_header = {0, &model_object_standard_object, 0, 0, 1, 3416.248, 2, 0, 0}; -//D:80039D70 -struct PitemZ_header Pplant3Z_header = {0, &model_object_standard_object, 0, 0, 1, 2986.0405, 1, 0, 0}; -//D:80039D90 -struct PitemZ_header Pjungle5_treeZ_header = {0, &model_object_standard_object, 0, 0, 1, 3277.6123, 4, 0, 0}; -//D:80039DB0 -struct PitemZ_header PlegalpageZ_header = {0, &model_object_standard_object, 0, 0, 1, 2711.7573, 5, 0, 0}; -//D:80039DD0 -struct PitemZ_header Pst_pete_room_1iZ_header = {0, &model_object_standard_object, 0, 0, 1, 8437.5137, 0x17, 0, 0}; -//D:80039DF0 -struct PitemZ_header Pst_pete_room_2iZ_header = {0, &model_object_standard_object, 0, 0, 1, 8515.8164, 0x19, 0, 0}; -//D:80039E10 -struct PitemZ_header Pst_pete_room_3tZ_header = {0, &model_object_standard_object, 0, 0, 1, 4561.9766, 0x1B, 0, 0}; -//D:80039E30 -struct PitemZ_header Pst_pete_room_5cZ_header = {0, &model_object_standard_object, 0, 0, 1, 4561.9766, 0x19, 0, 0}; -//D:80039E50 -struct PitemZ_header Pst_pete_room_6cZ_header = {0, &model_object_standard_object, 0, 0, 1, 5006.2896, 0x17, 0, 0}; -//D:80039E70 -struct PitemZ_header Pdoor_rollertrainZ_header = {0, &model_object_standard_object, 0, 0, 1, 1032.125, 2, 0, 0}; -//D:80039E90 -struct PitemZ_header Pdoor_winZ_header = {0, &model_object_standard_object, 0, 0, 1, 211.90215, 1, 0, 0}; -//D:80039EB0 -struct PitemZ_header Pdoor_aztecZ_header = {0, &model_object_standard_object, 0, 0, 1, 632.48639, 1, 0, 0}; -//D:80039ED0 -struct PitemZ_header PshuttleZ_header = {0, &model_object_standard_object, 0, 0, 1, 4475.1494, 9, 0, 0}; -//D:80039EF0 -struct PitemZ_header Pdoor_azt_deskZ_header = {0, &model_object_standard_object, 0, 0, 1, 860.41669, 2, 0, 0}; -//D:80039F10 -struct PitemZ_header Pdoor_azt_desk_topZ_header = {0, &model_object_standard_object, 0, 0, 1, 565.93268, 3, 0, 0}; -//D:80039F30 -struct PitemZ_header Pdoor_azt_chairZ_header = {0, &model_object_standard_object, 0, 0, 1, 94.510803, 3, 0, 0}; -//D:80039F50 -struct PitemZ_header Pdoor_mfZ_header = {0, &model_object_standard_object, 0, 0, 1, 559.70367, 7, 0, 0}; -//D:80039F70 -struct PitemZ_header PflagZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 862.30865, 2, 0}; -//D:80039F90 -struct PitemZ_header PbarricadeZ_header = {0, &model_object_standard_object, 0, 0, 1, 2047.3016, 2, 0, 0}; -//D:80039FB0 -struct PitemZ_header PmodemboxZ_header = {0, &prop_console_one_screen_related, 0, 0, 0x10001, 338.28839, 4, 0, 0}; -//D:80039FD0 -struct PitemZ_header PdoorpanelZ_header = {0, &prop_console_four_screen_related, 0, 0, 0x40001, 338.28839, 4, 0, 0}; -//D:80039FF0 -struct PitemZ_header PdoorconsoleZ_header = {0, &prop_console_one_screen_related, 0, 0, 0x10001, 994.23688, 0xD, 0, 0}; -//D:8003A010 -struct PitemZ_header PchrtesttubeZ_header = {0, &prop_weapon_related, 0, 0, 0x30001, 136.25925, 2, 0, 0}; -//D:8003A030 -struct PitemZ_header Pbollardz_header = {0, &model_object_standard_object, 0, 0, 1, 628.78754, 1, 0, 0}; - -//D:8003A050 -struct prop_pos_data word_D_8003A050[2] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003} -}; -//D:8003A05C -struct item_related prop_cctv_related = {2, 0, word_D_8003A050, 6, 0}; - -//D:8003A068 -struct prop_pos_data word_D_8003A068[] = { - {0x0002, 0x0000, 0x0000} -}; -//D:8003A06E .half 0 - -//D:8003A070 -struct item_related prop_console_one_screen_related = {1, 0, word_D_8003A068, 3, 0}; - -//D:8003A07C -struct prop_pos_data word_D_8003A07C[] = { - {0x0002, 0x0000, 0x0000} -}; -//D:8003A082 .half 0 - -//D:8003A084 -struct item_related prop_console_four_screen_related = {1, 0, word_D_8003A07C, 3, 0}; - -//D:8003A090 -struct prop_pos_data word_D_8003A090[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x0009}, - {0x0002, 0x000C, 0x000C} -}; -//D:8003A0AE .half 0 - -//D:8003A0B0 -struct item_related prop_tv_holder_related = {5, 0, word_D_8003A090, 0xF, 0}; - -//D:8003A0BC -struct prop_pos_data word_D_8003A0BC[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x0009}, - {0x0002, 0x000C, 0x000C}, - {0x0002, 0x000F, 0x000F} -}; -//D:8003A0E0 -struct item_related prop_rotating_stuff_related = {6, 0, word_D_8003A0BC, 0x12, 0}; - -//D:8003A0EC -struct prop_pos_data word_D_8003A0EC[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006} -}; -//D:8003A0FE .half 0 -//D:8003A100 -struct item_related prop_eyelid_door_related = {3, 0, word_D_8003A0EC, 9, 0}; - -//D:8003A10C -struct prop_pos_data word_D_8003A10C[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x0009}, - {0x0002, 0x000C, 0x000C}, - {0x0002, 0x000F, 0x000F}, - {0x0002, 0x0012, 0x0012}, - {0x0002, 0x0015, 0x0015}, - {0x0002, 0x0018, 0x0018}, - {0x0002, 0x001B, 0x001B}, - {0x0002, 0x001E, 0x001E}, - {0x0002, 0x0021, 0x0021}, - {0x0002, 0x0024, 0x0024} -}; -//D:8003A15C -struct item_related prop_iris_door_related = {0xD, 0, word_D_8003A10C, 0x27, 0}; - -//D:8003A168 -struct prop_pos_data word_D_8003A168[] = { - {0x0002, 0x0000, 0x0000} -}; -//D:8003A16E .half 0 -//D:8003A170 -struct item_related prop_walletbond_related = {1, 0, word_D_8003A168, 3, 0}; - -//D:8003A17C -struct prop_pos_data word_D_8003A17C[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x0009}, - {0x0002, 0x000C, 0x000C} -}; -//D:8003A19C -struct item_related prop_car_related = {5, 0, word_D_8003A17C, 0xF, 0}; - -//D:8003A1A8 -struct prop_pos_data word_D_8003A1A8[] = { - {0x0401, 0x0000, 0x0000}, - {0x0002, 0x0000, 0x0000}, - {0x0015, 0x0003, 0x0003}, - {0x0015, 0x0004, 0x0004}, - {0x0015, 0x0005, 0x0005} -}; -//D:8003A1C6 .half 0 -//D:8003A1C8 -struct item_related prop_flying_related = {5, 0, word_D_8003A1A8, 3, 0}; - -//D:8003A1D4 -struct prop_pos_data word_D_8003A1D4[] = { - {0x0002, 0x0000, 0x0000} -}; -//D:8003A1DA .half 0 -//D:8003A1DC -struct item_related prop_door_related = {1, 0, word_D_8003A1D4, 3, 0}; - -//D:8003A1E8 -struct prop_pos_data word_D_8003A1E8[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x0009}, - {0x0002, 0x000C, 0x000C} -}; -//D:8003A206 .half 0 -//D:8003A208 -struct item_related item_tank_related = {5, 0, word_D_8003A1E8, 0xF, 0}; - -//D:8003A214 -struct prop_pos_data word_D_8003A214[] = { - {0x0015, 0x0000, 0x0000}, -}; -//D:8003A21A .half 0 -//D:8003A21C -struct item_related item_hat_related = {1, 0, word_D_8003A214, 0, 0}; -const u8 spacer_string[] = "\00\00\00\00\00\00\00\00"; -//D:8003A228 .globl PitemZ_entries -struct p_itementry PitemZ_entries[] = { - {&Palarm1z_header, "Palarm1Z", 0.1}, - {&Palarm2Z_header, "Palarm2Z", 0.1}, - {&PexplosionbitZ_header, "PexplosionbitZ", 0.1}, - {&Pammo_crate1Z_header, "Pammo_crate1Z", 0.1}, - {&Pammo_crate2Z_header, "Pammo_crate2Z", 0.1}, - {&Pammo_crate3Z_header, "Pammo_crate3Z", 0.1}, - {&Pammo_crate4Z_header, "Pammo_crate4Z", 0.1}, - {&Pammo_crate5Z_header, "Pammo_crate5Z", 0.1}, - {&Pbin1Z_header, "Pbin1Z", 0.1}, - {&Pblotter1Z_header, "Pblotter1Z", 0.1}, - {&Pbook1Z_header, "Pbook1Z", 0.1}, - {&Pbookshelf1Z_header, "Pbookshelf1Z", 0.1}, - {&Pbridge_console1aZ_header, "Pbridge_console1aZ", 0.1}, - {&Pbridge_console1bZ_header, "Pbridge_console1bZ", 0.1}, - {&Pbridge_console2aZ_header, "Pbridge_console2aZ", 0.1}, - {&Pbridge_console2bZ_header, "Pbridge_console2bZ", 0.1}, - {&Pbridge_console3aZ_header, "Pbridge_console3aZ", 0.1}, - {&Pbridge_console3bZ_header, "Pbridge_console3bZ", 0.1}, - {&Pcard_box1Z_header, "Pcard_box1Z", 0.1}, - {&Pcard_box2Z_header, "Pcard_box2Z", 0.1}, - {&Pcard_box3Z_header, "Pcard_box3Z", 0.1}, - {&Pcard_box4_lgZ_header, "Pcard_box4_lgZ", 0.1}, - {&Pcard_box5_lgZ_header, "Pcard_box5_lgZ", 0.1}, - {&Pcard_box6_lgZ_header, "Pcard_box6_lgZ", 0.1}, - {&PcctvZ_header, "PcctvZ", 0.1}, - {&Pconsole1Z_header, "Pconsole1Z", 0.1}, - {&Pconsole2Z_header, "Pconsole2Z", 0.1}, - {&Pconsole3Z_header, "Pconsole3Z", 0.1}, - {&Pconsole_sevaZ_header, "Pconsole_sevaZ", 0.1}, - {&Pconsole_sevbZ_header, "Pconsole_sevbZ", 0.1}, - {&Pconsole_sevcZ_header, "Pconsole_sevcZ", 0.1}, - {&Pconsole_sevdZ_header, "Pconsole_sevdZ", 0.1}, - {&Pconsole_sev2aZ_header, "Pconsole_sev2aZ", 0.1}, - {&Pconsole_sev2bZ_header, "Pconsole_sev2bZ", 0.1}, - {&Pconsole_sev2cZ_header, "Pconsole_sev2cZ", 0.1}, - {&Pconsole_sev2dZ_header, "Pconsole_sev2dZ", 0.1}, - {&Pconsole_sev_GEaZ_header, "Pconsole_sev_GEaZ", 0.1}, - {&Pconsole_sev_GEbZ_header, "Pconsole_sev_GEbZ", 0.1}, - {&Pdesk1Z_header, "Pdesk1Z", 0.1}, - {&Pdesk2Z_header, "Pdesk2Z", 0.1}, - {&Pdesk_lamp2Z_header, "Pdesk_lamp2Z", 0.1}, - {&Pdisc_readerZ_header, "Pdisc_readerZ", 0.1}, - {&Pdisk_drive1Z_header, "Pdisk_drive1Z", 0.1}, - {&Pfiling_cabinet1Z_header, "Pfiling_cabinet1Z", 0.1}, - {&Pjerry_can1Z_header, "Pjerry_can1Z", 0.1}, - {&Pkeyboard1Z_header, "Pkeyboard1Z", 0.1}, - {&Pkit_units1Z_header, "Pkit_units1Z", 0.1}, - {&Pletter_tray1Z_header, "Pletter_tray1Z", 0.1}, - {&Pmainframe1Z_header, "Pmainframe1Z", 0.1}, - {&Pmainframe2Z_header, "Pmainframe2Z", 0.1}, - {&Pmetal_chair1Z_header, "Pmetal_chair1Z", 0.1}, - {&Pmetal_crate1Z_header, "Pmetal_crate1Z", 0.1}, - {&Pmetal_crate2Z_header, "Pmetal_crate2Z", 0.1}, - {&Pmetal_crate3Z_header, "Pmetal_crate3Z", 0.1}, - {&Pmetal_crate4Z_header, "Pmetal_crate4Z", 0.1}, - {&Pmissile_rackZ_header, "Pmissile_rackZ", 0.1}, - {&Pmissile_rack2Z_header, "Pmissile_rack2Z", 0.1}, - {&Poil_drum1Z_header, "Poil_drum1Z", 0.1}, - {&Poil_drum2Z_header, "Poil_drum2Z", 0.1}, - {&Poil_drum3Z_header, "Poil_drum3Z", 0.1}, - {&Poil_drum5Z_header, "Poil_drum5Z", 0.1}, - {&Poil_drum6Z_header, "Poil_drum6Z", 0.1}, - {&Poil_drum7Z_header, "Poil_drum7Z", 0.1}, - {&PpadlockZ_header, "PpadlockZ", 0.1}, - {&Pphone1Z_header, "Pphone1Z", 0.1}, - {&Pradio_unit1Z_header, "Pradio_unit1Z", 0.1}, - {&Pradio_unit2Z_header, "Pradio_unit2Z", 0.1}, - {&Pradio_unit3Z_header, "Pradio_unit3Z", 0.1}, - {&Pradio_unit4Z_header, "Pradio_unit4Z", 0.1}, - {&Psat1_reflectZ_header, "Psat1_reflectZ", 0.1}, - {&PsatdishZ_header, "PsatdishZ", 0.1}, - {&PsatboxZ_header, "PsatboxZ", 0.1}, - {&Pstool1Z_header, "Pstool1Z", 0.1}, - {&Pswivel_chair1Z_header, "Pswivel_chair1Z", 0.1}, - {&Ptorpedo_rackZ_header, "Ptorpedo_rackZ", 0.1}, - {&Ptv1Z_header, "Ptv1Z", 0.1}, - {&Ptv_holderZ_header, "Ptv_holderZ", 0.1}, - {&PtvscreenZ_header, "PtvscreenZ", 0.1}, - {&Ptv4screenZ_header, "Ptv4screenZ", 0.1}, - {&Pwood_lg_crate1Z_header, "Pwood_lg_crate1Z", 0.1}, - {&Pwood_lg_crate2Z_header, "Pwood_lg_crate2Z", 0.1}, - {&Pwood_md_crate3Z_header, "Pwood_md_crate3Z", 0.1}, - {&Pwood_sm_crate4Z_header, "Pwood_sm_crate4Z", 0.1}, - {&Pwood_sm_crate5Z_header, "Pwood_sm_crate5Z", 0.1}, - {&Pwood_sm_crate6Z_header, "Pwood_sm_crate6Z", 0.1}, - {&Pwooden_table1Z_header, "Pwooden_table1Z", 0.1}, - {&Pswipe_card2Z_header, "Pswipe_card2Z", 0.1}, - {&Pborg_crateZ_header, "Pborg_crateZ", 0.1}, - {&Pboxes4x4Z_header, "Pboxes4x4Z", 0.1}, - {&Pboxes3x4Z_header, "Pboxes3x4Z", 0.1}, - {&Pboxes2x4Z_header, "Pboxes2x4Z", 0.1}, - {&Psec_panelZ_header, "Psec_panelZ", 0.1}, - {&PICBM_noseZ_header, "PICBM_noseZ", 0.1}, - {&PICBMZ_header, "PICBMZ", 0.1}, - {&Ptuning_console1Z_header, "Ptuning_console1Z", 0.1}, - {&Pdesk_arecibo1Z_header, "Pdesk_arecibo1Z", 0.1}, - {&Plocker3Z_header, "Plocker3Z", 0.1}, - {&Plocker4Z_header, "Plocker4Z", 0.1}, - {&ProofgunZ_header, "ProofgunZ", 0.1}, - {&Pdest_engineZ_header, "Pdest_engineZ", 0.1}, - {&Pdest_exocetZ_header, "Pdest_exocetZ", 0.1}, - {&Pdest_gunZ_header, "Pdest_gunZ", 0.1}, - {&Pdest_harpoonZ_header, "Pdest_harpoonZ", 0.1}, - {&Pdest_seawolfZ_header, "Pdest_seawolfZ", 0.1}, - {&PwindowZ_header, "PwindowZ", 0.1}, - {&Pwindow_lib_lg1Z_header, "Pwindow_lib_lg1Z", 0.1}, - {&Pwindow_lib_sm1Z_header, "Pwindow_lib_sm1Z", 0.1}, - {&Pwindow_cor11Z_header, "Pwindow_cor11Z", 0.1}, - {&Pjungle3_treeZ_header, "Pjungle3_treeZ", 0.1}, - {&PpalmZ_header, "PpalmZ", 0.1}, - {&PpalmtreeZ_header, "PpalmtreeZ", 0.1}, - {&Pplant2bZ_header, "Pplant2bZ", 0.1}, - {&PlabbenchZ_header, "PlabbenchZ", 0.1}, - {&PgasbarrelZ_header, "PgasbarrelZ", 0.1}, - {&PgasbarrelsZ_header, "PgasbarrelsZ", 0.1}, - {&PbodyarmourZ_header, "PbodyarmourZ", 0.1}, - {&PbodyarmourvestZ_header, "PbodyarmourvestZ", 0.1}, - {&PgastankZ_header, "PgastankZ", 0.1}, - {&Pglassware1Z_header, "Pglassware1Z", 0.1}, - {&PhatchboltZ_header, "PhatchboltZ", 0.1}, - {&PbrakeunitZ_header, "PbrakeunitZ", 0.1}, - {&Pak47magZ_header, "Pak47magZ", 0.1}, - {&Pm16magZ_header, "Pm16magZ", 0.1}, - {&Pmp5kmagZ_header, "Pmp5kmagZ", 0.1}, - {&PskorpionmagZ_header, "PskorpionmagZ", 0.1}, - {&PspectremagZ_header, "PspectremagZ", 0.1}, - {&PuzimagZ_header, "PuzimagZ", 0.1}, - {&PsilencerZ_header, "PsilencerZ", 0.1}, - {&PchrextinguisherZ_header, "PchrextinguisherZ", 0.1}, - {&PboxcartridgesZ_header, "PboxcartridgesZ", 0.1}, - {&Pfnp90magZ_header, "Pfnp90magZ", 0.1}, - {&PgoldenshellsZ_header, "PgoldenshellsZ", 0.1}, - {&PmagnumshellsZ_header, "PmagnumshellsZ", 0.1}, - {&PwppkmagZ_header, "PwppkmagZ", 0.1}, - {&Ptt33magZ_header, "Ptt33magZ", 0.1}, - {&Psev_doorZ_header, "Psev_doorZ", 1.0}, - {&Psev_door3Z_header, "Psev_door3Z", 1.0}, - {&Psev_door3_windZ_header, "Psev_door3_windZ", 1.0}, - {&Psev_door4_windZ_header, "Psev_door4_windZ", 1.0}, - {&Psev_trislideZ_header, "Psev_trislideZ", 1.0}, - {&Psev_door_v1Z_header, "Psev_door_v1Z", 1.0}, - {&Psteel_door1Z_header, "Psteel_door1Z", 1.0}, - {&Psteel_door2Z_header, "Psteel_door2Z", 1.0}, - {&Psteel_door3Z_header, "Psteel_door3Z", 1.0}, - {&Psilo_lift_doorZ_header, "Psilo_lift_doorZ", 1.0}, - {&Psteel_door2bZ_header, "Psteel_door2bZ", 1.0}, - {&Pdoor_roller1Z_header, "Pdoor_roller1Z", 1.0}, - {&Pdoor_roller2Z_header, "Pdoor_roller2Z", 1.0}, - {&Pdoor_roller3Z_header, "Pdoor_roller3Z", 1.0}, - {&Pdoor_roller4Z_header, "Pdoor_roller4Z", 1.0}, - {&Pdoor_st_arec1Z_header, "Pdoor_st_arec1Z", 1.0}, - {&Pdoor_st_arec2Z_header, "Pdoor_st_arec2Z", 1.0}, - {&Pdoor_dest1Z_header, "Pdoor_dest1Z", 1.0}, - {&Pdoor_dest2Z_header, "Pdoor_dest2Z", 1.0}, - {&Pgas_plant_sw_do1Z_header, "Pgas_plant_sw_do1Z", 1.0}, - {&Pgas_plant_sw2_do1Z_header, "Pgas_plant_sw2_do1Z", 1.0}, - {&Pgas_plant_sw3_do1Z_header, "Pgas_plant_sw3_do1Z", 1.0}, - {&Pgas_plant_sw4_do1Z_header, "Pgas_plant_sw4_do1Z", 1.0}, - {&Pgas_plant_met1_do1Z_header, "Pgas_plant_met1_do1Z", 1.0}, - {&Pgas_plant_wc_cub1Z_header, "Pgas_plant_wc_cub1Z", 1.0}, - {&Pgasplant_clear_doorZ_header, "Pgasplant_clear_doorZ", 1.0}, - {&Ptrain_doorZ_header, "Ptrain_doorZ", 1.0}, - {&Ptrain_door2Z_header, "Ptrain_door2Z", 1.0}, - {&Ptrain_door3Z_header, "Ptrain_door3Z", 1.0}, - {&Pdoor_eyelidZ_header, "Pdoor_eyelidZ", 1.0}, - {&Pdoor_irisZ_header, "Pdoor_irisZ", 1.0}, - {&PsevdoorwoodZ_header, "PsevdoorwoodZ", 1.0}, - {&PsevdoorwindZ_header, "PsevdoorwindZ", 1.0}, - {&PsevdoornowindZ_header, "PsevdoornowindZ", 1.0}, - {&PsevdoormetslideZ_header, "PsevdoormetslideZ", 1.0}, - {&Pcryptdoor1aZ_header, "Pcryptdoor1aZ", 1.0}, - {&Pcryptdoor1bZ_header, "Pcryptdoor1bZ", 1.0}, - {&Pcryptdoor2aZ_header, "Pcryptdoor2aZ", 1.0}, - {&Pcryptdoor2bZ_header, "Pcryptdoor2bZ", 1.0}, - {&Pcryptdoor3Z_header, "Pcryptdoor3Z", 1.0}, - {&Pcryptdoor4Z_header, "Pcryptdoor4Z", 1.0}, - {&PvertdoorZ_header, "PvertdoorZ", 1.0}, - {&PhatchdoorZ_header, "PhatchdoorZ", 1.0}, - {&PdamgatedoorZ_header, "PdamgatedoorZ", 1.0}, - {&PdamtundoorZ_header, "PdamtundoorZ", 1.0}, - {&PdamchaindoorZ_header, "PdamchaindoorZ", 1.0}, - {&PsilotopdoorZ_header, "PsilotopdoorZ", 1.0}, - {&Pdoorprison1Z_header, "Pdoorprison1Z", 1.0}, - {&PdoorstatgateZ_header, "PdoorstatgateZ", 1.0}, - {&PchrkalashZ_header, "PchrkalashZ", 0.1}, - {&PchrgrenadelaunchZ_header, "PchrgrenadelaunchZ", 0.1}, - {&PchrknifeZ_header, "PchrknifeZ", 0.1}, - {&PchrlaserZ_header, "PchrlaserZ", 0.1}, - {&Pchrm16Z_header, "Pchrm16Z", 0.1}, - {&Pchrmp5kZ_header, "Pchrmp5kZ", 0.1}, - {&PchrrugerZ_header, "PchrrugerZ", 0.1}, - {&PchrwppkZ_header, "PchrwppkZ", 0.1}, - {&PchrshotgunZ_header, "PchrshotgunZ", 0.1}, - {&PchrskorpionZ_header, "PchrskorpionZ", 0.1}, - {&PchrspectreZ_header, "PchrspectreZ", 0.1}, - {&PchruziZ_header, "PchruziZ", 0.1}, - {&PchrgrenadeZ_header, "PchrgrenadeZ", 0.1}, - {&Pchrfnp90Z_header, "Pchrfnp90Z", 0.1}, - {&PchrbriefcaseZ_header, "PchrbriefcaseZ", 0.1}, - {&PchrremotemineZ_header, "PchrremotemineZ", 0.1}, - {&PchrproximitymineZ_header, "PchrproximitymineZ", 0.1}, - {&PchrtimedmineZ_header, "PchrtimedmineZ", 0.1}, - {&PchrrocketZ_header, "PchrrocketZ", 0.1}, - {&PchrgrenaderoundZ_header, "PchrgrenaderoundZ", 0.1}, - {&PchrwppksilZ_header, "PchrwppksilZ", 0.1}, - {&Pchrtt33Z_header, "Pchrtt33Z", 0.1}, - {&Pchrmp5ksilZ_header, "Pchrmp5ksilZ", 0.1}, - {&PchrautoshotZ_header, "PchrautoshotZ", 0.1}, - {&PchrgoldenZ_header, "PchrgoldenZ", 0.1}, - {&PchrthrowknifeZ_header, "PchrthrowknifeZ", 0.1}, - {&PchrsniperrifleZ_header, "PchrsniperrifleZ", 0.1}, - {&PchrrocketlaunchZ_header, "PchrrocketlaunchZ", 0.1}, - {&PhatfurryZ_header, "PhatfurryZ", 0.1}, - {&PhatfurrybrownZ_header, "PhatfurrybrownZ", 0.1}, - {&PhatfurryblackZ_header, "PhatfurryblackZ", 0.1}, - {&PhattbirdZ_header, "PhattbirdZ", 0.1}, - {&PhattbirdbrownZ_header, "PhattbirdbrownZ", 0.1}, - {&PhathelmetZ_header, "PhathelmetZ", 0.1}, - {&PhathelmetgreyZ_header, "PhathelmetgreyZ", 0.1}, - {&PhatmoonZ_header, "PhatmoonZ", 0.1}, - {&PhatberetZ_header, "PhatberetZ", 0.1}, - {&PhatberetblueZ_header, "PhatberetblueZ", 0.1}, - {&PhatberetredZ_header, "PhatberetredZ", 0.1}, - {&PhatpeakedZ_header, "PhatpeakedZ", 0.1}, - {&PchrwristdartZ_header, "PchrwristdartZ", 0.1}, - {&PchrexplosivepenZ_header, "PchrexplosivepenZ", 0.1}, - {&PchrbombcaseZ_header, "PchrbombcaseZ", 0.1}, - {&PchrflarepistolZ_header, "PchrflarepistolZ", 0.1}, - {&PchrpitongunZ_header, "PchrpitongunZ", 0.1}, - {&PchrfingergunZ_header, "PchrfingergunZ", 0.1}, - {&PchrsilverwppkZ_header, "PchrsilverwppkZ", 0.1}, - {&PchrgoldwppkZ_header, "PchrgoldwppkZ", 0.1}, - {&PchrdynamiteZ_header, "PchrdynamiteZ", 0.1}, - {&PchrbungeeZ_header, "PchrbungeeZ", 0.1}, - {&PchrdoordecoderZ_header, "PchrdoordecoderZ", 0.1}, - {&PchrbombdefuserZ_header, "PchrbombdefuserZ", 0.1}, - {&PchrbugdetectorZ_header, "PchrbugdetectorZ", 0.1}, - {&PchrsafecrackercaseZ_header, "PchrsafecrackercaseZ", 0.1}, - {&PchrcameraZ_header, "PchrcameraZ", 0.1}, - {&PchrlockexploderZ_header, "PchrlockexploderZ", 0.1}, - {&PchrdoorexploderZ_header, "PchrdoorexploderZ", 0.1}, - {&PchrkeyanalysercaseZ_header, "PchrkeyanalysercaseZ", 0.1}, - {&PchrweaponcaseZ_header, "PchrweaponcaseZ", 0.1}, - {&PchrkeyyaleZ_header, "PchrkeyyaleZ", 0.1}, - {&PchrkeyboltZ_header, "PchrkeyboltZ", 0.1}, - {&PchrbugZ_header, "PchrbugZ", 0.1}, - {&PchrmicrocameraZ_header, "PchrmicrocameraZ", 0.1}, - {&PfloppyZ_header, "PfloppyZ", 0.1}, - {&PchrgoldeneyekeyZ_header, "PchrgoldeneyekeyZ", 0.1}, - {&PchrpolarizedglassesZ_header, "PchrpolarizedglassesZ", 0.1}, - {&PchrcreditcardZ_header, "PchrcreditcardZ", 0.1}, - {&PchrdarkglassesZ_header, "PchrdarkglassesZ", 0.1}, - {&PchrgaskeyringZ_header, "PchrgaskeyringZ", 0.1}, - {&PchrdatathiefZ_header, "PchrdatathiefZ", 0.1}, - {&PsafeZ_header, "PsafeZ", 0.1}, - {&PbombZ_header, "PbombZ", 0.1}, - {&PchrplansZ_header, "PchrplansZ", 0.1}, - {&PchrspyfileZ_header, "PchrspyfileZ", 0.1}, - {&PchrblueprintsZ_header, "PchrblueprintsZ", 0.1}, - {&PchrcircuitboardZ_header, "PchrcircuitboardZ", 0.1}, - {&PchrmapZ_header, "PchrmapZ", 0.1}, - {&PchrspooltapeZ_header, "PchrspooltapeZ", 0.1}, - {&PchraudiotapeZ_header, "PchraudiotapeZ", 0.1}, - {&PchrmicrofilmZ_header, "PchrmicrofilmZ", 0.1}, - {&PchrmicrocodeZ_header, "PchrmicrocodeZ", 0.1}, - {&PchrlectreZ_header, "PchrlectreZ", 0.1}, - {&PchrmoneyZ_header, "PchrmoneyZ", 0.1}, - {&PchrgoldbarZ_header, "PchrgoldbarZ", 0.1}, - {&PchrheroinZ_header, "PchrheroinZ", 0.1}, - {&PchrclipboardZ_header, "PchrclipboardZ", 0.1}, - {&PchrdossierredZ_header, "PchrdossierredZ", 0.1}, - {&PchrstafflistZ_header, "PchrstafflistZ", 0.1}, - {&PchrdattapeZ_header, "PchrdattapeZ", 0.1}, - {&PchrplastiqueZ_header, "PchrplastiqueZ", 0.1}, - {&PchrblackboxZ_header, "PchrblackboxZ", 0.1}, - {&PchrvideotapeZ_header, "PchrvideotapeZ", 0.1}, - {&PnintendologoZ_header, "PnintendologoZ", 0.1}, - {&PgoldeneyelogoZ_header, "PgoldeneyelogoZ", 0.1}, - {&PwalletbondZ_header, "PwalletbondZ", 0.1}, - {&PmiltruckZ_header, "PmiltruckZ", 0.1}, - {&PjeepZ_header, "PjeepZ", 0.1}, - {&ParticZ_header, "ParticZ", 0.1}, - {&PhelicopterZ_header, "PhelicopterZ", 0.1}, - {&PtigerZ_header, "PtigerZ", 0.1}, - {&PmilcopterZ_header, "PmilcopterZ", 0.1}, - {&PhindZ_header, "PhindZ", 0.1}, - {&PartictrailerZ_header, "PartictrailerZ", 0.1}, - {&PmotorbikeZ_header, "PmotorbikeZ", 0.1}, - {&PtankZ_header, "PtankZ", 0.1}, - {&PapcZ_header, "PapcZ", 0.1}, - {&PspeedboatZ_header, "PspeedboatZ", 0.1}, - {&PplaneZ_header, "PplaneZ", 0.1}, - {&Pgun_runway1Z_header, "Pgun_runway1Z", 0.1}, - {&PsafedoorZ_header, "PsafedoorZ", 1.0}, - {&Pkey_holderZ_header, "Pkey_holderZ", 1.0}, - {&PhatchsevxZ_header, "PhatchsevxZ", 1.0}, - {&PsevdishZ_header, "PsevdishZ", 1.0}, - {&Parchsecdoor1Z_header, "Parchsecdoor1Z", 1.0}, - {&Parchsecdoor2Z_header, "Parchsecdoor2Z", 1.0}, - {&PgroundgunZ_header, "PgroundgunZ", 0.1}, - {&PtrainextdoorZ_header, "PtrainextdoorZ", 1.0}, - {&PcarbmwZ_header, "PcarbmwZ", 0.1}, - {&PcarescortZ_header, "PcarescortZ", 0.1}, - {&PcargolfZ_header, "PcargolfZ", 0.1}, - {&PcarweirdZ_header, "PcarweirdZ", 0.1}, - {&PcarzilZ_header, "PcarzilZ", 0.1}, - {&Pshuttle_door_lZ_header, "Pshuttle_door_lZ", 1.0}, - {&Pshuttle_door_rZ_header, "Pshuttle_door_rZ", 1.0}, - {&Pdepot_gate_entryZ_header, "Pdepot_gate_entryZ", 0.1}, - {&Pdepot_door_steelZ_header, "Pdepot_door_steelZ", 0.1}, - {&Pglassware2Z_header, "Pglassware2Z", 0.1}, - {&Pglassware3Z_header, "Pglassware3Z", 0.1}, - {&Pglassware4Z_header, "Pglassware4Z", 0.1}, - {&PlandmineZ_header, "PlandmineZ", 0.1}, - {&Pplant1Z_header, "Pplant1Z", 0.1}, - {&Pplant11Z_header, "Pplant11Z", 0.1}, - {&Pplant2Z_header, "Pplant2Z", 0.1}, - {&Pplant3Z_header, "Pplant3Z", 0.1}, - {&Pjungle5_treeZ_header, "Pjungle5_treeZ", 0.1}, - {&PlegalpageZ_header, "PlegalpageZ", 0.1}, - {&Pst_pete_room_1iZ_header, "Pst_pete_room_1iZ", 0.1}, - {&Pst_pete_room_2iZ_header, "Pst_pete_room_2iZ", 0.1}, - {&Pst_pete_room_3tZ_header, "Pst_pete_room_3tZ", 0.1}, - {&Pst_pete_room_5cZ_header, "Pst_pete_room_5cZ", 0.1}, - {&Pst_pete_room_6cZ_header, "Pst_pete_room_6cZ", 0.1}, - {&Pdoor_rollertrainZ_header, "Pdoor_rollertrainZ", 1.0}, - {&Pdoor_winZ_header, "Pdoor_winZ", 1.0}, - {&Pdoor_aztecZ_header, "Pdoor_aztecZ", 1.0}, - {&PshuttleZ_header, "PshuttleZ", 0.1}, - {&Pdoor_azt_deskZ_header, "Pdoor_azt_deskZ", 1.0}, - {&Pdoor_azt_desk_topZ_header, "Pdoor_azt_desk_topZ", 1.0}, - {&Pdoor_azt_chairZ_header, "Pdoor_azt_chairZ", 1.0}, - {&Pdoor_mfZ_header, "Pdoor_mfZ", 1.0}, - {&PflagZ_header, "PflagZ", 0.1}, - {&PbarricadeZ_header, "PbarricadeZ", 0.1}, - {&PmodemboxZ_header, "PmodemboxZ", 0.1}, - {&PdoorpanelZ_header, "PdoorpanelZ", 0.1}, - {&PdoorconsoleZ_header, "PdoorconsoleZ", 0.1}, - {&PchrtesttubeZ_header, "PchrtesttubeZ", 0.1}, - {&Pbollardz_header, "PbollardZ", 0.1}, - {0, "", 1.0} -}; - -//D:8003b224 -u32 object_explosion_details[] = { - 0x0006315c, 0x7b6cdbff, 0x5126fb59, 0x7ca70006, - 0x2afecb3e, 0x73f4278f, 0x6d3a44c8, 0x00050000, - 0x00000000, 0x00000000, 0x0000000b, 0xb9b03eba, - 0xad6275c8, 0xb70ff06e, 0x000b17d9, 0xdfcc57cd, - 0x82547345, 0xe011000b, 0x3779ed72, 0x688df67b, - 0x37e54f89, 0x000be277, 0x0474dd1e, 0x0c48486c, - 0xf87d000b, 0x7c3f16bc, 0x44a91a58, 0xe4129297, - 0x00003dc2, 0x16b6e30d, 0xbcabc592, 0xf9b50002, - 0x719c7024, 0x9ee0c175, 0xa5ddc933, 0x00028e16, - 0xbbca05c0, 0x1a7381be, 0xf8210000, 0x00000000, - 0x00000000, 0x00000000, 0x00082716, 0xf5440d35, - 0xc20e83d7, 0x7d730008, 0x81a1b772, 0x1b57437a, - 0x85fab6c1, 0x000827eb, 0x5a7abd1a, 0x27eb5a7a, - 0xbd1a0008, 0x98de8c36, 0xddd5f74b, 0x4f0a1f14, - 0x000834f5, 0xf199a9f2, 0x3d27c707, 0xb9ad0008, - 0x678fdb91, 0x2a2e8d91, 0x6eee925e, 0x0004d82f, - 0xf4d7546f, 0xd6c787d9, 0x01430004, 0x100eadf2, - 0x1fdd45f1, 0x4772f8c6, 0x0004ef0b, 0x71bbb7f7, - 0xbfa303b8, 0xe44e0004, 0xdfd1676a, 0x8597e8ac, - 0xe2109a4d, 0x0004ab48, 0xdd9b4343, 0x04b80dcc, - 0x3b3d0004, 0x836b6bbf, 0x9dbb3db7, 0x59577341, - 0x00070000, 0x00000000, 0x00000000, 0x00000009, - 0xb1cc19e2, 0x0ea5b1cc, 0x19e20ea5, 0x0009f093, - 0xb2df1409, 0x271ee0b3, 0x418a0009, 0x3ac20102, - 0xbf013ac2, 0x0102bf01, 0x00093ac6, 0xe449a56e, - 0xa4cfeda0, 0x17190009, 0x9bcfc333, 0x63844298, - 0xd4557bfa, 0x0009839e, 0x0ba71466, 0xdb6dd1b3, - 0x12330009, 0x3f677a70, 0x83de7052, 0x07d236ff, - 0x0009a409, 0x692de286, 0xc63c82d0, 0x5d070009, - 0xd6ca1866, 0x839cbc6a, 0x86ad4dc6, 0x000996fc, - 0xa1efa9e6, 0xb9d2a3c5, 0xa0450009, 0x7d2be7dc, - 0x55db378e, 0x4765b09c, 0x0009e2af, 0x2d4371fe, - 0xe39093b3, 0x57e30009, 0x9367098a, 0x3b68d6f8, - 0x4eaf7b83, 0x000f0000, 0x00000000, 0x00000000, - 0x0000000f, 0x00000000, 0x00000000, 0x00000000, - 0x0007993d, 0xa2b25028, 0x825e25b8, 0xd8ef0006, - 0x6553024d, 0xfd22d469, 0x18e432f6, 0x0006f742, - 0x0cb58ed2, 0x60216ad5, 0xaa880004, 0x06d882ef, - 0x5b194147, 0x5ae1374e, 0x0004284d, 0x3e7c9330, - 0xcf1e013f, 0x4e290006, 0xe339c0b6, 0xe5fc7054, - 0x83a8c118, 0x0004b49f, 0x00024ef6, 0x88490002, - 0x070b0002, 0x2d56a1ee, 0x41058ae6, 0x6a2a60dd, - 0x000979b2, 0xbc78b9b9, 0xc76a97a1, 0x3da30009, - 0x3292ddc3, 0x926512a6, 0xe935b9bc, 0x000304db, - 0x3cfddb5c, 0x3b2950b7, 0x83d10004, 0xbe6408ad, - 0x150d6aed, 0x542e63b3, 0x0004d7e5, 0x13695acc, - 0x535a2105, 0x1bf70004, 0x72223cee, 0x1a15122a, - 0xadec5ef3, 0x0004927f, 0x10b05125, 0x7f4ebbc5, - 0x8088000b, 0xe89d7502, 0x9003469d, 0x19f0a5e6, - 0x000b3771, 0xc00280ff, 0xdbf61705, 0x497a000e, - 0xa954afde, 0xbb6cd4a6, 0x9883fa27, 0x000ede9f, - 0xcef06346, 0x80fba382, 0x14d1000e, 0x448ed4cc, - 0xc1b5442f, 0xc1d1ee05, 0x000ec7c0, 0xf918095e, - 0xece206d4, 0xc64d000e, 0xc49116ec, 0xdea75a19, - 0x9de7ff28, 0x000ee889, 0x2da62775, 0x153cbae6, - 0xcb1b0000, 0x2d56a1ee, 0x41058ae6, 0x6a2a60dd, - 0x0006e5e6, 0x8fb7d5fe, 0xe959d656, 0xfb820007, - 0x58763a4f, 0xd115a10d, 0x265d2c02, 0x0007787e, - 0xc128d96a, 0x60c918e7, 0x99ad0007, 0x879a90e4, - 0xc20f35fe, 0xc80791d8, 0x000740ae, 0x62b6d240, - 0xac8d47c5, 0x17d10000, 0x00000000, 0x00000000, - 0x00000000, 0x000715c6, 0xb37d118a, 0x4e615d02, - 0x7d500006, 0x15c6b37d, 0x118a4e61, 0x5d027d50, - 0x00030000, 0x00000000, 0x00000000, 0x00000003, - 0x24698ae5, 0x524fe5f6, 0xbe4ac865, 0x00052957, - 0x1b2227c7, 0x96630ddf, 0x411f0007, 0x15c6b37d, - 0x118a4e61, 0x5d027d50, 0x00040000, 0x00000000, - 0x00000000, 0x00000006, 0xf8f4f1e0, 0x473f41dd, - 0xa510c9c6, 0x00080000, 0x00000000, 0x00000000, - 0x00000004, 0x7a512382, 0x9b3629e5, 0x5921017a, - 0x00048666, 0x3dd9e619, 0x6134cc94, 0x1a5c0004, - 0x7f3931c5, 0x9ac370ab, 0x0551b069, 0x0003d727, - 0x7ab2786b, 0xf5ad3fc4, 0xd6ce0003, 0x4548d59e, - 0x1edce88d, 0xe9e4af76, 0x0003262f, 0x491bfd57, - 0x6715e7ed, 0x2626000f, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000004, 0xbcae0bd1, 0x0ff73a30, 0x724083b7, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000006, 0xb2c6170a, - 0x0a236bbe, 0xb59382db, 0x0005275b, 0x8ad3002c, - 0x27b58ad3, 0x002c0005, 0x00000000, 0x00000000, - 0x00000000, 0x000833a1, 0x8a014d42, 0xd9cbb865, - 0xb3360004, 0x8c0678fc, 0x8f9a4df5, 0x4d5322f9, - 0x000399e9, 0x0107ef5e, 0x0560e6df, 0x4b360003, - 0x31e70023, 0xb2aea2d7, 0xe54090b2, 0x00080000, - 0x00000000, 0x00000000, 0x0000000d, 0x00000000, - 0x00000000, 0x00000000, 0x000833a1, 0x8a014d42, - 0xd9cbb865, 0xb3360008, 0x33a18a01, 0x4d42d9cb, - 0xb865b336, 0x000833a1, 0x8a014d42, 0xd9cbb865, - 0xb3360008, 0x33a18a01, 0x4d42d9cb, 0xb865b336, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000002, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00060000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x000c0000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x000d0000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00030000, 0x00000000, 0x00000000, - 0x0000000d, 0x00000000, 0x00000000, 0x00000000, - 0x000d0000, 0x00000000, 0x00000000, 0x0000000d, - 0x00000000, 0x00000000, 0x00000000, 0x000d0000, - 0x00000000, 0x00000000, 0x0000000d, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000006, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000006, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x0000000d, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000004, 0x00000000, 0x00000000, 0x00000000, - 0x00040000, 0x00000000, 0x00000000, 0x00000004, - 0x00000000, 0x00000000, 0x00000000, 0x00040000, - 0x00000000, 0x00000000, 0x00000004, 0x00000000, - 0x00000000, 0x00000000, 0x000d0000, 0x00000000, - 0x00000000, 0x00000004, 0x00000000, 0x00000000, - 0x00000000, 0x00040000, 0x00000000, 0x00000000, - 0x00000004, 0x00000000, 0x00000000, 0x00000000, - 0x00040000, 0x00000000, 0x00000000, 0x00000004, - 0x00000000, 0x00000000, 0x00000000, 0x00040000, - 0x00000000, 0x00000000, 0x00000004, 0x00000000, - 0x00000000, 0x00000000, 0x00040000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x000d0000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000007, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x0000000d, 0x00000000, 0x00000000, - 0x00000000, 0x000d0000, 0x00000000, 0x00000000, - 0x0000000d, 0x00000000, 0x00000000, 0x00000000, - 0x000d0000, 0x00000000, 0x00000000, 0x0000000d, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x0000000d, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x000d0000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000006, 0x00000000, 0x00000000, 0x00000000, - 0x00060000, 0x00000000, 0x00000000, 0x00000009, - 0x00000000, 0x00000000, 0x00000000, 0x000d0000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x0000ffff, 0xffffffff, - 0xffffffff, 0xffff0000, 0x00000000 -}; - - -//D:8003C4D0 -struct prop_pos_data word_D_8003C4D0[] = { - {0x0002, 0x0000, 0x0000} -}; -//D:8003C4D6 .half 0 -//D:8003C4D8 -struct item_related model_object_standard_object = {1, 0, word_D_8003C4D0, 3, 0}; -//D:8003C4E4 -s32 D_8003C4E4 = 0; -//D:8003C4E8 -s32 D_8003C4E8 = 0; -//D:8003C4EC -s32 D_8003C4EC = 0; - -//D:8003C4F0 -struct prop_pos_data word_D_8003C4F0[] = { - {0x0015, 0x0000, 0x0000}, - {0x0015, 0x0001, 0x0001} -}; -//D:8003C4FC -struct item_related prop_weapon_related = {2, 0, word_D_8003C4F0, 0, 0}; -//D:8003C508 -s32 D_8003C508 = 0; -//D:8003C50C -s32 D_8003C50C = 0; - -//D:8003C510 -struct prop_pos_data dword_D_8003C510[] = { - {0x0401, 0x0000, 0x0000}, - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x000C}, - {0x0002, 0x000C, 0x0009}, - {0x0002, 0x000F, 0x0012}, - {0x0002, 0x0012, 0x000F}, - {0x0002, 0x0015, 0x0018}, - {0x0002, 0x0018, 0x0015}, - {0x0002, 0x001B, 0x001E}, - {0x0002, 0x001E, 0x001B}, - {0x0002, 0x0021, 0x0024}, - {0x0002, 0x0024, 0x0021}, - {0x0002, 0x0027, 0x002A}, - {0x0002, 0x002A, 0x0027} -}; - - -//item_related struct -//D:8003C570 -struct item_related dword_D_8003C570 = {0x10, 0x0000, dword_D_8003C510, 0x2D, 0x0000}; - -//D:8003C57C -s32 D_8003C57C = 0; - - -//D:8003C580 -struct player_gait_header player_gait_hdr = {0, 1, 0, &player_gait_obj, NULL, 0, 0, &player_gait_pos_hdr_1}; -//D:8003C598 -struct player_gait_pos_header player_gait_pos_hdr_1 = {0, 2, 0, &player_gait_pos_1, (struct player_gait_pos_header *)&player_gait_hdr, 0, 0, &player_gait_pos_hdr_2}; -//D:8003C5B0 -struct player_gait_pos_header player_gait_pos_hdr_2 = {0, 2, 0, &player_gait_pos_2, &player_gait_pos_hdr_1, 0, 0, &player_gait_pos_hdr_3}; -//D:8003C5C8 -struct player_gait_pos_header player_gait_pos_hdr_3 = {0, 2, 0, &player_gait_pos_3, &player_gait_pos_hdr_2, 0, 0, 0}; -//D:8003C5E0 -struct player_gait_object_entry player_gait_obj = {1, &player_gait_pos_hdr_1, 0, 0}; -//D:8003C5F0 -struct player_gait_position_entry player_gait_pos_1 = {0.0, 0.0, 0.0, 0x0001, 0x0002, 0xFFFF, 0xFFFF, &player_gait_pos_hdr_2, 0}; -//D:8003C60C -struct player_gait_position_entry player_gait_pos_2 = {1.177982, 41.14437, 0, 0x0002, 0x0003, 0xFFFF, 0xFFFF, &player_gait_pos_hdr_3, 0}; -//D:8003C628 -struct player_gait_position_entry player_gait_pos_3 = {-2.576027, 480.42902, 0, 0x0003, 0x0000, 0xFFFF, 0xFFFF, NULL, 0}; - - -//D:8003C644 -s32 D_8003C644 = 0; -//D:8003C648 -s32 D_8003C648 = 0; -//D:8003C64C -s32 D_8003C64C = 0; - - -//D:8003C650 -struct object_header player_gait_object = {0, &dword_D_8003C570,0,0, 4, 41.16123,0,0,0,0}; - - -//D:8003C670 -struct prop_pos_data dword_D_8003C670[] = { - {0x0401, 0x0000, 0x0000}, - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x000C}, - {0x0002, 0x000C, 0x0009}, - {0x0002, 0x000F, 0x0012}, - {0x0002, 0x0012, 0x000F}, - {0x0002, 0x0015, 0x0018}, - {0x0002, 0x0018, 0x0015}, - {0x0002, 0x001B, 0x001E}, - {0x0002, 0x001E, 0x001B}, - {0x0002, 0x0021, 0x0024}, - {0x0002, 0x0024, 0x0021}, - {0x0002, 0x0027, 0x002A}, - {0x0002, 0x002A, 0x0027}, - {0x0015, 0x002D, 0x002D}, - {0x0015, 0x002E, 0x002E}, - {0x0015, 0x002F, 0x002F}, -}; - -//D:8003C6E4 -struct item_related model_suit_lf_hand = {0x13, 0x0000, dword_D_8003C670, 0x2D, 0x0000}; - -//D:8003C6F0 -struct prop_pos_data dword_D_8003C6F0[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0015, 0x000F, 0x000F}, - {0x0002, 0x0009, 0x0009}, - {0x0002, 0x000C, 0x000C} -}; -//D:8003C714 -struct item_related weapon_gun_standard_gun = {0x6, 0x0000, dword_D_8003C6F0, 0xF, 0x0000}; - -//D:8003C720 -struct prop_pos_data dword_D_8003C720[] = { - {0x0002, 0x0000, 0x0000} -}; -//D:8003C728 -struct item_related weapon_gun_unassigned = {0x1, 0x0000, dword_D_8003C720, 0x3, 0x0000}; - -//D:8003C734 -s32 D_8003C734 = 0; -//D:8003C738 -s32 D_8003C738 = 0; -//D:8003C73C -s32 D_8003C73C = 0; -//D:8003C740 -struct prop_pos_data dword_D_8003C740[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x0009}, - {0x0002, 0x000C, 0x000C}, - {0x0002, 0x000F, 0x000F}, - {0x0002, 0x0012, 0x0012} -}; -//D:8003C76C -struct item_related weapon_gun_revolver = {0x7, 0x0000, dword_D_8003C740, 0x15, 0x0000}; - -//D:8003C778 -s32 D_8003C778 = 0; -//D:8003C77C -s32 D_8003C77C = 0; -//D:8003C780 -struct prop_pos_data dword_D_8003C780[] = { - {0x0002, 0x0000, 0x0000}, - {0x0002, 0x0003, 0x0003}, - {0x0002, 0x0006, 0x0006}, - {0x0002, 0x0009, 0x0009}, - {0x0015, 0x0012, 0x0012}, - {0x0002, 0x000C, 0x000C}, - {0x0002, 0x000F, 0x000F} -}; -//D:8003C7AC -struct item_related weapon_gun_kf7 = {0x7, 0x0000, dword_D_8003C780, 0x12, 0x0000}; - -//D:8003C7B8 -s32 D_8003C7B8 = 0; -//D:8003C7BC -s32 D_8003C7BC = 0; - -//D:8003C7C0 -struct Gitemheader GwppkZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 6, 293.60767, 0, 0xC, 0, 0}; -//D:8003C7E0 -struct Gitemheader GwppksilZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 6, 438.66476, 0, 0xC, 0, 0}; -//D:8003C800 -struct Gitemheader Gtt33Z_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 6, 438.16788, 0, 0xF, 0, 0}; -//D:8003C820 -struct Gitemheader GskorpianZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 390.40039, 0, 0xC, 0, 0}; -//D:8003C840 -struct Gitemheader Gak47Z_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 941.9339, 0, 0x12, 0, 0}; -//D:8003C860 -struct Gitemheader GuziZ_struct = {0, &weapon_gun_kf7, 0, 0x24, 5, 436.95404, 0, 0xC, 0, 0}; -//D:8003C880 -struct Gitemheader Gmp5kZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 499.24536, 0, 9, 0, 0}; -//D:8003C8A0 -struct Gitemheader Gmp5ksilZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 655.97717, 0, 9, 0, 0}; -//D:8003C8C0 -struct Gitemheader Gm16Z_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 1096.2413, 0, 8, 0, 0}; -//D:8003C8E0 -struct Gitemheader Gfnp90Z_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 460.81909, 0, 0xA, 0, 0}; -//D:8003C900 -struct Gitemheader G8003C900_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 238.62167, 0, 4, 0, 0}; -//D:8003C920 -struct Gitemheader GrugerZ_struct = {0, &weapon_gun_revolver, 0, 0x24, 6, 553.44312, 0, 0xE, 0, 0}; -//D:8003C940 -struct Gitemheader GgoldengunZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 5, 384.92172, 0, 0xB, 0, 0}; -//D:8003C960 -struct Gitemheader GshotgunZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 4, 919.33038, 0, 0xD, 0, 0}; -//D:8003C980 -struct Gitemheader GautoshotZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 840.15125, 0, 0x10, 0, 0}; -//D:8003C9A0 -struct Gitemheader GgrenadelaunchZ_struct = {0, &weapon_gun_revolver, 0, 0x24, 5, 768.33496, 0, 0xF, 0, 0}; -//D:8003C9C0 -struct Gitemheader GspectreZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 598.42865, 0, 0xB, 0, 0}; -//D:8003C9E0 -struct Gitemheader GlaserZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 3, 442.81848, 0, 0xD, 0, 0}; -//D:8003CA00 -struct Gitemheader GrocketlaunchZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 3, 566.51208, 0, 0xA, 0, 0}; -//D:8003CA20 -struct Gitemheader GknifeZ_header = {0, &weapon_gun_standard_gun, 0, 0x24, 3, 376.97263, 0, 9, 0, 0}; -//D:8003CA40 -struct Gitemheader GthrowknifeZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 3, 373.31387, 0, 9, 0, 0}; -//D:8003CA60 -struct Gitemheader GtaserZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 182.78622, 0, 0x11, 0, 0}; -//D:8003CA80 -struct Gitemheader GremotemineZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 50.999378, 0, 3, 0, 0}; -//D:8003CAA0 -struct Gitemheader GproximitymineZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 51.00029, 0, 3, 0, 0}; -//D:8003CAC0 -struct Gitemheader GtimedmineZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 49.368877, 0, 4, 0, 0}; -//D:8003CAE0 -struct Gitemheader GtriggerZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 283.9006, 0, 0x16, 0, 0}; -//D:8003CB00 -struct Gitemheader GgrenadeZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 3, 427.27081, 0, 5, 0, 0}; -//D:8003CB20 -struct Gitemheader GfistZ_header = {0, &weapon_gun_standard_gun, 0, 0x24, 3, 243.84764, 0, 0xE, 0, 0}; -//D:8003CB40 -struct Gitemheader GsniperrifleZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 808.03253, 0, 7, 0, 0}; -//D:8003CB60 -struct Gitemheader GcartridgeZ_struct = {0, &weapon_gun_unassigned, 0, 0, 1, 14.128822, 0, 2, 0, 0}; -//D:8003CB80 -struct Gitemheader GcartrifleZ_struct = {0, &weapon_gun_unassigned, 0, 0, 1, 30.122747, 0, 2, 0, 0}; -//D:8003CBA0 -struct Gitemheader GcartblueZ_struct = {0, &weapon_gun_unassigned, 0, 0, 1, 30.122747, 0, 2, 0, 0}; -//D:8003CBC0 -struct Gitemheader GcartshellZ_struct = {0, &weapon_gun_unassigned, 0, 0, 1, 29.8451, 0, 2, 0, 0}; -//D:8003CBE0 -struct Gitemheader GjoypadZ_struct = {0, &weapon_gun_controller, 0, 0xE, 0xD, 523.96826, 0, 4, 0, 0}; -//D:8003CC00 -struct Gitemheader G8003CC00_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CC20 -struct Gitemheader G8003CC20_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CC40 -struct Gitemheader GbombcaseZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 116.11074, 0, 6, 0, 0}; -//D:8003CC60 -struct Gitemheader GflarepistolZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CC80 -struct Gitemheader GpitongunZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CCA0 -struct Gitemheader G8003CCA0_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CCC0 -struct Gitemheader GsilverwppkZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 6, 293.60767, 0, 0xB, 0, 0}; -//D:8003CCE0 -struct Gitemheader GgoldwppkZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 6, 293.60767, 0, 0xB, 0, 0}; -//D:8003CD00 -struct Gitemheader G8003CD00_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CD20 -struct Gitemheader GbungeeZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CD40 -struct Gitemheader GdoordecoderZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 60.850407, 0, 0x10, 0, 0}; -//D:8003CD60 -struct Gitemheader GbombdefuserZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 84.370705, 0, 0xC, 0, 0}; -//D:8003CD80 -struct Gitemheader GbugdetectorZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CDA0 -struct Gitemheader GsafecrackercaseZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 116.11074, 0, 6, 0, 0}; -//D:8003CDC0 -struct Gitemheader GcameraZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 52.775627, 0, 0xB, 0, 0}; -//D:8003CDE0 -struct Gitemheader GlockexploderZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CE00 -struct Gitemheader GdoorexploderZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CE20 -struct Gitemheader GkeyanalysercaseZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 116.11074, 0, 6, 0, 0}; -//D:8003CE40 -struct Gitemheader GweaponcaseZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 116.11074, 0, 6, 0, 0}; -//D:8003CE60 -struct Gitemheader GkeycardZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 123.088844, 0, 2, 0, 0}; -//D:8003CE80 -struct Gitemheader GkeyyaleZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 414.25156, 0, 1, 0, 0}; -//D:8003CEA0 -struct Gitemheader GkeyboltZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 759.26581, 0, 1, 0, 0}; -//D:8003CEC0 -struct Gitemheader GbugZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 106.2163, 0, 6, 0, 0}; -//D:8003CEE0 -struct Gitemheader GmicrocameraZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 70.039436, 0, 7, 0, 0}; -//D:8003CF00 -struct Gitemheader GexplosivefloppyZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 60.902443, 0, 5, 0, 0}; -//D:8003CF20 -struct Gitemheader GgoldeneyekeyZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 98.987083, 0, 5, 0, 0}; -//D:8003CF40 -struct Gitemheader GpolarizedglassesZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 53.776386, 0, 2, 0, 0}; -//D:8003CF60 -struct Gitemheader GcreditcardZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CF80 -struct Gitemheader GdarkglassesZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003CFA0 -struct Gitemheader GwatchidentifierZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 384.9288, 0, 9, 0, 0}; -//D:8003CFC0 -struct Gitemheader GwatchcommunicatorZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 384.9288, 0, 9, 0, 0}; -//D:8003CFE0 -struct Gitemheader GwatchlaserZ_struct = {0, &weapon_gun_standard_gun, 0, 0x24, 4, 283.9006, 0, 0x16, 0, 0}; -//D:8003D000 -struct Gitemheader GwatchgeigercounterZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 384.9288, 0, 9, 0, 0}; -//D:8003D020 -struct Gitemheader GwatchmagnetrepelZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 384.9288, 0, 9, 0, 0}; -//D:8003D040 -struct Gitemheader GwatchmagnetattractZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1D, 3, 384.9288, 0, 9, 0, 0}; -//D:8003D060 -struct Gitemheader GgaskeyringZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 111.59859, 0, 9, 0, 0}; -//D:8003D080 -struct Gitemheader GdatathiefZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 119.78231, 0, 3, 0, 0}; -//D:8003D0A0 -struct Gitemheader GbriefcaseZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 116.11074, 0, 6, 0, 0}; -//D:8003D0C0 -struct Gitemheader GblackboxZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 128.31796, 0, 5, 0, 0}; -//D:8003D0E0 -struct Gitemheader GplastiqueZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 255.35242, 0, 3, 0, 0}; -//D:8003D100 -struct Gitemheader GvideotapeZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 122.69632, 0, 9, 0, 0}; -//D:8003D120 -struct Gitemheader GclipboardZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 190.41742, 0, 3, 0, 0}; -//D:8003D140 -struct Gitemheader GstafflistZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 215.17534, 0, 4, 0, 0}; -//D:8003D160 -struct Gitemheader GdossierredZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 183.54231, 0, 4, 0, 0}; -//D:8003D180 -struct Gitemheader GaudiotapeZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 97.531075, 0, 9, 0, 0}; -//D:8003D1A0 -struct Gitemheader GdattapeZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 79.868584, 0, 4, 0, 0}; -//D:8003D1C0 -struct Gitemheader GplansZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 81.950996, 0, 5, 0, 0}; -//D:8003D1E0 -struct Gitemheader GspyfileZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003D200 -struct Gitemheader GblueprintsZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 125.3834, 0, 4, 0, 0}; -//D:8003D220 -struct Gitemheader GcircuitboardZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 138.90285, 0, 3, 0, 0}; -//D:8003D240 -struct Gitemheader GmapZ_struct = {0, &weapon_gun_standard_gun, 0, 0x23, 3, 125.3834, 0, 4, 0, 0}; -//D:8003D260 -struct Gitemheader GspooltapeZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003D280 -struct Gitemheader GmicrofilmZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003D2A0 -struct Gitemheader GmicrocodeZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003D2C0 -struct Gitemheader GlectreZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003D2E0 -struct Gitemheader GmoneyZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003D300 -struct Gitemheader GgoldbarZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; -//D:8003D320 -struct Gitemheader GheroinZ_struct = {0, &weapon_gun_standard_gun, 0, 0x1C, 3, 134.8334, 0, 2, 0, 0}; - -//D:8003D340 -u32 dword_D_8003D340[] = {0x20000, 2, 0x30003, 0x20006, - 0x60002, 0x90009, 0x2000C, 0xC0002, - 0xF000F, 0x20012, 0x120002, 0x150015, - 0x20018, 0x180002, 0x1B001B, 0x2001E, - 0x1E0002, 0x210021, 0x20024, 0x240000}; - -//D:8003D390 -struct model_data weapon_gun_controller = {0xD0000, dword_D_8003D340, 0x270000}; -//D:8003D39C -s32 D_8003D39C = 0; - -u32 dword_D_8003D3A0[] = {0x4010000, 2, 0, 0x20003, - 0x30002, 0x60006, 0x20009, 0xC0002, - 0xC0009, 0x2000F, 0x120002, 0x12000F, - 0x20015, 0x180002, 0x180015, 0x2001B, - 0x1E0002, 0x1E001B, 0x20021, 0x240002, - 0x240021, 0x20027, 0x2A0002, 0x2A0027}; - - -//D:8003D400 - struct model_data model_guard_character = {0x100000, dword_D_8003D3A0, 0x2D0000}; -//D:8003D40C -s32 D_8003D40C = 0; - -//D:8003D410 -struct object_header CcamguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1260.4969, 0, 0xE, 0, 0}; -//D:8003D430 -struct object_header CgreyguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1292.6892, 0, 0xD, 0, 0}; -//D:8003D450 -struct object_header ColiveguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1260.4969, 0, 0x10, 0, 0}; -//D:8003D470 -struct object_header CrusguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1260.4969, 0, 0xD, 0, 0}; -//D:8003D490 -struct object_header CtrevguardZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1260.4969, 0, 0x12, 0, 0}; -//D:8003D4B0 -struct object_header CborisZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1223.1553, 0, 0x15, 0, 0}; -//D:8003D4D0 -struct object_header CorumovZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1347.004, 0, 0x15, 0, 0}; -//D:8003D4F0 -struct object_header CtrevelyanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1263.2534, 0, 0x10, 0, 0}; -//D:8003D510 -struct object_header CboilertrevZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1263.2534, 0, 0x10, 0, 0}; -//D:8003D530 -struct object_header CvalentinZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1208.6277, 0, 0x10, 0, 0}; -//D:8003D550 -struct object_header CxeniaZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1285.4487, 0, 0x13, 0, 0}; -//D:8003D570 -struct object_header CbaronsamediZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1292.5995, 0, 0x19, 0, 0}; -//D:8003D590 -struct object_header CjawsZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1550.059, 0, 0x14, 0, 0}; -//D:8003D5B0 -struct object_header CmaydayZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1260.657, 0, 0x10, 0, 0}; -//D:8003D5D0 -struct object_header CoddjobZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1082.4603, 0, 0x12, 0, 0}; -//D:8003D5F0 -struct object_header CnatalyaZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1226.1493, 0, 0x10, 0, 0}; -//D:8003D610 -struct object_header CarmourguardZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1260.4969, 0, 0x11, 0, 0}; -//D:8003D630 -struct object_header CcommguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1260.4969, 0, 0xF, 0, 0}; -//D:8003D650 -struct object_header CgreatguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1283.0787, 0, 0xB, 0, 0}; -//D:8003D670 -struct object_header CnavyguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1260.4969, 0, 0xF, 0, 0}; -//D:8003D690 -struct object_header CsnowguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1261.1731, 0, 0x11, 0, 0}; -//D:8003D6B0 -struct object_header CbluewomanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1148.2167, 0, 0xD, 0, 0}; -//D:8003D6D0 -struct object_header CfattechwomanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1149.4025, 0, 0xC, 0, 0}; -//D:8003D6F0 -struct object_header CtechwomanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1158.2109, 0, 0xC, 0, 0}; -//D:8003D710 -struct object_header CjeanwomanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1124.0725, 0, 0xF, 0, 0}; -//D:8003D730 -struct object_header CgreymanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1293.0195, 0, 0xF, 0, 0}; -//D:8003D750 -struct object_header CbluemanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1292.6892, 0, 0xF, 0, 0}; -//D:8003D770 -struct object_header CredmanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1292.6892, 0, 0xF, 0, 0}; -//D:8003D790 -struct object_header CcardimanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1292.6892, 0, 0xE, 0, 0}; -//D:8003D7B0 -struct object_header CcheckmanZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1292.6892, 0, 0x10, 0, 0}; -//D:8003D7D0 -struct object_header CtechmanZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1292.6892, 0, 0xC, 0, 0}; -//D:8003D7F0 -struct object_header CpilotZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1260.4969, 0, 0x18, 0, 0}; -//D:8003D810 -struct object_header Cgreatguard2Z_struct = {0, &model_guard_character, 0, 7, 0x14, 1283.0787, 0, 0x10, 0, 0}; -//D:8003D830 -struct object_header CbluecamguardZ_struct = {0, &model_guard_character, 0, 7, 0x14, 1260.4969, 0, 0xE, 0, 0}; -//D:8003D850 -struct object_header CmoonguardZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1260.4969, 0, 0xD, 0, 0}; -//D:8003D870 -struct object_header CmoonfemaleZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1124.0725, 0, 0xB, 0, 0}; -//D:8003D890 -struct object_header CboilerbondZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1273.6262, 0, 0xD, 0, 0}; -//D:8003D8B0 -struct object_header CsuitbondZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1292.3391, 0, 0xE, 0, 0}; -//D:8003D8D0 -struct object_header CtimberbondZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1282.7715, 0, 0x10, 0, 0}; -//D:8003D8F0 -struct object_header CsnowbondZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1299.1359, 0, 0xE, 0, 0}; -//D:8003D910 -struct object_header CdjbondZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1285.0543, 0, 0xD, 0, 0}; -//D:8003D930 -struct object_header Csuit_lf_handz_struct = {0, &model_suit_lf_hand, 0, 0xA, 9, 12231.949, 0, 0x16, 0, 0}; -//D:8003D950 -struct object_header CheadkarlZ_struct = {0, NULL, 0, 2, 1, 218.15375, 0, 6, 0, 0}; -//D:8003D970 -struct object_header CheadalanZ_struct = {0, NULL, 0, 2, 1, 215.03685, 0, 4, 0, 0}; -//D:8003D990 -struct object_header CheadpeteZ_struct = {0, NULL, 0, 2, 1, 216.28949, 0, 4, 0, 0}; -//D:8003D9B0 -struct object_header CheadmartinZ_struct = {0, NULL, 0, 2, 1, 222.34796, 0, 6, 0, 0}; -//D:8003D9D0 -struct object_header stru_D_8003D9D0 = {0, NULL, 0, 2, 1, 220.2446, 0, 5, 0, 0}; -//D:8003D9F0 -struct object_header stru_D_8003D9F0 = {0, NULL, 0, 2, 1, 201.51955, 0, 5, 0, 0}; -//D:8003DA10 -struct object_header stru_D_8003DA10 = {0, NULL, 0, 2, 1, 212.62949, 0, 5, 0, 0}; -//D:8003DA30 -struct object_header stru_D_8003DA30 = {0, NULL, 0, 2, 1, 218.35564, 0, 4, 0, 0}; -//D:8003DA50 -struct object_header stru_D_8003DA50 = {0, NULL, 0, 2, 1, 192.53412, 0, 4, 0, 0}; -//D:8003DA70 -struct object_header stru_D_8003DA70 = {0, NULL, 0, 2, 1, 218.35564, 0, 4, 0, 0}; -//D:8003DA90 -struct object_header stru_D_8003DA90 = {0, NULL, 0, 2, 1, 227.52234, 0, 4, 0, 0}; -//D:8003DAB0 -struct object_header stru_D_8003DAB0 = {0, NULL, 0, 2, 1, 228.29831, 0, 4, 0, 0}; -//D:8003DAD0 -struct object_header stru_D_8003DAD0 = {0, NULL, 0, 2, 1, 235.64778, 0, 6, 0, 0}; -//D:8003DAF0 -struct object_header stru_D_8003DAF0 = {0, NULL, 0, 2, 1, 218.35564, 0, 5, 0, 0}; -//D:8003DB10 -struct object_header stru_D_8003DB10 = {0, NULL, 0, 2, 1, 240.50017, 0, 4, 0, 0}; -//D:8003DB30 -struct object_header stru_D_8003DB30 = {0, NULL, 0, 2, 1, 234.83342, 0, 4, 0, 0}; -//D:8003DB50 -struct object_header stru_D_8003DB50 = {0, NULL, 0, 2, 1, 228.24614, 0, 4, 0, 0}; -//D:8003DB70 -struct object_header stru_D_8003DB70 = {0, NULL, 0, 2, 1, 228.55029, 0, 4, 0, 0}; -//D:8003DB90 -struct object_header stru_D_8003DB90 = {0, NULL, 0, 2, 1, 212.62949, 0, 2, 0, 0}; -//D:8003DBB0 -struct object_header stru_D_8003DBB0 = {0, NULL, 0, 2, 1, 219.82707, 0, 6, 0, 0}; -//D:8003DBD0 -struct object_header stru_D_8003DBD0 = {0, NULL, 0, 2, 1, 193.20615, 0, 5, 0, 0}; -//D:8003DBF0 -struct object_header stru_D_8003DBF0 = {0, NULL, 0, 2, 1, 235.64778, 0, 4, 0, 0}; -//D:8003DC10 -struct object_header stru_D_8003DC10 = {0, NULL, 0, 2, 1, 223.18559, 0, 4, 0, 0}; -//D:8003DC30 -struct object_header stru_D_8003DC30 = {0, NULL, 0, 2, 1, 218.35564, 0, 5, 0, 0}; -//D:8003DC50 -struct object_header stru_D_8003DC50 = {0, NULL, 0, 2, 1, 193.20615, 0, 4, 0, 0}; -//D:8003DC70 -struct object_header stru_D_8003DC70 = {0, NULL, 0, 2, 1, 235.64778, 0, 5, 0, 0}; -//D:8003DC90 -struct object_header stru_D_8003DC90 = {0, NULL, 0, 2, 1, 193.20615, 0, 3, 0, 0}; -//D:8003DCB0 -struct object_header stru_D_8003DCB0 = {0, NULL, 0, 2, 1, 224.83139, 0, 3, 0, 0}; -//D:8003DCD0 -struct object_header stru_D_8003DCD0 = {0, NULL, 0, 2, 1, 219.97256, 0, 3, 0, 0}; -//D:8003DCF0 -struct object_header stru_D_8003DCF0 = {0, NULL, 0, 2, 1, 203.44904, 0, 3, 0, 0}; -//D:8003DD10 -struct object_header stru_D_8003DD10 = {0, NULL, 0, 2, 1, 196.83067, 0, 3, 0, 0}; -//D:8003DD30 -struct object_header stru_D_8003DD30 = {0, NULL, 0, 2, 1, 176.67717, 0, 1, 0, 0}; -//D:8003DD50 -struct object_header stru_D_8003DD50 = {0, NULL, 0, 2, 1, 190.61967, 0, 4, 0, 0}; -//D:8003DD70 -struct object_header CheadbrosnansuitZ_struct = {0, NULL, 0, 2, 1, 212.45657, 0, 5, 0, 0}; -//D:8003DD90 -struct object_header CheadbrosnantimberZ_struct = {0, NULL, 0, 2, 1, 179.28358, 0, 4, 0, 0}; -//D:8003DDB0 -struct object_header CheadbrosnansnowZ_struct = {0, NULL, 0, 2, 1, 225.0605, 0, 6, 0, 0}; -//D:8003DDD0 -struct object_header CheadbrosnanZ_struct = {0, NULL, 0, 2, 1, 189.48112, 0, 5, 0, 0}; -//D:8003DDF0 -struct object_header CspicebondZ_struct = {0, &model_guard_character, 0, 7, 0x15, 1208.6448, 0, 0x11, 0, 0}; -const char padding_chars_for_strings[] = "\00\00\00\00\00\00\00\00\00\00\00"; -struct c_itementry c_item_entries[] = { - {&CcamguardZ_struct, "CcamguardZ", 1.0, 1.0, 0x1000000}, - {&CgreyguardZ_struct, "CgreyguardZ", 1.0, 1.0, 0x1000000}, - {&ColiveguardZ_struct, "ColiveguardZ", 1.0, 1.0, 0x1000000}, - {&CrusguardZ_struct, "CrusguardZ", 1.0, 1.0, 0x1000000}, - {&CtrevguardZ_struct, "CtrevguardZ", 1.0, 1.0, 0x1000000}, - {&CdjbondZ_struct, "CdjbondZ", 1.0, 1.0446, 0x1000000}, - {&CborisZ_struct, "CborisZ", 1.0, 0.9702, 0x1010000}, - {&CorumovZ_struct, "CorumovZ", 1.0, 1.0778, 0x1010000}, - {&CtrevelyanZ_struct, "CtrevelyanZ", 1.0, 1.0, 0x1010000}, - {&CboilertrevZ_struct, "CboilertrevZ", 1.0, 1.0, 0x1010000}, - {&CvalentinZ_struct, "CvalentinZ", 1.0, 0.93239999, 0x1010000}, - {&CxeniaZ_struct, "CxeniaZ", 1.0, 1.0, 0x10000}, - {&CbaronsamediZ_struct, "CbaronsamediZ", 1.0, 1.0, 0x1010000}, - {&CjawsZ_struct, "CjawsZ", 1.0, 1.199, 0x1010000}, - {&CmaydayZ_struct, "CmaydayZ", 1.0, 1.0, 0x10000}, - {&CoddjobZ_struct, "CoddjobZ", 1.0, 0.78780001, 0x1010000}, - {&CnatalyaZ_struct, "CnatalyaZ", 1.0, 0.96609998, 0x10000}, - {&CarmourguardZ_struct, "CarmourguardZ", 1.0, 1.0, 0x1000000}, - {&CcommguardZ_struct, "CcommguardZ", 1.0, 1.0, 0x1000000}, - {&CgreatguardZ_struct, "CgreatguardZ", 1.0, 1.0, 0x1000000}, - {&CnavyguardZ_struct, "CnavyguardZ", 1.0, 1.0, 0x1000000}, - {&CsnowguardZ_struct, "CsnowguardZ", 1.0, 1.0, 0x1010000}, - {&CboilerbondZ_struct, "CboilerbondZ", 1.0, 1.0403, 0x1000000}, - {&CsuitbondZ_struct, "CsuitbondZ", 1.0, 1.058, 0x1000000}, - {&CtimberbondZ_struct, "CtimberbondZ", 1.0, 1.0438, 0x1000000}, - {&CsnowbondZ_struct, "CsnowbondZ", 1.0, 1.0438, 0x1000000}, - {&CbluewomanZ_struct, "CbluewomanZ", 1.0, 0.88529998, 0}, - {&CfattechwomanZ_struct, "CfattechwomanZ", 1.0, 0.88529998, 0}, - {&CtechwomanZ_struct, "CtechwomanZ", 1.0, 0.91600001, 0}, - {&CjeanwomanZ_struct, "CjeanwomanZ", 1.0, 0.88529998, 0}, - {&CgreymanZ_struct, "CgreymanZ", 1.0, 1.0, 0x1000000}, - {&CbluemanZ_struct, "CbluemanZ", 1.0, 1.0, 0x1000000}, - {&CredmanZ_struct, "CredmanZ", 1.0, 1.0, 0x1000000}, - {&CcardimanZ_struct, "CcardimanZ", 1.0, 1.0, 0x1000000}, - {&CcheckmanZ_struct, "CcheckmanZ", 1.0, 1.0, 0x1000000}, - {&CtechmanZ_struct, "CtechmanZ", 1.0, 1.0, 0x1000000}, - {&CpilotZ_struct, "CpilotZ", 1.0, 1.0, 0x1010000}, - {&Cgreatguard2Z_struct, "Cgreatguard2Z", 1.0, 1.0, 0x1000000}, - {&CbluecamguardZ_struct, "CbluecamguardZ", 1.0, 1.0, 0x1000000}, - {&CmoonguardZ_struct, "CmoonguardZ", 1.0, 1.0, 0x1000000}, - {&CmoonfemaleZ_struct, "CmoonfemaleZ", 1.0, 0.88529998, 0}, - {&Csuit_lf_handz_struct, "Csuit_lf_handZ", 0.1, 1.0, 0x1000000}, - {&CheadkarlZ_struct, "CheadkarlZ", 1.0, 1.0, 0x1010000}, - {&CheadalanZ_struct, "CheadalanZ", 1.0, 1.0, 0x1010000}, - {&CheadpeteZ_struct, "CheadpeteZ", 1.0, 1.0, 0x1010000}, - {&CheadmartinZ_struct, "CheadmartinZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003D9D0, "CheadmarkZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003D9F0, "CheadduncanZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DA30, "CheadshaunZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DA50, "CheaddwayneZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DA10, "CheadbZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DA70, "CheaddaveZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DA90, "CheadgrantZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DAB0, "CheaddesZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DAD0, "CheadchrisZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DAF0, "CheadleeZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DB10, "CheadneilZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DB30, "CheadjimZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DB50, "CheadrobinZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DB70, "CheadstevehZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DB90, "CheadbalaclavaZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DBB0, "CheadbikeZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DBD0, "CheadgrahamZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DBF0, "CheadsteveeZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DC10, "CheadjoelZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DC30, "CheadscottZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DC50, "CheadjoeZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DC70, "CheadkenZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DC90, "Cheadjoe2Z", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DCB0, "CheadmishkinZ", 1.0, 1.0, 0x1010000}, - {&stru_D_8003DCD0, "CheadsallyZ", 1.0, 1.0, 0x10000}, - {&stru_D_8003DCF0, "CheadmarionZ", 1.0, 1.0, 0x10000}, - {&stru_D_8003DD10, "CheadmandyZ", 1.0, 1.0, 0x10000}, - {&stru_D_8003DD30, "CheadvivienZ", 1.0, 1.0, 0x10000}, - {&stru_D_8003DD50, "CheadbrosnanboilerZ", 1.0, 1.0, 0x1010000}, - {&CheadbrosnansuitZ_struct, "CheadbrosnansuitZ", 1.0, 1.0, 0x1010000}, - {&CheadbrosnantimberZ_struct, "CheadbrosnantimberZ", 1.0, 1.0, 0x1010000}, - {&CheadbrosnansnowZ_struct, "CheadbrosnansnowZ", 1.0, 1.0, 0x1010000}, - {&CheadbrosnanZ_struct, "CheadbrosnanZ", 1.0, 1.0, 0x1010000}, - {&CspicebondZ_struct, "CspicebondZ", 0.94999999, 0.96609998, 0x10000}, -}; - - -//D:8003E450 -u32 D_8003E450 = 0; -u32 D_8003E454 = 0; -//D:8003E458 -f32 D_8003E458 = 1.0; -//D:8003E45C -u32 D_8003E45C = 0; -//D:8003E460 -u32 D_8003E460 = 0; - -//D:8003E464 -struct headHat headHat_array_8003E464[] = -{ - { - -0.076300003, 0.77999997, -1.2696, 1.1694109, 1.120654, 1.05959 - }, - { - -0.25760001, -0.47319999, -1.5686001, 1.132916, 1.0, 1.080207 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.039999999, 0.74000001, -0.63999999, 1.132795, 1.167207, 1.035167 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.033500001, 0.24959999, 0.16599999, 1.115045, 0.94169998, 1.042492 - }, - { - -0.070299998, 0.4919, -0.83359998, 1.072812, 1.088326, 0.926121 - }, - { - -0.1, 0.42750001, -0.48249999, 1.033368, 0.96552098, 0.929905 - }, - { - 0.18000001, 0.0, 0.0, 1.072214, 1.0, 1.0 - }, - { - 0.237, 0.977, -0.44, 1.178463, 1.14061, 1.143465 - }, - { - -0.090300001, 0.23190001, 0.12639999, 0.99080002, 1.02, 0.8466 - }, - { - 0.0, 0.1485, 0.3793, 1.1548001, 0.99190003, 0.95139998 - }, - { - -0.14820001, 0.44100001, 0.1727, 1.050034, 1.0, 1.05445 - }, - { - -0.4941, -0.26409999, -0.18000001, 0.90368301, 0.72551203, 1.001314 - }, - { - 0.1318, 0.30100101, 1.572699, 0.98799503, 1.0, 1.05445 - }, - { - 0.0, 0.73019999, 0.71740001, 1.1923, 1.1834, 1.091924 - }, - { - -0.0942, -0.74190003, 0.94260001, 0.98659998, 0.91689998, 0.94760001 - }, - { - 0.0535, 0.61510003, 1.076, 1.05092, 0.90002, 1.122508 - }, - { - -0.079999998, 0.1085, -0.56629997, 1.192598, 1.079134, 1.199971 - }, - { - -0.35640001, -0.28709999, -0.36950001, 1.035176, 0.838543, 1.121092 - }, - { - 0.065300003, -0.4664, 0.72000003, 1.050106, 1.0, 1.11042 - }, - { - -0.079999998, 0.4885, 0.093699999, 1.158567, 1.2356189, 1.194388 - }, - { - -0.0942, -0.3017, 0.59450001, 1.0671999, 1.0218, 1.0174 - }, - { - 0.12, -0.1515, 0.95370001, 1.124017, 0.966048, 1.206121 - }, - { - -0.19310001, 0.2334, -0.64850003, 1.1800359, 1.0401829, 1.154537 - }, - { - -0.36230001, -0.133, -0.486, 1.0536211, 1.0, 1.1495841 - }, - { - 0.0955, 0.68099999, 0.78799999, 1.0152, 1.1926, 1.1308 - }, - { - -0.0823, 0.36700001, 0.37400001, 1.311748, 1.115972, 1.166244 - }, - { - -0.0942, 0.1768, 0.5248, 1.0470001, 1.0218, 0.99800003 - }, - { - 0.0, -0.0964, 0.82999998, 1.1109999, 0.85180199, 1.180503 - }, - { - -0.1832, 0.32120001, -1.2381001, 1.125683, 1.091681, 0.98079097 - }, - { - -0.55049998, -0.60839999, -1.189499, 1.023566, 0.8326, 1.0637 - }, - { - 0.076800004, 0.32120001, -0.118101, 1.059677, 1.091681, 1.000479 - }, - { - 0.0, 0.29890001, -0.67299998, 1.1367, 1.0526, 0.99227399 - }, - { - -0.0942, 0.032000002, -0.29699999, 1.0402, 0.92860001, 0.88690001 - }, - { - 0.0, 0.26879999, 0.057399999, 1.041842, 0.81959999, 0.99637401 - }, - { - 0.079700001, 0.3511, 0.0, 1.0, 1.0, 1.0835 - }, - { - 0.14, 0.1965, -0.058398999, 1.012674, 0.96799999, 1.098917 - }, - { - 0.1629, 0.78799999, 1.0746, 0.92205501, 1.0688, 1.055297 - }, - { - -0.074500002, 0.8477, 0.71810001, 1.154819, 1.177258, 1.031684 - }, - { - -0.0145, 0.047699999, 0.89810002, 1.0404, 1.0, 0.94309998 - }, - { - 0.32550001, 0.36770001, 0.93809998, 1.044217, 0.97841102, 1.127771 - }, - { - -0.1832, -0.058800001, -1.5781, 1.095929, 0.96300697, 0.92348999 - }, - { - -0.4411, -0.64840001, -1.839099, 1.059271, 0.8326, 0.96849501 - }, - { - 0.19679999, -0.3188, -0.43810099, 1.070675, 1.053777, 0.88628101 - }, - { - 0.0, 0.29890001, -0.83139998, 1.1154, 1.0328, 1.0036 - }, - { - -0.0942, -0.1275, -0.52109998, 1.0402, 0.92180002, 0.8617 - }, - { - 0.079999998, -0.2383, -0.22940101, 1.063022, 0.80879998, 0.90789998 - }, - { - 0.1165, 0.58780003, -1.3096, 1.136481, 1.0409, 1.065612 - }, - { - -0.070600003, 0.0152, -1.2391, 1.002256, 0.76669598, 1.029659 - }, - { - 0.2218, 0.0, 0.0, 1.0852, 1.0, 1.0 - }, - { - 0.063000001, 0.7561, -0.45269999, 1.2085, 1.1014, 1.0664001 - }, - { - 0.065499999, -0.1097, -0.3497, 1.0404, 0.90915602, 0.94940001 - }, - { - 0.0, 0.336, 0.082999997, 1.150862, 0.94169998, 1.0 - }, - { - -0.054200001, 0.27079999, -0.082099997, 1.0367, 1.0367, 1.0367 - }, - { - 0.34119999, -0.55879998, -0.3044, 1.113436, 0.96799999, 1.076647 - }, - { - 0.0495, 0.63980001, 1.2178, 0.95099998, 1.1126, 1.0413001 - }, - { - 0.0, 0.53640002, 0.75220001, 1.1976, 1.1463, 1.1374 - }, - { - -0.0145, -0.64749998, 1.0477999, 0.95289999, 0.92180002, 0.90579998 - }, - { - 0.16, 0.61830002, 1.128299, 1.083438, 0.91670603, 1.0666929 - }, - { - -0.2586, 0.93580002, -0.2463, 1.1057, 1.0116, 1.0927 - }, - { - -0.1788, -0.31310001, -0.55299997, 1.1071, 1.0, 1.071945 - }, - { - 0.0955, 0.16230001, 0.50150001, 1.0506001, 1.0, 1.1032 - }, - { - 0.081200004, 0.2269, 0.50700003, 1.1071, 1.178908, 1.189239 - }, - { - -0.0145, -0.68440002, 0.54070002, 1.0470001, 0.92699999, 1.027078 - }, - { - 0.0, -0.0164, 0.66399997, 1.2108999, 1.0, 1.0729001 - }, - { - -0.1487, 0.88779998, -0.41060001, 1.110018, 0.98460901, 1.110518 - }, - { - 0.0012000001, -0.61879998, -0.34439901, 1.099178, 0.916071, 1.054984 - }, - { - 0.0429, 0.2149, 0.4298, 1.0455, 1.0688, 1.1514 - }, - { - 0.0012000001, -0.0188, 0.65560102, 1.1957231, 1.079964, 1.200996 - }, - { - -0.0145, -0.48769999, 0.44909999, 1.003074, 1.0, 0.98259997 - }, - { - 0.0, 0.396, 0.8362, 1.1622, 0.91339999, 1.066853 - }, - { - -0.29030001, 1.0714999, -0.3504, 1.125893, 1.127159, 1.177758 - }, - { - 0.0, -0.079999998, -0.373, 1.099718, 1.0, 1.0947551 - }, - { - 0.0, 0.78799999, 0.64469999, 1.0, 1.0, 1.0963 - }, - { - -0.074699998, 1.5436, 0.1979, 1.1497999, 1.1835999, 1.0791 - }, - { - -0.090300001, -0.1085, 0.68959999, 1.024099, 1.0, 0.98965299 - }, - { - 0.0, 0.63230002, 0.7913, 1.1081001, 0.93440002, 1.0779999 - }, - { - 0.12, 0.40000001, 0.039999999, 1.022947, 0.92226201, 1.004824 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0429, 0.75889999, 1.2895, 0.94440001, 1.0, 1.0551 - }, - { - 0.0, 0.546, 0.79729998, 1.1483001, 1.1267999, 1.1388 - }, - { - 0.065099999, -0.54320002, 1.1224999, 0.93949997, 0.92699999, 0.93040001 - }, - { - 0.1265, 0.36359999, 1.079, 1.1109999, 1.0, 1.1166 - }, - { - -0.278, 1.272301, -0.55269998, 1.24701, 1.0737129, 1.118222 - }, - { - -0.23639999, 0.58200002, -0.30950001, 1.225595, 1.077682, 1.066005 - }, - { - -0.0845, 0.68099999, 0.64469999, 1.1204081, 1.1927, 1.1308 - }, - { - -0.1364, 1.021999, 0.5905, 1.153587, 1.226897, 1.2252491 - }, - { - -0.2534, 0.57560003, 0.3856, 1.0405, 1.0405, 1.0585999 - }, - { - -0.1265, 0.6081, 0.71200001, 1.222, 1.0, 1.111666 - }, - { - -0.4637, 1.3971, -0.49270001, 1.1752, 1.0116, 1.1762 - }, - { - -0.2976, -0.1049, -0.49649999, 1.2345999, 0.86470801, 1.077117 - }, - { - -0.1151, 0.7353, 0.57309997, 1.0759, 1.0, 1.1308 - }, - { - -0.189, 0.99910003, 0.2396, 1.2269, 1.2039, 1.1698999 - }, - { - -0.2534, -0.0647, 0.30070001, 1.0470001, 0.92699999, 1.0124 - }, - { - -0.1265, 0.61260003, 0.76700002, 1.2108999, 1.0, 1.096216 - }, - { - -0.51429999, 1.0894001, -0.082099997, 1.1003, 1.0316, 1.0278 - }, - { - -0.53280002, -0.13060001, -0.25999999, 1.080464, 1.0, 1.019003 - }, - { - -0.1969, 0.45930001, 0.64469999, 0.96219999, 1.0, 1.0895 - }, - { - -0.32690001, 1.1438, 0.46720001, 1.1339, 1.1339, 1.0436 - }, - { - -0.29879999, 0.0, 0.41429999, 0.96219999, 1.0, 0.95630002 - }, - { - -0.17640001, 0.39500001, 0.86699998, 1.0972, 0.94625998, 1.0529979 - }, - { - 0.02, 0.56910002, -0.25299999, 1.1205291, 0.999475, 1.072994 - }, - { - -0.0823, -0.3784, -0.38249999, 1.077682, 1.0, 1.066239 - }, - { - 0.02, -0.1909, 0.90700001, 1.049657, 0.999475, 1.072994 - }, - { - 0.0, 0.60549998, 0.47510001, 1.1236, 1.1236, 1.1236 - }, - { - -0.0942, 0.077600002, 0.5248, 1.0403, 0.95950001, 0.98580003 - }, - { - 0.0, 0.20550001, 0.8951, 1.1519721, 0.92378497, 1.0316401 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0836, -0.66259998, 0.14210001, 0.95139998, 1.090098, 0.92760003 - }, - { - 0.1141, -1.1931, -0.25400001, 0.98102301, 0.83667898, 0.88798702 - }, - { - 0.1481, -0.15360001, 1.1461999, 0.91399997, 1.0, 0.94489998 - }, - { - 0.0, -0.53250003, 0.3563, 1.0727, 1.0526, 1.0228 - }, - { - -0.0942, -0.6857, 1.1224999, 0.95959997, 0.92860001, 0.88690001 - }, - { - 0.079999998, -0.7396, 0.963, 1.1032, 0.875673, 0.97771698 - }, - { - -0.29030001, 1.0714999, -0.3504, 1.125893, 1.127159, 1.177758 - }, - { - 0.0, -0.079999998, -0.373, 1.099718, 1.0, 1.0947551 - }, - { - 0.0, 0.78799999, 0.64469999, 1.0, 1.0, 1.0963 - }, - { - -0.074699998, 1.5436, 0.1979, 1.1497999, 1.1835999, 1.0791 - }, - { - -0.090300001, -0.1085, 0.68959999, 1.024099, 1.0, 0.98965299 - }, - { - 0.0, 0.63230002, 0.7913, 1.1081001, 0.93440002, 1.0779999 - }, - { - -0.13699999, 0.286001, -0.32229999, 1.142894, 0.89638299, 1.15 - }, - { - -0.16680001, -0.1365, -0.43650001, 1.1452, 1.0, 1.061306 - }, - { - 0.1376, 0.0, 0.71600002, 1.05312, 1.0, 1.0687751 - }, - { - -0.074699998, 0.9393, 0.2658, 1.1815, 1.1216, 1.0822999 - }, - { - -0.103, -0.2269, 0.5722, 0.99080002, 1.02, 1.0034 - }, - { - 0.0, 0.1373, 0.79430002, 1.1813999, 0.86186302, 1.0998 - }, - { - 0.12, 0.40000001, 0.039999999, 1.022947, 0.92226201, 1.004824 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0429, 0.75889999, 1.2895, 0.94440001, 1.0, 1.0551 - }, - { - 0.0, 0.546, 0.79729998, 1.1483001, 1.1267999, 1.1388 - }, - { - 0.065099999, -0.54320002, 1.1224999, 0.93949997, 0.92699999, 0.93040001 - }, - { - 0.1265, 0.36359999, 1.079, 1.1109999, 1.0, 1.1166 - }, - { - 0.0836, -0.66259998, 0.14210001, 0.95139998, 1.090098, 0.92760003 - }, - { - 0.1141, -1.1931, -0.25400001, 0.98102301, 0.83667898, 0.88798702 - }, - { - 0.1481, -0.15360001, 1.1461999, 0.91399997, 1.0, 0.94489998 - }, - { - 0.0, -0.53250003, 0.3563, 1.0727, 1.0526, 1.0228 - }, - { - -0.0942, -0.6857, 1.1224999, 0.95959997, 0.92860001, 0.88690001 - }, - { - 0.079999998, -0.7396, 0.963, 1.1032, 0.875673, 0.97771698 - }, - { - -0.29030001, 1.0714999, -0.3504, 1.125893, 1.127159, 1.177758 - }, - { - 0.0, -0.079999998, -0.373, 1.099718, 1.0, 1.0947551 - }, - { - 0.0, 0.78799999, 0.64469999, 1.0, 1.0, 1.0963 - }, - { - -0.074699998, 1.5436, 0.1979, 1.1497999, 1.1835999, 1.0791 - }, - { - -0.090300001, -0.1085, 0.68959999, 1.024099, 1.0, 0.98965299 - }, - { - 0.0, 0.63230002, 0.7913, 1.1081001, 0.93440002, 1.0779999 - }, - { - 0.0836, -0.66259998, 0.14210001, 0.95139998, 1.090098, 0.92760003 - }, - { - 0.1141, -1.1931, -0.25400001, 0.98102301, 0.83667898, 0.88798702 - }, - { - 0.1481, -0.15360001, 1.1461999, 0.91399997, 1.0, 0.94489998 - }, - { - 0.0, -0.53250003, 0.3563, 1.0727, 1.0526, 1.0228 - }, - { - -0.0942, -0.6857, 1.1224999, 0.95959997, 0.92860001, 0.88690001 - }, - { - 0.079999998, -0.7396, 0.963, 1.1032, 0.875673, 0.97771698 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - }, - { - 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 - } -}; \ No newline at end of file diff --git a/src/game/chrobjdata.h b/src/game/chrobjdata.h deleted file mode 100644 index 49d2c32..0000000 --- a/src/game/chrobjdata.h +++ /dev/null @@ -1,338 +0,0 @@ -#ifndef _CHROBJDATA_H_ -#define _CHROBJDATA_H_ -#include "ultra64.h" - -struct prop_pos_data { - u16 x; - u16 y; - u16 z; -}; - -struct item_related { - short num_entries_in_block; - short field_2; - struct prop_pos_data * ptr_block; - short total_cmd_indexval; - short field_A; -}; - -struct Gitemheader { - int offset_objtable; - void * guntype_modeldata; - int offset_objblock; - u16 num05soffset_entries; - u16 num_objgroups; - float drawdistance; - u16 num_entries; - u16 num_images; - int offset_imgdecl; - u32 isloaded; -}; - - -struct PitemZ_header { - s32 microcode_entry_num; - struct item_related * anonymous_1; - short anonymous_2; - short field_E; - s32 drawdistance; - float anonymous_4; - s32 anonymous_5; - s32 anonymous_6; - s32 anonymous_7; -}; - -struct p_itementry { - struct PitemZ_header * header; - char * filename; - float scale; -}; - -struct object_header { - int offset_obj_table; - void * ptr_archetype; - int offset_obj_offset_block; - short num_offset_entries; - short num_object_grps; - float anonymous_4; - short num_table_entries; - short num_image_entries; - int offset_img_declaration; - int is_loaded_in_mem; -}; - -struct c_itementry { - struct object_header * header; - char * filename; - float anonymous_1; - float anonymous_2; - int anonymous_3; -}; - -struct model_data { - u32 anonymous_0; - u32 *propposdata; - u32 anonymous_2; -}; - -struct player_gait_header { - u8 field_0x0; - u8 type; - u16 field_0x2; - struct player_gait_object_entry * field_0x4; - struct player_gait_pos_header * previous; - void * field_0xc; - void * field_0x10; - struct player_gait_pos_header * next; -}; - -struct player_gait_pos_header { - u8 field_0x0; - u8 type; - u16 field_0x2; - struct player_gait_position_entry * field_0x4; - struct player_gait_pos_header * previous; - void * field_0xc; - void * field_0x10; - struct player_gait_pos_header * next; -}; - -struct player_gait_object_entry { - u32 field_0x0; - struct player_gait_pos_header * ptr_header; - u32 field_0x8; - u32 field_0xc; -}; - -struct player_gait_position_entry { - float z_scale; - float y_offset; - float xy_scale; - u16 field_0xc; - u16 field_0xe; - u16 field_0x10; - u16 field_0x12; - struct player_gait_pos_header * ptr_header; - u32 field_0x18; -}; - -struct struct_13 { - void * ailist; - int ailistid; -}; - -struct headHat -{ - float xoffset; - float yoffset; - float zoffset; - float xsize; - float ysize; - 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; -extern struct item_related prop_tv_holder_related; -extern struct item_related prop_rotating_stuff_related; -extern struct item_related prop_eyelid_door_related; -extern struct item_related prop_iris_door_related; -extern struct item_related prop_walletbond_related; -extern struct item_related prop_car_related; -extern struct item_related prop_flying_related; -extern struct item_related prop_door_related; -extern struct item_related item_tank_related; -extern struct item_related item_hat_related; -extern struct item_related model_object_standard_object; -extern struct item_related prop_weapon_related; -extern struct model_data model_guard_character; -extern struct player_gait_header player_gait_hdr; -extern struct player_gait_pos_header player_gait_pos_hdr_1; -extern struct player_gait_pos_header player_gait_pos_hdr_2; -extern struct player_gait_pos_header player_gait_pos_hdr_3; -extern struct player_gait_object_entry player_gait_obj; -extern struct player_gait_position_entry player_gait_pos_1; -extern struct player_gait_position_entry player_gait_pos_2; -extern struct player_gait_position_entry player_gait_pos_3; - -extern struct object_header player_gait_object; - -extern struct Gitemheader GwppkZ_struct; -extern struct Gitemheader GwppksilZ_struct; -extern struct Gitemheader Gtt33Z_struct; -extern struct Gitemheader GskorpianZ_struct; -extern struct Gitemheader Gak47Z_struct; -extern struct Gitemheader GuziZ_struct; -extern struct Gitemheader Gmp5kZ_struct; -extern struct Gitemheader Gmp5ksilZ_struct; -extern struct Gitemheader Gm16Z_struct; -extern struct Gitemheader Gfnp90Z_struct; -extern struct Gitemheader G8003C900_struct; -extern struct Gitemheader GrugerZ_struct; -extern struct Gitemheader GgoldengunZ_struct; -extern struct Gitemheader GshotgunZ_struct; -extern struct Gitemheader GautoshotZ_struct; -extern struct Gitemheader GgrenadelaunchZ_struct; -extern struct Gitemheader GspectreZ_struct; -extern struct Gitemheader GlaserZ_struct; -extern struct Gitemheader GrocketlaunchZ_struct; -extern struct Gitemheader GknifeZ_header; -extern struct Gitemheader GthrowknifeZ_struct; -extern struct Gitemheader GtaserZ_struct; -extern struct Gitemheader GremotemineZ_struct; -extern struct Gitemheader GproximitymineZ_struct; -extern struct Gitemheader GtimedmineZ_struct; -extern struct Gitemheader GtriggerZ_struct; -extern struct Gitemheader GgrenadeZ_struct; -extern struct Gitemheader GfistZ_header; -extern struct Gitemheader GsniperrifleZ_struct; -extern struct Gitemheader GcartridgeZ_struct; -extern struct Gitemheader GcartrifleZ_struct; -extern struct Gitemheader GcartblueZ_struct; -extern struct Gitemheader GcartshellZ_struct; -extern struct Gitemheader GjoypadZ_struct; -extern struct Gitemheader G8003CC00_struct; -extern struct Gitemheader G8003CC20_struct; -extern struct Gitemheader GbombcaseZ_struct; -extern struct Gitemheader GflarepistolZ_struct; -extern struct Gitemheader GpitongunZ_struct; -extern struct Gitemheader G8003CCA0_struct; -extern struct Gitemheader GsilverwppkZ_struct; -extern struct Gitemheader GgoldwppkZ_struct; -extern struct Gitemheader G8003CD00_struct; -extern struct Gitemheader GbungeeZ_struct; -extern struct Gitemheader GdoordecoderZ_struct; -extern struct Gitemheader GbombdefuserZ_struct; -extern struct Gitemheader GbugdetectorZ_struct; -extern struct Gitemheader GsafecrackercaseZ_struct; -extern struct Gitemheader GcameraZ_struct; -extern struct Gitemheader GlockexploderZ_struct; -extern struct Gitemheader GdoorexploderZ_struct; -extern struct Gitemheader GkeyanalysercaseZ_struct; -extern struct Gitemheader GweaponcaseZ_struct; -extern struct Gitemheader GkeycardZ_struct; -extern struct Gitemheader GkeyyaleZ_struct; -extern struct Gitemheader GkeyboltZ_struct; -extern struct Gitemheader GbugZ_struct; -extern struct Gitemheader GmicrocameraZ_struct; -extern struct Gitemheader GexplosivefloppyZ_struct; -extern struct Gitemheader GgoldeneyekeyZ_struct; -extern struct Gitemheader GpolarizedglassesZ_struct; -extern struct Gitemheader GcreditcardZ_struct; -extern struct Gitemheader GdarkglassesZ_struct; -extern struct Gitemheader GwatchidentifierZ_struct; -extern struct Gitemheader GwatchcommunicatorZ_struct; -extern struct Gitemheader GwatchlaserZ_struct; -extern struct Gitemheader GwatchgeigercounterZ_struct; -extern struct Gitemheader GwatchmagnetrepelZ_struct; -extern struct Gitemheader GwatchmagnetattractZ_struct; -extern struct Gitemheader GgaskeyringZ_struct; -extern struct Gitemheader GdatathiefZ_struct; -extern struct Gitemheader GbriefcaseZ_struct; -extern struct Gitemheader GblackboxZ_struct; -extern struct Gitemheader GplastiqueZ_struct; -extern struct Gitemheader GvideotapeZ_struct; -extern struct Gitemheader GclipboardZ_struct; -extern struct Gitemheader GstafflistZ_struct; -extern struct Gitemheader GdossierredZ_struct; -extern struct Gitemheader GaudiotapeZ_struct; -extern struct Gitemheader GdattapeZ_struct; -extern struct Gitemheader GplansZ_struct; -extern struct Gitemheader GspyfileZ_struct; -extern struct Gitemheader GblueprintsZ_struct; -extern struct Gitemheader GcircuitboardZ_struct; -extern struct Gitemheader GmapZ_struct; -extern struct Gitemheader GspooltapeZ_struct; -extern struct Gitemheader GmicrofilmZ_struct; -extern struct Gitemheader GmicrocodeZ_struct; -extern struct Gitemheader GlectreZ_struct; -extern struct Gitemheader GmoneyZ_struct; -extern struct Gitemheader GgoldbarZ_struct; -extern struct Gitemheader GheroinZ_struct; -extern struct model_data weapon_gun_controller; - -extern struct object_header CcamguardZ_struct; -extern struct object_header CgreyguardZ_struct; -extern struct object_header ColiveguardZ_struct; -extern struct object_header CrusguardZ_struct; -extern struct object_header CtrevguardZ_struct; -extern struct object_header CborisZ_struct; -extern struct object_header CorumovZ_struct; -extern struct object_header CtrevelyanZ_struct; -extern struct object_header CboilertrevZ_struct; -extern struct object_header CvalentinZ_struct; -extern struct object_header CxeniaZ_struct; -extern struct object_header CbaronsamediZ_struct; -extern struct object_header CjawsZ_struct; -extern struct object_header CmaydayZ_struct; -extern struct object_header CoddjobZ_struct; -extern struct object_header CnatalyaZ_struct; -extern struct object_header CarmourguardZ_struct; -extern struct object_header CcommguardZ_struct; -extern struct object_header CgreatguardZ_struct; -extern struct object_header CnavyguardZ_struct; -extern struct object_header CsnowguardZ_struct; -extern struct object_header CbluewomanZ_struct; -extern struct object_header CfattechwomanZ_struct; -extern struct object_header CtechwomanZ_struct; -extern struct object_header CjeanwomanZ_struct; -extern struct object_header CgreymanZ_struct; -extern struct object_header CbluemanZ_struct; -extern struct object_header CredmanZ_struct; -extern struct object_header CcardimanZ_struct; -extern struct object_header CcheckmanZ_struct; -extern struct object_header CtechmanZ_struct; -extern struct object_header CpilotZ_struct; -extern struct object_header Cgreatguard2Z_struct; -extern struct object_header CbluecamguardZ_struct; -extern struct object_header CmoonguardZ_struct; -extern struct object_header CmoonfemaleZ_struct; -extern struct object_header CboilerbondZ_struct; -extern struct object_header CsuitbondZ_struct; -extern struct object_header CtimberbondZ_struct; -extern struct object_header CsnowbondZ_struct; -extern struct object_header CdjbondZ_struct; -extern struct object_header Csuit_lf_handz_struct; -extern struct object_header CheadkarlZ_struct; -extern struct object_header CheadalanZ_struct; -extern struct object_header CheadpeteZ_struct; -extern struct object_header CheadmartinZ_struct; -extern struct object_header stru_D_8003D9D0; -extern struct object_header stru_D_8003D9F0; -extern struct object_header stru_D_8003DA10; -extern struct object_header stru_D_8003DA30; -extern struct object_header stru_D_8003DA50; -extern struct object_header stru_D_8003DA70; -extern struct object_header stru_D_8003DA90; -extern struct object_header stru_D_8003DAB0; -extern struct object_header stru_D_8003DAD0; -extern struct object_header stru_D_8003DAF0; -extern struct object_header stru_D_8003DB10; -extern struct object_header stru_D_8003DB30; -extern struct object_header stru_D_8003DB50; -extern struct object_header stru_D_8003DB70; -extern struct object_header stru_D_8003DB90; -extern struct object_header stru_D_8003DBB0; -extern struct object_header stru_D_8003DBD0; -extern struct object_header stru_D_8003DBF0; -extern struct object_header stru_D_8003DC10; -extern struct object_header stru_D_8003DC30; -extern struct object_header stru_D_8003DC50; -extern struct object_header stru_D_8003DC70; -extern struct object_header stru_D_8003DC90; -extern struct object_header stru_D_8003DCB0; -extern struct object_header stru_D_8003DCD0; -extern struct object_header stru_D_8003DCF0; -extern struct object_header stru_D_8003DD10; -extern struct object_header stru_D_8003DD30; -extern struct object_header stru_D_8003DD50; -extern struct object_header CheadbrosnansuitZ_struct; -extern struct object_header CheadbrosnantimberZ_struct; -extern struct object_header CheadbrosnansnowZ_struct; -extern struct object_header CheadbrosnanZ_struct; -extern struct object_header CspicebondZ_struct; - -#endif diff --git a/src/game/chrobjhandler.c b/src/game/chrobjhandler.c deleted file mode 100644 index 03db71b..0000000 --- a/src/game/chrobjhandler.c +++ /dev/null @@ -1,37077 +0,0 @@ -#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/cleanupSFXRelated.c b/src/game/cleanupSFXRelated.c deleted file mode 100644 index e5ac9e7..0000000 --- a/src/game/cleanupSFXRelated.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "ultra64.h" -#include "game/bond.h" - -void cleanupSFXRelated(void) { - if (SFX_80036458 != 0) - { - if (sfxGetArg0Unk3F(SFX_80036458) != 0) - { - sfxDeactivate(SFX_80036458); - } - } - - if (SFX_8003645C != 0) - { - if (sfxGetArg0Unk3F(SFX_8003645C) != 0) - { - sfxDeactivate(SFX_8003645C); - } - } - -} \ No newline at end of file diff --git a/src/game/cleanup_alarms.c b/src/game/cleanup_alarms.c deleted file mode 100644 index e9891c8..0000000 --- a/src/game/cleanup_alarms.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "ultra64.h" -#include "game/chrai.h" -#include "game/cleanup_alarms.h" - - -void cleanupAlarms(void) { - stop_alarm(); - check_deactivate_gas_sound(); -} - - diff --git a/src/game/cleanup_alarms.h b/src/game/cleanup_alarms.h deleted file mode 100644 index 3f4524a..0000000 --- a/src/game/cleanup_alarms.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _CLEANUP_ALARMS_H_ -#define _CLEANUP_ALARMS_H_ -#include "ultra64.h" - -void cleanupAlarms(void); -#endif diff --git a/src/game/cleanup_objectives.c b/src/game/cleanup_objectives.c deleted file mode 100644 index 3cbde87..0000000 --- a/src/game/cleanup_objectives.c +++ /dev/null @@ -1,113 +0,0 @@ -#include "ultra64.h" - - - - -#ifdef NONMATCHING -void cleanupObjectives(s32 stage) { - -} -#else -GLOBAL_ASM( -.text -glabel cleanupObjectives -/* 03C0C0 7F007590 3C028007 */ lui $v0, %hi(objective_ptrs) -/* 03C0C4 7F007594 8C425D30 */ lw $v0, %lo(objective_ptrs)($v0) -/* 03C0C8 7F007598 3C048007 */ lui $a0, %hi(objective_ptrs+8) -/* 03C0CC 7F00759C 24845D38 */ addiu $a0, %lo(objective_ptrs+8) # addiu $a0, $a0, 0x5d38 -/* 03C0D0 7F0075A0 1040000C */ beqz $v0, .L7F0075D4 -/* 03C0D4 7F0075A4 24030008 */ li $v1, 8 -/* 03C0D8 7F0075A8 904E000E */ lbu $t6, 0xe($v0) -/* 03C0DC 7F0075AC 3C188007 */ lui $t8, %hi(dword_CODE_bss_80075D58) -/* 03C0E0 7F0075B0 31CF0001 */ andi $t7, $t6, 1 -/* 03C0E4 7F0075B4 11E00007 */ beqz $t7, .L7F0075D4 -/* 03C0E8 7F0075B8 00000000 */ nop -/* 03C0EC 7F0075BC 8F185D58 */ lw $t8, %lo(dword_CODE_bss_80075D58)($t8) -/* 03C0F0 7F0075C0 24050002 */ li $a1, 2 -/* 03C0F4 7F0075C4 24190001 */ li $t9, 1 -/* 03C0F8 7F0075C8 10B80002 */ beq $a1, $t8, .L7F0075D4 -/* 03C0FC 7F0075CC 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D58) -/* 03C100 7F0075D0 AC395D58 */ sw $t9, %lo(dword_CODE_bss_80075D58)($at) -.L7F0075D4: -/* 03C104 7F0075D4 3C028007 */ lui $v0, %hi(objective_ptrs+4) -/* 03C108 7F0075D8 8C425D34 */ lw $v0, %lo(objective_ptrs+4)($v0) -/* 03C10C 7F0075DC 3C088007 */ lui $t0, %hi(dword_CODE_bss_80075D58) -/* 03C110 7F0075E0 25085D58 */ addiu $t0, %lo(dword_CODE_bss_80075D58) # addiu $t0, $t0, 0x5d58 -/* 03C114 7F0075E4 1040000C */ beqz $v0, .L7F007618 -/* 03C118 7F0075E8 24050002 */ li $a1, 2 -/* 03C11C 7F0075EC 9049000E */ lbu $t1, 0xe($v0) -/* 03C120 7F0075F0 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80075D5C) -/* 03C124 7F0075F4 312A0001 */ andi $t2, $t1, 1 -/* 03C128 7F0075F8 11400007 */ beqz $t2, .L7F007618 -/* 03C12C 7F0075FC 00000000 */ nop -/* 03C130 7F007600 8D6B5D5C */ lw $t3, %lo(dword_CODE_bss_80075D5C)($t3) -/* 03C134 7F007604 240C0001 */ li $t4, 1 -/* 03C138 7F007608 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D5C) -/* 03C13C 7F00760C 10AB0002 */ beq $a1, $t3, .L7F007618 -/* 03C140 7F007610 00000000 */ nop -/* 03C144 7F007614 AC2C5D5C */ sw $t4, %lo(dword_CODE_bss_80075D5C)($at) -.L7F007618: -/* 03C148 7F007618 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075D58) -/* 03C14C 7F00761C 24C65D58 */ addiu $a2, %lo(dword_CODE_bss_80075D58) # addiu $a2, $a2, 0x5d58 -/* 03C150 7F007620 24070001 */ li $a3, 1 -.L7F007624: -/* 03C154 7F007624 8C820000 */ lw $v0, ($a0) -/* 03C158 7F007628 5040000B */ beql $v0, $zero, .L7F007658 -/* 03C15C 7F00762C 8C820004 */ lw $v0, 4($a0) -/* 03C160 7F007630 904D000E */ lbu $t5, 0xe($v0) -/* 03C164 7F007634 00C31021 */ addu $v0, $a2, $v1 -/* 03C168 7F007638 31AE0001 */ andi $t6, $t5, 1 -/* 03C16C 7F00763C 51C00006 */ beql $t6, $zero, .L7F007658 -/* 03C170 7F007640 8C820004 */ lw $v0, 4($a0) -/* 03C174 7F007644 8C4F0000 */ lw $t7, ($v0) -/* 03C178 7F007648 50AF0003 */ beql $a1, $t7, .L7F007658 -/* 03C17C 7F00764C 8C820004 */ lw $v0, 4($a0) -/* 03C180 7F007650 AC470000 */ sw $a3, ($v0) -/* 03C184 7F007654 8C820004 */ lw $v0, 4($a0) -.L7F007658: -/* 03C188 7F007658 5040000B */ beql $v0, $zero, .L7F007688 -/* 03C18C 7F00765C 8C820008 */ lw $v0, 8($a0) -/* 03C190 7F007660 9058000E */ lbu $t8, 0xe($v0) -/* 03C194 7F007664 00C31021 */ addu $v0, $a2, $v1 -/* 03C198 7F007668 33190001 */ andi $t9, $t8, 1 -/* 03C19C 7F00766C 53200006 */ beql $t9, $zero, .L7F007688 -/* 03C1A0 7F007670 8C820008 */ lw $v0, 8($a0) -/* 03C1A4 7F007674 8C490004 */ lw $t1, 4($v0) -/* 03C1A8 7F007678 50A90003 */ beql $a1, $t1, .L7F007688 -/* 03C1AC 7F00767C 8C820008 */ lw $v0, 8($a0) -/* 03C1B0 7F007680 AC470004 */ sw $a3, 4($v0) -/* 03C1B4 7F007684 8C820008 */ lw $v0, 8($a0) -.L7F007688: -/* 03C1B8 7F007688 5040000B */ beql $v0, $zero, .L7F0076B8 -/* 03C1BC 7F00768C 8C82000C */ lw $v0, 0xc($a0) -/* 03C1C0 7F007690 904A000E */ lbu $t2, 0xe($v0) -/* 03C1C4 7F007694 00C31021 */ addu $v0, $a2, $v1 -/* 03C1C8 7F007698 314B0001 */ andi $t3, $t2, 1 -/* 03C1CC 7F00769C 51600006 */ beql $t3, $zero, .L7F0076B8 -/* 03C1D0 7F0076A0 8C82000C */ lw $v0, 0xc($a0) -/* 03C1D4 7F0076A4 8C4C0008 */ lw $t4, 8($v0) -/* 03C1D8 7F0076A8 50AC0003 */ beql $a1, $t4, .L7F0076B8 -/* 03C1DC 7F0076AC 8C82000C */ lw $v0, 0xc($a0) -/* 03C1E0 7F0076B0 AC470008 */ sw $a3, 8($v0) -/* 03C1E4 7F0076B4 8C82000C */ lw $v0, 0xc($a0) -.L7F0076B8: -/* 03C1E8 7F0076B8 24840010 */ addiu $a0, $a0, 0x10 -/* 03C1EC 7F0076BC 1040000A */ beqz $v0, .L7F0076E8 -/* 03C1F0 7F0076C0 00000000 */ nop -/* 03C1F4 7F0076C4 904D000E */ lbu $t5, 0xe($v0) -/* 03C1F8 7F0076C8 00C31021 */ addu $v0, $a2, $v1 -/* 03C1FC 7F0076CC 31AE0001 */ andi $t6, $t5, 1 -/* 03C200 7F0076D0 11C00005 */ beqz $t6, .L7F0076E8 -/* 03C204 7F0076D4 00000000 */ nop -/* 03C208 7F0076D8 8C4F000C */ lw $t7, 0xc($v0) -/* 03C20C 7F0076DC 10AF0002 */ beq $a1, $t7, .L7F0076E8 -/* 03C210 7F0076E0 00000000 */ nop -/* 03C214 7F0076E4 AC47000C */ sw $a3, 0xc($v0) -.L7F0076E8: -/* 03C218 7F0076E8 1488FFCE */ bne $a0, $t0, .L7F007624 -/* 03C21C 7F0076EC 24630010 */ addiu $v1, $v1, 0x10 -/* 03C220 7F0076F0 03E00008 */ jr $ra -/* 03C224 7F0076F4 00000000 */ nop -) -#endif - diff --git a/src/game/cleanup_objects.c b/src/game/cleanup_objects.c deleted file mode 100644 index 38b7793..0000000 --- a/src/game/cleanup_objects.c +++ /dev/null @@ -1,107 +0,0 @@ -#include "ultra64.h" - - -#ifdef NONMATCHING -void cleanupObjects(s32 stage) { - -} -#else -GLOBAL_ASM( -.rdata -glabel jpt_8004F210 - .word .L7F007550 - .word .L7F00755C - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F00755C - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F007550 - .word .L7F00755C - .word .L7F00755C - .word .L7F007550 - .word .L7F007550 - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F00755C - .word .L7F007550 - .word .L7F00755C - .word .L7F00755C - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F007550 - .word .L7F00755C - .word .L7F007550 - .word .L7F00755C - .word .L7F007550 -.text -glabel cleanupObjects -/* 03C030 7F007500 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 03C034 7F007504 AFB00018 */ sw $s0, 0x18($sp) -/* 03C038 7F007508 3C108007 */ lui $s0, %hi(ptr_setup_objects) -/* 03C03C 7F00750C 8E105D0C */ lw $s0, %lo(ptr_setup_objects)($s0) -/* 03C040 7F007510 AFBF001C */ sw $ra, 0x1c($sp) -/* 03C044 7F007514 AFA40020 */ sw $a0, 0x20($sp) -/* 03C048 7F007518 52000019 */ beql $s0, $zero, .L7F007580 -/* 03C04C 7F00751C 8FBF001C */ lw $ra, 0x1c($sp) -/* 03C050 7F007520 92030003 */ lbu $v1, 3($s0) -/* 03C054 7F007524 24010030 */ li $at, 48 -/* 03C058 7F007528 10610014 */ beq $v1, $at, .L7F00757C -/* 03C05C 7F00752C 246EFFFF */ addiu $t6, $v1, -1 -.L7F007530: -/* 03C060 7F007530 2DC1002F */ sltiu $at, $t6, 0x2f -/* 03C064 7F007534 10200009 */ beqz $at, .L7F00755C -/* 03C068 7F007538 000E7080 */ sll $t6, $t6, 2 -/* 03C06C 7F00753C 3C018005 */ lui $at, %hi(jpt_8004F210) -/* 03C070 7F007540 002E0821 */ addu $at, $at, $t6 -/* 03C074 7F007544 8C2EF210 */ lw $t6, %lo(jpt_8004F210)($at) -/* 03C078 7F007548 01C00008 */ jr $t6 -/* 03C07C 7F00754C 00000000 */ nop -.L7F007550: -/* 03C080 7F007550 02002025 */ move $a0, $s0 -/* 03C084 7F007554 0FC10409 */ jal sub_GAME_7F041024 -/* 03C088 7F007558 24050001 */ li $a1, 1 -.L7F00755C: -/* 03C08C 7F00755C 0FC15A3D */ jal get_size_of_setup_object_type -/* 03C090 7F007560 02002025 */ move $a0, $s0 -/* 03C094 7F007564 00027880 */ sll $t7, $v0, 2 -/* 03C098 7F007568 01F08021 */ addu $s0, $t7, $s0 -/* 03C09C 7F00756C 92030003 */ lbu $v1, 3($s0) -/* 03C0A0 7F007570 24010030 */ li $at, 48 -/* 03C0A4 7F007574 5461FFEE */ bnel $v1, $at, .L7F007530 -/* 03C0A8 7F007578 246EFFFF */ addiu $t6, $v1, -1 -.L7F00757C: -/* 03C0AC 7F00757C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F007580: -/* 03C0B0 7F007580 8FB00018 */ lw $s0, 0x18($sp) -/* 03C0B4 7F007584 27BD0020 */ addiu $sp, $sp, 0x20 -/* 03C0B8 7F007588 03E00008 */ jr $ra -/* 03C0BC 7F00758C 00000000 */ nop -) -#endif - - - - diff --git a/src/game/compiletime.c b/src/game/compiletime.c deleted file mode 100644 index b412769..0000000 --- a/src/game/compiletime.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "ultra64.h" -#include "game/compiletime.h" - -#ifdef VERSION_US -char *get_compile_time(void) { - return "Jun 29 1997 20:46:05"; -} -#endif - -#ifdef VERSION_JP -char *get_compile_time(void) { - return "Jul 10 1997 14:53:37"; -} -#endif - diff --git a/src/game/compiletime.h b/src/game/compiletime.h deleted file mode 100644 index ec9e09a..0000000 --- a/src/game/compiletime.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _COMPILETIME_H_ -#define _COMPILETIME_H_ - -#include "ultra64.h" - -char *get_compile_time(void); - -#endif - - diff --git a/src/game/convertangleusinginverse.c b/src/game/convertangleusinginverse.c deleted file mode 100644 index 04f2fcc..0000000 --- a/src/game/convertangleusinginverse.c +++ /dev/null @@ -1,159 +0,0 @@ -#include "ultra64.h" - - -// rodata - - - - - -#ifdef NONMATCHING -float convert_angle_using_inverse(f32 vector1,f32 vector2) -{ - float fVar1; - - if ((float)vector1 == 0.00000000) { - fVar1 = flt_80053700; - if (0.00000000 <= (float)vector2) { - fVar1 = 0.00000000; - } - } - else { - if ((float)vector2 == 0.00000000) { - fVar1 = flt_80053704; - if ((float)vector1 <= 0.00000000) { - fVar1 = flt_80053708; - } - } - else { - fVar1 = sqrtf((float)vector1 * (float)vector1 + (float)vector2 * (float)vector2); - if ((float)vector2 < (float)vector1) { - fVar1 = proc_7F05ACB0((float)vector2 / fVar1); - if ((float)vector1 < 0.00000000) { - fVar1 = flt_8005370C - fVar1; - } - } - else { - fVar1 = proc_7F05ACB0((float)vector1 / fVar1); - fVar1 = flt_80053710 - fVar1; - if ((float)vector2 < 0.00000000) { - fVar1 = flt_80053714 - fVar1; - } - if (fVar1 < 0.00000000) { - fVar1 = fVar1 + flt_80053718; - } - } - } - } - return fVar1; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053700 -.word 0x40490fdb /*3.1415927*/ -glabel D_80053704 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80053708 -.word 0x4096cbe4 /*4.712389*/ -glabel D_8005370C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053710 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80053714 -.word 0x40490fdb /*3.1415927*/ -glabel D_80053718 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel convert_angle_using_inverse -/* 08F560 7F05AA30 44808000 */ mtc1 $zero, $f16 -/* 08F564 7F05AA34 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08F568 7F05AA38 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 08F56C 7F05AA3C 46106032 */ c.eq.s $f12, $f16 -/* 08F570 7F05AA40 46006506 */ mov.s $f20, $f12 -/* 08F574 7F05AA44 AFBF001C */ sw $ra, 0x1c($sp) -/* 08F578 7F05AA48 4502000A */ bc1fl .L7F05AA74 -/* 08F57C 7F05AA4C 46107032 */ c.eq.s $f14, $f16 -/* 08F580 7F05AA50 460E803E */ c.le.s $f16, $f14 -/* 08F584 7F05AA54 3C018005 */ lui $at, %hi(D_80053700) -/* 08F588 7F05AA58 45000003 */ bc1f .L7F05AA68 -/* 08F58C 7F05AA5C 00000000 */ nop -/* 08F590 7F05AA60 1000003B */ b .L7F05AB50 -/* 08F594 7F05AA64 46008086 */ mov.s $f2, $f16 -.L7F05AA68: -/* 08F598 7F05AA68 10000039 */ b .L7F05AB50 -/* 08F59C 7F05AA6C C4223700 */ lwc1 $f2, %lo(D_80053700)($at) -/* 08F5A0 7F05AA70 46107032 */ c.eq.s $f14, $f16 -.L7F05AA74: -/* 08F5A4 7F05AA74 00000000 */ nop -/* 08F5A8 7F05AA78 4500000A */ bc1f .L7F05AAA4 -/* 08F5AC 7F05AA7C 00000000 */ nop -/* 08F5B0 7F05AA80 4614803C */ c.lt.s $f16, $f20 -/* 08F5B4 7F05AA84 3C018005 */ lui $at, %hi(D_80053708) -/* 08F5B8 7F05AA88 45000004 */ bc1f .L7F05AA9C -/* 08F5BC 7F05AA8C 00000000 */ nop -/* 08F5C0 7F05AA90 3C018005 */ lui $at, %hi(D_80053704) -/* 08F5C4 7F05AA94 1000002E */ b .L7F05AB50 -/* 08F5C8 7F05AA98 C4223704 */ lwc1 $f2, %lo(D_80053704)($at) -.L7F05AA9C: -/* 08F5CC 7F05AA9C 1000002C */ b .L7F05AB50 -/* 08F5D0 7F05AAA0 C4223708 */ lwc1 $f2, %lo(D_80053708)($at) -.L7F05AAA4: -/* 08F5D4 7F05AAA4 4614A102 */ mul.s $f4, $f20, $f20 -/* 08F5D8 7F05AAA8 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 08F5DC 7F05AAAC 460E7182 */ mul.s $f6, $f14, $f14 -/* 08F5E0 7F05AAB0 0C007DF8 */ jal sqrtf -/* 08F5E4 7F05AAB4 46062300 */ add.s $f12, $f4, $f6 -/* 08F5E8 7F05AAB8 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 08F5EC 7F05AABC 46000086 */ mov.s $f2, $f0 -/* 08F5F0 7F05AAC0 4614703C */ c.lt.s $f14, $f20 -/* 08F5F4 7F05AAC4 00000000 */ nop -/* 08F5F8 7F05AAC8 4502000E */ bc1fl .L7F05AB04 -/* 08F5FC 7F05AACC 4602A303 */ div.s $f12, $f20, $f2 -/* 08F600 7F05AAD0 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 08F604 7F05AAD4 46007303 */ div.s $f12, $f14, $f0 -/* 08F608 7F05AAD8 44808000 */ mtc1 $zero, $f16 -/* 08F60C 7F05AADC 46000086 */ mov.s $f2, $f0 -/* 08F610 7F05AAE0 3C018005 */ lui $at, %hi(D_8005370C) -/* 08F614 7F05AAE4 4610A03C */ c.lt.s $f20, $f16 -/* 08F618 7F05AAE8 00000000 */ nop -/* 08F61C 7F05AAEC 45020019 */ bc1fl .L7F05AB54 -/* 08F620 7F05AAF0 8FBF001C */ lw $ra, 0x1c($sp) -/* 08F624 7F05AAF4 C428370C */ lwc1 $f8, %lo(D_8005370C)($at) -/* 08F628 7F05AAF8 10000015 */ b .L7F05AB50 -/* 08F62C 7F05AAFC 46004081 */ sub.s $f2, $f8, $f0 -/* 08F630 7F05AB00 4602A303 */ div.s $f12, $f20, $f2 -.L7F05AB04: -/* 08F634 7F05AB04 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 08F638 7F05AB08 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 08F63C 7F05AB0C C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 08F640 7F05AB10 44808000 */ mtc1 $zero, $f16 -/* 08F644 7F05AB14 3C018005 */ lui $at, %hi(D_80053710) -/* 08F648 7F05AB18 C42A3710 */ lwc1 $f10, %lo(D_80053710)($at) -/* 08F64C 7F05AB1C 4610703C */ c.lt.s $f14, $f16 -/* 08F650 7F05AB20 3C018005 */ lui $at, %hi(D_80053714) -/* 08F654 7F05AB24 46005301 */ sub.s $f12, $f10, $f0 -/* 08F658 7F05AB28 45000003 */ bc1f .L7F05AB38 -/* 08F65C 7F05AB2C 46006086 */ mov.s $f2, $f12 -/* 08F660 7F05AB30 C4323714 */ lwc1 $f18, %lo(D_80053714)($at) -/* 08F664 7F05AB34 460C9081 */ sub.s $f2, $f18, $f12 -.L7F05AB38: -/* 08F668 7F05AB38 4610103C */ c.lt.s $f2, $f16 -/* 08F66C 7F05AB3C 3C018005 */ lui $at, %hi(D_80053718) -/* 08F670 7F05AB40 45020004 */ bc1fl .L7F05AB54 -/* 08F674 7F05AB44 8FBF001C */ lw $ra, 0x1c($sp) -/* 08F678 7F05AB48 C4243718 */ lwc1 $f4, %lo(D_80053718)($at) -/* 08F67C 7F05AB4C 46041080 */ add.s $f2, $f2, $f4 -.L7F05AB50: -/* 08F680 7F05AB50 8FBF001C */ lw $ra, 0x1c($sp) -.L7F05AB54: -/* 08F684 7F05AB54 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 08F688 7F05AB58 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08F68C 7F05AB5C 03E00008 */ jr $ra -/* 08F690 7F05AB60 46001006 */ mov.s $f0, $f2 -) -#endif - - - - diff --git a/src/game/deb_loadallmodels.c b/src/game/deb_loadallmodels.c deleted file mode 100644 index 6b157ab..0000000 --- a/src/game/deb_loadallmodels.c +++ /dev/null @@ -1,393 +0,0 @@ -#include "ultra64.h" - -//i belong in a header, probably to another file -#define PROJECTILES_MAX 0x2E -#define PROJECTILES_TYPE_KNIFE 0xBA -#define PROJECTILES_TYPE_GRENADE 0xC4 -#define PROJECTILES_TYPE_REMOTE_MINE 0xC7 -#define PROJECTILES_TYPE_PROX_MINE 0xC8 -#define PROJECTILES_TYPE_TIMED_MINE 0xC9 -#define PROJECTILES_TYPE_ROCKET_ROUND 0xCA -#define PROJECTILES_TYPE_ROCKET_ROUND2 0xCA -#define PROJECTILES_TYPE_GLAUNCH_ROUND 0xCB -#define PROJECTILES_TYPE_BOMBCASE 0xE2 -#define PROJECTILES_TYPE_BUG 0xF5 -#define PROJECTILES_TYPE_MICROCAMERA 0xF6 -#define PROJECTILES_TYPE_GE_KEY 0xF8 -#define PROJECTILES_TYPE_PLASTIQUE 0x111 - - - - - -u32 global_action_block_temp_buffer[119] = {0}; - -s32 weapon_models_for_weapon_load[] = { -PROJECTILES_TYPE_KNIFE, PROJECTILES_TYPE_GRENADE, PROJECTILES_TYPE_REMOTE_MINE, -PROJECTILES_TYPE_PROX_MINE, PROJECTILES_TYPE_TIMED_MINE, PROJECTILES_TYPE_ROCKET_ROUND, -PROJECTILES_TYPE_GLAUNCH_ROUND, 0xFFFFFFFF}; - - - -#ifdef NONMATCHING -void init_obj_register_difficulty_vals(void) { - objectiveregisters1 = 0; - ai_accuracy_modifier = 1.0f; - ai_damage_modifier = 1.0f; - ai_health_modifier = 1.0f; - ai_reaction_speed = 1.0f; - setting_007_5 = 0.0f; -} -#else -GLOBAL_ASM( -.text -glabel init_obj_register_difficulty_vals -/* 035B50 7F001020 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 035B54 7F001024 44810000 */ mtc1 $at, $f0 -/* 035B58 7F001028 3C018003 */ lui $at, %hi(objectiveregisters1) -/* 035B5C 7F00102C AC200978 */ sw $zero, %lo(objectiveregisters1)($at) -/* 035B60 7F001030 3C018003 */ lui $at, %hi(ai_accuracy_modifier) -/* 035B64 7F001034 E420CE40 */ swc1 $f0, %lo(ai_accuracy_modifier)($at) -/* 035B68 7F001038 3C018003 */ lui $at, %hi(ai_damage_modifier) -/* 035B6C 7F00103C E420CE44 */ swc1 $f0, %lo(ai_damage_modifier)($at) -/* 035B70 7F001040 3C018003 */ lui $at, %hi(ai_health_modifier) -/* 035B74 7F001044 E420CE48 */ swc1 $f0, %lo(ai_health_modifier)($at) -/* 035B78 7F001048 3C018003 */ lui $at, %hi(ai_reaction_speed) -/* 035B7C 7F00104C E420CE4C */ swc1 $f0, %lo(ai_reaction_speed)($at) -/* 035B80 7F001050 3C018003 */ lui $at, %hi(setting_007_5) -/* 035B84 7F001054 03E00008 */ jr $ra -/* 035B88 7F001058 AC20CE50 */ sw $zero, %lo(setting_007_5)($at) -) -#endif - - -#ifdef NONMATCHING -void alloc_false_GUARDdata_to_exec_global_action(void) { - -} -#else -GLOBAL_ASM( -.text -glabel alloc_false_GUARDdata_to_exec_global_action -/* 035B8C 7F00105C 3C0D8007 */ lui $t5, %hi(ptr_setup_path_tbl) -/* 035B90 7F001060 25AD5D00 */ addiu $t5, %lo(ptr_setup_path_tbl) # addiu $t5, $t5, 0x5d00 -/* 035B94 7F001064 8DA50014 */ lw $a1, 0x14($t5) -/* 035B98 7F001068 3C028003 */ lui $v0, %hi(objectiveregisters3) -/* 035B9C 7F00106C 3C068003 */ lui $a2, %hi(objectiveregisters2) -/* 035BA0 7F001070 24C6097C */ addiu $a2, %lo(objectiveregisters2) # addiu $a2, $a2, 0x97c -/* 035BA4 7F001074 24420980 */ addiu $v0, %lo(objectiveregisters3) # addiu $v0, $v0, 0x980 -/* 035BA8 7F001078 27BDFDF8 */ addiu $sp, $sp, -0x208 -/* 035BAC 7F00107C AFBF0014 */ sw $ra, 0x14($sp) -/* 035BB0 7F001080 ACC00000 */ sw $zero, ($a2) -/* 035BB4 7F001084 10A00070 */ beqz $a1, .L7F001248 -/* 035BB8 7F001088 AC400000 */ sw $zero, ($v0) -/* 035BBC 7F00108C 8CAE0000 */ lw $t6, ($a1) -/* 035BC0 7F001090 00A01825 */ move $v1, $a1 -/* 035BC4 7F001094 00003825 */ move $a3, $zero -/* 035BC8 7F001098 11C0000C */ beqz $t6, .L7F0010CC -/* 035BCC 7F00109C 24050004 */ li $a1, 4 -/* 035BD0 7F0010A0 8C6F0004 */ lw $t7, 4($v1) -.L7F0010A4: -/* 035BD4 7F0010A4 29E11000 */ slti $at, $t7, 0x1000 -/* 035BD8 7F0010A8 54200005 */ bnezl $at, .L7F0010C0 -/* 035BDC 7F0010AC 8C6E0008 */ lw $t6, 8($v1) -/* 035BE0 7F0010B0 8C580000 */ lw $t8, ($v0) -/* 035BE4 7F0010B4 27190001 */ addiu $t9, $t8, 1 -/* 035BE8 7F0010B8 AC590000 */ sw $t9, ($v0) -/* 035BEC 7F0010BC 8C6E0008 */ lw $t6, 8($v1) -.L7F0010C0: -/* 035BF0 7F0010C0 24630008 */ addiu $v1, $v1, 8 -/* 035BF4 7F0010C4 55C0FFF7 */ bnezl $t6, .L7F0010A4 -/* 035BF8 7F0010C8 8C6F0004 */ lw $t7, 4($v1) -.L7F0010CC: -/* 035BFC 7F0010CC 8C430000 */ lw $v1, ($v0) -/* 035C00 7F0010D0 00004025 */ move $t0, $zero -/* 035C04 7F0010D4 1860005C */ blez $v1, .L7F001248 -/* 035C08 7F0010D8 00032100 */ sll $a0, $v1, 4 -/* 035C0C 7F0010DC 00832023 */ subu $a0, $a0, $v1 -/* 035C10 7F0010E0 000420C0 */ sll $a0, $a0, 3 -/* 035C14 7F0010E4 00832023 */ subu $a0, $a0, $v1 -/* 035C18 7F0010E8 00042080 */ sll $a0, $a0, 2 -/* 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 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 -/* 035C38 7F001108 8DA50014 */ lw $a1, 0x14($t5) -/* 035C3C 7F00110C 3C068003 */ lui $a2, %hi(objectiveregisters2) -/* 035C40 7F001110 24C6097C */ addiu $a2, %lo(objectiveregisters2) # addiu $a2, $a2, 0x97c -/* 035C44 7F001114 ACC20000 */ sw $v0, ($a2) -/* 035C48 7F001118 8CB90000 */ lw $t9, ($a1) -/* 035C4C 7F00111C 8FA70200 */ lw $a3, 0x200($sp) -/* 035C50 7F001120 00002025 */ move $a0, $zero -/* 035C54 7F001124 13200048 */ beqz $t9, .L7F001248 -/* 035C58 7F001128 00A01825 */ move $v1, $a1 -/* 035C5C 7F00112C 3C088003 */ lui $t0, %hi(global_action_block_temp_buffer) -/* 035C60 7F001130 2508A060 */ addiu $t0, %lo(global_action_block_temp_buffer) # addiu $t0, $t0, -0x5fa0 -/* 035C64 7F001134 240C001A */ li $t4, 26 -/* 035C68 7F001138 240BFFFF */ li $t3, -1 -/* 035C6C 7F00113C 240A00FE */ li $t2, 254 -/* 035C70 7F001140 240901DC */ li $t1, 476 -/* 035C74 7F001144 27A50024 */ addiu $a1, $sp, 0x24 -/* 035C78 7F001148 8C6E0004 */ lw $t6, 4($v1) -.L7F00114C: -/* 035C7C 7F00114C 0100C825 */ move $t9, $t0 -/* 035C80 7F001150 251801D4 */ addiu $t8, $t0, 0x1d4 -/* 035C84 7F001154 29C11000 */ slti $at, $t6, 0x1000 -/* 035C88 7F001158 14200036 */ bnez $at, .L7F001234 -/* 035C8C 7F00115C 00A07025 */ move $t6, $a1 -.L7F001160: -/* 035C90 7F001160 8F210000 */ lw $at, ($t9) -/* 035C94 7F001164 2739000C */ addiu $t9, $t9, 0xc -/* 035C98 7F001168 25CE000C */ addiu $t6, $t6, 0xc -/* 035C9C 7F00116C ADC1FFF4 */ sw $at, -0xc($t6) -/* 035CA0 7F001170 8F21FFF8 */ lw $at, -8($t9) -/* 035CA4 7F001174 ADC1FFF8 */ sw $at, -8($t6) -/* 035CA8 7F001178 8F21FFFC */ lw $at, -4($t9) -/* 035CAC 7F00117C 1738FFF8 */ bne $t9, $t8, .L7F001160 -/* 035CB0 7F001180 ADC1FFFC */ sw $at, -4($t6) -/* 035CB4 7F001184 00E90019 */ multu $a3, $t1 -/* 035CB8 7F001188 8F210000 */ lw $at, ($t9) -/* 035CBC 7F00118C ADC10000 */ sw $at, ($t6) -/* 035CC0 7F001190 8F380004 */ lw $t8, 4($t9) -/* 035CC4 7F001194 ADD80004 */ sw $t8, 4($t6) -/* 035CC8 7F001198 8CCF0000 */ lw $t7, ($a2) -/* 035CCC 7F00119C 00001012 */ mflo $v0 -/* 035CD0 7F0011A0 24AE01D4 */ addiu $t6, $a1, 0x1d4 -/* 035CD4 7F0011A4 01E2C021 */ addu $t8, $t7, $v0 -/* 035CD8 7F0011A8 00A07825 */ move $t7, $a1 -.L7F0011AC: -/* 035CDC 7F0011AC 8DE10000 */ lw $at, ($t7) -/* 035CE0 7F0011B0 25EF000C */ addiu $t7, $t7, 0xc -/* 035CE4 7F0011B4 2718000C */ addiu $t8, $t8, 0xc -/* 035CE8 7F0011B8 AF01FFF4 */ sw $at, -0xc($t8) -/* 035CEC 7F0011BC 8DE1FFF8 */ lw $at, -8($t7) -/* 035CF0 7F0011C0 AF01FFF8 */ sw $at, -8($t8) -/* 035CF4 7F0011C4 8DE1FFFC */ lw $at, -4($t7) -/* 035CF8 7F0011C8 15EEFFF8 */ bne $t7, $t6, .L7F0011AC -/* 035CFC 7F0011CC AF01FFFC */ sw $at, -4($t8) -/* 035D00 7F0011D0 8DE10000 */ lw $at, ($t7) -/* 035D04 7F0011D4 24E70001 */ addiu $a3, $a3, 1 -/* 035D08 7F0011D8 AF010000 */ sw $at, ($t8) -/* 035D0C 7F0011DC 8DEE0004 */ lw $t6, 4($t7) -/* 035D10 7F0011E0 AF0E0004 */ sw $t6, 4($t8) -/* 035D14 7F0011E4 8CD90000 */ lw $t9, ($a2) -/* 035D18 7F0011E8 03227021 */ addu $t6, $t9, $v0 -/* 035D1C 7F0011EC A5CA0000 */ sh $t2, ($t6) -/* 035D20 7F0011F0 8DAF0014 */ lw $t7, 0x14($t5) -/* 035D24 7F0011F4 8CCE0000 */ lw $t6, ($a2) -/* 035D28 7F0011F8 01E4C021 */ addu $t8, $t7, $a0 -/* 035D2C 7F0011FC 8F190000 */ lw $t9, ($t8) -/* 035D30 7F001200 01C27821 */ addu $t7, $t6, $v0 -/* 035D34 7F001204 ADF90104 */ sw $t9, 0x104($t7) -/* 035D38 7F001208 8CD80000 */ lw $t8, ($a2) -/* 035D3C 7F00120C 03027021 */ addu $t6, $t8, $v0 -/* 035D40 7F001210 A5C00108 */ sh $zero, 0x108($t6) -/* 035D44 7F001214 8CD90000 */ lw $t9, ($a2) -/* 035D48 7F001218 03227821 */ addu $t7, $t9, $v0 -/* 035D4C 7F00121C A5EB010A */ sh $t3, 0x10a($t7) -/* 035D50 7F001220 8CD80000 */ lw $t8, ($a2) -/* 035D54 7F001224 03027021 */ addu $t6, $t8, $v0 -/* 035D58 7F001228 A1CC0007 */ sb $t4, 7($t6) -/* 035D5C 7F00122C 8DB90014 */ lw $t9, 0x14($t5) -/* 035D60 7F001230 03241821 */ addu $v1, $t9, $a0 -.L7F001234: -/* 035D64 7F001234 8C6F0008 */ lw $t7, 8($v1) -/* 035D68 7F001238 24840008 */ addiu $a0, $a0, 8 -/* 035D6C 7F00123C 24630008 */ addiu $v1, $v1, 8 -/* 035D70 7F001240 55E0FFC2 */ bnezl $t7, .L7F00114C -/* 035D74 7F001244 8C6E0004 */ lw $t6, 4($v1) -.L7F001248: -/* 035D78 7F001248 8FBF0014 */ lw $ra, 0x14($sp) -/* 035D7C 7F00124C 27BD0208 */ addiu $sp, $sp, 0x208 -/* 035D80 7F001250 03E00008 */ jr $ra -/* 035D84 7F001254 00000000 */ nop -) -#endif - -#ifdef NONMATCHING -void debug_object_load_all_models(void) { - -} -#else -GLOBAL_ASM( -.text -glabel debug_object_load_all_models -/* 035D88 7F001258 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 035D8C 7F00125C 3C0E8007 */ lui $t6, %hi(ptr_setup_actions) -/* 035D90 7F001260 8DCE5D14 */ lw $t6, %lo(ptr_setup_actions)($t6) -/* 035D94 7F001264 AFBF0034 */ sw $ra, 0x34($sp) -/* 035D98 7F001268 AFB70030 */ sw $s7, 0x30($sp) -/* 035D9C 7F00126C AFB6002C */ sw $s6, 0x2c($sp) -/* 035DA0 7F001270 AFB50028 */ sw $s5, 0x28($sp) -/* 035DA4 7F001274 AFB40024 */ sw $s4, 0x24($sp) -/* 035DA8 7F001278 AFB30020 */ sw $s3, 0x20($sp) -/* 035DAC 7F00127C AFB2001C */ sw $s2, 0x1c($sp) -/* 035DB0 7F001280 AFB10018 */ sw $s1, 0x18($sp) -/* 035DB4 7F001284 AFB00014 */ sw $s0, 0x14($sp) -/* 035DB8 7F001288 8DD00000 */ lw $s0, ($t6) -/* 035DBC 7F00128C 241500BF */ li $s5, 191 -/* 035DC0 7F001290 241600C0 */ li $s6, 192 -/* 035DC4 7F001294 12000052 */ beqz $s0, .L7F0013E0 -/* 035DC8 7F001298 0000B825 */ move $s7, $zero -/* 035DCC 7F00129C 241400BE */ li $s4, 190 -/* 035DD0 7F0012A0 241300BD */ li $s3, 189 -/* 035DD4 7F0012A4 2412001B */ li $s2, 27 -/* 035DD8 7F0012A8 24110004 */ li $s1, 4 -.L7F0012AC: -/* 035DDC 7F0012AC 92030000 */ lbu $v1, ($s0) -.L7F0012B0: -/* 035DE0 7F0012B0 3C0F8007 */ lui $t7, %hi(ptr_setup_actions) -/* 035DE4 7F0012B4 16230004 */ bne $s1, $v1, .L7F0012C8 -/* 035DE8 7F0012B8 00000000 */ nop -/* 035DEC 7F0012BC 8DEF5D14 */ lw $t7, %lo(ptr_setup_actions)($t7) -/* 035DF0 7F0012C0 10000042 */ b .L7F0013CC -/* 035DF4 7F0012C4 01F71021 */ addu $v0, $t7, $s7 -.L7F0012C8: -/* 035DF8 7F0012C8 5072000C */ beql $v1, $s2, .L7F0012FC -/* 035DFC 7F0012CC 92180001 */ lbu $t8, 1($s0) -/* 035E00 7F0012D0 10730013 */ beq $v1, $s3, .L7F001320 -/* 035E04 7F0012D4 00000000 */ nop -/* 035E08 7F0012D8 1074001C */ beq $v1, $s4, .L7F00134C -/* 035E0C 7F0012DC 00000000 */ nop -/* 035E10 7F0012E0 50750026 */ beql $v1, $s5, .L7F00137C -/* 035E14 7F0012E4 920A0001 */ lbu $t2, 1($s0) -/* 035E18 7F0012E8 5076002F */ beql $v1, $s6, .L7F0013A8 -/* 035E1C 7F0012EC 920D0001 */ lbu $t5, 1($s0) -/* 035E20 7F0012F0 10000032 */ b .L7F0013BC -/* 035E24 7F0012F4 02002025 */ move $a0, $s0 -/* 035E28 7F0012F8 92180001 */ lbu $t8, 1($s0) -.L7F0012FC: -/* 035E2C 7F0012FC 92080002 */ lbu $t0, 2($s0) -/* 035E30 7F001300 0018CA00 */ sll $t9, $t8, 8 -/* 035E34 7F001304 03281025 */ or $v0, $t9, $t0 -/* 035E38 7F001308 0FC15B0E */ jal load_model -/* 035E3C 7F00130C 3044FFFF */ andi $a0, $v0, 0xffff -/* 035E40 7F001310 5040002A */ beql $v0, $zero, .L7F0013BC -/* 035E44 7F001314 02002025 */ move $a0, $s0 -/* 035E48 7F001318 10000028 */ b .L7F0013BC -/* 035E4C 7F00131C 02002025 */ move $a0, $s0 -.L7F001320: -/* 035E50 7F001320 0FC08CA4 */ jal load_body_head_if_not_loaded -/* 035E54 7F001324 92040001 */ lbu $a0, 1($s0) -/* 035E58 7F001328 82040002 */ lb $a0, 2($s0) -/* 035E5C 7F00132C 04820023 */ bltzl $a0, .L7F0013BC -/* 035E60 7F001330 02002025 */ move $a0, $s0 -/* 035E64 7F001334 0FC08CA4 */ jal load_body_head_if_not_loaded -/* 035E68 7F001338 00000000 */ nop -/* 035E6C 7F00133C 5040001F */ beql $v0, $zero, .L7F0013BC -/* 035E70 7F001340 02002025 */ move $a0, $s0 -/* 035E74 7F001344 1000001D */ b .L7F0013BC -/* 035E78 7F001348 02002025 */ move $a0, $s0 -.L7F00134C: -/* 035E7C 7F00134C 0FC08CA4 */ jal load_body_head_if_not_loaded -/* 035E80 7F001350 92040001 */ lbu $a0, 1($s0) -/* 035E84 7F001354 82040002 */ lb $a0, 2($s0) -/* 035E88 7F001358 04820018 */ bltzl $a0, .L7F0013BC -/* 035E8C 7F00135C 02002025 */ move $a0, $s0 -/* 035E90 7F001360 0FC08CA4 */ jal load_body_head_if_not_loaded -/* 035E94 7F001364 00000000 */ nop -/* 035E98 7F001368 50400014 */ beql $v0, $zero, .L7F0013BC -/* 035E9C 7F00136C 02002025 */ move $a0, $s0 -/* 035EA0 7F001370 10000012 */ b .L7F0013BC -/* 035EA4 7F001374 02002025 */ move $a0, $s0 -/* 035EA8 7F001378 920A0001 */ lbu $t2, 1($s0) -.L7F00137C: -/* 035EAC 7F00137C 920C0002 */ lbu $t4, 2($s0) -/* 035EB0 7F001380 000A5A00 */ sll $t3, $t2, 8 -/* 035EB4 7F001384 0FC15B0E */ jal load_model -/* 035EB8 7F001388 016C2025 */ or $a0, $t3, $t4 -/* 035EBC 7F00138C 0FC015C4 */ jal set_weapon_model_generated_thrown_object -/* 035EC0 7F001390 92040003 */ lbu $a0, 3($s0) -/* 035EC4 7F001394 50400009 */ beql $v0, $zero, .L7F0013BC -/* 035EC8 7F001398 02002025 */ move $a0, $s0 -/* 035ECC 7F00139C 10000007 */ b .L7F0013BC -/* 035ED0 7F0013A0 02002025 */ move $a0, $s0 -/* 035ED4 7F0013A4 920D0001 */ lbu $t5, 1($s0) -.L7F0013A8: -/* 035ED8 7F0013A8 920F0002 */ lbu $t7, 2($s0) -/* 035EDC 7F0013AC 000D7200 */ sll $t6, $t5, 8 -/* 035EE0 7F0013B0 0FC15B0E */ jal load_model -/* 035EE4 7F0013B4 01CF2025 */ or $a0, $t6, $t7 -/* 035EE8 7F0013B8 02002025 */ move $a0, $s0 -.L7F0013BC: -/* 035EEC 7F0013BC 0FC0D27F */ jal get_length_of_action_block -/* 035EF0 7F0013C0 00002825 */ move $a1, $zero -/* 035EF4 7F0013C4 1000FFB9 */ b .L7F0012AC -/* 035EF8 7F0013C8 02028021 */ addu $s0, $s0, $v0 -.L7F0013CC: -/* 035EFC 7F0013CC 8C500008 */ lw $s0, 8($v0) -/* 035F00 7F0013D0 26F70008 */ addiu $s7, $s7, 8 -/* 035F04 7F0013D4 24420008 */ addiu $v0, $v0, 8 -/* 035F08 7F0013D8 5600FFB5 */ bnezl $s0, .L7F0012B0 -/* 035F0C 7F0013DC 92030000 */ lbu $v1, ($s0) -.L7F0013E0: -/* 035F10 7F0013E0 8FBF0034 */ lw $ra, 0x34($sp) -/* 035F14 7F0013E4 8FB00014 */ lw $s0, 0x14($sp) -/* 035F18 7F0013E8 8FB10018 */ lw $s1, 0x18($sp) -/* 035F1C 7F0013EC 8FB2001C */ lw $s2, 0x1c($sp) -/* 035F20 7F0013F0 8FB30020 */ lw $s3, 0x20($sp) -/* 035F24 7F0013F4 8FB40024 */ lw $s4, 0x24($sp) -/* 035F28 7F0013F8 8FB50028 */ lw $s5, 0x28($sp) -/* 035F2C 7F0013FC 8FB6002C */ lw $s6, 0x2c($sp) -/* 035F30 7F001400 8FB70030 */ lw $s7, 0x30($sp) -/* 035F34 7F001404 03E00008 */ jr $ra -/* 035F38 7F001408 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - -#ifdef NONMATCHING -void debug_weapon_load_table(void) { - -} -#else -GLOBAL_ASM( -.text -glabel debug_weapon_load_table -/* 035F3C 7F00140C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 035F40 7F001410 3C0F8003 */ lui $t7, %hi(weapon_models_for_weapon_load) -/* 035F44 7F001414 AFBF001C */ sw $ra, 0x1c($sp) -/* 035F48 7F001418 AFB00018 */ sw $s0, 0x18($sp) -/* 035F4C 7F00141C 25EFA23C */ addiu $t7, %lo(weapon_models_for_weapon_load) # addiu $t7, $t7, -0x5dc4 -/* 035F50 7F001420 8DE10000 */ lw $at, ($t7) -/* 035F54 7F001424 8DE80004 */ lw $t0, 4($t7) -/* 035F58 7F001428 27AE0030 */ addiu $t6, $sp, 0x30 -/* 035F5C 7F00142C ADC10000 */ sw $at, ($t6) -/* 035F60 7F001430 ADC80004 */ sw $t0, 4($t6) -/* 035F64 7F001434 8DE8000C */ lw $t0, 0xc($t7) -/* 035F68 7F001438 8DE10008 */ lw $at, 8($t7) -/* 035F6C 7F00143C 27B00030 */ addiu $s0, $sp, 0x30 -/* 035F70 7F001440 ADC8000C */ sw $t0, 0xc($t6) -/* 035F74 7F001444 ADC10008 */ sw $at, 8($t6) -/* 035F78 7F001448 8DE10010 */ lw $at, 0x10($t7) -/* 035F7C 7F00144C 8DE80014 */ lw $t0, 0x14($t7) -/* 035F80 7F001450 ADC10010 */ sw $at, 0x10($t6) -/* 035F84 7F001454 ADC80014 */ sw $t0, 0x14($t6) -/* 035F88 7F001458 8DE8001C */ lw $t0, 0x1c($t7) -/* 035F8C 7F00145C 8DE10018 */ lw $at, 0x18($t7) -/* 035F90 7F001460 ADC8001C */ sw $t0, 0x1c($t6) -/* 035F94 7F001464 ADC10018 */ sw $at, 0x18($t6) -/* 035F98 7F001468 8FA90030 */ lw $t1, 0x30($sp) -/* 035F9C 7F00146C 05220009 */ bltzl $t1, .L7F001494 -/* 035FA0 7F001470 8FBF001C */ lw $ra, 0x1c($sp) -/* 035FA4 7F001474 8E040000 */ lw $a0, ($s0) -.L7F001478: -/* 035FA8 7F001478 0FC15B0E */ jal load_model -/* 035FAC 7F00147C 00000000 */ nop -/* 035FB0 7F001480 8E040004 */ lw $a0, 4($s0) -/* 035FB4 7F001484 26100004 */ addiu $s0, $s0, 4 -/* 035FB8 7F001488 0481FFFB */ bgez $a0, .L7F001478 -/* 035FBC 7F00148C 00000000 */ nop -/* 035FC0 7F001490 8FBF001C */ lw $ra, 0x1c($sp) -.L7F001494: -/* 035FC4 7F001494 8FB00018 */ lw $s0, 0x18($sp) -/* 035FC8 7F001498 27BD0050 */ addiu $sp, $sp, 0x50 -/* 035FCC 7F00149C 03E00008 */ jr $ra -/* 035FD0 7F0014A0 00000000 */ nop -) -#endif - - diff --git a/src/game/debugmenu_08FE00.c b/src/game/debugmenu_08FE00.c deleted file mode 100644 index 8af6f5f..0000000 --- a/src/game/debugmenu_08FE00.c +++ /dev/null @@ -1,613 +0,0 @@ -#include "ultra64.h" - - -// data -//D:80036B70 -s32 highlighted_debug_option = 0; -//D:80036B74 -s32 ptr_last_debuggrp_cutoff = 0; -//D:80036B78 -s32 ptr_textptrs = 0; -//D:80036B7C -s32 ptr_positions = 0; -//D:80036B80 -s32 number_groups = 0; -//D:80036B84 -s32 ptr_groupings = 0; -//D:80036B88 -s32 num_mcm_something = 2; -//D:80036B8C -u32 mcm_xoffset_multiplier = 0x4040400; -//D:80036B90 -u32 mcm_yoffset_multiplier = 0x7070700; -/* -D:80036B94 .word 0 -D:80036B98 .word 0 -D:80036B9C .word 0 -*/ - -// rodata -//D:80055340 -const char aMenu_cErrorTriedToCallFont_makegt[] = "menu.c: ERROR! Tried to call font_makegt\n"; - - - - -void nullsub_32(void) { - return; -} - -void sub_GAME_7F08FE08(s32 param_1) { - num_mcm_something = param_1; -} - - - - - -#ifdef NONMATCHING -void init_debug_menu_values(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_debug_menu_values -/* 0C4944 7F08FE14 3C018003 */ lui $at, %hi(ptr_textptrs) -/* 0C4948 7F08FE18 AC246B78 */ sw $a0, %lo(ptr_textptrs)($at) -/* 0C494C 7F08FE1C 3C018003 */ lui $at, %hi(ptr_positions) -/* 0C4950 7F08FE20 AC256B7C */ sw $a1, %lo(ptr_positions)($at) -/* 0C4954 7F08FE24 3C018003 */ lui $at, %hi(ptr_groupings) -/* 0C4958 7F08FE28 AC266B84 */ sw $a2, %lo(ptr_groupings)($at) -/* 0C495C 7F08FE2C 8CCE0000 */ lw $t6, ($a2) -/* 0C4960 7F08FE30 00001025 */ move $v0, $zero -/* 0C4964 7F08FE34 00C01825 */ move $v1, $a2 -/* 0C4968 7F08FE38 05C20007 */ bltzl $t6, .L7F08FE58 -/* 0C496C 7F08FE3C 0002C080 */ sll $t8, $v0, 2 -/* 0C4970 7F08FE40 8C6F0004 */ lw $t7, 4($v1) -.L7F08FE44: -/* 0C4974 7F08FE44 24420001 */ addiu $v0, $v0, 1 -/* 0C4978 7F08FE48 24630004 */ addiu $v1, $v1, 4 -/* 0C497C 7F08FE4C 05E3FFFD */ bgezl $t7, .L7F08FE44 -/* 0C4980 7F08FE50 8C6F0004 */ lw $t7, 4($v1) -/* 0C4984 7F08FE54 0002C080 */ sll $t8, $v0, 2 -.L7F08FE58: -/* 0C4988 7F08FE58 00D8C821 */ addu $t9, $a2, $t8 -/* 0C498C 7F08FE5C 8F28FFFC */ lw $t0, -4($t9) -/* 0C4990 7F08FE60 3C018003 */ lui $at, %hi(ptr_last_debuggrp_cutoff) -/* 0C4994 7F08FE64 AC286B74 */ sw $t0, %lo(ptr_last_debuggrp_cutoff)($at) -/* 0C4998 7F08FE68 3C018003 */ lui $at, %hi(number_groups) -/* 0C499C 7F08FE6C 03E00008 */ jr $ra -/* 0C49A0 7F08FE70 AC226B80 */ sw $v0, %lo(number_groups)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void print_debug_mcm_to_stdout(void) { - -} -#else -GLOBAL_ASM( -.text -glabel print_debug_mcm_to_stdout -/* 0C49A4 7F08FE74 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C49A8 7F08FE78 3C028003 */ lui $v0, %hi(num_mcm_something) -/* 0C49AC 7F08FE7C 8C426B88 */ lw $v0, %lo(num_mcm_something)($v0) -/* 0C49B0 7F08FE80 3C0E8003 */ lui $t6, %hi(ptr_last_debuggrp_cutoff) -/* 0C49B4 7F08FE84 8DCE6B74 */ lw $t6, %lo(ptr_last_debuggrp_cutoff)($t6) -/* 0C49B8 7F08FE88 AFBE0038 */ sw $fp, 0x38($sp) -/* 0C49BC 7F08FE8C AFB70034 */ sw $s7, 0x34($sp) -/* 0C49C0 7F08FE90 3C178003 */ lui $s7, %hi(mcm_xoffset_multiplier) -/* 0C49C4 7F08FE94 3C1E8003 */ lui $fp, %hi(mcm_yoffset_multiplier) -/* 0C49C8 7F08FE98 AFB00018 */ sw $s0, 0x18($sp) -/* 0C49CC 7F08FE9C 02E2B821 */ addu $s7, $s7, $v0 -/* 0C49D0 7F08FEA0 03C2F021 */ addu $fp, $fp, $v0 -/* 0C49D4 7F08FEA4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0C49D8 7F08FEA8 AFB60030 */ sw $s6, 0x30($sp) -/* 0C49DC 7F08FEAC AFB5002C */ sw $s5, 0x2c($sp) -/* 0C49E0 7F08FEB0 AFB40028 */ sw $s4, 0x28($sp) -/* 0C49E4 7F08FEB4 AFB30024 */ sw $s3, 0x24($sp) -/* 0C49E8 7F08FEB8 AFB20020 */ sw $s2, 0x20($sp) -/* 0C49EC 7F08FEBC AFB1001C */ sw $s1, 0x1c($sp) -/* 0C49F0 7F08FEC0 AFA40040 */ sw $a0, 0x40($sp) -/* 0C49F4 7F08FEC4 92F76B8C */ lbu $s7, %lo(mcm_xoffset_multiplier)($s7) -/* 0C49F8 7F08FEC8 93DE6B90 */ lbu $fp, %lo(mcm_yoffset_multiplier)($fp) -/* 0C49FC 7F08FECC 19C00042 */ blez $t6, .L7F08FFD8 -/* 0C4A00 7F08FED0 00008025 */ move $s0, $zero -/* 0C4A04 7F08FED4 3C168003 */ lui $s6, %hi(ptr_textptrs) -/* 0C4A08 7F08FED8 3C148003 */ lui $s4, %hi(ptr_positions) -/* 0C4A0C 7F08FEDC 3C138003 */ lui $s3, %hi(highlighted_debug_option) -/* 0C4A10 7F08FEE0 26736B70 */ addiu $s3, %lo(highlighted_debug_option) # addiu $s3, $s3, 0x6b70 -/* 0C4A14 7F08FEE4 26946B7C */ addiu $s4, %lo(ptr_positions) # addiu $s4, $s4, 0x6b7c -/* 0C4A18 7F08FEE8 26D66B78 */ addiu $s6, %lo(ptr_textptrs) # addiu $s6, $s6, 0x6b78 -/* 0C4A1C 7F08FEEC 00008825 */ move $s1, $zero -/* 0C4A20 7F08FEF0 00009025 */ move $s2, $zero -/* 0C4A24 7F08FEF4 24150007 */ li $s5, 7 -.L7F08FEF8: -/* 0C4A28 7F08FEF8 0FC23F80 */ jal nullsub_32 -/* 0C4A2C 7F08FEFC 00000000 */ nop -/* 0C4A30 7F08FF00 8E6F0000 */ lw $t7, ($s3) -/* 0C4A34 7F08FF04 240400C0 */ li $a0, 192 -/* 0C4A38 7F08FF08 240500C0 */ li $a1, 192 -/* 0C4A3C 7F08FF0C 160F0008 */ bne $s0, $t7, .L7F08FF30 -/* 0C4A40 7F08FF10 240600C0 */ li $a2, 192 -/* 0C4A44 7F08FF14 240400C0 */ li $a0, 192 -/* 0C4A48 7F08FF18 00002825 */ move $a1, $zero -/* 0C4A4C 7F08FF1C 00003025 */ move $a2, $zero -/* 0C4A50 7F08FF20 0C002C1B */ jal set_debug_text_color -/* 0C4A54 7F08FF24 240700C0 */ li $a3, 192 -/* 0C4A58 7F08FF28 10000004 */ b .L7F08FF3C -/* 0C4A5C 7F08FF2C 8E980000 */ lw $t8, ($s4) -.L7F08FF30: -/* 0C4A60 7F08FF30 0C002C1B */ jal set_debug_text_color -/* 0C4A64 7F08FF34 240700C0 */ li $a3, 192 -/* 0C4A68 7F08FF38 8E980000 */ lw $t8, ($s4) -.L7F08FF3C: -/* 0C4A6C 7F08FF3C 03111021 */ addu $v0, $t8, $s1 -/* 0C4A70 7F08FF40 8C590000 */ lw $t9, ($v0) -/* 0C4A74 7F08FF44 8C490004 */ lw $t1, 4($v0) -/* 0C4A78 7F08FF48 03370019 */ multu $t9, $s7 -/* 0C4A7C 7F08FF4C 00002012 */ mflo $a0 -/* 0C4A80 7F08FF50 2484FFEC */ addiu $a0, $a0, -0x14 -/* 0C4A84 7F08FF54 04810003 */ bgez $a0, .L7F08FF64 -/* 0C4A88 7F08FF58 00044083 */ sra $t0, $a0, 2 -/* 0C4A8C 7F08FF5C 24810003 */ addiu $at, $a0, 3 -/* 0C4A90 7F08FF60 00014083 */ sra $t0, $at, 2 -.L7F08FF64: -/* 0C4A94 7F08FF64 013E0019 */ multu $t1, $fp -/* 0C4A98 7F08FF68 01002025 */ move $a0, $t0 -/* 0C4A9C 7F08FF6C 00005012 */ mflo $t2 -/* 0C4AA0 7F08FF70 254BFFF8 */ addiu $t3, $t2, -8 -/* 0C4AA4 7F08FF74 00000000 */ nop -/* 0C4AA8 7F08FF78 0175001A */ div $zero, $t3, $s5 -/* 0C4AAC 7F08FF7C 00002812 */ mflo $a1 -/* 0C4AB0 7F08FF80 16A00002 */ bnez $s5, .L7F08FF8C -/* 0C4AB4 7F08FF84 00000000 */ nop -/* 0C4AB8 7F08FF88 0007000D */ break 7 -.L7F08FF8C: -/* 0C4ABC 7F08FF8C 2401FFFF */ li $at, -1 -/* 0C4AC0 7F08FF90 16A10004 */ bne $s5, $at, .L7F08FFA4 -/* 0C4AC4 7F08FF94 3C018000 */ lui $at, 0x8000 -/* 0C4AC8 7F08FF98 15610002 */ bne $t3, $at, .L7F08FFA4 -/* 0C4ACC 7F08FF9C 00000000 */ nop -/* 0C4AD0 7F08FFA0 0006000D */ break 6 -.L7F08FFA4: -/* 0C4AD4 7F08FFA4 0C002C10 */ jal set_final_debug_text_positions -/* 0C4AD8 7F08FFA8 00000000 */ nop -/* 0C4ADC 7F08FFAC 8ECC0000 */ lw $t4, ($s6) -/* 0C4AE0 7F08FFB0 01926821 */ addu $t5, $t4, $s2 -/* 0C4AE4 7F08FFB4 0C002C7A */ jal write_string_stdout -/* 0C4AE8 7F08FFB8 8DA40000 */ lw $a0, ($t5) -/* 0C4AEC 7F08FFBC 3C0E8003 */ lui $t6, %hi(ptr_last_debuggrp_cutoff) -/* 0C4AF0 7F08FFC0 8DCE6B74 */ lw $t6, %lo(ptr_last_debuggrp_cutoff)($t6) -/* 0C4AF4 7F08FFC4 26100001 */ addiu $s0, $s0, 1 -/* 0C4AF8 7F08FFC8 26310008 */ addiu $s1, $s1, 8 -/* 0C4AFC 7F08FFCC 020E082A */ slt $at, $s0, $t6 -/* 0C4B00 7F08FFD0 1420FFC9 */ bnez $at, .L7F08FEF8 -/* 0C4B04 7F08FFD4 26520004 */ addiu $s2, $s2, 4 -.L7F08FFD8: -/* 0C4B08 7F08FFD8 8FBF003C */ lw $ra, 0x3c($sp) -/* 0C4B0C 7F08FFDC 8FA20040 */ lw $v0, 0x40($sp) -/* 0C4B10 7F08FFE0 8FB00018 */ lw $s0, 0x18($sp) -/* 0C4B14 7F08FFE4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C4B18 7F08FFE8 8FB20020 */ lw $s2, 0x20($sp) -/* 0C4B1C 7F08FFEC 8FB30024 */ lw $s3, 0x24($sp) -/* 0C4B20 7F08FFF0 8FB40028 */ lw $s4, 0x28($sp) -/* 0C4B24 7F08FFF4 8FB5002C */ lw $s5, 0x2c($sp) -/* 0C4B28 7F08FFF8 8FB60030 */ lw $s6, 0x30($sp) -/* 0C4B2C 7F08FFFC 8FB70034 */ lw $s7, 0x34($sp) -/* 0C4B30 7F090000 8FBE0038 */ lw $fp, 0x38($sp) -/* 0C4B34 7F090004 03E00008 */ jr $ra -/* 0C4B38 7F090008 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09000C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09000C -/* 0C4B3C 7F09000C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C4B40 7F090010 AFB5002C */ sw $s5, 0x2c($sp) -/* 0C4B44 7F090014 3C028003 */ lui $v0, %hi(num_mcm_something) -/* 0C4B48 7F090018 8C426B88 */ lw $v0, %lo(num_mcm_something)($v0) -/* 0C4B4C 7F09001C 3C158003 */ lui $s5, %hi(ptr_last_debuggrp_cutoff) -/* 0C4B50 7F090020 26B56B74 */ addiu $s5, %lo(ptr_last_debuggrp_cutoff) # addiu $s5, $s5, 0x6b74 -/* 0C4B54 7F090024 8EAE0000 */ lw $t6, ($s5) -/* 0C4B58 7F090028 AFB40028 */ sw $s4, 0x28($sp) -/* 0C4B5C 7F09002C AFB30024 */ sw $s3, 0x24($sp) -/* 0C4B60 7F090030 3C138003 */ lui $s3, %hi(mcm_xoffset_multiplier) -/* 0C4B64 7F090034 3C148003 */ lui $s4, %hi(mcm_yoffset_multiplier) -/* 0C4B68 7F090038 AFB00018 */ sw $s0, 0x18($sp) -/* 0C4B6C 7F09003C 02629821 */ addu $s3, $s3, $v0 -/* 0C4B70 7F090040 0282A021 */ addu $s4, $s4, $v0 -/* 0C4B74 7F090044 AFBF003C */ sw $ra, 0x3c($sp) -/* 0C4B78 7F090048 AFBE0038 */ sw $fp, 0x38($sp) -/* 0C4B7C 7F09004C AFB70034 */ sw $s7, 0x34($sp) -/* 0C4B80 7F090050 AFB60030 */ sw $s6, 0x30($sp) -/* 0C4B84 7F090054 AFB20020 */ sw $s2, 0x20($sp) -/* 0C4B88 7F090058 AFB1001C */ sw $s1, 0x1c($sp) -/* 0C4B8C 7F09005C AFA40040 */ sw $a0, 0x40($sp) -/* 0C4B90 7F090060 AFA50044 */ sw $a1, 0x44($sp) -/* 0C4B94 7F090064 AFA60048 */ sw $a2, 0x48($sp) -/* 0C4B98 7F090068 92736B8C */ lbu $s3, %lo(mcm_xoffset_multiplier)($s3) -/* 0C4B9C 7F09006C 92946B90 */ lbu $s4, %lo(mcm_yoffset_multiplier)($s4) -/* 0C4BA0 7F090070 19C00043 */ blez $t6, .L7F090180 -/* 0C4BA4 7F090074 00008025 */ move $s0, $zero -/* 0C4BA8 7F090078 3C178003 */ lui $s7, %hi(ptr_positions) -/* 0C4BAC 7F09007C 3C168003 */ lui $s6, %hi(highlighted_debug_option) -/* 0C4BB0 7F090080 26D66B70 */ addiu $s6, %lo(highlighted_debug_option) # addiu $s6, $s6, 0x6b70 -/* 0C4BB4 7F090084 26F76B7C */ addiu $s7, %lo(ptr_positions) # addiu $s7, $s7, 0x6b7c -/* 0C4BB8 7F090088 00008825 */ move $s1, $zero -/* 0C4BBC 7F09008C 00009025 */ move $s2, $zero -/* 0C4BC0 7F090090 241E0007 */ li $fp, 7 -.L7F090094: -/* 0C4BC4 7F090094 0FC23F80 */ jal nullsub_32 -/* 0C4BC8 7F090098 00000000 */ nop -/* 0C4BCC 7F09009C 8ECF0000 */ lw $t7, ($s6) -/* 0C4BD0 7F0900A0 240400C0 */ li $a0, 192 -/* 0C4BD4 7F0900A4 240500C0 */ li $a1, 192 -/* 0C4BD8 7F0900A8 160F0008 */ bne $s0, $t7, .L7F0900CC -/* 0C4BDC 7F0900AC 240600C0 */ li $a2, 192 -/* 0C4BE0 7F0900B0 240400C0 */ li $a0, 192 -/* 0C4BE4 7F0900B4 00002825 */ move $a1, $zero -/* 0C4BE8 7F0900B8 00003025 */ move $a2, $zero -/* 0C4BEC 7F0900BC 0C002C1B */ jal set_debug_text_color -/* 0C4BF0 7F0900C0 240700C0 */ li $a3, 192 -/* 0C4BF4 7F0900C4 10000004 */ b .L7F0900D8 -/* 0C4BF8 7F0900C8 8EF80000 */ lw $t8, ($s7) -.L7F0900CC: -/* 0C4BFC 7F0900CC 0C002C1B */ jal set_debug_text_color -/* 0C4C00 7F0900D0 240700C0 */ li $a3, 192 -/* 0C4C04 7F0900D4 8EF80000 */ lw $t8, ($s7) -.L7F0900D8: -/* 0C4C08 7F0900D8 03111021 */ addu $v0, $t8, $s1 -/* 0C4C0C 7F0900DC 8C590000 */ lw $t9, ($v0) -/* 0C4C10 7F0900E0 8C490004 */ lw $t1, 4($v0) -/* 0C4C14 7F0900E4 03330019 */ multu $t9, $s3 -/* 0C4C18 7F0900E8 00002012 */ mflo $a0 -/* 0C4C1C 7F0900EC 2484FFEC */ addiu $a0, $a0, -0x14 -/* 0C4C20 7F0900F0 04810003 */ bgez $a0, .L7F090100 -/* 0C4C24 7F0900F4 00044083 */ sra $t0, $a0, 2 -/* 0C4C28 7F0900F8 24810003 */ addiu $at, $a0, 3 -/* 0C4C2C 7F0900FC 00014083 */ sra $t0, $at, 2 -.L7F090100: -/* 0C4C30 7F090100 01340019 */ multu $t1, $s4 -/* 0C4C34 7F090104 01002025 */ move $a0, $t0 -/* 0C4C38 7F090108 00005012 */ mflo $t2 -/* 0C4C3C 7F09010C 254BFFF8 */ addiu $t3, $t2, -8 -/* 0C4C40 7F090110 00000000 */ nop -/* 0C4C44 7F090114 017E001A */ div $zero, $t3, $fp -/* 0C4C48 7F090118 00002812 */ mflo $a1 -/* 0C4C4C 7F09011C 17C00002 */ bnez $fp, .L7F090128 -/* 0C4C50 7F090120 00000000 */ nop -/* 0C4C54 7F090124 0007000D */ break 7 -.L7F090128: -/* 0C4C58 7F090128 2401FFFF */ li $at, -1 -/* 0C4C5C 7F09012C 17C10004 */ bne $fp, $at, .L7F090140 -/* 0C4C60 7F090130 3C018000 */ lui $at, 0x8000 -/* 0C4C64 7F090134 15610002 */ bne $t3, $at, .L7F090140 -/* 0C4C68 7F090138 00000000 */ nop -/* 0C4C6C 7F09013C 0006000D */ break 6 -.L7F090140: -/* 0C4C70 7F090140 0C002C10 */ jal set_final_debug_text_positions -/* 0C4C74 7F090144 00000000 */ nop -/* 0C4C78 7F090148 3C0C8003 */ lui $t4, %hi(ptr_textptrs) -/* 0C4C7C 7F09014C 8D8C6B78 */ lw $t4, %lo(ptr_textptrs)($t4) -/* 0C4C80 7F090150 01926821 */ addu $t5, $t4, $s2 -/* 0C4C84 7F090154 0C002C7A */ jal write_string_stdout -/* 0C4C88 7F090158 8DA40000 */ lw $a0, ($t5) -/* 0C4C8C 7F09015C 3C048005 */ lui $a0, %hi(aMenu_cErrorTriedToCallFont_makegt) -/* 0C4C90 7F090160 0C0033D1 */ jal osSyncPrintf -/* 0C4C94 7F090164 24845340 */ addiu $a0, %lo(aMenu_cErrorTriedToCallFont_makegt) # addiu $a0, $a0, 0x5340 -/* 0C4C98 7F090168 8EAE0000 */ lw $t6, ($s5) -/* 0C4C9C 7F09016C 26100001 */ addiu $s0, $s0, 1 -/* 0C4CA0 7F090170 26310008 */ addiu $s1, $s1, 8 -/* 0C4CA4 7F090174 020E082A */ slt $at, $s0, $t6 -/* 0C4CA8 7F090178 1420FFC6 */ bnez $at, .L7F090094 -/* 0C4CAC 7F09017C 26520004 */ addiu $s2, $s2, 4 -.L7F090180: -/* 0C4CB0 7F090180 8FBF003C */ lw $ra, 0x3c($sp) -/* 0C4CB4 7F090184 8FB00018 */ lw $s0, 0x18($sp) -/* 0C4CB8 7F090188 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C4CBC 7F09018C 8FB20020 */ lw $s2, 0x20($sp) -/* 0C4CC0 7F090190 8FB30024 */ lw $s3, 0x24($sp) -/* 0C4CC4 7F090194 8FB40028 */ lw $s4, 0x28($sp) -/* 0C4CC8 7F090198 8FB5002C */ lw $s5, 0x2c($sp) -/* 0C4CCC 7F09019C 8FB60030 */ lw $s6, 0x30($sp) -/* 0C4CD0 7F0901A0 8FB70034 */ lw $s7, 0x34($sp) -/* 0C4CD4 7F0901A4 8FBE0038 */ lw $fp, 0x38($sp) -/* 0C4CD8 7F0901A8 03E00008 */ jr $ra -/* 0C4CDC 7F0901AC 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - -s32 get_highlighted_debug_option(void) { - return highlighted_debug_option; -} - -void sub_GAME_7F0901BC(s32 value) { - highlighted_debug_option = value; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0901C8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0901C8 -/* 0C4CF8 7F0901C8 3C068003 */ lui $a2, %hi(highlighted_debug_option) -/* 0C4CFC 7F0901CC 24C66B70 */ addiu $a2, %lo(highlighted_debug_option) # addiu $a2, $a2, 0x6b70 -/* 0C4D00 7F0901D0 8CCE0000 */ lw $t6, ($a2) -/* 0C4D04 7F0901D4 3C188003 */ lui $t8, %hi(ptr_groupings) -/* 0C4D08 7F0901D8 3C048003 */ lui $a0, %hi(number_groups) -/* 0C4D0C 7F0901DC 25C2FFFF */ addiu $v0, $t6, -1 -/* 0C4D10 7F0901E0 04410006 */ bgez $v0, .L7F0901FC -/* 0C4D14 7F0901E4 ACC20000 */ sw $v0, ($a2) -/* 0C4D18 7F0901E8 8F186B84 */ lw $t8, %lo(ptr_groupings)($t8) -/* 0C4D1C 7F0901EC 8F190000 */ lw $t9, ($t8) -/* 0C4D20 7F0901F0 2728FFFF */ addiu $t0, $t9, -1 -/* 0C4D24 7F0901F4 03E00008 */ jr $ra -/* 0C4D28 7F0901F8 ACC80000 */ sw $t0, ($a2) - -.L7F0901FC: -/* 0C4D2C 7F0901FC 8C846B80 */ lw $a0, %lo(number_groups)($a0) -/* 0C4D30 7F090200 00001825 */ move $v1, $zero -/* 0C4D34 7F090204 3C058003 */ lui $a1, %hi(ptr_groupings) -/* 0C4D38 7F090208 1880000D */ blez $a0, .L7F090240 -/* 0C4D3C 7F09020C 00000000 */ nop -/* 0C4D40 7F090210 8CA56B84 */ lw $a1, %lo(ptr_groupings)($a1) -.L7F090214: -/* 0C4D44 7F090214 8CAA0000 */ lw $t2, ($a1) -/* 0C4D48 7F090218 24630001 */ addiu $v1, $v1, 1 -/* 0C4D4C 7F09021C 24490001 */ addiu $t1, $v0, 1 -/* 0C4D50 7F090220 152A0005 */ bne $t1, $t2, .L7F090238 -/* 0C4D54 7F090224 0064082A */ slt $at, $v1, $a0 -/* 0C4D58 7F090228 8CAB0004 */ lw $t3, 4($a1) -/* 0C4D5C 7F09022C 256CFFFF */ addiu $t4, $t3, -1 -/* 0C4D60 7F090230 03E00008 */ jr $ra -/* 0C4D64 7F090234 ACCC0000 */ sw $t4, ($a2) - -.L7F090238: -/* 0C4D68 7F090238 1420FFF6 */ bnez $at, .L7F090214 -/* 0C4D6C 7F09023C 24A50004 */ addiu $a1, $a1, 4 -.L7F090240: -/* 0C4D70 7F090240 03E00008 */ jr $ra -/* 0C4D74 7F090244 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F090248(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F090248 -/* 0C4D78 7F090248 3C078003 */ lui $a3, %hi(highlighted_debug_option) -/* 0C4D7C 7F09024C 24E76B70 */ addiu $a3, %lo(highlighted_debug_option) # addiu $a3, $a3, 0x6b70 -/* 0C4D80 7F090250 8CEE0000 */ lw $t6, ($a3) -/* 0C4D84 7F090254 3C038003 */ lui $v1, %hi(ptr_groupings) -/* 0C4D88 7F090258 3C058003 */ lui $a1, %hi(number_groups) -/* 0C4D8C 7F09025C 25C20001 */ addiu $v0, $t6, 1 -/* 0C4D90 7F090260 ACE20000 */ sw $v0, ($a3) -/* 0C4D94 7F090264 8C636B84 */ lw $v1, %lo(ptr_groupings)($v1) -/* 0C4D98 7F090268 8C780000 */ lw $t8, ($v1) -/* 0C4D9C 7F09026C 14580003 */ bne $v0, $t8, .L7F09027C -/* 0C4DA0 7F090270 00000000 */ nop -/* 0C4DA4 7F090274 03E00008 */ jr $ra -/* 0C4DA8 7F090278 ACE00000 */ sw $zero, ($a3) - -.L7F09027C: -/* 0C4DAC 7F09027C 8CA56B80 */ lw $a1, %lo(number_groups)($a1) -/* 0C4DB0 7F090280 00002025 */ move $a0, $zero -/* 0C4DB4 7F090284 00603025 */ move $a2, $v1 -/* 0C4DB8 7F090288 18A0000B */ blez $a1, .L7F0902B8 -/* 0C4DBC 7F09028C 00000000 */ nop -.L7F090290: -/* 0C4DC0 7F090290 8CD90000 */ lw $t9, ($a2) -/* 0C4DC4 7F090294 24840001 */ addiu $a0, $a0, 1 -/* 0C4DC8 7F090298 0085082A */ slt $at, $a0, $a1 -/* 0C4DCC 7F09029C 14590004 */ bne $v0, $t9, .L7F0902B0 -/* 0C4DD0 7F0902A0 00000000 */ nop -/* 0C4DD4 7F0902A4 8CC8FFFC */ lw $t0, -4($a2) -/* 0C4DD8 7F0902A8 03E00008 */ jr $ra -/* 0C4DDC 7F0902AC ACE80000 */ sw $t0, ($a3) - -.L7F0902B0: -/* 0C4DE0 7F0902B0 1420FFF7 */ bnez $at, .L7F090290 -/* 0C4DE4 7F0902B4 24C60004 */ addiu $a2, $a2, 4 -.L7F0902B8: -/* 0C4DE8 7F0902B8 03E00008 */ jr $ra -/* 0C4DEC 7F0902BC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0902C0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0902C0 -/* 0C4DF0 7F0902C0 3C038003 */ lui $v1, %hi(ptr_groupings) -/* 0C4DF4 7F0902C4 8C636B84 */ lw $v1, %lo(ptr_groupings)($v1) -/* 0C4DF8 7F0902C8 3C088003 */ lui $t0, %hi(highlighted_debug_option) -/* 0C4DFC 7F0902CC 25086B70 */ addiu $t0, %lo(highlighted_debug_option) # addiu $t0, $t0, 0x6b70 -/* 0C4E00 7F0902D0 8D020000 */ lw $v0, ($t0) -/* 0C4E04 7F0902D4 8C640000 */ lw $a0, ($v1) -/* 0C4E08 7F0902D8 3C058003 */ lui $a1, %hi(number_groups) -/* 0C4E0C 7F0902DC 0044082A */ slt $at, $v0, $a0 -/* 0C4E10 7F0902E0 10200008 */ beqz $at, .L7F090304 -/* 0C4E14 7F0902E4 00447021 */ addu $t6, $v0, $a0 -/* 0C4E18 7F0902E8 AD0E0000 */ sw $t6, ($t0) -/* 0C4E1C 7F0902EC 8C650004 */ lw $a1, 4($v1) -/* 0C4E20 7F0902F0 01C5082A */ slt $at, $t6, $a1 -/* 0C4E24 7F0902F4 14200027 */ bnez $at, .L7F090394 -/* 0C4E28 7F0902F8 24B8FFFF */ addiu $t8, $a1, -1 -/* 0C4E2C 7F0902FC 03E00008 */ jr $ra -/* 0C4E30 7F090300 AD180000 */ sw $t8, ($t0) - -.L7F090304: -/* 0C4E34 7F090304 8CA56B80 */ lw $a1, %lo(number_groups)($a1) -/* 0C4E38 7F090308 00002025 */ move $a0, $zero -/* 0C4E3C 7F09030C 00603025 */ move $a2, $v1 -/* 0C4E40 7F090310 18A00020 */ blez $a1, .L7F090394 -/* 0C4E44 7F090314 00000000 */ nop -.L7F090318: -/* 0C4E48 7F090318 8CC70000 */ lw $a3, ($a2) -/* 0C4E4C 7F09031C 24840001 */ addiu $a0, $a0, 1 -/* 0C4E50 7F090320 0047082A */ slt $at, $v0, $a3 -/* 0C4E54 7F090324 50200019 */ beql $at, $zero, .L7F09038C -/* 0C4E58 7F090328 0085082A */ slt $at, $a0, $a1 -/* 0C4E5C 7F09032C 8CC9FFFC */ lw $t1, -4($a2) -/* 0C4E60 7F090330 0047C821 */ addu $t9, $v0, $a3 -/* 0C4E64 7F090334 03295023 */ subu $t2, $t9, $t1 -/* 0C4E68 7F090338 AD0A0000 */ sw $t2, ($t0) -/* 0C4E6C 7F09033C 8CC40004 */ lw $a0, 4($a2) -/* 0C4E70 7F090340 0483000B */ bgezl $a0, .L7F090370 -/* 0C4E74 7F090344 8D180000 */ lw $t8, ($t0) -/* 0C4E78 7F090348 8CCC0000 */ lw $t4, ($a2) -/* 0C4E7C 7F09034C 014C6823 */ subu $t5, $t2, $t4 -/* 0C4E80 7F090350 AD0D0000 */ sw $t5, ($t0) -/* 0C4E84 7F090354 8C640000 */ lw $a0, ($v1) -/* 0C4E88 7F090358 01A4082A */ slt $at, $t5, $a0 -/* 0C4E8C 7F09035C 1420000D */ bnez $at, .L7F090394 -/* 0C4E90 7F090360 248FFFFF */ addiu $t7, $a0, -1 -/* 0C4E94 7F090364 03E00008 */ jr $ra -/* 0C4E98 7F090368 AD0F0000 */ sw $t7, ($t0) - -/* 0C4E9C 7F09036C 8D180000 */ lw $t8, ($t0) -.L7F090370: -/* 0C4EA0 7F090370 2499FFFF */ addiu $t9, $a0, -1 -/* 0C4EA4 7F090374 0304082A */ slt $at, $t8, $a0 -/* 0C4EA8 7F090378 14200006 */ bnez $at, .L7F090394 -/* 0C4EAC 7F09037C 00000000 */ nop -/* 0C4EB0 7F090380 03E00008 */ jr $ra -/* 0C4EB4 7F090384 AD190000 */ sw $t9, ($t0) - -/* 0C4EB8 7F090388 0085082A */ slt $at, $a0, $a1 -.L7F09038C: -/* 0C4EBC 7F09038C 1420FFE2 */ bnez $at, .L7F090318 -/* 0C4EC0 7F090390 24C60004 */ addiu $a2, $a2, 4 -.L7F090394: -/* 0C4EC4 7F090394 03E00008 */ jr $ra -/* 0C4EC8 7F090398 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09039C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09039C -/* 0C4ECC 7F09039C 3C038003 */ lui $v1, %hi(ptr_groupings) -/* 0C4ED0 7F0903A0 8C636B84 */ lw $v1, %lo(ptr_groupings)($v1) -/* 0C4ED4 7F0903A4 3C078003 */ lui $a3, %hi(highlighted_debug_option) -/* 0C4ED8 7F0903A8 24E76B70 */ addiu $a3, %lo(highlighted_debug_option) # addiu $a3, $a3, 0x6b70 -/* 0C4EDC 7F0903AC 8CE20000 */ lw $v0, ($a3) -/* 0C4EE0 7F0903B0 8C640000 */ lw $a0, ($v1) -/* 0C4EE4 7F0903B4 3C058003 */ lui $a1, %hi(number_groups) -/* 0C4EE8 7F0903B8 0044082A */ slt $at, $v0, $a0 -/* 0C4EEC 7F0903BC 50200016 */ beql $at, $zero, .L7F090418 -/* 0C4EF0 7F0903C0 0044082A */ slt $at, $v0, $a0 -/* 0C4EF4 7F0903C4 8CA56B80 */ lw $a1, %lo(number_groups)($a1) -/* 0C4EF8 7F0903C8 00002025 */ move $a0, $zero -/* 0C4EFC 7F0903CC 24A5FFFF */ addiu $a1, $a1, -1 -/* 0C4F00 7F0903D0 58A00006 */ blezl $a1, .L7F0903EC -/* 0C4F04 7F0903D4 00047080 */ sll $t6, $a0, 2 -/* 0C4F08 7F0903D8 24840001 */ addiu $a0, $a0, 1 -.L7F0903DC: -/* 0C4F0C 7F0903DC 0085082A */ slt $at, $a0, $a1 -/* 0C4F10 7F0903E0 5420FFFE */ bnezl $at, .L7F0903DC -/* 0C4F14 7F0903E4 24840001 */ addiu $a0, $a0, 1 -/* 0C4F18 7F0903E8 00047080 */ sll $t6, $a0, 2 -.L7F0903EC: -/* 0C4F1C 7F0903EC 006E2821 */ addu $a1, $v1, $t6 -/* 0C4F20 7F0903F0 8CAFFFFC */ lw $t7, -4($a1) -/* 0C4F24 7F0903F4 004FC021 */ addu $t8, $v0, $t7 -/* 0C4F28 7F0903F8 ACF80000 */ sw $t8, ($a3) -/* 0C4F2C 7F0903FC 8CA60000 */ lw $a2, ($a1) -/* 0C4F30 7F090400 0306082A */ slt $at, $t8, $a2 -/* 0C4F34 7F090404 1420001E */ bnez $at, .L7F090480 -/* 0C4F38 7F090408 24C8FFFF */ addiu $t0, $a2, -1 -/* 0C4F3C 7F09040C 03E00008 */ jr $ra -/* 0C4F40 7F090410 ACE80000 */ sw $t0, ($a3) - -/* 0C4F44 7F090414 0044082A */ slt $at, $v0, $a0 -.L7F090418: -/* 0C4F48 7F090418 14200008 */ bnez $at, .L7F09043C -/* 0C4F4C 7F09041C 00002825 */ move $a1, $zero -/* 0C4F50 7F090420 00602025 */ move $a0, $v1 -/* 0C4F54 7F090424 8C890004 */ lw $t1, 4($a0) -.L7F090428: -/* 0C4F58 7F090428 24A50001 */ addiu $a1, $a1, 1 -/* 0C4F5C 7F09042C 24840004 */ addiu $a0, $a0, 4 -/* 0C4F60 7F090430 0049082A */ slt $at, $v0, $t1 -/* 0C4F64 7F090434 5020FFFC */ beql $at, $zero, .L7F090428 -/* 0C4F68 7F090438 8C890004 */ lw $t1, 4($a0) -.L7F09043C: -/* 0C4F6C 7F09043C 00055080 */ sll $t2, $a1, 2 -/* 0C4F70 7F090440 006A2021 */ addu $a0, $v1, $t2 -/* 0C4F74 7F090444 8C8BFFFC */ lw $t3, -4($a0) -/* 0C4F78 7F090448 24ADFFFE */ addiu $t5, $a1, -2 -/* 0C4F7C 7F09044C 004B6023 */ subu $t4, $v0, $t3 -/* 0C4F80 7F090450 05A00004 */ bltz $t5, .L7F090464 -/* 0C4F84 7F090454 ACEC0000 */ sw $t4, ($a3) -/* 0C4F88 7F090458 8C8FFFF8 */ lw $t7, -8($a0) -/* 0C4F8C 7F09045C 018FC021 */ addu $t8, $t4, $t7 -/* 0C4F90 7F090460 ACF80000 */ sw $t8, ($a3) -.L7F090464: -/* 0C4F94 7F090464 8C82FFFC */ lw $v0, -4($a0) -/* 0C4F98 7F090468 8CF90000 */ lw $t9, ($a3) -/* 0C4F9C 7F09046C 2448FFFF */ addiu $t0, $v0, -1 -/* 0C4FA0 7F090470 0322082A */ slt $at, $t9, $v0 -/* 0C4FA4 7F090474 14200002 */ bnez $at, .L7F090480 -/* 0C4FA8 7F090478 00000000 */ nop -/* 0C4FAC 7F09047C ACE80000 */ sw $t0, ($a3) -.L7F090480: -/* 0C4FB0 7F090480 03E00008 */ jr $ra -/* 0C4FB4 7F090484 00000000 */ nop -) -#endif - - - diff --git a/src/game/debugmenu_090490.c b/src/game/debugmenu_090490.c deleted file mode 100644 index ff6d4d7..0000000 --- a/src/game/debugmenu_090490.c +++ /dev/null @@ -1,1348 +0,0 @@ -#include "ultra64.h" -#include "game/debugmenu_090490.h" -#include "game/initgamedata.h" - -// data -//D:80036BA0 -u32 D_80036BA0 = 0; -//D:80036BA4 -s32 mcm_column_groupings[] = {8, 0x13, 0x1E, 0x2B, 0x32, 0x39, 0x45, 0x4D, -1}; - -//D:80036BC8 -struct mcm_layout mcm_onscreen_positions[] = { - {8, 5}, - {8, 6}, - {8, 7}, - {8, 8}, - {8, 9}, - {8, 0xA}, - {8, 0xB}, - {8, 0xC}, - {0x19, 5}, - {0x19, 6}, - {0x19, 7}, - {0x19, 8}, - {0x19, 9}, - {0x19, 0xA}, - {0x19, 0xB}, - {0x19, 0xC}, - {0x19, 0xD}, - {0x19, 0xE}, - {0x19, 0xF}, - {0x28, 5}, - {0x28, 6}, - {0x28, 7}, - {0x28, 8}, - {0x28, 9}, - {0x28, 0xA}, - {0x28, 0xB}, - {0x28, 0xC}, - {0x28, 0xD}, - {0x28, 0xE}, - {0x28, 0xF}, - {0x39, 5}, - {0x39, 6}, - {0x39, 7}, - {0x39, 8}, - {0x39, 9}, - {0x39, 0xA}, - {0x39, 0xB}, - {0x39, 0xC}, - {0x39, 0xD}, - {0x39, 0xE}, - {0x39, 0xF}, - {0x39, 0x10}, - {0x39, 0x11}, - {8, 0x14}, - {8, 0x15}, - {8, 0x16}, - {8, 0x17}, - {8, 0x18}, - {8, 0x19}, - {8, 0x1A}, - {0x19, 0x14}, - {0x19, 0x15}, - {0x19, 0x16}, - {0x19, 0x17}, - {0x19, 0x18}, - {0x19, 0x19}, - {0x19, 0x1A}, - {0x28, 0x14}, - {0x28, 0x15}, - {0x28, 0x16}, - {0x28, 0x17}, - {0x28, 0x18}, - {0x28, 0x19}, - {0x28, 0x1A}, - {0x28, 0x1B}, - {0x28, 0x1C}, - {0x28, 0x1D}, - {0x28, 0x1E}, - {0x28, 0x1F}, - {0x39, 0x14}, - {0x39, 0x15}, - {0x39, 0x16}, - {0x39, 0x17}, - {0x39, 0x18}, - {0x39, 0x19}, - {0x39, 0x1A}, - {0x39, 0x1B} -}; - -//D:80036E30 -char *mcm_strings[] = { - "move view", - "stan view", - "bond view", - "level", - "region", - "scale", - "play title", - "bond die", - "select anim", - "gun pos", - "flash colour", - "hit colour", - "music", - "sfx", - "invincible", - "visible", - "collisions", - "all guns", - "max ammo", - "display speed", - "background", - "props", - "stan hit", - "stan region", - "stan problems", - "print man pos", - "port close", - "port inf", - "port approx", - "pr room loads", - "show mem use", - "show mem bars", - "grab rgb", - "grab jpeg", - "grab task", - "rnd walk", - "record ramrom", - "record 1", - "record 2", - "record 3", - "replay ramrom", - "save ramrom", - "load ramrom", - "auto y aim", - "auto x aim", - "007", - "agent", - "all", - "fast", - "objectives", - "marg top", - "marg bot", - "marg left", - "marg right", - "marg reset", - "screen size", - "screen pos", - "show patrols", - "intro", - "intro edit", - "intro pos", - "world pos", - "gun key pos", - "vis cvg", - "chr num", - "room blocks", - "profile", - "obj load", - "weapon load", - "joy2 sky edit", - "joy2 hits edit", - "joy2 detail edit", - "explosion info", - "magic fog", - "gun watch pos", - "testing man pos", - "fog" -}; - -//D:80036F64 -s32 debug_render_raster = 2; -//D:80036F68 -s32 debug_freeze_processing = 2; -//D:80036F6C -s32 debug_limit_controller_input = 2; -//D:80036F70 -s32 debug_unknown = 2; -//D:80036F74 -s32 memusage_display_flag = FALSE; -//D:80036F78 -s32 debug_do_draw_bg = TRUE; -//D:80036F7C -s32 debug_do_draw_obj = TRUE; -//D:80036F80 -s32 debug_unknown2 = 1; -//D:80036F84 -s32 debug_stanhit_flag = FALSE; -//D:80036F88 -s32 debug_stanregion_flag = FALSE; -//D:80036F8C -s32 turbo_mode_flag = FALSE; -//D:80036F90 -s32 debug_man_pos_flag = 0; -//D:80036F94 -s32 debug_prroomloads_flag = 0; -//D:80036F98 -s32 debug_joy2skyedit_flag = 0; -//D:80036F9C -s32 debug_joy2hitsedit_flag = 0; -//D:80036FA0 -s32 debug_joy2detailedit_flag = 0; -//D:80036FA4 -s32 debug_explosioninfo_flag = 0; -//D:80036FA8 -s32 debug_VisCVG_flag = 0; -//D:80036FAC -s32 debug_007_unlock_flag = 0; -//D:80036FB0 -s32 debug_enable_agent_levels_flag = 0; -//D:80036FB4 -s32 debug_enable_all_levels_flag = 0; -//D:80036FB8 -s32 debug_chrnum_flag = 0; - -//D:80036FBC -s32 debug_gunwatchpos_flags = 0; -//D:80036FC0 -s32 debug_profile_flag = 0; -//D:80036FC4 -s32 debug_enable_taskgrab_flag = 0; -//D:80036FC8 -s32 debug_testingmanpos_flag = 0; -//D:80036FCC -s32 debug_fast_bond_flag = 0; -//D:80036FD0 -s32 debug_all_obj_complete_flag = 0 ; -//D:80036FD4 -s32 debug_portal_flag = 0; - -//D:80036FD8 -u32 dword_D_80036FD8[] = { - 0x80500000, - 0x40000, - 0x7F000000, - 0x7F100000 -}; - -u32 dword_D_80036FE8[] = { - 0x80600000, - 0x40000, - 0x70000000, - 0x70100000 -}; - -//D:80036FF8 -s32 show_debug_menu_flag = 0; -//D:80036FFC -s32 grab_rgb_screenshot_flag = 0; -//D:80037000 -s32 grab_jpeg_screenshot_flag = 0; -//D:80037004 -s32 player_pos_x = 0; -//D:80037008 -s32 player_pos_y = 0; -//D:8003700C -s32 player_pos_z = 0; - - - -// rodata - - -#ifdef NONMATCHING -void display_debug_menu_text_onscreen(void) -{ - init_debug_menu_values((char *)mcm_strings,mcm_onscreen_positions,mcm_column_groupings); -} -#else -GLOBAL_ASM( -.text -glabel display_debug_menu_text_onscreen -/* 0C4FC0 7F090490 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C4FC4 7F090494 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C4FC8 7F090498 3C048003 */ lui $a0, %hi(mcm_strings) -/* 0C4FCC 7F09049C 3C058003 */ lui $a1, %hi(mcm_onscreen_positions) -/* 0C4FD0 7F0904A0 3C068003 */ lui $a2, %hi(mcm_column_groupings) -/* 0C4FD4 7F0904A4 24C66BA4 */ addiu $a2, %lo(mcm_column_groupings) # addiu $a2, $a2, 0x6ba4 -/* 0C4FD8 7F0904A8 24A56BC8 */ addiu $a1, %lo(mcm_onscreen_positions) # addiu $a1, $a1, 0x6bc8 -/* 0C4FDC 7F0904AC 0FC23F85 */ jal init_debug_menu_values -/* 0C4FE0 7F0904B0 24846E30 */ addiu $a0, %lo(mcm_strings) # addiu $a0, $a0, 0x6e30 -/* 0C4FE4 7F0904B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C4FE8 7F0904B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C4FEC 7F0904BC 03E00008 */ jr $ra -/* 0C4FF0 7F0904C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0904C4(void) { - ? temp_ret; - - // Node 0 - sub_GAME_7F0916F4(); - temp_ret = get_highlighted_debug_option(); - debug_unknown = temp_ret; - debug_freeze_processing = temp_ret; - debug_render_raster = temp_ret; - return temp_ret; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0904C4 -/* 0C4FF4 7F0904C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C4FF8 7F0904C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C4FFC 7F0904CC 0FC245BD */ jal sub_GAME_7F0916F4 -/* 0C5000 7F0904D0 00000000 */ nop -/* 0C5004 7F0904D4 0FC2406C */ jal get_highlighted_debug_option -/* 0C5008 7F0904D8 00000000 */ nop -/* 0C500C 7F0904DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C5010 7F0904E0 3C038003 */ lui $v1, %hi(debug_unknown) -/* 0C5014 7F0904E4 3C048003 */ lui $a0, %hi(debug_freeze_processing) -/* 0C5018 7F0904E8 24846F68 */ addiu $a0, %lo(debug_freeze_processing) # addiu $a0, $a0, 0x6f68 -/* 0C501C 7F0904EC 24636F70 */ addiu $v1, %lo(debug_unknown) # addiu $v1, $v1, 0x6f70 -/* 0C5020 7F0904F0 AC620000 */ sw $v0, ($v1) -/* 0C5024 7F0904F4 AC820000 */ sw $v0, ($a0) -/* 0C5028 7F0904F8 3C018003 */ lui $at, %hi(debug_render_raster) -/* 0C502C 7F0904FC AC226F64 */ sw $v0, %lo(debug_render_raster)($at) -/* 0C5030 7F090500 03E00008 */ jr $ra -/* 0C5034 7F090504 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F090508(void) { - ? temp_ret; - - // Node 0 - maybe_solo_intro_camera_handler(); - temp_ret = get_highlighted_debug_option(); - debug_unknown = temp_ret; - debug_freeze_processing = temp_ret; - debug_render_raster = temp_ret; - return temp_ret; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F090508 -/* 0C5038 7F090508 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C503C 7F09050C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C5040 7F090510 0FC1E928 */ jal maybe_solo_intro_camera_handler -/* 0C5044 7F090514 00000000 */ nop -/* 0C5048 7F090518 0FC2406C */ jal get_highlighted_debug_option -/* 0C504C 7F09051C 00000000 */ nop -/* 0C5050 7F090520 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C5054 7F090524 3C038003 */ lui $v1, %hi(debug_unknown) -/* 0C5058 7F090528 3C048003 */ lui $a0, %hi(debug_freeze_processing) -/* 0C505C 7F09052C 24846F68 */ addiu $a0, %lo(debug_freeze_processing) # addiu $a0, $a0, 0x6f68 -/* 0C5060 7F090530 24636F70 */ addiu $v1, %lo(debug_unknown) # addiu $v1, $v1, 0x6f70 -/* 0C5064 7F090534 AC620000 */ sw $v0, ($v1) -/* 0C5068 7F090538 AC820000 */ sw $v0, ($a0) -/* 0C506C 7F09053C 3C018003 */ lui $at, %hi(debug_render_raster) -/* 0C5070 7F090540 AC226F64 */ sw $v0, %lo(debug_render_raster)($at) -/* 0C5074 7F090544 03E00008 */ jr $ra -/* 0C5078 7F090548 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09054C(void) { - ? temp_ret; - - // Node 0 - maybe_solo_intro_camera_handler(); - temp_ret = get_highlighted_debug_option(); - debug_unknown = temp_ret; - debug_freeze_processing = temp_ret; - debug_render_raster = temp_ret; - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09054C -/* 0C507C 7F09054C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C5080 7F090550 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C5084 7F090554 0FC1E928 */ jal maybe_solo_intro_camera_handler -/* 0C5088 7F090558 00000000 */ nop -/* 0C508C 7F09055C 0FC2406C */ jal get_highlighted_debug_option -/* 0C5090 7F090560 00000000 */ nop -/* 0C5094 7F090564 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C5098 7F090568 3C038003 */ lui $v1, %hi(debug_unknown) -/* 0C509C 7F09056C 3C048003 */ lui $a0, %hi(debug_freeze_processing) -/* 0C50A0 7F090570 24846F68 */ addiu $a0, %lo(debug_freeze_processing) # addiu $a0, $a0, 0x6f68 -/* 0C50A4 7F090574 24636F70 */ addiu $v1, %lo(debug_unknown) # addiu $v1, $v1, 0x6f70 -/* 0C50A8 7F090578 AC620000 */ sw $v0, ($v1) -/* 0C50AC 7F09057C AC820000 */ sw $v0, ($a0) -/* 0C50B0 7F090580 3C018003 */ lui $at, %hi(debug_render_raster) -/* 0C50B4 7F090584 AC226F64 */ sw $v0, %lo(debug_render_raster)($at) -/* 0C50B8 7F090588 03E00008 */ jr $ra -/* 0C50BC 7F09058C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - -void removed_do_debug_profile_flag_false(void) { - return; -} - -void removed_do_debug_profile_flag_true(void) { - return; -} - - - - - - -#ifdef NONMATCHING -void debug_menu_processor(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:800556FC*/ -glabel jpt_debug_menu_options -.word debug_stanview -.word debug_bondview -.word .L7F090798 -.word debug_level -.word .L7F0907BC -.word debug_scale -.word debug_playtitle -.word debug_bonddie -.word debug_selectanim -.word debug_gunpos -.word debug_flashcolor -.word debug_hitcolor -.word debug_music -.word debug_sfx -.word debug_invincible -.word debug_visible -.word debug_collisions -.word debug_allguns -.word debug_maxammo -.word debug_displayspeed -.word debug_dodrawbg -.word debug_dodrawobj -.word debug_stanhit -.word debug_stanregion -.word debug_turbo -.word debug_printmanpos -.word portal_close_inf_approx -.word portal_close_inf_approx -.word portal_close_inf_approx -.word debug_prroomloads -.word debug_showmemuse -.word debug_showmembars -.word debug_grabrgb -.word debug_grabjpeg -.word debug_taskgrab -.word def_7F090770 -.word debug_recordramrom -.word debug_ramrom_record1 -.word debug_ramrom_record2 -.word debug_ramrom_record3 -.word debug_replayramrom -.word debug_saveramrom -.word debug_loadramrom -.word debug_autoyaim -.word debug_autoxaim -.word debug_007 -.word debug_agent -.word debug_all -.word fast_bond_debug -.word debug_objectives -.word def_7F090770 -.word def_7F090770 -.word def_7F090770 -.word def_7F090770 -.word def_7F090770 -.word .L7F090834 -.word debug_screenpos -.word debug_showpatrols -.word debug_intro -.word debug_introedit -.word debug_intropos -.word debug_worldpos -.word debug_chrkeypos -.word debug_viscvg -.word debug_chrnum -.word debug_roomblocks -.word debug_profile -.word debug_objload -.word debug_weaponload -.word debug_joy2skyedit -.word debug_joy2hitsedit -.word debug_joy2detailedit -.word debug_explosioninfo -.word debug_magicfog -.word debug_gunwatchpos -.word debug_testingmanpos -.word debug_fog - -/*D:80055830*/ -glabel jpt_80055830 -.word def_7F090EA8 -.word def_7F090EA8 -.word def_7F090EA8 -.word def_7F090EA8 -.word def_7F090EA8 - -.text -glabel debug_menu_processor -/* 0C50D0 7F0905A0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0C50D4 7F0905A4 3C038003 */ lui $v1, %hi(grab_rgb_screenshot_flag) -/* 0C50D8 7F0905A8 8C636FFC */ lw $v1, %lo(grab_rgb_screenshot_flag)($v1) -/* 0C50DC 7F0905AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0C50E0 7F0905B0 AFA40060 */ sw $a0, 0x60($sp) -/* 0C50E4 7F0905B4 AFA50064 */ sw $a1, 0x64($sp) -/* 0C50E8 7F0905B8 AFA60068 */ sw $a2, 0x68($sp) -/* 0C50EC 7F0905BC 1060000D */ beqz $v1, .L7F0905F4 -/* 0C50F0 7F0905C0 AFA7006C */ sw $a3, 0x6c($sp) -/* 0C50F4 7F0905C4 38620003 */ xori $v0, $v1, 3 -/* 0C50F8 7F0905C8 24630001 */ addiu $v1, $v1, 1 -/* 0C50FC 7F0905CC 3C018003 */ lui $at, %hi(grab_rgb_screenshot_flag) -/* 0C5100 7F0905D0 14400008 */ bnez $v0, .L7F0905F4 -/* 0C5104 7F0905D4 AC236FFC */ sw $v1, %lo(grab_rgb_screenshot_flag)($at) -/* 0C5108 7F0905D8 0C0012ED */ jal indy_grab_rgb_32bit -/* 0C510C 7F0905DC 00000000 */ nop -/* 0C5110 7F0905E0 3C018003 */ lui $at, %hi(grab_rgb_screenshot_flag) -/* 0C5114 7F0905E4 0C000F00 */ jal set_coloroutputmode_16bit -/* 0C5118 7F0905E8 AC206FFC */ sw $zero, %lo(grab_rgb_screenshot_flag)($at) -/* 0C511C 7F0905EC 0C0038B4 */ jal osViBlack -/* 0C5120 7F0905F0 00002025 */ move $a0, $zero -.L7F0905F4: -/* 0C5124 7F0905F4 3C038003 */ lui $v1, %hi(grab_jpeg_screenshot_flag) -/* 0C5128 7F0905F8 8C637000 */ lw $v1, %lo(grab_jpeg_screenshot_flag)($v1) -/* 0C512C 7F0905FC 3C018003 */ lui $at, %hi(grab_jpeg_screenshot_flag) -/* 0C5130 7F090600 1060000B */ beqz $v1, .L7F090630 -/* 0C5134 7F090604 38620003 */ xori $v0, $v1, 3 -/* 0C5138 7F090608 24630001 */ addiu $v1, $v1, 1 -/* 0C513C 7F09060C 14400008 */ bnez $v0, .L7F090630 -/* 0C5140 7F090610 AC237000 */ sw $v1, %lo(grab_jpeg_screenshot_flag)($at) -/* 0C5144 7F090614 0C001235 */ jal indy_grab_jpg_32bit -/* 0C5148 7F090618 00000000 */ nop -/* 0C514C 7F09061C 3C018003 */ lui $at, %hi(grab_jpeg_screenshot_flag) -/* 0C5150 7F090620 0C000F00 */ jal set_coloroutputmode_16bit -/* 0C5154 7F090624 AC207000 */ sw $zero, %lo(grab_jpeg_screenshot_flag)($at) -/* 0C5158 7F090628 0C0038B4 */ jal osViBlack -/* 0C515C 7F09062C 00002025 */ move $a0, $zero -.L7F090630: -/* 0C5160 7F090630 3C0E8003 */ lui $t6, %hi(show_debug_menu_flag) -/* 0C5164 7F090634 8DCE6FF8 */ lw $t6, %lo(show_debug_menu_flag)($t6) -/* 0C5168 7F090638 3C048003 */ lui $a0, %hi(debug_limit_controller_input) -/* 0C516C 7F09063C 3C018003 */ lui $at, %hi(show_debug_menu_flag) -/* 0C5170 7F090640 15C00010 */ bnez $t6, .L7F090684 -/* 0C5174 7F090644 24846F6C */ addiu $a0, %lo(debug_limit_controller_input) # addiu $a0, $a0, 0x6f6c -/* 0C5178 7F090648 97A4006A */ lhu $a0, 0x6a($sp) -/* 0C517C 7F09064C 30830008 */ andi $v1, $a0, 8 -/* 0C5180 7F090650 0003102B */ sltu $v0, $zero, $v1 -/* 0C5184 7F090654 10400004 */ beqz $v0, .L7F090668 -/* 0C5188 7F090658 00000000 */ nop -/* 0C518C 7F09065C 30820004 */ andi $v0, $a0, 4 -/* 0C5190 7F090660 0002C02B */ sltu $t8, $zero, $v0 -/* 0C5194 7F090664 03001025 */ move $v0, $t8 -.L7F090668: -/* 0C5198 7F090668 10400003 */ beqz $v0, .L7F090678 -/* 0C519C 7F09066C AC226FF8 */ sw $v0, %lo(show_debug_menu_flag)($at) -/* 0C51A0 7F090670 0FC301F5 */ jal stop_recording_ramrom -/* 0C51A4 7F090674 00000000 */ nop -.L7F090678: -/* 0C51A8 7F090678 3C028003 */ lui $v0, %hi(show_debug_menu_flag) -/* 0C51AC 7F09067C 1000021B */ b .L7F090EEC -/* 0C51B0 7F090680 8C426FF8 */ lw $v0, %lo(show_debug_menu_flag)($v0) -.L7F090684: -/* 0C51B4 7F090684 8C820000 */ lw $v0, ($a0) -/* 0C51B8 7F090688 2403FFFE */ li $v1, -2 -/* 0C51BC 7F09068C 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C51C0 7F090690 50620004 */ beql $v1, $v0, .L7F0906A4 -/* 0C51C4 7F090694 97B9006E */ lhu $t9, 0x6e($sp) -/* 0C51C8 7F090698 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -/* 0C51CC 7F09069C AC830000 */ sw $v1, ($a0) -/* 0C51D0 7F0906A0 97B9006E */ lhu $t9, 0x6e($sp) -.L7F0906A4: -/* 0C51D4 7F0906A4 33280200 */ andi $t0, $t9, 0x200 -/* 0C51D8 7F0906A8 11000007 */ beqz $t0, .L7F0906C8 -/* 0C51DC 7F0906AC AFB90018 */ sw $t9, 0x18($sp) -/* 0C51E0 7F0906B0 0FC240E7 */ jal sub_GAME_7F09039C -/* 0C51E4 7F0906B4 00000000 */ nop -/* 0C51E8 7F0906B8 3C048003 */ lui $a0, %hi(debug_limit_controller_input) -/* 0C51EC 7F0906BC 24846F6C */ addiu $a0, %lo(debug_limit_controller_input) # addiu $a0, $a0, 0x6f6c -/* 0C51F0 7F0906C0 2403FFFE */ li $v1, -2 -/* 0C51F4 7F0906C4 AC830000 */ sw $v1, ($a0) -.L7F0906C8: -/* 0C51F8 7F0906C8 8FA90018 */ lw $t1, 0x18($sp) -/* 0C51FC 7F0906CC 312A0100 */ andi $t2, $t1, 0x100 -/* 0C5200 7F0906D0 51400008 */ beql $t2, $zero, .L7F0906F4 -/* 0C5204 7F0906D4 8FAB0018 */ lw $t3, 0x18($sp) -/* 0C5208 7F0906D8 0FC240B0 */ jal sub_GAME_7F0902C0 -/* 0C520C 7F0906DC 00000000 */ nop -/* 0C5210 7F0906E0 3C048003 */ lui $a0, %hi(debug_limit_controller_input) -/* 0C5214 7F0906E4 24846F6C */ addiu $a0, %lo(debug_limit_controller_input) # addiu $a0, $a0, 0x6f6c -/* 0C5218 7F0906E8 2403FFFE */ li $v1, -2 -/* 0C521C 7F0906EC AC830000 */ sw $v1, ($a0) -/* 0C5220 7F0906F0 8FAB0018 */ lw $t3, 0x18($sp) -.L7F0906F4: -/* 0C5224 7F0906F4 316C0800 */ andi $t4, $t3, 0x800 -/* 0C5228 7F0906F8 51800008 */ beql $t4, $zero, .L7F09071C -/* 0C522C 7F0906FC 8FAD0018 */ lw $t5, 0x18($sp) -/* 0C5230 7F090700 0FC24072 */ jal sub_GAME_7F0901C8 -/* 0C5234 7F090704 00000000 */ nop -/* 0C5238 7F090708 3C048003 */ lui $a0, %hi(debug_limit_controller_input) -/* 0C523C 7F09070C 24846F6C */ addiu $a0, %lo(debug_limit_controller_input) # addiu $a0, $a0, 0x6f6c -/* 0C5240 7F090710 2403FFFE */ li $v1, -2 -/* 0C5244 7F090714 AC830000 */ sw $v1, ($a0) -/* 0C5248 7F090718 8FAD0018 */ lw $t5, 0x18($sp) -.L7F09071C: -/* 0C524C 7F09071C 31AE0400 */ andi $t6, $t5, 0x400 -/* 0C5250 7F090720 51C00008 */ beql $t6, $zero, .L7F090744 -/* 0C5254 7F090724 8FAF0018 */ lw $t7, 0x18($sp) -/* 0C5258 7F090728 0FC24092 */ jal sub_GAME_7F090248 -/* 0C525C 7F09072C 00000000 */ nop -/* 0C5260 7F090730 3C048003 */ lui $a0, %hi(debug_limit_controller_input) -/* 0C5264 7F090734 24846F6C */ addiu $a0, %lo(debug_limit_controller_input) # addiu $a0, $a0, 0x6f6c -/* 0C5268 7F090738 2403FFFE */ li $v1, -2 -/* 0C526C 7F09073C AC830000 */ sw $v1, ($a0) -/* 0C5270 7F090740 8FAF0018 */ lw $t7, 0x18($sp) -.L7F090744: -/* 0C5274 7F090744 31F89000 */ andi $t8, $t7, 0x9000 -/* 0C5278 7F090748 530001CB */ beql $t8, $zero, .L7F090E78 -/* 0C527C 7F09074C 8FB80018 */ lw $t8, 0x18($sp) -/* 0C5280 7F090750 0FC2406C */ jal get_highlighted_debug_option -/* 0C5284 7F090754 00000000 */ nop -/* 0C5288 7F090758 2C41004D */ sltiu $at, $v0, 0x4d -/* 0C528C 7F09075C 102001C5 */ beqz $at, .L7F090E74 -/* 0C5290 7F090760 0002C880 */ sll $t9, $v0, 2 -/* 0C5294 7F090764 3C018005 */ lui $at, %hi(jpt_debug_menu_options) -/* 0C5298 7F090768 00390821 */ addu $at, $at, $t9 -/* 0C529C 7F09076C 8C3956FC */ lw $t9, %lo(jpt_debug_menu_options)($at) -/* 0C52A0 7F090770 03200008 */ jr $t9 -/* 0C52A4 7F090774 00000000 */ nop -debug_stanview: -/* 0C52A8 7F090778 0FC24131 */ jal sub_GAME_7F0904C4 -/* 0C52AC 7F09077C 00000000 */ nop -/* 0C52B0 7F090780 100001BD */ b .L7F090E78 -/* 0C52B4 7F090784 8FB80018 */ lw $t8, 0x18($sp) -debug_bondview: -/* 0C52B8 7F090788 0FC24142 */ jal sub_GAME_7F090508 -/* 0C52BC 7F09078C 00000000 */ nop -/* 0C52C0 7F090790 100001B9 */ b .L7F090E78 -/* 0C52C4 7F090794 8FB80018 */ lw $t8, 0x18($sp) -.L7F090798: -/* 0C52C8 7F090798 0FC24153 */ jal sub_GAME_7F09054C -/* 0C52CC 7F09079C 00000000 */ nop -/* 0C52D0 7F0907A0 100001B5 */ b .L7F090E78 -/* 0C52D4 7F0907A4 8FB80018 */ lw $t8, 0x18($sp) -debug_level: -/* 0C52D8 7F0907A8 0FC2406C */ jal get_highlighted_debug_option -/* 0C52DC 7F0907AC 00000000 */ nop -/* 0C52E0 7F0907B0 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C52E4 7F0907B4 100001AF */ b .L7F090E74 -/* 0C52E8 7F0907B8 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -.L7F0907BC: -/* 0C52EC 7F0907BC 0FC2406C */ jal get_highlighted_debug_option -/* 0C52F0 7F0907C0 00000000 */ nop -/* 0C52F4 7F0907C4 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C52F8 7F0907C8 100001AA */ b .L7F090E74 -/* 0C52FC 7F0907CC AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_scale: -/* 0C5300 7F0907D0 0FC2406C */ jal get_highlighted_debug_option -/* 0C5304 7F0907D4 00000000 */ nop -/* 0C5308 7F0907D8 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C530C 7F0907DC 100001A5 */ b .L7F090E74 -/* 0C5310 7F0907E0 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_selectanim: -/* 0C5314 7F0907E4 0FC2406C */ jal get_highlighted_debug_option -/* 0C5318 7F0907E8 00000000 */ nop -/* 0C531C 7F0907EC 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C5320 7F0907F0 100001A0 */ b .L7F090E74 -/* 0C5324 7F0907F4 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_gunpos: -/* 0C5328 7F0907F8 0FC2406C */ jal get_highlighted_debug_option -/* 0C532C 7F0907FC 00000000 */ nop -/* 0C5330 7F090800 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C5334 7F090804 1000019B */ b .L7F090E74 -/* 0C5338 7F090808 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_flashcolor: -/* 0C533C 7F09080C 0FC2406C */ jal get_highlighted_debug_option -/* 0C5340 7F090810 00000000 */ nop -/* 0C5344 7F090814 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C5348 7F090818 10000196 */ b .L7F090E74 -/* 0C534C 7F09081C AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_hitcolor: -/* 0C5350 7F090820 0FC2406C */ jal get_highlighted_debug_option -/* 0C5354 7F090824 00000000 */ nop -/* 0C5358 7F090828 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C535C 7F09082C 10000191 */ b .L7F090E74 -/* 0C5360 7F090830 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -.L7F090834: -/* 0C5364 7F090834 0FC2406C */ jal get_highlighted_debug_option -/* 0C5368 7F090838 00000000 */ nop -/* 0C536C 7F09083C 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C5370 7F090840 1000018C */ b .L7F090E74 -/* 0C5374 7F090844 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_screenpos: -/* 0C5378 7F090848 0FC2406C */ jal get_highlighted_debug_option -/* 0C537C 7F09084C 00000000 */ nop -/* 0C5380 7F090850 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C5384 7F090854 10000187 */ b .L7F090E74 -/* 0C5388 7F090858 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_music: -/* 0C538C 7F09085C 0FC2406C */ jal get_highlighted_debug_option -/* 0C5390 7F090860 00000000 */ nop -/* 0C5394 7F090864 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C5398 7F090868 10000182 */ b .L7F090E74 -/* 0C539C 7F09086C AC226F70 */ sw $v0, %lo(debug_unknown)($at) -portal_close_inf_approx: -/* 0C53A0 7F090870 3C028003 */ lui $v0, %hi(debug_portal_flag) -/* 0C53A4 7F090874 24426FD4 */ addiu $v0, %lo(debug_portal_flag) # addiu $v0, $v0, 0x6fd4 -/* 0C53A8 7F090878 8C480000 */ lw $t0, ($v0) -/* 0C53AC 7F09087C 39090001 */ xori $t1, $t0, 1 -/* 0C53B0 7F090880 1000017C */ b .L7F090E74 -/* 0C53B4 7F090884 AC490000 */ sw $t1, ($v0) -debug_sfx: -/* 0C53B8 7F090888 0FC2406C */ jal get_highlighted_debug_option -/* 0C53BC 7F09088C 00000000 */ nop -/* 0C53C0 7F090890 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C53C4 7F090894 10000177 */ b .L7F090E74 -/* 0C53C8 7F090898 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_invincible: -/* 0C53CC 7F09089C 0FC227D6 */ jal get_bondata_invincible_flag -/* 0C53D0 7F0908A0 00000000 */ nop -/* 0C53D4 7F0908A4 0FC227D2 */ jal set_bondata_invincible_flag -/* 0C53D8 7F0908A8 2C440001 */ sltiu $a0, $v0, 1 -/* 0C53DC 7F0908AC 10000172 */ b .L7F090E78 -/* 0C53E0 7F0908B0 8FB80018 */ lw $t8, 0x18($sp) -debug_visible: -/* 0C53E4 7F0908B4 0FC227DD */ jal get_invisible_to_guards_flag -/* 0C53E8 7F0908B8 00000000 */ nop -/* 0C53EC 7F0908BC 0FC227DA */ jal set_invisible_to_guards_flag -/* 0C53F0 7F0908C0 2C440001 */ sltiu $a0, $v0, 1 -/* 0C53F4 7F0908C4 1000016C */ b .L7F090E78 -/* 0C53F8 7F0908C8 8FB80018 */ lw $t8, 0x18($sp) -debug_collisions: -/* 0C53FC 7F0908CC 0FC227E3 */ jal get_obj_collision_flag -/* 0C5400 7F0908D0 00000000 */ nop -/* 0C5404 7F0908D4 0FC227E0 */ jal set_obj_collision_flag -/* 0C5408 7F0908D8 2C440001 */ sltiu $a0, $v0, 1 -/* 0C540C 7F0908DC 10000166 */ b .L7F090E78 -/* 0C5410 7F0908E0 8FB80018 */ lw $t8, 0x18($sp) -debug_allguns: -/* 0C5414 7F0908E4 0FC26919 */ jal get_num_players -/* 0C5418 7F0908E8 AFA0005C */ sw $zero, 0x5c($sp) -/* 0C541C 7F0908EC 58400162 */ blezl $v0, .L7F090E78 -/* 0C5420 7F0908F0 8FB80018 */ lw $t8, 0x18($sp) -.L7F0908F4: -/* 0C5424 7F0908F4 0FC26C43 */ jal set_cur_player -/* 0C5428 7F0908F8 8FA4005C */ lw $a0, 0x5c($sp) -/* 0C542C 7F0908FC 0FC230AB */ jal get_BONDdata_allguns_flag -/* 0C5430 7F090900 00000000 */ nop -/* 0C5434 7F090904 0FC230A7 */ jal set_BONDdata_allguns_flag -/* 0C5438 7F090908 2C440001 */ sltiu $a0, $v0, 1 -/* 0C543C 7F09090C 8FAA005C */ lw $t2, 0x5c($sp) -/* 0C5440 7F090910 254B0001 */ addiu $t3, $t2, 1 -/* 0C5444 7F090914 0FC26919 */ jal get_num_players -/* 0C5448 7F090918 AFAB005C */ sw $t3, 0x5c($sp) -/* 0C544C 7F09091C 8FAC005C */ lw $t4, 0x5c($sp) -/* 0C5450 7F090920 0182082A */ slt $at, $t4, $v0 -/* 0C5454 7F090924 1420FFF3 */ bnez $at, .L7F0908F4 -/* 0C5458 7F090928 00000000 */ nop -/* 0C545C 7F09092C 10000152 */ b .L7F090E78 -/* 0C5460 7F090930 8FB80018 */ lw $t8, 0x18($sp) -debug_maxammo: -/* 0C5464 7F090934 0FC26C54 */ jal get_cur_playernum -/* 0C5468 7F090938 00000000 */ nop -/* 0C546C 7F09093C AFA20054 */ sw $v0, 0x54($sp) -/* 0C5470 7F090940 0FC26919 */ jal get_num_players -/* 0C5474 7F090944 AFA00058 */ sw $zero, 0x58($sp) -/* 0C5478 7F090948 1840000D */ blez $v0, .L7F090980 -/* 0C547C 7F09094C 00000000 */ nop -.L7F090950: -/* 0C5480 7F090950 0FC26C43 */ jal set_cur_player -/* 0C5484 7F090954 8FA40058 */ lw $a0, 0x58($sp) -/* 0C5488 7F090958 0FC1A4BC */ jal set_max_ammo_for_cur_player -/* 0C548C 7F09095C 00000000 */ nop -/* 0C5490 7F090960 8FAD0058 */ lw $t5, 0x58($sp) -/* 0C5494 7F090964 25AE0001 */ addiu $t6, $t5, 1 -/* 0C5498 7F090968 0FC26919 */ jal get_num_players -/* 0C549C 7F09096C AFAE0058 */ sw $t6, 0x58($sp) -/* 0C54A0 7F090970 8FAF0058 */ lw $t7, 0x58($sp) -/* 0C54A4 7F090974 01E2082A */ slt $at, $t7, $v0 -/* 0C54A8 7F090978 1420FFF5 */ bnez $at, .L7F090950 -/* 0C54AC 7F09097C 00000000 */ nop -.L7F090980: -/* 0C54B0 7F090980 0FC26C43 */ jal set_cur_player -/* 0C54B4 7F090984 8FA40054 */ lw $a0, 0x54($sp) -/* 0C54B8 7F090988 1000013B */ b .L7F090E78 -/* 0C54BC 7F09098C 8FB80018 */ lw $t8, 0x18($sp) -debug_displayspeed: -/* 0C54C0 7F090990 3C028003 */ lui $v0, %hi(memusage_display_flag) -/* 0C54C4 7F090994 24426F74 */ addiu $v0, %lo(memusage_display_flag) # addiu $v0, $v0, 0x6f74 -/* 0C54C8 7F090998 8C580000 */ lw $t8, ($v0) -/* 0C54CC 7F09099C 3B190001 */ xori $t9, $t8, 1 -/* 0C54D0 7F0909A0 17200134 */ bnez $t9, .L7F090E74 -/* 0C54D4 7F0909A4 AC590000 */ sw $t9, ($v0) -/* 0C54D8 7F0909A8 0C002BC0 */ jal blank_debug_buffer_chars -/* 0C54DC 7F0909AC 00000000 */ nop -/* 0C54E0 7F0909B0 10000131 */ b .L7F090E78 -/* 0C54E4 7F0909B4 8FB80018 */ lw $t8, 0x18($sp) -debug_dodrawbg: -/* 0C54E8 7F0909B8 3C028003 */ lui $v0, %hi(debug_do_draw_bg) -/* 0C54EC 7F0909BC 24426F78 */ addiu $v0, %lo(debug_do_draw_bg) # addiu $v0, $v0, 0x6f78 -/* 0C54F0 7F0909C0 8C490000 */ lw $t1, ($v0) -/* 0C54F4 7F0909C4 392A0001 */ xori $t2, $t1, 1 -/* 0C54F8 7F0909C8 1000012A */ b .L7F090E74 -/* 0C54FC 7F0909CC AC4A0000 */ sw $t2, ($v0) -debug_dodrawobj: -/* 0C5500 7F0909D0 3C028003 */ lui $v0, %hi(debug_do_draw_obj) -/* 0C5504 7F0909D4 24426F7C */ addiu $v0, %lo(debug_do_draw_obj) # addiu $v0, $v0, 0x6f7c -/* 0C5508 7F0909D8 8C4B0000 */ lw $t3, ($v0) -/* 0C550C 7F0909DC 396C0001 */ xori $t4, $t3, 1 -/* 0C5510 7F0909E0 10000124 */ b .L7F090E74 -/* 0C5514 7F0909E4 AC4C0000 */ sw $t4, ($v0) -debug_stanhit: -/* 0C5518 7F0909E8 3C028003 */ lui $v0, %hi(debug_stanhit_flag) -/* 0C551C 7F0909EC 24426F84 */ addiu $v0, %lo(debug_stanhit_flag) # addiu $v0, $v0, 0x6f84 -/* 0C5520 7F0909F0 8C4D0000 */ lw $t5, ($v0) -/* 0C5524 7F0909F4 39AE0001 */ xori $t6, $t5, 1 -/* 0C5528 7F0909F8 1000011E */ b .L7F090E74 -/* 0C552C 7F0909FC AC4E0000 */ sw $t6, ($v0) -debug_stanregion: -/* 0C5530 7F090A00 3C028003 */ lui $v0, %hi(debug_stanregion_flag) -/* 0C5534 7F090A04 24426F88 */ addiu $v0, %lo(debug_stanregion_flag) # addiu $v0, $v0, 0x6f88 -/* 0C5538 7F090A08 8C4F0000 */ lw $t7, ($v0) -/* 0C553C 7F090A0C 39F80001 */ xori $t8, $t7, 1 -/* 0C5540 7F090A10 10000118 */ b .L7F090E74 -/* 0C5544 7F090A14 AC580000 */ sw $t8, ($v0) -debug_turbo: -/* 0C5548 7F090A18 3C028003 */ lui $v0, %hi(turbo_mode_flag) -/* 0C554C 7F090A1C 24426F8C */ addiu $v0, %lo(turbo_mode_flag) # addiu $v0, $v0, 0x6f8c -/* 0C5550 7F090A20 8C590000 */ lw $t9, ($v0) -/* 0C5554 7F090A24 3B280001 */ xori $t0, $t9, 1 -/* 0C5558 7F090A28 10000112 */ b .L7F090E74 -/* 0C555C 7F090A2C AC480000 */ sw $t0, ($v0) -debug_printmanpos: -/* 0C5560 7F090A30 3C028003 */ lui $v0, %hi(debug_man_pos_flag) -/* 0C5564 7F090A34 24426F90 */ addiu $v0, %lo(debug_man_pos_flag) # addiu $v0, $v0, 0x6f90 -/* 0C5568 7F090A38 8C490000 */ lw $t1, ($v0) -/* 0C556C 7F090A3C 392A0001 */ xori $t2, $t1, 1 -/* 0C5570 7F090A40 1000010C */ b .L7F090E74 -/* 0C5574 7F090A44 AC4A0000 */ sw $t2, ($v0) -debug_testingmanpos: -/* 0C5578 7F090A48 3C028003 */ lui $v0, %hi(debug_testingmanpos_flag) -/* 0C557C 7F090A4C 24426FC8 */ addiu $v0, %lo(debug_testingmanpos_flag) # addiu $v0, $v0, 0x6fc8 -/* 0C5580 7F090A50 8C4B0000 */ lw $t3, ($v0) -/* 0C5584 7F090A54 396C0001 */ xori $t4, $t3, 1 -/* 0C5588 7F090A58 10000106 */ b .L7F090E74 -/* 0C558C 7F090A5C AC4C0000 */ sw $t4, ($v0) -debug_playtitle: -/* 0C5590 7F090A60 0C001A54 */ jal set_loaded_stage -/* 0C5594 7F090A64 2404005A */ li $a0, 90 -/* 0C5598 7F090A68 10000103 */ b .L7F090E78 -/* 0C559C 7F090A6C 8FB80018 */ lw $t8, 0x18($sp) -debug_bonddie: -/* 0C55A0 7F090A70 0FC225EA */ jal kill_current_player -/* 0C55A4 7F090A74 00000000 */ nop -/* 0C55A8 7F090A78 100000FF */ b .L7F090E78 -/* 0C55AC 7F090A7C 8FB80018 */ lw $t8, 0x18($sp) -debug_prroomloads: -/* 0C55B0 7F090A80 3C028003 */ lui $v0, %hi(debug_prroomloads_flag) -/* 0C55B4 7F090A84 24426F94 */ addiu $v0, %lo(debug_prroomloads_flag) # addiu $v0, $v0, 0x6f94 -/* 0C55B8 7F090A88 8C4D0000 */ lw $t5, ($v0) -/* 0C55BC 7F090A8C 39AE0001 */ xori $t6, $t5, 1 -/* 0C55C0 7F090A90 100000F8 */ b .L7F090E74 -/* 0C55C4 7F090A94 AC4E0000 */ sw $t6, ($v0) -debug_showmemuse: -/* 0C55C8 7F090A98 0C0017FD */ jal enable_show_mem_use_flag -/* 0C55CC 7F090A9C 00000000 */ nop -/* 0C55D0 7F090AA0 100000F5 */ b .L7F090E78 -/* 0C55D4 7F090AA4 8FB80018 */ lw $t8, 0x18($sp) -debug_showmembars: -/* 0C55D8 7F090AA8 0C001801 */ jal mem_bars_flag_toggle -/* 0C55DC 7F090AAC 00000000 */ nop -/* 0C55E0 7F090AB0 100000F1 */ b .L7F090E78 -/* 0C55E4 7F090AB4 8FB80018 */ lw $t8, 0x18($sp) -debug_grabrgb: -/* 0C55E8 7F090AB8 24030001 */ li $v1, 1 -/* 0C55EC 7F090ABC 3C018003 */ lui $at, %hi(grab_rgb_screenshot_flag) -/* 0C55F0 7F090AC0 AC236FFC */ sw $v1, %lo(grab_rgb_screenshot_flag)($at) -/* 0C55F4 7F090AC4 0C0038B4 */ jal osViBlack -/* 0C55F8 7F090AC8 24040001 */ li $a0, 1 -/* 0C55FC 7F090ACC 0C000F04 */ jal set_coloroutputmode_32bit -/* 0C5600 7F090AD0 00000000 */ nop -/* 0C5604 7F090AD4 100000E8 */ b .L7F090E78 -/* 0C5608 7F090AD8 8FB80018 */ lw $t8, 0x18($sp) -debug_grabjpeg: -/* 0C560C 7F090ADC 24030001 */ li $v1, 1 -/* 0C5610 7F090AE0 3C018003 */ lui $at, %hi(grab_jpeg_screenshot_flag) -/* 0C5614 7F090AE4 AC237000 */ sw $v1, %lo(grab_jpeg_screenshot_flag)($at) -/* 0C5618 7F090AE8 0C0038B4 */ jal osViBlack -/* 0C561C 7F090AEC 24040001 */ li $a0, 1 -/* 0C5620 7F090AF0 0C000F04 */ jal set_coloroutputmode_32bit -/* 0C5624 7F090AF4 00000000 */ nop -/* 0C5628 7F090AF8 100000DF */ b .L7F090E78 -/* 0C562C 7F090AFC 8FB80018 */ lw $t8, 0x18($sp) -debug_taskgrab: -/* 0C5630 7F090B00 3C028003 */ lui $v0, %hi(debug_enable_taskgrab_flag) -/* 0C5634 7F090B04 24426FC4 */ addiu $v0, %lo(debug_enable_taskgrab_flag) # addiu $v0, $v0, 0x6fc4 -/* 0C5638 7F090B08 8C4F0000 */ lw $t7, ($v0) -/* 0C563C 7F090B0C 39F80001 */ xori $t8, $t7, 1 -/* 0C5640 7F090B10 100000D8 */ b .L7F090E74 -/* 0C5644 7F090B14 AC580000 */ sw $t8, ($v0) -debug_recordramrom: -/* 0C5648 7F090B18 0FC301EF */ jal setRamRomRecordSlot -/* 0C564C 7F090B1C 00002025 */ move $a0, $zero -/* 0C5650 7F090B20 100000D5 */ b .L7F090E78 -/* 0C5654 7F090B24 8FB80018 */ lw $t8, 0x18($sp) -debug_ramrom_record1: -/* 0C5658 7F090B28 0FC301EF */ jal setRamRomRecordSlot -/* 0C565C 7F090B2C 24040001 */ li $a0, 1 -/* 0C5660 7F090B30 100000D1 */ b .L7F090E78 -/* 0C5664 7F090B34 8FB80018 */ lw $t8, 0x18($sp) -debug_ramrom_record2: -/* 0C5668 7F090B38 0FC301EF */ jal setRamRomRecordSlot -/* 0C566C 7F090B3C 24040002 */ li $a0, 2 -/* 0C5670 7F090B40 100000CD */ b .L7F090E78 -/* 0C5674 7F090B44 8FB80018 */ lw $t8, 0x18($sp) -debug_ramrom_record3: -/* 0C5678 7F090B48 0FC301EF */ jal setRamRomRecordSlot -/* 0C567C 7F090B4C 24040003 */ li $a0, 3 -/* 0C5680 7F090B50 100000C9 */ b .L7F090E78 -/* 0C5684 7F090B54 8FB80018 */ lw $t8, 0x18($sp) -debug_replayramrom: -/* 0C5688 7F090B58 0FC3022A */ jal replay_recorded_ramrom_from_indy -/* 0C568C 7F090B5C 00000000 */ nop -/* 0C5690 7F090B60 100000C5 */ b .L7F090E78 -/* 0C5694 7F090B64 8FB80018 */ lw $t8, 0x18($sp) -debug_saveramrom: -/* 0C5698 7F090B68 0FC2FF58 */ jal save_ramrom_to_devtool -/* 0C569C 7F090B6C 00000000 */ nop -/* 0C56A0 7F090B70 100000C1 */ b .L7F090E78 -/* 0C56A4 7F090B74 8FB80018 */ lw $t8, 0x18($sp) -debug_loadramrom: -/* 0C56A8 7F090B78 0FC2FF80 */ jal load_ramrom_from_devtool -/* 0C56AC 7F090B7C 00000000 */ nop -/* 0C56B0 7F090B80 100000BD */ b .L7F090E78 -/* 0C56B4 7F090B84 8FB80018 */ lw $t8, 0x18($sp) -debug_autoyaim: -/* 0C56B8 7F090B88 0FC1F160 */ jal get_BONDdata_autoaim_y -/* 0C56BC 7F090B8C 00000000 */ nop -/* 0C56C0 7F090B90 0FC1F15C */ jal set_BONDdata_autoaim_y -/* 0C56C4 7F090B94 2C440001 */ sltiu $a0, $v0, 1 -/* 0C56C8 7F090B98 100000B7 */ b .L7F090E78 -/* 0C56CC 7F090B9C 8FB80018 */ lw $t8, 0x18($sp) -debug_autoxaim: -/* 0C56D0 7F090BA0 0FC1F19A */ jal get_BONDdata_autoaim_x -/* 0C56D4 7F090BA4 00000000 */ nop -/* 0C56D8 7F090BA8 0FC1F196 */ jal set_BONDdata_autoaim_x -/* 0C56DC 7F090BAC 2C440001 */ sltiu $a0, $v0, 1 -/* 0C56E0 7F090BB0 100000B1 */ b .L7F090E78 -/* 0C56E4 7F090BB4 8FB80018 */ lw $t8, 0x18($sp) -debug_007: -/* 0C56E8 7F090BB8 3C028003 */ lui $v0, %hi(debug_007_unlock_flag) -/* 0C56EC 7F090BBC 24426FAC */ addiu $v0, %lo(debug_007_unlock_flag) # addiu $v0, $v0, 0x6fac -/* 0C56F0 7F090BC0 8C590000 */ lw $t9, ($v0) -/* 0C56F4 7F090BC4 3B280001 */ xori $t0, $t9, 1 -/* 0C56F8 7F090BC8 100000AA */ b .L7F090E74 -/* 0C56FC 7F090BCC AC480000 */ sw $t0, ($v0) -debug_agent: -/* 0C5700 7F090BD0 3C028003 */ lui $v0, %hi(debug_enable_agent_levels_flag) -/* 0C5704 7F090BD4 24426FB0 */ addiu $v0, %lo(debug_enable_agent_levels_flag) # addiu $v0, $v0, 0x6fb0 -/* 0C5708 7F090BD8 8C490000 */ lw $t1, ($v0) -/* 0C570C 7F090BDC 392A0001 */ xori $t2, $t1, 1 -/* 0C5710 7F090BE0 100000A4 */ b .L7F090E74 -/* 0C5714 7F090BE4 AC4A0000 */ sw $t2, ($v0) -debug_all: -/* 0C5718 7F090BE8 3C028003 */ lui $v0, %hi(debug_enable_all_levels_flag) -/* 0C571C 7F090BEC 24426FB4 */ addiu $v0, %lo(debug_enable_all_levels_flag) # addiu $v0, $v0, 0x6fb4 -/* 0C5720 7F090BF0 8C4B0000 */ lw $t3, ($v0) -/* 0C5724 7F090BF4 396C0001 */ xori $t4, $t3, 1 -/* 0C5728 7F090BF8 1000009E */ b .L7F090E74 -/* 0C572C 7F090BFC AC4C0000 */ sw $t4, ($v0) -fast_bond_debug: -/* 0C5730 7F090C00 3C028003 */ lui $v0, %hi(debug_fast_bond_flag) -/* 0C5734 7F090C04 24426FCC */ addiu $v0, %lo(debug_fast_bond_flag) # addiu $v0, $v0, 0x6fcc -/* 0C5738 7F090C08 8C4D0000 */ lw $t5, ($v0) -/* 0C573C 7F090C0C 39AE0001 */ xori $t6, $t5, 1 -/* 0C5740 7F090C10 10000098 */ b .L7F090E74 -/* 0C5744 7F090C14 AC4E0000 */ sw $t6, ($v0) -debug_objectives: -/* 0C5748 7F090C18 3C028003 */ lui $v0, %hi(debug_all_obj_complete_flag) -/* 0C574C 7F090C1C 24426FD0 */ addiu $v0, %lo(debug_all_obj_complete_flag) # addiu $v0, $v0, 0x6fd0 -/* 0C5750 7F090C20 8C4F0000 */ lw $t7, ($v0) -/* 0C5754 7F090C24 39F80001 */ xori $t8, $t7, 1 -/* 0C5758 7F090C28 10000092 */ b .L7F090E74 -/* 0C575C 7F090C2C AC580000 */ sw $t8, ($v0) -debug_showpatrols: -/* 0C5760 7F090C30 0FC07D5A */ jal get_show_patrols_flag -/* 0C5764 7F090C34 00000000 */ nop -/* 0C5768 7F090C38 0FC07D57 */ jal set_show_patrols_flag -/* 0C576C 7F090C3C 2C440001 */ sltiu $a0, $v0, 1 -/* 0C5770 7F090C40 1000008D */ b .L7F090E78 -/* 0C5774 7F090C44 8FB80018 */ lw $t8, 0x18($sp) -debug_intro: -/* 0C5778 7F090C48 0FC1EA6E */ jal set_camera_mode -/* 0C577C 7F090C4C 24040003 */ li $a0, 3 -/* 0C5780 7F090C50 10000089 */ b .L7F090E78 -/* 0C5784 7F090C54 8FB80018 */ lw $t8, 0x18($sp) -debug_intropos: -/* 0C5788 7F090C58 3C198003 */ lui $t9, %hi(debug_render_raster) -/* 0C578C 7F090C5C 8F396F64 */ lw $t9, %lo(debug_render_raster)($t9) -/* 0C5790 7F090C60 57200085 */ bnezl $t9, .L7F090E78 -/* 0C5794 7F090C64 8FB80018 */ lw $t8, 0x18($sp) -/* 0C5798 7F090C68 0FC24586 */ jal sub_GAME_7F091618 -/* 0C579C 7F090C6C 00000000 */ nop -/* 0C57A0 7F090C70 10000081 */ b .L7F090E78 -/* 0C57A4 7F090C74 8FB80018 */ lw $t8, 0x18($sp) -debug_worldpos: -/* 0C57A8 7F090C78 3C088003 */ lui $t0, %hi(debug_render_raster) -/* 0C57AC 7F090C7C 8D086F64 */ lw $t0, %lo(debug_render_raster)($t0) -/* 0C57B0 7F090C80 15000005 */ bnez $t0, .L7F090C98 -/* 0C57B4 7F090C84 00000000 */ nop -/* 0C57B8 7F090C88 0FC2459B */ jal sub_GAME_7F09166C -/* 0C57BC 7F090C8C 00000000 */ nop -/* 0C57C0 7F090C90 10000079 */ b .L7F090E78 -/* 0C57C4 7F090C94 8FB80018 */ lw $t8, 0x18($sp) -.L7F090C98: -/* 0C57C8 7F090C98 0FC225E6 */ jal get_curplayer_positiondata -/* 0C57CC 7F090C9C 00000000 */ nop -/* 0C57D0 7F090CA0 10400074 */ beqz $v0, .L7F090E74 -/* 0C57D4 7F090CA4 00401825 */ move $v1, $v0 -/* 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) -/* 0C57EC 7F090CBC C468000C */ lwc1 $f8, 0xc($v1) -/* 0C57F0 7F090CC0 46062001 */ sub.s $f0, $f4, $f6 -/* 0C57F4 7F090CC4 C4520008 */ lwc1 $f18, 8($v0) -/* 0C57F8 7F090CC8 C4700010 */ lwc1 $f16, 0x10($v1) -/* 0C57FC 7F090CCC 460A4081 */ sub.s $f2, $f8, $f10 -/* 0C5800 7F090CD0 46000102 */ mul.s $f4, $f0, $f0 -/* 0C5804 7F090CD4 AFA30050 */ sw $v1, 0x50($sp) -/* 0C5808 7F090CD8 46128381 */ sub.s $f14, $f16, $f18 -/* 0C580C 7F090CDC 46021182 */ mul.s $f6, $f2, $f2 -/* 0C5810 7F090CE0 46062200 */ add.s $f8, $f4, $f6 -/* 0C5814 7F090CE4 460E7282 */ mul.s $f10, $f14, $f14 -/* 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(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) -/* 0C5838 7F090D08 E4520004 */ swc1 $f18, 4($v0) -/* 0C583C 7F090D0C C4640010 */ lwc1 $f4, 0x10($v1) -/* 0C5840 7F090D10 10000058 */ b .L7F090E74 -/* 0C5844 7F090D14 E4440008 */ swc1 $f4, 8($v0) -debug_chrkeypos: -/* 0C5848 7F090D18 0FC2406C */ jal get_highlighted_debug_option -/* 0C584C 7F090D1C 00000000 */ nop -/* 0C5850 7F090D20 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C5854 7F090D24 10000053 */ b .L7F090E74 -/* 0C5858 7F090D28 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_chrnum: -/* 0C585C 7F090D2C 3C028003 */ lui $v0, %hi(debug_chrnum_flag) -/* 0C5860 7F090D30 24426FB8 */ addiu $v0, %lo(debug_chrnum_flag) # addiu $v0, $v0, 0x6fb8 -/* 0C5864 7F090D34 8C490000 */ lw $t1, ($v0) -/* 0C5868 7F090D38 392A0001 */ xori $t2, $t1, 1 -/* 0C586C 7F090D3C 1000004D */ b .L7F090E74 -/* 0C5870 7F090D40 AC4A0000 */ sw $t2, ($v0) -debug_viscvg: -/* 0C5874 7F090D44 3C028003 */ lui $v0, %hi(debug_VisCVG_flag) -/* 0C5878 7F090D48 24426FA8 */ addiu $v0, %lo(debug_VisCVG_flag) # addiu $v0, $v0, 0x6fa8 -/* 0C587C 7F090D4C 8C4B0000 */ lw $t3, ($v0) -/* 0C5880 7F090D50 396C0001 */ xori $t4, $t3, 1 -/* 0C5884 7F090D54 10000047 */ b .L7F090E74 -/* 0C5888 7F090D58 AC4C0000 */ sw $t4, ($v0) -debug_joy2skyedit: -/* 0C588C 7F090D5C 3C028003 */ lui $v0, %hi(debug_joy2skyedit_flag) -/* 0C5890 7F090D60 24426F98 */ addiu $v0, %lo(debug_joy2skyedit_flag) # addiu $v0, $v0, 0x6f98 -/* 0C5894 7F090D64 8C4D0000 */ lw $t5, ($v0) -/* 0C5898 7F090D68 39AE0001 */ xori $t6, $t5, 1 -/* 0C589C 7F090D6C 10000041 */ b .L7F090E74 -/* 0C58A0 7F090D70 AC4E0000 */ sw $t6, ($v0) -debug_joy2hitsedit: -/* 0C58A4 7F090D74 3C028003 */ lui $v0, %hi(debug_joy2hitsedit_flag) -/* 0C58A8 7F090D78 24426F9C */ addiu $v0, %lo(debug_joy2hitsedit_flag) # addiu $v0, $v0, 0x6f9c -/* 0C58AC 7F090D7C 8C4F0000 */ lw $t7, ($v0) -/* 0C58B0 7F090D80 39F80001 */ xori $t8, $t7, 1 -/* 0C58B4 7F090D84 1000003B */ b .L7F090E74 -/* 0C58B8 7F090D88 AC580000 */ sw $t8, ($v0) -debug_joy2detailedit: -/* 0C58BC 7F090D8C 3C028003 */ lui $v0, %hi(debug_joy2detailedit_flag) -/* 0C58C0 7F090D90 24426FA0 */ addiu $v0, %lo(debug_joy2detailedit_flag) # addiu $v0, $v0, 0x6fa0 -/* 0C58C4 7F090D94 8C590000 */ lw $t9, ($v0) -/* 0C58C8 7F090D98 3B280001 */ xori $t0, $t9, 1 -/* 0C58CC 7F090D9C 10000035 */ b .L7F090E74 -/* 0C58D0 7F090DA0 AC480000 */ sw $t0, ($v0) -debug_explosioninfo: -/* 0C58D4 7F090DA4 3C028003 */ lui $v0, %hi(debug_explosioninfo_flag) -/* 0C58D8 7F090DA8 24426FA4 */ addiu $v0, %lo(debug_explosioninfo_flag) # addiu $v0, $v0, 0x6fa4 -/* 0C58DC 7F090DAC 8C490000 */ lw $t1, ($v0) -/* 0C58E0 7F090DB0 392A0001 */ xori $t2, $t1, 1 -/* 0C58E4 7F090DB4 1000002F */ b .L7F090E74 -/* 0C58E8 7F090DB8 AC4A0000 */ sw $t2, ($v0) -debug_magicfog: -/* 0C58EC 7F090DBC 0FC2406C */ jal get_highlighted_debug_option -/* 0C58F0 7F090DC0 00000000 */ nop -/* 0C58F4 7F090DC4 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C58F8 7F090DC8 1000002A */ b .L7F090E74 -/* 0C58FC 7F090DCC AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_fog: -/* 0C5900 7F090DD0 0FC2406C */ jal get_highlighted_debug_option -/* 0C5904 7F090DD4 00000000 */ nop -/* 0C5908 7F090DD8 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C590C 7F090DDC 10000025 */ b .L7F090E74 -/* 0C5910 7F090DE0 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -debug_gunwatchpos: -/* 0C5914 7F090DE4 3C028003 */ lui $v0, %hi(debug_gunwatchpos_flags) -/* 0C5918 7F090DE8 24426FBC */ addiu $v0, %lo(debug_gunwatchpos_flags) # addiu $v0, $v0, 0x6fbc -/* 0C591C 7F090DEC 8C4B0000 */ lw $t3, ($v0) -/* 0C5920 7F090DF0 396C0001 */ xori $t4, $t3, 1 -/* 0C5924 7F090DF4 1000001F */ b .L7F090E74 -/* 0C5928 7F090DF8 AC4C0000 */ sw $t4, ($v0) -debug_roomblocks: -/* 0C592C 7F090DFC 0FC0F9A6 */ jal removed_debug_roomblocks_feature -/* 0C5930 7F090E00 00000000 */ nop -/* 0C5934 7F090E04 1000001C */ b .L7F090E78 -/* 0C5938 7F090E08 8FB80018 */ lw $t8, 0x18($sp) -debug_profile: -/* 0C593C 7F090E0C 3C028003 */ lui $v0, %hi(debug_profile_flag) -/* 0C5940 7F090E10 24426FC0 */ addiu $v0, %lo(debug_profile_flag) # addiu $v0, $v0, 0x6fc0 -/* 0C5944 7F090E14 8C4D0000 */ lw $t5, ($v0) -/* 0C5948 7F090E18 39AE0001 */ xori $t6, $t5, 1 -/* 0C594C 7F090E1C 11C00005 */ beqz $t6, .L7F090E34 -/* 0C5950 7F090E20 AC4E0000 */ sw $t6, ($v0) -/* 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 removed_do_debug_profile_flag_true -/* 0C5968 7F090E38 00000000 */ nop -/* 0C596C 7F090E3C 1000000E */ b .L7F090E78 -/* 0C5970 7F090E40 8FB80018 */ lw $t8, 0x18($sp) -debug_objload: -/* 0C5974 7F090E44 0FC00496 */ jal debug_object_load_all_models -/* 0C5978 7F090E48 00000000 */ nop -/* 0C597C 7F090E4C 1000000A */ b .L7F090E78 -/* 0C5980 7F090E50 8FB80018 */ lw $t8, 0x18($sp) -debug_weaponload: -/* 0C5984 7F090E54 0FC00503 */ jal debug_weapon_load_table -/* 0C5988 7F090E58 00000000 */ nop -/* 0C598C 7F090E5C 10000006 */ b .L7F090E78 -/* 0C5990 7F090E60 8FB80018 */ lw $t8, 0x18($sp) -debug_introedit: -/* 0C5994 7F090E64 0FC2406C */ jal get_highlighted_debug_option -/* 0C5998 7F090E68 00000000 */ nop -/* 0C599C 7F090E6C 3C018003 */ lui $at, %hi(debug_unknown) -/* 0C59A0 7F090E70 AC226F70 */ sw $v0, %lo(debug_unknown)($at) -def_7F090770: -.L7F090E74: -/* 0C59A4 7F090E74 8FB80018 */ lw $t8, 0x18($sp) -.L7F090E78: -/* 0C59A8 7F090E78 33190003 */ andi $t9, $t8, 3 -/* 0C59AC 7F090E7C 5320000D */ beql $t9, $zero, .L7F090EB4 -/* 0C59B0 7F090E80 8FA90018 */ lw $t1, 0x18($sp) -/* 0C59B4 7F090E84 0FC2406C */ jal get_highlighted_debug_option -/* 0C59B8 7F090E88 00000000 */ nop -/* 0C59BC 7F090E8C 2448FFCE */ addiu $t0, $v0, -0x32 -/* 0C59C0 7F090E90 2D010005 */ sltiu $at, $t0, 5 -/* 0C59C4 7F090E94 10200006 */ beqz $at, .L7F090EB0 -/* 0C59C8 7F090E98 00084080 */ sll $t0, $t0, 2 -/* 0C59CC 7F090E9C 3C018005 */ lui $at, %hi(jpt_80055830) -/* 0C59D0 7F090EA0 00280821 */ addu $at, $at, $t0 -/* 0C59D4 7F090EA4 8C285830 */ lw $t0, %lo(jpt_80055830)($at) -/* 0C59D8 7F090EA8 01000008 */ jr $t0 -/* 0C59DC 7F090EAC 00000000 */ nop -def_7F090EA8: -.L7F090EB0: -/* 0C59E0 7F090EB0 8FA90018 */ lw $t1, 0x18($sp) -.L7F090EB4: -/* 0C59E4 7F090EB4 3C0B8003 */ lui $t3, %hi(show_debug_menu_flag) -/* 0C59E8 7F090EB8 312A1000 */ andi $t2, $t1, 0x1000 -/* 0C59EC 7F090EBC 11400009 */ beqz $t2, .L7F090EE4 -/* 0C59F0 7F090EC0 00000000 */ nop -/* 0C59F4 7F090EC4 8D6B6FF8 */ lw $t3, %lo(show_debug_menu_flag)($t3) -/* 0C59F8 7F090EC8 24010001 */ li $at, 1 -/* 0C59FC 7F090ECC 15610003 */ bne $t3, $at, .L7F090EDC -/* 0C5A00 7F090ED0 00000000 */ nop -/* 0C5A04 7F090ED4 0C002BC0 */ jal blank_debug_buffer_chars -/* 0C5A08 7F090ED8 00000000 */ nop -.L7F090EDC: -/* 0C5A0C 7F090EDC 3C018003 */ lui $at, %hi(show_debug_menu_flag) -/* 0C5A10 7F090EE0 AC206FF8 */ sw $zero, %lo(show_debug_menu_flag)($at) -.L7F090EE4: -/* 0C5A14 7F090EE4 3C028003 */ lui $v0, %hi(show_debug_menu_flag) -/* 0C5A18 7F090EE8 8C426FF8 */ lw $v0, %lo(show_debug_menu_flag)($v0) -.L7F090EEC: -/* 0C5A1C 7F090EEC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C5A20 7F090EF0 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0C5A24 7F090EF4 03E00008 */ jr $ra -/* 0C5A28 7F090EF8 00000000 */ nop -) -#endif - -s32 get_debug_render_raster(void) { - return debug_render_raster; -} - -s32 get_debug_freeze_processing(void) { - return debug_freeze_processing; -} - -s32 get_debug_limit_controller_input(void) { - return debug_limit_controller_input; -} - -void set_debug_limit_controller_input(void) { - debug_limit_controller_input = debug_unknown; -} - -s32 get_memusage_display_flag(void) { - return memusage_display_flag; -} - -s32 get_debug_do_draw_bg(void) { - return debug_do_draw_bg; -} - -s32 get_debug_do_draw_obj(void) { - return debug_do_draw_obj; -} - -s32 get_debug_stanhit_flag(void) { - return debug_stanhit_flag; -} - -s32 get_debug_stanregion_flag(void) { - return debug_stanregion_flag; -} - -s32 get_turbo_mode_flag(void) { - return turbo_mode_flag; -} - -s32 get_debug_man_pos_flag(void) { - return debug_man_pos_flag; -} - -s32 get_debug_testingmanpos_flag(void) { - return debug_testingmanpos_flag; -} - -void set_debug_testingmanpos_flag(s32 flag) { - debug_testingmanpos_flag = flag; -} - -s32 get_debug_joy2skyedit_flag(void) { - return debug_joy2skyedit_flag; -} - -s32 get_debug_joy2hitsedit_flag(void) { - return debug_joy2hitsedit_flag; -} - -s32 get_debug_joy2detailedit_flag(void) { - return debug_joy2detailedit_flag; -} - -s32 get_debug_explosioninfo_flag(void) { - return debug_explosioninfo_flag; -} - -s32 get_debug_prroomloads_flag(void) { - return debug_prroomloads_flag; -} - -// Get Current Status of VisCVG (True/False) -s32 get_debug_VisCVG_flag(void) { - return debug_VisCVG_flag; -} - -// Set VisCVG (True/False) -void set_debug_VisCVG_flag(s32 flag) { - debug_VisCVG_flag = flag; -} - -s32 get_debug_007_unlock_flag(void) { - return debug_007_unlock_flag; -} - -s32 get_debug_enable_agent_levels_flag(void) { - return debug_enable_agent_levels_flag; -} - -s32 get_debug_enable_all_levels_flag(void) { - return debug_enable_all_levels_flag; -} - -s32 get_debug_fast_bond_flag(void) { - return debug_fast_bond_flag; -} - -void set_debug_fast_bond_flag(s32 flag) { - debug_fast_bond_flag = flag; -} - -s32 get_debug_all_obj_complete_flag(void) { - return debug_all_obj_complete_flag; -} - -s32 get_debug_portal_flag(void) { - return debug_portal_flag; -} - -s32 get_debug_chrnum_flag(void) { - return debug_chrnum_flag; -} - -s32 get_debug_gunwatchpos_flag(void) { - return debug_gunwatchpos_flags; -} - -s32 get_debug_profile_flag(void) { - return debug_profile_flag; -} - -s32 get_debug_taskgrab_val(void) { - return debug_enable_taskgrab_flag; -} - - - - diff --git a/src/game/debugmenu_090490.h b/src/game/debugmenu_090490.h deleted file mode 100644 index cb0b376..0000000 --- a/src/game/debugmenu_090490.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef _DEBUGMENU_090490_H_ -#define _DEBUGMENU_090490_H_ -#include "ultra64.h" - -struct mcm_layout { - int xpos; - int ypos; -}; - -s32 get_debug_render_raster(void); -s32 get_debug_freeze_processing(void); -s32 get_debug_limit_controller_input(void); -void set_debug_limit_controller_input(void); -s32 get_memusage_display_flag(void); -s32 get_debug_do_draw_bg(void); -s32 get_debug_do_draw_obj(void); -s32 get_debug_stanhit_flag(void); -s32 get_debug_stanregion_flag(void); -s32 get_turbo_mode_flag(void); -s32 get_debug_man_pos_flag(void); -s32 get_debug_testingmanpos_flag(void); -void set_debug_testingmanpos_flag(s32 flag); -s32 get_debug_joy2skyedit_flag(void); -s32 get_debug_joy2hitsedit_flag(void); -s32 get_debug_joy2detailedit_flag(void); -s32 get_debug_explosioninfo_flag(void); -s32 get_debug_prroomloads_flag(void); -s32 get_debug_VisCVG_flag(void); -void set_debug_VisCVG_flag(s32 flag); -s32 get_debug_007_unlock_flag(void); -s32 get_debug_enable_agent_levels_flag(void); -s32 get_debug_enable_all_levels_flag(void); -s32 get_debug_fast_bond_flag(void); -void set_debug_fast_bond_flag(s32 flag); -s32 get_debug_all_obj_complete_flag(void); -s32 get_debug_portal_flag(void); -s32 get_debug_chrnum_flag(void); -s32 get_debug_gunwatchpos_flag(void); -s32 get_debug_profile_flag(void); -s32 get_debug_taskgrab_val(void); -void debug_menu_processor(void); -#endif diff --git a/src/game/decompress.c b/src/game/decompress.c deleted file mode 100644 index b3de228..0000000 --- a/src/game/decompress.c +++ /dev/null @@ -1,92 +0,0 @@ -#include "ultra64.h" -#include "zlib.h" - -//this definately isn't proper way this data was represented, but works for now -// rodata -//D:8005BF80 -const u32 rz_header_bytes[] = { - 0x11720000, 0x11720000, 0x11720000, 0x11720000, 0x11720000, - 0x11720000, 0x11720000, 0x11720000, 0x11720000, 0x11720000 -}; - - - - -#ifdef NONMATCHING -u32 *decompressdata(u32 arg0, u32 arg1, u32 arg2) { - -} -#else -GLOBAL_ASM( -.text -glabel decompressdata -/* 103320 7F0CE7F0 3C078009 */ lui $a3, %hi(dword_CODE_bss_8008D350) -/* 103324 7F0CE7F4 24E7D350 */ addiu $a3, %lo(dword_CODE_bss_8008D350) # addiu $a3, $a3, -0x2cb0 -/* 103328 7F0CE7F8 ACE40000 */ sw $a0, ($a3) -/* 10332C 7F0CE7FC 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D354) -/* 103330 7F0CE800 AC25D354 */ sw $a1, %lo(dword_CODE_bss_8008D354)($at) -/* 103334 7F0CE804 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 103338 7F0CE808 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D360) -/* 10333C 7F0CE80C AFBF0014 */ sw $ra, 0x14($sp) -/* 103340 7F0CE810 AC26D360 */ sw $a2, %lo(dword_CODE_bss_8008D360)($at) -/* 103344 7F0CE814 3C0E8006 */ lui $t6, %hi(rz_header_bytes) -/* 103348 7F0CE818 91CEBF80 */ lbu $t6, %lo(rz_header_bytes)($t6) -/* 10334C 7F0CE81C 90820000 */ lbu $v0, ($a0) -/* 103350 7F0CE820 3C188006 */ lui $t8, %hi(rz_header_bytes+0x5) -/* 103354 7F0CE824 3C198006 */ lui $t9, %hi(rz_header_bytes+0x8) -/* 103358 7F0CE828 144E0005 */ bne $v0, $t6, .L7F0CE840 -/* 10335C 7F0CE82C 3C0A8006 */ lui $t2, %hi(rz_header_bytes+0x18) -/* 103360 7F0CE830 908F0001 */ lbu $t7, 1($a0) -/* 103364 7F0CE834 9318BF85 */ lbu $t8, %lo(rz_header_bytes+0x5)($t8) -/* 103368 7F0CE838 51F8000A */ beql $t7, $t8, .L7F0CE864 -/* 10336C 7F0CE83C 8CEC0000 */ lw $t4, ($a3) -.L7F0CE840: -/* 103370 7F0CE840 9083FFFF */ lbu $v1, -1($a0) -/* 103374 7F0CE844 9339BF88 */ lbu $t9, %lo(rz_header_bytes+0x8)($t9) -/* 103378 7F0CE848 54790002 */ bnel $v1, $t9, .L7F0CE854 -/* 10337C 7F0CE84C 9089FFFE */ lbu $t1, -2($a0) -/* 103380 7F0CE850 9089FFFE */ lbu $t1, -2($a0) -.L7F0CE854: -/* 103384 7F0CE854 914ABF98 */ lbu $t2, %lo(rz_header_bytes+0x18)($t2) -/* 103388 7F0CE858 552A0002 */ bnel $t1, $t2, .L7F0CE864 -/* 10338C 7F0CE85C 8CEC0000 */ lw $t4, ($a3) -/* 103390 7F0CE860 8CEC0000 */ lw $t4, ($a3) -.L7F0CE864: -/* 103394 7F0CE864 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D35C) -/* 103398 7F0CE868 258D0002 */ addiu $t5, $t4, 2 -/* 10339C 7F0CE86C ACED0000 */ sw $t5, ($a3) -/* 1033A0 7F0CE870 AC20D35C */ sw $zero, %lo(dword_CODE_bss_8008D35C)($at) -/* 1033A4 7F0CE874 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D358) -/* 1033A8 7F0CE878 0FC33F35 */ jal loop_to_decompress_entire_file -/* 1033AC 7F0CE87C AC20D358 */ sw $zero, %lo(dword_CODE_bss_8008D358)($at) -/* 1033B0 7F0CE880 8FBF0014 */ lw $ra, 0x14($sp) -/* 1033B4 7F0CE884 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D35C) -/* 1033B8 7F0CE888 8C42D35C */ lw $v0, %lo(dword_CODE_bss_8008D35C)($v0) -/* 1033BC 7F0CE88C 03E00008 */ jr $ra -/* 1033C0 7F0CE890 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0CE894(void) { - // Node 0 - return (dword_CODE_bss_8008D350 + dword_CODE_bss_8008D358); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CE894 -/* 1033C4 7F0CE894 3C0E8009 */ lui $t6, %hi(dword_CODE_bss_8008D350) -/* 1033C8 7F0CE898 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008D358) -/* 1033CC 7F0CE89C 8DEFD358 */ lw $t7, %lo(dword_CODE_bss_8008D358)($t7) -/* 1033D0 7F0CE8A0 8DCED350 */ lw $t6, %lo(dword_CODE_bss_8008D350)($t6) -/* 1033D4 7F0CE8A4 03E00008 */ jr $ra -/* 1033D8 7F0CE8A8 01CF1021 */ addu $v0, $t6, $t7 -) -#endif - - diff --git a/src/game/decompress.h b/src/game/decompress.h deleted file mode 100644 index b9d1d86..0000000 --- a/src/game/decompress.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _DECOMPRESS_H_ -#define _DECOMPRESS_H_ -#include "ultra64.h" - -u32 *decompressdata(u32 arg0, u32 arg1, u32 arg2); -s32 sub_GAME_7F0CE894(void); - -#endif diff --git a/src/game/dyn.c b/src/game/dyn.c deleted file mode 100644 index 676d2da..0000000 --- a/src/game/dyn.c +++ /dev/null @@ -1,578 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:8008C230 -s32 *ptr_mgfx0_alloc_start; -//CODE.bss:8008C234 -s32 *ptr_mgfx1_alloc_start; -//CODE.bss:8008C238 -s32 *ptr_mgfx_end; -//CODE.bss:8008C23C -s32 D_8008C23C; -//CODE.bss:8008C240 -s32 *ptr_mvtx0_alloc_start; -//CODE.bss:8008C244 -s32 *ptr_mvtx1_alloc_start; -//CODE.bss:8008C248 -s32 *ptr_mvtx_end; -//CODE.bss:8008C24C -s32 *ptr_mvtx_cur_pos; -//CODE.bss:8008C250 -s32 bank_in_mgfx_alloc_table; -//CODE.bss:8008C254 -s32 dword_CODE_bss_8008C254; - - -// data -//D:800482E0 -s32 D_800482E0 = 0; -//D:800482E4 -s32 D_800482E4[] = {0x10000, 0x18000, 0x20000}; -//D:800482F0 -s32 D_800482F0[] = {0x28000, 0x10000, 0x18000, 0x20000, 0x28000}; - -//D:80048304 -char membars_string1[] = ">>>>>>>>>>>>>>>>>>>>>>>>>"; -//D:80048320 -char membars_string2[] = "========================="; -//D:8004833C -char membars_string3[] = "-------------------------"; - - -//rodata - -void something_with_dyn_c_debug(void) { - get_ptr_debug_notice_list_entry(&D_800482E0, "dyn_c_debug"); -} - -#ifdef NONMATCHING -void set_vtx_gfx_mem_alloc(void) { - s32 sp18; - ? temp_ret; - - if (check_token(1, "-mgfx") != 0) - { - dyn_c_debug_notice_list_entry[get_num_players()] = strtol(check_token(1, "-mgfx"), 0, 0) << 0xa; - } - - if (check_token(1, "-mvtx") != 0) - { - D_800482F0[get_num_players()] = strtol(check_token(1, "-mvtx"), 0, 0) << 0xa; - } - - 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 = 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); - bank_in_mgfx_alloc_table = (u8)0; - dword_CODE_bss_8008C254 = 0; - (void *)0x80090000->unk-3DB4 = (s32) ptr_mvtx0_alloc_start; - return temp_ret; -} -#else -GLOBAL_ASM( -.rdata -/*D:8005B68C*/ -glabel aMgfx -/*"-mgfx"*/ -.word 0x2D6D6766, 0x78000000 - -/*D:8005B694*/ -glabel aMgfx_1 - /*"-mgfx"*/ -.word 0x2D6D6766, 0x78000000 - -/*D:8005B69C*/ -glabel aMvtx - /*"-mvtx"*/ -.word 0x2D6D7674, 0x78000000 - -/*D:8005B6A4*/ -glabel aMvtx_0 - /*"-mvtx"*/ -.word 0x2D6D7674, 0x78000000 - -.text -glabel set_vtx_gfx_mem_alloc -/* 0F1FBC 7F0BD48C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F1FC0 7F0BD490 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F1FC4 7F0BD494 3C058006 */ lui $a1, %hi(aMgfx) -/* 0F1FC8 7F0BD498 24A5B68C */ addiu $a1, %lo(aMgfx) # addiu $a1, $a1, -0x4974 -/* 0F1FCC 7F0BD49C 0C0029A8 */ jal check_token -/* 0F1FD0 7F0BD4A0 24040001 */ li $a0, 1 -/* 0F1FD4 7F0BD4A4 10400012 */ beqz $v0, .L7F0BD4F0 -/* 0F1FD8 7F0BD4A8 00000000 */ nop -/* 0F1FDC 7F0BD4AC 0FC26919 */ jal get_num_players -/* 0F1FE0 7F0BD4B0 00000000 */ nop -/* 0F1FE4 7F0BD4B4 3C058006 */ lui $a1, %hi(aMgfx_1) -/* 0F1FE8 7F0BD4B8 24A5B694 */ addiu $a1, %lo(aMgfx_1) # addiu $a1, $a1, -0x496c -/* 0F1FEC 7F0BD4BC AFA20018 */ sw $v0, 0x18($sp) -/* 0F1FF0 7F0BD4C0 0C0029A8 */ jal check_token -/* 0F1FF4 7F0BD4C4 24040001 */ li $a0, 1 -/* 0F1FF8 7F0BD4C8 00402025 */ move $a0, $v0 -/* 0F1FFC 7F0BD4CC 00002825 */ move $a1, $zero -/* 0F2000 7F0BD4D0 0C002A78 */ jal strtol -/* 0F2004 7F0BD4D4 00003025 */ move $a2, $zero -/* 0F2008 7F0BD4D8 8FAF0018 */ lw $t7, 0x18($sp) -/* 0F200C 7F0BD4DC 3C018005 */ lui $at, %hi(D_800482E0) -/* 0F2010 7F0BD4E0 00027280 */ sll $t6, $v0, 0xa -/* 0F2014 7F0BD4E4 000FC080 */ sll $t8, $t7, 2 -/* 0F2018 7F0BD4E8 00380821 */ addu $at, $at, $t8 -/* 0F201C 7F0BD4EC AC2E82E0 */ sw $t6, %lo(D_800482E0)($at) -.L7F0BD4F0: -/* 0F2020 7F0BD4F0 3C058006 */ lui $a1, %hi(aMvtx) -/* 0F2024 7F0BD4F4 24A5B69C */ addiu $a1, %lo(aMvtx) # addiu $a1, $a1, -0x4964 -/* 0F2028 7F0BD4F8 0C0029A8 */ jal check_token -/* 0F202C 7F0BD4FC 24040001 */ li $a0, 1 -/* 0F2030 7F0BD500 10400012 */ beqz $v0, .L7F0BD54C -/* 0F2034 7F0BD504 00000000 */ nop -/* 0F2038 7F0BD508 0FC26919 */ jal get_num_players -/* 0F203C 7F0BD50C 00000000 */ nop -/* 0F2040 7F0BD510 3C058006 */ lui $a1, %hi(aMvtx_0) -/* 0F2044 7F0BD514 24A5B6A4 */ addiu $a1, %lo(aMvtx_0) # addiu $a1, $a1, -0x495c -/* 0F2048 7F0BD518 AFA20018 */ sw $v0, 0x18($sp) -/* 0F204C 7F0BD51C 0C0029A8 */ jal check_token -/* 0F2050 7F0BD520 24040001 */ li $a0, 1 -/* 0F2054 7F0BD524 00402025 */ move $a0, $v0 -/* 0F2058 7F0BD528 00002825 */ move $a1, $zero -/* 0F205C 7F0BD52C 0C002A78 */ jal strtol -/* 0F2060 7F0BD530 00003025 */ move $a2, $zero -/* 0F2064 7F0BD534 8FA80018 */ lw $t0, 0x18($sp) -/* 0F2068 7F0BD538 3C018005 */ lui $at, %hi(D_800482F0) -/* 0F206C 7F0BD53C 0002CA80 */ sll $t9, $v0, 0xa -/* 0F2070 7F0BD540 00084880 */ sll $t1, $t0, 2 -/* 0F2074 7F0BD544 00290821 */ addu $at, $at, $t1 -/* 0F2078 7F0BD548 AC3982F0 */ sw $t9, %lo(D_800482F0)($at) -.L7F0BD54C: -/* 0F207C 7F0BD54C 0FC26919 */ jal get_num_players -/* 0F2080 7F0BD550 00000000 */ nop -/* 0F2084 7F0BD554 00025080 */ sll $t2, $v0, 2 -/* 0F2088 7F0BD558 3C048005 */ lui $a0, %hi(D_800482E0) -/* 0F208C 7F0BD55C 008A2021 */ addu $a0, $a0, $t2 -/* 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 mempAllocBytesInBank -/* 0F20A0 7F0BD570 01602025 */ move $a0, $t3 -/* 0F20A4 7F0BD574 3C018009 */ lui $at, %hi(ptr_mgfx0_alloc_start) -/* 0F20A8 7F0BD578 0FC26919 */ jal get_num_players -/* 0F20AC 7F0BD57C AC22C230 */ sw $v0, %lo(ptr_mgfx0_alloc_start)($at) -/* 0F20B0 7F0BD580 3C038009 */ lui $v1, %hi(ptr_mgfx0_alloc_start) -/* 0F20B4 7F0BD584 00026080 */ sll $t4, $v0, 2 -/* 0F20B8 7F0BD588 3C0D8005 */ lui $t5, %hi(D_800482E0) -/* 0F20BC 7F0BD58C 01AC6821 */ addu $t5, $t5, $t4 -/* 0F20C0 7F0BD590 2463C230 */ addiu $v1, %lo(ptr_mgfx0_alloc_start) # addiu $v1, $v1, -0x3dd0 -/* 0F20C4 7F0BD594 8C6F0000 */ lw $t7, ($v1) -/* 0F20C8 7F0BD598 8DAD82E0 */ lw $t5, %lo(D_800482E0)($t5) -/* 0F20CC 7F0BD59C 01AF7021 */ addu $t6, $t5, $t7 -/* 0F20D0 7F0BD5A0 0FC26919 */ jal get_num_players -/* 0F20D4 7F0BD5A4 AC6E0004 */ sw $t6, 4($v1) -/* 0F20D8 7F0BD5A8 3C038009 */ lui $v1, %hi(ptr_mgfx0_alloc_start) -/* 0F20DC 7F0BD5AC 0002C080 */ sll $t8, $v0, 2 -/* 0F20E0 7F0BD5B0 3C088005 */ lui $t0, %hi(D_800482E0) -/* 0F20E4 7F0BD5B4 01184021 */ addu $t0, $t0, $t8 -/* 0F20E8 7F0BD5B8 2463C230 */ addiu $v1, %lo(ptr_mgfx0_alloc_start) # addiu $v1, $v1, -0x3dd0 -/* 0F20EC 7F0BD5BC 8C790004 */ lw $t9, 4($v1) -/* 0F20F0 7F0BD5C0 8D0882E0 */ lw $t0, %lo(D_800482E0)($t0) -/* 0F20F4 7F0BD5C4 01194821 */ addu $t1, $t0, $t9 -/* 0F20F8 7F0BD5C8 0FC26919 */ jal get_num_players -/* 0F20FC 7F0BD5CC AC690008 */ sw $t1, 8($v1) -/* 0F2100 7F0BD5D0 00025080 */ sll $t2, $v0, 2 -/* 0F2104 7F0BD5D4 3C048005 */ lui $a0, %hi(D_800482F0) -/* 0F2108 7F0BD5D8 008A2021 */ addu $a0, $a0, $t2 -/* 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 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 -/* 0F2128 7F0BD5F8 0FC26919 */ jal get_num_players -/* 0F212C 7F0BD5FC AC620000 */ sw $v0, ($v1) -/* 0F2130 7F0BD600 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start) -/* 0F2134 7F0BD604 00026080 */ sll $t4, $v0, 2 -/* 0F2138 7F0BD608 3C0D8005 */ lui $t5, %hi(D_800482F0) -/* 0F213C 7F0BD60C 01AC6821 */ addu $t5, $t5, $t4 -/* 0F2140 7F0BD610 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0 -/* 0F2144 7F0BD614 8C6F0000 */ lw $t7, ($v1) -/* 0F2148 7F0BD618 8DAD82F0 */ lw $t5, %lo(D_800482F0)($t5) -/* 0F214C 7F0BD61C 01AF7021 */ addu $t6, $t5, $t7 -/* 0F2150 7F0BD620 0FC26919 */ jal get_num_players -/* 0F2154 7F0BD624 AC6E0004 */ sw $t6, 4($v1) -/* 0F2158 7F0BD628 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start) -/* 0F215C 7F0BD62C 0002C080 */ sll $t8, $v0, 2 -/* 0F2160 7F0BD630 3C088005 */ lui $t0, %hi(D_800482F0) -/* 0F2164 7F0BD634 01184021 */ addu $t0, $t0, $t8 -/* 0F2168 7F0BD638 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0 -/* 0F216C 7F0BD63C 8C790004 */ lw $t9, 4($v1) -/* 0F2170 7F0BD640 8D0882F0 */ lw $t0, %lo(D_800482F0)($t0) -/* 0F2174 7F0BD644 3C018009 */ lui $at, %hi(bank_in_mgfx_alloc_table) -/* 0F2178 7F0BD648 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F217C 7F0BD64C 01194821 */ addu $t1, $t0, $t9 -/* 0F2180 7F0BD650 AC690008 */ sw $t1, 8($v1) -/* 0F2184 7F0BD654 A020C250 */ sb $zero, %lo(bank_in_mgfx_alloc_table)($at) -/* 0F2188 7F0BD658 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254) -/* 0F218C 7F0BD65C AC20C254 */ sw $zero, %lo(dword_CODE_bss_8008C254)($at) -/* 0F2190 7F0BD660 8C6A0000 */ lw $t2, ($v1) -/* 0F2194 7F0BD664 3C018009 */ lui $at, %hi(ptr_mvtx_cur_pos) -/* 0F2198 7F0BD668 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F219C 7F0BD66C 03E00008 */ jr $ra -/* 0F21A0 7F0BD670 AC2AC24C */ sw $t2, %lo(ptr_mvtx_cur_pos)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_displaylist(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_displaylist -/* 0F21A4 7F0BD674 3C0F8009 */ lui $t7, %hi(bank_in_mgfx_alloc_table) -/* 0F21A8 7F0BD678 91EFC250 */ lbu $t7, %lo(bank_in_mgfx_alloc_table)($t7) -/* 0F21AC 7F0BD67C 3C028009 */ lui $v0, %hi(ptr_mgfx0_alloc_start) -/* 0F21B0 7F0BD680 240E0001 */ li $t6, 1 -/* 0F21B4 7F0BD684 000FC080 */ sll $t8, $t7, 2 -/* 0F21B8 7F0BD688 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254) -/* 0F21BC 7F0BD68C 00581021 */ addu $v0, $v0, $t8 -/* 0F21C0 7F0BD690 AC2EC254 */ sw $t6, %lo(dword_CODE_bss_8008C254)($at) -/* 0F21C4 7F0BD694 03E00008 */ jr $ra -/* 0F21C8 7F0BD698 8C42C230 */ lw $v0, %lo(ptr_mgfx0_alloc_start)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void allocate_something_in_mgfx(void) { - -} -#else -GLOBAL_ASM( -.text -glabel allocate_something_in_mgfx -/* 0F21CC 7F0BD69C 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table) -/* 0F21D0 7F0BD6A0 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6) -/* 0F21D4 7F0BD6A4 3C188009 */ lui $t8, %hi(ptr_mgfx1_alloc_start) -/* 0F21D8 7F0BD6A8 000E7880 */ sll $t7, $t6, 2 -/* 0F21DC 7F0BD6AC 030FC021 */ addu $t8, $t8, $t7 -/* 0F21E0 7F0BD6B0 8F18C234 */ lw $t8, %lo(ptr_mgfx1_alloc_start)($t8) -/* 0F21E4 7F0BD6B4 03041023 */ subu $v0, $t8, $a0 -/* 0F21E8 7F0BD6B8 0002C8C3 */ sra $t9, $v0, 3 -/* 0F21EC 7F0BD6BC 03E00008 */ jr $ra -/* 0F21F0 7F0BD6C0 03201025 */ move $v0, $t9 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BD6C4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD6C4 -/* 0F21F4 7F0BD6C4 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos) -/* 0F21F8 7F0BD6C8 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4 -/* 0F21FC 7F0BD6CC 8CC20000 */ lw $v0, ($a2) -/* 0F2200 7F0BD6D0 00047100 */ sll $t6, $a0, 4 -/* 0F2204 7F0BD6D4 004E7821 */ addu $t7, $v0, $t6 -/* 0F2208 7F0BD6D8 03E00008 */ jr $ra -/* 0F220C 7F0BD6DC ACCF0000 */ sw $t7, ($a2) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0BD6E0(void) { - // Node 0 - ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + 0x40); - return ptr_mvtx_cur_pos; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD6E0 -/* 0F2210 7F0BD6E0 3C058009 */ lui $a1, %hi(ptr_mvtx_cur_pos) -/* 0F2214 7F0BD6E4 24A5C24C */ addiu $a1, %lo(ptr_mvtx_cur_pos) # addiu $a1, $a1, -0x3db4 -/* 0F2218 7F0BD6E8 8CA20000 */ lw $v0, ($a1) -/* 0F221C 7F0BD6EC 244E0040 */ addiu $t6, $v0, 0x40 -/* 0F2220 7F0BD6F0 03E00008 */ jr $ra -/* 0F2224 7F0BD6F4 ACAE0000 */ sw $t6, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0BD6F8(s32 arg0) { - // Node 0 - ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + (arg0 * 0x10)); - return ptr_mvtx_cur_pos; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD6F8 -/* 0F2228 7F0BD6F8 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos) -/* 0F222C 7F0BD6FC 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4 -/* 0F2230 7F0BD700 8CC20000 */ lw $v0, ($a2) -/* 0F2234 7F0BD704 00047100 */ sll $t6, $a0, 4 -/* 0F2238 7F0BD708 004E7821 */ addu $t7, $v0, $t6 -/* 0F223C 7F0BD70C 03E00008 */ jr $ra -/* 0F2240 7F0BD710 ACCF0000 */ sw $t7, ($a2) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0BD714(s32 arg0) { - // Node 0 - ptr_mvtx_cur_pos = (s32) (ptr_mvtx_cur_pos + (((arg0 + 0xf) | 0xf) ^ 0xf)); - return ptr_mvtx_cur_pos; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD714 -/* 0F2244 7F0BD714 3C068009 */ lui $a2, %hi(ptr_mvtx_cur_pos) -/* 0F2248 7F0BD718 24C6C24C */ addiu $a2, %lo(ptr_mvtx_cur_pos) # addiu $a2, $a2, -0x3db4 -/* 0F224C 7F0BD71C 8CC20000 */ lw $v0, ($a2) -/* 0F2250 7F0BD720 2484000F */ addiu $a0, $a0, 0xf -/* 0F2254 7F0BD724 348E000F */ ori $t6, $a0, 0xf -/* 0F2258 7F0BD728 39CF000F */ xori $t7, $t6, 0xf -/* 0F225C 7F0BD72C 004FC021 */ addu $t8, $v0, $t7 -/* 0F2260 7F0BD730 03E00008 */ jr $ra -/* 0F2264 7F0BD734 ACD80000 */ sw $t8, ($a2) -) -#endif - - - - - -#ifdef NONMATCHING -void *allocate_something_in_mvtx(void) { - // Node 0 - bank_in_mgfx_alloc_table = (s8) (bank_in_mgfx_alloc_table ^ 1); - dword_CODE_bss_8008C254 = 0; - ptr_mvtx_cur_pos = (?32) (0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DC0; - return &bank_in_mgfx_alloc_table; -} -#else -GLOBAL_ASM( -.text -glabel allocate_something_in_mvtx -/* 0F2268 7F0BD738 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table) -/* 0F226C 7F0BD73C 2442C250 */ addiu $v0, %lo(bank_in_mgfx_alloc_table) # addiu $v0, $v0, -0x3db0 -/* 0F2270 7F0BD740 904E0000 */ lbu $t6, ($v0) -/* 0F2274 7F0BD744 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C254) -/* 0F2278 7F0BD748 3C088009 */ lui $t0, %hi(ptr_mvtx0_alloc_start) -/* 0F227C 7F0BD74C 39CF0001 */ xori $t7, $t6, 1 -/* 0F2280 7F0BD750 A04F0000 */ sb $t7, ($v0) -/* 0F2284 7F0BD754 AC20C254 */ sw $zero, %lo(dword_CODE_bss_8008C254)($at) -/* 0F2288 7F0BD758 90580000 */ lbu $t8, ($v0) -/* 0F228C 7F0BD75C 3C018009 */ lui $at, %hi(ptr_mvtx_cur_pos) -/* 0F2290 7F0BD760 0018C880 */ sll $t9, $t8, 2 -/* 0F2294 7F0BD764 01194021 */ addu $t0, $t0, $t9 -/* 0F2298 7F0BD768 8D08C240 */ lw $t0, %lo(ptr_mvtx0_alloc_start)($t0) -/* 0F229C 7F0BD76C 03E00008 */ jr $ra -/* 0F22A0 7F0BD770 AC28C24C */ sw $t0, %lo(ptr_mvtx_cur_pos)($at) -) -#endif - - - - - -void removed_debug_routine(s32 arg0) { - return; -} - - - - - - -#ifdef NONMATCHING -s32 num_microcode_cmds_that_fit(s32 arg0) { - // Node 0 - return ((s32) ((0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DCC - arg0) >> 3); -} -#else -GLOBAL_ASM( -.text -glabel num_microcode_cmds_that_fit -/* 0F22AC 7F0BD77C 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table) -/* 0F22B0 7F0BD780 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6) -/* 0F22B4 7F0BD784 3C188009 */ lui $t8, %hi(ptr_mgfx1_alloc_start) -/* 0F22B8 7F0BD788 000E7880 */ sll $t7, $t6, 2 -/* 0F22BC 7F0BD78C 030FC021 */ addu $t8, $t8, $t7 -/* 0F22C0 7F0BD790 8F18C234 */ lw $t8, %lo(ptr_mgfx1_alloc_start)($t8) -/* 0F22C4 7F0BD794 03041023 */ subu $v0, $t8, $a0 -/* 0F22C8 7F0BD798 0002C8C3 */ sra $t9, $v0, 3 -/* 0F22CC 7F0BD79C 03E00008 */ jr $ra -/* 0F22D0 7F0BD7A0 03201025 */ move $v0, $t9 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0BD7A4(void) { - // Node 0 - return ((0x80090000 + (bank_in_mgfx_alloc_table * 4))->unk-3DBC - ptr_mvtx_cur_pos); -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD7A4 -/* 0F22D4 7F0BD7A4 3C0E8009 */ lui $t6, %hi(bank_in_mgfx_alloc_table) -/* 0F22D8 7F0BD7A8 91CEC250 */ lbu $t6, %lo(bank_in_mgfx_alloc_table)($t6) -/* 0F22DC 7F0BD7AC 3C188009 */ lui $t8, %hi(ptr_mvtx1_alloc_start) -/* 0F22E0 7F0BD7B0 3C198009 */ lui $t9, %hi(ptr_mvtx_cur_pos) -/* 0F22E4 7F0BD7B4 000E7880 */ sll $t7, $t6, 2 -/* 0F22E8 7F0BD7B8 030FC021 */ addu $t8, $t8, $t7 -/* 0F22EC 7F0BD7BC 8F18C244 */ lw $t8, %lo(ptr_mvtx1_alloc_start)($t8) -/* 0F22F0 7F0BD7C0 8F39C24C */ lw $t9, %lo(ptr_mvtx_cur_pos)($t9) -/* 0F22F4 7F0BD7C4 03E00008 */ jr $ra -/* 0F22F8 7F0BD7C8 03191023 */ subu $v0, $t8, $t9 -) -#endif - - - - - -#ifdef NONMATCHING -void compute_membar_display_string(void) { - -} -#else -GLOBAL_ASM( -.text -glabel compute_membar_display_string -/* 0F22FC 7F0BD7CC 44856000 */ mtc1 $a1, $f12 -/* 0F2300 7F0BD7D0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F2304 7F0BD7D4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F2308 7F0BD7D8 AFA60020 */ sw $a2, 0x20($sp) -/* 0F230C 7F0BD7DC 0C004E1F */ jal strlen -/* 0F2310 7F0BD7E0 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 0F2314 7F0BD7E4 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 0F2318 7F0BD7E8 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0F231C 7F0BD7EC 44800000 */ mtc1 $zero, $f0 -/* 0F2320 7F0BD7F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F2324 7F0BD7F4 46046303 */ div.s $f12, $f12, $f4 -/* 0F2328 7F0BD7F8 4600603C */ c.lt.s $f12, $f0 -/* 0F232C 7F0BD7FC 00000000 */ nop -/* 0F2330 7F0BD800 45000001 */ bc1f .L7F0BD808 -/* 0F2334 7F0BD804 00000000 */ nop -.L7F0BD808: -/* 0F2338 7F0BD808 03E00008 */ jr $ra -/* 0F233C 7F0BD80C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void draw_membars(s32 arg0) { - void *temp_t7; - void *temp_t7_2; - - // Node 0 - temp_t7 = (&ptr_mgfx0_alloc_start + (bank_in_mgfx_alloc_table * 4)); - compute_membar_display_string(&membars_string2, (f32) ((s32) (temp_t7->unk4 - arg0) >> 3), (f32) ((s32) (temp_t7->unk4 - *(&ptr_mgfx0_alloc_start + (bank_in_mgfx_alloc_table * 4))) >> 3), arg0); - temp_t7_2 = (&ptr_mvtx0_alloc_start + (bank_in_mgfx_alloc_table * 4)); - return compute_membar_display_string(&membars_string2, (f32) (temp_t7_2->unk4 - ptr_mvtx_cur_pos), (f32) (temp_t7_2->unk4 - *(&ptr_mvtx0_alloc_start + (bank_in_mgfx_alloc_table * 4))), &ptr_mvtx0_alloc_start); -} -#else -GLOBAL_ASM( -.text -glabel draw_membars -/* 0F2340 7F0BD810 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table) -/* 0F2344 7F0BD814 9042C250 */ lbu $v0, %lo(bank_in_mgfx_alloc_table)($v0) -/* 0F2348 7F0BD818 3C088009 */ lui $t0, %hi(ptr_mgfx0_alloc_start) -/* 0F234C 7F0BD81C 2508C230 */ addiu $t0, %lo(ptr_mgfx0_alloc_start) # addiu $t0, $t0, -0x3dd0 -/* 0F2350 7F0BD820 00027080 */ sll $t6, $v0, 2 -/* 0F2354 7F0BD824 010E7821 */ addu $t7, $t0, $t6 -/* 0F2358 7F0BD828 00024880 */ sll $t1, $v0, 2 -/* 0F235C 7F0BD82C 8DE30004 */ lw $v1, 4($t7) -/* 0F2360 7F0BD830 01095021 */ addu $t2, $t0, $t1 -/* 0F2364 7F0BD834 8D4B0000 */ lw $t3, ($t2) -/* 0F2368 7F0BD838 00803825 */ move $a3, $a0 -/* 0F236C 7F0BD83C 0067C023 */ subu $t8, $v1, $a3 -/* 0F2370 7F0BD840 006B6023 */ subu $t4, $v1, $t3 -/* 0F2374 7F0BD844 000C68C3 */ sra $t5, $t4, 3 -/* 0F2378 7F0BD848 0018C8C3 */ sra $t9, $t8, 3 -/* 0F237C 7F0BD84C 44992000 */ mtc1 $t9, $f4 -/* 0F2380 7F0BD850 448D3000 */ mtc1 $t5, $f6 -/* 0F2384 7F0BD854 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F2388 7F0BD858 46802120 */ cvt.s.w $f4, $f4 -/* 0F238C 7F0BD85C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F2390 7F0BD860 3C048005 */ lui $a0, %hi(membars_string2) -/* 0F2394 7F0BD864 24848320 */ addiu $a0, %lo(membars_string2) # addiu $a0, $a0, -0x7ce0 -/* 0F2398 7F0BD868 468031A0 */ cvt.s.w $f6, $f6 -/* 0F239C 7F0BD86C 44052000 */ mfc1 $a1, $f4 -/* 0F23A0 7F0BD870 44063000 */ mfc1 $a2, $f6 -/* 0F23A4 7F0BD874 0FC2F5F3 */ jal compute_membar_display_string -/* 0F23A8 7F0BD878 00000000 */ nop -/* 0F23AC 7F0BD87C 3C028009 */ lui $v0, %hi(bank_in_mgfx_alloc_table) -/* 0F23B0 7F0BD880 9042C250 */ lbu $v0, %lo(bank_in_mgfx_alloc_table)($v0) -/* 0F23B4 7F0BD884 3C078009 */ lui $a3, %hi(ptr_mvtx0_alloc_start) -/* 0F23B8 7F0BD888 24E7C240 */ addiu $a3, %lo(ptr_mvtx0_alloc_start) # addiu $a3, $a3, -0x3dc0 -/* 0F23BC 7F0BD88C 00027080 */ sll $t6, $v0, 2 -/* 0F23C0 7F0BD890 00EE7821 */ addu $t7, $a3, $t6 -/* 0F23C4 7F0BD894 00024880 */ sll $t1, $v0, 2 -/* 0F23C8 7F0BD898 8DE30004 */ lw $v1, 4($t7) -/* 0F23CC 7F0BD89C 00E95021 */ addu $t2, $a3, $t1 -/* 0F23D0 7F0BD8A0 3C188009 */ lui $t8, %hi(ptr_mvtx_cur_pos) -/* 0F23D4 7F0BD8A4 8F18C24C */ lw $t8, %lo(ptr_mvtx_cur_pos)($t8) -/* 0F23D8 7F0BD8A8 8D4B0000 */ lw $t3, ($t2) -/* 0F23DC 7F0BD8AC 3C048005 */ lui $a0, %hi(membars_string2) -/* 0F23E0 7F0BD8B0 0078C823 */ subu $t9, $v1, $t8 -/* 0F23E4 7F0BD8B4 006B6023 */ subu $t4, $v1, $t3 -/* 0F23E8 7F0BD8B8 448C5000 */ mtc1 $t4, $f10 -/* 0F23EC 7F0BD8BC 44994000 */ mtc1 $t9, $f8 -/* 0F23F0 7F0BD8C0 24848320 */ addiu $a0, %lo(membars_string2) # addiu $a0, $a0, -0x7ce0 -/* 0F23F4 7F0BD8C4 468052A0 */ cvt.s.w $f10, $f10 -/* 0F23F8 7F0BD8C8 46804220 */ cvt.s.w $f8, $f8 -/* 0F23FC 7F0BD8CC 44065000 */ mfc1 $a2, $f10 -/* 0F2400 7F0BD8D0 44054000 */ mfc1 $a1, $f8 -/* 0F2404 7F0BD8D4 0FC2F5F3 */ jal compute_membar_display_string -/* 0F2408 7F0BD8D8 00000000 */ nop -/* 0F240C 7F0BD8DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F2410 7F0BD8E0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F2414 7F0BD8E4 03E00008 */ jr $ra -/* 0F2418 7F0BD8E8 00000000 */ nop -) -#endif - - diff --git a/src/game/ejectedcartridges.c b/src/game/ejectedcartridges.c deleted file mode 100644 index ed27c88..0000000 --- a/src/game/ejectedcartridges.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "ultra64.h" - - - - - - - -#ifdef NONMATCHING -void something_with_ejected_cartridges(void) { - -} -#else -GLOBAL_ASM( -.text -glabel something_with_ejected_cartridges -/* 039B70 7F005040 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 039B74 7F005044 3C018007 */ lui $at, %hi(dword_CODE_bss_80075DB0) -/* 039B78 7F005048 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075DB8) -/* 039B7C 7F00504C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075DC8) -/* 039B80 7F005050 AFBF001C */ sw $ra, 0x1c($sp) -/* 039B84 7F005054 AFB10018 */ sw $s1, 0x18($sp) -/* 039B88 7F005058 AFB00014 */ sw $s0, 0x14($sp) -/* 039B8C 7F00505C AC205DB0 */ sw $zero, %lo(dword_CODE_bss_80075DB0)($at) -/* 039B90 7F005060 24635DC8 */ addiu $v1, %lo(dword_CODE_bss_80075DC8) # addiu $v1, $v1, 0x5dc8 -/* 039B94 7F005064 24425DB8 */ addiu $v0, %lo(dword_CODE_bss_80075DB8) # addiu $v0, $v0, 0x5db8 -.L7F005068: -/* 039B98 7F005068 24420004 */ addiu $v0, $v0, 4 -/* 039B9C 7F00506C 0043082B */ sltu $at, $v0, $v1 -/* 039BA0 7F005070 1420FFFD */ bnez $at, .L7F005068 -/* 039BA4 7F005074 AC40FFFC */ sw $zero, -4($v0) -/* 039BA8 7F005078 3C0E8003 */ lui $t6, %hi(ejected_cartridge) -/* 039BAC 7F00507C 8DCE246C */ lw $t6, %lo(ejected_cartridge)($t6) -/* 039BB0 7F005080 3C018003 */ lui $at, %hi(cartridges_eject) -/* 039BB4 7F005084 AC204C9C */ sw $zero, %lo(cartridges_eject)($at) -/* 039BB8 7F005088 3C018003 */ lui $at, %hi(D_80034CA0) -/* 039BBC 7F00508C 11C0000B */ beqz $t6, .L7F0050BC -/* 039BC0 7F005090 AC204CA0 */ sw $zero, %lo(D_80034CA0)($at) -/* 039BC4 7F005094 3C0F8003 */ lui $t7, %hi(ejected_cartridge) -/* 039BC8 7F005098 25F0246C */ addiu $s0, $t7, %lo(ejected_cartridge) -/* 039BCC 7F00509C 8E110000 */ lw $s1, ($s0) -/* 039BD0 7F0050A0 02202025 */ move $a0, $s1 -.L7F0050A4: -/* 039BD4 7F0050A4 0FC1D953 */ jal load_object_into_memory -/* 039BD8 7F0050A8 8E050004 */ lw $a1, 4($s0) -/* 039BDC 7F0050AC 8E110008 */ lw $s1, 8($s0) -/* 039BE0 7F0050B0 26100008 */ addiu $s0, $s0, 8 -/* 039BE4 7F0050B4 5620FFFB */ bnezl $s1, .L7F0050A4 -/* 039BE8 7F0050B8 02202025 */ move $a0, $s1 -.L7F0050BC: -/* 039BEC 7F0050BC 8FBF001C */ lw $ra, 0x1c($sp) -/* 039BF0 7F0050C0 8FB00014 */ lw $s0, 0x14($sp) -/* 039BF4 7F0050C4 8FB10018 */ lw $s1, 0x18($sp) -/* 039BF8 7F0050C8 03E00008 */ jr $ra -/* 039BFC 7F0050CC 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - diff --git a/src/game/fog.c b/src/game/fog.c deleted file mode 100644 index 4565228..0000000 --- a/src/game/fog.c +++ /dev/null @@ -1,1284 +0,0 @@ -#include "ultra64.h" -#include "game/fog.h" - -// bss -//CODE.bss:800825C0 -s32 sky_enabled; -//CODE.bss:800825C4 -u32 *ptr_nearfog_enviroment_values; -//CODE.bss:800825C8 -s32 buffer_far_pervasiveness; -//CODE.bss:800825CC -s32 far_fog; -//CODE.bss:800825D0 -s32 D_800825D0; -//CODE.bss:800825D4 -s32 D_800825D4; -//CODE.bss:800825D8 -s32 flt_CODE_bss_800825D8; -//CODE.bss:800825DC -s32 flt_CODE_bss_800825DC; -//CODE.bss:800825E0 -s32 buffer_far_ambiant; -//CODE.bss:800825E4 -s32 bg_dif_light; -//CODE.bss:800825E8 -s32 env_table_hit; -//CODE.bss:800825EC -s32 env_table_match_start; -//CODE.bss:800825F0 -s32 env_table_match_end; -//CODE.bss:800825F4 -s32 D_800825F4; -//CODE.bss:800825F8 -u32 dword_CODE_bss_800825F8; - -f32 flt_CODE_bss_800825FC; -f32 flt_CODE_bss_80082600; -u32 DAT_80082604; -u32 DAT_80082608; -u32 DAT_8008260c; -u32 DAT_80082610; -u32 DAT_80082614; -u32 dword_CODE_bss_80082618; -u32 dword_CODE_bss_8008261C; -u8 off_CODE_bss_80082620; -u8 byte_CODE_bss_80082621; -u8 byte_CODE_bss_80082622; -u8 byte_CODE_bss_80082623; - -u8 byte_CODE_bss_80082624; -u8 byte_CODE_bss_80082625; -u8 byte_CODE_bss_80082626; -u8 byte_CODE_bss_80082627; -u8 byte_CODE_bss_80082628; -u8 byte_CODE_bss_80082629; -u8 byte_CODE_bss_8008262a; -u8 byte_CODE_bss_8008262b; -u8 byte_CODE_bss_8008262c; -u8 byte_CODE_bss_8008262d; -u8 byte_CODE_bss_8008262e; -u8 byte_CODE_bss_8008262f; -u8 byte_CODE_bss_80082630; -u8 byte_CODE_bss_80082631; -u8 byte_CODE_bss_80082632; -u8 byte_CODE_bss_80082633; -u8 byte_CODE_bss_80082634; -u8 byte_CODE_bss_80082635; -u8 byte_CODE_bss_80082636; -u8 byte_CODE_bss_80082637; -u8 byte_CODE_bss_80082638; -u8 byte_CODE_bss_80082639; -u8 byte_CODE_bss_8008263a; -u8 byte_CODE_bss_8008263b; -u8 byte_CODE_bss_8008263c; -u8 byte_CODE_bss_8008263d; -u8 byte_CODE_bss_8008263e; -u8 byte_CODE_bss_8008263f; -u8 byte_CODE_bss_80082640; -u8 byte_CODE_bss_80082641; -u8 byte_CODE_bss_80082642; -u8 byte_CODE_bss_80082643; -u8 byte_CODE_bss_80082644; -u8 byte_CODE_bss_80082645; -u8 byte_CODE_bss_80082646; -u8 byte_CODE_bss_80082647; -u8 byte_CODE_bss_80082648; -u8 byte_CODE_bss_80082649; -u8 byte_CODE_bss_8008264a; -u8 byte_CODE_bss_8008264b; -u8 byte_CODE_bss_8008264c; -u8 byte_CODE_bss_8008264d; -u8 byte_CODE_bss_8008264e; -u8 byte_CODE_bss_8008264f; -u8 byte_CODE_bss_80082650; -u8 byte_CODE_bss_80082651; -u8 byte_CODE_bss_80082652; -u8 byte_CODE_bss_80082653; -u8 byte_CODE_bss_80082654; -u8 byte_CODE_bss_80082655; -u8 byte_CODE_bss_80082656; -u8 byte_CODE_bss_80082657; -u8 byte_CODE_bss_80082658; -u8 byte_CODE_bss_80082659; -u8 byte_CODE_bss_8008265a; -u8 byte_CODE_bss_8008265b; -u8 byte_CODE_bss_8008265c; -u8 byte_CODE_bss_8008265d; -u8 byte_CODE_bss_8008265e; -u8 byte_CODE_bss_8008265f; - - - -// data -//D:80044DC0 -s32 D_80044DC0 = 0; -//D:80044DC4 -f32 near_fog_value = 3.4028235e38; -//D:80044DC8 -f32 near_fog_times_intensity = 0.0; -//D:80044DCC -s32 ptr_current_data[] = {0x384, 0x3E8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -//D:80044E10 -struct fog_element fog_tables[] = { - {0x16, 15.0, 3500.0, 2000.0, 2500.0, 2000.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 8, 1, 5000.0, 0, 0, 170.0, 100.0, 40.0, 0, 0, 0, 0, -1000.0, 0, 0, 0.0, 0.0, 0.0, 30.0}, - {0x17, 10.0, 10000.0, 2500.0, 5000.0, 800.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x18, 10.0, 3000.0, 2000.0, 3000.0, 500.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 0, 1, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -1000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x19, 10.0, 1500.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 8, 1, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, 0.0, 1, 0, 0.0, 255.0, 255.0, 25.0}, - {0x7D, 20.0, 15000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 8, 1, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, 0.0, 1, 0, 0.0, 255.0, 255.0, 25.0}, - {0x1D, 10.0, 7500.0, 5000.0, 6000.0, 1000.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x10, 0x18, 0x20, 1, 5000.0, 0, 0, 225.0, 175.0, 100.0, 0, 0, 0, 0, -1000.0, 0, 0, 0.0, 0.0, 0.0, 25.0}, - {0x1E, 10.0, 3000.0, 1600.0, 2000.0, 800.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 8, 1, 7500.0, 0, 0, 70.0, 199.0, 186.0, 0, 0, 0, 0, -1000.0, 1, 0, 0.0, 255.0, 255.0, 25.0}, - {0x1F, 10.0, 5000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x28, 0, 0, 1, 10000.0, 0, 0, 220.0, 0.0, 20.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x21, 5.0, 15000.0, 3333.0, 4444.0, 600.0, 0.0, 0x3E7, 0x3E3, 0x3E8, 0x10, 0x30, 0x60, 1, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -1000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x3A5, 30.0, 15000.0, 3333.0, 4444.0, 600.0, 0.0, 0x3E7, 0x3E3, 0x3E8, 0x10, 0x30, 0x60, 1, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -1000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x22, 10.0, 5000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3DE, 0x3E8, 0x10, 0x20, 0x10, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -1000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x86, 10.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3DE, 0x3E8, 0x40, 0x80, 0x40, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x23, 10.0, 15000.0, 6000.0, 8000.0, 800.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x10, 0x30, 0x40, 1, 5000.0, 0, 0, 25.0, 25.0, 25.0, 0, 0, 0, 0, -1000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x24, 2.0, 2500.0, 4444.0, 5555.0, 800.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x60, 0x60, 0x80, 1, 10000.0, 0, 0, 240.0, 120.0, 30.0, 0, 0, 0, 0, 0.0, 1, 0, 0.0, 255.0, 255.0, 7.0}, - {0x25, 10.0, 2500.0, 1500.0, 2500.0, 1000.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x20, 0, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x26, 10.0, 6000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x18, 0x28, 1, 10000.0, 0, 0, 160.0, 160.0, 190.0, 0, 0, 0, 0, -500.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x27, 10.0, 6000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E1, 0x3E8, 8, 0, 8, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -3000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x29, 10.0, 9500.0, 3333.0, 4444.0, 800.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x60, 0x80, 0xA0, 1, 5000.0, 0, 0, 255.0, 255.0, 0.0, 0, 0, 0, 0, -10000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x2B, 2.0, 2000.0, 2500.0, 3055.0, 750.0, 0.0, 0x3E7, 0x3BD, 0x3E8, 0x20, 0x10, 0x10, 1, 5000.0, 0, 0, 58.0, 17.0, 0.0, 0, 0, 0, 0, -1000.0, 1, 0, 0.0, 255.0, 255.0, 20.0}, - {0x3AF, 2.0, 8000.0, 6000.0, 8000.0, 800.0, 0.0, 0x3E7, 0x3DF, 0x3E8, 0x20, 0x10, 0x10, 1, 5000.0, 0, 0, 58.0, 17.0, 0.0, 0, 0, 0, 0, -1000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x1B, 10.0, 10000.0, 1000.0, 15000.0, 750.0, 0.0, 0x3E7, 0x3E4, 0x41A, 0x10, 0, 0, 1, 5000.0, 0, 0, 58.0, 17.0, 0.0, 0, 0, 0, 0, -1000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0xD1, 10.0, 2500.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x80, 0x78, 0x70, 0, 0.0, 0, 0, 130.0, 120.0, 110.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x135, 10.0, 2000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x80, 0x78, 0x70, 0, 0.0, 0, 0, 130.0, 120.0, 110.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x199, 10.0, 1500.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x80, 0x78, 0x70, 0, 0.0, 0, 0, 130.0, 120.0, 110.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0xF1, 10.0, 7000.0, 3333.0, 4444.0, 800.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x60, 0x80, 0xA0, 1, 5000.0, 0, 0, 255.0, 255.0, 0.0, 0, 0, 0, 0, -10000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x155, 10.0, 5500.0, 3333.0, 4444.0, 800.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x60, 0x80, 0xA0, 1, 5000.0, 0, 0, 255.0, 255.0, 0.0, 0, 0, 0, 0, -10000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x1B9, 10.0, 4000.0, 3333.0, 4444.0, 800.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x60, 0x80, 0xA0, 1, 5000.0, 0, 0, 255.0, 255.0, 0.0, 0, 0, 0, 0, -10000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0xEE, 10.0, 6000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x18, 0x18, 1, 10000.0, 0, 0, 120.0, 120.0, 120.0, 0, 0, 0, 0, -500.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x152, 10.0, 6000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x18, 0x18, 1, 10000.0, 0, 0, 120.0, 120.0, 120.0, 0, 0, 0, 0, -500.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x1B6, 10.0, 6000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x18, 0x18, 1, 10000.0, 0, 0, 120.0, 120.0, 120.0, 0, 0, 0, 0, -500.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0xEF, 10.0, 7500.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E1, 0x3E8, 8, 0, 8, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -3000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x153, 10.0, 6000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E1, 0x3E8, 8, 0, 8, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -3000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x1B7, 10.0, 5000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E1, 0x3E8, 8, 0, 8, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -3000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0xC8, 10.0, 7500.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x12C, 10.0, 6000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x190, 10.0, 5000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x28, 10.0, 20000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x50, 0x38, 1, 5000.0, 0, 0, 255.0, 108.0, 0.0, 0, 0, 0, 0, -1000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0xF0, 10.0, 20000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x50, 0x38, 1, 5000.0, 0, 0, 255.0, 108.0, 0.0, 0, 0, 0, 0, -1000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x154, 10.0, 20000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x50, 0x38, 1, 5000.0, 0, 0, 255.0, 108.0, 0.0, 0, 0, 0, 0, -1000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0x1B8, 10.0, 20000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x18, 0x50, 0x38, 1, 5000.0, 0, 0, 255.0, 108.0, 0.0, 0, 0, 0, 0, -1000.0, 1, 0, 0.0, 255.0, 255.0, 0.0}, - {0xE7, 10.0, 5000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x28, 0, 0, 1, 10000.0, 0, 0, 220.0, 0.0, 20.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x14B, 10.0, 5000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x28, 0, 0, 1, 10000.0, 0, 0, 220.0, 0.0, 20.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x1AF, 10.0, 5000.0, 0.0, 0.0, 0.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x28, 0, 0, 1, 10000.0, 0, 0, 220.0, 0.0, 20.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x1C, 10.0, 15000.0, 3000.0, 4000.0, 600.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 0, 1, 7500.0, 0, 0, 83.0, 72.0, 65.0, 0, 0, 0, 0, -5000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x80, 30.0, 15000.0, 3000.0, 4000.0, 600.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0, 0, 0, 1, 7500.0, 0, 0, 83.0, 72.0, 65.0, 0, 0, 0, 0, -5000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x20, 10.0, 20000.0, 3000.0, 4000.0, 600.0, 0.0, 0x3E7, 0x3E4, 0x3E8, 0x10, 0x30, 0x60, 1, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, -5000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x84, 10.0, 10000.0, 3000.0, 4000.0, 600.0, 0.0, 0x3E7, 0x3CC, 0x3E8, 0, 0, 0, 1, 7500.0, 0, 0, 83.0, 10.0, 10.0, 0, 0, 0, 0, -5000.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0} -}; - -struct fog_element2 fog_tables2[] = { - {0xFFFFFFFF, 0, 0x10, 0x40, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0x1A, 0x10, 0x30, 0x60, 1, 3000.0, 0, 0, 230.0, 230.0, 230.0, 1, 0, 0, 0, -150.0, 2, 0, 255.0, 255.0, 150.0, 0.0}, - {0x36, 0x30, 0x40, 0x10, 0, 5000.0, 0, 0, 255.0, 255.0, 255.0, 0, 0, 0, 0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0}, - {0} -}; - -// rodata - - - -#ifdef NONMATCHING -void sub_GAME_7F0BA720(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BA720 -/* 0EF250 7F0BA720 AFA40000 */ sw $a0, ($sp) -/* 0EF254 7F0BA724 03E00008 */ jr $ra -/* 0EF258 7F0BA728 AFA50004 */ sw $a1, 4($sp) -) -#endif - - - - - -s32 get_ptr_currentdata(void){ - return ptr_current_data; -} - -f32 get_near_fog_value(void) { - return near_fog_value; -} - -f32 square_near_fog_value(void) { - return near_fog_value * near_fog_value; -} - - - - - -#ifdef NONMATCHING -void copy_table1_env_to_current(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copy_table1_env_to_current -/* 0EF288 7F0BA758 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0EF28C 7F0BA75C AFBF0014 */ sw $ra, 0x14($sp) -/* 0EF290 7F0BA760 C48E0008 */ lwc1 $f14, 8($a0) -/* 0EF294 7F0BA764 C48C0004 */ lwc1 $f12, 4($a0) -/* 0EF298 7F0BA768 0C001194 */ jal set_page_height -/* 0EF29C 7F0BA76C AFA40038 */ sw $a0, 0x38($sp) -/* 0EF2A0 7F0BA770 0C0011AB */ jal video_related_27 -/* 0EF2A4 7F0BA774 27A40030 */ addiu $a0, $sp, 0x30 -/* 0EF2A8 7F0BA778 0FC2D21E */ jal sub_GAME_7F0B4878 -/* 0EF2AC 7F0BA77C 00000000 */ nop -/* 0EF2B0 7F0BA780 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0EF2B4 7F0BA784 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 0EF2B8 7F0BA788 8FA50038 */ lw $a1, 0x38($sp) -/* 0EF2BC 7F0BA78C 46002183 */ div.s $f6, $f4, $f0 -/* 0EF2C0 7F0BA790 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0EF2C4 7F0BA794 3C048008 */ lui $a0, %hi(bg_dif_light) -/* 0EF2C8 7F0BA798 248425E4 */ addiu $a0, %lo(bg_dif_light) # addiu $a0, $a0, 0x25e4 -/* 0EF2CC 7F0BA79C 3C068008 */ lui $a2, %hi(buffer_far_ambiant) -/* 0EF2D0 7F0BA7A0 24C625E0 */ addiu $a2, %lo(buffer_far_ambiant) # addiu $a2, $a2, 0x25e0 -/* 0EF2D4 7F0BA7A4 3C038008 */ lui $v1, %hi(buffer_far_pervasiveness) -/* 0EF2D8 7F0BA7A8 246325C8 */ addiu $v1, %lo(buffer_far_pervasiveness) # addiu $v1, $v1, 0x25c8 -/* 0EF2DC 7F0BA7AC 3C028004 */ lui $v0, %hi(ptr_current_data) -/* 0EF2E0 7F0BA7B0 24424DCC */ addiu $v0, %lo(ptr_current_data) # addiu $v0, $v0, 0x4dcc -/* 0EF2E4 7F0BA7B4 46004283 */ div.s $f10, $f8, $f0 -/* 0EF2E8 7F0BA7B8 E7A60030 */ swc1 $f6, 0x30($sp) -/* 0EF2EC 7F0BA7BC 44814000 */ mtc1 $at, $f8 -/* 0EF2F0 7F0BA7C0 E7AA0034 */ swc1 $f10, 0x34($sp) -/* 0EF2F4 7F0BA7C4 8CAE0020 */ lw $t6, 0x20($a1) -/* 0EF2F8 7F0BA7C8 448E2000 */ mtc1 $t6, $f4 -/* 0EF2FC 7F0BA7CC 00000000 */ nop -/* 0EF300 7F0BA7D0 468021A0 */ cvt.s.w $f6, $f4 -/* 0EF304 7F0BA7D4 46083283 */ div.s $f10, $f6, $f8 -/* 0EF308 7F0BA7D8 44814000 */ mtc1 $at, $f8 -/* 0EF30C 7F0BA7DC 3C018004 */ lui $at, %hi(near_fog_value) -/* 0EF310 7F0BA7E0 E48A0000 */ swc1 $f10, ($a0) -/* 0EF314 7F0BA7E4 8CAF0024 */ lw $t7, 0x24($a1) -/* 0EF318 7F0BA7E8 448F2000 */ mtc1 $t7, $f4 -/* 0EF31C 7F0BA7EC 24AF000C */ addiu $t7, $a1, 0xc -/* 0EF320 7F0BA7F0 468021A0 */ cvt.s.w $f6, $f4 -/* 0EF324 7F0BA7F4 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 0EF328 7F0BA7F8 46083283 */ div.s $f10, $f6, $f8 -/* 0EF32C 7F0BA7FC C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0EF330 7F0BA800 46062381 */ sub.s $f14, $f4, $f6 -/* 0EF334 7F0BA804 E4CA0000 */ swc1 $f10, ($a2) -/* 0EF338 7F0BA808 C4D00000 */ lwc1 $f16, ($a2) -/* 0EF33C 7F0BA80C 46107202 */ mul.s $f8, $f14, $f16 -/* 0EF340 7F0BA810 46083280 */ add.s $f10, $f6, $f8 -/* 0EF344 7F0BA814 E42A4DC4 */ swc1 $f10, %lo(near_fog_value)($at) -/* 0EF348 7F0BA818 C4820000 */ lwc1 $f2, ($a0) -/* 0EF34C 7F0BA81C 3C018004 */ lui $at, %hi(near_fog_times_intensity) -/* 0EF350 7F0BA820 46027102 */ mul.s $f4, $f14, $f2 -/* 0EF354 7F0BA824 46043200 */ add.s $f8, $f6, $f4 -/* 0EF358 7F0BA828 E4284DC8 */ swc1 $f8, %lo(near_fog_times_intensity)($at) -/* 0EF35C 7F0BA82C C4AA0004 */ lwc1 $f10, 4($a1) -/* 0EF360 7F0BA830 3C014300 */ li $at, 0x43000000 # 128.000000 -/* 0EF364 7F0BA834 46005183 */ div.s $f6, $f10, $f0 -/* 0EF368 7F0BA838 46028281 */ sub.s $f10, $f16, $f2 -/* 0EF36C 7F0BA83C E4660000 */ swc1 $f6, ($v1) -/* 0EF370 7F0BA840 C4A40008 */ lwc1 $f4, 8($a1) -/* 0EF374 7F0BA844 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0EF378 7F0BA848 44813000 */ mtc1 $at, $f6 -/* 0EF37C 7F0BA84C 46002203 */ div.s $f8, $f4, $f0 -/* 0EF380 7F0BA850 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0EF384 7F0BA854 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0EF388 7F0BA858 44815000 */ mtc1 $at, $f10 -/* 0EF38C 7F0BA85C 3C014380 */ li $at, 0x43800000 # 256.000000 -/* 0EF390 7F0BA860 C4720000 */ lwc1 $f18, ($v1) -/* 0EF394 7F0BA864 E4680004 */ swc1 $f8, 4($v1) -/* 0EF398 7F0BA868 46043203 */ div.s $f8, $f6, $f4 -/* 0EF39C 7F0BA86C C46C0004 */ lwc1 $f12, 4($v1) -/* 0EF3A0 7F0BA870 46025181 */ sub.s $f6, $f10, $f2 -/* 0EF3A4 7F0BA874 E7A80020 */ swc1 $f8, 0x20($sp) -/* 0EF3A8 7F0BA878 44814000 */ mtc1 $at, $f8 -/* 0EF3AC 7F0BA87C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0EF3B0 7F0BA880 46083282 */ mul.s $f10, $f6, $f8 -/* 0EF3B4 7F0BA884 46126201 */ sub.s $f8, $f12, $f18 -/* 0EF3B8 7F0BA888 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0EF3BC 7F0BA88C 44814000 */ mtc1 $at, $f8 -/* 0EF3C0 7F0BA890 46045183 */ div.s $f6, $f10, $f4 -/* 0EF3C4 7F0BA894 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 0EF3C8 7F0BA898 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0EF3CC 7F0BA89C 46005107 */ neg.s $f4, $f10 -/* 0EF3D0 7F0BA8A0 46089280 */ add.s $f10, $f18, $f8 -/* 0EF3D4 7F0BA8A4 C7A80018 */ lwc1 $f8, 0x18($sp) -/* 0EF3D8 7F0BA8A8 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0EF3DC 7F0BA8AC 460C2182 */ mul.s $f6, $f4, $f12 -/* 0EF3E0 7F0BA8B0 00000000 */ nop -/* 0EF3E4 7F0BA8B4 460A3102 */ mul.s $f4, $f6, $f10 -/* 0EF3E8 7F0BA8B8 44815000 */ mtc1 $at, $f10 -/* 0EF3EC 7F0BA8BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0EF3F0 7F0BA8C0 46082183 */ div.s $f6, $f4, $f8 -/* 0EF3F4 7F0BA8C4 44814000 */ mtc1 $at, $f8 -/* 0EF3F8 7F0BA8C8 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0EF3FC 7F0BA8CC 460A3103 */ div.s $f4, $f6, $f10 -/* 0EF400 7F0BA8D0 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 0EF404 7F0BA8D4 46086180 */ add.s $f6, $f12, $f8 -/* 0EF408 7F0BA8D8 C7A80018 */ lwc1 $f8, 0x18($sp) -/* 0EF40C 7F0BA8DC E4640010 */ swc1 $f4, 0x10($v1) -/* 0EF410 7F0BA8E0 460A3102 */ mul.s $f4, $f6, $f10 -/* 0EF414 7F0BA8E4 C7AA001C */ lwc1 $f10, 0x1c($sp) -/* 0EF418 7F0BA8E8 46082183 */ div.s $f6, $f4, $f8 -/* 0EF41C 7F0BA8EC 44814000 */ mtc1 $at, $f8 -/* 0EF420 7F0BA8F0 3C018008 */ lui $at, %hi(ptr_nearfog_enviroment_values) -/* 0EF424 7F0BA8F4 460A3100 */ add.s $f4, $f6, $f10 -/* 0EF428 7F0BA8F8 46082183 */ div.s $f6, $f4, $f8 -/* 0EF42C 7F0BA8FC E4660014 */ swc1 $f6, 0x14($v1) -/* 0EF430 7F0BA900 8CB80020 */ lw $t8, 0x20($a1) -/* 0EF434 7F0BA904 AC580000 */ sw $t8, ($v0) -/* 0EF438 7F0BA908 8CB90024 */ lw $t9, 0x24($a1) -/* 0EF43C 7F0BA90C 24180001 */ li $t8, 1 -/* 0EF440 7F0BA910 AC590004 */ sw $t9, 4($v0) -/* 0EF444 7F0BA914 90A80028 */ lbu $t0, 0x28($a1) -/* 0EF448 7F0BA918 A0480008 */ sb $t0, 8($v0) -/* 0EF44C 7F0BA91C 90A90029 */ lbu $t1, 0x29($a1) -/* 0EF450 7F0BA920 A0490009 */ sb $t1, 9($v0) -/* 0EF454 7F0BA924 90AA002A */ lbu $t2, 0x2a($a1) -/* 0EF458 7F0BA928 A04A000A */ sb $t2, 0xa($v0) -/* 0EF45C 7F0BA92C 90AB002B */ lbu $t3, 0x2b($a1) -/* 0EF460 7F0BA930 A04B000B */ sb $t3, 0xb($v0) -/* 0EF464 7F0BA934 C4AA002C */ lwc1 $f10, 0x2c($a1) -/* 0EF468 7F0BA938 E44A000C */ swc1 $f10, 0xc($v0) -/* 0EF46C 7F0BA93C 84AC0030 */ lh $t4, 0x30($a1) -/* 0EF470 7F0BA940 A44C0010 */ sh $t4, 0x10($v0) -/* 0EF474 7F0BA944 C4A40034 */ lwc1 $f4, 0x34($a1) -/* 0EF478 7F0BA948 E4440014 */ swc1 $f4, 0x14($v0) -/* 0EF47C 7F0BA94C C4A80038 */ lwc1 $f8, 0x38($a1) -/* 0EF480 7F0BA950 E4480018 */ swc1 $f8, 0x18($v0) -/* 0EF484 7F0BA954 C4A6003C */ lwc1 $f6, 0x3c($a1) -/* 0EF488 7F0BA958 E446001C */ swc1 $f6, 0x1c($v0) -/* 0EF48C 7F0BA95C 90AD0040 */ lbu $t5, 0x40($a1) -/* 0EF490 7F0BA960 A04D0020 */ sb $t5, 0x20($v0) -/* 0EF494 7F0BA964 C4AA0044 */ lwc1 $f10, 0x44($a1) -/* 0EF498 7F0BA968 E44A0024 */ swc1 $f10, 0x24($v0) -/* 0EF49C 7F0BA96C 84AE0048 */ lh $t6, 0x48($a1) -/* 0EF4A0 7F0BA970 A44E0028 */ sh $t6, 0x28($v0) -/* 0EF4A4 7F0BA974 C4A4004C */ lwc1 $f4, 0x4c($a1) -/* 0EF4A8 7F0BA978 E444002C */ swc1 $f4, 0x2c($v0) -/* 0EF4AC 7F0BA97C C4A80050 */ lwc1 $f8, 0x50($a1) -/* 0EF4B0 7F0BA980 44802000 */ mtc1 $zero, $f4 -/* 0EF4B4 7F0BA984 E4480030 */ swc1 $f8, 0x30($v0) -/* 0EF4B8 7F0BA988 C4A60054 */ lwc1 $f6, 0x54($a1) -/* 0EF4BC 7F0BA98C E4460034 */ swc1 $f6, 0x34($v0) -/* 0EF4C0 7F0BA990 C4AA0058 */ lwc1 $f10, 0x58($a1) -/* 0EF4C4 7F0BA994 E44A0038 */ swc1 $f10, 0x38($v0) -/* 0EF4C8 7F0BA998 C4A8000C */ lwc1 $f8, 0xc($a1) -/* 0EF4CC 7F0BA99C 46082032 */ c.eq.s $f4, $f8 -/* 0EF4D0 7F0BA9A0 00000000 */ nop -/* 0EF4D4 7F0BA9A4 45000004 */ bc1f .L7F0BA9B8 -/* 0EF4D8 7F0BA9A8 00000000 */ nop -/* 0EF4DC 7F0BA9AC 3C018008 */ lui $at, %hi(ptr_nearfog_enviroment_values) -/* 0EF4E0 7F0BA9B0 10000002 */ b .L7F0BA9BC -/* 0EF4E4 7F0BA9B4 AC2025C4 */ sw $zero, %lo(ptr_nearfog_enviroment_values)($at) -.L7F0BA9B8: -/* 0EF4E8 7F0BA9B8 AC2F25C4 */ sw $t7, %lo(ptr_nearfog_enviroment_values)($at) -.L7F0BA9BC: -/* 0EF4EC 7F0BA9BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EF4F0 7F0BA9C0 3C018008 */ lui $at, %hi(sky_enabled) -/* 0EF4F4 7F0BA9C4 AC3825C0 */ sw $t8, %lo(sky_enabled)($at) -/* 0EF4F8 7F0BA9C8 03E00008 */ jr $ra -/* 0EF4FC 7F0BA9CC 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void copy_table2_env_to_current(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copy_table2_env_to_current -/* 0EF500 7F0BA9D0 908E0004 */ lbu $t6, 4($a0) -/* 0EF504 7F0BA9D4 3C028004 */ lui $v0, %hi(ptr_current_data) -/* 0EF508 7F0BA9D8 24424DCC */ addiu $v0, %lo(ptr_current_data) # addiu $v0, $v0, 0x4dcc -/* 0EF50C 7F0BA9DC A04E0008 */ sb $t6, 8($v0) -/* 0EF510 7F0BA9E0 908F0005 */ lbu $t7, 5($a0) -/* 0EF514 7F0BA9E4 A04F0009 */ sb $t7, 9($v0) -/* 0EF518 7F0BA9E8 90980006 */ lbu $t8, 6($a0) -/* 0EF51C 7F0BA9EC A058000A */ sb $t8, 0xa($v0) -/* 0EF520 7F0BA9F0 90990007 */ lbu $t9, 7($a0) -/* 0EF524 7F0BA9F4 A059000B */ sb $t9, 0xb($v0) -/* 0EF528 7F0BA9F8 C4840008 */ lwc1 $f4, 8($a0) -/* 0EF52C 7F0BA9FC E444000C */ swc1 $f4, 0xc($v0) -/* 0EF530 7F0BAA00 8488000C */ lh $t0, 0xc($a0) -/* 0EF534 7F0BAA04 A4480010 */ sh $t0, 0x10($v0) -/* 0EF538 7F0BAA08 C4860010 */ lwc1 $f6, 0x10($a0) -/* 0EF53C 7F0BAA0C E4460014 */ swc1 $f6, 0x14($v0) -/* 0EF540 7F0BAA10 C4880014 */ lwc1 $f8, 0x14($a0) -/* 0EF544 7F0BAA14 E4480018 */ swc1 $f8, 0x18($v0) -/* 0EF548 7F0BAA18 C48A0018 */ lwc1 $f10, 0x18($a0) -/* 0EF54C 7F0BAA1C E44A001C */ swc1 $f10, 0x1c($v0) -/* 0EF550 7F0BAA20 9089001C */ lbu $t1, 0x1c($a0) -/* 0EF554 7F0BAA24 A0490020 */ sb $t1, 0x20($v0) -/* 0EF558 7F0BAA28 C4900020 */ lwc1 $f16, 0x20($a0) -/* 0EF55C 7F0BAA2C E4500024 */ swc1 $f16, 0x24($v0) -/* 0EF560 7F0BAA30 848A0024 */ lh $t2, 0x24($a0) -/* 0EF564 7F0BAA34 A44A0028 */ sh $t2, 0x28($v0) -/* 0EF568 7F0BAA38 C4920028 */ lwc1 $f18, 0x28($a0) -/* 0EF56C 7F0BAA3C E452002C */ swc1 $f18, 0x2c($v0) -/* 0EF570 7F0BAA40 C484002C */ lwc1 $f4, 0x2c($a0) -/* 0EF574 7F0BAA44 E4440030 */ swc1 $f4, 0x30($v0) -/* 0EF578 7F0BAA48 C4860030 */ lwc1 $f6, 0x30($a0) -/* 0EF57C 7F0BAA4C E4460034 */ swc1 $f6, 0x34($v0) -/* 0EF580 7F0BAA50 C4880034 */ lwc1 $f8, 0x34($a0) -/* 0EF584 7F0BAA54 03E00008 */ jr $ra -/* 0EF588 7F0BAA58 E4480038 */ swc1 $f8, 0x38($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BAA5C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BAA5C -/* 0EF58C 7F0BAA5C 03E00008 */ jr $ra -/* 0EF590 7F0BAA60 AFA40000 */ sw $a0, ($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void load_enviroment(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel default_near_fog -.word 0x7f7fffff /*3.4028235e38*/ -glabel D_80058D74 -.word 0x461c4000 /*10000.0*/ -.text -glabel load_enviroment -/* 0EF594 7F0BAA64 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0EF598 7F0BAA68 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EF59C 7F0BAA6C AFA5002C */ sw $a1, 0x2c($sp) -/* 0EF5A0 7F0BAA70 AFA0001C */ sw $zero, 0x1c($sp) -/* 0EF5A4 7F0BAA74 0FC26919 */ jal get_num_players -/* 0EF5A8 7F0BAA78 AFA40028 */ sw $a0, 0x28($sp) -/* 0EF5AC 7F0BAA7C 24010001 */ li $at, 1 -/* 0EF5B0 7F0BAA80 8FA6001C */ lw $a2, 0x1c($sp) -/* 0EF5B4 7F0BAA84 8FA70028 */ lw $a3, 0x28($sp) -/* 0EF5B8 7F0BAA88 14410002 */ bne $v0, $at, .L7F0BAA94 -/* 0EF5BC 7F0BAA8C 00404025 */ move $t0, $v0 -/* 0EF5C0 7F0BAA90 00004025 */ move $t0, $zero -.L7F0BAA94: -/* 0EF5C4 7F0BAA94 3C018006 */ lui $at, %hi(default_near_fog) -/* 0EF5C8 7F0BAA98 C4248D70 */ lwc1 $f4, %lo(default_near_fog)($at) -/* 0EF5CC 7F0BAA9C 8FAE002C */ lw $t6, 0x2c($sp) -/* 0EF5D0 7F0BAAA0 3C018004 */ lui $at, %hi(near_fog_value) -/* 0EF5D4 7F0BAAA4 44803000 */ mtc1 $zero, $f6 -/* 0EF5D8 7F0BAAA8 E4244DC4 */ swc1 $f4, %lo(near_fog_value)($at) -/* 0EF5DC 7F0BAAAC 3C018004 */ lui $at, %hi(near_fog_times_intensity) -/* 0EF5E0 7F0BAAB0 11C0001A */ beqz $t6, .L7F0BAB1C -/* 0EF5E4 7F0BAAB4 E4264DC8 */ swc1 $f6, %lo(near_fog_times_intensity)($at) -/* 0EF5E8 7F0BAAB8 3C098004 */ lui $t1, %hi(fog_tables) -/* 0EF5EC 7F0BAABC 25234E10 */ addiu $v1, $t1, %lo(fog_tables) -/* 0EF5F0 7F0BAAC0 8C6F0000 */ lw $t7, ($v1) -/* 0EF5F4 7F0BAAC4 3C188004 */ lui $t8, %hi(fog_tables) -/* 0EF5F8 7F0BAAC8 27184E10 */ addiu $t8, %lo(fog_tables) # addiu $t8, $t8, 0x4e10 -/* 0EF5FC 7F0BAACC 11E00013 */ beqz $t7, .L7F0BAB1C -/* 0EF600 7F0BAAD0 24E40384 */ addiu $a0, $a3, 0x384 -/* 0EF604 7F0BAAD4 8F020000 */ lw $v0, ($t8) -.L7F0BAAD8: -/* 0EF608 7F0BAAD8 1482000C */ bne $a0, $v0, .L7F0BAB0C -/* 0EF60C 7F0BAADC 3C028008 */ lui $v0, %hi(env_table_hit) -/* 0EF610 7F0BAAE0 244225E8 */ addiu $v0, %lo(env_table_hit) # addiu $v0, $v0, 0x25e8 -/* 0EF614 7F0BAAE4 AC430000 */ sw $v1, ($v0) -/* 0EF618 7F0BAAE8 3C018008 */ lui $at, %hi(env_table_match_start) -/* 0EF61C 7F0BAAEC AC2325EC */ sw $v1, %lo(env_table_match_start)($at) -/* 0EF620 7F0BAAF0 3C018008 */ lui $at, %hi(env_table_match_end) -/* 0EF624 7F0BAAF4 2479005C */ addiu $t9, $v1, 0x5c -/* 0EF628 7F0BAAF8 AC3925F0 */ sw $t9, %lo(env_table_match_end)($at) -/* 0EF62C 7F0BAAFC 0FC2E9D6 */ jal copy_table1_env_to_current -/* 0EF630 7F0BAB00 8C440000 */ lw $a0, ($v0) -/* 0EF634 7F0BAB04 10000065 */ b .L7F0BAC9C -/* 0EF638 7F0BAB08 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BAB0C: -/* 0EF63C 7F0BAB0C 8C62005C */ lw $v0, 0x5c($v1) -/* 0EF640 7F0BAB10 2463005C */ addiu $v1, $v1, 0x5c -/* 0EF644 7F0BAB14 1440FFF0 */ bnez $v0, .L7F0BAAD8 -/* 0EF648 7F0BAB18 00000000 */ nop -.L7F0BAB1C: -/* 0EF64C 7F0BAB1C 3C098004 */ lui $t1, %hi(fog_tables) -/* 0EF650 7F0BAB20 25294E10 */ addiu $t1, %lo(fog_tables) # addiu $t1, $t1, 0x4e10 -/* 0EF654 7F0BAB24 8D250000 */ lw $a1, ($t1) -/* 0EF658 7F0BAB28 3C0A8004 */ lui $t2, %hi(fog_tables) -/* 0EF65C 7F0BAB2C 254A4E10 */ addiu $t2, %lo(fog_tables) # addiu $t2, $t2, 0x4e10 -/* 0EF660 7F0BAB30 10A00019 */ beqz $a1, .L7F0BAB98 -/* 0EF664 7F0BAB34 01201825 */ move $v1, $t1 -/* 0EF668 7F0BAB38 00085880 */ sll $t3, $t0, 2 -/* 0EF66C 7F0BAB3C 01685823 */ subu $t3, $t3, $t0 -/* 0EF670 7F0BAB40 000B58C0 */ sll $t3, $t3, 3 -/* 0EF674 7F0BAB44 01685821 */ addu $t3, $t3, $t0 -/* 0EF678 7F0BAB48 000B5880 */ sll $t3, $t3, 2 -/* 0EF67C 7F0BAB4C 00EB2021 */ addu $a0, $a3, $t3 -/* 0EF680 7F0BAB50 8D420000 */ lw $v0, ($t2) -.L7F0BAB54: -/* 0EF684 7F0BAB54 1482000C */ bne $a0, $v0, .L7F0BAB88 -/* 0EF688 7F0BAB58 3C028008 */ lui $v0, %hi(env_table_hit) -/* 0EF68C 7F0BAB5C 244225E8 */ addiu $v0, %lo(env_table_hit) # addiu $v0, $v0, 0x25e8 -/* 0EF690 7F0BAB60 AC430000 */ sw $v1, ($v0) -/* 0EF694 7F0BAB64 3C018008 */ lui $at, %hi(env_table_match_start) -/* 0EF698 7F0BAB68 AC2325EC */ sw $v1, %lo(env_table_match_start)($at) -/* 0EF69C 7F0BAB6C 3C018008 */ lui $at, %hi(env_table_match_end) -/* 0EF6A0 7F0BAB70 246C005C */ addiu $t4, $v1, 0x5c -/* 0EF6A4 7F0BAB74 AC2C25F0 */ sw $t4, %lo(env_table_match_end)($at) -/* 0EF6A8 7F0BAB78 0FC2E9D6 */ jal copy_table1_env_to_current -/* 0EF6AC 7F0BAB7C 8C440000 */ lw $a0, ($v0) -/* 0EF6B0 7F0BAB80 10000046 */ b .L7F0BAC9C -/* 0EF6B4 7F0BAB84 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BAB88: -/* 0EF6B8 7F0BAB88 8C62005C */ lw $v0, 0x5c($v1) -/* 0EF6BC 7F0BAB8C 2463005C */ addiu $v1, $v1, 0x5c -/* 0EF6C0 7F0BAB90 1440FFF0 */ bnez $v0, .L7F0BAB54 -/* 0EF6C4 7F0BAB94 00000000 */ nop -.L7F0BAB98: -/* 0EF6C8 7F0BAB98 29010002 */ slti $at, $t0, 2 -/* 0EF6CC 7F0BAB9C 5420001D */ bnezl $at, .L7F0BAC14 -/* 0EF6D0 7F0BABA0 3C014170 */ lui $at, 0x4170 -/* 0EF6D4 7F0BABA4 10A0001A */ beqz $a1, .L7F0BAC10 -/* 0EF6D8 7F0BABA8 01201825 */ move $v1, $t1 -/* 0EF6DC 7F0BABAC 00082080 */ sll $a0, $t0, 2 -/* 0EF6E0 7F0BABB0 00882023 */ subu $a0, $a0, $t0 -/* 0EF6E4 7F0BABB4 000420C0 */ sll $a0, $a0, 3 -/* 0EF6E8 7F0BABB8 3C0D8004 */ lui $t5, %hi(fog_tables) -/* 0EF6EC 7F0BABBC 25AD4E10 */ addiu $t5, %lo(fog_tables) # addiu $t5, $t5, 0x4e10 -/* 0EF6F0 7F0BABC0 00882021 */ addu $a0, $a0, $t0 -/* 0EF6F4 7F0BABC4 00042080 */ sll $a0, $a0, 2 -/* 0EF6F8 7F0BABC8 8DA20000 */ lw $v0, ($t5) -.L7F0BABCC: -/* 0EF6FC 7F0BABCC 1482000C */ bne $a0, $v0, .L7F0BAC00 -/* 0EF700 7F0BABD0 3C028008 */ lui $v0, %hi(env_table_hit) -/* 0EF704 7F0BABD4 244225E8 */ addiu $v0, %lo(env_table_hit) # addiu $v0, $v0, 0x25e8 -/* 0EF708 7F0BABD8 AC430000 */ sw $v1, ($v0) -/* 0EF70C 7F0BABDC 3C018008 */ lui $at, %hi(env_table_match_start) -/* 0EF710 7F0BABE0 AC2325EC */ sw $v1, %lo(env_table_match_start)($at) -/* 0EF714 7F0BABE4 3C018008 */ lui $at, %hi(env_table_match_end) -/* 0EF718 7F0BABE8 246E005C */ addiu $t6, $v1, 0x5c -/* 0EF71C 7F0BABEC AC2E25F0 */ sw $t6, %lo(env_table_match_end)($at) -/* 0EF720 7F0BABF0 0FC2E9D6 */ jal copy_table1_env_to_current -/* 0EF724 7F0BABF4 8C440000 */ lw $a0, ($v0) -/* 0EF728 7F0BABF8 10000028 */ b .L7F0BAC9C -/* 0EF72C 7F0BABFC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BAC00: -/* 0EF730 7F0BAC00 8C62005C */ lw $v0, 0x5c($v1) -/* 0EF734 7F0BAC04 2463005C */ addiu $v1, $v1, 0x5c -/* 0EF738 7F0BAC08 1440FFF0 */ bnez $v0, .L7F0BABCC -/* 0EF73C 7F0BAC0C 00000000 */ nop -.L7F0BAC10: -/* 0EF740 7F0BAC10 3C014170 */ li $at, 0x41700000 # 15.000000 -.L7F0BAC14: -/* 0EF744 7F0BAC14 44816000 */ mtc1 $at, $f12 -/* 0EF748 7F0BAC18 3C018006 */ lui $at, %hi(D_80058D74) -/* 0EF74C 7F0BAC1C C42E8D74 */ lwc1 $f14, %lo(D_80058D74)($at) -/* 0EF750 7F0BAC20 AFA6001C */ sw $a2, 0x1c($sp) -/* 0EF754 7F0BAC24 0C001194 */ jal set_page_height -/* 0EF758 7F0BAC28 AFA70028 */ sw $a3, 0x28($sp) -/* 0EF75C 7F0BAC2C 3C048004 */ lui $a0, %hi(fog_tables2) -/* 0EF760 7F0BAC30 3C018008 */ lui $at, %hi(sky_enabled) -/* 0EF764 7F0BAC34 24845F50 */ addiu $a0, %lo(fog_tables2) # addiu $a0, $a0, 0x5f50 -/* 0EF768 7F0BAC38 AC2025C0 */ sw $zero, %lo(sky_enabled)($at) -/* 0EF76C 7F0BAC3C 8C8F0000 */ lw $t7, ($a0) -/* 0EF770 7F0BAC40 8FA6001C */ lw $a2, 0x1c($sp) -/* 0EF774 7F0BAC44 8FA70028 */ lw $a3, 0x28($sp) -/* 0EF778 7F0BAC48 11E0000B */ beqz $t7, .L7F0BAC78 -/* 0EF77C 7F0BAC4C 00801825 */ move $v1, $a0 -/* 0EF780 7F0BAC50 3C188004 */ lui $t8, %hi(fog_tables2) -/* 0EF784 7F0BAC54 27185F50 */ addiu $t8, %lo(fog_tables2) # addiu $t8, $t8, 0x5f50 -/* 0EF788 7F0BAC58 8F020000 */ lw $v0, ($t8) -.L7F0BAC5C: -/* 0EF78C 7F0BAC5C 54E20003 */ bnel $a3, $v0, .L7F0BAC6C -/* 0EF790 7F0BAC60 8C620038 */ lw $v0, 0x38($v1) -/* 0EF794 7F0BAC64 00603025 */ move $a2, $v1 -/* 0EF798 7F0BAC68 8C620038 */ lw $v0, 0x38($v1) -.L7F0BAC6C: -/* 0EF79C 7F0BAC6C 24630038 */ addiu $v1, $v1, 0x38 -/* 0EF7A0 7F0BAC70 1440FFFA */ bnez $v0, .L7F0BAC5C -/* 0EF7A4 7F0BAC74 00000000 */ nop -.L7F0BAC78: -/* 0EF7A8 7F0BAC78 14C00002 */ bnez $a2, .L7F0BAC84 -/* 0EF7AC 7F0BAC7C 00000000 */ nop -/* 0EF7B0 7F0BAC80 00803025 */ move $a2, $a0 -.L7F0BAC84: -/* 0EF7B4 7F0BAC84 0FC2EA74 */ jal copy_table2_env_to_current -/* 0EF7B8 7F0BAC88 00C02025 */ move $a0, $a2 -/* 0EF7BC 7F0BAC8C 3C028008 */ lui $v0, %hi(env_table_hit) -/* 0EF7C0 7F0BAC90 244225E8 */ addiu $v0, %lo(env_table_hit) # addiu $v0, $v0, 0x25e8 -/* 0EF7C4 7F0BAC94 AC400000 */ sw $zero, ($v0) -/* 0EF7C8 7F0BAC98 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BAC9C: -/* 0EF7CC 7F0BAC9C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0EF7D0 7F0BACA0 03E00008 */ jr $ra -/* 0EF7D4 7F0BACA4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void switch_to_solosky2(void) { - -} -#else -GLOBAL_ASM( -.text -glabel switch_to_solosky2 -/* 0EF7D8 7F0BACA8 3C028008 */ lui $v0, %hi(env_table_match_start) -/* 0EF7DC 7F0BACAC 8C4225EC */ lw $v0, %lo(env_table_match_start)($v0) -/* 0EF7E0 7F0BACB0 3C048008 */ lui $a0, %hi(dword_CODE_bss_800825F8) -/* 0EF7E4 7F0BACB4 248425F8 */ addiu $a0, %lo(dword_CODE_bss_800825F8) # addiu $a0, $a0, 0x25f8 -/* 0EF7E8 7F0BACB8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0EF7EC 7F0BACBC AFBF0014 */ sw $ra, 0x14($sp) -/* 0EF7F0 7F0BACC0 00804025 */ move $t0, $a0 -/* 0EF7F4 7F0BACC4 0040C825 */ move $t9, $v0 -/* 0EF7F8 7F0BACC8 24580054 */ addiu $t8, $v0, 0x54 -.L7F0BACCC: -/* 0EF7FC 7F0BACCC 8F210000 */ lw $at, ($t9) -/* 0EF800 7F0BACD0 2739000C */ addiu $t9, $t9, 0xc -/* 0EF804 7F0BACD4 2508000C */ addiu $t0, $t0, 0xc -/* 0EF808 7F0BACD8 AD01FFF4 */ sw $at, -0xc($t0) -/* 0EF80C 7F0BACDC 8F21FFF8 */ lw $at, -8($t9) -/* 0EF810 7F0BACE0 AD01FFF8 */ sw $at, -8($t0) -/* 0EF814 7F0BACE4 8F21FFFC */ lw $at, -4($t9) -/* 0EF818 7F0BACE8 1738FFF8 */ bne $t9, $t8, .L7F0BACCC -/* 0EF81C 7F0BACEC AD01FFFC */ sw $at, -4($t0) -/* 0EF820 7F0BACF0 8F210000 */ lw $at, ($t9) -/* 0EF824 7F0BACF4 3C038008 */ lui $v1, %hi(env_table_match_end) -/* 0EF828 7F0BACF8 AD010000 */ sw $at, ($t0) -/* 0EF82C 7F0BACFC 8F380004 */ lw $t8, 4($t9) -/* 0EF830 7F0BAD00 3C018008 */ lui $at, %hi(flt_CODE_bss_800825FC) -/* 0EF834 7F0BAD04 AD180004 */ sw $t8, 4($t0) -/* 0EF838 7F0BAD08 8C6325F0 */ lw $v1, %lo(env_table_match_end)($v1) -/* 0EF83C 7F0BAD0C C4400004 */ lwc1 $f0, 4($v0) -/* 0EF840 7F0BAD10 C4640004 */ lwc1 $f4, 4($v1) -/* 0EF844 7F0BAD14 46002181 */ sub.s $f6, $f4, $f0 -/* 0EF848 7F0BAD18 46066202 */ mul.s $f8, $f12, $f6 -/* 0EF84C 7F0BAD1C 46080280 */ add.s $f10, $f0, $f8 -/* 0EF850 7F0BAD20 E42A25FC */ swc1 $f10, %lo(flt_CODE_bss_800825FC)($at) -/* 0EF854 7F0BAD24 C4420008 */ lwc1 $f2, 8($v0) -/* 0EF858 7F0BAD28 C4640008 */ lwc1 $f4, 8($v1) -/* 0EF85C 7F0BAD2C 3C018008 */ lui $at, %hi(flt_CODE_bss_80082600) -/* 0EF860 7F0BAD30 46022181 */ sub.s $f6, $f4, $f2 -/* 0EF864 7F0BAD34 46066202 */ mul.s $f8, $f12, $f6 -/* 0EF868 7F0BAD38 46081280 */ add.s $f10, $f2, $f8 -/* 0EF86C 7F0BAD3C E42A2600 */ swc1 $f10, %lo(flt_CODE_bss_80082600)($at) -/* 0EF870 7F0BAD40 8C490020 */ lw $t1, 0x20($v0) -/* 0EF874 7F0BAD44 8C6A0020 */ lw $t2, 0x20($v1) -/* 0EF878 7F0BAD48 3C018008 */ lui $at, %hi(dword_CODE_bss_8008261C) -/* 0EF87C 7F0BAD4C 44892000 */ mtc1 $t1, $f4 -/* 0EF880 7F0BAD50 448A3000 */ mtc1 $t2, $f6 -/* 0EF884 7F0BAD54 468023A0 */ cvt.s.w $f14, $f4 -/* 0EF888 7F0BAD58 46803220 */ cvt.s.w $f8, $f6 -/* 0EF88C 7F0BAD5C 460E4281 */ sub.s $f10, $f8, $f14 -/* 0EF890 7F0BAD60 460A6102 */ mul.s $f4, $f12, $f10 -/* 0EF894 7F0BAD64 46047180 */ add.s $f6, $f14, $f4 -/* 0EF898 7F0BAD68 4600320D */ trunc.w.s $f8, $f6 -/* 0EF89C 7F0BAD6C 440C4000 */ mfc1 $t4, $f8 -/* 0EF8A0 7F0BAD70 00000000 */ nop -/* 0EF8A4 7F0BAD74 AC2C2618 */ sw $t4, %lo(dword_CODE_bss_80082618)($at) -/* 0EF8A8 7F0BAD78 8C4D0024 */ lw $t5, 0x24($v0) -/* 0EF8AC 7F0BAD7C 8C6F0024 */ lw $t7, 0x24($v1) -/* 0EF8B0 7F0BAD80 448D5000 */ mtc1 $t5, $f10 -/* 0EF8B4 7F0BAD84 448F2000 */ mtc1 $t7, $f4 -/* 0EF8B8 7F0BAD88 46805420 */ cvt.s.w $f16, $f10 -/* 0EF8BC 7F0BAD8C 468021A0 */ cvt.s.w $f6, $f4 -/* 0EF8C0 7F0BAD90 46103201 */ sub.s $f8, $f6, $f16 -/* 0EF8C4 7F0BAD94 46086282 */ mul.s $f10, $f12, $f8 -/* 0EF8C8 7F0BAD98 460A8100 */ add.s $f4, $f16, $f10 -/* 0EF8CC 7F0BAD9C 4600218D */ trunc.w.s $f6, $f4 -/* 0EF8D0 7F0BADA0 44183000 */ mfc1 $t8, $f6 -/* 0EF8D4 7F0BADA4 00000000 */ nop -/* 0EF8D8 7F0BADA8 AC38261C */ sw $t8, %lo(dword_CODE_bss_8008261C)($at) -/* 0EF8DC 7F0BADAC 90590028 */ lbu $t9, 0x28($v0) -/* 0EF8E0 7F0BADB0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EF8E4 7F0BADB4 44994000 */ mtc1 $t9, $f8 -/* 0EF8E8 7F0BADB8 07210004 */ bgez $t9, .L7F0BADCC -/* 0EF8EC 7F0BADBC 468044A0 */ cvt.s.w $f18, $f8 -/* 0EF8F0 7F0BADC0 44815000 */ mtc1 $at, $f10 -/* 0EF8F4 7F0BADC4 00000000 */ nop -/* 0EF8F8 7F0BADC8 460A9480 */ add.s $f18, $f18, $f10 -.L7F0BADCC: -/* 0EF8FC 7F0BADCC 90680028 */ lbu $t0, 0x28($v1) -/* 0EF900 7F0BADD0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EF904 7F0BADD4 44882000 */ mtc1 $t0, $f4 -/* 0EF908 7F0BADD8 05010004 */ bgez $t0, .L7F0BADEC -/* 0EF90C 7F0BADDC 468021A0 */ cvt.s.w $f6, $f4 -/* 0EF910 7F0BADE0 44814000 */ mtc1 $at, $f8 -/* 0EF914 7F0BADE4 00000000 */ nop -/* 0EF918 7F0BADE8 46083180 */ add.s $f6, $f6, $f8 -.L7F0BADEC: -/* 0EF91C 7F0BADEC 46123281 */ sub.s $f10, $f6, $f18 -/* 0EF920 7F0BADF0 240A0001 */ li $t2, 1 -/* 0EF924 7F0BADF4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0EF928 7F0BADF8 460A6102 */ mul.s $f4, $f12, $f10 -/* 0EF92C 7F0BADFC 46049200 */ add.s $f8, $f18, $f4 -/* 0EF930 7F0BAE00 4449F800 */ cfc1 $t1, $31 -/* 0EF934 7F0BAE04 44CAF800 */ ctc1 $t2, $31 -/* 0EF938 7F0BAE08 00000000 */ nop -/* 0EF93C 7F0BAE0C 460041A4 */ cvt.w.s $f6, $f8 -/* 0EF940 7F0BAE10 444AF800 */ cfc1 $t2, $31 -/* 0EF944 7F0BAE14 00000000 */ nop -/* 0EF948 7F0BAE18 314A0078 */ andi $t2, $t2, 0x78 -/* 0EF94C 7F0BAE1C 51400013 */ beql $t2, $zero, .L7F0BAE6C -/* 0EF950 7F0BAE20 440A3000 */ mfc1 $t2, $f6 -/* 0EF954 7F0BAE24 44813000 */ mtc1 $at, $f6 -/* 0EF958 7F0BAE28 240A0001 */ li $t2, 1 -/* 0EF95C 7F0BAE2C 46064181 */ sub.s $f6, $f8, $f6 -/* 0EF960 7F0BAE30 44CAF800 */ ctc1 $t2, $31 -/* 0EF964 7F0BAE34 00000000 */ nop -/* 0EF968 7F0BAE38 460031A4 */ cvt.w.s $f6, $f6 -/* 0EF96C 7F0BAE3C 444AF800 */ cfc1 $t2, $31 -/* 0EF970 7F0BAE40 00000000 */ nop -/* 0EF974 7F0BAE44 314A0078 */ andi $t2, $t2, 0x78 -/* 0EF978 7F0BAE48 15400005 */ bnez $t2, .L7F0BAE60 -/* 0EF97C 7F0BAE4C 00000000 */ nop -/* 0EF980 7F0BAE50 440A3000 */ mfc1 $t2, $f6 -/* 0EF984 7F0BAE54 3C018000 */ lui $at, 0x8000 -/* 0EF988 7F0BAE58 10000007 */ b .L7F0BAE78 -/* 0EF98C 7F0BAE5C 01415025 */ or $t2, $t2, $at -.L7F0BAE60: -/* 0EF990 7F0BAE60 10000005 */ b .L7F0BAE78 -/* 0EF994 7F0BAE64 240AFFFF */ li $t2, -1 -/* 0EF998 7F0BAE68 440A3000 */ mfc1 $t2, $f6 -.L7F0BAE6C: -/* 0EF99C 7F0BAE6C 00000000 */ nop -/* 0EF9A0 7F0BAE70 0540FFFB */ bltz $t2, .L7F0BAE60 -/* 0EF9A4 7F0BAE74 00000000 */ nop -.L7F0BAE78: -/* 0EF9A8 7F0BAE78 3C018008 */ lui $at, %hi(off_CODE_bss_80082620) -/* 0EF9AC 7F0BAE7C A02A2620 */ sb $t2, %lo(off_CODE_bss_80082620)($at) -/* 0EF9B0 7F0BAE80 904B0029 */ lbu $t3, 0x29($v0) -/* 0EF9B4 7F0BAE84 44C9F800 */ ctc1 $t1, $31 -/* 0EF9B8 7F0BAE88 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EF9BC 7F0BAE8C 448B5000 */ mtc1 $t3, $f10 -/* 0EF9C0 7F0BAE90 05610004 */ bgez $t3, .L7F0BAEA4 -/* 0EF9C4 7F0BAE94 46805120 */ cvt.s.w $f4, $f10 -/* 0EF9C8 7F0BAE98 44814000 */ mtc1 $at, $f8 -/* 0EF9CC 7F0BAE9C 00000000 */ nop -/* 0EF9D0 7F0BAEA0 46082100 */ add.s $f4, $f4, $f8 -.L7F0BAEA4: -/* 0EF9D4 7F0BAEA4 E7A40018 */ swc1 $f4, 0x18($sp) -/* 0EF9D8 7F0BAEA8 906C0029 */ lbu $t4, 0x29($v1) -/* 0EF9DC 7F0BAEAC C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0EF9E0 7F0BAEB0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EF9E4 7F0BAEB4 448C3000 */ mtc1 $t4, $f6 -/* 0EF9E8 7F0BAEB8 314B00F8 */ andi $t3, $t2, 0xf8 -/* 0EF9EC 7F0BAEBC 05810004 */ bgez $t4, .L7F0BAED0 -/* 0EF9F0 7F0BAEC0 468032A0 */ cvt.s.w $f10, $f6 -/* 0EF9F4 7F0BAEC4 44814000 */ mtc1 $at, $f8 -/* 0EF9F8 7F0BAEC8 00000000 */ nop -/* 0EF9FC 7F0BAECC 46085280 */ add.s $f10, $f10, $f8 -.L7F0BAED0: -/* 0EFA00 7F0BAED0 46045181 */ sub.s $f6, $f10, $f4 -/* 0EFA04 7F0BAED4 240F0001 */ li $t7, 1 -/* 0EFA08 7F0BAED8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0EFA0C 7F0BAEDC 46066202 */ mul.s $f8, $f12, $f6 -/* 0EFA10 7F0BAEE0 46082280 */ add.s $f10, $f4, $f8 -/* 0EFA14 7F0BAEE4 444DF800 */ cfc1 $t5, $31 -/* 0EFA18 7F0BAEE8 44CFF800 */ ctc1 $t7, $31 -/* 0EFA1C 7F0BAEEC 00000000 */ nop -/* 0EFA20 7F0BAEF0 460051A4 */ cvt.w.s $f6, $f10 -/* 0EFA24 7F0BAEF4 444FF800 */ cfc1 $t7, $31 -/* 0EFA28 7F0BAEF8 00000000 */ nop -/* 0EFA2C 7F0BAEFC 31EF0078 */ andi $t7, $t7, 0x78 -/* 0EFA30 7F0BAF00 51E00013 */ beql $t7, $zero, .L7F0BAF50 -/* 0EFA34 7F0BAF04 440F3000 */ mfc1 $t7, $f6 -/* 0EFA38 7F0BAF08 44813000 */ mtc1 $at, $f6 -/* 0EFA3C 7F0BAF0C 240F0001 */ li $t7, 1 -/* 0EFA40 7F0BAF10 46065181 */ sub.s $f6, $f10, $f6 -/* 0EFA44 7F0BAF14 44CFF800 */ ctc1 $t7, $31 -/* 0EFA48 7F0BAF18 00000000 */ nop -/* 0EFA4C 7F0BAF1C 460031A4 */ cvt.w.s $f6, $f6 -/* 0EFA50 7F0BAF20 444FF800 */ cfc1 $t7, $31 -/* 0EFA54 7F0BAF24 00000000 */ nop -/* 0EFA58 7F0BAF28 31EF0078 */ andi $t7, $t7, 0x78 -/* 0EFA5C 7F0BAF2C 15E00005 */ bnez $t7, .L7F0BAF44 -/* 0EFA60 7F0BAF30 00000000 */ nop -/* 0EFA64 7F0BAF34 440F3000 */ mfc1 $t7, $f6 -/* 0EFA68 7F0BAF38 3C018000 */ lui $at, 0x8000 -/* 0EFA6C 7F0BAF3C 10000007 */ b .L7F0BAF5C -/* 0EFA70 7F0BAF40 01E17825 */ or $t7, $t7, $at -.L7F0BAF44: -/* 0EFA74 7F0BAF44 10000005 */ b .L7F0BAF5C -/* 0EFA78 7F0BAF48 240FFFFF */ li $t7, -1 -/* 0EFA7C 7F0BAF4C 440F3000 */ mfc1 $t7, $f6 -.L7F0BAF50: -/* 0EFA80 7F0BAF50 00000000 */ nop -/* 0EFA84 7F0BAF54 05E0FFFB */ bltz $t7, .L7F0BAF44 -/* 0EFA88 7F0BAF58 00000000 */ nop -.L7F0BAF5C: -/* 0EFA8C 7F0BAF5C 3C018008 */ lui $at, %hi(byte_CODE_bss_80082621) -/* 0EFA90 7F0BAF60 A02F2621 */ sb $t7, %lo(byte_CODE_bss_80082621)($at) -/* 0EFA94 7F0BAF64 904E002A */ lbu $t6, 0x2a($v0) -/* 0EFA98 7F0BAF68 44CDF800 */ ctc1 $t5, $31 -/* 0EFA9C 7F0BAF6C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EFAA0 7F0BAF70 448E2000 */ mtc1 $t6, $f4 -/* 0EFAA4 7F0BAF74 31ED00F8 */ andi $t5, $t7, 0xf8 -/* 0EFAA8 7F0BAF78 05C10004 */ bgez $t6, .L7F0BAF8C -/* 0EFAAC 7F0BAF7C 46802220 */ cvt.s.w $f8, $f4 -/* 0EFAB0 7F0BAF80 44815000 */ mtc1 $at, $f10 -/* 0EFAB4 7F0BAF84 00000000 */ nop -/* 0EFAB8 7F0BAF88 460A4200 */ add.s $f8, $f8, $f10 -.L7F0BAF8C: -/* 0EFABC 7F0BAF8C E7A8001C */ swc1 $f8, 0x1c($sp) -/* 0EFAC0 7F0BAF90 9078002A */ lbu $t8, 0x2a($v1) -/* 0EFAC4 7F0BAF94 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 0EFAC8 7F0BAF98 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EFACC 7F0BAF9C 44983000 */ mtc1 $t8, $f6 -/* 0EFAD0 7F0BAFA0 07010004 */ bgez $t8, .L7F0BAFB4 -/* 0EFAD4 7F0BAFA4 46803120 */ cvt.s.w $f4, $f6 -/* 0EFAD8 7F0BAFA8 44815000 */ mtc1 $at, $f10 -/* 0EFADC 7F0BAFAC 00000000 */ nop -/* 0EFAE0 7F0BAFB0 460A2100 */ add.s $f4, $f4, $f10 -.L7F0BAFB4: -/* 0EFAE4 7F0BAFB4 46082181 */ sub.s $f6, $f4, $f8 -/* 0EFAE8 7F0BAFB8 24080001 */ li $t0, 1 -/* 0EFAEC 7F0BAFBC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0EFAF0 7F0BAFC0 46066282 */ mul.s $f10, $f12, $f6 -/* 0EFAF4 7F0BAFC4 460A4100 */ add.s $f4, $f8, $f10 -/* 0EFAF8 7F0BAFC8 4459F800 */ cfc1 $t9, $31 -/* 0EFAFC 7F0BAFCC 44C8F800 */ ctc1 $t0, $31 -/* 0EFB00 7F0BAFD0 00000000 */ nop -/* 0EFB04 7F0BAFD4 460021A4 */ cvt.w.s $f6, $f4 -/* 0EFB08 7F0BAFD8 4448F800 */ cfc1 $t0, $31 -/* 0EFB0C 7F0BAFDC 00000000 */ nop -/* 0EFB10 7F0BAFE0 31080078 */ andi $t0, $t0, 0x78 -/* 0EFB14 7F0BAFE4 51000013 */ beql $t0, $zero, .L7F0BB034 -/* 0EFB18 7F0BAFE8 44083000 */ mfc1 $t0, $f6 -/* 0EFB1C 7F0BAFEC 44813000 */ mtc1 $at, $f6 -/* 0EFB20 7F0BAFF0 24080001 */ li $t0, 1 -/* 0EFB24 7F0BAFF4 46062181 */ sub.s $f6, $f4, $f6 -/* 0EFB28 7F0BAFF8 44C8F800 */ ctc1 $t0, $31 -/* 0EFB2C 7F0BAFFC 00000000 */ nop -/* 0EFB30 7F0BB000 460031A4 */ cvt.w.s $f6, $f6 -/* 0EFB34 7F0BB004 4448F800 */ cfc1 $t0, $31 -/* 0EFB38 7F0BB008 00000000 */ nop -/* 0EFB3C 7F0BB00C 31080078 */ andi $t0, $t0, 0x78 -/* 0EFB40 7F0BB010 15000005 */ bnez $t0, .L7F0BB028 -/* 0EFB44 7F0BB014 00000000 */ nop -/* 0EFB48 7F0BB018 44083000 */ mfc1 $t0, $f6 -/* 0EFB4C 7F0BB01C 3C018000 */ lui $at, 0x8000 -/* 0EFB50 7F0BB020 10000007 */ b .L7F0BB040 -/* 0EFB54 7F0BB024 01014025 */ or $t0, $t0, $at -.L7F0BB028: -/* 0EFB58 7F0BB028 10000005 */ b .L7F0BB040 -/* 0EFB5C 7F0BB02C 2408FFFF */ li $t0, -1 -/* 0EFB60 7F0BB030 44083000 */ mfc1 $t0, $f6 -.L7F0BB034: -/* 0EFB64 7F0BB034 00000000 */ nop -/* 0EFB68 7F0BB038 0500FFFB */ bltz $t0, .L7F0BB028 -/* 0EFB6C 7F0BB03C 00000000 */ nop -.L7F0BB040: -/* 0EFB70 7F0BB040 3C018008 */ lui $at, %hi(byte_CODE_bss_80082622) -/* 0EFB74 7F0BB044 A0282622 */ sb $t0, %lo(byte_CODE_bss_80082622)($at) -/* 0EFB78 7F0BB048 44D9F800 */ ctc1 $t9, $31 -/* 0EFB7C 7F0BB04C 311800F8 */ andi $t8, $t0, 0xf8 -/* 0EFB80 7F0BB050 A02B2620 */ sb $t3, %lo(off_CODE_bss_80082620)($at) -/* 0EFB84 7F0BB054 A02D2621 */ sb $t5, %lo(byte_CODE_bss_80082621)($at) -/* 0EFB88 7F0BB058 0FC2E9D6 */ jal copy_table1_env_to_current -/* 0EFB8C 7F0BB05C A0382622 */ sb $t8, %lo(byte_CODE_bss_80082622)($at) -/* 0EFB90 7F0BB060 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EFB94 7F0BB064 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0EFB98 7F0BB068 03E00008 */ jr $ra -/* 0EFB9C 7F0BB06C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BB070(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BB070 -/* 0EFBA0 7F0BB070 3C0E8008 */ lui $t6, %hi(sky_enabled) -/* 0EFBA4 7F0BB074 8DCE25C0 */ lw $t6, %lo(sky_enabled)($t6) -/* 0EFBA8 7F0BB078 15C00003 */ bnez $t6, .L7F0BB088 -/* 0EFBAC 7F0BB07C 00000000 */ nop -/* 0EFBB0 7F0BB080 03E00008 */ jr $ra -/* 0EFBB4 7F0BB084 00801025 */ move $v0, $a0 - -.L7F0BB088: -/* 0EFBB8 7F0BB088 10A0003D */ beqz $a1, .L7F0BB180 -/* 0EFBBC 7F0BB08C 3C078004 */ lui $a3, %hi(ptr_current_data) -/* 0EFBC0 7F0BB090 3C078004 */ lui $a3, %hi(ptr_current_data) -/* 0EFBC4 7F0BB094 00801025 */ move $v0, $a0 -/* 0EFBC8 7F0BB098 3C0FF800 */ lui $t7, 0xf800 -/* 0EFBCC 7F0BB09C 24E74DCC */ addiu $a3, %lo(ptr_current_data) # addiu $a3, $a3, 0x4dcc -/* 0EFBD0 7F0BB0A0 AC4F0000 */ sw $t7, ($v0) -/* 0EFBD4 7F0BB0A4 90ED000A */ lbu $t5, 0xa($a3) -/* 0EFBD8 7F0BB0A8 90EA0009 */ lbu $t2, 9($a3) -/* 0EFBDC 7F0BB0AC 90F90008 */ lbu $t9, 8($a3) -/* 0EFBE0 7F0BB0B0 01A07025 */ move $t6, $t5 -/* 0EFBE4 7F0BB0B4 000A5C00 */ sll $t3, $t2, 0x10 -/* 0EFBE8 7F0BB0B8 00194600 */ sll $t0, $t9, 0x18 -/* 0EFBEC 7F0BB0BC 010B6025 */ or $t4, $t0, $t3 -/* 0EFBF0 7F0BB0C0 000E7A00 */ sll $t7, $t6, 8 -/* 0EFBF4 7F0BB0C4 018FC025 */ or $t8, $t4, $t7 -/* 0EFBF8 7F0BB0C8 371900FF */ ori $t9, $t8, 0xff -/* 0EFBFC 7F0BB0CC 24840008 */ addiu $a0, $a0, 8 -/* 0EFC00 7F0BB0D0 3C09BC00 */ lui $t1, (0xBC000008 >> 16) # lui $t1, 0xbc00 -/* 0EFC04 7F0BB0D4 AC590004 */ sw $t9, 4($v0) -/* 0EFC08 7F0BB0D8 35290008 */ ori $t1, (0xBC000008 & 0xFFFF) # ori $t1, $t1, 8 -/* 0EFC0C 7F0BB0DC 00801825 */ move $v1, $a0 -/* 0EFC10 7F0BB0E0 AC690000 */ sw $t1, ($v1) -/* 0EFC14 7F0BB0E4 8CEA0004 */ lw $t2, 4($a3) -/* 0EFC18 7F0BB0E8 8CE50000 */ lw $a1, ($a3) -/* 0EFC1C 7F0BB0EC 3C080001 */ lui $t0, (0x0001F400 >> 16) # lui $t0, 1 -/* 0EFC20 7F0BB0F0 3508F400 */ ori $t0, (0x0001F400 & 0xFFFF) # ori $t0, $t0, 0xf400 -/* 0EFC24 7F0BB0F4 01453023 */ subu $a2, $t2, $a1 -/* 0EFC28 7F0BB0F8 0106001A */ div $zero, $t0, $a2 -/* 0EFC2C 7F0BB0FC 00056023 */ negu $t4, $a1 -/* 0EFC30 7F0BB100 000C7A00 */ sll $t7, $t4, 8 -/* 0EFC34 7F0BB104 01E8C021 */ addu $t8, $t7, $t0 -/* 0EFC38 7F0BB108 00005812 */ mflo $t3 -/* 0EFC3C 7F0BB10C 316DFFFF */ andi $t5, $t3, 0xffff -/* 0EFC40 7F0BB110 000D7400 */ sll $t6, $t5, 0x10 -/* 0EFC44 7F0BB114 0306001A */ div $zero, $t8, $a2 -/* 0EFC48 7F0BB118 0000C812 */ mflo $t9 -/* 0EFC4C 7F0BB11C 3329FFFF */ andi $t1, $t9, 0xffff -/* 0EFC50 7F0BB120 01C95025 */ or $t2, $t6, $t1 -/* 0EFC54 7F0BB124 AC6A0004 */ sw $t2, 4($v1) -/* 0EFC58 7F0BB128 24840008 */ addiu $a0, $a0, 8 -/* 0EFC5C 7F0BB12C 14C00002 */ bnez $a2, .L7F0BB138 -/* 0EFC60 7F0BB130 00000000 */ nop -/* 0EFC64 7F0BB134 0007000D */ break 7 -.L7F0BB138: -/* 0EFC68 7F0BB138 2401FFFF */ li $at, -1 -/* 0EFC6C 7F0BB13C 14C10004 */ bne $a2, $at, .L7F0BB150 -/* 0EFC70 7F0BB140 3C018000 */ lui $at, 0x8000 -/* 0EFC74 7F0BB144 15010002 */ bne $t0, $at, .L7F0BB150 -/* 0EFC78 7F0BB148 00000000 */ nop -/* 0EFC7C 7F0BB14C 0006000D */ break 6 -.L7F0BB150: -/* 0EFC80 7F0BB150 01000821 */ addu $at, $t0, $zero -/* 0EFC84 7F0BB154 14C00002 */ bnez $a2, .L7F0BB160 -/* 0EFC88 7F0BB158 00000000 */ nop -/* 0EFC8C 7F0BB15C 0007000D */ break 7 -.L7F0BB160: -/* 0EFC90 7F0BB160 2401FFFF */ li $at, -1 -/* 0EFC94 7F0BB164 14C10004 */ bne $a2, $at, .L7F0BB178 -/* 0EFC98 7F0BB168 3C018000 */ lui $at, 0x8000 -/* 0EFC9C 7F0BB16C 17010002 */ bne $t8, $at, .L7F0BB178 -/* 0EFCA0 7F0BB170 00000000 */ nop -/* 0EFCA4 7F0BB174 0006000D */ break 6 -.L7F0BB178: -/* 0EFCA8 7F0BB178 1000003B */ b .L7F0BB268 -/* 0EFCAC 7F0BB17C 24850008 */ addiu $a1, $a0, 8 -.L7F0BB180: -/* 0EFCB0 7F0BB180 00801025 */ move $v0, $a0 -/* 0EFCB4 7F0BB184 3C08F800 */ lui $t0, 0xf800 -/* 0EFCB8 7F0BB188 24E74DCC */ addiu $a3, $a3, %lo(ptr_current_data) -/* 0EFCBC 7F0BB18C AC480000 */ sw $t0, ($v0) -/* 0EFCC0 7F0BB190 90E9000A */ lbu $t1, 0xa($a3) -/* 0EFCC4 7F0BB194 90F80009 */ lbu $t8, 9($a3) -/* 0EFCC8 7F0BB198 90ED0008 */ lbu $t5, 8($a3) -/* 0EFCCC 7F0BB19C 01205025 */ move $t2, $t1 -/* 0EFCD0 7F0BB1A0 0018CC00 */ sll $t9, $t8, 0x10 -/* 0EFCD4 7F0BB1A4 000D6600 */ sll $t4, $t5, 0x18 -/* 0EFCD8 7F0BB1A8 01997025 */ or $t6, $t4, $t9 -/* 0EFCDC 7F0BB1AC 000A4200 */ sll $t0, $t2, 8 -/* 0EFCE0 7F0BB1B0 01C85825 */ or $t3, $t6, $t0 -/* 0EFCE4 7F0BB1B4 356D00FF */ ori $t5, $t3, 0xff -/* 0EFCE8 7F0BB1B8 24840008 */ addiu $a0, $a0, 8 -/* 0EFCEC 7F0BB1BC 3C0FBC00 */ lui $t7, (0xBC000008 >> 16) # lui $t7, 0xbc00 -/* 0EFCF0 7F0BB1C0 AC4D0004 */ sw $t5, 4($v0) -/* 0EFCF4 7F0BB1C4 35EF0008 */ ori $t7, (0xBC000008 & 0xFFFF) # ori $t7, $t7, 8 -/* 0EFCF8 7F0BB1C8 00801825 */ move $v1, $a0 -/* 0EFCFC 7F0BB1CC AC6F0000 */ sw $t7, ($v1) -/* 0EFD00 7F0BB1D0 8CF80004 */ lw $t8, 4($a3) -/* 0EFD04 7F0BB1D4 8CE50000 */ lw $a1, ($a3) -/* 0EFD08 7F0BB1D8 3C0C0001 */ lui $t4, (0x0001F400 >> 16) # lui $t4, 1 -/* 0EFD0C 7F0BB1DC 358CF400 */ ori $t4, (0x0001F400 & 0xFFFF) # ori $t4, $t4, 0xf400 -/* 0EFD10 7F0BB1E0 03053023 */ subu $a2, $t8, $a1 -/* 0EFD14 7F0BB1E4 0186001A */ div $zero, $t4, $a2 -/* 0EFD18 7F0BB1E8 00057023 */ negu $t6, $a1 -/* 0EFD1C 7F0BB1EC 000E4200 */ sll $t0, $t6, 8 -/* 0EFD20 7F0BB1F0 010C5821 */ addu $t3, $t0, $t4 -/* 0EFD24 7F0BB1F4 0000C812 */ mflo $t9 -/* 0EFD28 7F0BB1F8 3329FFFF */ andi $t1, $t9, 0xffff -/* 0EFD2C 7F0BB1FC 00095400 */ sll $t2, $t1, 0x10 -/* 0EFD30 7F0BB200 0166001A */ div $zero, $t3, $a2 -/* 0EFD34 7F0BB204 00006812 */ mflo $t5 -/* 0EFD38 7F0BB208 31AFFFFF */ andi $t7, $t5, 0xffff -/* 0EFD3C 7F0BB20C 014FC025 */ or $t8, $t2, $t7 -/* 0EFD40 7F0BB210 AC780004 */ sw $t8, 4($v1) -/* 0EFD44 7F0BB214 24840008 */ addiu $a0, $a0, 8 -/* 0EFD48 7F0BB218 14C00002 */ bnez $a2, .L7F0BB224 -/* 0EFD4C 7F0BB21C 00000000 */ nop -/* 0EFD50 7F0BB220 0007000D */ break 7 -.L7F0BB224: -/* 0EFD54 7F0BB224 2401FFFF */ li $at, -1 -/* 0EFD58 7F0BB228 14C10004 */ bne $a2, $at, .L7F0BB23C -/* 0EFD5C 7F0BB22C 3C018000 */ lui $at, 0x8000 -/* 0EFD60 7F0BB230 15810002 */ bne $t4, $at, .L7F0BB23C -/* 0EFD64 7F0BB234 00000000 */ nop -/* 0EFD68 7F0BB238 0006000D */ break 6 -.L7F0BB23C: -/* 0EFD6C 7F0BB23C 01800821 */ addu $at, $t4, $zero -/* 0EFD70 7F0BB240 14C00002 */ bnez $a2, .L7F0BB24C -/* 0EFD74 7F0BB244 00000000 */ nop -/* 0EFD78 7F0BB248 0007000D */ break 7 -.L7F0BB24C: -/* 0EFD7C 7F0BB24C 2401FFFF */ li $at, -1 -/* 0EFD80 7F0BB250 14C10004 */ bne $a2, $at, .L7F0BB264 -/* 0EFD84 7F0BB254 3C018000 */ lui $at, 0x8000 -/* 0EFD88 7F0BB258 15610002 */ bne $t3, $at, .L7F0BB264 -/* 0EFD8C 7F0BB25C 00000000 */ nop -/* 0EFD90 7F0BB260 0006000D */ break 6 -.L7F0BB264: -/* 0EFD94 7F0BB264 24850008 */ addiu $a1, $a0, 8 -.L7F0BB268: -/* 0EFD98 7F0BB268 3C0CB700 */ lui $t4, 0xb700 -/* 0EFD9C 7F0BB26C 3C190001 */ lui $t9, 1 -/* 0EFDA0 7F0BB270 AC990004 */ sw $t9, 4($a0) -/* 0EFDA4 7F0BB274 AC8C0000 */ sw $t4, ($a0) -/* 0EFDA8 7F0BB278 3C09BA00 */ lui $t1, (0xBA000402 >> 16) # lui $t1, 0xba00 -/* 0EFDAC 7F0BB27C 35290402 */ ori $t1, (0xBA000402 & 0xFFFF) # ori $t1, $t1, 0x402 -/* 0EFDB0 7F0BB280 240E0020 */ li $t6, 32 -/* 0EFDB4 7F0BB284 ACAE0004 */ sw $t6, 4($a1) -/* 0EFDB8 7F0BB288 ACA90000 */ sw $t1, ($a1) -/* 0EFDBC 7F0BB28C 24A20008 */ addiu $v0, $a1, 8 -/* 0EFDC0 7F0BB290 03E00008 */ jr $ra -/* 0EFDC4 7F0BB294 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BB298(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BB298 -/* 0EFDC8 7F0BB298 3C0E8008 */ lui $t6, %hi(sky_enabled) -/* 0EFDCC 7F0BB29C 8DCE25C0 */ lw $t6, %lo(sky_enabled)($t6) -/* 0EFDD0 7F0BB2A0 24820008 */ addiu $v0, $a0, 8 -/* 0EFDD4 7F0BB2A4 3C0FB600 */ lui $t7, 0xb600 -/* 0EFDD8 7F0BB2A8 15C00003 */ bnez $t6, .L7F0BB2B8 -/* 0EFDDC 7F0BB2AC 3C180001 */ lui $t8, 1 -/* 0EFDE0 7F0BB2B0 03E00008 */ jr $ra -/* 0EFDE4 7F0BB2B4 00801025 */ move $v0, $a0 - -.L7F0BB2B8: -/* 0EFDE8 7F0BB2B8 AC8F0000 */ sw $t7, ($a0) -/* 0EFDEC 7F0BB2BC AC980004 */ sw $t8, 4($a0) -/* 0EFDF0 7F0BB2C0 03E00008 */ jr $ra -/* 0EFDF4 7F0BB2C4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BB2C8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BB2C8 -/* 0EFDF8 7F0BB2C8 3C0E8008 */ lui $t6, %hi(sky_enabled) -/* 0EFDFC 7F0BB2CC 8DCE25C0 */ lw $t6, %lo(sky_enabled)($t6) -/* 0EFE00 7F0BB2D0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0EFE04 7F0BB2D4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0EFE08 7F0BB2D8 15C00003 */ bnez $t6, .L7F0BB2E8 -/* 0EFE0C 7F0BB2DC AFA50034 */ sw $a1, 0x34($sp) -/* 0EFE10 7F0BB2E0 10000029 */ b .L7F0BB388 -/* 0EFE14 7F0BB2E4 24020001 */ li $v0, 1 -.L7F0BB2E8: -/* 0EFE18 7F0BB2E8 0FC227F5 */ jal get_BONDdata_position -/* 0EFE1C 7F0BB2EC AFA40030 */ sw $a0, 0x30($sp) -/* 0EFE20 7F0BB2F0 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0EFE24 7F0BB2F4 AFA2001C */ sw $v0, 0x1c($sp) -/* 0EFE28 7F0BB2F8 8FA3001C */ lw $v1, 0x1c($sp) -/* 0EFE2C 7F0BB2FC 8FA40030 */ lw $a0, 0x30($sp) -/* 0EFE30 7F0BB300 3C018004 */ lui $at, %hi(near_fog_value) -/* 0EFE34 7F0BB304 C4660000 */ lwc1 $f6, ($v1) -/* 0EFE38 7F0BB308 C4840000 */ lwc1 $f4, ($a0) -/* 0EFE3C 7F0BB30C 46062201 */ sub.s $f8, $f4, $f6 -/* 0EFE40 7F0BB310 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0EFE44 7F0BB314 C4700004 */ lwc1 $f16, 4($v1) -/* 0EFE48 7F0BB318 C48A0004 */ lwc1 $f10, 4($a0) -/* 0EFE4C 7F0BB31C 46105481 */ sub.s $f18, $f10, $f16 -/* 0EFE50 7F0BB320 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 0EFE54 7F0BB324 E7B20028 */ swc1 $f18, 0x28($sp) -/* 0EFE58 7F0BB328 C4660008 */ lwc1 $f6, 8($v1) -/* 0EFE5C 7F0BB32C C4840008 */ lwc1 $f4, 8($a0) -/* 0EFE60 7F0BB330 46062201 */ sub.s $f8, $f4, $f6 -/* 0EFE64 7F0BB334 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 0EFE68 7F0BB338 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 0EFE6C 7F0BB33C C4500000 */ lwc1 $f16, ($v0) -/* 0EFE70 7F0BB340 C4460004 */ lwc1 $f6, 4($v0) -/* 0EFE74 7F0BB344 46105482 */ mul.s $f18, $f10, $f16 -/* 0EFE78 7F0BB348 C4500008 */ lwc1 $f16, 8($v0) -/* 0EFE7C 7F0BB34C 24020001 */ li $v0, 1 -/* 0EFE80 7F0BB350 46062202 */ mul.s $f8, $f4, $f6 -/* 0EFE84 7F0BB354 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 0EFE88 7F0BB358 46048182 */ mul.s $f6, $f16, $f4 -/* 0EFE8C 7F0BB35C 46089280 */ add.s $f10, $f18, $f8 -/* 0EFE90 7F0BB360 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 0EFE94 7F0BB364 C4324DC4 */ lwc1 $f18, %lo(near_fog_value)($at) -/* 0EFE98 7F0BB368 460A3000 */ add.s $f0, $f6, $f10 -/* 0EFE9C 7F0BB36C 46089400 */ add.s $f16, $f18, $f8 -/* 0EFEA0 7F0BB370 4600803C */ c.lt.s $f16, $f0 -/* 0EFEA4 7F0BB374 00000000 */ nop -/* 0EFEA8 7F0BB378 45000003 */ bc1f .L7F0BB388 -/* 0EFEAC 7F0BB37C 00000000 */ nop -/* 0EFEB0 7F0BB380 10000001 */ b .L7F0BB388 -/* 0EFEB4 7F0BB384 00001025 */ move $v0, $zero -.L7F0BB388: -/* 0EFEB8 7F0BB388 8FBF0014 */ lw $ra, 0x14($sp) -/* 0EFEBC 7F0BB38C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0EFEC0 7F0BB390 03E00008 */ jr $ra -/* 0EFEC4 7F0BB394 00000000 */ nop -) -#endif - - - - - -u32 return_nearfog_values(void){ - return ptr_nearfog_enviroment_values; -} - - - - - - -#ifdef NONMATCHING -void if_sky_present_convert_values(void) { - -} -#else -GLOBAL_ASM( -.text -glabel if_sky_present_convert_values -/* 0EFED4 7F0BB3A4 3C0E8008 */ lui $t6, %hi(sky_enabled) -/* 0EFED8 7F0BB3A8 8DCE25C0 */ lw $t6, %lo(sky_enabled)($t6) -/* 0EFEDC 7F0BB3AC 55C00004 */ bnezl $t6, .L7F0BB3C0 -/* 0EFEE0 7F0BB3B0 44801000 */ mtc1 $zero, $f2 -/* 0EFEE4 7F0BB3B4 03E00008 */ jr $ra -/* 0EFEE8 7F0BB3B8 24020002 */ li $v0, 2 - -/* 0EFEEC 7F0BB3BC 44801000 */ mtc1 $zero, $f2 -.L7F0BB3C0: -/* 0EFEF0 7F0BB3C0 C4840018 */ lwc1 $f4, 0x18($a0) -/* 0EFEF4 7F0BB3C4 3C028004 */ lui $v0, %hi(ptr_current_data) -/* 0EFEF8 7F0BB3C8 24424DCC */ addiu $v0, %lo(ptr_current_data) # addiu $v0, $v0, 0x4dcc -/* 0EFEFC 7F0BB3CC 4602203C */ c.lt.s $f4, $f2 -/* 0EFF00 7F0BB3D0 3C038008 */ lui $v1, %hi(buffer_far_pervasiveness) -/* 0EFF04 7F0BB3D4 45020004 */ bc1fl .L7F0BB3E8 -/* 0EFF08 7F0BB3D8 904F0008 */ lbu $t7, 8($v0) -/* 0EFF0C 7F0BB3DC 03E00008 */ jr $ra -/* 0EFF10 7F0BB3E0 24020002 */ li $v0, 2 - -/* 0EFF14 7F0BB3E4 904F0008 */ lbu $t7, 8($v0) -.L7F0BB3E8: -/* 0EFF18 7F0BB3E8 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0EFF1C 7F0BB3EC 44816000 */ mtc1 $at, $f12 -/* 0EFF20 7F0BB3F0 448F3000 */ mtc1 $t7, $f6 -/* 0EFF24 7F0BB3F4 246325C8 */ addiu $v1, $v1, %lo(buffer_far_pervasiveness) -/* 0EFF28 7F0BB3F8 05E10005 */ bgez $t7, .L7F0BB410 -/* 0EFF2C 7F0BB3FC 46803220 */ cvt.s.w $f8, $f6 -/* 0EFF30 7F0BB400 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EFF34 7F0BB404 44815000 */ mtc1 $at, $f10 -/* 0EFF38 7F0BB408 00000000 */ nop -/* 0EFF3C 7F0BB40C 460A4200 */ add.s $f8, $f8, $f10 -.L7F0BB410: -/* 0EFF40 7F0BB410 460C4403 */ div.s $f16, $f8, $f12 -/* 0EFF44 7F0BB414 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EFF48 7F0BB418 E4B00000 */ swc1 $f16, ($a1) -/* 0EFF4C 7F0BB41C 90580009 */ lbu $t8, 9($v0) -/* 0EFF50 7F0BB420 44989000 */ mtc1 $t8, $f18 -/* 0EFF54 7F0BB424 07010004 */ bgez $t8, .L7F0BB438 -/* 0EFF58 7F0BB428 46809120 */ cvt.s.w $f4, $f18 -/* 0EFF5C 7F0BB42C 44813000 */ mtc1 $at, $f6 -/* 0EFF60 7F0BB430 00000000 */ nop -/* 0EFF64 7F0BB434 46062100 */ add.s $f4, $f4, $f6 -.L7F0BB438: -/* 0EFF68 7F0BB438 460C2283 */ div.s $f10, $f4, $f12 -/* 0EFF6C 7F0BB43C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0EFF70 7F0BB440 E4AA0004 */ swc1 $f10, 4($a1) -/* 0EFF74 7F0BB444 9059000A */ lbu $t9, 0xa($v0) -/* 0EFF78 7F0BB448 44994000 */ mtc1 $t9, $f8 -/* 0EFF7C 7F0BB44C 07210004 */ bgez $t9, .L7F0BB460 -/* 0EFF80 7F0BB450 46804420 */ cvt.s.w $f16, $f8 -/* 0EFF84 7F0BB454 44819000 */ mtc1 $at, $f18 -/* 0EFF88 7F0BB458 00000000 */ nop -/* 0EFF8C 7F0BB45C 46128400 */ add.s $f16, $f16, $f18 -.L7F0BB460: -/* 0EFF90 7F0BB460 460C8183 */ div.s $f6, $f16, $f12 -/* 0EFF94 7F0BB464 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0EFF98 7F0BB468 E4A60008 */ swc1 $f6, 8($a1) -/* 0EFF9C 7F0BB46C C48A0018 */ lwc1 $f10, 0x18($a0) -/* 0EFFA0 7F0BB470 C4640010 */ lwc1 $f4, 0x10($v1) -/* 0EFFA4 7F0BB474 C4720014 */ lwc1 $f18, 0x14($v1) -/* 0EFFA8 7F0BB478 460A2203 */ div.s $f8, $f4, $f10 -/* 0EFFAC 7F0BB47C 46124400 */ add.s $f16, $f8, $f18 -/* 0EFFB0 7F0BB480 E4B0000C */ swc1 $f16, 0xc($a1) -/* 0EFFB4 7F0BB484 C4A0000C */ lwc1 $f0, 0xc($a1) -/* 0EFFB8 7F0BB488 4602003C */ c.lt.s $f0, $f2 -/* 0EFFBC 7F0BB48C 00000000 */ nop -/* 0EFFC0 7F0BB490 45020004 */ bc1fl .L7F0BB4A4 -/* 0EFFC4 7F0BB494 44813000 */ mtc1 $at, $f6 -/* 0EFFC8 7F0BB498 03E00008 */ jr $ra -/* 0EFFCC 7F0BB49C 24020002 */ li $v0, 2 - -/* 0EFFD0 7F0BB4A0 44813000 */ mtc1 $at, $f6 -.L7F0BB4A4: -/* 0EFFD4 7F0BB4A4 24020001 */ li $v0, 1 -/* 0EFFD8 7F0BB4A8 4600303C */ c.lt.s $f6, $f0 -/* 0EFFDC 7F0BB4AC 00000000 */ nop -/* 0EFFE0 7F0BB4B0 45000003 */ bc1f .L7F0BB4C0 -/* 0EFFE4 7F0BB4B4 00000000 */ nop -/* 0EFFE8 7F0BB4B8 03E00008 */ jr $ra -/* 0EFFEC 7F0BB4BC 00001025 */ move $v0, $zero - -.L7F0BB4C0: -/* 0EFFF0 7F0BB4C0 03E00008 */ jr $ra -/* 0EFFF4 7F0BB4C4 00000000 */ nop -) -#endif - - - diff --git a/src/game/fog.h b/src/game/fog.h deleted file mode 100644 index 6404087..0000000 --- a/src/game/fog.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef _FOG_H_ -#define _FOG_H_ -#include "ultra64.h" - -struct fog_element { - u32 stageID; - f32 blendmultiplier; - f32 farfog; - f32 nearfog; - f32 maxvisrange; - f32 maxobfuscationrange; - f32 minvisrange; - u32 intensity; - u32 dif_in_light; - u32 far_ambiantlight; - u8 red; - u8 green; - u8 blue; - u8 clouds; - f32 cloudrepeat; - u16 skyimageid; - u16 reserved; - f32 cloudred; - f32 cloudgreen; - f32 cloudblue; - u8 iswater; - u8 padding[3]; - f32 waterrepeat; - u16 waterimageid; - u16 reserved2; - f32 waterred; - f32 watergreen; - f32 waterblue; - f32 waterconcavity; -}; - -struct fog_element2 { - u32 stageID; - u8 red; - u8 green; - u8 blue; - u8 clouds; - f32 cloudrepeat; - u16 skyimageid; - u16 reserved; - f32 cloudred; - f32 cloudgreen; - f32 cloudblue; - u8 iswater; - u8 padding[3]; - f32 waterrepeat; - u16 waterimageid; - u16 reserved2; - f32 waterred; - f32 watergreen; - f32 waterblue; - f32 waterconcavity; -}; - -#endif diff --git a/src/game/game_debug.c b/src/game/game_debug.c deleted file mode 100644 index 7cc5c9e..0000000 --- a/src/game/game_debug.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "ultra64.h" -#include "deb.h" -#include "game/ob.h" -#include "memp.h" -#include "game/game_debug.h" - -// data -//D:8004EAE0 -s32 D_8004EAE0[] = {0, 0, 0, 0}; - -void something_game_c_debug_related(void) { - get_ptr_debug_notice_list_entry(&D_8004EAE0, "game_c_debug"); -} - -void reset_mem_bank_5(void) { - sub_GAME_7F0BD234(); - mempResetBank(5); - something_mem_bank_a0(5); -} - -void sub_GAME_7F0D1A7C(void) { - mempNullNextEntryInBank(5); - something_mem_bank_a0(5); -} - - - - - diff --git a/src/game/game_debug.h b/src/game/game_debug.h deleted file mode 100644 index 120f73f..0000000 --- a/src/game/game_debug.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _GAME_DEBUG_H_ -#define _GAME_DEBUG_H_ -#include "ultra64.h" - -void something_game_c_debug_related(void); - -#endif diff --git a/src/game/gamefile.c b/src/game/gamefile.c deleted file mode 100644 index bcd49e0..0000000 --- a/src/game/gamefile.c +++ /dev/null @@ -1,503 +0,0 @@ -#include "ultra64.h" -#include "game/gamefile.h" -#include "game/mainmenu.h" - -/* EEPROM masks for in-game settings */ -#define OPTION_INVERTLOOK 0x0001 -#define OPTION_AUTOAIM 0x0002 -#define OPTION_AIMCONTROL 0x0004 -#define OPTION_SIGHTONSCREEN 0x0008 -#define OPTION_LOOKAHEAD 0x0010 -#define OPTION_DISPLAYAMMO 0x0020 -#define OPTION_SCREENWIDE 0x0040 -#define OPTION_SCREENRATIO 0x0080 -#define OPTION_CONTROLTYPE 0x0700 -#define OPTION_SCREENCINEMA 0x0800 - -#define DEFAULT_OPTIONS (OPTION_AUTOAIM | OPTION_SIGHTONSCREEN | OPTION_LOOKAHEAD | OPTION_DISPLAYAMMO) - -// bss -//CODE.bss:80069920 -struct save_data save1; -//CODE.bss:80069980 -struct save_data save2; -//CODE.bss:800699E0 -struct save_data save3; -//CODE.bss:80069A40 -struct save_data save4; -//CODE.bss:80069AA0 -struct save_data save5; -//CODE.bss:80069B00 -struct save_data save6; - -//CODE.bss:80069B60 -u32 dword_CODE_bss_80069B60; - - -//data -//D:8002C510 -u32 save_selected_bond[] = {0,0,0,0}; - -//D:8002C520 -struct save_data D_8002C520 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0}; -//D:8002C580 -struct save_data D_8002C580 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0}; -//D:8002C5E0 -struct save_data D_8002C5E0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0}; -//D:8002C640 -u32 D_8002C640 = 0x00000000; -u32 D_8002C644 = 0x00000000; -u32 flt_8002C648 = 0x42000000; -u32 dword_8002C64C = 0x00000000; -u32 dword_8002C650 = 0x00000000; -u32 dword_8002C654 = 0x00000000; -u32 dword_8002C658 = 0x00000000; -u32 dword_8002C65C = 0x00000000; - - - - -//D:8002C660 -struct save_data D_8002C660 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0}; - -//D:8002C6C0 -struct save_data D_8002C6C0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:8002C720 -struct save_data D_8002C720 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:8002C780 -struct save_data D_8002C780 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:8002C7E0 -struct save_data D_8002C7E0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:8002C840 -struct save_data D_8002C840 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:8002C8A0 -struct save_data blank_eeprom = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - - -f32 get_007_reaction_speed(void) -{ - if (get_current_difficulty() == DIFFICULTY_007) { - return slider_007_mode_reaction; - } - return 0.f; -} - -f32 get_007_health_mod(void) -{ - if (get_current_difficulty() == DIFFICULTY_007) { - return slider_007_mode_health; - } - return 1.f; -} - -f32 get_007_damage_mod(void) -{ - if (get_current_difficulty() == DIFFICULTY_007) { - return slider_007_mode_accuracy; - } - return 1.f; -} - -f32 get_007_accuracy_mod(void) -{ - if (get_current_difficulty() == DIFFICULTY_007) { - return slider_007_mode_damage; - } - return 1.f; -} - - - -#ifdef NONMATCHING -void end_of_mission_briefing(void) - -{ - short sVar1; - int iVar3; - save_file *folder; - ulonglong uVar2; - - if (((-1 < briefingpage) && (selected_difficulty != DIFFICULTY_007)) && (append_cheat_sp == FALSE) - ) { - sVar1 = (&solo_target_times_ARRAY_8002b564 - [mission_folder_setup_entries[briefingpage].mission_num].agent_time) - [selected_difficulty]; - - unlock_stage_in_folder_on_difficulty - (selected_folder_num,(longlong)mission_folder_setup_entries[briefingpage].mission_num, - (longlong)selected_difficulty,getMissiontime() / 0x3c); - - if ((longlong)(getMissiontime() / 0x3c) <= (longlong)sVar1) { - folder = getEEPROMforFoldernum(selected_folder_num); - if (check_if_cheat_unlocked(folder,(longlong)mission_folder_setup_entries[briefingpage].mission_num) == 0) { - proc_7F01E760(selected_folder_num,(longlong)mission_folder_setup_entries[briefingpage].mission_num); - newcheatunlocked = 1; - return; - } - } - newcheatunlocked = 0; - } - return; -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel end_of_mission_briefing -/* 051ECC 7F01D39C 3C028003 */ lui $v0, %hi(briefingpage) -/* 051ED0 7F01D3A0 8C42A8F8 */ lw $v0, %lo(briefingpage)($v0) -/* 051ED4 7F01D3A4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 051ED8 7F01D3A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 051EDC 7F01D3AC 04400050 */ bltz $v0, .L7F01D4F0 -/* 051EE0 7F01D3B0 3C038003 */ lui $v1, %hi(selected_difficulty) -/* 051EE4 7F01D3B4 8C63A8FC */ lw $v1, %lo(selected_difficulty)($v1) -/* 051EE8 7F01D3B8 24010003 */ li $at, 3 -/* 051EEC 7F01D3BC 3C0E8003 */ lui $t6, %hi(append_cheat_sp) -/* 051EF0 7F01D3C0 5061004C */ beql $v1, $at, .L7F01D4F4 -/* 051EF4 7F01D3C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 051EF8 7F01D3C8 8DCEA900 */ lw $t6, %lo(append_cheat_sp)($t6) -/* 051EFC 7F01D3CC 000278C0 */ sll $t7, $v0, 3 -/* 051F00 7F01D3D0 01E27823 */ subu $t7, $t7, $v0 -/* 051F04 7F01D3D4 15C00046 */ bnez $t6, .L7F01D4F0 -/* 051F08 7F01D3D8 000F7880 */ sll $t7, $t7, 2 -/* 051F0C 7F01D3DC 3C188003 */ lui $t8, %hi(mission_folder_setup_entries+0x14) -/* 051F10 7F01D3E0 030FC021 */ addu $t8, $t8, $t7 -/* 051F14 7F01D3E4 8F18ABF8 */ lw $t8, %lo(mission_folder_setup_entries+0x14)($t8) -/* 051F18 7F01D3E8 00034040 */ sll $t0, $v1, 1 -/* 051F1C 7F01D3EC 3C0A8003 */ lui $t2, %hi(solo_target_time_array) -/* 051F20 7F01D3F0 0018C880 */ sll $t9, $t8, 2 -/* 051F24 7F01D3F4 0338C823 */ subu $t9, $t9, $t8 -/* 051F28 7F01D3F8 0019C840 */ sll $t9, $t9, 1 -/* 051F2C 7F01D3FC 03284821 */ addu $t1, $t9, $t0 -/* 051F30 7F01D400 01495021 */ addu $t2, $t2, $t1 -/* 051F34 7F01D404 854AB564 */ lh $t2, %lo(solo_target_time_array)($t2) -/* 051F38 7F01D408 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 051F3C 7F01D40C A7AA001E */ sh $t2, 0x1e($sp) -/* 051F40 7F01D410 2401003C */ li $at, 60 -/* 051F44 7F01D414 0041001A */ div $zero, $v0, $at -/* 051F48 7F01D418 3C0B8003 */ lui $t3, %hi(briefingpage) -/* 051F4C 7F01D41C 8D6BA8F8 */ lw $t3, %lo(briefingpage)($t3) -/* 051F50 7F01D420 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14) -/* 051F54 7F01D424 00003812 */ mflo $a3 -/* 051F58 7F01D428 000B60C0 */ sll $t4, $t3, 3 -/* 051F5C 7F01D42C 018B6023 */ subu $t4, $t4, $t3 -/* 051F60 7F01D430 000C6080 */ sll $t4, $t4, 2 -/* 051F64 7F01D434 00AC2821 */ addu $a1, $a1, $t4 -/* 051F68 7F01D438 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 051F6C 7F01D43C 3C068003 */ lui $a2, %hi(selected_difficulty) -/* 051F70 7F01D440 8CC6A8FC */ lw $a2, %lo(selected_difficulty)($a2) -/* 051F74 7F01D444 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 051F78 7F01D448 0FC0797E */ jal unlock_stage_in_folder_on_difficulty -/* 051F7C 7F01D44C 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1) -/* 051F80 7F01D450 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 051F84 7F01D454 00000000 */ nop -/* 051F88 7F01D458 2401003C */ li $at, 60 -/* 051F8C 7F01D45C 0041001A */ div $zero, $v0, $at -/* 051F90 7F01D460 87AD001E */ lh $t5, 0x1e($sp) -/* 051F94 7F01D464 00007012 */ mflo $t6 -/* 051F98 7F01D468 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 051F9C 7F01D46C 01AE082A */ slt $at, $t5, $t6 -/* 051FA0 7F01D470 1420001D */ bnez $at, .L7F01D4E8 -/* 051FA4 7F01D474 00000000 */ nop -/* 051FA8 7F01D478 0FC07771 */ jal get_save_folder_ptr -/* 051FAC 7F01D47C 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 051FB0 7F01D480 3C0F8003 */ lui $t7, %hi(briefingpage) -/* 051FB4 7F01D484 8DEFA8F8 */ lw $t7, %lo(briefingpage)($t7) -/* 051FB8 7F01D488 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14) -/* 051FBC 7F01D48C 00402025 */ move $a0, $v0 -/* 051FC0 7F01D490 000FC0C0 */ sll $t8, $t7, 3 -/* 051FC4 7F01D494 030FC023 */ subu $t8, $t8, $t7 -/* 051FC8 7F01D498 0018C080 */ sll $t8, $t8, 2 -/* 051FCC 7F01D49C 00B82821 */ addu $a1, $a1, $t8 -/* 051FD0 7F01D4A0 0FC07748 */ jal check_if_cheat_unlocked -/* 051FD4 7F01D4A4 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1) -/* 051FD8 7F01D4A8 1440000F */ bnez $v0, .L7F01D4E8 -/* 051FDC 7F01D4AC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 051FE0 7F01D4B0 3C198003 */ lui $t9, %hi(briefingpage) -/* 051FE4 7F01D4B4 8F39A8F8 */ lw $t9, %lo(briefingpage)($t9) -/* 051FE8 7F01D4B8 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14) -/* 051FEC 7F01D4BC 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 051FF0 7F01D4C0 001940C0 */ sll $t0, $t9, 3 -/* 051FF4 7F01D4C4 01194023 */ subu $t0, $t0, $t9 -/* 051FF8 7F01D4C8 00084080 */ sll $t0, $t0, 2 -/* 051FFC 7F01D4CC 00A82821 */ addu $a1, $a1, $t0 -/* 052000 7F01D4D0 0FC079D8 */ jal sub_GAME_7F01E760 -/* 052004 7F01D4D4 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1) -/* 052008 7F01D4D8 24090001 */ li $t1, 1 -/* 05200C 7F01D4DC 3C018007 */ lui $at, %hi(newcheatunlocked) -/* 052010 7F01D4E0 10000003 */ b .L7F01D4F0 -/* 052014 7F01D4E4 AC299790 */ sw $t1, %lo(newcheatunlocked)($at) -.L7F01D4E8: -/* 052018 7F01D4E8 3C018007 */ lui $at, %hi(newcheatunlocked) -/* 05201C 7F01D4EC AC209790 */ sw $zero, %lo(newcheatunlocked)($at) -.L7F01D4F0: -/* 052020 7F01D4F0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01D4F4: -/* 052024 7F01D4F4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 052028 7F01D4F8 03E00008 */ jr $ra -/* 05202C 7F01D4FC 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel end_of_mission_briefing -/* 0520BC 7F01D54C 3C028003 */ lui $v0, %hi(briefingpage) # $v0, 0x8003 -/* 0520C0 7F01D550 8C42A938 */ lw $v0, %lo(briefingpage)($v0) -/* 0520C4 7F01D554 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0520C8 7F01D558 AFBF0014 */ sw $ra, 0x14($sp) -/* 0520CC 7F01D55C 0440004D */ bltz $v0, .L7F01D694 -/* 0520D0 7F01D560 3C038003 */ lui $v1, %hi(selected_difficulty) # $v1, 0x8003 -/* 0520D4 7F01D564 8C63A93C */ lw $v1, %lo(selected_difficulty)($v1) -/* 0520D8 7F01D568 24010003 */ li $at, 3 -/* 0520DC 7F01D56C 3C0E8003 */ lui $t6, %hi(append_cheat_sp) # $t6, 0x8003 -/* 0520E0 7F01D570 50610049 */ beql $v1, $at, .L7F01D698 -/* 0520E4 7F01D574 8FBF0014 */ lw $ra, 0x14($sp) -/* 0520E8 7F01D578 8DCEA940 */ lw $t6, %lo(append_cheat_sp)($t6) -/* 0520EC 7F01D57C 000278C0 */ sll $t7, $v0, 3 -/* 0520F0 7F01D580 01E27823 */ subu $t7, $t7, $v0 -/* 0520F4 7F01D584 15C00043 */ bnez $t6, .L7F01D694 -/* 0520F8 7F01D588 000F7880 */ sll $t7, $t7, 2 -/* 0520FC 7F01D58C 3C188003 */ lui $t8, %hi(mission_folder_setup_entries+0x14) -/* 052100 7F01D590 030FC021 */ addu $t8, $t8, $t7 -/* 052104 7F01D594 8F18AC38 */ lw $t8, %lo(mission_folder_setup_entries+0x14)($t8) -/* 052108 7F01D598 00034040 */ sll $t0, $v1, 1 -/* 05210C 7F01D59C 3C0A8003 */ lui $t2, %hi(solo_target_time_array) -/* 052110 7F01D5A0 0018C880 */ sll $t9, $t8, 2 -/* 052114 7F01D5A4 0338C823 */ subu $t9, $t9, $t8 -/* 052118 7F01D5A8 0019C840 */ sll $t9, $t9, 1 -/* 05211C 7F01D5AC 03284821 */ addu $t1, $t9, $t0 -/* 052120 7F01D5B0 01495021 */ addu $t2, $t2, $t1 -/* 052124 7F01D5B4 854AB5A4 */ lh $t2, %lo(solo_target_time_array)($t2) -/* 052128 7F01D5B8 0FC23210 */ jal sub_GAME_7F08BFB8 -/* 05212C 7F01D5BC A7AA001E */ sh $t2, 0x1e($sp) -/* 052130 7F01D5C0 2401003C */ li $at, 60 -/* 052134 7F01D5C4 0041001A */ div $zero, $v0, $at -/* 052138 7F01D5C8 3C0B8003 */ lui $t3, %hi(briefingpage) # $t3, 0x8003 -/* 05213C 7F01D5CC 8D6BA938 */ lw $t3, %lo(briefingpage)($t3) -/* 052140 7F01D5D0 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14) -/* 052144 7F01D5D4 00003812 */ mflo $a3 -/* 052148 7F01D5D8 000B60C0 */ sll $t4, $t3, 3 -/* 05214C 7F01D5DC 018B6023 */ subu $t4, $t4, $t3 -/* 052150 7F01D5E0 000C6080 */ sll $t4, $t4, 2 -/* 052154 7F01D5E4 00AC2821 */ addu $a1, $a1, $t4 -/* 052158 7F01D5E8 3C048003 */ lui $a0, %hi(selected_folder_num) # $a0, 0x8003 -/* 05215C 7F01D5EC 3C068003 */ lui $a2, %hi(selected_difficulty) # $a2, 0x8003 -/* 052160 7F01D5F0 8CC6A93C */ lw $a2, %lo(selected_difficulty)($a2) -/* 052164 7F01D5F4 8C84A928 */ lw $a0, %lo(selected_folder_num)($a0) -/* 052168 7F01D5F8 0FC079EA */ jal unlock_stage_in_folder_on_difficulty -/* 05216C 7F01D5FC 8CA5AC38 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1) -/* 052170 7F01D600 0FC23210 */ jal sub_GAME_7F08BFB8 -/* 052174 7F01D604 00000000 */ nop -/* 052178 7F01D608 2401003C */ li $at, 60 -/* 05217C 7F01D60C 0041001A */ div $zero, $v0, $at -/* 052180 7F01D610 87AD001E */ lh $t5, 0x1e($sp) -/* 052184 7F01D614 00007012 */ mflo $t6 -/* 052188 7F01D618 3C048003 */ lui $a0, %hi(selected_folder_num) # $a0, 0x8003 -/* 05218C 7F01D61C 01AE082A */ slt $at, $t5, $t6 -/* 052190 7F01D620 5420001D */ bnezl $at, .L7F01D698 -/* 052194 7F01D624 8FBF0014 */ lw $ra, 0x14($sp) -/* 052198 7F01D628 0FC077DD */ jal get_save_folder_ptr -/* 05219C 7F01D62C 8C84A928 */ lw $a0, %lo(selected_folder_num)($a0) -/* 0521A0 7F01D630 3C0F8003 */ lui $t7, %hi(briefingpage) # $t7, 0x8003 -/* 0521A4 7F01D634 8DEFA938 */ lw $t7, %lo(briefingpage)($t7) -/* 0521A8 7F01D638 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14) -/* 0521AC 7F01D63C 00402025 */ move $a0, $v0 -/* 0521B0 7F01D640 000FC0C0 */ sll $t8, $t7, 3 -/* 0521B4 7F01D644 030FC023 */ subu $t8, $t8, $t7 -/* 0521B8 7F01D648 0018C080 */ sll $t8, $t8, 2 -/* 0521BC 7F01D64C 00B82821 */ addu $a1, $a1, $t8 -/* 0521C0 7F01D650 0FC077B4 */ jal check_if_cheat_unlocked -/* 0521C4 7F01D654 8CA5AC38 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1) -/* 0521C8 7F01D658 1440000E */ bnez $v0, .L7F01D694 -/* 0521CC 7F01D65C 3C048003 */ lui $a0, %hi(selected_folder_num) # $a0, 0x8003 -/* 0521D0 7F01D660 3C198003 */ lui $t9, %hi(briefingpage) # $t9, 0x8003 -/* 0521D4 7F01D664 8F39A938 */ lw $t9, %lo(briefingpage)($t9) -/* 0521D8 7F01D668 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+0x14) -/* 0521DC 7F01D66C 8C84A928 */ lw $a0, %lo(selected_folder_num)($a0) -/* 0521E0 7F01D670 001940C0 */ sll $t0, $t9, 3 -/* 0521E4 7F01D674 01194023 */ subu $t0, $t0, $t9 -/* 0521E8 7F01D678 00084080 */ sll $t0, $t0, 2 -/* 0521EC 7F01D67C 00A82821 */ addu $a1, $a1, $t0 -/* 0521F0 7F01D680 0FC07A44 */ jal sub_GAME_7F01E760 -/* 0521F4 7F01D684 8CA5AC38 */ lw $a1, %lo(mission_folder_setup_entries+0x14)($a1) -/* 0521F8 7F01D688 24090001 */ li $t1, 1 -/* 0521FC 7F01D68C 3C018007 */ lui $at, %hi(newcheatunlocked) # $at, 0x8007 -/* 052200 7F01D690 AC2997D0 */ sw $t1, %lo(newcheatunlocked)($at) -.L7F01D694: -/* 052204 7F01D694 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01D698: -/* 052208 7F01D698 27BD0020 */ addiu $sp, $sp, 0x20 -/* 05220C 7F01D69C 03E00008 */ jr $ra -/* 052210 7F01D6A0 00000000 */ nop -) -#endif - -#endif - -void sub_GAME_7F01D500(void) -{ - get_screen_ratio_settings_for_mpgame_from_folder(selected_folder_num); -} - -void deleteCurrentSelectedFolder(void) -{ - delete_update_eeprom_file(selected_folder_num); -} - -void copyCurrentEEPROMtoStack(void) -{ - copy_eeprom_to_stack_set_folder_num(selected_folder_num); -} - -u8 getSelectedFolderBond(void) -{ - return removed_would_have_returned_bond_for_folder_num(selected_folder_num); -} - -void set_selected_folder_num(u32 foldernum) -{ - selected_folder_num = foldernum; -} - - - - -#ifdef NONMATCHING -void set_selected_difficulty(DIFFICULTY difficulty) -{ - if (difficulty != DIFFICULTY_AGENT) { - selected_difficulty = DIFFICULTY_AGENT; - return; - } - if (difficulty == DIFFICULTY_SECRET) { - selected_difficulty = DIFFICULTY_SECRET; - return; - } - if (difficulty == DIFFICULTY_00) { - selected_difficulty = DIFFICULTY_00; - return; - } - if (difficulty == DIFFICULTY_007) { - selected_difficulty = DIFFICULTY_007; - return; - } -} -#else -GLOBAL_ASM( -.text -glabel set_selected_difficulty -/* 0520CC 7F01D59C 10800009 */ beqz $a0, .L7F01D5C4 -/* 0520D0 7F01D5A0 24020001 */ li $v0, 1 -/* 0520D4 7F01D5A4 1082000A */ beq $a0, $v0, .L7F01D5D0 -/* 0520D8 7F01D5A8 3C018003 */ lui $at, %hi(selected_difficulty) -/* 0520DC 7F01D5AC 24020002 */ li $v0, 2 -/* 0520E0 7F01D5B0 10820009 */ beq $a0, $v0, .L7F01D5D8 -/* 0520E4 7F01D5B4 3C018003 */ lui $at, %hi(selected_difficulty) -/* 0520E8 7F01D5B8 24020003 */ li $v0, 3 -/* 0520EC 7F01D5BC 10820008 */ beq $a0, $v0, .L7F01D5E0 -/* 0520F0 7F01D5C0 3C018003 */ lui $at, %hi(selected_difficulty) -.L7F01D5C4: -/* 0520F4 7F01D5C4 3C018003 */ lui $at, %hi(selected_difficulty) -/* 0520F8 7F01D5C8 03E00008 */ jr $ra -/* 0520FC 7F01D5CC AC20A8FC */ sw $zero, %lo(selected_difficulty)($at) - -.L7F01D5D0: -/* 052100 7F01D5D0 03E00008 */ jr $ra -/* 052104 7F01D5D4 AC22A8FC */ sw $v0, %lo(selected_difficulty)($at) - -.L7F01D5D8: -/* 052108 7F01D5D8 03E00008 */ jr $ra -/* 05210C 7F01D5DC AC22A8FC */ sw $v0, %lo(selected_difficulty)($at) - -.L7F01D5E0: -/* 052110 7F01D5E0 AC22A8FC */ sw $v0, %lo(selected_difficulty)($at) -/* 052114 7F01D5E4 03E00008 */ jr $ra -/* 052118 7F01D5E8 00000000 */ nop -) -#endif - - - - -void set_solo_and_ptr_briefing(LEVELID stage) -{ - gamemode = GAMEMODE_SOLO; - selected_stage = stage; - briefingpage = pull_and_display_text_for_folder_a0(stage); -} - -void sub_GAME_7F01D61C(struct save_file *savefile) -{ - copy_eeprom_from_to(selected_folder_num,savefile); -} - - - -#ifdef NONMATCHING -void sub_GAME_7F01D644(struct save_file *eeprom) -{ - selected_folder_num_copy = selected_folder_num; - selected_folder_num = 100; - copy_eepromfile_a0_from_a1_to_buffer(100,eeprom); - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01D644 -/* 052174 7F01D644 3C028003 */ lui $v0, %hi(selected_folder_num) -/* 052178 7F01D648 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718 -/* 05217C 7F01D64C 8C4E0000 */ lw $t6, ($v0) -/* 052180 7F01D650 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 052184 7F01D654 00802825 */ move $a1, $a0 -/* 052188 7F01D658 3C018003 */ lui $at, %hi(selected_folder_num_copy) -/* 05218C 7F01D65C AFBF0014 */ sw $ra, 0x14($sp) -/* 052190 7F01D660 24040064 */ li $a0, 100 -/* 052194 7F01D664 AC2EA8EC */ sw $t6, %lo(selected_folder_num_copy)($at) -/* 052198 7F01D668 0FC07D17 */ jal copy_eepromfile_a0_from_a1_to_buffer -/* 05219C 7F01D66C AC440000 */ sw $a0, ($v0) -/* 0521A0 7F01D670 8FBF0014 */ lw $ra, 0x14($sp) -/* 0521A4 7F01D674 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0521A8 7F01D678 03E00008 */ jr $ra -/* 0521AC 7F01D67C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void store_favorite_weapon_current_player(u32 right,u32 left) -{ - u32 playerNum; - - playerNum = get_cur_playernum(); - (&fav_weapon_player1)[playerNum].right = right; - (&fav_weapon_player1)[playerNum].left = left; -} -#else -GLOBAL_ASM( -.text -glabel store_favorite_weapon_current_player -/* 0521B0 7F01D680 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0521B4 7F01D684 AFBF0014 */ sw $ra, 0x14($sp) -/* 0521B8 7F01D688 AFA40018 */ sw $a0, 0x18($sp) -/* 0521BC 7F01D68C 0FC26C54 */ jal get_cur_playernum -/* 0521C0 7F01D690 AFA5001C */ sw $a1, 0x1c($sp) -/* 0521C4 7F01D694 8FBF0014 */ lw $ra, 0x14($sp) -/* 0521C8 7F01D698 3C0F8007 */ lui $t7, %hi(fav_weapon_right_player1) -/* 0521CC 7F01D69C 8FB80018 */ lw $t8, 0x18($sp) -/* 0521D0 7F01D6A0 8FB9001C */ lw $t9, 0x1c($sp) -/* 0521D4 7F01D6A4 25EF96F0 */ addiu $t7, %lo(fav_weapon_right_player1) # addiu $t7, $t7, -0x6910 -/* 0521D8 7F01D6A8 000270C0 */ sll $t6, $v0, 3 -/* 0521DC 7F01D6AC 01CF1821 */ addu $v1, $t6, $t7 -/* 0521E0 7F01D6B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0521E4 7F01D6B4 AC780000 */ sw $t8, ($v1) -/* 0521E8 7F01D6B8 03E00008 */ jr $ra -/* 0521EC 7F01D6BC AC790004 */ sw $t9, 4($v1) -) -#endif - - diff --git a/src/game/gamefile.h b/src/game/gamefile.h deleted file mode 100644 index 8953357..0000000 --- a/src/game/gamefile.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef _GAMEFILE_H_ -#define _GAMEFILE_H_ -#include "ultra64.h" -//i am not "correct", i need proper fields for times again -struct save_data -{ - int chksum1; - int chksum2; - char completion_bitflags; - char flag_007; - char music_vol; - char sfx_vol; - short options; - char unlocked_cheats_1; - char unlocked_cheats_2; - char unlocked_cheats_3; - char padding; - u8 time_dam_agent[5]; - u8 field_0x17[5]; - u8 field_0x1c[5]; - u8 field_0x21[5]; - u8 field_0x26[5]; - u8 field_0x2b[5]; - u8 field_0x30[5]; - u8 field_0x35[5]; - u8 field_0x3a[5]; - u8 field_0x3f[5]; - u8 field_0x44[5]; - u8 field_0x49[5]; - u8 field_0x4e[5]; - u8 field_0x53[5]; - u8 field_0x58[5]; - u8 field_0x5d[3]; - -}; - -u8 removed_would_have_returned_bond_for_folder_num(u32 folder); - -#endif diff --git a/src/game/gamefile2.c b/src/game/gamefile2.c deleted file mode 100644 index d8d8b0f..0000000 --- a/src/game/gamefile2.c +++ /dev/null @@ -1,2689 +0,0 @@ -#include "ultra64.h" - -s32 sub_GAME_7F01D6C0(void) { - return save_7000C6FC(); -} - - - - -#ifdef NONMATCHING -void sub_GAME_7F01D6E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01D6E0 -/* 052210 7F01D6E0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 052214 7F01D6E4 3C0E8003 */ lui $t6, %hi(D_8002C520) -/* 052218 7F01D6E8 27A20000 */ addiu $v0, $sp, 0 -/* 05221C 7F01D6EC 25CEC520 */ addiu $t6, %lo(D_8002C520) # addiu $t6, $t6, -0x3ae0 -/* 052220 7F01D6F0 25D90060 */ addiu $t9, $t6, 0x60 -/* 052224 7F01D6F4 00404025 */ move $t0, $v0 -.L7F01D6F8: -/* 052228 7F01D6F8 8DC10000 */ lw $at, ($t6) -/* 05222C 7F01D6FC 25CE000C */ addiu $t6, $t6, 0xc -/* 052230 7F01D700 2508000C */ addiu $t0, $t0, 0xc -/* 052234 7F01D704 AD01FFF4 */ sw $at, -0xc($t0) -/* 052238 7F01D708 8DC1FFF8 */ lw $at, -8($t6) -/* 05223C 7F01D70C AD01FFF8 */ sw $at, -8($t0) -/* 052240 7F01D710 8DC1FFFC */ lw $at, -4($t6) -/* 052244 7F01D714 15D9FFF8 */ bne $t6, $t9, .L7F01D6F8 -/* 052248 7F01D718 AD01FFFC */ sw $at, -4($t0) -/* 05224C 7F01D71C 3C098007 */ lui $t1, %hi(save6) -/* 052250 7F01D720 25299B00 */ addiu $t1, %lo(save6) # addiu $t1, $t1, -0x6500 -/* 052254 7F01D724 00406825 */ move $t5, $v0 -/* 052258 7F01D728 244C0060 */ addiu $t4, $v0, 0x60 -.L7F01D72C: -/* 05225C 7F01D72C 8DA10000 */ lw $at, ($t5) -/* 052260 7F01D730 25AD000C */ addiu $t5, $t5, 0xc -/* 052264 7F01D734 2529000C */ addiu $t1, $t1, 0xc -/* 052268 7F01D738 AD21FFF4 */ sw $at, -0xc($t1) -/* 05226C 7F01D73C 8DA1FFF8 */ lw $at, -8($t5) -/* 052270 7F01D740 AD21FFF8 */ sw $at, -8($t1) -/* 052274 7F01D744 8DA1FFFC */ lw $at, -4($t5) -/* 052278 7F01D748 15ACFFF8 */ bne $t5, $t4, .L7F01D72C -/* 05227C 7F01D74C AD21FFFC */ sw $at, -4($t1) -/* 052280 7F01D750 03E00008 */ jr $ra -/* 052284 7F01D754 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01D758(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01D758 -/* 052288 7F01D758 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05228C 7F01D75C AFBF0014 */ sw $ra, 0x14($sp) -/* 052290 7F01D760 0FC075B0 */ jal sub_GAME_7F01D6C0 -/* 052294 7F01D764 AFA40018 */ sw $a0, 0x18($sp) -/* 052298 7F01D768 10400009 */ beqz $v0, .L7F01D790 -/* 05229C 7F01D76C 8FA70018 */ lw $a3, 0x18($sp) -/* 0522A0 7F01D770 24E40008 */ addiu $a0, $a3, 8 -/* 0522A4 7F01D774 24E50020 */ addiu $a1, $a3, 0x20 -/* 0522A8 7F01D778 0FC26D80 */ jal sub_GAME_7F09B600 -/* 0522AC 7F01D77C 00E03025 */ move $a2, $a3 -/* 0522B0 7F01D780 8FA50018 */ lw $a1, 0x18($sp) -/* 0522B4 7F01D784 00002025 */ move $a0, $zero -/* 0522B8 7F01D788 0C003202 */ jal save_7000C808 -/* 0522BC 7F01D78C 24060020 */ li $a2, 32 -.L7F01D790: -/* 0522C0 7F01D790 8FBF0014 */ lw $ra, 0x14($sp) -/* 0522C4 7F01D794 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0522C8 7F01D798 03E00008 */ jr $ra -/* 0522CC 7F01D79C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01D7A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01D7A0 -/* 0522D0 7F01D7A0 3C0E8007 */ lui $t6, %hi(save1) -/* 0522D4 7F01D7A4 25CE9920 */ addiu $t6, %lo(save1) # addiu $t6, $t6, -0x66e0 -/* 0522D8 7F01D7A8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0522DC 7F01D7AC 008E082B */ sltu $at, $a0, $t6 -/* 0522E0 7F01D7B0 1420001F */ bnez $at, .L7F01D830 -/* 0522E4 7F01D7B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0522E8 7F01D7B8 3C0F8007 */ lui $t7, %hi(save6) -/* 0522EC 7F01D7BC 25EF9B00 */ addiu $t7, %lo(save6) # addiu $t7, $t7, -0x6500 -/* 0522F0 7F01D7C0 008F082B */ sltu $at, $a0, $t7 -/* 0522F4 7F01D7C4 5020001B */ beql $at, $zero, .L7F01D834 -/* 0522F8 7F01D7C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0522FC 7F01D7CC 0FC075B0 */ jal sub_GAME_7F01D6C0 -/* 052300 7F01D7D0 AFA40018 */ sw $a0, 0x18($sp) -/* 052304 7F01D7D4 10400016 */ beqz $v0, .L7F01D830 -/* 052308 7F01D7D8 8FA70018 */ lw $a3, 0x18($sp) -/* 05230C 7F01D7DC 24E40008 */ addiu $a0, $a3, 8 -/* 052310 7F01D7E0 24E50060 */ addiu $a1, $a3, 0x60 -/* 052314 7F01D7E4 00E03025 */ move $a2, $a3 -/* 052318 7F01D7E8 0FC26D80 */ jal sub_GAME_7F09B600 -/* 05231C 7F01D7EC AFA70018 */ sw $a3, 0x18($sp) -/* 052320 7F01D7F0 8FA50018 */ lw $a1, 0x18($sp) -/* 052324 7F01D7F4 3C188007 */ lui $t8, %hi(save1) -/* 052328 7F01D7F8 27189920 */ addiu $t8, %lo(save1) # addiu $t8, $t8, -0x66e0 -/* 05232C 7F01D7FC 24010060 */ li $at, 96 -/* 052330 7F01D800 00B82023 */ subu $a0, $a1, $t8 -/* 052334 7F01D804 0081001A */ div $zero, $a0, $at -/* 052338 7F01D808 0000C812 */ mflo $t9 -/* 05233C 7F01D80C 00194080 */ sll $t0, $t9, 2 -/* 052340 7F01D810 01194023 */ subu $t0, $t0, $t9 -/* 052344 7F01D814 00084140 */ sll $t0, $t0, 5 -/* 052348 7F01D818 000848C2 */ srl $t1, $t0, 3 -/* 05234C 7F01D81C 25240004 */ addiu $a0, $t1, 4 -/* 052350 7F01D820 308A00FF */ andi $t2, $a0, 0xff -/* 052354 7F01D824 01402025 */ move $a0, $t2 -/* 052358 7F01D828 0C003202 */ jal save_7000C808 -/* 05235C 7F01D82C 24060060 */ li $a2, 96 -.L7F01D830: -/* 052360 7F01D830 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01D834: -/* 052364 7F01D834 27BD0018 */ addiu $sp, $sp, 0x18 -/* 052368 7F01D838 03E00008 */ jr $ra -/* 05236C 7F01D83C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01D840(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01D840 -/* 052370 7F01D840 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 052374 7F01D844 3C0E8003 */ lui $t6, %hi(D_8002C580) -/* 052378 7F01D848 27A20018 */ addiu $v0, $sp, 0x18 -/* 05237C 7F01D84C 25CEC580 */ addiu $t6, %lo(D_8002C580) # addiu $t6, $t6, -0x3a80 -/* 052380 7F01D850 AFBF0014 */ sw $ra, 0x14($sp) -/* 052384 7F01D854 25D90060 */ addiu $t9, $t6, 0x60 -/* 052388 7F01D858 00404025 */ move $t0, $v0 -.L7F01D85C: -/* 05238C 7F01D85C 8DC10000 */ lw $at, ($t6) -/* 052390 7F01D860 25CE000C */ addiu $t6, $t6, 0xc -/* 052394 7F01D864 2508000C */ addiu $t0, $t0, 0xc -/* 052398 7F01D868 AD01FFF4 */ sw $at, -0xc($t0) -/* 05239C 7F01D86C 8DC1FFF8 */ lw $at, -8($t6) -/* 0523A0 7F01D870 AD01FFF8 */ sw $at, -8($t0) -/* 0523A4 7F01D874 8DC1FFFC */ lw $at, -4($t6) -/* 0523A8 7F01D878 15D9FFF8 */ bne $t6, $t9, .L7F01D85C -/* 0523AC 7F01D87C AD01FFFC */ sw $at, -4($t0) -/* 0523B0 7F01D880 00406025 */ move $t4, $v0 -/* 0523B4 7F01D884 00806825 */ move $t5, $a0 -/* 0523B8 7F01D888 244B0060 */ addiu $t3, $v0, 0x60 -.L7F01D88C: -/* 0523BC 7F01D88C 8D810000 */ lw $at, ($t4) -/* 0523C0 7F01D890 258C000C */ addiu $t4, $t4, 0xc -/* 0523C4 7F01D894 25AD000C */ addiu $t5, $t5, 0xc -/* 0523C8 7F01D898 ADA1FFF4 */ sw $at, -0xc($t5) -/* 0523CC 7F01D89C 8D81FFF8 */ lw $at, -8($t4) -/* 0523D0 7F01D8A0 ADA1FFF8 */ sw $at, -8($t5) -/* 0523D4 7F01D8A4 8D81FFFC */ lw $at, -4($t4) -/* 0523D8 7F01D8A8 158BFFF8 */ bne $t4, $t3, .L7F01D88C -/* 0523DC 7F01D8AC ADA1FFFC */ sw $at, -4($t5) -/* 0523E0 7F01D8B0 0FC075E8 */ jal sub_GAME_7F01D7A0 -/* 0523E4 7F01D8B4 00000000 */ nop -/* 0523E8 7F01D8B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0523EC 7F01D8BC 27BD0078 */ addiu $sp, $sp, 0x78 -/* 0523F0 7F01D8C0 03E00008 */ jr $ra -/* 0523F4 7F01D8C4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_foldernum_of_eeprom(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_foldernum_of_eeprom -/* 0523F8 7F01D8C8 90820008 */ lbu $v0, 8($a0) -/* 0523FC 7F01D8CC 304E0007 */ andi $t6, $v0, 7 -/* 052400 7F01D8D0 03E00008 */ jr $ra -/* 052404 7F01D8D4 01C01025 */ move $v0, $t6 -) -#endif - - - -#ifdef NONMATCHING -void set_eeprom_to_folder_num(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_eeprom_to_folder_num -/* 052408 7F01D8D8 908E0008 */ lbu $t6, 8($a0) -/* 05240C 7F01D8DC 30B90007 */ andi $t9, $a1, 7 -/* 052410 7F01D8E0 31D8FFF8 */ andi $t8, $t6, 0xfff8 -/* 052414 7F01D8E4 A0980008 */ sb $t8, 8($a0) -/* 052418 7F01D8E8 03194025 */ or $t0, $t8, $t9 -/* 05241C 7F01D8EC 03E00008 */ jr $ra -/* 052420 7F01D8F0 A0880008 */ sb $t0, 8($a0) -) -#endif - - - -#ifdef NONMATCHING -void set_eeprom_flag_0x18(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_eeprom_flag_0x18 -/* 052424 7F01D8F4 90820008 */ lbu $v0, 8($a0) -/* 052428 7F01D8F8 304E0018 */ andi $t6, $v0, 0x18 -/* 05242C 7F01D8FC 03E00008 */ jr $ra -/* 052430 7F01D900 000E10C3 */ sra $v0, $t6, 3 -) -#endif - - - -#ifdef NONMATCHING -void reset_eeprom_flag_0x18(void) { - -} -#else -GLOBAL_ASM( -.text -glabel reset_eeprom_flag_0x18 -/* 052434 7F01D904 908E0008 */ lbu $t6, 8($a0) -/* 052438 7F01D908 0005C8C0 */ sll $t9, $a1, 3 -/* 05243C 7F01D90C 33280018 */ andi $t0, $t9, 0x18 -/* 052440 7F01D910 31D8FFE7 */ andi $t8, $t6, 0xffe7 -/* 052444 7F01D914 A0980008 */ sb $t8, 8($a0) -/* 052448 7F01D918 03084825 */ or $t1, $t8, $t0 -/* 05244C 7F01D91C 03E00008 */ jr $ra -/* 052450 7F01D920 A0890008 */ sb $t1, 8($a0) -) -#endif - - - -#ifdef NONMATCHING -void get_selected_bond(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_selected_bond -/* 052454 7F01D924 90820008 */ lbu $v0, 8($a0) -/* 052458 7F01D928 304E0060 */ andi $t6, $v0, 0x60 -/* 05245C 7F01D92C 03E00008 */ jr $ra -/* 052460 7F01D930 000E1143 */ sra $v0, $t6, 5 -) -#endif - - - -#ifdef NONMATCHING -void set_selected_bond(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_selected_bond -/* 052464 7F01D934 908E0008 */ lbu $t6, 8($a0) -/* 052468 7F01D938 0005C940 */ sll $t9, $a1, 5 -/* 05246C 7F01D93C 33280060 */ andi $t0, $t9, 0x60 -/* 052470 7F01D940 31D8FF9F */ andi $t8, $t6, 0xff9f -/* 052474 7F01D944 A0980008 */ sb $t8, 8($a0) -/* 052478 7F01D948 03084825 */ or $t1, $t8, $t0 -/* 05247C 7F01D94C 03E00008 */ jr $ra -/* 052480 7F01D950 A0890008 */ sb $t1, 8($a0) -) -#endif - - - -#ifdef NONMATCHING -void check_if_eeprom_flag_set_0x80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_eeprom_flag_set_0x80 -/* 052484 7F01D954 90820008 */ lbu $v0, 8($a0) -/* 052488 7F01D958 304E0080 */ andi $t6, $v0, 0x80 -/* 05248C 7F01D95C 03E00008 */ jr $ra -/* 052490 7F01D960 000E102B */ sltu $v0, $zero, $t6 -) -#endif - - - -#ifdef NONMATCHING -void toggle_eeprom_flag_set_0x80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel toggle_eeprom_flag_set_0x80 -/* 052494 7F01D964 50A00006 */ beql $a1, $zero, .L7F01D980 -/* 052498 7F01D968 90980008 */ lbu $t8, 8($a0) -/* 05249C 7F01D96C 908E0008 */ lbu $t6, 8($a0) -/* 0524A0 7F01D970 35CF0080 */ ori $t7, $t6, 0x80 -/* 0524A4 7F01D974 03E00008 */ jr $ra -/* 0524A8 7F01D978 A08F0008 */ sb $t7, 8($a0) - -/* 0524AC 7F01D97C 90980008 */ lbu $t8, 8($a0) -.L7F01D980: -/* 0524B0 7F01D980 3319FF7F */ andi $t9, $t8, 0xff7f -/* 0524B4 7F01D984 A0990008 */ sb $t9, 8($a0) -/* 0524B8 7F01D988 03E00008 */ jr $ra -/* 0524BC 7F01D98C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_eeprom_stage_complete_time_for_difficulty(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_eeprom_stage_complete_time_for_difficulty -/* 0524C0 7F01D990 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0524C4 7F01D994 AFBF0014 */ sw $ra, 0x14($sp) -/* 0524C8 7F01D998 04A0004D */ bltz $a1, .L7F01DAD0 -/* 0524CC 7F01D99C 00803825 */ move $a3, $a0 -/* 0524D0 7F01D9A0 28A10014 */ slti $at, $a1, 0x14 -/* 0524D4 7F01D9A4 5020004B */ beql $at, $zero, .L7F01DAD4 -/* 0524D8 7F01D9A8 00001025 */ move $v0, $zero -/* 0524DC 7F01D9AC 04C00048 */ bltz $a2, .L7F01DAD0 -/* 0524E0 7F01D9B0 28C10004 */ slti $at, $a2, 4 -/* 0524E4 7F01D9B4 10200046 */ beqz $at, .L7F01DAD0 -/* 0524E8 7F01D9B8 24030003 */ li $v1, 3 -/* 0524EC 7F01D9BC 14C3000B */ bne $a2, $v1, .L7F01D9EC -/* 0524F0 7F01D9C0 24080007 */ li $t0, 7 -/* 0524F4 7F01D9C4 0FC07632 */ jal get_foldernum_of_eeprom -/* 0524F8 7F01D9C8 00000000 */ nop -/* 0524FC 7F01D9CC 0FC07D28 */ jal check_for_007_mode_unlocked -/* 052500 7F01D9D0 00402025 */ move $a0, $v0 -/* 052504 7F01D9D4 10400003 */ beqz $v0, .L7F01D9E4 -/* 052508 7F01D9D8 00000000 */ nop -/* 05250C 7F01D9DC 1000003D */ b .L7F01DAD4 -/* 052510 7F01D9E0 240203FF */ li $v0, 1023 -.L7F01D9E4: -/* 052514 7F01D9E4 1000003B */ b .L7F01DAD4 -/* 052518 7F01D9E8 00001025 */ move $v0, $zero -.L7F01D9EC: -/* 05251C 7F01D9EC 00067080 */ sll $t6, $a2, 2 -/* 052520 7F01D9F0 01C67021 */ addu $t6, $t6, $a2 -/* 052524 7F01D9F4 000E7080 */ sll $t6, $t6, 2 -/* 052528 7F01D9F8 01C52021 */ addu $a0, $t6, $a1 -/* 05252C 7F01D9FC 00047880 */ sll $t7, $a0, 2 -/* 052530 7F01DA00 01E47821 */ addu $t7, $t7, $a0 -/* 052534 7F01DA04 000F7840 */ sll $t7, $t7, 1 -/* 052538 7F01DA08 31F80007 */ andi $t8, $t7, 7 -/* 05253C 7F01DA0C 01181023 */ subu $v0, $t0, $t8 -/* 052540 7F01DA10 24010001 */ li $at, 1 -/* 052544 7F01DA14 10410024 */ beq $v0, $at, .L7F01DAA8 -/* 052548 7F01DA18 01E02025 */ move $a0, $t7 -/* 05254C 7F01DA1C 10430019 */ beq $v0, $v1, .L7F01DA84 -/* 052550 7F01DA20 000458C3 */ sra $t3, $a0, 3 -/* 052554 7F01DA24 24010005 */ li $at, 5 -/* 052558 7F01DA28 5041000D */ beql $v0, $at, .L7F01DA60 -/* 05255C 7F01DA2C 000478C3 */ sra $t7, $a0, 3 -/* 052560 7F01DA30 14480025 */ bne $v0, $t0, .L7F01DAC8 -/* 052564 7F01DA34 00001825 */ move $v1, $zero -/* 052568 7F01DA38 000FC8C3 */ sra $t9, $t7, 3 -/* 05256C 7F01DA3C 00F91021 */ addu $v0, $a3, $t9 -/* 052570 7F01DA40 90490013 */ lbu $t1, 0x13($v0) -/* 052574 7F01DA44 904D0012 */ lbu $t5, 0x12($v0) -/* 052578 7F01DA48 312A00C0 */ andi $t2, $t1, 0xc0 -/* 05257C 7F01DA4C 000A5983 */ sra $t3, $t2, 6 -/* 052580 7F01DA50 000D7080 */ sll $t6, $t5, 2 -/* 052584 7F01DA54 1000001F */ b .L7F01DAD4 -/* 052588 7F01DA58 016E1025 */ or $v0, $t3, $t6 -/* 05258C 7F01DA5C 000478C3 */ sra $t7, $a0, 3 -.L7F01DA60: -/* 052590 7F01DA60 00EF1021 */ addu $v0, $a3, $t7 -/* 052594 7F01DA64 90580013 */ lbu $t8, 0x13($v0) -/* 052598 7F01DA68 904A0012 */ lbu $t2, 0x12($v0) -/* 05259C 7F01DA6C 331900F0 */ andi $t9, $t8, 0xf0 -/* 0525A0 7F01DA70 314C003F */ andi $t4, $t2, 0x3f -/* 0525A4 7F01DA74 000C6900 */ sll $t5, $t4, 4 -/* 0525A8 7F01DA78 00194903 */ sra $t1, $t9, 4 -/* 0525AC 7F01DA7C 10000015 */ b .L7F01DAD4 -/* 0525B0 7F01DA80 012D1025 */ or $v0, $t1, $t5 -.L7F01DA84: -/* 0525B4 7F01DA84 00EB1021 */ addu $v0, $a3, $t3 -/* 0525B8 7F01DA88 904E0013 */ lbu $t6, 0x13($v0) -/* 0525BC 7F01DA8C 90590012 */ lbu $t9, 0x12($v0) -/* 0525C0 7F01DA90 31CF00FC */ andi $t7, $t6, 0xfc -/* 0525C4 7F01DA94 332A000F */ andi $t2, $t9, 0xf -/* 0525C8 7F01DA98 000A6180 */ sll $t4, $t2, 6 -/* 0525CC 7F01DA9C 000FC083 */ sra $t8, $t7, 2 -/* 0525D0 7F01DAA0 1000000C */ b .L7F01DAD4 -/* 0525D4 7F01DAA4 030C1025 */ or $v0, $t8, $t4 -.L7F01DAA8: -/* 0525D8 7F01DAA8 000448C3 */ sra $t1, $a0, 3 -/* 0525DC 7F01DAAC 00E91021 */ addu $v0, $a3, $t1 -/* 0525E0 7F01DAB0 904E0012 */ lbu $t6, 0x12($v0) -/* 0525E4 7F01DAB4 904B0013 */ lbu $t3, 0x13($v0) -/* 0525E8 7F01DAB8 31CF0003 */ andi $t7, $t6, 3 -/* 0525EC 7F01DABC 000FCA00 */ sll $t9, $t7, 8 -/* 0525F0 7F01DAC0 10000004 */ b .L7F01DAD4 -/* 0525F4 7F01DAC4 01791025 */ or $v0, $t3, $t9 -.L7F01DAC8: -/* 0525F8 7F01DAC8 10000002 */ b .L7F01DAD4 -/* 0525FC 7F01DACC 00601025 */ move $v0, $v1 -.L7F01DAD0: -/* 052600 7F01DAD0 00001025 */ move $v0, $zero -.L7F01DAD4: -/* 052604 7F01DAD4 8FBF0014 */ lw $ra, 0x14($sp) -/* 052608 7F01DAD8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 05260C 7F01DADC 03E00008 */ jr $ra -/* 052610 7F01DAE0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01DAE4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01DAE4 -/* 052614 7F01DAE4 04A0005C */ bltz $a1, .L7F01DC58 -/* 052618 7F01DAE8 28A10014 */ slti $at, $a1, 0x14 -/* 05261C 7F01DAEC 1020005A */ beqz $at, .L7F01DC58 -/* 052620 7F01DAF0 00000000 */ nop -/* 052624 7F01DAF4 04C00058 */ bltz $a2, .L7F01DC58 -/* 052628 7F01DAF8 28C10003 */ slti $at, $a2, 3 -/* 05262C 7F01DAFC 10200056 */ beqz $at, .L7F01DC58 -/* 052630 7F01DB00 24080007 */ li $t0, 7 -/* 052634 7F01DB04 14E00003 */ bnez $a3, .L7F01DB14 -/* 052638 7F01DB08 00067080 */ sll $t6, $a2, 2 -/* 05263C 7F01DB0C 10000005 */ b .L7F01DB24 -/* 052640 7F01DB10 2407004F */ li $a3, 79 -.L7F01DB14: -/* 052644 7F01DB14 28E10400 */ slti $at, $a3, 0x400 -/* 052648 7F01DB18 54200003 */ bnezl $at, .L7F01DB28 -/* 05264C 7F01DB1C 01C67021 */ addu $t6, $t6, $a2 -/* 052650 7F01DB20 240703FF */ li $a3, 1023 -.L7F01DB24: -/* 052654 7F01DB24 01C67021 */ addu $t6, $t6, $a2 -.L7F01DB28: -/* 052658 7F01DB28 000E7080 */ sll $t6, $t6, 2 -/* 05265C 7F01DB2C 01C51021 */ addu $v0, $t6, $a1 -/* 052660 7F01DB30 00027880 */ sll $t7, $v0, 2 -/* 052664 7F01DB34 01E27821 */ addu $t7, $t7, $v0 -/* 052668 7F01DB38 000F7840 */ sll $t7, $t7, 1 -/* 05266C 7F01DB3C 31F80007 */ andi $t8, $t7, 7 -/* 052670 7F01DB40 01181823 */ subu $v1, $t0, $t8 -/* 052674 7F01DB44 24010001 */ li $at, 1 -/* 052678 7F01DB48 10610035 */ beq $v1, $at, .L7F01DC20 -/* 05267C 7F01DB4C 01E01025 */ move $v0, $t7 -/* 052680 7F01DB50 24010003 */ li $at, 3 -/* 052684 7F01DB54 10610023 */ beq $v1, $at, .L7F01DBE4 -/* 052688 7F01DB58 0002C0C3 */ sra $t8, $v0, 3 -/* 05268C 7F01DB5C 24010005 */ li $at, 5 -/* 052690 7F01DB60 10610011 */ beq $v1, $at, .L7F01DBA8 -/* 052694 7F01DB64 000260C3 */ sra $t4, $v0, 3 -/* 052698 7F01DB68 1468003B */ bne $v1, $t0, .L7F01DC58 -/* 05269C 7F01DB6C 000FC8C3 */ sra $t9, $t7, 3 -/* 0526A0 7F01DB70 00991821 */ addu $v1, $a0, $t9 -/* 0526A4 7F01DB74 90690012 */ lbu $t1, 0x12($v1) -/* 0526A8 7F01DB78 906B0013 */ lbu $t3, 0x13($v1) -/* 0526AC 7F01DB7C 00077883 */ sra $t7, $a3, 2 -/* 0526B0 7F01DB80 312DFF00 */ andi $t5, $t1, 0xff00 -/* 0526B4 7F01DB84 3179FF3F */ andi $t9, $t3, 0xff3f -/* 0526B8 7F01DB88 00075180 */ sll $t2, $a3, 6 -/* 0526BC 7F01DB8C A06D0012 */ sb $t5, 0x12($v1) -/* 0526C0 7F01DB90 A0790013 */ sb $t9, 0x13($v1) -/* 0526C4 7F01DB94 01AFC025 */ or $t8, $t5, $t7 -/* 0526C8 7F01DB98 032A5825 */ or $t3, $t9, $t2 -/* 0526CC 7F01DB9C A0780012 */ sb $t8, 0x12($v1) -/* 0526D0 7F01DBA0 03E00008 */ jr $ra -/* 0526D4 7F01DBA4 A06B0013 */ sb $t3, 0x13($v1) - -.L7F01DBA8: -/* 0526D8 7F01DBA8 008C1821 */ addu $v1, $a0, $t4 -/* 0526DC 7F01DBAC 906E0012 */ lbu $t6, 0x12($v1) -/* 0526E0 7F01DBB0 906F0013 */ lbu $t7, 0x13($v1) -/* 0526E4 7F01DBB4 0007C903 */ sra $t9, $a3, 4 -/* 0526E8 7F01DBB8 31C9FFC0 */ andi $t1, $t6, 0xffc0 -/* 0526EC 7F01DBBC 31ECFF0F */ andi $t4, $t7, 0xff0f -/* 0526F0 7F01DBC0 332A003F */ andi $t2, $t9, 0x3f -/* 0526F4 7F01DBC4 00076900 */ sll $t5, $a3, 4 -/* 0526F8 7F01DBC8 A0690012 */ sb $t1, 0x12($v1) -/* 0526FC 7F01DBCC A06C0013 */ sb $t4, 0x13($v1) -/* 052700 7F01DBD0 012A5825 */ or $t3, $t1, $t2 -/* 052704 7F01DBD4 018D7825 */ or $t7, $t4, $t5 -/* 052708 7F01DBD8 A06B0012 */ sb $t3, 0x12($v1) -/* 05270C 7F01DBDC 03E00008 */ jr $ra -/* 052710 7F01DBE0 A06F0013 */ sb $t7, 0x13($v1) - -.L7F01DBE4: -/* 052714 7F01DBE4 00981821 */ addu $v1, $a0, $t8 -/* 052718 7F01DBE8 90790012 */ lbu $t9, 0x12($v1) -/* 05271C 7F01DBEC 906A0013 */ lbu $t2, 0x13($v1) -/* 052720 7F01DBF0 00076183 */ sra $t4, $a3, 6 -/* 052724 7F01DBF4 332EFFF0 */ andi $t6, $t9, 0xfff0 -/* 052728 7F01DBF8 3158FF03 */ andi $t8, $t2, 0xff03 -/* 05272C 7F01DBFC 318D000F */ andi $t5, $t4, 0xf -/* 052730 7F01DC00 00074880 */ sll $t1, $a3, 2 -/* 052734 7F01DC04 A06E0012 */ sb $t6, 0x12($v1) -/* 052738 7F01DC08 A0780013 */ sb $t8, 0x13($v1) -/* 05273C 7F01DC0C 01CD7825 */ or $t7, $t6, $t5 -/* 052740 7F01DC10 03095025 */ or $t2, $t8, $t1 -/* 052744 7F01DC14 A06F0012 */ sb $t7, 0x12($v1) -/* 052748 7F01DC18 03E00008 */ jr $ra -/* 05274C 7F01DC1C A06A0013 */ sb $t2, 0x13($v1) - -.L7F01DC20: -/* 052750 7F01DC20 000258C3 */ sra $t3, $v0, 3 -/* 052754 7F01DC24 008B1821 */ addu $v1, $a0, $t3 -/* 052758 7F01DC28 906C0012 */ lbu $t4, 0x12($v1) -/* 05275C 7F01DC2C 906D0013 */ lbu $t5, 0x13($v1) -/* 052760 7F01DC30 0007C203 */ sra $t8, $a3, 8 -/* 052764 7F01DC34 3199FFFC */ andi $t9, $t4, 0xfffc -/* 052768 7F01DC38 31ABFF00 */ andi $t3, $t5, 0xff00 -/* 05276C 7F01DC3C 33090003 */ andi $t1, $t8, 3 -/* 052770 7F01DC40 A0790012 */ sb $t9, 0x12($v1) -/* 052774 7F01DC44 A06B0013 */ sb $t3, 0x13($v1) -/* 052778 7F01DC48 03295025 */ or $t2, $t9, $t1 -/* 05277C 7F01DC4C 01677025 */ or $t6, $t3, $a3 -/* 052780 7F01DC50 A06A0012 */ sb $t2, 0x12($v1) -/* 052784 7F01DC54 A06E0013 */ sb $t6, 0x13($v1) -.L7F01DC58: -/* 052788 7F01DC58 03E00008 */ jr $ra -/* 05278C 7F01DC5C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_eeprom_stage_completed_for_difficulty(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_eeprom_stage_completed_for_difficulty -/* 052790 7F01DC60 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 052794 7F01DC64 04A0000D */ bltz $a1, .L7F01DC9C -/* 052798 7F01DC68 AFBF0014 */ sw $ra, 0x14($sp) -/* 05279C 7F01DC6C 28A10014 */ slti $at, $a1, 0x14 -/* 0527A0 7F01DC70 5020000B */ beql $at, $zero, .L7F01DCA0 -/* 0527A4 7F01DC74 00001025 */ move $v0, $zero -/* 0527A8 7F01DC78 04C00008 */ bltz $a2, .L7F01DC9C -/* 0527AC 7F01DC7C 28C10004 */ slti $at, $a2, 4 -/* 0527B0 7F01DC80 50200007 */ beql $at, $zero, .L7F01DCA0 -/* 0527B4 7F01DC84 00001025 */ move $v0, $zero -/* 0527B8 7F01DC88 0FC07664 */ jal get_eeprom_stage_complete_time_for_difficulty -/* 0527BC 7F01DC8C 00000000 */ nop -/* 0527C0 7F01DC90 0002702B */ sltu $t6, $zero, $v0 -/* 0527C4 7F01DC94 10000002 */ b .L7F01DCA0 -/* 0527C8 7F01DC98 01C01025 */ move $v0, $t6 -.L7F01DC9C: -/* 0527CC 7F01DC9C 00001025 */ move $v0, $zero -.L7F01DCA0: -/* 0527D0 7F01DCA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0527D4 7F01DCA4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0527D8 7F01DCA8 03E00008 */ jr $ra -/* 0527DC 7F01DCAC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01DCB0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01DCB0 -/* 0527E0 7F01DCB0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0527E4 7F01DCB4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0527E8 7F01DCB8 04A00015 */ bltz $a1, .L7F01DD10 -/* 0527EC 7F01DCBC AFA40018 */ sw $a0, 0x18($sp) -/* 0527F0 7F01DCC0 28A10014 */ slti $at, $a1, 0x14 -/* 0527F4 7F01DCC4 50200013 */ beql $at, $zero, .L7F01DD14 -/* 0527F8 7F01DCC8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0527FC 7F01DCCC 04C00010 */ bltz $a2, .L7F01DD10 -/* 052800 7F01DCD0 28C10004 */ slti $at, $a2, 4 -/* 052804 7F01DCD4 5020000F */ beql $at, $zero, .L7F01DD14 -/* 052808 7F01DCD8 8FBF0014 */ lw $ra, 0x14($sp) -/* 05280C 7F01DCDC AFA5001C */ sw $a1, 0x1c($sp) -/* 052810 7F01DCE0 AFA60020 */ sw $a2, 0x20($sp) -/* 052814 7F01DCE4 0FC07664 */ jal get_eeprom_stage_complete_time_for_difficulty -/* 052818 7F01DCE8 AFA70024 */ sw $a3, 0x24($sp) -/* 05281C 7F01DCEC 8FA5001C */ lw $a1, 0x1c($sp) -/* 052820 7F01DCF0 8FA60020 */ lw $a2, 0x20($sp) -/* 052824 7F01DCF4 10400004 */ beqz $v0, .L7F01DD08 -/* 052828 7F01DCF8 8FA70024 */ lw $a3, 0x24($sp) -/* 05282C 7F01DCFC 00E2082A */ slt $at, $a3, $v0 -/* 052830 7F01DD00 50200004 */ beql $at, $zero, .L7F01DD14 -/* 052834 7F01DD04 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01DD08: -/* 052838 7F01DD08 0FC076B9 */ jal sub_GAME_7F01DAE4 -/* 05283C 7F01DD0C 8FA40018 */ lw $a0, 0x18($sp) -.L7F01DD10: -/* 052840 7F01DD10 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01DD14: -/* 052844 7F01DD14 27BD0018 */ addiu $sp, $sp, 0x18 -/* 052848 7F01DD18 03E00008 */ jr $ra -/* 05284C 7F01DD1C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_if_cheat_unlocked(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_cheat_unlocked -/* 052850 7F01DD20 04A00011 */ bltz $a1, .L7F01DD68 -/* 052854 7F01DD24 28A10014 */ slti $at, $a1, 0x14 -/* 052858 7F01DD28 1020000F */ beqz $at, .L7F01DD68 -/* 05285C 7F01DD2C 240B0001 */ li $t3, 1 -/* 052860 7F01DD30 90860010 */ lbu $a2, 0x10($a0) -/* 052864 7F01DD34 908E000E */ lbu $t6, 0xe($a0) -/* 052868 7F01DD38 9089000F */ lbu $t1, 0xf($a0) -/* 05286C 7F01DD3C 00067E00 */ sll $t7, $a2, 0x18 -/* 052870 7F01DD40 0006CC00 */ sll $t9, $a2, 0x10 -/* 052874 7F01DD44 01CFC025 */ or $t8, $t6, $t7 -/* 052878 7F01DD48 03194025 */ or $t0, $t8, $t9 -/* 05287C 7F01DD4C 00095200 */ sll $t2, $t1, 8 -/* 052880 7F01DD50 010A1825 */ or $v1, $t0, $t2 -/* 052884 7F01DD54 00AB6004 */ sllv $t4, $t3, $a1 -/* 052888 7F01DD58 01831024 */ and $v0, $t4, $v1 -/* 05288C 7F01DD5C 0002682B */ sltu $t5, $zero, $v0 -/* 052890 7F01DD60 03E00008 */ jr $ra -/* 052894 7F01DD64 01A01025 */ move $v0, $t5 - -.L7F01DD68: -/* 052898 7F01DD68 00001025 */ move $v0, $zero -/* 05289C 7F01DD6C 03E00008 */ jr $ra -/* 0528A0 7F01DD70 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01DD74(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01DD74 -/* 0528A4 7F01DD74 04A00011 */ bltz $a1, .L7F01DDBC -/* 0528A8 7F01DD78 00803025 */ move $a2, $a0 -/* 0528AC 7F01DD7C 28A10014 */ slti $at, $a1, 0x14 -/* 0528B0 7F01DD80 1020000E */ beqz $at, .L7F01DDBC -/* 0528B4 7F01DD84 240E0001 */ li $t6, 1 -/* 0528B8 7F01DD88 00AE1004 */ sllv $v0, $t6, $a1 -/* 0528BC 7F01DD8C 2C410100 */ sltiu $at, $v0, 0x100 -/* 0528C0 7F01DD90 14200006 */ bnez $at, .L7F01DDAC -/* 0528C4 7F01DD94 00002025 */ move $a0, $zero -.L7F01DD98: -/* 0528C8 7F01DD98 00027A02 */ srl $t7, $v0, 8 -/* 0528CC 7F01DD9C 2DE10100 */ sltiu $at, $t7, 0x100 -/* 0528D0 7F01DDA0 24840001 */ addiu $a0, $a0, 1 -/* 0528D4 7F01DDA4 1020FFFC */ beqz $at, .L7F01DD98 -/* 0528D8 7F01DDA8 01E01025 */ move $v0, $t7 -.L7F01DDAC: -/* 0528DC 7F01DDAC 00C41821 */ addu $v1, $a2, $a0 -/* 0528E0 7F01DDB0 9078000E */ lbu $t8, 0xe($v1) -/* 0528E4 7F01DDB4 03024025 */ or $t0, $t8, $v0 -/* 0528E8 7F01DDB8 A068000E */ sb $t0, 0xe($v1) -.L7F01DDBC: -/* 0528EC 7F01DDBC 03E00008 */ jr $ra -/* 0528F0 7F01DDC0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_save_folder_ptr(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_save_folder_ptr -/* 0528F4 7F01DDC4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0528F8 7F01DDC8 AFB1001C */ sw $s1, 0x1c($sp) -/* 0528FC 7F01DDCC AFB00018 */ sw $s0, 0x18($sp) -/* 052900 7F01DDD0 AFB20020 */ sw $s2, 0x20($sp) -/* 052904 7F01DDD4 3C108007 */ lui $s0, %hi(save1) -/* 052908 7F01DDD8 3C118007 */ lui $s1, %hi(save6) -/* 05290C 7F01DDDC 00809025 */ move $s2, $a0 -/* 052910 7F01DDE0 AFBF0024 */ sw $ra, 0x24($sp) -/* 052914 7F01DDE4 26319B00 */ addiu $s1, %lo(save6) # addiu $s1, $s1, -0x6500 -/* 052918 7F01DDE8 26109920 */ addiu $s0, %lo(save1) # addiu $s0, $s0, -0x66e0 -.L7F01DDEC: -/* 05291C 7F01DDEC 0FC07655 */ jal check_if_eeprom_flag_set_0x80 -/* 052920 7F01DDF0 02002025 */ move $a0, $s0 -/* 052924 7F01DDF4 54400008 */ bnezl $v0, .L7F01DE18 -/* 052928 7F01DDF8 26100060 */ addiu $s0, $s0, 0x60 -/* 05292C 7F01DDFC 0FC07632 */ jal get_foldernum_of_eeprom -/* 052930 7F01DE00 02002025 */ move $a0, $s0 -/* 052934 7F01DE04 54520004 */ bnel $v0, $s2, .L7F01DE18 -/* 052938 7F01DE08 26100060 */ addiu $s0, $s0, 0x60 -/* 05293C 7F01DE0C 1000000A */ b .L7F01DE38 -/* 052940 7F01DE10 02001025 */ move $v0, $s0 -/* 052944 7F01DE14 26100060 */ addiu $s0, $s0, 0x60 -.L7F01DE18: -/* 052948 7F01DE18 1611FFF4 */ bne $s0, $s1, .L7F01DDEC -/* 05294C 7F01DE1C 00000000 */ nop -/* 052950 7F01DE20 24010064 */ li $at, 100 -/* 052954 7F01DE24 16410004 */ bne $s2, $at, .L7F01DE38 -/* 052958 7F01DE28 00001025 */ move $v0, $zero -/* 05295C 7F01DE2C 3C028007 */ lui $v0, %hi(save6) -/* 052960 7F01DE30 10000001 */ b .L7F01DE38 -/* 052964 7F01DE34 24429B00 */ addiu $v0, %lo(save6) # addiu $v0, $v0, -0x6500 -.L7F01DE38: -/* 052968 7F01DE38 8FBF0024 */ lw $ra, 0x24($sp) -/* 05296C 7F01DE3C 8FB00018 */ lw $s0, 0x18($sp) -/* 052970 7F01DE40 8FB1001C */ lw $s1, 0x1c($sp) -/* 052974 7F01DE44 8FB20020 */ lw $s2, 0x20($sp) -/* 052978 7F01DE48 03E00008 */ jr $ra -/* 05297C 7F01DE4C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01DE50(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01DE50 -/* 052980 7F01DE50 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 052984 7F01DE54 AFB1001C */ sw $s1, 0x1c($sp) -/* 052988 7F01DE58 AFB20020 */ sw $s2, 0x20($sp) -/* 05298C 7F01DE5C AFB00018 */ sw $s0, 0x18($sp) -/* 052990 7F01DE60 3C118007 */ lui $s1, %hi(save1) -/* 052994 7F01DE64 AFBF0024 */ sw $ra, 0x24($sp) -/* 052998 7F01DE68 26319920 */ addiu $s1, %lo(save1) # addiu $s1, $s1, -0x66e0 -/* 05299C 7F01DE6C 00008025 */ move $s0, $zero -/* 0529A0 7F01DE70 24120005 */ li $s2, 5 -.L7F01DE74: -/* 0529A4 7F01DE74 0FC07655 */ jal check_if_eeprom_flag_set_0x80 -/* 0529A8 7F01DE78 02202025 */ move $a0, $s1 -/* 0529AC 7F01DE7C 50400004 */ beql $v0, $zero, .L7F01DE90 -/* 0529B0 7F01DE80 26100001 */ addiu $s0, $s0, 1 -/* 0529B4 7F01DE84 10000005 */ b .L7F01DE9C -/* 0529B8 7F01DE88 02001025 */ move $v0, $s0 -/* 0529BC 7F01DE8C 26100001 */ addiu $s0, $s0, 1 -.L7F01DE90: -/* 0529C0 7F01DE90 1612FFF8 */ bne $s0, $s2, .L7F01DE74 -/* 0529C4 7F01DE94 26310060 */ addiu $s1, $s1, 0x60 -/* 0529C8 7F01DE98 2402FFFF */ li $v0, -1 -.L7F01DE9C: -/* 0529CC 7F01DE9C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0529D0 7F01DEA0 8FB00018 */ lw $s0, 0x18($sp) -/* 0529D4 7F01DEA4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0529D8 7F01DEA8 8FB20020 */ lw $s2, 0x20($sp) -/* 0529DC 7F01DEAC 03E00008 */ jr $ra -/* 0529E0 7F01DEB0 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01DEB4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01DEB4 -/* 0529E4 7F01DEB4 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 0529E8 7F01DEB8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0529EC 7F01DEBC AFB00018 */ sw $s0, 0x18($sp) -/* 0529F0 7F01DEC0 0FC07794 */ jal sub_GAME_7F01DE50 -/* 0529F4 7F01DEC4 AFA40088 */ sw $a0, 0x88($sp) -/* 0529F8 7F01DEC8 0440002C */ bltz $v0, .L7F01DF7C -/* 0529FC 7F01DECC 00401825 */ move $v1, $v0 -/* 052A00 7F01DED0 3C0E8003 */ lui $t6, %hi(D_8002C5E0) -/* 052A04 7F01DED4 27A20024 */ addiu $v0, $sp, 0x24 -/* 052A08 7F01DED8 25CEC5E0 */ addiu $t6, %lo(D_8002C5E0) # addiu $t6, $t6, -0x3a20 -/* 052A0C 7F01DEDC 25D80060 */ addiu $t8, $t6, 0x60 -/* 052A10 7F01DEE0 0040C825 */ move $t9, $v0 -.L7F01DEE4: -/* 052A14 7F01DEE4 8DC10000 */ lw $at, ($t6) -/* 052A18 7F01DEE8 25CE000C */ addiu $t6, $t6, 0xc -/* 052A1C 7F01DEEC 2739000C */ addiu $t9, $t9, 0xc -/* 052A20 7F01DEF0 AF21FFF4 */ sw $at, -0xc($t9) -/* 052A24 7F01DEF4 8DC1FFF8 */ lw $at, -8($t6) -/* 052A28 7F01DEF8 AF21FFF8 */ sw $at, -8($t9) -/* 052A2C 7F01DEFC 8DC1FFFC */ lw $at, -4($t6) -/* 052A30 7F01DF00 15D8FFF8 */ bne $t6, $t8, .L7F01DEE4 -/* 052A34 7F01DF04 AF21FFFC */ sw $at, -4($t9) -/* 052A38 7F01DF08 00034080 */ sll $t0, $v1, 2 -/* 052A3C 7F01DF0C 01034023 */ subu $t0, $t0, $v1 -/* 052A40 7F01DF10 3C098007 */ lui $t1, %hi(save1) -/* 052A44 7F01DF14 25299920 */ addiu $t1, %lo(save1) # addiu $t1, $t1, -0x66e0 -/* 052A48 7F01DF18 00084140 */ sll $t0, $t0, 5 -/* 052A4C 7F01DF1C 01098021 */ addu $s0, $t0, $t1 -/* 052A50 7F01DF20 02006825 */ move $t5, $s0 -/* 052A54 7F01DF24 00406025 */ move $t4, $v0 -/* 052A58 7F01DF28 244B0060 */ addiu $t3, $v0, 0x60 -.L7F01DF2C: -/* 052A5C 7F01DF2C 8D810000 */ lw $at, ($t4) -/* 052A60 7F01DF30 258C000C */ addiu $t4, $t4, 0xc -/* 052A64 7F01DF34 25AD000C */ addiu $t5, $t5, 0xc -/* 052A68 7F01DF38 ADA1FFF4 */ sw $at, -0xc($t5) -/* 052A6C 7F01DF3C 8D81FFF8 */ lw $at, -8($t4) -/* 052A70 7F01DF40 ADA1FFF8 */ sw $at, -8($t5) -/* 052A74 7F01DF44 8D81FFFC */ lw $at, -4($t4) -/* 052A78 7F01DF48 158BFFF8 */ bne $t4, $t3, .L7F01DF2C -/* 052A7C 7F01DF4C ADA1FFFC */ sw $at, -4($t5) -/* 052A80 7F01DF50 02002025 */ move $a0, $s0 -/* 052A84 7F01DF54 0FC07636 */ jal set_eeprom_to_folder_num -/* 052A88 7F01DF58 8FA50088 */ lw $a1, 0x88($sp) -/* 052A8C 7F01DF5C 02002025 */ move $a0, $s0 -/* 052A90 7F01DF60 0FC07659 */ jal toggle_eeprom_flag_set_0x80 -/* 052A94 7F01DF64 00002825 */ move $a1, $zero -/* 052A98 7F01DF68 02002025 */ move $a0, $s0 -/* 052A9C 7F01DF6C 0FC0764D */ jal set_selected_bond -/* 052AA0 7F01DF70 8FA50088 */ lw $a1, 0x88($sp) -/* 052AA4 7F01DF74 0FC075E8 */ jal sub_GAME_7F01D7A0 -/* 052AA8 7F01DF78 02002025 */ move $a0, $s0 -.L7F01DF7C: -/* 052AAC 7F01DF7C 8FBF001C */ lw $ra, 0x1c($sp) -/* 052AB0 7F01DF80 8FB00018 */ lw $s0, 0x18($sp) -/* 052AB4 7F01DF84 27BD0088 */ addiu $sp, $sp, 0x88 -/* 052AB8 7F01DF88 03E00008 */ jr $ra -/* 052ABC 7F01DF8C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01DF90(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01DF90 -/* 052AC0 7F01DF90 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 052AC4 7F01DF94 AFBF003C */ sw $ra, 0x3c($sp) -/* 052AC8 7F01DF98 AFBE0038 */ sw $fp, 0x38($sp) -/* 052ACC 7F01DF9C AFB70034 */ sw $s7, 0x34($sp) -/* 052AD0 7F01DFA0 AFB60030 */ sw $s6, 0x30($sp) -/* 052AD4 7F01DFA4 AFB5002C */ sw $s5, 0x2c($sp) -/* 052AD8 7F01DFA8 AFB40028 */ sw $s4, 0x28($sp) -/* 052ADC 7F01DFAC AFB30024 */ sw $s3, 0x24($sp) -/* 052AE0 7F01DFB0 AFB20020 */ sw $s2, 0x20($sp) -/* 052AE4 7F01DFB4 AFB1001C */ sw $s1, 0x1c($sp) -/* 052AE8 7F01DFB8 0FC075B0 */ jal sub_GAME_7F01D6C0 -/* 052AEC 7F01DFBC AFB00018 */ sw $s0, 0x18($sp) -/* 052AF0 7F01DFC0 104000A6 */ beqz $v0, .L7F01E25C -/* 052AF4 7F01DFC4 27B10094 */ addiu $s1, $sp, 0x94 -/* 052AF8 7F01DFC8 24100001 */ li $s0, 1 -/* 052AFC 7F01DFCC 00002025 */ move $a0, $zero -/* 052B00 7F01DFD0 02202825 */ move $a1, $s1 -/* 052B04 7F01DFD4 0C0031EF */ jal save_7000C7BC -/* 052B08 7F01DFD8 24060020 */ li $a2, 32 -/* 052B0C 7F01DFDC 93AE009C */ lbu $t6, 0x9c($sp) -/* 052B10 7F01DFE0 24010042 */ li $at, 66 -/* 052B14 7F01DFE4 27B5008C */ addiu $s5, $sp, 0x8c -/* 052B18 7F01DFE8 11C10002 */ beq $t6, $at, .L7F01DFF4 -/* 052B1C 7F01DFEC 27A4009C */ addiu $a0, $sp, 0x9c -/* 052B20 7F01DFF0 00008025 */ move $s0, $zero -.L7F01DFF4: -/* 052B24 7F01DFF4 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 052B28 7F01DFF8 0FC26D80 */ jal sub_GAME_7F09B600 -/* 052B2C 7F01DFFC 02A03025 */ move $a2, $s5 -/* 052B30 7F01E000 8FAF008C */ lw $t7, 0x8c($sp) -/* 052B34 7F01E004 8FB80094 */ lw $t8, 0x94($sp) -/* 052B38 7F01E008 8FB90090 */ lw $t9, 0x90($sp) -/* 052B3C 7F01E00C 8FA80098 */ lw $t0, 0x98($sp) -/* 052B40 7F01E010 15F80003 */ bne $t7, $t8, .L7F01E020 -/* 052B44 7F01E014 3C098003 */ lui $t1, %hi(D_8002C640) -/* 052B48 7F01E018 13280002 */ beq $t9, $t0, .L7F01E024 -/* 052B4C 7F01E01C 00000000 */ nop -.L7F01E020: -/* 052B50 7F01E020 00008025 */ move $s0, $zero -.L7F01E024: -/* 052B54 7F01E024 16000023 */ bnez $s0, .L7F01E0B4 -/* 052B58 7F01E028 2529C640 */ addiu $t1, %lo(D_8002C640) # addiu $t1, $t1, -0x39c0 -/* 052B5C 7F01E02C 8D210000 */ lw $at, ($t1) -/* 052B60 7F01E030 27A20064 */ addiu $v0, $sp, 0x64 -/* 052B64 7F01E034 02202025 */ move $a0, $s1 -/* 052B68 7F01E038 AC410000 */ sw $at, ($v0) -/* 052B6C 7F01E03C 8D2B0004 */ lw $t3, 4($t1) -/* 052B70 7F01E040 AC4B0004 */ sw $t3, 4($v0) -/* 052B74 7F01E044 8D210008 */ lw $at, 8($t1) -/* 052B78 7F01E048 8C4D0004 */ lw $t5, 4($v0) -/* 052B7C 7F01E04C AC410008 */ sw $at, 8($v0) -/* 052B80 7F01E050 8D2B000C */ lw $t3, 0xc($t1) -/* 052B84 7F01E054 AC4B000C */ sw $t3, 0xc($v0) -/* 052B88 7F01E058 8D210010 */ lw $at, 0x10($t1) -/* 052B8C 7F01E05C AC410010 */ sw $at, 0x10($v0) -/* 052B90 7F01E060 8D2B0014 */ lw $t3, 0x14($t1) -/* 052B94 7F01E064 AC4B0014 */ sw $t3, 0x14($v0) -/* 052B98 7F01E068 8D210018 */ lw $at, 0x18($t1) -/* 052B9C 7F01E06C AC410018 */ sw $at, 0x18($v0) -/* 052BA0 7F01E070 8C410000 */ lw $at, ($v0) -/* 052BA4 7F01E074 8D2B001C */ lw $t3, 0x1c($t1) -/* 052BA8 7F01E078 AE2D0004 */ sw $t5, 4($s1) -/* 052BAC 7F01E07C AE210000 */ sw $at, ($s1) -/* 052BB0 7F01E080 8C410008 */ lw $at, 8($v0) -/* 052BB4 7F01E084 8C4D000C */ lw $t5, 0xc($v0) -/* 052BB8 7F01E088 AC4B001C */ sw $t3, 0x1c($v0) -/* 052BBC 7F01E08C AE210008 */ sw $at, 8($s1) -/* 052BC0 7F01E090 8C410010 */ lw $at, 0x10($v0) -/* 052BC4 7F01E094 AE2D000C */ sw $t5, 0xc($s1) -/* 052BC8 7F01E098 8C4D0014 */ lw $t5, 0x14($v0) -/* 052BCC 7F01E09C AE210010 */ sw $at, 0x10($s1) -/* 052BD0 7F01E0A0 8C410018 */ lw $at, 0x18($v0) -/* 052BD4 7F01E0A4 AE2B001C */ sw $t3, 0x1c($s1) -/* 052BD8 7F01E0A8 AE2D0014 */ sw $t5, 0x14($s1) -/* 052BDC 7F01E0AC 0FC075D6 */ jal sub_GAME_7F01D758 -/* 052BE0 7F01E0B0 AE210018 */ sw $at, 0x18($s1) -.L7F01E0B4: -/* 052BE4 7F01E0B4 3C058007 */ lui $a1, %hi(save1) -/* 052BE8 7F01E0B8 24A59920 */ addiu $a1, %lo(save1) # addiu $a1, $a1, -0x66e0 -/* 052BEC 7F01E0BC 24040004 */ li $a0, 4 -/* 052BF0 7F01E0C0 0C0031EF */ jal save_7000C7BC -/* 052BF4 7F01E0C4 240601E0 */ li $a2, 480 -/* 052BF8 7F01E0C8 3C108007 */ lui $s0, %hi(save1) -/* 052BFC 7F01E0CC 3C138007 */ lui $s3, %hi(save1+8) -/* 052C00 7F01E0D0 3C128007 */ lui $s2, %hi(save2) -/* 052C04 7F01E0D4 3C148007 */ lui $s4, %hi(dword_CODE_bss_80069B60) -/* 052C08 7F01E0D8 26949B60 */ addiu $s4, %lo(dword_CODE_bss_80069B60) # addiu $s4, $s4, -0x64a0 -/* 052C0C 7F01E0DC 26529980 */ addiu $s2, %lo(save2) # addiu $s2, $s2, -0x6680 -/* 052C10 7F01E0E0 26739928 */ addiu $s3, %lo(save1+8) # addiu $s3, $s3, -0x66d8 -/* 052C14 7F01E0E4 26109920 */ addiu $s0, %lo(save1) # addiu $s0, $s0, -0x66e0 -.L7F01E0E8: -/* 052C18 7F01E0E8 24110001 */ li $s1, 1 -/* 052C1C 7F01E0EC 02602025 */ move $a0, $s3 -/* 052C20 7F01E0F0 02402825 */ move $a1, $s2 -/* 052C24 7F01E0F4 0FC26D80 */ jal sub_GAME_7F09B600 -/* 052C28 7F01E0F8 02A03025 */ move $a2, $s5 -/* 052C2C 7F01E0FC 8FAE008C */ lw $t6, 0x8c($sp) -/* 052C30 7F01E100 8E0F0000 */ lw $t7, ($s0) -/* 052C34 7F01E104 8FB80090 */ lw $t8, 0x90($sp) -/* 052C38 7F01E108 55CF0005 */ bnel $t6, $t7, .L7F01E120 -/* 052C3C 7F01E10C 00008825 */ move $s1, $zero -/* 052C40 7F01E110 8E190004 */ lw $t9, 4($s0) -/* 052C44 7F01E114 13190002 */ beq $t8, $t9, .L7F01E120 -/* 052C48 7F01E118 00000000 */ nop -/* 052C4C 7F01E11C 00008825 */ move $s1, $zero -.L7F01E120: -/* 052C50 7F01E120 56200004 */ bnezl $s1, .L7F01E134 -/* 052C54 7F01E124 26520060 */ addiu $s2, $s2, 0x60 -/* 052C58 7F01E128 0FC07610 */ jal sub_GAME_7F01D840 -/* 052C5C 7F01E12C 02002025 */ move $a0, $s0 -/* 052C60 7F01E130 26520060 */ addiu $s2, $s2, 0x60 -.L7F01E134: -/* 052C64 7F01E134 26100060 */ addiu $s0, $s0, 0x60 -/* 052C68 7F01E138 1654FFEB */ bne $s2, $s4, .L7F01E0E8 -/* 052C6C 7F01E13C 26730060 */ addiu $s3, $s3, 0x60 -/* 052C70 7F01E140 0000B025 */ move $s6, $zero -/* 052C74 7F01E144 241E0060 */ li $fp, 96 -/* 052C78 7F01E148 24170005 */ li $s7, 5 -.L7F01E14C: -/* 052C7C 7F01E14C 3C108007 */ lui $s0, %hi(save1) -/* 052C80 7F01E150 2414FFFF */ li $s4, -1 -/* 052C84 7F01E154 2415FFFF */ li $s5, -1 -/* 052C88 7F01E158 26109920 */ addiu $s0, %lo(save1) # addiu $s0, $s0, -0x66e0 -/* 052C8C 7F01E15C 00008825 */ move $s1, $zero -.L7F01E160: -/* 052C90 7F01E160 0FC07655 */ jal check_if_eeprom_flag_set_0x80 -/* 052C94 7F01E164 02002025 */ move $a0, $s0 -/* 052C98 7F01E168 54400023 */ bnezl $v0, .L7F01E1F8 -/* 052C9C 7F01E16C 26310001 */ addiu $s1, $s1, 1 -/* 052CA0 7F01E170 0FC07632 */ jal get_foldernum_of_eeprom -/* 052CA4 7F01E174 02002025 */ move $a0, $s0 -/* 052CA8 7F01E178 5456001F */ bnel $v0, $s6, .L7F01E1F8 -/* 052CAC 7F01E17C 26310001 */ addiu $s1, $s1, 1 -/* 052CB0 7F01E180 06810006 */ bgez $s4, .L7F01E19C -/* 052CB4 7F01E184 02002025 */ move $a0, $s0 -/* 052CB8 7F01E188 0220A025 */ move $s4, $s1 -/* 052CBC 7F01E18C 0FC0763D */ jal set_eeprom_flag_0x18 -/* 052CC0 7F01E190 02002025 */ move $a0, $s0 -/* 052CC4 7F01E194 10000017 */ b .L7F01E1F4 -/* 052CC8 7F01E198 0040A825 */ move $s5, $v0 -.L7F01E19C: -/* 052CCC 7F01E19C 26B30001 */ addiu $s3, $s5, 1 -/* 052CD0 7F01E1A0 06610004 */ bgez $s3, .L7F01E1B4 -/* 052CD4 7F01E1A4 32680003 */ andi $t0, $s3, 3 -/* 052CD8 7F01E1A8 11000002 */ beqz $t0, .L7F01E1B4 -/* 052CDC 7F01E1AC 00000000 */ nop -/* 052CE0 7F01E1B0 2508FFFC */ addiu $t0, $t0, -4 -.L7F01E1B4: -/* 052CE4 7F01E1B4 0FC0763D */ jal set_eeprom_flag_0x18 -/* 052CE8 7F01E1B8 01009825 */ move $s3, $t0 -/* 052CEC 7F01E1BC 1453000B */ bne $v0, $s3, .L7F01E1EC -/* 052CF0 7F01E1C0 00409025 */ move $s2, $v0 -/* 052CF4 7F01E1C4 029E0019 */ multu $s4, $fp -/* 052CF8 7F01E1C8 3C098007 */ lui $t1, %hi(save1) -/* 052CFC 7F01E1CC 25299920 */ addiu $t1, %lo(save1) # addiu $t1, $t1, -0x66e0 -/* 052D00 7F01E1D0 00005012 */ mflo $t2 -/* 052D04 7F01E1D4 01492021 */ addu $a0, $t2, $t1 -/* 052D08 7F01E1D8 0FC07610 */ jal sub_GAME_7F01D840 -/* 052D0C 7F01E1DC 00000000 */ nop -/* 052D10 7F01E1E0 0220A025 */ move $s4, $s1 -/* 052D14 7F01E1E4 10000003 */ b .L7F01E1F4 -/* 052D18 7F01E1E8 0240A825 */ move $s5, $s2 -.L7F01E1EC: -/* 052D1C 7F01E1EC 0FC07610 */ jal sub_GAME_7F01D840 -/* 052D20 7F01E1F0 02002025 */ move $a0, $s0 -.L7F01E1F4: -/* 052D24 7F01E1F4 26310001 */ addiu $s1, $s1, 1 -.L7F01E1F8: -/* 052D28 7F01E1F8 1637FFD9 */ bne $s1, $s7, .L7F01E160 -/* 052D2C 7F01E1FC 26100060 */ addiu $s0, $s0, 0x60 -/* 052D30 7F01E200 06830004 */ bgezl $s4, .L7F01E214 -/* 052D34 7F01E204 26D60001 */ addiu $s6, $s6, 1 -/* 052D38 7F01E208 0FC077AD */ jal sub_GAME_7F01DEB4 -/* 052D3C 7F01E20C 02C02025 */ move $a0, $s6 -/* 052D40 7F01E210 26D60001 */ addiu $s6, $s6, 1 -.L7F01E214: -/* 052D44 7F01E214 2AC10004 */ slti $at, $s6, 4 -/* 052D48 7F01E218 1420FFCC */ bnez $at, .L7F01E14C -/* 052D4C 7F01E21C 00000000 */ nop -/* 052D50 7F01E220 0000B025 */ move $s6, $zero -/* 052D54 7F01E224 24110004 */ li $s1, 4 -.L7F01E228: -/* 052D58 7F01E228 0FC07771 */ jal get_save_folder_ptr -/* 052D5C 7F01E22C 02C02025 */ move $a0, $s6 -/* 052D60 7F01E230 10400007 */ beqz $v0, .L7F01E250 -/* 052D64 7F01E234 00402025 */ move $a0, $v0 -/* 052D68 7F01E238 3C0C8003 */ lui $t4, %hi(save_selected_bond) -/* 052D6C 7F01E23C 258CC510 */ addiu $t4, %lo(save_selected_bond) # addiu $t4, $t4, -0x3af0 -/* 052D70 7F01E240 00165880 */ sll $t3, $s6, 2 -/* 052D74 7F01E244 0FC07649 */ jal get_selected_bond -/* 052D78 7F01E248 016C8021 */ addu $s0, $t3, $t4 -/* 052D7C 7F01E24C AE020000 */ sw $v0, ($s0) -.L7F01E250: -/* 052D80 7F01E250 26D60001 */ addiu $s6, $s6, 1 -/* 052D84 7F01E254 16D1FFF4 */ bne $s6, $s1, .L7F01E228 -/* 052D88 7F01E258 00000000 */ nop -.L7F01E25C: -/* 052D8C 7F01E25C 8FBF003C */ lw $ra, 0x3c($sp) -/* 052D90 7F01E260 8FB00018 */ lw $s0, 0x18($sp) -/* 052D94 7F01E264 8FB1001C */ lw $s1, 0x1c($sp) -/* 052D98 7F01E268 8FB20020 */ lw $s2, 0x20($sp) -/* 052D9C 7F01E26C 8FB30024 */ lw $s3, 0x24($sp) -/* 052DA0 7F01E270 8FB40028 */ lw $s4, 0x28($sp) -/* 052DA4 7F01E274 8FB5002C */ lw $s5, 0x2c($sp) -/* 052DA8 7F01E278 8FB60030 */ lw $s6, 0x30($sp) -/* 052DAC 7F01E27C 8FB70034 */ lw $s7, 0x34($sp) -/* 052DB0 7F01E280 8FBE0038 */ lw $fp, 0x38($sp) -/* 052DB4 7F01E284 03E00008 */ jr $ra -/* 052DB8 7F01E288 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - -#ifdef NONMATCHING -void check_if_valid_folder_num(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_valid_folder_num -/* 052DBC 7F01E28C 04800005 */ bltz $a0, .L7F01E2A4 -/* 052DC0 7F01E290 28810004 */ slti $at, $a0, 4 -/* 052DC4 7F01E294 50200004 */ beql $at, $zero, .L7F01E2A8 -/* 052DC8 7F01E298 24010064 */ li $at, 100 -/* 052DCC 7F01E29C 03E00008 */ jr $ra -/* 052DD0 7F01E2A0 24020001 */ li $v0, 1 - -.L7F01E2A4: -/* 052DD4 7F01E2A4 24010064 */ li $at, 100 -.L7F01E2A8: -/* 052DD8 7F01E2A8 14810003 */ bne $a0, $at, .L7F01E2B8 -/* 052DDC 7F01E2AC 00001025 */ move $v0, $zero -/* 052DE0 7F01E2B0 03E00008 */ jr $ra -/* 052DE4 7F01E2B4 24020001 */ li $v0, 1 - -.L7F01E2B8: -/* 052DE8 7F01E2B8 03E00008 */ jr $ra -/* 052DEC 7F01E2BC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 isStageUnlockedAtDifficulty(int foldernum,STAGENUM stageid,DIFFICULTY difficulty) { - -} -#else -GLOBAL_ASM( -.text -glabel isStageUnlockedAtDifficulty -/* 052DF0 7F01E2C0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 052DF4 7F01E2C4 AFBF002C */ sw $ra, 0x2c($sp) -/* 052DF8 7F01E2C8 AFB50028 */ sw $s5, 0x28($sp) -/* 052DFC 7F01E2CC AFB30020 */ sw $s3, 0x20($sp) -/* 052E00 7F01E2D0 AFB00014 */ sw $s0, 0x14($sp) -/* 052E04 7F01E2D4 00808025 */ move $s0, $a0 -/* 052E08 7F01E2D8 00A09825 */ move $s3, $a1 -/* 052E0C 7F01E2DC 00C0A825 */ move $s5, $a2 -/* 052E10 7F01E2E0 AFB40024 */ sw $s4, 0x24($sp) -/* 052E14 7F01E2E4 AFB2001C */ sw $s2, 0x1c($sp) -/* 052E18 7F01E2E8 0FC078A3 */ jal check_if_valid_folder_num -/* 052E1C 7F01E2EC AFB10018 */ sw $s1, 0x18($sp) -/* 052E20 7F01E2F0 5040007B */ beql $v0, $zero, .L7F01E4E0 -/* 052E24 7F01E2F4 00001025 */ move $v0, $zero -/* 052E28 7F01E2F8 06600078 */ bltz $s3, .L7F01E4DC -/* 052E2C 7F01E2FC 2A610014 */ slti $at, $s3, 0x14 -/* 052E30 7F01E300 50200077 */ beql $at, $zero, .L7F01E4E0 -/* 052E34 7F01E304 00001025 */ move $v0, $zero -/* 052E38 7F01E308 06A00074 */ bltz $s5, .L7F01E4DC -/* 052E3C 7F01E30C 2AA10004 */ slti $at, $s5, 4 -/* 052E40 7F01E310 50200073 */ beql $at, $zero, .L7F01E4E0 -/* 052E44 7F01E314 00001025 */ move $v0, $zero -/* 052E48 7F01E318 0FC07771 */ jal get_save_folder_ptr -/* 052E4C 7F01E31C 02002025 */ move $a0, $s0 -/* 052E50 7F01E320 1040005C */ beqz $v0, .L7F01E494 -/* 052E54 7F01E324 00409025 */ move $s2, $v0 -/* 052E58 7F01E328 00402025 */ move $a0, $v0 -/* 052E5C 7F01E32C 02602825 */ move $a1, $s3 -/* 052E60 7F01E330 0FC07718 */ jal get_eeprom_stage_completed_for_difficulty -/* 052E64 7F01E334 02A03025 */ move $a2, $s5 -/* 052E68 7F01E338 10400003 */ beqz $v0, .L7F01E348 -/* 052E6C 7F01E33C 24010012 */ li $at, 18 -/* 052E70 7F01E340 10000067 */ b .L7F01E4E0 -/* 052E74 7F01E344 24020003 */ li $v0, 3 -.L7F01E348: -/* 052E78 7F01E348 56610003 */ bnel $s3, $at, .L7F01E358 -/* 052E7C 7F01E34C 24010013 */ li $at, 19 -/* 052E80 7F01E350 1AA00005 */ blez $s5, .L7F01E368 -/* 052E84 7F01E354 24010013 */ li $at, 19 -.L7F01E358: -/* 052E88 7F01E358 16610005 */ bne $s3, $at, .L7F01E370 -/* 052E8C 7F01E35C 2AA10002 */ slti $at, $s5, 2 -/* 052E90 7F01E360 50200004 */ beql $at, $zero, .L7F01E374 -/* 052E94 7F01E364 2AA10004 */ slti $at, $s5, 4 -.L7F01E368: -/* 052E98 7F01E368 1000005D */ b .L7F01E4E0 -/* 052E9C 7F01E36C 00001025 */ move $v0, $zero -.L7F01E370: -/* 052EA0 7F01E370 2AA10004 */ slti $at, $s5, 4 -.L7F01E374: -/* 052EA4 7F01E374 10200014 */ beqz $at, .L7F01E3C8 -/* 052EA8 7F01E378 02A08825 */ move $s1, $s5 -/* 052EAC 7F01E37C 24140004 */ li $s4, 4 -.L7F01E380: -/* 052EB0 7F01E380 1A60000A */ blez $s3, .L7F01E3AC -/* 052EB4 7F01E384 00008025 */ move $s0, $zero -/* 052EB8 7F01E388 02402025 */ move $a0, $s2 -.L7F01E38C: -/* 052EBC 7F01E38C 02002825 */ move $a1, $s0 -/* 052EC0 7F01E390 0FC07718 */ jal get_eeprom_stage_completed_for_difficulty -/* 052EC4 7F01E394 02203025 */ move $a2, $s1 -/* 052EC8 7F01E398 50400005 */ beql $v0, $zero, .L7F01E3B0 -/* 052ECC 7F01E39C 0213082A */ slt $at, $s0, $s3 -/* 052ED0 7F01E3A0 26100001 */ addiu $s0, $s0, 1 -/* 052ED4 7F01E3A4 5613FFF9 */ bnel $s0, $s3, .L7F01E38C -/* 052ED8 7F01E3A8 02402025 */ move $a0, $s2 -.L7F01E3AC: -/* 052EDC 7F01E3AC 0213082A */ slt $at, $s0, $s3 -.L7F01E3B0: -/* 052EE0 7F01E3B0 14200003 */ bnez $at, .L7F01E3C0 -/* 052EE4 7F01E3B4 26310001 */ addiu $s1, $s1, 1 -/* 052EE8 7F01E3B8 10000049 */ b .L7F01E4E0 -/* 052EEC 7F01E3BC 24020001 */ li $v0, 1 -.L7F01E3C0: -/* 052EF0 7F01E3C0 1634FFEF */ bne $s1, $s4, .L7F01E380 -/* 052EF4 7F01E3C4 00000000 */ nop -.L7F01E3C8: -/* 052EF8 7F01E3C8 2AA10003 */ slti $at, $s5, 3 -/* 052EFC 7F01E3CC 10200011 */ beqz $at, .L7F01E414 -/* 052F00 7F01E3D0 24140004 */ li $s4, 4 -/* 052F04 7F01E3D4 2A610012 */ slti $at, $s3, 0x12 -/* 052F08 7F01E3D8 1020000E */ beqz $at, .L7F01E414 -/* 052F0C 7F01E3DC 2AA10004 */ slti $at, $s5, 4 -/* 052F10 7F01E3E0 1020000C */ beqz $at, .L7F01E414 -/* 052F14 7F01E3E4 02A08825 */ move $s1, $s5 -/* 052F18 7F01E3E8 2670FFFF */ addiu $s0, $s3, -1 -/* 052F1C 7F01E3EC 02402025 */ move $a0, $s2 -.L7F01E3F0: -/* 052F20 7F01E3F0 02002825 */ move $a1, $s0 -/* 052F24 7F01E3F4 0FC07718 */ jal get_eeprom_stage_completed_for_difficulty -/* 052F28 7F01E3F8 02203025 */ move $a2, $s1 -/* 052F2C 7F01E3FC 10400003 */ beqz $v0, .L7F01E40C -/* 052F30 7F01E400 26310001 */ addiu $s1, $s1, 1 -/* 052F34 7F01E404 10000036 */ b .L7F01E4E0 -/* 052F38 7F01E408 24020001 */ li $v0, 1 -.L7F01E40C: -/* 052F3C 7F01E40C 5634FFF8 */ bnel $s1, $s4, .L7F01E3F0 -/* 052F40 7F01E410 02402025 */ move $a0, $s2 -.L7F01E414: -/* 052F44 7F01E414 2AA10003 */ slti $at, $s5, 3 -/* 052F48 7F01E418 1020001E */ beqz $at, .L7F01E494 -/* 052F4C 7F01E41C 00008825 */ move $s1, $zero -/* 052F50 7F01E420 02402025 */ move $a0, $s2 -.L7F01E424: -/* 052F54 7F01E424 02202825 */ move $a1, $s1 -/* 052F58 7F01E428 0FC07718 */ jal get_eeprom_stage_completed_for_difficulty -/* 052F5C 7F01E42C 00003025 */ move $a2, $zero -/* 052F60 7F01E430 50400006 */ beql $v0, $zero, .L7F01E44C -/* 052F64 7F01E434 2A210012 */ slti $at, $s1, 0x12 -/* 052F68 7F01E438 26310001 */ addiu $s1, $s1, 1 -/* 052F6C 7F01E43C 2A210012 */ slti $at, $s1, 0x12 -/* 052F70 7F01E440 5420FFF8 */ bnezl $at, .L7F01E424 -/* 052F74 7F01E444 02402025 */ move $a0, $s2 -/* 052F78 7F01E448 2A210012 */ slti $at, $s1, 0x12 -.L7F01E44C: -/* 052F7C 7F01E44C 14200011 */ bnez $at, .L7F01E494 -/* 052F80 7F01E450 00000000 */ nop -/* 052F84 7F01E454 1AA0000A */ blez $s5, .L7F01E480 -/* 052F88 7F01E458 00008825 */ move $s1, $zero -/* 052F8C 7F01E45C 02402025 */ move $a0, $s2 -.L7F01E460: -/* 052F90 7F01E460 02602825 */ move $a1, $s3 -/* 052F94 7F01E464 0FC07718 */ jal get_eeprom_stage_completed_for_difficulty -/* 052F98 7F01E468 02203025 */ move $a2, $s1 -/* 052F9C 7F01E46C 50400005 */ beql $v0, $zero, .L7F01E484 -/* 052FA0 7F01E470 0235082A */ slt $at, $s1, $s5 -/* 052FA4 7F01E474 26310001 */ addiu $s1, $s1, 1 -/* 052FA8 7F01E478 5635FFF9 */ bnel $s1, $s5, .L7F01E460 -/* 052FAC 7F01E47C 02402025 */ move $a0, $s2 -.L7F01E480: -/* 052FB0 7F01E480 0235082A */ slt $at, $s1, $s5 -.L7F01E484: -/* 052FB4 7F01E484 14200003 */ bnez $at, .L7F01E494 -/* 052FB8 7F01E488 00000000 */ nop -/* 052FBC 7F01E48C 10000014 */ b .L7F01E4E0 -/* 052FC0 7F01E490 24020001 */ li $v0, 1 -.L7F01E494: -/* 052FC4 7F01E494 16600003 */ bnez $s3, .L7F01E4A4 -/* 052FC8 7F01E498 00000000 */ nop -/* 052FCC 7F01E49C 10000010 */ b .L7F01E4E0 -/* 052FD0 7F01E4A0 24020001 */ li $v0, 1 -.L7F01E4A4: -/* 052FD4 7F01E4A4 0FC24400 */ jal get_debug_enable_agent_levels_flag -/* 052FD8 7F01E4A8 00000000 */ nop -/* 052FDC 7F01E4AC 10400005 */ beqz $v0, .L7F01E4C4 -/* 052FE0 7F01E4B0 00000000 */ nop -/* 052FE4 7F01E4B4 16A00003 */ bnez $s5, .L7F01E4C4 -/* 052FE8 7F01E4B8 00000000 */ nop -/* 052FEC 7F01E4BC 10000008 */ b .L7F01E4E0 -/* 052FF0 7F01E4C0 24020001 */ li $v0, 1 -.L7F01E4C4: -/* 052FF4 7F01E4C4 0FC24403 */ jal get_debug_enable_all_levels_flag -/* 052FF8 7F01E4C8 00000000 */ nop -/* 052FFC 7F01E4CC 50400004 */ beql $v0, $zero, .L7F01E4E0 -/* 053000 7F01E4D0 00001025 */ move $v0, $zero -/* 053004 7F01E4D4 10000002 */ b .L7F01E4E0 -/* 053008 7F01E4D8 24020001 */ li $v0, 1 -.L7F01E4DC: -/* 05300C 7F01E4DC 00001025 */ move $v0, $zero -.L7F01E4E0: -/* 053010 7F01E4E0 8FBF002C */ lw $ra, 0x2c($sp) -/* 053014 7F01E4E4 8FB00014 */ lw $s0, 0x14($sp) -/* 053018 7F01E4E8 8FB10018 */ lw $s1, 0x18($sp) -/* 05301C 7F01E4EC 8FB2001C */ lw $s2, 0x1c($sp) -/* 053020 7F01E4F0 8FB30020 */ lw $s3, 0x20($sp) -/* 053024 7F01E4F4 8FB40024 */ lw $s4, 0x24($sp) -/* 053028 7F01E4F8 8FB50028 */ lw $s5, 0x28($sp) -/* 05302C 7F01E4FC 03E00008 */ jr $ra -/* 053030 7F01E500 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01E504(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01E504 -/* 053034 7F01E504 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 053038 7F01E508 AFBF0014 */ sw $ra, 0x14($sp) -/* 05303C 7F01E50C AFA40028 */ sw $a0, 0x28($sp) -/* 053040 7F01E510 AFA5002C */ sw $a1, 0x2c($sp) -/* 053044 7F01E514 0FC07794 */ jal sub_GAME_7F01DE50 -/* 053048 7F01E518 AFA00020 */ sw $zero, 0x20($sp) -/* 05304C 7F01E51C 04400032 */ bltz $v0, .L7F01E5E8 -/* 053050 7F01E520 00401825 */ move $v1, $v0 -/* 053054 7F01E524 8FB9002C */ lw $t9, 0x2c($sp) -/* 053058 7F01E528 00027080 */ sll $t6, $v0, 2 -/* 05305C 7F01E52C 01C27023 */ subu $t6, $t6, $v0 -/* 053060 7F01E530 3C0F8007 */ lui $t7, %hi(save1) -/* 053064 7F01E534 25EF9920 */ addiu $t7, %lo(save1) # addiu $t7, $t7, -0x66e0 -/* 053068 7F01E538 000E7140 */ sll $t6, $t6, 5 -/* 05306C 7F01E53C 01CFC021 */ addu $t8, $t6, $t7 -/* 053070 7F01E540 27290060 */ addiu $t1, $t9, 0x60 -.L7F01E544: -/* 053074 7F01E544 8F210000 */ lw $at, ($t9) -/* 053078 7F01E548 2739000C */ addiu $t9, $t9, 0xc -/* 05307C 7F01E54C 2718000C */ addiu $t8, $t8, 0xc -/* 053080 7F01E550 AF01FFF4 */ sw $at, -0xc($t8) -/* 053084 7F01E554 8F21FFF8 */ lw $at, -8($t9) -/* 053088 7F01E558 AF01FFF8 */ sw $at, -8($t8) -/* 05308C 7F01E55C 8F21FFFC */ lw $at, -4($t9) -/* 053090 7F01E560 1729FFF8 */ bne $t9, $t1, .L7F01E544 -/* 053094 7F01E564 AF01FFFC */ sw $at, -4($t8) -/* 053098 7F01E568 8FAA0028 */ lw $t2, 0x28($sp) -/* 05309C 7F01E56C 1140000B */ beqz $t2, .L7F01E59C -/* 0530A0 7F01E570 01402025 */ move $a0, $t2 -/* 0530A4 7F01E574 0FC0763D */ jal set_eeprom_flag_0x18 -/* 0530A8 7F01E578 AFA30024 */ sw $v1, 0x24($sp) -/* 0530AC 7F01E57C 244B0001 */ addiu $t3, $v0, 1 -/* 0530B0 7F01E580 8FA30024 */ lw $v1, 0x24($sp) -/* 0530B4 7F01E584 05610004 */ bgez $t3, .L7F01E598 -/* 0530B8 7F01E588 316C0003 */ andi $t4, $t3, 3 -/* 0530BC 7F01E58C 11800002 */ beqz $t4, .L7F01E598 -/* 0530C0 7F01E590 00000000 */ nop -/* 0530C4 7F01E594 258CFFFC */ addiu $t4, $t4, -4 -.L7F01E598: -/* 0530C8 7F01E598 AFAC0020 */ sw $t4, 0x20($sp) -.L7F01E59C: -/* 0530CC 7F01E59C 00036880 */ sll $t5, $v1, 2 -/* 0530D0 7F01E5A0 01A36823 */ subu $t5, $t5, $v1 -/* 0530D4 7F01E5A4 3C0E8007 */ lui $t6, %hi(save1) -/* 0530D8 7F01E5A8 25CE9920 */ addiu $t6, %lo(save1) # addiu $t6, $t6, -0x66e0 -/* 0530DC 7F01E5AC 000D6940 */ sll $t5, $t5, 5 -/* 0530E0 7F01E5B0 01AE2021 */ addu $a0, $t5, $t6 -/* 0530E4 7F01E5B4 AFA4001C */ sw $a0, 0x1c($sp) -/* 0530E8 7F01E5B8 0FC07659 */ jal toggle_eeprom_flag_set_0x80 -/* 0530EC 7F01E5BC 00002825 */ move $a1, $zero -/* 0530F0 7F01E5C0 8FA4001C */ lw $a0, 0x1c($sp) -/* 0530F4 7F01E5C4 0FC07641 */ jal reset_eeprom_flag_0x18 -/* 0530F8 7F01E5C8 8FA50020 */ lw $a1, 0x20($sp) -/* 0530FC 7F01E5CC 0FC075E8 */ jal sub_GAME_7F01D7A0 -/* 053100 7F01E5D0 8FA4001C */ lw $a0, 0x1c($sp) -/* 053104 7F01E5D4 8FAF0028 */ lw $t7, 0x28($sp) -/* 053108 7F01E5D8 51E00004 */ beql $t7, $zero, .L7F01E5EC -/* 05310C 7F01E5DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 053110 7F01E5E0 0FC07610 */ jal sub_GAME_7F01D840 -/* 053114 7F01E5E4 01E02025 */ move $a0, $t7 -.L7F01E5E8: -/* 053118 7F01E5E8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01E5EC: -/* 05311C 7F01E5EC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 053120 7F01E5F0 03E00008 */ jr $ra -/* 053124 7F01E5F4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void unlock_stage_in_folder_on_difficulty(void) { - -} -#else -GLOBAL_ASM( -.text -glabel unlock_stage_in_folder_on_difficulty -/* 053128 7F01E5F8 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 05312C 7F01E5FC AFB50028 */ sw $s5, 0x28($sp) -/* 053130 7F01E600 AFB40024 */ sw $s4, 0x24($sp) -/* 053134 7F01E604 AFB2001C */ sw $s2, 0x1c($sp) -/* 053138 7F01E608 AFB00014 */ sw $s0, 0x14($sp) -/* 05313C 7F01E60C 00808025 */ move $s0, $a0 -/* 053140 7F01E610 00A09025 */ move $s2, $a1 -/* 053144 7F01E614 00C0A025 */ move $s4, $a2 -/* 053148 7F01E618 00E0A825 */ move $s5, $a3 -/* 05314C 7F01E61C AFBF002C */ sw $ra, 0x2c($sp) -/* 053150 7F01E620 AFB30020 */ sw $s3, 0x20($sp) -/* 053154 7F01E624 04800045 */ bltz $a0, .L7F01E73C -/* 053158 7F01E628 AFB10018 */ sw $s1, 0x18($sp) -/* 05315C 7F01E62C 28810004 */ slti $at, $a0, 4 -/* 053160 7F01E630 50200043 */ beql $at, $zero, .L7F01E740 -/* 053164 7F01E634 8FBF002C */ lw $ra, 0x2c($sp) -/* 053168 7F01E638 04A00040 */ bltz $a1, .L7F01E73C -/* 05316C 7F01E63C 28A10014 */ slti $at, $a1, 0x14 -/* 053170 7F01E640 5020003F */ beql $at, $zero, .L7F01E740 -/* 053174 7F01E644 8FBF002C */ lw $ra, 0x2c($sp) -/* 053178 7F01E648 04C0003C */ bltz $a2, .L7F01E73C -/* 05317C 7F01E64C 28C10004 */ slti $at, $a2, 4 -/* 053180 7F01E650 1020003A */ beqz $at, .L7F01E73C -/* 053184 7F01E654 27B10038 */ addiu $s1, $sp, 0x38 -/* 053188 7F01E658 3C0E8003 */ lui $t6, %hi(D_8002C640+0x20) -/* 05318C 7F01E65C 25CEC660 */ addiu $t6, %lo(D_8002C640+0x20) # addiu $t6, $t6, -0x39a0 -/* 053190 7F01E660 25D80060 */ addiu $t8, $t6, 0x60 -/* 053194 7F01E664 0220C825 */ move $t9, $s1 -.L7F01E668: -/* 053198 7F01E668 8DC10000 */ lw $at, ($t6) -/* 05319C 7F01E66C 25CE000C */ addiu $t6, $t6, 0xc -/* 0531A0 7F01E670 2739000C */ addiu $t9, $t9, 0xc -/* 0531A4 7F01E674 AF21FFF4 */ sw $at, -0xc($t9) -/* 0531A8 7F01E678 8DC1FFF8 */ lw $at, -8($t6) -/* 0531AC 7F01E67C AF21FFF8 */ sw $at, -8($t9) -/* 0531B0 7F01E680 8DC1FFFC */ lw $at, -4($t6) -/* 0531B4 7F01E684 15D8FFF8 */ bne $t6, $t8, .L7F01E668 -/* 0531B8 7F01E688 AF21FFFC */ sw $at, -4($t9) -/* 0531BC 7F01E68C 0FC07771 */ jal get_save_folder_ptr -/* 0531C0 7F01E690 02002025 */ move $a0, $s0 -/* 0531C4 7F01E694 1040000F */ beqz $v0, .L7F01E6D4 -/* 0531C8 7F01E698 AFA20034 */ sw $v0, 0x34($sp) -/* 0531CC 7F01E69C 00405025 */ move $t2, $v0 -/* 0531D0 7F01E6A0 02205825 */ move $t3, $s1 -/* 0531D4 7F01E6A4 24490060 */ addiu $t1, $v0, 0x60 -.L7F01E6A8: -/* 0531D8 7F01E6A8 8D410000 */ lw $at, ($t2) -/* 0531DC 7F01E6AC 254A000C */ addiu $t2, $t2, 0xc -/* 0531E0 7F01E6B0 256B000C */ addiu $t3, $t3, 0xc -/* 0531E4 7F01E6B4 AD61FFF4 */ sw $at, -0xc($t3) -/* 0531E8 7F01E6B8 8D41FFF8 */ lw $at, -8($t2) -/* 0531EC 7F01E6BC AD61FFF8 */ sw $at, -8($t3) -/* 0531F0 7F01E6C0 8D41FFFC */ lw $at, -4($t2) -/* 0531F4 7F01E6C4 1549FFF8 */ bne $t2, $t1, .L7F01E6A8 -/* 0531F8 7F01E6C8 AD61FFFC */ sw $at, -4($t3) -/* 0531FC 7F01E6CC 10000004 */ b .L7F01E6E0 -/* 053200 7F01E6D0 00000000 */ nop -.L7F01E6D4: -/* 053204 7F01E6D4 02202025 */ move $a0, $s1 -/* 053208 7F01E6D8 0FC07636 */ jal set_eeprom_to_folder_num -/* 05320C 7F01E6DC 02002825 */ move $a1, $s0 -.L7F01E6E0: -/* 053210 7F01E6E0 06800013 */ bltz $s4, .L7F01E730 -/* 053214 7F01E6E4 02808025 */ move $s0, $s4 -/* 053218 7F01E6E8 3C1305F5 */ lui $s3, (0x05F5E0FF >> 16) # lui $s3, 0x5f5 -/* 05321C 7F01E6EC 3673E0FF */ ori $s3, (0x05F5E0FF & 0xFFFF) # ori $s3, $s3, 0xe0ff -.L7F01E6F0: -/* 053220 7F01E6F0 16140008 */ bne $s0, $s4, .L7F01E714 -/* 053224 7F01E6F4 02202025 */ move $a0, $s1 -/* 053228 7F01E6F8 02202025 */ move $a0, $s1 -/* 05322C 7F01E6FC 02402825 */ move $a1, $s2 -/* 053230 7F01E700 02003025 */ move $a2, $s0 -/* 053234 7F01E704 0FC0772C */ jal sub_GAME_7F01DCB0 -/* 053238 7F01E708 02A03825 */ move $a3, $s5 -/* 05323C 7F01E70C 10000006 */ b .L7F01E728 -/* 053240 7F01E710 2610FFFF */ addiu $s0, $s0, -1 -.L7F01E714: -/* 053244 7F01E714 02402825 */ move $a1, $s2 -/* 053248 7F01E718 02003025 */ move $a2, $s0 -/* 05324C 7F01E71C 0FC0772C */ jal sub_GAME_7F01DCB0 -/* 053250 7F01E720 02603825 */ move $a3, $s3 -/* 053254 7F01E724 2610FFFF */ addiu $s0, $s0, -1 -.L7F01E728: -/* 053258 7F01E728 0601FFF1 */ bgez $s0, .L7F01E6F0 -/* 05325C 7F01E72C 00000000 */ nop -.L7F01E730: -/* 053260 7F01E730 8FA40034 */ lw $a0, 0x34($sp) -/* 053264 7F01E734 0FC07941 */ jal sub_GAME_7F01E504 -/* 053268 7F01E738 02202825 */ move $a1, $s1 -.L7F01E73C: -/* 05326C 7F01E73C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F01E740: -/* 053270 7F01E740 8FB00014 */ lw $s0, 0x14($sp) -/* 053274 7F01E744 8FB10018 */ lw $s1, 0x18($sp) -/* 053278 7F01E748 8FB2001C */ lw $s2, 0x1c($sp) -/* 05327C 7F01E74C 8FB30020 */ lw $s3, 0x20($sp) -/* 053280 7F01E750 8FB40024 */ lw $s4, 0x24($sp) -/* 053284 7F01E754 8FB50028 */ lw $s5, 0x28($sp) -/* 053288 7F01E758 03E00008 */ jr $ra -/* 05328C 7F01E75C 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01E760(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01E760 -/* 053290 7F01E760 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 053294 7F01E764 AFBF0014 */ sw $ra, 0x14($sp) -/* 053298 7F01E768 0480003E */ bltz $a0, .L7F01E864 -/* 05329C 7F01E76C 00803825 */ move $a3, $a0 -/* 0532A0 7F01E770 28810004 */ slti $at, $a0, 4 -/* 0532A4 7F01E774 5020003C */ beql $at, $zero, .L7F01E868 -/* 0532A8 7F01E778 8FBF0014 */ lw $ra, 0x14($sp) -/* 0532AC 7F01E77C 04A00039 */ bltz $a1, .L7F01E864 -/* 0532B0 7F01E780 28A10014 */ slti $at, $a1, 0x14 -/* 0532B4 7F01E784 50200038 */ beql $at, $zero, .L7F01E868 -/* 0532B8 7F01E788 8FBF0014 */ lw $ra, 0x14($sp) -/* 0532BC 7F01E78C AFA50084 */ sw $a1, 0x84($sp) -/* 0532C0 7F01E790 0FC07771 */ jal get_save_folder_ptr -/* 0532C4 7F01E794 AFA70080 */ sw $a3, 0x80($sp) -/* 0532C8 7F01E798 8FA70080 */ lw $a3, 0x80($sp) -/* 0532CC 7F01E79C 10400009 */ beqz $v0, .L7F01E7C4 -/* 0532D0 7F01E7A0 00403025 */ move $a2, $v0 -/* 0532D4 7F01E7A4 00402025 */ move $a0, $v0 -/* 0532D8 7F01E7A8 8FA50084 */ lw $a1, 0x84($sp) -/* 0532DC 7F01E7AC AFA2007C */ sw $v0, 0x7c($sp) -/* 0532E0 7F01E7B0 0FC07748 */ jal check_if_cheat_unlocked -/* 0532E4 7F01E7B4 AFA70080 */ sw $a3, 0x80($sp) -/* 0532E8 7F01E7B8 8FA6007C */ lw $a2, 0x7c($sp) -/* 0532EC 7F01E7BC 14400029 */ bnez $v0, .L7F01E864 -/* 0532F0 7F01E7C0 8FA70080 */ lw $a3, 0x80($sp) -.L7F01E7C4: -/* 0532F4 7F01E7C4 3C0E8003 */ lui $t6, %hi(D_8002C6C0) -/* 0532F8 7F01E7C8 27A4001C */ addiu $a0, $sp, 0x1c -/* 0532FC 7F01E7CC 25CEC6C0 */ addiu $t6, %lo(D_8002C6C0) # addiu $t6, $t6, -0x3940 -/* 053300 7F01E7D0 25D80060 */ addiu $t8, $t6, 0x60 -/* 053304 7F01E7D4 0080C825 */ move $t9, $a0 -.L7F01E7D8: -/* 053308 7F01E7D8 8DC10000 */ lw $at, ($t6) -/* 05330C 7F01E7DC 25CE000C */ addiu $t6, $t6, 0xc -/* 053310 7F01E7E0 2739000C */ addiu $t9, $t9, 0xc -/* 053314 7F01E7E4 AF21FFF4 */ sw $at, -0xc($t9) -/* 053318 7F01E7E8 8DC1FFF8 */ lw $at, -8($t6) -/* 05331C 7F01E7EC AF21FFF8 */ sw $at, -8($t9) -/* 053320 7F01E7F0 8DC1FFFC */ lw $at, -4($t6) -/* 053324 7F01E7F4 15D8FFF8 */ bne $t6, $t8, .L7F01E7D8 -/* 053328 7F01E7F8 AF21FFFC */ sw $at, -4($t9) -/* 05332C 7F01E7FC 10C0000F */ beqz $a2, .L7F01E83C -/* 053330 7F01E800 00E02825 */ move $a1, $a3 -/* 053334 7F01E804 00C05025 */ move $t2, $a2 -/* 053338 7F01E808 00805825 */ move $t3, $a0 -/* 05333C 7F01E80C 24C90060 */ addiu $t1, $a2, 0x60 -.L7F01E810: -/* 053340 7F01E810 8D410000 */ lw $at, ($t2) -/* 053344 7F01E814 254A000C */ addiu $t2, $t2, 0xc -/* 053348 7F01E818 256B000C */ addiu $t3, $t3, 0xc -/* 05334C 7F01E81C AD61FFF4 */ sw $at, -0xc($t3) -/* 053350 7F01E820 8D41FFF8 */ lw $at, -8($t2) -/* 053354 7F01E824 AD61FFF8 */ sw $at, -8($t3) -/* 053358 7F01E828 8D41FFFC */ lw $at, -4($t2) -/* 05335C 7F01E82C 1549FFF8 */ bne $t2, $t1, .L7F01E810 -/* 053360 7F01E830 AD61FFFC */ sw $at, -4($t3) -/* 053364 7F01E834 10000006 */ b .L7F01E850 -/* 053368 7F01E838 8FA50084 */ lw $a1, 0x84($sp) -.L7F01E83C: -/* 05336C 7F01E83C 0FC07636 */ jal set_eeprom_to_folder_num -/* 053370 7F01E840 AFA6007C */ sw $a2, 0x7c($sp) -/* 053374 7F01E844 8FA6007C */ lw $a2, 0x7c($sp) -/* 053378 7F01E848 27A4001C */ addiu $a0, $sp, 0x1c -/* 05337C 7F01E84C 8FA50084 */ lw $a1, 0x84($sp) -.L7F01E850: -/* 053380 7F01E850 0FC0775D */ jal sub_GAME_7F01DD74 -/* 053384 7F01E854 AFA6007C */ sw $a2, 0x7c($sp) -/* 053388 7F01E858 8FA4007C */ lw $a0, 0x7c($sp) -/* 05338C 7F01E85C 0FC07941 */ jal sub_GAME_7F01E504 -/* 053390 7F01E860 27A5001C */ addiu $a1, $sp, 0x1c -.L7F01E864: -/* 053394 7F01E864 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01E868: -/* 053398 7F01E868 27BD0080 */ addiu $sp, $sp, 0x80 -/* 05339C 7F01E86C 03E00008 */ jr $ra -/* 0533A0 7F01E870 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_highest_stage_difficulty_completed_in_folder(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_highest_stage_difficulty_completed_in_folder -/* 0533A4 7F01E874 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0533A8 7F01E878 AFBF0024 */ sw $ra, 0x24($sp) -/* 0533AC 7F01E87C AFB20020 */ sw $s2, 0x20($sp) -/* 0533B0 7F01E880 AFB1001C */ sw $s1, 0x1c($sp) -/* 0533B4 7F01E884 AFB00018 */ sw $s0, 0x18($sp) -/* 0533B8 7F01E888 AFA5002C */ sw $a1, 0x2c($sp) -/* 0533BC 7F01E88C 0FC07771 */ jal get_save_folder_ptr -/* 0533C0 7F01E890 AFA60030 */ sw $a2, 0x30($sp) -/* 0533C4 7F01E894 10400014 */ beqz $v0, .L7F01E8E8 -/* 0533C8 7F01E898 00409025 */ move $s2, $v0 -/* 0533CC 7F01E89C 24110003 */ li $s1, 3 -/* 0533D0 7F01E8A0 24100013 */ li $s0, 19 -.L7F01E8A4: -/* 0533D4 7F01E8A4 02402025 */ move $a0, $s2 -.L7F01E8A8: -/* 0533D8 7F01E8A8 02002825 */ move $a1, $s0 -/* 0533DC 7F01E8AC 0FC07718 */ jal get_eeprom_stage_completed_for_difficulty -/* 0533E0 7F01E8B0 02203025 */ move $a2, $s1 -/* 0533E4 7F01E8B4 50400007 */ beql $v0, $zero, .L7F01E8D4 -/* 0533E8 7F01E8B8 2610FFFF */ addiu $s0, $s0, -1 -/* 0533EC 7F01E8BC 8FAE002C */ lw $t6, 0x2c($sp) -/* 0533F0 7F01E8C0 ADD00000 */ sw $s0, ($t6) -/* 0533F4 7F01E8C4 8FAF0030 */ lw $t7, 0x30($sp) -/* 0533F8 7F01E8C8 1000000C */ b .L7F01E8FC -/* 0533FC 7F01E8CC ADF10000 */ sw $s1, ($t7) -/* 053400 7F01E8D0 2610FFFF */ addiu $s0, $s0, -1 -.L7F01E8D4: -/* 053404 7F01E8D4 0603FFF4 */ bgezl $s0, .L7F01E8A8 -/* 053408 7F01E8D8 02402025 */ move $a0, $s2 -/* 05340C 7F01E8DC 2631FFFF */ addiu $s1, $s1, -1 -/* 053410 7F01E8E0 0623FFF0 */ bgezl $s1, .L7F01E8A4 -/* 053414 7F01E8E4 24100013 */ li $s0, 19 -.L7F01E8E8: -/* 053418 7F01E8E8 8FB8002C */ lw $t8, 0x2c($sp) -/* 05341C 7F01E8EC 2402FFFF */ li $v0, -1 -/* 053420 7F01E8F0 AF020000 */ sw $v0, ($t8) -/* 053424 7F01E8F4 8FB90030 */ lw $t9, 0x30($sp) -/* 053428 7F01E8F8 AF220000 */ sw $v0, ($t9) -.L7F01E8FC: -/* 05342C 7F01E8FC 8FBF0024 */ lw $ra, 0x24($sp) -/* 053430 7F01E900 8FB00018 */ lw $s0, 0x18($sp) -/* 053434 7F01E904 8FB1001C */ lw $s1, 0x1c($sp) -/* 053438 7F01E908 8FB20020 */ lw $s2, 0x20($sp) -/* 05343C 7F01E90C 03E00008 */ jr $ra -/* 053440 7F01E910 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void check_egypt_completed_in_folder(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_egypt_completed_in_folder -/* 053444 7F01E914 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 053448 7F01E918 AFBF0024 */ sw $ra, 0x24($sp) -/* 05344C 7F01E91C AFB2001C */ sw $s2, 0x1c($sp) -/* 053450 7F01E920 00809025 */ move $s2, $a0 -/* 053454 7F01E924 AFB30020 */ sw $s3, 0x20($sp) -/* 053458 7F01E928 AFB10018 */ sw $s1, 0x18($sp) -/* 05345C 7F01E92C 0FC07771 */ jal get_save_folder_ptr -/* 053460 7F01E930 AFB00014 */ sw $s0, 0x14($sp) -/* 053464 7F01E934 10400010 */ beqz $v0, .L7F01E978 -/* 053468 7F01E938 24110013 */ li $s1, 19 -/* 05346C 7F01E93C 24130004 */ li $s3, 4 -/* 053470 7F01E940 00008025 */ move $s0, $zero -.L7F01E944: -/* 053474 7F01E944 02402025 */ move $a0, $s2 -.L7F01E948: -/* 053478 7F01E948 02202825 */ move $a1, $s1 -/* 05347C 7F01E94C 0FC078B0 */ jal isStageUnlockedAtDifficulty -/* 053480 7F01E950 02003025 */ move $a2, $s0 -/* 053484 7F01E954 10400003 */ beqz $v0, .L7F01E964 -/* 053488 7F01E958 26100001 */ addiu $s0, $s0, 1 -/* 05348C 7F01E95C 10000007 */ b .L7F01E97C -/* 053490 7F01E960 02201025 */ move $v0, $s1 -.L7F01E964: -/* 053494 7F01E964 5613FFF8 */ bnel $s0, $s3, .L7F01E948 -/* 053498 7F01E968 02402025 */ move $a0, $s2 -/* 05349C 7F01E96C 2631FFFF */ addiu $s1, $s1, -1 -/* 0534A0 7F01E970 0623FFF4 */ bgezl $s1, .L7F01E944 -/* 0534A4 7F01E974 00008025 */ move $s0, $zero -.L7F01E978: -/* 0534A8 7F01E978 00001025 */ move $v0, $zero -.L7F01E97C: -/* 0534AC 7F01E97C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0534B0 7F01E980 8FB00014 */ lw $s0, 0x14($sp) -/* 0534B4 7F01E984 8FB10018 */ lw $s1, 0x18($sp) -/* 0534B8 7F01E988 8FB2001C */ lw $s2, 0x1c($sp) -/* 0534BC 7F01E98C 8FB30020 */ lw $s3, 0x20($sp) -/* 0534C0 7F01E990 03E00008 */ jr $ra -/* 0534C4 7F01E994 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -u32 check_egypt_completed_any_folder(void) { - u32 isfound; - int folder; - u32 isunlocked; - - isunlocked = 0; - folder = 0; - while (folder != 4) { - isfound = check_egypt_completed_in_folder(folder); - folder += 1; - if ((int)isunlocked < (int)isfound) { - isunlocked = isfound; - } - }; - return isunlocked; -} - - - - -#ifdef NONMATCHING -void check_cradle_completed_in_folder(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_cradle_completed_in_folder -/* 053524 7F01E9F4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 053528 7F01E9F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 05352C 7F01E9FC AFA40018 */ sw $a0, 0x18($sp) -/* 053530 7F01EA00 24050011 */ li $a1, 17 -/* 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 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 isStageUnlockedAtDifficulty -/* 053570 7F01EA40 24060002 */ li $a2, 2 -/* 053574 7F01EA44 38580003 */ xori $t8, $v0, 3 -/* 053578 7F01EA48 2F020001 */ sltiu $v0, $t8, 1 -.L7F01EA4C: -/* 05357C 7F01EA4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 053580 7F01EA50 27BD0018 */ addiu $sp, $sp, 0x18 -/* 053584 7F01EA54 03E00008 */ jr $ra -/* 053588 7F01EA58 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_aztec_completed_in_folder_secret_00(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_aztec_completed_in_folder_secret_00 -/* 05358C 7F01EA5C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 053590 7F01EA60 AFBF0014 */ sw $ra, 0x14($sp) -/* 053594 7F01EA64 AFA40018 */ sw $a0, 0x18($sp) -/* 053598 7F01EA68 24050012 */ li $a1, 18 -/* 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 isStageUnlockedAtDifficulty -/* 0535BC 7F01EA8C 24060002 */ li $a2, 2 -/* 0535C0 7F01EA90 384F0003 */ xori $t7, $v0, 3 -/* 0535C4 7F01EA94 2DE20001 */ sltiu $v0, $t7, 1 -.L7F01EA98: -/* 0535C8 7F01EA98 8FBF0014 */ lw $ra, 0x14($sp) -/* 0535CC 7F01EA9C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0535D0 7F01EAA0 03E00008 */ jr $ra -/* 0535D4 7F01EAA4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_egypt_completed_in_folder_00(void) { - -} -#else -GLOBAL_ASM( -.text -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 isStageUnlockedAtDifficulty -/* 0535E8 7F01EAB8 24060002 */ li $a2, 2 -/* 0535EC 7F01EABC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0535F0 7F01EAC0 384E0003 */ xori $t6, $v0, 3 -/* 0535F4 7F01EAC4 2DC20001 */ sltiu $v0, $t6, 1 -/* 0535F8 7F01EAC8 03E00008 */ jr $ra -/* 0535FC 7F01EACC 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - -u32 check_cradle_completed_any_folder(void) { - u32 completed; - int folder; - - folder = 0; - while (folder != 4) { - completed = check_cradle_completed_in_folder(folder); - folder += 1; - if (completed != FALSE) { - return TRUE; - } - }; - return FALSE; -} - - -u32 check_aztec_completed_any_folder_secret_00(void) { - u32 completed; - int folder; - - folder = 0; - while (folder != 4) { - completed = check_aztec_completed_in_folder_secret_00(folder); - folder += 1; - if (completed != FALSE) { - return TRUE; - } - }; - return FALSE; -} - - -u32 check_egypt_completed_any_folder_00(void) { - u32 completed; - int folder; - - folder = 0; - while (folder != 4) { - completed = check_egypt_completed_in_folder_00(folder); - folder += 1; - if (completed != FALSE) { - return TRUE; - } - }; - return FALSE; -} - - -u8 removed_would_have_returned_bond_for_folder_num(u32 folder) { - return 0; -} - - - -#ifdef NONMATCHING -void set_selected_bond_to_folder(u32 folder,u32 bond) { - if ((-1 < folder) && (folder < 4)) { - save_selected_bond[folder] = 0; - } -} -#else -GLOBAL_ASM( -.text -glabel set_selected_bond_to_folder -/* 0536FC 7F01EBCC 04800007 */ bltz $a0, .L7F01EBEC -/* 053700 7F01EBD0 AFA50004 */ sw $a1, 4($sp) -/* 053704 7F01EBD4 28810004 */ slti $at, $a0, 4 -/* 053708 7F01EBD8 10200004 */ beqz $at, .L7F01EBEC -/* 05370C 7F01EBDC 00047080 */ sll $t6, $a0, 2 -/* 053710 7F01EBE0 3C018003 */ lui $at, %hi(save_selected_bond) -/* 053714 7F01EBE4 002E0821 */ addu $at, $at, $t6 -/* 053718 7F01EBE8 AC20C510 */ sw $zero, %lo(save_selected_bond)($at) -.L7F01EBEC: -/* 05371C 7F01EBEC 03E00008 */ jr $ra -/* 053720 7F01EBF0 00000000 */ nop -) -#endif - - - -void sub_GAME_7F01EBF4(u32 unused) { - return; -} - -void sub_GAME_7F01EBFC(u32 unused) { - return; -} - - - - -#ifdef NONMATCHING -void delete_eeprom_folder(void) { - -} -#else -GLOBAL_ASM( -.text -glabel delete_eeprom_folder -/* 053734 7F01EC04 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 053738 7F01EC08 AFB00014 */ sw $s0, 0x14($sp) -/* 05373C 7F01EC0C 00808025 */ move $s0, $a0 -/* 053740 7F01EC10 AFBF001C */ sw $ra, 0x1c($sp) -/* 053744 7F01EC14 04800039 */ bltz $a0, .L7F01ECFC -/* 053748 7F01EC18 AFB10018 */ sw $s1, 0x18($sp) -/* 05374C 7F01EC1C 28810004 */ slti $at, $a0, 4 -/* 053750 7F01EC20 50200037 */ beql $at, $zero, .L7F01ED00 -/* 053754 7F01EC24 8FBF001C */ lw $ra, 0x1c($sp) -/* 053758 7F01EC28 0FC07771 */ jal get_save_folder_ptr -/* 05375C 7F01EC2C 00000000 */ nop -/* 053760 7F01EC30 10400032 */ beqz $v0, .L7F01ECFC -/* 053764 7F01EC34 00408825 */ move $s1, $v0 -/* 053768 7F01EC38 02002025 */ move $a0, $s0 -/* 05376C 7F01EC3C 27A50088 */ addiu $a1, $sp, 0x88 -/* 053770 7F01EC40 0FC07A1D */ jal get_highest_stage_difficulty_completed_in_folder -/* 053774 7F01EC44 27A60084 */ addiu $a2, $sp, 0x84 -/* 053778 7F01EC48 8FAE0088 */ lw $t6, 0x88($sp) -/* 05377C 7F01EC4C 8FAF0084 */ lw $t7, 0x84($sp) -/* 053780 7F01EC50 05C2002B */ bltzl $t6, .L7F01ED00 -/* 053784 7F01EC54 8FBF001C */ lw $ra, 0x1c($sp) -/* 053788 7F01EC58 05E00028 */ bltz $t7, .L7F01ECFC -/* 05378C 7F01EC5C 27A20024 */ addiu $v0, $sp, 0x24 -/* 053790 7F01EC60 3C188003 */ lui $t8, %hi(D_8002C720) -/* 053794 7F01EC64 2718C720 */ addiu $t8, %lo(D_8002C720) # addiu $t8, $t8, -0x38e0 -/* 053798 7F01EC68 27080060 */ addiu $t0, $t8, 0x60 -/* 05379C 7F01EC6C 00404825 */ move $t1, $v0 -.L7F01EC70: -/* 0537A0 7F01EC70 8F010000 */ lw $at, ($t8) -/* 0537A4 7F01EC74 2718000C */ addiu $t8, $t8, 0xc -/* 0537A8 7F01EC78 2529000C */ addiu $t1, $t1, 0xc -/* 0537AC 7F01EC7C AD21FFF4 */ sw $at, -0xc($t1) -/* 0537B0 7F01EC80 8F01FFF8 */ lw $at, -8($t8) -/* 0537B4 7F01EC84 AD21FFF8 */ sw $at, -8($t1) -/* 0537B8 7F01EC88 8F01FFFC */ lw $at, -4($t8) -/* 0537BC 7F01EC8C 1708FFF8 */ bne $t8, $t0, .L7F01EC70 -/* 0537C0 7F01EC90 AD21FFFC */ sw $at, -4($t1) -/* 0537C4 7F01EC94 00406025 */ move $t4, $v0 -/* 0537C8 7F01EC98 02206825 */ move $t5, $s1 -/* 0537CC 7F01EC9C 244B0060 */ addiu $t3, $v0, 0x60 -.L7F01ECA0: -/* 0537D0 7F01ECA0 8D810000 */ lw $at, ($t4) -/* 0537D4 7F01ECA4 258C000C */ addiu $t4, $t4, 0xc -/* 0537D8 7F01ECA8 25AD000C */ addiu $t5, $t5, 0xc -/* 0537DC 7F01ECAC ADA1FFF4 */ sw $at, -0xc($t5) -/* 0537E0 7F01ECB0 8D81FFF8 */ lw $at, -8($t4) -/* 0537E4 7F01ECB4 ADA1FFF8 */ sw $at, -8($t5) -/* 0537E8 7F01ECB8 8D81FFFC */ lw $at, -4($t4) -/* 0537EC 7F01ECBC 158BFFF8 */ bne $t4, $t3, .L7F01ECA0 -/* 0537F0 7F01ECC0 ADA1FFFC */ sw $at, -4($t5) -/* 0537F4 7F01ECC4 02202025 */ move $a0, $s1 -/* 0537F8 7F01ECC8 0FC07636 */ jal set_eeprom_to_folder_num -/* 0537FC 7F01ECCC 02002825 */ move $a1, $s0 -/* 053800 7F01ECD0 02202025 */ move $a0, $s1 -/* 053804 7F01ECD4 0FC07659 */ jal toggle_eeprom_flag_set_0x80 -/* 053808 7F01ECD8 00002825 */ move $a1, $zero -/* 05380C 7F01ECDC 02202025 */ move $a0, $s1 -/* 053810 7F01ECE0 0FC0764D */ jal set_selected_bond -/* 053814 7F01ECE4 02002825 */ move $a1, $s0 -/* 053818 7F01ECE8 02002025 */ move $a0, $s0 -/* 05381C 7F01ECEC 0FC07AF3 */ jal set_selected_bond_to_folder -/* 053820 7F01ECF0 02002825 */ move $a1, $s0 -/* 053824 7F01ECF4 0FC075E8 */ jal sub_GAME_7F01D7A0 -/* 053828 7F01ECF8 02202025 */ move $a0, $s1 -.L7F01ECFC: -/* 05382C 7F01ECFC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F01ED00: -/* 053830 7F01ED00 8FB00014 */ lw $s0, 0x14($sp) -/* 053834 7F01ED04 8FB10018 */ lw $s1, 0x18($sp) -/* 053838 7F01ED08 03E00008 */ jr $ra -/* 05383C 7F01ED0C 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01ED10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01ED10 -/* 053840 7F01ED10 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 053844 7F01ED14 AFBF002C */ sw $ra, 0x2c($sp) -/* 053848 7F01ED18 AFB50028 */ sw $s5, 0x28($sp) -/* 05384C 7F01ED1C AFB40024 */ sw $s4, 0x24($sp) -/* 053850 7F01ED20 AFB30020 */ sw $s3, 0x20($sp) -/* 053854 7F01ED24 AFB2001C */ sw $s2, 0x1c($sp) -/* 053858 7F01ED28 AFB10018 */ sw $s1, 0x18($sp) -/* 05385C 7F01ED2C 0FC07771 */ jal get_save_folder_ptr -/* 053860 7F01ED30 AFB00014 */ sw $s0, 0x14($sp) -/* 053864 7F01ED34 3C1105F5 */ lui $s1, (0x05F5E0FF >> 16) # lui $s1, 0x5f5 -/* 053868 7F01ED38 0040A025 */ move $s4, $v0 -/* 05386C 7F01ED3C 3631E0FF */ ori $s1, (0x05F5E0FF & 0xFFFF) # ori $s1, $s1, 0xe0ff -/* 053870 7F01ED40 00009825 */ move $s3, $zero -/* 053874 7F01ED44 24150014 */ li $s5, 20 -/* 053878 7F01ED48 24120003 */ li $s2, 3 -/* 05387C 7F01ED4C 00008025 */ move $s0, $zero -.L7F01ED50: -/* 053880 7F01ED50 02802025 */ move $a0, $s4 -.L7F01ED54: -/* 053884 7F01ED54 02602825 */ move $a1, $s3 -/* 053888 7F01ED58 02003025 */ move $a2, $s0 -/* 05388C 7F01ED5C 0FC0772C */ jal sub_GAME_7F01DCB0 -/* 053890 7F01ED60 02203825 */ move $a3, $s1 -/* 053894 7F01ED64 26100001 */ addiu $s0, $s0, 1 -/* 053898 7F01ED68 5612FFFA */ bnel $s0, $s2, .L7F01ED54 -/* 05389C 7F01ED6C 02802025 */ move $a0, $s4 -/* 0538A0 7F01ED70 26730001 */ addiu $s3, $s3, 1 -/* 0538A4 7F01ED74 5675FFF6 */ bnel $s3, $s5, .L7F01ED50 -/* 0538A8 7F01ED78 00008025 */ move $s0, $zero -/* 0538AC 7F01ED7C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0538B0 7F01ED80 8FB00014 */ lw $s0, 0x14($sp) -/* 0538B4 7F01ED84 8FB10018 */ lw $s1, 0x18($sp) -/* 0538B8 7F01ED88 8FB2001C */ lw $s2, 0x1c($sp) -/* 0538BC 7F01ED8C 8FB30020 */ lw $s3, 0x20($sp) -/* 0538C0 7F01ED90 8FB40024 */ lw $s4, 0x24($sp) -/* 0538C4 7F01ED94 8FB50028 */ lw $s5, 0x28($sp) -/* 0538C8 7F01ED98 03E00008 */ jr $ra -/* 0538CC 7F01ED9C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01EDA0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01EDA0 -/* 0538D0 7F01EDA0 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 0538D4 7F01EDA4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0538D8 7F01EDA8 AFB30020 */ sw $s3, 0x20($sp) -/* 0538DC 7F01EDAC AFB2001C */ sw $s2, 0x1c($sp) -/* 0538E0 7F01EDB0 AFB10018 */ sw $s1, 0x18($sp) -/* 0538E4 7F01EDB4 0480004F */ bltz $a0, .L7F01EEF4 -/* 0538E8 7F01EDB8 AFB00014 */ sw $s0, 0x14($sp) -/* 0538EC 7F01EDBC 28810004 */ slti $at, $a0, 4 -/* 0538F0 7F01EDC0 5020004D */ beql $at, $zero, .L7F01EEF8 -/* 0538F4 7F01EDC4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0538F8 7F01EDC8 0FC07771 */ jal get_save_folder_ptr -/* 0538FC 7F01EDCC AFA400A0 */ sw $a0, 0xa0($sp) -/* 053900 7F01EDD0 10400048 */ beqz $v0, .L7F01EEF4 -/* 053904 7F01EDD4 AFA2009C */ sw $v0, 0x9c($sp) -/* 053908 7F01EDD8 27B20098 */ addiu $s2, $sp, 0x98 -/* 05390C 7F01EDDC 27B30094 */ addiu $s3, $sp, 0x94 -/* 053910 7F01EDE0 02603025 */ move $a2, $s3 -/* 053914 7F01EDE4 02402825 */ move $a1, $s2 -/* 053918 7F01EDE8 0FC07A1D */ jal get_highest_stage_difficulty_completed_in_folder -/* 05391C 7F01EDEC 8FA400A0 */ lw $a0, 0xa0($sp) -/* 053920 7F01EDF0 8FAE0098 */ lw $t6, 0x98($sp) -/* 053924 7F01EDF4 8FAF0094 */ lw $t7, 0x94($sp) -/* 053928 7F01EDF8 05C2003F */ bltzl $t6, .L7F01EEF8 -/* 05392C 7F01EDFC 8FBF0024 */ lw $ra, 0x24($sp) -/* 053930 7F01EE00 05E0003C */ bltz $t7, .L7F01EEF4 -/* 053934 7F01EE04 00008025 */ move $s0, $zero -/* 053938 7F01EE08 24110004 */ li $s1, 4 -.L7F01EE0C: -/* 05393C 7F01EE0C 0FC07771 */ jal get_save_folder_ptr -/* 053940 7F01EE10 02002025 */ move $a0, $s0 -/* 053944 7F01EE14 1040000D */ beqz $v0, .L7F01EE4C -/* 053948 7F01EE18 02002025 */ move $a0, $s0 -/* 05394C 7F01EE1C 02402825 */ move $a1, $s2 -/* 053950 7F01EE20 0FC07A1D */ jal get_highest_stage_difficulty_completed_in_folder -/* 053954 7F01EE24 02603025 */ move $a2, $s3 -/* 053958 7F01EE28 8FB80098 */ lw $t8, 0x98($sp) -/* 05395C 7F01EE2C 8FB90094 */ lw $t9, 0x94($sp) -/* 053960 7F01EE30 07030004 */ bgezl $t8, .L7F01EE44 -/* 053964 7F01EE34 26100001 */ addiu $s0, $s0, 1 -/* 053968 7F01EE38 07220005 */ bltzl $t9, .L7F01EE50 -/* 05396C 7F01EE3C 2A010004 */ slti $at, $s0, 4 -/* 053970 7F01EE40 26100001 */ addiu $s0, $s0, 1 -.L7F01EE44: -/* 053974 7F01EE44 1611FFF1 */ bne $s0, $s1, .L7F01EE0C -/* 053978 7F01EE48 00000000 */ nop -.L7F01EE4C: -/* 05397C 7F01EE4C 2A010004 */ slti $at, $s0, 4 -.L7F01EE50: -/* 053980 7F01EE50 10200028 */ beqz $at, .L7F01EEF4 -/* 053984 7F01EE54 27B10030 */ addiu $s1, $sp, 0x30 -/* 053988 7F01EE58 3C088003 */ lui $t0, %hi(D_8002C780) -/* 05398C 7F01EE5C 2508C780 */ addiu $t0, %lo(D_8002C780) # addiu $t0, $t0, -0x3880 -/* 053990 7F01EE60 250A0060 */ addiu $t2, $t0, 0x60 -/* 053994 7F01EE64 02205825 */ move $t3, $s1 -.L7F01EE68: -/* 053998 7F01EE68 8D010000 */ lw $at, ($t0) -/* 05399C 7F01EE6C 2508000C */ addiu $t0, $t0, 0xc -/* 0539A0 7F01EE70 256B000C */ addiu $t3, $t3, 0xc -/* 0539A4 7F01EE74 AD61FFF4 */ sw $at, -0xc($t3) -/* 0539A8 7F01EE78 8D01FFF8 */ lw $at, -8($t0) -/* 0539AC 7F01EE7C AD61FFF8 */ sw $at, -8($t3) -/* 0539B0 7F01EE80 8D01FFFC */ lw $at, -4($t0) -/* 0539B4 7F01EE84 150AFFF8 */ bne $t0, $t2, .L7F01EE68 -/* 0539B8 7F01EE88 AD61FFFC */ sw $at, -4($t3) -/* 0539BC 7F01EE8C 0FC07771 */ jal get_save_folder_ptr -/* 0539C0 7F01EE90 02002025 */ move $a0, $s0 -/* 0539C4 7F01EE94 8FAC009C */ lw $t4, 0x9c($sp) -/* 0539C8 7F01EE98 00409025 */ move $s2, $v0 -/* 0539CC 7F01EE9C 02207825 */ move $t7, $s1 -/* 0539D0 7F01EEA0 258E0060 */ addiu $t6, $t4, 0x60 -.L7F01EEA4: -/* 0539D4 7F01EEA4 8D810000 */ lw $at, ($t4) -/* 0539D8 7F01EEA8 258C000C */ addiu $t4, $t4, 0xc -/* 0539DC 7F01EEAC 25EF000C */ addiu $t7, $t7, 0xc -/* 0539E0 7F01EEB0 ADE1FFF4 */ sw $at, -0xc($t7) -/* 0539E4 7F01EEB4 8D81FFF8 */ lw $at, -8($t4) -/* 0539E8 7F01EEB8 ADE1FFF8 */ sw $at, -8($t7) -/* 0539EC 7F01EEBC 8D81FFFC */ lw $at, -4($t4) -/* 0539F0 7F01EEC0 158EFFF8 */ bne $t4, $t6, .L7F01EEA4 -/* 0539F4 7F01EEC4 ADE1FFFC */ sw $at, -4($t7) -/* 0539F8 7F01EEC8 02202025 */ move $a0, $s1 -/* 0539FC 7F01EECC 0FC07636 */ jal set_eeprom_to_folder_num -/* 053A00 7F01EED0 02002825 */ move $a1, $s0 -/* 053A04 7F01EED4 0FC07AF0 */ jal removed_would_have_returned_bond_for_folder_num -/* 053A08 7F01EED8 8FA400A0 */ lw $a0, 0xa0($sp) -/* 053A0C 7F01EEDC 02002025 */ move $a0, $s0 -/* 053A10 7F01EEE0 0FC07AF3 */ jal set_selected_bond_to_folder -/* 053A14 7F01EEE4 00402825 */ move $a1, $v0 -/* 053A18 7F01EEE8 02402025 */ move $a0, $s2 -/* 053A1C 7F01EEEC 0FC07941 */ jal sub_GAME_7F01E504 -/* 053A20 7F01EEF0 02202825 */ move $a1, $s1 -.L7F01EEF4: -/* 053A24 7F01EEF4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F01EEF8: -/* 053A28 7F01EEF8 8FB00014 */ lw $s0, 0x14($sp) -/* 053A2C 7F01EEFC 8FB10018 */ lw $s1, 0x18($sp) -/* 053A30 7F01EF00 8FB2001C */ lw $s2, 0x1c($sp) -/* 053A34 7F01EF04 8FB30020 */ lw $s3, 0x20($sp) -/* 053A38 7F01EF08 03E00008 */ jr $ra -/* 053A3C 7F01EF0C 27BD00A0 */ addiu $sp, $sp, 0xa0 -) -#endif - - - -#ifdef NONMATCHING -void update_eeprom_to_current_solo_watch_settings(void) { - -} -#else -GLOBAL_ASM( -.text -glabel update_eeprom_to_current_solo_watch_settings -/* 053A40 7F01EF10 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 053A44 7F01EF14 AFBF001C */ sw $ra, 0x1c($sp) -/* 053A48 7F01EF18 AFB00018 */ sw $s0, 0x18($sp) -/* 053A4C 7F01EF1C AFA40020 */ sw $a0, 0x20($sp) -/* 053A50 7F01EF20 0FC2A4D6 */ jal sub_GAME_7F0A9358 -/* 053A54 7F01EF24 00008025 */ move $s0, $zero -/* 053A58 7F01EF28 8FAF0020 */ lw $t7, 0x20($sp) -/* 053A5C 7F01EF2C 000271C3 */ sra $t6, $v0, 7 -/* 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 -/* 053A70 7F01EF40 0FC2938E */ jal get_cur_player_look_vertical_inverted -/* 053A74 7F01EF44 A338000B */ sb $t8, 0xb($t9) -/* 053A78 7F01EF48 10400002 */ beqz $v0, .L7F01EF54 -/* 053A7C 7F01EF4C 00000000 */ nop -/* 053A80 7F01EF50 24100001 */ li $s0, 1 -.L7F01EF54: -/* 053A84 7F01EF54 0FC29394 */ jal cur_player_get_autoaim -/* 053A88 7F01EF58 00000000 */ nop -/* 053A8C 7F01EF5C 10400002 */ beqz $v0, .L7F01EF68 -/* 053A90 7F01EF60 36080002 */ ori $t0, $s0, 2 -/* 053A94 7F01EF64 3110FFFF */ andi $s0, $t0, 0xffff -.L7F01EF68: -/* 053A98 7F01EF68 0FC293A0 */ jal cur_player_get_aim_control -/* 053A9C 7F01EF6C 00000000 */ nop -/* 053AA0 7F01EF70 10400002 */ beqz $v0, .L7F01EF7C -/* 053AA4 7F01EF74 360A0004 */ ori $t2, $s0, 4 -/* 053AA8 7F01EF78 3150FFFF */ andi $s0, $t2, 0xffff -.L7F01EF7C: -/* 053AAC 7F01EF7C 0FC293A6 */ jal cur_player_get_sight_onscreen_control -/* 053AB0 7F01EF80 00000000 */ nop -/* 053AB4 7F01EF84 10400002 */ beqz $v0, .L7F01EF90 -/* 053AB8 7F01EF88 360C0008 */ ori $t4, $s0, 8 -/* 053ABC 7F01EF8C 3190FFFF */ andi $s0, $t4, 0xffff -.L7F01EF90: -/* 053AC0 7F01EF90 0FC2939A */ jal cur_player_get_lookahead -/* 053AC4 7F01EF94 00000000 */ nop -/* 053AC8 7F01EF98 10400002 */ beqz $v0, .L7F01EFA4 -/* 053ACC 7F01EF9C 360E0010 */ ori $t6, $s0, 0x10 -/* 053AD0 7F01EFA0 31D0FFFF */ andi $s0, $t6, 0xffff -.L7F01EFA4: -/* 053AD4 7F01EFA4 0FC293AC */ jal cur_player_get_ammo_onscreen_setting -/* 053AD8 7F01EFA8 00000000 */ nop -/* 053ADC 7F01EFAC 10400002 */ beqz $v0, .L7F01EFB8 -/* 053AE0 7F01EFB0 36180020 */ ori $t8, $s0, 0x20 -/* 053AE4 7F01EFB4 3310FFFF */ andi $s0, $t8, 0xffff -.L7F01EFB8: -/* 053AE8 7F01EFB8 0FC293B2 */ jal cur_player_get_screen_setting -/* 053AEC 7F01EFBC 00000000 */ nop -/* 053AF0 7F01EFC0 24010001 */ li $at, 1 -/* 053AF4 7F01EFC4 14410003 */ bne $v0, $at, .L7F01EFD4 -/* 053AF8 7F01EFC8 36080040 */ ori $t0, $s0, 0x40 -/* 053AFC 7F01EFCC 10000007 */ b .L7F01EFEC -/* 053B00 7F01EFD0 3110FFFF */ andi $s0, $t0, 0xffff -.L7F01EFD4: -/* 053B04 7F01EFD4 0FC293B2 */ jal cur_player_get_screen_setting -/* 053B08 7F01EFD8 00000000 */ nop -/* 053B0C 7F01EFDC 24010002 */ li $at, 2 -/* 053B10 7F01EFE0 14410002 */ bne $v0, $at, .L7F01EFEC -/* 053B14 7F01EFE4 360A0800 */ ori $t2, $s0, 0x800 -/* 053B18 7F01EFE8 3150FFFF */ andi $s0, $t2, 0xffff -.L7F01EFEC: -/* 053B1C 7F01EFEC 0FC293B8 */ jal get_screen_ratio -/* 053B20 7F01EFF0 00000000 */ nop -/* 053B24 7F01EFF4 10400002 */ beqz $v0, .L7F01F000 -/* 053B28 7F01EFF8 360C0080 */ ori $t4, $s0, 0x80 -/* 053B2C 7F01EFFC 3190FFFF */ andi $s0, $t4, 0xffff -.L7F01F000: -/* 053B30 7F01F000 0FC29370 */ jal cur_player_get_control_type -/* 053B34 7F01F004 00000000 */ nop -/* 053B38 7F01F008 8FA80020 */ lw $t0, 0x20($sp) -/* 053B3C 7F01F00C 00027A00 */ sll $t7, $v0, 8 -/* 053B40 7F01F010 31F80700 */ andi $t8, $t7, 0x700 -/* 053B44 7F01F014 0218C825 */ or $t9, $s0, $t8 -/* 053B48 7F01F018 A519000C */ sh $t9, 0xc($t0) -/* 053B4C 7F01F01C 8FBF001C */ lw $ra, 0x1c($sp) -/* 053B50 7F01F020 8FB00018 */ lw $s0, 0x18($sp) -/* 053B54 7F01F024 27BD0020 */ addiu $sp, $sp, 0x20 -/* 053B58 7F01F028 03E00008 */ jr $ra -/* 053B5C 7F01F02C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void get_screen_ratio_settings_for_mpgame_from_folder(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_screen_ratio_settings_for_mpgame_from_folder -/* 053B60 7F01F030 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 053B64 7F01F034 AFBF001C */ sw $ra, 0x1c($sp) -/* 053B68 7F01F038 0FC07771 */ jal get_save_folder_ptr -/* 053B6C 7F01F03C AFB00018 */ sw $s0, 0x18($sp) -/* 053B70 7F01F040 1040004B */ beqz $v0, .L7F01F170 -/* 053B74 7F01F044 00401825 */ move $v1, $v0 -/* 053B78 7F01F048 9042000A */ lbu $v0, 0xa($v0) -/* 053B7C 7F01F04C AFA30024 */ sw $v1, 0x24($sp) -/* 053B80 7F01F050 000271C0 */ sll $t6, $v0, 7 -/* 053B84 7F01F054 00027843 */ sra $t7, $v0, 1 -/* 053B88 7F01F058 01CF2025 */ or $a0, $t6, $t7 -/* 053B8C 7F01F05C 3098FFFF */ andi $t8, $a0, 0xffff -/* 053B90 7F01F060 0FC2A4D9 */ jal sub_GAME_7F0A9364 -/* 053B94 7F01F064 03002025 */ move $a0, $t8 -/* 053B98 7F01F068 8FB00024 */ lw $s0, 0x24($sp) -/* 053B9C 7F01F06C 9202000B */ lbu $v0, 0xb($s0) -/* 053BA0 7F01F070 0002C9C0 */ sll $t9, $v0, 7 -/* 053BA4 7F01F074 00024043 */ sra $t0, $v0, 1 -/* 053BA8 7F01F078 03282025 */ or $a0, $t9, $t0 -/* 053BAC 7F01F07C 3089FFFF */ andi $t1, $a0, 0xffff -/* 053BB0 7F01F080 0FC2A468 */ jal sub_GAME_7F0A91A0 -/* 053BB4 7F01F084 01202025 */ move $a0, $t1 -/* 053BB8 7F01F088 960A000C */ lhu $t2, 0xc($s0) -/* 053BBC 7F01F08C 0FC26919 */ jal get_num_players -/* 053BC0 7F01F090 A7AA0020 */ sh $t2, 0x20($sp) -/* 053BC4 7F01F094 24010001 */ li $at, 1 -/* 053BC8 7F01F098 14410007 */ bne $v0, $at, .L7F01F0B8 -/* 053BCC 7F01F09C 97B00020 */ lhu $s0, 0x20($sp) -/* 053BD0 7F01F0A0 32040700 */ andi $a0, $s0, 0x700 -/* 053BD4 7F01F0A4 00045A03 */ sra $t3, $a0, 8 -/* 053BD8 7F01F0A8 0FC29374 */ jal cur_player_set_control_type -/* 053BDC 7F01F0AC 3164FFFF */ andi $a0, $t3, 0xffff -/* 053BE0 7F01F0B0 10000005 */ b .L7F01F0C8 -/* 053BE4 7F01F0B4 32040001 */ andi $a0, $s0, 1 -.L7F01F0B8: -/* 053BE8 7F01F0B8 0FC29374 */ jal cur_player_set_control_type -/* 053BEC 7F01F0BC 00002025 */ move $a0, $zero -/* 053BF0 7F01F0C0 97B00020 */ lhu $s0, 0x20($sp) -/* 053BF4 7F01F0C4 32040001 */ andi $a0, $s0, 1 -.L7F01F0C8: -/* 053BF8 7F01F0C8 0004682B */ sltu $t5, $zero, $a0 -/* 053BFC 7F01F0CC 0FC29391 */ jal set_cur_player_look_vertical_inverted -/* 053C00 7F01F0D0 01A02025 */ move $a0, $t5 -/* 053C04 7F01F0D4 32040002 */ andi $a0, $s0, 2 -/* 053C08 7F01F0D8 0004702B */ sltu $t6, $zero, $a0 -/* 053C0C 7F01F0DC 0FC29397 */ jal cur_player_set_autoaim -/* 053C10 7F01F0E0 01C02025 */ move $a0, $t6 -/* 053C14 7F01F0E4 32040004 */ andi $a0, $s0, 4 -/* 053C18 7F01F0E8 0004782B */ sltu $t7, $zero, $a0 -/* 053C1C 7F01F0EC 0FC293A3 */ jal cur_player_set_aim_control -/* 053C20 7F01F0F0 01E02025 */ move $a0, $t7 -/* 053C24 7F01F0F4 32040008 */ andi $a0, $s0, 8 -/* 053C28 7F01F0F8 0004C02B */ sltu $t8, $zero, $a0 -/* 053C2C 7F01F0FC 0FC293A9 */ jal cur_player_set_sight_onscreen_control -/* 053C30 7F01F100 03002025 */ move $a0, $t8 -/* 053C34 7F01F104 32040010 */ andi $a0, $s0, 0x10 -/* 053C38 7F01F108 0004C82B */ sltu $t9, $zero, $a0 -/* 053C3C 7F01F10C 0FC2939D */ jal cur_player_set_lookahead -/* 053C40 7F01F110 03202025 */ move $a0, $t9 -/* 053C44 7F01F114 32040020 */ andi $a0, $s0, 0x20 -/* 053C48 7F01F118 0004402B */ sltu $t0, $zero, $a0 -/* 053C4C 7F01F11C 0FC293AF */ jal cur_player_set_ammo_onscreen_setting -/* 053C50 7F01F120 01002025 */ move $a0, $t0 -/* 053C54 7F01F124 32090800 */ andi $t1, $s0, 0x800 -/* 053C58 7F01F128 11200005 */ beqz $t1, .L7F01F140 -/* 053C5C 7F01F12C 320A0040 */ andi $t2, $s0, 0x40 -/* 053C60 7F01F130 0FC293B5 */ jal cur_player_set_screen_setting -/* 053C64 7F01F134 24040002 */ li $a0, 2 -/* 053C68 7F01F138 1000000A */ b .L7F01F164 -/* 053C6C 7F01F13C 32040080 */ andi $a0, $s0, 0x80 -.L7F01F140: -/* 053C70 7F01F140 11400005 */ beqz $t2, .L7F01F158 -/* 053C74 7F01F144 00000000 */ nop -/* 053C78 7F01F148 0FC293B5 */ jal cur_player_set_screen_setting -/* 053C7C 7F01F14C 24040001 */ li $a0, 1 -/* 053C80 7F01F150 10000004 */ b .L7F01F164 -/* 053C84 7F01F154 32040080 */ andi $a0, $s0, 0x80 -.L7F01F158: -/* 053C88 7F01F158 0FC293B5 */ jal cur_player_set_screen_setting -/* 053C8C 7F01F15C 00002025 */ move $a0, $zero -/* 053C90 7F01F160 32040080 */ andi $a0, $s0, 0x80 -.L7F01F164: -/* 053C94 7F01F164 0004582B */ sltu $t3, $zero, $a0 -/* 053C98 7F01F168 0FC293BB */ jal set_screen_ratio -/* 053C9C 7F01F16C 01602025 */ move $a0, $t3 -.L7F01F170: -/* 053CA0 7F01F170 8FBF001C */ lw $ra, 0x1c($sp) -/* 053CA4 7F01F174 8FB00018 */ lw $s0, 0x18($sp) -/* 053CA8 7F01F178 27BD0028 */ addiu $sp, $sp, 0x28 -/* 053CAC 7F01F17C 03E00008 */ jr $ra -/* 053CB0 7F01F180 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void delete_update_eeprom_file(void) { - -} -#else -GLOBAL_ASM( -.text -glabel delete_update_eeprom_file -/* 053CB4 7F01F184 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 053CB8 7F01F188 AFBF0014 */ sw $ra, 0x14($sp) -/* 053CBC 7F01F18C 0480003F */ bltz $a0, .L7F01F28C -/* 053CC0 7F01F190 00802825 */ move $a1, $a0 -/* 053CC4 7F01F194 28810004 */ slti $at, $a0, 4 -/* 053CC8 7F01F198 5020003D */ beql $at, $zero, .L7F01F290 -/* 053CCC 7F01F19C 8FBF0014 */ lw $ra, 0x14($sp) -/* 053CD0 7F01F1A0 0FC07771 */ jal get_save_folder_ptr -/* 053CD4 7F01F1A4 AFA500E0 */ sw $a1, 0xe0($sp) -/* 053CD8 7F01F1A8 3C0E8003 */ lui $t6, %hi(D_8002C7E0) -/* 053CDC 7F01F1AC 27A6007C */ addiu $a2, $sp, 0x7c -/* 053CE0 7F01F1B0 25CEC7E0 */ addiu $t6, %lo(D_8002C7E0) # addiu $t6, $t6, -0x3820 -/* 053CE4 7F01F1B4 8FA500E0 */ lw $a1, 0xe0($sp) -/* 053CE8 7F01F1B8 AFA200DC */ sw $v0, 0xdc($sp) -/* 053CEC 7F01F1BC 25D90060 */ addiu $t9, $t6, 0x60 -/* 053CF0 7F01F1C0 00C04025 */ move $t0, $a2 -.L7F01F1C4: -/* 053CF4 7F01F1C4 8DC10000 */ lw $at, ($t6) -/* 053CF8 7F01F1C8 25CE000C */ addiu $t6, $t6, 0xc -/* 053CFC 7F01F1CC 2508000C */ addiu $t0, $t0, 0xc -/* 053D00 7F01F1D0 AD01FFF4 */ sw $at, -0xc($t0) -/* 053D04 7F01F1D4 8DC1FFF8 */ lw $at, -8($t6) -/* 053D08 7F01F1D8 AD01FFF8 */ sw $at, -8($t0) -/* 053D0C 7F01F1DC 8DC1FFFC */ lw $at, -4($t6) -/* 053D10 7F01F1E0 15D9FFF8 */ bne $t6, $t9, .L7F01F1C4 -/* 053D14 7F01F1E4 AD01FFFC */ sw $at, -4($t0) -/* 053D18 7F01F1E8 1040000E */ beqz $v0, .L7F01F224 -/* 053D1C 7F01F1EC 00405825 */ move $t3, $v0 -/* 053D20 7F01F1F0 00C06025 */ move $t4, $a2 -/* 053D24 7F01F1F4 244A0060 */ addiu $t2, $v0, 0x60 -.L7F01F1F8: -/* 053D28 7F01F1F8 8D610000 */ lw $at, ($t3) -/* 053D2C 7F01F1FC 256B000C */ addiu $t3, $t3, 0xc -/* 053D30 7F01F200 258C000C */ addiu $t4, $t4, 0xc -/* 053D34 7F01F204 AD81FFF4 */ sw $at, -0xc($t4) -/* 053D38 7F01F208 8D61FFF8 */ lw $at, -8($t3) -/* 053D3C 7F01F20C AD81FFF8 */ sw $at, -8($t4) -/* 053D40 7F01F210 8D61FFFC */ lw $at, -4($t3) -/* 053D44 7F01F214 156AFFF8 */ bne $t3, $t2, .L7F01F1F8 -/* 053D48 7F01F218 AD81FFFC */ sw $at, -4($t4) -/* 053D4C 7F01F21C 10000005 */ b .L7F01F234 -/* 053D50 7F01F220 27A4001C */ addiu $a0, $sp, 0x1c -.L7F01F224: -/* 053D54 7F01F224 0FC07636 */ jal set_eeprom_to_folder_num -/* 053D58 7F01F228 00C02025 */ move $a0, $a2 -/* 053D5C 7F01F22C 27A6007C */ addiu $a2, $sp, 0x7c -/* 053D60 7F01F230 27A4001C */ addiu $a0, $sp, 0x1c -.L7F01F234: -/* 053D64 7F01F234 0080C825 */ move $t9, $a0 -/* 053D68 7F01F238 00C07825 */ move $t7, $a2 -/* 053D6C 7F01F23C 24D80060 */ addiu $t8, $a2, 0x60 -.L7F01F240: -/* 053D70 7F01F240 8DE10000 */ lw $at, ($t7) -/* 053D74 7F01F244 25EF000C */ addiu $t7, $t7, 0xc -/* 053D78 7F01F248 2739000C */ addiu $t9, $t9, 0xc -/* 053D7C 7F01F24C AF21FFF4 */ sw $at, -0xc($t9) -/* 053D80 7F01F250 8DE1FFF8 */ lw $at, -8($t7) -/* 053D84 7F01F254 AF21FFF8 */ sw $at, -8($t9) -/* 053D88 7F01F258 8DE1FFFC */ lw $at, -4($t7) -/* 053D8C 7F01F25C 15F8FFF8 */ bne $t7, $t8, .L7F01F240 -/* 053D90 7F01F260 AF21FFFC */ sw $at, -4($t9) -/* 053D94 7F01F264 0FC07BC4 */ jal update_eeprom_to_current_solo_watch_settings -/* 053D98 7F01F268 00000000 */ nop -/* 053D9C 7F01F26C 27A4001C */ addiu $a0, $sp, 0x1c -/* 053DA0 7F01F270 27A5007C */ addiu $a1, $sp, 0x7c -/* 053DA4 7F01F274 0C005B5C */ jal _bcmp -/* 053DA8 7F01F278 24060060 */ li $a2, 96 -/* 053DAC 7F01F27C 10400003 */ beqz $v0, .L7F01F28C -/* 053DB0 7F01F280 8FA400DC */ lw $a0, 0xdc($sp) -/* 053DB4 7F01F284 0FC07941 */ jal sub_GAME_7F01E504 -/* 053DB8 7F01F288 27A5001C */ addiu $a1, $sp, 0x1c -.L7F01F28C: -/* 053DBC 7F01F28C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01F290: -/* 053DC0 7F01F290 27BD00E0 */ addiu $sp, $sp, 0xe0 -/* 053DC4 7F01F294 03E00008 */ jr $ra -/* 053DC8 7F01F298 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void copy_eeprom_to_stack_set_folder_num(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copy_eeprom_to_stack_set_folder_num -/* 053DCC 7F01F29C 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 053DD0 7F01F2A0 AFB00014 */ sw $s0, 0x14($sp) -/* 053DD4 7F01F2A4 00808025 */ move $s0, $a0 -/* 053DD8 7F01F2A8 AFBF001C */ sw $ra, 0x1c($sp) -/* 053DDC 7F01F2AC 04800034 */ bltz $a0, .L7F01F380 -/* 053DE0 7F01F2B0 AFB10018 */ sw $s1, 0x18($sp) -/* 053DE4 7F01F2B4 28810004 */ slti $at, $a0, 4 -/* 053DE8 7F01F2B8 50200032 */ beql $at, $zero, .L7F01F384 -/* 053DEC 7F01F2BC 8FBF001C */ lw $ra, 0x1c($sp) -/* 053DF0 7F01F2C0 0FC07771 */ jal get_save_folder_ptr -/* 053DF4 7F01F2C4 00000000 */ nop -/* 053DF8 7F01F2C8 3C0E8003 */ lui $t6, %hi(D_8002C840) -/* 053DFC 7F01F2CC 27B10024 */ addiu $s1, $sp, 0x24 -/* 053E00 7F01F2D0 25CEC840 */ addiu $t6, %lo(D_8002C840) # addiu $t6, $t6, -0x37c0 -/* 053E04 7F01F2D4 AFA20084 */ sw $v0, 0x84($sp) -/* 053E08 7F01F2D8 25D90060 */ addiu $t9, $t6, 0x60 -/* 053E0C 7F01F2DC 02204025 */ move $t0, $s1 -.L7F01F2E0: -/* 053E10 7F01F2E0 8DC10000 */ lw $at, ($t6) -/* 053E14 7F01F2E4 25CE000C */ addiu $t6, $t6, 0xc -/* 053E18 7F01F2E8 2508000C */ addiu $t0, $t0, 0xc -/* 053E1C 7F01F2EC AD01FFF4 */ sw $at, -0xc($t0) -/* 053E20 7F01F2F0 8DC1FFF8 */ lw $at, -8($t6) -/* 053E24 7F01F2F4 AD01FFF8 */ sw $at, -8($t0) -/* 053E28 7F01F2F8 8DC1FFFC */ lw $at, -4($t6) -/* 053E2C 7F01F2FC 15D9FFF8 */ bne $t6, $t9, .L7F01F2E0 -/* 053E30 7F01F300 AD01FFFC */ sw $at, -4($t0) -/* 053E34 7F01F304 1040000F */ beqz $v0, .L7F01F344 -/* 053E38 7F01F308 02202025 */ move $a0, $s1 -/* 053E3C 7F01F30C 00405825 */ move $t3, $v0 -/* 053E40 7F01F310 02206025 */ move $t4, $s1 -/* 053E44 7F01F314 244A0060 */ addiu $t2, $v0, 0x60 -.L7F01F318: -/* 053E48 7F01F318 8D610000 */ lw $at, ($t3) -/* 053E4C 7F01F31C 256B000C */ addiu $t3, $t3, 0xc -/* 053E50 7F01F320 258C000C */ addiu $t4, $t4, 0xc -/* 053E54 7F01F324 AD81FFF4 */ sw $at, -0xc($t4) -/* 053E58 7F01F328 8D61FFF8 */ lw $at, -8($t3) -/* 053E5C 7F01F32C AD81FFF8 */ sw $at, -8($t4) -/* 053E60 7F01F330 8D61FFFC */ lw $at, -4($t3) -/* 053E64 7F01F334 156AFFF8 */ bne $t3, $t2, .L7F01F318 -/* 053E68 7F01F338 AD81FFFC */ sw $at, -4($t4) -/* 053E6C 7F01F33C 10000003 */ b .L7F01F34C -/* 053E70 7F01F340 00000000 */ nop -.L7F01F344: -/* 053E74 7F01F344 0FC07636 */ jal set_eeprom_to_folder_num -/* 053E78 7F01F348 02002825 */ move $a1, $s0 -.L7F01F34C: -/* 053E7C 7F01F34C 0FC07649 */ jal get_selected_bond -/* 053E80 7F01F350 02202025 */ move $a0, $s1 -/* 053E84 7F01F354 00106880 */ sll $t5, $s0, 2 -/* 053E88 7F01F358 3C058003 */ lui $a1, %hi(save_selected_bond) -/* 053E8C 7F01F35C 00AD2821 */ addu $a1, $a1, $t5 -/* 053E90 7F01F360 8CA5C510 */ lw $a1, %lo(save_selected_bond)($a1) -/* 053E94 7F01F364 50450007 */ beql $v0, $a1, .L7F01F384 -/* 053E98 7F01F368 8FBF001C */ lw $ra, 0x1c($sp) -/* 053E9C 7F01F36C 0FC0764D */ jal set_selected_bond -/* 053EA0 7F01F370 02202025 */ move $a0, $s1 -/* 053EA4 7F01F374 8FA40084 */ lw $a0, 0x84($sp) -/* 053EA8 7F01F378 0FC07941 */ jal sub_GAME_7F01E504 -/* 053EAC 7F01F37C 02202825 */ move $a1, $s1 -.L7F01F380: -/* 053EB0 7F01F380 8FBF001C */ lw $ra, 0x1c($sp) -.L7F01F384: -/* 053EB4 7F01F384 8FB00014 */ lw $s0, 0x14($sp) -/* 053EB8 7F01F388 8FB10018 */ lw $s1, 0x18($sp) -/* 053EBC 7F01F38C 03E00008 */ jr $ra -/* 053EC0 7F01F390 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif - - - -#ifdef NONMATCHING -void copy_eeprom_from_to(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copy_eeprom_from_to -/* 053EC4 7F01F394 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 053EC8 7F01F398 AFBF0014 */ sw $ra, 0x14($sp) -/* 053ECC 7F01F39C 0FC07771 */ jal get_save_folder_ptr -/* 053ED0 7F01F3A0 AFA50084 */ sw $a1, 0x84($sp) -/* 053ED4 7F01F3A4 1040000F */ beqz $v0, .L7F01F3E4 -/* 053ED8 7F01F3A8 8FA30084 */ lw $v1, 0x84($sp) -/* 053EDC 7F01F3AC 0040C025 */ move $t8, $v0 -/* 053EE0 7F01F3B0 0060C825 */ move $t9, $v1 -/* 053EE4 7F01F3B4 244F0060 */ addiu $t7, $v0, 0x60 -.L7F01F3B8: -/* 053EE8 7F01F3B8 8F010000 */ lw $at, ($t8) -/* 053EEC 7F01F3BC 2718000C */ addiu $t8, $t8, 0xc -/* 053EF0 7F01F3C0 2739000C */ addiu $t9, $t9, 0xc -/* 053EF4 7F01F3C4 AF21FFF4 */ sw $at, -0xc($t9) -/* 053EF8 7F01F3C8 8F01FFF8 */ lw $at, -8($t8) -/* 053EFC 7F01F3CC AF21FFF8 */ sw $at, -8($t9) -/* 053F00 7F01F3D0 8F01FFFC */ lw $at, -4($t8) -/* 053F04 7F01F3D4 170FFFF8 */ bne $t8, $t7, .L7F01F3B8 -/* 053F08 7F01F3D8 AF21FFFC */ sw $at, -4($t9) -/* 053F0C 7F01F3DC 1000001C */ b .L7F01F450 -/* 053F10 7F01F3E0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01F3E4: -/* 053F14 7F01F3E4 3C088003 */ lui $t0, %hi(blank_eeprom) -/* 053F18 7F01F3E8 27A2001C */ addiu $v0, $sp, 0x1c -/* 053F1C 7F01F3EC 2508C8A0 */ addiu $t0, %lo(blank_eeprom) # addiu $t0, $t0, -0x3760 -/* 053F20 7F01F3F0 250A0060 */ addiu $t2, $t0, 0x60 -/* 053F24 7F01F3F4 00405825 */ move $t3, $v0 -.L7F01F3F8: -/* 053F28 7F01F3F8 8D010000 */ lw $at, ($t0) -/* 053F2C 7F01F3FC 2508000C */ addiu $t0, $t0, 0xc -/* 053F30 7F01F400 256B000C */ addiu $t3, $t3, 0xc -/* 053F34 7F01F404 AD61FFF4 */ sw $at, -0xc($t3) -/* 053F38 7F01F408 8D01FFF8 */ lw $at, -8($t0) -/* 053F3C 7F01F40C AD61FFF8 */ sw $at, -8($t3) -/* 053F40 7F01F410 8D01FFFC */ lw $at, -4($t0) -/* 053F44 7F01F414 150AFFF8 */ bne $t0, $t2, .L7F01F3F8 -/* 053F48 7F01F418 AD61FFFC */ sw $at, -4($t3) -/* 053F4C 7F01F41C 00407025 */ move $t6, $v0 -/* 053F50 7F01F420 00607825 */ move $t7, $v1 -/* 053F54 7F01F424 244D0060 */ addiu $t5, $v0, 0x60 -.L7F01F428: -/* 053F58 7F01F428 8DC10000 */ lw $at, ($t6) -/* 053F5C 7F01F42C 25CE000C */ addiu $t6, $t6, 0xc -/* 053F60 7F01F430 25EF000C */ addiu $t7, $t7, 0xc -/* 053F64 7F01F434 ADE1FFF4 */ sw $at, -0xc($t7) -/* 053F68 7F01F438 8DC1FFF8 */ lw $at, -8($t6) -/* 053F6C 7F01F43C ADE1FFF8 */ sw $at, -8($t7) -/* 053F70 7F01F440 8DC1FFFC */ lw $at, -4($t6) -/* 053F74 7F01F444 15CDFFF8 */ bne $t6, $t5, .L7F01F428 -/* 053F78 7F01F448 ADE1FFFC */ sw $at, -4($t7) -/* 053F7C 7F01F44C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01F450: -/* 053F80 7F01F450 27BD0080 */ addiu $sp, $sp, 0x80 -/* 053F84 7F01F454 03E00008 */ jr $ra -/* 053F88 7F01F458 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void copy_eepromfile_a0_from_a1_to_buffer(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copy_eepromfile_a0_from_a1_to_buffer -/* 053F8C 7F01F45C 24010064 */ li $at, 100 -/* 053F90 7F01F460 1481000D */ bne $a0, $at, .L7F01F498 -/* 053F94 7F01F464 3C0E8007 */ lui $t6, %hi(save6) -/* 053F98 7F01F468 25CE9B00 */ addiu $t6, %lo(save6) # addiu $t6, $t6, -0x6500 -/* 053F9C 7F01F46C 00A0C825 */ move $t9, $a1 -/* 053FA0 7F01F470 24B80060 */ addiu $t8, $a1, 0x60 -.L7F01F474: -/* 053FA4 7F01F474 8F210000 */ lw $at, ($t9) -/* 053FA8 7F01F478 2739000C */ addiu $t9, $t9, 0xc -/* 053FAC 7F01F47C 25CE000C */ addiu $t6, $t6, 0xc -/* 053FB0 7F01F480 ADC1FFF4 */ sw $at, -0xc($t6) -/* 053FB4 7F01F484 8F21FFF8 */ lw $at, -8($t9) -/* 053FB8 7F01F488 ADC1FFF8 */ sw $at, -8($t6) -/* 053FBC 7F01F48C 8F21FFFC */ lw $at, -4($t9) -/* 053FC0 7F01F490 1738FFF8 */ bne $t9, $t8, .L7F01F474 -/* 053FC4 7F01F494 ADC1FFFC */ sw $at, -4($t6) -.L7F01F498: -/* 053FC8 7F01F498 03E00008 */ jr $ra -/* 053FCC 7F01F49C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void check_for_007_mode_unlocked(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_for_007_mode_unlocked -/* 053FD0 7F01F4A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 053FD4 7F01F4A4 AFBF0024 */ sw $ra, 0x24($sp) -/* 053FD8 7F01F4A8 AFB20020 */ sw $s2, 0x20($sp) -/* 053FDC 7F01F4AC AFB1001C */ sw $s1, 0x1c($sp) -/* 053FE0 7F01F4B0 0FC07771 */ jal get_save_folder_ptr -/* 053FE4 7F01F4B4 AFB00018 */ sw $s0, 0x18($sp) -/* 053FE8 7F01F4B8 10400016 */ beqz $v0, .L7F01F514 -/* 053FEC 7F01F4BC 00408825 */ move $s1, $v0 -/* 053FF0 7F01F4C0 904E0009 */ lbu $t6, 9($v0) -/* 053FF4 7F01F4C4 00008025 */ move $s0, $zero -/* 053FF8 7F01F4C8 24120014 */ li $s2, 20 -/* 053FFC 7F01F4CC 31CF0001 */ andi $t7, $t6, 1 -/* 054000 7F01F4D0 11E00003 */ beqz $t7, .L7F01F4E0 -/* 054004 7F01F4D4 00000000 */ nop -/* 054008 7F01F4D8 1000000F */ b .L7F01F518 -/* 05400C 7F01F4DC 24020001 */ li $v0, 1 -.L7F01F4E0: -/* 054010 7F01F4E0 02202025 */ move $a0, $s1 -.L7F01F4E4: -/* 054014 7F01F4E4 02002825 */ move $a1, $s0 -/* 054018 7F01F4E8 0FC07718 */ jal get_eeprom_stage_completed_for_difficulty -/* 05401C 7F01F4EC 24060002 */ li $a2, 2 -/* 054020 7F01F4F0 10400004 */ beqz $v0, .L7F01F504 -/* 054024 7F01F4F4 00000000 */ nop -/* 054028 7F01F4F8 26100001 */ addiu $s0, $s0, 1 -/* 05402C 7F01F4FC 5612FFF9 */ bnel $s0, $s2, .L7F01F4E4 -/* 054030 7F01F500 02202025 */ move $a0, $s1 -.L7F01F504: -/* 054034 7F01F504 56120004 */ bnel $s0, $s2, .L7F01F518 -/* 054038 7F01F508 00001025 */ move $v0, $zero -/* 05403C 7F01F50C 10000002 */ b .L7F01F518 -/* 054040 7F01F510 24020001 */ li $v0, 1 -.L7F01F514: -/* 054044 7F01F514 00001025 */ move $v0, $zero -.L7F01F518: -/* 054048 7F01F518 8FBF0024 */ lw $ra, 0x24($sp) -/* 05404C 7F01F51C 8FB00018 */ lw $s0, 0x18($sp) -/* 054050 7F01F520 8FB1001C */ lw $s1, 0x1c($sp) -/* 054054 7F01F524 8FB20020 */ lw $s2, 0x20($sp) -/* 054058 7F01F528 03E00008 */ jr $ra -/* 05405C 7F01F52C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - diff --git a/src/game/gamefile2.h b/src/game/gamefile2.h deleted file mode 100644 index 7c65232..0000000 --- a/src/game/gamefile2.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _GAMEFILE2_H_ -#define _GAMEFILE2_H_ -#include "ultra64.h" - - -#endif diff --git a/src/game/image.c b/src/game/image.c deleted file mode 100644 index 3ae9cc3..0000000 --- a/src/game/image.c +++ /dev/null @@ -1,9557 +0,0 @@ -#include "ultra64.h" -#include "game/image.h" -#include "assets/images/image_externs.h" - -// bss -//8008C720 -s32 ptr_texture_alloc_start; -//8008C724 -s32 ptr_texture_alloc_end; -//8008C728 -s32 ptr_next_available_space; -//8008C72C -s32 ptr_last_entry_facemapping; -//8008C730 -s32 word_CODE_bss_8008C730[0x258]; -//8008D090 -s32 dword_CODE_bss_8008D090; -//8008D094 -s32 dword_CODE_bss_8008D094; - - -// data -//D:80049170 -u32 bytes = 0x6DDD0; -//D:80049174 -u32 D_80049174 = 0; - -//D:80049178 #1 #bytes in pixel data for image -s32 pixelbytecounts[] = -{ - 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1 -}; -//D:800491AC #2 1=alphagrab. Grabs 1 bit of alpha data for each pixel -s32 pixelalphas[] = -{ - 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 -}; -//D:800491E0 #3 #bits in 'samples', *2 -1=bitmask -s32 pixelsamplebits[] = -{ - 0x100, 0x20, 0x100, 0x20, 0x100, 0x10, 8, 0x100, 0x10, 0x100, 0x10, 0x100, 0x10 -}; -//D:80049214 #4 bitcount for pixel data -s32 pixelbitcount[] = -{ - 0x20, 0x10, 0x18, 0xF, 0x10, 8, 4, 8, 4, 0x10, 0x10, 0x10, 0x10, -}; -//D:80049248 #5 N64 image types (0=color, 1=YUV, 2=indexed, 3=IA, 4=I) -s32 n64imagetypes[] = -{ - 0, 0, 0, 0, 3, 3, 3, 4, 4, 2, 2, 2, 2 -}; -//D:8004927C #6 N64 pixel sizes (0=4bit, 1=8bit, 2=16bit, 3=32bit) -s32 n64pixelsizes[] = -{ - 3, 2, 3, 2, 2, 1, 0, 1, 0, 1, 0, 1, 0 -}; -//D:800492B0 #7 imageflip values for indexed types -s32 imgflipvalues[] = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x8000, 0x8000, 0xC000, 0xC000 -}; -//D:800492e4 -s32 D_800492E4[] = -{ - 0, 0, 0, 0, 0, 0, 0 -}; - -//D:80049300 -//need way to calculate size at compile time from external data -struct image_entry image_entries[] = { - { 0, 0, _image1_size, 0, 0, 0, 0}, - { 0, 0, _image2_size, 0, 0, 0, 0}, - { 0, 0, _image3_size, 0, 0, 0, 0}, - { 0, 0, _image4_size, 0, 0, 0, 0}, - { 0, 0, _image5_size, 0, 0, 0, 0}, - { 0, 0, _image6_size, 0, 0, 0, 0}, - { 0, 0, _image7_size, 0, 0, 0, 0}, - { 0, 0, _image8_size, 0, 0, 0, 0}, - { 0, 0, _image9_size, 0, 0, 0, 0}, - {0x11, 0, _image10_size, 0, 0, 0, 0}, - {0x11, 0, _image11_size, 0, 0, 0, 0}, - { 0, 0, _image12_size, 0, 0, 0, 0}, - { 0, 0, _image13_size, 0, 0, 0, 0}, - { 0, 0, _image14_size, 0, 0, 0, 0}, - { 0, 0, _image15_size, 0, 0, 0, 0}, - { 0, 0, _image16_size, 0, 0, 0, 0}, - { 0, 0, _image17_size, 0, 0, 0, 0}, - { 0, 0, _image18_size, 0, 0, 0, 0}, - { 0, 0, _image19_size, 0, 0, 0, 0}, - { 0, 0, _image20_size, 0, 0, 0, 0}, - {0x77, 0, _image21_size, 0, 0, 0, 0}, - { 0, 0, _image22_size, 0x38, 0xD2, 0, 0}, - {0x77, 0, _image23_size, 0x38, 0xD2, 0, 0}, - { 0, 0, _image24_size, 0, 0, 0, 0}, - { 0, 0, _image25_size, 0, 0, 0, 0}, - { 0, 0, _image26_size, 0, 0, 0, 0}, - { 0, 0, _image27_size, 0, 0, 0, 0}, - { 0, 0, _image28_size, 0, 0, 0, 0}, - { 0, 0, _image29_size, 0, 0, 0, 0}, - {0xAA, 0, _image30_size, 0, 0, 0, 0}, - {0xAA, 0, _image31_size, 0, 0, 0, 0}, - {0xAA, 0, _image32_size, 0, 0, 0, 0}, - {0xAA, 0, _image33_size, 0, 0, 0, 0}, - {0x22, 0, _image34_size, 0, 0, 0, 0}, - {0x22, 0, _image35_size, 0, 0, 0, 0}, - {0x22, 0, _image36_size, 0, 0, 0, 0}, - {0x22, 0, _image37_size, 0, 0, 0, 0}, - { 0, 0, _image38_size, 0, 0, 0, 0}, - { 0, 0, _image39_size, 0, 0, 0, 0}, - { 0, 0, _image40_size, 0, 0, 0, 0}, - { 0, 0, _image41_size, 0, 0, 0, 0}, - { 0, 0, _image42_size, 0, 0, 0, 0}, - { 0, 0, _image43_size, 0, 0, 0, 0}, - {0xAA, 0, _image44_size, 0, 0, 0, 0}, - { 0, 0, _image45_size, 0, 0, 0, 0}, - {0xAA, 0, _image46_size, 0, 0, 0, 0}, - { 0, 0, _image47_size, 0, 0, 0, 0}, - { 0, 0, _image48_size, 0, 0, 0, 0}, - { 0, 0, _image49_size, 0, 0, 0, 0}, - { 0, 0, _image50_size, 0, 0, 0, 0}, - {0x33, 0, _image51_size, 0, 0, 0, 0}, - { 0, 0, _image52_size, 0, 0, 0, 0}, - { 0, 0, _image53_size, 0, 0, 0, 0}, - { 0, 0, _image54_size, 0, 0, 0, 0}, - { 0, 0, _image55_size, 0, 0, 0, 0}, - { 0, 0, _image56_size, 0, 0, 0, 0}, - { 0, 0, _image57_size, 0, 0, 0, 0}, - { 0, 0, _image58_size, 0, 0, 0, 0}, - { 0, 0, _image59_size, 0, 0, 0, 0}, - { 0, 0, _image60_size, 0, 0, 0, 0}, - { 0, 0, _image61_size, 0, 0, 0, 0}, - { 0, 0, _image62_size, 0, 0, 0, 0}, - { 0, 0, _image63_size, 0, 0, 0, 0}, - { 0, 0, _image64_size, 0, 0, 0, 0}, - { 0, 0, _image65_size, 0, 0, 0, 0}, - { 0, 0, _image66_size, 0, 0, 0, 0}, - { 0, 0, _image67_size, 0, 0, 0, 0}, - { 0, 0, _image68_size, 0, 0, 0, 0}, - { 0, 0, _image69_size, 0, 0, 0, 0}, - { 0, 0, _image70_size, 0, 0, 0, 0}, - { 0, 0, _image71_size, 0, 0, 0, 0}, - { 0, 0, _image72_size, 0, 0, 0, 0}, - { 0, 0, _image73_size, 0, 0, 0, 0}, - { 0, 0, _image74_size, 0, 0, 0, 0}, - { 0, 0, _image75_size, 0, 0, 0, 0}, - {0xAA, 0, _image76_size, 0, 0, 0, 0}, - {0xAA, 0, _image77_size, 0, 0, 0, 0}, - {0xAA, 0, _image78_size, 0, 0, 0, 0}, - {0x22, 0, _image79_size, 0, 0, 0, 0}, - {0x22, 0, _image80_size, 0, 0, 0, 0}, - {0x33, 0, _image81_size, 0, 0, 0, 0}, - {0x33, 0, _image82_size, 0, 0, 0, 0}, - {0x33, 0, _image83_size, 0, 0, 0, 0}, - {0x33, 0, _image84_size, 0, 0, 0, 0}, - {0x33, 0, _image85_size, 0, 0, 0, 0}, - { 0, 0, _image86_size, 0, 0, 0, 0}, - { 0, 0, _image87_size, 0, 0, 0, 0}, - { 0, 0, _image88_size, 0, 0, 0, 0}, - {0x11, 0, _image89_size, 0, 0, 0, 0}, - {0x11, 0, _image90_size, 0, 0, 0, 0}, - {0x11, 0, _image91_size, 0, 0, 0, 0}, - {0x11, 0, _image92_size, 0, 0, 0, 0}, - {0x11, 0, _image93_size, 0, 0, 0, 0}, - {0x11, 0, _image94_size, 0, 0, 0, 0}, - {0x11, 0, _image95_size, 0, 0, 0, 0}, - {0x11, 0, _image96_size, 0, 0, 0, 0}, - {0x11, 0, _image97_size, 0, 0, 0, 0}, - {0x11, 0, _image98_size, 0, 0, 0, 0}, - {0x11, 0, _image99_size, 0, 0, 0, 0}, - {0x11, 0, _image100_size, 0, 0, 0, 0}, - {0x11, 0, _image101_size, 0, 0, 0, 0}, - {0x11, 0, _image102_size, 0, 0, 0, 0}, - {0x11, 0, _image103_size, 0, 0, 0, 0}, - {0x11, 0, _image104_size, 0, 0, 0, 0}, - {0x11, 0, _image105_size, 0, 0, 0, 0}, - {0x11, 0, _image106_size, 0, 0, 0, 0}, - {0x11, 0, _image107_size, 0, 0, 0, 0}, - {0x11, 0, _image108_size, 0, 0, 0, 0}, - {0x11, 0, _image109_size, 0, 0, 0, 0}, - {0x11, 0, _image110_size, 0, 0, 0, 0}, - {0x11, 0, _image111_size, 0, 0, 0, 0}, - {0x11, 0, _image112_size, 0, 0, 0, 0}, - {0x11, 0, _image113_size, 0, 0, 0, 0}, - {0x11, 0, _image114_size, 0, 0, 0, 0}, - {0x11, 0, _image115_size, 0, 0, 0, 0}, - {0x11, 0, _image116_size, 0, 0, 0, 0}, - {0x11, 0, _image117_size, 0, 0, 0, 0}, - {0x11, 0, _image118_size, 0, 0, 0, 0}, - {0x11, 0, _image119_size, 0, 0, 0, 0}, - {0x11, 0, _image120_size, 0, 0, 0, 0}, - {0x11, 0, _image121_size, 0, 0, 0, 0}, - {0x11, 0, _image122_size, 0, 0, 0, 0}, - {0x11, 0, _image123_size, 0, 0, 0, 0}, - {0x11, 0, _image124_size, 0, 0, 0, 0}, - {0x11, 0, _image125_size, 0, 0, 0, 0}, - {0x11, 0, _image126_size, 0, 0, 0, 0}, - {0x11, 0, _image127_size, 0, 0, 0, 0}, - {0x11, 0, _image128_size, 0, 0, 0, 0}, - {0x11, 0, _image129_size, 0, 0, 0, 0}, - {0x11, 0, _image130_size, 0, 0, 0, 0}, - {0x11, 0, _image131_size, 0, 0, 0, 0}, - {0x11, 0, _image132_size, 0, 0, 0, 0}, - {0x11, 0, _image133_size, 0, 0, 0, 0}, - {0x11, 0, _image134_size, 0, 0, 0, 0}, - {0x11, 0, _image135_size, 0, 0, 0, 0}, - {0x11, 0, _image136_size, 0, 0, 0, 0}, - {0x11, 0, _image137_size, 0, 0, 0, 0}, - {0x11, 0, _image138_size, 0, 0, 0, 0}, - {0x11, 0, _image139_size, 0, 0, 0, 0}, - {0x11, 0, _image140_size, 0, 0, 0, 0}, - {0x11, 0, _image141_size, 0, 0, 0, 0}, - {0x11, 0, _image142_size, 0, 0, 0, 0}, - {0x11, 0, _image143_size, 0, 0, 0, 0}, - {0x11, 0, _image144_size, 0, 0, 0, 0}, - {0x11, 0, _image145_size, 0, 0, 0, 0}, - {0x11, 0, _image146_size, 0, 0, 0, 0}, - {0x11, 0, _image147_size, 0, 0, 0, 0}, - { 0, 0, _image148_size, 0, 0, 0, 0}, - {0xAA, 0, _image149_size, 0, 0, 0, 0}, - {0xAA, 0, _image150_size, 0, 0, 0, 0}, - {0xAA, 0, _image151_size, 0, 0, 0, 0}, - {0xAA, 0, _image152_size, 0, 0, 0, 0}, - {0xAA, 0, _image153_size, 0, 0, 0, 0}, - {0xAA, 0, _image154_size, 0, 0, 0, 0}, - {0xAA, 0, _image155_size, 0, 0, 0, 0}, - {0xAA, 0, _image156_size, 0, 0, 0, 0}, - { 0, 0, _image157_size, 0, 0, 0, 0}, - { 0, 0, _image158_size, 0, 0, 0, 0}, - { 0, 0, _image159_size, 0, 0, 0, 0}, - { 0, 0, _image160_size, 0, 0, 0, 0}, - {0x33, 0, _image161_size, 0, 0, 0, 0}, - {0x33, 0, _image162_size, 0, 0, 0, 0}, - {0x33, 0, _image163_size, 0, 0, 0, 0}, - {0x33, 0, _image164_size, 0, 0, 0, 0}, - {0x33, 0, _image165_size, 0, 0, 0, 0}, - {0x33, 0, _image166_size, 0, 0, 0, 0}, - {0x33, 0, _image167_size, 0, 0, 0, 0}, - {0x33, 0, _image168_size, 0, 0, 0, 0}, - { 0, 0, _image169_size, 0, 0, 0, 0}, - {0x33, 0, _image170_size, 0, 0, 0, 0}, - { 0, 0, _image171_size, 0, 0, 0, 0}, - { 0, 0, _image172_size, 0, 0, 0, 0}, - { 0, 0, _image173_size, 0, 0, 0, 0}, - { 0, 0, _image174_size, 0, 0, 0, 0}, - { 0, 0, _image175_size, 0, 0, 0, 0}, - { 0, 0, _image176_size, 0, 0, 0, 0}, - { 0, 0, _image177_size, 0, 0, 0, 0}, - {0xAA, 0, _image178_size, 0, 0, 0, 0}, - {0xAA, 0, _image179_size, 0, 0, 0, 0}, - {0xAA, 0, _image180_size, 0, 0, 0, 0}, - {0x11, 0, _image181_size, 0, 0, 0, 0}, - {0x11, 0, _image182_size, 0, 0, 0, 0}, - { 0, 0, _image183_size, 0, 0, 0, 0}, - {0x11, 0, _image184_size, 0, 0, 0, 0}, - { 0, 0, _image185_size, 0, 0, 0, 0}, - {0x22, 0, _image186_size, 0, 0, 0, 0}, - {0x77, 0, _image187_size, 0, 0, 0, 0}, - {0x77, 0, _image188_size, 0, 0, 0, 0}, - {0x22, 0, _image189_size, 0, 0, 0, 0}, - { 0, 0, _image190_size, 0, 0, 0, 0}, - { 0, 0, _image191_size, 0, 0, 0, 0}, - { 0, 0, _image192_size, 0, 0, 0, 0}, - { 0, 0, _image193_size, 0, 0, 0, 0}, - { 0, 0, _image194_size, 0, 0, 0, 0}, - {0x33, 0, _image195_size, 0, 0, 0, 0}, - {0x11, 0, _image196_size, 0, 0, 0, 0}, - {0x77, 0, _image197_size, 0, 0, 0, 0}, - {0x33, 0, _image198_size, 0, 0, 0, 0}, - { 0, 0, _image199_size, 0, 0, 0, 0}, - {0x33, 0, _image200_size, 0, 0, 0, 0}, - { 0, 0, _image201_size, 0, 0, 0, 0}, - {0x44, 0, _image202_size, 0, 0, 0, 0}, - {0x44, 0, _image203_size, 0, 0, 0, 0}, - {0x44, 0, _image204_size, 0, 0, 0, 0}, - {0x44, 0, _image205_size, 0, 0, 0, 0}, - {0x44, 0, _image206_size, 0, 0, 0, 0}, - { 0, 0, _image207_size, 0, 0, 0, 0}, - { 0, 0, _image208_size, 0, 0, 0, 0}, - { 0, 0, _image209_size, 0, 0, 0, 0}, - { 0, 0, _image210_size, 0, 0, 0, 0}, - { 0, 0, _image211_size, 0, 0, 0, 0}, - { 0, 0, _image212_size, 0, 0, 0, 0}, - { 0, 0, _image213_size, 0, 0, 0, 0}, - { 0, 0, _image214_size, 0, 0, 0, 0}, - {0xAA, 0, _image215_size, 0, 0, 0, 0}, - { 0, 0, _image216_size, 0, 0, 0, 0}, - { 0, 0, _image217_size, 0, 0, 0, 0}, - { 0, 0, _image218_size, 0, 0, 0, 0}, - { 0, 0, _image219_size, 0, 0, 0, 0}, - {0x22, 0, _image220_size, 0, 0, 0, 0}, - {0x22, 0, _image221_size, 0, 0, 0, 0}, - {0x22, 0, _image222_size, 0, 0, 0, 0}, - {0x22, 0, _image223_size, 0, 0, 0, 0}, - {0x22, 0, _image224_size, 0, 0, 0, 0}, - {0x22, 0, _image225_size, 0, 0, 0, 0}, - {0x22, 0, _image226_size, 0, 0, 0, 0}, - { 0, 0, _image227_size, 0, 0, 0, 0}, - { 0, 0, _image228_size, 0, 0, 0, 0}, - { 0, 0, _image229_size, 0, 0, 0, 0}, - {0xAA, 0, _image230_size, 0, 0, 0, 0}, - { 0, 0, _image231_size, 0, 0, 0, 0}, - { 0, 0, _image232_size, 0, 0, 0, 0}, - { 0, 0, _image233_size, 0, 0, 0, 0}, - { 0, 0, _image234_size, 0, 0, 0, 0}, - { 0, 0, _image235_size, 0, 0, 0, 0}, - {0xAA, 0, _image236_size, 0, 0, 0, 0}, - {0xAA, 0, _image237_size, 0, 0, 0, 0}, - {0xAA, 0, _image238_size, 0, 0, 0, 0}, - {0xAA, 0, _image239_size, 0, 0, 0, 0}, - {0xAA, 0, _image240_size, 0, 0, 0, 0}, - {0xAA, 0, _image241_size, 0, 0, 0, 0}, - {0xAA, 0, _image242_size, 0, 0, 0, 0}, - {0x77, 0, _image243_size, 0, 0, 0, 0}, - {0x77, 0, _image244_size, 0, 0, 0, 0}, - {0x77, 0, _image245_size, 0, 0, 0, 0}, - { 0, 0, _image246_size, 0, 0, 0, 0}, - { 0, 0, _image247_size, 0, 0, 0, 0}, - {0x33, 0, _image248_size, 0, 0, 0, 0}, - {0x33, 0, _image249_size, 0, 0, 0, 0}, - {0x33, 0, _image250_size, 0, 0, 0, 0}, - {0x33, 0, _image251_size, 0, 0, 0, 0}, - {0x11, 0, _image252_size, 0, 0, 0, 0}, - {0x44, 0, _image253_size, 0, 0, 0, 0}, - {0x44, 0, _image254_size, 0, 0, 0, 0}, - {0x44, 0, _image255_size, 0, 0, 0, 0}, - {0x44, 0, _image256_size, 0, 0, 0, 0}, - {0x44, 0, _image257_size, 0, 0, 0, 0}, - {0x11, 0, _image258_size, 0, 0, 0, 0}, - {0x11, 0, _image259_size, 0, 0, 0, 0}, - {0x11, 0, _image260_size, 0, 0, 0, 0}, - {0xAA, 0, _image261_size, 0, 0, 0, 0}, - {0xAA, 0, _image262_size, 0, 0, 0, 0}, - {0xAA, 0, _image263_size, 0, 0, 0, 0}, - {0xAA, 0, _image264_size, 0, 0, 0, 0}, - {0x77, 0, _image265_size, 0, 0, 0, 0}, - {0xAA, 0, _image266_size, 0, 0, 0, 0}, - { 0, 0, _image267_size, 0, 0, 0, 0}, - { 0, 0, _image268_size, 0, 0, 0, 0}, - { 0, 0, _image269_size, 0, 0, 0, 0}, - { 0, 0, _image270_size, 0, 0, 0, 0}, - { 0, 0, _image271_size, 0, 0, 0, 0}, - { 0, 0, _image272_size, 0, 0, 0, 0}, - { 0, 0, _image273_size, 0, 0, 0, 0}, - { 0, 0, _image274_size, 0, 0, 0, 0}, - { 0, 0, _image275_size, 0, 0, 0, 0}, - { 0, 0, _image276_size, 0, 0, 0, 0}, - { 0, 0, _image277_size, 0, 0, 0, 0}, - { 0, 0, _image278_size, 0, 0, 0, 0}, - { 0, 0, _image279_size, 0, 0, 0, 0}, - {0x11, 0, _image280_size, 0, 0, 0, 0}, - {0x11, 0, _image281_size, 0, 0, 0, 0}, - {0x11, 0, _image282_size, 0, 0, 0, 0}, - {0x11, 0, _image283_size, 0, 0, 0, 0}, - {0x11, 0, _image284_size, 0, 0, 0, 0}, - {0x11, 0, _image285_size, 0, 0, 0, 0}, - {0x11, 0, _image286_size, 0, 0, 0, 0}, - {0x11, 0, _image287_size, 0, 0, 0, 0}, - {0x11, 0, _image288_size, 0, 0, 0, 0}, - {0x11, 0, _image289_size, 0, 0, 0, 0}, - {0x11, 0, _image290_size, 0, 0, 0, 0}, - {0x11, 0, _image291_size, 0, 0, 0, 0}, - {0x11, 0, _image292_size, 0, 0, 0, 0}, - { 0, 0, _image293_size, 0, 0, 0, 0}, - {0x11, 0, _image294_size, 0, 0, 0, 0}, - {0x11, 0, _image295_size, 0, 0, 0, 0}, - {0x11, 0, _image296_size, 0, 0, 0, 0}, - {0x11, 0, _image297_size, 0, 0, 0, 0}, - {0x11, 0, _image298_size, 0, 0, 0, 0}, - {0x11, 0, _image299_size, 0, 0, 0, 0}, - {0x11, 0, _image300_size, 0, 0, 0, 0}, - {0x11, 0, _image301_size, 0, 0, 0, 0}, - {0x11, 0, _image302_size, 0, 0, 0, 0}, - {0x11, 0, _image303_size, 0, 0, 0, 0}, - {0x11, 0, _image304_size, 0, 0, 0, 0}, - {0x77, 0, _image305_size, 0, 0, 0, 0}, - {0x11, 0, _image306_size, 0, 0, 0, 0}, - {0x11, 0, _image307_size, 0, 0, 0, 0}, - {0x11, 0, _image308_size, 0, 0, 0, 0}, - {0x11, 0, _image309_size, 0, 0, 0, 0}, - {0x11, 0, _image310_size, 0, 0, 0, 0}, - {0x11, 0, _image311_size, 0, 0, 0, 0}, - {0x11, 0, _image312_size, 0, 0, 0, 0}, - {0x11, 0, _image313_size, 0, 0, 0, 0}, - {0x11, 0, _image314_size, 0, 0, 0, 0}, - {0x11, 0, _image315_size, 0, 0, 0, 0}, - {0x11, 0, _image316_size, 0, 0, 0, 0}, - {0x11, 0, _image317_size, 0, 0, 0, 0}, - {0x11, 0, _image318_size, 0, 0, 0, 0}, - {0x11, 0, _image319_size, 0, 0, 0, 0}, - {0x11, 0, _image320_size, 0, 0, 0, 0}, - {0x11, 0, _image321_size, 0, 0, 0, 0}, - { 0, 0, _image322_size, 0, 0, 0, 0}, - { 0, 0, _image323_size, 0, 0, 0, 0}, - { 0, 0, _image324_size, 0, 0, 0, 0}, - { 0, 0, _image325_size, 0, 0, 0, 0}, - { 0, 0, _image326_size, 0, 0, 0, 0}, - { 0, 0, _image327_size, 0, 0, 0, 0}, - { 0, 0, _image328_size, 0, 0, 0, 0}, - { 0, 0, _image329_size, 0, 0, 0, 0}, - {0xAA, 0, _image330_size, 0, 0, 0, 0}, - {0xAA, 0, _image331_size, 0, 0, 0, 0}, - {0xAA, 0, _image332_size, 0, 0, 0, 0}, - {0xAA, 0, _image333_size, 0, 0, 0, 0}, - {0xAA, 0, _image334_size, 0, 0, 0, 0}, - {0xAA, 0, _image335_size, 0, 0, 0, 0}, - {0xAA, 0, _image336_size, 0, 0, 0, 0}, - {0xAA, 0, _image337_size, 0, 0, 0, 0}, - {0xAA, 0, _image338_size, 0, 0, 0, 0}, - {0xAA, 0, _image339_size, 0, 0, 0, 0}, - {0xAA, 0, _image340_size, 0, 0, 0, 0}, - {0xAA, 0, _image341_size, 0, 0, 0, 0}, - {0xAA, 0, _image342_size, 0, 0, 0, 0}, - {0xAA, 0, _image343_size, 0, 0, 0, 0}, - {0xAA, 0, _image344_size, 0, 0, 0, 0}, - {0xAA, 0, _image345_size, 0, 0, 0, 0}, - {0xAA, 0, _image346_size, 0, 0, 0, 0}, - {0xAA, 0, _image347_size, 0, 0, 0, 0}, - {0xAA, 0, _image348_size, 0, 0, 0, 0}, - {0xAA, 0, _image349_size, 0, 0, 0, 0}, - {0xAA, 0, _image350_size, 0, 0, 0, 0}, - {0xAA, 0, _image351_size, 0, 0, 0, 0}, - {0xAA, 0, _image352_size, 0, 0, 0, 0}, - {0xAA, 0, _image353_size, 0, 0, 0, 0}, - {0xAA, 0, _image354_size, 0, 0, 0, 0}, - {0xAA, 0, _image355_size, 0, 0, 0, 0}, - {0xAA, 0, _image356_size, 0, 0, 0, 0}, - {0xAA, 0, _image357_size, 0, 0, 0, 0}, - {0xAA, 0, _image358_size, 0, 0, 0, 0}, - {0xAA, 0, _image359_size, 0, 0, 0, 0}, - {0xAA, 0, _image360_size, 0, 0, 0, 0}, - {0xAA, 0, _image361_size, 0, 0, 0, 0}, - {0xAA, 0, _image362_size, 0, 0, 0, 0}, - {0xAA, 0, _image363_size, 0, 0, 0, 0}, - {0xAA, 0, _image364_size, 0, 0, 0, 0}, - {0xAA, 0, _image365_size, 0, 0, 0, 0}, - {0xAA, 0, _image366_size, 0, 0, 0, 0}, - {0xAA, 0, _image367_size, 0, 0, 0, 0}, - {0xAA, 0, _image368_size, 0, 0, 0, 0}, - {0xAA, 0, _image369_size, 0, 0, 0, 0}, - { 0, 0, _image370_size, 0, 0, 0, 0}, - { 0, 0, _image371_size, 0, 0, 0, 0}, - {0xAA, 0, _image372_size, 0, 0, 0, 0}, - {0xAA, 0, _image373_size, 0, 0, 0, 0}, - {0xAA, 0, _image374_size, 0, 0, 0, 0}, - {0xAA, 0, _image375_size, 0, 0, 0, 0}, - {0xAA, 0, _image376_size, 0, 0, 0, 0}, - {0xAA, 0, _image377_size, 0, 0, 0, 0}, - {0xAA, 0, _image378_size, 0, 0, 0, 0}, - {0xAA, 0, _image379_size, 0, 0, 0, 0}, - {0xAA, 0, _image380_size, 0, 0, 0, 0}, - {0xAA, 0, _image381_size, 0, 0, 0, 0}, - {0xAA, 0, _image382_size, 0, 0, 0, 0}, - {0x33, 0, _image383_size, 0, 0, 0, 0}, - {0x33, 0, _image384_size, 0, 0, 0, 0}, - {0x33, 0, _image385_size, 0, 0, 0, 0}, - {0x33, 0, _image386_size, 0, 0, 0, 0}, - { 0, 0, _image387_size, 0, 0, 0, 0}, - { 0, 0, _image388_size, 0, 0, 0, 0}, - { 0, 0, _image389_size, 0, 0, 0, 0}, - { 0, 0, _image390_size, 0, 0, 0, 0}, - { 0, 0, _image391_size, 0, 0, 0, 0}, - { 0, 0, _image392_size, 0, 0, 0, 0}, - { 0, 0, _image393_size, 0, 0, 0, 0}, - { 0, 0, _image394_size, 0, 0, 0, 0}, - {0x33, 0, _image395_size, 0, 0, 0, 0}, - {0x22, 0, _image396_size, 0, 0, 0, 0}, - {0x22, 0, _image397_size, 0, 0, 0, 0}, - {0x22, 0, _image398_size, 0, 0, 0, 0}, - {0x22, 0, _image399_size, 0, 0, 0, 0}, - {0x33, 0, _image400_size, 0, 0, 0, 0}, - {0x33, 0, _image401_size, 0, 0, 0, 0}, - {0x33, 0, _image402_size, 0, 0, 0, 0}, - {0x11, 0, _image403_size, 0, 0, 0, 0}, - {0x11, 0, _image404_size, 0, 0, 0, 0}, - {0x11, 0, _image405_size, 0, 0, 0, 0}, - {0x77, 0, _image406_size, 0, 0, 0, 0}, - {0x11, 0, _image407_size, 0, 0, 0, 0}, - {0x11, 0, _image408_size, 0, 0, 0, 0}, - {0x11, 0, _image409_size, 0, 0, 0, 0}, - {0x11, 0, _image410_size, 0, 0, 0, 0}, - {0x11, 0, _image411_size, 0, 0, 0, 0}, - { 0, 0, _image412_size, 0, 0, 0, 0}, - { 0, 0, _image413_size, 0, 0, 0, 0}, - { 0, 0, _image414_size, 0, 0, 0, 0}, - { 0, 0, _image415_size, 0, 0, 0, 0}, - { 0, 0, _image416_size, 0, 0, 0, 0}, - { 0, 0, _image417_size, 0, 0, 0, 0}, - { 0, 0, _image418_size, 0, 0, 0, 0}, - { 0, 0, _image419_size, 0, 0, 0, 0}, - { 0, 0, _image420_size, 0, 0, 0, 0}, - { 0, 0, _image421_size, 0, 0, 0, 0}, - { 0, 0, _image422_size, 0, 0, 0, 0}, - { 0, 0, _image423_size, 0, 0, 0, 0}, - { 0, 0, _image424_size, 0, 0, 0, 0}, - { 0, 0, _image425_size, 0, 0, 0, 0}, - { 0, 0, _image426_size, 0, 0, 0, 0}, - {0xAA, 0, _image427_size, 0, 0, 0, 0}, - {0xAA, 0, _image428_size, 0, 0, 0, 0}, - {0x44, 0, _image429_size, 0, 0, 0, 0}, - {0xAA, 0, _image430_size, 0, 0, 0, 0}, - {0x33, 0, _image431_size, 0, 0, 0, 0}, - { 0, 0, _image432_size, 0, 0, 0, 0}, - {0x11, 0, _image433_size, 0, 0, 0, 0}, - {0x11, 0, _image434_size, 0, 0, 0, 0}, - {0x77, 0, _image435_size, 0, 0, 0, 0}, - {0x11, 0, _image436_size, 0, 0, 0, 0}, - {0x11, 0, _image437_size, 0, 0, 0, 0}, - { 0, 0, _image438_size, 0, 0, 0, 0}, - { 0, 0, _image439_size, 0, 0, 0, 0}, - { 0, 0, _image440_size, 0, 0, 0, 0}, - { 0, 0, _image441_size, 0, 0, 0, 0}, - { 0, 0, _image442_size, 0, 0, 0, 0}, - {0x77, 0, _image443_size, 0, 0, 0, 0}, - { 0, 0, _image444_size, 0, 0, 0, 0}, - { 0, 0, _image445_size, 0, 0, 0, 0}, - { 0, 0, _image446_size, 0, 0, 0, 0}, - { 0, 0, _image447_size, 0, 0, 0, 0}, - {0x44, 0, _image448_size, 0, 0, 0, 0}, - {0x44, 0, _image449_size, 0, 0, 0, 0}, - {0x11, 0, _image450_size, 0, 0, 0, 0}, - {0x11, 0, _image451_size, 0, 0, 0, 0}, - {0xAA, 0, _image452_size, 0, 0, 0, 0}, - {0x33, 0, _image453_size, 0, 0, 0, 0}, - {0x33, 0, _image454_size, 0, 0, 0, 0}, - { 0, 0, _image455_size, 0, 0, 0, 0}, - { 0, 0, _image456_size, 0, 0, 0, 0}, - { 0, 0, _image457_size, 0, 0, 0, 0}, - {0xAA, 0, _image458_size, 0, 0, 0, 0}, - {0x33, 0, _image459_size, 0, 0, 0, 0}, - {0x33, 0, _image460_size, 0, 0, 0, 0}, - { 0, 0, _image461_size, 0, 0, 0, 0}, - {0xAA, 0, _image462_size, 0, 0, 0, 0}, - { 0, 0, _image463_size, 0, 0, 0, 0}, - { 0, 0, _image464_size, 0, 0, 0, 0}, - { 0, 0, _image465_size, 0, 0, 0, 0}, - {0xAA, 0, _image466_size, 0, 0, 0, 0}, - {0xAA, 0, _image467_size, 0, 0, 0, 0}, - {0xAA, 0, _image468_size, 0, 0, 0, 0}, - {0xAA, 0, _image469_size, 0, 0, 0, 0}, - {0xAA, 0, _image470_size, 0, 0, 0, 0}, - { 0, 0, _image471_size, 0, 0, 0, 0}, - {0xAA, 0, _image472_size, 0, 0, 0, 0}, - {0xAA, 0, _image473_size, 0, 0, 0, 0}, - {0xAA, 0, _image474_size, 0, 0, 0, 0}, - {0x33, 0, _image475_size, 0, 0, 0, 0}, - {0x33, 0, _image476_size, 0, 0, 0, 0}, - {0x33, 0, _image477_size, 0, 0, 0, 0}, - {0x33, 0, _image478_size, 0, 0, 0, 0}, - {0x33, 0, _image479_size, 0, 0, 0, 0}, - {0x33, 0, _image480_size, 0, 0, 0, 0}, - { 0, 0, _image481_size, 0, 0, 0, 0}, - {0x33, 0, _image482_size, 0, 0, 0, 0}, - {0x33, 0, _image483_size, 0, 0, 0, 0}, - {0x33, 0, _image484_size, 0, 0, 0, 0}, - {0x33, 0, _image485_size, 0, 0, 0, 0}, - {0x33, 0, _image486_size, 0, 0, 0, 0}, - {0xAA, 0, _image487_size, 0, 0, 0, 0}, - {0xAA, 0, _image488_size, 0, 0, 0, 0}, - {0xAA, 0, _image489_size, 0, 0, 0, 0}, - { 0, 0, _image490_size, 0, 0, 0, 0}, - { 0, 0, _image491_size, 0, 0, 0, 0}, - {0x33, 0, _image492_size, 0, 0, 0, 0}, - {0xAA, 0, _image493_size, 0, 0, 0, 0}, - { 0, 0, _image494_size, 0, 0, 0, 0}, - { 0, 0, _image495_size, 0, 0, 0, 0}, - { 0, 0, _image496_size, 0, 0, 0, 0}, - { 0, 0, _image497_size, 0, 0, 0, 0}, - { 0, 0, _image498_size, 0, 0, 0, 0}, - { 0, 0, _image499_size, 0, 0, 0, 0}, - {0xAA, 0, _image500_size, 0, 0, 0, 0}, - {0xAA, 0, _image501_size, 0, 0, 0, 0}, - {0xAA, 0, _image502_size, 0, 0, 0, 0}, - {0x33, 0, _image503_size, 0, 0, 0, 0}, - {0x33, 0, _image504_size, 0, 0, 0, 0}, - { 0, 0, _image505_size, 0, 0, 0, 0}, - {0x33, 0, _image506_size, 0, 0, 0, 0}, - { 0, 0, _image507_size, 0, 0, 0, 0}, - {0x33, 0, _image508_size, 0, 0, 0, 0}, - {0x33, 0, _image509_size, 0, 0, 0, 0}, - {0x33, 0, _image510_size, 0, 0, 0, 0}, - {0x33, 0, _image511_size, 0, 0, 0, 0}, - {0x33, 0, _image512_size, 0, 0, 0, 0}, - {0x33, 0, _image513_size, 0, 0, 0, 0}, - { 0, 0, _image514_size, 0, 0, 0, 0}, - {0x33, 0, _image515_size, 0, 0, 0, 0}, - {0xAA, 0, _image516_size, 0, 0, 0, 0}, - {0xAA, 0, _image517_size, 0, 0, 0, 0}, - {0xAA, 0, _image518_size, 0, 0, 0, 0}, - {0xAA, 0, _image519_size, 0, 0, 0, 0}, - {0xAA, 0, _image520_size, 0, 0, 0, 0}, - { 0, 0, _image521_size, 0, 0, 0, 0}, - {0xAA, 0, _image522_size, 0, 0, 0, 0}, - {0x33, 0, _image523_size, 0, 0, 0, 0}, - {0x33, 0, _image524_size, 0, 0, 0, 0}, - { 0, 0, _image525_size, 0, 0, 0, 0}, - {0x33, 0, _image526_size, 0, 0, 0, 0}, - {0xAA, 0, _image527_size, 0, 0, 0, 0}, - {0xAA, 0, _image528_size, 0, 0, 0, 0}, - {0xAA, 0, _image529_size, 0, 0, 0, 0}, - {0xAA, 0, _image530_size, 0, 0, 0, 0}, - { 0, 0, _image531_size, 0, 0, 0, 0}, - { 0, 0, _image532_size, 0, 0, 0, 0}, - { 0, 0, _image533_size, 0, 0, 0, 0}, - {0x33, 0, _image534_size, 0, 0, 0, 0}, - {0x33, 0, _image535_size, 0, 0, 0, 0}, - {0x33, 0, _image536_size, 0, 0, 0, 0}, - {0x44, 0, _image537_size, 0, 0, 0, 0}, - {0x77, 0, _image538_size, 0, 0, 0, 0}, - {0x77, 0, _image539_size, 0, 0, 0, 0}, - { 0, 0, _image540_size, 0, 0, 0, 0}, - { 0, 0, _image541_size, 0, 0, 0, 0}, - { 0, 0, _image542_size, 0, 0, 0, 0}, - {0xAA, 0, _image543_size, 0, 0, 0, 0}, - { 0, 0, _image544_size, 0, 0, 0, 0}, - { 0, 0, _image545_size, 0, 0, 0, 0}, - {0x33, 0, _image546_size, 0, 0, 0, 0}, - {0x33, 0, _image547_size, 0, 0, 0, 0}, - {0x33, 0, _image548_size, 0, 0, 0, 0}, - {0x33, 0, _image549_size, 0, 0, 0, 0}, - {0x33, 0, _image550_size, 0, 0, 0, 0}, - {0x33, 0, _image551_size, 0, 0, 0, 0}, - {0x33, 0, _image552_size, 0, 0, 0, 0}, - {0x33, 0, _image553_size, 0, 0, 0, 0}, - {0x33, 0, _image554_size, 0, 0, 0, 0}, - {0x33, 0, _image555_size, 0, 0, 0, 0}, - {0x33, 0, _image556_size, 0, 0, 0, 0}, - {0x33, 0, _image557_size, 0, 0, 0, 0}, - {0x33, 0, _image558_size, 0, 0, 0, 0}, - {0x33, 0, _image559_size, 0, 0, 0, 0}, - {0x33, 0, _image560_size, 0, 0, 0, 0}, - {0x33, 0, _image561_size, 0, 0, 0, 0}, - {0x33, 0, _image562_size, 0, 0, 0, 0}, - {0x33, 0, _image563_size, 0, 0, 0, 0}, - {0x33, 0, _image564_size, 0, 0, 0, 0}, - {0x33, 0, _image565_size, 0, 0, 0, 0}, - {0x33, 0, _image566_size, 0, 0, 0, 0}, - {0x33, 0, _image567_size, 0, 0, 0, 0}, - {0x33, 0, _image568_size, 0, 0, 0, 0}, - {0x33, 0, _image569_size, 0, 0, 0, 0}, - {0x33, 0, _image570_size, 0, 0, 0, 0}, - {0x33, 0, _image571_size, 0, 0, 0, 0}, - {0x33, 0, _image572_size, 0, 0, 0, 0}, - {0x33, 0, _image573_size, 0, 0, 0, 0}, - {0x33, 0, _image574_size, 0, 0, 0, 0}, - {0x33, 0, _image575_size, 0, 0, 0, 0}, - {0x33, 0, _image576_size, 0, 0, 0, 0}, - {0x22, 0, _image577_size, 0, 0, 0, 0}, - {0x33, 0, _image578_size, 0, 0, 0, 0}, - {0x33, 0, _image579_size, 0, 0, 0, 0}, - {0x33, 0, _image580_size, 0, 0, 0, 0}, - {0x33, 0, _image581_size, 0, 0, 0, 0}, - { 0, 0, _image582_size, 0, 0, 0, 0}, - { 0, 0, _image583_size, 0, 0, 0, 0}, - { 0, 0, _image584_size, 0, 0, 0, 0}, - { 0, 0, _image585_size, 0, 0, 0, 0}, - { 0, 0, _image586_size, 0, 0, 0, 0}, - { 0, 0, _image587_size, 0, 0, 0, 0}, - { 0, 0, _image588_size, 0, 0, 0, 0}, - {0x77, 0, _image589_size, 0, 0, 0, 0}, - {0x77, 0, _image590_size, 0, 0, 0, 0}, - {0x77, 0, _image591_size, 0, 0, 0, 0}, - {0x77, 0, _image592_size, 0, 0, 0, 0}, - {0x77, 0, _image593_size, 0, 0, 0, 0}, - {0x77, 0, _image594_size, 0, 0, 0, 0}, - {0x77, 0, _image595_size, 0, 0, 0, 0}, - {0x77, 0, _image596_size, 0, 0, 0, 0}, - { 0, 0, _image597_size, 0, 0, 0, 0}, - { 0, 0, _image598_size, 0, 0, 0, 0}, - { 0, 0, _image599_size, 0, 0, 0, 0}, - { 0, 0, _image600_size, 0, 0, 0, 0}, - { 0, 0, _image601_size, 0, 0, 0, 0}, - { 0, 0, _image602_size, 0, 0, 0, 0}, - { 0, 0, _image603_size, 0, 0, 0, 0}, - { 0, 0, _image604_size, 0, 0, 0, 0}, - { 0, 0, _image605_size, 0, 0, 0, 0}, - { 0, 0, _image606_size, 0, 0, 0, 0}, - { 0, 0, _image607_size, 0, 0, 0, 0}, - { 0, 0, _image608_size, 0, 0, 0, 0}, - { 0, 0, _image609_size, 0, 0, 0, 0}, - { 0, 0, _image610_size, 0, 0, 0, 0}, - { 0, 0, _image611_size, 0, 0, 0, 0}, - { 0, 0, _image612_size, 0, 0, 0, 0}, - {0x33, 0, _image613_size, 0, 0, 0, 0}, - {0x33, 0, _image614_size, 0, 0, 0, 0}, - {0x33, 0, _image615_size, 0, 0, 0, 0}, - {0x33, 0, _image616_size, 0, 0, 0, 0}, - {0x33, 0, _image617_size, 0, 0, 0, 0}, - { 0, 0, _image618_size, 0, 0, 0, 0}, - { 0, 0, _image619_size, 0, 0, 0, 0}, - {0x22, 0, _image620_size, 0, 0, 0, 0}, - {0x33, 0, _image621_size, 0, 0, 0, 0}, - {0x33, 0, _image622_size, 0, 0, 0, 0}, - {0x33, 0, _image623_size, 0, 0, 0, 0}, - { 0, 0, _image624_size, 0, 0, 0, 0}, - { 0, 0, _image625_size, 0, 0, 0, 0}, - { 0, 0, _image626_size, 0, 0, 0, 0}, - { 0, 0, _image627_size, 0, 0, 0, 0}, - { 0, 0, _image628_size, 0, 0, 0, 0}, - { 0, 0, _image629_size, 0, 0, 0, 0}, - { 0, 0, _image630_size, 0, 0, 0, 0}, - { 0, 0, _image631_size, 0, 0, 0, 0}, - {0x99, 0, _image632_size, 0, 0, 0, 0}, - {0x99, 0, _image633_size, 0, 0, 0, 0}, - { 0, 0, _image634_size, 0, 0, 0, 0}, - { 0, 0, _image635_size, 0, 0, 0, 0}, - { 0, 0, _image636_size, 0, 0, 0, 0}, - { 0, 0, _image637_size, 0, 0, 0, 0}, - { 0, 0, _image638_size, 0, 0, 0, 0}, - { 0, 0, _image639_size, 0, 0, 0, 0}, - { 0, 0, _image640_size, 0, 0, 0, 0}, - { 0, 0, _image641_size, 0, 0, 0, 0}, - { 0, 0, _image642_size, 0, 0, 0, 0}, - { 0, 0, _image643_size, 0, 0, 0, 0}, - {0x33, 0, _image644_size, 0, 0, 0, 0}, - {0x33, 0, _image645_size, 0, 0, 0, 0}, - {0x33, 0, _image646_size, 0, 0, 0, 0}, - { 0, 0, _image647_size, 0, 0, 0, 0}, - {0x33, 0, _image648_size, 0, 0, 0, 0}, - { 0, 0, _image649_size, 0, 0, 0, 0}, - { 0, 0, _image650_size, 0, 0, 0, 0}, - { 0, 0, _image651_size, 0, 0, 0, 0}, - {0x33, 0, _image652_size, 0, 0, 0, 0}, - {0x44, 0, _image653_size, 0, 0, 0, 0}, - {0x4C, 0, _image654_size, 0, 0, 0, 0}, - {0x4C, 0, _image655_size, 0, 0, 0, 0}, - {0x4C, 0, _image656_size, 0, 0, 0, 0}, - {0x44, 0, _image657_size, 0, 0, 0, 0}, - {0x44, 0, _image658_size, 0, 0, 0, 0}, - {0x44, 0, _image659_size, 0, 0, 0, 0}, - { 0, 0, _image660_size, 0, 0, 0, 0}, - { 0, 0, _image661_size, 0, 0, 0, 0}, - { 0, 0, _image662_size, 0, 0, 0, 0}, - { 0, 0, _image663_size, 0, 0, 0, 0}, - { 0, 0, _image664_size, 0, 0, 0, 0}, - { 0, 0, _image665_size, 0, 0, 0, 0}, - { 0, 0, _image666_size, 0, 0, 0, 0}, - { 0, 0, _image667_size, 0, 0, 0, 0}, - { 0, 0, _image668_size, 0, 0, 0, 0}, - { 0, 0, _image669_size, 0, 0, 0, 0}, - { 0, 0, _image670_size, 0, 0, 0, 0}, - { 0, 0, _image671_size, 0, 0, 0, 0}, - {0x33, 0, _image672_size, 0, 0, 0, 0}, - {0x33, 0, _image673_size, 0, 0, 0, 0}, - {0x33, 0, _image674_size, 0, 0, 0, 0}, - {0x33, 0, _image675_size, 0, 0, 0, 0}, - {0x11, 0, _image676_size, 0, 0, 0, 0}, - {0x11, 0, _image677_size, 0, 0, 0, 0}, - { 0, 0, _image678_size, 0, 0, 0, 0}, - {0x22, 0, _image679_size, 0, 0, 0, 0}, - {0x33, 0, _image680_size, 0, 0, 0, 0}, - {0x33, 0, _image681_size, 0, 0, 0, 0}, - {0x33, 0, _image682_size, 0, 0, 0, 0}, - {0x33, 0, _image683_size, 0, 0, 0, 0}, - {0x33, 0, _image684_size, 0, 0, 0, 0}, - {0x33, 0, _image685_size, 0, 0, 0, 0}, - {0x33, 0, _image686_size, 0, 0, 0, 0}, - {0x33, 0, _image687_size, 0, 0, 0, 0}, - {0x33, 0, _image688_size, 0, 0, 0, 0}, - {0x33, 0, _image689_size, 0, 0, 0, 0}, - { 0, 0, _image690_size, 0, 0, 0, 0}, - { 0, 0, _image691_size, 0, 0, 0, 0}, - { 0, 0, _image692_size, 0, 0, 0, 0}, - {0xAA, 0, _image693_size, 0, 0, 0, 0}, - {0x44, 0, _image694_size, 0, 0, 0, 0}, - { 0, 0, _image695_size, 0, 0, 0, 0}, - {0x99, 0, _image696_size, 0, 0, 0, 0}, - {0x99, 0, _image697_size, 0, 0, 0, 0}, - {0x77, 0, _image698_size, 0, 0, 0, 0}, - {0x99, 0, _image699_size, 0, 0, 0, 0}, - {0x99, 0, _image700_size, 0, 0, 0, 0}, - {0x33, 0, _image701_size, 0, 0, 0, 0}, - {0x33, 0, _image702_size, 0, 0, 0, 0}, - {0xAA, 0, _image703_size, 0, 0, 0, 0}, - {0xAA, 0, _image704_size, 0, 0, 0, 0}, - {0xAA, 0, _image705_size, 0, 0, 0, 0}, - {0x33, 0, _image706_size, 0, 0, 0, 0}, - {0x33, 0, _image707_size, 0, 0, 0, 0}, - {0x33, 0, _image708_size, 0, 0, 0, 0}, - {0x33, 0, _image709_size, 0, 0, 0, 0}, - {0x33, 0, _image710_size, 0, 0, 0, 0}, - {0x33, 0, _image711_size, 0, 0, 0, 0}, - {0x33, 0, _image712_size, 0, 0, 0, 0}, - { 0, 0, _image713_size, 0, 0, 0, 0}, - { 0, 0, _image714_size, 0, 0, 0, 0}, - { 0, 0, _image715_size, 0, 0, 0, 0}, - {0x33, 0, _image716_size, 0, 0, 0, 0}, - {0x33, 0, _image717_size, 0, 0, 0, 0}, - {0x33, 0, _image718_size, 0, 0, 0, 0}, - {0x99, 0, _image719_size, 0, 0, 0, 0}, - {0x99, 0, _image720_size, 0, 0, 0, 0}, - {0x11, 0, _image721_size, 0, 0, 0, 0}, - {0x11, 0, _image722_size, 0, 0, 0, 0}, - { 0, 0, _image723_size, 0, 0, 0, 0}, - {0x11, 0, _image724_size, 0, 0, 0, 0}, - {0x11, 0, _image725_size, 0, 0, 0, 0}, - {0x11, 0, _image726_size, 0, 0, 0, 0}, - {0xAA, 0, _image727_size, 0, 0, 0, 0}, - {0xAA, 0, _image728_size, 0, 0, 0, 0}, - {0xAA, 0, _image729_size, 0, 0, 0, 0}, - {0xAA, 0, _image730_size, 0, 0, 0, 0}, - {0xAA, 0, _image731_size, 0, 0, 0, 0}, - {0xAA, 0, _image732_size, 0, 0, 0, 0}, - { 0, 0, _image733_size, 0, 0, 0, 0}, - { 0, 0, _image734_size, 0, 0, 0, 0}, - { 0, 0, _image735_size, 0, 0, 0, 0}, - { 0, 0, _image736_size, 0, 0, 0, 0}, - { 0, 0, _image737_size, 0, 0, 0, 0}, - { 0, 0, _image738_size, 0, 0, 0, 0}, - { 0, 0, _image739_size, 0, 0, 0, 0}, - { 0, 0, _image740_size, 0, 0, 0, 0}, - { 0, 0, _image741_size, 0, 0, 0, 0}, - { 0, 0, _image742_size, 0, 0, 0, 0}, - { 0, 0, _image743_size, 0, 0, 0, 0}, - { 0, 0, _image744_size, 0, 0, 0, 0}, - { 0, 0, _image745_size, 0, 0, 0, 0}, - { 0, 0, _image746_size, 0, 0, 0, 0}, - { 0, 0, _image747_size, 0, 0, 0, 0}, - { 0, 0, _image748_size, 0, 0, 0, 0}, - { 0, 0, _image749_size, 0, 0, 0, 0}, - { 0, 0, _image750_size, 0, 0, 0, 0}, - { 0, 0, _image751_size, 0, 0, 0, 0}, - { 0, 0, _image752_size, 0, 0, 0, 0}, - { 0, 0, _image753_size, 0, 0, 0, 0}, - { 0, 0, _image754_size, 0, 0, 0, 0}, - { 0, 0, _image755_size, 0, 0, 0, 0}, - { 0, 0, _image756_size, 0, 0, 0, 0}, - { 0, 0, _image757_size, 0, 0, 0, 0}, - { 0, 0, _image758_size, 0, 0, 0, 0}, - { 0, 0, _image759_size, 0, 0, 0, 0}, - { 0, 0, _image760_size, 0, 0, 0, 0}, - {0x77, 0, _image761_size, 0, 0, 0, 0}, - {0x77, 0, _image762_size, 0, 0, 0, 0}, - { 0, 0, _image763_size, 0, 0, 0, 0}, - { 0, 0, _image764_size, 0, 0, 0, 0}, - { 0, 0, _image765_size, 0, 0, 0, 0}, - { 0, 0, _image766_size, 0, 0, 0, 0}, - { 0, 0, _image767_size, 0, 0, 0, 0}, - { 0, 0, _image768_size, 0, 0, 0, 0}, - { 0, 0, _image769_size, 0, 0, 0, 0}, - { 0, 0, _image770_size, 0, 0, 0, 0}, - { 0, 0, _image771_size, 0, 0, 0, 0}, - { 0, 0, _image772_size, 0, 0, 0, 0}, - {0xAA, 0, _image773_size, 0, 0, 0, 0}, - {0xAA, 0, _image774_size, 0, 0, 0, 0}, - {0xAA, 0, _image775_size, 0, 0, 0, 0}, - {0x88, 0, _image776_size, 0, 0, 0, 0}, - { 0, 0, _image777_size, 0, 0, 0, 0}, - {0x11, 0, _image778_size, 0, 0, 0, 0}, - { 0, 0, _image779_size, 0, 0, 0, 0}, - { 0, 0, _image780_size, 0, 0, 0, 0}, - { 0, 0, _image781_size, 0, 0, 0, 0}, - { 0, 0, _image782_size, 0, 0, 0, 0}, - { 0, 0, _image783_size, 0, 0, 0, 0}, - {0x77, 0, _image784_size, 0, 0, 0, 0}, - { 0, 0, _image785_size, 0, 0, 0, 0}, - { 0, 0, _image786_size, 0, 0, 0, 0}, - { 0, 0, _image787_size, 0, 0, 0, 0}, - {0xAA, 0, _image788_size, 0, 0, 0, 0}, - { 0, 0, _image789_size, 0, 0, 0, 0}, - { 0, 0, _image790_size, 0, 0, 0, 0}, - { 0, 0, _image791_size, 0, 0, 0, 0}, - { 0, 0, _image792_size, 0, 0, 0, 0}, - { 0, 0, _image793_size, 0, 0, 0, 0}, - { 0, 0, _image794_size, 0, 0, 0, 0}, - { 0, 0, _image795_size, 0, 0, 0, 0}, - { 0, 0, _image796_size, 0, 0, 0, 0}, - {0x33, 0, _image797_size, 0, 0, 0, 0}, - {0x33, 0, _image798_size, 0, 0, 0, 0}, - {0x33, 0, _image799_size, 0, 0, 0, 0}, - {0x33, 0, _image800_size, 0, 0, 0, 0}, - {0x33, 0, _image801_size, 0, 0, 0, 0}, - {0x33, 0, _image802_size, 0, 0, 0, 0}, - {0x33, 0, _image803_size, 0, 0, 0, 0}, - {0x33, 0, _image804_size, 0, 0, 0, 0}, - { 0, 0, _image805_size, 0, 0, 0, 0}, - {0xAA, 0, _image806_size, 0, 0, 0, 0}, - { 0, 0, _image807_size, 0, 0, 0, 0}, - { 0, 0, _image808_size, 0, 0, 0, 0}, - {0x44, 0, _image809_size, 0, 0, 0, 0}, - {0x44, 0, _image810_size, 0, 0, 0, 0}, - {0x44, 0, _image811_size, 0, 0, 0, 0}, - { 0, 0, _image812_size, 0, 0, 0, 0}, - { 0, 0, _image813_size, 0, 0, 0, 0}, - { 0, 0, _image814_size, 0, 0, 0, 0}, - { 0, 0, _image815_size, 0, 0, 0, 0}, - { 0, 0, _image816_size, 0, 0, 0, 0}, - { 0, 0, _image817_size, 0, 0, 0, 0}, - {0x33, 0, _image818_size, 0, 0, 0, 0}, - {0xAA, 0, _image819_size, 0, 0, 0, 0}, - {0x33, 0, _image820_size, 0, 0, 0, 0}, - {0x33, 0, _image821_size, 0, 0, 0, 0}, - { 0, 0, _image822_size, 0, 0, 0, 0}, - { 0, 0, _image823_size, 0, 0, 0, 0}, - { 0, 0, _image824_size, 0, 0, 0, 0}, - { 0, 0, _image825_size, 0, 0, 0, 0}, - { 0, 0, _image826_size, 0, 0, 0, 0}, - { 0, 0, _image827_size, 0, 0, 0, 0}, - { 0, 0, _image828_size, 0, 0, 0, 0}, - { 0, 0, _image829_size, 0, 0, 0, 0}, - { 0, 0, _image830_size, 0, 0, 0, 0}, - { 0, 0, _image831_size, 0, 0, 0, 0}, - { 0, 0, _image832_size, 0, 0, 0, 0}, - { 0, 0, _image833_size, 0, 0, 0, 0}, - { 0, 0, _image834_size, 0, 0, 0, 0}, - { 0, 0, _image835_size, 0, 0, 0, 0}, - { 0, 0, _image836_size, 0, 0, 0, 0}, - {0xAA, 0, _image837_size, 0, 0, 0, 0}, - { 0, 0, _image838_size, 0, 0, 0, 0}, - { 0, 0, _image839_size, 0, 0, 0, 0}, - { 0, 0, _image840_size, 0, 0, 0, 0}, - { 0, 0, _image841_size, 0, 0, 0, 0}, - { 0, 0, _image842_size, 0, 0, 0, 0}, - {0xAA, 0, _image843_size, 0, 0, 0, 0}, - {0xAA, 0, _image844_size, 0, 0, 0, 0}, - {0xAA, 0, _image845_size, 0, 0, 0, 0}, - {0x33, 0, _image846_size, 0, 0, 0, 0}, - {0x33, 0, _image847_size, 0, 0, 0, 0}, - {0x33, 0, _image848_size, 0, 0, 0, 0}, - {0x33, 0, _image849_size, 0, 0, 0, 0}, - { 0, 0, _image850_size, 0, 0, 0, 0}, - { 0, 0, _image851_size, 0, 0, 0, 0}, - { 0, 0, _image852_size, 0, 0, 0, 0}, - { 0, 0, _image853_size, 0, 0, 0, 0}, - { 0, 0, _image854_size, 0, 0, 0, 0}, - { 0, 0, _image855_size, 0, 0, 0, 0}, - { 0, 0, _image856_size, 0, 0, 0, 0}, - {0x44, 0, _image857_size, 0, 0, 0, 0}, - {0xAA, 0, _image858_size, 0, 0, 0, 0}, - {0xAA, 0, _image859_size, 0, 0, 0, 0}, - {0x33, 0, _image860_size, 0, 0, 0, 0}, - {0x33, 0, _image861_size, 0, 0, 0, 0}, - {0x33, 0, _image862_size, 0, 0, 0, 0}, - {0x33, 0, _image863_size, 0, 0, 0, 0}, - { 0, 0, _image864_size, 0, 0, 0, 0}, - {0x44, 0, _image865_size, 0, 0, 0, 0}, - {0x44, 0, _image866_size, 0, 0, 0, 0}, - {0x22, 0, _image867_size, 0, 0, 0, 0}, - {0x99, 0, _image868_size, 0, 0, 0, 0}, - {0x99, 0, _image869_size, 0, 0, 0, 0}, - {0xAA, 0, _image870_size, 0, 0, 0, 0}, - { 0, 0, _image871_size, 0, 0, 0, 0}, - { 0, 0, _image872_size, 0, 0, 0, 0}, - { 0, 0, _image873_size, 0, 0, 0, 0}, - { 0, 0, _image874_size, 0, 0, 0, 0}, - { 0, 0, _image875_size, 0, 0, 0, 0}, - { 0, 0, _image876_size, 0, 0, 0, 0}, - { 0, 0, _image877_size, 0, 0, 0, 0}, - { 0, 0, _image878_size, 0, 0, 0, 0}, - { 0, 0, _image879_size, 0, 0, 0, 0}, - { 0, 0, _image880_size, 0, 0, 0, 0}, - { 0, 0, _image881_size, 0, 0, 0, 0}, - { 0, 0, _image882_size, 0, 0, 0, 0}, - { 0, 0, _image883_size, 0, 0, 0, 0}, - { 0, 0, _image884_size, 0, 0, 0, 0}, - { 0, 0, _image885_size, 0, 0, 0, 0}, - { 0, 0, _image886_size, 0, 0, 0, 0}, - { 0, 0, _image887_size, 0, 0, 0, 0}, - { 0, 0, _image888_size, 0, 0, 0, 0}, - {0x33, 0, _image889_size, 0, 0, 0, 0}, - {0xAA, 0, _image890_size, 0, 0, 0, 0}, - {0xAA, 0, _image891_size, 0, 0, 0, 0}, - {0xAA, 0, _image892_size, 0, 0, 0, 0}, - {0xAA, 0, _image893_size, 0, 0, 0, 0}, - {0xAA, 0, _image894_size, 0, 0, 0, 0}, - {0xAA, 0, _image895_size, 0, 0, 0, 0}, - { 0, 0, _image896_size, 0, 0, 0, 0}, - { 0, 0, _image897_size, 0, 0, 0, 0}, - { 0, 0, _image898_size, 0, 0, 0, 0}, - { 0, 0, _image899_size, 0, 0, 0, 0}, - { 0, 0, _image900_size, 0, 0, 0, 0}, - {0x99, 0, _image901_size, 0, 0, 0, 0}, - {0x99, 0, _image902_size, 0, 0, 0, 0}, - {0x99, 0, _image903_size, 0, 0, 0, 0}, - {0x99, 0, _image904_size, 0, 0, 0, 0}, - { 0, 0, _image905_size, 0, 0, 0, 0}, - { 0, 0, _image906_size, 0, 0, 0, 0}, - { 0, 0, _image907_size, 0, 0, 0, 0}, - { 0, 0, _image908_size, 0, 0, 0, 0}, - { 0, 0, _image909_size, 0, 0, 0, 0}, - {0x33, 0, _image910_size, 0, 0, 0, 0}, - {0x33, 0, _image911_size, 0, 0, 0, 0}, - {0x33, 0, _image912_size, 0, 0, 0, 0}, - {0x33, 0, _image913_size, 0, 0, 0, 0}, - {0x33, 0, _image914_size, 0, 0, 0, 0}, - {0x33, 0, _image915_size, 0, 0, 0, 0}, - {0x33, 0, _image916_size, 0, 0, 0, 0}, - {0x33, 0, _image917_size, 0, 0, 0, 0}, - {0x33, 0, _image918_size, 0, 0, 0, 0}, - {0x33, 0, _image919_size, 0, 0, 0, 0}, - {0xAA, 0, _image920_size, 0, 0, 0, 0}, - {0x33, 0, _image921_size, 0, 0, 0, 0}, - {0x33, 0, _image922_size, 0, 0, 0, 0}, - {0x33, 0, _image923_size, 0, 0, 0, 0}, - {0x33, 0, _image924_size, 0, 0, 0, 0}, - { 0, 0, _image925_size, 0, 0, 0, 0}, - { 0, 0, _image926_size, 0, 0, 0, 0}, - { 0, 0, _image927_size, 0, 0, 0, 0}, - { 0, 0, _image928_size, 0, 0, 0, 0}, - { 0, 0, _image929_size, 0, 0, 0, 0}, - { 0, 0, _image930_size, 0, 0, 0, 0}, - { 0, 0, _image931_size, 0, 0, 0, 0}, - { 0, 0, _image932_size, 0, 0, 0, 0}, - { 0, 0, _image933_size, 0, 0, 0, 0}, - { 0, 0, _image934_size, 0, 0, 0, 0}, - { 0, 0, _image935_size, 0, 0, 0, 0}, - { 0, 0, _image936_size, 0, 0, 0, 0}, - { 0, 0, _image937_size, 0, 0, 0, 0}, - { 0, 0, _image938_size, 0, 0, 0, 0}, - { 0, 0, _image939_size, 0, 0, 0, 0}, - { 0, 0, _image940_size, 0, 0, 0, 0}, - { 0, 0, _image941_size, 0, 0, 0, 0}, - { 0, 0, _image942_size, 0, 0, 0, 0}, - { 0, 0, _image943_size, 0, 0, 0, 0}, - { 0, 0, _image944_size, 0, 0, 0, 0}, - { 0, 0, _image945_size, 0, 0, 0, 0}, - { 0, 0, _image946_size, 0, 0, 0, 0}, - { 0, 0, _image947_size, 0, 0, 0, 0}, - { 0, 0, _image948_size, 0, 0, 0, 0}, - { 0, 0, _image949_size, 0, 0, 0, 0}, - { 0, 0, _image950_size, 0, 0, 0, 0}, - { 0, 0, _image951_size, 0, 0, 0, 0}, - { 0, 0, _image952_size, 0, 0, 0, 0}, - { 0, 0, _image953_size, 0, 0, 0, 0}, - { 0, 0, _image954_size, 0, 0, 0, 0}, - { 0, 0, _image955_size, 0, 0, 0, 0}, - { 0, 0, _image956_size, 0, 0, 0, 0}, - { 0, 0, _image957_size, 0, 0, 0, 0}, - { 0, 0, _image958_size, 0, 0, 0, 0}, - { 0, 0, _image959_size, 0, 0, 0, 0}, - {0x77, 0, _image960_size, 0, 0, 0, 0}, - {0x77, 0, _image961_size, 0, 0, 0, 0}, - {0x11, 0, _image962_size, 0, 0, 0, 0}, - {0x11, 0, _image963_size, 0, 0, 0, 0}, - {0x11, 0, _image964_size, 0, 0, 0, 0}, - {0x11, 0, _image965_size, 0, 0, 0, 0}, - {0x11, 0, _image966_size, 0, 0, 0, 0}, - {0x11, 0, _image967_size, 0, 0, 0, 0}, - {0x11, 0, _image968_size, 0, 0, 0, 0}, - {0x11, 0, _image969_size, 0, 0, 0, 0}, - {0x77, 0, _image970_size, 0, 0, 0, 0}, - {0x77, 0, _image971_size, 0, 0, 0, 0}, - {0x77, 0, _image972_size, 0, 0, 0, 0}, - {0x77, 0, _image973_size, 0, 0, 0, 0}, - {0x77, 0, _image974_size, 0, 0, 0, 0}, - {0x77, 0, _image975_size, 0, 0, 0, 0}, - {0x77, 0, _image976_size, 0, 0, 0, 0}, - {0x77, 0, _image977_size, 0, 0, 0, 0}, - {0x77, 0, _image978_size, 0, 0, 0, 0}, - {0x77, 0, _image979_size, 0, 0, 0, 0}, - {0x77, 0, _image980_size, 0, 0, 0, 0}, - {0x77, 0, _image981_size, 0, 0, 0, 0}, - {0x77, 0, _image982_size, 0, 0, 0, 0}, - { 0, 0, _image983_size, 0, 0, 0, 0}, - {0xAA, 0, _image984_size, 0, 0, 0, 0}, - {0xAA, 0, _image985_size, 0, 0, 0, 0}, - { 0, 0, _image986_size, 0, 0, 0, 0}, - { 0, 0, _image987_size, 0, 0, 0, 0}, - { 0, 0, _image988_size, 0, 0, 0, 0}, - { 0, 0, _image989_size, 0, 0, 0, 0}, - { 0, 0, _image990_size, 0, 0, 0, 0}, - { 0, 0, _image991_size, 0, 0, 0, 0}, - { 0, 0, _image992_size, 0, 0, 0, 0}, - { 0, 0, _image993_size, 0, 0, 0, 0}, - { 0, 0, _image994_size, 0, 0, 0, 0}, - { 0, 0, _image995_size, 0, 0, 0, 0}, - { 0, 0, _image996_size, 0, 0, 0, 0}, - { 0, 0, _image997_size, 0, 0, 0, 0}, - { 0, 0, _image998_size, 0, 0, 0, 0}, - { 0, 0, _image999_size, 0, 0, 0, 0}, - {0x33, 0, _image1000_size, 0, 0, 0, 0}, - {0x33, 0, _image1001_size, 0, 0, 0, 0}, - {0x33, 0, _image1002_size, 0, 0, 0, 0}, - {0x33, 0, _image1003_size, 0, 0, 0, 0}, - {0x33, 0, _image1004_size, 0, 0, 0, 0}, - { 0, 0, _image1005_size, 0, 0, 0, 0}, - { 0, 0, _image1006_size, 0, 0, 0, 0}, - { 0, 0, _image1007_size, 0, 0, 0, 0}, - { 0, 0, _image1008_size, 0, 0, 0, 0}, - { 0, 0, _image1009_size, 0, 0, 0, 0}, - {0x77, 0, _image1010_size, 0, 0, 0, 0}, - {0x77, 0, _image1011_size, 0, 0, 0, 0}, - {0xAA, 0, _image1012_size, 0, 0, 0, 0}, - {0xAA, 0, _image1013_size, 0, 0, 0, 0}, - {0xAA, 0, _image1014_size, 0, 0, 0, 0}, - { 0, 0, _image1015_size, 0, 0, 0, 0}, - { 0, 0, _image1016_size, 0, 0, 0, 0}, - {0x33, 0, _image1017_size, 0, 0, 0, 0}, - {0x33, 0, _image1018_size, 0, 0, 0, 0}, - {0x33, 0, _image1019_size, 0, 0, 0, 0}, - {0x77, 0, _image1020_size, 0, 0, 0, 0}, - { 0, 0, _image1021_size, 0, 0, 0, 0}, - {0xAA, 0, _image1022_size, 0, 0, 0, 0}, - {0x11, 0, _image1023_size, 0, 0, 0, 0}, - {0x22, 0, _image1024_size, 0, 0, 0, 0}, - {0x22, 0, _image1025_size, 0, 0, 0, 0}, - { 0, 0, _image1026_size, 0, 0, 0, 0}, - {0xAA, 0, _image1027_size, 0, 0, 0, 0}, - { 0, 0, _image1028_size, 0, 0, 0, 0}, - { 0, 0, _image1029_size, 0, 0, 0, 0}, - { 0, 0, _image1030_size, 0, 0, 0, 0}, - { 0, 0, _image1031_size, 0, 0, 0, 0}, - {0xAA, 0, _image1032_size, 0, 0, 0, 0}, - { 0, 0, _image1033_size, 0, 0, 0, 0}, - { 0, 0, _image1034_size, 0, 0, 0, 0}, - { 0, 0, _image1035_size, 0, 0, 0, 0}, - { 0, 0, _image1036_size, 0, 0, 0, 0}, - { 0, 0, _image1037_size, 0, 0, 0, 0}, - { 0, 0, _image1038_size, 0, 0, 0, 0}, - { 0, 0, _image1039_size, 0, 0, 0, 0}, - { 0, 0, _image1040_size, 0, 0, 0, 0}, - { 0, 0, _image1041_size, 0, 0, 0, 0}, - { 0, 0, _image1042_size, 0, 0, 0, 0}, - { 0, 0, _image1043_size, 0, 0, 0, 0}, - { 0, 0, _image1044_size, 0, 0, 0, 0}, - { 0, 0, _image1045_size, 0, 0, 0, 0}, - { 0, 0, _image1046_size, 0, 0, 0, 0}, - { 0, 0, _image1047_size, 0, 0, 0, 0}, - { 0, 0, _image1048_size, 0, 0, 0, 0}, - {0x11, 0, _image1049_size, 0, 0, 0, 0}, - { 0, 0, _image1050_size, 0, 0, 0, 0}, - { 0, 0, _image1051_size, 0, 0, 0, 0}, - { 0, 0, _image1052_size, 0, 0, 0, 0}, - { 0, 0, _image1053_size, 0, 0, 0, 0}, - { 0, 0, _image1054_size, 0, 0, 0, 0}, - { 0, 0, _image1055_size, 0, 0, 0, 0}, - { 0, 0, _image1056_size, 0, 0, 0, 0}, - { 0, 0, _image1057_size, 0, 0, 0, 0}, - { 0, 0, _image1058_size, 0, 0, 0, 0}, - { 0, 0, _image1059_size, 0, 0, 0, 0}, - { 0, 0, _image1060_size, 0, 0, 0, 0}, - { 0, 0, _image1061_size, 0, 0, 0, 0}, - { 0, 0, _image1062_size, 0, 0, 0, 0}, - {0xAA, 0, _image1063_size, 0, 0, 0, 0}, - {0xAA, 0, _image1064_size, 0, 0, 0, 0}, - {0xAA, 0, _image1065_size, 0, 0, 0, 0}, - {0xAA, 0, _image1066_size, 0, 0, 0, 0}, - { 0, 0, _image1067_size, 0, 0, 0, 0}, - { 0, 0, _image1068_size, 0, 0, 0, 0}, - {0xAA, 0, _image1069_size, 0, 0, 0, 0}, - {0xAA, 0, _image1070_size, 0, 0, 0, 0}, - {0xAA, 0, _image1071_size, 0, 0, 0, 0}, - {0xAA, 0, _image1072_size, 0, 0, 0, 0}, - {0xAA, 0, _image1073_size, 0, 0, 0, 0}, - {0xAA, 0, _image1074_size, 0, 0, 0, 0}, - {0xAA, 0, _image1075_size, 0, 0, 0, 0}, - {0xAA, 0, _image1076_size, 0, 0, 0, 0}, - {0xAA, 0, _image1077_size, 0, 0, 0, 0}, - {0x44, 0, _image1078_size, 0, 0, 0, 0}, - { 0, 0, _image1079_size, 0, 0, 0, 0}, - { 0, 0, _image1080_size, 0, 0, 0, 0}, - {0xAA, 0, _image1081_size, 0, 0, 0, 0}, - {0xAA, 0, _image1082_size, 0, 0, 0, 0}, - {0xAA, 0, _image1083_size, 0, 0, 0, 0}, - { 0, 0, _image1084_size, 0, 0, 0, 0}, - { 0, 0, _image1085_size, 0, 0, 0, 0}, - { 0, 0, _image1086_size, 0, 0, 0, 0}, - { 0, 0, _image1087_size, 0, 0, 0, 0}, - { 0, 0, _image1088_size, 0, 0, 0, 0}, - { 0, 0, _image1089_size, 0, 0, 0, 0}, - { 0, 0, _image1090_size, 0, 0, 0, 0}, - {0xAA, 0, _image1091_size, 0, 0, 0, 0}, - {0x33, 0, _image1092_size, 0, 0, 0, 0}, - {0x33, 0, _image1093_size, 0, 0, 0, 0}, - {0x33, 0, _image1094_size, 0, 0, 0, 0}, - {0x33, 0, _image1095_size, 0, 0, 0, 0}, - {0x33, 0, _image1096_size, 0, 0, 0, 0}, - {0x33, 0, _image1097_size, 0, 0, 0, 0}, - {0x33, 0, _image1098_size, 0, 0, 0, 0}, - {0x33, 0, _image1099_size, 0, 0, 0, 0}, - {0x33, 0, _image1100_size, 0, 0, 0, 0}, - {0x33, 0, _image1101_size, 0, 0, 0, 0}, - {0x33, 0, _image1102_size, 0, 0, 0, 0}, - { 0, 0, _image1103_size, 0, 0, 0, 0}, - { 0, 0, _image1104_size, 0, 0, 0, 0}, - { 0, 0, _image1105_size, 0, 0, 0, 0}, - { 0, 0, _image1106_size, 0, 0, 0, 0}, - { 0, 0, _image1107_size, 0, 0, 0, 0}, - { 0, 0, _image1108_size, 0, 0, 0, 0}, - { 0, 0, _image1109_size, 0, 0, 0, 0}, - { 0, 0, _image1110_size, 0, 0, 0, 0}, - { 0, 0, _image1111_size, 0, 0, 0, 0}, - { 0, 0, _image1112_size, 0, 0, 0, 0}, - { 0, 0, _image1113_size, 0, 0, 0, 0}, - { 0, 0, _image1114_size, 0, 0, 0, 0}, - { 0, 0, _image1115_size, 0, 0, 0, 0}, - { 0, 0, _image1116_size, 0, 0, 0, 0}, - {0x33, 0, _image1117_size, 0, 0, 0, 0}, - {0x33, 0, _image1118_size, 0, 0, 0, 0}, - { 0, 0, _image1119_size, 0, 0, 0, 0}, - {0x77, 0, _image1120_size, 0, 0, 0, 0}, - {0x77, 0, _image1121_size, 0, 0, 0, 0}, - {0x77, 0, _image1122_size, 0, 0, 0, 0}, - {0x77, 0, _image1123_size, 0, 0, 0, 0}, - {0x77, 0, _image1124_size, 0, 0, 0, 0}, - {0x77, 0, _image1125_size, 0, 0, 0, 0}, - { 0, 0, _image1126_size, 0, 0, 0, 0}, - { 0, 0, _image1127_size, 0, 0, 0, 0}, - {0x77, 0, _image1128_size, 0, 0, 0, 0}, - {0x11, 0, _image1129_size, 0, 0, 0, 0}, - {0x11, 0, _image1130_size, 0, 0, 0, 0}, - { 0, 0, _image1131_size, 0, 0, 0, 0}, - { 0, 0, _image1132_size, 0, 0, 0, 0}, - { 0, 0, _image1133_size, 0, 0, 0, 0}, - {0x11, 0, _image1134_size, 0, 0, 0, 0}, - {0x11, 0, _image1135_size, 0, 0, 0, 0}, - {0x22, 0, _image1136_size, 0, 0, 0, 0}, - {0x22, 0, _image1137_size, 0, 0, 0, 0}, - {0x22, 0, _image1138_size, 0, 0, 0, 0}, - {0x33, 0, _image1139_size, 0, 0, 0, 0}, - {0x33, 0, _image1140_size, 0, 0, 0, 0}, - {0x33, 0, _image1141_size, 0, 0, 0, 0}, - { 0, 0, _image1142_size, 0, 0, 0, 0}, - { 0, 0, _image1143_size, 0, 0, 0, 0}, - { 0, 0, _image1144_size, 0, 0, 0, 0}, - { 0, 0, _image1145_size, 0, 0, 0, 0}, - { 0, 0, _image1146_size, 0, 0, 0, 0}, - {0x77, 0, _image1147_size, 0, 0, 0, 0}, - { 0, 0, _image1148_size, 0, 0, 0, 0}, - { 0, 0, _image1149_size, 0, 0, 0, 0}, - { 0, 0, _image1150_size, 0, 0, 0, 0}, - {0x33, 0, _image1151_size, 0, 0, 0, 0}, - {0x33, 0, _image1152_size, 0, 0, 0, 0}, - {0x33, 0, _image1153_size, 0, 0, 0, 0}, - { 0, 0, _image1154_size, 0, 0, 0, 0}, - { 0, 0, _image1155_size, 0, 0, 0, 0}, - {0x77, 0, _image1156_size, 0, 0, 0, 0}, - {0xAA, 0, _image1157_size, 0, 0, 0, 0}, - {0x66, 0, _image1158_size, 0, 0, 0, 0}, - {0xAA, 0, _image1159_size, 0, 0, 0, 0}, - {0xAA, 0, _image1160_size, 0, 0, 0, 0}, - {0xAA, 0, _image1161_size, 0, 0, 0, 0}, - {0xAA, 0, _image1162_size, 0, 0, 0, 0}, - {0xAA, 0, _image1163_size, 0, 0, 0, 0}, - {0xAA, 0, _image1164_size, 0, 0, 0, 0}, - {0xAA, 0, _image1165_size, 0, 0, 0, 0}, - { 0, 0, _image1166_size, 0, 0, 0, 0}, - {0xAA, 0, _image1167_size, 0, 0, 0, 0}, - {0xAA, 0, _image1168_size, 0, 0, 0, 0}, - {0xAA, 0, _image1169_size, 0, 0, 0, 0}, - { 0, 0, _image1170_size, 0, 0, 0, 0}, - {0xAA, 0, _image1171_size, 0, 0, 0, 0}, - {0xAA, 0, _image1172_size, 0, 0, 0, 0}, - { 0, 0, _image1173_size, 0, 0, 0, 0}, - {0x11, 0, _image1174_size, 0, 0, 0, 0}, - {0x11, 0, _image1175_size, 0, 0, 0, 0}, - {0x11, 0, _image1176_size, 0, 0, 0, 0}, - {0x33, 0, _image1177_size, 0, 0, 0, 0}, - {0x33, 0, _image1178_size, 0, 0, 0, 0}, - {0x33, 0, _image1179_size, 0, 0, 0, 0}, - {0x33, 0, _image1180_size, 0, 0, 0, 0}, - {0x33, 0, _image1181_size, 0, 0, 0, 0}, - {0x33, 0, _image1182_size, 0, 0, 0, 0}, - {0x33, 0, _image1183_size, 0, 0, 0, 0}, - {0x33, 0, _image1184_size, 0, 0, 0, 0}, - { 0, 0, _image1185_size, 0, 0, 0, 0}, - { 0, 0, _image1186_size, 0, 0, 0, 0}, - { 0, 0, _image1187_size, 0, 0, 0, 0}, - { 0, 0, _image1188_size, 0, 0, 0, 0}, - { 0, 0, _image1189_size, 0, 0, 0, 0}, - { 0, 0, _image1190_size, 0, 0, 0, 0}, - { 0, 0, _image1191_size, 0, 0, 0, 0}, - {0xAA, 0, _image1192_size, 0, 0, 0, 0}, - { 0, 0, _image1193_size, 0, 0, 0, 0}, - {0xAA, 0, _image1194_size, 0, 0, 0, 0}, - {0x33, 0, _image1195_size, 0, 0, 0, 0}, - {0xAA, 0, _image1196_size, 0, 0, 0, 0}, - { 0, 0, _image1197_size, 0, 0, 0, 0}, - {0x33, 0, _image1198_size, 0, 0, 0, 0}, - { 0, 0, _image1199_size, 0, 0, 0, 0}, - { 0, 0, _image1200_size, 0, 0, 0, 0}, - { 0, 0, _image1201_size, 0, 0, 0, 0}, - { 0, 0, _image1202_size, 0, 0, 0, 0}, - {0x33, 0, _image1203_size, 0, 0, 0, 0}, - {0x22, 0, _image1204_size, 0, 0, 0, 0}, - {0x22, 0, _image1205_size, 0, 0, 0, 0}, - {0x22, 0, _image1206_size, 0, 0, 0, 0}, - { 0, 0, _image1207_size, 0, 0, 0, 0}, - { 0, 0, _image1208_size, 0, 0, 0, 0}, - { 0, 0, _image1209_size, 0, 0, 0, 0}, - { 0, 0, _image1210_size, 0, 0, 0, 0}, - { 0, 0, _image1211_size, 0, 0, 0, 0}, - { 0, 0, _image1212_size, 0, 0, 0, 0}, - { 0, 0, _image1213_size, 0, 0, 0, 0}, - { 0, 0, _image1214_size, 0, 0, 0, 0}, - {0xAA, 0, _image1215_size, 0, 0, 0, 0}, - {0x22, 0, _image1216_size, 0, 0, 0, 0}, - {0x22, 0, _image1217_size, 0, 0, 0, 0}, - { 0, 0, _image1218_size, 0, 0, 0, 0}, - { 0, 0, _image1219_size, 0, 0, 0, 0}, - { 0, 0, _image1220_size, 0, 0, 0, 0}, - {0x33, 0, _image1221_size, 0, 0, 0, 0}, - { 0, 0, _image1222_size, 0, 0, 0, 0}, - { 0, 0, _image1223_size, 0, 0, 0, 0}, - { 0, 0, _image1224_size, 0, 0, 0, 0}, - { 0, 0, _image1225_size, 0, 0, 0, 0}, - { 0, 0, _image1226_size, 0, 0, 0, 0}, - { 0, 0, _image1227_size, 0, 0, 0, 0}, - { 0, 0, _image1228_size, 0, 0, 0, 0}, - { 0, 0, _image1229_size, 0, 0, 0, 0}, - { 0, 0, _image1230_size, 0, 0, 0, 0}, - {0x33, 0, _image1231_size, 0, 0, 0, 0}, - {0x33, 0, _image1232_size, 0, 0, 0, 0}, - {0x33, 0, _image1233_size, 0, 0, 0, 0}, - {0x33, 0, _image1234_size, 0, 0, 0, 0}, - {0x33, 0, _image1235_size, 0, 0, 0, 0}, - {0x33, 0, _image1236_size, 0, 0, 0, 0}, - {0x33, 0, _image1237_size, 0, 0, 0, 0}, - {0x33, 0, _image1238_size, 0, 0, 0, 0}, - {0x33, 0, _image1239_size, 0, 0, 0, 0}, - {0x33, 0, _image1240_size, 0, 0, 0, 0}, - {0x33, 0, _image1241_size, 0, 0, 0, 0}, - {0x33, 0, _image1242_size, 0, 0, 0, 0}, - {0xAA, 0, _image1243_size, 0, 0, 0, 0}, - {0x33, 0, _image1244_size, 0, 0, 0, 0}, - {0x33, 0, _image1245_size, 0, 0, 0, 0}, - {0x33, 0, _image1246_size, 0, 0, 0, 0}, - {0x33, 0, _image1247_size, 0, 0, 0, 0}, - { 0, 0, _image1248_size, 0, 0, 0, 0}, - {0x33, 0, _image1249_size, 0, 0, 0, 0}, - { 0, 0, _image1250_size, 0, 0, 0, 0}, - { 0, 0, _image1251_size, 0, 0, 0, 0}, - { 0, 0, _image1252_size, 0, 0, 0, 0}, - { 0, 0, _image1253_size, 0, 0, 0, 0}, - { 0, 0, _image1254_size, 0, 0, 0, 0}, - { 0, 0, _image1255_size, 0, 0, 0, 0}, - { 0, 0, _image1256_size, 0, 0, 0, 0}, - {0x22, 0, _image1257_size, 0, 0, 0, 0}, - { 0, 0, _image1258_size, 0, 0, 0, 0}, - { 0, 0, _image1259_size, 0, 0, 0, 0}, - { 0, 0, _image1260_size, 0, 0, 0, 0}, - {0x44, 0, _image1261_size, 0, 0, 0, 0}, - {0x22, 0, _image1262_size, 0, 0, 0, 0}, - {0xAA, 0, _image1263_size, 0, 0, 0, 0}, - {0x11, 0, _image1264_size, 0, 0, 0, 0}, - {0x11, 0, _image1265_size, 0, 0, 0, 0}, - {0x11, 0, _image1266_size, 0, 0, 0, 0}, - {0x11, 0, _image1267_size, 0, 0, 0, 0}, - {0x11, 0, _image1268_size, 0, 0, 0, 0}, - { 0, 0, _image1269_size, 0, 0, 0, 0}, - {0xAA, 0, _image1270_size, 0, 0, 0, 0}, - { 0, 0, _image1271_size, 0, 0, 0, 0}, - { 0, 0, _image1272_size, 0, 0, 0, 0}, - { 0, 0, _image1273_size, 0, 0, 0, 0}, - { 0, 0, _image1274_size, 0, 0, 0, 0}, - { 0, 0, _image1275_size, 0, 0, 0, 0}, - { 0, 0, _image1276_size, 0, 0, 0, 0}, - { 0, 0, _image1277_size, 0, 0, 0, 0}, - { 0, 0, _image1278_size, 0, 0, 0, 0}, - { 0, 0, _image1279_size, 0, 0, 0, 0}, - { 0, 0, _image1280_size, 0, 0, 0, 0}, - {0x11, 0, _image1281_size, 0, 0, 0, 0}, - {0x22, 0, _image1282_size, 0, 0, 0, 0}, - {0x22, 0, _image1283_size, 0, 0, 0, 0}, - { 0, 0, _image1284_size, 0, 0, 0, 0}, - { 0, 0, _image1285_size, 0, 0, 0, 0}, - {0x11, 0, _image1286_size, 0, 0, 0, 0}, - {0x11, 0, _image1287_size, 0, 0, 0, 0}, - {0x11, 0, _image1288_size, 0, 0, 0, 0}, - {0x11, 0, _image1289_size, 0, 0, 0, 0}, - {0x11, 0, _image1290_size, 0, 0, 0, 0}, - {0x11, 0, _image1291_size, 0, 0, 0, 0}, - {0x11, 0, _image1292_size, 0, 0, 0, 0}, - {0x11, 0, _image1293_size, 0, 0, 0, 0}, - {0x11, 0, _image1294_size, 0, 0, 0, 0}, - {0x11, 0, _image1295_size, 0, 0, 0, 0}, - {0x11, 0, _image1296_size, 0, 0, 0, 0}, - {0x11, 0, _image1297_size, 0, 0, 0, 0}, - {0x11, 0, _image1298_size, 0, 0, 0, 0}, - {0x11, 0, _image1299_size, 0, 0, 0, 0}, - {0x11, 0, _image1300_size, 0, 0, 0, 0}, - {0x11, 0, _image1301_size, 0, 0, 0, 0}, - {0x11, 0, _image1302_size, 0, 0, 0, 0}, - {0x11, 0, _image1303_size, 0, 0, 0, 0}, - {0x11, 0, _image1304_size, 0, 0, 0, 0}, - {0x11, 0, _image1305_size, 0, 0, 0, 0}, - {0x11, 0, _image1306_size, 0, 0, 0, 0}, - {0x11, 0, _image1307_size, 0, 0, 0, 0}, - {0x11, 0, _image1308_size, 0, 0, 0, 0}, - {0x11, 0, _image1309_size, 0, 0, 0, 0}, - {0x11, 0, _image1310_size, 0, 0, 0, 0}, - {0x11, 0, _image1311_size, 0, 0, 0, 0}, - {0x11, 0, _image1312_size, 0, 0, 0, 0}, - {0x11, 0, _image1313_size, 0, 0, 0, 0}, - {0x11, 0, _image1314_size, 0, 0, 0, 0}, - {0x11, 0, _image1315_size, 0, 0, 0, 0}, - {0x11, 0, _image1316_size, 0, 0, 0, 0}, - {0x11, 0, _image1317_size, 0, 0, 0, 0}, - {0x11, 0, _image1318_size, 0, 0, 0, 0}, - {0x11, 0, _image1319_size, 0, 0, 0, 0}, - {0x11, 0, _image1320_size, 0, 0, 0, 0}, - {0x11, 0, _image1321_size, 0, 0, 0, 0}, - {0x11, 0, _image1322_size, 0, 0, 0, 0}, - {0x11, 0, _image1323_size, 0, 0, 0, 0}, - {0x11, 0, _image1324_size, 0, 0, 0, 0}, - {0x11, 0, _image1325_size, 0, 0, 0, 0}, - {0x11, 0, _image1326_size, 0, 0, 0, 0}, - {0x11, 0, _image1327_size, 0, 0, 0, 0}, - {0x11, 0, _image1328_size, 0, 0, 0, 0}, - {0x11, 0, _image1329_size, 0, 0, 0, 0}, - {0x11, 0, _image1330_size, 0, 0, 0, 0}, - {0x11, 0, _image1331_size, 0, 0, 0, 0}, - {0x11, 0, _image1332_size, 0, 0, 0, 0}, - {0x11, 0, _image1333_size, 0, 0, 0, 0}, - {0x11, 0, _image1334_size, 0, 0, 0, 0}, - {0x11, 0, _image1335_size, 0, 0, 0, 0}, - {0x11, 0, _image1336_size, 0, 0, 0, 0}, - {0x11, 0, _image1337_size, 0, 0, 0, 0}, - {0x11, 0, _image1338_size, 0, 0, 0, 0}, - {0x11, 0, _image1339_size, 0, 0, 0, 0}, - {0x11, 0, _image1340_size, 0, 0, 0, 0}, - {0x11, 0, _image1341_size, 0, 0, 0, 0}, - {0x11, 0, _image1342_size, 0, 0, 0, 0}, - {0x11, 0, _image1343_size, 0, 0, 0, 0}, - {0x11, 0, _image1344_size, 0, 0, 0, 0}, - {0x11, 0, _image1345_size, 0, 0, 0, 0}, - {0x11, 0, _image1346_size, 0, 0, 0, 0}, - {0x11, 0, _image1347_size, 0, 0, 0, 0}, - {0x11, 0, _image1348_size, 0, 0, 0, 0}, - {0x11, 0, _image1349_size, 0, 0, 0, 0}, - {0x11, 0, _image1350_size, 0, 0, 0, 0}, - {0x11, 0, _image1351_size, 0, 0, 0, 0}, - {0x11, 0, _image1352_size, 0, 0, 0, 0}, - {0x11, 0, _image1353_size, 0, 0, 0, 0}, - {0x11, 0, _image1354_size, 0, 0, 0, 0}, - {0x11, 0, _image1355_size, 0, 0, 0, 0}, - {0x11, 0, _image1356_size, 0, 0, 0, 0}, - { 0, 0, _image1357_size, 0, 0, 0, 0}, - { 0, 0, _image1358_size, 0, 0, 0, 0}, - {0x11, 0, _image1359_size, 0, 0, 0, 0}, - {0x11, 0, _image1360_size, 0, 0, 0, 0}, - {0x11, 0, _image1361_size, 0, 0, 0, 0}, - {0x11, 0, _image1362_size, 0, 0, 0, 0}, - {0x11, 0, _image1363_size, 0, 0, 0, 0}, - {0x11, 0, _image1364_size, 0, 0, 0, 0}, - {0x11, 0, _image1365_size, 0, 0, 0, 0}, - { 0, 0, _image1366_size, 0, 0, 0, 0}, - { 0, 0, _image1367_size, 0, 0, 0, 0}, - {0x33, 0, _image1368_size, 0, 0, 0, 0}, - {0x33, 0, _image1369_size, 0, 0, 0, 0}, - {0x33, 0, _image1370_size, 0, 0, 0, 0}, - { 0, 0, _image1371_size, 0, 0, 0, 0}, - { 0, 0, _image1372_size, 0, 0, 0, 0}, - { 0, 0, _image1373_size, 0, 0, 0, 0}, - {0xAA, 0, _image1374_size, 0, 0, 0, 0}, - {0xAA, 0, _image1375_size, 0, 0, 0, 0}, - {0x33, 0, _image1376_size, 0, 0, 0, 0}, - {0x33, 0, _image1377_size, 0, 0, 0, 0}, - { 0, 0, _image1378_size, 0, 0, 0, 0}, - { 0, 0, _image1379_size, 0, 0, 0, 0}, - { 0, 0, _image1380_size, 0, 0, 0, 0}, - { 0, 0, _image1381_size, 0, 0, 0, 0}, - { 0, 0, _image1382_size, 0, 0, 0, 0}, - { 0, 0, _image1383_size, 0, 0, 0, 0}, - {0x44, 0, _image1384_size, 0, 0, 0, 0}, - { 0, 0, _image1385_size, 0, 0, 0, 0}, - {0xAA, 0, _image1386_size, 0, 0, 0, 0}, - {0xAA, 0, _image1387_size, 0, 0, 0, 0}, - {0xAA, 0, _image1388_size, 0, 0, 0, 0}, - { 0, 0, _image1389_size, 0, 0, 0, 0}, - { 0, 0, _image1390_size, 0, 0, 0, 0}, - { 0, 0, _image1391_size, 0, 0, 0, 0}, - { 0, 0, _image1392_size, 0, 0, 0, 0}, - { 0, 0, _image1393_size, 0, 0, 0, 0}, - { 0, 0, _image1394_size, 0, 0, 0, 0}, - { 0, 0, _image1395_size, 0, 0, 0, 0}, - { 0, 0, _image1396_size, 0, 0, 0, 0}, - { 0, 0, _image1397_size, 0, 0, 0, 0}, - { 0, 0, _image1398_size, 0, 0, 0, 0}, - { 0, 0, _image1399_size, 0, 0, 0, 0}, - { 0, 0, _image1400_size, 0, 0, 0, 0}, - { 0, 0, _image1401_size, 0, 0, 0, 0}, - { 0, 0, _image1402_size, 0, 0, 0, 0}, - { 0, 0, _image1403_size, 0, 0, 0, 0}, - { 0, 0, _image1404_size, 0, 0, 0, 0}, - { 0, 0, _image1405_size, 0, 0, 0, 0}, - { 0, 0, _image1406_size, 0, 0, 0, 0}, - { 0, 0, _image1407_size, 0, 0, 0, 0}, - { 0, 0, _image1408_size, 0, 0, 0, 0}, - { 0, 0, _image1409_size, 0, 0, 0, 0}, - { 0, 0, _image1410_size, 0, 0, 0, 0}, - { 0, 0, _image1411_size, 0, 0, 0, 0}, - { 0, 0, _image1412_size, 0, 0, 0, 0}, - { 0, 0, _image1413_size, 0, 0, 0, 0}, - { 0, 0, _image1414_size, 0, 0, 0, 0}, - { 0, 0, _image1415_size, 0, 0, 0, 0}, - { 0, 0, _image1416_size, 0, 0, 0, 0}, - { 0, 0, _image1417_size, 0, 0, 0, 0}, - { 0, 0, _image1418_size, 0, 0, 0, 0}, - {0x99, 0, _image1419_size, 0, 0, 0, 0}, - {0xAA, 0, _image1420_size, 0, 0, 0, 0}, - {0xAA, 0, _image1421_size, 0, 0, 0, 0}, - { 0, 0, _image1422_size, 0, 0, 0, 0}, - { 0, 0, _image1423_size, 0, 0, 0, 0}, - { 0, 0, _image1424_size, 0, 0, 0, 0}, - { 0, 0, _image1425_size, 0, 0, 0, 0}, - { 0, 0, _image1426_size, 0, 0, 0, 0}, - {0x33, 0, _image1427_size, 0, 0, 0, 0}, - { 0, 0, _image1428_size, 0, 0, 0, 0}, - { 0, 0, _image1429_size, 0, 0, 0, 0}, - { 0, 0, _image1430_size, 0, 0, 0, 0}, - {0x33, 0, _image1431_size, 0, 0, 0, 0}, - {0x33, 0, _image1432_size, 0, 0, 0, 0}, - {0x33, 0, _image1433_size, 0, 0, 0, 0}, - {0x33, 0, _image1434_size, 0, 0, 0, 0}, - {0x33, 0, _image1435_size, 0, 0, 0, 0}, - {0x44, 0, _image1436_size, 0, 0, 0, 0}, - {0x44, 0, _image1437_size, 0, 0, 0, 0}, - { 0, 0, _image1438_size, 0, 0, 0, 0}, - {0x33, 0, _image1439_size, 0, 0, 0, 0}, - {0x22, 0, _image1440_size, 0, 0, 0, 0}, - {0xAA, 0, _image1441_size, 0, 0, 0, 0}, - { 0, 0, _image1442_size, 0, 0, 0, 0}, - { 0, 0, _image1443_size, 0, 0, 0, 0}, - { 0, 0, _image1444_size, 0, 0, 0, 0}, - { 0, 0, _image1445_size, 0, 0, 0, 0}, - { 0, 0, _image1446_size, 0, 0, 0, 0}, - { 0, 0, _image1447_size, 0, 0, 0, 0}, - { 0, 0, _image1448_size, 0, 0, 0, 0}, - {0xAA, 0, _image1449_size, 0, 0, 0, 0}, - {0x44, 0, _image1450_size, 0, 0, 0, 0}, - {0xAA, 0, _image1451_size, 0, 0, 0, 0}, - {0xAA, 0, _image1452_size, 0, 0, 0, 0}, - {0xAA, 0, _image1453_size, 0, 0, 0, 0}, - {0xAA, 0, _image1454_size, 0, 0, 0, 0}, - {0xAA, 0, _image1455_size, 0, 0, 0, 0}, - { 0, 0, _image1456_size, 0, 0, 0, 0}, - { 0, 0, _image1457_size, 0, 0, 0, 0}, - { 0, 0, _image1458_size, 0, 0, 0, 0}, - { 0, 0, _image1459_size, 0, 0, 0, 0}, - { 0, 0, _image1460_size, 0, 0, 0, 0}, - {0xAA, 0, _image1461_size, 0, 0, 0, 0}, - {0x33, 0, _image1462_size, 0, 0, 0, 0}, - {0x33, 0, _image1463_size, 0, 0, 0, 0}, - {0x33, 0, _image1464_size, 0, 0, 0, 0}, - {0x33, 0, _image1465_size, 0, 0, 0, 0}, - {0x33, 0, _image1466_size, 0, 0, 0, 0}, - { 0, 0, _image1467_size, 0, 0, 0, 0}, - {0x33, 0, _image1468_size, 0, 0, 0, 0}, - {0x11, 0, _image1469_size, 0, 0, 0, 0}, - {0x11, 0, _image1470_size, 0, 0, 0, 0}, - {0x33, 0, _image1471_size, 0, 0, 0, 0}, - { 0, 0, _image1472_size, 0, 0, 0, 0}, - { 0, 0, _image1473_size, 0, 0, 0, 0}, - {0xAA, 0, _image1474_size, 0, 0, 0, 0}, - {0xAA, 0, _image1475_size, 0, 0, 0, 0}, - {0x11, 0, _image1476_size, 0, 0, 0, 0}, - {0x11, 0, _image1477_size, 0, 0, 0, 0}, - {0x11, 0, _image1478_size, 0, 0, 0, 0}, - {0x11, 0, _image1479_size, 0, 0, 0, 0}, - {0x11, 0, _image1480_size, 0, 0, 0, 0}, - { 0, 0, _image1481_size, 0, 0, 0, 0}, - { 0, 0, _image1482_size, 0, 0, 0, 0}, - { 0, 0, _image1483_size, 0, 0, 0, 0}, - { 0, 0, _image1484_size, 0, 0, 0, 0}, - {0x11, 0, _image1485_size, 0, 0, 0, 0}, - {0x11, 0, _image1486_size, 0, 0, 0, 0}, - {0x11, 0, _image1487_size, 0, 0, 0, 0}, - { 0, 0, _image1488_size, 0, 0, 0, 0}, - { 0, 0, _image1489_size, 0, 0, 0, 0}, - { 0, 0, _image1490_size, 0, 0, 0, 0}, - { 0, 0, _image1491_size, 0, 0, 0, 0}, - { 0, 0, _image1492_size, 0, 0, 0, 0}, - { 0, 0, _image1493_size, 0, 0, 0, 0}, - { 0, 0, _image1494_size, 0, 0, 0, 0}, - { 0, 0, _image1495_size, 0, 0, 0, 0}, - { 0, 0, _image1496_size, 0, 0, 0, 0}, - { 0, 0, _image1497_size, 0, 0, 0, 0}, - { 0, 0, _image1498_size, 0, 0, 0, 0}, - { 0, 0, _image1499_size, 0, 0, 0, 0}, - {0x22, 0, _image1500_size, 0, 0, 0, 0}, - {0x22, 0, _image1501_size, 0, 0, 0, 0}, - { 0, 0, _image1502_size, 0, 0, 0, 0}, - { 0, 0, _image1503_size, 0, 0, 0, 0}, - { 0, 0, _image1504_size, 0, 0, 0, 0}, - { 0, 0, _image1505_size, 0, 0, 0, 0}, - { 0, 0, _image1506_size, 0, 0, 0, 0}, - { 0, 0, _image1507_size, 0, 0, 0, 0}, - { 0, 0, _image1508_size, 0, 0, 0, 0}, - {0x55, 0, _image1509_size, 0, 0, 0, 0}, - {0x55, 0, _image1510_size, 0, 0, 0, 0}, - {0x55, 0, _image1511_size, 0, 0, 0, 0}, - {0x55, 0, _image1512_size, 0, 0, 0, 0}, - {0x55, 0, _image1513_size, 0, 0, 0, 0}, - { 0, 0, _image1514_size, 0, 0, 0, 0}, - { 0, 0, _image1515_size, 0, 0, 0, 0}, - {0x44, 0, _image1516_size, 0, 0, 0, 0}, - {0x44, 0, _image1517_size, 0, 0, 0, 0}, - {0x44, 0, _image1518_size, 0, 0, 0, 0}, - {0x44, 0, _image1519_size, 0, 0, 0, 0}, - {0x44, 0, _image1520_size, 0, 0, 0, 0}, - {0x44, 0, _image1521_size, 0, 0, 0, 0}, - {0x44, 0, _image1522_size, 0, 0, 0, 0}, - { 0, 0, _image1523_size, 0, 0, 0, 0}, - {0x22, 0, _image1524_size, 0, 0, 0, 0}, - {0x22, 0, _image1525_size, 0, 0, 0, 0}, - {0x22, 0, _image1526_size, 0, 0, 0, 0}, - {0x22, 0, _image1527_size, 0, 0, 0, 0}, - {0x22, 0, _image1528_size, 0, 0, 0, 0}, - {0x22, 0, _image1529_size, 0, 0, 0, 0}, - {0x22, 0, _image1530_size, 0, 0, 0, 0}, - {0x22, 0, _image1531_size, 0, 0, 0, 0}, - {0x22, 0, _image1532_size, 0, 0, 0, 0}, - {0x22, 0, _image1533_size, 0, 0, 0, 0}, - {0x22, 0, _image1534_size, 0, 0, 0, 0}, - {0x22, 0, _image1535_size, 0, 0, 0, 0}, - {0x22, 0, _image1536_size, 0, 0, 0, 0}, - {0x22, 0, _image1537_size, 0, 0, 0, 0}, - {0x22, 0, _image1538_size, 0, 0, 0, 0}, - {0x22, 0, _image1539_size, 0, 0, 0, 0}, - {0x22, 0, _image1540_size, 0, 0, 0, 0}, - {0x22, 0, _image1541_size, 0, 0, 0, 0}, - { 0, 0, _image1542_size, 0, 0, 0, 0}, - { 0, 0, _image1543_size, 0, 0, 0, 0}, - { 0, 0, _image1544_size, 0, 0, 0, 0}, - { 0, 0, _image1545_size, 0, 0, 0, 0}, - { 0, 0, _image1546_size, 0, 0, 0, 0}, - { 0, 0, _image1547_size, 0, 0, 0, 0}, - { 0, 0, _image1548_size, 0, 0, 0, 0}, - { 0, 0, _image1549_size, 0, 0, 0, 0}, - { 0, 0, _image1550_size, 0, 0, 0, 0}, - { 0, 0, _image1551_size, 0, 0, 0, 0}, - { 0, 0, _image1552_size, 0, 0, 0, 0}, - { 0, 0, _image1553_size, 0, 0, 0, 0}, - { 0, 0, _image1554_size, 0, 0, 0, 0}, - { 0, 0, _image1555_size, 0, 0, 0, 0}, - { 0, 0, _image1556_size, 0, 0, 0, 0}, - { 0, 0, _image1557_size, 0, 0, 0, 0}, - { 0, 0, _image1558_size, 0, 0, 0, 0}, - { 0, 0, _image1559_size, 0, 0, 0, 0}, - { 0, 0, _image1560_size, 0, 0, 0, 0}, - { 0, 0, _image1561_size, 0, 0, 0, 0}, - { 0, 0, _image1562_size, 0, 0, 0, 0}, - { 0, 0, _image1563_size, 0, 0, 0, 0}, - { 0, 0, _image1564_size, 0, 0, 0, 0}, - { 0, 0, _image1565_size, 0, 0, 0, 0}, - { 0, 0, _image1566_size, 0, 0, 0, 0}, - { 0, 0, _image1567_size, 0, 0, 0, 0}, - { 0, 0, _image1568_size, 0, 0, 0, 0}, - { 0, 0, _image1569_size, 0, 0, 0, 0}, - { 0, 0, _image1570_size, 0, 0, 0, 0}, - { 0, 0, _image1571_size, 0, 0, 0, 0}, - { 0, 0, _image1572_size, 0, 0, 0, 0}, - { 0, 0, _image1573_size, 0, 0, 0, 0}, - { 0, 0, _image1574_size, 0, 0, 0, 0}, - { 0, 0, _image1575_size, 0, 0, 0, 0}, - { 0, 0, _image1576_size, 0, 0, 0, 0}, - { 0, 0, _image1577_size, 0, 0, 0, 0}, - { 0, 0, _image1578_size, 0, 0, 0, 0}, - { 0, 0, _image1579_size, 0, 0, 0, 0}, - { 0, 0, _image1580_size, 0, 0, 0, 0}, - { 0, 0, _image1581_size, 0, 0, 0, 0}, - { 0, 0, _image1582_size, 0, 0, 0, 0}, - { 0, 0, _image1583_size, 0, 0, 0, 0}, - { 0, 0, _image1584_size, 0, 0, 0, 0}, - { 0, 0, _image1585_size, 0, 0, 0, 0}, - { 0, 0, _image1586_size, 0, 0, 0, 0}, - { 0, 0, _image1587_size, 0, 0, 0, 0}, - { 0, 0, _image1588_size, 0, 0, 0, 0}, - { 0, 0, _image1589_size, 0, 0, 0, 0}, - { 0, 0, _image1590_size, 0, 0, 0, 0}, - { 0, 0, _image1591_size, 0, 0, 0, 0}, - { 0, 0, _image1592_size, 0, 0, 0, 0}, - { 0, 0, _image1593_size, 0, 0, 0, 0}, - { 0, 0, _image1594_size, 0, 0, 0, 0}, - { 0, 0, _image1595_size, 0, 0, 0, 0}, - { 0, 0, _image1596_size, 0, 0, 0, 0}, - { 0, 0, _image1597_size, 0, 0, 0, 0}, - { 0, 0, _image1598_size, 0, 0, 0, 0}, - { 0, 0, _image1599_size, 0, 0, 0, 0}, - { 0, 0, _image1600_size, 0, 0, 0, 0}, - { 0, 0, _image1601_size, 0, 0, 0, 0}, - { 0, 0, _image1602_size, 0, 0, 0, 0}, - { 0, 0, _image1603_size, 0, 0, 0, 0}, - { 0, 0, _image1604_size, 0, 0, 0, 0}, - { 0, 0, _image1605_size, 0, 0, 0, 0}, - { 0, 0, _image1606_size, 0, 0, 0, 0}, - { 0, 0, _image1607_size, 0, 0, 0, 0}, - { 0, 0, _image1608_size, 0, 0, 0, 0}, - { 0, 0, _image1609_size, 0, 0, 0, 0}, - { 0, 0, _image1610_size, 0, 0, 0, 0}, - { 0, 0, _image1611_size, 0, 0, 0, 0}, - { 0, 0, _image1612_size, 0, 0, 0, 0}, - { 0, 0, _image1613_size, 0, 0, 0, 0}, - { 0, 0, _image1614_size, 0, 0, 0, 0}, - { 0, 0, _image1615_size, 0, 0, 0, 0}, - { 0, 0, _image1616_size, 0, 0, 0, 0}, - { 0, 0, _image1617_size, 0, 0, 0, 0}, - { 0, 0, _image1618_size, 0, 0, 0, 0}, - { 0, 0, _image1619_size, 0, 0, 0, 0}, - { 0, 0, _image1620_size, 0, 0, 0, 0}, - { 0, 0, _image1621_size, 0, 0, 0, 0}, - { 0, 0, _image1622_size, 0, 0, 0, 0}, - { 0, 0, _image1623_size, 0, 0, 0, 0}, - { 0, 0, _image1624_size, 0, 0, 0, 0}, - { 0, 0, _image1625_size, 0, 0, 0, 0}, - { 0, 0, _image1626_size, 0, 0, 0, 0}, - { 0, 0, _image1627_size, 0, 0, 0, 0}, - { 0, 0, _image1628_size, 0, 0, 0, 0}, - { 0, 0, _image1629_size, 0, 0, 0, 0}, - { 0, 0, _image1630_size, 0, 0, 0, 0}, - { 0, 0, _image1631_size, 0, 0, 0, 0}, - { 0, 0, _image1632_size, 0, 0, 0, 0}, - { 0, 0, _image1633_size, 0, 0, 0, 0}, - { 0, 0, _image1634_size, 0, 0, 0, 0}, - { 0, 0, _image1635_size, 0, 0, 0, 0}, - { 0, 0, _image1636_size, 0, 0, 0, 0}, - { 0, 0, _image1637_size, 0, 0, 0, 0}, - { 0, 0, _image1638_size, 0, 0, 0, 0}, - { 0, 0, _image1639_size, 0, 0, 0, 0}, - { 0, 0, _image1640_size, 0, 0, 0, 0}, - { 0, 0, _image1641_size, 0, 0, 0, 0}, - { 0, 0, _image1642_size, 0, 0, 0, 0}, - { 0, 0, _image1643_size, 0, 0, 0, 0}, - { 0, 0, _image1644_size, 0, 0, 0, 0}, - { 0, 0, _image1645_size, 0, 0, 0, 0}, - { 0, 0, _image1646_size, 0, 0, 0, 0}, - { 0, 0, _image1647_size, 0, 0, 0, 0}, - { 0, 0, _image1648_size, 0, 0, 0, 0}, - { 0, 0, _image1649_size, 0, 0, 0, 0}, - { 0, 0, _image1650_size, 0, 0, 0, 0}, - { 0, 0, _image1651_size, 0, 0, 0, 0}, - { 0, 0, _image1652_size, 0, 0, 0, 0}, - {0x33, 0, _image1653_size, 0, 0, 0, 0}, - { 0, 0, _image1654_size, 0, 0, 0, 0}, - { 0, 0, _image1655_size, 0, 0, 0, 0}, - { 0, 0, _image1656_size, 0, 0, 0, 0}, - { 0, 0, _image1657_size, 0, 0, 0, 0}, - { 0, 0, _image1658_size, 0, 0, 0, 0}, - { 0, 0, _image1659_size, 0, 0, 0, 0}, - { 0, 0, _image1660_size, 0, 0, 0, 0}, - { 0, 0, _image1661_size, 0, 0, 0, 0}, - { 0, 0, _image1662_size, 0, 0, 0, 0}, - { 0, 0, _image1663_size, 0, 0, 0, 0}, - { 0, 0, _image1664_size, 0, 0, 0, 0}, - { 0, 0, _image1665_size, 0, 0, 0, 0}, - { 0, 0, _image1666_size, 0, 0, 0, 0}, - {0x33, 0, _image1667_size, 0, 0, 0, 0}, - {0x33, 0, _image1668_size, 0, 0, 0, 0}, - {0xAA, 0, _image1669_size, 0, 0, 0, 0}, - {0x33, 0, _image1670_size, 0, 0, 0, 0}, - {0x33, 0, _image1671_size, 0, 0, 0, 0}, - { 0, 0, _image1672_size, 0, 0, 0, 0}, - { 0, 0, _image1673_size, 0, 0, 0, 0}, - { 0, 0, _image1674_size, 0, 0, 0, 0}, - { 0, 0, _image1675_size, 0, 0, 0, 0}, - { 0, 0, _image1676_size, 0, 0, 0, 0}, - { 0, 0, _image1677_size, 0, 0, 0, 0}, - { 0, 0, _image1678_size, 0, 0, 0, 0}, - { 0, 0, _image1679_size, 0, 0, 0, 0}, - { 0, 0, _image1680_size, 0, 0, 0, 0}, - { 0, 0, _image1681_size, 0, 0, 0, 0}, - { 0, 0, _image1682_size, 0, 0, 0, 0}, - { 0, 0, _image1683_size, 0, 0, 0, 0}, - { 0, 0, _image1684_size, 0, 0, 0, 0}, - { 0, 0, _image1685_size, 0, 0, 0, 0}, - { 0, 0, _image1686_size, 0, 0, 0, 0}, - { 0, 0, _image1687_size, 0, 0, 0, 0}, - { 0, 0, _image1688_size, 0, 0, 0, 0}, - { 0, 0, _image1689_size, 0, 0, 0, 0}, - { 0, 0, _image1690_size, 0, 0, 0, 0}, - { 0, 0, _image1691_size, 0, 0, 0, 0}, - { 0, 0, _image1692_size, 0, 0, 0, 0}, - { 0, 0, _image1693_size, 0, 0, 0, 0}, - { 0, 0, _image1694_size, 0, 0, 0, 0}, - { 0, 0, _image1695_size, 0, 0, 0, 0}, - { 0, 0, _image1696_size, 0, 0, 0, 0}, - { 0, 0, _image1697_size, 0, 0, 0, 0}, - { 0, 0, _image1698_size, 0, 0, 0, 0}, - { 0, 0, _image1699_size, 0, 0, 0, 0}, - { 0, 0, _image1700_size, 0, 0, 0, 0}, - { 0, 0, _image1701_size, 0, 0, 0, 0}, - { 0, 0, _image1702_size, 0, 0, 0, 0}, - { 0, 0, _image1703_size, 0, 0, 0, 0}, - { 0, 0, _image1704_size, 0, 0, 0, 0}, - { 0, 0, _image1705_size, 0, 0, 0, 0}, - { 0, 0, _image1706_size, 0, 0, 0, 0}, - { 0, 0, _image1707_size, 0, 0, 0, 0}, - { 0, 0, _image1708_size, 0, 0, 0, 0}, - { 0, 0, _image1709_size, 0, 0, 0, 0}, - { 0, 0, _image1710_size, 0, 0, 0, 0}, - { 0, 0, _image1711_size, 0, 0, 0, 0}, - { 0, 0, _image1712_size, 0, 0, 0, 0}, - { 0, 0, _image1713_size, 0, 0, 0, 0}, - { 0, 0, _image1714_size, 0, 0, 0, 0}, - { 0, 0, _image1715_size, 0, 0, 0, 0}, - { 0, 0, _image1716_size, 0, 0, 0, 0}, - { 0, 0, _image1717_size, 0, 0, 0, 0}, - { 0, 0, _image1718_size, 0, 0, 0, 0}, - { 0, 0, _image1719_size, 0, 0, 0, 0}, - { 0, 0, _image1720_size, 0, 0, 0, 0}, - { 0, 0, _image1721_size, 0, 0, 0, 0}, - { 0, 0, _image1722_size, 0, 0, 0, 0}, - { 0, 0, _image1723_size, 0, 0, 0, 0}, - { 0, 0, _image1724_size, 0, 0, 0, 0}, - { 0, 0, _image1725_size, 0, 0, 0, 0}, - { 0, 0, _image1726_size, 0, 0, 0, 0}, - { 0, 0, _image1727_size, 0, 0, 0, 0}, - { 0, 0, _image1728_size, 0, 0, 0, 0}, - { 0, 0, _image1729_size, 0, 0, 0, 0}, - {0x33, 0, _image1730_size, 0, 0, 0, 0}, - {0x33, 0, _image1731_size, 0, 0, 0, 0}, - {0x33, 0, _image1732_size, 0, 0, 0, 0}, - {0x33, 0, _image1733_size, 0, 0, 0, 0}, - { 0, 0, _image1734_size, 0, 0, 0, 0}, - { 0, 0, _image1735_size, 0, 0, 0, 0}, - { 0, 0, _image1736_size, 0, 0, 0, 0}, - { 0, 0, _image1737_size, 0, 0, 0, 0}, - { 0, 0, _image1738_size, 0, 0, 0, 0}, - { 0, 0, _image1739_size, 0, 0, 0, 0}, - { 0, 0, _image1740_size, 0, 0, 0, 0}, - { 0, 0, _image1741_size, 0, 0, 0, 0}, - { 0, 0, _image1742_size, 0, 0, 0, 0}, - { 0, 0, _image1743_size, 0, 0, 0, 0}, - { 0, 0, _image1744_size, 0, 0, 0, 0}, - { 0, 0, _image1745_size, 0, 0, 0, 0}, - { 0, 0, _image1746_size, 0, 0, 0, 0}, - { 0, 0, _image1747_size, 0, 0, 0, 0}, - { 0, 0, _image1748_size, 0, 0, 0, 0}, - { 0, 0, _image1749_size, 0, 0, 0, 0}, - { 0, 0, _image1750_size, 0, 0, 0, 0}, - { 0, 0, _image1751_size, 0, 0, 0, 0}, - { 0, 0, _image1752_size, 0, 0, 0, 0}, - { 0, 0, _image1753_size, 0, 0, 0, 0}, - { 0, 0, _image1754_size, 0, 0, 0, 0}, - { 0, 0, _image1755_size, 0, 0, 0, 0}, - { 0, 0, _image1756_size, 0, 0, 0, 0}, - { 0, 0, _image1757_size, 0, 0, 0, 0}, - { 0, 0, _image1758_size, 0, 0, 0, 0}, - { 0, 0, _image1759_size, 0, 0, 0, 0}, - { 0, 0, _image1760_size, 0, 0, 0, 0}, - { 0, 0, _image1761_size, 0, 0, 0, 0}, - { 0, 0, _image1762_size, 0, 0, 0, 0}, - { 0, 0, _image1763_size, 0, 0, 0, 0}, - { 0, 0, _image1764_size, 0, 0, 0, 0}, - { 0, 0, _image1765_size, 0, 0, 0, 0}, - { 0, 0, _image1766_size, 0, 0, 0, 0}, - { 0, 0, _image1767_size, 0, 0, 0, 0}, - { 0, 0, _image1768_size, 0, 0, 0, 0}, - { 0, 0, _image1769_size, 0, 0, 0, 0}, - { 0, 0, _image1770_size, 0, 0, 0, 0}, - { 0, 0, _image1771_size, 0, 0, 0, 0}, - { 0, 0, _image1772_size, 0, 0, 0, 0}, - { 0, 0, _image1773_size, 0, 0, 0, 0}, - { 0, 0, _image1774_size, 0, 0, 0, 0}, - { 0, 0, _image1775_size, 0, 0, 0, 0}, - { 0, 0, _image1776_size, 0, 0, 0, 0}, - { 0, 0, _image1777_size, 0, 0, 0, 0}, - { 0, 0, _image1778_size, 0, 0, 0, 0}, - { 0, 0, _image1779_size, 0, 0, 0, 0}, - { 0, 0, _image1780_size, 0, 0, 0, 0}, - { 0, 0, _image1781_size, 0, 0, 0, 0}, - { 0, 0, _image1782_size, 0, 0, 0, 0}, - { 0, 0, _image1783_size, 0, 0, 0, 0}, - { 0, 0, _image1784_size, 0, 0, 0, 0}, - { 0, 0, _image1785_size, 0, 0, 0, 0}, - { 0, 0, _image1786_size, 0, 0, 0, 0}, - { 0, 0, _image1787_size, 0, 0, 0, 0}, - { 0, 0, _image1788_size, 0, 0, 0, 0}, - { 0, 0, _image1789_size, 0, 0, 0, 0}, - { 0, 0, _image1790_size, 0, 0, 0, 0}, - { 0, 0, _image1791_size, 0, 0, 0, 0}, - { 0, 0, _image1792_size, 0, 0, 0, 0}, - { 0, 0, _image1793_size, 0, 0, 0, 0}, - { 0, 0, _image1794_size, 0, 0, 0, 0}, - { 0, 0, _image1795_size, 0, 0, 0, 0}, - { 0, 0, _image1796_size, 0, 0, 0, 0}, - { 0, 0, _image1797_size, 0, 0, 0, 0}, - { 0, 0, _image1798_size, 0, 0, 0, 0}, - { 0, 0, _image1799_size, 0, 0, 0, 0}, - { 0, 0, _image1800_size, 0, 0, 0, 0}, - { 0, 0, _image1801_size, 0, 0, 0, 0}, - { 0, 0, _image1802_size, 0, 0, 0, 0}, - { 0, 0, _image1803_size, 0, 0, 0, 0}, - { 0, 0, _image1804_size, 0, 0, 0, 0}, - { 0, 0, _image1805_size, 0, 0, 0, 0}, - { 0, 0, _image1806_size, 0, 0, 0, 0}, - { 0, 0, _image1807_size, 0, 0, 0, 0}, - { 0, 0, _image1808_size, 0, 0, 0, 0}, - { 0, 0, _image1809_size, 0, 0, 0, 0}, - { 0, 0, _image1810_size, 0, 0, 0, 0}, - { 0, 0, _image1811_size, 0, 0, 0, 0}, - { 0, 0, _image1812_size, 0, 0, 0, 0}, - { 0, 0, _image1813_size, 0, 0, 0, 0}, - { 0, 0, _image1814_size, 0, 0, 0, 0}, - { 0, 0, _image1815_size, 0, 0, 0, 0}, - { 0, 0, _image1816_size, 0, 0, 0, 0}, - { 0, 0, _image1817_size, 0, 0, 0, 0}, - { 0, 0, _image1818_size, 0, 0, 0, 0}, - { 0, 0, _image1819_size, 0, 0, 0, 0}, - { 0, 0, _image1820_size, 0, 0, 0, 0}, - { 0, 0, _image1821_size, 0, 0, 0, 0}, - { 0, 0, _image1822_size, 0, 0, 0, 0}, - { 0, 0, _image1823_size, 0, 0, 0, 0}, - { 0, 0, _image1824_size, 0, 0, 0, 0}, - { 0, 0, _image1825_size, 0, 0, 0, 0}, - { 0, 0, _image1826_size, 0, 0, 0, 0}, - { 0, 0, _image1827_size, 0, 0, 0, 0}, - { 0, 0, _image1828_size, 0, 0, 0, 0}, - { 0, 0, _image1829_size, 0, 0, 0, 0}, - { 0, 0, _image1830_size, 0, 0, 0, 0}, - { 0, 0, _image1831_size, 0, 0, 0, 0}, - { 0, 0, _image1832_size, 0, 0, 0, 0}, - { 0, 0, _image1833_size, 0, 0, 0, 0}, - { 0, 0, _image1834_size, 0, 0, 0, 0}, - { 0, 0, _image1835_size, 0, 0, 0, 0}, - { 0, 0, _image1836_size, 0, 0, 0, 0}, - { 0, 0, _image1837_size, 0, 0, 0, 0}, - { 0, 0, _image1838_size, 0, 0, 0, 0}, - { 0, 0, _image1839_size, 0, 0, 0, 0}, - { 0, 0, _image1840_size, 0, 0, 0, 0}, - { 0, 0, _image1841_size, 0, 0, 0, 0}, - { 0, 0, _image1842_size, 0, 0, 0, 0}, - { 0, 0, _image1843_size, 0, 0, 0, 0}, - { 0, 0, _image1844_size, 0, 0, 0, 0}, - { 0, 0, _image1845_size, 0, 0, 0, 0}, - { 0, 0, _image1846_size, 0, 0, 0, 0}, - { 0, 0, _image1847_size, 0, 0, 0, 0}, - { 0, 0, _image1848_size, 0, 0, 0, 0}, - { 0, 0, _image1849_size, 0, 0, 0, 0}, - { 0, 0, _image1850_size, 0, 0, 0, 0}, - { 0, 0, _image1851_size, 0, 0, 0, 0}, - { 0, 0, _image1852_size, 0, 0, 0, 0}, - { 0, 0, _image1853_size, 0, 0, 0, 0}, - { 0, 0, _image1854_size, 0, 0, 0, 0}, - { 0, 0, _image1855_size, 0, 0, 0, 0}, - { 0, 0, _image1856_size, 0, 0, 0, 0}, - { 0, 0, _image1857_size, 0, 0, 0, 0}, - { 0, 0, _image1858_size, 0, 0, 0, 0}, - { 0, 0, _image1859_size, 0, 0, 0, 0}, - { 0, 0, _image1860_size, 0, 0, 0, 0}, - { 0, 0, _image1861_size, 0, 0, 0, 0}, - { 0, 0, _image1862_size, 0, 0, 0, 0}, - { 0, 0, _image1863_size, 0, 0, 0, 0}, - { 0, 0, _image1864_size, 0, 0, 0, 0}, - { 0, 0, _image1865_size, 0, 0, 0, 0}, - { 0, 0, _image1866_size, 0, 0, 0, 0}, - { 0, 0, _image1867_size, 0, 0, 0, 0}, - { 0, 0, _image1868_size, 0, 0, 0, 0}, - { 0, 0, _image1869_size, 0, 0, 0, 0}, - { 0, 0, _image1870_size, 0, 0, 0, 0}, - { 0, 0, _image1871_size, 0, 0, 0, 0}, - { 0, 0, _image1872_size, 0, 0, 0, 0}, - { 0, 0, _image1873_size, 0, 0, 0, 0}, - { 0, 0, _image1874_size, 0, 0, 0, 0}, - { 0, 0, _image1875_size, 0, 0, 0, 0}, - { 0, 0, _image1876_size, 0, 0, 0, 0}, - { 0, 0, _image1877_size, 0, 0, 0, 0}, - { 0, 0, _image1878_size, 0, 0, 0, 0}, - { 0, 0, _image1879_size, 0, 0, 0, 0}, - { 0, 0, _image1880_size, 0, 0, 0, 0}, - { 0, 0, _image1881_size, 0, 0, 0, 0}, - { 0, 0, _image1882_size, 0, 0, 0, 0}, - { 0, 0, _image1883_size, 0, 0, 0, 0}, - { 0, 0, _image1884_size, 0, 0, 0, 0}, - { 0, 0, _image1885_size, 0, 0, 0, 0}, - { 0, 0, _image1886_size, 0, 0, 0, 0}, - { 0, 0, _image1887_size, 0, 0, 0, 0}, - { 0, 0, _image1888_size, 0, 0, 0, 0}, - { 0, 0, _image1889_size, 0, 0, 0, 0}, - { 0, 0, _image1890_size, 0, 0, 0, 0}, - { 0, 0, _image1891_size, 0, 0, 0, 0}, - { 0, 0, _image1892_size, 0, 0, 0, 0}, - { 0, 0, _image1893_size, 0, 0, 0, 0}, - { 0, 0, _image1894_size, 0, 0, 0, 0}, - { 0, 0, _image1895_size, 0, 0, 0, 0}, - { 0, 0, _image1896_size, 0, 0, 0, 0}, - { 0, 0, _image1897_size, 0, 0, 0, 0}, - { 0, 0, _image1898_size, 0, 0, 0, 0}, - { 0, 0, _image1899_size, 0, 0, 0, 0}, - { 0, 0, _image1900_size, 0, 0, 0, 0}, - { 0, 0, _image1901_size, 0, 0, 0, 0}, - { 0, 0, _image1902_size, 0, 0, 0, 0}, - { 0, 0, _image1903_size, 0, 0, 0, 0}, - { 0, 0, _image1904_size, 0, 0, 0, 0}, - { 0, 0, _image1905_size, 0, 0, 0, 0}, - { 0, 0, _image1906_size, 0, 0, 0, 0}, - { 0, 0, _image1907_size, 0, 0, 0, 0}, - { 0, 0, _image1908_size, 0, 0, 0, 0}, - { 0, 0, _image1909_size, 0, 0, 0, 0}, - { 0, 0, _image1910_size, 0, 0, 0, 0}, - { 0, 0, _image1911_size, 0, 0, 0, 0}, - { 0, 0, _image1912_size, 0, 0, 0, 0}, - { 0, 0, _image1913_size, 0, 0, 0, 0}, - { 0, 0, _image1914_size, 0, 0, 0, 0}, - { 0, 0, _image1915_size, 0, 0, 0, 0}, - { 0, 0, _image1916_size, 0, 0, 0, 0}, - { 0, 0, _image1917_size, 0, 0, 0, 0}, - { 0, 0, _image1918_size, 0, 0, 0, 0}, - { 0, 0, _image1919_size, 0, 0, 0, 0}, - { 0, 0, _image1920_size, 0, 0, 0, 0}, - { 0, 0, _image1921_size, 0, 0, 0, 0}, - { 0, 0, _image1922_size, 0, 0, 0, 0}, - { 0, 0, _image1923_size, 0, 0, 0, 0}, - { 0, 0, _image1924_size, 0, 0, 0, 0}, - { 0, 0, _image1925_size, 0, 0, 0, 0}, - { 0, 0, _image1926_size, 0, 0, 0, 0}, - { 0, 0, _image1927_size, 0, 0, 0, 0}, - { 0, 0, _image1928_size, 0, 0, 0, 0}, - { 0, 0, _image1929_size, 0, 0, 0, 0}, - { 0, 0, _image1930_size, 0, 0, 0, 0}, - { 0, 0, _image1931_size, 0, 0, 0, 0}, - { 0, 0, _image1932_size, 0, 0, 0, 0}, - { 0, 0, _image1933_size, 0, 0, 0, 0}, - { 0, 0, _image1934_size, 0, 0, 0, 0}, - { 0, 0, _image1935_size, 0, 0, 0, 0}, - { 0, 0, _image1936_size, 0, 0, 0, 0}, - { 0, 0, _image1937_size, 0, 0, 0, 0}, - { 0, 0, _image1938_size, 0, 0, 0, 0}, - { 0, 0, _image1939_size, 0, 0, 0, 0}, - { 0, 0, _image1940_size, 0, 0, 0, 0}, - { 0, 0, _image1941_size, 0, 0, 0, 0}, - { 0, 0, _image1942_size, 0, 0, 0, 0}, - { 0, 0, _image1943_size, 0, 0, 0, 0}, - { 0, 0, _image1944_size, 0, 0, 0, 0}, - { 0, 0, _image1945_size, 0, 0, 0, 0}, - { 0, 0, _image1946_size, 0, 0, 0, 0}, - { 0, 0, _image1947_size, 0, 0, 0, 0}, - { 0, 0, _image1948_size, 0, 0, 0, 0}, - { 0, 0, _image1949_size, 0, 0, 0, 0}, - { 0, 0, _image1950_size, 0, 0, 0, 0}, - { 0, 0, _image1951_size, 0, 0, 0, 0}, - { 0, 0, _image1952_size, 0, 0, 0, 0}, - { 0, 0, _image1953_size, 0, 0, 0, 0}, - { 0, 0, _image1954_size, 0, 0, 0, 0}, - { 0, 0, _image1955_size, 0, 0, 0, 0}, - { 0, 0, _image1956_size, 0, 0, 0, 0}, - { 0, 0, _image1957_size, 0, 0, 0, 0}, - { 0, 0, _image1958_size, 0, 0, 0, 0}, - { 0, 0, _image1959_size, 0, 0, 0, 0}, - { 0, 0, _image1960_size, 0, 0, 0, 0}, - { 0, 0, _image1961_size, 0, 0, 0, 0}, - { 0, 0, _image1962_size, 0, 0, 0, 0}, - { 0, 0, _image1963_size, 0, 0, 0, 0}, - { 0, 0, _image1964_size, 0, 0, 0, 0}, - { 0, 0, _image1965_size, 0, 0, 0, 0}, - { 0, 0, _image1966_size, 0, 0, 0, 0}, - { 0, 0, _image1967_size, 0, 0, 0, 0}, - { 0, 0, _image1968_size, 0, 0, 0, 0}, - { 0, 0, _image1969_size, 0, 0, 0, 0}, - { 0, 0, _image1970_size, 0, 0, 0, 0}, - { 0, 0, _image1971_size, 0, 0, 0, 0}, - { 0, 0, _image1972_size, 0, 0, 0, 0}, - { 0, 0, _image1973_size, 0, 0, 0, 0}, - { 0, 0, _image1974_size, 0, 0, 0, 0}, - { 0, 0, _image1975_size, 0, 0, 0, 0}, - { 0, 0, _image1976_size, 0, 0, 0, 0}, - { 0, 0, _image1977_size, 0, 0, 0, 0}, - { 0, 0, _image1978_size, 0, 0, 0, 0}, - { 0, 0, _image1979_size, 0, 0, 0, 0}, - { 0, 0, _image1980_size, 0, 0, 0, 0}, - { 0, 0, _image1981_size, 0, 0, 0, 0}, - { 0, 0, _image1982_size, 0, 0, 0, 0}, - { 0, 0, _image1983_size, 0, 0, 0, 0}, - { 0, 0, _image1984_size, 0, 0, 0, 0}, - { 0, 0, _image1985_size, 0, 0, 0, 0}, - { 0, 0, _image1986_size, 0, 0, 0, 0}, - { 0, 0, _image1987_size, 0, 0, 0, 0}, - { 0, 0, _image1988_size, 0, 0, 0, 0}, - { 0, 0, _image1989_size, 0, 0, 0, 0}, - { 0, 0, _image1990_size, 0, 0, 0, 0}, - { 0, 0, _image1991_size, 0, 0, 0, 0}, - { 0, 0, _image1992_size, 0, 0, 0, 0}, - { 0, 0, _image1993_size, 0, 0, 0, 0}, - { 0, 0, _image1994_size, 0, 0, 0, 0}, - { 0, 0, _image1995_size, 0, 0, 0, 0}, - { 0, 0, _image1996_size, 0, 0, 0, 0}, - { 0, 0, _image1997_size, 0, 0, 0, 0}, - { 0, 0, _image1998_size, 0, 0, 0, 0}, - { 0, 0, _image1999_size, 0, 0, 0, 0}, - { 0, 0, _image2000_size, 0, 0, 0, 0}, - { 0, 0, _image2001_size, 0, 0, 0, 0}, - { 0, 0, _image2002_size, 0, 0, 0, 0}, - { 0, 0, _image2003_size, 0, 0, 0, 0}, - { 0, 0, _image2004_size, 0, 0, 0, 0}, - { 0, 0, _image2005_size, 0, 0, 0, 0}, - { 0, 0, _image2006_size, 0, 0, 0, 0}, - { 0, 0, _image2007_size, 0, 0, 0, 0}, - { 0, 0, _image2008_size, 0, 0, 0, 0}, - { 0, 0, _image2009_size, 0, 0, 0, 0}, - { 0, 0, _image2010_size, 0, 0, 0, 0}, - { 0, 0, _image2011_size, 0, 0, 0, 0}, - { 0, 0, _image2012_size, 0, 0, 0, 0}, - { 0, 0, _image2013_size, 0, 0, 0, 0}, - { 0, 0, _image2014_size, 0, 0, 0, 0}, - { 0, 0, _image2015_size, 0, 0, 0, 0}, - { 0, 0, _image2016_size, 0, 0, 0, 0}, - { 0, 0, _image2017_size, 0, 0, 0, 0}, - { 0, 0, _image2018_size, 0, 0, 0, 0}, - { 0, 0, _image2019_size, 0, 0, 0, 0}, - { 0, 0, _image2020_size, 0, 0, 0, 0}, - { 0, 0, _image2021_size, 0, 0, 0, 0}, - { 0, 0, _image2022_size, 0, 0, 0, 0}, - { 0, 0, _image2023_size, 0, 0, 0, 0}, - { 0, 0, _image2024_size, 0, 0, 0, 0}, - { 0, 0, _image2025_size, 0, 0, 0, 0}, - { 0, 0, _image2026_size, 0, 0, 0, 0}, - { 0, 0, _image2027_size, 0, 0, 0, 0}, - { 0, 0, _image2028_size, 0, 0, 0, 0}, - { 0, 0, _image2029_size, 0, 0, 0, 0}, - { 0, 0, _image2030_size, 0, 0, 0, 0}, - { 0, 0, _image2031_size, 0, 0, 0, 0}, - { 0, 0, _image2032_size, 0, 0, 0, 0}, - { 0, 0, _image2033_size, 0, 0, 0, 0}, - { 0, 0, _image2034_size, 0, 0, 0, 0}, - { 0, 0, _image2035_size, 0, 0, 0, 0}, - { 0, 0, _image2036_size, 0, 0, 0, 0}, - { 0, 0, _image2037_size, 0, 0, 0, 0}, - { 0, 0, _image2038_size, 0, 0, 0, 0}, - { 0, 0, _image2039_size, 0, 0, 0, 0}, - { 0, 0, _image2040_size, 0, 0, 0, 0}, - { 0, 0, _image2041_size, 0, 0, 0, 0}, - { 0, 0, _image2042_size, 0, 0, 0, 0}, - { 0, 0, _image2043_size, 0, 0, 0, 0}, - { 0, 0, _image2044_size, 0, 0, 0, 0}, - { 0, 0, _image2045_size, 0, 0, 0, 0}, - { 0, 0, _image2046_size, 0, 0, 0, 0}, - { 0, 0, _image2047_size, 0, 0, 0, 0}, - { 0, 0, _image2048_size, 0, 0, 0, 0}, - { 0, 0, _image2049_size, 0, 0, 0, 0}, - { 0, 0, _image2050_size, 0, 0, 0, 0}, - { 0, 0, _image2051_size, 0, 0, 0, 0}, - { 0, 0, _image2052_size, 0, 0, 0, 0}, - { 0, 0, _image2053_size, 0, 0, 0, 0}, - { 0, 0, _image2054_size, 0, 0, 0, 0}, - { 0, 0, _image2055_size, 0, 0, 0, 0}, - { 0, 0, _image2056_size, 0, 0, 0, 0}, - { 0, 0, _image2057_size, 0, 0, 0, 0}, - { 0, 0, _image2058_size, 0, 0, 0, 0}, - { 0, 0, _image2059_size, 0, 0, 0, 0}, - { 0, 0, _image2060_size, 0, 0, 0, 0}, - { 0, 0, _image2061_size, 0, 0, 0, 0}, - { 0, 0, _image2062_size, 0, 0, 0, 0}, - { 0, 0, _image2063_size, 0, 0, 0, 0}, - { 0, 0, _image2064_size, 0, 0, 0, 0}, - { 0, 0, _image2065_size, 0, 0, 0, 0}, - { 0, 0, _image2066_size, 0, 0, 0, 0}, - { 0, 0, _image2067_size, 0, 0, 0, 0}, - { 0, 0, _image2068_size, 0, 0, 0, 0}, - { 0, 0, _image2069_size, 0, 0, 0, 0}, - { 0, 0, _image2070_size, 0, 0, 0, 0}, - { 0, 0, _image2071_size, 0, 0, 0, 0}, - { 0, 0, _image2072_size, 0, 0, 0, 0}, - { 0, 0, _image2073_size, 0, 0, 0, 0}, - { 0, 0, _image2074_size, 0, 0, 0, 0}, - { 0, 0, _image2075_size, 0, 0, 0, 0}, - { 0, 0, _image2076_size, 0, 0, 0, 0}, - { 0, 0, _image2077_size, 0, 0, 0, 0}, - { 0, 0, _image2078_size, 0, 0, 0, 0}, - { 0, 0, _image2079_size, 0, 0, 0, 0}, - { 0, 0, _image2080_size, 0, 0, 0, 0}, - { 0, 0, _image2081_size, 0, 0, 0, 0}, - { 0, 0, _image2082_size, 0, 0, 0, 0}, - { 0, 0, _image2083_size, 0, 0, 0, 0}, - { 0, 0, _image2084_size, 0, 0, 0, 0}, - { 0, 0, _image2085_size, 0, 0, 0, 0}, - { 0, 0, _image2086_size, 0, 0, 0, 0}, - { 0, 0, _image2087_size, 0, 0, 0, 0}, - { 0, 0, _image2088_size, 0, 0, 0, 0}, - { 0, 0, _image2089_size, 0, 0, 0, 0}, - { 0, 0, _image2090_size, 0, 0, 0, 0}, - { 0, 0, _image2091_size, 0, 0, 0, 0}, - { 0, 0, _image2092_size, 0, 0, 0, 0}, - { 0, 0, _image2093_size, 0, 0, 0, 0}, - { 0, 0, _image2094_size, 0, 0, 0, 0}, - { 0, 0, _image2095_size, 0, 0, 0, 0}, - { 0, 0, _image2096_size, 0, 0, 0, 0}, - { 0, 0, _image2097_size, 0, 0, 0, 0}, - { 0, 0, _image2098_size, 0, 0, 0, 0}, - { 0, 0, _image2099_size, 0, 0, 0, 0}, - { 0, 0, _image2100_size, 0, 0, 0, 0}, - { 0, 0, _image2101_size, 0, 0, 0, 0}, - { 0, 0, _image2102_size, 0, 0, 0, 0}, - { 0, 0, _image2103_size, 0, 0, 0, 0}, - { 0, 0, _image2104_size, 0, 0, 0, 0}, - { 0, 0, _image2105_size, 0, 0, 0, 0}, - { 0, 0, _image2106_size, 0, 0, 0, 0}, - { 0, 0, _image2107_size, 0, 0, 0, 0}, - { 0, 0, _image2108_size, 0, 0, 0, 0}, - { 0, 0, _image2109_size, 0, 0, 0, 0}, - { 0, 0, _image2110_size, 0, 0, 0, 0}, - { 0, 0, _image2111_size, 0, 0, 0, 0}, - { 0, 0, _image2112_size, 0, 0, 0, 0}, - { 0, 0, _image2113_size, 0, 0, 0, 0}, - { 0, 0, _image2114_size, 0, 0, 0, 0}, - { 0, 0, _image2115_size, 0, 0, 0, 0}, - { 0, 0, _image2116_size, 0, 0, 0, 0}, - { 0, 0, _image2117_size, 0, 0, 0, 0}, - { 0, 0, _image2118_size, 0, 0, 0, 0}, - { 0, 0, _image2119_size, 0, 0, 0, 0}, - { 0, 0, _image2120_size, 0, 0, 0, 0}, - { 0, 0, _image2121_size, 0, 0, 0, 0}, - { 0, 0, _image2122_size, 0, 0, 0, 0}, - { 0, 0, _image2123_size, 0, 0, 0, 0}, - { 0, 0, _image2124_size, 0, 0, 0, 0}, - { 0, 0, _image2125_size, 0, 0, 0, 0}, - { 0, 0, _image2126_size, 0, 0, 0, 0}, - { 0, 0, _image2127_size, 0, 0, 0, 0}, - { 0, 0, _image2128_size, 0, 0, 0, 0}, - { 0, 0, _image2129_size, 0, 0, 0, 0}, - { 0, 0, _image2130_size, 0, 0, 0, 0}, - { 0, 0, _image2131_size, 0, 0, 0, 0}, - { 0, 0, _image2132_size, 0, 0, 0, 0}, - { 0, 0, _image2133_size, 0, 0, 0, 0}, - { 0, 0, _image2134_size, 0, 0, 0, 0}, - { 0, 0, _image2135_size, 0, 0, 0, 0}, - { 0, 0, _image2136_size, 0, 0, 0, 0}, - { 0, 0, _image2137_size, 0, 0, 0, 0}, - { 0, 0, _image2138_size, 0, 0, 0, 0}, - { 0, 0, _image2139_size, 0, 0, 0, 0}, - { 0, 0, _image2140_size, 0, 0, 0, 0}, - { 0, 0, _image2141_size, 0, 0, 0, 0}, - { 0, 0, _image2142_size, 0, 0, 0, 0}, - { 0, 0, _image2143_size, 0, 0, 0, 0}, - { 0, 0, _image2144_size, 0, 0, 0, 0}, - { 0, 0, _image2145_size, 0, 0, 0, 0}, - { 0, 0, _image2146_size, 0, 0, 0, 0}, - { 0, 0, _image2147_size, 0, 0, 0, 0}, - { 0, 0, _image2148_size, 0, 0, 0, 0}, - { 0, 0, _image2149_size, 0, 0, 0, 0}, - { 0, 0, _image2150_size, 0, 0, 0, 0}, - { 0, 0, _image2151_size, 0, 0, 0, 0}, - { 0, 0, _image2152_size, 0, 0, 0, 0}, - { 0, 0, _image2153_size, 0, 0, 0, 0}, - { 0, 0, _image2154_size, 0, 0, 0, 0}, - { 0, 0, _image2155_size, 0, 0, 0, 0}, - { 0, 0, _image2156_size, 0, 0, 0, 0}, - { 0, 0, _image2157_size, 0, 0, 0, 0}, - { 0, 0, _image2158_size, 0, 0, 0, 0}, - { 0, 0, _image2159_size, 0, 0, 0, 0}, - { 0, 0, _image2160_size, 0, 0, 0, 0}, - { 0, 0, _image2161_size, 0, 0, 0, 0}, - { 0, 0, _image2162_size, 0, 0, 0, 0}, - { 0, 0, _image2163_size, 0, 0, 0, 0}, - { 0, 0, _image2164_size, 0, 0, 0, 0}, - { 0, 0, _image2165_size, 0, 0, 0, 0}, - { 0, 0, _image2166_size, 0, 0, 0, 0}, - { 0, 0, _image2167_size, 0, 0, 0, 0}, - { 0, 0, _image2168_size, 0, 0, 0, 0}, - { 0, 0, _image2169_size, 0, 0, 0, 0}, - { 0, 0, _image2170_size, 0, 0, 0, 0}, - { 0, 0, _image2171_size, 0, 0, 0, 0}, - { 0, 0, _image2172_size, 0, 0, 0, 0}, - { 0, 0, _image2173_size, 0, 0, 0, 0}, - {0x11, 0, _image2174_size, 0, 0, 0, 0}, - {0x11, 0, _image2175_size, 0, 0, 0, 0}, - {0x11, 0, _image2176_size, 0, 0, 0, 0}, - { 0, 0, _image2177_size, 0, 0, 0, 0}, - { 0, 0, _image2178_size, 0, 0, 0, 0}, - { 0, 0, _image2179_size, 0, 0, 0, 0}, - { 0, 0, _image2180_size, 0, 0, 0, 0}, - { 0, 0, _image2181_size, 0, 0, 0, 0}, - { 0, 0, _image2182_size, 0, 0, 0, 0}, - { 0, 0, _image2183_size, 0, 0, 0, 0}, - { 0, 0, _image2184_size, 0, 0, 0, 0}, - { 0, 0, _image2185_size, 0, 0, 0, 0}, - { 0, 0, _image2186_size, 0, 0, 0, 0}, - { 0, 0, _image2187_size, 0, 0, 0, 0}, - { 0, 0, _image2188_size, 0, 0, 0, 0}, - { 0, 0, _image2189_size, 0, 0, 0, 0}, - { 0, 0, _image2190_size, 0, 0, 0, 0}, - { 0, 0, _image2191_size, 0, 0, 0, 0}, - { 0, 0, _image2192_size, 0, 0, 0, 0}, - { 0, 0, _image2193_size, 0, 0, 0, 0}, - { 0, 0, _image2194_size, 0, 0, 0, 0}, - { 0, 0, _image2195_size, 0, 0, 0, 0}, - { 0, 0, _image2196_size, 0, 0, 0, 0}, - { 0, 0, _image2197_size, 0, 0, 0, 0}, - { 0, 0, _image2198_size, 0, 0, 0, 0}, - { 0, 0, _image2199_size, 0, 0, 0, 0}, - { 0, 0, _image2200_size, 0, 0, 0, 0}, - { 0, 0, _image2201_size, 0, 0, 0, 0}, - { 0, 0, _image2202_size, 0, 0, 0, 0}, - { 0, 0, _image2203_size, 0, 0, 0, 0}, - { 0, 0, _image2204_size, 0, 0, 0, 0}, - { 0, 0, _image2205_size, 0, 0, 0, 0}, - { 0, 0, _image2206_size, 0, 0, 0, 0}, - { 0, 0, _image2207_size, 0, 0, 0, 0}, - { 0, 0, _image2208_size, 0, 0, 0, 0}, - { 0, 0, _image2209_size, 0, 0, 0, 0}, - { 0, 0, _image2210_size, 0, 0, 0, 0}, - { 0, 0, _image2211_size, 0, 0, 0, 0}, - { 0, 0, _image2212_size, 0, 0, 0, 0}, - { 0, 0, _image2213_size, 0, 0, 0, 0}, - { 0, 0, _image2214_size, 0, 0, 0, 0}, - { 0, 0, _image2215_size, 0, 0, 0, 0}, - { 0, 0, _image2216_size, 0, 0, 0, 0}, - { 0, 0, _image2217_size, 0, 0, 0, 0}, - { 0, 0, _image2218_size, 0, 0, 0, 0}, - { 0, 0, _image2219_size, 0, 0, 0, 0}, - { 0, 0, _image2220_size, 0, 0, 0, 0}, - { 0, 0, _image2221_size, 0, 0, 0, 0}, - { 0, 0, _image2222_size, 0, 0, 0, 0}, - { 0, 0, _image2223_size, 0, 0, 0, 0}, - { 0, 0, _image2224_size, 0, 0, 0, 0}, - { 0, 0, _image2225_size, 0, 0, 0, 0}, - { 0, 0, _image2226_size, 0, 0, 0, 0}, - { 0, 0, _image2227_size, 0, 0, 0, 0}, - { 0, 0, _image2228_size, 0, 0, 0, 0}, - { 0, 0, _image2229_size, 0, 0, 0, 0}, - { 0, 0, _image2230_size, 0, 0, 0, 0}, - { 0, 0, _image2231_size, 0, 0, 0, 0}, - { 0, 0, _image2232_size, 0, 0, 0, 0}, - { 0, 0, _image2233_size, 0, 0, 0, 0}, - { 0, 0, _image2234_size, 0, 0, 0, 0}, - { 0, 0, _image2235_size, 0, 0, 0, 0}, - { 0, 0, _image2236_size, 0, 0, 0, 0}, - { 0, 0, _image2237_size, 0, 0, 0, 0}, - { 0, 0, _image2238_size, 0, 0, 0, 0}, - { 0, 0, _image2239_size, 0, 0, 0, 0}, - { 0, 0, _image2240_size, 0, 0, 0, 0}, - { 0, 0, _image2241_size, 0, 0, 0, 0}, - { 0, 0, _image2242_size, 0, 0, 0, 0}, - { 0, 0, _image2243_size, 0, 0, 0, 0}, - { 0, 0, _image2244_size, 0, 0, 0, 0}, - { 0, 0, _image2245_size, 0, 0, 0, 0}, - { 0, 0, _image2246_size, 0, 0, 0, 0}, - { 0, 0, _image2247_size, 0, 0, 0, 0}, - { 0, 0, _image2248_size, 0, 0, 0, 0}, - { 0, 0, _image2249_size, 0, 0, 0, 0}, - { 0, 0, _image2250_size, 0, 0, 0, 0}, - { 0, 0, _image2251_size, 0, 0, 0, 0}, - { 0, 0, _image2252_size, 0, 0, 0, 0}, - { 0, 0, _image2253_size, 0, 0, 0, 0}, - { 0, 0, _image2254_size, 0, 0, 0, 0}, - { 0, 0, _image2255_size, 0, 0, 0, 0}, - { 0, 0, _image2256_size, 0, 0, 0, 0}, - { 0, 0, _image2257_size, 0, 0, 0, 0}, - { 0, 0, _image2258_size, 0, 0, 0, 0}, - { 0, 0, _image2259_size, 0, 0, 0, 0}, - { 0, 0, _image2260_size, 0, 0, 0, 0}, - {0x33, 0, _image2261_size, 0, 0, 0, 0}, - { 0, 0, _image2262_size, 0, 0, 0, 0}, - { 0, 0, _image2263_size, 0, 0, 0, 0}, - { 0, 0, _image2264_size, 0, 0, 0, 0}, - { 0, 0, _image2265_size, 0, 0, 0, 0}, - { 0, 0, _image2266_size, 0, 0, 0, 0}, - { 0, 0, _image2267_size, 0, 0, 0, 0}, - { 0, 0, _image2268_size, 0, 0, 0, 0}, - { 0, 0, _image2269_size, 0, 0, 0, 0}, - { 0, 0, _image2270_size, 0, 0, 0, 0}, - { 0, 0, _image2271_size, 0, 0, 0, 0}, - { 0, 0, _image2272_size, 0, 0, 0, 0}, - { 0, 0, _image2273_size, 0, 0, 0, 0}, - { 0, 0, _image2274_size, 0, 0, 0, 0}, - { 0, 0, _image2275_size, 0, 0, 0, 0}, - { 0, 0, _image2276_size, 0, 0, 0, 0}, - { 0, 0, _image2277_size, 0, 0, 0, 0}, - {0x22, 0, _image2278_size, 0, 0, 0, 0}, - { 0, 0, _image2279_size, 0, 0, 0, 0}, - {0x22, 0, _image2280_size, 0, 0, 0, 0}, - {0x22, 0, _image2281_size, 0, 0, 0, 0}, - { 0, 0, _image2282_size, 0, 0, 0, 0}, - {0x22, 0, _image2283_size, 0, 0, 0, 0}, - { 0, 0, _image2284_size, 0, 0, 0, 0}, - { 0, 0, _image2285_size, 0, 0, 0, 0}, - { 0, 0, _image2286_size, 0, 0, 0, 0}, - { 0, 0, _image2287_size, 0, 0, 0, 0}, - { 0, 0, _image2288_size, 0, 0, 0, 0}, - { 0, 0, _image2289_size, 0, 0, 0, 0}, - { 0, 0, _image2290_size, 0, 0, 0, 0}, - { 0, 0, _image2291_size, 0, 0, 0, 0}, - { 0, 0, _image2292_size, 0, 0, 0, 0}, - { 0, 0, _image2293_size, 0, 0, 0, 0}, - { 0, 0, _image2294_size, 0, 0, 0, 0}, - {0xAA, 0, _image2295_size, 0, 0, 0, 0}, - {0xAA, 0, _image2296_size, 0, 0, 0, 0}, - {0xAA, 0, _image2297_size, 0, 0, 0, 0}, - { 0, 0, _image2298_size, 0, 0, 0, 0}, - {0xAA, 0, _image2299_size, 0, 0, 0, 0}, - {0xAA, 0, _image2300_size, 0, 0, 0, 0}, - {0x33, 0, _image2301_size, 0, 0, 0, 0}, - {0x77, 0, _image2302_size, 0, 0, 0, 0}, - {0x77, 0, _image2303_size, 0, 0, 0, 0}, - {0x77, 0, _image2304_size, 0, 0, 0, 0}, - {0x77, 0, _image2305_size, 0, 0, 0, 0}, - {0xAA, 0, _image2306_size, 0, 0, 0, 0}, - {0xAA, 0, _image2307_size, 0, 0, 0, 0}, - {0xAA, 0, _image2308_size, 0, 0, 0, 0}, - {0xAA, 0, _image2309_size, 0, 0, 0, 0}, - {0xAA, 0, _image2310_size, 0, 0, 0, 0}, - {0x22, 0, _image2311_size, 0, 0, 0, 0}, - {0x11, 0, _image2312_size, 0, 0, 0, 0}, - { 0, 0, _image2313_size, 0, 0, 0, 0}, - {0x77, 0, _image2314_size, 0, 0, 0, 0}, - {0x77, 0, _image2315_size, 0, 0, 0, 0}, - {0xAA, 0, _image2316_size, 0, 0, 0, 0}, - { 0, 0, _image2317_size, 0, 0, 0, 0}, - {0xAA, 0, _image2318_size, 0, 0, 0, 0}, - {0xAA, 0, _image2319_size, 0, 0, 0, 0}, - {0xAA, 0, _image2320_size, 0, 0, 0, 0}, - {0xAA, 0, _image2321_size, 0, 0, 0, 0}, - { 0, 0, _image2322_size, 0, 0, 0, 0}, - {0x33, 0, _image2323_size, 0, 0, 0, 0}, - {0x33, 0, _image2324_size, 0, 0, 0, 0}, - { 0, 0, _image2325_size, 0, 0, 0, 0}, - { 0, 0, _image2326_size, 0, 0, 0, 0}, - { 0, 0, _image2327_size, 0, 0, 0, 0}, - { 0, 0, _image2328_size, 0, 0, 0, 0}, - { 0, 0, _image2329_size, 0, 0, 0, 0}, - { 0, 0, _image2330_size, 0, 0, 0, 0}, - { 0, 0, _image2331_size, 0, 0, 0, 0}, - { 0, 0, _image2332_size, 0, 0, 0, 0}, - { 0, 0, _image2333_size, 0, 0, 0, 0}, - { 0, 0, _image2334_size, 0, 0, 0, 0}, - { 0, 0, _image2335_size, 0, 0, 0, 0}, - {0x22, 0, _image2336_size, 0, 0, 0, 0}, - {0x22, 0, _image2337_size, 0, 0, 0, 0}, - {0x22, 0, _image2338_size, 0, 0, 0, 0}, - {0x22, 0, _image2339_size, 0, 0, 0, 0}, - {0x33, 0, _image2340_size, 0, 0, 0, 0}, - { 0, 0, _image2341_size, 0, 0, 0, 0}, - { 0, 0, _image2342_size, 0, 0, 0, 0}, - {0x55, 0, _image2343_size, 0, 0, 0, 0}, - {0x55, 0, _image2344_size, 0, 0, 0, 0}, - { 0, 0, _image2345_size, 0, 0, 0, 0}, - { 0, 0, _image2346_size, 0, 0, 0, 0}, - { 0, 0, _image2347_size, 0, 0, 0, 0}, - { 0, 0, _image2348_size, 0, 0, 0, 0}, - { 0, 0, _image2349_size, 0, 0, 0, 0}, - { 0, 0, _image2350_size, 0, 0, 0, 0}, - { 0, 0, _image2351_size, 0, 0, 0, 0}, - { 0, 0, _image2352_size, 0, 0, 0, 0}, - { 0, 0, _image2353_size, 0, 0, 0, 0}, - { 0, 0, _image2354_size, 0, 0, 0, 0}, - { 0, 0, _image2355_size, 0, 0, 0, 0}, - { 0, 0, _image2356_size, 0, 0, 0, 0}, - { 0, 0, _image2357_size, 0, 0, 0, 0}, - { 0, 0, _image2358_size, 0, 0, 0, 0}, - { 0, 0, _image2359_size, 0, 0, 0, 0}, - { 0, 0, _image2360_size, 0, 0, 0, 0}, - { 0, 0, _image2361_size, 0, 0, 0, 0}, - { 0, 0, _image2362_size, 0, 0, 0, 0}, - { 0, 0, _image2363_size, 0, 0, 0, 0}, - { 0, 0, _image2364_size, 0, 0, 0, 0}, - { 0, 0, _image2365_size, 0, 0, 0, 0}, - { 0, 0, _image2366_size, 0, 0, 0, 0}, - { 0, 0, _image2367_size, 0, 0, 0, 0}, - { 0, 0, _image2368_size, 0, 0, 0, 0}, - { 0, 0, _image2369_size, 0, 0, 0, 0}, - {0x11, 0, _image2370_size, 0, 0, 0, 0}, - {0x11, 0, _image2371_size, 0, 0, 0, 0}, - {0x44, 0, _image2372_size, 0, 0, 0, 0}, - {0x44, 0, _image2373_size, 0, 0, 0, 0}, - { 0, 0, _image2374_size, 0, 0, 0, 0}, - { 0, 0, _image2375_size, 0, 0, 0, 0}, - {0xAA, 0, _image2376_size, 0, 0, 0, 0}, - {0x11, 0, _image2377_size, 0, 0, 0, 0}, - {0x33, 0, _image2378_size, 0, 0, 0, 0}, - { 0, 0, _image2379_size, 0, 0, 0, 0}, - {0x22, 0, _image2380_size, 0, 0, 0, 0}, - {0x33, 0, _image2381_size, 0, 0, 0, 0}, - {0x44, 0, _image2382_size, 0, 0, 0, 0}, - { 0, 0, _image2383_size, 0, 0, 0, 0}, - { 0, 0, _image2384_size, 0, 0, 0, 0}, - { 0, 0, _image2385_size, 0, 0, 0, 0}, - {0x33, 0, _image2386_size, 0, 0, 0, 0}, - { 0, 0, _image2387_size, 0, 0, 0, 0}, - { 0, 0, _image2388_size, 0, 0, 0, 0}, - {0x44, 0, _image2389_size, 0, 0, 0, 0}, - { 0, 0, _image2390_size, 0, 0, 0, 0}, - {0xAA, 0, _image2391_size, 0, 0, 0, 0}, - { 0, 0, _image2392_size, 0, 0, 0, 0}, - {0x44, 0, _image2393_size, 0, 0, 0, 0}, - { 0, 0, _image2394_size, 0, 0, 0, 0}, - { 0, 0, _image2395_size, 0, 0, 0, 0}, - { 0, 0, _image2396_size, 0, 0, 0, 0}, - {0x33, 0, _image2397_size, 0, 0, 0, 0}, - { 0, 0, _image2398_size, 0, 0, 0, 0}, - {0xAA, 0, _image2399_size, 0, 0, 0, 0}, - {0x33, 0, _image2400_size, 0, 0, 0, 0}, - {0x33, 0, _image2401_size, 0, 0, 0, 0}, - {0x44, 0, _image2402_size, 0, 0, 0, 0}, - {0x11, 0, _image2403_size, 0, 0, 0, 0}, - { 0, 0, _image2404_size, 0, 0, 0, 0}, - {0x22, 0, _image2405_size, 0, 0, 0, 0}, - {0x11, 0, _image2406_size, 0, 0, 0, 0}, - {0x22, 0, _image2407_size, 0, 0, 0, 0}, - { 0, 0, _image2408_size, 0, 0, 0, 0}, - {0x11, 0, _image2409_size, 0, 0, 0, 0}, - { 0, 0, _image2410_size, 0, 0, 0, 0}, - {0x11, 0, _image2411_size, 0, 0, 0, 0}, - { 0, 0, _image2412_size, 0, 0, 0, 0}, - { 0, 0, _image2413_size, 0, 0, 0, 0}, - {0x11, 0, _image2414_size, 0, 0, 0, 0}, - {0x44, 0, _image2415_size, 0, 0, 0, 0}, - { 0, 0, _image2416_size, 0, 0, 0, 0}, - { 0, 0, _image2417_size, 0, 0, 0, 0}, - {0xAA, 0, _image2418_size, 0, 0, 0, 0}, - { 0, 0, _image2419_size, 0, 0, 0, 0}, - { 0, 0, _image2420_size, 0, 0, 0, 0}, - { 0, 0, _image2421_size, 0, 0, 0, 0}, - { 0, 0, _image2422_size, 0, 0, 0, 0}, - { 0, 0, _image2423_size, 0, 0, 0, 0}, - { 0, 0, _image2424_size, 0, 0, 0, 0}, - { 0, 0, _image2425_size, 0, 0, 0, 0}, - { 0, 0, _image2426_size, 0, 0, 0, 0}, - { 0, 0, _image2427_size, 0, 0, 0, 0}, - { 0, 0, _image2428_size, 0, 0, 0, 0}, - {0x44, 0, _image2429_size, 0, 0, 0, 0}, - {0x33, 0, _image2430_size, 0, 0, 0, 0}, - {0x33, 0, _image2431_size, 0, 0, 0, 0}, - { 0, 0, _image2432_size, 0, 0, 0, 0}, - { 0, 0, _image2433_size, 0, 0, 0, 0}, - { 0, 0, _image2434_size, 0, 0, 0, 0}, - { 0, 0, _image2435_size, 0, 0, 0, 0}, - { 0, 0, _image2436_size, 0, 0, 0, 0}, - { 0, 0, _image2437_size, 0, 0, 0, 0}, - { 0, 0, _image2438_size, 0, 0, 0, 0}, - { 0, 0, _image2439_size, 0, 0, 0, 0}, - { 0, 0, _image2440_size, 0, 0, 0, 0}, - { 0, 0, _image2441_size, 0, 0, 0, 0}, - { 0, 0, _image2442_size, 0, 0, 0, 0}, - { 0, 0, _image2443_size, 0, 0, 0, 0}, - { 0, 0, _image2444_size, 0, 0, 0, 0}, - { 0, 0, _image2445_size, 0, 0, 0, 0}, - { 0, 0, _image2446_size, 0, 0, 0, 0}, - { 0, 0, _image2447_size, 0, 0, 0, 0}, - { 0, 0, _image2448_size, 0, 0, 0, 0}, - { 0, 0, _image2449_size, 0, 0, 0, 0}, - { 0, 0, _image2450_size, 0, 0, 0, 0}, - { 0, 0, _image2451_size, 0, 0, 0, 0}, - { 0, 0, _image2452_size, 0, 0, 0, 0}, - { 0, 0, _image2453_size, 0, 0, 0, 0}, - { 0, 0, _image2454_size, 0, 0, 0, 0}, - { 0, 0, _image2455_size, 0, 0, 0, 0}, - { 0, 0, _image2456_size, 0, 0, 0, 0}, - { 0, 0, _image2457_size, 0, 0, 0, 0}, - { 0, 0, _image2458_size, 0, 0, 0, 0}, - { 0, 0, _image2459_size, 0, 0, 0, 0}, - { 0, 0, _image2460_size, 0, 0, 0, 0}, - { 0, 0, _image2461_size, 0, 0, 0, 0}, - { 0, 0, _image2462_size, 0, 0, 0, 0}, - { 0, 0, _image2463_size, 0, 0, 0, 0}, - { 0, 0, _image2464_size, 0, 0, 0, 0}, - { 0, 0, _image2465_size, 0, 0, 0, 0}, - { 0, 0, _image2466_size, 0, 0, 0, 0}, - { 0, 0, _image2467_size, 0, 0, 0, 0}, - { 0, 0, _image2468_size, 0, 0, 0, 0}, - { 0, 0, _image2469_size, 0, 0, 0, 0}, - { 0, 0, _image2470_size, 0, 0, 0, 0}, - { 0, 0, _image2471_size, 0, 0, 0, 0}, - { 0, 0, _image2472_size, 0, 0, 0, 0}, - { 0, 0, _image2473_size, 0, 0, 0, 0}, - { 0, 0, _image2474_size, 0, 0, 0, 0}, - {0x11, 0, _image2475_size, 0, 0, 0, 0}, - { 0, 0, _image2476_size, 0, 0, 0, 0}, - { 0, 0, _image2477_size, 0, 0, 0, 0}, - { 0, 0, _image2478_size, 0, 0, 0, 0}, - { 0, 0, _image2479_size, 0, 0, 0, 0}, - { 0, 0, _image2480_size, 0, 0, 0, 0}, - { 0, 0, _image2481_size, 0, 0, 0, 0}, - { 0, 0, _image2482_size, 0, 0, 0, 0}, - { 0, 0, _image2483_size, 0, 0, 0, 0}, - { 0, 0, _image2484_size, 0, 0, 0, 0}, - { 0, 0, _image2485_size, 0, 0, 0, 0}, - { 0, 0, _image2486_size, 0, 0, 0, 0}, - { 0, 0, _image2487_size, 0, 0, 0, 0}, - { 0, 0, _image2488_size, 0, 0, 0, 0}, - { 0, 0, _image2489_size, 0, 0, 0, 0}, - { 0, 0, _image2490_size, 0, 0, 0, 0}, - { 0, 0, _image2491_size, 0, 0, 0, 0}, - { 0, 0, _image2492_size, 0, 0, 0, 0}, - { 0, 0, _image2493_size, 0, 0, 0, 0}, - { 0, 0, _image2494_size, 0, 0, 0, 0}, - { 0, 0, _image2495_size, 0, 0, 0, 0}, - { 0, 0, _image2496_size, 0, 0, 0, 0}, - { 0, 0, _image2497_size, 0, 0, 0, 0}, - { 0, 0, _image2498_size, 0, 0, 0, 0}, - { 0, 0, _image2499_size, 0, 0, 0, 0}, - { 0, 0, _image2500_size, 0, 0, 0, 0}, - { 0, 0, _image2501_size, 0, 0, 0, 0}, - { 0, 0, _image2502_size, 0, 0, 0, 0}, - { 0, 0, _image2503_size, 0, 0, 0, 0}, - { 0, 0, _image2504_size, 0, 0, 0, 0}, - { 0, 0, _image2505_size, 0, 0, 0, 0}, - { 0, 0, _image2506_size, 0, 0, 0, 0}, - { 0, 0, _image2507_size, 0, 0, 0, 0}, - { 0, 0, _image2508_size, 0, 0, 0, 0}, - { 0, 0, _image2509_size, 0, 0, 0, 0}, - { 0, 0, _image2510_size, 0, 0, 0, 0}, - { 0, 0, _image2511_size, 0, 0, 0, 0}, - { 0, 0, _image2512_size, 0, 0, 0, 0}, - { 0, 0, _image2513_size, 0, 0, 0, 0}, - { 0, 0, _image2514_size, 0, 0, 0, 0}, - { 0, 0, _image2515_size, 0, 0, 0, 0}, - { 0, 0, _image2516_size, 0, 0, 0, 0}, - { 0, 0, _image2517_size, 0, 0, 0, 0}, - { 0, 0, _image2518_size, 0, 0, 0, 0}, - { 0, 0, _image2519_size, 0, 0, 0, 0}, - { 0, 0, _image2520_size, 0, 0, 0, 0}, - { 0, 0, _image2521_size, 0, 0, 0, 0}, - { 0, 0, _image2522_size, 0, 0, 0, 0}, - { 0, 0, _image2523_size, 0, 0, 0, 0}, - { 0, 0, _image2524_size, 0, 0, 0, 0}, - { 0, 0, _image2525_size, 0, 0, 0, 0}, - { 0, 0, _image2526_size, 0, 0, 0, 0}, - { 0, 0, _image2527_size, 0, 0, 0, 0}, - { 0, 0, _image2528_size, 0, 0, 0, 0}, - { 0, 0, _image2529_size, 0, 0, 0, 0}, - { 0, 0, _image2530_size, 0, 0, 0, 0}, - { 0, 0, _image2531_size, 0, 0, 0, 0}, - { 0, 0, _image2532_size, 0, 0, 0, 0}, - { 0, 0, _image2533_size, 0, 0, 0, 0}, - { 0, 0, _image2534_size, 0, 0, 0, 0}, - { 0, 0, _image2535_size, 0, 0, 0, 0}, - { 0, 0, _image2536_size, 0, 0, 0, 0}, - { 0, 0, _image2537_size, 0, 0, 0, 0}, - { 0, 0, _image2538_size, 0, 0, 0, 0}, - { 0, 0, _image2539_size, 0, 0, 0, 0}, - { 0, 0, _image2540_size, 0, 0, 0, 0}, - { 0, 0, _image2541_size, 0, 0, 0, 0}, - { 0, 0, _image2542_size, 0, 0, 0, 0}, - { 0, 0, _image2543_size, 0, 0, 0, 0}, - { 0, 0, _image2544_size, 0, 0, 0, 0}, - { 0, 0, _image2545_size, 0, 0, 0, 0}, - { 0, 0, _image2546_size, 0, 0, 0, 0}, - { 0, 0, _image2547_size, 0, 0, 0, 0}, - { 0, 0, _image2548_size, 0, 0, 0, 0}, - { 0, 0, _image2549_size, 0, 0, 0, 0}, - { 0, 0, _image2550_size, 0, 0, 0, 0}, - { 0, 0, _image2551_size, 0, 0, 0, 0}, - { 0, 0, _image2552_size, 0, 0, 0, 0}, - { 0, 0, _image2553_size, 0, 0, 0, 0}, - { 0, 0, _image2554_size, 0, 0, 0, 0}, - { 0, 0, _image2555_size, 0, 0, 0, 0}, - { 0, 0, _image2556_size, 0, 0, 0, 0}, - { 0, 0, _image2557_size, 0, 0, 0, 0}, - { 0, 0, _image2558_size, 0, 0, 0, 0}, - { 0, 0, _image2559_size, 0, 0, 0, 0}, - { 0, 0, _image2560_size, 0, 0, 0, 0}, - { 0, 0, _image2561_size, 0, 0, 0, 0}, - { 0, 0, _image2562_size, 0, 0, 0, 0}, - { 0, 0, _image2563_size, 0, 0, 0, 0}, - { 0, 0, _image2564_size, 0, 0, 0, 0}, - { 0, 0, _image2565_size, 0, 0, 0, 0}, - { 0, 0, _image2566_size, 0, 0, 0, 0}, - { 0, 0, _image2567_size, 0, 0, 0, 0}, - { 0, 0, _image2568_size, 0, 0, 0, 0}, - { 0, 0, _image2569_size, 0, 0, 0, 0}, - { 0, 0, _image2570_size, 0, 0, 0, 0}, - { 0, 0, _image2571_size, 0, 0, 0, 0}, - { 0, 0, _image2572_size, 0, 0, 0, 0}, - { 0, 0, _image2573_size, 0, 0, 0, 0}, - { 0, 0, _image2574_size, 0, 0, 0, 0}, - { 0, 0, _image2575_size, 0, 0, 0, 0}, - { 0, 0, _image2576_size, 0, 0, 0, 0}, - { 0, 0, _image2577_size, 0, 0, 0, 0}, - { 0, 0, _image2578_size, 0, 0, 0, 0}, - { 0, 0, _image2579_size, 0, 0, 0, 0}, - { 0, 0, _image2580_size, 0, 0, 0, 0}, - { 0, 0, _image2581_size, 0, 0, 0, 0}, - { 0, 0, _image2582_size, 0, 0, 0, 0}, - { 0, 0, _image2583_size, 0, 0, 0, 0}, - { 0, 0, _image2584_size, 0, 0, 0, 0}, - { 0, 0, _image2585_size, 0, 0, 0, 0}, - { 0, 0, _image2586_size, 0, 0, 0, 0}, - { 0, 0, _image2587_size, 0, 0, 0, 0}, - { 0, 0, _image2588_size, 0, 0, 0, 0}, - { 0, 0, _image2589_size, 0, 0, 0, 0}, - { 0, 0, _image2590_size, 0, 0, 0, 0}, - { 0, 0, _image2591_size, 0, 0, 0, 0}, - { 0, 0, _image2592_size, 0, 0, 0, 0}, - { 0, 0, _image2593_size, 0, 0, 0, 0}, - { 0, 0, _image2594_size, 0, 0, 0, 0}, - { 0, 0, _image2595_size, 0, 0, 0, 0}, - { 0, 0, _image2596_size, 0, 0, 0, 0}, - { 0, 0, _image2597_size, 0, 0, 0, 0}, - { 0, 0, _image2598_size, 0, 0, 0, 0}, - { 0, 0, _image2599_size, 0, 0, 0, 0}, - { 0, 0, _image2600_size, 0, 0, 0, 0}, - { 0, 0, _image2601_size, 0, 0, 0, 0}, - { 0, 0, _image2602_size, 0, 0, 0, 0}, - { 0, 0, _image2603_size, 0, 0, 0, 0}, - { 0, 0, _image2604_size, 0, 0, 0, 0}, - { 0, 0, _image2605_size, 0, 0, 0, 0}, - { 0, 0, _image2606_size, 0, 0, 0, 0}, - { 0, 0, _image2607_size, 0, 0, 0, 0}, - { 0, 0, _image2608_size, 0, 0, 0, 0}, - { 0, 0, _image2609_size, 0, 0, 0, 0}, - { 0, 0, _image2610_size, 0, 0, 0, 0}, - { 0, 0, _image2611_size, 0, 0, 0, 0}, - { 0, 0, _image2612_size, 0, 0, 0, 0}, - { 0, 0, _image2613_size, 0, 0, 0, 0}, - { 0, 0, _image2614_size, 0, 0, 0, 0}, - { 0, 0, _image2615_size, 0, 0, 0, 0}, - { 0, 0, _image2616_size, 0, 0, 0, 0}, - { 0, 0, _image2617_size, 0, 0, 0, 0}, - { 0, 0, _image2618_size, 0, 0, 0, 0}, - { 0, 0, _image2619_size, 0, 0, 0, 0}, - { 0, 0, _image2620_size, 0, 0, 0, 0}, - { 0, 0, _image2621_size, 0, 0, 0, 0}, - { 0, 0, _image2622_size, 0, 0, 0, 0}, - { 0, 0, _image2623_size, 0, 0, 0, 0}, - { 0, 0, _image2624_size, 0, 0, 0, 0}, - { 0, 0, _image2625_size, 0, 0, 0, 0}, - { 0, 0, _image2626_size, 0, 0, 0, 0}, - { 0, 0, _image2627_size, 0, 0, 0, 0}, - { 0, 0, _image2628_size, 0, 0, 0, 0}, - { 0, 0, _image2629_size, 0, 0, 0, 0}, - { 0, 0, _image2630_size, 0, 0, 0, 0}, - { 0, 0, _image2631_size, 0, 0, 0, 0}, - { 0, 0, _image2632_size, 0, 0, 0, 0}, - { 0, 0, _image2633_size, 0, 0, 0, 0}, - { 0, 0, _image2634_size, 0, 0, 0, 0}, - { 0, 0, _image2635_size, 0, 0, 0, 0}, - { 0, 0, _image2636_size, 0, 0, 0, 0}, - { 0, 0, _image2637_size, 0, 0, 0, 0}, - { 0, 0, _image2638_size, 0, 0, 0, 0}, - { 0, 0, _image2639_size, 0, 0, 0, 0}, - { 0, 0, _image2640_size, 0, 0, 0, 0}, - { 0, 0, _image2641_size, 0, 0, 0, 0}, - { 0, 0, _image2642_size, 0, 0, 0, 0}, - { 0, 0, _image2643_size, 0, 0, 0, 0}, - { 0, 0, _image2644_size, 0, 0, 0, 0}, - { 0, 0, _image2645_size, 0, 0, 0, 0}, - { 0, 0, _image2646_size, 0, 0, 0, 0}, - { 0, 0, _image2647_size, 0, 0, 0, 0}, - { 0, 0, _image2648_size, 0, 0, 0, 0}, - { 0, 0, _image2649_size, 0, 0, 0, 0}, - { 0, 0, _image2650_size, 0, 0, 0, 0}, - { 0, 0, _image2651_size, 0, 0, 0, 0}, - { 0, 0, _image2652_size, 0, 0, 0, 0}, - { 0, 0, _image2653_size, 0, 0, 0, 0}, - { 0, 0, _image2654_size, 0, 0, 0, 0}, - { 0, 0, _image2655_size, 0, 0, 0, 0}, - { 0, 0, _image2656_size, 0, 0, 0, 0}, - { 0, 0, _image2657_size, 0, 0, 0, 0}, - { 0, 0, _image2658_size, 0, 0, 0, 0}, - { 0, 0, _image2659_size, 0, 0, 0, 0}, - { 0, 0, _image2660_size, 0, 0, 0, 0}, - { 0, 0, _image2661_size, 0, 0, 0, 0}, - { 0, 0, _image2662_size, 0, 0, 0, 0}, - { 0, 0, _image2663_size, 0, 0, 0, 0}, - { 0, 0, _image2664_size, 0, 0, 0, 0}, - { 0, 0, _image2665_size, 0, 0, 0, 0}, - { 0, 0, _image2666_size, 0, 0, 0, 0}, - { 0, 0, _image2667_size, 0, 0, 0, 0}, - { 0, 0, _image2668_size, 0, 0, 0, 0}, - { 0, 0, _image2669_size, 0, 0, 0, 0}, - { 0, 0, _image2670_size, 0, 0, 0, 0}, - { 0, 0, _image2671_size, 0, 0, 0, 0}, - { 0, 0, _image2672_size, 0, 0, 0, 0}, - { 0, 0, _image2673_size, 0, 0, 0, 0}, - { 0, 0, _image2674_size, 0, 0, 0, 0}, - { 0, 0, _image2675_size, 0, 0, 0, 0}, - { 0, 0, _image2676_size, 0, 0, 0, 0}, - { 0, 0, _image2677_size, 0, 0, 0, 0}, - { 0, 0, _image2678_size, 0, 0, 0, 0}, - { 0, 0, _image2679_size, 0, 0, 0, 0}, - { 0, 0, _image2680_size, 0, 0, 0, 0}, - { 0, 0, _image2681_size, 0, 0, 0, 0}, - { 0, 0, _image2682_size, 0, 0, 0, 0}, - { 0, 0, _image2683_size, 0, 0, 0, 0}, - { 0, 0, _image2684_size, 0, 0, 0, 0}, - { 0, 0, _image2685_size, 0, 0, 0, 0}, - { 0, 0, _image2686_size, 0, 0, 0, 0}, - { 0, 0, _image2687_size, 0, 0, 0, 0}, - { 0, 0, _image2688_size, 0, 0, 0, 0}, - { 0, 0, _image2689_size, 0, 0, 0, 0}, - { 0, 0, _image2690_size, 0, 0, 0, 0}, - { 0, 0, _image2691_size, 0, 0, 0, 0}, - { 0, 0, _image2692_size, 0, 0, 0, 0}, - { 0, 0, _image2693_size, 0, 0, 0, 0}, - { 0, 0, _image2694_size, 0, 0, 0, 0}, - { 0, 0, _image2695_size, 0, 0, 0, 0}, - { 0, 0, _image2696_size, 0, 0, 0, 0}, - { 0, 0, _image2697_size, 0, 0, 0, 0}, - { 0, 0, _image2698_size, 0, 0, 0, 0}, - { 0, 0, 0xFFFF, 0, 0, 0, 0} -}; - - - -void nullsub_41(void) { - return; -} - - - - - - -#ifdef NONMATCHING -void image_related_calls_decompressdata_function(void) { - -} -#else -GLOBAL_ASM( -.text -glabel image_related_calls_decompressdata_function -/* 0FB188 7F0C6658 27BDD458 */ addiu $sp, $sp, -0x2ba8 -/* 0FB18C 7F0C665C AFBF004C */ sw $ra, 0x4c($sp) -/* 0FB190 7F0C6660 AFB5003C */ sw $s5, 0x3c($sp) -/* 0FB194 7F0C6664 AFB1002C */ sw $s1, 0x2c($sp) -/* 0FB198 7F0C6668 AFBE0048 */ sw $fp, 0x48($sp) -/* 0FB19C 7F0C666C AFB70044 */ sw $s7, 0x44($sp) -/* 0FB1A0 7F0C6670 AFB60040 */ sw $s6, 0x40($sp) -/* 0FB1A4 7F0C6674 AFB40038 */ sw $s4, 0x38($sp) -/* 0FB1A8 7F0C6678 AFB30034 */ sw $s3, 0x34($sp) -/* 0FB1AC 7F0C667C AFB20030 */ sw $s2, 0x30($sp) -/* 0FB1B0 7F0C6680 AFB00028 */ sw $s0, 0x28($sp) -/* 0FB1B4 7F0C6684 AFA52BAC */ sw $a1, 0x2bac($sp) -/* 0FB1B8 7F0C6688 AFA62BB0 */ sw $a2, 0x2bb0($sp) -/* 0FB1BC 7F0C668C AFA72BB4 */ sw $a3, 0x2bb4($sp) -/* 0FB1C0 7F0C6690 00008825 */ move $s1, $zero -/* 0FB1C4 7F0C6694 0FC32FC4 */ jal makeemptyimageatpos -/* 0FB1C8 7F0C6698 0000A825 */ move $s5, $zero -/* 0FB1CC 7F0C669C 8FA62BB0 */ lw $a2, 0x2bb0($sp) -/* 0FB1D0 7F0C66A0 8FA72BB4 */ lw $a3, 0x2bb4($sp) -/* 0FB1D4 7F0C66A4 00004025 */ move $t0, $zero -/* 0FB1D8 7F0C66A8 50C00006 */ beql $a2, $zero, .L7F0C66C4 -/* 0FB1DC 7F0C66AC 240E0001 */ li $t6, 1 -/* 0FB1E0 7F0C66B0 50E00004 */ beql $a3, $zero, .L7F0C66C4 -/* 0FB1E4 7F0C66B4 240E0001 */ li $t6, 1 -/* 0FB1E8 7F0C66B8 10000004 */ b .L7F0C66CC -/* 0FB1EC 7F0C66BC AFA72B9C */ sw $a3, 0x2b9c($sp) -/* 0FB1F0 7F0C66C0 240E0001 */ li $t6, 1 -.L7F0C66C4: -/* 0FB1F4 7F0C66C4 8FA72BB4 */ lw $a3, 0x2bb4($sp) -/* 0FB1F8 7F0C66C8 AFAE2B9C */ sw $t6, 0x2b9c($sp) -.L7F0C66CC: -/* 0FB1FC 7F0C66CC 8FBE2BB8 */ lw $fp, 0x2bb8($sp) -/* 0FB200 7F0C66D0 0007C940 */ sll $t9, $a3, 5 -/* 0FB204 7F0C66D4 00066940 */ sll $t5, $a2, 5 -/* 0FB208 7F0C66D8 8FC3000C */ lw $v1, 0xc($fp) -/* 0FB20C 7F0C66DC 31AE0020 */ andi $t6, $t5, 0x20 -/* 0FB210 7F0C66E0 3C058009 */ lui $a1, %hi(dword_CODE_bss_8008D090) -/* 0FB214 7F0C66E4 9069000B */ lbu $t1, 0xb($v1) -/* 0FB218 7F0C66E8 312AFF1F */ andi $t2, $t1, 0xff1f -/* 0FB21C 7F0C66EC 032A5825 */ or $t3, $t9, $t2 -/* 0FB220 7F0C66F0 A06B000B */ sb $t3, 0xb($v1) -/* 0FB224 7F0C66F4 8FC3000C */ lw $v1, 0xc($fp) -/* 0FB228 7F0C66F8 906F000C */ lbu $t7, 0xc($v1) -/* 0FB22C 7F0C66FC 31F8FFDF */ andi $t8, $t7, 0xffdf -/* 0FB230 7F0C6700 01D84825 */ or $t1, $t6, $t8 -/* 0FB234 7F0C6704 10C00015 */ beqz $a2, .L7F0C675C -/* 0FB238 7F0C6708 A069000C */ sb $t1, 0xc($v1) -/* 0FB23C 7F0C670C 8CA5D090 */ lw $a1, %lo(dword_CODE_bss_8008D090)($a1) -/* 0FB240 7F0C6710 24150001 */ li $s5, 1 -/* 0FB244 7F0C6714 18A00011 */ blez $a1, .L7F0C675C -/* 0FB248 7F0C6718 00000000 */ nop -/* 0FB24C 7F0C671C 8FD9000C */ lw $t9, 0xc($fp) -/* 0FB250 7F0C6720 3C0B8009 */ lui $t3, %hi(word_CODE_bss_8008C730) -/* 0FB254 7F0C6724 2562C730 */ addiu $v0, $t3, %lo(word_CODE_bss_8008C730) -/* 0FB258 7F0C6728 8F230000 */ lw $v1, ($t9) -/* 0FB25C 7F0C672C 00056100 */ sll $t4, $a1, 4 -/* 0FB260 7F0C6730 01822021 */ addu $a0, $t4, $v0 -/* 0FB264 7F0C6734 00035502 */ srl $t2, $v1, 0x14 -/* 0FB268 7F0C6738 01401825 */ move $v1, $t2 -/* 0FB26C 7F0C673C 844D0000 */ lh $t5, ($v0) -.L7F0C6740: -/* 0FB270 7F0C6740 24420010 */ addiu $v0, $v0, 0x10 -/* 0FB274 7F0C6744 0044082B */ sltu $at, $v0, $a0 -/* 0FB278 7F0C6748 146D0002 */ bne $v1, $t5, .L7F0C6754 -/* 0FB27C 7F0C674C 00000000 */ nop -/* 0FB280 7F0C6750 0000A825 */ move $s5, $zero -.L7F0C6754: -/* 0FB284 7F0C6754 5420FFFA */ bnezl $at, .L7F0C6740 -/* 0FB288 7F0C6758 844D0000 */ lh $t5, ($v0) -.L7F0C675C: -/* 0FB28C 7F0C675C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FB290 7F0C6760 24040008 */ li $a0, 8 -/* 0FB294 7F0C6764 AFA22B94 */ sw $v0, 0x2b94($sp) -/* 0FB298 7F0C6768 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FB29C 7F0C676C 24040008 */ li $a0, 8 -/* 0FB2A0 7F0C6770 24430001 */ addiu $v1, $v0, 1 -/* 0FB2A4 7F0C6774 1860000D */ blez $v1, .L7F0C67AC -/* 0FB2A8 7F0C6778 AFA32B78 */ sw $v1, 0x2b78($sp) -/* 0FB2AC 7F0C677C 8FAE2B78 */ lw $t6, 0x2b78($sp) -/* 0FB2B0 7F0C6780 27A30070 */ addiu $v1, $sp, 0x70 -/* 0FB2B4 7F0C6784 000EC040 */ sll $t8, $t6, 1 -/* 0FB2B8 7F0C6788 03038021 */ addu $s0, $t8, $v1 -.L7F0C678C: -/* 0FB2BC 7F0C678C 24040010 */ li $a0, 16 -/* 0FB2C0 7F0C6790 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FB2C4 7F0C6794 AFA3005C */ sw $v1, 0x5c($sp) -/* 0FB2C8 7F0C6798 8FA3005C */ lw $v1, 0x5c($sp) -/* 0FB2CC 7F0C679C 24630002 */ addiu $v1, $v1, 2 -/* 0FB2D0 7F0C67A0 0070082B */ sltu $at, $v1, $s0 -/* 0FB2D4 7F0C67A4 1420FFF9 */ bnez $at, .L7F0C678C -/* 0FB2D8 7F0C67A8 A462FFFE */ sh $v0, -2($v1) -.L7F0C67AC: -/* 0FB2DC 7F0C67AC 8FA92B9C */ lw $t1, 0x2b9c($sp) -/* 0FB2E0 7F0C67B0 3C178005 */ lui $s7, %hi(n64imagetypes) -/* 0FB2E4 7F0C67B4 26F79248 */ addiu $s7, %lo(n64imagetypes) # addiu $s7, $s7, -0x6db8 -/* 0FB2E8 7F0C67B8 19200064 */ blez $t1, .L7F0C694C -/* 0FB2EC 7F0C67BC 00009825 */ move $s3, $zero -/* 0FB2F0 7F0C67C0 27B42370 */ addiu $s4, $sp, 0x2370 -.L7F0C67C4: -/* 0FB2F4 7F0C67C4 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FB2F8 7F0C67C8 24040008 */ li $a0, 8 -/* 0FB2FC 7F0C67CC 0040B025 */ move $s6, $v0 -/* 0FB300 7F0C67D0 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FB304 7F0C67D4 24040008 */ li $a0, 8 -/* 0FB308 7F0C67D8 16600029 */ bnez $s3, .L7F0C6880 -/* 0FB30C 7F0C67DC AFA22B84 */ sw $v0, 0x2b84($sp) -/* 0FB310 7F0C67E0 8FD9000C */ lw $t9, 0xc($fp) -/* 0FB314 7F0C67E4 A3360008 */ sb $s6, 8($t9) -/* 0FB318 7F0C67E8 8FCA000C */ lw $t2, 0xc($fp) -/* 0FB31C 7F0C67EC A1420009 */ sb $v0, 9($t2) -/* 0FB320 7F0C67F0 8FAC2B78 */ lw $t4, 0x2b78($sp) -/* 0FB324 7F0C67F4 8FCD000C */ lw $t5, 0xc($fp) -/* 0FB328 7F0C67F8 258BFFFF */ addiu $t3, $t4, -1 -/* 0FB32C 7F0C67FC A1AB000A */ sb $t3, 0xa($t5) -/* 0FB330 7F0C6800 8FA42B94 */ lw $a0, 0x2b94($sp) -/* 0FB334 7F0C6804 8FC3000C */ lw $v1, 0xc($fp) -/* 0FB338 7F0C6808 00047080 */ sll $t6, $a0, 2 -/* 0FB33C 7F0C680C 02EEC021 */ addu $t8, $s7, $t6 -/* 0FB340 7F0C6810 8F090000 */ lw $t1, ($t8) -/* 0FB344 7F0C6814 906C000B */ lbu $t4, 0xb($v1) -/* 0FB348 7F0C6818 01C02025 */ move $a0, $t6 -/* 0FB34C 7F0C681C 0009C880 */ sll $t9, $t1, 2 -/* 0FB350 7F0C6820 332A001C */ andi $t2, $t9, 0x1c -/* 0FB354 7F0C6824 318BFFE3 */ andi $t3, $t4, 0xffe3 -/* 0FB358 7F0C6828 014B6825 */ or $t5, $t2, $t3 -/* 0FB35C 7F0C682C A06D000B */ sb $t5, 0xb($v1) -/* 0FB360 7F0C6830 8FC3000C */ lw $v1, 0xc($fp) -/* 0FB364 7F0C6834 3C0E8005 */ lui $t6, %hi(n64pixelsizes) -/* 0FB368 7F0C6838 01C47021 */ addu $t6, $t6, $a0 -/* 0FB36C 7F0C683C 8DD8927C */ lw $t8, %lo(n64pixelsizes)($t6) -/* 0FB370 7F0C6840 9069000B */ lbu $t1, 0xb($v1) -/* 0FB374 7F0C6844 3C0A8005 */ lui $t2, %hi(imgflipvalues) -/* 0FB378 7F0C6848 330F0003 */ andi $t7, $t8, 3 -/* 0FB37C 7F0C684C 3139FFFC */ andi $t9, $t1, 0xfffc -/* 0FB380 7F0C6850 01F96025 */ or $t4, $t7, $t9 -/* 0FB384 7F0C6854 A06C000B */ sb $t4, 0xb($v1) -/* 0FB388 7F0C6858 8FC3000C */ lw $v1, 0xc($fp) -/* 0FB38C 7F0C685C 01445021 */ addu $t2, $t2, $a0 -/* 0FB390 7F0C6860 8D4A92B0 */ lw $t2, %lo(imgflipvalues)($t2) -/* 0FB394 7F0C6864 9069000C */ lbu $t1, 0xc($v1) -/* 0FB398 7F0C6868 000A6B83 */ sra $t5, $t2, 0xe -/* 0FB39C 7F0C686C 000DC180 */ sll $t8, $t5, 6 -/* 0FB3A0 7F0C6870 312FFF3F */ andi $t7, $t1, 0xff3f -/* 0FB3A4 7F0C6874 030FC825 */ or $t9, $t8, $t7 -/* 0FB3A8 7F0C6878 1000000B */ b .L7F0C68A8 -/* 0FB3AC 7F0C687C A079000C */ sb $t9, 0xc($v1) -.L7F0C6880: -/* 0FB3B0 7F0C6880 12A00009 */ beqz $s5, .L7F0C68A8 -/* 0FB3B4 7F0C6884 3C0C8009 */ lui $t4, %hi(dword_CODE_bss_8008D090) -/* 0FB3B8 7F0C6888 8D8CD090 */ lw $t4, %lo(dword_CODE_bss_8008D090)($t4) -/* 0FB3BC 7F0C688C 3C0D8009 */ lui $t5, %hi(word_CODE_bss_8008C730) -/* 0FB3C0 7F0C6890 25ADC730 */ addiu $t5, %lo(word_CODE_bss_8008C730) # addiu $t5, $t5, -0x38d0 -/* 0FB3C4 7F0C6894 000C5100 */ sll $t2, $t4, 4 -/* 0FB3C8 7F0C6898 01535821 */ addu $t3, $t2, $s3 -/* 0FB3CC 7F0C689C 016D1821 */ addu $v1, $t3, $t5 -/* 0FB3D0 7F0C68A0 A0760001 */ sb $s6, 1($v1) -/* 0FB3D4 7F0C68A4 A0620008 */ sb $v0, 8($v1) -.L7F0C68A8: -/* 0FB3D8 7F0C68A8 02C20019 */ multu $s6, $v0 -/* 0FB3DC 7F0C68AC 3C048009 */ lui $a0, %hi(img_curpos) -/* 0FB3E0 7F0C68B0 02802825 */ move $a1, $s4 -/* 0FB3E4 7F0C68B4 27A60270 */ addiu $a2, $sp, 0x270 -/* 0FB3E8 7F0C68B8 00007012 */ mflo $t6 -/* 0FB3EC 7F0C68BC 29C11001 */ slti $at, $t6, 0x1001 -/* 0FB3F0 7F0C68C0 14200003 */ bnez $at, .L7F0C68D0 -/* 0FB3F4 7F0C68C4 00000000 */ nop -/* 0FB3F8 7F0C68C8 100000B3 */ b .L7F0C6B98 -/* 0FB3FC 7F0C68CC 00001025 */ move $v0, $zero -.L7F0C68D0: -/* 0FB400 7F0C68D0 0FC339FC */ jal decompressdata -/* 0FB404 7F0C68D4 8C84D0A0 */ lw $a0, %lo(img_curpos)($a0) -/* 0FB408 7F0C68D8 8FA92BAC */ lw $t1, 0x2bac($sp) -/* 0FB40C 7F0C68DC 02802025 */ move $a0, $s4 -/* 0FB410 7F0C68E0 02C02825 */ move $a1, $s6 -/* 0FB414 7F0C68E4 01318021 */ addu $s0, $t1, $s1 -/* 0FB418 7F0C68E8 AFB00010 */ sw $s0, 0x10($sp) -/* 0FB41C 7F0C68EC 8FA62B84 */ lw $a2, 0x2b84($sp) -/* 0FB420 7F0C68F0 0FC31AF2 */ jal copy_loaded_image_to_final_mem_location -/* 0FB424 7F0C68F4 8FA72B94 */ lw $a3, 0x2b94($sp) -/* 0FB428 7F0C68F8 0FC33A25 */ jal sub_GAME_7F0CE894 -/* 0FB42C 7F0C68FC 00409025 */ move $s2, $v0 -/* 0FB430 7F0C6900 0FC32FC4 */ jal makeemptyimageatpos -/* 0FB434 7F0C6904 00402025 */ move $a0, $v0 -/* 0FB438 7F0C6908 8FB82BB0 */ lw $t8, 0x2bb0($sp) -/* 0FB43C 7F0C690C 24010001 */ li $at, 1 -/* 0FB440 7F0C6910 8FAF2BB4 */ lw $t7, 0x2bb4($sp) -/* 0FB444 7F0C6914 57010008 */ bnel $t8, $at, .L7F0C6938 -/* 0FB448 7F0C6918 8FB92B9C */ lw $t9, 0x2b9c($sp) -/* 0FB44C 7F0C691C 19E00005 */ blez $t7, .L7F0C6934 -/* 0FB450 7F0C6920 02002025 */ move $a0, $s0 -/* 0FB454 7F0C6924 02C02825 */ move $a1, $s6 -/* 0FB458 7F0C6928 8FA62B84 */ lw $a2, 0x2b84($sp) -/* 0FB45C 7F0C692C 0FC32D9F */ jal sub_GAME_7F0CB67C -/* 0FB460 7F0C6930 8FA72B94 */ lw $a3, 0x2b94($sp) -.L7F0C6934: -/* 0FB464 7F0C6934 8FB92B9C */ lw $t9, 0x2b9c($sp) -.L7F0C6938: -/* 0FB468 7F0C6938 26730001 */ addiu $s3, $s3, 1 -/* 0FB46C 7F0C693C 02328821 */ addu $s1, $s1, $s2 -/* 0FB470 7F0C6940 1679FFA0 */ bne $s3, $t9, .L7F0C67C4 -/* 0FB474 7F0C6944 00000000 */ nop -/* 0FB478 7F0C6948 AFB62B88 */ sw $s6, 0x2b88($sp) -.L7F0C694C: -/* 0FB47C 7F0C694C 8FB62B88 */ lw $s6, 0x2b88($sp) -/* 0FB480 7F0C6950 12A00010 */ beqz $s5, .L7F0C6994 -/* 0FB484 7F0C6954 00004025 */ move $t0, $zero -/* 0FB488 7F0C6958 8FCC000C */ lw $t4, 0xc($fp) -/* 0FB48C 7F0C695C 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D090) -/* 0FB490 7F0C6960 2442D090 */ addiu $v0, %lo(dword_CODE_bss_8008D090) # addiu $v0, $v0, -0x2f70 -/* 0FB494 7F0C6964 8C450000 */ lw $a1, ($v0) -/* 0FB498 7F0C6968 8D8A0000 */ lw $t2, ($t4) -/* 0FB49C 7F0C696C 3C018009 */ lui $at, %hi(word_CODE_bss_8008C730) -/* 0FB4A0 7F0C6970 00056900 */ sll $t5, $a1, 4 -/* 0FB4A4 7F0C6974 002D0821 */ addu $at, $at, $t5 -/* 0FB4A8 7F0C6978 000A5D02 */ srl $t3, $t2, 0x14 -/* 0FB4AC 7F0C697C A42BC730 */ sh $t3, %lo(word_CODE_bss_8008C730)($at) -/* 0FB4B0 7F0C6980 24AE0001 */ addiu $t6, $a1, 1 -/* 0FB4B4 7F0C6984 29C10096 */ slti $at, $t6, 0x96 -/* 0FB4B8 7F0C6988 14200002 */ bnez $at, .L7F0C6994 -/* 0FB4BC 7F0C698C AC4E0000 */ sw $t6, ($v0) -/* 0FB4C0 7F0C6990 AC400000 */ sw $zero, ($v0) -.L7F0C6994: -/* 0FB4C4 7F0C6994 8FB82BB0 */ lw $t8, 0x2bb0($sp) -/* 0FB4C8 7F0C6998 8FAF2BB4 */ lw $t7, 0x2bb4($sp) -/* 0FB4CC 7F0C699C 17000046 */ bnez $t8, .L7F0C6AB8 -/* 0FB4D0 7F0C69A0 29F90002 */ slti $t9, $t7, 2 -/* 0FB4D4 7F0C69A4 3B390001 */ xori $t9, $t9, 1 -/* 0FB4D8 7F0C69A8 1320003A */ beqz $t9, .L7F0C6A94 -/* 0FB4DC 7F0C69AC 8FAE2BB4 */ lw $t6, 0x2bb4($sp) -/* 0FB4E0 7F0C69B0 8FB72BAC */ lw $s7, 0x2bac($sp) -/* 0FB4E4 7F0C69B4 02C0A025 */ move $s4, $s6 -/* 0FB4E8 7F0C69B8 8FB52B84 */ lw $s5, 0x2b84($sp) -/* 0FB4EC 7F0C69BC 24130001 */ li $s3, 1 -/* 0FB4F0 7F0C69C0 1320002C */ beqz $t9, .L7F0C6A74 -/* 0FB4F4 7F0C69C4 02F18021 */ addu $s0, $s7, $s1 -/* 0FB4F8 7F0C69C8 27B60070 */ addiu $s6, $sp, 0x70 -.L7F0C69CC: -/* 0FB4FC 7F0C69CC 8FAA2B94 */ lw $t2, 0x2b94($sp) -/* 0FB500 7F0C69D0 8FAB2B78 */ lw $t3, 0x2b78($sp) -/* 0FB504 7F0C69D4 02E02025 */ move $a0, $s7 -/* 0FB508 7F0C69D8 02002825 */ move $a1, $s0 -/* 0FB50C 7F0C69DC 02803025 */ move $a2, $s4 -/* 0FB510 7F0C69E0 02A03825 */ move $a3, $s5 -/* 0FB514 7F0C69E4 AFB60014 */ sw $s6, 0x14($sp) -/* 0FB518 7F0C69E8 AFA82BA4 */ sw $t0, 0x2ba4($sp) -/* 0FB51C 7F0C69EC AFAA0010 */ sw $t2, 0x10($sp) -/* 0FB520 7F0C69F0 0FC31B1C */ jal sub_GAME_7F0C6C70 -/* 0FB524 7F0C69F4 AFAB0018 */ sw $t3, 0x18($sp) -/* 0FB528 7F0C69F8 02226821 */ addu $t5, $s1, $v0 -/* 0FB52C 7F0C69FC 29A10801 */ slti $at, $t5, 0x801 -/* 0FB530 7F0C6A00 8FA82BA4 */ lw $t0, 0x2ba4($sp) -/* 0FB534 7F0C6A04 14200008 */ bnez $at, .L7F0C6A28 -/* 0FB538 7F0C6A08 00409025 */ move $s2, $v0 -/* 0FB53C 7F0C6A0C 8FC3000C */ lw $v1, 0xc($fp) -/* 0FB540 7F0C6A10 0013C140 */ sll $t8, $s3, 5 -/* 0FB544 7F0C6A14 906F000B */ lbu $t7, 0xb($v1) -/* 0FB548 7F0C6A18 31ECFF1F */ andi $t4, $t7, 0xff1f -/* 0FB54C 7F0C6A1C 030CC825 */ or $t9, $t8, $t4 -/* 0FB550 7F0C6A20 10000014 */ b .L7F0C6A74 -/* 0FB554 7F0C6A24 A079000B */ sb $t9, 0xb($v1) -.L7F0C6A28: -/* 0FB558 7F0C6A28 02E02025 */ move $a0, $s7 -/* 0FB55C 7F0C6A2C 02802825 */ move $a1, $s4 -/* 0FB560 7F0C6A30 02A03025 */ move $a2, $s5 -/* 0FB564 7F0C6A34 8FA72B94 */ lw $a3, 0x2b94($sp) -/* 0FB568 7F0C6A38 0FC32D9F */ jal sub_GAME_7F0CB67C -/* 0FB56C 7F0C6A3C AFA82BA4 */ sw $t0, 0x2ba4($sp) -/* 0FB570 7F0C6A40 8FAD2BB4 */ lw $t5, 0x2bb4($sp) -/* 0FB574 7F0C6A44 26940001 */ addiu $s4, $s4, 1 -/* 0FB578 7F0C6A48 26B50001 */ addiu $s5, $s5, 1 -/* 0FB57C 7F0C6A4C 26730001 */ addiu $s3, $s3, 1 -/* 0FB580 7F0C6A50 00145043 */ sra $t2, $s4, 1 -/* 0FB584 7F0C6A54 00155843 */ sra $t3, $s5, 1 -/* 0FB588 7F0C6A58 0200B825 */ move $s7, $s0 -/* 0FB58C 7F0C6A5C 8FA82BA4 */ lw $t0, 0x2ba4($sp) -/* 0FB590 7F0C6A60 02328821 */ addu $s1, $s1, $s2 -/* 0FB594 7F0C6A64 0140A025 */ move $s4, $t2 -/* 0FB598 7F0C6A68 0160A825 */ move $s5, $t3 -/* 0FB59C 7F0C6A6C 166DFFD7 */ bne $s3, $t5, .L7F0C69CC -/* 0FB5A0 7F0C6A70 02128021 */ addu $s0, $s0, $s2 -.L7F0C6A74: -/* 0FB5A4 7F0C6A74 02E02025 */ move $a0, $s7 -/* 0FB5A8 7F0C6A78 02802825 */ move $a1, $s4 -/* 0FB5AC 7F0C6A7C 02A03025 */ move $a2, $s5 -/* 0FB5B0 7F0C6A80 8FA72B94 */ lw $a3, 0x2b94($sp) -/* 0FB5B4 7F0C6A84 0FC32D9F */ jal sub_GAME_7F0CB67C -/* 0FB5B8 7F0C6A88 AFA82BA4 */ sw $t0, 0x2ba4($sp) -/* 0FB5BC 7F0C6A8C 1000000A */ b .L7F0C6AB8 -/* 0FB5C0 7F0C6A90 8FA82BA4 */ lw $t0, 0x2ba4($sp) -.L7F0C6A94: -/* 0FB5C4 7F0C6A94 24010001 */ li $at, 1 -/* 0FB5C8 7F0C6A98 15C10007 */ bne $t6, $at, .L7F0C6AB8 -/* 0FB5CC 7F0C6A9C 8FA42BAC */ lw $a0, 0x2bac($sp) -/* 0FB5D0 7F0C6AA0 02C02825 */ move $a1, $s6 -/* 0FB5D4 7F0C6AA4 8FA62B84 */ lw $a2, 0x2b84($sp) -/* 0FB5D8 7F0C6AA8 8FA72B94 */ lw $a3, 0x2b94($sp) -/* 0FB5DC 7F0C6AAC 0FC32D9F */ jal sub_GAME_7F0CB67C -/* 0FB5E0 7F0C6AB0 AFA82BA4 */ sw $t0, 0x2ba4($sp) -/* 0FB5E4 7F0C6AB4 8FA82BA4 */ lw $t0, 0x2ba4($sp) -.L7F0C6AB8: -/* 0FB5E8 7F0C6AB8 8FA92B78 */ lw $t1, 0x2b78($sp) -/* 0FB5EC 7F0C6ABC 8FAF2BAC */ lw $t7, 0x2bac($sp) -/* 0FB5F0 7F0C6AC0 2401FFF8 */ li $at, -8 -/* 0FB5F4 7F0C6AC4 19200032 */ blez $t1, .L7F0C6B90 -/* 0FB5F8 7F0C6AC8 31240003 */ andi $a0, $t1, 3 -/* 0FB5FC 7F0C6ACC 10800012 */ beqz $a0, .L7F0C6B18 -/* 0FB600 7F0C6AD0 01F18021 */ addu $s0, $t7, $s1 -/* 0FB604 7F0C6AD4 0008C040 */ sll $t8, $t0, 1 -/* 0FB608 7F0C6AD8 27AC0070 */ addiu $t4, $sp, 0x70 -/* 0FB60C 7F0C6ADC 030C1821 */ addu $v1, $t8, $t4 -/* 0FB610 7F0C6AE0 00801025 */ move $v0, $a0 -.L7F0C6AE4: -/* 0FB614 7F0C6AE4 94790000 */ lhu $t9, ($v1) -/* 0FB618 7F0C6AE8 25080001 */ addiu $t0, $t0, 1 -/* 0FB61C 7F0C6AEC 26310002 */ addiu $s1, $s1, 2 -/* 0FB620 7F0C6AF0 00195203 */ sra $t2, $t9, 8 -/* 0FB624 7F0C6AF4 A20A0000 */ sb $t2, ($s0) -/* 0FB628 7F0C6AF8 946D0000 */ lhu $t5, ($v1) -/* 0FB62C 7F0C6AFC 26100002 */ addiu $s0, $s0, 2 -/* 0FB630 7F0C6B00 24630002 */ addiu $v1, $v1, 2 -/* 0FB634 7F0C6B04 1448FFF7 */ bne $v0, $t0, .L7F0C6AE4 -/* 0FB638 7F0C6B08 A20DFFFF */ sb $t5, -1($s0) -/* 0FB63C 7F0C6B0C 8FAE2B78 */ lw $t6, 0x2b78($sp) -/* 0FB640 7F0C6B10 510E0020 */ beql $t0, $t6, .L7F0C6B94 -/* 0FB644 7F0C6B14 26310007 */ addiu $s1, $s1, 7 -.L7F0C6B18: -/* 0FB648 7F0C6B18 8FB82B78 */ lw $t8, 0x2b78($sp) -/* 0FB64C 7F0C6B1C 27A90070 */ addiu $t1, $sp, 0x70 -/* 0FB650 7F0C6B20 00087840 */ sll $t7, $t0, 1 -/* 0FB654 7F0C6B24 00186040 */ sll $t4, $t8, 1 -/* 0FB658 7F0C6B28 01891021 */ addu $v0, $t4, $t1 -/* 0FB65C 7F0C6B2C 01E91821 */ addu $v1, $t7, $t1 -.L7F0C6B30: -/* 0FB660 7F0C6B30 94790000 */ lhu $t9, ($v1) -/* 0FB664 7F0C6B34 24630008 */ addiu $v1, $v1, 8 -/* 0FB668 7F0C6B38 26310008 */ addiu $s1, $s1, 8 -/* 0FB66C 7F0C6B3C 00195203 */ sra $t2, $t9, 8 -/* 0FB670 7F0C6B40 A20A0000 */ sb $t2, ($s0) -/* 0FB674 7F0C6B44 946DFFF8 */ lhu $t5, -8($v1) -/* 0FB678 7F0C6B48 26100008 */ addiu $s0, $s0, 8 -/* 0FB67C 7F0C6B4C A20DFFF9 */ sb $t5, -7($s0) -/* 0FB680 7F0C6B50 946EFFFA */ lhu $t6, -6($v1) -/* 0FB684 7F0C6B54 000E7A03 */ sra $t7, $t6, 8 -/* 0FB688 7F0C6B58 A20FFFFA */ sb $t7, -6($s0) -/* 0FB68C 7F0C6B5C 946CFFFA */ lhu $t4, -6($v1) -/* 0FB690 7F0C6B60 A20CFFFB */ sb $t4, -5($s0) -/* 0FB694 7F0C6B64 9469FFFC */ lhu $t1, -4($v1) -/* 0FB698 7F0C6B68 0009CA03 */ sra $t9, $t1, 8 -/* 0FB69C 7F0C6B6C A219FFFC */ sb $t9, -4($s0) -/* 0FB6A0 7F0C6B70 946BFFFC */ lhu $t3, -4($v1) -/* 0FB6A4 7F0C6B74 A20BFFFD */ sb $t3, -3($s0) -/* 0FB6A8 7F0C6B78 946DFFFE */ lhu $t5, -2($v1) -/* 0FB6AC 7F0C6B7C 000D7203 */ sra $t6, $t5, 8 -/* 0FB6B0 7F0C6B80 A20EFFFE */ sb $t6, -2($s0) -/* 0FB6B4 7F0C6B84 9478FFFE */ lhu $t8, -2($v1) -/* 0FB6B8 7F0C6B88 1462FFE9 */ bne $v1, $v0, .L7F0C6B30 -/* 0FB6BC 7F0C6B8C A218FFFF */ sb $t8, -1($s0) -.L7F0C6B90: -/* 0FB6C0 7F0C6B90 26310007 */ addiu $s1, $s1, 7 -.L7F0C6B94: -/* 0FB6C4 7F0C6B94 02211024 */ and $v0, $s1, $at -.L7F0C6B98: -/* 0FB6C8 7F0C6B98 8FBF004C */ lw $ra, 0x4c($sp) -/* 0FB6CC 7F0C6B9C 8FB00028 */ lw $s0, 0x28($sp) -/* 0FB6D0 7F0C6BA0 8FB1002C */ lw $s1, 0x2c($sp) -/* 0FB6D4 7F0C6BA4 8FB20030 */ lw $s2, 0x30($sp) -/* 0FB6D8 7F0C6BA8 8FB30034 */ lw $s3, 0x34($sp) -/* 0FB6DC 7F0C6BAC 8FB40038 */ lw $s4, 0x38($sp) -/* 0FB6E0 7F0C6BB0 8FB5003C */ lw $s5, 0x3c($sp) -/* 0FB6E4 7F0C6BB4 8FB60040 */ lw $s6, 0x40($sp) -/* 0FB6E8 7F0C6BB8 8FB70044 */ lw $s7, 0x44($sp) -/* 0FB6EC 7F0C6BBC 8FBE0048 */ lw $fp, 0x48($sp) -/* 0FB6F0 7F0C6BC0 03E00008 */ jr $ra -/* 0FB6F4 7F0C6BC4 27BD2BA8 */ addiu $sp, $sp, 0x2ba8 -) -#endif - - - - - -#ifdef NONMATCHING -void copy_loaded_image_to_final_mem_location(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copy_loaded_image_to_final_mem_location -/* 0FB6F8 7F0C6BC8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0FB6FC 7F0C6BCC AFB1000C */ sw $s1, 0xc($sp) -/* 0FB700 7F0C6BD0 AFB00008 */ sw $s0, 8($sp) -/* 0FB704 7F0C6BD4 24010009 */ li $at, 9 -/* 0FB708 7F0C6BD8 00A08025 */ move $s0, $a1 -/* 0FB70C 7F0C6BDC 00808825 */ move $s1, $a0 -/* 0FB710 7F0C6BE0 10E10004 */ beq $a3, $at, .L7F0C6BF4 -/* 0FB714 7F0C6BE4 8FA30030 */ lw $v1, 0x30($sp) -/* 0FB718 7F0C6BE8 2401000B */ li $at, 11 -/* 0FB71C 7F0C6BEC 54E10004 */ bnel $a3, $at, .L7F0C6C00 -/* 0FB720 7F0C6BF0 2401000A */ li $at, 10 -.L7F0C6BF4: -/* 0FB724 7F0C6BF4 10000008 */ b .L7F0C6C18 -/* 0FB728 7F0C6BF8 24020001 */ li $v0, 1 -/* 0FB72C 7F0C6BFC 2401000A */ li $at, 10 -.L7F0C6C00: -/* 0FB730 7F0C6C00 10E10003 */ beq $a3, $at, .L7F0C6C10 -/* 0FB734 7F0C6C04 2401000C */ li $at, 12 -/* 0FB738 7F0C6C08 14E10003 */ bne $a3, $at, .L7F0C6C18 -/* 0FB73C 7F0C6C0C 8FA20010 */ lw $v0, 0x10($sp) -.L7F0C6C10: -/* 0FB740 7F0C6C10 10000001 */ b .L7F0C6C18 -/* 0FB744 7F0C6C14 24020002 */ li $v0, 2 -.L7F0C6C18: -/* 0FB748 7F0C6C18 18C0000F */ blez $a2, .L7F0C6C58 -/* 0FB74C 7F0C6C1C 00002025 */ move $a0, $zero -/* 0FB750 7F0C6C20 2407FFF8 */ li $a3, -8 -.L7F0C6C24: -/* 0FB754 7F0C6C24 1A000008 */ blez $s0, .L7F0C6C48 -/* 0FB758 7F0C6C28 00002825 */ move $a1, $zero -.L7F0C6C2C: -/* 0FB75C 7F0C6C2C 922E0000 */ lbu $t6, ($s1) -/* 0FB760 7F0C6C30 00A22821 */ addu $a1, $a1, $v0 -/* 0FB764 7F0C6C34 00B0082A */ slt $at, $a1, $s0 -/* 0FB768 7F0C6C38 24630001 */ addiu $v1, $v1, 1 -/* 0FB76C 7F0C6C3C 26310001 */ addiu $s1, $s1, 1 -/* 0FB770 7F0C6C40 1420FFFA */ bnez $at, .L7F0C6C2C -/* 0FB774 7F0C6C44 A06EFFFF */ sb $t6, -1($v1) -.L7F0C6C48: -/* 0FB778 7F0C6C48 24840001 */ addiu $a0, $a0, 1 -/* 0FB77C 7F0C6C4C 246F0007 */ addiu $t7, $v1, 7 -/* 0FB780 7F0C6C50 1486FFF4 */ bne $a0, $a2, .L7F0C6C24 -/* 0FB784 7F0C6C54 01E71824 */ and $v1, $t7, $a3 -.L7F0C6C58: -/* 0FB788 7F0C6C58 8FB80030 */ lw $t8, 0x30($sp) -/* 0FB78C 7F0C6C5C 8FB00008 */ lw $s0, 8($sp) -/* 0FB790 7F0C6C60 8FB1000C */ lw $s1, 0xc($sp) -/* 0FB794 7F0C6C64 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0FB798 7F0C6C68 03E00008 */ jr $ra -/* 0FB79C 7F0C6C6C 00781023 */ subu $v0, $v1, $t8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C6C70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C6C70 -/* 0FB7A0 7F0C6C70 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 0FB7A4 7F0C6C74 AFB00020 */ sw $s0, 0x20($sp) -/* 0FB7A8 7F0C6C78 8FB000B8 */ lw $s0, 0xb8($sp) -/* 0FB7AC 7F0C6C7C 24EF0001 */ addiu $t7, $a3, 1 -/* 0FB7B0 7F0C6C80 AFBE0040 */ sw $fp, 0x40($sp) -/* 0FB7B4 7F0C6C84 AFB50034 */ sw $s5, 0x34($sp) -/* 0FB7B8 7F0C6C88 24020009 */ li $v0, 9 -/* 0FB7BC 7F0C6C8C 000FC043 */ sra $t8, $t7, 1 -/* 0FB7C0 7F0C6C90 00C0F025 */ move $fp, $a2 -/* 0FB7C4 7F0C6C94 AFBF0044 */ sw $ra, 0x44($sp) -/* 0FB7C8 7F0C6C98 AFB7003C */ sw $s7, 0x3c($sp) -/* 0FB7CC 7F0C6C9C AFB60038 */ sw $s6, 0x38($sp) -/* 0FB7D0 7F0C6CA0 AFB40030 */ sw $s4, 0x30($sp) -/* 0FB7D4 7F0C6CA4 AFB3002C */ sw $s3, 0x2c($sp) -/* 0FB7D8 7F0C6CA8 AFB20028 */ sw $s2, 0x28($sp) -/* 0FB7DC 7F0C6CAC AFB10024 */ sw $s1, 0x24($sp) -/* 0FB7E0 7F0C6CB0 AFA700B4 */ sw $a3, 0xb4($sp) -/* 0FB7E4 7F0C6CB4 AFA50074 */ sw $a1, 0x74($sp) -/* 0FB7E8 7F0C6CB8 0080A825 */ move $s5, $a0 -/* 0FB7EC 7F0C6CBC AFB80060 */ sw $t8, 0x60($sp) -/* 0FB7F0 7F0C6CC0 1202000B */ beq $s0, $v0, .L7F0C6CF0 -/* 0FB7F4 7F0C6CC4 AFB80094 */ sw $t8, 0x94($sp) -/* 0FB7F8 7F0C6CC8 2401000A */ li $at, 10 -/* 0FB7FC 7F0C6CCC 12010011 */ beq $s0, $at, .L7F0C6D14 -/* 0FB800 7F0C6CD0 27CF0001 */ addiu $t7, $fp, 1 -/* 0FB804 7F0C6CD4 2401000B */ li $at, 11 -/* 0FB808 7F0C6CD8 12010005 */ beq $s0, $at, .L7F0C6CF0 -/* 0FB80C 7F0C6CDC 2401000C */ li $at, 12 -/* 0FB810 7F0C6CE0 5201000D */ beql $s0, $at, .L7F0C6D18 -/* 0FB814 7F0C6CE4 000FC043 */ sra $t8, $t7, 1 -/* 0FB818 7F0C6CE8 10000011 */ b .L7F0C6D30 -/* 0FB81C 7F0C6CEC 00000000 */ nop -.L7F0C6CF0: -/* 0FB820 7F0C6CF0 27D90001 */ addiu $t9, $fp, 1 -/* 0FB824 7F0C6CF4 00195043 */ sra $t2, $t9, 1 -/* 0FB828 7F0C6CF8 254B0007 */ addiu $t3, $t2, 7 -/* 0FB82C 7F0C6CFC 27CD0007 */ addiu $t5, $fp, 7 -/* 0FB830 7F0C6D00 316C0FF8 */ andi $t4, $t3, 0xff8 -/* 0FB834 7F0C6D04 31AE0FF8 */ andi $t6, $t5, 0xff8 -/* 0FB838 7F0C6D08 AFAC0098 */ sw $t4, 0x98($sp) -/* 0FB83C 7F0C6D0C 10000008 */ b .L7F0C6D30 -/* 0FB840 7F0C6D10 AFAE009C */ sw $t6, 0x9c($sp) -.L7F0C6D14: -/* 0FB844 7F0C6D14 000FC043 */ sra $t8, $t7, 1 -.L7F0C6D18: -/* 0FB848 7F0C6D18 2719000F */ addiu $t9, $t8, 0xf -/* 0FB84C 7F0C6D1C 27CB000F */ addiu $t3, $fp, 0xf -/* 0FB850 7F0C6D20 332A0FF0 */ andi $t2, $t9, 0xff0 -/* 0FB854 7F0C6D24 316C0FF0 */ andi $t4, $t3, 0xff0 -/* 0FB858 7F0C6D28 AFAA0098 */ sw $t2, 0x98($sp) -/* 0FB85C 7F0C6D2C AFAC009C */ sw $t4, 0x9c($sp) -.L7F0C6D30: -/* 0FB860 7F0C6D30 12020009 */ beq $s0, $v0, .L7F0C6D58 -/* 0FB864 7F0C6D34 2401000A */ li $at, 10 -/* 0FB868 7F0C6D38 120100ED */ beq $s0, $at, .L7F0C70F0 -/* 0FB86C 7F0C6D3C 2401000B */ li $at, 11 -/* 0FB870 7F0C6D40 12010086 */ beq $s0, $at, .L7F0C6F5C -/* 0FB874 7F0C6D44 2401000C */ li $at, 12 -/* 0FB878 7F0C6D48 120101D9 */ beq $s0, $at, .L7F0C74B0 -/* 0FB87C 7F0C6D4C 00001025 */ move $v0, $zero -/* 0FB880 7F0C6D50 1000028A */ b .L7F0C777C -/* 0FB884 7F0C6D54 00000000 */ nop -.L7F0C6D58: -/* 0FB888 7F0C6D58 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 0FB88C 7F0C6D5C 8FAE009C */ lw $t6, 0x9c($sp) -/* 0FB890 7F0C6D60 AFA000A0 */ sw $zero, 0xa0($sp) -/* 0FB894 7F0C6D64 19A00077 */ blez $t5, .L7F0C6F44 -/* 0FB898 7F0C6D68 000E7840 */ sll $t7, $t6, 1 -/* 0FB89C 7F0C6D6C AFAF0050 */ sw $t7, 0x50($sp) -/* 0FB8A0 7F0C6D70 8FB700C0 */ lw $s7, 0xc0($sp) -/* 0FB8A4 7F0C6D74 8FB300BC */ lw $s3, 0xbc($sp) -.L7F0C6D78: -/* 0FB8A8 7F0C6D78 8FB900A0 */ lw $t9, 0xa0($sp) -/* 0FB8AC 7F0C6D7C 8FB800B4 */ lw $t8, 0xb4($sp) -/* 0FB8B0 7F0C6D80 00008825 */ move $s1, $zero -/* 0FB8B4 7F0C6D84 272A0001 */ addiu $t2, $t9, 1 -/* 0FB8B8 7F0C6D88 0158082A */ slt $at, $t2, $t8 -/* 0FB8BC 7F0C6D8C 10200003 */ beqz $at, .L7F0C6D9C -/* 0FB8C0 7F0C6D90 8FAB009C */ lw $t3, 0x9c($sp) -/* 0FB8C4 7F0C6D94 10000002 */ b .L7F0C6DA0 -/* 0FB8C8 7F0C6D98 8FB6009C */ lw $s6, 0x9c($sp) -.L7F0C6D9C: -/* 0FB8CC 7F0C6D9C 0000B025 */ move $s6, $zero -.L7F0C6DA0: -/* 0FB8D0 7F0C6DA0 1960005C */ blez $t3, .L7F0C6F14 -/* 0FB8D4 7F0C6DA4 02A09025 */ move $s2, $s5 -/* 0FB8D8 7F0C6DA8 02D5A021 */ addu $s4, $s6, $s5 -/* 0FB8DC 7F0C6DAC 26220001 */ addiu $v0, $s1, 1 -.L7F0C6DB0: -/* 0FB8E0 7F0C6DB0 005E082A */ slt $at, $v0, $fp -/* 0FB8E4 7F0C6DB4 10200003 */ beqz $at, .L7F0C6DC4 -/* 0FB8E8 7F0C6DB8 02602025 */ move $a0, $s3 -/* 0FB8EC 7F0C6DBC 10000002 */ b .L7F0C6DC8 -/* 0FB8F0 7F0C6DC0 00401825 */ move $v1, $v0 -.L7F0C6DC4: -/* 0FB8F4 7F0C6DC4 02201825 */ move $v1, $s1 -.L7F0C6DC8: -/* 0FB8F8 7F0C6DC8 924C0000 */ lbu $t4, ($s2) -/* 0FB8FC 7F0C6DCC 02A37821 */ addu $t7, $s5, $v1 -/* 0FB900 7F0C6DD0 91F90000 */ lbu $t9, ($t7) -/* 0FB904 7F0C6DD4 000C6840 */ sll $t5, $t4, 1 -/* 0FB908 7F0C6DD8 026D7021 */ addu $t6, $s3, $t5 -/* 0FB90C 7F0C6DDC 85D00000 */ lh $s0, ($t6) -/* 0FB910 7F0C6DE0 02C37021 */ addu $t6, $s6, $v1 -/* 0FB914 7F0C6DE4 928B0000 */ lbu $t3, ($s4) -/* 0FB918 7F0C6DE8 01D57821 */ addu $t7, $t6, $s5 -/* 0FB91C 7F0C6DEC 0019C040 */ sll $t8, $t9, 1 -/* 0FB920 7F0C6DF0 91F90000 */ lbu $t9, ($t7) -/* 0FB924 7F0C6DF4 02785021 */ addu $t2, $s3, $t8 -/* 0FB928 7F0C6DF8 85480000 */ lh $t0, ($t2) -/* 0FB92C 7F0C6DFC 000B6040 */ sll $t4, $t3, 1 -/* 0FB930 7F0C6E00 026C6821 */ addu $t5, $s3, $t4 -/* 0FB934 7F0C6E04 0019C040 */ sll $t8, $t9, 1 -/* 0FB938 7F0C6E08 85A90000 */ lh $t1, ($t5) -/* 0FB93C 7F0C6E0C 02785021 */ addu $t2, $s3, $t8 -/* 0FB940 7F0C6E10 85420000 */ lh $v0, ($t2) -/* 0FB944 7F0C6E14 00105AC3 */ sra $t3, $s0, 0xb -/* 0FB948 7F0C6E18 316C001F */ andi $t4, $t3, 0x1f -/* 0FB94C 7F0C6E1C 00086AC3 */ sra $t5, $t0, 0xb -/* 0FB950 7F0C6E20 31AE001F */ andi $t6, $t5, 0x1f -/* 0FB954 7F0C6E24 0009CAC3 */ sra $t9, $t1, 0xb -/* 0FB958 7F0C6E28 3338001F */ andi $t8, $t9, 0x1f -/* 0FB95C 7F0C6E2C 018E7821 */ addu $t7, $t4, $t6 -/* 0FB960 7F0C6E30 00025AC3 */ sra $t3, $v0, 0xb -/* 0FB964 7F0C6E34 316D001F */ andi $t5, $t3, 0x1f -/* 0FB968 7F0C6E38 01F85021 */ addu $t2, $t7, $t8 -/* 0FB96C 7F0C6E3C 014D3021 */ addu $a2, $t2, $t5 -/* 0FB970 7F0C6E40 0010C983 */ sra $t9, $s0, 6 -/* 0FB974 7F0C6E44 332F001F */ andi $t7, $t9, 0x1f -/* 0FB978 7F0C6E48 00066083 */ sra $t4, $a2, 2 -/* 0FB97C 7F0C6E4C 0008C183 */ sra $t8, $t0, 6 -/* 0FB980 7F0C6E50 330B001F */ andi $t3, $t8, 0x1f -/* 0FB984 7F0C6E54 3186001F */ andi $a2, $t4, 0x1f -/* 0FB988 7F0C6E58 00096983 */ sra $t5, $t1, 6 -/* 0FB98C 7F0C6E5C 31AC001F */ andi $t4, $t5, 0x1f -/* 0FB990 7F0C6E60 01EB5021 */ addu $t2, $t7, $t3 -/* 0FB994 7F0C6E64 0002C983 */ sra $t9, $v0, 6 -/* 0FB998 7F0C6E68 3338001F */ andi $t8, $t9, 0x1f -/* 0FB99C 7F0C6E6C 014C7021 */ addu $t6, $t2, $t4 -/* 0FB9A0 7F0C6E70 01D83821 */ addu $a3, $t6, $t8 -/* 0FB9A4 7F0C6E74 00106843 */ sra $t5, $s0, 1 -/* 0FB9A8 7F0C6E78 31AA001F */ andi $t2, $t5, 0x1f -/* 0FB9AC 7F0C6E7C 00077883 */ sra $t7, $a3, 2 -/* 0FB9B0 7F0C6E80 00086043 */ sra $t4, $t0, 1 -/* 0FB9B4 7F0C6E84 3199001F */ andi $t9, $t4, 0x1f -/* 0FB9B8 7F0C6E88 31E7001F */ andi $a3, $t7, 0x1f -/* 0FB9BC 7F0C6E8C 0009C043 */ sra $t8, $t1, 1 -/* 0FB9C0 7F0C6E90 330F001F */ andi $t7, $t8, 0x1f -/* 0FB9C4 7F0C6E94 01597021 */ addu $t6, $t2, $t9 -/* 0FB9C8 7F0C6E98 00026843 */ sra $t5, $v0, 1 -/* 0FB9CC 7F0C6E9C 31AC001F */ andi $t4, $t5, 0x1f -/* 0FB9D0 7F0C6EA0 01CF5821 */ addu $t3, $t6, $t7 -/* 0FB9D4 7F0C6EA4 016C5021 */ addu $t2, $t3, $t4 -/* 0FB9D8 7F0C6EA8 000AC883 */ sra $t9, $t2, 2 -/* 0FB9DC 7F0C6EAC 320E0001 */ andi $t6, $s0, 1 -/* 0FB9E0 7F0C6EB0 310F0001 */ andi $t7, $t0, 1 -/* 0FB9E4 7F0C6EB4 01CF6821 */ addu $t5, $t6, $t7 -/* 0FB9E8 7F0C6EB8 3338001F */ andi $t8, $t9, 0x1f -/* 0FB9EC 7F0C6EBC 312B0001 */ andi $t3, $t1, 1 -/* 0FB9F0 7F0C6EC0 01AB6021 */ addu $t4, $t5, $t3 -/* 0FB9F4 7F0C6EC4 304A0001 */ andi $t2, $v0, 1 -/* 0FB9F8 7F0C6EC8 018AC821 */ addu $t9, $t4, $t2 -/* 0FB9FC 7F0C6ECC AFB80010 */ sw $t8, 0x10($sp) -/* 0FBA00 7F0C6ED0 27380002 */ addiu $t8, $t9, 2 -/* 0FBA04 7F0C6ED4 00187083 */ sra $t6, $t8, 2 -/* 0FBA08 7F0C6ED8 31CF0001 */ andi $t7, $t6, 1 -/* 0FBA0C 7F0C6EDC AFAF0014 */ sw $t7, 0x14($sp) -/* 0FBA10 7F0C6EE0 0FC31DEB */ jal sub_GAME_7F0C77AC -/* 0FBA14 7F0C6EE4 02E02825 */ move $a1, $s7 -/* 0FBA18 7F0C6EE8 8FAD0074 */ lw $t5, 0x74($sp) -/* 0FBA1C 7F0C6EEC 00115843 */ sra $t3, $s1, 1 -/* 0FBA20 7F0C6EF0 26310002 */ addiu $s1, $s1, 2 -/* 0FBA24 7F0C6EF4 01AB6021 */ addu $t4, $t5, $t3 -/* 0FBA28 7F0C6EF8 A1820000 */ sb $v0, ($t4) -/* 0FBA2C 7F0C6EFC 8FAA009C */ lw $t2, 0x9c($sp) -/* 0FBA30 7F0C6F00 26520002 */ addiu $s2, $s2, 2 -/* 0FBA34 7F0C6F04 26940002 */ addiu $s4, $s4, 2 -/* 0FBA38 7F0C6F08 022A082A */ slt $at, $s1, $t2 -/* 0FBA3C 7F0C6F0C 5420FFA8 */ bnezl $at, .L7F0C6DB0 -/* 0FBA40 7F0C6F10 26220001 */ addiu $v0, $s1, 1 -.L7F0C6F14: -/* 0FBA44 7F0C6F14 8FAD00A0 */ lw $t5, 0xa0($sp) -/* 0FBA48 7F0C6F18 8FAC00B4 */ lw $t4, 0xb4($sp) -/* 0FBA4C 7F0C6F1C 8FB90074 */ lw $t9, 0x74($sp) -/* 0FBA50 7F0C6F20 8FB80098 */ lw $t8, 0x98($sp) -/* 0FBA54 7F0C6F24 8FAF0050 */ lw $t7, 0x50($sp) -/* 0FBA58 7F0C6F28 25AB0002 */ addiu $t3, $t5, 2 -/* 0FBA5C 7F0C6F2C 016C082A */ slt $at, $t3, $t4 -/* 0FBA60 7F0C6F30 03387021 */ addu $t6, $t9, $t8 -/* 0FBA64 7F0C6F34 AFAB00A0 */ sw $t3, 0xa0($sp) -/* 0FBA68 7F0C6F38 AFAE0074 */ sw $t6, 0x74($sp) -/* 0FBA6C 7F0C6F3C 1420FF8E */ bnez $at, .L7F0C6D78 -/* 0FBA70 7F0C6F40 02AFA821 */ addu $s5, $s5, $t7 -.L7F0C6F44: -/* 0FBA74 7F0C6F44 8FAA0060 */ lw $t2, 0x60($sp) -/* 0FBA78 7F0C6F48 8FB90098 */ lw $t9, 0x98($sp) -/* 0FBA7C 7F0C6F4C 01590019 */ multu $t2, $t9 -/* 0FBA80 7F0C6F50 00001012 */ mflo $v0 -/* 0FBA84 7F0C6F54 1000020A */ b .L7F0C7780 -/* 0FBA88 7F0C6F58 8FBF0044 */ lw $ra, 0x44($sp) -.L7F0C6F5C: -/* 0FBA8C 7F0C6F5C 8FB800B4 */ lw $t8, 0xb4($sp) -/* 0FBA90 7F0C6F60 8FAE009C */ lw $t6, 0x9c($sp) -/* 0FBA94 7F0C6F64 AFA000A0 */ sw $zero, 0xa0($sp) -/* 0FBA98 7F0C6F68 1B00005B */ blez $t8, .L7F0C70D8 -/* 0FBA9C 7F0C6F6C 000E7840 */ sll $t7, $t6, 1 -/* 0FBAA0 7F0C6F70 AFAF0050 */ sw $t7, 0x50($sp) -/* 0FBAA4 7F0C6F74 8FB700C0 */ lw $s7, 0xc0($sp) -/* 0FBAA8 7F0C6F78 8FB300BC */ lw $s3, 0xbc($sp) -.L7F0C6F7C: -/* 0FBAAC 7F0C6F7C 8FAB00A0 */ lw $t3, 0xa0($sp) -/* 0FBAB0 7F0C6F80 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 0FBAB4 7F0C6F84 00008825 */ move $s1, $zero -/* 0FBAB8 7F0C6F88 256C0001 */ addiu $t4, $t3, 1 -/* 0FBABC 7F0C6F8C 018D082A */ slt $at, $t4, $t5 -/* 0FBAC0 7F0C6F90 10200003 */ beqz $at, .L7F0C6FA0 -/* 0FBAC4 7F0C6F94 8FAA009C */ lw $t2, 0x9c($sp) -/* 0FBAC8 7F0C6F98 10000002 */ b .L7F0C6FA4 -/* 0FBACC 7F0C6F9C 8FB6009C */ lw $s6, 0x9c($sp) -.L7F0C6FA0: -/* 0FBAD0 7F0C6FA0 0000B025 */ move $s6, $zero -.L7F0C6FA4: -/* 0FBAD4 7F0C6FA4 19400040 */ blez $t2, .L7F0C70A8 -/* 0FBAD8 7F0C6FA8 02A09025 */ move $s2, $s5 -/* 0FBADC 7F0C6FAC 02D5A021 */ addu $s4, $s6, $s5 -/* 0FBAE0 7F0C6FB0 26220001 */ addiu $v0, $s1, 1 -.L7F0C6FB4: -/* 0FBAE4 7F0C6FB4 005E082A */ slt $at, $v0, $fp -/* 0FBAE8 7F0C6FB8 10200003 */ beqz $at, .L7F0C6FC8 -/* 0FBAEC 7F0C6FBC 02602025 */ move $a0, $s3 -/* 0FBAF0 7F0C6FC0 10000002 */ b .L7F0C6FCC -/* 0FBAF4 7F0C6FC4 00401825 */ move $v1, $v0 -.L7F0C6FC8: -/* 0FBAF8 7F0C6FC8 02201825 */ move $v1, $s1 -.L7F0C6FCC: -/* 0FBAFC 7F0C6FCC 92590000 */ lbu $t9, ($s2) -/* 0FBB00 7F0C6FD0 02A37821 */ addu $t7, $s5, $v1 -/* 0FBB04 7F0C6FD4 91EB0000 */ lbu $t3, ($t7) -/* 0FBB08 7F0C6FD8 0019C040 */ sll $t8, $t9, 1 -/* 0FBB0C 7F0C6FDC 02787021 */ addu $t6, $s3, $t8 -/* 0FBB10 7F0C6FE0 85D00000 */ lh $s0, ($t6) -/* 0FBB14 7F0C6FE4 928A0000 */ lbu $t2, ($s4) -/* 0FBB18 7F0C6FE8 02C37021 */ addu $t6, $s6, $v1 -/* 0FBB1C 7F0C6FEC 01D57821 */ addu $t7, $t6, $s5 -/* 0FBB20 7F0C6FF0 000B6840 */ sll $t5, $t3, 1 -/* 0FBB24 7F0C6FF4 91EB0000 */ lbu $t3, ($t7) -/* 0FBB28 7F0C6FF8 026D6021 */ addu $t4, $s3, $t5 -/* 0FBB2C 7F0C6FFC 000AC840 */ sll $t9, $t2, 1 -/* 0FBB30 7F0C7000 85880000 */ lh $t0, ($t4) -/* 0FBB34 7F0C7004 0279C021 */ addu $t8, $s3, $t9 -/* 0FBB38 7F0C7008 87090000 */ lh $t1, ($t8) -/* 0FBB3C 7F0C700C 000B6840 */ sll $t5, $t3, 1 -/* 0FBB40 7F0C7010 026D6021 */ addu $t4, $s3, $t5 -/* 0FBB44 7F0C7014 85820000 */ lh $v0, ($t4) -/* 0FBB48 7F0C7018 00105203 */ sra $t2, $s0, 8 -/* 0FBB4C 7F0C701C 0008C203 */ sra $t8, $t0, 8 -/* 0FBB50 7F0C7020 330E00FF */ andi $t6, $t8, 0xff -/* 0FBB54 7F0C7024 315900FF */ andi $t9, $t2, 0xff -/* 0FBB58 7F0C7028 00095A03 */ sra $t3, $t1, 8 -/* 0FBB5C 7F0C702C 316D00FF */ andi $t5, $t3, 0xff -/* 0FBB60 7F0C7030 032E7821 */ addu $t7, $t9, $t6 -/* 0FBB64 7F0C7034 01ED6021 */ addu $t4, $t7, $t5 -/* 0FBB68 7F0C7038 00025203 */ sra $t2, $v0, 8 -/* 0FBB6C 7F0C703C 315800FF */ andi $t8, $t2, 0xff -/* 0FBB70 7F0C7040 01983021 */ addu $a2, $t4, $t8 -/* 0FBB74 7F0C7044 320B00FF */ andi $t3, $s0, 0xff -/* 0FBB78 7F0C7048 310F00FF */ andi $t7, $t0, 0xff -/* 0FBB7C 7F0C704C 016F6821 */ addu $t5, $t3, $t7 -/* 0FBB80 7F0C7050 312A00FF */ andi $t2, $t1, 0xff -/* 0FBB84 7F0C7054 01AA6021 */ addu $t4, $t5, $t2 -/* 0FBB88 7F0C7058 305800FF */ andi $t8, $v0, 0xff -/* 0FBB8C 7F0C705C 01983821 */ addu $a3, $t4, $t8 -/* 0FBB90 7F0C7060 0006C883 */ sra $t9, $a2, 2 -/* 0FBB94 7F0C7064 332600FF */ andi $a2, $t9, 0xff -/* 0FBB98 7F0C7068 24E70001 */ addiu $a3, $a3, 1 -/* 0FBB9C 7F0C706C 0007C883 */ sra $t9, $a3, 2 -/* 0FBBA0 7F0C7070 332700FF */ andi $a3, $t9, 0xff -/* 0FBBA4 7F0C7074 0FC31EF6 */ jal sub_GAME_7F0C7BD8 -/* 0FBBA8 7F0C7078 02E02825 */ move $a1, $s7 -/* 0FBBAC 7F0C707C 8FAB0074 */ lw $t3, 0x74($sp) -/* 0FBBB0 7F0C7080 00117843 */ sra $t7, $s1, 1 -/* 0FBBB4 7F0C7084 26310002 */ addiu $s1, $s1, 2 -/* 0FBBB8 7F0C7088 016F6821 */ addu $t5, $t3, $t7 -/* 0FBBBC 7F0C708C A1A20000 */ sb $v0, ($t5) -/* 0FBBC0 7F0C7090 8FAA009C */ lw $t2, 0x9c($sp) -/* 0FBBC4 7F0C7094 26520002 */ addiu $s2, $s2, 2 -/* 0FBBC8 7F0C7098 26940002 */ addiu $s4, $s4, 2 -/* 0FBBCC 7F0C709C 022A082A */ slt $at, $s1, $t2 -/* 0FBBD0 7F0C70A0 5420FFC4 */ bnezl $at, .L7F0C6FB4 -/* 0FBBD4 7F0C70A4 26220001 */ addiu $v0, $s1, 1 -.L7F0C70A8: -/* 0FBBD8 7F0C70A8 8FAB00A0 */ lw $t3, 0xa0($sp) -/* 0FBBDC 7F0C70AC 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 0FBBE0 7F0C70B0 8FAC0074 */ lw $t4, 0x74($sp) -/* 0FBBE4 7F0C70B4 8FB80098 */ lw $t8, 0x98($sp) -/* 0FBBE8 7F0C70B8 8FAE0050 */ lw $t6, 0x50($sp) -/* 0FBBEC 7F0C70BC 256F0002 */ addiu $t7, $t3, 2 -/* 0FBBF0 7F0C70C0 01ED082A */ slt $at, $t7, $t5 -/* 0FBBF4 7F0C70C4 0198C821 */ addu $t9, $t4, $t8 -/* 0FBBF8 7F0C70C8 AFAF00A0 */ sw $t7, 0xa0($sp) -/* 0FBBFC 7F0C70CC AFB90074 */ sw $t9, 0x74($sp) -/* 0FBC00 7F0C70D0 1420FFAA */ bnez $at, .L7F0C6F7C -/* 0FBC04 7F0C70D4 02AEA821 */ addu $s5, $s5, $t6 -.L7F0C70D8: -/* 0FBC08 7F0C70D8 8FAA0060 */ lw $t2, 0x60($sp) -/* 0FBC0C 7F0C70DC 8FAC0098 */ lw $t4, 0x98($sp) -/* 0FBC10 7F0C70E0 014C0019 */ multu $t2, $t4 -/* 0FBC14 7F0C70E4 00001012 */ mflo $v0 -/* 0FBC18 7F0C70E8 100001A5 */ b .L7F0C7780 -/* 0FBC1C 7F0C70EC 8FBF0044 */ lw $ra, 0x44($sp) -.L7F0C70F0: -/* 0FBC20 7F0C70F0 8FB800B4 */ lw $t8, 0xb4($sp) -/* 0FBC24 7F0C70F4 8FB90098 */ lw $t9, 0x98($sp) -/* 0FBC28 7F0C70F8 AFA000A0 */ sw $zero, 0xa0($sp) -/* 0FBC2C 7F0C70FC 1B0000E5 */ blez $t8, .L7F0C7494 -/* 0FBC30 7F0C7100 00197043 */ sra $t6, $t9, 1 -/* 0FBC34 7F0C7104 AFAE004C */ sw $t6, 0x4c($sp) -/* 0FBC38 7F0C7108 8FB700C0 */ lw $s7, 0xc0($sp) -/* 0FBC3C 7F0C710C 8FB300BC */ lw $s3, 0xbc($sp) -.L7F0C7110: -/* 0FBC40 7F0C7110 8FAF00A0 */ lw $t7, 0xa0($sp) -/* 0FBC44 7F0C7114 8FAB00B4 */ lw $t3, 0xb4($sp) -/* 0FBC48 7F0C7118 00008825 */ move $s1, $zero -/* 0FBC4C 7F0C711C 25ED0001 */ addiu $t5, $t7, 1 -/* 0FBC50 7F0C7120 01AB082A */ slt $at, $t5, $t3 -/* 0FBC54 7F0C7124 10200005 */ beqz $at, .L7F0C713C -/* 0FBC58 7F0C7128 8FAC009C */ lw $t4, 0x9c($sp) -/* 0FBC5C 7F0C712C 8FB6009C */ lw $s6, 0x9c($sp) -/* 0FBC60 7F0C7130 00165043 */ sra $t2, $s6, 1 -/* 0FBC64 7F0C7134 10000002 */ b .L7F0C7140 -/* 0FBC68 7F0C7138 0140B025 */ move $s6, $t2 -.L7F0C713C: -/* 0FBC6C 7F0C713C 0000B025 */ move $s6, $zero -.L7F0C7140: -/* 0FBC70 7F0C7140 198000C8 */ blez $t4, .L7F0C7464 -/* 0FBC74 7F0C7144 02B6A021 */ addu $s4, $s5, $s6 -/* 0FBC78 7F0C7148 00112843 */ sra $a1, $s1, 1 -.L7F0C714C: -/* 0FBC7C 7F0C714C 00B5C021 */ addu $t8, $a1, $s5 -/* 0FBC80 7F0C7150 93020000 */ lbu $v0, ($t8) -/* 0FBC84 7F0C7154 262D0001 */ addiu $t5, $s1, 1 -/* 0FBC88 7F0C7158 01BE202A */ slt $a0, $t5, $fp -/* 0FBC8C 7F0C715C 0002C903 */ sra $t9, $v0, 4 -/* 0FBC90 7F0C7160 332E000F */ andi $t6, $t9, 0xf -/* 0FBC94 7F0C7164 000E7840 */ sll $t7, $t6, 1 -/* 0FBC98 7F0C7168 026F5821 */ addu $t3, $s3, $t7 -/* 0FBC9C 7F0C716C 10800003 */ beqz $a0, .L7F0C717C -/* 0FBCA0 7F0C7170 85700000 */ lh $s0, ($t3) -/* 0FBCA4 7F0C7174 10000002 */ b .L7F0C7180 -/* 0FBCA8 7F0C7178 00001825 */ move $v1, $zero -.L7F0C717C: -/* 0FBCAC 7F0C717C 24030004 */ li $v1, 4 -.L7F0C7180: -/* 0FBCB0 7F0C7180 00B67021 */ addu $t6, $a1, $s6 -/* 0FBCB4 7F0C7184 01D57821 */ addu $t7, $t6, $s5 -/* 0FBCB8 7F0C7188 91EB0000 */ lbu $t3, ($t7) -/* 0FBCBC 7F0C718C 00625007 */ srav $t2, $v0, $v1 -/* 0FBCC0 7F0C7190 314C000F */ andi $t4, $t2, 0xf -/* 0FBCC4 7F0C7194 000CC040 */ sll $t8, $t4, 1 -/* 0FBCC8 7F0C7198 000B6903 */ sra $t5, $t3, 4 -/* 0FBCCC 7F0C719C 31AA000F */ andi $t2, $t5, 0xf -/* 0FBCD0 7F0C71A0 0278C821 */ addu $t9, $s3, $t8 -/* 0FBCD4 7F0C71A4 000A6040 */ sll $t4, $t2, 1 -/* 0FBCD8 7F0C71A8 026CC021 */ addu $t8, $s3, $t4 -/* 0FBCDC 7F0C71AC 87280000 */ lh $t0, ($t9) -/* 0FBCE0 7F0C71B0 10800003 */ beqz $a0, .L7F0C71C0 -/* 0FBCE4 7F0C71B4 87090000 */ lh $t1, ($t8) -/* 0FBCE8 7F0C71B8 10000002 */ b .L7F0C71C4 -/* 0FBCEC 7F0C71BC 00001825 */ move $v1, $zero -.L7F0C71C0: -/* 0FBCF0 7F0C71C0 24030004 */ li $v1, 4 -.L7F0C71C4: -/* 0FBCF4 7F0C71C4 0285C821 */ addu $t9, $s4, $a1 -/* 0FBCF8 7F0C71C8 932E0000 */ lbu $t6, ($t9) -/* 0FBCFC 7F0C71CC 001062C3 */ sra $t4, $s0, 0xb -/* 0FBD00 7F0C71D0 3198001F */ andi $t8, $t4, 0x1f -/* 0FBD04 7F0C71D4 006E7807 */ srav $t7, $t6, $v1 -/* 0FBD08 7F0C71D8 31EB000F */ andi $t3, $t7, 0xf -/* 0FBD0C 7F0C71DC 000B6840 */ sll $t5, $t3, 1 -/* 0FBD10 7F0C71E0 026D5021 */ addu $t2, $s3, $t5 -/* 0FBD14 7F0C71E4 85420000 */ lh $v0, ($t2) -/* 0FBD18 7F0C71E8 0008CAC3 */ sra $t9, $t0, 0xb -/* 0FBD1C 7F0C71EC 332E001F */ andi $t6, $t9, 0x1f -/* 0FBD20 7F0C71F0 00095AC3 */ sra $t3, $t1, 0xb -/* 0FBD24 7F0C71F4 316D001F */ andi $t5, $t3, 0x1f -/* 0FBD28 7F0C71F8 030E7821 */ addu $t7, $t8, $t6 -/* 0FBD2C 7F0C71FC 000262C3 */ sra $t4, $v0, 0xb -/* 0FBD30 7F0C7200 3199001F */ andi $t9, $t4, 0x1f -/* 0FBD34 7F0C7204 01ED5021 */ addu $t2, $t7, $t5 -/* 0FBD38 7F0C7208 01593021 */ addu $a2, $t2, $t9 -/* 0FBD3C 7F0C720C 00105983 */ sra $t3, $s0, 6 -/* 0FBD40 7F0C7210 316F001F */ andi $t7, $t3, 0x1f -/* 0FBD44 7F0C7214 0006C083 */ sra $t8, $a2, 2 -/* 0FBD48 7F0C7218 00086983 */ sra $t5, $t0, 6 -/* 0FBD4C 7F0C721C 31AC001F */ andi $t4, $t5, 0x1f -/* 0FBD50 7F0C7220 3306001F */ andi $a2, $t8, 0x1f -/* 0FBD54 7F0C7224 0009C983 */ sra $t9, $t1, 6 -/* 0FBD58 7F0C7228 3338001F */ andi $t8, $t9, 0x1f -/* 0FBD5C 7F0C722C 01EC5021 */ addu $t2, $t7, $t4 -/* 0FBD60 7F0C7230 00025983 */ sra $t3, $v0, 6 -/* 0FBD64 7F0C7234 316D001F */ andi $t5, $t3, 0x1f -/* 0FBD68 7F0C7238 01587021 */ addu $t6, $t2, $t8 -/* 0FBD6C 7F0C723C 01CD3821 */ addu $a3, $t6, $t5 -/* 0FBD70 7F0C7240 0010C843 */ sra $t9, $s0, 1 -/* 0FBD74 7F0C7244 332A001F */ andi $t2, $t9, 0x1f -/* 0FBD78 7F0C7248 00077883 */ sra $t7, $a3, 2 -/* 0FBD7C 7F0C724C 0008C043 */ sra $t8, $t0, 1 -/* 0FBD80 7F0C7250 330B001F */ andi $t3, $t8, 0x1f -/* 0FBD84 7F0C7254 31E7001F */ andi $a3, $t7, 0x1f -/* 0FBD88 7F0C7258 00096843 */ sra $t5, $t1, 1 -/* 0FBD8C 7F0C725C 31AF001F */ andi $t7, $t5, 0x1f -/* 0FBD90 7F0C7260 014B7021 */ addu $t6, $t2, $t3 -/* 0FBD94 7F0C7264 0002C843 */ sra $t9, $v0, 1 -/* 0FBD98 7F0C7268 3338001F */ andi $t8, $t9, 0x1f -/* 0FBD9C 7F0C726C 01CF6021 */ addu $t4, $t6, $t7 -/* 0FBDA0 7F0C7270 01985021 */ addu $t2, $t4, $t8 -/* 0FBDA4 7F0C7274 000A5883 */ sra $t3, $t2, 2 -/* 0FBDA8 7F0C7278 310F0001 */ andi $t7, $t0, 1 -/* 0FBDAC 7F0C727C 320E0001 */ andi $t6, $s0, 1 -/* 0FBDB0 7F0C7280 01CFC821 */ addu $t9, $t6, $t7 -/* 0FBDB4 7F0C7284 316D001F */ andi $t5, $t3, 0x1f -/* 0FBDB8 7F0C7288 312C0001 */ andi $t4, $t1, 1 -/* 0FBDBC 7F0C728C 032CC021 */ addu $t8, $t9, $t4 -/* 0FBDC0 7F0C7290 304A0001 */ andi $t2, $v0, 1 -/* 0FBDC4 7F0C7294 030A5821 */ addu $t3, $t8, $t2 -/* 0FBDC8 7F0C7298 AFAD0010 */ sw $t5, 0x10($sp) -/* 0FBDCC 7F0C729C 256D0002 */ addiu $t5, $t3, 2 -/* 0FBDD0 7F0C72A0 000D7083 */ sra $t6, $t5, 2 -/* 0FBDD4 7F0C72A4 31CF0001 */ andi $t7, $t6, 1 -/* 0FBDD8 7F0C72A8 AFAF0014 */ sw $t7, 0x14($sp) -/* 0FBDDC 7F0C72AC 02E02825 */ move $a1, $s7 -/* 0FBDE0 7F0C72B0 0FC31DEB */ jal sub_GAME_7F0C77AC -/* 0FBDE4 7F0C72B4 02602025 */ move $a0, $s3 -/* 0FBDE8 7F0C72B8 8FB90074 */ lw $t9, 0x74($sp) -/* 0FBDEC 7F0C72BC 00116083 */ sra $t4, $s1, 2 -/* 0FBDF0 7F0C72C0 26260002 */ addiu $a2, $s1, 2 -/* 0FBDF4 7F0C72C4 00025100 */ sll $t2, $v0, 4 -/* 0FBDF8 7F0C72C8 00065843 */ sra $t3, $a2, 1 -/* 0FBDFC 7F0C72CC 032C9021 */ addu $s2, $t9, $t4 -/* 0FBE00 7F0C72D0 A24A0000 */ sb $t2, ($s2) -/* 0FBE04 7F0C72D4 01756821 */ addu $t5, $t3, $s5 -/* 0FBE08 7F0C72D8 91A40000 */ lbu $a0, ($t5) -/* 0FBE0C 7F0C72DC 26380003 */ addiu $t8, $s1, 3 -/* 0FBE10 7F0C72E0 031E282A */ slt $a1, $t8, $fp -/* 0FBE14 7F0C72E4 00047103 */ sra $t6, $a0, 4 -/* 0FBE18 7F0C72E8 31CF000F */ andi $t7, $t6, 0xf -/* 0FBE1C 7F0C72EC 000FC840 */ sll $t9, $t7, 1 -/* 0FBE20 7F0C72F0 02796021 */ addu $t4, $s3, $t9 -/* 0FBE24 7F0C72F4 85900000 */ lh $s0, ($t4) -/* 0FBE28 7F0C72F8 10A00003 */ beqz $a1, .L7F0C7308 -/* 0FBE2C 7F0C72FC 01603025 */ move $a2, $t3 -/* 0FBE30 7F0C7300 10000002 */ b .L7F0C730C -/* 0FBE34 7F0C7304 00001825 */ move $v1, $zero -.L7F0C7308: -/* 0FBE38 7F0C7308 24030004 */ li $v1, 4 -.L7F0C730C: -/* 0FBE3C 7F0C730C 00D67821 */ addu $t7, $a2, $s6 -/* 0FBE40 7F0C7310 01F5C821 */ addu $t9, $t7, $s5 -/* 0FBE44 7F0C7314 932C0000 */ lbu $t4, ($t9) -/* 0FBE48 7F0C7318 00645007 */ srav $t2, $a0, $v1 -/* 0FBE4C 7F0C731C 314B000F */ andi $t3, $t2, 0xf -/* 0FBE50 7F0C7320 000B6840 */ sll $t5, $t3, 1 -/* 0FBE54 7F0C7324 000CC103 */ sra $t8, $t4, 4 -/* 0FBE58 7F0C7328 330A000F */ andi $t2, $t8, 0xf -/* 0FBE5C 7F0C732C 026D7021 */ addu $t6, $s3, $t5 -/* 0FBE60 7F0C7330 000A5840 */ sll $t3, $t2, 1 -/* 0FBE64 7F0C7334 026B6821 */ addu $t5, $s3, $t3 -/* 0FBE68 7F0C7338 85C80000 */ lh $t0, ($t6) -/* 0FBE6C 7F0C733C 10A00003 */ beqz $a1, .L7F0C734C -/* 0FBE70 7F0C7340 85A90000 */ lh $t1, ($t5) -/* 0FBE74 7F0C7344 10000002 */ b .L7F0C7350 -/* 0FBE78 7F0C7348 00001825 */ move $v1, $zero -.L7F0C734C: -/* 0FBE7C 7F0C734C 24030004 */ li $v1, 4 -.L7F0C7350: -/* 0FBE80 7F0C7350 02867021 */ addu $t6, $s4, $a2 -/* 0FBE84 7F0C7354 91CF0000 */ lbu $t7, ($t6) -/* 0FBE88 7F0C7358 00105AC3 */ sra $t3, $s0, 0xb -/* 0FBE8C 7F0C735C 316D001F */ andi $t5, $t3, 0x1f -/* 0FBE90 7F0C7360 006FC807 */ srav $t9, $t7, $v1 -/* 0FBE94 7F0C7364 332C000F */ andi $t4, $t9, 0xf -/* 0FBE98 7F0C7368 000CC040 */ sll $t8, $t4, 1 -/* 0FBE9C 7F0C736C 02785021 */ addu $t2, $s3, $t8 -/* 0FBEA0 7F0C7370 85420000 */ lh $v0, ($t2) -/* 0FBEA4 7F0C7374 000872C3 */ sra $t6, $t0, 0xb -/* 0FBEA8 7F0C7378 31CF001F */ andi $t7, $t6, 0x1f -/* 0FBEAC 7F0C737C 000962C3 */ sra $t4, $t1, 0xb -/* 0FBEB0 7F0C7380 3198001F */ andi $t8, $t4, 0x1f -/* 0FBEB4 7F0C7384 01AFC821 */ addu $t9, $t5, $t7 -/* 0FBEB8 7F0C7388 00025AC3 */ sra $t3, $v0, 0xb -/* 0FBEBC 7F0C738C 316E001F */ andi $t6, $t3, 0x1f -/* 0FBEC0 7F0C7390 03385021 */ addu $t2, $t9, $t8 -/* 0FBEC4 7F0C7394 014E3021 */ addu $a2, $t2, $t6 -/* 0FBEC8 7F0C7398 00106183 */ sra $t4, $s0, 6 -/* 0FBECC 7F0C739C 3199001F */ andi $t9, $t4, 0x1f -/* 0FBED0 7F0C73A0 00066883 */ sra $t5, $a2, 2 -/* 0FBED4 7F0C73A4 0008C183 */ sra $t8, $t0, 6 -/* 0FBED8 7F0C73A8 330B001F */ andi $t3, $t8, 0x1f -/* 0FBEDC 7F0C73AC 31A6001F */ andi $a2, $t5, 0x1f -/* 0FBEE0 7F0C73B0 00097183 */ sra $t6, $t1, 6 -/* 0FBEE4 7F0C73B4 31CD001F */ andi $t5, $t6, 0x1f -/* 0FBEE8 7F0C73B8 032B5021 */ addu $t2, $t9, $t3 -/* 0FBEEC 7F0C73BC 00026183 */ sra $t4, $v0, 6 -/* 0FBEF0 7F0C73C0 3198001F */ andi $t8, $t4, 0x1f -/* 0FBEF4 7F0C73C4 014D7821 */ addu $t7, $t2, $t5 -/* 0FBEF8 7F0C73C8 01F83821 */ addu $a3, $t7, $t8 -/* 0FBEFC 7F0C73CC 00107043 */ sra $t6, $s0, 1 -/* 0FBF00 7F0C73D0 31CA001F */ andi $t2, $t6, 0x1f -/* 0FBF04 7F0C73D4 0007C883 */ sra $t9, $a3, 2 -/* 0FBF08 7F0C73D8 00086843 */ sra $t5, $t0, 1 -/* 0FBF0C 7F0C73DC 31AC001F */ andi $t4, $t5, 0x1f -/* 0FBF10 7F0C73E0 3327001F */ andi $a3, $t9, 0x1f -/* 0FBF14 7F0C73E4 0009C043 */ sra $t8, $t1, 1 -/* 0FBF18 7F0C73E8 3319001F */ andi $t9, $t8, 0x1f -/* 0FBF1C 7F0C73EC 014C7821 */ addu $t7, $t2, $t4 -/* 0FBF20 7F0C73F0 00027043 */ sra $t6, $v0, 1 -/* 0FBF24 7F0C73F4 31CD001F */ andi $t5, $t6, 0x1f -/* 0FBF28 7F0C73F8 01F95821 */ addu $t3, $t7, $t9 -/* 0FBF2C 7F0C73FC 016D5021 */ addu $t2, $t3, $t5 -/* 0FBF30 7F0C7400 000A6083 */ sra $t4, $t2, 2 -/* 0FBF34 7F0C7404 31190001 */ andi $t9, $t0, 1 -/* 0FBF38 7F0C7408 320F0001 */ andi $t7, $s0, 1 -/* 0FBF3C 7F0C740C 01F97021 */ addu $t6, $t7, $t9 -/* 0FBF40 7F0C7410 3198001F */ andi $t8, $t4, 0x1f -/* 0FBF44 7F0C7414 312B0001 */ andi $t3, $t1, 1 -/* 0FBF48 7F0C7418 01CB6821 */ addu $t5, $t6, $t3 -/* 0FBF4C 7F0C741C 304A0001 */ andi $t2, $v0, 1 -/* 0FBF50 7F0C7420 01AA6021 */ addu $t4, $t5, $t2 -/* 0FBF54 7F0C7424 AFB80010 */ sw $t8, 0x10($sp) -/* 0FBF58 7F0C7428 25980002 */ addiu $t8, $t4, 2 -/* 0FBF5C 7F0C742C 00187883 */ sra $t7, $t8, 2 -/* 0FBF60 7F0C7430 31F90001 */ andi $t9, $t7, 1 -/* 0FBF64 7F0C7434 AFB90014 */ sw $t9, 0x14($sp) -/* 0FBF68 7F0C7438 02602025 */ move $a0, $s3 -/* 0FBF6C 7F0C743C 0FC31DEB */ jal sub_GAME_7F0C77AC -/* 0FBF70 7F0C7440 02E02825 */ move $a1, $s7 -/* 0FBF74 7F0C7444 924E0000 */ lbu $t6, ($s2) -/* 0FBF78 7F0C7448 26310004 */ addiu $s1, $s1, 4 -/* 0FBF7C 7F0C744C 01C26825 */ or $t5, $t6, $v0 -/* 0FBF80 7F0C7450 A24D0000 */ sb $t5, ($s2) -/* 0FBF84 7F0C7454 8FAA009C */ lw $t2, 0x9c($sp) -/* 0FBF88 7F0C7458 022A082A */ slt $at, $s1, $t2 -/* 0FBF8C 7F0C745C 5420FF3B */ bnezl $at, .L7F0C714C -/* 0FBF90 7F0C7460 00112843 */ sra $a1, $s1, 1 -.L7F0C7464: -/* 0FBF94 7F0C7464 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 0FBF98 7F0C7468 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 0FBF9C 7F0C746C 8FAC0074 */ lw $t4, 0x74($sp) -/* 0FBFA0 7F0C7470 8FB8004C */ lw $t8, 0x4c($sp) -/* 0FBFA4 7F0C7474 8FB9009C */ lw $t9, 0x9c($sp) -/* 0FBFA8 7F0C7478 25CB0002 */ addiu $t3, $t6, 2 -/* 0FBFAC 7F0C747C 016D082A */ slt $at, $t3, $t5 -/* 0FBFB0 7F0C7480 01987821 */ addu $t7, $t4, $t8 -/* 0FBFB4 7F0C7484 AFAB00A0 */ sw $t3, 0xa0($sp) -/* 0FBFB8 7F0C7488 AFAF0074 */ sw $t7, 0x74($sp) -/* 0FBFBC 7F0C748C 1420FF20 */ bnez $at, .L7F0C7110 -/* 0FBFC0 7F0C7490 02B9A821 */ addu $s5, $s5, $t9 -.L7F0C7494: -/* 0FBFC4 7F0C7494 8FAA0098 */ lw $t2, 0x98($sp) -/* 0FBFC8 7F0C7498 8FB80094 */ lw $t8, 0x94($sp) -/* 0FBFCC 7F0C749C 000A6043 */ sra $t4, $t2, 1 -/* 0FBFD0 7F0C74A0 01980019 */ multu $t4, $t8 -/* 0FBFD4 7F0C74A4 00001012 */ mflo $v0 -/* 0FBFD8 7F0C74A8 100000B5 */ b .L7F0C7780 -/* 0FBFDC 7F0C74AC 8FBF0044 */ lw $ra, 0x44($sp) -.L7F0C74B0: -/* 0FBFE0 7F0C74B0 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 0FBFE4 7F0C74B4 8FB90098 */ lw $t9, 0x98($sp) -/* 0FBFE8 7F0C74B8 AFA000A0 */ sw $zero, 0xa0($sp) -/* 0FBFEC 7F0C74BC 19E000A8 */ blez $t7, .L7F0C7760 -/* 0FBFF0 7F0C74C0 00197043 */ sra $t6, $t9, 1 -/* 0FBFF4 7F0C74C4 AFAE004C */ sw $t6, 0x4c($sp) -/* 0FBFF8 7F0C74C8 8FB700C0 */ lw $s7, 0xc0($sp) -/* 0FBFFC 7F0C74CC 8FB300BC */ lw $s3, 0xbc($sp) -.L7F0C74D0: -/* 0FC000 7F0C74D0 8FAD00A0 */ lw $t5, 0xa0($sp) -/* 0FC004 7F0C74D4 8FAB00B4 */ lw $t3, 0xb4($sp) -/* 0FC008 7F0C74D8 00008825 */ move $s1, $zero -/* 0FC00C 7F0C74DC 25AA0001 */ addiu $t2, $t5, 1 -/* 0FC010 7F0C74E0 014B082A */ slt $at, $t2, $t3 -/* 0FC014 7F0C74E4 10200005 */ beqz $at, .L7F0C74FC -/* 0FC018 7F0C74E8 8FB8009C */ lw $t8, 0x9c($sp) -/* 0FC01C 7F0C74EC 8FB6009C */ lw $s6, 0x9c($sp) -/* 0FC020 7F0C74F0 00166043 */ sra $t4, $s6, 1 -/* 0FC024 7F0C74F4 10000002 */ b .L7F0C7500 -/* 0FC028 7F0C74F8 0180B025 */ move $s6, $t4 -.L7F0C74FC: -/* 0FC02C 7F0C74FC 0000B025 */ move $s6, $zero -.L7F0C7500: -/* 0FC030 7F0C7500 1B00008B */ blez $t8, .L7F0C7730 -/* 0FC034 7F0C7504 00112843 */ sra $a1, $s1, 1 -.L7F0C7508: -/* 0FC038 7F0C7508 00B57821 */ addu $t7, $a1, $s5 -/* 0FC03C 7F0C750C 91E20000 */ lbu $v0, ($t7) -/* 0FC040 7F0C7510 262A0001 */ addiu $t2, $s1, 1 -/* 0FC044 7F0C7514 015E202A */ slt $a0, $t2, $fp -/* 0FC048 7F0C7518 0002C903 */ sra $t9, $v0, 4 -/* 0FC04C 7F0C751C 332E000F */ andi $t6, $t9, 0xf -/* 0FC050 7F0C7520 000E6840 */ sll $t5, $t6, 1 -/* 0FC054 7F0C7524 026D5821 */ addu $t3, $s3, $t5 -/* 0FC058 7F0C7528 00826007 */ srav $t4, $v0, $a0 -/* 0FC05C 7F0C752C 11800003 */ beqz $t4, .L7F0C753C -/* 0FC060 7F0C7530 85700000 */ lh $s0, ($t3) -/* 0FC064 7F0C7534 10000002 */ b .L7F0C7540 -/* 0FC068 7F0C7538 00001825 */ move $v1, $zero -.L7F0C753C: -/* 0FC06C 7F0C753C 24030004 */ li $v1, 4 -.L7F0C7540: -/* 0FC070 7F0C7540 00B67021 */ addu $t6, $a1, $s6 -/* 0FC074 7F0C7544 01D56821 */ addu $t5, $t6, $s5 -/* 0FC078 7F0C7548 91A20000 */ lbu $v0, ($t5) -/* 0FC07C 7F0C754C 3078000F */ andi $t8, $v1, 0xf -/* 0FC080 7F0C7550 00187840 */ sll $t7, $t8, 1 -/* 0FC084 7F0C7554 00025903 */ sra $t3, $v0, 4 -/* 0FC088 7F0C7558 316A000F */ andi $t2, $t3, 0xf -/* 0FC08C 7F0C755C 026FC821 */ addu $t9, $s3, $t7 -/* 0FC090 7F0C7560 000A6040 */ sll $t4, $t2, 1 -/* 0FC094 7F0C7564 026CC021 */ addu $t8, $s3, $t4 -/* 0FC098 7F0C7568 00827807 */ srav $t7, $v0, $a0 -/* 0FC09C 7F0C756C 87280000 */ lh $t0, ($t9) -/* 0FC0A0 7F0C7570 11E00003 */ beqz $t7, .L7F0C7580 -/* 0FC0A4 7F0C7574 87090000 */ lh $t1, ($t8) -/* 0FC0A8 7F0C7578 10000002 */ b .L7F0C7584 -/* 0FC0AC 7F0C757C 00001825 */ move $v1, $zero -.L7F0C7580: -/* 0FC0B0 7F0C7580 24030004 */ li $v1, 4 -.L7F0C7584: -/* 0FC0B4 7F0C7584 3079000F */ andi $t9, $v1, 0xf -/* 0FC0B8 7F0C7588 00197040 */ sll $t6, $t9, 1 -/* 0FC0BC 7F0C758C 026E6821 */ addu $t5, $s3, $t6 -/* 0FC0C0 7F0C7590 85A20000 */ lh $v0, ($t5) -/* 0FC0C4 7F0C7594 00105A03 */ sra $t3, $s0, 8 -/* 0FC0C8 7F0C7598 00086203 */ sra $t4, $t0, 8 -/* 0FC0CC 7F0C759C 319800FF */ andi $t8, $t4, 0xff -/* 0FC0D0 7F0C75A0 316A00FF */ andi $t2, $t3, 0xff -/* 0FC0D4 7F0C75A4 0009CA03 */ sra $t9, $t1, 8 -/* 0FC0D8 7F0C75A8 332E00FF */ andi $t6, $t9, 0xff -/* 0FC0DC 7F0C75AC 01587821 */ addu $t7, $t2, $t8 -/* 0FC0E0 7F0C75B0 01EE6821 */ addu $t5, $t7, $t6 -/* 0FC0E4 7F0C75B4 00025A03 */ sra $t3, $v0, 8 -/* 0FC0E8 7F0C75B8 316C00FF */ andi $t4, $t3, 0xff -/* 0FC0EC 7F0C75BC 01AC3021 */ addu $a2, $t5, $t4 -/* 0FC0F0 7F0C75C0 310F00FF */ andi $t7, $t0, 0xff -/* 0FC0F4 7F0C75C4 321900FF */ andi $t9, $s0, 0xff -/* 0FC0F8 7F0C75C8 032F7021 */ addu $t6, $t9, $t7 -/* 0FC0FC 7F0C75CC 312B00FF */ andi $t3, $t1, 0xff -/* 0FC100 7F0C75D0 01CB6821 */ addu $t5, $t6, $t3 -/* 0FC104 7F0C75D4 304C00FF */ andi $t4, $v0, 0xff -/* 0FC108 7F0C75D8 01AC3821 */ addu $a3, $t5, $t4 -/* 0FC10C 7F0C75DC 00065083 */ sra $t2, $a2, 2 -/* 0FC110 7F0C75E0 314600FF */ andi $a2, $t2, 0xff -/* 0FC114 7F0C75E4 24E70001 */ addiu $a3, $a3, 1 -/* 0FC118 7F0C75E8 00075083 */ sra $t2, $a3, 2 -/* 0FC11C 7F0C75EC 314700FF */ andi $a3, $t2, 0xff -/* 0FC120 7F0C75F0 02602025 */ move $a0, $s3 -/* 0FC124 7F0C75F4 0FC31EF6 */ jal sub_GAME_7F0C7BD8 -/* 0FC128 7F0C75F8 02E02825 */ move $a1, $s7 -/* 0FC12C 7F0C75FC 8FB90074 */ lw $t9, 0x74($sp) -/* 0FC130 7F0C7600 00117883 */ sra $t7, $s1, 2 -/* 0FC134 7F0C7604 26260002 */ addiu $a2, $s1, 2 -/* 0FC138 7F0C7608 00025900 */ sll $t3, $v0, 4 -/* 0FC13C 7F0C760C 00066843 */ sra $t5, $a2, 1 -/* 0FC140 7F0C7610 032F9021 */ addu $s2, $t9, $t7 -/* 0FC144 7F0C7614 A24B0000 */ sb $t3, ($s2) -/* 0FC148 7F0C7618 01B56021 */ addu $t4, $t5, $s5 -/* 0FC14C 7F0C761C 91840000 */ lbu $a0, ($t4) -/* 0FC150 7F0C7620 262E0003 */ addiu $t6, $s1, 3 -/* 0FC154 7F0C7624 01DE282A */ slt $a1, $t6, $fp -/* 0FC158 7F0C7628 00045103 */ sra $t2, $a0, 4 -/* 0FC15C 7F0C762C 3158000F */ andi $t8, $t2, 0xf -/* 0FC160 7F0C7630 0018C840 */ sll $t9, $t8, 1 -/* 0FC164 7F0C7634 02797821 */ addu $t7, $s3, $t9 -/* 0FC168 7F0C7638 00A45807 */ srav $t3, $a0, $a1 -/* 0FC16C 7F0C763C 85F00000 */ lh $s0, ($t7) -/* 0FC170 7F0C7640 11600003 */ beqz $t3, .L7F0C7650 -/* 0FC174 7F0C7644 01A03025 */ move $a2, $t5 -/* 0FC178 7F0C7648 10000002 */ b .L7F0C7654 -/* 0FC17C 7F0C764C 00001825 */ move $v1, $zero -.L7F0C7650: -/* 0FC180 7F0C7650 24030004 */ li $v1, 4 -.L7F0C7654: -/* 0FC184 7F0C7654 00D6C021 */ addu $t8, $a2, $s6 -/* 0FC188 7F0C7658 0315C821 */ addu $t9, $t8, $s5 -/* 0FC18C 7F0C765C 93220000 */ lbu $v0, ($t9) -/* 0FC190 7F0C7660 306D000F */ andi $t5, $v1, 0xf -/* 0FC194 7F0C7664 000D6040 */ sll $t4, $t5, 1 -/* 0FC198 7F0C7668 00027903 */ sra $t7, $v0, 4 -/* 0FC19C 7F0C766C 31EE000F */ andi $t6, $t7, 0xf -/* 0FC1A0 7F0C7670 026C5021 */ addu $t2, $s3, $t4 -/* 0FC1A4 7F0C7674 000E5840 */ sll $t3, $t6, 1 -/* 0FC1A8 7F0C7678 026B6821 */ addu $t5, $s3, $t3 -/* 0FC1AC 7F0C767C 00A26007 */ srav $t4, $v0, $a1 -/* 0FC1B0 7F0C7680 85480000 */ lh $t0, ($t2) -/* 0FC1B4 7F0C7684 11800003 */ beqz $t4, .L7F0C7694 -/* 0FC1B8 7F0C7688 85A90000 */ lh $t1, ($t5) -/* 0FC1BC 7F0C768C 10000002 */ b .L7F0C7698 -/* 0FC1C0 7F0C7690 00001825 */ move $v1, $zero -.L7F0C7694: -/* 0FC1C4 7F0C7694 24030004 */ li $v1, 4 -.L7F0C7698: -/* 0FC1C8 7F0C7698 306A000F */ andi $t2, $v1, 0xf -/* 0FC1CC 7F0C769C 000AC040 */ sll $t8, $t2, 1 -/* 0FC1D0 7F0C76A0 0278C821 */ addu $t9, $s3, $t8 -/* 0FC1D4 7F0C76A4 87220000 */ lh $v0, ($t9) -/* 0FC1D8 7F0C76A8 00107A03 */ sra $t7, $s0, 8 -/* 0FC1DC 7F0C76AC 00085A03 */ sra $t3, $t0, 8 -/* 0FC1E0 7F0C76B0 316D00FF */ andi $t5, $t3, 0xff -/* 0FC1E4 7F0C76B4 31EE00FF */ andi $t6, $t7, 0xff -/* 0FC1E8 7F0C76B8 00095203 */ sra $t2, $t1, 8 -/* 0FC1EC 7F0C76BC 315800FF */ andi $t8, $t2, 0xff -/* 0FC1F0 7F0C76C0 01CD6021 */ addu $t4, $t6, $t5 -/* 0FC1F4 7F0C76C4 0198C821 */ addu $t9, $t4, $t8 -/* 0FC1F8 7F0C76C8 00027A03 */ sra $t7, $v0, 8 -/* 0FC1FC 7F0C76CC 31EB00FF */ andi $t3, $t7, 0xff -/* 0FC200 7F0C76D0 032B3021 */ addu $a2, $t9, $t3 -/* 0FC204 7F0C76D4 310C00FF */ andi $t4, $t0, 0xff -/* 0FC208 7F0C76D8 320A00FF */ andi $t2, $s0, 0xff -/* 0FC20C 7F0C76DC 014CC021 */ addu $t8, $t2, $t4 -/* 0FC210 7F0C76E0 312F00FF */ andi $t7, $t1, 0xff -/* 0FC214 7F0C76E4 030FC821 */ addu $t9, $t8, $t7 -/* 0FC218 7F0C76E8 304B00FF */ andi $t3, $v0, 0xff -/* 0FC21C 7F0C76EC 032B3821 */ addu $a3, $t9, $t3 -/* 0FC220 7F0C76F0 00067083 */ sra $t6, $a2, 2 -/* 0FC224 7F0C76F4 31C600FF */ andi $a2, $t6, 0xff -/* 0FC228 7F0C76F8 24E70001 */ addiu $a3, $a3, 1 -/* 0FC22C 7F0C76FC 00077083 */ sra $t6, $a3, 2 -/* 0FC230 7F0C7700 31C700FF */ andi $a3, $t6, 0xff -/* 0FC234 7F0C7704 02602025 */ move $a0, $s3 -/* 0FC238 7F0C7708 0FC31EF6 */ jal sub_GAME_7F0C7BD8 -/* 0FC23C 7F0C770C 02E02825 */ move $a1, $s7 -/* 0FC240 7F0C7710 924A0000 */ lbu $t2, ($s2) -/* 0FC244 7F0C7714 26310004 */ addiu $s1, $s1, 4 -/* 0FC248 7F0C7718 0142C025 */ or $t8, $t2, $v0 -/* 0FC24C 7F0C771C A2580000 */ sb $t8, ($s2) -/* 0FC250 7F0C7720 8FAF009C */ lw $t7, 0x9c($sp) -/* 0FC254 7F0C7724 022F082A */ slt $at, $s1, $t7 -/* 0FC258 7F0C7728 5420FF77 */ bnezl $at, .L7F0C7508 -/* 0FC25C 7F0C772C 00112843 */ sra $a1, $s1, 1 -.L7F0C7730: -/* 0FC260 7F0C7730 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 0FC264 7F0C7734 8FB800B4 */ lw $t8, 0xb4($sp) -/* 0FC268 7F0C7738 8FB90074 */ lw $t9, 0x74($sp) -/* 0FC26C 7F0C773C 8FAB004C */ lw $t3, 0x4c($sp) -/* 0FC270 7F0C7740 8FAD009C */ lw $t5, 0x9c($sp) -/* 0FC274 7F0C7744 254C0002 */ addiu $t4, $t2, 2 -/* 0FC278 7F0C7748 0198082A */ slt $at, $t4, $t8 -/* 0FC27C 7F0C774C 032B7021 */ addu $t6, $t9, $t3 -/* 0FC280 7F0C7750 AFAC00A0 */ sw $t4, 0xa0($sp) -/* 0FC284 7F0C7754 AFAE0074 */ sw $t6, 0x74($sp) -/* 0FC288 7F0C7758 1420FF5D */ bnez $at, .L7F0C74D0 -/* 0FC28C 7F0C775C 02ADA821 */ addu $s5, $s5, $t5 -.L7F0C7760: -/* 0FC290 7F0C7760 8FAF0098 */ lw $t7, 0x98($sp) -/* 0FC294 7F0C7764 8FAB0094 */ lw $t3, 0x94($sp) -/* 0FC298 7F0C7768 000FC843 */ sra $t9, $t7, 1 -/* 0FC29C 7F0C776C 032B0019 */ multu $t9, $t3 -/* 0FC2A0 7F0C7770 00001012 */ mflo $v0 -/* 0FC2A4 7F0C7774 10000002 */ b .L7F0C7780 -/* 0FC2A8 7F0C7778 8FBF0044 */ lw $ra, 0x44($sp) -.L7F0C777C: -/* 0FC2AC 7F0C777C 8FBF0044 */ lw $ra, 0x44($sp) -.L7F0C7780: -/* 0FC2B0 7F0C7780 8FB00020 */ lw $s0, 0x20($sp) -/* 0FC2B4 7F0C7784 8FB10024 */ lw $s1, 0x24($sp) -/* 0FC2B8 7F0C7788 8FB20028 */ lw $s2, 0x28($sp) -/* 0FC2BC 7F0C778C 8FB3002C */ lw $s3, 0x2c($sp) -/* 0FC2C0 7F0C7790 8FB40030 */ lw $s4, 0x30($sp) -/* 0FC2C4 7F0C7794 8FB50034 */ lw $s5, 0x34($sp) -/* 0FC2C8 7F0C7798 8FB60038 */ lw $s6, 0x38($sp) -/* 0FC2CC 7F0C779C 8FB7003C */ lw $s7, 0x3c($sp) -/* 0FC2D0 7F0C77A0 8FBE0040 */ lw $fp, 0x40($sp) -/* 0FC2D4 7F0C77A4 03E00008 */ jr $ra -/* 0FC2D8 7F0C77A8 27BD00A8 */ addiu $sp, $sp, 0xa8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C77AC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C77AC -/* 0FC2DC 7F0C77AC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0FC2E0 7F0C77B0 AFB2000C */ sw $s2, 0xc($sp) -/* 0FC2E4 7F0C77B4 AFB10008 */ sw $s1, 8($sp) -/* 0FC2E8 7F0C77B8 AFB00004 */ sw $s0, 4($sp) -/* 0FC2EC 7F0C77BC 00C08025 */ move $s0, $a2 -/* 0FC2F0 7F0C77C0 00E08825 */ move $s1, $a3 -/* 0FC2F4 7F0C77C4 00809025 */ move $s2, $a0 -/* 0FC2F8 7F0C77C8 AFB40014 */ sw $s4, 0x14($sp) -/* 0FC2FC 7F0C77CC AFB30010 */ sw $s3, 0x10($sp) -/* 0FC300 7F0C77D0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0FC304 7F0C77D4 18A0003F */ blez $a1, .L7F0C78D4 -/* 0FC308 7F0C77D8 00001825 */ move $v1, $zero -/* 0FC30C 7F0C77DC 30A60003 */ andi $a2, $a1, 3 -/* 0FC310 7F0C77E0 10C00018 */ beqz $a2, .L7F0C7844 -/* 0FC314 7F0C77E4 8FA90028 */ lw $t1, 0x28($sp) -/* 0FC318 7F0C77E8 00007840 */ sll $t7, $zero, 1 -/* 0FC31C 7F0C77EC 8FAA002C */ lw $t2, 0x2c($sp) -/* 0FC320 7F0C77F0 024F1021 */ addu $v0, $s2, $t7 -/* 0FC324 7F0C77F4 0010C2C0 */ sll $t8, $s0, 0xb -/* 0FC328 7F0C77F8 0007C980 */ sll $t9, $a3, 6 -/* 0FC32C 7F0C77FC 03197025 */ or $t6, $t8, $t9 -/* 0FC330 7F0C7800 00097840 */ sll $t7, $t1, 1 -/* 0FC334 7F0C7804 01CFC025 */ or $t8, $t6, $t7 -/* 0FC338 7F0C7808 030A2825 */ or $a1, $t8, $t2 -/* 0FC33C 7F0C780C 30B9FFFF */ andi $t9, $a1, 0xffff -/* 0FC340 7F0C7810 03202825 */ move $a1, $t9 -/* 0FC344 7F0C7814 00C02025 */ move $a0, $a2 -.L7F0C7818: -/* 0FC348 7F0C7818 944E0000 */ lhu $t6, ($v0) -/* 0FC34C 7F0C781C 54AE0004 */ bnel $a1, $t6, .L7F0C7830 -/* 0FC350 7F0C7820 24630001 */ addiu $v1, $v1, 1 -/* 0FC354 7F0C7824 100000E5 */ b .L7F0C7BBC -/* 0FC358 7F0C7828 00601025 */ move $v0, $v1 -/* 0FC35C 7F0C782C 24630001 */ addiu $v1, $v1, 1 -.L7F0C7830: -/* 0FC360 7F0C7830 1483FFF9 */ bne $a0, $v1, .L7F0C7818 -/* 0FC364 7F0C7834 24420002 */ addiu $v0, $v0, 2 -/* 0FC368 7F0C7838 8FAF001C */ lw $t7, 0x1c($sp) -/* 0FC36C 7F0C783C 506F0026 */ beql $v1, $t7, .L7F0C78D8 -/* 0FC370 7F0C7840 8FA6001C */ lw $a2, 0x1c($sp) -.L7F0C7844: -/* 0FC374 7F0C7844 8FA90028 */ lw $t1, 0x28($sp) -/* 0FC378 7F0C7848 0003C040 */ sll $t8, $v1, 1 -/* 0FC37C 7F0C784C 8FAA002C */ lw $t2, 0x2c($sp) -/* 0FC380 7F0C7850 02581021 */ addu $v0, $s2, $t8 -/* 0FC384 7F0C7854 0010CAC0 */ sll $t9, $s0, 0xb -/* 0FC388 7F0C7858 00117180 */ sll $t6, $s1, 6 -/* 0FC38C 7F0C785C 032E7825 */ or $t7, $t9, $t6 -/* 0FC390 7F0C7860 0009C040 */ sll $t8, $t1, 1 -/* 0FC394 7F0C7864 01F8C825 */ or $t9, $t7, $t8 -/* 0FC398 7F0C7868 032A2825 */ or $a1, $t9, $t2 -/* 0FC39C 7F0C786C 30AEFFFF */ andi $t6, $a1, 0xffff -/* 0FC3A0 7F0C7870 01C02825 */ move $a1, $t6 -.L7F0C7874: -/* 0FC3A4 7F0C7874 944F0000 */ lhu $t7, ($v0) -/* 0FC3A8 7F0C7878 54AF0004 */ bnel $a1, $t7, .L7F0C788C -/* 0FC3AC 7F0C787C 94580002 */ lhu $t8, 2($v0) -/* 0FC3B0 7F0C7880 100000CE */ b .L7F0C7BBC -/* 0FC3B4 7F0C7884 00601025 */ move $v0, $v1 -/* 0FC3B8 7F0C7888 94580002 */ lhu $t8, 2($v0) -.L7F0C788C: -/* 0FC3BC 7F0C788C 8FAF001C */ lw $t7, 0x1c($sp) -/* 0FC3C0 7F0C7890 54B80004 */ bnel $a1, $t8, .L7F0C78A4 -/* 0FC3C4 7F0C7894 94590004 */ lhu $t9, 4($v0) -/* 0FC3C8 7F0C7898 100000C8 */ b .L7F0C7BBC -/* 0FC3CC 7F0C789C 24620001 */ addiu $v0, $v1, 1 -/* 0FC3D0 7F0C78A0 94590004 */ lhu $t9, 4($v0) -.L7F0C78A4: -/* 0FC3D4 7F0C78A4 54B90004 */ bnel $a1, $t9, .L7F0C78B8 -/* 0FC3D8 7F0C78A8 944E0006 */ lhu $t6, 6($v0) -/* 0FC3DC 7F0C78AC 100000C3 */ b .L7F0C7BBC -/* 0FC3E0 7F0C78B0 24620002 */ addiu $v0, $v1, 2 -/* 0FC3E4 7F0C78B4 944E0006 */ lhu $t6, 6($v0) -.L7F0C78B8: -/* 0FC3E8 7F0C78B8 54AE0004 */ bnel $a1, $t6, .L7F0C78CC -/* 0FC3EC 7F0C78BC 24630004 */ addiu $v1, $v1, 4 -/* 0FC3F0 7F0C78C0 100000BE */ b .L7F0C7BBC -/* 0FC3F4 7F0C78C4 24620003 */ addiu $v0, $v1, 3 -/* 0FC3F8 7F0C78C8 24630004 */ addiu $v1, $v1, 4 -.L7F0C78CC: -/* 0FC3FC 7F0C78CC 146FFFE9 */ bne $v1, $t7, .L7F0C7874 -/* 0FC400 7F0C78D0 24420008 */ addiu $v0, $v0, 8 -.L7F0C78D4: -/* 0FC404 7F0C78D4 8FA6001C */ lw $a2, 0x1c($sp) -.L7F0C78D8: -/* 0FC408 7F0C78D8 8FA90028 */ lw $t1, 0x28($sp) -/* 0FC40C 7F0C78DC 8FAA002C */ lw $t2, 0x2c($sp) -/* 0FC410 7F0C78E0 24C6FFFF */ addiu $a2, $a2, -1 -/* 0FC414 7F0C78E4 28C10002 */ slti $at, $a2, 2 -/* 0FC418 7F0C78E8 00002825 */ move $a1, $zero -/* 0FC41C 7F0C78EC 1420003A */ bnez $at, .L7F0C79D8 -/* 0FC420 7F0C78F0 00C03825 */ move $a3, $a2 -/* 0FC424 7F0C78F4 02100019 */ multu $s0, $s0 -/* 0FC428 7F0C78F8 0000C012 */ mflo $t8 -/* 0FC42C 7F0C78FC 00000000 */ nop -/* 0FC430 7F0C7900 00000000 */ nop -/* 0FC434 7F0C7904 02310019 */ multu $s1, $s1 -/* 0FC438 7F0C7908 0000C812 */ mflo $t9 -/* 0FC43C 7F0C790C 03197021 */ addu $t6, $t8, $t9 -/* 0FC440 7F0C7910 000AC900 */ sll $t9, $t2, 4 -/* 0FC444 7F0C7914 01290019 */ multu $t1, $t1 -/* 0FC448 7F0C7918 032AC823 */ subu $t9, $t9, $t2 -/* 0FC44C 7F0C791C 0019C980 */ sll $t9, $t9, 6 -/* 0FC450 7F0C7920 032AC821 */ addu $t9, $t9, $t2 -/* 0FC454 7F0C7924 00007812 */ mflo $t7 -/* 0FC458 7F0C7928 01CFC021 */ addu $t8, $t6, $t7 -/* 0FC45C 7F0C792C 03194021 */ addu $t0, $t8, $t9 -/* 0FC460 7F0C7930 00E55821 */ addu $t3, $a3, $a1 -.L7F0C7934: -/* 0FC464 7F0C7934 000B2043 */ sra $a0, $t3, 1 -/* 0FC468 7F0C7938 00047840 */ sll $t7, $a0, 1 -/* 0FC46C 7F0C793C 024FC021 */ addu $t8, $s2, $t7 -/* 0FC470 7F0C7940 97030000 */ lhu $v1, ($t8) -/* 0FC474 7F0C7944 000362C3 */ sra $t4, $v1, 0xb -/* 0FC478 7F0C7948 3199001F */ andi $t9, $t4, 0x1f -/* 0FC47C 7F0C794C 03390019 */ multu $t9, $t9 -/* 0FC480 7F0C7950 00036983 */ sra $t5, $v1, 6 -/* 0FC484 7F0C7954 31AE001F */ andi $t6, $t5, 0x1f -/* 0FC488 7F0C7958 00039843 */ sra $s3, $v1, 1 -/* 0FC48C 7F0C795C 326F001F */ andi $t7, $s3, 0x1f -/* 0FC490 7F0C7960 0000C012 */ mflo $t8 -/* 0FC494 7F0C7964 00000000 */ nop -/* 0FC498 7F0C7968 00000000 */ nop -/* 0FC49C 7F0C796C 01CE0019 */ multu $t6, $t6 -/* 0FC4A0 7F0C7970 0000C812 */ mflo $t9 -/* 0FC4A4 7F0C7974 03197021 */ addu $t6, $t8, $t9 -/* 0FC4A8 7F0C7978 30790001 */ andi $t9, $v1, 1 -/* 0FC4AC 7F0C797C 01EF0019 */ multu $t7, $t7 -/* 0FC4B0 7F0C7980 00007812 */ mflo $t7 -/* 0FC4B4 7F0C7984 01CFC021 */ addu $t8, $t6, $t7 -/* 0FC4B8 7F0C7988 00197100 */ sll $t6, $t9, 4 -/* 0FC4BC 7F0C798C 01D97023 */ subu $t6, $t6, $t9 -/* 0FC4C0 7F0C7990 000E7180 */ sll $t6, $t6, 6 -/* 0FC4C4 7F0C7994 01D97021 */ addu $t6, $t6, $t9 -/* 0FC4C8 7F0C7998 030EA021 */ addu $s4, $t8, $t6 -/* 0FC4CC 7F0C799C 0288082A */ slt $at, $s4, $t0 -/* 0FC4D0 7F0C79A0 50200004 */ beql $at, $zero, .L7F0C79B4 -/* 0FC4D4 7F0C79A4 0114082A */ slt $at, $t0, $s4 -/* 0FC4D8 7F0C79A8 10000007 */ b .L7F0C79C8 -/* 0FC4DC 7F0C79AC 00802825 */ move $a1, $a0 -/* 0FC4E0 7F0C79B0 0114082A */ slt $at, $t0, $s4 -.L7F0C79B4: -/* 0FC4E4 7F0C79B4 10200003 */ beqz $at, .L7F0C79C4 -/* 0FC4E8 7F0C79B8 00803825 */ move $a3, $a0 -/* 0FC4EC 7F0C79BC 10000002 */ b .L7F0C79C8 -/* 0FC4F0 7F0C79C0 00803825 */ move $a3, $a0 -.L7F0C79C4: -/* 0FC4F4 7F0C79C4 00802825 */ move $a1, $a0 -.L7F0C79C8: -/* 0FC4F8 7F0C79C8 00E57823 */ subu $t7, $a3, $a1 -/* 0FC4FC 7F0C79CC 29E10002 */ slti $at, $t7, 2 -/* 0FC500 7F0C79D0 5020FFD8 */ beql $at, $zero, .L7F0C7934 -/* 0FC504 7F0C79D4 00E55821 */ addu $t3, $a3, $a1 -.L7F0C79D8: -/* 0FC508 7F0C79D8 24E5FFFC */ addiu $a1, $a3, -4 -/* 0FC50C 7F0C79DC 04A10002 */ bgez $a1, .L7F0C79E8 -/* 0FC510 7F0C79E0 8FB9001C */ lw $t9, 0x1c($sp) -/* 0FC514 7F0C79E4 00002825 */ move $a1, $zero -.L7F0C79E8: -/* 0FC518 7F0C79E8 24E70004 */ addiu $a3, $a3, 4 -/* 0FC51C 7F0C79EC 00F9082A */ slt $at, $a3, $t9 -/* 0FC520 7F0C79F0 14200002 */ bnez $at, .L7F0C79FC -/* 0FC524 7F0C79F4 3C14000F */ lui $s4, (0x000F423F >> 16) # lui $s4, 0xf -/* 0FC528 7F0C79F8 00C03825 */ move $a3, $a2 -.L7F0C79FC: -/* 0FC52C 7F0C79FC 3694423F */ ori $s4, (0x000F423F & 0xFFFF) # ori $s4, $s4, 0x423f -/* 0FC530 7F0C7A00 00E5082A */ slt $at, $a3, $a1 -/* 0FC534 7F0C7A04 00004025 */ move $t0, $zero -/* 0FC538 7F0C7A08 02803025 */ move $a2, $s4 -/* 0FC53C 7F0C7A0C 1420006A */ bnez $at, .L7F0C7BB8 -/* 0FC540 7F0C7A10 00A02025 */ move $a0, $a1 -/* 0FC544 7F0C7A14 00E51023 */ subu $v0, $a3, $a1 -/* 0FC548 7F0C7A18 24420001 */ addiu $v0, $v0, 1 -/* 0FC54C 7F0C7A1C 30580001 */ andi $t8, $v0, 1 -/* 0FC550 7F0C7A20 13000023 */ beqz $t8, .L7F0C7AB0 -/* 0FC554 7F0C7A24 00057040 */ sll $t6, $a1, 1 -/* 0FC558 7F0C7A28 024E7821 */ addu $t7, $s2, $t6 -/* 0FC55C 7F0C7A2C 95E20000 */ lhu $v0, ($t7) -/* 0FC560 7F0C7A30 24A40001 */ addiu $a0, $a1, 1 -/* 0FC564 7F0C7A34 240303C1 */ li $v1, 961 -/* 0FC568 7F0C7A38 30590001 */ andi $t9, $v0, 1 -/* 0FC56C 7F0C7A3C 15590003 */ bne $t2, $t9, .L7F0C7A4C -/* 0FC570 7F0C7A40 0002C2C3 */ sra $t8, $v0, 0xb -/* 0FC574 7F0C7A44 10000001 */ b .L7F0C7A4C -/* 0FC578 7F0C7A48 00001825 */ move $v1, $zero -.L7F0C7A4C: -/* 0FC57C 7F0C7A4C 330E001F */ andi $t6, $t8, 0x1f -/* 0FC580 7F0C7A50 01D05823 */ subu $t3, $t6, $s0 -/* 0FC584 7F0C7A54 016B0019 */ multu $t3, $t3 -/* 0FC588 7F0C7A58 00027983 */ sra $t7, $v0, 6 -/* 0FC58C 7F0C7A5C 31F9001F */ andi $t9, $t7, 0x1f -/* 0FC590 7F0C7A60 03316023 */ subu $t4, $t9, $s1 -/* 0FC594 7F0C7A64 0002C043 */ sra $t8, $v0, 1 -/* 0FC598 7F0C7A68 330E001F */ andi $t6, $t8, 0x1f -/* 0FC59C 7F0C7A6C 01C96823 */ subu $t5, $t6, $t1 -/* 0FC5A0 7F0C7A70 00007812 */ mflo $t7 -/* 0FC5A4 7F0C7A74 006FC821 */ addu $t9, $v1, $t7 -/* 0FC5A8 7F0C7A78 00000000 */ nop -/* 0FC5AC 7F0C7A7C 018C0019 */ multu $t4, $t4 -/* 0FC5B0 7F0C7A80 0000C012 */ mflo $t8 -/* 0FC5B4 7F0C7A84 03387021 */ addu $t6, $t9, $t8 -/* 0FC5B8 7F0C7A88 24F90001 */ addiu $t9, $a3, 1 -/* 0FC5BC 7F0C7A8C 01AD0019 */ multu $t5, $t5 -/* 0FC5C0 7F0C7A90 00007812 */ mflo $t7 -/* 0FC5C4 7F0C7A94 01CF9821 */ addu $s3, $t6, $t7 -/* 0FC5C8 7F0C7A98 0274082A */ slt $at, $s3, $s4 -/* 0FC5CC 7F0C7A9C 10200003 */ beqz $at, .L7F0C7AAC -/* 0FC5D0 7F0C7AA0 00000000 */ nop -/* 0FC5D4 7F0C7AA4 00A04025 */ move $t0, $a1 -/* 0FC5D8 7F0C7AA8 02603025 */ move $a2, $s3 -.L7F0C7AAC: -/* 0FC5DC 7F0C7AAC 13240042 */ beq $t9, $a0, .L7F0C7BB8 -.L7F0C7AB0: -/* 0FC5E0 7F0C7AB0 0004C040 */ sll $t8, $a0, 1 -/* 0FC5E4 7F0C7AB4 02582821 */ addu $a1, $s2, $t8 -.L7F0C7AB8: -/* 0FC5E8 7F0C7AB8 94A20000 */ lhu $v0, ($a1) -/* 0FC5EC 7F0C7ABC 240303C1 */ li $v1, 961 -/* 0FC5F0 7F0C7AC0 304E0001 */ andi $t6, $v0, 1 -/* 0FC5F4 7F0C7AC4 154E0003 */ bne $t2, $t6, .L7F0C7AD4 -/* 0FC5F8 7F0C7AC8 00027AC3 */ sra $t7, $v0, 0xb -/* 0FC5FC 7F0C7ACC 10000001 */ b .L7F0C7AD4 -/* 0FC600 7F0C7AD0 00001825 */ move $v1, $zero -.L7F0C7AD4: -/* 0FC604 7F0C7AD4 31F9001F */ andi $t9, $t7, 0x1f -/* 0FC608 7F0C7AD8 03306023 */ subu $t4, $t9, $s0 -/* 0FC60C 7F0C7ADC 018C0019 */ multu $t4, $t4 -/* 0FC610 7F0C7AE0 0002C183 */ sra $t8, $v0, 6 -/* 0FC614 7F0C7AE4 330E001F */ andi $t6, $t8, 0x1f -/* 0FC618 7F0C7AE8 01D16823 */ subu $t5, $t6, $s1 -/* 0FC61C 7F0C7AEC 00027843 */ sra $t7, $v0, 1 -/* 0FC620 7F0C7AF0 31F9001F */ andi $t9, $t7, 0x1f -/* 0FC624 7F0C7AF4 03299023 */ subu $s2, $t9, $t1 -/* 0FC628 7F0C7AF8 0000C012 */ mflo $t8 -/* 0FC62C 7F0C7AFC 00787021 */ addu $t6, $v1, $t8 -/* 0FC630 7F0C7B00 240303C1 */ li $v1, 961 -/* 0FC634 7F0C7B04 01AD0019 */ multu $t5, $t5 -/* 0FC638 7F0C7B08 00007812 */ mflo $t7 -/* 0FC63C 7F0C7B0C 01CFC821 */ addu $t9, $t6, $t7 -/* 0FC640 7F0C7B10 00000000 */ nop -/* 0FC644 7F0C7B14 02520019 */ multu $s2, $s2 -/* 0FC648 7F0C7B18 0000C012 */ mflo $t8 -/* 0FC64C 7F0C7B1C 03389821 */ addu $s3, $t9, $t8 -/* 0FC650 7F0C7B20 0266082A */ slt $at, $s3, $a2 -/* 0FC654 7F0C7B24 50200004 */ beql $at, $zero, .L7F0C7B38 -/* 0FC658 7F0C7B28 94A20002 */ lhu $v0, 2($a1) -/* 0FC65C 7F0C7B2C 00804025 */ move $t0, $a0 -/* 0FC660 7F0C7B30 02603025 */ move $a2, $s3 -/* 0FC664 7F0C7B34 94A20002 */ lhu $v0, 2($a1) -.L7F0C7B38: -/* 0FC668 7F0C7B38 304E0001 */ andi $t6, $v0, 1 -/* 0FC66C 7F0C7B3C 154E0003 */ bne $t2, $t6, .L7F0C7B4C -/* 0FC670 7F0C7B40 00027AC3 */ sra $t7, $v0, 0xb -/* 0FC674 7F0C7B44 10000001 */ b .L7F0C7B4C -/* 0FC678 7F0C7B48 00001825 */ move $v1, $zero -.L7F0C7B4C: -/* 0FC67C 7F0C7B4C 31F9001F */ andi $t9, $t7, 0x1f -/* 0FC680 7F0C7B50 03305823 */ subu $t3, $t9, $s0 -/* 0FC684 7F0C7B54 016B0019 */ multu $t3, $t3 -/* 0FC688 7F0C7B58 0002C183 */ sra $t8, $v0, 6 -/* 0FC68C 7F0C7B5C 330E001F */ andi $t6, $t8, 0x1f -/* 0FC690 7F0C7B60 01D16023 */ subu $t4, $t6, $s1 -/* 0FC694 7F0C7B64 00027843 */ sra $t7, $v0, 1 -/* 0FC698 7F0C7B68 31F9001F */ andi $t9, $t7, 0x1f -/* 0FC69C 7F0C7B6C 03296823 */ subu $t5, $t9, $t1 -/* 0FC6A0 7F0C7B70 0000C012 */ mflo $t8 -/* 0FC6A4 7F0C7B74 00787021 */ addu $t6, $v1, $t8 -/* 0FC6A8 7F0C7B78 00000000 */ nop -/* 0FC6AC 7F0C7B7C 018C0019 */ multu $t4, $t4 -/* 0FC6B0 7F0C7B80 00007812 */ mflo $t7 -/* 0FC6B4 7F0C7B84 01CFC821 */ addu $t9, $t6, $t7 -/* 0FC6B8 7F0C7B88 24EE0001 */ addiu $t6, $a3, 1 -/* 0FC6BC 7F0C7B8C 01AD0019 */ multu $t5, $t5 -/* 0FC6C0 7F0C7B90 0000C012 */ mflo $t8 -/* 0FC6C4 7F0C7B94 03389021 */ addu $s2, $t9, $t8 -/* 0FC6C8 7F0C7B98 0246082A */ slt $at, $s2, $a2 -/* 0FC6CC 7F0C7B9C 50200004 */ beql $at, $zero, .L7F0C7BB0 -/* 0FC6D0 7F0C7BA0 24840002 */ addiu $a0, $a0, 2 -/* 0FC6D4 7F0C7BA4 24880001 */ addiu $t0, $a0, 1 -/* 0FC6D8 7F0C7BA8 02403025 */ move $a2, $s2 -/* 0FC6DC 7F0C7BAC 24840002 */ addiu $a0, $a0, 2 -.L7F0C7BB0: -/* 0FC6E0 7F0C7BB0 15C4FFC1 */ bne $t6, $a0, .L7F0C7AB8 -/* 0FC6E4 7F0C7BB4 24A50004 */ addiu $a1, $a1, 4 -.L7F0C7BB8: -/* 0FC6E8 7F0C7BB8 01001025 */ move $v0, $t0 -.L7F0C7BBC: -/* 0FC6EC 7F0C7BBC 8FB00004 */ lw $s0, 4($sp) -/* 0FC6F0 7F0C7BC0 8FB10008 */ lw $s1, 8($sp) -/* 0FC6F4 7F0C7BC4 8FB2000C */ lw $s2, 0xc($sp) -/* 0FC6F8 7F0C7BC8 8FB30010 */ lw $s3, 0x10($sp) -/* 0FC6FC 7F0C7BCC 8FB40014 */ lw $s4, 0x14($sp) -/* 0FC700 7F0C7BD0 03E00008 */ jr $ra -/* 0FC704 7F0C7BD4 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C7BD8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C7BD8 -/* 0FC708 7F0C7BD8 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0FC70C 7F0C7BDC AFB1000C */ sw $s1, 0xc($sp) -/* 0FC710 7F0C7BE0 AFB00008 */ sw $s0, 8($sp) -/* 0FC714 7F0C7BE4 18A00030 */ blez $a1, .L7F0C7CA8 -/* 0FC718 7F0C7BE8 00001825 */ move $v1, $zero -/* 0FC71C 7F0C7BEC 30AA0003 */ andi $t2, $a1, 3 -/* 0FC720 7F0C7BF0 11400010 */ beqz $t2, .L7F0C7C34 -/* 0FC724 7F0C7BF4 01404025 */ move $t0, $t2 -/* 0FC728 7F0C7BF8 00067A00 */ sll $t7, $a2, 8 -/* 0FC72C 7F0C7BFC 01E74825 */ or $t1, $t7, $a3 -/* 0FC730 7F0C7C00 3138FFFF */ andi $t8, $t1, 0xffff -/* 0FC734 7F0C7C04 00007040 */ sll $t6, $zero, 1 -/* 0FC738 7F0C7C08 008E1021 */ addu $v0, $a0, $t6 -/* 0FC73C 7F0C7C0C 03004825 */ move $t1, $t8 -.L7F0C7C10: -/* 0FC740 7F0C7C10 94590000 */ lhu $t9, ($v0) -/* 0FC744 7F0C7C14 55390004 */ bnel $t1, $t9, .L7F0C7C28 -/* 0FC748 7F0C7C18 24630001 */ addiu $v1, $v1, 1 -/* 0FC74C 7F0C7C1C 10000073 */ b .L7F0C7DEC -/* 0FC750 7F0C7C20 00601025 */ move $v0, $v1 -/* 0FC754 7F0C7C24 24630001 */ addiu $v1, $v1, 1 -.L7F0C7C28: -/* 0FC758 7F0C7C28 1503FFF9 */ bne $t0, $v1, .L7F0C7C10 -/* 0FC75C 7F0C7C2C 24420002 */ addiu $v0, $v0, 2 -/* 0FC760 7F0C7C30 1065001D */ beq $v1, $a1, .L7F0C7CA8 -.L7F0C7C34: -/* 0FC764 7F0C7C34 00067A00 */ sll $t7, $a2, 8 -/* 0FC768 7F0C7C38 01E74825 */ or $t1, $t7, $a3 -/* 0FC76C 7F0C7C3C 3138FFFF */ andi $t8, $t1, 0xffff -/* 0FC770 7F0C7C40 00037040 */ sll $t6, $v1, 1 -/* 0FC774 7F0C7C44 008E1021 */ addu $v0, $a0, $t6 -/* 0FC778 7F0C7C48 03004825 */ move $t1, $t8 -.L7F0C7C4C: -/* 0FC77C 7F0C7C4C 94590000 */ lhu $t9, ($v0) -/* 0FC780 7F0C7C50 55390004 */ bnel $t1, $t9, .L7F0C7C64 -/* 0FC784 7F0C7C54 944E0002 */ lhu $t6, 2($v0) -/* 0FC788 7F0C7C58 10000064 */ b .L7F0C7DEC -/* 0FC78C 7F0C7C5C 00601025 */ move $v0, $v1 -/* 0FC790 7F0C7C60 944E0002 */ lhu $t6, 2($v0) -.L7F0C7C64: -/* 0FC794 7F0C7C64 552E0004 */ bnel $t1, $t6, .L7F0C7C78 -/* 0FC798 7F0C7C68 944F0004 */ lhu $t7, 4($v0) -/* 0FC79C 7F0C7C6C 1000005F */ b .L7F0C7DEC -/* 0FC7A0 7F0C7C70 24620001 */ addiu $v0, $v1, 1 -/* 0FC7A4 7F0C7C74 944F0004 */ lhu $t7, 4($v0) -.L7F0C7C78: -/* 0FC7A8 7F0C7C78 552F0004 */ bnel $t1, $t7, .L7F0C7C8C -/* 0FC7AC 7F0C7C7C 94580006 */ lhu $t8, 6($v0) -/* 0FC7B0 7F0C7C80 1000005A */ b .L7F0C7DEC -/* 0FC7B4 7F0C7C84 24620002 */ addiu $v0, $v1, 2 -/* 0FC7B8 7F0C7C88 94580006 */ lhu $t8, 6($v0) -.L7F0C7C8C: -/* 0FC7BC 7F0C7C8C 55380004 */ bnel $t1, $t8, .L7F0C7CA0 -/* 0FC7C0 7F0C7C90 24630004 */ addiu $v1, $v1, 4 -/* 0FC7C4 7F0C7C94 10000055 */ b .L7F0C7DEC -/* 0FC7C8 7F0C7C98 24620003 */ addiu $v0, $v1, 3 -/* 0FC7CC 7F0C7C9C 24630004 */ addiu $v1, $v1, 4 -.L7F0C7CA0: -/* 0FC7D0 7F0C7CA0 1465FFEA */ bne $v1, $a1, .L7F0C7C4C -/* 0FC7D4 7F0C7CA4 24420008 */ addiu $v0, $v0, 8 -.L7F0C7CA8: -/* 0FC7D8 7F0C7CA8 24A8FFFF */ addiu $t0, $a1, -1 -/* 0FC7DC 7F0C7CAC 29010002 */ slti $at, $t0, 2 -/* 0FC7E0 7F0C7CB0 00001025 */ move $v0, $zero -/* 0FC7E4 7F0C7CB4 14200027 */ bnez $at, .L7F0C7D54 -/* 0FC7E8 7F0C7CB8 01001825 */ move $v1, $t0 -/* 0FC7EC 7F0C7CBC 00C60019 */ multu $a2, $a2 -/* 0FC7F0 7F0C7CC0 0000C812 */ mflo $t9 -/* 0FC7F4 7F0C7CC4 00000000 */ nop -/* 0FC7F8 7F0C7CC8 00000000 */ nop -/* 0FC7FC 7F0C7CCC 00E70019 */ multu $a3, $a3 -/* 0FC800 7F0C7CD0 00007012 */ mflo $t6 -/* 0FC804 7F0C7CD4 032E4821 */ addu $t1, $t9, $t6 -/* 0FC808 7F0C7CD8 00000000 */ nop -/* 0FC80C 7F0C7CDC 00625821 */ addu $t3, $v1, $v0 -.L7F0C7CE0: -/* 0FC810 7F0C7CE0 000B5043 */ sra $t2, $t3, 1 -/* 0FC814 7F0C7CE4 000AC040 */ sll $t8, $t2, 1 -/* 0FC818 7F0C7CE8 0098C821 */ addu $t9, $a0, $t8 -/* 0FC81C 7F0C7CEC 972C0000 */ lhu $t4, ($t9) -/* 0FC820 7F0C7CF0 000C6A03 */ sra $t5, $t4, 8 -/* 0FC824 7F0C7CF4 31AE00FF */ andi $t6, $t5, 0xff -/* 0FC828 7F0C7CF8 01CE0019 */ multu $t6, $t6 -/* 0FC82C 7F0C7CFC 319000FF */ andi $s0, $t4, 0xff -/* 0FC830 7F0C7D00 00007812 */ mflo $t7 -/* 0FC834 7F0C7D04 00000000 */ nop -/* 0FC838 7F0C7D08 00000000 */ nop -/* 0FC83C 7F0C7D0C 02100019 */ multu $s0, $s0 -/* 0FC840 7F0C7D10 0000C012 */ mflo $t8 -/* 0FC844 7F0C7D14 01F88821 */ addu $s1, $t7, $t8 -/* 0FC848 7F0C7D18 0229082A */ slt $at, $s1, $t1 -/* 0FC84C 7F0C7D1C 50200004 */ beql $at, $zero, .L7F0C7D30 -/* 0FC850 7F0C7D20 0131082A */ slt $at, $t1, $s1 -/* 0FC854 7F0C7D24 10000007 */ b .L7F0C7D44 -/* 0FC858 7F0C7D28 01401025 */ move $v0, $t2 -/* 0FC85C 7F0C7D2C 0131082A */ slt $at, $t1, $s1 -.L7F0C7D30: -/* 0FC860 7F0C7D30 10200003 */ beqz $at, .L7F0C7D40 -/* 0FC864 7F0C7D34 01401825 */ move $v1, $t2 -/* 0FC868 7F0C7D38 10000002 */ b .L7F0C7D44 -/* 0FC86C 7F0C7D3C 01401825 */ move $v1, $t2 -.L7F0C7D40: -/* 0FC870 7F0C7D40 01401025 */ move $v0, $t2 -.L7F0C7D44: -/* 0FC874 7F0C7D44 0062C823 */ subu $t9, $v1, $v0 -/* 0FC878 7F0C7D48 2B210002 */ slti $at, $t9, 2 -/* 0FC87C 7F0C7D4C 5020FFE4 */ beql $at, $zero, .L7F0C7CE0 -/* 0FC880 7F0C7D50 00625821 */ addu $t3, $v1, $v0 -.L7F0C7D54: -/* 0FC884 7F0C7D54 2462FFFC */ addiu $v0, $v1, -4 -/* 0FC888 7F0C7D58 04410002 */ bgez $v0, .L7F0C7D64 -/* 0FC88C 7F0C7D5C 24630004 */ addiu $v1, $v1, 4 -/* 0FC890 7F0C7D60 00001025 */ move $v0, $zero -.L7F0C7D64: -/* 0FC894 7F0C7D64 0065082A */ slt $at, $v1, $a1 -/* 0FC898 7F0C7D68 14200002 */ bnez $at, .L7F0C7D74 -/* 0FC89C 7F0C7D6C 00002825 */ move $a1, $zero -/* 0FC8A0 7F0C7D70 01001825 */ move $v1, $t0 -.L7F0C7D74: -/* 0FC8A4 7F0C7D74 3C08000F */ lui $t0, (0x000F423F >> 16) # lui $t0, 0xf -/* 0FC8A8 7F0C7D78 0062082A */ slt $at, $v1, $v0 -/* 0FC8AC 7F0C7D7C 3508423F */ ori $t0, (0x000F423F & 0xFFFF) # ori $t0, $t0, 0x423f -/* 0FC8B0 7F0C7D80 14200019 */ bnez $at, .L7F0C7DE8 -/* 0FC8B4 7F0C7D84 00405025 */ move $t2, $v0 -/* 0FC8B8 7F0C7D88 00027040 */ sll $t6, $v0, 1 -/* 0FC8BC 7F0C7D8C 008E1021 */ addu $v0, $a0, $t6 -/* 0FC8C0 7F0C7D90 246B0001 */ addiu $t3, $v1, 1 -.L7F0C7D94: -/* 0FC8C4 7F0C7D94 944C0000 */ lhu $t4, ($v0) -/* 0FC8C8 7F0C7D98 000C7A03 */ sra $t7, $t4, 8 -/* 0FC8CC 7F0C7D9C 31F800FF */ andi $t8, $t7, 0xff -/* 0FC8D0 7F0C7DA0 03061823 */ subu $v1, $t8, $a2 -/* 0FC8D4 7F0C7DA4 00630019 */ multu $v1, $v1 -/* 0FC8D8 7F0C7DA8 319900FF */ andi $t9, $t4, 0xff -/* 0FC8DC 7F0C7DAC 03272023 */ subu $a0, $t9, $a3 -/* 0FC8E0 7F0C7DB0 00007012 */ mflo $t6 -/* 0FC8E4 7F0C7DB4 00000000 */ nop -/* 0FC8E8 7F0C7DB8 00000000 */ nop -/* 0FC8EC 7F0C7DBC 00840019 */ multu $a0, $a0 -/* 0FC8F0 7F0C7DC0 00007812 */ mflo $t7 -/* 0FC8F4 7F0C7DC4 01CF4821 */ addu $t1, $t6, $t7 -/* 0FC8F8 7F0C7DC8 0128082A */ slt $at, $t1, $t0 -/* 0FC8FC 7F0C7DCC 50200004 */ beql $at, $zero, .L7F0C7DE0 -/* 0FC900 7F0C7DD0 254A0001 */ addiu $t2, $t2, 1 -/* 0FC904 7F0C7DD4 01402825 */ move $a1, $t2 -/* 0FC908 7F0C7DD8 01204025 */ move $t0, $t1 -/* 0FC90C 7F0C7DDC 254A0001 */ addiu $t2, $t2, 1 -.L7F0C7DE0: -/* 0FC910 7F0C7DE0 156AFFEC */ bne $t3, $t2, .L7F0C7D94 -/* 0FC914 7F0C7DE4 24420002 */ addiu $v0, $v0, 2 -.L7F0C7DE8: -/* 0FC918 7F0C7DE8 00A01025 */ move $v0, $a1 -.L7F0C7DEC: -/* 0FC91C 7F0C7DEC 8FB00008 */ lw $s0, 8($sp) -/* 0FC920 7F0C7DF0 8FB1000C */ lw $s1, 0xc($sp) -/* 0FC924 7F0C7DF4 03E00008 */ jr $ra -/* 0FC928 7F0C7DF8 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - - - - - -#ifdef NONMATCHING -void process_huffman_compressed_images(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BD30*/ -glabel jpt_8005BD30 -.word huffman_type0_1 -.word huffman_type0_1 -.word huffman_type2 -.word huffman_type3 -.word huffman_type4 -.word huffman_type5 -.word huffman_type6 -.word huffman_type7 -.word huffman_type8 -.word huffman_type9 -.text -glabel process_huffman_compressed_images -/* 0FC92C 7F0C7DFC 27BDCF58 */ addiu $sp, $sp, -0x30a8 -/* 0FC930 7F0C7E00 AFBF004C */ sw $ra, 0x4c($sp) -/* 0FC934 7F0C7E04 AFBE0048 */ sw $fp, 0x48($sp) -/* 0FC938 7F0C7E08 AFB70044 */ sw $s7, 0x44($sp) -/* 0FC93C 7F0C7E0C AFB60040 */ sw $s6, 0x40($sp) -/* 0FC940 7F0C7E10 AFB5003C */ sw $s5, 0x3c($sp) -/* 0FC944 7F0C7E14 AFB40038 */ sw $s4, 0x38($sp) -/* 0FC948 7F0C7E18 AFB30034 */ sw $s3, 0x34($sp) -/* 0FC94C 7F0C7E1C AFB20030 */ sw $s2, 0x30($sp) -/* 0FC950 7F0C7E20 AFB1002C */ sw $s1, 0x2c($sp) -/* 0FC954 7F0C7E24 AFB00028 */ sw $s0, 0x28($sp) -/* 0FC958 7F0C7E28 AFA530AC */ sw $a1, 0x30ac($sp) -/* 0FC95C 7F0C7E2C AFA630B0 */ sw $a2, 0x30b0($sp) -/* 0FC960 7F0C7E30 AFA730B4 */ sw $a3, 0x30b4($sp) -/* 0FC964 7F0C7E34 AFA00088 */ sw $zero, 0x88($sp) -/* 0FC968 7F0C7E38 0FC32FC4 */ jal makeemptyimageatpos -/* 0FC96C 7F0C7E3C AFA00070 */ sw $zero, 0x70($sp) -/* 0FC970 7F0C7E40 8FA930B0 */ lw $t1, 0x30b0($sp) -/* 0FC974 7F0C7E44 8FAA30B4 */ lw $t2, 0x30b4($sp) -/* 0FC978 7F0C7E48 240E0001 */ li $t6, 1 -/* 0FC97C 7F0C7E4C 11200005 */ beqz $t1, .L7F0C7E64 -/* 0FC980 7F0C7E50 3C088009 */ lui $t0, %hi(dword_CODE_bss_8008D090) -/* 0FC984 7F0C7E54 51400004 */ beql $t2, $zero, .L7F0C7E68 -/* 0FC988 7F0C7E58 8FAA30B4 */ lw $t2, 0x30b4($sp) -/* 0FC98C 7F0C7E5C 10000003 */ b .L7F0C7E6C -/* 0FC990 7F0C7E60 AFAA009C */ sw $t2, 0x9c($sp) -.L7F0C7E64: -/* 0FC994 7F0C7E64 8FAA30B4 */ lw $t2, 0x30b4($sp) -.L7F0C7E68: -/* 0FC998 7F0C7E68 AFAE009C */ sw $t6, 0x9c($sp) -.L7F0C7E6C: -/* 0FC99C 7F0C7E6C 8FA730B8 */ lw $a3, 0x30b8($sp) -/* 0FC9A0 7F0C7E70 000AC940 */ sll $t9, $t2, 5 -/* 0FC9A4 7F0C7E74 00097940 */ sll $t7, $t1, 5 -/* 0FC9A8 7F0C7E78 8CE3000C */ lw $v1, 0xc($a3) -/* 0FC9AC 7F0C7E7C 31F80020 */ andi $t8, $t7, 0x20 -/* 0FC9B0 7F0C7E80 2508D090 */ addiu $t0, %lo(dword_CODE_bss_8008D090) # addiu $t0, $t0, -0x2f70 -/* 0FC9B4 7F0C7E84 906B000B */ lbu $t3, 0xb($v1) -/* 0FC9B8 7F0C7E88 316CFF1F */ andi $t4, $t3, 0xff1f -/* 0FC9BC 7F0C7E8C 032C6825 */ or $t5, $t9, $t4 -/* 0FC9C0 7F0C7E90 A06D000B */ sb $t5, 0xb($v1) -/* 0FC9C4 7F0C7E94 8CE3000C */ lw $v1, 0xc($a3) -/* 0FC9C8 7F0C7E98 906B000C */ lbu $t3, 0xc($v1) -/* 0FC9CC 7F0C7E9C 3179FFDF */ andi $t9, $t3, 0xffdf -/* 0FC9D0 7F0C7EA0 03196025 */ or $t4, $t8, $t9 -/* 0FC9D4 7F0C7EA4 11200017 */ beqz $t1, .L7F0C7F04 -/* 0FC9D8 7F0C7EA8 A06C000C */ sb $t4, 0xc($v1) -/* 0FC9DC 7F0C7EAC 8D050000 */ lw $a1, ($t0) -/* 0FC9E0 7F0C7EB0 24060001 */ li $a2, 1 -/* 0FC9E4 7F0C7EB4 AFA60070 */ sw $a2, 0x70($sp) -/* 0FC9E8 7F0C7EB8 58A00013 */ blezl $a1, .L7F0C7F08 -/* 0FC9EC 7F0C7EBC 8FB9009C */ lw $t9, 0x9c($sp) -/* 0FC9F0 7F0C7EC0 8CED000C */ lw $t5, 0xc($a3) -/* 0FC9F4 7F0C7EC4 3C0F8009 */ lui $t7, %hi(word_CODE_bss_8008C730) -/* 0FC9F8 7F0C7EC8 25E2C730 */ addiu $v0, $t7, %lo(word_CODE_bss_8008C730) -/* 0FC9FC 7F0C7ECC 8DA30000 */ lw $v1, ($t5) -/* 0FCA00 7F0C7ED0 00055900 */ sll $t3, $a1, 4 -/* 0FCA04 7F0C7ED4 01622021 */ addu $a0, $t3, $v0 -/* 0FCA08 7F0C7ED8 00037502 */ srl $t6, $v1, 0x14 -/* 0FCA0C 7F0C7EDC 01C01825 */ move $v1, $t6 -/* 0FCA10 7F0C7EE0 84580000 */ lh $t8, ($v0) -.L7F0C7EE4: -/* 0FCA14 7F0C7EE4 24420010 */ addiu $v0, $v0, 0x10 -/* 0FCA18 7F0C7EE8 0044082B */ sltu $at, $v0, $a0 -/* 0FCA1C 7F0C7EEC 14780002 */ bne $v1, $t8, .L7F0C7EF8 -/* 0FCA20 7F0C7EF0 00000000 */ nop -/* 0FCA24 7F0C7EF4 00003025 */ move $a2, $zero -.L7F0C7EF8: -/* 0FCA28 7F0C7EF8 5420FFFA */ bnezl $at, .L7F0C7EE4 -/* 0FCA2C 7F0C7EFC 84580000 */ lh $t8, ($v0) -/* 0FCA30 7F0C7F00 AFA60070 */ sw $a2, 0x70($sp) -.L7F0C7F04: -/* 0FCA34 7F0C7F04 8FB9009C */ lw $t9, 0x9c($sp) -.L7F0C7F08: -/* 0FCA38 7F0C7F08 3C088009 */ lui $t0, %hi(dword_CODE_bss_8008D090) -/* 0FCA3C 7F0C7F0C 2508D090 */ addiu $t0, %lo(dword_CODE_bss_8008D090) # addiu $t0, $t0, -0x2f70 -/* 0FCA40 7F0C7F10 8FA60070 */ lw $a2, 0x70($sp) -/* 0FCA44 7F0C7F14 1B2001BA */ blez $t9, .L7F0C8600 -/* 0FCA48 7F0C7F18 AFA000A0 */ sw $zero, 0xa0($sp) -/* 0FCA4C 7F0C7F1C AFA60070 */ sw $a2, 0x70($sp) -/* 0FCA50 7F0C7F20 27BE10A8 */ addiu $fp, $sp, 0x10a8 -.L7F0C7F24: -/* 0FCA54 7F0C7F24 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FCA58 7F0C7F28 24040004 */ li $a0, 4 -/* 0FCA5C 7F0C7F2C AFA20080 */ sw $v0, 0x80($sp) -/* 0FCA60 7F0C7F30 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FCA64 7F0C7F34 24040008 */ li $a0, 8 -/* 0FCA68 7F0C7F38 0040B025 */ move $s6, $v0 -/* 0FCA6C 7F0C7F3C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FCA70 7F0C7F40 24040008 */ li $a0, 8 -/* 0FCA74 7F0C7F44 0040B825 */ move $s7, $v0 -/* 0FCA78 7F0C7F48 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FCA7C 7F0C7F4C 24040004 */ li $a0, 4 -/* 0FCA80 7F0C7F50 8FA500A0 */ lw $a1, 0xa0($sp) -/* 0FCA84 7F0C7F54 8FA430B8 */ lw $a0, 0x30b8($sp) -/* 0FCA88 7F0C7F58 8FAB0070 */ lw $t3, 0x70($sp) -/* 0FCA8C 7F0C7F5C 14A00026 */ bnez $a1, .L7F0C7FF8 -/* 0FCA90 7F0C7F60 00000000 */ nop -/* 0FCA94 7F0C7F64 8C8C000C */ lw $t4, 0xc($a0) -/* 0FCA98 7F0C7F68 3C0B8005 */ lui $t3, %hi(n64imagetypes) -/* 0FCA9C 7F0C7F6C A1960008 */ sb $s6, 8($t4) -/* 0FCAA0 7F0C7F70 8C8D000C */ lw $t5, 0xc($a0) -/* 0FCAA4 7F0C7F74 A1B70009 */ sb $s7, 9($t5) -/* 0FCAA8 7F0C7F78 8FB40080 */ lw $s4, 0x80($sp) -/* 0FCAAC 7F0C7F7C 8C83000C */ lw $v1, 0xc($a0) -/* 0FCAB0 7F0C7F80 00147080 */ sll $t6, $s4, 2 -/* 0FCAB4 7F0C7F84 016E5821 */ addu $t3, $t3, $t6 -/* 0FCAB8 7F0C7F88 8D6F9248 */ lw $t7, %lo(n64imagetypes)($t3) -/* 0FCABC 7F0C7F8C 906C000B */ lbu $t4, 0xb($v1) -/* 0FCAC0 7F0C7F90 01C0A025 */ move $s4, $t6 -/* 0FCAC4 7F0C7F94 000FC080 */ sll $t8, $t7, 2 -/* 0FCAC8 7F0C7F98 3319001C */ andi $t9, $t8, 0x1c -/* 0FCACC 7F0C7F9C 318DFFE3 */ andi $t5, $t4, 0xffe3 -/* 0FCAD0 7F0C7FA0 032D7025 */ or $t6, $t9, $t5 -/* 0FCAD4 7F0C7FA4 A06E000B */ sb $t6, 0xb($v1) -/* 0FCAD8 7F0C7FA8 8C83000C */ lw $v1, 0xc($a0) -/* 0FCADC 7F0C7FAC 3C0B8005 */ lui $t3, %hi(n64pixelsizes) -/* 0FCAE0 7F0C7FB0 01745821 */ addu $t3, $t3, $s4 -/* 0FCAE4 7F0C7FB4 8D6F927C */ lw $t7, %lo(n64pixelsizes)($t3) -/* 0FCAE8 7F0C7FB8 906C000B */ lbu $t4, 0xb($v1) -/* 0FCAEC 7F0C7FBC 3C0E8005 */ lui $t6, %hi(imgflipvalues) -/* 0FCAF0 7F0C7FC0 31F80003 */ andi $t8, $t7, 3 -/* 0FCAF4 7F0C7FC4 3199FFFC */ andi $t9, $t4, 0xfffc -/* 0FCAF8 7F0C7FC8 03196825 */ or $t5, $t8, $t9 -/* 0FCAFC 7F0C7FCC A06D000B */ sb $t5, 0xb($v1) -/* 0FCB00 7F0C7FD0 8C83000C */ lw $v1, 0xc($a0) -/* 0FCB04 7F0C7FD4 01D47021 */ addu $t6, $t6, $s4 -/* 0FCB08 7F0C7FD8 8DCE92B0 */ lw $t6, %lo(imgflipvalues)($t6) -/* 0FCB0C 7F0C7FDC 9079000C */ lbu $t9, 0xc($v1) -/* 0FCB10 7F0C7FE0 000E7B83 */ sra $t7, $t6, 0xe -/* 0FCB14 7F0C7FE4 000FC180 */ sll $t8, $t7, 6 -/* 0FCB18 7F0C7FE8 332DFF3F */ andi $t5, $t9, 0xff3f -/* 0FCB1C 7F0C7FEC 030D7025 */ or $t6, $t8, $t5 -/* 0FCB20 7F0C7FF0 1000000B */ b .L7F0C8020 -/* 0FCB24 7F0C7FF4 A06E000C */ sb $t6, 0xc($v1) -.L7F0C7FF8: -/* 0FCB28 7F0C7FF8 11600009 */ beqz $t3, .L7F0C8020 -/* 0FCB2C 7F0C7FFC 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008D090) -/* 0FCB30 7F0C8000 8DEFD090 */ lw $t7, %lo(dword_CODE_bss_8008D090)($t7) -/* 0FCB34 7F0C8004 3C188009 */ lui $t8, %hi(word_CODE_bss_8008C730) -/* 0FCB38 7F0C8008 2718C730 */ addiu $t8, %lo(word_CODE_bss_8008C730) # addiu $t8, $t8, -0x38d0 -/* 0FCB3C 7F0C800C 000F6100 */ sll $t4, $t7, 4 -/* 0FCB40 7F0C8010 0185C821 */ addu $t9, $t4, $a1 -/* 0FCB44 7F0C8014 03381821 */ addu $v1, $t9, $t8 -/* 0FCB48 7F0C8018 A0760001 */ sb $s6, 1($v1) -/* 0FCB4C 7F0C801C A0770008 */ sb $s7, 8($v1) -.L7F0C8020: -/* 0FCB50 7F0C8020 02D70019 */ multu $s6, $s7 -/* 0FCB54 7F0C8024 00026880 */ sll $t5, $v0, 2 -/* 0FCB58 7F0C8028 0000A812 */ mflo $s5 -/* 0FCB5C 7F0C802C 2AA12001 */ slti $at, $s5, 0x2001 -/* 0FCB60 7F0C8030 54200004 */ bnezl $at, .L7F0C8044 -/* 0FCB64 7F0C8034 2C41000A */ sltiu $at, $v0, 0xa -/* 0FCB68 7F0C8038 100001BA */ b .L7F0C8724 -/* 0FCB6C 7F0C803C 00001025 */ move $v0, $zero -/* 0FCB70 7F0C8040 2C41000A */ sltiu $at, $v0, 0xa -.L7F0C8044: -/* 0FCB74 7F0C8044 1020013B */ beqz $at, .L7F0C8534 -/* 0FCB78 7F0C8048 3C018006 */ lui $at, %hi(jpt_8005BD30) -/* 0FCB7C 7F0C804C 002D0821 */ addu $at, $at, $t5 -/* 0FCB80 7F0C8050 8C2DBD30 */ lw $t5, %lo(jpt_8005BD30)($at) -/* 0FCB84 7F0C8054 01A00008 */ jr $t5 -/* 0FCB88 7F0C8058 00000000 */ nop -huffman_type0_1: -/* 0FCB8C 7F0C805C 8FAE30AC */ lw $t6, 0x30ac($sp) -/* 0FCB90 7F0C8060 8FAB0088 */ lw $t3, 0x88($sp) -/* 0FCB94 7F0C8064 02C02825 */ move $a1, $s6 -/* 0FCB98 7F0C8068 02E03025 */ move $a2, $s7 -/* 0FCB9C 7F0C806C 01CB8021 */ addu $s0, $t6, $t3 -/* 0FCBA0 7F0C8070 02002025 */ move $a0, $s0 -/* 0FCBA4 7F0C8074 0FC326A7 */ jal image_compression0_expand -/* 0FCBA8 7F0C8078 8FA70080 */ lw $a3, 0x80($sp) -/* 0FCBAC 7F0C807C 10000137 */ b .L7F0C855C -/* 0FCBB0 7F0C8080 00408825 */ move $s1, $v0 -huffman_type2: -/* 0FCBB4 7F0C8084 8FB40080 */ lw $s4, 0x80($sp) -/* 0FCBB8 7F0C8088 3C0C8005 */ lui $t4, %hi(pixelbytecounts) -/* 0FCBBC 7F0C808C 3C068005 */ lui $a2, %hi(pixelsamplebits) -/* 0FCBC0 7F0C8090 00147880 */ sll $t7, $s4, 2 -/* 0FCBC4 7F0C8094 018F6021 */ addu $t4, $t4, $t7 -/* 0FCBC8 7F0C8098 8D8C9178 */ lw $t4, %lo(pixelbytecounts)($t4) -/* 0FCBCC 7F0C809C 00CF3021 */ addu $a2, $a2, $t7 -/* 0FCBD0 7F0C80A0 8CC691E0 */ lw $a2, %lo(pixelsamplebits)($a2) -/* 0FCBD4 7F0C80A4 01960019 */ multu $t4, $s6 -/* 0FCBD8 7F0C80A8 01E0A025 */ move $s4, $t7 -/* 0FCBDC 7F0C80AC 03C02025 */ move $a0, $fp -/* 0FCBE0 7F0C80B0 0000C812 */ mflo $t9 -/* 0FCBE4 7F0C80B4 00000000 */ nop -/* 0FCBE8 7F0C80B8 00000000 */ nop -/* 0FCBEC 7F0C80BC 03370019 */ multu $t9, $s7 -/* 0FCBF0 7F0C80C0 00002812 */ mflo $a1 -/* 0FCBF4 7F0C80C4 0FC32474 */ jal generate_sample_table -/* 0FCBF8 7F0C80C8 00000000 */ nop -/* 0FCBFC 7F0C80CC 3C188005 */ lui $t8, %hi(pixelbytecounts+52) -/* 0FCC00 7F0C80D0 0314C021 */ addu $t8, $t8, $s4 -/* 0FCC04 7F0C80D4 8F1891AC */ lw $t8, %lo(pixelbytecounts+52)($t8) -/* 0FCC08 7F0C80D8 00156880 */ sll $t5, $s5, 2 -/* 0FCC0C 7F0C80DC 01B56823 */ subu $t5, $t5, $s5 -/* 0FCC10 7F0C80E0 13000003 */ beqz $t8, .L7F0C80F0 -/* 0FCC14 7F0C80E4 03CD2021 */ addu $a0, $fp, $t5 -/* 0FCC18 7F0C80E8 0FC32692 */ jal image_get_alpha_values -/* 0FCC1C 7F0C80EC 02A02825 */ move $a1, $s5 -.L7F0C80F0: -/* 0FCC20 7F0C80F0 8FAE30AC */ lw $t6, 0x30ac($sp) -/* 0FCC24 7F0C80F4 8FAB0088 */ lw $t3, 0x88($sp) -/* 0FCC28 7F0C80F8 8FAF0080 */ lw $t7, 0x80($sp) -/* 0FCC2C 7F0C80FC 03C02025 */ move $a0, $fp -/* 0FCC30 7F0C8100 01CB8021 */ addu $s0, $t6, $t3 -/* 0FCC34 7F0C8104 02003825 */ move $a3, $s0 -/* 0FCC38 7F0C8108 02C02825 */ move $a1, $s6 -/* 0FCC3C 7F0C810C 02E03025 */ move $a2, $s7 -/* 0FCC40 7F0C8110 0FC32769 */ jal generate_link_final_image -/* 0FCC44 7F0C8114 AFAF0010 */ sw $t7, 0x10($sp) -/* 0FCC48 7F0C8118 10000110 */ b .L7F0C855C -/* 0FCC4C 7F0C811C 00408825 */ move $s1, $v0 -huffman_type3: -/* 0FCC50 7F0C8120 8FB40080 */ lw $s4, 0x80($sp) -/* 0FCC54 7F0C8124 3C198005 */ lui $t9, %hi(pixelbytecounts) -/* 0FCC58 7F0C8128 27399178 */ addiu $t9, %lo(pixelbytecounts) # addiu $t9, $t9, -0x6e88 -/* 0FCC5C 7F0C812C 00146080 */ sll $t4, $s4, 2 -/* 0FCC60 7F0C8130 01999821 */ addu $s3, $t4, $t9 -/* 0FCC64 7F0C8134 8E780000 */ lw $t8, ($s3) -/* 0FCC68 7F0C8138 0180A025 */ move $s4, $t4 -/* 0FCC6C 7F0C813C 00008825 */ move $s1, $zero -/* 0FCC70 7F0C8140 1B000010 */ blez $t8, .L7F0C8184 -/* 0FCC74 7F0C8144 3C0D8005 */ lui $t5, %hi(pixelsamplebits) -/* 0FCC78 7F0C8148 25AD91E0 */ addiu $t5, %lo(pixelsamplebits) # addiu $t5, $t5, -0x6e20 -/* 0FCC7C 7F0C814C 018D9021 */ addu $s2, $t4, $t5 -/* 0FCC80 7F0C8150 03C08025 */ move $s0, $fp -/* 0FCC84 7F0C8154 02002025 */ move $a0, $s0 -.L7F0C8158: -/* 0FCC88 7F0C8158 02A02825 */ move $a1, $s5 -/* 0FCC8C 7F0C815C 0FC32474 */ jal generate_sample_table -/* 0FCC90 7F0C8160 8E460000 */ lw $a2, ($s2) -/* 0FCC94 7F0C8164 02D70019 */ multu $s6, $s7 -/* 0FCC98 7F0C8168 8E6B0000 */ lw $t3, ($s3) -/* 0FCC9C 7F0C816C 26310001 */ addiu $s1, $s1, 1 -/* 0FCCA0 7F0C8170 022B082A */ slt $at, $s1, $t3 -/* 0FCCA4 7F0C8174 00007012 */ mflo $t6 -/* 0FCCA8 7F0C8178 020E8021 */ addu $s0, $s0, $t6 -/* 0FCCAC 7F0C817C 5420FFF6 */ bnezl $at, .L7F0C8158 -/* 0FCCB0 7F0C8180 02002025 */ move $a0, $s0 -.L7F0C8184: -/* 0FCCB4 7F0C8184 3C0F8005 */ lui $t7, %hi(pixelbytecounts+52) -/* 0FCCB8 7F0C8188 01F47821 */ addu $t7, $t7, $s4 -/* 0FCCBC 7F0C818C 8DEF91AC */ lw $t7, %lo(pixelbytecounts+52)($t7) -/* 0FCCC0 7F0C8190 00156080 */ sll $t4, $s5, 2 -/* 0FCCC4 7F0C8194 01956023 */ subu $t4, $t4, $s5 -/* 0FCCC8 7F0C8198 11E00003 */ beqz $t7, .L7F0C81A8 -/* 0FCCCC 7F0C819C 03CC2021 */ addu $a0, $fp, $t4 -/* 0FCCD0 7F0C81A0 0FC32692 */ jal image_get_alpha_values -/* 0FCCD4 7F0C81A4 02A02825 */ move $a1, $s5 -.L7F0C81A8: -/* 0FCCD8 7F0C81A8 8FB930AC */ lw $t9, 0x30ac($sp) -/* 0FCCDC 7F0C81AC 8FB80088 */ lw $t8, 0x88($sp) -/* 0FCCE0 7F0C81B0 8FAD0080 */ lw $t5, 0x80($sp) -/* 0FCCE4 7F0C81B4 03C02025 */ move $a0, $fp -/* 0FCCE8 7F0C81B8 03388021 */ addu $s0, $t9, $t8 -/* 0FCCEC 7F0C81BC 02003825 */ move $a3, $s0 -/* 0FCCF0 7F0C81C0 02C02825 */ move $a1, $s6 -/* 0FCCF4 7F0C81C4 02E03025 */ move $a2, $s7 -/* 0FCCF8 7F0C81C8 0FC32769 */ jal generate_link_final_image -/* 0FCCFC 7F0C81CC AFAD0010 */ sw $t5, 0x10($sp) -/* 0FCD00 7F0C81D0 100000E2 */ b .L7F0C855C -/* 0FCD04 7F0C81D4 00408825 */ move $s1, $v0 -huffman_type4: -/* 0FCD08 7F0C81D8 8FB40080 */ lw $s4, 0x80($sp) -/* 0FCD0C 7F0C81DC 3C0B8005 */ lui $t3, %hi(pixelbytecounts) -/* 0FCD10 7F0C81E0 03C02025 */ move $a0, $fp -/* 0FCD14 7F0C81E4 00147080 */ sll $t6, $s4, 2 -/* 0FCD18 7F0C81E8 016E5821 */ addu $t3, $t3, $t6 -/* 0FCD1C 7F0C81EC 8D6B9178 */ lw $t3, %lo(pixelbytecounts)($t3) -/* 0FCD20 7F0C81F0 01C0A025 */ move $s4, $t6 -/* 0FCD24 7F0C81F4 01760019 */ multu $t3, $s6 -/* 0FCD28 7F0C81F8 00007812 */ mflo $t7 -/* 0FCD2C 7F0C81FC 00000000 */ nop -/* 0FCD30 7F0C8200 00000000 */ nop -/* 0FCD34 7F0C8204 01F70019 */ multu $t7, $s7 -/* 0FCD38 7F0C8208 00002812 */ mflo $a1 -/* 0FCD3C 7F0C820C 0FC325AF */ jal type4_7_9_getsamples -/* 0FCD40 7F0C8210 00000000 */ nop -/* 0FCD44 7F0C8214 3C0C8005 */ lui $t4, %hi(pixelbytecounts+52) -/* 0FCD48 7F0C8218 01946021 */ addu $t4, $t4, $s4 -/* 0FCD4C 7F0C821C 8D8C91AC */ lw $t4, %lo(pixelbytecounts+52)($t4) -/* 0FCD50 7F0C8220 0015C880 */ sll $t9, $s5, 2 -/* 0FCD54 7F0C8224 0335C823 */ subu $t9, $t9, $s5 -/* 0FCD58 7F0C8228 11800003 */ beqz $t4, .L7F0C8238 -/* 0FCD5C 7F0C822C 03D92021 */ addu $a0, $fp, $t9 -/* 0FCD60 7F0C8230 0FC32692 */ jal image_get_alpha_values -/* 0FCD64 7F0C8234 02A02825 */ move $a1, $s5 -.L7F0C8238: -/* 0FCD68 7F0C8238 8FB830AC */ lw $t8, 0x30ac($sp) -/* 0FCD6C 7F0C823C 8FAD0088 */ lw $t5, 0x88($sp) -/* 0FCD70 7F0C8240 8FAE0080 */ lw $t6, 0x80($sp) -/* 0FCD74 7F0C8244 03C02025 */ move $a0, $fp -/* 0FCD78 7F0C8248 030D8021 */ addu $s0, $t8, $t5 -/* 0FCD7C 7F0C824C 02003825 */ move $a3, $s0 -/* 0FCD80 7F0C8250 02C02825 */ move $a1, $s6 -/* 0FCD84 7F0C8254 02E03025 */ move $a2, $s7 -/* 0FCD88 7F0C8258 0FC32769 */ jal generate_link_final_image -/* 0FCD8C 7F0C825C AFAE0010 */ sw $t6, 0x10($sp) -/* 0FCD90 7F0C8260 100000BE */ b .L7F0C855C -/* 0FCD94 7F0C8264 00408825 */ move $s1, $v0 -huffman_type5: -/* 0FCD98 7F0C8268 8FAB0080 */ lw $t3, 0x80($sp) -/* 0FCD9C 7F0C826C 3C058005 */ lui $a1, %hi(pixelsamplebits+52) -/* 0FCDA0 7F0C8270 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 0FCDA4 7F0C8274 000B7880 */ sll $t7, $t3, 2 -/* 0FCDA8 7F0C8278 00AF2821 */ addu $a1, $a1, $t7 -/* 0FCDAC 7F0C827C 0FC32648 */ jal type5_6_7_getsamples -/* 0FCDB0 7F0C8280 8CA59214 */ lw $a1, %lo(pixelsamplebits+52)($a1) -/* 0FCDB4 7F0C8284 8FAC30AC */ lw $t4, 0x30ac($sp) -/* 0FCDB8 7F0C8288 8FB90088 */ lw $t9, 0x88($sp) -/* 0FCDBC 7F0C828C 8FB80080 */ lw $t8, 0x80($sp) -/* 0FCDC0 7F0C8290 02C02025 */ move $a0, $s6 -/* 0FCDC4 7F0C8294 01998021 */ addu $s0, $t4, $t9 -/* 0FCDC8 7F0C8298 02003025 */ move $a2, $s0 -/* 0FCDCC 7F0C829C 02E02825 */ move $a1, $s7 -/* 0FCDD0 7F0C82A0 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 0FCDD4 7F0C82A4 AFA20010 */ sw $v0, 0x10($sp) -/* 0FCDD8 7F0C82A8 0FC32A24 */ jal type5_generate_link_final_image -/* 0FCDDC 7F0C82AC AFB80014 */ sw $t8, 0x14($sp) -/* 0FCDE0 7F0C82B0 100000AA */ b .L7F0C855C -/* 0FCDE4 7F0C82B4 00408825 */ move $s1, $v0 -huffman_type6: -/* 0FCDE8 7F0C82B8 8FAD0080 */ lw $t5, 0x80($sp) -/* 0FCDEC 7F0C82BC 3C058005 */ lui $a1, %hi(pixelsamplebits+52) -/* 0FCDF0 7F0C82C0 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 0FCDF4 7F0C82C4 000D7080 */ sll $t6, $t5, 2 -/* 0FCDF8 7F0C82C8 00AE2821 */ addu $a1, $a1, $t6 -/* 0FCDFC 7F0C82CC 0FC32648 */ jal type5_6_7_getsamples -/* 0FCE00 7F0C82D0 8CA59214 */ lw $a1, %lo(pixelsamplebits+52)($a1) -/* 0FCE04 7F0C82D4 00408825 */ move $s1, $v0 -/* 0FCE08 7F0C82D8 03C02025 */ move $a0, $fp -/* 0FCE0C 7F0C82DC 02A02825 */ move $a1, $s5 -/* 0FCE10 7F0C82E0 0FC32474 */ jal generate_sample_table -/* 0FCE14 7F0C82E4 00403025 */ move $a2, $v0 -/* 0FCE18 7F0C82E8 8FAB30AC */ lw $t3, 0x30ac($sp) -/* 0FCE1C 7F0C82EC 8FAF0088 */ lw $t7, 0x88($sp) -/* 0FCE20 7F0C82F0 8FB90080 */ lw $t9, 0x80($sp) -/* 0FCE24 7F0C82F4 27AC00A8 */ addiu $t4, $sp, 0xa8 -/* 0FCE28 7F0C82F8 016F8021 */ addu $s0, $t3, $t7 -/* 0FCE2C 7F0C82FC 02003825 */ move $a3, $s0 -/* 0FCE30 7F0C8300 AFAC0010 */ sw $t4, 0x10($sp) -/* 0FCE34 7F0C8304 03C02025 */ move $a0, $fp -/* 0FCE38 7F0C8308 02C02825 */ move $a1, $s6 -/* 0FCE3C 7F0C830C 02E03025 */ move $a2, $s7 -/* 0FCE40 7F0C8310 AFB10014 */ sw $s1, 0x14($sp) -/* 0FCE44 7F0C8314 0FC32B16 */ jal type6_7_generate_link_final_image -/* 0FCE48 7F0C8318 AFB90018 */ sw $t9, 0x18($sp) -/* 0FCE4C 7F0C831C 1000008F */ b .L7F0C855C -/* 0FCE50 7F0C8320 00408825 */ move $s1, $v0 -huffman_type7: -/* 0FCE54 7F0C8324 8FB80080 */ lw $t8, 0x80($sp) -/* 0FCE58 7F0C8328 3C058005 */ lui $a1, %hi(pixelsamplebits+52) -/* 0FCE5C 7F0C832C 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 0FCE60 7F0C8330 00186880 */ sll $t5, $t8, 2 -/* 0FCE64 7F0C8334 00AD2821 */ addu $a1, $a1, $t5 -/* 0FCE68 7F0C8338 0FC32648 */ jal type5_6_7_getsamples -/* 0FCE6C 7F0C833C 8CA59214 */ lw $a1, %lo(pixelsamplebits+52)($a1) -/* 0FCE70 7F0C8340 00408825 */ move $s1, $v0 -/* 0FCE74 7F0C8344 03C02025 */ move $a0, $fp -/* 0FCE78 7F0C8348 0FC325AF */ jal type4_7_9_getsamples -/* 0FCE7C 7F0C834C 02A02825 */ move $a1, $s5 -/* 0FCE80 7F0C8350 8FAE30AC */ lw $t6, 0x30ac($sp) -/* 0FCE84 7F0C8354 8FAB0088 */ lw $t3, 0x88($sp) -/* 0FCE88 7F0C8358 8FAC0080 */ lw $t4, 0x80($sp) -/* 0FCE8C 7F0C835C 27AF00A8 */ addiu $t7, $sp, 0xa8 -/* 0FCE90 7F0C8360 01CB8021 */ addu $s0, $t6, $t3 -/* 0FCE94 7F0C8364 02003825 */ move $a3, $s0 -/* 0FCE98 7F0C8368 AFAF0010 */ sw $t7, 0x10($sp) -/* 0FCE9C 7F0C836C 03C02025 */ move $a0, $fp -/* 0FCEA0 7F0C8370 02C02825 */ move $a1, $s6 -/* 0FCEA4 7F0C8374 02E03025 */ move $a2, $s7 -/* 0FCEA8 7F0C8378 AFB10014 */ sw $s1, 0x14($sp) -/* 0FCEAC 7F0C837C 0FC32B16 */ jal type6_7_generate_link_final_image -/* 0FCEB0 7F0C8380 AFAC0018 */ sw $t4, 0x18($sp) -/* 0FCEB4 7F0C8384 10000075 */ b .L7F0C855C -/* 0FCEB8 7F0C8388 00408825 */ move $s1, $v0 -huffman_type8: -/* 0FCEBC 7F0C838C 8FB40080 */ lw $s4, 0x80($sp) -/* 0FCEC0 7F0C8390 24040003 */ li $a0, 3 -/* 0FCEC4 7F0C8394 0014C880 */ sll $t9, $s4, 2 -/* 0FCEC8 7F0C8398 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FCECC 7F0C839C 0320A025 */ move $s4, $t9 -/* 0FCED0 7F0C83A0 3C188005 */ lui $t8, %hi(pixelbytecounts) -/* 0FCED4 7F0C83A4 27189178 */ addiu $t8, %lo(pixelbytecounts) # addiu $t8, $t8, -0x6e88 -/* 0FCED8 7F0C83A8 02989821 */ addu $s3, $s4, $t8 -/* 0FCEDC 7F0C83AC 8E6D0000 */ lw $t5, ($s3) -/* 0FCEE0 7F0C83B0 3C0B8005 */ lui $t3, %hi(pixelsamplebits) -/* 0FCEE4 7F0C83B4 256B91E0 */ addiu $t3, %lo(pixelsamplebits) # addiu $t3, $t3, -0x6e20 -/* 0FCEE8 7F0C83B8 01B60019 */ multu $t5, $s6 -/* 0FCEEC 7F0C83BC 028B9021 */ addu $s2, $s4, $t3 -/* 0FCEF0 7F0C83C0 00408025 */ move $s0, $v0 -/* 0FCEF4 7F0C83C4 8E460000 */ lw $a2, ($s2) -/* 0FCEF8 7F0C83C8 03C02025 */ move $a0, $fp -/* 0FCEFC 7F0C83CC 00007012 */ mflo $t6 -/* 0FCF00 7F0C83D0 00000000 */ nop -/* 0FCF04 7F0C83D4 00000000 */ nop -/* 0FCF08 7F0C83D8 01D70019 */ multu $t6, $s7 -/* 0FCF0C 7F0C83DC 00002812 */ mflo $a1 -/* 0FCF10 7F0C83E0 0FC32474 */ jal generate_sample_table -/* 0FCF14 7F0C83E4 00000000 */ nop -/* 0FCF18 7F0C83E8 8E6F0000 */ lw $t7, ($s3) -/* 0FCF1C 7F0C83EC 8E4C0000 */ lw $t4, ($s2) -/* 0FCF20 7F0C83F0 03C02025 */ move $a0, $fp -/* 0FCF24 7F0C83F4 01F70019 */ multu $t7, $s7 -/* 0FCF28 7F0C83F8 02C02825 */ move $a1, $s6 -/* 0FCF2C 7F0C83FC 02003825 */ move $a3, $s0 -/* 0FCF30 7F0C8400 AFAC0010 */ sw $t4, 0x10($sp) -/* 0FCF34 7F0C8404 00003012 */ mflo $a2 -/* 0FCF38 7F0C8408 0FC32DF8 */ jal type8_9_doohick -/* 0FCF3C 7F0C840C 00000000 */ nop -/* 0FCF40 7F0C8410 3C198005 */ lui $t9, %hi(pixelbytecounts+52) -/* 0FCF44 7F0C8414 0334C821 */ addu $t9, $t9, $s4 -/* 0FCF48 7F0C8418 8F3991AC */ lw $t9, %lo(pixelbytecounts+52)($t9) -/* 0FCF4C 7F0C841C 0015C080 */ sll $t8, $s5, 2 -/* 0FCF50 7F0C8420 0315C023 */ subu $t8, $t8, $s5 -/* 0FCF54 7F0C8424 13200003 */ beqz $t9, .L7F0C8434 -/* 0FCF58 7F0C8428 03D82021 */ addu $a0, $fp, $t8 -/* 0FCF5C 7F0C842C 0FC32692 */ jal image_get_alpha_values -/* 0FCF60 7F0C8430 02A02825 */ move $a1, $s5 -.L7F0C8434: -/* 0FCF64 7F0C8434 8FAD30AC */ lw $t5, 0x30ac($sp) -/* 0FCF68 7F0C8438 8FAE0088 */ lw $t6, 0x88($sp) -/* 0FCF6C 7F0C843C 8FAB0080 */ lw $t3, 0x80($sp) -/* 0FCF70 7F0C8440 03C02025 */ move $a0, $fp -/* 0FCF74 7F0C8444 01AE8021 */ addu $s0, $t5, $t6 -/* 0FCF78 7F0C8448 02003825 */ move $a3, $s0 -/* 0FCF7C 7F0C844C 02C02825 */ move $a1, $s6 -/* 0FCF80 7F0C8450 02E03025 */ move $a2, $s7 -/* 0FCF84 7F0C8454 0FC32769 */ jal generate_link_final_image -/* 0FCF88 7F0C8458 AFAB0010 */ sw $t3, 0x10($sp) -/* 0FCF8C 7F0C845C 1000003F */ b .L7F0C855C -/* 0FCF90 7F0C8460 00408825 */ move $s1, $v0 -huffman_type9: -/* 0FCF94 7F0C8464 8FB40080 */ lw $s4, 0x80($sp) -/* 0FCF98 7F0C8468 24040003 */ li $a0, 3 -/* 0FCF9C 7F0C846C 00147880 */ sll $t7, $s4, 2 -/* 0FCFA0 7F0C8470 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FCFA4 7F0C8474 01E0A025 */ move $s4, $t7 -/* 0FCFA8 7F0C8478 3C0C8005 */ lui $t4, %hi(pixelbytecounts) -/* 0FCFAC 7F0C847C 258C9178 */ addiu $t4, %lo(pixelbytecounts) # addiu $t4, $t4, -0x6e88 -/* 0FCFB0 7F0C8480 028C9821 */ addu $s3, $s4, $t4 -/* 0FCFB4 7F0C8484 8E790000 */ lw $t9, ($s3) -/* 0FCFB8 7F0C8488 00408025 */ move $s0, $v0 -/* 0FCFBC 7F0C848C 03C02025 */ move $a0, $fp -/* 0FCFC0 7F0C8490 03360019 */ multu $t9, $s6 -/* 0FCFC4 7F0C8494 0000C012 */ mflo $t8 -/* 0FCFC8 7F0C8498 00000000 */ nop -/* 0FCFCC 7F0C849C 00000000 */ nop -/* 0FCFD0 7F0C84A0 03170019 */ multu $t8, $s7 -/* 0FCFD4 7F0C84A4 00002812 */ mflo $a1 -/* 0FCFD8 7F0C84A8 0FC325AF */ jal type4_7_9_getsamples -/* 0FCFDC 7F0C84AC 00000000 */ nop -/* 0FCFE0 7F0C84B0 8E6D0000 */ lw $t5, ($s3) -/* 0FCFE4 7F0C84B4 3C0E8005 */ lui $t6, %hi(pixelsamplebits) -/* 0FCFE8 7F0C84B8 01D47021 */ addu $t6, $t6, $s4 -/* 0FCFEC 7F0C84BC 01B70019 */ multu $t5, $s7 -/* 0FCFF0 7F0C84C0 8DCE91E0 */ lw $t6, %lo(pixelsamplebits)($t6) -/* 0FCFF4 7F0C84C4 03C02025 */ move $a0, $fp -/* 0FCFF8 7F0C84C8 02C02825 */ move $a1, $s6 -/* 0FCFFC 7F0C84CC 02003825 */ move $a3, $s0 -/* 0FD000 7F0C84D0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0FD004 7F0C84D4 00003012 */ mflo $a2 -/* 0FD008 7F0C84D8 0FC32DF8 */ jal type8_9_doohick -/* 0FD00C 7F0C84DC 00000000 */ nop -/* 0FD010 7F0C84E0 3C0B8005 */ lui $t3, %hi(pixelbytecounts+52) -/* 0FD014 7F0C84E4 01745821 */ addu $t3, $t3, $s4 -/* 0FD018 7F0C84E8 8D6B91AC */ lw $t3, %lo(pixelbytecounts+52)($t3) -/* 0FD01C 7F0C84EC 00157880 */ sll $t7, $s5, 2 -/* 0FD020 7F0C84F0 01F57823 */ subu $t7, $t7, $s5 -/* 0FD024 7F0C84F4 11600003 */ beqz $t3, .L7F0C8504 -/* 0FD028 7F0C84F8 03CF2021 */ addu $a0, $fp, $t7 -/* 0FD02C 7F0C84FC 0FC32692 */ jal image_get_alpha_values -/* 0FD030 7F0C8500 02A02825 */ move $a1, $s5 -.L7F0C8504: -/* 0FD034 7F0C8504 8FAC30AC */ lw $t4, 0x30ac($sp) -/* 0FD038 7F0C8508 8FB90088 */ lw $t9, 0x88($sp) -/* 0FD03C 7F0C850C 8FB80080 */ lw $t8, 0x80($sp) -/* 0FD040 7F0C8510 03C02025 */ move $a0, $fp -/* 0FD044 7F0C8514 01998021 */ addu $s0, $t4, $t9 -/* 0FD048 7F0C8518 02003825 */ move $a3, $s0 -/* 0FD04C 7F0C851C 02C02825 */ move $a1, $s6 -/* 0FD050 7F0C8520 02E03025 */ move $a2, $s7 -/* 0FD054 7F0C8524 0FC32769 */ jal generate_link_final_image -/* 0FD058 7F0C8528 AFB80010 */ sw $t8, 0x10($sp) -/* 0FD05C 7F0C852C 1000000B */ b .L7F0C855C -/* 0FD060 7F0C8530 00408825 */ move $s1, $v0 -def_7F0C8054: -.L7F0C8534: -/* 0FD064 7F0C8534 3C0D8009 */ lui $t5, %hi(dword_CODE_bss_8008D090) -/* 0FD068 7F0C8538 8DADD090 */ lw $t5, %lo(dword_CODE_bss_8008D090)($t5) -/* 0FD06C 7F0C853C 3C0F8009 */ lui $t7, %hi(word_CODE_bss_8008C730) -/* 0FD070 7F0C8540 25EFC730 */ addiu $t7, %lo(word_CODE_bss_8008C730) # addiu $t7, $t7, -0x38d0 -/* 0FD074 7F0C8544 000D7100 */ sll $t6, $t5, 4 -/* 0FD078 7F0C8548 01CF1821 */ addu $v1, $t6, $t7 -/* 0FD07C 7F0C854C A0760001 */ sb $s6, 1($v1) -/* 0FD080 7F0C8550 A0770008 */ sb $s7, 8($v1) -.L7F0C8554: -/* 0FD084 7F0C8554 1000FFFF */ b .L7F0C8554 -/* 0FD088 7F0C8558 00000000 */ nop -.L7F0C855C: -/* 0FD08C 7F0C855C 8FAC30B0 */ lw $t4, 0x30b0($sp) -/* 0FD090 7F0C8560 24010001 */ li $at, 1 -/* 0FD094 7F0C8564 8FB930B4 */ lw $t9, 0x30b4($sp) -/* 0FD098 7F0C8568 15810007 */ bne $t4, $at, .L7F0C8588 -/* 0FD09C 7F0C856C 00000000 */ nop -/* 0FD0A0 7F0C8570 1B200005 */ blez $t9, .L7F0C8588 -/* 0FD0A4 7F0C8574 02002025 */ move $a0, $s0 -/* 0FD0A8 7F0C8578 02C02825 */ move $a1, $s6 -/* 0FD0AC 7F0C857C 02E03025 */ move $a2, $s7 -/* 0FD0B0 7F0C8580 0FC32D9F */ jal sub_GAME_7F0CB67C -/* 0FD0B4 7F0C8584 8FA70080 */ lw $a3, 0x80($sp) -.L7F0C8588: -/* 0FD0B8 7F0C8588 3C028009 */ lui $v0, %hi(img_bitcount) -/* 0FD0BC 7F0C858C 8FAD0088 */ lw $t5, 0x88($sp) -/* 0FD0C0 7F0C8590 2442D0A8 */ addiu $v0, %lo(img_bitcount) # addiu $v0, $v0, -0x2f58 -/* 0FD0C4 7F0C8594 8C4B0000 */ lw $t3, ($v0) -/* 0FD0C8 7F0C8598 26310007 */ addiu $s1, $s1, 7 -/* 0FD0CC 7F0C859C 2401FFF8 */ li $at, -8 -/* 0FD0D0 7F0C85A0 0221C024 */ and $t8, $s1, $at -/* 0FD0D4 7F0C85A4 01B87021 */ addu $t6, $t5, $t8 -/* 0FD0D8 7F0C85A8 15600007 */ bnez $t3, .L7F0C85C8 -/* 0FD0DC 7F0C85AC AFAE0088 */ sw $t6, 0x88($sp) -/* 0FD0E0 7F0C85B0 3C0F8009 */ lui $t7, %hi(img_curpos) -/* 0FD0E4 7F0C85B4 8DEFD0A0 */ lw $t7, %lo(img_curpos)($t7) -/* 0FD0E8 7F0C85B8 3C018009 */ lui $at, %hi(img_curpos) -/* 0FD0EC 7F0C85BC 25EC0001 */ addiu $t4, $t7, 1 -/* 0FD0F0 7F0C85C0 10000002 */ b .L7F0C85CC -/* 0FD0F4 7F0C85C4 AC2CD0A0 */ sw $t4, %lo(img_curpos)($at) -.L7F0C85C8: -/* 0FD0F8 7F0C85C8 AC400000 */ sw $zero, ($v0) -.L7F0C85CC: -/* 0FD0FC 7F0C85CC 8FB900A0 */ lw $t9, 0xa0($sp) -/* 0FD100 7F0C85D0 8FAD009C */ lw $t5, 0x9c($sp) -/* 0FD104 7F0C85D4 27380001 */ addiu $t8, $t9, 1 -/* 0FD108 7F0C85D8 170DFE52 */ bne $t8, $t5, .L7F0C7F24 -/* 0FD10C 7F0C85DC AFB800A0 */ sw $t8, 0xa0($sp) -/* 0FD110 7F0C85E0 3C088009 */ lui $t0, %hi(dword_CODE_bss_8008D090) -/* 0FD114 7F0C85E4 2508D090 */ addiu $t0, %lo(dword_CODE_bss_8008D090) # addiu $t0, $t0, -0x2f70 -/* 0FD118 7F0C85E8 AFB60098 */ sw $s6, 0x98($sp) -/* 0FD11C 7F0C85EC AFB70094 */ sw $s7, 0x94($sp) -/* 0FD120 7F0C85F0 8FAA30B4 */ lw $t2, 0x30b4($sp) -/* 0FD124 7F0C85F4 8FA930B0 */ lw $t1, 0x30b0($sp) -/* 0FD128 7F0C85F8 8FA730B8 */ lw $a3, 0x30b8($sp) -/* 0FD12C 7F0C85FC 8FA60070 */ lw $a2, 0x70($sp) -.L7F0C8600: -/* 0FD130 7F0C8600 8FB60098 */ lw $s6, 0x98($sp) -/* 0FD134 7F0C8604 10C0000E */ beqz $a2, .L7F0C8640 -/* 0FD138 7F0C8608 8FB70094 */ lw $s7, 0x94($sp) -/* 0FD13C 7F0C860C 8CEE000C */ lw $t6, 0xc($a3) -/* 0FD140 7F0C8610 8D050000 */ lw $a1, ($t0) -/* 0FD144 7F0C8614 3C018009 */ lui $at, %hi(word_CODE_bss_8008C730) -/* 0FD148 7F0C8618 8DCB0000 */ lw $t3, ($t6) -/* 0FD14C 7F0C861C 00056100 */ sll $t4, $a1, 4 -/* 0FD150 7F0C8620 002C0821 */ addu $at, $at, $t4 -/* 0FD154 7F0C8624 000B7D02 */ srl $t7, $t3, 0x14 -/* 0FD158 7F0C8628 A42FC730 */ sh $t7, %lo(word_CODE_bss_8008C730)($at) -/* 0FD15C 7F0C862C 24B90001 */ addiu $t9, $a1, 1 -/* 0FD160 7F0C8630 2B210096 */ slti $at, $t9, 0x96 -/* 0FD164 7F0C8634 14200002 */ bnez $at, .L7F0C8640 -/* 0FD168 7F0C8638 AD190000 */ sw $t9, ($t0) -/* 0FD16C 7F0C863C AD000000 */ sw $zero, ($t0) -.L7F0C8640: -/* 0FD170 7F0C8640 15200037 */ bnez $t1, .L7F0C8720 -/* 0FD174 7F0C8644 29410002 */ slti $at, $t2, 2 -/* 0FD178 7F0C8648 1420002E */ bnez $at, .L7F0C8704 -/* 0FD17C 7F0C864C 8FB430AC */ lw $s4, 0x30ac($sp) -/* 0FD180 7F0C8650 8FAB30B4 */ lw $t3, 0x30b4($sp) -/* 0FD184 7F0C8654 8FAD0088 */ lw $t5, 0x88($sp) -/* 0FD188 7F0C8658 240E0001 */ li $t6, 1 -/* 0FD18C 7F0C865C 29610002 */ slti $at, $t3, 2 -/* 0FD190 7F0C8660 02C09025 */ move $s2, $s6 -/* 0FD194 7F0C8664 02E09825 */ move $s3, $s7 -/* 0FD198 7F0C8668 AFAE00A0 */ sw $t6, 0xa0($sp) -/* 0FD19C 7F0C866C 1420001E */ bnez $at, .L7F0C86E8 -/* 0FD1A0 7F0C8670 028D8021 */ addu $s0, $s4, $t5 -.L7F0C8674: -/* 0FD1A4 7F0C8674 8FAF0080 */ lw $t7, 0x80($sp) -/* 0FD1A8 7F0C8678 02802025 */ move $a0, $s4 -/* 0FD1AC 7F0C867C 02002825 */ move $a1, $s0 -/* 0FD1B0 7F0C8680 02403025 */ move $a2, $s2 -/* 0FD1B4 7F0C8684 02603825 */ move $a3, $s3 -/* 0FD1B8 7F0C8688 0FC321D5 */ jal image_decompresion_related -/* 0FD1BC 7F0C868C AFAF0010 */ sw $t7, 0x10($sp) -/* 0FD1C0 7F0C8690 00408825 */ move $s1, $v0 -/* 0FD1C4 7F0C8694 02802025 */ move $a0, $s4 -/* 0FD1C8 7F0C8698 02402825 */ move $a1, $s2 -/* 0FD1CC 7F0C869C 02603025 */ move $a2, $s3 -/* 0FD1D0 7F0C86A0 0FC32D9F */ jal sub_GAME_7F0CB67C -/* 0FD1D4 7F0C86A4 8FA70080 */ lw $a3, 0x80($sp) -/* 0FD1D8 7F0C86A8 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 0FD1DC 7F0C86AC 8FAC0088 */ lw $t4, 0x88($sp) -/* 0FD1E0 7F0C86B0 8FAF30B4 */ lw $t7, 0x30b4($sp) -/* 0FD1E4 7F0C86B4 26520001 */ addiu $s2, $s2, 1 -/* 0FD1E8 7F0C86B8 26730001 */ addiu $s3, $s3, 1 -/* 0FD1EC 7F0C86BC 0012C043 */ sra $t8, $s2, 1 -/* 0FD1F0 7F0C86C0 00136843 */ sra $t5, $s3, 1 -/* 0FD1F4 7F0C86C4 0200A025 */ move $s4, $s0 -/* 0FD1F8 7F0C86C8 25CB0001 */ addiu $t3, $t6, 1 -/* 0FD1FC 7F0C86CC 0191C821 */ addu $t9, $t4, $s1 -/* 0FD200 7F0C86D0 AFAB00A0 */ sw $t3, 0xa0($sp) -/* 0FD204 7F0C86D4 AFB90088 */ sw $t9, 0x88($sp) -/* 0FD208 7F0C86D8 03009025 */ move $s2, $t8 -/* 0FD20C 7F0C86DC 01A09825 */ move $s3, $t5 -/* 0FD210 7F0C86E0 156FFFE4 */ bne $t3, $t7, .L7F0C8674 -/* 0FD214 7F0C86E4 02118021 */ addu $s0, $s0, $s1 -.L7F0C86E8: -/* 0FD218 7F0C86E8 02802025 */ move $a0, $s4 -/* 0FD21C 7F0C86EC 02402825 */ move $a1, $s2 -/* 0FD220 7F0C86F0 02603025 */ move $a2, $s3 -/* 0FD224 7F0C86F4 0FC32D9F */ jal sub_GAME_7F0CB67C -/* 0FD228 7F0C86F8 8FA70080 */ lw $a3, 0x80($sp) -/* 0FD22C 7F0C86FC 10000009 */ b .L7F0C8724 -/* 0FD230 7F0C8700 8FA20088 */ lw $v0, 0x88($sp) -.L7F0C8704: -/* 0FD234 7F0C8704 24010001 */ li $at, 1 -/* 0FD238 7F0C8708 15410005 */ bne $t2, $at, .L7F0C8720 -/* 0FD23C 7F0C870C 8FA430AC */ lw $a0, 0x30ac($sp) -/* 0FD240 7F0C8710 02C02825 */ move $a1, $s6 -/* 0FD244 7F0C8714 02E03025 */ move $a2, $s7 -/* 0FD248 7F0C8718 0FC32D9F */ jal sub_GAME_7F0CB67C -/* 0FD24C 7F0C871C 8FA70080 */ lw $a3, 0x80($sp) -.L7F0C8720: -/* 0FD250 7F0C8720 8FA20088 */ lw $v0, 0x88($sp) -.L7F0C8724: -/* 0FD254 7F0C8724 8FBF004C */ lw $ra, 0x4c($sp) -/* 0FD258 7F0C8728 8FB00028 */ lw $s0, 0x28($sp) -/* 0FD25C 7F0C872C 8FB1002C */ lw $s1, 0x2c($sp) -/* 0FD260 7F0C8730 8FB20030 */ lw $s2, 0x30($sp) -/* 0FD264 7F0C8734 8FB30034 */ lw $s3, 0x34($sp) -/* 0FD268 7F0C8738 8FB40038 */ lw $s4, 0x38($sp) -/* 0FD26C 7F0C873C 8FB5003C */ lw $s5, 0x3c($sp) -/* 0FD270 7F0C8740 8FB60040 */ lw $s6, 0x40($sp) -/* 0FD274 7F0C8744 8FB70044 */ lw $s7, 0x44($sp) -/* 0FD278 7F0C8748 8FBE0048 */ lw $fp, 0x48($sp) -/* 0FD27C 7F0C874C 03E00008 */ jr $ra -/* 0FD280 7F0C8750 27BD30A8 */ addiu $sp, $sp, 0x30a8 -) -#endif - - - - - -#ifdef NONMATCHING -void image_decompresion_related(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BD58*/ -glabel jpt_8005BD58 -.word .L7F0C87CC -.word .L7F0C87F0 -.word .L7F0C87CC -.word .L7F0C87F0 -.word .L7F0C87F0 -.word .L7F0C8814 -.word .L7F0C8838 -.word .L7F0C8814 -.word .L7F0C8838 - -/*D:8005BD7C*/ -glabel jpt_8005BD7C -.word .L7F0C887C -.word .L7F0C8A2C -.word .L7F0C887C -.word .L7F0C8A2C -.word .L7F0C8BE0 -.word .L7F0C8D1C -.word .L7F0C8F00 -.word .L7F0C8E34 -.word .L7F0C9090 -.text -glabel image_decompresion_related -/* 0FD284 7F0C8754 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0FD288 7F0C8758 8FA200C8 */ lw $v0, 0xc8($sp) -/* 0FD28C 7F0C875C 24F90001 */ addiu $t9, $a3, 1 -/* 0FD290 7F0C8760 AFB70020 */ sw $s7, 0x20($sp) -/* 0FD294 7F0C8764 AFB6001C */ sw $s6, 0x1c($sp) -/* 0FD298 7F0C8768 AFB50018 */ sw $s5, 0x18($sp) -/* 0FD29C 7F0C876C AFB40014 */ sw $s4, 0x14($sp) -/* 0FD2A0 7F0C8770 AFB10008 */ sw $s1, 8($sp) -/* 0FD2A4 7F0C8774 AFB00004 */ sw $s0, 4($sp) -/* 0FD2A8 7F0C8778 00196043 */ sra $t4, $t9, 1 -/* 0FD2AC 7F0C877C 2C410009 */ sltiu $at, $v0, 9 -/* 0FD2B0 7F0C8780 00C0A825 */ move $s5, $a2 -/* 0FD2B4 7F0C8784 00E0B825 */ move $s7, $a3 -/* 0FD2B8 7F0C8788 AFBE0024 */ sw $fp, 0x24($sp) -/* 0FD2BC 7F0C878C AFB30010 */ sw $s3, 0x10($sp) -/* 0FD2C0 7F0C8790 AFB2000C */ sw $s2, 0xc($sp) -/* 0FD2C4 7F0C8794 00A04825 */ move $t1, $a1 -/* 0FD2C8 7F0C8798 00A0B025 */ move $s6, $a1 -/* 0FD2CC 7F0C879C 00A08825 */ move $s1, $a1 -/* 0FD2D0 7F0C87A0 00801825 */ move $v1, $a0 -/* 0FD2D4 7F0C87A4 0080A025 */ move $s4, $a0 -/* 0FD2D8 7F0C87A8 00808025 */ move $s0, $a0 -/* 0FD2DC 7F0C87AC 1020002A */ beqz $at, .L7F0C8858 -/* 0FD2E0 7F0C87B0 AFAC004C */ sw $t4, 0x4c($sp) -/* 0FD2E4 7F0C87B4 0002C080 */ sll $t8, $v0, 2 -/* 0FD2E8 7F0C87B8 3C018006 */ lui $at, %hi(jpt_8005BD58) -/* 0FD2EC 7F0C87BC 00380821 */ addu $at, $at, $t8 -/* 0FD2F0 7F0C87C0 8C38BD58 */ lw $t8, %lo(jpt_8005BD58)($at) -/* 0FD2F4 7F0C87C4 03000008 */ jr $t8 -/* 0FD2F8 7F0C87C8 00000000 */ nop -.L7F0C87CC: -/* 0FD2FC 7F0C87CC 26AE0001 */ addiu $t6, $s5, 1 -/* 0FD300 7F0C87D0 000EC843 */ sra $t9, $t6, 1 -/* 0FD304 7F0C87D4 272F0003 */ addiu $t7, $t9, 3 -/* 0FD308 7F0C87D8 26B20003 */ addiu $s2, $s5, 3 -/* 0FD30C 7F0C87DC 31F80FFC */ andi $t8, $t7, 0xffc -/* 0FD310 7F0C87E0 324E0FFC */ andi $t6, $s2, 0xffc -/* 0FD314 7F0C87E4 AFB800A8 */ sw $t8, 0xa8($sp) -/* 0FD318 7F0C87E8 1000001B */ b .L7F0C8858 -/* 0FD31C 7F0C87EC AFAE00AC */ sw $t6, 0xac($sp) -.L7F0C87F0: -/* 0FD320 7F0C87F0 26B90001 */ addiu $t9, $s5, 1 -/* 0FD324 7F0C87F4 00197843 */ sra $t7, $t9, 1 -/* 0FD328 7F0C87F8 25F80003 */ addiu $t8, $t7, 3 -/* 0FD32C 7F0C87FC 26B20003 */ addiu $s2, $s5, 3 -/* 0FD330 7F0C8800 330E0FFC */ andi $t6, $t8, 0xffc -/* 0FD334 7F0C8804 32590FFC */ andi $t9, $s2, 0xffc -/* 0FD338 7F0C8808 AFAE00A8 */ sw $t6, 0xa8($sp) -/* 0FD33C 7F0C880C 10000012 */ b .L7F0C8858 -/* 0FD340 7F0C8810 AFB900AC */ sw $t9, 0xac($sp) -.L7F0C8814: -/* 0FD344 7F0C8814 26AF0001 */ addiu $t7, $s5, 1 -/* 0FD348 7F0C8818 000FC043 */ sra $t8, $t7, 1 -/* 0FD34C 7F0C881C 270E0007 */ addiu $t6, $t8, 7 -/* 0FD350 7F0C8820 26B20007 */ addiu $s2, $s5, 7 -/* 0FD354 7F0C8824 31D90FF8 */ andi $t9, $t6, 0xff8 -/* 0FD358 7F0C8828 324F0FF8 */ andi $t7, $s2, 0xff8 -/* 0FD35C 7F0C882C AFB900A8 */ sw $t9, 0xa8($sp) -/* 0FD360 7F0C8830 10000009 */ b .L7F0C8858 -/* 0FD364 7F0C8834 AFAF00AC */ sw $t7, 0xac($sp) -.L7F0C8838: -/* 0FD368 7F0C8838 26B80001 */ addiu $t8, $s5, 1 -/* 0FD36C 7F0C883C 00187043 */ sra $t6, $t8, 1 -/* 0FD370 7F0C8840 25D9000F */ addiu $t9, $t6, 0xf -/* 0FD374 7F0C8844 26B2000F */ addiu $s2, $s5, 0xf -/* 0FD378 7F0C8848 332F0FF0 */ andi $t7, $t9, 0xff0 -/* 0FD37C 7F0C884C 32580FF0 */ andi $t8, $s2, 0xff0 -/* 0FD380 7F0C8850 AFAF00A8 */ sw $t7, 0xa8($sp) -/* 0FD384 7F0C8854 AFB800AC */ sw $t8, 0xac($sp) -def_7F0C87C4: -.L7F0C8858: -/* 0FD388 7F0C8858 2C410009 */ sltiu $at, $v0, 9 -/* 0FD38C 7F0C885C 10200250 */ beqz $at, .L7F0C91A0 -/* 0FD390 7F0C8860 8FB200AC */ lw $s2, 0xac($sp) -/* 0FD394 7F0C8864 00027080 */ sll $t6, $v0, 2 -/* 0FD398 7F0C8868 3C018006 */ lui $at, %hi(jpt_8005BD7C) -/* 0FD39C 7F0C886C 002E0821 */ addu $at, $at, $t6 -/* 0FD3A0 7F0C8870 8C2EBD7C */ lw $t6, %lo(jpt_8005BD7C)($at) -/* 0FD3A4 7F0C8874 01C00008 */ jr $t6 -/* 0FD3A8 7F0C8878 00000000 */ nop -.L7F0C887C: -/* 0FD3AC 7F0C887C 1AE00064 */ blez $s7, .L7F0C8A10 -/* 0FD3B0 7F0C8880 0000F025 */ move $fp, $zero -/* 0FD3B4 7F0C8884 8FA400A8 */ lw $a0, 0xa8($sp) -/* 0FD3B8 7F0C8888 02402825 */ move $a1, $s2 -/* 0FD3BC 7F0C888C 000578C0 */ sll $t7, $a1, 3 -/* 0FD3C0 7F0C8890 0004C880 */ sll $t9, $a0, 2 -/* 0FD3C4 7F0C8894 03202025 */ move $a0, $t9 -/* 0FD3C8 7F0C8898 01E02825 */ move $a1, $t7 -.L7F0C889C: -/* 0FD3CC 7F0C889C 27D80001 */ addiu $t8, $fp, 1 -/* 0FD3D0 7F0C88A0 0317082A */ slt $at, $t8, $s7 -/* 0FD3D4 7F0C88A4 10200003 */ beqz $at, .L7F0C88B4 -/* 0FD3D8 7F0C88A8 00004025 */ move $t0, $zero -/* 0FD3DC 7F0C88AC 10000002 */ b .L7F0C88B8 -/* 0FD3E0 7F0C88B0 02409825 */ move $s3, $s2 -.L7F0C88B4: -/* 0FD3E4 7F0C88B4 00009825 */ move $s3, $zero -.L7F0C88B8: -/* 0FD3E8 7F0C88B8 1A400051 */ blez $s2, .L7F0C8A00 -/* 0FD3EC 7F0C88BC 27DE0002 */ addiu $fp, $fp, 2 -/* 0FD3F0 7F0C88C0 00137080 */ sll $t6, $s3, 2 -/* 0FD3F4 7F0C88C4 006E6821 */ addu $t5, $v1, $t6 -/* 0FD3F8 7F0C88C8 01A08025 */ move $s0, $t5 -/* 0FD3FC 7F0C88CC 00603025 */ move $a2, $v1 -.L7F0C88D0: -/* 0FD400 7F0C88D0 25020001 */ addiu $v0, $t0, 1 -/* 0FD404 7F0C88D4 0055082A */ slt $at, $v0, $s5 -/* 0FD408 7F0C88D8 10200003 */ beqz $at, .L7F0C88E8 -/* 0FD40C 7F0C88DC 01003825 */ move $a3, $t0 -/* 0FD410 7F0C88E0 10000001 */ b .L7F0C88E8 -/* 0FD414 7F0C88E4 00403825 */ move $a3, $v0 -.L7F0C88E8: -/* 0FD418 7F0C88E8 00075880 */ sll $t3, $a3, 2 -/* 0FD41C 7F0C88EC 006BC821 */ addu $t9, $v1, $t3 -/* 0FD420 7F0C88F0 8F2A0000 */ lw $t2, ($t9) -/* 0FD424 7F0C88F4 8CC20000 */ lw $v0, ($a2) -/* 0FD428 7F0C88F8 01AB7821 */ addu $t7, $t5, $t3 -/* 0FD42C 7F0C88FC 8E0C0000 */ lw $t4, ($s0) -/* 0FD430 7F0C8900 8DF10000 */ lw $s1, ($t7) -/* 0FD434 7F0C8904 000ACE02 */ srl $t9, $t2, 0x18 -/* 0FD438 7F0C8908 332F00FF */ andi $t7, $t9, 0xff -/* 0FD43C 7F0C890C 0002C602 */ srl $t8, $v0, 0x18 -/* 0FD440 7F0C8910 330E00FF */ andi $t6, $t8, 0xff -/* 0FD444 7F0C8914 01CFC021 */ addu $t8, $t6, $t7 -/* 0FD448 7F0C8918 000CCE02 */ srl $t9, $t4, 0x18 -/* 0FD44C 7F0C891C 332E00FF */ andi $t6, $t9, 0xff -/* 0FD450 7F0C8920 030E7821 */ addu $t7, $t8, $t6 -/* 0FD454 7F0C8924 0011CE02 */ srl $t9, $s1, 0x18 -/* 0FD458 7F0C8928 333800FF */ andi $t8, $t9, 0xff -/* 0FD45C 7F0C892C 01F87021 */ addu $t6, $t7, $t8 -/* 0FD460 7F0C8930 000E7882 */ srl $t7, $t6, 2 -/* 0FD464 7F0C8934 000FC600 */ sll $t8, $t7, 0x18 -/* 0FD468 7F0C8938 00027402 */ srl $t6, $v0, 0x10 -/* 0FD46C 7F0C893C 31D900FF */ andi $t9, $t6, 0xff -/* 0FD470 7F0C8940 000A7C02 */ srl $t7, $t2, 0x10 -/* 0FD474 7F0C8944 31EE00FF */ andi $t6, $t7, 0xff -/* 0FD478 7F0C8948 032E7821 */ addu $t7, $t9, $t6 -/* 0FD47C 7F0C894C 000CCC02 */ srl $t9, $t4, 0x10 -/* 0FD480 7F0C8950 332E00FF */ andi $t6, $t9, 0xff -/* 0FD484 7F0C8954 01EEC821 */ addu $t9, $t7, $t6 -/* 0FD488 7F0C8958 00117C02 */ srl $t7, $s1, 0x10 -/* 0FD48C 7F0C895C 31EE00FF */ andi $t6, $t7, 0xff -/* 0FD490 7F0C8960 032E7821 */ addu $t7, $t9, $t6 -/* 0FD494 7F0C8964 000FC882 */ srl $t9, $t7, 2 -/* 0FD498 7F0C8968 332E00FF */ andi $t6, $t9, 0xff -/* 0FD49C 7F0C896C 000E7C00 */ sll $t7, $t6, 0x10 -/* 0FD4A0 7F0C8970 030FC825 */ or $t9, $t8, $t7 -/* 0FD4A4 7F0C8974 00027202 */ srl $t6, $v0, 8 -/* 0FD4A8 7F0C8978 31D800FF */ andi $t8, $t6, 0xff -/* 0FD4AC 7F0C897C 000A7A02 */ srl $t7, $t2, 8 -/* 0FD4B0 7F0C8980 31EE00FF */ andi $t6, $t7, 0xff -/* 0FD4B4 7F0C8984 030E7821 */ addu $t7, $t8, $t6 -/* 0FD4B8 7F0C8988 000CC202 */ srl $t8, $t4, 8 -/* 0FD4BC 7F0C898C 330E00FF */ andi $t6, $t8, 0xff -/* 0FD4C0 7F0C8990 01EEC021 */ addu $t8, $t7, $t6 -/* 0FD4C4 7F0C8994 00117A02 */ srl $t7, $s1, 8 -/* 0FD4C8 7F0C8998 31EE00FF */ andi $t6, $t7, 0xff -/* 0FD4CC 7F0C899C 030E7821 */ addu $t7, $t8, $t6 -/* 0FD4D0 7F0C89A0 000FC082 */ srl $t8, $t7, 2 -/* 0FD4D4 7F0C89A4 330E00FF */ andi $t6, $t8, 0xff -/* 0FD4D8 7F0C89A8 000E7A00 */ sll $t7, $t6, 8 -/* 0FD4DC 7F0C89AC 032FC025 */ or $t8, $t9, $t7 -/* 0FD4E0 7F0C89B0 315900FF */ andi $t9, $t2, 0xff -/* 0FD4E4 7F0C89B4 304E00FF */ andi $t6, $v0, 0xff -/* 0FD4E8 7F0C89B8 01D97821 */ addu $t7, $t6, $t9 -/* 0FD4EC 7F0C89BC 318E00FF */ andi $t6, $t4, 0xff -/* 0FD4F0 7F0C89C0 01EEC821 */ addu $t9, $t7, $t6 -/* 0FD4F4 7F0C89C4 322F00FF */ andi $t7, $s1, 0xff -/* 0FD4F8 7F0C89C8 032F7021 */ addu $t6, $t9, $t7 -/* 0FD4FC 7F0C89CC 25D90001 */ addiu $t9, $t6, 1 -/* 0FD500 7F0C89D0 00197882 */ srl $t7, $t9, 2 -/* 0FD504 7F0C89D4 31EE00FF */ andi $t6, $t7, 0xff -/* 0FD508 7F0C89D8 00087843 */ sra $t7, $t0, 1 -/* 0FD50C 7F0C89DC 030EC825 */ or $t9, $t8, $t6 -/* 0FD510 7F0C89E0 25080002 */ addiu $t0, $t0, 2 -/* 0FD514 7F0C89E4 000FC080 */ sll $t8, $t7, 2 -/* 0FD518 7F0C89E8 0112082A */ slt $at, $t0, $s2 -/* 0FD51C 7F0C89EC 01387021 */ addu $t6, $t1, $t8 -/* 0FD520 7F0C89F0 24C60008 */ addiu $a2, $a2, 8 -/* 0FD524 7F0C89F4 26100008 */ addiu $s0, $s0, 8 -/* 0FD528 7F0C89F8 1420FFB5 */ bnez $at, .L7F0C88D0 -/* 0FD52C 7F0C89FC ADD90000 */ sw $t9, ($t6) -.L7F0C8A00: -/* 0FD530 7F0C8A00 03D7082A */ slt $at, $fp, $s7 -/* 0FD534 7F0C8A04 01244821 */ addu $t1, $t1, $a0 -/* 0FD538 7F0C8A08 1420FFA4 */ bnez $at, .L7F0C889C -/* 0FD53C 7F0C8A0C 00651821 */ addu $v1, $v1, $a1 -.L7F0C8A10: -/* 0FD540 7F0C8A10 8FAF004C */ lw $t7, 0x4c($sp) -/* 0FD544 7F0C8A14 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0FD548 7F0C8A18 01F80019 */ multu $t7, $t8 -/* 0FD54C 7F0C8A1C 00001012 */ mflo $v0 -/* 0FD550 7F0C8A20 0002C880 */ sll $t9, $v0, 2 -/* 0FD554 7F0C8A24 100001DF */ b .L7F0C91A4 -/* 0FD558 7F0C8A28 03201025 */ move $v0, $t9 -.L7F0C8A2C: -/* 0FD55C 7F0C8A2C 1AE00065 */ blez $s7, .L7F0C8BC4 -/* 0FD560 7F0C8A30 0000F025 */ move $fp, $zero -/* 0FD564 7F0C8A34 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FD568 7F0C8A38 0012C880 */ sll $t9, $s2, 2 -/* 0FD56C 7F0C8A3C AFB90034 */ sw $t9, 0x34($sp) -/* 0FD570 7F0C8A40 000E7840 */ sll $t7, $t6, 1 -/* 0FD574 7F0C8A44 AFAF0038 */ sw $t7, 0x38($sp) -.L7F0C8A48: -/* 0FD578 7F0C8A48 27CE0001 */ addiu $t6, $fp, 1 -/* 0FD57C 7F0C8A4C 01D7082A */ slt $at, $t6, $s7 -/* 0FD580 7F0C8A50 10200003 */ beqz $at, .L7F0C8A60 -/* 0FD584 7F0C8A54 00004025 */ move $t0, $zero -/* 0FD588 7F0C8A58 10000002 */ b .L7F0C8A64 -/* 0FD58C 7F0C8A5C 02409825 */ move $s3, $s2 -.L7F0C8A60: -/* 0FD590 7F0C8A60 00009825 */ move $s3, $zero -.L7F0C8A64: -/* 0FD594 7F0C8A64 1A400051 */ blez $s2, .L7F0C8BAC -/* 0FD598 7F0C8A68 27DE0002 */ addiu $fp, $fp, 2 -/* 0FD59C 7F0C8A6C 00137840 */ sll $t7, $s3, 1 -/* 0FD5A0 7F0C8A70 028F8821 */ addu $s1, $s4, $t7 -/* 0FD5A4 7F0C8A74 02208025 */ move $s0, $s1 -/* 0FD5A8 7F0C8A78 02806825 */ move $t5, $s4 -.L7F0C8A7C: -/* 0FD5AC 7F0C8A7C 25020001 */ addiu $v0, $t0, 1 -/* 0FD5B0 7F0C8A80 0055082A */ slt $at, $v0, $s5 -/* 0FD5B4 7F0C8A84 10200003 */ beqz $at, .L7F0C8A94 -/* 0FD5B8 7F0C8A88 01003825 */ move $a3, $t0 -/* 0FD5BC 7F0C8A8C 10000001 */ b .L7F0C8A94 -/* 0FD5C0 7F0C8A90 00403825 */ move $a3, $v0 -.L7F0C8A94: -/* 0FD5C4 7F0C8A94 00073040 */ sll $a2, $a3, 1 -/* 0FD5C8 7F0C8A98 0286C021 */ addu $t8, $s4, $a2 -/* 0FD5CC 7F0C8A9C 970A0000 */ lhu $t2, ($t8) -/* 0FD5D0 7F0C8AA0 95A90000 */ lhu $t1, ($t5) -/* 0FD5D4 7F0C8AA4 0226C821 */ addu $t9, $s1, $a2 -/* 0FD5D8 7F0C8AA8 960B0000 */ lhu $t3, ($s0) -/* 0FD5DC 7F0C8AAC 972C0000 */ lhu $t4, ($t9) -/* 0FD5E0 7F0C8AB0 000AC2C3 */ sra $t8, $t2, 0xb -/* 0FD5E4 7F0C8AB4 3319001F */ andi $t9, $t8, 0x1f -/* 0FD5E8 7F0C8AB8 000972C3 */ sra $t6, $t1, 0xb -/* 0FD5EC 7F0C8ABC 31CF001F */ andi $t7, $t6, 0x1f -/* 0FD5F0 7F0C8AC0 01F97021 */ addu $t6, $t7, $t9 -/* 0FD5F4 7F0C8AC4 000BC2C3 */ sra $t8, $t3, 0xb -/* 0FD5F8 7F0C8AC8 330F001F */ andi $t7, $t8, 0x1f -/* 0FD5FC 7F0C8ACC 01CFC821 */ addu $t9, $t6, $t7 -/* 0FD600 7F0C8AD0 000CC2C3 */ sra $t8, $t4, 0xb -/* 0FD604 7F0C8AD4 330E001F */ andi $t6, $t8, 0x1f -/* 0FD608 7F0C8AD8 032E7821 */ addu $t7, $t9, $t6 -/* 0FD60C 7F0C8ADC 000FC883 */ sra $t9, $t7, 2 -/* 0FD610 7F0C8AE0 001972C0 */ sll $t6, $t9, 0xb -/* 0FD614 7F0C8AE4 00097983 */ sra $t7, $t1, 6 -/* 0FD618 7F0C8AE8 31F8001F */ andi $t8, $t7, 0x1f -/* 0FD61C 7F0C8AEC 000AC983 */ sra $t9, $t2, 6 -/* 0FD620 7F0C8AF0 332F001F */ andi $t7, $t9, 0x1f -/* 0FD624 7F0C8AF4 030FC821 */ addu $t9, $t8, $t7 -/* 0FD628 7F0C8AF8 000BC183 */ sra $t8, $t3, 6 -/* 0FD62C 7F0C8AFC 330F001F */ andi $t7, $t8, 0x1f -/* 0FD630 7F0C8B00 032FC021 */ addu $t8, $t9, $t7 -/* 0FD634 7F0C8B04 000CC983 */ sra $t9, $t4, 6 -/* 0FD638 7F0C8B08 332F001F */ andi $t7, $t9, 0x1f -/* 0FD63C 7F0C8B0C 030FC821 */ addu $t9, $t8, $t7 -/* 0FD640 7F0C8B10 0019C083 */ sra $t8, $t9, 2 -/* 0FD644 7F0C8B14 330F001F */ andi $t7, $t8, 0x1f -/* 0FD648 7F0C8B18 000FC980 */ sll $t9, $t7, 6 -/* 0FD64C 7F0C8B1C 01D9C025 */ or $t8, $t6, $t9 -/* 0FD650 7F0C8B20 00097843 */ sra $t7, $t1, 1 -/* 0FD654 7F0C8B24 31EE001F */ andi $t6, $t7, 0x1f -/* 0FD658 7F0C8B28 000AC843 */ sra $t9, $t2, 1 -/* 0FD65C 7F0C8B2C 332F001F */ andi $t7, $t9, 0x1f -/* 0FD660 7F0C8B30 01CFC821 */ addu $t9, $t6, $t7 -/* 0FD664 7F0C8B34 000B7043 */ sra $t6, $t3, 1 -/* 0FD668 7F0C8B38 31CF001F */ andi $t7, $t6, 0x1f -/* 0FD66C 7F0C8B3C 032F7021 */ addu $t6, $t9, $t7 -/* 0FD670 7F0C8B40 000CC843 */ sra $t9, $t4, 1 -/* 0FD674 7F0C8B44 332F001F */ andi $t7, $t9, 0x1f -/* 0FD678 7F0C8B48 01CFC821 */ addu $t9, $t6, $t7 -/* 0FD67C 7F0C8B4C 00197083 */ sra $t6, $t9, 2 -/* 0FD680 7F0C8B50 31CF001F */ andi $t7, $t6, 0x1f -/* 0FD684 7F0C8B54 000FC840 */ sll $t9, $t7, 1 -/* 0FD688 7F0C8B58 03197025 */ or $t6, $t8, $t9 -/* 0FD68C 7F0C8B5C 31580001 */ andi $t8, $t2, 1 -/* 0FD690 7F0C8B60 312F0001 */ andi $t7, $t1, 1 -/* 0FD694 7F0C8B64 01F8C821 */ addu $t9, $t7, $t8 -/* 0FD698 7F0C8B68 316F0001 */ andi $t7, $t3, 1 -/* 0FD69C 7F0C8B6C 032FC021 */ addu $t8, $t9, $t7 -/* 0FD6A0 7F0C8B70 31990001 */ andi $t9, $t4, 1 -/* 0FD6A4 7F0C8B74 03197821 */ addu $t7, $t8, $t9 -/* 0FD6A8 7F0C8B78 25F80002 */ addiu $t8, $t7, 2 -/* 0FD6AC 7F0C8B7C 0018C883 */ sra $t9, $t8, 2 -/* 0FD6B0 7F0C8B80 332F0001 */ andi $t7, $t9, 1 -/* 0FD6B4 7F0C8B84 0008C843 */ sra $t9, $t0, 1 -/* 0FD6B8 7F0C8B88 01CFC025 */ or $t8, $t6, $t7 -/* 0FD6BC 7F0C8B8C 25080002 */ addiu $t0, $t0, 2 -/* 0FD6C0 7F0C8B90 00197040 */ sll $t6, $t9, 1 -/* 0FD6C4 7F0C8B94 0112082A */ slt $at, $t0, $s2 -/* 0FD6C8 7F0C8B98 02CE7821 */ addu $t7, $s6, $t6 -/* 0FD6CC 7F0C8B9C 25AD0004 */ addiu $t5, $t5, 4 -/* 0FD6D0 7F0C8BA0 26100004 */ addiu $s0, $s0, 4 -/* 0FD6D4 7F0C8BA4 1420FFB5 */ bnez $at, .L7F0C8A7C -/* 0FD6D8 7F0C8BA8 A5F80000 */ sh $t8, ($t7) -.L7F0C8BAC: -/* 0FD6DC 7F0C8BAC 8FB90038 */ lw $t9, 0x38($sp) -/* 0FD6E0 7F0C8BB0 8FAE0034 */ lw $t6, 0x34($sp) -/* 0FD6E4 7F0C8BB4 03D7082A */ slt $at, $fp, $s7 -/* 0FD6E8 7F0C8BB8 02D9B021 */ addu $s6, $s6, $t9 -/* 0FD6EC 7F0C8BBC 1420FFA2 */ bnez $at, .L7F0C8A48 -/* 0FD6F0 7F0C8BC0 028EA021 */ addu $s4, $s4, $t6 -.L7F0C8BC4: -/* 0FD6F4 7F0C8BC4 8FB8004C */ lw $t8, 0x4c($sp) -/* 0FD6F8 7F0C8BC8 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FD6FC 7F0C8BCC 030F0019 */ multu $t8, $t7 -/* 0FD700 7F0C8BD0 00001012 */ mflo $v0 -/* 0FD704 7F0C8BD4 0002C840 */ sll $t9, $v0, 1 -/* 0FD708 7F0C8BD8 10000172 */ b .L7F0C91A4 -/* 0FD70C 7F0C8BDC 03201025 */ move $v0, $t9 -.L7F0C8BE0: -/* 0FD710 7F0C8BE0 1AE00047 */ blez $s7, .L7F0C8D00 -/* 0FD714 7F0C8BE4 0000F025 */ move $fp, $zero -/* 0FD718 7F0C8BE8 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FD71C 7F0C8BEC 0012C880 */ sll $t9, $s2, 2 -/* 0FD720 7F0C8BF0 AFB90034 */ sw $t9, 0x34($sp) -/* 0FD724 7F0C8BF4 000EC040 */ sll $t8, $t6, 1 -/* 0FD728 7F0C8BF8 AFB80038 */ sw $t8, 0x38($sp) -.L7F0C8BFC: -/* 0FD72C 7F0C8BFC 27CE0001 */ addiu $t6, $fp, 1 -/* 0FD730 7F0C8C00 01D7082A */ slt $at, $t6, $s7 -/* 0FD734 7F0C8C04 10200003 */ beqz $at, .L7F0C8C14 -/* 0FD738 7F0C8C08 00004025 */ move $t0, $zero -/* 0FD73C 7F0C8C0C 10000002 */ b .L7F0C8C18 -/* 0FD740 7F0C8C10 02409825 */ move $s3, $s2 -.L7F0C8C14: -/* 0FD744 7F0C8C14 00009825 */ move $s3, $zero -.L7F0C8C18: -/* 0FD748 7F0C8C18 1A400033 */ blez $s2, .L7F0C8CE8 -/* 0FD74C 7F0C8C1C 27DE0002 */ addiu $fp, $fp, 2 -/* 0FD750 7F0C8C20 0013C040 */ sll $t8, $s3, 1 -/* 0FD754 7F0C8C24 02988821 */ addu $s1, $s4, $t8 -/* 0FD758 7F0C8C28 02208025 */ move $s0, $s1 -/* 0FD75C 7F0C8C2C 02806825 */ move $t5, $s4 -.L7F0C8C30: -/* 0FD760 7F0C8C30 25020001 */ addiu $v0, $t0, 1 -/* 0FD764 7F0C8C34 0055082A */ slt $at, $v0, $s5 -/* 0FD768 7F0C8C38 10200003 */ beqz $at, .L7F0C8C48 -/* 0FD76C 7F0C8C3C 01003825 */ move $a3, $t0 -/* 0FD770 7F0C8C40 10000001 */ b .L7F0C8C48 -/* 0FD774 7F0C8C44 00403825 */ move $a3, $v0 -.L7F0C8C48: -/* 0FD778 7F0C8C48 00073040 */ sll $a2, $a3, 1 -/* 0FD77C 7F0C8C4C 02867821 */ addu $t7, $s4, $a2 -/* 0FD780 7F0C8C50 95EA0000 */ lhu $t2, ($t7) -/* 0FD784 7F0C8C54 95A90000 */ lhu $t1, ($t5) -/* 0FD788 7F0C8C58 0226C821 */ addu $t9, $s1, $a2 -/* 0FD78C 7F0C8C5C 960B0000 */ lhu $t3, ($s0) -/* 0FD790 7F0C8C60 972C0000 */ lhu $t4, ($t9) -/* 0FD794 7F0C8C64 000A7A03 */ sra $t7, $t2, 8 -/* 0FD798 7F0C8C68 31F900FF */ andi $t9, $t7, 0xff -/* 0FD79C 7F0C8C6C 00097203 */ sra $t6, $t1, 8 -/* 0FD7A0 7F0C8C70 31D800FF */ andi $t8, $t6, 0xff -/* 0FD7A4 7F0C8C74 03197021 */ addu $t6, $t8, $t9 -/* 0FD7A8 7F0C8C78 000B7A03 */ sra $t7, $t3, 8 -/* 0FD7AC 7F0C8C7C 31F800FF */ andi $t8, $t7, 0xff -/* 0FD7B0 7F0C8C80 01D8C821 */ addu $t9, $t6, $t8 -/* 0FD7B4 7F0C8C84 000C7A03 */ sra $t7, $t4, 8 -/* 0FD7B8 7F0C8C88 31EE00FF */ andi $t6, $t7, 0xff -/* 0FD7BC 7F0C8C8C 032EC021 */ addu $t8, $t9, $t6 -/* 0FD7C0 7F0C8C90 0018C883 */ sra $t9, $t8, 2 -/* 0FD7C4 7F0C8C94 00197200 */ sll $t6, $t9, 8 -/* 0FD7C8 7F0C8C98 314F00FF */ andi $t7, $t2, 0xff -/* 0FD7CC 7F0C8C9C 313800FF */ andi $t8, $t1, 0xff -/* 0FD7D0 7F0C8CA0 030FC821 */ addu $t9, $t8, $t7 -/* 0FD7D4 7F0C8CA4 317800FF */ andi $t8, $t3, 0xff -/* 0FD7D8 7F0C8CA8 03387821 */ addu $t7, $t9, $t8 -/* 0FD7DC 7F0C8CAC 319900FF */ andi $t9, $t4, 0xff -/* 0FD7E0 7F0C8CB0 01F9C021 */ addu $t8, $t7, $t9 -/* 0FD7E4 7F0C8CB4 270F0001 */ addiu $t7, $t8, 1 -/* 0FD7E8 7F0C8CB8 000FC883 */ sra $t9, $t7, 2 -/* 0FD7EC 7F0C8CBC 333800FF */ andi $t8, $t9, 0xff -/* 0FD7F0 7F0C8CC0 0008C843 */ sra $t9, $t0, 1 -/* 0FD7F4 7F0C8CC4 01D87825 */ or $t7, $t6, $t8 -/* 0FD7F8 7F0C8CC8 25080002 */ addiu $t0, $t0, 2 -/* 0FD7FC 7F0C8CCC 00197040 */ sll $t6, $t9, 1 -/* 0FD800 7F0C8CD0 0112082A */ slt $at, $t0, $s2 -/* 0FD804 7F0C8CD4 02CEC021 */ addu $t8, $s6, $t6 -/* 0FD808 7F0C8CD8 25AD0004 */ addiu $t5, $t5, 4 -/* 0FD80C 7F0C8CDC 26100004 */ addiu $s0, $s0, 4 -/* 0FD810 7F0C8CE0 1420FFD3 */ bnez $at, .L7F0C8C30 -/* 0FD814 7F0C8CE4 A70F0000 */ sh $t7, ($t8) -.L7F0C8CE8: -/* 0FD818 7F0C8CE8 8FB90038 */ lw $t9, 0x38($sp) -/* 0FD81C 7F0C8CEC 8FAE0034 */ lw $t6, 0x34($sp) -/* 0FD820 7F0C8CF0 03D7082A */ slt $at, $fp, $s7 -/* 0FD824 7F0C8CF4 02D9B021 */ addu $s6, $s6, $t9 -/* 0FD828 7F0C8CF8 1420FFC0 */ bnez $at, .L7F0C8BFC -/* 0FD82C 7F0C8CFC 028EA021 */ addu $s4, $s4, $t6 -.L7F0C8D00: -/* 0FD830 7F0C8D00 8FAF004C */ lw $t7, 0x4c($sp) -/* 0FD834 7F0C8D04 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0FD838 7F0C8D08 01F80019 */ multu $t7, $t8 -/* 0FD83C 7F0C8D0C 00001012 */ mflo $v0 -/* 0FD840 7F0C8D10 0002C840 */ sll $t9, $v0, 1 -/* 0FD844 7F0C8D14 10000123 */ b .L7F0C91A4 -/* 0FD848 7F0C8D18 03201025 */ move $v0, $t9 -.L7F0C8D1C: -/* 0FD84C 7F0C8D1C 1AE0003F */ blez $s7, .L7F0C8E1C -/* 0FD850 7F0C8D20 0000F025 */ move $fp, $zero -/* 0FD854 7F0C8D24 0012A040 */ sll $s4, $s2, 1 -.L7F0C8D28: -/* 0FD858 7F0C8D28 27CE0001 */ addiu $t6, $fp, 1 -/* 0FD85C 7F0C8D2C 01D7082A */ slt $at, $t6, $s7 -/* 0FD860 7F0C8D30 10200003 */ beqz $at, .L7F0C8D40 -/* 0FD864 7F0C8D34 00004025 */ move $t0, $zero -/* 0FD868 7F0C8D38 10000002 */ b .L7F0C8D44 -/* 0FD86C 7F0C8D3C 02409825 */ move $s3, $s2 -.L7F0C8D40: -/* 0FD870 7F0C8D40 00009825 */ move $s3, $zero -.L7F0C8D44: -/* 0FD874 7F0C8D44 1A400030 */ blez $s2, .L7F0C8E08 -/* 0FD878 7F0C8D48 27DE0002 */ addiu $fp, $fp, 2 -/* 0FD87C 7F0C8D4C 02006025 */ move $t4, $s0 -/* 0FD880 7F0C8D50 02706821 */ addu $t5, $s3, $s0 -.L7F0C8D54: -/* 0FD884 7F0C8D54 25020001 */ addiu $v0, $t0, 1 -/* 0FD888 7F0C8D58 0055082A */ slt $at, $v0, $s5 -/* 0FD88C 7F0C8D5C 10200003 */ beqz $at, .L7F0C8D6C -/* 0FD890 7F0C8D60 01003825 */ move $a3, $t0 -/* 0FD894 7F0C8D64 10000001 */ b .L7F0C8D6C -/* 0FD898 7F0C8D68 00403825 */ move $a3, $v0 -.L7F0C8D6C: -/* 0FD89C 7F0C8D6C 02077821 */ addu $t7, $s0, $a3 -/* 0FD8A0 7F0C8D70 91E90000 */ lbu $t1, ($t7) -/* 0FD8A4 7F0C8D74 0267C021 */ addu $t8, $s3, $a3 -/* 0FD8A8 7F0C8D78 918B0000 */ lbu $t3, ($t4) -/* 0FD8AC 7F0C8D7C 0310C821 */ addu $t9, $t8, $s0 -/* 0FD8B0 7F0C8D80 91AA0000 */ lbu $t2, ($t5) -/* 0FD8B4 7F0C8D84 93260000 */ lbu $a2, ($t9) -/* 0FD8B8 7F0C8D88 0009C103 */ sra $t8, $t1, 4 -/* 0FD8BC 7F0C8D8C 3319000F */ andi $t9, $t8, 0xf -/* 0FD8C0 7F0C8D90 000B7103 */ sra $t6, $t3, 4 -/* 0FD8C4 7F0C8D94 31CF000F */ andi $t7, $t6, 0xf -/* 0FD8C8 7F0C8D98 01F97021 */ addu $t6, $t7, $t9 -/* 0FD8CC 7F0C8D9C 000AC103 */ sra $t8, $t2, 4 -/* 0FD8D0 7F0C8DA0 330F000F */ andi $t7, $t8, 0xf -/* 0FD8D4 7F0C8DA4 01CFC821 */ addu $t9, $t6, $t7 -/* 0FD8D8 7F0C8DA8 0006C103 */ sra $t8, $a2, 4 -/* 0FD8DC 7F0C8DAC 330E000F */ andi $t6, $t8, 0xf -/* 0FD8E0 7F0C8DB0 032E7821 */ addu $t7, $t9, $t6 -/* 0FD8E4 7F0C8DB4 000FC080 */ sll $t8, $t7, 2 -/* 0FD8E8 7F0C8DB8 331900F0 */ andi $t9, $t8, 0xf0 -/* 0FD8EC 7F0C8DBC 312F000F */ andi $t7, $t1, 0xf -/* 0FD8F0 7F0C8DC0 316E000F */ andi $t6, $t3, 0xf -/* 0FD8F4 7F0C8DC4 01CFC021 */ addu $t8, $t6, $t7 -/* 0FD8F8 7F0C8DC8 314E000F */ andi $t6, $t2, 0xf -/* 0FD8FC 7F0C8DCC 030E7821 */ addu $t7, $t8, $t6 -/* 0FD900 7F0C8DD0 30D8000F */ andi $t8, $a2, 0xf -/* 0FD904 7F0C8DD4 01F87021 */ addu $t6, $t7, $t8 -/* 0FD908 7F0C8DD8 25CF0001 */ addiu $t7, $t6, 1 -/* 0FD90C 7F0C8DDC 000FC083 */ sra $t8, $t7, 2 -/* 0FD910 7F0C8DE0 330E000F */ andi $t6, $t8, 0xf -/* 0FD914 7F0C8DE4 0008C043 */ sra $t8, $t0, 1 -/* 0FD918 7F0C8DE8 25080002 */ addiu $t0, $t0, 2 -/* 0FD91C 7F0C8DEC 032E7825 */ or $t7, $t9, $t6 -/* 0FD920 7F0C8DF0 0112082A */ slt $at, $t0, $s2 -/* 0FD924 7F0C8DF4 0238C821 */ addu $t9, $s1, $t8 -/* 0FD928 7F0C8DF8 258C0002 */ addiu $t4, $t4, 2 -/* 0FD92C 7F0C8DFC 25AD0002 */ addiu $t5, $t5, 2 -/* 0FD930 7F0C8E00 1420FFD4 */ bnez $at, .L7F0C8D54 -/* 0FD934 7F0C8E04 A32F0000 */ sb $t7, ($t9) -.L7F0C8E08: -/* 0FD938 7F0C8E08 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FD93C 7F0C8E0C 03D7082A */ slt $at, $fp, $s7 -/* 0FD940 7F0C8E10 02148021 */ addu $s0, $s0, $s4 -/* 0FD944 7F0C8E14 1420FFC4 */ bnez $at, .L7F0C8D28 -/* 0FD948 7F0C8E18 022E8821 */ addu $s1, $s1, $t6 -.L7F0C8E1C: -/* 0FD94C 7F0C8E1C 8FB8004C */ lw $t8, 0x4c($sp) -/* 0FD950 7F0C8E20 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FD954 7F0C8E24 030F0019 */ multu $t8, $t7 -/* 0FD958 7F0C8E28 00001012 */ mflo $v0 -/* 0FD95C 7F0C8E2C 100000DE */ b .L7F0C91A8 -/* 0FD960 7F0C8E30 8FB00004 */ lw $s0, 4($sp) -.L7F0C8E34: -/* 0FD964 7F0C8E34 1AE0002C */ blez $s7, .L7F0C8EE8 -/* 0FD968 7F0C8E38 0000F025 */ move $fp, $zero -/* 0FD96C 7F0C8E3C 0012A040 */ sll $s4, $s2, 1 -.L7F0C8E40: -/* 0FD970 7F0C8E40 27D90001 */ addiu $t9, $fp, 1 -/* 0FD974 7F0C8E44 0337082A */ slt $at, $t9, $s7 -/* 0FD978 7F0C8E48 10200003 */ beqz $at, .L7F0C8E58 -/* 0FD97C 7F0C8E4C 00004025 */ move $t0, $zero -/* 0FD980 7F0C8E50 10000002 */ b .L7F0C8E5C -/* 0FD984 7F0C8E54 02409825 */ move $s3, $s2 -.L7F0C8E58: -/* 0FD988 7F0C8E58 00009825 */ move $s3, $zero -.L7F0C8E5C: -/* 0FD98C 7F0C8E5C 1A40001D */ blez $s2, .L7F0C8ED4 -/* 0FD990 7F0C8E60 27DE0002 */ addiu $fp, $fp, 2 -/* 0FD994 7F0C8E64 02006025 */ move $t4, $s0 -/* 0FD998 7F0C8E68 02706821 */ addu $t5, $s3, $s0 -.L7F0C8E6C: -/* 0FD99C 7F0C8E6C 25020001 */ addiu $v0, $t0, 1 -/* 0FD9A0 7F0C8E70 0055082A */ slt $at, $v0, $s5 -/* 0FD9A4 7F0C8E74 10200003 */ beqz $at, .L7F0C8E84 -/* 0FD9A8 7F0C8E78 01003825 */ move $a3, $t0 -/* 0FD9AC 7F0C8E7C 10000001 */ b .L7F0C8E84 -/* 0FD9B0 7F0C8E80 00403825 */ move $a3, $v0 -.L7F0C8E84: -/* 0FD9B4 7F0C8E84 02077021 */ addu $t6, $s0, $a3 -/* 0FD9B8 7F0C8E88 918B0000 */ lbu $t3, ($t4) -/* 0FD9BC 7F0C8E8C 91C90000 */ lbu $t1, ($t6) -/* 0FD9C0 7F0C8E90 0267C021 */ addu $t8, $s3, $a3 -/* 0FD9C4 7F0C8E94 91AA0000 */ lbu $t2, ($t5) -/* 0FD9C8 7F0C8E98 03107821 */ addu $t7, $t8, $s0 -/* 0FD9CC 7F0C8E9C 91E60000 */ lbu $a2, ($t7) -/* 0FD9D0 7F0C8EA0 0169C821 */ addu $t9, $t3, $t1 -/* 0FD9D4 7F0C8EA4 032A7021 */ addu $t6, $t9, $t2 -/* 0FD9D8 7F0C8EA8 01C6C021 */ addu $t8, $t6, $a2 -/* 0FD9DC 7F0C8EAC 270F0001 */ addiu $t7, $t8, 1 -/* 0FD9E0 7F0C8EB0 0008C043 */ sra $t8, $t0, 1 -/* 0FD9E4 7F0C8EB4 25080002 */ addiu $t0, $t0, 2 -/* 0FD9E8 7F0C8EB8 000F7083 */ sra $t6, $t7, 2 -/* 0FD9EC 7F0C8EBC 0112082A */ slt $at, $t0, $s2 -/* 0FD9F0 7F0C8EC0 02387821 */ addu $t7, $s1, $t8 -/* 0FD9F4 7F0C8EC4 258C0002 */ addiu $t4, $t4, 2 -/* 0FD9F8 7F0C8EC8 25AD0002 */ addiu $t5, $t5, 2 -/* 0FD9FC 7F0C8ECC 1420FFE7 */ bnez $at, .L7F0C8E6C -/* 0FDA00 7F0C8ED0 A1EE0000 */ sb $t6, ($t7) -.L7F0C8ED4: -/* 0FDA04 7F0C8ED4 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0FDA08 7F0C8ED8 03D7082A */ slt $at, $fp, $s7 -/* 0FDA0C 7F0C8EDC 02148021 */ addu $s0, $s0, $s4 -/* 0FDA10 7F0C8EE0 1420FFD7 */ bnez $at, .L7F0C8E40 -/* 0FDA14 7F0C8EE4 02398821 */ addu $s1, $s1, $t9 -.L7F0C8EE8: -/* 0FDA18 7F0C8EE8 8FB8004C */ lw $t8, 0x4c($sp) -/* 0FDA1C 7F0C8EEC 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FDA20 7F0C8EF0 030E0019 */ multu $t8, $t6 -/* 0FDA24 7F0C8EF4 00001012 */ mflo $v0 -/* 0FDA28 7F0C8EF8 100000AB */ b .L7F0C91A8 -/* 0FDA2C 7F0C8EFC 8FB00004 */ lw $s0, 4($sp) -.L7F0C8F00: -/* 0FDA30 7F0C8F00 1AE0005D */ blez $s7, .L7F0C9078 -/* 0FDA34 7F0C8F04 0000F025 */ move $fp, $zero -/* 0FDA38 7F0C8F08 8FB400A8 */ lw $s4, 0xa8($sp) -/* 0FDA3C 7F0C8F0C 00147843 */ sra $t7, $s4, 1 -/* 0FDA40 7F0C8F10 01E0A025 */ move $s4, $t7 -.L7F0C8F14: -/* 0FDA44 7F0C8F14 1A400053 */ blez $s2, .L7F0C9064 -/* 0FDA48 7F0C8F18 00004025 */ move $t0, $zero -/* 0FDA4C 7F0C8F1C 27C70001 */ addiu $a3, $fp, 1 -.L7F0C8F20: -/* 0FDA50 7F0C8F20 00086843 */ sra $t5, $t0, 1 -/* 0FDA54 7F0C8F24 01B01021 */ addu $v0, $t5, $s0 -/* 0FDA58 7F0C8F28 00F7082A */ slt $at, $a3, $s7 -/* 0FDA5C 7F0C8F2C 10200003 */ beqz $at, .L7F0C8F3C -/* 0FDA60 7F0C8F30 904B0000 */ lbu $t3, ($v0) -/* 0FDA64 7F0C8F34 10000002 */ b .L7F0C8F40 -/* 0FDA68 7F0C8F38 00129843 */ sra $s3, $s2, 1 -.L7F0C8F3C: -/* 0FDA6C 7F0C8F3C 00009825 */ move $s3, $zero -.L7F0C8F40: -/* 0FDA70 7F0C8F40 026DC821 */ addu $t9, $s3, $t5 -/* 0FDA74 7F0C8F44 0330C021 */ addu $t8, $t9, $s0 -/* 0FDA78 7F0C8F48 00F7082A */ slt $at, $a3, $s7 -/* 0FDA7C 7F0C8F4C 93090000 */ lbu $t1, ($t8) -/* 0FDA80 7F0C8F50 10200003 */ beqz $at, .L7F0C8F60 -/* 0FDA84 7F0C8F54 904A0001 */ lbu $t2, 1($v0) -/* 0FDA88 7F0C8F58 10000002 */ b .L7F0C8F64 -/* 0FDA8C 7F0C8F5C 00129843 */ sra $s3, $s2, 1 -.L7F0C8F60: -/* 0FDA90 7F0C8F60 00009825 */ move $s3, $zero -.L7F0C8F64: -/* 0FDA94 7F0C8F64 026D7021 */ addu $t6, $s3, $t5 -/* 0FDA98 7F0C8F68 01D07821 */ addu $t7, $t6, $s0 -/* 0FDA9C 7F0C8F6C 91E60001 */ lbu $a2, 1($t7) -/* 0FDAA0 7F0C8F70 000B7043 */ sra $t6, $t3, 1 -/* 0FDAA4 7F0C8F74 31CF0007 */ andi $t7, $t6, 7 -/* 0FDAA8 7F0C8F78 000BC943 */ sra $t9, $t3, 5 -/* 0FDAAC 7F0C8F7C 33380007 */ andi $t8, $t9, 7 -/* 0FDAB0 7F0C8F80 030FC821 */ addu $t9, $t8, $t7 -/* 0FDAB4 7F0C8F84 00097143 */ sra $t6, $t1, 5 -/* 0FDAB8 7F0C8F88 31D80007 */ andi $t8, $t6, 7 -/* 0FDABC 7F0C8F8C 03387821 */ addu $t7, $t9, $t8 -/* 0FDAC0 7F0C8F90 00097043 */ sra $t6, $t1, 1 -/* 0FDAC4 7F0C8F94 31D90007 */ andi $t9, $t6, 7 -/* 0FDAC8 7F0C8F98 01F9C021 */ addu $t8, $t7, $t9 -/* 0FDACC 7F0C8F9C 001870C0 */ sll $t6, $t8, 3 -/* 0FDAD0 7F0C8FA0 31CF00E0 */ andi $t7, $t6, 0xe0 -/* 0FDAD4 7F0C8FA4 000AC943 */ sra $t9, $t2, 5 -/* 0FDAD8 7F0C8FA8 33380007 */ andi $t8, $t9, 7 -/* 0FDADC 7F0C8FAC 000A7043 */ sra $t6, $t2, 1 -/* 0FDAE0 7F0C8FB0 31D90007 */ andi $t9, $t6, 7 -/* 0FDAE4 7F0C8FB4 03197021 */ addu $t6, $t8, $t9 -/* 0FDAE8 7F0C8FB8 0006C143 */ sra $t8, $a2, 5 -/* 0FDAEC 7F0C8FBC 33190007 */ andi $t9, $t8, 7 -/* 0FDAF0 7F0C8FC0 01D9C021 */ addu $t8, $t6, $t9 -/* 0FDAF4 7F0C8FC4 00067043 */ sra $t6, $a2, 1 -/* 0FDAF8 7F0C8FC8 31D90007 */ andi $t9, $t6, 7 -/* 0FDAFC 7F0C8FCC 03197021 */ addu $t6, $t8, $t9 -/* 0FDB00 7F0C8FD0 000EC043 */ sra $t8, $t6, 1 -/* 0FDB04 7F0C8FD4 3319000E */ andi $t9, $t8, 0xe -/* 0FDB08 7F0C8FD8 01F97025 */ or $t6, $t7, $t9 -/* 0FDB0C 7F0C8FDC 000BC103 */ sra $t8, $t3, 4 -/* 0FDB10 7F0C8FE0 330F0001 */ andi $t7, $t8, 1 -/* 0FDB14 7F0C8FE4 31790001 */ andi $t9, $t3, 1 -/* 0FDB18 7F0C8FE8 01F9C021 */ addu $t8, $t7, $t9 -/* 0FDB1C 7F0C8FEC 00097903 */ sra $t7, $t1, 4 -/* 0FDB20 7F0C8FF0 31F90001 */ andi $t9, $t7, 1 -/* 0FDB24 7F0C8FF4 03197821 */ addu $t7, $t8, $t9 -/* 0FDB28 7F0C8FF8 31380001 */ andi $t8, $t1, 1 -/* 0FDB2C 7F0C8FFC 01F8C821 */ addu $t9, $t7, $t8 -/* 0FDB30 7F0C9000 272F0001 */ addiu $t7, $t9, 1 -/* 0FDB34 7F0C9004 000FC080 */ sll $t8, $t7, 2 -/* 0FDB38 7F0C9008 33190010 */ andi $t9, $t8, 0x10 -/* 0FDB3C 7F0C900C 000A7903 */ sra $t7, $t2, 4 -/* 0FDB40 7F0C9010 31F80001 */ andi $t8, $t7, 1 -/* 0FDB44 7F0C9014 314F0001 */ andi $t7, $t2, 1 -/* 0FDB48 7F0C9018 030FC021 */ addu $t8, $t8, $t7 -/* 0FDB4C 7F0C901C AFAE0028 */ sw $t6, 0x28($sp) -/* 0FDB50 7F0C9020 00067903 */ sra $t7, $a2, 4 -/* 0FDB54 7F0C9024 31EE0001 */ andi $t6, $t7, 1 -/* 0FDB58 7F0C9028 030E7021 */ addu $t6, $t8, $t6 -/* 0FDB5C 7F0C902C 30D80001 */ andi $t8, $a2, 1 -/* 0FDB60 7F0C9030 01D87821 */ addu $t7, $t6, $t8 -/* 0FDB64 7F0C9034 25EE0001 */ addiu $t6, $t7, 1 -/* 0FDB68 7F0C9038 000EC083 */ sra $t8, $t6, 2 -/* 0FDB6C 7F0C903C 330F0001 */ andi $t7, $t8, 1 -/* 0FDB70 7F0C9040 8FB80028 */ lw $t8, 0x28($sp) -/* 0FDB74 7F0C9044 032F7025 */ or $t6, $t9, $t7 -/* 0FDB78 7F0C9048 00087883 */ sra $t7, $t0, 2 -/* 0FDB7C 7F0C904C 25080004 */ addiu $t0, $t0, 4 -/* 0FDB80 7F0C9050 030EC825 */ or $t9, $t8, $t6 -/* 0FDB84 7F0C9054 0112082A */ slt $at, $t0, $s2 -/* 0FDB88 7F0C9058 022FC021 */ addu $t8, $s1, $t7 -/* 0FDB8C 7F0C905C 1420FFB0 */ bnez $at, .L7F0C8F20 -/* 0FDB90 7F0C9060 A3190000 */ sb $t9, ($t8) -.L7F0C9064: -/* 0FDB94 7F0C9064 27DE0002 */ addiu $fp, $fp, 2 -/* 0FDB98 7F0C9068 03D7082A */ slt $at, $fp, $s7 -/* 0FDB9C 7F0C906C 02348821 */ addu $s1, $s1, $s4 -/* 0FDBA0 7F0C9070 1420FFA8 */ bnez $at, .L7F0C8F14 -/* 0FDBA4 7F0C9074 02128021 */ addu $s0, $s0, $s2 -.L7F0C9078: -/* 0FDBA8 7F0C9078 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FDBAC 7F0C907C 000E7843 */ sra $t7, $t6, 1 -/* 0FDBB0 7F0C9080 01EC0019 */ multu $t7, $t4 -/* 0FDBB4 7F0C9084 00001012 */ mflo $v0 -/* 0FDBB8 7F0C9088 10000047 */ b .L7F0C91A8 -/* 0FDBBC 7F0C908C 8FB00004 */ lw $s0, 4($sp) -.L7F0C9090: -/* 0FDBC0 7F0C9090 1AE0003D */ blez $s7, .L7F0C9188 -/* 0FDBC4 7F0C9094 0000F025 */ move $fp, $zero -/* 0FDBC8 7F0C9098 8FB400A8 */ lw $s4, 0xa8($sp) -/* 0FDBCC 7F0C909C 0014C843 */ sra $t9, $s4, 1 -/* 0FDBD0 7F0C90A0 0320A025 */ move $s4, $t9 -.L7F0C90A4: -/* 0FDBD4 7F0C90A4 1A400033 */ blez $s2, .L7F0C9174 -/* 0FDBD8 7F0C90A8 00004025 */ move $t0, $zero -/* 0FDBDC 7F0C90AC 27C70001 */ addiu $a3, $fp, 1 -.L7F0C90B0: -/* 0FDBE0 7F0C90B0 00086843 */ sra $t5, $t0, 1 -/* 0FDBE4 7F0C90B4 01B01021 */ addu $v0, $t5, $s0 -/* 0FDBE8 7F0C90B8 00F7082A */ slt $at, $a3, $s7 -/* 0FDBEC 7F0C90BC 10200003 */ beqz $at, .L7F0C90CC -/* 0FDBF0 7F0C90C0 904B0000 */ lbu $t3, ($v0) -/* 0FDBF4 7F0C90C4 10000002 */ b .L7F0C90D0 -/* 0FDBF8 7F0C90C8 00129843 */ sra $s3, $s2, 1 -.L7F0C90CC: -/* 0FDBFC 7F0C90CC 00009825 */ move $s3, $zero -.L7F0C90D0: -/* 0FDC00 7F0C90D0 026DC021 */ addu $t8, $s3, $t5 -/* 0FDC04 7F0C90D4 03107021 */ addu $t6, $t8, $s0 -/* 0FDC08 7F0C90D8 00F7082A */ slt $at, $a3, $s7 -/* 0FDC0C 7F0C90DC 91C90000 */ lbu $t1, ($t6) -/* 0FDC10 7F0C90E0 10200003 */ beqz $at, .L7F0C90F0 -/* 0FDC14 7F0C90E4 904A0001 */ lbu $t2, 1($v0) -/* 0FDC18 7F0C90E8 10000002 */ b .L7F0C90F4 -/* 0FDC1C 7F0C90EC 00129843 */ sra $s3, $s2, 1 -.L7F0C90F0: -/* 0FDC20 7F0C90F0 00009825 */ move $s3, $zero -.L7F0C90F4: -/* 0FDC24 7F0C90F4 026D7821 */ addu $t7, $s3, $t5 -/* 0FDC28 7F0C90F8 01F0C821 */ addu $t9, $t7, $s0 -/* 0FDC2C 7F0C90FC 000BC103 */ sra $t8, $t3, 4 -/* 0FDC30 7F0C9100 330E000F */ andi $t6, $t8, 0xf -/* 0FDC34 7F0C9104 93260001 */ lbu $a2, 1($t9) -/* 0FDC38 7F0C9108 316F000F */ andi $t7, $t3, 0xf -/* 0FDC3C 7F0C910C 01CFC821 */ addu $t9, $t6, $t7 -/* 0FDC40 7F0C9110 0009C103 */ sra $t8, $t1, 4 -/* 0FDC44 7F0C9114 330E000F */ andi $t6, $t8, 0xf -/* 0FDC48 7F0C9118 032E7821 */ addu $t7, $t9, $t6 -/* 0FDC4C 7F0C911C 3138000F */ andi $t8, $t1, 0xf -/* 0FDC50 7F0C9120 01F8C821 */ addu $t9, $t7, $t8 -/* 0FDC54 7F0C9124 00197080 */ sll $t6, $t9, 2 -/* 0FDC58 7F0C9128 31CF00F0 */ andi $t7, $t6, 0xf0 -/* 0FDC5C 7F0C912C 000AC103 */ sra $t8, $t2, 4 -/* 0FDC60 7F0C9130 3319000F */ andi $t9, $t8, 0xf -/* 0FDC64 7F0C9134 314E000F */ andi $t6, $t2, 0xf -/* 0FDC68 7F0C9138 032EC021 */ addu $t8, $t9, $t6 -/* 0FDC6C 7F0C913C 0006C903 */ sra $t9, $a2, 4 -/* 0FDC70 7F0C9140 332E000F */ andi $t6, $t9, 0xf -/* 0FDC74 7F0C9144 030EC821 */ addu $t9, $t8, $t6 -/* 0FDC78 7F0C9148 30D8000F */ andi $t8, $a2, 0xf -/* 0FDC7C 7F0C914C 03387021 */ addu $t6, $t9, $t8 -/* 0FDC80 7F0C9150 000EC883 */ sra $t9, $t6, 2 -/* 0FDC84 7F0C9154 3338000F */ andi $t8, $t9, 0xf -/* 0FDC88 7F0C9158 0008C883 */ sra $t9, $t0, 2 -/* 0FDC8C 7F0C915C 25080004 */ addiu $t0, $t0, 4 -/* 0FDC90 7F0C9160 01F87025 */ or $t6, $t7, $t8 -/* 0FDC94 7F0C9164 0112082A */ slt $at, $t0, $s2 -/* 0FDC98 7F0C9168 02397821 */ addu $t7, $s1, $t9 -/* 0FDC9C 7F0C916C 1420FFD0 */ bnez $at, .L7F0C90B0 -/* 0FDCA0 7F0C9170 A1EE0000 */ sb $t6, ($t7) -.L7F0C9174: -/* 0FDCA4 7F0C9174 27DE0002 */ addiu $fp, $fp, 2 -/* 0FDCA8 7F0C9178 03D7082A */ slt $at, $fp, $s7 -/* 0FDCAC 7F0C917C 02348821 */ addu $s1, $s1, $s4 -/* 0FDCB0 7F0C9180 1420FFC8 */ bnez $at, .L7F0C90A4 -/* 0FDCB4 7F0C9184 02128021 */ addu $s0, $s0, $s2 -.L7F0C9188: -/* 0FDCB8 7F0C9188 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0FDCBC 7F0C918C 0018C843 */ sra $t9, $t8, 1 -/* 0FDCC0 7F0C9190 032C0019 */ multu $t9, $t4 -/* 0FDCC4 7F0C9194 00001012 */ mflo $v0 -/* 0FDCC8 7F0C9198 10000003 */ b .L7F0C91A8 -/* 0FDCCC 7F0C919C 8FB00004 */ lw $s0, 4($sp) -def_7F0C8874: -.L7F0C91A0: -/* 0FDCD0 7F0C91A0 00001025 */ move $v0, $zero -.L7F0C91A4: -/* 0FDCD4 7F0C91A4 8FB00004 */ lw $s0, 4($sp) -.L7F0C91A8: -/* 0FDCD8 7F0C91A8 8FB10008 */ lw $s1, 8($sp) -/* 0FDCDC 7F0C91AC 8FB2000C */ lw $s2, 0xc($sp) -/* 0FDCE0 7F0C91B0 8FB30010 */ lw $s3, 0x10($sp) -/* 0FDCE4 7F0C91B4 8FB40014 */ lw $s4, 0x14($sp) -/* 0FDCE8 7F0C91B8 8FB50018 */ lw $s5, 0x18($sp) -/* 0FDCEC 7F0C91BC 8FB6001C */ lw $s6, 0x1c($sp) -/* 0FDCF0 7F0C91C0 8FB70020 */ lw $s7, 0x20($sp) -/* 0FDCF4 7F0C91C4 8FBE0024 */ lw $fp, 0x24($sp) -/* 0FDCF8 7F0C91C8 03E00008 */ jr $ra -/* 0FDCFC 7F0C91CC 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void generate_sample_table(void) { - -} -#else -GLOBAL_ASM( -.text -glabel generate_sample_table -/* 0FDD00 7F0C91D0 27BDCF88 */ addiu $sp, $sp, -0x3078 -/* 0FDD04 7F0C91D4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0FDD08 7F0C91D8 AFB40028 */ sw $s4, 0x28($sp) -/* 0FDD0C 7F0C91DC AFB1001C */ sw $s1, 0x1c($sp) -/* 0FDD10 7F0C91E0 00C0A025 */ move $s4, $a2 -/* 0FDD14 7F0C91E4 AFB30024 */ sw $s3, 0x24($sp) -/* 0FDD18 7F0C91E8 AFB20020 */ sw $s2, 0x20($sp) -/* 0FDD1C 7F0C91EC AFB00018 */ sw $s0, 0x18($sp) -/* 0FDD20 7F0C91F0 AFA43078 */ sw $a0, 0x3078($sp) -/* 0FDD24 7F0C91F4 AFA5307C */ sw $a1, 0x307c($sp) -/* 0FDD28 7F0C91F8 0000F825 */ move $ra, $zero -/* 0FDD2C 7F0C91FC 18C0000A */ blez $a2, .L7F0C9228 -/* 0FDD30 7F0C9200 00008825 */ move $s1, $zero -/* 0FDD34 7F0C9204 27B02078 */ addiu $s0, $sp, 0x2078 -.L7F0C9208: -/* 0FDD38 7F0C9208 AFBF005C */ sw $ra, 0x5c($sp) -/* 0FDD3C 7F0C920C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FDD40 7F0C9210 24040008 */ li $a0, 8 -/* 0FDD44 7F0C9214 26310001 */ addiu $s1, $s1, 1 -/* 0FDD48 7F0C9218 8FBF005C */ lw $ra, 0x5c($sp) -/* 0FDD4C 7F0C921C 26100002 */ addiu $s0, $s0, 2 -/* 0FDD50 7F0C9220 1634FFF9 */ bne $s1, $s4, .L7F0C9208 -/* 0FDD54 7F0C9224 A602FFFE */ sh $v0, -2($s0) -.L7F0C9228: -/* 0FDD58 7F0C9228 27A20078 */ addiu $v0, $sp, 0x78 -/* 0FDD5C 7F0C922C 27A42078 */ addiu $a0, $sp, 0x2078 -/* 0FDD60 7F0C9230 2403FFFF */ li $v1, -1 -.L7F0C9234: -/* 0FDD64 7F0C9234 24420004 */ addiu $v0, $v0, 4 -/* 0FDD68 7F0C9238 0044082B */ sltu $at, $v0, $a0 -/* 0FDD6C 7F0C923C A443FFFC */ sh $v1, -4($v0) -/* 0FDD70 7F0C9240 1420FFFC */ bnez $at, .L7F0C9234 -/* 0FDD74 7F0C9244 A443FFFE */ sh $v1, -2($v0) -/* 0FDD78 7F0C9248 2408270F */ li $t0, 9999 -/* 0FDD7C 7F0C924C 2406270F */ li $a2, 9999 -/* 0FDD80 7F0C9250 1A800049 */ blez $s4, .L7F0C9378 -/* 0FDD84 7F0C9254 00008825 */ move $s1, $zero -/* 0FDD88 7F0C9258 32820001 */ andi $v0, $s4, 1 -/* 0FDD8C 7F0C925C 10400013 */ beqz $v0, .L7F0C92AC -/* 0FDD90 7F0C9260 27AF2078 */ addiu $t7, $sp, 0x2078 -/* 0FDD94 7F0C9264 97A22078 */ lhu $v0, 0x2078($sp) -/* 0FDD98 7F0C9268 2841270F */ slti $at, $v0, 0x270f -/* 0FDD9C 7F0C926C 50200005 */ beql $at, $zero, .L7F0C9284 -/* 0FDDA0 7F0C9270 2841270F */ slti $at, $v0, 0x270f -/* 0FDDA4 7F0C9274 3046FFFF */ andi $a2, $v0, 0xffff -/* 0FDDA8 7F0C9278 10000006 */ b .L7F0C9294 -/* 0FDDAC 7F0C927C AFA00060 */ sw $zero, 0x60($sp) -/* 0FDDB0 7F0C9280 2841270F */ slti $at, $v0, 0x270f -.L7F0C9284: -/* 0FDDB4 7F0C9284 50200004 */ beql $at, $zero, .L7F0C9298 -/* 0FDDB8 7F0C9288 8FA70060 */ lw $a3, 0x60($sp) -/* 0FDDBC 7F0C928C 97A62078 */ lhu $a2, 0x2078($sp) -/* 0FDDC0 7F0C9290 AFA00060 */ sw $zero, 0x60($sp) -.L7F0C9294: -/* 0FDDC4 7F0C9294 8FA70060 */ lw $a3, 0x60($sp) -.L7F0C9298: -/* 0FDDC8 7F0C9298 8FA90064 */ lw $t1, 0x64($sp) -/* 0FDDCC 7F0C929C 24110001 */ li $s1, 1 -/* 0FDDD0 7F0C92A0 AFA70060 */ sw $a3, 0x60($sp) -/* 0FDDD4 7F0C92A4 12340031 */ beq $s1, $s4, .L7F0C936C -/* 0FDDD8 7F0C92A8 AFA90064 */ sw $t1, 0x64($sp) -.L7F0C92AC: -/* 0FDDDC 7F0C92AC 00117040 */ sll $t6, $s1, 1 -/* 0FDDE0 7F0C92B0 01CF8021 */ addu $s0, $t6, $t7 -/* 0FDDE4 7F0C92B4 8FA70060 */ lw $a3, 0x60($sp) -/* 0FDDE8 7F0C92B8 8FA90064 */ lw $t1, 0x64($sp) -.L7F0C92BC: -/* 0FDDEC 7F0C92BC 96030000 */ lhu $v1, ($s0) -/* 0FDDF0 7F0C92C0 01002825 */ move $a1, $t0 -/* 0FDDF4 7F0C92C4 00C02025 */ move $a0, $a2 -/* 0FDDF8 7F0C92C8 0068082A */ slt $at, $v1, $t0 -/* 0FDDFC 7F0C92CC 1020000C */ beqz $at, .L7F0C9300 -/* 0FDE00 7F0C92D0 00601025 */ move $v0, $v1 -/* 0FDE04 7F0C92D4 0085082A */ slt $at, $a0, $a1 -/* 0FDE08 7F0C92D8 50200006 */ beql $at, $zero, .L7F0C92F4 -/* 0FDE0C 7F0C92DC 3066FFFF */ andi $a2, $v1, 0xffff -/* 0FDE10 7F0C92E0 3068FFFF */ andi $t0, $v1, 0xffff -/* 0FDE14 7F0C92E4 01002825 */ move $a1, $t0 -/* 0FDE18 7F0C92E8 1000000B */ b .L7F0C9318 -/* 0FDE1C 7F0C92EC 02204825 */ move $t1, $s1 -/* 0FDE20 7F0C92F0 3066FFFF */ andi $a2, $v1, 0xffff -.L7F0C92F4: -/* 0FDE24 7F0C92F4 00C02025 */ move $a0, $a2 -/* 0FDE28 7F0C92F8 10000007 */ b .L7F0C9318 -/* 0FDE2C 7F0C92FC 02203825 */ move $a3, $s1 -.L7F0C9300: -/* 0FDE30 7F0C9300 0044082A */ slt $at, $v0, $a0 -/* 0FDE34 7F0C9304 50200005 */ beql $at, $zero, .L7F0C931C -/* 0FDE38 7F0C9308 96030002 */ lhu $v1, 2($s0) -/* 0FDE3C 7F0C930C 3066FFFF */ andi $a2, $v1, 0xffff -/* 0FDE40 7F0C9310 00C02025 */ move $a0, $a2 -/* 0FDE44 7F0C9314 02203825 */ move $a3, $s1 -.L7F0C9318: -/* 0FDE48 7F0C9318 96030002 */ lhu $v1, 2($s0) -.L7F0C931C: -/* 0FDE4C 7F0C931C 0065082A */ slt $at, $v1, $a1 -/* 0FDE50 7F0C9320 1020000A */ beqz $at, .L7F0C934C -/* 0FDE54 7F0C9324 00601025 */ move $v0, $v1 -/* 0FDE58 7F0C9328 0085082A */ slt $at, $a0, $a1 -/* 0FDE5C 7F0C932C 50200005 */ beql $at, $zero, .L7F0C9344 -/* 0FDE60 7F0C9330 3066FFFF */ andi $a2, $v1, 0xffff -/* 0FDE64 7F0C9334 3068FFFF */ andi $t0, $v1, 0xffff -/* 0FDE68 7F0C9338 10000009 */ b .L7F0C9360 -/* 0FDE6C 7F0C933C 26290001 */ addiu $t1, $s1, 1 -/* 0FDE70 7F0C9340 3066FFFF */ andi $a2, $v1, 0xffff -.L7F0C9344: -/* 0FDE74 7F0C9344 10000006 */ b .L7F0C9360 -/* 0FDE78 7F0C9348 26270001 */ addiu $a3, $s1, 1 -.L7F0C934C: -/* 0FDE7C 7F0C934C 0044082A */ slt $at, $v0, $a0 -/* 0FDE80 7F0C9350 50200004 */ beql $at, $zero, .L7F0C9364 -/* 0FDE84 7F0C9354 26310002 */ addiu $s1, $s1, 2 -/* 0FDE88 7F0C9358 3066FFFF */ andi $a2, $v1, 0xffff -/* 0FDE8C 7F0C935C 26270001 */ addiu $a3, $s1, 1 -.L7F0C9360: -/* 0FDE90 7F0C9360 26310002 */ addiu $s1, $s1, 2 -.L7F0C9364: -/* 0FDE94 7F0C9364 1634FFD5 */ bne $s1, $s4, .L7F0C92BC -/* 0FDE98 7F0C9368 26100004 */ addiu $s0, $s0, 4 -.L7F0C936C: -/* 0FDE9C 7F0C936C 00008825 */ move $s1, $zero -/* 0FDEA0 7F0C9370 AFA70060 */ sw $a3, 0x60($sp) -/* 0FDEA4 7F0C9374 AFA90064 */ sw $t1, 0x64($sp) -.L7F0C9378: -/* 0FDEA8 7F0C9378 8FA70060 */ lw $a3, 0x60($sp) -/* 0FDEAC 7F0C937C 8FA90064 */ lw $t1, 0x64($sp) -/* 0FDEB0 7F0C9380 27B30078 */ addiu $s3, $sp, 0x78 -/* 0FDEB4 7F0C9384 240D270F */ li $t5, 9999 -/* 0FDEB8 7F0C9388 240C270F */ li $t4, 9999 -/* 0FDEBC 7F0C938C 27AB2078 */ addiu $t3, $sp, 0x2078 -/* 0FDEC0 7F0C9390 0007C040 */ sll $t8, $a3, 1 -.L7F0C9394: -/* 0FDEC4 7F0C9394 0009C840 */ sll $t9, $t1, 1 -/* 0FDEC8 7F0C9398 01791021 */ addu $v0, $t3, $t9 -/* 0FDECC 7F0C939C 01782821 */ addu $a1, $t3, $t8 -/* 0FDED0 7F0C93A0 94AE0000 */ lhu $t6, ($a1) -/* 0FDED4 7F0C93A4 944F0000 */ lhu $t7, ($v0) -/* 0FDED8 7F0C93A8 0009C080 */ sll $t8, $t1, 2 -/* 0FDEDC 7F0C93AC 0007C880 */ sll $t9, $a3, 2 -/* 0FDEE0 7F0C93B0 01CF5021 */ addu $t2, $t6, $t7 -/* 0FDEE4 7F0C93B4 02792021 */ addu $a0, $s3, $t9 -/* 0FDEE8 7F0C93B8 02781821 */ addu $v1, $s3, $t8 -/* 0FDEEC 7F0C93BC 2408270F */ li $t0, 9999 -/* 0FDEF0 7F0C93C0 15400002 */ bnez $t2, .L7F0C93CC -/* 0FDEF4 7F0C93C4 2406270F */ li $a2, 9999 -/* 0FDEF8 7F0C93C8 240A0001 */ li $t2, 1 -.L7F0C93CC: -/* 0FDEFC 7F0C93CC 846E0000 */ lh $t6, ($v1) -/* 0FDF00 7F0C93D0 A44C0000 */ sh $t4, ($v0) -/* 0FDF04 7F0C93D4 A4AC0000 */ sh $t4, ($a1) -/* 0FDF08 7F0C93D8 05C30014 */ bgezl $t6, .L7F0C942C -/* 0FDF0C 7F0C93DC 84980000 */ lh $t8, ($a0) -/* 0FDF10 7F0C93E0 846F0002 */ lh $t7, 2($v1) -/* 0FDF14 7F0C93E4 25382710 */ addiu $t8, $t1, 0x2710 -/* 0FDF18 7F0C93E8 05E30010 */ bgezl $t7, .L7F0C942C -/* 0FDF1C 7F0C93EC 84980000 */ lh $t8, ($a0) -/* 0FDF20 7F0C93F0 A4780000 */ sh $t8, ($v1) -/* 0FDF24 7F0C93F4 84990000 */ lh $t9, ($a0) -/* 0FDF28 7F0C93F8 01209025 */ move $s2, $t1 -/* 0FDF2C 7F0C93FC A44A0000 */ sh $t2, ($v0) -/* 0FDF30 7F0C9400 07210007 */ bgez $t9, .L7F0C9420 -/* 0FDF34 7F0C9404 00000000 */ nop -/* 0FDF38 7F0C9408 848E0002 */ lh $t6, 2($a0) -/* 0FDF3C 7F0C940C 24EF2710 */ addiu $t7, $a3, 0x2710 -/* 0FDF40 7F0C9410 05C10003 */ bgez $t6, .L7F0C9420 -/* 0FDF44 7F0C9414 00000000 */ nop -/* 0FDF48 7F0C9418 10000037 */ b .L7F0C94F8 -/* 0FDF4C 7F0C941C A46F0002 */ sh $t7, 2($v1) -.L7F0C9420: -/* 0FDF50 7F0C9420 10000035 */ b .L7F0C94F8 -/* 0FDF54 7F0C9424 A4670002 */ sh $a3, 2($v1) -/* 0FDF58 7F0C9428 84980000 */ lh $t8, ($a0) -.L7F0C942C: -/* 0FDF5C 7F0C942C 87AE0078 */ lh $t6, 0x78($sp) -/* 0FDF60 7F0C9430 07010013 */ bgez $t8, .L7F0C9480 -/* 0FDF64 7F0C9434 00000000 */ nop -/* 0FDF68 7F0C9438 84990002 */ lh $t9, 2($a0) -/* 0FDF6C 7F0C943C 07210010 */ bgez $t9, .L7F0C9480 -/* 0FDF70 7F0C9440 00000000 */ nop -/* 0FDF74 7F0C9444 24EE2710 */ addiu $t6, $a3, 0x2710 -/* 0FDF78 7F0C9448 A48E0000 */ sh $t6, ($a0) -/* 0FDF7C 7F0C944C 846F0000 */ lh $t7, ($v1) -/* 0FDF80 7F0C9450 00E09025 */ move $s2, $a3 -/* 0FDF84 7F0C9454 A4AA0000 */ sh $t2, ($a1) -/* 0FDF88 7F0C9458 05E10007 */ bgez $t7, .L7F0C9478 -/* 0FDF8C 7F0C945C 00000000 */ nop -/* 0FDF90 7F0C9460 84780002 */ lh $t8, 2($v1) -/* 0FDF94 7F0C9464 25392710 */ addiu $t9, $t1, 0x2710 -/* 0FDF98 7F0C9468 07010003 */ bgez $t8, .L7F0C9478 -/* 0FDF9C 7F0C946C 00000000 */ nop -/* 0FDFA0 7F0C9470 10000021 */ b .L7F0C94F8 -/* 0FDFA4 7F0C9474 A4990002 */ sh $t9, 2($a0) -.L7F0C9478: -/* 0FDFA8 7F0C9478 1000001F */ b .L7F0C94F8 -/* 0FDFAC 7F0C947C A4890002 */ sh $t1, 2($a0) -.L7F0C9480: -/* 0FDFB0 7F0C9480 05C10009 */ bgez $t6, .L7F0C94A8 -/* 0FDFB4 7F0C9484 00009025 */ move $s2, $zero -/* 0FDFB8 7F0C9488 00007880 */ sll $t7, $zero, 2 -/* 0FDFBC 7F0C948C 026F1021 */ addu $v0, $s3, $t7 -/* 0FDFC0 7F0C9490 84580002 */ lh $t8, 2($v0) -/* 0FDFC4 7F0C9494 97B92078 */ lhu $t9, 0x2078($sp) -/* 0FDFC8 7F0C9498 07010003 */ bgez $t8, .L7F0C94A8 -/* 0FDFCC 7F0C949C 2B21270F */ slti $at, $t9, 0x270f -/* 0FDFD0 7F0C94A0 50200011 */ beql $at, $zero, .L7F0C94E8 -/* 0FDFD4 7F0C94A4 0012C040 */ sll $t8, $s2, 1 -.L7F0C94A8: -/* 0FDFD8 7F0C94A8 26520001 */ addiu $s2, $s2, 1 -.L7F0C94AC: -/* 0FDFDC 7F0C94AC 00127080 */ sll $t6, $s2, 2 -/* 0FDFE0 7F0C94B0 026E1021 */ addu $v0, $s3, $t6 -/* 0FDFE4 7F0C94B4 844F0000 */ lh $t7, ($v0) -/* 0FDFE8 7F0C94B8 05E3FFFC */ bgezl $t7, .L7F0C94AC -/* 0FDFEC 7F0C94BC 26520001 */ addiu $s2, $s2, 1 -/* 0FDFF0 7F0C94C0 84580002 */ lh $t8, 2($v0) -/* 0FDFF4 7F0C94C4 0703FFF9 */ bgezl $t8, .L7F0C94AC -/* 0FDFF8 7F0C94C8 26520001 */ addiu $s2, $s2, 1 -/* 0FDFFC 7F0C94CC 0012C840 */ sll $t9, $s2, 1 -/* 0FE000 7F0C94D0 01797021 */ addu $t6, $t3, $t9 -/* 0FE004 7F0C94D4 95CF0000 */ lhu $t7, ($t6) -/* 0FE008 7F0C94D8 29E1270F */ slti $at, $t7, 0x270f -/* 0FE00C 7F0C94DC 5420FFF3 */ bnezl $at, .L7F0C94AC -/* 0FE010 7F0C94E0 26520001 */ addiu $s2, $s2, 1 -/* 0FE014 7F0C94E4 0012C040 */ sll $t8, $s2, 1 -.L7F0C94E8: -/* 0FE018 7F0C94E8 0178C821 */ addu $t9, $t3, $t8 -/* 0FE01C 7F0C94EC A72A0000 */ sh $t2, ($t9) -/* 0FE020 7F0C94F0 A4490000 */ sh $t1, ($v0) -/* 0FE024 7F0C94F4 A4470002 */ sh $a3, 2($v0) -.L7F0C94F8: -/* 0FE028 7F0C94F8 1A800040 */ blez $s4, .L7F0C95FC -/* 0FE02C 7F0C94FC 32820001 */ andi $v0, $s4, 1 -/* 0FE030 7F0C9500 50400010 */ beql $v0, $zero, .L7F0C9544 -/* 0FE034 7F0C9504 00117040 */ sll $t6, $s1, 1 -/* 0FE038 7F0C9508 97A22078 */ lhu $v0, 0x2078($sp) -/* 0FE03C 7F0C950C 24110001 */ li $s1, 1 -/* 0FE040 7F0C9510 2841270F */ slti $at, $v0, 0x270f -/* 0FE044 7F0C9514 50200005 */ beql $at, $zero, .L7F0C952C -/* 0FE048 7F0C9518 2841270F */ slti $at, $v0, 0x270f -/* 0FE04C 7F0C951C 3046FFFF */ andi $a2, $v0, 0xffff -/* 0FE050 7F0C9520 10000006 */ b .L7F0C953C -/* 0FE054 7F0C9524 00003825 */ move $a3, $zero -/* 0FE058 7F0C9528 2841270F */ slti $at, $v0, 0x270f -.L7F0C952C: -/* 0FE05C 7F0C952C 10200003 */ beqz $at, .L7F0C953C -/* 0FE060 7F0C9530 00000000 */ nop -/* 0FE064 7F0C9534 97A62078 */ lhu $a2, 0x2078($sp) -/* 0FE068 7F0C9538 00003825 */ move $a3, $zero -.L7F0C953C: -/* 0FE06C 7F0C953C 1234002E */ beq $s1, $s4, .L7F0C95F8 -/* 0FE070 7F0C9540 00117040 */ sll $t6, $s1, 1 -.L7F0C9544: -/* 0FE074 7F0C9544 016E8021 */ addu $s0, $t3, $t6 -.L7F0C9548: -/* 0FE078 7F0C9548 96030000 */ lhu $v1, ($s0) -/* 0FE07C 7F0C954C 01002825 */ move $a1, $t0 -/* 0FE080 7F0C9550 00C02025 */ move $a0, $a2 -/* 0FE084 7F0C9554 0068082A */ slt $at, $v1, $t0 -/* 0FE088 7F0C9558 1020000C */ beqz $at, .L7F0C958C -/* 0FE08C 7F0C955C 00601025 */ move $v0, $v1 -/* 0FE090 7F0C9560 0085082A */ slt $at, $a0, $a1 -/* 0FE094 7F0C9564 50200006 */ beql $at, $zero, .L7F0C9580 -/* 0FE098 7F0C9568 3066FFFF */ andi $a2, $v1, 0xffff -/* 0FE09C 7F0C956C 3068FFFF */ andi $t0, $v1, 0xffff -/* 0FE0A0 7F0C9570 01002825 */ move $a1, $t0 -/* 0FE0A4 7F0C9574 1000000B */ b .L7F0C95A4 -/* 0FE0A8 7F0C9578 02204825 */ move $t1, $s1 -/* 0FE0AC 7F0C957C 3066FFFF */ andi $a2, $v1, 0xffff -.L7F0C9580: -/* 0FE0B0 7F0C9580 00C02025 */ move $a0, $a2 -/* 0FE0B4 7F0C9584 10000007 */ b .L7F0C95A4 -/* 0FE0B8 7F0C9588 02203825 */ move $a3, $s1 -.L7F0C958C: -/* 0FE0BC 7F0C958C 0044082A */ slt $at, $v0, $a0 -/* 0FE0C0 7F0C9590 50200005 */ beql $at, $zero, .L7F0C95A8 -/* 0FE0C4 7F0C9594 96030002 */ lhu $v1, 2($s0) -/* 0FE0C8 7F0C9598 3066FFFF */ andi $a2, $v1, 0xffff -/* 0FE0CC 7F0C959C 00C02025 */ move $a0, $a2 -/* 0FE0D0 7F0C95A0 02203825 */ move $a3, $s1 -.L7F0C95A4: -/* 0FE0D4 7F0C95A4 96030002 */ lhu $v1, 2($s0) -.L7F0C95A8: -/* 0FE0D8 7F0C95A8 0065082A */ slt $at, $v1, $a1 -/* 0FE0DC 7F0C95AC 1020000A */ beqz $at, .L7F0C95D8 -/* 0FE0E0 7F0C95B0 00601025 */ move $v0, $v1 -/* 0FE0E4 7F0C95B4 0085082A */ slt $at, $a0, $a1 -/* 0FE0E8 7F0C95B8 50200005 */ beql $at, $zero, .L7F0C95D0 -/* 0FE0EC 7F0C95BC 3066FFFF */ andi $a2, $v1, 0xffff -/* 0FE0F0 7F0C95C0 3068FFFF */ andi $t0, $v1, 0xffff -/* 0FE0F4 7F0C95C4 10000009 */ b .L7F0C95EC -/* 0FE0F8 7F0C95C8 26290001 */ addiu $t1, $s1, 1 -/* 0FE0FC 7F0C95CC 3066FFFF */ andi $a2, $v1, 0xffff -.L7F0C95D0: -/* 0FE100 7F0C95D0 10000006 */ b .L7F0C95EC -/* 0FE104 7F0C95D4 26270001 */ addiu $a3, $s1, 1 -.L7F0C95D8: -/* 0FE108 7F0C95D8 0044082A */ slt $at, $v0, $a0 -/* 0FE10C 7F0C95DC 50200004 */ beql $at, $zero, .L7F0C95F0 -/* 0FE110 7F0C95E0 26310002 */ addiu $s1, $s1, 2 -/* 0FE114 7F0C95E4 3066FFFF */ andi $a2, $v1, 0xffff -/* 0FE118 7F0C95E8 26270001 */ addiu $a3, $s1, 1 -.L7F0C95EC: -/* 0FE11C 7F0C95EC 26310002 */ addiu $s1, $s1, 2 -.L7F0C95F0: -/* 0FE120 7F0C95F0 1634FFD5 */ bne $s1, $s4, .L7F0C9548 -/* 0FE124 7F0C95F4 26100004 */ addiu $s0, $s0, 4 -.L7F0C95F8: -/* 0FE128 7F0C95F8 00008825 */ move $s1, $zero -.L7F0C95FC: -/* 0FE12C 7F0C95FC 51A80004 */ beql $t5, $t0, .L7F0C9610 -/* 0FE130 7F0C9600 241F0001 */ li $ra, 1 -/* 0FE134 7F0C9604 15A60002 */ bne $t5, $a2, .L7F0C9610 -/* 0FE138 7F0C9608 00000000 */ nop -/* 0FE13C 7F0C960C 241F0001 */ li $ra, 1 -.L7F0C9610: -/* 0FE140 7F0C9610 53E0FF60 */ beql $ra, $zero, .L7F0C9394 -/* 0FE144 7F0C9614 0007C040 */ sll $t8, $a3, 1 -/* 0FE148 7F0C9618 8FAF307C */ lw $t7, 0x307c($sp) -/* 0FE14C 7F0C961C AFB20070 */ sw $s2, 0x70($sp) -/* 0FE150 7F0C9620 27B30078 */ addiu $s3, $sp, 0x78 -/* 0FE154 7F0C9624 19E0001D */ blez $t7, .L7F0C969C -/* 0FE158 7F0C9628 8FA23078 */ lw $v0, 0x3078($sp) -/* 0FE15C 7F0C962C 2A412710 */ slti $at, $s2, 0x2710 -.L7F0C9630: -/* 0FE160 7F0C9630 1020000C */ beqz $at, .L7F0C9664 -/* 0FE164 7F0C9634 02408025 */ move $s0, $s2 -.L7F0C9638: -/* 0FE168 7F0C9638 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE16C 7F0C963C 24040001 */ li $a0, 1 -/* 0FE170 7F0C9640 0010C080 */ sll $t8, $s0, 2 -/* 0FE174 7F0C9644 0278C821 */ addu $t9, $s3, $t8 -/* 0FE178 7F0C9648 00027040 */ sll $t6, $v0, 1 -/* 0FE17C 7F0C964C 032E7821 */ addu $t7, $t9, $t6 -/* 0FE180 7F0C9650 85F00000 */ lh $s0, ($t7) -/* 0FE184 7F0C9654 2A012710 */ slti $at, $s0, 0x2710 -/* 0FE188 7F0C9658 1420FFF7 */ bnez $at, .L7F0C9638 -/* 0FE18C 7F0C965C 00000000 */ nop -/* 0FE190 7F0C9660 8FA23078 */ lw $v0, 0x3078($sp) -.L7F0C9664: -/* 0FE194 7F0C9664 2A810101 */ slti $at, $s4, 0x101 -/* 0FE198 7F0C9668 10200005 */ beqz $at, .L7F0C9680 -/* 0FE19C 7F0C966C 260ED8F0 */ addiu $t6, $s0, -0x2710 -/* 0FE1A0 7F0C9670 2618D8F0 */ addiu $t8, $s0, -0x2710 -/* 0FE1A4 7F0C9674 0051C821 */ addu $t9, $v0, $s1 -/* 0FE1A8 7F0C9678 10000004 */ b .L7F0C968C -/* 0FE1AC 7F0C967C A3380000 */ sb $t8, ($t9) -.L7F0C9680: -/* 0FE1B0 7F0C9680 00117840 */ sll $t7, $s1, 1 -/* 0FE1B4 7F0C9684 004FC021 */ addu $t8, $v0, $t7 -/* 0FE1B8 7F0C9688 A70E0000 */ sh $t6, ($t8) -.L7F0C968C: -/* 0FE1BC 7F0C968C 8FB9307C */ lw $t9, 0x307c($sp) -/* 0FE1C0 7F0C9690 26310001 */ addiu $s1, $s1, 1 -/* 0FE1C4 7F0C9694 5639FFE6 */ bnel $s1, $t9, .L7F0C9630 -/* 0FE1C8 7F0C9698 2A412710 */ slti $at, $s2, 0x2710 -.L7F0C969C: -/* 0FE1CC 7F0C969C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0FE1D0 7F0C96A0 8FB00018 */ lw $s0, 0x18($sp) -/* 0FE1D4 7F0C96A4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0FE1D8 7F0C96A8 8FB20020 */ lw $s2, 0x20($sp) -/* 0FE1DC 7F0C96AC 8FB30024 */ lw $s3, 0x24($sp) -/* 0FE1E0 7F0C96B0 8FB40028 */ lw $s4, 0x28($sp) -/* 0FE1E4 7F0C96B4 03E00008 */ jr $ra -/* 0FE1E8 7F0C96B8 27BD3078 */ addiu $sp, $sp, 0x3078 -) -#endif - - - - - -#ifdef NONMATCHING -void type4_7_9_getsamples(void) { - -} -#else -GLOBAL_ASM( -.text -glabel type4_7_9_getsamples -/* 0FE1EC 7F0C96BC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0FE1F0 7F0C96C0 AFB2001C */ sw $s2, 0x1c($sp) -/* 0FE1F4 7F0C96C4 00809025 */ move $s2, $a0 -/* 0FE1F8 7F0C96C8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0FE1FC 7F0C96CC AFB50028 */ sw $s5, 0x28($sp) -/* 0FE200 7F0C96D0 AFB40024 */ sw $s4, 0x24($sp) -/* 0FE204 7F0C96D4 AFB30020 */ sw $s3, 0x20($sp) -/* 0FE208 7F0C96D8 AFB10018 */ sw $s1, 0x18($sp) -/* 0FE20C 7F0C96DC AFB00014 */ sw $s0, 0x14($sp) -/* 0FE210 7F0C96E0 AFA5003C */ sw $a1, 0x3c($sp) -/* 0FE214 7F0C96E4 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE218 7F0C96E8 24040003 */ li $a0, 3 -/* 0FE21C 7F0C96EC AFA20034 */ sw $v0, 0x34($sp) -/* 0FE220 7F0C96F0 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE224 7F0C96F4 24040003 */ li $a0, 3 -/* 0FE228 7F0C96F8 AFA20030 */ sw $v0, 0x30($sp) -/* 0FE22C 7F0C96FC 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE230 7F0C9700 24040004 */ li $a0, 4 -/* 0FE234 7F0C9704 8FAE0034 */ lw $t6, 0x34($sp) -/* 0FE238 7F0C9708 8FAF0030 */ lw $t7, 0x30($sp) -/* 0FE23C 7F0C970C 0040A025 */ move $s4, $v0 -/* 0FE240 7F0C9710 0000A825 */ move $s5, $zero -/* 0FE244 7F0C9714 01CFC021 */ addu $t8, $t6, $t7 -/* 0FE248 7F0C9718 03022021 */ addu $a0, $t8, $v0 -/* 0FE24C 7F0C971C 24830001 */ addiu $v1, $a0, 1 -/* 0FE250 7F0C9720 18600005 */ blez $v1, .L7F0C9738 -/* 0FE254 7F0C9724 8FB9003C */ lw $t9, 0x3c($sp) -.L7F0C9728: -/* 0FE258 7F0C9728 00621823 */ subu $v1, $v1, $v0 -/* 0FE25C 7F0C972C 2463FFFF */ addiu $v1, $v1, -1 -/* 0FE260 7F0C9730 1C60FFFD */ bgtz $v1, .L7F0C9728 -/* 0FE264 7F0C9734 26B50001 */ addiu $s5, $s5, 1 -.L7F0C9738: -/* 0FE268 7F0C9738 1B200070 */ blez $t9, .L7F0C98FC -/* 0FE26C 7F0C973C 00008825 */ move $s1, $zero -.L7F0C9740: -/* 0FE270 7F0C9740 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE274 7F0C9744 24040001 */ li $a0, 1 -/* 0FE278 7F0C9748 1440000F */ bnez $v0, .L7F0C9788 -/* 0FE27C 7F0C974C 2A810009 */ slti $at, $s4, 9 -/* 0FE280 7F0C9750 10200007 */ beqz $at, .L7F0C9770 -/* 0FE284 7F0C9754 02802025 */ move $a0, $s4 -/* 0FE288 7F0C9758 02802025 */ move $a0, $s4 -/* 0FE28C 7F0C975C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE290 7F0C9760 02518021 */ addu $s0, $s2, $s1 -/* 0FE294 7F0C9764 A2020000 */ sb $v0, ($s0) -/* 0FE298 7F0C9768 10000060 */ b .L7F0C98EC -/* 0FE29C 7F0C976C 26310001 */ addiu $s1, $s1, 1 -.L7F0C9770: -/* 0FE2A0 7F0C9770 00114040 */ sll $t0, $s1, 1 -/* 0FE2A4 7F0C9774 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE2A8 7F0C9778 02488021 */ addu $s0, $s2, $t0 -/* 0FE2AC 7F0C977C A6020000 */ sh $v0, ($s0) -/* 0FE2B0 7F0C9780 1000005A */ b .L7F0C98EC -/* 0FE2B4 7F0C9784 26310001 */ addiu $s1, $s1, 1 -.L7F0C9788: -/* 0FE2B8 7F0C9788 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE2BC 7F0C978C 8FA40034 */ lw $a0, 0x34($sp) -/* 0FE2C0 7F0C9790 02229823 */ subu $s3, $s1, $v0 -/* 0FE2C4 7F0C9794 2673FFFF */ addiu $s3, $s3, -1 -/* 0FE2C8 7F0C9798 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE2CC 7F0C979C 8FA40030 */ lw $a0, 0x30($sp) -/* 0FE2D0 7F0C97A0 00552021 */ addu $a0, $v0, $s5 -/* 0FE2D4 7F0C97A4 2A810009 */ slti $at, $s4, 9 -/* 0FE2D8 7F0C97A8 10200027 */ beqz $at, .L7F0C9848 -/* 0FE2DC 7F0C97AC 00803825 */ move $a3, $a0 -/* 0FE2E0 7F0C97B0 02643021 */ addu $a2, $s3, $a0 -/* 0FE2E4 7F0C97B4 0266082A */ slt $at, $s3, $a2 -/* 0FE2E8 7F0C97B8 02601825 */ move $v1, $s3 -/* 0FE2EC 7F0C97BC 1020001D */ beqz $at, .L7F0C9834 -/* 0FE2F0 7F0C97C0 02518021 */ addu $s0, $s2, $s1 -/* 0FE2F4 7F0C97C4 00D32823 */ subu $a1, $a2, $s3 -/* 0FE2F8 7F0C97C8 30A90003 */ andi $t1, $a1, 3 -/* 0FE2FC 7F0C97CC 1120000A */ beqz $t1, .L7F0C97F8 -/* 0FE300 7F0C97D0 01332021 */ addu $a0, $t1, $s3 -/* 0FE304 7F0C97D4 02431021 */ addu $v0, $s2, $v1 -.L7F0C97D8: -/* 0FE308 7F0C97D8 904A0000 */ lbu $t2, ($v0) -/* 0FE30C 7F0C97DC 24630001 */ addiu $v1, $v1, 1 -/* 0FE310 7F0C97E0 26310001 */ addiu $s1, $s1, 1 -/* 0FE314 7F0C97E4 26100001 */ addiu $s0, $s0, 1 -/* 0FE318 7F0C97E8 24420001 */ addiu $v0, $v0, 1 -/* 0FE31C 7F0C97EC 1483FFFA */ bne $a0, $v1, .L7F0C97D8 -/* 0FE320 7F0C97F0 A20AFFFF */ sb $t2, -1($s0) -/* 0FE324 7F0C97F4 1066000F */ beq $v1, $a2, .L7F0C9834 -.L7F0C97F8: -/* 0FE328 7F0C97F8 02672021 */ addu $a0, $s3, $a3 -/* 0FE32C 7F0C97FC 02431021 */ addu $v0, $s2, $v1 -.L7F0C9800: -/* 0FE330 7F0C9800 904B0000 */ lbu $t3, ($v0) -/* 0FE334 7F0C9804 24630004 */ addiu $v1, $v1, 4 -/* 0FE338 7F0C9808 26310004 */ addiu $s1, $s1, 4 -/* 0FE33C 7F0C980C A20B0000 */ sb $t3, ($s0) -/* 0FE340 7F0C9810 904C0001 */ lbu $t4, 1($v0) -/* 0FE344 7F0C9814 26100004 */ addiu $s0, $s0, 4 -/* 0FE348 7F0C9818 24420004 */ addiu $v0, $v0, 4 -/* 0FE34C 7F0C981C A20CFFFD */ sb $t4, -3($s0) -/* 0FE350 7F0C9820 904DFFFE */ lbu $t5, -2($v0) -/* 0FE354 7F0C9824 A20DFFFE */ sb $t5, -2($s0) -/* 0FE358 7F0C9828 904EFFFF */ lbu $t6, -1($v0) -/* 0FE35C 7F0C982C 1464FFF4 */ bne $v1, $a0, .L7F0C9800 -/* 0FE360 7F0C9830 A20EFFFF */ sb $t6, -1($s0) -.L7F0C9834: -/* 0FE364 7F0C9834 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE368 7F0C9838 02802025 */ move $a0, $s4 -/* 0FE36C 7F0C983C A2020000 */ sb $v0, ($s0) -/* 0FE370 7F0C9840 1000002A */ b .L7F0C98EC -/* 0FE374 7F0C9844 26310001 */ addiu $s1, $s1, 1 -.L7F0C9848: -/* 0FE378 7F0C9848 02643021 */ addu $a2, $s3, $a0 -/* 0FE37C 7F0C984C 0266082A */ slt $at, $s3, $a2 -/* 0FE380 7F0C9850 00117840 */ sll $t7, $s1, 1 -/* 0FE384 7F0C9854 024F8021 */ addu $s0, $s2, $t7 -/* 0FE388 7F0C9858 10200020 */ beqz $at, .L7F0C98DC -/* 0FE38C 7F0C985C 02601825 */ move $v1, $s3 -/* 0FE390 7F0C9860 00D32823 */ subu $a1, $a2, $s3 -/* 0FE394 7F0C9864 30B80003 */ andi $t8, $a1, 3 -/* 0FE398 7F0C9868 1300000B */ beqz $t8, .L7F0C9898 -/* 0FE39C 7F0C986C 03132021 */ addu $a0, $t8, $s3 -/* 0FE3A0 7F0C9870 0003C840 */ sll $t9, $v1, 1 -/* 0FE3A4 7F0C9874 02591021 */ addu $v0, $s2, $t9 -.L7F0C9878: -/* 0FE3A8 7F0C9878 94480000 */ lhu $t0, ($v0) -/* 0FE3AC 7F0C987C 24630001 */ addiu $v1, $v1, 1 -/* 0FE3B0 7F0C9880 26310001 */ addiu $s1, $s1, 1 -/* 0FE3B4 7F0C9884 26100002 */ addiu $s0, $s0, 2 -/* 0FE3B8 7F0C9888 24420002 */ addiu $v0, $v0, 2 -/* 0FE3BC 7F0C988C 1483FFFA */ bne $a0, $v1, .L7F0C9878 -/* 0FE3C0 7F0C9890 A608FFFE */ sh $t0, -2($s0) -/* 0FE3C4 7F0C9894 10660011 */ beq $v1, $a2, .L7F0C98DC -.L7F0C9898: -/* 0FE3C8 7F0C9898 02672021 */ addu $a0, $s3, $a3 -/* 0FE3CC 7F0C989C 00044840 */ sll $t1, $a0, 1 -/* 0FE3D0 7F0C98A0 00035040 */ sll $t2, $v1, 1 -/* 0FE3D4 7F0C98A4 024A1021 */ addu $v0, $s2, $t2 -/* 0FE3D8 7F0C98A8 01322821 */ addu $a1, $t1, $s2 -.L7F0C98AC: -/* 0FE3DC 7F0C98AC 944B0000 */ lhu $t3, ($v0) -/* 0FE3E0 7F0C98B0 24420008 */ addiu $v0, $v0, 8 -/* 0FE3E4 7F0C98B4 26310004 */ addiu $s1, $s1, 4 -/* 0FE3E8 7F0C98B8 A60B0000 */ sh $t3, ($s0) -/* 0FE3EC 7F0C98BC 944CFFFA */ lhu $t4, -6($v0) -/* 0FE3F0 7F0C98C0 26100008 */ addiu $s0, $s0, 8 -/* 0FE3F4 7F0C98C4 A60CFFFA */ sh $t4, -6($s0) -/* 0FE3F8 7F0C98C8 944DFFFC */ lhu $t5, -4($v0) -/* 0FE3FC 7F0C98CC A60DFFFC */ sh $t5, -4($s0) -/* 0FE400 7F0C98D0 944EFFFE */ lhu $t6, -2($v0) -/* 0FE404 7F0C98D4 1445FFF5 */ bne $v0, $a1, .L7F0C98AC -/* 0FE408 7F0C98D8 A60EFFFE */ sh $t6, -2($s0) -.L7F0C98DC: -/* 0FE40C 7F0C98DC 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE410 7F0C98E0 02802025 */ move $a0, $s4 -/* 0FE414 7F0C98E4 A6020000 */ sh $v0, ($s0) -/* 0FE418 7F0C98E8 26310001 */ addiu $s1, $s1, 1 -.L7F0C98EC: -/* 0FE41C 7F0C98EC 8FAF003C */ lw $t7, 0x3c($sp) -/* 0FE420 7F0C98F0 022F082A */ slt $at, $s1, $t7 -/* 0FE424 7F0C98F4 1420FF92 */ bnez $at, .L7F0C9740 -/* 0FE428 7F0C98F8 00000000 */ nop -.L7F0C98FC: -/* 0FE42C 7F0C98FC 8FBF002C */ lw $ra, 0x2c($sp) -/* 0FE430 7F0C9900 8FB00014 */ lw $s0, 0x14($sp) -/* 0FE434 7F0C9904 8FB10018 */ lw $s1, 0x18($sp) -/* 0FE438 7F0C9908 8FB2001C */ lw $s2, 0x1c($sp) -/* 0FE43C 7F0C990C 8FB30020 */ lw $s3, 0x20($sp) -/* 0FE440 7F0C9910 8FB40024 */ lw $s4, 0x24($sp) -/* 0FE444 7F0C9914 8FB50028 */ lw $s5, 0x28($sp) -/* 0FE448 7F0C9918 03E00008 */ jr $ra -/* 0FE44C 7F0C991C 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void type5_6_7_getsamples(void) { - -} -#else -GLOBAL_ASM( -.text -glabel type5_6_7_getsamples -/* 0FE450 7F0C9920 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0FE454 7F0C9924 AFB30020 */ sw $s3, 0x20($sp) -/* 0FE458 7F0C9928 00809825 */ move $s3, $a0 -/* 0FE45C 7F0C992C AFBF002C */ sw $ra, 0x2c($sp) -/* 0FE460 7F0C9930 AFB2001C */ sw $s2, 0x1c($sp) -/* 0FE464 7F0C9934 00A09025 */ move $s2, $a1 -/* 0FE468 7F0C9938 AFB50028 */ sw $s5, 0x28($sp) -/* 0FE46C 7F0C993C AFB40024 */ sw $s4, 0x24($sp) -/* 0FE470 7F0C9940 AFB10018 */ sw $s1, 0x18($sp) -/* 0FE474 7F0C9944 AFB00014 */ sw $s0, 0x14($sp) -/* 0FE478 7F0C9948 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE47C 7F0C994C 2404000B */ li $a0, 11 -/* 0FE480 7F0C9950 2A410011 */ slti $at, $s2, 0x11 -/* 0FE484 7F0C9954 1020000C */ beqz $at, .L7F0C9988 -/* 0FE488 7F0C9958 0040A825 */ move $s5, $v0 -/* 0FE48C 7F0C995C 18400027 */ blez $v0, .L7F0C99FC -/* 0FE490 7F0C9960 00008025 */ move $s0, $zero -/* 0FE494 7F0C9964 02608825 */ move $s1, $s3 -.L7F0C9968: -/* 0FE498 7F0C9968 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE49C 7F0C996C 02402025 */ move $a0, $s2 -/* 0FE4A0 7F0C9970 26100001 */ addiu $s0, $s0, 1 -/* 0FE4A4 7F0C9974 26310002 */ addiu $s1, $s1, 2 -/* 0FE4A8 7F0C9978 1615FFFB */ bne $s0, $s5, .L7F0C9968 -/* 0FE4AC 7F0C997C A622FFFE */ sh $v0, -2($s1) -/* 0FE4B0 7F0C9980 1000001F */ b .L7F0C9A00 -/* 0FE4B4 7F0C9984 8FBF002C */ lw $ra, 0x2c($sp) -.L7F0C9988: -/* 0FE4B8 7F0C9988 2A410019 */ slti $at, $s2, 0x19 -/* 0FE4BC 7F0C998C 1020000C */ beqz $at, .L7F0C99C0 -/* 0FE4C0 7F0C9990 00000000 */ nop -/* 0FE4C4 7F0C9994 18400019 */ blez $v0, .L7F0C99FC -/* 0FE4C8 7F0C9998 00008025 */ move $s0, $zero -/* 0FE4CC 7F0C999C 02608825 */ move $s1, $s3 -.L7F0C99A0: -/* 0FE4D0 7F0C99A0 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE4D4 7F0C99A4 02402025 */ move $a0, $s2 -/* 0FE4D8 7F0C99A8 26100001 */ addiu $s0, $s0, 1 -/* 0FE4DC 7F0C99AC 26310004 */ addiu $s1, $s1, 4 -/* 0FE4E0 7F0C99B0 1615FFFB */ bne $s0, $s5, .L7F0C99A0 -/* 0FE4E4 7F0C99B4 AE22FFFC */ sw $v0, -4($s1) -/* 0FE4E8 7F0C99B8 10000011 */ b .L7F0C9A00 -/* 0FE4EC 7F0C99BC 8FBF002C */ lw $ra, 0x2c($sp) -.L7F0C99C0: -/* 0FE4F0 7F0C99C0 1840000E */ blez $v0, .L7F0C99FC -/* 0FE4F4 7F0C99C4 00008025 */ move $s0, $zero -/* 0FE4F8 7F0C99C8 2654FFE8 */ addiu $s4, $s2, -0x18 -/* 0FE4FC 7F0C99CC 02608825 */ move $s1, $s3 -.L7F0C99D0: -/* 0FE500 7F0C99D0 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE504 7F0C99D4 24040018 */ li $a0, 24 -/* 0FE508 7F0C99D8 00409025 */ move $s2, $v0 -/* 0FE50C 7F0C99DC 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE510 7F0C99E0 02802025 */ move $a0, $s4 -/* 0FE514 7F0C99E4 00127200 */ sll $t6, $s2, 8 -/* 0FE518 7F0C99E8 26100001 */ addiu $s0, $s0, 1 -/* 0FE51C 7F0C99EC 004E7825 */ or $t7, $v0, $t6 -/* 0FE520 7F0C99F0 26310004 */ addiu $s1, $s1, 4 -/* 0FE524 7F0C99F4 1615FFF6 */ bne $s0, $s5, .L7F0C99D0 -/* 0FE528 7F0C99F8 AE2FFFFC */ sw $t7, -4($s1) -.L7F0C99FC: -/* 0FE52C 7F0C99FC 8FBF002C */ lw $ra, 0x2c($sp) -.L7F0C9A00: -/* 0FE530 7F0C9A00 02A01025 */ move $v0, $s5 -/* 0FE534 7F0C9A04 8FB50028 */ lw $s5, 0x28($sp) -/* 0FE538 7F0C9A08 8FB00014 */ lw $s0, 0x14($sp) -/* 0FE53C 7F0C9A0C 8FB10018 */ lw $s1, 0x18($sp) -/* 0FE540 7F0C9A10 8FB2001C */ lw $s2, 0x1c($sp) -/* 0FE544 7F0C9A14 8FB30020 */ lw $s3, 0x20($sp) -/* 0FE548 7F0C9A18 8FB40024 */ lw $s4, 0x24($sp) -/* 0FE54C 7F0C9A1C 03E00008 */ jr $ra -/* 0FE550 7F0C9A20 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C9A24(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C9A24 -/* 0FE554 7F0C9A24 2484FFFF */ addiu $a0, $a0, -1 -/* 0FE558 7F0C9A28 18800005 */ blez $a0, .L7F0C9A40 -/* 0FE55C 7F0C9A2C 00001825 */ move $v1, $zero -.L7F0C9A30: -/* 0FE560 7F0C9A30 00047043 */ sra $t6, $a0, 1 -/* 0FE564 7F0C9A34 01C02025 */ move $a0, $t6 -/* 0FE568 7F0C9A38 1DC0FFFD */ bgtz $t6, .L7F0C9A30 -/* 0FE56C 7F0C9A3C 24630001 */ addiu $v1, $v1, 1 -.L7F0C9A40: -/* 0FE570 7F0C9A40 03E00008 */ jr $ra -/* 0FE574 7F0C9A44 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void image_get_alpha_values(void) { - -} -#else -GLOBAL_ASM( -.text -glabel image_get_alpha_values -/* 0FE578 7F0C9A48 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0FE57C 7F0C9A4C AFB20020 */ sw $s2, 0x20($sp) -/* 0FE580 7F0C9A50 AFB00018 */ sw $s0, 0x18($sp) -/* 0FE584 7F0C9A54 00A09025 */ move $s2, $a1 -/* 0FE588 7F0C9A58 AFBF0024 */ sw $ra, 0x24($sp) -/* 0FE58C 7F0C9A5C AFB1001C */ sw $s1, 0x1c($sp) -/* 0FE590 7F0C9A60 18A00008 */ blez $a1, .L7F0C9A84 -/* 0FE594 7F0C9A64 00008025 */ move $s0, $zero -/* 0FE598 7F0C9A68 00808825 */ move $s1, $a0 -.L7F0C9A6C: -/* 0FE59C 7F0C9A6C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE5A0 7F0C9A70 24040001 */ li $a0, 1 -/* 0FE5A4 7F0C9A74 26100001 */ addiu $s0, $s0, 1 -/* 0FE5A8 7F0C9A78 26310001 */ addiu $s1, $s1, 1 -/* 0FE5AC 7F0C9A7C 1612FFFB */ bne $s0, $s2, .L7F0C9A6C -/* 0FE5B0 7F0C9A80 A222FFFF */ sb $v0, -1($s1) -.L7F0C9A84: -/* 0FE5B4 7F0C9A84 8FBF0024 */ lw $ra, 0x24($sp) -/* 0FE5B8 7F0C9A88 8FB00018 */ lw $s0, 0x18($sp) -/* 0FE5BC 7F0C9A8C 8FB1001C */ lw $s1, 0x1c($sp) -/* 0FE5C0 7F0C9A90 8FB20020 */ lw $s2, 0x20($sp) -/* 0FE5C4 7F0C9A94 03E00008 */ jr $ra -/* 0FE5C8 7F0C9A98 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void image_compression0_expand(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BDA0*/ -glabel jpt_8005BDA0 -.word .L7F0C9B0C -.word .L7F0C9BEC -.word .L7F0C9B84 -.word .L7F0C9C4C -.word .L7F0C9BEC -.word .L7F0C9CB4 -.word .L7F0C9D10 -.word .L7F0C9CB4 -.word .L7F0C9D10 -.text -glabel image_compression0_expand -/* 0FE5CC 7F0C9A9C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0FE5D0 7F0C9AA0 AFB50028 */ sw $s5, 0x28($sp) -/* 0FE5D4 7F0C9AA4 2495000F */ addiu $s5, $a0, 0xf -/* 0FE5D8 7F0C9AA8 2401FFF0 */ li $at, -16 -/* 0FE5DC 7F0C9AAC 02A17024 */ and $t6, $s5, $at -/* 0FE5E0 7F0C9AB0 AFB30020 */ sw $s3, 0x20($sp) -/* 0FE5E4 7F0C9AB4 2401FFF8 */ li $at, -8 -/* 0FE5E8 7F0C9AB8 24820007 */ addiu $v0, $a0, 7 -/* 0FE5EC 7F0C9ABC 00419824 */ and $s3, $v0, $at -/* 0FE5F0 7F0C9AC0 AFB70030 */ sw $s7, 0x30($sp) -/* 0FE5F4 7F0C9AC4 AFB6002C */ sw $s6, 0x2c($sp) -/* 0FE5F8 7F0C9AC8 AFB2001C */ sw $s2, 0x1c($sp) -/* 0FE5FC 7F0C9ACC 2CE10009 */ sltiu $at, $a3, 9 -/* 0FE600 7F0C9AD0 00A09025 */ move $s2, $a1 -/* 0FE604 7F0C9AD4 00C0B825 */ move $s7, $a2 -/* 0FE608 7F0C9AD8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0FE60C 7F0C9ADC AFB40024 */ sw $s4, 0x24($sp) -/* 0FE610 7F0C9AE0 AFB10018 */ sw $s1, 0x18($sp) -/* 0FE614 7F0C9AE4 AFB00014 */ sw $s0, 0x14($sp) -/* 0FE618 7F0C9AE8 01C0A825 */ move $s5, $t6 -/* 0FE61C 7F0C9AEC 102000A1 */ beqz $at, .L7F0C9D74 -/* 0FE620 7F0C9AF0 0260B025 */ move $s6, $s3 -/* 0FE624 7F0C9AF4 0007C080 */ sll $t8, $a3, 2 -/* 0FE628 7F0C9AF8 3C018006 */ lui $at, %hi(jpt_8005BDA0) -/* 0FE62C 7F0C9AFC 00380821 */ addu $at, $at, $t8 -/* 0FE630 7F0C9B00 8C38BDA0 */ lw $t8, %lo(jpt_8005BDA0)($at) -/* 0FE634 7F0C9B04 03000008 */ jr $t8 -/* 0FE638 7F0C9B08 00000000 */ nop -.L7F0C9B0C: -/* 0FE63C 7F0C9B0C 1AE00016 */ blez $s7, .L7F0C9B68 -/* 0FE640 7F0C9B10 0000A025 */ move $s4, $zero -/* 0FE644 7F0C9B14 26530003 */ addiu $s3, $s2, 3 -/* 0FE648 7F0C9B18 32790FFC */ andi $t9, $s3, 0xffc -/* 0FE64C 7F0C9B1C 00199880 */ sll $s3, $t9, 2 -.L7F0C9B20: -/* 0FE650 7F0C9B20 1A40000E */ blez $s2, .L7F0C9B5C -/* 0FE654 7F0C9B24 00008025 */ move $s0, $zero -/* 0FE658 7F0C9B28 02A08825 */ move $s1, $s5 -.L7F0C9B2C: -/* 0FE65C 7F0C9B2C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE660 7F0C9B30 24040010 */ li $a0, 16 -/* 0FE664 7F0C9B34 00024C00 */ sll $t1, $v0, 0x10 -/* 0FE668 7F0C9B38 AE290000 */ sw $t1, ($s1) -/* 0FE66C 7F0C9B3C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE670 7F0C9B40 24040010 */ li $a0, 16 -/* 0FE674 7F0C9B44 8E2A0000 */ lw $t2, ($s1) -/* 0FE678 7F0C9B48 26100001 */ addiu $s0, $s0, 1 -/* 0FE67C 7F0C9B4C 26310004 */ addiu $s1, $s1, 4 -/* 0FE680 7F0C9B50 01425825 */ or $t3, $t2, $v0 -/* 0FE684 7F0C9B54 1612FFF5 */ bne $s0, $s2, .L7F0C9B2C -/* 0FE688 7F0C9B58 AE2BFFFC */ sw $t3, -4($s1) -.L7F0C9B5C: -/* 0FE68C 7F0C9B5C 26940001 */ addiu $s4, $s4, 1 -/* 0FE690 7F0C9B60 1697FFEF */ bne $s4, $s7, .L7F0C9B20 -/* 0FE694 7F0C9B64 02B3A821 */ addu $s5, $s5, $s3 -.L7F0C9B68: -/* 0FE698 7F0C9B68 264C0003 */ addiu $t4, $s2, 3 -/* 0FE69C 7F0C9B6C 318D0FFC */ andi $t5, $t4, 0xffc -/* 0FE6A0 7F0C9B70 01B70019 */ multu $t5, $s7 -/* 0FE6A4 7F0C9B74 00001012 */ mflo $v0 -/* 0FE6A8 7F0C9B78 00027080 */ sll $t6, $v0, 2 -/* 0FE6AC 7F0C9B7C 1000007E */ b .L7F0C9D78 -/* 0FE6B0 7F0C9B80 01C01025 */ move $v0, $t6 -.L7F0C9B84: -/* 0FE6B4 7F0C9B84 1AE00012 */ blez $s7, .L7F0C9BD0 -/* 0FE6B8 7F0C9B88 0000A025 */ move $s4, $zero -/* 0FE6BC 7F0C9B8C 26530003 */ addiu $s3, $s2, 3 -/* 0FE6C0 7F0C9B90 326F0FFC */ andi $t7, $s3, 0xffc -/* 0FE6C4 7F0C9B94 000F9880 */ sll $s3, $t7, 2 -.L7F0C9B98: -/* 0FE6C8 7F0C9B98 1A40000A */ blez $s2, .L7F0C9BC4 -/* 0FE6CC 7F0C9B9C 00008025 */ move $s0, $zero -/* 0FE6D0 7F0C9BA0 02A08825 */ move $s1, $s5 -.L7F0C9BA4: -/* 0FE6D4 7F0C9BA4 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE6D8 7F0C9BA8 24040018 */ li $a0, 24 -/* 0FE6DC 7F0C9BAC 0002CA00 */ sll $t9, $v0, 8 -/* 0FE6E0 7F0C9BB0 26100001 */ addiu $s0, $s0, 1 -/* 0FE6E4 7F0C9BB4 372800FF */ ori $t0, $t9, 0xff -/* 0FE6E8 7F0C9BB8 26310004 */ addiu $s1, $s1, 4 -/* 0FE6EC 7F0C9BBC 1612FFF9 */ bne $s0, $s2, .L7F0C9BA4 -/* 0FE6F0 7F0C9BC0 AE28FFFC */ sw $t0, -4($s1) -.L7F0C9BC4: -/* 0FE6F4 7F0C9BC4 26940001 */ addiu $s4, $s4, 1 -/* 0FE6F8 7F0C9BC8 1697FFF3 */ bne $s4, $s7, .L7F0C9B98 -/* 0FE6FC 7F0C9BCC 02B3A821 */ addu $s5, $s5, $s3 -.L7F0C9BD0: -/* 0FE700 7F0C9BD0 26490003 */ addiu $t1, $s2, 3 -/* 0FE704 7F0C9BD4 312A0FFC */ andi $t2, $t1, 0xffc -/* 0FE708 7F0C9BD8 01570019 */ multu $t2, $s7 -/* 0FE70C 7F0C9BDC 00001012 */ mflo $v0 -/* 0FE710 7F0C9BE0 00025880 */ sll $t3, $v0, 2 -/* 0FE714 7F0C9BE4 10000064 */ b .L7F0C9D78 -/* 0FE718 7F0C9BE8 01601025 */ move $v0, $t3 -.L7F0C9BEC: -/* 0FE71C 7F0C9BEC 1AE00010 */ blez $s7, .L7F0C9C30 -/* 0FE720 7F0C9BF0 0000A025 */ move $s4, $zero -/* 0FE724 7F0C9BF4 26530003 */ addiu $s3, $s2, 3 -/* 0FE728 7F0C9BF8 326C0FFC */ andi $t4, $s3, 0xffc -/* 0FE72C 7F0C9BFC 000C9840 */ sll $s3, $t4, 1 -.L7F0C9C00: -/* 0FE730 7F0C9C00 1A400008 */ blez $s2, .L7F0C9C24 -/* 0FE734 7F0C9C04 00008025 */ move $s0, $zero -/* 0FE738 7F0C9C08 02C08825 */ move $s1, $s6 -.L7F0C9C0C: -/* 0FE73C 7F0C9C0C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE740 7F0C9C10 24040010 */ li $a0, 16 -/* 0FE744 7F0C9C14 26100001 */ addiu $s0, $s0, 1 -/* 0FE748 7F0C9C18 26310002 */ addiu $s1, $s1, 2 -/* 0FE74C 7F0C9C1C 1612FFFB */ bne $s0, $s2, .L7F0C9C0C -/* 0FE750 7F0C9C20 A622FFFE */ sh $v0, -2($s1) -.L7F0C9C24: -/* 0FE754 7F0C9C24 26940001 */ addiu $s4, $s4, 1 -/* 0FE758 7F0C9C28 1697FFF5 */ bne $s4, $s7, .L7F0C9C00 -/* 0FE75C 7F0C9C2C 02D3B021 */ addu $s6, $s6, $s3 -.L7F0C9C30: -/* 0FE760 7F0C9C30 264E0003 */ addiu $t6, $s2, 3 -/* 0FE764 7F0C9C34 31CF0FFC */ andi $t7, $t6, 0xffc -/* 0FE768 7F0C9C38 01F70019 */ multu $t7, $s7 -/* 0FE76C 7F0C9C3C 00001012 */ mflo $v0 -/* 0FE770 7F0C9C40 0002C040 */ sll $t8, $v0, 1 -/* 0FE774 7F0C9C44 1000004C */ b .L7F0C9D78 -/* 0FE778 7F0C9C48 03001025 */ move $v0, $t8 -.L7F0C9C4C: -/* 0FE77C 7F0C9C4C 1AE00012 */ blez $s7, .L7F0C9C98 -/* 0FE780 7F0C9C50 0000A025 */ move $s4, $zero -/* 0FE784 7F0C9C54 26530003 */ addiu $s3, $s2, 3 -/* 0FE788 7F0C9C58 32790FFC */ andi $t9, $s3, 0xffc -/* 0FE78C 7F0C9C5C 00199840 */ sll $s3, $t9, 1 -.L7F0C9C60: -/* 0FE790 7F0C9C60 1A40000A */ blez $s2, .L7F0C9C8C -/* 0FE794 7F0C9C64 00008025 */ move $s0, $zero -/* 0FE798 7F0C9C68 02C08825 */ move $s1, $s6 -.L7F0C9C6C: -/* 0FE79C 7F0C9C6C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE7A0 7F0C9C70 2404000F */ li $a0, 15 -/* 0FE7A4 7F0C9C74 00024840 */ sll $t1, $v0, 1 -/* 0FE7A8 7F0C9C78 26100001 */ addiu $s0, $s0, 1 -/* 0FE7AC 7F0C9C7C 352A0001 */ ori $t2, $t1, 1 -/* 0FE7B0 7F0C9C80 26310002 */ addiu $s1, $s1, 2 -/* 0FE7B4 7F0C9C84 1612FFF9 */ bne $s0, $s2, .L7F0C9C6C -/* 0FE7B8 7F0C9C88 A62AFFFE */ sh $t2, -2($s1) -.L7F0C9C8C: -/* 0FE7BC 7F0C9C8C 26940001 */ addiu $s4, $s4, 1 -/* 0FE7C0 7F0C9C90 1697FFF3 */ bne $s4, $s7, .L7F0C9C60 -/* 0FE7C4 7F0C9C94 02D3B021 */ addu $s6, $s6, $s3 -.L7F0C9C98: -/* 0FE7C8 7F0C9C98 264B0003 */ addiu $t3, $s2, 3 -/* 0FE7CC 7F0C9C9C 316C0FFC */ andi $t4, $t3, 0xffc -/* 0FE7D0 7F0C9CA0 01970019 */ multu $t4, $s7 -/* 0FE7D4 7F0C9CA4 00001012 */ mflo $v0 -/* 0FE7D8 7F0C9CA8 00026840 */ sll $t5, $v0, 1 -/* 0FE7DC 7F0C9CAC 10000032 */ b .L7F0C9D78 -/* 0FE7E0 7F0C9CB0 01A01025 */ move $v0, $t5 -.L7F0C9CB4: -/* 0FE7E4 7F0C9CB4 1AE00010 */ blez $s7, .L7F0C9CF8 -/* 0FE7E8 7F0C9CB8 0000A025 */ move $s4, $zero -/* 0FE7EC 7F0C9CBC 26550007 */ addiu $s5, $s2, 7 -/* 0FE7F0 7F0C9CC0 32AE0FF8 */ andi $t6, $s5, 0xff8 -/* 0FE7F4 7F0C9CC4 01C0A825 */ move $s5, $t6 -.L7F0C9CC8: -/* 0FE7F8 7F0C9CC8 1A400008 */ blez $s2, .L7F0C9CEC -/* 0FE7FC 7F0C9CCC 00008025 */ move $s0, $zero -/* 0FE800 7F0C9CD0 02608825 */ move $s1, $s3 -.L7F0C9CD4: -/* 0FE804 7F0C9CD4 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE808 7F0C9CD8 24040008 */ li $a0, 8 -/* 0FE80C 7F0C9CDC 26100001 */ addiu $s0, $s0, 1 -/* 0FE810 7F0C9CE0 26310001 */ addiu $s1, $s1, 1 -/* 0FE814 7F0C9CE4 1612FFFB */ bne $s0, $s2, .L7F0C9CD4 -/* 0FE818 7F0C9CE8 A222FFFF */ sb $v0, -1($s1) -.L7F0C9CEC: -/* 0FE81C 7F0C9CEC 26940001 */ addiu $s4, $s4, 1 -/* 0FE820 7F0C9CF0 1697FFF5 */ bne $s4, $s7, .L7F0C9CC8 -/* 0FE824 7F0C9CF4 02759821 */ addu $s3, $s3, $s5 -.L7F0C9CF8: -/* 0FE828 7F0C9CF8 264F0007 */ addiu $t7, $s2, 7 -/* 0FE82C 7F0C9CFC 31F80FF8 */ andi $t8, $t7, 0xff8 -/* 0FE830 7F0C9D00 03170019 */ multu $t8, $s7 -/* 0FE834 7F0C9D04 00001012 */ mflo $v0 -/* 0FE838 7F0C9D08 1000001C */ b .L7F0C9D7C -/* 0FE83C 7F0C9D0C 8FBF0034 */ lw $ra, 0x34($sp) -.L7F0C9D10: -/* 0FE840 7F0C9D10 1AE00011 */ blez $s7, .L7F0C9D58 -/* 0FE844 7F0C9D14 0000A025 */ move $s4, $zero -/* 0FE848 7F0C9D18 2651000F */ addiu $s1, $s2, 0xf -/* 0FE84C 7F0C9D1C 32390FF0 */ andi $t9, $s1, 0xff0 -/* 0FE850 7F0C9D20 00198843 */ sra $s1, $t9, 1 -.L7F0C9D24: -/* 0FE854 7F0C9D24 1A400009 */ blez $s2, .L7F0C9D4C -/* 0FE858 7F0C9D28 00008025 */ move $s0, $zero -.L7F0C9D2C: -/* 0FE85C 7F0C9D2C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FE860 7F0C9D30 24040008 */ li $a0, 8 -/* 0FE864 7F0C9D34 00104843 */ sra $t1, $s0, 1 -/* 0FE868 7F0C9D38 26100002 */ addiu $s0, $s0, 2 -/* 0FE86C 7F0C9D3C 0212082A */ slt $at, $s0, $s2 -/* 0FE870 7F0C9D40 02695021 */ addu $t2, $s3, $t1 -/* 0FE874 7F0C9D44 1420FFF9 */ bnez $at, .L7F0C9D2C -/* 0FE878 7F0C9D48 A1420000 */ sb $v0, ($t2) -.L7F0C9D4C: -/* 0FE87C 7F0C9D4C 26940001 */ addiu $s4, $s4, 1 -/* 0FE880 7F0C9D50 1697FFF4 */ bne $s4, $s7, .L7F0C9D24 -/* 0FE884 7F0C9D54 02719821 */ addu $s3, $s3, $s1 -.L7F0C9D58: -/* 0FE888 7F0C9D58 264B000F */ addiu $t3, $s2, 0xf -/* 0FE88C 7F0C9D5C 316C0FF0 */ andi $t4, $t3, 0xff0 -/* 0FE890 7F0C9D60 000C6843 */ sra $t5, $t4, 1 -/* 0FE894 7F0C9D64 01B70019 */ multu $t5, $s7 -/* 0FE898 7F0C9D68 00001012 */ mflo $v0 -/* 0FE89C 7F0C9D6C 10000003 */ b .L7F0C9D7C -/* 0FE8A0 7F0C9D70 8FBF0034 */ lw $ra, 0x34($sp) -def_7F0C9B04: -.L7F0C9D74: -/* 0FE8A4 7F0C9D74 00001025 */ move $v0, $zero -.L7F0C9D78: -/* 0FE8A8 7F0C9D78 8FBF0034 */ lw $ra, 0x34($sp) -.L7F0C9D7C: -/* 0FE8AC 7F0C9D7C 8FB00014 */ lw $s0, 0x14($sp) -/* 0FE8B0 7F0C9D80 8FB10018 */ lw $s1, 0x18($sp) -/* 0FE8B4 7F0C9D84 8FB2001C */ lw $s2, 0x1c($sp) -/* 0FE8B8 7F0C9D88 8FB30020 */ lw $s3, 0x20($sp) -/* 0FE8BC 7F0C9D8C 8FB40024 */ lw $s4, 0x24($sp) -/* 0FE8C0 7F0C9D90 8FB50028 */ lw $s5, 0x28($sp) -/* 0FE8C4 7F0C9D94 8FB6002C */ lw $s6, 0x2c($sp) -/* 0FE8C8 7F0C9D98 8FB70030 */ lw $s7, 0x30($sp) -/* 0FE8CC 7F0C9D9C 03E00008 */ jr $ra -/* 0FE8D0 7F0C9DA0 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void generate_link_final_image(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BDC4*/ -glabel jpt_8005BDC4 -.word .L7F0C9DF8 -.word .L7F0CA138 -.word .L7F0C9FAC -.word .L7F0CA400 -.word .L7F0CA2EC -.word .L7F0CA58C -.word .L7F0CA738 -.word .L7F0CA68C -.word .L7F0CA7F0 -.text -glabel generate_link_final_image -/* 0FE8D4 7F0C9DA4 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0FE8D8 7F0C9DA8 8FAE0078 */ lw $t6, 0x78($sp) -/* 0FE8DC 7F0C9DAC AFB20010 */ sw $s2, 0x10($sp) -/* 0FE8E0 7F0C9DB0 AFB1000C */ sw $s1, 0xc($sp) -/* 0FE8E4 7F0C9DB4 AFB00008 */ sw $s0, 8($sp) -/* 0FE8E8 7F0C9DB8 2DC10009 */ sltiu $at, $t6, 9 -/* 0FE8EC 7F0C9DBC 00A08025 */ move $s0, $a1 -/* 0FE8F0 7F0C9DC0 00808825 */ move $s1, $a0 -/* 0FE8F4 7F0C9DC4 00C09025 */ move $s2, $a2 -/* 0FE8F8 7F0C9DC8 AFB30014 */ sw $s3, 0x14($sp) -/* 0FE8FC 7F0C9DCC 00E05025 */ move $t2, $a3 -/* 0FE900 7F0C9DD0 00E04825 */ move $t1, $a3 -/* 0FE904 7F0C9DD4 00E01825 */ move $v1, $a3 -/* 0FE908 7F0C9DD8 102002A6 */ beqz $at, .L7F0CA874 -/* 0FE90C 7F0C9DDC 00004025 */ move $t0, $zero -/* 0FE910 7F0C9DE0 000E7080 */ sll $t6, $t6, 2 -/* 0FE914 7F0C9DE4 3C018006 */ lui $at, %hi(jpt_8005BDC4) -/* 0FE918 7F0C9DE8 002E0821 */ addu $at, $at, $t6 -/* 0FE91C 7F0C9DEC 8C2EBDC4 */ lw $t6, %lo(jpt_8005BDC4)($at) -/* 0FE920 7F0C9DF0 01C00008 */ jr $t6 -/* 0FE924 7F0C9DF4 00000000 */ nop -.L7F0C9DF8: -/* 0FE928 7F0C9DF8 1A400065 */ blez $s2, .L7F0C9F90 -/* 0FE92C 7F0C9DFC 00003825 */ move $a3, $zero -/* 0FE930 7F0C9E00 260F0003 */ addiu $t7, $s0, 3 -/* 0FE934 7F0C9E04 31F80FFC */ andi $t8, $t7, 0xffc -/* 0FE938 7F0C9E08 0018C880 */ sll $t9, $t8, 2 -/* 0FE93C 7F0C9E0C AFB9001C */ sw $t9, 0x1c($sp) -.L7F0C9E10: -/* 0FE940 7F0C9E10 1A00005B */ blez $s0, .L7F0C9F80 -/* 0FE944 7F0C9E14 00002825 */ move $a1, $zero -/* 0FE948 7F0C9E18 02120019 */ multu $s0, $s2 -/* 0FE94C 7F0C9E1C 02286021 */ addu $t4, $s1, $t0 -/* 0FE950 7F0C9E20 32060003 */ andi $a2, $s0, 3 -/* 0FE954 7F0C9E24 0000C880 */ sll $t9, $zero, 2 -/* 0FE958 7F0C9E28 01594821 */ addu $t1, $t2, $t9 -/* 0FE95C 7F0C9E2C 00C06825 */ move $t5, $a2 -/* 0FE960 7F0C9E30 02281021 */ addu $v0, $s1, $t0 -/* 0FE964 7F0C9E34 00005812 */ mflo $t3 -/* 0FE968 7F0C9E38 000B7080 */ sll $t6, $t3, 2 -/* 0FE96C 7F0C9E3C 01CB7023 */ subu $t6, $t6, $t3 -/* 0FE970 7F0C9E40 01C87821 */ addu $t7, $t6, $t0 -/* 0FE974 7F0C9E44 000BC040 */ sll $t8, $t3, 1 -/* 0FE978 7F0C9E48 01989821 */ addu $s3, $t4, $t8 -/* 0FE97C 7F0C9E4C 01F12021 */ addu $a0, $t7, $s1 -/* 0FE980 7F0C9E50 10C00015 */ beqz $a2, .L7F0C9EA8 -/* 0FE984 7F0C9E54 018B1821 */ addu $v1, $t4, $t3 -.L7F0C9E58: -/* 0FE988 7F0C9E58 904F0000 */ lbu $t7, ($v0) -/* 0FE98C 7F0C9E5C 908E0000 */ lbu $t6, ($a0) -/* 0FE990 7F0C9E60 24A50001 */ addiu $a1, $a1, 1 -/* 0FE994 7F0C9E64 000FC600 */ sll $t8, $t7, 0x18 -/* 0FE998 7F0C9E68 906F0000 */ lbu $t7, ($v1) -/* 0FE99C 7F0C9E6C 01D8C825 */ or $t9, $t6, $t8 -/* 0FE9A0 7F0C9E70 25080001 */ addiu $t0, $t0, 1 -/* 0FE9A4 7F0C9E74 000F7400 */ sll $t6, $t7, 0x10 -/* 0FE9A8 7F0C9E78 926F0000 */ lbu $t7, ($s3) -/* 0FE9AC 7F0C9E7C 032EC025 */ or $t8, $t9, $t6 -/* 0FE9B0 7F0C9E80 24420001 */ addiu $v0, $v0, 1 -/* 0FE9B4 7F0C9E84 000FCA00 */ sll $t9, $t7, 8 -/* 0FE9B8 7F0C9E88 03197025 */ or $t6, $t8, $t9 -/* 0FE9BC 7F0C9E8C AD2E0000 */ sw $t6, ($t1) -/* 0FE9C0 7F0C9E90 24840001 */ addiu $a0, $a0, 1 -/* 0FE9C4 7F0C9E94 24630001 */ addiu $v1, $v1, 1 -/* 0FE9C8 7F0C9E98 26730001 */ addiu $s3, $s3, 1 -/* 0FE9CC 7F0C9E9C 15A5FFEE */ bne $t5, $a1, .L7F0C9E58 -/* 0FE9D0 7F0C9EA0 25290004 */ addiu $t1, $t1, 4 -/* 0FE9D4 7F0C9EA4 10B00036 */ beq $a1, $s0, .L7F0C9F80 -.L7F0C9EA8: -/* 0FE9D8 7F0C9EA8 00057880 */ sll $t7, $a1, 2 -/* 0FE9DC 7F0C9EAC 014F4821 */ addu $t1, $t2, $t7 -.L7F0C9EB0: -/* 0FE9E0 7F0C9EB0 90590000 */ lbu $t9, ($v0) -/* 0FE9E4 7F0C9EB4 90980000 */ lbu $t8, ($a0) -/* 0FE9E8 7F0C9EB8 24A50004 */ addiu $a1, $a1, 4 -/* 0FE9EC 7F0C9EBC 00197600 */ sll $t6, $t9, 0x18 -/* 0FE9F0 7F0C9EC0 90790000 */ lbu $t9, ($v1) -/* 0FE9F4 7F0C9EC4 030E7825 */ or $t7, $t8, $t6 -/* 0FE9F8 7F0C9EC8 25080004 */ addiu $t0, $t0, 4 -/* 0FE9FC 7F0C9ECC 0019C400 */ sll $t8, $t9, 0x10 -/* 0FEA00 7F0C9ED0 92790000 */ lbu $t9, ($s3) -/* 0FEA04 7F0C9ED4 01F87025 */ or $t6, $t7, $t8 -/* 0FEA08 7F0C9ED8 24420004 */ addiu $v0, $v0, 4 -/* 0FEA0C 7F0C9EDC 00197A00 */ sll $t7, $t9, 8 -/* 0FEA10 7F0C9EE0 01CFC025 */ or $t8, $t6, $t7 -/* 0FEA14 7F0C9EE4 AD380000 */ sw $t8, ($t1) -/* 0FEA18 7F0C9EE8 904EFFFD */ lbu $t6, -3($v0) -/* 0FEA1C 7F0C9EEC 90990001 */ lbu $t9, 1($a0) -/* 0FEA20 7F0C9EF0 24840004 */ addiu $a0, $a0, 4 -/* 0FEA24 7F0C9EF4 000E7E00 */ sll $t7, $t6, 0x18 -/* 0FEA28 7F0C9EF8 906E0001 */ lbu $t6, 1($v1) -/* 0FEA2C 7F0C9EFC 032FC025 */ or $t8, $t9, $t7 -/* 0FEA30 7F0C9F00 24630004 */ addiu $v1, $v1, 4 -/* 0FEA34 7F0C9F04 000ECC00 */ sll $t9, $t6, 0x10 -/* 0FEA38 7F0C9F08 926E0001 */ lbu $t6, 1($s3) -/* 0FEA3C 7F0C9F0C 03197825 */ or $t7, $t8, $t9 -/* 0FEA40 7F0C9F10 26730004 */ addiu $s3, $s3, 4 -/* 0FEA44 7F0C9F14 000EC200 */ sll $t8, $t6, 8 -/* 0FEA48 7F0C9F18 01F8C825 */ or $t9, $t7, $t8 -/* 0FEA4C 7F0C9F1C AD390004 */ sw $t9, 4($t1) -/* 0FEA50 7F0C9F20 904FFFFE */ lbu $t7, -2($v0) -/* 0FEA54 7F0C9F24 908EFFFE */ lbu $t6, -2($a0) -/* 0FEA58 7F0C9F28 25290010 */ addiu $t1, $t1, 0x10 -/* 0FEA5C 7F0C9F2C 000FC600 */ sll $t8, $t7, 0x18 -/* 0FEA60 7F0C9F30 906FFFFE */ lbu $t7, -2($v1) -/* 0FEA64 7F0C9F34 01D8C825 */ or $t9, $t6, $t8 -/* 0FEA68 7F0C9F38 000F7400 */ sll $t6, $t7, 0x10 -/* 0FEA6C 7F0C9F3C 926FFFFE */ lbu $t7, -2($s3) -/* 0FEA70 7F0C9F40 032EC025 */ or $t8, $t9, $t6 -/* 0FEA74 7F0C9F44 000FCA00 */ sll $t9, $t7, 8 -/* 0FEA78 7F0C9F48 03197025 */ or $t6, $t8, $t9 -/* 0FEA7C 7F0C9F4C AD2EFFF8 */ sw $t6, -8($t1) -/* 0FEA80 7F0C9F50 9058FFFF */ lbu $t8, -1($v0) -/* 0FEA84 7F0C9F54 908FFFFF */ lbu $t7, -1($a0) -/* 0FEA88 7F0C9F58 0018CE00 */ sll $t9, $t8, 0x18 -/* 0FEA8C 7F0C9F5C 9078FFFF */ lbu $t8, -1($v1) -/* 0FEA90 7F0C9F60 01F97025 */ or $t6, $t7, $t9 -/* 0FEA94 7F0C9F64 00187C00 */ sll $t7, $t8, 0x10 -/* 0FEA98 7F0C9F68 9278FFFF */ lbu $t8, -1($s3) -/* 0FEA9C 7F0C9F6C 01CFC825 */ or $t9, $t6, $t7 -/* 0FEAA0 7F0C9F70 00187200 */ sll $t6, $t8, 8 -/* 0FEAA4 7F0C9F74 032E7825 */ or $t7, $t9, $t6 -/* 0FEAA8 7F0C9F78 14B0FFCD */ bne $a1, $s0, .L7F0C9EB0 -/* 0FEAAC 7F0C9F7C AD2FFFFC */ sw $t7, -4($t1) -.L7F0C9F80: -/* 0FEAB0 7F0C9F80 8FB8001C */ lw $t8, 0x1c($sp) -/* 0FEAB4 7F0C9F84 24E70001 */ addiu $a3, $a3, 1 -/* 0FEAB8 7F0C9F88 14F2FFA1 */ bne $a3, $s2, .L7F0C9E10 -/* 0FEABC 7F0C9F8C 01585021 */ addu $t2, $t2, $t8 -.L7F0C9F90: -/* 0FEAC0 7F0C9F90 26190003 */ addiu $t9, $s0, 3 -/* 0FEAC4 7F0C9F94 332E0FFC */ andi $t6, $t9, 0xffc -/* 0FEAC8 7F0C9F98 01D20019 */ multu $t6, $s2 -/* 0FEACC 7F0C9F9C 00001012 */ mflo $v0 -/* 0FEAD0 7F0C9FA0 00027880 */ sll $t7, $v0, 2 -/* 0FEAD4 7F0C9FA4 10000234 */ b .L7F0CA878 -/* 0FEAD8 7F0C9FA8 01E01025 */ move $v0, $t7 -.L7F0C9FAC: -/* 0FEADC 7F0C9FAC 1A40005B */ blez $s2, .L7F0CA11C -/* 0FEAE0 7F0C9FB0 00003825 */ move $a3, $zero -/* 0FEAE4 7F0C9FB4 26180003 */ addiu $t8, $s0, 3 -/* 0FEAE8 7F0C9FB8 33190FFC */ andi $t9, $t8, 0xffc -/* 0FEAEC 7F0C9FBC 00197080 */ sll $t6, $t9, 2 -/* 0FEAF0 7F0C9FC0 AFAE001C */ sw $t6, 0x1c($sp) -.L7F0C9FC4: -/* 0FEAF4 7F0C9FC4 1A000051 */ blez $s0, .L7F0CA10C -/* 0FEAF8 7F0C9FC8 00002825 */ move $a1, $zero -/* 0FEAFC 7F0C9FCC 02120019 */ multu $s0, $s2 -/* 0FEB00 7F0C9FD0 02287821 */ addu $t7, $s1, $t0 -/* 0FEB04 7F0C9FD4 32060003 */ andi $a2, $s0, 3 -/* 0FEB08 7F0C9FD8 00007080 */ sll $t6, $zero, 2 -/* 0FEB0C 7F0C9FDC 014E4821 */ addu $t1, $t2, $t6 -/* 0FEB10 7F0C9FE0 00C02025 */ move $a0, $a2 -/* 0FEB14 7F0C9FE4 02281021 */ addu $v0, $s1, $t0 -/* 0FEB18 7F0C9FE8 00005812 */ mflo $t3 -/* 0FEB1C 7F0C9FEC 000BC040 */ sll $t8, $t3, 1 -/* 0FEB20 7F0C9FF0 0308C821 */ addu $t9, $t8, $t0 -/* 0FEB24 7F0C9FF4 03316021 */ addu $t4, $t9, $s1 -/* 0FEB28 7F0C9FF8 10C00013 */ beqz $a2, .L7F0CA048 -/* 0FEB2C 7F0C9FFC 01EB1821 */ addu $v1, $t7, $t3 -.L7F0CA000: -/* 0FEB30 7F0CA000 90590000 */ lbu $t9, ($v0) -/* 0FEB34 7F0CA004 918F0000 */ lbu $t7, ($t4) -/* 0FEB38 7F0CA008 24A50001 */ addiu $a1, $a1, 1 -/* 0FEB3C 7F0CA00C 00197600 */ sll $t6, $t9, 0x18 -/* 0FEB40 7F0CA010 90790000 */ lbu $t9, ($v1) -/* 0FEB44 7F0CA014 000FC200 */ sll $t8, $t7, 8 -/* 0FEB48 7F0CA018 030E7825 */ or $t7, $t8, $t6 -/* 0FEB4C 7F0CA01C 0019C400 */ sll $t8, $t9, 0x10 -/* 0FEB50 7F0CA020 01F87025 */ or $t6, $t7, $t8 -/* 0FEB54 7F0CA024 35D900FF */ ori $t9, $t6, 0xff -/* 0FEB58 7F0CA028 AD390000 */ sw $t9, ($t1) -/* 0FEB5C 7F0CA02C 25080001 */ addiu $t0, $t0, 1 -/* 0FEB60 7F0CA030 24420001 */ addiu $v0, $v0, 1 -/* 0FEB64 7F0CA034 24630001 */ addiu $v1, $v1, 1 -/* 0FEB68 7F0CA038 258C0001 */ addiu $t4, $t4, 1 -/* 0FEB6C 7F0CA03C 1485FFF0 */ bne $a0, $a1, .L7F0CA000 -/* 0FEB70 7F0CA040 25290004 */ addiu $t1, $t1, 4 -/* 0FEB74 7F0CA044 10B00031 */ beq $a1, $s0, .L7F0CA10C -.L7F0CA048: -/* 0FEB78 7F0CA048 00057880 */ sll $t7, $a1, 2 -/* 0FEB7C 7F0CA04C 014F4821 */ addu $t1, $t2, $t7 -.L7F0CA050: -/* 0FEB80 7F0CA050 90590000 */ lbu $t9, ($v0) -/* 0FEB84 7F0CA054 91980000 */ lbu $t8, ($t4) -/* 0FEB88 7F0CA058 24A50004 */ addiu $a1, $a1, 4 -/* 0FEB8C 7F0CA05C 00197E00 */ sll $t7, $t9, 0x18 -/* 0FEB90 7F0CA060 90790000 */ lbu $t9, ($v1) -/* 0FEB94 7F0CA064 00187200 */ sll $t6, $t8, 8 -/* 0FEB98 7F0CA068 01CFC025 */ or $t8, $t6, $t7 -/* 0FEB9C 7F0CA06C 00197400 */ sll $t6, $t9, 0x10 -/* 0FEBA0 7F0CA070 030E7825 */ or $t7, $t8, $t6 -/* 0FEBA4 7F0CA074 35F900FF */ ori $t9, $t7, 0xff -/* 0FEBA8 7F0CA078 AD390000 */ sw $t9, ($t1) -/* 0FEBAC 7F0CA07C 904F0001 */ lbu $t7, 1($v0) -/* 0FEBB0 7F0CA080 91980001 */ lbu $t8, 1($t4) -/* 0FEBB4 7F0CA084 25080004 */ addiu $t0, $t0, 4 -/* 0FEBB8 7F0CA088 000FCE00 */ sll $t9, $t7, 0x18 -/* 0FEBBC 7F0CA08C 906F0001 */ lbu $t7, 1($v1) -/* 0FEBC0 7F0CA090 00187200 */ sll $t6, $t8, 8 -/* 0FEBC4 7F0CA094 01D9C025 */ or $t8, $t6, $t9 -/* 0FEBC8 7F0CA098 000F7400 */ sll $t6, $t7, 0x10 -/* 0FEBCC 7F0CA09C 030EC825 */ or $t9, $t8, $t6 -/* 0FEBD0 7F0CA0A0 372F00FF */ ori $t7, $t9, 0xff -/* 0FEBD4 7F0CA0A4 AD2F0004 */ sw $t7, 4($t1) -/* 0FEBD8 7F0CA0A8 90590002 */ lbu $t9, 2($v0) -/* 0FEBDC 7F0CA0AC 91980002 */ lbu $t8, 2($t4) -/* 0FEBE0 7F0CA0B0 24420004 */ addiu $v0, $v0, 4 -/* 0FEBE4 7F0CA0B4 00197E00 */ sll $t7, $t9, 0x18 -/* 0FEBE8 7F0CA0B8 90790002 */ lbu $t9, 2($v1) -/* 0FEBEC 7F0CA0BC 00187200 */ sll $t6, $t8, 8 -/* 0FEBF0 7F0CA0C0 01CFC025 */ or $t8, $t6, $t7 -/* 0FEBF4 7F0CA0C4 00197400 */ sll $t6, $t9, 0x10 -/* 0FEBF8 7F0CA0C8 030E7825 */ or $t7, $t8, $t6 -/* 0FEBFC 7F0CA0CC 35F900FF */ ori $t9, $t7, 0xff -/* 0FEC00 7F0CA0D0 AD390008 */ sw $t9, 8($t1) -/* 0FEC04 7F0CA0D4 904FFFFF */ lbu $t7, -1($v0) -/* 0FEC08 7F0CA0D8 91980003 */ lbu $t8, 3($t4) -/* 0FEC0C 7F0CA0DC 24630004 */ addiu $v1, $v1, 4 -/* 0FEC10 7F0CA0E0 000FCE00 */ sll $t9, $t7, 0x18 -/* 0FEC14 7F0CA0E4 906FFFFF */ lbu $t7, -1($v1) -/* 0FEC18 7F0CA0E8 00187200 */ sll $t6, $t8, 8 -/* 0FEC1C 7F0CA0EC 01D9C025 */ or $t8, $t6, $t9 -/* 0FEC20 7F0CA0F0 000F7400 */ sll $t6, $t7, 0x10 -/* 0FEC24 7F0CA0F4 030EC825 */ or $t9, $t8, $t6 -/* 0FEC28 7F0CA0F8 372F00FF */ ori $t7, $t9, 0xff -/* 0FEC2C 7F0CA0FC AD2F000C */ sw $t7, 0xc($t1) -/* 0FEC30 7F0CA100 258C0004 */ addiu $t4, $t4, 4 -/* 0FEC34 7F0CA104 14B0FFD2 */ bne $a1, $s0, .L7F0CA050 -/* 0FEC38 7F0CA108 25290010 */ addiu $t1, $t1, 0x10 -.L7F0CA10C: -/* 0FEC3C 7F0CA10C 8FB8001C */ lw $t8, 0x1c($sp) -/* 0FEC40 7F0CA110 24E70001 */ addiu $a3, $a3, 1 -/* 0FEC44 7F0CA114 14F2FFAB */ bne $a3, $s2, .L7F0C9FC4 -/* 0FEC48 7F0CA118 01585021 */ addu $t2, $t2, $t8 -.L7F0CA11C: -/* 0FEC4C 7F0CA11C 260E0003 */ addiu $t6, $s0, 3 -/* 0FEC50 7F0CA120 31D90FFC */ andi $t9, $t6, 0xffc -/* 0FEC54 7F0CA124 03320019 */ multu $t9, $s2 -/* 0FEC58 7F0CA128 00001012 */ mflo $v0 -/* 0FEC5C 7F0CA12C 00027880 */ sll $t7, $v0, 2 -/* 0FEC60 7F0CA130 100001D1 */ b .L7F0CA878 -/* 0FEC64 7F0CA134 01E01025 */ move $v0, $t7 -.L7F0CA138: -/* 0FEC68 7F0CA138 1A400065 */ blez $s2, .L7F0CA2D0 -/* 0FEC6C 7F0CA13C 00003825 */ move $a3, $zero -/* 0FEC70 7F0CA140 26180003 */ addiu $t8, $s0, 3 -/* 0FEC74 7F0CA144 330E0FFC */ andi $t6, $t8, 0xffc -/* 0FEC78 7F0CA148 000EC840 */ sll $t9, $t6, 1 -/* 0FEC7C 7F0CA14C AFB9001C */ sw $t9, 0x1c($sp) -.L7F0CA150: -/* 0FEC80 7F0CA150 1A00005B */ blez $s0, .L7F0CA2C0 -/* 0FEC84 7F0CA154 00002825 */ move $a1, $zero -/* 0FEC88 7F0CA158 02120019 */ multu $s0, $s2 -/* 0FEC8C 7F0CA15C 02286021 */ addu $t4, $s1, $t0 -/* 0FEC90 7F0CA160 32060003 */ andi $a2, $s0, 3 -/* 0FEC94 7F0CA164 0000C840 */ sll $t9, $zero, 1 -/* 0FEC98 7F0CA168 01395021 */ addu $t2, $t1, $t9 -/* 0FEC9C 7F0CA16C 00C06825 */ move $t5, $a2 -/* 0FECA0 7F0CA170 02281021 */ addu $v0, $s1, $t0 -/* 0FECA4 7F0CA174 00005812 */ mflo $t3 -/* 0FECA8 7F0CA178 000B7880 */ sll $t7, $t3, 2 -/* 0FECAC 7F0CA17C 01EB7823 */ subu $t7, $t7, $t3 -/* 0FECB0 7F0CA180 01E8C021 */ addu $t8, $t7, $t0 -/* 0FECB4 7F0CA184 000B7040 */ sll $t6, $t3, 1 -/* 0FECB8 7F0CA188 018E9821 */ addu $s3, $t4, $t6 -/* 0FECBC 7F0CA18C 03112021 */ addu $a0, $t8, $s1 -/* 0FECC0 7F0CA190 10C00015 */ beqz $a2, .L7F0CA1E8 -/* 0FECC4 7F0CA194 018B1821 */ addu $v1, $t4, $t3 -.L7F0CA198: -/* 0FECC8 7F0CA198 90580000 */ lbu $t8, ($v0) -/* 0FECCC 7F0CA19C 908F0000 */ lbu $t7, ($a0) -/* 0FECD0 7F0CA1A0 24A50001 */ addiu $a1, $a1, 1 -/* 0FECD4 7F0CA1A4 001872C0 */ sll $t6, $t8, 0xb -/* 0FECD8 7F0CA1A8 90780000 */ lbu $t8, ($v1) -/* 0FECDC 7F0CA1AC 01EEC825 */ or $t9, $t7, $t6 -/* 0FECE0 7F0CA1B0 25080001 */ addiu $t0, $t0, 1 -/* 0FECE4 7F0CA1B4 00187980 */ sll $t7, $t8, 6 -/* 0FECE8 7F0CA1B8 92780000 */ lbu $t8, ($s3) -/* 0FECEC 7F0CA1BC 032F7025 */ or $t6, $t9, $t7 -/* 0FECF0 7F0CA1C0 24420001 */ addiu $v0, $v0, 1 -/* 0FECF4 7F0CA1C4 0018C840 */ sll $t9, $t8, 1 -/* 0FECF8 7F0CA1C8 01D97825 */ or $t7, $t6, $t9 -/* 0FECFC 7F0CA1CC A54F0000 */ sh $t7, ($t2) -/* 0FED00 7F0CA1D0 24840001 */ addiu $a0, $a0, 1 -/* 0FED04 7F0CA1D4 24630001 */ addiu $v1, $v1, 1 -/* 0FED08 7F0CA1D8 26730001 */ addiu $s3, $s3, 1 -/* 0FED0C 7F0CA1DC 15A5FFEE */ bne $t5, $a1, .L7F0CA198 -/* 0FED10 7F0CA1E0 254A0002 */ addiu $t2, $t2, 2 -/* 0FED14 7F0CA1E4 10B00036 */ beq $a1, $s0, .L7F0CA2C0 -.L7F0CA1E8: -/* 0FED18 7F0CA1E8 0005C040 */ sll $t8, $a1, 1 -/* 0FED1C 7F0CA1EC 01385021 */ addu $t2, $t1, $t8 -.L7F0CA1F0: -/* 0FED20 7F0CA1F0 90590000 */ lbu $t9, ($v0) -/* 0FED24 7F0CA1F4 908E0000 */ lbu $t6, ($a0) -/* 0FED28 7F0CA1F8 24A50004 */ addiu $a1, $a1, 4 -/* 0FED2C 7F0CA1FC 00197AC0 */ sll $t7, $t9, 0xb -/* 0FED30 7F0CA200 90790000 */ lbu $t9, ($v1) -/* 0FED34 7F0CA204 01CFC025 */ or $t8, $t6, $t7 -/* 0FED38 7F0CA208 25080004 */ addiu $t0, $t0, 4 -/* 0FED3C 7F0CA20C 00197180 */ sll $t6, $t9, 6 -/* 0FED40 7F0CA210 92790000 */ lbu $t9, ($s3) -/* 0FED44 7F0CA214 030E7825 */ or $t7, $t8, $t6 -/* 0FED48 7F0CA218 24420004 */ addiu $v0, $v0, 4 -/* 0FED4C 7F0CA21C 0019C040 */ sll $t8, $t9, 1 -/* 0FED50 7F0CA220 01F87025 */ or $t6, $t7, $t8 -/* 0FED54 7F0CA224 A54E0000 */ sh $t6, ($t2) -/* 0FED58 7F0CA228 904FFFFD */ lbu $t7, -3($v0) -/* 0FED5C 7F0CA22C 90990001 */ lbu $t9, 1($a0) -/* 0FED60 7F0CA230 24840004 */ addiu $a0, $a0, 4 -/* 0FED64 7F0CA234 000FC2C0 */ sll $t8, $t7, 0xb -/* 0FED68 7F0CA238 906F0001 */ lbu $t7, 1($v1) -/* 0FED6C 7F0CA23C 03387025 */ or $t6, $t9, $t8 -/* 0FED70 7F0CA240 24630004 */ addiu $v1, $v1, 4 -/* 0FED74 7F0CA244 000FC980 */ sll $t9, $t7, 6 -/* 0FED78 7F0CA248 926F0001 */ lbu $t7, 1($s3) -/* 0FED7C 7F0CA24C 01D9C025 */ or $t8, $t6, $t9 -/* 0FED80 7F0CA250 26730004 */ addiu $s3, $s3, 4 -/* 0FED84 7F0CA254 000F7040 */ sll $t6, $t7, 1 -/* 0FED88 7F0CA258 030EC825 */ or $t9, $t8, $t6 -/* 0FED8C 7F0CA25C A5590002 */ sh $t9, 2($t2) -/* 0FED90 7F0CA260 9058FFFE */ lbu $t8, -2($v0) -/* 0FED94 7F0CA264 908FFFFE */ lbu $t7, -2($a0) -/* 0FED98 7F0CA268 254A0008 */ addiu $t2, $t2, 8 -/* 0FED9C 7F0CA26C 001872C0 */ sll $t6, $t8, 0xb -/* 0FEDA0 7F0CA270 9078FFFE */ lbu $t8, -2($v1) -/* 0FEDA4 7F0CA274 01EEC825 */ or $t9, $t7, $t6 -/* 0FEDA8 7F0CA278 00187980 */ sll $t7, $t8, 6 -/* 0FEDAC 7F0CA27C 9278FFFE */ lbu $t8, -2($s3) -/* 0FEDB0 7F0CA280 032F7025 */ or $t6, $t9, $t7 -/* 0FEDB4 7F0CA284 0018C840 */ sll $t9, $t8, 1 -/* 0FEDB8 7F0CA288 01D97825 */ or $t7, $t6, $t9 -/* 0FEDBC 7F0CA28C A54FFFFC */ sh $t7, -4($t2) -/* 0FEDC0 7F0CA290 904EFFFF */ lbu $t6, -1($v0) -/* 0FEDC4 7F0CA294 9098FFFF */ lbu $t8, -1($a0) -/* 0FEDC8 7F0CA298 000ECAC0 */ sll $t9, $t6, 0xb -/* 0FEDCC 7F0CA29C 906EFFFF */ lbu $t6, -1($v1) -/* 0FEDD0 7F0CA2A0 03197825 */ or $t7, $t8, $t9 -/* 0FEDD4 7F0CA2A4 000EC180 */ sll $t8, $t6, 6 -/* 0FEDD8 7F0CA2A8 926EFFFF */ lbu $t6, -1($s3) -/* 0FEDDC 7F0CA2AC 01F8C825 */ or $t9, $t7, $t8 -/* 0FEDE0 7F0CA2B0 000E7840 */ sll $t7, $t6, 1 -/* 0FEDE4 7F0CA2B4 032FC025 */ or $t8, $t9, $t7 -/* 0FEDE8 7F0CA2B8 14B0FFCD */ bne $a1, $s0, .L7F0CA1F0 -/* 0FEDEC 7F0CA2BC A558FFFE */ sh $t8, -2($t2) -.L7F0CA2C0: -/* 0FEDF0 7F0CA2C0 8FAE001C */ lw $t6, 0x1c($sp) -/* 0FEDF4 7F0CA2C4 24E70001 */ addiu $a3, $a3, 1 -/* 0FEDF8 7F0CA2C8 14F2FFA1 */ bne $a3, $s2, .L7F0CA150 -/* 0FEDFC 7F0CA2CC 012E4821 */ addu $t1, $t1, $t6 -.L7F0CA2D0: -/* 0FEE00 7F0CA2D0 26190003 */ addiu $t9, $s0, 3 -/* 0FEE04 7F0CA2D4 332F0FFC */ andi $t7, $t9, 0xffc -/* 0FEE08 7F0CA2D8 01F20019 */ multu $t7, $s2 -/* 0FEE0C 7F0CA2DC 00001012 */ mflo $v0 -/* 0FEE10 7F0CA2E0 0002C040 */ sll $t8, $v0, 1 -/* 0FEE14 7F0CA2E4 10000164 */ b .L7F0CA878 -/* 0FEE18 7F0CA2E8 03001025 */ move $v0, $t8 -.L7F0CA2EC: -/* 0FEE1C 7F0CA2EC 1A40003D */ blez $s2, .L7F0CA3E4 -/* 0FEE20 7F0CA2F0 00003825 */ move $a3, $zero -/* 0FEE24 7F0CA2F4 260E0003 */ addiu $t6, $s0, 3 -/* 0FEE28 7F0CA2F8 31D90FFC */ andi $t9, $t6, 0xffc -/* 0FEE2C 7F0CA2FC 00197840 */ sll $t7, $t9, 1 -/* 0FEE30 7F0CA300 AFAF001C */ sw $t7, 0x1c($sp) -.L7F0CA304: -/* 0FEE34 7F0CA304 1A000033 */ blez $s0, .L7F0CA3D4 -/* 0FEE38 7F0CA308 00002825 */ move $a1, $zero -/* 0FEE3C 7F0CA30C 02120019 */ multu $s0, $s2 -/* 0FEE40 7F0CA310 32060003 */ andi $a2, $s0, 3 -/* 0FEE44 7F0CA314 0000C840 */ sll $t9, $zero, 1 -/* 0FEE48 7F0CA318 01395021 */ addu $t2, $t1, $t9 -/* 0FEE4C 7F0CA31C 00C01825 */ move $v1, $a2 -/* 0FEE50 7F0CA320 02281021 */ addu $v0, $s1, $t0 -/* 0FEE54 7F0CA324 0000C012 */ mflo $t8 -/* 0FEE58 7F0CA328 01187021 */ addu $t6, $t0, $t8 -/* 0FEE5C 7F0CA32C 10C0000D */ beqz $a2, .L7F0CA364 -/* 0FEE60 7F0CA330 01D15821 */ addu $t3, $t6, $s1 -.L7F0CA334: -/* 0FEE64 7F0CA334 90580000 */ lbu $t8, ($v0) -/* 0FEE68 7F0CA338 916F0000 */ lbu $t7, ($t3) -/* 0FEE6C 7F0CA33C 24A50001 */ addiu $a1, $a1, 1 -/* 0FEE70 7F0CA340 00187200 */ sll $t6, $t8, 8 -/* 0FEE74 7F0CA344 01EEC825 */ or $t9, $t7, $t6 -/* 0FEE78 7F0CA348 A5590000 */ sh $t9, ($t2) -/* 0FEE7C 7F0CA34C 25080001 */ addiu $t0, $t0, 1 -/* 0FEE80 7F0CA350 24420001 */ addiu $v0, $v0, 1 -/* 0FEE84 7F0CA354 256B0001 */ addiu $t3, $t3, 1 -/* 0FEE88 7F0CA358 1465FFF6 */ bne $v1, $a1, .L7F0CA334 -/* 0FEE8C 7F0CA35C 254A0002 */ addiu $t2, $t2, 2 -/* 0FEE90 7F0CA360 10B0001C */ beq $a1, $s0, .L7F0CA3D4 -.L7F0CA364: -/* 0FEE94 7F0CA364 0005C040 */ sll $t8, $a1, 1 -/* 0FEE98 7F0CA368 01385021 */ addu $t2, $t1, $t8 -.L7F0CA36C: -/* 0FEE9C 7F0CA36C 904E0000 */ lbu $t6, ($v0) -/* 0FEEA0 7F0CA370 916F0000 */ lbu $t7, ($t3) -/* 0FEEA4 7F0CA374 24A50004 */ addiu $a1, $a1, 4 -/* 0FEEA8 7F0CA378 000ECA00 */ sll $t9, $t6, 8 -/* 0FEEAC 7F0CA37C 01F9C025 */ or $t8, $t7, $t9 -/* 0FEEB0 7F0CA380 A5580000 */ sh $t8, ($t2) -/* 0FEEB4 7F0CA384 904F0001 */ lbu $t7, 1($v0) -/* 0FEEB8 7F0CA388 916E0001 */ lbu $t6, 1($t3) -/* 0FEEBC 7F0CA38C 25080004 */ addiu $t0, $t0, 4 -/* 0FEEC0 7F0CA390 000FCA00 */ sll $t9, $t7, 8 -/* 0FEEC4 7F0CA394 01D9C025 */ or $t8, $t6, $t9 -/* 0FEEC8 7F0CA398 A5580002 */ sh $t8, 2($t2) -/* 0FEECC 7F0CA39C 904E0002 */ lbu $t6, 2($v0) -/* 0FEED0 7F0CA3A0 916F0002 */ lbu $t7, 2($t3) -/* 0FEED4 7F0CA3A4 24420004 */ addiu $v0, $v0, 4 -/* 0FEED8 7F0CA3A8 000ECA00 */ sll $t9, $t6, 8 -/* 0FEEDC 7F0CA3AC 01F9C025 */ or $t8, $t7, $t9 -/* 0FEEE0 7F0CA3B0 A5580004 */ sh $t8, 4($t2) -/* 0FEEE4 7F0CA3B4 904FFFFF */ lbu $t7, -1($v0) -/* 0FEEE8 7F0CA3B8 916E0003 */ lbu $t6, 3($t3) -/* 0FEEEC 7F0CA3BC 256B0004 */ addiu $t3, $t3, 4 -/* 0FEEF0 7F0CA3C0 000FCA00 */ sll $t9, $t7, 8 -/* 0FEEF4 7F0CA3C4 01D9C025 */ or $t8, $t6, $t9 -/* 0FEEF8 7F0CA3C8 A5580006 */ sh $t8, 6($t2) -/* 0FEEFC 7F0CA3CC 14B0FFE7 */ bne $a1, $s0, .L7F0CA36C -/* 0FEF00 7F0CA3D0 254A0008 */ addiu $t2, $t2, 8 -.L7F0CA3D4: -/* 0FEF04 7F0CA3D4 8FAF001C */ lw $t7, 0x1c($sp) -/* 0FEF08 7F0CA3D8 24E70001 */ addiu $a3, $a3, 1 -/* 0FEF0C 7F0CA3DC 14F2FFC9 */ bne $a3, $s2, .L7F0CA304 -/* 0FEF10 7F0CA3E0 012F4821 */ addu $t1, $t1, $t7 -.L7F0CA3E4: -/* 0FEF14 7F0CA3E4 260E0003 */ addiu $t6, $s0, 3 -/* 0FEF18 7F0CA3E8 31D90FFC */ andi $t9, $t6, 0xffc -/* 0FEF1C 7F0CA3EC 03320019 */ multu $t9, $s2 -/* 0FEF20 7F0CA3F0 00001012 */ mflo $v0 -/* 0FEF24 7F0CA3F4 0002C040 */ sll $t8, $v0, 1 -/* 0FEF28 7F0CA3F8 1000011F */ b .L7F0CA878 -/* 0FEF2C 7F0CA3FC 03001025 */ move $v0, $t8 -.L7F0CA400: -/* 0FEF30 7F0CA400 1A40005B */ blez $s2, .L7F0CA570 -/* 0FEF34 7F0CA404 00003825 */ move $a3, $zero -/* 0FEF38 7F0CA408 260F0003 */ addiu $t7, $s0, 3 -/* 0FEF3C 7F0CA40C 31EE0FFC */ andi $t6, $t7, 0xffc -/* 0FEF40 7F0CA410 000EC840 */ sll $t9, $t6, 1 -/* 0FEF44 7F0CA414 AFB9001C */ sw $t9, 0x1c($sp) -.L7F0CA418: -/* 0FEF48 7F0CA418 1A000051 */ blez $s0, .L7F0CA560 -/* 0FEF4C 7F0CA41C 00002825 */ move $a1, $zero -/* 0FEF50 7F0CA420 02120019 */ multu $s0, $s2 -/* 0FEF54 7F0CA424 0228C021 */ addu $t8, $s1, $t0 -/* 0FEF58 7F0CA428 32060003 */ andi $a2, $s0, 3 -/* 0FEF5C 7F0CA42C 0000C840 */ sll $t9, $zero, 1 -/* 0FEF60 7F0CA430 01395021 */ addu $t2, $t1, $t9 -/* 0FEF64 7F0CA434 00C02025 */ move $a0, $a2 -/* 0FEF68 7F0CA438 02281021 */ addu $v0, $s1, $t0 -/* 0FEF6C 7F0CA43C 00005812 */ mflo $t3 -/* 0FEF70 7F0CA440 000B7840 */ sll $t7, $t3, 1 -/* 0FEF74 7F0CA444 01E87021 */ addu $t6, $t7, $t0 -/* 0FEF78 7F0CA448 01D16021 */ addu $t4, $t6, $s1 -/* 0FEF7C 7F0CA44C 10C00013 */ beqz $a2, .L7F0CA49C -/* 0FEF80 7F0CA450 030B1821 */ addu $v1, $t8, $t3 -.L7F0CA454: -/* 0FEF84 7F0CA454 904E0000 */ lbu $t6, ($v0) -/* 0FEF88 7F0CA458 91980000 */ lbu $t8, ($t4) -/* 0FEF8C 7F0CA45C 24A50001 */ addiu $a1, $a1, 1 -/* 0FEF90 7F0CA460 000ECAC0 */ sll $t9, $t6, 0xb -/* 0FEF94 7F0CA464 906E0000 */ lbu $t6, ($v1) -/* 0FEF98 7F0CA468 00187840 */ sll $t7, $t8, 1 -/* 0FEF9C 7F0CA46C 01F9C025 */ or $t8, $t7, $t9 -/* 0FEFA0 7F0CA470 000E7980 */ sll $t7, $t6, 6 -/* 0FEFA4 7F0CA474 030FC825 */ or $t9, $t8, $t7 -/* 0FEFA8 7F0CA478 372E0001 */ ori $t6, $t9, 1 -/* 0FEFAC 7F0CA47C A54E0000 */ sh $t6, ($t2) -/* 0FEFB0 7F0CA480 25080001 */ addiu $t0, $t0, 1 -/* 0FEFB4 7F0CA484 24420001 */ addiu $v0, $v0, 1 -/* 0FEFB8 7F0CA488 24630001 */ addiu $v1, $v1, 1 -/* 0FEFBC 7F0CA48C 258C0001 */ addiu $t4, $t4, 1 -/* 0FEFC0 7F0CA490 1485FFF0 */ bne $a0, $a1, .L7F0CA454 -/* 0FEFC4 7F0CA494 254A0002 */ addiu $t2, $t2, 2 -/* 0FEFC8 7F0CA498 10B00031 */ beq $a1, $s0, .L7F0CA560 -.L7F0CA49C: -/* 0FEFCC 7F0CA49C 0005C040 */ sll $t8, $a1, 1 -/* 0FEFD0 7F0CA4A0 01385021 */ addu $t2, $t1, $t8 -.L7F0CA4A4: -/* 0FEFD4 7F0CA4A4 904E0000 */ lbu $t6, ($v0) -/* 0FEFD8 7F0CA4A8 918F0000 */ lbu $t7, ($t4) -/* 0FEFDC 7F0CA4AC 24A50004 */ addiu $a1, $a1, 4 -/* 0FEFE0 7F0CA4B0 000EC2C0 */ sll $t8, $t6, 0xb -/* 0FEFE4 7F0CA4B4 906E0000 */ lbu $t6, ($v1) -/* 0FEFE8 7F0CA4B8 000FC840 */ sll $t9, $t7, 1 -/* 0FEFEC 7F0CA4BC 03387825 */ or $t7, $t9, $t8 -/* 0FEFF0 7F0CA4C0 000EC980 */ sll $t9, $t6, 6 -/* 0FEFF4 7F0CA4C4 01F9C025 */ or $t8, $t7, $t9 -/* 0FEFF8 7F0CA4C8 370E0001 */ ori $t6, $t8, 1 -/* 0FEFFC 7F0CA4CC A54E0000 */ sh $t6, ($t2) -/* 0FF000 7F0CA4D0 90580001 */ lbu $t8, 1($v0) -/* 0FF004 7F0CA4D4 918F0001 */ lbu $t7, 1($t4) -/* 0FF008 7F0CA4D8 25080004 */ addiu $t0, $t0, 4 -/* 0FF00C 7F0CA4DC 001872C0 */ sll $t6, $t8, 0xb -/* 0FF010 7F0CA4E0 90780001 */ lbu $t8, 1($v1) -/* 0FF014 7F0CA4E4 000FC840 */ sll $t9, $t7, 1 -/* 0FF018 7F0CA4E8 032E7825 */ or $t7, $t9, $t6 -/* 0FF01C 7F0CA4EC 0018C980 */ sll $t9, $t8, 6 -/* 0FF020 7F0CA4F0 01F97025 */ or $t6, $t7, $t9 -/* 0FF024 7F0CA4F4 35D80001 */ ori $t8, $t6, 1 -/* 0FF028 7F0CA4F8 A5580002 */ sh $t8, 2($t2) -/* 0FF02C 7F0CA4FC 904E0002 */ lbu $t6, 2($v0) -/* 0FF030 7F0CA500 918F0002 */ lbu $t7, 2($t4) -/* 0FF034 7F0CA504 24420004 */ addiu $v0, $v0, 4 -/* 0FF038 7F0CA508 000EC2C0 */ sll $t8, $t6, 0xb -/* 0FF03C 7F0CA50C 906E0002 */ lbu $t6, 2($v1) -/* 0FF040 7F0CA510 000FC840 */ sll $t9, $t7, 1 -/* 0FF044 7F0CA514 03387825 */ or $t7, $t9, $t8 -/* 0FF048 7F0CA518 000EC980 */ sll $t9, $t6, 6 -/* 0FF04C 7F0CA51C 01F9C025 */ or $t8, $t7, $t9 -/* 0FF050 7F0CA520 370E0001 */ ori $t6, $t8, 1 -/* 0FF054 7F0CA524 A54E0004 */ sh $t6, 4($t2) -/* 0FF058 7F0CA528 9058FFFF */ lbu $t8, -1($v0) -/* 0FF05C 7F0CA52C 918F0003 */ lbu $t7, 3($t4) -/* 0FF060 7F0CA530 24630004 */ addiu $v1, $v1, 4 -/* 0FF064 7F0CA534 001872C0 */ sll $t6, $t8, 0xb -/* 0FF068 7F0CA538 9078FFFF */ lbu $t8, -1($v1) -/* 0FF06C 7F0CA53C 000FC840 */ sll $t9, $t7, 1 -/* 0FF070 7F0CA540 032E7825 */ or $t7, $t9, $t6 -/* 0FF074 7F0CA544 0018C980 */ sll $t9, $t8, 6 -/* 0FF078 7F0CA548 01F97025 */ or $t6, $t7, $t9 -/* 0FF07C 7F0CA54C 35D80001 */ ori $t8, $t6, 1 -/* 0FF080 7F0CA550 A5580006 */ sh $t8, 6($t2) -/* 0FF084 7F0CA554 258C0004 */ addiu $t4, $t4, 4 -/* 0FF088 7F0CA558 14B0FFD2 */ bne $a1, $s0, .L7F0CA4A4 -/* 0FF08C 7F0CA55C 254A0008 */ addiu $t2, $t2, 8 -.L7F0CA560: -/* 0FF090 7F0CA560 8FAF001C */ lw $t7, 0x1c($sp) -/* 0FF094 7F0CA564 24E70001 */ addiu $a3, $a3, 1 -/* 0FF098 7F0CA568 14F2FFAB */ bne $a3, $s2, .L7F0CA418 -/* 0FF09C 7F0CA56C 012F4821 */ addu $t1, $t1, $t7 -.L7F0CA570: -/* 0FF0A0 7F0CA570 26190003 */ addiu $t9, $s0, 3 -/* 0FF0A4 7F0CA574 332E0FFC */ andi $t6, $t9, 0xffc -/* 0FF0A8 7F0CA578 01D20019 */ multu $t6, $s2 -/* 0FF0AC 7F0CA57C 00001012 */ mflo $v0 -/* 0FF0B0 7F0CA580 0002C040 */ sll $t8, $v0, 1 -/* 0FF0B4 7F0CA584 100000BC */ b .L7F0CA878 -/* 0FF0B8 7F0CA588 03001025 */ move $v0, $t8 -.L7F0CA58C: -/* 0FF0BC 7F0CA58C 1A400039 */ blez $s2, .L7F0CA674 -/* 0FF0C0 7F0CA590 00003825 */ move $a3, $zero -/* 0FF0C4 7F0CA594 26040007 */ addiu $a0, $s0, 7 -/* 0FF0C8 7F0CA598 308F0FF8 */ andi $t7, $a0, 0xff8 -/* 0FF0CC 7F0CA59C 01E02025 */ move $a0, $t7 -.L7F0CA5A0: -/* 0FF0D0 7F0CA5A0 1A000031 */ blez $s0, .L7F0CA668 -/* 0FF0D4 7F0CA5A4 00002825 */ move $a1, $zero -/* 0FF0D8 7F0CA5A8 02120019 */ multu $s0, $s2 -/* 0FF0DC 7F0CA5AC 32060003 */ andi $a2, $s0, 3 -/* 0FF0E0 7F0CA5B0 00C05025 */ move $t2, $a2 -/* 0FF0E4 7F0CA5B4 02281021 */ addu $v0, $s1, $t0 -/* 0FF0E8 7F0CA5B8 00604821 */ addu $t1, $v1, $zero -/* 0FF0EC 7F0CA5BC 0000C812 */ mflo $t9 -/* 0FF0F0 7F0CA5C0 01197021 */ addu $t6, $t0, $t9 -/* 0FF0F4 7F0CA5C4 10C0000D */ beqz $a2, .L7F0CA5FC -/* 0FF0F8 7F0CA5C8 01D15821 */ addu $t3, $t6, $s1 -.L7F0CA5CC: -/* 0FF0FC 7F0CA5CC 904F0000 */ lbu $t7, ($v0) -/* 0FF100 7F0CA5D0 91780000 */ lbu $t8, ($t3) -/* 0FF104 7F0CA5D4 24A50001 */ addiu $a1, $a1, 1 -/* 0FF108 7F0CA5D8 000FC900 */ sll $t9, $t7, 4 -/* 0FF10C 7F0CA5DC 03197025 */ or $t6, $t8, $t9 -/* 0FF110 7F0CA5E0 A12E0000 */ sb $t6, ($t1) -/* 0FF114 7F0CA5E4 25080001 */ addiu $t0, $t0, 1 -/* 0FF118 7F0CA5E8 24420001 */ addiu $v0, $v0, 1 -/* 0FF11C 7F0CA5EC 256B0001 */ addiu $t3, $t3, 1 -/* 0FF120 7F0CA5F0 1545FFF6 */ bne $t2, $a1, .L7F0CA5CC -/* 0FF124 7F0CA5F4 25290001 */ addiu $t1, $t1, 1 -/* 0FF128 7F0CA5F8 10B0001B */ beq $a1, $s0, .L7F0CA668 -.L7F0CA5FC: -/* 0FF12C 7F0CA5FC 00654821 */ addu $t1, $v1, $a1 -.L7F0CA600: -/* 0FF130 7F0CA600 90580000 */ lbu $t8, ($v0) -/* 0FF134 7F0CA604 916F0000 */ lbu $t7, ($t3) -/* 0FF138 7F0CA608 24A50004 */ addiu $a1, $a1, 4 -/* 0FF13C 7F0CA60C 0018C900 */ sll $t9, $t8, 4 -/* 0FF140 7F0CA610 01F97025 */ or $t6, $t7, $t9 -/* 0FF144 7F0CA614 A12E0000 */ sb $t6, ($t1) -/* 0FF148 7F0CA618 904F0001 */ lbu $t7, 1($v0) -/* 0FF14C 7F0CA61C 91780001 */ lbu $t8, 1($t3) -/* 0FF150 7F0CA620 25080004 */ addiu $t0, $t0, 4 -/* 0FF154 7F0CA624 000FC900 */ sll $t9, $t7, 4 -/* 0FF158 7F0CA628 03197025 */ or $t6, $t8, $t9 -/* 0FF15C 7F0CA62C A12E0001 */ sb $t6, 1($t1) -/* 0FF160 7F0CA630 90580002 */ lbu $t8, 2($v0) -/* 0FF164 7F0CA634 916F0002 */ lbu $t7, 2($t3) -/* 0FF168 7F0CA638 24420004 */ addiu $v0, $v0, 4 -/* 0FF16C 7F0CA63C 0018C900 */ sll $t9, $t8, 4 -/* 0FF170 7F0CA640 01F97025 */ or $t6, $t7, $t9 -/* 0FF174 7F0CA644 A12E0002 */ sb $t6, 2($t1) -/* 0FF178 7F0CA648 904FFFFF */ lbu $t7, -1($v0) -/* 0FF17C 7F0CA64C 91780003 */ lbu $t8, 3($t3) -/* 0FF180 7F0CA650 256B0004 */ addiu $t3, $t3, 4 -/* 0FF184 7F0CA654 000FC900 */ sll $t9, $t7, 4 -/* 0FF188 7F0CA658 03197025 */ or $t6, $t8, $t9 -/* 0FF18C 7F0CA65C A12E0003 */ sb $t6, 3($t1) -/* 0FF190 7F0CA660 14B0FFE7 */ bne $a1, $s0, .L7F0CA600 -/* 0FF194 7F0CA664 25290004 */ addiu $t1, $t1, 4 -.L7F0CA668: -/* 0FF198 7F0CA668 24E70001 */ addiu $a3, $a3, 1 -/* 0FF19C 7F0CA66C 14F2FFCC */ bne $a3, $s2, .L7F0CA5A0 -/* 0FF1A0 7F0CA670 00641821 */ addu $v1, $v1, $a0 -.L7F0CA674: -/* 0FF1A4 7F0CA674 260F0007 */ addiu $t7, $s0, 7 -/* 0FF1A8 7F0CA678 31F80FF8 */ andi $t8, $t7, 0xff8 -/* 0FF1AC 7F0CA67C 03120019 */ multu $t8, $s2 -/* 0FF1B0 7F0CA680 00001012 */ mflo $v0 -/* 0FF1B4 7F0CA684 1000007D */ b .L7F0CA87C -/* 0FF1B8 7F0CA688 8FB00008 */ lw $s0, 8($sp) -.L7F0CA68C: -/* 0FF1BC 7F0CA68C 1A400024 */ blez $s2, .L7F0CA720 -/* 0FF1C0 7F0CA690 00003825 */ move $a3, $zero -/* 0FF1C4 7F0CA694 26040007 */ addiu $a0, $s0, 7 -/* 0FF1C8 7F0CA698 30990FF8 */ andi $t9, $a0, 0xff8 -/* 0FF1CC 7F0CA69C 03202025 */ move $a0, $t9 -.L7F0CA6A0: -/* 0FF1D0 7F0CA6A0 1A00001C */ blez $s0, .L7F0CA714 -/* 0FF1D4 7F0CA6A4 00002825 */ move $a1, $zero -/* 0FF1D8 7F0CA6A8 32060003 */ andi $a2, $s0, 3 -/* 0FF1DC 7F0CA6AC 10C0000B */ beqz $a2, .L7F0CA6DC -/* 0FF1E0 7F0CA6B0 02281021 */ addu $v0, $s1, $t0 -/* 0FF1E4 7F0CA6B4 00C05025 */ move $t2, $a2 -/* 0FF1E8 7F0CA6B8 00604821 */ addu $t1, $v1, $zero -.L7F0CA6BC: -/* 0FF1EC 7F0CA6BC 904E0000 */ lbu $t6, ($v0) -/* 0FF1F0 7F0CA6C0 24A50001 */ addiu $a1, $a1, 1 -/* 0FF1F4 7F0CA6C4 25080001 */ addiu $t0, $t0, 1 -/* 0FF1F8 7F0CA6C8 24420001 */ addiu $v0, $v0, 1 -/* 0FF1FC 7F0CA6CC 25290001 */ addiu $t1, $t1, 1 -/* 0FF200 7F0CA6D0 1545FFFA */ bne $t2, $a1, .L7F0CA6BC -/* 0FF204 7F0CA6D4 A12EFFFF */ sb $t6, -1($t1) -/* 0FF208 7F0CA6D8 10B0000E */ beq $a1, $s0, .L7F0CA714 -.L7F0CA6DC: -/* 0FF20C 7F0CA6DC 00654821 */ addu $t1, $v1, $a1 -.L7F0CA6E0: -/* 0FF210 7F0CA6E0 904F0000 */ lbu $t7, ($v0) -/* 0FF214 7F0CA6E4 24A50004 */ addiu $a1, $a1, 4 -/* 0FF218 7F0CA6E8 25080004 */ addiu $t0, $t0, 4 -/* 0FF21C 7F0CA6EC A12F0000 */ sb $t7, ($t1) -/* 0FF220 7F0CA6F0 90580001 */ lbu $t8, 1($v0) -/* 0FF224 7F0CA6F4 24420004 */ addiu $v0, $v0, 4 -/* 0FF228 7F0CA6F8 25290004 */ addiu $t1, $t1, 4 -/* 0FF22C 7F0CA6FC A138FFFD */ sb $t8, -3($t1) -/* 0FF230 7F0CA700 9059FFFE */ lbu $t9, -2($v0) -/* 0FF234 7F0CA704 A139FFFE */ sb $t9, -2($t1) -/* 0FF238 7F0CA708 904EFFFF */ lbu $t6, -1($v0) -/* 0FF23C 7F0CA70C 14B0FFF4 */ bne $a1, $s0, .L7F0CA6E0 -/* 0FF240 7F0CA710 A12EFFFF */ sb $t6, -1($t1) -.L7F0CA714: -/* 0FF244 7F0CA714 24E70001 */ addiu $a3, $a3, 1 -/* 0FF248 7F0CA718 14F2FFE1 */ bne $a3, $s2, .L7F0CA6A0 -/* 0FF24C 7F0CA71C 00641821 */ addu $v1, $v1, $a0 -.L7F0CA720: -/* 0FF250 7F0CA720 260F0007 */ addiu $t7, $s0, 7 -/* 0FF254 7F0CA724 31F80FF8 */ andi $t8, $t7, 0xff8 -/* 0FF258 7F0CA728 03120019 */ multu $t8, $s2 -/* 0FF25C 7F0CA72C 00001012 */ mflo $v0 -/* 0FF260 7F0CA730 10000052 */ b .L7F0CA87C -/* 0FF264 7F0CA734 8FB00008 */ lw $s0, 8($sp) -.L7F0CA738: -/* 0FF268 7F0CA738 1A400026 */ blez $s2, .L7F0CA7D4 -/* 0FF26C 7F0CA73C 00003825 */ move $a3, $zero -/* 0FF270 7F0CA740 2606000F */ addiu $a2, $s0, 0xf -/* 0FF274 7F0CA744 30D90FF0 */ andi $t9, $a2, 0xff0 -/* 0FF278 7F0CA748 03203025 */ move $a2, $t9 -/* 0FF27C 7F0CA74C 32090001 */ andi $t1, $s0, 1 -.L7F0CA750: -/* 0FF280 7F0CA750 1A00001B */ blez $s0, .L7F0CA7C0 -/* 0FF284 7F0CA754 00002825 */ move $a1, $zero -/* 0FF288 7F0CA758 02120019 */ multu $s0, $s2 -/* 0FF28C 7F0CA75C 02281021 */ addu $v0, $s1, $t0 -/* 0FF290 7F0CA760 00007012 */ mflo $t6 -/* 0FF294 7F0CA764 000E7880 */ sll $t7, $t6, 2 -/* 0FF298 7F0CA768 01EE7823 */ subu $t7, $t7, $t6 -/* 0FF29C 7F0CA76C 01E8C021 */ addu $t8, $t7, $t0 -/* 0FF2A0 7F0CA770 03112021 */ addu $a0, $t8, $s1 -.L7F0CA774: -/* 0FF2A4 7F0CA774 904E0000 */ lbu $t6, ($v0) -/* 0FF2A8 7F0CA778 90990001 */ lbu $t9, 1($a0) -/* 0FF2AC 7F0CA77C 25080002 */ addiu $t0, $t0, 2 -/* 0FF2B0 7F0CA780 000E7940 */ sll $t7, $t6, 5 -/* 0FF2B4 7F0CA784 908E0000 */ lbu $t6, ($a0) -/* 0FF2B8 7F0CA788 032FC025 */ or $t8, $t9, $t7 -/* 0FF2BC 7F0CA78C 24420002 */ addiu $v0, $v0, 2 -/* 0FF2C0 7F0CA790 000EC900 */ sll $t9, $t6, 4 -/* 0FF2C4 7F0CA794 904EFFFF */ lbu $t6, -1($v0) -/* 0FF2C8 7F0CA798 03197825 */ or $t7, $t8, $t9 -/* 0FF2CC 7F0CA79C 24840002 */ addiu $a0, $a0, 2 -/* 0FF2D0 7F0CA7A0 000EC040 */ sll $t8, $t6, 1 -/* 0FF2D4 7F0CA7A4 00057043 */ sra $t6, $a1, 1 -/* 0FF2D8 7F0CA7A8 24A50002 */ addiu $a1, $a1, 2 -/* 0FF2DC 7F0CA7AC 01F8C825 */ or $t9, $t7, $t8 -/* 0FF2E0 7F0CA7B0 00B0082A */ slt $at, $a1, $s0 -/* 0FF2E4 7F0CA7B4 006E7821 */ addu $t7, $v1, $t6 -/* 0FF2E8 7F0CA7B8 1420FFEE */ bnez $at, .L7F0CA774 -/* 0FF2EC 7F0CA7BC A1F90000 */ sb $t9, ($t7) -.L7F0CA7C0: -/* 0FF2F0 7F0CA7C0 11200002 */ beqz $t1, .L7F0CA7CC -/* 0FF2F4 7F0CA7C4 24E70001 */ addiu $a3, $a3, 1 -/* 0FF2F8 7F0CA7C8 2508FFFF */ addiu $t0, $t0, -1 -.L7F0CA7CC: -/* 0FF2FC 7F0CA7CC 14F2FFE0 */ bne $a3, $s2, .L7F0CA750 -/* 0FF300 7F0CA7D0 00661821 */ addu $v1, $v1, $a2 -.L7F0CA7D4: -/* 0FF304 7F0CA7D4 2618000F */ addiu $t8, $s0, 0xf -/* 0FF308 7F0CA7D8 330E0FF0 */ andi $t6, $t8, 0xff0 -/* 0FF30C 7F0CA7DC 000EC843 */ sra $t9, $t6, 1 -/* 0FF310 7F0CA7E0 03320019 */ multu $t9, $s2 -/* 0FF314 7F0CA7E4 00001012 */ mflo $v0 -/* 0FF318 7F0CA7E8 10000024 */ b .L7F0CA87C -/* 0FF31C 7F0CA7EC 8FB00008 */ lw $s0, 8($sp) -.L7F0CA7F0: -/* 0FF320 7F0CA7F0 1A400019 */ blez $s2, .L7F0CA858 -/* 0FF324 7F0CA7F4 00003825 */ move $a3, $zero -/* 0FF328 7F0CA7F8 2604000F */ addiu $a0, $s0, 0xf -/* 0FF32C 7F0CA7FC 308F0FF0 */ andi $t7, $a0, 0xff0 -/* 0FF330 7F0CA800 000F2043 */ sra $a0, $t7, 1 -/* 0FF334 7F0CA804 32090001 */ andi $t1, $s0, 1 -.L7F0CA808: -/* 0FF338 7F0CA808 1A00000E */ blez $s0, .L7F0CA844 -/* 0FF33C 7F0CA80C 00002825 */ move $a1, $zero -/* 0FF340 7F0CA810 02281021 */ addu $v0, $s1, $t0 -.L7F0CA814: -/* 0FF344 7F0CA814 90590000 */ lbu $t9, ($v0) -/* 0FF348 7F0CA818 904E0001 */ lbu $t6, 1($v0) -/* 0FF34C 7F0CA81C 25080002 */ addiu $t0, $t0, 2 -/* 0FF350 7F0CA820 00197900 */ sll $t7, $t9, 4 -/* 0FF354 7F0CA824 0005C843 */ sra $t9, $a1, 1 -/* 0FF358 7F0CA828 24A50002 */ addiu $a1, $a1, 2 -/* 0FF35C 7F0CA82C 01CFC025 */ or $t8, $t6, $t7 -/* 0FF360 7F0CA830 00B0082A */ slt $at, $a1, $s0 -/* 0FF364 7F0CA834 00797021 */ addu $t6, $v1, $t9 -/* 0FF368 7F0CA838 A1D80000 */ sb $t8, ($t6) -/* 0FF36C 7F0CA83C 1420FFF5 */ bnez $at, .L7F0CA814 -/* 0FF370 7F0CA840 24420002 */ addiu $v0, $v0, 2 -.L7F0CA844: -/* 0FF374 7F0CA844 11200002 */ beqz $t1, .L7F0CA850 -/* 0FF378 7F0CA848 24E70001 */ addiu $a3, $a3, 1 -/* 0FF37C 7F0CA84C 2508FFFF */ addiu $t0, $t0, -1 -.L7F0CA850: -/* 0FF380 7F0CA850 14F2FFED */ bne $a3, $s2, .L7F0CA808 -/* 0FF384 7F0CA854 00641821 */ addu $v1, $v1, $a0 -.L7F0CA858: -/* 0FF388 7F0CA858 260F000F */ addiu $t7, $s0, 0xf -/* 0FF38C 7F0CA85C 31F90FF0 */ andi $t9, $t7, 0xff0 -/* 0FF390 7F0CA860 0019C043 */ sra $t8, $t9, 1 -/* 0FF394 7F0CA864 03120019 */ multu $t8, $s2 -/* 0FF398 7F0CA868 00001012 */ mflo $v0 -/* 0FF39C 7F0CA86C 10000003 */ b .L7F0CA87C -/* 0FF3A0 7F0CA870 8FB00008 */ lw $s0, 8($sp) -def_7F0C9DF0: -.L7F0CA874: -/* 0FF3A4 7F0CA874 00001025 */ move $v0, $zero -.L7F0CA878: -/* 0FF3A8 7F0CA878 8FB00008 */ lw $s0, 8($sp) -.L7F0CA87C: -/* 0FF3AC 7F0CA87C 8FB1000C */ lw $s1, 0xc($sp) -/* 0FF3B0 7F0CA880 8FB20010 */ lw $s2, 0x10($sp) -/* 0FF3B4 7F0CA884 8FB30014 */ lw $s3, 0x14($sp) -/* 0FF3B8 7F0CA888 03E00008 */ jr $ra -/* 0FF3BC 7F0CA88C 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -void type5_generate_link_final_image(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BDE8*/ -glabel jpt_8005BDE8 -.word .L7F0CA908 -.word .L7F0CA9FC -.word .L7F0CA97C -.word .L7F0CAA78 -.word .L7F0CA9FC -.word .L7F0CAAFC -.word .L7F0CAB74 -.word .L7F0CAAFC -.word .L7F0CAB74 -.text -glabel type5_generate_link_final_image -/* 0FF3C0 7F0CA890 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0FF3C4 7F0CA894 AFB40028 */ sw $s4, 0x28($sp) -/* 0FF3C8 7F0CA898 0080A025 */ move $s4, $a0 -/* 0FF3CC 7F0CA89C AFBF003C */ sw $ra, 0x3c($sp) -/* 0FF3D0 7F0CA8A0 AFBE0038 */ sw $fp, 0x38($sp) -/* 0FF3D4 7F0CA8A4 AFB70034 */ sw $s7, 0x34($sp) -/* 0FF3D8 7F0CA8A8 AFB5002C */ sw $s5, 0x2c($sp) -/* 0FF3DC 7F0CA8AC AFB30024 */ sw $s3, 0x24($sp) -/* 0FF3E0 7F0CA8B0 00E09825 */ move $s3, $a3 -/* 0FF3E4 7F0CA8B4 AFB60030 */ sw $s6, 0x30($sp) -/* 0FF3E8 7F0CA8B8 AFB20020 */ sw $s2, 0x20($sp) -/* 0FF3EC 7F0CA8BC AFB1001C */ sw $s1, 0x1c($sp) -/* 0FF3F0 7F0CA8C0 AFB00018 */ sw $s0, 0x18($sp) -/* 0FF3F4 7F0CA8C4 AFA50044 */ sw $a1, 0x44($sp) -/* 0FF3F8 7F0CA8C8 00C0B825 */ move $s7, $a2 -/* 0FF3FC 7F0CA8CC 00C0F025 */ move $fp, $a2 -/* 0FF400 7F0CA8D0 00C0A825 */ move $s5, $a2 -/* 0FF404 7F0CA8D4 0FC32689 */ jal sub_GAME_7F0C9A24 -/* 0FF408 7F0CA8D8 8FA40050 */ lw $a0, 0x50($sp) -/* 0FF40C 7F0CA8DC 8FAE0054 */ lw $t6, 0x54($sp) -/* 0FF410 7F0CA8E0 00409025 */ move $s2, $v0 -/* 0FF414 7F0CA8E4 00001025 */ move $v0, $zero -/* 0FF418 7F0CA8E8 2DC10009 */ sltiu $at, $t6, 9 -/* 0FF41C 7F0CA8EC 102000CE */ beqz $at, .L7F0CAC28 -/* 0FF420 7F0CA8F0 000E7080 */ sll $t6, $t6, 2 -/* 0FF424 7F0CA8F4 3C018006 */ lui $at, %hi(jpt_8005BDE8) -/* 0FF428 7F0CA8F8 002E0821 */ addu $at, $at, $t6 -/* 0FF42C 7F0CA8FC 8C2EBDE8 */ lw $t6, %lo(jpt_8005BDE8)($at) -/* 0FF430 7F0CA900 01C00008 */ jr $t6 -/* 0FF434 7F0CA904 00000000 */ nop -.L7F0CA908: -/* 0FF438 7F0CA908 8FA30044 */ lw $v1, 0x44($sp) -/* 0FF43C 7F0CA90C 26950003 */ addiu $s5, $s4, 3 -/* 0FF440 7F0CA910 32AF0FFC */ andi $t7, $s5, 0xffc -/* 0FF444 7F0CA914 18600012 */ blez $v1, .L7F0CA960 -/* 0FF448 7F0CA918 0000B025 */ move $s6, $zero -/* 0FF44C 7F0CA91C 000FA880 */ sll $s5, $t7, 2 -.L7F0CA920: -/* 0FF450 7F0CA920 1A80000C */ blez $s4, .L7F0CA954 -/* 0FF454 7F0CA924 00008025 */ move $s0, $zero -/* 0FF458 7F0CA928 02E08825 */ move $s1, $s7 -.L7F0CA92C: -/* 0FF45C 7F0CA92C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FF460 7F0CA930 02402025 */ move $a0, $s2 -/* 0FF464 7F0CA934 0002C880 */ sll $t9, $v0, 2 -/* 0FF468 7F0CA938 02794021 */ addu $t0, $s3, $t9 -/* 0FF46C 7F0CA93C 8D090000 */ lw $t1, ($t0) -/* 0FF470 7F0CA940 26100001 */ addiu $s0, $s0, 1 -/* 0FF474 7F0CA944 26310004 */ addiu $s1, $s1, 4 -/* 0FF478 7F0CA948 1614FFF8 */ bne $s0, $s4, .L7F0CA92C -/* 0FF47C 7F0CA94C AE29FFFC */ sw $t1, -4($s1) -/* 0FF480 7F0CA950 8FA30044 */ lw $v1, 0x44($sp) -.L7F0CA954: -/* 0FF484 7F0CA954 26D60001 */ addiu $s6, $s6, 1 -/* 0FF488 7F0CA958 16C3FFF1 */ bne $s6, $v1, .L7F0CA920 -/* 0FF48C 7F0CA95C 02F5B821 */ addu $s7, $s7, $s5 -.L7F0CA960: -/* 0FF490 7F0CA960 268A0003 */ addiu $t2, $s4, 3 -/* 0FF494 7F0CA964 314B0FFC */ andi $t3, $t2, 0xffc -/* 0FF498 7F0CA968 01630019 */ multu $t3, $v1 -/* 0FF49C 7F0CA96C 00001012 */ mflo $v0 -/* 0FF4A0 7F0CA970 00026080 */ sll $t4, $v0, 2 -/* 0FF4A4 7F0CA974 100000AC */ b .L7F0CAC28 -/* 0FF4A8 7F0CA978 01801025 */ move $v0, $t4 -.L7F0CA97C: -/* 0FF4AC 7F0CA97C 8FAD0044 */ lw $t5, 0x44($sp) -/* 0FF4B0 7F0CA980 26950003 */ addiu $s5, $s4, 3 -/* 0FF4B4 7F0CA984 32AE0FFC */ andi $t6, $s5, 0xffc -/* 0FF4B8 7F0CA988 19A00014 */ blez $t5, .L7F0CA9DC -/* 0FF4BC 7F0CA98C 0000B025 */ move $s6, $zero -/* 0FF4C0 7F0CA990 000EA880 */ sll $s5, $t6, 2 -.L7F0CA994: -/* 0FF4C4 7F0CA994 1A80000C */ blez $s4, .L7F0CA9C8 -/* 0FF4C8 7F0CA998 00008025 */ move $s0, $zero -/* 0FF4CC 7F0CA99C 02E08825 */ move $s1, $s7 -.L7F0CA9A0: -/* 0FF4D0 7F0CA9A0 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FF4D4 7F0CA9A4 02402025 */ move $a0, $s2 -/* 0FF4D8 7F0CA9A8 0002C080 */ sll $t8, $v0, 2 -/* 0FF4DC 7F0CA9AC 0278C821 */ addu $t9, $s3, $t8 -/* 0FF4E0 7F0CA9B0 8F280000 */ lw $t0, ($t9) -/* 0FF4E4 7F0CA9B4 26100001 */ addiu $s0, $s0, 1 -/* 0FF4E8 7F0CA9B8 26310004 */ addiu $s1, $s1, 4 -/* 0FF4EC 7F0CA9BC 00084A00 */ sll $t1, $t0, 8 -/* 0FF4F0 7F0CA9C0 1614FFF7 */ bne $s0, $s4, .L7F0CA9A0 -/* 0FF4F4 7F0CA9C4 AE29FFFC */ sw $t1, -4($s1) -.L7F0CA9C8: -/* 0FF4F8 7F0CA9C8 8FAA0044 */ lw $t2, 0x44($sp) -/* 0FF4FC 7F0CA9CC 26D60001 */ addiu $s6, $s6, 1 -/* 0FF500 7F0CA9D0 02F5B821 */ addu $s7, $s7, $s5 -/* 0FF504 7F0CA9D4 16CAFFEF */ bne $s6, $t2, .L7F0CA994 -/* 0FF508 7F0CA9D8 00000000 */ nop -.L7F0CA9DC: -/* 0FF50C 7F0CA9DC 8FAD0044 */ lw $t5, 0x44($sp) -/* 0FF510 7F0CA9E0 268B0003 */ addiu $t3, $s4, 3 -/* 0FF514 7F0CA9E4 316C0FFC */ andi $t4, $t3, 0xffc -/* 0FF518 7F0CA9E8 018D0019 */ multu $t4, $t5 -/* 0FF51C 7F0CA9EC 00001012 */ mflo $v0 -/* 0FF520 7F0CA9F0 00027080 */ sll $t6, $v0, 2 -/* 0FF524 7F0CA9F4 1000008C */ b .L7F0CAC28 -/* 0FF528 7F0CA9F8 01C01025 */ move $v0, $t6 -.L7F0CA9FC: -/* 0FF52C 7F0CA9FC 8FAF0044 */ lw $t7, 0x44($sp) -/* 0FF530 7F0CAA00 26950003 */ addiu $s5, $s4, 3 -/* 0FF534 7F0CAA04 32B80FFC */ andi $t8, $s5, 0xffc -/* 0FF538 7F0CAA08 19E00013 */ blez $t7, .L7F0CAA58 -/* 0FF53C 7F0CAA0C 0000B025 */ move $s6, $zero -/* 0FF540 7F0CAA10 0018A840 */ sll $s5, $t8, 1 -.L7F0CAA14: -/* 0FF544 7F0CAA14 1A80000B */ blez $s4, .L7F0CAA44 -/* 0FF548 7F0CAA18 00008025 */ move $s0, $zero -/* 0FF54C 7F0CAA1C 03C08825 */ move $s1, $fp -.L7F0CAA20: -/* 0FF550 7F0CAA20 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FF554 7F0CAA24 02402025 */ move $a0, $s2 -/* 0FF558 7F0CAA28 00024040 */ sll $t0, $v0, 1 -/* 0FF55C 7F0CAA2C 02684821 */ addu $t1, $s3, $t0 -/* 0FF560 7F0CAA30 952A0000 */ lhu $t2, ($t1) -/* 0FF564 7F0CAA34 26100001 */ addiu $s0, $s0, 1 -/* 0FF568 7F0CAA38 26310002 */ addiu $s1, $s1, 2 -/* 0FF56C 7F0CAA3C 1614FFF8 */ bne $s0, $s4, .L7F0CAA20 -/* 0FF570 7F0CAA40 A62AFFFE */ sh $t2, -2($s1) -.L7F0CAA44: -/* 0FF574 7F0CAA44 8FAB0044 */ lw $t3, 0x44($sp) -/* 0FF578 7F0CAA48 26D60001 */ addiu $s6, $s6, 1 -/* 0FF57C 7F0CAA4C 03D5F021 */ addu $fp, $fp, $s5 -/* 0FF580 7F0CAA50 16CBFFF0 */ bne $s6, $t3, .L7F0CAA14 -/* 0FF584 7F0CAA54 00000000 */ nop -.L7F0CAA58: -/* 0FF588 7F0CAA58 8FAE0044 */ lw $t6, 0x44($sp) -/* 0FF58C 7F0CAA5C 268C0003 */ addiu $t4, $s4, 3 -/* 0FF590 7F0CAA60 318D0FFC */ andi $t5, $t4, 0xffc -/* 0FF594 7F0CAA64 01AE0019 */ multu $t5, $t6 -/* 0FF598 7F0CAA68 00001012 */ mflo $v0 -/* 0FF59C 7F0CAA6C 00027840 */ sll $t7, $v0, 1 -/* 0FF5A0 7F0CAA70 1000006D */ b .L7F0CAC28 -/* 0FF5A4 7F0CAA74 01E01025 */ move $v0, $t7 -.L7F0CAA78: -/* 0FF5A8 7F0CAA78 8FB80044 */ lw $t8, 0x44($sp) -/* 0FF5AC 7F0CAA7C 26950003 */ addiu $s5, $s4, 3 -/* 0FF5B0 7F0CAA80 32B90FFC */ andi $t9, $s5, 0xffc -/* 0FF5B4 7F0CAA84 1B000015 */ blez $t8, .L7F0CAADC -/* 0FF5B8 7F0CAA88 0000B025 */ move $s6, $zero -/* 0FF5BC 7F0CAA8C 0019A840 */ sll $s5, $t9, 1 -.L7F0CAA90: -/* 0FF5C0 7F0CAA90 1A80000D */ blez $s4, .L7F0CAAC8 -/* 0FF5C4 7F0CAA94 00008025 */ move $s0, $zero -/* 0FF5C8 7F0CAA98 03C08825 */ move $s1, $fp -.L7F0CAA9C: -/* 0FF5CC 7F0CAA9C 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FF5D0 7F0CAAA0 02402025 */ move $a0, $s2 -/* 0FF5D4 7F0CAAA4 00024840 */ sll $t1, $v0, 1 -/* 0FF5D8 7F0CAAA8 02695021 */ addu $t2, $s3, $t1 -/* 0FF5DC 7F0CAAAC 954B0000 */ lhu $t3, ($t2) -/* 0FF5E0 7F0CAAB0 26100001 */ addiu $s0, $s0, 1 -/* 0FF5E4 7F0CAAB4 26310002 */ addiu $s1, $s1, 2 -/* 0FF5E8 7F0CAAB8 000B6040 */ sll $t4, $t3, 1 -/* 0FF5EC 7F0CAABC 358D0001 */ ori $t5, $t4, 1 -/* 0FF5F0 7F0CAAC0 1614FFF6 */ bne $s0, $s4, .L7F0CAA9C -/* 0FF5F4 7F0CAAC4 A62DFFFE */ sh $t5, -2($s1) -.L7F0CAAC8: -/* 0FF5F8 7F0CAAC8 8FAE0044 */ lw $t6, 0x44($sp) -/* 0FF5FC 7F0CAACC 26D60001 */ addiu $s6, $s6, 1 -/* 0FF600 7F0CAAD0 03D5F021 */ addu $fp, $fp, $s5 -/* 0FF604 7F0CAAD4 16CEFFEE */ bne $s6, $t6, .L7F0CAA90 -/* 0FF608 7F0CAAD8 00000000 */ nop -.L7F0CAADC: -/* 0FF60C 7F0CAADC 8FB90044 */ lw $t9, 0x44($sp) -/* 0FF610 7F0CAAE0 268F0003 */ addiu $t7, $s4, 3 -/* 0FF614 7F0CAAE4 31F80FFC */ andi $t8, $t7, 0xffc -/* 0FF618 7F0CAAE8 03190019 */ multu $t8, $t9 -/* 0FF61C 7F0CAAEC 00001012 */ mflo $v0 -/* 0FF620 7F0CAAF0 00024040 */ sll $t0, $v0, 1 -/* 0FF624 7F0CAAF4 1000004C */ b .L7F0CAC28 -/* 0FF628 7F0CAAF8 01001025 */ move $v0, $t0 -.L7F0CAAFC: -/* 0FF62C 7F0CAAFC 8FA90044 */ lw $t1, 0x44($sp) -/* 0FF630 7F0CAB00 26970007 */ addiu $s7, $s4, 7 -/* 0FF634 7F0CAB04 32EA0FF8 */ andi $t2, $s7, 0xff8 -/* 0FF638 7F0CAB08 19200013 */ blez $t1, .L7F0CAB58 -/* 0FF63C 7F0CAB0C 0000B025 */ move $s6, $zero -/* 0FF640 7F0CAB10 0140B825 */ move $s7, $t2 -.L7F0CAB14: -/* 0FF644 7F0CAB14 1A80000B */ blez $s4, .L7F0CAB44 -/* 0FF648 7F0CAB18 00008025 */ move $s0, $zero -/* 0FF64C 7F0CAB1C 02A08825 */ move $s1, $s5 -.L7F0CAB20: -/* 0FF650 7F0CAB20 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FF654 7F0CAB24 02402025 */ move $a0, $s2 -/* 0FF658 7F0CAB28 00025840 */ sll $t3, $v0, 1 -/* 0FF65C 7F0CAB2C 026B6021 */ addu $t4, $s3, $t3 -/* 0FF660 7F0CAB30 958D0000 */ lhu $t5, ($t4) -/* 0FF664 7F0CAB34 26100001 */ addiu $s0, $s0, 1 -/* 0FF668 7F0CAB38 26310001 */ addiu $s1, $s1, 1 -/* 0FF66C 7F0CAB3C 1614FFF8 */ bne $s0, $s4, .L7F0CAB20 -/* 0FF670 7F0CAB40 A22DFFFF */ sb $t5, -1($s1) -.L7F0CAB44: -/* 0FF674 7F0CAB44 8FAE0044 */ lw $t6, 0x44($sp) -/* 0FF678 7F0CAB48 26D60001 */ addiu $s6, $s6, 1 -/* 0FF67C 7F0CAB4C 02B7A821 */ addu $s5, $s5, $s7 -/* 0FF680 7F0CAB50 16CEFFF0 */ bne $s6, $t6, .L7F0CAB14 -/* 0FF684 7F0CAB54 00000000 */ nop -.L7F0CAB58: -/* 0FF688 7F0CAB58 8FB90044 */ lw $t9, 0x44($sp) -/* 0FF68C 7F0CAB5C 268F0007 */ addiu $t7, $s4, 7 -/* 0FF690 7F0CAB60 31F80FF8 */ andi $t8, $t7, 0xff8 -/* 0FF694 7F0CAB64 03190019 */ multu $t8, $t9 -/* 0FF698 7F0CAB68 00001012 */ mflo $v0 -/* 0FF69C 7F0CAB6C 1000002F */ b .L7F0CAC2C -/* 0FF6A0 7F0CAB70 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0CAB74: -/* 0FF6A4 7F0CAB74 8FA80044 */ lw $t0, 0x44($sp) -/* 0FF6A8 7F0CAB78 2697000F */ addiu $s7, $s4, 0xf -/* 0FF6AC 7F0CAB7C 32E90FF0 */ andi $t1, $s7, 0xff0 -/* 0FF6B0 7F0CAB80 19000021 */ blez $t0, .L7F0CAC08 -/* 0FF6B4 7F0CAB84 0000B025 */ move $s6, $zero -/* 0FF6B8 7F0CAB88 0009B843 */ sra $s7, $t1, 1 -.L7F0CAB8C: -/* 0FF6BC 7F0CAB8C 1A800019 */ blez $s4, .L7F0CABF4 -/* 0FF6C0 7F0CAB90 00008025 */ move $s0, $zero -.L7F0CAB94: -/* 0FF6C4 7F0CAB94 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FF6C8 7F0CAB98 02402025 */ move $a0, $s2 -/* 0FF6CC 7F0CAB9C 00026040 */ sll $t4, $v0, 1 -/* 0FF6D0 7F0CABA0 026C6821 */ addu $t5, $s3, $t4 -/* 0FF6D4 7F0CABA4 95AE0000 */ lhu $t6, ($t5) -/* 0FF6D8 7F0CABA8 00105843 */ sra $t3, $s0, 1 -/* 0FF6DC 7F0CABAC 26180001 */ addiu $t8, $s0, 1 -/* 0FF6E0 7F0CABB0 02AB8821 */ addu $s1, $s5, $t3 -/* 0FF6E4 7F0CABB4 0314082A */ slt $at, $t8, $s4 -/* 0FF6E8 7F0CABB8 000E7900 */ sll $t7, $t6, 4 -/* 0FF6EC 7F0CABBC 10200009 */ beqz $at, .L7F0CABE4 -/* 0FF6F0 7F0CABC0 A22F0000 */ sb $t7, ($s1) -/* 0FF6F4 7F0CABC4 0FC32FCB */ jal sub_GAME_7F0CBF2C -/* 0FF6F8 7F0CABC8 02402025 */ move $a0, $s2 -/* 0FF6FC 7F0CABCC 00024040 */ sll $t0, $v0, 1 -/* 0FF700 7F0CABD0 02684821 */ addu $t1, $s3, $t0 -/* 0FF704 7F0CABD4 912A0001 */ lbu $t2, 1($t1) -/* 0FF708 7F0CABD8 92390000 */ lbu $t9, ($s1) -/* 0FF70C 7F0CABDC 032A5825 */ or $t3, $t9, $t2 -/* 0FF710 7F0CABE0 A22B0000 */ sb $t3, ($s1) -.L7F0CABE4: -/* 0FF714 7F0CABE4 26100002 */ addiu $s0, $s0, 2 -/* 0FF718 7F0CABE8 0214082A */ slt $at, $s0, $s4 -/* 0FF71C 7F0CABEC 1420FFE9 */ bnez $at, .L7F0CAB94 -/* 0FF720 7F0CABF0 00000000 */ nop -.L7F0CABF4: -/* 0FF724 7F0CABF4 8FAC0044 */ lw $t4, 0x44($sp) -/* 0FF728 7F0CABF8 26D60001 */ addiu $s6, $s6, 1 -/* 0FF72C 7F0CABFC 02B7A821 */ addu $s5, $s5, $s7 -/* 0FF730 7F0CAC00 16CCFFE2 */ bne $s6, $t4, .L7F0CAB8C -/* 0FF734 7F0CAC04 00000000 */ nop -.L7F0CAC08: -/* 0FF738 7F0CAC08 8FB80044 */ lw $t8, 0x44($sp) -/* 0FF73C 7F0CAC0C 268D000F */ addiu $t5, $s4, 0xf -/* 0FF740 7F0CAC10 31AE0FF0 */ andi $t6, $t5, 0xff0 -/* 0FF744 7F0CAC14 000E7843 */ sra $t7, $t6, 1 -/* 0FF748 7F0CAC18 01F80019 */ multu $t7, $t8 -/* 0FF74C 7F0CAC1C 00001012 */ mflo $v0 -/* 0FF750 7F0CAC20 10000002 */ b .L7F0CAC2C -/* 0FF754 7F0CAC24 8FBF003C */ lw $ra, 0x3c($sp) -def_7F0CA900: -.L7F0CAC28: -/* 0FF758 7F0CAC28 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0CAC2C: -/* 0FF75C 7F0CAC2C 8FB00018 */ lw $s0, 0x18($sp) -/* 0FF760 7F0CAC30 8FB1001C */ lw $s1, 0x1c($sp) -/* 0FF764 7F0CAC34 8FB20020 */ lw $s2, 0x20($sp) -/* 0FF768 7F0CAC38 8FB30024 */ lw $s3, 0x24($sp) -/* 0FF76C 7F0CAC3C 8FB40028 */ lw $s4, 0x28($sp) -/* 0FF770 7F0CAC40 8FB5002C */ lw $s5, 0x2c($sp) -/* 0FF774 7F0CAC44 8FB60030 */ lw $s6, 0x30($sp) -/* 0FF778 7F0CAC48 8FB70034 */ lw $s7, 0x34($sp) -/* 0FF77C 7F0CAC4C 8FBE0038 */ lw $fp, 0x38($sp) -/* 0FF780 7F0CAC50 03E00008 */ jr $ra -/* 0FF784 7F0CAC54 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void type6_7_generate_link_final_image(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BE0C*/ -glabel jpt_8005BE0C -.word .L7F0CACC4 -.word .L7F0CB0AC -.word .L7F0CAE90 -.word .L7F0CB26C -.word .L7F0CB0AC -.word .L7F0CB3C4 -.word .L7F0CB584 -.word .L7F0CB3C4 -.word .L7F0CB584 -.text -glabel type6_7_generate_link_final_image -/* 0FF788 7F0CAC58 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0FF78C 7F0CAC5C AFB00004 */ sw $s0, 4($sp) -/* 0FF790 7F0CAC60 8FB0003C */ lw $s0, 0x3c($sp) -/* 0FF794 7F0CAC64 AFB2000C */ sw $s2, 0xc($sp) -/* 0FF798 7F0CAC68 AFB10008 */ sw $s1, 8($sp) -/* 0FF79C 7F0CAC6C 2A010101 */ slti $at, $s0, 0x101 -/* 0FF7A0 7F0CAC70 00A08825 */ move $s1, $a1 -/* 0FF7A4 7F0CAC74 00C09025 */ move $s2, $a2 -/* 0FF7A8 7F0CAC78 AFA40028 */ sw $a0, 0x28($sp) -/* 0FF7AC 7F0CAC7C 00E04825 */ move $t1, $a3 -/* 0FF7B0 7F0CAC80 00E05025 */ move $t2, $a3 -/* 0FF7B4 7F0CAC84 10200003 */ beqz $at, .L7F0CAC94 -/* 0FF7B8 7F0CAC88 00E05825 */ move $t3, $a3 -/* 0FF7BC 7F0CAC8C 10000003 */ b .L7F0CAC9C -/* 0FF7C0 7F0CAC90 8FA50010 */ lw $a1, 0x10($sp) -.L7F0CAC94: -/* 0FF7C4 7F0CAC94 8FA50028 */ lw $a1, 0x28($sp) -/* 0FF7C8 7F0CAC98 8FA40014 */ lw $a0, 0x14($sp) -.L7F0CAC9C: -/* 0FF7CC 7F0CAC9C 8FAE0040 */ lw $t6, 0x40($sp) -/* 0FF7D0 7F0CACA0 00001025 */ move $v0, $zero -/* 0FF7D4 7F0CACA4 2DC10009 */ sltiu $at, $t6, 9 -/* 0FF7D8 7F0CACA8 1020026F */ beqz $at, .L7F0CB668 -/* 0FF7DC 7F0CACAC 000E7080 */ sll $t6, $t6, 2 -/* 0FF7E0 7F0CACB0 3C018006 */ lui $at, %hi(jpt_8005BE0C) -/* 0FF7E4 7F0CACB4 002E0821 */ addu $at, $at, $t6 -/* 0FF7E8 7F0CACB8 8C2EBE0C */ lw $t6, %lo(jpt_8005BE0C)($at) -/* 0FF7EC 7F0CACBC 01C00008 */ jr $t6 -/* 0FF7F0 7F0CACC0 00000000 */ nop -.L7F0CACC4: -/* 0FF7F4 7F0CACC4 1A40006B */ blez $s2, .L7F0CAE74 -/* 0FF7F8 7F0CACC8 00003825 */ move $a3, $zero -/* 0FF7FC 7F0CACCC 262C0003 */ addiu $t4, $s1, 3 -/* 0FF800 7F0CACD0 318F0FFC */ andi $t7, $t4, 0xffc -/* 0FF804 7F0CACD4 000F6080 */ sll $t4, $t7, 2 -/* 0FF808 7F0CACD8 00114040 */ sll $t0, $s1, 1 -/* 0FF80C 7F0CACDC 8FA30038 */ lw $v1, 0x38($sp) -.L7F0CACE0: -/* 0FF810 7F0CACE0 1A20005F */ blez $s1, .L7F0CAE60 -/* 0FF814 7F0CACE4 00001025 */ move $v0, $zero -/* 0FF818 7F0CACE8 32260003 */ andi $a2, $s1, 3 -/* 0FF81C 7F0CACEC 10C00017 */ beqz $a2, .L7F0CAD4C -/* 0FF820 7F0CACF0 00C05825 */ move $t3, $a2 -/* 0FF824 7F0CACF4 0000C880 */ sll $t9, $zero, 2 -/* 0FF828 7F0CACF8 01395021 */ addu $t2, $t1, $t9 -.L7F0CACFC: -/* 0FF82C 7F0CACFC 2A010101 */ slti $at, $s0, 0x101 -/* 0FF830 7F0CAD00 10200008 */ beqz $at, .L7F0CAD24 -/* 0FF834 7F0CAD04 00027840 */ sll $t7, $v0, 1 -/* 0FF838 7F0CAD08 00827021 */ addu $t6, $a0, $v0 -/* 0FF83C 7F0CAD0C 91CF0000 */ lbu $t7, ($t6) -/* 0FF840 7F0CAD10 000FC080 */ sll $t8, $t7, 2 -/* 0FF844 7F0CAD14 0078C821 */ addu $t9, $v1, $t8 -/* 0FF848 7F0CAD18 8F2E0000 */ lw $t6, ($t9) -/* 0FF84C 7F0CAD1C 10000007 */ b .L7F0CAD3C -/* 0FF850 7F0CAD20 AD4E0000 */ sw $t6, ($t2) -.L7F0CAD24: -/* 0FF854 7F0CAD24 00AFC021 */ addu $t8, $a1, $t7 -/* 0FF858 7F0CAD28 97190000 */ lhu $t9, ($t8) -/* 0FF85C 7F0CAD2C 00197080 */ sll $t6, $t9, 2 -/* 0FF860 7F0CAD30 006E7821 */ addu $t7, $v1, $t6 -/* 0FF864 7F0CAD34 8DF80000 */ lw $t8, ($t7) -/* 0FF868 7F0CAD38 AD580000 */ sw $t8, ($t2) -.L7F0CAD3C: -/* 0FF86C 7F0CAD3C 24420001 */ addiu $v0, $v0, 1 -/* 0FF870 7F0CAD40 1562FFEE */ bne $t3, $v0, .L7F0CACFC -/* 0FF874 7F0CAD44 254A0004 */ addiu $t2, $t2, 4 -/* 0FF878 7F0CAD48 10510045 */ beq $v0, $s1, .L7F0CAE60 -.L7F0CAD4C: -/* 0FF87C 7F0CAD4C 0002C880 */ sll $t9, $v0, 2 -/* 0FF880 7F0CAD50 01395021 */ addu $t2, $t1, $t9 -.L7F0CAD54: -/* 0FF884 7F0CAD54 2A010101 */ slti $at, $s0, 0x101 -/* 0FF888 7F0CAD58 10200008 */ beqz $at, .L7F0CAD7C -/* 0FF88C 7F0CAD5C 00027840 */ sll $t7, $v0, 1 -/* 0FF890 7F0CAD60 00827021 */ addu $t6, $a0, $v0 -/* 0FF894 7F0CAD64 91CF0000 */ lbu $t7, ($t6) -/* 0FF898 7F0CAD68 000FC080 */ sll $t8, $t7, 2 -/* 0FF89C 7F0CAD6C 0078C821 */ addu $t9, $v1, $t8 -/* 0FF8A0 7F0CAD70 8F2E0000 */ lw $t6, ($t9) -/* 0FF8A4 7F0CAD74 10000007 */ b .L7F0CAD94 -/* 0FF8A8 7F0CAD78 AD4E0000 */ sw $t6, ($t2) -.L7F0CAD7C: -/* 0FF8AC 7F0CAD7C 00AFC021 */ addu $t8, $a1, $t7 -/* 0FF8B0 7F0CAD80 97190000 */ lhu $t9, ($t8) -/* 0FF8B4 7F0CAD84 00197080 */ sll $t6, $t9, 2 -/* 0FF8B8 7F0CAD88 006E7821 */ addu $t7, $v1, $t6 -/* 0FF8BC 7F0CAD8C 8DF80000 */ lw $t8, ($t7) -/* 0FF8C0 7F0CAD90 AD580000 */ sw $t8, ($t2) -.L7F0CAD94: -/* 0FF8C4 7F0CAD94 2A010101 */ slti $at, $s0, 0x101 -/* 0FF8C8 7F0CAD98 10200008 */ beqz $at, .L7F0CADBC -/* 0FF8CC 7F0CAD9C 00027040 */ sll $t6, $v0, 1 -/* 0FF8D0 7F0CADA0 0082C821 */ addu $t9, $a0, $v0 -/* 0FF8D4 7F0CADA4 932E0001 */ lbu $t6, 1($t9) -/* 0FF8D8 7F0CADA8 000E7880 */ sll $t7, $t6, 2 -/* 0FF8DC 7F0CADAC 006FC021 */ addu $t8, $v1, $t7 -/* 0FF8E0 7F0CADB0 8F190000 */ lw $t9, ($t8) -/* 0FF8E4 7F0CADB4 10000007 */ b .L7F0CADD4 -/* 0FF8E8 7F0CADB8 AD590004 */ sw $t9, 4($t2) -.L7F0CADBC: -/* 0FF8EC 7F0CADBC 00AE7821 */ addu $t7, $a1, $t6 -/* 0FF8F0 7F0CADC0 95F80002 */ lhu $t8, 2($t7) -/* 0FF8F4 7F0CADC4 0018C880 */ sll $t9, $t8, 2 -/* 0FF8F8 7F0CADC8 00797021 */ addu $t6, $v1, $t9 -/* 0FF8FC 7F0CADCC 8DCF0000 */ lw $t7, ($t6) -/* 0FF900 7F0CADD0 AD4F0004 */ sw $t7, 4($t2) -.L7F0CADD4: -/* 0FF904 7F0CADD4 2A010101 */ slti $at, $s0, 0x101 -/* 0FF908 7F0CADD8 10200008 */ beqz $at, .L7F0CADFC -/* 0FF90C 7F0CADDC 0002C840 */ sll $t9, $v0, 1 -/* 0FF910 7F0CADE0 0082C021 */ addu $t8, $a0, $v0 -/* 0FF914 7F0CADE4 93190002 */ lbu $t9, 2($t8) -/* 0FF918 7F0CADE8 00197080 */ sll $t6, $t9, 2 -/* 0FF91C 7F0CADEC 006E7821 */ addu $t7, $v1, $t6 -/* 0FF920 7F0CADF0 8DF80000 */ lw $t8, ($t7) -/* 0FF924 7F0CADF4 10000007 */ b .L7F0CAE14 -/* 0FF928 7F0CADF8 AD580008 */ sw $t8, 8($t2) -.L7F0CADFC: -/* 0FF92C 7F0CADFC 00B97021 */ addu $t6, $a1, $t9 -/* 0FF930 7F0CAE00 95CF0004 */ lhu $t7, 4($t6) -/* 0FF934 7F0CAE04 000FC080 */ sll $t8, $t7, 2 -/* 0FF938 7F0CAE08 0078C821 */ addu $t9, $v1, $t8 -/* 0FF93C 7F0CAE0C 8F2E0000 */ lw $t6, ($t9) -/* 0FF940 7F0CAE10 AD4E0008 */ sw $t6, 8($t2) -.L7F0CAE14: -/* 0FF944 7F0CAE14 2A010101 */ slti $at, $s0, 0x101 -/* 0FF948 7F0CAE18 10200008 */ beqz $at, .L7F0CAE3C -/* 0FF94C 7F0CAE1C 0002C040 */ sll $t8, $v0, 1 -/* 0FF950 7F0CAE20 00827821 */ addu $t7, $a0, $v0 -/* 0FF954 7F0CAE24 91F80003 */ lbu $t8, 3($t7) -/* 0FF958 7F0CAE28 0018C880 */ sll $t9, $t8, 2 -/* 0FF95C 7F0CAE2C 00797021 */ addu $t6, $v1, $t9 -/* 0FF960 7F0CAE30 8DCF0000 */ lw $t7, ($t6) -/* 0FF964 7F0CAE34 10000007 */ b .L7F0CAE54 -/* 0FF968 7F0CAE38 AD4F000C */ sw $t7, 0xc($t2) -.L7F0CAE3C: -/* 0FF96C 7F0CAE3C 00B8C821 */ addu $t9, $a1, $t8 -/* 0FF970 7F0CAE40 972E0006 */ lhu $t6, 6($t9) -/* 0FF974 7F0CAE44 000E7880 */ sll $t7, $t6, 2 -/* 0FF978 7F0CAE48 006FC021 */ addu $t8, $v1, $t7 -/* 0FF97C 7F0CAE4C 8F190000 */ lw $t9, ($t8) -/* 0FF980 7F0CAE50 AD59000C */ sw $t9, 0xc($t2) -.L7F0CAE54: -/* 0FF984 7F0CAE54 24420004 */ addiu $v0, $v0, 4 -/* 0FF988 7F0CAE58 1451FFBE */ bne $v0, $s1, .L7F0CAD54 -/* 0FF98C 7F0CAE5C 254A0010 */ addiu $t2, $t2, 0x10 -.L7F0CAE60: -/* 0FF990 7F0CAE60 24E70001 */ addiu $a3, $a3, 1 -/* 0FF994 7F0CAE64 012C4821 */ addu $t1, $t1, $t4 -/* 0FF998 7F0CAE68 00912021 */ addu $a0, $a0, $s1 -/* 0FF99C 7F0CAE6C 14F2FF9C */ bne $a3, $s2, .L7F0CACE0 -/* 0FF9A0 7F0CAE70 00A82821 */ addu $a1, $a1, $t0 -.L7F0CAE74: -/* 0FF9A4 7F0CAE74 262E0003 */ addiu $t6, $s1, 3 -/* 0FF9A8 7F0CAE78 31CF0FFC */ andi $t7, $t6, 0xffc -/* 0FF9AC 7F0CAE7C 01F20019 */ multu $t7, $s2 -/* 0FF9B0 7F0CAE80 00001012 */ mflo $v0 -/* 0FF9B4 7F0CAE84 0002C080 */ sll $t8, $v0, 2 -/* 0FF9B8 7F0CAE88 100001F7 */ b .L7F0CB668 -/* 0FF9BC 7F0CAE8C 03001025 */ move $v0, $t8 -.L7F0CAE90: -/* 0FF9C0 7F0CAE90 1A40007F */ blez $s2, .L7F0CB090 -/* 0FF9C4 7F0CAE94 00003825 */ move $a3, $zero -/* 0FF9C8 7F0CAE98 262C0003 */ addiu $t4, $s1, 3 -/* 0FF9CC 7F0CAE9C 31990FFC */ andi $t9, $t4, 0xffc -/* 0FF9D0 7F0CAEA0 00196080 */ sll $t4, $t9, 2 -/* 0FF9D4 7F0CAEA4 00114040 */ sll $t0, $s1, 1 -/* 0FF9D8 7F0CAEA8 8FA30038 */ lw $v1, 0x38($sp) -.L7F0CAEAC: -/* 0FF9DC 7F0CAEAC 1A200073 */ blez $s1, .L7F0CB07C -/* 0FF9E0 7F0CAEB0 00001025 */ move $v0, $zero -/* 0FF9E4 7F0CAEB4 32260003 */ andi $a2, $s1, 3 -/* 0FF9E8 7F0CAEB8 10C0001B */ beqz $a2, .L7F0CAF28 -/* 0FF9EC 7F0CAEBC 00C05825 */ move $t3, $a2 -/* 0FF9F0 7F0CAEC0 00007880 */ sll $t7, $zero, 2 -/* 0FF9F4 7F0CAEC4 012F5021 */ addu $t2, $t1, $t7 -.L7F0CAEC8: -/* 0FF9F8 7F0CAEC8 2A010101 */ slti $at, $s0, 0x101 -/* 0FF9FC 7F0CAECC 1020000A */ beqz $at, .L7F0CAEF8 -/* 0FFA00 7F0CAED0 00027840 */ sll $t7, $v0, 1 -/* 0FFA04 7F0CAED4 0082C021 */ addu $t8, $a0, $v0 -/* 0FFA08 7F0CAED8 93190000 */ lbu $t9, ($t8) -/* 0FFA0C 7F0CAEDC 00197080 */ sll $t6, $t9, 2 -/* 0FFA10 7F0CAEE0 006E7821 */ addu $t7, $v1, $t6 -/* 0FFA14 7F0CAEE4 8DF80000 */ lw $t8, ($t7) -/* 0FFA18 7F0CAEE8 0018CA00 */ sll $t9, $t8, 8 -/* 0FFA1C 7F0CAEEC 372E00FF */ ori $t6, $t9, 0xff -/* 0FFA20 7F0CAEF0 10000009 */ b .L7F0CAF18 -/* 0FFA24 7F0CAEF4 AD4E0000 */ sw $t6, ($t2) -.L7F0CAEF8: -/* 0FFA28 7F0CAEF8 00AFC021 */ addu $t8, $a1, $t7 -/* 0FFA2C 7F0CAEFC 97190000 */ lhu $t9, ($t8) -/* 0FFA30 7F0CAF00 00197080 */ sll $t6, $t9, 2 -/* 0FFA34 7F0CAF04 006E7821 */ addu $t7, $v1, $t6 -/* 0FFA38 7F0CAF08 8DF80000 */ lw $t8, ($t7) -/* 0FFA3C 7F0CAF0C 0018CA00 */ sll $t9, $t8, 8 -/* 0FFA40 7F0CAF10 372E00FF */ ori $t6, $t9, 0xff -/* 0FFA44 7F0CAF14 AD4E0000 */ sw $t6, ($t2) -.L7F0CAF18: -/* 0FFA48 7F0CAF18 24420001 */ addiu $v0, $v0, 1 -/* 0FFA4C 7F0CAF1C 1562FFEA */ bne $t3, $v0, .L7F0CAEC8 -/* 0FFA50 7F0CAF20 254A0004 */ addiu $t2, $t2, 4 -/* 0FFA54 7F0CAF24 10510055 */ beq $v0, $s1, .L7F0CB07C -.L7F0CAF28: -/* 0FFA58 7F0CAF28 00027880 */ sll $t7, $v0, 2 -/* 0FFA5C 7F0CAF2C 012F5021 */ addu $t2, $t1, $t7 -.L7F0CAF30: -/* 0FFA60 7F0CAF30 2A010101 */ slti $at, $s0, 0x101 -/* 0FFA64 7F0CAF34 1020000A */ beqz $at, .L7F0CAF60 -/* 0FFA68 7F0CAF38 00027840 */ sll $t7, $v0, 1 -/* 0FFA6C 7F0CAF3C 0082C021 */ addu $t8, $a0, $v0 -/* 0FFA70 7F0CAF40 93190000 */ lbu $t9, ($t8) -/* 0FFA74 7F0CAF44 00197080 */ sll $t6, $t9, 2 -/* 0FFA78 7F0CAF48 006E7821 */ addu $t7, $v1, $t6 -/* 0FFA7C 7F0CAF4C 8DF80000 */ lw $t8, ($t7) -/* 0FFA80 7F0CAF50 0018CA00 */ sll $t9, $t8, 8 -/* 0FFA84 7F0CAF54 372E00FF */ ori $t6, $t9, 0xff -/* 0FFA88 7F0CAF58 10000009 */ b .L7F0CAF80 -/* 0FFA8C 7F0CAF5C AD4E0000 */ sw $t6, ($t2) -.L7F0CAF60: -/* 0FFA90 7F0CAF60 00AFC021 */ addu $t8, $a1, $t7 -/* 0FFA94 7F0CAF64 97190000 */ lhu $t9, ($t8) -/* 0FFA98 7F0CAF68 00197080 */ sll $t6, $t9, 2 -/* 0FFA9C 7F0CAF6C 006E7821 */ addu $t7, $v1, $t6 -/* 0FFAA0 7F0CAF70 8DF80000 */ lw $t8, ($t7) -/* 0FFAA4 7F0CAF74 0018CA00 */ sll $t9, $t8, 8 -/* 0FFAA8 7F0CAF78 372E00FF */ ori $t6, $t9, 0xff -/* 0FFAAC 7F0CAF7C AD4E0000 */ sw $t6, ($t2) -.L7F0CAF80: -/* 0FFAB0 7F0CAF80 2A010101 */ slti $at, $s0, 0x101 -/* 0FFAB4 7F0CAF84 1020000A */ beqz $at, .L7F0CAFB0 -/* 0FFAB8 7F0CAF88 00027040 */ sll $t6, $v0, 1 -/* 0FFABC 7F0CAF8C 00827821 */ addu $t7, $a0, $v0 -/* 0FFAC0 7F0CAF90 91F80001 */ lbu $t8, 1($t7) -/* 0FFAC4 7F0CAF94 0018C880 */ sll $t9, $t8, 2 -/* 0FFAC8 7F0CAF98 00797021 */ addu $t6, $v1, $t9 -/* 0FFACC 7F0CAF9C 8DCF0000 */ lw $t7, ($t6) -/* 0FFAD0 7F0CAFA0 000FC200 */ sll $t8, $t7, 8 -/* 0FFAD4 7F0CAFA4 371900FF */ ori $t9, $t8, 0xff -/* 0FFAD8 7F0CAFA8 10000009 */ b .L7F0CAFD0 -/* 0FFADC 7F0CAFAC AD590004 */ sw $t9, 4($t2) -.L7F0CAFB0: -/* 0FFAE0 7F0CAFB0 00AE7821 */ addu $t7, $a1, $t6 -/* 0FFAE4 7F0CAFB4 95F80002 */ lhu $t8, 2($t7) -/* 0FFAE8 7F0CAFB8 0018C880 */ sll $t9, $t8, 2 -/* 0FFAEC 7F0CAFBC 00797021 */ addu $t6, $v1, $t9 -/* 0FFAF0 7F0CAFC0 8DCF0000 */ lw $t7, ($t6) -/* 0FFAF4 7F0CAFC4 000FC200 */ sll $t8, $t7, 8 -/* 0FFAF8 7F0CAFC8 371900FF */ ori $t9, $t8, 0xff -/* 0FFAFC 7F0CAFCC AD590004 */ sw $t9, 4($t2) -.L7F0CAFD0: -/* 0FFB00 7F0CAFD0 2A010101 */ slti $at, $s0, 0x101 -/* 0FFB04 7F0CAFD4 1020000A */ beqz $at, .L7F0CB000 -/* 0FFB08 7F0CAFD8 0002C840 */ sll $t9, $v0, 1 -/* 0FFB0C 7F0CAFDC 00827021 */ addu $t6, $a0, $v0 -/* 0FFB10 7F0CAFE0 91CF0002 */ lbu $t7, 2($t6) -/* 0FFB14 7F0CAFE4 000FC080 */ sll $t8, $t7, 2 -/* 0FFB18 7F0CAFE8 0078C821 */ addu $t9, $v1, $t8 -/* 0FFB1C 7F0CAFEC 8F2E0000 */ lw $t6, ($t9) -/* 0FFB20 7F0CAFF0 000E7A00 */ sll $t7, $t6, 8 -/* 0FFB24 7F0CAFF4 35F800FF */ ori $t8, $t7, 0xff -/* 0FFB28 7F0CAFF8 10000009 */ b .L7F0CB020 -/* 0FFB2C 7F0CAFFC AD580008 */ sw $t8, 8($t2) -.L7F0CB000: -/* 0FFB30 7F0CB000 00B97021 */ addu $t6, $a1, $t9 -/* 0FFB34 7F0CB004 95CF0004 */ lhu $t7, 4($t6) -/* 0FFB38 7F0CB008 000FC080 */ sll $t8, $t7, 2 -/* 0FFB3C 7F0CB00C 0078C821 */ addu $t9, $v1, $t8 -/* 0FFB40 7F0CB010 8F2E0000 */ lw $t6, ($t9) -/* 0FFB44 7F0CB014 000E7A00 */ sll $t7, $t6, 8 -/* 0FFB48 7F0CB018 35F800FF */ ori $t8, $t7, 0xff -/* 0FFB4C 7F0CB01C AD580008 */ sw $t8, 8($t2) -.L7F0CB020: -/* 0FFB50 7F0CB020 2A010101 */ slti $at, $s0, 0x101 -/* 0FFB54 7F0CB024 1020000A */ beqz $at, .L7F0CB050 -/* 0FFB58 7F0CB028 0002C040 */ sll $t8, $v0, 1 -/* 0FFB5C 7F0CB02C 0082C821 */ addu $t9, $a0, $v0 -/* 0FFB60 7F0CB030 932E0003 */ lbu $t6, 3($t9) -/* 0FFB64 7F0CB034 000E7880 */ sll $t7, $t6, 2 -/* 0FFB68 7F0CB038 006FC021 */ addu $t8, $v1, $t7 -/* 0FFB6C 7F0CB03C 8F190000 */ lw $t9, ($t8) -/* 0FFB70 7F0CB040 00197200 */ sll $t6, $t9, 8 -/* 0FFB74 7F0CB044 35CF00FF */ ori $t7, $t6, 0xff -/* 0FFB78 7F0CB048 10000009 */ b .L7F0CB070 -/* 0FFB7C 7F0CB04C AD4F000C */ sw $t7, 0xc($t2) -.L7F0CB050: -/* 0FFB80 7F0CB050 00B8C821 */ addu $t9, $a1, $t8 -/* 0FFB84 7F0CB054 972E0006 */ lhu $t6, 6($t9) -/* 0FFB88 7F0CB058 000E7880 */ sll $t7, $t6, 2 -/* 0FFB8C 7F0CB05C 006FC021 */ addu $t8, $v1, $t7 -/* 0FFB90 7F0CB060 8F190000 */ lw $t9, ($t8) -/* 0FFB94 7F0CB064 00197200 */ sll $t6, $t9, 8 -/* 0FFB98 7F0CB068 35CF00FF */ ori $t7, $t6, 0xff -/* 0FFB9C 7F0CB06C AD4F000C */ sw $t7, 0xc($t2) -.L7F0CB070: -/* 0FFBA0 7F0CB070 24420004 */ addiu $v0, $v0, 4 -/* 0FFBA4 7F0CB074 1451FFAE */ bne $v0, $s1, .L7F0CAF30 -/* 0FFBA8 7F0CB078 254A0010 */ addiu $t2, $t2, 0x10 -.L7F0CB07C: -/* 0FFBAC 7F0CB07C 24E70001 */ addiu $a3, $a3, 1 -/* 0FFBB0 7F0CB080 012C4821 */ addu $t1, $t1, $t4 -/* 0FFBB4 7F0CB084 00912021 */ addu $a0, $a0, $s1 -/* 0FFBB8 7F0CB088 14F2FF88 */ bne $a3, $s2, .L7F0CAEAC -/* 0FFBBC 7F0CB08C 00A82821 */ addu $a1, $a1, $t0 -.L7F0CB090: -/* 0FFBC0 7F0CB090 26380003 */ addiu $t8, $s1, 3 -/* 0FFBC4 7F0CB094 33190FFC */ andi $t9, $t8, 0xffc -/* 0FFBC8 7F0CB098 03320019 */ multu $t9, $s2 -/* 0FFBCC 7F0CB09C 00001012 */ mflo $v0 -/* 0FFBD0 7F0CB0A0 00027080 */ sll $t6, $v0, 2 -/* 0FFBD4 7F0CB0A4 10000170 */ b .L7F0CB668 -/* 0FFBD8 7F0CB0A8 01C01025 */ move $v0, $t6 -.L7F0CB0AC: -/* 0FFBDC 7F0CB0AC 1A400068 */ blez $s2, .L7F0CB250 -/* 0FFBE0 7F0CB0B0 00003825 */ move $a3, $zero -/* 0FFBE4 7F0CB0B4 262D0003 */ addiu $t5, $s1, 3 -/* 0FFBE8 7F0CB0B8 31AF0FFC */ andi $t7, $t5, 0xffc -/* 0FFBEC 7F0CB0BC 000F6840 */ sll $t5, $t7, 1 -/* 0FFBF0 7F0CB0C0 00114040 */ sll $t0, $s1, 1 -/* 0FFBF4 7F0CB0C4 8FA30038 */ lw $v1, 0x38($sp) -.L7F0CB0C8: -/* 0FFBF8 7F0CB0C8 1A20005C */ blez $s1, .L7F0CB23C -/* 0FFBFC 7F0CB0CC 00001025 */ move $v0, $zero -/* 0FFC00 7F0CB0D0 32260003 */ andi $a2, $s1, 3 -/* 0FFC04 7F0CB0D4 10C00017 */ beqz $a2, .L7F0CB134 -/* 0FFC08 7F0CB0D8 00C06025 */ move $t4, $a2 -/* 0FFC0C 7F0CB0DC 00004840 */ sll $t1, $zero, 1 -/* 0FFC10 7F0CB0E0 01495821 */ addu $t3, $t2, $t1 -.L7F0CB0E4: -/* 0FFC14 7F0CB0E4 2A010101 */ slti $at, $s0, 0x101 -/* 0FFC18 7F0CB0E8 10200008 */ beqz $at, .L7F0CB10C -/* 0FFC1C 7F0CB0EC 00A97021 */ addu $t6, $a1, $t1 -/* 0FFC20 7F0CB0F0 0082C821 */ addu $t9, $a0, $v0 -/* 0FFC24 7F0CB0F4 932E0000 */ lbu $t6, ($t9) -/* 0FFC28 7F0CB0F8 000E7840 */ sll $t7, $t6, 1 -/* 0FFC2C 7F0CB0FC 006FC021 */ addu $t8, $v1, $t7 -/* 0FFC30 7F0CB100 97190000 */ lhu $t9, ($t8) -/* 0FFC34 7F0CB104 10000006 */ b .L7F0CB120 -/* 0FFC38 7F0CB108 A5790000 */ sh $t9, ($t3) -.L7F0CB10C: -/* 0FFC3C 7F0CB10C 95CF0000 */ lhu $t7, ($t6) -/* 0FFC40 7F0CB110 000FC040 */ sll $t8, $t7, 1 -/* 0FFC44 7F0CB114 0078C821 */ addu $t9, $v1, $t8 -/* 0FFC48 7F0CB118 972E0000 */ lhu $t6, ($t9) -/* 0FFC4C 7F0CB11C A56E0000 */ sh $t6, ($t3) -.L7F0CB120: -/* 0FFC50 7F0CB120 24420001 */ addiu $v0, $v0, 1 -/* 0FFC54 7F0CB124 25290002 */ addiu $t1, $t1, 2 -/* 0FFC58 7F0CB128 1582FFEE */ bne $t4, $v0, .L7F0CB0E4 -/* 0FFC5C 7F0CB12C 256B0002 */ addiu $t3, $t3, 2 -/* 0FFC60 7F0CB130 10510042 */ beq $v0, $s1, .L7F0CB23C -.L7F0CB134: -/* 0FFC64 7F0CB134 00024840 */ sll $t1, $v0, 1 -/* 0FFC68 7F0CB138 01495821 */ addu $t3, $t2, $t1 -.L7F0CB13C: -/* 0FFC6C 7F0CB13C 2A010101 */ slti $at, $s0, 0x101 -/* 0FFC70 7F0CB140 10200008 */ beqz $at, .L7F0CB164 -/* 0FFC74 7F0CB144 00A9C021 */ addu $t8, $a1, $t1 -/* 0FFC78 7F0CB148 00827821 */ addu $t7, $a0, $v0 -/* 0FFC7C 7F0CB14C 91F80000 */ lbu $t8, ($t7) -/* 0FFC80 7F0CB150 0018C840 */ sll $t9, $t8, 1 -/* 0FFC84 7F0CB154 00797021 */ addu $t6, $v1, $t9 -/* 0FFC88 7F0CB158 95CF0000 */ lhu $t7, ($t6) -/* 0FFC8C 7F0CB15C 10000006 */ b .L7F0CB178 -/* 0FFC90 7F0CB160 A56F0000 */ sh $t7, ($t3) -.L7F0CB164: -/* 0FFC94 7F0CB164 97190000 */ lhu $t9, ($t8) -/* 0FFC98 7F0CB168 00197040 */ sll $t6, $t9, 1 -/* 0FFC9C 7F0CB16C 006E7821 */ addu $t7, $v1, $t6 -/* 0FFCA0 7F0CB170 95F80000 */ lhu $t8, ($t7) -/* 0FFCA4 7F0CB174 A5780000 */ sh $t8, ($t3) -.L7F0CB178: -/* 0FFCA8 7F0CB178 2A010101 */ slti $at, $s0, 0x101 -/* 0FFCAC 7F0CB17C 10200008 */ beqz $at, .L7F0CB1A0 -/* 0FFCB0 7F0CB180 00A97021 */ addu $t6, $a1, $t1 -/* 0FFCB4 7F0CB184 0082C821 */ addu $t9, $a0, $v0 -/* 0FFCB8 7F0CB188 932E0001 */ lbu $t6, 1($t9) -/* 0FFCBC 7F0CB18C 000E7840 */ sll $t7, $t6, 1 -/* 0FFCC0 7F0CB190 006FC021 */ addu $t8, $v1, $t7 -/* 0FFCC4 7F0CB194 97190000 */ lhu $t9, ($t8) -/* 0FFCC8 7F0CB198 10000006 */ b .L7F0CB1B4 -/* 0FFCCC 7F0CB19C A5790002 */ sh $t9, 2($t3) -.L7F0CB1A0: -/* 0FFCD0 7F0CB1A0 95CF0002 */ lhu $t7, 2($t6) -/* 0FFCD4 7F0CB1A4 000FC040 */ sll $t8, $t7, 1 -/* 0FFCD8 7F0CB1A8 0078C821 */ addu $t9, $v1, $t8 -/* 0FFCDC 7F0CB1AC 972E0000 */ lhu $t6, ($t9) -/* 0FFCE0 7F0CB1B0 A56E0002 */ sh $t6, 2($t3) -.L7F0CB1B4: -/* 0FFCE4 7F0CB1B4 2A010101 */ slti $at, $s0, 0x101 -/* 0FFCE8 7F0CB1B8 10200008 */ beqz $at, .L7F0CB1DC -/* 0FFCEC 7F0CB1BC 00A9C021 */ addu $t8, $a1, $t1 -/* 0FFCF0 7F0CB1C0 00827821 */ addu $t7, $a0, $v0 -/* 0FFCF4 7F0CB1C4 91F80002 */ lbu $t8, 2($t7) -/* 0FFCF8 7F0CB1C8 0018C840 */ sll $t9, $t8, 1 -/* 0FFCFC 7F0CB1CC 00797021 */ addu $t6, $v1, $t9 -/* 0FFD00 7F0CB1D0 95CF0000 */ lhu $t7, ($t6) -/* 0FFD04 7F0CB1D4 10000006 */ b .L7F0CB1F0 -/* 0FFD08 7F0CB1D8 A56F0004 */ sh $t7, 4($t3) -.L7F0CB1DC: -/* 0FFD0C 7F0CB1DC 97190004 */ lhu $t9, 4($t8) -/* 0FFD10 7F0CB1E0 00197040 */ sll $t6, $t9, 1 -/* 0FFD14 7F0CB1E4 006E7821 */ addu $t7, $v1, $t6 -/* 0FFD18 7F0CB1E8 95F80000 */ lhu $t8, ($t7) -/* 0FFD1C 7F0CB1EC A5780004 */ sh $t8, 4($t3) -.L7F0CB1F0: -/* 0FFD20 7F0CB1F0 2A010101 */ slti $at, $s0, 0x101 -/* 0FFD24 7F0CB1F4 10200008 */ beqz $at, .L7F0CB218 -/* 0FFD28 7F0CB1F8 00A97021 */ addu $t6, $a1, $t1 -/* 0FFD2C 7F0CB1FC 0082C821 */ addu $t9, $a0, $v0 -/* 0FFD30 7F0CB200 932E0003 */ lbu $t6, 3($t9) -/* 0FFD34 7F0CB204 000E7840 */ sll $t7, $t6, 1 -/* 0FFD38 7F0CB208 006FC021 */ addu $t8, $v1, $t7 -/* 0FFD3C 7F0CB20C 97190000 */ lhu $t9, ($t8) -/* 0FFD40 7F0CB210 10000006 */ b .L7F0CB22C -/* 0FFD44 7F0CB214 A5790006 */ sh $t9, 6($t3) -.L7F0CB218: -/* 0FFD48 7F0CB218 95CF0006 */ lhu $t7, 6($t6) -/* 0FFD4C 7F0CB21C 000FC040 */ sll $t8, $t7, 1 -/* 0FFD50 7F0CB220 0078C821 */ addu $t9, $v1, $t8 -/* 0FFD54 7F0CB224 972E0000 */ lhu $t6, ($t9) -/* 0FFD58 7F0CB228 A56E0006 */ sh $t6, 6($t3) -.L7F0CB22C: -/* 0FFD5C 7F0CB22C 24420004 */ addiu $v0, $v0, 4 -/* 0FFD60 7F0CB230 25290008 */ addiu $t1, $t1, 8 -/* 0FFD64 7F0CB234 1451FFC1 */ bne $v0, $s1, .L7F0CB13C -/* 0FFD68 7F0CB238 256B0008 */ addiu $t3, $t3, 8 -.L7F0CB23C: -/* 0FFD6C 7F0CB23C 24E70001 */ addiu $a3, $a3, 1 -/* 0FFD70 7F0CB240 014D5021 */ addu $t2, $t2, $t5 -/* 0FFD74 7F0CB244 00912021 */ addu $a0, $a0, $s1 -/* 0FFD78 7F0CB248 14F2FF9F */ bne $a3, $s2, .L7F0CB0C8 -/* 0FFD7C 7F0CB24C 00A82821 */ addu $a1, $a1, $t0 -.L7F0CB250: -/* 0FFD80 7F0CB250 262F0003 */ addiu $t7, $s1, 3 -/* 0FFD84 7F0CB254 31F80FFC */ andi $t8, $t7, 0xffc -/* 0FFD88 7F0CB258 03120019 */ multu $t8, $s2 -/* 0FFD8C 7F0CB25C 00001012 */ mflo $v0 -/* 0FFD90 7F0CB260 0002C840 */ sll $t9, $v0, 1 -/* 0FFD94 7F0CB264 10000100 */ b .L7F0CB668 -/* 0FFD98 7F0CB268 03201025 */ move $v0, $t9 -.L7F0CB26C: -/* 0FFD9C 7F0CB26C 1A40004E */ blez $s2, .L7F0CB3A8 -/* 0FFDA0 7F0CB270 00003825 */ move $a3, $zero -/* 0FFDA4 7F0CB274 262D0003 */ addiu $t5, $s1, 3 -/* 0FFDA8 7F0CB278 31AE0FFC */ andi $t6, $t5, 0xffc -/* 0FFDAC 7F0CB27C 000E6840 */ sll $t5, $t6, 1 -/* 0FFDB0 7F0CB280 00114040 */ sll $t0, $s1, 1 -/* 0FFDB4 7F0CB284 8FA30038 */ lw $v1, 0x38($sp) -.L7F0CB288: -/* 0FFDB8 7F0CB288 1A200042 */ blez $s1, .L7F0CB394 -/* 0FFDBC 7F0CB28C 00001025 */ move $v0, $zero -/* 0FFDC0 7F0CB290 32260001 */ andi $a2, $s1, 1 -/* 0FFDC4 7F0CB294 10C00013 */ beqz $a2, .L7F0CB2E4 -/* 0FFDC8 7F0CB298 2A010101 */ slti $at, $s0, 0x101 -/* 0FFDCC 7F0CB29C 10200009 */ beqz $at, .L7F0CB2C4 -/* 0FFDD0 7F0CB2A0 24020001 */ li $v0, 1 -/* 0FFDD4 7F0CB2A4 90980000 */ lbu $t8, ($a0) -/* 0FFDD8 7F0CB2A8 0018C840 */ sll $t9, $t8, 1 -/* 0FFDDC 7F0CB2AC 00797021 */ addu $t6, $v1, $t9 -/* 0FFDE0 7F0CB2B0 95CF0000 */ lhu $t7, ($t6) -/* 0FFDE4 7F0CB2B4 000FC040 */ sll $t8, $t7, 1 -/* 0FFDE8 7F0CB2B8 37190001 */ ori $t9, $t8, 1 -/* 0FFDEC 7F0CB2BC 10000008 */ b .L7F0CB2E0 -/* 0FFDF0 7F0CB2C0 A5590000 */ sh $t9, ($t2) -.L7F0CB2C4: -/* 0FFDF4 7F0CB2C4 94AE0000 */ lhu $t6, ($a1) -/* 0FFDF8 7F0CB2C8 000E7840 */ sll $t7, $t6, 1 -/* 0FFDFC 7F0CB2CC 006FC021 */ addu $t8, $v1, $t7 -/* 0FFE00 7F0CB2D0 97190000 */ lhu $t9, ($t8) -/* 0FFE04 7F0CB2D4 00197040 */ sll $t6, $t9, 1 -/* 0FFE08 7F0CB2D8 35CF0001 */ ori $t7, $t6, 1 -/* 0FFE0C 7F0CB2DC A54F0000 */ sh $t7, ($t2) -.L7F0CB2E0: -/* 0FFE10 7F0CB2E0 1051002C */ beq $v0, $s1, .L7F0CB394 -.L7F0CB2E4: -/* 0FFE14 7F0CB2E4 00024840 */ sll $t1, $v0, 1 -/* 0FFE18 7F0CB2E8 01495821 */ addu $t3, $t2, $t1 -.L7F0CB2EC: -/* 0FFE1C 7F0CB2EC 2A010101 */ slti $at, $s0, 0x101 -/* 0FFE20 7F0CB2F0 1020000A */ beqz $at, .L7F0CB31C -/* 0FFE24 7F0CB2F4 00A97821 */ addu $t7, $a1, $t1 -/* 0FFE28 7F0CB2F8 0082C021 */ addu $t8, $a0, $v0 -/* 0FFE2C 7F0CB2FC 93190000 */ lbu $t9, ($t8) -/* 0FFE30 7F0CB300 00197040 */ sll $t6, $t9, 1 -/* 0FFE34 7F0CB304 006E7821 */ addu $t7, $v1, $t6 -/* 0FFE38 7F0CB308 95F80000 */ lhu $t8, ($t7) -/* 0FFE3C 7F0CB30C 0018C840 */ sll $t9, $t8, 1 -/* 0FFE40 7F0CB310 372E0001 */ ori $t6, $t9, 1 -/* 0FFE44 7F0CB314 10000008 */ b .L7F0CB338 -/* 0FFE48 7F0CB318 A56E0000 */ sh $t6, ($t3) -.L7F0CB31C: -/* 0FFE4C 7F0CB31C 95F80000 */ lhu $t8, ($t7) -/* 0FFE50 7F0CB320 0018C840 */ sll $t9, $t8, 1 -/* 0FFE54 7F0CB324 00797021 */ addu $t6, $v1, $t9 -/* 0FFE58 7F0CB328 95CF0000 */ lhu $t7, ($t6) -/* 0FFE5C 7F0CB32C 000FC040 */ sll $t8, $t7, 1 -/* 0FFE60 7F0CB330 37190001 */ ori $t9, $t8, 1 -/* 0FFE64 7F0CB334 A5790000 */ sh $t9, ($t3) -.L7F0CB338: -/* 0FFE68 7F0CB338 2A010101 */ slti $at, $s0, 0x101 -/* 0FFE6C 7F0CB33C 1020000A */ beqz $at, .L7F0CB368 -/* 0FFE70 7F0CB340 00A9C821 */ addu $t9, $a1, $t1 -/* 0FFE74 7F0CB344 00827021 */ addu $t6, $a0, $v0 -/* 0FFE78 7F0CB348 91CF0001 */ lbu $t7, 1($t6) -/* 0FFE7C 7F0CB34C 000FC040 */ sll $t8, $t7, 1 -/* 0FFE80 7F0CB350 0078C821 */ addu $t9, $v1, $t8 -/* 0FFE84 7F0CB354 972E0000 */ lhu $t6, ($t9) -/* 0FFE88 7F0CB358 000E7840 */ sll $t7, $t6, 1 -/* 0FFE8C 7F0CB35C 35F80001 */ ori $t8, $t7, 1 -/* 0FFE90 7F0CB360 10000008 */ b .L7F0CB384 -/* 0FFE94 7F0CB364 A5780002 */ sh $t8, 2($t3) -.L7F0CB368: -/* 0FFE98 7F0CB368 972E0002 */ lhu $t6, 2($t9) -/* 0FFE9C 7F0CB36C 000E7840 */ sll $t7, $t6, 1 -/* 0FFEA0 7F0CB370 006FC021 */ addu $t8, $v1, $t7 -/* 0FFEA4 7F0CB374 97190000 */ lhu $t9, ($t8) -/* 0FFEA8 7F0CB378 00197040 */ sll $t6, $t9, 1 -/* 0FFEAC 7F0CB37C 35CF0001 */ ori $t7, $t6, 1 -/* 0FFEB0 7F0CB380 A56F0002 */ sh $t7, 2($t3) -.L7F0CB384: -/* 0FFEB4 7F0CB384 24420002 */ addiu $v0, $v0, 2 -/* 0FFEB8 7F0CB388 25290004 */ addiu $t1, $t1, 4 -/* 0FFEBC 7F0CB38C 1451FFD7 */ bne $v0, $s1, .L7F0CB2EC -/* 0FFEC0 7F0CB390 256B0004 */ addiu $t3, $t3, 4 -.L7F0CB394: -/* 0FFEC4 7F0CB394 24E70001 */ addiu $a3, $a3, 1 -/* 0FFEC8 7F0CB398 014D5021 */ addu $t2, $t2, $t5 -/* 0FFECC 7F0CB39C 00912021 */ addu $a0, $a0, $s1 -/* 0FFED0 7F0CB3A0 14F2FFB9 */ bne $a3, $s2, .L7F0CB288 -/* 0FFED4 7F0CB3A4 00A82821 */ addu $a1, $a1, $t0 -.L7F0CB3A8: -/* 0FFED8 7F0CB3A8 26380003 */ addiu $t8, $s1, 3 -/* 0FFEDC 7F0CB3AC 33190FFC */ andi $t9, $t8, 0xffc -/* 0FFEE0 7F0CB3B0 03320019 */ multu $t9, $s2 -/* 0FFEE4 7F0CB3B4 00001012 */ mflo $v0 -/* 0FFEE8 7F0CB3B8 00027040 */ sll $t6, $v0, 1 -/* 0FFEEC 7F0CB3BC 100000AA */ b .L7F0CB668 -/* 0FFEF0 7F0CB3C0 01C01025 */ move $v0, $t6 -.L7F0CB3C4: -/* 0FFEF4 7F0CB3C4 1A400069 */ blez $s2, .L7F0CB56C -/* 0FFEF8 7F0CB3C8 00003825 */ move $a3, $zero -/* 0FFEFC 7F0CB3CC 26290007 */ addiu $t1, $s1, 7 -/* 0FFF00 7F0CB3D0 312F0FF8 */ andi $t7, $t1, 0xff8 -/* 0FFF04 7F0CB3D4 01E04825 */ move $t1, $t7 -/* 0FFF08 7F0CB3D8 00114040 */ sll $t0, $s1, 1 -/* 0FFF0C 7F0CB3DC 8FA30038 */ lw $v1, 0x38($sp) -.L7F0CB3E0: -/* 0FFF10 7F0CB3E0 1A20005D */ blez $s1, .L7F0CB558 -/* 0FFF14 7F0CB3E4 00001025 */ move $v0, $zero -/* 0FFF18 7F0CB3E8 32260003 */ andi $a2, $s1, 3 -/* 0FFF1C 7F0CB3EC 10C00016 */ beqz $a2, .L7F0CB448 -/* 0FFF20 7F0CB3F0 00C06025 */ move $t4, $a2 -/* 0FFF24 7F0CB3F4 01605021 */ addu $t2, $t3, $zero -.L7F0CB3F8: -/* 0FFF28 7F0CB3F8 2A010101 */ slti $at, $s0, 0x101 -/* 0FFF2C 7F0CB3FC 10200008 */ beqz $at, .L7F0CB420 -/* 0FFF30 7F0CB400 0002C840 */ sll $t9, $v0, 1 -/* 0FFF34 7F0CB404 0082C021 */ addu $t8, $a0, $v0 -/* 0FFF38 7F0CB408 93190000 */ lbu $t9, ($t8) -/* 0FFF3C 7F0CB40C 00197040 */ sll $t6, $t9, 1 -/* 0FFF40 7F0CB410 006E7821 */ addu $t7, $v1, $t6 -/* 0FFF44 7F0CB414 95F80000 */ lhu $t8, ($t7) -/* 0FFF48 7F0CB418 10000007 */ b .L7F0CB438 -/* 0FFF4C 7F0CB41C A1580000 */ sb $t8, ($t2) -.L7F0CB420: -/* 0FFF50 7F0CB420 00B97021 */ addu $t6, $a1, $t9 -/* 0FFF54 7F0CB424 95CF0000 */ lhu $t7, ($t6) -/* 0FFF58 7F0CB428 000FC040 */ sll $t8, $t7, 1 -/* 0FFF5C 7F0CB42C 0078C821 */ addu $t9, $v1, $t8 -/* 0FFF60 7F0CB430 972E0000 */ lhu $t6, ($t9) -/* 0FFF64 7F0CB434 A14E0000 */ sb $t6, ($t2) -.L7F0CB438: -/* 0FFF68 7F0CB438 24420001 */ addiu $v0, $v0, 1 -/* 0FFF6C 7F0CB43C 1582FFEE */ bne $t4, $v0, .L7F0CB3F8 -/* 0FFF70 7F0CB440 254A0001 */ addiu $t2, $t2, 1 -/* 0FFF74 7F0CB444 10510044 */ beq $v0, $s1, .L7F0CB558 -.L7F0CB448: -/* 0FFF78 7F0CB448 01625021 */ addu $t2, $t3, $v0 -.L7F0CB44C: -/* 0FFF7C 7F0CB44C 2A010101 */ slti $at, $s0, 0x101 -/* 0FFF80 7F0CB450 10200008 */ beqz $at, .L7F0CB474 -/* 0FFF84 7F0CB454 0002C040 */ sll $t8, $v0, 1 -/* 0FFF88 7F0CB458 00827821 */ addu $t7, $a0, $v0 -/* 0FFF8C 7F0CB45C 91F80000 */ lbu $t8, ($t7) -/* 0FFF90 7F0CB460 0018C840 */ sll $t9, $t8, 1 -/* 0FFF94 7F0CB464 00797021 */ addu $t6, $v1, $t9 -/* 0FFF98 7F0CB468 95CF0000 */ lhu $t7, ($t6) -/* 0FFF9C 7F0CB46C 10000007 */ b .L7F0CB48C -/* 0FFFA0 7F0CB470 A14F0000 */ sb $t7, ($t2) -.L7F0CB474: -/* 0FFFA4 7F0CB474 00B8C821 */ addu $t9, $a1, $t8 -/* 0FFFA8 7F0CB478 972E0000 */ lhu $t6, ($t9) -/* 0FFFAC 7F0CB47C 000E7840 */ sll $t7, $t6, 1 -/* 0FFFB0 7F0CB480 006FC021 */ addu $t8, $v1, $t7 -/* 0FFFB4 7F0CB484 97190000 */ lhu $t9, ($t8) -/* 0FFFB8 7F0CB488 A1590000 */ sb $t9, ($t2) -.L7F0CB48C: -/* 0FFFBC 7F0CB48C 2A010101 */ slti $at, $s0, 0x101 -/* 0FFFC0 7F0CB490 10200008 */ beqz $at, .L7F0CB4B4 -/* 0FFFC4 7F0CB494 00027840 */ sll $t7, $v0, 1 -/* 0FFFC8 7F0CB498 00827021 */ addu $t6, $a0, $v0 -/* 0FFFCC 7F0CB49C 91CF0001 */ lbu $t7, 1($t6) -/* 0FFFD0 7F0CB4A0 000FC040 */ sll $t8, $t7, 1 -/* 0FFFD4 7F0CB4A4 0078C821 */ addu $t9, $v1, $t8 -/* 0FFFD8 7F0CB4A8 972E0000 */ lhu $t6, ($t9) -/* 0FFFDC 7F0CB4AC 10000007 */ b .L7F0CB4CC -/* 0FFFE0 7F0CB4B0 A14E0001 */ sb $t6, 1($t2) -.L7F0CB4B4: -/* 0FFFE4 7F0CB4B4 00AFC021 */ addu $t8, $a1, $t7 -/* 0FFFE8 7F0CB4B8 97190002 */ lhu $t9, 2($t8) -/* 0FFFEC 7F0CB4BC 00197040 */ sll $t6, $t9, 1 -/* 0FFFF0 7F0CB4C0 006E7821 */ addu $t7, $v1, $t6 -/* 0FFFF4 7F0CB4C4 95F80000 */ lhu $t8, ($t7) -/* 0FFFF8 7F0CB4C8 A1580001 */ sb $t8, 1($t2) -.L7F0CB4CC: -/* 0FFFFC 7F0CB4CC 2A010101 */ slti $at, $s0, 0x101 -/* 100000 7F0CB4D0 10200008 */ beqz $at, .L7F0CB4F4 -/* 100004 7F0CB4D4 00027040 */ sll $t6, $v0, 1 -/* 100008 7F0CB4D8 0082C821 */ addu $t9, $a0, $v0 -/* 10000C 7F0CB4DC 932E0002 */ lbu $t6, 2($t9) -/* 100010 7F0CB4E0 000E7840 */ sll $t7, $t6, 1 -/* 100014 7F0CB4E4 006FC021 */ addu $t8, $v1, $t7 -/* 100018 7F0CB4E8 97190000 */ lhu $t9, ($t8) -/* 10001C 7F0CB4EC 10000007 */ b .L7F0CB50C -/* 100020 7F0CB4F0 A1590002 */ sb $t9, 2($t2) -.L7F0CB4F4: -/* 100024 7F0CB4F4 00AE7821 */ addu $t7, $a1, $t6 -/* 100028 7F0CB4F8 95F80004 */ lhu $t8, 4($t7) -/* 10002C 7F0CB4FC 0018C840 */ sll $t9, $t8, 1 -/* 100030 7F0CB500 00797021 */ addu $t6, $v1, $t9 -/* 100034 7F0CB504 95CF0000 */ lhu $t7, ($t6) -/* 100038 7F0CB508 A14F0002 */ sb $t7, 2($t2) -.L7F0CB50C: -/* 10003C 7F0CB50C 2A010101 */ slti $at, $s0, 0x101 -/* 100040 7F0CB510 10200008 */ beqz $at, .L7F0CB534 -/* 100044 7F0CB514 0002C840 */ sll $t9, $v0, 1 -/* 100048 7F0CB518 0082C021 */ addu $t8, $a0, $v0 -/* 10004C 7F0CB51C 93190003 */ lbu $t9, 3($t8) -/* 100050 7F0CB520 00197040 */ sll $t6, $t9, 1 -/* 100054 7F0CB524 006E7821 */ addu $t7, $v1, $t6 -/* 100058 7F0CB528 95F80000 */ lhu $t8, ($t7) -/* 10005C 7F0CB52C 10000007 */ b .L7F0CB54C -/* 100060 7F0CB530 A1580003 */ sb $t8, 3($t2) -.L7F0CB534: -/* 100064 7F0CB534 00B97021 */ addu $t6, $a1, $t9 -/* 100068 7F0CB538 95CF0006 */ lhu $t7, 6($t6) -/* 10006C 7F0CB53C 000FC040 */ sll $t8, $t7, 1 -/* 100070 7F0CB540 0078C821 */ addu $t9, $v1, $t8 -/* 100074 7F0CB544 972E0000 */ lhu $t6, ($t9) -/* 100078 7F0CB548 A14E0003 */ sb $t6, 3($t2) -.L7F0CB54C: -/* 10007C 7F0CB54C 24420004 */ addiu $v0, $v0, 4 -/* 100080 7F0CB550 1451FFBE */ bne $v0, $s1, .L7F0CB44C -/* 100084 7F0CB554 254A0004 */ addiu $t2, $t2, 4 -.L7F0CB558: -/* 100088 7F0CB558 24E70001 */ addiu $a3, $a3, 1 -/* 10008C 7F0CB55C 01695821 */ addu $t3, $t3, $t1 -/* 100090 7F0CB560 00912021 */ addu $a0, $a0, $s1 -/* 100094 7F0CB564 14F2FF9E */ bne $a3, $s2, .L7F0CB3E0 -/* 100098 7F0CB568 00A82821 */ addu $a1, $a1, $t0 -.L7F0CB56C: -/* 10009C 7F0CB56C 262F0007 */ addiu $t7, $s1, 7 -/* 1000A0 7F0CB570 31F80FF8 */ andi $t8, $t7, 0xff8 -/* 1000A4 7F0CB574 03120019 */ multu $t8, $s2 -/* 1000A8 7F0CB578 00001012 */ mflo $v0 -/* 1000AC 7F0CB57C 1000003B */ b .L7F0CB66C -/* 1000B0 7F0CB580 8FB00004 */ lw $s0, 4($sp) -.L7F0CB584: -/* 1000B4 7F0CB584 1A400031 */ blez $s2, .L7F0CB64C -/* 1000B8 7F0CB588 00003825 */ move $a3, $zero -/* 1000BC 7F0CB58C 2629000F */ addiu $t1, $s1, 0xf -/* 1000C0 7F0CB590 31390FF0 */ andi $t9, $t1, 0xff0 -/* 1000C4 7F0CB594 00194843 */ sra $t1, $t9, 1 -/* 1000C8 7F0CB598 00114040 */ sll $t0, $s1, 1 -/* 1000CC 7F0CB59C 8FA30038 */ lw $v1, 0x38($sp) -.L7F0CB5A0: -/* 1000D0 7F0CB5A0 1A200025 */ blez $s1, .L7F0CB638 -/* 1000D4 7F0CB5A4 00001025 */ move $v0, $zero -/* 1000D8 7F0CB5A8 2A010101 */ slti $at, $s0, 0x101 -.L7F0CB5AC: -/* 1000DC 7F0CB5AC 10200010 */ beqz $at, .L7F0CB5F0 -/* 1000E0 7F0CB5B0 0002C040 */ sll $t8, $v0, 1 -/* 1000E4 7F0CB5B4 00443021 */ addu $a2, $v0, $a0 -/* 1000E8 7F0CB5B8 90CF0001 */ lbu $t7, 1($a2) -/* 1000EC 7F0CB5BC 000FC040 */ sll $t8, $t7, 1 -/* 1000F0 7F0CB5C0 90CF0000 */ lbu $t7, ($a2) -/* 1000F4 7F0CB5C4 0078C821 */ addu $t9, $v1, $t8 -/* 1000F8 7F0CB5C8 972E0000 */ lhu $t6, ($t9) -/* 1000FC 7F0CB5CC 000FC040 */ sll $t8, $t7, 1 -/* 100100 7F0CB5D0 0078C821 */ addu $t9, $v1, $t8 -/* 100104 7F0CB5D4 972F0000 */ lhu $t7, ($t9) -/* 100108 7F0CB5D8 000FC100 */ sll $t8, $t7, 4 -/* 10010C 7F0CB5DC 00027843 */ sra $t7, $v0, 1 -/* 100110 7F0CB5E0 01D8C825 */ or $t9, $t6, $t8 -/* 100114 7F0CB5E4 016F7021 */ addu $t6, $t3, $t7 -/* 100118 7F0CB5E8 1000000F */ b .L7F0CB628 -/* 10011C 7F0CB5EC A1D90000 */ sb $t9, ($t6) -.L7F0CB5F0: -/* 100120 7F0CB5F0 00B83021 */ addu $a2, $a1, $t8 -/* 100124 7F0CB5F4 94CF0002 */ lhu $t7, 2($a2) -/* 100128 7F0CB5F8 000FC840 */ sll $t9, $t7, 1 -/* 10012C 7F0CB5FC 94CF0000 */ lhu $t7, ($a2) -/* 100130 7F0CB600 00797021 */ addu $t6, $v1, $t9 -/* 100134 7F0CB604 95D80000 */ lhu $t8, ($t6) -/* 100138 7F0CB608 000FC840 */ sll $t9, $t7, 1 -/* 10013C 7F0CB60C 00797021 */ addu $t6, $v1, $t9 -/* 100140 7F0CB610 95CF0000 */ lhu $t7, ($t6) -/* 100144 7F0CB614 000FC900 */ sll $t9, $t7, 4 -/* 100148 7F0CB618 00027843 */ sra $t7, $v0, 1 -/* 10014C 7F0CB61C 03197025 */ or $t6, $t8, $t9 -/* 100150 7F0CB620 016FC021 */ addu $t8, $t3, $t7 -/* 100154 7F0CB624 A30E0000 */ sb $t6, ($t8) -.L7F0CB628: -/* 100158 7F0CB628 24420002 */ addiu $v0, $v0, 2 -/* 10015C 7F0CB62C 0051082A */ slt $at, $v0, $s1 -/* 100160 7F0CB630 5420FFDE */ bnezl $at, .L7F0CB5AC -/* 100164 7F0CB634 2A010101 */ slti $at, $s0, 0x101 -.L7F0CB638: -/* 100168 7F0CB638 24E70001 */ addiu $a3, $a3, 1 -/* 10016C 7F0CB63C 01695821 */ addu $t3, $t3, $t1 -/* 100170 7F0CB640 00912021 */ addu $a0, $a0, $s1 -/* 100174 7F0CB644 14F2FFD6 */ bne $a3, $s2, .L7F0CB5A0 -/* 100178 7F0CB648 00A82821 */ addu $a1, $a1, $t0 -.L7F0CB64C: -/* 10017C 7F0CB64C 2639000F */ addiu $t9, $s1, 0xf -/* 100180 7F0CB650 332F0FF0 */ andi $t7, $t9, 0xff0 -/* 100184 7F0CB654 000F7043 */ sra $t6, $t7, 1 -/* 100188 7F0CB658 01D20019 */ multu $t6, $s2 -/* 10018C 7F0CB65C 00001012 */ mflo $v0 -/* 100190 7F0CB660 10000002 */ b .L7F0CB66C -/* 100194 7F0CB664 8FB00004 */ lw $s0, 4($sp) -def_7F0CACBC: -.L7F0CB668: -/* 100198 7F0CB668 8FB00004 */ lw $s0, 4($sp) -.L7F0CB66C: -/* 10019C 7F0CB66C 8FB10008 */ lw $s1, 8($sp) -/* 1001A0 7F0CB670 8FB2000C */ lw $s2, 0xc($sp) -/* 1001A4 7F0CB674 03E00008 */ jr $ra -/* 1001A8 7F0CB678 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CB67C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BE30*/ -glabel jpt_8005BE30 -.word .L7F0CB6A8 -.word .L7F0CB6BC -.word .L7F0CB6A8 -.word .L7F0CB6BC -.word .L7F0CB6BC -.word .L7F0CB6D4 -.word .L7F0CB6EC -.word .L7F0CB6D4 -.word .L7F0CB6EC -.word .L7F0CB6D4 -.word .L7F0CB6EC -.word .L7F0CB6D4 -.word .L7F0CB6EC -.text -glabel sub_GAME_7F0CB67C -/* 1001AC 7F0CB67C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 1001B0 7F0CB680 2CE1000D */ sltiu $at, $a3, 0xd -/* 1001B4 7F0CB684 AFA50014 */ sw $a1, 0x14($sp) -/* 1001B8 7F0CB688 1020001D */ beqz $at, .L7F0CB700 -/* 1001BC 7F0CB68C 00E01825 */ move $v1, $a3 -/* 1001C0 7F0CB690 00077080 */ sll $t6, $a3, 2 -/* 1001C4 7F0CB694 3C018006 */ lui $at, %hi(jpt_8005BE30) -/* 1001C8 7F0CB698 002E0821 */ addu $at, $at, $t6 -/* 1001CC 7F0CB69C 8C2EBE30 */ lw $t6, %lo(jpt_8005BE30)($at) -/* 1001D0 7F0CB6A0 01C00008 */ jr $t6 -/* 1001D4 7F0CB6A4 00000000 */ nop -.L7F0CB6A8: -/* 1001D8 7F0CB6A8 8FA50014 */ lw $a1, 0x14($sp) -/* 1001DC 7F0CB6AC 24A50003 */ addiu $a1, $a1, 3 -/* 1001E0 7F0CB6B0 30AF0FFC */ andi $t7, $a1, 0xffc -/* 1001E4 7F0CB6B4 10000012 */ b .L7F0CB700 -/* 1001E8 7F0CB6B8 AFAF0004 */ sw $t7, 4($sp) -.L7F0CB6BC: -/* 1001EC 7F0CB6BC 8FA50014 */ lw $a1, 0x14($sp) -/* 1001F0 7F0CB6C0 24A50003 */ addiu $a1, $a1, 3 -/* 1001F4 7F0CB6C4 30B80FFC */ andi $t8, $a1, 0xffc -/* 1001F8 7F0CB6C8 0018C843 */ sra $t9, $t8, 1 -/* 1001FC 7F0CB6CC 1000000C */ b .L7F0CB700 -/* 100200 7F0CB6D0 AFB90004 */ sw $t9, 4($sp) -.L7F0CB6D4: -/* 100204 7F0CB6D4 8FA50014 */ lw $a1, 0x14($sp) -/* 100208 7F0CB6D8 24A50007 */ addiu $a1, $a1, 7 -/* 10020C 7F0CB6DC 30AA0FF8 */ andi $t2, $a1, 0xff8 -/* 100210 7F0CB6E0 000A5883 */ sra $t3, $t2, 2 -/* 100214 7F0CB6E4 10000006 */ b .L7F0CB700 -/* 100218 7F0CB6E8 AFAB0004 */ sw $t3, 4($sp) -.L7F0CB6EC: -/* 10021C 7F0CB6EC 8FA50014 */ lw $a1, 0x14($sp) -/* 100220 7F0CB6F0 24A5000F */ addiu $a1, $a1, 0xf -/* 100224 7F0CB6F4 30AC0FF0 */ andi $t4, $a1, 0xff0 -/* 100228 7F0CB6F8 000C68C3 */ sra $t5, $t4, 3 -/* 10022C 7F0CB6FC AFAD0004 */ sw $t5, 4($sp) -def_7F0CB6A0: -.L7F0CB700: -/* 100230 7F0CB700 8FA50004 */ lw $a1, 4($sp) -/* 100234 7F0CB704 24010002 */ li $at, 2 -/* 100238 7F0CB708 00057080 */ sll $t6, $a1, 2 -/* 10023C 7F0CB70C 10600002 */ beqz $v1, .L7F0CB718 -/* 100240 7F0CB710 008E1021 */ addu $v0, $a0, $t6 -/* 100244 7F0CB714 1461001B */ bne $v1, $at, .L7F0CB784 -.L7F0CB718: -/* 100248 7F0CB718 28C10002 */ slti $at, $a2, 2 -/* 10024C 7F0CB71C 1420002E */ bnez $at, .L7F0CB7D8 -/* 100250 7F0CB720 24030001 */ li $v1, 1 -/* 100254 7F0CB724 00A04825 */ move $t1, $a1 -/* 100258 7F0CB728 000978C0 */ sll $t7, $t1, 3 -/* 10025C 7F0CB72C 01E04825 */ move $t1, $t7 -.L7F0CB730: -/* 100260 7F0CB730 18A0000E */ blez $a1, .L7F0CB76C -/* 100264 7F0CB734 00002025 */ move $a0, $zero -/* 100268 7F0CB738 00404025 */ move $t0, $v0 -.L7F0CB73C: -/* 10026C 7F0CB73C 8D070000 */ lw $a3, ($t0) -/* 100270 7F0CB740 8D180008 */ lw $t8, 8($t0) -/* 100274 7F0CB744 8D19000C */ lw $t9, 0xc($t0) -/* 100278 7F0CB748 AD070008 */ sw $a3, 8($t0) -/* 10027C 7F0CB74C 8D070004 */ lw $a3, 4($t0) -/* 100280 7F0CB750 24840004 */ addiu $a0, $a0, 4 -/* 100284 7F0CB754 0085082A */ slt $at, $a0, $a1 -/* 100288 7F0CB758 25080010 */ addiu $t0, $t0, 0x10 -/* 10028C 7F0CB75C AD18FFF0 */ sw $t8, -0x10($t0) -/* 100290 7F0CB760 AD19FFF4 */ sw $t9, -0xc($t0) -/* 100294 7F0CB764 1420FFF5 */ bnez $at, .L7F0CB73C -/* 100298 7F0CB768 AD07FFFC */ sw $a3, -4($t0) -.L7F0CB76C: -/* 10029C 7F0CB76C 24630002 */ addiu $v1, $v1, 2 -/* 1002A0 7F0CB770 0066082A */ slt $at, $v1, $a2 -/* 1002A4 7F0CB774 1420FFEE */ bnez $at, .L7F0CB730 -/* 1002A8 7F0CB778 00491021 */ addu $v0, $v0, $t1 -/* 1002AC 7F0CB77C 10000016 */ b .L7F0CB7D8 -/* 1002B0 7F0CB780 00000000 */ nop -.L7F0CB784: -/* 1002B4 7F0CB784 28C10002 */ slti $at, $a2, 2 -/* 1002B8 7F0CB788 14200013 */ bnez $at, .L7F0CB7D8 -/* 1002BC 7F0CB78C 24030001 */ li $v1, 1 -/* 1002C0 7F0CB790 00A04825 */ move $t1, $a1 -/* 1002C4 7F0CB794 000950C0 */ sll $t2, $t1, 3 -/* 1002C8 7F0CB798 01404825 */ move $t1, $t2 -.L7F0CB79C: -/* 1002CC 7F0CB79C 18A0000A */ blez $a1, .L7F0CB7C8 -/* 1002D0 7F0CB7A0 00002025 */ move $a0, $zero -/* 1002D4 7F0CB7A4 00404025 */ move $t0, $v0 -.L7F0CB7A8: -/* 1002D8 7F0CB7A8 8D070000 */ lw $a3, ($t0) -/* 1002DC 7F0CB7AC 8D0B0004 */ lw $t3, 4($t0) -/* 1002E0 7F0CB7B0 24840002 */ addiu $a0, $a0, 2 -/* 1002E4 7F0CB7B4 0085082A */ slt $at, $a0, $a1 -/* 1002E8 7F0CB7B8 25080008 */ addiu $t0, $t0, 8 -/* 1002EC 7F0CB7BC AD07FFFC */ sw $a3, -4($t0) -/* 1002F0 7F0CB7C0 1420FFF9 */ bnez $at, .L7F0CB7A8 -/* 1002F4 7F0CB7C4 AD0BFFF8 */ sw $t3, -8($t0) -.L7F0CB7C8: -/* 1002F8 7F0CB7C8 24630002 */ addiu $v1, $v1, 2 -/* 1002FC 7F0CB7CC 0066082A */ slt $at, $v1, $a2 -/* 100300 7F0CB7D0 1420FFF2 */ bnez $at, .L7F0CB79C -/* 100304 7F0CB7D4 00491021 */ addu $v0, $v0, $t1 -.L7F0CB7D8: -/* 100308 7F0CB7D8 03E00008 */ jr $ra -/* 10030C 7F0CB7DC 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - - - - - -#ifdef NONMATCHING -void type8_9_doohick(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BE64*/ -glabel jpt_8005BE64 -.word .L7F0CB8A8 -.word .L7F0CB8EC -.word .L7F0CB930 -.word .L7F0CB974 -.word .L7F0CB9C0 -.word .L7F0CBA1C -.word .L7F0CBA78 -.text -glabel type8_9_doohick -/* 100310 7F0CB7E0 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 100314 7F0CB7E4 AFB10008 */ sw $s1, 8($sp) -/* 100318 7F0CB7E8 AFB00004 */ sw $s0, 4($sp) -/* 10031C 7F0CB7EC 00808025 */ move $s0, $a0 -/* 100320 7F0CB7F0 00E08825 */ move $s1, $a3 -/* 100324 7F0CB7F4 AFB2000C */ sw $s2, 0xc($sp) -/* 100328 7F0CB7F8 18C000B9 */ blez $a2, .L7F0CBAE0 -/* 10032C 7F0CB7FC 00001025 */ move $v0, $zero -/* 100330 7F0CB800 8FA90020 */ lw $t1, 0x20($sp) -.L7F0CB804: -/* 100334 7F0CB804 18A000B3 */ blez $a1, .L7F0CBAD4 -/* 100338 7F0CB808 00001825 */ move $v1, $zero -/* 10033C 7F0CB80C 00450019 */ multu $v0, $a1 -/* 100340 7F0CB810 00095040 */ sll $t2, $t1, 1 -/* 100344 7F0CB814 02209025 */ move $s2, $s1 -/* 100348 7F0CB818 00003812 */ mflo $a3 -/* 10034C 7F0CB81C 00F04021 */ addu $t0, $a3, $s0 -/* 100350 7F0CB820 00000000 */ nop -.L7F0CB824: -/* 100354 7F0CB824 910E0000 */ lbu $t6, ($t0) -/* 100358 7F0CB828 2E410007 */ sltiu $at, $s2, 7 -/* 10035C 7F0CB82C 18600003 */ blez $v1, .L7F0CB83C -/* 100360 7F0CB830 01CA2021 */ addu $a0, $t6, $t2 -/* 100364 7F0CB834 10000002 */ b .L7F0CB840 -/* 100368 7F0CB838 910BFFFF */ lbu $t3, -1($t0) -.L7F0CB83C: -/* 10036C 7F0CB83C 00005825 */ move $t3, $zero -.L7F0CB840: -/* 100370 7F0CB840 18400008 */ blez $v0, .L7F0CB864 -/* 100374 7F0CB844 00006025 */ move $t4, $zero -/* 100378 7F0CB848 244FFFFF */ addiu $t7, $v0, -1 -/* 10037C 7F0CB84C 01E50019 */ multu $t7, $a1 -/* 100380 7F0CB850 0000C012 */ mflo $t8 -/* 100384 7F0CB854 0303C821 */ addu $t9, $t8, $v1 -/* 100388 7F0CB858 03307021 */ addu $t6, $t9, $s0 -/* 10038C 7F0CB85C 10000001 */ b .L7F0CB864 -/* 100390 7F0CB860 91CC0000 */ lbu $t4, ($t6) -.L7F0CB864: -/* 100394 7F0CB864 18600009 */ blez $v1, .L7F0CB88C -/* 100398 7F0CB868 00006825 */ move $t5, $zero -/* 10039C 7F0CB86C 18400007 */ blez $v0, .L7F0CB88C -/* 1003A0 7F0CB870 244FFFFF */ addiu $t7, $v0, -1 -/* 1003A4 7F0CB874 01E50019 */ multu $t7, $a1 -/* 1003A8 7F0CB878 0000C012 */ mflo $t8 -/* 1003AC 7F0CB87C 0303C821 */ addu $t9, $t8, $v1 -/* 1003B0 7F0CB880 03307021 */ addu $t6, $t9, $s0 -/* 1003B4 7F0CB884 10000001 */ b .L7F0CB88C -/* 1003B8 7F0CB888 91CDFFFF */ lbu $t5, -1($t6) -.L7F0CB88C: -/* 1003BC 7F0CB88C 1020008E */ beqz $at, .L7F0CBAC8 -/* 1003C0 7F0CB890 00127880 */ sll $t7, $s2, 2 -/* 1003C4 7F0CB894 3C018006 */ lui $at, %hi(jpt_8005BE64) -/* 1003C8 7F0CB898 002F0821 */ addu $at, $at, $t7 -/* 1003CC 7F0CB89C 8C2FBE64 */ lw $t7, %lo(jpt_8005BE64)($at) -/* 1003D0 7F0CB8A0 01E00008 */ jr $t7 -/* 1003D4 7F0CB8A4 00000000 */ nop -.L7F0CB8A8: -/* 1003D8 7F0CB8A8 008BC021 */ addu $t8, $a0, $t3 -/* 1003DC 7F0CB8AC 0309001A */ div $zero, $t8, $t1 -/* 1003E0 7F0CB8B0 02077021 */ addu $t6, $s0, $a3 -/* 1003E4 7F0CB8B4 01C37821 */ addu $t7, $t6, $v1 -/* 1003E8 7F0CB8B8 0000C810 */ mfhi $t9 -/* 1003EC 7F0CB8BC A1F90000 */ sb $t9, ($t7) -/* 1003F0 7F0CB8C0 15200002 */ bnez $t1, .L7F0CB8CC -/* 1003F4 7F0CB8C4 00000000 */ nop -/* 1003F8 7F0CB8C8 0007000D */ break 7 -.L7F0CB8CC: -/* 1003FC 7F0CB8CC 2401FFFF */ li $at, -1 -/* 100400 7F0CB8D0 15210004 */ bne $t1, $at, .L7F0CB8E4 -/* 100404 7F0CB8D4 3C018000 */ lui $at, 0x8000 -/* 100408 7F0CB8D8 17010002 */ bne $t8, $at, .L7F0CB8E4 -/* 10040C 7F0CB8DC 00000000 */ nop -/* 100410 7F0CB8E0 0006000D */ break 6 -.L7F0CB8E4: -/* 100414 7F0CB8E4 10000079 */ b .L7F0CBACC -/* 100418 7F0CB8E8 24630001 */ addiu $v1, $v1, 1 -.L7F0CB8EC: -/* 10041C 7F0CB8EC 008CC021 */ addu $t8, $a0, $t4 -/* 100420 7F0CB8F0 0309001A */ div $zero, $t8, $t1 -/* 100424 7F0CB8F4 0207C821 */ addu $t9, $s0, $a3 -/* 100428 7F0CB8F8 03237821 */ addu $t7, $t9, $v1 -/* 10042C 7F0CB8FC 00007010 */ mfhi $t6 -/* 100430 7F0CB900 A1EE0000 */ sb $t6, ($t7) -/* 100434 7F0CB904 15200002 */ bnez $t1, .L7F0CB910 -/* 100438 7F0CB908 00000000 */ nop -/* 10043C 7F0CB90C 0007000D */ break 7 -.L7F0CB910: -/* 100440 7F0CB910 2401FFFF */ li $at, -1 -/* 100444 7F0CB914 15210004 */ bne $t1, $at, .L7F0CB928 -/* 100448 7F0CB918 3C018000 */ lui $at, 0x8000 -/* 10044C 7F0CB91C 17010002 */ bne $t8, $at, .L7F0CB928 -/* 100450 7F0CB920 00000000 */ nop -/* 100454 7F0CB924 0006000D */ break 6 -.L7F0CB928: -/* 100458 7F0CB928 10000068 */ b .L7F0CBACC -/* 10045C 7F0CB92C 24630001 */ addiu $v1, $v1, 1 -.L7F0CB930: -/* 100460 7F0CB930 008DC021 */ addu $t8, $a0, $t5 -/* 100464 7F0CB934 0309001A */ div $zero, $t8, $t1 -/* 100468 7F0CB938 02077021 */ addu $t6, $s0, $a3 -/* 10046C 7F0CB93C 01C37821 */ addu $t7, $t6, $v1 -/* 100470 7F0CB940 0000C810 */ mfhi $t9 -/* 100474 7F0CB944 A1F90000 */ sb $t9, ($t7) -/* 100478 7F0CB948 15200002 */ bnez $t1, .L7F0CB954 -/* 10047C 7F0CB94C 00000000 */ nop -/* 100480 7F0CB950 0007000D */ break 7 -.L7F0CB954: -/* 100484 7F0CB954 2401FFFF */ li $at, -1 -/* 100488 7F0CB958 15210004 */ bne $t1, $at, .L7F0CB96C -/* 10048C 7F0CB95C 3C018000 */ lui $at, 0x8000 -/* 100490 7F0CB960 17010002 */ bne $t8, $at, .L7F0CB96C -/* 100494 7F0CB964 00000000 */ nop -/* 100498 7F0CB968 0006000D */ break 6 -.L7F0CB96C: -/* 10049C 7F0CB96C 10000057 */ b .L7F0CBACC -/* 1004A0 7F0CB970 24630001 */ addiu $v1, $v1, 1 -.L7F0CB974: -/* 1004A4 7F0CB974 016CC021 */ addu $t8, $t3, $t4 -/* 1004A8 7F0CB978 030D7023 */ subu $t6, $t8, $t5 -/* 1004AC 7F0CB97C 01C4C821 */ addu $t9, $t6, $a0 -/* 1004B0 7F0CB980 0329001A */ div $zero, $t9, $t1 -/* 1004B4 7F0CB984 0207C021 */ addu $t8, $s0, $a3 -/* 1004B8 7F0CB988 03037021 */ addu $t6, $t8, $v1 -/* 1004BC 7F0CB98C 00007810 */ mfhi $t7 -/* 1004C0 7F0CB990 A1CF0000 */ sb $t7, ($t6) -/* 1004C4 7F0CB994 15200002 */ bnez $t1, .L7F0CB9A0 -/* 1004C8 7F0CB998 00000000 */ nop -/* 1004CC 7F0CB99C 0007000D */ break 7 -.L7F0CB9A0: -/* 1004D0 7F0CB9A0 2401FFFF */ li $at, -1 -/* 1004D4 7F0CB9A4 15210004 */ bne $t1, $at, .L7F0CB9B8 -/* 1004D8 7F0CB9A8 3C018000 */ lui $at, 0x8000 -/* 1004DC 7F0CB9AC 17210002 */ bne $t9, $at, .L7F0CB9B8 -/* 1004E0 7F0CB9B0 00000000 */ nop -/* 1004E4 7F0CB9B4 0006000D */ break 6 -.L7F0CB9B8: -/* 1004E8 7F0CB9B8 10000044 */ b .L7F0CBACC -/* 1004EC 7F0CB9BC 24630001 */ addiu $v1, $v1, 1 -.L7F0CB9C0: -/* 1004F0 7F0CB9C0 018DC823 */ subu $t9, $t4, $t5 -/* 1004F4 7F0CB9C4 07210003 */ bgez $t9, .L7F0CB9D4 -/* 1004F8 7F0CB9C8 0019C043 */ sra $t8, $t9, 1 -/* 1004FC 7F0CB9CC 27210001 */ addiu $at, $t9, 1 -/* 100500 7F0CB9D0 0001C043 */ sra $t8, $at, 1 -.L7F0CB9D4: -/* 100504 7F0CB9D4 030B7821 */ addu $t7, $t8, $t3 -/* 100508 7F0CB9D8 01E47021 */ addu $t6, $t7, $a0 -/* 10050C 7F0CB9DC 01C9001A */ div $zero, $t6, $t1 -/* 100510 7F0CB9E0 0207C021 */ addu $t8, $s0, $a3 -/* 100514 7F0CB9E4 03037821 */ addu $t7, $t8, $v1 -/* 100518 7F0CB9E8 0000C810 */ mfhi $t9 -/* 10051C 7F0CB9EC A1F90000 */ sb $t9, ($t7) -/* 100520 7F0CB9F0 15200002 */ bnez $t1, .L7F0CB9FC -/* 100524 7F0CB9F4 00000000 */ nop -/* 100528 7F0CB9F8 0007000D */ break 7 -.L7F0CB9FC: -/* 10052C 7F0CB9FC 2401FFFF */ li $at, -1 -/* 100530 7F0CBA00 15210004 */ bne $t1, $at, .L7F0CBA14 -/* 100534 7F0CBA04 3C018000 */ lui $at, 0x8000 -/* 100538 7F0CBA08 15C10002 */ bne $t6, $at, .L7F0CBA14 -/* 10053C 7F0CBA0C 00000000 */ nop -/* 100540 7F0CBA10 0006000D */ break 6 -.L7F0CBA14: -/* 100544 7F0CBA14 1000002D */ b .L7F0CBACC -/* 100548 7F0CBA18 24630001 */ addiu $v1, $v1, 1 -.L7F0CBA1C: -/* 10054C 7F0CBA1C 016D7023 */ subu $t6, $t3, $t5 -/* 100550 7F0CBA20 05C10003 */ bgez $t6, .L7F0CBA30 -/* 100554 7F0CBA24 000EC043 */ sra $t8, $t6, 1 -/* 100558 7F0CBA28 25C10001 */ addiu $at, $t6, 1 -/* 10055C 7F0CBA2C 0001C043 */ sra $t8, $at, 1 -.L7F0CBA30: -/* 100560 7F0CBA30 030CC821 */ addu $t9, $t8, $t4 -/* 100564 7F0CBA34 03247821 */ addu $t7, $t9, $a0 -/* 100568 7F0CBA38 01E9001A */ div $zero, $t7, $t1 -/* 10056C 7F0CBA3C 0207C021 */ addu $t8, $s0, $a3 -/* 100570 7F0CBA40 0303C821 */ addu $t9, $t8, $v1 -/* 100574 7F0CBA44 00007010 */ mfhi $t6 -/* 100578 7F0CBA48 A32E0000 */ sb $t6, ($t9) -/* 10057C 7F0CBA4C 15200002 */ bnez $t1, .L7F0CBA58 -/* 100580 7F0CBA50 00000000 */ nop -/* 100584 7F0CBA54 0007000D */ break 7 -.L7F0CBA58: -/* 100588 7F0CBA58 2401FFFF */ li $at, -1 -/* 10058C 7F0CBA5C 15210004 */ bne $t1, $at, .L7F0CBA70 -/* 100590 7F0CBA60 3C018000 */ lui $at, 0x8000 -/* 100594 7F0CBA64 15E10002 */ bne $t7, $at, .L7F0CBA70 -/* 100598 7F0CBA68 00000000 */ nop -/* 10059C 7F0CBA6C 0006000D */ break 6 -.L7F0CBA70: -/* 1005A0 7F0CBA70 10000016 */ b .L7F0CBACC -/* 1005A4 7F0CBA74 24630001 */ addiu $v1, $v1, 1 -.L7F0CBA78: -/* 1005A8 7F0CBA78 016C7821 */ addu $t7, $t3, $t4 -/* 1005AC 7F0CBA7C 05E10003 */ bgez $t7, .L7F0CBA8C -/* 1005B0 7F0CBA80 000FC043 */ sra $t8, $t7, 1 -/* 1005B4 7F0CBA84 25E10001 */ addiu $at, $t7, 1 -/* 1005B8 7F0CBA88 0001C043 */ sra $t8, $at, 1 -.L7F0CBA8C: -/* 1005BC 7F0CBA8C 03047021 */ addu $t6, $t8, $a0 -/* 1005C0 7F0CBA90 01C9001A */ div $zero, $t6, $t1 -/* 1005C4 7F0CBA94 0000C810 */ mfhi $t9 -/* 1005C8 7F0CBA98 02077821 */ addu $t7, $s0, $a3 -/* 1005CC 7F0CBA9C 01E3C021 */ addu $t8, $t7, $v1 -/* 1005D0 7F0CBAA0 A3190000 */ sb $t9, ($t8) -/* 1005D4 7F0CBAA4 15200002 */ bnez $t1, .L7F0CBAB0 -/* 1005D8 7F0CBAA8 00000000 */ nop -/* 1005DC 7F0CBAAC 0007000D */ break 7 -.L7F0CBAB0: -/* 1005E0 7F0CBAB0 2401FFFF */ li $at, -1 -/* 1005E4 7F0CBAB4 15210004 */ bne $t1, $at, .L7F0CBAC8 -/* 1005E8 7F0CBAB8 3C018000 */ lui $at, 0x8000 -/* 1005EC 7F0CBABC 15C10002 */ bne $t6, $at, .L7F0CBAC8 -/* 1005F0 7F0CBAC0 00000000 */ nop -/* 1005F4 7F0CBAC4 0006000D */ break 6 -def_7F0CB8A0: -.L7F0CBAC8: -/* 1005F8 7F0CBAC8 24630001 */ addiu $v1, $v1, 1 -.L7F0CBACC: -/* 1005FC 7F0CBACC 1465FF55 */ bne $v1, $a1, .L7F0CB824 -/* 100600 7F0CBAD0 25080001 */ addiu $t0, $t0, 1 -.L7F0CBAD4: -/* 100604 7F0CBAD4 24420001 */ addiu $v0, $v0, 1 -/* 100608 7F0CBAD8 1446FF4A */ bne $v0, $a2, .L7F0CB804 -/* 10060C 7F0CBADC 00000000 */ nop -.L7F0CBAE0: -/* 100610 7F0CBAE0 8FB00004 */ lw $s0, 4($sp) -/* 100614 7F0CBAE4 8FB10008 */ lw $s1, 8($sp) -/* 100618 7F0CBAE8 8FB2000C */ lw $s2, 0xc($sp) -/* 10061C 7F0CBAEC 03E00008 */ jr $ra -/* 100620 7F0CBAF0 27BD0010 */ addiu $sp, $sp, 0x10 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CBAF4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CBAF4 -/* 100624 7F0CBAF4 00A61021 */ addu $v0, $a1, $a2 -/* 100628 7F0CBAF8 AC850000 */ sw $a1, ($a0) -/* 10062C 7F0CBAFC AC820004 */ sw $v0, 4($a0) -/* 100630 7F0CBB00 AC850008 */ sw $a1, 8($a0) -/* 100634 7F0CBB04 03E00008 */ jr $ra -/* 100638 7F0CBB08 AC82000C */ sw $v0, 0xc($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CBB0C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CBB0C -/* 10063C 7F0CBB0C 54A00004 */ bnezl $a1, .L7F0CBB20 -/* 100640 7F0CBB10 8CA20004 */ lw $v0, 4($a1) -/* 100644 7F0CBB14 3C058009 */ lui $a1, %hi(ptr_texture_alloc_start) -/* 100648 7F0CBB18 24A5C720 */ addiu $a1, %lo(ptr_texture_alloc_start) # addiu $a1, $a1, -0x38e0 -/* 10064C 7F0CBB1C 8CA20004 */ lw $v0, 4($a1) -.L7F0CBB20: -/* 100650 7F0CBB20 8CA3000C */ lw $v1, 0xc($a1) -/* 100654 7F0CBB24 0062082B */ sltu $at, $v1, $v0 -/* 100658 7F0CBB28 5020000C */ beql $at, $zero, .L7F0CBB5C -/* 10065C 7F0CBB2C 00001025 */ move $v0, $zero -/* 100660 7F0CBB30 8C6E0000 */ lw $t6, ($v1) -.L7F0CBB34: -/* 100664 7F0CBB34 000E7D02 */ srl $t7, $t6, 0x14 -/* 100668 7F0CBB38 548F0004 */ bnel $a0, $t7, .L7F0CBB4C -/* 10066C 7F0CBB3C 24630010 */ addiu $v1, $v1, 0x10 -/* 100670 7F0CBB40 03E00008 */ jr $ra -/* 100674 7F0CBB44 00601025 */ move $v0, $v1 - -/* 100678 7F0CBB48 24630010 */ addiu $v1, $v1, 0x10 -.L7F0CBB4C: -/* 10067C 7F0CBB4C 0062082B */ sltu $at, $v1, $v0 -/* 100680 7F0CBB50 5420FFF8 */ bnezl $at, .L7F0CBB34 -/* 100684 7F0CBB54 8C6E0000 */ lw $t6, ($v1) -/* 100688 7F0CBB58 00001025 */ move $v0, $zero -.L7F0CBB5C: -/* 10068C 7F0CBB5C 03E00008 */ jr $ra -/* 100690 7F0CBB60 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CBB64(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CBB64 -/* 100694 7F0CBB64 8C8E000C */ lw $t6, 0xc($a0) -/* 100698 7F0CBB68 8C8F0008 */ lw $t7, 8($a0) -/* 10069C 7F0CBB6C 03E00008 */ jr $ra -/* 1006A0 7F0CBB70 01CF1023 */ subu $v0, $t6, $t7 -) -#endif - - - - - -#ifdef NONMATCHING -void check_load_image_to_buffer(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_load_image_to_buffer -/* 1006A4 7F0CBB74 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 1006A8 7F0CBB78 AFBF002C */ sw $ra, 0x2c($sp) -/* 1006AC 7F0CBB7C AFB50028 */ sw $s5, 0x28($sp) -/* 1006B0 7F0CBB80 AFB40024 */ sw $s4, 0x24($sp) -/* 1006B4 7F0CBB84 AFB30020 */ sw $s3, 0x20($sp) -/* 1006B8 7F0CBB88 AFB2001C */ sw $s2, 0x1c($sp) -/* 1006BC 7F0CBB8C AFB10018 */ sw $s1, 0x18($sp) -/* 1006C0 7F0CBB90 AFB00014 */ sw $s0, 0x14($sp) -/* 1006C4 7F0CBB94 908E0000 */ lbu $t6, ($a0) -/* 1006C8 7F0CBB98 241200B8 */ li $s2, 184 -/* 1006CC 7F0CBB9C 00A08825 */ move $s1, $a1 -/* 1006D0 7F0CBBA0 124E0014 */ beq $s2, $t6, .L7F0CBBF4 -/* 1006D4 7F0CBBA4 00808025 */ move $s0, $a0 -/* 1006D8 7F0CBBA8 90820000 */ lbu $v0, ($a0) -/* 1006DC 7F0CBBAC 241500CD */ li $s5, 205 -/* 1006E0 7F0CBBB0 241400AB */ li $s4, 171 -/* 1006E4 7F0CBBB4 241300FD */ li $s3, 253 -.L7F0CBBB8: -/* 1006E8 7F0CBBB8 5662000B */ bnel $s3, $v0, .L7F0CBBE8 -/* 1006EC 7F0CBBBC 92020008 */ lbu $v0, 8($s0) -/* 1006F0 7F0CBBC0 920F0004 */ lbu $t7, 4($s0) -/* 1006F4 7F0CBBC4 568F0008 */ bnel $s4, $t7, .L7F0CBBE8 -/* 1006F8 7F0CBBC8 92020008 */ lbu $v0, 8($s0) -/* 1006FC 7F0CBBCC 92180005 */ lbu $t8, 5($s0) -/* 100700 7F0CBBD0 26040004 */ addiu $a0, $s0, 4 -/* 100704 7F0CBBD4 56B80004 */ bnel $s5, $t8, .L7F0CBBE8 -/* 100708 7F0CBBD8 92020008 */ lbu $v0, 8($s0) -/* 10070C 7F0CBBDC 0FC32F06 */ jal load_image_to_buffer -/* 100710 7F0CBBE0 02202825 */ move $a1, $s1 -/* 100714 7F0CBBE4 92020008 */ lbu $v0, 8($s0) -.L7F0CBBE8: -/* 100718 7F0CBBE8 26100008 */ addiu $s0, $s0, 8 -/* 10071C 7F0CBBEC 1642FFF2 */ bne $s2, $v0, .L7F0CBBB8 -/* 100720 7F0CBBF0 00000000 */ nop -.L7F0CBBF4: -/* 100724 7F0CBBF4 8FBF002C */ lw $ra, 0x2c($sp) -/* 100728 7F0CBBF8 8FB00014 */ lw $s0, 0x14($sp) -/* 10072C 7F0CBBFC 8FB10018 */ lw $s1, 0x18($sp) -/* 100730 7F0CBC00 8FB2001C */ lw $s2, 0x1c($sp) -/* 100734 7F0CBC04 8FB30020 */ lw $s3, 0x20($sp) -/* 100738 7F0CBC08 8FB40024 */ lw $s4, 0x24($sp) -/* 10073C 7F0CBC0C 8FB50028 */ lw $s5, 0x28($sp) -/* 100740 7F0CBC10 03E00008 */ jr $ra -/* 100744 7F0CBC14 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void load_image_to_buffer(void) { - -} -#else -GLOBAL_ASM( -.text -glabel load_image_to_buffer -/* 100748 7F0CBC18 27BDF008 */ addiu $sp, $sp, -0xff8 -/* 10074C 7F0CBC1C AFB00020 */ sw $s0, 0x20($sp) -/* 100750 7F0CBC20 00A08025 */ move $s0, $a1 -/* 100754 7F0CBC24 AFBF0024 */ sw $ra, 0x24($sp) -/* 100758 7F0CBC28 14A00003 */ bnez $a1, .L7F0CBC38 -/* 10075C 7F0CBC2C AFA40FF8 */ sw $a0, 0xff8($sp) -/* 100760 7F0CBC30 3C108009 */ lui $s0, %hi(ptr_texture_alloc_start) -/* 100764 7F0CBC34 2610C720 */ addiu $s0, %lo(ptr_texture_alloc_start) # addiu $s0, $s0, -0x38e0 -.L7F0CBC38: -/* 100768 7F0CBC38 8FAE0FF8 */ lw $t6, 0xff8($sp) -/* 10076C 7F0CBC3C 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D094) -/* 100770 7F0CBC40 2442D094 */ addiu $v0, %lo(dword_CODE_bss_8008D094) # addiu $v0, $v0, -0x2f6c -/* 100774 7F0CBC44 8DCF0000 */ lw $t7, ($t6) -/* 100778 7F0CBC48 02002825 */ move $a1, $s0 -/* 10077C 7F0CBC4C 31E4FFFF */ andi $a0, $t7, 0xffff -/* 100780 7F0CBC50 0FC32EC3 */ jal sub_GAME_7F0CBB0C -/* 100784 7F0CBC54 AC440000 */ sw $a0, ($v0) -/* 100788 7F0CBC58 14400074 */ bnez $v0, .L7F0CBE2C -/* 10078C 7F0CBC5C 00401825 */ move $v1, $v0 -/* 100790 7F0CBC60 27A30067 */ addiu $v1, $sp, 0x67 -/* 100794 7F0CBC64 0003C902 */ srl $t9, $v1, 4 -/* 100798 7F0CBC68 00194100 */ sll $t0, $t9, 4 -/* 10079C 7F0CBC6C 0C0034C8 */ jal osWritebackDCacheAll -/* 1007A0 7F0CBC70 AFA8002C */ sw $t0, 0x2c($sp) -/* 1007A4 7F0CBC74 8FA4002C */ lw $a0, 0x2c($sp) -/* 1007A8 7F0CBC78 0C0042C8 */ jal osInvalDCache -/* 1007AC 7F0CBC7C 24052000 */ li $a1, 8192 -/* 1007B0 7F0CBC80 3C098009 */ lui $t1, %hi(dword_CODE_bss_8008D094) -/* 1007B4 7F0CBC84 8D29D094 */ lw $t1, %lo(dword_CODE_bss_8008D094)($t1) -/* 1007B8 7F0CBC88 3C0B8005 */ lui $t3, %hi(image_entries) -/* 1007BC 7F0CBC8C 256B9300 */ addiu $t3, %lo(image_entries) # addiu $t3, $t3, -0x6d00 -/* 1007C0 7F0CBC90 000950C0 */ sll $t2, $t1, 3 -/* 1007C4 7F0CBC94 014B1021 */ addu $v0, $t2, $t3 -/* 1007C8 7F0CBC98 8C430000 */ lw $v1, ($v0) -/* 1007CC 7F0CBC9C 8C470008 */ lw $a3, 8($v0) -/* 1007D0 7F0CBCA0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 1007D4 7F0CBCA4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 1007D8 7F0CBCA8 00616024 */ and $t4, $v1, $at -/* 1007DC 7F0CBCAC 00E16824 */ and $t5, $a3, $at -/* 1007E0 7F0CBCB0 01AC3023 */ subu $a2, $t5, $t4 -/* 1007E4 7F0CBCB4 24C6001F */ addiu $a2, $a2, 0x1f -/* 1007E8 7F0CBCB8 2401FFF8 */ li $at, -8 -/* 1007EC 7F0CBCBC 3C0F008F */ lui $t7, %hi(_imagesSegmentRomStart) # $t7, 0x8f -/* 1007F0 7F0CBCC0 25EF7DF0 */ addiu $t7, %lo(_imagesSegmentRomStart) # addiu $t7, $t7, 0x7df0 -/* 1007F4 7F0CBCC4 01817024 */ and $t6, $t4, $at -/* 1007F8 7F0CBCC8 0006C102 */ srl $t8, $a2, 4 -/* 1007FC 7F0CBCCC 00183100 */ sll $a2, $t8, 4 -/* 100800 7F0CBCD0 01CF2821 */ addu $a1, $t6, $t7 -/* 100804 7F0CBCD4 AFAC003C */ sw $t4, 0x3c($sp) -/* 100808 7F0CBCD8 0C001707 */ jal romCopy -/* 10080C 7F0CBCDC 8FA4002C */ lw $a0, 0x2c($sp) -/* 100810 7F0CBCE0 8FA3003C */ lw $v1, 0x3c($sp) -/* 100814 7F0CBCE4 8FA8002C */ lw $t0, 0x2c($sp) -/* 100818 7F0CBCE8 02002025 */ move $a0, $s0 -/* 10081C 7F0CBCEC 30690007 */ andi $t1, $v1, 7 -/* 100820 7F0CBCF0 01095021 */ addu $t2, $t0, $t1 -/* 100824 7F0CBCF4 AFAA0054 */ sw $t2, 0x54($sp) -/* 100828 7F0CBCF8 91420000 */ lbu $v0, ($t2) -/* 10082C 7F0CBCFC 254D0001 */ addiu $t5, $t2, 1 -/* 100830 7F0CBD00 AFAD0054 */ sw $t5, 0x54($sp) -/* 100834 7F0CBD04 30460080 */ andi $a2, $v0, 0x80 -/* 100838 7F0CBD08 30450040 */ andi $a1, $v0, 0x40 -/* 10083C 7F0CBD0C 000659C3 */ sra $t3, $a2, 7 -/* 100840 7F0CBD10 00056183 */ sra $t4, $a1, 6 -/* 100844 7F0CBD14 01603025 */ move $a2, $t3 -/* 100848 7F0CBD18 01802825 */ move $a1, $t4 -/* 10084C 7F0CBD1C 1580000A */ bnez $t4, .L7F0CBD48 -/* 100850 7F0CBD20 3047003F */ andi $a3, $v0, 0x3f -/* 100854 7F0CBD24 AFAC004C */ sw $t4, 0x4c($sp) -/* 100858 7F0CBD28 AFAB0050 */ sw $t3, 0x50($sp) -/* 10085C 7F0CBD2C 0FC32ED9 */ jal sub_GAME_7F0CBB64 -/* 100860 7F0CBD30 AFA70048 */ sw $a3, 0x48($sp) -/* 100864 7F0CBD34 284110CC */ slti $at, $v0, 0x10cc -/* 100868 7F0CBD38 8FA5004C */ lw $a1, 0x4c($sp) -/* 10086C 7F0CBD3C 8FA60050 */ lw $a2, 0x50($sp) -/* 100870 7F0CBD40 1420000C */ bnez $at, .L7F0CBD74 -/* 100874 7F0CBD44 8FA70048 */ lw $a3, 0x48($sp) -.L7F0CBD48: -/* 100878 7F0CBD48 10A0000F */ beqz $a1, .L7F0CBD88 -/* 10087C 7F0CBD4C 02002025 */ move $a0, $s0 -/* 100880 7F0CBD50 AFA5004C */ sw $a1, 0x4c($sp) -/* 100884 7F0CBD54 AFA60050 */ sw $a2, 0x50($sp) -/* 100888 7F0CBD58 0FC32ED9 */ jal sub_GAME_7F0CBB64 -/* 10088C 7F0CBD5C AFA70048 */ sw $a3, 0x48($sp) -/* 100890 7F0CBD60 28410A28 */ slti $at, $v0, 0xa28 -/* 100894 7F0CBD64 8FA5004C */ lw $a1, 0x4c($sp) -/* 100898 7F0CBD68 8FA60050 */ lw $a2, 0x50($sp) -/* 10089C 7F0CBD6C 10200006 */ beqz $at, .L7F0CBD88 -/* 1008A0 7F0CBD70 8FA70048 */ lw $a3, 0x48($sp) -.L7F0CBD74: -/* 1008A4 7F0CBD74 0C003A2C */ jal osVirtualToPhysical -/* 1008A8 7F0CBD78 8E040000 */ lw $a0, ($s0) -/* 1008AC 7F0CBD7C 8FAE0FF8 */ lw $t6, 0xff8($sp) -/* 1008B0 7F0CBD80 1000002E */ b .L7F0CBE3C -/* 1008B4 7F0CBD84 ADC20000 */ sw $v0, ($t6) -.L7F0CBD88: -/* 1008B8 7F0CBD88 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008D094) -/* 1008BC 7F0CBD8C 8E020008 */ lw $v0, 8($s0) -/* 1008C0 7F0CBD90 8DEFD094 */ lw $t7, %lo(dword_CODE_bss_8008D094)($t7) -/* 1008C4 7F0CBD94 3C0B8009 */ lui $t3, %hi(dword_CODE_bss_8008D094) -/* 1008C8 7F0CBD98 A44F0000 */ sh $t7, ($v0) -/* 1008CC 7F0CBD9C 8E180008 */ lw $t8, 8($s0) -/* 1008D0 7F0CBDA0 8E08000C */ lw $t0, 0xc($s0) -/* 1008D4 7F0CBDA4 27190008 */ addiu $t9, $t8, 8 -/* 1008D8 7F0CBDA8 2509FFF0 */ addiu $t1, $t0, -0x10 -/* 1008DC 7F0CBDAC AE190008 */ sw $t9, 8($s0) -/* 1008E0 7F0CBDB0 AE09000C */ sw $t1, 0xc($s0) -/* 1008E4 7F0CBDB4 952E0000 */ lhu $t6, ($t1) -/* 1008E8 7F0CBDB8 8D6CD094 */ lw $t4, %lo(dword_CODE_bss_8008D094)($t3) -/* 1008EC 7F0CBDBC 01201825 */ move $v1, $t1 -/* 1008F0 7F0CBDC0 31CF000F */ andi $t7, $t6, 0xf -/* 1008F4 7F0CBDC4 000C6900 */ sll $t5, $t4, 4 -/* 1008F8 7F0CBDC8 01AFC025 */ or $t8, $t5, $t7 -/* 1008FC 7F0CBDCC A5380000 */ sh $t8, ($t1) -/* 100900 7F0CBDD0 8E190008 */ lw $t9, 8($s0) -/* 100904 7F0CBDD4 10A00008 */ beqz $a1, .L7F0CBDF8 -/* 100908 7F0CBDD8 AD390004 */ sw $t9, 4($t1) -/* 10090C 7F0CBDDC 8E050008 */ lw $a1, 8($s0) -/* 100910 7F0CBDE0 AFA90044 */ sw $t1, 0x44($sp) -/* 100914 7F0CBDE4 AFB00010 */ sw $s0, 0x10($sp) -/* 100918 7F0CBDE8 0FC31996 */ jal image_related_calls_decompressdata_function -/* 10091C 7F0CBDEC 8FA40054 */ lw $a0, 0x54($sp) -/* 100920 7F0CBDF0 10000007 */ b .L7F0CBE10 -/* 100924 7F0CBDF4 8FA30044 */ lw $v1, 0x44($sp) -.L7F0CBDF8: -/* 100928 7F0CBDF8 8E050008 */ lw $a1, 8($s0) -/* 10092C 7F0CBDFC AFA30044 */ sw $v1, 0x44($sp) -/* 100930 7F0CBE00 AFB00010 */ sw $s0, 0x10($sp) -/* 100934 7F0CBE04 0FC31F7F */ jal process_huffman_compressed_images -/* 100938 7F0CBE08 8FA40054 */ lw $a0, 0x54($sp) -/* 10093C 7F0CBE0C 8FA30044 */ lw $v1, 0x44($sp) -.L7F0CBE10: -/* 100940 7F0CBE10 8E080008 */ lw $t0, 8($s0) -/* 100944 7F0CBE14 02002025 */ move $a0, $s0 -/* 100948 7F0CBE18 01024821 */ addu $t1, $t0, $v0 -/* 10094C 7F0CBE1C AE090008 */ sw $t1, 8($s0) -/* 100950 7F0CBE20 0FC32ED9 */ jal sub_GAME_7F0CBB64 -/* 100954 7F0CBE24 AFA30044 */ sw $v1, 0x44($sp) -/* 100958 7F0CBE28 8FA30044 */ lw $v1, 0x44($sp) -.L7F0CBE2C: -/* 10095C 7F0CBE2C 0C003A2C */ jal osVirtualToPhysical -/* 100960 7F0CBE30 8C640004 */ lw $a0, 4($v1) -/* 100964 7F0CBE34 8FAB0FF8 */ lw $t3, 0xff8($sp) -/* 100968 7F0CBE38 AD620000 */ sw $v0, ($t3) -.L7F0CBE3C: -/* 10096C 7F0CBE3C 8FBF0024 */ lw $ra, 0x24($sp) -/* 100970 7F0CBE40 8FB00020 */ lw $s0, 0x20($sp) -/* 100974 7F0CBE44 27BD0FF8 */ addiu $sp, $sp, 0xff8 -/* 100978 7F0CBE48 03E00008 */ jr $ra -/* 10097C 7F0CBE4C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CBE50(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CBE50 -/* 100980 7F0CBE50 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 100984 7F0CBE54 AFBF002C */ sw $ra, 0x2c($sp) -/* 100988 7F0CBE58 AFB50028 */ sw $s5, 0x28($sp) -/* 10098C 7F0CBE5C AFB40024 */ sw $s4, 0x24($sp) -/* 100990 7F0CBE60 AFB30020 */ sw $s3, 0x20($sp) -/* 100994 7F0CBE64 AFB2001C */ sw $s2, 0x1c($sp) -/* 100998 7F0CBE68 AFB10018 */ sw $s1, 0x18($sp) -/* 10099C 7F0CBE6C AFB00014 */ sw $s0, 0x14($sp) -/* 1009A0 7F0CBE70 84820016 */ lh $v0, 0x16($a0) -/* 1009A4 7F0CBE74 0080A025 */ move $s4, $a0 -/* 1009A8 7F0CBE78 00A0A825 */ move $s5, $a1 -/* 1009AC 7F0CBE7C 8C930018 */ lw $s3, 0x18($a0) -/* 1009B0 7F0CBE80 18400010 */ blez $v0, .L7F0CBEC4 -/* 1009B4 7F0CBE84 00009025 */ move $s2, $zero -/* 1009B8 7F0CBE88 00008025 */ move $s0, $zero -/* 1009BC 7F0CBE8C 02608825 */ move $s1, $s3 -.L7F0CBE90: -/* 1009C0 7F0CBE90 8E2E0000 */ lw $t6, ($s1) -/* 1009C4 7F0CBE94 02132021 */ addu $a0, $s0, $s3 -/* 1009C8 7F0CBE98 29C10BB9 */ slti $at, $t6, 0xbb9 -/* 1009CC 7F0CBE9C 50200005 */ beql $at, $zero, .L7F0CBEB4 -/* 1009D0 7F0CBEA0 26520001 */ addiu $s2, $s2, 1 -/* 1009D4 7F0CBEA4 0FC32F06 */ jal load_image_to_buffer -/* 1009D8 7F0CBEA8 02A02825 */ move $a1, $s5 -/* 1009DC 7F0CBEAC 86820016 */ lh $v0, 0x16($s4) -/* 1009E0 7F0CBEB0 26520001 */ addiu $s2, $s2, 1 -.L7F0CBEB4: -/* 1009E4 7F0CBEB4 0242082A */ slt $at, $s2, $v0 -/* 1009E8 7F0CBEB8 2610000C */ addiu $s0, $s0, 0xc -/* 1009EC 7F0CBEBC 1420FFF4 */ bnez $at, .L7F0CBE90 -/* 1009F0 7F0CBEC0 2631000C */ addiu $s1, $s1, 0xc -.L7F0CBEC4: -/* 1009F4 7F0CBEC4 8FBF002C */ lw $ra, 0x2c($sp) -/* 1009F8 7F0CBEC8 8FB00014 */ lw $s0, 0x14($sp) -/* 1009FC 7F0CBECC 8FB10018 */ lw $s1, 0x18($sp) -/* 100A00 7F0CBED0 8FB2001C */ lw $s2, 0x1c($sp) -/* 100A04 7F0CBED4 8FB30020 */ lw $s3, 0x20($sp) -/* 100A08 7F0CBED8 8FB40024 */ lw $s4, 0x24($sp) -/* 100A0C 7F0CBEDC 8FB50028 */ lw $s5, 0x28($sp) -/* 100A10 7F0CBEE0 03E00008 */ jr $ra -/* 100A14 7F0CBEE4 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void calls_load_image_to_buffer(uint *image,uint *buffer) -{ - load_image_to_buffer(&image,buffer); -} -#else -GLOBAL_ASM( -.text -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) -/* 100A24 7F0CBEF4 0FC32F06 */ jal load_image_to_buffer -/* 100A28 7F0CBEF8 27A4001C */ addiu $a0, $sp, 0x1c -/* 100A2C 7F0CBEFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 100A30 7F0CBF00 27BD0020 */ addiu $sp, $sp, 0x20 -/* 100A34 7F0CBF04 03E00008 */ jr $ra -/* 100A38 7F0CBF08 00000000 */ nop -) -#endif - - diff --git a/src/game/image.h b/src/game/image.h deleted file mode 100644 index 9c6a5f2..0000000 --- a/src/game/image.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _IMAGE_H_ -#define _IMAGE_H_ -#include "ultra64.h" - -struct image_entry -{ - char flag1; - char flag2; - u16 size; - char flag3; - char flag4; - char flag5; - char flag6; -}; - -extern s32 ptr_texture_alloc_start; -extern struct image_entry image_entries[]; - -#endif diff --git a/src/game/image_bank.c b/src/game/image_bank.c deleted file mode 100644 index d5d51b2..0000000 --- a/src/game/image_bank.c +++ /dev/null @@ -1,559 +0,0 @@ -#include "ultra64.h" -#include "ramrom.h" - -// bss -//8008D0A0 -s32 img_curpos; -//8008D0A4 -s32 img_curdatatable; -//8008D0A8 -s32 img_bitcount; -//8008D0AC -s32 dword_CODE_bss_8008D0AC; -//8008D0B0; -s32 globalbank_rdram_offset; -//8008D0B4; -s32 *pGlobalimagetable; -//8008D0B8; -struct sImageTableEntry *genericimage; -//8008D0BC -struct sImageTableEntry *impactimages; -//8008D0C0 -struct sImageTableEntry *explosion_smokeimages; -//8008D0C4 -struct sImageTableEntry *scattered_explosions; -//8008D0C8 -struct sImageTableEntry *flareimage1; -//8008D0CC -struct sImageTableEntry *flareimage2; -//8008D0D0 -struct sImageTableEntry *flareimage3; -//8008D0D4 -struct sImageTableEntry *flareimage4; -//8008D0D8 -struct sImageTableEntry *flareimage5; -//8008D0DC -struct sImageTableEntry *ammo9mmimage; -//8008D0E0 -struct sImageTableEntry *rifleammoimage; -//8008D0E4 -struct sImageTableEntry *shotgunammoimage; -//8008D0E8 -struct sImageTableEntry *knifeammoimage; -//8008D0EC -struct sImageTableEntry *glaunchammoimage; -//8008D0F0 -struct sImageTableEntry *rocketammoimage; -//8008D0F4 -struct sImageTableEntry *genericmineammoimage; -//8008D0F8 -struct sImageTableEntry *grenadeammoimage; -//8008D0FC -struct sImageTableEntry *magnumammoimage; -//8008D100 -struct sImageTableEntry *goldengunammoimage; -//8008D104 -struct sImageTableEntry *remotemineammoimage; -//8008D108 -struct sImageTableEntry *timedmineammoimage; -//8008D10C -struct sImageTableEntry *proxmineammoimage; -//8008D110 -struct sImageTableEntry *tankammoimage; -//8008D114; -struct sImageTableEntry *crosshairimage; -//8008D118 -struct sImageTableEntry *betacrosshairimage; -//8008D11C -struct sImageTableEntry *glassoverlayimage; -//8008D120 -struct sImageTableEntry *monitorimages; -//8008D124 -struct sImageTableEntry *skywaterimages; -//8008D128 -struct sImageTableEntry *mainfolderimages; -//8008D12C -struct sImageTableEntry *mpradarimages; -//8008D130 -struct sImageTableEntry *mpcharselimages; -//8008D134 -struct sImageTableEntry *mpstageselimages; - - -extern u8* _GlobalimagetableSegmentRomStart; - - -void makeemptyimageatpos(s32 pos) { - img_curpos = pos; - img_curdatatable = 0; - img_bitcount = 0; -} - - - - - -#ifdef NONMATCHING -u32 sub_GAME_7F0CBF2C(s32 bits) -{ - byte bVar1; - - if (img_bitcount < bits) { - do { - img_bitcount = img_bitcount + 8; - bVar1 = *img_curpos; - img_curpos = img_curpos + 1; - img_curdatatable = bVar1 | img_curdatatable << 8; - } while (img_bitcount < bits); - } - img_bitcount = img_bitcount - bits; - return img_curdatatable >> (img_bitcount & 0x1f) & (1 << (bits & 0x1f)) - 1U; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CBF2C -/* 100A5C 7F0CBF2C 3C058009 */ lui $a1, %hi(img_bitcount) -/* 100A60 7F0CBF30 24A5D0A8 */ addiu $a1, %lo(img_bitcount) # addiu $a1, $a1, -0x2f58 -/* 100A64 7F0CBF34 8CA30000 */ lw $v1, ($a1) -/* 100A68 7F0CBF38 3C078009 */ lui $a3, %hi(img_curpos) -/* 100A6C 7F0CBF3C 24E7D0A0 */ addiu $a3, %lo(img_curpos) # addiu $a3, $a3, -0x2f60 -/* 100A70 7F0CBF40 0064082A */ slt $at, $v1, $a0 -/* 100A74 7F0CBF44 1020000F */ beqz $at, .L7F0CBF84 -/* 100A78 7F0CBF48 3C068009 */ lui $a2, %hi(img_curdatatable) -/* 100A7C 7F0CBF4C 24C6D0A4 */ addiu $a2, %lo(img_curdatatable) # addiu $a2, $a2, -0x2f5c -.L7F0CBF50: -/* 100A80 7F0CBF50 8CE20000 */ lw $v0, ($a3) -/* 100A84 7F0CBF54 8CCF0000 */ lw $t7, ($a2) -/* 100A88 7F0CBF58 24690008 */ addiu $t1, $v1, 8 -/* 100A8C 7F0CBF5C 904E0000 */ lbu $t6, ($v0) -/* 100A90 7F0CBF60 000FC200 */ sll $t8, $t7, 8 -/* 100A94 7F0CBF64 0124082A */ slt $at, $t1, $a0 -/* 100A98 7F0CBF68 24480001 */ addiu $t0, $v0, 1 -/* 100A9C 7F0CBF6C 01D8C825 */ or $t9, $t6, $t8 -/* 100AA0 7F0CBF70 ACD90000 */ sw $t9, ($a2) -/* 100AA4 7F0CBF74 ACE80000 */ sw $t0, ($a3) -/* 100AA8 7F0CBF78 ACA90000 */ sw $t1, ($a1) -/* 100AAC 7F0CBF7C 1420FFF4 */ bnez $at, .L7F0CBF50 -/* 100AB0 7F0CBF80 01201825 */ move $v1, $t1 -.L7F0CBF84: -/* 100AB4 7F0CBF84 3C068009 */ lui $a2, %hi(img_curdatatable) -/* 100AB8 7F0CBF88 24C6D0A4 */ addiu $a2, %lo(img_curdatatable) # addiu $a2, $a2, -0x2f5c -/* 100ABC 7F0CBF8C 8CCB0000 */ lw $t3, ($a2) -/* 100AC0 7F0CBF90 240F0001 */ li $t7, 1 -/* 100AC4 7F0CBF94 00645023 */ subu $t2, $v1, $a0 -/* 100AC8 7F0CBF98 008F7004 */ sllv $t6, $t7, $a0 -/* 100ACC 7F0CBF9C 25D8FFFF */ addiu $t8, $t6, -1 -/* 100AD0 7F0CBFA0 014B6806 */ srlv $t5, $t3, $t2 -/* 100AD4 7F0CBFA4 ACAA0000 */ sw $t2, ($a1) -/* 100AD8 7F0CBFA8 03E00008 */ jr $ra -/* 100ADC 7F0CBFAC 01B81024 */ and $v0, $t5, $t8 -) -#endif - - - - - -#ifdef NONMATCHING -void load_prepare_global_image_bank(void) { - s32 size; - s32 i; - - size = (0x2001400 - 0x2000000); - 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); - scattered_explosions = (s32) (globalbank_rdram_offset + 0x2000c0c); - flareimage1 = (s32) (globalbank_rdram_offset + 0x2000c48); - flareimage2 = (s32) (globalbank_rdram_offset + 0x2000c54); - flareimage3 = (s32) (globalbank_rdram_offset + 0x2000c60); - flareimage4 = (s32) (globalbank_rdram_offset + 0x2000c6c); - flareimage5 = (s32) (globalbank_rdram_offset + 0x2000c78); - ammo9mmimage = (s32) (globalbank_rdram_offset + 0x2000c84); - rifleammoimage = (s32) (globalbank_rdram_offset + 0x2000c90); - shotgunammoimage = (s32) (globalbank_rdram_offset + 0x2000c9c); - knifeammoimage = (s32) (globalbank_rdram_offset + 0x2000ca8); - glaunchammoimage = (s32) (globalbank_rdram_offset + 0x2000cb4); - rocketammoimage = (s32) (globalbank_rdram_offset + 0x2000cc0); - genericmineammoimage = (s32) (globalbank_rdram_offset + 0x2000ccc); - grenadeammoimage = (s32) (globalbank_rdram_offset + 0x2000cd8); - magnumammoimage = (s32) (globalbank_rdram_offset + 0x2000ce4); - goldengunammoimage = (s32) (globalbank_rdram_offset + 0x2000cf0); - remotemineammoimage = (s32) (globalbank_rdram_offset + 0x2000cfc); - timedmineammoimage = (s32) (globalbank_rdram_offset + 0x2000d08); - proxmineammoimage = (s32) (globalbank_rdram_offset + 0x2000d14); - tankammoimage = (s32) (globalbank_rdram_offset + 0x2000d20); - crosshairimage = (s32) (globalbank_rdram_offset + 0x2000d2c); - betacrosshairimage = (s32) (globalbank_rdram_offset + 0x2000d38); - glassoverlayimage = (s32) (globalbank_rdram_offset + 0x2000d44); - monitorimages = (s32) (globalbank_rdram_offset + 0x2000d5c); - skywaterimages = (s32) (globalbank_rdram_offset + 0x2000fb4); - mainfolderimages = (s32) (globalbank_rdram_offset + 0x2000fd8); - mpradarimages = (s32) (globalbank_rdram_offset + 0x2001020); - mpcharselimages = (s32) (globalbank_rdram_offset + 0x200102c); - mpstageselimages = (s32) (globalbank_rdram_offset + 0x200132c); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000000), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000078), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000120), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x20001c8), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000270), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000318), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x20003c0), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000468), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000510), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x20005b8), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000660), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000708), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x20007b0), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000858), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000900), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x20009a8), 0); - check_load_image_to_buffer((globalbank_rdram_offset + 0x2000a50), 0); - load_image_to_buffer(genericimage, 0); - for (i = 0; i < 0x48; i + 0xC) - { - load_image_to_buffer((explosion_smokeimages + i),0x0); - }; - - for (i = 0; i != 0x3c; i + 0xc) - { - load_image_to_buffer((scattered_explosions + i),0x0); - }; -} -#else -GLOBAL_ASM( -.text -glabel load_prepare_global_image_bank -/* 100AE0 7F0CBFB0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 100AE4 7F0CBFB4 3C0E0200 */ lui $t6, %hi(0x02001400) # $t6, 0x200 -/* 100AE8 7F0CBFB8 3C0F0200 */ lui $t7, 0x200 -/* 100AEC 7F0CBFBC AFB00014 */ sw $s0, 0x14($sp) -/* 100AF0 7F0CBFC0 25EF0000 */ addiu $t7, $t7, 0 -/* 100AF4 7F0CBFC4 25CE1400 */ addiu $t6, %lo(0x02001400) # addiu $t6, $t6, 0x1400 -/* 100AF8 7F0CBFC8 AFBF0024 */ sw $ra, 0x24($sp) -/* 100AFC 7F0CBFCC 01CF8023 */ subu $s0, $t6, $t7 -/* 100B00 7F0CBFD0 AFB30020 */ sw $s3, 0x20($sp) -/* 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 mempAllocBytesInBank -/* 100B14 7F0CBFE4 24050004 */ li $a1, 4 -/* 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) -/* 100B2C 7F0CBFFC 03212024 */ and $a0, $t9, $at -/* 100B30 7F0CC000 3C05002A */ lui $a1, %hi(_GlobalimagetableSegmentRomStart) # $a1, 0x2a -/* 100B34 7F0CC004 AE240000 */ sw $a0, ($s1) -/* 100B38 7F0CC008 24A5D160 */ addiu $a1, %lo(_GlobalimagetableSegmentRomStart) # addiu $a1, $a1, -0x2ea0 -/* 100B3C 7F0CC00C 0C001707 */ jal romCopy -/* 100B40 7F0CC010 02003025 */ move $a2, $s0 -/* 100B44 7F0CC014 8E290000 */ lw $t1, ($s1) -/* 100B48 7F0CC018 3C01FE00 */ lui $at, 0xfe00 -/* 100B4C 7F0CC01C 3C108009 */ lui $s0, %hi(globalbank_rdram_offset) -/* 100B50 7F0CC020 01211021 */ addu $v0, $t1, $at -/* 100B54 7F0CC024 3C0B0200 */ lui $t3, %hi(0x02000AC8) # $t3, 0x200 -/* 100B58 7F0CC028 2610D0B0 */ addiu $s0, %lo(globalbank_rdram_offset) # addiu $s0, $s0, -0x2f50 -/* 100B5C 7F0CC02C 256B0AC8 */ addiu $t3, %lo(0x02000AC8) # addiu $t3, $t3, 0xac8 -/* 100B60 7F0CC030 AE020000 */ sw $v0, ($s0) -/* 100B64 7F0CC034 004B6021 */ addu $t4, $v0, $t3 -/* 100B68 7F0CC038 3C018009 */ lui $at, %hi(genericimage) -/* 100B6C 7F0CC03C 3C0D0200 */ lui $t5, %hi(0x02000AD4) # $t5, 0x200 -/* 100B70 7F0CC040 AC2CD0B8 */ sw $t4, %lo(genericimage)($at) -/* 100B74 7F0CC044 25AD0AD4 */ addiu $t5, %lo(0x02000AD4) # addiu $t5, $t5, 0xad4 -/* 100B78 7F0CC048 004D7021 */ addu $t6, $v0, $t5 -/* 100B7C 7F0CC04C 3C018009 */ lui $at, %hi(impactimages) -/* 100B80 7F0CC050 AC2ED0BC */ sw $t6, %lo(impactimages)($at) -/* 100B84 7F0CC054 3C0F0200 */ lui $t7, %hi(0x02000BC4) # $t7, 0x200 -/* 100B88 7F0CC058 3C190200 */ lui $t9, %hi(0x02000C0C) # $t9, 0x200 -/* 100B8C 7F0CC05C 3C128009 */ lui $s2, %hi(explosion_smokeimages) -/* 100B90 7F0CC060 3C138009 */ lui $s3, %hi(scattered_explosions) -/* 100B94 7F0CC064 25EF0BC4 */ addiu $t7, %lo(0x02000BC4) # addiu $t7, $t7, 0xbc4 -/* 100B98 7F0CC068 27390C0C */ addiu $t9, %lo(0x02000C0C) # addiu $t9, $t9, 0xc0c -/* 100B9C 7F0CC06C 3C090200 */ lui $t1, %hi(0x02000C48) # $t1, 0x200 -/* 100BA0 7F0CC070 2673D0C4 */ addiu $s3, %lo(scattered_explosions) # addiu $s3, $s3, -0x2f3c -/* 100BA4 7F0CC074 2652D0C0 */ addiu $s2, %lo(explosion_smokeimages) # addiu $s2, $s2, -0x2f40 -/* 100BA8 7F0CC078 004FC021 */ addu $t8, $v0, $t7 -/* 100BAC 7F0CC07C 00594021 */ addu $t0, $v0, $t9 -/* 100BB0 7F0CC080 25290C48 */ addiu $t1, %lo(0x02000C48) # addiu $t1, $t1, 0xc48 -/* 100BB4 7F0CC084 AE580000 */ sw $t8, ($s2) -/* 100BB8 7F0CC088 AE680000 */ sw $t0, ($s3) -/* 100BBC 7F0CC08C 00495021 */ addu $t2, $v0, $t1 -/* 100BC0 7F0CC090 3C018009 */ lui $at, %hi(flareimage1) -/* 100BC4 7F0CC094 3C0B0200 */ lui $t3, %hi(0x02000C54) # $t3, 0x200 -/* 100BC8 7F0CC098 AC2AD0C8 */ sw $t2, %lo(flareimage1)($at) -/* 100BCC 7F0CC09C 256B0C54 */ addiu $t3, %lo(0x02000C54) # addiu $t3, $t3, 0xc54 -/* 100BD0 7F0CC0A0 004B6021 */ addu $t4, $v0, $t3 -/* 100BD4 7F0CC0A4 3C018009 */ lui $at, %hi(flareimage2) -/* 100BD8 7F0CC0A8 3C0D0200 */ lui $t5, %hi(0x02000C60) # $t5, 0x200 -/* 100BDC 7F0CC0AC AC2CD0CC */ sw $t4, %lo(flareimage2)($at) -/* 100BE0 7F0CC0B0 25AD0C60 */ addiu $t5, %lo(0x02000C60) # addiu $t5, $t5, 0xc60 -/* 100BE4 7F0CC0B4 004D7021 */ addu $t6, $v0, $t5 -/* 100BE8 7F0CC0B8 3C018009 */ lui $at, %hi(flareimage3) -/* 100BEC 7F0CC0BC 3C0F0200 */ lui $t7, %hi(0x02000C6C) # $t7, 0x200 -/* 100BF0 7F0CC0C0 AC2ED0D0 */ sw $t6, %lo(flareimage3)($at) -/* 100BF4 7F0CC0C4 25EF0C6C */ addiu $t7, %lo(0x02000C6C) # addiu $t7, $t7, 0xc6c -/* 100BF8 7F0CC0C8 004FC021 */ addu $t8, $v0, $t7 -/* 100BFC 7F0CC0CC 3C018009 */ lui $at, %hi(flareimage4) -/* 100C00 7F0CC0D0 3C190200 */ lui $t9, %hi(0x02000C78) # $t9, 0x200 -/* 100C04 7F0CC0D4 AC38D0D4 */ sw $t8, %lo(flareimage4)($at) -/* 100C08 7F0CC0D8 27390C78 */ addiu $t9, %lo(0x02000C78) # addiu $t9, $t9, 0xc78 -/* 100C0C 7F0CC0DC 00594021 */ addu $t0, $v0, $t9 -/* 100C10 7F0CC0E0 3C018009 */ lui $at, %hi(flareimage5) -/* 100C14 7F0CC0E4 3C090200 */ lui $t1, %hi(0x02000C84) # $t1, 0x200 -/* 100C18 7F0CC0E8 AC28D0D8 */ sw $t0, %lo(flareimage5)($at) -/* 100C1C 7F0CC0EC 25290C84 */ addiu $t1, %lo(0x02000C84) # addiu $t1, $t1, 0xc84 -/* 100C20 7F0CC0F0 00495021 */ addu $t2, $v0, $t1 -/* 100C24 7F0CC0F4 3C018009 */ lui $at, %hi(ammo9mmimage) -/* 100C28 7F0CC0F8 3C0B0200 */ lui $t3, %hi(0x02000C90) # $t3, 0x200 -/* 100C2C 7F0CC0FC AC2AD0DC */ sw $t2, %lo(ammo9mmimage)($at) -/* 100C30 7F0CC100 256B0C90 */ addiu $t3, %lo(0x02000C90) # addiu $t3, $t3, 0xc90 -/* 100C34 7F0CC104 004B6021 */ addu $t4, $v0, $t3 -/* 100C38 7F0CC108 3C018009 */ lui $at, %hi(rifleammoimage) -/* 100C3C 7F0CC10C 3C0D0200 */ lui $t5, %hi(0x02000C9C) # $t5, 0x200 -/* 100C40 7F0CC110 AC2CD0E0 */ sw $t4, %lo(rifleammoimage)($at) -/* 100C44 7F0CC114 25AD0C9C */ addiu $t5, %lo(0x02000C9C) # addiu $t5, $t5, 0xc9c -/* 100C48 7F0CC118 004D7021 */ addu $t6, $v0, $t5 -/* 100C4C 7F0CC11C 3C018009 */ lui $at, %hi(shotgunammoimage) -/* 100C50 7F0CC120 3C0F0200 */ lui $t7, %hi(0x02000CA8) # $t7, 0x200 -/* 100C54 7F0CC124 AC2ED0E4 */ sw $t6, %lo(shotgunammoimage)($at) -/* 100C58 7F0CC128 25EF0CA8 */ addiu $t7, %lo(0x02000CA8) # addiu $t7, $t7, 0xca8 -/* 100C5C 7F0CC12C 004FC021 */ addu $t8, $v0, $t7 -/* 100C60 7F0CC130 3C018009 */ lui $at, %hi(knifeammoimage) -/* 100C64 7F0CC134 3C190200 */ lui $t9, %hi(0x02000CB4) # $t9, 0x200 -/* 100C68 7F0CC138 AC38D0E8 */ sw $t8, %lo(knifeammoimage)($at) -/* 100C6C 7F0CC13C 27390CB4 */ addiu $t9, %lo(0x02000CB4) # addiu $t9, $t9, 0xcb4 -/* 100C70 7F0CC140 00594021 */ addu $t0, $v0, $t9 -/* 100C74 7F0CC144 3C018009 */ lui $at, %hi(glaunchammoimage) -/* 100C78 7F0CC148 3C090200 */ lui $t1, %hi(0x02000CC0) # $t1, 0x200 -/* 100C7C 7F0CC14C AC28D0EC */ sw $t0, %lo(glaunchammoimage)($at) -/* 100C80 7F0CC150 25290CC0 */ addiu $t1, %lo(0x02000CC0) # addiu $t1, $t1, 0xcc0 -/* 100C84 7F0CC154 00495021 */ addu $t2, $v0, $t1 -/* 100C88 7F0CC158 3C018009 */ lui $at, %hi(rocketammoimage) -/* 100C8C 7F0CC15C 3C0B0200 */ lui $t3, %hi(0x02000CCC) # $t3, 0x200 -/* 100C90 7F0CC160 AC2AD0F0 */ sw $t2, %lo(rocketammoimage)($at) -/* 100C94 7F0CC164 256B0CCC */ addiu $t3, %lo(0x02000CCC) # addiu $t3, $t3, 0xccc -/* 100C98 7F0CC168 004B6021 */ addu $t4, $v0, $t3 -/* 100C9C 7F0CC16C 3C018009 */ lui $at, %hi(genericmineammoimage) -/* 100CA0 7F0CC170 3C0D0200 */ lui $t5, %hi(0x02000CD8) # $t5, 0x200 -/* 100CA4 7F0CC174 AC2CD0F4 */ sw $t4, %lo(genericmineammoimage)($at) -/* 100CA8 7F0CC178 25AD0CD8 */ addiu $t5, %lo(0x02000CD8) # addiu $t5, $t5, 0xcd8 -/* 100CAC 7F0CC17C 004D7021 */ addu $t6, $v0, $t5 -/* 100CB0 7F0CC180 3C018009 */ lui $at, %hi(grenadeammoimage) -/* 100CB4 7F0CC184 3C0F0200 */ lui $t7, %hi(0x02000CE4) # $t7, 0x200 -/* 100CB8 7F0CC188 AC2ED0F8 */ sw $t6, %lo(grenadeammoimage)($at) -/* 100CBC 7F0CC18C 25EF0CE4 */ addiu $t7, %lo(0x02000CE4) # addiu $t7, $t7, 0xce4 -/* 100CC0 7F0CC190 004FC021 */ addu $t8, $v0, $t7 -/* 100CC4 7F0CC194 3C018009 */ lui $at, %hi(magnumammoimage) -/* 100CC8 7F0CC198 3C190200 */ lui $t9, %hi(0x02000CF0) # $t9, 0x200 -/* 100CCC 7F0CC19C AC38D0FC */ sw $t8, %lo(magnumammoimage)($at) -/* 100CD0 7F0CC1A0 27390CF0 */ addiu $t9, %lo(0x02000CF0) # addiu $t9, $t9, 0xcf0 -/* 100CD4 7F0CC1A4 00594021 */ addu $t0, $v0, $t9 -/* 100CD8 7F0CC1A8 3C018009 */ lui $at, %hi(goldengunammoimage) -/* 100CDC 7F0CC1AC 3C090200 */ lui $t1, %hi(0x02000CFC) # $t1, 0x200 -/* 100CE0 7F0CC1B0 AC28D100 */ sw $t0, %lo(goldengunammoimage)($at) -/* 100CE4 7F0CC1B4 25290CFC */ addiu $t1, %lo(0x02000CFC) # addiu $t1, $t1, 0xcfc -/* 100CE8 7F0CC1B8 00495021 */ addu $t2, $v0, $t1 -/* 100CEC 7F0CC1BC 3C018009 */ lui $at, %hi(remotemineammoimage) -/* 100CF0 7F0CC1C0 3C0B0200 */ lui $t3, %hi(0x02000D08) # $t3, 0x200 -/* 100CF4 7F0CC1C4 AC2AD104 */ sw $t2, %lo(remotemineammoimage)($at) -/* 100CF8 7F0CC1C8 256B0D08 */ addiu $t3, %lo(0x02000D08) # addiu $t3, $t3, 0xd08 -/* 100CFC 7F0CC1CC 004B6021 */ addu $t4, $v0, $t3 -/* 100D00 7F0CC1D0 3C018009 */ lui $at, %hi(timedmineammoimage) -/* 100D04 7F0CC1D4 3C0D0200 */ lui $t5, %hi(0x02000D14) # $t5, 0x200 -/* 100D08 7F0CC1D8 AC2CD108 */ sw $t4, %lo(timedmineammoimage)($at) -/* 100D0C 7F0CC1DC 25AD0D14 */ addiu $t5, %lo(0x02000D14) # addiu $t5, $t5, 0xd14 -/* 100D10 7F0CC1E0 004D7021 */ addu $t6, $v0, $t5 -/* 100D14 7F0CC1E4 3C018009 */ lui $at, %hi(proxmineammoimage) -/* 100D18 7F0CC1E8 3C0F0200 */ lui $t7, %hi(0x02000D20) # $t7, 0x200 -/* 100D1C 7F0CC1EC AC2ED10C */ sw $t6, %lo(proxmineammoimage)($at) -/* 100D20 7F0CC1F0 25EF0D20 */ addiu $t7, %lo(0x02000D20) # addiu $t7, $t7, 0xd20 -/* 100D24 7F0CC1F4 004FC021 */ addu $t8, $v0, $t7 -/* 100D28 7F0CC1F8 3C018009 */ lui $at, %hi(tankammoimage) -/* 100D2C 7F0CC1FC 3C190200 */ lui $t9, %hi(0x02000D2C) # $t9, 0x200 -/* 100D30 7F0CC200 AC38D110 */ sw $t8, %lo(tankammoimage)($at) -/* 100D34 7F0CC204 27390D2C */ addiu $t9, %lo(0x02000D2C) # addiu $t9, $t9, 0xd2c -/* 100D38 7F0CC208 00594021 */ addu $t0, $v0, $t9 -/* 100D3C 7F0CC20C 3C018009 */ lui $at, %hi(crosshairimage) -/* 100D40 7F0CC210 3C090200 */ lui $t1, %hi(0x02000D38) # $t1, 0x200 -/* 100D44 7F0CC214 AC28D114 */ sw $t0, %lo(crosshairimage)($at) -/* 100D48 7F0CC218 25290D38 */ addiu $t1, %lo(0x02000D38) # addiu $t1, $t1, 0xd38 -/* 100D4C 7F0CC21C 00495021 */ addu $t2, $v0, $t1 -/* 100D50 7F0CC220 3C018009 */ lui $at, %hi(betacrosshairimage) -/* 100D54 7F0CC224 3C0B0200 */ lui $t3, %hi(0x02000D44) # $t3, 0x200 -/* 100D58 7F0CC228 AC2AD118 */ sw $t2, %lo(betacrosshairimage)($at) -/* 100D5C 7F0CC22C 256B0D44 */ addiu $t3, %lo(0x02000D44) # addiu $t3, $t3, 0xd44 -/* 100D60 7F0CC230 004B6021 */ addu $t4, $v0, $t3 -/* 100D64 7F0CC234 3C018009 */ lui $at, %hi(glassoverlayimage) -/* 100D68 7F0CC238 3C0D0200 */ lui $t5, %hi(0x02000D5C) # $t5, 0x200 -/* 100D6C 7F0CC23C AC2CD11C */ sw $t4, %lo(glassoverlayimage)($at) -/* 100D70 7F0CC240 25AD0D5C */ addiu $t5, %lo(0x02000D5C) # addiu $t5, $t5, 0xd5c -/* 100D74 7F0CC244 004D7021 */ addu $t6, $v0, $t5 -/* 100D78 7F0CC248 3C018009 */ lui $at, %hi(monitorimages) -/* 100D7C 7F0CC24C 3C0F0200 */ lui $t7, %hi(0x02000FB4) # $t7, 0x200 -/* 100D80 7F0CC250 AC2ED120 */ sw $t6, %lo(monitorimages)($at) -/* 100D84 7F0CC254 25EF0FB4 */ addiu $t7, %lo(0x02000FB4) # addiu $t7, $t7, 0xfb4 -/* 100D88 7F0CC258 004FC021 */ addu $t8, $v0, $t7 -/* 100D8C 7F0CC25C 3C018009 */ lui $at, %hi(skywaterimages) -/* 100D90 7F0CC260 3C190200 */ lui $t9, %hi(0x02000FD8) # $t9, 0x200 -/* 100D94 7F0CC264 AC38D124 */ sw $t8, %lo(skywaterimages)($at) -/* 100D98 7F0CC268 27390FD8 */ addiu $t9, %lo(0x02000FD8) # addiu $t9, $t9, 0xfd8 -/* 100D9C 7F0CC26C 00594021 */ addu $t0, $v0, $t9 -/* 100DA0 7F0CC270 3C018009 */ lui $at, %hi(mainfolderimages) -/* 100DA4 7F0CC274 3C090200 */ lui $t1, %hi(0x02001020) # $t1, 0x200 -/* 100DA8 7F0CC278 AC28D128 */ sw $t0, %lo(mainfolderimages)($at) -/* 100DAC 7F0CC27C 25291020 */ addiu $t1, %lo(0x02001020) # addiu $t1, $t1, 0x1020 -/* 100DB0 7F0CC280 00495021 */ addu $t2, $v0, $t1 -/* 100DB4 7F0CC284 3C018009 */ lui $at, %hi(mpradarimages) -/* 100DB8 7F0CC288 3C0B0200 */ lui $t3, %hi(0x0200102C) # $t3, 0x200 -/* 100DBC 7F0CC28C AC2AD12C */ sw $t2, %lo(mpradarimages)($at) -/* 100DC0 7F0CC290 256B102C */ addiu $t3, %lo(0x0200102C) # addiu $t3, $t3, 0x102c -/* 100DC4 7F0CC294 004B6021 */ addu $t4, $v0, $t3 -/* 100DC8 7F0CC298 3C018009 */ lui $at, %hi(mpcharselimages) -/* 100DCC 7F0CC29C 3C0D0200 */ lui $t5, %hi(0x0200132C) # $t5, 0x200 -/* 100DD0 7F0CC2A0 AC2CD130 */ sw $t4, %lo(mpcharselimages)($at) -/* 100DD4 7F0CC2A4 25AD132C */ addiu $t5, %lo(0x0200132C) # addiu $t5, $t5, 0x132c -/* 100DD8 7F0CC2A8 3C0F0200 */ lui $t7, 0x200 -/* 100DDC 7F0CC2AC 004D7021 */ addu $t6, $v0, $t5 -/* 100DE0 7F0CC2B0 3C018009 */ lui $at, %hi(mpstageselimages) -/* 100DE4 7F0CC2B4 25EF0000 */ addiu $t7, $t7, 0 -/* 100DE8 7F0CC2B8 AC2ED134 */ sw $t6, %lo(mpstageselimages)($at) -/* 100DEC 7F0CC2BC 004F2021 */ addu $a0, $v0, $t7 -/* 100DF0 7F0CC2C0 0FC32EDD */ jal check_load_image_to_buffer -/* 100DF4 7F0CC2C4 00002825 */ move $a1, $zero -/* 100DF8 7F0CC2C8 8E180000 */ lw $t8, ($s0) -/* 100DFC 7F0CC2CC 3C190200 */ lui $t9, %hi(0x02000078) # $t9, 0x200 -/* 100E00 7F0CC2D0 27390078 */ addiu $t9, %lo(0x02000078) # addiu $t9, $t9, 0x78 -/* 100E04 7F0CC2D4 00002825 */ move $a1, $zero -/* 100E08 7F0CC2D8 0FC32EDD */ jal check_load_image_to_buffer -/* 100E0C 7F0CC2DC 03192021 */ addu $a0, $t8, $t9 -/* 100E10 7F0CC2E0 8E080000 */ lw $t0, ($s0) -/* 100E14 7F0CC2E4 3C090200 */ lui $t1, %hi(0x02000120) # $t1, 0x200 -/* 100E18 7F0CC2E8 25290120 */ addiu $t1, %lo(0x02000120) # addiu $t1, $t1, 0x120 -/* 100E1C 7F0CC2EC 00002825 */ move $a1, $zero -/* 100E20 7F0CC2F0 0FC32EDD */ jal check_load_image_to_buffer -/* 100E24 7F0CC2F4 01092021 */ addu $a0, $t0, $t1 -/* 100E28 7F0CC2F8 8E0A0000 */ lw $t2, ($s0) -/* 100E2C 7F0CC2FC 3C0B0200 */ lui $t3, %hi(0x020001C8) # $t3, 0x200 -/* 100E30 7F0CC300 256B01C8 */ addiu $t3, %lo(0x020001C8) # addiu $t3, $t3, 0x1c8 -/* 100E34 7F0CC304 00002825 */ move $a1, $zero -/* 100E38 7F0CC308 0FC32EDD */ jal check_load_image_to_buffer -/* 100E3C 7F0CC30C 014B2021 */ addu $a0, $t2, $t3 -/* 100E40 7F0CC310 8E0C0000 */ lw $t4, ($s0) -/* 100E44 7F0CC314 3C0D0200 */ lui $t5, %hi(0x02000270) # $t5, 0x200 -/* 100E48 7F0CC318 25AD0270 */ addiu $t5, %lo(0x02000270) # addiu $t5, $t5, 0x270 -/* 100E4C 7F0CC31C 00002825 */ move $a1, $zero -/* 100E50 7F0CC320 0FC32EDD */ jal check_load_image_to_buffer -/* 100E54 7F0CC324 018D2021 */ addu $a0, $t4, $t5 -/* 100E58 7F0CC328 8E0E0000 */ lw $t6, ($s0) -/* 100E5C 7F0CC32C 3C0F0200 */ lui $t7, %hi(0x02000318) # $t7, 0x200 -/* 100E60 7F0CC330 25EF0318 */ addiu $t7, %lo(0x02000318) # addiu $t7, $t7, 0x318 -/* 100E64 7F0CC334 00002825 */ move $a1, $zero -/* 100E68 7F0CC338 0FC32EDD */ jal check_load_image_to_buffer -/* 100E6C 7F0CC33C 01CF2021 */ addu $a0, $t6, $t7 -/* 100E70 7F0CC340 8E180000 */ lw $t8, ($s0) -/* 100E74 7F0CC344 3C190200 */ lui $t9, %hi(0x020003C0) # $t9, 0x200 -/* 100E78 7F0CC348 273903C0 */ addiu $t9, %lo(0x020003C0) # addiu $t9, $t9, 0x3c0 -/* 100E7C 7F0CC34C 00002825 */ move $a1, $zero -/* 100E80 7F0CC350 0FC32EDD */ jal check_load_image_to_buffer -/* 100E84 7F0CC354 03192021 */ addu $a0, $t8, $t9 -/* 100E88 7F0CC358 8E080000 */ lw $t0, ($s0) -/* 100E8C 7F0CC35C 3C090200 */ lui $t1, %hi(0x02000468) # $t1, 0x200 -/* 100E90 7F0CC360 25290468 */ addiu $t1, %lo(0x02000468) # addiu $t1, $t1, 0x468 -/* 100E94 7F0CC364 00002825 */ move $a1, $zero -/* 100E98 7F0CC368 0FC32EDD */ jal check_load_image_to_buffer -/* 100E9C 7F0CC36C 01092021 */ addu $a0, $t0, $t1 -/* 100EA0 7F0CC370 8E0A0000 */ lw $t2, ($s0) -/* 100EA4 7F0CC374 3C0B0200 */ lui $t3, %hi(0x02000510) # $t3, 0x200 -/* 100EA8 7F0CC378 256B0510 */ addiu $t3, %lo(0x02000510) # addiu $t3, $t3, 0x510 -/* 100EAC 7F0CC37C 00002825 */ move $a1, $zero -/* 100EB0 7F0CC380 0FC32EDD */ jal check_load_image_to_buffer -/* 100EB4 7F0CC384 014B2021 */ addu $a0, $t2, $t3 -/* 100EB8 7F0CC388 8E0C0000 */ lw $t4, ($s0) -/* 100EBC 7F0CC38C 3C0D0200 */ lui $t5, %hi(0x020005B8) # $t5, 0x200 -/* 100EC0 7F0CC390 25AD05B8 */ addiu $t5, %lo(0x020005B8) # addiu $t5, $t5, 0x5b8 -/* 100EC4 7F0CC394 00002825 */ move $a1, $zero -/* 100EC8 7F0CC398 0FC32EDD */ jal check_load_image_to_buffer -/* 100ECC 7F0CC39C 018D2021 */ addu $a0, $t4, $t5 -/* 100ED0 7F0CC3A0 8E0E0000 */ lw $t6, ($s0) -/* 100ED4 7F0CC3A4 3C0F0200 */ lui $t7, %hi(0x02000660) # $t7, 0x200 -/* 100ED8 7F0CC3A8 25EF0660 */ addiu $t7, %lo(0x02000660) # addiu $t7, $t7, 0x660 -/* 100EDC 7F0CC3AC 00002825 */ move $a1, $zero -/* 100EE0 7F0CC3B0 0FC32EDD */ jal check_load_image_to_buffer -/* 100EE4 7F0CC3B4 01CF2021 */ addu $a0, $t6, $t7 -/* 100EE8 7F0CC3B8 8E180000 */ lw $t8, ($s0) -/* 100EEC 7F0CC3BC 3C190200 */ lui $t9, %hi(0x02000708) # $t9, 0x200 -/* 100EF0 7F0CC3C0 27390708 */ addiu $t9, %lo(0x02000708) # addiu $t9, $t9, 0x708 -/* 100EF4 7F0CC3C4 00002825 */ move $a1, $zero -/* 100EF8 7F0CC3C8 0FC32EDD */ jal check_load_image_to_buffer -/* 100EFC 7F0CC3CC 03192021 */ addu $a0, $t8, $t9 -/* 100F00 7F0CC3D0 8E080000 */ lw $t0, ($s0) -/* 100F04 7F0CC3D4 3C090200 */ lui $t1, %hi(0x020007B0) # $t1, 0x200 -/* 100F08 7F0CC3D8 252907B0 */ addiu $t1, %lo(0x020007B0) # addiu $t1, $t1, 0x7b0 -/* 100F0C 7F0CC3DC 00002825 */ move $a1, $zero -/* 100F10 7F0CC3E0 0FC32EDD */ jal check_load_image_to_buffer -/* 100F14 7F0CC3E4 01092021 */ addu $a0, $t0, $t1 -/* 100F18 7F0CC3E8 8E0A0000 */ lw $t2, ($s0) -/* 100F1C 7F0CC3EC 3C0B0200 */ lui $t3, %hi(0x02000858) # $t3, 0x200 -/* 100F20 7F0CC3F0 256B0858 */ addiu $t3, %lo(0x02000858) # addiu $t3, $t3, 0x858 -/* 100F24 7F0CC3F4 00002825 */ move $a1, $zero -/* 100F28 7F0CC3F8 0FC32EDD */ jal check_load_image_to_buffer -/* 100F2C 7F0CC3FC 014B2021 */ addu $a0, $t2, $t3 -/* 100F30 7F0CC400 8E0C0000 */ lw $t4, ($s0) -/* 100F34 7F0CC404 3C0D0200 */ lui $t5, %hi(0x02000900) # $t5, 0x200 -/* 100F38 7F0CC408 25AD0900 */ addiu $t5, %lo(0x02000900) # addiu $t5, $t5, 0x900 -/* 100F3C 7F0CC40C 00002825 */ move $a1, $zero -/* 100F40 7F0CC410 0FC32EDD */ jal check_load_image_to_buffer -/* 100F44 7F0CC414 018D2021 */ addu $a0, $t4, $t5 -/* 100F48 7F0CC418 8E0E0000 */ lw $t6, ($s0) -/* 100F4C 7F0CC41C 3C0F0200 */ lui $t7, %hi(0x020009A8) # $t7, 0x200 -/* 100F50 7F0CC420 25EF09A8 */ addiu $t7, %lo(0x020009A8) # addiu $t7, $t7, 0x9a8 -/* 100F54 7F0CC424 00002825 */ move $a1, $zero -/* 100F58 7F0CC428 0FC32EDD */ jal check_load_image_to_buffer -/* 100F5C 7F0CC42C 01CF2021 */ addu $a0, $t6, $t7 -/* 100F60 7F0CC430 8E180000 */ lw $t8, ($s0) -/* 100F64 7F0CC434 3C190200 */ lui $t9, %hi(0x02000A50) # $t9, 0x200 -/* 100F68 7F0CC438 27390A50 */ addiu $t9, %lo(0x02000A50) # addiu $t9, $t9, 0xa50 -/* 100F6C 7F0CC43C 00002825 */ move $a1, $zero -/* 100F70 7F0CC440 0FC32EDD */ jal check_load_image_to_buffer -/* 100F74 7F0CC444 03192021 */ addu $a0, $t8, $t9 -/* 100F78 7F0CC448 3C048009 */ lui $a0, %hi(genericimage) -/* 100F7C 7F0CC44C 8C84D0B8 */ lw $a0, %lo(genericimage)($a0) -/* 100F80 7F0CC450 0FC32F06 */ jal load_image_to_buffer -/* 100F84 7F0CC454 00002825 */ move $a1, $zero -/* 100F88 7F0CC458 00008025 */ move $s0, $zero -/* 100F8C 7F0CC45C 8E480000 */ lw $t0, ($s2) -.L7F0CC460: -/* 100F90 7F0CC460 00002825 */ move $a1, $zero -/* 100F94 7F0CC464 0FC32F06 */ jal load_image_to_buffer -/* 100F98 7F0CC468 02082021 */ addu $a0, $s0, $t0 -/* 100F9C 7F0CC46C 2610000C */ addiu $s0, $s0, 0xc -/* 100FA0 7F0CC470 2A010048 */ slti $at, $s0, 0x48 -/* 100FA4 7F0CC474 5420FFFA */ bnezl $at, .L7F0CC460 -/* 100FA8 7F0CC478 8E480000 */ lw $t0, ($s2) -/* 100FAC 7F0CC47C 00008025 */ move $s0, $zero -/* 100FB0 7F0CC480 2411003C */ li $s1, 60 -/* 100FB4 7F0CC484 8E690000 */ lw $t1, ($s3) -.L7F0CC488: -/* 100FB8 7F0CC488 00002825 */ move $a1, $zero -/* 100FBC 7F0CC48C 0FC32F06 */ jal load_image_to_buffer -/* 100FC0 7F0CC490 02092021 */ addu $a0, $s0, $t1 -/* 100FC4 7F0CC494 2610000C */ addiu $s0, $s0, 0xc -/* 100FC8 7F0CC498 5611FFFB */ bnel $s0, $s1, .L7F0CC488 -/* 100FCC 7F0CC49C 8E690000 */ lw $t1, ($s3) -/* 100FD0 7F0CC4A0 8FBF0024 */ lw $ra, 0x24($sp) -/* 100FD4 7F0CC4A4 8FB00014 */ lw $s0, 0x14($sp) -/* 100FD8 7F0CC4A8 8FB10018 */ lw $s1, 0x18($sp) -/* 100FDC 7F0CC4AC 8FB2001C */ lw $s2, 0x1c($sp) -/* 100FE0 7F0CC4B0 8FB30020 */ lw $s3, 0x20($sp) -/* 100FE4 7F0CC4B4 03E00008 */ jr $ra -/* 100FE8 7F0CC4B8 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - diff --git a/src/game/indy_commands.c b/src/game/indy_commands.c deleted file mode 100644 index 6983351..0000000 --- a/src/game/indy_commands.c +++ /dev/null @@ -1,1806 +0,0 @@ -#include "ultra64.h" -#include "game/indy_commands.h" - -// data -//D:8004EAC0 -s32 D_8004EAC0 = 0; -//D:8004EAC4 -s32 indy_status = 0x103; -//D:8004EAC8 -s32 indy_ready = 0; -//D:8004EACC -s32 D_8004EACC = 0x0; -//D:8004EAD0 -s32 D_8004EAD0 = 0x0; - - -#ifdef NONMATCHING -void sub_GAME_7F0D0180(u8 *buffer,u32 size) -{ - int i; - - for (i = 4; i != 100000; i + 4){;} - rmon_debug_stub_0(); - for (i = 4; i != 100000; i + 4){;} -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D0180 -/* 104CB0 7F0D0180 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 104CB4 7F0D0184 3C030001 */ lui $v1, (0x000186A0 >> 16) # lui $v1, 1 -/* 104CB8 7F0D0188 AFBF0014 */ sw $ra, 0x14($sp) -/* 104CBC 7F0D018C 346386A0 */ ori $v1, (0x000186A0 & 0xFFFF) # ori $v1, $v1, 0x86a0 -/* 104CC0 7F0D0190 00001025 */ move $v0, $zero -/* 104CC4 7F0D0194 24420004 */ addiu $v0, $v0, 4 -.L7F0D0198: -/* 104CC8 7F0D0198 5443FFFF */ bnel $v0, $v1, .L7F0D0198 -/* 104CCC 7F0D019C 24420004 */ addiu $v0, $v0, 4 -/* 104CD0 7F0D01A0 0C0033B0 */ jal rmon_debug_stub_0 -/* 104CD4 7F0D01A4 00000000 */ nop -/* 104CD8 7F0D01A8 3C030001 */ lui $v1, (0x000186A0 >> 16) # lui $v1, 1 -/* 104CDC 7F0D01AC 346386A0 */ ori $v1, (0x000186A0 & 0xFFFF) # ori $v1, $v1, 0x86a0 -/* 104CE0 7F0D01B0 00001025 */ move $v0, $zero -/* 104CE4 7F0D01B4 24420004 */ addiu $v0, $v0, 4 -.L7F0D01B8: -/* 104CE8 7F0D01B8 5443FFFF */ bnel $v0, $v1, .L7F0D01B8 -/* 104CEC 7F0D01BC 24420004 */ addiu $v0, $v0, 4 -/* 104CF0 7F0D01C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 104CF4 7F0D01C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 104CF8 7F0D01C8 03E00008 */ jr $ra -/* 104CFC 7F0D01CC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D01D0(u8 *buffer,u32 size) -{ - int i; - - for (i = 4; i != 100000; i + 4){;} - rmon_debug_stub(); - for (i = 4; i != 100000; i + 4){;} -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D01D0 -/* 104D00 7F0D01D0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 104D04 7F0D01D4 3C030001 */ lui $v1, (0x000186A0 >> 16) # lui $v1, 1 -/* 104D08 7F0D01D8 AFBF0014 */ sw $ra, 0x14($sp) -/* 104D0C 7F0D01DC 346386A0 */ ori $v1, (0x000186A0 & 0xFFFF) # ori $v1, $v1, 0x86a0 -/* 104D10 7F0D01E0 00001025 */ move $v0, $zero -/* 104D14 7F0D01E4 24420004 */ addiu $v0, $v0, 4 -.L7F0D01E8: -/* 104D18 7F0D01E8 5443FFFF */ bnel $v0, $v1, .L7F0D01E8 -/* 104D1C 7F0D01EC 24420004 */ addiu $v0, $v0, 4 -/* 104D20 7F0D01F0 0C0033AE */ jal rmon_debug_stub -/* 104D24 7F0D01F4 00000000 */ nop -/* 104D28 7F0D01F8 3C030001 */ lui $v1, (0x000186A0 >> 16) # lui $v1, 1 -/* 104D2C 7F0D01FC 346386A0 */ ori $v1, (0x000186A0 & 0xFFFF) # ori $v1, $v1, 0x86a0 -/* 104D30 7F0D0200 00001025 */ move $v0, $zero -/* 104D34 7F0D0204 24420004 */ addiu $v0, $v0, 4 -.L7F0D0208: -/* 104D38 7F0D0208 5443FFFF */ bnel $v0, $v1, .L7F0D0208 -/* 104D3C 7F0D020C 24420004 */ addiu $v0, $v0, 4 -/* 104D40 7F0D0210 8FBF0014 */ lw $ra, 0x14($sp) -/* 104D44 7F0D0214 27BD0018 */ addiu $sp, $sp, 0x18 -/* 104D48 7F0D0218 03E00008 */ jr $ra -/* 104D4C 7F0D021C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void postindyresourcecommand(indy_resource_entry *param_1,u32 param_2) -{ - -} -#else -GLOBAL_ASM( -.text -glabel postindyresourcecommand -/* 104D50 7F0D0220 27BDFAC0 */ addiu $sp, $sp, -0x540 -/* 104D54 7F0D0224 27A20040 */ addiu $v0, $sp, 0x40 -/* 104D58 7F0D0228 308F0007 */ andi $t7, $a0, 7 -/* 104D5C 7F0D022C AFBF0014 */ sw $ra, 0x14($sp) -/* 104D60 7F0D0230 AFA40540 */ sw $a0, 0x540($sp) -/* 104D64 7F0D0234 00A03025 */ move $a2, $a1 -/* 104D68 7F0D0238 00401825 */ move $v1, $v0 -/* 104D6C 7F0D023C 11E0002B */ beqz $t7, .L7F0D02EC -/* 104D70 7F0D0240 00403825 */ move $a3, $v0 -/* 104D74 7F0D0244 2CA10501 */ sltiu $at, $a1, 0x501 -/* 104D78 7F0D0248 14200003 */ bnez $at, .L7F0D0258 -/* 104D7C 7F0D024C 30580007 */ andi $t8, $v0, 7 -/* 104D80 7F0D0250 1000003D */ b .L7F0D0348 -/* 104D84 7F0D0254 00001025 */ move $v0, $zero -.L7F0D0258: -/* 104D88 7F0D0258 13000003 */ beqz $t8, .L7F0D0268 -/* 104D8C 7F0D025C 3C088005 */ lui $t0, %hi(indy_status) -/* 104D90 7F0D0260 27A70044 */ addiu $a3, $sp, 0x44 -/* 104D94 7F0D0264 00E01825 */ move $v1, $a3 -.L7F0D0268: -/* 104D98 7F0D0268 00662021 */ addu $a0, $v1, $a2 -/* 104D9C 7F0D026C 0064082B */ sltu $at, $v1, $a0 -/* 104DA0 7F0D0270 10200007 */ beqz $at, .L7F0D0290 -/* 104DA4 7F0D0274 8FA20540 */ lw $v0, 0x540($sp) -.L7F0D0278: -/* 104DA8 7F0D0278 90590000 */ lbu $t9, ($v0) -/* 104DAC 7F0D027C 24630001 */ addiu $v1, $v1, 1 -/* 104DB0 7F0D0280 0064082B */ sltu $at, $v1, $a0 -/* 104DB4 7F0D0284 24420001 */ addiu $v0, $v0, 1 -/* 104DB8 7F0D0288 1420FFFB */ bnez $at, .L7F0D0278 -/* 104DBC 7F0D028C A079FFFF */ sb $t9, -1($v1) -.L7F0D0290: -/* 104DC0 7F0D0290 8D08EAC4 */ lw $t0, %lo(indy_status)($t0) -/* 104DC4 7F0D0294 24C50003 */ addiu $a1, $a2, 3 -/* 104DC8 7F0D0298 2401FFFC */ li $at, -4 -/* 104DCC 7F0D029C 31090020 */ andi $t1, $t0, 0x20 -/* 104DD0 7F0D02A0 1120000D */ beqz $t1, .L7F0D02D8 -/* 104DD4 7F0D02A4 00A15024 */ and $t2, $a1, $at -/* 104DD8 7F0D02A8 10C0000B */ beqz $a2, .L7F0D02D8 -/* 104DDC 7F0D02AC 00001025 */ move $v0, $zero -/* 104DE0 7F0D02B0 30C40003 */ andi $a0, $a2, 3 -/* 104DE4 7F0D02B4 10800005 */ beqz $a0, .L7F0D02CC -/* 104DE8 7F0D02B8 00801825 */ move $v1, $a0 -/* 104DEC 7F0D02BC 24420001 */ addiu $v0, $v0, 1 -.L7F0D02C0: -/* 104DF0 7F0D02C0 5462FFFF */ bnel $v1, $v0, .L7F0D02C0 -/* 104DF4 7F0D02C4 24420001 */ addiu $v0, $v0, 1 -/* 104DF8 7F0D02C8 10460003 */ beq $v0, $a2, .L7F0D02D8 -.L7F0D02CC: -/* 104DFC 7F0D02CC 24420004 */ addiu $v0, $v0, 4 -.L7F0D02D0: -/* 104E00 7F0D02D0 5446FFFF */ bnel $v0, $a2, .L7F0D02D0 -/* 104E04 7F0D02D4 24420004 */ addiu $v0, $v0, 4 -.L7F0D02D8: -/* 104E08 7F0D02D8 00E02025 */ move $a0, $a3 -/* 104E0C 7F0D02DC 0FC34074 */ jal sub_GAME_7F0D01D0 -/* 104E10 7F0D02E0 01402825 */ move $a1, $t2 -/* 104E14 7F0D02E4 10000018 */ b .L7F0D0348 -/* 104E18 7F0D02E8 24020001 */ li $v0, 1 -.L7F0D02EC: -/* 104E1C 7F0D02EC 3C0B8005 */ lui $t3, %hi(indy_status) -/* 104E20 7F0D02F0 8D6BEAC4 */ lw $t3, %lo(indy_status)($t3) -/* 104E24 7F0D02F4 24C50003 */ addiu $a1, $a2, 3 -/* 104E28 7F0D02F8 2401FFFC */ li $at, -4 -/* 104E2C 7F0D02FC 316C0020 */ andi $t4, $t3, 0x20 -/* 104E30 7F0D0300 1180000D */ beqz $t4, .L7F0D0338 -/* 104E34 7F0D0304 00A16824 */ and $t5, $a1, $at -/* 104E38 7F0D0308 10C0000B */ beqz $a2, .L7F0D0338 -/* 104E3C 7F0D030C 00001025 */ move $v0, $zero -/* 104E40 7F0D0310 30C40003 */ andi $a0, $a2, 3 -/* 104E44 7F0D0314 10800005 */ beqz $a0, .L7F0D032C -/* 104E48 7F0D0318 00801825 */ move $v1, $a0 -/* 104E4C 7F0D031C 24420001 */ addiu $v0, $v0, 1 -.L7F0D0320: -/* 104E50 7F0D0320 5462FFFF */ bnel $v1, $v0, .L7F0D0320 -/* 104E54 7F0D0324 24420001 */ addiu $v0, $v0, 1 -/* 104E58 7F0D0328 10460003 */ beq $v0, $a2, .L7F0D0338 -.L7F0D032C: -/* 104E5C 7F0D032C 24420004 */ addiu $v0, $v0, 4 -.L7F0D0330: -/* 104E60 7F0D0330 5446FFFF */ bnel $v0, $a2, .L7F0D0330 -/* 104E64 7F0D0334 24420004 */ addiu $v0, $v0, 4 -.L7F0D0338: -/* 104E68 7F0D0338 8FA40540 */ lw $a0, 0x540($sp) -/* 104E6C 7F0D033C 0FC34074 */ jal sub_GAME_7F0D01D0 -/* 104E70 7F0D0340 01A02825 */ move $a1, $t5 -/* 104E74 7F0D0344 24020001 */ li $v0, 1 -.L7F0D0348: -/* 104E78 7F0D0348 8FBF0014 */ lw $ra, 0x14($sp) -/* 104E7C 7F0D034C 27BD0540 */ addiu $sp, $sp, 0x540 -/* 104E80 7F0D0350 03E00008 */ jr $ra -/* 104E84 7F0D0354 00000000 */ nop -) -#endif - - - - - - -u32 send2indyresourcecommands(struct indy_resource_entry * entry1, u32 size1, struct indy_resource_entry * entry2, u32 size2) -{ - postindyresourcecommand(entry1,size1); - postindyresourcecommand(entry2,size2); - return 1; -} - - -void post_type1_indyrescmd_sizenextcmd(s32 readsize,s32 writesize) -{ - struct indy_resource_entry cmd; - - cmd.resourceID = 0x9abf1623; - cmd.type = 1; - cmd.size = 0x14; - cmd.readsize = readsize; - cmd.writesize = writesize; - postindyresourcecommand(&cmd,0x14); -} - - -void post_type2_indyrescmd_cmds_rdy_to_proc(s32 readsize,s32 writesize) -{ - struct indy_resource_entry cmd; - - cmd.resourceID = 0x9abf1623; - cmd.type = 2; - cmd.size = 0x14; - cmd.readsize = readsize; - cmd.writesize = writesize; - postindyresourcecommand(&cmd,0x14); -} - - -void post_type0_indyrescmd_init(s32 readsize,s32 writesize) -{ - struct indy_resource_entry cmd; - cmd.resourceID = 0x9abf1623; - cmd.type = 0; - cmd.size = 0x14; - cmd.readsize = readsize; - cmd.writesize = writesize; - postindyresourcecommand(&cmd,0x14); -} - -#ifdef NONMATCHING -void post_type3_indyrescmd(s32 rsize,s32 wsize,char *strptr) -{ - struct indy_resource_entry_type3 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 3; - cmd.entry.size = 0x114; - cmd.entry.readsize = rsize; - cmd.entry.writesize = wsize; - something_with_strings(cmd.strbuffer,strptr,0x100); - cmd.data = 0; - postindyresourcecommand(&cmd.entry,0x114); -} -#else -GLOBAL_ASM( -.text -glabel post_type3_indyrescmd -/* 104F90 7F0D0460 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 104F94 7F0D0464 AFA50134 */ sw $a1, 0x134($sp) -/* 104F98 7F0D0468 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 104F9C 7F0D046C AFA5002C */ sw $a1, 0x2c($sp) -/* 104FA0 7F0D0470 AFBF0014 */ sw $ra, 0x14($sp) -/* 104FA4 7F0D0474 AFA60138 */ sw $a2, 0x138($sp) -/* 104FA8 7F0D0478 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 104FAC 7F0D047C 240F0003 */ li $t7, 3 -/* 104FB0 7F0D0480 24180114 */ li $t8, 276 -/* 104FB4 7F0D0484 AFA40028 */ sw $a0, 0x28($sp) -/* 104FB8 7F0D0488 00C02825 */ move $a1, $a2 -/* 104FBC 7F0D048C AFAE001C */ sw $t6, 0x1c($sp) -/* 104FC0 7F0D0490 AFAF0020 */ sw $t7, 0x20($sp) -/* 104FC4 7F0D0494 AFB80024 */ sw $t8, 0x24($sp) -/* 104FC8 7F0D0498 24060100 */ li $a2, 256 -/* 104FCC 7F0D049C 0C0029E8 */ jal something_with_strings -/* 104FD0 7F0D04A0 27A40030 */ addiu $a0, $sp, 0x30 -/* 104FD4 7F0D04A4 A3A0012F */ sb $zero, 0x12f($sp) -/* 104FD8 7F0D04A8 27A4001C */ addiu $a0, $sp, 0x1c -/* 104FDC 7F0D04AC 0FC34088 */ jal postindyresourcecommand -/* 104FE0 7F0D04B0 24050114 */ li $a1, 276 -/* 104FE4 7F0D04B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 104FE8 7F0D04B8 27BD0130 */ addiu $sp, $sp, 0x130 -/* 104FEC 7F0D04BC 03E00008 */ jr $ra -/* 104FF0 7F0D04C0 00000000 */ nop -) -#endif - - - - - - -void post_type4_indyrescmd_data_recieved(s32 readsize,s32 writesize,s32 data) -{ - struct indy_resource_entry_type4 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 4; - cmd.entry.size = 0x18; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data = data; - postindyresourcecommand(&cmd.entry,0x18); -} - - - - - - -#ifdef NONMATCHING -void post_type5_indyrescmd_printfsend(s32 param_1,s32 param_2,char *param_3) -{ - struct indy_resource_entry cmd; - char acStack256 [255]; - undefined uStack1; - - cmd.resourceID = 0x9abf1623; - cmd.type = 5; - cmd.size = 0x114; - cmd.readsize = param_1; - cmd.writesize = param_2; - something_with_strings(acStack256,param_3,0x100); - uStack1 = 0; - postindyresourcecommand(&cmd,0x114); -} -#else -GLOBAL_ASM( -.text -glabel post_type5_indyrescmd_printfsend -/* 105044 7F0D0514 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 105048 7F0D0518 AFA50134 */ sw $a1, 0x134($sp) -/* 10504C 7F0D051C 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 105050 7F0D0520 AFA5002C */ sw $a1, 0x2c($sp) -/* 105054 7F0D0524 AFBF0014 */ sw $ra, 0x14($sp) -/* 105058 7F0D0528 AFA60138 */ sw $a2, 0x138($sp) -/* 10505C 7F0D052C 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 105060 7F0D0530 240F0005 */ li $t7, 5 -/* 105064 7F0D0534 24180114 */ li $t8, 276 -/* 105068 7F0D0538 AFA40028 */ sw $a0, 0x28($sp) -/* 10506C 7F0D053C 00C02825 */ move $a1, $a2 -/* 105070 7F0D0540 AFAE001C */ sw $t6, 0x1c($sp) -/* 105074 7F0D0544 AFAF0020 */ sw $t7, 0x20($sp) -/* 105078 7F0D0548 AFB80024 */ sw $t8, 0x24($sp) -/* 10507C 7F0D054C 24060100 */ li $a2, 256 -/* 105080 7F0D0550 0C0029E8 */ jal something_with_strings -/* 105084 7F0D0554 27A40030 */ addiu $a0, $sp, 0x30 -/* 105088 7F0D0558 A3A0012F */ sb $zero, 0x12f($sp) -/* 10508C 7F0D055C 27A4001C */ addiu $a0, $sp, 0x1c -/* 105090 7F0D0560 0FC34088 */ jal postindyresourcecommand -/* 105094 7F0D0564 24050114 */ li $a1, 276 -/* 105098 7F0D0568 8FBF0014 */ lw $ra, 0x14($sp) -/* 10509C 7F0D056C 27BD0130 */ addiu $sp, $sp, 0x130 -/* 1050A0 7F0D0570 03E00008 */ jr $ra -/* 1050A4 7F0D0574 00000000 */ nop -) -#endif - - - - - - -void post_type6_indyrescmd_printfrecieved(s32 readsize,s32 writesize,u32 data1,u32 data2) -{ - struct indy_resource_entry_type6 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 6; - cmd.entry.size = 0x1c; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data1 = data1; - cmd.data2 = data2; - postindyresourcecommand(&cmd.entry,0x1c); -} - - - -#ifdef NONMATCHING -void post_type7_indyrescmd_log_send(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_type7_indyrescmd_log_send -/* 105100 7F0D05D0 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 105104 7F0D05D4 AFA50134 */ sw $a1, 0x134($sp) -/* 105108 7F0D05D8 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 10510C 7F0D05DC AFA50028 */ sw $a1, 0x28($sp) -/* 105110 7F0D05E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 105114 7F0D05E4 AFA40130 */ sw $a0, 0x130($sp) -/* 105118 7F0D05E8 AFA60138 */ sw $a2, 0x138($sp) -/* 10511C 7F0D05EC 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 105120 7F0D05F0 240F0007 */ li $t7, 7 -/* 105124 7F0D05F4 24180118 */ li $t8, 280 -/* 105128 7F0D05F8 AFA40024 */ sw $a0, 0x24($sp) -/* 10512C 7F0D05FC 00C02825 */ move $a1, $a2 -/* 105130 7F0D0600 AFA7013C */ sw $a3, 0x13c($sp) -/* 105134 7F0D0604 AFAE0018 */ sw $t6, 0x18($sp) -/* 105138 7F0D0608 AFAF001C */ sw $t7, 0x1c($sp) -/* 10513C 7F0D060C AFB80020 */ sw $t8, 0x20($sp) -/* 105140 7F0D0610 24060100 */ li $a2, 256 -/* 105144 7F0D0614 0C0029E8 */ jal something_with_strings -/* 105148 7F0D0618 27A4002C */ addiu $a0, $sp, 0x2c -/* 10514C 7F0D061C 8FA9013C */ lw $t1, 0x13c($sp) -/* 105150 7F0D0620 A3A0012B */ sb $zero, 0x12b($sp) -/* 105154 7F0D0624 27A40018 */ addiu $a0, $sp, 0x18 -/* 105158 7F0D0628 24050118 */ li $a1, 280 -/* 10515C 7F0D062C 0FC34088 */ jal postindyresourcecommand -/* 105160 7F0D0630 AFA9012C */ sw $t1, 0x12c($sp) -/* 105164 7F0D0634 8FBF0014 */ lw $ra, 0x14($sp) -/* 105168 7F0D0638 27BD0130 */ addiu $sp, $sp, 0x130 -/* 10516C 7F0D063C 03E00008 */ jr $ra -/* 105170 7F0D0640 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_type8_indyrescmd_log_recieved(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_type8_indyrescmd_log_recieved -/* 105174 7F0D0644 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 105178 7F0D0648 AFA70044 */ sw $a3, 0x44($sp) -/* 10517C 7F0D064C 8FA70048 */ lw $a3, 0x48($sp) -/* 105180 7F0D0650 2401FFFC */ li $at, -4 -/* 105184 7F0D0654 8FAC0044 */ lw $t4, 0x44($sp) -/* 105188 7F0D0658 24F80003 */ addiu $t8, $a3, 3 -/* 10518C 7F0D065C 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 105190 7F0D0660 0301C824 */ and $t9, $t8, $at -/* 105194 7F0D0664 AFBF0014 */ sw $ra, 0x14($sp) -/* 105198 7F0D0668 AFA40038 */ sw $a0, 0x38($sp) -/* 10519C 7F0D066C AFA5003C */ sw $a1, 0x3c($sp) -/* 1051A0 7F0D0670 AFA60040 */ sw $a2, 0x40($sp) -/* 1051A4 7F0D0674 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 1051A8 7F0D0678 240F0008 */ li $t7, 8 -/* 1051AC 7F0D067C 27280020 */ addiu $t0, $t9, 0x20 -/* 1051B0 7F0D0680 AFA40024 */ sw $a0, 0x24($sp) -/* 1051B4 7F0D0684 AFA50028 */ sw $a1, 0x28($sp) -/* 1051B8 7F0D0688 AFA6002C */ sw $a2, 0x2c($sp) -/* 1051BC 7F0D068C AFAE0018 */ sw $t6, 0x18($sp) -/* 1051C0 7F0D0690 AFAF001C */ sw $t7, 0x1c($sp) -/* 1051C4 7F0D0694 AFA80020 */ sw $t0, 0x20($sp) -/* 1051C8 7F0D0698 8FA6004C */ lw $a2, 0x4c($sp) -/* 1051CC 7F0D069C 24050020 */ li $a1, 32 -/* 1051D0 7F0D06A0 27A40018 */ addiu $a0, $sp, 0x18 -/* 1051D4 7F0D06A4 AFA70034 */ sw $a3, 0x34($sp) -/* 1051D8 7F0D06A8 0FC340D6 */ jal send2indyresourcecommands -/* 1051DC 7F0D06AC AFAC0030 */ sw $t4, 0x30($sp) -/* 1051E0 7F0D06B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 1051E4 7F0D06B4 27BD0038 */ addiu $sp, $sp, 0x38 -/* 1051E8 7F0D06B8 03E00008 */ jr $ra -/* 1051EC 7F0D06BC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_type9_indyrescmd_app_command_ready(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_type9_indyrescmd_app_command_ready -/* 1051F0 7F0D06C0 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 1051F4 7F0D06C4 24F90003 */ addiu $t9, $a3, 3 -/* 1051F8 7F0D06C8 2401FFFC */ li $at, -4 -/* 1051FC 7F0D06CC AFA50134 */ sw $a1, 0x134($sp) -/* 105200 7F0D06D0 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 105204 7F0D06D4 03214024 */ and $t0, $t9, $at -/* 105208 7F0D06D8 AFA5002C */ sw $a1, 0x2c($sp) -/* 10520C 7F0D06DC AFBF0014 */ sw $ra, 0x14($sp) -/* 105210 7F0D06E0 AFA40130 */ sw $a0, 0x130($sp) -/* 105214 7F0D06E4 AFA60138 */ sw $a2, 0x138($sp) -/* 105218 7F0D06E8 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 10521C 7F0D06EC 240F0009 */ li $t7, 9 -/* 105220 7F0D06F0 25090114 */ addiu $t1, $t0, 0x114 -/* 105224 7F0D06F4 AFA40028 */ sw $a0, 0x28($sp) -/* 105228 7F0D06F8 00C02825 */ move $a1, $a2 -/* 10522C 7F0D06FC AFA7013C */ sw $a3, 0x13c($sp) -/* 105230 7F0D0700 AFAE001C */ sw $t6, 0x1c($sp) -/* 105234 7F0D0704 AFAF0020 */ sw $t7, 0x20($sp) -/* 105238 7F0D0708 AFA90024 */ sw $t1, 0x24($sp) -/* 10523C 7F0D070C 24060100 */ li $a2, 256 -/* 105240 7F0D0710 0C0029E8 */ jal something_with_strings -/* 105244 7F0D0714 27A40030 */ addiu $a0, $sp, 0x30 -/* 105248 7F0D0718 A3A0012F */ sb $zero, 0x12f($sp) -/* 10524C 7F0D071C 27A4001C */ addiu $a0, $sp, 0x1c -/* 105250 7F0D0720 24050114 */ li $a1, 276 -/* 105254 7F0D0724 8FA60140 */ lw $a2, 0x140($sp) -/* 105258 7F0D0728 0FC340D6 */ jal send2indyresourcecommands -/* 10525C 7F0D072C 8FA7013C */ lw $a3, 0x13c($sp) -/* 105260 7F0D0730 8FBF0014 */ lw $ra, 0x14($sp) -/* 105264 7F0D0734 27BD0130 */ addiu $sp, $sp, 0x130 -/* 105268 7F0D0738 03E00008 */ jr $ra -/* 10526C 7F0D073C 00000000 */ nop -) -#endif - - - - -void post_typeA_indyrescmd_app_command_recieved(s32 readsize,s32 writesize,u32 data) -{ - struct indy_resource_entry_type4 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 10; - cmd.entry.size = 0x18; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data = data; - postindyresourcecommand(&cmd.entry,0x18); -} - - - - - -#ifdef NONMATCHING -void post_typeF_indyrescmd_fault_send(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_typeF_indyrescmd_fault_send -/* 1052C0 7F0D0790 27BDFEC8 */ addiu $sp, $sp, -0x138 -/* 1052C4 7F0D0794 AFA5013C */ sw $a1, 0x13c($sp) -/* 1052C8 7F0D0798 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 1052CC 7F0D079C AFA5002C */ sw $a1, 0x2c($sp) -/* 1052D0 7F0D07A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 1052D4 7F0D07A4 AFA40138 */ sw $a0, 0x138($sp) -/* 1052D8 7F0D07A8 AFA60140 */ sw $a2, 0x140($sp) -/* 1052DC 7F0D07AC 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 1052E0 7F0D07B0 240F000F */ li $t7, 15 -/* 1052E4 7F0D07B4 2418011C */ li $t8, 284 -/* 1052E8 7F0D07B8 AFA40028 */ sw $a0, 0x28($sp) -/* 1052EC 7F0D07BC 00C02825 */ move $a1, $a2 -/* 1052F0 7F0D07C0 AFA70144 */ sw $a3, 0x144($sp) -/* 1052F4 7F0D07C4 AFAE001C */ sw $t6, 0x1c($sp) -/* 1052F8 7F0D07C8 AFAF0020 */ sw $t7, 0x20($sp) -/* 1052FC 7F0D07CC AFB80024 */ sw $t8, 0x24($sp) -/* 105300 7F0D07D0 24060100 */ li $a2, 256 -/* 105304 7F0D07D4 0C0029E8 */ jal something_with_strings -/* 105308 7F0D07D8 27A40030 */ addiu $a0, $sp, 0x30 -/* 10530C 7F0D07DC 8FA90144 */ lw $t1, 0x144($sp) -/* 105310 7F0D07E0 8FAA0148 */ lw $t2, 0x148($sp) -/* 105314 7F0D07E4 A3A0012F */ sb $zero, 0x12f($sp) -/* 105318 7F0D07E8 27A4001C */ addiu $a0, $sp, 0x1c -/* 10531C 7F0D07EC 2405011C */ li $a1, 284 -/* 105320 7F0D07F0 AFA90130 */ sw $t1, 0x130($sp) -/* 105324 7F0D07F4 0FC34088 */ jal postindyresourcecommand -/* 105328 7F0D07F8 AFAA0134 */ sw $t2, 0x134($sp) -/* 10532C 7F0D07FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 105330 7F0D0800 27BD0138 */ addiu $sp, $sp, 0x138 -/* 105334 7F0D0804 03E00008 */ jr $ra -/* 105338 7F0D0808 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_type10_indyrescmd_fault_ack_by_host(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_type10_indyrescmd_fault_ack_by_host -/* 10533C 7F0D080C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 105340 7F0D0810 8FA90048 */ lw $t1, 0x48($sp) -/* 105344 7F0D0814 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 105348 7F0D0818 AFBF0014 */ sw $ra, 0x14($sp) -/* 10534C 7F0D081C AFA40038 */ sw $a0, 0x38($sp) -/* 105350 7F0D0820 AFA5003C */ sw $a1, 0x3c($sp) -/* 105354 7F0D0824 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 105358 7F0D0828 240F0010 */ li $t7, 16 -/* 10535C 7F0D082C 24180020 */ li $t8, 32 -/* 105360 7F0D0830 AFA40024 */ sw $a0, 0x24($sp) -/* 105364 7F0D0834 AFA50028 */ sw $a1, 0x28($sp) -/* 105368 7F0D0838 AFAE0018 */ sw $t6, 0x18($sp) -/* 10536C 7F0D083C AFAF001C */ sw $t7, 0x1c($sp) -/* 105370 7F0D0840 AFB80020 */ sw $t8, 0x20($sp) -/* 105374 7F0D0844 AFA6002C */ sw $a2, 0x2c($sp) -/* 105378 7F0D0848 AFA70030 */ sw $a3, 0x30($sp) -/* 10537C 7F0D084C 24050020 */ li $a1, 32 -/* 105380 7F0D0850 27A40018 */ addiu $a0, $sp, 0x18 -/* 105384 7F0D0854 0FC34088 */ jal postindyresourcecommand -/* 105388 7F0D0858 AFA90034 */ sw $t1, 0x34($sp) -/* 10538C 7F0D085C 8FBF0014 */ lw $ra, 0x14($sp) -/* 105390 7F0D0860 27BD0038 */ addiu $sp, $sp, 0x38 -/* 105394 7F0D0864 03E00008 */ jr $ra -/* 105398 7F0D0868 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_typeD_indyrescmd_prof_send_filename(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_typeD_indyrescmd_prof_send_filename -/* 10539C 7F0D086C 27BDFEC8 */ addiu $sp, $sp, -0x138 -/* 1053A0 7F0D0870 AFA5013C */ sw $a1, 0x13c($sp) -/* 1053A4 7F0D0874 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 1053A8 7F0D0878 AFA5002C */ sw $a1, 0x2c($sp) -/* 1053AC 7F0D087C AFBF0014 */ sw $ra, 0x14($sp) -/* 1053B0 7F0D0880 AFA40138 */ sw $a0, 0x138($sp) -/* 1053B4 7F0D0884 AFA60140 */ sw $a2, 0x140($sp) -/* 1053B8 7F0D0888 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 1053BC 7F0D088C 240F000D */ li $t7, 13 -/* 1053C0 7F0D0890 2418011C */ li $t8, 284 -/* 1053C4 7F0D0894 AFA40028 */ sw $a0, 0x28($sp) -/* 1053C8 7F0D0898 00C02825 */ move $a1, $a2 -/* 1053CC 7F0D089C AFA70144 */ sw $a3, 0x144($sp) -/* 1053D0 7F0D08A0 AFAE001C */ sw $t6, 0x1c($sp) -/* 1053D4 7F0D08A4 AFAF0020 */ sw $t7, 0x20($sp) -/* 1053D8 7F0D08A8 AFB80024 */ sw $t8, 0x24($sp) -/* 1053DC 7F0D08AC 24060100 */ li $a2, 256 -/* 1053E0 7F0D08B0 0C0029E8 */ jal something_with_strings -/* 1053E4 7F0D08B4 27A40030 */ addiu $a0, $sp, 0x30 -/* 1053E8 7F0D08B8 8FA90144 */ lw $t1, 0x144($sp) -/* 1053EC 7F0D08BC 8FAA0148 */ lw $t2, 0x148($sp) -/* 1053F0 7F0D08C0 A3A0012F */ sb $zero, 0x12f($sp) -/* 1053F4 7F0D08C4 27A4001C */ addiu $a0, $sp, 0x1c -/* 1053F8 7F0D08C8 2405011C */ li $a1, 284 -/* 1053FC 7F0D08CC AFA90130 */ sw $t1, 0x130($sp) -/* 105400 7F0D08D0 0FC34088 */ jal postindyresourcecommand -/* 105404 7F0D08D4 AFAA0134 */ sw $t2, 0x134($sp) -/* 105408 7F0D08D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 10540C 7F0D08DC 27BD0138 */ addiu $sp, $sp, 0x138 -/* 105410 7F0D08E0 03E00008 */ jr $ra -/* 105414 7F0D08E4 00000000 */ nop -) -#endif - - - - - - -void post_typeE_indyrescmd_prof_recv(s32 readsize,s32 writesize,u32 data) -{ - struct indy_resource_entry_type4 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 0xe; - cmd.entry.size = 0x18; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data = data; - postindyresourcecommand(&cmd.entry,0x18); -} - - - - - -#ifdef NONMATCHING -void post_typeB_indyrescmd_host_prof_req(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_typeB_indyrescmd_host_prof_req -/* 105468 7F0D0938 27BDFBD0 */ addiu $sp, $sp, -0x430 -/* 10546C 7F0D093C AFA50434 */ sw $a1, 0x434($sp) -/* 105470 7F0D0940 3C0E9ABF */ lui $t6, (0x9ABF1623 >> 16) # lui $t6, 0x9abf -/* 105474 7F0D0944 AFA5002C */ sw $a1, 0x2c($sp) -/* 105478 7F0D0948 AFBF0014 */ sw $ra, 0x14($sp) -/* 10547C 7F0D094C AFA60438 */ sw $a2, 0x438($sp) -/* 105480 7F0D0950 35CE1623 */ ori $t6, (0x9ABF1623 & 0xFFFF) # ori $t6, $t6, 0x1623 -/* 105484 7F0D0954 240F000B */ li $t7, 11 -/* 105488 7F0D0958 24180414 */ li $t8, 1044 -/* 10548C 7F0D095C AFA40028 */ sw $a0, 0x28($sp) -/* 105490 7F0D0960 00C02825 */ move $a1, $a2 -/* 105494 7F0D0964 AFAE001C */ sw $t6, 0x1c($sp) -/* 105498 7F0D0968 AFAF0020 */ sw $t7, 0x20($sp) -/* 10549C 7F0D096C AFB80024 */ sw $t8, 0x24($sp) -/* 1054A0 7F0D0970 24060400 */ li $a2, 1024 -/* 1054A4 7F0D0974 0C0029E8 */ jal something_with_strings -/* 1054A8 7F0D0978 27A40030 */ addiu $a0, $sp, 0x30 -/* 1054AC 7F0D097C A3A0042F */ sb $zero, 0x42f($sp) -/* 1054B0 7F0D0980 27A4001C */ addiu $a0, $sp, 0x1c -/* 1054B4 7F0D0984 0FC34088 */ jal postindyresourcecommand -/* 1054B8 7F0D0988 24050414 */ li $a1, 1044 -/* 1054BC 7F0D098C 8FBF0014 */ lw $ra, 0x14($sp) -/* 1054C0 7F0D0990 27BD0430 */ addiu $sp, $sp, 0x430 -/* 1054C4 7F0D0994 03E00008 */ jr $ra -/* 1054C8 7F0D0998 00000000 */ nop -) -#endif - - - - - - -void post_typeC_indyrescmd_prof_send(s32 readsize,s32 writesize,u32 data) -{ - struct indy_resource_entry_type4 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 0xc; - cmd.entry.size = 0x18; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data = data; - postindyresourcecommand(&cmd.entry,0x18); -} - - -void post_typeA_indyrescmd_app_data_recieved(s32 readsize,s32 writesize,u32 data) -{ - struct indy_resource_entry_type4 cmd; - - cmd.entry.resourceID = 0x9abf1623; - cmd.entry.type = 10; - cmd.entry.size = 0x18; - cmd.entry.readsize = readsize; - cmd.entry.writesize = writesize; - cmd.data = data; - postindyresourcecommand(&cmd.entry,0x18); -} - - -u32 post_indy__res_cmd_initialize_seq(void) -{ - post_type1_indyrescmd_sizenextcmd(0x14,0x14); - post_type0_indyrescmd_init(0x14,0x14); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_game_data_send(char *strptr) -{ - post_type1_indyrescmd_sizenextcmd(0x114,0x114); - post_type3_indyrescmd(0x14,0x14,strptr); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_debug_data_recv(u32 data) -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_type4_indyrescmd_data_recieved(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_game_printf_send(char *strptr) -{ - post_type1_indyrescmd_sizenextcmd(0x114,0x114); - post_type5_indyrescmd_printfsend(0x14,0x14,strptr); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_debug_printf_recv(u32 data1,u32 data2) -{ - post_type1_indyrescmd_sizenextcmd(0x1c,0x1c); - post_type6_indyrescmd_printfrecieved(0x14,0x14,data1,data2); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_req_filename_size(u8 *filename,u32 size) -{ - post_type1_indyrescmd_sizenextcmd(0x118,0x118); - post_type7_indyrescmd_log_send(0x14,0x14,filename,size); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_1_8_2(u32 data1,u32 data2,u32 size2,struct indy_resource_entry *cmd2) -{ - post_type1_indyrescmd_sizenextcmd((size2 + 3 & 0xfffffffc) + 0x20,0x20); - post_type8_indyrescmd_log_recieved(0x14,0x14,data1,data2,size2,cmd2); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_send_capture_data(char *string, u32 size, struct indy_resource_entry *data) -{ - post_type1_indyrescmd_sizenextcmd((size + 3 & 0xfffffffc) + 0x114,0x114); - post_type9_indyrescmd_app_command_ready(0x14,0x14,string,size,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_recv_capture_data_success(u32 data) -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_typeA_indyrescmd_app_command_recieved(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_request_ramrom_file(char *strptr,u32 ptarget,u32 filesize) -{ - post_type1_indyrescmd_sizenextcmd(0x11c,0x11c); - post_typeF_indyrescmd_fault_send(0x14,0x14,strptr,filesize,ptarget); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_1_10_2(u32 param_1,u32 param_2,u32 param_3) -{ - post_type1_indyrescmd_sizenextcmd(0x20,0x20); - post_type10_indyrescmd_fault_ack_by_host(0x14,0x14,param_1,param_2,param_3); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_game_prof_sendfile(char *strptr,u8 *phwaddr,u32 size) -{ - post_type1_indyrescmd_sizenextcmd(0x11c,0x11c); - post_typeD_indyrescmd_prof_send_filename(0x14,0x14,strptr,size,phwaddr); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_host_prof_recv(u32 data) -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_typeE_indyrescmd_prof_recv(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_1_B_2(char *strptr) -{ - post_type1_indyrescmd_sizenextcmd(0x414,0x414); - post_typeB_indyrescmd_host_prof_req(0x14,0x14,strptr); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_1_C_2(u32 data) -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_typeC_indyrescmd_prof_send(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - -u32 post_indyrescmd_1_A_2(u32 data) -{ - post_type1_indyrescmd_sizenextcmd(0x18,0x18); - post_typeA_indyrescmd_app_data_recieved(0x14,0x14,data); - post_type2_indyrescmd_cmds_rdy_to_proc(0,0); - return 1; -} - - - - - - -#ifdef NONMATCHING -void post_indyrescmd_read_command(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_read_command -/* 105A7C 7F0D0F4C 27BDFBC0 */ addiu $sp, $sp, -0x440 -/* 105A80 7F0D0F50 27A20040 */ addiu $v0, $sp, 0x40 -/* 105A84 7F0D0F54 308F0007 */ andi $t7, $a0, 7 -/* 105A88 7F0D0F58 AFBF0014 */ sw $ra, 0x14($sp) -/* 105A8C 7F0D0F5C AFA40440 */ sw $a0, 0x440($sp) -/* 105A90 7F0D0F60 00A03025 */ move $a2, $a1 -/* 105A94 7F0D0F64 00401825 */ move $v1, $v0 -/* 105A98 7F0D0F68 11E00031 */ beqz $t7, .L7F0D1030 -/* 105A9C 7F0D0F6C 00403825 */ move $a3, $v0 -/* 105AA0 7F0D0F70 2CA10401 */ sltiu $at, $a1, 0x401 -/* 105AA4 7F0D0F74 14200003 */ bnez $at, .L7F0D0F84 -/* 105AA8 7F0D0F78 30580007 */ andi $t8, $v0, 7 -/* 105AAC 7F0D0F7C 10000046 */ b .L7F0D1098 -/* 105AB0 7F0D0F80 00001025 */ move $v0, $zero -.L7F0D0F84: -/* 105AB4 7F0D0F84 13000003 */ beqz $t8, .L7F0D0F94 -/* 105AB8 7F0D0F88 24C50003 */ addiu $a1, $a2, 3 -/* 105ABC 7F0D0F8C 27A30044 */ addiu $v1, $sp, 0x44 -/* 105AC0 7F0D0F90 00603825 */ move $a3, $v1 -.L7F0D0F94: -/* 105AC4 7F0D0F94 2401FFFC */ li $at, -4 -/* 105AC8 7F0D0F98 00A1C824 */ and $t9, $a1, $at -/* 105ACC 7F0D0F9C 03202825 */ move $a1, $t9 -/* 105AD0 7F0D0FA0 00E02025 */ move $a0, $a3 -/* 105AD4 7F0D0FA4 AFA3003C */ sw $v1, 0x3c($sp) -/* 105AD8 7F0D0FA8 0FC34060 */ jal sub_GAME_7F0D0180 -/* 105ADC 7F0D0FAC AFA60444 */ sw $a2, 0x444($sp) -/* 105AE0 7F0D0FB0 8FA3003C */ lw $v1, 0x3c($sp) -/* 105AE4 7F0D0FB4 8FA60444 */ lw $a2, 0x444($sp) -/* 105AE8 7F0D0FB8 8FA20440 */ lw $v0, 0x440($sp) -/* 105AEC 7F0D0FBC 3C098005 */ lui $t1, %hi(indy_status) -/* 105AF0 7F0D0FC0 00662021 */ addu $a0, $v1, $a2 -/* 105AF4 7F0D0FC4 0064082B */ sltu $at, $v1, $a0 -/* 105AF8 7F0D0FC8 10200007 */ beqz $at, .L7F0D0FE8 -/* 105AFC 7F0D0FCC 00000000 */ nop -.L7F0D0FD0: -/* 105B00 7F0D0FD0 90680000 */ lbu $t0, ($v1) -/* 105B04 7F0D0FD4 24630001 */ addiu $v1, $v1, 1 -/* 105B08 7F0D0FD8 0064082B */ sltu $at, $v1, $a0 -/* 105B0C 7F0D0FDC 24420001 */ addiu $v0, $v0, 1 -/* 105B10 7F0D0FE0 1420FFFB */ bnez $at, .L7F0D0FD0 -/* 105B14 7F0D0FE4 A048FFFF */ sb $t0, -1($v0) -.L7F0D0FE8: -/* 105B18 7F0D0FE8 8D29EAC4 */ lw $t1, %lo(indy_status)($t1) -/* 105B1C 7F0D0FEC 312A0010 */ andi $t2, $t1, 0x10 -/* 105B20 7F0D0FF0 1140000D */ beqz $t2, .L7F0D1028 -/* 105B24 7F0D0FF4 00000000 */ nop -/* 105B28 7F0D0FF8 10C0000B */ beqz $a2, .L7F0D1028 -/* 105B2C 7F0D0FFC 00001025 */ move $v0, $zero -/* 105B30 7F0D1000 30C40003 */ andi $a0, $a2, 3 -/* 105B34 7F0D1004 10800005 */ beqz $a0, .L7F0D101C -/* 105B38 7F0D1008 00801825 */ move $v1, $a0 -/* 105B3C 7F0D100C 24420001 */ addiu $v0, $v0, 1 -.L7F0D1010: -/* 105B40 7F0D1010 5462FFFF */ bnel $v1, $v0, .L7F0D1010 -/* 105B44 7F0D1014 24420001 */ addiu $v0, $v0, 1 -/* 105B48 7F0D1018 10460003 */ beq $v0, $a2, .L7F0D1028 -.L7F0D101C: -/* 105B4C 7F0D101C 24420004 */ addiu $v0, $v0, 4 -.L7F0D1020: -/* 105B50 7F0D1020 5446FFFF */ bnel $v0, $a2, .L7F0D1020 -/* 105B54 7F0D1024 24420004 */ addiu $v0, $v0, 4 -.L7F0D1028: -/* 105B58 7F0D1028 1000001B */ b .L7F0D1098 -/* 105B5C 7F0D102C 24020001 */ li $v0, 1 -.L7F0D1030: -/* 105B60 7F0D1030 24C50003 */ addiu $a1, $a2, 3 -/* 105B64 7F0D1034 2401FFFC */ li $at, -4 -/* 105B68 7F0D1038 00A15824 */ and $t3, $a1, $at -/* 105B6C 7F0D103C 01602825 */ move $a1, $t3 -/* 105B70 7F0D1040 8FA40440 */ lw $a0, 0x440($sp) -/* 105B74 7F0D1044 0FC34060 */ jal sub_GAME_7F0D0180 -/* 105B78 7F0D1048 AFA60444 */ sw $a2, 0x444($sp) -/* 105B7C 7F0D104C 3C0C8005 */ lui $t4, %hi(indy_status) -/* 105B80 7F0D1050 8D8CEAC4 */ lw $t4, %lo(indy_status)($t4) -/* 105B84 7F0D1054 8FA60444 */ lw $a2, 0x444($sp) -/* 105B88 7F0D1058 318D0010 */ andi $t5, $t4, 0x10 -/* 105B8C 7F0D105C 51A0000E */ beql $t5, $zero, .L7F0D1098 -/* 105B90 7F0D1060 24020001 */ li $v0, 1 -/* 105B94 7F0D1064 10C0000B */ beqz $a2, .L7F0D1094 -/* 105B98 7F0D1068 00001025 */ move $v0, $zero -/* 105B9C 7F0D106C 30C40003 */ andi $a0, $a2, 3 -/* 105BA0 7F0D1070 10800005 */ beqz $a0, .L7F0D1088 -/* 105BA4 7F0D1074 00801825 */ move $v1, $a0 -/* 105BA8 7F0D1078 24420001 */ addiu $v0, $v0, 1 -.L7F0D107C: -/* 105BAC 7F0D107C 5462FFFF */ bnel $v1, $v0, .L7F0D107C -/* 105BB0 7F0D1080 24420001 */ addiu $v0, $v0, 1 -/* 105BB4 7F0D1084 10460003 */ beq $v0, $a2, .L7F0D1094 -.L7F0D1088: -/* 105BB8 7F0D1088 24420004 */ addiu $v0, $v0, 4 -.L7F0D108C: -/* 105BBC 7F0D108C 5446FFFF */ bnel $v0, $a2, .L7F0D108C -/* 105BC0 7F0D1090 24420004 */ addiu $v0, $v0, 4 -.L7F0D1094: -/* 105BC4 7F0D1094 24020001 */ li $v0, 1 -.L7F0D1098: -/* 105BC8 7F0D1098 8FBF0014 */ lw $ra, 0x14($sp) -/* 105BCC 7F0D109C 27BD0440 */ addiu $sp, $sp, 0x440 -/* 105BD0 7F0D10A0 03E00008 */ jr $ra -/* 105BD4 7F0D10A4 00000000 */ nop -) -#endif - - - - - - -u32 post_indyrescmd_read_2commands(u8 *buffer1,u32 size1,u8 *buffer2,u32 size2) -{ - sub_GAME_7F0D0180(buffer1,size1 + 3 & 0xfffffffc); - sub_GAME_7F0D0180(buffer2,size2 + 3 & 0xfffffffc); - return 1; -} - - - - - -#ifdef NONMATCHING -u32 post_indyrescmd_istype1_correctsize(int readsize,int writesize) -{ - u32 ret; - struct indy_resource_entry cmd; - - post_indyrescmd_read_command(&cmd,0x14); - if ((cmd.resourceID == 0x9abf1623) && (cmd.type == 1) && (cmd.size == 0x14) && ((readsize == 0) || (cmd.readsize == readsize))) { - ret = 1; - if (cmd.writesize != writesize) { - ret = 0; - } - } - else { - ret = 0; - } - return ret; -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istype1_correctsize -/* 105C30 7F0D1100 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 105C34 7F0D1104 AFBF0014 */ sw $ra, 0x14($sp) -/* 105C38 7F0D1108 AFA40030 */ sw $a0, 0x30($sp) -/* 105C3C 7F0D110C AFA50034 */ sw $a1, 0x34($sp) -/* 105C40 7F0D1110 24050014 */ li $a1, 20 -/* 105C44 7F0D1114 0FC343D3 */ jal post_indyrescmd_read_command -/* 105C48 7F0D1118 27A4001C */ addiu $a0, $sp, 0x1c -/* 105C4C 7F0D111C 8FAE001C */ lw $t6, 0x1c($sp) -/* 105C50 7F0D1120 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 105C54 7F0D1124 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 105C58 7F0D1128 11C10003 */ beq $t6, $at, .L7F0D1138 -/* 105C5C 7F0D112C 8FA20030 */ lw $v0, 0x30($sp) -/* 105C60 7F0D1130 1000001A */ b .L7F0D119C -/* 105C64 7F0D1134 00001025 */ move $v0, $zero -.L7F0D1138: -/* 105C68 7F0D1138 8FAF0020 */ lw $t7, 0x20($sp) -/* 105C6C 7F0D113C 24010001 */ li $at, 1 -/* 105C70 7F0D1140 8FB80024 */ lw $t8, 0x24($sp) -/* 105C74 7F0D1144 51E10004 */ beql $t7, $at, .L7F0D1158 -/* 105C78 7F0D1148 24010014 */ li $at, 20 -/* 105C7C 7F0D114C 10000013 */ b .L7F0D119C -/* 105C80 7F0D1150 00001025 */ move $v0, $zero -/* 105C84 7F0D1154 24010014 */ li $at, 20 -.L7F0D1158: -/* 105C88 7F0D1158 13010003 */ beq $t8, $at, .L7F0D1168 -/* 105C8C 7F0D115C 00000000 */ nop -/* 105C90 7F0D1160 1000000E */ b .L7F0D119C -/* 105C94 7F0D1164 00001025 */ move $v0, $zero -.L7F0D1168: -/* 105C98 7F0D1168 10400005 */ beqz $v0, .L7F0D1180 -/* 105C9C 7F0D116C 8FB90028 */ lw $t9, 0x28($sp) -/* 105CA0 7F0D1170 53220004 */ beql $t9, $v0, .L7F0D1184 -/* 105CA4 7F0D1174 8FA8002C */ lw $t0, 0x2c($sp) -/* 105CA8 7F0D1178 10000008 */ b .L7F0D119C -/* 105CAC 7F0D117C 00001025 */ move $v0, $zero -.L7F0D1180: -/* 105CB0 7F0D1180 8FA8002C */ lw $t0, 0x2c($sp) -.L7F0D1184: -/* 105CB4 7F0D1184 8FA90034 */ lw $t1, 0x34($sp) -/* 105CB8 7F0D1188 24020001 */ li $v0, 1 -/* 105CBC 7F0D118C 11090003 */ beq $t0, $t1, .L7F0D119C -/* 105CC0 7F0D1190 00000000 */ nop -/* 105CC4 7F0D1194 10000001 */ b .L7F0D119C -/* 105CC8 7F0D1198 00001025 */ move $v0, $zero -.L7F0D119C: -/* 105CCC 7F0D119C 8FBF0014 */ lw $ra, 0x14($sp) -/* 105CD0 7F0D11A0 27BD0030 */ addiu $sp, $sp, 0x30 -/* 105CD4 7F0D11A4 03E00008 */ jr $ra -/* 105CD8 7F0D11A8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -u32 post_indyrescmd_istype2_correctvalue(int readsize,int writesize) -{ - u32 ret; - struct indy_resource_entry cmd; - - post_indyrescmd_read_command(&cmd,0x14); - if ((cmd.resourceID == 0x9abf1623) && (cmd.type == 2) && (cmd.size == 0x14) && (cmd.readsize == readsize)) - { - ret = 1; - if (cmd.writesize != writesize) { - ret = 0; - } - } - else { - ret = 0; - } - return ret; -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istype2_correctvalue -/* 105CDC 7F0D11AC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 105CE0 7F0D11B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 105CE4 7F0D11B4 AFA40030 */ sw $a0, 0x30($sp) -/* 105CE8 7F0D11B8 AFA50034 */ sw $a1, 0x34($sp) -/* 105CEC 7F0D11BC 24050014 */ li $a1, 20 -/* 105CF0 7F0D11C0 0FC343D3 */ jal post_indyrescmd_read_command -/* 105CF4 7F0D11C4 27A4001C */ addiu $a0, $sp, 0x1c -/* 105CF8 7F0D11C8 8FAE001C */ lw $t6, 0x1c($sp) -/* 105CFC 7F0D11CC 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 105D00 7F0D11D0 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 105D04 7F0D11D4 11C10003 */ beq $t6, $at, .L7F0D11E4 -/* 105D08 7F0D11D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 105D0C 7F0D11DC 10000018 */ b .L7F0D1240 -/* 105D10 7F0D11E0 00001025 */ move $v0, $zero -.L7F0D11E4: -/* 105D14 7F0D11E4 8FAF0020 */ lw $t7, 0x20($sp) -/* 105D18 7F0D11E8 24010002 */ li $at, 2 -/* 105D1C 7F0D11EC 8FB80024 */ lw $t8, 0x24($sp) -/* 105D20 7F0D11F0 51E10004 */ beql $t7, $at, .L7F0D1204 -/* 105D24 7F0D11F4 24010014 */ li $at, 20 -/* 105D28 7F0D11F8 10000011 */ b .L7F0D1240 -/* 105D2C 7F0D11FC 00001025 */ move $v0, $zero -/* 105D30 7F0D1200 24010014 */ li $at, 20 -.L7F0D1204: -/* 105D34 7F0D1204 13010003 */ beq $t8, $at, .L7F0D1214 -/* 105D38 7F0D1208 8FB90028 */ lw $t9, 0x28($sp) -/* 105D3C 7F0D120C 1000000C */ b .L7F0D1240 -/* 105D40 7F0D1210 00001025 */ move $v0, $zero -.L7F0D1214: -/* 105D44 7F0D1214 8FA80030 */ lw $t0, 0x30($sp) -/* 105D48 7F0D1218 8FA9002C */ lw $t1, 0x2c($sp) -/* 105D4C 7F0D121C 8FAA0034 */ lw $t2, 0x34($sp) -/* 105D50 7F0D1220 13280003 */ beq $t9, $t0, .L7F0D1230 -/* 105D54 7F0D1224 00000000 */ nop -/* 105D58 7F0D1228 10000005 */ b .L7F0D1240 -/* 105D5C 7F0D122C 00001025 */ move $v0, $zero -.L7F0D1230: -/* 105D60 7F0D1230 112A0003 */ beq $t1, $t2, .L7F0D1240 -/* 105D64 7F0D1234 24020001 */ li $v0, 1 -/* 105D68 7F0D1238 10000001 */ b .L7F0D1240 -/* 105D6C 7F0D123C 00001025 */ move $v0, $zero -.L7F0D1240: -/* 105D70 7F0D1240 03E00008 */ jr $ra -/* 105D74 7F0D1244 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void post_indyrescmd_istype4_correctvalue(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istype4_correctvalue -/* 105D78 7F0D1248 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 105D7C 7F0D124C AFBF0014 */ sw $ra, 0x14($sp) -/* 105D80 7F0D1250 AFA40030 */ sw $a0, 0x30($sp) -/* 105D84 7F0D1254 AFA50034 */ sw $a1, 0x34($sp) -/* 105D88 7F0D1258 AFA60038 */ sw $a2, 0x38($sp) -/* 105D8C 7F0D125C 24050018 */ li $a1, 24 -/* 105D90 7F0D1260 0FC343D3 */ jal post_indyrescmd_read_command -/* 105D94 7F0D1264 27A40018 */ addiu $a0, $sp, 0x18 -/* 105D98 7F0D1268 8FAE0018 */ lw $t6, 0x18($sp) -/* 105D9C 7F0D126C 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 105DA0 7F0D1270 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 105DA4 7F0D1274 11C10003 */ beq $t6, $at, .L7F0D1284 -/* 105DA8 7F0D1278 8FAF001C */ lw $t7, 0x1c($sp) -/* 105DAC 7F0D127C 10000019 */ b .L7F0D12E4 -/* 105DB0 7F0D1280 00001025 */ move $v0, $zero -.L7F0D1284: -/* 105DB4 7F0D1284 24010004 */ li $at, 4 -/* 105DB8 7F0D1288 11E10003 */ beq $t7, $at, .L7F0D1298 -/* 105DBC 7F0D128C 8FB80020 */ lw $t8, 0x20($sp) -/* 105DC0 7F0D1290 10000014 */ b .L7F0D12E4 -/* 105DC4 7F0D1294 00001025 */ move $v0, $zero -.L7F0D1298: -/* 105DC8 7F0D1298 24010018 */ li $at, 24 -/* 105DCC 7F0D129C 13010003 */ beq $t8, $at, .L7F0D12AC -/* 105DD0 7F0D12A0 8FB90024 */ lw $t9, 0x24($sp) -/* 105DD4 7F0D12A4 1000000F */ b .L7F0D12E4 -/* 105DD8 7F0D12A8 00001025 */ move $v0, $zero -.L7F0D12AC: -/* 105DDC 7F0D12AC 8FA80030 */ lw $t0, 0x30($sp) -/* 105DE0 7F0D12B0 8FA90028 */ lw $t1, 0x28($sp) -/* 105DE4 7F0D12B4 8FAA0034 */ lw $t2, 0x34($sp) -/* 105DE8 7F0D12B8 13280003 */ beq $t9, $t0, .L7F0D12C8 -/* 105DEC 7F0D12BC 00000000 */ nop -/* 105DF0 7F0D12C0 10000008 */ b .L7F0D12E4 -/* 105DF4 7F0D12C4 00001025 */ move $v0, $zero -.L7F0D12C8: -/* 105DF8 7F0D12C8 112A0003 */ beq $t1, $t2, .L7F0D12D8 -/* 105DFC 7F0D12CC 8FAB002C */ lw $t3, 0x2c($sp) -/* 105E00 7F0D12D0 10000004 */ b .L7F0D12E4 -/* 105E04 7F0D12D4 00001025 */ move $v0, $zero -.L7F0D12D8: -/* 105E08 7F0D12D8 8FAC0038 */ lw $t4, 0x38($sp) -/* 105E0C 7F0D12DC 24020001 */ li $v0, 1 -/* 105E10 7F0D12E0 AD8B0000 */ sw $t3, ($t4) -.L7F0D12E4: -/* 105E14 7F0D12E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 105E18 7F0D12E8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 105E1C 7F0D12EC 03E00008 */ jr $ra -/* 105E20 7F0D12F0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_indyrescmd_istype6_correctvalue(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istype6_correctvalue -/* 105E24 7F0D12F4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 105E28 7F0D12F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 105E2C 7F0D12FC AFA40038 */ sw $a0, 0x38($sp) -/* 105E30 7F0D1300 AFA5003C */ sw $a1, 0x3c($sp) -/* 105E34 7F0D1304 AFA60040 */ sw $a2, 0x40($sp) -/* 105E38 7F0D1308 AFA70044 */ sw $a3, 0x44($sp) -/* 105E3C 7F0D130C 2405001C */ li $a1, 28 -/* 105E40 7F0D1310 0FC343D3 */ jal post_indyrescmd_read_command -/* 105E44 7F0D1314 27A4001C */ addiu $a0, $sp, 0x1c -/* 105E48 7F0D1318 8FAE001C */ lw $t6, 0x1c($sp) -/* 105E4C 7F0D131C 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 105E50 7F0D1320 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 105E54 7F0D1324 11C10003 */ beq $t6, $at, .L7F0D1334 -/* 105E58 7F0D1328 8FAF0020 */ lw $t7, 0x20($sp) -/* 105E5C 7F0D132C 1000001C */ b .L7F0D13A0 -/* 105E60 7F0D1330 00001025 */ move $v0, $zero -.L7F0D1334: -/* 105E64 7F0D1334 24010006 */ li $at, 6 -/* 105E68 7F0D1338 11E10003 */ beq $t7, $at, .L7F0D1348 -/* 105E6C 7F0D133C 8FB80024 */ lw $t8, 0x24($sp) -/* 105E70 7F0D1340 10000017 */ b .L7F0D13A0 -/* 105E74 7F0D1344 00001025 */ move $v0, $zero -.L7F0D1348: -/* 105E78 7F0D1348 2401001C */ li $at, 28 -/* 105E7C 7F0D134C 13010003 */ beq $t8, $at, .L7F0D135C -/* 105E80 7F0D1350 8FB90028 */ lw $t9, 0x28($sp) -/* 105E84 7F0D1354 10000012 */ b .L7F0D13A0 -/* 105E88 7F0D1358 00001025 */ move $v0, $zero -.L7F0D135C: -/* 105E8C 7F0D135C 8FA80038 */ lw $t0, 0x38($sp) -/* 105E90 7F0D1360 8FA9002C */ lw $t1, 0x2c($sp) -/* 105E94 7F0D1364 8FAA003C */ lw $t2, 0x3c($sp) -/* 105E98 7F0D1368 13280003 */ beq $t9, $t0, .L7F0D1378 -/* 105E9C 7F0D136C 00000000 */ nop -/* 105EA0 7F0D1370 1000000B */ b .L7F0D13A0 -/* 105EA4 7F0D1374 00001025 */ move $v0, $zero -.L7F0D1378: -/* 105EA8 7F0D1378 112A0003 */ beq $t1, $t2, .L7F0D1388 -/* 105EAC 7F0D137C 8FAB0030 */ lw $t3, 0x30($sp) -/* 105EB0 7F0D1380 10000007 */ b .L7F0D13A0 -/* 105EB4 7F0D1384 00001025 */ move $v0, $zero -.L7F0D1388: -/* 105EB8 7F0D1388 8FAC0040 */ lw $t4, 0x40($sp) -/* 105EBC 7F0D138C 24020001 */ li $v0, 1 -/* 105EC0 7F0D1390 AD8B0000 */ sw $t3, ($t4) -/* 105EC4 7F0D1394 8FAE0044 */ lw $t6, 0x44($sp) -/* 105EC8 7F0D1398 8FAD0034 */ lw $t5, 0x34($sp) -/* 105ECC 7F0D139C ADCD0000 */ sw $t5, ($t6) -.L7F0D13A0: -/* 105ED0 7F0D13A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 105ED4 7F0D13A4 27BD0038 */ addiu $sp, $sp, 0x38 -/* 105ED8 7F0D13A8 03E00008 */ jr $ra -/* 105EDC 7F0D13AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_indyrescmd_istype8_correctvalue(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istype8_correctvalue -/* 105EE0 7F0D13B0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 105EE4 7F0D13B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 105EE8 7F0D13B8 AFA40038 */ sw $a0, 0x38($sp) -/* 105EEC 7F0D13BC AFA5003C */ sw $a1, 0x3c($sp) -/* 105EF0 7F0D13C0 AFA60040 */ sw $a2, 0x40($sp) -/* 105EF4 7F0D13C4 AFA70044 */ sw $a3, 0x44($sp) -/* 105EF8 7F0D13C8 24050020 */ li $a1, 32 -/* 105EFC 7F0D13CC 0FC343D3 */ jal post_indyrescmd_read_command -/* 105F00 7F0D13D0 27A40018 */ addiu $a0, $sp, 0x18 -/* 105F04 7F0D13D4 8FAE0018 */ lw $t6, 0x18($sp) -/* 105F08 7F0D13D8 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 105F0C 7F0D13DC 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 105F10 7F0D13E0 11C10003 */ beq $t6, $at, .L7F0D13F0 -/* 105F14 7F0D13E4 8FAF001C */ lw $t7, 0x1c($sp) -/* 105F18 7F0D13E8 10000027 */ b .L7F0D1488 -/* 105F1C 7F0D13EC 00001025 */ move $v0, $zero -.L7F0D13F0: -/* 105F20 7F0D13F0 24010008 */ li $at, 8 -/* 105F24 7F0D13F4 11E10003 */ beq $t7, $at, .L7F0D1404 -/* 105F28 7F0D13F8 8FB90034 */ lw $t9, 0x34($sp) -/* 105F2C 7F0D13FC 10000022 */ b .L7F0D1488 -/* 105F30 7F0D1400 00001025 */ move $v0, $zero -.L7F0D1404: -/* 105F34 7F0D1404 8FB80020 */ lw $t8, 0x20($sp) -/* 105F38 7F0D1408 2402FFFC */ li $v0, -4 -/* 105F3C 7F0D140C 27280003 */ addiu $t0, $t9, 3 -/* 105F40 7F0D1410 01024824 */ and $t1, $t0, $v0 -/* 105F44 7F0D1414 252A0020 */ addiu $t2, $t1, 0x20 -/* 105F48 7F0D1418 130A0003 */ beq $t8, $t2, .L7F0D1428 -/* 105F4C 7F0D141C 8FAB0024 */ lw $t3, 0x24($sp) -/* 105F50 7F0D1420 10000019 */ b .L7F0D1488 -/* 105F54 7F0D1424 00001025 */ move $v0, $zero -.L7F0D1428: -/* 105F58 7F0D1428 8FAC0038 */ lw $t4, 0x38($sp) -/* 105F5C 7F0D142C 8FAD0028 */ lw $t5, 0x28($sp) -/* 105F60 7F0D1430 8FAE003C */ lw $t6, 0x3c($sp) -/* 105F64 7F0D1434 116C0003 */ beq $t3, $t4, .L7F0D1444 -/* 105F68 7F0D1438 00000000 */ nop -/* 105F6C 7F0D143C 10000012 */ b .L7F0D1488 -/* 105F70 7F0D1440 00001025 */ move $v0, $zero -.L7F0D1444: -/* 105F74 7F0D1444 11AE0003 */ beq $t5, $t6, .L7F0D1454 -/* 105F78 7F0D1448 8FAF002C */ lw $t7, 0x2c($sp) -/* 105F7C 7F0D144C 1000000E */ b .L7F0D1488 -/* 105F80 7F0D1450 00001025 */ move $v0, $zero -.L7F0D1454: -/* 105F84 7F0D1454 8FB90040 */ lw $t9, 0x40($sp) -/* 105F88 7F0D1458 AF2F0000 */ sw $t7, ($t9) -/* 105F8C 7F0D145C 8FA90044 */ lw $t1, 0x44($sp) -/* 105F90 7F0D1460 8FA80030 */ lw $t0, 0x30($sp) -/* 105F94 7F0D1464 AD280000 */ sw $t0, ($t1) -/* 105F98 7F0D1468 8FB80034 */ lw $t8, 0x34($sp) -/* 105F9C 7F0D146C 8FAA0048 */ lw $t2, 0x48($sp) -/* 105FA0 7F0D1470 270B0003 */ addiu $t3, $t8, 3 -/* 105FA4 7F0D1474 AD580000 */ sw $t8, ($t2) -/* 105FA8 7F0D1478 8FA4004C */ lw $a0, 0x4c($sp) -/* 105FAC 7F0D147C 0FC343D3 */ jal post_indyrescmd_read_command -/* 105FB0 7F0D1480 01622824 */ and $a1, $t3, $v0 -/* 105FB4 7F0D1484 24020001 */ li $v0, 1 -.L7F0D1488: -/* 105FB8 7F0D1488 8FBF0014 */ lw $ra, 0x14($sp) -/* 105FBC 7F0D148C 27BD0038 */ addiu $sp, $sp, 0x38 -/* 105FC0 7F0D1490 03E00008 */ jr $ra -/* 105FC4 7F0D1494 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_indyrescmd_istypeA_correctvalue(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istypeA_correctvalue -/* 105FC8 7F0D1498 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 105FCC 7F0D149C AFBF0014 */ sw $ra, 0x14($sp) -/* 105FD0 7F0D14A0 AFA40030 */ sw $a0, 0x30($sp) -/* 105FD4 7F0D14A4 AFA50034 */ sw $a1, 0x34($sp) -/* 105FD8 7F0D14A8 AFA60038 */ sw $a2, 0x38($sp) -/* 105FDC 7F0D14AC 24050018 */ li $a1, 24 -/* 105FE0 7F0D14B0 0FC343D3 */ jal post_indyrescmd_read_command -/* 105FE4 7F0D14B4 27A40018 */ addiu $a0, $sp, 0x18 -/* 105FE8 7F0D14B8 8FAE0018 */ lw $t6, 0x18($sp) -/* 105FEC 7F0D14BC 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 105FF0 7F0D14C0 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 105FF4 7F0D14C4 11C10003 */ beq $t6, $at, .L7F0D14D4 -/* 105FF8 7F0D14C8 8FAF001C */ lw $t7, 0x1c($sp) -/* 105FFC 7F0D14CC 10000019 */ b .L7F0D1534 -/* 106000 7F0D14D0 00001025 */ move $v0, $zero -.L7F0D14D4: -/* 106004 7F0D14D4 2401000A */ li $at, 10 -/* 106008 7F0D14D8 11E10003 */ beq $t7, $at, .L7F0D14E8 -/* 10600C 7F0D14DC 8FB80020 */ lw $t8, 0x20($sp) -/* 106010 7F0D14E0 10000014 */ b .L7F0D1534 -/* 106014 7F0D14E4 00001025 */ move $v0, $zero -.L7F0D14E8: -/* 106018 7F0D14E8 24010018 */ li $at, 24 -/* 10601C 7F0D14EC 13010003 */ beq $t8, $at, .L7F0D14FC -/* 106020 7F0D14F0 8FB90024 */ lw $t9, 0x24($sp) -/* 106024 7F0D14F4 1000000F */ b .L7F0D1534 -/* 106028 7F0D14F8 00001025 */ move $v0, $zero -.L7F0D14FC: -/* 10602C 7F0D14FC 8FA80030 */ lw $t0, 0x30($sp) -/* 106030 7F0D1500 8FA90028 */ lw $t1, 0x28($sp) -/* 106034 7F0D1504 8FAA0034 */ lw $t2, 0x34($sp) -/* 106038 7F0D1508 13280003 */ beq $t9, $t0, .L7F0D1518 -/* 10603C 7F0D150C 00000000 */ nop -/* 106040 7F0D1510 10000008 */ b .L7F0D1534 -/* 106044 7F0D1514 00001025 */ move $v0, $zero -.L7F0D1518: -/* 106048 7F0D1518 112A0003 */ beq $t1, $t2, .L7F0D1528 -/* 10604C 7F0D151C 8FAB002C */ lw $t3, 0x2c($sp) -/* 106050 7F0D1520 10000004 */ b .L7F0D1534 -/* 106054 7F0D1524 00001025 */ move $v0, $zero -.L7F0D1528: -/* 106058 7F0D1528 8FAC0038 */ lw $t4, 0x38($sp) -/* 10605C 7F0D152C 24020001 */ li $v0, 1 -/* 106060 7F0D1530 AD8B0000 */ sw $t3, ($t4) -.L7F0D1534: -/* 106064 7F0D1534 8FBF0014 */ lw $ra, 0x14($sp) -/* 106068 7F0D1538 27BD0030 */ addiu $sp, $sp, 0x30 -/* 10606C 7F0D153C 03E00008 */ jr $ra -/* 106070 7F0D1540 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_indyrescmd_istype10_correctvalue(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istype10_correctvalue -/* 106074 7F0D1544 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 106078 7F0D1548 AFBF0014 */ sw $ra, 0x14($sp) -/* 10607C 7F0D154C AFA40038 */ sw $a0, 0x38($sp) -/* 106080 7F0D1550 AFA5003C */ sw $a1, 0x3c($sp) -/* 106084 7F0D1554 AFA60040 */ sw $a2, 0x40($sp) -/* 106088 7F0D1558 AFA70044 */ sw $a3, 0x44($sp) -/* 10608C 7F0D155C 24050020 */ li $a1, 32 -/* 106090 7F0D1560 0FC343D3 */ jal post_indyrescmd_read_command -/* 106094 7F0D1564 27A40018 */ addiu $a0, $sp, 0x18 -/* 106098 7F0D1568 8FAE0018 */ lw $t6, 0x18($sp) -/* 10609C 7F0D156C 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 1060A0 7F0D1570 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 1060A4 7F0D1574 11C10003 */ beq $t6, $at, .L7F0D1584 -/* 1060A8 7F0D1578 8FAF001C */ lw $t7, 0x1c($sp) -/* 1060AC 7F0D157C 1000001F */ b .L7F0D15FC -/* 1060B0 7F0D1580 00001025 */ move $v0, $zero -.L7F0D1584: -/* 1060B4 7F0D1584 24010010 */ li $at, 16 -/* 1060B8 7F0D1588 11E10003 */ beq $t7, $at, .L7F0D1598 -/* 1060BC 7F0D158C 8FB80020 */ lw $t8, 0x20($sp) -/* 1060C0 7F0D1590 1000001A */ b .L7F0D15FC -/* 1060C4 7F0D1594 00001025 */ move $v0, $zero -.L7F0D1598: -/* 1060C8 7F0D1598 24010020 */ li $at, 32 -/* 1060CC 7F0D159C 13010003 */ beq $t8, $at, .L7F0D15AC -/* 1060D0 7F0D15A0 8FB90024 */ lw $t9, 0x24($sp) -/* 1060D4 7F0D15A4 10000015 */ b .L7F0D15FC -/* 1060D8 7F0D15A8 00001025 */ move $v0, $zero -.L7F0D15AC: -/* 1060DC 7F0D15AC 8FA80038 */ lw $t0, 0x38($sp) -/* 1060E0 7F0D15B0 8FA90028 */ lw $t1, 0x28($sp) -/* 1060E4 7F0D15B4 8FAA003C */ lw $t2, 0x3c($sp) -/* 1060E8 7F0D15B8 13280003 */ beq $t9, $t0, .L7F0D15C8 -/* 1060EC 7F0D15BC 00000000 */ nop -/* 1060F0 7F0D15C0 1000000E */ b .L7F0D15FC -/* 1060F4 7F0D15C4 00001025 */ move $v0, $zero -.L7F0D15C8: -/* 1060F8 7F0D15C8 112A0003 */ beq $t1, $t2, .L7F0D15D8 -/* 1060FC 7F0D15CC 8FAB002C */ lw $t3, 0x2c($sp) -/* 106100 7F0D15D0 1000000A */ b .L7F0D15FC -/* 106104 7F0D15D4 00001025 */ move $v0, $zero -.L7F0D15D8: -/* 106108 7F0D15D8 8FAC0040 */ lw $t4, 0x40($sp) -/* 10610C 7F0D15DC 24020001 */ li $v0, 1 -/* 106110 7F0D15E0 AD8B0000 */ sw $t3, ($t4) -/* 106114 7F0D15E4 8FAE0044 */ lw $t6, 0x44($sp) -/* 106118 7F0D15E8 8FAD0030 */ lw $t5, 0x30($sp) -/* 10611C 7F0D15EC ADCD0000 */ sw $t5, ($t6) -/* 106120 7F0D15F0 8FB80048 */ lw $t8, 0x48($sp) -/* 106124 7F0D15F4 8FAF0034 */ lw $t7, 0x34($sp) -/* 106128 7F0D15F8 AF0F0000 */ sw $t7, ($t8) -.L7F0D15FC: -/* 10612C 7F0D15FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 106130 7F0D1600 27BD0038 */ addiu $sp, $sp, 0x38 -/* 106134 7F0D1604 03E00008 */ jr $ra -/* 106138 7F0D1608 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_indyrescmd_istypeE_correctvalue(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istypeE_correctvalue -/* 10613C 7F0D160C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 106140 7F0D1610 AFBF0014 */ sw $ra, 0x14($sp) -/* 106144 7F0D1614 AFA40030 */ sw $a0, 0x30($sp) -/* 106148 7F0D1618 AFA50034 */ sw $a1, 0x34($sp) -/* 10614C 7F0D161C AFA60038 */ sw $a2, 0x38($sp) -/* 106150 7F0D1620 24050018 */ li $a1, 24 -/* 106154 7F0D1624 0FC343D3 */ jal post_indyrescmd_read_command -/* 106158 7F0D1628 27A40018 */ addiu $a0, $sp, 0x18 -/* 10615C 7F0D162C 8FAE0018 */ lw $t6, 0x18($sp) -/* 106160 7F0D1630 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 106164 7F0D1634 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 106168 7F0D1638 11C10003 */ beq $t6, $at, .L7F0D1648 -/* 10616C 7F0D163C 8FAF001C */ lw $t7, 0x1c($sp) -/* 106170 7F0D1640 10000019 */ b .L7F0D16A8 -/* 106174 7F0D1644 00001025 */ move $v0, $zero -.L7F0D1648: -/* 106178 7F0D1648 2401000E */ li $at, 14 -/* 10617C 7F0D164C 11E10003 */ beq $t7, $at, .L7F0D165C -/* 106180 7F0D1650 8FB80020 */ lw $t8, 0x20($sp) -/* 106184 7F0D1654 10000014 */ b .L7F0D16A8 -/* 106188 7F0D1658 00001025 */ move $v0, $zero -.L7F0D165C: -/* 10618C 7F0D165C 24010018 */ li $at, 24 -/* 106190 7F0D1660 13010003 */ beq $t8, $at, .L7F0D1670 -/* 106194 7F0D1664 8FB90024 */ lw $t9, 0x24($sp) -/* 106198 7F0D1668 1000000F */ b .L7F0D16A8 -/* 10619C 7F0D166C 00001025 */ move $v0, $zero -.L7F0D1670: -/* 1061A0 7F0D1670 8FA80030 */ lw $t0, 0x30($sp) -/* 1061A4 7F0D1674 8FA90028 */ lw $t1, 0x28($sp) -/* 1061A8 7F0D1678 8FAA0034 */ lw $t2, 0x34($sp) -/* 1061AC 7F0D167C 13280003 */ beq $t9, $t0, .L7F0D168C -/* 1061B0 7F0D1680 00000000 */ nop -/* 1061B4 7F0D1684 10000008 */ b .L7F0D16A8 -/* 1061B8 7F0D1688 00001025 */ move $v0, $zero -.L7F0D168C: -/* 1061BC 7F0D168C 112A0003 */ beq $t1, $t2, .L7F0D169C -/* 1061C0 7F0D1690 8FAB002C */ lw $t3, 0x2c($sp) -/* 1061C4 7F0D1694 10000004 */ b .L7F0D16A8 -/* 1061C8 7F0D1698 00001025 */ move $v0, $zero -.L7F0D169C: -/* 1061CC 7F0D169C 8FAC0038 */ lw $t4, 0x38($sp) -/* 1061D0 7F0D16A0 24020001 */ li $v0, 1 -/* 1061D4 7F0D16A4 AD8B0000 */ sw $t3, ($t4) -.L7F0D16A8: -/* 1061D8 7F0D16A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 1061DC 7F0D16AC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 1061E0 7F0D16B0 03E00008 */ jr $ra -/* 1061E4 7F0D16B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void post_indyrescmd_istypeC_correctvalue(void) { - -} -#else -GLOBAL_ASM( -.text -glabel post_indyrescmd_istypeC_correctvalue -/* 1061E8 7F0D16B8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 1061EC 7F0D16BC AFBF0014 */ sw $ra, 0x14($sp) -/* 1061F0 7F0D16C0 AFA40030 */ sw $a0, 0x30($sp) -/* 1061F4 7F0D16C4 AFA50034 */ sw $a1, 0x34($sp) -/* 1061F8 7F0D16C8 AFA60038 */ sw $a2, 0x38($sp) -/* 1061FC 7F0D16CC 24050018 */ li $a1, 24 -/* 106200 7F0D16D0 0FC343D3 */ jal post_indyrescmd_read_command -/* 106204 7F0D16D4 27A40018 */ addiu $a0, $sp, 0x18 -/* 106208 7F0D16D8 8FAE0018 */ lw $t6, 0x18($sp) -/* 10620C 7F0D16DC 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 106210 7F0D16E0 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 106214 7F0D16E4 11C10003 */ beq $t6, $at, .L7F0D16F4 -/* 106218 7F0D16E8 8FAF001C */ lw $t7, 0x1c($sp) -/* 10621C 7F0D16EC 10000019 */ b .L7F0D1754 -/* 106220 7F0D16F0 00001025 */ move $v0, $zero -.L7F0D16F4: -/* 106224 7F0D16F4 2401000C */ li $at, 12 -/* 106228 7F0D16F8 11E10003 */ beq $t7, $at, .L7F0D1708 -/* 10622C 7F0D16FC 8FB80020 */ lw $t8, 0x20($sp) -/* 106230 7F0D1700 10000014 */ b .L7F0D1754 -/* 106234 7F0D1704 00001025 */ move $v0, $zero -.L7F0D1708: -/* 106238 7F0D1708 24010018 */ li $at, 24 -/* 10623C 7F0D170C 13010003 */ beq $t8, $at, .L7F0D171C -/* 106240 7F0D1710 8FB90024 */ lw $t9, 0x24($sp) -/* 106244 7F0D1714 1000000F */ b .L7F0D1754 -/* 106248 7F0D1718 00001025 */ move $v0, $zero -.L7F0D171C: -/* 10624C 7F0D171C 8FA80030 */ lw $t0, 0x30($sp) -/* 106250 7F0D1720 8FA90028 */ lw $t1, 0x28($sp) -/* 106254 7F0D1724 8FAA0034 */ lw $t2, 0x34($sp) -/* 106258 7F0D1728 13280003 */ beq $t9, $t0, .L7F0D1738 -/* 10625C 7F0D172C 00000000 */ nop -/* 106260 7F0D1730 10000008 */ b .L7F0D1754 -/* 106264 7F0D1734 00001025 */ move $v0, $zero -.L7F0D1738: -/* 106268 7F0D1738 112A0003 */ beq $t1, $t2, .L7F0D1748 -/* 10626C 7F0D173C 8FAB002C */ lw $t3, 0x2c($sp) -/* 106270 7F0D1740 10000004 */ b .L7F0D1754 -/* 106274 7F0D1744 00001025 */ move $v0, $zero -.L7F0D1748: -/* 106278 7F0D1748 8FAC0038 */ lw $t4, 0x38($sp) -/* 10627C 7F0D174C 24020001 */ li $v0, 1 -/* 106280 7F0D1750 AD8B0000 */ sw $t3, ($t4) -.L7F0D1754: -/* 106284 7F0D1754 8FBF0014 */ lw $ra, 0x14($sp) -/* 106288 7F0D1758 27BD0030 */ addiu $sp, $sp, 0x30 -/* 10628C 7F0D175C 03E00008 */ jr $ra -/* 106290 7F0D1760 00000000 */ nop -) -#endif - - - - - - -u32 response_indyrescmd_1_4_2(u8 *response) -{ - post_indyrescmd_istype1_correctsize(0x18,0x18); - post_indyrescmd_istype4_correctvalue(0x14,0x14,response); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - -u32 response_indyrescmd_1_6_2(u8 *response1,u8 *response2) -{ - post_indyrescmd_istype1_correctsize(0x1c,0x1c); - post_indyrescmd_istype6_correctvalue(0x14,0x14,response1,response2); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - -u32 response_indyrescmd_1_8_2(u8 *response1,u8 *response2,u32 childsize,u8 *child) -{ - post_indyrescmd_istype1_correctsize(0,0x20); - post_indyrescmd_istype8_correctvalue(0x14,0x14,response1,response2,childsize,child); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - -u32 response_indyrescmd_1_A_2(u8 *param_1) -{ - post_indyrescmd_istype1_correctsize(0x18,0x18); - post_indyrescmd_istypeA_correctvalue(0x14,0x14,param_1); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - -u32 response_indyrescmd_1_10_2(u32 *param_1,u32 *param_2,u32 *param_3) -{ - post_indyrescmd_istype1_correctsize(0x20,0x20); - post_indyrescmd_istype10_correctvalue(0x14,0x14,param_1,param_2,param_3); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - -u32 response_indyrescmd_1_E_2(u8 *response) -{ - post_indyrescmd_istype1_correctsize(0x18,0x18); - post_indyrescmd_istypeE_correctvalue(0x14,0x14,response); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - -u32 response_indyrescmd_1_C_2(u8 *response) -{ - post_indyrescmd_istype1_correctsize(0x18,0x18); - post_indyrescmd_istypeC_correctvalue(0x14,0x14,response); - post_indyrescmd_istype2_correctvalue(0,0); - return 1; -} - - - - -#ifdef NONMATCHING -u32 response_indyrescmd_curr_matches_expected(int readsize,int writesize) -{ - u32 ret; - struct indy_resource_entry cmd; - - post_indyrescmd_read_command(&cmd,0x14); - if (cmd.resourceID == 0x9abf1623) { - if ((readsize == 0) || (cmd.readsize == readsize)) { - if (writesize == 0) { - ret = 1; - } - else { - if (cmd.writesize == writesize) { - ret = 1; - } - else { - ret = 0; - } - } - } - else { - ret = 0; - } - } - else { - ret = 0; - } - return ret; -} -#else -GLOBAL_ASM( -.text -glabel response_indyrescmd_curr_matches_expected -/* 1064C8 7F0D1998 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 1064CC 7F0D199C AFBF0014 */ sw $ra, 0x14($sp) -/* 1064D0 7F0D19A0 AFA40030 */ sw $a0, 0x30($sp) -/* 1064D4 7F0D19A4 AFA50034 */ sw $a1, 0x34($sp) -/* 1064D8 7F0D19A8 24050014 */ li $a1, 20 -/* 1064DC 7F0D19AC 0FC343D3 */ jal post_indyrescmd_read_command -/* 1064E0 7F0D19B0 27A4001C */ addiu $a0, $sp, 0x1c -/* 1064E4 7F0D19B4 8FAE001C */ lw $t6, 0x1c($sp) -/* 1064E8 7F0D19B8 3C019ABF */ lui $at, (0x9ABF1623 >> 16) # lui $at, 0x9abf -/* 1064EC 7F0D19BC 34211623 */ ori $at, (0x9ABF1623 & 0xFFFF) # ori $at, $at, 0x1623 -/* 1064F0 7F0D19C0 8FA20030 */ lw $v0, 0x30($sp) -/* 1064F4 7F0D19C4 11C10003 */ beq $t6, $at, .L7F0D19D4 -/* 1064F8 7F0D19C8 8FA30034 */ lw $v1, 0x34($sp) -/* 1064FC 7F0D19CC 1000000E */ b .L7F0D1A08 -/* 106500 7F0D19D0 00001025 */ move $v0, $zero -.L7F0D19D4: -/* 106504 7F0D19D4 10400005 */ beqz $v0, .L7F0D19EC -/* 106508 7F0D19D8 8FAF0028 */ lw $t7, 0x28($sp) -/* 10650C 7F0D19DC 11E20003 */ beq $t7, $v0, .L7F0D19EC -/* 106510 7F0D19E0 00000000 */ nop -/* 106514 7F0D19E4 10000008 */ b .L7F0D1A08 -/* 106518 7F0D19E8 00001025 */ move $v0, $zero -.L7F0D19EC: -/* 10651C 7F0D19EC 10600005 */ beqz $v1, .L7F0D1A04 -/* 106520 7F0D19F0 8FB8002C */ lw $t8, 0x2c($sp) -/* 106524 7F0D19F4 53030004 */ beql $t8, $v1, .L7F0D1A08 -/* 106528 7F0D19F8 24020001 */ li $v0, 1 -/* 10652C 7F0D19FC 10000002 */ b .L7F0D1A08 -/* 106530 7F0D1A00 00001025 */ move $v0, $zero -.L7F0D1A04: -/* 106534 7F0D1A04 24020001 */ li $v0, 1 -.L7F0D1A08: -/* 106538 7F0D1A08 8FBF0014 */ lw $ra, 0x14($sp) -/* 10653C 7F0D1A0C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 106540 7F0D1A10 03E00008 */ jr $ra -/* 106544 7F0D1A14 00000000 */ nop -) -#endif - - - diff --git a/src/game/indy_commands.h b/src/game/indy_commands.h deleted file mode 100644 index 2384e00..0000000 --- a/src/game/indy_commands.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _INDY_COMMANDS_H_ -#define _INDY_COMMANDS_H_ -#include "ultra64.h" - -struct indy_resource_entry { - u32 resourceID; - s32 type; - s32 size; - s32 readsize; - s32 writesize; -}; - -struct indy_resource_entry_type3 { - struct indy_resource_entry entry; - u8 strbuffer[255]; - u32 data; -}; - -struct indy_resource_entry_type4 { - struct indy_resource_entry entry; - u32 data; -}; - -struct indy_resource_entry_type6 { - struct indy_resource_entry entry; - u32 data1; - u32 data2; -}; - -extern s32 indy_ready; - -u32 postindyresourcecommand(struct indy_resource_entry *param_1,u32 param_2); - -#endif diff --git a/src/game/indy_comms.c b/src/game/indy_comms.c deleted file mode 100644 index 8a6770b..0000000 --- a/src/game/indy_comms.c +++ /dev/null @@ -1,276 +0,0 @@ -#include "ultra64.h" -#include "game/indy_commands.h" -#include "game/indy_comms.h" - -s32 init_indy_if_not_ready(void) { - if (indy_ready != 1) - { - indy_ready = 1; - init_indy_if_ready(); - } -} - -void nullsub_48(void) { - return; -} - -void init_indy_if_ready(void) { - if (indy_ready != 0) - { - post_indy__res_cmd_initialize_seq(); - } -} - - -#ifdef NONMATCHING -void load_resource_on_indy(s32 arg1) { - ? sp18; - ? sp1C; - ? sp20; - - // Node 0 - if (indy_ready != 0) - { - // Node 1 - post_indyrescmd_req_filename_size(0x400000); - response_indyrescmd_1_8_2(&sp20, &sp1C, &sp18, arg1); - } - // Node 2 - return; -} -#else -GLOBAL_ASM( -.text -glabel load_resource_on_indy -/* 104ACC 7F0CFF9C 3C0E8005 */ lui $t6, %hi(indy_ready) -/* 104AD0 7F0CFFA0 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6) -/* 104AD4 7F0CFFA4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 104AD8 7F0CFFA8 AFBF0014 */ sw $ra, 0x14($sp) -/* 104ADC 7F0CFFAC 11C00008 */ beqz $t6, .L7F0CFFD0 -/* 104AE0 7F0CFFB0 AFA5002C */ sw $a1, 0x2c($sp) -/* 104AE4 7F0CFFB4 0FC342E9 */ jal post_indyrescmd_req_filename_size -/* 104AE8 7F0CFFB8 3C050040 */ lui $a1, 0x40 -/* 104AEC 7F0CFFBC 27A40020 */ addiu $a0, $sp, 0x20 -/* 104AF0 7F0CFFC0 27A5001C */ addiu $a1, $sp, 0x1c -/* 104AF4 7F0CFFC4 27A60018 */ addiu $a2, $sp, 0x18 -/* 104AF8 7F0CFFC8 0FC345FF */ jal response_indyrescmd_1_8_2 -/* 104AFC 7F0CFFCC 8FA7002C */ lw $a3, 0x2c($sp) -.L7F0CFFD0: -/* 104B00 7F0CFFD0 8FBF0014 */ lw $ra, 0x14($sp) -/* 104B04 7F0CFFD4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 104B08 7F0CFFD8 03E00008 */ jr $ra -/* 104B0C 7F0CFFDC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void indy_send_capture_data(s32 arg1, ? arg2) { - ? sp1C; - - // Node 0 - if (indy_ready != 0) - { - // Node 1 - post_indyrescmd_send_capture_data(arg2, arg1); - response_indyrescmd_1_A_2(&sp1C); - } - // Node 2 - return; -} -#else -GLOBAL_ASM( -.text -glabel indy_send_capture_data -/* 104B10 7F0CFFE0 3C0E8005 */ lui $t6, %hi(indy_ready) -/* 104B14 7F0CFFE4 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6) -/* 104B18 7F0CFFE8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 104B1C 7F0CFFEC AFBF0014 */ sw $ra, 0x14($sp) -/* 104B20 7F0CFFF0 11C00006 */ beqz $t6, .L7F0D000C -/* 104B24 7F0CFFF4 AFA50024 */ sw $a1, 0x24($sp) -/* 104B28 7F0CFFF8 00C02825 */ move $a1, $a2 -/* 104B2C 7F0CFFFC 0FC3431A */ jal post_indyrescmd_send_capture_data -/* 104B30 7F0D0000 8FA60024 */ lw $a2, 0x24($sp) -/* 104B34 7F0D0004 0FC34619 */ jal response_indyrescmd_1_A_2 -/* 104B38 7F0D0008 27A4001C */ addiu $a0, $sp, 0x1c -.L7F0D000C: -/* 104B3C 7F0D000C 8FBF0014 */ lw $ra, 0x14($sp) -/* 104B40 7F0D0010 27BD0020 */ addiu $sp, $sp, 0x20 -/* 104B44 7F0D0014 03E00008 */ jr $ra -/* 104B48 7F0D0018 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void indy_loadfile(void) { - ? sp1C; - ? sp20; - ? sp24; - - // Node 0 - if (indy_ready != 0) - { - // Node 1 - post_indyrescmd_request_ramrom_file(); - response_indyrescmd_1_10_2(&sp24, &sp20, &sp1C); - } - // Node 2 - return; -} -#else -GLOBAL_ASM( -.text -glabel indy_loadfile -/* 104B4C 7F0D001C 3C0E8005 */ lui $t6, %hi(indy_ready) -/* 104B50 7F0D0020 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6) -/* 104B54 7F0D0024 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 104B58 7F0D0028 AFBF0014 */ sw $ra, 0x14($sp) -/* 104B5C 7F0D002C 51C00008 */ beql $t6, $zero, .L7F0D0050 -/* 104B60 7F0D0030 8FBF0014 */ lw $ra, 0x14($sp) -/* 104B64 7F0D0034 0FC34346 */ jal post_indyrescmd_request_ramrom_file -/* 104B68 7F0D0038 00000000 */ nop -/* 104B6C 7F0D003C 27A40024 */ addiu $a0, $sp, 0x24 -/* 104B70 7F0D0040 27A50020 */ addiu $a1, $sp, 0x20 -/* 104B74 7F0D0044 0FC3462B */ jal response_indyrescmd_1_10_2 -/* 104B78 7F0D0048 27A6001C */ addiu $a2, $sp, 0x1c -/* 104B7C 7F0D004C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0D0050: -/* 104B80 7F0D0050 27BD0028 */ addiu $sp, $sp, 0x28 -/* 104B84 7F0D0054 03E00008 */ jr $ra -/* 104B88 7F0D0058 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_file_exported(s32 arg1, ? arg2) { - ? sp1C; - - // Node 0 - if (indy_ready != 0) - { - // Node 1 - post_indyrescmd_game_prof_sendfile(arg2, arg1); - response_indyrescmd_1_E_2(&sp1C); - } - // Node 2 - return; -} -#else -GLOBAL_ASM( -.text -glabel check_file_exported -/* 104B8C 7F0D005C 3C0E8005 */ lui $t6, %hi(indy_ready) -/* 104B90 7F0D0060 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6) -/* 104B94 7F0D0064 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 104B98 7F0D0068 AFBF0014 */ sw $ra, 0x14($sp) -/* 104B9C 7F0D006C 11C00006 */ beqz $t6, .L7F0D0088 -/* 104BA0 7F0D0070 AFA50024 */ sw $a1, 0x24($sp) -/* 104BA4 7F0D0074 00C02825 */ move $a1, $a2 -/* 104BA8 7F0D0078 0FC34374 */ jal post_indyrescmd_game_prof_sendfile -/* 104BAC 7F0D007C 8FA60024 */ lw $a2, 0x24($sp) -/* 104BB0 7F0D0080 0FC34642 */ jal response_indyrescmd_1_E_2 -/* 104BB4 7F0D0084 27A4001C */ addiu $a0, $sp, 0x1c -.L7F0D0088: -/* 104BB8 7F0D0088 8FBF0014 */ lw $ra, 0x14($sp) -/* 104BBC 7F0D008C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 104BC0 7F0D0090 03E00008 */ jr $ra -/* 104BC4 7F0D0094 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_file_found_on_indy(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_file_found_on_indy -/* 104BC8 7F0D0098 3C0E8005 */ lui $t6, %hi(indy_ready) -/* 104BCC 7F0D009C 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6) -/* 104BD0 7F0D00A0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 104BD4 7F0D00A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 104BD8 7F0D00A8 15C00003 */ bnez $t6, .L7F0D00B8 -/* 104BDC 7F0D00AC AFA50024 */ sw $a1, 0x24($sp) -/* 104BE0 7F0D00B0 10000007 */ b .L7F0D00D0 -/* 104BE4 7F0D00B4 00001025 */ move $v0, $zero -.L7F0D00B8: -/* 104BE8 7F0D00B8 0FC342C3 */ jal post_indyrescmd_game_printf_send -/* 104BEC 7F0D00BC 00000000 */ nop -/* 104BF0 7F0D00C0 27A4001C */ addiu $a0, $sp, 0x1c -/* 104BF4 7F0D00C4 0FC345EB */ jal response_indyrescmd_1_6_2 -/* 104BF8 7F0D00C8 8FA50024 */ lw $a1, 0x24($sp) -/* 104BFC 7F0D00CC 8FA2001C */ lw $v0, 0x1c($sp) -.L7F0D00D0: -/* 104C00 7F0D00D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 104C04 7F0D00D4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 104C08 7F0D00D8 03E00008 */ jr $ra -/* 104C0C 7F0D00DC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void response_from_command_string(void) { - -} -#else -GLOBAL_ASM( -.text -glabel response_from_command_string -/* 104C10 7F0D00E0 3C0E8005 */ lui $t6, %hi(indy_ready) -/* 104C14 7F0D00E4 8DCEEAC8 */ lw $t6, %lo(indy_ready)($t6) -/* 104C18 7F0D00E8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 104C1C 7F0D00EC AFBF0014 */ sw $ra, 0x14($sp) -/* 104C20 7F0D00F0 15C00003 */ bnez $t6, .L7F0D0100 -/* 104C24 7F0D00F4 00000000 */ nop -/* 104C28 7F0D00F8 10000006 */ b .L7F0D0114 -/* 104C2C 7F0D00FC 00001025 */ move $v0, $zero -.L7F0D0100: -/* 104C30 7F0D0100 0FC3439D */ jal post_indyrescmd_1_B_2 -/* 104C34 7F0D0104 00000000 */ nop -/* 104C38 7F0D0108 0FC34654 */ jal response_indyrescmd_1_C_2 -/* 104C3C 7F0D010C 27A4001C */ addiu $a0, $sp, 0x1c -/* 104C40 7F0D0110 8FA2001C */ lw $v0, 0x1c($sp) -.L7F0D0114: -/* 104C44 7F0D0114 8FBF0014 */ lw $ra, 0x14($sp) -/* 104C48 7F0D0118 27BD0020 */ addiu $sp, $sp, 0x20 -/* 104C4C 7F0D011C 03E00008 */ jr $ra -/* 104C50 7F0D0120 00000000 */ nop -) -#endif - - -void sub_GAME_7F0D0124(void) { - if (indy_ready != 0) - { - rmon_debug_returns_neg_1(); - } - return; -} - -void send_indy_close_port_cmd(void) { - response_from_command_string("sleep 5; /etc/killall ghost gload"); -} - - - - diff --git a/src/game/indy_comms.h b/src/game/indy_comms.h deleted file mode 100644 index 8a13386..0000000 --- a/src/game/indy_comms.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _INDY_COMMS_H_ -#define _INDY_COMMS_H_ -#include "ultra64.h" - -s32 init_indy_if_not_ready(void); -void init_indy_if_ready(void); -void load_resource_on_indy(s32 arg1); - -#endif diff --git a/src/game/initBondDATA.c b/src/game/initBondDATA.c deleted file mode 100644 index 5ea39df..0000000 --- a/src/game/initBondDATA.c +++ /dev/null @@ -1,265 +0,0 @@ -#include "ultra64.h" -#include "game/initBondDATA.h" - -struct BONDdata_item_control_blocks BONDdata_item_control_blocks_initdata = { -0, 0xFFFFFFFF, 0, 0x100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0, -0, 0, 0, 1.0, 0, 0, 0, 0, 0, 0, -1.0, 0, 1.0, 0, 0, 0, 0, 0, 0, -19.999996, 0, -19.999996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.0, 0, 0, -1.0, 0, 0, --1.0, 0, 0, -1.0, 0, 1.0, 0, 0, 1.0, 0, 0, 1.0, 0, 0, 1.0, 0, 0, 0, 1.0, 1.0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1000.0, 0, 0, 0, 0, 0xFF000000, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0 -}; - - - - - - - -#ifdef NONMATCHING -void init_player_BONDdata_stats(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8004F0E0 -.word 0x3f666666 -glabel fl_neg_pi -.word 0xc0490fdb -.text -glabel init_player_BONDdata_stats -/* 039C00 7F0050D0 27BDFC30 */ addiu $sp, $sp, -0x3d0 -/* 039C04 7F0050D4 3C0F8003 */ lui $t7, %hi(BONDdata_item_control_blocks_initdata) -/* 039C08 7F0050D8 25EFA3D0 */ addiu $t7, %lo(BONDdata_item_control_blocks_initdata) # addiu $t7, $t7, -0x5c30 -/* 039C0C 7F0050DC AFBF001C */ sw $ra, 0x1c($sp) -/* 039C10 7F0050E0 AFB00018 */ sw $s0, 0x18($sp) -/* 039C14 7F0050E4 25E803A8 */ addiu $t0, $t7, 0x3a8 -/* 039C18 7F0050E8 27AE0024 */ addiu $t6, $sp, 0x24 -.L7F0050EC: -/* 039C1C 7F0050EC 8DE10000 */ lw $at, ($t7) -/* 039C20 7F0050F0 25EF000C */ addiu $t7, $t7, 0xc -/* 039C24 7F0050F4 25CE000C */ addiu $t6, $t6, 0xc -/* 039C28 7F0050F8 ADC1FFF4 */ sw $at, -0xc($t6) -/* 039C2C 7F0050FC 8DE1FFF8 */ lw $at, -8($t7) -/* 039C30 7F005100 ADC1FFF8 */ sw $at, -8($t6) -/* 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_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 -/* 039C58 7F005128 8E090000 */ lw $t1, ($s0) -/* 039C5C 7F00512C 0FC26919 */ jal get_num_players -/* 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_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) -.L7F005154: -/* 039C84 7F005154 8E0B0000 */ lw $t3, ($s0) -/* 039C88 7F005158 2405FFFF */ li $a1, -1 -/* 039C8C 7F00515C 27A30024 */ addiu $v1, $sp, 0x24 -/* 039C90 7F005160 AD6007F8 */ sw $zero, 0x7f8($t3) -/* 039C94 7F005164 8E0C0000 */ lw $t4, ($s0) -/* 039C98 7F005168 246B03A8 */ addiu $t3, $v1, 0x3a8 -/* 039C9C 7F00516C 00001025 */ move $v0, $zero -/* 039CA0 7F005170 AD8007FC */ sw $zero, 0x7fc($t4) -/* 039CA4 7F005174 8E0D0000 */ lw $t5, ($s0) -/* 039CA8 7F005178 00606025 */ move $t4, $v1 -/* 039CAC 7F00517C ADA00800 */ sw $zero, 0x800($t5) -/* 039CB0 7F005180 8E190000 */ lw $t9, ($s0) -/* 039CB4 7F005184 AF200804 */ sw $zero, 0x804($t9) -/* 039CB8 7F005188 8E180000 */ lw $t8, ($s0) -/* 039CBC 7F00518C AF052A44 */ sw $a1, 0x2a44($t8) -/* 039CC0 7F005190 8E080000 */ lw $t0, ($s0) -/* 039CC4 7F005194 247803A8 */ addiu $t8, $v1, 0x3a8 -/* 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(pPlayersPerm) -/* 039CD8 7F0051A8 ADE02A50 */ sw $zero, 0x2a50($t7) -/* 039CDC 7F0051AC 8E0E0000 */ lw $t6, ($s0) -/* 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: -/* 039CEC 7F0051BC 8D810000 */ lw $at, ($t4) -/* 039CF0 7F0051C0 258C000C */ addiu $t4, $t4, 0xc -/* 039CF4 7F0051C4 2529000C */ addiu $t1, $t1, 0xc -/* 039CF8 7F0051C8 AD210864 */ sw $at, 0x864($t1) -/* 039CFC 7F0051CC 8D81FFF8 */ lw $at, -8($t4) -/* 039D00 7F0051D0 AD210868 */ sw $at, 0x868($t1) -/* 039D04 7F0051D4 8D81FFFC */ lw $at, -4($t4) -/* 039D08 7F0051D8 158BFFF8 */ bne $t4, $t3, .L7F0051BC -/* 039D0C 7F0051DC AD21086C */ sw $at, 0x86c($t1) -/* 039D10 7F0051E0 8E0D0000 */ lw $t5, ($s0) -.L7F0051E4: -/* 039D14 7F0051E4 8D010000 */ lw $at, ($t0) -/* 039D18 7F0051E8 2508000C */ addiu $t0, $t0, 0xc -/* 039D1C 7F0051EC 25AD000C */ addiu $t5, $t5, 0xc -/* 039D20 7F0051F0 ADA10C0C */ sw $at, 0xc0c($t5) -/* 039D24 7F0051F4 8D01FFF8 */ lw $at, -8($t0) -/* 039D28 7F0051F8 ADA10C10 */ sw $at, 0xc10($t5) -/* 039D2C 7F0051FC 8D01FFFC */ lw $at, -4($t0) -/* 039D30 7F005200 1518FFF8 */ bne $t0, $t8, .L7F0051E4 -/* 039D34 7F005204 ADA10C14 */ sw $at, 0xc14($t5) -.L7F005208: -/* 039D38 7F005208 8E0F0000 */ lw $t7, ($s0) -/* 039D3C 7F00520C 01E27021 */ addu $t6, $t7, $v0 -/* 039D40 7F005210 24420004 */ addiu $v0, $v0, 4 -/* 039D44 7F005214 28410078 */ slti $at, $v0, 0x78 -/* 039D48 7F005218 1420FFFB */ bnez $at, .L7F005208 -/* 039D4C 7F00521C ADC01130 */ sw $zero, 0x1130($t6) -/* 039D50 7F005220 8C6A0000 */ lw $t2, ($v1) -/* 039D54 7F005224 24040003 */ li $a0, 3 -/* 039D58 7F005228 00041080 */ sll $v0, $a0, 2 -/* 039D5C 7F00522C AD400000 */ sw $zero, ($t2) -/* 039D60 7F005230 8C6B0000 */ lw $t3, ($v1) -/* 039D64 7F005234 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 039D68 7F005238 44811000 */ mtc1 $at, $f2 -/* 039D6C 7F00523C AD600004 */ sw $zero, 4($t3) -/* 039D70 7F005240 8C6C0000 */ lw $t4, ($v1) -/* 039D74 7F005244 3C018005 */ lui $at, %hi(D_8004F0E0) -/* 039D78 7F005248 44800000 */ mtc1 $zero, $f0 -/* 039D7C 7F00524C AD800008 */ sw $zero, 8($t4) -/* 039D80 7F005250 8C690000 */ lw $t1, ($v1) -/* 039D84 7F005254 00002025 */ move $a0, $zero -/* 039D88 7F005258 0122C821 */ addu $t9, $t1, $v0 -/* 039D8C 7F00525C AF200000 */ sw $zero, ($t9) -/* 039D90 7F005260 8C780000 */ lw $t8, ($v1) -/* 039D94 7F005264 03024021 */ addu $t0, $t8, $v0 -/* 039D98 7F005268 AD000004 */ sw $zero, 4($t0) -/* 039D9C 7F00526C 8C6D0000 */ lw $t5, ($v1) -/* 039DA0 7F005270 01A27821 */ addu $t7, $t5, $v0 -/* 039DA4 7F005274 ADE00008 */ sw $zero, 8($t7) -/* 039DA8 7F005278 8C6E0000 */ lw $t6, ($v1) -/* 039DAC 7F00527C 01C25021 */ addu $t2, $t6, $v0 -/* 039DB0 7F005280 AD40000C */ sw $zero, 0xc($t2) -/* 039DB4 7F005284 8C6B0000 */ lw $t3, ($v1) -/* 039DB8 7F005288 C42CF0E0 */ lwc1 $f12, %lo(D_8004F0E0)($at) -/* 039DBC 7F00528C 240200FF */ li $v0, 255 -/* 039DC0 7F005290 AD60006C */ sw $zero, 0x6c($t3) -/* 039DC4 7F005294 8C6C0000 */ lw $t4, ($v1) -/* 039DC8 7F005298 3C018005 */ lui $at, %hi(fl_neg_pi) -/* 039DCC 7F00529C AD80001C */ sw $zero, 0x1c($t4) -/* 039DD0 7F0052A0 8C690000 */ lw $t1, ($v1) -/* 039DD4 7F0052A4 AD200020 */ sw $zero, 0x20($t1) -/* 039DD8 7F0052A8 8E190000 */ lw $t9, ($s0) -/* 039DDC 7F0052AC AF2029D8 */ sw $zero, 0x29d8($t9) -/* 039DE0 7F0052B0 8E180000 */ lw $t8, ($s0) -/* 039DE4 7F0052B4 AF0029DC */ sw $zero, 0x29dc($t8) -/* 039DE8 7F0052B8 8E080000 */ lw $t0, ($s0) -/* 039DEC 7F0052BC E5020FC0 */ swc1 $f2, 0xfc0($t0) -/* 039DF0 7F0052C0 8E0D0000 */ lw $t5, ($s0) -/* 039DF4 7F0052C4 E5A20FC4 */ swc1 $f2, 0xfc4($t5) -/* 039DF8 7F0052C8 8E0F0000 */ lw $t7, ($s0) -/* 039DFC 7F0052CC 240D0001 */ li $t5, 1 -/* 039E00 7F0052D0 ADE00FC8 */ sw $zero, 0xfc8($t7) -/* 039E04 7F0052D4 8E0E0000 */ lw $t6, ($s0) -/* 039E08 7F0052D8 ADC00FCC */ sw $zero, 0xfcc($t6) -/* 039E0C 7F0052DC 8E0A0000 */ lw $t2, ($s0) -/* 039E10 7F0052E0 AD400FD0 */ sw $zero, 0xfd0($t2) -/* 039E14 7F0052E4 8E0B0000 */ lw $t3, ($s0) -/* 039E18 7F0052E8 AD600FD4 */ sw $zero, 0xfd4($t3) -/* 039E1C 7F0052EC 8E0C0000 */ lw $t4, ($s0) -/* 039E20 7F0052F0 AD800FD8 */ sw $zero, 0xfd8($t4) -/* 039E24 7F0052F4 8E090000 */ lw $t1, ($s0) -/* 039E28 7F0052F8 A1220FDC */ sb $v0, 0xfdc($t1) -/* 039E2C 7F0052FC 8E190000 */ lw $t9, ($s0) -/* 039E30 7F005300 A3220FDD */ sb $v0, 0xfdd($t9) -/* 039E34 7F005304 8E180000 */ lw $t8, ($s0) -/* 039E38 7F005308 A3020FDE */ sb $v0, 0xfde($t8) -/* 039E3C 7F00530C 8E080000 */ lw $t0, ($s0) -/* 039E40 7F005310 A1000FDF */ sb $zero, 0xfdf($t0) -/* 039E44 7F005314 8E0F0000 */ lw $t7, ($s0) -/* 039E48 7F005318 ADED0FE0 */ sw $t5, 0xfe0($t7) -/* 039E4C 7F00531C 8E0E0000 */ lw $t6, ($s0) -/* 039E50 7F005320 ADC00FE4 */ sw $zero, 0xfe4($t6) -/* 039E54 7F005324 8E0A0000 */ lw $t2, ($s0) -/* 039E58 7F005328 E5400FE8 */ swc1 $f0, 0xfe8($t2) -/* 039E5C 7F00532C 8E0B0000 */ lw $t3, ($s0) -/* 039E60 7F005330 E5600FEC */ swc1 $f0, 0xfec($t3) -/* 039E64 7F005334 8E0C0000 */ lw $t4, ($s0) -/* 039E68 7F005338 E5800FF0 */ swc1 $f0, 0xff0($t4) -/* 039E6C 7F00533C 8E090000 */ lw $t1, ($s0) -/* 039E70 7F005340 E5200FF4 */ swc1 $f0, 0xff4($t1) -/* 039E74 7F005344 8E190000 */ lw $t9, ($s0) -/* 039E78 7F005348 E72C0FF8 */ swc1 $f12, 0xff8($t9) -/* 039E7C 7F00534C 8E180000 */ lw $t8, ($s0) -/* 039E80 7F005350 E7000FFC */ swc1 $f0, 0xffc($t8) -/* 039E84 7F005354 8E080000 */ lw $t0, ($s0) -/* 039E88 7F005358 E5001000 */ swc1 $f0, 0x1000($t0) -/* 039E8C 7F00535C 8E0D0000 */ lw $t5, ($s0) -/* 039E90 7F005360 E5A01004 */ swc1 $f0, 0x1004($t5) -/* 039E94 7F005364 8E0F0000 */ lw $t7, ($s0) -/* 039E98 7F005368 E5E01008 */ swc1 $f0, 0x1008($t7) -/* 039E9C 7F00536C 8E0E0000 */ lw $t6, ($s0) -/* 039EA0 7F005370 E5CC100C */ swc1 $f12, 0x100c($t6) -/* 039EA4 7F005374 8E0A0000 */ lw $t2, ($s0) -/* 039EA8 7F005378 E5401010 */ swc1 $f0, 0x1010($t2) -/* 039EAC 7F00537C 8E0B0000 */ lw $t3, ($s0) -/* 039EB0 7F005380 C424F0E4 */ lwc1 $f4, %lo(fl_neg_pi)($at) -/* 039EB4 7F005384 E5641014 */ swc1 $f4, 0x1014($t3) -/* 039EB8 7F005388 8E0C0000 */ lw $t4, ($s0) -/* 039EBC 7F00538C E5801018 */ swc1 $f0, 0x1018($t4) -/* 039EC0 7F005390 8E090000 */ lw $t1, ($s0) -/* 039EC4 7F005394 AD201060 */ sw $zero, 0x1060($t1) -/* 039EC8 7F005398 8E190000 */ lw $t9, ($s0) -/* 039ECC 7F00539C AF251270 */ sw $a1, 0x1270($t9) -/* 039ED0 7F0053A0 8E180000 */ lw $t8, ($s0) -/* 039ED4 7F0053A4 E700106C */ swc1 $f0, 0x106c($t8) -/* 039ED8 7F0053A8 8E080000 */ lw $t0, ($s0) -/* 039EDC 7F0053AC E5001070 */ swc1 $f0, 0x1070($t0) -/* 039EE0 7F0053B0 8E0D0000 */ lw $t5, ($s0) -/* 039EE4 7F0053B4 E5A01074 */ swc1 $f0, 0x1074($t5) -/* 039EE8 7F0053B8 8E0F0000 */ lw $t7, ($s0) -/* 039EEC 7F0053BC ADE01078 */ sw $zero, 0x1078($t7) -/* 039EF0 7F0053C0 8E0E0000 */ lw $t6, ($s0) -/* 039EF4 7F0053C4 E5C0107C */ swc1 $f0, 0x107c($t6) -/* 039EF8 7F0053C8 8E0A0000 */ lw $t2, ($s0) -/* 039EFC 7F0053CC 0FC17260 */ jal unknown_takes_playerhand -/* 039F00 7F0053D0 E5401080 */ swc1 $f0, 0x1080($t2) -/* 039F04 7F0053D4 0FC17260 */ jal unknown_takes_playerhand -/* 039F08 7F0053D8 00002025 */ move $a0, $zero -/* 039F0C 7F0053DC 0FC17260 */ jal unknown_takes_playerhand -/* 039F10 7F0053E0 00002025 */ move $a0, $zero -/* 039F14 7F0053E4 0FC17260 */ jal unknown_takes_playerhand -/* 039F18 7F0053E8 24040001 */ li $a0, 1 -/* 039F1C 7F0053EC 0FC17260 */ jal unknown_takes_playerhand -/* 039F20 7F0053F0 24040001 */ li $a0, 1 -/* 039F24 7F0053F4 0FC17260 */ jal unknown_takes_playerhand -/* 039F28 7F0053F8 24040001 */ li $a0, 1 -/* 039F2C 7F0053FC 8E0B0000 */ lw $t3, ($s0) -/* 039F30 7F005400 240C0002 */ li $t4, 2 -/* 039F34 7F005404 3C018003 */ lui $at, %hi(GsniperrifleZ_stats+52) -/* 039F38 7F005408 AD601064 */ sw $zero, 0x1064($t3) -/* 039F3C 7F00540C 8E090000 */ lw $t1, ($s0) -/* 039F40 7F005410 AD2C1128 */ sw $t4, 0x1128($t1) -/* 039F44 7F005414 8E190000 */ lw $t9, ($s0) -/* 039F48 7F005418 C4262C38 */ lwc1 $f6, %lo(GsniperrifleZ_stats+52)($at) -/* 039F4C 7F00541C 3C018003 */ lui $at, %hi(GcameraZ_stats+52) -/* 039F50 7F005420 E7261084 */ swc1 $f6, 0x1084($t9) -/* 039F54 7F005424 8E180000 */ lw $t8, ($s0) -/* 039F58 7F005428 C42836B8 */ lwc1 $f8, %lo(GcameraZ_stats+52)($at) -/* 039F5C 7F00542C E7081088 */ swc1 $f8, 0x1088($t8) -/* 039F60 7F005430 8FBF001C */ lw $ra, 0x1c($sp) -/* 039F64 7F005434 8FB00018 */ lw $s0, 0x18($sp) -/* 039F68 7F005438 27BD03D0 */ addiu $sp, $sp, 0x3d0 -/* 039F6C 7F00543C 03E00008 */ jr $ra -/* 039F70 7F005440 00000000 */ nop -) -#endif - diff --git a/src/game/initBondDATA.h b/src/game/initBondDATA.h deleted file mode 100644 index 5602d67..0000000 --- a/src/game/initBondDATA.h +++ /dev/null @@ -1,243 +0,0 @@ -#ifndef _INITBONDDATA_H_ -#define _INITBONDDATA_H_ -#include "ultra64.h" - -struct BONDdata_item_control_blocks { - int BONDdata_item_control_blocks_initdata; - int field_4; - int field_8; - int field_C; - int field_10; - int field_14; - int field_18; - int field_1C; - int field_20; - int field_24; - int field_28; - int field_2C; - int field_30; - int field_34; - int field_38; - int field_3C; - int field_40; - int field_44; - int field_48; - int field_4C; - int field_50; - int field_54; - int field_58; - int field_5C; - int field_60; - int field_64; - int field_68; - int field_6C; - int field_70; - int field_74; - int field_78; - float field_7C; - int field_80; - int field_84; - int field_88; - int field_8C; - float field_90; - int field_94; - int field_98; - int field_9C; - int field_A0; - float field_A4; - int field_A8; - int field_AC; - int field_B0; - int field_B4; - float field_B8; - int field_BC; - int field_C0; - int field_C4; - int field_C8; - int field_CC; - int field_D0; - float field_D4; - int field_D8; - float field_DC; - int field_E0; - int field_E4; - int field_E8; - int field_EC; - int field_F0; - int field_F4; - float field_F8; - int field_FC; - float field_100; - int field_104; - int field_108; - int field_10C; - int field_110; - int field_114; - int field_118; - int field_11C; - int field_120; - int field_124; - int field_128; - int field_12C; - int field_130; - int field_134; - int field_138; - int field_13C; - float field_140; - int field_144; - int field_148; - float field_14C; - int field_150; - int field_154; - float field_158; - int field_15C; - int field_160; - float field_164; - int field_168; - float field_16C; - int field_170; - int field_174; - float field_178; - int field_17C; - int field_180; - float field_184; - int field_188; - int field_18C; - float field_190; - int field_194; - int field_198; - int field_19C; - float field_1A0; - float field_1A4; - int field_1A8; - int field_1AC; - int field_1B0; - int field_1B4; - int field_1B8; - int field_1BC; - int field_1C0; - int field_1C4; - int field_1C8; - int field_1CC; - float field_1D0; - int field_1D4; - int field_1D8; - int field_1DC; - int field_1E0; - int field_1E4; - int field_1E8; - int field_1EC; - int field_1F0; - int field_1F4; - int field_1F8; - int field_1FC; - int field_200; - int field_204; - int field_208; - int field_20C; - int field_210; - int field_214; - int field_218; - int field_21C; - int field_220; - int field_224; - int field_228; - int field_22C; - int field_230; - int field_234; - int field_238; - int field_23C; - int field_240; - int field_244; - int field_248; - int field_24C; - int field_250; - int field_254; - int field_258; - int field_25C; - int field_260; - int field_264; - int field_268; - int field_26C; - int field_270; - int field_274; - int field_278; - int field_27C; - int field_280; - int field_284; - int field_288; - int field_28C; - int field_290; - int field_294; - int field_298; - int field_29C; - int field_2A0; - int field_2A4; - int field_2A8; - int field_2AC; - int field_2B0; - int field_2B4; - int field_2B8; - int field_2BC; - int field_2C0; - int field_2C4; - int field_2C8; - int field_2CC; - int field_2D0; - int field_2D4; - int field_2D8; - int field_2DC; - int field_2E0; - int field_2E4; - int field_2E8; - int field_2EC; - int field_2F0; - int field_2F4; - int field_2F8; - int field_2FC; - int field_300; - int field_304; - int field_308; - int field_30C; - int field_310; - int field_314; - int field_318; - int field_31C; - int field_320; - int field_324; - int field_328; - int field_32C; - int field_330; - int field_334; - int field_338; - int field_33C; - int field_340; - int field_344; - int field_348; - int field_34C; - int field_350; - int field_354; - int field_358; - int field_35C; - int field_360; - int field_364; - int field_368; - int field_36C; - int field_370; - int field_374; - int field_378; - int field_37C; - int field_380; - int field_384; - int field_388; - int field_38C; - int field_390; - int field_394; - int field_398; - int field_39C; - int field_3A0; - int field_3A4; - int anonymous_0; -}; - -#endif diff --git a/src/game/initBondDATAdefaults.c b/src/game/initBondDATAdefaults.c deleted file mode 100644 index f19baa4..0000000 --- a/src/game/initBondDATAdefaults.c +++ /dev/null @@ -1,663 +0,0 @@ -#include "ultra64.h" - - -//data -s32 D_8002A790[] = { 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0062C0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0062C0 -/* 03ADF0 7F0062C0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 03ADF4 7F0062C4 AFB30028 */ sw $s3, 0x28($sp) -/* 03ADF8 7F0062C8 AFB20024 */ sw $s2, 0x24($sp) -/* 03ADFC 7F0062CC AFB10020 */ sw $s1, 0x20($sp) -/* 03AE00 7F0062D0 AFB0001C */ sw $s0, 0x1c($sp) -/* 03AE04 7F0062D4 AFBF0034 */ sw $ra, 0x34($sp) -/* 03AE08 7F0062D8 AFB50030 */ sw $s5, 0x30($sp) -/* 03AE0C 7F0062DC AFB4002C */ sw $s4, 0x2c($sp) -/* 03AE10 7F0062E0 00A6082A */ slt $at, $a1, $a2 -/* 03AE14 7F0062E4 00E08025 */ move $s0, $a3 -/* 03AE18 7F0062E8 00A08825 */ move $s1, $a1 -/* 03AE1C 7F0062EC 00C09025 */ move $s2, $a2 -/* 03AE20 7F0062F0 00809825 */ move $s3, $a0 -/* 03AE24 7F0062F4 ACE00000 */ sw $zero, ($a3) -/* 03AE28 7F0062F8 ACE00004 */ sw $zero, 4($a3) -/* 03AE2C 7F0062FC 1020001A */ beqz $at, .L7F006368 -/* 03AE30 7F006300 ACE00008 */ sw $zero, 8($a3) -/* 03AE34 7F006304 3C148004 */ lui $s4, %hi(model_guard_character) -/* 03AE38 7F006308 2694D400 */ addiu $s4, %lo(model_guard_character) # addiu $s4, $s4, -0x2c00 -/* 03AE3C 7F00630C 27B50040 */ addiu $s5, $sp, 0x40 -.L7F006310: -/* 03AE40 7F006310 00002025 */ move $a0, $zero -/* 03AE44 7F006314 00002825 */ move $a1, $zero -/* 03AE48 7F006318 02803025 */ move $a2, $s4 -/* 03AE4C 7F00631C 02603825 */ move $a3, $s3 -/* 03AE50 7F006320 AFB10010 */ sw $s1, 0x10($sp) -/* 03AE54 7F006324 0FC1B4B9 */ jal sub_GAME_7F06D2E4 -/* 03AE58 7F006328 AFB50014 */ sw $s5, 0x14($sp) -/* 03AE5C 7F00632C 8E0E0000 */ lw $t6, ($s0) -/* 03AE60 7F006330 87AF0040 */ lh $t7, 0x40($sp) -/* 03AE64 7F006334 8E190004 */ lw $t9, 4($s0) -/* 03AE68 7F006338 8E0A0008 */ lw $t2, 8($s0) -/* 03AE6C 7F00633C 01CFC021 */ addu $t8, $t6, $t7 -/* 03AE70 7F006340 AE180000 */ sw $t8, ($s0) -/* 03AE74 7F006344 87A80042 */ lh $t0, 0x42($sp) -/* 03AE78 7F006348 26310001 */ addiu $s1, $s1, 1 -/* 03AE7C 7F00634C 0232082A */ slt $at, $s1, $s2 -/* 03AE80 7F006350 03284821 */ addu $t1, $t9, $t0 -/* 03AE84 7F006354 AE090004 */ sw $t1, 4($s0) -/* 03AE88 7F006358 87AB0044 */ lh $t3, 0x44($sp) -/* 03AE8C 7F00635C 014B6021 */ addu $t4, $t2, $t3 -/* 03AE90 7F006360 1420FFEB */ bnez $at, .L7F006310 -/* 03AE94 7F006364 AE0C0008 */ sw $t4, 8($s0) -.L7F006368: -/* 03AE98 7F006368 8FBF0034 */ lw $ra, 0x34($sp) -/* 03AE9C 7F00636C 8FB0001C */ lw $s0, 0x1c($sp) -/* 03AEA0 7F006370 8FB10020 */ lw $s1, 0x20($sp) -/* 03AEA4 7F006374 8FB20024 */ lw $s2, 0x24($sp) -/* 03AEA8 7F006378 8FB30028 */ lw $s3, 0x28($sp) -/* 03AEAC 7F00637C 8FB4002C */ lw $s4, 0x2c($sp) -/* 03AEB0 7F006380 8FB50030 */ lw $s5, 0x30($sp) -/* 03AEB4 7F006384 03E00008 */ jr $ra -/* 03AEB8 7F006388 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - -#ifdef NONMATCHING -void sets_a_bunch_of_BONDdata_values_to_default(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_8004F1F0 -.word 0x3dccccce -glabel D_8004F1F4 -.word 0x4164924b -glabel D_8004F1F8 -.word 0x3f6e147b -.text -glabel sets_a_bunch_of_BONDdata_values_to_default -/* 03AEBC 7F00638C 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 03AEC0 7F006390 AFB20038 */ sw $s2, 0x38($sp) -/* 03AEC4 7F006394 3C128004 */ lui $s2, %hi(player_gait_object) -/* 03AEC8 7F006398 2652C650 */ addiu $s2, %lo(player_gait_object) # addiu $s2, $s2, -0x39b0 -/* 03AECC 7F00639C 864E0014 */ lh $t6, 0x14($s2) -/* 03AED0 7F0063A0 AFBF0044 */ sw $ra, 0x44($sp) -/* 03AED4 7F0063A4 AFB40040 */ sw $s4, 0x40($sp) -/* 03AED8 7F0063A8 29C1001F */ slti $at, $t6, 0x1f -/* 03AEDC 7F0063AC AFB3003C */ sw $s3, 0x3c($sp) -/* 03AEE0 7F0063B0 AFB10034 */ sw $s1, 0x34($sp) -/* 03AEE4 7F0063B4 AFB00030 */ sw $s0, 0x30($sp) -/* 03AEE8 7F0063B8 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 03AEEC 7F0063BC 14200003 */ bnez $at, .L7F0063CC -/* 03AEF0 7F0063C0 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 03AEF4 7F0063C4 0FC1B11B */ jal return_null -/* 03AEF8 7F0063C8 00000000 */ nop -.L7F0063CC: -/* 03AEFC 7F0063CC 3C118008 */ lui $s1, %hi(pPlayer) -/* 03AF00 7F0063D0 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 03AF04 7F0063D4 8E300000 */ lw $s0, ($s1) -/* 03AF08 7F0063D8 02402825 */ move $a1, $s2 -/* 03AF0C 7F0063DC 26040598 */ addiu $a0, $s0, 0x598 -/* 03AF10 7F0063E0 0FC1D7EB */ jal sub_GAME_7F075FAC -/* 03AF14 7F0063E4 26060654 */ addiu $a2, $s0, 0x654 -/* 03AF18 7F0063E8 3C018005 */ lui $at, %hi(D_8004F1F0) -/* 03AF1C 7F0063EC C436F1F0 */ lwc1 $f22, %lo(D_8004F1F0)($at) -/* 03AF20 7F0063F0 8E240000 */ lw $a0, ($s1) -/* 03AF24 7F0063F4 4405B000 */ mfc1 $a1, $f22 -/* 03AF28 7F0063F8 0FC1B39E */ jal set_obj_instance_controller_scale -/* 03AF2C 7F0063FC 24840598 */ addiu $a0, $a0, 0x598 -/* 03AF30 7F006400 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03AF34 7F006404 44810000 */ mtc1 $at, $f0 -/* 03AF38 7F006408 8E2F0000 */ lw $t7, ($s1) -/* 03AF3C 7F00640C 3C018005 */ lui $at, %hi(D_8004F1F4) -/* 03AF40 7F006410 C422F1F4 */ lwc1 $f2, %lo(D_8004F1F4)($at) -/* 03AF44 7F006414 ADE004E8 */ sw $zero, 0x4e8($t7) -/* 03AF48 7F006418 3C018005 */ lui $at, %hi(D_8004F1F8) -/* 03AF4C 7F00641C C424F1F8 */ lwc1 $f4, %lo(D_8004F1F8)($at) -/* 03AF50 7F006420 8E380000 */ lw $t8, ($s1) -/* 03AF54 7F006424 4480A000 */ mtc1 $zero, $f20 -/* 03AF58 7F006428 24020001 */ li $v0, 1 -/* 03AF5C 7F00642C E70404EC */ swc1 $f4, 0x4ec($t8) -/* 03AF60 7F006430 8E390000 */ lw $t9, ($s1) -/* 03AF64 7F006434 3C108003 */ lui $s0, %hi(D_80036AD0) -/* 03AF68 7F006438 3C148007 */ lui $s4, %hi(ptr_animation_table) -/* 03AF6C 7F00643C AF2004F0 */ sw $zero, 0x4f0($t9) -/* 03AF70 7F006440 8E280000 */ lw $t0, ($s1) -/* 03AF74 7F006444 3C138003 */ lui $s3, %hi(D_80036B00) -/* 03AF78 7F006448 26736B00 */ addiu $s3, %lo(D_80036B00) # addiu $s3, $s3, 0x6b00 -/* 03AF7C 7F00644C E50004F4 */ swc1 $f0, 0x4f4($t0) -/* 03AF80 7F006450 8E290000 */ lw $t1, ($s1) -/* 03AF84 7F006454 26949538 */ addiu $s4, %lo(ptr_animation_table) # addiu $s4, $s4, -0x6ac8 -/* 03AF88 7F006458 26106AD0 */ addiu $s0, %lo(D_80036AD0) # addiu $s0, $s0, 0x6ad0 -/* 03AF8C 7F00645C E52004F8 */ swc1 $f0, 0x4f8($t1) -/* 03AF90 7F006460 8E2A0000 */ lw $t2, ($s1) -/* 03AF94 7F006464 27B200D0 */ addiu $s2, $sp, 0xd0 -/* 03AF98 7F006468 E55404FC */ swc1 $f20, 0x4fc($t2) -/* 03AF9C 7F00646C 8E2B0000 */ lw $t3, ($s1) -/* 03AFA0 7F006470 E5740500 */ swc1 $f20, 0x500($t3) -/* 03AFA4 7F006474 8E2C0000 */ lw $t4, ($s1) -/* 03AFA8 7F006478 E5940504 */ swc1 $f20, 0x504($t4) -/* 03AFAC 7F00647C 8E2D0000 */ lw $t5, ($s1) -/* 03AFB0 7F006480 E5B40508 */ swc1 $f20, 0x508($t5) -/* 03AFB4 7F006484 8E2E0000 */ lw $t6, ($s1) -/* 03AFB8 7F006488 E5D4050C */ swc1 $f20, 0x50c($t6) -/* 03AFBC 7F00648C 8E2F0000 */ lw $t7, ($s1) -/* 03AFC0 7F006490 E5F40510 */ swc1 $f20, 0x510($t7) -/* 03AFC4 7F006494 8E380000 */ lw $t8, ($s1) -/* 03AFC8 7F006498 E7140514 */ swc1 $f20, 0x514($t8) -/* 03AFCC 7F00649C 8E390000 */ lw $t9, ($s1) -/* 03AFD0 7F0064A0 E7340518 */ swc1 $f20, 0x518($t9) -/* 03AFD4 7F0064A4 8E280000 */ lw $t0, ($s1) -/* 03AFD8 7F0064A8 E514051C */ swc1 $f20, 0x51c($t0) -/* 03AFDC 7F0064AC 8E290000 */ lw $t1, ($s1) -/* 03AFE0 7F0064B0 E5340520 */ swc1 $f20, 0x520($t1) -/* 03AFE4 7F0064B4 8E2A0000 */ lw $t2, ($s1) -/* 03AFE8 7F0064B8 E5540524 */ swc1 $f20, 0x524($t2) -/* 03AFEC 7F0064BC 8E2B0000 */ lw $t3, ($s1) -/* 03AFF0 7F0064C0 E5740528 */ swc1 $f20, 0x528($t3) -/* 03AFF4 7F0064C4 8E2C0000 */ lw $t4, ($s1) -/* 03AFF8 7F0064C8 E594052C */ swc1 $f20, 0x52c($t4) -/* 03AFFC 7F0064CC 8E2D0000 */ lw $t5, ($s1) -/* 03B000 7F0064D0 E5B40530 */ swc1 $f20, 0x530($t5) -/* 03B004 7F0064D4 8E2E0000 */ lw $t6, ($s1) -/* 03B008 7F0064D8 E5C20534 */ swc1 $f2, 0x534($t6) -/* 03B00C 7F0064DC 8E2F0000 */ lw $t7, ($s1) -/* 03B010 7F0064E0 E5F40538 */ swc1 $f20, 0x538($t7) -/* 03B014 7F0064E4 8E380000 */ lw $t8, ($s1) -/* 03B018 7F0064E8 E702053C */ swc1 $f2, 0x53c($t8) -/* 03B01C 7F0064EC 8E390000 */ lw $t9, ($s1) -/* 03B020 7F0064F0 E7340540 */ swc1 $f20, 0x540($t9) -/* 03B024 7F0064F4 8E280000 */ lw $t0, ($s1) -/* 03B028 7F0064F8 AD0204DC */ sw $v0, 0x4dc($t0) -/* 03B02C 7F0064FC 8E290000 */ lw $t1, ($s1) -/* 03B030 7F006500 AD2204E0 */ sw $v0, 0x4e0($t1) -/* 03B034 7F006504 8E2A0000 */ lw $t2, ($s1) -/* 03B038 7F006508 AD4204E4 */ sw $v0, 0x4e4($t2) -/* 03B03C 7F00650C 8E2B0000 */ lw $t3, ($s1) -/* 03B040 7F006510 E5740544 */ swc1 $f20, 0x544($t3) -/* 03B044 7F006514 8E2C0000 */ lw $t4, ($s1) -/* 03B048 7F006518 E5940548 */ swc1 $f20, 0x548($t4) -/* 03B04C 7F00651C 8E2D0000 */ lw $t5, ($s1) -/* 03B050 7F006520 E5B4054C */ swc1 $f20, 0x54c($t5) -/* 03B054 7F006524 8E2E0000 */ lw $t6, ($s1) -/* 03B058 7F006528 E5D40550 */ swc1 $f20, 0x550($t6) -/* 03B05C 7F00652C 8E2F0000 */ lw $t7, ($s1) -/* 03B060 7F006530 E5F40554 */ swc1 $f20, 0x554($t7) -/* 03B064 7F006534 8E380000 */ lw $t8, ($s1) -/* 03B068 7F006538 E7140558 */ swc1 $f20, 0x558($t8) -/* 03B06C 7F00653C 8E390000 */ lw $t9, ($s1) -/* 03B070 7F006540 E734055C */ swc1 $f20, 0x55c($t9) -/* 03B074 7F006544 8E280000 */ lw $t0, ($s1) -/* 03B078 7F006548 E5140560 */ swc1 $f20, 0x560($t0) -/* 03B07C 7F00654C 8E290000 */ lw $t1, ($s1) -/* 03B080 7F006550 E5340564 */ swc1 $f20, 0x564($t1) -/* 03B084 7F006554 8E2A0000 */ lw $t2, ($s1) -/* 03B088 7F006558 E5540568 */ swc1 $f20, 0x568($t2) -/* 03B08C 7F00655C 8E2B0000 */ lw $t3, ($s1) -/* 03B090 7F006560 E560056C */ swc1 $f0, 0x56c($t3) -/* 03B094 7F006564 8E2C0000 */ lw $t4, ($s1) -/* 03B098 7F006568 E5940570 */ swc1 $f20, 0x570($t4) -/* 03B09C 7F00656C 8E2D0000 */ lw $t5, ($s1) -/* 03B0A0 7F006570 E5B40574 */ swc1 $f20, 0x574($t5) -/* 03B0A4 7F006574 8E2E0000 */ lw $t6, ($s1) -/* 03B0A8 7F006578 E5C00578 */ swc1 $f0, 0x578($t6) -/* 03B0AC 7F00657C 8E2F0000 */ lw $t7, ($s1) -/* 03B0B0 7F006580 E5F4057C */ swc1 $f20, 0x57c($t7) -/* 03B0B4 7F006584 8E380000 */ lw $t8, ($s1) -/* 03B0B8 7F006588 E7000580 */ swc1 $f0, 0x580($t8) -/* 03B0BC 7F00658C 8E390000 */ lw $t9, ($s1) -/* 03B0C0 7F006590 E7340584 */ swc1 $f20, 0x584($t9) -/* 03B0C4 7F006594 8E280000 */ lw $t0, ($s1) -/* 03B0C8 7F006598 E5140588 */ swc1 $f20, 0x588($t0) -/* 03B0CC 7F00659C 8E290000 */ lw $t1, ($s1) -/* 03B0D0 7F0065A0 E520058C */ swc1 $f0, 0x58c($t1) -/* 03B0D4 7F0065A4 8E2A0000 */ lw $t2, ($s1) -/* 03B0D8 7F0065A8 E5540590 */ swc1 $f20, 0x590($t2) -/* 03B0DC 7F0065AC 8E2B0000 */ lw $t3, ($s1) -/* 03B0E0 7F0065B0 AD600594 */ sw $zero, 0x594($t3) -.L7F0065B4: -/* 03B0E4 7F0065B4 C6060004 */ lwc1 $f6, 4($s0) -/* 03B0E8 7F0065B8 C60A0008 */ lwc1 $f10, 8($s0) -/* 03B0EC 7F0065BC 8E0C0000 */ lw $t4, ($s0) -/* 03B0F0 7F0065C0 4600320D */ trunc.w.s $f8, $f6 -/* 03B0F4 7F0065C4 8E8D0000 */ lw $t5, ($s4) -/* 03B0F8 7F0065C8 02403825 */ move $a3, $s2 -/* 03B0FC 7F0065CC 4600540D */ trunc.w.s $f16, $f10 -/* 03B100 7F0065D0 44054000 */ mfc1 $a1, $f8 -/* 03B104 7F0065D4 018D2021 */ addu $a0, $t4, $t5 -/* 03B108 7F0065D8 44068000 */ mfc1 $a2, $f16 -/* 03B10C 7F0065DC 0FC018B0 */ jal sub_GAME_7F0062C0 -/* 03B110 7F0065E0 00000000 */ nop -/* 03B114 7F0065E4 8FB800D8 */ lw $t8, 0xd8($sp) -/* 03B118 7F0065E8 C6120008 */ lwc1 $f18, 8($s0) -/* 03B11C 7F0065EC C6040004 */ lwc1 $f4, 4($s0) -/* 03B120 7F0065F0 44984000 */ mtc1 $t8, $f8 -/* 03B124 7F0065F4 26100018 */ addiu $s0, $s0, 0x18 -/* 03B128 7F0065F8 46049181 */ sub.s $f6, $f18, $f4 -/* 03B12C 7F0065FC 468042A0 */ cvt.s.w $f10, $f8 -/* 03B130 7F006600 46165402 */ mul.s $f16, $f10, $f22 -/* 03B134 7F006604 46068483 */ div.s $f18, $f16, $f6 -/* 03B138 7F006608 1613FFEA */ bne $s0, $s3, .L7F0065B4 -/* 03B13C 7F00660C E612FFF4 */ swc1 $f18, -0xc($s0) -/* 03B140 7F006610 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03B144 7F006614 3C198003 */ lui $t9, %hi(D_8002A790) -/* 03B148 7F006618 27B20090 */ addiu $s2, $sp, 0x90 -/* 03B14C 7F00661C 2739A790 */ addiu $t9, %lo(D_8002A790) # addiu $t9, $t9, -0x5870 -/* 03B150 7F006620 4481B000 */ mtc1 $at, $f22 -/* 03B154 7F006624 2729003C */ addiu $t1, $t9, 0x3c -/* 03B158 7F006628 02405025 */ move $t2, $s2 -.L7F00662C: -/* 03B15C 7F00662C 8F210000 */ lw $at, ($t9) -/* 03B160 7F006630 2739000C */ addiu $t9, $t9, 0xc -/* 03B164 7F006634 254A000C */ addiu $t2, $t2, 0xc -/* 03B168 7F006638 AD41FFF4 */ sw $at, -0xc($t2) -/* 03B16C 7F00663C 8F21FFF8 */ lw $at, -8($t9) -/* 03B170 7F006640 AD41FFF8 */ sw $at, -8($t2) -/* 03B174 7F006644 8F21FFFC */ lw $at, -4($t9) -/* 03B178 7F006648 1729FFF8 */ bne $t9, $t1, .L7F00662C -/* 03B17C 7F00664C AD41FFFC */ sw $at, -4($t2) -/* 03B180 7F006650 8F210000 */ lw $at, ($t9) -/* 03B184 7F006654 3C0C0000 */ lui $t4, %hi(0x0000001C) # $t4, 0 -/* 03B188 7F006658 258C001C */ addiu $t4, %lo(0x0000001C) # addiu $t4, $t4, 0x1c -/* 03B18C 7F00665C AD410000 */ sw $at, ($t2) -/* 03B190 7F006660 8E8B0000 */ lw $t3, ($s4) -/* 03B194 7F006664 8E240000 */ lw $a0, ($s1) -/* 03B198 7F006668 4407A000 */ mfc1 $a3, $f20 -/* 03B19C 7F00666C E7B40014 */ swc1 $f20, 0x14($sp) -/* 03B1A0 7F006670 E7B60010 */ swc1 $f22, 0x10($sp) -/* 03B1A4 7F006674 00003025 */ move $a2, $zero -/* 03B1A8 7F006678 016C2821 */ addu $a1, $t3, $t4 -/* 03B1AC 7F00667C 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 03B1B0 7F006680 24840598 */ addiu $a0, $a0, 0x598 -/* 03B1B4 7F006684 8E240000 */ lw $a0, ($s1) -/* 03B1B8 7F006688 0FC1B5AC */ jal subcalcpos -/* 03B1BC 7F00668C 24840598 */ addiu $a0, $a0, 0x598 -/* 03B1C0 7F006690 27B30050 */ addiu $s3, $sp, 0x50 -/* 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) -/* 03B1D4 7F0066A4 02402025 */ move $a0, $s2 -/* 03B1D8 7F0066A8 260D06D0 */ addiu $t5, $s0, 0x6d0 -/* 03B1DC 7F0066AC AFAD00A0 */ sw $t5, 0xa0($sp) -/* 03B1E0 7F0066B0 0FC1BCBE */ jal subcalcmatrices -/* 03B1E4 7F0066B4 26050598 */ addiu $a1, $s0, 0x598 -/* 03B1E8 7F0066B8 8E300000 */ lw $s0, ($s1) -/* 03B1EC 7F0066BC 24130018 */ li $s3, 24 -/* 03B1F0 7F0066C0 3C128003 */ lui $s2, %hi(D_80036AD0) -/* 03B1F4 7F0066C4 C6040704 */ lwc1 $f4, 0x704($s0) -/* 03B1F8 7F0066C8 26526AD0 */ addiu $s2, %lo(D_80036AD0) # addiu $s2, $s2, 0x6ad0 -/* 03B1FC 7F0066CC 00003025 */ move $a2, $zero -/* 03B200 7F0066D0 E6040550 */ swc1 $f4, 0x550($s0) -/* 03B204 7F0066D4 8E2E0000 */ lw $t6, ($s1) -/* 03B208 7F0066D8 E5D40554 */ swc1 $f20, 0x554($t6) -/* 03B20C 7F0066DC 8E300000 */ lw $s0, ($s1) -/* 03B210 7F0066E0 C6080744 */ lwc1 $f8, 0x744($s0) -/* 03B214 7F0066E4 C60A0704 */ lwc1 $f10, 0x704($s0) -/* 03B218 7F0066E8 460A4401 */ sub.s $f16, $f8, $f10 -/* 03B21C 7F0066EC E6100558 */ swc1 $f16, 0x558($s0) -/* 03B220 7F0066F0 8E300000 */ lw $s0, ($s1) -/* 03B224 7F0066F4 C6060748 */ lwc1 $f6, 0x748($s0) -/* 03B228 7F0066F8 C6120708 */ lwc1 $f18, 0x708($s0) -/* 03B22C 7F0066FC 46123101 */ sub.s $f4, $f6, $f18 -/* 03B230 7F006700 E604055C */ swc1 $f4, 0x55c($s0) -/* 03B234 7F006704 8E300000 */ lw $s0, ($s1) -/* 03B238 7F006708 8E890000 */ lw $t1, ($s4) -/* 03B23C 7F00670C 8E0F04E8 */ lw $t7, 0x4e8($s0) -/* 03B240 7F006710 E7B40014 */ swc1 $f20, 0x14($sp) -/* 03B244 7F006714 E7B60010 */ swc1 $f22, 0x10($sp) -/* 03B248 7F006718 01F30019 */ multu $t7, $s3 -/* 03B24C 7F00671C 26040598 */ addiu $a0, $s0, 0x598 -/* 03B250 7F006720 0000C012 */ mflo $t8 -/* 03B254 7F006724 02581021 */ addu $v0, $s2, $t8 -/* 03B258 7F006728 8C480000 */ lw $t0, ($v0) -/* 03B25C 7F00672C 8C470004 */ lw $a3, 4($v0) -/* 03B260 7F006730 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 03B264 7F006734 01092821 */ addu $a1, $t0, $t1 -/* 03B268 7F006738 8E300000 */ lw $s0, ($s1) -/* 03B26C 7F00673C 4406A000 */ mfc1 $a2, $f20 -/* 03B270 7F006740 8E1904E8 */ lw $t9, 0x4e8($s0) -/* 03B274 7F006744 26040598 */ addiu $a0, $s0, 0x598 -/* 03B278 7F006748 03330019 */ multu $t9, $s3 -/* 03B27C 7F00674C 00005012 */ mflo $t2 -/* 03B280 7F006750 024A5821 */ addu $t3, $s2, $t2 -/* 03B284 7F006754 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 03B288 7F006758 8D650004 */ lw $a1, 4($t3) -/* 03B28C 7F00675C 8E300000 */ lw $s0, ($s1) -/* 03B290 7F006760 8E0C04E8 */ lw $t4, 0x4e8($s0) -/* 03B294 7F006764 26040598 */ addiu $a0, $s0, 0x598 -/* 03B298 7F006768 01930019 */ multu $t4, $s3 -/* 03B29C 7F00676C 00006812 */ mflo $t5 -/* 03B2A0 7F006770 024D7021 */ addu $t6, $s2, $t5 -/* 03B2A4 7F006774 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 03B2A8 7F006778 8DC50008 */ lw $a1, 8($t6) -/* 03B2AC 7F00677C 8E240000 */ lw $a0, ($s1) -/* 03B2B0 7F006780 3C057F09 */ lui $a1, %hi(sub_GAME_7F08DBB0) # $a1, 0x7f09 -/* 03B2B4 7F006784 24A5DBB0 */ addiu $a1, %lo(sub_GAME_7F08DBB0) # addiu $a1, $a1, -0x2450 -/* 03B2B8 7F006788 0FC1BF8F */ jal sub_GAME_7F06FE3C -/* 03B2BC 7F00678C 24840598 */ addiu $a0, $a0, 0x598 -/* 03B2C0 7F006790 0FC236F2 */ jal sub_GAME_7F08DBC8 -/* 03B2C4 7F006794 00000000 */ nop -/* 03B2C8 7F006798 8FBF0044 */ lw $ra, 0x44($sp) -/* 03B2CC 7F00679C D7B40020 */ ldc1 $f20, 0x20($sp) -/* 03B2D0 7F0067A0 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 03B2D4 7F0067A4 8FB00030 */ lw $s0, 0x30($sp) -/* 03B2D8 7F0067A8 8FB10034 */ lw $s1, 0x34($sp) -/* 03B2DC 7F0067AC 8FB20038 */ lw $s2, 0x38($sp) -/* 03B2E0 7F0067B0 8FB3003C */ lw $s3, 0x3c($sp) -/* 03B2E4 7F0067B4 8FB40040 */ lw $s4, 0x40($sp) -/* 03B2E8 7F0067B8 03E00008 */ jr $ra -/* 03B2EC 7F0067BC 27BD00E0 */ addiu $sp, $sp, 0xe0 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_8004F1F0 -.word 0x3dccccce -glabel D_8004F1F4 -.word 0x4164924b -glabel D_8004F1F8 -.word 0x3f6e147b -.text -glabel sets_a_bunch_of_BONDdata_values_to_default -/* 03AEFC 7F00638C 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 03AF00 7F006390 AFB20038 */ sw $s2, 0x38($sp) -/* 03AF04 7F006394 3C128004 */ lui $s2, %hi(player_gait_object) # $s2, 0x8004 -/* 03AF08 7F006398 2652C680 */ addiu $s2, %lo(player_gait_object) # addiu $s2, $s2, -0x3980 -/* 03AF0C 7F00639C 864E0014 */ lh $t6, 0x14($s2) -/* 03AF10 7F0063A0 AFBF0044 */ sw $ra, 0x44($sp) -/* 03AF14 7F0063A4 AFB40040 */ sw $s4, 0x40($sp) -/* 03AF18 7F0063A8 29C1001F */ slti $at, $t6, 0x1f -/* 03AF1C 7F0063AC AFB3003C */ sw $s3, 0x3c($sp) -/* 03AF20 7F0063B0 AFB10034 */ sw $s1, 0x34($sp) -/* 03AF24 7F0063B4 AFB00030 */ sw $s0, 0x30($sp) -/* 03AF28 7F0063B8 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 03AF2C 7F0063BC 14200003 */ bnez $at, .L7F0063CC -/* 03AF30 7F0063C0 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 03AF34 7F0063C4 0FC1B297 */ jal return_null -/* 03AF38 7F0063C8 00000000 */ nop -.L7F0063CC: -/* 03AF3C 7F0063CC 3C118008 */ lui $s1, %hi(pPlayer) # $s1, 0x8008 -/* 03AF40 7F0063D0 2631A120 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5ee0 -/* 03AF44 7F0063D4 8E300000 */ lw $s0, ($s1) -/* 03AF48 7F0063D8 02402825 */ move $a1, $s2 -/* 03AF4C 7F0063DC 26040598 */ addiu $a0, $s0, 0x598 -/* 03AF50 7F0063E0 0FC1D967 */ jal sub_GAME_7F075FAC -/* 03AF54 7F0063E4 26060654 */ addiu $a2, $s0, 0x654 -/* 03AF58 7F0063E8 3C018005 */ lui $at, %hi(D_8004F1F0) # $at, 0x8005 -/* 03AF5C 7F0063EC C436F220 */ lwc1 $f22, %lo(D_8004F1F0)($at) -/* 03AF60 7F0063F0 8E240000 */ lw $a0, ($s1) -/* 03AF64 7F0063F4 4405B000 */ mfc1 $a1, $f22 -/* 03AF68 7F0063F8 0FC1B51A */ jal set_obj_instance_controller_scale -/* 03AF6C 7F0063FC 24840598 */ addiu $a0, $a0, 0x598 -/* 03AF70 7F006400 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03AF74 7F006404 44810000 */ mtc1 $at, $f0 -/* 03AF78 7F006408 4480A000 */ mtc1 $zero, $f20 -/* 03AF7C 7F00640C 8E240000 */ lw $a0, ($s1) -/* 03AF80 7F006410 44050000 */ mfc1 $a1, $f0 -/* 03AF84 7F006414 4406A000 */ mfc1 $a2, $f20 -/* 03AF88 7F006418 0FC1C142 */ jal sub_GAME_7F06FF18 -/* 03AF8C 7F00641C 24840598 */ addiu $a0, $a0, 0x598 -/* 03AF90 7F006420 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03AF94 7F006424 44810000 */ mtc1 $at, $f0 -/* 03AF98 7F006428 8E2F0000 */ lw $t7, ($s1) -/* 03AF9C 7F00642C 3C018005 */ lui $at, %hi(D_8004F1F4) # $at, 0x8005 -/* 03AFA0 7F006430 C422F224 */ lwc1 $f2, %lo(D_8004F1F4)($at) -/* 03AFA4 7F006434 ADE004E8 */ sw $zero, 0x4e8($t7) -/* 03AFA8 7F006438 3C018005 */ lui $at, %hi(D_8004F1F8) # $at, 0x8005 -/* 03AFAC 7F00643C C424F228 */ lwc1 $f4, %lo(D_8004F1F8)($at) -/* 03AFB0 7F006440 8E380000 */ lw $t8, ($s1) -/* 03AFB4 7F006444 24020001 */ li $v0, 1 -/* 03AFB8 7F006448 3C108003 */ lui $s0, %hi(D_80036AD0) # $s0, 0x8003 -/* 03AFBC 7F00644C E70404EC */ swc1 $f4, 0x4ec($t8) -/* 03AFC0 7F006450 8E390000 */ lw $t9, ($s1) -/* 03AFC4 7F006454 3C148007 */ lui $s4, %hi(ptr_animation_table) # $s4, 0x8007 -/* 03AFC8 7F006458 3C138003 */ lui $s3, %hi(D_80036B00) # $s3, 0x8003 -/* 03AFCC 7F00645C AF2004F0 */ sw $zero, 0x4f0($t9) -/* 03AFD0 7F006460 8E280000 */ lw $t0, ($s1) -/* 03AFD4 7F006464 26736B30 */ addiu $s3, %lo(D_80036B00) # addiu $s3, $s3, 0x6b30 -/* 03AFD8 7F006468 26949578 */ addiu $s4, %lo(ptr_animation_table) # addiu $s4, $s4, -0x6a88 -/* 03AFDC 7F00646C E50004F4 */ swc1 $f0, 0x4f4($t0) -/* 03AFE0 7F006470 8E290000 */ lw $t1, ($s1) -/* 03AFE4 7F006474 26106B00 */ addiu $s0, %lo(D_80036AD0) # addiu $s0, $s0, 0x6b00 -/* 03AFE8 7F006478 27B200D0 */ addiu $s2, $sp, 0xd0 -/* 03AFEC 7F00647C E52004F8 */ swc1 $f0, 0x4f8($t1) -/* 03AFF0 7F006480 8E2A0000 */ lw $t2, ($s1) -/* 03AFF4 7F006484 E55404FC */ swc1 $f20, 0x4fc($t2) -/* 03AFF8 7F006488 8E2B0000 */ lw $t3, ($s1) -/* 03AFFC 7F00648C E5740500 */ swc1 $f20, 0x500($t3) -/* 03B000 7F006490 8E2C0000 */ lw $t4, ($s1) -/* 03B004 7F006494 E5940504 */ swc1 $f20, 0x504($t4) -/* 03B008 7F006498 8E2D0000 */ lw $t5, ($s1) -/* 03B00C 7F00649C E5B40508 */ swc1 $f20, 0x508($t5) -/* 03B010 7F0064A0 8E2E0000 */ lw $t6, ($s1) -/* 03B014 7F0064A4 E5D4050C */ swc1 $f20, 0x50c($t6) -/* 03B018 7F0064A8 8E2F0000 */ lw $t7, ($s1) -/* 03B01C 7F0064AC E5F40510 */ swc1 $f20, 0x510($t7) -/* 03B020 7F0064B0 8E380000 */ lw $t8, ($s1) -/* 03B024 7F0064B4 E7140514 */ swc1 $f20, 0x514($t8) -/* 03B028 7F0064B8 8E390000 */ lw $t9, ($s1) -/* 03B02C 7F0064BC E7340518 */ swc1 $f20, 0x518($t9) -/* 03B030 7F0064C0 8E280000 */ lw $t0, ($s1) -/* 03B034 7F0064C4 E514051C */ swc1 $f20, 0x51c($t0) -/* 03B038 7F0064C8 8E290000 */ lw $t1, ($s1) -/* 03B03C 7F0064CC E5340520 */ swc1 $f20, 0x520($t1) -/* 03B040 7F0064D0 8E2A0000 */ lw $t2, ($s1) -/* 03B044 7F0064D4 E5540524 */ swc1 $f20, 0x524($t2) -/* 03B048 7F0064D8 8E2B0000 */ lw $t3, ($s1) -/* 03B04C 7F0064DC E5740528 */ swc1 $f20, 0x528($t3) -/* 03B050 7F0064E0 8E2C0000 */ lw $t4, ($s1) -/* 03B054 7F0064E4 E594052C */ swc1 $f20, 0x52c($t4) -/* 03B058 7F0064E8 8E2D0000 */ lw $t5, ($s1) -/* 03B05C 7F0064EC E5B40530 */ swc1 $f20, 0x530($t5) -/* 03B060 7F0064F0 8E2E0000 */ lw $t6, ($s1) -/* 03B064 7F0064F4 E5C20534 */ swc1 $f2, 0x534($t6) -/* 03B068 7F0064F8 8E2F0000 */ lw $t7, ($s1) -/* 03B06C 7F0064FC E5F40538 */ swc1 $f20, 0x538($t7) -/* 03B070 7F006500 8E380000 */ lw $t8, ($s1) -/* 03B074 7F006504 E702053C */ swc1 $f2, 0x53c($t8) -/* 03B078 7F006508 8E390000 */ lw $t9, ($s1) -/* 03B07C 7F00650C E7340540 */ swc1 $f20, 0x540($t9) -/* 03B080 7F006510 8E280000 */ lw $t0, ($s1) -/* 03B084 7F006514 AD0204DC */ sw $v0, 0x4dc($t0) -/* 03B088 7F006518 8E290000 */ lw $t1, ($s1) -/* 03B08C 7F00651C AD2204E0 */ sw $v0, 0x4e0($t1) -/* 03B090 7F006520 8E2A0000 */ lw $t2, ($s1) -/* 03B094 7F006524 AD4204E4 */ sw $v0, 0x4e4($t2) -/* 03B098 7F006528 8E2B0000 */ lw $t3, ($s1) -/* 03B09C 7F00652C E5740544 */ swc1 $f20, 0x544($t3) -/* 03B0A0 7F006530 8E2C0000 */ lw $t4, ($s1) -/* 03B0A4 7F006534 E5940548 */ swc1 $f20, 0x548($t4) -/* 03B0A8 7F006538 8E2D0000 */ lw $t5, ($s1) -/* 03B0AC 7F00653C E5B4054C */ swc1 $f20, 0x54c($t5) -/* 03B0B0 7F006540 8E2E0000 */ lw $t6, ($s1) -/* 03B0B4 7F006544 E5D40550 */ swc1 $f20, 0x550($t6) -/* 03B0B8 7F006548 8E2F0000 */ lw $t7, ($s1) -/* 03B0BC 7F00654C E5F40554 */ swc1 $f20, 0x554($t7) -/* 03B0C0 7F006550 8E380000 */ lw $t8, ($s1) -/* 03B0C4 7F006554 E7140558 */ swc1 $f20, 0x558($t8) -/* 03B0C8 7F006558 8E390000 */ lw $t9, ($s1) -/* 03B0CC 7F00655C E734055C */ swc1 $f20, 0x55c($t9) -/* 03B0D0 7F006560 8E280000 */ lw $t0, ($s1) -/* 03B0D4 7F006564 E5140560 */ swc1 $f20, 0x560($t0) -/* 03B0D8 7F006568 8E290000 */ lw $t1, ($s1) -/* 03B0DC 7F00656C E5340564 */ swc1 $f20, 0x564($t1) -/* 03B0E0 7F006570 8E2A0000 */ lw $t2, ($s1) -/* 03B0E4 7F006574 E5540568 */ swc1 $f20, 0x568($t2) -/* 03B0E8 7F006578 8E2B0000 */ lw $t3, ($s1) -/* 03B0EC 7F00657C E560056C */ swc1 $f0, 0x56c($t3) -/* 03B0F0 7F006580 8E2C0000 */ lw $t4, ($s1) -/* 03B0F4 7F006584 E5940570 */ swc1 $f20, 0x570($t4) -/* 03B0F8 7F006588 8E2D0000 */ lw $t5, ($s1) -/* 03B0FC 7F00658C E5B40574 */ swc1 $f20, 0x574($t5) -/* 03B100 7F006590 8E2E0000 */ lw $t6, ($s1) -/* 03B104 7F006594 E5C00578 */ swc1 $f0, 0x578($t6) -/* 03B108 7F006598 8E2F0000 */ lw $t7, ($s1) -/* 03B10C 7F00659C E5F4057C */ swc1 $f20, 0x57c($t7) -/* 03B110 7F0065A0 8E380000 */ lw $t8, ($s1) -/* 03B114 7F0065A4 E7000580 */ swc1 $f0, 0x580($t8) -/* 03B118 7F0065A8 8E390000 */ lw $t9, ($s1) -/* 03B11C 7F0065AC E7340584 */ swc1 $f20, 0x584($t9) -/* 03B120 7F0065B0 8E280000 */ lw $t0, ($s1) -/* 03B124 7F0065B4 E5140588 */ swc1 $f20, 0x588($t0) -/* 03B128 7F0065B8 8E290000 */ lw $t1, ($s1) -/* 03B12C 7F0065BC E520058C */ swc1 $f0, 0x58c($t1) -/* 03B130 7F0065C0 8E2A0000 */ lw $t2, ($s1) -/* 03B134 7F0065C4 E5540590 */ swc1 $f20, 0x590($t2) -/* 03B138 7F0065C8 8E2B0000 */ lw $t3, ($s1) -/* 03B13C 7F0065CC AD600594 */ sw $zero, 0x594($t3) -.L7F0065D0: -/* 03B140 7F0065D0 C6060004 */ lwc1 $f6, 4($s0) -/* 03B144 7F0065D4 C60A0008 */ lwc1 $f10, 8($s0) -/* 03B148 7F0065D8 8E0C0000 */ lw $t4, ($s0) -/* 03B14C 7F0065DC 4600320D */ trunc.w.s $f8, $f6 -/* 03B150 7F0065E0 8E8D0000 */ lw $t5, ($s4) -/* 03B154 7F0065E4 02403825 */ move $a3, $s2 -/* 03B158 7F0065E8 4600540D */ trunc.w.s $f16, $f10 -/* 03B15C 7F0065EC 44054000 */ mfc1 $a1, $f8 -/* 03B160 7F0065F0 018D2021 */ addu $a0, $t4, $t5 -/* 03B164 7F0065F4 44068000 */ mfc1 $a2, $f16 -/* 03B168 7F0065F8 0FC018B0 */ jal sub_GAME_7F0062C0 -/* 03B16C 7F0065FC 00000000 */ nop -/* 03B170 7F006600 8FB800D8 */ lw $t8, 0xd8($sp) -/* 03B174 7F006604 C6120008 */ lwc1 $f18, 8($s0) -/* 03B178 7F006608 C6040004 */ lwc1 $f4, 4($s0) -/* 03B17C 7F00660C 44984000 */ mtc1 $t8, $f8 -/* 03B180 7F006610 26100018 */ addiu $s0, $s0, 0x18 -/* 03B184 7F006614 46049181 */ sub.s $f6, $f18, $f4 -/* 03B188 7F006618 468042A0 */ cvt.s.w $f10, $f8 -/* 03B18C 7F00661C 46165402 */ mul.s $f16, $f10, $f22 -/* 03B190 7F006620 46068483 */ div.s $f18, $f16, $f6 -/* 03B194 7F006624 1613FFEA */ bne $s0, $s3, .L7F0065D0 -/* 03B198 7F006628 E612FFF4 */ swc1 $f18, -0xc($s0) -/* 03B19C 7F00662C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03B1A0 7F006630 3C198003 */ lui $t9, %hi(D_8002A790) # $t9, 0x8003 -/* 03B1A4 7F006634 27B20090 */ addiu $s2, $sp, 0x90 -/* 03B1A8 7F006638 2739A7D0 */ addiu $t9, %lo(D_8002A790) # addiu $t9, $t9, -0x5830 -/* 03B1AC 7F00663C 4481B000 */ mtc1 $at, $f22 -/* 03B1B0 7F006640 2729003C */ addiu $t1, $t9, 0x3c -/* 03B1B4 7F006644 02405025 */ move $t2, $s2 -.L7F006648: -/* 03B1B8 7F006648 8F210000 */ lw $at, ($t9) -/* 03B1BC 7F00664C 2739000C */ addiu $t9, $t9, 0xc -/* 03B1C0 7F006650 254A000C */ addiu $t2, $t2, 0xc -/* 03B1C4 7F006654 AD41FFF4 */ sw $at, -0xc($t2) -/* 03B1C8 7F006658 8F21FFF8 */ lw $at, -8($t9) -/* 03B1CC 7F00665C AD41FFF8 */ sw $at, -8($t2) -/* 03B1D0 7F006660 8F21FFFC */ lw $at, -4($t9) -/* 03B1D4 7F006664 1729FFF8 */ bne $t9, $t1, .L7F006648 -/* 03B1D8 7F006668 AD41FFFC */ sw $at, -4($t2) -/* 03B1DC 7F00666C 8F210000 */ lw $at, ($t9) -/* 03B1E0 7F006670 3C0C0000 */ lui $t4, %hi(0x0000001C) # $t4, 0 -/* 03B1E4 7F006674 258C001C */ addiu $t4, %lo(0x0000001C) # addiu $t4, $t4, 0x1c -/* 03B1E8 7F006678 AD410000 */ sw $at, ($t2) -/* 03B1EC 7F00667C 8E8B0000 */ lw $t3, ($s4) -/* 03B1F0 7F006680 8E240000 */ lw $a0, ($s1) -/* 03B1F4 7F006684 4407A000 */ mfc1 $a3, $f20 -/* 03B1F8 7F006688 E7B40014 */ swc1 $f20, 0x14($sp) -/* 03B1FC 7F00668C E7B60010 */ swc1 $f22, 0x10($sp) -/* 03B200 7F006690 00003025 */ move $a2, $zero -/* 03B204 7F006694 016C2821 */ addu $a1, $t3, $t4 -/* 03B208 7F006698 0FC1C0A6 */ jal sub_GAME_7F06FCA8 -/* 03B20C 7F00669C 24840598 */ addiu $a0, $a0, 0x598 -/* 03B210 7F0066A0 8E240000 */ lw $a0, ($s1) -/* 03B214 7F0066A4 0FC1B728 */ jal subcalcpos -/* 03B218 7F0066A8 24840598 */ addiu $a0, $a0, 0x598 -/* 03B21C 7F0066AC 27B30050 */ addiu $s3, $sp, 0x50 -/* 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) -/* 03B230 7F0066C0 02402025 */ move $a0, $s2 -/* 03B234 7F0066C4 260D06D0 */ addiu $t5, $s0, 0x6d0 -/* 03B238 7F0066C8 AFAD00A0 */ sw $t5, 0xa0($sp) -/* 03B23C 7F0066CC 0FC1BE3A */ jal subcalcmatrices -/* 03B240 7F0066D0 26050598 */ addiu $a1, $s0, 0x598 -/* 03B244 7F0066D4 8E300000 */ lw $s0, ($s1) -/* 03B248 7F0066D8 24130018 */ li $s3, 24 -/* 03B24C 7F0066DC 3C128003 */ lui $s2, %hi(D_80036AD0) # $s2, 0x8003 -/* 03B250 7F0066E0 C6040704 */ lwc1 $f4, 0x704($s0) -/* 03B254 7F0066E4 26526B00 */ addiu $s2, %lo(D_80036AD0) # addiu $s2, $s2, 0x6b00 -/* 03B258 7F0066E8 00003025 */ move $a2, $zero -/* 03B25C 7F0066EC E6040550 */ swc1 $f4, 0x550($s0) -/* 03B260 7F0066F0 8E2E0000 */ lw $t6, ($s1) -/* 03B264 7F0066F4 E5D40554 */ swc1 $f20, 0x554($t6) -/* 03B268 7F0066F8 8E300000 */ lw $s0, ($s1) -/* 03B26C 7F0066FC C6080744 */ lwc1 $f8, 0x744($s0) -/* 03B270 7F006700 C60A0704 */ lwc1 $f10, 0x704($s0) -/* 03B274 7F006704 460A4401 */ sub.s $f16, $f8, $f10 -/* 03B278 7F006708 E6100558 */ swc1 $f16, 0x558($s0) -/* 03B27C 7F00670C 8E300000 */ lw $s0, ($s1) -/* 03B280 7F006710 C6060748 */ lwc1 $f6, 0x748($s0) -/* 03B284 7F006714 C6120708 */ lwc1 $f18, 0x708($s0) -/* 03B288 7F006718 46123101 */ sub.s $f4, $f6, $f18 -/* 03B28C 7F00671C E604055C */ swc1 $f4, 0x55c($s0) -/* 03B290 7F006720 8E300000 */ lw $s0, ($s1) -/* 03B294 7F006724 8E890000 */ lw $t1, ($s4) -/* 03B298 7F006728 8E0F04E8 */ lw $t7, 0x4e8($s0) -/* 03B29C 7F00672C E7B40014 */ swc1 $f20, 0x14($sp) -/* 03B2A0 7F006730 E7B60010 */ swc1 $f22, 0x10($sp) -/* 03B2A4 7F006734 01F30019 */ multu $t7, $s3 -/* 03B2A8 7F006738 26040598 */ addiu $a0, $s0, 0x598 -/* 03B2AC 7F00673C 0000C012 */ mflo $t8 -/* 03B2B0 7F006740 02581021 */ addu $v0, $s2, $t8 -/* 03B2B4 7F006744 8C480000 */ lw $t0, ($v0) -/* 03B2B8 7F006748 8C470004 */ lw $a3, 4($v0) -/* 03B2BC 7F00674C 0FC1C0A6 */ jal sub_GAME_7F06FCA8 -/* 03B2C0 7F006750 01092821 */ addu $a1, $t0, $t1 -/* 03B2C4 7F006754 8E300000 */ lw $s0, ($s1) -/* 03B2C8 7F006758 4406A000 */ mfc1 $a2, $f20 -/* 03B2CC 7F00675C 8E1904E8 */ lw $t9, 0x4e8($s0) -/* 03B2D0 7F006760 26040598 */ addiu $a0, $s0, 0x598 -/* 03B2D4 7F006764 03330019 */ multu $t9, $s3 -/* 03B2D8 7F006768 00005012 */ mflo $t2 -/* 03B2DC 7F00676C 024A5821 */ addu $t3, $s2, $t2 -/* 03B2E0 7F006770 0FC1C0EF */ jal sub_GAME_7F06FDCC -/* 03B2E4 7F006774 8D650004 */ lw $a1, 4($t3) -/* 03B2E8 7F006778 8E300000 */ lw $s0, ($s1) -/* 03B2EC 7F00677C 8E0C04E8 */ lw $t4, 0x4e8($s0) -/* 03B2F0 7F006780 26040598 */ addiu $a0, $s0, 0x598 -/* 03B2F4 7F006784 01930019 */ multu $t4, $s3 -/* 03B2F8 7F006788 00006812 */ mflo $t5 -/* 03B2FC 7F00678C 024D7021 */ addu $t6, $s2, $t5 -/* 03B300 7F006790 0FC1C0F6 */ jal sub_GAME_7F06FDE8 -/* 03B304 7F006794 8DC50008 */ lw $a1, 8($t6) -/* 03B308 7F006798 8E240000 */ lw $a0, ($s1) -/* 03B30C 7F00679C 3C057F09 */ lui $a1, %hi(sub_GAME_7F08DBB0) # $a1, 0x7f09 -/* 03B310 7F0067A0 24A5E690 */ addiu $a1, %lo(sub_GAME_7F08DBB0) # addiu $a1, $a1, -0x1970 -/* 03B314 7F0067A4 0FC1C10B */ jal sub_GAME_7F06FE3C -/* 03B318 7F0067A8 24840598 */ addiu $a0, $a0, 0x598 -/* 03B31C 7F0067AC 0FC239AA */ jal sub_GAME_7F08DBC8 -/* 03B320 7F0067B0 00000000 */ nop -/* 03B324 7F0067B4 8FBF0044 */ lw $ra, 0x44($sp) -/* 03B328 7F0067B8 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 03B32C 7F0067BC D7B60028 */ ldc1 $f22, 0x28($sp) -/* 03B330 7F0067C0 8FB00030 */ lw $s0, 0x30($sp) -/* 03B334 7F0067C4 8FB10034 */ lw $s1, 0x34($sp) -/* 03B338 7F0067C8 8FB20038 */ lw $s2, 0x38($sp) -/* 03B33C 7F0067CC 8FB3003C */ lw $s3, 0x3c($sp) -/* 03B340 7F0067D0 8FB40040 */ lw $s4, 0x40($sp) -/* 03B344 7F0067D4 03E00008 */ jr $ra -/* 03B348 7F0067D8 27BD00E0 */ addiu $sp, $sp, 0xe0 -) -#endif - -#endif - diff --git a/src/game/initactorpropstuff.c b/src/game/initactorpropstuff.c deleted file mode 100644 index 763ab71..0000000 --- a/src/game/initactorpropstuff.c +++ /dev/null @@ -1,718 +0,0 @@ -#include "ultra64.h" -#include "game/initactorpropstuff.h" -#include "game/chr.h" - - - - - - - -#ifdef NONMATCHING -void reset_counter_rand_body_head(void) { - num_bodies = 0; - if (list_of_bodies[0] >= 0 ) { - num_bodies = 1; - while (list_of_bodies[num_bodies] >= 0) { - num_bodies += 1; - } - } - num_male_heads = 0; - if (random_male_heads[0] >= 0) { - num_male_heads = 1; - while (random_male_heads[num_male_heads] >= 0) { - num_male_heads += 1; - } - } - num_female_heads = 0; - if (random_female_heads[0] >= 0) { - num_female_heads = 1; - while (random_female_heads[num_female_heads] >= 0) { - num_female_heads += 1; - } - } - return; -} -#else -GLOBAL_ASM( -.text -glabel reset_counter_rand_body_head -/* 034C40 7F000110 3C048003 */ lui $a0, %hi(list_of_bodies) -/* 034C44 7F000114 2484CD0C */ addiu $a0, %lo(list_of_bodies) # addiu $a0, $a0, -0x32f4 -/* 034C48 7F000118 00007080 */ sll $t6, $zero, 2 -/* 034C4C 7F00011C 008E7821 */ addu $t7, $a0, $t6 -/* 034C50 7F000120 8DF80000 */ lw $t8, ($t7) -/* 034C54 7F000124 3C038003 */ lui $v1, %hi(num_bodies) -/* 034C58 7F000128 2463CD00 */ addiu $v1, %lo(num_bodies) # addiu $v1, $v1, -0x3300 -/* 034C5C 7F00012C AC600000 */ sw $zero, ($v1) -/* 034C60 7F000130 07000009 */ bltz $t8, .L7F000158 -/* 034C64 7F000134 00001025 */ move $v0, $zero -/* 034C68 7F000138 24590001 */ addiu $t9, $v0, 1 -.L7F00013C: -/* 034C6C 7F00013C 00194080 */ sll $t0, $t9, 2 -/* 034C70 7F000140 00884821 */ addu $t1, $a0, $t0 -/* 034C74 7F000144 8D2A0000 */ lw $t2, ($t1) -/* 034C78 7F000148 AC790000 */ sw $t9, ($v1) -/* 034C7C 7F00014C 03201025 */ move $v0, $t9 -/* 034C80 7F000150 0543FFFA */ bgezl $t2, .L7F00013C -/* 034C84 7F000154 24590001 */ addiu $t9, $v0, 1 -.L7F000158: -/* 034C88 7F000158 3C048003 */ lui $a0, %hi(random_male_heads) -/* 034C8C 7F00015C 2484CDB8 */ addiu $a0, %lo(random_male_heads) # addiu $a0, $a0, -0x3248 -/* 034C90 7F000160 00005880 */ sll $t3, $zero, 2 -/* 034C94 7F000164 008B6021 */ addu $t4, $a0, $t3 -/* 034C98 7F000168 8D8D0000 */ lw $t5, ($t4) -/* 034C9C 7F00016C 3C038003 */ lui $v1, %hi(num_male_heads) -/* 034CA0 7F000170 2463CD04 */ addiu $v1, %lo(num_male_heads) # addiu $v1, $v1, -0x32fc -/* 034CA4 7F000174 AC600000 */ sw $zero, ($v1) -/* 034CA8 7F000178 05A00009 */ bltz $t5, .L7F0001A0 -/* 034CAC 7F00017C 00001025 */ move $v0, $zero -/* 034CB0 7F000180 244E0001 */ addiu $t6, $v0, 1 -.L7F000184: -/* 034CB4 7F000184 000E7880 */ sll $t7, $t6, 2 -/* 034CB8 7F000188 008FC021 */ addu $t8, $a0, $t7 -/* 034CBC 7F00018C 8F190000 */ lw $t9, ($t8) -/* 034CC0 7F000190 AC6E0000 */ sw $t6, ($v1) -/* 034CC4 7F000194 01C01025 */ move $v0, $t6 -/* 034CC8 7F000198 0723FFFA */ bgezl $t9, .L7F000184 -/* 034CCC 7F00019C 244E0001 */ addiu $t6, $v0, 1 -.L7F0001A0: -/* 034CD0 7F0001A0 3C048003 */ lui $a0, %hi(random_female_heads) -/* 034CD4 7F0001A4 2484CE20 */ addiu $a0, %lo(random_female_heads) # addiu $a0, $a0, -0x31e0 -/* 034CD8 7F0001A8 00004080 */ sll $t0, $zero, 2 -/* 034CDC 7F0001AC 00884821 */ addu $t1, $a0, $t0 -/* 034CE0 7F0001B0 8D2A0000 */ lw $t2, ($t1) -/* 034CE4 7F0001B4 3C038003 */ lui $v1, %hi(num_female_heads) -/* 034CE8 7F0001B8 2463CD08 */ addiu $v1, %lo(num_female_heads) # addiu $v1, $v1, -0x32f8 -/* 034CEC 7F0001BC AC600000 */ sw $zero, ($v1) -/* 034CF0 7F0001C0 05400009 */ bltz $t2, .L7F0001E8 -/* 034CF4 7F0001C4 00001025 */ move $v0, $zero -/* 034CF8 7F0001C8 244B0001 */ addiu $t3, $v0, 1 -.L7F0001CC: -/* 034CFC 7F0001CC 000B6080 */ sll $t4, $t3, 2 -/* 034D00 7F0001D0 008C6821 */ addu $t5, $a0, $t4 -/* 034D04 7F0001D4 8DAE0000 */ lw $t6, ($t5) -/* 034D08 7F0001D8 AC6B0000 */ sw $t3, ($v1) -/* 034D0C 7F0001DC 01601025 */ move $v0, $t3 -/* 034D10 7F0001E0 05C3FFFA */ bgezl $t6, .L7F0001CC -/* 034D14 7F0001E4 244B0001 */ addiu $t3, $v0, 1 -.L7F0001E8: -/* 034D18 7F0001E8 03E00008 */ jr $ra -/* 034D1C 7F0001EC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0001F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0001F0 -/* 034D20 7F0001F0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 034D24 7F0001F4 AFB30028 */ sw $s3, 0x28($sp) -/* 034D28 7F0001F8 AFB20024 */ sw $s2, 0x24($sp) -/* 034D2C 7F0001FC AFB10020 */ sw $s1, 0x20($sp) -/* 034D30 7F000200 AFB0001C */ sw $s0, 0x1c($sp) -/* 034D34 7F000204 00A6082A */ slt $at, $a1, $a2 -/* 034D38 7F000208 00A08025 */ move $s0, $a1 -/* 034D3C 7F00020C 00C09025 */ move $s2, $a2 -/* 034D40 7F000210 00809825 */ move $s3, $a0 -/* 034D44 7F000214 AFBF0034 */ sw $ra, 0x34($sp) -/* 034D48 7F000218 AFB50030 */ sw $s5, 0x30($sp) -/* 034D4C 7F00021C AFB4002C */ sw $s4, 0x2c($sp) -/* 034D50 7F000220 10200011 */ beqz $at, .L7F000268 -/* 034D54 7F000224 00008825 */ move $s1, $zero -/* 034D58 7F000228 3C148004 */ lui $s4, %hi(model_guard_character) -/* 034D5C 7F00022C 2694D400 */ addiu $s4, %lo(model_guard_character) # addiu $s4, $s4, -0x2c00 -/* 034D60 7F000230 27B50040 */ addiu $s5, $sp, 0x40 -.L7F000234: -/* 034D64 7F000234 00002025 */ move $a0, $zero -/* 034D68 7F000238 00002825 */ move $a1, $zero -/* 034D6C 7F00023C 02803025 */ move $a2, $s4 -/* 034D70 7F000240 02603825 */ move $a3, $s3 -/* 034D74 7F000244 AFB00010 */ sw $s0, 0x10($sp) -/* 034D78 7F000248 0FC1B4B9 */ jal sub_GAME_7F06D2E4 -/* 034D7C 7F00024C AFB50014 */ sw $s5, 0x14($sp) -/* 034D80 7F000250 02228821 */ addu $s1, $s1, $v0 -/* 034D84 7F000254 26100001 */ addiu $s0, $s0, 1 -/* 034D88 7F000258 322EFFFF */ andi $t6, $s1, 0xffff -/* 034D8C 7F00025C 0212082A */ slt $at, $s0, $s2 -/* 034D90 7F000260 1420FFF4 */ bnez $at, .L7F000234 -/* 034D94 7F000264 01C08825 */ move $s1, $t6 -.L7F000268: -/* 034D98 7F000268 8FBF0034 */ lw $ra, 0x34($sp) -/* 034D9C 7F00026C 02201025 */ move $v0, $s1 -/* 034DA0 7F000270 8FB10020 */ lw $s1, 0x20($sp) -/* 034DA4 7F000274 8FB0001C */ lw $s0, 0x1c($sp) -/* 034DA8 7F000278 8FB20024 */ lw $s2, 0x24($sp) -/* 034DAC 7F00027C 8FB30028 */ lw $s3, 0x28($sp) -/* 034DB0 7F000280 8FB4002C */ lw $s4, 0x2c($sp) -/* 034DB4 7F000284 8FB50030 */ lw $s5, 0x30($sp) -/* 034DB8 7F000288 03E00008 */ jr $ra -/* 034DBC 7F00028C 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F000290(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F000290 -/* 034DC0 7F000290 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 034DC4 7F000294 AFB30028 */ sw $s3, 0x28($sp) -/* 034DC8 7F000298 AFB20024 */ sw $s2, 0x24($sp) -/* 034DCC 7F00029C AFB10020 */ sw $s1, 0x20($sp) -/* 034DD0 7F0002A0 AFB0001C */ sw $s0, 0x1c($sp) -/* 034DD4 7F0002A4 00A6082A */ slt $at, $a1, $a2 -/* 034DD8 7F0002A8 00A08025 */ move $s0, $a1 -/* 034DDC 7F0002AC 00C09025 */ move $s2, $a2 -/* 034DE0 7F0002B0 00809825 */ move $s3, $a0 -/* 034DE4 7F0002B4 AFBF0034 */ sw $ra, 0x34($sp) -/* 034DE8 7F0002B8 AFB50030 */ sw $s5, 0x30($sp) -/* 034DEC 7F0002BC AFB4002C */ sw $s4, 0x2c($sp) -/* 034DF0 7F0002C0 10200010 */ beqz $at, .L7F000304 -/* 034DF4 7F0002C4 00008825 */ move $s1, $zero -/* 034DF8 7F0002C8 3C148004 */ lui $s4, %hi(model_guard_character) -/* 034DFC 7F0002CC 2694D400 */ addiu $s4, %lo(model_guard_character) # addiu $s4, $s4, -0x2c00 -/* 034E00 7F0002D0 27B5003C */ addiu $s5, $sp, 0x3c -.L7F0002D4: -/* 034E04 7F0002D4 00002025 */ move $a0, $zero -/* 034E08 7F0002D8 00002825 */ move $a1, $zero -/* 034E0C 7F0002DC 02803025 */ move $a2, $s4 -/* 034E10 7F0002E0 02603825 */ move $a3, $s3 -/* 034E14 7F0002E4 AFB00010 */ sw $s0, 0x10($sp) -/* 034E18 7F0002E8 0FC1B4B9 */ jal sub_GAME_7F06D2E4 -/* 034E1C 7F0002EC AFB50014 */ sw $s5, 0x14($sp) -/* 034E20 7F0002F0 87AE0040 */ lh $t6, 0x40($sp) -/* 034E24 7F0002F4 26100001 */ addiu $s0, $s0, 1 -/* 034E28 7F0002F8 0212082A */ slt $at, $s0, $s2 -/* 034E2C 7F0002FC 1420FFF5 */ bnez $at, .L7F0002D4 -/* 034E30 7F000300 022E8821 */ addu $s1, $s1, $t6 -.L7F000304: -/* 034E34 7F000304 8FBF0034 */ lw $ra, 0x34($sp) -/* 034E38 7F000308 02201025 */ move $v0, $s1 -/* 034E3C 7F00030C 8FB10020 */ lw $s1, 0x20($sp) -/* 034E40 7F000310 8FB0001C */ lw $s0, 0x1c($sp) -/* 034E44 7F000314 8FB20024 */ lw $s2, 0x24($sp) -/* 034E48 7F000318 8FB30028 */ lw $s3, 0x28($sp) -/* 034E4C 7F00031C 8FB4002C */ lw $s4, 0x2c($sp) -/* 034E50 7F000320 8FB50030 */ lw $s5, 0x30($sp) -/* 034E54 7F000324 03E00008 */ jr $ra -/* 034E58 7F000328 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F00032C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel F32_8004ED70 -.word 0x40c90fdb -glabel F32_8004ED74 -.word 0x38c90fdb -.text -glabel sub_GAME_7F00032C -/* 034E5C 7F00032C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 034E60 7F000330 AFBF003C */ sw $ra, 0x3c($sp) -/* 034E64 7F000334 AFB30038 */ sw $s3, 0x38($sp) -/* 034E68 7F000338 AFB20034 */ sw $s2, 0x34($sp) -/* 034E6C 7F00033C AFB10030 */ sw $s1, 0x30($sp) -/* 034E70 7F000340 AFB0002C */ sw $s0, 0x2c($sp) -/* 034E74 7F000344 F7B80020 */ sdc1 $f24, 0x20($sp) -/* 034E78 7F000348 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 034E7C 7F00034C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 034E80 7F000350 8C8E0000 */ lw $t6, ($a0) -/* 034E84 7F000354 00008825 */ move $s1, $zero -/* 034E88 7F000358 00808025 */ move $s0, $a0 -/* 034E8C 7F00035C 11C00038 */ beqz $t6, .L7F000440 -/* 034E90 7F000360 01C01025 */ move $v0, $t6 -/* 034E94 7F000364 3C018005 */ lui $at, %hi(F32_8004ED70) -/* 034E98 7F000368 C438ED70 */ lwc1 $f24, %lo(F32_8004ED70)($at) -/* 034E9C 7F00036C 3C018005 */ lui $at, %hi(F32_8004ED74) -/* 034EA0 7F000370 3C128007 */ lui $s2, %hi(ptr_animation_table) -/* 034EA4 7F000374 4480A000 */ mtc1 $zero, $f20 -/* 034EA8 7F000378 26529538 */ addiu $s2, %lo(ptr_animation_table) # addiu $s2, $s2, -0x6ac8 -/* 034EAC 7F00037C C436ED74 */ lwc1 $f22, %lo(F32_8004ED74)($at) -/* 034EB0 7F000380 34138000 */ li $s3, 32768 -/* 034EB4 7F000384 8E4F0000 */ lw $t7, ($s2) -.L7F000388: -/* 034EB8 7F000388 C60C0004 */ lwc1 $f12, 4($s0) -/* 034EBC 7F00038C 004FC021 */ addu $t8, $v0, $t7 -/* 034EC0 7F000390 0FC170F6 */ jal sub_GAME_7F05C3D8 -/* 034EC4 7F000394 AE180000 */ sw $t8, ($s0) -/* 034EC8 7F000398 8E040000 */ lw $a0, ($s0) -/* 034ECC 7F00039C 00002825 */ move $a1, $zero -/* 034ED0 7F0003A0 0FC0007C */ jal sub_GAME_7F0001F0 -/* 034ED4 7F0003A4 00403025 */ move $a2, $v0 -/* 034ED8 7F0003A8 C6000004 */ lwc1 $f0, 4($s0) -/* 034EDC 7F0003AC 3043FFFF */ andi $v1, $v0, 0xffff -/* 034EE0 7F0003B0 0073082A */ slt $at, $v1, $s3 -/* 034EE4 7F0003B4 4600A03C */ c.lt.s $f20, $f0 -/* 034EE8 7F0003B8 00000000 */ nop -/* 034EEC 7F0003BC 4502001B */ bc1fl .L7F00042C -/* 034EF0 7F0003C0 E6140008 */ swc1 $f20, 8($s0) -/* 034EF4 7F0003C4 5020000D */ beql $at, $zero, .L7F0003FC -/* 034EF8 7F0003C8 44839000 */ mtc1 $v1, $f18 -/* 034EFC 7F0003CC 44832000 */ mtc1 $v1, $f4 -/* 034F00 7F0003D0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 034F04 7F0003D4 04610004 */ bgez $v1, .L7F0003E8 -/* 034F08 7F0003D8 468021A0 */ cvt.s.w $f6, $f4 -/* 034F0C 7F0003DC 44814000 */ mtc1 $at, $f8 -/* 034F10 7F0003E0 00000000 */ nop -/* 034F14 7F0003E4 46083180 */ add.s $f6, $f6, $f8 -.L7F0003E8: -/* 034F18 7F0003E8 46163282 */ mul.s $f10, $f6, $f22 -/* 034F1C 7F0003EC 46005403 */ div.s $f16, $f10, $f0 -/* 034F20 7F0003F0 1000000E */ b .L7F00042C -/* 034F24 7F0003F4 E6100008 */ swc1 $f16, 8($s0) -/* 034F28 7F0003F8 44839000 */ mtc1 $v1, $f18 -.L7F0003FC: -/* 034F2C 7F0003FC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 034F30 7F000400 04610004 */ bgez $v1, .L7F000414 -/* 034F34 7F000404 46809120 */ cvt.s.w $f4, $f18 -/* 034F38 7F000408 44814000 */ mtc1 $at, $f8 -/* 034F3C 7F00040C 00000000 */ nop -/* 034F40 7F000410 46082100 */ add.s $f4, $f4, $f8 -.L7F000414: -/* 034F44 7F000414 46162182 */ mul.s $f6, $f4, $f22 -/* 034F48 7F000418 46183281 */ sub.s $f10, $f6, $f24 -/* 034F4C 7F00041C 46005403 */ div.s $f16, $f10, $f0 -/* 034F50 7F000420 10000002 */ b .L7F00042C -/* 034F54 7F000424 E6100008 */ swc1 $f16, 8($s0) -/* 034F58 7F000428 E6140008 */ swc1 $f20, 8($s0) -.L7F00042C: -/* 034F5C 7F00042C 8E020048 */ lw $v0, 0x48($s0) -/* 034F60 7F000430 26100048 */ addiu $s0, $s0, 0x48 -/* 034F64 7F000434 26310001 */ addiu $s1, $s1, 1 -/* 034F68 7F000438 5440FFD3 */ bnezl $v0, .L7F000388 -/* 034F6C 7F00043C 8E4F0000 */ lw $t7, ($s2) -.L7F000440: -/* 034F70 7F000440 8FBF003C */ lw $ra, 0x3c($sp) -/* 034F74 7F000444 02201025 */ move $v0, $s1 -/* 034F78 7F000448 8FB10030 */ lw $s1, 0x30($sp) -/* 034F7C 7F00044C D7B40010 */ ldc1 $f20, 0x10($sp) -/* 034F80 7F000450 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 034F84 7F000454 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 034F88 7F000458 8FB0002C */ lw $s0, 0x2c($sp) -/* 034F8C 7F00045C 8FB20034 */ lw $s2, 0x34($sp) -/* 034F90 7F000460 8FB30038 */ lw $s3, 0x38($sp) -/* 034F94 7F000464 03E00008 */ jr $ra -/* 034F98 7F000468 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F00046C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F00046C -/* 034F9C 7F00046C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 034FA0 7F000470 AFB20020 */ sw $s2, 0x20($sp) -/* 034FA4 7F000474 AFB1001C */ sw $s1, 0x1c($sp) -/* 034FA8 7F000478 AFB00018 */ sw $s0, 0x18($sp) -/* 034FAC 7F00047C AFBF0024 */ sw $ra, 0x24($sp) -/* 034FB0 7F000480 00808025 */ move $s0, $a0 -/* 034FB4 7F000484 00008825 */ move $s1, $zero -/* 034FB8 7F000488 24120080 */ li $s2, 128 -.L7F00048C: -/* 034FBC 7F00048C 8E020000 */ lw $v0, ($s0) -/* 034FC0 7F000490 8C4E0004 */ lw $t6, 4($v0) -/* 034FC4 7F000494 05C30006 */ bgezl $t6, .L7F0004B0 -/* 034FC8 7F000498 26310004 */ addiu $s1, $s1, 4 -/* 034FCC 7F00049C 0FC000CB */ jal sub_GAME_7F00032C -/* 034FD0 7F0004A0 8C440000 */ lw $a0, ($v0) -/* 034FD4 7F0004A4 8E0F0000 */ lw $t7, ($s0) -/* 034FD8 7F0004A8 ADE20004 */ sw $v0, 4($t7) -/* 034FDC 7F0004AC 26310004 */ addiu $s1, $s1, 4 -.L7F0004B0: -/* 034FE0 7F0004B0 1632FFF6 */ bne $s1, $s2, .L7F00048C -/* 034FE4 7F0004B4 26100004 */ addiu $s0, $s0, 4 -/* 034FE8 7F0004B8 8FBF0024 */ lw $ra, 0x24($sp) -/* 034FEC 7F0004BC 8FB00018 */ lw $s0, 0x18($sp) -/* 034FF0 7F0004C0 8FB1001C */ lw $s1, 0x1c($sp) -/* 034FF4 7F0004C4 8FB20020 */ lw $s2, 0x20($sp) -/* 034FF8 7F0004C8 03E00008 */ jr $ra -/* 034FFC 7F0004CC 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0004D0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0004D0 -/* 035000 7F0004D0 8C8E0000 */ lw $t6, ($a0) -/* 035004 7F0004D4 00001825 */ move $v1, $zero -/* 035008 7F0004D8 00801025 */ move $v0, $a0 -/* 03500C 7F0004DC 11C0000C */ beqz $t6, .L7F000510 -/* 035010 7F0004E0 00000000 */ nop -/* 035014 7F0004E4 8C850000 */ lw $a1, ($a0) -/* 035018 7F0004E8 3C048007 */ lui $a0, %hi(ptr_animation_table) -/* 03501C 7F0004EC 24849538 */ addiu $a0, %lo(ptr_animation_table) # addiu $a0, $a0, -0x6ac8 -/* 035020 7F0004F0 8C8F0000 */ lw $t7, ($a0) -.L7F0004F4: -/* 035024 7F0004F4 24630001 */ addiu $v1, $v1, 1 -/* 035028 7F0004F8 2442001C */ addiu $v0, $v0, 0x1c -/* 03502C 7F0004FC 00AFC021 */ addu $t8, $a1, $t7 -/* 035030 7F000500 8C450000 */ lw $a1, ($v0) -/* 035034 7F000504 AC58FFE4 */ sw $t8, -0x1c($v0) -/* 035038 7F000508 54A0FFFA */ bnezl $a1, .L7F0004F4 -/* 03503C 7F00050C 8C8F0000 */ lw $t7, ($a0) -.L7F000510: -/* 035040 7F000510 03E00008 */ jr $ra -/* 035044 7F000514 00601025 */ move $v0, $v1 -) -#endif - - - -#ifdef NONMATCHING -void somethingwith_weapon_animation_groups(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel F32_8004ED78 -.word 0x3dccccce -.text -glabel somethingwith_weapon_animation_groups -/* 035048 7F000518 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 03504C 7F00051C 3C0E8003 */ lui $t6, %hi(D_8002C914) -/* 035050 7F000520 8DCEC914 */ lw $t6, %lo(D_8002C914)($t6) -/* 035054 7F000524 AFB10024 */ sw $s1, 0x24($sp) -/* 035058 7F000528 2411FFFF */ li $s1, -1 -/* 03505C 7F00052C AFBF002C */ sw $ra, 0x2c($sp) -/* 035060 7F000530 AFB20028 */ sw $s2, 0x28($sp) -/* 035064 7F000534 AFB00020 */ sw $s0, 0x20($sp) -/* 035068 7F000538 122E0013 */ beq $s1, $t6, .L7F000588 -/* 03506C 7F00053C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 035070 7F000540 3C108003 */ lui $s0, %hi(D_8002C914) -/* 035074 7F000544 2610C914 */ addiu $s0, %lo(D_8002C914) # addiu $s0, $s0, -0x36ec -/* 035078 7F000548 8E04001C */ lw $a0, 0x1c($s0) -.L7F00054C: -/* 03507C 7F00054C 50800005 */ beql $a0, $zero, .L7F000564 -/* 035080 7F000550 8E040024 */ lw $a0, 0x24($s0) -/* 035084 7F000554 0FC00134 */ jal sub_GAME_7F0004D0 -/* 035088 7F000558 00000000 */ nop -/* 03508C 7F00055C AE020020 */ sw $v0, 0x20($s0) -/* 035090 7F000560 8E040024 */ lw $a0, 0x24($s0) -.L7F000564: -/* 035094 7F000564 50800005 */ beql $a0, $zero, .L7F00057C -/* 035098 7F000568 8E0F002C */ lw $t7, 0x2c($s0) -/* 03509C 7F00056C 0FC00134 */ jal sub_GAME_7F0004D0 -/* 0350A0 7F000570 00000000 */ nop -/* 0350A4 7F000574 AE020028 */ sw $v0, 0x28($s0) -/* 0350A8 7F000578 8E0F002C */ lw $t7, 0x2c($s0) -.L7F00057C: -/* 0350AC 7F00057C 2610002C */ addiu $s0, $s0, 0x2c -/* 0350B0 7F000580 562FFFF2 */ bnel $s1, $t7, .L7F00054C -/* 0350B4 7F000584 8E04001C */ lw $a0, 0x1c($s0) -.L7F000588: -/* 0350B8 7F000588 3C048003 */ lui $a0, %hi(D_8002DEBC) -/* 0350BC 7F00058C 0FC00134 */ jal sub_GAME_7F0004D0 -/* 0350C0 7F000590 2484DEBC */ addiu $a0, %lo(D_8002DEBC) # addiu $a0, $a0, -0x2144 -/* 0350C4 7F000594 3C048003 */ lui $a0, %hi(ptr_rifle_firing_animation_groups) -/* 0350C8 7F000598 0FC0011B */ jal sub_GAME_7F00046C -/* 0350CC 7F00059C 2484ED28 */ addiu $a0, %lo(ptr_rifle_firing_animation_groups) # addiu $a0, $a0, -0x12d8 -/* 0350D0 7F0005A0 3C048003 */ lui $a0, %hi(ptr_pistol_firing_animation_groups) -/* 0350D4 7F0005A4 0FC0011B */ jal sub_GAME_7F00046C -/* 0350D8 7F0005A8 2484F408 */ addiu $a0, %lo(ptr_pistol_firing_animation_groups) # addiu $a0, $a0, -0xbf8 -/* 0350DC 7F0005AC 3C048003 */ lui $a0, %hi(ptr_doubles_firing_animation_groups) -/* 0350E0 7F0005B0 0FC0011B */ jal sub_GAME_7F00046C -/* 0350E4 7F0005B4 2484F6E0 */ addiu $a0, %lo(ptr_doubles_firing_animation_groups) # addiu $a0, $a0, -0x920 -/* 0350E8 7F0005B8 3C048003 */ lui $a0, %hi(ptr_crouched_rifle_firing_animation_groups) -/* 0350EC 7F0005BC 0FC0011B */ jal sub_GAME_7F00046C -/* 0350F0 7F0005C0 2484F970 */ addiu $a0, %lo(ptr_crouched_rifle_firing_animation_groups) # addiu $a0, $a0, -0x690 -/* 0350F4 7F0005C4 3C048003 */ lui $a0, %hi(ptr_crouched_pistol_firing_animation_groups) -/* 0350F8 7F0005C8 0FC0011B */ jal sub_GAME_7F00046C -/* 0350FC 7F0005CC 2484FCD8 */ addiu $a0, %lo(ptr_crouched_pistol_firing_animation_groups) # addiu $a0, $a0, -0x328 -/* 035100 7F0005D0 3C048003 */ lui $a0, %hi(ptr_crouched_doubles_firing_animation_groups) -/* 035104 7F0005D4 0FC0011B */ jal sub_GAME_7F00046C -/* 035108 7F0005D8 2484FFF8 */ addiu $a0, %lo(ptr_crouched_doubles_firing_animation_groups) # addiu $a0, $a0, -8 -/* 03510C 7F0005DC 3C048003 */ lui $a0, %hi(D_80030078) -/* 035110 7F0005E0 0FC000CB */ jal sub_GAME_7F00032C -/* 035114 7F0005E4 24840078 */ addiu $a0, %lo(D_80030078) # addiu $a0, $a0, 0x78 -/* 035118 7F0005E8 3C048003 */ lui $a0, %hi(D_80030660) -/* 03511C 7F0005EC 0FC000CB */ jal sub_GAME_7F00032C -/* 035120 7F0005F0 24840660 */ addiu $a0, %lo(D_80030660) # addiu $a0, $a0, 0x660 -/* 035124 7F0005F4 3C128007 */ lui $s2, %hi(ptr_animation_table) -/* 035128 7F0005F8 26529538 */ addiu $s2, %lo(ptr_animation_table) # addiu $s2, $s2, -0x6ac8 -/* 03512C 7F0005FC 8E580000 */ lw $t8, ($s2) -/* 035130 7F000600 3C110000 */ lui $s1, %hi(0x00004018) # $s1, 0 -/* 035134 7F000604 26314018 */ addiu $s1, %lo(0x00004018) # addiu $s1, $s1, 0x4018 -/* 035138 7F000608 02382021 */ addu $a0, $s1, $t8 -/* 03513C 7F00060C 94860004 */ lhu $a2, 4($a0) -/* 035140 7F000610 00002825 */ move $a1, $zero -/* 035144 7F000614 0FC000A4 */ jal sub_GAME_7F000290 -/* 035148 7F000618 24C6FFFF */ addiu $a2, $a2, -1 -/* 03514C 7F00061C 44822000 */ mtc1 $v0, $f4 -/* 035150 7F000620 8E500000 */ lw $s0, ($s2) -/* 035154 7F000624 3C018005 */ lui $at, %hi(F32_8004ED78) -/* 035158 7F000628 468021A0 */ cvt.s.w $f6, $f4 -/* 03515C 7F00062C 0230C821 */ addu $t9, $s1, $s0 -/* 035160 7F000630 97280004 */ lhu $t0, 4($t9) -/* 035164 7F000634 C434ED78 */ lwc1 $f20, %lo(F32_8004ED78)($at) -/* 035168 7F000638 44885000 */ mtc1 $t0, $f10 -/* 03516C 7F00063C 46143202 */ mul.s $f8, $f6, $f20 -/* 035170 7F000640 05010005 */ bgez $t0, .L7F000658 -/* 035174 7F000644 46805420 */ cvt.s.w $f16, $f10 -/* 035178 7F000648 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 03517C 7F00064C 44819000 */ mtc1 $at, $f18 -/* 035180 7F000650 00000000 */ nop -/* 035184 7F000654 46128400 */ add.s $f16, $f16, $f18 -.L7F000658: -/* 035188 7F000658 46104103 */ div.s $f4, $f8, $f16 -/* 03518C 7F00065C 3C030000 */ lui $v1, %hi(0x000040D4) # $v1, 0 -/* 035190 7F000660 3C018003 */ lui $at, %hi(D_80030984) -/* 035194 7F000664 246340D4 */ addiu $v1, %lo(0x000040D4) # addiu $v1, $v1, 0x40d4 -/* 035198 7F000668 00702021 */ addu $a0, $v1, $s0 -/* 03519C 7F00066C 00002825 */ move $a1, $zero -/* 0351A0 7F000670 E4240984 */ swc1 $f4, %lo(D_80030984)($at) -/* 0351A4 7F000674 94860004 */ lhu $a2, 4($a0) -/* 0351A8 7F000678 AFA30034 */ sw $v1, 0x34($sp) -/* 0351AC 7F00067C 0FC000A4 */ jal sub_GAME_7F000290 -/* 0351B0 7F000680 24C6FFFF */ addiu $a2, $a2, -1 -/* 0351B4 7F000684 44823000 */ mtc1 $v0, $f6 -/* 0351B8 7F000688 8FA30034 */ lw $v1, 0x34($sp) -/* 0351BC 7F00068C 8E500000 */ lw $s0, ($s2) -/* 0351C0 7F000690 468032A0 */ cvt.s.w $f10, $f6 -/* 0351C4 7F000694 00704821 */ addu $t1, $v1, $s0 -/* 0351C8 7F000698 952A0004 */ lhu $t2, 4($t1) -/* 0351CC 7F00069C 448A4000 */ mtc1 $t2, $f8 -/* 0351D0 7F0006A0 46145482 */ mul.s $f18, $f10, $f20 -/* 0351D4 7F0006A4 05410005 */ bgez $t2, .L7F0006BC -/* 0351D8 7F0006A8 46804420 */ cvt.s.w $f16, $f8 -/* 0351DC 7F0006AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0351E0 7F0006B0 44812000 */ mtc1 $at, $f4 -/* 0351E4 7F0006B4 00000000 */ nop -/* 0351E8 7F0006B8 46048400 */ add.s $f16, $f16, $f4 -.L7F0006BC: -/* 0351EC 7F0006BC 46109183 */ div.s $f6, $f18, $f16 -/* 0351F0 7F0006C0 3C110000 */ lui $s1, %hi(0x00004070) # $s1, 0 -/* 0351F4 7F0006C4 3C018003 */ lui $at, %hi(D_80030988) -/* 0351F8 7F0006C8 26314070 */ addiu $s1, %lo(0x00004070) # addiu $s1, $s1, 0x4070 -/* 0351FC 7F0006CC 02302021 */ addu $a0, $s1, $s0 -/* 035200 7F0006D0 00002825 */ move $a1, $zero -/* 035204 7F0006D4 E4260988 */ swc1 $f6, %lo(D_80030988)($at) -/* 035208 7F0006D8 94860004 */ lhu $a2, 4($a0) -/* 03520C 7F0006DC 0FC000A4 */ jal sub_GAME_7F000290 -/* 035210 7F0006E0 24C6FFFF */ addiu $a2, $a2, -1 -/* 035214 7F0006E4 44825000 */ mtc1 $v0, $f10 -/* 035218 7F0006E8 8E500000 */ lw $s0, ($s2) -/* 03521C 7F0006EC 46805220 */ cvt.s.w $f8, $f10 -/* 035220 7F0006F0 02305821 */ addu $t3, $s1, $s0 -/* 035224 7F0006F4 956C0004 */ lhu $t4, 4($t3) -/* 035228 7F0006F8 448C9000 */ mtc1 $t4, $f18 -/* 03522C 7F0006FC 46144102 */ mul.s $f4, $f8, $f20 -/* 035230 7F000700 05810005 */ bgez $t4, .L7F000718 -/* 035234 7F000704 46809420 */ cvt.s.w $f16, $f18 -/* 035238 7F000708 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 03523C 7F00070C 44813000 */ mtc1 $at, $f6 -/* 035240 7F000710 00000000 */ nop -/* 035244 7F000714 46068400 */ add.s $f16, $f16, $f6 -.L7F000718: -/* 035248 7F000718 46102283 */ div.s $f10, $f4, $f16 -/* 03524C 7F00071C 3C030001 */ lui $v1, %hi(0x00008204) # $v1, 1 -/* 035250 7F000720 3C018003 */ lui $at, %hi(D_8003098C) -/* 035254 7F000724 24638204 */ addiu $v1, %lo(0x00008204) # addiu $v1, $v1, -0x7dfc -/* 035258 7F000728 00702021 */ addu $a0, $v1, $s0 -/* 03525C 7F00072C 00002825 */ move $a1, $zero -/* 035260 7F000730 E42A098C */ swc1 $f10, %lo(D_8003098C)($at) -/* 035264 7F000734 94860004 */ lhu $a2, 4($a0) -/* 035268 7F000738 AFA30034 */ sw $v1, 0x34($sp) -/* 03526C 7F00073C 0FC000A4 */ jal sub_GAME_7F000290 -/* 035270 7F000740 24C6FFFF */ addiu $a2, $a2, -1 -/* 035274 7F000744 44824000 */ mtc1 $v0, $f8 -/* 035278 7F000748 8FA30034 */ lw $v1, 0x34($sp) -/* 03527C 7F00074C 8E500000 */ lw $s0, ($s2) -/* 035280 7F000750 468044A0 */ cvt.s.w $f18, $f8 -/* 035284 7F000754 00706821 */ addu $t5, $v1, $s0 -/* 035288 7F000758 95AE0004 */ lhu $t6, 4($t5) -/* 03528C 7F00075C 448E2000 */ mtc1 $t6, $f4 -/* 035290 7F000760 46149182 */ mul.s $f6, $f18, $f20 -/* 035294 7F000764 05C10005 */ bgez $t6, .L7F00077C -/* 035298 7F000768 46802420 */ cvt.s.w $f16, $f4 -/* 03529C 7F00076C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0352A0 7F000770 44815000 */ mtc1 $at, $f10 -/* 0352A4 7F000774 00000000 */ nop -/* 0352A8 7F000778 460A8400 */ add.s $f16, $f16, $f10 -.L7F00077C: -/* 0352AC 7F00077C 46103203 */ div.s $f8, $f6, $f16 -/* 0352B0 7F000780 3C070000 */ lui $a3, %hi(0x0000777C) # $a3, 0 -/* 0352B4 7F000784 3C018003 */ lui $at, %hi(D_80030990) -/* 0352B8 7F000788 24E7777C */ addiu $a3, %lo(0x0000777C) # addiu $a3, $a3, 0x777c -/* 0352BC 7F00078C 00F02021 */ addu $a0, $a3, $s0 -/* 0352C0 7F000790 00002825 */ move $a1, $zero -/* 0352C4 7F000794 E4280990 */ swc1 $f8, %lo(D_80030990)($at) -/* 0352C8 7F000798 94860004 */ lhu $a2, 4($a0) -/* 0352CC 7F00079C AFA70038 */ sw $a3, 0x38($sp) -/* 0352D0 7F0007A0 0FC000A4 */ jal sub_GAME_7F000290 -/* 0352D4 7F0007A4 24C6FFFF */ addiu $a2, $a2, -1 -/* 0352D8 7F0007A8 44829000 */ mtc1 $v0, $f18 -/* 0352DC 7F0007AC 8FA70038 */ lw $a3, 0x38($sp) -/* 0352E0 7F0007B0 8E500000 */ lw $s0, ($s2) -/* 0352E4 7F0007B4 46809120 */ cvt.s.w $f4, $f18 -/* 0352E8 7F0007B8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0352EC 7F0007BC 00F07821 */ addu $t7, $a3, $s0 -/* 0352F0 7F0007C0 95F80004 */ lhu $t8, 4($t7) -/* 0352F4 7F0007C4 44983000 */ mtc1 $t8, $f6 -/* 0352F8 7F0007C8 46142282 */ mul.s $f10, $f4, $f20 -/* 0352FC 7F0007CC 07010004 */ bgez $t8, .L7F0007E0 -/* 035300 7F0007D0 46803420 */ cvt.s.w $f16, $f6 -/* 035304 7F0007D4 44814000 */ mtc1 $at, $f8 -/* 035308 7F0007D8 00000000 */ nop -/* 03530C 7F0007DC 46088400 */ add.s $f16, $f16, $f8 -.L7F0007E0: -/* 035310 7F0007E0 46105483 */ div.s $f18, $f10, $f16 -/* 035314 7F0007E4 3C110000 */ lui $s1, %hi(0x000077D4) # $s1, 0 -/* 035318 7F0007E8 3C018003 */ lui $at, %hi(D_80030994) -/* 03531C 7F0007EC 263177D4 */ addiu $s1, %lo(0x000077D4) # addiu $s1, $s1, 0x77d4 -/* 035320 7F0007F0 02302021 */ addu $a0, $s1, $s0 -/* 035324 7F0007F4 00002825 */ move $a1, $zero -/* 035328 7F0007F8 E4320994 */ swc1 $f18, %lo(D_80030994)($at) -/* 03532C 7F0007FC 94860004 */ lhu $a2, 4($a0) -/* 035330 7F000800 0FC000A4 */ jal sub_GAME_7F000290 -/* 035334 7F000804 24C6FFFF */ addiu $a2, $a2, -1 -/* 035338 7F000808 44822000 */ mtc1 $v0, $f4 -/* 03533C 7F00080C 8E500000 */ lw $s0, ($s2) -/* 035340 7F000810 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 035344 7F000814 468021A0 */ cvt.s.w $f6, $f4 -/* 035348 7F000818 0230C821 */ addu $t9, $s1, $s0 -/* 03534C 7F00081C 97280004 */ lhu $t0, 4($t9) -/* 035350 7F000820 44885000 */ mtc1 $t0, $f10 -/* 035354 7F000824 46143202 */ mul.s $f8, $f6, $f20 -/* 035358 7F000828 05010004 */ bgez $t0, .L7F00083C -/* 03535C 7F00082C 46805420 */ cvt.s.w $f16, $f10 -/* 035360 7F000830 44819000 */ mtc1 $at, $f18 -/* 035364 7F000834 00000000 */ nop -/* 035368 7F000838 46128400 */ add.s $f16, $f16, $f18 -.L7F00083C: -/* 03536C 7F00083C 46104103 */ div.s $f4, $f8, $f16 -/* 035370 7F000840 3C030001 */ lui $v1, %hi(0x000084C4) # $v1, 1 -/* 035374 7F000844 3C018003 */ lui $at, %hi(D_80030998) -/* 035378 7F000848 246384C4 */ addiu $v1, %lo(0x000084C4) # addiu $v1, $v1, -0x7b3c -/* 03537C 7F00084C 00702021 */ addu $a0, $v1, $s0 -/* 035380 7F000850 00002825 */ move $a1, $zero -/* 035384 7F000854 E4240998 */ swc1 $f4, %lo(D_80030998)($at) -/* 035388 7F000858 94860004 */ lhu $a2, 4($a0) -/* 03538C 7F00085C AFA30038 */ sw $v1, 0x38($sp) -/* 035390 7F000860 0FC000A4 */ jal sub_GAME_7F000290 -/* 035394 7F000864 24C6FFFF */ addiu $a2, $a2, -1 -/* 035398 7F000868 44823000 */ mtc1 $v0, $f6 -/* 03539C 7F00086C 8FA30038 */ lw $v1, 0x38($sp) -/* 0353A0 7F000870 8E500000 */ lw $s0, ($s2) -/* 0353A4 7F000874 468032A0 */ cvt.s.w $f10, $f6 -/* 0353A8 7F000878 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0353AC 7F00087C 00704821 */ addu $t1, $v1, $s0 -/* 0353B0 7F000880 952A0004 */ lhu $t2, 4($t1) -/* 0353B4 7F000884 448A4000 */ mtc1 $t2, $f8 -/* 0353B8 7F000888 46145482 */ mul.s $f18, $f10, $f20 -/* 0353BC 7F00088C 05410004 */ bgez $t2, .L7F0008A0 -/* 0353C0 7F000890 46804420 */ cvt.s.w $f16, $f8 -/* 0353C4 7F000894 44812000 */ mtc1 $at, $f4 -/* 0353C8 7F000898 00000000 */ nop -/* 0353CC 7F00089C 46048400 */ add.s $f16, $f16, $f4 -.L7F0008A0: -/* 0353D0 7F0008A0 46109183 */ div.s $f6, $f18, $f16 -/* 0353D4 7F0008A4 3C070001 */ lui $a3, %hi(0x00008520) # $a3, 1 -/* 0353D8 7F0008A8 3C018003 */ lui $at, %hi(D_8003099C) -/* 0353DC 7F0008AC 24E78520 */ addiu $a3, %lo(0x00008520) # addiu $a3, $a3, -0x7ae0 -/* 0353E0 7F0008B0 00F02021 */ addu $a0, $a3, $s0 -/* 0353E4 7F0008B4 00002825 */ move $a1, $zero -/* 0353E8 7F0008B8 E426099C */ swc1 $f6, %lo(D_8003099C)($at) -/* 0353EC 7F0008BC 94860004 */ lhu $a2, 4($a0) -/* 0353F0 7F0008C0 AFA70030 */ sw $a3, 0x30($sp) -/* 0353F4 7F0008C4 0FC000A4 */ jal sub_GAME_7F000290 -/* 0353F8 7F0008C8 24C6FFFF */ addiu $a2, $a2, -1 -/* 0353FC 7F0008CC 44825000 */ mtc1 $v0, $f10 -/* 035400 7F0008D0 8FA70030 */ lw $a3, 0x30($sp) -/* 035404 7F0008D4 8E500000 */ lw $s0, ($s2) -/* 035408 7F0008D8 46805220 */ cvt.s.w $f8, $f10 -/* 03540C 7F0008DC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 035410 7F0008E0 00F05821 */ addu $t3, $a3, $s0 -/* 035414 7F0008E4 956C0004 */ lhu $t4, 4($t3) -/* 035418 7F0008E8 448C9000 */ mtc1 $t4, $f18 -/* 03541C 7F0008EC 46144102 */ mul.s $f4, $f8, $f20 -/* 035420 7F0008F0 05810004 */ bgez $t4, .L7F000904 -/* 035424 7F0008F4 46809420 */ cvt.s.w $f16, $f18 -/* 035428 7F0008F8 44813000 */ mtc1 $at, $f6 -/* 03542C 7F0008FC 00000000 */ nop -/* 035430 7F000900 46068400 */ add.s $f16, $f16, $f6 -.L7F000904: -/* 035434 7F000904 46102283 */ div.s $f10, $f4, $f16 -/* 035438 7F000908 3C018003 */ lui $at, %hi(D_800309A0) -/* 03543C 7F00090C 02302021 */ addu $a0, $s1, $s0 -/* 035440 7F000910 00002825 */ move $a1, $zero -/* 035444 7F000914 E42A09A0 */ swc1 $f10, %lo(D_800309A0)($at) -/* 035448 7F000918 94860004 */ lhu $a2, 4($a0) -/* 03544C 7F00091C 0FC000A4 */ jal sub_GAME_7F000290 -/* 035450 7F000920 24C6FFFF */ addiu $a2, $a2, -1 -/* 035454 7F000924 44824000 */ mtc1 $v0, $f8 -/* 035458 7F000928 8E4D0000 */ lw $t5, ($s2) -/* 03545C 7F00092C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 035460 7F000930 468044A0 */ cvt.s.w $f18, $f8 -/* 035464 7F000934 022D7021 */ addu $t6, $s1, $t5 -/* 035468 7F000938 95CF0004 */ lhu $t7, 4($t6) -/* 03546C 7F00093C 448F2000 */ mtc1 $t7, $f4 -/* 035470 7F000940 46149182 */ mul.s $f6, $f18, $f20 -/* 035474 7F000944 05E10004 */ bgez $t7, .L7F000958 -/* 035478 7F000948 46802420 */ cvt.s.w $f16, $f4 -/* 03547C 7F00094C 44815000 */ mtc1 $at, $f10 -/* 035480 7F000950 00000000 */ nop -/* 035484 7F000954 460A8400 */ add.s $f16, $f16, $f10 -.L7F000958: -/* 035488 7F000958 46103203 */ div.s $f8, $f6, $f16 -/* 03548C 7F00095C 8FBF002C */ lw $ra, 0x2c($sp) -/* 035490 7F000960 3C018003 */ lui $at, %hi(D_800309A4) -/* 035494 7F000964 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 035498 7F000968 8FB00020 */ lw $s0, 0x20($sp) -/* 03549C 7F00096C 8FB10024 */ lw $s1, 0x24($sp) -/* 0354A0 7F000970 8FB20028 */ lw $s2, 0x28($sp) -/* 0354A4 7F000974 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0354A8 7F000978 03E00008 */ jr $ra -/* 0354AC 7F00097C E42809A4 */ swc1 $f8, %lo(D_800309A4)($at) -) -#endif - - - -void sub_GAME_7F000980(void) { - sub_GAME_7F0009A0(); -} - - -extern char dword_CODE_bss_80075DC8[20][160]; // TODO: This seems like an array of 20 of these. Fix the other files? (Aliasing violation) - -void sub_GAME_7F0009A0(void) { - u32 *end = &dword_CODE_bss_80075DC8[20]; - u32 *ptr = &dword_CODE_bss_80075DC8[0]; - while(end > ptr) { - ptr[39] = 0; - ptr += 0x28; - } -} diff --git a/src/game/initactorpropstuff.h b/src/game/initactorpropstuff.h deleted file mode 100644 index f82ce23..0000000 --- a/src/game/initactorpropstuff.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _INITACTORPROPSTUFF_H_ -#define _INITACTORPROPSTUFF_H_ - -#include "ultra64.h" - -void sub_GAME_7F0009A0(void); - -#endif diff --git a/src/game/initanitable.c b/src/game/initanitable.c deleted file mode 100644 index 6b9ccbf..0000000 --- a/src/game/initanitable.c +++ /dev/null @@ -1,164 +0,0 @@ -#include "ultra64.h" - - -//bss -char dword_CODE_bss_80069170[0x2D0]; -OSMesgQueue animMsgQ; -char dword_CODE_bss_80069458[0xC0]; -OSMesg animMesg[8]; -s32 *ptr_animation_table; - - -//data -void * D_80029D60[] = {NULL, &dword_CODE_bss_80069170, &dword_CODE_bss_80069170}; - -s32 animation_table_ptrs1[] = { - 0x1C, 0x144, 0x214, 0x318, 0x3C4, 0x610, 0x814, 0x990, 0xB84, 0xDB4, - 0x1028, 0x1334, 0x1578, 0x17B4, 0x186C, 0x1984, 0x1A6C, 0x1B54, 0x1C9C, - 0x1E40, 0x1F84, 0x2134, 0x282C, 0x299C, 0x2E64, 0x2F94, 0x30B8, 0x31DC, - 0x32C8, 0x33AC, 0x34D4, 0x35C8, 0x36D8, 0x384C, 0x39C0, 0x3AF0, 0x3C10, - 0x3D04, 0x3D9C, 0x3FA0, 0x4018, 0x4070, 0x40D4, 0x4144, 0x4298, 0x42C8, - 0x4384, 0x4504, 0x4574, 0x45CC, 1, 1, 0x47BC, 0x4A40, 0x4CE0, 0x4F14, - 0x51C4, 0x540C, 0x54A0, 0x5554, 0x5684, 0x5744, 0x5964, 0x5D10, 0x5EF0, - 0x60D4, 0x6254, 0x637C, 0x6484, 0x6554, 0x6644, 0x6738, 0x6808, 0x694C, - 0x6A18, 0x6C18, 0x6D50, 0x6F08, 0x700C, 0x71D0, 0x7304, 0x7430, 0x74A4, - 0x7514, 0x7588, 0x75EC, 0x7650, 0x76B8, 0x7714, 0x777C, 0x77D4, 1, 1, - 1, 1, 1, 1, 0x78C8, 0x7AA8, 0x7C4C, 0x7D04, 0x7DD8, 0x7F0C, 0x7FB4, 0x8080, - 0x8164, 0x8194, 0x8204, 0x8274, 0x82E0, 0x8340, 0x83A4, 0x8404, 0x845C, - 0x84C4, 0x8520, 0x8698, 0x8800, 0x8978, 0x8AAC, 0x8BF0, 0x8D28, 0x8E1C, - 0x8F2C, 0x9084, 0x9194, 0x92EC, 0x9444, 0x95FC, 0x97BC, 0x98C8, 0x9A2C, - 0x9B48, 0x9C4C, 0x9D5C, 0x9E44, 0x9F48, 0xA094, 0xA1B8, 0xA2F8, 0xA424, - 0xA538, 0xA650, 1, 1, 1, 1, 0xA6B0, 0xA704, 0xA8BC, 0xA94C, 0xA9DC, 0xACAC, - 0xB174, 0xB2AC, 0xB528, 0xB6B0, 0xB7C8, 0xB854, 0xB9A8, 0xBC40, 0xBF80, - 0xC224, 0xC410, 0xC544, 0xC838, 0xCB78, 0xCE6C, 0xD0A8, 1, 0xD348, 0xD54C, - 0xD5E4, 0xD668, 0xD6F8, 0xD728, 0xD89C, 0xDBE4, 0xDD20, 0xE05C, 0xE08C, - 0xE0BC, 0xE18C, 0 }; - -s32 animation_table_ptrs2[] = { 0xE470, 0xE5F4, 0xE7C0, 0 }; - - -#ifdef NONMATCHING -void expand_ani_table_entries(void) { - -} -#else -GLOBAL_ASM( -.text -glabel expand_ani_table_entries -/* 035530 7F000A00 8C830000 */ lw $v1, ($a0) -/* 035534 7F000A04 3C068007 */ lui $a2, %hi(ptr_animation_table) -/* 035538 7F000A08 00801025 */ move $v0, $a0 -/* 03553C 7F000A0C 10600017 */ beqz $v1, .L7F000A6C -/* 035540 7F000A10 24C69538 */ addiu $a2, %lo(ptr_animation_table) # addiu $a2, $a2, -0x6ac8 -/* 035544 7F000A14 8C830000 */ lw $v1, ($a0) -/* 035548 7F000A18 24050001 */ li $a1, 1 -.L7F000A1C: -/* 03554C 7F000A1C 50A3000E */ beql $a1, $v1, .L7F000A58 -/* 035550 7F000A20 8C430004 */ lw $v1, 4($v0) -/* 035554 7F000A24 8CCE0000 */ lw $t6, ($a2) -/* 035558 7F000A28 006E7821 */ addu $t7, $v1, $t6 -/* 03555C 7F000A2C AC4F0000 */ sw $t7, ($v0) -/* 035560 7F000A30 8CD90000 */ lw $t9, ($a2) -/* 035564 7F000A34 8DF80008 */ lw $t8, 8($t7) -/* 035568 7F000A38 03194021 */ addu $t0, $t8, $t9 -/* 03556C 7F000A3C ADE80008 */ sw $t0, 8($t7) -/* 035570 7F000A40 8C430000 */ lw $v1, ($v0) -/* 035574 7F000A44 8CCA0000 */ lw $t2, ($a2) -/* 035578 7F000A48 8C690010 */ lw $t1, 0x10($v1) -/* 03557C 7F000A4C 012A5821 */ addu $t3, $t1, $t2 -/* 035580 7F000A50 AC6B0010 */ sw $t3, 0x10($v1) -/* 035584 7F000A54 8C430004 */ lw $v1, 4($v0) -.L7F000A58: -/* 035588 7F000A58 24420004 */ addiu $v0, $v0, 4 -/* 03558C 7F000A5C 1460FFEF */ bnez $v1, .L7F000A1C -/* 035590 7F000A60 00000000 */ nop -/* 035594 7F000A64 00801025 */ move $v0, $a0 -/* 035598 7F000A68 8C830000 */ lw $v1, ($a0) -.L7F000A6C: -/* 03559C 7F000A6C 1060000D */ beqz $v1, .L7F000AA4 -/* 0355A0 7F000A70 24050001 */ li $a1, 1 -/* 0355A4 7F000A74 3C040012 */ lui $a0, %hi(_animation_tableSegmentRomStart) # $a0, 0x12 -/* 0355A8 7F000A78 24844AC0 */ addiu $a0, %lo(_animation_tableSegmentRomStart) # addiu $a0, $a0, 0x4ac0 -/* 0355AC 7F000A7C 8C430000 */ lw $v1, ($v0) -.L7F000A80: -/* 0355B0 7F000A80 50A30005 */ beql $a1, $v1, .L7F000A98 -/* 0355B4 7F000A84 8C430004 */ lw $v1, 4($v0) -/* 0355B8 7F000A88 8C6C0000 */ lw $t4, ($v1) -/* 0355BC 7F000A8C 01846821 */ addu $t5, $t4, $a0 -/* 0355C0 7F000A90 AC6D0000 */ sw $t5, ($v1) -/* 0355C4 7F000A94 8C430004 */ lw $v1, 4($v0) -.L7F000A98: -/* 0355C8 7F000A98 24420004 */ addiu $v0, $v0, 4 -/* 0355CC 7F000A9C 1460FFF8 */ bnez $v1, .L7F000A80 -/* 0355D0 7F000AA0 00000000 */ nop -.L7F000AA4: -/* 0355D4 7F000AA4 03E00008 */ jr $ra -/* 0355D8 7F000AA8 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void alloc_load_expand_ani_table(void) { - s32 temp_a2; - ? temp_ret; - - // Node 0 - osCreateMesgQueue(&animMsgQ, &animMesg, 8); - sub_GAME_7F0009E0(&D_80029D60, &animMsgQ, &dword_CODE_bss_80069458); - temp_a2 = (&0x0000E7E0 - 0); - 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); - expand_ani_table_entries(&animation_table_ptrs2); -} -#else -GLOBAL_ASM( -.text -glabel alloc_load_expand_ani_table -/* 0355DC 7F000AAC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0355E0 7F000AB0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0355E4 7F000AB4 3C048007 */ lui $a0, %hi(animMsgQ) -/* 0355E8 7F000AB8 3C058007 */ lui $a1, %hi(animMesg) -/* 0355EC 7F000ABC 24A59518 */ addiu $a1, %lo(animMesg) # addiu $a1, $a1, -0x6ae8 -/* 0355F0 7F000AC0 24849440 */ addiu $a0, %lo(animMsgQ) # addiu $a0, $a0, -0x6bc0 -/* 0355F4 7F000AC4 0C0035B4 */ jal osCreateMesgQueue -/* 0355F8 7F000AC8 24060008 */ li $a2, 8 -/* 0355FC 7F000ACC 3C048003 */ lui $a0, %hi(D_80029D60) -/* 035600 7F000AD0 3C058007 */ lui $a1, %hi(animMsgQ) -/* 035604 7F000AD4 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069458) -/* 035608 7F000AD8 24C69458 */ addiu $a2, %lo(dword_CODE_bss_80069458) # addiu $a2, $a2, -0x6ba8 -/* 03560C 7F000ADC 24A59440 */ addiu $a1, %lo(animMsgQ) # addiu $a1, $a1, -0x6bc0 -/* 035610 7F000AE0 0FC00278 */ jal sub_GAME_7F0009E0 -/* 035614 7F000AE4 24849D60 */ addiu $a0, %lo(D_80029D60) # addiu $a0, $a0, -0x62a0 -/* 035618 7F000AE8 3C0E0001 */ lui $t6, %hi(0x0000E7E0) # $t6, 1 -/* 03561C 7F000AEC 3C0F0000 */ lui $t7, 0 -/* 035620 7F000AF0 25EF0000 */ addiu $t7, $t7, 0 -/* 035624 7F000AF4 25CEE7E0 */ addiu $t6, %lo(0x0000E7E0) # addiu $t6, $t6, -0x1820 -/* 035628 7F000AF8 01CF3023 */ subu $a2, $t6, $t7 -/* 03562C 7F000AFC 00C02025 */ move $a0, $a2 -/* 035630 7F000B00 AFA60018 */ sw $a2, 0x18($sp) -/* 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 -/* 035644 7F000B14 3C050029 */ lui $a1, %hi(_animation_dataSegmentRomStart) # $a1, 0x29 -/* 035648 7F000B18 AC620000 */ sw $v0, ($v1) -/* 03564C 7F000B1C 8FA60018 */ lw $a2, 0x18($sp) -/* 035650 7F000B20 24A5E980 */ addiu $a1, %lo(_animation_dataSegmentRomStart) # addiu $a1, $a1, -0x1680 -/* 035654 7F000B24 0C001707 */ jal romCopy -/* 035658 7F000B28 00402025 */ move $a0, $v0 -/* 03565C 7F000B2C 3C048003 */ lui $a0, %hi(animation_table_ptrs1) -/* 035660 7F000B30 0FC00280 */ jal expand_ani_table_entries -/* 035664 7F000B34 24849D6C */ addiu $a0, %lo(animation_table_ptrs1) # addiu $a0, $a0, -0x6294 -/* 035668 7F000B38 3C048003 */ lui $a0, %hi(animation_table_ptrs2) -/* 03566C 7F000B3C 0FC00280 */ jal expand_ani_table_entries -/* 035670 7F000B40 2484A04C */ addiu $a0, %lo(animation_table_ptrs2) # addiu $a0, $a0, -0x5fb4 -/* 035674 7F000B44 8FBF0014 */ lw $ra, 0x14($sp) -/* 035678 7F000B48 27BD0020 */ addiu $sp, $sp, 0x20 -/* 03567C 7F000B4C 03E00008 */ jr $ra -/* 035680 7F000B50 00000000 */ nop -) -#endif - diff --git a/src/game/initcameraandthrown.c b/src/game/initcameraandthrown.c deleted file mode 100644 index 21705ac..0000000 --- a/src/game/initcameraandthrown.c +++ /dev/null @@ -1,1632 +0,0 @@ -#include "ultra64.h" - - - -// data -//D:8002A780 -u32 D_8002A780 = 0; -//D:8002A784 -u32 D_8002A784 = 0; -//D:8002A788 -u32 D_8002A788 = 0; - - - - - - -#ifdef NONMATCHING -void set_weapon_model_generated_thrown_object(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -.text -glabel set_weapon_model_generated_thrown_object -/* 03A240 7F005710 248EFFFD */ addiu $t6, $a0, -3 -/* 03A244 7F005714 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03A248 7F005718 2DC1002E */ sltiu $at, $t6, 0x2e -/* 03A24C 7F00571C AFBF0014 */ sw $ra, 0x14($sp) -/* 03A250 7F005720 1020001E */ beqz $at, .L7F00579C -/* 03A254 7F005724 2405FFFF */ li $a1, -1 -/* 03A258 7F005728 000E7080 */ sll $t6, $t6, 2 -/* 03A25C 7F00572C 3C018005 */ lui $at, %hi(projectile_ptr_table) -/* 03A260 7F005730 002E0821 */ addu $at, $at, $t6 -/* 03A264 7F005734 8C2EF0F0 */ lw $t6, %lo(projectile_ptr_table)($at) -/* 03A268 7F005738 01C00008 */ jr $t6 -/* 03A26C 7F00573C 00000000 */ nop -throwingknife: -/* 03A270 7F005740 10000016 */ b .L7F00579C -/* 03A274 7F005744 240500BA */ li $a1, 186 -grenade_launch_round: -/* 03A278 7F005748 10000014 */ b .L7F00579C -/* 03A27C 7F00574C 240500CB */ li $a1, 203 -rocket: -/* 03A280 7F005750 10000012 */ b .L7F00579C -/* 03A284 7F005754 240500CA */ li $a1, 202 -grenade: -/* 03A288 7F005758 10000010 */ b .L7F00579C -/* 03A28C 7F00575C 240500C4 */ li $a1, 196 -timed_mine: -/* 03A290 7F005760 1000000E */ b .L7F00579C -/* 03A294 7F005764 240500C9 */ li $a1, 201 -prox_mine: -/* 03A298 7F005768 1000000C */ b .L7F00579C -/* 03A29C 7F00576C 240500C8 */ li $a1, 200 -remote_mine: -/* 03A2A0 7F005770 1000000A */ b .L7F00579C -/* 03A2A4 7F005774 240500C7 */ li $a1, 199 -rocket_0: -/* 03A2A8 7F005778 10000008 */ b .L7F00579C -/* 03A2AC 7F00577C 240500CA */ li $a1, 202 -bombcase: -/* 03A2B0 7F005780 10000006 */ b .L7F00579C -/* 03A2B4 7F005784 240500E2 */ li $a1, 226 -plastique: -/* 03A2B8 7F005788 10000004 */ b .L7F00579C -/* 03A2BC 7F00578C 24050111 */ li $a1, 273 -bug: -/* 03A2C0 7F005790 10000002 */ b .L7F00579C -/* 03A2C4 7F005794 240500F5 */ li $a1, 245 -microcamera: -/* 03A2C8 7F005798 240500F6 */ li $a1, 246 -default: -.L7F00579C: -/* 03A2CC 7F00579C 04A00005 */ bltz $a1, .L7F0057B4 -/* 03A2D0 7F0057A0 00001025 */ move $v0, $zero -/* 03A2D4 7F0057A4 0FC15B0E */ jal load_model -/* 03A2D8 7F0057A8 00A02025 */ move $a0, $a1 -/* 03A2DC 7F0057AC 10000002 */ b .L7F0057B8 -/* 03A2E0 7F0057B0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0057B4: -/* 03A2E4 7F0057B4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0057B8: -/* 03A2E8 7F0057B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03A2EC 7F0057BC 03E00008 */ jr $ra -/* 03A2F0 7F0057C0 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void load_camera_intro_type_values(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel projectile_ptr_table -.word throwingknife -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word grenade_launch_round -.word rocket -.word grenade -.word timed_mine -.word prox_mine -.word remote_mine -.word default -.word default -.word rocket_0 -.word bombcase -.word plastique -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word bug -.word microcamera - - -/*8004f1a8*/ -glabel default_zoom_speed -.word 0x3f68ba2e - -glabel jpt_8004F1AC - .word spawn_point - .word weapon - .word ammo - .word swirling_intro_cam - .word intro_ani - .word cuff_char - .word fixed_cam - .word watch_time - .word credits - -glabel D_8004F1D0 -.word 0xb8d1b717 -glabel D_8004F1D4 -.word 0x40c90fdb -glabel D_8004F1D8 -.word 0x40c90fdb -glabel D_8004F1DC -.word 0x3e2e147c -glabel D_8004F1E0 -.word 0x3dccccd0 -.text -glabel load_camera_intro_type_values -/* 03A2F4 7F0057C4 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 03A2F8 7F0057C8 3C0F8003 */ lui $t7, %hi(D_8002A780) -/* 03A2FC 7F0057CC AFBF0034 */ sw $ra, 0x34($sp) -/* 03A300 7F0057D0 AFB20030 */ sw $s2, 0x30($sp) -/* 03A304 7F0057D4 AFB1002C */ sw $s1, 0x2c($sp) -/* 03A308 7F0057D8 AFB00028 */ sw $s0, 0x28($sp) -/* 03A30C 7F0057DC F7B60020 */ sdc1 $f22, 0x20($sp) -/* 03A310 7F0057E0 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 03A314 7F0057E4 25EFA780 */ addiu $t7, %lo(D_8002A780) # addiu $t7, $t7, -0x5880 -/* 03A318 7F0057E8 8DE10000 */ lw $at, ($t7) -/* 03A31C 7F0057EC 27AE008C */ addiu $t6, $sp, 0x8c -/* 03A320 7F0057F0 8DE80004 */ lw $t0, 4($t7) -/* 03A324 7F0057F4 ADC10000 */ sw $at, ($t6) -/* 03A328 7F0057F8 8DE10008 */ lw $at, 8($t7) -/* 03A32C 7F0057FC ADC80004 */ sw $t0, 4($t6) -/* 03A330 7F005800 3C118003 */ lui $s1, %hi(resolution) -/* 03A334 7F005804 ADC10008 */ sw $at, 8($t6) -/* 03A338 7F005808 3C018003 */ lui $at, %hi(mission_kia_flag) -/* 03A33C 7F00580C AC20A928 */ sw $zero, %lo(mission_kia_flag)($at) -/* 03A340 7F005810 3C018003 */ lui $at, %hi(camera_80036424) -/* 03A344 7F005814 3C108007 */ lui $s0, %hi(ptr_setup_intro) -/* 03A348 7F005818 AC206424 */ sw $zero, %lo(camera_80036424)($at) -/* 03A34C 7F00581C 26316428 */ addiu $s1, %lo(resolution) # addiu $s1, $s1, 0x6428 -/* 03A350 7F005820 8E105D08 */ lw $s0, %lo(ptr_setup_intro)($s0) -/* 03A354 7F005824 AE200000 */ sw $zero, ($s1) -/* 03A358 7F005828 3C018003 */ lui $at, %hi(camera_8003642C) -/* 03A35C 7F00582C 3C128003 */ lui $s2, %hi(camera_80036430) -/* 03A360 7F005830 AC20642C */ sw $zero, %lo(camera_8003642C)($at) -/* 03A364 7F005834 44802000 */ mtc1 $zero, $f4 -/* 03A368 7F005838 26526430 */ addiu $s2, %lo(camera_80036430) # addiu $s2, $s2, 0x6430 -/* 03A36C 7F00583C AE400000 */ sw $zero, ($s2) -/* 03A370 7F005840 3C018003 */ lui $at, %hi(camera_80036434) -/* 03A374 7F005844 AFA0007C */ sw $zero, 0x7c($sp) -/* 03A378 7F005848 AC206434 */ sw $zero, %lo(camera_80036434)($at) -/* 03A37C 7F00584C 0C001A57 */ jal get_stage_num -/* 03A380 7F005850 E7A40088 */ swc1 $f4, 0x88($sp) -/* 03A384 7F005854 24010036 */ li $at, 54 -/* 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 mempAllocBytesInBank -/* 03A398 7F005868 24050004 */ li $a1, 4 -/* 03A39C 7F00586C 244A003F */ addiu $t2, $v0, 0x3f -/* 03A3A0 7F005870 2401FFC0 */ li $at, -64 -/* 03A3A4 7F005874 AE220000 */ sw $v0, ($s1) -/* 03A3A8 7F005878 01415824 */ and $t3, $t2, $at -/* 03A3AC 7F00587C 240C0001 */ li $t4, 1 -/* 03A3B0 7F005880 AE2B0000 */ sw $t3, ($s1) -/* 03A3B4 7F005884 AE4C0000 */ sw $t4, ($s2) -.L7F005888: -/* 03A3B8 7F005888 3C018003 */ lui $at, %hi(camera_80036438) -/* 03A3BC 7F00588C AC206438 */ sw $zero, %lo(camera_80036438)($at) -/* 03A3C0 7F005890 3C018003 */ lui $at, %hi(D_8003643C) -/* 03A3C4 7F005894 AC20643C */ sw $zero, %lo(D_8003643C)($at) -/* 03A3C8 7F005898 3C018003 */ lui $at, %hi(D_80036440) -/* 03A3CC 7F00589C 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079990) -/* 03A3D0 7F0058A0 AC206440 */ sw $zero, %lo(D_80036440)($at) -/* 03A3D4 7F0058A4 44803000 */ mtc1 $zero, $f6 -/* 03A3D8 7F0058A8 44804000 */ mtc1 $zero, $f8 -/* 03A3DC 7F0058AC 44805000 */ mtc1 $zero, $f10 -/* 03A3E0 7F0058B0 24429990 */ addiu $v0, %lo(flt_CODE_bss_80079990) # addiu $v0, $v0, -0x6670 -/* 03A3E4 7F0058B4 3C018003 */ lui $at, %hi(D_80036444) -/* 03A3E8 7F0058B8 E4460000 */ swc1 $f6, ($v0) -/* 03A3EC 7F0058BC E4480004 */ swc1 $f8, 4($v0) -/* 03A3F0 7F0058C0 E44A0008 */ swc1 $f10, 8($v0) -/* 03A3F4 7F0058C4 AC206444 */ sw $zero, %lo(D_80036444)($at) -/* 03A3F8 7F0058C8 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C68) -/* 03A3FC 7F0058CC AC209C68 */ sw $zero, %lo(dword_CODE_bss_80079C68)($at) -/* 03A400 7F0058D0 3C018003 */ lui $at, %hi(in_tank_flag) -/* 03A404 7F0058D4 AC206448 */ sw $zero, %lo(in_tank_flag)($at) -/* 03A408 7F0058D8 3C018003 */ lui $at, %hi(D_8003644C) -/* 03A40C 7F0058DC AC20644C */ sw $zero, %lo(D_8003644C)($at) -/* 03A410 7F0058E0 44808000 */ mtc1 $zero, $f16 -/* 03A414 7F0058E4 3C018003 */ lui $at, %hi(ptr_playerstank) -/* 03A418 7F0058E8 AC206450 */ sw $zero, %lo(ptr_playerstank)($at) -/* 03A41C 7F0058EC 3C018003 */ lui $at, %hi(D_80036454) -/* 03A420 7F0058F0 3C038003 */ lui $v1, %hi(SFX_80036458) -/* 03A424 7F0058F4 E4306454 */ swc1 $f16, %lo(D_80036454)($at) -/* 03A428 7F0058F8 44809000 */ mtc1 $zero, $f18 -/* 03A42C 7F0058FC 24636458 */ addiu $v1, %lo(SFX_80036458) # addiu $v1, $v1, 0x6458 -/* 03A430 7F005900 44802000 */ mtc1 $zero, $f4 -/* 03A434 7F005904 AC600000 */ sw $zero, ($v1) -/* 03A438 7F005908 AC600004 */ sw $zero, 4($v1) -/* 03A43C 7F00590C 3C018003 */ lui $at, %hi(D_80036460) -/* 03A440 7F005910 E4326460 */ swc1 $f18, %lo(D_80036460)($at) -/* 03A444 7F005914 44803000 */ mtc1 $zero, $f6 -/* 03A448 7F005918 3C018003 */ lui $at, %hi(D_80036464) -/* 03A44C 7F00591C E4246464 */ swc1 $f4, %lo(D_80036464)($at) -/* 03A450 7F005920 44804000 */ mtc1 $zero, $f8 -/* 03A454 7F005924 3C018003 */ lui $at, %hi(D_80036468) -/* 03A458 7F005928 E4266468 */ swc1 $f6, %lo(D_80036468)($at) -/* 03A45C 7F00592C 44805000 */ mtc1 $zero, $f10 -/* 03A460 7F005930 3C018003 */ lui $at, %hi(D_8003646C) -/* 03A464 7F005934 E428646C */ swc1 $f8, %lo(D_8003646C)($at) -/* 03A468 7F005938 44808000 */ mtc1 $zero, $f16 -/* 03A46C 7F00593C 3C018003 */ lui $at, %hi(D_80036470) -/* 03A470 7F005940 E42A6470 */ swc1 $f10, %lo(D_80036470)($at) -/* 03A474 7F005944 44809000 */ mtc1 $zero, $f18 -/* 03A478 7F005948 3C018003 */ lui $at, %hi(D_80036474) -/* 03A47C 7F00594C E4306474 */ swc1 $f16, %lo(D_80036474)($at) -/* 03A480 7F005950 44802000 */ mtc1 $zero, $f4 -/* 03A484 7F005954 3C018003 */ lui $at, %hi(D_80036478) -/* 03A488 7F005958 E4326478 */ swc1 $f18, %lo(D_80036478)($at) -/* 03A48C 7F00595C 3C018003 */ lui $at, %hi(D_8003647C) -/* 03A490 7F005960 E424647C */ swc1 $f4, %lo(D_8003647C)($at) -/* 03A494 7F005964 44803000 */ mtc1 $zero, $f6 -/* 03A498 7F005968 3C018003 */ lui $at, %hi(D_80036480) -/* 03A49C 7F00596C AC206480 */ sw $zero, %lo(D_80036480)($at) -/* 03A4A0 7F005970 44804000 */ mtc1 $zero, $f8 -/* 03A4A4 7F005974 3C018003 */ lui $at, %hi(D_80036484) -/* 03A4A8 7F005978 E4266484 */ swc1 $f6, %lo(D_80036484)($at) -/* 03A4AC 7F00597C 3C018003 */ lui $at, %hi(D_80036488) -/* 03A4B0 7F005980 E4286488 */ swc1 $f8, %lo(D_80036488)($at) -/* 03A4B4 7F005984 3C018003 */ lui $at, %hi(D_8003648C) -/* 03A4B8 7F005988 AC20648C */ sw $zero, %lo(D_8003648C)($at) -/* 03A4BC 7F00598C 3C018003 */ lui $at, %hi(D_800364B0) -/* 03A4C0 7F005990 240D0001 */ li $t5, 1 -/* 03A4C4 7F005994 AC2D64B0 */ sw $t5, %lo(D_800364B0)($at) -/* 03A4C8 7F005998 3C018003 */ lui $at, %hi(disable_player_pickups_flag) -/* 03A4CC 7F00599C AC2064B4 */ sw $zero, %lo(disable_player_pickups_flag)($at) -/* 03A4D0 7F0059A0 3C018003 */ lui $at, %hi(cameramode) -/* 03A4D4 7F0059A4 AC206494 */ sw $zero, %lo(cameramode)($at) -/* 03A4D8 7F0059A8 3C018003 */ lui $at, %hi(enable_move_after_cinema) -/* 03A4DC 7F0059AC AC206498 */ sw $zero, %lo(enable_move_after_cinema)($at) -/* 03A4E0 7F0059B0 3C018003 */ lui $at, %hi(D_8003649C) -/* 03A4E4 7F0059B4 AC20649C */ sw $zero, %lo(D_8003649C)($at) -/* 03A4E8 7F0059B8 44805000 */ mtc1 $zero, $f10 -/* 03A4EC 7F0059BC 3C018003 */ lui $at, %hi(stop_time_flag) -/* 03A4F0 7F0059C0 AC2064A0 */ sw $zero, %lo(stop_time_flag)($at) -/* 03A4F4 7F0059C4 3C018003 */ lui $at, %hi(D_800364A4) -/* 03A4F8 7F0059C8 E42A64A4 */ swc1 $f10, %lo(D_800364A4)($at) -/* 03A4FC 7F0059CC 3C018003 */ lui $at, %hi(D_800364A8) -/* 03A500 7F0059D0 24190001 */ li $t9, 1 -/* 03A504 7F0059D4 AC3964A8 */ sw $t9, %lo(D_800364A8)($at) -/* 03A508 7F0059D8 3C018003 */ lui $at, %hi(D_800364AC) -/* 03A50C 7F0059DC AC2064AC */ sw $zero, %lo(D_800364AC)($at) -/* 03A510 7F0059E0 3C018003 */ lui $at, %hi(ptr_random06cam_entry) -/* 03A514 7F0059E4 AC2064C0 */ sw $zero, %lo(ptr_random06cam_entry)($at) -/* 03A518 7F0059E8 3C018003 */ lui $at, %hi(D_800364B8) -/* 03A51C 7F0059EC AC2064B8 */ sw $zero, %lo(D_800364B8)($at) -/* 03A520 7F0059F0 3C018003 */ lui $at, %hi(D_800364BC) -/* 03A524 7F0059F4 AC2064BC */ sw $zero, %lo(D_800364BC)($at) -/* 03A528 7F0059F8 3C018008 */ lui $at, %hi(mission_timer) -/* 03A52C 7F0059FC 3C118008 */ lui $s1, %hi(watch_time_0) -/* 03A530 7F005A00 AC209A20 */ sw $zero, %lo(mission_timer)($at) -/* 03A534 7F005A04 26319A24 */ addiu $s1, %lo(watch_time_0) # addiu $s1, $s1, -0x65dc -/* 03A538 7F005A08 AE200000 */ sw $zero, ($s1) -/* 03A53C 7F005A0C 3C018003 */ lui $at, %hi(D_80036514) -/* 03A540 7F005A10 AC206514 */ sw $zero, %lo(D_80036514)($at) -/* 03A544 7F005A14 3C018005 */ lui $at, %hi(default_zoom_speed) -/* 03A548 7F005A18 C430F1A8 */ lwc1 $f16, %lo(default_zoom_speed)($at) -/* 03A54C 7F005A1C 3C018003 */ lui $at, %hi(watch_transition_time) -/* 03A550 7F005A20 E43065A8 */ swc1 $f16, %lo(watch_transition_time)($at) -/* 03A554 7F005A24 3C018008 */ lui $at, %hi(starting_left_weapon) -/* 03A558 7F005A28 AC2099E4 */ sw $zero, %lo(starting_left_weapon)($at) -/* 03A55C 7F005A2C 3C018008 */ lui $at, %hi(starting_right_weapon) -/* 03A560 7F005A30 120000F0 */ beqz $s0, .L7F005DF4 -/* 03A564 7F005A34 AC2099E0 */ sw $zero, %lo(starting_right_weapon)($at) -/* 03A568 7F005A38 8E020000 */ lw $v0, ($s0) -/* 03A56C 7F005A3C 24010009 */ li $at, 9 -/* 03A570 7F005A40 3C128008 */ lui $s2, %hi(pPlayer) -/* 03A574 7F005A44 104100EB */ beq $v0, $at, .L7F005DF4 -/* 03A578 7F005A48 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 03A57C 7F005A4C 4481B000 */ mtc1 $at, $f22 -/* 03A580 7F005A50 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 03A584 7F005A54 4481A000 */ mtc1 $at, $f20 -/* 03A588 7F005A58 2652A0B0 */ addiu $s2, %lo(pPlayer) # addiu $s2, $s2, -0x5f50 -/* 03A58C 7F005A5C 2C410009 */ sltiu $at, $v0, 9 -.L7F005A60: -/* 03A590 7F005A60 102000DF */ beqz $at, .L7F005DE0 -/* 03A594 7F005A64 0002C080 */ sll $t8, $v0, 2 -/* 03A598 7F005A68 3C018005 */ lui $at, %hi(jpt_8004F1AC) -/* 03A59C 7F005A6C 00380821 */ addu $at, $at, $t8 -/* 03A5A0 7F005A70 8C38F1AC */ lw $t8, %lo(jpt_8004F1AC)($at) -/* 03A5A4 7F005A74 03000008 */ jr $t8 -/* 03A5A8 7F005A78 00000000 */ nop -spawn_point: -/* 03A5AC 7F005A7C 3C0E8007 */ lui $t6, %hi(ptr_0xxxpresets) -/* 03A5B0 7F005A80 8DCE5D18 */ lw $t6, %lo(ptr_0xxxpresets)($t6) -/* 03A5B4 7F005A84 11C00018 */ beqz $t6, .L7F005AE8 -/* 03A5B8 7F005A88 00000000 */ nop -/* 03A5BC 7F005A8C 0FC30288 */ jal check_ramrom_flags -/* 03A5C0 7F005A90 00000000 */ nop -/* 03A5C4 7F005A94 8E0F0008 */ lw $t7, 8($s0) -/* 03A5C8 7F005A98 3C0A8007 */ lui $t2, %hi(ptr_0xxxpresets) -/* 03A5CC 7F005A9C 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C28) -/* 03A5D0 7F005AA0 144F0011 */ bne $v0, $t7, .L7F005AE8 -/* 03A5D4 7F005AA4 00000000 */ nop -/* 03A5D8 7F005AA8 8E080004 */ lw $t0, 4($s0) -/* 03A5DC 7F005AAC 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079C68) -/* 03A5E0 7F005AB0 8C429C68 */ lw $v0, %lo(dword_CODE_bss_80079C68)($v0) -/* 03A5E4 7F005AB4 00084880 */ sll $t1, $t0, 2 -/* 03A5E8 7F005AB8 01284823 */ subu $t1, $t1, $t0 -/* 03A5EC 7F005ABC 8D4A5D18 */ lw $t2, %lo(ptr_0xxxpresets)($t2) -/* 03A5F0 7F005AC0 00094880 */ sll $t1, $t1, 2 -/* 03A5F4 7F005AC4 01284823 */ subu $t1, $t1, $t0 -/* 03A5F8 7F005AC8 00094880 */ sll $t1, $t1, 2 -/* 03A5FC 7F005ACC 00026080 */ sll $t4, $v0, 2 -/* 03A600 7F005AD0 002C0821 */ addu $at, $at, $t4 -/* 03A604 7F005AD4 012A5821 */ addu $t3, $t1, $t2 -/* 03A608 7F005AD8 AC2B9C28 */ sw $t3, %lo(dword_CODE_bss_80079C28)($at) -/* 03A60C 7F005ADC 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C68) -/* 03A610 7F005AE0 244D0001 */ addiu $t5, $v0, 1 -/* 03A614 7F005AE4 AC2D9C68 */ sw $t5, %lo(dword_CODE_bss_80079C68)($at) -.L7F005AE8: -/* 03A618 7F005AE8 100000BE */ b .L7F005DE4 -/* 03A61C 7F005AEC 2610000C */ addiu $s0, $s0, 0xc -weapon: -/* 03A620 7F005AF0 0FC30288 */ jal check_ramrom_flags -/* 03A624 7F005AF4 00000000 */ nop -/* 03A628 7F005AF8 8E19000C */ lw $t9, 0xc($s0) -/* 03A62C 7F005AFC 1459001C */ bne $v0, $t9, .L7F005B70 -/* 03A630 7F005B00 00000000 */ nop -/* 03A634 7F005B04 0FC015C4 */ jal set_weapon_model_generated_thrown_object -/* 03A638 7F005B08 8E040004 */ lw $a0, 4($s0) -/* 03A63C 7F005B0C 8E040008 */ lw $a0, 8($s0) -/* 03A640 7F005B10 04800008 */ bltz $a0, .L7F005B34 -/* 03A644 7F005B14 00000000 */ nop -/* 03A648 7F005B18 0FC015C4 */ jal set_weapon_model_generated_thrown_object -/* 03A64C 7F005B1C 00000000 */ nop -/* 03A650 7F005B20 8E040004 */ lw $a0, 4($s0) -/* 03A654 7F005B24 0FC23143 */ jal add_doubles_item_to_inventory -/* 03A658 7F005B28 8E050008 */ lw $a1, 8($s0) -/* 03A65C 7F005B2C 10000004 */ b .L7F005B40 -/* 03A660 7F005B30 8FB8007C */ lw $t8, 0x7c($sp) -.L7F005B34: -/* 03A664 7F005B34 0FC23122 */ jal add_item_to_inventory -/* 03A668 7F005B38 8E040004 */ lw $a0, 4($s0) -/* 03A66C 7F005B3C 8FB8007C */ lw $t8, 0x7c($sp) -.L7F005B40: -/* 03A670 7F005B40 1700000B */ bnez $t8, .L7F005B70 -/* 03A674 7F005B44 00000000 */ nop -/* 03A678 7F005B48 8E0E0004 */ lw $t6, 4($s0) -/* 03A67C 7F005B4C 3C018008 */ lui $at, %hi(starting_right_weapon) -/* 03A680 7F005B50 240F0001 */ li $t7, 1 -/* 03A684 7F005B54 AC2E99E0 */ sw $t6, %lo(starting_right_weapon)($at) -/* 03A688 7F005B58 8E040008 */ lw $a0, 8($s0) -/* 03A68C 7F005B5C AFAF007C */ sw $t7, 0x7c($sp) -/* 03A690 7F005B60 3C018008 */ lui $at, %hi(starting_left_weapon) -/* 03A694 7F005B64 04800002 */ bltz $a0, .L7F005B70 -/* 03A698 7F005B68 00000000 */ nop -/* 03A69C 7F005B6C AC2499E4 */ sw $a0, %lo(starting_left_weapon)($at) -.L7F005B70: -/* 03A6A0 7F005B70 1000009C */ b .L7F005DE4 -/* 03A6A4 7F005B74 26100010 */ addiu $s0, $s0, 0x10 -ammo: -/* 03A6A8 7F005B78 0FC30288 */ jal check_ramrom_flags -/* 03A6AC 7F005B7C 00000000 */ nop -/* 03A6B0 7F005B80 8E08000C */ lw $t0, 0xc($s0) -/* 03A6B4 7F005B84 14480004 */ bne $v0, $t0, .L7F005B98 -/* 03A6B8 7F005B88 00000000 */ nop -/* 03A6BC 7F005B8C 8E040004 */ lw $a0, 4($s0) -/* 03A6C0 7F005B90 0FC1A44C */ jal give_cur_player_ammo -/* 03A6C4 7F005B94 8E050008 */ lw $a1, 8($s0) -.L7F005B98: -/* 03A6C8 7F005B98 10000092 */ b .L7F005DE4 -/* 03A6CC 7F005B9C 26100010 */ addiu $s0, $s0, 0x10 -swirling_intro_cam: -/* 03A6D0 7F005BA0 3C098003 */ lui $t1, %hi(D_800364AC) -/* 03A6D4 7F005BA4 8D2964AC */ lw $t1, %lo(D_800364AC)($t1) -/* 03A6D8 7F005BA8 02001025 */ move $v0, $s0 -/* 03A6DC 7F005BAC 3C018003 */ lui $at, %hi(D_800364AC) -/* 03A6E0 7F005BB0 55200003 */ bnezl $t1, .L7F005BC0 -/* 03A6E4 7F005BB4 8C4A0008 */ lw $t2, 8($v0) -/* 03A6E8 7F005BB8 AC3064AC */ sw $s0, %lo(D_800364AC)($at) -/* 03A6EC 7F005BBC 8C4A0008 */ lw $t2, 8($v0) -.L7F005BC0: -/* 03A6F0 7F005BC0 8C4B000C */ lw $t3, 0xc($v0) -/* 03A6F4 7F005BC4 8C4C0010 */ lw $t4, 0x10($v0) -/* 03A6F8 7F005BC8 448A9000 */ mtc1 $t2, $f18 -/* 03A6FC 7F005BCC 448B4000 */ mtc1 $t3, $f8 -/* 03A700 7F005BD0 8C4D0014 */ lw $t5, 0x14($v0) -/* 03A704 7F005BD4 46809120 */ cvt.s.w $f4, $f18 -/* 03A708 7F005BD8 448C9000 */ mtc1 $t4, $f18 -/* 03A70C 7F005BDC 8C590018 */ lw $t9, 0x18($v0) -/* 03A710 7F005BE0 26100020 */ addiu $s0, $s0, 0x20 -/* 03A714 7F005BE4 468042A0 */ cvt.s.w $f10, $f8 -/* 03A718 7F005BE8 448D4000 */ mtc1 $t5, $f8 -/* 03A71C 7F005BEC 46142183 */ div.s $f6, $f4, $f20 -/* 03A720 7F005BF0 46809120 */ cvt.s.w $f4, $f18 -/* 03A724 7F005BF4 44999000 */ mtc1 $t9, $f18 -/* 03A728 7F005BF8 46145403 */ div.s $f16, $f10, $f20 -/* 03A72C 7F005BFC E4460008 */ swc1 $f6, 8($v0) -/* 03A730 7F005C00 468042A0 */ cvt.s.w $f10, $f8 -/* 03A734 7F005C04 46142183 */ div.s $f6, $f4, $f20 -/* 03A738 7F005C08 E450000C */ swc1 $f16, 0xc($v0) -/* 03A73C 7F005C0C 46809120 */ cvt.s.w $f4, $f18 -/* 03A740 7F005C10 46145403 */ div.s $f16, $f10, $f20 -/* 03A744 7F005C14 E4460010 */ swc1 $f6, 0x10($v0) -/* 03A748 7F005C18 46142183 */ div.s $f6, $f4, $f20 -/* 03A74C 7F005C1C E4500014 */ swc1 $f16, 0x14($v0) -/* 03A750 7F005C20 10000070 */ b .L7F005DE4 -/* 03A754 7F005C24 E4460018 */ swc1 $f6, 0x18($v0) -intro_ani: -/* 03A758 7F005C28 8E180004 */ lw $t8, 4($s0) -/* 03A75C 7F005C2C 3C018003 */ lui $at, %hi(D_80036514) -/* 03A760 7F005C30 26100008 */ addiu $s0, $s0, 8 -/* 03A764 7F005C34 1000006B */ b .L7F005DE4 -/* 03A768 7F005C38 AC386514 */ sw $t8, %lo(D_80036514)($at) -cuff_char: -/* 03A76C 7F005C3C 8E0E0004 */ lw $t6, 4($s0) -/* 03A770 7F005C40 8E4F0000 */ lw $t7, ($s2) -/* 03A774 7F005C44 26100008 */ addiu $s0, $s0, 8 -/* 03A778 7F005C48 10000066 */ b .L7F005DE4 -/* 03A77C 7F005C4C ADEE041C */ sw $t6, 0x41c($t7) -fixed_cam: -/* 03A780 7F005C50 0FC26C54 */ jal get_cur_playernum -/* 03A784 7F005C54 00000000 */ nop -/* 03A788 7F005C58 1440002C */ bnez $v0, .L7F005D0C -/* 03A78C 7F005C5C 3C088003 */ lui $t0, %hi(D_800364B8) -/* 03A790 7F005C60 8D0864B8 */ lw $t0, %lo(D_800364B8)($t0) -/* 03A794 7F005C64 3C098003 */ lui $t1, %hi(D_800364BC) -/* 03A798 7F005C68 3C018003 */ lui $at, %hi(D_800364B8) -/* 03A79C 7F005C6C AE080024 */ sw $t0, 0x24($s0) -/* 03A7A0 7F005C70 8D2964BC */ lw $t1, %lo(D_800364BC)($t1) -/* 03A7A4 7F005C74 AC3064B8 */ sw $s0, %lo(D_800364B8)($at) -/* 03A7A8 7F005C78 3C018003 */ lui $at, %hi(D_800364BC) -/* 03A7AC 7F005C7C 252A0001 */ addiu $t2, $t1, 1 -/* 03A7B0 7F005C80 AC2A64BC */ sw $t2, %lo(D_800364BC)($at) -/* 03A7B4 7F005C84 8E0B0004 */ lw $t3, 4($s0) -/* 03A7B8 7F005C88 8E0C0008 */ lw $t4, 8($s0) -/* 03A7BC 7F005C8C 8E0D000C */ lw $t5, 0xc($s0) -/* 03A7C0 7F005C90 448B4000 */ mtc1 $t3, $f8 -/* 03A7C4 7F005C94 448C9000 */ mtc1 $t4, $f18 -/* 03A7C8 7F005C98 8E190010 */ lw $t9, 0x10($s0) -/* 03A7CC 7F005C9C 468042A0 */ cvt.s.w $f10, $f8 -/* 03A7D0 7F005CA0 448D4000 */ mtc1 $t5, $f8 -/* 03A7D4 7F005CA4 8E180014 */ lw $t8, 0x14($s0) -/* 03A7D8 7F005CA8 9604001E */ lhu $a0, 0x1e($s0) -/* 03A7DC 7F005CAC 46809120 */ cvt.s.w $f4, $f18 -/* 03A7E0 7F005CB0 44999000 */ mtc1 $t9, $f18 -/* 03A7E4 7F005CB4 46165403 */ div.s $f16, $f10, $f22 -/* 03A7E8 7F005CB8 468042A0 */ cvt.s.w $f10, $f8 -/* 03A7EC 7F005CBC 44984000 */ mtc1 $t8, $f8 -/* 03A7F0 7F005CC0 46162183 */ div.s $f6, $f4, $f22 -/* 03A7F4 7F005CC4 E6100004 */ swc1 $f16, 4($s0) -/* 03A7F8 7F005CC8 46809120 */ cvt.s.w $f4, $f18 -/* 03A7FC 7F005CCC 46165403 */ div.s $f16, $f10, $f22 -/* 03A800 7F005CD0 E6060008 */ swc1 $f6, 8($s0) -/* 03A804 7F005CD4 468042A0 */ cvt.s.w $f10, $f8 -/* 03A808 7F005CD8 46142183 */ div.s $f6, $f4, $f20 -/* 03A80C 7F005CDC E610000C */ swc1 $f16, 0xc($s0) -/* 03A810 7F005CE0 46145403 */ div.s $f16, $f10, $f20 -/* 03A814 7F005CE4 E6060010 */ swc1 $f6, 0x10($s0) -/* 03A818 7F005CE8 0FC30776 */ jal get_textptr_for_textID -/* 03A81C 7F005CEC E6100014 */ swc1 $f16, 0x14($s0) -/* 03A820 7F005CF0 8E030020 */ lw $v1, 0x20($s0) -/* 03A824 7F005CF4 AE02001C */ sw $v0, 0x1c($s0) -/* 03A828 7F005CF8 10600004 */ beqz $v1, .L7F005D0C -/* 03A82C 7F005CFC 00000000 */ nop -/* 03A830 7F005D00 0FC30776 */ jal get_textptr_for_textID -/* 03A834 7F005D04 3064FFFF */ andi $a0, $v1, 0xffff -/* 03A838 7F005D08 AE020020 */ sw $v0, 0x20($s0) -.L7F005D0C: -/* 03A83C 7F005D0C 10000035 */ b .L7F005DE4 -/* 03A840 7F005D10 26100028 */ addiu $s0, $s0, 0x28 -watch_time: -/* 03A844 7F005D14 AE200000 */ sw $zero, ($s1) -/* 03A848 7F005D18 8E040008 */ lw $a0, 8($s0) -/* 03A84C 7F005D1C 2401003C */ li $at, 60 -/* 03A850 7F005D20 5880000B */ blezl $a0, .L7F005D50 -/* 03A854 7F005D24 8E020004 */ lw $v0, 4($s0) -/* 03A858 7F005D28 0081001A */ div $zero, $a0, $at -/* 03A85C 7F005D2C 00007810 */ mfhi $t7 -/* 03A860 7F005D30 000F40C0 */ sll $t0, $t7, 3 -/* 03A864 7F005D34 010F4023 */ subu $t0, $t0, $t7 -/* 03A868 7F005D38 00084140 */ sll $t0, $t0, 5 -/* 03A86C 7F005D3C 010F4021 */ addu $t0, $t0, $t7 -/* 03A870 7F005D40 00084100 */ sll $t0, $t0, 4 -/* 03A874 7F005D44 3C018008 */ lui $at, %hi(watch_time_0) -/* 03A878 7F005D48 AC289A24 */ sw $t0, %lo(watch_time_0)($at) -/* 03A87C 7F005D4C 8E020004 */ lw $v0, 4($s0) -.L7F005D50: -/* 03A880 7F005D50 2401000C */ li $at, 12 -/* 03A884 7F005D54 1840000B */ blez $v0, .L7F005D84 -/* 03A888 7F005D58 00000000 */ nop -/* 03A88C 7F005D5C 0041001A */ div $zero, $v0, $at -/* 03A890 7F005D60 00005810 */ mfhi $t3 -/* 03A894 7F005D64 3C010003 */ lui $at, (0x00034BC0 >> 16) # lui $at, 3 -/* 03A898 7F005D68 34214BC0 */ ori $at, (0x00034BC0 & 0xFFFF) # ori $at, $at, 0x4bc0 -/* 03A89C 7F005D6C 01610019 */ multu $t3, $at -/* 03A8A0 7F005D70 8E2A0000 */ lw $t2, ($s1) -/* 03A8A4 7F005D74 3C018008 */ lui $at, %hi(watch_time_0) -/* 03A8A8 7F005D78 00006012 */ mflo $t4 -/* 03A8AC 7F005D7C 014C6821 */ addu $t5, $t2, $t4 -/* 03A8B0 7F005D80 AC2D9A24 */ sw $t5, %lo(watch_time_0)($at) -.L7F005D84: -/* 03A8B4 7F005D84 10000017 */ b .L7F005DE4 -/* 03A8B8 7F005D88 2610000C */ addiu $s0, $s0, 0xc -credits: -/* 03A8BC 7F005D8C 3C198007 */ lui $t9, %hi(dword_CODE_bss_80075D28) -/* 03A8C0 7F005D90 8F395D28 */ lw $t9, %lo(dword_CODE_bss_80075D28)($t9) -/* 03A8C4 7F005D94 8E180004 */ lw $t8, 4($s0) -/* 03A8C8 7F005D98 3C018003 */ lui $at, %hi(D_80036440) -/* 03A8CC 7F005D9C 03381021 */ addu $v0, $t9, $t8 -/* 03A8D0 7F005DA0 AC226440 */ sw $v0, %lo(D_80036440)($at) -/* 03A8D4 7F005DA4 944F0000 */ lhu $t7, ($v0) -/* 03A8D8 7F005DA8 55E00005 */ bnezl $t7, .L7F005DC0 -/* 03A8DC 7F005DAC 9448000C */ lhu $t0, 0xc($v0) -/* 03A8E0 7F005DB0 944E0002 */ lhu $t6, 2($v0) -/* 03A8E4 7F005DB4 11C00008 */ beqz $t6, .L7F005DD8 -/* 03A8E8 7F005DB8 00000000 */ nop -/* 03A8EC 7F005DBC 9448000C */ lhu $t0, 0xc($v0) -.L7F005DC0: -/* 03A8F0 7F005DC0 2442000C */ addiu $v0, $v0, 0xc -/* 03A8F4 7F005DC4 5500FFFE */ bnezl $t0, .L7F005DC0 -/* 03A8F8 7F005DC8 9448000C */ lhu $t0, 0xc($v0) -/* 03A8FC 7F005DCC 94490002 */ lhu $t1, 2($v0) -/* 03A900 7F005DD0 5520FFFB */ bnezl $t1, .L7F005DC0 -/* 03A904 7F005DD4 9448000C */ lhu $t0, 0xc($v0) -.L7F005DD8: -/* 03A908 7F005DD8 10000002 */ b .L7F005DE4 -/* 03A90C 7F005DDC 26100008 */ addiu $s0, $s0, 8 -def_7F005A74: -.L7F005DE0: -/* 03A910 7F005DE0 26100004 */ addiu $s0, $s0, 4 -.L7F005DE4: -/* 03A914 7F005DE4 8E020000 */ lw $v0, ($s0) -/* 03A918 7F005DE8 24010009 */ li $at, 9 -/* 03A91C 7F005DEC 5441FF1C */ bnel $v0, $at, .L7F005A60 -/* 03A920 7F005DF0 2C410009 */ sltiu $at, $v0, 9 -.L7F005DF4: -/* 03A924 7F005DF4 3C028003 */ lui $v0, %hi(D_800364B8) -/* 03A928 7F005DF8 8C4264B8 */ lw $v0, %lo(D_800364B8)($v0) -/* 03A92C 7F005DFC 3C128008 */ lui $s2, %hi(pPlayer) -/* 03A930 7F005E00 2652A0B0 */ addiu $s2, %lo(pPlayer) # addiu $s2, $s2, -0x5f50 -/* 03A934 7F005E04 10400012 */ beqz $v0, .L7F005E50 -/* 03A938 7F005E08 3C018003 */ lui $at, %hi(ptr_random06cam_entry) -/* 03A93C 7F005E0C 0C002914 */ jal get_random_value -/* 03A940 7F005E10 AC2264C0 */ sw $v0, %lo(ptr_random06cam_entry)($at) -/* 03A944 7F005E14 3C0B8003 */ lui $t3, %hi(D_800364BC) -/* 03A948 7F005E18 8D6B64BC */ lw $t3, %lo(D_800364BC)($t3) -/* 03A94C 7F005E1C 004B001B */ divu $zero, $v0, $t3 -/* 03A950 7F005E20 00001810 */ mfhi $v1 -/* 03A954 7F005E24 15600002 */ bnez $t3, .L7F005E30 -/* 03A958 7F005E28 00000000 */ nop -/* 03A95C 7F005E2C 0007000D */ break 7 -.L7F005E30: -/* 03A960 7F005E30 18600007 */ blez $v1, .L7F005E50 -.L7F005E34: -/* 03A964 7F005E34 3C0A8003 */ lui $t2, %hi(ptr_random06cam_entry) -/* 03A968 7F005E38 8D4A64C0 */ lw $t2, %lo(ptr_random06cam_entry)($t2) -/* 03A96C 7F005E3C 2463FFFF */ addiu $v1, $v1, -1 -/* 03A970 7F005E40 3C018003 */ lui $at, %hi(ptr_random06cam_entry) -/* 03A974 7F005E44 8D4C0024 */ lw $t4, 0x24($t2) -/* 03A978 7F005E48 1C60FFFA */ bgtz $v1, .L7F005E34 -/* 03A97C 7F005E4C AC2C64C0 */ sw $t4, %lo(ptr_random06cam_entry)($at) -.L7F005E50: -/* 03A980 7F005E50 0FC23122 */ jal add_item_to_inventory -/* 03A984 7F005E54 24040001 */ li $a0, 1 -/* 03A988 7F005E58 8FAD007C */ lw $t5, 0x7c($sp) -/* 03A98C 7F005E5C 44809000 */ mtc1 $zero, $f18 -/* 03A990 7F005E60 15A00003 */ bnez $t5, .L7F005E70 -/* 03A994 7F005E64 24190001 */ li $t9, 1 -/* 03A998 7F005E68 3C018008 */ lui $at, %hi(starting_right_weapon) -/* 03A99C 7F005E6C AC3999E0 */ sw $t9, %lo(starting_right_weapon)($at) -.L7F005E70: -/* 03A9A0 7F005E70 8E580000 */ lw $t8, ($s2) -/* 03A9A4 7F005E74 3C018005 */ lui $at, %hi(D_8004F1D0) -/* 03A9A8 7F005E78 44803000 */ mtc1 $zero, $f6 -/* 03A9AC 7F005E7C E7120078 */ swc1 $f18, 0x78($t8) -/* 03A9B0 7F005E80 8E4F0000 */ lw $t7, ($s2) -/* 03A9B4 7F005E84 C424F1D0 */ lwc1 $f4, %lo(D_8004F1D0)($at) -/* 03A9B8 7F005E88 3C088008 */ lui $t0, %hi(dword_CODE_bss_80079C68) -/* 03A9BC 7F005E8C E5E4007C */ swc1 $f4, 0x7c($t7) -/* 03A9C0 7F005E90 8E4E0000 */ lw $t6, ($s2) -/* 03A9C4 7F005E94 E5C60080 */ swc1 $f6, 0x80($t6) -/* 03A9C8 7F005E98 8D089C68 */ lw $t0, %lo(dword_CODE_bss_80079C68)($t0) -/* 03A9CC 7F005E9C 5900002C */ blezl $t0, .L7F005F50 -/* 03A9D0 7F005EA0 27A4008C */ addiu $a0, $sp, 0x8c -/* 03A9D4 7F005EA4 0FC26919 */ jal get_num_players -/* 03A9D8 7F005EA8 00000000 */ nop -/* 03A9DC 7F005EAC 28410002 */ slti $at, $v0, 2 -/* 03A9E0 7F005EB0 14200008 */ bnez $at, .L7F005ED4 -/* 03A9E4 7F005EB4 3C098008 */ lui $t1, %hi(dword_CODE_bss_80079C68) -/* 03A9E8 7F005EB8 8D299C68 */ lw $t1, %lo(dword_CODE_bss_80079C68)($t1) -/* 03A9EC 7F005EBC 59200006 */ blezl $t1, .L7F005ED8 -/* 03A9F0 7F005EC0 00001825 */ move $v1, $zero -/* 03A9F4 7F005EC4 0FC1E43C */ jal sub_GAME_7F0790F0 -/* 03A9F8 7F005EC8 00000000 */ nop -/* 03A9FC 7F005ECC 10000002 */ b .L7F005ED8 -/* 03AA00 7F005ED0 00401825 */ move $v1, $v0 -.L7F005ED4: -/* 03AA04 7F005ED4 00001825 */ move $v1, $zero -.L7F005ED8: -/* 03AA08 7F005ED8 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_80079C28) -/* 03AA0C 7F005EDC 254A9C28 */ addiu $t2, %lo(dword_CODE_bss_80079C28) # addiu $t2, $t2, -0x63d8 -/* 03AA10 7F005EE0 00035880 */ sll $t3, $v1, 2 -/* 03AA14 7F005EE4 016A8821 */ addu $s1, $t3, $t2 -/* 03AA18 7F005EE8 8E300000 */ lw $s0, ($s1) -/* 03AA1C 7F005EEC C6080000 */ lwc1 $f8, ($s0) -/* 03AA20 7F005EF0 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 03AA24 7F005EF4 C60A0008 */ lwc1 $f10, 8($s0) -/* 03AA28 7F005EF8 8FA5008C */ lw $a1, 0x8c($sp) -/* 03AA2C 7F005EFC E7AA0094 */ swc1 $f10, 0x94($sp) -/* 03AA30 7F005F00 8E040028 */ lw $a0, 0x28($s0) -/* 03AA34 7F005F04 8FA60094 */ lw $a2, 0x94($sp) -/* 03AA38 7F005F08 0FC20358 */ jal sub_GAME_7F080D60 -/* 03AA3C 7F005F0C AFA40084 */ sw $a0, 0x84($sp) -/* 03AA40 7F005F10 8E420000 */ lw $v0, ($s2) -/* 03AA44 7F005F14 46000506 */ mov.s $f20, $f0 -/* 03AA48 7F005F18 C45029BC */ lwc1 $f16, 0x29bc($v0) -/* 03AA4C 7F005F1C 46008480 */ add.s $f18, $f16, $f0 -/* 03AA50 7F005F20 E7B20090 */ swc1 $f18, 0x90($sp) -/* 03AA54 7F005F24 E4400070 */ swc1 $f0, 0x70($v0) -/* 03AA58 7F005F28 8E300000 */ lw $s0, ($s1) -/* 03AA5C 7F005F2C C60C0018 */ lwc1 $f12, 0x18($s0) -/* 03AA60 7F005F30 0FC16A8C */ jal convert_angle_using_inverse -/* 03AA64 7F005F34 C60E0020 */ lwc1 $f14, 0x20($s0) -/* 03AA68 7F005F38 3C018005 */ lui $at, %hi(D_8004F1D4) -/* 03AA6C 7F005F3C C424F1D4 */ lwc1 $f4, %lo(D_8004F1D4)($at) -/* 03AA70 7F005F40 46002181 */ sub.s $f6, $f4, $f0 -/* 03AA74 7F005F44 10000011 */ b .L7F005F8C -/* 03AA78 7F005F48 E7A60088 */ swc1 $f6, 0x88($sp) -/* 03AA7C 7F005F4C 27A4008C */ addiu $a0, $sp, 0x8c -.L7F005F50: -/* 03AA80 7F005F50 27A50090 */ addiu $a1, $sp, 0x90 -/* 03AA84 7F005F54 27A60094 */ addiu $a2, $sp, 0x94 -/* 03AA88 7F005F58 0FC2BEDE */ jal sub_GAME_7F0AFB78 -/* 03AA8C 7F005F5C 3C0741F0 */ lui $a3, 0x41f0 -/* 03AA90 7F005F60 AFA20084 */ sw $v0, 0x84($sp) -/* 03AA94 7F005F64 00402025 */ move $a0, $v0 -/* 03AA98 7F005F68 8FA5008C */ lw $a1, 0x8c($sp) -/* 03AA9C 7F005F6C 0FC20358 */ jal sub_GAME_7F080D60 -/* 03AAA0 7F005F70 8FA60094 */ lw $a2, 0x94($sp) -/* 03AAA4 7F005F74 8E420000 */ lw $v0, ($s2) -/* 03AAA8 7F005F78 46000506 */ mov.s $f20, $f0 -/* 03AAAC 7F005F7C C44829BC */ lwc1 $f8, 0x29bc($v0) -/* 03AAB0 7F005F80 46004280 */ add.s $f10, $f8, $f0 -/* 03AAB4 7F005F84 E7AA0090 */ swc1 $f10, 0x90($sp) -/* 03AAB8 7F005F88 E4400070 */ swc1 $f0, 0x70($v0) -.L7F005F8C: -/* 03AABC 7F005F8C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 03AAC0 7F005F90 44819000 */ mtc1 $at, $f18 -/* 03AAC4 7F005F94 C7B00088 */ lwc1 $f16, 0x88($sp) -/* 03AAC8 7F005F98 3C018005 */ lui $at, %hi(D_8004F1D8) -/* 03AACC 7F005F9C C426F1D8 */ lwc1 $f6, %lo(D_8004F1D8)($at) -/* 03AAD0 7F005FA0 46128102 */ mul.s $f4, $f16, $f18 -/* 03AAD4 7F005FA4 8E4C0000 */ lw $t4, ($s2) -/* 03AAD8 7F005FA8 3C018005 */ lui $at, %hi(D_8004F1DC) -/* 03AADC 7F005FAC 27A5008C */ addiu $a1, $sp, 0x8c -/* 03AAE0 7F005FB0 46062203 */ div.s $f8, $f4, $f6 -/* 03AAE4 7F005FB4 E5880148 */ swc1 $f8, 0x148($t4) -/* 03AAE8 7F005FB8 8E4D0000 */ lw $t5, ($s2) -/* 03AAEC 7F005FBC E5B40074 */ swc1 $f20, 0x74($t5) -/* 03AAF0 7F005FC0 C42AF1DC */ lwc1 $f10, %lo(D_8004F1DC)($at) -/* 03AAF4 7F005FC4 8E590000 */ lw $t9, ($s2) -/* 03AAF8 7F005FC8 460AA403 */ div.s $f16, $f20, $f10 -/* 03AAFC 7F005FCC E730006C */ swc1 $f16, 0x6c($t9) -/* 03AB00 7F005FD0 8E440000 */ lw $a0, ($s2) -/* 03AB04 7F005FD4 8FA60084 */ lw $a2, 0x84($sp) -/* 03AB08 7F005FD8 0FC1F1CC */ jal change_player_pos_to_target -/* 03AB0C 7F005FDC 24840488 */ addiu $a0, $a0, 0x488 -/* 03AB10 7F005FE0 0FC15FAB */ jal sinf -/* 03AB14 7F005FE4 C7AC0088 */ lwc1 $f12, 0x88($sp) -/* 03AB18 7F005FE8 8E580000 */ lw $t8, ($s2) -/* 03AB1C 7F005FEC 46000487 */ neg.s $f18, $f0 -/* 03AB20 7F005FF0 44802000 */ mtc1 $zero, $f4 -/* 03AB24 7F005FF4 E7120498 */ swc1 $f18, 0x498($t8) -/* 03AB28 7F005FF8 8E4F0000 */ lw $t7, ($s2) -/* 03AB2C 7F005FFC E5E4049C */ swc1 $f4, 0x49c($t7) -/* 03AB30 7F006000 0FC15FA8 */ jal cosf -/* 03AB34 7F006004 C7AC0088 */ lwc1 $f12, 0x88($sp) -/* 03AB38 7F006008 8E4E0000 */ lw $t6, ($s2) -/* 03AB3C 7F00600C 3C018003 */ lui $at, %hi(D_800364D0) -/* 03AB40 7F006010 E5C004A0 */ swc1 $f0, 0x4a0($t6) -/* 03AB44 7F006014 0FC225C6 */ jal sub_GAME_7F089718 -/* 03AB48 7F006018 C42C64D0 */ lwc1 $f12, %lo(D_800364D0)($at) -/* 03AB4C 7F00601C 3C018008 */ lui $at, %hi(dword_CODE_bss_80079DA0) -/* 03AB50 7F006020 AC209DA0 */ sw $zero, %lo(dword_CODE_bss_80079DA0)($at) -/* 03AB54 7F006024 3C018008 */ lui $at, %hi(dword_CODE_bss_80079DA4) -/* 03AB58 7F006028 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079DA8) -/* 03AB5C 7F00602C 3C038008 */ lui $v1, %hi(dword_CODE_bss_80079DC8) -/* 03AB60 7F006030 24639DC8 */ addiu $v1, %lo(dword_CODE_bss_80079DC8) # addiu $v1, $v1, -0x6238 -/* 03AB64 7F006034 24429DA8 */ addiu $v0, %lo(dword_CODE_bss_80079DA8) # addiu $v0, $v0, -0x6258 -/* 03AB68 7F006038 AC209DA4 */ sw $zero, %lo(dword_CODE_bss_80079DA4)($at) -.L7F00603C: -/* 03AB6C 7F00603C 24420010 */ addiu $v0, $v0, 0x10 -/* 03AB70 7F006040 AC40FFF4 */ sw $zero, -0xc($v0) -/* 03AB74 7F006044 AC40FFF8 */ sw $zero, -8($v0) -/* 03AB78 7F006048 AC40FFFC */ sw $zero, -4($v0) -/* 03AB7C 7F00604C 1443FFFB */ bne $v0, $v1, .L7F00603C -/* 03AB80 7F006050 AC40FFF0 */ sw $zero, -0x10($v0) -/* 03AB84 7F006054 0FC228CC */ jal reset_intro_camera_message_dialogs_for_BONDdata -/* 03AB88 7F006058 00000000 */ nop -/* 03AB8C 7F00605C 0FC22A40 */ jal sub_GAME_7F08A900 -/* 03AB90 7F006060 00000000 */ nop -/* 03AB94 7F006064 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 03AB98 7F006068 00000000 */ nop -/* 03AB9C 7F00606C 8E480000 */ lw $t0, ($s2) -/* 03ABA0 7F006070 240A0006 */ li $t2, 6 -/* 03ABA4 7F006074 AD0200A8 */ sw $v0, 0xa8($t0) -/* 03ABA8 7F006078 8E490000 */ lw $t1, ($s2) -/* 03ABAC 7F00607C 8D2B00A8 */ lw $t3, 0xa8($t1) -/* 03ABB0 7F006080 AD600004 */ sw $zero, 4($t3) -/* 03ABB4 7F006084 8E4C0000 */ lw $t4, ($s2) -/* 03ABB8 7F006088 8D8D00A8 */ lw $t5, 0xa8($t4) -/* 03ABBC 7F00608C A1AA0000 */ sb $t2, ($t5) -/* 03ABC0 7F006090 8E590000 */ lw $t9, ($s2) -/* 03ABC4 7F006094 C7A0008C */ lwc1 $f0, 0x8c($sp) -/* 03ABC8 7F006098 E7200408 */ swc1 $f0, 0x408($t9) -/* 03ABCC 7F00609C 8E580000 */ lw $t8, ($s2) -/* 03ABD0 7F0060A0 8F0F00A8 */ lw $t7, 0xa8($t8) -/* 03ABD4 7F0060A4 E5E00008 */ swc1 $f0, 8($t7) -/* 03ABD8 7F0060A8 8E4E0000 */ lw $t6, ($s2) -/* 03ABDC 7F0060AC C7A00090 */ lwc1 $f0, 0x90($sp) -/* 03ABE0 7F0060B0 E5C0040C */ swc1 $f0, 0x40c($t6) -/* 03ABE4 7F0060B4 8E480000 */ lw $t0, ($s2) -/* 03ABE8 7F0060B8 8D0900A8 */ lw $t1, 0xa8($t0) -/* 03ABEC 7F0060BC E520000C */ swc1 $f0, 0xc($t1) -/* 03ABF0 7F0060C0 8E4B0000 */ lw $t3, ($s2) -/* 03ABF4 7F0060C4 C7A00094 */ lwc1 $f0, 0x94($sp) -/* 03ABF8 7F0060C8 E5600410 */ swc1 $f0, 0x410($t3) -/* 03ABFC 7F0060CC 8E4C0000 */ lw $t4, ($s2) -/* 03AC00 7F0060D0 8D8A00A8 */ lw $t2, 0xa8($t4) -/* 03AC04 7F0060D4 E5400010 */ swc1 $f0, 0x10($t2) -/* 03AC08 7F0060D8 8E590000 */ lw $t9, ($s2) -/* 03AC0C 7F0060DC 8FAD0084 */ lw $t5, 0x84($sp) -/* 03AC10 7F0060E0 8F3800A8 */ lw $t8, 0xa8($t9) -/* 03AC14 7F0060E4 AF0D0014 */ sw $t5, 0x14($t8) -/* 03AC18 7F0060E8 8E4F0000 */ lw $t7, ($s2) -/* 03AC1C 7F0060EC 0FC0E929 */ jal set_current_objposdata_plus_0x28 -/* 03AC20 7F0060F0 8DE400A8 */ lw $a0, 0xa8($t7) -/* 03AC24 7F0060F4 8E4E0000 */ lw $t6, ($s2) -/* 03AC28 7F0060F8 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 03AC2C 7F0060FC 8DC400A8 */ lw $a0, 0xa8($t6) -/* 03AC30 7F006100 8E420000 */ lw $v0, ($s2) -/* 03AC34 7F006104 3C018005 */ lui $at, %hi(D_8004F1E0) -/* 03AC38 7F006108 C420F1E0 */ lwc1 $f0, %lo(D_8004F1E0)($at) -/* 03AC3C 7F00610C C44604B4 */ lwc1 $f6, 0x4b4($v0) -/* 03AC40 7F006110 46003203 */ div.s $f8, $f6, $f0 -/* 03AC44 7F006114 E44803B8 */ swc1 $f8, 0x3b8($v0) -/* 03AC48 7F006118 8E420000 */ lw $v0, ($s2) -/* 03AC4C 7F00611C C44A04B8 */ lwc1 $f10, 0x4b8($v0) -/* 03AC50 7F006120 46005403 */ div.s $f16, $f10, $f0 -/* 03AC54 7F006124 E45003BC */ swc1 $f16, 0x3bc($v0) -/* 03AC58 7F006128 8E420000 */ lw $v0, ($s2) -/* 03AC5C 7F00612C C45204BC */ lwc1 $f18, 0x4bc($v0) -/* 03AC60 7F006130 46009103 */ div.s $f4, $f18, $f0 -/* 03AC64 7F006134 0FC26919 */ jal get_num_players -/* 03AC68 7F006138 E44403C0 */ swc1 $f4, 0x3c0($v0) -/* 03AC6C 7F00613C 24010001 */ li $at, 1 -/* 03AC70 7F006140 14410005 */ bne $v0, $at, .L7F006158 -/* 03AC74 7F006144 00000000 */ nop -/* 03AC78 7F006148 0FC1EA6E */ jal set_camera_mode -/* 03AC7C 7F00614C 24040001 */ li $a0, 1 -/* 03AC80 7F006150 10000003 */ b .L7F006160 -/* 03AC84 7F006154 00000000 */ nop -.L7F006158: -/* 03AC88 7F006158 0FC1EA6E */ jal set_camera_mode -/* 03AC8C 7F00615C 24040009 */ li $a0, 9 -.L7F006160: -/* 03AC90 7F006160 3C048003 */ lui $a0, %hi(D_800364D8) -/* 03AC94 7F006164 248464D8 */ addiu $a0, %lo(D_800364D8) # addiu $a0, $a0, 0x64d8 -/* 03AC98 7F006168 00004080 */ sll $t0, $zero, 2 -/* 03AC9C 7F00616C 00884821 */ addu $t1, $a0, $t0 -/* 03ACA0 7F006170 8D2B0000 */ lw $t3, ($t1) -/* 03ACA4 7F006174 3C038003 */ lui $v1, %hi(D_8003650C) -/* 03ACA8 7F006178 2463650C */ addiu $v1, %lo(D_8003650C) # addiu $v1, $v1, 0x650c -/* 03ACAC 7F00617C AC600000 */ sw $zero, ($v1) -/* 03ACB0 7F006180 11600009 */ beqz $t3, .L7F0061A8 -/* 03ACB4 7F006184 00001025 */ move $v0, $zero -/* 03ACB8 7F006188 244C0001 */ addiu $t4, $v0, 1 -.L7F00618C: -/* 03ACBC 7F00618C 000C5080 */ sll $t2, $t4, 2 -/* 03ACC0 7F006190 008AC821 */ addu $t9, $a0, $t2 -/* 03ACC4 7F006194 8F2D0000 */ lw $t5, ($t9) -/* 03ACC8 7F006198 AC6C0000 */ sw $t4, ($v1) -/* 03ACCC 7F00619C 01801025 */ move $v0, $t4 -/* 03ACD0 7F0061A0 55A0FFFA */ bnezl $t5, .L7F00618C -/* 03ACD4 7F0061A4 244C0001 */ addiu $t4, $v0, 1 -.L7F0061A8: -/* 03ACD8 7F0061A8 8E4F0000 */ lw $t7, ($s2) -/* 03ACDC 7F0061AC 24180001 */ li $t8, 1 -/* 03ACE0 7F0061B0 3C018003 */ lui $at, %hi(D_80036510) -/* 03ACE4 7F0061B4 ADF80420 */ sw $t8, 0x420($t7) -/* 03ACE8 7F0061B8 8E4E0000 */ lw $t6, ($s2) -/* 03ACEC 7F0061BC ADC00424 */ sw $zero, 0x424($t6) -/* 03ACF0 7F0061C0 8E480000 */ lw $t0, ($s2) -/* 03ACF4 7F0061C4 AD000428 */ sw $zero, 0x428($t0) -/* 03ACF8 7F0061C8 8FBF0034 */ lw $ra, 0x34($sp) -/* 03ACFC 7F0061CC 8FB20030 */ lw $s2, 0x30($sp) -/* 03AD00 7F0061D0 8FB1002C */ lw $s1, 0x2c($sp) -/* 03AD04 7F0061D4 8FB00028 */ lw $s0, 0x28($sp) -/* 03AD08 7F0061D8 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 03AD0C 7F0061DC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 03AD10 7F0061E0 AC206510 */ sw $zero, %lo(D_80036510)($at) -/* 03AD14 7F0061E4 03E00008 */ jr $ra -/* 03AD18 7F0061E8 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel projectile_ptr_table -.word throwingknife -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word grenade_launch_round -.word rocket -.word grenade -.word timed_mine -.word prox_mine -.word remote_mine -.word default -.word default -.word rocket_0 -.word bombcase -.word plastique -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word default -.word bug -.word microcamera - - -/*8004f1a8*/ -glabel default_zoom_speed -.word 0x3f68ba2e - -glabel jpt_8004F1AC - .word spawn_point - .word weapon - .word ammo - .word swirling_intro_cam - .word intro_ani - .word cuff_char - .word fixed_cam - .word watch_time - .word credits - -glabel D_8004F1D0 -.word 0xb8d1b717 -glabel D_8004F1D4 -.word 0x40c90fdb -glabel D_8004F1D8 -.word 0x40c90fdb -glabel D_8004F1DC -.word 0x3e2e147c -glabel D_8004F1E0 -.word 0x3dccccd0 -.text -glabel load_camera_intro_type_values -/* 03A354 7F0057E4 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 03A358 7F0057E8 3C0F8003 */ lui $t7, %hi(D_8002A780) # $t7, 0x8003 -/* 03A35C 7F0057EC AFBF003C */ sw $ra, 0x3c($sp) -/* 03A360 7F0057F0 AFB20038 */ sw $s2, 0x38($sp) -/* 03A364 7F0057F4 AFB10034 */ sw $s1, 0x34($sp) -/* 03A368 7F0057F8 AFB00030 */ sw $s0, 0x30($sp) -/* 03A36C 7F0057FC F7B80028 */ sdc1 $f24, 0x28($sp) -/* 03A370 7F005800 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 03A374 7F005804 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 03A378 7F005808 25EFA7C0 */ addiu $t7, %lo(D_8002A780) # addiu $t7, $t7, -0x5840 -/* 03A37C 7F00580C 8DE10000 */ lw $at, ($t7) -/* 03A380 7F005810 27AE0094 */ addiu $t6, $sp, 0x94 -/* 03A384 7F005814 8DE80004 */ lw $t0, 4($t7) -/* 03A388 7F005818 ADC10000 */ sw $at, ($t6) -/* 03A38C 7F00581C 8DE10008 */ lw $at, 8($t7) -/* 03A390 7F005820 ADC80004 */ sw $t0, 4($t6) -/* 03A394 7F005824 3C118003 */ lui $s1, %hi(resolution) # $s1, 0x8003 -/* 03A398 7F005828 ADC10008 */ sw $at, 8($t6) -/* 03A39C 7F00582C 3C018003 */ lui $at, %hi(mission_kia_flag) # $at, 0x8003 -/* 03A3A0 7F005830 AC20A968 */ sw $zero, %lo(mission_kia_flag)($at) -/* 03A3A4 7F005834 3C018003 */ lui $at, %hi(camera_80036424) # $at, 0x8003 -/* 03A3A8 7F005838 3C108007 */ lui $s0, %hi(ptr_setup_intro) # $s0, 0x8007 -/* 03A3AC 7F00583C AC206464 */ sw $zero, %lo(camera_80036424)($at) -/* 03A3B0 7F005840 26316468 */ addiu $s1, %lo(resolution) # addiu $s1, $s1, 0x6468 -/* 03A3B4 7F005844 8E105D48 */ lw $s0, %lo(ptr_setup_intro)($s0) -/* 03A3B8 7F005848 AE200000 */ sw $zero, ($s1) -/* 03A3BC 7F00584C 3C018003 */ lui $at, %hi(camera_8003642C) # $at, 0x8003 -/* 03A3C0 7F005850 3C128003 */ lui $s2, %hi(camera_80036430) # $s2, 0x8003 -/* 03A3C4 7F005854 AC20646C */ sw $zero, %lo(camera_8003642C)($at) -/* 03A3C8 7F005858 4480C000 */ mtc1 $zero, $f24 -/* 03A3CC 7F00585C 26526470 */ addiu $s2, %lo(camera_80036430) # addiu $s2, $s2, 0x6470 -/* 03A3D0 7F005860 AE400000 */ sw $zero, ($s2) -/* 03A3D4 7F005864 3C018003 */ lui $at, %hi(camera_80036434) # $at, 0x8003 -/* 03A3D8 7F005868 AFA00084 */ sw $zero, 0x84($sp) -/* 03A3DC 7F00586C AC206474 */ sw $zero, %lo(camera_80036434)($at) -/* 03A3E0 7F005870 0C001A57 */ jal get_stage_num -/* 03A3E4 7F005874 E7B80090 */ swc1 $f24, 0x90($sp) -/* 03A3E8 7F005878 24010036 */ li $at, 54 -/* 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 mempAllocBytesInBank -/* 03A3FC 7F00588C 24050004 */ li $a1, 4 -/* 03A400 7F005890 244A003F */ addiu $t2, $v0, 0x3f -/* 03A404 7F005894 2401FFC0 */ li $at, -64 -/* 03A408 7F005898 AE220000 */ sw $v0, ($s1) -/* 03A40C 7F00589C 01415824 */ and $t3, $t2, $at -/* 03A410 7F0058A0 240C0001 */ li $t4, 1 -/* 03A414 7F0058A4 AE2B0000 */ sw $t3, ($s1) -/* 03A418 7F0058A8 AE4C0000 */ sw $t4, ($s2) -.L7F0058AC: -/* 03A41C 7F0058AC 3C018003 */ lui $at, %hi(camera_80036438) # $at, 0x8003 -/* 03A420 7F0058B0 AC206478 */ sw $zero, %lo(camera_80036438)($at) -/* 03A424 7F0058B4 3C018003 */ lui $at, %hi(D_8003643C) # $at, 0x8003 -/* 03A428 7F0058B8 AC20647C */ sw $zero, %lo(D_8003643C)($at) -/* 03A42C 7F0058BC 3C018003 */ lui $at, %hi(D_80036440) # $at, 0x8003 -/* 03A430 7F0058C0 3C028008 */ lui $v0, %hi(flt_CODE_bss_80079990) # $v0, 0x8008 -/* 03A434 7F0058C4 AC206480 */ sw $zero, %lo(D_80036440)($at) -/* 03A438 7F0058C8 244299D0 */ addiu $v0, %lo(flt_CODE_bss_80079990) # addiu $v0, $v0, -0x6630 -/* 03A43C 7F0058CC E4580000 */ swc1 $f24, ($v0) -/* 03A440 7F0058D0 E4580004 */ swc1 $f24, 4($v0) -/* 03A444 7F0058D4 E4580008 */ swc1 $f24, 8($v0) -/* 03A448 7F0058D8 3C018003 */ lui $at, %hi(D_80036444) # $at, 0x8003 -/* 03A44C 7F0058DC AC206484 */ sw $zero, %lo(D_80036444)($at) -/* 03A450 7F0058E0 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C68) # $at, 0x8008 -/* 03A454 7F0058E4 AC209CD8 */ sw $zero, %lo(dword_CODE_bss_80079C68)($at) -/* 03A458 7F0058E8 3C018003 */ lui $at, %hi(in_tank_flag) # $at, 0x8003 -/* 03A45C 7F0058EC AC206488 */ sw $zero, %lo(in_tank_flag)($at) -/* 03A460 7F0058F0 3C018003 */ lui $at, %hi(D_8003644C) # $at, 0x8003 -/* 03A464 7F0058F4 AC20648C */ sw $zero, %lo(D_8003644C)($at) -/* 03A468 7F0058F8 3C018003 */ lui $at, %hi(ptr_playerstank) # $at, 0x8003 -/* 03A46C 7F0058FC AC206490 */ sw $zero, %lo(ptr_playerstank)($at) -/* 03A470 7F005900 3C018003 */ lui $at, %hi(D_80036454) # $at, 0x8003 -/* 03A474 7F005904 3C038003 */ lui $v1, %hi(SFX_80036458) # $v1, 0x8003 -/* 03A478 7F005908 E4386494 */ swc1 $f24, %lo(D_80036454)($at) -/* 03A47C 7F00590C 24636498 */ addiu $v1, %lo(SFX_80036458) # addiu $v1, $v1, 0x6498 -/* 03A480 7F005910 AC600000 */ sw $zero, ($v1) -/* 03A484 7F005914 AC600004 */ sw $zero, 4($v1) -/* 03A488 7F005918 3C018003 */ lui $at, %hi(D_80036460) # $at, 0x8003 -/* 03A48C 7F00591C E43864A0 */ swc1 $f24, %lo(D_80036460)($at) -/* 03A490 7F005920 3C018003 */ lui $at, %hi(D_80036464) # $at, 0x8003 -/* 03A494 7F005924 E43864A4 */ swc1 $f24, %lo(D_80036464)($at) -/* 03A498 7F005928 3C018003 */ lui $at, %hi(D_80036468) # $at, 0x8003 -/* 03A49C 7F00592C E43864A8 */ swc1 $f24, %lo(D_80036468)($at) -/* 03A4A0 7F005930 3C018003 */ lui $at, %hi(D_8003646C) # $at, 0x8003 -/* 03A4A4 7F005934 E43864AC */ swc1 $f24, %lo(D_8003646C)($at) -/* 03A4A8 7F005938 3C018003 */ lui $at, %hi(D_80036470) # $at, 0x8003 -/* 03A4AC 7F00593C E43864B0 */ swc1 $f24, %lo(D_80036470)($at) -/* 03A4B0 7F005940 3C018003 */ lui $at, %hi(D_80036474) # $at, 0x8003 -/* 03A4B4 7F005944 E43864B4 */ swc1 $f24, %lo(D_80036474)($at) -/* 03A4B8 7F005948 3C018003 */ lui $at, %hi(D_80036478) # $at, 0x8003 -/* 03A4BC 7F00594C E43864B8 */ swc1 $f24, %lo(D_80036478)($at) -/* 03A4C0 7F005950 3C018003 */ lui $at, %hi(D_8003647C) # $at, 0x8003 -/* 03A4C4 7F005954 E43864BC */ swc1 $f24, %lo(D_8003647C)($at) -/* 03A4C8 7F005958 3C018003 */ lui $at, %hi(D_80036480) # $at, 0x8003 -/* 03A4CC 7F00595C AC2064C0 */ sw $zero, %lo(D_80036480)($at) -/* 03A4D0 7F005960 3C018003 */ lui $at, %hi(D_80036484) # $at, 0x8003 -/* 03A4D4 7F005964 E43864C4 */ swc1 $f24, %lo(D_80036484)($at) -/* 03A4D8 7F005968 3C018003 */ lui $at, %hi(D_80036488) # $at, 0x8003 -/* 03A4DC 7F00596C E43864C8 */ swc1 $f24, %lo(D_80036488)($at) -/* 03A4E0 7F005970 3C018003 */ lui $at, %hi(D_8003648C) # $at, 0x8003 -/* 03A4E4 7F005974 AC2064CC */ sw $zero, %lo(D_8003648C)($at) -/* 03A4E8 7F005978 3C018003 */ lui $at, %hi(D_800364B0) # $at, 0x8003 -/* 03A4EC 7F00597C 240D0001 */ li $t5, 1 -/* 03A4F0 7F005980 AC2D64F0 */ sw $t5, %lo(D_800364B0)($at) -/* 03A4F4 7F005984 3C018003 */ lui $at, %hi(disable_player_pickups_flag) # $at, 0x8003 -/* 03A4F8 7F005988 AC2064F4 */ sw $zero, %lo(disable_player_pickups_flag)($at) -/* 03A4FC 7F00598C 3C018003 */ lui $at, %hi(cameramode) # $at, 0x8003 -/* 03A500 7F005990 AC2064D4 */ sw $zero, %lo(cameramode)($at) -/* 03A504 7F005994 3C018003 */ lui $at, %hi(enable_move_after_cinema) # $at, 0x8003 -/* 03A508 7F005998 AC2064D8 */ sw $zero, %lo(enable_move_after_cinema)($at) -/* 03A50C 7F00599C 3C018003 */ lui $at, %hi(D_8003649C) # $at, 0x8003 -/* 03A510 7F0059A0 AC2064DC */ sw $zero, %lo(D_8003649C)($at) -/* 03A514 7F0059A4 3C018003 */ lui $at, %hi(stop_time_flag) # $at, 0x8003 -/* 03A518 7F0059A8 AC2064E0 */ sw $zero, %lo(stop_time_flag)($at) -/* 03A51C 7F0059AC 3C018003 */ lui $at, %hi(D_800364A4) # $at, 0x8003 -/* 03A520 7F0059B0 E43864E4 */ swc1 $f24, %lo(D_800364A4)($at) -/* 03A524 7F0059B4 3C018003 */ lui $at, %hi(D_800364A8) # $at, 0x8003 -/* 03A528 7F0059B8 24190001 */ li $t9, 1 -/* 03A52C 7F0059BC AC3964E8 */ sw $t9, %lo(D_800364A8)($at) -/* 03A530 7F0059C0 3C018003 */ lui $at, %hi(D_800364AC) # $at, 0x8003 -/* 03A534 7F0059C4 AC2064EC */ sw $zero, %lo(D_800364AC)($at) -/* 03A538 7F0059C8 3C018003 */ lui $at, %hi(ptr_random06cam_entry) # $at, 0x8003 -/* 03A53C 7F0059CC AC206500 */ sw $zero, %lo(ptr_random06cam_entry)($at) -/* 03A540 7F0059D0 3C018003 */ lui $at, %hi(D_800364B8) # $at, 0x8003 -/* 03A544 7F0059D4 AC2064F8 */ sw $zero, %lo(D_800364B8)($at) -/* 03A548 7F0059D8 3C018003 */ lui $at, %hi(D_800364BC) # $at, 0x8003 -/* 03A54C 7F0059DC AC2064FC */ sw $zero, %lo(D_800364BC)($at) -/* 03A550 7F0059E0 3C018008 */ lui $at, %hi(mission_timer) # $at, 0x8008 -/* 03A554 7F0059E4 3C118008 */ lui $s1, %hi(watch_time_0) # $s1, 0x8008 -/* 03A558 7F0059E8 AC209A60 */ sw $zero, %lo(mission_timer)($at) -/* 03A55C 7F0059EC 26319A64 */ addiu $s1, %lo(watch_time_0) # addiu $s1, $s1, -0x659c -/* 03A560 7F0059F0 E6380000 */ swc1 $f24, ($s1) -/* 03A564 7F0059F4 3C018003 */ lui $at, %hi(D_80036514) # $at, 0x8003 -/* 03A568 7F0059F8 AC206554 */ sw $zero, %lo(D_80036514)($at) -/* 03A56C 7F0059FC 3C018005 */ lui $at, %hi(default_zoom_speed) # $at, 0x8005 -/* 03A570 7F005A00 C424F1D8 */ lwc1 $f4, %lo(default_zoom_speed)($at) -/* 03A574 7F005A04 3C018003 */ lui $at, %hi(watch_transition_time) # $at, 0x8003 -/* 03A578 7F005A08 E42465E8 */ swc1 $f4, %lo(watch_transition_time)($at) -/* 03A57C 7F005A0C 3C018008 */ lui $at, %hi(starting_left_weapon) # $at, 0x8008 -/* 03A580 7F005A10 AC209A24 */ sw $zero, %lo(starting_left_weapon)($at) -/* 03A584 7F005A14 3C018008 */ lui $at, %hi(starting_right_weapon) # $at, 0x8008 -/* 03A588 7F005A18 120000F7 */ beqz $s0, .L7F005DF8 -/* 03A58C 7F005A1C AC209A20 */ sw $zero, %lo(starting_right_weapon)($at) -/* 03A590 7F005A20 8E020000 */ lw $v0, ($s0) -/* 03A594 7F005A24 24010009 */ li $at, 9 -/* 03A598 7F005A28 3C128008 */ lui $s2, %hi(pPlayer) # $s2, 0x8008 -/* 03A59C 7F005A2C 104100F2 */ beq $v0, $at, .L7F005DF8 -/* 03A5A0 7F005A30 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 03A5A4 7F005A34 4481B000 */ mtc1 $at, $f22 -/* 03A5A8 7F005A38 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 03A5AC 7F005A3C 4481A000 */ mtc1 $at, $f20 -/* 03A5B0 7F005A40 2652A120 */ addiu $s2, %lo(pPlayer) # addiu $s2, $s2, -0x5ee0 -/* 03A5B4 7F005A44 2C410009 */ sltiu $at, $v0, 9 -.L7F005A48: -/* 03A5B8 7F005A48 102000E6 */ beqz $at, .L7F005DE4 -/* 03A5BC 7F005A4C 0002C080 */ sll $t8, $v0, 2 -/* 03A5C0 7F005A50 3C018005 */ lui $at, %hi(jpt_8004F1AC) -/* 03A5C4 7F005A54 00380821 */ addu $at, $at, $t8 -/* 03A5C8 7F005A58 8C38F1DC */ lw $t8, %lo(jpt_8004F1AC)($at) -/* 03A5CC 7F005A5C 03000008 */ jr $t8 -/* 03A5D0 7F005A60 00000000 */ nop -spawn_point: -/* 03A5D4 7F005A64 3C0E8007 */ lui $t6, %hi(ptr_0xxxpresets) # $t6, 0x8007 -/* 03A5D8 7F005A68 8DCE5D58 */ lw $t6, %lo(ptr_0xxxpresets)($t6) -/* 03A5DC 7F005A6C 11C00018 */ beqz $t6, .L7F005AD0 -/* 03A5E0 7F005A70 00000000 */ nop -/* 03A5E4 7F005A74 0FC305A4 */ jal check_ramrom_flags -/* 03A5E8 7F005A78 00000000 */ nop -/* 03A5EC 7F005A7C 8E0F0008 */ lw $t7, 8($s0) -/* 03A5F0 7F005A80 3C0A8007 */ lui $t2, %hi(ptr_0xxxpresets) # $t2, 0x8007 -/* 03A5F4 7F005A84 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C28) -/* 03A5F8 7F005A88 144F0011 */ bne $v0, $t7, .L7F005AD0 -/* 03A5FC 7F005A8C 00000000 */ nop -/* 03A600 7F005A90 8E080004 */ lw $t0, 4($s0) -/* 03A604 7F005A94 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079C68) # $v0, 0x8008 -/* 03A608 7F005A98 8C429CD8 */ lw $v0, %lo(dword_CODE_bss_80079C68)($v0) -/* 03A60C 7F005A9C 00084880 */ sll $t1, $t0, 2 -/* 03A610 7F005AA0 01284823 */ subu $t1, $t1, $t0 -/* 03A614 7F005AA4 8D4A5D58 */ lw $t2, %lo(ptr_0xxxpresets)($t2) -/* 03A618 7F005AA8 00094880 */ sll $t1, $t1, 2 -/* 03A61C 7F005AAC 01284823 */ subu $t1, $t1, $t0 -/* 03A620 7F005AB0 00094880 */ sll $t1, $t1, 2 -/* 03A624 7F005AB4 00026080 */ sll $t4, $v0, 2 -/* 03A628 7F005AB8 002C0821 */ addu $at, $at, $t4 -/* 03A62C 7F005ABC 012A5821 */ addu $t3, $t1, $t2 -/* 03A630 7F005AC0 AC2B9C98 */ sw $t3, %lo(dword_CODE_bss_80079C28)($at) -/* 03A634 7F005AC4 3C018008 */ lui $at, %hi(dword_CODE_bss_80079C68) # $at, 0x8008 -/* 03A638 7F005AC8 244D0001 */ addiu $t5, $v0, 1 -/* 03A63C 7F005ACC AC2D9CD8 */ sw $t5, %lo(dword_CODE_bss_80079C68)($at) -.L7F005AD0: -/* 03A640 7F005AD0 100000C5 */ b .L7F005DE8 -/* 03A644 7F005AD4 2610000C */ addiu $s0, $s0, 0xc -weapon: -/* 03A648 7F005AD8 0FC305A4 */ jal check_ramrom_flags -/* 03A64C 7F005ADC 00000000 */ nop -/* 03A650 7F005AE0 8E19000C */ lw $t9, 0xc($s0) -/* 03A654 7F005AE4 1459001C */ bne $v0, $t9, .L7F005B58 -/* 03A658 7F005AE8 00000000 */ nop -/* 03A65C 7F005AEC 0FC015CC */ jal set_weapon_model_generated_thrown_object -/* 03A660 7F005AF0 8E040004 */ lw $a0, 4($s0) -/* 03A664 7F005AF4 8E040008 */ lw $a0, 8($s0) -/* 03A668 7F005AF8 04800008 */ bltz $a0, .L7F005B1C -/* 03A66C 7F005AFC 00000000 */ nop -/* 03A670 7F005B00 0FC015CC */ jal set_weapon_model_generated_thrown_object -/* 03A674 7F005B04 00000000 */ nop -/* 03A678 7F005B08 8E040004 */ lw $a0, 4($s0) -/* 03A67C 7F005B0C 0FC23381 */ jal add_doubles_item_to_inventory -/* 03A680 7F005B10 8E050008 */ lw $a1, 8($s0) -/* 03A684 7F005B14 10000004 */ b .L7F005B28 -/* 03A688 7F005B18 8FB80084 */ lw $t8, 0x84($sp) -.L7F005B1C: -/* 03A68C 7F005B1C 0FC2335A */ jal add_item_to_inventory -/* 03A690 7F005B20 8E040004 */ lw $a0, 4($s0) -/* 03A694 7F005B24 8FB80084 */ lw $t8, 0x84($sp) -.L7F005B28: -/* 03A698 7F005B28 1700000B */ bnez $t8, .L7F005B58 -/* 03A69C 7F005B2C 00000000 */ nop -/* 03A6A0 7F005B30 8E0E0004 */ lw $t6, 4($s0) -/* 03A6A4 7F005B34 3C018008 */ lui $at, %hi(starting_right_weapon) # $at, 0x8008 -/* 03A6A8 7F005B38 240F0001 */ li $t7, 1 -/* 03A6AC 7F005B3C AC2E9A20 */ sw $t6, %lo(starting_right_weapon)($at) -/* 03A6B0 7F005B40 8E040008 */ lw $a0, 8($s0) -/* 03A6B4 7F005B44 AFAF0084 */ sw $t7, 0x84($sp) -/* 03A6B8 7F005B48 3C018008 */ lui $at, %hi(starting_left_weapon) # $at, 0x8008 -/* 03A6BC 7F005B4C 04800002 */ bltz $a0, .L7F005B58 -/* 03A6C0 7F005B50 00000000 */ nop -/* 03A6C4 7F005B54 AC249A24 */ sw $a0, %lo(starting_left_weapon)($at) -.L7F005B58: -/* 03A6C8 7F005B58 100000A3 */ b .L7F005DE8 -/* 03A6CC 7F005B5C 26100010 */ addiu $s0, $s0, 0x10 -ammo: -/* 03A6D0 7F005B60 0FC305A4 */ jal check_ramrom_flags -/* 03A6D4 7F005B64 00000000 */ nop -/* 03A6D8 7F005B68 8E08000C */ lw $t0, 0xc($s0) -/* 03A6DC 7F005B6C 14480004 */ bne $v0, $t0, .L7F005B80 -/* 03A6E0 7F005B70 00000000 */ nop -/* 03A6E4 7F005B74 8E040004 */ lw $a0, 4($s0) -/* 03A6E8 7F005B78 0FC1A5C7 */ jal give_cur_player_ammo -/* 03A6EC 7F005B7C 8E050008 */ lw $a1, 8($s0) -.L7F005B80: -/* 03A6F0 7F005B80 10000099 */ b .L7F005DE8 -/* 03A6F4 7F005B84 26100010 */ addiu $s0, $s0, 0x10 -swirling_intro_cam: -/* 03A6F8 7F005B88 3C098003 */ lui $t1, %hi(D_800364AC) # $t1, 0x8003 -/* 03A6FC 7F005B8C 8D2964EC */ lw $t1, %lo(D_800364AC)($t1) -/* 03A700 7F005B90 02001025 */ move $v0, $s0 -/* 03A704 7F005B94 3C018003 */ lui $at, %hi(D_800364AC) # $at, 0x8003 -/* 03A708 7F005B98 55200003 */ bnezl $t1, .L7F005BA8 -/* 03A70C 7F005B9C 8C4A0008 */ lw $t2, 8($v0) -/* 03A710 7F005BA0 AC3064EC */ sw $s0, %lo(D_800364AC)($at) -/* 03A714 7F005BA4 8C4A0008 */ lw $t2, 8($v0) -.L7F005BA8: -/* 03A718 7F005BA8 8C4B000C */ lw $t3, 0xc($v0) -/* 03A71C 7F005BAC 8C4C0010 */ lw $t4, 0x10($v0) -/* 03A720 7F005BB0 448A3000 */ mtc1 $t2, $f6 -/* 03A724 7F005BB4 448B8000 */ mtc1 $t3, $f16 -/* 03A728 7F005BB8 8C4D0014 */ lw $t5, 0x14($v0) -/* 03A72C 7F005BBC 46803220 */ cvt.s.w $f8, $f6 -/* 03A730 7F005BC0 448C3000 */ mtc1 $t4, $f6 -/* 03A734 7F005BC4 8C590018 */ lw $t9, 0x18($v0) -/* 03A738 7F005BC8 26100020 */ addiu $s0, $s0, 0x20 -/* 03A73C 7F005BCC 468084A0 */ cvt.s.w $f18, $f16 -/* 03A740 7F005BD0 448D8000 */ mtc1 $t5, $f16 -/* 03A744 7F005BD4 46144283 */ div.s $f10, $f8, $f20 -/* 03A748 7F005BD8 46803220 */ cvt.s.w $f8, $f6 -/* 03A74C 7F005BDC 44993000 */ mtc1 $t9, $f6 -/* 03A750 7F005BE0 46149103 */ div.s $f4, $f18, $f20 -/* 03A754 7F005BE4 E44A0008 */ swc1 $f10, 8($v0) -/* 03A758 7F005BE8 468084A0 */ cvt.s.w $f18, $f16 -/* 03A75C 7F005BEC 46144283 */ div.s $f10, $f8, $f20 -/* 03A760 7F005BF0 E444000C */ swc1 $f4, 0xc($v0) -/* 03A764 7F005BF4 46803220 */ cvt.s.w $f8, $f6 -/* 03A768 7F005BF8 46149103 */ div.s $f4, $f18, $f20 -/* 03A76C 7F005BFC E44A0010 */ swc1 $f10, 0x10($v0) -/* 03A770 7F005C00 46144283 */ div.s $f10, $f8, $f20 -/* 03A774 7F005C04 E4440014 */ swc1 $f4, 0x14($v0) -/* 03A778 7F005C08 10000077 */ b .L7F005DE8 -/* 03A77C 7F005C0C E44A0018 */ swc1 $f10, 0x18($v0) -intro_ani: -/* 03A780 7F005C10 8E180004 */ lw $t8, 4($s0) -/* 03A784 7F005C14 3C018003 */ lui $at, %hi(D_80036514) # $at, 0x8003 -/* 03A788 7F005C18 26100008 */ addiu $s0, $s0, 8 -/* 03A78C 7F005C1C 10000072 */ b .L7F005DE8 -/* 03A790 7F005C20 AC386554 */ sw $t8, %lo(D_80036514)($at) -cuff_char: -/* 03A794 7F005C24 8E0E0004 */ lw $t6, 4($s0) -/* 03A798 7F005C28 8E4F0000 */ lw $t7, ($s2) -/* 03A79C 7F005C2C 26100008 */ addiu $s0, $s0, 8 -/* 03A7A0 7F005C30 1000006D */ b .L7F005DE8 -/* 03A7A4 7F005C34 ADEE041C */ sw $t6, 0x41c($t7) -fixed_cam: -/* 03A7A8 7F005C38 0FC26F3C */ jal get_cur_playernum -/* 03A7AC 7F005C3C 00000000 */ nop -/* 03A7B0 7F005C40 1440002C */ bnez $v0, .L7F005CF4 -/* 03A7B4 7F005C44 3C088003 */ lui $t0, %hi(D_800364B8) # $t0, 0x8003 -/* 03A7B8 7F005C48 8D0864F8 */ lw $t0, %lo(D_800364B8)($t0) -/* 03A7BC 7F005C4C 3C098003 */ lui $t1, %hi(D_800364BC) # $t1, 0x8003 -/* 03A7C0 7F005C50 3C018003 */ lui $at, %hi(D_800364B8) # $at, 0x8003 -/* 03A7C4 7F005C54 AE080024 */ sw $t0, 0x24($s0) -/* 03A7C8 7F005C58 8D2964FC */ lw $t1, %lo(D_800364BC)($t1) -/* 03A7CC 7F005C5C AC3064F8 */ sw $s0, %lo(D_800364B8)($at) -/* 03A7D0 7F005C60 3C018003 */ lui $at, %hi(D_800364BC) # $at, 0x8003 -/* 03A7D4 7F005C64 252A0001 */ addiu $t2, $t1, 1 -/* 03A7D8 7F005C68 AC2A64FC */ sw $t2, %lo(D_800364BC)($at) -/* 03A7DC 7F005C6C 8E0B0004 */ lw $t3, 4($s0) -/* 03A7E0 7F005C70 8E0C0008 */ lw $t4, 8($s0) -/* 03A7E4 7F005C74 8E0D000C */ lw $t5, 0xc($s0) -/* 03A7E8 7F005C78 448B8000 */ mtc1 $t3, $f16 -/* 03A7EC 7F005C7C 448C3000 */ mtc1 $t4, $f6 -/* 03A7F0 7F005C80 8E190010 */ lw $t9, 0x10($s0) -/* 03A7F4 7F005C84 468084A0 */ cvt.s.w $f18, $f16 -/* 03A7F8 7F005C88 448D8000 */ mtc1 $t5, $f16 -/* 03A7FC 7F005C8C 8E180014 */ lw $t8, 0x14($s0) -/* 03A800 7F005C90 9604001E */ lhu $a0, 0x1e($s0) -/* 03A804 7F005C94 46803220 */ cvt.s.w $f8, $f6 -/* 03A808 7F005C98 44993000 */ mtc1 $t9, $f6 -/* 03A80C 7F005C9C 46169103 */ div.s $f4, $f18, $f22 -/* 03A810 7F005CA0 468084A0 */ cvt.s.w $f18, $f16 -/* 03A814 7F005CA4 44988000 */ mtc1 $t8, $f16 -/* 03A818 7F005CA8 46164283 */ div.s $f10, $f8, $f22 -/* 03A81C 7F005CAC E6040004 */ swc1 $f4, 4($s0) -/* 03A820 7F005CB0 46803220 */ cvt.s.w $f8, $f6 -/* 03A824 7F005CB4 46169103 */ div.s $f4, $f18, $f22 -/* 03A828 7F005CB8 E60A0008 */ swc1 $f10, 8($s0) -/* 03A82C 7F005CBC 468084A0 */ cvt.s.w $f18, $f16 -/* 03A830 7F005CC0 46144283 */ div.s $f10, $f8, $f20 -/* 03A834 7F005CC4 E604000C */ swc1 $f4, 0xc($s0) -/* 03A838 7F005CC8 46149103 */ div.s $f4, $f18, $f20 -/* 03A83C 7F005CCC E60A0010 */ swc1 $f10, 0x10($s0) -/* 03A840 7F005CD0 0FC30AA2 */ jal get_textptr_for_textID -/* 03A844 7F005CD4 E6040014 */ swc1 $f4, 0x14($s0) -/* 03A848 7F005CD8 8E030020 */ lw $v1, 0x20($s0) -/* 03A84C 7F005CDC AE02001C */ sw $v0, 0x1c($s0) -/* 03A850 7F005CE0 10600004 */ beqz $v1, .L7F005CF4 -/* 03A854 7F005CE4 00000000 */ nop -/* 03A858 7F005CE8 0FC30AA2 */ jal get_textptr_for_textID -/* 03A85C 7F005CEC 3064FFFF */ andi $a0, $v1, 0xffff -/* 03A860 7F005CF0 AE020020 */ sw $v0, 0x20($s0) -.L7F005CF4: -/* 03A864 7F005CF4 1000003C */ b .L7F005DE8 -/* 03A868 7F005CF8 26100028 */ addiu $s0, $s0, 0x28 -watch_time: -/* 03A86C 7F005CFC E6380000 */ swc1 $f24, ($s1) -/* 03A870 7F005D00 8E040008 */ lw $a0, 8($s0) -/* 03A874 7F005D04 2401003C */ li $at, 60 -/* 03A878 7F005D08 5880000F */ blezl $a0, .L7F005D48 -/* 03A87C 7F005D0C 8E020004 */ lw $v0, 4($s0) -/* 03A880 7F005D10 0081001A */ div $zero, $a0, $at -/* 03A884 7F005D14 00007010 */ mfhi $t6 -/* 03A888 7F005D18 000E78C0 */ sll $t7, $t6, 3 -/* 03A88C 7F005D1C 01EE7823 */ subu $t7, $t7, $t6 -/* 03A890 7F005D20 000F7940 */ sll $t7, $t7, 5 -/* 03A894 7F005D24 01EE7821 */ addu $t7, $t7, $t6 -/* 03A898 7F005D28 000F7900 */ sll $t7, $t7, 4 -/* 03A89C 7F005D2C 448F4000 */ mtc1 $t7, $f8 -/* 03A8A0 7F005D30 C6260000 */ lwc1 $f6, ($s1) -/* 03A8A4 7F005D34 3C018008 */ lui $at, %hi(watch_time_0) # $at, 0x8008 -/* 03A8A8 7F005D38 468042A0 */ cvt.s.w $f10, $f8 -/* 03A8AC 7F005D3C 460A3400 */ add.s $f16, $f6, $f10 -/* 03A8B0 7F005D40 E4309A64 */ swc1 $f16, %lo(watch_time_0)($at) -/* 03A8B4 7F005D44 8E020004 */ lw $v0, 4($s0) -.L7F005D48: -/* 03A8B8 7F005D48 2401000C */ li $at, 12 -/* 03A8BC 7F005D4C 1840000E */ blez $v0, .L7F005D88 -/* 03A8C0 7F005D50 00000000 */ nop -/* 03A8C4 7F005D54 0041001A */ div $zero, $v0, $at -/* 03A8C8 7F005D58 00004010 */ mfhi $t0 -/* 03A8CC 7F005D5C 3C010003 */ lui $at, (0x00034BC0 >> 16) # lui $at, 3 -/* 03A8D0 7F005D60 34214BC0 */ ori $at, (0x00034BC0 & 0xFFFF) # ori $at, $at, 0x4bc0 -/* 03A8D4 7F005D64 01010019 */ multu $t0, $at -/* 03A8D8 7F005D68 C6320000 */ lwc1 $f18, ($s1) -/* 03A8DC 7F005D6C 3C018008 */ lui $at, %hi(watch_time_0) # $at, 0x8008 -/* 03A8E0 7F005D70 00004812 */ mflo $t1 -/* 03A8E4 7F005D74 44892000 */ mtc1 $t1, $f4 -/* 03A8E8 7F005D78 00000000 */ nop -/* 03A8EC 7F005D7C 46802220 */ cvt.s.w $f8, $f4 -/* 03A8F0 7F005D80 46089180 */ add.s $f6, $f18, $f8 -/* 03A8F4 7F005D84 E4269A64 */ swc1 $f6, %lo(watch_time_0)($at) -.L7F005D88: -/* 03A8F8 7F005D88 10000017 */ b .L7F005DE8 -/* 03A8FC 7F005D8C 2610000C */ addiu $s0, $s0, 0xc -credits: -/* 03A900 7F005D90 3C0A8007 */ lui $t2, %hi(dword_CODE_bss_80075D28) # $t2, 0x8007 -/* 03A904 7F005D94 8D4A5D68 */ lw $t2, %lo(dword_CODE_bss_80075D28)($t2) -/* 03A908 7F005D98 8E0B0004 */ lw $t3, 4($s0) -/* 03A90C 7F005D9C 3C018003 */ lui $at, %hi(D_80036440) # $at, 0x8003 -/* 03A910 7F005DA0 014B1021 */ addu $v0, $t2, $t3 -/* 03A914 7F005DA4 AC226480 */ sw $v0, %lo(D_80036440)($at) -/* 03A918 7F005DA8 944C0000 */ lhu $t4, ($v0) -/* 03A91C 7F005DAC 55800005 */ bnezl $t4, .L7F005DC4 -/* 03A920 7F005DB0 9459000C */ lhu $t9, 0xc($v0) -/* 03A924 7F005DB4 944D0002 */ lhu $t5, 2($v0) -/* 03A928 7F005DB8 11A00008 */ beqz $t5, .L7F005DDC -/* 03A92C 7F005DBC 00000000 */ nop -/* 03A930 7F005DC0 9459000C */ lhu $t9, 0xc($v0) -.L7F005DC4: -/* 03A934 7F005DC4 2442000C */ addiu $v0, $v0, 0xc -/* 03A938 7F005DC8 5720FFFE */ bnezl $t9, .L7F005DC4 -/* 03A93C 7F005DCC 9459000C */ lhu $t9, 0xc($v0) -/* 03A940 7F005DD0 94580002 */ lhu $t8, 2($v0) -/* 03A944 7F005DD4 5700FFFB */ bnezl $t8, .L7F005DC4 -/* 03A948 7F005DD8 9459000C */ lhu $t9, 0xc($v0) -.L7F005DDC: -/* 03A94C 7F005DDC 10000002 */ b .L7F005DE8 -/* 03A950 7F005DE0 26100008 */ addiu $s0, $s0, 8 -def_7F005A74: -.L7F005DE4: -/* 03A954 7F005DE4 26100004 */ addiu $s0, $s0, 4 -.L7F005DE8: -/* 03A958 7F005DE8 8E020000 */ lw $v0, ($s0) -/* 03A95C 7F005DEC 24010009 */ li $at, 9 -/* 03A960 7F005DF0 5441FF15 */ bnel $v0, $at, .L7F005A48 -/* 03A964 7F005DF4 2C410009 */ sltiu $at, $v0, 9 -.L7F005DF8: -/* 03A968 7F005DF8 3C028003 */ lui $v0, %hi(D_800364B8) # $v0, 0x8003 -/* 03A96C 7F005DFC 8C4264F8 */ lw $v0, %lo(D_800364B8)($v0) -/* 03A970 7F005E00 3C128008 */ lui $s2, %hi(pPlayer) # $s2, 0x8008 -/* 03A974 7F005E04 2652A120 */ addiu $s2, %lo(pPlayer) # addiu $s2, $s2, -0x5ee0 -/* 03A978 7F005E08 10400012 */ beqz $v0, .L7F005E54 -/* 03A97C 7F005E0C 3C018003 */ lui $at, %hi(ptr_random06cam_entry) # $at, 0x8003 -/* 03A980 7F005E10 0C002918 */ jal get_random_value -/* 03A984 7F005E14 AC226500 */ sw $v0, %lo(ptr_random06cam_entry)($at) -/* 03A988 7F005E18 3C0E8003 */ lui $t6, %hi(D_800364BC) # $t6, 0x8003 -/* 03A98C 7F005E1C 8DCE64FC */ lw $t6, %lo(D_800364BC)($t6) -/* 03A990 7F005E20 004E001B */ divu $zero, $v0, $t6 -/* 03A994 7F005E24 00001810 */ mfhi $v1 -/* 03A998 7F005E28 15C00002 */ bnez $t6, .L7F005E34 -/* 03A99C 7F005E2C 00000000 */ nop -/* 03A9A0 7F005E30 0007000D */ break 7 -.L7F005E34: -/* 03A9A4 7F005E34 18600007 */ blez $v1, .L7F005E54 -.L7F005E38: -/* 03A9A8 7F005E38 3C0F8003 */ lui $t7, %hi(ptr_random06cam_entry) # $t7, 0x8003 -/* 03A9AC 7F005E3C 8DEF6500 */ lw $t7, %lo(ptr_random06cam_entry)($t7) -/* 03A9B0 7F005E40 2463FFFF */ addiu $v1, $v1, -1 -/* 03A9B4 7F005E44 3C018003 */ lui $at, %hi(ptr_random06cam_entry) # $at, 0x8003 -/* 03A9B8 7F005E48 8DE80024 */ lw $t0, 0x24($t7) -/* 03A9BC 7F005E4C 1C60FFFA */ bgtz $v1, .L7F005E38 -/* 03A9C0 7F005E50 AC286500 */ sw $t0, %lo(ptr_random06cam_entry)($at) -.L7F005E54: -/* 03A9C4 7F005E54 0FC2335A */ jal add_item_to_inventory -/* 03A9C8 7F005E58 24040001 */ li $a0, 1 -/* 03A9CC 7F005E5C 8FA90084 */ lw $t1, 0x84($sp) -/* 03A9D0 7F005E60 15200003 */ bnez $t1, .L7F005E70 -/* 03A9D4 7F005E64 240A0001 */ li $t2, 1 -/* 03A9D8 7F005E68 3C018008 */ lui $at, %hi(starting_right_weapon) # $at, 0x8008 -/* 03A9DC 7F005E6C AC2A9A20 */ sw $t2, %lo(starting_right_weapon)($at) -.L7F005E70: -/* 03A9E0 7F005E70 8E4B0000 */ lw $t3, ($s2) -/* 03A9E4 7F005E74 3C018005 */ lui $at, %hi(D_8004F1D0) # $at, 0x8005 -/* 03A9E8 7F005E78 3C198008 */ lui $t9, %hi(dword_CODE_bss_80079C68) # $t9, 0x8008 -/* 03A9EC 7F005E7C E5780078 */ swc1 $f24, 0x78($t3) -/* 03A9F0 7F005E80 8E4C0000 */ lw $t4, ($s2) -/* 03A9F4 7F005E84 C42AF200 */ lwc1 $f10, %lo(D_8004F1D0)($at) -/* 03A9F8 7F005E88 E58A007C */ swc1 $f10, 0x7c($t4) -/* 03A9FC 7F005E8C 8E4D0000 */ lw $t5, ($s2) -/* 03AA00 7F005E90 E5B80080 */ swc1 $f24, 0x80($t5) -/* 03AA04 7F005E94 8F399CD8 */ lw $t9, %lo(dword_CODE_bss_80079C68)($t9) -/* 03AA08 7F005E98 5B20002C */ blezl $t9, .L7F005F4C -/* 03AA0C 7F005E9C 27A40094 */ addiu $a0, $sp, 0x94 -/* 03AA10 7F005EA0 0FC26C01 */ jal get_num_players -/* 03AA14 7F005EA4 00000000 */ nop -/* 03AA18 7F005EA8 28410002 */ slti $at, $v0, 2 -/* 03AA1C 7F005EAC 14200008 */ bnez $at, .L7F005ED0 -/* 03AA20 7F005EB0 3C188008 */ lui $t8, %hi(dword_CODE_bss_80079C68) # $t8, 0x8008 -/* 03AA24 7F005EB4 8F189CD8 */ lw $t8, %lo(dword_CODE_bss_80079C68)($t8) -/* 03AA28 7F005EB8 5B000006 */ blezl $t8, .L7F005ED4 -/* 03AA2C 7F005EBC 00001825 */ move $v1, $zero -/* 03AA30 7F005EC0 0FC1E5B8 */ jal sub_GAME_7F0790F0 -/* 03AA34 7F005EC4 00000000 */ nop -/* 03AA38 7F005EC8 10000002 */ b .L7F005ED4 -/* 03AA3C 7F005ECC 00401825 */ move $v1, $v0 -.L7F005ED0: -/* 03AA40 7F005ED0 00001825 */ move $v1, $zero -.L7F005ED4: -/* 03AA44 7F005ED4 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_80079C28) # $t7, 0x8008 -/* 03AA48 7F005ED8 25EF9C98 */ addiu $t7, %lo(dword_CODE_bss_80079C28) # addiu $t7, $t7, -0x6368 -/* 03AA4C 7F005EDC 00037080 */ sll $t6, $v1, 2 -/* 03AA50 7F005EE0 01CF8821 */ addu $s1, $t6, $t7 -/* 03AA54 7F005EE4 8E300000 */ lw $s0, ($s1) -/* 03AA58 7F005EE8 C6100000 */ lwc1 $f16, ($s0) -/* 03AA5C 7F005EEC E7B00094 */ swc1 $f16, 0x94($sp) -/* 03AA60 7F005EF0 C6040008 */ lwc1 $f4, 8($s0) -/* 03AA64 7F005EF4 8FA50094 */ lw $a1, 0x94($sp) -/* 03AA68 7F005EF8 E7A4009C */ swc1 $f4, 0x9c($sp) -/* 03AA6C 7F005EFC 8E040028 */ lw $a0, 0x28($s0) -/* 03AA70 7F005F00 8FA6009C */ lw $a2, 0x9c($sp) -/* 03AA74 7F005F04 0FC204DC */ jal sub_GAME_7F080D60 -/* 03AA78 7F005F08 AFA4008C */ sw $a0, 0x8c($sp) -/* 03AA7C 7F005F0C 8E420000 */ lw $v0, ($s2) -/* 03AA80 7F005F10 46000506 */ mov.s $f20, $f0 -/* 03AA84 7F005F14 C45229BC */ lwc1 $f18, 0x29bc($v0) -/* 03AA88 7F005F18 46009200 */ add.s $f8, $f18, $f0 -/* 03AA8C 7F005F1C E7A80098 */ swc1 $f8, 0x98($sp) -/* 03AA90 7F005F20 E4400070 */ swc1 $f0, 0x70($v0) -/* 03AA94 7F005F24 8E300000 */ lw $s0, ($s1) -/* 03AA98 7F005F28 C60C0018 */ lwc1 $f12, 0x18($s0) -/* 03AA9C 7F005F2C 0FC16BD4 */ jal convert_angle_using_inverse -/* 03AAA0 7F005F30 C60E0020 */ lwc1 $f14, 0x20($s0) -/* 03AAA4 7F005F34 3C018005 */ lui $at, %hi(D_8004F1D4) # $at, 0x8005 -/* 03AAA8 7F005F38 C426F204 */ lwc1 $f6, %lo(D_8004F1D4)($at) -/* 03AAAC 7F005F3C 46003281 */ sub.s $f10, $f6, $f0 -/* 03AAB0 7F005F40 10000011 */ b .L7F005F88 -/* 03AAB4 7F005F44 E7AA0090 */ swc1 $f10, 0x90($sp) -/* 03AAB8 7F005F48 27A40094 */ addiu $a0, $sp, 0x94 -.L7F005F4C: -/* 03AABC 7F005F4C 27A50098 */ addiu $a1, $sp, 0x98 -/* 03AAC0 7F005F50 27A6009C */ addiu $a2, $sp, 0x9c -/* 03AAC4 7F005F54 0FC2C1CA */ jal sub_GAME_7F0AFB78 -/* 03AAC8 7F005F58 3C0741F0 */ lui $a3, 0x41f0 -/* 03AACC 7F005F5C AFA2008C */ sw $v0, 0x8c($sp) -/* 03AAD0 7F005F60 00402025 */ move $a0, $v0 -/* 03AAD4 7F005F64 8FA50094 */ lw $a1, 0x94($sp) -/* 03AAD8 7F005F68 0FC204DC */ jal sub_GAME_7F080D60 -/* 03AADC 7F005F6C 8FA6009C */ lw $a2, 0x9c($sp) -/* 03AAE0 7F005F70 8E420000 */ lw $v0, ($s2) -/* 03AAE4 7F005F74 46000506 */ mov.s $f20, $f0 -/* 03AAE8 7F005F78 C45029BC */ lwc1 $f16, 0x29bc($v0) -/* 03AAEC 7F005F7C 46008100 */ add.s $f4, $f16, $f0 -/* 03AAF0 7F005F80 E7A40098 */ swc1 $f4, 0x98($sp) -/* 03AAF4 7F005F84 E4400070 */ swc1 $f0, 0x70($v0) -.L7F005F88: -/* 03AAF8 7F005F88 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 03AAFC 7F005F8C 44814000 */ mtc1 $at, $f8 -/* 03AB00 7F005F90 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 03AB04 7F005F94 3C018005 */ lui $at, %hi(D_8004F1D8) # $at, 0x8005 -/* 03AB08 7F005F98 C42AF208 */ lwc1 $f10, %lo(D_8004F1D8)($at) -/* 03AB0C 7F005F9C 46089182 */ mul.s $f6, $f18, $f8 -/* 03AB10 7F005FA0 8E480000 */ lw $t0, ($s2) -/* 03AB14 7F005FA4 3C018005 */ lui $at, %hi(D_8004F1DC) # $at, 0x8005 -/* 03AB18 7F005FA8 27A50094 */ addiu $a1, $sp, 0x94 -/* 03AB1C 7F005FAC 460A3403 */ div.s $f16, $f6, $f10 -/* 03AB20 7F005FB0 E5100148 */ swc1 $f16, 0x148($t0) -/* 03AB24 7F005FB4 8E490000 */ lw $t1, ($s2) -/* 03AB28 7F005FB8 E5340074 */ swc1 $f20, 0x74($t1) -/* 03AB2C 7F005FBC C424F20C */ lwc1 $f4, %lo(D_8004F1DC)($at) -/* 03AB30 7F005FC0 8E4A0000 */ lw $t2, ($s2) -/* 03AB34 7F005FC4 4604A483 */ div.s $f18, $f20, $f4 -/* 03AB38 7F005FC8 E552006C */ swc1 $f18, 0x6c($t2) -/* 03AB3C 7F005FCC 8E440000 */ lw $a0, ($s2) -/* 03AB40 7F005FD0 8FA6008C */ lw $a2, 0x8c($sp) -/* 03AB44 7F005FD4 0FC1F355 */ jal change_player_pos_to_target -/* 03AB48 7F005FD8 24840488 */ addiu $a0, $a0, 0x488 -/* 03AB4C 7F005FDC 0FC160F3 */ jal sinf -/* 03AB50 7F005FE0 C7AC0090 */ lwc1 $f12, 0x90($sp) -/* 03AB54 7F005FE4 8E4B0000 */ lw $t3, ($s2) -/* 03AB58 7F005FE8 46000207 */ neg.s $f8, $f0 -/* 03AB5C 7F005FEC E5680498 */ swc1 $f8, 0x498($t3) -/* 03AB60 7F005FF0 8E4C0000 */ lw $t4, ($s2) -/* 03AB64 7F005FF4 E598049C */ swc1 $f24, 0x49c($t4) -/* 03AB68 7F005FF8 0FC160F0 */ jal cosf -/* 03AB6C 7F005FFC C7AC0090 */ lwc1 $f12, 0x90($sp) -/* 03AB70 7F006000 8E4D0000 */ lw $t5, ($s2) -/* 03AB74 7F006004 3C018003 */ lui $at, %hi(D_800364D0) # $at, 0x8003 -/* 03AB78 7F006008 E5A004A0 */ swc1 $f0, 0x4a0($t5) -/* 03AB7C 7F00600C 0FC2277B */ jal sub_GAME_7F089718 -/* 03AB80 7F006010 C42C6510 */ lwc1 $f12, %lo(D_800364D0)($at) -/* 03AB84 7F006014 3C018008 */ lui $at, %hi(dword_CODE_bss_80079DA0) # $at, 0x8008 -/* 03AB88 7F006018 AC209E10 */ sw $zero, %lo(dword_CODE_bss_80079DA0)($at) -/* 03AB8C 7F00601C 3C018008 */ lui $at, %hi(dword_CODE_bss_80079DA4) # $at, 0x8008 -/* 03AB90 7F006020 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079DA8) # $v0, 0x8008 -/* 03AB94 7F006024 3C038008 */ lui $v1, %hi(dword_CODE_bss_80079DC8) # $v1, 0x8008 -/* 03AB98 7F006028 24639E38 */ addiu $v1, %lo(dword_CODE_bss_80079DC8) # addiu $v1, $v1, -0x61c8 -/* 03AB9C 7F00602C 24429E18 */ addiu $v0, %lo(dword_CODE_bss_80079DA8) # addiu $v0, $v0, -0x61e8 -/* 03ABA0 7F006030 AC209E14 */ sw $zero, %lo(dword_CODE_bss_80079DA4)($at) -.L7F006034: -/* 03ABA4 7F006034 24420010 */ addiu $v0, $v0, 0x10 -/* 03ABA8 7F006038 AC40FFF4 */ sw $zero, -0xc($v0) -/* 03ABAC 7F00603C AC40FFF8 */ sw $zero, -8($v0) -/* 03ABB0 7F006040 AC40FFFC */ sw $zero, -4($v0) -/* 03ABB4 7F006044 1443FFFB */ bne $v0, $v1, .L7F006034 -/* 03ABB8 7F006048 AC40FFF0 */ sw $zero, -0x10($v0) -/* 03ABBC 7F00604C 0FC22A9A */ jal reset_intro_camera_message_dialogs_for_BONDdata -/* 03ABC0 7F006050 00000000 */ nop -/* 03ABC4 7F006054 0FC22C37 */ jal sub_GAME_7F08A900 -/* 03ABC8 7F006058 00000000 */ nop -/* 03ABCC 7F00605C 0FC0E9CC */ jal remove_last_obj_pos_data_entry -/* 03ABD0 7F006060 00000000 */ nop -/* 03ABD4 7F006064 8E590000 */ lw $t9, ($s2) -/* 03ABD8 7F006068 240F0006 */ li $t7, 6 -/* 03ABDC 7F00606C AF2200A8 */ sw $v0, 0xa8($t9) -/* 03ABE0 7F006070 8E580000 */ lw $t8, ($s2) -/* 03ABE4 7F006074 8F0E00A8 */ lw $t6, 0xa8($t8) -/* 03ABE8 7F006078 ADC00004 */ sw $zero, 4($t6) -/* 03ABEC 7F00607C 8E480000 */ lw $t0, ($s2) -/* 03ABF0 7F006080 8D0900A8 */ lw $t1, 0xa8($t0) -/* 03ABF4 7F006084 A12F0000 */ sb $t7, ($t1) -/* 03ABF8 7F006088 8E4A0000 */ lw $t2, ($s2) -/* 03ABFC 7F00608C C7A00094 */ lwc1 $f0, 0x94($sp) -/* 03AC00 7F006090 E5400408 */ swc1 $f0, 0x408($t2) -/* 03AC04 7F006094 8E4B0000 */ lw $t3, ($s2) -/* 03AC08 7F006098 8D6C00A8 */ lw $t4, 0xa8($t3) -/* 03AC0C 7F00609C E5800008 */ swc1 $f0, 8($t4) -/* 03AC10 7F0060A0 8E4D0000 */ lw $t5, ($s2) -/* 03AC14 7F0060A4 C7A00098 */ lwc1 $f0, 0x98($sp) -/* 03AC18 7F0060A8 E5A0040C */ swc1 $f0, 0x40c($t5) -/* 03AC1C 7F0060AC 8E590000 */ lw $t9, ($s2) -/* 03AC20 7F0060B0 8F3800A8 */ lw $t8, 0xa8($t9) -/* 03AC24 7F0060B4 E700000C */ swc1 $f0, 0xc($t8) -/* 03AC28 7F0060B8 8E4E0000 */ lw $t6, ($s2) -/* 03AC2C 7F0060BC C7A0009C */ lwc1 $f0, 0x9c($sp) -/* 03AC30 7F0060C0 E5C00410 */ swc1 $f0, 0x410($t6) -/* 03AC34 7F0060C4 8E480000 */ lw $t0, ($s2) -/* 03AC38 7F0060C8 8D0F00A8 */ lw $t7, 0xa8($t0) -/* 03AC3C 7F0060CC E5E00010 */ swc1 $f0, 0x10($t7) -/* 03AC40 7F0060D0 8E4A0000 */ lw $t2, ($s2) -/* 03AC44 7F0060D4 8FA9008C */ lw $t1, 0x8c($sp) -/* 03AC48 7F0060D8 8D4B00A8 */ lw $t3, 0xa8($t2) -/* 03AC4C 7F0060DC AD690014 */ sw $t1, 0x14($t3) -/* 03AC50 7F0060E0 8E4C0000 */ lw $t4, ($s2) -/* 03AC54 7F0060E4 0FC0E9E9 */ jal set_current_objposdata_plus_0x28 -/* 03AC58 7F0060E8 8D8400A8 */ lw $a0, 0xa8($t4) -/* 03AC5C 7F0060EC 8E4D0000 */ lw $t5, ($s2) -/* 03AC60 7F0060F0 0FC0E9C1 */ jal set_stateflag_0x04_for_posdata -/* 03AC64 7F0060F4 8DA400A8 */ lw $a0, 0xa8($t5) -/* 03AC68 7F0060F8 8E420000 */ lw $v0, ($s2) -/* 03AC6C 7F0060FC 3C018005 */ lui $at, %hi(D_8004F1E0) # $at, 0x8005 -/* 03AC70 7F006100 C420F210 */ lwc1 $f0, %lo(D_8004F1E0)($at) -/* 03AC74 7F006104 C44604B4 */ lwc1 $f6, 0x4b4($v0) -/* 03AC78 7F006108 46003283 */ div.s $f10, $f6, $f0 -/* 03AC7C 7F00610C E44A03B8 */ swc1 $f10, 0x3b8($v0) -/* 03AC80 7F006110 8E420000 */ lw $v0, ($s2) -/* 03AC84 7F006114 C45004B8 */ lwc1 $f16, 0x4b8($v0) -/* 03AC88 7F006118 46008103 */ div.s $f4, $f16, $f0 -/* 03AC8C 7F00611C E44403BC */ swc1 $f4, 0x3bc($v0) -/* 03AC90 7F006120 8E420000 */ lw $v0, ($s2) -/* 03AC94 7F006124 C45204BC */ lwc1 $f18, 0x4bc($v0) -/* 03AC98 7F006128 46009203 */ div.s $f8, $f18, $f0 -/* 03AC9C 7F00612C 0FC26C01 */ jal get_num_players -/* 03ACA0 7F006130 E44803C0 */ swc1 $f8, 0x3c0($v0) -/* 03ACA4 7F006134 24010001 */ li $at, 1 -/* 03ACA8 7F006138 14410005 */ bne $v0, $at, .L7F006150 -/* 03ACAC 7F00613C 00000000 */ nop -/* 03ACB0 7F006140 0FC1EBF6 */ jal set_camera_mode -/* 03ACB4 7F006144 24040001 */ li $a0, 1 -/* 03ACB8 7F006148 10000003 */ b .L7F006158 -/* 03ACBC 7F00614C 00000000 */ nop -.L7F006150: -/* 03ACC0 7F006150 0FC1EBF6 */ jal set_camera_mode -/* 03ACC4 7F006154 24040009 */ li $a0, 9 -.L7F006158: -/* 03ACC8 7F006158 3C048003 */ lui $a0, %hi(D_800364D8) # $a0, 0x8003 -/* 03ACCC 7F00615C 24846518 */ addiu $a0, %lo(D_800364D8) # addiu $a0, $a0, 0x6518 -/* 03ACD0 7F006160 0000C880 */ sll $t9, $zero, 2 -/* 03ACD4 7F006164 0099C021 */ addu $t8, $a0, $t9 -/* 03ACD8 7F006168 8F0E0000 */ lw $t6, ($t8) -/* 03ACDC 7F00616C 3C038003 */ lui $v1, %hi(D_8003650C) # $v1, 0x8003 -/* 03ACE0 7F006170 2463654C */ addiu $v1, %lo(D_8003650C) # addiu $v1, $v1, 0x654c -/* 03ACE4 7F006174 AC600000 */ sw $zero, ($v1) -/* 03ACE8 7F006178 11C00009 */ beqz $t6, .L7F0061A0 -/* 03ACEC 7F00617C 00001025 */ move $v0, $zero -/* 03ACF0 7F006180 24480001 */ addiu $t0, $v0, 1 -.L7F006184: -/* 03ACF4 7F006184 00087880 */ sll $t7, $t0, 2 -/* 03ACF8 7F006188 008F5021 */ addu $t2, $a0, $t7 -/* 03ACFC 7F00618C 8D490000 */ lw $t1, ($t2) -/* 03AD00 7F006190 AC680000 */ sw $t0, ($v1) -/* 03AD04 7F006194 01001025 */ move $v0, $t0 -/* 03AD08 7F006198 5520FFFA */ bnezl $t1, .L7F006184 -/* 03AD0C 7F00619C 24480001 */ addiu $t0, $v0, 1 -.L7F0061A0: -/* 03AD10 7F0061A0 8E4C0000 */ lw $t4, ($s2) -/* 03AD14 7F0061A4 240B0001 */ li $t3, 1 -/* 03AD18 7F0061A8 3C018003 */ lui $at, %hi(D_80036510) # $at, 0x8003 -/* 03AD1C 7F0061AC AD8B0420 */ sw $t3, 0x420($t4) -/* 03AD20 7F0061B0 8E4D0000 */ lw $t5, ($s2) -/* 03AD24 7F0061B4 ADA00424 */ sw $zero, 0x424($t5) -/* 03AD28 7F0061B8 8E590000 */ lw $t9, ($s2) -/* 03AD2C 7F0061BC AF200428 */ sw $zero, 0x428($t9) -/* 03AD30 7F0061C0 8FBF003C */ lw $ra, 0x3c($sp) -/* 03AD34 7F0061C4 8FB20038 */ lw $s2, 0x38($sp) -/* 03AD38 7F0061C8 8FB10034 */ lw $s1, 0x34($sp) -/* 03AD3C 7F0061CC 8FB00030 */ lw $s0, 0x30($sp) -/* 03AD40 7F0061D0 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 03AD44 7F0061D4 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 03AD48 7F0061D8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 03AD4C 7F0061DC AC206550 */ sw $zero, %lo(D_80036510)($at) -/* 03AD50 7F0061E0 03E00008 */ jr $ra -/* 03AD54 7F0061E4 27BD00A0 */ addiu $sp, $sp, 0xa0 - -) -#endif - -#endif diff --git a/src/game/initexplosioncasing.c b/src/game/initexplosioncasing.c deleted file mode 100644 index e1d4356..0000000 --- a/src/game/initexplosioncasing.c +++ /dev/null @@ -1,281 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -void alloc_explosion_smoke_casing_scorch_impact_buffers(void) { - -} -#else -GLOBAL_ASM( -.text -glabel alloc_explosion_smoke_casing_scorch_impact_buffers -/* 03B8C0 7F006D90 3C018004 */ lui $at, %hi(D_80040170) -/* 03B8C4 7F006D94 AC200170 */ sw $zero, %lo(D_80040170)($at) -/* 03B8C8 7F006D98 3C018004 */ lui $at, %hi(D_80040174) -/* 03B8CC 7F006D9C AC200174 */ sw $zero, %lo(D_80040174)($at) -/* 03B8D0 7F006DA0 3C018004 */ lui $at, %hi(D_8004017C+0x684) -/* 03B8D4 7F006DA4 AC200800 */ sw $zero, %lo(D_8004017C+0x684)($at) -/* 03B8D8 7F006DA8 3C018004 */ lui $at, %hi(D_8004017C+0x688) -/* 03B8DC 7F006DAC AC200804 */ sw $zero, %lo(D_8004017C+0x688)($at) -/* 03B8E0 7F006DB0 3C018004 */ lui $at, %hi(D_8004017C+0x68C) -/* 03B8E4 7F006DB4 AC200808 */ sw $zero, %lo(D_8004017C+0x68C)($at) -/* 03B8E8 7F006DB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03B8EC 7F006DBC 44812000 */ mtc1 $at, $f4 -/* 03B8F0 7F006DC0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03B8F4 7F006DC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 03B8F8 7F006DC8 3C018004 */ lui $at, %hi(D_80040178) -/* 03B8FC 7F006DCC 24041740 */ li $a0, 5952 -/* 03B900 7F006DD0 24050004 */ li $a1, 4 -/* 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 -/* 03B914 7F006DE4 AC620000 */ sw $v0, ($v1) -/* 03B918 7F006DE8 00002025 */ move $a0, $zero -/* 03B91C 7F006DEC 00003025 */ move $a2, $zero -/* 03B920 7F006DF0 240503C0 */ li $a1, 960 -.L7F006DF4: -/* 03B924 7F006DF4 8C6E0000 */ lw $t6, ($v1) -/* 03B928 7F006DF8 00001025 */ move $v0, $zero -/* 03B92C 7F006DFC 01C67821 */ addu $t7, $t6, $a2 -/* 03B930 7F006E00 ADE00000 */ sw $zero, ($t7) -.L7F006E04: -/* 03B934 7F006E04 8C780000 */ lw $t8, ($v1) -/* 03B938 7F006E08 0004C940 */ sll $t9, $a0, 5 -/* 03B93C 7F006E0C 0324C823 */ subu $t9, $t9, $a0 -/* 03B940 7F006E10 0019C940 */ sll $t9, $t9, 5 -/* 03B944 7F006E14 03194021 */ addu $t0, $t8, $t9 -/* 03B948 7F006E18 01024821 */ addu $t1, $t0, $v0 -/* 03B94C 7F006E1C A520001C */ sh $zero, 0x1c($t1) -/* 03B950 7F006E20 8C6A0000 */ lw $t2, ($v1) -/* 03B954 7F006E24 00045940 */ sll $t3, $a0, 5 -/* 03B958 7F006E28 01645823 */ subu $t3, $t3, $a0 -/* 03B95C 7F006E2C 000B5940 */ sll $t3, $t3, 5 -/* 03B960 7F006E30 014B6021 */ addu $t4, $t2, $t3 -/* 03B964 7F006E34 01826821 */ addu $t5, $t4, $v0 -/* 03B968 7F006E38 A5A00034 */ sh $zero, 0x34($t5) -/* 03B96C 7F006E3C 8C6E0000 */ lw $t6, ($v1) -/* 03B970 7F006E40 00047940 */ sll $t7, $a0, 5 -/* 03B974 7F006E44 01E47823 */ subu $t7, $t7, $a0 -/* 03B978 7F006E48 000F7940 */ sll $t7, $t7, 5 -/* 03B97C 7F006E4C 01CFC021 */ addu $t8, $t6, $t7 -/* 03B980 7F006E50 0302C821 */ addu $t9, $t8, $v0 -/* 03B984 7F006E54 A720004C */ sh $zero, 0x4c($t9) -/* 03B988 7F006E58 8C680000 */ lw $t0, ($v1) -/* 03B98C 7F006E5C 00044940 */ sll $t1, $a0, 5 -/* 03B990 7F006E60 01244823 */ subu $t1, $t1, $a0 -/* 03B994 7F006E64 00094940 */ sll $t1, $t1, 5 -/* 03B998 7F006E68 01095021 */ addu $t2, $t0, $t1 -/* 03B99C 7F006E6C 01425821 */ addu $t3, $t2, $v0 -/* 03B9A0 7F006E70 24420060 */ addiu $v0, $v0, 0x60 -/* 03B9A4 7F006E74 1445FFE3 */ bne $v0, $a1, .L7F006E04 -/* 03B9A8 7F006E78 A5600064 */ sh $zero, 0x64($t3) -/* 03B9AC 7F006E7C 24840001 */ addiu $a0, $a0, 1 -/* 03B9B0 7F006E80 28810006 */ slti $at, $a0, 6 -/* 03B9B4 7F006E84 1420FFDB */ bnez $at, .L7F006DF4 -/* 03B9B8 7F006E88 24C603E0 */ addiu $a2, $a2, 0x3e0 -/* 03B9BC 7F006E8C 24041FE0 */ li $a0, 8160 -/* 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 -/* 03B9D0 7F006EA0 44800000 */ mtc1 $zero, $f0 -/* 03B9D4 7F006EA4 AC620000 */ sw $v0, ($v1) -/* 03B9D8 7F006EA8 00002025 */ move $a0, $zero -/* 03B9DC 7F006EAC 00003025 */ move $a2, $zero -/* 03B9E0 7F006EB0 24050190 */ li $a1, 400 -.L7F006EB4: -/* 03B9E4 7F006EB4 8C6C0000 */ lw $t4, ($v1) -/* 03B9E8 7F006EB8 00047880 */ sll $t7, $a0, 2 -/* 03B9EC 7F006EBC 01E47823 */ subu $t7, $t7, $a0 -/* 03B9F0 7F006EC0 000F7880 */ sll $t7, $t7, 2 -/* 03B9F4 7F006EC4 01866821 */ addu $t5, $t4, $a2 -/* 03B9F8 7F006EC8 ADA00000 */ sw $zero, ($t5) -/* 03B9FC 7F006ECC 01E47821 */ addu $t7, $t7, $a0 -/* 03BA00 7F006ED0 8C6E0000 */ lw $t6, ($v1) -/* 03BA04 7F006ED4 000F7880 */ sll $t7, $t7, 2 -/* 03BA08 7F006ED8 01E47823 */ subu $t7, $t7, $a0 -/* 03BA0C 7F006EDC 00044080 */ sll $t0, $a0, 2 -/* 03BA10 7F006EE0 01044023 */ subu $t0, $t0, $a0 -/* 03BA14 7F006EE4 000F78C0 */ sll $t7, $t7, 3 -/* 03BA18 7F006EE8 00084080 */ sll $t0, $t0, 2 -/* 03BA1C 7F006EEC 01CFC021 */ addu $t8, $t6, $t7 -/* 03BA20 7F006EF0 E7000014 */ swc1 $f0, 0x14($t8) -/* 03BA24 7F006EF4 01044021 */ addu $t0, $t0, $a0 -/* 03BA28 7F006EF8 8C790000 */ lw $t9, ($v1) -/* 03BA2C 7F006EFC 00084080 */ sll $t0, $t0, 2 -/* 03BA30 7F006F00 01044023 */ subu $t0, $t0, $a0 -/* 03BA34 7F006F04 000840C0 */ sll $t0, $t0, 3 -/* 03BA38 7F006F08 03284821 */ addu $t1, $t9, $t0 -/* 03BA3C 7F006F0C E520003C */ swc1 $f0, 0x3c($t1) -/* 03BA40 7F006F10 24020050 */ li $v0, 80 -.L7F006F14: -/* 03BA44 7F006F14 00045880 */ sll $t3, $a0, 2 -/* 03BA48 7F006F18 01645823 */ subu $t3, $t3, $a0 -/* 03BA4C 7F006F1C 000B5880 */ sll $t3, $t3, 2 -/* 03BA50 7F006F20 01645821 */ addu $t3, $t3, $a0 -/* 03BA54 7F006F24 8C6A0000 */ lw $t2, ($v1) -/* 03BA58 7F006F28 000B5880 */ sll $t3, $t3, 2 -/* 03BA5C 7F006F2C 01645823 */ subu $t3, $t3, $a0 -/* 03BA60 7F006F30 00047880 */ sll $t7, $a0, 2 -/* 03BA64 7F006F34 000B58C0 */ sll $t3, $t3, 3 -/* 03BA68 7F006F38 01E47823 */ subu $t7, $t7, $a0 -/* 03BA6C 7F006F3C 014B6021 */ addu $t4, $t2, $t3 -/* 03BA70 7F006F40 000F7880 */ sll $t7, $t7, 2 -/* 03BA74 7F006F44 01826821 */ addu $t5, $t4, $v0 -/* 03BA78 7F006F48 01E47821 */ addu $t7, $t7, $a0 -/* 03BA7C 7F006F4C E5A00014 */ swc1 $f0, 0x14($t5) -/* 03BA80 7F006F50 8C6E0000 */ lw $t6, ($v1) -/* 03BA84 7F006F54 000F7880 */ sll $t7, $t7, 2 -/* 03BA88 7F006F58 01E47823 */ subu $t7, $t7, $a0 -/* 03BA8C 7F006F5C 000F78C0 */ sll $t7, $t7, 3 -/* 03BA90 7F006F60 00044880 */ sll $t1, $a0, 2 -/* 03BA94 7F006F64 01244823 */ subu $t1, $t1, $a0 -/* 03BA98 7F006F68 01CFC021 */ addu $t8, $t6, $t7 -/* 03BA9C 7F006F6C 0302C821 */ addu $t9, $t8, $v0 -/* 03BAA0 7F006F70 00094880 */ sll $t1, $t1, 2 -/* 03BAA4 7F006F74 01244821 */ addu $t1, $t1, $a0 -/* 03BAA8 7F006F78 E720003C */ swc1 $f0, 0x3c($t9) -/* 03BAAC 7F006F7C 8C680000 */ lw $t0, ($v1) -/* 03BAB0 7F006F80 00094880 */ sll $t1, $t1, 2 -/* 03BAB4 7F006F84 01244823 */ subu $t1, $t1, $a0 -/* 03BAB8 7F006F88 000948C0 */ sll $t1, $t1, 3 -/* 03BABC 7F006F8C 00046880 */ sll $t5, $a0, 2 -/* 03BAC0 7F006F90 01A46823 */ subu $t5, $t5, $a0 -/* 03BAC4 7F006F94 01095021 */ addu $t2, $t0, $t1 -/* 03BAC8 7F006F98 01425821 */ addu $t3, $t2, $v0 -/* 03BACC 7F006F9C 000D6880 */ sll $t5, $t5, 2 -/* 03BAD0 7F006FA0 01A46821 */ addu $t5, $t5, $a0 -/* 03BAD4 7F006FA4 E5600064 */ swc1 $f0, 0x64($t3) -/* 03BAD8 7F006FA8 8C6C0000 */ lw $t4, ($v1) -/* 03BADC 7F006FAC 000D6880 */ sll $t5, $t5, 2 -/* 03BAE0 7F006FB0 01A46823 */ subu $t5, $t5, $a0 -/* 03BAE4 7F006FB4 000D68C0 */ sll $t5, $t5, 3 -/* 03BAE8 7F006FB8 018D7021 */ addu $t6, $t4, $t5 -/* 03BAEC 7F006FBC 01C27821 */ addu $t7, $t6, $v0 -/* 03BAF0 7F006FC0 244200A0 */ addiu $v0, $v0, 0xa0 -/* 03BAF4 7F006FC4 1445FFD3 */ bne $v0, $a1, .L7F006F14 -/* 03BAF8 7F006FC8 E5E0008C */ swc1 $f0, 0x8c($t7) -/* 03BAFC 7F006FCC 24840001 */ addiu $a0, $a0, 1 -/* 03BB00 7F006FD0 28810014 */ slti $at, $a0, 0x14 -/* 03BB04 7F006FD4 1420FFB7 */ bnez $at, .L7F006EB4 -/* 03BB08 7F006FD8 24C60198 */ addiu $a2, $a2, 0x198 -/* 03BB0C 7F006FDC 0FC26919 */ jal get_num_players -/* 03BB10 7F006FE0 00000000 */ nop -/* 03BB14 7F006FE4 24010001 */ li $at, 1 -/* 03BB18 7F006FE8 14410017 */ bne $v0, $at, .L7F007048 -/* 03BB1C 7F006FEC 240406E0 */ li $a0, 1760 -/* 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 -/* 03BB30 7F007000 ACA20000 */ sw $v0, ($a1) -/* 03BB34 7F007004 240206E0 */ li $v0, 1760 -/* 03BB38 7F007008 00001825 */ move $v1, $zero -/* 03BB3C 7F00700C 2406FFFF */ li $a2, -1 -.L7F007010: -/* 03BB40 7F007010 8CB80000 */ lw $t8, ($a1) -/* 03BB44 7F007014 0303C821 */ addu $t9, $t8, $v1 -/* 03BB48 7F007018 A7260000 */ sh $a2, ($t9) -/* 03BB4C 7F00701C 8CA80000 */ lw $t0, ($a1) -/* 03BB50 7F007020 01034821 */ addu $t1, $t0, $v1 -/* 03BB54 7F007024 A5260058 */ sh $a2, 0x58($t1) -/* 03BB58 7F007028 8CAA0000 */ lw $t2, ($a1) -/* 03BB5C 7F00702C 01435821 */ addu $t3, $t2, $v1 -/* 03BB60 7F007030 A56600B0 */ sh $a2, 0xb0($t3) -/* 03BB64 7F007034 8CAC0000 */ lw $t4, ($a1) -/* 03BB68 7F007038 01836821 */ addu $t5, $t4, $v1 -/* 03BB6C 7F00703C 24630160 */ addiu $v1, $v1, 0x160 -/* 03BB70 7F007040 1462FFF3 */ bne $v1, $v0, .L7F007010 -/* 03BB74 7F007044 A5A60108 */ sh $a2, 0x108($t5) -.L7F007048: -/* 03BB78 7F007048 24041F40 */ li $a0, 8000 -/* 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 -/* 03BB8C 7F00705C ACA20000 */ sw $v0, ($a1) -/* 03BB90 7F007060 2406FFFF */ li $a2, -1 -/* 03BB94 7F007064 00001825 */ move $v1, $zero -.L7F007068: -/* 03BB98 7F007068 8CAE0000 */ lw $t6, ($a1) -/* 03BB9C 7F00706C 01C37821 */ addu $t7, $t6, $v1 -/* 03BBA0 7F007070 24630050 */ addiu $v1, $v1, 0x50 -/* 03BBA4 7F007074 28611F40 */ slti $at, $v1, 0x1f40 -/* 03BBA8 7F007078 1420FFFB */ bnez $at, .L7F007068 -/* 03BBAC 7F00707C A5E60000 */ sh $a2, ($t7) -/* 03BBB0 7F007080 0FC26919 */ jal get_num_players -/* 03BBB4 7F007084 00000000 */ nop -/* 03BBB8 7F007088 241800C8 */ li $t8, 200 -/* 03BBBC 7F00708C 0302001A */ div $zero, $t8, $v0 -/* 03BBC0 7F007090 3C068008 */ lui $a2, %hi(max_casings) -/* 03BBC4 7F007094 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8 -/* 03BBC8 7F007098 14400002 */ bnez $v0, .L7F0070A4 -/* 03BBCC 7F00709C 00000000 */ nop -/* 03BBD0 7F0070A0 0007000D */ break 7 -.L7F0070A4: -/* 03BBD4 7F0070A4 2401FFFF */ li $at, -1 -/* 03BBD8 7F0070A8 14410004 */ bne $v0, $at, .L7F0070BC -/* 03BBDC 7F0070AC 3C018000 */ lui $at, 0x8000 -/* 03BBE0 7F0070B0 17010002 */ bne $t8, $at, .L7F0070BC -/* 03BBE4 7F0070B4 00000000 */ nop -/* 03BBE8 7F0070B8 0006000D */ break 6 -.L7F0070BC: -/* 03BBEC 7F0070BC 0000C812 */ mflo $t9 -/* 03BBF0 7F0070C0 ACD90000 */ sw $t9, ($a2) -/* 03BBF4 7F0070C4 0FC2F7C1 */ jal sub_GAME_7F0BDF04 -/* 03BBF8 7F0070C8 00000000 */ nop -/* 03BBFC 7F0070CC 3C068008 */ lui $a2, %hi(max_casings) -/* 03BC00 7F0070D0 2401001D */ li $at, 29 -/* 03BC04 7F0070D4 10410007 */ beq $v0, $at, .L7F0070F4 -/* 03BC08 7F0070D8 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8 -/* 03BC0C 7F0070DC 0FC2F7C1 */ jal sub_GAME_7F0BDF04 -/* 03BC10 7F0070E0 00000000 */ nop -/* 03BC14 7F0070E4 3C068008 */ lui $a2, %hi(max_casings) -/* 03BC18 7F0070E8 2401001E */ li $at, 30 -/* 03BC1C 7F0070EC 14410004 */ bne $v0, $at, .L7F007100 -/* 03BC20 7F0070F0 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8 -.L7F0070F4: -/* 03BC24 7F0070F4 8CC80000 */ lw $t0, ($a2) -/* 03BC28 7F0070F8 00084843 */ sra $t1, $t0, 1 -/* 03BC2C 7F0070FC ACC90000 */ sw $t1, ($a2) -.L7F007100: -/* 03BC30 7F007100 8CC40000 */ lw $a0, ($a2) -/* 03BC34 7F007104 2401FFF0 */ li $at, -16 -/* 03BC38 7F007108 24050004 */ li $a1, 4 -/* 03BC3C 7F00710C 00045100 */ sll $t2, $a0, 4 -/* 03BC40 7F007110 01445023 */ subu $t2, $t2, $a0 -/* 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 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 -/* 03BC60 7F007130 8CCC0000 */ lw $t4, ($a2) -/* 03BC64 7F007134 3C038008 */ lui $v1, %hi(ptr_ejected_casing_buf) -/* 03BC68 7F007138 2463A14C */ addiu $v1, %lo(ptr_ejected_casing_buf) # addiu $v1, $v1, -0x5eb4 -/* 03BC6C 7F00713C AC620000 */ sw $v0, ($v1) -/* 03BC70 7F007140 1980000B */ blez $t4, .L7F007170 -/* 03BC74 7F007144 00002025 */ move $a0, $zero -/* 03BC78 7F007148 00001025 */ move $v0, $zero -/* 03BC7C 7F00714C 8C6D0000 */ lw $t5, ($v1) -.L7F007150: -/* 03BC80 7F007150 24840001 */ addiu $a0, $a0, 1 -/* 03BC84 7F007154 01A27021 */ addu $t6, $t5, $v0 -/* 03BC88 7F007158 ADC00000 */ sw $zero, ($t6) -/* 03BC8C 7F00715C 8CCF0000 */ lw $t7, ($a2) -/* 03BC90 7F007160 24420078 */ addiu $v0, $v0, 0x78 -/* 03BC94 7F007164 008F082A */ slt $at, $a0, $t7 -/* 03BC98 7F007168 5420FFF9 */ bnezl $at, .L7F007150 -/* 03BC9C 7F00716C 8C6D0000 */ lw $t5, ($v1) -.L7F007170: -/* 03BCA0 7F007170 8FBF0014 */ lw $ra, 0x14($sp) -/* 03BCA4 7F007174 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03BCA8 7F007178 03E00008 */ jr $ra -/* 03BCAC 7F00717C 00000000 */ nop -) -#endif - - diff --git a/src/game/initgamedata.c b/src/game/initgamedata.c deleted file mode 100644 index f665501..0000000 --- a/src/game/initgamedata.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "ultra64.h" -#include "game/mainmenu.h" - -void initGameData(void) { - current_menu = -1; - menu_update = 0; - maybe_prev_menu = -1; - menu_timer = 0; - selected_stage = -1; - briefingpage = -1; - selected_difficulty = -1; - screen_size = 0; - folder_selection_screen_option_icon = 0; - selected_folder_num = 0; - mission_failed_or_aborted = 0; - is_first_time_on_legal_screen = 1; - is_first_time_on_main_menu = 1; - prev_keypresses = 0; - maybe_is_in_menu = 1; - slider_007_mode_reaction = 0.0f; - slider_007_mode_health = 1.0f; - slider_007_mode_accuracy = 1.0f; - slider_007_mode_damage = 1.0f; - do_not_play_intro_movie = 0; - randomly_selected_intro_animation = 0; - intro_animation_count = 0; - objinstance = 0; - ptrobjinstance = 0; - full_actor_intro = 0; -} - - diff --git a/src/game/initgamedata.h b/src/game/initgamedata.h deleted file mode 100644 index 7f5822c..0000000 --- a/src/game/initgamedata.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _INITGAMEDATE_H_ -#define _INITGAMEDATE_H_ -#include "ultra64.h" - -void initGameData(void); - -#endif diff --git a/src/game/initguards.c b/src/game/initguards.c deleted file mode 100644 index 03216d6..0000000 --- a/src/game/initguards.c +++ /dev/null @@ -1,138 +0,0 @@ -#include "ultra64.h" -#include "game/chr.h" - -void init_guards(void) { - animation_rate = 1.0f; - D_8002C904 = 0; - D_8002C908 = 0; - D_8002C90C = 0; - D_8002C910 = 0; - D_8002CC58 = 0; - show_patrols_flag = 0; - player1_guardID = 0x1388; - ptr_guard_data = 0; - num_guards = 0; - init_obj_register_difficulty_vals(); -} - - - -#ifdef NONMATCHING -void alloc_init_GUARDdata_entries(void) { - -} -#else -GLOBAL_ASM( -.text -glabel alloc_init_GUARDdata_entries -/* 0359E8 7F000EB8 248E000A */ addiu $t6, $a0, 0xa -/* 0359EC 7F000EBC 000E7900 */ sll $t7, $t6, 4 -/* 0359F0 7F000EC0 01EE7823 */ subu $t7, $t7, $t6 -/* 0359F4 7F000EC4 000F78C0 */ sll $t7, $t7, 3 -/* 0359F8 7F000EC8 01EE7823 */ subu $t7, $t7, $t6 -/* 0359FC 7F000ECC 000F7880 */ sll $t7, $t7, 2 -/* 035A00 7F000ED0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 035A04 7F000ED4 3C068003 */ lui $a2, %hi(num_guards) -/* 035A08 7F000ED8 25E4000F */ addiu $a0, $t7, 0xf -/* 035A0C 7F000EDC 24C6CC68 */ addiu $a2, %lo(num_guards) # addiu $a2, $a2, -0x3398 -/* 035A10 7F000EE0 AFBF0014 */ sw $ra, 0x14($sp) -/* 035A14 7F000EE4 3498000F */ ori $t8, $a0, 0xf -/* 035A18 7F000EE8 ACCE0000 */ sw $t6, ($a2) -/* 035A1C 7F000EEC 3B04000F */ xori $a0, $t8, 0xf -/* 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 -/* 035A30 7F000F00 8CC80000 */ lw $t0, ($a2) -/* 035A34 7F000F04 3C048003 */ lui $a0, %hi(ptr_guard_data) -/* 035A38 7F000F08 2484CC64 */ addiu $a0, %lo(ptr_guard_data) # addiu $a0, $a0, -0x339c -/* 035A3C 7F000F0C AC820000 */ sw $v0, ($a0) -/* 035A40 7F000F10 1900000B */ blez $t0, .L7F000F40 -/* 035A44 7F000F14 00001825 */ move $v1, $zero -/* 035A48 7F000F18 00001025 */ move $v0, $zero -/* 035A4C 7F000F1C 8C890000 */ lw $t1, ($a0) -.L7F000F20: -/* 035A50 7F000F20 24630001 */ addiu $v1, $v1, 1 -/* 035A54 7F000F24 01225021 */ addu $t2, $t1, $v0 -/* 035A58 7F000F28 AD40001C */ sw $zero, 0x1c($t2) -/* 035A5C 7F000F2C 8CCB0000 */ lw $t3, ($a2) -/* 035A60 7F000F30 244201DC */ addiu $v0, $v0, 0x1dc -/* 035A64 7F000F34 006B082A */ slt $at, $v1, $t3 -/* 035A68 7F000F38 5420FFF9 */ bnezl $at, .L7F000F20 -/* 035A6C 7F000F3C 8C890000 */ lw $t1, ($a0) -.L7F000F40: -/* 035A70 7F000F40 8FBF0014 */ lw $ra, 0x14($sp) -/* 035A74 7F000F44 27BD0018 */ addiu $sp, $sp, 0x18 -/* 035A78 7F000F48 03E00008 */ jr $ra -/* 035A7C 7F000F4C 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void set_new_rand_head_bodies(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_new_rand_head_bodies -/* 035A80 7F000F50 3C0E8004 */ lui $t6, %hi(c_item_entries) -/* 035A84 7F000F54 8DCEDE10 */ lw $t6, %lo(c_item_entries)($t6) -/* 035A88 7F000F58 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 035A8C 7F000F5C AFBF0014 */ sw $ra, 0x14($sp) -/* 035A90 7F000F60 11C00009 */ beqz $t6, .L7F000F88 -/* 035A94 7F000F64 AFA40018 */ sw $a0, 0x18($sp) -/* 035A98 7F000F68 3C0F8004 */ lui $t7, %hi(c_item_entries) -/* 035A9C 7F000F6C 25E2DE10 */ addiu $v0, $t7, %lo(c_item_entries) -/* 035AA0 7F000F70 8C430000 */ lw $v1, ($v0) -/* 035AA4 7F000F74 AC600000 */ sw $zero, ($v1) -.L7F000F78: -/* 035AA8 7F000F78 8C430014 */ lw $v1, 0x14($v0) -/* 035AAC 7F000F7C 24420014 */ addiu $v0, $v0, 0x14 -/* 035AB0 7F000F80 5460FFFD */ bnezl $v1, .L7F000F78 -/* 035AB4 7F000F84 AC600000 */ sw $zero, ($v1) -.L7F000F88: -/* 035AB8 7F000F88 0C002914 */ jal get_random_value -/* 035ABC 7F000F8C 00000000 */ nop -/* 035AC0 7F000F90 3C188003 */ lui $t8, %hi(num_male_heads) -/* 035AC4 7F000F94 8F18CD04 */ lw $t8, %lo(num_male_heads)($t8) -/* 035AC8 7F000F98 3C018003 */ lui $at, %hi(current_random_male_head) -/* 035ACC 7F000F9C 0058001B */ divu $zero, $v0, $t8 -/* 035AD0 7F000FA0 0000C810 */ mfhi $t9 -/* 035AD4 7F000FA4 AC39CE38 */ sw $t9, %lo(current_random_male_head)($at) -/* 035AD8 7F000FA8 17000002 */ bnez $t8, .L7F000FB4 -/* 035ADC 7F000FAC 00000000 */ nop -/* 035AE0 7F000FB0 0007000D */ break 7 -.L7F000FB4: -/* 035AE4 7F000FB4 0C002914 */ jal get_random_value -/* 035AE8 7F000FB8 00000000 */ nop -/* 035AEC 7F000FBC 3C088003 */ lui $t0, %hi(num_female_heads) -/* 035AF0 7F000FC0 8D08CD08 */ lw $t0, %lo(num_female_heads)($t0) -/* 035AF4 7F000FC4 3C018003 */ lui $at, %hi(current_random_female_head) -/* 035AF8 7F000FC8 0048001B */ divu $zero, $v0, $t0 -/* 035AFC 7F000FCC 00004810 */ mfhi $t1 -/* 035B00 7F000FD0 AC29CE3C */ sw $t1, %lo(current_random_female_head)($at) -/* 035B04 7F000FD4 15000002 */ bnez $t0, .L7F000FE0 -/* 035B08 7F000FD8 00000000 */ nop -/* 035B0C 7F000FDC 0007000D */ break 7 -.L7F000FE0: -/* 035B10 7F000FE0 0C002914 */ jal get_random_value -/* 035B14 7F000FE4 00000000 */ nop -/* 035B18 7F000FE8 3C0A8003 */ lui $t2, %hi(num_bodies) -/* 035B1C 7F000FEC 8D4ACD00 */ lw $t2, %lo(num_bodies)($t2) -/* 035B20 7F000FF0 8FBF0014 */ lw $ra, 0x14($sp) -/* 035B24 7F000FF4 3C018003 */ lui $at, %hi(current_random_body) -/* 035B28 7F000FF8 004A001B */ divu $zero, $v0, $t2 -/* 035B2C 7F000FFC 00005810 */ mfhi $t3 -/* 035B30 7F001000 AC2BCE34 */ sw $t3, %lo(current_random_body)($at) -/* 035B34 7F001004 15400002 */ bnez $t2, .L7F001010 -/* 035B38 7F001008 00000000 */ nop -/* 035B3C 7F00100C 0007000D */ break 7 -.L7F001010: -/* 035B40 7F001010 27BD0018 */ addiu $sp, $sp, 0x18 -/* 035B44 7F001014 03E00008 */ jr $ra -/* 035B48 7F001018 00000000 */ nop -) -#endif - diff --git a/src/game/initimages.c b/src/game/initimages.c deleted file mode 100644 index 755d512..0000000 --- a/src/game/initimages.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "ultra64.h" - -extern image_entries; - -#ifdef NONMATCHING -void image_entries_load(void) { - -} -#else -GLOBAL_ASM( -.text -glabel image_entries_load -/* 035700 7F000BD0 3C048005 */ lui $a0, %hi(image_entries) -/* 035704 7F000BD4 24829300 */ addiu $v0, $a0, %lo(image_entries) -/* 035708 7F000BD8 8C4E0000 */ lw $t6, ($v0) -/* 03570C 7F000BDC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 035710 7F000BE0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 035714 7F000BE4 3407FFFF */ li $a3, 65535 -/* 035718 7F000BE8 01C17824 */ and $t7, $t6, $at -/* 03571C 7F000BEC 10EF0014 */ beq $a3, $t7, .L7F000C40 -/* 035720 7F000BF0 00001825 */ move $v1, $zero -/* 035724 7F000BF4 3C188005 */ lui $t8, %hi(image_entries) -/* 035728 7F000BF8 27189300 */ addiu $t8, %lo(image_entries) # addiu $t8, $t8, -0x6d00 -/* 03572C 7F000BFC 8F050000 */ lw $a1, ($t8) -/* 035730 7F000C00 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 035734 7F000C04 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 035738 7F000C08 00A13024 */ and $a2, $a1, $at -.L7F000C0C: -/* 03573C 7F000C0C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 035740 7F000C10 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 035744 7F000C14 0061C824 */ and $t9, $v1, $at -/* 035748 7F000C18 03254026 */ xor $t0, $t9, $a1 -/* 03574C 7F000C1C 00084A00 */ sll $t1, $t0, 8 -/* 035750 7F000C20 00095202 */ srl $t2, $t1, 8 -/* 035754 7F000C24 01455826 */ xor $t3, $t2, $a1 -/* 035758 7F000C28 8C450008 */ lw $a1, 8($v0) -/* 03575C 7F000C2C 00661821 */ addu $v1, $v1, $a2 -/* 035760 7F000C30 AC4B0000 */ sw $t3, ($v0) -/* 035764 7F000C34 00A13024 */ and $a2, $a1, $at -/* 035768 7F000C38 14E6FFF4 */ bne $a3, $a2, .L7F000C0C -/* 03576C 7F000C3C 24420008 */ addiu $v0, $v0, 8 -.L7F000C40: -/* 035770 7F000C40 8C450000 */ lw $a1, ($v0) -/* 035774 7F000C44 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 035778 7F000C48 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 03577C 7F000C4C 00616024 */ and $t4, $v1, $at -/* 035780 7F000C50 01856826 */ xor $t5, $t4, $a1 -/* 035784 7F000C54 000D7200 */ sll $t6, $t5, 8 -/* 035788 7F000C58 000E7A02 */ srl $t7, $t6, 8 -/* 03578C 7F000C5C 01E5C026 */ xor $t8, $t7, $a1 -/* 035790 7F000C60 03E00008 */ jr $ra -/* 035794 7F000C64 AC580000 */ sw $t8, ($v0) -) -#endif - diff --git a/src/game/initintromatrices.c b/src/game/initintromatrices.c deleted file mode 100644 index f755859..0000000 --- a/src/game/initintromatrices.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "ultra64.h" -#include "game/intro_logos.h" - -void alloc_intro_matrices(void) { - D_8002A7D0 = 0; - 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 deleted file mode 100644 index 7bbd555..0000000 --- a/src/game/inititemslots.c +++ /dev/null @@ -1,87 +0,0 @@ -#include "ultra64.h" - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0061F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0061F0 -/* 03AD20 7F0061F0 3C048008 */ lui $a0, %hi(pPlayer) -/* 03AD24 7F0061F4 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 -/* 03AD28 7F0061F8 8C8E0000 */ lw $t6, ($a0) -/* 03AD2C 7F0061FC 2405FFFF */ li $a1, -1 -/* 03AD30 7F006200 24030018 */ li $v1, 24 -/* 03AD34 7F006204 ADC011EC */ sw $zero, 0x11ec($t6) -/* 03AD38 7F006208 8C8F0000 */ lw $t7, ($a0) -/* 03AD3C 7F00620C 24020078 */ li $v0, 120 -/* 03AD40 7F006210 ADE51200 */ sw $a1, 0x1200($t7) -/* 03AD44 7F006214 8C980000 */ lw $t8, ($a0) -/* 03AD48 7F006218 AF05120C */ sw $a1, 0x120c($t8) -.L7F00621C: -/* 03AD4C 7F00621C 8C990000 */ lw $t9, ($a0) -/* 03AD50 7F006220 03234021 */ addu $t0, $t9, $v1 -/* 03AD54 7F006224 AD051200 */ sw $a1, 0x1200($t0) -/* 03AD58 7F006228 8C890000 */ lw $t1, ($a0) -/* 03AD5C 7F00622C 01235021 */ addu $t2, $t1, $v1 -/* 03AD60 7F006230 AD45120C */ sw $a1, 0x120c($t2) -/* 03AD64 7F006234 8C8B0000 */ lw $t3, ($a0) -/* 03AD68 7F006238 01636021 */ addu $t4, $t3, $v1 -/* 03AD6C 7F00623C AD851218 */ sw $a1, 0x1218($t4) -/* 03AD70 7F006240 8C8D0000 */ lw $t5, ($a0) -/* 03AD74 7F006244 01A37021 */ addu $t6, $t5, $v1 -/* 03AD78 7F006248 24630030 */ addiu $v1, $v1, 0x30 -/* 03AD7C 7F00624C 1462FFF3 */ bne $v1, $v0, .L7F00621C -/* 03AD80 7F006250 ADC51224 */ sw $a1, 0x1224($t6) -/* 03AD84 7F006254 03E00008 */ jr $ra -/* 03AD88 7F006258 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void alloc_additional_item_slots(s32 arg0) { - // Node 0 - pPlayer->unk11E8 = (s32) (arg0 + 0x1e); - pPlayer->unk11E4 = mempAllocBytesInBank(((((pPlayer->unk11E8 * 0x14) + 0xf) | 0xf) ^ 0xf), 4); - reinit_BONDdata_inventory(); -} - -#else -GLOBAL_ASM( -.text -glabel alloc_additional_item_slots -/* 03AD8C 7F00625C 3C028008 */ lui $v0, %hi(pPlayer) -/* 03AD90 7F006260 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 03AD94 7F006264 8C4F0000 */ lw $t7, ($v0) -/* 03AD98 7F006268 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03AD9C 7F00626C AFBF0014 */ sw $ra, 0x14($sp) -/* 03ADA0 7F006270 248E001E */ addiu $t6, $a0, 0x1e -/* 03ADA4 7F006274 ADEE11E8 */ sw $t6, 0x11e8($t7) -/* 03ADA8 7F006278 8C580000 */ lw $t8, ($v0) -/* 03ADAC 7F00627C 24050004 */ li $a1, 4 -/* 03ADB0 7F006280 8F0411E8 */ lw $a0, 0x11e8($t8) -/* 03ADB4 7F006284 0004C880 */ sll $t9, $a0, 2 -/* 03ADB8 7F006288 0324C821 */ addu $t9, $t9, $a0 -/* 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 mempAllocBytesInBank -/* 03ADCC 7F00629C 3904000F */ xori $a0, $t0, 0xf -/* 03ADD0 7F0062A0 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 03ADD4 7F0062A4 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 03ADD8 7F0062A8 0FC22FFC */ jal reinit_BONDdata_inventory -/* 03ADDC 7F0062AC AD4211E4 */ sw $v0, 0x11e4($t2) -/* 03ADE0 7F0062B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 03ADE4 7F0062B4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03ADE8 7F0062B8 03E00008 */ jr $ra -/* 03ADEC 7F0062BC 00000000 */ nop -) -#endif - - diff --git a/src/game/initmenus.c b/src/game/initmenus.c deleted file mode 100644 index 4f18d3c..0000000 --- a/src/game/initmenus.c +++ /dev/null @@ -1,86 +0,0 @@ -#include "ultra64.h" - - -#ifdef NONMATCHING -void init_menus_or_reset(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_menus_or_reset -/* 035850 7F000D20 2402FFFF */ li $v0, -1 -/* 035854 7F000D24 3C018003 */ lui $at, %hi(current_menu) -/* 035858 7F000D28 AC22A8C0 */ sw $v0, %lo(current_menu)($at) -/* 03585C 7F000D2C 3C018003 */ lui $at, %hi(maybe_prev_menu) -/* 035860 7F000D30 AC22A8C8 */ sw $v0, %lo(maybe_prev_menu)($at) -/* 035864 7F000D34 3C018003 */ lui $at, %hi(screen_size) -/* 035868 7F000D38 AC20A940 */ sw $zero, %lo(screen_size)($at) -/* 03586C 7F000D3C 24030001 */ li $v1, 1 -/* 035870 7F000D40 3C018003 */ lui $at, %hi(spectrum_related_flag) -/* 035874 7F000D44 AC23A944 */ sw $v1, %lo(spectrum_related_flag)($at) -/* 035878 7F000D48 3C018003 */ lui $at, %hi(is_emulating_spectrum) -/* 03587C 7F000D4C AC20A948 */ sw $zero, %lo(is_emulating_spectrum)($at) -/* 035880 7F000D50 3C018003 */ lui $at, %hi(folder_selection_screen_option_icon) -/* 035884 7F000D54 AC20A918 */ sw $zero, %lo(folder_selection_screen_option_icon)($at) -/* 035888 7F000D58 3C018003 */ lui $at, %hi(folder_selected_for_deletion) -/* 03588C 7F000D5C AC22A91C */ sw $v0, %lo(folder_selected_for_deletion)($at) -/* 035890 7F000D60 3C018003 */ lui $at, %hi(folder_selected_for_deletion_choice) -/* 035894 7F000D64 AC23A920 */ sw $v1, %lo(folder_selected_for_deletion_choice)($at) -/* 035898 7F000D68 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 03589C 7F000D6C AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 0358A0 7F000D70 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 0358A4 7F000D74 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 0358A8 7F000D78 3C0E8003 */ lui $t6, %hi(prev_keypresses) -/* 0358AC 7F000D7C 8DCEA934 */ lw $t6, %lo(prev_keypresses)($t6) -/* 0358B0 7F000D80 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 0358B4 7F000D84 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 0358B8 7F000D88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0358BC 7F000D8C 3C018003 */ lui $at, %hi(maybe_is_in_menu) -/* 0358C0 7F000D90 AFBF0014 */ sw $ra, 0x14($sp) -/* 0358C4 7F000D94 11C00005 */ beqz $t6, .L7F000DAC -/* 0358C8 7F000D98 AC23A93C */ sw $v1, %lo(maybe_is_in_menu)($at) -/* 0358CC 7F000D9C 3C028003 */ lui $v0, %hi(menu_update) -/* 0358D0 7F000DA0 2442A8C4 */ addiu $v0, %lo(menu_update) # addiu $v0, $v0, -0x573c -/* 0358D4 7F000DA4 240F0005 */ li $t7, 5 -/* 0358D8 7F000DA8 AC4F0000 */ sw $t7, ($v0) -.L7F000DAC: -/* 0358DC 7F000DAC 3C028003 */ lui $v0, %hi(menu_update) -/* 0358E0 7F000DB0 2442A8C4 */ addiu $v0, %lo(menu_update) # addiu $v0, $v0, -0x573c -/* 0358E4 7F000DB4 8C580000 */ lw $t8, ($v0) -/* 0358E8 7F000DB8 3C040007 */ lui $a0, (0x00078000 >> 16) # lui $a0, 7 -/* 0358EC 7F000DBC 24190005 */ li $t9, 5 -/* 0358F0 7F000DC0 07010002 */ bgez $t8, .L7F000DCC -/* 0358F4 7F000DC4 34848000 */ ori $a0, (0x00078000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0358F8 7F000DC8 AC590000 */ sw $t9, ($v0) -.L7F000DCC: -/* 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 mempAllocBytesInBank -/* 035918 7F000DE8 24050004 */ li $a1, 4 -/* 03591C 7F000DEC 3C038003 */ lui $v1, %hi(ptr_menu_videobuffer) -/* 035920 7F000DF0 2449003F */ addiu $t1, $v0, 0x3f -/* 035924 7F000DF4 2401FFC0 */ li $at, -64 -/* 035928 7F000DF8 2463A954 */ addiu $v1, %lo(ptr_menu_videobuffer) # addiu $v1, $v1, -0x56ac -/* 03592C 7F000DFC 01215024 */ and $t2, $t1, $at -/* 035930 7F000E00 AC620000 */ sw $v0, ($v1) -/* 035934 7F000E04 AC6A0000 */ sw $t2, ($v1) -/* 035938 7F000E08 3C018003 */ lui $at, %hi(ptr_folder_object_instance) -/* 03593C 7F000E0C AC20A95C */ sw $zero, %lo(ptr_folder_object_instance)($at) -/* 035940 7F000E10 3C018003 */ lui $at, %hi(set0_never_used) -/* 035944 7F000E14 AC20A960 */ sw $zero, %lo(set0_never_used)($at) -/* 035948 7F000E18 3C018003 */ lui $at, %hi(set0_never_used_0) -/* 03594C 7F000E1C AC20A964 */ sw $zero, %lo(set0_never_used_0)($at) -/* 035950 7F000E20 3C018003 */ lui $at, %hi(D_8002A968) -/* 035954 7F000E24 0FC0031C */ jal alloc_intro_matrices -/* 035958 7F000E28 AC20A968 */ sw $zero, %lo(D_8002A968)($at) -/* 03595C 7F000E2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 035960 7F000E30 27BD0018 */ addiu $sp, $sp, 0x18 -/* 035964 7F000E34 03E00008 */ jr $ra -/* 035968 7F000E38 00000000 */ nop -) -#endif diff --git a/src/game/initmttex.c b/src/game/initmttex.c deleted file mode 100644 index 186e663..0000000 --- a/src/game/initmttex.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -void set_mt_tex_alloc(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel str_Mt -.word 0x2d6d7400 /*-mt*/ -glabel str_Mt_0 -.word 0x2d6d7400 /*-mt*/ -.text -glabel set_mt_tex_alloc -/* 03BE50 7F007320 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03BE54 7F007324 AFBF0014 */ sw $ra, 0x14($sp) -/* 03BE58 7F007328 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D090) -/* 03BE5C 7F00732C 3C058005 */ lui $a1, %hi(str_Mt) -/* 03BE60 7F007330 AC20D090 */ sw $zero, %lo(dword_CODE_bss_8008D090)($at) -/* 03BE64 7F007334 24A5F200 */ addiu $a1, %lo(str_Mt) # addiu $a1, $a1, -0xe00 -/* 03BE68 7F007338 0C0029A8 */ jal check_token -/* 03BE6C 7F00733C 24040001 */ li $a0, 1 -/* 03BE70 7F007340 1040000B */ beqz $v0, .L7F007370 -/* 03BE74 7F007344 24040001 */ li $a0, 1 -/* 03BE78 7F007348 3C058005 */ lui $a1, %hi(str_Mt_0) -/* 03BE7C 7F00734C 0C0029A8 */ jal check_token -/* 03BE80 7F007350 24A5F204 */ addiu $a1, %lo(str_Mt_0) # addiu $a1, $a1, -0xdfc -/* 03BE84 7F007354 00402025 */ move $a0, $v0 -/* 03BE88 7F007358 00002825 */ move $a1, $zero -/* 03BE8C 7F00735C 0C002A78 */ jal strtol -/* 03BE90 7F007360 00003025 */ move $a2, $zero -/* 03BE94 7F007364 00027280 */ sll $t6, $v0, 0xa -/* 03BE98 7F007368 3C018005 */ lui $at, %hi(bytes) -/* 03BE9C 7F00736C AC2E9170 */ sw $t6, %lo(bytes)($at) -.L7F007370: -/* 03BEA0 7F007370 3C048005 */ lui $a0, %hi(bytes) -/* 03BEA4 7F007374 8C849170 */ lw $a0, %lo(bytes)($a0) -/* 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) -/* 03BEB8 7F007388 8CC69170 */ lw $a2, %lo(bytes)($a2) -/* 03BEBC 7F00738C 2484C720 */ addiu $a0, %lo(ptr_texture_alloc_start) # addiu $a0, $a0, -0x38e0 -/* 03BEC0 7F007390 0FC32EBD */ jal sub_GAME_7F0CBAF4 -/* 03BEC4 7F007394 00402825 */ move $a1, $v0 -/* 03BEC8 7F007398 8FBF0014 */ lw $ra, 0x14($sp) -/* 03BECC 7F00739C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03BED0 7F0073A0 03E00008 */ jr $ra -/* 03BED4 7F0073A4 00000000 */ nop -) -#endif - - - diff --git a/src/game/initnull_0009D0.c b/src/game/initnull_0009D0.c deleted file mode 100644 index 2f85da4..0000000 --- a/src/game/initnull_0009D0.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "ultra64.h" - -void null_init_main_3(void) { - return; -} - diff --git a/src/game/initnull_000BC0.c b/src/game/initnull_000BC0.c deleted file mode 100644 index 8f4bf85..0000000 --- a/src/game/initnull_000BC0.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "ultra64.h" - -void null_init_main_2(void) { - return; -} diff --git a/src/game/initobjects.c b/src/game/initobjects.c deleted file mode 100644 index 3df32f2..0000000 --- a/src/game/initobjects.c +++ /dev/null @@ -1,554 +0,0 @@ -#include "ultra64.h" -#include "game/initobjects.h" -#include "game/chrai.h" -//this file may very well be a few different sub files - -struct object_animation_controller ptr_monitorimageobjectanimationcontroller = {&monitor_animation_microcode, 0, 0xFFFF, 0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.5, 0.5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 1.0, 0.0}; -struct object_animation_controller unknown_object_animation_controller = {&dword_D_80031F00, 0, 0xFFFF, 0, 0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.5, 0.5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1.0}; -struct object_animation_controller taser_object_animation_controller = {&dword_D_80031F44, 0, 0xFFFF, 0, 0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.5, 0.5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1.0}; -f32 unused_8002a3bc = 0.0f; -f32 scale_1_0_item_related = 1.0f; - - -#ifdef NONMATCHING -void init_sound_effects_registers(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_sound_effects_registers -/* 035FE0 7F0014B0 3C038007 */ lui $v1, %hi(sfx_related) -/* 035FE4 7F0014B4 3C028007 */ lui $v0, %hi(ptr_list_object_lookup_indices) -/* 035FE8 7F0014B8 24429C30 */ addiu $v0, %lo(ptr_list_object_lookup_indices) # addiu $v0, $v0, -0x63d0 -/* 035FEC 7F0014BC 24639B70 */ addiu $v1, %lo(sfx_related) # addiu $v1, $v1, -0x6490 -.L7F0014C0: -/* 035FF0 7F0014C0 24630060 */ addiu $v1, $v1, 0x60 -/* 035FF4 7F0014C4 AC60FFB8 */ sw $zero, -0x48($v1) -/* 035FF8 7F0014C8 AC60FFD0 */ sw $zero, -0x30($v1) -/* 035FFC 7F0014CC AC60FFE8 */ sw $zero, -0x18($v1) -/* 036000 7F0014D0 1462FFFB */ bne $v1, $v0, .L7F0014C0 -/* 036004 7F0014D4 AC60FFA0 */ sw $zero, -0x60($v1) -/* 036008 7F0014D8 03E00008 */ jr $ra -/* 03600C 7F0014DC 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void init_load_objpos_table(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_load_objpos_table -/* 036010 7F0014E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 036014 7F0014E4 44812000 */ mtc1 $at, $f4 -/* 036018 7F0014E8 3C018003 */ lui $at, %hi(difficulty) -/* 03601C 7F0014EC 3C028003 */ lui $v0, %hi(ptr_obj_pos_list_first_entry) -/* 036020 7F0014F0 E4240AAC */ swc1 $f4, %lo(difficulty)($at) -/* 036024 7F0014F4 24420AA4 */ addiu $v0, %lo(ptr_obj_pos_list_first_entry) # addiu $v0, $v0, 0xaa4 -/* 036028 7F0014F8 AC400000 */ sw $zero, ($v0) -/* 03602C 7F0014FC 3C018003 */ lui $at, %hi(ptr_obj_pos_list_current_entry) -/* 036030 7F001500 AC200AA0 */ sw $zero, %lo(ptr_obj_pos_list_current_entry)($at) -/* 036034 7F001504 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF4) -/* 036038 7F001508 3C038007 */ lui $v1, %hi(dword_CODE_bss_80071620) -/* 03603C 7F00150C AC201DF4 */ sw $zero, %lo(dword_CODE_bss_80071DF4)($at) -/* 036040 7F001510 24631620 */ addiu $v1, %lo(dword_CODE_bss_80071620) # addiu $v1, $v1, 0x1620 -/* 036044 7F001514 AC600000 */ sw $zero, ($v1) -/* 036048 7F001518 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF0) -/* 03604C 7F00151C AC231DF0 */ sw $v1, %lo(dword_CODE_bss_80071DF0)($at) -/* 036050 7F001520 3C0F8007 */ lui $t7, %hi(pos_data_entry) -/* 036054 7F001524 25EF9C38 */ addiu $t7, %lo(pos_data_entry) # addiu $t7, $t7, -0x63c8 -/* 036058 7F001528 3C018003 */ lui $at, %hi(ptr_obj_pos_list_final_entry) -/* 03605C 7F00152C AC2F0AA8 */ sw $t7, %lo(ptr_obj_pos_list_final_entry)($at) -/* 036060 7F001530 3C188007 */ lui $t8, %hi(dword_CODE_bss_80069C6C) -/* 036064 7F001534 27189C6C */ addiu $t8, %lo(dword_CODE_bss_80069C6C) # addiu $t8, $t8, -0x6394 -/* 036068 7F001538 3C018007 */ lui $at, %hi(dword_CODE_bss_80069C5C) -/* 03606C 7F00153C AC389C5C */ sw $t8, %lo(dword_CODE_bss_80069C5C)($at) -/* 036070 7F001540 3C198007 */ lui $t9, %hi(dword_CODE_bss_80069CA0) -/* 036074 7F001544 27399CA0 */ addiu $t9, %lo(dword_CODE_bss_80069CA0) # addiu $t9, $t9, -0x6360 -/* 036078 7F001548 3C018007 */ lui $at, %hi(dword_CODE_bss_80069C90) -/* 03607C 7F00154C AC399C90 */ sw $t9, %lo(dword_CODE_bss_80069C90)($at) -/* 036080 7F001550 3C088007 */ lui $t0, %hi(dword_CODE_bss_80069CD4) -/* 036084 7F001554 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 036088 7F001558 25029CD4 */ addiu $v0, $t0, %lo(dword_CODE_bss_80069CD4) -/* 03608C 7F00155C 3C018007 */ lui $at, %hi(dword_CODE_bss_80069CC4) -/* 036090 7F001560 3C038007 */ lui $v1, %hi(dword_CODE_bss_80069DA4) -/* 036094 7F001564 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069D08) -/* 036098 7F001568 3C058007 */ lui $a1, %hi(dword_CODE_bss_80069D3C) -/* 03609C 7F00156C 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069D70) -/* 0360A0 7F001570 3C078007 */ lui $a3, %hi(dword_CODE_bss_800716B4) -/* 0360A4 7F001574 AFBF0014 */ sw $ra, 0x14($sp) -/* 0360A8 7F001578 24E716B4 */ addiu $a3, %lo(dword_CODE_bss_800716B4) # addiu $a3, $a3, 0x16b4 -/* 0360AC 7F00157C 24C69D70 */ addiu $a2, %lo(dword_CODE_bss_80069D70) # addiu $a2, $a2, -0x6290 -/* 0360B0 7F001580 24A59D3C */ addiu $a1, %lo(dword_CODE_bss_80069D3C) # addiu $a1, $a1, -0x62c4 -/* 0360B4 7F001584 24849D08 */ addiu $a0, %lo(dword_CODE_bss_80069D08) # addiu $a0, $a0, -0x62f8 -/* 0360B8 7F001588 24639DA4 */ addiu $v1, %lo(dword_CODE_bss_80069DA4) # addiu $v1, $v1, -0x625c -/* 0360BC 7F00158C AC229CC4 */ sw $v0, %lo(dword_CODE_bss_80069CC4)($at) -.L7F001590: -/* 0360C0 7F001590 AC4300C0 */ sw $v1, 0xc0($v0) -/* 0360C4 7F001594 246300D0 */ addiu $v1, $v1, 0xd0 -/* 0360C8 7F001598 AC450058 */ sw $a1, 0x58($v0) -/* 0360CC 7F00159C AC46008C */ sw $a2, 0x8c($v0) -/* 0360D0 7F0015A0 AC440024 */ sw $a0, 0x24($v0) -/* 0360D4 7F0015A4 248400D0 */ addiu $a0, $a0, 0xd0 -/* 0360D8 7F0015A8 24C600D0 */ addiu $a2, $a2, 0xd0 -/* 0360DC 7F0015AC 24A500D0 */ addiu $a1, $a1, 0xd0 -/* 0360E0 7F0015B0 1467FFF7 */ bne $v1, $a3, .L7F001590 -/* 0360E4 7F0015B4 244200D0 */ addiu $v0, $v0, 0xd0 -/* 0360E8 7F0015B8 0FC00574 */ jal alloc_lookup_buffers -/* 0360EC 7F0015BC 00000000 */ nop -/* 0360F0 7F0015C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0360F4 7F0015C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0360F8 7F0015C8 03E00008 */ jr $ra -/* 0360FC 7F0015CC 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void alloc_lookup_buffers(void) { - -} -#else -GLOBAL_ASM( -.text -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 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) -/* 03611C 7F0015EC AC229C30 */ sw $v0, %lo(ptr_list_object_lookup_indices)($at) -/* 036120 7F0015F0 24C642F4 */ addiu $a2, %lo(MaxNumRooms) # addiu $a2, $a2, 0x42f4 -/* 036124 7F0015F4 8CC40000 */ lw $a0, ($a2) -/* 036128 7F0015F8 24050004 */ li $a1, 4 -/* 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 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 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 -/* 036160 7F001630 AC820000 */ sw $v0, ($a0) -/* 036164 7F001634 3C198007 */ lui $t9, %hi(ptr_list_object_lookup_indices) -/* 036168 7F001638 8F399C30 */ lw $t9, %lo(ptr_list_object_lookup_indices)($t9) -/* 03616C 7F00163C 2405FFFF */ li $a1, -1 -/* 036170 7F001640 3C068004 */ lui $a2, %hi(MaxNumRooms) -/* 036174 7F001644 24C642F4 */ addiu $a2, %lo(MaxNumRooms) # addiu $a2, $a2, 0x42f4 -/* 036178 7F001648 A7250000 */ sh $a1, ($t9) -/* 03617C 7F00164C 8CCB0000 */ lw $t3, ($a2) -/* 036180 7F001650 3C078007 */ lui $a3, %hi(ptr_room_lookup_buffer_maybe) -/* 036184 7F001654 24E71618 */ addiu $a3, %lo(ptr_room_lookup_buffer_maybe) # addiu $a3, $a3, 0x1618 -/* 036188 7F001658 1960000C */ blez $t3, .L7F00168C -/* 03618C 7F00165C 00001825 */ move $v1, $zero -/* 036190 7F001660 00001025 */ move $v0, $zero -/* 036194 7F001664 8CEC0000 */ lw $t4, ($a3) -.L7F001668: -/* 036198 7F001668 24630001 */ addiu $v1, $v1, 1 -/* 03619C 7F00166C 01826821 */ addu $t5, $t4, $v0 -/* 0361A0 7F001670 A5A50000 */ sh $a1, ($t5) -/* 0361A4 7F001674 8CCE0000 */ lw $t6, ($a2) -/* 0361A8 7F001678 24420002 */ addiu $v0, $v0, 2 -/* 0361AC 7F00167C 006E082A */ slt $at, $v1, $t6 -/* 0361B0 7F001680 5420FFF9 */ bnezl $at, .L7F001668 -/* 0361B4 7F001684 8CEC0000 */ lw $t4, ($a3) -/* 0361B8 7F001688 00001825 */ move $v1, $zero -.L7F00168C: -/* 0361BC 7F00168C 00003825 */ move $a3, $zero -/* 0361C0 7F001690 240A0100 */ li $t2, 256 -/* 0361C4 7F001694 2409FFFE */ li $t1, -2 -/* 0361C8 7F001698 24060020 */ li $a2, 32 -.L7F00169C: -/* 0361CC 7F00169C 8C8F0000 */ lw $t7, ($a0) -/* 0361D0 7F0016A0 00035940 */ sll $t3, $v1, 5 -/* 0361D4 7F0016A4 00037140 */ sll $t6, $v1, 5 -/* 0361D8 7F0016A8 01E7C021 */ addu $t8, $t7, $a3 -/* 0361DC 7F0016AC A7090000 */ sh $t1, ($t8) -/* 0361E0 7F0016B0 8C990000 */ lw $t9, ($a0) -/* 0361E4 7F0016B4 24020008 */ li $v0, 8 -/* 0361E8 7F0016B8 032B6021 */ addu $t4, $t9, $t3 -/* 0361EC 7F0016BC A5850002 */ sh $a1, 2($t4) -/* 0361F0 7F0016C0 8C8D0000 */ lw $t5, ($a0) -/* 0361F4 7F0016C4 0003C940 */ sll $t9, $v1, 5 -/* 0361F8 7F0016C8 01AE7821 */ addu $t7, $t5, $t6 -/* 0361FC 7F0016CC A5E50004 */ sh $a1, 4($t7) -/* 036200 7F0016D0 8C980000 */ lw $t8, ($a0) -/* 036204 7F0016D4 03195821 */ addu $t3, $t8, $t9 -/* 036208 7F0016D8 A5650006 */ sh $a1, 6($t3) -.L7F0016DC: -/* 03620C 7F0016DC 8C8C0000 */ lw $t4, ($a0) -/* 036210 7F0016E0 00036940 */ sll $t5, $v1, 5 -/* 036214 7F0016E4 0003C940 */ sll $t9, $v1, 5 -/* 036218 7F0016E8 018D7021 */ addu $t6, $t4, $t5 -/* 03621C 7F0016EC 01C27821 */ addu $t7, $t6, $v0 -/* 036220 7F0016F0 A5E50000 */ sh $a1, ($t7) -/* 036224 7F0016F4 8C980000 */ lw $t8, ($a0) -/* 036228 7F0016F8 00037140 */ sll $t6, $v1, 5 -/* 03622C 7F0016FC 03195821 */ addu $t3, $t8, $t9 -/* 036230 7F001700 01626021 */ addu $t4, $t3, $v0 -/* 036234 7F001704 A5850002 */ sh $a1, 2($t4) -/* 036238 7F001708 8C8D0000 */ lw $t5, ($a0) -/* 03623C 7F00170C 00035940 */ sll $t3, $v1, 5 -/* 036240 7F001710 01AE7821 */ addu $t7, $t5, $t6 -/* 036244 7F001714 01E2C021 */ addu $t8, $t7, $v0 -/* 036248 7F001718 A7050004 */ sh $a1, 4($t8) -/* 03624C 7F00171C 8C990000 */ lw $t9, ($a0) -/* 036250 7F001720 032B6021 */ addu $t4, $t9, $t3 -/* 036254 7F001724 01826821 */ addu $t5, $t4, $v0 -/* 036258 7F001728 24420008 */ addiu $v0, $v0, 8 -/* 03625C 7F00172C 1446FFEB */ bne $v0, $a2, .L7F0016DC -/* 036260 7F001730 A5A50006 */ sh $a1, 6($t5) -/* 036264 7F001734 24630001 */ addiu $v1, $v1, 1 -/* 036268 7F001738 146AFFD8 */ bne $v1, $t2, .L7F00169C -/* 03626C 7F00173C 24E70020 */ addiu $a3, $a3, 0x20 -/* 036270 7F001740 8FBF0014 */ lw $ra, 0x14($sp) -/* 036274 7F001744 27BD0018 */ addiu $sp, $sp, 0x18 -/* 036278 7F001748 03E00008 */ jr $ra -/* 03627C 7F00174C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void reinit_between_menus(void) { - -} -#else -GLOBAL_ASM( -.text -glabel reinit_between_menus -/* 036280 7F001750 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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_temp_mine_table -/* 036294 7F001764 00000000 */ nop -/* 036298 7F001768 3C018003 */ lui $at, %hi(alarm_timer) -/* 03629C 7F00176C AC200AC0 */ sw $zero, %lo(alarm_timer)($at) -/* 0362A0 7F001770 44800000 */ mtc1 $zero, $f0 -/* 0362A4 7F001774 3C018003 */ lui $at, %hi(ptr_alarm_sfx) -/* 0362A8 7F001778 AC200AC4 */ sw $zero, %lo(ptr_alarm_sfx)($at) -/* 0362AC 7F00177C 3C018003 */ lui $at, %hi(toxic_gas_sound_timer) -/* 0362B0 7F001780 E4200AC8 */ swc1 $f0, %lo(toxic_gas_sound_timer)($at) -/* 0362B4 7F001784 3C018003 */ lui $at, %hi(activate_gas_sound_timer) -/* 0362B8 7F001788 3C048003 */ lui $a0, %hi(D_80030AD0) -/* 0362BC 7F00178C AC200ACC */ sw $zero, %lo(activate_gas_sound_timer)($at) -/* 0362C0 7F001790 24840AD0 */ addiu $a0, %lo(D_80030AD0) # addiu $a0, $a0, 0xad0 -/* 0362C4 7F001794 3C018003 */ lui $at, %hi(D_80030ADC) -/* 0362C8 7F001798 E4800000 */ swc1 $f0, ($a0) -/* 0362CC 7F00179C E4800004 */ swc1 $f0, 4($a0) -/* 0362D0 7F0017A0 E4800008 */ swc1 $f0, 8($a0) -/* 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(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) -/* 0362F4 7F0017C4 3C018003 */ lui $at, %hi(clock_enable) -/* 0362F8 7F0017C8 AC200AEC */ sw $zero, %lo(clock_enable)($at) -/* 0362FC 7F0017CC 3C018003 */ lui $at, %hi(clock_time) -/* 036300 7F0017D0 E4200AF0 */ swc1 $f0, %lo(clock_time)($at) -/* 036304 7F0017D4 3C018003 */ lui $at, %hi(D_80030AF4) -/* 036308 7F0017D8 3C028007 */ lui $v0, %hi(ProjectileData_start_address) -/* 03630C 7F0017DC 3C038007 */ lui $v1, %hi(dword_CODE_bss_80072E70) -/* 036310 7F0017E0 AC200AF4 */ sw $zero, %lo(D_80030AF4)($at) -/* 036314 7F0017E4 24632E70 */ addiu $v1, %lo(dword_CODE_bss_80072E70) # addiu $v1, $v1, 0x2e70 -/* 036318 7F0017E8 24421E80 */ addiu $v0, %lo(ProjectileData_start_address) # addiu $v0, $v0, 0x1e80 -.L7F0017EC: -/* 03631C 7F0017EC 24420088 */ addiu $v0, $v0, 0x88 -/* 036320 7F0017F0 0043082B */ sltu $at, $v0, $v1 -/* 036324 7F0017F4 1420FFFD */ bnez $at, .L7F0017EC -/* 036328 7F0017F8 AC40FF88 */ sw $zero, -0x78($v0) -/* 03632C 7F0017FC 3C018003 */ lui $at, %hi(D_80030AF8) -/* 036330 7F001800 3C028007 */ lui $v0, %hi(dword_CODE_bss_80072E70) -/* 036334 7F001804 3C038007 */ lui $v1, %hi(dword_CODE_bss_80073370) -/* 036338 7F001808 AC200AF8 */ sw $zero, %lo(D_80030AF8)($at) -/* 03633C 7F00180C 24633370 */ addiu $v1, %lo(dword_CODE_bss_80073370) # addiu $v1, $v1, 0x3370 -/* 036340 7F001810 24422E70 */ addiu $v0, %lo(dword_CODE_bss_80072E70) # addiu $v0, $v0, 0x2e70 -.L7F001814: -/* 036344 7F001814 24420080 */ addiu $v0, $v0, 0x80 -/* 036348 7F001818 0043082B */ sltu $at, $v0, $v1 -/* 03634C 7F00181C 1420FFFD */ bnez $at, .L7F001814 -/* 036350 7F001820 AC40FF90 */ sw $zero, -0x70($v0) -/* 036354 7F001824 3C018003 */ lui $at, %hi(D_80030AFC) -/* 036358 7F001828 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073370) -/* 03635C 7F00182C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80073DC0) -/* 036360 7F001830 AC200AFC */ sw $zero, %lo(D_80030AFC)($at) -/* 036364 7F001834 24633DC0 */ addiu $v1, %lo(dword_CODE_bss_80073DC0) # addiu $v1, $v1, 0x3dc0 -/* 036368 7F001838 24423370 */ addiu $v0, %lo(dword_CODE_bss_80073370) # addiu $v0, $v0, 0x3370 -.L7F00183C: -/* 03636C 7F00183C 24420084 */ addiu $v0, $v0, 0x84 -/* 036370 7F001840 0043082B */ sltu $at, $v0, $v1 -/* 036374 7F001844 1420FFFD */ bnez $at, .L7F00183C -/* 036378 7F001848 AC40FF8C */ sw $zero, -0x74($v0) -/* 03637C 7F00184C 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) -/* 036380 7F001850 3C048007 */ lui $a0, %hi(dword_CODE_bss_80075030) -/* 036384 7F001854 24845030 */ addiu $a0, %lo(dword_CODE_bss_80075030) # addiu $a0, $a0, 0x5030 -/* 036388 7F001858 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 -/* 03638C 7F00185C 3C038000 */ lui $v1, 0x8000 -.L7F001860: -/* 036390 7F001860 244200EC */ addiu $v0, $v0, 0xec -/* 036394 7F001864 0044082B */ sltu $at, $v0, $a0 -/* 036398 7F001868 AC43FF14 */ sw $v1, -0xec($v0) -/* 03639C 7F00186C AC40FFAC */ sw $zero, -0x54($v0) -/* 0363A0 7F001870 1420FFFB */ bnez $at, .L7F001860 -/* 0363A4 7F001874 AC40FFB0 */ sw $zero, -0x50($v0) -/* 0363A8 7F001878 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075030) -/* 0363AC 7F00187C 3C038007 */ lui $v1, %hi(objinst) -/* 0363B0 7F001880 24635B70 */ addiu $v1, %lo(objinst) # addiu $v1, $v1, 0x5b70 -/* 0363B4 7F001884 24425030 */ addiu $v0, %lo(dword_CODE_bss_80075030) # addiu $v0, $v0, 0x5030 -.L7F001888: -/* 0363B8 7F001888 24420120 */ addiu $v0, $v0, 0x120 -/* 0363BC 7F00188C AC45FF28 */ sw $a1, -0xd8($v0) -/* 0363C0 7F001890 AC45FF70 */ sw $a1, -0x90($v0) -/* 0363C4 7F001894 AC45FFB8 */ sw $a1, -0x48($v0) -/* 0363C8 7F001898 1443FFFB */ bne $v0, $v1, .L7F001888 -/* 0363CC 7F00189C AC45FEE0 */ sw $a1, -0x120($v0) -/* 0363D0 7F0018A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0363D4 7F0018A4 44810000 */ mtc1 $at, $f0 -/* 0363D8 7F0018A8 3C018003 */ lui $at, %hi(D_80030B00) -/* 0363DC 7F0018AC AC200B00 */ sw $zero, %lo(D_80030B00)($at) -/* 0363E0 7F0018B0 3C018003 */ lui $at, %hi(D_80030B04) -/* 0363E4 7F0018B4 AC200B04 */ sw $zero, %lo(D_80030B04)($at) -/* 0363E8 7F0018B8 3C018003 */ lui $at, %hi(D_80030B08) -/* 0363EC 7F0018BC AC200B08 */ sw $zero, %lo(D_80030B08)($at) -/* 0363F0 7F0018C0 3C018003 */ lui $at, %hi(D_80030B0C) -/* 0363F4 7F0018C4 AC200B0C */ sw $zero, %lo(D_80030B0C)($at) -/* 0363F8 7F0018C8 3C018003 */ lui $at, %hi(bodypartshot) -/* 0363FC 7F0018CC 240EFFFF */ li $t6, -1 -/* 036400 7F0018D0 AC2E0B10 */ sw $t6, %lo(bodypartshot)($at) -/* 036404 7F0018D4 3C018003 */ lui $at, %hi(D_80030B14) -/* 036408 7F0018D8 E4200B14 */ swc1 $f0, %lo(D_80030B14)($at) -/* 03640C 7F0018DC 3C018003 */ lui $at, %hi(D_80030B18) -/* 036410 7F0018E0 E4200B18 */ swc1 $f0, %lo(D_80030B18)($at) -/* 036414 7F0018E4 3C018003 */ lui $at, %hi(D_80030B1C) -/* 036418 7F0018E8 E4200B1C */ swc1 $f0, %lo(D_80030B1C)($at) -/* 03641C 7F0018EC 3C018003 */ lui $at, %hi(D_80030B20) -/* 036420 7F0018F0 E4200B20 */ swc1 $f0, %lo(D_80030B20)($at) -/* 036424 7F0018F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 036428 7F0018F8 3C018003 */ lui $at, %hi(D_80030B24) -/* 03642C 7F0018FC E4200B24 */ swc1 $f0, %lo(D_80030B24)($at) -/* 036430 7F001900 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 036434 7F001904 27BD0018 */ addiu $sp, $sp, 0x18 -/* 036438 7F001908 03E00008 */ jr $ra -/* 03643C 7F00190C E4200B28 */ swc1 $f0, %lo(solo_ammo_multiplier)($at) -) -#endif - -#ifdef NONMATCHING -void sub_GAME_7F001910(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F001910 -/* 036440 7F001910 3C028003 */ lui $v0, %hi(D_80030B00) -/* 036444 7F001914 24420B00 */ addiu $v0, %lo(D_80030B00) # addiu $v0, $v0, 0xb00 -/* 036448 7F001918 8C4E0000 */ lw $t6, ($v0) -/* 03644C 7F00191C AC8E000C */ sw $t6, 0xc($a0) -/* 036450 7F001920 03E00008 */ jr $ra -/* 036454 7F001924 AC440000 */ sw $a0, ($v0) -) -#endif - -#ifdef NONMATCHING -void sub_GAME_7F001928(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F001928 -/* 036458 7F001928 3C028003 */ lui $v0, %hi(D_80030B04) -/* 03645C 7F00192C 24420B04 */ addiu $v0, %lo(D_80030B04) # addiu $v0, $v0, 0xb04 -/* 036460 7F001930 8C4E0000 */ lw $t6, ($v0) -/* 036464 7F001934 AC8E000C */ sw $t6, 0xc($a0) -/* 036468 7F001938 03E00008 */ jr $ra -/* 03646C 7F00193C AC440000 */ sw $a0, ($v0) -) -#endif - -#ifdef NONMATCHING -void sub_GAME_7F001940(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F001940 -/* 036470 7F001940 3C028003 */ lui $v0, %hi(D_80030B08) -/* 036474 7F001944 24420B08 */ addiu $v0, %lo(D_80030B08) # addiu $v0, $v0, 0xb08 -/* 036478 7F001948 8C4E0000 */ lw $t6, ($v0) -/* 03647C 7F00194C AC8E0010 */ sw $t6, 0x10($a0) -/* 036480 7F001950 03E00008 */ jr $ra -/* 036484 7F001954 AC440000 */ sw $a0, ($v0) -) -#endif - -#ifdef NONMATCHING -void write_monitor_ani_control_blocks(void) { - -} -#else -GLOBAL_ASM( -.text -glabel write_monitor_ani_control_blocks -/* 036488 7F001958 27BDFEA0 */ addiu $sp, $sp, -0x160 -/* 03648C 7F00195C 3C0E8003 */ lui $t6, %hi(ptr_monitorimageobjectanimationcontroller) -/* 036490 7F001960 27A200EC */ addiu $v0, $sp, 0xec -/* 036494 7F001964 25CEA260 */ addiu $t6, $t6, %lo(ptr_monitorimageobjectanimationcontroller) -/* 036498 7F001968 27A30078 */ addiu $v1, $sp, 0x78 -/* 03649C 7F00196C 27A40004 */ addiu $a0, $sp, 4 -/* 0364A0 7F001970 25D9006C */ addiu $t9, $t6, 0x6c -/* 0364A4 7F001974 00404025 */ move $t0, $v0 -.L7F001978: -/* 0364A8 7F001978 8DC10000 */ lw $at, ($t6) -/* 0364AC 7F00197C 25CE000C */ addiu $t6, $t6, 0xc -/* 0364B0 7F001980 2508000C */ addiu $t0, $t0, 0xc -/* 0364B4 7F001984 AD01FFF4 */ sw $at, -0xc($t0) -/* 0364B8 7F001988 8DC1FFF8 */ lw $at, -8($t6) -/* 0364BC 7F00198C AD01FFF8 */ sw $at, -8($t0) -/* 0364C0 7F001990 8DC1FFFC */ lw $at, -4($t6) -/* 0364C4 7F001994 15D9FFF8 */ bne $t6, $t9, .L7F001978 -/* 0364C8 7F001998 AD01FFFC */ sw $at, -4($t0) -/* 0364CC 7F00199C 8DC10000 */ lw $at, ($t6) -/* 0364D0 7F0019A0 3C098007 */ lui $t1, %hi(dword_CODE_bss_80075B98) -/* 0364D4 7F0019A4 25295B98 */ addiu $t1, %lo(dword_CODE_bss_80075B98) # addiu $t1, $t1, 0x5b98 -/* 0364D8 7F0019A8 AD010000 */ sw $at, ($t0) -/* 0364DC 7F0019AC 8DD90004 */ lw $t9, 4($t6) -/* 0364E0 7F0019B0 00406825 */ move $t5, $v0 -/* 0364E4 7F0019B4 244C006C */ addiu $t4, $v0, 0x6c -/* 0364E8 7F0019B8 AD190004 */ sw $t9, 4($t0) -.L7F0019BC: -/* 0364EC 7F0019BC 8DA10000 */ lw $at, ($t5) -/* 0364F0 7F0019C0 25AD000C */ addiu $t5, $t5, 0xc -/* 0364F4 7F0019C4 2529000C */ addiu $t1, $t1, 0xc -/* 0364F8 7F0019C8 AD21FFF4 */ sw $at, -0xc($t1) -/* 0364FC 7F0019CC 8DA1FFF8 */ lw $at, -8($t5) -/* 036500 7F0019D0 AD21FFF8 */ sw $at, -8($t1) -/* 036504 7F0019D4 8DA1FFFC */ lw $at, -4($t5) -/* 036508 7F0019D8 15ACFFF8 */ bne $t5, $t4, .L7F0019BC -/* 03650C 7F0019DC AD21FFFC */ sw $at, -4($t1) -/* 036510 7F0019E0 8DA10000 */ lw $at, ($t5) -/* 036514 7F0019E4 3C188003 */ lui $t8, %hi(unknown_object_animation_controller) -/* 036518 7F0019E8 2718A2D4 */ addiu $t8, %lo(unknown_object_animation_controller) # addiu $t8, $t8, -0x5d2c -/* 03651C 7F0019EC AD210000 */ sw $at, ($t1) -/* 036520 7F0019F0 8DAC0004 */ lw $t4, 4($t5) -/* 036524 7F0019F4 270E006C */ addiu $t6, $t8, 0x6c -/* 036528 7F0019F8 00604025 */ move $t0, $v1 -/* 03652C 7F0019FC AD2C0004 */ sw $t4, 4($t1) -.L7F001A00: -/* 036530 7F001A00 8F010000 */ lw $at, ($t8) -/* 036534 7F001A04 2718000C */ addiu $t8, $t8, 0xc -/* 036538 7F001A08 2508000C */ addiu $t0, $t0, 0xc -/* 03653C 7F001A0C AD01FFF4 */ sw $at, -0xc($t0) -/* 036540 7F001A10 8F01FFF8 */ lw $at, -8($t8) -/* 036544 7F001A14 AD01FFF8 */ sw $at, -8($t0) -/* 036548 7F001A18 8F01FFFC */ lw $at, -4($t8) -/* 03654C 7F001A1C 170EFFF8 */ bne $t8, $t6, .L7F001A00 -/* 036550 7F001A20 AD01FFFC */ sw $at, -4($t0) -/* 036554 7F001A24 8F010000 */ lw $at, ($t8) -/* 036558 7F001A28 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80075C10) -/* 03655C 7F001A2C 256B5C10 */ addiu $t3, %lo(dword_CODE_bss_80075C10) # addiu $t3, $t3, 0x5c10 -/* 036560 7F001A30 AD010000 */ sw $at, ($t0) -/* 036564 7F001A34 8F0E0004 */ lw $t6, 4($t8) -/* 036568 7F001A38 00604825 */ move $t1, $v1 -/* 03656C 7F001A3C 246D006C */ addiu $t5, $v1, 0x6c -/* 036570 7F001A40 AD0E0004 */ sw $t6, 4($t0) -.L7F001A44: -/* 036574 7F001A44 8D210000 */ lw $at, ($t1) -/* 036578 7F001A48 2529000C */ addiu $t1, $t1, 0xc -/* 03657C 7F001A4C 256B000C */ addiu $t3, $t3, 0xc -/* 036580 7F001A50 AD61FFF4 */ sw $at, -0xc($t3) -/* 036584 7F001A54 8D21FFF8 */ lw $at, -8($t1) -/* 036588 7F001A58 AD61FFF8 */ sw $at, -8($t3) -/* 03658C 7F001A5C 8D21FFFC */ lw $at, -4($t1) -/* 036590 7F001A60 152DFFF8 */ bne $t1, $t5, .L7F001A44 -/* 036594 7F001A64 AD61FFFC */ sw $at, -4($t3) -/* 036598 7F001A68 8D210000 */ lw $at, ($t1) -/* 03659C 7F001A6C 3C198003 */ lui $t9, %hi(taser_object_animation_controller) -/* 0365A0 7F001A70 2739A348 */ addiu $t9, %lo(taser_object_animation_controller) # addiu $t9, $t9, -0x5cb8 -/* 0365A4 7F001A74 AD610000 */ sw $at, ($t3) -/* 0365A8 7F001A78 8D2D0004 */ lw $t5, 4($t1) -/* 0365AC 7F001A7C 2738006C */ addiu $t8, $t9, 0x6c -/* 0365B0 7F001A80 00804025 */ move $t0, $a0 -/* 0365B4 7F001A84 AD6D0004 */ sw $t5, 4($t3) -.L7F001A88: -/* 0365B8 7F001A88 8F210000 */ lw $at, ($t9) -/* 0365BC 7F001A8C 2739000C */ addiu $t9, $t9, 0xc -/* 0365C0 7F001A90 2508000C */ addiu $t0, $t0, 0xc -/* 0365C4 7F001A94 AD01FFF4 */ sw $at, -0xc($t0) -/* 0365C8 7F001A98 8F21FFF8 */ lw $at, -8($t9) -/* 0365CC 7F001A9C AD01FFF8 */ sw $at, -8($t0) -/* 0365D0 7F001AA0 8F21FFFC */ lw $at, -4($t9) -/* 0365D4 7F001AA4 1738FFF8 */ bne $t9, $t8, .L7F001A88 -/* 0365D8 7F001AA8 AD01FFFC */ sw $at, -4($t0) -/* 0365DC 7F001AAC 8F210000 */ lw $at, ($t9) -/* 0365E0 7F001AB0 3C0C8007 */ lui $t4, %hi(dword_CODE_bss_80075C88) -/* 0365E4 7F001AB4 258C5C88 */ addiu $t4, %lo(dword_CODE_bss_80075C88) # addiu $t4, $t4, 0x5c88 -/* 0365E8 7F001AB8 AD010000 */ sw $at, ($t0) -/* 0365EC 7F001ABC 8F380004 */ lw $t8, 4($t9) -/* 0365F0 7F001AC0 00805825 */ move $t3, $a0 -/* 0365F4 7F001AC4 2489006C */ addiu $t1, $a0, 0x6c -/* 0365F8 7F001AC8 AD180004 */ sw $t8, 4($t0) -.L7F001ACC: -/* 0365FC 7F001ACC 8D610000 */ lw $at, ($t3) -/* 036600 7F001AD0 256B000C */ addiu $t3, $t3, 0xc -/* 036604 7F001AD4 258C000C */ addiu $t4, $t4, 0xc -/* 036608 7F001AD8 AD81FFF4 */ sw $at, -0xc($t4) -/* 03660C 7F001ADC 8D61FFF8 */ lw $at, -8($t3) -/* 036610 7F001AE0 AD81FFF8 */ sw $at, -8($t4) -/* 036614 7F001AE4 8D61FFFC */ lw $at, -4($t3) -/* 036618 7F001AE8 1569FFF8 */ bne $t3, $t1, .L7F001ACC -/* 03661C 7F001AEC AD81FFFC */ sw $at, -4($t4) -/* 036620 7F001AF0 8D610000 */ lw $at, ($t3) -/* 036624 7F001AF4 AD810000 */ sw $at, ($t4) -/* 036628 7F001AF8 8D690004 */ lw $t1, 4($t3) -/* 03662C 7F001AFC 27BD0160 */ addiu $sp, $sp, 0x160 -/* 036630 7F001B00 03E00008 */ jr $ra -/* 036634 7F001B04 AD890004 */ sw $t1, 4($t4) -) -#endif - -#ifdef NONMATCHING -void initialize_temp_mine_table(void) { - -} -#else -GLOBAL_ASM( -.text -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(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) -/* 036660 7F001B30 AC60FFF8 */ sw $zero, -8($v1) -/* 036664 7F001B34 AC60FFFC */ sw $zero, -4($v1) -/* 036668 7F001B38 1462FFFB */ bne $v1, $v0, .L7F001B28 -/* 03666C 7F001B3C AC60FFF0 */ sw $zero, -0x10($v1) -/* 036670 7F001B40 03E00008 */ jr $ra -/* 036674 7F001B44 00000000 */ nop -) -#endif diff --git a/src/game/initobjects.h b/src/game/initobjects.h deleted file mode 100644 index c317bdc..0000000 --- a/src/game/initobjects.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _INITOBJECTS_H_ -#define _INITOBJECTS_H_ -#include "ultra64.h" - -struct object_animation_controller { - void * ptranimation; - u16 offsettocurcmd; - u16 waitcounter; - u32 imagenum; - f32 rotation; - f32 curzoomx; - f32 startzoomx; - f32 zoomxtimer; - f32 initialzoomx; - f32 finalzoomx; - f32 curzoomy; - f32 startzoomy; - f32 zoomytimer; - f32 initialzoomy; - f32 finalzoomy; - f32 curhorizontalpos; - f32 starthorscroll; - f32 horscrolltimer; - f32 horinitpos; - f32 horfinalpos; - f32 curverpos; - f32 startverscroll; - f32 verscrolltimer; - f32 verinitpos; - f32 verfinalpos; - u8 curredcomponant; - u8 initredcomponant; - u8 finalredcomponant; - u8 curgreencomponant; - u8 initgreencomponant; - u8 finalgreencomponant; - u8 curbluecomponant; - u8 initbluecomponant; - u8 finalbluecomponant; - u8 curalphacomponant; - u8 initalphacomponant; - u8 finalalphacomponant; - f32 startcolorshift; - f32 colorshifttimer; -}; - - -#endif diff --git a/src/game/initpathtablelinks.c b/src/game/initpathtablelinks.c deleted file mode 100644 index 74ca9f7..0000000 --- a/src/game/initpathtablelinks.c +++ /dev/null @@ -1,385 +0,0 @@ -#include "ultra64.h" - - - - -#ifdef NONMATCHING -void init_path_table_links(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_path_table_links -/* 03B3C0 7F006890 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 03B3C4 7F006894 AFB40028 */ sw $s4, 0x28($sp) -/* 03B3C8 7F006898 3C148007 */ lui $s4, %hi(ptr_setup_path_tbl) -/* 03B3CC 7F00689C 26945D00 */ addiu $s4, %lo(ptr_setup_path_tbl) # addiu $s4, $s4, 0x5d00 -/* 03B3D0 7F0068A0 AFB00018 */ sw $s0, 0x18($sp) -/* 03B3D4 7F0068A4 8E900000 */ lw $s0, ($s4) -/* 03B3D8 7F0068A8 8E8E0004 */ lw $t6, 4($s4) -/* 03B3DC 7F0068AC AFB60030 */ sw $s6, 0x30($sp) -/* 03B3E0 7F0068B0 AFBF003C */ sw $ra, 0x3c($sp) -/* 03B3E4 7F0068B4 AFBE0038 */ sw $fp, 0x38($sp) -/* 03B3E8 7F0068B8 AFB70034 */ sw $s7, 0x34($sp) -/* 03B3EC 7F0068BC AFB5002C */ sw $s5, 0x2c($sp) -/* 03B3F0 7F0068C0 AFB30024 */ sw $s3, 0x24($sp) -/* 03B3F4 7F0068C4 AFB20020 */ sw $s2, 0x20($sp) -/* 03B3F8 7F0068C8 AFB1001C */ sw $s1, 0x1c($sp) -/* 03B3FC 7F0068CC 0000B025 */ move $s6, $zero -/* 03B400 7F0068D0 12000036 */ beqz $s0, .L7F0069AC -/* 03B404 7F0068D4 AFAE00D8 */ sw $t6, 0xd8($sp) -/* 03B408 7F0068D8 8E0F0000 */ lw $t7, ($s0) -/* 03B40C 7F0068DC 00003825 */ move $a3, $zero -/* 03B410 7F0068E0 02006825 */ move $t5, $s0 -/* 03B414 7F0068E4 05E20032 */ bltzl $t7, .L7F0069B0 -/* 03B418 7F0068E8 8FAE00D8 */ lw $t6, 0xd8($sp) -/* 03B41C 7F0068EC 8DA20004 */ lw $v0, 4($t5) -.L7F0068F0: -/* 03B420 7F0068F0 8C460000 */ lw $a2, ($v0) -/* 03B424 7F0068F4 00404025 */ move $t0, $v0 -/* 03B428 7F0068F8 04C20027 */ bltzl $a2, .L7F006998 -/* 03B42C 7F0068FC 24E70001 */ addiu $a3, $a3, 1 -.L7F006900: -/* 03B430 7F006900 14C70007 */ bne $a2, $a3, .L7F006920 -/* 03B434 7F006904 0006C900 */ sll $t9, $a2, 4 -/* 03B438 7F006908 8E980020 */ lw $t8, 0x20($s4) -/* 03B43C 7F00690C 24160001 */ li $s6, 1 -/* 03B440 7F006910 5300001D */ beql $t8, $zero, .L7F006988 -/* 03B444 7F006914 8D060004 */ lw $a2, 4($t0) -/* 03B448 7F006918 1000001B */ b .L7F006988 -/* 03B44C 7F00691C 8D060004 */ lw $a2, 4($t0) -.L7F006920: -/* 03B450 7F006920 03301821 */ addu $v1, $t9, $s0 -/* 03B454 7F006924 8C650004 */ lw $a1, 4($v1) -/* 03B458 7F006928 00002025 */ move $a0, $zero -/* 03B45C 7F00692C 8CAE0000 */ lw $t6, ($a1) -/* 03B460 7F006930 05C2000F */ bltzl $t6, .L7F006970 -/* 03B464 7F006934 0004C880 */ sll $t9, $a0, 2 -/* 03B468 7F006938 10EE000C */ beq $a3, $t6, .L7F00696C -/* 03B46C 7F00693C 00001080 */ sll $v0, $zero, 2 -/* 03B470 7F006940 24420004 */ addiu $v0, $v0, 4 -.L7F006944: -/* 03B474 7F006944 00A2C021 */ addu $t8, $a1, $v0 -/* 03B478 7F006948 8F190000 */ lw $t9, ($t8) -/* 03B47C 7F00694C 24840001 */ addiu $a0, $a0, 1 -/* 03B480 7F006950 07220007 */ bltzl $t9, .L7F006970 -/* 03B484 7F006954 0004C880 */ sll $t9, $a0, 2 -/* 03B488 7F006958 8C6E0004 */ lw $t6, 4($v1) -/* 03B48C 7F00695C 01C27821 */ addu $t7, $t6, $v0 -/* 03B490 7F006960 8DF80000 */ lw $t8, ($t7) -/* 03B494 7F006964 54F8FFF7 */ bnel $a3, $t8, .L7F006944 -/* 03B498 7F006968 24420004 */ addiu $v0, $v0, 4 -.L7F00696C: -/* 03B49C 7F00696C 0004C880 */ sll $t9, $a0, 2 -.L7F006970: -/* 03B4A0 7F006970 00B97021 */ addu $t6, $a1, $t9 -/* 03B4A4 7F006974 8DCF0000 */ lw $t7, ($t6) -/* 03B4A8 7F006978 50EF0003 */ beql $a3, $t7, .L7F006988 -/* 03B4AC 7F00697C 8D060004 */ lw $a2, 4($t0) -/* 03B4B0 7F006980 24160001 */ li $s6, 1 -/* 03B4B4 7F006984 8D060004 */ lw $a2, 4($t0) -.L7F006988: -/* 03B4B8 7F006988 25080004 */ addiu $t0, $t0, 4 -/* 03B4BC 7F00698C 04C1FFDC */ bgez $a2, .L7F006900 -/* 03B4C0 7F006990 00000000 */ nop -/* 03B4C4 7F006994 24E70001 */ addiu $a3, $a3, 1 -.L7F006998: -/* 03B4C8 7F006998 0007C100 */ sll $t8, $a3, 4 -/* 03B4CC 7F00699C 03106821 */ addu $t5, $t8, $s0 -/* 03B4D0 7F0069A0 8DB90000 */ lw $t9, ($t5) -/* 03B4D4 7F0069A4 0723FFD2 */ bgezl $t9, .L7F0068F0 -/* 03B4D8 7F0069A8 8DA20004 */ lw $v0, 4($t5) -.L7F0069AC: -/* 03B4DC 7F0069AC 8FAE00D8 */ lw $t6, 0xd8($sp) -.L7F0069B0: -/* 03B4E0 7F0069B0 11C00054 */ beqz $t6, .L7F006B04 -/* 03B4E4 7F0069B4 00000000 */ nop -/* 03B4E8 7F0069B8 8DCF0000 */ lw $t7, ($t6) -/* 03B4EC 7F0069BC 00008825 */ move $s1, $zero -/* 03B4F0 7F0069C0 01C0A825 */ move $s5, $t6 -/* 03B4F4 7F0069C4 11E0004F */ beqz $t7, .L7F006B04 -/* 03B4F8 7F0069C8 27BE00A0 */ addiu $fp, $sp, 0xa0 -/* 03B4FC 7F0069CC AFAE0048 */ sw $t6, 0x48($sp) -/* 03B500 7F0069D0 2417000C */ li $s7, 12 -/* 03B504 7F0069D4 8EB80000 */ lw $t8, ($s5) -.L7F0069D8: -/* 03B508 7F0069D8 00009825 */ move $s3, $zero -/* 03B50C 7F0069DC 8F020000 */ lw $v0, ($t8) -/* 03B510 7F0069E0 04420042 */ bltzl $v0, .L7F006AEC -/* 03B514 7F0069E4 8FAE0048 */ lw $t6, 0x48($sp) -.L7F0069E8: -/* 03B518 7F0069E8 14510007 */ bne $v0, $s1, .L7F006A08 -/* 03B51C 7F0069EC 00000000 */ nop -/* 03B520 7F0069F0 8E990024 */ lw $t9, 0x24($s4) -/* 03B524 7F0069F4 24160001 */ li $s6, 1 -/* 03B528 7F0069F8 53200036 */ beql $t9, $zero, .L7F006AD4 -/* 03B52C 7F0069FC 8EB90000 */ lw $t9, ($s5) -/* 03B530 7F006A00 10000034 */ b .L7F006AD4 -/* 03B534 7F006A04 8EB90000 */ lw $t9, ($s5) -.L7F006A08: -/* 03B538 7F006A08 00570019 */ multu $v0, $s7 -/* 03B53C 7F006A0C 8FAE00D8 */ lw $t6, 0xd8($sp) -/* 03B540 7F006A10 00002825 */ move $a1, $zero -/* 03B544 7F006A14 00007812 */ mflo $t7 -/* 03B548 7F006A18 01EE9021 */ addu $s2, $t7, $t6 -/* 03B54C 7F006A1C 8E460000 */ lw $a2, ($s2) -/* 03B550 7F006A20 02402025 */ move $a0, $s2 -/* 03B554 7F006A24 8CD80000 */ lw $t8, ($a2) -/* 03B558 7F006A28 07020011 */ bltzl $t8, .L7F006A70 -/* 03B55C 7F006A2C 00057880 */ sll $t7, $a1, 2 -/* 03B560 7F006A30 8CD90000 */ lw $t9, ($a2) -/* 03B564 7F006A34 00001080 */ sll $v0, $zero, 2 -/* 03B568 7F006A38 00C21821 */ addu $v1, $a2, $v0 -/* 03B56C 7F006A3C 5239000C */ beql $s1, $t9, .L7F006A70 -/* 03B570 7F006A40 00057880 */ sll $t7, $a1, 2 -/* 03B574 7F006A44 8C6F0004 */ lw $t7, 4($v1) -.L7F006A48: -/* 03B578 7F006A48 24A50001 */ addiu $a1, $a1, 1 -/* 03B57C 7F006A4C 24420004 */ addiu $v0, $v0, 4 -/* 03B580 7F006A50 05E00006 */ bltz $t7, .L7F006A6C -/* 03B584 7F006A54 24630004 */ addiu $v1, $v1, 4 -/* 03B588 7F006A58 8C8E0000 */ lw $t6, ($a0) -/* 03B58C 7F006A5C 01C2C021 */ addu $t8, $t6, $v0 -/* 03B590 7F006A60 8F190000 */ lw $t9, ($t8) -/* 03B594 7F006A64 5639FFF8 */ bnel $s1, $t9, .L7F006A48 -/* 03B598 7F006A68 8C6F0004 */ lw $t7, 4($v1) -.L7F006A6C: -/* 03B59C 7F006A6C 00057880 */ sll $t7, $a1, 2 -.L7F006A70: -/* 03B5A0 7F006A70 00CF7021 */ addu $t6, $a2, $t7 -/* 03B5A4 7F006A74 8DD80000 */ lw $t8, ($t6) -/* 03B5A8 7F006A78 52380008 */ beql $s1, $t8, .L7F006A9C -/* 03B5AC 7F006A7C 8E8F0000 */ lw $t7, ($s4) -/* 03B5B0 7F006A80 8E990024 */ lw $t9, 0x24($s4) -/* 03B5B4 7F006A84 24160001 */ li $s6, 1 -/* 03B5B8 7F006A88 53200012 */ beql $t9, $zero, .L7F006AD4 -/* 03B5BC 7F006A8C 8EB90000 */ lw $t9, ($s5) -/* 03B5C0 7F006A90 10000010 */ b .L7F006AD4 -/* 03B5C4 7F006A94 8EB90000 */ lw $t9, ($s5) -/* 03B5C8 7F006A98 8E8F0000 */ lw $t7, ($s4) -.L7F006A9C: -/* 03B5CC 7F006A9C 02A02025 */ move $a0, $s5 -/* 03B5D0 7F006AA0 02402825 */ move $a1, $s2 -/* 03B5D4 7F006AA4 11E0000A */ beqz $t7, .L7F006AD0 -/* 03B5D8 7F006AA8 03C03025 */ move $a2, $fp -/* 03B5DC 7F006AAC 0FC23D0E */ jal sub_GAME_7F08F438 -/* 03B5E0 7F006AB0 27A7009C */ addiu $a3, $sp, 0x9c -/* 03B5E4 7F006AB4 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 03B5E8 7F006AB8 8FB8009C */ lw $t8, 0x9c($sp) -/* 03B5EC 7F006ABC 51C00004 */ beql $t6, $zero, .L7F006AD0 -/* 03B5F0 7F006AC0 24160001 */ li $s6, 1 -/* 03B5F4 7F006AC4 57000003 */ bnezl $t8, .L7F006AD4 -/* 03B5F8 7F006AC8 8EB90000 */ lw $t9, ($s5) -/* 03B5FC 7F006ACC 24160001 */ li $s6, 1 -.L7F006AD0: -/* 03B600 7F006AD0 8EB90000 */ lw $t9, ($s5) -.L7F006AD4: -/* 03B604 7F006AD4 26730004 */ addiu $s3, $s3, 4 -/* 03B608 7F006AD8 03337821 */ addu $t7, $t9, $s3 -/* 03B60C 7F006ADC 8DE20000 */ lw $v0, ($t7) -/* 03B610 7F006AE0 0441FFC1 */ bgez $v0, .L7F0069E8 -/* 03B614 7F006AE4 00000000 */ nop -/* 03B618 7F006AE8 8FAE0048 */ lw $t6, 0x48($sp) -.L7F006AEC: -/* 03B61C 7F006AEC 26310001 */ addiu $s1, $s1, 1 -/* 03B620 7F006AF0 25D5000C */ addiu $s5, $t6, 0xc -/* 03B624 7F006AF4 AFB50048 */ sw $s5, 0x48($sp) -/* 03B628 7F006AF8 8EB90000 */ lw $t9, ($s5) -/* 03B62C 7F006AFC 5720FFB6 */ bnezl $t9, .L7F0069D8 -/* 03B630 7F006B00 8EB80000 */ lw $t8, ($s5) -.L7F006B04: -/* 03B634 7F006B04 12000091 */ beqz $s0, .L7F006D4C -/* 03B638 7F006B08 8FAF00D8 */ lw $t7, 0xd8($sp) -/* 03B63C 7F006B0C 11E0008F */ beqz $t7, .L7F006D4C -/* 03B640 7F006B10 00000000 */ nop -/* 03B644 7F006B14 8DE30000 */ lw $v1, ($t7) -/* 03B648 7F006B18 00004825 */ move $t1, $zero -/* 03B64C 7F006B1C 01E05825 */ move $t3, $t7 -/* 03B650 7F006B20 1060001F */ beqz $v1, .L7F006BA0 -/* 03B654 7F006B24 0200B825 */ move $s7, $s0 -/* 03B658 7F006B28 01E06825 */ move $t5, $t7 -.L7F006B2C: -/* 03B65C 7F006B2C 8D640004 */ lw $a0, 4($t3) -/* 03B660 7F006B30 00003825 */ move $a3, $zero -/* 03B664 7F006B34 8C830000 */ lw $v1, ($a0) -/* 03B668 7F006B38 04600011 */ bltz $v1, .L7F006B80 -/* 03B66C 7F006B3C 00037100 */ sll $t6, $v1, 4 -.L7F006B40: -/* 03B670 7F006B40 01D02821 */ addu $a1, $t6, $s0 -/* 03B674 7F006B44 8CA60008 */ lw $a2, 8($a1) -/* 03B678 7F006B48 04C10005 */ bgez $a2, .L7F006B60 -/* 03B67C 7F006B4C 00000000 */ nop -/* 03B680 7F006B50 ACA90008 */ sw $t1, 8($a1) -/* 03B684 7F006B54 8D640004 */ lw $a0, 4($t3) -/* 03B688 7F006B58 10000004 */ b .L7F006B6C -/* 03B68C 7F006B5C 00871021 */ addu $v0, $a0, $a3 -.L7F006B60: -/* 03B690 7F006B60 11260002 */ beq $t1, $a2, .L7F006B6C -/* 03B694 7F006B64 00871021 */ addu $v0, $a0, $a3 -/* 03B698 7F006B68 24160001 */ li $s6, 1 -.L7F006B6C: -/* 03B69C 7F006B6C 8C430004 */ lw $v1, 4($v0) -/* 03B6A0 7F006B70 24E70004 */ addiu $a3, $a3, 4 -/* 03B6A4 7F006B74 24420004 */ addiu $v0, $v0, 4 -/* 03B6A8 7F006B78 0463FFF1 */ bgezl $v1, .L7F006B40 -/* 03B6AC 7F006B7C 00037100 */ sll $t6, $v1, 4 -.L7F006B80: -/* 03B6B0 7F006B80 8DB8000C */ lw $t8, 0xc($t5) -/* 03B6B4 7F006B84 25AD000C */ addiu $t5, $t5, 0xc -/* 03B6B8 7F006B88 01A05825 */ move $t3, $t5 -/* 03B6BC 7F006B8C 1700FFE7 */ bnez $t8, .L7F006B2C -/* 03B6C0 7F006B90 25290001 */ addiu $t1, $t1, 1 -/* 03B6C4 7F006B94 8FAB00D8 */ lw $t3, 0xd8($sp) -/* 03B6C8 7F006B98 00004825 */ move $t1, $zero -/* 03B6CC 7F006B9C 8D630000 */ lw $v1, ($t3) -.L7F006BA0: -/* 03B6D0 7F006BA0 8EEF0000 */ lw $t7, ($s7) -/* 03B6D4 7F006BA4 02E03025 */ move $a2, $s7 -/* 03B6D8 7F006BA8 8FAD00D8 */ lw $t5, 0xd8($sp) -/* 03B6DC 7F006BAC 05E0000A */ bltz $t7, .L7F006BD8 -/* 03B6E0 7F006BB0 24070001 */ li $a3, 1 -/* 03B6E4 7F006BB4 8CCE0008 */ lw $t6, 8($a2) -.L7F006BB8: -/* 03B6E8 7F006BB8 25290001 */ addiu $t1, $t1, 1 -/* 03B6EC 7F006BBC 0009C100 */ sll $t8, $t1, 4 -/* 03B6F0 7F006BC0 05C10002 */ bgez $t6, .L7F006BCC -/* 03B6F4 7F006BC4 03103021 */ addu $a2, $t8, $s0 -/* 03B6F8 7F006BC8 24160001 */ li $s6, 1 -.L7F006BCC: -/* 03B6FC 7F006BCC 8CD90000 */ lw $t9, ($a2) -/* 03B700 7F006BD0 0723FFF9 */ bgezl $t9, .L7F006BB8 -/* 03B704 7F006BD4 8CCE0008 */ lw $t6, 8($a2) -.L7F006BD8: -/* 03B708 7F006BD8 1060005C */ beqz $v1, .L7F006D4C -/* 03B70C 7F006BDC 00000000 */ nop -/* 03B710 7F006BE0 8D640004 */ lw $a0, 4($t3) -.L7F006BE4: -/* 03B714 7F006BE4 00001825 */ move $v1, $zero -/* 03B718 7F006BE8 00004025 */ move $t0, $zero -/* 03B71C 7F006BEC 8C850000 */ lw $a1, ($a0) -/* 03B720 7F006BF0 00006025 */ move $t4, $zero -/* 03B724 7F006BF4 00004825 */ move $t1, $zero -/* 03B728 7F006BF8 04A00012 */ bltz $a1, .L7F006C44 -/* 03B72C 7F006BFC 00A01025 */ move $v0, $a1 -.L7F006C00: -/* 03B730 7F006C00 15200005 */ bnez $t1, .L7F006C18 -/* 03B734 7F006C04 0002C100 */ sll $t8, $v0, 4 -/* 03B738 7F006C08 00027900 */ sll $t7, $v0, 4 -/* 03B73C 7F006C0C 01F07021 */ addu $t6, $t7, $s0 -/* 03B740 7F006C10 10000003 */ b .L7F006C20 -/* 03B744 7F006C14 ADC7000C */ sw $a3, 0xc($t6) -.L7F006C18: -/* 03B748 7F006C18 0310C821 */ addu $t9, $t8, $s0 -/* 03B74C 7F006C1C AF20000C */ sw $zero, 0xc($t9) -.L7F006C20: -/* 03B750 7F006C20 8D640004 */ lw $a0, 4($t3) -/* 03B754 7F006C24 25290004 */ addiu $t1, $t1, 4 -/* 03B758 7F006C28 00897821 */ addu $t7, $a0, $t1 -/* 03B75C 7F006C2C 8DE20000 */ lw $v0, ($t7) -/* 03B760 7F006C30 0441FFF3 */ bgez $v0, .L7F006C00 -/* 03B764 7F006C34 00000000 */ nop -/* 03B768 7F006C38 8C850000 */ lw $a1, ($a0) -/* 03B76C 7F006C3C 00001825 */ move $v1, $zero -/* 03B770 7F006C40 00A01025 */ move $v0, $a1 -.L7F006C44: -/* 03B774 7F006C44 04400020 */ bltz $v0, .L7F006CC8 -/* 03B778 7F006C48 00004825 */ move $t1, $zero -/* 03B77C 7F006C4C 00027100 */ sll $t6, $v0, 4 -.L7F006C50: -/* 03B780 7F006C50 01D03021 */ addu $a2, $t6, $s0 -/* 03B784 7F006C54 8CD8000C */ lw $t8, 0xc($a2) -/* 03B788 7F006C58 25290004 */ addiu $t1, $t1, 4 -/* 03B78C 7F006C5C 54F80014 */ bnel $a3, $t8, .L7F006CB0 -/* 03B790 7F006C60 0089C021 */ addu $t8, $a0, $t1 -/* 03B794 7F006C64 8CC50004 */ lw $a1, 4($a2) -/* 03B798 7F006C68 00001825 */ move $v1, $zero -/* 03B79C 7F006C6C 8CA20000 */ lw $v0, ($a1) -/* 03B7A0 7F006C70 0440000E */ bltz $v0, .L7F006CAC -/* 03B7A4 7F006C74 0002C900 */ sll $t9, $v0, 4 -.L7F006C78: -/* 03B7A8 7F006C78 03302021 */ addu $a0, $t9, $s0 -/* 03B7AC 7F006C7C 8C8F000C */ lw $t7, 0xc($a0) -/* 03B7B0 7F006C80 24630004 */ addiu $v1, $v1, 4 -/* 03B7B4 7F006C84 50EF0005 */ beql $a3, $t7, .L7F006C9C -/* 03B7B8 7F006C88 00A37021 */ addu $t6, $a1, $v1 -/* 03B7BC 7F006C8C AC87000C */ sw $a3, 0xc($a0) -/* 03B7C0 7F006C90 8CC50004 */ lw $a1, 4($a2) -/* 03B7C4 7F006C94 00E04025 */ move $t0, $a3 -/* 03B7C8 7F006C98 00A37021 */ addu $t6, $a1, $v1 -.L7F006C9C: -/* 03B7CC 7F006C9C 8DC20000 */ lw $v0, ($t6) -/* 03B7D0 7F006CA0 0443FFF5 */ bgezl $v0, .L7F006C78 -/* 03B7D4 7F006CA4 0002C900 */ sll $t9, $v0, 4 -/* 03B7D8 7F006CA8 8D640004 */ lw $a0, 4($t3) -.L7F006CAC: -/* 03B7DC 7F006CAC 0089C021 */ addu $t8, $a0, $t1 -.L7F006CB0: -/* 03B7E0 7F006CB0 8F020000 */ lw $v0, ($t8) -/* 03B7E4 7F006CB4 0443FFE6 */ bgezl $v0, .L7F006C50 -/* 03B7E8 7F006CB8 00027100 */ sll $t6, $v0, 4 -/* 03B7EC 7F006CBC 8C850000 */ lw $a1, ($a0) -/* 03B7F0 7F006CC0 00001825 */ move $v1, $zero -/* 03B7F4 7F006CC4 00A01025 */ move $v0, $a1 -.L7F006CC8: -/* 03B7F8 7F006CC8 0440000C */ bltz $v0, .L7F006CFC -/* 03B7FC 7F006CCC 0002C900 */ sll $t9, $v0, 4 -.L7F006CD0: -/* 03B800 7F006CD0 03307821 */ addu $t7, $t9, $s0 -/* 03B804 7F006CD4 8DEE000C */ lw $t6, 0xc($t7) -/* 03B808 7F006CD8 24630001 */ addiu $v1, $v1, 1 -/* 03B80C 7F006CDC 0003C080 */ sll $t8, $v1, 2 -/* 03B810 7F006CE0 10EE0003 */ beq $a3, $t6, .L7F006CF0 -/* 03B814 7F006CE4 0098C821 */ addu $t9, $a0, $t8 -/* 03B818 7F006CE8 10000004 */ b .L7F006CFC -/* 03B81C 7F006CEC 00E06025 */ move $t4, $a3 -.L7F006CF0: -/* 03B820 7F006CF0 8F220000 */ lw $v0, ($t9) -/* 03B824 7F006CF4 0443FFF6 */ bgezl $v0, .L7F006CD0 -/* 03B828 7F006CF8 0002C900 */ sll $t9, $v0, 4 -.L7F006CFC: -/* 03B82C 7F006CFC 11000003 */ beqz $t0, .L7F006D0C -/* 03B830 7F006D00 00001825 */ move $v1, $zero -/* 03B834 7F006D04 15800009 */ bnez $t4, .L7F006D2C -/* 03B838 7F006D08 00A01025 */ move $v0, $a1 -.L7F006D0C: -/* 03B83C 7F006D0C 5180000B */ beql $t4, $zero, .L7F006D3C -/* 03B840 7F006D10 8DAE000C */ lw $t6, 0xc($t5) -/* 03B844 7F006D14 8E8F0024 */ lw $t7, 0x24($s4) -/* 03B848 7F006D18 24160001 */ li $s6, 1 -/* 03B84C 7F006D1C 51E00007 */ beql $t7, $zero, .L7F006D3C -/* 03B850 7F006D20 8DAE000C */ lw $t6, 0xc($t5) -/* 03B854 7F006D24 10000005 */ b .L7F006D3C -/* 03B858 7F006D28 8DAE000C */ lw $t6, 0xc($t5) -.L7F006D2C: -/* 03B85C 7F006D2C 00004025 */ move $t0, $zero -/* 03B860 7F006D30 1000FFC4 */ b .L7F006C44 -/* 03B864 7F006D34 00006025 */ move $t4, $zero -/* 03B868 7F006D38 8DAE000C */ lw $t6, 0xc($t5) -.L7F006D3C: -/* 03B86C 7F006D3C 25AD000C */ addiu $t5, $t5, 0xc -/* 03B870 7F006D40 01A05825 */ move $t3, $t5 -/* 03B874 7F006D44 55C0FFA7 */ bnezl $t6, .L7F006BE4 -/* 03B878 7F006D48 8D640004 */ lw $a0, 4($t3) -.L7F006D4C: -/* 03B87C 7F006D4C 12C00003 */ beqz $s6, .L7F006D5C -/* 03B880 7F006D50 8FB00018 */ lw $s0, 0x18($sp) -.L7F006D54: -/* 03B884 7F006D54 1000FFFF */ b .L7F006D54 -/* 03B888 7F006D58 00000000 */ nop -.L7F006D5C: -/* 03B88C 7F006D5C 8FBF003C */ lw $ra, 0x3c($sp) -/* 03B890 7F006D60 8FB1001C */ lw $s1, 0x1c($sp) -/* 03B894 7F006D64 8FB20020 */ lw $s2, 0x20($sp) -/* 03B898 7F006D68 8FB30024 */ lw $s3, 0x24($sp) -/* 03B89C 7F006D6C 8FB40028 */ lw $s4, 0x28($sp) -/* 03B8A0 7F006D70 8FB5002C */ lw $s5, 0x2c($sp) -/* 03B8A4 7F006D74 8FB60030 */ lw $s6, 0x30($sp) -/* 03B8A8 7F006D78 8FB70034 */ lw $s7, 0x34($sp) -/* 03B8AC 7F006D7C 8FBE0038 */ lw $fp, 0x38($sp) -/* 03B8B0 7F006D80 03E00008 */ jr $ra -/* 03B8B4 7F006D84 27BD00E0 */ addiu $sp, $sp, 0xe0 -) -#endif - - diff --git a/src/game/initpathtablesomething.c b/src/game/initpathtablesomething.c deleted file mode 100644 index 9933b41..0000000 --- a/src/game/initpathtablesomething.c +++ /dev/null @@ -1,71 +0,0 @@ -#include "ultra64.h" - - - - - -#ifdef NONMATCHING -void init_pathtable_something(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_pathtable_something -/* 03B2F0 7F0067C0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 03B2F4 7F0067C4 AFB0001C */ sw $s0, 0x1c($sp) -/* 03B2F8 7F0067C8 00808025 */ move $s0, $a0 -/* 03B2FC 7F0067CC AFBF0024 */ sw $ra, 0x24($sp) -/* 03B300 7F0067D0 AFB10020 */ sw $s1, 0x20($sp) -/* 03B304 7F0067D4 00C08825 */ move $s1, $a2 -/* 03B308 7F0067D8 0FC2CB96 */ jal stanMatchTileName -/* 03B30C 7F0067DC 00A02025 */ move $a0, $a1 -/* 03B310 7F0067E0 10400007 */ beqz $v0, .L7F006800 -/* 03B314 7F0067E4 AE220000 */ sw $v0, ($s1) -/* 03B318 7F0067E8 00402025 */ move $a0, $v0 -/* 03B31C 7F0067EC 8E050000 */ lw $a1, ($s0) -/* 03B320 7F0067F0 0FC2C0DB */ jal sub_GAME_7F0B036C -/* 03B324 7F0067F4 8E060008 */ lw $a2, 8($s0) -/* 03B328 7F0067F8 5440001D */ bnezl $v0, .L7F006870 -/* 03B32C 7F0067FC 24020001 */ li $v0, 1 -.L7F006800: -/* 03B330 7F006800 C6040000 */ lwc1 $f4, ($s0) -/* 03B334 7F006804 27A4002C */ addiu $a0, $sp, 0x2c -/* 03B338 7F006808 27A50030 */ addiu $a1, $sp, 0x30 -/* 03B33C 7F00680C E7A4002C */ swc1 $f4, 0x2c($sp) -/* 03B340 7F006810 C6060004 */ lwc1 $f6, 4($s0) -/* 03B344 7F006814 27A60034 */ addiu $a2, $sp, 0x34 -/* 03B348 7F006818 24070000 */ li $a3, 0 -/* 03B34C 7F00681C E7A60030 */ swc1 $f6, 0x30($sp) -/* 03B350 7F006820 C6080008 */ lwc1 $f8, 8($s0) -/* 03B354 7F006824 0FC2BEDE */ jal sub_GAME_7F0AFB78 -/* 03B358 7F006828 E7A80034 */ swc1 $f8, 0x34($sp) -/* 03B35C 7F00682C 1040000C */ beqz $v0, .L7F006860 -/* 03B360 7F006830 AE220000 */ sw $v0, ($s1) -/* 03B364 7F006834 C60A0008 */ lwc1 $f10, 8($s0) -/* 03B368 7F006838 8E070000 */ lw $a3, ($s0) -/* 03B36C 7F00683C 02202025 */ move $a0, $s1 -/* 03B370 7F006840 8FA5002C */ lw $a1, 0x2c($sp) -/* 03B374 7F006844 8FA60034 */ lw $a2, 0x34($sp) -/* 03B378 7F006848 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 03B37C 7F00684C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 03B380 7F006850 50400004 */ beql $v0, $zero, .L7F006864 -/* 03B384 7F006854 AE200000 */ sw $zero, ($s1) -/* 03B388 7F006858 10000005 */ b .L7F006870 -/* 03B38C 7F00685C 24020002 */ li $v0, 2 -.L7F006860: -/* 03B390 7F006860 AE200000 */ sw $zero, ($s1) -.L7F006864: -/* 03B394 7F006864 10000002 */ b .L7F006870 -/* 03B398 7F006868 00001025 */ move $v0, $zero -/* 03B39C 7F00686C 24020001 */ li $v0, 1 -.L7F006870: -/* 03B3A0 7F006870 8FBF0024 */ lw $ra, 0x24($sp) -/* 03B3A4 7F006874 8FB0001C */ lw $s0, 0x1c($sp) -/* 03B3A8 7F006878 8FB10020 */ lw $s1, 0x20($sp) -/* 03B3AC 7F00687C 03E00008 */ jr $ra -/* 03B3B0 7F006880 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - diff --git a/src/game/initpathtablesomething.h b/src/game/initpathtablesomething.h deleted file mode 100644 index de60833..0000000 --- a/src/game/initpathtablesomething.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _INITPATHTABLESOMETHING_H_ -#define _INITPATHTABLESOMETHING_H_ -#include "ultra64.h" - -void init_pathtable_something(void); - -#endif diff --git a/src/game/initunk_0009E0.c b/src/game/initunk_0009E0.c deleted file mode 100644 index d41c692..0000000 --- a/src/game/initunk_0009E0.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "ultra64.h" -#include "game/objecthandler.h" - - -void sub_GAME_7F0009E0(s32 arg0, s32 arg1, s32 arg2) { - D_80036414 = arg0; - D_80036418 = arg1; - D_8003641C = arg2; -} - diff --git a/src/game/initunk_000B60.c b/src/game/initunk_000B60.c deleted file mode 100644 index e29b754..0000000 --- a/src/game/initunk_000B60.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "ultra64.h" -#include "game/chrobjdata.h" - -void sub_GAME_7F000B60(void) { - player_gait_object.offset_obj_table = (int)&player_gait_hdr; - return; -} - diff --git a/src/game/initunk_005450.c b/src/game/initunk_005450.c deleted file mode 100644 index 217f4d6..0000000 --- a/src/game/initunk_005450.c +++ /dev/null @@ -1,68 +0,0 @@ -#include "ultra64.h" - -//called by stage load - - -#ifdef NONMATCHING -void sub_GAME_7F005450(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F005450 -/* 039F80 7F005450 3C0A8007 */ lui $t2, %hi(dword_CODE_bss_80076A50) -/* 039F84 7F005454 254A6A50 */ addiu $t2, %lo(dword_CODE_bss_80076A50) # addiu $t2, $t2, 0x6a50 -/* 039F88 7F005458 3C018003 */ lui $at, %hi(D_80036060) -/* 039F8C 7F00545C 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80076A64) -/* 039F90 7F005460 AC2A6060 */ sw $t2, %lo(D_80036060)($at) -/* 039F94 7F005464 256B6A64 */ addiu $t3, %lo(dword_CODE_bss_80076A64) # addiu $t3, $t3, 0x6a64 -/* 039F98 7F005468 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80076A78) -/* 039F9C 7F00546C AD4B000C */ sw $t3, 0xc($t2) -/* 039FA0 7F005470 25C66A78 */ addiu $a2, $t6, %lo(dword_CODE_bss_80076A78) -/* 039FA4 7F005474 3C018007 */ lui $at, %hi(dword_CODE_bss_80076A70) -/* 039FA8 7F005478 AC266A70 */ sw $a2, %lo(dword_CODE_bss_80076A70)($at) -/* 039FAC 7F00547C 3C018007 */ lui $at, %hi(dword_CODE_bss_80076A74) -/* 039FB0 7F005480 AC2A6A74 */ sw $t2, %lo(dword_CODE_bss_80076A74)($at) -/* 039FB4 7F005484 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80076A8C) -/* 039FB8 7F005488 25E46A8C */ addiu $a0, $t7, %lo(dword_CODE_bss_80076A8C) -/* 039FBC 7F00548C 3C018007 */ lui $at, %hi(dword_CODE_bss_80076A84) -/* 039FC0 7F005490 AC246A84 */ sw $a0, %lo(dword_CODE_bss_80076A84)($at) -/* 039FC4 7F005494 3C018007 */ lui $at, %hi(dword_CODE_bss_80076A88) -/* 039FC8 7F005498 3C058007 */ lui $a1, %hi(dword_CODE_bss_80076AA0) -/* 039FCC 7F00549C 3C078007 */ lui $a3, %hi(dword_CODE_bss_80076AB4) -/* 039FD0 7F0054A0 3C088007 */ lui $t0, %hi(dword_CODE_bss_80076AC8) -/* 039FD4 7F0054A4 3C098007 */ lui $t1, %hi(dword_CODE_bss_80076ADC) -/* 039FD8 7F0054A8 3C028008 */ lui $v0, %hi(flt_CODE_bss_8007996C) -/* 039FDC 7F0054AC 2442996C */ addiu $v0, %lo(flt_CODE_bss_8007996C) # addiu $v0, $v0, -0x6694 -/* 039FE0 7F0054B0 25296ADC */ addiu $t1, %lo(dword_CODE_bss_80076ADC) # addiu $t1, $t1, 0x6adc -/* 039FE4 7F0054B4 25086AC8 */ addiu $t0, %lo(dword_CODE_bss_80076AC8) # addiu $t0, $t0, 0x6ac8 -/* 039FE8 7F0054B8 24E76AB4 */ addiu $a3, %lo(dword_CODE_bss_80076AB4) # addiu $a3, $a3, 0x6ab4 -/* 039FEC 7F0054BC 24A56AA0 */ addiu $a1, %lo(dword_CODE_bss_80076AA0) # addiu $a1, $a1, 0x6aa0 -/* 039FF0 7F0054C0 AC2B6A88 */ sw $t3, %lo(dword_CODE_bss_80076A88)($at) -/* 039FF4 7F0054C4 00801825 */ move $v1, $a0 -.L7F0054C8: -/* 039FF8 7F0054C8 AC690048 */ sw $t1, 0x48($v1) -/* 039FFC 7F0054CC 25290050 */ addiu $t1, $t1, 0x50 -/* 03A000 7F0054D0 AC670020 */ sw $a3, 0x20($v1) -/* 03A004 7F0054D4 AC640024 */ sw $a0, 0x24($v1) -/* 03A008 7F0054D8 AC680034 */ sw $t0, 0x34($v1) -/* 03A00C 7F0054DC AC650038 */ sw $a1, 0x38($v1) -/* 03A010 7F0054E0 AC67004C */ sw $a3, 0x4c($v1) -/* 03A014 7F0054E4 AC65000C */ sw $a1, 0xc($v1) -/* 03A018 7F0054E8 AC660010 */ sw $a2, 0x10($v1) -/* 03A01C 7F0054EC 24C60050 */ addiu $a2, $a2, 0x50 -/* 03A020 7F0054F0 24A50050 */ addiu $a1, $a1, 0x50 -/* 03A024 7F0054F4 24E70050 */ addiu $a3, $a3, 0x50 -/* 03A028 7F0054F8 25080050 */ addiu $t0, $t0, 0x50 -/* 03A02C 7F0054FC 24840050 */ addiu $a0, $a0, 0x50 -/* 03A030 7F005500 1522FFF1 */ bne $t1, $v0, .L7F0054C8 -/* 03A034 7F005504 24630050 */ addiu $v1, $v1, 0x50 -/* 03A038 7F005508 3C188008 */ lui $t8, %hi(dword_CODE_bss_80079908) -/* 03A03C 7F00550C 27189908 */ addiu $t8, %lo(dword_CODE_bss_80079908) # addiu $t8, $t8, -0x66f8 -/* 03A040 7F005510 03E00008 */ jr $ra -/* 03A044 7F005514 AD582EDC */ sw $t8, 0x2edc($t2) -) -#endif - - diff --git a/src/game/initunk_005520.c b/src/game/initunk_005520.c deleted file mode 100644 index 6cbc8e6..0000000 --- a/src/game/initunk_005520.c +++ /dev/null @@ -1,168 +0,0 @@ -#include "ultra64.h" - - -extern s32 D_80036070; -extern s32 D_80036074; -extern s32 D_80036078; - - - -void zero_contents_of_80036070_74(void) { - D_80036070 = 0; - D_80036074 = 0; -} - -void set_contents_of_80036078(s32 arg0) { - D_80036078 = arg0; -} - -//this may be a file split - -#ifdef NONMATCHING -void sub_GAME_7F005540(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F005540 -/* 03A070 7F005540 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03A074 7F005544 AFB40024 */ sw $s4, 0x24($sp) -/* 03A078 7F005548 3C148003 */ lui $s4, %hi(D_80036074) -/* 03A07C 7F00554C AFB50028 */ sw $s5, 0x28($sp) -/* 03A080 7F005550 0080A825 */ move $s5, $a0 -/* 03A084 7F005554 26946074 */ addiu $s4, %lo(D_80036074) # addiu $s4, $s4, 0x6074 -/* 03A088 7F005558 AFBF002C */ sw $ra, 0x2c($sp) -/* 03A08C 7F00555C 248E001E */ addiu $t6, $a0, 0x1e -/* 03A090 7F005560 AFB30020 */ sw $s3, 0x20($sp) -/* 03A094 7F005564 AFB2001C */ sw $s2, 0x1c($sp) -/* 03A098 7F005568 AFB10018 */ sw $s1, 0x18($sp) -/* 03A09C 7F00556C AFB00014 */ sw $s0, 0x14($sp) -/* 03A0A0 7F005570 AE8E0000 */ sw $t6, ($s4) -/* 03A0A4 7F005574 000E2140 */ sll $a0, $t6, 5 -/* 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) -/* 03A0B8 7F005588 26529934 */ addiu $s2, %lo(ptr_allocation_1) # addiu $s2, $s2, -0x66cc -/* 03A0BC 7F00558C AE420000 */ sw $v0, ($s2) -/* 03A0C0 7F005590 1B00001B */ blez $t8, .L7F005600 -/* 03A0C4 7F005594 00008825 */ move $s1, $zero -/* 03A0C8 7F005598 00008025 */ move $s0, $zero -/* 03A0CC 7F00559C 24130014 */ li $s3, 20 -/* 03A0D0 7F0055A0 8E590000 */ lw $t9, ($s2) -.L7F0055A4: -/* 03A0D4 7F0055A4 0235082A */ slt $at, $s1, $s5 -/* 03A0D8 7F0055A8 24040050 */ li $a0, 80 -/* 03A0DC 7F0055AC 03304021 */ addu $t0, $t9, $s0 -/* 03A0E0 7F0055B0 10200005 */ beqz $at, .L7F0055C8 -/* 03A0E4 7F0055B4 AD000008 */ sw $zero, 8($t0) -/* 03A0E8 7F0055B8 8E490000 */ lw $t1, ($s2) -/* 03A0EC 7F0055BC 01305021 */ addu $t2, $t1, $s0 -/* 03A0F0 7F0055C0 10000009 */ b .L7F0055E8 -/* 03A0F4 7F0055C4 AD400010 */ sw $zero, 0x10($t2) -.L7F0055C8: -/* 03A0F8 7F0055C8 0C0025C8 */ jal mempAllocBytesInBank -/* 03A0FC 7F0055CC 24050004 */ li $a1, 4 -/* 03A100 7F0055D0 8E4B0000 */ lw $t3, ($s2) -/* 03A104 7F0055D4 01706021 */ addu $t4, $t3, $s0 -/* 03A108 7F0055D8 AD820010 */ sw $v0, 0x10($t4) -/* 03A10C 7F0055DC 8E4D0000 */ lw $t5, ($s2) -/* 03A110 7F0055E0 01B07021 */ addu $t6, $t5, $s0 -/* 03A114 7F0055E4 A5D30002 */ sh $s3, 2($t6) -.L7F0055E8: -/* 03A118 7F0055E8 8E8F0000 */ lw $t7, ($s4) -/* 03A11C 7F0055EC 26310001 */ addiu $s1, $s1, 1 -/* 03A120 7F0055F0 26100020 */ addiu $s0, $s0, 0x20 -/* 03A124 7F0055F4 022F082A */ slt $at, $s1, $t7 -/* 03A128 7F0055F8 5420FFEA */ bnezl $at, .L7F0055A4 -/* 03A12C 7F0055FC 8E590000 */ lw $t9, ($s2) -.L7F005600: -/* 03A130 7F005600 8FBF002C */ lw $ra, 0x2c($sp) -/* 03A134 7F005604 8FB00014 */ lw $s0, 0x14($sp) -/* 03A138 7F005608 8FB10018 */ lw $s1, 0x18($sp) -/* 03A13C 7F00560C 8FB2001C */ lw $s2, 0x1c($sp) -/* 03A140 7F005610 8FB30020 */ lw $s3, 0x20($sp) -/* 03A144 7F005614 8FB40024 */ lw $s4, 0x24($sp) -/* 03A148 7F005618 8FB50028 */ lw $s5, 0x28($sp) -/* 03A14C 7F00561C 03E00008 */ jr $ra -/* 03A150 7F005620 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F005624(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F005624 -/* 03A154 7F005624 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03A158 7F005628 AFB40024 */ sw $s4, 0x24($sp) -/* 03A15C 7F00562C 248E000A */ addiu $t6, $a0, 0xa -/* 03A160 7F005630 3C148003 */ lui $s4, %hi(D_80036070) -/* 03A164 7F005634 AFB50028 */ sw $s5, 0x28($sp) -/* 03A168 7F005638 000E7880 */ sll $t7, $t6, 2 -/* 03A16C 7F00563C 0080A825 */ move $s5, $a0 -/* 03A170 7F005640 26946070 */ addiu $s4, %lo(D_80036070) # addiu $s4, $s4, 0x6070 -/* 03A174 7F005644 AFBF002C */ sw $ra, 0x2c($sp) -/* 03A178 7F005648 01EE7823 */ subu $t7, $t7, $t6 -/* 03A17C 7F00564C AFB30020 */ sw $s3, 0x20($sp) -/* 03A180 7F005650 AFB2001C */ sw $s2, 0x1c($sp) -/* 03A184 7F005654 AFB10018 */ sw $s1, 0x18($sp) -/* 03A188 7F005658 AFB00014 */ sw $s0, 0x14($sp) -/* 03A18C 7F00565C AE8E0000 */ sw $t6, ($s4) -/* 03A190 7F005660 000F2180 */ sll $a0, $t7, 6 -/* 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) -/* 03A1A4 7F005674 26529930 */ addiu $s2, %lo(ptr_allocation_0) # addiu $s2, $s2, -0x66d0 -/* 03A1A8 7F005678 AE420000 */ sw $v0, ($s2) -/* 03A1AC 7F00567C 1B00001B */ blez $t8, .L7F0056EC -/* 03A1B0 7F005680 00008825 */ move $s1, $zero -/* 03A1B4 7F005684 00008025 */ move $s0, $zero -/* 03A1B8 7F005688 2413008C */ li $s3, 140 -/* 03A1BC 7F00568C 8E590000 */ lw $t9, ($s2) -.L7F005690: -/* 03A1C0 7F005690 0235082A */ slt $at, $s1, $s5 -/* 03A1C4 7F005694 24040230 */ li $a0, 560 -/* 03A1C8 7F005698 03304021 */ addu $t0, $t9, $s0 -/* 03A1CC 7F00569C 10200005 */ beqz $at, .L7F0056B4 -/* 03A1D0 7F0056A0 AD000008 */ sw $zero, 8($t0) -/* 03A1D4 7F0056A4 8E490000 */ lw $t1, ($s2) -/* 03A1D8 7F0056A8 01305021 */ addu $t2, $t1, $s0 -/* 03A1DC 7F0056AC 10000009 */ b .L7F0056D4 -/* 03A1E0 7F0056B0 AD400010 */ sw $zero, 0x10($t2) -.L7F0056B4: -/* 03A1E4 7F0056B4 0C0025C8 */ jal mempAllocBytesInBank -/* 03A1E8 7F0056B8 24050004 */ li $a1, 4 -/* 03A1EC 7F0056BC 8E4B0000 */ lw $t3, ($s2) -/* 03A1F0 7F0056C0 01706021 */ addu $t4, $t3, $s0 -/* 03A1F4 7F0056C4 AD820010 */ sw $v0, 0x10($t4) -/* 03A1F8 7F0056C8 8E4D0000 */ lw $t5, ($s2) -/* 03A1FC 7F0056CC 01B07021 */ addu $t6, $t5, $s0 -/* 03A200 7F0056D0 A5D30002 */ sh $s3, 2($t6) -.L7F0056D4: -/* 03A204 7F0056D4 8E8F0000 */ lw $t7, ($s4) -/* 03A208 7F0056D8 26310001 */ addiu $s1, $s1, 1 -/* 03A20C 7F0056DC 261000BC */ addiu $s0, $s0, 0xbc -/* 03A210 7F0056E0 022F082A */ slt $at, $s1, $t7 -/* 03A214 7F0056E4 5420FFEA */ bnezl $at, .L7F005690 -/* 03A218 7F0056E8 8E590000 */ lw $t9, ($s2) -.L7F0056EC: -/* 03A21C 7F0056EC 8FBF002C */ lw $ra, 0x2c($sp) -/* 03A220 7F0056F0 8FB00014 */ lw $s0, 0x14($sp) -/* 03A224 7F0056F4 8FB10018 */ lw $s1, 0x18($sp) -/* 03A228 7F0056F8 8FB2001C */ lw $s2, 0x1c($sp) -/* 03A22C 7F0056FC 8FB30020 */ lw $s3, 0x20($sp) -/* 03A230 7F005700 8FB40024 */ lw $s4, 0x24($sp) -/* 03A234 7F005704 8FB50028 */ lw $s5, 0x28($sp) -/* 03A238 7F005708 03E00008 */ jr $ra -/* 03A23C 7F00570C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - diff --git a/src/game/initunk_007180.c b/src/game/initunk_007180.c deleted file mode 100644 index a4a5992..0000000 --- a/src/game/initunk_007180.c +++ /dev/null @@ -1,86 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -void sub_GAME_7F007180(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F007180 -/* 03BCB0 7F007180 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 03BCB4 7F007184 AFBF0014 */ sw $ra, 0x14($sp) -/* 03BCB8 7F007188 0FC2F7C1 */ jal sub_GAME_7F0BDF04 -/* 03BCBC 7F00718C 00000000 */ nop -/* 03BCC0 7F007190 0FC26919 */ jal get_num_players -/* 03BCC4 7F007194 AFA20018 */ sw $v0, 0x18($sp) -/* 03BCC8 7F007198 240E00C8 */ li $t6, 200 -/* 03BCCC 7F00719C 01C2001A */ div $zero, $t6, $v0 -/* 03BCD0 7F0071A0 8FA30018 */ lw $v1, 0x18($sp) -/* 03BCD4 7F0071A4 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007A160) -/* 03BCD8 7F0071A8 24C6A160 */ addiu $a2, %lo(dword_CODE_bss_8007A160) # addiu $a2, $a2, -0x5ea0 -/* 03BCDC 7F0071AC 14400002 */ bnez $v0, .L7F0071B8 -/* 03BCE0 7F0071B0 00000000 */ nop -/* 03BCE4 7F0071B4 0007000D */ break 7 -.L7F0071B8: -/* 03BCE8 7F0071B8 2401FFFF */ li $at, -1 -/* 03BCEC 7F0071BC 14410004 */ bne $v0, $at, .L7F0071D0 -/* 03BCF0 7F0071C0 3C018000 */ lui $at, 0x8000 -/* 03BCF4 7F0071C4 15C10002 */ bne $t6, $at, .L7F0071D0 -/* 03BCF8 7F0071C8 00000000 */ nop -/* 03BCFC 7F0071CC 0006000D */ break 6 -.L7F0071D0: -/* 03BD00 7F0071D0 00007812 */ mflo $t7 -/* 03BD04 7F0071D4 2401001D */ li $at, 29 -/* 03BD08 7F0071D8 10610004 */ beq $v1, $at, .L7F0071EC -/* 03BD0C 7F0071DC ACCF0000 */ sw $t7, ($a2) -/* 03BD10 7F0071E0 2401001E */ li $at, 30 -/* 03BD14 7F0071E4 54610005 */ bnel $v1, $at, .L7F0071FC -/* 03BD18 7F0071E8 8CC40000 */ lw $a0, ($a2) -.L7F0071EC: -/* 03BD1C 7F0071EC 8CD80000 */ lw $t8, ($a2) -/* 03BD20 7F0071F0 0018C843 */ sra $t9, $t8, 1 -/* 03BD24 7F0071F4 ACD90000 */ sw $t9, ($a2) -/* 03BD28 7F0071F8 8CC40000 */ lw $a0, ($a2) -.L7F0071FC: -/* 03BD2C 7F0071FC 2401FFF0 */ li $at, -16 -/* 03BD30 7F007200 24050004 */ li $a1, 4 -/* 03BD34 7F007204 00044080 */ sll $t0, $a0, 2 -/* 03BD38 7F007208 01044023 */ subu $t0, $t0, $a0 -/* 03BD3C 7F00720C 00084080 */ sll $t0, $t0, 2 -/* 03BD40 7F007210 01044021 */ addu $t0, $t0, $a0 -/* 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 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 -/* 03BD60 7F007230 8CCA0000 */ lw $t2, ($a2) -/* 03BD64 7F007234 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A164) -/* 03BD68 7F007238 2484A164 */ addiu $a0, %lo(dword_CODE_bss_8007A164) # addiu $a0, $a0, -0x5e9c -/* 03BD6C 7F00723C AC820000 */ sw $v0, ($a0) -/* 03BD70 7F007240 1940000B */ blez $t2, .L7F007270 -/* 03BD74 7F007244 00001825 */ move $v1, $zero -/* 03BD78 7F007248 00001025 */ move $v0, $zero -/* 03BD7C 7F00724C 8C8B0000 */ lw $t3, ($a0) -.L7F007250: -/* 03BD80 7F007250 24630001 */ addiu $v1, $v1, 1 -/* 03BD84 7F007254 01626021 */ addu $t4, $t3, $v0 -/* 03BD88 7F007258 AD800000 */ sw $zero, ($t4) -/* 03BD8C 7F00725C 8CCD0000 */ lw $t5, ($a2) -/* 03BD90 7F007260 24420068 */ addiu $v0, $v0, 0x68 -/* 03BD94 7F007264 006D082A */ slt $at, $v1, $t5 -/* 03BD98 7F007268 5420FFF9 */ bnezl $at, .L7F007250 -/* 03BD9C 7F00726C 8C8B0000 */ lw $t3, ($a0) -.L7F007270: -/* 03BDA0 7F007270 8FBF0014 */ lw $ra, 0x14($sp) -/* 03BDA4 7F007274 3C018004 */ lui $at, %hi(D_80040940) -/* 03BDA8 7F007278 AC200940 */ sw $zero, %lo(D_80040940)($at) -/* 03BDAC 7F00727C 03E00008 */ jr $ra -/* 03BDB0 7F007280 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - diff --git a/src/game/initunk_007290.c b/src/game/initunk_007290.c deleted file mode 100644 index 66e6333..0000000 --- a/src/game/initunk_007290.c +++ /dev/null @@ -1,24 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -void sub_GAME_7F007290(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F007290 -/* 03BDC0 7F007290 44800000 */ mtc1 $zero, $f0 -/* 03BDC4 7F007294 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E80) -/* 03BDC8 7F007298 E4209E80 */ swc1 $f0, %lo(flt_CODE_bss_80079E80)($at) -/* 03BDCC 7F00729C 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E84) -/* 03BDD0 7F0072A0 E4209E84 */ swc1 $f0, %lo(flt_CODE_bss_80079E84)($at) -/* 03BDD4 7F0072A4 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E88) -/* 03BDD8 7F0072A8 03E00008 */ jr $ra -/* 03BDDC 7F0072AC E4209E88 */ swc1 $f0, %lo(flt_CODE_bss_80079E88)($at) -) -#endif - - diff --git a/src/game/initunk_0072B0.c b/src/game/initunk_0072B0.c deleted file mode 100644 index f6b0f7a..0000000 --- a/src/game/initunk_0072B0.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "ultra64.h" -#include "initunk_0072B0.h" -#include "game/unk_093880.h" - -#ifdef NONMATCHING -void sub_GAME_7F0072B0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0072B0 -/* 03BDE0 7F0072B0 3C018008 */ lui $at, %hi(off_CODE_bss_80079E30) -/* 03BDE4 7F0072B4 A0209E30 */ sb $zero, %lo(off_CODE_bss_80079E30)($at) -/* 03BDE8 7F0072B8 3C018008 */ lui $at, %hi(off_CODE_bss_80079E30+1) -/* 03BDEC 7F0072BC A0209E31 */ sb $zero, %lo(off_CODE_bss_80079E30+1)($at) -/* 03BDF0 7F0072C0 3C018008 */ lui $at, %hi(off_CODE_bss_80079E30+2) -/* 03BDF4 7F0072C4 3C038008 */ lui $v1, %hi(off_CODE_bss_80079E30+3) -/* 03BDF8 7F0072C8 3C028008 */ lui $v0, %hi(off_CODE_bss_80079E30+0x4b) -/* 03BDFC 7F0072CC 24429E7B */ addiu $v0, %lo(off_CODE_bss_80079E30+0x4b) # addiu $v0, $v0, -0x6185 -/* 03BE00 7F0072D0 24639E33 */ addiu $v1, %lo(off_CODE_bss_80079E30+3) # addiu $v1, $v1, -0x61cd -/* 03BE04 7F0072D4 A0209E32 */ sb $zero, %lo(off_CODE_bss_80079E30+2)($at) -.L7F0072D8: -/* 03BE08 7F0072D8 24630004 */ addiu $v1, $v1, 4 -/* 03BE0C 7F0072DC A060FFFD */ sb $zero, -3($v1) -/* 03BE10 7F0072E0 A060FFFE */ sb $zero, -2($v1) -/* 03BE14 7F0072E4 A060FFFF */ sb $zero, -1($v1) -/* 03BE18 7F0072E8 1462FFFB */ bne $v1, $v0, .L7F0072D8 -/* 03BE1C 7F0072EC A060FFFC */ sb $zero, -4($v1) -/* 03BE20 7F0072F0 03E00008 */ jr $ra -/* 03BE24 7F0072F4 00000000 */ nop -) -#endif - - -void disable_onscreen_cheat_text(void) -{ - pPlayer->something_with_cheat_text = 0; - pPlayer->can_display_cheat_text = 0; -} - diff --git a/src/game/initunk_0072B0.h b/src/game/initunk_0072B0.h deleted file mode 100644 index 129c984..0000000 --- a/src/game/initunk_0072B0.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _INITUNK_0072B0_ -#define _INITUNK_0072B0_ -#include "ultra64.h" - -void disable_onscreen_cheat_text(void); - -#endif diff --git a/src/game/initunk_0073B0.c b/src/game/initunk_0073B0.c deleted file mode 100644 index b160506..0000000 --- a/src/game/initunk_0073B0.c +++ /dev/null @@ -1,99 +0,0 @@ -#include "ultra64.h" - - - - -#ifdef NONMATCHING -void cleanupGuardData(void) { - void *temp_v0; - s32 temp_s2; - s32 phi_s0; - s32 phi_s2; - s32 phi_v1; - - // Node 0 - if (num_guards > 0) - { - // Node 1 - phi_s0 = 0; - phi_s2 = 0; - phi_v1 = num_guards; -loop_2: - // Node 2 - temp_v0 = (ptr_guard_data + phi_s0); - if (temp_v0->unk1C != 0) - { - // Node 3 - disable_sounds_attached_to_player_then_something(temp_v0->unk18); - sub_GAME_7F03A538((ptr_guard_data + phi_s0)->unk18); - unset_stateflag_0x04_for_posdata((ptr_guard_data + phi_s0)->unk18); - set_last_obj_pos_data((ptr_guard_data + phi_s0)->unk18); - phi_v1 = num_guards; - } - // Node 4 - temp_s2 = (phi_s2 + 1); - phi_s0 = (phi_s0 + 0x1dc); - phi_s2 = temp_s2; - phi_v1 = phi_v1; - if (temp_s2 < phi_v1) - { - goto loop_2; - } - } - // Node 5 - return; -} -#else -GLOBAL_ASM( -.text -glabel cleanupGuardData -/* 03BEE0 7F0073B0 3C038003 */ lui $v1, %hi(num_guards) -/* 03BEE4 7F0073B4 8C63CC68 */ lw $v1, %lo(num_guards)($v1) -/* 03BEE8 7F0073B8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 03BEEC 7F0073BC AFB20020 */ sw $s2, 0x20($sp) -/* 03BEF0 7F0073C0 AFBF0024 */ sw $ra, 0x24($sp) -/* 03BEF4 7F0073C4 AFB1001C */ sw $s1, 0x1c($sp) -/* 03BEF8 7F0073C8 AFB00018 */ sw $s0, 0x18($sp) -/* 03BEFC 7F0073CC 1860001D */ blez $v1, .L7F007444 -/* 03BF00 7F0073D0 00009025 */ move $s2, $zero -/* 03BF04 7F0073D4 3C118003 */ lui $s1, %hi(ptr_guard_data) -/* 03BF08 7F0073D8 2631CC64 */ addiu $s1, %lo(ptr_guard_data) # addiu $s1, $s1, -0x339c -/* 03BF0C 7F0073DC 00008025 */ move $s0, $zero -.L7F0073E0: -/* 03BF10 7F0073E0 8E2E0000 */ lw $t6, ($s1) -/* 03BF14 7F0073E4 01D01021 */ addu $v0, $t6, $s0 -/* 03BF18 7F0073E8 8C4F001C */ lw $t7, 0x1c($v0) -/* 03BF1C 7F0073EC 51E00012 */ beql $t7, $zero, .L7F007438 -/* 03BF20 7F0073F0 26520001 */ addiu $s2, $s2, 1 -/* 03BF24 7F0073F4 0FC08105 */ jal disable_sounds_attached_to_player_then_something -/* 03BF28 7F0073F8 8C440018 */ lw $a0, 0x18($v0) -/* 03BF2C 7F0073FC 8E380000 */ lw $t8, ($s1) -/* 03BF30 7F007400 0310C821 */ addu $t9, $t8, $s0 -/* 03BF34 7F007404 0FC0E94E */ jal sub_GAME_7F03A538 -/* 03BF38 7F007408 8F240018 */ lw $a0, 0x18($t9) -/* 03BF3C 7F00740C 8E280000 */ lw $t0, ($s1) -/* 03BF40 7F007410 01104821 */ addu $t1, $t0, $s0 -/* 03BF44 7F007414 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 03BF48 7F007418 8D240018 */ lw $a0, 0x18($t1) -/* 03BF4C 7F00741C 8E2A0000 */ lw $t2, ($s1) -/* 03BF50 7F007420 01505821 */ addu $t3, $t2, $s0 -/* 03BF54 7F007424 0FC0E921 */ jal set_last_obj_pos_data -/* 03BF58 7F007428 8D640018 */ lw $a0, 0x18($t3) -/* 03BF5C 7F00742C 3C038003 */ lui $v1, %hi(num_guards) -/* 03BF60 7F007430 8C63CC68 */ lw $v1, %lo(num_guards)($v1) -/* 03BF64 7F007434 26520001 */ addiu $s2, $s2, 1 -.L7F007438: -/* 03BF68 7F007438 0243082A */ slt $at, $s2, $v1 -/* 03BF6C 7F00743C 1420FFE8 */ bnez $at, .L7F0073E0 -/* 03BF70 7F007440 261001DC */ addiu $s0, $s0, 0x1dc -.L7F007444: -/* 03BF74 7F007444 8FBF0024 */ lw $ra, 0x24($sp) -/* 03BF78 7F007448 8FB00018 */ lw $s0, 0x18($sp) -/* 03BF7C 7F00744C 8FB1001C */ lw $s1, 0x1c($sp) -/* 03BF80 7F007450 8FB20020 */ lw $s2, 0x20($sp) -/* 03BF84 7F007454 03E00008 */ jr $ra -/* 03BF88 7F007458 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - diff --git a/src/game/initunk_007460.c b/src/game/initunk_007460.c deleted file mode 100644 index 5343d0b..0000000 --- a/src/game/initunk_007460.c +++ /dev/null @@ -1,70 +0,0 @@ -#include "ultra64.h" - - - - -#ifdef NONMATCHING -void cleanupObjectSounds(void) { - s32 temp_a0; - void *temp_s0; - void *phi_s0; - - // Node 0 - phi_s0 = &sfx_related; -loop_1: - // Node 1 - temp_a0 = *phi_s0; - if (temp_a0 != 0) - { - // Node 2 - if (sfxGetArg0Unk3F(temp_a0) != 0) - { - // Node 3 - sfxDeactivate(*phi_s0); - } - } - // Node 4 - temp_s0 = (phi_s0 + 0x18); - phi_s0 = temp_s0; - if (temp_s0 != &ptr_list_object_lookup_indices) - { - goto loop_1; - } - // Node 5 - return; -} -#else -GLOBAL_ASM( -.text -glabel cleanupObjectSounds -/* 03BF90 7F007460 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 03BF94 7F007464 AFB10018 */ sw $s1, 0x18($sp) -/* 03BF98 7F007468 AFB00014 */ sw $s0, 0x14($sp) -/* 03BF9C 7F00746C 3C108007 */ lui $s0, %hi(sfx_related) -/* 03BFA0 7F007470 3C118007 */ lui $s1, %hi(ptr_list_object_lookup_indices) -/* 03BFA4 7F007474 AFBF001C */ sw $ra, 0x1c($sp) -/* 03BFA8 7F007478 26319C30 */ addiu $s1, %lo(ptr_list_object_lookup_indices) # addiu $s1, $s1, -0x63d0 -/* 03BFAC 7F00747C 26109B70 */ addiu $s0, %lo(sfx_related) # addiu $s0, $s0, -0x6490 -/* 03BFB0 7F007480 8E040000 */ lw $a0, ($s0) -.L7F007484: -/* 03BFB4 7F007484 50800008 */ beql $a0, $zero, .L7F0074A8 -/* 03BFB8 7F007488 26100018 */ addiu $s0, $s0, 0x18 -/* 03BFBC 7F00748C 0C00237C */ jal sfxGetArg0Unk3F -/* 03BFC0 7F007490 00000000 */ nop -/* 03BFC4 7F007494 50400004 */ beql $v0, $zero, .L7F0074A8 -/* 03BFC8 7F007498 26100018 */ addiu $s0, $s0, 0x18 -/* 03BFCC 7F00749C 0C002408 */ jal sfxDeactivate -/* 03BFD0 7F0074A0 8E040000 */ lw $a0, ($s0) -/* 03BFD4 7F0074A4 26100018 */ addiu $s0, $s0, 0x18 -.L7F0074A8: -/* 03BFD8 7F0074A8 5611FFF6 */ bnel $s0, $s1, .L7F007484 -/* 03BFDC 7F0074AC 8E040000 */ lw $a0, ($s0) -/* 03BFE0 7F0074B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 03BFE4 7F0074B4 8FB00014 */ lw $s0, 0x14($sp) -/* 03BFE8 7F0074B8 8FB10018 */ lw $s1, 0x18($sp) -/* 03BFEC 7F0074BC 03E00008 */ jr $ra -/* 03BFF0 7F0074C0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - diff --git a/src/game/initweaponanigroups.c b/src/game/initweaponanigroups.c deleted file mode 100644 index 868cbd0..0000000 --- a/src/game/initweaponanigroups.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "ultra64.h" - -//uncomment when actor is worked on -//#include "chr.h" -extern s32 get_ptr_allocated_block_for_vertices; - -void init_weapon_animation_groups_maybe(void) { - set_8003608C(&get_ptr_allocated_block_for_vertices); - somethingwith_weapon_animation_groups(); -} diff --git a/src/game/intro_logos.c b/src/game/intro_logos.c deleted file mode 100644 index 0421042..0000000 --- a/src/game/intro_logos.c +++ /dev/null @@ -1,2254 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" -#include "game/intro_logos.h" - -// bss -//CODE.bss:80069550 -s32 dword_CODE_bss_80069550; -//CODE.bss:80069554 -s32 dword_CODE_bss_80069554; -//CODE.bss:80069558 -s32 matrix_buffer_rarelogo_0; -//CODE.bss:8006955C -s32 matrix_buffer_gunbarrel_0; -//CODE.bss:80069560 -s32 matrix_buffer_rarelogo_1; -//CODE.bss:80069564 -s32 matrix_buffer_rarelogo_2; -//CODE.bss:80069568 -s32 matrix_buffer_gunbarrel_1; -//CODE.bss:8006956C -s32 matrix_buffer_intro_backdrop; -//CODE.bss:80069570 -s32 matrix_buffer_intro_bond; -//CODE.bss:80069574 -s32 x; -//CODE.bss:80069578 -s32 y; -//CODE.bss:8006957C -s32 dword_CODE_bss_8006957C; -//CODE.bss:80069580 -s32 dword_CODE_bss_80069580; -//CODE.bss:80069584 -s32 word_CODE_bss_80069584; -//CODE.bss:80069588 -s32 dword_CODE_bss_80069588; -//CODE.bss:8006958C -s32 dword_CODE_bss_8006958C; -//CODE.bss:80069590 -s32 virtualaddress; -//CODE.bss:80069594 -s32 dword_CODE_bss_80069594; - - -// data -u32 D_8002A7D0 = 0; -u32 D_8002A7D4 = 0x3000000; -u32 D_8002A7D8 = 0; -u32 D_8002A7DC = 0; -u32 D_8002A7E0 = 0; -u32 D_8002A7E4 = 0; - -u32 D_8002A7E8 = 0xFF; -u32 D_8002A7EC = 0xFF; -u32 D_8002A7F0 = 0xFF; -u32 D_8002A7F4 = 0; -u32 D_8002A7F8 = 0; -u32 D_8002A7FC = 0; - -u32 D_8002A800 = 1; -u32 D_8002A804 = 3; -u32 D_8002A808 = 0; -u32 D_8002A80C = 0; -u32 D_8002A810 = 0; -u32 D_8002A814 = 0; -u32 D_8002A818 = 0; -u32 D_8002A81C = 0; -u32 D_8002A820 = 0; -u32 D_8002A824 = 0; -u32 D_8002A828 = 0; -u32 D_8002A82C = 0; -u32 D_8002A830 = 0; -u32 D_8002A834 = 0; -u32 D_8002A838 = 0; -f32 D_8002A83C = 1758.2957f; -f32 D_8002A840 = 220.0f; -f32 D_8002A844 = 684.28143f; -f32 D_8002A848 = -0.97f; -u32 D_8002A84C = 0; -f32 D_8002A850 = 0.24f; -u32 D_8002A854 = 0; -f32 D_8002A858 = 1.0f; -u32 D_8002A85C = 0x80000000; -struct rgba_val D_8002A860 = {0xDC, 0xDC, 0xDC, 0}; -struct rgba_val D_8002A864 = {0xDC, 0xDC, 0xDC, 0}; -struct rgba_val D_8002A868 = {0xFF, 0xFF, 0xFF, 0}; -struct rgba_val D_8002A86C = {0xFF, 0xFF, 0xFF, 0}; -struct rgba_val D_8002A870 = {0x00, 0x7F, 0x00, 0}; -u32 D_8002A874 = 0; - -u32 D_8002A878 = 0; -u32 D_8002A87C = 0; -f32 D_8002A880 = 4883.0f; -u32 D_8002A884 = 0; -u32 D_8002A888 = 0; -f32 D_8002A88C = -1.0f; -u32 D_8002A890 = 0; -f32 D_8002A894 = 1.0f; -u32 D_8002A898 = 0; - - -f32 D_8002A89C = 0.0f; -u32 intro_eye_counter = 0; -u32 intro_state_blood_animation = 0; -u32 D_8002A8A8 = 0; -u32 D_8002A8AC = 0; -u32 D_8002A8B0 = 0; -/* - .word 0 - .word 0 - .word 0 -*/ - - - -#ifdef NONMATCHING -void something_with_gunbarrel_and_rareware_logo_matrix_manip(void) { - -} -#else -GLOBAL_ASM( -.text -glabel something_with_gunbarrel_and_rareware_logo_matrix_manip -/* 03C570 7F007A40 3C0E8003 */ lui $t6, %hi(D_8002A7D0) -/* 03C574 7F007A44 8DCEA7D0 */ lw $t6, %lo(D_8002A7D0)($t6) -/* 03C578 7F007A48 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 03C57C 7F007A4C 3C188007 */ lui $t8, %hi(matrix_buffer_rarelogo_2) -/* 03C580 7F007A50 8F189564 */ lw $t8, %lo(matrix_buffer_rarelogo_2)($t8) -/* 03C584 7F007A54 AFB00018 */ sw $s0, 0x18($sp) -/* 03C588 7F007A58 00808025 */ move $s0, $a0 -/* 03C58C 7F007A5C AFBF001C */ sw $ra, 0x1c($sp) -/* 03C590 7F007A60 3C058007 */ lui $a1, %hi(x) -/* 03C594 7F007A64 3C068007 */ lui $a2, %hi(y) -/* 03C598 7F007A68 000E7980 */ sll $t7, $t6, 6 -/* 03C59C 7F007A6C 8CC69578 */ lw $a2, %lo(y)($a2) -/* 03C5A0 7F007A70 8CA59574 */ lw $a1, %lo(x)($a1) -/* 03C5A4 7F007A74 3C07C0A0 */ lui $a3, 0xc0a0 -/* 03C5A8 7F007A78 0C005B46 */ jal guTranslate -/* 03C5AC 7F007A7C 01F82021 */ addu $a0, $t7, $t8 -/* 03C5B0 7F007A80 3C198003 */ lui $t9, %hi(D_8002A7D0) -/* 03C5B4 7F007A84 8F39A7D0 */ lw $t9, %lo(D_8002A7D0)($t9) -/* 03C5B8 7F007A88 3C098007 */ lui $t1, %hi(matrix_buffer_gunbarrel_1) -/* 03C5BC 7F007A8C 8D299568 */ lw $t1, %lo(matrix_buffer_gunbarrel_1)($t1) -/* 03C5C0 7F007A90 3C058007 */ lui $a1, %hi(dword_CODE_bss_8006957C) -/* 03C5C4 7F007A94 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069580) -/* 03C5C8 7F007A98 00194180 */ sll $t0, $t9, 6 -/* 03C5CC 7F007A9C 8CC69580 */ lw $a2, %lo(dword_CODE_bss_80069580)($a2) -/* 03C5D0 7F007AA0 8CA5957C */ lw $a1, %lo(dword_CODE_bss_8006957C)($a1) -/* 03C5D4 7F007AA4 3C07C0A0 */ lui $a3, 0xc0a0 -/* 03C5D8 7F007AA8 0C005B46 */ jal guTranslate -/* 03C5DC 7F007AAC 01092021 */ addu $a0, $t0, $t1 -/* 03C5E0 7F007AB0 3C0B0100 */ lui $t3, 0x100 -/* 03C5E4 7F007AB4 256B0000 */ addiu $t3, $t3, 0 -/* 03C5E8 7F007AB8 02001025 */ move $v0, $s0 -/* 03C5EC 7F007ABC 3C0A0600 */ lui $t2, 0x600 -/* 03C5F0 7F007AC0 AC4A0000 */ sw $t2, ($v0) -/* 03C5F4 7F007AC4 AC4B0004 */ sw $t3, 4($v0) -/* 03C5F8 7F007AC8 0FC07034 */ jal insert_imageDL -/* 03C5FC 7F007ACC 26040008 */ addiu $a0, $s0, 8 -/* 03C600 7F007AD0 0FC07069 */ jal sub_GAME_7F01C1A4 -/* 03C604 7F007AD4 00402025 */ move $a0, $v0 -/* 03C608 7F007AD8 3C0CFCFF */ lui $t4, (0xFCFFFFFF >> 16) # lui $t4, 0xfcff -/* 03C60C 7F007ADC 3C0DFFFD */ lui $t5, (0xFFFDF6FB >> 16) # lui $t5, 0xfffd -/* 03C610 7F007AE0 3C0FE6E6 */ lui $t7, (0xE6E6E600 >> 16) # lui $t7, 0xe6e6 -/* 03C614 7F007AE4 35ADF6FB */ ori $t5, (0xFFFDF6FB & 0xFFFF) # ori $t5, $t5, 0xf6fb -/* 03C618 7F007AE8 358CFFFF */ ori $t4, (0xFCFFFFFF & 0xFFFF) # ori $t4, $t4, 0xffff -/* 03C61C 7F007AEC 35EFE600 */ ori $t7, (0xE6E6E600 & 0xFFFF) # ori $t7, $t7, 0xe600 -/* 03C620 7F007AF0 3C0EFA00 */ lui $t6, 0xfa00 -/* 03C624 7F007AF4 3C180600 */ lui $t8, 0x600 -/* 03C628 7F007AF8 AC4C0000 */ sw $t4, ($v0) -/* 03C62C 7F007AFC AC4D0004 */ sw $t5, 4($v0) -/* 03C630 7F007B00 AC4E0008 */ sw $t6, 8($v0) -/* 03C634 7F007B04 AC4F000C */ sw $t7, 0xc($v0) -/* 03C638 7F007B08 AC580010 */ sw $t8, 0x10($v0) -/* 03C63C 7F007B0C 3C198007 */ lui $t9, %hi(dword_CODE_bss_80069554) -/* 03C640 7F007B10 8F399554 */ lw $t9, %lo(dword_CODE_bss_80069554)($t9) -/* 03C644 7F007B14 3C018000 */ lui $at, 0x8000 -/* 03C648 7F007B18 24490018 */ addiu $t1, $v0, 0x18 -/* 03C64C 7F007B1C 03214021 */ addu $t0, $t9, $at -/* 03C650 7F007B20 AC480014 */ sw $t0, 0x14($v0) -/* 03C654 7F007B24 3C0A0102 */ lui $t2, (0x01020040 >> 16) # lui $t2, 0x102 -/* 03C658 7F007B28 354A0040 */ ori $t2, (0x01020040 & 0xFFFF) # ori $t2, $t2, 0x40 -/* 03C65C 7F007B2C AFA90024 */ sw $t1, 0x24($sp) -/* 03C660 7F007B30 AC4A0018 */ sw $t2, 0x18($v0) -/* 03C664 7F007B34 3C0B8003 */ lui $t3, %hi(D_8002A7D0) -/* 03C668 7F007B38 8D6BA7D0 */ lw $t3, %lo(D_8002A7D0)($t3) -/* 03C66C 7F007B3C 3C0D8007 */ lui $t5, %hi(matrix_buffer_gunbarrel_1) -/* 03C670 7F007B40 8DAD9568 */ lw $t5, %lo(matrix_buffer_gunbarrel_1)($t5) -/* 03C674 7F007B44 000B6180 */ sll $t4, $t3, 6 -/* 03C678 7F007B48 24500020 */ addiu $s0, $v0, 0x20 -/* 03C67C 7F007B4C 0C003A2C */ jal osVirtualToPhysical -/* 03C680 7F007B50 018D2021 */ addu $a0, $t4, $t5 -/* 03C684 7F007B54 8FAE0024 */ lw $t6, 0x24($sp) -/* 03C688 7F007B58 02001825 */ move $v1, $s0 -/* 03C68C 7F007B5C 3C0F0600 */ lui $t7, 0x600 -/* 03C690 7F007B60 ADC20004 */ sw $v0, 4($t6) -/* 03C694 7F007B64 AC6F0000 */ sw $t7, ($v1) -/* 03C698 7F007B68 3C188007 */ lui $t8, %hi(dword_CODE_bss_80069554) -/* 03C69C 7F007B6C 8F189554 */ lw $t8, %lo(dword_CODE_bss_80069554)($t8) -/* 03C6A0 7F007B70 3C018000 */ lui $at, 0x8000 -/* 03C6A4 7F007B74 26020008 */ addiu $v0, $s0, 8 -/* 03C6A8 7F007B78 0301C821 */ addu $t9, $t8, $at -/* 03C6AC 7F007B7C AC790004 */ sw $t9, 4($v1) -/* 03C6B0 7F007B80 8FBF001C */ lw $ra, 0x1c($sp) -/* 03C6B4 7F007B84 8FB00018 */ lw $s0, 0x18($sp) -/* 03C6B8 7F007B88 27BD0038 */ addiu $sp, $sp, 0x38 -/* 03C6BC 7F007B8C 03E00008 */ jr $ra -/* 03C6C0 7F007B90 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void insert_sight_backdrop_eye_intro(void) { - -} -#else -GLOBAL_ASM( -.text -glabel insert_sight_backdrop_eye_intro -/* 03C6C4 7F007B94 3C018007 */ lui $at, %hi(x) -/* 03C6C8 7F007B98 C4249574 */ lwc1 $f4, %lo(x)($at) -/* 03C6CC 7F007B9C 3C014440 */ li $at, 0x44400000 # 768.000000 -/* 03C6D0 7F007BA0 44813000 */ mtc1 $at, $f6 -/* 03C6D4 7F007BA4 3C018007 */ lui $at, %hi(y) -/* 03C6D8 7F007BA8 C42A9578 */ lwc1 $f10, %lo(y)($at) -/* 03C6DC 7F007BAC 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 03C6E0 7F007BB0 44818000 */ mtc1 $at, $f16 -/* 03C6E4 7F007BB4 46062200 */ add.s $f8, $f4, $f6 -/* 03C6E8 7F007BB8 3C0E8003 */ lui $t6, %hi(D_8002A7D0) -/* 03C6EC 7F007BBC 8DCEA7D0 */ lw $t6, %lo(D_8002A7D0)($t6) -/* 03C6F0 7F007BC0 46105481 */ sub.s $f18, $f10, $f16 -/* 03C6F4 7F007BC4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03C6F8 7F007BC8 3C188007 */ lui $t8, %hi(matrix_buffer_rarelogo_2) -/* 03C6FC 7F007BCC 8F189564 */ lw $t8, %lo(matrix_buffer_rarelogo_2)($t8) -/* 03C700 7F007BD0 AFB00018 */ sw $s0, 0x18($sp) -/* 03C704 7F007BD4 00808025 */ move $s0, $a0 -/* 03C708 7F007BD8 AFBF001C */ sw $ra, 0x1c($sp) -/* 03C70C 7F007BDC 44069000 */ mfc1 $a2, $f18 -/* 03C710 7F007BE0 44054000 */ mfc1 $a1, $f8 -/* 03C714 7F007BE4 000E7980 */ sll $t7, $t6, 6 -/* 03C718 7F007BE8 3C07C0A0 */ lui $a3, 0xc0a0 -/* 03C71C 7F007BEC 0C005B46 */ jal guTranslate -/* 03C720 7F007BF0 01F82021 */ addu $a0, $t7, $t8 -/* 03C724 7F007BF4 3C198003 */ lui $t9, %hi(D_8002A7D0) -/* 03C728 7F007BF8 8F39A7D0 */ lw $t9, %lo(D_8002A7D0)($t9) -/* 03C72C 7F007BFC 3C098007 */ lui $t1, %hi(matrix_buffer_gunbarrel_1) -/* 03C730 7F007C00 8D299568 */ lw $t1, %lo(matrix_buffer_gunbarrel_1)($t1) -/* 03C734 7F007C04 3C05402C */ lui $a1, (0x402CCCCD >> 16) # lui $a1, 0x402c -/* 03C738 7F007C08 3C064024 */ lui $a2, (0x40247AE1 >> 16) # lui $a2, 0x4024 -/* 03C73C 7F007C0C 00194180 */ sll $t0, $t9, 6 -/* 03C740 7F007C10 34C67AE1 */ ori $a2, (0x40247AE1 & 0xFFFF) # ori $a2, $a2, 0x7ae1 -/* 03C744 7F007C14 34A5CCCD */ ori $a1, (0x402CCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 03C748 7F007C18 3C073F80 */ lui $a3, 0x3f80 -/* 03C74C 7F007C1C 0C005BB9 */ jal guScale -/* 03C750 7F007C20 01092021 */ addu $a0, $t0, $t1 -/* 03C754 7F007C24 02001025 */ move $v0, $s0 -/* 03C758 7F007C28 3C0A0100 */ lui $t2, 0x100 -/* 03C75C 7F007C2C 3C050600 */ lui $a1, 0x600 -/* 03C760 7F007C30 254A0000 */ addiu $t2, $t2, 0 -/* 03C764 7F007C34 26030008 */ addiu $v1, $s0, 8 -/* 03C768 7F007C38 3C0B0100 */ lui $t3, 0x100 -/* 03C76C 7F007C3C AC4A0004 */ sw $t2, 4($v0) -/* 03C770 7F007C40 AC450000 */ sw $a1, ($v0) -/* 03C774 7F007C44 256B0040 */ addiu $t3, $t3, 0x40 -/* 03C778 7F007C48 AC6B0004 */ sw $t3, 4($v1) -/* 03C77C 7F007C4C AC650000 */ sw $a1, ($v1) -/* 03C780 7F007C50 0FC07069 */ jal sub_GAME_7F01C1A4 -/* 03C784 7F007C54 24640008 */ addiu $a0, $v1, 8 -/* 03C788 7F007C58 3C0C0100 */ lui $t4, (0x01000040 >> 16) # lui $t4, 0x100 -/* 03C78C 7F007C5C 358C0040 */ ori $t4, (0x01000040 & 0xFFFF) # ori $t4, $t4, 0x40 -/* 03C790 7F007C60 AFA20024 */ sw $v0, 0x24($sp) -/* 03C794 7F007C64 AC4C0000 */ sw $t4, ($v0) -/* 03C798 7F007C68 3C0D8003 */ lui $t5, %hi(D_8002A7D0) -/* 03C79C 7F007C6C 8DADA7D0 */ lw $t5, %lo(D_8002A7D0)($t5) -/* 03C7A0 7F007C70 3C0F8007 */ lui $t7, %hi(matrix_buffer_gunbarrel_1) -/* 03C7A4 7F007C74 8DEF9568 */ lw $t7, %lo(matrix_buffer_gunbarrel_1)($t7) -/* 03C7A8 7F007C78 000D7180 */ sll $t6, $t5, 6 -/* 03C7AC 7F007C7C 24500008 */ addiu $s0, $v0, 8 -/* 03C7B0 7F007C80 0C003A2C */ jal osVirtualToPhysical -/* 03C7B4 7F007C84 01CF2021 */ addu $a0, $t6, $t7 -/* 03C7B8 7F007C88 8FB80024 */ lw $t8, 0x24($sp) -/* 03C7BC 7F007C8C 02001825 */ move $v1, $s0 -/* 03C7C0 7F007C90 3C190600 */ lui $t9, 0x600 -/* 03C7C4 7F007C94 AF020004 */ sw $v0, 4($t8) -/* 03C7C8 7F007C98 AC790000 */ sw $t9, ($v1) -/* 03C7CC 7F007C9C 3C088007 */ lui $t0, %hi(dword_CODE_bss_80069554) -/* 03C7D0 7F007CA0 8D089554 */ lw $t0, %lo(dword_CODE_bss_80069554)($t0) -/* 03C7D4 7F007CA4 3C018000 */ lui $at, 0x8000 -/* 03C7D8 7F007CA8 26020008 */ addiu $v0, $s0, 8 -/* 03C7DC 7F007CAC 01014821 */ addu $t1, $t0, $at -/* 03C7E0 7F007CB0 AC690004 */ sw $t1, 4($v1) -/* 03C7E4 7F007CB4 8FBF001C */ lw $ra, 0x1c($sp) -/* 03C7E8 7F007CB8 8FB00018 */ lw $s0, 0x18($sp) -/* 03C7EC 7F007CBC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 03C7F0 7F007CC0 03E00008 */ jr $ra -/* 03C7F4 7F007CC4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F007CC8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F007CC8 -/* 03C7F8 7F007CC8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 03C7FC 7F007CCC 00801025 */ move $v0, $a0 -/* 03C800 7F007CD0 AFBF001C */ sw $ra, 0x1c($sp) -/* 03C804 7F007CD4 AFA50024 */ sw $a1, 0x24($sp) -/* 03C808 7F007CD8 AFA60028 */ sw $a2, 0x28($sp) -/* 03C80C 7F007CDC AFA7002C */ sw $a3, 0x2c($sp) -/* 03C810 7F007CE0 24840008 */ addiu $a0, $a0, 8 -/* 03C814 7F007CE4 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 03C818 7F007CE8 3C0F0F0A */ lui $t7, (0x0F0A4000 >> 16) # lui $t7, 0xf0a -/* 03C81C 7F007CEC 35EF4000 */ ori $t7, (0x0F0A4000 & 0xFFFF) # ori $t7, $t7, 0x4000 -/* 03C820 7F007CF0 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 03C824 7F007CF4 00801825 */ move $v1, $a0 -/* 03C828 7F007CF8 AC4E0000 */ sw $t6, ($v0) -/* 03C82C 7F007CFC AC4F0004 */ sw $t7, 4($v0) -/* 03C830 7F007D00 24840008 */ addiu $a0, $a0, 8 -/* 03C834 7F007D04 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00 -/* 03C838 7F007D08 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402 -/* 03C83C 7F007D0C 00804025 */ move $t0, $a0 -/* 03C840 7F007D10 AC780000 */ sw $t8, ($v1) -/* 03C844 7F007D14 AC600004 */ sw $zero, 4($v1) -/* 03C848 7F007D18 24840008 */ addiu $a0, $a0, 8 -/* 03C84C 7F007D1C 3C19BA00 */ lui $t9, (0xBA001301 >> 16) # lui $t9, 0xba00 -/* 03C850 7F007D20 37391301 */ ori $t9, (0xBA001301 & 0xFFFF) # ori $t9, $t9, 0x1301 -/* 03C854 7F007D24 00804825 */ move $t1, $a0 -/* 03C858 7F007D28 AD190000 */ sw $t9, ($t0) -/* 03C85C 7F007D2C AD000004 */ sw $zero, 4($t0) -/* 03C860 7F007D30 3C0BBA00 */ lui $t3, (0xBA000C02 >> 16) # lui $t3, 0xba00 -/* 03C864 7F007D34 356B0C02 */ ori $t3, (0xBA000C02 & 0xFFFF) # ori $t3, $t3, 0xc02 -/* 03C868 7F007D38 24840008 */ addiu $a0, $a0, 8 -/* 03C86C 7F007D3C AD2B0000 */ sw $t3, ($t1) -/* 03C870 7F007D40 AD200004 */ sw $zero, 4($t1) -/* 03C874 7F007D44 00805025 */ move $t2, $a0 -/* 03C878 7F007D48 3C0CE700 */ lui $t4, 0xe700 -/* 03C87C 7F007D4C AD4C0000 */ sw $t4, ($t2) -/* 03C880 7F007D50 AD400004 */ sw $zero, 4($t2) -/* 03C884 7F007D54 3C058007 */ lui $a1, %hi(dword_CODE_bss_8006958C) -/* 03C888 7F007D58 8CA5958C */ lw $a1, %lo(dword_CODE_bss_8006958C)($a1) -/* 03C88C 7F007D5C 8FAD002C */ lw $t5, 0x2c($sp) -/* 03C890 7F007D60 3C018000 */ lui $at, 0x8000 -/* 03C894 7F007D64 24840008 */ addiu $a0, $a0, 8 -/* 03C898 7F007D68 8FA70028 */ lw $a3, 0x28($sp) -/* 03C89C 7F007D6C 8FA60024 */ lw $a2, 0x24($sp) -/* 03C8A0 7F007D70 00A12821 */ addu $a1, $a1, $at -/* 03C8A4 7F007D74 0FC06C90 */ jal sub_GAME_7F01B240 -/* 03C8A8 7F007D78 AFAD0010 */ sw $t5, 0x10($sp) -/* 03C8AC 7F007D7C 8FBF001C */ lw $ra, 0x1c($sp) -/* 03C8B0 7F007D80 27BD0020 */ addiu $sp, $sp, 0x20 -/* 03C8B4 7F007D84 03E00008 */ jr $ra -/* 03C8B8 7F007D88 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void insert_sniper_sight_eye_intro(void) { - -} -#else -GLOBAL_ASM( -.text -glabel insert_sniper_sight_eye_intro -/* 03C8BC 7F007D8C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 03C8C0 7F007D90 3C0F8003 */ lui $t7, %hi(D_8002A7DC) -/* 03C8C4 7F007D94 AFBF001C */ sw $ra, 0x1c($sp) -/* 03C8C8 7F007D98 AFB00018 */ sw $s0, 0x18($sp) -/* 03C8CC 7F007D9C 25EFA7DC */ addiu $t7, %lo(D_8002A7DC) # addiu $t7, $t7, -0x5824 -/* 03C8D0 7F007DA0 8DE10000 */ lw $at, ($t7) -/* 03C8D4 7F007DA4 27AE003C */ addiu $t6, $sp, 0x3c -/* 03C8D8 7F007DA8 8DE80004 */ lw $t0, 4($t7) -/* 03C8DC 7F007DAC ADC10000 */ sw $at, ($t6) -/* 03C8E0 7F007DB0 8DE10008 */ lw $at, 8($t7) -/* 03C8E4 7F007DB4 3C0A8003 */ lui $t2, %hi(D_8002A7E8) -/* 03C8E8 7F007DB8 254AA7E8 */ addiu $t2, %lo(D_8002A7E8) # addiu $t2, $t2, -0x5818 -/* 03C8EC 7F007DBC ADC80004 */ sw $t0, 4($t6) -/* 03C8F0 7F007DC0 ADC10008 */ sw $at, 8($t6) -/* 03C8F4 7F007DC4 8D410000 */ lw $at, ($t2) -/* 03C8F8 7F007DC8 27A90030 */ addiu $t1, $sp, 0x30 -/* 03C8FC 7F007DCC 8D4D0004 */ lw $t5, 4($t2) -/* 03C900 7F007DD0 AD210000 */ sw $at, ($t1) -/* 03C904 7F007DD4 8D410008 */ lw $at, 8($t2) -/* 03C908 7F007DD8 3C180100 */ lui $t8, 0x100 -/* 03C90C 7F007DDC AD2D0004 */ sw $t5, 4($t1) -/* 03C910 7F007DE0 AD210008 */ sw $at, 8($t1) -/* 03C914 7F007DE4 27180000 */ addiu $t8, $t8, 0 -/* 03C918 7F007DE8 3C190600 */ lui $t9, 0x600 -/* 03C91C 7F007DEC AC990000 */ sw $t9, ($a0) -/* 03C920 7F007DF0 AC980004 */ sw $t8, 4($a0) -/* 03C924 7F007DF4 24900008 */ addiu $s0, $a0, 8 -/* 03C928 7F007DF8 0FC07034 */ jal insert_imageDL -/* 03C92C 7F007DFC 02002025 */ move $a0, $s0 -/* 03C930 7F007E00 3C0EFC11 */ lui $t6, (0xFC11FE23 >> 16) # lui $t6, 0xfc11 -/* 03C934 7F007E04 35CEFE23 */ ori $t6, (0xFC11FE23 & 0xFFFF) # ori $t6, $t6, 0xfe23 -/* 03C938 7F007E08 240FF7FB */ li $t7, -2053 -/* 03C93C 7F007E0C AC4F0004 */ sw $t7, 4($v0) -/* 03C940 7F007E10 AC4E0000 */ sw $t6, ($v0) -/* 03C944 7F007E14 0C001107 */ jal get_video2_settings_txtClipW -/* 03C948 7F007E18 24500008 */ addiu $s0, $v0, 8 -/* 03C94C 7F007E1C 44822000 */ mtc1 $v0, $f4 -/* 03C950 7F007E20 3C018007 */ lui $at, %hi(x) -/* 03C954 7F007E24 C4289574 */ lwc1 $f8, %lo(x)($at) -/* 03C958 7F007E28 468021A0 */ cvt.s.w $f6, $f4 -/* 03C95C 7F007E2C 3C0144A0 */ li $at, 0x44A00000 # 1280.000000 -/* 03C960 7F007E30 44818000 */ mtc1 $at, $f16 -/* 03C964 7F007E34 46083282 */ mul.s $f10, $f6, $f8 -/* 03C968 7F007E38 0FC170D8 */ jal truncf -/* 03C96C 7F007E3C 46105303 */ div.s $f12, $f10, $f16 -/* 03C970 7F007E40 4600048D */ trunc.w.s $f18, $f0 -/* 03C974 7F007E44 02002025 */ move $a0, $s0 -/* 03C978 7F007E48 27A6003C */ addiu $a2, $sp, 0x3c -/* 03C97C 7F007E4C 27A70030 */ addiu $a3, $sp, 0x30 -/* 03C980 7F007E50 44059000 */ mfc1 $a1, $f18 -/* 03C984 7F007E54 0FC01F32 */ jal sub_GAME_7F007CC8 -/* 03C988 7F007E58 00000000 */ nop -/* 03C98C 7F007E5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 03C990 7F007E60 8FB00018 */ lw $s0, 0x18($sp) -/* 03C994 7F007E64 27BD0048 */ addiu $sp, $sp, 0x48 -/* 03C998 7F007E68 03E00008 */ jr $ra -/* 03C99C 7F007E6C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F007E70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F007E70 -/* 03C9A0 7F007E70 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03C9A4 7F007E74 AFBF0014 */ sw $ra, 0x14($sp) -/* 03C9A8 7F007E78 0FC07069 */ jal sub_GAME_7F01C1A4 -/* 03C9AC 7F007E7C AFA50034 */ sw $a1, 0x34($sp) -/* 03C9B0 7F007E80 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 03C9B4 7F007E84 3C0F0050 */ lui $t7, (0x00504340 >> 16) # lui $t7, 0x50 -/* 03C9B8 7F007E88 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff -/* 03C9BC 7F007E8C 3C19FFFD */ lui $t9, (0xFFFDF6FB >> 16) # lui $t9, 0xfffd -/* 03C9C0 7F007E90 35EF4340 */ ori $t7, (0x00504340 & 0xFFFF) # ori $t7, $t7, 0x4340 -/* 03C9C4 7F007E94 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 03C9C8 7F007E98 3739F6FB */ ori $t9, (0xFFFDF6FB & 0xFFFF) # ori $t9, $t9, 0xf6fb -/* 03C9CC 7F007E9C 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff -/* 03C9D0 7F007EA0 3C08FA00 */ lui $t0, 0xfa00 -/* 03C9D4 7F007EA4 AC4E0000 */ sw $t6, ($v0) -/* 03C9D8 7F007EA8 AC4F0004 */ sw $t7, 4($v0) -/* 03C9DC 7F007EAC AC580008 */ sw $t8, 8($v0) -/* 03C9E0 7F007EB0 AC59000C */ sw $t9, 0xc($v0) -/* 03C9E4 7F007EB4 AC480010 */ sw $t0, 0x10($v0) -/* 03C9E8 7F007EB8 8FA90034 */ lw $t1, 0x34($sp) -/* 03C9EC 7F007EBC 3C0BBA00 */ lui $t3, (0xBA000602 >> 16) # lui $t3, 0xba00 -/* 03C9F0 7F007EC0 356B0602 */ ori $t3, (0xBA000602 & 0xFFFF) # ori $t3, $t3, 0x602 -/* 03C9F4 7F007EC4 312A00FF */ andi $t2, $t1, 0xff -/* 03C9F8 7F007EC8 AC4A0014 */ sw $t2, 0x14($v0) -/* 03C9FC 7F007ECC AC4B0018 */ sw $t3, 0x18($v0) -/* 03CA00 7F007ED0 AC40001C */ sw $zero, 0x1c($v0) -/* 03CA04 7F007ED4 244C0020 */ addiu $t4, $v0, 0x20 -/* 03CA08 7F007ED8 244D0028 */ addiu $t5, $v0, 0x28 -/* 03CA0C 7F007EDC AFAD0030 */ sw $t5, 0x30($sp) -/* 03CA10 7F007EE0 0C001107 */ jal get_video2_settings_txtClipW -/* 03CA14 7F007EE4 AFAC001C */ sw $t4, 0x1c($sp) -/* 03CA18 7F007EE8 0C00110B */ jal get_video2_settings_txtClipH -/* 03CA1C 7F007EEC A7A2001A */ sh $v0, 0x1a($sp) -/* 03CA20 7F007EF0 87B9001A */ lh $t9, 0x1a($sp) -/* 03CA24 7F007EF4 8FA3001C */ lw $v1, 0x1c($sp) -/* 03CA28 7F007EF8 304E03FF */ andi $t6, $v0, 0x3ff -/* 03CA2C 7F007EFC 000E7880 */ sll $t7, $t6, 2 -/* 03CA30 7F007F00 3C01F600 */ lui $at, 0xf600 -/* 03CA34 7F007F04 332803FF */ andi $t0, $t9, 0x3ff -/* 03CA38 7F007F08 00084B80 */ sll $t1, $t0, 0xe -/* 03CA3C 7F007F0C 01E1C025 */ or $t8, $t7, $at -/* 03CA40 7F007F10 03095025 */ or $t2, $t8, $t1 -/* 03CA44 7F007F14 AC6A0000 */ sw $t2, ($v1) -/* 03CA48 7F007F18 AC600004 */ sw $zero, 4($v1) -/* 03CA4C 7F007F1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 03CA50 7F007F20 8FA20030 */ lw $v0, 0x30($sp) -/* 03CA54 7F007F24 27BD0030 */ addiu $sp, $sp, 0x30 -/* 03CA58 7F007F28 03E00008 */ jr $ra -/* 03CA5C 7F007F2C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F007F30(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8004F2D0 -.word 0x3f68f5c3 -glabel D_8004F2D4 -.word 0x461c4000 -glabel D_8004F2D8 -.word 0x459c4000 -glabel D_8004F2DC -.word 0x3f68f5c3 -.text -glabel sub_GAME_7F007F30 -/* 03CA60 7F007F30 27BDFEE0 */ addiu $sp, $sp, -0x120 -/* 03CA64 7F007F34 3C0F8003 */ lui $t7, %hi(D_8002A7FC) -/* 03CA68 7F007F38 25EFA7FC */ addiu $t7, %lo(D_8002A7FC) # addiu $t7, $t7, -0x5804 -/* 03CA6C 7F007F3C AFBF0034 */ sw $ra, 0x34($sp) -/* 03CA70 7F007F40 AFB50030 */ sw $s5, 0x30($sp) -/* 03CA74 7F007F44 AFB4002C */ sw $s4, 0x2c($sp) -/* 03CA78 7F007F48 AFB30028 */ sw $s3, 0x28($sp) -/* 03CA7C 7F007F4C AFB20024 */ sw $s2, 0x24($sp) -/* 03CA80 7F007F50 AFB10020 */ sw $s1, 0x20($sp) -/* 03CA84 7F007F54 AFB0001C */ sw $s0, 0x1c($sp) -/* 03CA88 7F007F58 AFA40120 */ sw $a0, 0x120($sp) -/* 03CA8C 7F007F5C AFA50124 */ sw $a1, 0x124($sp) -/* 03CA90 7F007F60 AFA60128 */ sw $a2, 0x128($sp) -/* 03CA94 7F007F64 25E8003C */ addiu $t0, $t7, 0x3c -/* 03CA98 7F007F68 27AE00DC */ addiu $t6, $sp, 0xdc -.L7F007F6C: -/* 03CA9C 7F007F6C 8DE10000 */ lw $at, ($t7) -/* 03CAA0 7F007F70 25EF000C */ addiu $t7, $t7, 0xc -/* 03CAA4 7F007F74 25CE000C */ addiu $t6, $t6, 0xc -/* 03CAA8 7F007F78 ADC1FFF4 */ sw $at, -0xc($t6) -/* 03CAAC 7F007F7C 8DE1FFF8 */ lw $at, -8($t7) -/* 03CAB0 7F007F80 ADC1FFF8 */ sw $at, -8($t6) -/* 03CAB4 7F007F84 8DE1FFFC */ lw $at, -4($t7) -/* 03CAB8 7F007F88 15E8FFF8 */ bne $t7, $t0, .L7F007F6C -/* 03CABC 7F007F8C ADC1FFFC */ sw $at, -4($t6) -/* 03CAC0 7F007F90 8DE10000 */ lw $at, ($t7) -/* 03CAC4 7F007F94 0000A825 */ move $s5, $zero -/* 03CAC8 7F007F98 00009025 */ move $s2, $zero -/* 03CACC 7F007F9C ADC10000 */ sw $at, ($t6) -/* 03CAD0 7F007FA0 8FA90124 */ lw $t1, 0x124($sp) -/* 03CAD4 7F007FA4 19200034 */ blez $t1, .L7F008078 -/* 03CAD8 7F007FA8 3C140000 */ lui $s4, 0 -/* 03CADC 7F007FAC 3C138003 */ lui $s3, %hi(D_8002A7F4) -/* 03CAE0 7F007FB0 3C108007 */ lui $s0, %hi(dword_CODE_bss_80069594) -/* 03CAE4 7F007FB4 26109594 */ addiu $s0, %lo(dword_CODE_bss_80069594) # addiu $s0, $s0, -0x6a6c -/* 03CAE8 7F007FB8 2673A7F4 */ addiu $s3, %lo(D_8002A7F4) # addiu $s3, $s3, -0x580c -/* 03CAEC 7F007FBC 26944298 */ addiu $s4, $s4, 0x4298 -/* 03CAF0 7F007FC0 24110089 */ li $s1, 137 -/* 03CAF4 7F007FC4 8E020000 */ lw $v0, ($s0) -.L7F007FC8: -/* 03CAF8 7F007FC8 04400019 */ bltz $v0, .L7F008030 -/* 03CAFC 7F007FCC 244A0001 */ addiu $t2, $v0, 1 -/* 03CB00 7F007FD0 AE0A0000 */ sw $t2, ($s0) -/* 03CB04 7F007FD4 162A000F */ bne $s1, $t2, .L7F008014 -/* 03CB08 7F007FD8 01401025 */ move $v0, $t2 -/* 03CB0C 7F007FDC 3C018005 */ lui $at, %hi(D_8004F2D0) -/* 03CB10 7F007FE0 C424F2D0 */ lwc1 $f4, %lo(D_8004F2D0)($at) -/* 03CB14 7F007FE4 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 03CB18 7F007FE8 3C0B8007 */ lui $t3, %hi(ptr_animation_table) -/* 03CB1C 7F007FEC 8D6B9538 */ lw $t3, %lo(ptr_animation_table)($t3) -/* 03CB20 7F007FF0 44813000 */ mtc1 $at, $f6 -/* 03CB24 7F007FF4 8E640000 */ lw $a0, ($s3) -/* 03CB28 7F007FF8 00003025 */ move $a2, $zero -/* 03CB2C 7F007FFC 3C074000 */ lui $a3, 0x4000 -/* 03CB30 7F008000 E7A40010 */ swc1 $f4, 0x10($sp) -/* 03CB34 7F008004 028B2821 */ addu $a1, $s4, $t3 -/* 03CB38 7F008008 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 03CB3C 7F00800C E7A60014 */ swc1 $f6, 0x14($sp) -/* 03CB40 7F008010 8E020000 */ lw $v0, ($s0) -.L7F008014: -/* 03CB44 7F008014 240100D4 */ li $at, 212 -/* 03CB48 7F008018 14410005 */ bne $v0, $at, .L7F008030 -/* 03CB4C 7F00801C 3C053FCC */ lui $a1, (0x3FCCCCCD >> 16) # lui $a1, 0x3fcc -/* 03CB50 7F008020 8E640000 */ lw $a0, ($s3) -/* 03CB54 7F008024 34A5CCCD */ ori $a1, (0x3FCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 03CB58 7F008028 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 03CB5C 7F00802C 3C064100 */ lui $a2, 0x4100 -.L7F008030: -/* 03CB60 7F008030 8E640000 */ lw $a0, ($s3) -/* 03CB64 7F008034 24050001 */ li $a1, 1 -/* 03CB68 7F008038 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 03CB6C 7F00803C 24060001 */ li $a2, 1 -/* 03CB70 7F008040 8E0C0000 */ lw $t4, ($s0) -/* 03CB74 7F008044 240100E6 */ li $at, 230 -/* 03CB78 7F008048 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 03CB7C 7F00804C 15810005 */ bne $t4, $at, .L7F008064 -/* 03CB80 7F008050 2405006F */ li $a1, 111 -/* 03CB84 7F008054 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 03CB88 7F008058 00003025 */ move $a2, $zero -/* 03CB8C 7F00805C 0C002382 */ jal play_sfx_a1 -/* 03CB90 7F008060 24150001 */ li $s5, 1 -.L7F008064: -/* 03CB94 7F008064 8FAD0124 */ lw $t5, 0x124($sp) -/* 03CB98 7F008068 26520001 */ addiu $s2, $s2, 1 -/* 03CB9C 7F00806C 564DFFD6 */ bnel $s2, $t5, .L7F007FC8 -/* 03CBA0 7F008070 8E020000 */ lw $v0, ($s0) -/* 03CBA4 7F008074 00009025 */ move $s2, $zero -.L7F008078: -/* 03CBA8 7F008078 3C138003 */ lui $s3, %hi(D_8002A7F4) -/* 03CBAC 7F00807C 2673A7F4 */ addiu $s3, %lo(D_8002A7F4) # addiu $s3, $s3, -0x580c -/* 03CBB0 7F008080 0FC1B100 */ jal set_80036084 -/* 03CBB4 7F008084 24040001 */ li $a0, 1 -/* 03CBB8 7F008088 0FC1CFF2 */ jal sub_GAME_7F073FC8 -/* 03CBBC 7F00808C 24040050 */ li $a0, 80 -/* 03CBC0 7F008090 0FC1B5AC */ jal subcalcpos -/* 03CBC4 7F008094 8E640000 */ lw $a0, ($s3) -/* 03CBC8 7F008098 3C148003 */ lui $s4, %hi(D_8002A7F8) -/* 03CBCC 7F00809C 2694A7F8 */ addiu $s4, %lo(D_8002A7F8) # addiu $s4, $s4, -0x5808 -/* 03CBD0 7F0080A0 8E860000 */ lw $a2, ($s4) -/* 03CBD4 7F0080A4 8CD90008 */ lw $t9, 8($a2) -/* 03CBD8 7F0080A8 8F230008 */ lw $v1, 8($t9) -/* 03CBDC 7F0080AC 8C650000 */ lw $a1, ($v1) -/* 03CBE0 7F0080B0 50A00008 */ beql $a1, $zero, .L7F0080D4 -/* 03CBE4 7F0080B4 8C650008 */ lw $a1, 8($v1) -/* 03CBE8 7F0080B8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 03CBEC 7F0080BC 00C02025 */ move $a0, $a2 -/* 03CBF0 7F0080C0 A4550000 */ sh $s5, ($v0) -/* 03CBF4 7F0080C4 8E860000 */ lw $a2, ($s4) -/* 03CBF8 7F0080C8 8CD80008 */ lw $t8, 8($a2) -/* 03CBFC 7F0080CC 8F030008 */ lw $v1, 8($t8) -/* 03CC00 7F0080D0 8C650008 */ lw $a1, 8($v1) -.L7F0080D4: -/* 03CC04 7F0080D4 50A00005 */ beql $a1, $zero, .L7F0080EC -/* 03CC08 7F0080D8 8FA80128 */ lw $t0, 0x128($sp) -/* 03CC0C 7F0080DC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 03CC10 7F0080E0 00C02025 */ move $a0, $a2 -/* 03CC14 7F0080E4 AC550000 */ sw $s5, ($v0) -/* 03CC18 7F0080E8 8FA80128 */ lw $t0, 0x128($sp) -.L7F0080EC: -/* 03CC1C 7F0080EC 8E6F0000 */ lw $t7, ($s3) -/* 03CC20 7F0080F0 AFA800DC */ sw $t0, 0xdc($sp) -/* 03CC24 7F0080F4 8DEE0008 */ lw $t6, 8($t7) -/* 03CC28 7F0080F8 85C4000E */ lh $a0, 0xe($t6) -/* 03CC2C 7F0080FC 00044980 */ sll $t1, $a0, 6 -/* 03CC30 7F008100 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 03CC34 7F008104 01202025 */ move $a0, $t1 -/* 03CC38 7F008108 AFA200EC */ sw $v0, 0xec($sp) -/* 03CC3C 7F00810C 27A400DC */ addiu $a0, $sp, 0xdc -/* 03CC40 7F008110 0FC1BCBE */ jal subcalcmatrices -/* 03CC44 7F008114 8E650000 */ lw $a1, ($s3) -/* 03CC48 7F008118 8E8A0000 */ lw $t2, ($s4) -/* 03CC4C 7F00811C 8E640000 */ lw $a0, ($s3) -/* 03CC50 7F008120 00003025 */ move $a2, $zero -/* 03CC54 7F008124 0FC1B198 */ jal sub_GAME_7F06C660 -/* 03CC58 7F008128 8D45001C */ lw $a1, 0x1c($t2) -/* 03CC5C 7F00812C 8E8B0000 */ lw $t3, ($s4) -/* 03CC60 7F008130 AFA200DC */ sw $v0, 0xdc($sp) -/* 03CC64 7F008134 8D6C0008 */ lw $t4, 8($t3) -/* 03CC68 7F008138 8584000E */ lh $a0, 0xe($t4) -/* 03CC6C 7F00813C 00046980 */ sll $t5, $a0, 6 -/* 03CC70 7F008140 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 03CC74 7F008144 01A02025 */ move $a0, $t5 -/* 03CC78 7F008148 AFA200EC */ sw $v0, 0xec($sp) -/* 03CC7C 7F00814C 27A400DC */ addiu $a0, $sp, 0xdc -/* 03CC80 7F008150 0FC1BC92 */ jal instcalcmatrices -/* 03CC84 7F008154 8E850000 */ lw $a1, ($s4) -/* 03CC88 7F008158 00002025 */ move $a0, $zero -/* 03CC8C 7F00815C 0FC1AC48 */ jal sub_GAME_7F06B120 -/* 03CC90 7F008160 8E650000 */ lw $a1, ($s3) -/* 03CC94 7F008164 00402025 */ move $a0, $v0 -/* 03CC98 7F008168 0FC1AC48 */ jal sub_GAME_7F06B120 -/* 03CC9C 7F00816C 8E850000 */ lw $a1, ($s4) -/* 03CCA0 7F008170 00408025 */ move $s0, $v0 -/* 03CCA4 7F008174 0FC1ACA7 */ jal sub_GAME_7F06B29C -/* 03CCA8 7F008178 00402025 */ move $a0, $v0 -/* 03CCAC 7F00817C 0FC1AECA */ jal sub_GAME_7F06BB28 -/* 03CCB0 7F008180 02002025 */ move $a0, $s0 -/* 03CCB4 7F008184 8FB80120 */ lw $t8, 0x120($sp) -/* 03CCB8 7F008188 24190007 */ li $t9, 7 -/* 03CCBC 7F00818C 24080001 */ li $t0, 1 -/* 03CCC0 7F008190 00408025 */ move $s0, $v0 -/* 03CCC4 7F008194 AFB9010C */ sw $t9, 0x10c($sp) -/* 03CCC8 7F008198 AFA000E0 */ sw $zero, 0xe0($sp) -/* 03CCCC 7F00819C AFA800E4 */ sw $t0, 0xe4($sp) -/* 03CCD0 7F0081A0 27A400DC */ addiu $a0, $sp, 0xdc -/* 03CCD4 7F0081A4 00402825 */ move $a1, $v0 -/* 03CCD8 7F0081A8 0FC1AF03 */ jal drawjointlist -/* 03CCDC 7F0081AC AFB800E8 */ sw $t8, 0xe8($sp) -/* 03CCE0 7F0081B0 240F0002 */ li $t7, 2 -/* 03CCE4 7F0081B4 AFAF00E4 */ sw $t7, 0xe4($sp) -/* 03CCE8 7F0081B8 27A400DC */ addiu $a0, $sp, 0xdc -/* 03CCEC 7F0081BC 0FC1AF03 */ jal drawjointlist -/* 03CCF0 7F0081C0 02002825 */ move $a1, $s0 -/* 03CCF4 7F0081C4 0FC1B100 */ jal set_80036084 -/* 03CCF8 7F0081C8 00002025 */ move $a0, $zero -/* 03CCFC 7F0081CC 0FC1AC92 */ jal sub_GAME_7F06B248 -/* 03CD00 7F0081D0 02002025 */ move $a0, $s0 -/* 03CD04 7F0081D4 8E620000 */ lw $v0, ($s3) -/* 03CD08 7F0081D8 00008025 */ move $s0, $zero -/* 03CD0C 7F0081DC 27B10088 */ addiu $s1, $sp, 0x88 -/* 03CD10 7F0081E0 8C4E0008 */ lw $t6, 8($v0) -/* 03CD14 7F0081E4 85C9000E */ lh $t1, 0xe($t6) -/* 03CD18 7F0081E8 59200015 */ blezl $t1, .L7F008240 -/* 03CD1C 7F0081EC 8E860000 */ lw $a2, ($s4) -/* 03CD20 7F0081F0 8C4A000C */ lw $t2, 0xc($v0) -.L7F0081F4: -/* 03CD24 7F0081F4 02202825 */ move $a1, $s1 -/* 03CD28 7F0081F8 0FC16008 */ jal sub_GAME_7F058020 -/* 03CD2C 7F0081FC 01502021 */ addu $a0, $t2, $s0 -/* 03CD30 7F008200 8E6B0000 */ lw $t3, ($s3) -/* 03CD34 7F008204 00126980 */ sll $t5, $s2, 6 -/* 03CD38 7F008208 02202025 */ move $a0, $s1 -/* 03CD3C 7F00820C 8D6C000C */ lw $t4, 0xc($t3) -/* 03CD40 7F008210 0FC16327 */ jal sub_GAME_7F058C9C -/* 03CD44 7F008214 018D2821 */ addu $a1, $t4, $t5 -/* 03CD48 7F008218 8E620000 */ lw $v0, ($s3) -/* 03CD4C 7F00821C 26520001 */ addiu $s2, $s2, 1 -/* 03CD50 7F008220 26100040 */ addiu $s0, $s0, 0x40 -/* 03CD54 7F008224 8C590008 */ lw $t9, 8($v0) -/* 03CD58 7F008228 8738000E */ lh $t8, 0xe($t9) -/* 03CD5C 7F00822C 0258082A */ slt $at, $s2, $t8 -/* 03CD60 7F008230 5420FFF0 */ bnezl $at, .L7F0081F4 -/* 03CD64 7F008234 8C4A000C */ lw $t2, 0xc($v0) -/* 03CD68 7F008238 00009025 */ move $s2, $zero -/* 03CD6C 7F00823C 8E860000 */ lw $a2, ($s4) -.L7F008240: -/* 03CD70 7F008240 00008025 */ move $s0, $zero -/* 03CD74 7F008244 27B10048 */ addiu $s1, $sp, 0x48 -/* 03CD78 7F008248 8CC80008 */ lw $t0, 8($a2) -/* 03CD7C 7F00824C 850F000E */ lh $t7, 0xe($t0) -/* 03CD80 7F008250 59E00014 */ blezl $t7, .L7F0082A4 -/* 03CD84 7F008254 8FBF0034 */ lw $ra, 0x34($sp) -/* 03CD88 7F008258 8CCE000C */ lw $t6, 0xc($a2) -.L7F00825C: -/* 03CD8C 7F00825C 02202825 */ move $a1, $s1 -/* 03CD90 7F008260 0FC16008 */ jal sub_GAME_7F058020 -/* 03CD94 7F008264 01D02021 */ addu $a0, $t6, $s0 -/* 03CD98 7F008268 8E890000 */ lw $t1, ($s4) -/* 03CD9C 7F00826C 00125980 */ sll $t3, $s2, 6 -/* 03CDA0 7F008270 02202025 */ move $a0, $s1 -/* 03CDA4 7F008274 8D2A000C */ lw $t2, 0xc($t1) -/* 03CDA8 7F008278 0FC16327 */ jal sub_GAME_7F058C9C -/* 03CDAC 7F00827C 014B2821 */ addu $a1, $t2, $t3 -/* 03CDB0 7F008280 8E860000 */ lw $a2, ($s4) -/* 03CDB4 7F008284 26520001 */ addiu $s2, $s2, 1 -/* 03CDB8 7F008288 26100040 */ addiu $s0, $s0, 0x40 -/* 03CDBC 7F00828C 8CCC0008 */ lw $t4, 8($a2) -/* 03CDC0 7F008290 858D000E */ lh $t5, 0xe($t4) -/* 03CDC4 7F008294 024D082A */ slt $at, $s2, $t5 -/* 03CDC8 7F008298 5420FFF0 */ bnezl $at, .L7F00825C -/* 03CDCC 7F00829C 8CCE000C */ lw $t6, 0xc($a2) -/* 03CDD0 7F0082A0 8FBF0034 */ lw $ra, 0x34($sp) -.L7F0082A4: -/* 03CDD4 7F0082A4 8FA200E8 */ lw $v0, 0xe8($sp) -/* 03CDD8 7F0082A8 8FB0001C */ lw $s0, 0x1c($sp) -/* 03CDDC 7F0082AC 8FB10020 */ lw $s1, 0x20($sp) -/* 03CDE0 7F0082B0 8FB20024 */ lw $s2, 0x24($sp) -/* 03CDE4 7F0082B4 8FB30028 */ lw $s3, 0x28($sp) -/* 03CDE8 7F0082B8 8FB4002C */ lw $s4, 0x2c($sp) -/* 03CDEC 7F0082BC 8FB50030 */ lw $s5, 0x30($sp) -/* 03CDF0 7F0082C0 03E00008 */ jr $ra -/* 03CDF4 7F0082C4 27BD0120 */ addiu $sp, $sp, 0x120 -) -#endif - - - -#ifdef NONMATCHING -void insert_bond_eye_intro(void) { - -} -#else -GLOBAL_ASM( -.text -glabel insert_bond_eye_intro -/* 03CDF8 7F0082C8 44800000 */ mtc1 $zero, $f0 -/* 03CDFC 7F0082CC 3C0E8003 */ lui $t6, %hi(D_8002A7D0) -/* 03CE00 7F0082D0 8DCEA7D0 */ lw $t6, %lo(D_8002A7D0)($t6) -/* 03CE04 7F0082D4 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 03CE08 7F0082D8 3C188007 */ lui $t8, %hi(matrix_buffer_intro_backdrop) -/* 03CE0C 7F0082DC 8F18956C */ lw $t8, %lo(matrix_buffer_intro_backdrop)($t8) -/* 03CE10 7F0082E0 AFB00030 */ sw $s0, 0x30($sp) -/* 03CE14 7F0082E4 00808025 */ move $s0, $a0 -/* 03CE18 7F0082E8 AFBF0034 */ sw $ra, 0x34($sp) -/* 03CE1C 7F0082EC 44050000 */ mfc1 $a1, $f0 -/* 03CE20 7F0082F0 44060000 */ mfc1 $a2, $f0 -/* 03CE24 7F0082F4 44070000 */ mfc1 $a3, $f0 -/* 03CE28 7F0082F8 000E7980 */ sll $t7, $t6, 6 -/* 03CE2C 7F0082FC 0C005B46 */ jal guTranslate -/* 03CE30 7F008300 01F82021 */ addu $a0, $t7, $t8 -/* 03CE34 7F008304 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 03CE38 7F008308 44812000 */ mtc1 $at, $f4 -/* 03CE3C 7F00830C 3C018005 */ lui $at, %hi(D_8004F2D4) -/* 03CE40 7F008310 3C198003 */ lui $t9, %hi(D_8002A7D0) -/* 03CE44 7F008314 8F39A7D0 */ lw $t9, %lo(D_8002A7D0)($t9) -/* 03CE48 7F008318 C426F2D4 */ lwc1 $f6, %lo(D_8004F2D4)($at) -/* 03CE4C 7F00831C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03CE50 7F008320 3C0C8007 */ lui $t4, %hi(matrix_buffer_intro_bond) -/* 03CE54 7F008324 8D8C9570 */ lw $t4, %lo(matrix_buffer_intro_bond)($t4) -/* 03CE58 7F008328 44814000 */ mtc1 $at, $f8 -/* 03CE5C 7F00832C 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 03CE60 7F008330 00195980 */ sll $t3, $t9, 6 -/* 03CE64 7F008334 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 03CE68 7F008338 27A5005E */ addiu $a1, $sp, 0x5e -/* 03CE6C 7F00833C 3C064238 */ lui $a2, 0x4238 -/* 03CE70 7F008340 E7A40010 */ swc1 $f4, 0x10($sp) -/* 03CE74 7F008344 E7A60014 */ swc1 $f6, 0x14($sp) -/* 03CE78 7F008348 016C2021 */ addu $a0, $t3, $t4 -/* 03CE7C 7F00834C 0C003FAC */ jal guPerspective -/* 03CE80 7F008350 E7A80018 */ swc1 $f8, 0x18($sp) -/* 03CE84 7F008354 3C0DBC00 */ lui $t5, (0xBC00000E >> 16) # lui $t5, 0xbc00 -/* 03CE88 7F008358 35AD000E */ ori $t5, (0xBC00000E & 0xFFFF) # ori $t5, $t5, 0xe -/* 03CE8C 7F00835C 02001025 */ move $v0, $s0 -/* 03CE90 7F008360 AC4D0000 */ sw $t5, ($v0) -/* 03CE94 7F008364 97AE005E */ lhu $t6, 0x5e($sp) -/* 03CE98 7F008368 26100008 */ addiu $s0, $s0, 8 -/* 03CE9C 7F00836C 02001825 */ move $v1, $s0 -/* 03CEA0 7F008370 26100008 */ addiu $s0, $s0, 8 -/* 03CEA4 7F008374 3C0FFCFF */ lui $t7, (0xFCFFFFFF >> 16) # lui $t7, 0xfcff -/* 03CEA8 7F008378 3C18FFFE */ lui $t8, (0xFFFE793C >> 16) # lui $t8, 0xfffe -/* 03CEAC 7F00837C AC4E0004 */ sw $t6, 4($v0) -/* 03CEB0 7F008380 3718793C */ ori $t8, (0xFFFE793C & 0xFFFF) # ori $t8, $t8, 0x793c -/* 03CEB4 7F008384 35EFFFFF */ ori $t7, (0xFCFFFFFF & 0xFFFF) # ori $t7, $t7, 0xffff -/* 03CEB8 7F008388 02002825 */ move $a1, $s0 -/* 03CEBC 7F00838C AC6F0000 */ sw $t7, ($v1) -/* 03CEC0 7F008390 AC780004 */ sw $t8, 4($v1) -/* 03CEC4 7F008394 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 03CEC8 7F008398 3C0B0055 */ lui $t3, (0x00552048 >> 16) # lui $t3, 0x55 -/* 03CECC 7F00839C 356B2048 */ ori $t3, (0x00552048 & 0xFFFF) # ori $t3, $t3, 0x2048 -/* 03CED0 7F0083A0 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 03CED4 7F0083A4 26100008 */ addiu $s0, $s0, 8 -/* 03CED8 7F0083A8 3C0C0103 */ lui $t4, (0x01030040 >> 16) # lui $t4, 0x103 -/* 03CEDC 7F0083AC ACB90000 */ sw $t9, ($a1) -/* 03CEE0 7F0083B0 ACAB0004 */ sw $t3, 4($a1) -/* 03CEE4 7F0083B4 358C0040 */ ori $t4, (0x01030040 & 0xFFFF) # ori $t4, $t4, 0x40 -/* 03CEE8 7F0083B8 02003025 */ move $a2, $s0 -/* 03CEEC 7F0083BC ACCC0000 */ sw $t4, ($a2) -/* 03CEF0 7F0083C0 3C0D8003 */ lui $t5, %hi(D_8002A7D0) -/* 03CEF4 7F0083C4 8DADA7D0 */ lw $t5, %lo(D_8002A7D0)($t5) -/* 03CEF8 7F0083C8 3C0F8007 */ lui $t7, %hi(matrix_buffer_intro_bond) -/* 03CEFC 7F0083CC 8DEF9570 */ lw $t7, %lo(matrix_buffer_intro_bond)($t7) -/* 03CF00 7F0083D0 000D7180 */ sll $t6, $t5, 6 -/* 03CF04 7F0083D4 AFA6004C */ sw $a2, 0x4c($sp) -/* 03CF08 7F0083D8 26100008 */ addiu $s0, $s0, 8 -/* 03CF0C 7F0083DC 0C003A2C */ jal osVirtualToPhysical -/* 03CF10 7F0083E0 01CF2021 */ addu $a0, $t6, $t7 -/* 03CF14 7F0083E4 8FA6004C */ lw $a2, 0x4c($sp) -/* 03CF18 7F0083E8 3C180102 */ lui $t8, (0x01020040 >> 16) # lui $t8, 0x102 -/* 03CF1C 7F0083EC 37180040 */ ori $t8, (0x01020040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 03CF20 7F0083F0 02005025 */ move $t2, $s0 -/* 03CF24 7F0083F4 ACC20004 */ sw $v0, 4($a2) -/* 03CF28 7F0083F8 AD580000 */ sw $t8, ($t2) -/* 03CF2C 7F0083FC 3C198003 */ lui $t9, %hi(D_8002A7D0) -/* 03CF30 7F008400 8F39A7D0 */ lw $t9, %lo(D_8002A7D0)($t9) -/* 03CF34 7F008404 3C0C8007 */ lui $t4, %hi(matrix_buffer_intro_backdrop) -/* 03CF38 7F008408 8D8C956C */ lw $t4, %lo(matrix_buffer_intro_backdrop)($t4) -/* 03CF3C 7F00840C 00195980 */ sll $t3, $t9, 6 -/* 03CF40 7F008410 AFAA0048 */ sw $t2, 0x48($sp) -/* 03CF44 7F008414 26100008 */ addiu $s0, $s0, 8 -/* 03CF48 7F008418 0C003A2C */ jal osVirtualToPhysical -/* 03CF4C 7F00841C 016C2021 */ addu $a0, $t3, $t4 -/* 03CF50 7F008420 8FAA0048 */ lw $t2, 0x48($sp) -/* 03CF54 7F008424 3C038003 */ lui $v1, %hi(D_8002A83C) -/* 03CF58 7F008428 3C088003 */ lui $t0, %hi(D_8002A848) -/* 03CF5C 7F00842C AD420004 */ sw $v0, 4($t2) -/* 03CF60 7F008430 2508A848 */ addiu $t0, %lo(D_8002A848) # addiu $t0, $t0, -0x57b8 -/* 03CF64 7F008434 2463A83C */ addiu $v1, %lo(D_8002A83C) # addiu $v1, $v1, -0x57c4 -/* 03CF68 7F008438 C4600000 */ lwc1 $f0, ($v1) -/* 03CF6C 7F00843C C50A0000 */ lwc1 $f10, ($t0) -/* 03CF70 7F008440 C4620004 */ lwc1 $f2, 4($v1) -/* 03CF74 7F008444 C5120004 */ lwc1 $f18, 4($t0) -/* 03CF78 7F008448 46005400 */ add.s $f16, $f10, $f0 -/* 03CF7C 7F00844C C46C0008 */ lwc1 $f12, 8($v1) -/* 03CF80 7F008450 C5060008 */ lwc1 $f6, 8($t0) -/* 03CF84 7F008454 3C098003 */ lui $t1, %hi(D_8002A854) -/* 03CF88 7F008458 2529A854 */ addiu $t1, %lo(D_8002A854) # addiu $t1, $t1, -0x57ac -/* 03CF8C 7F00845C 46029100 */ add.s $f4, $f18, $f2 -/* 03CF90 7F008460 E7B00010 */ swc1 $f16, 0x10($sp) -/* 03CF94 7F008464 C5300004 */ lwc1 $f16, 4($t1) -/* 03CF98 7F008468 460C3200 */ add.s $f8, $f6, $f12 -/* 03CF9C 7F00846C C5320008 */ lwc1 $f18, 8($t1) -/* 03CFA0 7F008470 C52A0000 */ lwc1 $f10, ($t1) -/* 03CFA4 7F008474 44050000 */ mfc1 $a1, $f0 -/* 03CFA8 7F008478 44061000 */ mfc1 $a2, $f2 -/* 03CFAC 7F00847C 44076000 */ mfc1 $a3, $f12 -/* 03CFB0 7F008480 E7A80018 */ swc1 $f8, 0x18($sp) -/* 03CFB4 7F008484 E7A40014 */ swc1 $f4, 0x14($sp) -/* 03CFB8 7F008488 27A40060 */ addiu $a0, $sp, 0x60 -/* 03CFBC 7F00848C E7B00020 */ swc1 $f16, 0x20($sp) -/* 03CFC0 7F008490 E7B20024 */ swc1 $f18, 0x24($sp) -/* 03CFC4 7F008494 0FC165A5 */ jal sub_GAME_7F059694 -/* 03CFC8 7F008498 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 03CFCC 7F00849C 02002025 */ move $a0, $s0 -/* 03CFD0 7F0084A0 24050002 */ li $a1, 2 -/* 03CFD4 7F0084A4 0FC01FCC */ jal sub_GAME_7F007F30 -/* 03CFD8 7F0084A8 27A60060 */ addiu $a2, $sp, 0x60 -/* 03CFDC 7F0084AC 8FBF0034 */ lw $ra, 0x34($sp) -/* 03CFE0 7F0084B0 8FB00030 */ lw $s0, 0x30($sp) -/* 03CFE4 7F0084B4 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 03CFE8 7F0084B8 03E00008 */ jr $ra -/* 03CFEC 7F0084BC 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void load_display_rare_logo(void) { - -} -#else -GLOBAL_ASM( -.text -glabel load_display_rare_logo -/* 03CFF0 7F0084C0 44872000 */ mtc1 $a3, $f4 -/* 03CFF4 7F0084C4 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 03CFF8 7F0084C8 AFB0002C */ sw $s0, 0x2c($sp) -/* 03CFFC 7F0084CC 468021A0 */ cvt.s.w $f6, $f4 -/* 03D000 7F0084D0 3C018003 */ lui $at, %hi(D_8002A880) -/* 03D004 7F0084D4 AFBF0034 */ sw $ra, 0x34($sp) -/* 03D008 7F0084D8 AFB10030 */ sw $s1, 0x30($sp) -/* 03D00C 7F0084DC AFA500EC */ sw $a1, 0xec($sp) -/* 03D010 7F0084E0 AFA600F0 */ sw $a2, 0xf0($sp) -/* 03D014 7F0084E4 E426A880 */ swc1 $f6, %lo(D_8002A880)($at) -/* 03D018 7F0084E8 3C0F0100 */ lui $t7, 0x100 -/* 03D01C 7F0084EC 25EF0000 */ addiu $t7, $t7, 0 -/* 03D020 7F0084F0 3C0E0600 */ lui $t6, 0x600 -/* 03D024 7F0084F4 AC8E0000 */ sw $t6, ($a0) -/* 03D028 7F0084F8 AC8F0004 */ sw $t7, 4($a0) -/* 03D02C 7F0084FC 24900008 */ addiu $s0, $a0, 8 -/* 03D030 7F008500 0FC07034 */ jal insert_imageDL -/* 03D034 7F008504 02002025 */ move $a0, $s0 -/* 03D038 7F008508 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 03D03C 7F00850C 44814000 */ mtc1 $at, $f8 -/* 03D040 7F008510 3C118003 */ lui $s1, %hi(D_8002A7D0) -/* 03D044 7F008514 2631A7D0 */ addiu $s1, %lo(D_8002A7D0) # addiu $s1, $s1, -0x5830 -/* 03D048 7F008518 3C018005 */ lui $at, %hi(D_8004F2D8) -/* 03D04C 7F00851C C42AF2D8 */ lwc1 $f10, %lo(D_8004F2D8)($at) -/* 03D050 7F008520 8E380000 */ lw $t8, ($s1) -/* 03D054 7F008524 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03D058 7F008528 3C0E8007 */ lui $t6, %hi(matrix_buffer_rarelogo_0) -/* 03D05C 7F00852C 8DCE9558 */ lw $t6, %lo(matrix_buffer_rarelogo_0)($t6) -/* 03D060 7F008530 44818000 */ mtc1 $at, $f16 -/* 03D064 7F008534 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 03D068 7F008538 0018C980 */ sll $t9, $t8, 6 -/* 03D06C 7F00853C 00408025 */ move $s0, $v0 -/* 03D070 7F008540 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 03D074 7F008544 27A500E2 */ addiu $a1, $sp, 0xe2 -/* 03D078 7F008548 3C064270 */ lui $a2, 0x4270 -/* 03D07C 7F00854C E7A80010 */ swc1 $f8, 0x10($sp) -/* 03D080 7F008550 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 03D084 7F008554 032E2021 */ addu $a0, $t9, $t6 -/* 03D088 7F008558 0C003FAC */ jal guPerspective -/* 03D08C 7F00855C E7B00018 */ swc1 $f16, 0x18($sp) -/* 03D090 7F008560 3C0FBC00 */ lui $t7, (0xBC00000E >> 16) # lui $t7, 0xbc00 -/* 03D094 7F008564 35EF000E */ ori $t7, (0xBC00000E & 0xFFFF) # ori $t7, $t7, 0xe -/* 03D098 7F008568 02001025 */ move $v0, $s0 -/* 03D09C 7F00856C AC4F0000 */ sw $t7, ($v0) -/* 03D0A0 7F008570 97B800E2 */ lhu $t8, 0xe2($sp) -/* 03D0A4 7F008574 26100008 */ addiu $s0, $s0, 8 -/* 03D0A8 7F008578 3C190103 */ lui $t9, (0x01030040 >> 16) # lui $t9, 0x103 -/* 03D0AC 7F00857C 37390040 */ ori $t9, (0x01030040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 03D0B0 7F008580 02005825 */ move $t3, $s0 -/* 03D0B4 7F008584 AC580004 */ sw $t8, 4($v0) -/* 03D0B8 7F008588 AD790000 */ sw $t9, ($t3) -/* 03D0BC 7F00858C 8E2E0000 */ lw $t6, ($s1) -/* 03D0C0 7F008590 3C188007 */ lui $t8, %hi(matrix_buffer_rarelogo_0) -/* 03D0C4 7F008594 8F189558 */ lw $t8, %lo(matrix_buffer_rarelogo_0)($t8) -/* 03D0C8 7F008598 000E7980 */ sll $t7, $t6, 6 -/* 03D0CC 7F00859C AFAB00D8 */ sw $t3, 0xd8($sp) -/* 03D0D0 7F0085A0 26100008 */ addiu $s0, $s0, 8 -/* 03D0D4 7F0085A4 0C003A2C */ jal osVirtualToPhysical -/* 03D0D8 7F0085A8 01F82021 */ addu $a0, $t7, $t8 -/* 03D0DC 7F0085AC 8FAB00D8 */ lw $t3, 0xd8($sp) -/* 03D0E0 7F0085B0 02001825 */ move $v1, $s0 -/* 03D0E4 7F0085B4 240EFFFF */ li $t6, -1 -/* 03D0E8 7F0085B8 AD620004 */ sw $v0, 4($t3) -/* 03D0EC 7F0085BC AC6E0004 */ sw $t6, 4($v1) -/* 03D0F0 7F0085C0 26100008 */ addiu $s0, $s0, 8 -/* 03D0F4 7F0085C4 3C19B600 */ lui $t9, 0xb600 -/* 03D0F8 7F0085C8 AC790000 */ sw $t9, ($v1) -/* 03D0FC 7F0085CC 02004025 */ move $t0, $s0 -/* 03D100 7F0085D0 3C0FB700 */ lui $t7, 0xb700 -/* 03D104 7F0085D4 3C180006 */ lui $t8, (0x00062204 >> 16) # lui $t8, 6 -/* 03D108 7F0085D8 37182204 */ ori $t8, (0x00062204 & 0xFFFF) # ori $t8, $t8, 0x2204 -/* 03D10C 7F0085DC AD0F0000 */ sw $t7, ($t0) -/* 03D110 7F0085E0 AD180004 */ sw $t8, 4($t0) -/* 03D114 7F0085E4 3C098003 */ lui $t1, %hi(D_8002A884) -/* 03D118 7F0085E8 3C0C8003 */ lui $t4, %hi(D_8002A878) -/* 03D11C 7F0085EC 258CA878 */ addiu $t4, %lo(D_8002A878) # addiu $t4, $t4, -0x5788 -/* 03D120 7F0085F0 2529A884 */ addiu $t1, %lo(D_8002A884) # addiu $t1, $t1, -0x577c -/* 03D124 7F0085F4 C5320000 */ lwc1 $f18, ($t1) -/* 03D128 7F0085F8 C5800000 */ lwc1 $f0, ($t4) -/* 03D12C 7F0085FC C5260004 */ lwc1 $f6, 4($t1) -/* 03D130 7F008600 C5820004 */ lwc1 $f2, 4($t4) -/* 03D134 7F008604 46009100 */ add.s $f4, $f18, $f0 -/* 03D138 7F008608 C52A0008 */ lwc1 $f10, 8($t1) -/* 03D13C 7F00860C C58C0008 */ lwc1 $f12, 8($t4) -/* 03D140 7F008610 3C0A8003 */ lui $t2, %hi(D_8002A890) -/* 03D144 7F008614 254AA890 */ addiu $t2, %lo(D_8002A890) # addiu $t2, $t2, -0x5770 -/* 03D148 7F008618 46023200 */ add.s $f8, $f6, $f2 -/* 03D14C 7F00861C 8E390000 */ lw $t9, ($s1) -/* 03D150 7F008620 E7A40010 */ swc1 $f4, 0x10($sp) -/* 03D154 7F008624 460C5400 */ add.s $f16, $f10, $f12 -/* 03D158 7F008628 3C0F8007 */ lui $t7, %hi(matrix_buffer_rarelogo_1) -/* 03D15C 7F00862C 8DEF9560 */ lw $t7, %lo(matrix_buffer_rarelogo_1)($t7) -/* 03D160 7F008630 C5440004 */ lwc1 $f4, 4($t2) -/* 03D164 7F008634 C5460008 */ lwc1 $f6, 8($t2) -/* 03D168 7F008638 C5520000 */ lwc1 $f18, ($t2) -/* 03D16C 7F00863C 44050000 */ mfc1 $a1, $f0 -/* 03D170 7F008640 44061000 */ mfc1 $a2, $f2 -/* 03D174 7F008644 44076000 */ mfc1 $a3, $f12 -/* 03D178 7F008648 00197180 */ sll $t6, $t9, 6 -/* 03D17C 7F00864C 26100008 */ addiu $s0, $s0, 8 -/* 03D180 7F008650 E7B00018 */ swc1 $f16, 0x18($sp) -/* 03D184 7F008654 E7A80014 */ swc1 $f8, 0x14($sp) -/* 03D188 7F008658 01CF2021 */ addu $a0, $t6, $t7 -/* 03D18C 7F00865C E7A40020 */ swc1 $f4, 0x20($sp) -/* 03D190 7F008660 E7A60024 */ swc1 $f6, 0x24($sp) -/* 03D194 7F008664 0C005DAA */ jal guLookAt -/* 03D198 7F008668 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 03D19C 7F00866C 3C180102 */ lui $t8, (0x01020040 >> 16) # lui $t8, 0x102 -/* 03D1A0 7F008670 37180040 */ ori $t8, (0x01020040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 03D1A4 7F008674 02001825 */ move $v1, $s0 -/* 03D1A8 7F008678 AC780000 */ sw $t8, ($v1) -/* 03D1AC 7F00867C 8E390000 */ lw $t9, ($s1) -/* 03D1B0 7F008680 3C0F8007 */ lui $t7, %hi(matrix_buffer_rarelogo_1) -/* 03D1B4 7F008684 8DEF9560 */ lw $t7, %lo(matrix_buffer_rarelogo_1)($t7) -/* 03D1B8 7F008688 00197180 */ sll $t6, $t9, 6 -/* 03D1BC 7F00868C AFA300CC */ sw $v1, 0xcc($sp) -/* 03D1C0 7F008690 26100008 */ addiu $s0, $s0, 8 -/* 03D1C4 7F008694 0C003A2C */ jal osVirtualToPhysical -/* 03D1C8 7F008698 01CF2021 */ addu $a0, $t6, $t7 -/* 03D1CC 7F00869C 8FA300CC */ lw $v1, 0xcc($sp) -/* 03D1D0 7F0086A0 44800000 */ mtc1 $zero, $f0 -/* 03D1D4 7F0086A4 3C0E8007 */ lui $t6, %hi(matrix_buffer_rarelogo_2) -/* 03D1D8 7F0086A8 AC620004 */ sw $v0, 4($v1) -/* 03D1DC 7F0086AC 8E380000 */ lw $t8, ($s1) -/* 03D1E0 7F0086B0 8DCE9564 */ lw $t6, %lo(matrix_buffer_rarelogo_2)($t6) -/* 03D1E4 7F0086B4 3C058003 */ lui $a1, %hi(D_8002A89C) -/* 03D1E8 7F0086B8 44060000 */ mfc1 $a2, $f0 -/* 03D1EC 7F0086BC 0018C980 */ sll $t9, $t8, 6 -/* 03D1F0 7F0086C0 8CA5A89C */ lw $a1, %lo(D_8002A89C)($a1) -/* 03D1F4 7F0086C4 3C073F80 */ lui $a3, %hi(0x3F800004) # $a3, 0x3f80 -/* 03D1F8 7F0086C8 E7A00010 */ swc1 $f0, 0x10($sp) -/* 03D1FC 7F0086CC 0C005E2D */ jal guRotate -/* 03D200 7F0086D0 032E2021 */ addu $a0, $t9, $t6 -/* 03D204 7F0086D4 3C028003 */ lui $v0, %hi(D_8002A89C) -/* 03D208 7F0086D8 2442A89C */ addiu $v0, %lo(D_8002A89C) # addiu $v0, $v0, -0x5764 -/* 03D20C 7F0086DC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 03D210 7F0086E0 44815000 */ mtc1 $at, $f10 -/* 03D214 7F0086E4 C4480000 */ lwc1 $f8, ($v0) -/* 03D218 7F0086E8 3C0F0100 */ lui $t7, (0x01000040 >> 16) # lui $t7, 0x100 -/* 03D21C 7F0086EC 35EF0040 */ ori $t7, (0x01000040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 03D220 7F0086F0 460A4400 */ add.s $f16, $f8, $f10 -/* 03D224 7F0086F4 02005025 */ move $t2, $s0 -/* 03D228 7F0086F8 3C0E8007 */ lui $t6, %hi(matrix_buffer_rarelogo_2) -/* 03D22C 7F0086FC 26100008 */ addiu $s0, $s0, 8 -/* 03D230 7F008700 E4500000 */ swc1 $f16, ($v0) -/* 03D234 7F008704 AD4F0000 */ sw $t7, ($t2) -/* 03D238 7F008708 8E380000 */ lw $t8, ($s1) -/* 03D23C 7F00870C 8DCE9564 */ lw $t6, %lo(matrix_buffer_rarelogo_2)($t6) -/* 03D240 7F008710 AFAA00C8 */ sw $t2, 0xc8($sp) -/* 03D244 7F008714 0018C980 */ sll $t9, $t8, 6 -/* 03D248 7F008718 0C003A2C */ jal osVirtualToPhysical -/* 03D24C 7F00871C 032E2021 */ addu $a0, $t9, $t6 -/* 03D250 7F008720 8FA800F8 */ lw $t0, 0xf8($sp) -/* 03D254 7F008724 8FAA00C8 */ lw $t2, 0xc8($sp) -/* 03D258 7F008728 02002025 */ move $a0, $s0 -/* 03D25C 7F00872C 3C0FBC00 */ lui $t7, (0xBC000002 >> 16) # lui $t7, 0xbc00 -/* 03D260 7F008730 35EF0002 */ ori $t7, (0xBC000002 & 0xFFFF) # ori $t7, $t7, 2 -/* 03D264 7F008734 26100008 */ addiu $s0, $s0, 8 -/* 03D268 7F008738 3C188000 */ lui $t8, (0x80000040 >> 16) # lui $t8, 0x8000 -/* 03D26C 7F00873C AD420004 */ sw $v0, 4($t2) -/* 03D270 7F008740 AC8F0000 */ sw $t7, ($a0) -/* 03D274 7F008744 37180040 */ ori $t8, (0x80000040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 03D278 7F008748 02002825 */ move $a1, $s0 -/* 03D27C 7F00874C AC980004 */ sw $t8, 4($a0) -/* 03D280 7F008750 3C190386 */ lui $t9, (0x03860010 >> 16) # lui $t9, 0x386 -/* 03D284 7F008754 3C0E8003 */ lui $t6, %hi(D_8002A868) -/* 03D288 7F008758 25CEA868 */ addiu $t6, %lo(D_8002A868) # addiu $t6, $t6, -0x5798 -/* 03D28C 7F00875C 37390010 */ ori $t9, (0x03860010 & 0xFFFF) # ori $t9, $t9, 0x10 -/* 03D290 7F008760 26100008 */ addiu $s0, $s0, 8 -/* 03D294 7F008764 3C038003 */ lui $v1, %hi(D_8002A860) -/* 03D298 7F008768 02003025 */ move $a2, $s0 -/* 03D29C 7F00876C ACB90000 */ sw $t9, ($a1) -/* 03D2A0 7F008770 ACAE0004 */ sw $t6, 4($a1) -/* 03D2A4 7F008774 3C0F0388 */ lui $t7, (0x03880010 >> 16) # lui $t7, 0x388 -/* 03D2A8 7F008778 2463A860 */ addiu $v1, %lo(D_8002A860) # addiu $v1, $v1, -0x57a0 -/* 03D2AC 7F00877C 35EF0010 */ ori $t7, (0x03880010 & 0xFFFF) # ori $t7, $t7, 0x10 -/* 03D2B0 7F008780 ACCF0000 */ sw $t7, ($a2) -/* 03D2B4 7F008784 ACC30004 */ sw $v1, 4($a2) -/* 03D2B8 7F008788 26100008 */ addiu $s0, $s0, 8 -/* 03D2BC 7F00878C 02003825 */ move $a3, $s0 -/* 03D2C0 7F008790 A0680000 */ sb $t0, ($v1) -/* 03D2C4 7F008794 A0680001 */ sb $t0, 1($v1) -/* 03D2C8 7F008798 A0680002 */ sb $t0, 2($v1) -/* 03D2CC 7F00879C A0680004 */ sb $t0, 4($v1) -/* 03D2D0 7F0087A0 A0680005 */ sb $t0, 5($v1) -/* 03D2D4 7F0087A4 A0680006 */ sb $t0, 6($v1) -/* 03D2D8 7F0087A8 26100008 */ addiu $s0, $s0, 8 -/* 03D2DC 7F0087AC 3C09E700 */ lui $t1, 0xe700 -/* 03D2E0 7F0087B0 02005825 */ move $t3, $s0 -/* 03D2E4 7F0087B4 ACE90000 */ sw $t1, ($a3) -/* 03D2E8 7F0087B8 ACE00004 */ sw $zero, %lo(0x3F800004)($a3) -/* 03D2EC 7F0087BC 26100008 */ addiu $s0, $s0, 8 -/* 03D2F0 7F0087C0 02001025 */ move $v0, $s0 -/* 03D2F4 7F0087C4 AD600004 */ sw $zero, 4($t3) -/* 03D2F8 7F0087C8 AD690000 */ sw $t1, ($t3) -/* 03D2FC 7F0087CC 26100008 */ addiu $s0, $s0, 8 -/* 03D300 7F0087D0 3C18FC12 */ lui $t8, (0xFC127E24 >> 16) # lui $t8, 0xfc12 -/* 03D304 7F0087D4 37187E24 */ ori $t8, (0xFC127E24 & 0xFFFF) # ori $t8, $t8, 0x7e24 -/* 03D308 7F0087D8 2419F9FC */ li $t9, -1540 -/* 03D30C 7F0087DC 02001825 */ move $v1, $s0 -/* 03D310 7F0087E0 AC590004 */ sw $t9, 4($v0) -/* 03D314 7F0087E4 AC580000 */ sw $t8, ($v0) -/* 03D318 7F0087E8 3C0EBA00 */ lui $t6, (0xBA001301 >> 16) # lui $t6, 0xba00 -/* 03D31C 7F0087EC 35CE1301 */ ori $t6, (0xBA001301 & 0xFFFF) # ori $t6, $t6, 0x1301 -/* 03D320 7F0087F0 3C0F0008 */ lui $t7, 8 -/* 03D324 7F0087F4 AC6F0004 */ sw $t7, 4($v1) -/* 03D328 7F0087F8 AC6E0000 */ sw $t6, ($v1) -/* 03D32C 7F0087FC 26100008 */ addiu $s0, $s0, 8 -/* 03D330 7F008800 02002025 */ move $a0, $s0 -/* 03D334 7F008804 3C18BA00 */ lui $t8, (0xBA001102 >> 16) # lui $t8, 0xba00 -/* 03D338 7F008808 37181102 */ ori $t8, (0xBA001102 & 0xFFFF) # ori $t8, $t8, 0x1102 -/* 03D33C 7F00880C 26100008 */ addiu $s0, $s0, 8 -/* 03D340 7F008810 AC980000 */ sw $t8, ($a0) -/* 03D344 7F008814 02002825 */ move $a1, $s0 -/* 03D348 7F008818 3C19BA00 */ lui $t9, (0xBA001001 >> 16) # lui $t9, 0xba00 -/* 03D34C 7F00881C AC800004 */ sw $zero, 4($a0) -/* 03D350 7F008820 37391001 */ ori $t9, (0xBA001001 & 0xFFFF) # ori $t9, $t9, 0x1001 -/* 03D354 7F008824 26100008 */ addiu $s0, $s0, 8 -/* 03D358 7F008828 ACB90000 */ sw $t9, ($a1) -/* 03D35C 7F00882C 02003025 */ move $a2, $s0 -/* 03D360 7F008830 ACA00004 */ sw $zero, 4($a1) -/* 03D364 7F008834 26100008 */ addiu $s0, $s0, 8 -/* 03D368 7F008838 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 -/* 03D36C 7F00883C 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02 -/* 03D370 7F008840 02001025 */ move $v0, $s0 -/* 03D374 7F008844 ACCE0000 */ sw $t6, ($a2) -/* 03D378 7F008848 ACC00004 */ sw $zero, 4($a2) -/* 03D37C 7F00884C 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00 -/* 03D380 7F008850 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02 -/* 03D384 7F008854 26100008 */ addiu $s0, $s0, 8 -/* 03D388 7F008858 24182000 */ li $t8, 8192 -/* 03D38C 7F00885C AC580004 */ sw $t8, 4($v0) -/* 03D390 7F008860 AC4F0000 */ sw $t7, ($v0) -/* 03D394 7F008864 02001825 */ move $v1, $s0 -/* 03D398 7F008868 3C19BA00 */ lui $t9, (0xBA000903 >> 16) # lui $t9, 0xba00 -/* 03D39C 7F00886C 37390903 */ ori $t9, (0xBA000903 & 0xFFFF) # ori $t9, $t9, 0x903 -/* 03D3A0 7F008870 26100008 */ addiu $s0, $s0, 8 -/* 03D3A4 7F008874 AC790000 */ sw $t9, ($v1) -/* 03D3A8 7F008878 240E0C00 */ li $t6, 3072 -/* 03D3AC 7F00887C 02002025 */ move $a0, $s0 -/* 03D3B0 7F008880 AC6E0004 */ sw $t6, 4($v1) -/* 03D3B4 7F008884 26100008 */ addiu $s0, $s0, 8 -/* 03D3B8 7F008888 02002825 */ move $a1, $s0 -/* 03D3BC 7F00888C AC800004 */ sw $zero, 4($a0) -/* 03D3C0 7F008890 AC890000 */ sw $t1, ($a0) -/* 03D3C4 7F008894 26100008 */ addiu $s0, $s0, 8 -/* 03D3C8 7F008898 ACA00004 */ sw $zero, 4($a1) -/* 03D3CC 7F00889C ACA90000 */ sw $t1, ($a1) -/* 03D3D0 7F0088A0 02003825 */ move $a3, $s0 -/* 03D3D4 7F0088A4 26100008 */ addiu $s0, $s0, 8 -/* 03D3D8 7F0088A8 3C0FBB00 */ lui $t7, (0xBB000001 >> 16) # lui $t7, 0xbb00 -/* 03D3DC 7F0088AC 3C180800 */ lui $t8, (0x08000800 >> 16) # lui $t8, 0x800 -/* 03D3E0 7F0088B0 37180800 */ ori $t8, (0x08000800 & 0xFFFF) # ori $t8, $t8, 0x800 -/* 03D3E4 7F0088B4 35EF0001 */ ori $t7, (0xBB000001 & 0xFFFF) # ori $t7, $t7, 1 -/* 03D3E8 7F0088B8 02001025 */ move $v0, $s0 -/* 03D3EC 7F0088BC ACEF0000 */ sw $t7, ($a3) -/* 03D3F0 7F0088C0 ACF80004 */ sw $t8, %lo(0x3F800004)($a3) -/* 03D3F4 7F0088C4 26100008 */ addiu $s0, $s0, 8 -/* 03D3F8 7F0088C8 3C190200 */ lui $t9, %hi(0x02004FE8) # $t9, 0x200 -/* 03D3FC 7F0088CC 3C0BFD10 */ lui $t3, 0xfd10 -/* 03D400 7F0088D0 27394FE8 */ addiu $t9, %lo(0x02004FE8) # addiu $t9, $t9, 0x4fe8 -/* 03D404 7F0088D4 02001825 */ move $v1, $s0 -/* 03D408 7F0088D8 3C0D0701 */ lui $t5, (0x07014050 >> 16) # lui $t5, 0x701 -/* 03D40C 7F0088DC 26100008 */ addiu $s0, $s0, 8 -/* 03D410 7F0088E0 AC590004 */ sw $t9, 4($v0) -/* 03D414 7F0088E4 AC4B0000 */ sw $t3, ($v0) -/* 03D418 7F0088E8 35AD4050 */ ori $t5, (0x07014050 & 0xFFFF) # ori $t5, $t5, 0x4050 -/* 03D41C 7F0088EC 3C0CF510 */ lui $t4, 0xf510 -/* 03D420 7F0088F0 02002025 */ move $a0, $s0 -/* 03D424 7F0088F4 AC6C0000 */ sw $t4, ($v1) -/* 03D428 7F0088F8 AC6D0004 */ sw $t5, 4($v1) -/* 03D42C 7F0088FC 3C1FE600 */ lui $ra, 0xe600 -/* 03D430 7F008900 26100008 */ addiu $s0, $s0, 8 -/* 03D434 7F008904 02002825 */ move $a1, $s0 -/* 03D438 7F008908 AC9F0000 */ sw $ra, ($a0) -/* 03D43C 7F00890C AC800004 */ sw $zero, 4($a0) -/* 03D440 7F008910 3C0E073F */ lui $t6, (0x073FF100 >> 16) # lui $t6, 0x73f -/* 03D444 7F008914 35CEF100 */ ori $t6, (0x073FF100 & 0xFFFF) # ori $t6, $t6, 0xf100 -/* 03D448 7F008918 26100008 */ addiu $s0, $s0, 8 -/* 03D44C 7F00891C 3C11F300 */ lui $s1, 0xf300 -/* 03D450 7F008920 02003025 */ move $a2, $s0 -/* 03D454 7F008924 ACAE0004 */ sw $t6, 4($a1) -/* 03D458 7F008928 26100008 */ addiu $s0, $s0, 8 -/* 03D45C 7F00892C ACB10000 */ sw $s1, ($a1) -/* 03D460 7F008930 02001825 */ move $v1, $s0 -/* 03D464 7F008934 ACC00004 */ sw $zero, 4($a2) -/* 03D468 7F008938 ACC90000 */ sw $t1, ($a2) -/* 03D46C 7F00893C 3C180001 */ lui $t8, (0x00014050 >> 16) # lui $t8, 1 -/* 03D470 7F008940 3C0FF510 */ lui $t7, (0xF5101000 >> 16) # lui $t7, 0xf510 -/* 03D474 7F008944 35EF1000 */ ori $t7, (0xF5101000 & 0xFFFF) # ori $t7, $t7, 0x1000 -/* 03D478 7F008948 37184050 */ ori $t8, (0x00014050 & 0xFFFF) # ori $t8, $t8, 0x4050 -/* 03D47C 7F00894C 26100008 */ addiu $s0, $s0, 8 -/* 03D480 7F008950 02002025 */ move $a0, $s0 -/* 03D484 7F008954 AC780004 */ sw $t8, 4($v1) -/* 03D488 7F008958 AC6F0000 */ sw $t7, ($v1) -/* 03D48C 7F00895C 3C0E0007 */ lui $t6, (0x0007C07C >> 16) # lui $t6, 7 -/* 03D490 7F008960 3C19F200 */ lui $t9, 0xf200 -/* 03D494 7F008964 AC990000 */ sw $t9, ($a0) -/* 03D498 7F008968 35CEC07C */ ori $t6, (0x0007C07C & 0xFFFF) # ori $t6, $t6, 0xc07c -/* 03D49C 7F00896C 26100008 */ addiu $s0, $s0, 8 -/* 03D4A0 7F008970 310200FF */ andi $v0, $t0, 0xff -/* 03D4A4 7F008974 AC8E0004 */ sw $t6, 4($a0) -/* 03D4A8 7F008978 02002825 */ move $a1, $s0 -/* 03D4AC 7F00897C 3C0FFA00 */ lui $t7, 0xfa00 -/* 03D4B0 7F008980 ACAF0000 */ sw $t7, ($a1) -/* 03D4B4 7F008984 0002C600 */ sll $t8, $v0, 0x18 -/* 03D4B8 7F008988 0002CC00 */ sll $t9, $v0, 0x10 -/* 03D4BC 7F00898C 03197025 */ or $t6, $t8, $t9 -/* 03D4C0 7F008990 00027A00 */ sll $t7, $v0, 8 -/* 03D4C4 7F008994 01CFC025 */ or $t8, $t6, $t7 -/* 03D4C8 7F008998 26100008 */ addiu $s0, $s0, 8 -/* 03D4CC 7F00899C 371900FF */ ori $t9, $t8, 0xff -/* 03D4D0 7F0089A0 02003825 */ move $a3, $s0 -/* 03D4D4 7F0089A4 ACB90004 */ sw $t9, 4($a1) -/* 03D4D8 7F0089A8 26100008 */ addiu $s0, $s0, 8 -/* 03D4DC 7F0089AC 3C0E0200 */ lui $t6, %hi(0x020043E8) # $t6, 0x200 -/* 03D4E0 7F0089B0 25CE43E8 */ addiu $t6, %lo(0x020043E8) # addiu $t6, $t6, 0x43e8 -/* 03D4E4 7F0089B4 3C060600 */ lui $a2, 0x600 -/* 03D4E8 7F0089B8 02001025 */ move $v0, $s0 -/* 03D4EC 7F0089BC ACE60000 */ sw $a2, ($a3) -/* 03D4F0 7F0089C0 ACEE0004 */ sw $t6, 4($a3) -/* 03D4F4 7F0089C4 26100008 */ addiu $s0, $s0, 8 -/* 03D4F8 7F0089C8 3C0F0200 */ lui $t7, %hi(0x020044B0) # $t7, 0x200 -/* 03D4FC 7F0089CC 25EF44B0 */ addiu $t7, %lo(0x020044B0) # addiu $t7, $t7, 0x44b0 -/* 03D500 7F0089D0 02001825 */ move $v1, $s0 -/* 03D504 7F0089D4 AC4F0004 */ sw $t7, 4($v0) -/* 03D508 7F0089D8 AC460000 */ sw $a2, ($v0) -/* 03D50C 7F0089DC 3C180200 */ lui $t8, %hi(0x02005FF0) # $t8, 0x200 -/* 03D510 7F0089E0 27185FF0 */ addiu $t8, %lo(0x02005FF0) # addiu $t8, $t8, 0x5ff0 -/* 03D514 7F0089E4 26100008 */ addiu $s0, $s0, 8 -/* 03D518 7F0089E8 02002025 */ move $a0, $s0 -/* 03D51C 7F0089EC AC780004 */ sw $t8, 4($v1) -/* 03D520 7F0089F0 AC6B0000 */ sw $t3, ($v1) -/* 03D524 7F0089F4 26100008 */ addiu $s0, $s0, 8 -/* 03D528 7F0089F8 02002825 */ move $a1, $s0 -/* 03D52C 7F0089FC 26100008 */ addiu $s0, $s0, 8 -/* 03D530 7F008A00 AC8D0004 */ sw $t5, 4($a0) -/* 03D534 7F008A04 AC8C0000 */ sw $t4, ($a0) -/* 03D538 7F008A08 02005025 */ move $t2, $s0 -/* 03D53C 7F008A0C 26100008 */ addiu $s0, $s0, 8 -/* 03D540 7F008A10 ACA00004 */ sw $zero, 4($a1) -/* 03D544 7F008A14 ACBF0000 */ sw $ra, ($a1) -/* 03D548 7F008A18 3C19073F */ lui $t9, (0x073FF100 >> 16) # lui $t9, 0x73f -/* 03D54C 7F008A1C 3739F100 */ ori $t9, (0x073FF100 & 0xFFFF) # ori $t9, $t9, 0xf100 -/* 03D550 7F008A20 02001025 */ move $v0, $s0 -/* 03D554 7F008A24 240700FF */ li $a3, 255 -/* 03D558 7F008A28 AD590004 */ sw $t9, 4($t2) -/* 03D55C 7F008A2C AD510000 */ sw $s1, ($t2) -/* 03D560 7F008A30 26100008 */ addiu $s0, $s0, 8 -/* 03D564 7F008A34 3C0F0001 */ lui $t7, (0x00014050 >> 16) # lui $t7, 1 -/* 03D568 7F008A38 35EF4050 */ ori $t7, (0x00014050 & 0xFFFF) # ori $t7, $t7, 0x4050 -/* 03D56C 7F008A3C 02001825 */ move $v1, $s0 -/* 03D570 7F008A40 AC400004 */ sw $zero, 4($v0) -/* 03D574 7F008A44 AC490000 */ sw $t1, ($v0) -/* 03D578 7F008A48 AC6F0004 */ sw $t7, 4($v1) -/* 03D57C 7F008A4C 00087900 */ sll $t7, $t0, 4 -/* 03D580 7F008A50 01E87823 */ subu $t7, $t7, $t0 -/* 03D584 7F008A54 000F7900 */ sll $t7, $t7, 4 -/* 03D588 7F008A58 01E7001A */ div $zero, $t7, $a3 -/* 03D58C 7F008A5C 3C0EF510 */ lui $t6, (0xF5101000 >> 16) # lui $t6, 0xf510 -/* 03D590 7F008A60 35CE1000 */ ori $t6, (0xF5101000 & 0xFFFF) # ori $t6, $t6, 0x1000 -/* 03D594 7F008A64 26100008 */ addiu $s0, $s0, 8 -/* 03D598 7F008A68 02002025 */ move $a0, $s0 -/* 03D59C 7F008A6C AC6E0000 */ sw $t6, ($v1) -/* 03D5A0 7F008A70 3C190007 */ lui $t9, (0x0007C07C >> 16) # lui $t9, 7 -/* 03D5A4 7F008A74 3739C07C */ ori $t9, (0x0007C07C & 0xFFFF) # ori $t9, $t9, 0xc07c -/* 03D5A8 7F008A78 26100008 */ addiu $s0, $s0, 8 -/* 03D5AC 7F008A7C 3C18F200 */ lui $t8, 0xf200 -/* 03D5B0 7F008A80 AC980000 */ sw $t8, ($a0) -/* 03D5B4 7F008A84 AC990004 */ sw $t9, 4($a0) -/* 03D5B8 7F008A88 02002825 */ move $a1, $s0 -/* 03D5BC 7F008A8C 3C0EFA00 */ lui $t6, 0xfa00 -/* 03D5C0 7F008A90 ACAE0000 */ sw $t6, ($a1) -/* 03D5C4 7F008A94 00087080 */ sll $t6, $t0, 2 -/* 03D5C8 7F008A98 01C87023 */ subu $t6, $t6, $t0 -/* 03D5CC 7F008A9C 000E7080 */ sll $t6, $t6, 2 -/* 03D5D0 7F008AA0 01C87021 */ addu $t6, $t6, $t0 -/* 03D5D4 7F008AA4 000E7100 */ sll $t6, $t6, 4 -/* 03D5D8 7F008AA8 00003012 */ mflo $a2 -/* 03D5DC 7F008AAC 30D800FF */ andi $t8, $a2, 0xff -/* 03D5E0 7F008AB0 03003025 */ move $a2, $t8 -/* 03D5E4 7F008AB4 01C7001A */ div $zero, $t6, $a3 -/* 03D5E8 7F008AB8 0018CE00 */ sll $t9, $t8, 0x18 -/* 03D5EC 7F008ABC 26100008 */ addiu $s0, $s0, 8 -/* 03D5F0 7F008AC0 14E00002 */ bnez $a3, .L7F008ACC -/* 03D5F4 7F008AC4 00000000 */ nop -/* 03D5F8 7F008AC8 0007000D */ break 7 -.L7F008ACC: -/* 03D5FC 7F008ACC 2401FFFF */ li $at, -1 -/* 03D600 7F008AD0 14E10004 */ bne $a3, $at, .L7F008AE4 -/* 03D604 7F008AD4 3C018000 */ lui $at, 0x8000 -/* 03D608 7F008AD8 15E10002 */ bne $t7, $at, .L7F008AE4 -/* 03D60C 7F008ADC 00000000 */ nop -/* 03D610 7F008AE0 0006000D */ break 6 -.L7F008AE4: -/* 03D614 7F008AE4 00007812 */ mflo $t7 -/* 03D618 7F008AE8 31F800FF */ andi $t8, $t7, 0xff -/* 03D61C 7F008AEC 14E00002 */ bnez $a3, .L7F008AF8 -/* 03D620 7F008AF0 00000000 */ nop -/* 03D624 7F008AF4 0007000D */ break 7 -.L7F008AF8: -/* 03D628 7F008AF8 2401FFFF */ li $at, -1 -/* 03D62C 7F008AFC 14E10004 */ bne $a3, $at, .L7F008B10 -/* 03D630 7F008B00 3C018000 */ lui $at, 0x8000 -/* 03D634 7F008B04 15C10002 */ bne $t6, $at, .L7F008B10 -/* 03D638 7F008B08 00000000 */ nop -/* 03D63C 7F008B0C 0006000D */ break 6 -.L7F008B10: -/* 03D640 7F008B10 00187400 */ sll $t6, $t8, 0x10 -/* 03D644 7F008B14 032E7825 */ or $t7, $t9, $t6 -/* 03D648 7F008B18 0006C200 */ sll $t8, $a2, 8 -/* 03D64C 7F008B1C 01F8C825 */ or $t9, $t7, $t8 -/* 03D650 7F008B20 372E00FF */ ori $t6, $t9, 0xff -/* 03D654 7F008B24 ACAE0004 */ sw $t6, 4($a1) -/* 03D658 7F008B28 3C180200 */ lui $t8, %hi(0x02004758) # $t8, 0x200 -/* 03D65C 7F008B2C 02001825 */ move $v1, $s0 -/* 03D660 7F008B30 27184758 */ addiu $t8, %lo(0x02004758) # addiu $t8, $t8, 0x4758 -/* 03D664 7F008B34 3C0F0600 */ lui $t7, 0x600 -/* 03D668 7F008B38 AC6F0000 */ sw $t7, ($v1) -/* 03D66C 7F008B3C AC780004 */ sw $t8, 4($v1) -/* 03D670 7F008B40 8FBF0034 */ lw $ra, 0x34($sp) -/* 03D674 7F008B44 26020008 */ addiu $v0, $s0, 8 -/* 03D678 7F008B48 8FB0002C */ lw $s0, 0x2c($sp) -/* 03D67C 7F008B4C 8FB10030 */ lw $s1, 0x30($sp) -/* 03D680 7F008B50 03E00008 */ jr $ra -/* 03D684 7F008B54 27BD00E8 */ addiu $sp, $sp, 0xe8 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F008B58(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F008B58 -/* 03D688 7F008B58 3C018003 */ lui $at, %hi(D_8002A7D4) -/* 03D68C 7F008B5C A020A7D4 */ sb $zero, %lo(D_8002A7D4)($at) -/* 03D690 7F008B60 3C01445C */ li $at, 0x445C0000 # 880.000000 -/* 03D694 7F008B64 44812000 */ mtc1 $at, $f4 -/* 03D698 7F008B68 3C018007 */ lui $at, %hi(x) -/* 03D69C 7F008B6C 3C0E0200 */ lui $t6, %hi(0x020067F0) # $t6, 0x200 -/* 03D6A0 7F008B70 E4249574 */ swc1 $f4, %lo(x)($at) -/* 03D6A4 7F008B74 3C01C220 */ li $at, 0xC2200000 # -40.000000 -/* 03D6A8 7F008B78 44813000 */ mtc1 $at, $f6 -/* 03D6AC 7F008B7C 3C0F0200 */ lui $t7, 0x200 -/* 03D6B0 7F008B80 3C018003 */ lui $at, %hi(D_8002A89C) -/* 03D6B4 7F008B84 25EF0000 */ addiu $t7, $t7, 0 -/* 03D6B8 7F008B88 25CE67F0 */ addiu $t6, %lo(0x020067F0) # addiu $t6, $t6, 0x67f0 -/* 03D6BC 7F008B8C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03D6C0 7F008B90 01CF3023 */ subu $a2, $t6, $t7 -/* 03D6C4 7F008B94 E426A89C */ swc1 $f6, %lo(D_8002A89C)($at) -/* 03D6C8 7F008B98 AFA5001C */ sw $a1, 0x1c($sp) -/* 03D6CC 7F008B9C 3C028007 */ lui $v0, %hi(virtualaddress) -/* 03D6D0 7F008BA0 3C018003 */ lui $at, %hi(intro_eye_counter) -/* 03D6D4 7F008BA4 24C6003F */ addiu $a2, $a2, 0x3f -/* 03D6D8 7F008BA8 24429590 */ addiu $v0, %lo(virtualaddress) # addiu $v0, $v0, -0x6a70 -/* 03D6DC 7F008BAC AFBF0014 */ sw $ra, 0x14($sp) -/* 03D6E0 7F008BB0 AC20A8A0 */ sw $zero, %lo(intro_eye_counter)($at) -/* 03D6E4 7F008BB4 34D8003F */ ori $t8, $a2, 0x3f -/* 03D6E8 7F008BB8 3C05002A */ lui $a1, %hi(_GlobalimagetablecmdblkSegmentRomStart) # $a1, 0x2a -/* 03D6EC 7F008BBC AC440000 */ sw $a0, ($v0) -/* 03D6F0 7F008BC0 24A5E560 */ addiu $a1, %lo(_GlobalimagetablecmdblkSegmentRomStart) # addiu $a1, $a1, -0x1aa0 -/* 03D6F4 7F008BC4 0C001707 */ jal romCopy -/* 03D6F8 7F008BC8 3B06003F */ xori $a2, $t8, 0x3f -/* 03D6FC 7F008BCC 8FBF0014 */ lw $ra, 0x14($sp) -/* 03D700 7F008BD0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03D704 7F008BD4 03E00008 */ jr $ra -/* 03D708 7F008BD8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void retrieve_display_rareware_logo(void) { - -} -#else -GLOBAL_ASM( -.text -glabel retrieve_display_rareware_logo -/* 03D70C 7F008BDC 3C028003 */ lui $v0, %hi(D_8002A7D0) -/* 03D710 7F008BE0 2442A7D0 */ addiu $v0, %lo(D_8002A7D0) # addiu $v0, $v0, -0x5830 -/* 03D714 7F008BE4 8C4E0000 */ lw $t6, ($v0) -/* 03D718 7F008BE8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03D71C 7F008BEC 240F0001 */ li $t7, 1 -/* 03D720 7F008BF0 AFB00020 */ sw $s0, 0x20($sp) -/* 03D724 7F008BF4 3C19BC00 */ lui $t9, (0xBC000806 >> 16) # lui $t9, 0xbc00 -/* 03D728 7F008BF8 01EEC023 */ subu $t8, $t7, $t6 -/* 03D72C 7F008BFC AFBF0024 */ sw $ra, 0x24($sp) -/* 03D730 7F008C00 AC580000 */ sw $t8, ($v0) -/* 03D734 7F008C04 37390806 */ ori $t9, (0xBC000806 & 0xFFFF) # ori $t9, $t9, 0x806 -/* 03D738 7F008C08 AC990000 */ sw $t9, ($a0) -/* 03D73C 7F008C0C 24900008 */ addiu $s0, $a0, 8 -/* 03D740 7F008C10 00801825 */ move $v1, $a0 -/* 03D744 7F008C14 3C048007 */ lui $a0, %hi(virtualaddress) -/* 03D748 7F008C18 8C849590 */ lw $a0, %lo(virtualaddress)($a0) -/* 03D74C 7F008C1C 0C003A2C */ jal osVirtualToPhysical -/* 03D750 7F008C20 AFA3002C */ sw $v1, 0x2c($sp) -/* 03D754 7F008C24 8FA3002C */ lw $v1, 0x2c($sp) -/* 03D758 7F008C28 3C098003 */ lui $t1, %hi(D_8002A7D4) -/* 03D75C 7F008C2C 2529A7D4 */ addiu $t1, %lo(D_8002A7D4) # addiu $t1, $t1, -0x582c -/* 03D760 7F008C30 AC620004 */ sw $v0, 4($v1) -/* 03D764 7F008C34 91240000 */ lbu $a0, ($t1) -/* 03D768 7F008C38 3C088003 */ lui $t0, %hi(intro_eye_counter) -/* 03D76C 7F008C3C 2508A8A0 */ addiu $t0, %lo(intro_eye_counter) # addiu $t0, $t0, -0x5760 -/* 03D770 7F008C40 50800005 */ beql $a0, $zero, .L7F008C58 -/* 03D774 7F008C44 8D0B0000 */ lw $t3, ($t0) -/* 03D778 7F008C48 24010001 */ li $at, 1 -/* 03D77C 7F008C4C 5481005C */ bnel $a0, $at, .L7F008DC0 -/* 03D780 7F008C50 8FBF0024 */ lw $ra, 0x24($sp) -/* 03D784 7F008C54 8D0B0000 */ lw $t3, ($t0) -.L7F008C58: -/* 03D788 7F008C58 240A00FF */ li $t2, 255 -/* 03D78C 7F008C5C 24050046 */ li $a1, 70 -/* 03D790 7F008C60 016A0019 */ multu $t3, $t2 -/* 03D794 7F008C64 00002012 */ mflo $a0 -/* 03D798 7F008C68 00000000 */ nop -/* 03D79C 7F008C6C 00000000 */ nop -/* 03D7A0 7F008C70 0085001A */ div $zero, $a0, $a1 -/* 03D7A4 7F008C74 14A00002 */ bnez $a1, .L7F008C80 -/* 03D7A8 7F008C78 00000000 */ nop -/* 03D7AC 7F008C7C 0007000D */ break 7 -.L7F008C80: -/* 03D7B0 7F008C80 2401FFFF */ li $at, -1 -/* 03D7B4 7F008C84 14A10004 */ bne $a1, $at, .L7F008C98 -/* 03D7B8 7F008C88 3C018000 */ lui $at, 0x8000 -/* 03D7BC 7F008C8C 14810002 */ bne $a0, $at, .L7F008C98 -/* 03D7C0 7F008C90 00000000 */ nop -/* 03D7C4 7F008C94 0006000D */ break 6 -.L7F008C98: -/* 03D7C8 7F008C98 00001812 */ mflo $v1 -/* 03D7CC 7F008C9C 28610100 */ slti $at, $v1, 0x100 -/* 03D7D0 7F008CA0 14200002 */ bnez $at, .L7F008CAC -/* 03D7D4 7F008CA4 00000000 */ nop -/* 03D7D8 7F008CA8 01401825 */ move $v1, $t2 -.L7F008CAC: -/* 03D7DC 7F008CAC 04610002 */ bgez $v1, .L7F008CB8 -/* 03D7E0 7F008CB0 3C01FFFF */ lui $at, (0xFFFF60A0 >> 16) # lui $at, 0xffff -/* 03D7E4 7F008CB4 00001825 */ move $v1, $zero -.L7F008CB8: -/* 03D7E8 7F008CB8 342160A0 */ ori $at, (0xFFFF60A0 & 0xFFFF) # ori $at, $at, 0x60a0 -/* 03D7EC 7F008CBC 00816021 */ addu $t4, $a0, $at -/* 03D7F0 7F008CC0 0185001A */ div $zero, $t4, $a1 -/* 03D7F4 7F008CC4 14A00002 */ bnez $a1, .L7F008CD0 -/* 03D7F8 7F008CC8 00000000 */ nop -/* 03D7FC 7F008CCC 0007000D */ break 7 -.L7F008CD0: -/* 03D800 7F008CD0 2401FFFF */ li $at, -1 -/* 03D804 7F008CD4 14A10004 */ bne $a1, $at, .L7F008CE8 -/* 03D808 7F008CD8 3C018000 */ lui $at, 0x8000 -/* 03D80C 7F008CDC 15810002 */ bne $t4, $at, .L7F008CE8 -/* 03D810 7F008CE0 00000000 */ nop -/* 03D814 7F008CE4 0006000D */ break 6 -.L7F008CE8: -/* 03D818 7F008CE8 00006812 */ mflo $t5 -/* 03D81C 7F008CEC 014D1023 */ subu $v0, $t2, $t5 -/* 03D820 7F008CF0 28410100 */ slti $at, $v0, 0x100 -/* 03D824 7F008CF4 14200002 */ bnez $at, .L7F008D00 -/* 03D828 7F008CF8 00000000 */ nop -/* 03D82C 7F008CFC 01401025 */ move $v0, $t2 -.L7F008D00: -/* 03D830 7F008D00 04410002 */ bgez $v0, .L7F008D0C -/* 03D834 7F008D04 00000000 */ nop -/* 03D838 7F008D08 00001025 */ move $v0, $zero -.L7F008D0C: -/* 03D83C 7F008D0C 00620019 */ multu $v1, $v0 -/* 03D840 7F008D10 3C018007 */ lui $at, %hi(x) -/* 03D844 7F008D14 C4249574 */ lwc1 $f4, %lo(x)($at) -/* 03D848 7F008D18 02002025 */ move $a0, $s0 -/* 03D84C 7F008D1C 24050193 */ li $a1, 403 -/* 03D850 7F008D20 4600218D */ trunc.w.s $f6, $f4 -/* 03D854 7F008D24 240601E8 */ li $a2, 488 -/* 03D858 7F008D28 44073000 */ mfc1 $a3, $f6 -/* 03D85C 7F008D2C 00007012 */ mflo $t6 -/* 03D860 7F008D30 00000000 */ nop -/* 03D864 7F008D34 00000000 */ nop -/* 03D868 7F008D38 01CA001A */ div $zero, $t6, $t2 -/* 03D86C 7F008D3C 0000C012 */ mflo $t8 -/* 03D870 7F008D40 AFB80010 */ sw $t8, 0x10($sp) -/* 03D874 7F008D44 15400002 */ bnez $t2, .L7F008D50 -/* 03D878 7F008D48 00000000 */ nop -/* 03D87C 7F008D4C 0007000D */ break 7 -.L7F008D50: -/* 03D880 7F008D50 2401FFFF */ li $at, -1 -/* 03D884 7F008D54 15410004 */ bne $t2, $at, .L7F008D68 -/* 03D888 7F008D58 3C018000 */ lui $at, 0x8000 -/* 03D88C 7F008D5C 15C10002 */ bne $t6, $at, .L7F008D68 -/* 03D890 7F008D60 00000000 */ nop -/* 03D894 7F008D64 0006000D */ break 6 -.L7F008D68: -/* 03D898 7F008D68 0FC02130 */ jal load_display_rare_logo -/* 03D89C 7F008D6C 00000000 */ nop -/* 03D8A0 7F008D70 3C088003 */ lui $t0, %hi(intro_eye_counter) -/* 03D8A4 7F008D74 2508A8A0 */ addiu $t0, %lo(intro_eye_counter) # addiu $t0, $t0, -0x5760 -/* 03D8A8 7F008D78 8D030000 */ lw $v1, ($t0) -/* 03D8AC 7F008D7C 3C098003 */ lui $t1, %hi(D_8002A7D4) -/* 03D8B0 7F008D80 2529A7D4 */ addiu $t1, %lo(D_8002A7D4) # addiu $t1, $t1, -0x582c -/* 03D8B4 7F008D84 28640104 */ slti $a0, $v1, 0x104 -/* 03D8B8 7F008D88 24790001 */ addiu $t9, $v1, 1 -/* 03D8BC 7F008D8C 00408025 */ move $s0, $v0 -/* 03D8C0 7F008D90 1480000A */ bnez $a0, .L7F008DBC -/* 03D8C4 7F008D94 AD190000 */ sw $t9, ($t0) -/* 03D8C8 7F008D98 2B210122 */ slti $at, $t9, 0x122 -/* 03D8CC 7F008D9C 54200008 */ bnezl $at, .L7F008DC0 -/* 03D8D0 7F008DA0 8FBF0024 */ lw $ra, 0x24($sp) -/* 03D8D4 7F008DA4 912C0000 */ lbu $t4, ($t1) -/* 03D8D8 7F008DA8 AD000000 */ sw $zero, ($t0) -/* 03D8DC 7F008DAC 258F0001 */ addiu $t7, $t4, 1 -/* 03D8E0 7F008DB0 A12F0000 */ sb $t7, ($t1) -/* 03D8E4 7F008DB4 25EE0001 */ addiu $t6, $t7, 1 -/* 03D8E8 7F008DB8 A12E0000 */ sb $t6, ($t1) -.L7F008DBC: -/* 03D8EC 7F008DBC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F008DC0: -/* 03D8F0 7F008DC0 02001025 */ move $v0, $s0 -/* 03D8F4 7F008DC4 8FB00020 */ lw $s0, 0x20($sp) -/* 03D8F8 7F008DC8 03E00008 */ jr $ra -/* 03D8FC 7F008DCC 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F008DD0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F008DD0 -/* 03D900 7F008DD0 3C028003 */ lui $v0, %hi(D_8002A7D4) -/* 03D904 7F008DD4 9042A7D4 */ lbu $v0, %lo(D_8002A7D4)($v0) -/* 03D908 7F008DD8 384E0002 */ xori $t6, $v0, 2 -/* 03D90C 7F008DDC 03E00008 */ jr $ra -/* 03D910 7F008DE0 2DC20001 */ sltiu $v0, $t6, 1 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F008DE4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F008DE4 -/* 03D914 7F008DE4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03D918 7F008DE8 AFBF0014 */ sw $ra, 0x14($sp) -/* 03D91C 7F008DEC AFA5001C */ sw $a1, 0x1c($sp) -/* 03D920 7F008DF0 8C8E0000 */ lw $t6, ($a0) -/* 03D924 7F008DF4 3C018007 */ lui $at, %hi(dword_CODE_bss_8006958C) -/* 03D928 7F008DF8 3C03002A */ lui $v1, %hi(unknown2) # $v1, 0x2a -/* 03D92C 7F008DFC AC2E958C */ sw $t6, %lo(dword_CODE_bss_8006958C)($at) -/* 03D930 7F008E00 8CB80000 */ lw $t8, ($a1) -/* 03D934 7F008E04 3C01FFFB */ lui $at, (0xFFFBFC00 >> 16) # lui $at, 0xfffb -/* 03D938 7F008E08 3421FC00 */ ori $at, (0xFFFBFC00 & 0xFFFF) # ori $at, $at, 0xfc00 -/* 03D93C 7F008E0C 0301C821 */ addu $t9, $t8, $at -/* 03D940 7F008E10 ACB90000 */ sw $t9, ($a1) -/* 03D944 7F008E14 8C880000 */ lw $t0, ($a0) -/* 03D948 7F008E18 3C0B002C */ lui $t3, %hi(_ramromDam1SegmentRomStart) # $t3, 0x2c -/* 03D94C 7F008E1C 24634D50 */ addiu $v1, %lo(unknown2) # addiu $v1, $v1, 0x4d50 -/* 03D950 7F008E20 3C010004 */ lui $at, (0x00040400 >> 16) # lui $at, 4 -/* 03D954 7F008E24 256BF2D0 */ addiu $t3, %lo(_ramromDam1SegmentRomStart) # addiu $t3, $t3, -0xd30 -/* 03D958 7F008E28 34210400 */ ori $at, (0x00040400 & 0xFFFF) # ori $at, $at, 0x400 -/* 03D95C 7F008E2C 01633023 */ subu $a2, $t3, $v1 -/* 03D960 7F008E30 3C028007 */ lui $v0, %hi(dword_CODE_bss_80069588) -/* 03D964 7F008E34 24C6003F */ addiu $a2, $a2, 0x3f -/* 03D968 7F008E38 01014821 */ addu $t1, $t0, $at -/* 03D96C 7F008E3C 24429588 */ addiu $v0, %lo(dword_CODE_bss_80069588) # addiu $v0, $v0, -0x6a78 -/* 03D970 7F008E40 AC890000 */ sw $t1, ($a0) -/* 03D974 7F008E44 34CC003F */ ori $t4, $a2, 0x3f -/* 03D978 7F008E48 AC490000 */ sw $t1, ($v0) -/* 03D97C 7F008E4C 3986003F */ xori $a2, $t4, 0x3f -/* 03D980 7F008E50 01202025 */ move $a0, $t1 -/* 03D984 7F008E54 0C001707 */ jal romCopy -/* 03D988 7F008E58 00602825 */ move $a1, $v1 -/* 03D98C 7F008E5C 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069588) -/* 03D990 7F008E60 3C058007 */ lui $a1, %hi(dword_CODE_bss_8006958C) -/* 03D994 7F008E64 8CA5958C */ lw $a1, %lo(dword_CODE_bss_8006958C)($a1) -/* 03D998 7F008E68 0FC06C38 */ jal sub_GAME_7F01B0E0 -/* 03D99C 7F008E6C 8C849588 */ lw $a0, %lo(dword_CODE_bss_80069588)($a0) -/* 03D9A0 7F008E70 8FBF0014 */ lw $ra, 0x14($sp) -/* 03D9A4 7F008E74 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03D9A8 7F008E78 03E00008 */ jr $ra -/* 03D9AC 7F008E7C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F008E80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F008E80 -/* 03D9B0 7F008E80 240E0002 */ li $t6, 2 -/* 03D9B4 7F008E84 3C018003 */ lui $at, %hi(D_8002A7D4) -/* 03D9B8 7F008E88 A02EA7D4 */ sb $t6, %lo(D_8002A7D4)($at) -/* 03D9BC 7F008E8C 3C014470 */ li $at, 0x44700000 # 960.000000 -/* 03D9C0 7F008E90 44812000 */ mtc1 $at, $f4 -/* 03D9C4 7F008E94 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 03D9C8 7F008E98 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03D9CC 7F008E9C 44813000 */ mtc1 $at, $f6 -/* 03D9D0 7F008EA0 44800000 */ mtc1 $zero, $f0 -/* 03D9D4 7F008EA4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 03D9D8 7F008EA8 44814000 */ mtc1 $at, $f8 -/* 03D9DC 7F008EAC 3C014380 */ li $at, 0x43800000 # 256.000000 -/* 03D9E0 7F008EB0 44815000 */ mtc1 $at, $f10 -/* 03D9E4 7F008EB4 AFA40060 */ sw $a0, 0x60($sp) -/* 03D9E8 7F008EB8 AFA50064 */ sw $a1, 0x64($sp) -/* 03D9EC 7F008EBC AFBF002C */ sw $ra, 0x2c($sp) -/* 03D9F0 7F008EC0 3C048007 */ lui $a0, %hi(matrix_buffer_gunbarrel_0) -/* 03D9F4 7F008EC4 44050000 */ mfc1 $a1, $f0 -/* 03D9F8 7F008EC8 44070000 */ mfc1 $a3, $f0 -/* 03D9FC 7F008ECC AFB10028 */ sw $s1, 0x28($sp) -/* 03DA00 7F008ED0 AFB00024 */ sw $s0, 0x24($sp) -/* 03DA04 7F008ED4 8C84955C */ lw $a0, %lo(matrix_buffer_gunbarrel_0)($a0) -/* 03DA08 7F008ED8 3C0644A0 */ lui $a2, 0x44a0 -/* 03DA0C 7F008EDC E7A40010 */ swc1 $f4, 0x10($sp) -/* 03DA10 7F008EE0 E7A60014 */ swc1 $f6, 0x14($sp) -/* 03DA14 7F008EE4 E7A80018 */ swc1 $f8, 0x18($sp) -/* 03DA18 7F008EE8 0C005AF1 */ jal guOrtho -/* 03DA1C 7F008EEC E7AA001C */ swc1 $f10, 0x1c($sp) -/* 03DA20 7F008EF0 3C0143F1 */ li $at, 0x43F10000 # 482.000000 -/* 03DA24 7F008EF4 44810000 */ mtc1 $at, $f0 -/* 03DA28 7F008EF8 3C01C1F0 */ li $at, 0xC1F00000 # -30.000000 -/* 03DA2C 7F008EFC 44818000 */ mtc1 $at, $f16 -/* 03DA30 7F008F00 3C018007 */ lui $at, %hi(x) -/* 03DA34 7F008F04 8FA20060 */ lw $v0, 0x60($sp) -/* 03DA38 7F008F08 E4309574 */ swc1 $f16, %lo(x)($at) -/* 03DA3C 7F008F0C 3C018007 */ lui $at, %hi(y) -/* 03DA40 7F008F10 E4209578 */ swc1 $f0, %lo(y)($at) -/* 03DA44 7F008F14 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 03DA48 7F008F18 44819000 */ mtc1 $at, $f18 -/* 03DA4C 7F008F1C 3C018007 */ lui $at, %hi(dword_CODE_bss_8006957C) -/* 03DA50 7F008F20 8FB80064 */ lw $t8, 0x64($sp) -/* 03DA54 7F008F24 E432957C */ swc1 $f18, %lo(dword_CODE_bss_8006957C)($at) -/* 03DA58 7F008F28 3C018007 */ lui $at, %hi(dword_CODE_bss_80069580) -/* 03DA5C 7F008F2C E4209580 */ swc1 $f0, %lo(dword_CODE_bss_80069580)($at) -/* 03DA60 7F008F30 3C108007 */ lui $s0, %hi(dword_CODE_bss_80069550) -/* 03DA64 7F008F34 3C018007 */ lui $at, %hi(word_CODE_bss_80069584) -/* 03DA68 7F008F38 240F0042 */ li $t7, 66 -/* 03DA6C 7F008F3C 26109550 */ addiu $s0, %lo(dword_CODE_bss_80069550) # addiu $s0, $s0, -0x6ab0 -/* 03DA70 7F008F40 A42F9584 */ sh $t7, %lo(word_CODE_bss_80069584)($at) -/* 03DA74 7F008F44 AE020000 */ sw $v0, ($s0) -/* 03DA78 7F008F48 24420200 */ addiu $v0, $v0, 0x200 -/* 03DA7C 7F008F4C 2719FE00 */ addiu $t9, $t8, -0x200 -/* 03DA80 7F008F50 AFB90064 */ sw $t9, 0x64($sp) -/* 03DA84 7F008F54 AFA20060 */ sw $v0, 0x60($sp) -/* 03DA88 7F008F58 8E040000 */ lw $a0, ($s0) -/* 03DA8C 7F008F5C 0FC06EB8 */ jal sub_GAME_7F01BAE0 -/* 03DA90 7F008F60 2405001E */ li $a1, 30 -/* 03DA94 7F008F64 8FA30060 */ lw $v1, 0x60($sp) -/* 03DA98 7F008F68 8FA80064 */ lw $t0, 0x64($sp) -/* 03DA9C 7F008F6C 3C028007 */ lui $v0, %hi(dword_CODE_bss_80069554) -/* 03DAA0 7F008F70 24429554 */ addiu $v0, %lo(dword_CODE_bss_80069554) # addiu $v0, $v0, -0x6aac -/* 03DAA4 7F008F74 8E050000 */ lw $a1, ($s0) -/* 03DAA8 7F008F78 AC430000 */ sw $v1, ($v0) -/* 03DAAC 7F008F7C 3C018000 */ lui $at, 0x8000 -/* 03DAB0 7F008F80 24630100 */ addiu $v1, $v1, 0x100 -/* 03DAB4 7F008F84 2509FF00 */ addiu $t1, $t0, -0x100 -/* 03DAB8 7F008F88 AFA90064 */ sw $t1, 0x64($sp) -/* 03DABC 7F008F8C AFA30060 */ sw $v1, 0x60($sp) -/* 03DAC0 7F008F90 8C440000 */ lw $a0, ($v0) -/* 03DAC4 7F008F94 2406001E */ li $a2, 30 -/* 03DAC8 7F008F98 0FC06FFE */ jal sub_GAME_7F01BFF8 -/* 03DACC 7F008F9C 00A12821 */ addu $a1, $a1, $at -/* 03DAD0 7F008FA0 27A40060 */ addiu $a0, $sp, 0x60 -/* 03DAD4 7F008FA4 0FC02379 */ jal sub_GAME_7F008DE4 -/* 03DAD8 7F008FA8 27A50064 */ addiu $a1, $sp, 0x64 -/* 03DADC 7F008FAC 3C0B8003 */ lui $t3, %hi(D_8002A8A8) -/* 03DAE0 7F008FB0 256BA8A8 */ addiu $t3, %lo(D_8002A8A8) # addiu $t3, $t3, -0x5758 -/* 03DAE4 7F008FB4 8D610000 */ lw $at, ($t3) -/* 03DAE8 7F008FB8 27AA0050 */ addiu $t2, $sp, 0x50 -/* 03DAEC 7F008FBC 8D6E0004 */ lw $t6, 4($t3) -/* 03DAF0 7F008FC0 AD410000 */ sw $at, ($t2) -/* 03DAF4 7F008FC4 8D610008 */ lw $at, 8($t3) -/* 03DAF8 7F008FC8 3C110001 */ lui $s1, (0x00012C00 >> 16) # lui $s1, 1 -/* 03DAFC 7F008FCC 36312C00 */ ori $s1, (0x00012C00 & 0xFFFF) # ori $s1, $s1, 0x2c00 -/* 03DB00 7F008FD0 AD4E0004 */ sw $t6, 4($t2) -/* 03DB04 7F008FD4 AD410008 */ sw $at, 8($t2) -/* 03DB08 7F008FD8 8FA50060 */ lw $a1, 0x60($sp) -/* 03DB0C 7F008FDC 02203025 */ move $a2, $s1 -/* 03DB10 7F008FE0 0FC32EBD */ jal sub_GAME_7F0CBAF4 -/* 03DB14 7F008FE4 27A40040 */ addiu $a0, $sp, 0x40 -/* 03DB18 7F008FE8 8FA60060 */ lw $a2, 0x60($sp) -/* 03DB1C 7F008FEC 8FA70064 */ lw $a3, 0x64($sp) -/* 03DB20 7F008FF0 3C108004 */ lui $s0, %hi(c_item_entries) -/* 03DB24 7F008FF4 2610DE10 */ addiu $s0, %lo(c_item_entries) # addiu $s0, $s0, -0x21f0 -/* 03DB28 7F008FF8 27AF0040 */ addiu $t7, $sp, 0x40 -/* 03DB2C 7F008FFC 00D13021 */ addu $a2, $a2, $s1 -/* 03DB30 7F009000 00F13823 */ subu $a3, $a3, $s1 -/* 03DB34 7F009004 AFA70064 */ sw $a3, 0x64($sp) -/* 03DB38 7F009008 AFA60060 */ sw $a2, 0x60($sp) -/* 03DB3C 7F00900C AFAF0010 */ sw $t7, 0x10($sp) -/* 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 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) -/* 03DB5C 7F00902C 8FA70064 */ lw $a3, 0x64($sp) -/* 03DB60 7F009030 3478003F */ ori $t8, $v1, 0x3f -/* 03DB64 7F009034 3B19003F */ xori $t9, $t8, 0x3f -/* 03DB68 7F009038 27A80040 */ addiu $t0, $sp, 0x40 -/* 03DB6C 7F00903C 00D93021 */ addu $a2, $a2, $t9 -/* 03DB70 7F009040 00F93823 */ subu $a3, $a3, $t9 -/* 03DB74 7F009044 AFA70064 */ sw $a3, 0x64($sp) -/* 03DB78 7F009048 AFA60060 */ sw $a2, 0x60($sp) -/* 03DB7C 7F00904C AFA80010 */ sw $t0, 0x10($sp) -/* 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 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) -/* 03DB9C 7F00906C 8FAB0060 */ lw $t3, 0x60($sp) -/* 03DBA0 7F009070 3469003F */ ori $t1, $v1, 0x3f -/* 03DBA4 7F009074 392D003F */ xori $t5, $t1, 0x3f -/* 03DBA8 7F009078 018D5023 */ subu $t2, $t4, $t5 -/* 03DBAC 7F00907C 016D7021 */ addu $t6, $t3, $t5 -/* 03DBB0 7F009080 AFAA0064 */ sw $t2, 0x64($sp) -/* 03DBB4 7F009084 AFAE0060 */ sw $t6, 0x60($sp) -/* 03DBB8 7F009088 24040005 */ li $a0, 5 -/* 03DBBC 7F00908C 2405004E */ li $a1, 78 -/* 03DBC0 7F009090 8E060064 */ lw $a2, 0x64($s0) -/* 03DBC4 7F009094 8E070618 */ lw $a3, 0x618($s0) -/* 03DBC8 7F009098 0FC08D2A */ jal sub_GAME_7F0234A8 -/* 03DBCC 7F00909C AFA00010 */ sw $zero, 0x10($sp) -/* 03DBD0 7F0090A0 3C118003 */ lui $s1, %hi(D_8002A7F4) -/* 03DBD4 7F0090A4 2631A7F4 */ addiu $s1, %lo(D_8002A7F4) # addiu $s1, $s1, -0x580c -/* 03DBD8 7F0090A8 3C053E40 */ lui $a1, (0x3E404CEC >> 16) # lui $a1, 0x3e40 -/* 03DBDC 7F0090AC AE220000 */ sw $v0, ($s1) -/* 03DBE0 7F0090B0 34A54CEC */ ori $a1, (0x3E404CEC & 0xFFFF) # ori $a1, $a1, 0x4cec -/* 03DBE4 7F0090B4 0FC1B39E */ jal set_obj_instance_controller_scale -/* 03DBE8 7F0090B8 00402025 */ move $a0, $v0 -/* 03DBEC 7F0090BC 8E240000 */ lw $a0, ($s1) -/* 03DBF0 7F0090C0 0FC1B3A1 */ jal sub_GAME_7F06CE84 -/* 03DBF4 7F0090C4 3C053F80 */ lui $a1, 0x3f80 -/* 03DBF8 7F0090C8 8E240000 */ lw $a0, ($s1) -/* 03DBFC 7F0090CC 0FC1B303 */ jal setsuboffset -/* 03DC00 7F0090D0 27A50050 */ addiu $a1, $sp, 0x50 -/* 03DC04 7F0090D4 8E240000 */ lw $a0, ($s1) -/* 03DC08 7F0090D8 0FC1B34F */ jal setsubroty -/* 03DC0C 7F0090DC 24050000 */ li $a1, 0 -/* 03DC10 7F0090E0 8E240000 */ lw $a0, ($s1) -/* 03DC14 7F0090E4 3C053F00 */ lui $a1, 0x3f00 -/* 03DC18 7F0090E8 0FC1BFC6 */ jal sub_GAME_7F06FF18 -/* 03DC1C 7F0090EC 24060000 */ li $a2, 0 -/* 03DC20 7F0090F0 3C0F8007 */ lui $t7, %hi(ptr_animation_table) -/* 03DC24 7F0090F4 8DEF9538 */ lw $t7, %lo(ptr_animation_table)($t7) -/* 03DC28 7F0090F8 3C180000 */ lui $t8, 0 -/* 03DC2C 7F0090FC 27184144 */ addiu $t8, $t8, 0x4144 -/* 03DC30 7F009100 01F82821 */ addu $a1, $t7, $t8 -/* 03DC34 7F009104 94A30004 */ lhu $v1, 4($a1) -/* 03DC38 7F009108 2462FFBC */ addiu $v0, $v1, -0x44 -/* 03DC3C 7F00910C 04430005 */ bgezl $v0, .L7F009124 -/* 03DC40 7F009110 44822000 */ mtc1 $v0, $f4 -/* 03DC44 7F009114 00431021 */ addu $v0, $v0, $v1 -.L7F009118: -/* 03DC48 7F009118 0442FFFF */ bltzl $v0, .L7F009118 -/* 03DC4C 7F00911C 00431021 */ addu $v0, $v0, $v1 -/* 03DC50 7F009120 44822000 */ mtc1 $v0, $f4 -.L7F009124: -/* 03DC54 7F009124 3C018005 */ lui $at, %hi(D_8004F2DC) -/* 03DC58 7F009128 C426F2DC */ lwc1 $f6, %lo(D_8004F2DC)($at) -/* 03DC5C 7F00912C 46802120 */ cvt.s.w $f4, $f4 -/* 03DC60 7F009130 44804000 */ mtc1 $zero, $f8 -/* 03DC64 7F009134 8E240000 */ lw $a0, ($s1) -/* 03DC68 7F009138 00003025 */ move $a2, $zero -/* 03DC6C 7F00913C E7A60010 */ swc1 $f6, 0x10($sp) -/* 03DC70 7F009140 E7A80014 */ swc1 $f8, 0x14($sp) -/* 03DC74 7F009144 44072000 */ mfc1 $a3, $f4 -/* 03DC78 7F009148 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 03DC7C 7F00914C 00000000 */ nop -/* 03DC80 7F009150 3C108004 */ lui $s0, %hi(PitemZ_entries) -/* 03DC84 7F009154 2610A228 */ addiu $s0, %lo(PitemZ_entries) # addiu $s0, $s0, -0x5dd8 -/* 03DC88 7F009158 27B90040 */ addiu $t9, $sp, 0x40 -/* 03DC8C 7F00915C AFB90010 */ sw $t9, 0x10($sp) -/* 03DC90 7F009160 8E0408F4 */ lw $a0, 0x8f4($s0) -/* 03DC94 7F009164 8E0508F8 */ lw $a1, 0x8f8($s0) -/* 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 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) -/* 03DCB4 7F009184 8FAA0060 */ lw $t2, 0x60($sp) -/* 03DCB8 7F009188 3468003F */ ori $t0, $v1, 0x3f -/* 03DCBC 7F00918C 3909003F */ xori $t1, $t0, 0x3f -/* 03DCC0 7F009190 01A96023 */ subu $t4, $t5, $t1 -/* 03DCC4 7F009194 01495821 */ addu $t3, $t2, $t1 -/* 03DCC8 7F009198 AFAC0064 */ sw $t4, 0x64($sp) -/* 03DCCC 7F00919C AFAB0060 */ sw $t3, 0x60($sp) -/* 03DCD0 7F0091A0 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 03DCD4 7F0091A4 8E0408F4 */ lw $a0, 0x8f4($s0) -/* 03DCD8 7F0091A8 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 03DCDC 7F0091AC 8E0408F4 */ lw $a0, 0x8f4($s0) -/* 03DCE0 7F0091B0 3C108003 */ lui $s0, %hi(D_8002A7F8) -/* 03DCE4 7F0091B4 2610A7F8 */ addiu $s0, %lo(D_8002A7F8) # addiu $s0, $s0, -0x5808 -/* 03DCE8 7F0091B8 3C053E40 */ lui $a1, (0x3E404CEC >> 16) # lui $a1, 0x3e40 -/* 03DCEC 7F0091BC AE020000 */ sw $v0, ($s0) -/* 03DCF0 7F0091C0 34A54CEC */ ori $a1, (0x3E404CEC & 0xFFFF) # ori $a1, $a1, 0x4cec -/* 03DCF4 7F0091C4 0FC1B39E */ jal set_obj_instance_controller_scale -/* 03DCF8 7F0091C8 00402025 */ move $a0, $v0 -/* 03DCFC 7F0091CC 8E2E0000 */ lw $t6, ($s1) -/* 03DD00 7F0091D0 8E0F0000 */ lw $t7, ($s0) -/* 03DD04 7F0091D4 3C018007 */ lui $at, %hi(dword_CODE_bss_80069594) -/* 03DD08 7F0091D8 ADEE0018 */ sw $t6, 0x18($t7) -/* 03DD0C 7F0091DC 8E380000 */ lw $t8, ($s1) -/* 03DD10 7F0091E0 8E0D0000 */ lw $t5, ($s0) -/* 03DD14 7F0091E4 8F190008 */ lw $t9, 8($t8) -/* 03DD18 7F0091E8 8F280008 */ lw $t0, 8($t9) -/* 03DD1C 7F0091EC 8D09000C */ lw $t1, 0xc($t0) -/* 03DD20 7F0091F0 ADA9001C */ sw $t1, 0x1c($t5) -/* 03DD24 7F0091F4 8FBF002C */ lw $ra, 0x2c($sp) -/* 03DD28 7F0091F8 8FB10028 */ lw $s1, 0x28($sp) -/* 03DD2C 7F0091FC 8FB00024 */ lw $s0, 0x24($sp) -/* 03DD30 7F009200 AC209594 */ sw $zero, %lo(dword_CODE_bss_80069594)($at) -/* 03DD34 7F009204 03E00008 */ jr $ra -/* 03DD38 7F009208 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F00920C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F00920C -/* 03DD3C 7F00920C 3C048003 */ lui $a0, %hi(D_8002A7F4) -/* 03DD40 7F009210 8C84A7F4 */ lw $a0, %lo(D_8002A7F4)($a0) -/* 03DD44 7F009214 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03DD48 7F009218 AFBF0014 */ sw $ra, 0x14($sp) -/* 03DD4C 7F00921C 10800003 */ beqz $a0, .L7F00922C -/* 03DD50 7F009220 00000000 */ nop -/* 03DD54 7F009224 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero -/* 03DD58 7F009228 00000000 */ nop -.L7F00922C: -/* 03DD5C 7F00922C 3C048003 */ lui $a0, %hi(D_8002A7F8) -/* 03DD60 7F009230 8C84A7F8 */ lw $a0, %lo(D_8002A7F8)($a0) -/* 03DD64 7F009234 50800004 */ beql $a0, $zero, .L7F009248 -/* 03DD68 7F009238 8FBF0014 */ lw $ra, 0x14($sp) -/* 03DD6C 7F00923C 0FC1B08D */ jal set_obj_instance_scale_to_zero -/* 03DD70 7F009240 00000000 */ nop -/* 03DD74 7F009244 8FBF0014 */ lw $ra, 0x14($sp) -.L7F009248: -/* 03DD78 7F009248 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03DD7C 7F00924C 03E00008 */ jr $ra -/* 03DD80 7F009250 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F009254(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel jpt_8004F2E0 - .word .L7F0092A4 - .word .L7F009344 - .word .L7F009428 - .word .L7F00949C - .word .L7F009550 - .word .L7F009610 - .word .L7F0096D8 -glabel D_8004F2FC -.word 0x44adc000 -glabel D_8004F300 -.word 0x449f8000 -glabel D_8004F304 -.word 0x40ba2fbd -.text -glabel sub_GAME_7F009254 -/* 03DD84 7F009254 3C028003 */ lui $v0, %hi(D_8002A7D0) -/* 03DD88 7F009258 2442A7D0 */ addiu $v0, %lo(D_8002A7D0) # addiu $v0, $v0, -0x5830 -/* 03DD8C 7F00925C 8C4E0000 */ lw $t6, ($v0) -/* 03DD90 7F009260 240F0001 */ li $t7, 1 -/* 03DD94 7F009264 3C198003 */ lui $t9, %hi(D_8002A7D4) -/* 03DD98 7F009268 01EEC023 */ subu $t8, $t7, $t6 -/* 03DD9C 7F00926C AC580000 */ sw $t8, ($v0) -/* 03DDA0 7F009270 9339A7D4 */ lbu $t9, %lo(D_8002A7D4)($t9) -/* 03DDA4 7F009274 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03DDA8 7F009278 AFBF0014 */ sw $ra, 0x14($sp) -/* 03DDAC 7F00927C 2728FFFE */ addiu $t0, $t9, -2 -/* 03DDB0 7F009280 2D010007 */ sltiu $at, $t0, 7 -/* 03DDB4 7F009284 1020012A */ beqz $at, .L7F009730 -/* 03DDB8 7F009288 00802825 */ move $a1, $a0 -/* 03DDBC 7F00928C 00084080 */ sll $t0, $t0, 2 -/* 03DDC0 7F009290 3C018005 */ lui $at, %hi(jpt_8004F2E0) -/* 03DDC4 7F009294 00280821 */ addu $at, $at, $t0 -/* 03DDC8 7F009298 8C28F2E0 */ lw $t0, %lo(jpt_8004F2E0)($at) -/* 03DDCC 7F00929C 01000008 */ jr $t0 -/* 03DDD0 7F0092A0 00000000 */ nop -.L7F0092A4: -/* 03DDD4 7F0092A4 0FC01E90 */ jal something_with_gunbarrel_and_rareware_logo_matrix_manip -/* 03DDD8 7F0092A8 00A02025 */ move $a0, $a1 -/* 03DDDC 7F0092AC 3C078007 */ lui $a3, %hi(x) -/* 03DDE0 7F0092B0 24E79574 */ addiu $a3, %lo(x) # addiu $a3, $a3, -0x6a8c -/* 03DDE4 7F0092B4 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 03DDE8 7F0092B8 44813000 */ mtc1 $at, $f6 -/* 03DDEC 7F0092BC C4E40000 */ lwc1 $f4, ($a3) -/* 03DDF0 7F0092C0 3C038007 */ lui $v1, %hi(word_CODE_bss_80069584) -/* 03DDF4 7F0092C4 24639584 */ addiu $v1, %lo(word_CODE_bss_80069584) # addiu $v1, $v1, -0x6a7c -/* 03DDF8 7F0092C8 46062200 */ add.s $f8, $f4, $f6 -/* 03DDFC 7F0092CC 84640000 */ lh $a0, ($v1) -/* 03DE00 7F0092D0 00402825 */ move $a1, $v0 -/* 03DE04 7F0092D4 0481000A */ bgez $a0, .L7F009300 -/* 03DE08 7F0092D8 E4E80000 */ swc1 $f8, ($a3) -/* 03DE0C 7F0092DC 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 03DE10 7F0092E0 44815000 */ mtc1 $at, $f10 -/* 03DE14 7F0092E4 C4E00000 */ lwc1 $f0, ($a3) -/* 03DE18 7F0092E8 240900C8 */ li $t1, 200 -/* 03DE1C 7F0092EC A4690000 */ sh $t1, ($v1) -/* 03DE20 7F0092F0 460A0401 */ sub.s $f16, $f0, $f10 -/* 03DE24 7F0092F4 3C018007 */ lui $at, %hi(dword_CODE_bss_8006957C) -/* 03DE28 7F0092F8 10000004 */ b .L7F00930C -/* 03DE2C 7F0092FC E430957C */ swc1 $f16, %lo(dword_CODE_bss_8006957C)($at) -.L7F009300: -/* 03DE30 7F009300 248AFFFA */ addiu $t2, $a0, -6 -/* 03DE34 7F009304 A46A0000 */ sh $t2, ($v1) -/* 03DE38 7F009308 C4E00000 */ lwc1 $f0, ($a3) -.L7F00930C: -/* 03DE3C 7F00930C 3C018005 */ lui $at, %hi(D_8004F2FC) -/* 03DE40 7F009310 C432F2FC */ lwc1 $f18, %lo(D_8004F2FC)($at) -/* 03DE44 7F009314 4600903C */ c.lt.s $f18, $f0 -/* 03DE48 7F009318 00000000 */ nop -/* 03DE4C 7F00931C 45000104 */ bc1f .L7F009730 -/* 03DE50 7F009320 3C0B8003 */ lui $t3, %hi(D_8002A7D4) -/* 03DE54 7F009324 916BA7D4 */ lbu $t3, %lo(D_8002A7D4)($t3) -/* 03DE58 7F009328 3C018003 */ lui $at, %hi(D_8002A7D4) -/* 03DE5C 7F00932C 256C0001 */ addiu $t4, $t3, 1 -/* 03DE60 7F009330 A02CA7D4 */ sb $t4, %lo(D_8002A7D4)($at) -/* 03DE64 7F009334 3C018005 */ lui $at, %hi(D_8004F300) -/* 03DE68 7F009338 C424F300 */ lwc1 $f4, %lo(D_8004F300)($at) -/* 03DE6C 7F00933C 100000FC */ b .L7F009730 -/* 03DE70 7F009340 E4E40000 */ swc1 $f4, ($a3) -.L7F009344: -/* 03DE74 7F009344 3C0F0100 */ lui $t7, 0x100 -/* 03DE78 7F009348 25EF0000 */ addiu $t7, $t7, 0 -/* 03DE7C 7F00934C 00A01025 */ move $v0, $a1 -/* 03DE80 7F009350 3C0D0600 */ lui $t5, 0x600 -/* 03DE84 7F009354 AC4D0000 */ sw $t5, ($v0) -/* 03DE88 7F009358 AC4F0004 */ sw $t7, 4($v0) -/* 03DE8C 7F00935C 0FC07034 */ jal insert_imageDL -/* 03DE90 7F009360 24A40008 */ addiu $a0, $a1, 8 -/* 03DE94 7F009364 0FC07034 */ jal insert_imageDL -/* 03DE98 7F009368 00402025 */ move $a0, $v0 -/* 03DE9C 7F00936C 0FC07034 */ jal insert_imageDL -/* 03DEA0 7F009370 00402025 */ move $a0, $v0 -/* 03DEA4 7F009374 0FC07034 */ jal insert_imageDL -/* 03DEA8 7F009378 00402025 */ move $a0, $v0 -/* 03DEAC 7F00937C 0FC07034 */ jal insert_imageDL -/* 03DEB0 7F009380 00402025 */ move $a0, $v0 -/* 03DEB4 7F009384 0FC01F63 */ jal insert_sniper_sight_eye_intro -/* 03DEB8 7F009388 00402025 */ move $a0, $v0 -/* 03DEBC 7F00938C 0FC01EE5 */ jal insert_sight_backdrop_eye_intro -/* 03DEC0 7F009390 00402025 */ move $a0, $v0 -/* 03DEC4 7F009394 3C078007 */ lui $a3, %hi(x) -/* 03DEC8 7F009398 24E79574 */ addiu $a3, %lo(x) # addiu $a3, $a3, -0x6a8c -/* 03DECC 7F00939C 3C014416 */ li $at, 0x44160000 # 600.000000 -/* 03DED0 7F0093A0 44813000 */ mtc1 $at, $f6 -/* 03DED4 7F0093A4 C4E00000 */ lwc1 $f0, ($a3) -/* 03DED8 7F0093A8 00402825 */ move $a1, $v0 -/* 03DEDC 7F0093AC 4606003C */ c.lt.s $f0, $f6 -/* 03DEE0 7F0093B0 00000000 */ nop -/* 03DEE4 7F0093B4 45000007 */ bc1f .L7F0093D4 -/* 03DEE8 7F0093B8 00000000 */ nop -/* 03DEEC 7F0093BC 0FC020B2 */ jal insert_bond_eye_intro -/* 03DEF0 7F0093C0 00402025 */ move $a0, $v0 -/* 03DEF4 7F0093C4 3C078007 */ lui $a3, %hi(x) -/* 03DEF8 7F0093C8 24E79574 */ addiu $a3, %lo(x) # addiu $a3, $a3, -0x6a8c -/* 03DEFC 7F0093CC C4E00000 */ lwc1 $f0, ($a3) -/* 03DF00 7F0093D0 00402825 */ move $a1, $v0 -.L7F0093D4: -/* 03DF04 7F0093D4 3C018005 */ lui $at, %hi(D_8004F304) -/* 03DF08 7F0093D8 C428F304 */ lwc1 $f8, %lo(D_8004F304)($at) -/* 03DF0C 7F0093DC 3C01C2A0 */ li $at, 0xC2A00000 # -80.000000 -/* 03DF10 7F0093E0 44818000 */ mtc1 $at, $f16 -/* 03DF14 7F0093E4 46080281 */ sub.s $f10, $f0, $f8 -/* 03DF18 7F0093E8 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03DF1C 7F0093EC 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03DF20 7F0093F0 3C0E8003 */ lui $t6, %hi(D_8002A7D4) -/* 03DF24 7F0093F4 E4EA0000 */ swc1 $f10, ($a3) -/* 03DF28 7F0093F8 C4F20000 */ lwc1 $f18, ($a3) -/* 03DF2C 7F0093FC 4610903E */ c.le.s $f18, $f16 -/* 03DF30 7F009400 00000000 */ nop -/* 03DF34 7F009404 450200CB */ bc1fl .L7F009734 -/* 03DF38 7F009408 8FBF0014 */ lw $ra, 0x14($sp) -/* 03DF3C 7F00940C 91CEA7D4 */ lbu $t6, %lo(D_8002A7D4)($t6) -/* 03DF40 7F009410 3C018003 */ lui $at, %hi(D_8002A7D4) -/* 03DF44 7F009414 24190014 */ li $t9, 20 -/* 03DF48 7F009418 25D80001 */ addiu $t8, $t6, 1 -/* 03DF4C 7F00941C A038A7D4 */ sb $t8, %lo(D_8002A7D4)($at) -/* 03DF50 7F009420 100000C3 */ b .L7F009730 -/* 03DF54 7F009424 ACD90000 */ sw $t9, ($a2) -.L7F009428: -/* 03DF58 7F009428 0FC01F63 */ jal insert_sniper_sight_eye_intro -/* 03DF5C 7F00942C 00A02025 */ move $a0, $a1 -/* 03DF60 7F009430 0FC01EE5 */ jal insert_sight_backdrop_eye_intro -/* 03DF64 7F009434 00402025 */ move $a0, $v0 -/* 03DF68 7F009438 0FC020B2 */ jal insert_bond_eye_intro -/* 03DF6C 7F00943C 00402025 */ move $a0, $v0 -/* 03DF70 7F009440 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03DF74 7F009444 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03DF78 7F009448 8CC80000 */ lw $t0, ($a2) -/* 03DF7C 7F00944C 00402825 */ move $a1, $v0 -/* 03DF80 7F009450 3C0B8003 */ lui $t3, %hi(D_8002A7D4) -/* 03DF84 7F009454 2509FFFF */ addiu $t1, $t0, -1 -/* 03DF88 7F009458 052100B5 */ bgez $t1, .L7F009730 -/* 03DF8C 7F00945C ACC90000 */ sw $t1, ($a2) -/* 03DF90 7F009460 916BA7D4 */ lbu $t3, %lo(D_8002A7D4)($t3) -/* 03DF94 7F009464 3C018003 */ lui $at, %hi(D_8002A7D4) -/* 03DF98 7F009468 00002025 */ move $a0, $zero -/* 03DF9C 7F00946C 256C0001 */ addiu $t4, $t3, 1 -/* 03DFA0 7F009470 A02CA7D4 */ sb $t4, %lo(D_8002A7D4)($at) -/* 03DFA4 7F009474 0FC070A1 */ jal die_blood_image_routine -/* 03DFA8 7F009478 AFA20018 */ sw $v0, 0x18($sp) -/* 03DFAC 7F00947C 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03DFB0 7F009480 3C018003 */ lui $at, %hi(intro_state_blood_animation) -/* 03DFB4 7F009484 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03DFB8 7F009488 AC20A8A4 */ sw $zero, %lo(intro_state_blood_animation)($at) -/* 03DFBC 7F00948C 240D0001 */ li $t5, 1 -/* 03DFC0 7F009490 8FA50018 */ lw $a1, 0x18($sp) -/* 03DFC4 7F009494 100000A6 */ b .L7F009730 -/* 03DFC8 7F009498 ACCD0000 */ sw $t5, ($a2) -.L7F00949C: -/* 03DFCC 7F00949C 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03DFD0 7F0094A0 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03DFD4 7F0094A4 8CCF0000 */ lw $t7, ($a2) -/* 03DFD8 7F0094A8 24040001 */ li $a0, 1 -/* 03DFDC 7F0094AC 25EEFFFF */ addiu $t6, $t7, -1 -/* 03DFE0 7F0094B0 15C0000A */ bnez $t6, .L7F0094DC -/* 03DFE4 7F0094B4 ACCE0000 */ sw $t6, ($a2) -/* 03DFE8 7F0094B8 0FC070A1 */ jal die_blood_image_routine -/* 03DFEC 7F0094BC AFA50018 */ sw $a1, 0x18($sp) -/* 03DFF0 7F0094C0 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03DFF4 7F0094C4 3C018003 */ lui $at, %hi(intro_state_blood_animation) -/* 03DFF8 7F0094C8 AC22A8A4 */ sw $v0, %lo(intro_state_blood_animation)($at) -/* 03DFFC 7F0094CC 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03E000 7F0094D0 24190002 */ li $t9, 2 -/* 03E004 7F0094D4 8FA50018 */ lw $a1, 0x18($sp) -/* 03E008 7F0094D8 ACD90000 */ sw $t9, ($a2) -.L7F0094DC: -/* 03E00C 7F0094DC 0FC01F63 */ jal insert_sniper_sight_eye_intro -/* 03E010 7F0094E0 00A02025 */ move $a0, $a1 -/* 03E014 7F0094E4 0FC01EE5 */ jal insert_sight_backdrop_eye_intro -/* 03E018 7F0094E8 00402025 */ move $a0, $v0 -/* 03E01C 7F0094EC 0FC020B2 */ jal insert_bond_eye_intro -/* 03E020 7F0094F0 00402025 */ move $a0, $v0 -/* 03E024 7F0094F4 0FC07100 */ jal sub_GAME_7F01C400 -/* 03E028 7F0094F8 00402025 */ move $a0, $v0 -/* 03E02C 7F0094FC 3C088003 */ lui $t0, %hi(intro_state_blood_animation) -/* 03E030 7F009500 8D08A8A4 */ lw $t0, %lo(intro_state_blood_animation)($t0) -/* 03E034 7F009504 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03E038 7F009508 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03E03C 7F00950C 11000088 */ beqz $t0, .L7F009730 -/* 03E040 7F009510 00402825 */ move $a1, $v0 -/* 03E044 7F009514 3C098003 */ lui $t1, %hi(D_8002A7D4) -/* 03E048 7F009518 9129A7D4 */ lbu $t1, %lo(D_8002A7D4)($t1) -/* 03E04C 7F00951C 3C078007 */ lui $a3, %hi(x) -/* 03E050 7F009520 3C018003 */ lui $at, %hi(D_8002A7D4) -/* 03E054 7F009524 252A0001 */ addiu $t2, $t1, 1 -/* 03E058 7F009528 24E79574 */ addiu $a3, %lo(x) # addiu $a3, $a3, -0x6a8c -/* 03E05C 7F00952C A02AA7D4 */ sb $t2, %lo(D_8002A7D4)($at) -/* 03E060 7F009530 C4E40000 */ lwc1 $f4, ($a3) -/* 03E064 7F009534 3C038007 */ lui $v1, %hi(word_CODE_bss_80069584) -/* 03E068 7F009538 24639584 */ addiu $v1, %lo(word_CODE_bss_80069584) # addiu $v1, $v1, -0x6a7c -/* 03E06C 7F00953C A4600000 */ sh $zero, ($v1) -/* 03E070 7F009540 3C018007 */ lui $at, %hi(dword_CODE_bss_8006957C) -/* 03E074 7F009544 E424957C */ swc1 $f4, %lo(dword_CODE_bss_8006957C)($at) -/* 03E078 7F009548 10000079 */ b .L7F009730 -/* 03E07C 7F00954C ACC00000 */ sw $zero, ($a2) -.L7F009550: -/* 03E080 7F009550 3C038007 */ lui $v1, %hi(word_CODE_bss_80069584) -/* 03E084 7F009554 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03E088 7F009558 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03E08C 7F00955C 24639584 */ addiu $v1, %lo(word_CODE_bss_80069584) # addiu $v1, $v1, -0x6a7c -/* 03E090 7F009560 846B0000 */ lh $t3, ($v1) -/* 03E094 7F009564 8CCD0000 */ lw $t5, ($a2) -/* 03E098 7F009568 AFA50018 */ sw $a1, 0x18($sp) -/* 03E09C 7F00956C 256C038E */ addiu $t4, $t3, 0x38e -/* 03E0A0 7F009570 25AF0001 */ addiu $t7, $t5, 1 -/* 03E0A4 7F009574 A46C0000 */ sh $t4, ($v1) -/* 03E0A8 7F009578 ACCF0000 */ sw $t7, ($a2) -/* 03E0AC 7F00957C 0C005B18 */ jal sins -/* 03E0B0 7F009580 3184FFFF */ andi $a0, $t4, 0xffff -/* 03E0B4 7F009584 44823000 */ mtc1 $v0, $f6 -/* 03E0B8 7F009588 3C014280 */ li $at, 0x42800000 # 64.000000 -/* 03E0BC 7F00958C 44815000 */ mtc1 $at, $f10 -/* 03E0C0 7F009590 46803220 */ cvt.s.w $f8, $f6 -/* 03E0C4 7F009594 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 03E0C8 7F009598 44819000 */ mtc1 $at, $f18 -/* 03E0CC 7F00959C 3C018007 */ lui $at, %hi(dword_CODE_bss_8006957C) -/* 03E0D0 7F0095A0 C426957C */ lwc1 $f6, %lo(dword_CODE_bss_8006957C)($at) -/* 03E0D4 7F0095A4 3C078007 */ lui $a3, %hi(x) -/* 03E0D8 7F0095A8 460A4402 */ mul.s $f16, $f8, $f10 -/* 03E0DC 7F0095AC 24E79574 */ addiu $a3, %lo(x) # addiu $a3, $a3, -0x6a8c -/* 03E0E0 7F0095B0 8FA40018 */ lw $a0, 0x18($sp) -/* 03E0E4 7F0095B4 46128103 */ div.s $f4, $f16, $f18 -/* 03E0E8 7F0095B8 46062200 */ add.s $f8, $f4, $f6 -/* 03E0EC 7F0095BC 0FC01F63 */ jal insert_sniper_sight_eye_intro -/* 03E0F0 7F0095C0 E4E80000 */ swc1 $f8, ($a3) -/* 03E0F4 7F0095C4 0FC01EE5 */ jal insert_sight_backdrop_eye_intro -/* 03E0F8 7F0095C8 00402025 */ move $a0, $v0 -/* 03E0FC 7F0095CC 0FC020B2 */ jal insert_bond_eye_intro -/* 03E100 7F0095D0 00402025 */ move $a0, $v0 -/* 03E104 7F0095D4 0FC07286 */ jal sub_GAME_7F01CA18 -/* 03E108 7F0095D8 00402025 */ move $a0, $v0 -/* 03E10C 7F0095DC 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03E110 7F0095E0 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03E114 7F0095E4 8CCE0000 */ lw $t6, ($a2) -/* 03E118 7F0095E8 00402825 */ move $a1, $v0 -/* 03E11C 7F0095EC 3C028003 */ lui $v0, %hi(D_8002A7D4) -/* 03E120 7F0095F0 29C1006C */ slti $at, $t6, 0x6c -/* 03E124 7F0095F4 1420004E */ bnez $at, .L7F009730 -/* 03E128 7F0095F8 2442A7D4 */ addiu $v0, %lo(D_8002A7D4) # addiu $v0, $v0, -0x582c -/* 03E12C 7F0095FC 90580000 */ lbu $t8, ($v0) -/* 03E130 7F009600 ACC00000 */ sw $zero, ($a2) -/* 03E134 7F009604 27190001 */ addiu $t9, $t8, 1 -/* 03E138 7F009608 10000049 */ b .L7F009730 -/* 03E13C 7F00960C A0590000 */ sb $t9, ($v0) -.L7F009610: -/* 03E140 7F009610 3C038007 */ lui $v1, %hi(word_CODE_bss_80069584) -/* 03E144 7F009614 24639584 */ addiu $v1, %lo(word_CODE_bss_80069584) # addiu $v1, $v1, -0x6a7c -/* 03E148 7F009618 84680000 */ lh $t0, ($v1) -/* 03E14C 7F00961C AFA50018 */ sw $a1, 0x18($sp) -/* 03E150 7F009620 2509038E */ addiu $t1, $t0, 0x38e -/* 03E154 7F009624 A4690000 */ sh $t1, ($v1) -/* 03E158 7F009628 0C005B18 */ jal sins -/* 03E15C 7F00962C 3124FFFF */ andi $a0, $t1, 0xffff -/* 03E160 7F009630 44825000 */ mtc1 $v0, $f10 -/* 03E164 7F009634 3C014280 */ li $at, 0x42800000 # 64.000000 -/* 03E168 7F009638 44819000 */ mtc1 $at, $f18 -/* 03E16C 7F00963C 46805420 */ cvt.s.w $f16, $f10 -/* 03E170 7F009640 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 03E174 7F009644 44813000 */ mtc1 $at, $f6 -/* 03E178 7F009648 3C018007 */ lui $at, %hi(dword_CODE_bss_8006957C) -/* 03E17C 7F00964C C42A957C */ lwc1 $f10, %lo(dword_CODE_bss_8006957C)($at) -/* 03E180 7F009650 3C078007 */ lui $a3, %hi(x) -/* 03E184 7F009654 46128102 */ mul.s $f4, $f16, $f18 -/* 03E188 7F009658 24E79574 */ addiu $a3, %lo(x) # addiu $a3, $a3, -0x6a8c -/* 03E18C 7F00965C 8FA40018 */ lw $a0, 0x18($sp) -/* 03E190 7F009660 46062203 */ div.s $f8, $f4, $f6 -/* 03E194 7F009664 460A4400 */ add.s $f16, $f8, $f10 -/* 03E198 7F009668 0FC01F63 */ jal insert_sniper_sight_eye_intro -/* 03E19C 7F00966C E4F00000 */ swc1 $f16, ($a3) -/* 03E1A0 7F009670 0FC01EE5 */ jal insert_sight_backdrop_eye_intro -/* 03E1A4 7F009674 00402025 */ move $a0, $v0 -/* 03E1A8 7F009678 0FC020B2 */ jal insert_bond_eye_intro -/* 03E1AC 7F00967C 00402025 */ move $a0, $v0 -/* 03E1B0 7F009680 0FC07286 */ jal sub_GAME_7F01CA18 -/* 03E1B4 7F009684 00402025 */ move $a0, $v0 -/* 03E1B8 7F009688 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03E1BC 7F00968C 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03E1C0 7F009690 8CCA0000 */ lw $t2, ($a2) -/* 03E1C4 7F009694 00402025 */ move $a0, $v0 -/* 03E1C8 7F009698 25450008 */ addiu $a1, $t2, 8 -/* 03E1CC 7F00969C 0FC01F9C */ jal sub_GAME_7F007E70 -/* 03E1D0 7F0096A0 ACC50000 */ sw $a1, ($a2) -/* 03E1D4 7F0096A4 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03E1D8 7F0096A8 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03E1DC 7F0096AC 8CCC0000 */ lw $t4, ($a2) -/* 03E1E0 7F0096B0 00402825 */ move $a1, $v0 -/* 03E1E4 7F0096B4 3C028003 */ lui $v0, %hi(D_8002A7D4) -/* 03E1E8 7F0096B8 298100F7 */ slti $at, $t4, 0xf7 -/* 03E1EC 7F0096BC 1420001C */ bnez $at, .L7F009730 -/* 03E1F0 7F0096C0 2442A7D4 */ addiu $v0, %lo(D_8002A7D4) # addiu $v0, $v0, -0x582c -/* 03E1F4 7F0096C4 904D0000 */ lbu $t5, ($v0) -/* 03E1F8 7F0096C8 ACC00000 */ sw $zero, ($a2) -/* 03E1FC 7F0096CC 25AF0001 */ addiu $t7, $t5, 1 -/* 03E200 7F0096D0 10000017 */ b .L7F009730 -/* 03E204 7F0096D4 A04F0000 */ sb $t7, ($v0) -.L7F0096D8: -/* 03E208 7F0096D8 3C180100 */ lui $t8, 0x100 -/* 03E20C 7F0096DC 27180000 */ addiu $t8, $t8, 0 -/* 03E210 7F0096E0 00A01025 */ move $v0, $a1 -/* 03E214 7F0096E4 3C0E0600 */ lui $t6, 0x600 -/* 03E218 7F0096E8 AC4E0000 */ sw $t6, ($v0) -/* 03E21C 7F0096EC AC580004 */ sw $t8, 4($v0) -/* 03E220 7F0096F0 0FC07034 */ jal insert_imageDL -/* 03E224 7F0096F4 24A40008 */ addiu $a0, $a1, 8 -/* 03E228 7F0096F8 3C068003 */ lui $a2, %hi(intro_eye_counter) -/* 03E22C 7F0096FC 24C6A8A0 */ addiu $a2, %lo(intro_eye_counter) # addiu $a2, $a2, -0x5760 -/* 03E230 7F009700 8CC30000 */ lw $v1, ($a2) -/* 03E234 7F009704 00402825 */ move $a1, $v0 -/* 03E238 7F009708 3C028003 */ lui $v0, %hi(D_8002A7D4) -/* 03E23C 7F00970C 2864001E */ slti $a0, $v1, 0x1e -/* 03E240 7F009710 24790001 */ addiu $t9, $v1, 1 -/* 03E244 7F009714 14800006 */ bnez $a0, .L7F009730 -/* 03E248 7F009718 ACD90000 */ sw $t9, ($a2) -/* 03E24C 7F00971C 2442A7D4 */ addiu $v0, %lo(D_8002A7D4) # addiu $v0, $v0, -0x582c -/* 03E250 7F009720 90480000 */ lbu $t0, ($v0) -/* 03E254 7F009724 ACC00000 */ sw $zero, ($a2) -/* 03E258 7F009728 25090001 */ addiu $t1, $t0, 1 -/* 03E25C 7F00972C A0490000 */ sb $t1, ($v0) -def_7F00929C: -.L7F009730: -/* 03E260 7F009730 8FBF0014 */ lw $ra, 0x14($sp) -.L7F009734: -/* 03E264 7F009734 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03E268 7F009738 00A01025 */ move $v0, $a1 -/* 03E26C 7F00973C 03E00008 */ jr $ra -/* 03E270 7F009740 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F009744(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F009744 -/* 03E274 7F009744 3C028003 */ lui $v0, %hi(D_8002A7D4) -/* 03E278 7F009748 9042A7D4 */ lbu $v0, %lo(D_8002A7D4)($v0) -/* 03E27C 7F00974C 384E0009 */ xori $t6, $v0, 9 -/* 03E280 7F009750 03E00008 */ jr $ra -/* 03E284 7F009754 2DC20001 */ sltiu $v0, $t6, 1 -) -#endif - - diff --git a/src/game/intro_logos.h b/src/game/intro_logos.h deleted file mode 100644 index c702b60..0000000 --- a/src/game/intro_logos.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef _INTRO_LOGOS_H_ -#define _INTRO_LOGOS_H_ -#include "ultra64.h" - -extern s32 dword_CODE_bss_80069550; -extern s32 dword_CODE_bss_80069554; -extern s32 matrix_buffer_rarelogo_0; -extern s32 matrix_buffer_gunbarrel_0; -extern s32 matrix_buffer_rarelogo_1; -extern s32 matrix_buffer_rarelogo_2; -extern s32 matrix_buffer_gunbarrel_1; -extern s32 matrix_buffer_intro_backdrop; -extern s32 matrix_buffer_intro_bond; -extern s32 x; -extern s32 y; -extern s32 dword_CODE_bss_8006957C; -extern s32 dword_CODE_bss_80069580; -extern s32 word_CODE_bss_80069584; -extern s32 dword_CODE_bss_80069588; -extern s32 dword_CODE_bss_8006958C; -extern s32 virtualaddress; -extern s32 dword_CODE_bss_80069594; - -extern u32 D_8002A7D0; -#endif diff --git a/src/game/lightfixture.c b/src/game/lightfixture.c deleted file mode 100644 index 2f3ef4e..0000000 --- a/src/game/lightfixture.c +++ /dev/null @@ -1,1395 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:80082660 -char light_fixture_table[0x4B0]; -//CODE.bss:80082B10 -s16 cur_entry_lightfixture_table; -//CODE.bss:80082B12 -s16 index_of_cur_entry_lightfixture_table; -//CODE.bss:80082B14 .align 3 -//CODE.bss:80082B18 -char word_CODE_bss_80082B18[0x800]; -//CODE.bss:80083318 -s32 dword_CODE_bss_80083318; - - - -// data -//D:80046030 -s32 D_80046030[] = {0, 0, 0, 0, 0, 0, 0, 0}; - -/* rodata - -*/ - -#ifdef NONMATCHING -void init_lightfixture_tables(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_lightfixture_tables -/* 0F0000 7F0BB4D0 3C038008 */ lui $v1, %hi(light_fixture_table) -/* 0F0004 7F0BB4D4 3C028008 */ lui $v0, %hi(cur_entry_lightfixture_table) -/* 0F0008 7F0BB4D8 24422B10 */ addiu $v0, %lo(cur_entry_lightfixture_table) # addiu $v0, $v0, 0x2b10 -/* 0F000C 7F0BB4DC 24632660 */ addiu $v1, %lo(light_fixture_table) # addiu $v1, $v1, 0x2660 -.L7F0BB4E0: -/* 0F0010 7F0BB4E0 2463000C */ addiu $v1, $v1, 0xc -/* 0F0014 7F0BB4E4 0062082B */ sltu $at, $v1, $v0 -/* 0F0018 7F0BB4E8 1420FFFD */ bnez $at, .L7F0BB4E0 -/* 0F001C 7F0BB4EC A460FFF4 */ sh $zero, -0xc($v1) -/* 0F0020 7F0BB4F0 3C038008 */ lui $v1, %hi(word_CODE_bss_80082B18) -/* 0F0024 7F0BB4F4 3C028008 */ lui $v0, %hi(dword_CODE_bss_80083318) -/* 0F0028 7F0BB4F8 24423318 */ addiu $v0, %lo(dword_CODE_bss_80083318) # addiu $v0, $v0, 0x3318 -/* 0F002C 7F0BB4FC 24632B18 */ addiu $v1, %lo(word_CODE_bss_80082B18) # addiu $v1, $v1, 0x2b18 -.L7F0BB500: -/* 0F0030 7F0BB500 24630010 */ addiu $v1, $v1, 0x10 -/* 0F0034 7F0BB504 A460FFF4 */ sh $zero, -0xc($v1) -/* 0F0038 7F0BB508 A460FFF8 */ sh $zero, -8($v1) -/* 0F003C 7F0BB50C A460FFFC */ sh $zero, -4($v1) -/* 0F0040 7F0BB510 1462FFFB */ bne $v1, $v0, .L7F0BB500 -/* 0F0044 7F0BB514 A460FFF0 */ sh $zero, -0x10($v1) -/* 0F0048 7F0BB518 3C018004 */ lui $at, %hi(D_80046030) -/* 0F004C 7F0BB51C 03E00008 */ jr $ra -/* 0F0050 7F0BB520 AC206030 */ sw $zero, %lo(D_80046030)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void get_index_of_current_entry_in_init_lightfixture_table(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_index_of_current_entry_in_init_lightfixture_table -/* 0F0054 7F0BB524 3C028008 */ lui $v0, %hi(light_fixture_table) -/* 0F0058 7F0BB528 24422660 */ addiu $v0, %lo(light_fixture_table) # addiu $v0, $v0, 0x2660 -/* 0F005C 7F0BB52C 00001825 */ move $v1, $zero -/* 0F0060 7F0BB530 24040064 */ li $a0, 100 -.L7F0BB534: -/* 0F0064 7F0BB534 844E0000 */ lh $t6, ($v0) -/* 0F0068 7F0BB538 55C00004 */ bnezl $t6, .L7F0BB54C -/* 0F006C 7F0BB53C 844F000C */ lh $t7, 0xc($v0) -/* 0F0070 7F0BB540 03E00008 */ jr $ra -/* 0F0074 7F0BB544 00601025 */ move $v0, $v1 - -/* 0F0078 7F0BB548 844F000C */ lh $t7, 0xc($v0) -.L7F0BB54C: -/* 0F007C 7F0BB54C 55E00004 */ bnezl $t7, .L7F0BB560 -/* 0F0080 7F0BB550 84580018 */ lh $t8, 0x18($v0) -/* 0F0084 7F0BB554 03E00008 */ jr $ra -/* 0F0088 7F0BB558 24620001 */ addiu $v0, $v1, 1 - -/* 0F008C 7F0BB55C 84580018 */ lh $t8, 0x18($v0) -.L7F0BB560: -/* 0F0090 7F0BB560 57000004 */ bnezl $t8, .L7F0BB574 -/* 0F0094 7F0BB564 84590024 */ lh $t9, 0x24($v0) -/* 0F0098 7F0BB568 03E00008 */ jr $ra -/* 0F009C 7F0BB56C 24620002 */ addiu $v0, $v1, 2 - -/* 0F00A0 7F0BB570 84590024 */ lh $t9, 0x24($v0) -.L7F0BB574: -/* 0F00A4 7F0BB574 57200004 */ bnezl $t9, .L7F0BB588 -/* 0F00A8 7F0BB578 24630004 */ addiu $v1, $v1, 4 -/* 0F00AC 7F0BB57C 03E00008 */ jr $ra -/* 0F00B0 7F0BB580 24620003 */ addiu $v0, $v1, 3 - -/* 0F00B4 7F0BB584 24630004 */ addiu $v1, $v1, 4 -.L7F0BB588: -/* 0F00B8 7F0BB588 1464FFEA */ bne $v1, $a0, .L7F0BB534 -/* 0F00BC 7F0BB58C 24420030 */ addiu $v0, $v0, 0x30 -/* 0F00C0 7F0BB590 24020064 */ li $v0, 100 -/* 0F00C4 7F0BB594 03E00008 */ jr $ra -/* 0F00C8 7F0BB598 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void add_entry_to_init_lightfixture_table(void) { - -} -#else -GLOBAL_ASM( -.text -glabel add_entry_to_init_lightfixture_table -/* 0F00CC 7F0BB59C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F00D0 7F0BB5A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F00D4 7F0BB5A4 0FC2ED49 */ jal get_index_of_current_entry_in_init_lightfixture_table -/* 0F00D8 7F0BB5A8 AFA40018 */ sw $a0, 0x18($sp) -/* 0F00DC 7F0BB5AC 3C048008 */ lui $a0, %hi(cur_entry_lightfixture_table) -/* 0F00E0 7F0BB5B0 24842B10 */ addiu $a0, %lo(cur_entry_lightfixture_table) # addiu $a0, $a0, 0x2b10 -/* 0F00E4 7F0BB5B4 A4820000 */ sh $v0, ($a0) -/* 0F00E8 7F0BB5B8 84830000 */ lh $v1, ($a0) -/* 0F00EC 7F0BB5BC 24010064 */ li $at, 100 -/* 0F00F0 7F0BB5C0 3C0F8008 */ lui $t7, %hi(light_fixture_table) -/* 0F00F4 7F0BB5C4 1061000A */ beq $v1, $at, .L7F0BB5F0 -/* 0F00F8 7F0BB5C8 00037080 */ sll $t6, $v1, 2 -/* 0F00FC 7F0BB5CC 01C37023 */ subu $t6, $t6, $v1 -/* 0F0100 7F0BB5D0 3C188008 */ lui $t8, %hi(index_of_cur_entry_lightfixture_table) -/* 0F0104 7F0BB5D4 87182B12 */ lh $t8, %lo(index_of_cur_entry_lightfixture_table)($t8) -/* 0F0108 7F0BB5D8 8FB90018 */ lw $t9, 0x18($sp) -/* 0F010C 7F0BB5DC 000E7080 */ sll $t6, $t6, 2 -/* 0F0110 7F0BB5E0 25EF2660 */ addiu $t7, %lo(light_fixture_table) # addiu $t7, $t7, 0x2660 -/* 0F0114 7F0BB5E4 01CF1021 */ addu $v0, $t6, $t7 -/* 0F0118 7F0BB5E8 A4580000 */ sh $t8, ($v0) -/* 0F011C 7F0BB5EC AC590004 */ sw $t9, 4($v0) -.L7F0BB5F0: -/* 0F0120 7F0BB5F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F0124 7F0BB5F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F0128 7F0BB5F8 03E00008 */ jr $ra -/* 0F012C 7F0BB5FC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void save_ptrDL_enpoint_to_current_init_lightfixture_table(void) { - -} -#else -GLOBAL_ASM( -.text -glabel save_ptrDL_enpoint_to_current_init_lightfixture_table -/* 0F0130 7F0BB600 3C028008 */ lui $v0, %hi(cur_entry_lightfixture_table) -/* 0F0134 7F0BB604 84422B10 */ lh $v0, %lo(cur_entry_lightfixture_table)($v0) -/* 0F0138 7F0BB608 24010064 */ li $at, 100 -/* 0F013C 7F0BB60C 10410006 */ beq $v0, $at, .L7F0BB628 -/* 0F0140 7F0BB610 00027080 */ sll $t6, $v0, 2 -/* 0F0144 7F0BB614 01C27023 */ subu $t6, $t6, $v0 -/* 0F0148 7F0BB618 000E7080 */ sll $t6, $t6, 2 -/* 0F014C 7F0BB61C 3C018008 */ lui $at, %hi(light_fixture_table+8) -/* 0F0150 7F0BB620 002E0821 */ addu $at, $at, $t6 -/* 0F0154 7F0BB624 AC242668 */ sw $a0, %lo(light_fixture_table+8)($at) -.L7F0BB628: -/* 0F0158 7F0BB628 03E00008 */ jr $ra -/* 0F015C 7F0BB62C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_imageID_is_light(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_imageID_is_light -/* 0F0160 7F0BB630 240100C9 */ li $at, 201 -/* 0F0164 7F0BB634 10810013 */ beq $a0, $at, .L7F0BB684 -/* 0F0168 7F0BB638 240100CB */ li $at, 203 -/* 0F016C 7F0BB63C 10810011 */ beq $a0, $at, .L7F0BB684 -/* 0F0170 7F0BB640 240100CD */ li $at, 205 -/* 0F0174 7F0BB644 1081000F */ beq $a0, $at, .L7F0BB684 -/* 0F0178 7F0BB648 240100FC */ li $at, 252 -/* 0F017C 7F0BB64C 1081000D */ beq $a0, $at, .L7F0BB684 -/* 0F0180 7F0BB650 240100FE */ li $at, 254 -/* 0F0184 7F0BB654 1081000B */ beq $a0, $at, .L7F0BB684 -/* 0F0188 7F0BB658 240100FF */ li $at, 255 -/* 0F018C 7F0BB65C 10810009 */ beq $a0, $at, .L7F0BB684 -/* 0F0190 7F0BB660 24010100 */ li $at, 256 -/* 0F0194 7F0BB664 10810007 */ beq $a0, $at, .L7F0BB684 -/* 0F0198 7F0BB668 240101AC */ li $at, 428 -/* 0F019C 7F0BB66C 10810005 */ beq $a0, $at, .L7F0BB684 -/* 0F01A0 7F0BB670 240103D6 */ li $at, 982 -/* 0F01A4 7F0BB674 10810003 */ beq $a0, $at, .L7F0BB684 -/* 0F01A8 7F0BB678 24010567 */ li $at, 1383 -/* 0F01AC 7F0BB67C 14810003 */ bne $a0, $at, .L7F0BB68C -/* 0F01B0 7F0BB680 00001025 */ move $v0, $zero -.L7F0BB684: -/* 0F01B4 7F0BB684 03E00008 */ jr $ra -/* 0F01B8 7F0BB688 24020001 */ li $v0, 1 - -.L7F0BB68C: -/* 0F01BC 7F0BB68C 03E00008 */ jr $ra -/* 0F01C0 7F0BB690 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void return_ptr_vertex_of_entry_room(void) { - -} -#else -GLOBAL_ASM( -.text -glabel return_ptr_vertex_of_entry_room -/* 0F01C4 7F0BB694 808E0000 */ lb $t6, ($a0) -/* 0F01C8 7F0BB698 24020004 */ li $v0, 4 -/* 0F01CC 7F0BB69C 0005C880 */ sll $t9, $a1, 2 -/* 0F01D0 7F0BB6A0 104E0005 */ beq $v0, $t6, .L7F0BB6B8 -/* 0F01D4 7F0BB6A4 0325C821 */ addu $t9, $t9, $a1 -/* 0F01D8 7F0BB6A8 808FFFF8 */ lb $t7, -8($a0) -.L7F0BB6AC: -/* 0F01DC 7F0BB6AC 2484FFF8 */ addiu $a0, $a0, -8 -/* 0F01E0 7F0BB6B0 544FFFFE */ bnel $v0, $t7, .L7F0BB6AC -/* 0F01E4 7F0BB6B4 808FFFF8 */ lb $t7, -8($a0) -.L7F0BB6B8: -/* 0F01E8 7F0BB6B8 8C830004 */ lw $v1, 4($a0) -/* 0F01EC 7F0BB6BC 3C01FF00 */ lui $at, 0xff00 -/* 0F01F0 7F0BB6C0 0019C900 */ sll $t9, $t9, 4 -/* 0F01F4 7F0BB6C4 0061C024 */ and $t8, $v1, $at -/* 0F01F8 7F0BB6C8 3C010E00 */ lui $at, 0xe00 -/* 0F01FC 7F0BB6CC 17010007 */ bne $t8, $at, .L7F0BB6EC -/* 0F0200 7F0BB6D0 3C088004 */ lui $t0, %hi(D_80041418) -/* 0F0204 7F0BB6D4 01194021 */ addu $t0, $t0, $t9 -/* 0F0208 7F0BB6D8 8D081418 */ lw $t0, %lo(D_80041418)($t0) -/* 0F020C 7F0BB6DC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0F0210 7F0BB6E0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0F0214 7F0BB6E4 00614824 */ and $t1, $v1, $at -/* 0F0218 7F0BB6E8 01091821 */ addu $v1, $t0, $t1 -.L7F0BB6EC: -/* 0F021C 7F0BB6EC 03E00008 */ jr $ra -/* 0F0220 7F0BB6F0 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BB6F4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80058D80*/ -glabel jpt_80058D80 -.word .L7F0BB714 -.word .L7F0BB7C0 -.word .L7F0BB7EC -.word .L7F0BB818 -.word .L7F0BB844 -.text -glabel sub_GAME_7F0BB6F4 -/* 0F0224 7F0BB6F4 2CA10005 */ sltiu $at, $a1, 5 -/* 0F0228 7F0BB6F8 1020005C */ beqz $at, .L7F0BB86C -/* 0F022C 7F0BB6FC 00057080 */ sll $t6, $a1, 2 -/* 0F0230 7F0BB700 3C018006 */ lui $at, %hi(jpt_80058D80) -/* 0F0234 7F0BB704 002E0821 */ addu $at, $at, $t6 -/* 0F0238 7F0BB708 8C2E8D80 */ lw $t6, %lo(jpt_80058D80)($at) -/* 0F023C 7F0BB70C 01C00008 */ jr $t6 -/* 0F0240 7F0BB710 00000000 */ nop -.L7F0BB714: -/* 0F0244 7F0BB714 2402000A */ li $v0, 10 -/* 0F0248 7F0BB718 908F0005 */ lbu $t7, 5($a0) -/* 0F024C 7F0BB71C 01E2001A */ div $zero, $t7, $v0 -/* 0F0250 7F0BB720 0000C012 */ mflo $t8 -/* 0F0254 7F0BB724 ACD80000 */ sw $t8, ($a2) -/* 0F0258 7F0BB728 90990006 */ lbu $t9, 6($a0) -/* 0F025C 7F0BB72C 14400002 */ bnez $v0, .L7F0BB738 -/* 0F0260 7F0BB730 00000000 */ nop -/* 0F0264 7F0BB734 0007000D */ break 7 -.L7F0BB738: -/* 0F0268 7F0BB738 2401FFFF */ li $at, -1 -/* 0F026C 7F0BB73C 14410004 */ bne $v0, $at, .L7F0BB750 -/* 0F0270 7F0BB740 3C018000 */ lui $at, 0x8000 -/* 0F0274 7F0BB744 15E10002 */ bne $t7, $at, .L7F0BB750 -/* 0F0278 7F0BB748 00000000 */ nop -/* 0F027C 7F0BB74C 0006000D */ break 6 -.L7F0BB750: -/* 0F0280 7F0BB750 0322001A */ div $zero, $t9, $v0 -/* 0F0284 7F0BB754 00004012 */ mflo $t0 -/* 0F0288 7F0BB758 ACE80000 */ sw $t0, ($a3) -/* 0F028C 7F0BB75C 90890007 */ lbu $t1, 7($a0) -/* 0F0290 7F0BB760 14400002 */ bnez $v0, .L7F0BB76C -/* 0F0294 7F0BB764 00000000 */ nop -/* 0F0298 7F0BB768 0007000D */ break 7 -.L7F0BB76C: -/* 0F029C 7F0BB76C 2401FFFF */ li $at, -1 -/* 0F02A0 7F0BB770 14410004 */ bne $v0, $at, .L7F0BB784 -/* 0F02A4 7F0BB774 3C018000 */ lui $at, 0x8000 -/* 0F02A8 7F0BB778 17210002 */ bne $t9, $at, .L7F0BB784 -/* 0F02AC 7F0BB77C 00000000 */ nop -/* 0F02B0 7F0BB780 0006000D */ break 6 -.L7F0BB784: -/* 0F02B4 7F0BB784 0122001A */ div $zero, $t1, $v0 -/* 0F02B8 7F0BB788 8FAB0010 */ lw $t3, 0x10($sp) -/* 0F02BC 7F0BB78C 00005012 */ mflo $t2 -/* 0F02C0 7F0BB790 14400002 */ bnez $v0, .L7F0BB79C -/* 0F02C4 7F0BB794 00000000 */ nop -/* 0F02C8 7F0BB798 0007000D */ break 7 -.L7F0BB79C: -/* 0F02CC 7F0BB79C 2401FFFF */ li $at, -1 -/* 0F02D0 7F0BB7A0 14410004 */ bne $v0, $at, .L7F0BB7B4 -/* 0F02D4 7F0BB7A4 3C018000 */ lui $at, 0x8000 -/* 0F02D8 7F0BB7A8 15210002 */ bne $t1, $at, .L7F0BB7B4 -/* 0F02DC 7F0BB7AC 00000000 */ nop -/* 0F02E0 7F0BB7B0 0006000D */ break 6 -.L7F0BB7B4: -/* 0F02E4 7F0BB7B4 AD6A0000 */ sw $t2, ($t3) -/* 0F02E8 7F0BB7B8 03E00008 */ jr $ra -/* 0F02EC 7F0BB7BC 00000000 */ nop -.L7F0BB7C0: -/* 0F02F0 7F0BB7C0 8C8C0004 */ lw $t4, 4($a0) -/* 0F02F4 7F0BB7C4 318D000F */ andi $t5, $t4, 0xf -/* 0F02F8 7F0BB7C8 ACCD0000 */ sw $t5, ($a2) -/* 0F02FC 7F0BB7CC 908E0007 */ lbu $t6, 7($a0) -/* 0F0300 7F0BB7D0 000E7902 */ srl $t7, $t6, 4 -/* 0F0304 7F0BB7D4 ACEF0000 */ sw $t7, ($a3) -/* 0F0308 7F0BB7D8 8C980000 */ lw $t8, ($a0) -/* 0F030C 7F0BB7DC 8FA80010 */ lw $t0, 0x10($sp) -/* 0F0310 7F0BB7E0 3319000F */ andi $t9, $t8, 0xf -/* 0F0314 7F0BB7E4 03E00008 */ jr $ra -/* 0F0318 7F0BB7E8 AD190000 */ sw $t9, ($t0) -.L7F0BB7EC: -/* 0F031C 7F0BB7EC 90890006 */ lbu $t1, 6($a0) -/* 0F0320 7F0BB7F0 312A000F */ andi $t2, $t1, 0xf -/* 0F0324 7F0BB7F4 ACCA0000 */ sw $t2, ($a2) -/* 0F0328 7F0BB7F8 948B0006 */ lhu $t3, 6($a0) -/* 0F032C 7F0BB7FC 000B6302 */ srl $t4, $t3, 0xc -/* 0F0330 7F0BB800 ACEC0000 */ sw $t4, ($a3) -/* 0F0334 7F0BB804 908D0003 */ lbu $t5, 3($a0) -/* 0F0338 7F0BB808 8FAF0010 */ lw $t7, 0x10($sp) -/* 0F033C 7F0BB80C 000D7102 */ srl $t6, $t5, 4 -/* 0F0340 7F0BB810 03E00008 */ jr $ra -/* 0F0344 7F0BB814 ADEE0000 */ sw $t6, ($t7) -.L7F0BB818: -/* 0F0348 7F0BB818 94980004 */ lhu $t8, 4($a0) -/* 0F034C 7F0BB81C 3319000F */ andi $t9, $t8, 0xf -/* 0F0350 7F0BB820 ACD90000 */ sw $t9, ($a2) -/* 0F0354 7F0BB824 90880005 */ lbu $t0, 5($a0) -/* 0F0358 7F0BB828 00084902 */ srl $t1, $t0, 4 -/* 0F035C 7F0BB82C ACE90000 */ sw $t1, ($a3) -/* 0F0360 7F0BB830 908A0002 */ lbu $t2, 2($a0) -/* 0F0364 7F0BB834 8FAC0010 */ lw $t4, 0x10($sp) -/* 0F0368 7F0BB838 314B000F */ andi $t3, $t2, 0xf -/* 0F036C 7F0BB83C 03E00008 */ jr $ra -/* 0F0370 7F0BB840 AD8B0000 */ sw $t3, ($t4) -.L7F0BB844: -/* 0F0374 7F0BB844 908D0004 */ lbu $t5, 4($a0) -/* 0F0378 7F0BB848 31AE000F */ andi $t6, $t5, 0xf -/* 0F037C 7F0BB84C ACCE0000 */ sw $t6, ($a2) -/* 0F0380 7F0BB850 8C8F0004 */ lw $t7, 4($a0) -/* 0F0384 7F0BB854 000FC702 */ srl $t8, $t7, 0x1c -/* 0F0388 7F0BB858 ACF80000 */ sw $t8, ($a3) -/* 0F038C 7F0BB85C 94990002 */ lhu $t9, 2($a0) -/* 0F0390 7F0BB860 8FA90010 */ lw $t1, 0x10($sp) -/* 0F0394 7F0BB864 00194302 */ srl $t0, $t9, 0xc -/* 0F0398 7F0BB868 AD280000 */ sw $t0, ($t1) -def_7F0BB70C: -.L7F0BB86C: -/* 0F039C 7F0BB86C 03E00008 */ jr $ra -/* 0F03A0 7F0BB870 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BB874(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BB874 -/* 0F03A4 7F0BB874 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0F03A8 7F0BB878 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F03AC 7F0BB87C AFA60038 */ sw $a2, 0x38($sp) -/* 0F03B0 7F0BB880 AFA7003C */ sw $a3, 0x3c($sp) -/* 0F03B4 7F0BB884 27AE0024 */ addiu $t6, $sp, 0x24 -/* 0F03B8 7F0BB888 AFA40030 */ sw $a0, 0x30($sp) -/* 0F03BC 7F0BB88C AFAE0010 */ sw $t6, 0x10($sp) -/* 0F03C0 7F0BB890 27A70028 */ addiu $a3, $sp, 0x28 -/* 0F03C4 7F0BB894 0FC2EDBD */ jal sub_GAME_7F0BB6F4 -/* 0F03C8 7F0BB898 27A6002C */ addiu $a2, $sp, 0x2c -/* 0F03CC 7F0BB89C 8FA40030 */ lw $a0, 0x30($sp) -/* 0F03D0 7F0BB8A0 0FC2EDA5 */ jal return_ptr_vertex_of_entry_room -/* 0F03D4 7F0BB8A4 8FA50038 */ lw $a1, 0x38($sp) -/* 0F03D8 7F0BB8A8 8FAF002C */ lw $t7, 0x2c($sp) -/* 0F03DC 7F0BB8AC 8FA5003C */ lw $a1, 0x3c($sp) -/* 0F03E0 7F0BB8B0 8FA30040 */ lw $v1, 0x40($sp) -/* 0F03E4 7F0BB8B4 000FC100 */ sll $t8, $t7, 4 -/* 0F03E8 7F0BB8B8 0058C821 */ addu $t9, $v0, $t8 -/* 0F03EC 7F0BB8BC 87280000 */ lh $t0, ($t9) -/* 0F03F0 7F0BB8C0 8FA40044 */ lw $a0, 0x44($sp) -/* 0F03F4 7F0BB8C4 A4A80000 */ sh $t0, ($a1) -/* 0F03F8 7F0BB8C8 8FA9002C */ lw $t1, 0x2c($sp) -/* 0F03FC 7F0BB8CC 00095100 */ sll $t2, $t1, 4 -/* 0F0400 7F0BB8D0 004A5821 */ addu $t3, $v0, $t2 -/* 0F0404 7F0BB8D4 856C0002 */ lh $t4, 2($t3) -/* 0F0408 7F0BB8D8 A4AC0002 */ sh $t4, 2($a1) -/* 0F040C 7F0BB8DC 8FAD002C */ lw $t5, 0x2c($sp) -/* 0F0410 7F0BB8E0 000D7100 */ sll $t6, $t5, 4 -/* 0F0414 7F0BB8E4 004E7821 */ addu $t7, $v0, $t6 -/* 0F0418 7F0BB8E8 85F80004 */ lh $t8, 4($t7) -/* 0F041C 7F0BB8EC A4B80004 */ sh $t8, 4($a1) -/* 0F0420 7F0BB8F0 8FB90028 */ lw $t9, 0x28($sp) -/* 0F0424 7F0BB8F4 00194100 */ sll $t0, $t9, 4 -/* 0F0428 7F0BB8F8 00484821 */ addu $t1, $v0, $t0 -/* 0F042C 7F0BB8FC 852A0000 */ lh $t2, ($t1) -/* 0F0430 7F0BB900 A46A0000 */ sh $t2, ($v1) -/* 0F0434 7F0BB904 8FAB0028 */ lw $t3, 0x28($sp) -/* 0F0438 7F0BB908 000B6100 */ sll $t4, $t3, 4 -/* 0F043C 7F0BB90C 004C6821 */ addu $t5, $v0, $t4 -/* 0F0440 7F0BB910 85AE0002 */ lh $t6, 2($t5) -/* 0F0444 7F0BB914 A46E0002 */ sh $t6, 2($v1) -/* 0F0448 7F0BB918 8FAF0028 */ lw $t7, 0x28($sp) -/* 0F044C 7F0BB91C 000FC100 */ sll $t8, $t7, 4 -/* 0F0450 7F0BB920 0058C821 */ addu $t9, $v0, $t8 -/* 0F0454 7F0BB924 87280004 */ lh $t0, 4($t9) -/* 0F0458 7F0BB928 A4680004 */ sh $t0, 4($v1) -/* 0F045C 7F0BB92C 8FA90024 */ lw $t1, 0x24($sp) -/* 0F0460 7F0BB930 00095100 */ sll $t2, $t1, 4 -/* 0F0464 7F0BB934 004A5821 */ addu $t3, $v0, $t2 -/* 0F0468 7F0BB938 856C0000 */ lh $t4, ($t3) -/* 0F046C 7F0BB93C A48C0000 */ sh $t4, ($a0) -/* 0F0470 7F0BB940 8FAD0024 */ lw $t5, 0x24($sp) -/* 0F0474 7F0BB944 000D7100 */ sll $t6, $t5, 4 -/* 0F0478 7F0BB948 004E7821 */ addu $t7, $v0, $t6 -/* 0F047C 7F0BB94C 85F80002 */ lh $t8, 2($t7) -/* 0F0480 7F0BB950 A4980002 */ sh $t8, 2($a0) -/* 0F0484 7F0BB954 8FB90024 */ lw $t9, 0x24($sp) -/* 0F0488 7F0BB958 00194100 */ sll $t0, $t9, 4 -/* 0F048C 7F0BB95C 00484821 */ addu $t1, $v0, $t0 -/* 0F0490 7F0BB960 852A0004 */ lh $t2, 4($t1) -/* 0F0494 7F0BB964 A48A0004 */ sh $t2, 4($a0) -/* 0F0498 7F0BB968 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F049C 7F0BB96C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0F04A0 7F0BB970 03E00008 */ jr $ra -/* 0F04A4 7F0BB974 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BB978(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BB978 -/* 0F04A8 7F0BB978 00047080 */ sll $t6, $a0, 2 -/* 0F04AC 7F0BB97C 01C47021 */ addu $t6, $t6, $a0 -/* 0F04B0 7F0BB980 000E7100 */ sll $t6, $t6, 4 -/* 0F04B4 7F0BB984 3C028004 */ lui $v0, %hi(D_80041418) -/* 0F04B8 7F0BB988 004E1021 */ addu $v0, $v0, $t6 -/* 0F04BC 7F0BB98C 3C058008 */ lui $a1, %hi(word_CODE_bss_80082B18) -/* 0F04C0 7F0BB990 3C068008 */ lui $a2, %hi(dword_CODE_bss_80083318) -/* 0F04C4 7F0BB994 8C421418 */ lw $v0, %lo(D_80041418)($v0) -/* 0F04C8 7F0BB998 24C63318 */ addiu $a2, %lo(dword_CODE_bss_80083318) # addiu $a2, $a2, 0x3318 -/* 0F04CC 7F0BB99C 24A52B18 */ addiu $a1, %lo(word_CODE_bss_80082B18) # addiu $a1, $a1, 0x2b18 -/* 0F04D0 7F0BB9A0 94AF0000 */ lhu $t7, ($a1) -.L7F0BB9A4: -/* 0F04D4 7F0BB9A4 548F001A */ bnel $a0, $t7, .L7F0BBA10 -/* 0F04D8 7F0BB9A8 24A50004 */ addiu $a1, $a1, 4 -/* 0F04DC 7F0BB9AC 94B80002 */ lhu $t8, 2($a1) -/* 0F04E0 7F0BB9B0 0018C900 */ sll $t9, $t8, 4 -/* 0F04E4 7F0BB9B4 00591821 */ addu $v1, $v0, $t9 -/* 0F04E8 7F0BB9B8 9068000C */ lbu $t0, 0xc($v1) -/* 0F04EC 7F0BB9BC 00084882 */ srl $t1, $t0, 2 -/* 0F04F0 7F0BB9C0 A069000C */ sb $t1, 0xc($v1) -/* 0F04F4 7F0BB9C4 94AA0002 */ lhu $t2, 2($a1) -/* 0F04F8 7F0BB9C8 000A5900 */ sll $t3, $t2, 4 -/* 0F04FC 7F0BB9CC 004B1821 */ addu $v1, $v0, $t3 -/* 0F0500 7F0BB9D0 906C000D */ lbu $t4, 0xd($v1) -/* 0F0504 7F0BB9D4 000C6882 */ srl $t5, $t4, 2 -/* 0F0508 7F0BB9D8 A06D000D */ sb $t5, 0xd($v1) -/* 0F050C 7F0BB9DC 94AE0002 */ lhu $t6, 2($a1) -/* 0F0510 7F0BB9E0 000E7900 */ sll $t7, $t6, 4 -/* 0F0514 7F0BB9E4 004F1821 */ addu $v1, $v0, $t7 -/* 0F0518 7F0BB9E8 9078000E */ lbu $t8, 0xe($v1) -/* 0F051C 7F0BB9EC 0018C882 */ srl $t9, $t8, 2 -/* 0F0520 7F0BB9F0 A079000E */ sb $t9, 0xe($v1) -/* 0F0524 7F0BB9F4 94A80002 */ lhu $t0, 2($a1) -/* 0F0528 7F0BB9F8 00084900 */ sll $t1, $t0, 4 -/* 0F052C 7F0BB9FC 00491821 */ addu $v1, $v0, $t1 -/* 0F0530 7F0BBA00 906A000F */ lbu $t2, 0xf($v1) -/* 0F0534 7F0BBA04 000A5882 */ srl $t3, $t2, 2 -/* 0F0538 7F0BBA08 A06B000F */ sb $t3, 0xf($v1) -/* 0F053C 7F0BBA0C 24A50004 */ addiu $a1, $a1, 4 -.L7F0BBA10: -/* 0F0540 7F0BBA10 54A6FFE4 */ bnel $a1, $a2, .L7F0BB9A4 -/* 0F0544 7F0BBA14 94AF0000 */ lhu $t7, ($a1) -/* 0F0548 7F0BBA18 03E00008 */ jr $ra -/* 0F054C 7F0BBA1C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BBA20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BBA20 -/* 0F0550 7F0BBA20 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F0554 7F0BBA24 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F0558 7F0BBA28 AFA40018 */ sw $a0, 0x18($sp) -/* 0F055C 7F0BBA2C 0FC2EEB7 */ jal sub_GAME_7F0BBADC -/* 0F0560 7F0BBA30 AFA5001C */ sw $a1, 0x1c($sp) -/* 0F0564 7F0BBA34 8FA40018 */ lw $a0, 0x18($sp) -/* 0F0568 7F0BBA38 14400024 */ bnez $v0, .L7F0BBACC -/* 0F056C 7F0BBA3C 8FA6001C */ lw $a2, 0x1c($sp) -/* 0F0570 7F0BBA40 00067080 */ sll $t6, $a2, 2 -/* 0F0574 7F0BBA44 3C058004 */ lui $a1, %hi(D_80046030) -/* 0F0578 7F0BBA48 01C67021 */ addu $t6, $t6, $a2 -/* 0F057C 7F0BBA4C 24A56030 */ addiu $a1, %lo(D_80046030) # addiu $a1, $a1, 0x6030 -/* 0F0580 7F0BBA50 000E7100 */ sll $t6, $t6, 4 -/* 0F0584 7F0BBA54 3C0F8004 */ lui $t7, %hi(D_80041418) -/* 0F0588 7F0BBA58 8CB90000 */ lw $t9, ($a1) -/* 0F058C 7F0BBA5C 01EE7821 */ addu $t7, $t7, $t6 -/* 0F0590 7F0BBA60 8DEF1418 */ lw $t7, %lo(D_80041418)($t7) -/* 0F0594 7F0BBA64 3C098008 */ lui $t1, %hi(word_CODE_bss_80082B18) -/* 0F0598 7F0BBA68 25292B18 */ addiu $t1, %lo(word_CODE_bss_80082B18) # addiu $t1, $t1, 0x2b18 -/* 0F059C 7F0BBA6C 00194080 */ sll $t0, $t9, 2 -/* 0F05A0 7F0BBA70 01091021 */ addu $v0, $t0, $t1 -/* 0F05A4 7F0BBA74 008F1823 */ subu $v1, $a0, $t7 -/* 0F05A8 7F0BBA78 0003C102 */ srl $t8, $v1, 4 -/* 0F05AC 7F0BBA7C A4460000 */ sh $a2, ($v0) -/* 0F05B0 7F0BBA80 A4580002 */ sh $t8, 2($v0) -/* 0F05B4 7F0BBA84 908A000C */ lbu $t2, 0xc($a0) -/* 0F05B8 7F0BBA88 908C000D */ lbu $t4, 0xd($a0) -/* 0F05BC 7F0BBA8C 908E000E */ lbu $t6, 0xe($a0) -/* 0F05C0 7F0BBA90 9098000F */ lbu $t8, 0xf($a0) -/* 0F05C4 7F0BBA94 000A5882 */ srl $t3, $t2, 2 -/* 0F05C8 7F0BBA98 000C6882 */ srl $t5, $t4, 2 -/* 0F05CC 7F0BBA9C 000E7882 */ srl $t7, $t6, 2 -/* 0F05D0 7F0BBAA0 0018C882 */ srl $t9, $t8, 2 -/* 0F05D4 7F0BBAA4 A08B000C */ sb $t3, 0xc($a0) -/* 0F05D8 7F0BBAA8 A08D000D */ sb $t5, 0xd($a0) -/* 0F05DC 7F0BBAAC A08F000E */ sb $t7, 0xe($a0) -/* 0F05E0 7F0BBAB0 A099000F */ sb $t9, 0xf($a0) -/* 0F05E4 7F0BBAB4 8CA80000 */ lw $t0, ($a1) -/* 0F05E8 7F0BBAB8 25090001 */ addiu $t1, $t0, 1 -/* 0F05EC 7F0BBABC 29210200 */ slti $at, $t1, 0x200 -/* 0F05F0 7F0BBAC0 14200002 */ bnez $at, .L7F0BBACC -/* 0F05F4 7F0BBAC4 ACA90000 */ sw $t1, ($a1) -/* 0F05F8 7F0BBAC8 ACA00000 */ sw $zero, ($a1) -.L7F0BBACC: -/* 0F05FC 7F0BBACC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F0600 7F0BBAD0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F0604 7F0BBAD4 03E00008 */ jr $ra -/* 0F0608 7F0BBAD8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BBADC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BBADC -/* 0F060C 7F0BBADC 00057080 */ sll $t6, $a1, 2 -/* 0F0610 7F0BBAE0 01C57021 */ addu $t6, $t6, $a1 -/* 0F0614 7F0BBAE4 000E7100 */ sll $t6, $t6, 4 -/* 0F0618 7F0BBAE8 3C0F8004 */ lui $t7, %hi(D_80041418) -/* 0F061C 7F0BBAEC 01EE7821 */ addu $t7, $t7, $t6 -/* 0F0620 7F0BBAF0 8DEF1418 */ lw $t7, %lo(D_80041418)($t7) -/* 0F0624 7F0BBAF4 3C068008 */ lui $a2, %hi(word_CODE_bss_80082B18) -/* 0F0628 7F0BBAF8 3C038008 */ lui $v1, %hi(dword_CODE_bss_80083318) -/* 0F062C 7F0BBAFC 008F1023 */ subu $v0, $a0, $t7 -/* 0F0630 7F0BBB00 0002C102 */ srl $t8, $v0, 4 -/* 0F0634 7F0BBB04 03001025 */ move $v0, $t8 -/* 0F0638 7F0BBB08 24633318 */ addiu $v1, %lo(dword_CODE_bss_80083318) # addiu $v1, $v1, 0x3318 -/* 0F063C 7F0BBB0C 24C62B18 */ addiu $a2, %lo(word_CODE_bss_80082B18) # addiu $a2, $a2, 0x2b18 -/* 0F0640 7F0BBB10 94D90000 */ lhu $t9, ($a2) -.L7F0BBB14: -/* 0F0644 7F0BBB14 54B90007 */ bnel $a1, $t9, .L7F0BBB34 -/* 0F0648 7F0BBB18 94C90004 */ lhu $t1, 4($a2) -/* 0F064C 7F0BBB1C 94C80002 */ lhu $t0, 2($a2) -/* 0F0650 7F0BBB20 54480004 */ bnel $v0, $t0, .L7F0BBB34 -/* 0F0654 7F0BBB24 94C90004 */ lhu $t1, 4($a2) -/* 0F0658 7F0BBB28 03E00008 */ jr $ra -/* 0F065C 7F0BBB2C 24020001 */ li $v0, 1 - -/* 0F0660 7F0BBB30 94C90004 */ lhu $t1, 4($a2) -.L7F0BBB34: -/* 0F0664 7F0BBB34 54A90007 */ bnel $a1, $t1, .L7F0BBB54 -/* 0F0668 7F0BBB38 94CB0008 */ lhu $t3, 8($a2) -/* 0F066C 7F0BBB3C 94CA0006 */ lhu $t2, 6($a2) -/* 0F0670 7F0BBB40 544A0004 */ bnel $v0, $t2, .L7F0BBB54 -/* 0F0674 7F0BBB44 94CB0008 */ lhu $t3, 8($a2) -/* 0F0678 7F0BBB48 03E00008 */ jr $ra -/* 0F067C 7F0BBB4C 24020001 */ li $v0, 1 - -/* 0F0680 7F0BBB50 94CB0008 */ lhu $t3, 8($a2) -.L7F0BBB54: -/* 0F0684 7F0BBB54 54AB0007 */ bnel $a1, $t3, .L7F0BBB74 -/* 0F0688 7F0BBB58 94CD000C */ lhu $t5, 0xc($a2) -/* 0F068C 7F0BBB5C 94CC000A */ lhu $t4, 0xa($a2) -/* 0F0690 7F0BBB60 544C0004 */ bnel $v0, $t4, .L7F0BBB74 -/* 0F0694 7F0BBB64 94CD000C */ lhu $t5, 0xc($a2) -/* 0F0698 7F0BBB68 03E00008 */ jr $ra -/* 0F069C 7F0BBB6C 24020001 */ li $v0, 1 - -/* 0F06A0 7F0BBB70 94CD000C */ lhu $t5, 0xc($a2) -.L7F0BBB74: -/* 0F06A4 7F0BBB74 54AD0007 */ bnel $a1, $t5, .L7F0BBB94 -/* 0F06A8 7F0BBB78 24C60010 */ addiu $a2, $a2, 0x10 -/* 0F06AC 7F0BBB7C 94CE000E */ lhu $t6, 0xe($a2) -/* 0F06B0 7F0BBB80 544E0004 */ bnel $v0, $t6, .L7F0BBB94 -/* 0F06B4 7F0BBB84 24C60010 */ addiu $a2, $a2, 0x10 -/* 0F06B8 7F0BBB88 03E00008 */ jr $ra -/* 0F06BC 7F0BBB8C 24020001 */ li $v0, 1 - -/* 0F06C0 7F0BBB90 24C60010 */ addiu $a2, $a2, 0x10 -.L7F0BBB94: -/* 0F06C4 7F0BBB94 54C3FFDF */ bnel $a2, $v1, .L7F0BBB14 -/* 0F06C8 7F0BBB98 94D90000 */ lhu $t9, ($a2) -/* 0F06CC 7F0BBB9C 00001025 */ move $v0, $zero -/* 0F06D0 7F0BBBA0 03E00008 */ jr $ra -/* 0F06D4 7F0BBBA4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BBBA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BBBA8 -/* 0F06D8 7F0BBBA8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0F06DC 7F0BBBAC AFBF001C */ sw $ra, 0x1c($sp) -/* 0F06E0 7F0BBBB0 AFA60040 */ sw $a2, 0x40($sp) -/* 0F06E4 7F0BBBB4 27AE0028 */ addiu $t6, $sp, 0x28 -/* 0F06E8 7F0BBBB8 AFA40038 */ sw $a0, 0x38($sp) -/* 0F06EC 7F0BBBBC AFAE0010 */ sw $t6, 0x10($sp) -/* 0F06F0 7F0BBBC0 27A60030 */ addiu $a2, $sp, 0x30 -/* 0F06F4 7F0BBBC4 0FC2EDBD */ jal sub_GAME_7F0BB6F4 -/* 0F06F8 7F0BBBC8 27A7002C */ addiu $a3, $sp, 0x2c -/* 0F06FC 7F0BBBCC 8FA40038 */ lw $a0, 0x38($sp) -/* 0F0700 7F0BBBD0 0FC2EDA5 */ jal return_ptr_vertex_of_entry_room -/* 0F0704 7F0BBBD4 8FA50040 */ lw $a1, 0x40($sp) -/* 0F0708 7F0BBBD8 8FAF0030 */ lw $t7, 0x30($sp) -/* 0F070C 7F0BBBDC AFA20024 */ sw $v0, 0x24($sp) -/* 0F0710 7F0BBBE0 8FA50040 */ lw $a1, 0x40($sp) -/* 0F0714 7F0BBBE4 000FC100 */ sll $t8, $t7, 4 -/* 0F0718 7F0BBBE8 0FC2EE88 */ jal sub_GAME_7F0BBA20 -/* 0F071C 7F0BBBEC 03022021 */ addu $a0, $t8, $v0 -/* 0F0720 7F0BBBF0 8FB9002C */ lw $t9, 0x2c($sp) -/* 0F0724 7F0BBBF4 8FA90024 */ lw $t1, 0x24($sp) -/* 0F0728 7F0BBBF8 8FA50040 */ lw $a1, 0x40($sp) -/* 0F072C 7F0BBBFC 00194100 */ sll $t0, $t9, 4 -/* 0F0730 7F0BBC00 0FC2EE88 */ jal sub_GAME_7F0BBA20 -/* 0F0734 7F0BBC04 01092021 */ addu $a0, $t0, $t1 -/* 0F0738 7F0BBC08 8FAA0028 */ lw $t2, 0x28($sp) -/* 0F073C 7F0BBC0C 8FAC0024 */ lw $t4, 0x24($sp) -/* 0F0740 7F0BBC10 8FA50040 */ lw $a1, 0x40($sp) -/* 0F0744 7F0BBC14 000A5900 */ sll $t3, $t2, 4 -/* 0F0748 7F0BBC18 0FC2EE88 */ jal sub_GAME_7F0BBA20 -/* 0F074C 7F0BBC1C 016C2021 */ addu $a0, $t3, $t4 -/* 0F0750 7F0BBC20 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F0754 7F0BBC24 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0F0758 7F0BBC28 03E00008 */ jr $ra -/* 0F075C 7F0BBC2C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BBC30(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BBC30 -/* 0F0760 7F0BBC30 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0F0764 7F0BBC34 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F0768 7F0BBC38 AFA60048 */ sw $a2, 0x48($sp) -/* 0F076C 7F0BBC3C 27AE0030 */ addiu $t6, $sp, 0x30 -/* 0F0770 7F0BBC40 AFA40040 */ sw $a0, 0x40($sp) -/* 0F0774 7F0BBC44 AFAE0010 */ sw $t6, 0x10($sp) -/* 0F0778 7F0BBC48 27A60038 */ addiu $a2, $sp, 0x38 -/* 0F077C 7F0BBC4C 0FC2EDBD */ jal sub_GAME_7F0BB6F4 -/* 0F0780 7F0BBC50 27A70034 */ addiu $a3, $sp, 0x34 -/* 0F0784 7F0BBC54 8FA40040 */ lw $a0, 0x40($sp) -/* 0F0788 7F0BBC58 0FC2EDA5 */ jal return_ptr_vertex_of_entry_room -/* 0F078C 7F0BBC5C 8FA50048 */ lw $a1, 0x48($sp) -/* 0F0790 7F0BBC60 8FAF0034 */ lw $t7, 0x34($sp) -/* 0F0794 7F0BBC64 AFA2002C */ sw $v0, 0x2c($sp) -/* 0F0798 7F0BBC68 8FA50048 */ lw $a1, 0x48($sp) -/* 0F079C 7F0BBC6C 000FC100 */ sll $t8, $t7, 4 -/* 0F07A0 7F0BBC70 0FC2EEB7 */ jal sub_GAME_7F0BBADC -/* 0F07A4 7F0BBC74 03022021 */ addu $a0, $t8, $v0 -/* 0F07A8 7F0BBC78 8FB90038 */ lw $t9, 0x38($sp) -/* 0F07AC 7F0BBC7C 8FA9002C */ lw $t1, 0x2c($sp) -/* 0F07B0 7F0BBC80 AFA20024 */ sw $v0, 0x24($sp) -/* 0F07B4 7F0BBC84 00194100 */ sll $t0, $t9, 4 -/* 0F07B8 7F0BBC88 8FA50048 */ lw $a1, 0x48($sp) -/* 0F07BC 7F0BBC8C 0FC2EEB7 */ jal sub_GAME_7F0BBADC -/* 0F07C0 7F0BBC90 01092021 */ addu $a0, $t0, $t1 -/* 0F07C4 7F0BBC94 8FAA0030 */ lw $t2, 0x30($sp) -/* 0F07C8 7F0BBC98 8FAC002C */ lw $t4, 0x2c($sp) -/* 0F07CC 7F0BBC9C AFA20028 */ sw $v0, 0x28($sp) -/* 0F07D0 7F0BBCA0 000A5900 */ sll $t3, $t2, 4 -/* 0F07D4 7F0BBCA4 8FA50048 */ lw $a1, 0x48($sp) -/* 0F07D8 7F0BBCA8 0FC2EEB7 */ jal sub_GAME_7F0BBADC -/* 0F07DC 7F0BBCAC 016C2021 */ addu $a0, $t3, $t4 -/* 0F07E0 7F0BBCB0 8FAD0028 */ lw $t5, 0x28($sp) -/* 0F07E4 7F0BBCB4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F07E8 7F0BBCB8 8FAF0024 */ lw $t7, 0x24($sp) -/* 0F07EC 7F0BBCBC 004D7021 */ addu $t6, $v0, $t5 -/* 0F07F0 7F0BBCC0 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0F07F4 7F0BBCC4 03E00008 */ jr $ra -/* 0F07F8 7F0BBCC8 01CF1021 */ addu $v0, $t6, $t7 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BBCCC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BBCCC -/* 0F07FC 7F0BBCCC 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0F0800 7F0BBCD0 AFBE0040 */ sw $fp, 0x40($sp) -/* 0F0804 7F0BBCD4 AFB60038 */ sw $s6, 0x38($sp) -/* 0F0808 7F0BBCD8 AFB3002C */ sw $s3, 0x2c($sp) -/* 0F080C 7F0BBCDC F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0F0810 7F0BBCE0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0F0814 7F0BBCE4 AFB7003C */ sw $s7, 0x3c($sp) -/* 0F0818 7F0BBCE8 AFB50034 */ sw $s5, 0x34($sp) -/* 0F081C 7F0BBCEC AFB40030 */ sw $s4, 0x30($sp) -/* 0F0820 7F0BBCF0 3C138008 */ lui $s3, %hi(word_CODE_bss_80082B18) -/* 0F0824 7F0BBCF4 3C168004 */ lui $s6, %hi(D_80041414) -/* 0F0828 7F0BBCF8 3C1E8008 */ lui $fp, %hi(dword_CODE_bss_80083318) -/* 0F082C 7F0BBCFC 4481A000 */ mtc1 $at, $f20 -/* 0F0830 7F0BBD00 0080A025 */ move $s4, $a0 -/* 0F0834 7F0BBD04 00A0A825 */ move $s5, $a1 -/* 0F0838 7F0BBD08 AFBF0044 */ sw $ra, 0x44($sp) -/* 0F083C 7F0BBD0C AFB20028 */ sw $s2, 0x28($sp) -/* 0F0840 7F0BBD10 AFB10024 */ sw $s1, 0x24($sp) -/* 0F0844 7F0BBD14 AFB00020 */ sw $s0, 0x20($sp) -/* 0F0848 7F0BBD18 27DE3318 */ addiu $fp, %lo(dword_CODE_bss_80083318) # addiu $fp, $fp, 0x3318 -/* 0F084C 7F0BBD1C 26D61414 */ addiu $s6, %lo(D_80041414) # addiu $s6, $s6, 0x1414 -/* 0F0850 7F0BBD20 26732B18 */ addiu $s3, %lo(word_CODE_bss_80082B18) # addiu $s3, $s3, 0x2b18 -/* 0F0854 7F0BBD24 24170050 */ li $s7, 80 -/* 0F0858 7F0BBD28 966E0000 */ lhu $t6, ($s3) -.L7F0BBD2C: -/* 0F085C 7F0BBD2C 56AE0027 */ bnel $s5, $t6, .L7F0BBDCC -/* 0F0860 7F0BBD30 26730004 */ addiu $s3, $s3, 4 -/* 0F0864 7F0BBD34 02B70019 */ multu $s5, $s7 -/* 0F0868 7F0BBD38 966F0002 */ lhu $t7, 2($s3) -/* 0F086C 7F0BBD3C 868B0000 */ lh $t3, ($s4) -/* 0F0870 7F0BBD40 868D0002 */ lh $t5, 2($s4) -/* 0F0874 7F0BBD44 000FC100 */ sll $t8, $t7, 4 -/* 0F0878 7F0BBD48 868F0004 */ lh $t7, 4($s4) -/* 0F087C 7F0BBD4C 0000C812 */ mflo $t9 -/* 0F0880 7F0BBD50 02D94021 */ addu $t0, $s6, $t9 -/* 0F0884 7F0BBD54 8D090004 */ lw $t1, 4($t0) -/* 0F0888 7F0BBD58 03091021 */ addu $v0, $t8, $t1 -/* 0F088C 7F0BBD5C 844A0000 */ lh $t2, ($v0) -/* 0F0890 7F0BBD60 844C0002 */ lh $t4, 2($v0) -/* 0F0894 7F0BBD64 844E0004 */ lh $t6, 4($v0) -/* 0F0898 7F0BBD68 014B8023 */ subu $s0, $t2, $t3 -/* 0F089C 7F0BBD6C 018D8823 */ subu $s1, $t4, $t5 -/* 0F08A0 7F0BBD70 06010002 */ bgez $s0, .L7F0BBD7C -/* 0F08A4 7F0BBD74 01CF9023 */ subu $s2, $t6, $t7 -/* 0F08A8 7F0BBD78 00108023 */ negu $s0, $s0 -.L7F0BBD7C: -/* 0F08AC 7F0BBD7C 06210002 */ bgez $s1, .L7F0BBD88 -/* 0F08B0 7F0BBD80 00000000 */ nop -/* 0F08B4 7F0BBD84 00118823 */ negu $s1, $s1 -.L7F0BBD88: -/* 0F08B8 7F0BBD88 06410002 */ bgez $s2, .L7F0BBD94 -/* 0F08BC 7F0BBD8C 00000000 */ nop -/* 0F08C0 7F0BBD90 00129023 */ negu $s2, $s2 -.L7F0BBD94: -/* 0F08C4 7F0BBD94 0FC2D20F */ jal get_room_data_float1 -/* 0F08C8 7F0BBD98 00000000 */ nop -/* 0F08CC 7F0BBD9C 46140102 */ mul.s $f4, $f0, $f20 -/* 0F08D0 7F0BBDA0 0211C821 */ addu $t9, $s0, $s1 -/* 0F08D4 7F0BBDA4 03324021 */ addu $t0, $t9, $s2 -/* 0F08D8 7F0BBDA8 4600218D */ trunc.w.s $f6, $f4 -/* 0F08DC 7F0BBDAC 44093000 */ mfc1 $t1, $f6 -/* 0F08E0 7F0BBDB0 00000000 */ nop -/* 0F08E4 7F0BBDB4 0109082A */ slt $at, $t0, $t1 -/* 0F08E8 7F0BBDB8 50200004 */ beql $at, $zero, .L7F0BBDCC -/* 0F08EC 7F0BBDBC 26730004 */ addiu $s3, $s3, 4 -/* 0F08F0 7F0BBDC0 10000005 */ b .L7F0BBDD8 -/* 0F08F4 7F0BBDC4 24020001 */ li $v0, 1 -/* 0F08F8 7F0BBDC8 26730004 */ addiu $s3, $s3, 4 -.L7F0BBDCC: -/* 0F08FC 7F0BBDCC 567EFFD7 */ bnel $s3, $fp, .L7F0BBD2C -/* 0F0900 7F0BBDD0 966E0000 */ lhu $t6, ($s3) -/* 0F0904 7F0BBDD4 00001025 */ move $v0, $zero -.L7F0BBDD8: -/* 0F0908 7F0BBDD8 8FBF0044 */ lw $ra, 0x44($sp) -/* 0F090C 7F0BBDDC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0F0910 7F0BBDE0 8FB00020 */ lw $s0, 0x20($sp) -/* 0F0914 7F0BBDE4 8FB10024 */ lw $s1, 0x24($sp) -/* 0F0918 7F0BBDE8 8FB20028 */ lw $s2, 0x28($sp) -/* 0F091C 7F0BBDEC 8FB3002C */ lw $s3, 0x2c($sp) -/* 0F0920 7F0BBDF0 8FB40030 */ lw $s4, 0x30($sp) -/* 0F0924 7F0BBDF4 8FB50034 */ lw $s5, 0x34($sp) -/* 0F0928 7F0BBDF8 8FB60038 */ lw $s6, 0x38($sp) -/* 0F092C 7F0BBDFC 8FB7003C */ lw $s7, 0x3c($sp) -/* 0F0930 7F0BBE00 8FBE0040 */ lw $fp, 0x40($sp) -/* 0F0934 7F0BBE04 03E00008 */ jr $ra -/* 0F0938 7F0BBE08 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BBE0C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BBE0C -/* 0F093C 7F0BBE0C 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 0F0940 7F0BBE10 AFB20044 */ sw $s2, 0x44($sp) -/* 0F0944 7F0BBE14 AFB10040 */ sw $s1, 0x40($sp) -/* 0F0948 7F0BBE18 AFB0003C */ sw $s0, 0x3c($sp) -/* 0F094C 7F0BBE1C 3C128008 */ lui $s2, %hi(light_fixture_table) -/* 0F0950 7F0BBE20 3C028008 */ lui $v0, %hi(cur_entry_lightfixture_table) -/* 0F0954 7F0BBE24 00808025 */ move $s0, $a0 -/* 0F0958 7F0BBE28 00A08825 */ move $s1, $a1 -/* 0F095C 7F0BBE2C AFBF005C */ sw $ra, 0x5c($sp) -/* 0F0960 7F0BBE30 AFB70058 */ sw $s7, 0x58($sp) -/* 0F0964 7F0BBE34 AFB60054 */ sw $s6, 0x54($sp) -/* 0F0968 7F0BBE38 AFB50050 */ sw $s5, 0x50($sp) -/* 0F096C 7F0BBE3C AFB4004C */ sw $s4, 0x4c($sp) -/* 0F0970 7F0BBE40 AFB30048 */ sw $s3, 0x48($sp) -/* 0F0974 7F0BBE44 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0F0978 7F0BBE48 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0F097C 7F0BBE4C F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0F0980 7F0BBE50 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0F0984 7F0BBE54 00C03825 */ move $a3, $a2 -/* 0F0988 7F0BBE58 24422B10 */ addiu $v0, %lo(cur_entry_lightfixture_table) # addiu $v0, $v0, 0x2b10 -/* 0F098C 7F0BBE5C 26522660 */ addiu $s2, %lo(light_fixture_table) # addiu $s2, $s2, 0x2660 -/* 0F0990 7F0BBE60 86460000 */ lh $a2, ($s2) -.L7F0BBE64: -/* 0F0994 7F0BBE64 54E60186 */ bnel $a3, $a2, .L7F0BC480 -/* 0F0998 7F0BBE68 2652000C */ addiu $s2, $s2, 0xc -/* 0F099C 7F0BBE6C 8E4E0004 */ lw $t6, 4($s2) -/* 0F09A0 7F0BBE70 020E082B */ sltu $at, $s0, $t6 -/* 0F09A4 7F0BBE74 54200182 */ bnezl $at, .L7F0BC480 -/* 0F09A8 7F0BBE78 2652000C */ addiu $s2, $s2, 0xc -/* 0F09AC 7F0BBE7C 8E4F0008 */ lw $t7, 8($s2) -/* 0F09B0 7F0BBE80 020F082B */ sltu $at, $s0, $t7 -/* 0F09B4 7F0BBE84 1020017D */ beqz $at, .L7F0BC47C -/* 0F09B8 7F0BBE88 02002025 */ move $a0, $s0 -/* 0F09BC 7F0BBE8C 0FC2EF0C */ jal sub_GAME_7F0BBC30 -/* 0F09C0 7F0BBE90 02202825 */ move $a1, $s1 -/* 0F09C4 7F0BBE94 1440017C */ bnez $v0, .L7F0BC488 -/* 0F09C8 7F0BBE98 02002025 */ move $a0, $s0 -/* 0F09CC 7F0BBE9C 02202825 */ move $a1, $s1 -/* 0F09D0 7F0BBEA0 0FC2EEEA */ jal sub_GAME_7F0BBBA8 -/* 0F09D4 7F0BBEA4 86460000 */ lh $a2, ($s2) -/* 0F09D8 7F0BBEA8 27B800E8 */ addiu $t8, $sp, 0xe8 -/* 0F09DC 7F0BBEAC 27B900E0 */ addiu $t9, $sp, 0xe0 -/* 0F09E0 7F0BBEB0 AFB90014 */ sw $t9, 0x14($sp) -/* 0F09E4 7F0BBEB4 AFB80010 */ sw $t8, 0x10($sp) -/* 0F09E8 7F0BBEB8 02002025 */ move $a0, $s0 -/* 0F09EC 7F0BBEBC 02202825 */ move $a1, $s1 -/* 0F09F0 7F0BBEC0 86460000 */ lh $a2, ($s2) -/* 0F09F4 7F0BBEC4 0FC2EE1D */ jal sub_GAME_7F0BB874 -/* 0F09F8 7F0BBEC8 27A700F0 */ addiu $a3, $sp, 0xf0 -/* 0F09FC 7F0BBECC 87A200F0 */ lh $v0, 0xf0($sp) -/* 0F0A00 7F0BBED0 87A500E8 */ lh $a1, 0xe8($sp) -/* 0F0A04 7F0BBED4 87A600E0 */ lh $a2, 0xe0($sp) -/* 0F0A08 7F0BBED8 87A300F2 */ lh $v1, 0xf2($sp) -/* 0F0A0C 7F0BBEDC 00458023 */ subu $s0, $v0, $a1 -/* 0F0A10 7F0BBEE0 00105C00 */ sll $t3, $s0, 0x10 -/* 0F0A14 7F0BBEE4 000B8403 */ sra $s0, $t3, 0x10 -/* 0F0A18 7F0BBEE8 02100019 */ multu $s0, $s0 -/* 0F0A1C 7F0BBEEC 87A700EA */ lh $a3, 0xea($sp) -/* 0F0A20 7F0BBEF0 0046A023 */ subu $s4, $v0, $a2 -/* 0F0A24 7F0BBEF4 00146C00 */ sll $t5, $s4, 0x10 -/* 0F0A28 7F0BBEF8 000DA403 */ sra $s4, $t5, 0x10 -/* 0F0A2C 7F0BBEFC 00678823 */ subu $s1, $v1, $a3 -/* 0F0A30 7F0BBF00 0011CC00 */ sll $t9, $s1, 0x10 -/* 0F0A34 7F0BBF04 00198C03 */ sra $s1, $t9, 0x10 -/* 0F0A38 7F0BBF08 87A800E2 */ lh $t0, 0xe2($sp) -/* 0F0A3C 7F0BBF0C 87A400F4 */ lh $a0, 0xf4($sp) -/* 0F0A40 7F0BBF10 00006812 */ mflo $t5 -/* 0F0A44 7F0BBF14 87A900EC */ lh $t1, 0xec($sp) -/* 0F0A48 7F0BBF18 00A6B823 */ subu $s7, $a1, $a2 -/* 0F0A4C 7F0BBF1C 02310019 */ multu $s1, $s1 -/* 0F0A50 7F0BBF20 00E87023 */ subu $t6, $a3, $t0 -/* 0F0A54 7F0BBF24 00177C00 */ sll $t7, $s7, 0x10 -/* 0F0A58 7F0BBF28 A7AE00B4 */ sh $t6, 0xb4($sp) -/* 0F0A5C 7F0BBF2C 000FBC03 */ sra $s7, $t7, 0x10 -/* 0F0A60 7F0BBF30 00899823 */ subu $s3, $a0, $t1 -/* 0F0A64 7F0BBF34 00137C00 */ sll $t7, $s3, 0x10 -/* 0F0A68 7F0BBF38 000F9C03 */ sra $s3, $t7, 0x10 -/* 0F0A6C 7F0BBF3C 87AA00E4 */ lh $t2, 0xe4($sp) -/* 0F0A70 7F0BBF40 0068A823 */ subu $s5, $v1, $t0 -/* 0F0A74 7F0BBF44 00007012 */ mflo $t6 -/* 0F0A78 7F0BBF48 008AB023 */ subu $s6, $a0, $t2 -/* 0F0A7C 7F0BBF4C 0016CC00 */ sll $t9, $s6, 0x10 -/* 0F0A80 7F0BBF50 02730019 */ multu $s3, $s3 -/* 0F0A84 7F0BBF54 0019B403 */ sra $s6, $t9, 0x10 -/* 0F0A88 7F0BBF58 01AE7821 */ addu $t7, $t5, $t6 -/* 0F0A8C 7F0BBF5C 00156400 */ sll $t4, $s5, 0x10 -/* 0F0A90 7F0BBF60 000CAC03 */ sra $s5, $t4, 0x10 -/* 0F0A94 7F0BBF64 012A6023 */ subu $t4, $t1, $t2 -/* 0F0A98 7F0BBF68 A7AC00AE */ sh $t4, 0xae($sp) -/* 0F0A9C 7F0BBF6C 0000C012 */ mflo $t8 -/* 0F0AA0 7F0BBF70 01F8C821 */ addu $t9, $t7, $t8 -/* 0F0AA4 7F0BBF74 44992000 */ mtc1 $t9, $f4 -/* 0F0AA8 7F0BBF78 0C007DF8 */ jal sqrtf -/* 0F0AAC 7F0BBF7C 46802320 */ cvt.s.w $f12, $f4 -/* 0F0AB0 7F0BBF80 0FC2D20C */ jal get_room_data_float2 -/* 0F0AB4 7F0BBF84 46000506 */ mov.s $f20, $f0 -/* 0F0AB8 7F0BBF88 02940019 */ multu $s4, $s4 -/* 0F0ABC 7F0BBF8C 46140182 */ mul.s $f6, $f0, $f20 -/* 0F0AC0 7F0BBF90 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0F0AC4 7F0BBF94 4481D000 */ mtc1 $at, $f26 -/* 0F0AC8 7F0BBF98 00000000 */ nop -/* 0F0ACC 7F0BBF9C 4606D203 */ div.s $f8, $f26, $f6 -/* 0F0AD0 7F0BBFA0 00005812 */ mflo $t3 -/* 0F0AD4 7F0BBFA4 00000000 */ nop -/* 0F0AD8 7F0BBFA8 00000000 */ nop -/* 0F0ADC 7F0BBFAC 02B50019 */ multu $s5, $s5 -/* 0F0AE0 7F0BBFB0 00006012 */ mflo $t4 -/* 0F0AE4 7F0BBFB4 016C6821 */ addu $t5, $t3, $t4 -/* 0F0AE8 7F0BBFB8 00000000 */ nop -/* 0F0AEC 7F0BBFBC 02D60019 */ multu $s6, $s6 -/* 0F0AF0 7F0BBFC0 E7A800A8 */ swc1 $f8, 0xa8($sp) -/* 0F0AF4 7F0BBFC4 00007012 */ mflo $t6 -/* 0F0AF8 7F0BBFC8 01AE7821 */ addu $t7, $t5, $t6 -/* 0F0AFC 7F0BBFCC 448F5000 */ mtc1 $t7, $f10 -/* 0F0B00 7F0BBFD0 0C007DF8 */ jal sqrtf -/* 0F0B04 7F0BBFD4 46805320 */ cvt.s.w $f12, $f10 -/* 0F0B08 7F0BBFD8 0FC2D20C */ jal get_room_data_float2 -/* 0F0B0C 7F0BBFDC 46000506 */ mov.s $f20, $f0 -/* 0F0B10 7F0BBFE0 02F70019 */ multu $s7, $s7 -/* 0F0B14 7F0BBFE4 87A200B4 */ lh $v0, 0xb4($sp) -/* 0F0B18 7F0BBFE8 46140402 */ mul.s $f16, $f0, $f20 -/* 0F0B1C 7F0BBFEC 87A300AE */ lh $v1, 0xae($sp) -/* 0F0B20 7F0BBFF0 4610D483 */ div.s $f18, $f26, $f16 -/* 0F0B24 7F0BBFF4 0000C012 */ mflo $t8 -/* 0F0B28 7F0BBFF8 00000000 */ nop -/* 0F0B2C 7F0BBFFC 00000000 */ nop -/* 0F0B30 7F0BC000 00420019 */ multu $v0, $v0 -/* 0F0B34 7F0BC004 0000C812 */ mflo $t9 -/* 0F0B38 7F0BC008 03195821 */ addu $t3, $t8, $t9 -/* 0F0B3C 7F0BC00C 00000000 */ nop -/* 0F0B40 7F0BC010 00630019 */ multu $v1, $v1 -/* 0F0B44 7F0BC014 E7B200A4 */ swc1 $f18, 0xa4($sp) -/* 0F0B48 7F0BC018 00006012 */ mflo $t4 -/* 0F0B4C 7F0BC01C 016C6821 */ addu $t5, $t3, $t4 -/* 0F0B50 7F0BC020 448D2000 */ mtc1 $t5, $f4 -/* 0F0B54 7F0BC024 0C007DF8 */ jal sqrtf -/* 0F0B58 7F0BC028 46802320 */ cvt.s.w $f12, $f4 -/* 0F0B5C 7F0BC02C 0FC2D20C */ jal get_room_data_float2 -/* 0F0B60 7F0BC030 46000506 */ mov.s $f20, $f0 -/* 0F0B64 7F0BC034 46140182 */ mul.s $f6, $f0, $f20 -/* 0F0B68 7F0BC038 86440000 */ lh $a0, ($s2) -/* 0F0B6C 7F0BC03C 27A50094 */ addiu $a1, $sp, 0x94 -/* 0F0B70 7F0BC040 4606D203 */ div.s $f8, $f26, $f6 -/* 0F0B74 7F0BC044 0FC2F28D */ jal sub_GAME_7F0BCA34 -/* 0F0B78 7F0BC048 E7A800A0 */ swc1 $f8, 0xa0($sp) -/* 0F0B7C 7F0BC04C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F0B80 7F0BC050 4481C000 */ mtc1 $at, $f24 -/* 0F0B84 7F0BC054 4480B000 */ mtc1 $zero, $f22 -/* 0F0B88 7F0BC058 00000000 */ nop -/* 0F0B8C 7F0BC05C 4618B03C */ c.lt.s $f22, $f24 -/* 0F0B90 7F0BC060 4600B506 */ mov.s $f20, $f22 -/* 0F0B94 7F0BC064 45020039 */ bc1fl .L7F0BC14C -/* 0F0B98 7F0BC068 4618B03C */ c.lt.s $f22, $f24 -/* 0F0B9C 7F0BC06C 44905000 */ mtc1 $s0, $f10 -/* 0F0BA0 7F0BC070 44919000 */ mtc1 $s1, $f18 -/* 0F0BA4 7F0BC074 44933000 */ mtc1 $s3, $f6 -/* 0F0BA8 7F0BC078 46805420 */ cvt.s.w $f16, $f10 -/* 0F0BAC 7F0BC07C 27B00088 */ addiu $s0, $sp, 0x88 -/* 0F0BB0 7F0BC080 46809120 */ cvt.s.w $f4, $f18 -/* 0F0BB4 7F0BC084 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 0F0BB8 7F0BC088 46803220 */ cvt.s.w $f8, $f6 -/* 0F0BBC 7F0BC08C E7A40068 */ swc1 $f4, 0x68($sp) -/* 0F0BC0 7F0BC090 E7A80064 */ swc1 $f8, 0x64($sp) -.L7F0BC094: -/* 0F0BC4 7F0BC094 0FC2D20C */ jal get_room_data_float2 -/* 0F0BC8 7F0BC098 00000000 */ nop -/* 0F0BCC 7F0BC09C 87A500E8 */ lh $a1, 0xe8($sp) -/* 0F0BD0 7F0BC0A0 C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 0F0BD4 7F0BC0A4 44855000 */ mtc1 $a1, $f10 -/* 0F0BD8 7F0BC0A8 46149102 */ mul.s $f4, $f18, $f20 -/* 0F0BDC 7F0BC0AC 46805420 */ cvt.s.w $f16, $f10 -/* 0F0BE0 7F0BC0B0 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0F0BE4 7F0BC0B4 46048180 */ add.s $f6, $f16, $f4 -/* 0F0BE8 7F0BC0B8 46003202 */ mul.s $f8, $f6, $f0 -/* 0F0BEC 7F0BC0BC 46085480 */ add.s $f18, $f10, $f8 -/* 0F0BF0 7F0BC0C0 0FC2D20C */ jal get_room_data_float2 -/* 0F0BF4 7F0BC0C4 E7B20088 */ swc1 $f18, 0x88($sp) -/* 0F0BF8 7F0BC0C8 87A700EA */ lh $a3, 0xea($sp) -/* 0F0BFC 7F0BC0CC C7A60068 */ lwc1 $f6, 0x68($sp) -/* 0F0C00 7F0BC0D0 44878000 */ mtc1 $a3, $f16 -/* 0F0C04 7F0BC0D4 46143282 */ mul.s $f10, $f6, $f20 -/* 0F0C08 7F0BC0D8 46808120 */ cvt.s.w $f4, $f16 -/* 0F0C0C 7F0BC0DC C7B00098 */ lwc1 $f16, 0x98($sp) -/* 0F0C10 7F0BC0E0 460A2200 */ add.s $f8, $f4, $f10 -/* 0F0C14 7F0BC0E4 46004482 */ mul.s $f18, $f8, $f0 -/* 0F0C18 7F0BC0E8 46128180 */ add.s $f6, $f16, $f18 -/* 0F0C1C 7F0BC0EC 0FC2D20C */ jal get_room_data_float2 -/* 0F0C20 7F0BC0F0 E7A6008C */ swc1 $f6, 0x8c($sp) -/* 0F0C24 7F0BC0F4 87A900EC */ lh $t1, 0xec($sp) -/* 0F0C28 7F0BC0F8 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 0F0C2C 7F0BC0FC 4405B000 */ mfc1 $a1, $f22 -/* 0F0C30 7F0BC100 44892000 */ mtc1 $t1, $f4 -/* 0F0C34 7F0BC104 46144402 */ mul.s $f16, $f8, $f20 -/* 0F0C38 7F0BC108 4406D000 */ mfc1 $a2, $f26 -/* 0F0C3C 7F0BC10C 02002025 */ move $a0, $s0 -/* 0F0C40 7F0BC110 468022A0 */ cvt.s.w $f10, $f4 -/* 0F0C44 7F0BC114 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0F0C48 7F0BC118 46105480 */ add.s $f18, $f10, $f16 -/* 0F0C4C 7F0BC11C 46009182 */ mul.s $f6, $f18, $f0 -/* 0F0C50 7F0BC120 46062200 */ add.s $f8, $f4, $f6 -/* 0F0C54 7F0BC124 0FC28858 */ jal sub_GAME_7F0A2160 -/* 0F0C58 7F0BC128 E7A80090 */ swc1 $f8, 0x90($sp) -/* 0F0C5C 7F0BC12C C7AA00A8 */ lwc1 $f10, 0xa8($sp) -/* 0F0C60 7F0BC130 460AA500 */ add.s $f20, $f20, $f10 -/* 0F0C64 7F0BC134 4618A03C */ c.lt.s $f20, $f24 -/* 0F0C68 7F0BC138 00000000 */ nop -/* 0F0C6C 7F0BC13C 4501FFD5 */ bc1t .L7F0BC094 -/* 0F0C70 7F0BC140 00000000 */ nop -/* 0F0C74 7F0BC144 4600B506 */ mov.s $f20, $f22 -/* 0F0C78 7F0BC148 4618B03C */ c.lt.s $f22, $f24 -.L7F0BC14C: -/* 0F0C7C 7F0BC14C 27B00088 */ addiu $s0, $sp, 0x88 -/* 0F0C80 7F0BC150 45020038 */ bc1fl .L7F0BC234 -/* 0F0C84 7F0BC154 4618B03C */ c.lt.s $f22, $f24 -/* 0F0C88 7F0BC158 44948000 */ mtc1 $s4, $f16 -/* 0F0C8C 7F0BC15C 44952000 */ mtc1 $s5, $f4 -/* 0F0C90 7F0BC160 44964000 */ mtc1 $s6, $f8 -/* 0F0C94 7F0BC164 468084A0 */ cvt.s.w $f18, $f16 -/* 0F0C98 7F0BC168 468021A0 */ cvt.s.w $f6, $f4 -/* 0F0C9C 7F0BC16C E7B2006C */ swc1 $f18, 0x6c($sp) -/* 0F0CA0 7F0BC170 468042A0 */ cvt.s.w $f10, $f8 -/* 0F0CA4 7F0BC174 E7A60068 */ swc1 $f6, 0x68($sp) -/* 0F0CA8 7F0BC178 E7AA0064 */ swc1 $f10, 0x64($sp) -.L7F0BC17C: -/* 0F0CAC 7F0BC17C 0FC2D20C */ jal get_room_data_float2 -/* 0F0CB0 7F0BC180 00000000 */ nop -/* 0F0CB4 7F0BC184 87A600E0 */ lh $a2, 0xe0($sp) -/* 0F0CB8 7F0BC188 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 0F0CBC 7F0BC18C 44868000 */ mtc1 $a2, $f16 -/* 0F0CC0 7F0BC190 46142182 */ mul.s $f6, $f4, $f20 -/* 0F0CC4 7F0BC194 468084A0 */ cvt.s.w $f18, $f16 -/* 0F0CC8 7F0BC198 C7B00094 */ lwc1 $f16, 0x94($sp) -/* 0F0CCC 7F0BC19C 46069200 */ add.s $f8, $f18, $f6 -/* 0F0CD0 7F0BC1A0 46004282 */ mul.s $f10, $f8, $f0 -/* 0F0CD4 7F0BC1A4 460A8100 */ add.s $f4, $f16, $f10 -/* 0F0CD8 7F0BC1A8 0FC2D20C */ jal get_room_data_float2 -/* 0F0CDC 7F0BC1AC E7A40088 */ swc1 $f4, 0x88($sp) -/* 0F0CE0 7F0BC1B0 87A800E2 */ lh $t0, 0xe2($sp) -/* 0F0CE4 7F0BC1B4 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 0F0CE8 7F0BC1B8 44889000 */ mtc1 $t0, $f18 -/* 0F0CEC 7F0BC1BC 46144402 */ mul.s $f16, $f8, $f20 -/* 0F0CF0 7F0BC1C0 468091A0 */ cvt.s.w $f6, $f18 -/* 0F0CF4 7F0BC1C4 C7B20098 */ lwc1 $f18, 0x98($sp) -/* 0F0CF8 7F0BC1C8 46103280 */ add.s $f10, $f6, $f16 -/* 0F0CFC 7F0BC1CC 46005102 */ mul.s $f4, $f10, $f0 -/* 0F0D00 7F0BC1D0 46049200 */ add.s $f8, $f18, $f4 -/* 0F0D04 7F0BC1D4 0FC2D20C */ jal get_room_data_float2 -/* 0F0D08 7F0BC1D8 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 0F0D0C 7F0BC1DC 87AA00E4 */ lh $t2, 0xe4($sp) -/* 0F0D10 7F0BC1E0 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 0F0D14 7F0BC1E4 4405B000 */ mfc1 $a1, $f22 -/* 0F0D18 7F0BC1E8 448A3000 */ mtc1 $t2, $f6 -/* 0F0D1C 7F0BC1EC 46145482 */ mul.s $f18, $f10, $f20 -/* 0F0D20 7F0BC1F0 4406D000 */ mfc1 $a2, $f26 -/* 0F0D24 7F0BC1F4 02002025 */ move $a0, $s0 -/* 0F0D28 7F0BC1F8 46803420 */ cvt.s.w $f16, $f6 -/* 0F0D2C 7F0BC1FC C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0F0D30 7F0BC200 46128100 */ add.s $f4, $f16, $f18 -/* 0F0D34 7F0BC204 46002202 */ mul.s $f8, $f4, $f0 -/* 0F0D38 7F0BC208 46083280 */ add.s $f10, $f6, $f8 -/* 0F0D3C 7F0BC20C 0FC28858 */ jal sub_GAME_7F0A2160 -/* 0F0D40 7F0BC210 E7AA0090 */ swc1 $f10, 0x90($sp) -/* 0F0D44 7F0BC214 C7B000A4 */ lwc1 $f16, 0xa4($sp) -/* 0F0D48 7F0BC218 4610A500 */ add.s $f20, $f20, $f16 -/* 0F0D4C 7F0BC21C 4618A03C */ c.lt.s $f20, $f24 -/* 0F0D50 7F0BC220 00000000 */ nop -/* 0F0D54 7F0BC224 4501FFD5 */ bc1t .L7F0BC17C -/* 0F0D58 7F0BC228 00000000 */ nop -/* 0F0D5C 7F0BC22C 4600B506 */ mov.s $f20, $f22 -/* 0F0D60 7F0BC230 4618B03C */ c.lt.s $f22, $f24 -.L7F0BC234: -/* 0F0D64 7F0BC234 00000000 */ nop -/* 0F0D68 7F0BC238 45020039 */ bc1fl .L7F0BC320 -/* 0F0D6C 7F0BC23C 8E530004 */ lw $s3, 4($s2) -/* 0F0D70 7F0BC240 87AE00B4 */ lh $t6, 0xb4($sp) -/* 0F0D74 7F0BC244 87AF00AE */ lh $t7, 0xae($sp) -/* 0F0D78 7F0BC248 44979000 */ mtc1 $s7, $f18 -/* 0F0D7C 7F0BC24C 448E3000 */ mtc1 $t6, $f6 -/* 0F0D80 7F0BC250 448F5000 */ mtc1 $t7, $f10 -/* 0F0D84 7F0BC254 46809120 */ cvt.s.w $f4, $f18 -/* 0F0D88 7F0BC258 46803220 */ cvt.s.w $f8, $f6 -/* 0F0D8C 7F0BC25C E7A4006C */ swc1 $f4, 0x6c($sp) -/* 0F0D90 7F0BC260 46805420 */ cvt.s.w $f16, $f10 -/* 0F0D94 7F0BC264 E7A80068 */ swc1 $f8, 0x68($sp) -/* 0F0D98 7F0BC268 E7B00064 */ swc1 $f16, 0x64($sp) -.L7F0BC26C: -/* 0F0D9C 7F0BC26C 0FC2D20C */ jal get_room_data_float2 -/* 0F0DA0 7F0BC270 00000000 */ nop -/* 0F0DA4 7F0BC274 87A600E0 */ lh $a2, 0xe0($sp) -/* 0F0DA8 7F0BC278 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0F0DAC 7F0BC27C 44869000 */ mtc1 $a2, $f18 -/* 0F0DB0 7F0BC280 46143202 */ mul.s $f8, $f6, $f20 -/* 0F0DB4 7F0BC284 46809120 */ cvt.s.w $f4, $f18 -/* 0F0DB8 7F0BC288 C7B20094 */ lwc1 $f18, 0x94($sp) -/* 0F0DBC 7F0BC28C 46082280 */ add.s $f10, $f4, $f8 -/* 0F0DC0 7F0BC290 46005402 */ mul.s $f16, $f10, $f0 -/* 0F0DC4 7F0BC294 46109180 */ add.s $f6, $f18, $f16 -/* 0F0DC8 7F0BC298 0FC2D20C */ jal get_room_data_float2 -/* 0F0DCC 7F0BC29C E7A60088 */ swc1 $f6, 0x88($sp) -/* 0F0DD0 7F0BC2A0 87A800E2 */ lh $t0, 0xe2($sp) -/* 0F0DD4 7F0BC2A4 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 0F0DD8 7F0BC2A8 44882000 */ mtc1 $t0, $f4 -/* 0F0DDC 7F0BC2AC 46145482 */ mul.s $f18, $f10, $f20 -/* 0F0DE0 7F0BC2B0 46802220 */ cvt.s.w $f8, $f4 -/* 0F0DE4 7F0BC2B4 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 0F0DE8 7F0BC2B8 46124400 */ add.s $f16, $f8, $f18 -/* 0F0DEC 7F0BC2BC 46008182 */ mul.s $f6, $f16, $f0 -/* 0F0DF0 7F0BC2C0 46062280 */ add.s $f10, $f4, $f6 -/* 0F0DF4 7F0BC2C4 0FC2D20C */ jal get_room_data_float2 -/* 0F0DF8 7F0BC2C8 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 0F0DFC 7F0BC2CC 87AA00E4 */ lh $t2, 0xe4($sp) -/* 0F0E00 7F0BC2D0 C7B00064 */ lwc1 $f16, 0x64($sp) -/* 0F0E04 7F0BC2D4 4405B000 */ mfc1 $a1, $f22 -/* 0F0E08 7F0BC2D8 448A4000 */ mtc1 $t2, $f8 -/* 0F0E0C 7F0BC2DC 46148102 */ mul.s $f4, $f16, $f20 -/* 0F0E10 7F0BC2E0 4406D000 */ mfc1 $a2, $f26 -/* 0F0E14 7F0BC2E4 02002025 */ move $a0, $s0 -/* 0F0E18 7F0BC2E8 468044A0 */ cvt.s.w $f18, $f8 -/* 0F0E1C 7F0BC2EC C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 0F0E20 7F0BC2F0 46049180 */ add.s $f6, $f18, $f4 -/* 0F0E24 7F0BC2F4 46003282 */ mul.s $f10, $f6, $f0 -/* 0F0E28 7F0BC2F8 460A4400 */ add.s $f16, $f8, $f10 -/* 0F0E2C 7F0BC2FC 0FC28858 */ jal sub_GAME_7F0A2160 -/* 0F0E30 7F0BC300 E7B00090 */ swc1 $f16, 0x90($sp) -/* 0F0E34 7F0BC304 C7B200A0 */ lwc1 $f18, 0xa0($sp) -/* 0F0E38 7F0BC308 4612A500 */ add.s $f20, $f20, $f18 -/* 0F0E3C 7F0BC30C 4618A03C */ c.lt.s $f20, $f24 -/* 0F0E40 7F0BC310 00000000 */ nop -/* 0F0E44 7F0BC314 4501FFD5 */ bc1t .L7F0BC26C -/* 0F0E48 7F0BC318 00000000 */ nop -/* 0F0E4C 7F0BC31C 8E530004 */ lw $s3, 4($s2) -.L7F0BC320: -/* 0F0E50 7F0BC320 8E430008 */ lw $v1, 8($s2) -/* 0F0E54 7F0BC324 24170004 */ li $s7, 4 -/* 0F0E58 7F0BC328 27B600C8 */ addiu $s6, $sp, 0xc8 -/* 0F0E5C 7F0BC32C 0263082B */ sltu $at, $s3, $v1 -/* 0F0E60 7F0BC330 10200055 */ beqz $at, .L7F0BC488 -/* 0F0E64 7F0BC334 27B500D0 */ addiu $s5, $sp, 0xd0 -/* 0F0E68 7F0BC338 27B400D8 */ addiu $s4, $sp, 0xd8 -/* 0F0E6C 7F0BC33C 82620000 */ lb $v0, ($s3) -.L7F0BC340: -/* 0F0E70 7F0BC340 2401FFBF */ li $at, -65 -/* 0F0E74 7F0BC344 00008025 */ move $s0, $zero -/* 0F0E78 7F0BC348 14410020 */ bne $v0, $at, .L7F0BC3CC -/* 0F0E7C 7F0BC34C 02602025 */ move $a0, $s3 -/* 0F0E80 7F0BC350 00002825 */ move $a1, $zero -/* 0F0E84 7F0BC354 86460000 */ lh $a2, ($s2) -/* 0F0E88 7F0BC358 02803825 */ move $a3, $s4 -/* 0F0E8C 7F0BC35C AFB50010 */ sw $s5, 0x10($sp) -/* 0F0E90 7F0BC360 0FC2EE1D */ jal sub_GAME_7F0BB874 -/* 0F0E94 7F0BC364 AFB60014 */ sw $s6, 0x14($sp) -/* 0F0E98 7F0BC368 02802025 */ move $a0, $s4 -/* 0F0E9C 7F0BC36C 0FC2EF33 */ jal sub_GAME_7F0BBCCC -/* 0F0EA0 7F0BC370 86450000 */ lh $a1, ($s2) -/* 0F0EA4 7F0BC374 10400003 */ beqz $v0, .L7F0BC384 -/* 0F0EA8 7F0BC378 02A02025 */ move $a0, $s5 -/* 0F0EAC 7F0BC37C 1000000C */ b .L7F0BC3B0 -/* 0F0EB0 7F0BC380 24100001 */ li $s0, 1 -.L7F0BC384: -/* 0F0EB4 7F0BC384 0FC2EF33 */ jal sub_GAME_7F0BBCCC -/* 0F0EB8 7F0BC388 86450000 */ lh $a1, ($s2) -/* 0F0EBC 7F0BC38C 10400003 */ beqz $v0, .L7F0BC39C -/* 0F0EC0 7F0BC390 02C02025 */ move $a0, $s6 -/* 0F0EC4 7F0BC394 10000006 */ b .L7F0BC3B0 -/* 0F0EC8 7F0BC398 24100001 */ li $s0, 1 -.L7F0BC39C: -/* 0F0ECC 7F0BC39C 0FC2EF33 */ jal sub_GAME_7F0BBCCC -/* 0F0ED0 7F0BC3A0 86450000 */ lh $a1, ($s2) -/* 0F0ED4 7F0BC3A4 10400002 */ beqz $v0, .L7F0BC3B0 -/* 0F0ED8 7F0BC3A8 00000000 */ nop -/* 0F0EDC 7F0BC3AC 24100001 */ li $s0, 1 -.L7F0BC3B0: -/* 0F0EE0 7F0BC3B0 12000004 */ beqz $s0, .L7F0BC3C4 -/* 0F0EE4 7F0BC3B4 02602025 */ move $a0, $s3 -/* 0F0EE8 7F0BC3B8 00002825 */ move $a1, $zero -/* 0F0EEC 7F0BC3BC 0FC2EEEA */ jal sub_GAME_7F0BBBA8 -/* 0F0EF0 7F0BC3C0 86460000 */ lh $a2, ($s2) -.L7F0BC3C4: -/* 0F0EF4 7F0BC3C4 10000027 */ b .L7F0BC464 -/* 0F0EF8 7F0BC3C8 8E430008 */ lw $v1, 8($s2) -.L7F0BC3CC: -/* 0F0EFC 7F0BC3CC 2401FFB1 */ li $at, -79 -/* 0F0F00 7F0BC3D0 14410024 */ bne $v0, $at, .L7F0BC464 -/* 0F0F04 7F0BC3D4 00001025 */ move $v0, $zero -.L7F0BC3D8: -/* 0F0F08 7F0BC3D8 24510001 */ addiu $s1, $v0, 1 -/* 0F0F0C 7F0BC3DC 00008025 */ move $s0, $zero -/* 0F0F10 7F0BC3E0 02202825 */ move $a1, $s1 -/* 0F0F14 7F0BC3E4 02602025 */ move $a0, $s3 -/* 0F0F18 7F0BC3E8 86460000 */ lh $a2, ($s2) -/* 0F0F1C 7F0BC3EC 02803825 */ move $a3, $s4 -/* 0F0F20 7F0BC3F0 AFB50010 */ sw $s5, 0x10($sp) -/* 0F0F24 7F0BC3F4 0FC2EE1D */ jal sub_GAME_7F0BB874 -/* 0F0F28 7F0BC3F8 AFB60014 */ sw $s6, 0x14($sp) -/* 0F0F2C 7F0BC3FC 02802025 */ move $a0, $s4 -/* 0F0F30 7F0BC400 0FC2EF33 */ jal sub_GAME_7F0BBCCC -/* 0F0F34 7F0BC404 86450000 */ lh $a1, ($s2) -/* 0F0F38 7F0BC408 10400003 */ beqz $v0, .L7F0BC418 -/* 0F0F3C 7F0BC40C 02A02025 */ move $a0, $s5 -/* 0F0F40 7F0BC410 1000000C */ b .L7F0BC444 -/* 0F0F44 7F0BC414 24100001 */ li $s0, 1 -.L7F0BC418: -/* 0F0F48 7F0BC418 0FC2EF33 */ jal sub_GAME_7F0BBCCC -/* 0F0F4C 7F0BC41C 86450000 */ lh $a1, ($s2) -/* 0F0F50 7F0BC420 10400003 */ beqz $v0, .L7F0BC430 -/* 0F0F54 7F0BC424 02C02025 */ move $a0, $s6 -/* 0F0F58 7F0BC428 10000006 */ b .L7F0BC444 -/* 0F0F5C 7F0BC42C 24100001 */ li $s0, 1 -.L7F0BC430: -/* 0F0F60 7F0BC430 0FC2EF33 */ jal sub_GAME_7F0BBCCC -/* 0F0F64 7F0BC434 86450000 */ lh $a1, ($s2) -/* 0F0F68 7F0BC438 10400002 */ beqz $v0, .L7F0BC444 -/* 0F0F6C 7F0BC43C 00000000 */ nop -/* 0F0F70 7F0BC440 24100001 */ li $s0, 1 -.L7F0BC444: -/* 0F0F74 7F0BC444 12000004 */ beqz $s0, .L7F0BC458 -/* 0F0F78 7F0BC448 02602025 */ move $a0, $s3 -/* 0F0F7C 7F0BC44C 02202825 */ move $a1, $s1 -/* 0F0F80 7F0BC450 0FC2EEEA */ jal sub_GAME_7F0BBBA8 -/* 0F0F84 7F0BC454 86460000 */ lh $a2, ($s2) -.L7F0BC458: -/* 0F0F88 7F0BC458 1637FFDF */ bne $s1, $s7, .L7F0BC3D8 -/* 0F0F8C 7F0BC45C 02201025 */ move $v0, $s1 -/* 0F0F90 7F0BC460 8E430008 */ lw $v1, 8($s2) -.L7F0BC464: -/* 0F0F94 7F0BC464 26730008 */ addiu $s3, $s3, 8 -/* 0F0F98 7F0BC468 0263082B */ sltu $at, $s3, $v1 -/* 0F0F9C 7F0BC46C 5420FFB4 */ bnezl $at, .L7F0BC340 -/* 0F0FA0 7F0BC470 82620000 */ lb $v0, ($s3) -/* 0F0FA4 7F0BC474 10000005 */ b .L7F0BC48C -/* 0F0FA8 7F0BC478 8FBF005C */ lw $ra, 0x5c($sp) -.L7F0BC47C: -/* 0F0FAC 7F0BC47C 2652000C */ addiu $s2, $s2, 0xc -.L7F0BC480: -/* 0F0FB0 7F0BC480 5642FE78 */ bnel $s2, $v0, .L7F0BBE64 -/* 0F0FB4 7F0BC484 86460000 */ lh $a2, ($s2) -.L7F0BC488: -/* 0F0FB8 7F0BC488 8FBF005C */ lw $ra, 0x5c($sp) -.L7F0BC48C: -/* 0F0FBC 7F0BC48C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0F0FC0 7F0BC490 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0F0FC4 7F0BC494 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0F0FC8 7F0BC498 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0F0FCC 7F0BC49C 8FB0003C */ lw $s0, 0x3c($sp) -/* 0F0FD0 7F0BC4A0 8FB10040 */ lw $s1, 0x40($sp) -/* 0F0FD4 7F0BC4A4 8FB20044 */ lw $s2, 0x44($sp) -/* 0F0FD8 7F0BC4A8 8FB30048 */ lw $s3, 0x48($sp) -/* 0F0FDC 7F0BC4AC 8FB4004C */ lw $s4, 0x4c($sp) -/* 0F0FE0 7F0BC4B0 8FB50050 */ lw $s5, 0x50($sp) -/* 0F0FE4 7F0BC4B4 8FB60054 */ lw $s6, 0x54($sp) -/* 0F0FE8 7F0BC4B8 8FB70058 */ lw $s7, 0x58($sp) -/* 0F0FEC 7F0BC4BC 03E00008 */ jr $ra -/* 0F0FF0 7F0BC4C0 27BD00F8 */ addiu $sp, $sp, 0xf8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC4C4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC4C4 -/* 0F0FF4 7F0BC4C4 3C038008 */ lui $v1, %hi(light_fixture_table) -/* 0F0FF8 7F0BC4C8 3C028008 */ lui $v0, %hi(cur_entry_lightfixture_table) -/* 0F0FFC 7F0BC4CC 24422B10 */ addiu $v0, %lo(cur_entry_lightfixture_table) # addiu $v0, $v0, 0x2b10 -/* 0F1000 7F0BC4D0 24632660 */ addiu $v1, %lo(light_fixture_table) # addiu $v1, $v1, 0x2660 -/* 0F1004 7F0BC4D4 846E0000 */ lh $t6, ($v1) -.L7F0BC4D8: -/* 0F1008 7F0BC4D8 548E0003 */ bnel $a0, $t6, .L7F0BC4E8 -/* 0F100C 7F0BC4DC 846F000C */ lh $t7, 0xc($v1) -/* 0F1010 7F0BC4E0 A4600000 */ sh $zero, ($v1) -/* 0F1014 7F0BC4E4 846F000C */ lh $t7, 0xc($v1) -.L7F0BC4E8: -/* 0F1018 7F0BC4E8 548F0003 */ bnel $a0, $t7, .L7F0BC4F8 -/* 0F101C 7F0BC4EC 84780018 */ lh $t8, 0x18($v1) -/* 0F1020 7F0BC4F0 A460000C */ sh $zero, 0xc($v1) -/* 0F1024 7F0BC4F4 84780018 */ lh $t8, 0x18($v1) -.L7F0BC4F8: -/* 0F1028 7F0BC4F8 54980003 */ bnel $a0, $t8, .L7F0BC508 -/* 0F102C 7F0BC4FC 84790024 */ lh $t9, 0x24($v1) -/* 0F1030 7F0BC500 A4600018 */ sh $zero, 0x18($v1) -/* 0F1034 7F0BC504 84790024 */ lh $t9, 0x24($v1) -.L7F0BC508: -/* 0F1038 7F0BC508 54990003 */ bnel $a0, $t9, .L7F0BC518 -/* 0F103C 7F0BC50C 24630030 */ addiu $v1, $v1, 0x30 -/* 0F1040 7F0BC510 A4600024 */ sh $zero, 0x24($v1) -/* 0F1044 7F0BC514 24630030 */ addiu $v1, $v1, 0x30 -.L7F0BC518: -/* 0F1048 7F0BC518 5462FFEF */ bnel $v1, $v0, .L7F0BC4D8 -/* 0F104C 7F0BC51C 846E0000 */ lh $t6, ($v1) -/* 0F1050 7F0BC520 3C018008 */ lui $at, %hi(index_of_cur_entry_lightfixture_table) -/* 0F1054 7F0BC524 03E00008 */ jr $ra -/* 0F1058 7F0BC528 A4242B12 */ sh $a0, %lo(index_of_cur_entry_lightfixture_table)($at) -) -#endif - - diff --git a/src/game/loadobjectmodel.c b/src/game/loadobjectmodel.c deleted file mode 100644 index 11fedc3..0000000 --- a/src/game/loadobjectmodel.c +++ /dev/null @@ -1,798 +0,0 @@ -#include "ultra64.h" -#include "bondtypes.h" -#include "game/chrai.h" -#include "game/chrobjdata.h" - -#ifdef NONMATCHING -void sub_GAME_7F056850(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F056850 -/* 08B380 7F056850 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08B384 7F056854 AFBF002C */ sw $ra, 0x2c($sp) -/* 08B388 7F056858 AFB00028 */ sw $s0, 0x28($sp) -/* 08B38C 7F05685C C4840000 */ lwc1 $f4, ($a0) -/* 08B390 7F056860 44866000 */ mtc1 $a2, $f12 -/* 08B394 7F056864 00E08025 */ move $s0, $a3 -/* 08B398 7F056868 E4E40000 */ swc1 $f4, ($a3) -/* 08B39C 7F05686C C4860004 */ lwc1 $f6, 4($a0) -/* 08B3A0 7F056870 E4E60004 */ swc1 $f6, 4($a3) -/* 08B3A4 7F056874 C4880008 */ lwc1 $f8, 8($a0) -/* 08B3A8 7F056878 E4E80008 */ swc1 $f8, 8($a3) -/* 08B3AC 7F05687C 8FAE0040 */ lw $t6, 0x40($sp) -/* 08B3B0 7F056880 14A00003 */ bnez $a1, .L7F056890 -/* 08B3B4 7F056884 ADC50000 */ sw $a1, ($t6) -/* 08B3B8 7F056888 10000015 */ b .L7F0568E0 -/* 08B3BC 7F05688C 00001025 */ move $v0, $zero -.L7F056890: -/* 08B3C0 7F056890 44800000 */ mtc1 $zero, $f0 -/* 08B3C4 7F056894 8FA40040 */ lw $a0, 0x40($sp) -/* 08B3C8 7F056898 240F001F */ li $t7, 31 -/* 08B3CC 7F05689C 460C003C */ c.lt.s $f0, $f12 -/* 08B3D0 7F0568A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08B3D4 7F0568A4 4502000E */ bc1fl .L7F0568E0 -/* 08B3D8 7F0568A8 24020001 */ li $v0, 1 -/* 08B3DC 7F0568AC 44815000 */ mtc1 $at, $f10 -/* 08B3E0 7F0568B0 8E050000 */ lw $a1, ($s0) -/* 08B3E4 7F0568B4 8E060008 */ lw $a2, 8($s0) -/* 08B3E8 7F0568B8 44076000 */ mfc1 $a3, $f12 -/* 08B3EC 7F0568BC E7A00014 */ swc1 $f0, 0x14($sp) -/* 08B3F0 7F0568C0 AFAF0010 */ sw $t7, 0x10($sp) -/* 08B3F4 7F0568C4 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 08B3F8 7F0568C8 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 08B3FC 7F0568CC 04420004 */ bltzl $v0, .L7F0568E0 -/* 08B400 7F0568D0 24020001 */ li $v0, 1 -/* 08B404 7F0568D4 10000002 */ b .L7F0568E0 -/* 08B408 7F0568D8 00001025 */ move $v0, $zero -/* 08B40C 7F0568DC 24020001 */ li $v0, 1 -.L7F0568E0: -/* 08B410 7F0568E0 8FBF002C */ lw $ra, 0x2c($sp) -/* 08B414 7F0568E4 8FB00028 */ lw $s0, 0x28($sp) -/* 08B418 7F0568E8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08B41C 7F0568EC 03E00008 */ jr $ra -/* 08B420 7F0568F0 00000000 */ nop -) -#endif - - - -// - -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; - } -} - - - - -#ifdef NONMATCHING -void sub_GAME_7F056A88(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F056A88 -/* 08B5B8 7F056A88 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08B5BC 7F056A8C AFB10018 */ sw $s1, 0x18($sp) -/* 08B5C0 7F056A90 AFB30020 */ sw $s3, 0x20($sp) -/* 08B5C4 7F056A94 3C118007 */ lui $s1, %hi(ptr_setup_objects) -/* 08B5C8 7F056A98 00809825 */ move $s3, $a0 -/* 08B5CC 7F056A9C AFBF0024 */ sw $ra, 0x24($sp) -/* 08B5D0 7F056AA0 AFB2001C */ sw $s2, 0x1c($sp) -/* 08B5D4 7F056AA4 AFB00014 */ sw $s0, 0x14($sp) -/* 08B5D8 7F056AA8 04800014 */ bltz $a0, .L7F056AFC -/* 08B5DC 7F056AAC 8E315D0C */ lw $s1, %lo(ptr_setup_objects)($s1) -/* 08B5E0 7F056AB0 52200013 */ beql $s1, $zero, .L7F056B00 -/* 08B5E4 7F056AB4 00001025 */ move $v0, $zero -/* 08B5E8 7F056AB8 922E0003 */ lbu $t6, 3($s1) -/* 08B5EC 7F056ABC 24120030 */ li $s2, 48 -/* 08B5F0 7F056AC0 00008025 */ move $s0, $zero -/* 08B5F4 7F056AC4 524E000E */ beql $s2, $t6, .L7F056B00 -/* 08B5F8 7F056AC8 00001025 */ move $v0, $zero -.L7F056ACC: -/* 08B5FC 7F056ACC 16130003 */ bne $s0, $s3, .L7F056ADC -/* 08B600 7F056AD0 00000000 */ nop -/* 08B604 7F056AD4 1000000A */ b .L7F056B00 -/* 08B608 7F056AD8 02201025 */ move $v0, $s1 -.L7F056ADC: -/* 08B60C 7F056ADC 0FC15A3D */ jal get_size_of_setup_object_type -/* 08B610 7F056AE0 02202025 */ move $a0, $s1 -/* 08B614 7F056AE4 00027880 */ sll $t7, $v0, 2 -/* 08B618 7F056AE8 01F18821 */ addu $s1, $t7, $s1 -/* 08B61C 7F056AEC 92380003 */ lbu $t8, 3($s1) -/* 08B620 7F056AF0 26100001 */ addiu $s0, $s0, 1 -/* 08B624 7F056AF4 1658FFF5 */ bne $s2, $t8, .L7F056ACC -/* 08B628 7F056AF8 00000000 */ nop -.L7F056AFC: -/* 08B62C 7F056AFC 00001025 */ move $v0, $zero -.L7F056B00: -/* 08B630 7F056B00 8FBF0024 */ lw $ra, 0x24($sp) -/* 08B634 7F056B04 8FB00014 */ lw $s0, 0x14($sp) -/* 08B638 7F056B08 8FB10018 */ lw $s1, 0x18($sp) -/* 08B63C 7F056B0C 8FB2001C */ lw $s2, 0x1c($sp) -/* 08B640 7F056B10 8FB30020 */ lw $s3, 0x20($sp) -/* 08B644 7F056B14 03E00008 */ jr $ra -/* 08B648 7F056B18 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -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 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) -/* 08B658 7F056B28 8E105D0C */ lw $s0, %lo(ptr_setup_objects)($s0) -/* 08B65C 7F056B2C AFB30020 */ sw $s3, 0x20($sp) -/* 08B660 7F056B30 00809825 */ move $s3, $a0 -/* 08B664 7F056B34 AFBF0024 */ sw $ra, 0x24($sp) -/* 08B668 7F056B38 AFB2001C */ sw $s2, 0x1c($sp) -/* 08B66C 7F056B3C 12000012 */ beqz $s0, .L7F056B88 -/* 08B670 7F056B40 AFB10018 */ sw $s1, 0x18($sp) -/* 08B674 7F056B44 920E0003 */ lbu $t6, 3($s0) -/* 08B678 7F056B48 24120030 */ li $s2, 48 -/* 08B67C 7F056B4C 00008825 */ move $s1, $zero -/* 08B680 7F056B50 524E000E */ beql $s2, $t6, .L7F056B8C -/* 08B684 7F056B54 2402FFFF */ li $v0, -1 -.L7F056B58: -/* 08B688 7F056B58 16130003 */ bne $s0, $s3, .L7F056B68 -/* 08B68C 7F056B5C 00000000 */ nop -/* 08B690 7F056B60 1000000A */ b .L7F056B8C -/* 08B694 7F056B64 02201025 */ move $v0, $s1 -.L7F056B68: -/* 08B698 7F056B68 0FC15A3D */ jal get_size_of_setup_object_type -/* 08B69C 7F056B6C 02002025 */ move $a0, $s0 -/* 08B6A0 7F056B70 00027880 */ sll $t7, $v0, 2 -/* 08B6A4 7F056B74 01F08021 */ addu $s0, $t7, $s0 -/* 08B6A8 7F056B78 92180003 */ lbu $t8, 3($s0) -/* 08B6AC 7F056B7C 26310001 */ addiu $s1, $s1, 1 -/* 08B6B0 7F056B80 1658FFF5 */ bne $s2, $t8, .L7F056B58 -/* 08B6B4 7F056B84 00000000 */ nop -.L7F056B88: -/* 08B6B8 7F056B88 2402FFFF */ li $v0, -1 -.L7F056B8C: -/* 08B6BC 7F056B8C 8FBF0024 */ lw $ra, 0x24($sp) -/* 08B6C0 7F056B90 8FB00014 */ lw $s0, 0x14($sp) -/* 08B6C4 7F056B94 8FB10018 */ lw $s1, 0x18($sp) -/* 08B6C8 7F056B98 8FB2001C */ lw $s2, 0x1c($sp) -/* 08B6CC 7F056B9C 8FB30020 */ lw $s3, 0x20($sp) -/* 08B6D0 7F056BA0 03E00008 */ jr $ra -/* 08B6D4 7F056BA4 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F056BA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F056BA8 -/* 08B6D8 7F056BA8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08B6DC 7F056BAC AFB00014 */ sw $s0, 0x14($sp) -/* 08B6E0 7F056BB0 3C108007 */ lui $s0, %hi(ptr_setup_objects) -/* 08B6E4 7F056BB4 8E105D0C */ lw $s0, %lo(ptr_setup_objects)($s0) -/* 08B6E8 7F056BB8 AFB30020 */ sw $s3, 0x20($sp) -/* 08B6EC 7F056BBC 00809825 */ move $s3, $a0 -/* 08B6F0 7F056BC0 AFBF0024 */ sw $ra, 0x24($sp) -/* 08B6F4 7F056BC4 AFB2001C */ sw $s2, 0x1c($sp) -/* 08B6F8 7F056BC8 12000013 */ beqz $s0, .L7F056C18 -/* 08B6FC 7F056BCC AFB10018 */ sw $s1, 0x18($sp) -/* 08B700 7F056BD0 920E0003 */ lbu $t6, 3($s0) -/* 08B704 7F056BD4 24120030 */ li $s2, 48 -/* 08B708 7F056BD8 00008825 */ move $s1, $zero -/* 08B70C 7F056BDC 524E000F */ beql $s2, $t6, .L7F056C1C -/* 08B710 7F056BE0 2402FFFF */ li $v0, -1 -/* 08B714 7F056BE4 8E0F0010 */ lw $t7, 0x10($s0) -.L7F056BE8: -/* 08B718 7F056BE8 166F0003 */ bne $s3, $t7, .L7F056BF8 -/* 08B71C 7F056BEC 00000000 */ nop -/* 08B720 7F056BF0 1000000A */ b .L7F056C1C -/* 08B724 7F056BF4 02201025 */ move $v0, $s1 -.L7F056BF8: -/* 08B728 7F056BF8 0FC15A3D */ jal get_size_of_setup_object_type -/* 08B72C 7F056BFC 02002025 */ move $a0, $s0 -/* 08B730 7F056C00 0002C080 */ sll $t8, $v0, 2 -/* 08B734 7F056C04 03108021 */ addu $s0, $t8, $s0 -/* 08B738 7F056C08 92190003 */ lbu $t9, 3($s0) -/* 08B73C 7F056C0C 26310001 */ addiu $s1, $s1, 1 -/* 08B740 7F056C10 5659FFF5 */ bnel $s2, $t9, .L7F056BE8 -/* 08B744 7F056C14 8E0F0010 */ lw $t7, 0x10($s0) -.L7F056C18: -/* 08B748 7F056C18 2402FFFF */ li $v0, -1 -.L7F056C1C: -/* 08B74C 7F056C1C 8FBF0024 */ lw $ra, 0x24($sp) -/* 08B750 7F056C20 8FB00014 */ lw $s0, 0x14($sp) -/* 08B754 7F056C24 8FB10018 */ lw $s1, 0x18($sp) -/* 08B758 7F056C28 8FB2001C */ lw $s2, 0x1c($sp) -/* 08B75C 7F056C2C 8FB30020 */ lw $s3, 0x20($sp) -/* 08B760 7F056C30 03E00008 */ jr $ra -/* 08B764 7F056C34 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel load_model -/* 08B768 7F056C38 00047080 */ sll $t6, $a0, 2 -/* 08B76C 7F056C3C 01C47023 */ subu $t6, $t6, $a0 -/* 08B770 7F056C40 3C0F8004 */ lui $t7, %hi(PitemZ_entries) -/* 08B774 7F056C44 25EFA228 */ addiu $t7, %lo(PitemZ_entries) # addiu $t7, $t7, -0x5dd8 -/* 08B778 7F056C48 000E7080 */ sll $t6, $t6, 2 -/* 08B77C 7F056C4C 01CF1021 */ addu $v0, $t6, $t7 -/* 08B780 7F056C50 8C460000 */ lw $a2, ($v0) -/* 08B784 7F056C54 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08B788 7F056C58 AFBF0014 */ sw $ra, 0x14($sp) -/* 08B78C 7F056C5C 8CD80000 */ lw $t8, ($a2) -/* 08B790 7F056C60 00C02025 */ move $a0, $a2 -/* 08B794 7F056C64 5700000A */ bnezl $t8, .L7F056C90 -/* 08B798 7F056C68 00001025 */ move $v0, $zero -/* 08B79C 7F056C6C 8C450004 */ lw $a1, 4($v0) -/* 08B7A0 7F056C70 0FC1D953 */ jal load_object_into_memory -/* 08B7A4 7F056C74 AFA2001C */ sw $v0, 0x1c($sp) -/* 08B7A8 7F056C78 8FA2001C */ lw $v0, 0x1c($sp) -/* 08B7AC 7F056C7C 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 08B7B0 7F056C80 8C440000 */ lw $a0, ($v0) -/* 08B7B4 7F056C84 10000002 */ b .L7F056C90 -/* 08B7B8 7F056C88 24020001 */ li $v0, 1 -/* 08B7BC 7F056C8C 00001025 */ move $v0, $zero -.L7F056C90: -/* 08B7C0 7F056C90 8FBF0014 */ lw $ra, 0x14($sp) -/* 08B7C4 7F056C94 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08B7C8 7F056C98 03E00008 */ jr $ra -/* 08B7CC 7F056C9C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F056CA0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*hack for below*/ -glabel jpt_8005354C -.word .L7F056EE4 -.word .L7F056EEC -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EEC -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EEC -.word .L7F056EF4 -.word .L7F056EF4 -.word .L7F056EE4 -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EE4 -.word .L7F056EEC -.word .L7F056EEC -.word .L7F056EE4 - -.text -glabel sub_GAME_7F056CA0 -/* 08B7D0 7F056CA0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 08B7D4 7F056CA4 AFBF0024 */ sw $ra, 0x24($sp) -/* 08B7D8 7F056CA8 AFB10020 */ sw $s1, 0x20($sp) -/* 08B7DC 7F056CAC AFB0001C */ sw $s0, 0x1c($sp) -/* 08B7E0 7F056CB0 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 08B7E4 7F056CB4 8C910010 */ lw $s1, 0x10($a0) -/* 08B7E8 7F056CB8 00808025 */ move $s0, $a0 -/* 08B7EC 7F056CBC 4480A000 */ mtc1 $zero, $f20 -/* 08B7F0 7F056CC0 0FC0F863 */ jal sub_GAME_7F03E18C -/* 08B7F4 7F056CC4 02202025 */ move $a0, $s1 -/* 08B7F8 7F056CC8 8E0E000C */ lw $t6, 0xc($s0) -/* 08B7FC 7F056CCC 000E7B80 */ sll $t7, $t6, 0xe -/* 08B800 7F056CD0 05E1000C */ bgez $t7, .L7F056D04 -/* 08B804 7F056CD4 00000000 */ nop -/* 08B808 7F056CD8 8E220014 */ lw $v0, 0x14($s1) -/* 08B80C 7F056CDC 241900FF */ li $t9, 255 -/* 08B810 7F056CE0 240800FF */ li $t0, 255 -/* 08B814 7F056CE4 10400005 */ beqz $v0, .L7F056CFC -/* 08B818 7F056CE8 00000000 */ nop -/* 08B81C 7F056CEC 90580003 */ lbu $t8, 3($v0) -/* 08B820 7F056CF0 A239002D */ sb $t9, 0x2d($s1) -/* 08B824 7F056CF4 10000062 */ b .L7F056E80 -/* 08B828 7F056CF8 A238002C */ sb $t8, 0x2c($s1) -.L7F056CFC: -/* 08B82C 7F056CFC 10000060 */ b .L7F056E80 -/* 08B830 7F056D00 A228002C */ sb $t0, 0x2c($s1) -.L7F056D04: -/* 08B834 7F056D04 0FC1001E */ jal sub_GAME_7F040078 -/* 08B838 7F056D08 02002025 */ move $a0, $s0 -/* 08B83C 7F056D0C 1040005C */ beqz $v0, .L7F056E80 -/* 08B840 7F056D10 00402025 */ move $a0, $v0 -/* 08B844 7F056D14 26050018 */ addiu $a1, $s0, 0x18 -/* 08B848 7F056D18 AFA50028 */ sw $a1, 0x28($sp) -/* 08B84C 7F056D1C 0FC0FA1F */ jal sub_GAME_7F03E87C -/* 08B850 7F056D20 AFA20030 */ sw $v0, 0x30($sp) -/* 08B854 7F056D24 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 08B858 7F056D28 44812000 */ mtc1 $at, $f4 -/* 08B85C 7F056D2C 8FA40030 */ lw $a0, 0x30($sp) -/* 08B860 7F056D30 8FA50028 */ lw $a1, 0x28($sp) -/* 08B864 7F056D34 46040181 */ sub.s $f6, $f0, $f4 -/* 08B868 7F056D38 0FC0FA6F */ jal sub_GAME_7F03E9BC -/* 08B86C 7F056D3C E7A60040 */ swc1 $f6, 0x40($sp) -/* 08B870 7F056D40 E7A00044 */ swc1 $f0, 0x44($sp) -/* 08B874 7F056D44 8FA40030 */ lw $a0, 0x30($sp) -/* 08B878 7F056D48 0FC0FABF */ jal sub_GAME_7F03EAFC -/* 08B87C 7F056D4C 8FA50028 */ lw $a1, 0x28($sp) -/* 08B880 7F056D50 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 08B884 7F056D54 44814000 */ mtc1 $at, $f8 -/* 08B888 7F056D58 8FA40030 */ lw $a0, 0x30($sp) -/* 08B88C 7F056D5C 8FA50028 */ lw $a1, 0x28($sp) -/* 08B890 7F056D60 46080281 */ sub.s $f10, $f0, $f8 -/* 08B894 7F056D64 0FC0FA47 */ jal sub_GAME_7F03E91C -/* 08B898 7F056D68 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 08B89C 7F056D6C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 08B8A0 7F056D70 44818000 */ mtc1 $at, $f16 -/* 08B8A4 7F056D74 8FA40030 */ lw $a0, 0x30($sp) -/* 08B8A8 7F056D78 8FA50028 */ lw $a1, 0x28($sp) -/* 08B8AC 7F056D7C 46100480 */ add.s $f18, $f0, $f16 -/* 08B8B0 7F056D80 0FC0FA97 */ jal sub_GAME_7F03EA5C -/* 08B8B4 7F056D84 E7B20034 */ swc1 $f18, 0x34($sp) -/* 08B8B8 7F056D88 E7A00038 */ swc1 $f0, 0x38($sp) -/* 08B8BC 7F056D8C 8FA40030 */ lw $a0, 0x30($sp) -/* 08B8C0 7F056D90 0FC0FAE7 */ jal sub_GAME_7F03EB9C -/* 08B8C4 7F056D94 8FA50028 */ lw $a1, 0x28($sp) -/* 08B8C8 7F056D98 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 08B8CC 7F056D9C 44803000 */ mtc1 $zero, $f6 -/* 08B8D0 7F056DA0 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 08B8D4 7F056DA4 46001087 */ neg.s $f2, $f2 -/* 08B8D8 7F056DA8 44812000 */ mtc1 $at, $f4 -/* 08B8DC 7F056DAC 4602303C */ c.lt.s $f6, $f2 -/* 08B8E0 7F056DB0 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 08B8E4 7F056DB4 46040300 */ add.s $f12, $f0, $f4 -/* 08B8E8 7F056DB8 C7A00048 */ lwc1 $f0, 0x48($sp) -/* 08B8EC 7F056DBC 45020003 */ bc1fl .L7F056DCC -/* 08B8F0 7F056DC0 46000007 */ neg.s $f0, $f0 -/* 08B8F4 7F056DC4 46001506 */ mov.s $f20, $f2 -/* 08B8F8 7F056DC8 46000007 */ neg.s $f0, $f0 -.L7F056DCC: -/* 08B8FC 7F056DCC 4600A03C */ c.lt.s $f20, $f0 -/* 08B900 7F056DD0 00000000 */ nop -/* 08B904 7F056DD4 45020003 */ bc1fl .L7F056DE4 -/* 08B908 7F056DD8 4608A03C */ c.lt.s $f20, $f8 -/* 08B90C 7F056DDC 46000506 */ mov.s $f20, $f0 -/* 08B910 7F056DE0 4608A03C */ c.lt.s $f20, $f8 -.L7F056DE4: -/* 08B914 7F056DE4 00000000 */ nop -/* 08B918 7F056DE8 45020003 */ bc1fl .L7F056DF8 -/* 08B91C 7F056DEC 460CA03C */ c.lt.s $f20, $f12 -/* 08B920 7F056DF0 46004506 */ mov.s $f20, $f8 -/* 08B924 7F056DF4 460CA03C */ c.lt.s $f20, $f12 -.L7F056DF8: -/* 08B928 7F056DF8 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 08B92C 7F056DFC 45020004 */ bc1fl .L7F056E10 -/* 08B930 7F056E00 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 08B934 7F056E04 46006506 */ mov.s $f20, $f12 -/* 08B938 7F056E08 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 08B93C 7F056E0C C7AA0040 */ lwc1 $f10, 0x40($sp) -.L7F056E10: -/* 08B940 7F056E10 C6100058 */ lwc1 $f16, 0x58($s0) -/* 08B944 7F056E14 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 08B948 7F056E18 4407A000 */ mfc1 $a3, $f20 -/* 08B94C 7F056E1C 46105480 */ add.s $f18, $f10, $f16 -/* 08B950 7F056E20 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 08B954 7F056E24 02202025 */ move $a0, $s1 -/* 08B958 7F056E28 27A50040 */ addiu $a1, $sp, 0x40 -/* 08B95C 7F056E2C E7B20040 */ swc1 $f18, 0x40($sp) -/* 08B960 7F056E30 C606005C */ lwc1 $f6, 0x5c($s0) -/* 08B964 7F056E34 27A60034 */ addiu $a2, $sp, 0x34 -/* 08B968 7F056E38 46062200 */ add.s $f8, $f4, $f6 -/* 08B96C 7F056E3C C7A40034 */ lwc1 $f4, 0x34($sp) -/* 08B970 7F056E40 E7A80044 */ swc1 $f8, 0x44($sp) -/* 08B974 7F056E44 C6100060 */ lwc1 $f16, 0x60($s0) -/* 08B978 7F056E48 46105480 */ add.s $f18, $f10, $f16 -/* 08B97C 7F056E4C C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 08B980 7F056E50 E7B20048 */ swc1 $f18, 0x48($sp) -/* 08B984 7F056E54 C6060058 */ lwc1 $f6, 0x58($s0) -/* 08B988 7F056E58 46062200 */ add.s $f8, $f4, $f6 -/* 08B98C 7F056E5C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 08B990 7F056E60 E7A80034 */ swc1 $f8, 0x34($sp) -/* 08B994 7F056E64 C610005C */ lwc1 $f16, 0x5c($s0) -/* 08B998 7F056E68 46105480 */ add.s $f18, $f10, $f16 -/* 08B99C 7F056E6C E7B20038 */ swc1 $f18, 0x38($sp) -/* 08B9A0 7F056E70 C6060060 */ lwc1 $f6, 0x60($s0) -/* 08B9A4 7F056E74 46062200 */ add.s $f8, $f4, $f6 -/* 08B9A8 7F056E78 0FC0F89F */ jal sub_GAME_7F03E27C -/* 08B9AC 7F056E7C E7A8003C */ swc1 $f8, 0x3c($sp) -.L7F056E80: -/* 08B9B0 7F056E80 0FC0F884 */ jal sub_GAME_7F03E210 -/* 08B9B4 7F056E84 02202025 */ move $a0, $s1 -/* 08B9B8 7F056E88 8FBF0024 */ lw $ra, 0x24($sp) -/* 08B9BC 7F056E8C D7B40010 */ ldc1 $f20, 0x10($sp) -/* 08B9C0 7F056E90 8FB0001C */ lw $s0, 0x1c($sp) -/* 08B9C4 7F056E94 8FB10020 */ lw $s1, 0x20($sp) -/* 08B9C8 7F056E98 03E00008 */ jr $ra -/* 08B9CC 7F056E9C 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F056EA0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005354C*/ -/*glabel jpt_8005354C*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EDC*/ -/*.word .L7F056EDC*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EE4*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EEC*/ -/*.word .L7F056EE4*/ -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EE4 -.word .L7F056EEC -.word .L7F056EE4 -.word .L7F056EEC -.word .L7F056EE4 - -/*D:80053608 .align 4*/ -.text -glabel sub_GAME_7F056EA0 -/* 08B9D0 7F056EA0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08B9D4 7F056EA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 08B9D8 7F056EA8 AFA40018 */ sw $a0, 0x18($sp) -/* 08B9DC 7F056EAC 0FC15AA2 */ jal sub_GAME_7F056A88 -/* 08B9E0 7F056EB0 00A02025 */ move $a0, $a1 -/* 08B9E4 7F056EB4 1040000F */ beqz $v0, .L7F056EF4 -/* 08B9E8 7F056EB8 00401825 */ move $v1, $v0 -/* 08B9EC 7F056EBC 904E0003 */ lbu $t6, 3($v0) -/* 08B9F0 7F056EC0 25CFFFFF */ addiu $t7, $t6, -1 -/* 08B9F4 7F056EC4 2DE1002F */ sltiu $at, $t7, 0x2f -/* 08B9F8 7F056EC8 1020000A */ beqz $at, .L7F056EF4 -/* 08B9FC 7F056ECC 000F7880 */ sll $t7, $t7, 2 -/* 08BA00 7F056ED0 3C018005 */ lui $at, %hi(jpt_8005354C) -/* 08BA04 7F056ED4 002F0821 */ addu $at, $at, $t7 -/* 08BA08 7F056ED8 8C2F354C */ lw $t7, %lo(jpt_8005354C)($at) -.L7F056EDC: -/* 08BA0C 7F056EDC 01E00008 */ jr $t7 -/* 08BA10 7F056EE0 00000000 */ nop -.L7F056EE4: -/* 08BA14 7F056EE4 10000004 */ b .L7F056EF8 -/* 08BA18 7F056EE8 00601025 */ move $v0, $v1 -.L7F056EEC: -/* 08BA1C 7F056EEC 10000002 */ b .L7F056EF8 -/* 08BA20 7F056EF0 00001025 */ move $v0, $zero -def_7F056EDC: -.L7F056EF4: -/* 08BA24 7F056EF4 00601025 */ move $v0, $v1 -.L7F056EF8: -/* 08BA28 7F056EF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08BA2C 7F056EFC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08BA30 7F056F00 03E00008 */ jr $ra -/* 08BA34 7F056F04 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F056F08(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F056F08 -/* 08BA38 7F056F08 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 08BA3C 7F056F0C AFB00018 */ sw $s0, 0x18($sp) -/* 08BA40 7F056F10 3C108007 */ lui $s0, %hi(ptr_setup_objects) -/* 08BA44 7F056F14 8E105D0C */ lw $s0, %lo(ptr_setup_objects)($s0) -/* 08BA48 7F056F18 AFBE0038 */ sw $fp, 0x38($sp) -/* 08BA4C 7F056F1C AFB70034 */ sw $s7, 0x34($sp) -/* 08BA50 7F056F20 AFB30024 */ sw $s3, 0x24($sp) -/* 08BA54 7F056F24 AFB20020 */ sw $s2, 0x20($sp) -/* 08BA58 7F056F28 0080B825 */ move $s7, $a0 -/* 08BA5C 7F056F2C 00E0F025 */ move $fp, $a3 -/* 08BA60 7F056F30 AFBF003C */ sw $ra, 0x3c($sp) -/* 08BA64 7F056F34 AFB60030 */ sw $s6, 0x30($sp) -/* 08BA68 7F056F38 AFB5002C */ sw $s5, 0x2c($sp) -/* 08BA6C 7F056F3C AFB40028 */ sw $s4, 0x28($sp) -/* 08BA70 7F056F40 AFB1001C */ sw $s1, 0x1c($sp) -/* 08BA74 7F056F44 AFA50044 */ sw $a1, 0x44($sp) -/* 08BA78 7F056F48 AFA60048 */ sw $a2, 0x48($sp) -/* 08BA7C 7F056F4C 00009025 */ move $s2, $zero -/* 08BA80 7F056F50 12000039 */ beqz $s0, .L7F057038 -/* 08BA84 7F056F54 00009825 */ move $s3, $zero -/* 08BA88 7F056F58 92030003 */ lbu $v1, 3($s0) -/* 08BA8C 7F056F5C 24010030 */ li $at, 48 -/* 08BA90 7F056F60 309400FF */ andi $s4, $a0, 0xff -/* 08BA94 7F056F64 10610034 */ beq $v1, $at, .L7F057038 -/* 08BA98 7F056F68 24160008 */ li $s6, 8 -/* 08BA9C 7F056F6C 8FB50054 */ lw $s5, 0x54($sp) -/* 08BAA0 7F056F70 8FB10050 */ lw $s1, 0x50($sp) -.L7F056F74: -/* 08BAA4 7F056F74 16830028 */ bne $s4, $v1, .L7F057018 -/* 08BAA8 7F056F78 00000000 */ nop -/* 08BAAC 7F056F7C 8E020010 */ lw $v0, 0x10($s0) -/* 08BAB0 7F056F80 14400007 */ bnez $v0, .L7F056FA0 -/* 08BAB4 7F056F84 00000000 */ nop -/* 08BAB8 7F056F88 17C00023 */ bnez $fp, .L7F057018 -/* 08BABC 7F056F8C 00000000 */ nop -/* 08BAC0 7F056F90 16200021 */ bnez $s1, .L7F057018 -/* 08BAC4 7F056F94 00000000 */ nop -/* 08BAC8 7F056F98 1000002C */ b .L7F05704C -/* 08BACC 7F056F9C 02001025 */ move $v0, $s0 -.L7F056FA0: -/* 08BAD0 7F056FA0 12F6001D */ beq $s7, $s6, .L7F057018 -/* 08BAD4 7F056FA4 00000000 */ nop -/* 08BAD8 7F056FA8 8E0E0064 */ lw $t6, 0x64($s0) -/* 08BADC 7F056FAC 31CF0080 */ andi $t7, $t6, 0x80 -/* 08BAE0 7F056FB0 15E00019 */ bnez $t7, .L7F057018 -/* 08BAE4 7F056FB4 00000000 */ nop -/* 08BAE8 7F056FB8 92180002 */ lbu $t8, 2($s0) -/* 08BAEC 7F056FBC 33190004 */ andi $t9, $t8, 4 -/* 08BAF0 7F056FC0 17200015 */ bnez $t9, .L7F057018 -/* 08BAF4 7F056FC4 00000000 */ nop -/* 08BAF8 7F056FC8 8C48001C */ lw $t0, 0x1c($v0) -/* 08BAFC 7F056FCC 15000012 */ bnez $t0, .L7F057018 -/* 08BB00 7F056FD0 00000000 */ nop -/* 08BB04 7F056FD4 12200005 */ beqz $s1, .L7F056FEC -/* 08BB08 7F056FD8 02A02825 */ move $a1, $s5 -/* 08BB0C 7F056FDC 0FC1B018 */ jal sub_GAME_7F06C060 -/* 08BB10 7F056FE0 8E040014 */ lw $a0, 0x14($s0) -/* 08BB14 7F056FE4 1040000C */ beqz $v0, .L7F057018 -/* 08BB18 7F056FE8 00000000 */ nop -.L7F056FEC: -/* 08BB1C 7F056FEC 16400007 */ bnez $s2, .L7F05700C -/* 08BB20 7F056FF0 00000000 */ nop -/* 08BB24 7F056FF4 8E090010 */ lw $t1, 0x10($s0) -/* 08BB28 7F056FF8 912A0001 */ lbu $t2, 1($t1) -/* 08BB2C 7F056FFC 314B0002 */ andi $t3, $t2, 2 -/* 08BB30 7F057000 15600002 */ bnez $t3, .L7F05700C -/* 08BB34 7F057004 00000000 */ nop -/* 08BB38 7F057008 02009025 */ move $s2, $s0 -.L7F05700C: -/* 08BB3C 7F05700C 16600002 */ bnez $s3, .L7F057018 -/* 08BB40 7F057010 00000000 */ nop -/* 08BB44 7F057014 02009825 */ move $s3, $s0 -.L7F057018: -/* 08BB48 7F057018 0FC15A3D */ jal get_size_of_setup_object_type -/* 08BB4C 7F05701C 02002025 */ move $a0, $s0 -/* 08BB50 7F057020 00026080 */ sll $t4, $v0, 2 -/* 08BB54 7F057024 01908021 */ addu $s0, $t4, $s0 -/* 08BB58 7F057028 92030003 */ lbu $v1, 3($s0) -/* 08BB5C 7F05702C 24010030 */ li $at, 48 -/* 08BB60 7F057030 1461FFD0 */ bne $v1, $at, .L7F056F74 -/* 08BB64 7F057034 00000000 */ nop -.L7F057038: -/* 08BB68 7F057038 8FAD0044 */ lw $t5, 0x44($sp) -/* 08BB6C 7F05703C 00001025 */ move $v0, $zero -/* 08BB70 7F057040 ADB20000 */ sw $s2, ($t5) -/* 08BB74 7F057044 8FAE0048 */ lw $t6, 0x48($sp) -/* 08BB78 7F057048 ADD30000 */ sw $s3, ($t6) -.L7F05704C: -/* 08BB7C 7F05704C 8FBF003C */ lw $ra, 0x3c($sp) -/* 08BB80 7F057050 8FB00018 */ lw $s0, 0x18($sp) -/* 08BB84 7F057054 8FB1001C */ lw $s1, 0x1c($sp) -/* 08BB88 7F057058 8FB20020 */ lw $s2, 0x20($sp) -/* 08BB8C 7F05705C 8FB30024 */ lw $s3, 0x24($sp) -/* 08BB90 7F057060 8FB40028 */ lw $s4, 0x28($sp) -/* 08BB94 7F057064 8FB5002C */ lw $s5, 0x2c($sp) -/* 08BB98 7F057068 8FB60030 */ lw $s6, 0x30($sp) -/* 08BB9C 7F05706C 8FB70034 */ lw $s7, 0x34($sp) -/* 08BBA0 7F057070 8FBE0038 */ lw $fp, 0x38($sp) -/* 08BBA4 7F057074 03E00008 */ jr $ra -/* 08BBA8 7F057078 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - diff --git a/src/game/lvl.c b/src/game/lvl.c deleted file mode 100644 index b2c2188..0000000 --- a/src/game/lvl.c +++ /dev/null @@ -1,4568 +0,0 @@ -#include "ultra64.h" -#include "game/debugmenu_090490.h" -#include "game/lvl.h" -#include "game/initunk_0072B0.h" -#include "game/mainmenu.h" - -// bss -//CODE.bss:8008C260 -u32 *ptr_jfont_DL; -//CODE.bss:8008C264 -s32 dword_CODE_bss_8008C264; -s32 dword_CODE_bss_8008C268; -s32 dword_CODE_bss_8008C26C; -//CODE.bss:8008C270 -char ramrom_data_target[0x380]; -//CODE.bss:8008C5F0 -s32 record_slot_num; -//CODE.bss:8008C5F4 -s32 *address_demo_loaded; -//CODE.bss:8008C5F8 -s32 dword_CODE_bss_8008C5F8; - - -// data -//D:80048360 -s32 lvl_c_debug_notice_list = 0; -//D:80048364 -s32 current_stage_to_load = 0; -//D:80048368 -f32 D_80048368 = 1.0; -//D:8004836C -s32 musictrack1_playing = 0; -//D:80048370 -s32 controls_locked_flag = 0; -//D:80048374 -s32 clock_timer = 0; -#ifdef VERSION_US -//D:80048378 -f32 global_timer_delta = 0; -//D:8004837C -s32 global_timer = 0; -//D:80048380 -s32 D_80048380 = 0; -//D:80048384 -#endif -#ifdef VERSION_JP -u32 jp_global_timer_delta = 0; -//D:8004837C -s32 global_timer = 0; -//D:80048380 -s32 D_80048380 = 0; -f32 global_timer_delta = 0; -#endif - -//D:80048384 -s32 difficulty_0 = 0; -//D:80048388 -s32 D_80048388 = 0; -//D:8004838C -s32 D_8004838C = 0; -//D:80048390 -s32 D_80048390 = 0; -//D:80048394 -s32 D_80048394 = 0; -//D:80048398 -s32 mp_time = 0x8CA0; -//D:8004839C -s32 mp_point = 0xA; -//D:800483A0 -s32 D_800483A0 = 0; -//D:800483A4 -f32 cur_mp_sec = 0.0; -//D:800483A8 -s32 D_800483A8 = 0; -//D:800483AC -f32 cur_mp_min = 0.0; -//D:800483B0 -s32 D_800483B0 = 0; -//D:800483B4 -f32 stage_time_sec = 0; -//D:800483B8 -s32 D_800483B8 = 0; -//D:800483BC -f32 poweron_time_sec = 0; -//D:800483C0 -s32 D_800483C0 = 1; -//D:800483C4 -s32 D_800483C4 = 0xFFFFFFFF; -//D:800483C8 -s32 D_800483C8 = 0; -//D:800483CC -s32 D_800483CC = 0; -//D:800483D0 -s32 D_800483D0 = 0; -//D:800483D4 -s32 D_800483D4 = 0; -//D:800483D8 -s32 D_800483D8 = 0; -//D:800483DC -s32 D_800483DC = 0; -//D:800483E0 -s32 D_800483E0 = 0; -//D:800483E4 -s32 D_800483E4 = 0; - -//D:800483E8 -//maybe alignment -//s32 D_800483E8 = 0; -//D:800483EC -//maybe alignment -//s32 D_800483EC = 0; - - - -// rodata -//D:8005B6B0 -const char aLv_c_debug[] = "lv_c_debug"; -//D:8005B6BC -const char aStanshow_[] = "-stanshow_"; -//D:8005B6C8 -const char aStanshow__5[] = "-stanshow_"; -//D:8005B6D4 -const char aStanshow__0[] = "-stanshow_"; -//D:8005B6E0 -const char aStanshow__1[] = "-stanshow_"; -//D:8005B6EC -const char aStanshow__2[] = "-stanshow_"; -//D:8005B6F8 -const char aStanshow__3[] = "-stanshow_"; -#ifndef VERSION_JP -//D:8005B704 -const char aOneMinuteLeft[] = "One minute left"; -#endif -//D:8005B714 -const char aSetdetailDDDDDDDDD[] = "setdetail %d %d %d %d %d %d %d %d %d"; - - - - - - - -s32 sub_GAME_7F0BD8F0(void) { - return D_800483C0; -} - -void sub_GAME_7F0BD8FC(s32 arg0) { - D_800483C0 = arg0; -} - - - - - - -#ifdef NONMATCHING -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; - ptr_jfont_DL = mempAllocBytesInBank(0xc0,'\x06'); - romCopy(ptr_jfont_DL, _jfontdlSegmentStart, 0xc0); -} -#else -GLOBAL_ASM( -.text -glabel something_with_lvl_c_debug -/* 0F2438 7F0BD908 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F243C 7F0BD90C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F2440 7F0BD910 3C048005 */ lui $a0, %hi(lvl_c_debug_notice_list) -/* 0F2444 7F0BD914 3C058006 */ lui $a1, %hi(aLv_c_debug) -/* 0F2448 7F0BD918 24A5B6B0 */ addiu $a1, %lo(aLv_c_debug) # addiu $a1, $a1, -0x4950 -/* 0F244C 7F0BD91C 0C001398 */ jal get_ptr_debug_notice_list_entry -/* 0F2450 7F0BD920 24848360 */ addiu $a0, %lo(lvl_c_debug_notice_list) # addiu $a0, $a0, -0x7ca0 -/* 0F2454 7F0BD924 3C0F0011 */ lui $t7, %hi(_jfontdlSegmentEnd) # $t7, 0x11 -/* 0F2458 7F0BD928 3C180011 */ lui $t8, %hi(_jfontdlSegmentStart) # $t8, 0x11 -/* 0F245C 7F0BD92C 27187880 */ addiu $t8, %lo(_jfontdlSegmentStart) # addiu $t8, $t8, 0x7880 -/* 0F2460 7F0BD930 25EF7940 */ addiu $t7, %lo(_jfontdlSegmentEnd) # addiu $t7, $t7, 0x7940 -/* 0F2464 7F0BD934 240E0001 */ li $t6, 1 -/* 0F2468 7F0BD938 3C018005 */ lui $at, %hi(lvl_c_debug_notice_list) -/* 0F246C 7F0BD93C 01F83023 */ subu $a2, $t7, $t8 -/* 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 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 -/* 0F248C 7F0BD95C 3C050011 */ lui $a1, %hi(_jfontdlSegmentStart) # $a1, 0x11 -/* 0F2490 7F0BD960 AC620000 */ sw $v0, ($v1) -/* 0F2494 7F0BD964 8FA60018 */ lw $a2, 0x18($sp) -/* 0F2498 7F0BD968 24A57880 */ addiu $a1, %lo(_jfontdlSegmentStart) # addiu $a1, $a1, 0x7880 -/* 0F249C 7F0BD96C 0C001707 */ jal romCopy -/* 0F24A0 7F0BD970 00402025 */ move $a0, $v0 -/* 0F24A4 7F0BD974 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F24A8 7F0BD978 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F24AC 7F0BD97C 03E00008 */ jr $ra -/* 0F24B0 7F0BD980 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void playrandommusictrack1(void) -{ - musictrack1_playing = get_random_value() % 0x3d + M_INTRO; - musicTrack1Play(musictrack1_playing); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD984 -/* 0F24B4 7F0BD984 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F24B8 7F0BD988 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F24BC 7F0BD98C 0C002914 */ jal get_random_value -/* 0F24C0 7F0BD990 00000000 */ nop -/* 0F24C4 7F0BD994 2401003D */ li $at, 61 -/* 0F24C8 7F0BD998 0041001B */ divu $zero, $v0, $at -/* 0F24CC 7F0BD99C 00007010 */ mfhi $t6 -/* 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) -/* 0F24E4 7F0BD9B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F24E8 7F0BD9B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F24EC 7F0BD9BC 03E00008 */ jr $ra -/* 0F24F0 7F0BD9C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void playmusictrack1(MUSIC_TRACKS track) -{ - musictrack1_playing = track; - musicTrack1Play(track); -} -#else -GLOBAL_ASM( -.text -glabel playmusictrack1 -/* 0F24F4 7F0BD9C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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) -/* 0F250C 7F0BD9DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F2510 7F0BD9E0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F2514 7F0BD9E4 03E00008 */ jr $ra -/* 0F2518 7F0BD9E8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void music_append_play_solo_death_short(void) - -{ - musictrack1_playing = (musictrack1_playing + M_SHORT_SOLO_DEATH) % 0x3f; - if (musictrack1_playing == M_NONE) { - musictrack1_playing = M_SHORT_SOLO_DEATH; - } - musicTrack1Play(musictrack1_playing); -} -#else -GLOBAL_ASM( -.text -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 -/* 0F2530 7F0BDA00 25CF0001 */ addiu $t7, $t6, 1 -/* 0F2534 7F0BDA04 01E1001A */ div $zero, $t7, $at -/* 0F2538 7F0BDA08 00002010 */ mfhi $a0 -/* 0F253C 7F0BDA0C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F2540 7F0BDA10 14800003 */ bnez $a0, .L7F0BDA20 -/* 0F2544 7F0BDA14 AC440000 */ sw $a0, ($v0) -/* 0F2548 7F0BDA18 24040001 */ li $a0, 1 -/* 0F254C 7F0BDA1C AC440000 */ sw $a0, ($v0) -.L7F0BDA20: -/* 0F2550 7F0BDA20 0C001B9F */ jal musicTrack1Play -/* 0F2554 7F0BDA24 00000000 */ nop -/* 0F2558 7F0BDA28 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F255C 7F0BDA2C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F2560 7F0BDA30 03E00008 */ jr $ra -/* 0F2564 7F0BDA34 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void music_append_play_endtheme(void) -{ - musictrack1_playing = (musictrack1_playing + M_END_SOMETHING) % 0x3f; - if (musictrack1_playing == M_NONE) { - musictrack1_playing = M_END_SOMETHING; - } - musicTrack1Play(musictrack1_playing); -} -#else -GLOBAL_ASM( -.text -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 -/* 0F257C 7F0BDA4C 25CF003E */ addiu $t7, $t6, 0x3e -/* 0F2580 7F0BDA50 01E1001A */ div $zero, $t7, $at -/* 0F2584 7F0BDA54 00002010 */ mfhi $a0 -/* 0F2588 7F0BDA58 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F258C 7F0BDA5C 14800003 */ bnez $a0, .L7F0BDA6C -/* 0F2590 7F0BDA60 AC440000 */ sw $a0, ($v0) -/* 0F2594 7F0BDA64 2404003E */ li $a0, 62 -/* 0F2598 7F0BDA68 AC440000 */ sw $a0, ($v0) -.L7F0BDA6C: -/* 0F259C 7F0BDA6C 0C001B9F */ jal musicTrack1Play -/* 0F25A0 7F0BDA70 00000000 */ nop -/* 0F25A4 7F0BDA74 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F25A8 7F0BDA78 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F25AC 7F0BDA7C 03E00008 */ jr $ra -/* 0F25B0 7F0BDA80 00000000 */ nop -) -#endif - - - - - -void sub_GAME_7F0BDA84(void) { - playmusictrack1(getmusictrack_or_randomtrack(current_stage_to_load)); -} - - - - - -#ifdef NONMATCHING -void stage_load(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel stage_load -/* 0F25E0 7F0BDAB0 3C018005 */ lui $at, %hi(current_stage_to_load) -/* 0F25E4 7F0BDAB4 AC248364 */ sw $a0, %lo(current_stage_to_load)($at) -/* 0F25E8 7F0BDAB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F25EC 7F0BDABC 44816000 */ mtc1 $at, $f12 -/* 0F25F0 7F0BDAC0 24020001 */ li $v0, 1 -/* 0F25F4 7F0BDAC4 3C018005 */ lui $at, %hi(D_800483C0) -/* 0F25F8 7F0BDAC8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0F25FC 7F0BDACC AC2283C0 */ sw $v0, %lo(D_800483C0)($at) -/* 0F2600 7F0BDAD0 AFB10024 */ sw $s1, 0x24($sp) -/* 0F2604 7F0BDAD4 3C018005 */ lui $at, %hi(controls_locked_flag) -/* 0F2608 7F0BDAD8 3C118005 */ lui $s1, %hi(clock_timer) -/* 0F260C 7F0BDADC AC208370 */ sw $zero, %lo(controls_locked_flag)($at) -/* 0F2610 7F0BDAE0 26318374 */ addiu $s1, %lo(clock_timer) # addiu $s1, $s1, -0x7c8c -/* 0F2614 7F0BDAE4 AE220000 */ sw $v0, ($s1) -/* 0F2618 7F0BDAE8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0F261C 7F0BDAEC E42C8378 */ swc1 $f12, %lo(global_timer_delta)($at) -/* 0F2620 7F0BDAF0 3C018005 */ lui $at, %hi(D_80048380) -/* 0F2624 7F0BDAF4 AC208380 */ sw $zero, %lo(D_80048380)($at) -/* 0F2628 7F0BDAF8 3C018005 */ lui $at, %hi(global_timer) -/* 0F262C 7F0BDAFC AC20837C */ sw $zero, %lo(global_timer)($at) - -/* 0F2630 7F0BDB00 3C018005 */ lui $at, %hi(D_80048388) -/* 0F2634 7F0BDB04 AC208388 */ sw $zero, %lo(D_80048388)($at) -/* 0F2638 7F0BDB08 3C018005 */ lui $at, %hi(D_8004838C) -/* 0F263C 7F0BDB0C AC20838C */ sw $zero, %lo(D_8004838C)($at) -/* 0F2640 7F0BDB10 AFB00020 */ sw $s0, 0x20($sp) -/* 0F2644 7F0BDB14 3C018005 */ lui $at, %hi(D_80048390) -/* 0F2648 7F0BDB18 44800000 */ mtc1 $zero, $f0 -/* 0F264C 7F0BDB1C 3C108005 */ lui $s0, %hi(D_80048394) -/* 0F2650 7F0BDB20 AC208390 */ sw $zero, %lo(D_80048390)($at) -/* 0F2654 7F0BDB24 26108394 */ addiu $s0, %lo(D_80048394) # addiu $s0, $s0, -0x7c6c - -/* 0F2658 7F0BDB28 AE000000 */ sw $zero, ($s0) -/* 0F265C 7F0BDB2C 3C018005 */ lui $at, %hi(cur_mp_sec) -/* 0F2660 7F0BDB30 E42083A4 */ swc1 $f0, %lo(cur_mp_sec)($at) -/* 0F2664 7F0BDB34 3C018005 */ lui $at, %hi(D_800483B0) -/* 0F2668 7F0BDB38 AC2083B0 */ sw $zero, %lo(D_800483B0)($at) -/* 0F266C 7F0BDB3C 3C018005 */ lui $at, %hi(stage_time_sec) -/* 0F2670 7F0BDB40 E42083B4 */ swc1 $f0, %lo(stage_time_sec)($at) -/* 0F2674 7F0BDB44 AFBF0034 */ sw $ra, 0x34($sp) -/* 0F2678 7F0BDB48 3C018005 */ lui $at, %hi(D_800483A0) -/* 0F267C 7F0BDB4C AFB40030 */ sw $s4, 0x30($sp) -/* 0F2680 7F0BDB50 AFB3002C */ sw $s3, 0x2c($sp) -/* 0F2684 7F0BDB54 AFB20028 */ sw $s2, 0x28($sp) -/* 0F2688 7F0BDB58 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0F268C 7F0BDB5C AFA40038 */ sw $a0, 0x38($sp) -/* 0F2690 7F0BDB60 0C00248E */ jal sfx_c_70009238 -/* 0F2694 7F0BDB64 AC2083A0 */ sw $zero, %lo(D_800483A0)($at) -/* 0F2698 7F0BDB68 0C001C0F */ jal musicTrack1Vol -/* 0F269C 7F0BDB6C 24047FFF */ li $a0, 32767 -/* 0F26A0 7F0BDB70 0C001CF1 */ jal musicTrack2Vol -/* 0F26A4 7F0BDB74 24047FFF */ li $a0, 32767 -/* 0F26A8 7F0BDB78 0C001DD3 */ jal musicTrack3Vol -/* 0F26AC 7F0BDB7C 24047FFF */ li $a0, 32767 -/* 0F26B0 7F0BDB80 0FC304D9 */ jal sub_GAME_7F0C1364 -/* 0F26B4 7F0BDB84 00000000 */ nop -/* 0F26B8 7F0BDB88 0FC0154D */ jal set_contents_of_80036078 -/* 0F26BC 7F0BDB8C 24040001 */ li $a0, 1 -/* 0F26C0 7F0BDB90 0FC01CC8 */ jal set_mt_tex_alloc -/* 0F26C4 7F0BDB94 00000000 */ nop -/* 0F26C8 7F0BDB98 0FC291F5 */ jal sub_GAME_7F0A47D4 -/* 0F26CC 7F0BDB9C 00000000 */ nop -/* 0F26D0 7F0BDBA0 0FC32FEC */ jal load_prepare_global_image_bank -/* 0F26D4 7F0BDBA4 00000000 */ nop -/* 0F26D8 7F0BDBA8 0FC2B2EB */ jal load_font_tables -/* 0F26DC 7F0BDBAC 00000000 */ nop -/* 0F26E0 7F0BDBB0 8FAF0038 */ lw $t7, 0x38($sp) -/* 0F26E4 7F0BDBB4 2401005A */ li $at, 90 -/* 0F26E8 7F0BDBB8 15E10005 */ bne $t7, $at, .L7F0BDBD0 -/* 0F26EC 7F0BDBBC 00000000 */ nop -/* 0F26F0 7F0BDBC0 0FC00348 */ jal init_menus_or_reset -/* 0F26F4 7F0BDBC4 00000000 */ nop -/* 0F26F8 7F0BDBC8 10000073 */ b .L7F0BDD98 -/* 0F26FC 7F0BDBCC 00000000 */ nop -.L7F0BDBD0: -/* 0F2700 7F0BDBD0 3C048005 */ lui $a0, %hi(current_stage_to_load) -/* 0F2704 7F0BDBD4 8C848364 */ lw $a0, %lo(current_stage_to_load)($a0) -/* 0F2708 7F0BDBD8 3C018007 */ lui $at, %hi(newcheatunlocked) # -0.000000 -/* 0F270C 7F0BDBDC AC209790 */ sw $zero, %lo(newcheatunlocked)($at) -/* 0F2710 7F0BDBE0 2401005A */ li $at, 90 -/* 0F2714 7F0BDBE4 1081001C */ beq $a0, $at, .L7F0BDC58 -/* 0F2718 7F0BDBE8 00000000 */ nop -/* 0F271C 7F0BDBEC 8E180000 */ lw $t8, ($s0) -/* 0F2720 7F0BDBF0 17000019 */ bnez $t8, .L7F0BDC58 -/* 0F2724 7F0BDBF4 00000000 */ nop -/* 0F2728 7F0BDBF8 8E390000 */ lw $t9, ($s1) -/* 0F272C 7F0BDBFC 3C088003 */ lui $t0, %hi(append_cheat_sp) -/* 0F2730 7F0BDC00 1B200015 */ blez $t9, .L7F0BDC58 -/* 0F2734 7F0BDC04 00000000 */ nop -/* 0F2738 7F0BDC08 8D08A900 */ lw $t0, %lo(append_cheat_sp)($t0) -/* 0F273C 7F0BDC0C 3C118007 */ lui $s1, %hi(CHEAT_AVAILABLE_EXTRA_CHARS) -/* 0F2740 7F0BDC10 263196A1 */ addiu $s1, %lo(CHEAT_AVAILABLE_EXTRA_CHARS) # addiu $s1, $s1, -0x695f -/* 0F2744 7F0BDC14 11000010 */ beqz $t0, .L7F0BDC58 -/* 0F2748 7F0BDC18 24100001 */ li $s0, 1 -/* 0F274C 7F0BDC1C 2412004B */ li $s2, 75 -.L7F0BDC20: -/* 0F2750 7F0BDC20 92290000 */ lbu $t1, ($s1) -/* 0F2754 7F0BDC24 51200008 */ beql $t1, $zero, .L7F0BDC48 -/* 0F2758 7F0BDC28 26100001 */ addiu $s0, $s0, 1 -/* 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 turn_on_cheat_for_players -/* 0F2770 7F0BDC40 02002025 */ move $a0, $s0 -/* 0F2774 7F0BDC44 26100001 */ addiu $s0, $s0, 1 -.L7F0BDC48: -/* 0F2778 7F0BDC48 1612FFF5 */ bne $s0, $s2, .L7F0BDC20 -/* 0F277C 7F0BDC4C 26310001 */ addiu $s1, $s1, 1 -/* 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 load_bg_file -/* 0F278C 7F0BDC5C 00000000 */ nop -/* 0F2790 7F0BDC60 3C048005 */ lui $a0, %hi(current_stage_to_load) -/* 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 -/* 0F27A4 7F0BDC74 0FC3047F */ jal sub_GAME_7F0C11FC -/* 0F27A8 7F0BDC78 8FA40038 */ lw $a0, 0x38($sp) -/* 0F27AC 7F0BDC7C 3C0A8008 */ lui $t2, %hi(player1_player_data) -/* 0F27B0 7F0BDC80 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0F27B4 7F0BDC84 25529EF0 */ addiu $s2, $t2, %lo(player1_player_data) -/* 0F27B8 7F0BDC88 4481A000 */ mtc1 $at, $f20 -/* 0F27BC 7F0BDC8C 0240A025 */ move $s4, $s2 -/* 0F27C0 7F0BDC90 24130004 */ li $s3, 4 -.L7F0BDC94: -/* 0F27C4 7F0BDC94 0FC26919 */ jal get_num_players -/* 0F27C8 7F0BDC98 00000000 */ nop -/* 0F27CC 7F0BDC9C 24010001 */ li $at, 1 -/* 0F27D0 7F0BDCA0 14410009 */ bne $v0, $at, .L7F0BDCC8 -/* 0F27D4 7F0BDCA4 00008025 */ move $s0, $zero -/* 0F27D8 7F0BDCA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F27DC 7F0BDCAC 44812000 */ mtc1 $at, $f4 -/* 0F27E0 7F0BDCB0 44813000 */ mtc1 $at, $f6 -/* 0F27E4 7F0BDCB4 A280006A */ sb $zero, 0x6a($s4) -/* 0F27E8 7F0BDCB8 A280006B */ sb $zero, 0x6b($s4) -/* 0F27EC 7F0BDCBC E684005C */ swc1 $f4, 0x5c($s4) -/* 0F27F0 7F0BDCC0 1000001C */ b .L7F0BDD34 -/* 0F27F4 7F0BDCC4 E6860064 */ swc1 $f6, 0x64($s4) -.L7F0BDCC8: -/* 0F27F8 7F0BDCC8 3C118008 */ lui $s1, %hi(player1_player_data) -/* 0F27FC 7F0BDCCC 26319EF0 */ addiu $s1, %lo(player1_player_data) # addiu $s1, $s1, -0x6110 -.L7F0BDCD0: -/* 0F2800 7F0BDCD0 0FC051D6 */ jal get_scenario -/* 0F2804 7F0BDCD4 00000000 */ nop -/* 0F2808 7F0BDCD8 14530003 */ bne $v0, $s3, .L7F0BDCE8 -/* 0F280C 7F0BDCDC 00000000 */ nop -/* 0F2810 7F0BDCE0 10000004 */ b .L7F0BDCF4 -/* 0F2814 7F0BDCE4 E634005C */ swc1 $f20, 0x5c($s1) -.L7F0BDCE8: -/* 0F2818 7F0BDCE8 0FC040EB */ jal get_player_mp_handicap -/* 0F281C 7F0BDCEC 02002025 */ move $a0, $s0 -/* 0F2820 7F0BDCF0 E620005C */ swc1 $f0, 0x5c($s1) -.L7F0BDCF4: -/* 0F2824 7F0BDCF4 0FC040F4 */ jal get_player_mp_char_height -/* 0F2828 7F0BDCF8 02002025 */ move $a0, $s0 -/* 0F282C 7F0BDCFC 26100001 */ addiu $s0, $s0, 1 -/* 0F2830 7F0BDD00 26310070 */ addiu $s1, $s1, 0x70 -/* 0F2834 7F0BDD04 1613FFF2 */ bne $s0, $s3, .L7F0BDCD0 -/* 0F2838 7F0BDD08 E620FFF4 */ swc1 $f0, -0xc($s1) -/* 0F283C 7F0BDD0C 0FC04108 */ jal get_mp_timelimit -/* 0F2840 7F0BDD10 00000000 */ nop -/* 0F2844 7F0BDD14 0FC2FF0A */ jal set_mp_time -/* 0F2848 7F0BDD18 00402025 */ move $a0, $v0 -/* 0F284C 7F0BDD1C 0FC04111 */ jal get_mp_pointlimit -/* 0F2850 7F0BDD20 00000000 */ nop -/* 0F2854 7F0BDD24 0FC2FF0D */ jal set_mp_point -/* 0F2858 7F0BDD28 00402025 */ move $a0, $v0 -/* 0F285C 7F0BDD2C 0FC04076 */ jal copy_aim_settings_to_playerdata -/* 0F2860 7F0BDD30 00000000 */ nop -.L7F0BDD34: -/* 0F2864 7F0BDD34 44804000 */ mtc1 $zero, $f8 -/* 0F2868 7F0BDD38 44805000 */ mtc1 $zero, $f10 -/* 0F286C 7F0BDD3C 3C027FFF */ lui $v0, (0x7FFFFFFF >> 16) # lui $v0, 0x7fff -/* 0F2870 7F0BDD40 3442FFFF */ ori $v0, (0x7FFFFFFF & 0xFFFF) # ori $v0, $v0, 0xffff -/* 0F2874 7F0BDD44 AE800034 */ sw $zero, 0x34($s4) -/* 0F2878 7F0BDD48 AE80003C */ sw $zero, 0x3c($s4) -/* 0F287C 7F0BDD4C AE820044 */ sw $v0, 0x44($s4) -/* 0F2880 7F0BDD50 AE800048 */ sw $zero, 0x48($s4) -/* 0F2884 7F0BDD54 AE800054 */ sw $zero, 0x54($s4) -/* 0F2888 7F0BDD58 AE800058 */ sw $zero, 0x58($s4) -/* 0F288C 7F0BDD5C AE80004C */ sw $zero, 0x4c($s4) -/* 0F2890 7F0BDD60 AE820050 */ sw $v0, 0x50($s4) -/* 0F2894 7F0BDD64 A2800068 */ sb $zero, 0x68($s4) -/* 0F2898 7F0BDD68 AE800060 */ sw $zero, 0x60($s4) -/* 0F289C 7F0BDD6C E6880038 */ swc1 $f8, 0x38($s4) -/* 0F28A0 7F0BDD70 E68A0040 */ swc1 $f10, 0x40($s4) -/* 0F28A4 7F0BDD74 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0F28A8 7F0BDD78 256BA0B0 */ addiu $t3, %lo(pPlayer) # addiu $t3, $t3, -0x5f50 -/* 0F28AC 7F0BDD7C 26520070 */ addiu $s2, $s2, 0x70 -/* 0F28B0 7F0BDD80 26940070 */ addiu $s4, $s4, 0x70 -/* 0F28B4 7F0BDD84 AE40FFC0 */ sw $zero, -0x40($s2) -/* 0F28B8 7F0BDD88 AE40FFBC */ sw $zero, -0x44($s2) -/* 0F28BC 7F0BDD8C AE40FFB8 */ sw $zero, -0x48($s2) -/* 0F28C0 7F0BDD90 164BFFC0 */ bne $s2, $t3, .L7F0BDC94 -/* 0F28C4 7F0BDD94 AE40FFB4 */ sw $zero, -0x4c($s2) -.L7F0BDD98: -/* 0F28C8 7F0BDD98 0FC013B0 */ jal something_with_stage_objectives -/* 0F28CC 7F0BDD9C 00000000 */ nop -/* 0F28D0 7F0BDDA0 0FC30802 */ jal unpause_game -/* 0F28D4 7F0BDDA4 00000000 */ nop -/* 0F28D8 7F0BDDA8 0FC26E08 */ jal sub_GAME_7F09B820 -/* 0F28DC 7F0BDDAC 00000000 */ nop -/* 0F28E0 7F0BDDB0 0FC01514 */ jal sub_GAME_7F005450 -/* 0F28E4 7F0BDDB4 00000000 */ nop -/* 0F28E8 7F0BDDB8 0FC01548 */ jal zero_contents_of_80036070_74 -/* 0F28EC 7F0BDDBC 00000000 */ nop -/* 0F28F0 7F0BDDC0 0FC00538 */ jal init_load_objpos_table -/* 0F28F4 7F0BDDC4 00000000 */ nop -/* 0F28F8 7F0BDDC8 0FC005D4 */ jal reinit_between_menus -/* 0F28FC 7F0BDDCC 00000000 */ nop -/* 0F2900 7F0BDDD0 0FC0052C */ jal init_sound_effects_registers -/* 0F2904 7F0BDDD4 00000000 */ nop -/* 0F2908 7F0BDDD8 0FC00390 */ jal init_guards -/* 0F290C 7F0BDDDC 00000000 */ nop -/* 0F2910 7F0BDDE0 0FC003D4 */ jal set_new_rand_head_bodies -/* 0F2914 7F0BDDE4 8FA40038 */ lw $a0, 0x38($sp) -/* 0F2918 7F0BDDE8 0FC00EFC */ jal proplvreset2 -/* 0F291C 7F0BDDEC 8FA40038 */ lw $a0, 0x38($sp) -/* 0F2920 7F0BDDF0 0FC01B64 */ jal alloc_explosion_smoke_casing_scorch_impact_buffers -/* 0F2924 7F0BDDF4 00000000 */ nop -/* 0F2928 7F0BDDF8 0FC01C60 */ jal sub_GAME_7F007180 -/* 0F292C 7F0BDDFC 00000000 */ nop -/* 0F2930 7F0BDE00 0FC01CA4 */ jal sub_GAME_7F007290 -/* 0F2934 7F0BDE04 00000000 */ nop -/* 0F2938 7F0BDE08 0FC01CAC */ jal sub_GAME_7F0072B0 -/* 0F293C 7F0BDE0C 00000000 */ nop -/* 0F2940 7F0BDE10 3C0C8005 */ lui $t4, %hi(current_stage_to_load) -/* 0F2944 7F0BDE14 8D8C8364 */ lw $t4, %lo(current_stage_to_load)($t4) -/* 0F2948 7F0BDE18 2401005A */ li $at, 90 -/* 0F294C 7F0BDE1C 15810005 */ bne $t4, $at, .L7F0BDE34 -/* 0F2950 7F0BDE20 00000000 */ nop -/* 0F2954 7F0BDE24 0FC01CBE */ jal disable_onscreen_cheat_text -/* 0F2958 7F0BDE28 00000000 */ nop -/* 0F295C 7F0BDE2C 10000020 */ b .L7F0BDEB0 -/* 0F2960 7F0BDE30 00000000 */ nop -.L7F0BDE34: -/* 0F2964 7F0BDE34 0FC01A24 */ jal init_path_table_links -/* 0F2968 7F0BDE38 00000000 */ nop -/* 0F296C 7F0BDE3C 0FC01410 */ jal something_with_ejected_cartridges -/* 0F2970 7F0BDE40 00000000 */ nop -/* 0F2974 7F0BDE44 0FC26919 */ jal get_num_players -/* 0F2978 7F0BDE48 00008025 */ move $s0, $zero -/* 0F297C 7F0BDE4C 18400016 */ blez $v0, .L7F0BDEA8 -/* 0F2980 7F0BDE50 00000000 */ nop -.L7F0BDE54: -/* 0F2984 7F0BDE54 0FC26C43 */ jal set_cur_player -/* 0F2988 7F0BDE58 02002025 */ move $a0, $s0 -/* 0F298C 7F0BDE5C 0FC0187C */ jal sub_GAME_7F0061F0 -/* 0F2990 7F0BDE60 00000000 */ nop -/* 0F2994 7F0BDE64 0FC01434 */ jal init_player_BONDdata_stats -/* 0F2998 7F0BDE68 00000000 */ nop -/* 0F299C 7F0BDE6C 0FC1E4FB */ jal init_player_BONDdata -/* 0F29A0 7F0BDE70 00000000 */ nop -/* 0F29A4 7F0BDE74 0FC015F1 */ jal load_camera_intro_type_values -/* 0F29A8 7F0BDE78 00000000 */ nop -/* 0F29AC 7F0BDE7C 0FC1E62E */ jal sub_GAME_7F0798B8 -/* 0F29B0 7F0BDE80 00000000 */ nop -/* 0F29B4 7F0BDE84 0FC018E3 */ jal sets_a_bunch_of_BONDdata_values_to_default -/* 0F29B8 7F0BDE88 00000000 */ nop -/* 0F29BC 7F0BDE8C 0FC01CBE */ jal disable_onscreen_cheat_text -/* 0F29C0 7F0BDE90 00000000 */ nop -/* 0F29C4 7F0BDE94 0FC26919 */ jal get_num_players -/* 0F29C8 7F0BDE98 26100001 */ addiu $s0, $s0, 1 -/* 0F29CC 7F0BDE9C 0202082A */ slt $at, $s0, $v0 -/* 0F29D0 7F0BDEA0 1420FFEC */ bnez $at, .L7F0BDE54 -/* 0F29D4 7F0BDEA4 00000000 */ nop -.L7F0BDEA8: -/* 0F29D8 7F0BDEA8 0FC26C43 */ jal set_cur_player -/* 0F29DC 7F0BDEAC 00002025 */ move $a0, $zero -.L7F0BDEB0: -/* 0F29E0 7F0BDEB0 0FC0154D */ jal set_contents_of_80036078 -/* 0F29E4 7F0BDEB4 00002025 */ move $a0, $zero -/* 0F29E8 7F0BDEB8 0FC348E0 */ jal remove_viewport_buffer -/* 0F29EC 7F0BDEBC 00000000 */ nop -/* 0F29F0 7F0BDEC0 0C000EEC */ jal setVideoWidthHeightToMode -/* 0F29F4 7F0BDEC4 24040001 */ li $a0, 1 -/* 0F29F8 7F0BDEC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F29FC 7F0BDECC 44818000 */ mtc1 $at, $f16 -/* 0F2A00 7F0BDED0 3C018005 */ lui $at, %hi(D_80048368) -/* 0F2A04 7F0BDED4 00002025 */ move $a0, $zero -/* 0F2A08 7F0BDED8 0FC2FEFE */ jal set_controls_locked_flag -/* 0F2A0C 7F0BDEDC E4308368 */ swc1 $f16, %lo(D_80048368)($at) -/* 0F2A10 7F0BDEE0 8FBF0034 */ lw $ra, 0x34($sp) -/* 0F2A14 7F0BDEE4 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0F2A18 7F0BDEE8 8FB00020 */ lw $s0, 0x20($sp) -/* 0F2A1C 7F0BDEEC 8FB10024 */ lw $s1, 0x24($sp) -/* 0F2A20 7F0BDEF0 8FB20028 */ lw $s2, 0x28($sp) -/* 0F2A24 7F0BDEF4 8FB3002C */ lw $s3, 0x2c($sp) -/* 0F2A28 7F0BDEF8 8FB40030 */ lw $s4, 0x30($sp) -/* 0F2A2C 7F0BDEFC 03E00008 */ jr $ra -/* 0F2A30 7F0BDF00 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel stage_load -/* 0F31D0 7F0BE660 3C018005 */ lui $at, %hi(current_stage_to_load) # $at, 0x8005 -/* 0F31D4 7F0BE664 AC248394 */ sw $a0, %lo(current_stage_to_load)($at) -/* 0F31D8 7F0BE668 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F31DC 7F0BE66C 44816000 */ mtc1 $at, $f12 -/* 0F31E0 7F0BE670 24020001 */ li $v0, 1 -/* 0F31E4 7F0BE674 3C018005 */ lui $at, %hi(D_800483C0) # $at, 0x8005 -/* 0F31E8 7F0BE678 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0F31EC 7F0BE67C AC2283F4 */ sw $v0, %lo(D_800483C0)($at) -/* 0F31F0 7F0BE680 AFB10024 */ sw $s1, 0x24($sp) -/* 0F31F4 7F0BE684 3C018005 */ lui $at, %hi(controls_locked_flag) # $at, 0x8005 -/* 0F31F8 7F0BE688 3C118005 */ lui $s1, %hi(clock_timer) # $s1, 0x8005 -/* 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(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 -/* 0F321C 7F0BE6AC AC2083AC */ sw $zero, %lo(global_timer)($at) -/* 0F3220 7F0BE6B0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F3224 7F0BE6B4 44812000 */ mtc1 $at, $f4 - -/* 0F3228 7F0BE6B8 3C018005 */ lui $at, %hi(0x800483B4) # $at, 0x8005 -/* 0F322C 7F0BE6BC AFB00020 */ sw $s0, 0x20($sp) -/* 0F3230 7F0BE6C0 E42483B4 */ swc1 $f4, %lo(0x800483B4)($at) -/* 0F3234 7F0BE6C4 3C018005 */ lui $at, %hi(D_80048388) # $at, 0x8005 -/* 0F3238 7F0BE6C8 AC2083BC */ sw $zero, %lo(D_80048388)($at) -/* 0F323C 7F0BE6CC 3C018005 */ lui $at, %hi(D_8004838C) # $at, 0x8005 -/* 0F3240 7F0BE6D0 AC2083C0 */ sw $zero, %lo(D_8004838C)($at) -/* 0F3244 7F0BE6D4 3C018005 */ lui $at, %hi(D_80048390) # $at, 0x8005 -/* 0F3248 7F0BE6D8 44800000 */ mtc1 $zero, $f0 -/* 0F324C 7F0BE6DC 3C108005 */ lui $s0, %hi(D_80048394) # $s0, 0x8005 -/* 0F3250 7F0BE6E0 AC2083C4 */ sw $zero, %lo(D_80048390)($at) -/* 0F3254 7F0BE6E4 261083C8 */ addiu $s0, %lo(D_80048394) # addiu $s0, $s0, -0x7c38 - -/* 0F3258 7F0BE6E8 AE000000 */ sw $zero, ($s0) -/* 0F325C 7F0BE6EC 3C018005 */ lui $at, %hi(cur_mp_sec) # $at, 0x8005 -/* 0F3260 7F0BE6F0 E42083D8 */ swc1 $f0, %lo(cur_mp_sec)($at) -/* 0F3264 7F0BE6F4 3C018005 */ lui $at, %hi(D_800483B0) # $at, 0x8005 -/* 0F3268 7F0BE6F8 AC2083E4 */ sw $zero, %lo(D_800483B0)($at) -/* 0F326C 7F0BE6FC 3C018005 */ lui $at, %hi(stage_time_sec) # $at, 0x8005 -/* 0F3270 7F0BE700 E42083E8 */ swc1 $f0, %lo(stage_time_sec)($at) -/* 0F3274 7F0BE704 AFBF0034 */ sw $ra, 0x34($sp) -/* 0F3278 7F0BE708 3C018005 */ lui $at, %hi(D_800483A0) # $at, 0x8005 -/* 0F327C 7F0BE70C AFB40030 */ sw $s4, 0x30($sp) -/* 0F3280 7F0BE710 AFB3002C */ sw $s3, 0x2c($sp) -/* 0F3284 7F0BE714 AFB20028 */ sw $s2, 0x28($sp) -/* 0F3288 7F0BE718 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0F328C 7F0BE71C AFA40038 */ sw $a0, 0x38($sp) -/* 0F3290 7F0BE720 0C002492 */ jal sfx_c_70009238 -/* 0F3294 7F0BE724 AC2083D4 */ sw $zero, %lo(D_800483A0)($at) -/* 0F3298 7F0BE728 0C001C13 */ jal musicTrack1Vol -/* 0F329C 7F0BE72C 24047FFF */ li $a0, 32767 -/* 0F32A0 7F0BE730 0C001CF5 */ jal musicTrack2Vol -/* 0F32A4 7F0BE734 24047FFF */ li $a0, 32767 -/* 0F32A8 7F0BE738 0C001DD7 */ jal musicTrack3Vol -/* 0F32AC 7F0BE73C 24047FFF */ li $a0, 32767 -/* 0F32B0 7F0BE740 0FC30805 */ jal sub_GAME_7F0C1364 -/* 0F32B4 7F0BE744 00000000 */ nop -/* 0F32B8 7F0BE748 0FC01555 */ jal set_contents_of_80036078 -/* 0F32BC 7F0BE74C 24040001 */ li $a0, 1 -/* 0F32C0 7F0BE750 0FC01CD0 */ jal set_mt_tex_alloc -/* 0F32C4 7F0BE754 00000000 */ nop -/* 0F32C8 7F0BE758 0FC294DD */ jal sub_GAME_7F0A47D4 -/* 0F32CC 7F0BE75C 00000000 */ nop -/* 0F32D0 7F0BE760 0FC33324 */ jal load_prepare_global_image_bank -/* 0F32D4 7F0BE764 00000000 */ nop -/* 0F32D8 7F0BE768 0FC2B5D7 */ jal load_font_tables -/* 0F32DC 7F0BE76C 00000000 */ nop -/* 0F32E0 7F0BE770 8FAF0038 */ lw $t7, 0x38($sp) -/* 0F32E4 7F0BE774 2401005A */ li $at, 90 -/* 0F32E8 7F0BE778 15E10005 */ bne $t7, $at, .Ljp7F0BE790 -/* 0F32EC 7F0BE77C 00000000 */ nop -/* 0F32F0 7F0BE780 0FC00348 */ jal init_menus_or_reset -/* 0F32F4 7F0BE784 00000000 */ nop -/* 0F32F8 7F0BE788 10000073 */ b .Ljp7F0BE958 -/* 0F32FC 7F0BE78C 00000000 */ nop -.Ljp7F0BE790: -/* 0F3300 7F0BE790 3C048005 */ lui $a0, %hi(current_stage_to_load) # $a0, 0x8005 -/* 0F3304 7F0BE794 8C848394 */ lw $a0, %lo(current_stage_to_load)($a0) -/* 0F3308 7F0BE798 3C018007 */ lui $at, %hi(newcheatunlocked) -/* 0F330C 7F0BE79C AC2097D0 */ sw $zero, %lo(newcheatunlocked)($at) -/* 0F3310 7F0BE7A0 2401005A */ li $at, 90 -/* 0F3314 7F0BE7A4 1081001C */ beq $a0, $at, .Ljp7F0BE818 -/* 0F3318 7F0BE7A8 00000000 */ nop -/* 0F331C 7F0BE7AC 8E180000 */ lw $t8, ($s0) -/* 0F3320 7F0BE7B0 17000019 */ bnez $t8, .Ljp7F0BE818 -/* 0F3324 7F0BE7B4 00000000 */ nop -/* 0F3328 7F0BE7B8 8E390000 */ lw $t9, ($s1) -/* 0F332C 7F0BE7BC 3C088003 */ lui $t0, %hi(append_cheat_sp) # $t0, 0x8003 -/* 0F3330 7F0BE7C0 1B200015 */ blez $t9, .Ljp7F0BE818 -/* 0F3334 7F0BE7C4 00000000 */ nop -/* 0F3338 7F0BE7C8 8D08A940 */ lw $t0, %lo(append_cheat_sp)($t0) -/* 0F333C 7F0BE7CC 3C118007 */ lui $s1, %hi(CHEAT_AVAILABLE_EXTRA_CHARS) # $s1, 0x8007 -/* 0F3340 7F0BE7D0 263196E1 */ addiu $s1, %lo(CHEAT_AVAILABLE_EXTRA_CHARS) # addiu $s1, $s1, -0x691f -/* 0F3344 7F0BE7D4 11000010 */ beqz $t0, .Ljp7F0BE818 -/* 0F3348 7F0BE7D8 24100001 */ li $s0, 1 -/* 0F334C 7F0BE7DC 2412004B */ li $s2, 75 -.Ljp7F0BE7E0: -/* 0F3350 7F0BE7E0 92290000 */ lbu $t1, ($s1) -/* 0F3354 7F0BE7E4 51200008 */ beql $t1, $zero, .Ljp7F0BE808 -/* 0F3358 7F0BE7E8 26100001 */ addiu $s0, $s0, 1 -/* 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 turn_on_cheat_for_players -/* 0F3370 7F0BE800 02002025 */ move $a0, $s0 -/* 0F3374 7F0BE804 26100001 */ addiu $s0, $s0, 1 -.Ljp7F0BE808: -/* 0F3378 7F0BE808 1612FFF5 */ bne $s0, $s2, .Ljp7F0BE7E0 -/* 0F337C 7F0BE80C 26310001 */ addiu $s1, $s1, 1 -/* 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 load_bg_file -/* 0F338C 7F0BE81C 00000000 */ nop -/* 0F3390 7F0BE820 3C048005 */ lui $a0, %hi(current_stage_to_load) # $a0, 0x8005 -/* 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 -/* 0F33A4 7F0BE834 0FC307AB */ jal sub_GAME_7F0C11FC -/* 0F33A8 7F0BE838 8FA40038 */ lw $a0, 0x38($sp) -/* 0F33AC 7F0BE83C 3C0A8008 */ lui $t2, %hi(player1_player_data) -/* 0F33B0 7F0BE840 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0F33B4 7F0BE844 25529F60 */ addiu $s2, $t2, %lo(player1_player_data) -/* 0F33B8 7F0BE848 4481A000 */ mtc1 $at, $f20 -/* 0F33BC 7F0BE84C 0240A025 */ move $s4, $s2 -/* 0F33C0 7F0BE850 24130004 */ li $s3, 4 -.Ljp7F0BE854: -/* 0F33C4 7F0BE854 0FC26C01 */ jal get_num_players -/* 0F33C8 7F0BE858 00000000 */ nop -/* 0F33CC 7F0BE85C 24010001 */ li $at, 1 -/* 0F33D0 7F0BE860 14410009 */ bne $v0, $at, .Ljp7F0BE888 -/* 0F33D4 7F0BE864 00008025 */ move $s0, $zero -/* 0F33D8 7F0BE868 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F33DC 7F0BE86C 44813000 */ mtc1 $at, $f6 -/* 0F33E0 7F0BE870 44814000 */ mtc1 $at, $f8 -/* 0F33E4 7F0BE874 A280006A */ sb $zero, 0x6a($s4) -/* 0F33E8 7F0BE878 A280006B */ sb $zero, 0x6b($s4) -/* 0F33EC 7F0BE87C E686005C */ swc1 $f6, 0x5c($s4) -/* 0F33F0 7F0BE880 1000001C */ b .Ljp7F0BE8F4 -/* 0F33F4 7F0BE884 E6880064 */ swc1 $f8, 0x64($s4) -.Ljp7F0BE888: -/* 0F33F8 7F0BE888 3C118008 */ lui $s1, %hi(player1_player_data) # $s1, 0x8008 -/* 0F33FC 7F0BE88C 26319F60 */ addiu $s1, %lo(player1_player_data) # addiu $s1, $s1, -0x60a0 -.Ljp7F0BE890: -/* 0F3400 7F0BE890 0FC05202 */ jal get_scenario -/* 0F3404 7F0BE894 00000000 */ nop -/* 0F3408 7F0BE898 14530003 */ bne $v0, $s3, .Ljp7F0BE8A8 -/* 0F340C 7F0BE89C 00000000 */ nop -/* 0F3410 7F0BE8A0 10000004 */ b .Ljp7F0BE8B4 -/* 0F3414 7F0BE8A4 E634005C */ swc1 $f20, 0x5c($s1) -.Ljp7F0BE8A8: -/* 0F3418 7F0BE8A8 0FC040FB */ jal get_player_mp_handicap -/* 0F341C 7F0BE8AC 02002025 */ move $a0, $s0 -/* 0F3420 7F0BE8B0 E620005C */ swc1 $f0, 0x5c($s1) -.Ljp7F0BE8B4: -/* 0F3424 7F0BE8B4 0FC04104 */ jal get_player_mp_char_height -/* 0F3428 7F0BE8B8 02002025 */ move $a0, $s0 -/* 0F342C 7F0BE8BC 26100001 */ addiu $s0, $s0, 1 -/* 0F3430 7F0BE8C0 26310070 */ addiu $s1, $s1, 0x70 -/* 0F3434 7F0BE8C4 1613FFF2 */ bne $s0, $s3, .Ljp7F0BE890 -/* 0F3438 7F0BE8C8 E620FFF4 */ swc1 $f0, -0xc($s1) -/* 0F343C 7F0BE8CC 0FC04118 */ jal get_mp_timelimit -/* 0F3440 7F0BE8D0 00000000 */ nop -/* 0F3444 7F0BE8D4 0FC30224 */ jal set_mp_time -/* 0F3448 7F0BE8D8 00402025 */ move $a0, $v0 -/* 0F344C 7F0BE8DC 0FC04121 */ jal get_mp_pointlimit -/* 0F3450 7F0BE8E0 00000000 */ nop -/* 0F3454 7F0BE8E4 0FC30227 */ jal set_mp_point -/* 0F3458 7F0BE8E8 00402025 */ move $a0, $v0 -/* 0F345C 7F0BE8EC 0FC04086 */ jal copy_aim_settings_to_playerdata -/* 0F3460 7F0BE8F0 00000000 */ nop -.Ljp7F0BE8F4: -/* 0F3464 7F0BE8F4 44805000 */ mtc1 $zero, $f10 -/* 0F3468 7F0BE8F8 44808000 */ mtc1 $zero, $f16 -/* 0F346C 7F0BE8FC 3C027FFF */ lui $v0, (0x7FFFFFFF >> 16) # lui $v0, 0x7fff -/* 0F3470 7F0BE900 3442FFFF */ ori $v0, (0x7FFFFFFF & 0xFFFF) # ori $v0, $v0, 0xffff -/* 0F3474 7F0BE904 AE800034 */ sw $zero, 0x34($s4) -/* 0F3478 7F0BE908 AE80003C */ sw $zero, 0x3c($s4) -/* 0F347C 7F0BE90C AE820044 */ sw $v0, 0x44($s4) -/* 0F3480 7F0BE910 AE800048 */ sw $zero, 0x48($s4) -/* 0F3484 7F0BE914 AE800054 */ sw $zero, 0x54($s4) -/* 0F3488 7F0BE918 AE800058 */ sw $zero, 0x58($s4) -/* 0F348C 7F0BE91C AE80004C */ sw $zero, 0x4c($s4) -/* 0F3490 7F0BE920 AE820050 */ sw $v0, 0x50($s4) -/* 0F3494 7F0BE924 A2800068 */ sb $zero, 0x68($s4) -/* 0F3498 7F0BE928 AE800060 */ sw $zero, 0x60($s4) -/* 0F349C 7F0BE92C E68A0038 */ swc1 $f10, 0x38($s4) -/* 0F34A0 7F0BE930 E6900040 */ swc1 $f16, 0x40($s4) -/* 0F34A4 7F0BE934 3C0B8008 */ lui $t3, %hi(pPlayer) # $t3, 0x8008 -/* 0F34A8 7F0BE938 256BA120 */ addiu $t3, %lo(pPlayer) # addiu $t3, $t3, -0x5ee0 -/* 0F34AC 7F0BE93C 26520070 */ addiu $s2, $s2, 0x70 -/* 0F34B0 7F0BE940 26940070 */ addiu $s4, $s4, 0x70 -/* 0F34B4 7F0BE944 AE40FFC0 */ sw $zero, -0x40($s2) -/* 0F34B8 7F0BE948 AE40FFBC */ sw $zero, -0x44($s2) -/* 0F34BC 7F0BE94C AE40FFB8 */ sw $zero, -0x48($s2) -/* 0F34C0 7F0BE950 164BFFC0 */ bne $s2, $t3, .Ljp7F0BE854 -/* 0F34C4 7F0BE954 AE40FFB4 */ sw $zero, -0x4c($s2) -.Ljp7F0BE958: -/* 0F34C8 7F0BE958 0FC013B4 */ jal something_with_stage_objectives -/* 0F34CC 7F0BE95C 00000000 */ nop -/* 0F34D0 7F0BE960 0FC30B2E */ jal unpause_game -/* 0F34D4 7F0BE964 00000000 */ nop -/* 0F34D8 7F0BE968 0FC270F0 */ jal sub_GAME_7F09B820 -/* 0F34DC 7F0BE96C 00000000 */ nop -/* 0F34E0 7F0BE970 0FC0151C */ jal sub_GAME_7F005450 -/* 0F34E4 7F0BE974 00000000 */ nop -/* 0F34E8 7F0BE978 0FC01550 */ jal zero_contents_of_80036070_74 -/* 0F34EC 7F0BE97C 00000000 */ nop -/* 0F34F0 7F0BE980 0FC00538 */ jal init_load_objpos_table -/* 0F34F4 7F0BE984 00000000 */ nop -/* 0F34F8 7F0BE988 0FC005D4 */ jal reinit_between_menus -/* 0F34FC 7F0BE98C 00000000 */ nop -/* 0F3500 7F0BE990 0FC0052C */ jal init_sound_effects_registers -/* 0F3504 7F0BE994 00000000 */ nop -/* 0F3508 7F0BE998 0FC00390 */ jal init_guards -/* 0F350C 7F0BE99C 00000000 */ nop -/* 0F3510 7F0BE9A0 0FC003D4 */ jal set_new_rand_head_bodies -/* 0F3514 7F0BE9A4 8FA40038 */ lw $a0, 0x38($sp) -/* 0F3518 7F0BE9A8 0FC00EFC */ jal proplvreset2 -/* 0F351C 7F0BE9AC 8FA40038 */ lw $a0, 0x38($sp) -/* 0F3520 7F0BE9B0 0FC01B6C */ jal alloc_explosion_smoke_casing_scorch_impact_buffers -/* 0F3524 7F0BE9B4 00000000 */ nop -/* 0F3528 7F0BE9B8 0FC01C68 */ jal sub_GAME_7F007180 -/* 0F352C 7F0BE9BC 00000000 */ nop -/* 0F3530 7F0BE9C0 0FC01CAC */ jal sub_GAME_7F007290 -/* 0F3534 7F0BE9C4 00000000 */ nop -/* 0F3538 7F0BE9C8 0FC01CB4 */ jal sub_GAME_7F0072B0 -/* 0F353C 7F0BE9CC 00000000 */ nop -/* 0F3540 7F0BE9D0 3C0C8005 */ lui $t4, %hi(current_stage_to_load) # $t4, 0x8005 -/* 0F3544 7F0BE9D4 8D8C8394 */ lw $t4, %lo(current_stage_to_load)($t4) -/* 0F3548 7F0BE9D8 2401005A */ li $at, 90 -/* 0F354C 7F0BE9DC 15810005 */ bne $t4, $at, .Ljp7F0BE9F4 -/* 0F3550 7F0BE9E0 00000000 */ nop -/* 0F3554 7F0BE9E4 0FC01CC6 */ jal disable_onscreen_cheat_text -/* 0F3558 7F0BE9E8 00000000 */ nop -/* 0F355C 7F0BE9EC 10000020 */ b .Ljp7F0BEA70 -/* 0F3560 7F0BE9F0 00000000 */ nop -.Ljp7F0BE9F4: -/* 0F3564 7F0BE9F4 0FC01A2C */ jal init_path_table_links -/* 0F3568 7F0BE9F8 00000000 */ nop -/* 0F356C 7F0BE9FC 0FC01418 */ jal something_with_ejected_cartridges -/* 0F3570 7F0BEA00 00000000 */ nop -/* 0F3574 7F0BEA04 0FC26C01 */ jal get_num_players -/* 0F3578 7F0BEA08 00008025 */ move $s0, $zero -/* 0F357C 7F0BEA0C 18400016 */ blez $v0, .Ljp7F0BEA68 -/* 0F3580 7F0BEA10 00000000 */ nop -.Ljp7F0BEA14: -/* 0F3584 7F0BEA14 0FC26F2B */ jal set_cur_player -/* 0F3588 7F0BEA18 02002025 */ move $a0, $s0 -/* 0F358C 7F0BEA1C 0FC0187C */ jal sub_GAME_7F0061F0 -/* 0F3590 7F0BEA20 00000000 */ nop -/* 0F3594 7F0BEA24 0FC0143C */ jal init_player_BONDdata_stats -/* 0F3598 7F0BEA28 00000000 */ nop -/* 0F359C 7F0BEA2C 0FC1E677 */ jal init_player_BONDdata -/* 0F35A0 7F0BEA30 00000000 */ nop -/* 0F35A4 7F0BEA34 0FC015F9 */ jal load_camera_intro_type_values -/* 0F35A8 7F0BEA38 00000000 */ nop -/* 0F35AC 7F0BEA3C 0FC1E7AA */ jal sub_GAME_7F0798B8 -/* 0F35B0 7F0BEA40 00000000 */ nop -/* 0F35B4 7F0BEA44 0FC018E3 */ jal sets_a_bunch_of_BONDdata_values_to_default -/* 0F35B8 7F0BEA48 00000000 */ nop -/* 0F35BC 7F0BEA4C 0FC01CC6 */ jal disable_onscreen_cheat_text -/* 0F35C0 7F0BEA50 00000000 */ nop -/* 0F35C4 7F0BEA54 0FC26C01 */ jal get_num_players -/* 0F35C8 7F0BEA58 26100001 */ addiu $s0, $s0, 1 -/* 0F35CC 7F0BEA5C 0202082A */ slt $at, $s0, $v0 -/* 0F35D0 7F0BEA60 1420FFEC */ bnez $at, .Ljp7F0BEA14 -/* 0F35D4 7F0BEA64 00000000 */ nop -.Ljp7F0BEA68: -/* 0F35D8 7F0BEA68 0FC26F2B */ jal set_cur_player -/* 0F35DC 7F0BEA6C 00002025 */ move $a0, $zero -.Ljp7F0BEA70: -/* 0F35E0 7F0BEA70 0FC01555 */ jal set_contents_of_80036078 -/* 0F35E4 7F0BEA74 00002025 */ move $a0, $zero -/* 0F35E8 7F0BEA78 0FC34C18 */ jal remove_viewport_buffer -/* 0F35EC 7F0BEA7C 00000000 */ nop -/* 0F35F0 7F0BEA80 0C000EEC */ jal setVideoWidthHeightToMode -/* 0F35F4 7F0BEA84 24040001 */ li $a0, 1 -/* 0F35F8 7F0BEA88 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F35FC 7F0BEA8C 44819000 */ mtc1 $at, $f18 -/* 0F3600 7F0BEA90 3C018005 */ lui $at, %hi(D_80048368) # $at, 0x8005 -/* 0F3604 7F0BEA94 00002025 */ move $a0, $zero -/* 0F3608 7F0BEA98 0FC3020C */ jal set_controls_locked_flag -/* 0F360C 7F0BEA9C E4328398 */ swc1 $f18, %lo(D_80048368)($at) -/* 0F3610 7F0BEAA0 8FBF0034 */ lw $ra, 0x34($sp) -/* 0F3614 7F0BEAA4 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0F3618 7F0BEAA8 8FB00020 */ lw $s0, 0x20($sp) -/* 0F361C 7F0BEAAC 8FB10024 */ lw $s1, 0x24($sp) -/* 0F3620 7F0BEAB0 8FB20028 */ lw $s2, 0x28($sp) -/* 0F3624 7F0BEAB4 8FB3002C */ lw $s3, 0x2c($sp) -/* 0F3628 7F0BEAB8 8FB40030 */ lw $s4, 0x30($sp) -/* 0F362C 7F0BEABC 03E00008 */ jr $ra -/* 0F3630 7F0BEAC0 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - -#endif - - - -s32 sub_GAME_7F0BDF04(void) { - return current_stage_to_load; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BDF10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BDF10 -/* 0F2A40 7F0BDF10 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0F2A44 7F0BDF14 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F2A48 7F0BDF18 AFB00018 */ sw $s0, 0x18($sp) -/* 0F2A4C 7F0BDF1C 1080003B */ beqz $a0, .L7F0BE00C -/* 0F2A50 7F0BDF20 AFA00020 */ sw $zero, 0x20($sp) -/* 0F2A54 7F0BDF24 3C058005 */ lui $a1, %hi(D_800483CC) -/* 0F2A58 7F0BDF28 8CA583CC */ lw $a1, %lo(D_800483CC)($a1) -/* 0F2A5C 7F0BDF2C 0FC2E779 */ jal sub_GAME_7F0B9DE4 -/* 0F2A60 7F0BDF30 2406FFFF */ li $a2, -1 -/* 0F2A64 7F0BDF34 3C0E8005 */ lui $t6, %hi(D_800483D4) -/* 0F2A68 7F0BDF38 8DCE83D4 */ lw $t6, %lo(D_800483D4)($t6) -/* 0F2A6C 7F0BDF3C 3C0F8005 */ lui $t7, %hi(D_800483D8) -/* 0F2A70 7F0BDF40 8DEF83D8 */ lw $t7, %lo(D_800483D8)($t7) -/* 0F2A74 7F0BDF44 3C018005 */ lui $at, %hi(D_800483D0) -/* 0F2A78 7F0BDF48 3C188005 */ lui $t8, %hi(D_800483DC) -/* 0F2A7C 7F0BDF4C AC2E83D0 */ sw $t6, %lo(D_800483D0)($at) -/* 0F2A80 7F0BDF50 8F1883DC */ lw $t8, %lo(D_800483DC)($t8) -/* 0F2A84 7F0BDF54 3C018005 */ lui $at, %hi(D_800483D4) -/* 0F2A88 7F0BDF58 AC2F83D4 */ sw $t7, %lo(D_800483D4)($at) -/* 0F2A8C 7F0BDF5C 3C038005 */ lui $v1, %hi(D_800483E0) -/* 0F2A90 7F0BDF60 3C018005 */ lui $at, %hi(D_800483D8) -/* 0F2A94 7F0BDF64 8C6383E0 */ lw $v1, %lo(D_800483E0)($v1) -/* 0F2A98 7F0BDF68 AC3883D8 */ sw $t8, %lo(D_800483D8)($at) -/* 0F2A9C 7F0BDF6C 3C018005 */ lui $at, %hi(D_800483DC) -/* 0F2AA0 7F0BDF70 AFA20028 */ sw $v0, 0x28($sp) -/* 0F2AA4 7F0BDF74 00002025 */ move $a0, $zero -/* 0F2AA8 7F0BDF78 34058000 */ li $a1, 32768 -/* 0F2AAC 7F0BDF7C 0C0030C3 */ jal get_controller_buttons_held -/* 0F2AB0 7F0BDF80 AC2383DC */ sw $v1, %lo(D_800483DC)($at) -/* 0F2AB4 7F0BDF84 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2AB8 7F0BDF88 24040001 */ li $a0, 1 -/* 0F2ABC 7F0BDF8C 0C0030C3 */ jal get_controller_buttons_held -/* 0F2AC0 7F0BDF90 34058000 */ li $a1, 32768 -/* 0F2AC4 7F0BDF94 3C198005 */ lui $t9, %hi(D_800483DC) -/* 0F2AC8 7F0BDF98 8F3983DC */ lw $t9, %lo(D_800483DC)($t9) -/* 0F2ACC 7F0BDF9C 00501825 */ or $v1, $v0, $s0 -/* 0F2AD0 7F0BDFA0 3C0B8005 */ lui $t3, %hi(D_800483D0) -/* 0F2AD4 7F0BDFA4 13230006 */ beq $t9, $v1, .L7F0BDFC0 -/* 0F2AD8 7F0BDFA8 3C0C8005 */ lui $t4, %hi(D_800483D4) -/* 0F2ADC 7F0BDFAC 3C028005 */ lui $v0, %hi(D_800483C0) -/* 0F2AE0 7F0BDFB0 244283C0 */ addiu $v0, %lo(D_800483C0) # addiu $v0, $v0, -0x7c40 -/* 0F2AE4 7F0BDFB4 8C490000 */ lw $t1, ($v0) -/* 0F2AE8 7F0BDFB8 392A0001 */ xori $t2, $t1, 1 -/* 0F2AEC 7F0BDFBC AC4A0000 */ sw $t2, ($v0) -.L7F0BDFC0: -/* 0F2AF0 7F0BDFC0 8D6B83D0 */ lw $t3, %lo(D_800483D0)($t3) -/* 0F2AF4 7F0BDFC4 8D8C83D4 */ lw $t4, %lo(D_800483D4)($t4) -/* 0F2AF8 7F0BDFC8 3C028005 */ lui $v0, %hi(D_800483C0) -/* 0F2AFC 7F0BDFCC 244283C0 */ addiu $v0, %lo(D_800483C0) # addiu $v0, $v0, -0x7c40 -/* 0F2B00 7F0BDFD0 116C0004 */ beq $t3, $t4, .L7F0BDFE4 -/* 0F2B04 7F0BDFD4 3C018005 */ lui $at, %hi(D_800483E0) -/* 0F2B08 7F0BDFD8 8C4E0000 */ lw $t6, ($v0) -/* 0F2B0C 7F0BDFDC 39CF0001 */ xori $t7, $t6, 1 -/* 0F2B10 7F0BDFE0 AC4F0000 */ sw $t7, ($v0) -.L7F0BDFE4: -/* 0F2B14 7F0BDFE4 10600004 */ beqz $v1, .L7F0BDFF8 -/* 0F2B18 7F0BDFE8 AC2383E0 */ sw $v1, %lo(D_800483E0)($at) -/* 0F2B1C 7F0BDFEC 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2B20 7F0BDFF0 10000002 */ b .L7F0BDFFC -/* 0F2B24 7F0BDFF4 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -.L7F0BDFF8: -/* 0F2B28 7F0BDFF8 2404FFFF */ li $a0, -1 -.L7F0BDFFC: -/* 0F2B2C 7F0BDFFC 0FC2E77D */ jal sub_GAME_7F0B9DF4 -/* 0F2B30 7F0BE000 00000000 */ nop -/* 0F2B34 7F0BE004 100000BC */ b .L7F0BE2F8 -/* 0F2B38 7F0BE008 8FA20028 */ lw $v0, 0x28($sp) -.L7F0BE00C: -/* 0F2B3C 7F0BE00C 00002025 */ move $a0, $zero -/* 0F2B40 7F0BE010 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2B44 7F0BE014 24050200 */ li $a1, 512 -/* 0F2B48 7F0BE018 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2B4C 7F0BE01C 24040001 */ li $a0, 1 -/* 0F2B50 7F0BE020 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2B54 7F0BE024 24050200 */ li $a1, 512 -/* 0F2B58 7F0BE028 0050C025 */ or $t8, $v0, $s0 -/* 0F2B5C 7F0BE02C 1300000B */ beqz $t8, .L7F0BE05C -/* 0F2B60 7F0BE030 24050100 */ li $a1, 256 -/* 0F2B64 7F0BE034 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2B68 7F0BE038 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2B6C 7F0BE03C 24190001 */ li $t9, 1 -/* 0F2B70 7F0BE040 3C018005 */ lui $at, %hi(D_800483CC) -/* 0F2B74 7F0BE044 2484FFFF */ addiu $a0, $a0, -1 -/* 0F2B78 7F0BE048 AC2483CC */ sw $a0, %lo(D_800483CC)($at) -/* 0F2B7C 7F0BE04C 04810003 */ bgez $a0, .L7F0BE05C -/* 0F2B80 7F0BE050 AFB90020 */ sw $t9, 0x20($sp) -/* 0F2B84 7F0BE054 3C018005 */ lui $at, %hi(D_800483CC) -/* 0F2B88 7F0BE058 AC2083CC */ sw $zero, %lo(D_800483CC)($at) -.L7F0BE05C: -/* 0F2B8C 7F0BE05C 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2B90 7F0BE060 00002025 */ move $a0, $zero -/* 0F2B94 7F0BE064 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2B98 7F0BE068 24040001 */ li $a0, 1 -/* 0F2B9C 7F0BE06C 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2BA0 7F0BE070 24050100 */ li $a1, 256 -/* 0F2BA4 7F0BE074 00504025 */ or $t0, $v0, $s0 -/* 0F2BA8 7F0BE078 11000008 */ beqz $t0, .L7F0BE09C -/* 0F2BAC 7F0BE07C 24050010 */ li $a1, 16 -/* 0F2BB0 7F0BE080 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2BB4 7F0BE084 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2BB8 7F0BE088 24090001 */ li $t1, 1 -/* 0F2BBC 7F0BE08C 3C018005 */ lui $at, %hi(D_800483CC) -/* 0F2BC0 7F0BE090 24840001 */ addiu $a0, $a0, 1 -/* 0F2BC4 7F0BE094 AC2483CC */ sw $a0, %lo(D_800483CC)($at) -/* 0F2BC8 7F0BE098 AFA90020 */ sw $t1, 0x20($sp) -.L7F0BE09C: -/* 0F2BCC 7F0BE09C 0C0030C3 */ jal get_controller_buttons_held -/* 0F2BD0 7F0BE0A0 00002025 */ move $a0, $zero -/* 0F2BD4 7F0BE0A4 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2BD8 7F0BE0A8 24040001 */ li $a0, 1 -/* 0F2BDC 7F0BE0AC 0C0030C3 */ jal get_controller_buttons_held -/* 0F2BE0 7F0BE0B0 24050010 */ li $a1, 16 -/* 0F2BE4 7F0BE0B4 00505025 */ or $t2, $v0, $s0 -/* 0F2BE8 7F0BE0B8 11400012 */ beqz $t2, .L7F0BE104 -/* 0F2BEC 7F0BE0BC 00002025 */ move $a0, $zero -/* 0F2BF0 7F0BE0C0 0C0030C3 */ jal get_controller_buttons_held -/* 0F2BF4 7F0BE0C4 24050020 */ li $a1, 32 -/* 0F2BF8 7F0BE0C8 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2BFC 7F0BE0CC 24040001 */ li $a0, 1 -/* 0F2C00 7F0BE0D0 0C0030C3 */ jal get_controller_buttons_held -/* 0F2C04 7F0BE0D4 24050020 */ li $a1, 32 -/* 0F2C08 7F0BE0D8 00505825 */ or $t3, $v0, $s0 -/* 0F2C0C 7F0BE0DC 11600009 */ beqz $t3, .L7F0BE104 -/* 0F2C10 7F0BE0E0 00002025 */ move $a0, $zero -/* 0F2C14 7F0BE0E4 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2C18 7F0BE0E8 24050400 */ li $a1, 1024 -/* 0F2C1C 7F0BE0EC 10400081 */ beqz $v0, .L7F0BE2F4 -/* 0F2C20 7F0BE0F0 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2C24 7F0BE0F4 0FC2E6D9 */ jal sub_GAME_7F0B9B64 -/* 0F2C28 7F0BE0F8 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2C2C 7F0BE0FC 1000007E */ b .L7F0BE2F8 -/* 0F2C30 7F0BE100 00001025 */ move $v0, $zero -.L7F0BE104: -/* 0F2C34 7F0BE104 00002025 */ move $a0, $zero -/* 0F2C38 7F0BE108 0C0030C3 */ jal get_controller_buttons_held -/* 0F2C3C 7F0BE10C 24050010 */ li $a1, 16 -/* 0F2C40 7F0BE110 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2C44 7F0BE114 24040001 */ li $a0, 1 -/* 0F2C48 7F0BE118 0C0030C3 */ jal get_controller_buttons_held -/* 0F2C4C 7F0BE11C 24050010 */ li $a1, 16 -/* 0F2C50 7F0BE120 00506025 */ or $t4, $v0, $s0 -/* 0F2C54 7F0BE124 11800029 */ beqz $t4, .L7F0BE1CC -/* 0F2C58 7F0BE128 00002025 */ move $a0, $zero -/* 0F2C5C 7F0BE12C 00002025 */ move $a0, $zero -/* 0F2C60 7F0BE130 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2C64 7F0BE134 24050400 */ li $a1, 1024 -/* 0F2C68 7F0BE138 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2C6C 7F0BE13C 24040001 */ li $a0, 1 -/* 0F2C70 7F0BE140 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2C74 7F0BE144 24050400 */ li $a1, 1024 -/* 0F2C78 7F0BE148 00506825 */ or $t5, $v0, $s0 -/* 0F2C7C 7F0BE14C 11A0000A */ beqz $t5, .L7F0BE178 -/* 0F2C80 7F0BE150 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2C84 7F0BE154 0FC2E6B9 */ jal sub_GAME_7F0B9AE4 -/* 0F2C88 7F0BE158 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2C8C 7F0BE15C 14400006 */ bnez $v0, .L7F0BE178 -/* 0F2C90 7F0BE160 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2C94 7F0BE164 240E0001 */ li $t6, 1 -/* 0F2C98 7F0BE168 AFAE0020 */ sw $t6, 0x20($sp) -/* 0F2C9C 7F0BE16C 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2CA0 7F0BE170 0FC2E76F */ jal sub_GAME_7F0B9DBC -/* 0F2CA4 7F0BE174 00002825 */ move $a1, $zero -.L7F0BE178: -/* 0F2CA8 7F0BE178 00002025 */ move $a0, $zero -/* 0F2CAC 7F0BE17C 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2CB0 7F0BE180 24050800 */ li $a1, 2048 -/* 0F2CB4 7F0BE184 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2CB8 7F0BE188 24040001 */ li $a0, 1 -/* 0F2CBC 7F0BE18C 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2CC0 7F0BE190 24050800 */ li $a1, 2048 -/* 0F2CC4 7F0BE194 00507825 */ or $t7, $v0, $s0 -/* 0F2CC8 7F0BE198 11E00056 */ beqz $t7, .L7F0BE2F4 -/* 0F2CCC 7F0BE19C 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2CD0 7F0BE1A0 0FC2E6B9 */ jal sub_GAME_7F0B9AE4 -/* 0F2CD4 7F0BE1A4 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2CD8 7F0BE1A8 10400052 */ beqz $v0, .L7F0BE2F4 -/* 0F2CDC 7F0BE1AC 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2CE0 7F0BE1B0 24180001 */ li $t8, 1 -/* 0F2CE4 7F0BE1B4 AFB80020 */ sw $t8, 0x20($sp) -/* 0F2CE8 7F0BE1B8 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2CEC 7F0BE1BC 0FC2E76F */ jal sub_GAME_7F0B9DBC -/* 0F2CF0 7F0BE1C0 24050001 */ li $a1, 1 -/* 0F2CF4 7F0BE1C4 1000004C */ b .L7F0BE2F8 -/* 0F2CF8 7F0BE1C8 00001025 */ move $v0, $zero -.L7F0BE1CC: -/* 0F2CFC 7F0BE1CC 0C0030C3 */ jal get_controller_buttons_held -/* 0F2D00 7F0BE1D0 24050020 */ li $a1, 32 -/* 0F2D04 7F0BE1D4 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2D08 7F0BE1D8 24040001 */ li $a0, 1 -/* 0F2D0C 7F0BE1DC 0C0030C3 */ jal get_controller_buttons_held -/* 0F2D10 7F0BE1E0 24050020 */ li $a1, 32 -/* 0F2D14 7F0BE1E4 0050C825 */ or $t9, $v0, $s0 -/* 0F2D18 7F0BE1E8 13200027 */ beqz $t9, .L7F0BE288 -/* 0F2D1C 7F0BE1EC 00002025 */ move $a0, $zero -/* 0F2D20 7F0BE1F0 00002025 */ move $a0, $zero -/* 0F2D24 7F0BE1F4 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2D28 7F0BE1F8 24050400 */ li $a1, 1024 -/* 0F2D2C 7F0BE1FC 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2D30 7F0BE200 24040001 */ li $a0, 1 -/* 0F2D34 7F0BE204 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2D38 7F0BE208 24050400 */ li $a1, 1024 -/* 0F2D3C 7F0BE20C 00504025 */ or $t0, $v0, $s0 -/* 0F2D40 7F0BE210 11000009 */ beqz $t0, .L7F0BE238 -/* 0F2D44 7F0BE214 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2D48 7F0BE218 0FC2E6C1 */ jal sub_GAME_7F0B9B04 -/* 0F2D4C 7F0BE21C 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2D50 7F0BE220 10400005 */ beqz $v0, .L7F0BE238 -/* 0F2D54 7F0BE224 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2D58 7F0BE228 24090001 */ li $t1, 1 -/* 0F2D5C 7F0BE22C AFA90020 */ sw $t1, 0x20($sp) -/* 0F2D60 7F0BE230 0FC2E6D1 */ jal sub_GAME_7F0B9B44 -/* 0F2D64 7F0BE234 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -.L7F0BE238: -/* 0F2D68 7F0BE238 00002025 */ move $a0, $zero -/* 0F2D6C 7F0BE23C 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2D70 7F0BE240 24050800 */ li $a1, 2048 -/* 0F2D74 7F0BE244 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2D78 7F0BE248 24040001 */ li $a0, 1 -/* 0F2D7C 7F0BE24C 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2D80 7F0BE250 24050800 */ li $a1, 2048 -/* 0F2D84 7F0BE254 00505025 */ or $t2, $v0, $s0 -/* 0F2D88 7F0BE258 11400026 */ beqz $t2, .L7F0BE2F4 -/* 0F2D8C 7F0BE25C 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2D90 7F0BE260 0FC2E6C1 */ jal sub_GAME_7F0B9B04 -/* 0F2D94 7F0BE264 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2D98 7F0BE268 14400022 */ bnez $v0, .L7F0BE2F4 -/* 0F2D9C 7F0BE26C 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2DA0 7F0BE270 240B0001 */ li $t3, 1 -/* 0F2DA4 7F0BE274 AFAB0020 */ sw $t3, 0x20($sp) -/* 0F2DA8 7F0BE278 0FC2E6C9 */ jal sub_GAME_7F0B9B24 -/* 0F2DAC 7F0BE27C 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -/* 0F2DB0 7F0BE280 1000001D */ b .L7F0BE2F8 -/* 0F2DB4 7F0BE284 00001025 */ move $v0, $zero -.L7F0BE288: -/* 0F2DB8 7F0BE288 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2DBC 7F0BE28C 24050400 */ li $a1, 1024 -/* 0F2DC0 7F0BE290 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2DC4 7F0BE294 24040001 */ li $a0, 1 -/* 0F2DC8 7F0BE298 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2DCC 7F0BE29C 24050400 */ li $a1, 1024 -/* 0F2DD0 7F0BE2A0 00506025 */ or $t4, $v0, $s0 -/* 0F2DD4 7F0BE2A4 11800005 */ beqz $t4, .L7F0BE2BC -/* 0F2DD8 7F0BE2A8 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2DDC 7F0BE2AC 240D0001 */ li $t5, 1 -/* 0F2DE0 7F0BE2B0 AFAD0020 */ sw $t5, 0x20($sp) -/* 0F2DE4 7F0BE2B4 0FC2E69F */ jal sub_GAME_7F0B9A7C -/* 0F2DE8 7F0BE2B8 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -.L7F0BE2BC: -/* 0F2DEC 7F0BE2BC 00002025 */ move $a0, $zero -/* 0F2DF0 7F0BE2C0 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2DF4 7F0BE2C4 24050800 */ li $a1, 2048 -/* 0F2DF8 7F0BE2C8 3050FFFF */ andi $s0, $v0, 0xffff -/* 0F2DFC 7F0BE2CC 24040001 */ li $a0, 1 -/* 0F2E00 7F0BE2D0 0C0030EB */ jal get_controller_buttons_pressed -/* 0F2E04 7F0BE2D4 24050800 */ li $a1, 2048 -/* 0F2E08 7F0BE2D8 00507025 */ or $t6, $v0, $s0 -/* 0F2E0C 7F0BE2DC 11C00005 */ beqz $t6, .L7F0BE2F4 -/* 0F2E10 7F0BE2E0 3C048005 */ lui $a0, %hi(D_800483CC) -/* 0F2E14 7F0BE2E4 240F0001 */ li $t7, 1 -/* 0F2E18 7F0BE2E8 AFAF0020 */ sw $t7, 0x20($sp) -/* 0F2E1C 7F0BE2EC 0FC2E68B */ jal sub_GAME_7F0B9A2C -/* 0F2E20 7F0BE2F0 8C8483CC */ lw $a0, %lo(D_800483CC)($a0) -.L7F0BE2F4: -/* 0F2E24 7F0BE2F4 00001025 */ move $v0, $zero -.L7F0BE2F8: -/* 0F2E28 7F0BE2F8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F2E2C 7F0BE2FC 8FB00018 */ lw $s0, 0x18($sp) -/* 0F2E30 7F0BE300 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0F2E34 7F0BE304 03E00008 */ jr $ra -/* 0F2E38 7F0BE308 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BE30C(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BE30C -/* 0F2E3C 7F0BE30C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0F2E40 7F0BE310 AFA40060 */ sw $a0, 0x60($sp) -/* 0F2E44 7F0BE314 248F0008 */ addiu $t7, $a0, 8 -/* 0F2E48 7F0BE318 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F2E4C 7F0BE31C AFB10018 */ sw $s1, 0x18($sp) -/* 0F2E50 7F0BE320 AFB00014 */ sw $s0, 0x14($sp) -/* 0F2E54 7F0BE324 AFAF0060 */ sw $t7, 0x60($sp) -/* 0F2E58 7F0BE328 3C18BC00 */ lui $t8, (0xBC000006 >> 16) # lui $t8, 0xbc00 -/* 0F2E5C 7F0BE32C 37180006 */ ori $t8, (0xBC000006 & 0xFFFF) # ori $t8, $t8, 6 -/* 0F2E60 7F0BE330 AC980000 */ sw $t8, ($a0) -/* 0F2E64 7F0BE334 AC800004 */ sw $zero, 4($a0) -/* 0F2E68 7F0BE338 8FB00060 */ lw $s0, 0x60($sp) -/* 0F2E6C 7F0BE33C 3C0ABC00 */ lui $t2, (0xBC000406 >> 16) # lui $t2, 0xbc00 -/* 0F2E70 7F0BE340 354A0406 */ ori $t2, (0xBC000406 & 0xFFFF) # ori $t2, $t2, 0x406 -/* 0F2E74 7F0BE344 26090008 */ addiu $t1, $s0, 8 -/* 0F2E78 7F0BE348 AFA90060 */ sw $t1, 0x60($sp) -/* 0F2E7C 7F0BE34C 3C048009 */ lui $a0, %hi(ptr_jfont_DL) -/* 0F2E80 7F0BE350 AE0A0000 */ sw $t2, ($s0) -/* 0F2E84 7F0BE354 0C003A2C */ jal osVirtualToPhysical -/* 0F2E88 7F0BE358 8C84C260 */ lw $a0, %lo(ptr_jfont_DL)($a0) -/* 0F2E8C 7F0BE35C AE020004 */ sw $v0, 4($s0) -/* 0F2E90 7F0BE360 8FAB0060 */ lw $t3, 0x60($sp) -/* 0F2E94 7F0BE364 3C0D0100 */ lui $t5, 0x100 -/* 0F2E98 7F0BE368 3C050600 */ lui $a1, 0x600 -/* 0F2E9C 7F0BE36C 256C0008 */ addiu $t4, $t3, 8 -/* 0F2EA0 7F0BE370 AFAC0060 */ sw $t4, 0x60($sp) -/* 0F2EA4 7F0BE374 25AD0040 */ addiu $t5, $t5, 0x40 -/* 0F2EA8 7F0BE378 AD6D0004 */ sw $t5, 4($t3) -/* 0F2EAC 7F0BE37C AD650000 */ sw $a1, ($t3) -/* 0F2EB0 7F0BE380 8FAE0060 */ lw $t6, 0x60($sp) -/* 0F2EB4 7F0BE384 3C180100 */ lui $t8, 0x100 -/* 0F2EB8 7F0BE388 27180020 */ addiu $t8, $t8, 0x20 -/* 0F2EBC 7F0BE38C 25CF0008 */ addiu $t7, $t6, 8 -/* 0F2EC0 7F0BE390 AFAF0060 */ sw $t7, 0x60($sp) -/* 0F2EC4 7F0BE394 3C198005 */ lui $t9, %hi(current_stage_to_load) -/* 0F2EC8 7F0BE398 ADD80004 */ sw $t8, 4($t6) -/* 0F2ECC 7F0BE39C ADC50000 */ sw $a1, ($t6) -/* 0F2ED0 7F0BE3A0 8F398364 */ lw $t9, %lo(current_stage_to_load)($t9) -/* 0F2ED4 7F0BE3A4 2401005A */ li $at, 90 -/* 0F2ED8 7F0BE3A8 17210025 */ bne $t9, $at, .L7F0BE440 -/* 0F2EDC 7F0BE3AC 00000000 */ nop -/* 0F2EE0 7F0BE3B0 0C000FAD */ jal video_related_10 -/* 0F2EE4 7F0BE3B4 8FA40060 */ lw $a0, 0x60($sp) -/* 0F2EE8 7F0BE3B8 AFA20060 */ sw $v0, 0x60($sp) -/* 0F2EEC 7F0BE3BC 0C000F16 */ jal video_related_F -/* 0F2EF0 7F0BE3C0 00402025 */ move $a0, $v0 -/* 0F2EF4 7F0BE3C4 24490008 */ addiu $t1, $v0, 8 -/* 0F2EF8 7F0BE3C8 AFA90060 */ sw $t1, 0x60($sp) -/* 0F2EFC 7F0BE3CC 3C0AED00 */ lui $t2, 0xed00 -/* 0F2F00 7F0BE3D0 AC4A0000 */ sw $t2, ($v0) -/* 0F2F04 7F0BE3D4 0C001107 */ jal get_video2_settings_txtClipW -/* 0F2F08 7F0BE3D8 00408025 */ move $s0, $v0 -/* 0F2F0C 7F0BE3DC 0C00110B */ jal get_video2_settings_txtClipH -/* 0F2F10 7F0BE3E0 A7A20022 */ sh $v0, 0x22($sp) -/* 0F2F14 7F0BE3E4 87B10022 */ lh $s1, 0x22($sp) -/* 0F2F18 7F0BE3E8 44822000 */ mtc1 $v0, $f4 -/* 0F2F1C 7F0BE3EC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0F2F20 7F0BE3F0 44918000 */ mtc1 $s1, $f16 -/* 0F2F24 7F0BE3F4 468021A0 */ cvt.s.w $f6, $f4 -/* 0F2F28 7F0BE3F8 44810000 */ mtc1 $at, $f0 -/* 0F2F2C 7F0BE3FC 468084A0 */ cvt.s.w $f18, $f16 -/* 0F2F30 7F0BE400 46003202 */ mul.s $f8, $f6, $f0 -/* 0F2F34 7F0BE404 00000000 */ nop -/* 0F2F38 7F0BE408 46009102 */ mul.s $f4, $f18, $f0 -/* 0F2F3C 7F0BE40C 4600428D */ trunc.w.s $f10, $f8 -/* 0F2F40 7F0BE410 4600218D */ trunc.w.s $f6, $f4 -/* 0F2F44 7F0BE414 440C5000 */ mfc1 $t4, $f10 -/* 0F2F48 7F0BE418 440F3000 */ mfc1 $t7, $f6 -/* 0F2F4C 7F0BE41C 318D0FFF */ andi $t5, $t4, 0xfff -/* 0F2F50 7F0BE420 31F80FFF */ andi $t8, $t7, 0xfff -/* 0F2F54 7F0BE424 0018CB00 */ sll $t9, $t8, 0xc -/* 0F2F58 7F0BE428 01B94825 */ or $t1, $t5, $t9 -/* 0F2F5C 7F0BE42C AE090004 */ sw $t1, 4($s0) -/* 0F2F60 7F0BE430 0FC06BBF */ jal menu_jump_constructor_handler -/* 0F2F64 7F0BE434 8FA40060 */ lw $a0, 0x60($sp) -/* 0F2F68 7F0BE438 10000102 */ b .L7F0BE844 -/* 0F2F6C 7F0BE43C AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE440: -/* 0F2F70 7F0BE440 0FC26919 */ jal get_num_players -/* 0F2F74 7F0BE444 00000000 */ nop -/* 0F2F78 7F0BE448 8FAA0060 */ lw $t2, 0x60($sp) -/* 0F2F7C 7F0BE44C AFA20044 */ sw $v0, 0x44($sp) -/* 0F2F80 7F0BE450 3C0CBC00 */ lui $t4, (0xBC000404 >> 16) # lui $t4, 0xbc00 -/* 0F2F84 7F0BE454 254B0008 */ addiu $t3, $t2, 8 -/* 0F2F88 7F0BE458 AFAB0060 */ sw $t3, 0x60($sp) -/* 0F2F8C 7F0BE45C 24070002 */ li $a3, 2 -/* 0F2F90 7F0BE460 358C0404 */ ori $t4, (0xBC000404 & 0xFFFF) # ori $t4, $t4, 0x404 -/* 0F2F94 7F0BE464 AD4C0000 */ sw $t4, ($t2) -/* 0F2F98 7F0BE468 AD470004 */ sw $a3, 4($t2) -/* 0F2F9C 7F0BE46C 8FAE0060 */ lw $t6, 0x60($sp) -/* 0F2FA0 7F0BE470 3C18BC00 */ lui $t8, (0xBC000C04 >> 16) # lui $t8, 0xbc00 -/* 0F2FA4 7F0BE474 37180C04 */ ori $t8, (0xBC000C04 & 0xFFFF) # ori $t8, $t8, 0xc04 -/* 0F2FA8 7F0BE478 25CF0008 */ addiu $t7, $t6, 8 -/* 0F2FAC 7F0BE47C AFAF0060 */ sw $t7, 0x60($sp) -/* 0F2FB0 7F0BE480 ADC70004 */ sw $a3, 4($t6) -/* 0F2FB4 7F0BE484 ADD80000 */ sw $t8, ($t6) -/* 0F2FB8 7F0BE488 8FAD0060 */ lw $t5, 0x60($sp) -/* 0F2FBC 7F0BE48C 3C09BC00 */ lui $t1, (0xBC001404 >> 16) # lui $t1, 0xbc00 -/* 0F2FC0 7F0BE490 3408FFFE */ li $t0, 65534 -/* 0F2FC4 7F0BE494 25B90008 */ addiu $t9, $t5, 8 -/* 0F2FC8 7F0BE498 AFB90060 */ sw $t9, 0x60($sp) -/* 0F2FCC 7F0BE49C 35291404 */ ori $t1, (0xBC001404 & 0xFFFF) # ori $t1, $t1, 0x1404 -/* 0F2FD0 7F0BE4A0 ADA90000 */ sw $t1, ($t5) -/* 0F2FD4 7F0BE4A4 ADA80004 */ sw $t0, 4($t5) -/* 0F2FD8 7F0BE4A8 8FAA0060 */ lw $t2, 0x60($sp) -/* 0F2FDC 7F0BE4AC 3C0CBC00 */ lui $t4, (0xBC001C04 >> 16) # lui $t4, 0xbc00 -/* 0F2FE0 7F0BE4B0 358C1C04 */ ori $t4, (0xBC001C04 & 0xFFFF) # ori $t4, $t4, 0x1c04 -/* 0F2FE4 7F0BE4B4 254B0008 */ addiu $t3, $t2, 8 -/* 0F2FE8 7F0BE4B8 AFAB0060 */ sw $t3, 0x60($sp) -/* 0F2FEC 7F0BE4BC 00008825 */ move $s1, $zero -/* 0F2FF0 7F0BE4C0 AD480004 */ sw $t0, 4($t2) -/* 0F2FF4 7F0BE4C4 184000DF */ blez $v0, .L7F0BE844 -/* 0F2FF8 7F0BE4C8 AD4C0000 */ sw $t4, ($t2) -/* 0F2FFC 7F0BE4CC 3C108008 */ lui $s0, %hi(pPlayer) -/* 0F3000 7F0BE4D0 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -.L7F0BE4D4: -/* 0F3004 7F0BE4D4 0FC26D4A */ jal sub_GAME_7F09B528 -/* 0F3008 7F0BE4D8 02202025 */ move $a0, $s1 -/* 0F300C 7F0BE4DC 0FC26C43 */ jal set_cur_player -/* 0F3010 7F0BE4E0 00402025 */ move $a0, $v0 -/* 0F3014 7F0BE4E4 8E020000 */ lw $v0, ($s0) -/* 0F3018 7F0BE4E8 844407F0 */ lh $a0, 0x7f0($v0) -/* 0F301C 7F0BE4EC 0C00110F */ jal set_video2_width_height -/* 0F3020 7F0BE4F0 844507F2 */ lh $a1, 0x7f2($v0) -/* 0F3024 7F0BE4F4 8E020000 */ lw $v0, ($s0) -/* 0F3028 7F0BE4F8 844407F4 */ lh $a0, 0x7f4($v0) -/* 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 setvideo_far -/* 0F303C 7F0BE50C C5CC11D0 */ lwc1 $f12, 0x11d0($t6) -/* 0F3040 7F0BE510 8E0F0000 */ lw $t7, ($s0) -/* 0F3044 7F0BE514 0C001164 */ jal video_related_21 -/* 0F3048 7F0BE518 C5EC11D4 */ lwc1 $f12, 0x11d4($t7) -/* 0F304C 7F0BE51C 0C000FAD */ jal video_related_10 -/* 0F3050 7F0BE520 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3054 7F0BE524 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3058 7F0BE528 0C000F16 */ jal video_related_F -/* 0F305C 7F0BE52C 00402025 */ move $a0, $v0 -/* 0F3060 7F0BE530 0FC243BF */ jal get_debug_render_raster -/* 0F3064 7F0BE534 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3068 7F0BE538 14400004 */ bnez $v0, .L7F0BE54C -/* 0F306C 7F0BE53C 00000000 */ nop -/* 0F3070 7F0BE540 0FC24560 */ jal sub_GAME_7F091580 -/* 0F3074 7F0BE544 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3078 7F0BE548 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE54C: -/* 0F307C 7F0BE54C 0FC243BF */ jal get_debug_render_raster -/* 0F3080 7F0BE550 00000000 */ nop -/* 0F3084 7F0BE554 24010001 */ li $at, 1 -/* 0F3088 7F0BE558 14410004 */ bne $v0, $at, .L7F0BE56C -/* 0F308C 7F0BE55C 00000000 */ nop -/* 0F3090 7F0BE560 0FC2CB52 */ jal sub_GAME_7F0B2D48 -/* 0F3094 7F0BE564 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3098 7F0BE568 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE56C: -/* 0F309C 7F0BE56C 0FC243BF */ jal get_debug_render_raster -/* 0F30A0 7F0BE570 00000000 */ nop -/* 0F30A4 7F0BE574 24010002 */ li $at, 2 -/* 0F30A8 7F0BE578 14410004 */ bne $v0, $at, .L7F0BE58C -/* 0F30AC 7F0BE57C 00000000 */ nop -/* 0F30B0 7F0BE580 0FC21E82 */ jal sub_GAME_7F087A08 -/* 0F30B4 7F0BE584 8FA40060 */ lw $a0, 0x60($sp) -/* 0F30B8 7F0BE588 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE58C: -/* 0F30BC 7F0BE58C 0C000FD9 */ jal setupscreensfornumplayers -/* 0F30C0 7F0BE590 8FA40060 */ lw $a0, 0x60($sp) -/* 0F30C4 7F0BE594 AFA20060 */ sw $v0, 0x60($sp) -/* 0F30C8 7F0BE598 0FC25122 */ jal sub_GAME_7F094488 -/* 0F30CC 7F0BE59C 00402025 */ move $a0, $v0 -/* 0F30D0 7F0BE5A0 0FC2D221 */ jal sub_GAME_7F0B4884 -/* 0F30D4 7F0BE5A4 AFA20060 */ sw $v0, 0x60($sp) -/* 0F30D8 7F0BE5A8 0FC0F28C */ jal determing_type_of_object_and_detection -/* 0F30DC 7F0BE5AC 00000000 */ nop -/* 0F30E0 7F0BE5B0 0FC0E890 */ jal sub_GAME_7F03A240 -/* 0F30E4 7F0BE5B4 00000000 */ nop -/* 0F30E8 7F0BE5B8 0FC0F5E3 */ jal sub_GAME_7F03D78C -/* 0F30EC 7F0BE5BC 00000000 */ nop -/* 0F30F0 7F0BE5C0 0FC0F0A5 */ jal sub_GAME_7F03C294 -/* 0F30F4 7F0BE5C4 00000000 */ nop -/* 0F30F8 7F0BE5C8 0FC227CE */ jal sub_GAME_7F089F38 -/* 0F30FC 7F0BE5CC 00000000 */ nop -/* 0F3100 7F0BE5D0 10400009 */ beqz $v0, .L7F0BE5F8 -/* 0F3104 7F0BE5D4 00000000 */ nop -/* 0F3108 7F0BE5D8 0FC0F13C */ jal sub_GAME_7F03C4F0 -/* 0F310C 7F0BE5DC 00000000 */ nop -/* 0F3110 7F0BE5E0 10400005 */ beqz $v0, .L7F0BE5F8 -/* 0F3114 7F0BE5E4 00000000 */ nop -/* 0F3118 7F0BE5E8 0FC17659 */ jal attempt_reload_item_in_hand -/* 0F311C 7F0BE5EC 00002025 */ move $a0, $zero -/* 0F3120 7F0BE5F0 0FC17659 */ jal attempt_reload_item_in_hand -/* 0F3124 7F0BE5F4 24040001 */ li $a0, 1 -.L7F0BE5F8: -/* 0F3128 7F0BE5F8 0FC0F435 */ jal sub_GAME_7F03D0D4 -/* 0F312C 7F0BE5FC 00000000 */ nop -/* 0F3130 7F0BE600 0FC2D390 */ jal sub_GAME_7F0B4E40 -/* 0F3134 7F0BE604 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3138 7F0BE608 0FC2440F */ jal get_debug_portal_flag -/* 0F313C 7F0BE60C AFA20060 */ sw $v0, 0x60($sp) -/* 0F3140 7F0BE610 10400004 */ beqz $v0, .L7F0BE624 -/* 0F3144 7F0BE614 00000000 */ nop -/* 0F3148 7F0BE618 0FC2F7C4 */ jal sub_GAME_7F0BDF10 -/* 0F314C 7F0BE61C 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3150 7F0BE620 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE624: -/* 0F3154 7F0BE624 0FC243DC */ jal get_turbo_mode_flag -/* 0F3158 7F0BE628 00000000 */ nop -/* 0F315C 7F0BE62C 10400004 */ beqz $v0, .L7F0BE640 -/* 0F3160 7F0BE630 00000000 */ nop -/* 0F3164 7F0BE634 0FC2CC0F */ jal sub_GAME_7F0B303C -/* 0F3168 7F0BE638 8FA40060 */ lw $a0, 0x60($sp) -/* 0F316C 7F0BE63C AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE640: -/* 0F3170 7F0BE640 0FC243D6 */ jal get_debug_stanhit_flag -/* 0F3174 7F0BE644 00000000 */ nop -/* 0F3178 7F0BE648 10400007 */ beqz $v0, .L7F0BE668 -/* 0F317C 7F0BE64C 00000000 */ nop -/* 0F3180 7F0BE650 0FC2CC0D */ jal sub_GAME_7F0B3034 -/* 0F3184 7F0BE654 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3188 7F0BE658 AFA20060 */ sw $v0, 0x60($sp) -/* 0F318C 7F0BE65C 0FC225B0 */ jal write_stan_tiles_in_yellow -/* 0F3190 7F0BE660 00402025 */ move $a0, $v0 -/* 0F3194 7F0BE664 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE668: -/* 0F3198 7F0BE668 0FC243D9 */ jal get_debug_stanregion_flag -/* 0F319C 7F0BE66C 00000000 */ nop -/* 0F31A0 7F0BE670 10400008 */ beqz $v0, .L7F0BE694 -/* 0F31A4 7F0BE674 00000000 */ nop -/* 0F31A8 7F0BE678 0FC2CC0D */ jal sub_GAME_7F0B3034 -/* 0F31AC 7F0BE67C 8FA40060 */ lw $a0, 0x60($sp) -/* 0F31B0 7F0BE680 AFA20060 */ sw $v0, 0x60($sp) -/* 0F31B4 7F0BE684 00402025 */ move $a0, $v0 -/* 0F31B8 7F0BE688 0FC2CC4B */ jal sub_GAME_7F0B312C -/* 0F31BC 7F0BE68C 24058040 */ li $a1, -32704 -/* 0F31C0 7F0BE690 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE694: -/* 0F31C4 7F0BE694 3C058006 */ lui $a1, %hi(aStanshow_) -/* 0F31C8 7F0BE698 24A5B6BC */ addiu $a1, %lo(aStanshow_) # addiu $a1, $a1, -0x4944 -/* 0F31CC 7F0BE69C 0C0029A8 */ jal check_token -/* 0F31D0 7F0BE6A0 24040001 */ li $a0, 1 -/* 0F31D4 7F0BE6A4 10400011 */ beqz $v0, .L7F0BE6EC -/* 0F31D8 7F0BE6A8 24040001 */ li $a0, 1 -/* 0F31DC 7F0BE6AC 3C058006 */ lui $a1, %hi(aStanshow__5) -/* 0F31E0 7F0BE6B0 0C0029A8 */ jal check_token -/* 0F31E4 7F0BE6B4 24A5B6C8 */ addiu $a1, %lo(aStanshow__5) # addiu $a1, $a1, -0x4938 -/* 0F31E8 7F0BE6B8 0FC2CB96 */ jal stanMatchTileName -/* 0F31EC 7F0BE6BC 00402025 */ move $a0, $v0 -/* 0F31F0 7F0BE6C0 1040000A */ beqz $v0, .L7F0BE6EC -/* 0F31F4 7F0BE6C4 8FA40060 */ lw $a0, 0x60($sp) -/* 0F31F8 7F0BE6C8 0FC2CC0D */ jal sub_GAME_7F0B3034 -/* 0F31FC 7F0BE6CC AFA20030 */ sw $v0, 0x30($sp) -/* 0F3200 7F0BE6D0 3C06FF00 */ lui $a2, (0xFF0000FF >> 16) # lui $a2, 0xff00 -/* 0F3204 7F0BE6D4 8FA50030 */ lw $a1, 0x30($sp) -/* 0F3208 7F0BE6D8 AFA20060 */ sw $v0, 0x60($sp) -/* 0F320C 7F0BE6DC 34C600FF */ ori $a2, (0xFF0000FF & 0xFFFF) # ori $a2, $a2, 0xff -/* 0F3210 7F0BE6E0 0FC2CC09 */ jal sub_GAME_7F0B3024 -/* 0F3214 7F0BE6E4 00402025 */ move $a0, $v0 -/* 0F3218 7F0BE6E8 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE6EC: -/* 0F321C 7F0BE6EC 3C058006 */ lui $a1, %hi(aStanshow__0) -/* 0F3220 7F0BE6F0 24A5B6D4 */ addiu $a1, %lo(aStanshow__0) # addiu $a1, $a1, -0x492c -/* 0F3224 7F0BE6F4 0C0029A8 */ jal check_token -/* 0F3228 7F0BE6F8 24040002 */ li $a0, 2 -/* 0F322C 7F0BE6FC 10400011 */ beqz $v0, .L7F0BE744 -/* 0F3230 7F0BE700 24040002 */ li $a0, 2 -/* 0F3234 7F0BE704 3C058006 */ lui $a1, %hi(aStanshow__1) -/* 0F3238 7F0BE708 0C0029A8 */ jal check_token -/* 0F323C 7F0BE70C 24A5B6E0 */ addiu $a1, %lo(aStanshow__1) # addiu $a1, $a1, -0x4920 -/* 0F3240 7F0BE710 0FC2CB96 */ jal stanMatchTileName -/* 0F3244 7F0BE714 00402025 */ move $a0, $v0 -/* 0F3248 7F0BE718 1040000A */ beqz $v0, .L7F0BE744 -/* 0F324C 7F0BE71C 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3250 7F0BE720 0FC2CC0D */ jal sub_GAME_7F0B3034 -/* 0F3254 7F0BE724 AFA2002C */ sw $v0, 0x2c($sp) -/* 0F3258 7F0BE728 3C0600FF */ lui $a2, (0x00FF00FF >> 16) # lui $a2, 0xff -/* 0F325C 7F0BE72C 8FA5002C */ lw $a1, 0x2c($sp) -/* 0F3260 7F0BE730 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3264 7F0BE734 34C600FF */ ori $a2, (0x00FF00FF & 0xFFFF) # ori $a2, $a2, 0xff -/* 0F3268 7F0BE738 0FC2CC09 */ jal sub_GAME_7F0B3024 -/* 0F326C 7F0BE73C 00402025 */ move $a0, $v0 -/* 0F3270 7F0BE740 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE744: -/* 0F3274 7F0BE744 3C058006 */ lui $a1, %hi(aStanshow__2) -/* 0F3278 7F0BE748 24A5B6EC */ addiu $a1, %lo(aStanshow__2) # addiu $a1, $a1, -0x4914 -/* 0F327C 7F0BE74C 0C0029A8 */ jal check_token -/* 0F3280 7F0BE750 24040003 */ li $a0, 3 -/* 0F3284 7F0BE754 10400010 */ beqz $v0, .L7F0BE798 -/* 0F3288 7F0BE758 24040003 */ li $a0, 3 -/* 0F328C 7F0BE75C 3C058006 */ lui $a1, %hi(aStanshow__3) -/* 0F3290 7F0BE760 0C0029A8 */ jal check_token -/* 0F3294 7F0BE764 24A5B6F8 */ addiu $a1, %lo(aStanshow__3) # addiu $a1, $a1, -0x4908 -/* 0F3298 7F0BE768 0FC2CB96 */ jal stanMatchTileName -/* 0F329C 7F0BE76C 00402025 */ move $a0, $v0 -/* 0F32A0 7F0BE770 10400009 */ beqz $v0, .L7F0BE798 -/* 0F32A4 7F0BE774 8FA40060 */ lw $a0, 0x60($sp) -/* 0F32A8 7F0BE778 0FC2CC0D */ jal sub_GAME_7F0B3034 -/* 0F32AC 7F0BE77C AFA20028 */ sw $v0, 0x28($sp) -/* 0F32B0 7F0BE780 8FA50028 */ lw $a1, 0x28($sp) -/* 0F32B4 7F0BE784 AFA20060 */ sw $v0, 0x60($sp) -/* 0F32B8 7F0BE788 00402025 */ move $a0, $v0 -/* 0F32BC 7F0BE78C 0FC2CC09 */ jal sub_GAME_7F0B3024 -/* 0F32C0 7F0BE790 3406FFFF */ li $a2, 65535 -/* 0F32C4 7F0BE794 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE798: -/* 0F32C8 7F0BE798 0FC243C5 */ jal get_debug_limit_controller_input -/* 0F32CC 7F0BE79C 00000000 */ nop -/* 0F32D0 7F0BE7A0 38440008 */ xori $a0, $v0, 8 -/* 0F32D4 7F0BE7A4 0FC08B89 */ jal sub_GAME_7F022E24 -/* 0F32D8 7F0BE7A8 2C840001 */ sltiu $a0, $a0, 1 -/* 0F32DC 7F0BE7AC 0FC126D6 */ jal sub_GAME_7F049B58 -/* 0F32E0 7F0BE7B0 8FA40060 */ lw $a0, 0x60($sp) -/* 0F32E4 7F0BE7B4 AFA20060 */ sw $v0, 0x60($sp) -/* 0F32E8 7F0BE7B8 27A40060 */ addiu $a0, $sp, 0x60 -/* 0F32EC 7F0BE7BC 0FC29209 */ jal sub_GAME_7F0A4824 -/* 0F32F0 7F0BE7C0 24050001 */ li $a1, 1 -/* 0F32F4 7F0BE7C4 0FC28B11 */ jal sub_GAME_7F0A2C44 -/* 0F32F8 7F0BE7C8 8FA40060 */ lw $a0, 0x60($sp) -/* 0F32FC 7F0BE7CC AFA20060 */ sw $v0, 0x60($sp) -/* 0F3300 7F0BE7D0 0FC2800D */ jal sub_GAME_7F0A0034 -/* 0F3304 7F0BE7D4 00402025 */ move $a0, $v0 -/* 0F3308 7F0BE7D8 AFA20060 */ sw $v0, 0x60($sp) -/* 0F330C 7F0BE7DC 0FC249EF */ jal cheatCheckIfOn -/* 0F3310 7F0BE7E0 2404000B */ li $a0, 11 -/* 0F3314 7F0BE7E4 10400003 */ beqz $v0, .L7F0BE7F4 -/* 0F3318 7F0BE7E8 00000000 */ nop -/* 0F331C 7F0BE7EC 0FC1A4BC */ jal set_max_ammo_for_cur_player -/* 0F3320 7F0BE7F0 00000000 */ nop -.L7F0BE7F4: -/* 0F3324 7F0BE7F4 0FC243BF */ jal get_debug_render_raster -/* 0F3328 7F0BE7F8 00000000 */ nop -/* 0F332C 7F0BE7FC 24010002 */ li $at, 2 -/* 0F3330 7F0BE800 14410005 */ bne $v0, $at, .L7F0BE818 -/* 0F3334 7F0BE804 00000000 */ nop -/* 0F3338 7F0BE808 0FC22482 */ jal maybe_mp_interface -/* 0F333C 7F0BE80C 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3340 7F0BE810 10000004 */ b .L7F0BE824 -/* 0F3344 7F0BE814 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE818: -/* 0F3348 7F0BE818 0FC22F2E */ jal sub_GAME_7F08BCB8 -/* 0F334C 7F0BE81C 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3350 7F0BE820 AFA20060 */ sw $v0, 0x60($sp) -.L7F0BE824: -/* 0F3354 7F0BE824 0FC31009 */ jal mp_watch_menu_display -/* 0F3358 7F0BE828 8FA40060 */ lw $a0, 0x60($sp) -/* 0F335C 7F0BE82C 8FB80044 */ lw $t8, 0x44($sp) -/* 0F3360 7F0BE830 26310001 */ addiu $s1, $s1, 1 -/* 0F3364 7F0BE834 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3368 7F0BE838 0238082A */ slt $at, $s1, $t8 -/* 0F336C 7F0BE83C 1420FF25 */ bnez $at, .L7F0BE4D4 -/* 0F3370 7F0BE840 00000000 */ nop -.L7F0BE844: -/* 0F3374 7F0BE844 8FB00060 */ lw $s0, 0x60($sp) -/* 0F3378 7F0BE848 3C09ED00 */ lui $t1, 0xed00 -/* 0F337C 7F0BE84C 26190008 */ addiu $t9, $s0, 8 -/* 0F3380 7F0BE850 AFB90060 */ sw $t9, 0x60($sp) -/* 0F3384 7F0BE854 0C001107 */ jal get_video2_settings_txtClipW -/* 0F3388 7F0BE858 AE090000 */ sw $t1, ($s0) -/* 0F338C 7F0BE85C 00028C00 */ sll $s1, $v0, 0x10 -/* 0F3390 7F0BE860 00115403 */ sra $t2, $s1, 0x10 -/* 0F3394 7F0BE864 0C00110B */ jal get_video2_settings_txtClipH -/* 0F3398 7F0BE868 01408825 */ move $s1, $t2 -/* 0F339C 7F0BE86C 44824000 */ mtc1 $v0, $f8 -/* 0F33A0 7F0BE870 44913000 */ mtc1 $s1, $f6 -/* 0F33A4 7F0BE874 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0F33A8 7F0BE878 468042A0 */ cvt.s.w $f10, $f8 -/* 0F33AC 7F0BE87C 44818000 */ mtc1 $at, $f16 -/* 0F33B0 7F0BE880 46803220 */ cvt.s.w $f8, $f6 -/* 0F33B4 7F0BE884 46105482 */ mul.s $f18, $f10, $f16 -/* 0F33B8 7F0BE888 44815000 */ mtc1 $at, $f10 -/* 0F33BC 7F0BE88C 00000000 */ nop -/* 0F33C0 7F0BE890 460A4402 */ mul.s $f16, $f8, $f10 -/* 0F33C4 7F0BE894 4600910D */ trunc.w.s $f4, $f18 -/* 0F33C8 7F0BE898 4600848D */ trunc.w.s $f18, $f16 -/* 0F33CC 7F0BE89C 440C2000 */ mfc1 $t4, $f4 -/* 0F33D0 7F0BE8A0 44189000 */ mfc1 $t8, $f18 -/* 0F33D4 7F0BE8A4 318E0FFF */ andi $t6, $t4, 0xfff -/* 0F33D8 7F0BE8A8 330D0FFF */ andi $t5, $t8, 0xfff -/* 0F33DC 7F0BE8AC 000DCB00 */ sll $t9, $t5, 0xc -/* 0F33E0 7F0BE8B0 01D94825 */ or $t1, $t6, $t9 -/* 0F33E4 7F0BE8B4 AE090004 */ sw $t1, 4($s0) -/* 0F33E8 7F0BE8B8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F33EC 7F0BE8BC 8FB10018 */ lw $s1, 0x18($sp) -/* 0F33F0 7F0BE8C0 8FB00014 */ lw $s0, 0x14($sp) -/* 0F33F4 7F0BE8C4 8FA20060 */ lw $v0, 0x60($sp) -/* 0F33F8 7F0BE8C8 03E00008 */ jr $ra -/* 0F33FC 7F0BE8CC 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BE30C -/* 0F3A3C 7F0BEECC 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0F3A40 7F0BEED0 AFA40060 */ sw $a0, 0x60($sp) -/* 0F3A44 7F0BEED4 248F0008 */ addiu $t7, $a0, 8 -/* 0F3A48 7F0BEED8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F3A4C 7F0BEEDC AFB10018 */ sw $s1, 0x18($sp) -/* 0F3A50 7F0BEEE0 AFB00014 */ sw $s0, 0x14($sp) -/* 0F3A54 7F0BEEE4 AFAF0060 */ sw $t7, 0x60($sp) -/* 0F3A58 7F0BEEE8 3C18BC00 */ lui $t8, (0xBC000006 >> 16) # lui $t8, 0xbc00 -/* 0F3A5C 7F0BEEEC 37180006 */ ori $t8, (0xBC000006 & 0xFFFF) # ori $t8, $t8, 6 -/* 0F3A60 7F0BEEF0 AC980000 */ sw $t8, ($a0) -/* 0F3A64 7F0BEEF4 AC800004 */ sw $zero, 4($a0) -/* 0F3A68 7F0BEEF8 8FB00060 */ lw $s0, 0x60($sp) -/* 0F3A6C 7F0BEEFC 3C0ABC00 */ lui $t2, (0xBC000406 >> 16) # lui $t2, 0xbc00 -/* 0F3A70 7F0BEF00 354A0406 */ ori $t2, (0xBC000406 & 0xFFFF) # ori $t2, $t2, 0x406 -/* 0F3A74 7F0BEF04 26090008 */ addiu $t1, $s0, 8 -/* 0F3A78 7F0BEF08 AFA90060 */ sw $t1, 0x60($sp) -/* 0F3A7C 7F0BEF0C 3C048009 */ lui $a0, %hi(ptr_jfont_DL) # $a0, 0x8009 -/* 0F3A80 7F0BEF10 AE0A0000 */ sw $t2, ($s0) -/* 0F3A84 7F0BEF14 0C003A3C */ jal osVirtualToPhysical -/* 0F3A88 7F0BEF18 8C84C2D0 */ lw $a0, %lo(ptr_jfont_DL)($a0) -/* 0F3A8C 7F0BEF1C AE020004 */ sw $v0, 4($s0) -/* 0F3A90 7F0BEF20 8FAB0060 */ lw $t3, 0x60($sp) -/* 0F3A94 7F0BEF24 3C0D0100 */ lui $t5, 0x100 -/* 0F3A98 7F0BEF28 3C050600 */ lui $a1, 0x600 -/* 0F3A9C 7F0BEF2C 256C0008 */ addiu $t4, $t3, 8 -/* 0F3AA0 7F0BEF30 AFAC0060 */ sw $t4, 0x60($sp) -/* 0F3AA4 7F0BEF34 25AD0040 */ addiu $t5, $t5, 0x40 -/* 0F3AA8 7F0BEF38 AD6D0004 */ sw $t5, 4($t3) -/* 0F3AAC 7F0BEF3C AD650000 */ sw $a1, ($t3) -/* 0F3AB0 7F0BEF40 8FAE0060 */ lw $t6, 0x60($sp) -/* 0F3AB4 7F0BEF44 3C180100 */ lui $t8, 0x100 -/* 0F3AB8 7F0BEF48 27180020 */ addiu $t8, $t8, 0x20 -/* 0F3ABC 7F0BEF4C 25CF0008 */ addiu $t7, $t6, 8 -/* 0F3AC0 7F0BEF50 AFAF0060 */ sw $t7, 0x60($sp) -/* 0F3AC4 7F0BEF54 3C198005 */ lui $t9, %hi(current_stage_to_load) # $t9, 0x8005 -/* 0F3AC8 7F0BEF58 ADD80004 */ sw $t8, 4($t6) -/* 0F3ACC 7F0BEF5C ADC50000 */ sw $a1, ($t6) -/* 0F3AD0 7F0BEF60 8F398394 */ lw $t9, %lo(current_stage_to_load)($t9) -/* 0F3AD4 7F0BEF64 2401005A */ li $at, 90 -/* 0F3AD8 7F0BEF68 17210025 */ bne $t9, $at, .Ljp7F0BF000 -/* 0F3ADC 7F0BEF6C 00000000 */ nop -/* 0F3AE0 7F0BEF70 0C000FAD */ jal video_related_10 -/* 0F3AE4 7F0BEF74 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3AE8 7F0BEF78 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3AEC 7F0BEF7C 0C000F16 */ jal video_related_F -/* 0F3AF0 7F0BEF80 00402025 */ move $a0, $v0 -/* 0F3AF4 7F0BEF84 24490008 */ addiu $t1, $v0, 8 -/* 0F3AF8 7F0BEF88 AFA90060 */ sw $t1, 0x60($sp) -/* 0F3AFC 7F0BEF8C 3C0AED00 */ lui $t2, 0xed00 -/* 0F3B00 7F0BEF90 AC4A0000 */ sw $t2, ($v0) -/* 0F3B04 7F0BEF94 0C001107 */ jal get_video2_settings_txtClipW -/* 0F3B08 7F0BEF98 00408025 */ move $s0, $v0 -/* 0F3B0C 7F0BEF9C 0C00110B */ jal get_video2_settings_txtClipH -/* 0F3B10 7F0BEFA0 A7A20022 */ sh $v0, 0x22($sp) -/* 0F3B14 7F0BEFA4 87B10022 */ lh $s1, 0x22($sp) -/* 0F3B18 7F0BEFA8 44822000 */ mtc1 $v0, $f4 -/* 0F3B1C 7F0BEFAC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0F3B20 7F0BEFB0 44918000 */ mtc1 $s1, $f16 -/* 0F3B24 7F0BEFB4 468021A0 */ cvt.s.w $f6, $f4 -/* 0F3B28 7F0BEFB8 44810000 */ mtc1 $at, $f0 -/* 0F3B2C 7F0BEFBC 468084A0 */ cvt.s.w $f18, $f16 -/* 0F3B30 7F0BEFC0 46003202 */ mul.s $f8, $f6, $f0 -/* 0F3B34 7F0BEFC4 00000000 */ nop -/* 0F3B38 7F0BEFC8 46009102 */ mul.s $f4, $f18, $f0 -/* 0F3B3C 7F0BEFCC 4600428D */ trunc.w.s $f10, $f8 -/* 0F3B40 7F0BEFD0 4600218D */ trunc.w.s $f6, $f4 -/* 0F3B44 7F0BEFD4 440C5000 */ mfc1 $t4, $f10 -/* 0F3B48 7F0BEFD8 440F3000 */ mfc1 $t7, $f6 -/* 0F3B4C 7F0BEFDC 318D0FFF */ andi $t5, $t4, 0xfff -/* 0F3B50 7F0BEFE0 31F80FFF */ andi $t8, $t7, 0xfff -/* 0F3B54 7F0BEFE4 0018CB00 */ sll $t9, $t8, 0xc -/* 0F3B58 7F0BEFE8 01B94825 */ or $t1, $t5, $t9 -/* 0F3B5C 7F0BEFEC AE090004 */ sw $t1, 4($s0) -/* 0F3B60 7F0BEFF0 0FC06C2C */ jal menu_jump_constructor_handler -/* 0F3B64 7F0BEFF4 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3B68 7F0BEFF8 1000010B */ b .Ljp7F0BF428 -/* 0F3B6C 7F0BEFFC AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF000: -/* 0F3B70 7F0BF000 0FC26C01 */ jal get_num_players -/* 0F3B74 7F0BF004 00000000 */ nop -/* 0F3B78 7F0BF008 8FAA0060 */ lw $t2, 0x60($sp) -/* 0F3B7C 7F0BF00C AFA20044 */ sw $v0, 0x44($sp) -/* 0F3B80 7F0BF010 3C0CBC00 */ lui $t4, (0xBC000404 >> 16) # lui $t4, 0xbc00 -/* 0F3B84 7F0BF014 254B0008 */ addiu $t3, $t2, 8 -/* 0F3B88 7F0BF018 AFAB0060 */ sw $t3, 0x60($sp) -/* 0F3B8C 7F0BF01C 24070002 */ li $a3, 2 -/* 0F3B90 7F0BF020 358C0404 */ ori $t4, (0xBC000404 & 0xFFFF) # ori $t4, $t4, 0x404 -/* 0F3B94 7F0BF024 AD4C0000 */ sw $t4, ($t2) -/* 0F3B98 7F0BF028 AD470004 */ sw $a3, 4($t2) -/* 0F3B9C 7F0BF02C 8FAE0060 */ lw $t6, 0x60($sp) -/* 0F3BA0 7F0BF030 3C18BC00 */ lui $t8, (0xBC000C04 >> 16) # lui $t8, 0xbc00 -/* 0F3BA4 7F0BF034 37180C04 */ ori $t8, (0xBC000C04 & 0xFFFF) # ori $t8, $t8, 0xc04 -/* 0F3BA8 7F0BF038 25CF0008 */ addiu $t7, $t6, 8 -/* 0F3BAC 7F0BF03C AFAF0060 */ sw $t7, 0x60($sp) -/* 0F3BB0 7F0BF040 ADC70004 */ sw $a3, 4($t6) -/* 0F3BB4 7F0BF044 ADD80000 */ sw $t8, ($t6) -/* 0F3BB8 7F0BF048 8FAD0060 */ lw $t5, 0x60($sp) -/* 0F3BBC 7F0BF04C 3C09BC00 */ lui $t1, (0xBC001404 >> 16) # lui $t1, 0xbc00 -/* 0F3BC0 7F0BF050 3408FFFE */ li $t0, 65534 -/* 0F3BC4 7F0BF054 25B90008 */ addiu $t9, $t5, 8 -/* 0F3BC8 7F0BF058 AFB90060 */ sw $t9, 0x60($sp) -/* 0F3BCC 7F0BF05C 35291404 */ ori $t1, (0xBC001404 & 0xFFFF) # ori $t1, $t1, 0x1404 -/* 0F3BD0 7F0BF060 ADA90000 */ sw $t1, ($t5) -/* 0F3BD4 7F0BF064 ADA80004 */ sw $t0, 4($t5) -/* 0F3BD8 7F0BF068 8FAA0060 */ lw $t2, 0x60($sp) -/* 0F3BDC 7F0BF06C 3C0CBC00 */ lui $t4, (0xBC001C04 >> 16) # lui $t4, 0xbc00 -/* 0F3BE0 7F0BF070 358C1C04 */ ori $t4, (0xBC001C04 & 0xFFFF) # ori $t4, $t4, 0x1c04 -/* 0F3BE4 7F0BF074 254B0008 */ addiu $t3, $t2, 8 -/* 0F3BE8 7F0BF078 AFAB0060 */ sw $t3, 0x60($sp) -/* 0F3BEC 7F0BF07C 00008825 */ move $s1, $zero -/* 0F3BF0 7F0BF080 AD480004 */ sw $t0, 4($t2) -/* 0F3BF4 7F0BF084 184000E8 */ blez $v0, .Ljp7F0BF428 -/* 0F3BF8 7F0BF088 AD4C0000 */ sw $t4, ($t2) -/* 0F3BFC 7F0BF08C 3C108008 */ lui $s0, %hi(pPlayer) # $s0, 0x8008 -/* 0F3C00 7F0BF090 2610A120 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5ee0 -.Ljp7F0BF094: -/* 0F3C04 7F0BF094 0FC27032 */ jal sub_GAME_7F09B528 -/* 0F3C08 7F0BF098 02202025 */ move $a0, $s1 -/* 0F3C0C 7F0BF09C 0FC26F2B */ jal set_cur_player -/* 0F3C10 7F0BF0A0 00402025 */ move $a0, $v0 -/* 0F3C14 7F0BF0A4 8E020000 */ lw $v0, ($s0) -/* 0F3C18 7F0BF0A8 844407F0 */ lh $a0, 0x7f0($v0) -/* 0F3C1C 7F0BF0AC 0C00110F */ jal set_video2_width_height -/* 0F3C20 7F0BF0B0 844507F2 */ lh $a1, 0x7f2($v0) -/* 0F3C24 7F0BF0B4 8E020000 */ lw $v0, ($s0) -/* 0F3C28 7F0BF0B8 844407F4 */ lh $a0, 0x7f4($v0) -/* 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 setvideo_far -/* 0F3C3C 7F0BF0CC C5CC11D0 */ lwc1 $f12, 0x11d0($t6) -/* 0F3C40 7F0BF0D0 8E0F0000 */ lw $t7, ($s0) -/* 0F3C44 7F0BF0D4 0C001164 */ jal video_related_21 -/* 0F3C48 7F0BF0D8 C5EC11D4 */ lwc1 $f12, 0x11d4($t7) -/* 0F3C4C 7F0BF0DC 0C000FAD */ jal video_related_10 -/* 0F3C50 7F0BF0E0 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3C54 7F0BF0E4 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3C58 7F0BF0E8 0C000F16 */ jal video_related_F -/* 0F3C5C 7F0BF0EC 00402025 */ move $a0, $v0 -/* 0F3C60 7F0BF0F0 0FC24677 */ jal get_debug_render_raster -/* 0F3C64 7F0BF0F4 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3C68 7F0BF0F8 14400004 */ bnez $v0, .Ljp7F0BF10C -/* 0F3C6C 7F0BF0FC 00000000 */ nop -/* 0F3C70 7F0BF100 0FC24818 */ jal sub_GAME_7F091580 -/* 0F3C74 7F0BF104 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3C78 7F0BF108 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF10C: -/* 0F3C7C 7F0BF10C 0FC24677 */ jal get_debug_render_raster -/* 0F3C80 7F0BF110 00000000 */ nop -/* 0F3C84 7F0BF114 24010001 */ li $at, 1 -/* 0F3C88 7F0BF118 14410004 */ bne $v0, $at, .Ljp7F0BF12C -/* 0F3C8C 7F0BF11C 00000000 */ nop -/* 0F3C90 7F0BF120 0FC2CE3E */ jal sub_GAME_7F0B2D48 -/* 0F3C94 7F0BF124 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3C98 7F0BF128 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF12C: -/* 0F3C9C 7F0BF12C 0FC24677 */ jal get_debug_render_raster -/* 0F3CA0 7F0BF130 00000000 */ nop -/* 0F3CA4 7F0BF134 24010002 */ li $at, 2 -/* 0F3CA8 7F0BF138 14410004 */ bne $v0, $at, .Ljp7F0BF14C -/* 0F3CAC 7F0BF13C 00000000 */ nop -/* 0F3CB0 7F0BF140 0FC22035 */ jal sub_GAME_7F087A08 -/* 0F3CB4 7F0BF144 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3CB8 7F0BF148 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF14C: -/* 0F3CBC 7F0BF14C 0C000FD9 */ jal setupscreensfornumplayers -/* 0F3CC0 7F0BF150 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3CC4 7F0BF154 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3CC8 7F0BF158 0FC2540A */ jal sub_GAME_7F094488 -/* 0F3CCC 7F0BF15C 00402025 */ move $a0, $v0 -/* 0F3CD0 7F0BF160 0FC2D50D */ jal sub_GAME_7F0B4884 -/* 0F3CD4 7F0BF164 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3CD8 7F0BF168 0FC0F34C */ jal determing_type_of_object_and_detection -/* 0F3CDC 7F0BF16C 00000000 */ nop -/* 0F3CE0 7F0BF170 0FC0E950 */ jal sub_GAME_7F03A240 -/* 0F3CE4 7F0BF174 00000000 */ nop -/* 0F3CE8 7F0BF178 0FC0F6A3 */ jal sub_GAME_7F03D78C -/* 0F3CEC 7F0BF17C 00000000 */ nop -/* 0F3CF0 7F0BF180 0FC0F165 */ jal sub_GAME_7F03C294 -/* 0F3CF4 7F0BF184 00000000 */ nop -/* 0F3CF8 7F0BF188 0FC2299C */ jal sub_GAME_7F089F38 -/* 0F3CFC 7F0BF18C 00000000 */ nop -/* 0F3D00 7F0BF190 10400009 */ beqz $v0, .Ljp7F0BF1B8 -/* 0F3D04 7F0BF194 00000000 */ nop -/* 0F3D08 7F0BF198 0FC0F1FC */ jal sub_GAME_7F03C4F0 -/* 0F3D0C 7F0BF19C 00000000 */ nop -/* 0F3D10 7F0BF1A0 10400005 */ beqz $v0, .Ljp7F0BF1B8 -/* 0F3D14 7F0BF1A4 00000000 */ nop -/* 0F3D18 7F0BF1A8 0FC177A1 */ jal attempt_reload_item_in_hand -/* 0F3D1C 7F0BF1AC 00002025 */ move $a0, $zero -/* 0F3D20 7F0BF1B0 0FC177A1 */ jal attempt_reload_item_in_hand -/* 0F3D24 7F0BF1B4 24040001 */ li $a0, 1 -.Ljp7F0BF1B8: -/* 0F3D28 7F0BF1B8 0FC0F4F5 */ jal sub_GAME_7F03D0D4 -/* 0F3D2C 7F0BF1BC 00000000 */ nop -/* 0F3D30 7F0BF1C0 0FC2D67C */ jal sub_GAME_7F0B4E40 -/* 0F3D34 7F0BF1C4 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3D38 7F0BF1C8 0FC246C7 */ jal get_debug_portal_flag -/* 0F3D3C 7F0BF1CC AFA20060 */ sw $v0, 0x60($sp) -/* 0F3D40 7F0BF1D0 10400004 */ beqz $v0, .Ljp7F0BF1E4 -/* 0F3D44 7F0BF1D4 00000000 */ nop -/* 0F3D48 7F0BF1D8 0FC2FAB4 */ jal sub_GAME_7F0BDF10 -/* 0F3D4C 7F0BF1DC 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3D50 7F0BF1E0 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF1E4: -/* 0F3D54 7F0BF1E4 0FC24694 */ jal get_turbo_mode_flag -/* 0F3D58 7F0BF1E8 00000000 */ nop -/* 0F3D5C 7F0BF1EC 10400004 */ beqz $v0, .Ljp7F0BF200 -/* 0F3D60 7F0BF1F0 00000000 */ nop -/* 0F3D64 7F0BF1F4 0FC2CEFB */ jal sub_GAME_7F0B303C -/* 0F3D68 7F0BF1F8 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3D6C 7F0BF1FC AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF200: -/* 0F3D70 7F0BF200 0FC2468E */ jal get_debug_stanhit_flag -/* 0F3D74 7F0BF204 00000000 */ nop -/* 0F3D78 7F0BF208 10400007 */ beqz $v0, .Ljp7F0BF228 -/* 0F3D7C 7F0BF20C 00000000 */ nop -/* 0F3D80 7F0BF210 0FC2CEF9 */ jal sub_GAME_7F0B3034 -/* 0F3D84 7F0BF214 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3D88 7F0BF218 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3D8C 7F0BF21C 0FC22765 */ jal write_stan_tiles_in_yellow -/* 0F3D90 7F0BF220 00402025 */ move $a0, $v0 -/* 0F3D94 7F0BF224 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF228: -/* 0F3D98 7F0BF228 0FC24691 */ jal get_debug_stanregion_flag -/* 0F3D9C 7F0BF22C 00000000 */ nop -/* 0F3DA0 7F0BF230 10400008 */ beqz $v0, .Ljp7F0BF254 -/* 0F3DA4 7F0BF234 00000000 */ nop -/* 0F3DA8 7F0BF238 0FC2CEF9 */ jal sub_GAME_7F0B3034 -/* 0F3DAC 7F0BF23C 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3DB0 7F0BF240 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3DB4 7F0BF244 00402025 */ move $a0, $v0 -/* 0F3DB8 7F0BF248 0FC2CF37 */ jal sub_GAME_7F0B312C -/* 0F3DBC 7F0BF24C 24058040 */ li $a1, -32704 -/* 0F3DC0 7F0BF250 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF254: -/* 0F3DC4 7F0BF254 3C058006 */ lui $a1, %hi(aStanshow_) # $a1, 0x8006 -/* 0F3DC8 7F0BF258 24A5B6FC */ addiu $a1, %lo(aStanshow_) # addiu $a1, $a1, -0x4904 -/* 0F3DCC 7F0BF25C 0C0029AC */ jal check_token -/* 0F3DD0 7F0BF260 24040001 */ li $a0, 1 -/* 0F3DD4 7F0BF264 10400011 */ beqz $v0, .Ljp7F0BF2AC -/* 0F3DD8 7F0BF268 24040001 */ li $a0, 1 -/* 0F3DDC 7F0BF26C 3C058006 */ lui $a1, %hi(aStanshow__5) # $a1, 0x8006 -/* 0F3DE0 7F0BF270 0C0029AC */ jal check_token -/* 0F3DE4 7F0BF274 24A5B708 */ addiu $a1, %lo(aStanshow__5) # addiu $a1, $a1, -0x48f8 -/* 0F3DE8 7F0BF278 0FC2CE82 */ jal stanMatchTileName -/* 0F3DEC 7F0BF27C 00402025 */ move $a0, $v0 -/* 0F3DF0 7F0BF280 1040000A */ beqz $v0, .Ljp7F0BF2AC -/* 0F3DF4 7F0BF284 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3DF8 7F0BF288 0FC2CEF9 */ jal sub_GAME_7F0B3034 -/* 0F3DFC 7F0BF28C AFA20030 */ sw $v0, 0x30($sp) -/* 0F3E00 7F0BF290 3C06FF00 */ lui $a2, (0xFF0000FF >> 16) # lui $a2, 0xff00 -/* 0F3E04 7F0BF294 8FA50030 */ lw $a1, 0x30($sp) -/* 0F3E08 7F0BF298 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3E0C 7F0BF29C 34C600FF */ ori $a2, (0xFF0000FF & 0xFFFF) # ori $a2, $a2, 0xff -/* 0F3E10 7F0BF2A0 0FC2CEF5 */ jal sub_GAME_7F0B3024 -/* 0F3E14 7F0BF2A4 00402025 */ move $a0, $v0 -/* 0F3E18 7F0BF2A8 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF2AC: -/* 0F3E1C 7F0BF2AC 3C058006 */ lui $a1, %hi(aStanshow__0) # $a1, 0x8006 -/* 0F3E20 7F0BF2B0 24A5B714 */ addiu $a1, %lo(aStanshow__0) # addiu $a1, $a1, -0x48ec -/* 0F3E24 7F0BF2B4 0C0029AC */ jal check_token -/* 0F3E28 7F0BF2B8 24040002 */ li $a0, 2 -/* 0F3E2C 7F0BF2BC 10400011 */ beqz $v0, .Ljp7F0BF304 -/* 0F3E30 7F0BF2C0 24040002 */ li $a0, 2 -/* 0F3E34 7F0BF2C4 3C058006 */ lui $a1, %hi(aStanshow__1) # $a1, 0x8006 -/* 0F3E38 7F0BF2C8 0C0029AC */ jal check_token -/* 0F3E3C 7F0BF2CC 24A5B720 */ addiu $a1, %lo(aStanshow__1) # addiu $a1, $a1, -0x48e0 -/* 0F3E40 7F0BF2D0 0FC2CE82 */ jal stanMatchTileName -/* 0F3E44 7F0BF2D4 00402025 */ move $a0, $v0 -/* 0F3E48 7F0BF2D8 1040000A */ beqz $v0, .Ljp7F0BF304 -/* 0F3E4C 7F0BF2DC 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3E50 7F0BF2E0 0FC2CEF9 */ jal sub_GAME_7F0B3034 -/* 0F3E54 7F0BF2E4 AFA2002C */ sw $v0, 0x2c($sp) -/* 0F3E58 7F0BF2E8 3C0600FF */ lui $a2, (0x00FF00FF >> 16) # lui $a2, 0xff -/* 0F3E5C 7F0BF2EC 8FA5002C */ lw $a1, 0x2c($sp) -/* 0F3E60 7F0BF2F0 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3E64 7F0BF2F4 34C600FF */ ori $a2, (0x00FF00FF & 0xFFFF) # ori $a2, $a2, 0xff -/* 0F3E68 7F0BF2F8 0FC2CEF5 */ jal sub_GAME_7F0B3024 -/* 0F3E6C 7F0BF2FC 00402025 */ move $a0, $v0 -/* 0F3E70 7F0BF300 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF304: -/* 0F3E74 7F0BF304 3C058006 */ lui $a1, %hi(aStanshow__2) # $a1, 0x8006 -/* 0F3E78 7F0BF308 24A5B72C */ addiu $a1, %lo(aStanshow__2) # addiu $a1, $a1, -0x48d4 -/* 0F3E7C 7F0BF30C 0C0029AC */ jal check_token -/* 0F3E80 7F0BF310 24040003 */ li $a0, 3 -/* 0F3E84 7F0BF314 10400010 */ beqz $v0, .Ljp7F0BF358 -/* 0F3E88 7F0BF318 24040003 */ li $a0, 3 -/* 0F3E8C 7F0BF31C 3C058006 */ lui $a1, %hi(aStanshow__3) # $a1, 0x8006 -/* 0F3E90 7F0BF320 0C0029AC */ jal check_token -/* 0F3E94 7F0BF324 24A5B738 */ addiu $a1, %lo(aStanshow__3) # addiu $a1, $a1, -0x48c8 -/* 0F3E98 7F0BF328 0FC2CE82 */ jal stanMatchTileName -/* 0F3E9C 7F0BF32C 00402025 */ move $a0, $v0 -/* 0F3EA0 7F0BF330 10400009 */ beqz $v0, .Ljp7F0BF358 -/* 0F3EA4 7F0BF334 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3EA8 7F0BF338 0FC2CEF9 */ jal sub_GAME_7F0B3034 -/* 0F3EAC 7F0BF33C AFA20028 */ sw $v0, 0x28($sp) -/* 0F3EB0 7F0BF340 8FA50028 */ lw $a1, 0x28($sp) -/* 0F3EB4 7F0BF344 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3EB8 7F0BF348 00402025 */ move $a0, $v0 -/* 0F3EBC 7F0BF34C 0FC2CEF5 */ jal sub_GAME_7F0B3024 -/* 0F3EC0 7F0BF350 3406FFFF */ li $a2, 65535 -/* 0F3EC4 7F0BF354 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF358: -/* 0F3EC8 7F0BF358 0FC2467D */ jal get_debug_limit_controller_input -/* 0F3ECC 7F0BF35C 00000000 */ nop -/* 0F3ED0 7F0BF360 38440008 */ xori $a0, $v0, 8 -/* 0F3ED4 7F0BF364 0FC08C43 */ jal sub_GAME_7F022E24 -/* 0F3ED8 7F0BF368 2C840001 */ sltiu $a0, $a0, 1 -/* 0F3EDC 7F0BF36C 0FC127D7 */ jal sub_GAME_7F049B58 -/* 0F3EE0 7F0BF370 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3EE4 7F0BF374 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3EE8 7F0BF378 27A40060 */ addiu $a0, $sp, 0x60 -/* 0F3EEC 7F0BF37C 0FC294F1 */ jal sub_GAME_7F0A4824 -/* 0F3EF0 7F0BF380 24050001 */ li $a1, 1 -/* 0F3EF4 7F0BF384 0FC28DF9 */ jal sub_GAME_7F0A2C44 -/* 0F3EF8 7F0BF388 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3EFC 7F0BF38C AFA20060 */ sw $v0, 0x60($sp) -/* 0F3F00 7F0BF390 0FC282F6 */ jal sub_GAME_7F0A0034 -/* 0F3F04 7F0BF394 00402025 */ move $a0, $v0 -/* 0F3F08 7F0BF398 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3F0C 7F0BF39C 0FC24CCF */ jal cheatCheckIfOn -/* 0F3F10 7F0BF3A0 2404000B */ li $a0, 11 -/* 0F3F14 7F0BF3A4 1040000C */ beqz $v0, .Ljp7F0BF3D8 -/* 0F3F18 7F0BF3A8 00000000 */ nop -/* 0F3F1C 7F0BF3AC 0FC177BC */ jal get_item_in_hand -/* 0F3F20 7F0BF3B0 00002025 */ move $a0, $zero -/* 0F3F24 7F0BF3B4 24010017 */ li $at, 23 -/* 0F3F28 7F0BF3B8 14410005 */ bne $v0, $at, .Ljp7F0BF3D0 -/* 0F3F2C 7F0BF3BC 00000000 */ nop -/* 0F3F30 7F0BF3C0 8E180000 */ lw $t8, ($s0) -/* 0F3F34 7F0BF3C4 8F0D0FCC */ lw $t5, 0xfcc($t8) -/* 0F3F38 7F0BF3C8 15A00003 */ bnez $t5, .Ljp7F0BF3D8 -/* 0F3F3C 7F0BF3CC 00000000 */ nop -.Ljp7F0BF3D0: -/* 0F3F40 7F0BF3D0 0FC1A637 */ jal set_max_ammo_for_cur_player -/* 0F3F44 7F0BF3D4 00000000 */ nop -.Ljp7F0BF3D8: -/* 0F3F48 7F0BF3D8 0FC24677 */ jal get_debug_render_raster -/* 0F3F4C 7F0BF3DC 00000000 */ nop -/* 0F3F50 7F0BF3E0 24010002 */ li $at, 2 -/* 0F3F54 7F0BF3E4 14410005 */ bne $v0, $at, .Ljp7F0BF3FC -/* 0F3F58 7F0BF3E8 00000000 */ nop -/* 0F3F5C 7F0BF3EC 0FC22637 */ jal maybe_mp_interface -/* 0F3F60 7F0BF3F0 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3F64 7F0BF3F4 10000004 */ b .Ljp7F0BF408 -/* 0F3F68 7F0BF3F8 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF3FC: -/* 0F3F6C 7F0BF3FC 0FC23150 */ jal sub_GAME_7F08BCB8 -/* 0F3F70 7F0BF400 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3F74 7F0BF404 AFA20060 */ sw $v0, 0x60($sp) -.Ljp7F0BF408: -/* 0F3F78 7F0BF408 0FC31335 */ jal mp_watch_menu_display -/* 0F3F7C 7F0BF40C 8FA40060 */ lw $a0, 0x60($sp) -/* 0F3F80 7F0BF410 8FB90044 */ lw $t9, 0x44($sp) -/* 0F3F84 7F0BF414 26310001 */ addiu $s1, $s1, 1 -/* 0F3F88 7F0BF418 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3F8C 7F0BF41C 0239082A */ slt $at, $s1, $t9 -/* 0F3F90 7F0BF420 1420FF1C */ bnez $at, .Ljp7F0BF094 -/* 0F3F94 7F0BF424 00000000 */ nop -.Ljp7F0BF428: -/* 0F3F98 7F0BF428 8FB00060 */ lw $s0, 0x60($sp) -/* 0F3F9C 7F0BF42C 3C0BED00 */ lui $t3, 0xed00 -/* 0F3FA0 7F0BF430 260A0008 */ addiu $t2, $s0, 8 -/* 0F3FA4 7F0BF434 AFAA0060 */ sw $t2, 0x60($sp) -/* 0F3FA8 7F0BF438 0C001107 */ jal get_video2_settings_txtClipW -/* 0F3FAC 7F0BF43C AE0B0000 */ sw $t3, ($s0) -/* 0F3FB0 7F0BF440 00028C00 */ sll $s1, $v0, 0x10 -/* 0F3FB4 7F0BF444 00116403 */ sra $t4, $s1, 0x10 -/* 0F3FB8 7F0BF448 0C00110B */ jal get_video2_settings_txtClipH -/* 0F3FBC 7F0BF44C 01808825 */ move $s1, $t4 -/* 0F3FC0 7F0BF450 44824000 */ mtc1 $v0, $f8 -/* 0F3FC4 7F0BF454 44913000 */ mtc1 $s1, $f6 -/* 0F3FC8 7F0BF458 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0F3FCC 7F0BF45C 468042A0 */ cvt.s.w $f10, $f8 -/* 0F3FD0 7F0BF460 44818000 */ mtc1 $at, $f16 -/* 0F3FD4 7F0BF464 46803220 */ cvt.s.w $f8, $f6 -/* 0F3FD8 7F0BF468 46105482 */ mul.s $f18, $f10, $f16 -/* 0F3FDC 7F0BF46C 44815000 */ mtc1 $at, $f10 -/* 0F3FE0 7F0BF470 00000000 */ nop -/* 0F3FE4 7F0BF474 460A4402 */ mul.s $f16, $f8, $f10 -/* 0F3FE8 7F0BF478 4600910D */ trunc.w.s $f4, $f18 -/* 0F3FEC 7F0BF47C 4600848D */ trunc.w.s $f18, $f16 -/* 0F3FF0 7F0BF480 440F2000 */ mfc1 $t7, $f4 -/* 0F3FF4 7F0BF484 44199000 */ mfc1 $t9, $f18 -/* 0F3FF8 7F0BF488 31F80FFF */ andi $t8, $t7, 0xfff -/* 0F3FFC 7F0BF48C 33290FFF */ andi $t1, $t9, 0xfff -/* 0F4000 7F0BF490 00095300 */ sll $t2, $t1, 0xc -/* 0F4004 7F0BF494 030A5825 */ or $t3, $t8, $t2 -/* 0F4008 7F0BF498 AE0B0004 */ sw $t3, 4($s0) -/* 0F400C 7F0BF49C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F4010 7F0BF4A0 8FB10018 */ lw $s1, 0x18($sp) -/* 0F4014 7F0BF4A4 8FB00014 */ lw $s0, 0x14($sp) -/* 0F4018 7F0BF4A8 8FA20060 */ lw $v0, 0x60($sp) -/* 0F401C 7F0BF4AC 03E00008 */ jr $ra -/* 0F4020 7F0BF4B0 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0BE8D0(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_8005B73C -.word 0x3f19999a /*0.60000002*/ -glabel D_8005B740 -.word 0x3ef33334 /*0.47500002*/ -glabel D_8005B744 -.word 0x3f19999a /*0.60000002*/ -glabel D_8005B748 -.word 0x3e4ccccd /*0.2*/ -glabel D_8005B74C -.word 0x3e4ccccd /*0.2*/ -.text -glabel sub_GAME_7F0BE8D0 -/* 0F3400 7F0BE8D0 3C028005 */ lui $v0, %hi(difficulty_0) -/* 0F3404 7F0BE8D4 8C428384 */ lw $v0, %lo(difficulty_0)($v0) -/* 0F3408 7F0BE8D8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0F340C 7F0BE8DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0F3410 7F0BE8E0 14400048 */ bnez $v0, .L7F0BEA04 -/* 0F3414 7F0BE8E4 24010001 */ li $at, 1 -/* 0F3418 7F0BE8E8 0FC228BB */ jal get_BONDdata_watch_health -/* 0F341C 7F0BE8EC 00000000 */ nop -/* 0F3420 7F0BE8F0 0FC228BF */ jal get_BONDdata_watch_armor -/* 0F3424 7F0BE8F4 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0F3428 7F0BE8F8 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0F342C 7F0BE8FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F3430 7F0BE900 44816000 */ mtc1 $at, $f12 -/* 0F3434 7F0BE904 46040380 */ add.s $f14, $f0, $f4 -/* 0F3438 7F0BE908 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 0F343C 7F0BE90C 44818000 */ mtc1 $at, $f16 -/* 0F3440 7F0BE910 3C018006 */ lui $at, %hi(D_8005B73C) -/* 0F3444 7F0BE914 4610703E */ c.le.s $f14, $f16 -/* 0F3448 7F0BE918 00000000 */ nop -/* 0F344C 7F0BE91C 45000005 */ bc1f .L7F0BE934 -/* 0F3450 7F0BE920 00000000 */ nop -/* 0F3454 7F0BE924 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F3458 7F0BE928 44816000 */ mtc1 $at, $f12 -/* 0F345C 7F0BE92C 1000000F */ b .L7F0BE96C -/* 0F3460 7F0BE930 3C014000 */ lui $at, 0x4000 -.L7F0BE934: -/* 0F3464 7F0BE934 C426B73C */ lwc1 $f6, %lo(D_8005B73C)($at) -/* 0F3468 7F0BE938 3C013F00 */ lui $at, 0x3f00 -/* 0F346C 7F0BE93C 4606703E */ c.le.s $f14, $f6 -/* 0F3470 7F0BE940 00000000 */ nop -/* 0F3474 7F0BE944 45020009 */ bc1fl .L7F0BE96C -/* 0F3478 7F0BE948 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0F347C 7F0BE94C 46107201 */ sub.s $f8, $f14, $f16 -/* 0F3480 7F0BE950 44819000 */ mtc1 $at, $f18 -/* 0F3484 7F0BE954 3C018006 */ lui $at, %hi(D_8005B740) -/* 0F3488 7F0BE958 C424B740 */ lwc1 $f4, %lo(D_8005B740)($at) -/* 0F348C 7F0BE95C 46124282 */ mul.s $f10, $f8, $f18 -/* 0F3490 7F0BE960 46045183 */ div.s $f6, $f10, $f4 -/* 0F3494 7F0BE964 46123300 */ add.s $f12, $f6, $f18 -/* 0F3498 7F0BE968 3C014000 */ li $at, 0x40000000 # 2.000000 -.L7F0BE96C: -/* 0F349C 7F0BE96C 44811000 */ mtc1 $at, $f2 -/* 0F34A0 7F0BE970 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F34A4 7F0BE974 44819000 */ mtc1 $at, $f18 -/* 0F34A8 7F0BE978 3C018003 */ lui $at, %hi(D_80030B14) -/* 0F34AC 7F0BE97C E4220B14 */ swc1 $f2, %lo(D_80030B14)($at) -/* 0F34B0 7F0BE980 460C9002 */ mul.s $f0, $f18, $f12 -/* 0F34B4 7F0BE984 3C018003 */ lui $at, %hi(D_80030B18) -/* 0F34B8 7F0BE988 E4220B18 */ swc1 $f2, %lo(D_80030B18)($at) -/* 0F34BC 7F0BE98C 3C018003 */ lui $at, %hi(D_80030B1C) -/* 0F34C0 7F0BE990 E4200B1C */ swc1 $f0, %lo(D_80030B1C)($at) -/* 0F34C4 7F0BE994 3C018003 */ lui $at, %hi(D_80030B20) -/* 0F34C8 7F0BE998 E4200B20 */ swc1 $f0, %lo(D_80030B20)($at) -/* 0F34CC 7F0BE99C 3C018003 */ lui $at, %hi(D_80030B24) -/* 0F34D0 7F0BE9A0 E4220B24 */ swc1 $f2, %lo(D_80030B24)($at) -/* 0F34D4 7F0BE9A4 3C018006 */ lui $at, %hi(D_8005B744) -/* 0F34D8 7F0BE9A8 C428B744 */ lwc1 $f8, %lo(D_8005B744)($at) -/* 0F34DC 7F0BE9AC 3C018003 */ lui $at, %hi(ai_accuracy_modifier) -/* 0F34E0 7F0BE9B0 E428CE40 */ swc1 $f8, %lo(ai_accuracy_modifier)($at) -/* 0F34E4 7F0BE9B4 3C018003 */ lui $at, %hi(ai_damage_modifier) -/* 0F34E8 7F0BE9B8 E420CE44 */ swc1 $f0, %lo(ai_damage_modifier)($at) -/* 0F34EC 7F0BE9BC 3C018003 */ lui $at, %hi(ai_health_modifier) -/* 0F34F0 7F0BE9C0 E422CE48 */ swc1 $f2, %lo(ai_health_modifier)($at) -/* 0F34F4 7F0BE9C4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0F34F8 7F0BE9C8 44815000 */ mtc1 $at, $f10 -/* 0F34FC 7F0BE9CC 3C018004 */ lui $at, %hi(D_80040178) -/* 0F3500 7F0BE9D0 460C5102 */ mul.s $f4, $f10, $f12 -/* 0F3504 7F0BE9D4 E4240178 */ swc1 $f4, %lo(D_80040178)($at) -/* 0F3508 7F0BE9D8 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0F350C 7F0BE9DC 44813000 */ mtc1 $at, $f6 -/* 0F3510 7F0BE9E0 3C018003 */ lui $at, %hi(difficulty) -/* 0F3514 7F0BE9E4 E4260AAC */ swc1 $f6, %lo(difficulty)($at) -/* 0F3518 7F0BE9E8 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 0F351C 7F0BE9EC E4220B28 */ swc1 $f2, %lo(solo_ammo_multiplier)($at) -/* 0F3520 7F0BE9F0 3C018006 */ lui $at, %hi(D_8005B748) -/* 0F3524 7F0BE9F4 C428B748 */ lwc1 $f8, %lo(D_8005B748)($at) -/* 0F3528 7F0BE9F8 3C018003 */ lui $at, %hi(ai_reaction_speed) -/* 0F352C 7F0BE9FC 1000005E */ b .L7F0BEB78 -/* 0F3530 7F0BEA00 E428CE4C */ swc1 $f8, %lo(ai_reaction_speed)($at) -.L7F0BEA04: -/* 0F3534 7F0BEA04 14410021 */ bne $v0, $at, .L7F0BEA8C -/* 0F3538 7F0BEA08 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0F353C 7F0BEA0C 44810000 */ mtc1 $at, $f0 -/* 0F3540 7F0BEA10 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F3544 7F0BEA14 44811000 */ mtc1 $at, $f2 -/* 0F3548 7F0BEA18 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F354C 7F0BEA1C 44819000 */ mtc1 $at, $f18 -/* 0F3550 7F0BEA20 3C018003 */ lui $at, %hi(D_80030B14) -/* 0F3554 7F0BEA24 E4220B14 */ swc1 $f2, %lo(D_80030B14)($at) -/* 0F3558 7F0BEA28 3C018003 */ lui $at, %hi(D_80030B18) -/* 0F355C 7F0BEA2C E4220B18 */ swc1 $f2, %lo(D_80030B18)($at) -/* 0F3560 7F0BEA30 3C018003 */ lui $at, %hi(D_80030B1C) -/* 0F3564 7F0BEA34 E4200B1C */ swc1 $f0, %lo(D_80030B1C)($at) -/* 0F3568 7F0BEA38 3C018003 */ lui $at, %hi(D_80030B20) -/* 0F356C 7F0BEA3C E4200B20 */ swc1 $f0, %lo(D_80030B20)($at) -/* 0F3570 7F0BEA40 3C018003 */ lui $at, %hi(D_80030B24) -/* 0F3574 7F0BEA44 E4220B24 */ swc1 $f2, %lo(D_80030B24)($at) -/* 0F3578 7F0BEA48 3C018003 */ lui $at, %hi(ai_accuracy_modifier) -/* 0F357C 7F0BEA4C E420CE40 */ swc1 $f0, %lo(ai_accuracy_modifier)($at) -/* 0F3580 7F0BEA50 3C018003 */ lui $at, %hi(ai_damage_modifier) -/* 0F3584 7F0BEA54 E420CE44 */ swc1 $f0, %lo(ai_damage_modifier)($at) -/* 0F3588 7F0BEA58 3C018003 */ lui $at, %hi(ai_health_modifier) -/* 0F358C 7F0BEA5C E422CE48 */ swc1 $f2, %lo(ai_health_modifier)($at) -/* 0F3590 7F0BEA60 3C018004 */ lui $at, %hi(D_80040178) -/* 0F3594 7F0BEA64 E4200178 */ swc1 $f0, %lo(D_80040178)($at) -/* 0F3598 7F0BEA68 3C018003 */ lui $at, %hi(difficulty) -/* 0F359C 7F0BEA6C E4200AAC */ swc1 $f0, %lo(difficulty)($at) -/* 0F35A0 7F0BEA70 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0F35A4 7F0BEA74 44815000 */ mtc1 $at, $f10 -/* 0F35A8 7F0BEA78 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 0F35AC 7F0BEA7C E42A0B28 */ swc1 $f10, %lo(solo_ammo_multiplier)($at) -/* 0F35B0 7F0BEA80 3C018003 */ lui $at, %hi(ai_reaction_speed) -/* 0F35B4 7F0BEA84 1000003C */ b .L7F0BEB78 -/* 0F35B8 7F0BEA88 E432CE4C */ swc1 $f18, %lo(ai_reaction_speed)($at) -.L7F0BEA8C: -/* 0F35BC 7F0BEA8C 24010002 */ li $at, 2 -/* 0F35C0 7F0BEA90 1441001D */ bne $v0, $at, .L7F0BEB08 -/* 0F35C4 7F0BEA94 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F35C8 7F0BEA98 44811000 */ mtc1 $at, $f2 -/* 0F35CC 7F0BEA9C 3C018003 */ lui $at, %hi(D_80030B14) -/* 0F35D0 7F0BEAA0 E4220B14 */ swc1 $f2, %lo(D_80030B14)($at) -/* 0F35D4 7F0BEAA4 3C018003 */ lui $at, %hi(D_80030B18) -/* 0F35D8 7F0BEAA8 E4220B18 */ swc1 $f2, %lo(D_80030B18)($at) -/* 0F35DC 7F0BEAAC 3C018003 */ lui $at, %hi(D_80030B1C) -/* 0F35E0 7F0BEAB0 E4220B1C */ swc1 $f2, %lo(D_80030B1C)($at) -/* 0F35E4 7F0BEAB4 3C018003 */ lui $at, %hi(D_80030B20) -/* 0F35E8 7F0BEAB8 E4220B20 */ swc1 $f2, %lo(D_80030B20)($at) -/* 0F35EC 7F0BEABC 3C018003 */ lui $at, %hi(D_80030B24) -/* 0F35F0 7F0BEAC0 E4220B24 */ swc1 $f2, %lo(D_80030B24)($at) -/* 0F35F4 7F0BEAC4 3C018003 */ lui $at, %hi(ai_accuracy_modifier) -/* 0F35F8 7F0BEAC8 E422CE40 */ swc1 $f2, %lo(ai_accuracy_modifier)($at) -/* 0F35FC 7F0BEACC 3C018003 */ lui $at, %hi(ai_damage_modifier) -/* 0F3600 7F0BEAD0 E422CE44 */ swc1 $f2, %lo(ai_damage_modifier)($at) -/* 0F3604 7F0BEAD4 3C018003 */ lui $at, %hi(ai_health_modifier) -/* 0F3608 7F0BEAD8 E422CE48 */ swc1 $f2, %lo(ai_health_modifier)($at) -/* 0F360C 7F0BEADC 3C018004 */ lui $at, %hi(D_80040178) -/* 0F3610 7F0BEAE0 E4220178 */ swc1 $f2, %lo(D_80040178)($at) -/* 0F3614 7F0BEAE4 3C018006 */ lui $at, %hi(D_8005B74C) -/* 0F3618 7F0BEAE8 C424B74C */ lwc1 $f4, %lo(D_8005B74C)($at) -/* 0F361C 7F0BEAEC 3C018003 */ lui $at, %hi(difficulty) -/* 0F3620 7F0BEAF0 E4240AAC */ swc1 $f4, %lo(difficulty)($at) -/* 0F3624 7F0BEAF4 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 0F3628 7F0BEAF8 E4220B28 */ swc1 $f2, %lo(solo_ammo_multiplier)($at) -/* 0F362C 7F0BEAFC 3C018003 */ lui $at, %hi(ai_reaction_speed) -/* 0F3630 7F0BEB00 1000001D */ b .L7F0BEB78 -/* 0F3634 7F0BEB04 E422CE4C */ swc1 $f2, %lo(ai_reaction_speed)($at) -.L7F0BEB08: -/* 0F3638 7F0BEB08 24010003 */ li $at, 3 -/* 0F363C 7F0BEB0C 1441001A */ bne $v0, $at, .L7F0BEB78 -/* 0F3640 7F0BEB10 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F3644 7F0BEB14 44811000 */ mtc1 $at, $f2 -/* 0F3648 7F0BEB18 3C018003 */ lui $at, %hi(D_80030B14) -/* 0F364C 7F0BEB1C E4220B14 */ swc1 $f2, %lo(D_80030B14)($at) -/* 0F3650 7F0BEB20 3C018003 */ lui $at, %hi(D_80030B18) -/* 0F3654 7F0BEB24 E4220B18 */ swc1 $f2, %lo(D_80030B18)($at) -/* 0F3658 7F0BEB28 3C018003 */ lui $at, %hi(D_80030B1C) -/* 0F365C 7F0BEB2C E4220B1C */ swc1 $f2, %lo(D_80030B1C)($at) -/* 0F3660 7F0BEB30 3C018003 */ lui $at, %hi(D_80030B20) -/* 0F3664 7F0BEB34 E4220B20 */ swc1 $f2, %lo(D_80030B20)($at) -/* 0F3668 7F0BEB38 3C018003 */ lui $at, %hi(D_80030B24) -/* 0F366C 7F0BEB3C E4220B24 */ swc1 $f2, %lo(D_80030B24)($at) -/* 0F3670 7F0BEB40 3C018003 */ lui $at, %hi(ai_accuracy_modifier) -/* 0F3674 7F0BEB44 E422CE40 */ swc1 $f2, %lo(ai_accuracy_modifier)($at) -/* 0F3678 7F0BEB48 3C018003 */ lui $at, %hi(ai_damage_modifier) -/* 0F367C 7F0BEB4C E422CE44 */ swc1 $f2, %lo(ai_damage_modifier)($at) -/* 0F3680 7F0BEB50 3C018003 */ lui $at, %hi(ai_health_modifier) -/* 0F3684 7F0BEB54 E422CE48 */ swc1 $f2, %lo(ai_health_modifier)($at) -/* 0F3688 7F0BEB58 3C018004 */ lui $at, %hi(D_80040178) -/* 0F368C 7F0BEB5C E4220178 */ swc1 $f2, %lo(D_80040178)($at) -/* 0F3690 7F0BEB60 3C018003 */ lui $at, %hi(difficulty) -/* 0F3694 7F0BEB64 E4220AAC */ swc1 $f2, %lo(difficulty)($at) -/* 0F3698 7F0BEB68 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 0F369C 7F0BEB6C E4220B28 */ swc1 $f2, %lo(solo_ammo_multiplier)($at) -/* 0F36A0 7F0BEB70 3C018003 */ lui $at, %hi(ai_reaction_speed) -/* 0F36A4 7F0BEB74 E422CE4C */ swc1 $f2, %lo(ai_reaction_speed)($at) -.L7F0BEB78: -/* 0F36A8 7F0BEB78 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F36AC 7F0BEB7C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0F36B0 7F0BEB80 03E00008 */ jr $ra -/* 0F36B4 7F0BEB84 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_8005B73C -.word 0x3f19999a /*0.60000002*/ -glabel D_8005B740 -.word 0x3ef33334 /*0.47500002*/ -glabel D_8005B744 -.word 0x3f19999a /*0.60000002*/ -glabel D_8005B748 -.word 0x3e4ccccd /*0.2*/ -glabel D_8005B74C -.word 0x3f8ccccd -glabel jpD_8005B780 -.word 0x3e4ccccd /*0.2*/ -.text -glabel sub_GAME_7F0BE8D0 -/* 0F4024 7F0BF4B4 3C028005 */ lui $v0, %hi(difficulty_0) # $v0, 0x8005 -/* 0F4028 7F0BF4B8 8C4283B8 */ lw $v0, %lo(difficulty_0)($v0) -/* 0F402C 7F0BF4BC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0F4030 7F0BF4C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F4034 7F0BF4C4 14400048 */ bnez $v0, .Ljp7F0BF5E8 -/* 0F4038 7F0BF4C8 24010001 */ li $at, 1 -/* 0F403C 7F0BF4CC 0FC22A89 */ jal get_BONDdata_watch_health -/* 0F4040 7F0BF4D0 00000000 */ nop -/* 0F4044 7F0BF4D4 0FC22A8D */ jal get_BONDdata_watch_armor -/* 0F4048 7F0BF4D8 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0F404C 7F0BF4DC C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0F4050 7F0BF4E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F4054 7F0BF4E4 44816000 */ mtc1 $at, $f12 -/* 0F4058 7F0BF4E8 46040380 */ add.s $f14, $f0, $f4 -/* 0F405C 7F0BF4EC 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 0F4060 7F0BF4F0 44818000 */ mtc1 $at, $f16 -/* 0F4064 7F0BF4F4 3C018006 */ lui $at, %hi(D_8005B73C) -/* 0F4068 7F0BF4F8 4610703E */ c.le.s $f14, $f16 -/* 0F406C 7F0BF4FC 00000000 */ nop -/* 0F4070 7F0BF500 45000005 */ bc1f .Ljp7F0BF518 -/* 0F4074 7F0BF504 00000000 */ nop -/* 0F4078 7F0BF508 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F407C 7F0BF50C 44816000 */ mtc1 $at, $f12 -/* 0F4080 7F0BF510 1000000F */ b .Ljp7F0BF550 -/* 0F4084 7F0BF514 3C014000 */ lui $at, 0x4000 -.Ljp7F0BF518: -/* 0F4088 7F0BF518 C426B76C */ lwc1 $f6, %lo(D_8005B73C)($at) -/* 0F408C 7F0BF51C 3C013F00 */ lui $at, 0x3f00 -/* 0F4090 7F0BF520 4606703E */ c.le.s $f14, $f6 -/* 0F4094 7F0BF524 00000000 */ nop -/* 0F4098 7F0BF528 45020009 */ bc1fl .Ljp7F0BF550 -/* 0F409C 7F0BF52C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0F40A0 7F0BF530 46107201 */ sub.s $f8, $f14, $f16 -/* 0F40A4 7F0BF534 44819000 */ mtc1 $at, $f18 -/* 0F40A8 7F0BF538 3C018006 */ lui $at, %hi(D_8005B740) # $at, 0x8006 -/* 0F40AC 7F0BF53C C424B770 */ lwc1 $f4, %lo(D_8005B740)($at) -/* 0F40B0 7F0BF540 46124282 */ mul.s $f10, $f8, $f18 -/* 0F40B4 7F0BF544 46045183 */ div.s $f6, $f10, $f4 -/* 0F40B8 7F0BF548 46123300 */ add.s $f12, $f6, $f18 -/* 0F40BC 7F0BF54C 3C014000 */ li $at, 0x40000000 # 2.000000 -.Ljp7F0BF550: -/* 0F40C0 7F0BF550 44811000 */ mtc1 $at, $f2 -/* 0F40C4 7F0BF554 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F40C8 7F0BF558 44819000 */ mtc1 $at, $f18 -/* 0F40CC 7F0BF55C 3C018003 */ lui $at, %hi(D_80030B14) # $at, 0x8003 -/* 0F40D0 7F0BF560 E4220B54 */ swc1 $f2, %lo(D_80030B14)($at) -/* 0F40D4 7F0BF564 460C9002 */ mul.s $f0, $f18, $f12 -/* 0F40D8 7F0BF568 3C018003 */ lui $at, %hi(D_80030B18) # $at, 0x8003 -/* 0F40DC 7F0BF56C E4220B58 */ swc1 $f2, %lo(D_80030B18)($at) -/* 0F40E0 7F0BF570 3C018003 */ lui $at, %hi(D_80030B1C) # $at, 0x8003 -/* 0F40E4 7F0BF574 E4200B5C */ swc1 $f0, %lo(D_80030B1C)($at) -/* 0F40E8 7F0BF578 3C018003 */ lui $at, %hi(D_80030B20) # $at, 0x8003 -/* 0F40EC 7F0BF57C E4200B60 */ swc1 $f0, %lo(D_80030B20)($at) -/* 0F40F0 7F0BF580 3C018003 */ lui $at, %hi(D_80030B24) # $at, 0x8003 -/* 0F40F4 7F0BF584 E4220B64 */ swc1 $f2, %lo(D_80030B24)($at) -/* 0F40F8 7F0BF588 3C018006 */ lui $at, %hi(D_8005B744) # $at, 0x8006 -/* 0F40FC 7F0BF58C C428B774 */ lwc1 $f8, %lo(D_8005B744)($at) -/* 0F4100 7F0BF590 3C018003 */ lui $at, %hi(ai_accuracy_modifier) # $at, 0x8003 -/* 0F4104 7F0BF594 E428CE80 */ swc1 $f8, %lo(ai_accuracy_modifier)($at) -/* 0F4108 7F0BF598 3C018003 */ lui $at, %hi(ai_damage_modifier) # $at, 0x8003 -/* 0F410C 7F0BF59C E420CE84 */ swc1 $f0, %lo(ai_damage_modifier)($at) -/* 0F4110 7F0BF5A0 3C018003 */ lui $at, %hi(ai_health_modifier) # $at, 0x8003 -/* 0F4114 7F0BF5A4 E422CE88 */ swc1 $f2, %lo(ai_health_modifier)($at) -/* 0F4118 7F0BF5A8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0F411C 7F0BF5AC 44815000 */ mtc1 $at, $f10 -/* 0F4120 7F0BF5B0 3C018004 */ lui $at, %hi(D_80040178) # $at, 0x8004 -/* 0F4124 7F0BF5B4 460C5102 */ mul.s $f4, $f10, $f12 -/* 0F4128 7F0BF5B8 E42401A8 */ swc1 $f4, %lo(D_80040178)($at) -/* 0F412C 7F0BF5BC 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0F4130 7F0BF5C0 44813000 */ mtc1 $at, $f6 -/* 0F4134 7F0BF5C4 3C018003 */ lui $at, %hi(difficulty) # $at, 0x8003 -/* 0F4138 7F0BF5C8 E4260AEC */ swc1 $f6, %lo(difficulty)($at) -/* 0F413C 7F0BF5CC 3C018003 */ lui $at, %hi(solo_ammo_multiplier) # $at, 0x8003 -/* 0F4140 7F0BF5D0 E4220B68 */ swc1 $f2, %lo(solo_ammo_multiplier)($at) -/* 0F4144 7F0BF5D4 3C018006 */ lui $at, %hi(D_8005B748) # $at, 0x8006 -/* 0F4148 7F0BF5D8 C428B778 */ lwc1 $f8, %lo(D_8005B748)($at) -/* 0F414C 7F0BF5DC 3C018003 */ lui $at, %hi(ai_reaction_speed) # $at, 0x8003 -/* 0F4150 7F0BF5E0 1000006E */ b .Ljp7F0BF79C -/* 0F4154 7F0BF5E4 E428CE8C */ swc1 $f8, %lo(ai_reaction_speed)($at) -.Ljp7F0BF5E8: -/* 0F4158 7F0BF5E8 14410029 */ bne $v0, $at, .Ljp7F0BF690 -/* 0F415C 7F0BF5EC 3C0E8005 */ lui $t6, %hi(j_text_trigger) # $t6, 0x8005 -/* 0F4160 7F0BF5F0 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0F4164 7F0BF5F4 44810000 */ mtc1 $at, $f0 -/* 0F4168 7F0BF5F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F416C 7F0BF5FC 44811000 */ mtc1 $at, $f2 -/* 0F4170 7F0BF600 3C018003 */ lui $at, %hi(D_80030B14) # $at, 0x8003 -/* 0F4174 7F0BF604 8DCE8500 */ lw $t6, %lo(j_text_trigger)($t6) -/* 0F4178 7F0BF608 E4220B54 */ swc1 $f2, %lo(D_80030B14)($at) -/* 0F417C 7F0BF60C 3C018003 */ lui $at, %hi(D_80030B18) # $at, 0x8003 -/* 0F4180 7F0BF610 E4220B58 */ swc1 $f2, %lo(D_80030B18)($at) -/* 0F4184 7F0BF614 3C018003 */ lui $at, %hi(D_80030B1C) # $at, 0x8003 -/* 0F4188 7F0BF618 E4200B5C */ swc1 $f0, %lo(D_80030B1C)($at) -/* 0F418C 7F0BF61C 3C018003 */ lui $at, %hi(D_80030B20) # $at, 0x8003 -/* 0F4190 7F0BF620 E4200B60 */ swc1 $f0, %lo(D_80030B20)($at) -/* 0F4194 7F0BF624 3C018003 */ lui $at, %hi(D_80030B24) # $at, 0x8003 -/* 0F4198 7F0BF628 E4220B64 */ swc1 $f2, %lo(D_80030B24)($at) -/* 0F419C 7F0BF62C 3C018003 */ lui $at, %hi(ai_accuracy_modifier) # $at, 0x8003 -/* 0F41A0 7F0BF630 E420CE80 */ swc1 $f0, %lo(ai_accuracy_modifier)($at) -/* 0F41A4 7F0BF634 3C018003 */ lui $at, %hi(ai_damage_modifier) # $at, 0x8003 -/* 0F41A8 7F0BF638 E420CE84 */ swc1 $f0, %lo(ai_damage_modifier)($at) -/* 0F41AC 7F0BF63C 3C018003 */ lui $at, %hi(ai_health_modifier) # $at, 0x8003 -/* 0F41B0 7F0BF640 E422CE88 */ swc1 $f2, %lo(ai_health_modifier)($at) -/* 0F41B4 7F0BF644 3C018004 */ lui $at, %hi(D_80040178) # $at, 0x8004 -/* 0F41B8 7F0BF648 11C00006 */ beqz $t6, .Ljp7F0BF664 -/* 0F41BC 7F0BF64C E42001A8 */ swc1 $f0, %lo(D_80040178)($at) -/* 0F41C0 7F0BF650 3C018006 */ lui $at, %hi(D_8005B74C) # $at, 0x8006 -/* 0F41C4 7F0BF654 C42AB77C */ lwc1 $f10, %lo(D_8005B74C)($at) -/* 0F41C8 7F0BF658 3C018003 */ lui $at, %hi(difficulty) # $at, 0x8003 -/* 0F41CC 7F0BF65C 10000003 */ b .Ljp7F0BF66C -/* 0F41D0 7F0BF660 E42A0AEC */ swc1 $f10, %lo(difficulty)($at) -.Ljp7F0BF664: -/* 0F41D4 7F0BF664 3C018003 */ lui $at, %hi(difficulty) # $at, 0x8003 -/* 0F41D8 7F0BF668 E4200AEC */ swc1 $f0, %lo(difficulty)($at) -.Ljp7F0BF66C: -/* 0F41DC 7F0BF66C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F41E0 7F0BF670 44819000 */ mtc1 $at, $f18 -/* 0F41E4 7F0BF674 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0F41E8 7F0BF678 44812000 */ mtc1 $at, $f4 -/* 0F41EC 7F0BF67C 3C018003 */ lui $at, %hi(solo_ammo_multiplier) # $at, 0x8003 -/* 0F41F0 7F0BF680 E4240B68 */ swc1 $f4, %lo(solo_ammo_multiplier)($at) -/* 0F41F4 7F0BF684 3C018003 */ lui $at, %hi(ai_reaction_speed) # $at, 0x8003 -/* 0F41F8 7F0BF688 10000044 */ b .Ljp7F0BF79C -/* 0F41FC 7F0BF68C E432CE8C */ swc1 $f18, %lo(ai_reaction_speed)($at) -.Ljp7F0BF690: -/* 0F4200 7F0BF690 24010002 */ li $at, 2 -/* 0F4204 7F0BF694 14410025 */ bne $v0, $at, .Ljp7F0BF72C -/* 0F4208 7F0BF698 3C0F8005 */ lui $t7, %hi(j_text_trigger) # $t7, 0x8005 -/* 0F420C 7F0BF69C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F4210 7F0BF6A0 44811000 */ mtc1 $at, $f2 -/* 0F4214 7F0BF6A4 3C018003 */ lui $at, %hi(D_80030B14) # $at, 0x8003 -/* 0F4218 7F0BF6A8 8DEF8500 */ lw $t7, %lo(j_text_trigger)($t7) -/* 0F421C 7F0BF6AC E4220B54 */ swc1 $f2, %lo(D_80030B14)($at) -/* 0F4220 7F0BF6B0 3C018003 */ lui $at, %hi(D_80030B18) # $at, 0x8003 -/* 0F4224 7F0BF6B4 E4220B58 */ swc1 $f2, %lo(D_80030B18)($at) -/* 0F4228 7F0BF6B8 3C018003 */ lui $at, %hi(D_80030B1C) # $at, 0x8003 -/* 0F422C 7F0BF6BC E4220B5C */ swc1 $f2, %lo(D_80030B1C)($at) -/* 0F4230 7F0BF6C0 3C018003 */ lui $at, %hi(D_80030B20) # $at, 0x8003 -/* 0F4234 7F0BF6C4 E4220B60 */ swc1 $f2, %lo(D_80030B20)($at) -/* 0F4238 7F0BF6C8 3C018003 */ lui $at, %hi(D_80030B24) # $at, 0x8003 -/* 0F423C 7F0BF6CC E4220B64 */ swc1 $f2, %lo(D_80030B24)($at) -/* 0F4240 7F0BF6D0 3C018003 */ lui $at, %hi(ai_accuracy_modifier) # $at, 0x8003 -/* 0F4244 7F0BF6D4 E422CE80 */ swc1 $f2, %lo(ai_accuracy_modifier)($at) -/* 0F4248 7F0BF6D8 3C018003 */ lui $at, %hi(ai_damage_modifier) # $at, 0x8003 -/* 0F424C 7F0BF6DC E422CE84 */ swc1 $f2, %lo(ai_damage_modifier)($at) -/* 0F4250 7F0BF6E0 3C018003 */ lui $at, %hi(ai_health_modifier) # $at, 0x8003 -/* 0F4254 7F0BF6E4 E422CE88 */ swc1 $f2, %lo(ai_health_modifier)($at) -/* 0F4258 7F0BF6E8 3C018004 */ lui $at, %hi(D_80040178) # $at, 0x8004 -/* 0F425C 7F0BF6EC 11E00006 */ beqz $t7, .Ljp7F0BF708 -/* 0F4260 7F0BF6F0 E42201A8 */ swc1 $f2, %lo(D_80040178)($at) -/* 0F4264 7F0BF6F4 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0F4268 7F0BF6F8 44810000 */ mtc1 $at, $f0 -/* 0F426C 7F0BF6FC 3C018003 */ lui $at, %hi(difficulty) # $at, 0x8003 -/* 0F4270 7F0BF700 10000005 */ b .Ljp7F0BF718 -/* 0F4274 7F0BF704 E4200AEC */ swc1 $f0, %lo(difficulty)($at) -.Ljp7F0BF708: -/* 0F4278 7F0BF708 3C018006 */ lui $at, %hi(jpD_8005B780) # $at, 0x8006 -/* 0F427C 7F0BF70C C426B780 */ lwc1 $f6, %lo(jpD_8005B780)($at) -/* 0F4280 7F0BF710 3C018003 */ lui $at, %hi(difficulty) # $at, 0x8003 -/* 0F4284 7F0BF714 E4260AEC */ swc1 $f6, %lo(difficulty)($at) -.Ljp7F0BF718: -/* 0F4288 7F0BF718 3C018003 */ lui $at, %hi(solo_ammo_multiplier) # $at, 0x8003 -/* 0F428C 7F0BF71C E4220B68 */ swc1 $f2, %lo(solo_ammo_multiplier)($at) -/* 0F4290 7F0BF720 3C018003 */ lui $at, %hi(ai_reaction_speed) # $at, 0x8003 -/* 0F4294 7F0BF724 1000001D */ b .Ljp7F0BF79C -/* 0F4298 7F0BF728 E422CE8C */ swc1 $f2, %lo(ai_reaction_speed)($at) -.Ljp7F0BF72C: -/* 0F429C 7F0BF72C 24010003 */ li $at, 3 -/* 0F42A0 7F0BF730 1441001A */ bne $v0, $at, .Ljp7F0BF79C -/* 0F42A4 7F0BF734 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F42A8 7F0BF738 44811000 */ mtc1 $at, $f2 -/* 0F42AC 7F0BF73C 3C018003 */ lui $at, %hi(D_80030B14) # $at, 0x8003 -/* 0F42B0 7F0BF740 E4220B54 */ swc1 $f2, %lo(D_80030B14)($at) -/* 0F42B4 7F0BF744 3C018003 */ lui $at, %hi(D_80030B18) # $at, 0x8003 -/* 0F42B8 7F0BF748 E4220B58 */ swc1 $f2, %lo(D_80030B18)($at) -/* 0F42BC 7F0BF74C 3C018003 */ lui $at, %hi(D_80030B1C) # $at, 0x8003 -/* 0F42C0 7F0BF750 E4220B5C */ swc1 $f2, %lo(D_80030B1C)($at) -/* 0F42C4 7F0BF754 3C018003 */ lui $at, %hi(D_80030B20) # $at, 0x8003 -/* 0F42C8 7F0BF758 E4220B60 */ swc1 $f2, %lo(D_80030B20)($at) -/* 0F42CC 7F0BF75C 3C018003 */ lui $at, %hi(D_80030B24) # $at, 0x8003 -/* 0F42D0 7F0BF760 E4220B64 */ swc1 $f2, %lo(D_80030B24)($at) -/* 0F42D4 7F0BF764 3C018003 */ lui $at, %hi(ai_accuracy_modifier) # $at, 0x8003 -/* 0F42D8 7F0BF768 E422CE80 */ swc1 $f2, %lo(ai_accuracy_modifier)($at) -/* 0F42DC 7F0BF76C 3C018003 */ lui $at, %hi(ai_damage_modifier) # $at, 0x8003 -/* 0F42E0 7F0BF770 E422CE84 */ swc1 $f2, %lo(ai_damage_modifier)($at) -/* 0F42E4 7F0BF774 3C018003 */ lui $at, %hi(ai_health_modifier) # $at, 0x8003 -/* 0F42E8 7F0BF778 E422CE88 */ swc1 $f2, %lo(ai_health_modifier)($at) -/* 0F42EC 7F0BF77C 3C018004 */ lui $at, %hi(D_80040178) # $at, 0x8004 -/* 0F42F0 7F0BF780 E42201A8 */ swc1 $f2, %lo(D_80040178)($at) -/* 0F42F4 7F0BF784 3C018003 */ lui $at, %hi(difficulty) # $at, 0x8003 -/* 0F42F8 7F0BF788 E4220AEC */ swc1 $f2, %lo(difficulty)($at) -/* 0F42FC 7F0BF78C 3C018003 */ lui $at, %hi(solo_ammo_multiplier) # $at, 0x8003 -/* 0F4300 7F0BF790 E4220B68 */ swc1 $f2, %lo(solo_ammo_multiplier)($at) -/* 0F4304 7F0BF794 3C018003 */ lui $at, %hi(ai_reaction_speed) # $at, 0x8003 -/* 0F4308 7F0BF798 E422CE8C */ swc1 $f2, %lo(ai_reaction_speed)($at) -.Ljp7F0BF79C: -/* 0F430C 7F0BF79C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4310 7F0BF7A0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0F4314 7F0BF7A4 03E00008 */ jr $ra -/* 0F4318 7F0BF7A8 00000000 */ nop -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void manage_mp_game(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel manage_mp_game -/* 0F36B8 7F0BEB88 27BDFE68 */ addiu $sp, $sp, -0x198 -/* 0F36BC 7F0BEB8C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F36C0 7F0BEB90 0C000626 */ jal mp_tlb_related -/* 0F36C4 7F0BEB94 00000000 */ nop -/* 0F36C8 7F0BEB98 3C0E8005 */ lui $t6, %hi(controls_locked_flag) -/* 0F36CC 7F0BEB9C 8DCE8370 */ lw $t6, %lo(controls_locked_flag)($t6) -/* 0F36D0 7F0BEBA0 3C018005 */ lui $at, %hi(clock_timer) -/* 0F36D4 7F0BEBA4 11C00003 */ beqz $t6, .L7F0BEBB4 -/* 0F36D8 7F0BEBA8 00000000 */ nop -/* 0F36DC 7F0BEBAC 10000010 */ b .L7F0BEBF0 -/* 0F36E0 7F0BEBB0 AC208374 */ sw $zero, %lo(clock_timer)($at) -.L7F0BEBB4: -/* 0F36E4 7F0BEBB4 0FC31820 */ jal checkGamePaused -/* 0F36E8 7F0BEBB8 00000000 */ nop -/* 0F36EC 7F0BEBBC 10400004 */ beqz $v0, .L7F0BEBD0 -/* 0F36F0 7F0BEBC0 3C0F8005 */ lui $t7, %hi(D_80048498) -/* 0F36F4 7F0BEBC4 3C018005 */ lui $at, %hi(clock_timer) -/* 0F36F8 7F0BEBC8 10000009 */ b .L7F0BEBF0 -/* 0F36FC 7F0BEBCC AC208374 */ sw $zero, %lo(clock_timer)($at) -.L7F0BEBD0: -/* 0F3700 7F0BEBD0 8DEF8498 */ lw $t7, %lo(D_80048498)($t7) -/* 0F3704 7F0BEBD4 3C028005 */ lui $v0, %hi(D_80048380) -/* 0F3708 7F0BEBD8 3C018005 */ lui $at, %hi(clock_timer) -/* 0F370C 7F0BEBDC 24428380 */ addiu $v0, %lo(D_80048380) # addiu $v0, $v0, -0x7c80 -/* 0F3710 7F0BEBE0 AC2F8374 */ sw $t7, %lo(clock_timer)($at) -/* 0F3714 7F0BEBE4 8C580000 */ lw $t8, ($v0) -/* 0F3718 7F0BEBE8 27190001 */ addiu $t9, $t8, 1 -/* 0F371C 7F0BEBEC AC590000 */ sw $t9, ($v0) -.L7F0BEBF0: -/* 0F3720 7F0BEBF0 3C028005 */ lui $v0, %hi(clock_timer) -/* 0F3724 7F0BEBF4 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0F3728 7F0BEBF8 3C038005 */ lui $v1, %hi(global_timer) -/* 0F372C 7F0BEBFC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0F3730 7F0BEC00 44822000 */ mtc1 $v0, $f4 -/* 0F3734 7F0BEC04 2463837C */ addiu $v1, %lo(global_timer) # addiu $v1, $v1, -0x7c84 -/* 0F3738 7F0BEC08 3C188005 */ lui $t8, %hi(current_stage_to_load) -/* 0F373C 7F0BEC0C 468021A0 */ cvt.s.w $f6, $f4 -/* 0F3740 7F0BEC10 3C198005 */ lui $t9, %hi(D_80048394) -/* 0F3744 7F0BEC14 E4268378 */ swc1 $f6, %lo(global_timer_delta)($at) -/* 0F3748 7F0BEC18 8C6E0000 */ lw $t6, ($v1) -/* 0F374C 7F0BEC1C 2401005A */ li $at, 90 -/* 0F3750 7F0BEC20 01C27821 */ addu $t7, $t6, $v0 -/* 0F3754 7F0BEC24 AC6F0000 */ sw $t7, ($v1) -/* 0F3758 7F0BEC28 8F188364 */ lw $t8, %lo(current_stage_to_load)($t8) -/* 0F375C 7F0BEC2C 1301001D */ beq $t8, $at, .L7F0BECA4 -/* 0F3760 7F0BEC30 00000000 */ nop -/* 0F3764 7F0BEC34 8F398394 */ lw $t9, %lo(D_80048394)($t9) -/* 0F3768 7F0BEC38 1720001A */ bnez $t9, .L7F0BECA4 -/* 0F376C 7F0BEC3C 00000000 */ nop -/* 0F3770 7F0BEC40 18400018 */ blez $v0, .L7F0BECA4 -/* 0F3774 7F0BEC44 3C0E8003 */ lui $t6, %hi(append_cheat_sp) -/* 0F3778 7F0BEC48 8DCEA900 */ lw $t6, %lo(append_cheat_sp)($t6) -/* 0F377C 7F0BEC4C 3C038007 */ lui $v1, %hi(CHEAT_AVAILABLE_EXTRA_CHARS) -/* 0F3780 7F0BEC50 246396A1 */ addiu $v1, %lo(CHEAT_AVAILABLE_EXTRA_CHARS) # addiu $v1, $v1, -0x695f -/* 0F3784 7F0BEC54 11C00013 */ beqz $t6, .L7F0BECA4 -/* 0F3788 7F0BEC58 24040001 */ li $a0, 1 -.L7F0BEC5C: -/* 0F378C 7F0BEC5C 906F0000 */ lbu $t7, ($v1) -/* 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 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 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) -.L7F0BEC94: -/* 0F37C4 7F0BEC94 24840001 */ addiu $a0, $a0, 1 -.L7F0BEC98: -/* 0F37C8 7F0BEC98 2401004B */ li $at, 75 -/* 0F37CC 7F0BEC9C 1481FFEF */ bne $a0, $at, .L7F0BEC5C -/* 0F37D0 7F0BECA0 24630001 */ addiu $v1, $v1, 1 -.L7F0BECA4: -/* 0F37D4 7F0BECA4 0FC26919 */ jal get_num_players -/* 0F37D8 7F0BECA8 00000000 */ nop -/* 0F37DC 7F0BECAC 28410002 */ slti $at, $v0, 2 -/* 0F37E0 7F0BECB0 1420014B */ bnez $at, .L7F0BF1E0 -/* 0F37E4 7F0BECB4 3C188005 */ lui $t8, %hi(current_stage_to_load) -/* 0F37E8 7F0BECB8 8F188364 */ lw $t8, %lo(current_stage_to_load)($t8) -/* 0F37EC 7F0BECBC 2401005A */ li $at, 90 -/* 0F37F0 7F0BECC0 13010147 */ beq $t8, $at, .L7F0BF1E0 -/* 0F37F4 7F0BECC4 00000000 */ nop -/* 0F37F8 7F0BECC8 0FC3030C */ jal get_mission_state -/* 0F37FC 7F0BECCC 00000000 */ nop -/* 0F3800 7F0BECD0 24010006 */ li $at, 6 -/* 0F3804 7F0BECD4 14410029 */ bne $v0, $at, .L7F0BED7C -/* 0F3808 7F0BECD8 00000000 */ nop -/* 0F380C 7F0BECDC AFA00190 */ sw $zero, 0x190($sp) -/* 0F3810 7F0BECE0 AFA0018C */ sw $zero, 0x18c($sp) -/* 0F3814 7F0BECE4 0FC26919 */ jal get_num_players -/* 0F3818 7F0BECE8 AFA00188 */ sw $zero, 0x188($sp) -/* 0F381C 7F0BECEC 8FA30190 */ lw $v1, 0x190($sp) -/* 0F3820 7F0BECF0 8FA5018C */ lw $a1, 0x18c($sp) -/* 0F3824 7F0BECF4 1840001B */ blez $v0, .L7F0BED64 -/* 0F3828 7F0BECF8 8FA60188 */ lw $a2, 0x188($sp) -/* 0F382C 7F0BECFC 3C0E8008 */ lui $t6, %hi(ptr_BONDdata_p1) -/* 0F3830 7F0BED00 25CE9EE0 */ addiu $t6, %lo(ptr_BONDdata_p1) # addiu $t6, $t6, -0x6120 -/* 0F3834 7F0BED04 0003C880 */ sll $t9, $v1, 2 -/* 0F3838 7F0BED08 032E2021 */ addu $a0, $t9, $t6 -.L7F0BED0C: -/* 0F383C 7F0BED0C 8C820000 */ lw $v0, ($a0) -/* 0F3840 7F0BED10 24630001 */ addiu $v1, $v1, 1 -/* 0F3844 7F0BED14 24840004 */ addiu $a0, $a0, 4 -/* 0F3848 7F0BED18 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0F384C 7F0BED1C 51E00007 */ beql $t7, $zero, .L7F0BED3C -/* 0F3850 7F0BED20 AFA30190 */ sw $v1, 0x190($sp) -/* 0F3854 7F0BED24 8C580424 */ lw $t8, 0x424($v0) -/* 0F3858 7F0BED28 24A50001 */ addiu $a1, $a1, 1 -/* 0F385C 7F0BED2C 53000003 */ beql $t8, $zero, .L7F0BED3C -/* 0F3860 7F0BED30 AFA30190 */ sw $v1, 0x190($sp) -/* 0F3864 7F0BED34 24C60001 */ addiu $a2, $a2, 1 -/* 0F3868 7F0BED38 AFA30190 */ sw $v1, 0x190($sp) -.L7F0BED3C: -/* 0F386C 7F0BED3C AFA4001C */ sw $a0, 0x1c($sp) -/* 0F3870 7F0BED40 AFA5018C */ sw $a1, 0x18c($sp) -/* 0F3874 7F0BED44 0FC26919 */ jal get_num_players -/* 0F3878 7F0BED48 AFA60188 */ sw $a2, 0x188($sp) -/* 0F387C 7F0BED4C 8FA30190 */ lw $v1, 0x190($sp) -/* 0F3880 7F0BED50 8FA4001C */ lw $a0, 0x1c($sp) -/* 0F3884 7F0BED54 8FA5018C */ lw $a1, 0x18c($sp) -/* 0F3888 7F0BED58 0062082A */ slt $at, $v1, $v0 -/* 0F388C 7F0BED5C 1420FFEB */ bnez $at, .L7F0BED0C -/* 0F3890 7F0BED60 8FA60188 */ lw $a2, 0x188($sp) -.L7F0BED64: -/* 0F3894 7F0BED64 18A00005 */ blez $a1, .L7F0BED7C -/* 0F3898 7F0BED68 00000000 */ nop -/* 0F389C 7F0BED6C 14A60003 */ bne $a1, $a2, .L7F0BED7C -/* 0F38A0 7F0BED70 00000000 */ nop -/* 0F38A4 7F0BED74 0FC3030F */ jal set_missionstate -/* 0F38A8 7F0BED78 24040001 */ li $a0, 1 -.L7F0BED7C: -/* 0F38AC 7F0BED7C 3C038005 */ lui $v1, %hi(mp_time) -/* 0F38B0 7F0BED80 8C638398 */ lw $v1, %lo(mp_time)($v1) -/* 0F38B4 7F0BED84 3C028005 */ lui $v0, %hi(D_80048394) -/* 0F38B8 7F0BED88 3C198005 */ lui $t9, %hi(clock_timer) -/* 0F38BC 7F0BED8C 18600049 */ blez $v1, .L7F0BEEB4 -/* 0F38C0 7F0BED90 00000000 */ nop -/* 0F38C4 7F0BED94 8C428394 */ lw $v0, %lo(D_80048394)($v0) -/* 0F38C8 7F0BED98 8F398374 */ lw $t9, %lo(clock_timer)($t9) -/* 0F38CC 7F0BED9C 2464F1F0 */ addiu $a0, $v1, -0xe10 -/* 0F38D0 7F0BEDA0 0044082A */ slt $at, $v0, $a0 -/* 0F38D4 7F0BEDA4 03227021 */ addu $t6, $t9, $v0 -/* 0F38D8 7F0BEDA8 AFAE0180 */ sw $t6, 0x180($sp) -/* 0F38DC 7F0BEDAC 10200015 */ beqz $at, .L7F0BEE04 -/* 0F38E0 7F0BEDB0 AFA20184 */ sw $v0, 0x184($sp) -/* 0F38E4 7F0BEDB4 01C4082A */ slt $at, $t6, $a0 -/* 0F38E8 7F0BEDB8 14200012 */ bnez $at, .L7F0BEE04 -/* 0F38EC 7F0BEDBC 00000000 */ nop -/* 0F38F0 7F0BEDC0 0FC26919 */ jal get_num_players -/* 0F38F4 7F0BEDC4 AFA0017C */ sw $zero, 0x17c($sp) -/* 0F38F8 7F0BEDC8 1840000E */ blez $v0, .L7F0BEE04 -/* 0F38FC 7F0BEDCC 00000000 */ nop -.L7F0BEDD0: -/* 0F3900 7F0BEDD0 0FC26C43 */ jal set_cur_player -/* 0F3904 7F0BEDD4 8FA4017C */ lw $a0, 0x17c($sp) -/* 0F3908 7F0BEDD8 3C048006 */ lui $a0, %hi(aOneMinuteLeft) -/* 0F390C 7F0BEDDC 0FC228F2 */ jal display_string_in_lower_left_corner -/* 0F3910 7F0BEDE0 2484B704 */ addiu $a0, %lo(aOneMinuteLeft) # addiu $a0, $a0, -0x48fc -/* 0F3914 7F0BEDE4 8FAF017C */ lw $t7, 0x17c($sp) -/* 0F3918 7F0BEDE8 25F80001 */ addiu $t8, $t7, 1 -/* 0F391C 7F0BEDEC 0FC26919 */ jal get_num_players -/* 0F3920 7F0BEDF0 AFB8017C */ sw $t8, 0x17c($sp) -/* 0F3924 7F0BEDF4 8FB9017C */ lw $t9, 0x17c($sp) -/* 0F3928 7F0BEDF8 0322082A */ slt $at, $t9, $v0 -/* 0F392C 7F0BEDFC 1420FFF4 */ bnez $at, .L7F0BEDD0 -/* 0F3930 7F0BEE00 00000000 */ nop -.L7F0BEE04: -/* 0F3934 7F0BEE04 3C0F8005 */ lui $t7, %hi(mp_time) -/* 0F3938 7F0BEE08 8DEF8398 */ lw $t7, %lo(mp_time)($t7) -/* 0F393C 7F0BEE0C 8FAE0180 */ lw $t6, 0x180($sp) -/* 0F3940 7F0BEE10 3C198005 */ lui $t9, %hi(D_800483A0) -/* 0F3944 7F0BEE14 25F8FDA8 */ addiu $t8, $t7, -0x258 -/* 0F3948 7F0BEE18 01D8082A */ slt $at, $t6, $t8 -/* 0F394C 7F0BEE1C 1420000D */ bnez $at, .L7F0BEE54 -/* 0F3950 7F0BEE20 00000000 */ nop -/* 0F3954 7F0BEE24 8F3983A0 */ lw $t9, %lo(D_800483A0)($t9) -/* 0F3958 7F0BEE28 1720000A */ bnez $t9, .L7F0BEE54 -/* 0F395C 7F0BEE2C 00000000 */ nop -/* 0F3960 7F0BEE30 0FC2FF01 */ jal get_controls_locked_flag -/* 0F3964 7F0BEE34 00000000 */ nop -/* 0F3968 7F0BEE38 14400006 */ bnez $v0, .L7F0BEE54 -/* 0F396C 7F0BEE3C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0F3970 7F0BEE40 3C068005 */ lui $a2, %hi(D_800483A0) -/* 0F3974 7F0BEE44 24C683A0 */ addiu $a2, %lo(D_800483A0) # addiu $a2, $a2, -0x7c60 -/* 0F3978 7F0BEE48 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0F397C 7F0BEE4C 0C002382 */ jal play_sfx_a1 -/* 0F3980 7F0BEE50 240500A1 */ li $a1, 161 -.L7F0BEE54: -/* 0F3984 7F0BEE54 0FC2FF01 */ jal get_controls_locked_flag -/* 0F3988 7F0BEE58 00000000 */ nop -/* 0F398C 7F0BEE5C 1040000A */ beqz $v0, .L7F0BEE88 -/* 0F3990 7F0BEE60 3C048005 */ lui $a0, %hi(D_800483A0) -/* 0F3994 7F0BEE64 8C8483A0 */ lw $a0, %lo(D_800483A0)($a0) -/* 0F3998 7F0BEE68 10800007 */ beqz $a0, .L7F0BEE88 -/* 0F399C 7F0BEE6C 00000000 */ nop -/* 0F39A0 7F0BEE70 0C00237C */ jal sfxGetArg0Unk3F -/* 0F39A4 7F0BEE74 00000000 */ nop -/* 0F39A8 7F0BEE78 10400003 */ beqz $v0, .L7F0BEE88 -/* 0F39AC 7F0BEE7C 3C048005 */ lui $a0, %hi(D_800483A0) -/* 0F39B0 7F0BEE80 0C002408 */ jal sfxDeactivate -/* 0F39B4 7F0BEE84 8C8483A0 */ lw $a0, %lo(D_800483A0)($a0) -.L7F0BEE88: -/* 0F39B8 7F0BEE88 3C038005 */ lui $v1, %hi(mp_time) -/* 0F39BC 7F0BEE8C 8C638398 */ lw $v1, %lo(mp_time)($v1) -/* 0F39C0 7F0BEE90 8FAF0184 */ lw $t7, 0x184($sp) -/* 0F39C4 7F0BEE94 8FAE0180 */ lw $t6, 0x180($sp) -/* 0F39C8 7F0BEE98 01E3082A */ slt $at, $t7, $v1 -/* 0F39CC 7F0BEE9C 10200005 */ beqz $at, .L7F0BEEB4 -/* 0F39D0 7F0BEEA0 01C3082A */ slt $at, $t6, $v1 -/* 0F39D4 7F0BEEA4 14200003 */ bnez $at, .L7F0BEEB4 -/* 0F39D8 7F0BEEA8 00000000 */ nop -/* 0F39DC 7F0BEEAC 0FC3094C */ jal sub_GAME_7F0C2530 -/* 0F39E0 7F0BEEB0 00002025 */ move $a0, $zero -.L7F0BEEB4: -/* 0F39E4 7F0BEEB4 3C188005 */ lui $t8, %hi(mp_point) -/* 0F39E8 7F0BEEB8 8F18839C */ lw $t8, %lo(mp_point)($t8) -/* 0F39EC 7F0BEEBC 3C198005 */ lui $t9, %hi(clock_timer) -/* 0F39F0 7F0BEEC0 1B00003D */ blez $t8, .L7F0BEFB8 -/* 0F39F4 7F0BEEC4 00000000 */ nop -/* 0F39F8 7F0BEEC8 8F398374 */ lw $t9, %lo(clock_timer)($t9) -/* 0F39FC 7F0BEECC 1320003A */ beqz $t9, .L7F0BEFB8 -/* 0F3A00 7F0BEED0 00000000 */ nop -/* 0F3A04 7F0BEED4 0FC26919 */ jal get_num_players -/* 0F3A08 7F0BEED8 00000000 */ nop -/* 0F3A0C 7F0BEEDC 00403825 */ move $a3, $v0 -/* 0F3A10 7F0BEEE0 00002825 */ move $a1, $zero -/* 0F3A14 7F0BEEE4 00003025 */ move $a2, $zero -/* 0F3A18 7F0BEEE8 18400029 */ blez $v0, .L7F0BEF90 -/* 0F3A1C 7F0BEEEC 00002025 */ move $a0, $zero -/* 0F3A20 7F0BEEF0 3C038008 */ lui $v1, %hi(ptr_BONDdata_p1) -/* 0F3A24 7F0BEEF4 44800000 */ mtc1 $zero, $f0 -/* 0F3A28 7F0BEEF8 24639EE0 */ addiu $v1, %lo(ptr_BONDdata_p1) # addiu $v1, $v1, -0x6120 -.L7F0BEEFC: -/* 0F3A2C 7F0BEEFC 8C620000 */ lw $v0, ($v1) -/* 0F3A30 7F0BEF00 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0F3A34 7F0BEF04 51E0000E */ beql $t7, $zero, .L7F0BEF40 -/* 0F3A38 7F0BEF08 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F3A3C 7F0BEF0C 8C4E0424 */ lw $t6, 0x424($v0) -/* 0F3A40 7F0BEF10 51C0000A */ beql $t6, $zero, .L7F0BEF3C -/* 0F3A44 7F0BEF14 24A50001 */ addiu $a1, $a1, 1 -/* 0F3A48 7F0BEF18 8C580428 */ lw $t8, 0x428($v0) -/* 0F3A4C 7F0BEF1C 53000007 */ beql $t8, $zero, .L7F0BEF3C -/* 0F3A50 7F0BEF20 24A50001 */ addiu $a1, $a1, 1 -/* 0F3A54 7F0BEF24 C44803E4 */ lwc1 $f8, 0x3e4($v0) -/* 0F3A58 7F0BEF28 4608003E */ c.le.s $f0, $f8 -/* 0F3A5C 7F0BEF2C 00000000 */ nop -/* 0F3A60 7F0BEF30 45020003 */ bc1fl .L7F0BEF40 -/* 0F3A64 7F0BEF34 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F3A68 7F0BEF38 24A50001 */ addiu $a1, $a1, 1 -.L7F0BEF3C: -/* 0F3A6C 7F0BEF3C AFA3001C */ sw $v1, 0x1c($sp) -.L7F0BEF40: -/* 0F3A70 7F0BEF40 AFA40174 */ sw $a0, 0x174($sp) -/* 0F3A74 7F0BEF44 AFA50170 */ sw $a1, 0x170($sp) -/* 0F3A78 7F0BEF48 AFA6016C */ sw $a2, 0x16c($sp) -/* 0F3A7C 7F0BEF4C 0FC30E36 */ jal get_points_for_mp_player -/* 0F3A80 7F0BEF50 AFA70178 */ sw $a3, 0x178($sp) -/* 0F3A84 7F0BEF54 3C198005 */ lui $t9, %hi(mp_point) -/* 0F3A88 7F0BEF58 8F39839C */ lw $t9, %lo(mp_point)($t9) -/* 0F3A8C 7F0BEF5C 44800000 */ mtc1 $zero, $f0 -/* 0F3A90 7F0BEF60 8FA3001C */ lw $v1, 0x1c($sp) -/* 0F3A94 7F0BEF64 0059082A */ slt $at, $v0, $t9 -/* 0F3A98 7F0BEF68 8FA40174 */ lw $a0, 0x174($sp) -/* 0F3A9C 7F0BEF6C 8FA50170 */ lw $a1, 0x170($sp) -/* 0F3AA0 7F0BEF70 8FA6016C */ lw $a2, 0x16c($sp) -/* 0F3AA4 7F0BEF74 14200002 */ bnez $at, .L7F0BEF80 -/* 0F3AA8 7F0BEF78 8FA70178 */ lw $a3, 0x178($sp) -/* 0F3AAC 7F0BEF7C 24C60001 */ addiu $a2, $a2, 1 -.L7F0BEF80: -/* 0F3AB0 7F0BEF80 24840001 */ addiu $a0, $a0, 1 -/* 0F3AB4 7F0BEF84 0087082A */ slt $at, $a0, $a3 -/* 0F3AB8 7F0BEF88 1420FFDC */ bnez $at, .L7F0BEEFC -/* 0F3ABC 7F0BEF8C 24630004 */ addiu $v1, $v1, 4 -.L7F0BEF90: -/* 0F3AC0 7F0BEF90 18C00009 */ blez $a2, .L7F0BEFB8 -/* 0F3AC4 7F0BEF94 00000000 */ nop -/* 0F3AC8 7F0BEF98 14A00005 */ bnez $a1, .L7F0BEFB0 -/* 0F3ACC 7F0BEF9C 00000000 */ nop -/* 0F3AD0 7F0BEFA0 0FC3094C */ jal sub_GAME_7F0C2530 -/* 0F3AD4 7F0BEFA4 00002025 */ move $a0, $zero -/* 0F3AD8 7F0BEFA8 10000003 */ b .L7F0BEFB8 -/* 0F3ADC 7F0BEFAC 00000000 */ nop -.L7F0BEFB0: -/* 0F3AE0 7F0BEFB0 0FC30948 */ jal set_stopplay_flag -/* 0F3AE4 7F0BEFB4 00000000 */ nop -.L7F0BEFB8: -/* 0F3AE8 7F0BEFB8 0FC051D6 */ jal get_scenario -/* 0F3AEC 7F0BEFBC 00000000 */ nop -/* 0F3AF0 7F0BEFC0 24010001 */ li $at, 1 -/* 0F3AF4 7F0BEFC4 14410086 */ bne $v0, $at, .L7F0BF1E0 -/* 0F3AF8 7F0BEFC8 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 0F3AFC 7F0BEFCC 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 0F3B00 7F0BEFD0 11E00083 */ beqz $t7, .L7F0BF1E0 -/* 0F3B04 7F0BEFD4 00000000 */ nop -/* 0F3B08 7F0BEFD8 0FC26919 */ jal get_num_players -/* 0F3B0C 7F0BEFDC 00000000 */ nop -/* 0F3B10 7F0BEFE0 44800000 */ mtc1 $zero, $f0 -/* 0F3B14 7F0BEFE4 00405025 */ move $t2, $v0 -/* 0F3B18 7F0BEFE8 00006825 */ move $t5, $zero -/* 0F3B1C 7F0BEFEC 0000F825 */ move $ra, $zero -/* 0F3B20 7F0BEFF0 1840006E */ blez $v0, .L7F0BF1AC -/* 0F3B24 7F0BEFF4 00006025 */ move $t4, $zero -/* 0F3B28 7F0BEFF8 00002825 */ move $a1, $zero -.L7F0BEFFC: -/* 0F3B2C 7F0BEFFC 00003025 */ move $a2, $zero -/* 0F3B30 7F0BF000 18400048 */ blez $v0, .L7F0BF124 -/* 0F3B34 7F0BF004 00003825 */ move $a3, $zero -/* 0F3B38 7F0BF008 30490003 */ andi $t1, $v0, 3 -/* 0F3B3C 7F0BF00C 11200019 */ beqz $t1, .L7F0BF074 -/* 0F3B40 7F0BF010 000C5880 */ sll $t3, $t4, 2 -/* 0F3B44 7F0BF014 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) -/* 0F3B48 7F0BF018 27189EE0 */ addiu $t8, %lo(ptr_BONDdata_p1) # addiu $t8, $t8, -0x6120 -/* 0F3B4C 7F0BF01C 00007080 */ sll $t6, $zero, 2 -/* 0F3B50 7F0BF020 0000C8C0 */ sll $t9, $zero, 3 -/* 0F3B54 7F0BF024 0320C823 */ subu $t9, $t9, $zero -/* 0F3B58 7F0BF028 01D81821 */ addu $v1, $t6, $t8 -/* 0F3B5C 7F0BF02C 3C0E8008 */ lui $t6, %hi(player1_player_data) -/* 0F3B60 7F0BF030 0019C900 */ sll $t9, $t9, 4 -/* 0F3B64 7F0BF034 032B7821 */ addu $t7, $t9, $t3 -/* 0F3B68 7F0BF038 25CE9EF0 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x6110 -/* 0F3B6C 7F0BF03C 01EE2021 */ addu $a0, $t7, $t6 -/* 0F3B70 7F0BF040 01204025 */ move $t0, $t1 -.L7F0BF044: -/* 0F3B74 7F0BF044 8C780000 */ lw $t8, ($v1) -/* 0F3B78 7F0BF048 24E70001 */ addiu $a3, $a3, 1 -/* 0F3B7C 7F0BF04C 24630004 */ addiu $v1, $v1, 4 -/* 0F3B80 7F0BF050 8F1900D8 */ lw $t9, 0xd8($t8) -/* 0F3B84 7F0BF054 57200003 */ bnezl $t9, .L7F0BF064 -/* 0F3B88 7F0BF058 8C8F0024 */ lw $t7, 0x24($a0) -/* 0F3B8C 7F0BF05C 24C60001 */ addiu $a2, $a2, 1 -/* 0F3B90 7F0BF060 8C8F0024 */ lw $t7, 0x24($a0) -.L7F0BF064: -/* 0F3B94 7F0BF064 24840070 */ addiu $a0, $a0, 0x70 -/* 0F3B98 7F0BF068 1507FFF6 */ bne $t0, $a3, .L7F0BF044 -/* 0F3B9C 7F0BF06C 00AF2821 */ addu $a1, $a1, $t7 -/* 0F3BA0 7F0BF070 10E2002C */ beq $a3, $v0, .L7F0BF124 -.L7F0BF074: -/* 0F3BA4 7F0BF074 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) -/* 0F3BA8 7F0BF078 0007C8C0 */ sll $t9, $a3, 3 -/* 0F3BAC 7F0BF07C 0327C823 */ subu $t9, $t9, $a3 -/* 0F3BB0 7F0BF080 27189EE0 */ addiu $t8, %lo(ptr_BONDdata_p1) # addiu $t8, $t8, -0x6120 -/* 0F3BB4 7F0BF084 00077080 */ sll $t6, $a3, 2 -/* 0F3BB8 7F0BF088 01D81821 */ addu $v1, $t6, $t8 -/* 0F3BBC 7F0BF08C 0019C900 */ sll $t9, $t9, 4 -/* 0F3BC0 7F0BF090 032B7821 */ addu $t7, $t9, $t3 -/* 0F3BC4 7F0BF094 3C0E8008 */ lui $t6, %hi(player1_player_data) -/* 0F3BC8 7F0BF098 25CE9EF0 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x6110 -/* 0F3BCC 7F0BF09C 000AC880 */ sll $t9, $t2, 2 -/* 0F3BD0 7F0BF0A0 03384021 */ addu $t0, $t9, $t8 -/* 0F3BD4 7F0BF0A4 01EE2021 */ addu $a0, $t7, $t6 -.L7F0BF0A8: -/* 0F3BD8 7F0BF0A8 8C6F0000 */ lw $t7, ($v1) -/* 0F3BDC 7F0BF0AC 8DEE00D8 */ lw $t6, 0xd8($t7) -/* 0F3BE0 7F0BF0B0 55C00003 */ bnezl $t6, .L7F0BF0C0 -/* 0F3BE4 7F0BF0B4 8C780004 */ lw $t8, 4($v1) -/* 0F3BE8 7F0BF0B8 24C60001 */ addiu $a2, $a2, 1 -/* 0F3BEC 7F0BF0BC 8C780004 */ lw $t8, 4($v1) -.L7F0BF0C0: -/* 0F3BF0 7F0BF0C0 8C990024 */ lw $t9, 0x24($a0) -/* 0F3BF4 7F0BF0C4 8F0F00D8 */ lw $t7, 0xd8($t8) -/* 0F3BF8 7F0BF0C8 00B92821 */ addu $a1, $a1, $t9 -/* 0F3BFC 7F0BF0CC 55E00003 */ bnezl $t7, .L7F0BF0DC -/* 0F3C00 7F0BF0D0 8C790008 */ lw $t9, 8($v1) -/* 0F3C04 7F0BF0D4 24C60001 */ addiu $a2, $a2, 1 -/* 0F3C08 7F0BF0D8 8C790008 */ lw $t9, 8($v1) -.L7F0BF0DC: -/* 0F3C0C 7F0BF0DC 8C8E0094 */ lw $t6, 0x94($a0) -/* 0F3C10 7F0BF0E0 8F3800D8 */ lw $t8, 0xd8($t9) -/* 0F3C14 7F0BF0E4 00AE2821 */ addu $a1, $a1, $t6 -/* 0F3C18 7F0BF0E8 57000003 */ bnezl $t8, .L7F0BF0F8 -/* 0F3C1C 7F0BF0EC 8C6E000C */ lw $t6, 0xc($v1) -/* 0F3C20 7F0BF0F0 24C60001 */ addiu $a2, $a2, 1 -/* 0F3C24 7F0BF0F4 8C6E000C */ lw $t6, 0xc($v1) -.L7F0BF0F8: -/* 0F3C28 7F0BF0F8 8C8F0104 */ lw $t7, 0x104($a0) -/* 0F3C2C 7F0BF0FC 24630010 */ addiu $v1, $v1, 0x10 -/* 0F3C30 7F0BF100 8DD900D8 */ lw $t9, 0xd8($t6) -/* 0F3C34 7F0BF104 00AF2821 */ addu $a1, $a1, $t7 -/* 0F3C38 7F0BF108 57200003 */ bnezl $t9, .L7F0BF118 -/* 0F3C3C 7F0BF10C 8C980174 */ lw $t8, 0x174($a0) -/* 0F3C40 7F0BF110 24C60001 */ addiu $a2, $a2, 1 -/* 0F3C44 7F0BF114 8C980174 */ lw $t8, 0x174($a0) -.L7F0BF118: -/* 0F3C48 7F0BF118 248401C0 */ addiu $a0, $a0, 0x1c0 -/* 0F3C4C 7F0BF11C 1468FFE2 */ bne $v1, $t0, .L7F0BF0A8 -/* 0F3C50 7F0BF120 00B82821 */ addu $a1, $a1, $t8 -.L7F0BF124: -/* 0F3C54 7F0BF124 28A10002 */ slti $at, $a1, 2 -/* 0F3C58 7F0BF128 1420001C */ bnez $at, .L7F0BF19C -/* 0F3C5C 7F0BF12C 000C78C0 */ sll $t7, $t4, 3 -/* 0F3C60 7F0BF130 01EC7823 */ subu $t7, $t7, $t4 -/* 0F3C64 7F0BF134 3C0E8008 */ lui $t6, %hi(player1_player_data) -/* 0F3C68 7F0BF138 25CE9EF0 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x6110 -/* 0F3C6C 7F0BF13C 000F7900 */ sll $t7, $t7, 4 -/* 0F3C70 7F0BF140 01EE1821 */ addu $v1, $t7, $t6 -/* 0F3C74 7F0BF144 906F0068 */ lbu $t7, 0x68($v1) -/* 0F3C78 7F0BF148 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) -/* 0F3C7C 7F0BF14C 27189EE0 */ addiu $t8, %lo(ptr_BONDdata_p1) # addiu $t8, $t8, -0x6120 -/* 0F3C80 7F0BF150 000CC880 */ sll $t9, $t4, 2 -/* 0F3C84 7F0BF154 15E00003 */ bnez $t7, .L7F0BF164 -/* 0F3C88 7F0BF158 03382021 */ addu $a0, $t9, $t8 -/* 0F3C8C 7F0BF15C 24CE0001 */ addiu $t6, $a2, 1 -/* 0F3C90 7F0BF160 A06E0068 */ sb $t6, 0x68($v1) -.L7F0BF164: -/* 0F3C94 7F0BF164 8C830000 */ lw $v1, ($a0) -/* 0F3C98 7F0BF168 25AD0001 */ addiu $t5, $t5, 1 -/* 0F3C9C 7F0BF16C 8C790424 */ lw $t9, 0x424($v1) -/* 0F3CA0 7F0BF170 5320000B */ beql $t9, $zero, .L7F0BF1A0 -/* 0F3CA4 7F0BF174 258C0001 */ addiu $t4, $t4, 1 -/* 0F3CA8 7F0BF178 8C780428 */ lw $t8, 0x428($v1) -/* 0F3CAC 7F0BF17C 53000008 */ beql $t8, $zero, .L7F0BF1A0 -/* 0F3CB0 7F0BF180 258C0001 */ addiu $t4, $t4, 1 -/* 0F3CB4 7F0BF184 C46A03E4 */ lwc1 $f10, 0x3e4($v1) -/* 0F3CB8 7F0BF188 4600503C */ c.lt.s $f10, $f0 -/* 0F3CBC 7F0BF18C 00000000 */ nop -/* 0F3CC0 7F0BF190 45020003 */ bc1fl .L7F0BF1A0 -/* 0F3CC4 7F0BF194 258C0001 */ addiu $t4, $t4, 1 -/* 0F3CC8 7F0BF198 27FF0001 */ addiu $ra, $ra, 1 -.L7F0BF19C: -/* 0F3CCC 7F0BF19C 258C0001 */ addiu $t4, $t4, 1 -.L7F0BF1A0: -/* 0F3CD0 7F0BF1A0 018A082A */ slt $at, $t4, $t2 -/* 0F3CD4 7F0BF1A4 5420FF95 */ bnezl $at, .L7F0BEFFC -/* 0F3CD8 7F0BF1A8 00002825 */ move $a1, $zero -.L7F0BF1AC: -/* 0F3CDC 7F0BF1AC 2443FFFF */ addiu $v1, $v0, -1 -/* 0F3CE0 7F0BF1B0 03E3082A */ slt $at, $ra, $v1 -/* 0F3CE4 7F0BF1B4 54200006 */ bnezl $at, .L7F0BF1D0 -/* 0F3CE8 7F0BF1B8 01A3082A */ slt $at, $t5, $v1 -/* 0F3CEC 7F0BF1BC 0FC3094C */ jal sub_GAME_7F0C2530 -/* 0F3CF0 7F0BF1C0 00002025 */ move $a0, $zero -/* 0F3CF4 7F0BF1C4 10000006 */ b .L7F0BF1E0 -/* 0F3CF8 7F0BF1C8 00000000 */ nop -/* 0F3CFC 7F0BF1CC 01A3082A */ slt $at, $t5, $v1 -.L7F0BF1D0: -/* 0F3D00 7F0BF1D0 14200003 */ bnez $at, .L7F0BF1E0 -/* 0F3D04 7F0BF1D4 00000000 */ nop -/* 0F3D08 7F0BF1D8 0FC30948 */ jal set_stopplay_flag -/* 0F3D0C 7F0BF1DC 00000000 */ nop -.L7F0BF1E0: -/* 0F3D10 7F0BF1E0 3C028005 */ lui $v0, %hi(clock_timer) -/* 0F3D14 7F0BF1E4 3C0F8005 */ lui $t7, %hi(D_80048394) -/* 0F3D18 7F0BF1E8 8DEF8394 */ lw $t7, %lo(D_80048394)($t7) -/* 0F3D1C 7F0BF1EC 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0F3D20 7F0BF1F0 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0F3D24 7F0BF1F4 44810000 */ mtc1 $at, $f0 -/* 0F3D28 7F0BF1F8 01E27021 */ addu $t6, $t7, $v0 -/* 0F3D2C 7F0BF1FC 448E8000 */ mtc1 $t6, $f16 -/* 0F3D30 7F0BF200 3C018005 */ lui $at, %hi(D_80048394) -/* 0F3D34 7F0BF204 AC2E8394 */ sw $t6, %lo(D_80048394)($at) -/* 0F3D38 7F0BF208 468084A0 */ cvt.s.w $f18, $f16 -/* 0F3D3C 7F0BF20C 3C038005 */ lui $v1, %hi(D_800483A8) -/* 0F3D40 7F0BF210 3C018005 */ lui $at, %hi(cur_mp_sec) -/* 0F3D44 7F0BF214 246383A8 */ addiu $v1, %lo(D_800483A8) # addiu $v1, $v1, -0x7c58 -/* 0F3D48 7F0BF218 00002025 */ move $a0, $zero -/* 0F3D4C 7F0BF21C 3405FFFF */ li $a1, 65535 -/* 0F3D50 7F0BF220 46009103 */ div.s $f4, $f18, $f0 -/* 0F3D54 7F0BF224 E42483A4 */ swc1 $f4, %lo(cur_mp_sec)($at) -/* 0F3D58 7F0BF228 8C790000 */ lw $t9, ($v1) -/* 0F3D5C 7F0BF22C 3C018005 */ lui $at, %hi(cur_mp_min) -/* 0F3D60 7F0BF230 03227821 */ addu $t7, $t9, $v0 -/* 0F3D64 7F0BF234 448F3000 */ mtc1 $t7, $f6 -/* 0F3D68 7F0BF238 AC6F0000 */ sw $t7, ($v1) -/* 0F3D6C 7F0BF23C 46803220 */ cvt.s.w $f8, $f6 -/* 0F3D70 7F0BF240 46004283 */ div.s $f10, $f8, $f0 -/* 0F3D74 7F0BF244 0C0030EB */ jal get_controller_buttons_pressed -/* 0F3D78 7F0BF248 E42A83AC */ swc1 $f10, %lo(cur_mp_min)($at) -/* 0F3D7C 7F0BF24C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0F3D80 7F0BF250 44810000 */ mtc1 $at, $f0 -/* 0F3D84 7F0BF254 10400009 */ beqz $v0, .L7F0BF27C -/* 0F3D88 7F0BF258 3C038005 */ lui $v1, %hi(D_80048390) -/* 0F3D8C 7F0BF25C 3C038005 */ lui $v1, %hi(D_80048390) -/* 0F3D90 7F0BF260 3C018005 */ lui $at, %hi(D_80048388) -/* 0F3D94 7F0BF264 24638390 */ addiu $v1, %lo(D_80048390) # addiu $v1, $v1, -0x7c70 -/* 0F3D98 7F0BF268 AC208388 */ sw $zero, %lo(D_80048388)($at) -/* 0F3D9C 7F0BF26C AC600000 */ sw $zero, ($v1) -/* 0F3DA0 7F0BF270 3C028005 */ lui $v0, %hi(clock_timer) -/* 0F3DA4 7F0BF274 1000000C */ b .L7F0BF2A8 -/* 0F3DA8 7F0BF278 8C428374 */ lw $v0, %lo(clock_timer)($v0) -.L7F0BF27C: -/* 0F3DAC 7F0BF27C 24638390 */ addiu $v1, $v1, %lo(D_80048390) -/* 0F3DB0 7F0BF280 3C028005 */ lui $v0, %hi(clock_timer) -/* 0F3DB4 7F0BF284 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0F3DB8 7F0BF288 8C6E0000 */ lw $t6, ($v1) -/* 0F3DBC 7F0BF28C 240F0001 */ li $t7, 1 -/* 0F3DC0 7F0BF290 01C2C821 */ addu $t9, $t6, $v0 -/* 0F3DC4 7F0BF294 2B210708 */ slti $at, $t9, 0x708 -/* 0F3DC8 7F0BF298 14200003 */ bnez $at, .L7F0BF2A8 -/* 0F3DCC 7F0BF29C AC790000 */ sw $t9, ($v1) -/* 0F3DD0 7F0BF2A0 3C018005 */ lui $at, %hi(D_80048388) -/* 0F3DD4 7F0BF2A4 AC2F8388 */ sw $t7, %lo(D_80048388)($at) -.L7F0BF2A8: -/* 0F3DD8 7F0BF2A8 3C0E8005 */ lui $t6, %hi(D_80048388) -/* 0F3DDC 7F0BF2AC 8DCE8388 */ lw $t6, %lo(D_80048388)($t6) -/* 0F3DE0 7F0BF2B0 3C038005 */ lui $v1, %hi(D_8004838C) -/* 0F3DE4 7F0BF2B4 2463838C */ addiu $v1, %lo(D_8004838C) # addiu $v1, $v1, -0x7c74 -/* 0F3DE8 7F0BF2B8 11C00005 */ beqz $t6, .L7F0BF2D0 -/* 0F3DEC 7F0BF2BC 00000000 */ nop -/* 0F3DF0 7F0BF2C0 8C790000 */ lw $t9, ($v1) -/* 0F3DF4 7F0BF2C4 0322C021 */ addu $t8, $t9, $v0 -/* 0F3DF8 7F0BF2C8 10000015 */ b .L7F0BF320 -/* 0F3DFC 7F0BF2CC AC780000 */ sw $t8, ($v1) -.L7F0BF2D0: -/* 0F3E00 7F0BF2D0 3C038005 */ lui $v1, %hi(D_800483B0) -/* 0F3E04 7F0BF2D4 246383B0 */ addiu $v1, %lo(D_800483B0) # addiu $v1, $v1, -0x7c50 -/* 0F3E08 7F0BF2D8 8C6F0000 */ lw $t7, ($v1) -/* 0F3E0C 7F0BF2DC 3C048005 */ lui $a0, %hi(D_800483B8) -/* 0F3E10 7F0BF2E0 3C018005 */ lui $at, %hi(stage_time_sec) -/* 0F3E14 7F0BF2E4 01E2C821 */ addu $t9, $t7, $v0 -/* 0F3E18 7F0BF2E8 44998000 */ mtc1 $t9, $f16 -/* 0F3E1C 7F0BF2EC AC790000 */ sw $t9, ($v1) -/* 0F3E20 7F0BF2F0 248483B8 */ addiu $a0, %lo(D_800483B8) # addiu $a0, $a0, -0x7c48 -/* 0F3E24 7F0BF2F4 468084A0 */ cvt.s.w $f18, $f16 -/* 0F3E28 7F0BF2F8 46009103 */ div.s $f4, $f18, $f0 -/* 0F3E2C 7F0BF2FC E42483B4 */ swc1 $f4, %lo(stage_time_sec)($at) -/* 0F3E30 7F0BF300 8C980000 */ lw $t8, ($a0) -/* 0F3E34 7F0BF304 3C018005 */ lui $at, %hi(poweron_time_sec) -/* 0F3E38 7F0BF308 03027021 */ addu $t6, $t8, $v0 -/* 0F3E3C 7F0BF30C 448E3000 */ mtc1 $t6, $f6 -/* 0F3E40 7F0BF310 AC8E0000 */ sw $t6, ($a0) -/* 0F3E44 7F0BF314 46803220 */ cvt.s.w $f8, $f6 -/* 0F3E48 7F0BF318 46004283 */ div.s $f10, $f8, $f0 -/* 0F3E4C 7F0BF31C E42A83BC */ swc1 $f10, %lo(poweron_time_sec)($at) -.L7F0BF320: -/* 0F3E50 7F0BF320 0C00114D */ jal set_video2_settings_offset_24 -/* 0F3E54 7F0BF324 24040001 */ li $a0, 1 -/* 0F3E58 7F0BF328 3C198005 */ lui $t9, %hi(current_stage_to_load) -/* 0F3E5C 7F0BF32C 8F398364 */ lw $t9, %lo(current_stage_to_load)($t9) -/* 0F3E60 7F0BF330 2401005A */ li $at, 90 -/* 0F3E64 7F0BF334 17210009 */ bne $t9, $at, .L7F0BF35C -/* 0F3E68 7F0BF338 00000000 */ nop -/* 0F3E6C 7F0BF33C 0FC2464F */ jal cheat_buttons_mp_related -/* 0F3E70 7F0BF340 00000000 */ nop -/* 0F3E74 7F0BF344 0FC06987 */ jal menu_init -/* 0F3E78 7F0BF348 00000000 */ nop -/* 0F3E7C 7F0BF34C 0FC30650 */ jal something_with_LnameJ -/* 0F3E80 7F0BF350 00000000 */ nop -/* 0F3E84 7F0BF354 100000A9 */ b .L7F0BF5FC -/* 0F3E88 7F0BF358 00000000 */ nop -.L7F0BF35C: -/* 0F3E8C 7F0BF35C 0FC26EEF */ jal sub_GAME_7F09BBBC -/* 0F3E90 7F0BF360 00000000 */ nop -/* 0F3E94 7F0BF364 0FC2FA34 */ jal sub_GAME_7F0BE8D0 -/* 0F3E98 7F0BF368 00000000 */ nop -/* 0F3E9C 7F0BF36C 0FC2F1F5 */ jal sub_GAME_7F0BC7D4 -/* 0F3EA0 7F0BF370 00000000 */ nop -/* 0F3EA4 7F0BF374 0FC24B94 */ jal sub_GAME_7F092E50 -/* 0F3EA8 7F0BF378 00000000 */ nop -/* 0F3EAC 7F0BF37C 0FC2510E */ jal sub_GAME_7F094438 -/* 0F3EB0 7F0BF380 00000000 */ nop -/* 0F3EB4 7F0BF384 0FC291FF */ jal sub_GAME_7F0A47FC -/* 0F3EB8 7F0BF388 00000000 */ nop -/* 0F3EBC 7F0BF38C 0FC1A39B */ jal sub_GAME_7F068E6C -/* 0F3EC0 7F0BF390 00000000 */ nop -/* 0F3EC4 7F0BF394 0FC28A35 */ jal sub_GAME_7F0A28D4 -/* 0F3EC8 7F0BF398 00000000 */ nop -/* 0F3ECC 7F0BF39C 0FC27F4F */ jal sub_GAME_7F09FD3C -/* 0F3ED0 7F0BF3A0 00000000 */ nop -/* 0F3ED4 7F0BF3A4 0FC0F192 */ jal handle_mp_respawn_and_some_things -/* 0F3ED8 7F0BF3A8 00000000 */ nop -/* 0F3EDC 7F0BF3AC 0FC304F2 */ jal reset_all_music_slots -/* 0F3EE0 7F0BF3B0 00000000 */ nop -/* 0F3EE4 7F0BF3B4 0FC30650 */ jal something_with_LnameJ -/* 0F3EE8 7F0BF3B8 00000000 */ nop -/* 0F3EEC 7F0BF3BC 0FC243EE */ jal get_debug_joy2detailedit_flag -/* 0F3EF0 7F0BF3C0 00000000 */ nop -/* 0F3EF4 7F0BF3C4 1040004D */ beqz $v0, .L7F0BF4FC -/* 0F3EF8 7F0BF3C8 3C068005 */ lui $a2, %hi(D_800483C8) -/* 0F3EFC 7F0BF3CC 24C683C8 */ addiu $a2, %lo(D_800483C8) # addiu $a2, $a2, -0x7c38 -/* 0F3F00 7F0BF3D0 8CD80000 */ lw $t8, ($a2) -/* 0F3F04 7F0BF3D4 24043000 */ li $a0, 12288 -/* 0F3F08 7F0BF3D8 17000048 */ bnez $t8, .L7F0BF4FC -/* 0F3F0C 7F0BF3DC 00000000 */ nop -/* 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 -/* 0F3F20 7F0BF3F0 10400042 */ beqz $v0, .L7F0BF4FC -/* 0F3F24 7F0BF3F4 ACC20000 */ sw $v0, ($a2) -/* 0F3F28 7F0BF3F8 00001825 */ move $v1, $zero -/* 0F3F2C 7F0BF3FC 24052EE0 */ li $a1, 12000 -/* 0F3F30 7F0BF400 240400FF */ li $a0, 255 -.L7F0BF404: -/* 0F3F34 7F0BF404 8CCE0000 */ lw $t6, ($a2) -/* 0F3F38 7F0BF408 01C3C821 */ addu $t9, $t6, $v1 -/* 0F3F3C 7F0BF40C A3240000 */ sb $a0, ($t9) -/* 0F3F40 7F0BF410 8CD80000 */ lw $t8, ($a2) -/* 0F3F44 7F0BF414 03031021 */ addu $v0, $t8, $v1 -/* 0F3F48 7F0BF418 904F0001 */ lbu $t7, 1($v0) -/* 0F3F4C 7F0BF41C 31EEFF1F */ andi $t6, $t7, 0xff1f -/* 0F3F50 7F0BF420 35D90020 */ ori $t9, $t6, 0x20 -/* 0F3F54 7F0BF424 A0590001 */ sb $t9, 1($v0) -/* 0F3F58 7F0BF428 8CD80000 */ lw $t8, ($a2) -/* 0F3F5C 7F0BF42C 03031021 */ addu $v0, $t8, $v1 -/* 0F3F60 7F0BF430 904F0001 */ lbu $t7, 1($v0) -/* 0F3F64 7F0BF434 31EEFFE3 */ andi $t6, $t7, 0xffe3 -/* 0F3F68 7F0BF438 35D90004 */ ori $t9, $t6, 4 -/* 0F3F6C 7F0BF43C A0590001 */ sb $t9, 1($v0) -/* 0F3F70 7F0BF440 8CD80000 */ lw $t8, ($a2) -/* 0F3F74 7F0BF444 03037821 */ addu $t7, $t8, $v1 -/* 0F3F78 7F0BF448 A1E40004 */ sb $a0, 4($t7) -/* 0F3F7C 7F0BF44C 8CCE0000 */ lw $t6, ($a2) -/* 0F3F80 7F0BF450 01C31021 */ addu $v0, $t6, $v1 -/* 0F3F84 7F0BF454 90590005 */ lbu $t9, 5($v0) -/* 0F3F88 7F0BF458 3338FF1F */ andi $t8, $t9, 0xff1f -/* 0F3F8C 7F0BF45C 370F0020 */ ori $t7, $t8, 0x20 -/* 0F3F90 7F0BF460 A04F0005 */ sb $t7, 5($v0) -/* 0F3F94 7F0BF464 8CCE0000 */ lw $t6, ($a2) -/* 0F3F98 7F0BF468 01C31021 */ addu $v0, $t6, $v1 -/* 0F3F9C 7F0BF46C 90590005 */ lbu $t9, 5($v0) -/* 0F3FA0 7F0BF470 3338FFE3 */ andi $t8, $t9, 0xffe3 -/* 0F3FA4 7F0BF474 370F0004 */ ori $t7, $t8, 4 -/* 0F3FA8 7F0BF478 A04F0005 */ sb $t7, 5($v0) -/* 0F3FAC 7F0BF47C 8CCE0000 */ lw $t6, ($a2) -/* 0F3FB0 7F0BF480 01C3C821 */ addu $t9, $t6, $v1 -/* 0F3FB4 7F0BF484 A3240008 */ sb $a0, 8($t9) -/* 0F3FB8 7F0BF488 8CD80000 */ lw $t8, ($a2) -/* 0F3FBC 7F0BF48C 03031021 */ addu $v0, $t8, $v1 -/* 0F3FC0 7F0BF490 904F0009 */ lbu $t7, 9($v0) -/* 0F3FC4 7F0BF494 31EEFF1F */ andi $t6, $t7, 0xff1f -/* 0F3FC8 7F0BF498 35D90020 */ ori $t9, $t6, 0x20 -/* 0F3FCC 7F0BF49C A0590009 */ sb $t9, 9($v0) -/* 0F3FD0 7F0BF4A0 8CD80000 */ lw $t8, ($a2) -/* 0F3FD4 7F0BF4A4 03031021 */ addu $v0, $t8, $v1 -/* 0F3FD8 7F0BF4A8 904F0009 */ lbu $t7, 9($v0) -/* 0F3FDC 7F0BF4AC 31EEFFE3 */ andi $t6, $t7, 0xffe3 -/* 0F3FE0 7F0BF4B0 35D90004 */ ori $t9, $t6, 4 -/* 0F3FE4 7F0BF4B4 A0590009 */ sb $t9, 9($v0) -/* 0F3FE8 7F0BF4B8 8CD80000 */ lw $t8, ($a2) -/* 0F3FEC 7F0BF4BC 03037821 */ addu $t7, $t8, $v1 -/* 0F3FF0 7F0BF4C0 A1E4000C */ sb $a0, 0xc($t7) -/* 0F3FF4 7F0BF4C4 8CCE0000 */ lw $t6, ($a2) -/* 0F3FF8 7F0BF4C8 01C31021 */ addu $v0, $t6, $v1 -/* 0F3FFC 7F0BF4CC 9059000D */ lbu $t9, 0xd($v0) -/* 0F4000 7F0BF4D0 3338FF1F */ andi $t8, $t9, 0xff1f -/* 0F4004 7F0BF4D4 370F0020 */ ori $t7, $t8, 0x20 -/* 0F4008 7F0BF4D8 A04F000D */ sb $t7, 0xd($v0) -/* 0F400C 7F0BF4DC 8CCE0000 */ lw $t6, ($a2) -/* 0F4010 7F0BF4E0 01C31021 */ addu $v0, $t6, $v1 -/* 0F4014 7F0BF4E4 9059000D */ lbu $t9, 0xd($v0) -/* 0F4018 7F0BF4E8 24630010 */ addiu $v1, $v1, 0x10 -/* 0F401C 7F0BF4EC 3338FFE3 */ andi $t8, $t9, 0xffe3 -/* 0F4020 7F0BF4F0 370F0004 */ ori $t7, $t8, 4 -/* 0F4024 7F0BF4F4 1465FFC3 */ bne $v1, $a1, .L7F0BF404 -/* 0F4028 7F0BF4F8 A04F000D */ sb $t7, 0xd($v0) -.L7F0BF4FC: -/* 0F402C 7F0BF4FC 0FC2440F */ jal get_debug_portal_flag -/* 0F4030 7F0BF500 00000000 */ nop -/* 0F4034 7F0BF504 10400003 */ beqz $v0, .L7F0BF514 -/* 0F4038 7F0BF508 00000000 */ nop -/* 0F403C 7F0BF50C 0FC2F7C4 */ jal sub_GAME_7F0BDF10 -/* 0F4040 7F0BF510 00002025 */ move $a0, $zero -.L7F0BF514: -/* 0F4044 7F0BF514 0FC243C5 */ jal get_debug_limit_controller_input -/* 0F4048 7F0BF518 00000000 */ nop -/* 0F404C 7F0BF51C 24010004 */ li $at, 4 -/* 0F4050 7F0BF520 10410006 */ beq $v0, $at, .L7F0BF53C -/* 0F4054 7F0BF524 00002025 */ move $a0, $zero -/* 0F4058 7F0BF528 24010008 */ li $at, 8 -/* 0F405C 7F0BF52C 1041001A */ beq $v0, $at, .L7F0BF598 -/* 0F4060 7F0BF530 00002025 */ move $a0, $zero -/* 0F4064 7F0BF534 10000031 */ b .L7F0BF5FC -/* 0F4068 7F0BF538 00000000 */ nop -.L7F0BF53C: -/* 0F406C 7F0BF53C 0C0030EB */ jal get_controller_buttons_pressed -/* 0F4070 7F0BF540 24050002 */ li $a1, 2 -/* 0F4074 7F0BF544 50400008 */ beql $v0, $zero, .L7F0BF568 -/* 0F4078 7F0BF548 00002025 */ move $a0, $zero -/* 0F407C 7F0BF54C 0FC2BD8C */ jal sub_GAME_7F0AF630 -/* 0F4080 7F0BF550 2404FFFF */ li $a0, -1 -/* 0F4084 7F0BF554 00002025 */ move $a0, $zero -/* 0F4088 7F0BF558 00002825 */ move $a1, $zero -/* 0F408C 7F0BF55C 0FC2CB4E */ jal sub_GAME_7F0B2D38 -/* 0F4090 7F0BF560 00003025 */ move $a2, $zero -/* 0F4094 7F0BF564 00002025 */ move $a0, $zero -.L7F0BF568: -/* 0F4098 7F0BF568 0C0030EB */ jal get_controller_buttons_pressed -/* 0F409C 7F0BF56C 24050001 */ li $a1, 1 -/* 0F40A0 7F0BF570 10400022 */ beqz $v0, .L7F0BF5FC -/* 0F40A4 7F0BF574 00000000 */ nop -/* 0F40A8 7F0BF578 0FC2BD8C */ jal sub_GAME_7F0AF630 -/* 0F40AC 7F0BF57C 24040001 */ li $a0, 1 -/* 0F40B0 7F0BF580 00002025 */ move $a0, $zero -/* 0F40B4 7F0BF584 00002825 */ move $a1, $zero -/* 0F40B8 7F0BF588 0FC2CB4E */ jal sub_GAME_7F0B2D38 -/* 0F40BC 7F0BF58C 00003025 */ move $a2, $zero -/* 0F40C0 7F0BF590 1000001A */ b .L7F0BF5FC -/* 0F40C4 7F0BF594 00000000 */ nop -.L7F0BF598: -/* 0F40C8 7F0BF598 0C0030EB */ jal get_controller_buttons_pressed -/* 0F40CC 7F0BF59C 24050002 */ li $a1, 2 -/* 0F40D0 7F0BF5A0 50400004 */ beql $v0, $zero, .L7F0BF5B4 -/* 0F40D4 7F0BF5A4 00002025 */ move $a0, $zero -/* 0F40D8 7F0BF5A8 0FC08B8C */ jal sub_GAME_7F022E30 -/* 0F40DC 7F0BF5AC 00000000 */ nop -/* 0F40E0 7F0BF5B0 00002025 */ move $a0, $zero -.L7F0BF5B4: -/* 0F40E4 7F0BF5B4 0C0030EB */ jal get_controller_buttons_pressed -/* 0F40E8 7F0BF5B8 24050001 */ li $a1, 1 -/* 0F40EC 7F0BF5BC 50400004 */ beql $v0, $zero, .L7F0BF5D0 -/* 0F40F0 7F0BF5C0 00002025 */ move $a0, $zero -/* 0F40F4 7F0BF5C4 0FC08BA4 */ jal sub_GAME_7F022E90 -/* 0F40F8 7F0BF5C8 00000000 */ nop -/* 0F40FC 7F0BF5CC 00002025 */ move $a0, $zero -.L7F0BF5D0: -/* 0F4100 7F0BF5D0 0C0030EB */ jal get_controller_buttons_pressed -/* 0F4104 7F0BF5D4 24050020 */ li $a1, 32 -/* 0F4108 7F0BF5D8 50400004 */ beql $v0, $zero, .L7F0BF5EC -/* 0F410C 7F0BF5DC 00002025 */ move $a0, $zero -/* 0F4110 7F0BF5E0 0FC08BB2 */ jal sub_GAME_7F022EC8 -/* 0F4114 7F0BF5E4 00000000 */ nop -/* 0F4118 7F0BF5E8 00002025 */ move $a0, $zero -.L7F0BF5EC: -/* 0F411C 7F0BF5EC 0C0030C3 */ jal get_controller_buttons_held -/* 0F4120 7F0BF5F0 24050010 */ li $a1, 16 -/* 0F4124 7F0BF5F4 0FC08BB8 */ jal sub_GAME_7F022EE0 -/* 0F4128 7F0BF5F8 0002202B */ sltu $a0, $zero, $v0 -.L7F0BF5FC: -/* 0F412C 7F0BF5FC 0FC243C5 */ jal get_debug_limit_controller_input -/* 0F4130 7F0BF600 00000000 */ nop -/* 0F4134 7F0BF604 2401000C */ li $at, 12 -/* 0F4138 7F0BF608 1041002E */ beq $v0, $at, .L7F0BF6C4 -/* 0F413C 7F0BF60C 00002025 */ move $a0, $zero -/* 0F4140 7F0BF610 2401000D */ li $at, 13 -/* 0F4144 7F0BF614 10410048 */ beq $v0, $at, .L7F0BF738 -/* 0F4148 7F0BF618 00002025 */ move $a0, $zero -/* 0F414C 7F0BF61C 24010038 */ li $at, 56 -/* 0F4150 7F0BF620 54410074 */ bnel $v0, $at, .L7F0BF7F4 -/* 0F4154 7F0BF624 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4158 7F0BF628 0C0010EA */ jal get_D_8002329C -/* 0F415C 7F0BF62C 00000000 */ nop -/* 0F4160 7F0BF630 0C0010E4 */ jal get_D_800232A0 -/* 0F4164 7F0BF634 AFA20030 */ sw $v0, 0x30($sp) -/* 0F4168 7F0BF638 AFA2002C */ sw $v0, 0x2c($sp) -/* 0F416C 7F0BF63C 00002025 */ move $a0, $zero -/* 0F4170 7F0BF640 0C0030C3 */ jal get_controller_buttons_held -/* 0F4174 7F0BF644 24050004 */ li $a1, 4 -/* 0F4178 7F0BF648 10400004 */ beqz $v0, .L7F0BF65C -/* 0F417C 7F0BF64C 00002025 */ move $a0, $zero -/* 0F4180 7F0BF650 8FAE002C */ lw $t6, 0x2c($sp) -/* 0F4184 7F0BF654 25D90001 */ addiu $t9, $t6, 1 -/* 0F4188 7F0BF658 AFB9002C */ sw $t9, 0x2c($sp) -.L7F0BF65C: -/* 0F418C 7F0BF65C 0C0030C3 */ jal get_controller_buttons_held -/* 0F4190 7F0BF660 24050008 */ li $a1, 8 -/* 0F4194 7F0BF664 10400004 */ beqz $v0, .L7F0BF678 -/* 0F4198 7F0BF668 00002025 */ move $a0, $zero -/* 0F419C 7F0BF66C 8FB8002C */ lw $t8, 0x2c($sp) -/* 0F41A0 7F0BF670 270FFFFF */ addiu $t7, $t8, -1 -/* 0F41A4 7F0BF674 AFAF002C */ sw $t7, 0x2c($sp) -.L7F0BF678: -/* 0F41A8 7F0BF678 0C0030C3 */ jal get_controller_buttons_held -/* 0F41AC 7F0BF67C 24050001 */ li $a1, 1 -/* 0F41B0 7F0BF680 10400004 */ beqz $v0, .L7F0BF694 -/* 0F41B4 7F0BF684 00002025 */ move $a0, $zero -/* 0F41B8 7F0BF688 8FAE0030 */ lw $t6, 0x30($sp) -/* 0F41BC 7F0BF68C 25D90001 */ addiu $t9, $t6, 1 -/* 0F41C0 7F0BF690 AFB90030 */ sw $t9, 0x30($sp) -.L7F0BF694: -/* 0F41C4 7F0BF694 0C0030C3 */ jal get_controller_buttons_held -/* 0F41C8 7F0BF698 24050002 */ li $a1, 2 -/* 0F41CC 7F0BF69C 10400003 */ beqz $v0, .L7F0BF6AC -/* 0F41D0 7F0BF6A0 8FB80030 */ lw $t8, 0x30($sp) -/* 0F41D4 7F0BF6A4 270FFFFF */ addiu $t7, $t8, -1 -/* 0F41D8 7F0BF6A8 AFAF0030 */ sw $t7, 0x30($sp) -.L7F0BF6AC: -/* 0F41DC 7F0BF6AC 0C0010E7 */ jal set_D_8002329C -/* 0F41E0 7F0BF6B0 8FA40030 */ lw $a0, 0x30($sp) -/* 0F41E4 7F0BF6B4 0C0010E1 */ jal set_D_800232A0 -/* 0F41E8 7F0BF6B8 8FA4002C */ lw $a0, 0x2c($sp) -/* 0F41EC 7F0BF6BC 1000004D */ b .L7F0BF7F4 -/* 0F41F0 7F0BF6C0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BF6C4: -/* 0F41F4 7F0BF6C4 0C0030EB */ jal get_controller_buttons_pressed -/* 0F41F8 7F0BF6C8 24050202 */ li $a1, 514 -/* 0F41FC 7F0BF6CC 50400004 */ beql $v0, $zero, .L7F0BF6E0 -/* 0F4200 7F0BF6D0 00002025 */ move $a0, $zero -/* 0F4204 7F0BF6D4 0FC2F68E */ jal music_append_play_endtheme -/* 0F4208 7F0BF6D8 00000000 */ nop -/* 0F420C 7F0BF6DC 00002025 */ move $a0, $zero -.L7F0BF6E0: -/* 0F4210 7F0BF6E0 0C0030EB */ jal get_controller_buttons_pressed -/* 0F4214 7F0BF6E4 24050101 */ li $a1, 257 -/* 0F4218 7F0BF6E8 50400004 */ beql $v0, $zero, .L7F0BF6FC -/* 0F421C 7F0BF6EC 00002025 */ move $a0, $zero -/* 0F4220 7F0BF6F0 0FC2F67B */ jal music_append_play_solo_death_short -/* 0F4224 7F0BF6F4 00000000 */ nop -/* 0F4228 7F0BF6F8 00002025 */ move $a0, $zero -.L7F0BF6FC: -/* 0F422C 7F0BF6FC 0C0030EB */ jal get_controller_buttons_pressed -/* 0F4230 7F0BF700 24050400 */ li $a1, 1024 -/* 0F4234 7F0BF704 50400004 */ beql $v0, $zero, .L7F0BF718 -/* 0F4238 7F0BF708 00002025 */ move $a0, $zero -/* 0F423C 7F0BF70C 0C001BF4 */ jal musicTrack1Stop -/* 0F4240 7F0BF710 00000000 */ nop -/* 0F4244 7F0BF714 00002025 */ move $a0, $zero -.L7F0BF718: -/* 0F4248 7F0BF718 0C0030EB */ jal get_controller_buttons_pressed -/* 0F424C 7F0BF71C 24054000 */ li $a1, 16384 -/* 0F4250 7F0BF720 50400034 */ beql $v0, $zero, .L7F0BF7F4 -/* 0F4254 7F0BF724 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4258 7F0BF728 0C001C28 */ jal musicTrack1Tempo -/* 0F425C 7F0BF72C 00000000 */ nop -/* 0F4260 7F0BF730 10000030 */ b .L7F0BF7F4 -/* 0F4264 7F0BF734 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BF738: -/* 0F4268 7F0BF738 0C0030EB */ jal get_controller_buttons_pressed -/* 0F426C 7F0BF73C 24050622 */ li $a1, 1570 -/* 0F4270 7F0BF740 1040000B */ beqz $v0, .L7F0BF770 -/* 0F4274 7F0BF744 3C058005 */ lui $a1, 0x8005 -/* 0F4278 7F0BF748 84A583E4 */ lh $a1, %lo(D_800483E4)($a1) -/* 0F427C 7F0BF74C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0F4280 7F0BF750 3C018005 */ lui $at, %hi(D_800483E4) -/* 0F4284 7F0BF754 24A5FFFF */ addiu $a1, $a1, -1 -/* 0F4288 7F0BF758 00057400 */ sll $t6, $a1, 0x10 -/* 0F428C 7F0BF75C 000E2C03 */ sra $a1, $t6, 0x10 -/* 0F4290 7F0BF760 A42583E4 */ sh $a1, %lo(D_800483E4)($at) -/* 0F4294 7F0BF764 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0F4298 7F0BF768 0C002382 */ jal play_sfx_a1 -/* 0F429C 7F0BF76C 00003025 */ move $a2, $zero -.L7F0BF770: -/* 0F42A0 7F0BF770 00002025 */ move $a0, $zero -/* 0F42A4 7F0BF774 0C0030EB */ jal get_controller_buttons_pressed -/* 0F42A8 7F0BF778 24050911 */ li $a1, 2321 -/* 0F42AC 7F0BF77C 1040000B */ beqz $v0, .L7F0BF7AC -/* 0F42B0 7F0BF780 3C058005 */ lui $a1, 0x8005 -/* 0F42B4 7F0BF784 84A583E4 */ lh $a1, %lo(D_800483E4)($a1) -/* 0F42B8 7F0BF788 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0F42BC 7F0BF78C 3C018005 */ lui $at, %hi(D_800483E4) -/* 0F42C0 7F0BF790 24A50001 */ addiu $a1, $a1, 1 -/* 0F42C4 7F0BF794 0005C400 */ sll $t8, $a1, 0x10 -/* 0F42C8 7F0BF798 00182C03 */ sra $a1, $t8, 0x10 -/* 0F42CC 7F0BF79C A42583E4 */ sh $a1, %lo(D_800483E4)($at) -/* 0F42D0 7F0BF7A0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0F42D4 7F0BF7A4 0C002382 */ jal play_sfx_a1 -/* 0F42D8 7F0BF7A8 00003025 */ move $a2, $zero -.L7F0BF7AC: -/* 0F42DC 7F0BF7AC 00002025 */ move $a0, $zero -/* 0F42E0 7F0BF7B0 0C0030EB */ jal get_controller_buttons_pressed -/* 0F42E4 7F0BF7B4 24050004 */ li $a1, 4 -/* 0F42E8 7F0BF7B8 50400004 */ beql $v0, $zero, .L7F0BF7CC -/* 0F42EC 7F0BF7BC 00002025 */ move $a0, $zero -/* 0F42F0 7F0BF7C0 0C002449 */ jal sfx_c_70009124 -/* 0F42F4 7F0BF7C4 00000000 */ nop -/* 0F42F8 7F0BF7C8 00002025 */ move $a0, $zero -.L7F0BF7CC: -/* 0F42FC 7F0BF7CC 0C0030EB */ jal get_controller_buttons_pressed -/* 0F4300 7F0BF7D0 24050008 */ li $a1, 8 -/* 0F4304 7F0BF7D4 10400006 */ beqz $v0, .L7F0BF7F0 -/* 0F4308 7F0BF7D8 3C058005 */ lui $a1, %hi(D_800483E4) -/* 0F430C 7F0BF7DC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0F4310 7F0BF7E0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0F4314 7F0BF7E4 84A583E4 */ lh $a1, %lo(D_800483E4)($a1) -/* 0F4318 7F0BF7E8 0C002382 */ jal play_sfx_a1 -/* 0F431C 7F0BF7EC 00003025 */ move $a2, $zero -.L7F0BF7F0: -/* 0F4320 7F0BF7F0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BF7F4: -/* 0F4324 7F0BF7F4 27BD0198 */ addiu $sp, $sp, 0x198 -/* 0F4328 7F0BF7F8 03E00008 */ jr $ra -/* 0F432C 7F0BF7FC 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel manage_mp_game -/* 0F431C 7F0BF7AC 27BDFE68 */ addiu $sp, $sp, -0x198 -/* 0F4320 7F0BF7B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F4324 7F0BF7B4 0C000626 */ jal mp_tlb_related -/* 0F4328 7F0BF7B8 00000000 */ nop -/* 0F432C 7F0BF7BC 3C0E8005 */ lui $t6, %hi(controls_locked_flag) # $t6, 0x8005 -/* 0F4330 7F0BF7C0 8DCE83A0 */ lw $t6, %lo(controls_locked_flag)($t6) -/* 0F4334 7F0BF7C4 3C018005 */ lui $at, %hi(clock_timer) # $at, 0x8005 -/* 0F4338 7F0BF7C8 11C00003 */ beqz $t6, .Ljp7F0BF7D8 -/* 0F433C 7F0BF7CC 00000000 */ nop -/* 0F4340 7F0BF7D0 10000010 */ b .Ljp7F0BF814 -/* 0F4344 7F0BF7D4 AC2083A4 */ sw $zero, %lo(clock_timer)($at) -.Ljp7F0BF7D8: -/* 0F4348 7F0BF7D8 0FC31B59 */ jal checkGamePaused -/* 0F434C 7F0BF7DC 00000000 */ nop -/* 0F4350 7F0BF7E0 10400004 */ beqz $v0, .Ljp7F0BF7F4 -/* 0F4354 7F0BF7E4 3C0F8005 */ lui $t7, %hi(D_80048498) # $t7, 0x8005 -/* 0F4358 7F0BF7E8 3C018005 */ lui $at, %hi(clock_timer) # $at, 0x8005 -/* 0F435C 7F0BF7EC 10000009 */ b .Ljp7F0BF814 -/* 0F4360 7F0BF7F0 AC2083A4 */ sw $zero, %lo(clock_timer)($at) -.Ljp7F0BF7F4: -/* 0F4364 7F0BF7F4 8DEF84C8 */ lw $t7, %lo(D_80048498)($t7) -/* 0F4368 7F0BF7F8 3C028005 */ lui $v0, %hi(D_80048380) # $v0, 0x8005 -/* 0F436C 7F0BF7FC 3C018005 */ lui $at, %hi(clock_timer) # $at, 0x8005 -/* 0F4370 7F0BF800 244283B0 */ addiu $v0, %lo(D_80048380) # addiu $v0, $v0, -0x7c50 -/* 0F4374 7F0BF804 AC2F83A4 */ sw $t7, %lo(clock_timer)($at) -/* 0F4378 7F0BF808 8C580000 */ lw $t8, ($v0) -/* 0F437C 7F0BF80C 27190001 */ addiu $t9, $t8, 1 -/* 0F4380 7F0BF810 AC590000 */ sw $t9, ($v0) -.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(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 -/* 0F43A0 7F0BF830 468021A0 */ cvt.s.w $f6, $f4 -/* 0F43A4 7F0BF834 248483AC */ addiu $a0, %lo(global_timer) # addiu $a0, $a0, -0x7c54 -/* 0F43A8 7F0BF838 3C188005 */ lui $t8, %hi(current_stage_to_load) # $t8, 0x8005 -/* 0F43AC 7F0BF83C 3C198005 */ lui $t9, %hi(D_80048394) # $t9, 0x8005 -/* 0F43B0 7F0BF840 E4660000 */ swc1 $f6, ($v1) -/* 0F43B4 7F0BF844 C4680000 */ lwc1 $f8, ($v1) -/* 0F43B8 7F0BF848 E42883B4 */ swc1 $f8, %lo(global_timer_delta)($at) -/* 0F43BC 7F0BF84C 8C8E0000 */ lw $t6, ($a0) -/* 0F43C0 7F0BF850 2401005A */ li $at, 90 -/* 0F43C4 7F0BF854 01C27821 */ addu $t7, $t6, $v0 -/* 0F43C8 7F0BF858 AC8F0000 */ sw $t7, ($a0) -/* 0F43CC 7F0BF85C 8F188394 */ lw $t8, %lo(current_stage_to_load)($t8) -/* 0F43D0 7F0BF860 1301001D */ beq $t8, $at, .Ljp7F0BF8D8 -/* 0F43D4 7F0BF864 00000000 */ nop -/* 0F43D8 7F0BF868 8F3983C8 */ lw $t9, %lo(D_80048394)($t9) -/* 0F43DC 7F0BF86C 1720001A */ bnez $t9, .Ljp7F0BF8D8 -/* 0F43E0 7F0BF870 00000000 */ nop -/* 0F43E4 7F0BF874 18400018 */ blez $v0, .Ljp7F0BF8D8 -/* 0F43E8 7F0BF878 3C0E8003 */ lui $t6, %hi(append_cheat_sp) # $t6, 0x8003 -/* 0F43EC 7F0BF87C 8DCEA940 */ lw $t6, %lo(append_cheat_sp)($t6) -/* 0F43F0 7F0BF880 3C038007 */ lui $v1, %hi(CHEAT_AVAILABLE_EXTRA_CHARS) # $v1, 0x8007 -/* 0F43F4 7F0BF884 246396E1 */ addiu $v1, %lo(CHEAT_AVAILABLE_EXTRA_CHARS) # addiu $v1, $v1, -0x691f -/* 0F43F8 7F0BF888 11C00013 */ beqz $t6, .Ljp7F0BF8D8 -/* 0F43FC 7F0BF88C 24040001 */ li $a0, 1 -.Ljp7F0BF890: -/* 0F4400 7F0BF890 906F0000 */ lbu $t7, ($v1) -/* 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 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 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) -.Ljp7F0BF8C8: -/* 0F4438 7F0BF8C8 24840001 */ addiu $a0, $a0, 1 -.Ljp7F0BF8CC: -/* 0F443C 7F0BF8CC 2401004B */ li $at, 75 -/* 0F4440 7F0BF8D0 1481FFEF */ bne $a0, $at, .Ljp7F0BF890 -/* 0F4444 7F0BF8D4 24630001 */ addiu $v1, $v1, 1 -.Ljp7F0BF8D8: -/* 0F4448 7F0BF8D8 0FC26C01 */ jal get_num_players -/* 0F444C 7F0BF8DC 00000000 */ nop -/* 0F4450 7F0BF8E0 28410002 */ slti $at, $v0, 2 -/* 0F4454 7F0BF8E4 1420014C */ bnez $at, .Ljp7F0BFE18 -/* 0F4458 7F0BF8E8 3C188005 */ lui $t8, %hi(current_stage_to_load) # $t8, 0x8005 -/* 0F445C 7F0BF8EC 8F188394 */ lw $t8, %lo(current_stage_to_load)($t8) -/* 0F4460 7F0BF8F0 2401005A */ li $at, 90 -/* 0F4464 7F0BF8F4 13010148 */ beq $t8, $at, .Ljp7F0BFE18 -/* 0F4468 7F0BF8F8 00000000 */ nop -/* 0F446C 7F0BF8FC 0FC30630 */ jal get_mission_state -/* 0F4470 7F0BF900 00000000 */ nop -/* 0F4474 7F0BF904 24010006 */ li $at, 6 -/* 0F4478 7F0BF908 14410029 */ bne $v0, $at, .Ljp7F0BF9B0 -/* 0F447C 7F0BF90C 00000000 */ nop -/* 0F4480 7F0BF910 AFA00190 */ sw $zero, 0x190($sp) -/* 0F4484 7F0BF914 AFA0018C */ sw $zero, 0x18c($sp) -/* 0F4488 7F0BF918 0FC26C01 */ jal get_num_players -/* 0F448C 7F0BF91C AFA00188 */ sw $zero, 0x188($sp) -/* 0F4490 7F0BF920 8FA30190 */ lw $v1, 0x190($sp) -/* 0F4494 7F0BF924 8FA5018C */ lw $a1, 0x18c($sp) -/* 0F4498 7F0BF928 1840001B */ blez $v0, .Ljp7F0BF998 -/* 0F449C 7F0BF92C 8FA60188 */ lw $a2, 0x188($sp) -/* 0F44A0 7F0BF930 3C0E8008 */ lui $t6, %hi(ptr_BONDdata_p1) # $t6, 0x8008 -/* 0F44A4 7F0BF934 25CE9F50 */ addiu $t6, %lo(ptr_BONDdata_p1) # addiu $t6, $t6, -0x60b0 -/* 0F44A8 7F0BF938 0003C880 */ sll $t9, $v1, 2 -/* 0F44AC 7F0BF93C 032E2021 */ addu $a0, $t9, $t6 -.Ljp7F0BF940: -/* 0F44B0 7F0BF940 8C820000 */ lw $v0, ($a0) -/* 0F44B4 7F0BF944 24630001 */ addiu $v1, $v1, 1 -/* 0F44B8 7F0BF948 24840004 */ addiu $a0, $a0, 4 -/* 0F44BC 7F0BF94C 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0F44C0 7F0BF950 51E00007 */ beql $t7, $zero, .Ljp7F0BF970 -/* 0F44C4 7F0BF954 AFA30190 */ sw $v1, 0x190($sp) -/* 0F44C8 7F0BF958 8C580424 */ lw $t8, 0x424($v0) -/* 0F44CC 7F0BF95C 24A50001 */ addiu $a1, $a1, 1 -/* 0F44D0 7F0BF960 53000003 */ beql $t8, $zero, .Ljp7F0BF970 -/* 0F44D4 7F0BF964 AFA30190 */ sw $v1, 0x190($sp) -/* 0F44D8 7F0BF968 24C60001 */ addiu $a2, $a2, 1 -/* 0F44DC 7F0BF96C AFA30190 */ sw $v1, 0x190($sp) -.Ljp7F0BF970: -/* 0F44E0 7F0BF970 AFA4001C */ sw $a0, 0x1c($sp) -/* 0F44E4 7F0BF974 AFA5018C */ sw $a1, 0x18c($sp) -/* 0F44E8 7F0BF978 0FC26C01 */ jal get_num_players -/* 0F44EC 7F0BF97C AFA60188 */ sw $a2, 0x188($sp) -/* 0F44F0 7F0BF980 8FA30190 */ lw $v1, 0x190($sp) -/* 0F44F4 7F0BF984 8FA4001C */ lw $a0, 0x1c($sp) -/* 0F44F8 7F0BF988 8FA5018C */ lw $a1, 0x18c($sp) -/* 0F44FC 7F0BF98C 0062082A */ slt $at, $v1, $v0 -/* 0F4500 7F0BF990 1420FFEB */ bnez $at, .Ljp7F0BF940 -/* 0F4504 7F0BF994 8FA60188 */ lw $a2, 0x188($sp) -.Ljp7F0BF998: -/* 0F4508 7F0BF998 18A00005 */ blez $a1, .Ljp7F0BF9B0 -/* 0F450C 7F0BF99C 00000000 */ nop -/* 0F4510 7F0BF9A0 14A60003 */ bne $a1, $a2, .Ljp7F0BF9B0 -/* 0F4514 7F0BF9A4 00000000 */ nop -/* 0F4518 7F0BF9A8 0FC30633 */ jal set_missionstate -/* 0F451C 7F0BF9AC 24040001 */ li $a0, 1 -.Ljp7F0BF9B0: -/* 0F4520 7F0BF9B0 3C038005 */ lui $v1, %hi(mp_time) # $v1, 0x8005 -/* 0F4524 7F0BF9B4 8C6383CC */ lw $v1, %lo(mp_time)($v1) -/* 0F4528 7F0BF9B8 3C028005 */ lui $v0, %hi(D_80048394) # $v0, 0x8005 -/* 0F452C 7F0BF9BC 3C198005 */ lui $t9, %hi(clock_timer) # $t9, 0x8005 -/* 0F4530 7F0BF9C0 1860004A */ blez $v1, .Ljp7F0BFAEC -/* 0F4534 7F0BF9C4 00000000 */ nop -/* 0F4538 7F0BF9C8 8C4283C8 */ lw $v0, %lo(D_80048394)($v0) -/* 0F453C 7F0BF9CC 8F3983A4 */ lw $t9, %lo(clock_timer)($t9) -/* 0F4540 7F0BF9D0 2464F1F0 */ addiu $a0, $v1, -0xe10 -/* 0F4544 7F0BF9D4 0044082A */ slt $at, $v0, $a0 -/* 0F4548 7F0BF9D8 03227021 */ addu $t6, $t9, $v0 -/* 0F454C 7F0BF9DC AFAE0180 */ sw $t6, 0x180($sp) -/* 0F4550 7F0BF9E0 10200016 */ beqz $at, .Ljp7F0BFA3C -/* 0F4554 7F0BF9E4 AFA20184 */ sw $v0, 0x184($sp) -/* 0F4558 7F0BF9E8 01C4082A */ slt $at, $t6, $a0 -/* 0F455C 7F0BF9EC 14200013 */ bnez $at, .Ljp7F0BFA3C -/* 0F4560 7F0BF9F0 00000000 */ nop -/* 0F4564 7F0BF9F4 0FC26C01 */ jal get_num_players -/* 0F4568 7F0BF9F8 AFA0017C */ sw $zero, 0x17c($sp) -/* 0F456C 7F0BF9FC 1840000F */ blez $v0, .Ljp7F0BFA3C -/* 0F4570 7F0BFA00 00000000 */ nop -.Ljp7F0BFA04: -/* 0F4574 7F0BFA04 0FC26F2B */ jal set_cur_player -/* 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_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 -/* 0F4594 7F0BFA24 0FC26C01 */ jal get_num_players -/* 0F4598 7F0BFA28 AFB8017C */ sw $t8, 0x17c($sp) -/* 0F459C 7F0BFA2C 8FB9017C */ lw $t9, 0x17c($sp) -/* 0F45A0 7F0BFA30 0322082A */ slt $at, $t9, $v0 -/* 0F45A4 7F0BFA34 1420FFF3 */ bnez $at, .Ljp7F0BFA04 -/* 0F45A8 7F0BFA38 00000000 */ nop -.Ljp7F0BFA3C: -/* 0F45AC 7F0BFA3C 3C0F8005 */ lui $t7, %hi(mp_time) # $t7, 0x8005 -/* 0F45B0 7F0BFA40 8DEF83CC */ lw $t7, %lo(mp_time)($t7) -/* 0F45B4 7F0BFA44 8FAE0180 */ lw $t6, 0x180($sp) -/* 0F45B8 7F0BFA48 3C198005 */ lui $t9, %hi(D_800483A0) # $t9, 0x8005 -/* 0F45BC 7F0BFA4C 25F8FDA8 */ addiu $t8, $t7, -0x258 -/* 0F45C0 7F0BFA50 01D8082A */ slt $at, $t6, $t8 -/* 0F45C4 7F0BFA54 1420000D */ bnez $at, .Ljp7F0BFA8C -/* 0F45C8 7F0BFA58 00000000 */ nop -/* 0F45CC 7F0BFA5C 8F3983D4 */ lw $t9, %lo(D_800483A0)($t9) -/* 0F45D0 7F0BFA60 1720000A */ bnez $t9, .Ljp7F0BFA8C -/* 0F45D4 7F0BFA64 00000000 */ nop -/* 0F45D8 7F0BFA68 0FC3021B */ jal get_controls_locked_flag -/* 0F45DC 7F0BFA6C 00000000 */ nop -/* 0F45E0 7F0BFA70 14400006 */ bnez $v0, .Ljp7F0BFA8C -/* 0F45E4 7F0BFA74 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0F45E8 7F0BFA78 3C068005 */ lui $a2, %hi(D_800483A0) # $a2, 0x8005 -/* 0F45EC 7F0BFA7C 24C683D4 */ addiu $a2, %lo(D_800483A0) # addiu $a2, $a2, -0x7c2c -/* 0F45F0 7F0BFA80 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0F45F4 7F0BFA84 0C002386 */ jal play_sfx_a1 -/* 0F45F8 7F0BFA88 240500A1 */ li $a1, 161 -.Ljp7F0BFA8C: -/* 0F45FC 7F0BFA8C 0FC3021B */ jal get_controls_locked_flag -/* 0F4600 7F0BFA90 00000000 */ nop -/* 0F4604 7F0BFA94 1040000A */ beqz $v0, .Ljp7F0BFAC0 -/* 0F4608 7F0BFA98 3C048005 */ lui $a0, %hi(D_800483A0) # $a0, 0x8005 -/* 0F460C 7F0BFA9C 8C8483D4 */ lw $a0, %lo(D_800483A0)($a0) -/* 0F4610 7F0BFAA0 10800007 */ beqz $a0, .Ljp7F0BFAC0 -/* 0F4614 7F0BFAA4 00000000 */ nop -/* 0F4618 7F0BFAA8 0C002380 */ jal sfxGetArg0Unk3F -/* 0F461C 7F0BFAAC 00000000 */ nop -/* 0F4620 7F0BFAB0 10400003 */ beqz $v0, .Ljp7F0BFAC0 -/* 0F4624 7F0BFAB4 3C048005 */ lui $a0, %hi(D_800483A0) # $a0, 0x8005 -/* 0F4628 7F0BFAB8 0C00240C */ jal sfxDeactivate -/* 0F462C 7F0BFABC 8C8483D4 */ lw $a0, %lo(D_800483A0)($a0) -.Ljp7F0BFAC0: -/* 0F4630 7F0BFAC0 3C038005 */ lui $v1, %hi(mp_time) # $v1, 0x8005 -/* 0F4634 7F0BFAC4 8C6383CC */ lw $v1, %lo(mp_time)($v1) -/* 0F4638 7F0BFAC8 8FAF0184 */ lw $t7, 0x184($sp) -/* 0F463C 7F0BFACC 8FAE0180 */ lw $t6, 0x180($sp) -/* 0F4640 7F0BFAD0 01E3082A */ slt $at, $t7, $v1 -/* 0F4644 7F0BFAD4 10200005 */ beqz $at, .Ljp7F0BFAEC -/* 0F4648 7F0BFAD8 01C3082A */ slt $at, $t6, $v1 -/* 0F464C 7F0BFADC 14200003 */ bnez $at, .Ljp7F0BFAEC -/* 0F4650 7F0BFAE0 00000000 */ nop -/* 0F4654 7F0BFAE4 0FC30C78 */ jal sub_GAME_7F0C2530 -/* 0F4658 7F0BFAE8 00002025 */ move $a0, $zero -.Ljp7F0BFAEC: -/* 0F465C 7F0BFAEC 3C188005 */ lui $t8, %hi(mp_point) # $t8, 0x8005 -/* 0F4660 7F0BFAF0 8F1883D0 */ lw $t8, %lo(mp_point)($t8) -/* 0F4664 7F0BFAF4 3C198005 */ lui $t9, %hi(clock_timer) # $t9, 0x8005 -/* 0F4668 7F0BFAF8 1B00003D */ blez $t8, .Ljp7F0BFBF0 -/* 0F466C 7F0BFAFC 00000000 */ nop -/* 0F4670 7F0BFB00 8F3983A4 */ lw $t9, %lo(clock_timer)($t9) -/* 0F4674 7F0BFB04 1320003A */ beqz $t9, .Ljp7F0BFBF0 -/* 0F4678 7F0BFB08 00000000 */ nop -/* 0F467C 7F0BFB0C 0FC26C01 */ jal get_num_players -/* 0F4680 7F0BFB10 00000000 */ nop -/* 0F4684 7F0BFB14 00403825 */ move $a3, $v0 -/* 0F4688 7F0BFB18 00002825 */ move $a1, $zero -/* 0F468C 7F0BFB1C 00003025 */ move $a2, $zero -/* 0F4690 7F0BFB20 18400029 */ blez $v0, .Ljp7F0BFBC8 -/* 0F4694 7F0BFB24 00002025 */ move $a0, $zero -/* 0F4698 7F0BFB28 3C038008 */ lui $v1, %hi(ptr_BONDdata_p1) # $v1, 0x8008 -/* 0F469C 7F0BFB2C 44800000 */ mtc1 $zero, $f0 -/* 0F46A0 7F0BFB30 24639F50 */ addiu $v1, %lo(ptr_BONDdata_p1) # addiu $v1, $v1, -0x60b0 -.Ljp7F0BFB34: -/* 0F46A4 7F0BFB34 8C620000 */ lw $v0, ($v1) -/* 0F46A8 7F0BFB38 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0F46AC 7F0BFB3C 51E0000E */ beql $t7, $zero, .Ljp7F0BFB78 -/* 0F46B0 7F0BFB40 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F46B4 7F0BFB44 8C4E0424 */ lw $t6, 0x424($v0) -/* 0F46B8 7F0BFB48 51C0000A */ beql $t6, $zero, .Ljp7F0BFB74 -/* 0F46BC 7F0BFB4C 24A50001 */ addiu $a1, $a1, 1 -/* 0F46C0 7F0BFB50 8C580428 */ lw $t8, 0x428($v0) -/* 0F46C4 7F0BFB54 53000007 */ beql $t8, $zero, .Ljp7F0BFB74 -/* 0F46C8 7F0BFB58 24A50001 */ addiu $a1, $a1, 1 -/* 0F46CC 7F0BFB5C C44A03E4 */ lwc1 $f10, 0x3e4($v0) -/* 0F46D0 7F0BFB60 460A003E */ c.le.s $f0, $f10 -/* 0F46D4 7F0BFB64 00000000 */ nop -/* 0F46D8 7F0BFB68 45020003 */ bc1fl .Ljp7F0BFB78 -/* 0F46DC 7F0BFB6C AFA3001C */ sw $v1, 0x1c($sp) -/* 0F46E0 7F0BFB70 24A50001 */ addiu $a1, $a1, 1 -.Ljp7F0BFB74: -/* 0F46E4 7F0BFB74 AFA3001C */ sw $v1, 0x1c($sp) -.Ljp7F0BFB78: -/* 0F46E8 7F0BFB78 AFA40174 */ sw $a0, 0x174($sp) -/* 0F46EC 7F0BFB7C AFA50170 */ sw $a1, 0x170($sp) -/* 0F46F0 7F0BFB80 AFA6016C */ sw $a2, 0x16c($sp) -/* 0F46F4 7F0BFB84 0FC31162 */ jal get_points_for_mp_player -/* 0F46F8 7F0BFB88 AFA70178 */ sw $a3, 0x178($sp) -/* 0F46FC 7F0BFB8C 3C198005 */ lui $t9, %hi(mp_point) # $t9, 0x8005 -/* 0F4700 7F0BFB90 8F3983D0 */ lw $t9, %lo(mp_point)($t9) -/* 0F4704 7F0BFB94 44800000 */ mtc1 $zero, $f0 -/* 0F4708 7F0BFB98 8FA3001C */ lw $v1, 0x1c($sp) -/* 0F470C 7F0BFB9C 0059082A */ slt $at, $v0, $t9 -/* 0F4710 7F0BFBA0 8FA40174 */ lw $a0, 0x174($sp) -/* 0F4714 7F0BFBA4 8FA50170 */ lw $a1, 0x170($sp) -/* 0F4718 7F0BFBA8 8FA6016C */ lw $a2, 0x16c($sp) -/* 0F471C 7F0BFBAC 14200002 */ bnez $at, .Ljp7F0BFBB8 -/* 0F4720 7F0BFBB0 8FA70178 */ lw $a3, 0x178($sp) -/* 0F4724 7F0BFBB4 24C60001 */ addiu $a2, $a2, 1 -.Ljp7F0BFBB8: -/* 0F4728 7F0BFBB8 24840001 */ addiu $a0, $a0, 1 -/* 0F472C 7F0BFBBC 0087082A */ slt $at, $a0, $a3 -/* 0F4730 7F0BFBC0 1420FFDC */ bnez $at, .Ljp7F0BFB34 -/* 0F4734 7F0BFBC4 24630004 */ addiu $v1, $v1, 4 -.Ljp7F0BFBC8: -/* 0F4738 7F0BFBC8 18C00009 */ blez $a2, .Ljp7F0BFBF0 -/* 0F473C 7F0BFBCC 00000000 */ nop -/* 0F4740 7F0BFBD0 14A00005 */ bnez $a1, .Ljp7F0BFBE8 -/* 0F4744 7F0BFBD4 00000000 */ nop -/* 0F4748 7F0BFBD8 0FC30C78 */ jal sub_GAME_7F0C2530 -/* 0F474C 7F0BFBDC 00002025 */ move $a0, $zero -/* 0F4750 7F0BFBE0 10000003 */ b .Ljp7F0BFBF0 -/* 0F4754 7F0BFBE4 00000000 */ nop -.Ljp7F0BFBE8: -/* 0F4758 7F0BFBE8 0FC30C74 */ jal set_stopplay_flag -/* 0F475C 7F0BFBEC 00000000 */ nop -.Ljp7F0BFBF0: -/* 0F4760 7F0BFBF0 0FC05202 */ jal get_scenario -/* 0F4764 7F0BFBF4 00000000 */ nop -/* 0F4768 7F0BFBF8 24010001 */ li $at, 1 -/* 0F476C 7F0BFBFC 14410086 */ bne $v0, $at, .Ljp7F0BFE18 -/* 0F4770 7F0BFC00 3C0F8005 */ lui $t7, %hi(clock_timer) # $t7, 0x8005 -/* 0F4774 7F0BFC04 8DEF83A4 */ lw $t7, %lo(clock_timer)($t7) -/* 0F4778 7F0BFC08 11E00083 */ beqz $t7, .Ljp7F0BFE18 -/* 0F477C 7F0BFC0C 00000000 */ nop -/* 0F4780 7F0BFC10 0FC26C01 */ jal get_num_players -/* 0F4784 7F0BFC14 00000000 */ nop -/* 0F4788 7F0BFC18 44800000 */ mtc1 $zero, $f0 -/* 0F478C 7F0BFC1C 00405025 */ move $t2, $v0 -/* 0F4790 7F0BFC20 00006825 */ move $t5, $zero -/* 0F4794 7F0BFC24 0000F825 */ move $ra, $zero -/* 0F4798 7F0BFC28 1840006E */ blez $v0, .Ljp7F0BFDE4 -/* 0F479C 7F0BFC2C 00006025 */ move $t4, $zero -/* 0F47A0 7F0BFC30 00002825 */ move $a1, $zero -.Ljp7F0BFC34: -/* 0F47A4 7F0BFC34 00003025 */ move $a2, $zero -/* 0F47A8 7F0BFC38 18400048 */ blez $v0, .Ljp7F0BFD5C -/* 0F47AC 7F0BFC3C 00003825 */ move $a3, $zero -/* 0F47B0 7F0BFC40 30490003 */ andi $t1, $v0, 3 -/* 0F47B4 7F0BFC44 11200019 */ beqz $t1, .Ljp7F0BFCAC -/* 0F47B8 7F0BFC48 000C5880 */ sll $t3, $t4, 2 -/* 0F47BC 7F0BFC4C 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) # $t8, 0x8008 -/* 0F47C0 7F0BFC50 27189F50 */ addiu $t8, %lo(ptr_BONDdata_p1) # addiu $t8, $t8, -0x60b0 -/* 0F47C4 7F0BFC54 00007080 */ sll $t6, $zero, 2 -/* 0F47C8 7F0BFC58 0000C8C0 */ sll $t9, $zero, 3 -/* 0F47CC 7F0BFC5C 0320C823 */ subu $t9, $t9, $zero -/* 0F47D0 7F0BFC60 01D81821 */ addu $v1, $t6, $t8 -/* 0F47D4 7F0BFC64 3C0E8008 */ lui $t6, %hi(player1_player_data) # $t6, 0x8008 -/* 0F47D8 7F0BFC68 0019C900 */ sll $t9, $t9, 4 -/* 0F47DC 7F0BFC6C 032B7821 */ addu $t7, $t9, $t3 -/* 0F47E0 7F0BFC70 25CE9F60 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x60a0 -/* 0F47E4 7F0BFC74 01EE2021 */ addu $a0, $t7, $t6 -/* 0F47E8 7F0BFC78 01204025 */ move $t0, $t1 -.Ljp7F0BFC7C: -/* 0F47EC 7F0BFC7C 8C780000 */ lw $t8, ($v1) -/* 0F47F0 7F0BFC80 24E70001 */ addiu $a3, $a3, 1 -/* 0F47F4 7F0BFC84 24630004 */ addiu $v1, $v1, 4 -/* 0F47F8 7F0BFC88 8F1900D8 */ lw $t9, 0xd8($t8) -/* 0F47FC 7F0BFC8C 57200003 */ bnezl $t9, .Ljp7F0BFC9C -/* 0F4800 7F0BFC90 8C8F0024 */ lw $t7, 0x24($a0) -/* 0F4804 7F0BFC94 24C60001 */ addiu $a2, $a2, 1 -/* 0F4808 7F0BFC98 8C8F0024 */ lw $t7, 0x24($a0) -.Ljp7F0BFC9C: -/* 0F480C 7F0BFC9C 24840070 */ addiu $a0, $a0, 0x70 -/* 0F4810 7F0BFCA0 1507FFF6 */ bne $t0, $a3, .Ljp7F0BFC7C -/* 0F4814 7F0BFCA4 00AF2821 */ addu $a1, $a1, $t7 -/* 0F4818 7F0BFCA8 10E2002C */ beq $a3, $v0, .Ljp7F0BFD5C -.Ljp7F0BFCAC: -/* 0F481C 7F0BFCAC 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) # $t8, 0x8008 -/* 0F4820 7F0BFCB0 0007C8C0 */ sll $t9, $a3, 3 -/* 0F4824 7F0BFCB4 0327C823 */ subu $t9, $t9, $a3 -/* 0F4828 7F0BFCB8 27189F50 */ addiu $t8, %lo(ptr_BONDdata_p1) # addiu $t8, $t8, -0x60b0 -/* 0F482C 7F0BFCBC 00077080 */ sll $t6, $a3, 2 -/* 0F4830 7F0BFCC0 01D81821 */ addu $v1, $t6, $t8 -/* 0F4834 7F0BFCC4 0019C900 */ sll $t9, $t9, 4 -/* 0F4838 7F0BFCC8 032B7821 */ addu $t7, $t9, $t3 -/* 0F483C 7F0BFCCC 3C0E8008 */ lui $t6, %hi(player1_player_data) # $t6, 0x8008 -/* 0F4840 7F0BFCD0 25CE9F60 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x60a0 -/* 0F4844 7F0BFCD4 000AC880 */ sll $t9, $t2, 2 -/* 0F4848 7F0BFCD8 03384021 */ addu $t0, $t9, $t8 -/* 0F484C 7F0BFCDC 01EE2021 */ addu $a0, $t7, $t6 -.Ljp7F0BFCE0: -/* 0F4850 7F0BFCE0 8C6F0000 */ lw $t7, ($v1) -/* 0F4854 7F0BFCE4 8DEE00D8 */ lw $t6, 0xd8($t7) -/* 0F4858 7F0BFCE8 55C00003 */ bnezl $t6, .Ljp7F0BFCF8 -/* 0F485C 7F0BFCEC 8C780004 */ lw $t8, 4($v1) -/* 0F4860 7F0BFCF0 24C60001 */ addiu $a2, $a2, 1 -/* 0F4864 7F0BFCF4 8C780004 */ lw $t8, 4($v1) -.Ljp7F0BFCF8: -/* 0F4868 7F0BFCF8 8C990024 */ lw $t9, 0x24($a0) -/* 0F486C 7F0BFCFC 8F0F00D8 */ lw $t7, 0xd8($t8) -/* 0F4870 7F0BFD00 00B92821 */ addu $a1, $a1, $t9 -/* 0F4874 7F0BFD04 55E00003 */ bnezl $t7, .Ljp7F0BFD14 -/* 0F4878 7F0BFD08 8C790008 */ lw $t9, 8($v1) -/* 0F487C 7F0BFD0C 24C60001 */ addiu $a2, $a2, 1 -/* 0F4880 7F0BFD10 8C790008 */ lw $t9, 8($v1) -.Ljp7F0BFD14: -/* 0F4884 7F0BFD14 8C8E0094 */ lw $t6, 0x94($a0) -/* 0F4888 7F0BFD18 8F3800D8 */ lw $t8, 0xd8($t9) -/* 0F488C 7F0BFD1C 00AE2821 */ addu $a1, $a1, $t6 -/* 0F4890 7F0BFD20 57000003 */ bnezl $t8, .Ljp7F0BFD30 -/* 0F4894 7F0BFD24 8C6E000C */ lw $t6, 0xc($v1) -/* 0F4898 7F0BFD28 24C60001 */ addiu $a2, $a2, 1 -/* 0F489C 7F0BFD2C 8C6E000C */ lw $t6, 0xc($v1) -.Ljp7F0BFD30: -/* 0F48A0 7F0BFD30 8C8F0104 */ lw $t7, 0x104($a0) -/* 0F48A4 7F0BFD34 24630010 */ addiu $v1, $v1, 0x10 -/* 0F48A8 7F0BFD38 8DD900D8 */ lw $t9, 0xd8($t6) -/* 0F48AC 7F0BFD3C 00AF2821 */ addu $a1, $a1, $t7 -/* 0F48B0 7F0BFD40 57200003 */ bnezl $t9, .Ljp7F0BFD50 -/* 0F48B4 7F0BFD44 8C980174 */ lw $t8, 0x174($a0) -/* 0F48B8 7F0BFD48 24C60001 */ addiu $a2, $a2, 1 -/* 0F48BC 7F0BFD4C 8C980174 */ lw $t8, 0x174($a0) -.Ljp7F0BFD50: -/* 0F48C0 7F0BFD50 248401C0 */ addiu $a0, $a0, 0x1c0 -/* 0F48C4 7F0BFD54 1468FFE2 */ bne $v1, $t0, .Ljp7F0BFCE0 -/* 0F48C8 7F0BFD58 00B82821 */ addu $a1, $a1, $t8 -.Ljp7F0BFD5C: -/* 0F48CC 7F0BFD5C 28A10002 */ slti $at, $a1, 2 -/* 0F48D0 7F0BFD60 1420001C */ bnez $at, .Ljp7F0BFDD4 -/* 0F48D4 7F0BFD64 000C78C0 */ sll $t7, $t4, 3 -/* 0F48D8 7F0BFD68 01EC7823 */ subu $t7, $t7, $t4 -/* 0F48DC 7F0BFD6C 3C0E8008 */ lui $t6, %hi(player1_player_data) # $t6, 0x8008 -/* 0F48E0 7F0BFD70 25CE9F60 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x60a0 -/* 0F48E4 7F0BFD74 000F7900 */ sll $t7, $t7, 4 -/* 0F48E8 7F0BFD78 01EE1821 */ addu $v1, $t7, $t6 -/* 0F48EC 7F0BFD7C 906F0068 */ lbu $t7, 0x68($v1) -/* 0F48F0 7F0BFD80 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) # $t8, 0x8008 -/* 0F48F4 7F0BFD84 27189F50 */ addiu $t8, %lo(ptr_BONDdata_p1) # addiu $t8, $t8, -0x60b0 -/* 0F48F8 7F0BFD88 000CC880 */ sll $t9, $t4, 2 -/* 0F48FC 7F0BFD8C 15E00003 */ bnez $t7, .Ljp7F0BFD9C -/* 0F4900 7F0BFD90 03382021 */ addu $a0, $t9, $t8 -/* 0F4904 7F0BFD94 24CE0001 */ addiu $t6, $a2, 1 -/* 0F4908 7F0BFD98 A06E0068 */ sb $t6, 0x68($v1) -.Ljp7F0BFD9C: -/* 0F490C 7F0BFD9C 8C830000 */ lw $v1, ($a0) -/* 0F4910 7F0BFDA0 25AD0001 */ addiu $t5, $t5, 1 -/* 0F4914 7F0BFDA4 8C790424 */ lw $t9, 0x424($v1) -/* 0F4918 7F0BFDA8 5320000B */ beql $t9, $zero, .Ljp7F0BFDD8 -/* 0F491C 7F0BFDAC 258C0001 */ addiu $t4, $t4, 1 -/* 0F4920 7F0BFDB0 8C780428 */ lw $t8, 0x428($v1) -/* 0F4924 7F0BFDB4 53000008 */ beql $t8, $zero, .Ljp7F0BFDD8 -/* 0F4928 7F0BFDB8 258C0001 */ addiu $t4, $t4, 1 -/* 0F492C 7F0BFDBC C47003E4 */ lwc1 $f16, 0x3e4($v1) -/* 0F4930 7F0BFDC0 4600803C */ c.lt.s $f16, $f0 -/* 0F4934 7F0BFDC4 00000000 */ nop -/* 0F4938 7F0BFDC8 45020003 */ bc1fl .Ljp7F0BFDD8 -/* 0F493C 7F0BFDCC 258C0001 */ addiu $t4, $t4, 1 -/* 0F4940 7F0BFDD0 27FF0001 */ addiu $ra, $ra, 1 -.Ljp7F0BFDD4: -/* 0F4944 7F0BFDD4 258C0001 */ addiu $t4, $t4, 1 -.Ljp7F0BFDD8: -/* 0F4948 7F0BFDD8 018A082A */ slt $at, $t4, $t2 -/* 0F494C 7F0BFDDC 5420FF95 */ bnezl $at, .Ljp7F0BFC34 -/* 0F4950 7F0BFDE0 00002825 */ move $a1, $zero -.Ljp7F0BFDE4: -/* 0F4954 7F0BFDE4 2443FFFF */ addiu $v1, $v0, -1 -/* 0F4958 7F0BFDE8 03E3082A */ slt $at, $ra, $v1 -/* 0F495C 7F0BFDEC 54200006 */ bnezl $at, .Ljp7F0BFE08 -/* 0F4960 7F0BFDF0 01A3082A */ slt $at, $t5, $v1 -/* 0F4964 7F0BFDF4 0FC30C78 */ jal sub_GAME_7F0C2530 -/* 0F4968 7F0BFDF8 00002025 */ move $a0, $zero -/* 0F496C 7F0BFDFC 10000006 */ b .Ljp7F0BFE18 -/* 0F4970 7F0BFE00 00000000 */ nop -/* 0F4974 7F0BFE04 01A3082A */ slt $at, $t5, $v1 -.Ljp7F0BFE08: -/* 0F4978 7F0BFE08 14200003 */ bnez $at, .Ljp7F0BFE18 -/* 0F497C 7F0BFE0C 00000000 */ nop -/* 0F4980 7F0BFE10 0FC30C74 */ jal set_stopplay_flag -/* 0F4984 7F0BFE14 00000000 */ nop -.Ljp7F0BFE18: -/* 0F4988 7F0BFE18 3C028005 */ lui $v0, %hi(clock_timer) # $v0, 0x8005 -/* 0F498C 7F0BFE1C 3C0F8005 */ lui $t7, %hi(D_80048394) # $t7, 0x8005 -/* 0F4990 7F0BFE20 8DEF83C8 */ lw $t7, %lo(D_80048394)($t7) -/* 0F4994 7F0BFE24 8C4283A4 */ lw $v0, %lo(clock_timer)($v0) -/* 0F4998 7F0BFE28 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0F499C 7F0BFE2C 44810000 */ mtc1 $at, $f0 -/* 0F49A0 7F0BFE30 01E27021 */ addu $t6, $t7, $v0 -/* 0F49A4 7F0BFE34 448E9000 */ mtc1 $t6, $f18 -/* 0F49A8 7F0BFE38 3C018005 */ lui $at, %hi(D_80048394) # $at, 0x8005 -/* 0F49AC 7F0BFE3C AC2E83C8 */ sw $t6, %lo(D_80048394)($at) -/* 0F49B0 7F0BFE40 46809120 */ cvt.s.w $f4, $f18 -/* 0F49B4 7F0BFE44 3C038005 */ lui $v1, %hi(D_800483A8) # $v1, 0x8005 -/* 0F49B8 7F0BFE48 3C018005 */ lui $at, %hi(cur_mp_sec) # $at, 0x8005 -/* 0F49BC 7F0BFE4C 246383DC */ addiu $v1, %lo(D_800483A8) # addiu $v1, $v1, -0x7c24 -/* 0F49C0 7F0BFE50 00002025 */ move $a0, $zero -/* 0F49C4 7F0BFE54 3405FFFF */ li $a1, 65535 -/* 0F49C8 7F0BFE58 46002183 */ div.s $f6, $f4, $f0 -/* 0F49CC 7F0BFE5C E42683D8 */ swc1 $f6, %lo(cur_mp_sec)($at) -/* 0F49D0 7F0BFE60 8C790000 */ lw $t9, ($v1) -/* 0F49D4 7F0BFE64 3C018005 */ lui $at, %hi(cur_mp_min) # $at, 0x8005 -/* 0F49D8 7F0BFE68 03227821 */ addu $t7, $t9, $v0 -/* 0F49DC 7F0BFE6C 448F4000 */ mtc1 $t7, $f8 -/* 0F49E0 7F0BFE70 AC6F0000 */ sw $t7, ($v1) -/* 0F49E4 7F0BFE74 468042A0 */ cvt.s.w $f10, $f8 -/* 0F49E8 7F0BFE78 46005403 */ div.s $f16, $f10, $f0 -/* 0F49EC 7F0BFE7C 0C003104 */ jal get_controller_buttons_pressed -/* 0F49F0 7F0BFE80 E43083E0 */ swc1 $f16, %lo(cur_mp_min)($at) -/* 0F49F4 7F0BFE84 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0F49F8 7F0BFE88 44810000 */ mtc1 $at, $f0 -/* 0F49FC 7F0BFE8C 10400009 */ beqz $v0, .Ljp7F0BFEB4 -/* 0F4A00 7F0BFE90 3C038005 */ lui $v1, %hi(D_80048390) -/* 0F4A04 7F0BFE94 3C038005 */ lui $v1, %hi(D_80048390) # $v1, 0x8005 -/* 0F4A08 7F0BFE98 3C018005 */ lui $at, %hi(D_80048388) # $at, 0x8005 -/* 0F4A0C 7F0BFE9C 246383C4 */ addiu $v1, %lo(D_80048390) # addiu $v1, $v1, -0x7c3c -/* 0F4A10 7F0BFEA0 AC2083BC */ sw $zero, %lo(D_80048388)($at) -/* 0F4A14 7F0BFEA4 AC600000 */ sw $zero, ($v1) -/* 0F4A18 7F0BFEA8 3C028005 */ lui $v0, %hi(clock_timer) # $v0, 0x8005 -/* 0F4A1C 7F0BFEAC 1000000C */ b .Ljp7F0BFEE0 -/* 0F4A20 7F0BFEB0 8C4283A4 */ lw $v0, %lo(clock_timer)($v0) -.Ljp7F0BFEB4: -/* 0F4A24 7F0BFEB4 246383C4 */ addiu $v1, $v1, %lo(D_80048390) -/* 0F4A28 7F0BFEB8 3C028005 */ lui $v0, %hi(clock_timer) # $v0, 0x8005 -/* 0F4A2C 7F0BFEBC 8C4283A4 */ lw $v0, %lo(clock_timer)($v0) -/* 0F4A30 7F0BFEC0 8C6E0000 */ lw $t6, ($v1) -/* 0F4A34 7F0BFEC4 240F0001 */ li $t7, 1 -/* 0F4A38 7F0BFEC8 01C2C821 */ addu $t9, $t6, $v0 -/* 0F4A3C 7F0BFECC 2B210708 */ slti $at, $t9, 0x708 -/* 0F4A40 7F0BFED0 14200003 */ bnez $at, .Ljp7F0BFEE0 -/* 0F4A44 7F0BFED4 AC790000 */ sw $t9, ($v1) -/* 0F4A48 7F0BFED8 3C018005 */ lui $at, %hi(D_80048388) # $at, 0x8005 -/* 0F4A4C 7F0BFEDC AC2F83BC */ sw $t7, %lo(D_80048388)($at) -.Ljp7F0BFEE0: -/* 0F4A50 7F0BFEE0 3C0E8005 */ lui $t6, %hi(D_80048388) # $t6, 0x8005 -/* 0F4A54 7F0BFEE4 8DCE83BC */ lw $t6, %lo(D_80048388)($t6) -/* 0F4A58 7F0BFEE8 3C038005 */ lui $v1, %hi(D_8004838C) # $v1, 0x8005 -/* 0F4A5C 7F0BFEEC 246383C0 */ addiu $v1, %lo(D_8004838C) # addiu $v1, $v1, -0x7c40 -/* 0F4A60 7F0BFEF0 11C00005 */ beqz $t6, .Ljp7F0BFF08 -/* 0F4A64 7F0BFEF4 00000000 */ nop -/* 0F4A68 7F0BFEF8 8C790000 */ lw $t9, ($v1) -/* 0F4A6C 7F0BFEFC 0322C021 */ addu $t8, $t9, $v0 -/* 0F4A70 7F0BFF00 10000015 */ b .Ljp7F0BFF58 -/* 0F4A74 7F0BFF04 AC780000 */ sw $t8, ($v1) -.Ljp7F0BFF08: -/* 0F4A78 7F0BFF08 3C038005 */ lui $v1, %hi(D_800483B0) # $v1, 0x8005 -/* 0F4A7C 7F0BFF0C 246383E4 */ addiu $v1, %lo(D_800483B0) # addiu $v1, $v1, -0x7c1c -/* 0F4A80 7F0BFF10 8C6F0000 */ lw $t7, ($v1) -/* 0F4A84 7F0BFF14 3C048005 */ lui $a0, %hi(D_800483B8) # $a0, 0x8005 -/* 0F4A88 7F0BFF18 3C018005 */ lui $at, %hi(stage_time_sec) # $at, 0x8005 -/* 0F4A8C 7F0BFF1C 01E2C821 */ addu $t9, $t7, $v0 -/* 0F4A90 7F0BFF20 44999000 */ mtc1 $t9, $f18 -/* 0F4A94 7F0BFF24 AC790000 */ sw $t9, ($v1) -/* 0F4A98 7F0BFF28 248483EC */ addiu $a0, %lo(D_800483B8) # addiu $a0, $a0, -0x7c14 -/* 0F4A9C 7F0BFF2C 46809120 */ cvt.s.w $f4, $f18 -/* 0F4AA0 7F0BFF30 46002183 */ div.s $f6, $f4, $f0 -/* 0F4AA4 7F0BFF34 E42683E8 */ swc1 $f6, %lo(stage_time_sec)($at) -/* 0F4AA8 7F0BFF38 8C980000 */ lw $t8, ($a0) -/* 0F4AAC 7F0BFF3C 3C018005 */ lui $at, %hi(poweron_time_sec) # $at, 0x8005 -/* 0F4AB0 7F0BFF40 03027021 */ addu $t6, $t8, $v0 -/* 0F4AB4 7F0BFF44 448E4000 */ mtc1 $t6, $f8 -/* 0F4AB8 7F0BFF48 AC8E0000 */ sw $t6, ($a0) -/* 0F4ABC 7F0BFF4C 468042A0 */ cvt.s.w $f10, $f8 -/* 0F4AC0 7F0BFF50 46005403 */ div.s $f16, $f10, $f0 -/* 0F4AC4 7F0BFF54 E43083F0 */ swc1 $f16, %lo(poweron_time_sec)($at) -.Ljp7F0BFF58: -/* 0F4AC8 7F0BFF58 0C00114D */ jal set_video2_settings_offset_24 -/* 0F4ACC 7F0BFF5C 24040001 */ li $a0, 1 -/* 0F4AD0 7F0BFF60 3C198005 */ lui $t9, %hi(current_stage_to_load) # $t9, 0x8005 -/* 0F4AD4 7F0BFF64 8F398394 */ lw $t9, %lo(current_stage_to_load)($t9) -/* 0F4AD8 7F0BFF68 2401005A */ li $at, 90 -/* 0F4ADC 7F0BFF6C 17210009 */ bne $t9, $at, .Ljp7F0BFF94 -/* 0F4AE0 7F0BFF70 00000000 */ nop -/* 0F4AE4 7F0BFF74 0FC24907 */ jal cheat_buttons_mp_related -/* 0F4AE8 7F0BFF78 00000000 */ nop -/* 0F4AEC 7F0BFF7C 0FC069F4 */ jal menu_init -/* 0F4AF0 7F0BFF80 00000000 */ nop -/* 0F4AF4 7F0BFF84 0FC3097C */ jal something_with_LnameJ -/* 0F4AF8 7F0BFF88 00000000 */ nop -/* 0F4AFC 7F0BFF8C 100000A9 */ b .Ljp7F0C0234 -/* 0F4B00 7F0BFF90 00000000 */ nop -.Ljp7F0BFF94: -/* 0F4B04 7F0BFF94 0FC271D7 */ jal sub_GAME_7F09BBBC -/* 0F4B08 7F0BFF98 00000000 */ nop -/* 0F4B0C 7F0BFF9C 0FC2FD2D */ jal sub_GAME_7F0BE8D0 -/* 0F4B10 7F0BFFA0 00000000 */ nop -/* 0F4B14 7F0BFFA4 0FC2F4E1 */ jal sub_GAME_7F0BC7D4 -/* 0F4B18 7F0BFFA8 00000000 */ nop -/* 0F4B1C 7F0BFFAC 0FC24E7C */ jal sub_GAME_7F092E50 -/* 0F4B20 7F0BFFB0 00000000 */ nop -/* 0F4B24 7F0BFFB4 0FC253F6 */ jal sub_GAME_7F094438 -/* 0F4B28 7F0BFFB8 00000000 */ nop -/* 0F4B2C 7F0BFFBC 0FC294E7 */ jal sub_GAME_7F0A47FC -/* 0F4B30 7F0BFFC0 00000000 */ nop -/* 0F4B34 7F0BFFC4 0FC1A516 */ jal sub_GAME_7F068E6C -/* 0F4B38 7F0BFFC8 00000000 */ nop -/* 0F4B3C 7F0BFFCC 0FC28D1D */ jal sub_GAME_7F0A28D4 -/* 0F4B40 7F0BFFD0 00000000 */ nop -/* 0F4B44 7F0BFFD4 0FC28238 */ jal sub_GAME_7F09FD3C -/* 0F4B48 7F0BFFD8 00000000 */ nop -/* 0F4B4C 7F0BFFDC 0FC0F252 */ jal handle_mp_respawn_and_some_things -/* 0F4B50 7F0BFFE0 00000000 */ nop -/* 0F4B54 7F0BFFE4 0FC3081E */ jal reset_all_music_slots -/* 0F4B58 7F0BFFE8 00000000 */ nop -/* 0F4B5C 7F0BFFEC 0FC3097C */ jal something_with_LnameJ -/* 0F4B60 7F0BFFF0 00000000 */ nop -/* 0F4B64 7F0BFFF4 0FC246A6 */ jal get_debug_joy2detailedit_flag -/* 0F4B68 7F0BFFF8 00000000 */ nop -/* 0F4B6C 7F0BFFFC 1040004D */ beqz $v0, .Ljp7F0C0134 -/* 0F4B70 7F0C0000 3C068005 */ lui $a2, %hi(D_800483C8) # $a2, 0x8005 -/* 0F4B74 7F0C0004 24C683FC */ addiu $a2, %lo(D_800483C8) # addiu $a2, $a2, -0x7c04 -/* 0F4B78 7F0C0008 8CD80000 */ lw $t8, ($a2) -/* 0F4B7C 7F0C000C 24043000 */ li $a0, 12288 -/* 0F4B80 7F0C0010 17000048 */ bnez $t8, .Ljp7F0C0134 -/* 0F4B84 7F0C0014 00000000 */ nop -/* 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 -/* 0F4B98 7F0C0028 10400042 */ beqz $v0, .Ljp7F0C0134 -/* 0F4B9C 7F0C002C ACC20000 */ sw $v0, ($a2) -/* 0F4BA0 7F0C0030 00001825 */ move $v1, $zero -/* 0F4BA4 7F0C0034 24052EE0 */ li $a1, 12000 -/* 0F4BA8 7F0C0038 240400FF */ li $a0, 255 -.Ljp7F0C003C: -/* 0F4BAC 7F0C003C 8CCE0000 */ lw $t6, ($a2) -/* 0F4BB0 7F0C0040 01C3C821 */ addu $t9, $t6, $v1 -/* 0F4BB4 7F0C0044 A3240000 */ sb $a0, ($t9) -/* 0F4BB8 7F0C0048 8CD80000 */ lw $t8, ($a2) -/* 0F4BBC 7F0C004C 03031021 */ addu $v0, $t8, $v1 -/* 0F4BC0 7F0C0050 904F0001 */ lbu $t7, 1($v0) -/* 0F4BC4 7F0C0054 31EEFF1F */ andi $t6, $t7, 0xff1f -/* 0F4BC8 7F0C0058 35D90020 */ ori $t9, $t6, 0x20 -/* 0F4BCC 7F0C005C A0590001 */ sb $t9, 1($v0) -/* 0F4BD0 7F0C0060 8CD80000 */ lw $t8, ($a2) -/* 0F4BD4 7F0C0064 03031021 */ addu $v0, $t8, $v1 -/* 0F4BD8 7F0C0068 904F0001 */ lbu $t7, 1($v0) -/* 0F4BDC 7F0C006C 31EEFFE3 */ andi $t6, $t7, 0xffe3 -/* 0F4BE0 7F0C0070 35D90004 */ ori $t9, $t6, 4 -/* 0F4BE4 7F0C0074 A0590001 */ sb $t9, 1($v0) -/* 0F4BE8 7F0C0078 8CD80000 */ lw $t8, ($a2) -/* 0F4BEC 7F0C007C 03037821 */ addu $t7, $t8, $v1 -/* 0F4BF0 7F0C0080 A1E40004 */ sb $a0, 4($t7) -/* 0F4BF4 7F0C0084 8CCE0000 */ lw $t6, ($a2) -/* 0F4BF8 7F0C0088 01C31021 */ addu $v0, $t6, $v1 -/* 0F4BFC 7F0C008C 90590005 */ lbu $t9, 5($v0) -/* 0F4C00 7F0C0090 3338FF1F */ andi $t8, $t9, 0xff1f -/* 0F4C04 7F0C0094 370F0020 */ ori $t7, $t8, 0x20 -/* 0F4C08 7F0C0098 A04F0005 */ sb $t7, 5($v0) -/* 0F4C0C 7F0C009C 8CCE0000 */ lw $t6, ($a2) -/* 0F4C10 7F0C00A0 01C31021 */ addu $v0, $t6, $v1 -/* 0F4C14 7F0C00A4 90590005 */ lbu $t9, 5($v0) -/* 0F4C18 7F0C00A8 3338FFE3 */ andi $t8, $t9, 0xffe3 -/* 0F4C1C 7F0C00AC 370F0004 */ ori $t7, $t8, 4 -/* 0F4C20 7F0C00B0 A04F0005 */ sb $t7, 5($v0) -/* 0F4C24 7F0C00B4 8CCE0000 */ lw $t6, ($a2) -/* 0F4C28 7F0C00B8 01C3C821 */ addu $t9, $t6, $v1 -/* 0F4C2C 7F0C00BC A3240008 */ sb $a0, 8($t9) -/* 0F4C30 7F0C00C0 8CD80000 */ lw $t8, ($a2) -/* 0F4C34 7F0C00C4 03031021 */ addu $v0, $t8, $v1 -/* 0F4C38 7F0C00C8 904F0009 */ lbu $t7, 9($v0) -/* 0F4C3C 7F0C00CC 31EEFF1F */ andi $t6, $t7, 0xff1f -/* 0F4C40 7F0C00D0 35D90020 */ ori $t9, $t6, 0x20 -/* 0F4C44 7F0C00D4 A0590009 */ sb $t9, 9($v0) -/* 0F4C48 7F0C00D8 8CD80000 */ lw $t8, ($a2) -/* 0F4C4C 7F0C00DC 03031021 */ addu $v0, $t8, $v1 -/* 0F4C50 7F0C00E0 904F0009 */ lbu $t7, 9($v0) -/* 0F4C54 7F0C00E4 31EEFFE3 */ andi $t6, $t7, 0xffe3 -/* 0F4C58 7F0C00E8 35D90004 */ ori $t9, $t6, 4 -/* 0F4C5C 7F0C00EC A0590009 */ sb $t9, 9($v0) -/* 0F4C60 7F0C00F0 8CD80000 */ lw $t8, ($a2) -/* 0F4C64 7F0C00F4 03037821 */ addu $t7, $t8, $v1 -/* 0F4C68 7F0C00F8 A1E4000C */ sb $a0, 0xc($t7) -/* 0F4C6C 7F0C00FC 8CCE0000 */ lw $t6, ($a2) -/* 0F4C70 7F0C0100 01C31021 */ addu $v0, $t6, $v1 -/* 0F4C74 7F0C0104 9059000D */ lbu $t9, 0xd($v0) -/* 0F4C78 7F0C0108 3338FF1F */ andi $t8, $t9, 0xff1f -/* 0F4C7C 7F0C010C 370F0020 */ ori $t7, $t8, 0x20 -/* 0F4C80 7F0C0110 A04F000D */ sb $t7, 0xd($v0) -/* 0F4C84 7F0C0114 8CCE0000 */ lw $t6, ($a2) -/* 0F4C88 7F0C0118 01C31021 */ addu $v0, $t6, $v1 -/* 0F4C8C 7F0C011C 9059000D */ lbu $t9, 0xd($v0) -/* 0F4C90 7F0C0120 24630010 */ addiu $v1, $v1, 0x10 -/* 0F4C94 7F0C0124 3338FFE3 */ andi $t8, $t9, 0xffe3 -/* 0F4C98 7F0C0128 370F0004 */ ori $t7, $t8, 4 -/* 0F4C9C 7F0C012C 1465FFC3 */ bne $v1, $a1, .Ljp7F0C003C -/* 0F4CA0 7F0C0130 A04F000D */ sb $t7, 0xd($v0) -.Ljp7F0C0134: -/* 0F4CA4 7F0C0134 0FC246C7 */ jal get_debug_portal_flag -/* 0F4CA8 7F0C0138 00000000 */ nop -/* 0F4CAC 7F0C013C 10400003 */ beqz $v0, .Ljp7F0C014C -/* 0F4CB0 7F0C0140 00000000 */ nop -/* 0F4CB4 7F0C0144 0FC2FAB4 */ jal sub_GAME_7F0BDF10 -/* 0F4CB8 7F0C0148 00002025 */ move $a0, $zero -.Ljp7F0C014C: -/* 0F4CBC 7F0C014C 0FC2467D */ jal get_debug_limit_controller_input -/* 0F4CC0 7F0C0150 00000000 */ nop -/* 0F4CC4 7F0C0154 24010004 */ li $at, 4 -/* 0F4CC8 7F0C0158 10410006 */ beq $v0, $at, .Ljp7F0C0174 -/* 0F4CCC 7F0C015C 00002025 */ move $a0, $zero -/* 0F4CD0 7F0C0160 24010008 */ li $at, 8 -/* 0F4CD4 7F0C0164 1041001A */ beq $v0, $at, .Ljp7F0C01D0 -/* 0F4CD8 7F0C0168 00002025 */ move $a0, $zero -/* 0F4CDC 7F0C016C 10000031 */ b .Ljp7F0C0234 -/* 0F4CE0 7F0C0170 00000000 */ nop -.Ljp7F0C0174: -/* 0F4CE4 7F0C0174 0C003104 */ jal get_controller_buttons_pressed -/* 0F4CE8 7F0C0178 24050002 */ li $a1, 2 -/* 0F4CEC 7F0C017C 50400008 */ beql $v0, $zero, .Ljp7F0C01A0 -/* 0F4CF0 7F0C0180 00002025 */ move $a0, $zero -/* 0F4CF4 7F0C0184 0FC2C078 */ jal sub_GAME_7F0AF630 -/* 0F4CF8 7F0C0188 2404FFFF */ li $a0, -1 -/* 0F4CFC 7F0C018C 00002025 */ move $a0, $zero -/* 0F4D00 7F0C0190 00002825 */ move $a1, $zero -/* 0F4D04 7F0C0194 0FC2CE3A */ jal sub_GAME_7F0B2D38 -/* 0F4D08 7F0C0198 00003025 */ move $a2, $zero -/* 0F4D0C 7F0C019C 00002025 */ move $a0, $zero -.Ljp7F0C01A0: -/* 0F4D10 7F0C01A0 0C003104 */ jal get_controller_buttons_pressed -/* 0F4D14 7F0C01A4 24050001 */ li $a1, 1 -/* 0F4D18 7F0C01A8 10400022 */ beqz $v0, .Ljp7F0C0234 -/* 0F4D1C 7F0C01AC 00000000 */ nop -/* 0F4D20 7F0C01B0 0FC2C078 */ jal sub_GAME_7F0AF630 -/* 0F4D24 7F0C01B4 24040001 */ li $a0, 1 -/* 0F4D28 7F0C01B8 00002025 */ move $a0, $zero -/* 0F4D2C 7F0C01BC 00002825 */ move $a1, $zero -/* 0F4D30 7F0C01C0 0FC2CE3A */ jal sub_GAME_7F0B2D38 -/* 0F4D34 7F0C01C4 00003025 */ move $a2, $zero -/* 0F4D38 7F0C01C8 1000001A */ b .Ljp7F0C0234 -/* 0F4D3C 7F0C01CC 00000000 */ nop -.Ljp7F0C01D0: -/* 0F4D40 7F0C01D0 0C003104 */ jal get_controller_buttons_pressed -/* 0F4D44 7F0C01D4 24050002 */ li $a1, 2 -/* 0F4D48 7F0C01D8 50400004 */ beql $v0, $zero, .Ljp7F0C01EC -/* 0F4D4C 7F0C01DC 00002025 */ move $a0, $zero -/* 0F4D50 7F0C01E0 0FC08C46 */ jal sub_GAME_7F022E30 -/* 0F4D54 7F0C01E4 00000000 */ nop -/* 0F4D58 7F0C01E8 00002025 */ move $a0, $zero -.Ljp7F0C01EC: -/* 0F4D5C 7F0C01EC 0C003104 */ jal get_controller_buttons_pressed -/* 0F4D60 7F0C01F0 24050001 */ li $a1, 1 -/* 0F4D64 7F0C01F4 50400004 */ beql $v0, $zero, .Ljp7F0C0208 -/* 0F4D68 7F0C01F8 00002025 */ move $a0, $zero -/* 0F4D6C 7F0C01FC 0FC08C5E */ jal sub_GAME_7F022E90 -/* 0F4D70 7F0C0200 00000000 */ nop -/* 0F4D74 7F0C0204 00002025 */ move $a0, $zero -.Ljp7F0C0208: -/* 0F4D78 7F0C0208 0C003104 */ jal get_controller_buttons_pressed -/* 0F4D7C 7F0C020C 24050020 */ li $a1, 32 -/* 0F4D80 7F0C0210 50400004 */ beql $v0, $zero, .Ljp7F0C0224 -/* 0F4D84 7F0C0214 00002025 */ move $a0, $zero -/* 0F4D88 7F0C0218 0FC08C6C */ jal sub_GAME_7F022EC8 -/* 0F4D8C 7F0C021C 00000000 */ nop -/* 0F4D90 7F0C0220 00002025 */ move $a0, $zero -.Ljp7F0C0224: -/* 0F4D94 7F0C0224 0C0030DC */ jal get_controller_buttons_held -/* 0F4D98 7F0C0228 24050010 */ li $a1, 16 -/* 0F4D9C 7F0C022C 0FC08C72 */ jal sub_GAME_7F022EE0 -/* 0F4DA0 7F0C0230 0002202B */ sltu $a0, $zero, $v0 -.Ljp7F0C0234: -/* 0F4DA4 7F0C0234 0FC2467D */ jal get_debug_limit_controller_input -/* 0F4DA8 7F0C0238 00000000 */ nop -/* 0F4DAC 7F0C023C 2401000C */ li $at, 12 -/* 0F4DB0 7F0C0240 1041002E */ beq $v0, $at, .Ljp7F0C02FC -/* 0F4DB4 7F0C0244 00002025 */ move $a0, $zero -/* 0F4DB8 7F0C0248 2401000D */ li $at, 13 -/* 0F4DBC 7F0C024C 10410048 */ beq $v0, $at, .Ljp7F0C0370 -/* 0F4DC0 7F0C0250 00002025 */ move $a0, $zero -/* 0F4DC4 7F0C0254 24010038 */ li $at, 56 -/* 0F4DC8 7F0C0258 54410074 */ bnel $v0, $at, .Ljp7F0C042C -/* 0F4DCC 7F0C025C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4DD0 7F0C0260 0C0010EA */ jal get_D_8002329C -/* 0F4DD4 7F0C0264 00000000 */ nop -/* 0F4DD8 7F0C0268 0C0010E4 */ jal get_D_800232A0 -/* 0F4DDC 7F0C026C AFA20030 */ sw $v0, 0x30($sp) -/* 0F4DE0 7F0C0270 AFA2002C */ sw $v0, 0x2c($sp) -/* 0F4DE4 7F0C0274 00002025 */ move $a0, $zero -/* 0F4DE8 7F0C0278 0C0030DC */ jal get_controller_buttons_held -/* 0F4DEC 7F0C027C 24050004 */ li $a1, 4 -/* 0F4DF0 7F0C0280 10400004 */ beqz $v0, .Ljp7F0C0294 -/* 0F4DF4 7F0C0284 00002025 */ move $a0, $zero -/* 0F4DF8 7F0C0288 8FAE002C */ lw $t6, 0x2c($sp) -/* 0F4DFC 7F0C028C 25D90001 */ addiu $t9, $t6, 1 -/* 0F4E00 7F0C0290 AFB9002C */ sw $t9, 0x2c($sp) -.Ljp7F0C0294: -/* 0F4E04 7F0C0294 0C0030DC */ jal get_controller_buttons_held -/* 0F4E08 7F0C0298 24050008 */ li $a1, 8 -/* 0F4E0C 7F0C029C 10400004 */ beqz $v0, .Ljp7F0C02B0 -/* 0F4E10 7F0C02A0 00002025 */ move $a0, $zero -/* 0F4E14 7F0C02A4 8FB8002C */ lw $t8, 0x2c($sp) -/* 0F4E18 7F0C02A8 270FFFFF */ addiu $t7, $t8, -1 -/* 0F4E1C 7F0C02AC AFAF002C */ sw $t7, 0x2c($sp) -.Ljp7F0C02B0: -/* 0F4E20 7F0C02B0 0C0030DC */ jal get_controller_buttons_held -/* 0F4E24 7F0C02B4 24050001 */ li $a1, 1 -/* 0F4E28 7F0C02B8 10400004 */ beqz $v0, .Ljp7F0C02CC -/* 0F4E2C 7F0C02BC 00002025 */ move $a0, $zero -/* 0F4E30 7F0C02C0 8FAE0030 */ lw $t6, 0x30($sp) -/* 0F4E34 7F0C02C4 25D90001 */ addiu $t9, $t6, 1 -/* 0F4E38 7F0C02C8 AFB90030 */ sw $t9, 0x30($sp) -.Ljp7F0C02CC: -/* 0F4E3C 7F0C02CC 0C0030DC */ jal get_controller_buttons_held -/* 0F4E40 7F0C02D0 24050002 */ li $a1, 2 -/* 0F4E44 7F0C02D4 10400003 */ beqz $v0, .Ljp7F0C02E4 -/* 0F4E48 7F0C02D8 8FB80030 */ lw $t8, 0x30($sp) -/* 0F4E4C 7F0C02DC 270FFFFF */ addiu $t7, $t8, -1 -/* 0F4E50 7F0C02E0 AFAF0030 */ sw $t7, 0x30($sp) -.Ljp7F0C02E4: -/* 0F4E54 7F0C02E4 0C0010E7 */ jal set_D_8002329C -/* 0F4E58 7F0C02E8 8FA40030 */ lw $a0, 0x30($sp) -/* 0F4E5C 7F0C02EC 0C0010E1 */ jal set_D_800232A0 -/* 0F4E60 7F0C02F0 8FA4002C */ lw $a0, 0x2c($sp) -/* 0F4E64 7F0C02F4 1000004D */ b .Ljp7F0C042C -/* 0F4E68 7F0C02F8 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C02FC: -/* 0F4E6C 7F0C02FC 0C003104 */ jal get_controller_buttons_pressed -/* 0F4E70 7F0C0300 24050202 */ li $a1, 514 -/* 0F4E74 7F0C0304 50400004 */ beql $v0, $zero, .Ljp7F0C0318 -/* 0F4E78 7F0C0308 00002025 */ move $a0, $zero -/* 0F4E7C 7F0C030C 0FC2F97A */ jal music_append_play_endtheme -/* 0F4E80 7F0C0310 00000000 */ nop -/* 0F4E84 7F0C0314 00002025 */ move $a0, $zero -.Ljp7F0C0318: -/* 0F4E88 7F0C0318 0C003104 */ jal get_controller_buttons_pressed -/* 0F4E8C 7F0C031C 24050101 */ li $a1, 257 -/* 0F4E90 7F0C0320 50400004 */ beql $v0, $zero, .Ljp7F0C0334 -/* 0F4E94 7F0C0324 00002025 */ move $a0, $zero -/* 0F4E98 7F0C0328 0FC2F967 */ jal music_append_play_solo_death_short -/* 0F4E9C 7F0C032C 00000000 */ nop -/* 0F4EA0 7F0C0330 00002025 */ move $a0, $zero -.Ljp7F0C0334: -/* 0F4EA4 7F0C0334 0C003104 */ jal get_controller_buttons_pressed -/* 0F4EA8 7F0C0338 24050400 */ li $a1, 1024 -/* 0F4EAC 7F0C033C 50400004 */ beql $v0, $zero, .Ljp7F0C0350 -/* 0F4EB0 7F0C0340 00002025 */ move $a0, $zero -/* 0F4EB4 7F0C0344 0C001BF8 */ jal musicTrack1Stop -/* 0F4EB8 7F0C0348 00000000 */ nop -/* 0F4EBC 7F0C034C 00002025 */ move $a0, $zero -.Ljp7F0C0350: -/* 0F4EC0 7F0C0350 0C003104 */ jal get_controller_buttons_pressed -/* 0F4EC4 7F0C0354 24054000 */ li $a1, 16384 -/* 0F4EC8 7F0C0358 50400034 */ beql $v0, $zero, .Ljp7F0C042C -/* 0F4ECC 7F0C035C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4ED0 7F0C0360 0C001C2C */ jal musicTrack1Tempo -/* 0F4ED4 7F0C0364 00000000 */ nop -/* 0F4ED8 7F0C0368 10000030 */ b .Ljp7F0C042C -/* 0F4EDC 7F0C036C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C0370: -/* 0F4EE0 7F0C0370 0C003104 */ jal get_controller_buttons_pressed -/* 0F4EE4 7F0C0374 24050622 */ li $a1, 1570 -/* 0F4EE8 7F0C0378 1040000B */ beqz $v0, .Ljp7F0C03A8 -/* 0F4EEC 7F0C037C 3C058005 */ lui $a1, 0x8005 -/* 0F4EF0 7F0C0380 84A58418 */ lh $a1, %lo(D_800483E4)($a1) -/* 0F4EF4 7F0C0384 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0F4EF8 7F0C0388 3C018005 */ lui $at, %hi(D_800483E4) # $at, 0x8005 -/* 0F4EFC 7F0C038C 24A5FFFF */ addiu $a1, $a1, -1 -/* 0F4F00 7F0C0390 00057400 */ sll $t6, $a1, 0x10 -/* 0F4F04 7F0C0394 000E2C03 */ sra $a1, $t6, 0x10 -/* 0F4F08 7F0C0398 A4258418 */ sh $a1, %lo(D_800483E4)($at) -/* 0F4F0C 7F0C039C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0F4F10 7F0C03A0 0C002386 */ jal play_sfx_a1 -/* 0F4F14 7F0C03A4 00003025 */ move $a2, $zero -.Ljp7F0C03A8: -/* 0F4F18 7F0C03A8 00002025 */ move $a0, $zero -/* 0F4F1C 7F0C03AC 0C003104 */ jal get_controller_buttons_pressed -/* 0F4F20 7F0C03B0 24050911 */ li $a1, 2321 -/* 0F4F24 7F0C03B4 1040000B */ beqz $v0, .Ljp7F0C03E4 -/* 0F4F28 7F0C03B8 3C058005 */ lui $a1, 0x8005 -/* 0F4F2C 7F0C03BC 84A58418 */ lh $a1, %lo(D_800483E4)($a1) -/* 0F4F30 7F0C03C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0F4F34 7F0C03C4 3C018005 */ lui $at, %hi(D_800483E4) # $at, 0x8005 -/* 0F4F38 7F0C03C8 24A50001 */ addiu $a1, $a1, 1 -/* 0F4F3C 7F0C03CC 0005C400 */ sll $t8, $a1, 0x10 -/* 0F4F40 7F0C03D0 00182C03 */ sra $a1, $t8, 0x10 -/* 0F4F44 7F0C03D4 A4258418 */ sh $a1, %lo(D_800483E4)($at) -/* 0F4F48 7F0C03D8 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0F4F4C 7F0C03DC 0C002386 */ jal play_sfx_a1 -/* 0F4F50 7F0C03E0 00003025 */ move $a2, $zero -.Ljp7F0C03E4: -/* 0F4F54 7F0C03E4 00002025 */ move $a0, $zero -/* 0F4F58 7F0C03E8 0C003104 */ jal get_controller_buttons_pressed -/* 0F4F5C 7F0C03EC 24050004 */ li $a1, 4 -/* 0F4F60 7F0C03F0 50400004 */ beql $v0, $zero, .Ljp7F0C0404 -/* 0F4F64 7F0C03F4 00002025 */ move $a0, $zero -/* 0F4F68 7F0C03F8 0C00244D */ jal sfx_c_70009124 -/* 0F4F6C 7F0C03FC 00000000 */ nop -/* 0F4F70 7F0C0400 00002025 */ move $a0, $zero -.Ljp7F0C0404: -/* 0F4F74 7F0C0404 0C003104 */ jal get_controller_buttons_pressed -/* 0F4F78 7F0C0408 24050008 */ li $a1, 8 -/* 0F4F7C 7F0C040C 10400006 */ beqz $v0, .Ljp7F0C0428 -/* 0F4F80 7F0C0410 3C058005 */ lui $a1, %hi(D_800483E4) # $a1, 0x8005 -/* 0F4F84 7F0C0414 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0F4F88 7F0C0418 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0F4F8C 7F0C041C 84A58418 */ lh $a1, %lo(D_800483E4)($a1) -/* 0F4F90 7F0C0420 0C002386 */ jal play_sfx_a1 -/* 0F4F94 7F0C0424 00003025 */ move $a2, $zero -.Ljp7F0C0428: -/* 0F4F98 7F0C0428 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C042C: -/* 0F4F9C 7F0C042C 27BD0198 */ addiu $sp, $sp, 0x198 -/* 0F4FA0 7F0C0430 03E00008 */ jr $ra -/* 0F4FA4 7F0C0434 00000000 */ nop -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F0BF800(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BF800 -/* 0F4330 7F0BF800 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0F4334 7F0BF804 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F4338 7F0BF808 0FC26C54 */ jal get_cur_playernum -/* 0F433C 7F0BF80C 00000000 */ nop -/* 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 -/* 0F4350 7F0BF820 10400007 */ beqz $v0, .L7F0BF840 -/* 0F4354 7F0BF824 24010001 */ li $at, 1 -/* 0F4358 7F0BF828 1041002D */ beq $v0, $at, .L7F0BF8E0 -/* 0F435C 7F0BF82C 24010002 */ li $at, 2 -/* 0F4360 7F0BF830 1041004C */ beq $v0, $at, .L7F0BF964 -/* 0F4364 7F0BF834 00000000 */ nop -/* 0F4368 7F0BF838 1000006B */ b .L7F0BF9E8 -/* 0F436C 7F0BF83C 00000000 */ nop -.L7F0BF840: -/* 0F4370 7F0BF840 0FC243C5 */ jal get_debug_limit_controller_input -/* 0F4374 7F0BF844 00000000 */ nop -/* 0F4378 7F0BF848 10400009 */ beqz $v0, .L7F0BF870 -/* 0F437C 7F0BF84C 00000000 */ nop -/* 0F4380 7F0BF850 0FC243C5 */ jal get_debug_limit_controller_input -/* 0F4384 7F0BF854 00000000 */ nop -/* 0F4388 7F0BF858 2401003B */ li $at, 59 -/* 0F438C 7F0BF85C 14410013 */ bne $v0, $at, .L7F0BF8AC -/* 0F4390 7F0BF860 3C0E8003 */ lui $t6, %hi(D_80036ABC) -/* 0F4394 7F0BF864 8DCE6ABC */ lw $t6, %lo(D_80036ABC)($t6) -/* 0F4398 7F0BF868 05C10010 */ bgez $t6, .L7F0BF8AC -/* 0F439C 7F0BF86C 00000000 */ nop -.L7F0BF870: -/* 0F43A0 7F0BF870 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0F43A4 7F0BF874 83A4002F */ lb $a0, 0x2f($sp) -/* 0F43A8 7F0BF878 A3A20018 */ sb $v0, 0x18($sp) -/* 0F43AC 7F0BF87C 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0F43B0 7F0BF880 83A4002F */ lb $a0, 0x2f($sp) -/* 0F43B4 7F0BF884 A3A20019 */ sb $v0, 0x19($sp) -/* 0F43B8 7F0BF888 83A4002F */ lb $a0, 0x2f($sp) -/* 0F43BC 7F0BF88C 0C0030C3 */ jal get_controller_buttons_held -/* 0F43C0 7F0BF890 3405FFFF */ li $a1, 65535 -/* 0F43C4 7F0BF894 83A40018 */ lb $a0, 0x18($sp) -/* 0F43C8 7F0BF898 83A50019 */ lb $a1, 0x19($sp) -/* 0F43CC 7F0BF89C 0FC24420 */ jal sub_GAME_7F091080 -/* 0F43D0 7F0BF8A0 3046FFFF */ andi $a2, $v0, 0xffff -/* 0F43D4 7F0BF8A4 10000050 */ b .L7F0BF9E8 -/* 0F43D8 7F0BF8A8 00000000 */ nop -.L7F0BF8AC: -/* 0F43DC 7F0BF8AC 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0F43E0 7F0BF8B0 83A4002F */ lb $a0, 0x2f($sp) -/* 0F43E4 7F0BF8B4 A3A20018 */ sb $v0, 0x18($sp) -/* 0F43E8 7F0BF8B8 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0F43EC 7F0BF8BC 83A4002F */ lb $a0, 0x2f($sp) -/* 0F43F0 7F0BF8C0 00022E00 */ sll $a1, $v0, 0x18 -/* 0F43F4 7F0BF8C4 00057E03 */ sra $t7, $a1, 0x18 -/* 0F43F8 7F0BF8C8 01E02825 */ move $a1, $t7 -/* 0F43FC 7F0BF8CC 83A40018 */ lb $a0, 0x18($sp) -/* 0F4400 7F0BF8D0 0FC24420 */ jal sub_GAME_7F091080 -/* 0F4404 7F0BF8D4 00003025 */ move $a2, $zero -/* 0F4408 7F0BF8D8 10000043 */ b .L7F0BF9E8 -/* 0F440C 7F0BF8DC 00000000 */ nop -.L7F0BF8E0: -/* 0F4410 7F0BF8E0 0FC243C5 */ jal get_debug_limit_controller_input -/* 0F4414 7F0BF8E4 00000000 */ nop -/* 0F4418 7F0BF8E8 24010001 */ li $at, 1 -/* 0F441C 7F0BF8EC 14410010 */ bne $v0, $at, .L7F0BF930 -/* 0F4420 7F0BF8F0 00000000 */ nop -/* 0F4424 7F0BF8F4 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0F4428 7F0BF8F8 83A4002F */ lb $a0, 0x2f($sp) -/* 0F442C 7F0BF8FC A3A20018 */ sb $v0, 0x18($sp) -/* 0F4430 7F0BF900 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0F4434 7F0BF904 83A4002F */ lb $a0, 0x2f($sp) -/* 0F4438 7F0BF908 A3A20019 */ sb $v0, 0x19($sp) -/* 0F443C 7F0BF90C 83A4002F */ lb $a0, 0x2f($sp) -/* 0F4440 7F0BF910 0C0030C3 */ jal get_controller_buttons_held -/* 0F4444 7F0BF914 3405FFFF */ li $a1, 65535 -/* 0F4448 7F0BF918 83A40018 */ lb $a0, 0x18($sp) -/* 0F444C 7F0BF91C 83A50019 */ lb $a1, 0x19($sp) -/* 0F4450 7F0BF920 0FC2CB4E */ jal sub_GAME_7F0B2D38 -/* 0F4454 7F0BF924 3046FFFF */ andi $a2, $v0, 0xffff -/* 0F4458 7F0BF928 1000002F */ b .L7F0BF9E8 -/* 0F445C 7F0BF92C 00000000 */ nop -.L7F0BF930: -/* 0F4460 7F0BF930 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0F4464 7F0BF934 83A4002F */ lb $a0, 0x2f($sp) -/* 0F4468 7F0BF938 A3A20018 */ sb $v0, 0x18($sp) -/* 0F446C 7F0BF93C 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0F4470 7F0BF940 83A4002F */ lb $a0, 0x2f($sp) -/* 0F4474 7F0BF944 00022E00 */ sll $a1, $v0, 0x18 -/* 0F4478 7F0BF948 0005C603 */ sra $t8, $a1, 0x18 -/* 0F447C 7F0BF94C 03002825 */ move $a1, $t8 -/* 0F4480 7F0BF950 83A40018 */ lb $a0, 0x18($sp) -/* 0F4484 7F0BF954 0FC2CB4E */ jal sub_GAME_7F0B2D38 -/* 0F4488 7F0BF958 00003025 */ move $a2, $zero -/* 0F448C 7F0BF95C 10000022 */ b .L7F0BF9E8 -/* 0F4490 7F0BF960 00000000 */ nop -.L7F0BF964: -/* 0F4494 7F0BF964 0FC243C5 */ jal get_debug_limit_controller_input -/* 0F4498 7F0BF968 00000000 */ nop -/* 0F449C 7F0BF96C 24010002 */ li $at, 2 -/* 0F44A0 7F0BF970 14410010 */ bne $v0, $at, .L7F0BF9B4 -/* 0F44A4 7F0BF974 00000000 */ nop -/* 0F44A8 7F0BF978 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0F44AC 7F0BF97C 83A4002F */ lb $a0, 0x2f($sp) -/* 0F44B0 7F0BF980 A3A20018 */ sb $v0, 0x18($sp) -/* 0F44B4 7F0BF984 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0F44B8 7F0BF988 83A4002F */ lb $a0, 0x2f($sp) -/* 0F44BC 7F0BF98C A3A20019 */ sb $v0, 0x19($sp) -/* 0F44C0 7F0BF990 83A4002F */ lb $a0, 0x2f($sp) -/* 0F44C4 7F0BF994 0C0030C3 */ jal get_controller_buttons_held -/* 0F44C8 7F0BF998 3405FFFF */ li $a1, 65535 -/* 0F44CC 7F0BF99C 83A40018 */ lb $a0, 0x18($sp) -/* 0F44D0 7F0BF9A0 83A50019 */ lb $a1, 0x19($sp) -/* 0F44D4 7F0BF9A4 0FC21BE7 */ jal possibly_reset_viewport_options_for_player -/* 0F44D8 7F0BF9A8 3046FFFF */ andi $a2, $v0, 0xffff -/* 0F44DC 7F0BF9AC 1000000C */ b .L7F0BF9E0 -/* 0F44E0 7F0BF9B0 00000000 */ nop -.L7F0BF9B4: -/* 0F44E4 7F0BF9B4 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0F44E8 7F0BF9B8 83A4002F */ lb $a0, 0x2f($sp) -/* 0F44EC 7F0BF9BC A3A20018 */ sb $v0, 0x18($sp) -/* 0F44F0 7F0BF9C0 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0F44F4 7F0BF9C4 83A4002F */ lb $a0, 0x2f($sp) -/* 0F44F8 7F0BF9C8 00022E00 */ sll $a1, $v0, 0x18 -/* 0F44FC 7F0BF9CC 0005CE03 */ sra $t9, $a1, 0x18 -/* 0F4500 7F0BF9D0 03202825 */ move $a1, $t9 -/* 0F4504 7F0BF9D4 83A40018 */ lb $a0, 0x18($sp) -/* 0F4508 7F0BF9D8 0FC21BE7 */ jal possibly_reset_viewport_options_for_player -/* 0F450C 7F0BF9DC 00003025 */ move $a2, $zero -.L7F0BF9E0: -/* 0F4510 7F0BF9E0 0FC30BA0 */ jal sub_GAME_7F0C2E80 -/* 0F4514 7F0BF9E4 00000000 */ nop -.L7F0BF9E8: -/* 0F4518 7F0BF9E8 3C028008 */ lui $v0, %hi(pPlayer) -/* 0F451C 7F0BF9EC 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0F4520 7F0BF9F0 8C4300A8 */ lw $v1, 0xa8($v0) -/* 0F4524 7F0BF9F4 C4460408 */ lwc1 $f6, 0x408($v0) -/* 0F4528 7F0BF9F8 C44A0410 */ lwc1 $f10, 0x410($v0) -/* 0F452C 7F0BF9FC C4640008 */ lwc1 $f4, 8($v1) -/* 0F4530 7F0BFA00 C4680010 */ lwc1 $f8, 0x10($v1) -/* 0F4534 7F0BFA04 46062001 */ sub.s $f0, $f4, $f6 -/* 0F4538 7F0BFA08 460A4081 */ sub.s $f2, $f8, $f10 -/* 0F453C 7F0BFA0C 46000402 */ mul.s $f16, $f0, $f0 -/* 0F4540 7F0BFA10 00000000 */ nop -/* 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(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 -/* 0F4564 7F0BFA34 E4460038 */ swc1 $f6, 0x38($v0) -/* 0F4568 7F0BFA38 24010002 */ li $at, 2 -/* 0F456C 7F0BFA3C 14410024 */ bne $v0, $at, .L7F0BFAD0 -/* 0F4570 7F0BFA40 00000000 */ nop -/* 0F4574 7F0BFA44 0FC233E0 */ jal sub_GAME_7F08CF80 -/* 0F4578 7F0BFA48 00000000 */ nop -/* 0F457C 7F0BFA4C 1040001C */ beqz $v0, .L7F0BFAC0 -/* 0F4580 7F0BFA50 00000000 */ nop -/* 0F4584 7F0BFA54 0FC17674 */ jal get_item_in_hand -/* 0F4588 7F0BFA58 00002025 */ move $a0, $zero -/* 0F458C 7F0BFA5C 24010058 */ li $at, 88 -/* 0F4590 7F0BFA60 1041000B */ beq $v0, $at, .L7F0BFA90 -/* 0F4594 7F0BFA64 00002025 */ move $a0, $zero -/* 0F4598 7F0BFA68 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 0F459C 7F0BFA6C 24050058 */ li $a1, 88 -/* 0F45A0 7F0BFA70 3C028008 */ lui $v0, %hi(pPlayer) -/* 0F45A4 7F0BFA74 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0F45A8 7F0BFA78 24010002 */ li $at, 2 -/* 0F45AC 7F0BFA7C 24090005 */ li $t1, 5 -/* 0F45B0 7F0BFA80 8C480894 */ lw $t0, 0x894($v0) -/* 0F45B4 7F0BFA84 15010002 */ bne $t0, $at, .L7F0BFA90 -/* 0F45B8 7F0BFA88 00000000 */ nop -/* 0F45BC 7F0BFA8C AC490894 */ sw $t1, 0x894($v0) -.L7F0BFA90: -/* 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) -/* 0F45D4 7F0BFAA4 8C4A0060 */ lw $t2, 0x60($v0) -/* 0F45D8 7F0BFAA8 240D0001 */ li $t5, 1 -/* 0F45DC 7F0BFAAC 014B6021 */ addu $t4, $t2, $t3 -/* 0F45E0 7F0BFAB0 AC4C0060 */ sw $t4, 0x60($v0) -/* 0F45E4 7F0BFAB4 8C6E0000 */ lw $t6, ($v1) -/* 0F45E8 7F0BFAB8 10000015 */ b .L7F0BFB10 -/* 0F45EC 7F0BFABC A1CD0069 */ sb $t5, 0x69($t6) -.L7F0BFAC0: -/* 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: -/* 0F4600 7F0BFAD0 0FC051D6 */ jal get_scenario -/* 0F4604 7F0BFAD4 00000000 */ nop -/* 0F4608 7F0BFAD8 24010003 */ li $at, 3 -/* 0F460C 7F0BFADC 5441000D */ bnel $v0, $at, .L7F0BFB14 -/* 0F4610 7F0BFAE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4614 7F0BFAE4 0FC233F0 */ jal checkforgoldengun -/* 0F4618 7F0BFAE8 00000000 */ nop -/* 0F461C 7F0BFAEC 10400006 */ beqz $v0, .L7F0BFB08 -/* 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(pPlayersPerm)($t0) -/* 0F463C 7F0BFB0C A1000069 */ sb $zero, 0x69($t0) -.L7F0BFB10: -/* 0F4640 7F0BFB10 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BFB14: -/* 0F4644 7F0BFB14 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0F4648 7F0BFB18 03E00008 */ jr $ra -/* 0F464C 7F0BFB1C 00000000 */ nop -) -#endif - - - - - -void unload_stage_text_data(void) { - if (D_800483A0 != 0) - { - if (sfxGetArg0Unk3F(D_800483A0) != 0) - { - sfxDeactivate(D_800483A0); - } - } - if (current_stage_to_load != 0x5a) - { - blank_text_bank(get_textbank_number_for_stagenum(current_stage_to_load)); - sub_GAME_7F007770(); - } - cheatDisableAllCheats(); - cleanupGuardData(); - cleanupObjectSounds(); - cleanupExplosions(); - sub_GAME_7F007920(); - cleanup_REMOVED_(); - cleanupAlarms(); - cleanupObjects(current_stage_to_load); - cleanupObjectives(); - cleanupSFXRelated(); - cleanupplayersoundrelated(); - sub_GAME_7F0C1268(); - sub_GAME_7F0B47E0(); -} - - -void set_controls_locked_flag(s32 arg0) { - #ifdef VERSION_JP - if ((arg0 != 0) && (controls_locked_flag == 0)) { - reset_cont_rumble_detect(); - } - #endif - controls_locked_flag = arg0; -} - - -s32 get_controls_locked_flag(void) { - - return controls_locked_flag; -} - - -DIFFICULTY get_current_difficulty(void) { - return difficulty_0; -} - - -void set_difficulty(s32 arg0) { - difficulty_0 = arg0; -} - -void set_mp_time(s32 arg0) { - mp_time = arg0; -} - - -void set_mp_point(s32 arg0) { - mp_point = arg0; -} - - -f32 get_cur_mp_sec(void) { - return cur_mp_sec; -} - - -f32 get_cur_mp_min(void) { - return cur_mp_min; -} - - -f32 get_stage_time_sec(void) { - return stage_time_sec; -} - - -f32 get_poweron_time_sec(void) { - return poweron_time_sec; -} - - diff --git a/src/game/lvl.h b/src/game/lvl.h deleted file mode 100644 index c61dc32..0000000 --- a/src/game/lvl.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _LVL_H_ -#define _LVL_H_ -#include "ultra64.h" - -struct ramrom_struct { - u32 *address; - u32 unk; -}; - -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; -extern s32 dword_CODE_bss_8008C26C; -extern char ramrom_data_target[0x380]; -extern s32 record_slot_num; -extern s32 *address_demo_loaded; -extern s32 dword_CODE_bss_8008C5F8; - -#endif diff --git a/src/game/lvl_2.c b/src/game/lvl_2.c deleted file mode 100644 index 561f68e..0000000 --- a/src/game/lvl_2.c +++ /dev/null @@ -1,1354 +0,0 @@ - -#include "ultra64.h" -#include "game/debugmenu_090490.h" -#include "game/lvl.h" -#include "game/initunk_0072B0.h" -#include "game/mainmenu.h" - - -//D:800483F0 - -//move me to better home -extern u32* ramrom_Dam_1; -extern u32* ramrom_Dam_2; -extern u32* ramrom_Facility_1; -extern u32* ramrom_Facility_2; -extern u32* ramrom_Facility_3; -extern u32* ramrom_Runway_1; -extern u32* ramrom_Runway_2; -extern u32* ramrom_BunkerI_1; -extern u32* ramrom_BunkerI_2; -extern u32* ramrom_Silo_1; -extern u32* ramrom_Silo_2; -extern u32* ramrom_Frigate_1; -extern u32* ramrom_Frigate_2; -extern u32* ramrom_Train; - -struct ramrom_struct ramrom_table[] = { - {&ramrom_Dam_1, 0}, {&ramrom_Dam_2, 0}, {&ramrom_Facility_1, 0}, {&ramrom_Facility_2, 0}, {&ramrom_Facility_3, 0}, - {&ramrom_Runway_1, 0}, {&ramrom_Runway_2, 0}, {&ramrom_BunkerI_1, 0}, {&ramrom_BunkerI_2, 0}, {&ramrom_Silo_1, 0}, - {&ramrom_Silo_2, 0}, {&ramrom_Frigate_1, 0}, {&ramrom_Frigate_2, 0}, {&ramrom_Train, 0}, {0,0} -}; - -//D:80048468 -s32 ptr_active_demofile = 0; -//D:8004846C -s32 ramrom_blkbuf_2 = 0; -//D:80048470 -s32 ramrom_blkbuf_3 = 0; -//D:80048474 -s32 is_ramrom_flag = 0; -//D:80048478 -s32 ramrom_demo_related_3 = 0; -//D:8004847C -s32 ramrom_demo_related_4 = 0; -//D:80048480 -s32 recording_ramrom_flag = 0; -//D:80048484 -s32 ramrom_demo_related_6 = 0; -//D:80048488 -s32 flag_to_record_ramrom = 0; -//D:8004848C -// .align 4 - -//D:8005B750 -const char aReplayDemo_D[] = "replay/demo.%d"; -//D:8005B760 -const char aReplayDemo_D_1[] = "replay/demo.%d"; -//D:8005B770 -const char aReplayDemo_load[] = "replay/demo.load"; - - - - - - - -void clear_ramrom_block_buffer_heading_ptrs(void) { - ptr_active_demofile = 0; - ramrom_blkbuf_2 = 0; - ramrom_blkbuf_3 = 0; -} - - -s32 get_is_ramrom_flag(void) { - return is_ramrom_flag; -} - - -s32 get_recording_ramrom_flag(void) { - return recording_ramrom_flag; -} - - -s32 interface_menu0B_runstage(void) { - return ramrom_demo_related_4; -} - -#ifdef NONMATCHING -void finalize_ramrom_on_hw(void) { - s32 temp_a0; - ? temp_ret; - - // Node 0 - temp_a0 = (((sp + 0x2f) | 0xf) ^ 0xf); - *temp_a0 = (u8)0; - temp_a0->unk1 = (u8)0; - romWrite(temp_a0, address_demo_loaded, 0x10); - address_demo_loaded = (s32) (address_demo_loaded + 4); - temp_ret = romCopyAligned(&ramrom_data_target, 0xf00000, 0xf0); - ptr_active_demofile = temp_ret; - temp_ret->unk7C = (s32) (global_timer - clock_timer); - ptr_active_demofile->unk80 = (s32) (address_demo_loaded - 0xf00000); - return romWrite(ptr_active_demofile, 0xf00000, 0xf0); -} -#else -GLOBAL_ASM( -.text -glabel finalize_ramrom_on_hw -/* 0F47E0 7F0BFCB0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0F47E4 7F0BFCB4 03A02025 */ move $a0, $sp -/* 0F47E8 7F0BFCB8 2484002F */ addiu $a0, $a0, 0x2f -/* 0F47EC 7F0BFCBC 348E000F */ ori $t6, $a0, 0xf -/* 0F47F0 7F0BFCC0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F47F4 7F0BFCC4 39C4000F */ xori $a0, $t6, 0xf -/* 0F47F8 7F0BFCC8 A0800000 */ sb $zero, ($a0) -/* 0F47FC 7F0BFCCC A0800001 */ sb $zero, 1($a0) -/* 0F4800 7F0BFCD0 3C058009 */ lui $a1, %hi(address_demo_loaded) -/* 0F4804 7F0BFCD4 8CA5C5F4 */ lw $a1, %lo(address_demo_loaded)($a1) -/* 0F4808 7F0BFCD8 0C001742 */ jal romWrite -/* 0F480C 7F0BFCDC 24060010 */ li $a2, 16 -/* 0F4810 7F0BFCE0 3C028009 */ lui $v0, %hi(address_demo_loaded) -/* 0F4814 7F0BFCE4 2442C5F4 */ addiu $v0, %lo(address_demo_loaded) # addiu $v0, $v0, -0x3a0c -/* 0F4818 7F0BFCE8 8C580000 */ lw $t8, ($v0) -/* 0F481C 7F0BFCEC 3C048009 */ lui $a0, %hi(ramrom_data_target) -/* 0F4820 7F0BFCF0 2484C270 */ addiu $a0, %lo(ramrom_data_target) # addiu $a0, $a0, -0x3d90 -/* 0F4824 7F0BFCF4 27190004 */ addiu $t9, $t8, 4 -/* 0F4828 7F0BFCF8 AC590000 */ sw $t9, ($v0) -/* 0F482C 7F0BFCFC 3C0500F0 */ lui $a1, 0xf0 -/* 0F4830 7F0BFD00 0C001711 */ jal romCopyAligned -/* 0F4834 7F0BFD04 240600F0 */ li $a2, 240 -/* 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) -/* 0F484C 7F0BFD1C 8D298374 */ lw $t1, %lo(clock_timer)($t1) -/* 0F4850 7F0BFD20 8D08837C */ lw $t0, %lo(global_timer)($t0) -/* 0F4854 7F0BFD24 3C0C8009 */ lui $t4, %hi(address_demo_loaded) -/* 0F4858 7F0BFD28 3C0500F0 */ lui $a1, 0xf0 -/* 0F485C 7F0BFD2C 01095023 */ subu $t2, $t0, $t1 -/* 0F4860 7F0BFD30 AC4A007C */ sw $t2, 0x7c($v0) -/* 0F4864 7F0BFD34 8D8CC5F4 */ lw $t4, %lo(address_demo_loaded)($t4) -/* 0F4868 7F0BFD38 8C6E0000 */ lw $t6, ($v1) -/* 0F486C 7F0BFD3C 240600F0 */ li $a2, 240 -/* 0F4870 7F0BFD40 01856823 */ subu $t5, $t4, $a1 -/* 0F4874 7F0BFD44 ADCD0080 */ sw $t5, 0x80($t6) -/* 0F4878 7F0BFD48 0C001742 */ jal romWrite -/* 0F487C 7F0BFD4C 8C640000 */ lw $a0, ($v1) -/* 0F4880 7F0BFD50 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4884 7F0BFD54 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0F4888 7F0BFD58 03E00008 */ jr $ra -/* 0F488C 7F0BFD5C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel save_ramrom_to_devtool -/* 0F4890 7F0BFD60 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 0F4894 7F0BFD64 AFB2001C */ sw $s2, 0x1c($sp) -/* 0F4898 7F0BFD68 AFB30020 */ sw $s3, 0x20($sp) -/* 0F489C 7F0BFD6C AFB10018 */ sw $s1, 0x18($sp) -/* 0F48A0 7F0BFD70 AFB00014 */ sw $s0, 0x14($sp) -/* 0F48A4 7F0BFD74 3C128006 */ lui $s2, %hi(aReplayDemo_D) -/* 0F48A8 7F0BFD78 AFBF0024 */ sw $ra, 0x24($sp) -/* 0F48AC 7F0BFD7C 2652B750 */ addiu $s2, %lo(aReplayDemo_D) # addiu $s2, $s2, -0x48b0 -/* 0F48B0 7F0BFD80 24100001 */ li $s0, 1 -/* 0F48B4 7F0BFD84 27B1002C */ addiu $s1, $sp, 0x2c -/* 0F48B8 7F0BFD88 27B30028 */ addiu $s3, $sp, 0x28 -.L7F0BFD8C: -/* 0F48BC 7F0BFD8C 02202025 */ move $a0, $s1 -/* 0F48C0 7F0BFD90 02402825 */ move $a1, $s2 -/* 0F48C4 7F0BFD94 0C002B25 */ jal sprintf -/* 0F48C8 7F0BFD98 02003025 */ move $a2, $s0 -/* 0F48CC 7F0BFD9C 02202025 */ move $a0, $s1 -/* 0F48D0 7F0BFDA0 0FC34026 */ jal check_file_found_on_indy -/* 0F48D4 7F0BFDA4 02602825 */ move $a1, $s3 -/* 0F48D8 7F0BFDA8 10400003 */ beqz $v0, .L7F0BFDB8 -/* 0F48DC 7F0BFDAC 00000000 */ nop -/* 0F48E0 7F0BFDB0 1000FFF6 */ b .L7F0BFD8C -/* 0F48E4 7F0BFDB4 26100001 */ addiu $s0, $s0, 1 -.L7F0BFDB8: -/* 0F48E8 7F0BFDB8 3C058006 */ lui $a1, %hi(aReplayDemo_D_1) -/* 0F48EC 7F0BFDBC 24A5B760 */ addiu $a1, %lo(aReplayDemo_D_1) # addiu $a1, $a1, -0x48a0 -/* 0F48F0 7F0BFDC0 02202025 */ move $a0, $s1 -/* 0F48F4 7F0BFDC4 0C002B25 */ jal sprintf -/* 0F48F8 7F0BFDC8 02003025 */ move $a2, $s0 -/* 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 -/* 0F4910 7F0BFDE0 8DC60080 */ lw $a2, 0x80($t6) -/* 0F4914 7F0BFDE4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0F4918 7F0BFDE8 8FB00014 */ lw $s0, 0x14($sp) -/* 0F491C 7F0BFDEC 8FB10018 */ lw $s1, 0x18($sp) -/* 0F4920 7F0BFDF0 8FB2001C */ lw $s2, 0x1c($sp) -/* 0F4924 7F0BFDF4 8FB30020 */ lw $s3, 0x20($sp) -/* 0F4928 7F0BFDF8 03E00008 */ jr $ra -/* 0F492C 7F0BFDFC 27BD0130 */ addiu $sp, $sp, 0x130 -) -#endif - - - - - -#ifdef NONMATCHING -void load_ramrom_from_devtool(void) -{ - s32 size; - - if (check_file_found_on_indy("replay/demo.load", &size) != 0) - { - indy_load_ramrom_file("replay/demo.load",(u8 *)0xf00000,size); - ptr_active_demofile = romCopyAligned(&ramrom_data_target,(u8 *)0xf00000,0xe8); - } -} -#else -GLOBAL_ASM( -.text -glabel load_ramrom_from_devtool -/* 0F4930 7F0BFE00 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F4934 7F0BFE04 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F4938 7F0BFE08 3C048006 */ lui $a0, %hi(aReplayDemo_load) -/* 0F493C 7F0BFE0C 2484B770 */ addiu $a0, %lo(aReplayDemo_load) # addiu $a0, $a0, -0x4890 -/* 0F4940 7F0BFE10 0FC34026 */ jal check_file_found_on_indy -/* 0F4944 7F0BFE14 27A5001C */ addiu $a1, $sp, 0x1c -/* 0F4948 7F0BFE18 1040000C */ beqz $v0, .L7F0BFE4C -/* 0F494C 7F0BFE1C 3C048006 */ lui $a0, %hi(aReplayDemo_load) -/* 0F4950 7F0BFE20 2484B770 */ addiu $a0, %lo(aReplayDemo_load) # addiu $a0, $a0, -0x4890 -/* 0F4954 7F0BFE24 3C0500F0 */ lui $a1, 0xf0 -/* 0F4958 7F0BFE28 0FC34007 */ jal indy_loadfile -/* 0F495C 7F0BFE2C 8FA6001C */ lw $a2, 0x1c($sp) -/* 0F4960 7F0BFE30 3C048009 */ lui $a0, %hi(ramrom_data_target) -/* 0F4964 7F0BFE34 2484C270 */ addiu $a0, %lo(ramrom_data_target) # addiu $a0, $a0, -0x3d90 -/* 0F4968 7F0BFE38 3C0500F0 */ lui $a1, 0xf0 -/* 0F496C 7F0BFE3C 0C001711 */ jal romCopyAligned -/* 0F4970 7F0BFE40 240600E8 */ li $a2, 232 -/* 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 -/* 0F4984 7F0BFE54 03E00008 */ jr $ra -/* 0F4988 7F0BFE58 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void record_player_input_as_packet(void) { - -} -#else -GLOBAL_ASM( -.text -glabel record_player_input_as_packet -/* 0F498C 7F0BFE5C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 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(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) -/* 0F49A8 7F0BFE78 AFB10018 */ sw $s1, 0x18($sp) -/* 0F49AC 7F0BFE7C AFB00014 */ sw $s0, 0x14($sp) -/* 0F49B0 7F0BFE80 3719000F */ ori $t9, $t8, 0xf -/* 0F49B4 7F0BFE84 3C088005 */ lui $t0, %hi(ramrom_blkbuf_3) -/* 0F49B8 7F0BFE88 3C0C8005 */ lui $t4, %hi(ramrom_blkbuf_2) -/* 0F49BC 7F0BFE8C 3B2D000F */ xori $t5, $t9, 0xf -/* 0F49C0 7F0BFE90 8DC90018 */ lw $t1, 0x18($t6) -/* 0F49C4 7F0BFE94 258C846C */ addiu $t4, %lo(ramrom_blkbuf_2) # addiu $t4, $t4, -0x7b94 -/* 0F49C8 7F0BFE98 25088470 */ addiu $t0, %lo(ramrom_blkbuf_3) # addiu $t0, $t0, -0x7b90 -/* 0F49CC 7F0BFE9C 25AE0004 */ addiu $t6, $t5, 4 -/* 0F49D0 7F0BFEA0 00C08025 */ move $s0, $a2 -/* 0F49D4 7F0BFEA4 00808825 */ move $s1, $a0 -/* 0F49D8 7F0BFEA8 00005025 */ move $t2, $zero -/* 0F49DC 7F0BFEAC 00003825 */ move $a3, $zero -/* 0F49E0 7F0BFEB0 AD8D0000 */ sw $t5, ($t4) -/* 0F49E4 7F0BFEB4 AD0E0000 */ sw $t6, ($t0) -/* 0F49E8 7F0BFEB8 10A60048 */ beq $a1, $a2, .L7F0BFFDC -/* 0F49EC 7F0BFEBC 01A01025 */ move $v0, $t5 -/* 0F49F0 7F0BFEC0 240B0014 */ li $t3, 20 -/* 0F49F4 7F0BFEC4 24AF0001 */ addiu $t7, $a1, 1 -/* 0F49F8 7F0BFEC8 01EB001A */ div $zero, $t7, $t3 -/* 0F49FC 7F0BFECC 00003010 */ mfhi $a2 -/* 0F4A00 7F0BFED0 00002025 */ move $a0, $zero -/* 0F4A04 7F0BFED4 15600002 */ bnez $t3, .L7F0BFEE0 -/* 0F4A08 7F0BFED8 00000000 */ nop -/* 0F4A0C 7F0BFEDC 0007000D */ break 7 -.L7F0BFEE0: -/* 0F4A10 7F0BFEE0 2401FFFF */ li $at, -1 -/* 0F4A14 7F0BFEE4 15610004 */ bne $t3, $at, .L7F0BFEF8 -/* 0F4A18 7F0BFEE8 3C018000 */ lui $at, 0x8000 -/* 0F4A1C 7F0BFEEC 15E10002 */ bne $t7, $at, .L7F0BFEF8 -/* 0F4A20 7F0BFEF0 00000000 */ nop -/* 0F4A24 7F0BFEF4 0006000D */ break 6 -.L7F0BFEF8: -/* 0F4A28 7F0BFEF8 19200025 */ blez $t1, .L7F0BFF90 -/* 0F4A2C 7F0BFEFC 00000000 */ nop -/* 0F4A30 7F0BFF00 01490019 */ multu $t2, $t1 -/* 0F4A34 7F0BFF04 0006C880 */ sll $t9, $a2, 2 -/* 0F4A38 7F0BFF08 00196880 */ sll $t5, $t9, 2 -/* 0F4A3C 7F0BFF0C 01B96823 */ subu $t5, $t5, $t9 -/* 0F4A40 7F0BFF10 000D6840 */ sll $t5, $t5, 1 -/* 0F4A44 7F0BFF14 022D1821 */ addu $v1, $s1, $t5 -/* 0F4A48 7F0BFF18 00002812 */ mflo $a1 -/* 0F4A4C 7F0BFF1C 0005C080 */ sll $t8, $a1, 2 -/* 0F4A50 7F0BFF20 03002825 */ move $a1, $t8 -.L7F0BFF24: -/* 0F4A54 7F0BFF24 8D0E0000 */ lw $t6, ($t0) -/* 0F4A58 7F0BFF28 80790002 */ lb $t9, 2($v1) -/* 0F4A5C 7F0BFF2C 0004C080 */ sll $t8, $a0, 2 -/* 0F4A60 7F0BFF30 00AE7821 */ addu $t7, $a1, $t6 -/* 0F4A64 7F0BFF34 01F81021 */ addu $v0, $t7, $t8 -/* 0F4A68 7F0BFF38 A0590000 */ sb $t9, ($v0) -/* 0F4A6C 7F0BFF3C 806D0003 */ lb $t5, 3($v1) -/* 0F4A70 7F0BFF40 24840001 */ addiu $a0, $a0, 1 -/* 0F4A74 7F0BFF44 24630006 */ addiu $v1, $v1, 6 -/* 0F4A78 7F0BFF48 A04D0001 */ sb $t5, 1($v0) -/* 0F4A7C 7F0BFF4C 946FFFFA */ lhu $t7, -6($v1) -/* 0F4A80 7F0BFF50 904E0001 */ lbu $t6, 1($v0) -/* 0F4A84 7F0BFF54 904D0000 */ lbu $t5, ($v0) -/* 0F4A88 7F0BFF58 A04F0002 */ sb $t7, 2($v0) -/* 0F4A8C 7F0BFF5C 9478FFFA */ lhu $t8, -6($v1) -/* 0F4A90 7F0BFF60 01AE7821 */ addu $t7, $t5, $t6 -/* 0F4A94 7F0BFF64 0018CA03 */ sra $t9, $t8, 8 -/* 0F4A98 7F0BFF68 90580002 */ lbu $t8, 2($v0) -/* 0F4A9C 7F0BFF6C A0590003 */ sb $t9, 3($v0) -/* 0F4AA0 7F0BFF70 904D0003 */ lbu $t5, 3($v0) -/* 0F4AA4 7F0BFF74 01F8C821 */ addu $t9, $t7, $t8 -/* 0F4AA8 7F0BFF78 032D7021 */ addu $t6, $t9, $t5 -/* 0F4AAC 7F0BFF7C 31CF00FF */ andi $t7, $t6, 0xff -/* 0F4AB0 7F0BFF80 00EF3821 */ addu $a3, $a3, $t7 -/* 0F4AB4 7F0BFF84 30F800FF */ andi $t8, $a3, 0xff -/* 0F4AB8 7F0BFF88 1489FFE6 */ bne $a0, $t1, .L7F0BFF24 -/* 0F4ABC 7F0BFF8C 03003825 */ move $a3, $t8 -.L7F0BFF90: -/* 0F4AC0 7F0BFF90 14D00003 */ bne $a2, $s0, .L7F0BFFA0 -/* 0F4AC4 7F0BFF94 254A0001 */ addiu $t2, $t2, 1 -/* 0F4AC8 7F0BFF98 10000010 */ b .L7F0BFFDC -/* 0F4ACC 7F0BFF9C 8D820000 */ lw $v0, ($t4) -.L7F0BFFA0: -/* 0F4AD0 7F0BFFA0 24D90001 */ addiu $t9, $a2, 1 -/* 0F4AD4 7F0BFFA4 032B001A */ div $zero, $t9, $t3 -/* 0F4AD8 7F0BFFA8 00003010 */ mfhi $a2 -/* 0F4ADC 7F0BFFAC 00002025 */ move $a0, $zero -/* 0F4AE0 7F0BFFB0 15600002 */ bnez $t3, .L7F0BFFBC -/* 0F4AE4 7F0BFFB4 00000000 */ nop -/* 0F4AE8 7F0BFFB8 0007000D */ break 7 -.L7F0BFFBC: -/* 0F4AEC 7F0BFFBC 2401FFFF */ li $at, -1 -/* 0F4AF0 7F0BFFC0 15610004 */ bne $t3, $at, .L7F0BFFD4 -/* 0F4AF4 7F0BFFC4 3C018000 */ lui $at, 0x8000 -/* 0F4AF8 7F0BFFC8 17210002 */ bne $t9, $at, .L7F0BFFD4 -/* 0F4AFC 7F0BFFCC 00000000 */ nop -/* 0F4B00 7F0BFFD0 0006000D */ break 6 -.L7F0BFFD4: -/* 0F4B04 7F0BFFD4 1000FFC8 */ b .L7F0BFEF8 -/* 0F4B08 7F0BFFD8 00000000 */ nop -.L7F0BFFDC: -/* 0F4B0C 7F0BFFDC A04A0001 */ sb $t2, 1($v0) -/* 0F4B10 7F0BFFE0 3C0D8005 */ lui $t5, %hi(D_80048498) -/* 0F4B14 7F0BFFE4 8DAD8498 */ lw $t5, %lo(D_80048498)($t5) -/* 0F4B18 7F0BFFE8 8D8E0000 */ lw $t6, ($t4) -/* 0F4B1C 7F0BFFEC 3C198002 */ lui $t9, %hi(randseed + 0x4) -/* 0F4B20 7F0BFFF0 3C118009 */ lui $s1, %hi(address_demo_loaded) -/* 0F4B24 7F0BFFF4 A1CD0000 */ sb $t5, ($t6) -/* 0F4B28 7F0BFFF8 8D8D0000 */ lw $t5, ($t4) -/* 0F4B2C 7F0BFFFC 8F394464 */ lw $t9, %lo(randseed + 0x4)($t9) -/* 0F4B30 7F0C0000 2631C5F4 */ addiu $s1, %lo(address_demo_loaded) # addiu $s1, $s1, -0x3a0c -/* 0F4B34 7F0C0004 A1B90002 */ sb $t9, 2($t5) -/* 0F4B38 7F0C0008 8D820000 */ lw $v0, ($t4) -/* 0F4B3C 7F0C000C 904E0000 */ lbu $t6, ($v0) -/* 0F4B40 7F0C0010 90580001 */ lbu $t8, 1($v0) -/* 0F4B44 7F0C0014 904F0002 */ lbu $t7, 2($v0) -/* 0F4B48 7F0C0018 01D8C821 */ addu $t9, $t6, $t8 -/* 0F4B4C 7F0C001C 032F7021 */ addu $t6, $t9, $t7 -/* 0F4B50 7F0C0020 0009C880 */ sll $t9, $t1, 2 -/* 0F4B54 7F0C0024 032A0019 */ multu $t9, $t2 -/* 0F4B58 7F0C0028 00EEC021 */ addu $t8, $a3, $t6 -/* 0F4B5C 7F0C002C A0580003 */ sb $t8, 3($v0) -/* 0F4B60 7F0C0030 8E250000 */ lw $a1, ($s1) -/* 0F4B64 7F0C0034 8D840000 */ lw $a0, ($t4) -/* 0F4B68 7F0C0038 00008012 */ mflo $s0 -/* 0F4B6C 7F0C003C 26100004 */ addiu $s0, $s0, 4 -/* 0F4B70 7F0C0040 2606000F */ addiu $a2, $s0, 0xf -/* 0F4B74 7F0C0044 34CF000F */ ori $t7, $a2, 0xf -/* 0F4B78 7F0C0048 0C001742 */ jal romWrite -/* 0F4B7C 7F0C004C 39E6000F */ xori $a2, $t7, 0xf -/* 0F4B80 7F0C0050 8E2E0000 */ lw $t6, ($s1) -/* 0F4B84 7F0C0054 26180001 */ addiu $t8, $s0, 1 -/* 0F4B88 7F0C0058 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F4B8C 7F0C005C 37190001 */ ori $t9, $t8, 1 -/* 0F4B90 7F0C0060 3B2F0001 */ xori $t7, $t9, 1 -/* 0F4B94 7F0C0064 3C018009 */ lui $at, %hi(address_demo_loaded) -/* 0F4B98 7F0C0068 8FB00014 */ lw $s0, 0x14($sp) -/* 0F4B9C 7F0C006C 8FB10018 */ lw $s1, 0x18($sp) -/* 0F4BA0 7F0C0070 01CF6821 */ addu $t5, $t6, $t7 -/* 0F4BA4 7F0C0074 AC2DC5F4 */ sw $t5, %lo(address_demo_loaded)($at) -/* 0F4BA8 7F0C0078 03E00008 */ jr $ra -/* 0F4BAC 7F0C007C 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void ramrom_replay_handler(void) { - -} -#else -GLOBAL_ASM( -.text -glabel ramrom_replay_handler -/* 0F4BB0 7F0C0080 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0F4BB4 7F0C0084 3C028005 */ lui $v0, %hi(ramrom_blkbuf_2) -/* 0F4BB8 7F0C0088 8C42846C */ lw $v0, %lo(ramrom_blkbuf_2)($v0) -/* 0F4BBC 7F0C008C AFBF001C */ sw $ra, 0x1c($sp) -/* 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(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 -/* 0F4BE0 7F0C00B0 00003825 */ move $a3, $zero -/* 0F4BE4 7F0C00B4 19400041 */ blez $t2, .L7F0C01BC -/* 0F4BE8 7F0C00B8 8DC60018 */ lw $a2, 0x18($t6) -/* 0F4BEC 7F0C00BC 3C058005 */ lui $a1, %hi(ramrom_blkbuf_3) -/* 0F4BF0 7F0C00C0 24A58470 */ addiu $a1, %lo(ramrom_blkbuf_3) # addiu $a1, $a1, -0x7b90 -/* 0F4BF4 7F0C00C4 240B0014 */ li $t3, 20 -/* 0F4BF8 7F0C00C8 24090004 */ li $t1, 4 -/* 0F4BFC 7F0C00CC 260F0001 */ addiu $t7, $s0, 1 -.L7F0C00D0: -/* 0F4C00 7F0C00D0 01EB001A */ div $zero, $t7, $t3 -/* 0F4C04 7F0C00D4 00008010 */ mfhi $s0 -/* 0F4C08 7F0C00D8 0010C080 */ sll $t8, $s0, 2 -/* 0F4C0C 7F0C00DC 0018C880 */ sll $t9, $t8, 2 -/* 0F4C10 7F0C00E0 0338C823 */ subu $t9, $t9, $t8 -/* 0F4C14 7F0C00E4 0019C840 */ sll $t9, $t9, 1 -/* 0F4C18 7F0C00E8 15600002 */ bnez $t3, .L7F0C00F4 -/* 0F4C1C 7F0C00EC 00000000 */ nop -/* 0F4C20 7F0C00F0 0007000D */ break 7 -.L7F0C00F4: -/* 0F4C24 7F0C00F4 2401FFFF */ li $at, -1 -/* 0F4C28 7F0C00F8 15610004 */ bne $t3, $at, .L7F0C010C -/* 0F4C2C 7F0C00FC 3C018000 */ lui $at, 0x8000 -/* 0F4C30 7F0C0100 15E10002 */ bne $t7, $at, .L7F0C010C -/* 0F4C34 7F0C0104 00000000 */ nop -/* 0F4C38 7F0C0108 0006000D */ break 6 -.L7F0C010C: -/* 0F4C3C 7F0C010C 02391821 */ addu $v1, $s1, $t9 -/* 0F4C40 7F0C0110 00002025 */ move $a0, $zero -.L7F0C0114: -/* 0F4C44 7F0C0114 0086082A */ slt $at, $a0, $a2 -/* 0F4C48 7F0C0118 5020001E */ beql $at, $zero, .L7F0C0194 -/* 0F4C4C 7F0C011C A0600002 */ sb $zero, 2($v1) -/* 0F4C50 7F0C0120 00E60019 */ multu $a3, $a2 -/* 0F4C54 7F0C0124 8CAE0000 */ lw $t6, ($a1) -/* 0F4C58 7F0C0128 0004C080 */ sll $t8, $a0, 2 -/* 0F4C5C 7F0C012C 00006012 */ mflo $t4 -/* 0F4C60 7F0C0130 000C6880 */ sll $t5, $t4, 2 -/* 0F4C64 7F0C0134 01AE7821 */ addu $t7, $t5, $t6 -/* 0F4C68 7F0C0138 01F81021 */ addu $v0, $t7, $t8 -/* 0F4C6C 7F0C013C 80590000 */ lb $t9, ($v0) -/* 0F4C70 7F0C0140 A0790002 */ sb $t9, 2($v1) -/* 0F4C74 7F0C0144 804C0001 */ lb $t4, 1($v0) -/* 0F4C78 7F0C0148 A06C0003 */ sb $t4, 3($v1) -/* 0F4C7C 7F0C014C 904D0003 */ lbu $t5, 3($v0) -/* 0F4C80 7F0C0150 904F0002 */ lbu $t7, 2($v0) -/* 0F4C84 7F0C0154 000D7200 */ sll $t6, $t5, 8 -/* 0F4C88 7F0C0158 01CFC025 */ or $t8, $t6, $t7 -/* 0F4C8C 7F0C015C A4780000 */ sh $t8, ($v1) -/* 0F4C90 7F0C0160 904C0001 */ lbu $t4, 1($v0) -/* 0F4C94 7F0C0164 90590000 */ lbu $t9, ($v0) -/* 0F4C98 7F0C0168 904E0002 */ lbu $t6, 2($v0) -/* 0F4C9C 7F0C016C 90580003 */ lbu $t8, 3($v0) -/* 0F4CA0 7F0C0170 032C6821 */ addu $t5, $t9, $t4 -/* 0F4CA4 7F0C0174 01AE7821 */ addu $t7, $t5, $t6 -/* 0F4CA8 7F0C0178 01F8C821 */ addu $t9, $t7, $t8 -/* 0F4CAC 7F0C017C 332C00FF */ andi $t4, $t9, 0xff -/* 0F4CB0 7F0C0180 010C4021 */ addu $t0, $t0, $t4 -/* 0F4CB4 7F0C0184 310D00FF */ andi $t5, $t0, 0xff -/* 0F4CB8 7F0C0188 10000004 */ b .L7F0C019C -/* 0F4CBC 7F0C018C 01A04025 */ move $t0, $t5 -/* 0F4CC0 7F0C0190 A0600002 */ sb $zero, 2($v1) -.L7F0C0194: -/* 0F4CC4 7F0C0194 A0600003 */ sb $zero, 3($v1) -/* 0F4CC8 7F0C0198 A4600000 */ sh $zero, ($v1) -.L7F0C019C: -/* 0F4CCC 7F0C019C 24840001 */ addiu $a0, $a0, 1 -/* 0F4CD0 7F0C01A0 1489FFDC */ bne $a0, $t1, .L7F0C0114 -/* 0F4CD4 7F0C01A4 24630006 */ addiu $v1, $v1, 6 -/* 0F4CD8 7F0C01A8 24E70001 */ addiu $a3, $a3, 1 -/* 0F4CDC 7F0C01AC 54EAFFC8 */ bnel $a3, $t2, .L7F0C00D0 -/* 0F4CE0 7F0C01B0 260F0001 */ addiu $t7, $s0, 1 -/* 0F4CE4 7F0C01B4 3C028005 */ lui $v0, %hi(ramrom_blkbuf_2) -/* 0F4CE8 7F0C01B8 8C42846C */ lw $v0, %lo(ramrom_blkbuf_2)($v0) -.L7F0C01BC: -/* 0F4CEC 7F0C01BC 3C0F8002 */ lui $t7, %hi(randseed + 0x4) -/* 0F4CF0 7F0C01C0 8DEF4464 */ lw $t7, %lo(randseed + 0x4)($t7) -/* 0F4CF4 7F0C01C4 90430002 */ lbu $v1, 2($v0) -/* 0F4CF8 7F0C01C8 31F900FF */ andi $t9, $t7, 0xff -/* 0F4CFC 7F0C01CC 53230008 */ beql $t9, $v1, .L7F0C01F0 -/* 0F4D00 7F0C01D0 904C0000 */ lbu $t4, ($v0) -/* 0F4D04 7F0C01D4 0FC30232 */ jal ensureCameraModeA -/* 0F4D08 7F0C01D8 A3A80023 */ sb $t0, 0x23($sp) -/* 0F4D0C 7F0C01DC 3C028005 */ lui $v0, %hi(ramrom_blkbuf_2) -/* 0F4D10 7F0C01E0 8C42846C */ lw $v0, %lo(ramrom_blkbuf_2)($v0) -/* 0F4D14 7F0C01E4 93A80023 */ lbu $t0, 0x23($sp) -/* 0F4D18 7F0C01E8 90430002 */ lbu $v1, 2($v0) -/* 0F4D1C 7F0C01EC 904C0000 */ lbu $t4, ($v0) -.L7F0C01F0: -/* 0F4D20 7F0C01F0 904D0001 */ lbu $t5, 1($v0) -/* 0F4D24 7F0C01F4 018D7021 */ addu $t6, $t4, $t5 -/* 0F4D28 7F0C01F8 904C0003 */ lbu $t4, 3($v0) -/* 0F4D2C 7F0C01FC 01C3C021 */ addu $t8, $t6, $v1 -/* 0F4D30 7F0C0200 01184021 */ addu $t0, $t0, $t8 -/* 0F4D34 7F0C0204 311900FF */ andi $t9, $t0, 0xff -/* 0F4D38 7F0C0208 132C0003 */ beq $t9, $t4, .L7F0C0218 -/* 0F4D3C 7F0C020C 00000000 */ nop -/* 0F4D40 7F0C0210 0FC30232 */ jal ensureCameraModeA -/* 0F4D44 7F0C0214 00000000 */ nop -.L7F0C0218: -/* 0F4D48 7F0C0218 0C00324C */ jal controller_7000C930 -/* 0F4D4C 7F0C021C 00002025 */ move $a0, $zero -/* 0F4D50 7F0C0220 00002025 */ move $a0, $zero -/* 0F4D54 7F0C0224 0C0030EB */ jal get_controller_buttons_pressed -/* 0F4D58 7F0C0228 3405FFFF */ li $a1, 65535 -/* 0F4D5C 7F0C022C 10400006 */ beqz $v0, .L7F0C0248 -/* 0F4D60 7F0C0230 00000000 */ nop -/* 0F4D64 7F0C0234 0FC30232 */ jal ensureCameraModeA -/* 0F4D68 7F0C0238 00000000 */ nop -/* 0F4D6C 7F0C023C 240D0001 */ li $t5, 1 -/* 0F4D70 7F0C0240 3C018003 */ lui $at, %hi(prev_keypresses) -/* 0F4D74 7F0C0244 AC2DA934 */ sw $t5, %lo(prev_keypresses)($at) -.L7F0C0248: -/* 0F4D78 7F0C0248 0C00324C */ jal controller_7000C930 -/* 0F4D7C 7F0C024C 24040001 */ li $a0, 1 -/* 0F4D80 7F0C0250 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F4D84 7F0C0254 02001025 */ move $v0, $s0 -/* 0F4D88 7F0C0258 8FB00014 */ lw $s0, 0x14($sp) -/* 0F4D8C 7F0C025C 8FB10018 */ lw $s1, 0x18($sp) -/* 0F4D90 7F0C0260 03E00008 */ jr $ra -/* 0F4D94 7F0C0264 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -s32 iterate_ramrom_entries_handle_camera_out(void) { - ? temp_ret; - s32 temp_a3; - s32 temp_v1; - s32 phi_a0; - void *phi_v1; - s32 phi_a3; - void *phi_v1_2; - s32 phi_return; - - // Node 0 - temp_ret = romCopyAligned(&ramrom_data_target + 0x1F8, address_demo_loaded, 4); - ramrom_blkbuf_2 = temp_ret; - temp_a3 = temp_ret->unk1; - phi_a0 = temp_a3; - phi_v1 = temp_ret; - phi_a3 = temp_a3; - if (temp_a3 > 0) - { - // Node 1 - 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; - } - // Node 2 - if ((phi_a0 == 0) && (*phi_v1 == 0)) - { - // Node 4 - ensureCameraModeA(phi_a0, phi_a3); - phi_v1_2 = (void *) ramrom_blkbuf_2; - } - else - { - // Node 5 - 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 = (ptr_active_demofile->unk7C + -0x3c); - phi_return = global_timer; - if (global_timer >= temp_v1) - { - // Node 7 - phi_return = global_timer; - if ((global_timer - clock_timer) < temp_v1) - { - // Node 8 - phi_return = ensureCameraModeA(); - } - } - // Node 9 - return phi_return; -} - -#else -GLOBAL_ASM( -.text -glabel iterate_ramrom_entries_handle_camera_out -/* 0F4D98 7F0C0268 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F4D9C 7F0C026C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F4DA0 7F0C0270 3C048009 */ lui $a0, %hi(ramrom_data_target + 0x1F8) -/* 0F4DA4 7F0C0274 3C058009 */ lui $a1, %hi(address_demo_loaded) -/* 0F4DA8 7F0C0278 8CA5C5F4 */ lw $a1, %lo(address_demo_loaded)($a1) -/* 0F4DAC 7F0C027C 2484C468 */ addiu $a0, %lo(ramrom_data_target + 0x1F8) # addiu $a0, $a0, -0x3b98 -/* 0F4DB0 7F0C0280 0C001711 */ jal romCopyAligned -/* 0F4DB4 7F0C0284 24060004 */ li $a2, 4 -/* 0F4DB8 7F0C0288 3C058005 */ lui $a1, %hi(ramrom_blkbuf_2) -/* 0F4DBC 7F0C028C 24A5846C */ addiu $a1, %lo(ramrom_blkbuf_2) # addiu $a1, $a1, -0x7b94 -/* 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(ptr_active_demofile) -/* 0F4DD0 7F0C02A0 18E00013 */ blez $a3, .L7F0C02F0 -/* 0F4DD4 7F0C02A4 00E02025 */ move $a0, $a3 -/* 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) -/* 0F4DE8 7F0C02B8 3C048009 */ lui $a0, %hi(ramrom_data_target + 0x21E) -/* 0F4DEC 7F0C02BC 2484C48E */ addiu $a0, %lo(ramrom_data_target + 0x21E) # addiu $a0, $a0, -0x3b72 -/* 0F4DF0 7F0C02C0 000FC080 */ sll $t8, $t7, 2 -/* 0F4DF4 7F0C02C4 03070019 */ multu $t8, $a3 -/* 0F4DF8 7F0C02C8 24A50004 */ addiu $a1, $a1, 4 -/* 0F4DFC 7F0C02CC 00003012 */ mflo $a2 -/* 0F4E00 7F0C02D0 0C001711 */ jal romCopyAligned -/* 0F4E04 7F0C02D4 00000000 */ nop -/* 0F4E08 7F0C02D8 3C038005 */ lui $v1, %hi(ramrom_blkbuf_2) -/* 0F4E0C 7F0C02DC 8C63846C */ lw $v1, %lo(ramrom_blkbuf_2)($v1) -/* 0F4E10 7F0C02E0 3C018005 */ lui $at, %hi(ramrom_blkbuf_3) -/* 0F4E14 7F0C02E4 AC228470 */ sw $v0, %lo(ramrom_blkbuf_3)($at) -/* 0F4E18 7F0C02E8 90670001 */ lbu $a3, 1($v1) -/* 0F4E1C 7F0C02EC 00E02025 */ move $a0, $a3 -.L7F0C02F0: -/* 0F4E20 7F0C02F0 14800009 */ bnez $a0, .L7F0C0318 -/* 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 -/* 0F4E34 7F0C0304 0FC30232 */ jal ensureCameraModeA -/* 0F4E38 7F0C0308 00000000 */ nop -/* 0F4E3C 7F0C030C 3C038005 */ lui $v1, %hi(ramrom_blkbuf_2) -/* 0F4E40 7F0C0310 1000000E */ b .L7F0C034C -/* 0F4E44 7F0C0314 8C63846C */ lw $v1, %lo(ramrom_blkbuf_2)($v1) -.L7F0C0318: -/* 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) -/* 0F4E58 7F0C0328 3C018009 */ lui $at, %hi(address_demo_loaded) -/* 0F4E5C 7F0C032C 000A5880 */ sll $t3, $t2, 2 -/* 0F4E60 7F0C0330 01670019 */ multu $t3, $a3 -/* 0F4E64 7F0C0334 00006012 */ mflo $t4 -/* 0F4E68 7F0C0338 258D0005 */ addiu $t5, $t4, 5 -/* 0F4E6C 7F0C033C 35AE0001 */ ori $t6, $t5, 1 -/* 0F4E70 7F0C0340 39CF0001 */ xori $t7, $t6, 1 -/* 0F4E74 7F0C0344 010FC021 */ addu $t8, $t0, $t7 -/* 0F4E78 7F0C0348 AC38C5F4 */ sw $t8, %lo(address_demo_loaded)($at) -.L7F0C034C: -/* 0F4E7C 7F0C034C 0FC302A8 */ jal sub_GAME_7F0C0AA0 -/* 0F4E80 7F0C0350 90640000 */ lbu $a0, ($v1) -/* 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) -/* 0F4E98 7F0C0368 3C098005 */ lui $t1, %hi(clock_timer) -/* 0F4E9C 7F0C036C 2463FFC4 */ addiu $v1, $v1, -0x3c -/* 0F4EA0 7F0C0370 0043082A */ slt $at, $v0, $v1 -/* 0F4EA4 7F0C0374 54200009 */ bnezl $at, .L7F0C039C -/* 0F4EA8 7F0C0378 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4EAC 7F0C037C 8D298374 */ lw $t1, %lo(clock_timer)($t1) -/* 0F4EB0 7F0C0380 00495023 */ subu $t2, $v0, $t1 -/* 0F4EB4 7F0C0384 0143082A */ slt $at, $t2, $v1 -/* 0F4EB8 7F0C0388 50200004 */ beql $at, $zero, .L7F0C039C -/* 0F4EBC 7F0C038C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4EC0 7F0C0390 0FC30232 */ jal ensureCameraModeA -/* 0F4EC4 7F0C0394 00000000 */ nop -/* 0F4EC8 7F0C0398 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C039C: -/* 0F4ECC 7F0C039C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F4ED0 7F0C03A0 03E00008 */ jr $ra -/* 0F4ED4 7F0C03A4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void copy_current_ingame_registers_before_ramrom_playback(void *arg0) { - ? temp_ret; - - // Node 0 - arg0->unk4 = (?32) randseed + 0x4; - *arg0 = (?32) randseed; - arg0->unkC = (?32) random_val + 0x4; - arg0->unk8 = (?32) random_val; - arg0->unk84 = (?32) gamemode; - arg0->unk8C = (?32) selected_num_players; - arg0->unk90 = (?32) scenario; - arg0->unk94 = (?32) MP_stage_selected; - arg0->unk98 = (?32) game_length; - arg0->unk9C = get_mp_weapon_set(); - arg0->unkA0 = (?32) player_1_char; - arg0->unkA4 = (?32) player_1_char.unk4; - arg0->unkA8 = (?32) player_1_char.unk8; - arg0->unkAC = (?32) player_1_char.unkC; - arg0->unkB0 = (?32) handicap_player1; - arg0->unkB4 = (?32) handicap_player1.unk4; - arg0->unkB8 = (?32) handicap_player1.unk8; - arg0->unkBC = (?32) handicap_player1.unkC; - arg0->unkC0 = (?32) controlstyle_player; - arg0->unkC4 = (?32) controlstyle_player.unk4; - 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); - 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); -} - -#else -GLOBAL_ASM( -.text -glabel copy_current_ingame_registers_before_ramrom_playback -/* 0F4ED8 7F0C03A8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F4EDC 7F0C03AC 3C0E8002 */ lui $t6, %hi(randseed) -/* 0F4EE0 7F0C03B0 3C0F8002 */ lui $t7, %hi(randseed + 0x4) -/* 0F4EE4 7F0C03B4 8DEF4464 */ lw $t7, %lo(randseed + 0x4)($t7) -/* 0F4EE8 7F0C03B8 8DCE4460 */ lw $t6, %lo(randseed)($t6) -/* 0F4EEC 7F0C03BC AFBF001C */ sw $ra, 0x1c($sp) -/* 0F4EF0 7F0C03C0 AFB00018 */ sw $s0, 0x18($sp) -/* 0F4EF4 7F0C03C4 AC8F0004 */ sw $t7, 4($a0) -/* 0F4EF8 7F0C03C8 AC8E0000 */ sw $t6, ($a0) -/* 0F4EFC 7F0C03CC 3C188004 */ lui $t8, %hi(random_val) -/* 0F4F00 7F0C03D0 3C198004 */ lui $t9, %hi(random_val + 0x4) -/* 0F4F04 7F0C03D4 8F390164 */ lw $t9, %lo(random_val + 0x4)($t9) -/* 0F4F08 7F0C03D8 8F180160 */ lw $t8, %lo(random_val)($t8) -/* 0F4F0C 7F0C03DC 3C088003 */ lui $t0, %hi(gamemode) -/* 0F4F10 7F0C03E0 AC99000C */ sw $t9, 0xc($a0) -/* 0F4F14 7F0C03E4 AC980008 */ sw $t8, 8($a0) -/* 0F4F18 7F0C03E8 8D08A8F0 */ lw $t0, %lo(gamemode)($t0) -/* 0F4F1C 7F0C03EC 3C098003 */ lui $t1, %hi(selected_num_players) -/* 0F4F20 7F0C03F0 3C0A8003 */ lui $t2, %hi(scenario) -/* 0F4F24 7F0C03F4 AC880084 */ sw $t0, 0x84($a0) -/* 0F4F28 7F0C03F8 8D29B520 */ lw $t1, %lo(selected_num_players)($t1) -/* 0F4F2C 7F0C03FC 3C0B8003 */ lui $t3, %hi(MP_stage_selected) -/* 0F4F30 7F0C0400 3C0C8003 */ lui $t4, %hi(game_length) -/* 0F4F34 7F0C0404 AC89008C */ sw $t1, 0x8c($a0) -/* 0F4F38 7F0C0408 8D4AB540 */ lw $t2, %lo(scenario)($t2) -/* 0F4F3C 7F0C040C 00808025 */ move $s0, $a0 -/* 0F4F40 7F0C0410 AC8A0090 */ sw $t2, 0x90($a0) -/* 0F4F44 7F0C0414 8D6BB534 */ lw $t3, %lo(MP_stage_selected)($t3) -/* 0F4F48 7F0C0418 AC8B0094 */ sw $t3, 0x94($a0) -/* 0F4F4C 7F0C041C 8D8CB538 */ lw $t4, %lo(game_length)($t4) -/* 0F4F50 7F0C0420 0FC3198F */ jal get_mp_weapon_set -/* 0F4F54 7F0C0424 AC8C0098 */ sw $t4, 0x98($a0) -/* 0F4F58 7F0C0428 3C038003 */ lui $v1, %hi(player_1_char) -/* 0F4F5C 7F0C042C 2463B524 */ addiu $v1, %lo(player_1_char) # addiu $v1, $v1, -0x4adc -/* 0F4F60 7F0C0430 AE02009C */ sw $v0, 0x9c($s0) -/* 0F4F64 7F0C0434 8C6D0000 */ lw $t5, ($v1) -/* 0F4F68 7F0C0438 3C058007 */ lui $a1, %hi(handicap_player1) -/* 0F4F6C 7F0C043C 24A597A8 */ addiu $a1, %lo(handicap_player1) # addiu $a1, $a1, -0x6858 -/* 0F4F70 7F0C0440 AE0D00A0 */ sw $t5, 0xa0($s0) -/* 0F4F74 7F0C0444 8C6E0004 */ lw $t6, 4($v1) -/* 0F4F78 7F0C0448 3C068007 */ lui $a2, %hi(controlstyle_player) -/* 0F4F7C 7F0C044C 24C697B8 */ addiu $a2, %lo(controlstyle_player) # addiu $a2, $a2, -0x6848 -/* 0F4F80 7F0C0450 AE0E00A4 */ sw $t6, 0xa4($s0) -/* 0F4F84 7F0C0454 8C6F0008 */ lw $t7, 8($v1) -/* 0F4F88 7F0C0458 00002025 */ move $a0, $zero -/* 0F4F8C 7F0C045C AE0F00A8 */ sw $t7, 0xa8($s0) -/* 0F4F90 7F0C0460 8C78000C */ lw $t8, 0xc($v1) -/* 0F4F94 7F0C0464 3C0F8003 */ lui $t7, %hi(aim_sight_adjustment) -/* 0F4F98 7F0C0468 AE1800AC */ sw $t8, 0xac($s0) -/* 0F4F9C 7F0C046C 8CB90000 */ lw $t9, ($a1) -/* 0F4FA0 7F0C0470 AE1900B0 */ sw $t9, 0xb0($s0) -/* 0F4FA4 7F0C0474 8CA80004 */ lw $t0, 4($a1) -/* 0F4FA8 7F0C0478 AE0800B4 */ sw $t0, 0xb4($s0) -/* 0F4FAC 7F0C047C 8CA90008 */ lw $t1, 8($a1) -/* 0F4FB0 7F0C0480 AE0900B8 */ sw $t1, 0xb8($s0) -/* 0F4FB4 7F0C0484 8CAA000C */ lw $t2, 0xc($a1) -/* 0F4FB8 7F0C0488 AE0A00BC */ sw $t2, 0xbc($s0) -/* 0F4FBC 7F0C048C 8CCB0000 */ lw $t3, ($a2) -/* 0F4FC0 7F0C0490 AE0B00C0 */ sw $t3, 0xc0($s0) -/* 0F4FC4 7F0C0494 8CCC0004 */ lw $t4, 4($a2) -/* 0F4FC8 7F0C0498 AE0C00C4 */ sw $t4, 0xc4($s0) -/* 0F4FCC 7F0C049C 8CCD0008 */ lw $t5, 8($a2) -/* 0F4FD0 7F0C04A0 AE0D00C8 */ sw $t5, 0xc8($s0) -/* 0F4FD4 7F0C04A4 8CCE000C */ lw $t6, 0xc($a2) -/* 0F4FD8 7F0C04A8 AE0E00CC */ sw $t6, 0xcc($s0) -/* 0F4FDC 7F0C04AC 8DEFB53C */ lw $t7, %lo(aim_sight_adjustment)($t7) -/* 0F4FE0 7F0C04B0 0FC05322 */ jal get_players_team_or_scenario_item_flag -/* 0F4FE4 7F0C04B4 AE0F00D0 */ sw $t7, 0xd0($s0) -/* 0F4FE8 7F0C04B8 AE0200D4 */ sw $v0, 0xd4($s0) -/* 0F4FEC 7F0C04BC 0FC05322 */ jal get_players_team_or_scenario_item_flag -/* 0F4FF0 7F0C04C0 24040001 */ li $a0, 1 -/* 0F4FF4 7F0C04C4 AE0200D8 */ sw $v0, 0xd8($s0) -/* 0F4FF8 7F0C04C8 0FC05322 */ jal get_players_team_or_scenario_item_flag -/* 0F4FFC 7F0C04CC 24040002 */ li $a0, 2 -/* 0F5000 7F0C04D0 AE0200DC */ sw $v0, 0xdc($s0) -/* 0F5004 7F0C04D4 0FC05322 */ jal get_players_team_or_scenario_item_flag -/* 0F5008 7F0C04D8 24040003 */ li $a0, 3 -/* 0F500C 7F0C04DC AE0200E0 */ sw $v0, 0xe0($s0) -/* 0F5010 7F0C04E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F5014 7F0C04E4 8FB00018 */ lw $s0, 0x18($sp) -/* 0F5018 7F0C04E8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F501C 7F0C04EC 03E00008 */ jr $ra -/* 0F5020 7F0C04F0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void copy_recorded_ramrom_registers_to_proper_place_ingame(void *arg0) { - // Node 0 - randseed = (?32) *arg0; - randseed + 0x4 = (?32) arg0->unk4; - random_val = (?32) arg0->unk8; - random_val + 0x4 = (?32) arg0->unkC; - gamemode = (?32) arg0->unk84; - selected_num_players = (?32) arg0->unk8C; - scenario = (?32) arg0->unk90; - MP_stage_selected = (?32) arg0->unk94; - game_length = (?32) arg0->unk98; - set_mp_weapon_set(arg0->unk9C); - player_1_char = (?32) arg0->unkA0; - player_1_char.unk4 = (?32) arg0->unkA4; - player_1_char.unk8 = (?32) arg0->unkA8; - player_1_char.unkC = (?32) arg0->unkAC; - handicap_player1 = (?32) arg0->unkB0; - handicap_player1.unk4 = (?32) arg0->unkB4; - handicap_player1.unk8 = (?32) arg0->unkB8; - handicap_player1.unkC = (?32) arg0->unkBC; - controlstyle_player = (?32) arg0->unkC0; - controlstyle_player.unk4 = (?32) arg0->unkC4; - controlstyle_player.unk8 = (?32) arg0->unkC8; - controlstyle_player.unkC = (?32) arg0->unkCC; - aim_sight_adjustment = (?32) arg0->unkD0; - set_players_team_or_scenario_item_flag(0, arg0->unkD4, &controlstyle_player); - set_players_team_or_scenario_item_flag(1, arg0->unkD8); - set_players_team_or_scenario_item_flag(2, arg0->unkDC); - return set_players_team_or_scenario_item_flag(3, arg0->unkE0); -} -#else -GLOBAL_ASM( -.text -glabel copy_recorded_ramrom_registers_to_proper_place_ingame -/* 0F5024 7F0C04F4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F5028 7F0C04F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F502C 7F0C04FC AFB00018 */ sw $s0, 0x18($sp) -/* 0F5030 7F0C0500 8C8E0000 */ lw $t6, ($a0) -/* 0F5034 7F0C0504 8C8F0004 */ lw $t7, 4($a0) -/* 0F5038 7F0C0508 3C018002 */ lui $at, %hi(randseed) -/* 0F503C 7F0C050C AC2E4460 */ sw $t6, %lo(randseed)($at) -/* 0F5040 7F0C0510 3C018002 */ lui $at, %hi(randseed + 0x4) -/* 0F5044 7F0C0514 AC2F4464 */ sw $t7, %lo(randseed + 0x4)($at) -/* 0F5048 7F0C0518 8C980008 */ lw $t8, 8($a0) -/* 0F504C 7F0C051C 8C99000C */ lw $t9, 0xc($a0) -/* 0F5050 7F0C0520 3C018004 */ lui $at, %hi(random_val) -/* 0F5054 7F0C0524 AC380160 */ sw $t8, %lo(random_val)($at) -/* 0F5058 7F0C0528 3C018004 */ lui $at, %hi(random_val + 0x4) -/* 0F505C 7F0C052C AC390164 */ sw $t9, %lo(random_val + 0x4)($at) -/* 0F5060 7F0C0530 8C880084 */ lw $t0, 0x84($a0) -/* 0F5064 7F0C0534 3C018003 */ lui $at, %hi(gamemode) -/* 0F5068 7F0C0538 00808025 */ move $s0, $a0 -/* 0F506C 7F0C053C AC28A8F0 */ sw $t0, %lo(gamemode)($at) -/* 0F5070 7F0C0540 8C89008C */ lw $t1, 0x8c($a0) -/* 0F5074 7F0C0544 3C018003 */ lui $at, %hi(selected_num_players) -/* 0F5078 7F0C0548 AC29B520 */ sw $t1, %lo(selected_num_players)($at) -/* 0F507C 7F0C054C 8C8A0090 */ lw $t2, 0x90($a0) -/* 0F5080 7F0C0550 3C018003 */ lui $at, %hi(scenario) -/* 0F5084 7F0C0554 AC2AB540 */ sw $t2, %lo(scenario)($at) -/* 0F5088 7F0C0558 8C8B0094 */ lw $t3, 0x94($a0) -/* 0F508C 7F0C055C 3C018003 */ lui $at, %hi(MP_stage_selected) -/* 0F5090 7F0C0560 AC2BB534 */ sw $t3, %lo(MP_stage_selected)($at) -/* 0F5094 7F0C0564 8C8C0098 */ lw $t4, 0x98($a0) -/* 0F5098 7F0C0568 3C018003 */ lui $at, %hi(game_length) -/* 0F509C 7F0C056C AC2CB538 */ sw $t4, %lo(game_length)($at) -/* 0F50A0 7F0C0570 0FC3198C */ jal set_mp_weapon_set -/* 0F50A4 7F0C0574 8C84009C */ lw $a0, 0x9c($a0) -/* 0F50A8 7F0C0578 8E0D00A0 */ lw $t5, 0xa0($s0) -/* 0F50AC 7F0C057C 3C028003 */ lui $v0, %hi(player_1_char) -/* 0F50B0 7F0C0580 2442B524 */ addiu $v0, %lo(player_1_char) # addiu $v0, $v0, -0x4adc -/* 0F50B4 7F0C0584 AC4D0000 */ sw $t5, ($v0) -/* 0F50B8 7F0C0588 8E0E00A4 */ lw $t6, 0xa4($s0) -/* 0F50BC 7F0C058C 3C038007 */ lui $v1, %hi(handicap_player1) -/* 0F50C0 7F0C0590 246397A8 */ addiu $v1, %lo(handicap_player1) # addiu $v1, $v1, -0x6858 -/* 0F50C4 7F0C0594 AC4E0004 */ sw $t6, 4($v0) -/* 0F50C8 7F0C0598 8E0F00A8 */ lw $t7, 0xa8($s0) -/* 0F50CC 7F0C059C 3C068007 */ lui $a2, %hi(controlstyle_player) -/* 0F50D0 7F0C05A0 24C697B8 */ addiu $a2, %lo(controlstyle_player) # addiu $a2, $a2, -0x6848 -/* 0F50D4 7F0C05A4 AC4F0008 */ sw $t7, 8($v0) -/* 0F50D8 7F0C05A8 8E1800AC */ lw $t8, 0xac($s0) -/* 0F50DC 7F0C05AC 3C018003 */ lui $at, %hi(aim_sight_adjustment) -/* 0F50E0 7F0C05B0 00002025 */ move $a0, $zero -/* 0F50E4 7F0C05B4 AC58000C */ sw $t8, 0xc($v0) -/* 0F50E8 7F0C05B8 8E1900B0 */ lw $t9, 0xb0($s0) -/* 0F50EC 7F0C05BC AC790000 */ sw $t9, ($v1) -/* 0F50F0 7F0C05C0 8E0800B4 */ lw $t0, 0xb4($s0) -/* 0F50F4 7F0C05C4 AC680004 */ sw $t0, 4($v1) -/* 0F50F8 7F0C05C8 8E0900B8 */ lw $t1, 0xb8($s0) -/* 0F50FC 7F0C05CC AC690008 */ sw $t1, 8($v1) -/* 0F5100 7F0C05D0 8E0A00BC */ lw $t2, 0xbc($s0) -/* 0F5104 7F0C05D4 AC6A000C */ sw $t2, 0xc($v1) -/* 0F5108 7F0C05D8 8E0B00C0 */ lw $t3, 0xc0($s0) -/* 0F510C 7F0C05DC ACCB0000 */ sw $t3, ($a2) -/* 0F5110 7F0C05E0 8E0C00C4 */ lw $t4, 0xc4($s0) -/* 0F5114 7F0C05E4 ACCC0004 */ sw $t4, 4($a2) -/* 0F5118 7F0C05E8 8E0D00C8 */ lw $t5, 0xc8($s0) -/* 0F511C 7F0C05EC ACCD0008 */ sw $t5, 8($a2) -/* 0F5120 7F0C05F0 8E0E00CC */ lw $t6, 0xcc($s0) -/* 0F5124 7F0C05F4 ACCE000C */ sw $t6, 0xc($a2) -/* 0F5128 7F0C05F8 8E0F00D0 */ lw $t7, 0xd0($s0) -/* 0F512C 7F0C05FC AC2FB53C */ sw $t7, %lo(aim_sight_adjustment)($at) -/* 0F5130 7F0C0600 0FC05329 */ jal set_players_team_or_scenario_item_flag -/* 0F5134 7F0C0604 8E0500D4 */ lw $a1, 0xd4($s0) -/* 0F5138 7F0C0608 24040001 */ li $a0, 1 -/* 0F513C 7F0C060C 0FC05329 */ jal set_players_team_or_scenario_item_flag -/* 0F5140 7F0C0610 8E0500D8 */ lw $a1, 0xd8($s0) -/* 0F5144 7F0C0614 24040002 */ li $a0, 2 -/* 0F5148 7F0C0618 0FC05329 */ jal set_players_team_or_scenario_item_flag -/* 0F514C 7F0C061C 8E0500DC */ lw $a1, 0xdc($s0) -/* 0F5150 7F0C0620 24040003 */ li $a0, 3 -/* 0F5154 7F0C0624 0FC05329 */ jal set_players_team_or_scenario_item_flag -/* 0F5158 7F0C0628 8E0500E0 */ lw $a1, 0xe0($s0) -/* 0F515C 7F0C062C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F5160 7F0C0630 8FB00018 */ lw $s0, 0x18($sp) -/* 0F5164 7F0C0634 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F5168 7F0C0638 03E00008 */ jr $ra -/* 0F516C 7F0C063C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void test_if_recording_demos_this_stage_load(void) { - -} -#else -GLOBAL_ASM( -.text -glabel test_if_recording_demos_this_stage_load -/* 0F5170 7F0C0640 3C0E8005 */ lui $t6, %hi(flag_to_record_ramrom) -/* 0F5174 7F0C0644 8DCE8488 */ lw $t6, %lo(flag_to_record_ramrom)($t6) -/* 0F5178 7F0C0648 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F517C 7F0C064C AFBF001C */ sw $ra, 0x1c($sp) -/* 0F5180 7F0C0650 11C00032 */ beqz $t6, .L7F0C071C -/* 0F5184 7F0C0654 AFB00018 */ sw $s0, 0x18($sp) -/* 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(ptr_active_demofile) -/* 0F5198 7F0C0668 3719000F */ ori $t9, $t8, 0xf -/* 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) -/* 0F51AC 7F0C067C AC20C5F8 */ sw $zero, %lo(dword_CODE_bss_8008C5F8)($at) -/* 0F51B0 7F0C0680 8E090000 */ lw $t1, ($s0) -/* 0F51B4 7F0C0684 AD240010 */ sw $a0, 0x10($t1) -/* 0F51B8 7F0C0688 8E0A0000 */ lw $t2, ($s0) -/* 0F51BC 7F0C068C 0C002E7E */ jal get_attached_controller_count -/* 0F51C0 7F0C0690 AD450014 */ sw $a1, 0x14($t2) -/* 0F51C4 7F0C0694 8E0B0000 */ lw $t3, ($s0) -/* 0F51C8 7F0C0698 3C0C8009 */ lui $t4, %hi(record_slot_num) -/* 0F51CC 7F0C069C AD620018 */ sw $v0, 0x18($t3) -/* 0F51D0 7F0C06A0 8E0D0000 */ lw $t5, ($s0) -/* 0F51D4 7F0C06A4 8D8CC5F0 */ lw $t4, %lo(record_slot_num)($t4) -/* 0F51D8 7F0C06A8 ADAC0088 */ sw $t4, 0x88($t5) -/* 0F51DC 7F0C06AC 8E040000 */ lw $a0, ($s0) -/* 0F51E0 7F0C06B0 0FC07587 */ jal sub_GAME_7F01D61C -/* 0F51E4 7F0C06B4 2484001C */ addiu $a0, $a0, 0x1c -/* 0F51E8 7F0C06B8 0FC300EA */ jal copy_current_ingame_registers_before_ramrom_playback -/* 0F51EC 7F0C06BC 8E040000 */ lw $a0, ($s0) -/* 0F51F0 7F0C06C0 24020001 */ li $v0, 1 -/* 0F51F4 7F0C06C4 3C018005 */ lui $at, %hi(recording_ramrom_flag) -/* 0F51F8 7F0C06C8 AC228480 */ sw $v0, %lo(recording_ramrom_flag)($at) -/* 0F51FC 7F0C06CC 3C018005 */ lui $at, %hi(ramrom_demo_related_6) -/* 0F5200 7F0C06D0 3C047F0C */ lui $a0, %hi(record_player_input_as_packet) # $a0, 0x7f0c -/* 0F5204 7F0C06D4 AC228484 */ sw $v0, %lo(ramrom_demo_related_6)($at) -/* 0F5208 7F0C06D8 0C002EEF */ jal set_ptr_tlb_ramrom_record -/* 0F520C 7F0C06DC 2484FE5C */ addiu $a0, %lo(record_player_input_as_packet) # addiu $a0, $a0, -0x1a4 -/* 0F5210 7F0C06E0 3C028009 */ lui $v0, %hi(address_demo_loaded) -/* 0F5214 7F0C06E4 2442C5F4 */ addiu $v0, %lo(address_demo_loaded) # addiu $v0, $v0, -0x3a0c -/* 0F5218 7F0C06E8 3C0500F0 */ lui $a1, 0xf0 -/* 0F521C 7F0C06EC AC450000 */ sw $a1, ($v0) -/* 0F5220 7F0C06F0 8E040000 */ lw $a0, ($s0) -/* 0F5224 7F0C06F4 0C001742 */ jal romWrite -/* 0F5228 7F0C06F8 240600F0 */ li $a2, 240 -/* 0F522C 7F0C06FC 3C028009 */ lui $v0, %hi(address_demo_loaded) -/* 0F5230 7F0C0700 2442C5F4 */ addiu $v0, %lo(address_demo_loaded) # addiu $v0, $v0, -0x3a0c -/* 0F5234 7F0C0704 8C4F0000 */ lw $t7, ($v0) -/* 0F5238 7F0C0708 3C018005 */ lui $at, %hi(flag_to_record_ramrom) -/* 0F523C 7F0C070C 25F800E8 */ addiu $t8, $t7, 0xe8 -/* 0F5240 7F0C0710 AC580000 */ sw $t8, ($v0) -/* 0F5244 7F0C0714 10000024 */ b .L7F0C07A8 -/* 0F5248 7F0C0718 AC208488 */ sw $zero, %lo(flag_to_record_ramrom)($at) -.L7F0C071C: -/* 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(ptr_active_demofile) -/* 0F525C 7F0C072C 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C5F8) -/* 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 -/* 0F5270 7F0C0740 8D040014 */ lw $a0, 0x14($t0) -/* 0F5274 7F0C0744 8E090000 */ lw $t1, ($s0) -/* 0F5278 7F0C0748 0FC0757B */ jal set_solo_and_ptr_briefing -/* 0F527C 7F0C074C 8D240010 */ lw $a0, 0x10($t1) -/* 0F5280 7F0C0750 8E040000 */ lw $a0, ($s0) -/* 0F5284 7F0C0754 0FC07591 */ jal sub_GAME_7F01D644 -/* 0F5288 7F0C0758 2484001C */ addiu $a0, $a0, 0x1c -/* 0F528C 7F0C075C 3C048009 */ lui $a0, %hi(ramrom_data_target + 0x110) -/* 0F5290 7F0C0760 0FC300EA */ jal copy_current_ingame_registers_before_ramrom_playback -/* 0F5294 7F0C0764 2484C380 */ addiu $a0, %lo(ramrom_data_target + 0x110) # addiu $a0, $a0, -0x3c80 -/* 0F5298 7F0C0768 0FC3013D */ jal copy_recorded_ramrom_registers_to_proper_place_ingame -/* 0F529C 7F0C076C 8E040000 */ lw $a0, ($s0) -/* 0F52A0 7F0C0770 24020001 */ li $v0, 1 -/* 0F52A4 7F0C0774 3C018005 */ lui $at, %hi(is_ramrom_flag) -/* 0F52A8 7F0C0778 AC228474 */ sw $v0, %lo(is_ramrom_flag)($at) -/* 0F52AC 7F0C077C 3C018005 */ lui $at, %hi(ramrom_demo_related_3) -/* 0F52B0 7F0C0780 AC228478 */ sw $v0, %lo(ramrom_demo_related_3)($at) -/* 0F52B4 7F0C0784 8E0A0000 */ lw $t2, ($s0) -/* 0F52B8 7F0C0788 3C047F0C */ lui $a0, %hi(ramrom_replay_handler) # $a0, 0x7f0c -/* 0F52BC 7F0C078C 24840080 */ addiu $a0, %lo(ramrom_replay_handler) # addiu $a0, $a0, 0x80 -/* 0F52C0 7F0C0790 0C002EEA */ jal set_disable_all_rumble_and_something -/* 0F52C4 7F0C0794 8D450018 */ lw $a1, 0x18($t2) -/* 0F52C8 7F0C0798 0C00324C */ jal controller_7000C930 -/* 0F52CC 7F0C079C 24040001 */ li $a0, 1 -/* 0F52D0 7F0C07A0 3C018005 */ lui $at, %hi(ramrom_demo_related_4) -/* 0F52D4 7F0C07A4 AC20847C */ sw $zero, %lo(ramrom_demo_related_4)($at) -.L7F0C07A8: -/* 0F52D8 7F0C07A8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F52DC 7F0C07AC 8FB00018 */ lw $s0, 0x18($sp) -/* 0F52E0 7F0C07B0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F52E4 7F0C07B4 03E00008 */ jr $ra -/* 0F52E8 7F0C07B8 00000000 */ nop -) -#endif - - - - - - -void setRamRomRecordSlot(s32 arg0) { - flag_to_record_ramrom = 1; - record_slot_num = arg0; -} - -void stop_recording_ramrom(void) { - if (ramrom_demo_related_6 != 0) - { - finalize_ramrom_on_hw(); - set_ptr_tlb_ramrom_record(0); - ramrom_demo_related_6 = 0; - recording_ramrom_flag = 0; - } -} - - - - - - -#ifdef NONMATCHING -void replay_recorded_ramrom_at_address(s32 arg0) -{ - address_demo_loaded = arg0; - 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(ptr_active_demofile->unk10); - set_selected_difficulty(ptr_active_demofile->unk14); - return set_menu_to_mode(0xb, 1); -} -#else -GLOBAL_ASM( -.text -glabel replay_recorded_ramrom_at_address -/* 0F534C 7F0C081C 3C038009 */ lui $v1, %hi(address_demo_loaded) -/* 0F5350 7F0C0820 2463C5F4 */ addiu $v1, %lo(address_demo_loaded) # addiu $v1, $v1, -0x3a0c -/* 0F5354 7F0C0824 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F5358 7F0C0828 AC640000 */ sw $a0, ($v1) -/* 0F535C 7F0C082C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F5360 7F0C0830 3C048009 */ lui $a0, %hi(ramrom_data_target) -/* 0F5364 7F0C0834 2484C270 */ addiu $a0, %lo(ramrom_data_target) # addiu $a0, $a0, -0x3d90 -/* 0F5368 7F0C0838 8C650000 */ lw $a1, ($v1) -/* 0F536C 7F0C083C 0C001711 */ jal romCopyAligned -/* 0F5370 7F0C0840 240600E8 */ li $a2, 232 -/* 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(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) -/* 0F5394 7F0C0864 24180001 */ li $t8, 1 -/* 0F5398 7F0C0868 3C018005 */ lui $at, %hi(ramrom_demo_related_4) -/* 0F539C 7F0C086C AC38847C */ sw $t8, %lo(ramrom_demo_related_4)($at) -/* 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(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 -/* 0F53C0 7F0C0890 0FC06975 */ jal set_menu_to_mode -/* 0F53C4 7F0C0894 24050001 */ li $a1, 1 -/* 0F53C8 7F0C0898 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F53CC 7F0C089C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F53D0 7F0C08A0 03E00008 */ jr $ra -/* 0F53D4 7F0C08A4 00000000 */ nop -) -#endif - - - - - -void replay_recorded_ramrom_from_indy(void) -{ - replay_recorded_ramrom_at_address(0xf00000); -} - -void ensureCameraModeA(void) -{ - if (get_camera_mode() != 0xa) - { - set_camera_mode(0xa); - } -} - - - - - - -#ifdef NONMATCHING -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( -.text -glabel stop_demo_playback -/* 0F542C 7F0C08FC 3C0E8005 */ lui $t6, %hi(ramrom_demo_related_6) -/* 0F5430 7F0C0900 8DCE8484 */ lw $t6, %lo(ramrom_demo_related_6)($t6) -/* 0F5434 7F0C0904 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F5438 7F0C0908 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F543C 7F0C090C 11C00005 */ beqz $t6, .L7F0C0924 -/* 0F5440 7F0C0910 3C0F8005 */ lui $t7, %hi(ramrom_demo_related_3) -/* 0F5444 7F0C0914 0FC301F5 */ jal stop_recording_ramrom -/* 0F5448 7F0C0918 00000000 */ nop -/* 0F544C 7F0C091C 10000011 */ b .L7F0C0964 -/* 0F5450 7F0C0920 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0924: -/* 0F5454 7F0C0924 8DEF8478 */ lw $t7, %lo(ramrom_demo_related_3)($t7) -/* 0F5458 7F0C0928 3C048009 */ lui $a0, %hi(ramrom_data_target + 0x110) -/* 0F545C 7F0C092C 51E0000D */ beql $t7, $zero, .L7F0C0964 -/* 0F5460 7F0C0930 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F5464 7F0C0934 0FC3013D */ jal copy_recorded_ramrom_registers_to_proper_place_ingame -/* 0F5468 7F0C0938 2484C380 */ addiu $a0, %lo(ramrom_data_target + 0x110) # addiu $a0, $a0, -0x3c80 -/* 0F546C 7F0C093C 00002025 */ move $a0, $zero -/* 0F5470 7F0C0940 0C002EEA */ jal set_disable_all_rumble_and_something -/* 0F5474 7F0C0944 2405FFFF */ li $a1, -1 -/* 0F5478 7F0C0948 0C00324C */ jal controller_7000C930 -/* 0F547C 7F0C094C 00002025 */ move $a0, $zero -/* 0F5480 7F0C0950 3C018005 */ lui $at, %hi(ramrom_demo_related_3) -/* 0F5484 7F0C0954 AC208478 */ sw $zero, %lo(ramrom_demo_related_3)($at) -/* 0F5488 7F0C0958 3C018005 */ lui $at, %hi(is_ramrom_flag) -/* 0F548C 7F0C095C AC208474 */ sw $zero, %lo(is_ramrom_flag)($at) -/* 0F5490 7F0C0960 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0964: -/* 0F5494 7F0C0964 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F5498 7F0C0968 03E00008 */ jr $ra -/* 0F549C 7F0C096C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void select_ramrom_to_play(void) { - -} -#else -GLOBAL_ASM( -.text -glabel select_ramrom_to_play -/* 0F54A0 7F0C0970 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F54A4 7F0C0974 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F54A8 7F0C0978 0FC07A66 */ jal check_egypt_completed_any_folder -/* 0F54AC 7F0C097C 00000000 */ nop -/* 0F54B0 7F0C0980 3C0E8005 */ lui $t6, %hi(ramrom_table) -/* 0F54B4 7F0C0984 8DCE83F0 */ lw $t6, %lo(ramrom_table)($t6) -/* 0F54B8 7F0C0988 00402025 */ move $a0, $v0 -/* 0F54BC 7F0C098C 00001825 */ move $v1, $zero -/* 0F54C0 7F0C0990 11C00011 */ beqz $t6, .L7F0C09D8 -/* 0F54C4 7F0C0994 3C0F8005 */ lui $t7, %hi(ramrom_table + 0x4) -/* 0F54C8 7F0C0998 8DEF83F4 */ lw $t7, %lo(ramrom_table + 0x4)($t7) -/* 0F54CC 7F0C099C 3C198005 */ lui $t9, %hi(ramrom_table) -/* 0F54D0 7F0C09A0 273983F0 */ addiu $t9, %lo(ramrom_table) # addiu $t9, $t9, -0x7c10 -/* 0F54D4 7F0C09A4 004F082A */ slt $at, $v0, $t7 -/* 0F54D8 7F0C09A8 1420000B */ bnez $at, .L7F0C09D8 -/* 0F54DC 7F0C09AC 0003C0C0 */ sll $t8, $v1, 3 -/* 0F54E0 7F0C09B0 03191021 */ addu $v0, $t8, $t9 -/* 0F54E4 7F0C09B4 8C480008 */ lw $t0, 8($v0) -.L7F0C09B8: -/* 0F54E8 7F0C09B8 24630001 */ addiu $v1, $v1, 1 -/* 0F54EC 7F0C09BC 24420008 */ addiu $v0, $v0, 8 -/* 0F54F0 7F0C09C0 11000005 */ beqz $t0, .L7F0C09D8 -/* 0F54F4 7F0C09C4 00000000 */ nop -/* 0F54F8 7F0C09C8 8C490004 */ lw $t1, 4($v0) -/* 0F54FC 7F0C09CC 0089082A */ slt $at, $a0, $t1 -/* 0F5500 7F0C09D0 5020FFF9 */ beql $at, $zero, .L7F0C09B8 -/* 0F5504 7F0C09D4 8C480008 */ lw $t0, 8($v0) -.L7F0C09D8: -/* 0F5508 7F0C09D8 0C002914 */ jal get_random_value -/* 0F550C 7F0C09DC AFA3001C */ sw $v1, 0x1c($sp) -/* 0F5510 7F0C09E0 8FA3001C */ lw $v1, 0x1c($sp) -/* 0F5514 7F0C09E4 3C048005 */ lui $a0, %hi(ramrom_table) -/* 0F5518 7F0C09E8 0043001B */ divu $zero, $v0, $v1 -/* 0F551C 7F0C09EC 00005010 */ mfhi $t2 -/* 0F5520 7F0C09F0 000A58C0 */ sll $t3, $t2, 3 -/* 0F5524 7F0C09F4 008B2021 */ addu $a0, $a0, $t3 -/* 0F5528 7F0C09F8 14600002 */ bnez $v1, .L7F0C0A04 -/* 0F552C 7F0C09FC 00000000 */ nop -/* 0F5530 7F0C0A00 0007000D */ break 7 -.L7F0C0A04: -/* 0F5534 7F0C0A04 8C8483F0 */ lw $a0, %lo(ramrom_table)($a0) -/* 0F5538 7F0C0A08 0FC30207 */ jal replay_recorded_ramrom_at_address -/* 0F553C 7F0C0A0C 00000000 */ nop -/* 0F5540 7F0C0A10 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F5544 7F0C0A14 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F5548 7F0C0A18 03E00008 */ jr $ra -/* 0F554C 7F0C0A1C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel check_ramrom_flags -/* 0F5550 7F0C0A20 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F5554 7F0C0A24 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F5558 7F0C0A28 0FC2FF23 */ jal get_is_ramrom_flag -/* 0F555C 7F0C0A2C 00000000 */ nop -/* 0F5560 7F0C0A30 14400004 */ bnez $v0, .L7F0C0A44 -/* 0F5564 7F0C0A34 00000000 */ nop -/* 0F5568 7F0C0A38 0FC2FF26 */ jal get_recording_ramrom_flag -/* 0F556C 7F0C0A3C 00000000 */ nop -/* 0F5570 7F0C0A40 10400004 */ beqz $v0, .L7F0C0A54 -.L7F0C0A44: -/* 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: -/* 0F5584 7F0C0A54 00001025 */ move $v0, $zero -.L7F0C0A58: -/* 0F5588 7F0C0A58 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F558C 7F0C0A5C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F5590 7F0C0A60 03E00008 */ jr $ra -/* 0F5594 7F0C0A64 00000000 */ nop -) -#endif - - - diff --git a/src/game/lvl_text.c b/src/game/lvl_text.c deleted file mode 100644 index ecdccc1..0000000 --- a/src/game/lvl_text.c +++ /dev/null @@ -1,895 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" -#include "game/lvl_text.h" - -// bss -//CODE.bss:8008C640 -s32 ptr_text; -//CODE.bss:8008C644 -s32 table_text_pointers; -//8008C648 -char dword_CODE_bss_8008C648[0x90]; -//CODE.bss:8008C6D8 -s32 dword_CODE_bss_8008C6D8; -//CODE.bss:8008C6DC -s32 dword_CODE_bss_8008C6DC; -//CODE.bss:8008C6E0 -s32 dword_CODE_bss_8008C6E0; -//CODE.bss:8008C6E4 -s32 dword_CODE_bss_8008C6E4; -//CODE.bss:8008C6E8 -s32 dword_CODE_bss_8008C6E8; -//CODE.bss:8008C6EC -s32 dword_CODE_bss_8008C6EC; -//CODE.bss:8008C6F0 -s32 dword_CODE_bss_8008C6F0; -//CODE.bss:8008C6F4 -s32 ptr_j_char_data_buf; -//CODE.bss:8008C6F8 -s32 ptr_j_char_registry; - - -#ifdef VERSION_JP -s32 j_text_trigger = 1; -#else -s32 j_text_trigger = 0; -#endif - -void *LnameX_lookuptable[] = { - NULL, NULL, /* Null (unused) */ - "LameE", "LameJ", /* Library (multi) */ - "LarchE", "LarchJ", /* Archives */ - "LarkE", "LarkJ", /* Facility */ - "LashE", "LashJ", /* Stack (multi) */ - "LaztE", "LaztJ", /* Aztec */ - "LcatE", "LcatJ", /* Citadel (multi) */ - "LcaveE", "LcaveJ", /* Caverns */ - "LarecE", "LarecJ", /* Control */ - "LcradE", "LcradJ", /* Cradle */ - "LcrypE", "LcrypJ", /* Egypt */ - "LdamE", "LdamJ", /* Dam */ - "LdepoE", "LdepoJ", /* Depot */ - "LdestE", "LdestJ", /* Frigate */ - "LdishE", "LdishJ", /* Temple (multi) */ - "LearE", "LearJ", /* Ear (unused) */ - "LeldE", "LeldJ", /* Eld (unused) */ - "LimpE", "LimpJ", /* Basement (multi) */ - "LjunE", "LjunJ", /* Jungle */ - "LleeE", "LleeJ", /* Lee (unused) */ - "LlenE", "LlenJ", /* Cuba */ - "LlipE", "LlipJ", /* Lip (unused) */ - "LlueE", "LlueJ", /* Lue (unused) */ - "LoatE", "LoatJ", /* Cave (multi) */ - "LpamE", "LpamJ", /* Pam (unused) */ - "LpeteE", "LpeteJ", /* Streets */ - "LrefE", "LrefJ", /* Complex (multi) */ - "LritE", "LritJ", /* Rit (unused) */ - "LrunE", "LrunJ", /* Runway */ - "LsevbE", "LsevbJ", /* Bunker 2 */ - "LsevE", "LsevJ", /* Bunker 1 */ - "LsevxE", "LsevxJ", /* Surface 1 */ - "LsevxbE", "LsevxbJ", /* Surface 2 */ - "LshoE", "LshoJ", /* Sho (unused) */ - "LsiloE", "LsiloJ", /* Silo */ - "LstatE", "LstatJ", /* Statue */ - "LtraE", "LtraJ", /* Train */ - "LwaxE", "LwaxJ", /* Wax (unused) */ - "LgunE", "LgunJ", /* Guns */ - "LtitleE", "LtitleJ", /* Stage and menu titles */ - "LmpmenuE", "LmpmenuJ", /* Multi menus */ - "LpropobjE", "LpropobjJ", /* In-game pickups */ - "LmpweaponsE", "LmpweaponsJ", /* Multi weapon select */ - "LoptionsE", "LoptionsJ", /* Solo in-game menus */ - "LmiscE", "LmiscJ"}; /* Cheat options */ - -LEVELID get_textbank_number_for_stagenum(LEVELID level) -{ - LEVELID return_id; - - switch(level) - { - case LEVELID_DAM: - return_id = LDAM; - break; - case LEVELID_FACILITY: - return_id = LARK; - break; - case LEVELID_RUNWAY: - return_id = LRUN; - break; - case LEVELID_SURFACE: - 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_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_id = LAME; - break; - case LEVELID_BASEMENT: - return_id = LIMP; - break; - case LEVELID_STACK: - return_id = LASH; - break; - case LEVELID_CAVES: - return_id = LOAT; - break; - case LEVELID_CUBA: - return_id = LLEN; - break; - default: - { - /* infinite loop on invalid text bank */ - while(1) {}; - } - } - - return return_id; -} - - -#ifdef NONMATCHING -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( -.text -glabel init_LnameX -/* 0F621C 7F0C16EC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0F6220 7F0C16F0 AFB20020 */ sw $s2, 0x20($sp) -/* 0F6224 7F0C16F4 3C128005 */ lui $s2, %hi(j_text_trigger) -/* 0F6228 7F0C16F8 265284D0 */ addiu $s2, %lo(j_text_trigger) # addiu $s2, $s2, -0x7b30 -/* 0F622C 7F0C16FC 8E480000 */ lw $t0, ($s2) -/* 0F6230 7F0C1700 AFBF0024 */ sw $ra, 0x24($sp) -/* 0F6234 7F0C1704 AFB1001C */ sw $s1, 0x1c($sp) -/* 0F6238 7F0C1708 11000039 */ beqz $t0, .L7F0C17F0 -/* 0F623C 7F0C170C AFB00018 */ sw $s0, 0x18($sp) -/* 0F6240 7F0C1710 24042E80 */ li $a0, 11904 -/* 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 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 -/* 0F6268 7F0C1738 AC820000 */ sw $v0, ($a0) -/* 0F626C 7F0C173C 00001825 */ move $v1, $zero -/* 0F6270 7F0C1740 240500F8 */ li $a1, 248 -.L7F0C1744: -/* 0F6274 7F0C1744 8C8E0000 */ lw $t6, ($a0) -/* 0F6278 7F0C1748 01C31021 */ addu $v0, $t6, $v1 -/* 0F627C 7F0C174C 904F0000 */ lbu $t7, ($v0) -/* 0F6280 7F0C1750 31F8FF3F */ andi $t8, $t7, 0xff3f -/* 0F6284 7F0C1754 A0580000 */ sb $t8, ($v0) -/* 0F6288 7F0C1758 8C990000 */ lw $t9, ($a0) -/* 0F628C 7F0C175C 03231021 */ addu $v0, $t9, $v1 -/* 0F6290 7F0C1760 944A0000 */ lhu $t2, ($v0) -/* 0F6294 7F0C1764 354B3FFF */ ori $t3, $t2, 0x3fff -/* 0F6298 7F0C1768 A44B0000 */ sh $t3, ($v0) -/* 0F629C 7F0C176C 8C8C0000 */ lw $t4, ($a0) -/* 0F62A0 7F0C1770 01831021 */ addu $v0, $t4, $v1 -/* 0F62A4 7F0C1774 904D0002 */ lbu $t5, 2($v0) -/* 0F62A8 7F0C1778 31AEFF3F */ andi $t6, $t5, 0xff3f -/* 0F62AC 7F0C177C A04E0002 */ sb $t6, 2($v0) -/* 0F62B0 7F0C1780 8C8F0000 */ lw $t7, ($a0) -/* 0F62B4 7F0C1784 01E31021 */ addu $v0, $t7, $v1 -/* 0F62B8 7F0C1788 94590002 */ lhu $t9, 2($v0) -/* 0F62BC 7F0C178C 37293FFF */ ori $t1, $t9, 0x3fff -/* 0F62C0 7F0C1790 A4490002 */ sh $t1, 2($v0) -/* 0F62C4 7F0C1794 8C8A0000 */ lw $t2, ($a0) -/* 0F62C8 7F0C1798 01431021 */ addu $v0, $t2, $v1 -/* 0F62CC 7F0C179C 904B0004 */ lbu $t3, 4($v0) -/* 0F62D0 7F0C17A0 316CFF3F */ andi $t4, $t3, 0xff3f -/* 0F62D4 7F0C17A4 A04C0004 */ sb $t4, 4($v0) -/* 0F62D8 7F0C17A8 8C8D0000 */ lw $t5, ($a0) -/* 0F62DC 7F0C17AC 01A31021 */ addu $v0, $t5, $v1 -/* 0F62E0 7F0C17B0 944F0004 */ lhu $t7, 4($v0) -/* 0F62E4 7F0C17B4 35F83FFF */ ori $t8, $t7, 0x3fff -/* 0F62E8 7F0C17B8 A4580004 */ sh $t8, 4($v0) -/* 0F62EC 7F0C17BC 8C990000 */ lw $t9, ($a0) -/* 0F62F0 7F0C17C0 03231021 */ addu $v0, $t9, $v1 -/* 0F62F4 7F0C17C4 90490006 */ lbu $t1, 6($v0) -/* 0F62F8 7F0C17C8 312AFF3F */ andi $t2, $t1, 0xff3f -/* 0F62FC 7F0C17CC A04A0006 */ sb $t2, 6($v0) -/* 0F6300 7F0C17D0 8C8B0000 */ lw $t3, ($a0) -/* 0F6304 7F0C17D4 01631021 */ addu $v0, $t3, $v1 -/* 0F6308 7F0C17D8 944D0006 */ lhu $t5, 6($v0) -/* 0F630C 7F0C17DC 24630008 */ addiu $v1, $v1, 8 -/* 0F6310 7F0C17E0 35AE3FFF */ ori $t6, $t5, 0x3fff -/* 0F6314 7F0C17E4 1465FFD7 */ bne $v1, $a1, .L7F0C1744 -/* 0F6318 7F0C17E8 A44E0006 */ sh $t6, 6($v0) -/* 0F631C 7F0C17EC 8E480000 */ lw $t0, ($s2) -.L7F0C17F0: -/* 0F6320 7F0C17F0 3C018009 */ lui $at, %hi(ptr_text) -/* 0F6324 7F0C17F4 3C028009 */ lui $v0, %hi(table_text_pointers) -/* 0F6328 7F0C17F8 3C038009 */ lui $v1, %hi(ptr_j_char_data_buf) -/* 0F632C 7F0C17FC 2463C6F4 */ addiu $v1, %lo(ptr_j_char_data_buf) # addiu $v1, $v1, -0x390c -/* 0F6330 7F0C1800 2442C644 */ addiu $v0, %lo(table_text_pointers) # addiu $v0, $v0, -0x39bc -/* 0F6334 7F0C1804 AC20C640 */ sw $zero, %lo(ptr_text)($at) -.L7F0C1808: -/* 0F6338 7F0C1808 24420010 */ addiu $v0, $v0, 0x10 -/* 0F633C 7F0C180C AC40FFF4 */ sw $zero, -0xc($v0) -/* 0F6340 7F0C1810 AC40FFF8 */ sw $zero, -8($v0) -/* 0F6344 7F0C1814 AC40FFFC */ sw $zero, -4($v0) -/* 0F6348 7F0C1818 1443FFFB */ bne $v0, $v1, .L7F0C1808 -/* 0F634C 7F0C181C AC40FFF0 */ sw $zero, -0x10($v0) -/* 0F6350 7F0C1820 3C108005 */ lui $s0, %hi(LnameX_lookuptable) -/* 0F6354 7F0C1824 261084D4 */ addiu $s0, %lo(LnameX_lookuptable) # addiu $s0, $s0, -0x7b2c -/* 0F6358 7F0C1828 00087880 */ sll $t7, $t0, 2 -/* 0F635C 7F0C182C 020FC021 */ addu $t8, $s0, $t7 -/* 0F6360 7F0C1830 8F040130 */ lw $a0, 0x130($t8) -/* 0F6364 7F0C1834 24050001 */ li $a1, 1 -/* 0F6368 7F0C1838 24060100 */ li $a2, 256 -/* 0F636C 7F0C183C 0FC2F341 */ jal _load_resource_named_to_membank -/* 0F6370 7F0C1840 24070006 */ li $a3, 6 -/* 0F6374 7F0C1844 8E590000 */ lw $t9, ($s2) -/* 0F6378 7F0C1848 3C118009 */ lui $s1, %hi(ptr_text) -/* 0F637C 7F0C184C 2631C640 */ addiu $s1, %lo(ptr_text) # addiu $s1, $s1, -0x39c0 -/* 0F6380 7F0C1850 00194880 */ sll $t1, $t9, 2 -/* 0F6384 7F0C1854 02095021 */ addu $t2, $s0, $t1 -/* 0F6388 7F0C1858 AE220098 */ sw $v0, 0x98($s1) -/* 0F638C 7F0C185C 8D440138 */ lw $a0, 0x138($t2) -/* 0F6390 7F0C1860 24050001 */ li $a1, 1 -/* 0F6394 7F0C1864 24060100 */ li $a2, 256 -/* 0F6398 7F0C1868 0FC2F341 */ jal _load_resource_named_to_membank -/* 0F639C 7F0C186C 24070006 */ li $a3, 6 -/* 0F63A0 7F0C1870 8E4B0000 */ lw $t3, ($s2) -/* 0F63A4 7F0C1874 AE22009C */ sw $v0, 0x9c($s1) -/* 0F63A8 7F0C1878 24050001 */ li $a1, 1 -/* 0F63AC 7F0C187C 000B6080 */ sll $t4, $t3, 2 -/* 0F63B0 7F0C1880 020C6821 */ addu $t5, $s0, $t4 -/* 0F63B4 7F0C1884 8DA40140 */ lw $a0, 0x140($t5) -/* 0F63B8 7F0C1888 24060100 */ li $a2, 256 -/* 0F63BC 7F0C188C 0FC2F341 */ jal _load_resource_named_to_membank -/* 0F63C0 7F0C1890 24070006 */ li $a3, 6 -/* 0F63C4 7F0C1894 8E4E0000 */ lw $t6, ($s2) -/* 0F63C8 7F0C1898 AE2200A0 */ sw $v0, 0xa0($s1) -/* 0F63CC 7F0C189C 24050001 */ li $a1, 1 -/* 0F63D0 7F0C18A0 000E7880 */ sll $t7, $t6, 2 -/* 0F63D4 7F0C18A4 020FC021 */ addu $t8, $s0, $t7 -/* 0F63D8 7F0C18A8 8F040148 */ lw $a0, 0x148($t8) -/* 0F63DC 7F0C18AC 24060100 */ li $a2, 256 -/* 0F63E0 7F0C18B0 0FC2F341 */ jal _load_resource_named_to_membank -/* 0F63E4 7F0C18B4 24070006 */ li $a3, 6 -/* 0F63E8 7F0C18B8 8E590000 */ lw $t9, ($s2) -/* 0F63EC 7F0C18BC AE2200A4 */ sw $v0, 0xa4($s1) -/* 0F63F0 7F0C18C0 24050001 */ li $a1, 1 -/* 0F63F4 7F0C18C4 00194880 */ sll $t1, $t9, 2 -/* 0F63F8 7F0C18C8 02095021 */ addu $t2, $s0, $t1 -/* 0F63FC 7F0C18CC 8D440150 */ lw $a0, 0x150($t2) -/* 0F6400 7F0C18D0 24060100 */ li $a2, 256 -/* 0F6404 7F0C18D4 0FC2F341 */ jal _load_resource_named_to_membank -/* 0F6408 7F0C18D8 24070006 */ li $a3, 6 -/* 0F640C 7F0C18DC 8E4B0000 */ lw $t3, ($s2) -/* 0F6410 7F0C18E0 AE2200A8 */ sw $v0, 0xa8($s1) -/* 0F6414 7F0C18E4 24050001 */ li $a1, 1 -/* 0F6418 7F0C18E8 000B6080 */ sll $t4, $t3, 2 -/* 0F641C 7F0C18EC 020C6821 */ addu $t5, $s0, $t4 -/* 0F6420 7F0C18F0 8DA40158 */ lw $a0, 0x158($t5) -/* 0F6424 7F0C18F4 24060100 */ li $a2, 256 -/* 0F6428 7F0C18F8 0FC2F341 */ jal _load_resource_named_to_membank -/* 0F642C 7F0C18FC 24070006 */ li $a3, 6 -/* 0F6430 7F0C1900 8E4E0000 */ lw $t6, ($s2) -/* 0F6434 7F0C1904 AE2200AC */ sw $v0, 0xac($s1) -/* 0F6438 7F0C1908 24050001 */ li $a1, 1 -/* 0F643C 7F0C190C 000E7880 */ sll $t7, $t6, 2 -/* 0F6440 7F0C1910 020FC021 */ addu $t8, $s0, $t7 -/* 0F6444 7F0C1914 8F040160 */ lw $a0, 0x160($t8) -/* 0F6448 7F0C1918 24060100 */ li $a2, 256 -/* 0F644C 7F0C191C 0FC2F341 */ jal _load_resource_named_to_membank -/* 0F6450 7F0C1920 24070006 */ li $a3, 6 -/* 0F6454 7F0C1924 8FBF0024 */ lw $ra, 0x24($sp) -/* 0F6458 7F0C1928 AE2200B0 */ sw $v0, 0xb0($s1) -/* 0F645C 7F0C192C 8FB1001C */ lw $s1, 0x1c($sp) -/* 0F6460 7F0C1930 8FB00018 */ lw $s0, 0x18($sp) -/* 0F6464 7F0C1934 8FB20020 */ lw $s2, 0x20($sp) -/* 0F6468 7F0C1938 03E00008 */ jr $ra -/* 0F646C 7F0C193C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel something_with_LnameJ -/* 0F6470 7F0C1940 3C0E8005 */ lui $t6, %hi(j_text_trigger) -/* 0F6474 7F0C1944 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) -/* 0F6478 7F0C1948 00001825 */ move $v1, $zero -/* 0F647C 7F0C194C 240600F8 */ li $a2, 248 -/* 0F6480 7F0C1950 11C00035 */ beqz $t6, .L7F0C1A28 -/* 0F6484 7F0C1954 3C058009 */ lui $a1, %hi(ptr_j_char_registry) -/* 0F6488 7F0C1958 24A5C6F8 */ addiu $a1, %lo(ptr_j_char_registry) # addiu $a1, $a1, -0x3908 -/* 0F648C 7F0C195C 8CAF0000 */ lw $t7, ($a1) -.L7F0C1960: -/* 0F6490 7F0C1960 01E31021 */ addu $v0, $t7, $v1 -/* 0F6494 7F0C1964 94440000 */ lhu $a0, ($v0) -/* 0F6498 7F0C1968 0004C382 */ srl $t8, $a0, 0xe -/* 0F649C 7F0C196C 5300000A */ beql $t8, $zero, .L7F0C1998 -/* 0F64A0 7F0C1970 94440002 */ lhu $a0, 2($v0) -/* 0F64A4 7F0C1974 904A0000 */ lbu $t2, ($v0) -/* 0F64A8 7F0C1978 2719FFFF */ addiu $t9, $t8, -1 -/* 0F64AC 7F0C197C 00194980 */ sll $t1, $t9, 6 -/* 0F64B0 7F0C1980 314BFF3F */ andi $t3, $t2, 0xff3f -/* 0F64B4 7F0C1984 012B6025 */ or $t4, $t1, $t3 -/* 0F64B8 7F0C1988 A04C0000 */ sb $t4, ($v0) -/* 0F64BC 7F0C198C 8CAD0000 */ lw $t5, ($a1) -/* 0F64C0 7F0C1990 01A31021 */ addu $v0, $t5, $v1 -/* 0F64C4 7F0C1994 94440002 */ lhu $a0, 2($v0) -.L7F0C1998: -/* 0F64C8 7F0C1998 00047382 */ srl $t6, $a0, 0xe -/* 0F64CC 7F0C199C 51C0000A */ beql $t6, $zero, .L7F0C19C8 -/* 0F64D0 7F0C19A0 94440004 */ lhu $a0, 4($v0) -/* 0F64D4 7F0C19A4 90480002 */ lbu $t0, 2($v0) -/* 0F64D8 7F0C19A8 25CFFFFF */ addiu $t7, $t6, -1 -/* 0F64DC 7F0C19AC 000FC980 */ sll $t9, $t7, 6 -/* 0F64E0 7F0C19B0 310AFF3F */ andi $t2, $t0, 0xff3f -/* 0F64E4 7F0C19B4 032A4825 */ or $t1, $t9, $t2 -/* 0F64E8 7F0C19B8 A0490002 */ sb $t1, 2($v0) -/* 0F64EC 7F0C19BC 8CAB0000 */ lw $t3, ($a1) -/* 0F64F0 7F0C19C0 01631021 */ addu $v0, $t3, $v1 -/* 0F64F4 7F0C19C4 94440004 */ lhu $a0, 4($v0) -.L7F0C19C8: -/* 0F64F8 7F0C19C8 00046382 */ srl $t4, $a0, 0xe -/* 0F64FC 7F0C19CC 5180000A */ beql $t4, $zero, .L7F0C19F8 -/* 0F6500 7F0C19D0 94440006 */ lhu $a0, 6($v0) -/* 0F6504 7F0C19D4 90580004 */ lbu $t8, 4($v0) -/* 0F6508 7F0C19D8 258DFFFF */ addiu $t5, $t4, -1 -/* 0F650C 7F0C19DC 000D7980 */ sll $t7, $t5, 6 -/* 0F6510 7F0C19E0 3308FF3F */ andi $t0, $t8, 0xff3f -/* 0F6514 7F0C19E4 01E8C825 */ or $t9, $t7, $t0 -/* 0F6518 7F0C19E8 A0590004 */ sb $t9, 4($v0) -/* 0F651C 7F0C19EC 8CAA0000 */ lw $t2, ($a1) -/* 0F6520 7F0C19F0 01431021 */ addu $v0, $t2, $v1 -/* 0F6524 7F0C19F4 94440006 */ lhu $a0, 6($v0) -.L7F0C19F8: -/* 0F6528 7F0C19F8 24630008 */ addiu $v1, $v1, 8 -/* 0F652C 7F0C19FC 00044B82 */ srl $t1, $a0, 0xe -/* 0F6530 7F0C1A00 11200007 */ beqz $t1, .L7F0C1A20 -/* 0F6534 7F0C1A04 00000000 */ nop -/* 0F6538 7F0C1A08 904E0006 */ lbu $t6, 6($v0) -/* 0F653C 7F0C1A0C 252BFFFF */ addiu $t3, $t1, -1 -/* 0F6540 7F0C1A10 000B6980 */ sll $t5, $t3, 6 -/* 0F6544 7F0C1A14 31D8FF3F */ andi $t8, $t6, 0xff3f -/* 0F6548 7F0C1A18 01B87825 */ or $t7, $t5, $t8 -/* 0F654C 7F0C1A1C A04F0006 */ sb $t7, 6($v0) -.L7F0C1A20: -/* 0F6550 7F0C1A20 5466FFCF */ bnel $v1, $a2, .L7F0C1960 -/* 0F6554 7F0C1A24 8CAF0000 */ lw $t7, ($a1) -.L7F0C1A28: -/* 0F6558 7F0C1A28 03E00008 */ jr $ra -/* 0F655C 7F0C1A2C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel something_with_LnameX -/* 0F6560 7F0C1A30 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0F6564 7F0C1A34 AFB00018 */ sw $s0, 0x18($sp) -/* 0F6568 7F0C1A38 308E2000 */ andi $t6, $a0, 0x2000 -/* 0F656C 7F0C1A3C 00808025 */ move $s0, $a0 -/* 0F6570 7F0C1A40 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F6574 7F0C1A44 240AFFFF */ li $t2, -1 -/* 0F6578 7F0C1A48 240BFFFF */ li $t3, -1 -/* 0F657C 7F0C1A4C 11C00002 */ beqz $t6, .L7F0C1A58 -/* 0F6580 7F0C1A50 00004025 */ move $t0, $zero -/* 0F6584 7F0C1A54 24080001 */ li $t0, 1 -.L7F0C1A58: -/* 0F6588 7F0C1A58 3C0C8009 */ lui $t4, %hi(ptr_j_char_registry) -/* 0F658C 7F0C1A5C 8D8CC6F8 */ lw $t4, %lo(ptr_j_char_registry)($t4) -/* 0F6590 7F0C1A60 00002825 */ move $a1, $zero -/* 0F6594 7F0C1A64 00003825 */ move $a3, $zero -/* 0F6598 7F0C1A68 2409007C */ li $t1, 124 -/* 0F659C 7F0C1A6C 01802025 */ move $a0, $t4 -.L7F0C1A70: -/* 0F65A0 7F0C1A70 15000006 */ bnez $t0, .L7F0C1A8C -/* 0F65A4 7F0C1A74 00000000 */ nop -/* 0F65A8 7F0C1A78 94980000 */ lhu $t8, ($a0) -/* 0F65AC 7F0C1A7C 00107843 */ sra $t7, $s0, 1 -/* 0F65B0 7F0C1A80 33193FFF */ andi $t9, $t8, 0x3fff -/* 0F65B4 7F0C1A84 51F9001F */ beql $t7, $t9, .L7F0C1B04 -/* 0F65B8 7F0C1A88 28A1007C */ slti $at, $a1, 0x7c -.L7F0C1A8C: -/* 0F65BC 7F0C1A8C 1100000B */ beqz $t0, .L7F0C1ABC -/* 0F65C0 7F0C1A90 94830000 */ lhu $v1, ($a0) -/* 0F65C4 7F0C1A94 24AE0001 */ addiu $t6, $a1, 1 -/* 0F65C8 7F0C1A98 29C1007C */ slti $at, $t6, 0x7c -/* 0F65CC 7F0C1A9C 10200007 */ beqz $at, .L7F0C1ABC -/* 0F65D0 7F0C1AA0 00101043 */ sra $v0, $s0, 1 -/* 0F65D4 7F0C1AA4 30783FFF */ andi $t8, $v1, 0x3fff -/* 0F65D8 7F0C1AA8 54580005 */ bnel $v0, $t8, .L7F0C1AC0 -/* 0F65DC 7F0C1AAC 00031382 */ srl $v0, $v1, 0xe -/* 0F65E0 7F0C1AB0 948F0002 */ lhu $t7, 2($a0) -/* 0F65E4 7F0C1AB4 31F93FFF */ andi $t9, $t7, 0x3fff -/* 0F65E8 7F0C1AB8 10590011 */ beq $v0, $t9, .L7F0C1B00 -.L7F0C1ABC: -/* 0F65EC 7F0C1ABC 00031382 */ srl $v0, $v1, 0xe -.L7F0C1AC0: -/* 0F65F0 7F0C1AC0 14400002 */ bnez $v0, .L7F0C1ACC -/* 0F65F4 7F0C1AC4 24A60001 */ addiu $a2, $a1, 1 -/* 0F65F8 7F0C1AC8 00A05025 */ move $t2, $a1 -.L7F0C1ACC: -/* 0F65FC 7F0C1ACC 14400009 */ bnez $v0, .L7F0C1AF4 -/* 0F6600 7F0C1AD0 24E70002 */ addiu $a3, $a3, 2 -/* 0F6604 7F0C1AD4 948E0002 */ lhu $t6, 2($a0) -/* 0F6608 7F0C1AD8 28C1007C */ slti $at, $a2, 0x7c -/* 0F660C 7F0C1ADC 000EC382 */ srl $t8, $t6, 0xe -/* 0F6610 7F0C1AE0 57000005 */ bnezl $t8, .L7F0C1AF8 -/* 0F6614 7F0C1AE4 00C02825 */ move $a1, $a2 -/* 0F6618 7F0C1AE8 50200003 */ beql $at, $zero, .L7F0C1AF8 -/* 0F661C 7F0C1AEC 00C02825 */ move $a1, $a2 -/* 0F6620 7F0C1AF0 00A05825 */ move $t3, $a1 -.L7F0C1AF4: -/* 0F6624 7F0C1AF4 00C02825 */ move $a1, $a2 -.L7F0C1AF8: -/* 0F6628 7F0C1AF8 14C9FFDD */ bne $a2, $t1, .L7F0C1A70 -/* 0F662C 7F0C1AFC 24840002 */ addiu $a0, $a0, 2 -.L7F0C1B00: -/* 0F6630 7F0C1B00 28A1007C */ slti $at, $a1, 0x7c -.L7F0C1B04: -/* 0F6634 7F0C1B04 10200021 */ beqz $at, .L7F0C1B8C -/* 0F6638 7F0C1B08 00000000 */ nop -/* 0F663C 7F0C1B0C 1500000C */ bnez $t0, .L7F0C1B40 -/* 0F6640 7F0C1B10 240D0060 */ li $t5, 96 -/* 0F6644 7F0C1B14 00AD0019 */ multu $a1, $t5 -/* 0F6648 7F0C1B18 908F0000 */ lbu $t7, ($a0) -/* 0F664C 7F0C1B1C 31F9FF3F */ andi $t9, $t7, 0xff3f -/* 0F6650 7F0C1B20 372E0080 */ ori $t6, $t9, 0x80 -/* 0F6654 7F0C1B24 A08E0000 */ sb $t6, ($a0) -/* 0F6658 7F0C1B28 3C0F8009 */ lui $t7, %hi(ptr_j_char_data_buf) -/* 0F665C 7F0C1B2C 8DEFC6F4 */ lw $t7, %lo(ptr_j_char_data_buf)($t7) -/* 0F6660 7F0C1B30 0000C012 */ mflo $t8 -/* 0F6664 7F0C1B34 030F1021 */ addu $v0, $t8, $t7 -/* 0F6668 7F0C1B38 1000006F */ b .L7F0C1CF8 -/* 0F666C 7F0C1B3C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C1B40: -/* 0F6670 7F0C1B40 90990000 */ lbu $t9, ($a0) -/* 0F6674 7F0C1B44 3C098009 */ lui $t1, %hi(ptr_j_char_registry) -/* 0F6678 7F0C1B48 2529C6F8 */ addiu $t1, %lo(ptr_j_char_registry) # addiu $t1, $t1, -0x3908 -/* 0F667C 7F0C1B4C 332EFF3F */ andi $t6, $t9, 0xff3f -/* 0F6680 7F0C1B50 35D80080 */ ori $t8, $t6, 0x80 -/* 0F6684 7F0C1B54 A0980000 */ sb $t8, ($a0) -/* 0F6688 7F0C1B58 8D2F0000 */ lw $t7, ($t1) -/* 0F668C 7F0C1B5C 240D0060 */ li $t5, 96 -/* 0F6690 7F0C1B60 00AD0019 */ multu $a1, $t5 -/* 0F6694 7F0C1B64 01E72021 */ addu $a0, $t7, $a3 -/* 0F6698 7F0C1B68 90990002 */ lbu $t9, 2($a0) -/* 0F669C 7F0C1B6C 332EFF3F */ andi $t6, $t9, 0xff3f -/* 0F66A0 7F0C1B70 35D80080 */ ori $t8, $t6, 0x80 -/* 0F66A4 7F0C1B74 A0980002 */ sb $t8, 2($a0) -/* 0F66A8 7F0C1B78 3C198009 */ lui $t9, %hi(ptr_j_char_data_buf) -/* 0F66AC 7F0C1B7C 8F39C6F4 */ lw $t9, %lo(ptr_j_char_data_buf)($t9) -/* 0F66B0 7F0C1B80 00007812 */ mflo $t7 -/* 0F66B4 7F0C1B84 1000005B */ b .L7F0C1CF4 -/* 0F66B8 7F0C1B88 01F91021 */ addu $v0, $t7, $t9 -.L7F0C1B8C: -/* 0F66BC 7F0C1B8C 15000025 */ bnez $t0, .L7F0C1C24 -/* 0F66C0 7F0C1B90 00000000 */ nop -/* 0F66C4 7F0C1B94 05400023 */ bltz $t2, .L7F0C1C24 -/* 0F66C8 7F0C1B98 240D0060 */ li $t5, 96 -/* 0F66CC 7F0C1B9C 014D0019 */ multu $t2, $t5 -/* 0F66D0 7F0C1BA0 000A3840 */ sll $a3, $t2, 1 -/* 0F66D4 7F0C1BA4 01871821 */ addu $v1, $t4, $a3 -/* 0F66D8 7F0C1BA8 906E0000 */ lbu $t6, ($v1) -/* 0F66DC 7F0C1BAC 3C098009 */ lui $t1, %hi(ptr_j_char_registry) -/* 0F66E0 7F0C1BB0 2529C6F8 */ addiu $t1, %lo(ptr_j_char_registry) # addiu $t1, $t1, -0x3908 -/* 0F66E4 7F0C1BB4 31D8FF3F */ andi $t8, $t6, 0xff3f -/* 0F66E8 7F0C1BB8 370F0080 */ ori $t7, $t8, 0x80 -/* 0F66EC 7F0C1BBC A06F0000 */ sb $t7, ($v1) -/* 0F66F0 7F0C1BC0 8D390000 */ lw $t9, ($t1) -/* 0F66F4 7F0C1BC4 00004012 */ mflo $t0 -/* 0F66F8 7F0C1BC8 00101043 */ sra $v0, $s0, 1 -/* 0F66FC 7F0C1BCC 03271821 */ addu $v1, $t9, $a3 -/* 0F6700 7F0C1BD0 004D0019 */ multu $v0, $t5 -/* 0F6704 7F0C1BD4 946F0000 */ lhu $t7, ($v1) -/* 0F6708 7F0C1BD8 30583FFF */ andi $t8, $v0, 0x3fff -/* 0F670C 7F0C1BDC 24060060 */ li $a2, 96 -/* 0F6710 7F0C1BE0 31F9C000 */ andi $t9, $t7, 0xc000 -/* 0F6714 7F0C1BE4 03197025 */ or $t6, $t8, $t9 -/* 0F6718 7F0C1BE8 A46E0000 */ sh $t6, ($v1) -/* 0F671C 7F0C1BEC 3C0F8009 */ lui $t7, %hi(ptr_j_char_data_buf) -/* 0F6720 7F0C1BF0 8DEFC6F4 */ lw $t7, %lo(ptr_j_char_data_buf)($t7) -/* 0F6724 7F0C1BF4 3C190011 */ lui $t9, %hi(_jfontcharSegmentStart) # $t9, 0x11 -/* 0F6728 7F0C1BF8 27397940 */ addiu $t9, %lo(_jfontcharSegmentStart) # addiu $t9, $t9, 0x7940 -/* 0F672C 7F0C1BFC 0000C012 */ mflo $t8 -/* 0F6730 7F0C1C00 03192821 */ addu $a1, $t8, $t9 -/* 0F6734 7F0C1C04 AFA80024 */ sw $t0, 0x24($sp) -/* 0F6738 7F0C1C08 0C001707 */ jal romCopy -/* 0F673C 7F0C1C0C 010F2021 */ addu $a0, $t0, $t7 -/* 0F6740 7F0C1C10 3C0E8009 */ lui $t6, %hi(ptr_j_char_data_buf) -/* 0F6744 7F0C1C14 8FA80024 */ lw $t0, 0x24($sp) -/* 0F6748 7F0C1C18 8DCEC6F4 */ lw $t6, %lo(ptr_j_char_data_buf)($t6) -/* 0F674C 7F0C1C1C 10000035 */ b .L7F0C1CF4 -/* 0F6750 7F0C1C20 010E1021 */ addu $v0, $t0, $t6 -.L7F0C1C24: -/* 0F6754 7F0C1C24 11000032 */ beqz $t0, .L7F0C1CF0 -/* 0F6758 7F0C1C28 3C028009 */ lui $v0, %hi(ptr_j_char_data_buf) -/* 0F675C 7F0C1C2C 05600030 */ bltz $t3, .L7F0C1CF0 -/* 0F6760 7F0C1C30 000B1840 */ sll $v1, $t3, 1 -/* 0F6764 7F0C1C34 01831021 */ addu $v0, $t4, $v1 -/* 0F6768 7F0C1C38 904F0000 */ lbu $t7, ($v0) -/* 0F676C 7F0C1C3C 3C098009 */ lui $t1, %hi(ptr_j_char_registry) -/* 0F6770 7F0C1C40 2529C6F8 */ addiu $t1, %lo(ptr_j_char_registry) # addiu $t1, $t1, -0x3908 -/* 0F6774 7F0C1C44 31F8FF3F */ andi $t8, $t7, 0xff3f -/* 0F6778 7F0C1C48 37190080 */ ori $t9, $t8, 0x80 -/* 0F677C 7F0C1C4C A0590000 */ sb $t9, ($v0) -/* 0F6780 7F0C1C50 8D2E0000 */ lw $t6, ($t1) -/* 0F6784 7F0C1C54 240D0060 */ li $t5, 96 -/* 0F6788 7F0C1C58 016D0019 */ multu $t3, $t5 -/* 0F678C 7F0C1C5C 01C31021 */ addu $v0, $t6, $v1 -/* 0F6790 7F0C1C60 904F0002 */ lbu $t7, 2($v0) -/* 0F6794 7F0C1C64 24060080 */ li $a2, 128 -/* 0F6798 7F0C1C68 31F8FF3F */ andi $t8, $t7, 0xff3f -/* 0F679C 7F0C1C6C 37190080 */ ori $t9, $t8, 0x80 -/* 0F67A0 7F0C1C70 A0590002 */ sb $t9, 2($v0) -/* 0F67A4 7F0C1C74 8D2E0000 */ lw $t6, ($t1) -/* 0F67A8 7F0C1C78 00107843 */ sra $t7, $s0, 1 -/* 0F67AC 7F0C1C7C 31E73FFF */ andi $a3, $t7, 0x3fff -/* 0F67B0 7F0C1C80 01C31021 */ addu $v0, $t6, $v1 -/* 0F67B4 7F0C1C84 94590000 */ lhu $t9, ($v0) -/* 0F67B8 7F0C1C88 00004012 */ mflo $t0 -/* 0F67BC 7F0C1C8C 332EC000 */ andi $t6, $t9, 0xc000 -/* 0F67C0 7F0C1C90 00EE7825 */ or $t7, $a3, $t6 -/* 0F67C4 7F0C1C94 A44F0000 */ sh $t7, ($v0) -/* 0F67C8 7F0C1C98 8D380000 */ lw $t8, ($t1) -/* 0F67CC 7F0C1C9C 03031021 */ addu $v0, $t8, $v1 -/* 0F67D0 7F0C1CA0 94590002 */ lhu $t9, 2($v0) -/* 0F67D4 7F0C1CA4 3C188009 */ lui $t8, %hi(ptr_j_char_data_buf) -/* 0F67D8 7F0C1CA8 332EC000 */ andi $t6, $t9, 0xc000 -/* 0F67DC 7F0C1CAC 00EE7825 */ or $t7, $a3, $t6 -/* 0F67E0 7F0C1CB0 A44F0002 */ sh $t7, 2($v0) -/* 0F67E4 7F0C1CB4 8F18C6F4 */ lw $t8, %lo(ptr_j_char_data_buf)($t8) -/* 0F67E8 7F0C1CB8 32191FFF */ andi $t9, $s0, 0x1fff -/* 0F67EC 7F0C1CBC 00197043 */ sra $t6, $t9, 1 -/* 0F67F0 7F0C1CC0 01182021 */ addu $a0, $t0, $t8 -/* 0F67F4 7F0C1CC4 3C180012 */ lui $t8, %hi(_efontcharSegmentStart) # $t8, 0x12 -/* 0F67F8 7F0C1CC8 27183040 */ addiu $t8, %lo(_efontcharSegmentStart) # addiu $t8, $t8, 0x3040 -/* 0F67FC 7F0C1CCC 000E79C0 */ sll $t7, $t6, 7 -/* 0F6800 7F0C1CD0 01F82821 */ addu $a1, $t7, $t8 -/* 0F6804 7F0C1CD4 0C001707 */ jal romCopy -/* 0F6808 7F0C1CD8 AFA80024 */ sw $t0, 0x24($sp) -/* 0F680C 7F0C1CDC 3C198009 */ lui $t9, %hi(ptr_j_char_data_buf) -/* 0F6810 7F0C1CE0 8FA80024 */ lw $t0, 0x24($sp) -/* 0F6814 7F0C1CE4 8F39C6F4 */ lw $t9, %lo(ptr_j_char_data_buf)($t9) -/* 0F6818 7F0C1CE8 10000002 */ b .L7F0C1CF4 -/* 0F681C 7F0C1CEC 01191021 */ addu $v0, $t0, $t9 -.L7F0C1CF0: -/* 0F6820 7F0C1CF0 8C42C6F4 */ lw $v0, %lo(ptr_j_char_data_buf)($v0) -.L7F0C1CF4: -/* 0F6824 7F0C1CF4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C1CF8: -/* 0F6828 7F0C1CF8 8FB00018 */ lw $s0, 0x18($sp) -/* 0F682C 7F0C1CFC 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0F6830 7F0C1D00 03E00008 */ jr $ra -/* 0F6834 7F0C1D04 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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 -glabel load_mission_text_bank -/* 0F6838 7F0C1D08 3C188005 */ lui $t8, %hi(j_text_trigger) -/* 0F683C 7F0C1D0C 8F1884D0 */ lw $t8, %lo(j_text_trigger)($t8) -/* 0F6840 7F0C1D10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F6844 7F0C1D14 000478C0 */ sll $t7, $a0, 3 -/* 0F6848 7F0C1D18 AFA40018 */ sw $a0, 0x18($sp) -/* 0F684C 7F0C1D1C 0018C880 */ sll $t9, $t8, 2 -/* 0F6850 7F0C1D20 01F94021 */ addu $t0, $t7, $t9 -/* 0F6854 7F0C1D24 3C048005 */ lui $a0, %hi(LnameX_lookuptable) -/* 0F6858 7F0C1D28 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F685C 7F0C1D2C 00882021 */ addu $a0, $a0, $t0 -/* 0F6860 7F0C1D30 8C8484D4 */ lw $a0, %lo(LnameX_lookuptable)($a0) -/* 0F6864 7F0C1D34 24050001 */ li $a1, 1 -/* 0F6868 7F0C1D38 24060100 */ li $a2, 256 -/* 0F686C 7F0C1D3C 0FC2F341 */ jal _load_resource_named_to_membank -/* 0F6870 7F0C1D40 24070004 */ li $a3, 4 -/* 0F6874 7F0C1D44 8FA90018 */ lw $t1, 0x18($sp) -/* 0F6878 7F0C1D48 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F687C 7F0C1D4C 3C018009 */ lui $at, %hi(ptr_text) -/* 0F6880 7F0C1D50 00095080 */ sll $t2, $t1, 2 -/* 0F6884 7F0C1D54 002A0821 */ addu $at, $at, $t2 -/* 0F6888 7F0C1D58 AC22C640 */ sw $v0, %lo(ptr_text)($at) -/* 0F688C 7F0C1D5C 03E00008 */ jr $ra -/* 0F6890 7F0C1D60 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -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 -glabel load_briefing_text_bank -/* 0F6894 7F0C1D64 3C188005 */ lui $t8, %hi(j_text_trigger) -/* 0F6898 7F0C1D68 8F1884D0 */ lw $t8, %lo(j_text_trigger)($t8) -/* 0F689C 7F0C1D6C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F68A0 7F0C1D70 000478C0 */ sll $t7, $a0, 3 -/* 0F68A4 7F0C1D74 AFA40018 */ sw $a0, 0x18($sp) -/* 0F68A8 7F0C1D78 0018C880 */ sll $t9, $t8, 2 -/* 0F68AC 7F0C1D7C 00C03825 */ move $a3, $a2 -/* 0F68B0 7F0C1D80 01F94021 */ addu $t0, $t7, $t9 -/* 0F68B4 7F0C1D84 3C048005 */ lui $a0, %hi(LnameX_lookuptable) -/* 0F68B8 7F0C1D88 00A03025 */ move $a2, $a1 -/* 0F68BC 7F0C1D8C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F68C0 7F0C1D90 AFA5001C */ sw $a1, 0x1c($sp) -/* 0F68C4 7F0C1D94 00882021 */ addu $a0, $a0, $t0 -/* 0F68C8 7F0C1D98 8C8484D4 */ lw $a0, %lo(LnameX_lookuptable)($a0) -/* 0F68CC 7F0C1D9C 0FC2F350 */ jal _load_resource_named_to_buffer -/* 0F68D0 7F0C1DA0 24050001 */ li $a1, 1 -/* 0F68D4 7F0C1DA4 8FA90018 */ lw $t1, 0x18($sp) -/* 0F68D8 7F0C1DA8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F68DC 7F0C1DAC 3C018009 */ lui $at, %hi(ptr_text) -/* 0F68E0 7F0C1DB0 00095080 */ sll $t2, $t1, 2 -/* 0F68E4 7F0C1DB4 002A0821 */ addu $at, $at, $t2 -/* 0F68E8 7F0C1DB8 AC22C640 */ sw $v0, %lo(ptr_text)($at) -/* 0F68EC 7F0C1DBC 03E00008 */ jr $ra -/* 0F68F0 7F0C1DC0 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -void blank_text_bank(s32 textBank) { - (&ptr_text)[textBank] = 0; -} - - -u8 * get_textptr_for_textID(s32 slotID) -{ - u32 * textbank_ptr = (&ptr_text)[slotID >> 10]; /* get the text file bank ID index the text ptr table */ - u32 textslot_offset = textbank_ptr[slotID & 0x03FF]; /* load the textbank ptr table then get the slot's offset */ - - u32 output_slot = textslot_offset; /* add the text slot offset to the base ptr to get the ptr to text file's slot */ - output_slot += (u32)textbank_ptr; - return (textslot_offset != 0) ? output_slot : NULL; -} diff --git a/src/game/lvl_text.h b/src/game/lvl_text.h deleted file mode 100644 index c059aa9..0000000 --- a/src/game/lvl_text.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _LVL_TEXT_H_ -#define _LVL_TEXT_H_ -#include "ultra64.h" - -struct stringentry { - char *string[]; -}; - -extern s32 j_text_trigger; - -#endif diff --git a/src/game/mainmenu.c b/src/game/mainmenu.c deleted file mode 100644 index 9ebabcd..0000000 --- a/src/game/mainmenu.c +++ /dev/null @@ -1,29978 +0,0 @@ -#include "ultra64.h" -#include "bondgame.h" -#include "game/spectrum.h" -#include "game/mainmenu.h" -#include "game/unk_093880.h" -#include "music.h" -#include "game/textrelated.h" -#include "game/lvl.h" - -// bss -//CODE.bss:800695A0 -f32 flt_CODE_bss_800695A0; -//CODE.bss:800695A4 -f32 flt_CODE_bss_800695A4; -//CODE.bss:800695A8 -f32 flt_CODE_bss_800695A8; -//CODE.bss:800695AC -f32 flt_CODE_bss_800695AC; -//CODE.bss:800695B0 -f32 flt_CODE_bss_800695B0; -//CODE.bss:800695B4 -f32 flt_CODE_bss_800695B4; -//CODE.bss:800695B8 -f32 flt_CODE_bss_800695B8; -//CODE.bss:800695BC -f32 flt_CODE_bss_800695BC; -//CODE.bss:800695C0 -f32 flt_CODE_bss_800695C0; -//CODE.bss:800695C4 -f32 flt_CODE_bss_800695C4; -//CODE.bss:800695C8 -f32 flt_CODE_bss_800695C8; -//CODE.bss:800695CC -f32 flt_CODE_bss_800695CC; -//CODE.bss:800695D0 -f32 flt_CODE_bss_800695D0; -//CODE.bss:800695D4 -f32 flt_CODE_bss_800695D4; -//CODE.bss:800695D8 -f32 flt_CODE_bss_800695D8; -//CODE.bss:800695DC -f32 flt_CODE_bss_800695DC; -//CODE.bss:800695E0 -f32 flt_CODE_bss_800695E0; -//CODE.bss:800695E4 -f32 flt_CODE_bss_800695E4; -//CODE.bss:800695E8 -f32 flt_CODE_bss_800695E8; -//CODE.bss:800695EC -f32 flt_CODE_bss_800695EC; -//CODE.bss:800695F0 -f32 flt_CODE_bss_800695F0; -//CODE.bss:800695F4 -f32 flt_CODE_bss_800695F4; -//CODE.bss:800695F8 -f32 flt_CODE_bss_800695F8; -//CODE.bss:800695FC -f32 flt_CODE_bss_800695FC; -//CODE.bss:80069600 -f32 flt_CODE_bss_80069600; -//CODE.bss:80069604 -f32 flt_CODE_bss_80069604; -//CODE.bss:80069608 -f32 flt_CODE_bss_80069608; -//CODE.bss:8006960C -f32 flt_CODE_bss_8006960C; -//CODE.bss:80069610 -f32 flt_CODE_bss_80069610; -//CODE.bss:80069614 -f32 flt_CODE_bss_80069614; -//CODE.bss:80069618 -f32 flt_CODE_bss_80069618; -//CODE.bss:8006961C -f32 flt_CODE_bss_8006961C; -//CODE.bss:80069620 -char dword_CODE_bss_80069620[0x30]; - -//CODE.bss:80069650 -u8 CHEAT_80069650; -//CODE.bss:80069651 -u8 cheat_available; -//CODE.bss:80069652 -u8 CHEAT_AVAILABLE_INVINCIBLE; -//CODE.bss:80069653 -u8 CHEAT_AVAILABLE_ALLGUNS; -//CODE.bss:80069654 -u8 CHEAT_80069654; -//CODE.bss:80069655 -u8 CHEAT_80069655; -//CODE.bss:80069656 -u8 CHEAT_80069656; -//CODE.bss:80069657 -u8 CHEAT_AVAILABLE_LINEMODE; -//CODE.bss:80069658 -u8 CHEAT_AVAILABLE_2X_HEALTH; -//CODE.bss:80069659 -u8 CHEAT_AVAILABLE_2X_ARMOR; -//CODE.bss:8006965A -u8 CHEAT_AVAILABLE_BOND_INVIS; -//CODE.bss:8006965B -u8 CHEAT_AVAILABLE_INFINITE_AMMO; -//CODE.bss:8006965C -u8 CHEAT_AVAILABLE_DK_MODE; -//CODE.bss:8006965D -u8 CHEAT_AVAILABLE_EXTRA_WEAPONS; -//CODE.bss:8006965E -u8 CHEAT_AVAILABLE_TINY_BOND; -//CODE.bss:8006965F -u8 CHEAT_AVAILABLE_PAINTBALL; -//CODE.bss:80069660 -u8 CHEAT_AVAILABLE_10X_HEALTH; -//CODE.bss:80069661 -u8 CHEAT_AVAILABLE_MAGNUM; -//CODE.bss:80069662 -u8 CHEAT_AVAILABLE_LASER; -//CODE.bss:80069663 -u8 CHEAT_AVAILABLE_GOLDENGUN; -//CODE.bss:80069664 -u8 CHEAT_AVAILABLE_SILVERPP7; -//CODE.bss:80069665 -u8 CHEAT_AVAILABLE_GOLDPP7; -//CODE.bss:80069666 -u8 CHEAT_AVAILABLE_MP_INVINCIBILITY; -//CODE.bss:80069667 -u8 CHEAT_AVAILABLE_NO_MP_RADAR; -//CODE.bss:80069668 -u8 CHEAT_AVAILABLE_TURBO; -//CODE.bss:80069669 -u8 CHEAT_AVAILABLE_DEBUG_MODE; -//CODE.bss:8006966A -u8 CHEAT_AVAILABLE_FAST_ANI; -//CODE.bss:8006966B -u8 CHEAT_AVAILABLE_SLOW_ANI; -//CODE.bss:8006966C -u8 CHEAT_AVAILABLE_ENMY_ROCKETS; -//CODE.bss:8006966D -u8 CHEAT_AVAILABLE_2X_ROCKET; -//CODE.bss:8006966E -u8 CHEAT_AVAILABLE_2X_GRENADE_LAUNCHER; -//CODE.bss:8006966F -u8 CHEAT_AVAILABLE_2X_RCP90; -//CODE.bss:80069670 -u8 CHEAT_AVAILABLE_2X_THROWING_KNIVES; -//CODE.bss:80069671 -u8 CHEAT_AVAILABLE_2X_HUNTING_KNIVES; -//CODE.bss:80069672 -u8 CHEAT_AVAILABLE_2X_LASER; -//CODE.bss:80069673 -u8 CHEAT_80069673; -//CODE.bss:80069674 -u8 CHEAT_80069674; -u8 CHEAT_80069675; -u8 CHEAT_80069676; -u8 CHEAT_80069677; -u8 CHEAT_80069678[0x28]; - -//CODE.bss:800696A0 -u8 cheat_activated; -//CODE.bss:800696A1 -u8 CHEAT_AVAILABLE_EXTRA_CHARS; -//CODE.bss:800696A2 -u8 cheat_activated_1; -//CODE.bss:800696A3 -u8 cheat_activated_2; -//CODE.bss:800696A4 -u8 CHEAT_AVAILABLE_MAX_AMMO; -//CODE.bss:800696A5 -u8 cheat_activated_4; -//CODE.bss:800696A6 -u8 cheat_activated_5; -//CODE.bss:800696A7 -u8 cheat_activated_6; -//CODE.bss:800696A8 -u8 cheat_activated_7; -//CODE.bss:800696A9 -u8 cheat_activated_8; -//CODE.bss:800696AA -u8 cheat_activated_9; -//CODE.bss:800696AB -u8 cheat_activated_10; -//CODE.bss:800696AC -u8 cheat_activated_11; -//CODE.bss:800696AD -u8 cheat_activated_12; -//CODE.bss:800696AE -u8 cheat_activated_13; -//CODE.bss:800696AF -u8 cheat_activated_14; -//CODE.bss:800696B0 -u8 cheat_activated_15; -//CODE.bss:800696B1 -u8 cheat_activated_16; -//CODE.bss:800696B2 -u8 cheat_activated_17; -//CODE.bss:800696B3 -u8 cheat_activated_18; -//CODE.bss:800696B4 -u8 cheat_activated_19; -//CODE.bss:800696B5 -u8 cheat_activated_20; -//CODE.bss:800696B6 -u8 cheat_activated_21; -//CODE.bss:800696B7 -u8 cheat_activated_22; -//CODE.bss:800696B8 -u8 cheat_activated_23; -//CODE.bss:800696B9 -u8 cheat_activated_24; -//CODE.bss:800696BA -u8 cheat_activated_25; -//CODE.bss:800696BB -u8 cheat_activated_26; -//CODE.bss:800696BC -u8 cheat_activated_27; -//CODE.bss:800696BD -u8 cheat_activated_28; -//CODE.bss:800696BE -u8 cheat_activated_29; -//CODE.bss:800696BF -u8 cheat_activated_30; -//CODE.bss:800696C0 -u8 cheat_activated_31; -//CODE.bss:800696C1 -u8 cheat_activated_32; -//CODE.bss:800696C2 -u8 cheat_activated_33; -//CODE.bss:800696C3 -u8 cheat_activated_34; -//CODE.bss:800696C4 -u8 cheat_activated_35; -//CODE.bss:800696C5 -u8 cheat_activated_36; -//CODE.bss:800696C6 -u8 cheat_activated_37; -//CODE.bss:800696C7 -u8 cheat_activated_38; -//CODE.bss:800696C8 -u8 cheat_activated_39; -//CODE.bss:800696C9 -u8 cheat_activated_40; -//CODE.bss:800696CA -u8 cheat_activated_41; -//CODE.bss:800696CB -u8 cheat_activated_42; -//CODE.bss:800696CC -u8 cheat_activated_43; -//CODE.bss:800696CD -u8 cheat_activated_44; -//CODE.bss:800696CE -u8 cheat_activated_45; -//CODE.bss:800696CF -u8 cheat_activated_46; -//CODE.bss:800696D0 -u8 cheat_activated_47; -//CODE.bss:800696D1 -u8 cheat_activated_48; -//CODE.bss:800696D2 -u8 cheat_activated_49; -//CODE.bss:800696D3 -u8 cheat_activated_50; -//CODE.bss:800696D4 -u8 cheat_activated_51; -//CODE.bss:800696D5 -u8 cheat_activated_52; -//CODE.bss:800696D6 -u8 cheat_activated_53; -//CODE.bss:800696D7 -u8 cheat_activated_54; -//CODE.bss:800696D8 -u8 cheat_activated_55; -//CODE.bss:800696D9 -u8 cheat_activated_56; -//CODE.bss:800696DA -u8 cheat_activated_57; -//CODE.bss:800696DB -u8 cheat_activated_58; -//CODE.bss:800696DC -u8 cheat_activated_59; -//CODE.bss:800696DD -u8 cheat_activated_60; -//CODE.bss:800696DE -u8 cheat_activated_61; -//CODE.bss:800696DF -u8 cheat_activated_62; -//CODE.bss:800696E0 -u8 cheat_activated_63; -//CODE.bss:800696E1 -u8 cheat_activated_64; -//CODE.bss:800696E2 -u8 cheat_activated_65; -//CODE.bss:800696E3 -u8 cheat_activated_66; -//CODE.bss:800696E4 -u8 cheat_activated_67; -//CODE.bss:800696E5 -u8 cheat_activated_68; -//CODE.bss:800696E6 -u8 cheat_activated_69; -//CODE.bss:800696E7 -u8 cheat_activated_70; -//CODE.bss:800696E8 -u8 cheat_activated_71; -//CODE.bss:800696E9 -u8 cheat_activated_72; -//CODE.bss:800696EA -u8 cheat_activated_73; -//CODE.bss:800696EB -u8 cheat_activated_74; -//CODE.bss:800696EC -u8 cheat_activated_75; -//CODE.bss:800696ED -u8 cheat_activated_76; -//CODE.bss:800696EE -u8 cheat_activated_77; -//CODE.bss:800696EF -u8 cheat_activated_78; - -//CODE.bss:800696F0 -s32 fav_weapon_right_player1; -//CODE.bss:800696F4 -s32 fav_weapon_left_player1; -//CODE.bss:800696F8 -s32 fav_weapon_right_player2; -//CODE.bss:800696FC -s32 fav_weapon_left_player2; -//CODE.bss:80069700 -s32 fav_weapon_right_player3; -//CODE.bss:80069704 -s32 fav_weapon_left_player3; -//CODE.bss:80069708 -s32 fav_weapon_right_player4; -//CODE.bss:8006970C -s32 fav_weapon_left_player4; -//CODE.bss:80069710 -s32 mp_char_cur_select_player1; -//CODE.bss:80069714 -s32 mp_char_cur_select_player2; -//CODE.bss:80069718 -s32 mp_char_cur_select_player3; -//CODE.bss:8006971C -s32 mp_char_cur_select_player4; -//CODE.bss:80069720 -s32 mp_char_prev_select_player1; -//CODE.bss:80069724 -s32 mp_char_prev_select_player2; -//CODE.bss:80069728 -s32 mp_char_prev_select_player3; -//CODE.bss:8006972C -s32 mp_char_prev_select_player4; -//CODE.bss:80069730 -s32 dword_CODE_bss_80069730; -//CODE.bss:80069734 -s32 dword_CODE_bss_80069734; -//CODE.bss:80069738 -s32 dword_CODE_bss_80069738; -//CODE.bss:8006973C -s32 dword_CODE_bss_8006973C; -//CODE.bss:80069740 -s32 has_selected_char_player1; -//CODE.bss:80069744 -s32 has_selected_char_player2; -//CODE.bss:80069748 -s32 has_selected_char_player3; -//CODE.bss:8006974C -s32 has_selected_char_player4; -//CODE.bss:80069750 -s32 size_mp_select_image_player1; -//CODE.bss:80069754 -s32 size_mp_select_image_player2; -//CODE.bss:80069758 -s32 size_mp_select_image_player3; -//CODE.bss:8006975C -s32 size_mp_select_image_player4; -//CODE.bss:80069760 -s32 dword_CODE_bss_80069760; -//CODE.bss:80069764 -s32 dword_CODE_bss_80069764; -//CODE.bss:80069768 -s32 dword_CODE_bss_80069768; -//CODE.bss:8006976C -s32 dword_CODE_bss_8006976C; -//CODE.bss:80069770 -s32 dword_CODE_bss_80069770; -//CODE.bss:80069774 -s32 dword_CODE_bss_80069774; -//CODE.bss:80069778 -s32 dword_CODE_bss_80069778; -//CODE.bss:8006977C -s32 current_mp_stage_highlighted; -//CODE.bss:80069780 -s32 dword_CODE_bss_80069780; -//CODE.bss:80069784 -s32 mission_difficulty_highlighted; -//CODE.bss:80069788 -s32 teamsize; -//CODE.bss:8006978C -s32 ptrbriefingdata; -//CODE.bss:80069790 -s32 newcheatunlocked; -//CODE.bss:80069794 -s32 highlight_enemy_reaction; -//CODE.bss:80069798 -s32 highlight_enemy_health; -//CODE.bss:8006979C -s32 highlight_enemy_accuracy; -//CODE.bss:800697A0 -s32 highlight_enemy_damage; - -//CODE.bss:800697A4 -s32 dword_CODE_bss_800697A4; - -//CODE.bss:800697A8 -s32 handicap_player1; -//CODE.bss:800697AC -s32 handicap_player2; -//CODE.bss:800697B0 -s32 handicap_player3; -//CODE.bss:800697B4 -s32 handicap_player4; -//CODE.bss:800697B8 -u32 controlstyle_player[4]; - -//CODE.bss:800697C8 -s32 highlight_players; -//CODE.bss:800697CC -s32 highlight_scenario; -//CODE.bss:800697D0 -s32 highlight_gameselect; -//CODE.bss:800697D4 -s32 highlight_gamelength; -//CODE.bss:800697D8 -s32 highlight_character; -//CODE.bss:800697DC -s32 highlight_weaponselect; -//CODE.bss:800697E0 -s32 highlight_health; -//CODE.bss:800697E4 -s32 highlight_controlstyle; -//CODE.bss:800697E8 -s32 highlight_aimadjustment; -//CODE.bss:800697EC .align 4 - -//CODE.bss:800697F0 -char dword_CODE_bss_800697F0[0x130]; - - -s32 current_menu = -1; -s32 menu_update = -1; -s32 maybe_prev_menu = -1; -s32 menu_timer = 0; -s32 tab_1_selected = 0; -s32 tab_2_selected = 0; -s32 tab_3_selected = 0; -s32 tab_1_highlight = 0; -s32 tab_2_highlight = 0; -s32 tab_3_highlight = 0; -s32 selected_folder_num = 0; -s32 selected_folder_num_copy = 0; -s32 gamemode = -1;//GAMEMODE_INTRO; -s32 selected_stage = -1; -s32 briefingpage = -1; -s32 selected_difficulty = -1;//DIFFICULTY_MULTI; -s32 append_cheat_sp = FALSE; -s32 append_cheat_mp = FALSE; -f32 cursor_h_pos = 220.0; -f32 cursor_v_pos = 165.0; -s32 final_menu_briefing_page = 2; -s32 current_menu_briefing_page = 0; -s32 folder_selection_screen_option_icon = 0; -s32 folder_selected_for_deletion = -1; -s32 folder_selected_for_deletion_choice = 1; -s32 mission_failed_or_aborted = 0; -s32 mission_kia_flag = 0; -s32 is_first_time_on_legal_screen = TRUE; -s32 is_first_time_on_main_menu = TRUE; -s32 prev_keypresses = 0; -s32 D_8002A938 = 0; -s32 maybe_is_in_menu = TRUE; -s32 screen_size = 0;//SCREEN_SIZE_320x240; -s32 spectrum_related_flag = 0; -s32 is_emulating_spectrum = FALSE; -s32 is_cheat_menu_available = FALSE; -s32 ptr_logo_and_walletbond_DL = 0; -s32 ptr_menu_videobuffer = 0; -s32 something_legalscreen_constructor = 0; -s32 ptr_folder_object_instance = 0; -s32 set0_never_used = 0; -s32 set0_never_used_0 = 0; -s32 D_8002A968 = 0; -s32 D_8002A96C = 0; -struct rgba_val D_8002A970 = {0x96, 0x96, 0x96, 0}; -struct rgba_val D_8002A974 = {0x96, 0x96, 0x96, 0}; -struct rgba_val D_8002A978 = {0xFF, 0xFF, 0xFF, 0}; -struct rgba_val D_8002A97C = {0xFF, 0xFF, 0xFF, 0}; -struct rgba_val D_8002A980 = {0x4D, 0x4D, 0x2E, 0}; -struct rgba_val D_8002A984 = {0}; -struct rgba_val D_8002A988 = {0xFF, 0xFF, 0xFF, 0}; -struct rgba_val D_8002A98C = {0xFF, 0xFF, 0xFF, 0}; -u32 D_8002A990 = 0; -u32 D_8002A994 = 0; -u32 D_8002A998 = 0; -u32 D_8002A99C = 0; -f32 slider_007_mode_reaction = 0.0f; -f32 slider_007_mode_health = 1.0f; -f32 slider_007_mode_accuracy = 1.0f; -f32 slider_007_mode_damage = 1.0f; -u32 D_8002A9B0 = 0xA0000000; -u32 D_8002A9B4 = 0x96000000; -u32 D_8002A9B8 = 0x28000000; -u32 D_8002A9BC = 0x8C000000; -u32 D_8002A9C0 = 0; -u32 D_8002A9C4 = 0; -u32 D_8002A9C8 = 0; - -struct legal_screen_text D_8002A9CC[] = { - {220, 30, 1, 1, TEXT(LTITLE, 0x07), 0}, - { 34, 83, 0, 1, TEXT(LTITLE, 0x08), 0}, - {226, 84, 0, 1, TEXT(LTITLE, 0x09), 0}, - {226, 97, 0, 1, TEXT(LTITLE, 0x0A), 0}, - {226, 110, 0, 1, TEXT(LTITLE, 0x0B), 0}, - {226, 122, 0, 1, TEXT(LTITLE, 0x0C), 0}, - {227, 134, 0, 1, TEXT(LTITLE, 0x0D), 0}, - {219, 211, 0, 1, TEXT(LTITLE, 0x0E), 0}, - { 60, 169, 0, 1, TEXT(LTITLE, 0x0F), 0}, - { 60, 201, 0, 1, TEXT(LTITLE, 0x10), 0}, - { 99, 266, 0, 1, TEXT(LTITLE, 0x11), 0}, - { 80, 280, 0, 1, TEXT(LTITLE, 0x12), 0} -}; - -u32 D_8002AABC = 0; - -u32 D_8002AAC0 = 1; -u32 D_8002AAC4 = 3; -u32 D_8002AAC8 = 0; -u32 D_8002AACC = 0; -u32 D_8002AAD0 = 0; -u32 D_8002AAD4 = 0; -u32 D_8002AAD8 = 0; -u32 D_8002AADC = 0; -u32 D_8002AAE0 = 0; -u32 D_8002AAE4 = 0; -u32 D_8002AAE8 = 0; -u32 D_8002AAEC = 0; -u32 D_8002AAF0 = 0; -u32 D_8002AAF4 = 0; -u32 D_8002AAF8 = 0; -u32 D_8002AAFC = 0; -u32 D_8002AB00 = 0; -u32 D_8002AB04 = 0; -u32 D_8002AB08 = 0; - -u32 D_8002AB0C = 1; -u32 D_8002AB10 = 3; -u32 D_8002AB14 = 0; -u32 D_8002AB18 = 0; -u32 D_8002AB1C = 0; -u32 D_8002AB20 = 0; -u32 D_8002AB24 = 0; -u32 D_8002AB28 = 0; -u32 D_8002AB2C = 0; -u32 D_8002AB30 = 0; -u32 D_8002AB34 = 0; -u32 D_8002AB38 = 0; -u32 D_8002AB3C = 0; -u32 D_8002AB40 = 0; -u32 D_8002AB44 = 0; -u32 D_8002AB48 = 0; -u32 D_8002AB4C = 0; -u32 D_8002AB50 = 0; -u32 D_8002AB54 = 0; - -u32 D_8002AB58 = 1; -u32 D_8002AB5C = 3; -u32 D_8002AB60 = 0; -u32 D_8002AB64 = 0; -u32 D_8002AB68 = 0; -u32 D_8002AB6C = 0; -u32 D_8002AB70 = 0; -u32 D_8002AB74 = 0; -u32 D_8002AB78 = 0; -u32 D_8002AB7C = 0; -u32 D_8002AB80 = 0; -u32 D_8002AB84 = 0; -u32 D_8002AB88 = 0; -u32 D_8002AB8C = 0; -u32 D_8002AB90 = 0; - -f32 D_8002AB94 = -900.0f; -f32 D_8002AB98 = 800.0f; -f32 D_8002AB9C = 0.0f; -f32 D_8002ABA0 = 1800.0f; -f32 D_8002ABA4 = 800.0f; -f32 D_8002ABA8 = 0.0f; -f32 D_8002ABAC = -1800.0f; -f32 D_8002ABB0 = -200.0f; -f32 D_8002ABB4 = 0.0f; -f32 D_8002ABB8 = 900.0f; -f32 D_8002ABBC = -200.0f; -f32 D_8002ABC0 = 0.0f; - -f32 folder_option_COPY_left_bound = 0.0f; -f32 folder_option_COPY_upper_bound = 0.0f; -f32 folder_option_COPY_right_bound = 0.0f; -f32 folder_option_COPY_lower_bound = 0.0f; -f32 folder_option_ERASE_left_bound = 0.0f; -f32 folder_option_ERASE_upper_bound = 0.0f; -f32 folder_option_ERASE_right_bound = 0.0f; -f32 folder_option_ERASE_lower_bound = 0.0f; - -struct mission_folder_setup mission_folder_setup_entries[] = { - {"1", TEXT(LTITLE, 0x78), 0, LEVELID_NONE, 0, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x79), 0, LEVELID_DAM, 0, MISSION_PART, 0, "UbriefdamZ"}, - {"ii", TEXT(LTITLE, 0x7A), 0, LEVELID_FACILITY, 0, MISSION_PART, 1, "UbriefarkZ"}, - {"iii", TEXT(LTITLE, 0x7B), 0, LEVELID_RUNWAY, 0, MISSION_PART, 2, "UbriefrunZ"}, - {"2", TEXT(LTITLE, 0x7C), 0, LEVELID_NONE, 0, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x7D), 0, LEVELID_SURFACE, 0, MISSION_PART, 3, "UbriefsevxZ"}, - {"ii", TEXT(LTITLE, 0x7E), 0, LEVELID_BUNKER1, 0, MISSION_PART, 4, "UbriefsevbunkerZ"}, - {"3", TEXT(LTITLE, 0x7F), 0, LEVELID_NONE, 1, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x80), TEXT(LTITLE, 0x81), LEVELID_SILO, 1, MISSION_PART, 5, "UbriefsiloZ"}, - {"4", TEXT(LTITLE, 0x82), 0, LEVELID_NONE, 1, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x83), 0, LEVELID_FRIGATE, 1, MISSION_PART, 6, "UbriefdestZ"}, - {"5", TEXT(LTITLE, 0x7C), 0, LEVELID_NONE, 1, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x7D), 0, LEVELID_SURFACE2, 1, MISSION_PART, 7, "UbriefsevxbZ"}, - {"ii", TEXT(LTITLE, 0x7E), 0, LEVELID_BUNKER2, 1, MISSION_PART, 8, "UbriefsevbZ"}, - {"6", TEXT(LTITLE, 0x84), 0, LEVELID_NONE, 2, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x85), TEXT(LTITLE, 0x86), LEVELID_STATUE, 2, MISSION_PART, 9, "UbriefstatueZ"}, - {"ii", TEXT(LTITLE, 0x87), TEXT(LTITLE, 0x88), LEVELID_ARCHIVES, 2, MISSION_PART, 0xA, "UbriefarchZ"}, - {"iii", TEXT(LTITLE, 0x89), 0, LEVELID_STREETS, 2, MISSION_PART, 0xB, "UbriefpeteZ"}, - {"iv", TEXT(LTITLE, 0x8A), 0, LEVELID_DEPOT, 2, MISSION_PART, 0xC, "UbriefdepoZ"}, - {"v", TEXT(LTITLE, 0x8B), 0, LEVELID_TRAIN, 2, MISSION_PART, 0xD, "UbrieftraZ"}, - {"7", TEXT(LTITLE, 0x8C), 0, LEVELID_NONE, 3, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x8D), 0, LEVELID_JUNGLE, 3, MISSION_PART, 0xE, "UbriefjunZ"}, - {"ii", TEXT(LTITLE, 0x8E), TEXT(LTITLE, 0x8F), LEVELID_CONTROL, 3, MISSION_PART, 0xF, "UbriefcontrolZ"}, - {"iii", TEXT(LTITLE, 0x90), TEXT(LTITLE, 0x91), LEVELID_CAVERNS, 3, MISSION_PART, 0x10, "UbriefcaveZ"}, - {"iv", TEXT(LTITLE, 0x92), TEXT(LTITLE, 0x93), LEVELID_CRADLE, 3, MISSION_PART, 0x11, "UbriefcradZ"}, - {"8", TEXT(LTITLE, 0x94), 0, LEVELID_NONE, 4, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x95), TEXT(LTITLE, 0x96), LEVELID_AZTEC, 4, MISSION_PART, 0x12, "UbriefaztZ"}, - {"9", TEXT(LTITLE, 0x97), 0, LEVELID_NONE, 4, MISSION_HEADER, -1, 0}, - {"i", TEXT(LTITLE, 0x98), TEXT(LTITLE, 0x99), LEVELID_EGYPT, 4, MISSION_PART, 0x13, "UbriefcrypZ"}, - {NULL, 0, 0, LEVELID_NONE, -1, MISSION_PART, -1, 0} -}; - -u32 unknown_folderselect_constructor = 0x14; -u32 D_8002AF30 = 0x14; -u32 D_8002AF34 = 0x14; -u32 unknown_folderselect_constructor_0 = 0x32; -u32 D_8002AF3C = 0x32; -u32 D_8002AF40 = 0x32; - -u32 unknown_folderselect[] = { - 0, 1, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - 0, 0 -}; - -u32 D_8002AF84[] = { - 0, 1, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - 0 -}; - -u32 D_8002AFC0 = 0; -u32 D_8002AFC4 = 0; -f32 D_8002AFC8 = 190.0; -f32 D_8002AFCC = -3300.0; -u32 cursor_xpos_table_mission_select[] = {73, 142, 212, 282, 352}; -u32 cursor_ypos_table_mission_select[] = {62, 131, 201, 270}; - -struct MP_game_length_settings multi_game_lengths[] = { - {TEXT(LTITLE, 0x2D), 0, 0, 0}, /* unlimited */ - {TEXT(LTITLE, 0x2E), 0, MINS_TO_TIMER60(5), 0}, /* 5 minutes */ - {TEXT(LTITLE, 0x2F), 0, MINS_TO_TIMER60(10), 0}, /* 10 minutes */ - {TEXT(LTITLE, 0x30), 0, MINS_TO_TIMER60(20), 0}, /* 20 minutes */ - {TEXT(LTITLE, 0x31), 0, 0, 5}, /* first to 5 points */ - {TEXT(LTITLE, 0x32), 0, 0, 10}, /* first to 10 points */ - {TEXT(LTITLE, 0x33), 0, 0, 20}, /* first to 20 points */ - {TEXT(LTITLE, 0x34), 0, 0, 0} /* last person alive wins */ -}; - -struct mp_stage_playercount mp_player_counts[] = { - {TEXT(LTITLE, 0x35), 2, 4}, - {TEXT(LTITLE, 0x36), 2, 4}, - {TEXT(LTITLE, 0x37), 2, 4}, - {TEXT(LTITLE, 0x38), 2, 4}, - {TEXT(LTITLE, 0x39), 2, 4}, - {TEXT(LTITLE, 0x3A), 4, 4}, - {TEXT(LTITLE, 0x3B), 4, 4}, - {TEXT(LTITLE, 0x3C), 3, 3} -}; - -struct mp_stage_setup multi_stage_setups[] = { - /* unlocked by default */ - {TEXT(LTITLE, 0x9A), TEXT(LTITLE, 0x9B), 16, LEVELID_NONE, -1, 1, 4}, - {TEXT(LTITLE, 0x9C), TEXT(LTITLE, 0x9D), 12, LEVELID_TEMPLE, -1, 1, 4}, - {TEXT(LTITLE, 0x9E), TEXT(LTITLE, 0x9F), 14, LEVELID_COMPLEX, -1, 1, 4}, - {TEXT(LTITLE, 0xA2), TEXT(LTITLE, 0xA3), 15, LEVELID_CAVES, -1, 1, 4}, - {TEXT(LTITLE, 0xA0), TEXT(LTITLE, 0xA1), 13, LEVELID_LIBRARY, -1, 1, 4}, - {TEXT(LTITLE, 0x10D), TEXT(LTITLE, 0x10E), 13, LEVELID_BASEMENT, -1, 1, 4}, - {TEXT(LTITLE, 0x10F), TEXT(LTITLE, 0x110), 13, LEVELID_STACK, -1, 1, 4}, - /* unlocked on level progression */ - {TEXT(LTITLE, 0xA4), TEXT(LTITLE, 0xA5), 04, LEVELID_FACILITY, SP_LEVEL_DAM, 1, 4}, - {TEXT(LTITLE, 0xA6), TEXT(LTITLE, 0xA7), 00, LEVELID_BUNKER2, SP_LEVEL_SURFACE2, 1, 3}, - {TEXT(LTITLE, 0xA8), TEXT(LTITLE, 0xA9), 02, LEVELID_ARCHIVES, SP_LEVEL_STATUE, 1, 3}, - {TEXT(LTITLE, 0xAA), TEXT(LTITLE, 0xAB), 01, LEVELID_CAVERNS, SP_LEVEL_CONTROL, 1, 3}, - {TEXT(LTITLE, 0xAC), TEXT(LTITLE, 0xAD), 10, LEVELID_EGYPT, SP_LEVEL_AZTEC, 1, 2} -}; - -u32 num_chars_selectable_mp = 8; - -#ifdef VERSION_US -struct MP_selectable_chars mp_chr_setup[] = { - {TEXT(LTITLE, 0xB8), MALE, 0, BODY_Tuxedo, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xBF), FEMALE, 9, BODY_Natalya_Skirt, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.96609998}, - {TEXT(LTITLE, 0xBC), MALE, 6, BODY_Trevelyan_Janus, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xBE), FEMALE, 8, BODY_Xenia, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xBB), MALE, 5, BODY_Ourumov, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0778}, - {TEXT(LTITLE, 0xBA), MALE, 4, BODY_Boris, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.9702}, - {TEXT(LTITLE, 0xBD), MALE, 7, BODY_Valentin_, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.93239999}, - {TEXT(LTITLE, 0xB9), MALE, 0xF, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Mishkin, 1.0}, - {TEXT(LTITLE, 0xC2), FEMALE, 0xC, BODY_Mayday, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xC1), MALE, 0xB, BODY_Jaws, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.199}, - {TEXT(LTITLE, 0xC3), MALE, 0xD, BODY_Oddjob, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT,0.78780001}, - {TEXT(LTITLE, 0xC0), MALE, 0xA, BODY_Baron_Samedi, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xFD), MALE, 0xE, BODY_Russian_Soldier, HEAD_Male_Mark, 1.0}, - {TEXT(LTITLE, 0xFC), MALE, 0xE, BODY_Russian_Infantry, HEAD_Male_Karl, 1.0}, - {TEXT(LTITLE, 0x107), MALE, 0xE, BODY_Scientist_1_Male, HEAD_Male_Dave_Dr_Doak, 1.0}, - {TEXT(LTITLE, 0x107), FEMALE, 0xE, BODY_Scientist_2_Female, HEAD_Female_Sally, 1.0}, - {TEXT(LTITLE, 0x100), MALE, 0xE, BODY_Russian_Commandant, HEAD_Male_Martin, 1.0}, - {TEXT(LTITLE, 0xFE), MALE, 0xE, BODY_Janus_Marine, HEAD_Male_Steve_Ellis, 1.0}, - {TEXT(LTITLE, 0x101), MALE, 0xE, BODY_Naval_Officer, HEAD_Male_Duncan, 1.0}, - {TEXT(LTITLE, 0x106), MALE, 0xE, BODY_Helicopter_Pilot, HEAD_Male_Pete, 1.0}, - {TEXT(LTITLE, 0xFB), MALE, 0xE, BODY_St_Petersburg_Guard, HEAD_Male_Ken, 1.0}, - {TEXT(LTITLE, 0x108), FEMALE, 0xE, BODY_Civilian_1_Female, HEAD_Female_Marion_Rosika, 1.0}, - {TEXT(LTITLE, 0x108), MALE, 0xE, BODY_Civilian_2, HEAD_Male_Graeme, 1.0}, - {TEXT(LTITLE, 0x108), MALE, 0xE, BODY_Civilian_3, HEAD_Male_Grant, 1.0}, - {TEXT(LTITLE, 0x108), MALE, 0xE, BODY_Civilian_4, HEAD_Male_Dwayne, 1.0}, - {TEXT(LTITLE, 0x102), MALE, 0xE, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Lee, 1.0}, - {TEXT(LTITLE, 0x103), MALE, 0xE, BODY_Arctic_Commando, HEAD_Male_Chris, 1.0}, - {TEXT(LTITLE, 0x102), MALE, 0xE, BODY_Siberian_Guard_2, HEAD_Male_Scott, 1.0}, - {TEXT(LTITLE, 0x104), MALE, 0xE, BODY_Siberian_Special_Forces, HEAD_Male_Alan, 1.0}, - {TEXT(LTITLE, 0xFA), MALE, 0xE, BODY_Jungle_Commando, HEAD_Male_Joel, 1.0}, - {TEXT(LTITLE, 0xFF), MALE, 0xE, BODY_Janus_Special_Forces, HEAD_Male_B, 1.0}, - {TEXT(LTITLE, 0x105), MALE, 0xE, BODY_Moonraker_Elite_1_Male, HEAD_Male_Neil, 1.0}, - {TEXT(LTITLE, 0x105), FEMALE, 0xE, BODY_Moonraker_Elite_2_Female, HEAD_Female_Vivien, 1.0}, - {TEXT(LTITLE, 0xC4), FEMALE, 0xE, BODY_Rosika, HEAD_Female_Marion_Rosika, 0.88529998}, - {TEXT(LTITLE, 0xC5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Karl, 1.0446}, - {TEXT(LTITLE, 0xC6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Martin, 1.0446}, - {TEXT(LTITLE, 0xC7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Mark, 1.0446}, - {TEXT(LTITLE, 0xC8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dave_Dr_Doak, 1.0446}, - {TEXT(LTITLE, 0xC9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Duncan, 1.0446}, - {TEXT(LTITLE, 0xCA), FEMALE, 0xE, BODY_Tuxedo, HEAD_Male_B, 1.0446}, - {TEXT(LTITLE, 0xCB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_Ellis, 1.0446}, - {TEXT(LTITLE, 0xCC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Grant, 1.0446}, - {TEXT(LTITLE, 0xCD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Graeme, 1.0446}, - {TEXT(LTITLE, 0xCE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Ken, 1.0446}, - {TEXT(LTITLE, 0xCF), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Alan, 1.0446}, - {TEXT(LTITLE, 0xD0), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Pete, 1.0446}, - {TEXT(LTITLE, 0xD1), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Shaun, 1.0446}, - {TEXT(LTITLE, 0xD2), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dwayne, 1.0446}, - {TEXT(LTITLE, 0xD3), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Des, 1.0446}, - {TEXT(LTITLE, 0xD4), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Chris, 1.0446}, - {TEXT(LTITLE, 0xD5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Lee, 1.0446}, - {TEXT(LTITLE, 0xD6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Neil, 1.0446}, - {TEXT(LTITLE, 0xD7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Jim, 1.0446}, - {TEXT(LTITLE, 0xD8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Robin, 1.0446}, - {TEXT(LTITLE, 0xD9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_H, 1.0446}, - {TEXT(LTITLE, 0xDA), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Terrorist, 1.0446}, - {TEXT(LTITLE, 0xDB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Biker, 1.0446}, - {TEXT(LTITLE, 0xDC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joel, 1.0446}, - {TEXT(LTITLE, 0xDD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Scott, 1.0446}, - {TEXT(LTITLE, 0xDE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joe, 1.0446}, - {TEXT(LTITLE, 0xDF), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Sally, 1.0446}, - {TEXT(LTITLE, 0xE0), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Marion_Rosika, 1.0446}, - {TEXT(LTITLE, 0xE1), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Mandy, 1.0446}, - {TEXT(LTITLE, 0xE2), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Vivien, 1.0446} -}; -#endif -#ifdef VERSION_JP -struct MP_selectable_chars mp_chr_setup[] = { - {TEXT(LTITLE, 0xB8), MALE, 0, BODY_Tuxedo, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xBF), FEMALE, 9, BODY_Natalya_Skirt, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.96609998}, - {TEXT(LTITLE, 0xBC), MALE, 6, BODY_Trevelyan_Janus, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xBE), FEMALE, 8, BODY_Xenia, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xBB), MALE, 5, BODY_Ourumov, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0778}, - {TEXT(LTITLE, 0xBA), MALE, 4, BODY_Boris, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.9702}, - {TEXT(LTITLE, 0xBD), MALE, 7, BODY_Valentin_, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.93239999}, - {TEXT(LTITLE, 0xB9), MALE, 0xF, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Mishkin, 1.0}, - {TEXT(LTITLE, 0xC2), FEMALE, 0xC, BODY_Mayday, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0xC1), MALE, 0xB, BODY_Jaws, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.199}, - {TEXT(LTITLE, 0xC3), MALE, 0xD, BODY_Oddjob, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT,0.78780001}, - {TEXT(LTITLE, 0xC0), MALE, 0xA, BODY_Baron_Samedi, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0}, - {TEXT(LTITLE, 0x11F), MALE, 0xE, BODY_Russian_Soldier, HEAD_Male_Mark, 1.0}, - {TEXT(LTITLE, 0x120), MALE, 0xE, BODY_Russian_Infantry, HEAD_Male_Karl, 1.0}, - {TEXT(LTITLE, 0x121), MALE, 0xE, BODY_Scientist_1_Male, HEAD_Male_Dave_Dr_Doak, 1.0}, - {TEXT(LTITLE, 0x121), FEMALE, 0xE, BODY_Scientist_2_Female, HEAD_Female_Sally, 1.0}, - {TEXT(LTITLE, 0x122), MALE, 0xE, BODY_Russian_Commandant, HEAD_Male_Martin, 1.0}, - {TEXT(LTITLE, 0x123), MALE, 0xE, BODY_Janus_Marine, HEAD_Male_Steve_Ellis, 1.0}, - {TEXT(LTITLE, 0x124), MALE, 0xE, BODY_Naval_Officer, HEAD_Male_Duncan, 1.0}, - {TEXT(LTITLE, 0x125), MALE, 0xE, BODY_Helicopter_Pilot, HEAD_Male_Pete, 1.0}, - {TEXT(LTITLE, 0x126), MALE, 0xE, BODY_St_Petersburg_Guard, HEAD_Male_Ken, 1.0}, - {TEXT(LTITLE, 0x127), FEMALE, 0xE, BODY_Civilian_1_Female, HEAD_Female_Marion_Rosika, 1.0}, - {TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_2, HEAD_Male_Graeme, 1.0}, - {TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_3, HEAD_Male_Grant, 1.0}, - {TEXT(LTITLE, 0x127), MALE, 0xE, BODY_Civilian_4, HEAD_Male_Dwayne, 1.0}, - {TEXT(LTITLE, 0x128), MALE, 0xE, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Lee, 1.0}, - {TEXT(LTITLE, 0x129), MALE, 0xE, BODY_Arctic_Commando, HEAD_Male_Chris, 1.0}, - {TEXT(LTITLE, 0x128), MALE, 0xE, BODY_Siberian_Guard_2, HEAD_Male_Scott, 1.0}, - {TEXT(LTITLE, 0x12A), MALE, 0xE, BODY_Siberian_Special_Forces, HEAD_Male_Alan, 1.0}, - {TEXT(LTITLE, 0x12B), MALE, 0xE, BODY_Jungle_Commando, HEAD_Male_Joel, 1.0}, - {TEXT(LTITLE, 0x12C), MALE, 0xE, BODY_Janus_Special_Forces, HEAD_Male_B, 1.0}, - {TEXT(LTITLE, 0x12D), MALE, 0xE, BODY_Moonraker_Elite_1_Male, HEAD_Male_Neil, 1.0}, - {TEXT(LTITLE, 0x12D), FEMALE, 0xE, BODY_Moonraker_Elite_2_Female, HEAD_Female_Vivien, 1.0}, - {TEXT(LTITLE, 0xC4), FEMALE, 0xE, BODY_Rosika, HEAD_Female_Marion_Rosika, 0.88529998}, - {TEXT(LTITLE, 0xC5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Karl, 1.0446}, - {TEXT(LTITLE, 0xC6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Martin, 1.0446}, - {TEXT(LTITLE, 0xC7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Mark, 1.0446}, - {TEXT(LTITLE, 0xC8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dave_Dr_Doak, 1.0446}, - {TEXT(LTITLE, 0xC9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Duncan, 1.0446}, - {TEXT(LTITLE, 0xCA), FEMALE, 0xE, BODY_Tuxedo, HEAD_Male_B, 1.0446}, - {TEXT(LTITLE, 0xCB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_Ellis, 1.0446}, - {TEXT(LTITLE, 0xCC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Grant, 1.0446}, - {TEXT(LTITLE, 0xCD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Graeme, 1.0446}, - {TEXT(LTITLE, 0xCE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Ken, 1.0446}, - {TEXT(LTITLE, 0xCF), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Alan, 1.0446}, - {TEXT(LTITLE, 0xD0), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Pete, 1.0446}, - {TEXT(LTITLE, 0xD1), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Shaun, 1.0446}, - {TEXT(LTITLE, 0xD2), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dwayne, 1.0446}, - {TEXT(LTITLE, 0xD3), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Des, 1.0446}, - {TEXT(LTITLE, 0xD4), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Chris, 1.0446}, - {TEXT(LTITLE, 0xD5), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Lee, 1.0446}, - {TEXT(LTITLE, 0xD6), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Neil, 1.0446}, - {TEXT(LTITLE, 0xD7), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Jim, 1.0446}, - {TEXT(LTITLE, 0xD8), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Robin, 1.0446}, - {TEXT(LTITLE, 0xD9), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_H, 1.0446}, - {TEXT(LTITLE, 0xDA), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Terrorist, 1.0446}, - {TEXT(LTITLE, 0xDB), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Biker, 1.0446}, - {TEXT(LTITLE, 0xDC), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joel, 1.0446}, - {TEXT(LTITLE, 0xDD), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Scott, 1.0446}, - {TEXT(LTITLE, 0xDE), MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joe, 1.0446}, - {TEXT(LTITLE, 0xDF), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Sally, 1.0446}, - {TEXT(LTITLE, 0xE0), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Marion_Rosika, 1.0446}, - {TEXT(LTITLE, 0xE1), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Mandy, 1.0446}, - {TEXT(LTITLE, 0xE2), FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Vivien, 1.0446} -}; -#endif - -struct MP_handicap_menu MP_handicap_table[] = { - {TEXT(LTITLE, 0x3D), 0, 10.0}, - {TEXT(LTITLE, 0x3E), 0, 2.8560996}, - {TEXT(LTITLE, 0x3F), 0, 2.1969998}, - {TEXT(LTITLE, 0x40), 0, 1.6899998}, - {TEXT(LTITLE, 0x41), 0, 1.3}, - {TEXT(LTITLE, 0x42), 0, 1.0}, - {TEXT(LTITLE, 0x43), 0, 0.76923078}, - {TEXT(LTITLE, 0x44), 0, 0.59171599}, - {TEXT(LTITLE, 0x45), 0, 0.45516616}, - {TEXT(LTITLE, 0x46), 0, 0.35012782}, - {TEXT(LTITLE, 0x47), 0, 0.1} -}; - -struct MP_controller_configuration_menu MP_controller_configuration_table[] = { - {0x9D, 0x15, 0, 1}, - {0x9D, 0x16, 1, 1}, - {0x9D, 0x17, 2, 1}, - {0x9D, 0x18, 3, 1}, - {0x9D, 0x19, 4, 2}, - {0x9D, 0x1A, 5, 2}, - {0x9D, 0x1B, 6, 2}, - {0x9D, 0x1C, 7, 2} -}; - -struct MP_sight_aim_settings mp_sight_adjust_table[] = { - {0x9C, 0x48, 0, 0}, - {0x9C, 0x49, 1, 0}, - {0x9C, 0x4A, 0, 1}, - {0x9C, 0x4B, 1, 1} -}; - -s32 selected_num_players = 0; -s32 player_1_char = -1; -s32 player_2_char = -1; -s32 player_3_char = -1; -s32 player_4_char = -1; -s32 MP_stage_selected = MP_STAGE_TEMPLE; -s32 game_length = 2; -s32 aim_sight_adjustment = 3; -s32 scenario = 0; -s32 unlock_stage_select = 1; -s32 unlock_game_length = 1; -s32 unlock_chars = 1; -s32 unlock_weapon_select = 1; -s32 unlock_handicap = 1; -s32 unlock_control_style = 1; -s32 unlock_aim_sight = 1; - -u32 D_8002B560 = 0; - -struct solo_target_times solo_target_time_array[] = { - {0, 160, 0}, - {0, 0, 125}, - {300, 0, 0}, - {0, 210, 0}, - {0, 0, 240}, - {180, 0, 0}, - {0, 270, 0}, - {0, 0, 255}, - {90, 0, 0}, - {0, 195, 0}, - {0, 0, 80}, - {105, 0, 0}, - {0, 100, 0}, - {0, 0, 325}, - {225, 0, 0}, - {0, 600, 0}, - {0, 0, 570}, - {135, 0, 0}, - {0, 540, 0}, - {0, 0, 360} -}; - -u32 D_8002B5DC = 0; -u32 D_8002B5E0 = 0; - - -u32 MP_menu_selected_option = 0; -u32 do_not_play_intro_movie = 0; -u32 randomly_selected_intro_animation = 0; -u32 intro_animation_count = 0; -u32 objinstance = 0; -u32 ptrobjinstance = 0; -u32 full_actor_intro = 0; - -struct intro_char intro_char_table[] = { - {BODY_Tuxedo, 0x4E, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xE4), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Special_Operations_Uniform, 0x4A, TEXT(LTITLE, 0xE5), TEXT(LTITLE, 0xE8), TEXT(LTITLE, 0xE9), 0, 0}, - {BODY_Natalya_Skirt, 0xFFFFFFFF, TEXT(LTITLE, 0xE5), TEXT(LTITLE, 0xEA), TEXT(LTITLE, 0xE3), 0, 0}, - {BODY_Trevelyan_006, 0xFFFFFFFF, TEXT(LTITLE, 0xE5), TEXT(LTITLE, 0xEB), TEXT(LTITLE, 0xEC), 0, 0}, - {BODY_Xenia, 0xFFFFFFFF, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xED), TEXT(LTITLE, 0xEE), 0, 0}, - {BODY_Ourumov, 0xFFFFFFFF, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xEF), TEXT(LTITLE, 0xF0), 0, 0}, - {BODY_Boris, 0xFFFFFFFF, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xF1), TEXT(LTITLE, 0xE3), 0, 0}, - {BODY_Valentin_, 0xFFFFFFFF, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xF2), TEXT(LTITLE, 0xF3), 0, 0}, - {BODY_Siberian_Guard_1_Mishkin, 0x45, TEXT(LTITLE, 0xE6), TEXT(LTITLE, 0xF4), TEXT(LTITLE, 0xF5), 0, 0}, - {BODY_Russian_Soldier, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFD), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Russian_Infantry, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFC), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Scientist_1_Male, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x107), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Scientist_2_Female, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x107), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Russian_Commandant, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x100), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Janus_Marine, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFE), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Naval_Officer, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x101), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Helicopter_Pilot, 0xFFFFFFFF, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x106), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_St_Petersburg_Guard, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFB), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Civilian_1_Female, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x108), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Civilian_2, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x108), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Civilian_3, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x108), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Civilian_4, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x108), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Siberian_Guard_1_Mishkin, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x102), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Arctic_Commando, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x103), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Siberian_Guard_2, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x102), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Siberian_Special_Forces, 0xFFFFFFFF, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x104), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Jungle_Commando, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFA), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Janus_Special_Forces, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0xFF), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Moonraker_Elite_1_Male, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x105), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Moonraker_Elite_2_Female, 0xFFFFFF9F, TEXT(LTITLE, 0xE3), TEXT(LTITLE, 0x105), TEXT(LTITLE, 0xE3), 0, 1}, - {BODY_Mayday, 0xFFFFFFFF, TEXT(LTITLE, 0xE7), TEXT(LTITLE, 0xF6), TEXT(LTITLE, 0xE3), 0, 0}, - {BODY_Jaws, 0xFFFFFFFF, TEXT(LTITLE, 0xE7), TEXT(LTITLE, 0xF7), TEXT(LTITLE, 0xE3), 0, 0}, - {BODY_Oddjob, 0xFFFFFFFF, TEXT(LTITLE, 0xE7), TEXT(LTITLE, 0xF8), TEXT(LTITLE, 0xE3), 0, 0}, - {BODY_Baron_Samedi, 0xFFFFFFFF, TEXT(LTITLE, 0xE7), TEXT(LTITLE, 0xF9), TEXT(LTITLE, 0xE3), 0, 0}, - {0xFFFFFFFF, 0, 0, 0, 0, 0, 0} -}; - -struct intro_animation intro_animation_table[] = { - {0x3F, 98.0, 1.0, 0}, - {0x42, 21.0, 1.0, 1}, - {0x43, 26.0, 1.0, 1}, - {0x48, 0.0, 1.0, 1}, - {0x4C, 0.0, 1.0, 1}, - {0x59, 0.0, 0.91000003, 1}, - {0x62, 31.0, 1.0, 1}, - {0x63, 0.0, 1.0, 1}, - {0x64, 0.0, 1.0, 1}, - {0x66, 0.0, 1.0, 1}, - {0x67, 0.0, 1.0, 1}, - {0x99, 248.0, 1.0, 0}, - {0xA3, 150.0, 1.0, 0}, - {0x46, 0.0, 0.89999998, 1}, - {0x4A, 0.0, 0.89999998, 1}, - {0x50, 0.0, 0.89999998, 1}, - {0x61, 51.0, 1.0, 1}, - {0x96, 0.0, 0.89999998, 1}, - {0x97, 0.0, 0.89999998, 1}, - {0x98, 37.0, 1.0, 2}, - {0xA1, 300.0, 1.0, 2}, - {0xA0, 120.0, 1.0, 2}, - {0xFFFFFFFF, 0.0, 0.0, 0} -}; - -u32 D_8002BA2C = 0; -u32 D_8002BA30 = 0; -u32 D_8002BA34 = 0; - -PROPS random_rifles_in_intro[] = -{ - PROP_chrkalash, - PROP_chrm16, - PROP_chrfnp90, - PROP_chrautoshot, - PROP_chrgrenadelaunch, - PROP_chrsniperrifle -}; - -PROPS random_pistols_in_intro[] = -{ - PROP_chrwppk, - PROP_chrwppksil, - PROP_chrskorpion, - PROP_chruzi, - PROP_chruzi, - PROP_chrtt33, - PROP_chrtt33, - PROP_chrruger, - PROP_chrlaser, - PROP_chrgolden -}; - -f32 D_8002BA78 = 0.0f; -f32 D_8002BA7C = 0.0f; -f32 D_8002BA80 = 1.0f; - -f32 D_8002BA84 = 0.0f; -f32 D_8002BA88 = 0.0f; -f32 D_8002BA8C = 0.0f; - -f32 D_8002BA90 = 0.0f; -f32 D_8002BA94 = 1.0f; -f32 D_8002BA98 = 0.0f; - -u32 D_8002BA9C = 0; -u32 D_8002BAA0 = 1; -u32 D_8002BAA4 = 3; -u32 D_8002BAA8 = 0; -u32 D_8002BAAC = 0; -u32 D_8002BAB0 = 0; -u32 D_8002BAB4 = 0; -u32 D_8002BAB8 = 0; -u32 D_8002BABC = 0; -u32 D_8002BAC0 = 0; -u32 D_8002BAC4 = 0; -u32 D_8002BAC8 = 0; -u32 D_8002BACC = 0; -u32 D_8002BAD0 = 0; -u32 D_8002BAD4 = 0; -u32 D_8002BAD8 = 0; -u32 D_8002BADC = 0; - -f32 D_8002BAE0 = 40.0f; -f32 D_8002BAE4 = 25.0f; -u32 D_8002BAE8 = 0; -u32 D_8002BAEC = 1; - -u16 color_palette_entries_50_percent[] = {1, 0x1F, 0x3C1, 0x3DF, 0x7801, 0x781F, 0x7BC1, 0x7BDF}; - - - - - -const char asc_D_8004F488[] = "\n"; -const char a_[] = "."; -const char asc_D_8004F490[] = "\n"; -const char a1_[] = "1.\n"; -const char a2_[] = "2.\n"; -const char a3_[] = "3.\n"; -const char asc_D_8004F4A0[] = "\n"; -const char asc_D_8004F4A4[] = ": "; -const char asc_D_8004F4A8[] = "\n"; -const char asc_D_8004F4AC[] = ": "; -const char asc_D_8004F4B0[] = "\n"; -const char asc_D_8004F4B4[3000] = {0xA, 0}; -const char aD_[] = "%d.\n"; -const char asc_D_80050074[3000] = {0xA, 0}; -const char aD[] = "%d%%\n"; -const char aD_0[] = "%d%%\n"; -const char aD_1[] = "%d%%\n"; -const char aD_2[] = "%d%%\n"; -const char aD_7[] = "%d"; -const char aA_[] = "a.\n"; -const char asc_D_80050C54[3000] = {0xA,0}; - -const char a02d02d[] = "%02d:%02d"; -const char aS[] = " [%s]"; -const char a02d02d_0[] = "%02d:%02d"; -const char aS02d02d[] = " (%s %02d:%02d)"; -const char D_80051848[] = ""; -const char a02d02d_1[] = "%02d:%02d"; -const char a_1f[] = "%.1f%%"; -const char aX2[] = " x 2\n"; -const char aD_8[] = "%d"; -const char aDD_0[] = "%d (%d%%)"; -const char aDD_1[] = "%d (%d%%)"; -const char aDD_2[] = "%d (%d%%)"; -const char aDD_3[] = "%d (%d%%)"; -const char aD_10[] = "%d"; - - - - - -#ifdef NONMATCHING -s32 write_text_at_abs_coord(?32 arg12, ?32 arg13, ?32 arg14, ?32 arg15, ?32 arg16, ?32 arg17, ?32 arg18) { - // Node 0 - if (j_text_trigger != 0) - { - // Node 1 - jp_text_write_stuff(arg12, arg13, arg14, (s32) ((((D_8002A9B0 << 0x18) | (D_8002A9B4 << 0x10)) | (D_8002A9B8 << 8)) | D_8002A9BC), arg15, arg16, arg17, arg18); - return; - // (possible return value: en_text_write_stuff(arg12, arg13, arg14, arg15, arg16, arg17, arg18)) - } - // Node 2 - en_text_write_stuff(arg12, arg13, arg14, arg15, arg16, arg17, arg18); - return; - // (possible return value: en_text_write_stuff(arg12, arg13, arg14, arg15, arg16, arg17, arg18)) -} -#else -GLOBAL_ASM( -.text -glabel write_text_at_abs_coord -/* 03E290 7F009760 3C0E8005 */ lui $t6, %hi(j_text_trigger) -/* 03E294 7F009764 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) -/* 03E298 7F009768 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 03E29C 7F00976C AFBF0034 */ sw $ra, 0x34($sp) -/* 03E2A0 7F009770 11C00021 */ beqz $t6, .L7F0097F8 -/* 03E2A4 7F009774 8FAD0048 */ lw $t5, 0x48($sp) -/* 03E2A8 7F009778 3C088003 */ lui $t0, %hi(D_8002A9B0) -/* 03E2AC 7F00977C 3C0A8003 */ lui $t2, %hi(D_8002A9B4) -/* 03E2B0 7F009780 914AA9B4 */ lbu $t2, %lo(D_8002A9B4)($t2) -/* 03E2B4 7F009784 9108A9B0 */ lbu $t0, %lo(D_8002A9B0)($t0) -/* 03E2B8 7F009788 8FB8004C */ lw $t8, 0x4c($sp) -/* 03E2BC 7F00978C 3C0D8003 */ lui $t5, %hi(D_8002A9B8) -/* 03E2C0 7F009790 91ADA9B8 */ lbu $t5, %lo(D_8002A9B8)($t5) -/* 03E2C4 7F009794 8FAF0048 */ lw $t7, 0x48($sp) -/* 03E2C8 7F009798 000A5C00 */ sll $t3, $t2, 0x10 -/* 03E2CC 7F00979C 00084E00 */ sll $t1, $t0, 0x18 -/* 03E2D0 7F0097A0 AFB80014 */ sw $t8, 0x14($sp) -/* 03E2D4 7F0097A4 8FB90050 */ lw $t9, 0x50($sp) -/* 03E2D8 7F0097A8 3C188003 */ lui $t8, %hi(D_8002A9BC) -/* 03E2DC 7F0097AC 012B6025 */ or $t4, $t1, $t3 -/* 03E2E0 7F0097B0 9318A9BC */ lbu $t8, %lo(D_8002A9BC)($t8) -/* 03E2E4 7F0097B4 000D7200 */ sll $t6, $t5, 8 -/* 03E2E8 7F0097B8 AFAF0010 */ sw $t7, 0x10($sp) -/* 03E2EC 7F0097BC 8FAB0060 */ lw $t3, 0x60($sp) -/* 03E2F0 7F0097C0 8FA9005C */ lw $t1, 0x5c($sp) -/* 03E2F4 7F0097C4 8FA80054 */ lw $t0, 0x54($sp) -/* 03E2F8 7F0097C8 8FAA0058 */ lw $t2, 0x58($sp) -/* 03E2FC 7F0097CC 018E7825 */ or $t7, $t4, $t6 -/* 03E300 7F0097D0 AFB90018 */ sw $t9, 0x18($sp) -/* 03E304 7F0097D4 01F8C825 */ or $t9, $t7, $t8 -/* 03E308 7F0097D8 AFB9001C */ sw $t9, 0x1c($sp) -/* 03E30C 7F0097DC AFAB002C */ sw $t3, 0x2c($sp) -/* 03E310 7F0097E0 AFA90028 */ sw $t1, 0x28($sp) -/* 03E314 7F0097E4 AFA80020 */ sw $t0, 0x20($sp) -/* 03E318 7F0097E8 0FC2B9BB */ jal jp_text_write_stuff -/* 03E31C 7F0097EC AFAA0024 */ sw $t2, 0x24($sp) -/* 03E320 7F0097F0 10000010 */ b .L7F009834 -/* 03E324 7F0097F4 00402025 */ move $a0, $v0 -.L7F0097F8: -/* 03E328 7F0097F8 8FAC004C */ lw $t4, 0x4c($sp) -/* 03E32C 7F0097FC 8FAE0050 */ lw $t6, 0x50($sp) -/* 03E330 7F009800 8FAF0054 */ lw $t7, 0x54($sp) -/* 03E334 7F009804 8FB80058 */ lw $t8, 0x58($sp) -/* 03E338 7F009808 8FB9005C */ lw $t9, 0x5c($sp) -/* 03E33C 7F00980C 8FA80060 */ lw $t0, 0x60($sp) -/* 03E340 7F009810 AFAD0010 */ sw $t5, 0x10($sp) -/* 03E344 7F009814 AFAC0014 */ sw $t4, 0x14($sp) -/* 03E348 7F009818 AFAE0018 */ sw $t6, 0x18($sp) -/* 03E34C 7F00981C AFAF001C */ sw $t7, 0x1c($sp) -/* 03E350 7F009820 AFB80020 */ sw $t8, 0x20($sp) -/* 03E354 7F009824 AFB90024 */ sw $t9, 0x24($sp) -/* 03E358 7F009828 0FC2B6AF */ jal en_text_write_stuff -/* 03E35C 7F00982C AFA80028 */ sw $t0, 0x28($sp) -/* 03E360 7F009830 00402025 */ move $a0, $v0 -.L7F009834: -/* 03E364 7F009834 8FBF0034 */ lw $ra, 0x34($sp) -/* 03E368 7F009838 27BD0038 */ addiu $sp, $sp, 0x38 -/* 03E36C 7F00983C 00801025 */ move $v0, $a0 -/* 03E370 7F009840 03E00008 */ jr $ra -/* 03E374 7F009844 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -ulonglong check_if_cheat_available(undefined4 cheat) -{ - ulonglong uVar1; - save_file *folder; - u32 uVar2; - BOOL BVar3; - - switch(cheat) { - case 1: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 0xd: - case 0x10: - case 0x16: - case 0x19: - case 0x23: - case 0x24: - case 0x25: - case 0x26: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x2f: - case 0x30: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x3c: - case 0x3d: - case 0x3e: - case 0x3f: - case 0x40: - case 0x41: - case 0x42: - case 0x43: - case 0x44: - case 0x45: - case 0x46: - case 0x47: - case 0x48: - case 0x49: - case 0x4a: - uVar1 = 0; - break; - case 2: - folder = getEEPROMforFoldernum(selected_folder_num); - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),1); - break; - case 3: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0x13); - break; - case 10: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),10); - break; - case 0xb: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0xf); - break; - case 0xc: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),2); - break; - case 0xe: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),7); - break; - case 0xf: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0); - break; - case 0x11: - uVar2 = check_cradle_completed_in_folder(selected_folder_num); - uVar1 = SEXT48((int)uVar2); - break; - case 0x12: - uVar2 = check_aztec_completed_in_folder_secret_00(selected_folder_num); - uVar1 = SEXT48((int)uVar2); - break; - case 0x13: - BVar3 = check_egypt_completed_in_folder_00(selected_folder_num); - uVar1 = SEXT48((int)BVar3); - break; - case 0x14: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0xd); - break; - case 0x15: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0x11); - break; - case 0x17: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),6); - break; - case 0x18: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),5); - break; - case 0x1a: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),9); - break; - case 0x1b: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0xc); - break; - case 0x1c: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0xb); - break; - case 0x1d: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),4); - break; - case 0x1e: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),3); - break; - case 0x1f: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0x10); - break; - case 0x20: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),8); - break; - case 0x21: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0xe); - break; - case 0x22: - uVar1 = check_if_cheat_unlocked(getEEPROMforFoldernum(selected_folder_num),0x12); - break; - default: - do { - /* WARNING: Do nothing block with infinite loop */ - } while( true ); - } - return uVar1; -} -#else -GLOBAL_ASM( -.late_rodata - -glabel cheat_available_table - .word default_nonmenucheats - .word cheat_invincible - .word cheat_allguns - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word cheat_invisible - .word cheat_infinite_ammo - .word cheat_dk_mode - .word default_nonmenucheats - .word cheat_tinybond - .word cheat_paintball - .word default_nonmenucheats - .word cheat_unlockcradle - .word cheat_unlockaztec - .word cheat_unlockegypt - .word cheat_silverpp7 - .word cheat_goldpp7 - .word default_nonmenucheats - .word cheat_noradar - .word cheat_turbo - .word default_nonmenucheats - .word cheat_fast - .word cheat_slow - .word cheat_enemyrockets - .word cheat_2xrocket - .word cheat_2xgrenadelauncher - .word cheat_2xrcp90 - .word cheat_2xthrowingknife - .word cheat_2xhuntingknife - .word cheat_2xlaser - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - .word default_nonmenucheats - /*HACK FIXME*/ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ -/* .word default_nonmenucheats */ - -.text -glabel check_if_cheat_available -/* 03E378 7F009848 248EFFFF */ addiu $t6, $a0, -1 -/* 03E37C 7F00984C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03E380 7F009850 2DC1004A */ sltiu $at, $t6, 0x4a -/* 03E384 7F009854 102000B8 */ beqz $at, .L7F009B38 -/* 03E388 7F009858 AFBF0014 */ sw $ra, 0x14($sp) -/* 03E38C 7F00985C 000E7080 */ sll $t6, $t6, 2 -/* 03E390 7F009860 3C018005 */ lui $at, %hi(cheat_available_table) -/* 03E394 7F009864 002E0821 */ addu $at, $at, $t6 -/* 03E398 7F009868 8C2E18A0 */ lw $t6, %lo(cheat_available_table)($at) -/* 03E39C 7F00986C 01C00008 */ jr $t6 -/* 03E3A0 7F009870 00000000 */ nop -default_nonmenucheats: -/* 03E3A4 7F009874 100000B2 */ b .L7F009B40 -/* 03E3A8 7F009878 00001025 */ move $v0, $zero -cheat_invincible: -/* 03E3AC 7F00987C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E3B0 7F009880 0FC07771 */ jal get_save_folder_ptr -/* 03E3B4 7F009884 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E3B8 7F009888 00402025 */ move $a0, $v0 -/* 03E3BC 7F00988C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E3C0 7F009890 24050001 */ li $a1, 1 -/* 03E3C4 7F009894 100000AB */ b .L7F009B44 -/* 03E3C8 7F009898 8FBF0014 */ lw $ra, 0x14($sp) -cheat_allguns: -/* 03E3CC 7F00989C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E3D0 7F0098A0 0FC07771 */ jal get_save_folder_ptr -/* 03E3D4 7F0098A4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E3D8 7F0098A8 00402025 */ move $a0, $v0 -/* 03E3DC 7F0098AC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E3E0 7F0098B0 24050013 */ li $a1, 19 -/* 03E3E4 7F0098B4 100000A3 */ b .L7F009B44 -/* 03E3E8 7F0098B8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_noradar: -/* 03E3EC 7F0098BC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E3F0 7F0098C0 0FC07771 */ jal get_save_folder_ptr -/* 03E3F4 7F0098C4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E3F8 7F0098C8 00402025 */ move $a0, $v0 -/* 03E3FC 7F0098CC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E400 7F0098D0 24050006 */ li $a1, 6 -/* 03E404 7F0098D4 1000009B */ b .L7F009B44 -/* 03E408 7F0098D8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_fast: -/* 03E40C 7F0098DC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E410 7F0098E0 0FC07771 */ jal get_save_folder_ptr -/* 03E414 7F0098E4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E418 7F0098E8 00402025 */ move $a0, $v0 -/* 03E41C 7F0098EC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E420 7F0098F0 24050009 */ li $a1, 9 -/* 03E424 7F0098F4 10000093 */ b .L7F009B44 -/* 03E428 7F0098F8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_invisible: -/* 03E42C 7F0098FC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E430 7F009900 0FC07771 */ jal get_save_folder_ptr -/* 03E434 7F009904 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E438 7F009908 00402025 */ move $a0, $v0 -/* 03E43C 7F00990C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E440 7F009910 2405000A */ li $a1, 10 -/* 03E444 7F009914 1000008B */ b .L7F009B44 -/* 03E448 7F009918 8FBF0014 */ lw $ra, 0x14($sp) -cheat_infinite_ammo: -/* 03E44C 7F00991C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E450 7F009920 0FC07771 */ jal get_save_folder_ptr -/* 03E454 7F009924 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E458 7F009928 00402025 */ move $a0, $v0 -/* 03E45C 7F00992C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E460 7F009930 2405000F */ li $a1, 15 -/* 03E464 7F009934 10000083 */ b .L7F009B44 -/* 03E468 7F009938 8FBF0014 */ lw $ra, 0x14($sp) -cheat_dk_mode: -/* 03E46C 7F00993C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E470 7F009940 0FC07771 */ jal get_save_folder_ptr -/* 03E474 7F009944 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E478 7F009948 00402025 */ move $a0, $v0 -/* 03E47C 7F00994C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E480 7F009950 24050002 */ li $a1, 2 -/* 03E484 7F009954 1000007B */ b .L7F009B44 -/* 03E488 7F009958 8FBF0014 */ lw $ra, 0x14($sp) -cheat_tinybond: -/* 03E48C 7F00995C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E490 7F009960 0FC07771 */ jal get_save_folder_ptr -/* 03E494 7F009964 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E498 7F009968 00402025 */ move $a0, $v0 -/* 03E49C 7F00996C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E4A0 7F009970 24050007 */ li $a1, 7 -/* 03E4A4 7F009974 10000073 */ b .L7F009B44 -/* 03E4A8 7F009978 8FBF0014 */ lw $ra, 0x14($sp) -cheat_slow: -/* 03E4AC 7F00997C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E4B0 7F009980 0FC07771 */ jal get_save_folder_ptr -/* 03E4B4 7F009984 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E4B8 7F009988 00402025 */ move $a0, $v0 -/* 03E4BC 7F00998C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E4C0 7F009990 2405000C */ li $a1, 12 -/* 03E4C4 7F009994 1000006B */ b .L7F009B44 -/* 03E4C8 7F009998 8FBF0014 */ lw $ra, 0x14($sp) -cheat_paintball: -/* 03E4CC 7F00999C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E4D0 7F0099A0 0FC07771 */ jal get_save_folder_ptr -/* 03E4D4 7F0099A4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E4D8 7F0099A8 00402025 */ move $a0, $v0 -/* 03E4DC 7F0099AC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E4E0 7F0099B0 00002825 */ move $a1, $zero -/* 03E4E4 7F0099B4 10000063 */ b .L7F009B44 -/* 03E4E8 7F0099B8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_silverpp7: -/* 03E4EC 7F0099BC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E4F0 7F0099C0 0FC07771 */ jal get_save_folder_ptr -/* 03E4F4 7F0099C4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E4F8 7F0099C8 00402025 */ move $a0, $v0 -/* 03E4FC 7F0099CC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E500 7F0099D0 2405000D */ li $a1, 13 -/* 03E504 7F0099D4 1000005B */ b .L7F009B44 -/* 03E508 7F0099D8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_goldpp7: -/* 03E50C 7F0099DC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E510 7F0099E0 0FC07771 */ jal get_save_folder_ptr -/* 03E514 7F0099E4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E518 7F0099E8 00402025 */ move $a0, $v0 -/* 03E51C 7F0099EC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E520 7F0099F0 24050011 */ li $a1, 17 -/* 03E524 7F0099F4 10000053 */ b .L7F009B44 -/* 03E528 7F0099F8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_enemyrockets: -/* 03E52C 7F0099FC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E530 7F009A00 0FC07771 */ jal get_save_folder_ptr -/* 03E534 7F009A04 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E538 7F009A08 00402025 */ move $a0, $v0 -/* 03E53C 7F009A0C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E540 7F009A10 2405000B */ li $a1, 11 -/* 03E544 7F009A14 1000004B */ b .L7F009B44 -/* 03E548 7F009A18 8FBF0014 */ lw $ra, 0x14($sp) -cheat_2xrocket: -/* 03E54C 7F009A1C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E550 7F009A20 0FC07771 */ jal get_save_folder_ptr -/* 03E554 7F009A24 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E558 7F009A28 00402025 */ move $a0, $v0 -/* 03E55C 7F009A2C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E560 7F009A30 24050004 */ li $a1, 4 -/* 03E564 7F009A34 10000043 */ b .L7F009B44 -/* 03E568 7F009A38 8FBF0014 */ lw $ra, 0x14($sp) -cheat_2xgrenadelauncher: -/* 03E56C 7F009A3C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E570 7F009A40 0FC07771 */ jal get_save_folder_ptr -/* 03E574 7F009A44 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E578 7F009A48 00402025 */ move $a0, $v0 -/* 03E57C 7F009A4C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E580 7F009A50 24050003 */ li $a1, 3 -/* 03E584 7F009A54 1000003B */ b .L7F009B44 -/* 03E588 7F009A58 8FBF0014 */ lw $ra, 0x14($sp) -cheat_2xrcp90: -/* 03E58C 7F009A5C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E590 7F009A60 0FC07771 */ jal get_save_folder_ptr -/* 03E594 7F009A64 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E598 7F009A68 00402025 */ move $a0, $v0 -/* 03E59C 7F009A6C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E5A0 7F009A70 24050010 */ li $a1, 16 -/* 03E5A4 7F009A74 10000033 */ b .L7F009B44 -/* 03E5A8 7F009A78 8FBF0014 */ lw $ra, 0x14($sp) -cheat_2xthrowingknife: -/* 03E5AC 7F009A7C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E5B0 7F009A80 0FC07771 */ jal get_save_folder_ptr -/* 03E5B4 7F009A84 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E5B8 7F009A88 00402025 */ move $a0, $v0 -/* 03E5BC 7F009A8C 0FC07748 */ jal check_if_cheat_unlocked -/* 03E5C0 7F009A90 24050008 */ li $a1, 8 -/* 03E5C4 7F009A94 1000002B */ b .L7F009B44 -/* 03E5C8 7F009A98 8FBF0014 */ lw $ra, 0x14($sp) -cheat_2xhuntingknife: -/* 03E5CC 7F009A9C 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E5D0 7F009AA0 0FC07771 */ jal get_save_folder_ptr -/* 03E5D4 7F009AA4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E5D8 7F009AA8 00402025 */ move $a0, $v0 -/* 03E5DC 7F009AAC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E5E0 7F009AB0 2405000E */ li $a1, 14 -/* 03E5E4 7F009AB4 10000023 */ b .L7F009B44 -/* 03E5E8 7F009AB8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_2xlaser: -/* 03E5EC 7F009ABC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E5F0 7F009AC0 0FC07771 */ jal get_save_folder_ptr -/* 03E5F4 7F009AC4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E5F8 7F009AC8 00402025 */ move $a0, $v0 -/* 03E5FC 7F009ACC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E600 7F009AD0 24050012 */ li $a1, 18 -/* 03E604 7F009AD4 1000001B */ b .L7F009B44 -/* 03E608 7F009AD8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_turbo: -/* 03E60C 7F009ADC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E610 7F009AE0 0FC07771 */ jal get_save_folder_ptr -/* 03E614 7F009AE4 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E618 7F009AE8 00402025 */ move $a0, $v0 -/* 03E61C 7F009AEC 0FC07748 */ jal check_if_cheat_unlocked -/* 03E620 7F009AF0 24050005 */ li $a1, 5 -/* 03E624 7F009AF4 10000013 */ b .L7F009B44 -/* 03E628 7F009AF8 8FBF0014 */ lw $ra, 0x14($sp) -cheat_unlockcradle: -/* 03E62C 7F009AFC 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E630 7F009B00 0FC07A7D */ jal check_cradle_completed_in_folder -/* 03E634 7F009B04 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E638 7F009B08 1000000E */ b .L7F009B44 -/* 03E63C 7F009B0C 8FBF0014 */ lw $ra, 0x14($sp) -cheat_unlockaztec: -/* 03E640 7F009B10 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E644 7F009B14 0FC07A97 */ jal check_aztec_completed_in_folder_secret_00 -/* 03E648 7F009B18 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E64C 7F009B1C 10000009 */ b .L7F009B44 -/* 03E650 7F009B20 8FBF0014 */ lw $ra, 0x14($sp) -cheat_unlockegypt: -/* 03E654 7F009B24 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 03E658 7F009B28 0FC07AAA */ jal check_egypt_completed_in_folder_00 -/* 03E65C 7F009B2C 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 03E660 7F009B30 10000004 */ b .L7F009B44 -/* 03E664 7F009B34 8FBF0014 */ lw $ra, 0x14($sp) -def_7F00986C: -.L7F009B38: -/* 03E668 7F009B38 1000FFFF */ b .L7F009B38 -/* 03E66C 7F009B3C 00000000 */ nop -.L7F009B40: -/* 03E670 7F009B40 8FBF0014 */ lw $ra, 0x14($sp) -.L7F009B44: -/* 03E674 7F009B44 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03E678 7F009B48 03E00008 */ jr $ra -/* 03E67C 7F009B4C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -int getplayerfavoredweapon(int param_1,int param_2) -{ - return get_ptr_long_watch_text_for_item((&(&fav_weapon_player1)[param_1].right)[param_2]); -} -#else -GLOBAL_ASM( -.text -glabel getplayerfavoredweapon -/* 03E680 7F009B50 000470C0 */ sll $t6, $a0, 3 -/* 03E684 7F009B54 00057880 */ sll $t7, $a1, 2 -/* 03E688 7F009B58 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03E68C 7F009B5C 01CFC021 */ addu $t8, $t6, $t7 -/* 03E690 7F009B60 3C048007 */ lui $a0, %hi(fav_weapon_right_player1) -/* 03E694 7F009B64 AFBF0014 */ sw $ra, 0x14($sp) -/* 03E698 7F009B68 00982021 */ addu $a0, $a0, $t8 -/* 03E69C 7F009B6C 0FC19C37 */ jal get_ptr_long_watch_text_for_item -/* 03E6A0 7F009B70 8C8496F0 */ lw $a0, %lo(fav_weapon_right_player1)($a0) -/* 03E6A4 7F009B74 8FBF0014 */ lw $ra, 0x14($sp) -/* 03E6A8 7F009B78 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03E6AC 7F009B7C 03E00008 */ jr $ra -/* 03E6B0 7F009B80 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void menu_control_stick_tracking(void) { - f32 sp18; - s8 sp1E; - s8 sp1F; - s32 temp_t2; - - // Node 0 - sp1F = get_cur_controller_horz_stick_pos(0); - temp_t2 = ((s32) (-get_cur_controller_vert_stick_pos(0) << 0x18) >> 0x18); - if (sp1F < -5) - { - // Node 1 - } - else - { - // Node 2 - if (sp1F >= 6) - { - // Node 3 - } - else - { - // Node 4 - } - } - // Node 5 - if (0 >= 0x47) - { - // Node 6 - } - else - { - // Node 7 - if (0 < -0x46) - { - // Node 8 - } - } - // Node 9 - if (temp_t2 < -5) - { - // Node 10 - } - else - { - // Node 11 - if (temp_t2 >= 6) - { - // Node 12 - } - } - // Node 13 - if ((u8)0 >= 0x47) - { - // Node 14 - } - else - { - // Node 15 - if ((u8)0 < -0x46) - { - // Node 16 - } - } - // Node 17 - if (0 > 0) - { - // Node 18 - cursor_h_pos = (f32) (cursor_h_pos + ((((f32) 0 * folder_menu_x_dim) + 0.5f) * global_timer_delta)); - } - else - { - // Node 19 - if (0 < 0) - { - // Node 20 - cursor_h_pos = (f32) (cursor_h_pos + ((((f32) 0 * folder_menu_z_dim) - 0.5f) * global_timer_delta)); - } - } - // Node 21 - sp1E = (u8)0; - sp18 = getPlayer_c_screenleft(0); - if (((getPlayer_c_screenwidth() + sp18) - 20.0f) < cursor_h_pos) - { - // Node 22 - sp1E = sp1E; - sp18 = getPlayer_c_screenleft(); - cursor_h_pos = (f32) ((getPlayer_c_screenwidth() + sp18) - 20.0f); - } - else - { - // Node 23 - sp1E = sp1E; - if (cursor_h_pos < (getPlayer_c_screenleft() + 20.0f)) - { - // Node 24 - sp1E = sp1E; - cursor_h_pos = (f32) (getPlayer_c_screenleft() + 20.0f); - } - } - // Node 25 - if (sp1E > 0) - { - // Node 26 - cursor_v_pos = (f32) (cursor_v_pos + ((((f32) sp1E * D_800519D0) + 0.5f) * global_timer_delta)); - } - else - { - // Node 27 - if (sp1E < 0) - { - // Node 28 - cursor_v_pos = (f32) (cursor_v_pos + ((((f32) sp1E * D_800519D4) - 0.5f) * global_timer_delta)); - } - } - // Node 29 - sp18 = getPlayer_c_screentop(); - if (((getPlayer_c_screenheight() + sp18) - 20.0f) < cursor_v_pos) - { - // Node 30 - sp18 = getPlayer_c_screentop(); - cursor_v_pos = (f32) ((getPlayer_c_screenheight() + sp18) - 20.0f); - return; - // (possible return value: getPlayer_c_screenheight()) - } - // Node 31 - if (cursor_v_pos < (getPlayer_c_screentop() + 20.0f)) - { - // Node 32 - cursor_v_pos = (f32) (getPlayer_c_screentop() + 20.0f); - return; - // (possible return value: getPlayer_c_screentop()) - } - // (possible return value: getPlayer_c_screentop()) -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*HACK FIXME*/ -/*from above to add bytes till fixed*/ -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -/*end from above to add bytes till fixed*/ - -glabel folder_menu_x_dim -.word 0x3D99999A /* 0.075000003;*/ -glabel folder_menu_z_dim -.word 0x3D99999A /* 0.075000003;*/ -glabel D_800519D0 -.word 0x3D99999A /* 0.075000003;*/ -glabel D_800519D4 -.word 0x3D99999A /* 0.075000003;*/ -glabel tab1_max_x_coord -.word 0x43028000 /* 130.5;*/ -glabel tab2_first_x_coord -.word 0x43C78000 /* 399.0;*/ -glabel tab2_bottom_y_coord -.word 0x43028000 /* 130.5;*/ -glabel D_800519E4 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_800519E8 -.word 0x461C4000 /* 10000.0;*/ -glabel D_800519EC -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_800519F0 -.word 0x461C4000 /* 10000.0;*/ -glabel D_800519F4 -.word 0xBFB2B8C3 /* -1.3962635;*/ -glabel D_800519F8 -.word 0x3C962FC9 /* 0.018333333;*/ -glabel menu01_aspect -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel menu01_pageheight -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A04 -.word 0x3C8EFA35 /* 0.017453292;*/ -glabel D_80051A08 -.word 0x3F8CCCCD /* 1.1;*/ -glabel D_80051A0C -.word 0x3F8A35E7 /* 1.07977;*/ -glabel D_80051A10 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A14 -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A18 -.word 0x3F99999A /* 1.2;*/ -glabel D_80051A1C -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A20 -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A24 -.word 0x3EBD70A4 /* 0.37;*/ -glabel D_80051A28 -.word 0x438E8000 /* 285.0;*/ -glabel D_80051A2C -.word 0x43A78000 /* 335.0;*/ -glabel D_80051A30 -.word 0x438E8000 /* 285.0;*/ -glabel D_80051A34 -.word 0x438E8000 /* 285.0;*/ -glabel D_80051A38 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A3C -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A40 -.word 0x43898000 /* 275.0;*/ -glabel D_80051A44 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A48 -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A4C -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A50 -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A54 -.word 0x43898000 /* 275.0;*/ -glabel D_80051A58 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A5C -.word 0x461C4000 /* 10000.0;*/ -.text -glabel menu_control_stick_tracking -/* 03E6B4 7F009B84 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 03E6B8 7F009B88 AFBF0014 */ sw $ra, 0x14($sp) -/* 03E6BC 7F009B8C 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 03E6C0 7F009B90 00002025 */ move $a0, $zero -/* 03E6C4 7F009B94 00002025 */ move $a0, $zero -/* 03E6C8 7F009B98 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 03E6CC 7F009B9C A3A2001F */ sb $v0, 0x1f($sp) -/* 03E6D0 7F009BA0 83A5001F */ lb $a1, 0x1f($sp) -/* 03E6D4 7F009BA4 00021823 */ negu $v1, $v0 -/* 03E6D8 7F009BA8 00034E00 */ sll $t1, $v1, 0x18 -/* 03E6DC 7F009BAC 28A1FFFB */ slti $at, $a1, -5 -/* 03E6E0 7F009BB0 10200005 */ beqz $at, .L7F009BC8 -/* 03E6E4 7F009BB4 00095603 */ sra $t2, $t1, 0x18 -/* 03E6E8 7F009BB8 24A50005 */ addiu $a1, $a1, 5 -/* 03E6EC 7F009BBC 00057E00 */ sll $t7, $a1, 0x18 -/* 03E6F0 7F009BC0 10000008 */ b .L7F009BE4 -/* 03E6F4 7F009BC4 000F2E03 */ sra $a1, $t7, 0x18 -.L7F009BC8: -/* 03E6F8 7F009BC8 28A10006 */ slti $at, $a1, 6 -/* 03E6FC 7F009BCC 14200004 */ bnez $at, .L7F009BE0 -/* 03E700 7F009BD0 24A5FFFB */ addiu $a1, $a1, -5 -/* 03E704 7F009BD4 0005CE00 */ sll $t9, $a1, 0x18 -/* 03E708 7F009BD8 10000002 */ b .L7F009BE4 -/* 03E70C 7F009BDC 00192E03 */ sra $a1, $t9, 0x18 -.L7F009BE0: -/* 03E710 7F009BE0 00002825 */ move $a1, $zero -.L7F009BE4: -/* 03E714 7F009BE4 28A10047 */ slti $at, $a1, 0x47 -/* 03E718 7F009BE8 54200004 */ bnezl $at, .L7F009BFC -/* 03E71C 7F009BEC 28A1FFBA */ slti $at, $a1, -0x46 -/* 03E720 7F009BF0 10000005 */ b .L7F009C08 -/* 03E724 7F009BF4 24050046 */ li $a1, 70 -/* 03E728 7F009BF8 28A1FFBA */ slti $at, $a1, -0x46 -.L7F009BFC: -/* 03E72C 7F009BFC 50200003 */ beql $at, $zero, .L7F009C0C -/* 03E730 7F009C00 2941FFFB */ slti $at, $t2, -5 -/* 03E734 7F009C04 2405FFBA */ li $a1, -70 -.L7F009C08: -/* 03E738 7F009C08 2941FFFB */ slti $at, $t2, -5 -.L7F009C0C: -/* 03E73C 7F009C0C 10200005 */ beqz $at, .L7F009C24 -/* 03E740 7F009C10 01401825 */ move $v1, $t2 -/* 03E744 7F009C14 25420005 */ addiu $v0, $t2, 5 -/* 03E748 7F009C18 00025E00 */ sll $t3, $v0, 0x18 -/* 03E74C 7F009C1C 10000008 */ b .L7F009C40 -/* 03E750 7F009C20 000B1603 */ sra $v0, $t3, 0x18 -.L7F009C24: -/* 03E754 7F009C24 28610006 */ slti $at, $v1, 6 -/* 03E758 7F009C28 14200005 */ bnez $at, .L7F009C40 -/* 03E75C 7F009C2C 00001025 */ move $v0, $zero -/* 03E760 7F009C30 2462FFFB */ addiu $v0, $v1, -5 -/* 03E764 7F009C34 00026E00 */ sll $t5, $v0, 0x18 -/* 03E768 7F009C38 10000001 */ b .L7F009C40 -/* 03E76C 7F009C3C 000D1603 */ sra $v0, $t5, 0x18 -.L7F009C40: -/* 03E770 7F009C40 28410047 */ slti $at, $v0, 0x47 -/* 03E774 7F009C44 54200004 */ bnezl $at, .L7F009C58 -/* 03E778 7F009C48 2841FFBA */ slti $at, $v0, -0x46 -/* 03E77C 7F009C4C 10000005 */ b .L7F009C64 -/* 03E780 7F009C50 24020046 */ li $v0, 70 -/* 03E784 7F009C54 2841FFBA */ slti $at, $v0, -0x46 -.L7F009C58: -/* 03E788 7F009C58 10200002 */ beqz $at, .L7F009C64 -/* 03E78C 7F009C5C 00000000 */ nop -/* 03E790 7F009C60 2402FFBA */ li $v0, -70 -.L7F009C64: -/* 03E794 7F009C64 18A00011 */ blez $a1, .L7F009CAC -/* 03E798 7F009C68 00000000 */ nop -/* 03E79C 7F009C6C 44852000 */ mtc1 $a1, $f4 -/* 03E7A0 7F009C70 3C018005 */ lui $at, %hi(folder_menu_x_dim) -/* 03E7A4 7F009C74 C42819C8 */ lwc1 $f8, %lo(folder_menu_x_dim)($at) -/* 03E7A8 7F009C78 468021A0 */ cvt.s.w $f6, $f4 -/* 03E7AC 7F009C7C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03E7B0 7F009C80 44818000 */ mtc1 $at, $f16 -/* 03E7B4 7F009C84 3C018005 */ lui $at, %hi(global_timer_delta) -/* 03E7B8 7F009C88 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 03E7BC 7F009C8C 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 03E7C0 7F009C90 46083282 */ mul.s $f10, $f6, $f8 -/* 03E7C4 7F009C94 C428A908 */ lwc1 $f8, %lo(cursor_h_pos)($at) -/* 03E7C8 7F009C98 46105480 */ add.s $f18, $f10, $f16 -/* 03E7CC 7F009C9C 46049182 */ mul.s $f6, $f18, $f4 -/* 03E7D0 7F009CA0 46064280 */ add.s $f10, $f8, $f6 -/* 03E7D4 7F009CA4 10000012 */ b .L7F009CF0 -/* 03E7D8 7F009CA8 E42AA908 */ swc1 $f10, %lo(cursor_h_pos)($at) -.L7F009CAC: -/* 03E7DC 7F009CAC 04A10010 */ bgez $a1, .L7F009CF0 -/* 03E7E0 7F009CB0 00000000 */ nop -/* 03E7E4 7F009CB4 44858000 */ mtc1 $a1, $f16 -/* 03E7E8 7F009CB8 3C018005 */ lui $at, %hi(folder_menu_z_dim) -/* 03E7EC 7F009CBC C42419CC */ lwc1 $f4, %lo(folder_menu_z_dim)($at) -/* 03E7F0 7F009CC0 468084A0 */ cvt.s.w $f18, $f16 -/* 03E7F4 7F009CC4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03E7F8 7F009CC8 44813000 */ mtc1 $at, $f6 -/* 03E7FC 7F009CCC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 03E800 7F009CD0 C4308378 */ lwc1 $f16, %lo(global_timer_delta)($at) -/* 03E804 7F009CD4 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 03E808 7F009CD8 46049202 */ mul.s $f8, $f18, $f4 -/* 03E80C 7F009CDC C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at) -/* 03E810 7F009CE0 46064281 */ sub.s $f10, $f8, $f6 -/* 03E814 7F009CE4 46105482 */ mul.s $f18, $f10, $f16 -/* 03E818 7F009CE8 46122200 */ add.s $f8, $f4, $f18 -/* 03E81C 7F009CEC E428A908 */ swc1 $f8, %lo(cursor_h_pos)($at) -.L7F009CF0: -/* 03E820 7F009CF0 0FC1E131 */ jal getPlayer_c_screenleft -/* 03E824 7F009CF4 A3A2001E */ sb $v0, 0x1e($sp) -/* 03E828 7F009CF8 0FC1E129 */ jal getPlayer_c_screenwidth -/* 03E82C 7F009CFC E7A00018 */ swc1 $f0, 0x18($sp) -/* 03E830 7F009D00 C7A60018 */ lwc1 $f6, 0x18($sp) -/* 03E834 7F009D04 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E838 7F009D08 44818000 */ mtc1 $at, $f16 -/* 03E83C 7F009D0C 46060280 */ add.s $f10, $f0, $f6 -/* 03E840 7F009D10 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 03E844 7F009D14 C432A908 */ lwc1 $f18, %lo(cursor_h_pos)($at) -/* 03E848 7F009D18 83A2001E */ lb $v0, 0x1e($sp) -/* 03E84C 7F009D1C 46105101 */ sub.s $f4, $f10, $f16 -/* 03E850 7F009D20 4612203C */ c.lt.s $f4, $f18 -/* 03E854 7F009D24 00000000 */ nop -/* 03E858 7F009D28 4500000E */ bc1f .L7F009D64 -/* 03E85C 7F009D2C 00000000 */ nop -/* 03E860 7F009D30 0FC1E131 */ jal getPlayer_c_screenleft -/* 03E864 7F009D34 A3A2001E */ sb $v0, 0x1e($sp) -/* 03E868 7F009D38 0FC1E129 */ jal getPlayer_c_screenwidth -/* 03E86C 7F009D3C E7A00018 */ swc1 $f0, 0x18($sp) -/* 03E870 7F009D40 C7A80018 */ lwc1 $f8, 0x18($sp) -/* 03E874 7F009D44 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E878 7F009D48 44815000 */ mtc1 $at, $f10 -/* 03E87C 7F009D4C 46080180 */ add.s $f6, $f0, $f8 -/* 03E880 7F009D50 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 03E884 7F009D54 83A2001E */ lb $v0, 0x1e($sp) -/* 03E888 7F009D58 460A3401 */ sub.s $f16, $f6, $f10 -/* 03E88C 7F009D5C 10000015 */ b .L7F009DB4 -/* 03E890 7F009D60 E430A908 */ swc1 $f16, %lo(cursor_h_pos)($at) -.L7F009D64: -/* 03E894 7F009D64 0FC1E131 */ jal getPlayer_c_screenleft -/* 03E898 7F009D68 A3A2001E */ sb $v0, 0x1e($sp) -/* 03E89C 7F009D6C 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 03E8A0 7F009D70 C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at) -/* 03E8A4 7F009D74 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E8A8 7F009D78 44819000 */ mtc1 $at, $f18 -/* 03E8AC 7F009D7C 83A2001E */ lb $v0, 0x1e($sp) -/* 03E8B0 7F009D80 46120200 */ add.s $f8, $f0, $f18 -/* 03E8B4 7F009D84 4608203C */ c.lt.s $f4, $f8 -/* 03E8B8 7F009D88 00000000 */ nop -/* 03E8BC 7F009D8C 45000009 */ bc1f .L7F009DB4 -/* 03E8C0 7F009D90 00000000 */ nop -/* 03E8C4 7F009D94 0FC1E131 */ jal getPlayer_c_screenleft -/* 03E8C8 7F009D98 A3A2001E */ sb $v0, 0x1e($sp) -/* 03E8CC 7F009D9C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E8D0 7F009DA0 44813000 */ mtc1 $at, $f6 -/* 03E8D4 7F009DA4 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 03E8D8 7F009DA8 83A2001E */ lb $v0, 0x1e($sp) -/* 03E8DC 7F009DAC 46060280 */ add.s $f10, $f0, $f6 -/* 03E8E0 7F009DB0 E42AA908 */ swc1 $f10, %lo(cursor_h_pos)($at) -.L7F009DB4: -/* 03E8E4 7F009DB4 18400011 */ blez $v0, .L7F009DFC -/* 03E8E8 7F009DB8 00000000 */ nop -/* 03E8EC 7F009DBC 44828000 */ mtc1 $v0, $f16 -/* 03E8F0 7F009DC0 3C018005 */ lui $at, %hi(D_800519D0) -/* 03E8F4 7F009DC4 C42419D0 */ lwc1 $f4, %lo(D_800519D0)($at) -/* 03E8F8 7F009DC8 468084A0 */ cvt.s.w $f18, $f16 -/* 03E8FC 7F009DCC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03E900 7F009DD0 44813000 */ mtc1 $at, $f6 -/* 03E904 7F009DD4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 03E908 7F009DD8 C4308378 */ lwc1 $f16, %lo(global_timer_delta)($at) -/* 03E90C 7F009DDC 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 03E910 7F009DE0 46049202 */ mul.s $f8, $f18, $f4 -/* 03E914 7F009DE4 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at) -/* 03E918 7F009DE8 46064280 */ add.s $f10, $f8, $f6 -/* 03E91C 7F009DEC 46105482 */ mul.s $f18, $f10, $f16 -/* 03E920 7F009DF0 46122200 */ add.s $f8, $f4, $f18 -/* 03E924 7F009DF4 10000012 */ b .L7F009E40 -/* 03E928 7F009DF8 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at) -.L7F009DFC: -/* 03E92C 7F009DFC 04410010 */ bgez $v0, .L7F009E40 -/* 03E930 7F009E00 00000000 */ nop -/* 03E934 7F009E04 44823000 */ mtc1 $v0, $f6 -/* 03E938 7F009E08 3C018005 */ lui $at, %hi(D_800519D4) -/* 03E93C 7F009E0C C43019D4 */ lwc1 $f16, %lo(D_800519D4)($at) -/* 03E940 7F009E10 468032A0 */ cvt.s.w $f10, $f6 -/* 03E944 7F009E14 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03E948 7F009E18 44819000 */ mtc1 $at, $f18 -/* 03E94C 7F009E1C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 03E950 7F009E20 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 03E954 7F009E24 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 03E958 7F009E28 46105102 */ mul.s $f4, $f10, $f16 -/* 03E95C 7F009E2C C430A90C */ lwc1 $f16, %lo(cursor_v_pos)($at) -/* 03E960 7F009E30 46122201 */ sub.s $f8, $f4, $f18 -/* 03E964 7F009E34 46064282 */ mul.s $f10, $f8, $f6 -/* 03E968 7F009E38 460A8100 */ add.s $f4, $f16, $f10 -/* 03E96C 7F009E3C E424A90C */ swc1 $f4, %lo(cursor_v_pos)($at) -.L7F009E40: -/* 03E970 7F009E40 0FC1E135 */ jal getPlayer_c_screentop -/* 03E974 7F009E44 00000000 */ nop -/* 03E978 7F009E48 0FC1E12D */ jal getPlayer_c_screenheight -/* 03E97C 7F009E4C E7A00018 */ swc1 $f0, 0x18($sp) -/* 03E980 7F009E50 C7B20018 */ lwc1 $f18, 0x18($sp) -/* 03E984 7F009E54 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E988 7F009E58 44813000 */ mtc1 $at, $f6 -/* 03E98C 7F009E5C 46120200 */ add.s $f8, $f0, $f18 -/* 03E990 7F009E60 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 03E994 7F009E64 C42AA90C */ lwc1 $f10, %lo(cursor_v_pos)($at) -/* 03E998 7F009E68 46064401 */ sub.s $f16, $f8, $f6 -/* 03E99C 7F009E6C 460A803C */ c.lt.s $f16, $f10 -/* 03E9A0 7F009E70 00000000 */ nop -/* 03E9A4 7F009E74 4500000D */ bc1f .L7F009EAC -/* 03E9A8 7F009E78 00000000 */ nop -/* 03E9AC 7F009E7C 0FC1E135 */ jal getPlayer_c_screentop -/* 03E9B0 7F009E80 00000000 */ nop -/* 03E9B4 7F009E84 0FC1E12D */ jal getPlayer_c_screenheight -/* 03E9B8 7F009E88 E7A00018 */ swc1 $f0, 0x18($sp) -/* 03E9BC 7F009E8C C7A40018 */ lwc1 $f4, 0x18($sp) -/* 03E9C0 7F009E90 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E9C4 7F009E94 44814000 */ mtc1 $at, $f8 -/* 03E9C8 7F009E98 46040480 */ add.s $f18, $f0, $f4 -/* 03E9CC 7F009E9C 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 03E9D0 7F009EA0 46089181 */ sub.s $f6, $f18, $f8 -/* 03E9D4 7F009EA4 10000014 */ b .L7F009EF8 -/* 03E9D8 7F009EA8 E426A90C */ swc1 $f6, %lo(cursor_v_pos)($at) -.L7F009EAC: -/* 03E9DC 7F009EAC 0FC1E135 */ jal getPlayer_c_screentop -/* 03E9E0 7F009EB0 00000000 */ nop -/* 03E9E4 7F009EB4 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 03E9E8 7F009EB8 C430A90C */ lwc1 $f16, %lo(cursor_v_pos)($at) -/* 03E9EC 7F009EBC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E9F0 7F009EC0 44815000 */ mtc1 $at, $f10 -/* 03E9F4 7F009EC4 00000000 */ nop -/* 03E9F8 7F009EC8 460A0100 */ add.s $f4, $f0, $f10 -/* 03E9FC 7F009ECC 4604803C */ c.lt.s $f16, $f4 -/* 03EA00 7F009ED0 00000000 */ nop -/* 03EA04 7F009ED4 45020009 */ bc1fl .L7F009EFC -/* 03EA08 7F009ED8 8FBF0014 */ lw $ra, 0x14($sp) -/* 03EA0C 7F009EDC 0FC1E135 */ jal getPlayer_c_screentop -/* 03EA10 7F009EE0 00000000 */ nop -/* 03EA14 7F009EE4 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03EA18 7F009EE8 44819000 */ mtc1 $at, $f18 -/* 03EA1C 7F009EEC 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 03EA20 7F009EF0 46120200 */ add.s $f8, $f0, $f18 -/* 03EA24 7F009EF4 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at) -.L7F009EF8: -/* 03EA28 7F009EF8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F009EFC: -/* 03EA2C 7F009EFC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 03EA30 7F009F00 03E00008 */ jr $ra -/* 03EA34 7F009F04 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -/*HACK FIXME*/ -/*from above to add bytes till fixed*/ -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -.word default_nonmenucheats -/*end from above to add bytes till fixed*/ - -glabel folder_menu_x_dim -.word 0x3D99999A /* 0.075000003;*/ -glabel folder_menu_z_dim -.word 0x3D99999A /* 0.075000003;*/ -glabel D_800519D0 -.word 0x3D99999A /* 0.075000003;*/ -glabel D_800519D4 -.word 0x3D99999A /* 0.075000003;*/ -glabel tab1_max_x_coord -.word 0x43028000 /* 130.5;*/ -glabel tab2_first_x_coord -.word 0x43C78000 /* 399.0;*/ -glabel tab2_bottom_y_coord -.word 0x43028000 /* 130.5;*/ -glabel D_800519E4 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_800519E8 -.word 0x461C4000 /* 10000.0;*/ -glabel D_800519EC -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_800519F0 -.word 0x461C4000 /* 10000.0;*/ -glabel D_800519F4 -.word 0xBFB2B8C3 /* -1.3962635;*/ -glabel D_800519F8 -.word 0x3C962FC9 /* 0.018333333;*/ -glabel menu01_aspect -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel menu01_pageheight -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A04 -.word 0x3C8EFA35 /* 0.017453292;*/ -glabel D_80051A08 -.word 0x3F8CCCCD /* 1.1;*/ -glabel D_80051A0C -.word 0x3F8A35E7 /* 1.07977;*/ -glabel D_80051A10 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A14 -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A18 -.word 0x3F99999A /* 1.2;*/ -glabel D_80051A1C -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A20 -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A24 -.word 0x3EBD70A4 /* 0.37;*/ -glabel D_80051A28 -.word 0x438E8000 /* 285.0;*/ -glabel D_80051A2C -.word 0x43A78000 /* 335.0;*/ -glabel D_80051A30 -.word 0x438E8000 /* 285.0;*/ -glabel D_80051A34 -.word 0x438E8000 /* 285.0;*/ -glabel D_80051A38 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A3C -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A40 -.word 0x43898000 /* 275.0;*/ -glabel D_80051A44 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A48 -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A4C -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A50 -.word 0x461C4000 /* 10000.0;*/ -glabel D_80051A54 -.word 0x43898000 /* 275.0;*/ -glabel D_80051A58 -.word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A5C -.word 0x461C4000 /* 10000.0;*/ -.text -glabel menu_control_stick_tracking -/* 03E714 7F009BA4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 03E718 7F009BA8 AFBF0014 */ sw $ra, 0x14($sp) -/* 03E71C 7F009BAC 0C003054 */ jal get_cur_controller_horz_stick_pos -/* 03E720 7F009BB0 00002025 */ move $a0, $zero -/* 03E724 7F009BB4 00002025 */ move $a0, $zero -/* 03E728 7F009BB8 0C003098 */ jal get_cur_controller_vert_stick_pos -/* 03E72C 7F009BBC A3A2001F */ sb $v0, 0x1f($sp) -/* 03E730 7F009BC0 83A5001F */ lb $a1, 0x1f($sp) -/* 03E734 7F009BC4 00021823 */ negu $v1, $v0 -/* 03E738 7F009BC8 00034E00 */ sll $t1, $v1, 0x18 -/* 03E73C 7F009BCC 28A1FFFB */ slti $at, $a1, -5 -/* 03E740 7F009BD0 10200005 */ beqz $at, .L7F009BE8 -/* 03E744 7F009BD4 00095603 */ sra $t2, $t1, 0x18 -/* 03E748 7F009BD8 24A50005 */ addiu $a1, $a1, 5 -/* 03E74C 7F009BDC 00057E00 */ sll $t7, $a1, 0x18 -/* 03E750 7F009BE0 10000008 */ b .L7F009C04 -/* 03E754 7F009BE4 000F2E03 */ sra $a1, $t7, 0x18 -.L7F009BE8: -/* 03E758 7F009BE8 28A10006 */ slti $at, $a1, 6 -/* 03E75C 7F009BEC 14200004 */ bnez $at, .L7F009C00 -/* 03E760 7F009BF0 24A5FFFB */ addiu $a1, $a1, -5 -/* 03E764 7F009BF4 0005CE00 */ sll $t9, $a1, 0x18 -/* 03E768 7F009BF8 10000002 */ b .L7F009C04 -/* 03E76C 7F009BFC 00192E03 */ sra $a1, $t9, 0x18 -.L7F009C00: -/* 03E770 7F009C00 00002825 */ move $a1, $zero -.L7F009C04: -/* 03E774 7F009C04 28A10047 */ slti $at, $a1, 0x47 -/* 03E778 7F009C08 54200004 */ bnezl $at, .L7F009C1C -/* 03E77C 7F009C0C 28A1FFBA */ slti $at, $a1, -0x46 -/* 03E780 7F009C10 10000005 */ b .L7F009C28 -/* 03E784 7F009C14 24050046 */ li $a1, 70 -/* 03E788 7F009C18 28A1FFBA */ slti $at, $a1, -0x46 -.L7F009C1C: -/* 03E78C 7F009C1C 50200003 */ beql $at, $zero, .L7F009C2C -/* 03E790 7F009C20 2941FFFB */ slti $at, $t2, -5 -/* 03E794 7F009C24 2405FFBA */ li $a1, -70 -.L7F009C28: -/* 03E798 7F009C28 2941FFFB */ slti $at, $t2, -5 -.L7F009C2C: -/* 03E79C 7F009C2C 10200005 */ beqz $at, .L7F009C44 -/* 03E7A0 7F009C30 01401825 */ move $v1, $t2 -/* 03E7A4 7F009C34 25420005 */ addiu $v0, $t2, 5 -/* 03E7A8 7F009C38 00025E00 */ sll $t3, $v0, 0x18 -/* 03E7AC 7F009C3C 10000008 */ b .L7F009C60 -/* 03E7B0 7F009C40 000B1603 */ sra $v0, $t3, 0x18 -.L7F009C44: -/* 03E7B4 7F009C44 28610006 */ slti $at, $v1, 6 -/* 03E7B8 7F009C48 14200005 */ bnez $at, .L7F009C60 -/* 03E7BC 7F009C4C 00001025 */ move $v0, $zero -/* 03E7C0 7F009C50 2462FFFB */ addiu $v0, $v1, -5 -/* 03E7C4 7F009C54 00026E00 */ sll $t5, $v0, 0x18 -/* 03E7C8 7F009C58 10000001 */ b .L7F009C60 -/* 03E7CC 7F009C5C 000D1603 */ sra $v0, $t5, 0x18 -.L7F009C60: -/* 03E7D0 7F009C60 28410047 */ slti $at, $v0, 0x47 -/* 03E7D4 7F009C64 54200004 */ bnezl $at, .L7F009C78 -/* 03E7D8 7F009C68 2841FFBA */ slti $at, $v0, -0x46 -/* 03E7DC 7F009C6C 10000005 */ b .L7F009C84 -/* 03E7E0 7F009C70 24020046 */ li $v0, 70 -/* 03E7E4 7F009C74 2841FFBA */ slti $at, $v0, -0x46 -.L7F009C78: -/* 03E7E8 7F009C78 10200002 */ beqz $at, .L7F009C84 -/* 03E7EC 7F009C7C 00000000 */ nop -/* 03E7F0 7F009C80 2402FFBA */ li $v0, -70 -.L7F009C84: -/* 03E7F4 7F009C84 18A00011 */ blez $a1, .L7F009CCC -/* 03E7F8 7F009C88 00000000 */ nop -/* 03E7FC 7F009C8C 44852000 */ mtc1 $a1, $f4 -/* 03E800 7F009C90 3C018005 */ lui $at, %hi(folder_menu_x_dim) # $at, 0x8005 -/* 03E804 7F009C94 C42819F8 */ lwc1 $f8, %lo(folder_menu_x_dim)($at) -/* 03E808 7F009C98 468021A0 */ cvt.s.w $f6, $f4 -/* 03E80C 7F009C9C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03E810 7F009CA0 44818000 */ mtc1 $at, $f16 -/* 03E814 7F009CA4 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 03E818 7F009CA8 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 03E81C 7F009CAC 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003 -/* 03E820 7F009CB0 46083282 */ mul.s $f10, $f6, $f8 -/* 03E824 7F009CB4 C428A948 */ lwc1 $f8, %lo(cursor_h_pos)($at) -/* 03E828 7F009CB8 46105480 */ add.s $f18, $f10, $f16 -/* 03E82C 7F009CBC 46049182 */ mul.s $f6, $f18, $f4 -/* 03E830 7F009CC0 46064280 */ add.s $f10, $f8, $f6 -/* 03E834 7F009CC4 10000012 */ b .L7F009D10 -/* 03E838 7F009CC8 E42AA948 */ swc1 $f10, %lo(cursor_h_pos)($at) -.L7F009CCC: -/* 03E83C 7F009CCC 04A10010 */ bgez $a1, .L7F009D10 -/* 03E840 7F009CD0 00000000 */ nop -/* 03E844 7F009CD4 44858000 */ mtc1 $a1, $f16 -/* 03E848 7F009CD8 3C018005 */ lui $at, %hi(folder_menu_z_dim) # $at, 0x8005 -/* 03E84C 7F009CDC C42419FC */ lwc1 $f4, %lo(folder_menu_z_dim)($at) -/* 03E850 7F009CE0 468084A0 */ cvt.s.w $f18, $f16 -/* 03E854 7F009CE4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03E858 7F009CE8 44813000 */ mtc1 $at, $f6 -/* 03E85C 7F009CEC 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 03E860 7F009CF0 C43083B4 */ lwc1 $f16, %lo(global_timer_delta)($at) -/* 03E864 7F009CF4 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003 -/* 03E868 7F009CF8 46049202 */ mul.s $f8, $f18, $f4 -/* 03E86C 7F009CFC C424A948 */ lwc1 $f4, %lo(cursor_h_pos)($at) -/* 03E870 7F009D00 46064281 */ sub.s $f10, $f8, $f6 -/* 03E874 7F009D04 46105482 */ mul.s $f18, $f10, $f16 -/* 03E878 7F009D08 46122200 */ add.s $f8, $f4, $f18 -/* 03E87C 7F009D0C E428A948 */ swc1 $f8, %lo(cursor_h_pos)($at) -.L7F009D10: -/* 03E880 7F009D10 0FC1E2AD */ jal getPlayer_c_screenleft -/* 03E884 7F009D14 A3A2001E */ sb $v0, 0x1e($sp) -/* 03E888 7F009D18 0FC1E2A5 */ jal getPlayer_c_screenwidth -/* 03E88C 7F009D1C E7A00018 */ swc1 $f0, 0x18($sp) -/* 03E890 7F009D20 C7A60018 */ lwc1 $f6, 0x18($sp) -/* 03E894 7F009D24 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E898 7F009D28 44818000 */ mtc1 $at, $f16 -/* 03E89C 7F009D2C 46060280 */ add.s $f10, $f0, $f6 -/* 03E8A0 7F009D30 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003 -/* 03E8A4 7F009D34 C432A948 */ lwc1 $f18, %lo(cursor_h_pos)($at) -/* 03E8A8 7F009D38 83A2001E */ lb $v0, 0x1e($sp) -/* 03E8AC 7F009D3C 46105101 */ sub.s $f4, $f10, $f16 -/* 03E8B0 7F009D40 4612203C */ c.lt.s $f4, $f18 -/* 03E8B4 7F009D44 00000000 */ nop -/* 03E8B8 7F009D48 4500000E */ bc1f .L7F009D84 -/* 03E8BC 7F009D4C 00000000 */ nop -/* 03E8C0 7F009D50 0FC1E2AD */ jal getPlayer_c_screenleft -/* 03E8C4 7F009D54 A3A2001E */ sb $v0, 0x1e($sp) -/* 03E8C8 7F009D58 0FC1E2A5 */ jal getPlayer_c_screenwidth -/* 03E8CC 7F009D5C E7A00018 */ swc1 $f0, 0x18($sp) -/* 03E8D0 7F009D60 C7A80018 */ lwc1 $f8, 0x18($sp) -/* 03E8D4 7F009D64 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E8D8 7F009D68 44815000 */ mtc1 $at, $f10 -/* 03E8DC 7F009D6C 46080180 */ add.s $f6, $f0, $f8 -/* 03E8E0 7F009D70 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003 -/* 03E8E4 7F009D74 83A2001E */ lb $v0, 0x1e($sp) -/* 03E8E8 7F009D78 460A3401 */ sub.s $f16, $f6, $f10 -/* 03E8EC 7F009D7C 10000015 */ b .L7F009DD4 -/* 03E8F0 7F009D80 E430A948 */ swc1 $f16, %lo(cursor_h_pos)($at) -.L7F009D84: -/* 03E8F4 7F009D84 0FC1E2AD */ jal getPlayer_c_screenleft -/* 03E8F8 7F009D88 A3A2001E */ sb $v0, 0x1e($sp) -/* 03E8FC 7F009D8C 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003 -/* 03E900 7F009D90 C424A948 */ lwc1 $f4, %lo(cursor_h_pos)($at) -/* 03E904 7F009D94 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E908 7F009D98 44819000 */ mtc1 $at, $f18 -/* 03E90C 7F009D9C 83A2001E */ lb $v0, 0x1e($sp) -/* 03E910 7F009DA0 46120200 */ add.s $f8, $f0, $f18 -/* 03E914 7F009DA4 4608203C */ c.lt.s $f4, $f8 -/* 03E918 7F009DA8 00000000 */ nop -/* 03E91C 7F009DAC 45000009 */ bc1f .L7F009DD4 -/* 03E920 7F009DB0 00000000 */ nop -/* 03E924 7F009DB4 0FC1E2AD */ jal getPlayer_c_screenleft -/* 03E928 7F009DB8 A3A2001E */ sb $v0, 0x1e($sp) -/* 03E92C 7F009DBC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E930 7F009DC0 44813000 */ mtc1 $at, $f6 -/* 03E934 7F009DC4 3C018003 */ lui $at, %hi(cursor_h_pos) # $at, 0x8003 -/* 03E938 7F009DC8 83A2001E */ lb $v0, 0x1e($sp) -/* 03E93C 7F009DCC 46060280 */ add.s $f10, $f0, $f6 -/* 03E940 7F009DD0 E42AA948 */ swc1 $f10, %lo(cursor_h_pos)($at) -.L7F009DD4: -/* 03E944 7F009DD4 18400011 */ blez $v0, .L7F009E1C -/* 03E948 7F009DD8 00000000 */ nop -/* 03E94C 7F009DDC 44828000 */ mtc1 $v0, $f16 -/* 03E950 7F009DE0 3C018005 */ lui $at, %hi(D_800519D0) # $at, 0x8005 -/* 03E954 7F009DE4 C4241A00 */ lwc1 $f4, %lo(D_800519D0)($at) -/* 03E958 7F009DE8 468084A0 */ cvt.s.w $f18, $f16 -/* 03E95C 7F009DEC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03E960 7F009DF0 44813000 */ mtc1 $at, $f6 -/* 03E964 7F009DF4 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 03E968 7F009DF8 C43083B4 */ lwc1 $f16, %lo(global_timer_delta)($at) -/* 03E96C 7F009DFC 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003 -/* 03E970 7F009E00 46049202 */ mul.s $f8, $f18, $f4 -/* 03E974 7F009E04 C424A94C */ lwc1 $f4, %lo(cursor_v_pos)($at) -/* 03E978 7F009E08 46064280 */ add.s $f10, $f8, $f6 -/* 03E97C 7F009E0C 46105482 */ mul.s $f18, $f10, $f16 -/* 03E980 7F009E10 46122200 */ add.s $f8, $f4, $f18 -/* 03E984 7F009E14 10000012 */ b .L7F009E60 -/* 03E988 7F009E18 E428A94C */ swc1 $f8, %lo(cursor_v_pos)($at) -.L7F009E1C: -/* 03E98C 7F009E1C 04410010 */ bgez $v0, .L7F009E60 -/* 03E990 7F009E20 00000000 */ nop -/* 03E994 7F009E24 44823000 */ mtc1 $v0, $f6 -/* 03E998 7F009E28 3C018005 */ lui $at, %hi(D_800519D4) # $at, 0x8005 -/* 03E99C 7F009E2C C4301A04 */ lwc1 $f16, %lo(D_800519D4)($at) -/* 03E9A0 7F009E30 468032A0 */ cvt.s.w $f10, $f6 -/* 03E9A4 7F009E34 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03E9A8 7F009E38 44819000 */ mtc1 $at, $f18 -/* 03E9AC 7F009E3C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 03E9B0 7F009E40 C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 03E9B4 7F009E44 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003 -/* 03E9B8 7F009E48 46105102 */ mul.s $f4, $f10, $f16 -/* 03E9BC 7F009E4C C430A94C */ lwc1 $f16, %lo(cursor_v_pos)($at) -/* 03E9C0 7F009E50 46122201 */ sub.s $f8, $f4, $f18 -/* 03E9C4 7F009E54 46064282 */ mul.s $f10, $f8, $f6 -/* 03E9C8 7F009E58 460A8100 */ add.s $f4, $f16, $f10 -/* 03E9CC 7F009E5C E424A94C */ swc1 $f4, %lo(cursor_v_pos)($at) -.L7F009E60: -/* 03E9D0 7F009E60 0FC1E2B1 */ jal getPlayer_c_screentop -/* 03E9D4 7F009E64 00000000 */ nop -/* 03E9D8 7F009E68 0FC1E2A9 */ jal getPlayer_c_screenheight -/* 03E9DC 7F009E6C E7A00018 */ swc1 $f0, 0x18($sp) -/* 03E9E0 7F009E70 C7B20018 */ lwc1 $f18, 0x18($sp) -/* 03E9E4 7F009E74 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03E9E8 7F009E78 44813000 */ mtc1 $at, $f6 -/* 03E9EC 7F009E7C 46120200 */ add.s $f8, $f0, $f18 -/* 03E9F0 7F009E80 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003 -/* 03E9F4 7F009E84 C42AA94C */ lwc1 $f10, %lo(cursor_v_pos)($at) -/* 03E9F8 7F009E88 46064401 */ sub.s $f16, $f8, $f6 -/* 03E9FC 7F009E8C 460A803C */ c.lt.s $f16, $f10 -/* 03EA00 7F009E90 00000000 */ nop -/* 03EA04 7F009E94 4500000D */ bc1f .L7F009ECC -/* 03EA08 7F009E98 00000000 */ nop -/* 03EA0C 7F009E9C 0FC1E2B1 */ jal getPlayer_c_screentop -/* 03EA10 7F009EA0 00000000 */ nop -/* 03EA14 7F009EA4 0FC1E2A9 */ jal getPlayer_c_screenheight -/* 03EA18 7F009EA8 E7A00018 */ swc1 $f0, 0x18($sp) -/* 03EA1C 7F009EAC C7A40018 */ lwc1 $f4, 0x18($sp) -/* 03EA20 7F009EB0 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03EA24 7F009EB4 44814000 */ mtc1 $at, $f8 -/* 03EA28 7F009EB8 46040480 */ add.s $f18, $f0, $f4 -/* 03EA2C 7F009EBC 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003 -/* 03EA30 7F009EC0 46089181 */ sub.s $f6, $f18, $f8 -/* 03EA34 7F009EC4 10000014 */ b .L7F009F18 -/* 03EA38 7F009EC8 E426A94C */ swc1 $f6, %lo(cursor_v_pos)($at) -.L7F009ECC: -/* 03EA3C 7F009ECC 0FC1E2B1 */ jal getPlayer_c_screentop -/* 03EA40 7F009ED0 00000000 */ nop -/* 03EA44 7F009ED4 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003 -/* 03EA48 7F009ED8 C430A94C */ lwc1 $f16, %lo(cursor_v_pos)($at) -/* 03EA4C 7F009EDC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03EA50 7F009EE0 44815000 */ mtc1 $at, $f10 -/* 03EA54 7F009EE4 00000000 */ nop -/* 03EA58 7F009EE8 460A0100 */ add.s $f4, $f0, $f10 -/* 03EA5C 7F009EEC 4604803C */ c.lt.s $f16, $f4 -/* 03EA60 7F009EF0 00000000 */ nop -/* 03EA64 7F009EF4 45020009 */ bc1fl .L7F009F1C -/* 03EA68 7F009EF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 03EA6C 7F009EFC 0FC1E2B1 */ jal getPlayer_c_screentop -/* 03EA70 7F009F00 00000000 */ nop -/* 03EA74 7F009F04 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 03EA78 7F009F08 44819000 */ mtc1 $at, $f18 -/* 03EA7C 7F009F0C 3C018003 */ lui $at, %hi(cursor_v_pos) # $at, 0x8003 -/* 03EA80 7F009F10 46120200 */ add.s $f8, $f0, $f18 -/* 03EA84 7F009F14 E428A94C */ swc1 $f8, %lo(cursor_v_pos)($at) -.L7F009F18: -/* 03EA88 7F009F18 8FBF0014 */ lw $ra, 0x14($sp) -.L7F009F1C: -/* 03EA8C 7F009F1C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 03EA90 7F009F20 03E00008 */ jr $ra -/* 03EA94 7F009F24 00000000 */ nop -) -#endif -#endif - - - - -#ifdef NONMATCHING -void load_draw_selected_icon_folder_select(s32 arg0, ? arg1A) { - f32 sp58; - f32 sp5C; - f32 sp60; - f32 sp64; - - // Node 0 - if (folder_selection_screen_option_icon == 0) - { - // Node 1 - } - else - { - // Node 2 - if (folder_selection_screen_option_icon == 1) - { - // Node 3 - } - else - { - // Node 4 - if (folder_selection_screen_option_icon == 2) - { - // Node 5 - } - } - } - // Node 6 - likely_generate_DL_for_image_declaration(&arg1A, sp54, 4, 0, 0); - sp60 = truncf((cursor_h_pos + 0.5f)); - sp64 = truncf((cursor_v_pos + 0.5f)); - sp58 = (f32) ((f32) (u32) sp54->unk4 * 0.5f); - if (sp54->unk5 < 0) - { - // Node 7 - } - // Node 8 - sp5C = (f32) ((f32) sp54->unk5 * 0.5f); - display_image_at_on_screen_coord(&arg1A, &sp60, &sp58, sp54->unk4, (s32) sp54->unk5, 0, 0, 1, 0xff, 0xff, 0xff, 0xdc, (s32) (0 < sp54->unk6), 0); - return; - // (possible return value: arg1A) -} -#else -GLOBAL_ASM( -.text -glabel load_draw_selected_icon_folder_select -/* 03EA38 7F009F08 3C028003 */ lui $v0, %hi(folder_selection_screen_option_icon) -/* 03EA3C 7F009F0C 8C42A918 */ lw $v0, %lo(folder_selection_screen_option_icon)($v0) -/* 03EA40 7F009F10 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 03EA44 7F009F14 AFBF0044 */ sw $ra, 0x44($sp) -/* 03EA48 7F009F18 AFB00040 */ sw $s0, 0x40($sp) -/* 03EA4C 7F009F1C 14400005 */ bnez $v0, .L7F009F34 -/* 03EA50 7F009F20 AFA40068 */ sw $a0, 0x68($sp) -/* 03EA54 7F009F24 3C108009 */ lui $s0, %hi(crosshairimage) -/* 03EA58 7F009F28 8E10D114 */ lw $s0, %lo(crosshairimage)($s0) -/* 03EA5C 7F009F2C 1000000D */ b .L7F009F64 -/* 03EA60 7F009F30 AFB00054 */ sw $s0, 0x54($sp) -.L7F009F34: -/* 03EA64 7F009F34 24010001 */ li $at, 1 -/* 03EA68 7F009F38 14410004 */ bne $v0, $at, .L7F009F4C -/* 03EA6C 7F009F3C 3C108009 */ lui $s0, %hi(mainfolderimages) -/* 03EA70 7F009F40 8E10D128 */ lw $s0, %lo(mainfolderimages)($s0) -/* 03EA74 7F009F44 10000007 */ b .L7F009F64 -/* 03EA78 7F009F48 AFB00054 */ sw $s0, 0x54($sp) -.L7F009F4C: -/* 03EA7C 7F009F4C 24010002 */ li $at, 2 -/* 03EA80 7F009F50 14410004 */ bne $v0, $at, .L7F009F64 -/* 03EA84 7F009F54 3C108009 */ lui $s0, %hi(mainfolderimages) -/* 03EA88 7F009F58 8E10D128 */ lw $s0, %lo(mainfolderimages)($s0) -/* 03EA8C 7F009F5C 2610000C */ addiu $s0, $s0, 0xc -/* 03EA90 7F009F60 AFB00054 */ sw $s0, 0x54($sp) -.L7F009F64: -/* 03EA94 7F009F64 8FB00054 */ lw $s0, 0x54($sp) -/* 03EA98 7F009F68 27A40068 */ addiu $a0, $sp, 0x68 -/* 03EA9C 7F009F6C 24060004 */ li $a2, 4 -/* 03EAA0 7F009F70 00003825 */ move $a3, $zero -/* 03EAA4 7F009F74 AFA00010 */ sw $zero, 0x10($sp) -/* 03EAA8 7F009F78 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 03EAAC 7F009F7C 02002825 */ move $a1, $s0 -/* 03EAB0 7F009F80 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 03EAB4 7F009F84 C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at) -/* 03EAB8 7F009F88 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03EABC 7F009F8C 44813000 */ mtc1 $at, $f6 -/* 03EAC0 7F009F90 0FC170D8 */ jal truncf -/* 03EAC4 7F009F94 46062300 */ add.s $f12, $f4, $f6 -/* 03EAC8 7F009F98 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 03EACC 7F009F9C C428A90C */ lwc1 $f8, %lo(cursor_v_pos)($at) -/* 03EAD0 7F009FA0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03EAD4 7F009FA4 44815000 */ mtc1 $at, $f10 -/* 03EAD8 7F009FA8 E7A00060 */ swc1 $f0, 0x60($sp) -/* 03EADC 7F009FAC 0FC170D8 */ jal truncf -/* 03EAE0 7F009FB0 460A4300 */ add.s $f12, $f8, $f10 -/* 03EAE4 7F009FB4 E7A00064 */ swc1 $f0, 0x64($sp) -/* 03EAE8 7F009FB8 920E0004 */ lbu $t6, 4($s0) -/* 03EAEC 7F009FBC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 03EAF0 7F009FC0 44811000 */ mtc1 $at, $f2 -/* 03EAF4 7F009FC4 448E8000 */ mtc1 $t6, $f16 -/* 03EAF8 7F009FC8 27A40068 */ addiu $a0, $sp, 0x68 -/* 03EAFC 7F009FCC 05C10005 */ bgez $t6, .L7F009FE4 -/* 03EB00 7F009FD0 468084A0 */ cvt.s.w $f18, $f16 -/* 03EB04 7F009FD4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 03EB08 7F009FD8 44812000 */ mtc1 $at, $f4 -/* 03EB0C 7F009FDC 00000000 */ nop -/* 03EB10 7F009FE0 46049480 */ add.s $f18, $f18, $f4 -.L7F009FE4: -/* 03EB14 7F009FE4 46029182 */ mul.s $f6, $f18, $f2 -/* 03EB18 7F009FE8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 03EB1C 7F009FEC E7A60058 */ swc1 $f6, 0x58($sp) -/* 03EB20 7F009FF0 920F0005 */ lbu $t7, 5($s0) -/* 03EB24 7F009FF4 448F4000 */ mtc1 $t7, $f8 -/* 03EB28 7F009FF8 05E10004 */ bgez $t7, .L7F00A00C -/* 03EB2C 7F009FFC 468042A0 */ cvt.s.w $f10, $f8 -/* 03EB30 7F00A000 44818000 */ mtc1 $at, $f16 -/* 03EB34 7F00A004 00000000 */ nop -/* 03EB38 7F00A008 46105280 */ add.s $f10, $f10, $f16 -.L7F00A00C: -/* 03EB3C 7F00A00C 46025102 */ mul.s $f4, $f10, $f2 -/* 03EB40 7F00A010 24190001 */ li $t9, 1 -/* 03EB44 7F00A014 240800FF */ li $t0, 255 -/* 03EB48 7F00A018 240900FF */ li $t1, 255 -/* 03EB4C 7F00A01C 240A00FF */ li $t2, 255 -/* 03EB50 7F00A020 240B00DC */ li $t3, 220 -/* 03EB54 7F00A024 27A50060 */ addiu $a1, $sp, 0x60 -/* 03EB58 7F00A028 E7A4005C */ swc1 $f4, 0x5c($sp) -/* 03EB5C 7F00A02C 92180005 */ lbu $t8, 5($s0) -/* 03EB60 7F00A030 92070004 */ lbu $a3, 4($s0) -/* 03EB64 7F00A034 AFAB002C */ sw $t3, 0x2c($sp) -/* 03EB68 7F00A038 AFAA0028 */ sw $t2, 0x28($sp) -/* 03EB6C 7F00A03C AFA90024 */ sw $t1, 0x24($sp) -/* 03EB70 7F00A040 AFA80020 */ sw $t0, 0x20($sp) -/* 03EB74 7F00A044 AFB9001C */ sw $t9, 0x1c($sp) -/* 03EB78 7F00A048 AFA00018 */ sw $zero, 0x18($sp) -/* 03EB7C 7F00A04C AFA00014 */ sw $zero, 0x14($sp) -/* 03EB80 7F00A050 AFB80010 */ sw $t8, 0x10($sp) -/* 03EB84 7F00A054 920C0006 */ lbu $t4, 6($s0) -/* 03EB88 7F00A058 AFA00034 */ sw $zero, 0x34($sp) -/* 03EB8C 7F00A05C 27A60058 */ addiu $a2, $sp, 0x58 -/* 03EB90 7F00A060 000C682A */ slt $t5, $zero, $t4 -/* 03EB94 7F00A064 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 03EB98 7F00A068 AFAD0030 */ sw $t5, 0x30($sp) -/* 03EB9C 7F00A06C 8FBF0044 */ lw $ra, 0x44($sp) -/* 03EBA0 7F00A070 8FA20068 */ lw $v0, 0x68($sp) -/* 03EBA4 7F00A074 8FB00040 */ lw $s0, 0x40($sp) -/* 03EBA8 7F00A078 03E00008 */ jr $ra -/* 03EBAC 7F00A07C 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -s32 add_tab1_start(s32 arg0) { - s16 sp44; - s32 sp48; - s32 sp4C; - ? sp50; - s32 sp54; - s32 temp_a3; - - // Node 0 - dword_CODE_bss_80069770 = get_textptr_for_textID(TEXT(LTITLE, 0x04)); - setTextSpacingInverted(1); - sp48 = 0; - sp4C = 0; - sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069770, ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0); - sp54 = 0x33; - if (sp4C < 0) - { - // Node 1 - } - // Node 2 - temp_a3 = (0x19b - (sp4C >> 1)); - if (tab_1_highlight != 0) - { - // Node 3 - microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0x33, temp_a3, 0x75, 0x32); - } - // Node 4 - setTextOrientation(1, temp_a3); - if (sp48 < 0) - { - // Node 5 - } - // Node 6 - 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); - 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)) -} -#else -GLOBAL_ASM( -.text -glabel add_tab1_start -/* 03EBB0 7F00A080 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 03EBB4 7F00A084 AFB00038 */ sw $s0, 0x38($sp) -/* 03EBB8 7F00A088 00808025 */ move $s0, $a0 -/* 03EBBC 7F00A08C AFBF003C */ sw $ra, 0x3c($sp) -/* 03EBC0 7F00A090 0FC30776 */ jal get_textptr_for_textID -/* 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 setTextSpacingInverted -/* 03EBD4 7F00A0A4 24040001 */ li $a0, 1 -/* 03EBD8 7F00A0A8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 03EBDC 7F00A0AC 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 03EBE0 7F00A0B0 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069770) -/* 03EBE4 7F00A0B4 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 03EBE8 7F00A0B8 AFA00048 */ sw $zero, 0x48($sp) -/* 03EBEC 7F00A0BC AFA0004C */ sw $zero, 0x4c($sp) -/* 03EBF0 7F00A0C0 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 03EBF4 7F00A0C4 8CC69770 */ lw $a2, %lo(dword_CODE_bss_80069770)($a2) -/* 03EBF8 7F00A0C8 27A4004C */ addiu $a0, $sp, 0x4c -/* 03EBFC 7F00A0CC 27A50048 */ addiu $a1, $sp, 0x48 -/* 03EC00 7F00A0D0 AFA00014 */ sw $zero, 0x14($sp) -/* 03EC04 7F00A0D4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 03EC08 7F00A0D8 AFAE0010 */ sw $t6, 0x10($sp) -/* 03EC0C 7F00A0DC 8FB8004C */ lw $t8, 0x4c($sp) -/* 03EC10 7F00A0E0 3C098003 */ lui $t1, %hi(tab_1_highlight) -/* 03EC14 7F00A0E4 8D29A8DC */ lw $t1, %lo(tab_1_highlight)($t1) -/* 03EC18 7F00A0E8 2408019B */ li $t0, 411 -/* 03EC1C 7F00A0EC 240F0033 */ li $t7, 51 -/* 03EC20 7F00A0F0 AFAF0054 */ sw $t7, 0x54($sp) -/* 03EC24 7F00A0F4 07010003 */ bgez $t8, .L7F00A104 -/* 03EC28 7F00A0F8 0018C843 */ sra $t9, $t8, 1 -/* 03EC2C 7F00A0FC 27010001 */ addiu $at, $t8, 1 -/* 03EC30 7F00A100 0001C843 */ sra $t9, $at, 1 -.L7F00A104: -/* 03EC34 7F00A104 01193823 */ subu $a3, $t0, $t9 -/* 03EC38 7F00A108 1120000C */ beqz $t1, .L7F00A13C -/* 03EC3C 7F00A10C AFA70050 */ sw $a3, 0x50($sp) -/* 03EC40 7F00A110 00F82823 */ subu $a1, $a3, $t8 -/* 03EC44 7F00A114 240A0075 */ li $t2, 117 -/* 03EC48 7F00A118 240B0032 */ li $t3, 50 -/* 03EC4C 7F00A11C AFAB0014 */ sw $t3, 0x14($sp) -/* 03EC50 7F00A120 AFAA0010 */ sw $t2, 0x10($sp) -/* 03EC54 7F00A124 24A50001 */ addiu $a1, $a1, 1 -/* 03EC58 7F00A128 02002025 */ move $a0, $s0 -/* 03EC5C 7F00A12C 24060033 */ li $a2, 51 -/* 03EC60 7F00A130 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 03EC64 7F00A134 AFA70050 */ sw $a3, 0x50($sp) -/* 03EC68 7F00A138 00408025 */ move $s0, $v0 -.L7F00A13C: -/* 03EC6C 7F00A13C 0FC2B2E2 */ jal setTextOrientation -/* 03EC70 7F00A140 24040001 */ li $a0, 1 -/* 03EC74 7F00A144 8FAC0048 */ lw $t4, 0x48($sp) -/* 03EC78 7F00A148 240E0054 */ li $t6, 84 -/* 03EC7C 7F00A14C 05810003 */ bgez $t4, .L7F00A15C -/* 03EC80 7F00A150 000C6843 */ sra $t5, $t4, 1 -/* 03EC84 7F00A154 25810001 */ addiu $at, $t4, 1 -/* 03EC88 7F00A158 00016843 */ sra $t5, $at, 1 -.L7F00A15C: -/* 03EC8C 7F00A15C 01CD7823 */ subu $t7, $t6, $t5 -/* 03EC90 7F00A160 0C00110B */ jal get_video2_settings_txtClipH -/* 03EC94 7F00A164 AFAF0054 */ sw $t7, 0x54($sp) -/* 03EC98 7F00A168 0C001107 */ jal get_video2_settings_txtClipW -/* 03EC9C 7F00A16C A7A20044 */ sh $v0, 0x44($sp) -/* 03ECA0 7F00A170 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall) -/* 03ECA4 7F00A174 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 03ECA8 7F00A178 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 03ECAC 7F00A17C 8D080EB0 */ lw $t0, %lo(ptrSecondFontTableSmall)($t0) -/* 03ECB0 7F00A180 87B80044 */ lh $t8, 0x44($sp) -/* 03ECB4 7F00A184 3C078007 */ lui $a3, %hi(dword_CODE_bss_80069770) -/* 03ECB8 7F00A188 240900FF */ li $t1, 255 -/* 03ECBC 7F00A18C AFA90018 */ sw $t1, 0x18($sp) -/* 03ECC0 7F00A190 8CE79770 */ lw $a3, %lo(dword_CODE_bss_80069770)($a3) -/* 03ECC4 7F00A194 02002025 */ move $a0, $s0 -/* 03ECC8 7F00A198 27A50054 */ addiu $a1, $sp, 0x54 -/* 03ECCC 7F00A19C 27A60050 */ addiu $a2, $sp, 0x50 -/* 03ECD0 7F00A1A0 AFA20020 */ sw $v0, 0x20($sp) -/* 03ECD4 7F00A1A4 AFA00024 */ sw $zero, 0x24($sp) -/* 03ECD8 7F00A1A8 AFA00028 */ sw $zero, 0x28($sp) -/* 03ECDC 7F00A1AC AFB90014 */ sw $t9, 0x14($sp) -/* 03ECE0 7F00A1B0 AFA80010 */ sw $t0, 0x10($sp) -/* 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 setTextOrientation -/* 03ECF4 7F00A1C4 00002025 */ move $a0, $zero -/* 03ECF8 7F00A1C8 0FC2B2DE */ jal setTextSpacingInverted -/* 03ECFC 7F00A1CC 00002025 */ move $a0, $zero -/* 03ED00 7F00A1D0 8FBF003C */ lw $ra, 0x3c($sp) -/* 03ED04 7F00A1D4 02001025 */ move $v0, $s0 -/* 03ED08 7F00A1D8 8FB00038 */ lw $s0, 0x38($sp) -/* 03ED0C 7F00A1DC 03E00008 */ jr $ra -/* 03ED10 7F00A1E0 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -u32 isontab1(void) { - if ((390.00000000f < cursor_h_pos) && (cursor_v_pos <= tab1_max_x_coord)) { - return TRUE; - } - return FALSE; -} -#else -GLOBAL_ASM( -.text -glabel isontab1 -/* 03ED14 7F00A1E4 3C0143C3 */ li $at, 0x43C30000 # 390.000000 -/* 03ED18 7F00A1E8 44812000 */ mtc1 $at, $f4 -/* 03ED1C 7F00A1EC 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 03ED20 7F00A1F0 C426A908 */ lwc1 $f6, %lo(cursor_h_pos)($at) -/* 03ED24 7F00A1F4 3C018005 */ lui $at, %hi(tab1_max_x_coord) -/* 03ED28 7F00A1F8 00001025 */ move $v0, $zero -/* 03ED2C 7F00A1FC 4606203C */ c.lt.s $f4, $f6 -/* 03ED30 7F00A200 00000000 */ nop -/* 03ED34 7F00A204 4500000A */ bc1f .L7F00A230 -/* 03ED38 7F00A208 00000000 */ nop -/* 03ED3C 7F00A20C C42819D8 */ lwc1 $f8, %lo(tab1_max_x_coord)($at) -/* 03ED40 7F00A210 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 03ED44 7F00A214 C42AA90C */ lwc1 $f10, %lo(cursor_v_pos)($at) -/* 03ED48 7F00A218 4608503E */ c.le.s $f10, $f8 -/* 03ED4C 7F00A21C 00000000 */ nop -/* 03ED50 7F00A220 45000003 */ bc1f .L7F00A230 -/* 03ED54 7F00A224 00000000 */ nop -/* 03ED58 7F00A228 03E00008 */ jr $ra -/* 03ED5C 7F00A22C 24020001 */ li $v0, 1 -.L7F00A230: -/* 03ED60 7F00A230 03E00008 */ jr $ra -/* 03ED64 7F00A234 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 add_tab3_previous(s32 arg0) { - s16 sp44; - s32 sp48; - s32 sp4C; - ? sp50; - s32 sp54; - s32 temp_a3; - - // Node 0 - dword_CODE_bss_80069778 = get_textptr_for_textID(TEXT(LTITLE, 0x06)); - setTextSpacingInverted(1); - sp48 = 0; - sp4C = 0; - sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069778, ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0); - sp54 = 0xec; - if (sp4C < 0) - { - // Node 1 - } - // Node 2 - temp_a3 = (0x19b - (sp4C >> 1)); - if (tab_3_highlight != 0) - { - // Node 3 - microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0xec, temp_a3, 0x12e, 0x32); - } - // Node 4 - setTextOrientation(1, temp_a3); - if (sp48 < 0) - { - // Node 5 - } - // Node 6 - 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); - 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)) -} -#else -GLOBAL_ASM( -.text -glabel add_tab3_previous -/* 03ED68 7F00A238 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 03ED6C 7F00A23C AFB00038 */ sw $s0, 0x38($sp) -/* 03ED70 7F00A240 00808025 */ move $s0, $a0 -/* 03ED74 7F00A244 AFBF003C */ sw $ra, 0x3c($sp) -/* 03ED78 7F00A248 0FC30776 */ jal get_textptr_for_textID -/* 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 setTextSpacingInverted -/* 03ED8C 7F00A25C 24040001 */ li $a0, 1 -/* 03ED90 7F00A260 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 03ED94 7F00A264 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 03ED98 7F00A268 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069778) -/* 03ED9C 7F00A26C 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 03EDA0 7F00A270 AFA00048 */ sw $zero, 0x48($sp) -/* 03EDA4 7F00A274 AFA0004C */ sw $zero, 0x4c($sp) -/* 03EDA8 7F00A278 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 03EDAC 7F00A27C 8CC69778 */ lw $a2, %lo(dword_CODE_bss_80069778)($a2) -/* 03EDB0 7F00A280 27A4004C */ addiu $a0, $sp, 0x4c -/* 03EDB4 7F00A284 27A50048 */ addiu $a1, $sp, 0x48 -/* 03EDB8 7F00A288 AFA00014 */ sw $zero, 0x14($sp) -/* 03EDBC 7F00A28C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 03EDC0 7F00A290 AFAE0010 */ sw $t6, 0x10($sp) -/* 03EDC4 7F00A294 8FB8004C */ lw $t8, 0x4c($sp) -/* 03EDC8 7F00A298 3C098003 */ lui $t1, %hi(tab_3_highlight) -/* 03EDCC 7F00A29C 8D29A8E4 */ lw $t1, %lo(tab_3_highlight)($t1) -/* 03EDD0 7F00A2A0 2408019B */ li $t0, 411 -/* 03EDD4 7F00A2A4 240F00EC */ li $t7, 236 -/* 03EDD8 7F00A2A8 AFAF0054 */ sw $t7, 0x54($sp) -/* 03EDDC 7F00A2AC 07010003 */ bgez $t8, .L7F00A2BC -/* 03EDE0 7F00A2B0 0018C843 */ sra $t9, $t8, 1 -/* 03EDE4 7F00A2B4 27010001 */ addiu $at, $t8, 1 -/* 03EDE8 7F00A2B8 0001C843 */ sra $t9, $at, 1 -.L7F00A2BC: -/* 03EDEC 7F00A2BC 01193823 */ subu $a3, $t0, $t9 -/* 03EDF0 7F00A2C0 1120000C */ beqz $t1, .L7F00A2F4 -/* 03EDF4 7F00A2C4 AFA70050 */ sw $a3, 0x50($sp) -/* 03EDF8 7F00A2C8 00F82823 */ subu $a1, $a3, $t8 -/* 03EDFC 7F00A2CC 240A012E */ li $t2, 302 -/* 03EE00 7F00A2D0 240B0032 */ li $t3, 50 -/* 03EE04 7F00A2D4 AFAB0014 */ sw $t3, 0x14($sp) -/* 03EE08 7F00A2D8 AFAA0010 */ sw $t2, 0x10($sp) -/* 03EE0C 7F00A2DC 24A50001 */ addiu $a1, $a1, 1 -/* 03EE10 7F00A2E0 02002025 */ move $a0, $s0 -/* 03EE14 7F00A2E4 240600EC */ li $a2, 236 -/* 03EE18 7F00A2E8 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 03EE1C 7F00A2EC AFA70050 */ sw $a3, 0x50($sp) -/* 03EE20 7F00A2F0 00408025 */ move $s0, $v0 -.L7F00A2F4: -/* 03EE24 7F00A2F4 0FC2B2E2 */ jal setTextOrientation -/* 03EE28 7F00A2F8 24040001 */ li $a0, 1 -/* 03EE2C 7F00A2FC 8FAC0048 */ lw $t4, 0x48($sp) -/* 03EE30 7F00A300 240E010D */ li $t6, 269 -/* 03EE34 7F00A304 05810003 */ bgez $t4, .L7F00A314 -/* 03EE38 7F00A308 000C6843 */ sra $t5, $t4, 1 -/* 03EE3C 7F00A30C 25810001 */ addiu $at, $t4, 1 -/* 03EE40 7F00A310 00016843 */ sra $t5, $at, 1 -.L7F00A314: -/* 03EE44 7F00A314 01CD7823 */ subu $t7, $t6, $t5 -/* 03EE48 7F00A318 0C00110B */ jal get_video2_settings_txtClipH -/* 03EE4C 7F00A31C AFAF0054 */ sw $t7, 0x54($sp) -/* 03EE50 7F00A320 0C001107 */ jal get_video2_settings_txtClipW -/* 03EE54 7F00A324 A7A20044 */ sh $v0, 0x44($sp) -/* 03EE58 7F00A328 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall) -/* 03EE5C 7F00A32C 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 03EE60 7F00A330 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 03EE64 7F00A334 8D080EB0 */ lw $t0, %lo(ptrSecondFontTableSmall)($t0) -/* 03EE68 7F00A338 87B80044 */ lh $t8, 0x44($sp) -/* 03EE6C 7F00A33C 3C078007 */ lui $a3, %hi(dword_CODE_bss_80069778) -/* 03EE70 7F00A340 240900FF */ li $t1, 255 -/* 03EE74 7F00A344 AFA90018 */ sw $t1, 0x18($sp) -/* 03EE78 7F00A348 8CE79778 */ lw $a3, %lo(dword_CODE_bss_80069778)($a3) -/* 03EE7C 7F00A34C 02002025 */ move $a0, $s0 -/* 03EE80 7F00A350 27A50054 */ addiu $a1, $sp, 0x54 -/* 03EE84 7F00A354 27A60050 */ addiu $a2, $sp, 0x50 -/* 03EE88 7F00A358 AFA20020 */ sw $v0, 0x20($sp) -/* 03EE8C 7F00A35C AFA00024 */ sw $zero, 0x24($sp) -/* 03EE90 7F00A360 AFA00028 */ sw $zero, 0x28($sp) -/* 03EE94 7F00A364 AFB90014 */ sw $t9, 0x14($sp) -/* 03EE98 7F00A368 AFA80010 */ sw $t0, 0x10($sp) -/* 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 setTextOrientation -/* 03EEAC 7F00A37C 00002025 */ move $a0, $zero -/* 03EEB0 7F00A380 0FC2B2DE */ jal setTextSpacingInverted -/* 03EEB4 7F00A384 00002025 */ move $a0, $zero -/* 03EEB8 7F00A388 8FBF003C */ lw $ra, 0x3c($sp) -/* 03EEBC 7F00A38C 02001025 */ move $v0, $s0 -/* 03EEC0 7F00A390 8FB00038 */ lw $s0, 0x38($sp) -/* 03EEC4 7F00A394 03E00008 */ jr $ra -/* 03EEC8 7F00A398 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -u32 isontab3(void) -{ - if ((390.0f < cursor_h_pos) && (223.0f < cursor_v_pos)) { - return 1; - } - else { - return 0; - } -} - -void set_cursor_pos_tab2(void) -{ - cursor_h_pos = tab2_first_x_coord; - cursor_v_pos = 144.00000000f; -} - - -#ifdef NONMATCHING -s32 add_tab2_next(s32 arg0) { - s16 sp44; - s32 sp48; - s32 sp4C; - ? sp50; - s32 sp54; - s32 temp_a3; - - // Node 0 - dword_CODE_bss_80069774 = get_textptr_for_textID(TEXT(LTITLE, 0x05)); - setTextSpacingInverted(1); - sp48 = 0; - sp4C = 0; - sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069774, ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0); - sp54 = 0x90; - if (sp4C < 0) - { - // Node 1 - } - // Node 2 - temp_a3 = (0x19b - (sp4C >> 1)); - if (tab_2_highlight != 0) - { - // Node 3 - microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0x90, temp_a3, 0xd2, 0x32); - } - // Node 4 - setTextOrientation(1, temp_a3); - if (sp48 < 0) - { - // Node 5 - } - // Node 6 - 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); - 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)) -} -#else -GLOBAL_ASM( -.text -glabel add_tab2_next -/* 03EF44 7F00A414 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 03EF48 7F00A418 AFB00038 */ sw $s0, 0x38($sp) -/* 03EF4C 7F00A41C 00808025 */ move $s0, $a0 -/* 03EF50 7F00A420 AFBF003C */ sw $ra, 0x3c($sp) -/* 03EF54 7F00A424 0FC30776 */ jal get_textptr_for_textID -/* 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 setTextSpacingInverted -/* 03EF68 7F00A438 24040001 */ li $a0, 1 -/* 03EF6C 7F00A43C 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 03EF70 7F00A440 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 03EF74 7F00A444 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069774) -/* 03EF78 7F00A448 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 03EF7C 7F00A44C AFA00048 */ sw $zero, 0x48($sp) -/* 03EF80 7F00A450 AFA0004C */ sw $zero, 0x4c($sp) -/* 03EF84 7F00A454 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 03EF88 7F00A458 8CC69774 */ lw $a2, %lo(dword_CODE_bss_80069774)($a2) -/* 03EF8C 7F00A45C 27A4004C */ addiu $a0, $sp, 0x4c -/* 03EF90 7F00A460 27A50048 */ addiu $a1, $sp, 0x48 -/* 03EF94 7F00A464 AFA00014 */ sw $zero, 0x14($sp) -/* 03EF98 7F00A468 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 03EF9C 7F00A46C AFAE0010 */ sw $t6, 0x10($sp) -/* 03EFA0 7F00A470 8FB8004C */ lw $t8, 0x4c($sp) -/* 03EFA4 7F00A474 3C098003 */ lui $t1, %hi(tab_2_highlight) -/* 03EFA8 7F00A478 8D29A8E0 */ lw $t1, %lo(tab_2_highlight)($t1) -/* 03EFAC 7F00A47C 2408019B */ li $t0, 411 -/* 03EFB0 7F00A480 240F0090 */ li $t7, 144 -/* 03EFB4 7F00A484 AFAF0054 */ sw $t7, 0x54($sp) -/* 03EFB8 7F00A488 07010003 */ bgez $t8, .L7F00A498 -/* 03EFBC 7F00A48C 0018C843 */ sra $t9, $t8, 1 -/* 03EFC0 7F00A490 27010001 */ addiu $at, $t8, 1 -/* 03EFC4 7F00A494 0001C843 */ sra $t9, $at, 1 -.L7F00A498: -/* 03EFC8 7F00A498 01193823 */ subu $a3, $t0, $t9 -/* 03EFCC 7F00A49C 1120000C */ beqz $t1, .L7F00A4D0 -/* 03EFD0 7F00A4A0 AFA70050 */ sw $a3, 0x50($sp) -/* 03EFD4 7F00A4A4 00F82823 */ subu $a1, $a3, $t8 -/* 03EFD8 7F00A4A8 240A00D2 */ li $t2, 210 -/* 03EFDC 7F00A4AC 240B0032 */ li $t3, 50 -/* 03EFE0 7F00A4B0 AFAB0014 */ sw $t3, 0x14($sp) -/* 03EFE4 7F00A4B4 AFAA0010 */ sw $t2, 0x10($sp) -/* 03EFE8 7F00A4B8 24A50001 */ addiu $a1, $a1, 1 -/* 03EFEC 7F00A4BC 02002025 */ move $a0, $s0 -/* 03EFF0 7F00A4C0 24060090 */ li $a2, 144 -/* 03EFF4 7F00A4C4 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 03EFF8 7F00A4C8 AFA70050 */ sw $a3, 0x50($sp) -/* 03EFFC 7F00A4CC 00408025 */ move $s0, $v0 -.L7F00A4D0: -/* 03F000 7F00A4D0 0FC2B2E2 */ jal setTextOrientation -/* 03F004 7F00A4D4 24040001 */ li $a0, 1 -/* 03F008 7F00A4D8 8FAC0048 */ lw $t4, 0x48($sp) -/* 03F00C 7F00A4DC 240E00B1 */ li $t6, 177 -/* 03F010 7F00A4E0 05810003 */ bgez $t4, .L7F00A4F0 -/* 03F014 7F00A4E4 000C6843 */ sra $t5, $t4, 1 -/* 03F018 7F00A4E8 25810001 */ addiu $at, $t4, 1 -/* 03F01C 7F00A4EC 00016843 */ sra $t5, $at, 1 -.L7F00A4F0: -/* 03F020 7F00A4F0 01CD7823 */ subu $t7, $t6, $t5 -/* 03F024 7F00A4F4 0C00110B */ jal get_video2_settings_txtClipH -/* 03F028 7F00A4F8 AFAF0054 */ sw $t7, 0x54($sp) -/* 03F02C 7F00A4FC 0C001107 */ jal get_video2_settings_txtClipW -/* 03F030 7F00A500 A7A20044 */ sh $v0, 0x44($sp) -/* 03F034 7F00A504 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall) -/* 03F038 7F00A508 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 03F03C 7F00A50C 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 03F040 7F00A510 8D080EB0 */ lw $t0, %lo(ptrSecondFontTableSmall)($t0) -/* 03F044 7F00A514 87B80044 */ lh $t8, 0x44($sp) -/* 03F048 7F00A518 3C078007 */ lui $a3, %hi(dword_CODE_bss_80069774) -/* 03F04C 7F00A51C 240900FF */ li $t1, 255 -/* 03F050 7F00A520 AFA90018 */ sw $t1, 0x18($sp) -/* 03F054 7F00A524 8CE79774 */ lw $a3, %lo(dword_CODE_bss_80069774)($a3) -/* 03F058 7F00A528 02002025 */ move $a0, $s0 -/* 03F05C 7F00A52C 27A50054 */ addiu $a1, $sp, 0x54 -/* 03F060 7F00A530 27A60050 */ addiu $a2, $sp, 0x50 -/* 03F064 7F00A534 AFA20020 */ sw $v0, 0x20($sp) -/* 03F068 7F00A538 AFA00024 */ sw $zero, 0x24($sp) -/* 03F06C 7F00A53C AFA00028 */ sw $zero, 0x28($sp) -/* 03F070 7F00A540 AFB90014 */ sw $t9, 0x14($sp) -/* 03F074 7F00A544 AFA80010 */ sw $t0, 0x10($sp) -/* 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 setTextOrientation -/* 03F088 7F00A558 00002025 */ move $a0, $zero -/* 03F08C 7F00A55C 0FC2B2DE */ jal setTextSpacingInverted -/* 03F090 7F00A560 00002025 */ move $a0, $zero -/* 03F094 7F00A564 8FBF003C */ lw $ra, 0x3c($sp) -/* 03F098 7F00A568 02001025 */ move $v0, $s0 -/* 03F09C 7F00A56C 8FB00038 */ lw $s0, 0x38($sp) -/* 03F0A0 7F00A570 03E00008 */ jr $ra -/* 03F0A4 7F00A574 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - -u32 isontab2(void) -{ - if (((390.00000000f < cursor_h_pos) && (tab2_bottom_y_coord < cursor_v_pos)) && (cursor_v_pos <= 223.00000000f)) { - return TRUE; - } - return FALSE; -} - - - - - - -#ifdef NONMATCHING -void init_menu00_legalscreen(void) -{ - ? sp20; - s32 temp_ret; - - musicTrack1Stop(); - maybe_is_in_menu = 1; - menu_timer = 0; - sp20.unk0 = (?32) D_8002A9C0.unk0; - sp20.unk4 = (?32) D_8002A9C0.unk4; - sp20.unk8 = (?32) D_8002A9C0.unk8; - load_object_fill_header(PitemZ_entries.unkEF4, PitemZ_entries.unkEF8, ptr_logo_and_walletbond_DL, 0x3c000, 0); - set_objuse_flag_compute_grp_nums_set_obj_loaded(PlegalpageZ_header); - temp_ret = get_obj_instance_controller_for_header(PlegalpageZ_header); - something_legalscreen_constructor = temp_ret; - set_obj_instance_controller_scale(temp_ret, 0x3f800000); - setsuboffset(something_legalscreen_constructor, &sp20); - sub_GAME_7F01DF90(); -} -#else -GLOBAL_ASM( -.text -glabel init_menu00_legalscreen -/* 03F118 7F00A5E8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03F11C 7F00A5EC AFBF001C */ sw $ra, 0x1c($sp) -/* 03F120 7F00A5F0 0C001BF4 */ jal musicTrack1Stop -/* 03F124 7F00A5F4 00000000 */ nop -/* 03F128 7F00A5F8 240E0001 */ li $t6, 1 -/* 03F12C 7F00A5FC 3C018003 */ lui $at, %hi(maybe_is_in_menu) -/* 03F130 7F00A600 AC2EA93C */ sw $t6, %lo(maybe_is_in_menu)($at) -/* 03F134 7F00A604 3C018003 */ lui $at, %hi(menu_timer) -/* 03F138 7F00A608 3C188003 */ lui $t8, %hi(D_8002A9C0) -/* 03F13C 7F00A60C AC20A8CC */ sw $zero, %lo(menu_timer)($at) -/* 03F140 7F00A610 2718A9C0 */ addiu $t8, %lo(D_8002A9C0) # addiu $t8, $t8, -0x5640 -/* 03F144 7F00A614 8F010000 */ lw $at, ($t8) -/* 03F148 7F00A618 27AF0020 */ addiu $t7, $sp, 0x20 -/* 03F14C 7F00A61C 8F090004 */ lw $t1, 4($t8) -/* 03F150 7F00A620 ADE10000 */ sw $at, ($t7) -/* 03F154 7F00A624 8F010008 */ lw $at, 8($t8) -/* 03F158 7F00A628 ADE90004 */ sw $t1, 4($t7) -/* 03F15C 7F00A62C 3C028004 */ lui $v0, %hi(PitemZ_entries) -/* 03F160 7F00A630 ADE10008 */ sw $at, 8($t7) -/* 03F164 7F00A634 2442A228 */ addiu $v0, %lo(PitemZ_entries) # addiu $v0, $v0, -0x5dd8 -/* 03F168 7F00A638 3C068003 */ lui $a2, %hi(ptr_logo_and_walletbond_DL) -/* 03F16C 7F00A63C 3C070003 */ lui $a3, (0x0003C000 >> 16) # lui $a3, 3 -/* 03F170 7F00A640 34E7C000 */ ori $a3, (0x0003C000 & 0xFFFF) # ori $a3, $a3, 0xc000 -/* 03F174 7F00A644 8CC6A950 */ lw $a2, %lo(ptr_logo_and_walletbond_DL)($a2) -/* 03F178 7F00A648 8C440EF4 */ lw $a0, 0xef4($v0) -/* 03F17C 7F00A64C 8C450EF8 */ lw $a1, 0xef8($v0) -/* 03F180 7F00A650 0FC1D929 */ jal load_object_fill_header -/* 03F184 7F00A654 AFA00010 */ sw $zero, 0x10($sp) -/* 03F188 7F00A658 3C048004 */ lui $a0, %hi(PitemZ_entries+0xEF4) -/* 03F18C 7F00A65C 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 03F190 7F00A660 8C84B11C */ lw $a0, %lo(PitemZ_entries+0xEF4)($a0) -/* 03F194 7F00A664 3C048004 */ lui $a0, %hi(PitemZ_entries+0xEF4) -/* 03F198 7F00A668 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 03F19C 7F00A66C 8C84B11C */ lw $a0, %lo(PitemZ_entries+0xEF4)($a0) -/* 03F1A0 7F00A670 3C038003 */ lui $v1, %hi(something_legalscreen_constructor) -/* 03F1A4 7F00A674 2463A958 */ addiu $v1, %lo(something_legalscreen_constructor) # addiu $v1, $v1, -0x56a8 -/* 03F1A8 7F00A678 AC620000 */ sw $v0, ($v1) -/* 03F1AC 7F00A67C 00402025 */ move $a0, $v0 -/* 03F1B0 7F00A680 0FC1B39E */ jal set_obj_instance_controller_scale -/* 03F1B4 7F00A684 3C053F80 */ lui $a1, 0x3f80 -/* 03F1B8 7F00A688 3C048003 */ lui $a0, %hi(something_legalscreen_constructor) -/* 03F1BC 7F00A68C 8C84A958 */ lw $a0, %lo(something_legalscreen_constructor)($a0) -/* 03F1C0 7F00A690 0FC1B303 */ jal setsuboffset -/* 03F1C4 7F00A694 27A50020 */ addiu $a1, $sp, 0x20 -/* 03F1C8 7F00A698 0FC077E4 */ jal sub_GAME_7F01DF90 -/* 03F1CC 7F00A69C 00000000 */ nop -/* 03F1D0 7F00A6A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 03F1D4 7F00A6A4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 03F1D8 7F00A6A8 03E00008 */ jr $ra -/* 03F1DC 7F00A6AC 00000000 */ nop -) -#endif - - - - - -void update_menu00_legalscreen(void) -{ - is_first_time_on_legal_screen = FALSE; - set_obj_instance_scale_to_zero(something_legalscreen_constructor); -} - - - - - -#ifdef NONMATCHING -void interface_menu00_legalscreen(undefined8 param_1,undefined8 param_2) { - longlong lVar1; - ulonglong uVar2; - undefined4 extraout_a0_lo; - undefined4 extraout_a0_lo_00; - undefined8 extraout_a1; - undefined4 extraout_a1_lo; - undefined8 in_a2; - undefined8 extraout_a2; - undefined8 extraout_a2_00; - undefined8 extraout_a3; - - 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); - menu_timer += clock_timer; - if (menu_timer < 0xf1) { - if ((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) != 0) && (is_first_time_on_legal_screen == FALSE)) { - if (is_first_time_on_main_menu == FALSE) { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - else { - set_menu_to_mode(MENU_NINTENDO_LOGO,1); - } - } - } - else { - if ((get_attached_controller_count() < 1) && (is_first_time_on_legal_screen != FALSE)) { - set_menu_to_mode(MENU_NO_CONTROLLERS,1); - } - else { - set_menu_to_mode(MENU_NINTENDO_LOGO,1); - } - } - return; -} -#else -GLOBAL_ASM( -.text -glabel interface_menu00_legalscreen -/* 03F20C 7F00A6DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 03F220 7F00A6F0 00000000 */ nop -/* 03F224 7F00A6F4 3C018005 */ lui $at, %hi(D_800519E4) -/* 03F228 7F00A6F8 0C001164 */ jal video_related_21 -/* 03F22C 7F00A6FC C42C19E4 */ lwc1 $f12, %lo(D_800519E4)($at) -/* 03F230 7F00A700 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 03F234 7F00A704 44816000 */ mtc1 $at, $f12 -/* 03F238 7F00A708 3C018005 */ lui $at, %hi(D_800519E8) -/* 03F23C 7F00A70C 0C001194 */ jal set_page_height -/* 03F240 7F00A710 C42E19E8 */ lwc1 $f14, %lo(D_800519E8)($at) -/* 03F244 7F00A714 0C00114D */ jal set_video2_settings_offset_24 -/* 03F248 7F00A718 00002025 */ move $a0, $zero -/* 03F24C 7F00A71C 3C028003 */ lui $v0, %hi(menu_timer) -/* 03F250 7F00A720 2442A8CC */ addiu $v0, %lo(menu_timer) # addiu $v0, $v0, -0x5734 -/* 03F254 7F00A724 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 03F258 7F00A728 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 03F25C 7F00A72C 8C4E0000 */ lw $t6, ($v0) -/* 03F260 7F00A730 00002025 */ move $a0, $zero -/* 03F264 7F00A734 01CFC021 */ addu $t8, $t6, $t7 -/* 03F268 7F00A738 2B0100F1 */ slti $at, $t8, 0xf1 -/* 03F26C 7F00A73C 14200012 */ bnez $at, .L7F00A788 -/* 03F270 7F00A740 AC580000 */ sw $t8, ($v0) -/* 03F274 7F00A744 0C002E7E */ jal get_attached_controller_count -/* 03F278 7F00A748 00000000 */ nop -/* 03F27C 7F00A74C 1C400009 */ bgtz $v0, .L7F00A774 -/* 03F280 7F00A750 3C088003 */ lui $t0, %hi(is_first_time_on_legal_screen) -/* 03F284 7F00A754 8D08A92C */ lw $t0, %lo(is_first_time_on_legal_screen)($t0) -/* 03F288 7F00A758 24040016 */ li $a0, 22 -/* 03F28C 7F00A75C 51000006 */ beql $t0, $zero, .L7F00A778 -/* 03F290 7F00A760 24040001 */ li $a0, 1 -/* 03F294 7F00A764 0FC06975 */ jal set_menu_to_mode -/* 03F298 7F00A768 24050001 */ li $a1, 1 -/* 03F29C 7F00A76C 1000001A */ b .L7F00A7D8 -/* 03F2A0 7F00A770 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00A774: -/* 03F2A4 7F00A774 24040001 */ li $a0, 1 -.L7F00A778: -/* 03F2A8 7F00A778 0FC06975 */ jal set_menu_to_mode -/* 03F2AC 7F00A77C 24050001 */ li $a1, 1 -/* 03F2B0 7F00A780 10000015 */ b .L7F00A7D8 -/* 03F2B4 7F00A784 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00A788: -/* 03F2B8 7F00A788 0C0030EB */ jal get_controller_buttons_pressed -/* 03F2BC 7F00A78C 3405FFFF */ li $a1, 65535 -/* 03F2C0 7F00A790 10400010 */ beqz $v0, .L7F00A7D4 -/* 03F2C4 7F00A794 3C098003 */ lui $t1, %hi(is_first_time_on_legal_screen) -/* 03F2C8 7F00A798 8D29A92C */ lw $t1, %lo(is_first_time_on_legal_screen)($t1) -/* 03F2CC 7F00A79C 3C0A8003 */ lui $t2, %hi(is_first_time_on_main_menu) -/* 03F2D0 7F00A7A0 5520000D */ bnezl $t1, .L7F00A7D8 -/* 03F2D4 7F00A7A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 03F2D8 7F00A7A8 8D4AA930 */ lw $t2, %lo(is_first_time_on_main_menu)($t2) -/* 03F2DC 7F00A7AC 24050001 */ li $a1, 1 -/* 03F2E0 7F00A7B0 24040001 */ li $a0, 1 -/* 03F2E4 7F00A7B4 15400005 */ bnez $t2, .L7F00A7CC -/* 03F2E8 7F00A7B8 00000000 */ nop -/* 03F2EC 7F00A7BC 0FC06975 */ jal set_menu_to_mode -/* 03F2F0 7F00A7C0 24040005 */ li $a0, 5 -/* 03F2F4 7F00A7C4 10000004 */ b .L7F00A7D8 -/* 03F2F8 7F00A7C8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00A7CC: -/* 03F2FC 7F00A7CC 0FC06975 */ jal set_menu_to_mode -/* 03F300 7F00A7D0 24050001 */ li $a1, 1 -.L7F00A7D4: -/* 03F304 7F00A7D4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00A7D8: -/* 03F308 7F00A7D8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03F30C 7F00A7DC 03E00008 */ jr $ra -/* 03F310 7F00A7E0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void display_aligned_white_text_to_screen(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, ? arg5, ?32 arg6, ?32 arg7) -{ - s32 sp4C; - s32 sp48; - s32 sp44; - s32 sp40; - s16 sp3C; - s32 temp_lo; - s32 temp_lo_2; - s32 phi_t0; - s32 phi_t6; - - sp48 = 0; - sp4C = 0; - sub_GAME_7F0AE98C(&sp4C, &sp48, arg5, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - temp_lo = arg3 * sp48; - phi_t0 = temp_lo >> 1; - if (temp_lo < 0) - { - phi_t0 = (s32) (temp_lo + 1) >> 1; - } - temp_lo_2 = arg4 * sp4C; - sp44 = (s32) (arg1 - phi_t0); - phi_t6 = temp_lo_2 >> 1; - if (temp_lo_2 < 0) - { - phi_t6 = (s32) (temp_lo_2 + 1) >> 1; - } - sp40 = (s32) (arg2 - phi_t6); - sp3C = get_video2_settings_txtClipW(); - en_text_write_stuff(arg0, &sp44, &sp40, arg5, arg6, arg7, -1, sp3C, get_video2_settings_txtClipH(), 0, 0); -} -#else -GLOBAL_ASM( -.text -glabel display_aligned_white_text_to_screen -/* 03F314 7F00A7E4 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 03F318 7F00A7E8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 03F31C 7F00A7EC 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 03F320 7F00A7F0 AFA7005C */ sw $a3, 0x5c($sp) -/* 03F324 7F00A7F4 AFBF0034 */ sw $ra, 0x34($sp) -/* 03F328 7F00A7F8 AFA40050 */ sw $a0, 0x50($sp) -/* 03F32C 7F00A7FC AFA50054 */ sw $a1, 0x54($sp) -/* 03F330 7F00A800 AFA60058 */ sw $a2, 0x58($sp) -/* 03F334 7F00A804 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 03F338 7F00A808 AFA00048 */ sw $zero, 0x48($sp) -/* 03F33C 7F00A80C AFA0004C */ sw $zero, 0x4c($sp) -/* 03F340 7F00A810 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 03F344 7F00A814 8FA60064 */ lw $a2, 0x64($sp) -/* 03F348 7F00A818 27A50048 */ addiu $a1, $sp, 0x48 -/* 03F34C 7F00A81C 27A4004C */ addiu $a0, $sp, 0x4c -/* 03F350 7F00A820 AFA00014 */ sw $zero, 0x14($sp) -/* 03F354 7F00A824 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 03F358 7F00A828 AFAE0010 */ sw $t6, 0x10($sp) -/* 03F35C 7F00A82C 8FAF005C */ lw $t7, 0x5c($sp) -/* 03F360 7F00A830 8FB80048 */ lw $t8, 0x48($sp) -/* 03F364 7F00A834 8FAB0060 */ lw $t3, 0x60($sp) -/* 03F368 7F00A838 8FAC004C */ lw $t4, 0x4c($sp) -/* 03F36C 7F00A83C 01F80019 */ multu $t7, $t8 -/* 03F370 7F00A840 8FA90054 */ lw $t1, 0x54($sp) -/* 03F374 7F00A844 8FAF0058 */ lw $t7, 0x58($sp) -/* 03F378 7F00A848 0000C812 */ mflo $t9 -/* 03F37C 7F00A84C 07210003 */ bgez $t9, .L7F00A85C -/* 03F380 7F00A850 00194043 */ sra $t0, $t9, 1 -/* 03F384 7F00A854 27210001 */ addiu $at, $t9, 1 -/* 03F388 7F00A858 00014043 */ sra $t0, $at, 1 -.L7F00A85C: -/* 03F38C 7F00A85C 016C0019 */ multu $t3, $t4 -/* 03F390 7F00A860 01285023 */ subu $t2, $t1, $t0 -/* 03F394 7F00A864 AFAA0044 */ sw $t2, 0x44($sp) -/* 03F398 7F00A868 00006812 */ mflo $t5 -/* 03F39C 7F00A86C 05A10003 */ bgez $t5, .L7F00A87C -/* 03F3A0 7F00A870 000D7043 */ sra $t6, $t5, 1 -/* 03F3A4 7F00A874 25A10001 */ addiu $at, $t5, 1 -/* 03F3A8 7F00A878 00017043 */ sra $t6, $at, 1 -.L7F00A87C: -/* 03F3AC 7F00A87C 01EEC023 */ subu $t8, $t7, $t6 -/* 03F3B0 7F00A880 0C001107 */ jal get_video2_settings_txtClipW -/* 03F3B4 7F00A884 AFB80040 */ sw $t8, 0x40($sp) -/* 03F3B8 7F00A888 0C00110B */ jal get_video2_settings_txtClipH -/* 03F3BC 7F00A88C A7A2003C */ sh $v0, 0x3c($sp) -/* 03F3C0 7F00A890 8FB90068 */ lw $t9, 0x68($sp) -/* 03F3C4 7F00A894 8FA9006C */ lw $t1, 0x6c($sp) -/* 03F3C8 7F00A898 87AA003C */ lh $t2, 0x3c($sp) -/* 03F3CC 7F00A89C 2408FFFF */ li $t0, -1 -/* 03F3D0 7F00A8A0 AFA80018 */ sw $t0, 0x18($sp) -/* 03F3D4 7F00A8A4 8FA40050 */ lw $a0, 0x50($sp) -/* 03F3D8 7F00A8A8 27A50044 */ addiu $a1, $sp, 0x44 -/* 03F3DC 7F00A8AC 27A60040 */ addiu $a2, $sp, 0x40 -/* 03F3E0 7F00A8B0 8FA70064 */ lw $a3, 0x64($sp) -/* 03F3E4 7F00A8B4 AFA20020 */ sw $v0, 0x20($sp) -/* 03F3E8 7F00A8B8 AFA00024 */ sw $zero, 0x24($sp) -/* 03F3EC 7F00A8BC AFA00028 */ sw $zero, 0x28($sp) -/* 03F3F0 7F00A8C0 AFB90010 */ sw $t9, 0x10($sp) -/* 03F3F4 7F00A8C4 AFA90014 */ sw $t1, 0x14($sp) -/* 03F3F8 7F00A8C8 0FC2B6AF */ jal en_text_write_stuff -/* 03F3FC 7F00A8CC AFAA001C */ sw $t2, 0x1c($sp) -/* 03F400 7F00A8D0 8FBF0034 */ lw $ra, 0x34($sp) -/* 03F404 7F00A8D4 27BD0050 */ addiu $sp, $sp, 0x50 -/* 03F408 7F00A8D8 03E00008 */ jr $ra -/* 03F40C 7F00A8DC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void constructor_menu00_legalscreen(s32 arg0) -{ - s32 spF4; - ?32 spEC; - ?32 spE8; - ? spE4; - ? spA0; - ? sp58; - s32 temp_ret; - s32 temp_s0; - u32 temp_s0_2; - void *temp_t0; - void *temp_t6; - void *phi_t6; - void *phi_t0; - s32 phi_s1; - s32 phi_s0; - void *phi_s0_2; - s32 phi_s4; - - phi_t6 = &D_8002AABC; - phi_t0 = &spE4; -loop_1: - temp_t6 = phi_t6 + 0xc; - temp_t0 = phi_t0 + 0xc; - temp_t0->unk-C = (?32) *phi_t6; - temp_t0->unk-8 = (?32) temp_t6->unk-8; - temp_t0->unk-4 = (?32) temp_t6->unk-4; - phi_t6 = temp_t6; - phi_t0 = temp_t0; - if (temp_t6 != (&D_8002AABC + 0x3c)) - { - goto loop_1; - } - temp_t0->unk0 = (?32) temp_t6->unk0; - insert_imageDL(arg0); - sub_GAME_7F059694(&spA0, 0.0f, 0.0f, 0x457a0000, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); - temp_ret = sub_GAME_7F0BD714(something_legalscreen_constructor->unk8->unkE << 6); - spF4 = temp_ret; - sub_GAME_7F058020(&spA0, temp_ret); - something_legalscreen_constructor->unkC = spF4; - sub_GAME_7F06EFC4(something_legalscreen_constructor); - spEC = 3; - spE8 = 0; - subdraw(&spE4, something_legalscreen_constructor); - phi_s1 = 0; - phi_s0 = 0; - if (something_legalscreen_constructor->unk8->unkE > 0) - { -loop_3: - sub_GAME_7F058020(something_legalscreen_constructor->unkC + phi_s1, &sp58); - sub_GAME_7F058C9C(&sp58, something_legalscreen_constructor->unkC + (phi_s0 << 6)); - temp_s0 = phi_s0 + 1; - phi_s1 = phi_s1 + 0x40; - phi_s0 = temp_s0; - if (temp_s0 < something_legalscreen_constructor->unk8->unkE) - { - goto loop_3; - } - } - phi_s0_2 = &D_8002A9CC; - phi_s4 = microcode_constructor(spF0); -loop_5: - temp_s0_2 = phi_s0_2 + 0x14; - phi_s0_2 = temp_s0_2; - phi_s4 = display_aligned_white_text_to_screen(phi_s4, phi_s0_2->unk0, phi_s0_2->unk4, phi_s0_2->unk8, (?32) phi_s0_2->unkC, get_textptr_for_textID(phi_s0_2->unk10), (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge); - if (temp_s0_2 < &D_8002AABC) - { - goto loop_5; - } -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu00_legalscreen -/* 03F410 7F00A8E0 27BDFED8 */ addiu $sp, $sp, -0x128 -/* 03F414 7F00A8E4 AFB10034 */ sw $s1, 0x34($sp) -/* 03F418 7F00A8E8 3C0E8003 */ lui $t6, %hi(D_8002AABC) -/* 03F41C 7F00A8EC 27B100E4 */ addiu $s1, $sp, 0xe4 -/* 03F420 7F00A8F0 AFB40040 */ sw $s4, 0x40($sp) -/* 03F424 7F00A8F4 25CEAABC */ addiu $t6, %lo(D_8002AABC) # addiu $t6, $t6, -0x5544 -/* 03F428 7F00A8F8 0080A025 */ move $s4, $a0 -/* 03F42C 7F00A8FC AFBF0044 */ sw $ra, 0x44($sp) -/* 03F430 7F00A900 AFB3003C */ sw $s3, 0x3c($sp) -/* 03F434 7F00A904 AFB20038 */ sw $s2, 0x38($sp) -/* 03F438 7F00A908 AFB00030 */ sw $s0, 0x30($sp) -/* 03F43C 7F00A90C 25D9003C */ addiu $t9, $t6, 0x3c -/* 03F440 7F00A910 02204025 */ move $t0, $s1 -.L7F00A914: -/* 03F444 7F00A914 8DC10000 */ lw $at, ($t6) -/* 03F448 7F00A918 25CE000C */ addiu $t6, $t6, 0xc -/* 03F44C 7F00A91C 2508000C */ addiu $t0, $t0, 0xc -/* 03F450 7F00A920 AD01FFF4 */ sw $at, -0xc($t0) -/* 03F454 7F00A924 8DC1FFF8 */ lw $at, -8($t6) -/* 03F458 7F00A928 AD01FFF8 */ sw $at, -8($t0) -/* 03F45C 7F00A92C 8DC1FFFC */ lw $at, -4($t6) -/* 03F460 7F00A930 15D9FFF8 */ bne $t6, $t9, .L7F00A914 -/* 03F464 7F00A934 AD01FFFC */ sw $at, -4($t0) -/* 03F468 7F00A938 8DC10000 */ lw $at, ($t6) -/* 03F46C 7F00A93C 02802025 */ move $a0, $s4 -/* 03F470 7F00A940 0FC07034 */ jal insert_imageDL -/* 03F474 7F00A944 AD010000 */ sw $at, ($t0) -/* 03F478 7F00A948 44800000 */ mtc1 $zero, $f0 -/* 03F47C 7F00A94C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03F480 7F00A950 44812000 */ mtc1 $at, $f4 -/* 03F484 7F00A954 27B000A0 */ addiu $s0, $sp, 0xa0 -/* 03F488 7F00A958 44050000 */ mfc1 $a1, $f0 -/* 03F48C 7F00A95C 44060000 */ mfc1 $a2, $f0 -/* 03F490 7F00A960 0040A025 */ move $s4, $v0 -/* 03F494 7F00A964 02002025 */ move $a0, $s0 -/* 03F498 7F00A968 3C07457A */ lui $a3, 0x457a -/* 03F49C 7F00A96C E7A00010 */ swc1 $f0, 0x10($sp) -/* 03F4A0 7F00A970 E7A00014 */ swc1 $f0, 0x14($sp) -/* 03F4A4 7F00A974 E7A00018 */ swc1 $f0, 0x18($sp) -/* 03F4A8 7F00A978 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 03F4AC 7F00A97C E7A00024 */ swc1 $f0, 0x24($sp) -/* 03F4B0 7F00A980 0FC165A5 */ jal sub_GAME_7F059694 -/* 03F4B4 7F00A984 E7A40020 */ swc1 $f4, 0x20($sp) -/* 03F4B8 7F00A988 3C138003 */ lui $s3, %hi(something_legalscreen_constructor) -/* 03F4BC 7F00A98C 2673A958 */ addiu $s3, %lo(something_legalscreen_constructor) # addiu $s3, $s3, -0x56a8 -/* 03F4C0 7F00A990 8E690000 */ lw $t1, ($s3) -/* 03F4C4 7F00A994 AFB000E4 */ sw $s0, 0xe4($sp) -/* 03F4C8 7F00A998 8D2A0008 */ lw $t2, 8($t1) -/* 03F4CC 7F00A99C 8544000E */ lh $a0, 0xe($t2) -/* 03F4D0 7F00A9A0 00045980 */ sll $t3, $a0, 6 -/* 03F4D4 7F00A9A4 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 03F4D8 7F00A9A8 01602025 */ move $a0, $t3 -/* 03F4DC 7F00A9AC AFA200F4 */ sw $v0, 0xf4($sp) -/* 03F4E0 7F00A9B0 02002025 */ move $a0, $s0 -/* 03F4E4 7F00A9B4 0FC16008 */ jal sub_GAME_7F058020 -/* 03F4E8 7F00A9B8 00402825 */ move $a1, $v0 -/* 03F4EC 7F00A9BC 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 03F4F0 7F00A9C0 8E6D0000 */ lw $t5, ($s3) -/* 03F4F4 7F00A9C4 ADAC000C */ sw $t4, 0xc($t5) -/* 03F4F8 7F00A9C8 0FC1BBF1 */ jal sub_GAME_7F06EFC4 -/* 03F4FC 7F00A9CC 8E640000 */ lw $a0, ($s3) -/* 03F500 7F00A9D0 24180003 */ li $t8, 3 -/* 03F504 7F00A9D4 AFB800EC */ sw $t8, 0xec($sp) -/* 03F508 7F00A9D8 AFA000E8 */ sw $zero, 0xe8($sp) -/* 03F50C 7F00A9DC AFB400F0 */ sw $s4, 0xf0($sp) -/* 03F510 7F00A9E0 02202025 */ move $a0, $s1 -/* 03F514 7F00A9E4 0FC1D1A1 */ jal subdraw -/* 03F518 7F00A9E8 8E650000 */ lw $a1, ($s3) -/* 03F51C 7F00A9EC 8E620000 */ lw $v0, ($s3) -/* 03F520 7F00A9F0 8FB400F0 */ lw $s4, 0xf0($sp) -/* 03F524 7F00A9F4 00008025 */ move $s0, $zero -/* 03F528 7F00A9F8 8C4F0008 */ lw $t7, 8($v0) -/* 03F52C 7F00A9FC 00008825 */ move $s1, $zero -/* 03F530 7F00AA00 27B20058 */ addiu $s2, $sp, 0x58 -/* 03F534 7F00AA04 85F9000E */ lh $t9, 0xe($t7) -/* 03F538 7F00AA08 1B200013 */ blez $t9, .L7F00AA58 -/* 03F53C 7F00AA0C 00000000 */ nop -/* 03F540 7F00AA10 8C4E000C */ lw $t6, 0xc($v0) -.L7F00AA14: -/* 03F544 7F00AA14 02402825 */ move $a1, $s2 -/* 03F548 7F00AA18 0FC16008 */ jal sub_GAME_7F058020 -/* 03F54C 7F00AA1C 01D12021 */ addu $a0, $t6, $s1 -/* 03F550 7F00AA20 8E680000 */ lw $t0, ($s3) -/* 03F554 7F00AA24 00105180 */ sll $t2, $s0, 6 -/* 03F558 7F00AA28 02402025 */ move $a0, $s2 -/* 03F55C 7F00AA2C 8D09000C */ lw $t1, 0xc($t0) -/* 03F560 7F00AA30 0FC16327 */ jal sub_GAME_7F058C9C -/* 03F564 7F00AA34 012A2821 */ addu $a1, $t1, $t2 -/* 03F568 7F00AA38 8E620000 */ lw $v0, ($s3) -/* 03F56C 7F00AA3C 26100001 */ addiu $s0, $s0, 1 -/* 03F570 7F00AA40 26310040 */ addiu $s1, $s1, 0x40 -/* 03F574 7F00AA44 8C4B0008 */ lw $t3, 8($v0) -/* 03F578 7F00AA48 856C000E */ lh $t4, 0xe($t3) -/* 03F57C 7F00AA4C 020C082A */ slt $at, $s0, $t4 -/* 03F580 7F00AA50 5420FFF0 */ bnezl $at, .L7F00AA14 -/* 03F584 7F00AA54 8C4E000C */ lw $t6, 0xc($v0) -.L7F00AA58: -/* 03F588 7F00AA58 0FC2B366 */ jal microcode_constructor -/* 03F58C 7F00AA5C 02802025 */ move $a0, $s4 -/* 03F590 7F00AA60 3C108003 */ lui $s0, %hi(D_8002A9CC) -/* 03F594 7F00AA64 3C118003 */ lui $s1, %hi(D_8002AABC) -/* 03F598 7F00AA68 3C138004 */ lui $s3, %hi(ptrFirstFontTableLarge) -/* 03F59C 7F00AA6C 3C128004 */ lui $s2, %hi(ptrSecondFontTableLarge) -/* 03F5A0 7F00AA70 0040A025 */ move $s4, $v0 -/* 03F5A4 7F00AA74 2610A9CC */ addiu $s0, %lo(D_8002A9CC) # addiu $s0, $s0, -0x5634 -/* 03F5A8 7F00AA78 2631AABC */ addiu $s1, %lo(D_8002AABC) # addiu $s1, $s1, -0x5544 -/* 03F5AC 7F00AA7C 26520EB8 */ addiu $s2, %lo(ptrSecondFontTableLarge) # addiu $s2, $s2, 0xeb8 -/* 03F5B0 7F00AA80 26730EB4 */ addiu $s3, %lo(ptrFirstFontTableLarge) # addiu $s3, $s3, 0xeb4 -.L7F00AA84: -/* 03F5B4 7F00AA84 0FC30776 */ jal get_textptr_for_textID -/* 03F5B8 7F00AA88 96040010 */ lhu $a0, 0x10($s0) -/* 03F5BC 7F00AA8C 8E0D000C */ lw $t5, 0xc($s0) -/* 03F5C0 7F00AA90 8E050000 */ lw $a1, ($s0) -/* 03F5C4 7F00AA94 8E060004 */ lw $a2, 4($s0) -/* 03F5C8 7F00AA98 8E070008 */ lw $a3, 8($s0) -/* 03F5CC 7F00AA9C 8E580000 */ lw $t8, ($s2) -/* 03F5D0 7F00AAA0 8E6F0000 */ lw $t7, ($s3) -/* 03F5D4 7F00AAA4 AFA20014 */ sw $v0, 0x14($sp) -/* 03F5D8 7F00AAA8 02802025 */ move $a0, $s4 -/* 03F5DC 7F00AAAC AFAD0010 */ sw $t5, 0x10($sp) -/* 03F5E0 7F00AAB0 AFB80018 */ sw $t8, 0x18($sp) -/* 03F5E4 7F00AAB4 0FC029F9 */ jal display_aligned_white_text_to_screen -/* 03F5E8 7F00AAB8 AFAF001C */ sw $t7, 0x1c($sp) -/* 03F5EC 7F00AABC 26100014 */ addiu $s0, $s0, 0x14 -/* 03F5F0 7F00AAC0 0211082B */ sltu $at, $s0, $s1 -/* 03F5F4 7F00AAC4 1420FFEF */ bnez $at, .L7F00AA84 -/* 03F5F8 7F00AAC8 0040A025 */ move $s4, $v0 -/* 03F5FC 7F00AACC 8FBF0044 */ lw $ra, 0x44($sp) -/* 03F600 7F00AAD0 8FB00030 */ lw $s0, 0x30($sp) -/* 03F604 7F00AAD4 8FB10034 */ lw $s1, 0x34($sp) -/* 03F608 7F00AAD8 8FB20038 */ lw $s2, 0x38($sp) -/* 03F60C 7F00AADC 8FB3003C */ lw $s3, 0x3c($sp) -/* 03F610 7F00AAE0 8FB40040 */ lw $s4, 0x40($sp) -/* 03F614 7F00AAE4 03E00008 */ jr $ra -/* 03F618 7F00AAE8 27BD0128 */ addiu $sp, $sp, 0x128 -) -#endif - - - -void reset_menutimer(void) { - menu_timer = 0; -} - -void dummy7F00AAF8(void) { - // (function likely stub) -} - - - - - -#ifdef NONMATCHING -void *interface_menu17_switchscreens(void) -{ - s32 temp_t7; - - setvideo_far(0x42700000); - video_related_21(D_800519EC); - set_page_height(0x42c80000, D_800519F0); - set_video2_settings_offset_24(0); - temp_t7 = menu_timer + 1; - menu_timer = temp_t7; - if (temp_t7 >= 4) - { - if (spectrum_related_flag == 0) - { - if (is_emulating_spectrum == 0) - { - maybe_prev_menu = (?32) menu_update; - menu_update = -1; - } - } - } - return &menu_timer; -} -#else -GLOBAL_ASM( -.text -glabel interface_menu17_switchscreens -/* 03F630 7F00AB00 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 03F644 7F00AB14 00000000 */ nop -/* 03F648 7F00AB18 3C018005 */ lui $at, %hi(D_800519EC) -/* 03F64C 7F00AB1C 0C001164 */ jal video_related_21 -/* 03F650 7F00AB20 C42C19EC */ lwc1 $f12, %lo(D_800519EC)($at) -/* 03F654 7F00AB24 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 03F658 7F00AB28 44816000 */ mtc1 $at, $f12 -/* 03F65C 7F00AB2C 3C018005 */ lui $at, %hi(D_800519F0) -/* 03F660 7F00AB30 0C001194 */ jal set_page_height -/* 03F664 7F00AB34 C42E19F0 */ lwc1 $f14, %lo(D_800519F0)($at) -/* 03F668 7F00AB38 0C00114D */ jal set_video2_settings_offset_24 -/* 03F66C 7F00AB3C 00002025 */ move $a0, $zero -/* 03F670 7F00AB40 3C028003 */ lui $v0, %hi(menu_timer) -/* 03F674 7F00AB44 2442A8CC */ addiu $v0, %lo(menu_timer) # addiu $v0, $v0, -0x5734 -/* 03F678 7F00AB48 8C4E0000 */ lw $t6, ($v0) -/* 03F67C 7F00AB4C 3C198003 */ lui $t9, %hi(spectrum_related_flag) -/* 03F680 7F00AB50 25CF0001 */ addiu $t7, $t6, 1 -/* 03F684 7F00AB54 29E10004 */ slti $at, $t7, 4 -/* 03F688 7F00AB58 1420000F */ bnez $at, .L7F00AB98 -/* 03F68C 7F00AB5C AC4F0000 */ sw $t7, ($v0) -/* 03F690 7F00AB60 8F39A944 */ lw $t9, %lo(spectrum_related_flag)($t9) -/* 03F694 7F00AB64 3C088003 */ lui $t0, %hi(is_emulating_spectrum) -/* 03F698 7F00AB68 5720000C */ bnezl $t9, .L7F00AB9C -/* 03F69C 7F00AB6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 03F6A0 7F00AB70 8D08A948 */ lw $t0, %lo(is_emulating_spectrum)($t0) -/* 03F6A4 7F00AB74 3C028003 */ lui $v0, %hi(menu_update) -/* 03F6A8 7F00AB78 2442A8C4 */ addiu $v0, %lo(menu_update) # addiu $v0, $v0, -0x573c -/* 03F6AC 7F00AB7C 55000007 */ bnezl $t0, .L7F00AB9C -/* 03F6B0 7F00AB80 8FBF0014 */ lw $ra, 0x14($sp) -/* 03F6B4 7F00AB84 8C490000 */ lw $t1, ($v0) -/* 03F6B8 7F00AB88 3C018003 */ lui $at, %hi(maybe_prev_menu) -/* 03F6BC 7F00AB8C 240AFFFF */ li $t2, -1 -/* 03F6C0 7F00AB90 AC29A8C8 */ sw $t1, %lo(maybe_prev_menu)($at) -/* 03F6C4 7F00AB94 AC4A0000 */ sw $t2, ($v0) -.L7F00AB98: -/* 03F6C8 7F00AB98 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00AB9C: -/* 03F6CC 7F00AB9C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03F6D0 7F00ABA0 03E00008 */ jr $ra -/* 03F6D4 7F00ABA4 00000000 */ nop -) -#endif - - - - -void constructor_menu17_switchscreens(Gfx * DL) -{ - insert_imageDL(DL); -} - - - - - - - -#ifdef NONMATCHING -void init_menu01_nintendo(void) -{ - struct xyzpoint local_c; - - menu_timer = 0; - 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( -.text -glabel init_menu01_nintendo -/* 03F6F8 7F00ABC8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03F6FC 7F00ABCC 3C018003 */ lui $at, %hi(menu_timer) -/* 03F700 7F00ABD0 3C0F8003 */ lui $t7, %hi(D_8002AAFC) -/* 03F704 7F00ABD4 AFBF001C */ sw $ra, 0x1c($sp) -/* 03F708 7F00ABD8 AC20A8CC */ sw $zero, %lo(menu_timer)($at) -/* 03F70C 7F00ABDC 25EFAAFC */ addiu $t7, %lo(D_8002AAFC) # addiu $t7, $t7, -0x5504 -/* 03F710 7F00ABE0 8DE10000 */ lw $at, ($t7) -/* 03F714 7F00ABE4 27AE0024 */ addiu $t6, $sp, 0x24 -/* 03F718 7F00ABE8 8DE80004 */ lw $t0, 4($t7) -/* 03F71C 7F00ABEC ADC10000 */ sw $at, ($t6) -/* 03F720 7F00ABF0 8DE10008 */ lw $at, 8($t7) -/* 03F724 7F00ABF4 ADC80004 */ sw $t0, 4($t6) -/* 03F728 7F00ABF8 3C028004 */ lui $v0, %hi(PitemZ_entries) -/* 03F72C 7F00ABFC ADC10008 */ sw $at, 8($t6) -/* 03F730 7F00AC00 2442A228 */ addiu $v0, %lo(PitemZ_entries) # addiu $v0, $v0, -0x5dd8 -/* 03F734 7F00AC04 3C068003 */ lui $a2, %hi(ptr_logo_and_walletbond_DL) -/* 03F738 7F00AC08 3C070003 */ lui $a3, (0x0003C000 >> 16) # lui $a3, 3 -/* 03F73C 7F00AC0C 34E7C000 */ ori $a3, (0x0003C000 & 0xFFFF) # ori $a3, $a3, 0xc000 -/* 03F740 7F00AC10 8CC6A950 */ lw $a2, %lo(ptr_logo_and_walletbond_DL)($a2) -/* 03F744 7F00AC14 8C440CF0 */ lw $a0, 0xcf0($v0) -/* 03F748 7F00AC18 8C450CF4 */ lw $a1, 0xcf4($v0) -/* 03F74C 7F00AC1C 0FC1D929 */ jal load_object_fill_header -/* 03F750 7F00AC20 AFA00010 */ sw $zero, 0x10($sp) -/* 03F754 7F00AC24 3C048004 */ lui $a0, %hi(PitemZ_entries+0xCF0) -/* 03F758 7F00AC28 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 03F75C 7F00AC2C 8C84AF18 */ lw $a0, %lo(PitemZ_entries+0xCF0)($a0) -/* 03F760 7F00AC30 3C048004 */ lui $a0, %hi(PitemZ_entries+0xCF0) -/* 03F764 7F00AC34 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 03F768 7F00AC38 8C84AF18 */ lw $a0, %lo(PitemZ_entries+0xCF0)($a0) -/* 03F76C 7F00AC3C 3C038003 */ lui $v1, %hi(something_legalscreen_constructor) -/* 03F770 7F00AC40 2463A958 */ addiu $v1, %lo(something_legalscreen_constructor) # addiu $v1, $v1, -0x56a8 -/* 03F774 7F00AC44 AC620000 */ sw $v0, ($v1) -/* 03F778 7F00AC48 00402025 */ move $a0, $v0 -/* 03F77C 7F00AC4C 0FC1B39E */ jal set_obj_instance_controller_scale -/* 03F780 7F00AC50 3C053F80 */ lui $a1, 0x3f80 -/* 03F784 7F00AC54 3C048003 */ lui $a0, %hi(something_legalscreen_constructor) -/* 03F788 7F00AC58 8C84A958 */ lw $a0, %lo(something_legalscreen_constructor)($a0) -/* 03F78C 7F00AC5C 0FC1B303 */ jal setsuboffset -/* 03F790 7F00AC60 27A50024 */ addiu $a1, $sp, 0x24 -/* 03F794 7F00AC64 0C001B9F */ jal musicTrack1Play -/* 03F798 7F00AC68 2404002C */ li $a0, 44 -/* 03F79C 7F00AC6C 24090001 */ li $t1, 1 -/* 03F7A0 7F00AC70 3C018003 */ lui $at, %hi(maybe_is_in_menu) -/* 03F7A4 7F00AC74 AC29A93C */ sw $t1, %lo(maybe_is_in_menu)($at) -/* 03F7A8 7F00AC78 3C018005 */ lui $at, %hi(D_800519F4) -/* 03F7AC 7F00AC7C C42419F4 */ lwc1 $f4, %lo(D_800519F4)($at) -/* 03F7B0 7F00AC80 3C018007 */ lui $at, %hi(flt_CODE_bss_80069614) -/* 03F7B4 7F00AC84 8FBF001C */ lw $ra, 0x1c($sp) -/* 03F7B8 7F00AC88 E4249614 */ swc1 $f4, %lo(flt_CODE_bss_80069614)($at) -/* 03F7BC 7F00AC8C 3C018005 */ lui $at, %hi(D_800519F8) -/* 03F7C0 7F00AC90 C42619F8 */ lwc1 $f6, %lo(D_800519F8)($at) -/* 03F7C4 7F00AC94 3C018007 */ lui $at, %hi(flt_CODE_bss_80069618) -/* 03F7C8 7F00AC98 27BD0030 */ addiu $sp, $sp, 0x30 -/* 03F7CC 7F00AC9C 03E00008 */ jr $ra -/* 03F7D0 7F00ACA0 E4269618 */ swc1 $f6, %lo(flt_CODE_bss_80069618)($at) -) -#endif - - - - - -void update_menu01_nintendo(void) -{ - set_obj_instance_scale_to_zero(something_legalscreen_constructor); -} - - - - -#ifdef NONMATCHING -extern f32 menu01_aspect; -extern f32 menu01_pageheight; - -void interface_menu01_nintendo(void) -{ - setvideo_far(60.0f); - video_related_21(menu01_aspect); - set_page_height(100.0f, menu01_pageheight); - set_video2_settings_offset_24(0.0f); - - menu_timer = menu_timer + clock_timer; - if (menu_timer < 501) - { - if (get_controller_buttons_pressed(0, 0xffff) != 0) - { - 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); - } - } - } - else - { - set_menu_to_mode(MENU_RAREWARE_LOGO, 1); - return; - } -} -#else -GLOBAL_ASM( -.text -glabel interface_menu01_nintendo -/* 03F7F8 7F00ACC8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 03F80C 7F00ACDC 00000000 */ nop -/* 03F810 7F00ACE0 3C018005 */ lui $at, %hi(menu01_aspect) -/* 03F814 7F00ACE4 0C001164 */ jal video_related_21 -/* 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(menu01_pageheight) -/* 03F828 7F00ACF8 0C001194 */ jal set_page_height -/* 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) -/* 03F83C 7F00AD0C 2442A8CC */ addiu $v0, %lo(menu_timer) # addiu $v0, $v0, -0x5734 -/* 03F840 7F00AD10 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 03F844 7F00AD14 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 03F848 7F00AD18 8C4E0000 */ lw $t6, ($v0) -/* 03F84C 7F00AD1C 24050001 */ li $a1, 1 -/* 03F850 7F00AD20 00002025 */ move $a0, $zero -/* 03F854 7F00AD24 01CFC021 */ addu $t8, $t6, $t7 -/* 03F858 7F00AD28 2B0101F5 */ slti $at, $t8, 0x1f5 -/* 03F85C 7F00AD2C 14200005 */ bnez $at, .L7F00AD44 -/* 03F860 7F00AD30 AC580000 */ sw $t8, ($v0) -/* 03F864 7F00AD34 0FC06975 */ jal set_menu_to_mode -/* 03F868 7F00AD38 24040002 */ li $a0, 2 -/* 03F86C 7F00AD3C 10000013 */ b .L7F00AD8C -/* 03F870 7F00AD40 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00AD44: -/* 03F874 7F00AD44 0C0030EB */ jal get_controller_buttons_pressed -/* 03F878 7F00AD48 3405FFFF */ li $a1, 65535 -/* 03F87C 7F00AD4C 1040000E */ beqz $v0, .L7F00AD88 -/* 03F880 7F00AD50 3C088003 */ lui $t0, %hi(is_first_time_on_main_menu) -/* 03F884 7F00AD54 8D08A930 */ lw $t0, %lo(is_first_time_on_main_menu)($t0) -/* 03F888 7F00AD58 24090001 */ li $t1, 1 -/* 03F88C 7F00AD5C 3C018003 */ lui $at, %hi(prev_keypresses) -/* 03F890 7F00AD60 15000006 */ bnez $t0, .L7F00AD7C -/* 03F894 7F00AD64 24040002 */ li $a0, 2 -/* 03F898 7F00AD68 24040005 */ li $a0, 5 -/* 03F89C 7F00AD6C 0FC06975 */ jal set_menu_to_mode -/* 03F8A0 7F00AD70 24050001 */ li $a1, 1 -/* 03F8A4 7F00AD74 10000005 */ b .L7F00AD8C -/* 03F8A8 7F00AD78 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00AD7C: -/* 03F8AC 7F00AD7C AC29A934 */ sw $t1, %lo(prev_keypresses)($at) -/* 03F8B0 7F00AD80 0FC06975 */ jal set_menu_to_mode -/* 03F8B4 7F00AD84 24050001 */ li $a1, 1 -.L7F00AD88: -/* 03F8B8 7F00AD88 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00AD8C: -/* 03F8BC 7F00AD8C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03F8C0 7F00AD90 03E00008 */ jr $ra -/* 03F8C4 7F00AD94 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 constructor_menu01_nintendo(s32 arg0) -{ - s32 sp138; - s32 sp134; - ?32 sp130; - ?32 sp12C; - ? sp128; - ? spE0; - ? sp90; - ? sp50; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_s0; - s8 temp_v1; - void *temp_t0; - void *temp_t6; - void *phi_t6; - void *phi_t0; - s8 phi_v1; - s8 phi_v1_2; - s32 phi_s1; - s32 phi_s0; - - phi_t6 = &D_8002AB08; - phi_t0 = &sp128; -loop_1: - temp_t6 = phi_t6 + 0xc; - temp_t0 = phi_t0 + 0xc; - temp_t0->unk-C = (?32) *phi_t6; - temp_t0->unk-8 = (?32) temp_t6->unk-8; - temp_t0->unk-4 = (?32) temp_t6->unk-4; - phi_t6 = temp_t6; - phi_t0 = temp_t0; - if (temp_t6 != (&D_8002AB08 + 0x3c)) - { - goto loop_1; - } - temp_t0->unk0 = (?32) temp_t6->unk0; - temp_ret = insert_imageDL(); - temp_ret->unk0 = 0xbc000002; - temp_ret->unk4 = 0x80000040; - temp_ret->unk8 = 0x3860010; - temp_ret->unkC = &D_8002A990; - arg0 = (s32) (temp_ret + 0x18); - temp_ret->unk10 = 0x3880010; - temp_ret->unk14 = &D_8002A988; - temp_v1 = 0xff - ((s32) ((menu_timer * 0xff) + 0xfffe8f72) / 0x64); - phi_v1 = temp_v1; - if (temp_v1 >= 0x100) - { - phi_v1 = (u8)0xff; - } - phi_v1_2 = phi_v1; - if (phi_v1 < 0) - { - phi_v1_2 = (u8)0; - } - D_8002A988.unk6 = (s8) phi_v1_2; - D_8002A988.unk5 = (s8) phi_v1_2; - D_8002A988.unk4 = (s8) phi_v1_2; - D_8002A988.unk2 = (s8) phi_v1_2; - D_8002A988.unk1 = (s8) phi_v1_2; - D_8002A988.unk0 = (s8) phi_v1_2; - flt_CODE_bss_80069614 = (f32) (flt_CODE_bss_80069614 + D_80051A04); - sub_GAME_7F0585FC(flt_CODE_bss_80069614, &D_8002A988, &sp90); - sub_GAME_7F058BB8(flt_CODE_bss_80069618, &sp90); - flt_CODE_bss_80069618 = (f32) (flt_CODE_bss_80069618 * D_80051A0C); - if (D_80051A08 < flt_CODE_bss_80069618) - { - flt_CODE_bss_80069618 = (f32) D_80051A08; - } - sub_GAME_7F059694(&spE0, 0.0f, 0.0f, 0x457a0000, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); - sub_GAME_7F058068(&spE0, &sp90); - sub_GAME_7F058020(&sp90, &spE0); - temp_ret_2 = sub_GAME_7F0BD714(something_legalscreen_constructor->unk8->unkE << 6); - sp138 = temp_ret_2; - sub_GAME_7F058020(&spE0, temp_ret_2); - something_legalscreen_constructor->unkC = sp138; - sub_GAME_7F06EFC4(something_legalscreen_constructor); - sp130 = 3; - sp12C = 0; - sp134 = arg0; - subdraw(&sp128, something_legalscreen_constructor); - arg0 = sp134; - phi_s1 = 0; - phi_s0 = 0; - if (something_legalscreen_constructor->unk8->unkE > 0) - { -loop_9: - sub_GAME_7F058020(something_legalscreen_constructor->unkC + phi_s1, &sp50); - sub_GAME_7F058C9C(&sp50, something_legalscreen_constructor->unkC + (phi_s0 << 6)); - temp_s0 = phi_s0 + 1; - phi_s1 = phi_s1 + 0x40; - phi_s0 = temp_s0; - if (temp_s0 < something_legalscreen_constructor->unk8->unkE) - { - goto loop_9; - } - } - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu01_nintendo -/* 03F8C8 7F00AD98 27BDFE98 */ addiu $sp, $sp, -0x168 -/* 03F8CC 7F00AD9C AFB20034 */ sw $s2, 0x34($sp) -/* 03F8D0 7F00ADA0 3C0E8003 */ lui $t6, %hi(D_8002AB08) -/* 03F8D4 7F00ADA4 27B20128 */ addiu $s2, $sp, 0x128 -/* 03F8D8 7F00ADA8 25CEAB08 */ addiu $t6, %lo(D_8002AB08) # addiu $t6, $t6, -0x54f8 -/* 03F8DC 7F00ADAC AFBF003C */ sw $ra, 0x3c($sp) -/* 03F8E0 7F00ADB0 AFB30038 */ sw $s3, 0x38($sp) -/* 03F8E4 7F00ADB4 AFB10030 */ sw $s1, 0x30($sp) -/* 03F8E8 7F00ADB8 AFB0002C */ sw $s0, 0x2c($sp) -/* 03F8EC 7F00ADBC 25D9003C */ addiu $t9, $t6, 0x3c -/* 03F8F0 7F00ADC0 02404025 */ move $t0, $s2 -.L7F00ADC4: -/* 03F8F4 7F00ADC4 8DC10000 */ lw $at, ($t6) -/* 03F8F8 7F00ADC8 25CE000C */ addiu $t6, $t6, 0xc -/* 03F8FC 7F00ADCC 2508000C */ addiu $t0, $t0, 0xc -/* 03F900 7F00ADD0 AD01FFF4 */ sw $at, -0xc($t0) -/* 03F904 7F00ADD4 8DC1FFF8 */ lw $at, -8($t6) -/* 03F908 7F00ADD8 AD01FFF8 */ sw $at, -8($t0) -/* 03F90C 7F00ADDC 8DC1FFFC */ lw $at, -4($t6) -/* 03F910 7F00ADE0 15D9FFF8 */ bne $t6, $t9, .L7F00ADC4 -/* 03F914 7F00ADE4 AD01FFFC */ sw $at, -4($t0) -/* 03F918 7F00ADE8 8DC10000 */ lw $at, ($t6) -/* 03F91C 7F00ADEC 0FC07034 */ jal insert_imageDL -/* 03F920 7F00ADF0 AD010000 */ sw $at, ($t0) -/* 03F924 7F00ADF4 3C09BC00 */ lui $t1, (0xBC000002 >> 16) # lui $t1, 0xbc00 -/* 03F928 7F00ADF8 3C0A8000 */ lui $t2, (0x80000040 >> 16) # lui $t2, 0x8000 -/* 03F92C 7F00ADFC 3C0B0386 */ lui $t3, (0x03860010 >> 16) # lui $t3, 0x386 -/* 03F930 7F00AE00 3C0C8003 */ lui $t4, %hi(D_8002A990) -/* 03F934 7F00AE04 258CA990 */ addiu $t4, %lo(D_8002A990) # addiu $t4, $t4, -0x5670 -/* 03F938 7F00AE08 356B0010 */ ori $t3, (0x03860010 & 0xFFFF) # ori $t3, $t3, 0x10 -/* 03F93C 7F00AE0C 354A0040 */ ori $t2, (0x80000040 & 0xFFFF) # ori $t2, $t2, 0x40 -/* 03F940 7F00AE10 35290002 */ ori $t1, (0xBC000002 & 0xFFFF) # ori $t1, $t1, 2 -/* 03F944 7F00AE14 AC490000 */ sw $t1, ($v0) -/* 03F948 7F00AE18 AC4A0004 */ sw $t2, 4($v0) -/* 03F94C 7F00AE1C AC4B0008 */ sw $t3, 8($v0) -/* 03F950 7F00AE20 AC4C000C */ sw $t4, 0xc($v0) -/* 03F954 7F00AE24 244D0018 */ addiu $t5, $v0, 0x18 -/* 03F958 7F00AE28 3C048003 */ lui $a0, %hi(D_8002A988) -/* 03F95C 7F00AE2C AFAD0168 */ sw $t5, 0x168($sp) -/* 03F960 7F00AE30 3C180388 */ lui $t8, (0x03880010 >> 16) # lui $t8, 0x388 -/* 03F964 7F00AE34 2484A988 */ addiu $a0, %lo(D_8002A988) # addiu $a0, $a0, -0x5678 -/* 03F968 7F00AE38 37180010 */ ori $t8, (0x03880010 & 0xFFFF) # ori $t8, $t8, 0x10 -/* 03F96C 7F00AE3C AC580010 */ sw $t8, 0x10($v0) -/* 03F970 7F00AE40 AC440014 */ sw $a0, 0x14($v0) -/* 03F974 7F00AE44 3C0F8003 */ lui $t7, %hi(menu_timer) -/* 03F978 7F00AE48 8DEFA8CC */ lw $t7, %lo(menu_timer)($t7) -/* 03F97C 7F00AE4C 240500FF */ li $a1, 255 -/* 03F980 7F00AE50 3C01FFFE */ lui $at, (0xFFFE8F72 >> 16) # lui $at, 0xfffe -/* 03F984 7F00AE54 01E50019 */ multu $t7, $a1 -/* 03F988 7F00AE58 34218F72 */ ori $at, (0xFFFE8F72 & 0xFFFF) # ori $at, $at, 0x8f72 -/* 03F98C 7F00AE5C 3C028007 */ lui $v0, %hi(flt_CODE_bss_80069614) -/* 03F990 7F00AE60 24429614 */ addiu $v0, %lo(flt_CODE_bss_80069614) # addiu $v0, $v0, -0x69ec -/* 03F994 7F00AE64 0000C812 */ mflo $t9 -/* 03F998 7F00AE68 03217021 */ addu $t6, $t9, $at -/* 03F99C 7F00AE6C 24010064 */ li $at, 100 -/* 03F9A0 7F00AE70 01C1001A */ div $zero, $t6, $at -/* 03F9A4 7F00AE74 00004012 */ mflo $t0 -/* 03F9A8 7F00AE78 00A81823 */ subu $v1, $a1, $t0 -/* 03F9AC 7F00AE7C 28610100 */ slti $at, $v1, 0x100 -/* 03F9B0 7F00AE80 14200002 */ bnez $at, .L7F00AE8C -/* 03F9B4 7F00AE84 00000000 */ nop -/* 03F9B8 7F00AE88 240300FF */ li $v1, 255 -.L7F00AE8C: -/* 03F9BC 7F00AE8C 04610002 */ bgez $v1, .L7F00AE98 -/* 03F9C0 7F00AE90 3C018005 */ lui $at, %hi(D_80051A04) -/* 03F9C4 7F00AE94 00001825 */ move $v1, $zero -.L7F00AE98: -/* 03F9C8 7F00AE98 A0830006 */ sb $v1, 6($a0) -/* 03F9CC 7F00AE9C A0830005 */ sb $v1, 5($a0) -/* 03F9D0 7F00AEA0 A0830004 */ sb $v1, 4($a0) -/* 03F9D4 7F00AEA4 A0830002 */ sb $v1, 2($a0) -/* 03F9D8 7F00AEA8 A0830001 */ sb $v1, 1($a0) -/* 03F9DC 7F00AEAC A0830000 */ sb $v1, ($a0) -/* 03F9E0 7F00AEB0 C4261A04 */ lwc1 $f6, %lo(D_80051A04)($at) -/* 03F9E4 7F00AEB4 C4440000 */ lwc1 $f4, ($v0) -/* 03F9E8 7F00AEB8 27B10090 */ addiu $s1, $sp, 0x90 -/* 03F9EC 7F00AEBC 02202825 */ move $a1, $s1 -/* 03F9F0 7F00AEC0 46062200 */ add.s $f8, $f4, $f6 -/* 03F9F4 7F00AEC4 E4480000 */ swc1 $f8, ($v0) -/* 03F9F8 7F00AEC8 0FC1617F */ jal sub_GAME_7F0585FC -/* 03F9FC 7F00AECC C44C0000 */ lwc1 $f12, ($v0) -/* 03FA00 7F00AED0 3C108007 */ lui $s0, %hi(flt_CODE_bss_80069618) -/* 03FA04 7F00AED4 26109618 */ addiu $s0, %lo(flt_CODE_bss_80069618) # addiu $s0, $s0, -0x69e8 -/* 03FA08 7F00AED8 C60C0000 */ lwc1 $f12, ($s0) -/* 03FA0C 7F00AEDC 0FC162EE */ jal sub_GAME_7F058BB8 -/* 03FA10 7F00AEE0 02202825 */ move $a1, $s1 -/* 03FA14 7F00AEE4 3C018005 */ lui $at, %hi(D_80051A08) -/* 03FA18 7F00AEE8 C4201A08 */ lwc1 $f0, %lo(D_80051A08)($at) -/* 03FA1C 7F00AEEC 3C018005 */ lui $at, %hi(D_80051A0C) -/* 03FA20 7F00AEF0 C4301A0C */ lwc1 $f16, %lo(D_80051A0C)($at) -/* 03FA24 7F00AEF4 C60A0000 */ lwc1 $f10, ($s0) -/* 03FA28 7F00AEF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03FA2C 7F00AEFC 44813000 */ mtc1 $at, $f6 -/* 03FA30 7F00AF00 46105482 */ mul.s $f18, $f10, $f16 -/* 03FA34 7F00AF04 3C07457A */ lui $a3, 0x457a -/* 03FA38 7F00AF08 E6120000 */ swc1 $f18, ($s0) -/* 03FA3C 7F00AF0C C6040000 */ lwc1 $f4, ($s0) -/* 03FA40 7F00AF10 4604003C */ c.lt.s $f0, $f4 -/* 03FA44 7F00AF14 00000000 */ nop -/* 03FA48 7F00AF18 45020003 */ bc1fl .L7F00AF28 -/* 03FA4C 7F00AF1C 44800000 */ mtc1 $zero, $f0 -/* 03FA50 7F00AF20 E6000000 */ swc1 $f0, ($s0) -/* 03FA54 7F00AF24 44800000 */ mtc1 $zero, $f0 -.L7F00AF28: -/* 03FA58 7F00AF28 27B000E0 */ addiu $s0, $sp, 0xe0 -/* 03FA5C 7F00AF2C 02002025 */ move $a0, $s0 -/* 03FA60 7F00AF30 44050000 */ mfc1 $a1, $f0 -/* 03FA64 7F00AF34 44060000 */ mfc1 $a2, $f0 -/* 03FA68 7F00AF38 E7A60020 */ swc1 $f6, 0x20($sp) -/* 03FA6C 7F00AF3C E7A00010 */ swc1 $f0, 0x10($sp) -/* 03FA70 7F00AF40 E7A00014 */ swc1 $f0, 0x14($sp) -/* 03FA74 7F00AF44 E7A00018 */ swc1 $f0, 0x18($sp) -/* 03FA78 7F00AF48 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 03FA7C 7F00AF4C 0FC165A5 */ jal sub_GAME_7F059694 -/* 03FA80 7F00AF50 E7A00024 */ swc1 $f0, 0x24($sp) -/* 03FA84 7F00AF54 02002025 */ move $a0, $s0 -/* 03FA88 7F00AF58 0FC1601A */ jal sub_GAME_7F058068 -/* 03FA8C 7F00AF5C 02202825 */ move $a1, $s1 -/* 03FA90 7F00AF60 02202025 */ move $a0, $s1 -/* 03FA94 7F00AF64 0FC16008 */ jal sub_GAME_7F058020 -/* 03FA98 7F00AF68 02002825 */ move $a1, $s0 -/* 03FA9C 7F00AF6C 3C138003 */ lui $s3, %hi(something_legalscreen_constructor) -/* 03FAA0 7F00AF70 2673A958 */ addiu $s3, %lo(something_legalscreen_constructor) # addiu $s3, $s3, -0x56a8 -/* 03FAA4 7F00AF74 8E690000 */ lw $t1, ($s3) -/* 03FAA8 7F00AF78 AFB00128 */ sw $s0, 0x128($sp) -/* 03FAAC 7F00AF7C 8D2A0008 */ lw $t2, 8($t1) -/* 03FAB0 7F00AF80 8544000E */ lh $a0, 0xe($t2) -/* 03FAB4 7F00AF84 00045980 */ sll $t3, $a0, 6 -/* 03FAB8 7F00AF88 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 03FABC 7F00AF8C 01602025 */ move $a0, $t3 -/* 03FAC0 7F00AF90 AFA20138 */ sw $v0, 0x138($sp) -/* 03FAC4 7F00AF94 02002025 */ move $a0, $s0 -/* 03FAC8 7F00AF98 0FC16008 */ jal sub_GAME_7F058020 -/* 03FACC 7F00AF9C 00402825 */ move $a1, $v0 -/* 03FAD0 7F00AFA0 8FAC0138 */ lw $t4, 0x138($sp) -/* 03FAD4 7F00AFA4 8E6D0000 */ lw $t5, ($s3) -/* 03FAD8 7F00AFA8 ADAC000C */ sw $t4, 0xc($t5) -/* 03FADC 7F00AFAC 0FC1BBF1 */ jal sub_GAME_7F06EFC4 -/* 03FAE0 7F00AFB0 8E640000 */ lw $a0, ($s3) -/* 03FAE4 7F00AFB4 8FAF0168 */ lw $t7, 0x168($sp) -/* 03FAE8 7F00AFB8 24180003 */ li $t8, 3 -/* 03FAEC 7F00AFBC AFB80130 */ sw $t8, 0x130($sp) -/* 03FAF0 7F00AFC0 AFA0012C */ sw $zero, 0x12c($sp) -/* 03FAF4 7F00AFC4 02402025 */ move $a0, $s2 -/* 03FAF8 7F00AFC8 8E650000 */ lw $a1, ($s3) -/* 03FAFC 7F00AFCC 0FC1D1A1 */ jal subdraw -/* 03FB00 7F00AFD0 AFAF0134 */ sw $t7, 0x134($sp) -/* 03FB04 7F00AFD4 8FB90134 */ lw $t9, 0x134($sp) -/* 03FB08 7F00AFD8 8E620000 */ lw $v0, ($s3) -/* 03FB0C 7F00AFDC 00008025 */ move $s0, $zero -/* 03FB10 7F00AFE0 AFB90168 */ sw $t9, 0x168($sp) -/* 03FB14 7F00AFE4 8C4E0008 */ lw $t6, 8($v0) -/* 03FB18 7F00AFE8 00008825 */ move $s1, $zero -/* 03FB1C 7F00AFEC 27B20050 */ addiu $s2, $sp, 0x50 -/* 03FB20 7F00AFF0 85C8000E */ lh $t0, 0xe($t6) -/* 03FB24 7F00AFF4 59000014 */ blezl $t0, .L7F00B048 -/* 03FB28 7F00AFF8 8FBF003C */ lw $ra, 0x3c($sp) -/* 03FB2C 7F00AFFC 8C49000C */ lw $t1, 0xc($v0) -.L7F00B000: -/* 03FB30 7F00B000 02402825 */ move $a1, $s2 -/* 03FB34 7F00B004 0FC16008 */ jal sub_GAME_7F058020 -/* 03FB38 7F00B008 01312021 */ addu $a0, $t1, $s1 -/* 03FB3C 7F00B00C 8E6A0000 */ lw $t2, ($s3) -/* 03FB40 7F00B010 00106180 */ sll $t4, $s0, 6 -/* 03FB44 7F00B014 02402025 */ move $a0, $s2 -/* 03FB48 7F00B018 8D4B000C */ lw $t3, 0xc($t2) -/* 03FB4C 7F00B01C 0FC16327 */ jal sub_GAME_7F058C9C -/* 03FB50 7F00B020 016C2821 */ addu $a1, $t3, $t4 -/* 03FB54 7F00B024 8E620000 */ lw $v0, ($s3) -/* 03FB58 7F00B028 26100001 */ addiu $s0, $s0, 1 -/* 03FB5C 7F00B02C 26310040 */ addiu $s1, $s1, 0x40 -/* 03FB60 7F00B030 8C4D0008 */ lw $t5, 8($v0) -/* 03FB64 7F00B034 85B8000E */ lh $t8, 0xe($t5) -/* 03FB68 7F00B038 0218082A */ slt $at, $s0, $t8 -/* 03FB6C 7F00B03C 5420FFF0 */ bnezl $at, .L7F00B000 -/* 03FB70 7F00B040 8C49000C */ lw $t1, 0xc($v0) -/* 03FB74 7F00B044 8FBF003C */ lw $ra, 0x3c($sp) -.L7F00B048: -/* 03FB78 7F00B048 8FA20168 */ lw $v0, 0x168($sp) -/* 03FB7C 7F00B04C 8FB0002C */ lw $s0, 0x2c($sp) -/* 03FB80 7F00B050 8FB10030 */ lw $s1, 0x30($sp) -/* 03FB84 7F00B054 8FB20034 */ lw $s2, 0x34($sp) -/* 03FB88 7F00B058 8FB30038 */ lw $s3, 0x38($sp) -/* 03FB8C 7F00B05C 03E00008 */ jr $ra -/* 03FB90 7F00B060 27BD0168 */ addiu $sp, $sp, 0x168 -) -#endif - - - -void init_menu02_rarelogo(void) -{ - sub_GAME_7F008B58(ptr_logo_and_walletbond_DL, 0x78000); - play_sfx_a1(ptr_sfx_buf, 0x102, 0); -} - -void update_menu02_rareware(void) { - return; -} - -void interface_menu02_rareware(void) -{ - set_video2_settings_offset_24(0); - if (sub_GAME_7F008DD0() != 0) - { - set_menu_to_mode(3, 1); - return; - } - if (get_controller_buttons_pressed(0, 0xffff) != 0) - { - if (is_first_time_on_main_menu == 0) - { - set_menu_to_mode(5, 1); - return; - } - prev_keypresses = 1; - set_menu_to_mode(3, 1); - } -} - -void constructor_menu02_rareware(Gfx * DL) { - retrieve_display_rareware_logo(DL); -} - - - -void init_menu03_eyeintro(void) { - sub_GAME_7F008E80(ptr_logo_and_walletbond_DL, 0x78000); - musicTrack1Play(2); - maybe_is_in_menu = 1; -} - -void update_menu_03_eye(void) { - sub_GAME_7F00920C(); -} - -void interface_menu03_eye(void) { - set_video2_settings_offset_24(0); - if (sub_GAME_7F009744() != 0) { - set_menu_to_mode(4, 1); - return; - } - if (get_controller_buttons_pressed(0, 0xffff) != 0) { - if (is_first_time_on_main_menu == 0) { - set_menu_to_mode(5, 1); - return; - } - prev_keypresses = 1; - set_menu_to_mode(4, 1); - } -} - -void constructor_menu03_eye(Gfx * DL) { - sub_GAME_7F009254(DL); -} - - - - - -#ifdef NONMATCHING -void init_menu04_goldeneyelogo(void) -{ - ? sp24; - s32 temp_ret; - - menu_timer = 0; - sp24.unk0 = (?32) D_8002AB48.unk0; - sp24.unk4 = (?32) D_8002AB48.unk4; - sp24.unk8 = (?32) D_8002AB48.unk8; - load_object_fill_header(PitemZ_entries.unkCFC, PitemZ_entries.unkD00, ptr_logo_and_walletbond_DL, 0x3c000, 0); - set_objuse_flag_compute_grp_nums_set_obj_loaded(PgoldeneyelogoZ_header); - temp_ret = get_obj_instance_controller_for_header(PgoldeneyelogoZ_header); - something_legalscreen_constructor = temp_ret; - set_obj_instance_controller_scale(temp_ret, 0x3f800000); - setsuboffset(something_legalscreen_constructor, &sp24); -} -#else -GLOBAL_ASM( -.text -glabel init_menu04_goldeneyelogo -/* 03FD88 7F00B258 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03FD8C 7F00B25C 3C018003 */ lui $at, %hi(menu_timer) -/* 03FD90 7F00B260 3C0F8003 */ lui $t7, %hi(D_8002AB48) -/* 03FD94 7F00B264 AFBF001C */ sw $ra, 0x1c($sp) -/* 03FD98 7F00B268 AC20A8CC */ sw $zero, %lo(menu_timer)($at) -/* 03FD9C 7F00B26C 25EFAB48 */ addiu $t7, %lo(D_8002AB48) # addiu $t7, $t7, -0x54b8 -/* 03FDA0 7F00B270 8DE10000 */ lw $at, ($t7) -/* 03FDA4 7F00B274 27AE0024 */ addiu $t6, $sp, 0x24 -/* 03FDA8 7F00B278 8DE80004 */ lw $t0, 4($t7) -/* 03FDAC 7F00B27C ADC10000 */ sw $at, ($t6) -/* 03FDB0 7F00B280 8DE10008 */ lw $at, 8($t7) -/* 03FDB4 7F00B284 ADC80004 */ sw $t0, 4($t6) -/* 03FDB8 7F00B288 3C028004 */ lui $v0, %hi(PitemZ_entries) -/* 03FDBC 7F00B28C ADC10008 */ sw $at, 8($t6) -/* 03FDC0 7F00B290 2442A228 */ addiu $v0, %lo(PitemZ_entries) # addiu $v0, $v0, -0x5dd8 -/* 03FDC4 7F00B294 3C068003 */ lui $a2, %hi(ptr_logo_and_walletbond_DL) -/* 03FDC8 7F00B298 3C070003 */ lui $a3, (0x0003C000 >> 16) # lui $a3, 3 -/* 03FDCC 7F00B29C 34E7C000 */ ori $a3, (0x0003C000 & 0xFFFF) # ori $a3, $a3, 0xc000 -/* 03FDD0 7F00B2A0 8CC6A950 */ lw $a2, %lo(ptr_logo_and_walletbond_DL)($a2) -/* 03FDD4 7F00B2A4 8C440CFC */ lw $a0, 0xcfc($v0) -/* 03FDD8 7F00B2A8 8C450D00 */ lw $a1, 0xd00($v0) -/* 03FDDC 7F00B2AC 0FC1D929 */ jal load_object_fill_header -/* 03FDE0 7F00B2B0 AFA00010 */ sw $zero, 0x10($sp) -/* 03FDE4 7F00B2B4 3C048004 */ lui $a0, %hi(PitemZ_entries+0xCFC) -/* 03FDE8 7F00B2B8 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 03FDEC 7F00B2BC 8C84AF24 */ lw $a0, %lo(PitemZ_entries+0xCFC)($a0) -/* 03FDF0 7F00B2C0 3C048004 */ lui $a0, %hi(PitemZ_entries+0xCFC) -/* 03FDF4 7F00B2C4 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 03FDF8 7F00B2C8 8C84AF24 */ lw $a0, %lo(PitemZ_entries+0xCFC)($a0) -/* 03FDFC 7F00B2CC 3C038003 */ lui $v1, %hi(something_legalscreen_constructor) -/* 03FE00 7F00B2D0 2463A958 */ addiu $v1, %lo(something_legalscreen_constructor) # addiu $v1, $v1, -0x56a8 -/* 03FE04 7F00B2D4 AC620000 */ sw $v0, ($v1) -/* 03FE08 7F00B2D8 00402025 */ move $a0, $v0 -/* 03FE0C 7F00B2DC 0FC1B39E */ jal set_obj_instance_controller_scale -/* 03FE10 7F00B2E0 3C053F80 */ lui $a1, 0x3f80 -/* 03FE14 7F00B2E4 3C048003 */ lui $a0, %hi(something_legalscreen_constructor) -/* 03FE18 7F00B2E8 8C84A958 */ lw $a0, %lo(something_legalscreen_constructor)($a0) -/* 03FE1C 7F00B2EC 0FC1B303 */ jal setsuboffset -/* 03FE20 7F00B2F0 27A50024 */ addiu $a1, $sp, 0x24 -/* 03FE24 7F00B2F4 8FBF001C */ lw $ra, 0x1c($sp) -/* 03FE28 7F00B2F8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 03FE2C 7F00B2FC 03E00008 */ jr $ra -/* 03FE30 7F00B300 00000000 */ nop -) -#endif - - - - - -void update_menu04_goldeneye(void) { - is_first_time_on_main_menu = 0; - set_obj_instance_scale_to_zero(something_legalscreen_constructor); -} - - - - - -#ifdef NONMATCHING -void interface_menu04_goldeneyelogo(void) -{ - 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); - 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(MENU_DISPLAY_CAST,1); - } - else { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - } - } - 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( -.text -glabel interface_menu04_goldeneyelogo -/* 03FE60 7F00B330 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 03FE74 7F00B344 00000000 */ nop -/* 03FE78 7F00B348 3C018005 */ lui $at, %hi(D_80051A10) -/* 03FE7C 7F00B34C 0C001164 */ jal video_related_21 -/* 03FE80 7F00B350 C42C1A10 */ lwc1 $f12, %lo(D_80051A10)($at) -/* 03FE84 7F00B354 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 03FE88 7F00B358 44816000 */ mtc1 $at, $f12 -/* 03FE8C 7F00B35C 3C018005 */ lui $at, %hi(D_80051A14) -/* 03FE90 7F00B360 0C001194 */ jal set_page_height -/* 03FE94 7F00B364 C42E1A14 */ lwc1 $f14, %lo(D_80051A14)($at) -/* 03FE98 7F00B368 0C00114D */ jal set_video2_settings_offset_24 -/* 03FE9C 7F00B36C 00002025 */ move $a0, $zero -/* 03FEA0 7F00B370 3C038003 */ lui $v1, %hi(menu_timer) -/* 03FEA4 7F00B374 2463A8CC */ addiu $v1, %lo(menu_timer) # addiu $v1, $v1, -0x5734 -/* 03FEA8 7F00B378 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 03FEAC 7F00B37C 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 03FEB0 7F00B380 8C6E0000 */ lw $t6, ($v1) -/* 03FEB4 7F00B384 3C198003 */ lui $t9, %hi(is_first_time_on_main_menu) -/* 03FEB8 7F00B388 01CFC021 */ addu $t8, $t6, $t7 -/* 03FEBC 7F00B38C AC780000 */ sw $t8, ($v1) -/* 03FEC0 7F00B390 8F39A930 */ lw $t9, %lo(is_first_time_on_main_menu)($t9) -/* 03FEC4 7F00B394 2B0100B5 */ slti $at, $t8, 0xb5 -/* 03FEC8 7F00B398 5320000B */ beql $t9, $zero, .L7F00B3C8 -/* 03FECC 7F00B39C 8C690000 */ lw $t1, ($v1) -/* 03FED0 7F00B3A0 10200008 */ beqz $at, .L7F00B3C4 -/* 03FED4 7F00B3A4 3C088003 */ lui $t0, %hi(D_8002A938) -/* 03FED8 7F00B3A8 8D08A938 */ lw $t0, %lo(D_8002A938)($t0) -/* 03FEDC 7F00B3AC 2B01005B */ slti $at, $t8, 0x5b -/* 03FEE0 7F00B3B0 00002025 */ move $a0, $zero -/* 03FEE4 7F00B3B4 11000027 */ beqz $t0, .L7F00B454 -/* 03FEE8 7F00B3B8 00000000 */ nop -/* 03FEEC 7F00B3BC 14200025 */ bnez $at, .L7F00B454 -/* 03FEF0 7F00B3C0 00000000 */ nop -.L7F00B3C4: -/* 03FEF4 7F00B3C4 8C690000 */ lw $t1, ($v1) -.L7F00B3C8: -/* 03FEF8 7F00B3C8 3C0A8003 */ lui $t2, %hi(prev_keypresses) -/* 03FEFC 7F00B3CC 00002025 */ move $a0, $zero -/* 03FF00 7F00B3D0 292100B5 */ slti $at, $t1, 0xb5 -/* 03FF04 7F00B3D4 14200010 */ bnez $at, .L7F00B418 -/* 03FF08 7F00B3D8 00000000 */ nop -/* 03FF0C 7F00B3DC 8D4AA934 */ lw $t2, %lo(prev_keypresses)($t2) -/* 03FF10 7F00B3E0 24040005 */ li $a0, 5 -/* 03FF14 7F00B3E4 11400005 */ beqz $t2, .L7F00B3FC -/* 03FF18 7F00B3E8 00000000 */ nop -/* 03FF1C 7F00B3EC 0FC06975 */ jal set_menu_to_mode -/* 03FF20 7F00B3F0 24050001 */ li $a1, 1 -/* 03FF24 7F00B3F4 1000001E */ b .L7F00B470 -/* 03FF28 7F00B3F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00B3FC: -/* 03FF2C 7F00B3FC 0FC0619C */ jal do_extended_cast_display -/* 03FF30 7F00B400 00002025 */ move $a0, $zero -/* 03FF34 7F00B404 24040018 */ li $a0, 24 -/* 03FF38 7F00B408 0FC06975 */ jal set_menu_to_mode -/* 03FF3C 7F00B40C 24050001 */ li $a1, 1 -/* 03FF40 7F00B410 10000017 */ b .L7F00B470 -/* 03FF44 7F00B414 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00B418: -/* 03FF48 7F00B418 0C0030EB */ jal get_controller_buttons_pressed -/* 03FF4C 7F00B41C 3405FFFF */ li $a1, 65535 -/* 03FF50 7F00B420 14400007 */ bnez $v0, .L7F00B440 -/* 03FF54 7F00B424 3C0B8003 */ lui $t3, %hi(is_first_time_on_main_menu) -/* 03FF58 7F00B428 8D6BA930 */ lw $t3, %lo(is_first_time_on_main_menu)($t3) -/* 03FF5C 7F00B42C 3C0C8003 */ lui $t4, %hi(D_8002A938) -/* 03FF60 7F00B430 5160000F */ beql $t3, $zero, .L7F00B470 -/* 03FF64 7F00B434 8FBF0014 */ lw $ra, 0x14($sp) -/* 03FF68 7F00B438 8D8CA938 */ lw $t4, %lo(D_8002A938)($t4) -/* 03FF6C 7F00B43C 1180000B */ beqz $t4, .L7F00B46C -.L7F00B440: -/* 03FF70 7F00B440 24040005 */ li $a0, 5 -/* 03FF74 7F00B444 0FC06975 */ jal set_menu_to_mode -/* 03FF78 7F00B448 24050001 */ li $a1, 1 -/* 03FF7C 7F00B44C 10000008 */ b .L7F00B470 -/* 03FF80 7F00B450 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00B454: -/* 03FF84 7F00B454 0C0030EB */ jal get_controller_buttons_pressed -/* 03FF88 7F00B458 3405FFFF */ li $a1, 65535 -/* 03FF8C 7F00B45C 10400003 */ beqz $v0, .L7F00B46C -/* 03FF90 7F00B460 240D0001 */ li $t5, 1 -/* 03FF94 7F00B464 3C018003 */ lui $at, %hi(D_8002A938) -/* 03FF98 7F00B468 AC2DA938 */ sw $t5, %lo(D_8002A938)($at) -.L7F00B46C: -/* 03FF9C 7F00B46C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00B470: -/* 03FFA0 7F00B470 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03FFA4 7F00B474 03E00008 */ jr $ra -/* 03FFA8 7F00B478 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -? constructor_menu04_goldeneyelogo(s32 arg0) -{ - s32 sp150; - ?32 sp148; - ?32 sp144; - ? sp140; - ? spF8; - ? spB0; - ? sp5C; - s32 temp_a0; - s32 temp_ret; - s32 temp_s0; - s32 temp_s0_2; - s32 temp_s4; - s32 temp_v0; - s32 temp_v1; - void *temp_t1; - void *temp_t6; - void *phi_t6; - void *phi_t1; - s32 phi_s1; - s32 phi_s0; - - phi_t6 = &D_8002AB54; - phi_t1 = &sp140; -loop_1: - temp_t6 = phi_t6 + 0xc; - temp_t1 = phi_t1 + 0xc; - temp_t1->unk-C = (?32) *phi_t6; - temp_t1->unk-8 = (?32) temp_t6->unk-8; - temp_t1->unk-4 = (?32) temp_t6->unk-4; - phi_t6 = temp_t6; - phi_t1 = temp_t1; - if (temp_t6 != (&D_8002AB54 + 0x3c)) - { - goto loop_1; - } - temp_t1->unk0 = (?32) temp_t6->unk0; - temp_s4 = insert_generic_fillrect(set_setfillcolor(arg0, 0, 0, 0)); - temp_ret = sub_GAME_7F0BD6F8(2); - temp_s0 = temp_ret; - guLookAtReflect(&spB0, temp_ret, 0.0f, 0.0f, 4000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); - temp_v0 = temp_s4; - temp_s4 = temp_s4 + 8; - temp_v1 = temp_s4; - temp_s4 = temp_s4 + 8; - temp_v0->unk0 = 0xbc000002; - temp_v0->unk4 = 0x80000040; - temp_a0 = temp_s4; - temp_s4 = temp_s4 + 8; - temp_v1->unk0 = 0x3860010; - temp_v1->unk4 = &D_8002A978; - temp_a0->unk0 = 0x3880010; - temp_a0->unk4 = &D_8002A970; - temp_s4->unk0 = 0x3840010; - temp_s4->unk4 = temp_s0; - temp_s4 = temp_s4 + 8; - temp_s4->unk4 = (s32) (temp_s0 + 0x10); - temp_s4->unk0 = 0x3820010; - sub_GAME_7F059694(&spF8, 0.0f, 0.0f, 0x453b8000, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); - sp150 = sub_GAME_7F0BD714(something_legalscreen_constructor->unk8->unkE << 6); - matrix_multiply_A1_by_F12(D_80051A18, &spF8); - sub_GAME_7F058020(&spF8, sp150); - something_legalscreen_constructor->unkC = sp150; - sub_GAME_7F06EFC4(something_legalscreen_constructor); - sp148 = 3; - sp144 = 0; - subdraw(&sp140, something_legalscreen_constructor); - phi_s1 = 0; - phi_s0 = 0; - if (something_legalscreen_constructor->unk8->unkE > 0) - { -loop_3: - sub_GAME_7F058020(something_legalscreen_constructor->unkC + phi_s1, &sp5C); - sub_GAME_7F058C9C(&sp5C, something_legalscreen_constructor->unkC + (phi_s0 << 6)); - temp_s0_2 = phi_s0 + 1; - phi_s1 = phi_s1 + 0x40; - phi_s0 = temp_s0_2; - if (temp_s0_2 < something_legalscreen_constructor->unk8->unkE) - { - goto loop_3; - } - } - return sp14C; -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu04_goldeneyelogo -/* 03FFAC 7F00B47C 27BDFE80 */ addiu $sp, $sp, -0x180 -/* 03FFB0 7F00B480 AFB20040 */ sw $s2, 0x40($sp) -/* 03FFB4 7F00B484 3C0E8003 */ lui $t6, %hi(D_8002AB54) -/* 03FFB8 7F00B488 27B20140 */ addiu $s2, $sp, 0x140 -/* 03FFBC 7F00B48C AFB40048 */ sw $s4, 0x48($sp) -/* 03FFC0 7F00B490 25CEAB54 */ addiu $t6, %lo(D_8002AB54) # addiu $t6, $t6, -0x54ac -/* 03FFC4 7F00B494 0080A025 */ move $s4, $a0 -/* 03FFC8 7F00B498 AFBF004C */ sw $ra, 0x4c($sp) -/* 03FFCC 7F00B49C AFB30044 */ sw $s3, 0x44($sp) -/* 03FFD0 7F00B4A0 AFB1003C */ sw $s1, 0x3c($sp) -/* 03FFD4 7F00B4A4 AFB00038 */ sw $s0, 0x38($sp) -/* 03FFD8 7F00B4A8 25D9003C */ addiu $t9, $t6, 0x3c -/* 03FFDC 7F00B4AC 02404825 */ move $t1, $s2 -.L7F00B4B0: -/* 03FFE0 7F00B4B0 8DC10000 */ lw $at, ($t6) -/* 03FFE4 7F00B4B4 25CE000C */ addiu $t6, $t6, 0xc -/* 03FFE8 7F00B4B8 2529000C */ addiu $t1, $t1, 0xc -/* 03FFEC 7F00B4BC AD21FFF4 */ sw $at, -0xc($t1) -/* 03FFF0 7F00B4C0 8DC1FFF8 */ lw $at, -8($t6) -/* 03FFF4 7F00B4C4 AD21FFF8 */ sw $at, -8($t1) -/* 03FFF8 7F00B4C8 8DC1FFFC */ lw $at, -4($t6) -/* 03FFFC 7F00B4CC 15D9FFF8 */ bne $t6, $t9, .L7F00B4B0 -/* 040000 7F00B4D0 AD21FFFC */ sw $at, -4($t1) -/* 040004 7F00B4D4 8DC10000 */ lw $at, ($t6) -/* 040008 7F00B4D8 02802025 */ move $a0, $s4 -/* 04000C 7F00B4DC 00002825 */ move $a1, $zero -/* 040010 7F00B4E0 00003025 */ move $a2, $zero -/* 040014 7F00B4E4 00003825 */ move $a3, $zero -/* 040018 7F00B4E8 0C0011B4 */ jal set_setfillcolor -/* 04001C 7F00B4EC AD210000 */ sw $at, ($t1) -/* 040020 7F00B4F0 0C000FBE */ jal insert_generic_fillrect -/* 040024 7F00B4F4 00402025 */ move $a0, $v0 -/* 040028 7F00B4F8 0040A025 */ move $s4, $v0 -/* 04002C 7F00B4FC 0FC2F5BE */ jal sub_GAME_7F0BD6F8 -/* 040030 7F00B500 24040002 */ li $a0, 2 -/* 040034 7F00B504 44800000 */ mtc1 $zero, $f0 -/* 040038 7F00B508 3C01457A */ li $at, 0x457A0000 # 4000.000000 -/* 04003C 7F00B50C 44812000 */ mtc1 $at, $f4 -/* 040040 7F00B510 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 040044 7F00B514 44813000 */ mtc1 $at, $f6 -/* 040048 7F00B518 44060000 */ mfc1 $a2, $f0 -/* 04004C 7F00B51C 44070000 */ mfc1 $a3, $f0 -/* 040050 7F00B520 00408025 */ move $s0, $v0 -/* 040054 7F00B524 27A400B0 */ addiu $a0, $sp, 0xb0 -/* 040058 7F00B528 00402825 */ move $a1, $v0 -/* 04005C 7F00B52C E7A00014 */ swc1 $f0, 0x14($sp) -/* 040060 7F00B530 E7A00018 */ swc1 $f0, 0x18($sp) -/* 040064 7F00B534 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 040068 7F00B538 E7A00020 */ swc1 $f0, 0x20($sp) -/* 04006C 7F00B53C E7A00028 */ swc1 $f0, 0x28($sp) -/* 040070 7F00B540 E7A40010 */ swc1 $f4, 0x10($sp) -/* 040074 7F00B544 0C005CDC */ jal guLookAtReflect -/* 040078 7F00B548 E7A60024 */ swc1 $f6, 0x24($sp) -/* 04007C 7F00B54C 02801025 */ move $v0, $s4 -/* 040080 7F00B550 26940008 */ addiu $s4, $s4, 8 -/* 040084 7F00B554 3C0ABC00 */ lui $t2, (0xBC000002 >> 16) # lui $t2, 0xbc00 -/* 040088 7F00B558 3C0B8000 */ lui $t3, (0x80000040 >> 16) # lui $t3, 0x8000 -/* 04008C 7F00B55C 356B0040 */ ori $t3, (0x80000040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 040090 7F00B560 354A0002 */ ori $t2, (0xBC000002 & 0xFFFF) # ori $t2, $t2, 2 -/* 040094 7F00B564 02801825 */ move $v1, $s4 -/* 040098 7F00B568 26940008 */ addiu $s4, $s4, 8 -/* 04009C 7F00B56C AC4A0000 */ sw $t2, ($v0) -/* 0400A0 7F00B570 AC4B0004 */ sw $t3, 4($v0) -/* 0400A4 7F00B574 3C0C0386 */ lui $t4, (0x03860010 >> 16) # lui $t4, 0x386 -/* 0400A8 7F00B578 3C0D8003 */ lui $t5, %hi(D_8002A978) -/* 0400AC 7F00B57C 25ADA978 */ addiu $t5, %lo(D_8002A978) # addiu $t5, $t5, -0x5688 -/* 0400B0 7F00B580 358C0010 */ ori $t4, (0x03860010 & 0xFFFF) # ori $t4, $t4, 0x10 -/* 0400B4 7F00B584 02802025 */ move $a0, $s4 -/* 0400B8 7F00B588 26940008 */ addiu $s4, $s4, 8 -/* 0400BC 7F00B58C AC6C0000 */ sw $t4, ($v1) -/* 0400C0 7F00B590 AC6D0004 */ sw $t5, 4($v1) -/* 0400C4 7F00B594 3C180388 */ lui $t8, (0x03880010 >> 16) # lui $t8, 0x388 -/* 0400C8 7F00B598 3C0F8003 */ lui $t7, %hi(D_8002A970) -/* 0400CC 7F00B59C 25EFA970 */ addiu $t7, %lo(D_8002A970) # addiu $t7, $t7, -0x5690 -/* 0400D0 7F00B5A0 37180010 */ ori $t8, (0x03880010 & 0xFFFF) # ori $t8, $t8, 0x10 -/* 0400D4 7F00B5A4 02802825 */ move $a1, $s4 -/* 0400D8 7F00B5A8 AC980000 */ sw $t8, ($a0) -/* 0400DC 7F00B5AC AC8F0004 */ sw $t7, 4($a0) -/* 0400E0 7F00B5B0 3C190384 */ lui $t9, (0x03840010 >> 16) # lui $t9, 0x384 -/* 0400E4 7F00B5B4 37390010 */ ori $t9, (0x03840010 & 0xFFFF) # ori $t9, $t9, 0x10 -/* 0400E8 7F00B5B8 44800000 */ mtc1 $zero, $f0 -/* 0400EC 7F00B5BC ACB90000 */ sw $t9, ($a1) -/* 0400F0 7F00B5C0 ACB00004 */ sw $s0, 4($a1) -/* 0400F4 7F00B5C4 26940008 */ addiu $s4, $s4, 8 -/* 0400F8 7F00B5C8 02804025 */ move $t0, $s4 -/* 0400FC 7F00B5CC 3C0E0382 */ lui $t6, (0x03820010 >> 16) # lui $t6, 0x382 -/* 040100 7F00B5D0 35CE0010 */ ori $t6, (0x03820010 & 0xFFFF) # ori $t6, $t6, 0x10 -/* 040104 7F00B5D4 26090010 */ addiu $t1, $s0, 0x10 -/* 040108 7F00B5D8 AD090004 */ sw $t1, 4($t0) -/* 04010C 7F00B5DC AD0E0000 */ sw $t6, ($t0) -/* 040110 7F00B5E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 040114 7F00B5E4 44814000 */ mtc1 $at, $f8 -/* 040118 7F00B5E8 27B100F8 */ addiu $s1, $sp, 0xf8 -/* 04011C 7F00B5EC 3C07453B */ lui $a3, (0x453B8000 >> 16) # lui $a3, 0x453b -/* 040120 7F00B5F0 44050000 */ mfc1 $a1, $f0 -/* 040124 7F00B5F4 44060000 */ mfc1 $a2, $f0 -/* 040128 7F00B5F8 26940008 */ addiu $s4, $s4, 8 -/* 04012C 7F00B5FC 34E78000 */ ori $a3, (0x453B8000 & 0xFFFF) # ori $a3, $a3, 0x8000 -/* 040130 7F00B600 02202025 */ move $a0, $s1 -/* 040134 7F00B604 E7A00024 */ swc1 $f0, 0x24($sp) -/* 040138 7F00B608 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 04013C 7F00B60C E7A00018 */ swc1 $f0, 0x18($sp) -/* 040140 7F00B610 E7A00014 */ swc1 $f0, 0x14($sp) -/* 040144 7F00B614 E7A00010 */ swc1 $f0, 0x10($sp) -/* 040148 7F00B618 0FC165A5 */ jal sub_GAME_7F059694 -/* 04014C 7F00B61C E7A80020 */ swc1 $f8, 0x20($sp) -/* 040150 7F00B620 3C138003 */ lui $s3, %hi(something_legalscreen_constructor) -/* 040154 7F00B624 2673A958 */ addiu $s3, %lo(something_legalscreen_constructor) # addiu $s3, $s3, -0x56a8 -/* 040158 7F00B628 8E6A0000 */ lw $t2, ($s3) -/* 04015C 7F00B62C AFB10140 */ sw $s1, 0x140($sp) -/* 040160 7F00B630 8D4B0008 */ lw $t3, 8($t2) -/* 040164 7F00B634 8564000E */ lh $a0, 0xe($t3) -/* 040168 7F00B638 00046180 */ sll $t4, $a0, 6 -/* 04016C 7F00B63C 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 040170 7F00B640 01802025 */ move $a0, $t4 -/* 040174 7F00B644 3C018005 */ lui $at, %hi(D_80051A18) -/* 040178 7F00B648 AFA20150 */ sw $v0, 0x150($sp) -/* 04017C 7F00B64C C42C1A18 */ lwc1 $f12, %lo(D_80051A18)($at) -/* 040180 7F00B650 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 040184 7F00B654 02202825 */ move $a1, $s1 -/* 040188 7F00B658 02202025 */ move $a0, $s1 -/* 04018C 7F00B65C 0FC16008 */ jal sub_GAME_7F058020 -/* 040190 7F00B660 8FA50150 */ lw $a1, 0x150($sp) -/* 040194 7F00B664 8FAD0150 */ lw $t5, 0x150($sp) -/* 040198 7F00B668 8E780000 */ lw $t8, ($s3) -/* 04019C 7F00B66C AF0D000C */ sw $t5, 0xc($t8) -/* 0401A0 7F00B670 0FC1BBF1 */ jal sub_GAME_7F06EFC4 -/* 0401A4 7F00B674 8E640000 */ lw $a0, ($s3) -/* 0401A8 7F00B678 240F0003 */ li $t7, 3 -/* 0401AC 7F00B67C AFAF0148 */ sw $t7, 0x148($sp) -/* 0401B0 7F00B680 AFA00144 */ sw $zero, 0x144($sp) -/* 0401B4 7F00B684 AFB4014C */ sw $s4, 0x14c($sp) -/* 0401B8 7F00B688 02402025 */ move $a0, $s2 -/* 0401BC 7F00B68C 0FC1D1A1 */ jal subdraw -/* 0401C0 7F00B690 8E650000 */ lw $a1, ($s3) -/* 0401C4 7F00B694 8E620000 */ lw $v0, ($s3) -/* 0401C8 7F00B698 8FB4014C */ lw $s4, 0x14c($sp) -/* 0401CC 7F00B69C 00008025 */ move $s0, $zero -/* 0401D0 7F00B6A0 8C590008 */ lw $t9, 8($v0) -/* 0401D4 7F00B6A4 00008825 */ move $s1, $zero -/* 0401D8 7F00B6A8 27B2005C */ addiu $s2, $sp, 0x5c -/* 0401DC 7F00B6AC 872E000E */ lh $t6, 0xe($t9) -/* 0401E0 7F00B6B0 59C00014 */ blezl $t6, .L7F00B704 -/* 0401E4 7F00B6B4 8FBF004C */ lw $ra, 0x4c($sp) -/* 0401E8 7F00B6B8 8C49000C */ lw $t1, 0xc($v0) -.L7F00B6BC: -/* 0401EC 7F00B6BC 02402825 */ move $a1, $s2 -/* 0401F0 7F00B6C0 0FC16008 */ jal sub_GAME_7F058020 -/* 0401F4 7F00B6C4 01312021 */ addu $a0, $t1, $s1 -/* 0401F8 7F00B6C8 8E6A0000 */ lw $t2, ($s3) -/* 0401FC 7F00B6CC 00106180 */ sll $t4, $s0, 6 -/* 040200 7F00B6D0 02402025 */ move $a0, $s2 -/* 040204 7F00B6D4 8D4B000C */ lw $t3, 0xc($t2) -/* 040208 7F00B6D8 0FC16327 */ jal sub_GAME_7F058C9C -/* 04020C 7F00B6DC 016C2821 */ addu $a1, $t3, $t4 -/* 040210 7F00B6E0 8E620000 */ lw $v0, ($s3) -/* 040214 7F00B6E4 26100001 */ addiu $s0, $s0, 1 -/* 040218 7F00B6E8 26310040 */ addiu $s1, $s1, 0x40 -/* 04021C 7F00B6EC 8C4D0008 */ lw $t5, 8($v0) -/* 040220 7F00B6F0 85B8000E */ lh $t8, 0xe($t5) -/* 040224 7F00B6F4 0218082A */ slt $at, $s0, $t8 -/* 040228 7F00B6F8 5420FFF0 */ bnezl $at, .L7F00B6BC -/* 04022C 7F00B6FC 8C49000C */ lw $t1, 0xc($v0) -/* 040230 7F00B700 8FBF004C */ lw $ra, 0x4c($sp) -.L7F00B704: -/* 040234 7F00B704 02801025 */ move $v0, $s4 -/* 040238 7F00B708 8FB40048 */ lw $s4, 0x48($sp) -/* 04023C 7F00B70C 8FB00038 */ lw $s0, 0x38($sp) -/* 040240 7F00B710 8FB1003C */ lw $s1, 0x3c($sp) -/* 040244 7F00B714 8FB20040 */ lw $s2, 0x40($sp) -/* 040248 7F00B718 8FB30044 */ lw $s3, 0x44($sp) -/* 04024C 7F00B71C 03E00008 */ jr $ra -/* 040250 7F00B720 27BD0180 */ addiu $sp, $sp, 0x180 -) -#endif - - - -#ifdef NONMATCHING -void disable_all_switches(void *arg0) -{ - s32 temp_s0; - void *temp_t7; - void *phi_v1; - s32 phi_s1; - s32 phi_a2; - s32 phi_s0; - s32 phi_a2_2; - - phi_v1 = arg0->unk8; - phi_s1 = 0; - phi_a2 = arg0->unk8->unkC; - phi_s0 = 0; - if (arg0->unk8->unkC > 0) - { -loop_1: - temp_t7 = phi_v1->unk8 + phi_s1; - phi_a2_2 = phi_a2; - phi_v1 = phi_v1; - if (*temp_t7 != 0) - { - phi_a2_2 = phi_a2; - phi_v1 = phi_v1; - if (0x12 == (**temp_t7 & 0xff)) - { - *extract_id_from_object_structure_microcode(arg0, *temp_t7, phi_a2) = 0; - phi_a2_2 = arg0->unk8->unkC; - phi_v1 = arg0->unk8; - } - } - temp_s0 = phi_s0 + 1; - phi_s1 = phi_s1 + 4; - phi_a2 = phi_a2_2; - phi_s0 = temp_s0; - if (temp_s0 < phi_a2_2) - { - goto loop_1; - } - } -} -#else -GLOBAL_ASM( -.text -glabel disable_all_switches -/* 040254 7F00B724 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 040258 7F00B728 AFBF0024 */ sw $ra, 0x24($sp) -/* 04025C 7F00B72C AFB30020 */ sw $s3, 0x20($sp) -/* 040260 7F00B730 AFB2001C */ sw $s2, 0x1c($sp) -/* 040264 7F00B734 AFB10018 */ sw $s1, 0x18($sp) -/* 040268 7F00B738 AFB00014 */ sw $s0, 0x14($sp) -/* 04026C 7F00B73C 8C830008 */ lw $v1, 8($a0) -/* 040270 7F00B740 00809025 */ move $s2, $a0 -/* 040274 7F00B744 00008025 */ move $s0, $zero -/* 040278 7F00B748 8466000C */ lh $a2, 0xc($v1) -/* 04027C 7F00B74C 00008825 */ move $s1, $zero -/* 040280 7F00B750 24130012 */ li $s3, 18 -/* 040284 7F00B754 58C00014 */ blezl $a2, .L7F00B7A8 -/* 040288 7F00B758 8FBF0024 */ lw $ra, 0x24($sp) -.L7F00B75C: -/* 04028C 7F00B75C 8C6E0008 */ lw $t6, 8($v1) -/* 040290 7F00B760 01D17821 */ addu $t7, $t6, $s1 -/* 040294 7F00B764 8DE50000 */ lw $a1, ($t7) -/* 040298 7F00B768 50A0000B */ beql $a1, $zero, .L7F00B798 -/* 04029C 7F00B76C 26100001 */ addiu $s0, $s0, 1 -/* 0402A0 7F00B770 94B80000 */ lhu $t8, ($a1) -/* 0402A4 7F00B774 331900FF */ andi $t9, $t8, 0xff -/* 0402A8 7F00B778 56790007 */ bnel $s3, $t9, .L7F00B798 -/* 0402AC 7F00B77C 26100001 */ addiu $s0, $s0, 1 -/* 0402B0 7F00B780 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0402B4 7F00B784 02402025 */ move $a0, $s2 -/* 0402B8 7F00B788 AC400000 */ sw $zero, ($v0) -/* 0402BC 7F00B78C 8E430008 */ lw $v1, 8($s2) -/* 0402C0 7F00B790 8466000C */ lh $a2, 0xc($v1) -/* 0402C4 7F00B794 26100001 */ addiu $s0, $s0, 1 -.L7F00B798: -/* 0402C8 7F00B798 0206082A */ slt $at, $s0, $a2 -/* 0402CC 7F00B79C 1420FFEF */ bnez $at, .L7F00B75C -/* 0402D0 7F00B7A0 26310004 */ addiu $s1, $s1, 4 -/* 0402D4 7F00B7A4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F00B7A8: -/* 0402D8 7F00B7A8 8FB00014 */ lw $s0, 0x14($sp) -/* 0402DC 7F00B7AC 8FB10018 */ lw $s1, 0x18($sp) -/* 0402E0 7F00B7B0 8FB2001C */ lw $s2, 0x1c($sp) -/* 0402E4 7F00B7B4 8FB30020 */ lw $s3, 0x20($sp) -/* 0402E8 7F00B7B8 03E00008 */ jr $ra -/* 0402EC 7F00B7BC 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void set_item_visibility_in_objinstance(void *arg0, s32 arg1, ?32 arg2) -{ - void *temp_t9; - - temp_t9 = arg0->unk8->unk8 + (arg1 * 4); - if (*temp_t9 != 0) - { - *extract_id_from_object_structure_microcode(*temp_t9, *temp_t9) = arg2; - } -} -#else -GLOBAL_ASM( -.text -glabel set_item_visibility_in_objinstance -/* 0402F0 7F00B7C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0402F4 7F00B7C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0402F8 7F00B7C8 AFA60020 */ sw $a2, 0x20($sp) -/* 0402FC 7F00B7CC 8C8E0008 */ lw $t6, 8($a0) -/* 040300 7F00B7D0 0005C080 */ sll $t8, $a1, 2 -/* 040304 7F00B7D4 8DCF0008 */ lw $t7, 8($t6) -/* 040308 7F00B7D8 01F8C821 */ addu $t9, $t7, $t8 -/* 04030C 7F00B7DC 8F270000 */ lw $a3, ($t9) -/* 040310 7F00B7E0 50E00006 */ beql $a3, $zero, .L7F00B7FC -/* 040314 7F00B7E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 040318 7F00B7E8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 04031C 7F00B7EC 00E02825 */ move $a1, $a3 -/* 040320 7F00B7F0 8FA80020 */ lw $t0, 0x20($sp) -/* 040324 7F00B7F4 AC480000 */ sw $t0, ($v0) -/* 040328 7F00B7F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00B7FC: -/* 04032C 7F00B7FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 040330 7F00B800 03E00008 */ jr $ra -/* 040334 7F00B804 00000000 */ nop -) -#endif - - - - - -void select_load_bond_picture(s32 *objinstance,u32 bondID) { - set_item_visibility_in_objinstance(objinstance,8,1); - set_item_visibility_in_objinstance(objinstance,9,0); - set_item_visibility_in_objinstance(objinstance,10,0); - set_item_visibility_in_objinstance(objinstance,0xb,0); - set_item_visibility_in_objinstance(objinstance,0xf,1); - set_item_visibility_in_objinstance(objinstance,0x10,0); - set_item_visibility_in_objinstance(objinstance,0x11,0); - set_item_visibility_in_objinstance(objinstance,0x12,0); -} - - - - - - -#ifdef NONMATCHING -void load_walletbond(void) -{ - s32 temp_ret; - void *temp_s0; - void *phi_s0; - - if (ptr_folder_object_instance == 0) - { - load_object_fill_header(PitemZ_entries.unkD08, PitemZ_entries.unkD0C, ptr_logo_and_walletbond_DL, 0xa000, 0); - set_objuse_flag_compute_grp_nums_set_obj_loaded(PitemZ_entries.unkD08); - phi_s0 = &ptr_folder_object_instance; -loop_2: - temp_ret = get_aircraft_obj_instance_controller(PitemZ_entries.unkD08); - *phi_s0 = temp_ret; - set_obj_instance_controller_scale(temp_ret, 0x3f800000); - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - if (temp_s0 != &D_8002A96C) - { - goto loop_2; - } - if (PitemZ_entries.unkD08->unk8->unk54 != 0) - { - sub_GAME_7F0BA640(PitemZ_entries.unkD08->unk8->unk54->unk4->unk1C + (PitemZ_entries.unkD08->unk8->unk54->unk4->unk0 & 0xffffff), 0, 8); - } - } -} -#else -GLOBAL_ASM( -.text -glabel load_walletbond -/* 0403DC 7F00B8AC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0403E0 7F00B8B0 3C0E8003 */ lui $t6, %hi(ptr_folder_object_instance) -/* 0403E4 7F00B8B4 8DCEA95C */ lw $t6, %lo(ptr_folder_object_instance)($t6) -/* 0403E8 7F00B8B8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0403EC 7F00B8BC AFB20030 */ sw $s2, 0x30($sp) -/* 0403F0 7F00B8C0 AFB1002C */ sw $s1, 0x2c($sp) -/* 0403F4 7F00B8C4 AFB00028 */ sw $s0, 0x28($sp) -/* 0403F8 7F00B8C8 15C0002A */ bnez $t6, .L7F00B974 -/* 0403FC 7F00B8CC F7B40020 */ sdc1 $f20, 0x20($sp) -/* 040400 7F00B8D0 3C128004 */ lui $s2, %hi(PitemZ_entries) -/* 040404 7F00B8D4 2652A228 */ addiu $s2, %lo(PitemZ_entries) # addiu $s2, $s2, -0x5dd8 -/* 040408 7F00B8D8 3C068003 */ lui $a2, %hi(ptr_logo_and_walletbond_DL) -/* 04040C 7F00B8DC 8CC6A950 */ lw $a2, %lo(ptr_logo_and_walletbond_DL)($a2) -/* 040410 7F00B8E0 8E440D08 */ lw $a0, 0xd08($s2) -/* 040414 7F00B8E4 8E450D0C */ lw $a1, 0xd0c($s2) -/* 040418 7F00B8E8 3407A000 */ li $a3, 40960 -/* 04041C 7F00B8EC 0FC1D929 */ jal load_object_fill_header -/* 040420 7F00B8F0 AFA00010 */ sw $zero, 0x10($sp) -/* 040424 7F00B8F4 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 040428 7F00B8F8 8E440D08 */ lw $a0, 0xd08($s2) -/* 04042C 7F00B8FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 040430 7F00B900 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 040434 7F00B904 3C118003 */ lui $s1, %hi(D_8002A96C) -/* 040438 7F00B908 4481A000 */ mtc1 $at, $f20 -/* 04043C 7F00B90C 2631A96C */ addiu $s1, %lo(D_8002A96C) # addiu $s1, $s1, -0x5694 -/* 040440 7F00B910 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -.L7F00B914: -/* 040444 7F00B914 0FC1B08F */ jal get_aircraft_obj_instance_controller -/* 040448 7F00B918 8E440D08 */ lw $a0, 0xd08($s2) -/* 04044C 7F00B91C 4405A000 */ mfc1 $a1, $f20 -/* 040450 7F00B920 AE020000 */ sw $v0, ($s0) -/* 040454 7F00B924 0FC1B39E */ jal set_obj_instance_controller_scale -/* 040458 7F00B928 00402025 */ move $a0, $v0 -/* 04045C 7F00B92C 26100004 */ addiu $s0, $s0, 4 -/* 040460 7F00B930 1611FFF8 */ bne $s0, $s1, .L7F00B914 -/* 040464 7F00B934 00000000 */ nop -/* 040468 7F00B938 8E4F0D08 */ lw $t7, 0xd08($s2) -/* 04046C 7F00B93C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 040470 7F00B940 8DF80008 */ lw $t8, 8($t7) -/* 040474 7F00B944 8F030054 */ lw $v1, 0x54($t8) -/* 040478 7F00B948 5060000B */ beql $v1, $zero, .L7F00B978 -/* 04047C 7F00B94C 8FBF0034 */ lw $ra, 0x34($sp) -/* 040480 7F00B950 8C620004 */ lw $v0, 4($v1) -/* 040484 7F00B954 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 040488 7F00B958 00002825 */ move $a1, $zero -/* 04048C 7F00B95C 8C480000 */ lw $t0, ($v0) -/* 040490 7F00B960 8C59001C */ lw $t9, 0x1c($v0) -/* 040494 7F00B964 24060008 */ li $a2, 8 -/* 040498 7F00B968 01014824 */ and $t1, $t0, $at -/* 04049C 7F00B96C 0FC2E990 */ jal sub_GAME_7F0BA640 -/* 0404A0 7F00B970 03292021 */ addu $a0, $t9, $t1 -.L7F00B974: -/* 0404A4 7F00B974 8FBF0034 */ lw $ra, 0x34($sp) -.L7F00B978: -/* 0404A8 7F00B978 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0404AC 7F00B97C 8FB00028 */ lw $s0, 0x28($sp) -/* 0404B0 7F00B980 8FB1002C */ lw $s1, 0x2c($sp) -/* 0404B4 7F00B984 8FB20030 */ lw $s2, 0x30($sp) -/* 0404B8 7F00B988 03E00008 */ jr $ra -/* 0404BC 7F00B98C 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F00B990(void) -{ - s32 temp_a0; - void *temp_s0; - void *phi_s0; - - phi_s0 = &ptr_folder_object_instance; -loop_1: - temp_a0 = *phi_s0; - if (temp_a0 != 0) - { - set_aircraft_obj_inst_scale_to_zero(temp_a0); - *phi_s0 = 0; - } - temp_s0 = phi_s0 + 4; - phi_s0 = temp_s0; - if (temp_s0 != &D_8002A96C) - { - goto loop_1; - } -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F00B990 -/* 0404C0 7F00B990 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0404C4 7F00B994 AFB10018 */ sw $s1, 0x18($sp) -/* 0404C8 7F00B998 AFB00014 */ sw $s0, 0x14($sp) -/* 0404CC 7F00B99C 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 0404D0 7F00B9A0 3C118003 */ lui $s1, %hi(D_8002A96C) -/* 0404D4 7F00B9A4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0404D8 7F00B9A8 2631A96C */ addiu $s1, %lo(D_8002A96C) # addiu $s1, $s1, -0x5694 -/* 0404DC 7F00B9AC 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 0404E0 7F00B9B0 8E040000 */ lw $a0, ($s0) -.L7F00B9B4: -/* 0404E4 7F00B9B4 50800005 */ beql $a0, $zero, .L7F00B9CC -/* 0404E8 7F00B9B8 26100004 */ addiu $s0, $s0, 4 -/* 0404EC 7F00B9BC 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero -/* 0404F0 7F00B9C0 00000000 */ nop -/* 0404F4 7F00B9C4 AE000000 */ sw $zero, ($s0) -/* 0404F8 7F00B9C8 26100004 */ addiu $s0, $s0, 4 -.L7F00B9CC: -/* 0404FC 7F00B9CC 5611FFF9 */ bnel $s0, $s1, .L7F00B9B4 -/* 040500 7F00B9D0 8E040000 */ lw $a0, ($s0) -/* 040504 7F00B9D4 8FBF001C */ lw $ra, 0x1c($sp) -/* 040508 7F00B9D8 8FB00014 */ lw $s0, 0x14($sp) -/* 04050C 7F00B9DC 8FB10018 */ lw $s1, 0x18($sp) -/* 040510 7F00B9E0 03E00008 */ jr $ra -/* 040514 7F00B9E4 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -void *init_menu05_fileselect(void) -{ - s32 sp24; - s32 sp20; - void *temp_v0; - void *phi_v0; - - prev_keypresses = 0; - sp24 = 0x6e000; - sp20 = (s32) (ptr_logo_and_walletbond_DL + 0xa000); - if (selected_folder_num < 0) - { - selected_folder_num = 0; - } - tab_2_selected = 0; - tab_3_selected = 0; - folder_selected_for_deletion = -1; - folder_selected_for_deletion_choice = 1; - sub_GAME_7F008DE4(&sp20, &sp24); - load_walletbond(); - if (maybe_is_in_menu != 0) - { - musicTrack1Play(0x17); - maybe_is_in_menu = 0; - } - menu_timer = 0; - cheat_activated_1 = (u8)0; - cheat_activated_1 = (u8)0; - phi_v0 = &cheat_activated_2; -loop_5: - temp_v0 = phi_v0 + 4; - temp_v0->unk-3 = (u8)0; - temp_v0->unk-2 = (u8)0; - temp_v0->unk-1 = (u8)0; - temp_v0->unk-4 = (u8)0; - phi_v0 = temp_v0; - if (temp_v0 != &cheat_activated_74) - { - goto loop_5; - } - append_cheat_sp = 0; - append_cheat_mp = 0; - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel init_menu05_fileselect -/* 040518 7F00B9E8 3C0F8003 */ lui $t7, %hi(ptr_logo_and_walletbond_DL) -/* 04051C 7F00B9EC 8DEFA950 */ lw $t7, %lo(ptr_logo_and_walletbond_DL)($t7) -/* 040520 7F00B9F0 3401A000 */ li $at, 40960 -/* 040524 7F00B9F4 3C028003 */ lui $v0, %hi(selected_folder_num) -/* 040528 7F00B9F8 01E1C021 */ addu $t8, $t7, $at -/* 04052C 7F00B9FC 3C018003 */ lui $at, %hi(prev_keypresses) -/* 040530 7F00BA00 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718 -/* 040534 7F00BA04 AC20A934 */ sw $zero, %lo(prev_keypresses)($at) -/* 040538 7F00BA08 8C590000 */ lw $t9, ($v0) -/* 04053C 7F00BA0C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 040540 7F00BA10 3C0E0006 */ lui $t6, (0x0006E000 >> 16) # lui $t6, 6 -/* 040544 7F00BA14 35CEE000 */ ori $t6, (0x0006E000 & 0xFFFF) # ori $t6, $t6, 0xe000 -/* 040548 7F00BA18 AFBF0014 */ sw $ra, 0x14($sp) -/* 04054C 7F00BA1C AFAE0024 */ sw $t6, 0x24($sp) -/* 040550 7F00BA20 07210002 */ bgez $t9, .L7F00BA2C -/* 040554 7F00BA24 AFB80020 */ sw $t8, 0x20($sp) -/* 040558 7F00BA28 AC400000 */ sw $zero, ($v0) -.L7F00BA2C: -/* 04055C 7F00BA2C 3C018003 */ lui $at, %hi(tab_2_selected) -/* 040560 7F00BA30 AC20A8D4 */ sw $zero, %lo(tab_2_selected)($at) -/* 040564 7F00BA34 3C018003 */ lui $at, %hi(tab_3_selected) -/* 040568 7F00BA38 AC20A8D8 */ sw $zero, %lo(tab_3_selected)($at) -/* 04056C 7F00BA3C 3C018003 */ lui $at, %hi(folder_selected_for_deletion) -/* 040570 7F00BA40 2408FFFF */ li $t0, -1 -/* 040574 7F00BA44 AC28A91C */ sw $t0, %lo(folder_selected_for_deletion)($at) -/* 040578 7F00BA48 3C018003 */ lui $at, %hi(folder_selected_for_deletion_choice) -/* 04057C 7F00BA4C 24090001 */ li $t1, 1 -/* 040580 7F00BA50 AC29A920 */ sw $t1, %lo(folder_selected_for_deletion_choice)($at) -/* 040584 7F00BA54 27A40020 */ addiu $a0, $sp, 0x20 -/* 040588 7F00BA58 0FC02379 */ jal sub_GAME_7F008DE4 -/* 04058C 7F00BA5C 27A50024 */ addiu $a1, $sp, 0x24 -/* 040590 7F00BA60 0FC02E2B */ jal load_walletbond -/* 040594 7F00BA64 00000000 */ nop -/* 040598 7F00BA68 3C0A8003 */ lui $t2, %hi(maybe_is_in_menu) -/* 04059C 7F00BA6C 8D4AA93C */ lw $t2, %lo(maybe_is_in_menu)($t2) -/* 0405A0 7F00BA70 11400005 */ beqz $t2, .L7F00BA88 -/* 0405A4 7F00BA74 00000000 */ nop -/* 0405A8 7F00BA78 0C001B9F */ jal musicTrack1Play -/* 0405AC 7F00BA7C 24040017 */ li $a0, 23 -/* 0405B0 7F00BA80 3C018003 */ lui $at, %hi(maybe_is_in_menu) -/* 0405B4 7F00BA84 AC20A93C */ sw $zero, %lo(maybe_is_in_menu)($at) -.L7F00BA88: -/* 0405B8 7F00BA88 3C018003 */ lui $at, %hi(menu_timer) -/* 0405BC 7F00BA8C AC20A8CC */ sw $zero, %lo(menu_timer)($at) -/* 0405C0 7F00BA90 3C018007 */ lui $at, %hi(cheat_activated_1) -/* 0405C4 7F00BA94 3C028007 */ lui $v0, %hi(cheat_activated_2) -/* 0405C8 7F00BA98 3C038007 */ lui $v1, %hi(cheat_activated_74) -/* 0405CC 7F00BA9C 246396EB */ addiu $v1, %lo(cheat_activated_74) # addiu $v1, $v1, -0x6915 -/* 0405D0 7F00BAA0 244296A3 */ addiu $v0, %lo(cheat_activated_2) # addiu $v0, $v0, -0x695d -/* 0405D4 7F00BAA4 A02096A1 */ sb $zero, %lo(CHEAT_AVAILABLE_EXTRA_CHARS)($at) -/* 0405D8 7F00BAA8 A02096A2 */ sb $zero, %lo(cheat_activated_1)($at) -.L7F00BAAC: -/* 0405DC 7F00BAAC 24420004 */ addiu $v0, $v0, 4 -/* 0405E0 7F00BAB0 A040FFFD */ sb $zero, -3($v0) -/* 0405E4 7F00BAB4 A040FFFE */ sb $zero, -2($v0) -/* 0405E8 7F00BAB8 A040FFFF */ sb $zero, -1($v0) -/* 0405EC 7F00BABC 1443FFFB */ bne $v0, $v1, .L7F00BAAC -/* 0405F0 7F00BAC0 A040FFFC */ sb $zero, -4($v0) -/* 0405F4 7F00BAC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0405F8 7F00BAC8 3C018003 */ lui $at, %hi(append_cheat_sp) -/* 0405FC 7F00BACC AC20A900 */ sw $zero, %lo(append_cheat_sp)($at) -/* 040600 7F00BAD0 3C018003 */ lui $at, %hi(append_cheat_mp) -/* 040604 7F00BAD4 AC20A904 */ sw $zero, %lo(append_cheat_mp)($at) -/* 040608 7F00BAD8 03E00008 */ jr $ra -/* 04060C 7F00BADC 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - -void update_menu05_filesel(void) { - if ((menu_update == 0) || (maybe_prev_menu == 0)) { - sub_GAME_7F00B990(); - } -} - - - - - -#ifdef NONMATCHING -s32 get_chapter_briefing_entry(s32 arg0) -{ - s32 temp_v1; - void *phi_v0; - s32 phi_v1; - - if (arg0 >= 0) - { - phi_v0 = (arg0 * 0x1c) + &mission_folder_setup_entries; - phi_v1 = arg0; -loop_2: - if (phi_v0->unk10 != 0) - { - return phi_v1; - } - temp_v1 = phi_v1 + -1; - phi_v0 = phi_v0 + -0x1c; - phi_v1 = temp_v1; - if (temp_v1 >= 0) - { - goto loop_2; - } - } - return -1; -} -#else -GLOBAL_ASM( -.text -glabel get_chapter_briefing_entry -/* 04064C 7F00BB1C 0480000F */ bltz $a0, .L7F00BB5C -/* 040650 7F00BB20 00801825 */ move $v1, $a0 -/* 040654 7F00BB24 000470C0 */ sll $t6, $a0, 3 -/* 040658 7F00BB28 01C47023 */ subu $t6, $t6, $a0 -/* 04065C 7F00BB2C 3C0F8003 */ lui $t7, %hi(mission_folder_setup_entries) -/* 040660 7F00BB30 25EFABE4 */ addiu $t7, %lo(mission_folder_setup_entries) # addiu $t7, $t7, -0x541c -/* 040664 7F00BB34 000E7080 */ sll $t6, $t6, 2 -/* 040668 7F00BB38 01CF1021 */ addu $v0, $t6, $t7 -.L7F00BB3C: -/* 04066C 7F00BB3C 8C580010 */ lw $t8, 0x10($v0) -/* 040670 7F00BB40 53000004 */ beql $t8, $zero, .L7F00BB54 -/* 040674 7F00BB44 2463FFFF */ addiu $v1, $v1, -1 -/* 040678 7F00BB48 03E00008 */ jr $ra -/* 04067C 7F00BB4C 00601025 */ move $v0, $v1 - -/* 040680 7F00BB50 2463FFFF */ addiu $v1, $v1, -1 -.L7F00BB54: -/* 040684 7F00BB54 0461FFF9 */ bgez $v1, .L7F00BB3C -/* 040688 7F00BB58 2442FFE4 */ addiu $v0, $v0, -0x1c -.L7F00BB5C: -/* 04068C 7F00BB5C 2402FFFF */ li $v0, -1 -/* 040690 7F00BB60 03E00008 */ jr $ra -/* 040694 7F00BB64 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void toggle_deletion_menu_for_folder(s32 arg0) -{ - f32 sp18; - - sub_GAME_7F077FF4((arg0 * 0xc) + &dword_CODE_bss_80069620, &sp18); - cursor_h_pos = (f32) (sp18 + -1.0f); - cursor_v_pos = (f32) (sp1C + 20.0f); -} -#else -GLOBAL_ASM( -.text -glabel toggle_deletion_menu_for_folder -/* 040698 7F00BB68 00047080 */ sll $t6, $a0, 2 -/* 04069C 7F00BB6C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0406A0 7F00BB70 01C47023 */ subu $t6, $t6, $a0 -/* 0406A4 7F00BB74 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80069620) -/* 0406A8 7F00BB78 AFBF0014 */ sw $ra, 0x14($sp) -/* 0406AC 7F00BB7C 25EF9620 */ addiu $t7, %lo(dword_CODE_bss_80069620) # addiu $t7, $t7, -0x69e0 -/* 0406B0 7F00BB80 000E7080 */ sll $t6, $t6, 2 -/* 0406B4 7F00BB84 01CF2021 */ addu $a0, $t6, $t7 -/* 0406B8 7F00BB88 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 0406BC 7F00BB8C 27A50018 */ addiu $a1, $sp, 0x18 -/* 0406C0 7F00BB90 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0406C4 7F00BB94 44813000 */ mtc1 $at, $f6 -/* 0406C8 7F00BB98 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0406CC 7F00BB9C 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 0406D0 7F00BBA0 C7AA001C */ lwc1 $f10, 0x1c($sp) -/* 0406D4 7F00BBA4 46062200 */ add.s $f8, $f4, $f6 -/* 0406D8 7F00BBA8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0406DC 7F00BBAC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0406E0 7F00BBB0 E428A908 */ swc1 $f8, %lo(cursor_h_pos)($at) -/* 0406E4 7F00BBB4 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0406E8 7F00BBB8 44818000 */ mtc1 $at, $f16 -/* 0406EC 7F00BBBC 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 0406F0 7F00BBC0 46105480 */ add.s $f18, $f10, $f16 -/* 0406F4 7F00BBC4 03E00008 */ jr $ra -/* 0406F8 7F00BBC8 E432A90C */ swc1 $f18, %lo(cursor_v_pos)($at) -) -#endif - - - - - -#ifdef NONMATCHING -s32 interface_menu05_fileselect(void) -{ - ? spC8; - ? sp88; - ? sp80; - ? sp7C; - ? sp78; - ? sp74; - f32 sp6C; - f32 sp64; - s32 sp60; - s32 sp5C; - void *sp54; - s32 temp_ret; - s32 temp_s2; - s32 temp_s2_2; - void *temp_a0; - void *phi_s0; - void *phi_s1; - s32 phi_s2; - s32 phi_a0; - s32 phi_a0_2; - void *phi_s0_2; - void *phi_s1_2; - s32 phi_s2_2; - s32 phi_return; - - if (((((get_controller_buttons_pressed(0, 0xffff) != 0) || (get_cur_controller_horz_stick_pos(0) < -5)) || (get_cur_controller_horz_stick_pos(0) >= 6)) || (get_cur_controller_vert_stick_pos(0) < -5)) || (get_cur_controller_vert_stick_pos(0) >= 6)) - { - menu_timer = 0; - } - else - { - menu_timer = (s32) (menu_timer + clock_timer); - } - setvideo_far(0x42700000); - video_related_21(D_80051A1C); - set_page_height(0x42c80000, D_80051A20); - set_video2_settings_offset_24(0); - sp54 = &D_8002AB94; - phi_s0 = &ptr_folder_object_instance; - phi_s1 = &dword_CODE_bss_80069620; - phi_s2 = 0; -loop_8: - sub_GAME_7F059694(&spC8, 0, 0, 0x457a0000, 1.0f); - init_something_copy_posdata_to_it(sp54, &sp88); - matrix_multiply_A1_by_F12(D_80051A24, &sp88); - sub_GAME_7F058068(&spC8, &sp88); - (*phi_s0)->unkC = sub_GAME_7F0BD714((*phi_s0)->unk8->unkE << 6); - sub_GAME_7F058020(&sp88, (*phi_s0)->unkC); - temp_a0 = *phi_s0; - phi_s1->unk0 = (f32) temp_a0->unkC->unk30; - phi_s1->unk4 = (f32) temp_a0->unkC->unk34; - phi_s1->unk8 = (f32) temp_a0->unkC->unk38; - disable_all_switches(temp_a0); - select_load_bond_picture(*phi_s0, removed_would_have_returned_bond_for_folder_num(phi_s2)); - set_item_visibility_in_objinstance(*phi_s0, 0xe, 1); - set_item_visibility_in_objinstance(*phi_s0, 0xd, 1); - temp_s2 = phi_s2 + 1; - sp54 = (void *) (sp54 + 0xc); - phi_s0 = phi_s0 + 4; - phi_s1 = phi_s1 + 0xc; - phi_s2 = temp_s2; - if (temp_s2 != 4) - { - goto loop_8; - } - if (selected_folder_num >= 0) - { - phi_a0 = selected_folder_num; - if (selected_folder_num == 0x64) - { - selected_folder_num = (s32) selected_folder_num_copy; - phi_a0 = selected_folder_num_copy; - } - if ((phi_a0 < 0) || (phi_a0 >= 4)) - { - selected_folder_num = 0; - phi_a0_2 = 0; - } - else - { - - } - toggle_deletion_menu_for_folder(phi_a0_2); - selected_folder_num = -1; - } - if (folder_selected_for_deletion >= 0) - { - if ((get_controller_buttons_pressed(0, 0x222) != 0) && (folder_selected_for_deletion_choice == 0)) - { - folder_selected_for_deletion_choice = 1; - play_sfx_a1(ptr_sfx_buf, 0x12, 0); - } - else - { - if (get_controller_buttons_pressed(0, 0x111) != 0) - { - if (folder_selected_for_deletion_choice != 0) - { - folder_selected_for_deletion_choice = 0; - play_sfx_a1(ptr_sfx_buf, 0x12, 0); - } - } - } - if ((get_cur_controller_horz_stick_pos(0) < -0x2d) && (*&folder_selected_for_deletion_choice == 0)) - { - *&folder_selected_for_deletion_choice = 1; - play_sfx_a1(ptr_sfx_buf, 0x12, 0); - } - else - { - if (get_cur_controller_horz_stick_pos(0) >= 0x2e) - { - if (*&folder_selected_for_deletion_choice != 0) - { - *&folder_selected_for_deletion_choice = 0; - play_sfx_a1(ptr_sfx_buf, 0x12, 0); - } - } - } - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - if (*&folder_selected_for_deletion_choice == 0) - { - delete_eeprom_folder(folder_selected_for_deletion, 0x76, 0); - play_sfx_a1(ptr_sfx_buf, 0x76, 0); - } - else - { - play_sfx_a1(ptr_sfx_buf, 0x76, 0); - } - folder_selected_for_deletion = -1; - phi_return = toggle_deletion_menu_for_folder(folder_selected_for_deletion); - } - else - { - temp_ret = get_controller_buttons_pressed(0, 0x4000); - phi_return = temp_ret; - if (temp_ret != 0) - { - toggle_deletion_menu_for_folder(folder_selected_for_deletion); - folder_selected_for_deletion = -1; - phi_return = play_sfx_a1(ptr_sfx_buf, 0x76, 0); - } - } - } - else - { - phi_s0_2 = 0x80030000 + -0x56a4; - phi_s1_2 = &dword_CODE_bss_80069620; - phi_s2_2 = 0; -loop_38: - sub_GAME_7F03F90C(*phi_s0_2, &sp80, &sp7C, &sp78, &sp74); - sub_GAME_7F03F948(phi_s1_2, &sp7C, &sp74, &sp6C, &sp64); - if (((((sp6C <= cursor_h_pos) && (cursor_h_pos <= sp64)) && (sp70 <= cursor_v_pos)) && (cursor_v_pos <= sp68)) && (get_controller_buttons_pressed(0, 0xb000) != 0)) - { - if (folder_selection_screen_option_icon == 0) - { - selected_folder_num = (s32) phi_s2_2; - play_sfx_a1(ptr_sfx_buf, 0x4d, 0); - } - else - { - if (folder_selection_screen_option_icon == 1) - { - sub_GAME_7F01EDA0(phi_s2_2); - folder_selection_screen_option_icon = 0; - play_sfx_a1(ptr_sfx_buf, 0x4f, 0); - } - else - { - if (folder_selection_screen_option_icon == 2) - { - if (sp60 >= 0) - { - if (sp5C >= 0) - { - folder_selected_for_deletion = (s32) phi_s2_2; - folder_selected_for_deletion_choice = 1; - } - } - folder_selection_screen_option_icon = 0; - play_sfx_a1(ptr_sfx_buf, 0x12, 0); - } - } - } - } - else - { - temp_s2_2 = phi_s2_2 + 1; - phi_s0_2 = phi_s0_2 + 4; - phi_s1_2 = phi_s1_2 + 0xc; - phi_s2_2 = temp_s2_2; - if (temp_s2_2 != 4) - { - goto loop_38; - } - } - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - if ((((folder_option_COPY_left_bound.unk0 <= cursor_h_pos) && (cursor_h_pos <= folder_option_COPY_left_bound.unk8)) && (folder_option_COPY_left_bound.unk4 <= cursor_v_pos)) && (cursor_v_pos <= folder_option_COPY_left_bound.unkC)) - { - *&folder_selection_screen_option_icon = 1; - play_sfx_a1(*&ptr_sfx_buf, 0xde, 0); - } - else - { - if ((((folder_option_ERASE_left_bound.unk0 <= cursor_h_pos) && (cursor_h_pos <= folder_option_ERASE_left_bound.unk8)) && (folder_option_ERASE_left_bound.unk4 <= cursor_v_pos)) && (cursor_v_pos <= folder_option_ERASE_left_bound.unkC)) - { - *&folder_selection_screen_option_icon = 2; - play_sfx_a1(*&ptr_sfx_buf, 0xde, 0); - } - else - { - if (*&folder_selection_screen_option_icon != 0) - { - *&folder_selection_screen_option_icon = 0; - play_sfx_a1(*&ptr_sfx_buf, 0x76, 0); - } - } - } - } - else - { - if (get_controller_buttons_pressed(0, 0x4000) != 0) - { - if (*&folder_selection_screen_option_icon != 0) - { - *&folder_selection_screen_option_icon = 0; - play_sfx_a1(*&ptr_sfx_buf, 0x76, 0); - } - } - } - phi_return = menu_control_stick_tracking(); - } - if (selected_folder_num >= 0) - { - set_menu_to_mode(6, 0); - return set_menu_cursor_pos_to_setting(0); - } - if (menu_timer >= 0x709) - { - phi_return = set_menu_to_mode(0, 1); - } - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel interface_menu05_fileselect -/* 0406FC 7F00BBCC 27BDFEF0 */ addiu $sp, $sp, -0x110 -/* 040700 7F00BBD0 AFBF0044 */ sw $ra, 0x44($sp) -/* 040704 7F00BBD4 AFB30040 */ sw $s3, 0x40($sp) -/* 040708 7F00BBD8 AFB2003C */ sw $s2, 0x3c($sp) -/* 04070C 7F00BBDC AFB10038 */ sw $s1, 0x38($sp) -/* 040710 7F00BBE0 AFB00034 */ sw $s0, 0x34($sp) -/* 040714 7F00BBE4 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 040718 7F00BBE8 00002025 */ move $a0, $zero -/* 04071C 7F00BBEC 0C0030EB */ jal get_controller_buttons_pressed -/* 040720 7F00BBF0 3405FFFF */ li $a1, 65535 -/* 040724 7F00BBF4 14400015 */ bnez $v0, .L7F00BC4C -/* 040728 7F00BBF8 00000000 */ nop -/* 04072C 7F00BBFC 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 040730 7F00BC00 00002025 */ move $a0, $zero -/* 040734 7F00BC04 2841FFFB */ slti $at, $v0, -5 -/* 040738 7F00BC08 14200010 */ bnez $at, .L7F00BC4C -/* 04073C 7F00BC0C 00000000 */ nop -/* 040740 7F00BC10 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 040744 7F00BC14 00002025 */ move $a0, $zero -/* 040748 7F00BC18 28410006 */ slti $at, $v0, 6 -/* 04074C 7F00BC1C 1020000B */ beqz $at, .L7F00BC4C -/* 040750 7F00BC20 00000000 */ nop -/* 040754 7F00BC24 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 040758 7F00BC28 00002025 */ move $a0, $zero -/* 04075C 7F00BC2C 2841FFFB */ slti $at, $v0, -5 -/* 040760 7F00BC30 14200006 */ bnez $at, .L7F00BC4C -/* 040764 7F00BC34 00000000 */ nop -/* 040768 7F00BC38 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 04076C 7F00BC3C 00002025 */ move $a0, $zero -/* 040770 7F00BC40 28410006 */ slti $at, $v0, 6 -/* 040774 7F00BC44 14200004 */ bnez $at, .L7F00BC58 -/* 040778 7F00BC48 3C0E8003 */ lui $t6, %hi(menu_timer) -.L7F00BC4C: -/* 04077C 7F00BC4C 3C018003 */ lui $at, %hi(menu_timer) -/* 040780 7F00BC50 10000007 */ b .L7F00BC70 -/* 040784 7F00BC54 AC20A8CC */ sw $zero, %lo(menu_timer)($at) -.L7F00BC58: -/* 040788 7F00BC58 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 04078C 7F00BC5C 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 040790 7F00BC60 8DCEA8CC */ lw $t6, %lo(menu_timer)($t6) -/* 040794 7F00BC64 3C018003 */ lui $at, %hi(menu_timer) -/* 040798 7F00BC68 01CFC021 */ addu $t8, $t6, $t7 -/* 04079C 7F00BC6C AC38A8CC */ sw $t8, %lo(menu_timer)($at) -.L7F00BC70: -/* 0407A0 7F00BC70 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0407A4 7F00BC74 44816000 */ mtc1 $at, $f12 -/* 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 -/* 0407B8 7F00BC88 C42C1A1C */ lwc1 $f12, %lo(D_80051A1C)($at) -/* 0407BC 7F00BC8C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0407C0 7F00BC90 44816000 */ mtc1 $at, $f12 -/* 0407C4 7F00BC94 3C018005 */ lui $at, %hi(D_80051A20) -/* 0407C8 7F00BC98 0C001194 */ jal set_page_height -/* 0407CC 7F00BC9C C42E1A20 */ lwc1 $f14, %lo(D_80051A20)($at) -/* 0407D0 7F00BCA0 0C00114D */ jal set_video2_settings_offset_24 -/* 0407D4 7F00BCA4 00002025 */ move $a0, $zero -/* 0407D8 7F00BCA8 3C198003 */ lui $t9, %hi(D_8002AB94) -/* 0407DC 7F00BCAC 2739AB94 */ addiu $t9, %lo(D_8002AB94) # addiu $t9, $t9, -0x546c -/* 0407E0 7F00BCB0 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 0407E4 7F00BCB4 3C118007 */ lui $s1, %hi(dword_CODE_bss_80069620) -/* 0407E8 7F00BCB8 4480A000 */ mtc1 $zero, $f20 -/* 0407EC 7F00BCBC 26319620 */ addiu $s1, %lo(dword_CODE_bss_80069620) # addiu $s1, $s1, -0x69e0 -/* 0407F0 7F00BCC0 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 0407F4 7F00BCC4 AFB90054 */ sw $t9, 0x54($sp) -/* 0407F8 7F00BCC8 00009025 */ move $s2, $zero -/* 0407FC 7F00BCCC 27B30088 */ addiu $s3, $sp, 0x88 -.L7F00BCD0: -/* 040800 7F00BCD0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 040804 7F00BCD4 44812000 */ mtc1 $at, $f4 -/* 040808 7F00BCD8 4405A000 */ mfc1 $a1, $f20 -/* 04080C 7F00BCDC 4406A000 */ mfc1 $a2, $f20 -/* 040810 7F00BCE0 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 040814 7F00BCE4 3C07457A */ lui $a3, 0x457a -/* 040818 7F00BCE8 E7B40010 */ swc1 $f20, 0x10($sp) -/* 04081C 7F00BCEC E7B40014 */ swc1 $f20, 0x14($sp) -/* 040820 7F00BCF0 E7B40018 */ swc1 $f20, 0x18($sp) -/* 040824 7F00BCF4 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 040828 7F00BCF8 E7B40024 */ swc1 $f20, 0x24($sp) -/* 04082C 7F00BCFC 0FC165A5 */ jal sub_GAME_7F059694 -/* 040830 7F00BD00 E7A40020 */ swc1 $f4, 0x20($sp) -/* 040834 7F00BD04 8FA40054 */ lw $a0, 0x54($sp) -/* 040838 7F00BD08 0FC16259 */ jal init_something_copy_posdata_to_it -/* 04083C 7F00BD0C 02602825 */ move $a1, $s3 -/* 040840 7F00BD10 3C018005 */ lui $at, %hi(D_80051A24) -/* 040844 7F00BD14 C42C1A24 */ lwc1 $f12, %lo(D_80051A24)($at) -/* 040848 7F00BD18 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 04084C 7F00BD1C 02602825 */ move $a1, $s3 -/* 040850 7F00BD20 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 040854 7F00BD24 0FC1601A */ jal sub_GAME_7F058068 -/* 040858 7F00BD28 02602825 */ move $a1, $s3 -/* 04085C 7F00BD2C 8E080000 */ lw $t0, ($s0) -/* 040860 7F00BD30 8D090008 */ lw $t1, 8($t0) -/* 040864 7F00BD34 8524000E */ lh $a0, 0xe($t1) -/* 040868 7F00BD38 00045180 */ sll $t2, $a0, 6 -/* 04086C 7F00BD3C 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 040870 7F00BD40 01402025 */ move $a0, $t2 -/* 040874 7F00BD44 8E0B0000 */ lw $t3, ($s0) -/* 040878 7F00BD48 02602025 */ move $a0, $s3 -/* 04087C 7F00BD4C AD62000C */ sw $v0, 0xc($t3) -/* 040880 7F00BD50 8E0C0000 */ lw $t4, ($s0) -/* 040884 7F00BD54 0FC16008 */ jal sub_GAME_7F058020 -/* 040888 7F00BD58 8D85000C */ lw $a1, 0xc($t4) -/* 04088C 7F00BD5C 8E040000 */ lw $a0, ($s0) -/* 040890 7F00BD60 8C8D000C */ lw $t5, 0xc($a0) -/* 040894 7F00BD64 C5A60030 */ lwc1 $f6, 0x30($t5) -/* 040898 7F00BD68 E6260000 */ swc1 $f6, ($s1) -/* 04089C 7F00BD6C 8C8E000C */ lw $t6, 0xc($a0) -/* 0408A0 7F00BD70 C5C80034 */ lwc1 $f8, 0x34($t6) -/* 0408A4 7F00BD74 E6280004 */ swc1 $f8, 4($s1) -/* 0408A8 7F00BD78 8C8F000C */ lw $t7, 0xc($a0) -/* 0408AC 7F00BD7C C5EA0038 */ lwc1 $f10, 0x38($t7) -/* 0408B0 7F00BD80 0FC02DC9 */ jal disable_all_switches -/* 0408B4 7F00BD84 E62A0008 */ swc1 $f10, 8($s1) -/* 0408B8 7F00BD88 0FC07AF0 */ jal removed_would_have_returned_bond_for_folder_num -/* 0408BC 7F00BD8C 02402025 */ move $a0, $s2 -/* 0408C0 7F00BD90 8E040000 */ lw $a0, ($s0) -/* 0408C4 7F00BD94 0FC02E02 */ jal select_load_bond_picture -/* 0408C8 7F00BD98 00402825 */ move $a1, $v0 -/* 0408CC 7F00BD9C 8E040000 */ lw $a0, ($s0) -/* 0408D0 7F00BDA0 2405000E */ li $a1, 14 -/* 0408D4 7F00BDA4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 0408D8 7F00BDA8 24060001 */ li $a2, 1 -/* 0408DC 7F00BDAC 8E040000 */ lw $a0, ($s0) -/* 0408E0 7F00BDB0 2405000D */ li $a1, 13 -/* 0408E4 7F00BDB4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 0408E8 7F00BDB8 24060001 */ li $a2, 1 -/* 0408EC 7F00BDBC 8FB80054 */ lw $t8, 0x54($sp) -/* 0408F0 7F00BDC0 26520001 */ addiu $s2, $s2, 1 -/* 0408F4 7F00BDC4 24010004 */ li $at, 4 -/* 0408F8 7F00BDC8 2719000C */ addiu $t9, $t8, 0xc -/* 0408FC 7F00BDCC AFB90054 */ sw $t9, 0x54($sp) -/* 040900 7F00BDD0 26100004 */ addiu $s0, $s0, 4 -/* 040904 7F00BDD4 1641FFBE */ bne $s2, $at, .L7F00BCD0 -/* 040908 7F00BDD8 2631000C */ addiu $s1, $s1, 0xc -/* 04090C 7F00BDDC 3C028003 */ lui $v0, %hi(selected_folder_num) -/* 040910 7F00BDE0 2442A8E8 */ addiu $v0, %lo(selected_folder_num) # addiu $v0, $v0, -0x5718 -/* 040914 7F00BDE4 8C440000 */ lw $a0, ($v0) -/* 040918 7F00BDE8 24010064 */ li $at, 100 -/* 04091C 7F00BDEC 04800010 */ bltz $a0, .L7F00BE30 -/* 040920 7F00BDF0 00000000 */ nop -/* 040924 7F00BDF4 14810003 */ bne $a0, $at, .L7F00BE04 -/* 040928 7F00BDF8 3C088003 */ lui $t0, %hi(selected_folder_num_copy) -/* 04092C 7F00BDFC 8D04A8EC */ lw $a0, %lo(selected_folder_num_copy)($t0) -/* 040930 7F00BE00 AC440000 */ sw $a0, ($v0) -.L7F00BE04: -/* 040934 7F00BE04 04800003 */ bltz $a0, .L7F00BE14 -/* 040938 7F00BE08 28810004 */ slti $at, $a0, 4 -/* 04093C 7F00BE0C 14200003 */ bnez $at, .L7F00BE1C -/* 040940 7F00BE10 00000000 */ nop -.L7F00BE14: -/* 040944 7F00BE14 AC400000 */ sw $zero, ($v0) -/* 040948 7F00BE18 00002025 */ move $a0, $zero -.L7F00BE1C: -/* 04094C 7F00BE1C 0FC02EDA */ jal toggle_deletion_menu_for_folder -/* 040950 7F00BE20 00000000 */ nop -/* 040954 7F00BE24 2411FFFF */ li $s1, -1 -/* 040958 7F00BE28 3C018003 */ lui $at, %hi(selected_folder_num) -/* 04095C 7F00BE2C AC31A8E8 */ sw $s1, %lo(selected_folder_num)($at) -.L7F00BE30: -/* 040960 7F00BE30 3C098003 */ lui $t1, %hi(folder_selected_for_deletion) -/* 040964 7F00BE34 8D29A91C */ lw $t1, %lo(folder_selected_for_deletion)($t1) -/* 040968 7F00BE38 2411FFFF */ li $s1, -1 -/* 04096C 7F00BE3C 00009025 */ move $s2, $zero -/* 040970 7F00BE40 0520006A */ bltz $t1, .L7F00BFEC -/* 040974 7F00BE44 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 040978 7F00BE48 00002025 */ move $a0, $zero -/* 04097C 7F00BE4C 0C0030EB */ jal get_controller_buttons_pressed -/* 040980 7F00BE50 24050222 */ li $a1, 546 -/* 040984 7F00BE54 1040000E */ beqz $v0, .L7F00BE90 -/* 040988 7F00BE58 3C108003 */ lui $s0, %hi(folder_selected_for_deletion_choice) -/* 04098C 7F00BE5C 2610A920 */ addiu $s0, %lo(folder_selected_for_deletion_choice) # addiu $s0, $s0, -0x56e0 -/* 040990 7F00BE60 8E0A0000 */ lw $t2, ($s0) -/* 040994 7F00BE64 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040998 7F00BE68 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -/* 04099C 7F00BE6C 15400008 */ bnez $t2, .L7F00BE90 -/* 0409A0 7F00BE70 240B0001 */ li $t3, 1 -/* 0409A4 7F00BE74 AE0B0000 */ sw $t3, ($s0) -/* 0409A8 7F00BE78 8E640000 */ lw $a0, ($s3) -/* 0409AC 7F00BE7C 24050012 */ li $a1, 18 -/* 0409B0 7F00BE80 0C002382 */ jal play_sfx_a1 -/* 0409B4 7F00BE84 00003025 */ move $a2, $zero -/* 0409B8 7F00BE88 10000011 */ b .L7F00BED0 -/* 0409BC 7F00BE8C 00000000 */ nop -.L7F00BE90: -/* 0409C0 7F00BE90 3C108003 */ lui $s0, %hi(folder_selected_for_deletion_choice) -/* 0409C4 7F00BE94 2610A920 */ addiu $s0, %lo(folder_selected_for_deletion_choice) # addiu $s0, $s0, -0x56e0 -/* 0409C8 7F00BE98 00002025 */ move $a0, $zero -/* 0409CC 7F00BE9C 0C0030EB */ jal get_controller_buttons_pressed -/* 0409D0 7F00BEA0 24050111 */ li $a1, 273 -/* 0409D4 7F00BEA4 1040000A */ beqz $v0, .L7F00BED0 -/* 0409D8 7F00BEA8 00000000 */ nop -/* 0409DC 7F00BEAC 8E0C0000 */ lw $t4, ($s0) -/* 0409E0 7F00BEB0 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 0409E4 7F00BEB4 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -/* 0409E8 7F00BEB8 11800005 */ beqz $t4, .L7F00BED0 -/* 0409EC 7F00BEBC 24050012 */ li $a1, 18 -/* 0409F0 7F00BEC0 AE000000 */ sw $zero, ($s0) -/* 0409F4 7F00BEC4 8E640000 */ lw $a0, ($s3) -/* 0409F8 7F00BEC8 0C002382 */ jal play_sfx_a1 -/* 0409FC 7F00BECC 00003025 */ move $a2, $zero -.L7F00BED0: -/* 040A00 7F00BED0 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040A04 7F00BED4 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -/* 040A08 7F00BED8 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 040A0C 7F00BEDC 00002025 */ move $a0, $zero -/* 040A10 7F00BEE0 2841FFD3 */ slti $at, $v0, -0x2d -/* 040A14 7F00BEE4 1020000B */ beqz $at, .L7F00BF14 -/* 040A18 7F00BEE8 00000000 */ nop -/* 040A1C 7F00BEEC 8E0D0000 */ lw $t5, ($s0) -/* 040A20 7F00BEF0 240E0001 */ li $t6, 1 -/* 040A24 7F00BEF4 24050012 */ li $a1, 18 -/* 040A28 7F00BEF8 15A00006 */ bnez $t5, .L7F00BF14 -/* 040A2C 7F00BEFC 00003025 */ move $a2, $zero -/* 040A30 7F00BF00 AE0E0000 */ sw $t6, ($s0) -/* 040A34 7F00BF04 0C002382 */ jal play_sfx_a1 -/* 040A38 7F00BF08 8E640000 */ lw $a0, ($s3) -/* 040A3C 7F00BF0C 1000000F */ b .L7F00BF4C -/* 040A40 7F00BF10 00002025 */ move $a0, $zero -.L7F00BF14: -/* 040A44 7F00BF14 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 040A48 7F00BF18 00002025 */ move $a0, $zero -/* 040A4C 7F00BF1C 2841002E */ slti $at, $v0, 0x2e -/* 040A50 7F00BF20 5420000A */ bnezl $at, .L7F00BF4C -/* 040A54 7F00BF24 00002025 */ move $a0, $zero -/* 040A58 7F00BF28 8E0F0000 */ lw $t7, ($s0) -/* 040A5C 7F00BF2C 24050012 */ li $a1, 18 -/* 040A60 7F00BF30 00003025 */ move $a2, $zero -/* 040A64 7F00BF34 51E00005 */ beql $t7, $zero, .L7F00BF4C -/* 040A68 7F00BF38 00002025 */ move $a0, $zero -/* 040A6C 7F00BF3C AE000000 */ sw $zero, ($s0) -/* 040A70 7F00BF40 0C002382 */ jal play_sfx_a1 -/* 040A74 7F00BF44 8E640000 */ lw $a0, ($s3) -/* 040A78 7F00BF48 00002025 */ move $a0, $zero -.L7F00BF4C: -/* 040A7C 7F00BF4C 0C0030EB */ jal get_controller_buttons_pressed -/* 040A80 7F00BF50 3405B000 */ li $a1, 45056 -/* 040A84 7F00BF54 50400017 */ beql $v0, $zero, .L7F00BFB4 -/* 040A88 7F00BF58 00002025 */ move $a0, $zero -/* 040A8C 7F00BF5C 8E180000 */ lw $t8, ($s0) -/* 040A90 7F00BF60 3C048003 */ lui $a0, %hi(folder_selected_for_deletion) -/* 040A94 7F00BF64 24050076 */ li $a1, 118 -/* 040A98 7F00BF68 17000009 */ bnez $t8, .L7F00BF90 -/* 040A9C 7F00BF6C 00003025 */ move $a2, $zero -/* 040AA0 7F00BF70 0FC07B01 */ jal delete_eeprom_folder -/* 040AA4 7F00BF74 8C84A91C */ lw $a0, %lo(folder_selected_for_deletion)($a0) -/* 040AA8 7F00BF78 8E640000 */ lw $a0, ($s3) -/* 040AAC 7F00BF7C 24050076 */ li $a1, 118 -/* 040AB0 7F00BF80 0C002382 */ jal play_sfx_a1 -/* 040AB4 7F00BF84 00003025 */ move $a2, $zero -/* 040AB8 7F00BF88 10000003 */ b .L7F00BF98 -/* 040ABC 7F00BF8C 00000000 */ nop -.L7F00BF90: -/* 040AC0 7F00BF90 0C002382 */ jal play_sfx_a1 -/* 040AC4 7F00BF94 8E640000 */ lw $a0, ($s3) -.L7F00BF98: -/* 040AC8 7F00BF98 3C048003 */ lui $a0, %hi(folder_selected_for_deletion) -/* 040ACC 7F00BF9C 0FC02EDA */ jal toggle_deletion_menu_for_folder -/* 040AD0 7F00BFA0 8C84A91C */ lw $a0, %lo(folder_selected_for_deletion)($a0) -/* 040AD4 7F00BFA4 3C018003 */ lui $at, %hi(folder_selected_for_deletion) -/* 040AD8 7F00BFA8 100000DC */ b .L7F00C31C -/* 040ADC 7F00BFAC AC31A91C */ sw $s1, %lo(folder_selected_for_deletion)($at) -/* 040AE0 7F00BFB0 00002025 */ move $a0, $zero -.L7F00BFB4: -/* 040AE4 7F00BFB4 0C0030EB */ jal get_controller_buttons_pressed -/* 040AE8 7F00BFB8 24054000 */ li $a1, 16384 -/* 040AEC 7F00BFBC 104000D7 */ beqz $v0, .L7F00C31C -/* 040AF0 7F00BFC0 3C048003 */ lui $a0, %hi(folder_selected_for_deletion) -/* 040AF4 7F00BFC4 0FC02EDA */ jal toggle_deletion_menu_for_folder -/* 040AF8 7F00BFC8 8C84A91C */ lw $a0, %lo(folder_selected_for_deletion)($a0) -/* 040AFC 7F00BFCC 3C018003 */ lui $at, %hi(folder_selected_for_deletion) -/* 040B00 7F00BFD0 AC31A91C */ sw $s1, %lo(folder_selected_for_deletion)($at) -/* 040B04 7F00BFD4 8E640000 */ lw $a0, ($s3) -/* 040B08 7F00BFD8 24050076 */ li $a1, 118 -/* 040B0C 7F00BFDC 0C002382 */ jal play_sfx_a1 -/* 040B10 7F00BFE0 00003025 */ move $a2, $zero -/* 040B14 7F00BFE4 100000CD */ b .L7F00C31C -/* 040B18 7F00BFE8 00000000 */ nop -.L7F00BFEC: -/* 040B1C 7F00BFEC 3C118007 */ lui $s1, %hi(dword_CODE_bss_80069620) -/* 040B20 7F00BFF0 26319620 */ addiu $s1, %lo(dword_CODE_bss_80069620) # addiu $s1, $s1, -0x69e0 -/* 040B24 7F00BFF4 2610A95C */ addiu $s0, $s0, %lo(ptr_folder_object_instance) -/* 040B28 7F00BFF8 27B3007C */ addiu $s3, $sp, 0x7c -.L7F00BFFC: -/* 040B2C 7F00BFFC 27B90074 */ addiu $t9, $sp, 0x74 -/* 040B30 7F00C000 AFB90010 */ sw $t9, 0x10($sp) -/* 040B34 7F00C004 8E040000 */ lw $a0, ($s0) -/* 040B38 7F00C008 27A50080 */ addiu $a1, $sp, 0x80 -/* 040B3C 7F00C00C 02603025 */ move $a2, $s3 -/* 040B40 7F00C010 0FC0FE43 */ jal sub_GAME_7F03F90C -/* 040B44 7F00C014 27A70078 */ addiu $a3, $sp, 0x78 -/* 040B48 7F00C018 27A80064 */ addiu $t0, $sp, 0x64 -/* 040B4C 7F00C01C AFA80010 */ sw $t0, 0x10($sp) -/* 040B50 7F00C020 02202025 */ move $a0, $s1 -/* 040B54 7F00C024 02602825 */ move $a1, $s3 -/* 040B58 7F00C028 27A60074 */ addiu $a2, $sp, 0x74 -/* 040B5C 7F00C02C 0FC0FE52 */ jal sub_GAME_7F03F948 -/* 040B60 7F00C030 27A7006C */ addiu $a3, $sp, 0x6c -/* 040B64 7F00C034 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 040B68 7F00C038 C422A908 */ lwc1 $f2, %lo(cursor_h_pos)($at) -/* 040B6C 7F00C03C C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 040B70 7F00C040 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 040B74 7F00C044 4602803E */ c.le.s $f16, $f2 -/* 040B78 7F00C048 00000000 */ nop -/* 040B7C 7F00C04C 4502004E */ bc1fl .L7F00C188 -/* 040B80 7F00C050 26520001 */ addiu $s2, $s2, 1 -/* 040B84 7F00C054 4612103E */ c.le.s $f2, $f18 -/* 040B88 7F00C058 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 040B8C 7F00C05C C7A40070 */ lwc1 $f4, 0x70($sp) -/* 040B90 7F00C060 45020049 */ bc1fl .L7F00C188 -/* 040B94 7F00C064 26520001 */ addiu $s2, $s2, 1 -/* 040B98 7F00C068 C420A90C */ lwc1 $f0, %lo(cursor_v_pos)($at) -/* 040B9C 7F00C06C C7A60068 */ lwc1 $f6, 0x68($sp) -/* 040BA0 7F00C070 4600203E */ c.le.s $f4, $f0 -/* 040BA4 7F00C074 00000000 */ nop -/* 040BA8 7F00C078 45020043 */ bc1fl .L7F00C188 -/* 040BAC 7F00C07C 26520001 */ addiu $s2, $s2, 1 -/* 040BB0 7F00C080 4606003E */ c.le.s $f0, $f6 -/* 040BB4 7F00C084 02402025 */ move $a0, $s2 -/* 040BB8 7F00C088 27A50060 */ addiu $a1, $sp, 0x60 -/* 040BBC 7F00C08C 4502003E */ bc1fl .L7F00C188 -/* 040BC0 7F00C090 26520001 */ addiu $s2, $s2, 1 -/* 040BC4 7F00C094 0FC07A1D */ jal get_highest_stage_difficulty_completed_in_folder -/* 040BC8 7F00C098 27A6005C */ addiu $a2, $sp, 0x5c -/* 040BCC 7F00C09C 00002025 */ move $a0, $zero -/* 040BD0 7F00C0A0 0C0030EB */ jal get_controller_buttons_pressed -/* 040BD4 7F00C0A4 3405B000 */ li $a1, 45056 -/* 040BD8 7F00C0A8 50400037 */ beql $v0, $zero, .L7F00C188 -/* 040BDC 7F00C0AC 26520001 */ addiu $s2, $s2, 1 -/* 040BE0 7F00C0B0 3C118003 */ lui $s1, %hi(folder_selection_screen_option_icon) -/* 040BE4 7F00C0B4 2631A918 */ addiu $s1, %lo(folder_selection_screen_option_icon) # addiu $s1, $s1, -0x56e8 -/* 040BE8 7F00C0B8 8E220000 */ lw $v0, ($s1) -/* 040BEC 7F00C0BC 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040BF0 7F00C0C0 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -/* 040BF4 7F00C0C4 14400009 */ bnez $v0, .L7F00C0EC -/* 040BF8 7F00C0C8 3C018003 */ lui $at, %hi(selected_folder_num) -/* 040BFC 7F00C0CC AC32A8E8 */ sw $s2, %lo(selected_folder_num)($at) -/* 040C00 7F00C0D0 8E640000 */ lw $a0, ($s3) -/* 040C04 7F00C0D4 2405004D */ li $a1, 77 -/* 040C08 7F00C0D8 0C002382 */ jal play_sfx_a1 -/* 040C0C 7F00C0DC 00003025 */ move $a2, $zero -/* 040C10 7F00C0E0 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040C14 7F00C0E4 10000030 */ b .L7F00C1A8 -/* 040C18 7F00C0E8 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -.L7F00C0EC: -/* 040C1C 7F00C0EC 24010001 */ li $at, 1 -/* 040C20 7F00C0F0 5441000E */ bnel $v0, $at, .L7F00C12C -/* 040C24 7F00C0F4 24010002 */ li $at, 2 -/* 040C28 7F00C0F8 0FC07B68 */ jal sub_GAME_7F01EDA0 -/* 040C2C 7F00C0FC 02402025 */ move $a0, $s2 -/* 040C30 7F00C100 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040C34 7F00C104 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -/* 040C38 7F00C108 AE200000 */ sw $zero, ($s1) -/* 040C3C 7F00C10C 8E640000 */ lw $a0, ($s3) -/* 040C40 7F00C110 2405004F */ li $a1, 79 -/* 040C44 7F00C114 0C002382 */ jal play_sfx_a1 -/* 040C48 7F00C118 00003025 */ move $a2, $zero -/* 040C4C 7F00C11C 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040C50 7F00C120 10000021 */ b .L7F00C1A8 -/* 040C54 7F00C124 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -/* 040C58 7F00C128 24010002 */ li $at, 2 -.L7F00C12C: -/* 040C5C 7F00C12C 14410012 */ bne $v0, $at, .L7F00C178 -/* 040C60 7F00C130 00000000 */ nop -/* 040C64 7F00C134 8FA90060 */ lw $t1, 0x60($sp) -/* 040C68 7F00C138 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040C6C 7F00C13C 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -/* 040C70 7F00C140 05200009 */ bltz $t1, .L7F00C168 -/* 040C74 7F00C144 24050012 */ li $a1, 18 -/* 040C78 7F00C148 8FAA005C */ lw $t2, 0x5c($sp) -/* 040C7C 7F00C14C 3C108003 */ lui $s0, %hi(folder_selected_for_deletion_choice) -/* 040C80 7F00C150 2610A920 */ addiu $s0, %lo(folder_selected_for_deletion_choice) # addiu $s0, $s0, -0x56e0 -/* 040C84 7F00C154 05400004 */ bltz $t2, .L7F00C168 -/* 040C88 7F00C158 3C018003 */ lui $at, %hi(folder_selected_for_deletion) -/* 040C8C 7F00C15C AC32A91C */ sw $s2, %lo(folder_selected_for_deletion)($at) -/* 040C90 7F00C160 240B0001 */ li $t3, 1 -/* 040C94 7F00C164 AE0B0000 */ sw $t3, ($s0) -.L7F00C168: -/* 040C98 7F00C168 AE200000 */ sw $zero, ($s1) -/* 040C9C 7F00C16C 8E640000 */ lw $a0, ($s3) -/* 040CA0 7F00C170 0C002382 */ jal play_sfx_a1 -/* 040CA4 7F00C174 00003025 */ move $a2, $zero -.L7F00C178: -/* 040CA8 7F00C178 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040CAC 7F00C17C 1000000A */ b .L7F00C1A8 -/* 040CB0 7F00C180 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -/* 040CB4 7F00C184 26520001 */ addiu $s2, $s2, 1 -.L7F00C188: -/* 040CB8 7F00C188 24010004 */ li $at, 4 -/* 040CBC 7F00C18C 26100004 */ addiu $s0, $s0, 4 -/* 040CC0 7F00C190 1641FF9A */ bne $s2, $at, .L7F00BFFC -/* 040CC4 7F00C194 2631000C */ addiu $s1, $s1, 0xc -/* 040CC8 7F00C198 3C138006 */ lui $s3, %hi(ptr_sfx_buf) -/* 040CCC 7F00C19C 3C118003 */ lui $s1, %hi(folder_selection_screen_option_icon) -/* 040CD0 7F00C1A0 2631A918 */ addiu $s1, %lo(folder_selection_screen_option_icon) # addiu $s1, $s1, -0x56e8 -/* 040CD4 7F00C1A4 26733720 */ addiu $s3, %lo(ptr_sfx_buf) # addiu $s3, $s3, 0x3720 -.L7F00C1A8: -/* 040CD8 7F00C1A8 00002025 */ move $a0, $zero -/* 040CDC 7F00C1AC 0C0030EB */ jal get_controller_buttons_pressed -/* 040CE0 7F00C1B0 3405B000 */ li $a1, 45056 -/* 040CE4 7F00C1B4 1040004A */ beqz $v0, .L7F00C2E0 -/* 040CE8 7F00C1B8 3C028003 */ lui $v0, %hi(folder_option_COPY_left_bound) -/* 040CEC 7F00C1BC 2442ABC4 */ addiu $v0, %lo(folder_option_COPY_left_bound) # addiu $v0, $v0, -0x543c -/* 040CF0 7F00C1C0 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 040CF4 7F00C1C4 C422A908 */ lwc1 $f2, %lo(cursor_h_pos)($at) -/* 040CF8 7F00C1C8 C4480000 */ lwc1 $f8, ($v0) -/* 040CFC 7F00C1CC 4602403E */ c.le.s $f8, $f2 -/* 040D00 7F00C1D0 00000000 */ nop -/* 040D04 7F00C1D4 45000019 */ bc1f .L7F00C23C -/* 040D08 7F00C1D8 00000000 */ nop -/* 040D0C 7F00C1DC C44A0008 */ lwc1 $f10, 8($v0) -/* 040D10 7F00C1E0 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 040D14 7F00C1E4 460A103E */ c.le.s $f2, $f10 -/* 040D18 7F00C1E8 00000000 */ nop -/* 040D1C 7F00C1EC 45000013 */ bc1f .L7F00C23C -/* 040D20 7F00C1F0 00000000 */ nop -/* 040D24 7F00C1F4 C420A90C */ lwc1 $f0, %lo(cursor_v_pos)($at) -/* 040D28 7F00C1F8 C4500004 */ lwc1 $f16, 4($v0) -/* 040D2C 7F00C1FC 4600803E */ c.le.s $f16, $f0 -/* 040D30 7F00C200 00000000 */ nop -/* 040D34 7F00C204 4500000D */ bc1f .L7F00C23C -/* 040D38 7F00C208 00000000 */ nop -/* 040D3C 7F00C20C C452000C */ lwc1 $f18, 0xc($v0) -/* 040D40 7F00C210 240C0001 */ li $t4, 1 -/* 040D44 7F00C214 240500DE */ li $a1, 222 -/* 040D48 7F00C218 4612003E */ c.le.s $f0, $f18 -/* 040D4C 7F00C21C 00003025 */ move $a2, $zero -/* 040D50 7F00C220 45000006 */ bc1f .L7F00C23C -/* 040D54 7F00C224 00000000 */ nop -/* 040D58 7F00C228 AE2C0000 */ sw $t4, ($s1) -/* 040D5C 7F00C22C 0C002382 */ jal play_sfx_a1 -/* 040D60 7F00C230 8E640000 */ lw $a0, ($s3) -/* 040D64 7F00C234 10000037 */ b .L7F00C314 -/* 040D68 7F00C238 00000000 */ nop -.L7F00C23C: -/* 040D6C 7F00C23C 3C028003 */ lui $v0, %hi(folder_option_ERASE_left_bound) -/* 040D70 7F00C240 2442ABD4 */ addiu $v0, %lo(folder_option_ERASE_left_bound) # addiu $v0, $v0, -0x542c -/* 040D74 7F00C244 C4440000 */ lwc1 $f4, ($v0) -/* 040D78 7F00C248 4602203E */ c.le.s $f4, $f2 -/* 040D7C 7F00C24C 00000000 */ nop -/* 040D80 7F00C250 4502001A */ bc1fl .L7F00C2BC -/* 040D84 7F00C254 8E2E0000 */ lw $t6, ($s1) -/* 040D88 7F00C258 C4460008 */ lwc1 $f6, 8($v0) -/* 040D8C 7F00C25C 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 040D90 7F00C260 4606103E */ c.le.s $f2, $f6 -/* 040D94 7F00C264 00000000 */ nop -/* 040D98 7F00C268 45020014 */ bc1fl .L7F00C2BC -/* 040D9C 7F00C26C 8E2E0000 */ lw $t6, ($s1) -/* 040DA0 7F00C270 C420A90C */ lwc1 $f0, %lo(cursor_v_pos)($at) -/* 040DA4 7F00C274 C4480004 */ lwc1 $f8, 4($v0) -/* 040DA8 7F00C278 4600403E */ c.le.s $f8, $f0 -/* 040DAC 7F00C27C 00000000 */ nop -/* 040DB0 7F00C280 4502000E */ bc1fl .L7F00C2BC -/* 040DB4 7F00C284 8E2E0000 */ lw $t6, ($s1) -/* 040DB8 7F00C288 C44A000C */ lwc1 $f10, 0xc($v0) -/* 040DBC 7F00C28C 240D0002 */ li $t5, 2 -/* 040DC0 7F00C290 240500DE */ li $a1, 222 -/* 040DC4 7F00C294 460A003E */ c.le.s $f0, $f10 -/* 040DC8 7F00C298 00003025 */ move $a2, $zero -/* 040DCC 7F00C29C 45020007 */ bc1fl .L7F00C2BC -/* 040DD0 7F00C2A0 8E2E0000 */ lw $t6, ($s1) -/* 040DD4 7F00C2A4 AE2D0000 */ sw $t5, ($s1) -/* 040DD8 7F00C2A8 0C002382 */ jal play_sfx_a1 -/* 040DDC 7F00C2AC 8E640000 */ lw $a0, ($s3) -/* 040DE0 7F00C2B0 10000018 */ b .L7F00C314 -/* 040DE4 7F00C2B4 00000000 */ nop -/* 040DE8 7F00C2B8 8E2E0000 */ lw $t6, ($s1) -.L7F00C2BC: -/* 040DEC 7F00C2BC 24050076 */ li $a1, 118 -/* 040DF0 7F00C2C0 00003025 */ move $a2, $zero -/* 040DF4 7F00C2C4 11C00013 */ beqz $t6, .L7F00C314 -/* 040DF8 7F00C2C8 00000000 */ nop -/* 040DFC 7F00C2CC AE200000 */ sw $zero, ($s1) -/* 040E00 7F00C2D0 0C002382 */ jal play_sfx_a1 -/* 040E04 7F00C2D4 8E640000 */ lw $a0, ($s3) -/* 040E08 7F00C2D8 1000000E */ b .L7F00C314 -/* 040E0C 7F00C2DC 00000000 */ nop -.L7F00C2E0: -/* 040E10 7F00C2E0 00002025 */ move $a0, $zero -/* 040E14 7F00C2E4 0C0030EB */ jal get_controller_buttons_pressed -/* 040E18 7F00C2E8 24054000 */ li $a1, 16384 -/* 040E1C 7F00C2EC 10400009 */ beqz $v0, .L7F00C314 -/* 040E20 7F00C2F0 00000000 */ nop -/* 040E24 7F00C2F4 8E2F0000 */ lw $t7, ($s1) -/* 040E28 7F00C2F8 24050076 */ li $a1, 118 -/* 040E2C 7F00C2FC 00003025 */ move $a2, $zero -/* 040E30 7F00C300 11E00004 */ beqz $t7, .L7F00C314 -/* 040E34 7F00C304 00000000 */ nop -/* 040E38 7F00C308 AE200000 */ sw $zero, ($s1) -/* 040E3C 7F00C30C 0C002382 */ jal play_sfx_a1 -/* 040E40 7F00C310 8E640000 */ lw $a0, ($s3) -.L7F00C314: -/* 040E44 7F00C314 0FC026E1 */ jal menu_control_stick_tracking -/* 040E48 7F00C318 00000000 */ nop -.L7F00C31C: -/* 040E4C 7F00C31C 3C188003 */ lui $t8, %hi(selected_folder_num) -/* 040E50 7F00C320 8F18A8E8 */ lw $t8, %lo(selected_folder_num)($t8) -/* 040E54 7F00C324 07000007 */ bltz $t8, .L7F00C344 -/* 040E58 7F00C328 24040006 */ li $a0, 6 -/* 040E5C 7F00C32C 0FC06975 */ jal set_menu_to_mode -/* 040E60 7F00C330 00002825 */ move $a1, $zero -/* 040E64 7F00C334 0FC035FF */ jal set_menu_cursor_pos_to_setting -/* 040E68 7F00C338 00002025 */ move $a0, $zero -/* 040E6C 7F00C33C 1000000A */ b .L7F00C368 -/* 040E70 7F00C340 8FBF0044 */ lw $ra, 0x44($sp) -.L7F00C344: -/* 040E74 7F00C344 3C198003 */ lui $t9, %hi(menu_timer) -/* 040E78 7F00C348 8F39A8CC */ lw $t9, %lo(menu_timer)($t9) -/* 040E7C 7F00C34C 00002025 */ move $a0, $zero -/* 040E80 7F00C350 2B210709 */ slti $at, $t9, 0x709 -/* 040E84 7F00C354 54200004 */ bnezl $at, .L7F00C368 -/* 040E88 7F00C358 8FBF0044 */ lw $ra, 0x44($sp) -/* 040E8C 7F00C35C 0FC06975 */ jal set_menu_to_mode -/* 040E90 7F00C360 24050001 */ li $a1, 1 -/* 040E94 7F00C364 8FBF0044 */ lw $ra, 0x44($sp) -.L7F00C368: -/* 040E98 7F00C368 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 040E9C 7F00C36C 8FB00034 */ lw $s0, 0x34($sp) -/* 040EA0 7F00C370 8FB10038 */ lw $s1, 0x38($sp) -/* 040EA4 7F00C374 8FB2003C */ lw $s2, 0x3c($sp) -/* 040EA8 7F00C378 8FB30040 */ lw $s3, 0x40($sp) -/* 040EAC 7F00C37C 03E00008 */ jr $ra -/* 040EB0 7F00C380 27BD0110 */ addiu $sp, $sp, 0x110 -) -#endif - - - -#ifdef NONMATCHING -int get_ptr_difficulty_name(longlong difficulty) -{ - byte *return; - - return = NULL; - if (difficulty == 0) { - return = get_textptr_for_textID(TEXT(LTITLE, 0x13)); - } - else { - if (difficulty == 1) { - return = get_textptr_for_textID(TEXT(LTITLE, 0x14)); - } - else { - if (difficulty == 2) { - return = get_textptr_for_textID(TEXT(LTITLE, 0x15)); - } - else { - if (difficulty == 3) { - return = get_textptr_for_textID(TEXT(LTITLE, 0x16)); - } - } - } - } - return (int)return; -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_difficulty_name -/* 040EB4 7F00C384 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 040EB8 7F00C388 AFBF0014 */ sw $ra, 0x14($sp) -/* 040EBC 7F00C38C 1080000A */ beqz $a0, .L7F00C3B8 -/* 040EC0 7F00C390 00001825 */ move $v1, $zero -/* 040EC4 7F00C394 24010001 */ li $at, 1 -/* 040EC8 7F00C398 1081000B */ beq $a0, $at, .L7F00C3C8 -/* 040ECC 7F00C39C 24010002 */ li $at, 2 -/* 040ED0 7F00C3A0 1081000D */ beq $a0, $at, .L7F00C3D8 -/* 040ED4 7F00C3A4 24010003 */ li $at, 3 -/* 040ED8 7F00C3A8 1081000F */ beq $a0, $at, .L7F00C3E8 -/* 040EDC 7F00C3AC 00000000 */ nop -/* 040EE0 7F00C3B0 10000011 */ b .L7F00C3F8 -/* 040EE4 7F00C3B4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00C3B8: -/* 040EE8 7F00C3B8 0FC30776 */ jal get_textptr_for_textID -/* 040EEC 7F00C3BC 34049C13 */ li $a0, 39955 -/* 040EF0 7F00C3C0 1000000C */ b .L7F00C3F4 -/* 040EF4 7F00C3C4 00401825 */ move $v1, $v0 -.L7F00C3C8: -/* 040EF8 7F00C3C8 0FC30776 */ jal get_textptr_for_textID -/* 040EFC 7F00C3CC 34049C14 */ li $a0, 39956 -/* 040F00 7F00C3D0 10000008 */ b .L7F00C3F4 -/* 040F04 7F00C3D4 00401825 */ move $v1, $v0 -.L7F00C3D8: -/* 040F08 7F00C3D8 0FC30776 */ jal get_textptr_for_textID -/* 040F0C 7F00C3DC 34049C15 */ li $a0, 39957 -/* 040F10 7F00C3E0 10000004 */ b .L7F00C3F4 -/* 040F14 7F00C3E4 00401825 */ move $v1, $v0 -.L7F00C3E8: -/* 040F18 7F00C3E8 0FC30776 */ jal get_textptr_for_textID -/* 040F1C 7F00C3EC 34049C16 */ li $a0, 39958 -/* 040F20 7F00C3F0 00401825 */ move $v1, $v0 -.L7F00C3F4: -/* 040F24 7F00C3F4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00C3F8: -/* 040F28 7F00C3F8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 040F2C 7F00C3FC 00601025 */ move $v0, $v1 -/* 040F30 7F00C400 03E00008 */ jr $ra -/* 040F34 7F00C404 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *constructor_menu05_fileselect(void *arg0) -{ - s32 sp1B4; - ? sp1A8; - ? sp19C; - void *sp158; - ?32 sp154; - ?32 sp150; - ? sp14C; - ? sp108; - s32 sp100; - s32 spFC; - s32 spF8; - s32 spF4; - s32 spF0; - s32 spEC; - ? spE4; - ? spD0; - ? spBC; - f32 spB0; - f32 spAC; - f32 spA8; - f32 spA4; - f32 spA0; - f32 sp9C; - f32 sp98; - f32 sp94; - f32 sp90; - f32 sp8C; - f32 sp88; - f32 sp84; - void *sp74; - f32 temp_f10; - f32 temp_f10_2; - f32 temp_f18; - f32 temp_f6; - f32 temp_f6_2; - s32 temp_a2; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_ret_4; - s32 temp_ret_5; - s32 temp_s1; - s32 temp_s1_2; - s32 temp_s1_3; - s32 temp_s1_4; - s32 temp_t0; - s32 temp_v0; - s32 temp_v0_2; - u32 temp_s2; - void *temp_a0; - void *temp_a0_2; - void *temp_a1; - void *temp_a1_2; - void *temp_t2; - void *temp_t4; - void *temp_t7; - void *temp_t9; - void *temp_v0_3; - void *phi_t9; - void *phi_t2; - void *phi_s2; - s32 phi_s0; - s32 phi_s1; - void *phi_s0_2; - s32 phi_s1_2; - s32 phi_s2_2; - s32 phi_s1_3; - f32 phi_f6; - f32 phi_f18; - f32 phi_f6_2; - f32 phi_f10; - - sp1A8.unk0 = (?32) unknown_folderselect_constructor.unk0; - sp1A8.unk4 = (?32) unknown_folderselect_constructor.unk4; - sp1A8.unk8 = (?32) unknown_folderselect_constructor.unk8; - sp19C.unk0 = (?32) unknown_folderselect_constructor_0.unk0; - sp19C.unk4 = (?32) unknown_folderselect_constructor_0.unk4; - sp19C.unk8 = (?32) unknown_folderselect_constructor_0.unk8; - temp_ret = insert_imageDL(arg0); - arg0 = (void *) (temp_ret + 8); - temp_v0 = temp_ret; - temp_v0->unk0 = 0xfc167e2c; - temp_v0->unk4 = 0x33fdf6fb; - temp_t7 = arg0; - arg0 = (void *) (temp_t7 + 8); - temp_t7->unk4 = -0xec; - temp_t7->unk0 = &0xFB00000C; - temp_ret_2 = sub_GAME_7F007CC8(arg0, (s32) truncf(((f32) get_video2_settings_txtClipW() * -80.0f) / 1280.0f), &sp1A8, &sp19C); - arg0 = (void *) (temp_ret_2 + 8); - temp_v0_2 = temp_ret_2; - temp_v0_2->unk4 = 0x1000000; - temp_v0_2->unk0 = 0x6000000; - temp_t4 = arg0; - arg0 = (void *) (temp_t4 + 8); - temp_t4->unk4 = &D_01000040; - temp_t4->unk0 = 0x6000000; - phi_s2 = &D_8002A968; -loop_1: - phi_t9 = &unknown_folderselect; - phi_t2 = &sp14C; -loop_2: - temp_t9 = phi_t9; - temp_t2 = phi_t2 + 0xc; - temp_t2->unk-C = (?32) phi_t9->unk0; - temp_t2->unk-8 = (?32) temp_t9->unk-8; - temp_t2->unk-4 = (?32) temp_t9->unk-4; - phi_t9 = temp_t9; - phi_t2 = temp_t2; - if (temp_t9 != (&unknown_folderselect + 0x3c)) - { - goto loop_2; - } - temp_t2->unk0 = (?32) temp_t9->unk0; - sp154 = 3; - sp150 = 0; - sp158 = arg0; - subdraw(&sp14C, *phi_s2); - arg0 = sp158; - phi_s0 = 0; - phi_s1 = 0; - if ((*phi_s2)->unk8->unkE > 0) - { -loop_4: - sub_GAME_7F058020(temp_v0_3->unkC + phi_s0, &sp108); - sub_GAME_7F058C9C(&sp108, (*phi_s2)->unkC + (phi_s1 << 6)); - temp_v0_3 = *phi_s2; - temp_s1 = phi_s1 + 1; - phi_s0 = phi_s0 + 0x40; - phi_s1 = temp_s1; - if (temp_s1 < temp_v0_3->unk8->unkE) - { - goto loop_4; - } - } - temp_s2 = phi_s2 + -4; - phi_s2 = temp_s2; - if (temp_s2 >= &ptr_folder_object_instance) - { - goto loop_1; - } - arg0 = microcode_constructor(arg0); - setTextSpacingInverted(0); - sp74 = &dword_CODE_bss_80069620; - sp1B4 = 0; -loop_7: - sub_GAME_7F077FF4(sp74, &spE4); - if (sp1B4 == folder_selected_for_deletion) - { - truncf(spE4, sp1B4, &spF0); - temp_a2 = (s32) truncf(spE8) + 0x19; - arg0 = microcode_constructor_related_to_menus(arg0, sp100, temp_a2, sp100 + 0x63, (s32) (temp_a2 + 0x2a), 0x32); - truncf(spE4); - truncf(spE8); - get_video2_settings_txtClipW(); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, get_textptr_for_textID(TEXT(LTITLE, 0x17)), (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, get_video2_settings_txtClipH(), 0, 0); - temp_s1_2 = get_textptr_for_textID(TEXT(LTITLE, 0x18)); - truncf(spE4); - truncf(spE8); - temp_a0 = &spF8; - temp_a1 = &spF4; - if (folder_selected_for_deletion_choice != 0) - { - spF4 = 0; - spF8 = 0; - sub_GAME_7F0AE98C(temp_a0, temp_a1, temp_s1_2, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - arg0 = microcode_constructor_related_to_menus(arg0, sp100 + -1, spFC + -1, (sp100 + spF4) + 3, (s32) (spFC + spF8), 0x32); - get_video2_settings_txtClipW(); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_s1_2, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, -1, get_video2_settings_txtClipH(), 0, 0); - } - else - { - get_video2_settings_txtClipW(temp_a0, temp_a1, temp_s1_2); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_s1_2, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, get_video2_settings_txtClipH(), 0, 0); - } - temp_s1_3 = get_textptr_for_textID(TEXT(LTITLE, 0x19)); - truncf(spE4); - if (j_text_trigger != 0) - { - - } - truncf(spE8); - temp_a0_2 = &spF8; - temp_a1_2 = &spF4; - if (folder_selected_for_deletion_choice != 0) - { - get_video2_settings_txtClipW(temp_a0_2, temp_a1_2, temp_s1_3); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_s1_3, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, get_video2_settings_txtClipH(), 0, 0); - } - else - { - spF4 = 0; - spF8 = 0; - sub_GAME_7F0AE98C(temp_a0_2, temp_a1_2, temp_s1_3, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - arg0 = microcode_constructor_related_to_menus(arg0, sp100 + -1, spFC + -1, (sp100 + spF4) + 3, (s32) (spFC + spF8), 0x32); - get_video2_settings_txtClipW(); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_s1_3, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, -1, get_video2_settings_txtClipH(), 0, 0); - } - } - else - { - get_highest_stage_difficulty_completed_in_folder(sp1B4, &spF0, &spEC); - if (spF0 >= 0) - { - if (spEC >= 0) - { - temp_ret_3 = get_ptr_difficulty_name(spEC); - if (temp_ret_3 != 0) - { - textpointer_load_parse_something(&spD0, temp_ret_3); - string_append_from_obseg_textbank(&spD0, &asc_D_8004F488); - spF4 = 0; - spF8 = 0; - sub_GAME_7F0AE98C(&spF8, &spF4, &spD0, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - truncf(spE4); - if (spF4 < 0) - { - - } - truncf(spE8); - get_video2_settings_txtClipW(); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, &spD0, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, get_video2_settings_txtClipH(), 0, 0); - } - if (spEC != 3) - { - textpointer_load_parse_something(&spBC, get_textptr_for_textID(TEXT(LTITLE, 0x1a)); - phi_s0_2 = &mission_folder_setup_entries; - phi_s1_2 = 0; - phi_s2_2 = -1; - phi_s1_3 = 0; - if (D_8002ABE8 != 0) - { -loop_24: - if (spF0 == phi_s0_2->unk14) - { - phi_s2_2 = get_chapter_briefing_entry(phi_s1_2); - phi_s1_3 = phi_s1_2; - } - else - { - temp_s1_4 = phi_s1_2 + 1; - phi_s0_2 = phi_s0_2 + 0x1c; - phi_s1_2 = temp_s1_4; - phi_s2_2 = -1; - phi_s1_3 = temp_s1_4; - if (phi_s0_2->unk20 != 0) - { - goto loop_24; - } - } - } - if (phi_s2_2 >= 0) - { - 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_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); - truncf(spE4); - if (spF4 < 0) - { - - } - truncf(spE8); - get_video2_settings_txtClipW(); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, &spBC, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, get_video2_settings_txtClipH(), 0, 0); - } - } - } - } - temp_t0 = sp1B4 + 1; - sp74 = (void *) (sp74 + 0xc); - sp1B4 = temp_t0; - if (temp_t0 != 4) - { - goto loop_7; - } - setTextSpacingInverted(0); - temp_ret_4 = get_textptr_for_textID(TEXT(LTITLE, 0x1b)); - spF4 = 0; - spF8 = 0; - sub_GAME_7F0AE98C(&spF8, &spF4, temp_ret_4, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - if (spF8 < 0) - { - - } - get_video2_settings_txtClipW(); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_ret_4, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, -1, get_video2_settings_txtClipH(), 0, 0); - folder_option_COPY_left_bound.unk8 = (f32) (sp100 + spF4); - temp_ret_5 = get_textptr_for_textID(TEXT(LTITLE, 0x1c)); - spF4 = 0; - spF8 = 0; - sub_GAME_7F0AE98C(&spF8, &spF4, temp_ret_5, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - if (spF8 < 0) - { - - } - get_video2_settings_txtClipW(); - folder_option_ERASE_left_bound.unk8 = (f32) (sp100 + spF4); - arg0 = en_text_write_stuff(arg0, &sp100, &spFC, temp_ret_5, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, -1, get_video2_settings_txtClipH(), 0, 0); - spAC = 225.0f; - spB0 = (f32) D_80051A28; - temp_f10 = (f32) (u32) mainfolderimages->unk4 * 0.5f; - spA4 = temp_f10; - spA8 = (f32) ((f32) (u32) mainfolderimages->unk5 * 0.5f); - likely_generate_DL_for_image_declaration(&arg0, mainfolderimages, 4, 0, 0); - display_image_at_on_screen_coord(&arg0, &spAC, &spA4, mainfolderimages->unk4, (?32) mainfolderimages->unk5, 0, 0, 1, 0xff, 0xff, 0xff, 0xff, (s32) (0 < mainfolderimages->unk6), 0); - folder_option_COPY_left_bound.unk0 = (f32) (spAC - temp_f10); - folder_option_COPY_left_bound.unk4 = (f32) (spB0 - spA8); - folder_option_COPY_left_bound.unkC = (f32) (spA8 + spB0); - sp9C = (f32) D_80051A2C; - spA0 = (f32) D_80051A30; - temp_f6 = (f32) mainfolderimages->unk10; - phi_f6 = temp_f6; - if (mainfolderimages->unk10 < 0) - { - phi_f6 = temp_f6 + 4294967296.0f; - } - sp94 = (f32) (phi_f6 * 0.5f); - temp_f18 = (f32) mainfolderimages->unk11; - phi_f18 = temp_f18; - if (mainfolderimages->unk11 < 0) - { - phi_f18 = temp_f18 + 4294967296.0f; - } - sp98 = (f32) (phi_f18 * 0.5f); - likely_generate_DL_for_image_declaration(&arg0, mainfolderimages + 0xc, 4, 0, 0); - display_image_at_on_screen_coord(&arg0, &sp9C, &sp94, mainfolderimages->unk10, (?32) mainfolderimages->unk11, 0, 0, 1, 0xff, 0xff, 0xff, 0xff, (s32) (0 < mainfolderimages->unk12), 0); - folder_option_ERASE_left_bound.unk0 = (f32) (sp9C - sp94); - folder_option_ERASE_left_bound.unk4 = (f32) (spA0 - sp98); - folder_option_ERASE_left_bound.unkC = (f32) (sp98 + spA0); - sp8C = 110.0f; - sp90 = (f32) D_80051A34; - temp_f6_2 = (f32) mainfolderimages->unk1C; - phi_f6_2 = temp_f6_2; - if (mainfolderimages->unk1C < 0) - { - phi_f6_2 = temp_f6_2 + 4294967296.0f; - } - sp84 = (f32) (phi_f6_2 * 0.5f); - temp_f10_2 = (f32) mainfolderimages->unk1D; - phi_f10 = temp_f10_2; - if (mainfolderimages->unk1D < 0) - { - phi_f10 = temp_f10_2 + 4294967296.0f; - } - sp88 = (f32) (phi_f10 * 0.5f); - likely_generate_DL_for_image_declaration(&arg0, mainfolderimages + 0x18, 4, 0, 0); - display_image_at_on_screen_coord(&arg0, &sp8C, &sp84, mainfolderimages->unk1C, (?32) mainfolderimages->unk1D, 0, 0, 1, 0xff, 0xff, 0xff, 0xff, (s32) (0 < mainfolderimages->unk1E), 0); - if (folder_selected_for_deletion < 0) - { - arg0 = load_draw_selected_icon_folder_select(arg0); - } - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu05_fileselect -/* 040F38 7F00C408 27BDFE48 */ addiu $sp, $sp, -0x1b8 -/* 040F3C 7F00C40C 3C0E8003 */ lui $t6, %hi(unknown_folderselect_constructor) -/* 040F40 7F00C410 AFBF0064 */ sw $ra, 0x64($sp) -/* 040F44 7F00C414 AFBE0060 */ sw $fp, 0x60($sp) -/* 040F48 7F00C418 AFB7005C */ sw $s7, 0x5c($sp) -/* 040F4C 7F00C41C AFB60058 */ sw $s6, 0x58($sp) -/* 040F50 7F00C420 AFB50054 */ sw $s5, 0x54($sp) -/* 040F54 7F00C424 AFB40050 */ sw $s4, 0x50($sp) -/* 040F58 7F00C428 AFB3004C */ sw $s3, 0x4c($sp) -/* 040F5C 7F00C42C AFB20048 */ sw $s2, 0x48($sp) -/* 040F60 7F00C430 AFB10044 */ sw $s1, 0x44($sp) -/* 040F64 7F00C434 AFB00040 */ sw $s0, 0x40($sp) -/* 040F68 7F00C438 AFA401B8 */ sw $a0, 0x1b8($sp) -/* 040F6C 7F00C43C 25CEAF2C */ addiu $t6, %lo(unknown_folderselect_constructor) # addiu $t6, $t6, -0x50d4 -/* 040F70 7F00C440 8DC10000 */ lw $at, ($t6) -/* 040F74 7F00C444 27B001A8 */ addiu $s0, $sp, 0x1a8 -/* 040F78 7F00C448 3C088003 */ lui $t0, %hi(unknown_folderselect_constructor_0) -/* 040F7C 7F00C44C AE010000 */ sw $at, ($s0) -/* 040F80 7F00C450 8DD90004 */ lw $t9, 4($t6) -/* 040F84 7F00C454 2508AF38 */ addiu $t0, %lo(unknown_folderselect_constructor_0) # addiu $t0, $t0, -0x50c8 -/* 040F88 7F00C458 27B1019C */ addiu $s1, $sp, 0x19c -/* 040F8C 7F00C45C AE190004 */ sw $t9, 4($s0) -/* 040F90 7F00C460 8DC10008 */ lw $at, 8($t6) -/* 040F94 7F00C464 AE010008 */ sw $at, 8($s0) -/* 040F98 7F00C468 8D010000 */ lw $at, ($t0) -/* 040F9C 7F00C46C AE210000 */ sw $at, ($s1) -/* 040FA0 7F00C470 8D0B0004 */ lw $t3, 4($t0) -/* 040FA4 7F00C474 AE2B0004 */ sw $t3, 4($s1) -/* 040FA8 7F00C478 8D010008 */ lw $at, 8($t0) -/* 040FAC 7F00C47C AE210008 */ sw $at, 8($s1) -/* 040FB0 7F00C480 0FC07034 */ jal insert_imageDL -/* 040FB4 7F00C484 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 040FB8 7F00C488 244C0008 */ addiu $t4, $v0, 8 -/* 040FBC 7F00C48C AFAC01B8 */ sw $t4, 0x1b8($sp) -/* 040FC0 7F00C490 3C0DFC16 */ lui $t5, (0xFC167E2C >> 16) # lui $t5, 0xfc16 -/* 040FC4 7F00C494 3C1833FD */ lui $t8, (0x33FDF6FB >> 16) # lui $t8, 0x33fd -/* 040FC8 7F00C498 3718F6FB */ ori $t8, (0x33FDF6FB & 0xFFFF) # ori $t8, $t8, 0xf6fb -/* 040FCC 7F00C49C 35AD7E2C */ ori $t5, (0xFC167E2C & 0xFFFF) # ori $t5, $t5, 0x7e2c -/* 040FD0 7F00C4A0 AC4D0000 */ sw $t5, ($v0) -/* 040FD4 7F00C4A4 AC580004 */ sw $t8, 4($v0) -/* 040FD8 7F00C4A8 8FAF01B8 */ lw $t7, 0x1b8($sp) -/* 040FDC 7F00C4AC 3C19FB00 */ lui $t9, %hi(0xFB00000C) # $t9, 0xfb00 -/* 040FE0 7F00C4B0 240AFF14 */ li $t2, -236 -/* 040FE4 7F00C4B4 25EE0008 */ addiu $t6, $t7, 8 -/* 040FE8 7F00C4B8 AFAE01B8 */ sw $t6, 0x1b8($sp) -/* 040FEC 7F00C4BC ADEA0004 */ sw $t2, 4($t7) -/* 040FF0 7F00C4C0 0C001107 */ jal get_video2_settings_txtClipW -/* 040FF4 7F00C4C4 ADF90000 */ sw $t9, ($t7) -/* 040FF8 7F00C4C8 44822000 */ mtc1 $v0, $f4 -/* 040FFC 7F00C4CC 3C01C2A0 */ li $at, 0xC2A00000 # -80.000000 -/* 041000 7F00C4D0 44814000 */ mtc1 $at, $f8 -/* 041004 7F00C4D4 468021A0 */ cvt.s.w $f6, $f4 -/* 041008 7F00C4D8 3C0144A0 */ li $at, 0x44A00000 # 1280.000000 -/* 04100C 7F00C4DC 44818000 */ mtc1 $at, $f16 -/* 041010 7F00C4E0 46083282 */ mul.s $f10, $f6, $f8 -/* 041014 7F00C4E4 0FC170D8 */ jal truncf -/* 041018 7F00C4E8 46105303 */ div.s $f12, $f10, $f16 -/* 04101C 7F00C4EC 4600048D */ trunc.w.s $f18, $f0 -/* 041020 7F00C4F0 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041024 7F00C4F4 02003025 */ move $a2, $s0 -/* 041028 7F00C4F8 02203825 */ move $a3, $s1 -/* 04102C 7F00C4FC 44059000 */ mfc1 $a1, $f18 -/* 041030 7F00C500 0FC01F32 */ jal sub_GAME_7F007CC8 -/* 041034 7F00C504 00000000 */ nop -/* 041038 7F00C508 24480008 */ addiu $t0, $v0, 8 -/* 04103C 7F00C50C AFA801B8 */ sw $t0, 0x1b8($sp) -/* 041040 7F00C510 3C0B0100 */ lui $t3, 0x100 -/* 041044 7F00C514 3C050600 */ lui $a1, 0x600 -/* 041048 7F00C518 256B0000 */ addiu $t3, $t3, 0 -/* 04104C 7F00C51C AC4B0004 */ sw $t3, 4($v0) -/* 041050 7F00C520 AC450000 */ sw $a1, ($v0) -/* 041054 7F00C524 8FAC01B8 */ lw $t4, 0x1b8($sp) -/* 041058 7F00C528 3C180100 */ lui $t8, 0x100 -/* 04105C 7F00C52C 27180040 */ addiu $t8, $t8, 0x40 -/* 041060 7F00C530 258D0008 */ addiu $t5, $t4, 8 -/* 041064 7F00C534 AFAD01B8 */ sw $t5, 0x1b8($sp) -/* 041068 7F00C538 3C128003 */ lui $s2, %hi(D_8002A968) -/* 04106C 7F00C53C 3C148003 */ lui $s4, %hi(unknown_folderselect) -/* 041070 7F00C540 2694AF44 */ addiu $s4, %lo(unknown_folderselect) # addiu $s4, $s4, -0x50bc -/* 041074 7F00C544 2652A968 */ addiu $s2, %lo(D_8002A968) # addiu $s2, $s2, -0x5698 -/* 041078 7F00C548 27B30108 */ addiu $s3, $sp, 0x108 -/* 04107C 7F00C54C AD980004 */ sw $t8, 4($t4) -/* 041080 7F00C550 AD850000 */ sw $a1, ($t4) -/* 041084 7F00C554 27A4014C */ addiu $a0, $sp, 0x14c -.L7F00C558: -/* 041088 7F00C558 00805025 */ move $t2, $a0 -/* 04108C 7F00C55C 0280C825 */ move $t9, $s4 -/* 041090 7F00C560 268E003C */ addiu $t6, $s4, 0x3c -.L7F00C564: -/* 041094 7F00C564 8F210000 */ lw $at, ($t9) -/* 041098 7F00C568 2739000C */ addiu $t9, %lo(0xFB00000C) # addiu $t9, $t9, 0xc -/* 04109C 7F00C56C 254A000C */ addiu $t2, $t2, 0xc -/* 0410A0 7F00C570 AD41FFF4 */ sw $at, -0xc($t2) -/* 0410A4 7F00C574 8F21FFF8 */ lw $at, -8($t9) -/* 0410A8 7F00C578 AD41FFF8 */ sw $at, -8($t2) -/* 0410AC 7F00C57C 8F21FFFC */ lw $at, -4($t9) -/* 0410B0 7F00C580 172EFFF8 */ bne $t9, $t6, .L7F00C564 -/* 0410B4 7F00C584 AD41FFFC */ sw $at, -4($t2) -/* 0410B8 7F00C588 8F210000 */ lw $at, ($t9) -/* 0410BC 7F00C58C 24090003 */ li $t1, 3 -/* 0410C0 7F00C590 00008825 */ move $s1, $zero -/* 0410C4 7F00C594 AD410000 */ sw $at, ($t2) -/* 0410C8 7F00C598 8FA801B8 */ lw $t0, 0x1b8($sp) -/* 0410CC 7F00C59C AFA90154 */ sw $t1, 0x154($sp) -/* 0410D0 7F00C5A0 AFA00150 */ sw $zero, 0x150($sp) -/* 0410D4 7F00C5A4 8E450000 */ lw $a1, ($s2) -/* 0410D8 7F00C5A8 0FC1D1A1 */ jal subdraw -/* 0410DC 7F00C5AC AFA80158 */ sw $t0, 0x158($sp) -/* 0410E0 7F00C5B0 8FAB0158 */ lw $t3, 0x158($sp) -/* 0410E4 7F00C5B4 8E420000 */ lw $v0, ($s2) -/* 0410E8 7F00C5B8 00008025 */ move $s0, $zero -/* 0410EC 7F00C5BC AFAB01B8 */ sw $t3, 0x1b8($sp) -/* 0410F0 7F00C5C0 8C4C0008 */ lw $t4, 8($v0) -/* 0410F4 7F00C5C4 858D000E */ lh $t5, 0xe($t4) -/* 0410F8 7F00C5C8 19A00013 */ blez $t5, .L7F00C618 -/* 0410FC 7F00C5CC 00000000 */ nop -/* 041100 7F00C5D0 8C58000C */ lw $t8, 0xc($v0) -.L7F00C5D4: -/* 041104 7F00C5D4 02602825 */ move $a1, $s3 -/* 041108 7F00C5D8 0FC16008 */ jal sub_GAME_7F058020 -/* 04110C 7F00C5DC 03102021 */ addu $a0, $t8, $s0 -/* 041110 7F00C5E0 8E4F0000 */ lw $t7, ($s2) -/* 041114 7F00C5E4 0011C980 */ sll $t9, $s1, 6 -/* 041118 7F00C5E8 02602025 */ move $a0, $s3 -/* 04111C 7F00C5EC 8DEE000C */ lw $t6, 0xc($t7) -/* 041120 7F00C5F0 0FC16327 */ jal sub_GAME_7F058C9C -/* 041124 7F00C5F4 01D92821 */ addu $a1, $t6, $t9 -/* 041128 7F00C5F8 8E420000 */ lw $v0, ($s2) -/* 04112C 7F00C5FC 26310001 */ addiu $s1, $s1, 1 -/* 041130 7F00C600 26100040 */ addiu $s0, $s0, 0x40 -/* 041134 7F00C604 8C4A0008 */ lw $t2, 8($v0) -/* 041138 7F00C608 8549000E */ lh $t1, 0xe($t2) -/* 04113C 7F00C60C 0229082A */ slt $at, $s1, $t1 -/* 041140 7F00C610 5420FFF0 */ bnezl $at, .L7F00C5D4 -/* 041144 7F00C614 8C58000C */ lw $t8, 0xc($v0) -.L7F00C618: -/* 041148 7F00C618 3C088003 */ lui $t0, %hi(ptr_folder_object_instance) -/* 04114C 7F00C61C 2508A95C */ addiu $t0, %lo(ptr_folder_object_instance) # addiu $t0, $t0, -0x56a4 -/* 041150 7F00C620 2652FFFC */ addiu $s2, $s2, -4 -/* 041154 7F00C624 0248082B */ sltu $at, $s2, $t0 -/* 041158 7F00C628 5020FFCB */ beql $at, $zero, .L7F00C558 -/* 04115C 7F00C62C 27A4014C */ addiu $a0, $sp, 0x14c -/* 041160 7F00C630 0FC2B366 */ jal microcode_constructor -/* 041164 7F00C634 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041168 7F00C638 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 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 -/* 04117C 7F00C64C 3C1EEBD8 */ lui $fp, (0xEBD879FF >> 16) # lui $fp, 0xebd8 -/* 041180 7F00C650 3C148004 */ lui $s4, %hi(ptrFirstFontTableLarge) -/* 041184 7F00C654 3C138004 */ lui $s3, %hi(ptrSecondFontTableLarge) -/* 041188 7F00C658 26730EB8 */ addiu $s3, %lo(ptrSecondFontTableLarge) # addiu $s3, $s3, 0xeb8 -/* 04118C 7F00C65C 26940EB4 */ addiu $s4, %lo(ptrFirstFontTableLarge) # addiu $s4, $s4, 0xeb4 -/* 041190 7F00C660 37DE79FF */ ori $fp, (0xEBD879FF & 0xFFFF) # ori $fp, $fp, 0x79ff -/* 041194 7F00C664 AFAB0074 */ sw $t3, 0x74($sp) -/* 041198 7F00C668 AFA001B4 */ sw $zero, 0x1b4($sp) -/* 04119C 7F00C66C 27B700FC */ addiu $s7, $sp, 0xfc -/* 0411A0 7F00C670 27B60100 */ addiu $s6, $sp, 0x100 -/* 0411A4 7F00C674 27B500BC */ addiu $s5, $sp, 0xbc -.L7F00C678: -/* 0411A8 7F00C678 8FA40074 */ lw $a0, 0x74($sp) -/* 0411AC 7F00C67C 0FC1DFFD */ jal sub_GAME_7F077FF4 -/* 0411B0 7F00C680 27A500E4 */ addiu $a1, $sp, 0xe4 -/* 0411B4 7F00C684 3C0C8003 */ lui $t4, %hi(folder_selected_for_deletion) -/* 0411B8 7F00C688 8FA401B4 */ lw $a0, 0x1b4($sp) -/* 0411BC 7F00C68C 8D8CA91C */ lw $t4, %lo(folder_selected_for_deletion)($t4) -/* 0411C0 7F00C690 27A500F0 */ addiu $a1, $sp, 0xf0 -/* 0411C4 7F00C694 148C00F2 */ bne $a0, $t4, .L7F00CA60 -/* 0411C8 7F00C698 00000000 */ nop -/* 0411CC 7F00C69C 0FC170D8 */ jal truncf -/* 0411D0 7F00C6A0 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 0411D4 7F00C6A4 4600010D */ trunc.w.s $f4, $f0 -/* 0411D8 7F00C6A8 C7AC00E8 */ lwc1 $f12, 0xe8($sp) -/* 0411DC 7F00C6AC 44122000 */ mfc1 $s2, $f4 -/* 0411E0 7F00C6B0 00000000 */ nop -/* 0411E4 7F00C6B4 2652FFCF */ addiu $s2, $s2, -0x31 -/* 0411E8 7F00C6B8 0FC170D8 */ jal truncf -/* 0411EC 7F00C6BC AFB20100 */ sw $s2, 0x100($sp) -/* 0411F0 7F00C6C0 4600018D */ trunc.w.s $f6, $f0 -/* 0411F4 7F00C6C4 8FA50100 */ lw $a1, 0x100($sp) -/* 0411F8 7F00C6C8 240E0032 */ li $t6, 50 -/* 0411FC 7F00C6CC AFAE0014 */ sw $t6, 0x14($sp) -/* 041200 7F00C6D0 44103000 */ mfc1 $s0, $f6 -/* 041204 7F00C6D4 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041208 7F00C6D8 24A70063 */ addiu $a3, $a1, 0x63 -/* 04120C 7F00C6DC 26060019 */ addiu $a2, $s0, 0x19 -/* 041210 7F00C6E0 24CF002A */ addiu $t7, $a2, 0x2a -/* 041214 7F00C6E4 AFAF0010 */ sw $t7, 0x10($sp) -/* 041218 7F00C6E8 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04121C 7F00C6EC AFA600FC */ sw $a2, 0xfc($sp) -/* 041220 7F00C6F0 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 041224 7F00C6F4 0FC30776 */ jal get_textptr_for_textID -/* 041228 7F00C6F8 34049C17 */ li $a0, 39959 -/* 04122C 7F00C6FC 00408825 */ move $s1, $v0 -/* 041230 7F00C700 0FC170D8 */ jal truncf -/* 041234 7F00C704 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 041238 7F00C708 4600020D */ trunc.w.s $f8, $f0 -/* 04123C 7F00C70C C7AC00E8 */ lwc1 $f12, 0xe8($sp) -/* 041240 7F00C710 44124000 */ mfc1 $s2, $f8 -/* 041244 7F00C714 00000000 */ nop -/* 041248 7F00C718 2652FFD1 */ addiu $s2, $s2, -0x2f -/* 04124C 7F00C71C 0FC170D8 */ jal truncf -/* 041250 7F00C720 AFB20100 */ sw $s2, 0x100($sp) -/* 041254 7F00C724 4600028D */ trunc.w.s $f10, $f0 -/* 041258 7F00C728 44105000 */ mfc1 $s0, $f10 -/* 04125C 7F00C72C 00000000 */ nop -/* 041260 7F00C730 2610001E */ addiu $s0, $s0, 0x1e -/* 041264 7F00C734 0C001107 */ jal get_video2_settings_txtClipW -/* 041268 7F00C738 AFB000FC */ sw $s0, 0xfc($sp) -/* 04126C 7F00C73C 00028400 */ sll $s0, $v0, 0x10 -/* 041270 7F00C740 00104C03 */ sra $t1, $s0, 0x10 -/* 041274 7F00C744 0C00110B */ jal get_video2_settings_txtClipH -/* 041278 7F00C748 01208025 */ move $s0, $t1 -/* 04127C 7F00C74C 8E680000 */ lw $t0, ($s3) -/* 041280 7F00C750 8E8B0000 */ lw $t3, ($s4) -/* 041284 7F00C754 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041288 7F00C758 02C02825 */ move $a1, $s6 -/* 04128C 7F00C75C 02E03025 */ move $a2, $s7 -/* 041290 7F00C760 02203825 */ move $a3, $s1 -/* 041294 7F00C764 AFBE0018 */ sw $fp, 0x18($sp) -/* 041298 7F00C768 AFB0001C */ sw $s0, 0x1c($sp) -/* 04129C 7F00C76C AFA20020 */ sw $v0, 0x20($sp) -/* 0412A0 7F00C770 AFA00024 */ sw $zero, 0x24($sp) -/* 0412A4 7F00C774 AFA00028 */ sw $zero, 0x28($sp) -/* 0412A8 7F00C778 AFA80010 */ sw $t0, 0x10($sp) -/* 0412AC 7F00C77C 0FC2B6AF */ jal en_text_write_stuff -/* 0412B0 7F00C780 AFAB0014 */ sw $t3, 0x14($sp) -/* 0412B4 7F00C784 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 0412B8 7F00C788 0FC30776 */ jal get_textptr_for_textID -/* 0412BC 7F00C78C 34049C18 */ li $a0, 39960 -/* 0412C0 7F00C790 00408825 */ move $s1, $v0 -/* 0412C4 7F00C794 0FC170D8 */ jal truncf -/* 0412C8 7F00C798 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 0412CC 7F00C79C 4600040D */ trunc.w.s $f16, $f0 -/* 0412D0 7F00C7A0 C7AC00E8 */ lwc1 $f12, 0xe8($sp) -/* 0412D4 7F00C7A4 44128000 */ mfc1 $s2, $f16 -/* 0412D8 7F00C7A8 00000000 */ nop -/* 0412DC 7F00C7AC 2652FFD1 */ addiu $s2, $s2, -0x2f -/* 0412E0 7F00C7B0 0FC170D8 */ jal truncf -/* 0412E4 7F00C7B4 AFB20100 */ sw $s2, 0x100($sp) -/* 0412E8 7F00C7B8 4600048D */ trunc.w.s $f18, $f0 -/* 0412EC 7F00C7BC 3C188003 */ lui $t8, %hi(folder_selected_for_deletion_choice) -/* 0412F0 7F00C7C0 8F18A920 */ lw $t8, %lo(folder_selected_for_deletion_choice)($t8) -/* 0412F4 7F00C7C4 27A400F8 */ addiu $a0, $sp, 0xf8 -/* 0412F8 7F00C7C8 44109000 */ mfc1 $s0, $f18 -/* 0412FC 7F00C7CC 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 041300 7F00C7D0 02203025 */ move $a2, $s1 -/* 041304 7F00C7D4 26100032 */ addiu $s0, $s0, 0x32 -/* 041308 7F00C7D8 1300002D */ beqz $t8, .L7F00C890 -/* 04130C 7F00C7DC AFB000FC */ sw $s0, 0xfc($sp) -/* 041310 7F00C7E0 8E8F0000 */ lw $t7, ($s4) -/* 041314 7F00C7E4 AFA000F4 */ sw $zero, 0xf4($sp) -/* 041318 7F00C7E8 AFA000F8 */ sw $zero, 0xf8($sp) -/* 04131C 7F00C7EC 8E670000 */ lw $a3, ($s3) -/* 041320 7F00C7F0 AFA00014 */ sw $zero, 0x14($sp) -/* 041324 7F00C7F4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 041328 7F00C7F8 AFAF0010 */ sw $t7, 0x10($sp) -/* 04132C 7F00C7FC 8FB000FC */ lw $s0, 0xfc($sp) -/* 041330 7F00C800 8FB20100 */ lw $s2, 0x100($sp) -/* 041334 7F00C804 8FAE00F4 */ lw $t6, 0xf4($sp) -/* 041338 7F00C808 8FB900F8 */ lw $t9, 0xf8($sp) -/* 04133C 7F00C80C 24090032 */ li $t1, 50 -/* 041340 7F00C810 024E3821 */ addu $a3, $s2, $t6 -/* 041344 7F00C814 02195021 */ addu $t2, $s0, $t9 -/* 041348 7F00C818 AFAA0010 */ sw $t2, 0x10($sp) -/* 04134C 7F00C81C 24E70003 */ addiu $a3, $a3, 3 -/* 041350 7F00C820 AFA90014 */ sw $t1, 0x14($sp) -/* 041354 7F00C824 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041358 7F00C828 2606FFFF */ addiu $a2, $s0, -1 -/* 04135C 7F00C82C 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 041360 7F00C830 2645FFFF */ addiu $a1, $s2, -1 -/* 041364 7F00C834 0C001107 */ jal get_video2_settings_txtClipW -/* 041368 7F00C838 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 04136C 7F00C83C 00028400 */ sll $s0, $v0, 0x10 -/* 041370 7F00C840 00104403 */ sra $t0, $s0, 0x10 -/* 041374 7F00C844 0C00110B */ jal get_video2_settings_txtClipH -/* 041378 7F00C848 01008025 */ move $s0, $t0 -/* 04137C 7F00C84C 8E6B0000 */ lw $t3, ($s3) -/* 041380 7F00C850 8E8C0000 */ lw $t4, ($s4) -/* 041384 7F00C854 240DFFFF */ li $t5, -1 -/* 041388 7F00C858 AFAD0018 */ sw $t5, 0x18($sp) -/* 04138C 7F00C85C 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041390 7F00C860 02C02825 */ move $a1, $s6 -/* 041394 7F00C864 02E03025 */ move $a2, $s7 -/* 041398 7F00C868 02203825 */ move $a3, $s1 -/* 04139C 7F00C86C AFB0001C */ sw $s0, 0x1c($sp) -/* 0413A0 7F00C870 AFA20020 */ sw $v0, 0x20($sp) -/* 0413A4 7F00C874 AFA00024 */ sw $zero, 0x24($sp) -/* 0413A8 7F00C878 AFA00028 */ sw $zero, 0x28($sp) -/* 0413AC 7F00C87C AFAB0010 */ sw $t3, 0x10($sp) -/* 0413B0 7F00C880 0FC2B6AF */ jal en_text_write_stuff -/* 0413B4 7F00C884 AFAC0014 */ sw $t4, 0x14($sp) -/* 0413B8 7F00C888 10000016 */ b .L7F00C8E4 -/* 0413BC 7F00C88C AFA201B8 */ sw $v0, 0x1b8($sp) -.L7F00C890: -/* 0413C0 7F00C890 0C001107 */ jal get_video2_settings_txtClipW -/* 0413C4 7F00C894 00000000 */ nop -/* 0413C8 7F00C898 00028400 */ sll $s0, $v0, 0x10 -/* 0413CC 7F00C89C 0010C403 */ sra $t8, $s0, 0x10 -/* 0413D0 7F00C8A0 0C00110B */ jal get_video2_settings_txtClipH -/* 0413D4 7F00C8A4 03008025 */ move $s0, $t8 -/* 0413D8 7F00C8A8 8E6F0000 */ lw $t7, ($s3) -/* 0413DC 7F00C8AC 8E8E0000 */ lw $t6, ($s4) -/* 0413E0 7F00C8B0 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 0413E4 7F00C8B4 02C02825 */ move $a1, $s6 -/* 0413E8 7F00C8B8 02E03025 */ move $a2, $s7 -/* 0413EC 7F00C8BC 02203825 */ move $a3, $s1 -/* 0413F0 7F00C8C0 AFBE0018 */ sw $fp, 0x18($sp) -/* 0413F4 7F00C8C4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0413F8 7F00C8C8 AFA20020 */ sw $v0, 0x20($sp) -/* 0413FC 7F00C8CC AFA00024 */ sw $zero, 0x24($sp) -/* 041400 7F00C8D0 AFA00028 */ sw $zero, 0x28($sp) -/* 041404 7F00C8D4 AFAF0010 */ sw $t7, 0x10($sp) -/* 041408 7F00C8D8 0FC2B6AF */ jal en_text_write_stuff -/* 04140C 7F00C8DC AFAE0014 */ sw $t6, 0x14($sp) -/* 041410 7F00C8E0 AFA201B8 */ sw $v0, 0x1b8($sp) -.L7F00C8E4: -/* 041414 7F00C8E4 0FC30776 */ jal get_textptr_for_textID -/* 041418 7F00C8E8 34049C19 */ li $a0, 39961 -/* 04141C 7F00C8EC 00408825 */ move $s1, $v0 -/* 041420 7F00C8F0 0FC170D8 */ jal truncf -/* 041424 7F00C8F4 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 041428 7F00C8F8 3C198005 */ lui $t9, %hi(j_text_trigger) -/* 04142C 7F00C8FC 8F3984D0 */ lw $t9, %lo(j_text_trigger)($t9) -/* 041430 7F00C900 46000086 */ mov.s $f2, $f0 -/* 041434 7F00C904 4600110D */ trunc.w.s $f4, $f2 -/* 041438 7F00C908 13200003 */ beqz $t9, .L7F00C918 -/* 04143C 7F00C90C 2402FFFF */ li $v0, -1 -/* 041440 7F00C910 10000001 */ b .L7F00C918 -/* 041444 7F00C914 24020017 */ li $v0, 23 -.L7F00C918: -/* 041448 7F00C918 44092000 */ mfc1 $t1, $f4 -/* 04144C 7F00C91C C7AC00E8 */ lwc1 $f12, 0xe8($sp) -/* 041450 7F00C920 00499021 */ addu $s2, $v0, $t1 -/* 041454 7F00C924 2652FFFF */ addiu $s2, $s2, -1 -/* 041458 7F00C928 0FC170D8 */ jal truncf -/* 04145C 7F00C92C AFB20100 */ sw $s2, 0x100($sp) -/* 041460 7F00C930 4600018D */ trunc.w.s $f6, $f0 -/* 041464 7F00C934 3C0B8003 */ lui $t3, %hi(folder_selected_for_deletion_choice) -/* 041468 7F00C938 8D6BA920 */ lw $t3, %lo(folder_selected_for_deletion_choice)($t3) -/* 04146C 7F00C93C 27A400F8 */ addiu $a0, $sp, 0xf8 -/* 041470 7F00C940 44103000 */ mfc1 $s0, $f6 -/* 041474 7F00C944 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 041478 7F00C948 02203025 */ move $a2, $s1 -/* 04147C 7F00C94C 26100032 */ addiu $s0, $s0, 0x32 -/* 041480 7F00C950 11600017 */ beqz $t3, .L7F00C9B0 -/* 041484 7F00C954 AFB000FC */ sw $s0, 0xfc($sp) -/* 041488 7F00C958 0C001107 */ jal get_video2_settings_txtClipW -/* 04148C 7F00C95C 00000000 */ nop -/* 041490 7F00C960 00028400 */ sll $s0, $v0, 0x10 -/* 041494 7F00C964 00106403 */ sra $t4, $s0, 0x10 -/* 041498 7F00C968 0C00110B */ jal get_video2_settings_txtClipH -/* 04149C 7F00C96C 01808025 */ move $s0, $t4 -/* 0414A0 7F00C970 8E6D0000 */ lw $t5, ($s3) -/* 0414A4 7F00C974 8E980000 */ lw $t8, ($s4) -/* 0414A8 7F00C978 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 0414AC 7F00C97C 02C02825 */ move $a1, $s6 -/* 0414B0 7F00C980 02E03025 */ move $a2, $s7 -/* 0414B4 7F00C984 02203825 */ move $a3, $s1 -/* 0414B8 7F00C988 AFBE0018 */ sw $fp, 0x18($sp) -/* 0414BC 7F00C98C AFB0001C */ sw $s0, 0x1c($sp) -/* 0414C0 7F00C990 AFA20020 */ sw $v0, 0x20($sp) -/* 0414C4 7F00C994 AFA00024 */ sw $zero, 0x24($sp) -/* 0414C8 7F00C998 AFA00028 */ sw $zero, 0x28($sp) -/* 0414CC 7F00C99C AFAD0010 */ sw $t5, 0x10($sp) -/* 0414D0 7F00C9A0 0FC2B6AF */ jal en_text_write_stuff -/* 0414D4 7F00C9A4 AFB80014 */ sw $t8, 0x14($sp) -/* 0414D8 7F00C9A8 100000D6 */ b .L7F00CD04 -/* 0414DC 7F00C9AC AFA201B8 */ sw $v0, 0x1b8($sp) -.L7F00C9B0: -/* 0414E0 7F00C9B0 8E8F0000 */ lw $t7, ($s4) -/* 0414E4 7F00C9B4 AFA000F4 */ sw $zero, 0xf4($sp) -/* 0414E8 7F00C9B8 AFA000F8 */ sw $zero, 0xf8($sp) -/* 0414EC 7F00C9BC 8E670000 */ lw $a3, ($s3) -/* 0414F0 7F00C9C0 AFA00014 */ sw $zero, 0x14($sp) -/* 0414F4 7F00C9C4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0414F8 7F00C9C8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0414FC 7F00C9CC 8FB000FC */ lw $s0, 0xfc($sp) -/* 041500 7F00C9D0 8FB20100 */ lw $s2, 0x100($sp) -/* 041504 7F00C9D4 8FAE00F4 */ lw $t6, 0xf4($sp) -/* 041508 7F00C9D8 8FB900F8 */ lw $t9, 0xf8($sp) -/* 04150C 7F00C9DC 24090032 */ li $t1, 50 -/* 041510 7F00C9E0 024E3821 */ addu $a3, $s2, $t6 -/* 041514 7F00C9E4 02195021 */ addu $t2, $s0, $t9 -/* 041518 7F00C9E8 AFAA0010 */ sw $t2, 0x10($sp) -/* 04151C 7F00C9EC 24E70003 */ addiu $a3, $a3, 3 -/* 041520 7F00C9F0 AFA90014 */ sw $t1, 0x14($sp) -/* 041524 7F00C9F4 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041528 7F00C9F8 2606FFFF */ addiu $a2, $s0, -1 -/* 04152C 7F00C9FC 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 041530 7F00CA00 2645FFFF */ addiu $a1, $s2, -1 -/* 041534 7F00CA04 0C001107 */ jal get_video2_settings_txtClipW -/* 041538 7F00CA08 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 04153C 7F00CA0C 00028400 */ sll $s0, $v0, 0x10 -/* 041540 7F00CA10 00104403 */ sra $t0, $s0, 0x10 -/* 041544 7F00CA14 0C00110B */ jal get_video2_settings_txtClipH -/* 041548 7F00CA18 01008025 */ move $s0, $t0 -/* 04154C 7F00CA1C 8E6B0000 */ lw $t3, ($s3) -/* 041550 7F00CA20 8E8C0000 */ lw $t4, ($s4) -/* 041554 7F00CA24 240DFFFF */ li $t5, -1 -/* 041558 7F00CA28 AFAD0018 */ sw $t5, 0x18($sp) -/* 04155C 7F00CA2C 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041560 7F00CA30 02C02825 */ move $a1, $s6 -/* 041564 7F00CA34 02E03025 */ move $a2, $s7 -/* 041568 7F00CA38 02203825 */ move $a3, $s1 -/* 04156C 7F00CA3C AFB0001C */ sw $s0, 0x1c($sp) -/* 041570 7F00CA40 AFA20020 */ sw $v0, 0x20($sp) -/* 041574 7F00CA44 AFA00024 */ sw $zero, 0x24($sp) -/* 041578 7F00CA48 AFA00028 */ sw $zero, 0x28($sp) -/* 04157C 7F00CA4C AFAB0010 */ sw $t3, 0x10($sp) -/* 041580 7F00CA50 0FC2B6AF */ jal en_text_write_stuff -/* 041584 7F00CA54 AFAC0014 */ sw $t4, 0x14($sp) -/* 041588 7F00CA58 100000AA */ b .L7F00CD04 -/* 04158C 7F00CA5C AFA201B8 */ sw $v0, 0x1b8($sp) -.L7F00CA60: -/* 041590 7F00CA60 0FC07A1D */ jal get_highest_stage_difficulty_completed_in_folder -/* 041594 7F00CA64 27A600EC */ addiu $a2, $sp, 0xec -/* 041598 7F00CA68 8FA200F0 */ lw $v0, 0xf0($sp) -/* 04159C 7F00CA6C 8FA400EC */ lw $a0, 0xec($sp) -/* 0415A0 7F00CA70 044200A5 */ bltzl $v0, .L7F00CD08 -/* 0415A4 7F00CA74 8FA901B4 */ lw $t1, 0x1b4($sp) -/* 0415A8 7F00CA78 048200A3 */ bltzl $a0, .L7F00CD08 -/* 0415AC 7F00CA7C 8FA901B4 */ lw $t1, 0x1b4($sp) -/* 0415B0 7F00CA80 0FC030E1 */ jal get_ptr_difficulty_name -/* 0415B4 7F00CA84 00000000 */ nop -/* 0415B8 7F00CA88 10400038 */ beqz $v0, .L7F00CB6C -/* 0415BC 7F00CA8C 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 0415C0 7F00CA90 0C0029DC */ jal textpointer_load_parse_something -/* 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_append_from_obseg_textbank -/* 0415D4 7F00CAA4 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 0415D8 7F00CAA8 8E980000 */ lw $t8, ($s4) -/* 0415DC 7F00CAAC AFA000F4 */ sw $zero, 0xf4($sp) -/* 0415E0 7F00CAB0 AFA000F8 */ sw $zero, 0xf8($sp) -/* 0415E4 7F00CAB4 27A400F8 */ addiu $a0, $sp, 0xf8 -/* 0415E8 7F00CAB8 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 0415EC 7F00CABC 27A600D0 */ addiu $a2, $sp, 0xd0 -/* 0415F0 7F00CAC0 8E670000 */ lw $a3, ($s3) -/* 0415F4 7F00CAC4 AFA00014 */ sw $zero, 0x14($sp) -/* 0415F8 7F00CAC8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0415FC 7F00CACC AFB80010 */ sw $t8, 0x10($sp) -/* 041600 7F00CAD0 0FC170D8 */ jal truncf -/* 041604 7F00CAD4 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 041608 7F00CAD8 4600020D */ trunc.w.s $f8, $f0 -/* 04160C 7F00CADC 8FB900F4 */ lw $t9, 0xf4($sp) -/* 041610 7F00CAE0 C7AC00E8 */ lwc1 $f12, 0xe8($sp) -/* 041614 7F00CAE4 440E4000 */ mfc1 $t6, $f8 -/* 041618 7F00CAE8 07210003 */ bgez $t9, .L7F00CAF8 -/* 04161C 7F00CAEC 00195043 */ sra $t2, $t9, 1 -/* 041620 7F00CAF0 27210001 */ addiu $at, $t9, 1 -/* 041624 7F00CAF4 00015043 */ sra $t2, $at, 1 -.L7F00CAF8: -/* 041628 7F00CAF8 01CA9023 */ subu $s2, $t6, $t2 -/* 04162C 7F00CAFC 2652FFFF */ addiu $s2, $s2, -1 -/* 041630 7F00CB00 0FC170D8 */ jal truncf -/* 041634 7F00CB04 AFB20100 */ sw $s2, 0x100($sp) -/* 041638 7F00CB08 4600028D */ trunc.w.s $f10, $f0 -/* 04163C 7F00CB0C 44105000 */ mfc1 $s0, $f10 -/* 041640 7F00CB10 00000000 */ nop -/* 041644 7F00CB14 26100015 */ addiu $s0, $s0, 0x15 -/* 041648 7F00CB18 0C001107 */ jal get_video2_settings_txtClipW -/* 04164C 7F00CB1C AFB000FC */ sw $s0, 0xfc($sp) -/* 041650 7F00CB20 00028400 */ sll $s0, $v0, 0x10 -/* 041654 7F00CB24 00104403 */ sra $t0, $s0, 0x10 -/* 041658 7F00CB28 0C00110B */ jal get_video2_settings_txtClipH -/* 04165C 7F00CB2C 01008025 */ move $s0, $t0 -/* 041660 7F00CB30 8E6B0000 */ lw $t3, ($s3) -/* 041664 7F00CB34 8E8C0000 */ lw $t4, ($s4) -/* 041668 7F00CB38 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 04166C 7F00CB3C 02C02825 */ move $a1, $s6 -/* 041670 7F00CB40 02E03025 */ move $a2, $s7 -/* 041674 7F00CB44 27A700D0 */ addiu $a3, $sp, 0xd0 -/* 041678 7F00CB48 AFBE0018 */ sw $fp, 0x18($sp) -/* 04167C 7F00CB4C AFB0001C */ sw $s0, 0x1c($sp) -/* 041680 7F00CB50 AFA20020 */ sw $v0, 0x20($sp) -/* 041684 7F00CB54 AFA00024 */ sw $zero, 0x24($sp) -/* 041688 7F00CB58 AFA00028 */ sw $zero, 0x28($sp) -/* 04168C 7F00CB5C AFAB0010 */ sw $t3, 0x10($sp) -/* 041690 7F00CB60 0FC2B6AF */ jal en_text_write_stuff -/* 041694 7F00CB64 AFAC0014 */ sw $t4, 0x14($sp) -/* 041698 7F00CB68 AFA201B8 */ sw $v0, 0x1b8($sp) -.L7F00CB6C: -/* 04169C 7F00CB6C 8FA400EC */ lw $a0, 0xec($sp) -/* 0416A0 7F00CB70 24010003 */ li $at, 3 -/* 0416A4 7F00CB74 2412FFFF */ li $s2, -1 -/* 0416A8 7F00CB78 10810062 */ beq $a0, $at, .L7F00CD04 -/* 0416AC 7F00CB7C 00008825 */ move $s1, $zero -/* 0416B0 7F00CB80 0FC30776 */ jal get_textptr_for_textID -/* 0416B4 7F00CB84 34049C1A */ li $a0, 39962 -/* 0416B8 7F00CB88 02A02025 */ move $a0, $s5 -/* 0416BC 7F00CB8C 0C0029DC */ jal textpointer_load_parse_something -/* 0416C0 7F00CB90 00402825 */ move $a1, $v0 -/* 0416C4 7F00CB94 3C0D8003 */ lui $t5, %hi(mission_folder_setup_entries+0x4) -/* 0416C8 7F00CB98 95ADABE8 */ lhu $t5, %lo(mission_folder_setup_entries+0x4)($t5) -/* 0416CC 7F00CB9C 3C108003 */ lui $s0, %hi(mission_folder_setup_entries) -/* 0416D0 7F00CBA0 2610ABE4 */ addiu $s0, %lo(mission_folder_setup_entries) # addiu $s0, $s0, -0x541c -/* 0416D4 7F00CBA4 11A0000D */ beqz $t5, .L7F00CBDC -/* 0416D8 7F00CBA8 8FA200F0 */ lw $v0, 0xf0($sp) -/* 0416DC 7F00CBAC 8E180014 */ lw $t8, 0x14($s0) -.L7F00CBB0: -/* 0416E0 7F00CBB0 54580006 */ bnel $v0, $t8, .L7F00CBCC -/* 0416E4 7F00CBB4 960F0020 */ lhu $t7, 0x20($s0) -/* 0416E8 7F00CBB8 0FC02EC7 */ jal get_chapter_briefing_entry -/* 0416EC 7F00CBBC 02202025 */ move $a0, $s1 -/* 0416F0 7F00CBC0 10000006 */ b .L7F00CBDC -/* 0416F4 7F00CBC4 00409025 */ move $s2, $v0 -/* 0416F8 7F00CBC8 960F0020 */ lhu $t7, 0x20($s0) -.L7F00CBCC: -/* 0416FC 7F00CBCC 26310001 */ addiu $s1, $s1, 1 -/* 041700 7F00CBD0 2610001C */ addiu $s0, $s0, 0x1c -/* 041704 7F00CBD4 55E0FFF6 */ bnezl $t7, .L7F00CBB0 -/* 041708 7F00CBD8 8E180014 */ lw $t8, 0x14($s0) -.L7F00CBDC: -/* 04170C 7F00CBDC 0011C8C0 */ sll $t9, $s1, 3 -/* 041710 7F00CBE0 0331C823 */ subu $t9, $t9, $s1 -/* 041714 7F00CBE4 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries) -/* 041718 7F00CBE8 25CEABE4 */ addiu $t6, %lo(mission_folder_setup_entries) # addiu $t6, $t6, -0x541c -/* 04171C 7F00CBEC 0019C880 */ sll $t9, $t9, 2 -/* 041720 7F00CBF0 0640000C */ bltz $s2, .L7F00CC24 -/* 041724 7F00CBF4 032E8021 */ addu $s0, $t9, $t6 -/* 041728 7F00CBF8 001250C0 */ sll $t2, $s2, 3 -/* 04172C 7F00CBFC 01525023 */ subu $t2, $t2, $s2 -/* 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_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_append_from_obseg_textbank -/* 041750 7F00CC20 02A02025 */ move $a0, $s5 -.L7F00CC24: -/* 041754 7F00CC24 02A02025 */ move $a0, $s5 -/* 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_append_from_obseg_textbank -/* 04176C 7F00CC3C 02A02025 */ move $a0, $s5 -/* 041770 7F00CC40 8E880000 */ lw $t0, ($s4) -/* 041774 7F00CC44 AFA000F4 */ sw $zero, 0xf4($sp) -/* 041778 7F00CC48 AFA000F8 */ sw $zero, 0xf8($sp) -/* 04177C 7F00CC4C 27A400F8 */ addiu $a0, $sp, 0xf8 -/* 041780 7F00CC50 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 041784 7F00CC54 02A03025 */ move $a2, $s5 -/* 041788 7F00CC58 8E670000 */ lw $a3, ($s3) -/* 04178C 7F00CC5C AFA00014 */ sw $zero, 0x14($sp) -/* 041790 7F00CC60 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 041794 7F00CC64 AFA80010 */ sw $t0, 0x10($sp) -/* 041798 7F00CC68 0FC170D8 */ jal truncf -/* 04179C 7F00CC6C C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 0417A0 7F00CC70 4600040D */ trunc.w.s $f16, $f0 -/* 0417A4 7F00CC74 8FAD00F4 */ lw $t5, 0xf4($sp) -/* 0417A8 7F00CC78 C7AC00E8 */ lwc1 $f12, 0xe8($sp) -/* 0417AC 7F00CC7C 440C8000 */ mfc1 $t4, $f16 -/* 0417B0 7F00CC80 05A10003 */ bgez $t5, .L7F00CC90 -/* 0417B4 7F00CC84 000DC043 */ sra $t8, $t5, 1 -/* 0417B8 7F00CC88 25A10001 */ addiu $at, $t5, 1 -/* 0417BC 7F00CC8C 0001C043 */ sra $t8, $at, 1 -.L7F00CC90: -/* 0417C0 7F00CC90 01989023 */ subu $s2, $t4, $t8 -/* 0417C4 7F00CC94 2652FFFF */ addiu $s2, $s2, -1 -/* 0417C8 7F00CC98 0FC170D8 */ jal truncf -/* 0417CC 7F00CC9C AFB20100 */ sw $s2, 0x100($sp) -/* 0417D0 7F00CCA0 4600048D */ trunc.w.s $f18, $f0 -/* 0417D4 7F00CCA4 44109000 */ mfc1 $s0, $f18 -/* 0417D8 7F00CCA8 00000000 */ nop -/* 0417DC 7F00CCAC 2610002D */ addiu $s0, $s0, 0x2d -/* 0417E0 7F00CCB0 0C001107 */ jal get_video2_settings_txtClipW -/* 0417E4 7F00CCB4 AFB000FC */ sw $s0, 0xfc($sp) -/* 0417E8 7F00CCB8 00028400 */ sll $s0, $v0, 0x10 -/* 0417EC 7F00CCBC 0010CC03 */ sra $t9, $s0, 0x10 -/* 0417F0 7F00CCC0 0C00110B */ jal get_video2_settings_txtClipH -/* 0417F4 7F00CCC4 03208025 */ move $s0, $t9 -/* 0417F8 7F00CCC8 8E6A0000 */ lw $t2, ($s3) -/* 0417FC 7F00CCCC 8E8E0000 */ lw $t6, ($s4) -/* 041800 7F00CCD0 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041804 7F00CCD4 02C02825 */ move $a1, $s6 -/* 041808 7F00CCD8 02E03025 */ move $a2, $s7 -/* 04180C 7F00CCDC 02A03825 */ move $a3, $s5 -/* 041810 7F00CCE0 AFBE0018 */ sw $fp, 0x18($sp) -/* 041814 7F00CCE4 AFB0001C */ sw $s0, 0x1c($sp) -/* 041818 7F00CCE8 AFA20020 */ sw $v0, 0x20($sp) -/* 04181C 7F00CCEC AFA00024 */ sw $zero, 0x24($sp) -/* 041820 7F00CCF0 AFA00028 */ sw $zero, 0x28($sp) -/* 041824 7F00CCF4 AFAA0010 */ sw $t2, 0x10($sp) -/* 041828 7F00CCF8 0FC2B6AF */ jal en_text_write_stuff -/* 04182C 7F00CCFC AFAE0014 */ sw $t6, 0x14($sp) -/* 041830 7F00CD00 AFA201B8 */ sw $v0, 0x1b8($sp) -.L7F00CD04: -/* 041834 7F00CD04 8FA901B4 */ lw $t1, 0x1b4($sp) -.L7F00CD08: -/* 041838 7F00CD08 8FAB0074 */ lw $t3, 0x74($sp) -/* 04183C 7F00CD0C 24010004 */ li $at, 4 -/* 041840 7F00CD10 25280001 */ addiu $t0, $t1, 1 -/* 041844 7F00CD14 256D000C */ addiu $t5, $t3, 0xc -/* 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 setTextSpacingInverted -/* 041858 7F00CD28 00002025 */ move $a0, $zero -/* 04185C 7F00CD2C 0FC30776 */ jal get_textptr_for_textID -/* 041860 7F00CD30 34049C1B */ li $a0, 39963 -/* 041864 7F00CD34 8E8C0000 */ lw $t4, ($s4) -/* 041868 7F00CD38 00408825 */ move $s1, $v0 -/* 04186C 7F00CD3C AFA000F4 */ sw $zero, 0xf4($sp) -/* 041870 7F00CD40 AFA000F8 */ sw $zero, 0xf8($sp) -/* 041874 7F00CD44 27A400F8 */ addiu $a0, $sp, 0xf8 -/* 041878 7F00CD48 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 04187C 7F00CD4C 00403025 */ move $a2, $v0 -/* 041880 7F00CD50 8E670000 */ lw $a3, ($s3) -/* 041884 7F00CD54 AFA00014 */ sw $zero, 0x14($sp) -/* 041888 7F00CD58 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04188C 7F00CD5C AFAC0010 */ sw $t4, 0x10($sp) -/* 041890 7F00CD60 8FB800F8 */ lw $t8, 0xf8($sp) -/* 041894 7F00CD64 241E011D */ li $fp, 285 -/* 041898 7F00CD68 241200F7 */ li $s2, 247 -/* 04189C 7F00CD6C 07010003 */ bgez $t8, .L7F00CD7C -/* 0418A0 7F00CD70 00187843 */ sra $t7, $t8, 1 -/* 0418A4 7F00CD74 27010001 */ addiu $at, $t8, 1 -/* 0418A8 7F00CD78 00017843 */ sra $t7, $at, 1 -.L7F00CD7C: -/* 0418AC 7F00CD7C 03CF8023 */ subu $s0, $fp, $t7 -/* 0418B0 7F00CD80 AFB000FC */ sw $s0, 0xfc($sp) -/* 0418B4 7F00CD84 0C001107 */ jal get_video2_settings_txtClipW -/* 0418B8 7F00CD88 AFB20100 */ sw $s2, 0x100($sp) -/* 0418BC 7F00CD8C 00028400 */ sll $s0, $v0, 0x10 -/* 0418C0 7F00CD90 0010CC03 */ sra $t9, $s0, 0x10 -/* 0418C4 7F00CD94 0C00110B */ jal get_video2_settings_txtClipH -/* 0418C8 7F00CD98 03208025 */ move $s0, $t9 -/* 0418CC 7F00CD9C 8E6A0000 */ lw $t2, ($s3) -/* 0418D0 7F00CDA0 8E8E0000 */ lw $t6, ($s4) -/* 0418D4 7F00CDA4 2409FFFF */ li $t1, -1 -/* 0418D8 7F00CDA8 AFA90018 */ sw $t1, 0x18($sp) -/* 0418DC 7F00CDAC 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 0418E0 7F00CDB0 02C02825 */ move $a1, $s6 -/* 0418E4 7F00CDB4 02E03025 */ move $a2, $s7 -/* 0418E8 7F00CDB8 02203825 */ move $a3, $s1 -/* 0418EC 7F00CDBC AFB0001C */ sw $s0, 0x1c($sp) -/* 0418F0 7F00CDC0 AFA20020 */ sw $v0, 0x20($sp) -/* 0418F4 7F00CDC4 AFA00024 */ sw $zero, 0x24($sp) -/* 0418F8 7F00CDC8 AFA00028 */ sw $zero, 0x28($sp) -/* 0418FC 7F00CDCC AFAA0010 */ sw $t2, 0x10($sp) -/* 041900 7F00CDD0 0FC2B6AF */ jal en_text_write_stuff -/* 041904 7F00CDD4 AFAE0014 */ sw $t6, 0x14($sp) -/* 041908 7F00CDD8 8FB20100 */ lw $s2, 0x100($sp) -/* 04190C 7F00CDDC 8FAB00F4 */ lw $t3, 0xf4($sp) -/* 041910 7F00CDE0 3C158003 */ lui $s5, %hi(folder_option_COPY_left_bound) -/* 041914 7F00CDE4 26B5ABC4 */ addiu $s5, %lo(folder_option_COPY_left_bound) # addiu $s5, $s5, -0x543c -/* 041918 7F00CDE8 024B6821 */ addu $t5, $s2, $t3 -/* 04191C 7F00CDEC 448D2000 */ mtc1 $t5, $f4 -/* 041920 7F00CDF0 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 041924 7F00CDF4 34049C1C */ li $a0, 39964 -/* 041928 7F00CDF8 468021A0 */ cvt.s.w $f6, $f4 -/* 04192C 7F00CDFC 0FC30776 */ jal get_textptr_for_textID -/* 041930 7F00CE00 E6A60008 */ swc1 $f6, 8($s5) -/* 041934 7F00CE04 8E880000 */ lw $t0, ($s4) -/* 041938 7F00CE08 00408825 */ move $s1, $v0 -/* 04193C 7F00CE0C AFA000F4 */ sw $zero, 0xf4($sp) -/* 041940 7F00CE10 AFA000F8 */ sw $zero, 0xf8($sp) -/* 041944 7F00CE14 27A400F8 */ addiu $a0, $sp, 0xf8 -/* 041948 7F00CE18 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 04194C 7F00CE1C 00403025 */ move $a2, $v0 -/* 041950 7F00CE20 8E670000 */ lw $a3, ($s3) -/* 041954 7F00CE24 AFA00014 */ sw $zero, 0x14($sp) -/* 041958 7F00CE28 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04195C 7F00CE2C AFA80010 */ sw $t0, 0x10($sp) -/* 041960 7F00CE30 8FAC00F8 */ lw $t4, 0xf8($sp) -/* 041964 7F00CE34 24120165 */ li $s2, 357 -/* 041968 7F00CE38 AFB20100 */ sw $s2, 0x100($sp) -/* 04196C 7F00CE3C 05810003 */ bgez $t4, .L7F00CE4C -/* 041970 7F00CE40 000CC043 */ sra $t8, $t4, 1 -/* 041974 7F00CE44 25810001 */ addiu $at, $t4, 1 -/* 041978 7F00CE48 0001C043 */ sra $t8, $at, 1 -.L7F00CE4C: -/* 04197C 7F00CE4C 03D88023 */ subu $s0, $fp, $t8 -/* 041980 7F00CE50 0C001107 */ jal get_video2_settings_txtClipW -/* 041984 7F00CE54 AFB000FC */ sw $s0, 0xfc($sp) -/* 041988 7F00CE58 00028400 */ sll $s0, $v0, 0x10 -/* 04198C 7F00CE5C 00107C03 */ sra $t7, $s0, 0x10 -/* 041990 7F00CE60 0C00110B */ jal get_video2_settings_txtClipH -/* 041994 7F00CE64 01E08025 */ move $s0, $t7 -/* 041998 7F00CE68 8E790000 */ lw $t9, ($s3) -/* 04199C 7F00CE6C 8E8A0000 */ lw $t2, ($s4) -/* 0419A0 7F00CE70 240EFFFF */ li $t6, -1 -/* 0419A4 7F00CE74 AFAE0018 */ sw $t6, 0x18($sp) -/* 0419A8 7F00CE78 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 0419AC 7F00CE7C 02C02825 */ move $a1, $s6 -/* 0419B0 7F00CE80 02E03025 */ move $a2, $s7 -/* 0419B4 7F00CE84 02203825 */ move $a3, $s1 -/* 0419B8 7F00CE88 AFB0001C */ sw $s0, 0x1c($sp) -/* 0419BC 7F00CE8C AFA20020 */ sw $v0, 0x20($sp) -/* 0419C0 7F00CE90 AFA00024 */ sw $zero, 0x24($sp) -/* 0419C4 7F00CE94 AFA00028 */ sw $zero, 0x28($sp) -/* 0419C8 7F00CE98 AFB90010 */ sw $t9, 0x10($sp) -/* 0419CC 7F00CE9C 0FC2B6AF */ jal en_text_write_stuff -/* 0419D0 7F00CEA0 AFAA0014 */ sw $t2, 0x14($sp) -/* 0419D4 7F00CEA4 8FA90100 */ lw $t1, 0x100($sp) -/* 0419D8 7F00CEA8 8FAB00F4 */ lw $t3, 0xf4($sp) -/* 0419DC 7F00CEAC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0419E0 7F00CEB0 44810000 */ mtc1 $at, $f0 -/* 0419E4 7F00CEB4 012B6821 */ addu $t5, $t1, $t3 -/* 0419E8 7F00CEB8 448D4000 */ mtc1 $t5, $f8 -/* 0419EC 7F00CEBC 3C138003 */ lui $s3, %hi(folder_option_ERASE_left_bound) -/* 0419F0 7F00CEC0 3C014361 */ li $at, 0x43610000 # 225.000000 -/* 0419F4 7F00CEC4 468042A0 */ cvt.s.w $f10, $f8 -/* 0419F8 7F00CEC8 44818000 */ mtc1 $at, $f16 -/* 0419FC 7F00CECC 2673ABD4 */ addiu $s3, %lo(folder_option_ERASE_left_bound) # addiu $s3, $s3, -0x542c -/* 041A00 7F00CED0 3C118009 */ lui $s1, %hi(mainfolderimages) -/* 041A04 7F00CED4 3C018005 */ lui $at, %hi(D_80051A28) -/* 041A08 7F00CED8 2631D128 */ addiu $s1, %lo(mainfolderimages) # addiu $s1, $s1, -0x2ed8 -/* 041A0C 7F00CEDC E66A0008 */ swc1 $f10, 8($s3) -/* 041A10 7F00CEE0 C4321A28 */ lwc1 $f18, %lo(D_80051A28)($at) -/* 041A14 7F00CEE4 8E300000 */ lw $s0, ($s1) -/* 041A18 7F00CEE8 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 041A1C 7F00CEEC E7B000AC */ swc1 $f16, 0xac($sp) -/* 041A20 7F00CEF0 E7B200B0 */ swc1 $f18, 0xb0($sp) -/* 041A24 7F00CEF4 92080004 */ lbu $t0, 4($s0) -/* 041A28 7F00CEF8 27B201B8 */ addiu $s2, $sp, 0x1b8 -/* 041A2C 7F00CEFC 44882000 */ mtc1 $t0, $f4 -/* 041A30 7F00CF00 05010005 */ bgez $t0, .L7F00CF18 -/* 041A34 7F00CF04 468021A0 */ cvt.s.w $f6, $f4 -/* 041A38 7F00CF08 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 041A3C 7F00CF0C 44814000 */ mtc1 $at, $f8 -/* 041A40 7F00CF10 00000000 */ nop -/* 041A44 7F00CF14 46083180 */ add.s $f6, $f6, $f8 -.L7F00CF18: -/* 041A48 7F00CF18 46003282 */ mul.s $f10, $f6, $f0 -/* 041A4C 7F00CF1C E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 041A50 7F00CF20 920C0005 */ lbu $t4, 5($s0) -/* 041A54 7F00CF24 448C8000 */ mtc1 $t4, $f16 -/* 041A58 7F00CF28 05810005 */ bgez $t4, .L7F00CF40 -/* 041A5C 7F00CF2C 468084A0 */ cvt.s.w $f18, $f16 -/* 041A60 7F00CF30 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 041A64 7F00CF34 44812000 */ mtc1 $at, $f4 -/* 041A68 7F00CF38 00000000 */ nop -/* 041A6C 7F00CF3C 46049480 */ add.s $f18, $f18, $f4 -.L7F00CF40: -/* 041A70 7F00CF40 46009202 */ mul.s $f8, $f18, $f0 -/* 041A74 7F00CF44 02402025 */ move $a0, $s2 -/* 041A78 7F00CF48 02002825 */ move $a1, $s0 -/* 041A7C 7F00CF4C 24060004 */ li $a2, 4 -/* 041A80 7F00CF50 00003825 */ move $a3, $zero -/* 041A84 7F00CF54 AFA00010 */ sw $zero, 0x10($sp) -/* 041A88 7F00CF58 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 041A8C 7F00CF5C E7A800A8 */ swc1 $f8, 0xa8($sp) -/* 041A90 7F00CF60 8E300000 */ lw $s0, ($s1) -/* 041A94 7F00CF64 240F0001 */ li $t7, 1 -/* 041A98 7F00CF68 241900FF */ li $t9, 255 -/* 041A9C 7F00CF6C 92180005 */ lbu $t8, 5($s0) -/* 041AA0 7F00CF70 92070004 */ lbu $a3, 4($s0) -/* 041AA4 7F00CF74 240A00FF */ li $t2, 255 -/* 041AA8 7F00CF78 240E00FF */ li $t6, 255 -/* 041AAC 7F00CF7C 240900FF */ li $t1, 255 -/* 041AB0 7F00CF80 AFA9002C */ sw $t1, 0x2c($sp) -/* 041AB4 7F00CF84 AFAE0028 */ sw $t6, 0x28($sp) -/* 041AB8 7F00CF88 AFAA0024 */ sw $t2, 0x24($sp) -/* 041ABC 7F00CF8C AFB90020 */ sw $t9, 0x20($sp) -/* 041AC0 7F00CF90 AFAF001C */ sw $t7, 0x1c($sp) -/* 041AC4 7F00CF94 AFA00018 */ sw $zero, 0x18($sp) -/* 041AC8 7F00CF98 AFA00014 */ sw $zero, 0x14($sp) -/* 041ACC 7F00CF9C AFB80010 */ sw $t8, 0x10($sp) -/* 041AD0 7F00CFA0 920B0006 */ lbu $t3, 6($s0) -/* 041AD4 7F00CFA4 AFA00034 */ sw $zero, 0x34($sp) -/* 041AD8 7F00CFA8 02402025 */ move $a0, $s2 -/* 041ADC 7F00CFAC 000B682A */ slt $t5, $zero, $t3 -/* 041AE0 7F00CFB0 AFAD0030 */ sw $t5, 0x30($sp) -/* 041AE4 7F00CFB4 27A500AC */ addiu $a1, $sp, 0xac -/* 041AE8 7F00CFB8 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 041AEC 7F00CFBC 27A600A4 */ addiu $a2, $sp, 0xa4 -/* 041AF0 7F00CFC0 C7A600AC */ lwc1 $f6, 0xac($sp) -/* 041AF4 7F00CFC4 C7AA00A4 */ lwc1 $f10, 0xa4($sp) -/* 041AF8 7F00CFC8 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 041AFC 7F00CFCC C7B200A8 */ lwc1 $f18, 0xa8($sp) -/* 041B00 7F00CFD0 460A3401 */ sub.s $f16, $f6, $f10 -/* 041B04 7F00CFD4 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 041B08 7F00CFD8 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 041B0C 7F00CFDC 46122201 */ sub.s $f8, $f4, $f18 -/* 041B10 7F00CFE0 E6B00000 */ swc1 $f16, ($s5) -/* 041B14 7F00CFE4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 041B18 7F00CFE8 460A3400 */ add.s $f16, $f6, $f10 -/* 041B1C 7F00CFEC 44810000 */ mtc1 $at, $f0 -/* 041B20 7F00CFF0 E6A80004 */ swc1 $f8, 4($s5) -/* 041B24 7F00CFF4 3C018005 */ lui $at, %hi(D_80051A2C) -/* 041B28 7F00CFF8 E6B0000C */ swc1 $f16, 0xc($s5) -/* 041B2C 7F00CFFC C4241A2C */ lwc1 $f4, %lo(D_80051A2C)($at) -/* 041B30 7F00D000 3C018005 */ lui $at, %hi(D_80051A30) -/* 041B34 7F00D004 C4321A30 */ lwc1 $f18, %lo(D_80051A30)($at) -/* 041B38 7F00D008 8E300000 */ lw $s0, ($s1) -/* 041B3C 7F00D00C E7A4009C */ swc1 $f4, 0x9c($sp) -/* 041B40 7F00D010 E7B200A0 */ swc1 $f18, 0xa0($sp) -/* 041B44 7F00D014 92080010 */ lbu $t0, 0x10($s0) -/* 041B48 7F00D018 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 041B4C 7F00D01C 44884000 */ mtc1 $t0, $f8 -/* 041B50 7F00D020 05010004 */ bgez $t0, .L7F00D034 -/* 041B54 7F00D024 468041A0 */ cvt.s.w $f6, $f8 -/* 041B58 7F00D028 44815000 */ mtc1 $at, $f10 -/* 041B5C 7F00D02C 00000000 */ nop -/* 041B60 7F00D030 460A3180 */ add.s $f6, $f6, $f10 -.L7F00D034: -/* 041B64 7F00D034 46003402 */ mul.s $f16, $f6, $f0 -/* 041B68 7F00D038 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 041B6C 7F00D03C E7B00094 */ swc1 $f16, 0x94($sp) -/* 041B70 7F00D040 920C0011 */ lbu $t4, 0x11($s0) -/* 041B74 7F00D044 448C2000 */ mtc1 $t4, $f4 -/* 041B78 7F00D048 05810004 */ bgez $t4, .L7F00D05C -/* 041B7C 7F00D04C 468024A0 */ cvt.s.w $f18, $f4 -/* 041B80 7F00D050 44814000 */ mtc1 $at, $f8 -/* 041B84 7F00D054 00000000 */ nop -/* 041B88 7F00D058 46089480 */ add.s $f18, $f18, $f8 -.L7F00D05C: -/* 041B8C 7F00D05C 46009282 */ mul.s $f10, $f18, $f0 -/* 041B90 7F00D060 02402025 */ move $a0, $s2 -/* 041B94 7F00D064 2605000C */ addiu $a1, $s0, 0xc -/* 041B98 7F00D068 24060004 */ li $a2, 4 -/* 041B9C 7F00D06C 00003825 */ move $a3, $zero -/* 041BA0 7F00D070 AFA00010 */ sw $zero, 0x10($sp) -/* 041BA4 7F00D074 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 041BA8 7F00D078 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 041BAC 7F00D07C 8E300000 */ lw $s0, ($s1) -/* 041BB0 7F00D080 240F0001 */ li $t7, 1 -/* 041BB4 7F00D084 241900FF */ li $t9, 255 -/* 041BB8 7F00D088 92180011 */ lbu $t8, 0x11($s0) -/* 041BBC 7F00D08C 92070010 */ lbu $a3, 0x10($s0) -/* 041BC0 7F00D090 240A00FF */ li $t2, 255 -/* 041BC4 7F00D094 240E00FF */ li $t6, 255 -/* 041BC8 7F00D098 240900FF */ li $t1, 255 -/* 041BCC 7F00D09C AFA9002C */ sw $t1, 0x2c($sp) -/* 041BD0 7F00D0A0 AFAE0028 */ sw $t6, 0x28($sp) -/* 041BD4 7F00D0A4 AFAA0024 */ sw $t2, 0x24($sp) -/* 041BD8 7F00D0A8 AFB90020 */ sw $t9, 0x20($sp) -/* 041BDC 7F00D0AC AFAF001C */ sw $t7, 0x1c($sp) -/* 041BE0 7F00D0B0 AFA00018 */ sw $zero, 0x18($sp) -/* 041BE4 7F00D0B4 AFA00014 */ sw $zero, 0x14($sp) -/* 041BE8 7F00D0B8 AFB80010 */ sw $t8, 0x10($sp) -/* 041BEC 7F00D0BC 920B0012 */ lbu $t3, 0x12($s0) -/* 041BF0 7F00D0C0 AFA00034 */ sw $zero, 0x34($sp) -/* 041BF4 7F00D0C4 02402025 */ move $a0, $s2 -/* 041BF8 7F00D0C8 000B682A */ slt $t5, $zero, $t3 -/* 041BFC 7F00D0CC AFAD0030 */ sw $t5, 0x30($sp) -/* 041C00 7F00D0D0 27A5009C */ addiu $a1, $sp, 0x9c -/* 041C04 7F00D0D4 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 041C08 7F00D0D8 27A60094 */ addiu $a2, $sp, 0x94 -/* 041C0C 7F00D0DC C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 041C10 7F00D0E0 C7B00094 */ lwc1 $f16, 0x94($sp) -/* 041C14 7F00D0E4 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 041C18 7F00D0E8 C7B20098 */ lwc1 $f18, 0x98($sp) -/* 041C1C 7F00D0EC 46103101 */ sub.s $f4, $f6, $f16 -/* 041C20 7F00D0F0 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 041C24 7F00D0F4 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 041C28 7F00D0F8 46124281 */ sub.s $f10, $f8, $f18 -/* 041C2C 7F00D0FC E6640000 */ swc1 $f4, ($s3) -/* 041C30 7F00D100 3C0142DC */ li $at, 0x42DC0000 # 110.000000 -/* 041C34 7F00D104 46103100 */ add.s $f4, $f6, $f16 -/* 041C38 7F00D108 44814000 */ mtc1 $at, $f8 -/* 041C3C 7F00D10C E66A0004 */ swc1 $f10, 4($s3) -/* 041C40 7F00D110 3C018005 */ lui $at, %hi(D_80051A34) -/* 041C44 7F00D114 E664000C */ swc1 $f4, 0xc($s3) -/* 041C48 7F00D118 C4321A34 */ lwc1 $f18, %lo(D_80051A34)($at) -/* 041C4C 7F00D11C 8E300000 */ lw $s0, ($s1) -/* 041C50 7F00D120 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 041C54 7F00D124 E7B20090 */ swc1 $f18, 0x90($sp) -/* 041C58 7F00D128 9208001C */ lbu $t0, 0x1c($s0) -/* 041C5C 7F00D12C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 041C60 7F00D130 44885000 */ mtc1 $t0, $f10 -/* 041C64 7F00D134 05010004 */ bgez $t0, .L7F00D148 -/* 041C68 7F00D138 468051A0 */ cvt.s.w $f6, $f10 -/* 041C6C 7F00D13C 44818000 */ mtc1 $at, $f16 -/* 041C70 7F00D140 00000000 */ nop -/* 041C74 7F00D144 46103180 */ add.s $f6, $f6, $f16 -.L7F00D148: -/* 041C78 7F00D148 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 041C7C 7F00D14C 44812000 */ mtc1 $at, $f4 -/* 041C80 7F00D150 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 041C84 7F00D154 46043202 */ mul.s $f8, $f6, $f4 -/* 041C88 7F00D158 E7A80084 */ swc1 $f8, 0x84($sp) -/* 041C8C 7F00D15C 920C001D */ lbu $t4, 0x1d($s0) -/* 041C90 7F00D160 448C9000 */ mtc1 $t4, $f18 -/* 041C94 7F00D164 05810004 */ bgez $t4, .L7F00D178 -/* 041C98 7F00D168 468092A0 */ cvt.s.w $f10, $f18 -/* 041C9C 7F00D16C 44818000 */ mtc1 $at, $f16 -/* 041CA0 7F00D170 00000000 */ nop -/* 041CA4 7F00D174 46105280 */ add.s $f10, $f10, $f16 -.L7F00D178: -/* 041CA8 7F00D178 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 041CAC 7F00D17C 44813000 */ mtc1 $at, $f6 -/* 041CB0 7F00D180 02402025 */ move $a0, $s2 -/* 041CB4 7F00D184 26050018 */ addiu $a1, $s0, 0x18 -/* 041CB8 7F00D188 46065102 */ mul.s $f4, $f10, $f6 -/* 041CBC 7F00D18C 24060004 */ li $a2, 4 -/* 041CC0 7F00D190 00003825 */ move $a3, $zero -/* 041CC4 7F00D194 AFA00010 */ sw $zero, 0x10($sp) -/* 041CC8 7F00D198 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 041CCC 7F00D19C E7A40088 */ swc1 $f4, 0x88($sp) -/* 041CD0 7F00D1A0 8E300000 */ lw $s0, ($s1) -/* 041CD4 7F00D1A4 240F0001 */ li $t7, 1 -/* 041CD8 7F00D1A8 241900FF */ li $t9, 255 -/* 041CDC 7F00D1AC 9218001D */ lbu $t8, 0x1d($s0) -/* 041CE0 7F00D1B0 9207001C */ lbu $a3, 0x1c($s0) -/* 041CE4 7F00D1B4 240A00FF */ li $t2, 255 -/* 041CE8 7F00D1B8 240E00FF */ li $t6, 255 -/* 041CEC 7F00D1BC 240900FF */ li $t1, 255 -/* 041CF0 7F00D1C0 AFA9002C */ sw $t1, 0x2c($sp) -/* 041CF4 7F00D1C4 AFAE0028 */ sw $t6, 0x28($sp) -/* 041CF8 7F00D1C8 AFAA0024 */ sw $t2, 0x24($sp) -/* 041CFC 7F00D1CC AFB90020 */ sw $t9, 0x20($sp) -/* 041D00 7F00D1D0 AFAF001C */ sw $t7, 0x1c($sp) -/* 041D04 7F00D1D4 AFA00018 */ sw $zero, 0x18($sp) -/* 041D08 7F00D1D8 AFA00014 */ sw $zero, 0x14($sp) -/* 041D0C 7F00D1DC AFB80010 */ sw $t8, 0x10($sp) -/* 041D10 7F00D1E0 920B001E */ lbu $t3, 0x1e($s0) -/* 041D14 7F00D1E4 AFA00034 */ sw $zero, 0x34($sp) -/* 041D18 7F00D1E8 02402025 */ move $a0, $s2 -/* 041D1C 7F00D1EC 000B682A */ slt $t5, $zero, $t3 -/* 041D20 7F00D1F0 AFAD0030 */ sw $t5, 0x30($sp) -/* 041D24 7F00D1F4 27A5008C */ addiu $a1, $sp, 0x8c -/* 041D28 7F00D1F8 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 041D2C 7F00D1FC 27A60084 */ addiu $a2, $sp, 0x84 -/* 041D30 7F00D200 3C088003 */ lui $t0, %hi(folder_selected_for_deletion) -/* 041D34 7F00D204 8D08A91C */ lw $t0, %lo(folder_selected_for_deletion)($t0) -/* 041D38 7F00D208 05030005 */ bgezl $t0, .L7F00D220 -/* 041D3C 7F00D20C 8FBF0064 */ lw $ra, 0x64($sp) -/* 041D40 7F00D210 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 041D44 7F00D214 8FA401B8 */ lw $a0, 0x1b8($sp) -/* 041D48 7F00D218 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 041D4C 7F00D21C 8FBF0064 */ lw $ra, 0x64($sp) -.L7F00D220: -/* 041D50 7F00D220 8FA201B8 */ lw $v0, 0x1b8($sp) -/* 041D54 7F00D224 8FB00040 */ lw $s0, 0x40($sp) -/* 041D58 7F00D228 8FB10044 */ lw $s1, 0x44($sp) -/* 041D5C 7F00D22C 8FB20048 */ lw $s2, 0x48($sp) -/* 041D60 7F00D230 8FB3004C */ lw $s3, 0x4c($sp) -/* 041D64 7F00D234 8FB40050 */ lw $s4, 0x50($sp) -/* 041D68 7F00D238 8FB50054 */ lw $s5, 0x54($sp) -/* 041D6C 7F00D23C 8FB60058 */ lw $s6, 0x58($sp) -/* 041D70 7F00D240 8FB7005C */ lw $s7, 0x5c($sp) -/* 041D74 7F00D244 8FBE0060 */ lw $fp, 0x60($sp) -/* 041D78 7F00D248 03E00008 */ jr $ra -/* 041D7C 7F00D24C 27BD01B8 */ addiu $sp, $sp, 0x1b8 -) -#endif - - - -void init_menu06_modeselect(void) -{ - gamemode = -1; - tab_2_selected = 0; - tab_3_selected = 0; - load_walletbond(); - copyCurrentEEPROMtoStack(); -} - -void update_menu06_modesel(void) { - return; -} - - - - - - -#ifdef NONMATCHING -s32 interface_menu06_modesel(void) -{ - void *sp24; - s32 temp_s0; - void *temp_v1; - void *phi_v1; - s32 phi_s0; - s32 phi_return; - - is_cheat_menu_available = 0; - phi_v1 = &cheat_available; - phi_s0 = 1; -loop_1: - sp24 = (void *) phi_v1; - temp_v1 = phi_v1; - if (check_if_cheat_available(phi_s0) != 0) - { - *temp_v1 = (u8)1; - is_cheat_menu_available = 1; - } - else - { - *temp_v1 = (u8)0; - } - temp_s0 = phi_s0 + 1; - phi_v1 = temp_v1 + 1; - phi_s0 = temp_s0; - if (temp_s0 != 0x4b) - { - goto loop_1; - } - setvideo_far(0x42700000); - video_related_21(D_80051A38); - set_page_height(0x42c80000, D_80051A3C); - set_video2_settings_offset_24(0); - disable_all_switches(ptr_folder_object_instance); - select_load_bond_picture(ptr_folder_object_instance, removed_would_have_returned_bond_for_folder_num(selected_folder_num)); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 7, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 2, 1); - tab_3_highlight = 0; - mission_difficulty_highlighted = -1; - if (isontab3() != 0) - { - tab_3_highlight = 1; - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { -block_18: - } - } - else - { - if (is_cheat_menu_available != 0) - { - if (D_80051A40 <= cursor_v_pos) - { - mission_difficulty_highlighted = 2; - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - gamemode = 2; - play_sfx_a1(ptr_sfx_buf, 0xc5, 0); - } - else - { - goto block_18; - } - } - else - { -block_12: - if (243.0f <= cursor_v_pos) - { - if (get_attached_controller_count() >= 2) - { - mission_difficulty_highlighted = 1; - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - gamemode = 1; - play_sfx_a1(ptr_sfx_buf, 0xc5, 0); - } - else - { - goto block_18; - } - } - else - { -block_16: - mission_difficulty_highlighted = 0; - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - gamemode = 0; - play_sfx_a1(ptr_sfx_buf, 0xc5, 0); - } - goto block_18; - } - } - else - { - goto block_16; - } - } - } - else - { - goto block_12; - } - } - if (get_controller_buttons_pressed(0, 0x4000) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - menu_control_stick_tracking(); - if (gamemode == 0) - { - set_menu_to_mode(7, 0); - return set_cursor_to_stage_solo(0); - } - if (gamemode == 1) - { - return set_menu_to_mode(0xe, 0); - } - if (gamemode == 2) - { - return set_menu_to_mode(0x15, 0); - } - phi_return = gamemode; - if (tab_3_selected != 0) - { - phi_return = set_menu_to_mode(5, 0); - } - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel interface_menu06_modesel -/* 041DC8 7F00D298 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 041DCC 7F00D29C AFB00018 */ sw $s0, 0x18($sp) -/* 041DD0 7F00D2A0 3C018003 */ lui $at, %hi(is_cheat_menu_available) -/* 041DD4 7F00D2A4 3C038007 */ lui $v1, %hi(cheat_available) -/* 041DD8 7F00D2A8 AFBF001C */ sw $ra, 0x1c($sp) -/* 041DDC 7F00D2AC AC20A94C */ sw $zero, %lo(is_cheat_menu_available)($at) -/* 041DE0 7F00D2B0 24639651 */ addiu $v1, %lo(cheat_available) # addiu $v1, $v1, -0x69af -/* 041DE4 7F00D2B4 24100001 */ li $s0, 1 -.L7F00D2B8: -/* 041DE8 7F00D2B8 02002025 */ move $a0, $s0 -/* 041DEC 7F00D2BC 0FC02612 */ jal check_if_cheat_available -/* 041DF0 7F00D2C0 AFA30024 */ sw $v1, 0x24($sp) -/* 041DF4 7F00D2C4 10400007 */ beqz $v0, .L7F00D2E4 -/* 041DF8 7F00D2C8 8FA30024 */ lw $v1, 0x24($sp) -/* 041DFC 7F00D2CC 240E0001 */ li $t6, 1 -/* 041E00 7F00D2D0 A06E0000 */ sb $t6, ($v1) -/* 041E04 7F00D2D4 240F0001 */ li $t7, 1 -/* 041E08 7F00D2D8 3C018003 */ lui $at, %hi(is_cheat_menu_available) -/* 041E0C 7F00D2DC 10000002 */ b .L7F00D2E8 -/* 041E10 7F00D2E0 AC2FA94C */ sw $t7, %lo(is_cheat_menu_available)($at) -.L7F00D2E4: -/* 041E14 7F00D2E4 A0600000 */ sb $zero, ($v1) -.L7F00D2E8: -/* 041E18 7F00D2E8 26100001 */ addiu $s0, $s0, 1 -/* 041E1C 7F00D2EC 2401004B */ li $at, 75 -/* 041E20 7F00D2F0 1601FFF1 */ bne $s0, $at, .L7F00D2B8 -/* 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 setvideo_far -/* 041E34 7F00D304 00000000 */ nop -/* 041E38 7F00D308 3C018005 */ lui $at, %hi(D_80051A38) -/* 041E3C 7F00D30C 0C001164 */ jal video_related_21 -/* 041E40 7F00D310 C42C1A38 */ lwc1 $f12, %lo(D_80051A38)($at) -/* 041E44 7F00D314 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 041E48 7F00D318 44816000 */ mtc1 $at, $f12 -/* 041E4C 7F00D31C 3C018005 */ lui $at, %hi(D_80051A3C) -/* 041E50 7F00D320 0C001194 */ jal set_page_height -/* 041E54 7F00D324 C42E1A3C */ lwc1 $f14, %lo(D_80051A3C)($at) -/* 041E58 7F00D328 0C00114D */ jal set_video2_settings_offset_24 -/* 041E5C 7F00D32C 00002025 */ move $a0, $zero -/* 041E60 7F00D330 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 041E64 7F00D334 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 041E68 7F00D338 0FC02DC9 */ jal disable_all_switches -/* 041E6C 7F00D33C 8E040000 */ lw $a0, ($s0) -/* 041E70 7F00D340 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 041E74 7F00D344 0FC07AF0 */ jal removed_would_have_returned_bond_for_folder_num -/* 041E78 7F00D348 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 041E7C 7F00D34C 8E040000 */ lw $a0, ($s0) -/* 041E80 7F00D350 0FC02E02 */ jal select_load_bond_picture -/* 041E84 7F00D354 00402825 */ move $a1, $v0 -/* 041E88 7F00D358 8E040000 */ lw $a0, ($s0) -/* 041E8C 7F00D35C 00002825 */ move $a1, $zero -/* 041E90 7F00D360 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 041E94 7F00D364 24060001 */ li $a2, 1 -/* 041E98 7F00D368 8E040000 */ lw $a0, ($s0) -/* 041E9C 7F00D36C 24050001 */ li $a1, 1 -/* 041EA0 7F00D370 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 041EA4 7F00D374 24060001 */ li $a2, 1 -/* 041EA8 7F00D378 8E040000 */ lw $a0, ($s0) -/* 041EAC 7F00D37C 24050003 */ li $a1, 3 -/* 041EB0 7F00D380 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 041EB4 7F00D384 24060001 */ li $a2, 1 -/* 041EB8 7F00D388 8E040000 */ lw $a0, ($s0) -/* 041EBC 7F00D38C 24050007 */ li $a1, 7 -/* 041EC0 7F00D390 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 041EC4 7F00D394 24060001 */ li $a2, 1 -/* 041EC8 7F00D398 8E040000 */ lw $a0, ($s0) -/* 041ECC 7F00D39C 24050002 */ li $a1, 2 -/* 041ED0 7F00D3A0 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 041ED4 7F00D3A4 24060001 */ li $a2, 1 -/* 041ED8 7F00D3A8 3C108007 */ lui $s0, %hi(mission_difficulty_highlighted) -/* 041EDC 7F00D3AC 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 041EE0 7F00D3B0 26109784 */ addiu $s0, %lo(mission_difficulty_highlighted) # addiu $s0, $s0, -0x687c -/* 041EE4 7F00D3B4 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 041EE8 7F00D3B8 2418FFFF */ li $t8, -1 -/* 041EEC 7F00D3BC 0FC028E7 */ jal isontab3 -/* 041EF0 7F00D3C0 AE180000 */ sw $t8, ($s0) -/* 041EF4 7F00D3C4 10400012 */ beqz $v0, .L7F00D410 -/* 041EF8 7F00D3C8 3C098003 */ lui $t1, %hi(is_cheat_menu_available) -/* 041EFC 7F00D3CC 24190001 */ li $t9, 1 -/* 041F00 7F00D3D0 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 041F04 7F00D3D4 AC39A8E4 */ sw $t9, %lo(tab_3_highlight)($at) -/* 041F08 7F00D3D8 00002025 */ move $a0, $zero -/* 041F0C 7F00D3DC 0C0030EB */ jal get_controller_buttons_pressed -/* 041F10 7F00D3E0 3405B000 */ li $a1, 45056 -/* 041F14 7F00D3E4 1040004D */ beqz $v0, .L7F00D51C -/* 041F18 7F00D3E8 24080001 */ li $t0, 1 -/* 041F1C 7F00D3EC 3C018003 */ lui $at, %hi(tab_3_selected) -/* 041F20 7F00D3F0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 041F24 7F00D3F4 AC28A8D8 */ sw $t0, %lo(tab_3_selected)($at) -/* 041F28 7F00D3F8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 041F2C 7F00D3FC 240500C7 */ li $a1, 199 -/* 041F30 7F00D400 0C002382 */ jal play_sfx_a1 -/* 041F34 7F00D404 00003025 */ move $a2, $zero -/* 041F38 7F00D408 10000045 */ b .L7F00D520 -/* 041F3C 7F00D40C 00002025 */ move $a0, $zero -.L7F00D410: -/* 041F40 7F00D410 8D29A94C */ lw $t1, %lo(is_cheat_menu_available)($t1) -/* 041F44 7F00D414 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 041F48 7F00D418 11200017 */ beqz $t1, .L7F00D478 -/* 041F4C 7F00D41C 00000000 */ nop -/* 041F50 7F00D420 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at) -/* 041F54 7F00D424 3C018005 */ lui $at, %hi(D_80051A40) -/* 041F58 7F00D428 C4261A40 */ lwc1 $f6, %lo(D_80051A40)($at) -/* 041F5C 7F00D42C 240A0002 */ li $t2, 2 -/* 041F60 7F00D430 00002025 */ move $a0, $zero -/* 041F64 7F00D434 4604303E */ c.le.s $f6, $f4 -/* 041F68 7F00D438 3405B000 */ li $a1, 45056 -/* 041F6C 7F00D43C 4500000E */ bc1f .L7F00D478 -/* 041F70 7F00D440 00000000 */ nop -/* 041F74 7F00D444 0C0030EB */ jal get_controller_buttons_pressed -/* 041F78 7F00D448 AE0A0000 */ sw $t2, ($s0) -/* 041F7C 7F00D44C 10400033 */ beqz $v0, .L7F00D51C -/* 041F80 7F00D450 240B0002 */ li $t3, 2 -/* 041F84 7F00D454 3C018003 */ lui $at, %hi(gamemode) -/* 041F88 7F00D458 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 041F8C 7F00D45C AC2BA8F0 */ sw $t3, %lo(gamemode)($at) -/* 041F90 7F00D460 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 041F94 7F00D464 240500C5 */ li $a1, 197 -/* 041F98 7F00D468 0C002382 */ jal play_sfx_a1 -/* 041F9C 7F00D46C 00003025 */ move $a2, $zero -/* 041FA0 7F00D470 1000002B */ b .L7F00D520 -/* 041FA4 7F00D474 00002025 */ move $a0, $zero -.L7F00D478: -/* 041FA8 7F00D478 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 041FAC 7F00D47C C428A90C */ lwc1 $f8, %lo(cursor_v_pos)($at) -/* 041FB0 7F00D480 3C014373 */ li $at, 0x43730000 # 243.000000 -/* 041FB4 7F00D484 44815000 */ mtc1 $at, $f10 -/* 041FB8 7F00D488 00000000 */ nop -/* 041FBC 7F00D48C 4608503E */ c.le.s $f10, $f8 -/* 041FC0 7F00D490 00000000 */ nop -/* 041FC4 7F00D494 45020016 */ bc1fl .L7F00D4F0 -/* 041FC8 7F00D498 AE000000 */ sw $zero, ($s0) -/* 041FCC 7F00D49C 0C002E7E */ jal get_attached_controller_count -/* 041FD0 7F00D4A0 00000000 */ nop -/* 041FD4 7F00D4A4 28410002 */ slti $at, $v0, 2 -/* 041FD8 7F00D4A8 14200010 */ bnez $at, .L7F00D4EC -/* 041FDC 7F00D4AC 240C0001 */ li $t4, 1 -/* 041FE0 7F00D4B0 AE0C0000 */ sw $t4, ($s0) -/* 041FE4 7F00D4B4 00002025 */ move $a0, $zero -/* 041FE8 7F00D4B8 0C0030EB */ jal get_controller_buttons_pressed -/* 041FEC 7F00D4BC 3405B000 */ li $a1, 45056 -/* 041FF0 7F00D4C0 10400016 */ beqz $v0, .L7F00D51C -/* 041FF4 7F00D4C4 240D0001 */ li $t5, 1 -/* 041FF8 7F00D4C8 3C018003 */ lui $at, %hi(gamemode) -/* 041FFC 7F00D4CC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 042000 7F00D4D0 AC2DA8F0 */ sw $t5, %lo(gamemode)($at) -/* 042004 7F00D4D4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042008 7F00D4D8 240500C5 */ li $a1, 197 -/* 04200C 7F00D4DC 0C002382 */ jal play_sfx_a1 -/* 042010 7F00D4E0 00003025 */ move $a2, $zero -/* 042014 7F00D4E4 1000000E */ b .L7F00D520 -/* 042018 7F00D4E8 00002025 */ move $a0, $zero -.L7F00D4EC: -/* 04201C 7F00D4EC AE000000 */ sw $zero, ($s0) -.L7F00D4F0: -/* 042020 7F00D4F0 00002025 */ move $a0, $zero -/* 042024 7F00D4F4 0C0030EB */ jal get_controller_buttons_pressed -/* 042028 7F00D4F8 3405B000 */ li $a1, 45056 -/* 04202C 7F00D4FC 10400007 */ beqz $v0, .L7F00D51C -/* 042030 7F00D500 3C018003 */ lui $at, %hi(gamemode) -/* 042034 7F00D504 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 042038 7F00D508 AC20A8F0 */ sw $zero, %lo(gamemode)($at) -/* 04203C 7F00D50C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042040 7F00D510 240500C5 */ li $a1, 197 -/* 042044 7F00D514 0C002382 */ jal play_sfx_a1 -/* 042048 7F00D518 00003025 */ move $a2, $zero -.L7F00D51C: -/* 04204C 7F00D51C 00002025 */ move $a0, $zero -.L7F00D520: -/* 042050 7F00D520 0C0030EB */ jal get_controller_buttons_pressed -/* 042054 7F00D524 24054000 */ li $a1, 16384 -/* 042058 7F00D528 10400008 */ beqz $v0, .L7F00D54C -/* 04205C 7F00D52C 240E0001 */ li $t6, 1 -/* 042060 7F00D530 3C018003 */ lui $at, %hi(tab_3_selected) -/* 042064 7F00D534 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 042068 7F00D538 AC2EA8D8 */ sw $t6, %lo(tab_3_selected)($at) -/* 04206C 7F00D53C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042070 7F00D540 240500C7 */ li $a1, 199 -/* 042074 7F00D544 0C002382 */ jal play_sfx_a1 -/* 042078 7F00D548 00003025 */ move $a2, $zero -.L7F00D54C: -/* 04207C 7F00D54C 0FC026E1 */ jal menu_control_stick_tracking -/* 042080 7F00D550 00000000 */ nop -/* 042084 7F00D554 3C028003 */ lui $v0, %hi(gamemode) -/* 042088 7F00D558 8C42A8F0 */ lw $v0, %lo(gamemode)($v0) -/* 04208C 7F00D55C 24040007 */ li $a0, 7 -/* 042090 7F00D560 24010001 */ li $at, 1 -/* 042094 7F00D564 14400007 */ bnez $v0, .L7F00D584 -/* 042098 7F00D568 00000000 */ nop -/* 04209C 7F00D56C 0FC06975 */ jal set_menu_to_mode -/* 0420A0 7F00D570 00002825 */ move $a1, $zero -/* 0420A4 7F00D574 0FC038F8 */ jal set_cursor_to_stage_solo -/* 0420A8 7F00D578 00002025 */ move $a0, $zero -/* 0420AC 7F00D57C 10000016 */ b .L7F00D5D8 -/* 0420B0 7F00D580 8FBF001C */ lw $ra, 0x1c($sp) -.L7F00D584: -/* 0420B4 7F00D584 14410005 */ bne $v0, $at, .L7F00D59C -/* 0420B8 7F00D588 2404000E */ li $a0, 14 -/* 0420BC 7F00D58C 0FC06975 */ jal set_menu_to_mode -/* 0420C0 7F00D590 00002825 */ move $a1, $zero -/* 0420C4 7F00D594 10000010 */ b .L7F00D5D8 -/* 0420C8 7F00D598 8FBF001C */ lw $ra, 0x1c($sp) -.L7F00D59C: -/* 0420CC 7F00D59C 24010002 */ li $at, 2 -/* 0420D0 7F00D5A0 14410006 */ bne $v0, $at, .L7F00D5BC -/* 0420D4 7F00D5A4 3C0F8003 */ lui $t7, %hi(tab_3_selected) -/* 0420D8 7F00D5A8 24040015 */ li $a0, 21 -/* 0420DC 7F00D5AC 0FC06975 */ jal set_menu_to_mode -/* 0420E0 7F00D5B0 00002825 */ move $a1, $zero -/* 0420E4 7F00D5B4 10000008 */ b .L7F00D5D8 -/* 0420E8 7F00D5B8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F00D5BC: -/* 0420EC 7F00D5BC 8DEFA8D8 */ lw $t7, %lo(tab_3_selected)($t7) -/* 0420F0 7F00D5C0 24040005 */ li $a0, 5 -/* 0420F4 7F00D5C4 51E00004 */ beql $t7, $zero, .L7F00D5D8 -/* 0420F8 7F00D5C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0420FC 7F00D5CC 0FC06975 */ jal set_menu_to_mode -/* 042100 7F00D5D0 00002825 */ move $a1, $zero -/* 042104 7F00D5D4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F00D5D8: -/* 042108 7F00D5D8 8FB00018 */ lw $s0, 0x18($sp) -/* 04210C 7F00D5DC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 042110 7F00D5E0 03E00008 */ jr $ra -/* 042114 7F00D5E4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 sub_GAME_7F00D5E8(s32 arg0) -{ - s32 sp11C; - s32 sp118; - ?32 sp114; - ?32 sp110; - ? sp10C; - ? spC8; - ? sp88; - ? sp48; - f32 temp_f0; - f32 temp_f2; - s32 temp_ret; - s32 temp_s0; - void *temp_t8; - void *temp_t9; - void *temp_v0; - void *phi_t9; - void *phi_t8; - s32 phi_s1; - s32 phi_s0; - - temp_v0 = &D_8002AB94 + (selected_folder_num * 0xc); - phi_t9 = &D_8002AF84; - phi_t8 = &sp10C; -loop_1: - temp_t9 = phi_t9 + 0xc; - temp_t8 = phi_t8 + 0xc; - temp_t8->unk-C = (?32) *phi_t9; - temp_t8->unk-8 = (?32) temp_t9->unk-8; - temp_t8->unk-4 = (?32) temp_t9->unk-4; - phi_t9 = temp_t9; - phi_t8 = temp_t8; - if (temp_t9 != (&D_8002AF84 + 0x3c)) - { - goto loop_1; - } - temp_t8->unk0 = (?32) temp_t9->unk0; - temp_f0 = temp_v0->unk0 + D_8002AFC4; - temp_f2 = temp_v0->unk4 + D_8002AFC8; - sub_GAME_7F059694(0, &spC8, temp_f0, temp_f2, 4000.0f + D_8002AFCC, temp_f0, temp_f2, 1.0f); - init_something_copy_posdata_to_it(&D_8002AB94 + (selected_folder_num * 0xc), &sp88); - matrix_multiply_A1_by_F12(0x3e800000, &sp88); - sub_GAME_7F058068(&spC8, &sp88); - temp_ret = sub_GAME_7F0BD714(ptr_folder_object_instance->unk8->unkE << 6); - sp11C = temp_ret; - sub_GAME_7F058020(&sp88, temp_ret); - ptr_folder_object_instance->unkC = sp11C; - sp114 = 3; - sp110 = 0; - sp118 = arg0; - subdraw(&sp10C, ptr_folder_object_instance); - arg0 = sp118; - phi_s1 = 0; - phi_s0 = 0; - if (ptr_folder_object_instance->unk8->unkE > 0) - { -loop_3: - sub_GAME_7F058020(ptr_folder_object_instance->unkC + phi_s1, &sp48); - sub_GAME_7F058C9C(&sp48, ptr_folder_object_instance->unkC + (phi_s0 << 6)); - temp_s0 = phi_s0 + 1; - phi_s1 = phi_s1 + 0x40; - phi_s0 = temp_s0; - if (temp_s0 < ptr_folder_object_instance->unk8->unkE) - { - goto loop_3; - } - } - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F00D5E8 -/* 042118 7F00D5E8 27BDFEA8 */ addiu $sp, $sp, -0x158 -/* 04211C 7F00D5EC AFB20034 */ sw $s2, 0x34($sp) -/* 042120 7F00D5F0 3C128003 */ lui $s2, %hi(selected_folder_num) -/* 042124 7F00D5F4 2652A8E8 */ addiu $s2, %lo(selected_folder_num) # addiu $s2, $s2, -0x5718 -/* 042128 7F00D5F8 8E4E0000 */ lw $t6, ($s2) -/* 04212C 7F00D5FC AFB30038 */ sw $s3, 0x38($sp) -/* 042130 7F00D600 2413000C */ li $s3, 12 -/* 042134 7F00D604 01D30019 */ multu $t6, $s3 -/* 042138 7F00D608 AFB10030 */ sw $s1, 0x30($sp) -/* 04213C 7F00D60C 3C118003 */ lui $s1, %hi(D_8002AB94) -/* 042140 7F00D610 2631AB94 */ addiu $s1, %lo(D_8002AB94) # addiu $s1, $s1, -0x546c -/* 042144 7F00D614 3C198003 */ lui $t9, %hi(D_8002AF84) -/* 042148 7F00D618 2739AF84 */ addiu $t9, %lo(D_8002AF84) # addiu $t9, $t9, -0x507c -/* 04214C 7F00D61C 44806000 */ mtc1 $zero, $f12 -/* 042150 7F00D620 AFBF003C */ sw $ra, 0x3c($sp) -/* 042154 7F00D624 AFB0002C */ sw $s0, 0x2c($sp) -/* 042158 7F00D628 AFA40158 */ sw $a0, 0x158($sp) -/* 04215C 7F00D62C 00007812 */ mflo $t7 -/* 042160 7F00D630 022F1021 */ addu $v0, $s1, $t7 -/* 042164 7F00D634 C4400000 */ lwc1 $f0, ($v0) -/* 042168 7F00D638 C4420004 */ lwc1 $f2, 4($v0) -/* 04216C 7F00D63C 272A003C */ addiu $t2, $t9, 0x3c -/* 042170 7F00D640 27B8010C */ addiu $t8, $sp, 0x10c -.L7F00D644: -/* 042174 7F00D644 8F210000 */ lw $at, ($t9) -/* 042178 7F00D648 2739000C */ addiu $t9, $t9, 0xc -/* 04217C 7F00D64C 2718000C */ addiu $t8, $t8, 0xc -/* 042180 7F00D650 AF01FFF4 */ sw $at, -0xc($t8) -/* 042184 7F00D654 8F21FFF8 */ lw $at, -8($t9) -/* 042188 7F00D658 AF01FFF8 */ sw $at, -8($t8) -/* 04218C 7F00D65C 8F21FFFC */ lw $at, -4($t9) -/* 042190 7F00D660 172AFFF8 */ bne $t9, $t2, .L7F00D644 -/* 042194 7F00D664 AF01FFFC */ sw $at, -4($t8) -/* 042198 7F00D668 8F210000 */ lw $at, ($t9) -/* 04219C 7F00D66C 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 0421A0 7F00D670 AF010000 */ sw $at, ($t8) -/* 0421A4 7F00D674 3C018003 */ lui $at, %hi(D_8002AFC4) -/* 0421A8 7F00D678 C424AFC4 */ lwc1 $f4, %lo(D_8002AFC4)($at) -/* 0421AC 7F00D67C 3C018003 */ lui $at, %hi(D_8002AFC8) -/* 0421B0 7F00D680 C426AFC8 */ lwc1 $f6, %lo(D_8002AFC8)($at) -/* 0421B4 7F00D684 3C01457A */ li $at, 0x457A0000 # 4000.000000 -/* 0421B8 7F00D688 44814000 */ mtc1 $at, $f8 -/* 0421BC 7F00D68C 3C018003 */ lui $at, %hi(D_8002AFCC) -/* 0421C0 7F00D690 C42AAFCC */ lwc1 $f10, %lo(D_8002AFCC)($at) -/* 0421C4 7F00D694 46040000 */ add.s $f0, $f0, $f4 -/* 0421C8 7F00D698 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0421CC 7F00D69C 44819000 */ mtc1 $at, $f18 -/* 0421D0 7F00D6A0 46061080 */ add.s $f2, $f2, $f6 -/* 0421D4 7F00D6A4 44050000 */ mfc1 $a1, $f0 -/* 0421D8 7F00D6A8 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0421DC 7F00D6AC 460A4400 */ add.s $f16, $f8, $f10 -/* 0421E0 7F00D6B0 44061000 */ mfc1 $a2, $f2 -/* 0421E4 7F00D6B4 E7A20014 */ swc1 $f2, 0x14($sp) -/* 0421E8 7F00D6B8 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 0421EC 7F00D6BC 44078000 */ mfc1 $a3, $f16 -/* 0421F0 7F00D6C0 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 0421F4 7F00D6C4 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0421F8 7F00D6C8 0FC165A5 */ jal sub_GAME_7F059694 -/* 0421FC 7F00D6CC E7B20020 */ swc1 $f18, 0x20($sp) -/* 042200 7F00D6D0 8E4B0000 */ lw $t3, ($s2) -/* 042204 7F00D6D4 27B00088 */ addiu $s0, $sp, 0x88 -/* 042208 7F00D6D8 02002825 */ move $a1, $s0 -/* 04220C 7F00D6DC 01730019 */ multu $t3, $s3 -/* 042210 7F00D6E0 00006012 */ mflo $t4 -/* 042214 7F00D6E4 022C2021 */ addu $a0, $s1, $t4 -/* 042218 7F00D6E8 0FC16259 */ jal init_something_copy_posdata_to_it -/* 04221C 7F00D6EC 00000000 */ nop -/* 042220 7F00D6F0 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 042224 7F00D6F4 44816000 */ mtc1 $at, $f12 -/* 042228 7F00D6F8 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 04222C 7F00D6FC 02002825 */ move $a1, $s0 -/* 042230 7F00D700 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 042234 7F00D704 0FC1601A */ jal sub_GAME_7F058068 -/* 042238 7F00D708 02002825 */ move $a1, $s0 -/* 04223C 7F00D70C 3C138003 */ lui $s3, %hi(ptr_folder_object_instance) -/* 042240 7F00D710 2673A95C */ addiu $s3, %lo(ptr_folder_object_instance) # addiu $s3, $s3, -0x56a4 -/* 042244 7F00D714 8E6D0000 */ lw $t5, ($s3) -/* 042248 7F00D718 AFB0010C */ sw $s0, 0x10c($sp) -/* 04224C 7F00D71C 8DAE0008 */ lw $t6, 8($t5) -/* 042250 7F00D720 85C4000E */ lh $a0, 0xe($t6) -/* 042254 7F00D724 00047980 */ sll $t7, $a0, 6 -/* 042258 7F00D728 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 04225C 7F00D72C 01E02025 */ move $a0, $t7 -/* 042260 7F00D730 AFA2011C */ sw $v0, 0x11c($sp) -/* 042264 7F00D734 02002025 */ move $a0, $s0 -/* 042268 7F00D738 0FC16008 */ jal sub_GAME_7F058020 -/* 04226C 7F00D73C 00402825 */ move $a1, $v0 -/* 042270 7F00D740 8FA9011C */ lw $t1, 0x11c($sp) -/* 042274 7F00D744 8E680000 */ lw $t0, ($s3) -/* 042278 7F00D748 240A0003 */ li $t2, 3 -/* 04227C 7F00D74C 27A4010C */ addiu $a0, $sp, 0x10c -/* 042280 7F00D750 AD09000C */ sw $t1, 0xc($t0) -/* 042284 7F00D754 8FB90158 */ lw $t9, 0x158($sp) -/* 042288 7F00D758 AFAA0114 */ sw $t2, 0x114($sp) -/* 04228C 7F00D75C AFA00110 */ sw $zero, 0x110($sp) -/* 042290 7F00D760 8E650000 */ lw $a1, ($s3) -/* 042294 7F00D764 0FC1D1A1 */ jal subdraw -/* 042298 7F00D768 AFB90118 */ sw $t9, 0x118($sp) -/* 04229C 7F00D76C 8FB80118 */ lw $t8, 0x118($sp) -/* 0422A0 7F00D770 8E620000 */ lw $v0, ($s3) -/* 0422A4 7F00D774 00008025 */ move $s0, $zero -/* 0422A8 7F00D778 AFB80158 */ sw $t8, 0x158($sp) -/* 0422AC 7F00D77C 8C4B0008 */ lw $t3, 8($v0) -/* 0422B0 7F00D780 00008825 */ move $s1, $zero -/* 0422B4 7F00D784 27B20048 */ addiu $s2, $sp, 0x48 -/* 0422B8 7F00D788 856C000E */ lh $t4, 0xe($t3) -/* 0422BC 7F00D78C 59800014 */ blezl $t4, .L7F00D7E0 -/* 0422C0 7F00D790 8FBF003C */ lw $ra, 0x3c($sp) -/* 0422C4 7F00D794 8C4D000C */ lw $t5, 0xc($v0) -.L7F00D798: -/* 0422C8 7F00D798 02402825 */ move $a1, $s2 -/* 0422CC 7F00D79C 0FC16008 */ jal sub_GAME_7F058020 -/* 0422D0 7F00D7A0 01B12021 */ addu $a0, $t5, $s1 -/* 0422D4 7F00D7A4 8E6E0000 */ lw $t6, ($s3) -/* 0422D8 7F00D7A8 00104980 */ sll $t1, $s0, 6 -/* 0422DC 7F00D7AC 02402025 */ move $a0, $s2 -/* 0422E0 7F00D7B0 8DCF000C */ lw $t7, 0xc($t6) -/* 0422E4 7F00D7B4 0FC16327 */ jal sub_GAME_7F058C9C -/* 0422E8 7F00D7B8 01E92821 */ addu $a1, $t7, $t1 -/* 0422EC 7F00D7BC 8E620000 */ lw $v0, ($s3) -/* 0422F0 7F00D7C0 26100001 */ addiu $s0, $s0, 1 -/* 0422F4 7F00D7C4 26310040 */ addiu $s1, $s1, 0x40 -/* 0422F8 7F00D7C8 8C480008 */ lw $t0, 8($v0) -/* 0422FC 7F00D7CC 850A000E */ lh $t2, 0xe($t0) -/* 042300 7F00D7D0 020A082A */ slt $at, $s0, $t2 -/* 042304 7F00D7D4 5420FFF0 */ bnezl $at, .L7F00D798 -/* 042308 7F00D7D8 8C4D000C */ lw $t5, 0xc($v0) -/* 04230C 7F00D7DC 8FBF003C */ lw $ra, 0x3c($sp) -.L7F00D7E0: -/* 042310 7F00D7E0 8FA20158 */ lw $v0, 0x158($sp) -/* 042314 7F00D7E4 8FB0002C */ lw $s0, 0x2c($sp) -/* 042318 7F00D7E8 8FB10030 */ lw $s1, 0x30($sp) -/* 04231C 7F00D7EC 8FB20034 */ lw $s2, 0x34($sp) -/* 042320 7F00D7F0 8FB30038 */ lw $s3, 0x38($sp) -/* 042324 7F00D7F4 03E00008 */ jr $ra -/* 042328 7F00D7F8 27BD0158 */ addiu $sp, $sp, 0x158 -) -#endif - - - -#ifdef NONMATCHING -void set_menu_cursor_pos_to_setting(s32 arg0) { - // Node 0 - cursor_h_pos = 126.0f; - cursor_v_pos = (f32) ((arg0 << 5) + 0xe2); - return; - // (function likely void) -} -#else -GLOBAL_ASM( -.text -glabel set_menu_cursor_pos_to_setting -/* 04232C 7F00D7FC 00047140 */ sll $t6, $a0, 5 -/* 042330 7F00D800 25CF00E2 */ addiu $t7, $t6, 0xe2 -/* 042334 7F00D804 448F3000 */ mtc1 $t7, $f6 -/* 042338 7F00D808 3C0142FC */ li $at, 0x42FC0000 # 126.000000 -/* 04233C 7F00D80C 44812000 */ mtc1 $at, $f4 -/* 042340 7F00D810 46803220 */ cvt.s.w $f8, $f6 -/* 042344 7F00D814 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 042348 7F00D818 E424A908 */ swc1 $f4, %lo(cursor_h_pos)($at) -/* 04234C 7F00D81C 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 042350 7F00D820 03E00008 */ jr $ra -/* 042354 7F00D824 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void constructor_menu06_modesel(void) -{ - s32 sp5C; - ?32 sp58; - ?32 sp54; - s32 sp50; - ? sp4C; - ?32 sp48; - s16 sp44; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_s0; - s32 temp_s0_2; - s32 temp_s0_3; - s32 temp_s0_4; - s32 temp_s0_5; - ? phi_a0; - s32 phi_s0; - ? phi_a0_2; - s32 phi_s0_2; - s32 phi_s0_3; - s32 phi_s0_4; - - sp58 = 0x96; - sp54 = 0xdc; - sp44 = get_video2_settings_txtClipW(); - temp_s0 = write_text_at_abs_coord(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(0, 0, 0)))), &sp58, &sp54, &a1_, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - if (append_cheat_sp != 0) - { - phi_a0 = TEXT(LTITLE, 0x75); - } - else - { - phi_a0 = TEXT(LTITLE, 0x1d); - } - temp_ret = get_textptr_for_textID(phi_a0); - sp5C = temp_ret; - sub_GAME_7F0AE98C(&sp4C, &sp50, temp_ret, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0xaa; - sp54 = 0xdc; - phi_s0 = temp_s0; - if (mission_difficulty_highlighted == 0) - { - phi_s0 = microcode_constructor_related_to_menus(temp_s0, 0x94, 0xda, sp50 + 0xaf, 0xea, 0x32); - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_2 = write_text_at_abs_coord(phi_s0, &sp58, &sp54, sp5C, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - sp58 = 0x96; - sp54 = 0xfc; - if (get_attached_controller_count() >= 2) - { - sp48 = 0xff; - } - else - { - sp48 = 0x70; - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_3 = write_text_at_abs_coord(temp_s0_2, &sp58, &sp54, &a2_, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, sp48, sp44, get_video2_settings_txtClipH(), 0, 0); - phi_a0_2 = TEXT(LTITLE, 0x1e); - if (append_cheat_mp != 0) - { - phi_a0_2 = TEXT(LTITLE, 0x114); - } - temp_ret_2 = get_textptr_for_textID(phi_a0_2); - sp5C = temp_ret_2; - sub_GAME_7F0AE98C(&sp4C, &sp50, temp_ret_2, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0xaa; - sp54 = 0xfc; - phi_s0_2 = temp_s0_3; - if (mission_difficulty_highlighted == 1) - { - phi_s0_2 = microcode_constructor_related_to_menus(temp_s0_3, 0x94, 0xfa, sp50 + 0xaf, 0x10a, 0x32); - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_4 = write_text_at_abs_coord(phi_s0_2, &sp58, &sp54, sp5C, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, sp48, sp44, get_video2_settings_txtClipH(), 0, 0); - phi_s0_4 = temp_s0_4; - if (is_cheat_menu_available != 0) - { - sp58 = 0x96; - sp54 = 0x11c; - sp44 = get_video2_settings_txtClipW(); - temp_s0_5 = write_text_at_abs_coord(temp_s0_4, &sp58, &sp54, &a3_, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x1f)); - sp5C = temp_ret_3; - sub_GAME_7F0AE98C(&sp4C, &sp50, temp_ret_3, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0xaa; - sp54 = 0x11c; - phi_s0_3 = temp_s0_5; - if (mission_difficulty_highlighted == 2) - { - phi_s0_3 = microcode_constructor_related_to_menus(temp_s0_5, 0x94, 0x11a, sp50 + 0xaf, 0x12a, 0x32); - } - sp44 = get_video2_settings_txtClipW(); - phi_s0_4 = write_text_at_abs_coord(phi_s0_3, &sp58, &sp54, sp5C, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - } - load_draw_selected_icon_folder_select(add_tab3_previous(phi_s0_4)); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu06_modesel -/* 042358 7F00D828 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 04235C 7F00D82C AFBF003C */ sw $ra, 0x3c($sp) -/* 042360 7F00D830 AFB00038 */ sw $s0, 0x38($sp) -/* 042364 7F00D834 00002825 */ move $a1, $zero -/* 042368 7F00D838 00003025 */ move $a2, $zero -/* 04236C 7F00D83C 0C0011B4 */ jal set_setfillcolor -/* 042370 7F00D840 00003825 */ move $a3, $zero -/* 042374 7F00D844 0C000FBE */ jal insert_generic_fillrect -/* 042378 7F00D848 00402025 */ move $a0, $v0 -/* 04237C 7F00D84C 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 042380 7F00D850 00402025 */ move $a0, $v0 -/* 042384 7F00D854 0FC2B366 */ jal microcode_constructor -/* 042388 7F00D858 00402025 */ move $a0, $v0 -/* 04238C 7F00D85C 240E0096 */ li $t6, 150 -/* 042390 7F00D860 240F00DC */ li $t7, 220 -/* 042394 7F00D864 00408025 */ move $s0, $v0 -/* 042398 7F00D868 AFAE0058 */ sw $t6, 0x58($sp) -/* 04239C 7F00D86C 0C001107 */ jal get_video2_settings_txtClipW -/* 0423A0 7F00D870 AFAF0054 */ sw $t7, 0x54($sp) -/* 0423A4 7F00D874 0C00110B */ jal get_video2_settings_txtClipH -/* 0423A8 7F00D878 A7A20044 */ sh $v0, 0x44($sp) -/* 0423AC 7F00D87C 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 0423B0 7F00D880 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 0423B4 7F00D884 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 0423B8 7F00D888 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 0423BC 7F00D88C 87A90044 */ lh $t1, 0x44($sp) -/* 0423C0 7F00D890 3C078005 */ lui $a3, %hi(a1_) -/* 0423C4 7F00D894 240800FF */ li $t0, 255 -/* 0423C8 7F00D898 AFA80018 */ sw $t0, 0x18($sp) -/* 0423CC 7F00D89C 24E7F494 */ addiu $a3, %lo(a1_) # addiu $a3, $a3, -0xb6c -/* 0423D0 7F00D8A0 02002025 */ move $a0, $s0 -/* 0423D4 7F00D8A4 27A50058 */ addiu $a1, $sp, 0x58 -/* 0423D8 7F00D8A8 27A60054 */ addiu $a2, $sp, 0x54 -/* 0423DC 7F00D8AC AFA20020 */ sw $v0, 0x20($sp) -/* 0423E0 7F00D8B0 AFA00024 */ sw $zero, 0x24($sp) -/* 0423E4 7F00D8B4 AFA00028 */ sw $zero, 0x28($sp) -/* 0423E8 7F00D8B8 AFB90014 */ sw $t9, 0x14($sp) -/* 0423EC 7F00D8BC AFB80010 */ sw $t8, 0x10($sp) -/* 0423F0 7F00D8C0 0FC025D8 */ jal write_text_at_abs_coord -/* 0423F4 7F00D8C4 AFA9001C */ sw $t1, 0x1c($sp) -/* 0423F8 7F00D8C8 3C0A8003 */ lui $t2, %hi(append_cheat_sp) -/* 0423FC 7F00D8CC 8D4AA900 */ lw $t2, %lo(append_cheat_sp)($t2) -/* 042400 7F00D8D0 00408025 */ move $s0, $v0 -/* 042404 7F00D8D4 51400004 */ beql $t2, $zero, .L7F00D8E8 -/* 042408 7F00D8D8 34049C1D */ li $a0, 39965 -/* 04240C 7F00D8DC 10000002 */ b .L7F00D8E8 -/* 042410 7F00D8E0 34049C75 */ li $a0, 40053 -/* 042414 7F00D8E4 34049C1D */ li $a0, 39965 -.L7F00D8E8: -/* 042418 7F00D8E8 0FC30776 */ jal get_textptr_for_textID -/* 04241C 7F00D8EC 00000000 */ nop -/* 042420 7F00D8F0 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) -/* 042424 7F00D8F4 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3) -/* 042428 7F00D8F8 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 04242C 7F00D8FC AFA2005C */ sw $v0, 0x5c($sp) -/* 042430 7F00D900 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 042434 7F00D904 27A4004C */ addiu $a0, $sp, 0x4c -/* 042438 7F00D908 27A50050 */ addiu $a1, $sp, 0x50 -/* 04243C 7F00D90C 00403025 */ move $a2, $v0 -/* 042440 7F00D910 AFA00014 */ sw $zero, 0x14($sp) -/* 042444 7F00D914 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 042448 7F00D918 AFAB0010 */ sw $t3, 0x10($sp) -/* 04244C 7F00D91C 3C0E8007 */ lui $t6, %hi(mission_difficulty_highlighted) -/* 042450 7F00D920 8DCE9784 */ lw $t6, %lo(mission_difficulty_highlighted)($t6) -/* 042454 7F00D924 240C00AA */ li $t4, 170 -/* 042458 7F00D928 240D00DC */ li $t5, 220 -/* 04245C 7F00D92C AFAC0058 */ sw $t4, 0x58($sp) -/* 042460 7F00D930 15C0000C */ bnez $t6, .L7F00D964 -/* 042464 7F00D934 AFAD0054 */ sw $t5, 0x54($sp) -/* 042468 7F00D938 8FA70050 */ lw $a3, 0x50($sp) -/* 04246C 7F00D93C 240F00EA */ li $t7, 234 -/* 042470 7F00D940 24180032 */ li $t8, 50 -/* 042474 7F00D944 AFB80014 */ sw $t8, 0x14($sp) -/* 042478 7F00D948 AFAF0010 */ sw $t7, 0x10($sp) -/* 04247C 7F00D94C 02002025 */ move $a0, $s0 -/* 042480 7F00D950 24050094 */ li $a1, 148 -/* 042484 7F00D954 240600DA */ li $a2, 218 -/* 042488 7F00D958 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04248C 7F00D95C 24E700AF */ addiu $a3, $a3, 0xaf -/* 042490 7F00D960 00408025 */ move $s0, $v0 -.L7F00D964: -/* 042494 7F00D964 0C001107 */ jal get_video2_settings_txtClipW -/* 042498 7F00D968 00000000 */ nop -/* 04249C 7F00D96C 0C00110B */ jal get_video2_settings_txtClipH -/* 0424A0 7F00D970 A7A20044 */ sh $v0, 0x44($sp) -/* 0424A4 7F00D974 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 0424A8 7F00D978 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 0424AC 7F00D97C 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 0424B0 7F00D980 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 0424B4 7F00D984 87AA0044 */ lh $t2, 0x44($sp) -/* 0424B8 7F00D988 240900FF */ li $t1, 255 -/* 0424BC 7F00D98C AFA90018 */ sw $t1, 0x18($sp) -/* 0424C0 7F00D990 02002025 */ move $a0, $s0 -/* 0424C4 7F00D994 27A50058 */ addiu $a1, $sp, 0x58 -/* 0424C8 7F00D998 27A60054 */ addiu $a2, $sp, 0x54 -/* 0424CC 7F00D99C 8FA7005C */ lw $a3, 0x5c($sp) -/* 0424D0 7F00D9A0 AFA20020 */ sw $v0, 0x20($sp) -/* 0424D4 7F00D9A4 AFA00024 */ sw $zero, 0x24($sp) -/* 0424D8 7F00D9A8 AFA00028 */ sw $zero, 0x28($sp) -/* 0424DC 7F00D9AC AFA80014 */ sw $t0, 0x14($sp) -/* 0424E0 7F00D9B0 AFB90010 */ sw $t9, 0x10($sp) -/* 0424E4 7F00D9B4 0FC025D8 */ jal write_text_at_abs_coord -/* 0424E8 7F00D9B8 AFAA001C */ sw $t2, 0x1c($sp) -/* 0424EC 7F00D9BC 240B0096 */ li $t3, 150 -/* 0424F0 7F00D9C0 240C00FC */ li $t4, 252 -/* 0424F4 7F00D9C4 00408025 */ move $s0, $v0 -/* 0424F8 7F00D9C8 AFAB0058 */ sw $t3, 0x58($sp) -/* 0424FC 7F00D9CC 0C002E7E */ jal get_attached_controller_count -/* 042500 7F00D9D0 AFAC0054 */ sw $t4, 0x54($sp) -/* 042504 7F00D9D4 28410002 */ slti $at, $v0, 2 -/* 042508 7F00D9D8 14200003 */ bnez $at, .L7F00D9E8 -/* 04250C 7F00D9DC 240D00FF */ li $t5, 255 -/* 042510 7F00D9E0 10000003 */ b .L7F00D9F0 -/* 042514 7F00D9E4 AFAD0048 */ sw $t5, 0x48($sp) -.L7F00D9E8: -/* 042518 7F00D9E8 240E0070 */ li $t6, 112 -/* 04251C 7F00D9EC AFAE0048 */ sw $t6, 0x48($sp) -.L7F00D9F0: -/* 042520 7F00D9F0 0C001107 */ jal get_video2_settings_txtClipW -/* 042524 7F00D9F4 00000000 */ nop -/* 042528 7F00D9F8 0C00110B */ jal get_video2_settings_txtClipH -/* 04252C 7F00D9FC A7A20044 */ sh $v0, 0x44($sp) -/* 042530 7F00DA00 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge) -/* 042534 7F00DA04 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge) -/* 042538 7F00DA08 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8) -/* 04253C 7F00DA0C 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7) -/* 042540 7F00DA10 8FB90048 */ lw $t9, 0x48($sp) -/* 042544 7F00DA14 87A80044 */ lh $t0, 0x44($sp) -/* 042548 7F00DA18 3C078005 */ lui $a3, %hi(a2_) -/* 04254C 7F00DA1C 24E7F498 */ addiu $a3, %lo(a2_) # addiu $a3, $a3, -0xb68 -/* 042550 7F00DA20 02002025 */ move $a0, $s0 -/* 042554 7F00DA24 27A50058 */ addiu $a1, $sp, 0x58 -/* 042558 7F00DA28 27A60054 */ addiu $a2, $sp, 0x54 -/* 04255C 7F00DA2C AFA20020 */ sw $v0, 0x20($sp) -/* 042560 7F00DA30 AFA00024 */ sw $zero, 0x24($sp) -/* 042564 7F00DA34 AFA00028 */ sw $zero, 0x28($sp) -/* 042568 7F00DA38 AFB80014 */ sw $t8, 0x14($sp) -/* 04256C 7F00DA3C AFAF0010 */ sw $t7, 0x10($sp) -/* 042570 7F00DA40 AFB90018 */ sw $t9, 0x18($sp) -/* 042574 7F00DA44 0FC025D8 */ jal write_text_at_abs_coord -/* 042578 7F00DA48 AFA8001C */ sw $t0, 0x1c($sp) -/* 04257C 7F00DA4C 3C098003 */ lui $t1, %hi(append_cheat_mp) -/* 042580 7F00DA50 8D29A904 */ lw $t1, %lo(append_cheat_mp)($t1) -/* 042584 7F00DA54 00408025 */ move $s0, $v0 -/* 042588 7F00DA58 34049C1E */ li $a0, 39966 -/* 04258C 7F00DA5C 11200003 */ beqz $t1, .L7F00DA6C -/* 042590 7F00DA60 00000000 */ nop -/* 042594 7F00DA64 10000001 */ b .L7F00DA6C -/* 042598 7F00DA68 34049D14 */ li $a0, 40212 -.L7F00DA6C: -/* 04259C 7F00DA6C 0FC30776 */ jal get_textptr_for_textID -/* 0425A0 7F00DA70 00000000 */ nop -/* 0425A4 7F00DA74 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 0425A8 7F00DA78 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 0425AC 7F00DA7C 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 0425B0 7F00DA80 AFA2005C */ sw $v0, 0x5c($sp) -/* 0425B4 7F00DA84 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 0425B8 7F00DA88 27A4004C */ addiu $a0, $sp, 0x4c -/* 0425BC 7F00DA8C 27A50050 */ addiu $a1, $sp, 0x50 -/* 0425C0 7F00DA90 00403025 */ move $a2, $v0 -/* 0425C4 7F00DA94 AFA00014 */ sw $zero, 0x14($sp) -/* 0425C8 7F00DA98 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0425CC 7F00DA9C AFAA0010 */ sw $t2, 0x10($sp) -/* 0425D0 7F00DAA0 3C0D8007 */ lui $t5, %hi(mission_difficulty_highlighted) -/* 0425D4 7F00DAA4 8DAD9784 */ lw $t5, %lo(mission_difficulty_highlighted)($t5) -/* 0425D8 7F00DAA8 240B00AA */ li $t3, 170 -/* 0425DC 7F00DAAC 240C00FC */ li $t4, 252 -/* 0425E0 7F00DAB0 24010001 */ li $at, 1 -/* 0425E4 7F00DAB4 AFAB0058 */ sw $t3, 0x58($sp) -/* 0425E8 7F00DAB8 15A1000C */ bne $t5, $at, .L7F00DAEC -/* 0425EC 7F00DABC AFAC0054 */ sw $t4, 0x54($sp) -/* 0425F0 7F00DAC0 8FA70050 */ lw $a3, 0x50($sp) -/* 0425F4 7F00DAC4 240E010A */ li $t6, 266 -/* 0425F8 7F00DAC8 240F0032 */ li $t7, 50 -/* 0425FC 7F00DACC AFAF0014 */ sw $t7, 0x14($sp) -/* 042600 7F00DAD0 AFAE0010 */ sw $t6, 0x10($sp) -/* 042604 7F00DAD4 02002025 */ move $a0, $s0 -/* 042608 7F00DAD8 24050094 */ li $a1, 148 -/* 04260C 7F00DADC 240600FA */ li $a2, 250 -/* 042610 7F00DAE0 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 042614 7F00DAE4 24E700AF */ addiu $a3, $a3, 0xaf -/* 042618 7F00DAE8 00408025 */ move $s0, $v0 -.L7F00DAEC: -/* 04261C 7F00DAEC 0C001107 */ jal get_video2_settings_txtClipW -/* 042620 7F00DAF0 00000000 */ nop -/* 042624 7F00DAF4 0C00110B */ jal get_video2_settings_txtClipH -/* 042628 7F00DAF8 A7A20044 */ sh $v0, 0x44($sp) -/* 04262C 7F00DAFC 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 042630 7F00DB00 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 042634 7F00DB04 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 042638 7F00DB08 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 04263C 7F00DB0C 8FA80048 */ lw $t0, 0x48($sp) -/* 042640 7F00DB10 87A90044 */ lh $t1, 0x44($sp) -/* 042644 7F00DB14 02002025 */ move $a0, $s0 -/* 042648 7F00DB18 27A50058 */ addiu $a1, $sp, 0x58 -/* 04264C 7F00DB1C 27A60054 */ addiu $a2, $sp, 0x54 -/* 042650 7F00DB20 8FA7005C */ lw $a3, 0x5c($sp) -/* 042654 7F00DB24 AFA20020 */ sw $v0, 0x20($sp) -/* 042658 7F00DB28 AFA00024 */ sw $zero, 0x24($sp) -/* 04265C 7F00DB2C AFA00028 */ sw $zero, 0x28($sp) -/* 042660 7F00DB30 AFB90014 */ sw $t9, 0x14($sp) -/* 042664 7F00DB34 AFB80010 */ sw $t8, 0x10($sp) -/* 042668 7F00DB38 AFA80018 */ sw $t0, 0x18($sp) -/* 04266C 7F00DB3C 0FC025D8 */ jal write_text_at_abs_coord -/* 042670 7F00DB40 AFA9001C */ sw $t1, 0x1c($sp) -/* 042674 7F00DB44 3C0A8003 */ lui $t2, %hi(is_cheat_menu_available) -/* 042678 7F00DB48 8D4AA94C */ lw $t2, %lo(is_cheat_menu_available)($t2) -/* 04267C 7F00DB4C 00408025 */ move $s0, $v0 -/* 042680 7F00DB50 240B0096 */ li $t3, 150 -/* 042684 7F00DB54 11400051 */ beqz $t2, .L7F00DC9C -/* 042688 7F00DB58 240C011C */ li $t4, 284 -/* 04268C 7F00DB5C AFAB0058 */ sw $t3, 0x58($sp) -/* 042690 7F00DB60 0C001107 */ jal get_video2_settings_txtClipW -/* 042694 7F00DB64 AFAC0054 */ sw $t4, 0x54($sp) -/* 042698 7F00DB68 0C00110B */ jal get_video2_settings_txtClipH -/* 04269C 7F00DB6C A7A20044 */ sh $v0, 0x44($sp) -/* 0426A0 7F00DB70 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 0426A4 7F00DB74 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 0426A8 7F00DB78 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 0426AC 7F00DB7C 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 0426B0 7F00DB80 87B80044 */ lh $t8, 0x44($sp) -/* 0426B4 7F00DB84 3C078005 */ lui $a3, %hi(a3_) -/* 0426B8 7F00DB88 240F00FF */ li $t7, 255 -/* 0426BC 7F00DB8C AFAF0018 */ sw $t7, 0x18($sp) -/* 0426C0 7F00DB90 24E7F49C */ addiu $a3, %lo(a3_) # addiu $a3, $a3, -0xb64 -/* 0426C4 7F00DB94 02002025 */ move $a0, $s0 -/* 0426C8 7F00DB98 27A50058 */ addiu $a1, $sp, 0x58 -/* 0426CC 7F00DB9C 27A60054 */ addiu $a2, $sp, 0x54 -/* 0426D0 7F00DBA0 AFA20020 */ sw $v0, 0x20($sp) -/* 0426D4 7F00DBA4 AFA00024 */ sw $zero, 0x24($sp) -/* 0426D8 7F00DBA8 AFA00028 */ sw $zero, 0x28($sp) -/* 0426DC 7F00DBAC AFAE0014 */ sw $t6, 0x14($sp) -/* 0426E0 7F00DBB0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0426E4 7F00DBB4 0FC025D8 */ jal write_text_at_abs_coord -/* 0426E8 7F00DBB8 AFB8001C */ sw $t8, 0x1c($sp) -/* 0426EC 7F00DBBC 00408025 */ move $s0, $v0 -/* 0426F0 7F00DBC0 0FC30776 */ jal get_textptr_for_textID -/* 0426F4 7F00DBC4 34049C1F */ li $a0, 39967 -/* 0426F8 7F00DBC8 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 0426FC 7F00DBCC 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 042700 7F00DBD0 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 042704 7F00DBD4 AFA2005C */ sw $v0, 0x5c($sp) -/* 042708 7F00DBD8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04270C 7F00DBDC 27A4004C */ addiu $a0, $sp, 0x4c -/* 042710 7F00DBE0 27A50050 */ addiu $a1, $sp, 0x50 -/* 042714 7F00DBE4 00403025 */ move $a2, $v0 -/* 042718 7F00DBE8 AFA00014 */ sw $zero, 0x14($sp) -/* 04271C 7F00DBEC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 042720 7F00DBF0 AFB90010 */ sw $t9, 0x10($sp) -/* 042724 7F00DBF4 3C0A8007 */ lui $t2, %hi(mission_difficulty_highlighted) -/* 042728 7F00DBF8 8D4A9784 */ lw $t2, %lo(mission_difficulty_highlighted)($t2) -/* 04272C 7F00DBFC 240800AA */ li $t0, 170 -/* 042730 7F00DC00 2409011C */ li $t1, 284 -/* 042734 7F00DC04 24010002 */ li $at, 2 -/* 042738 7F00DC08 AFA80058 */ sw $t0, 0x58($sp) -/* 04273C 7F00DC0C 1541000C */ bne $t2, $at, .L7F00DC40 -/* 042740 7F00DC10 AFA90054 */ sw $t1, 0x54($sp) -/* 042744 7F00DC14 8FA70050 */ lw $a3, 0x50($sp) -/* 042748 7F00DC18 240B012A */ li $t3, 298 -/* 04274C 7F00DC1C 240C0032 */ li $t4, 50 -/* 042750 7F00DC20 AFAC0014 */ sw $t4, 0x14($sp) -/* 042754 7F00DC24 AFAB0010 */ sw $t3, 0x10($sp) -/* 042758 7F00DC28 02002025 */ move $a0, $s0 -/* 04275C 7F00DC2C 24050094 */ li $a1, 148 -/* 042760 7F00DC30 2406011A */ li $a2, 282 -/* 042764 7F00DC34 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 042768 7F00DC38 24E700AF */ addiu $a3, $a3, 0xaf -/* 04276C 7F00DC3C 00408025 */ move $s0, $v0 -.L7F00DC40: -/* 042770 7F00DC40 0C001107 */ jal get_video2_settings_txtClipW -/* 042774 7F00DC44 00000000 */ nop -/* 042778 7F00DC48 0C00110B */ jal get_video2_settings_txtClipH -/* 04277C 7F00DC4C A7A20044 */ sh $v0, 0x44($sp) -/* 042780 7F00DC50 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 042784 7F00DC54 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 042788 7F00DC58 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 04278C 7F00DC5C 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 042790 7F00DC60 87B80044 */ lh $t8, 0x44($sp) -/* 042794 7F00DC64 240F00FF */ li $t7, 255 -/* 042798 7F00DC68 AFAF0018 */ sw $t7, 0x18($sp) -/* 04279C 7F00DC6C 02002025 */ move $a0, $s0 -/* 0427A0 7F00DC70 27A50058 */ addiu $a1, $sp, 0x58 -/* 0427A4 7F00DC74 27A60054 */ addiu $a2, $sp, 0x54 -/* 0427A8 7F00DC78 8FA7005C */ lw $a3, 0x5c($sp) -/* 0427AC 7F00DC7C AFA20020 */ sw $v0, 0x20($sp) -/* 0427B0 7F00DC80 AFA00024 */ sw $zero, 0x24($sp) -/* 0427B4 7F00DC84 AFA00028 */ sw $zero, 0x28($sp) -/* 0427B8 7F00DC88 AFAE0014 */ sw $t6, 0x14($sp) -/* 0427BC 7F00DC8C AFAD0010 */ sw $t5, 0x10($sp) -/* 0427C0 7F00DC90 0FC025D8 */ jal write_text_at_abs_coord -/* 0427C4 7F00DC94 AFB8001C */ sw $t8, 0x1c($sp) -/* 0427C8 7F00DC98 00408025 */ move $s0, $v0 -.L7F00DC9C: -/* 0427CC 7F00DC9C 0FC0288E */ jal add_tab3_previous -/* 0427D0 7F00DCA0 02002025 */ move $a0, $s0 -/* 0427D4 7F00DCA4 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 0427D8 7F00DCA8 00402025 */ move $a0, $v0 -/* 0427DC 7F00DCAC 8FBF003C */ lw $ra, 0x3c($sp) -/* 0427E0 7F00DCB0 8FB00038 */ lw $s0, 0x38($sp) -/* 0427E4 7F00DCB4 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0427E8 7F00DCB8 03E00008 */ jr $ra -/* 0427EC 7F00DCBC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 pull_and_display_text_for_folder_a0(s32 arg0) -{ - void *phi_v0; - s32 phi_v1; - - phi_v0 = &mission_folder_setup_entries; - phi_v1 = 0; - if (D_8002ABE8 != 0) - { -loop_1: - if (arg0 == phi_v0->unk14) - { - return phi_v1; - } - phi_v0 = phi_v0 + 0x1c; - phi_v1 = phi_v1 + 1; - if (phi_v0->unk20 != 0) - { - goto loop_1; - } - } - return -1; -} -#else -GLOBAL_ASM( -.text -glabel pull_and_display_text_for_folder_a0 -/* 0427F0 7F00DCC0 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries+4) -/* 0427F4 7F00DCC4 95CEABE8 */ lhu $t6, %lo(mission_folder_setup_entries+4)($t6) -/* 0427F8 7F00DCC8 3C028003 */ lui $v0, %hi(mission_folder_setup_entries) -/* 0427FC 7F00DCCC 2442ABE4 */ addiu $v0, %lo(mission_folder_setup_entries) # addiu $v0, $v0, -0x541c -/* 042800 7F00DCD0 11C0000B */ beqz $t6, .L7F00DD00 -/* 042804 7F00DCD4 00001825 */ move $v1, $zero -/* 042808 7F00DCD8 8C4F0014 */ lw $t7, 0x14($v0) -.L7F00DCDC: -/* 04280C 7F00DCDC 548F0004 */ bnel $a0, $t7, .L7F00DCF0 -/* 042810 7F00DCE0 94580020 */ lhu $t8, 0x20($v0) -/* 042814 7F00DCE4 03E00008 */ jr $ra -/* 042818 7F00DCE8 00601025 */ move $v0, $v1 -/* 04281C 7F00DCEC 94580020 */ lhu $t8, 0x20($v0) -.L7F00DCF0: -/* 042820 7F00DCF0 24630001 */ addiu $v1, $v1, 1 -/* 042824 7F00DCF4 2442001C */ addiu $v0, $v0, 0x1c -/* 042828 7F00DCF8 5700FFF8 */ bnezl $t8, .L7F00DCDC -/* 04282C 7F00DCFC 8C4F0014 */ lw $t7, 0x14($v0) -.L7F00DD00: -/* 042830 7F00DD00 2402FFFF */ li $v0, -1 -/* 042834 7F00DD04 03E00008 */ jr $ra -/* 042838 7F00DD08 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -u32 check_if_stage_completed_on_difficulty(int stage, DIFFICULTY difficulty) { - u32 completed; - - if (mission_folder_setup_entries[stage].mission_num < 0) { - completed = FALSE; - } - else { - completed = isStageUnlockedAtDifficulty(selected_folder_num,mission_folder_setup_entries[stage].mission_num,difficulty); - } - return completed; -} -#else -GLOBAL_ASM( -.text -glabel check_if_stage_completed_on_difficulty -/* 04283C 7F00DD0C 000470C0 */ sll $t6, $a0, 3 -/* 042840 7F00DD10 01C47023 */ subu $t6, $t6, $a0 -/* 042844 7F00DD14 000E7080 */ sll $t6, $t6, 2 -/* 042848 7F00DD18 3C078003 */ lui $a3, %hi(mission_folder_setup_entries+0x14) -/* 04284C 7F00DD1C 00EE3821 */ addu $a3, $a3, $t6 -/* 042850 7F00DD20 8CE7ABF8 */ lw $a3, %lo(mission_folder_setup_entries+0x14)($a3) -/* 042854 7F00DD24 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 042858 7F00DD28 AFBF0014 */ sw $ra, 0x14($sp) -/* 04285C 7F00DD2C 04E00007 */ bltz $a3, .L7F00DD4C -/* 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 isStageUnlockedAtDifficulty -/* 042870 7F00DD40 00E02825 */ move $a1, $a3 -/* 042874 7F00DD44 10000003 */ b .L7F00DD54 -/* 042878 7F00DD48 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00DD4C: -/* 04287C 7F00DD4C 00001025 */ move $v0, $zero -/* 042880 7F00DD50 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00DD54: -/* 042884 7F00DD54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 042888 7F00DD58 03E00008 */ jr $ra -/* 04288C 7F00DD5C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 get_highest_unlocked_difficulty_for_level(s32 arg0) -{ - s32 temp_ret; - s32 temp_ret_2; - s32 temp_s0; - s32 phi_s1; - s32 phi_s0; - - temp_ret = pull_and_display_text_for_folder_a0(); - if ((0x80030000 + (((temp_ret * 8) - temp_ret) * 4))->unk-5414 >= 0) - { - if ((check_for_007_mode_unlocked(selected_folder_num) != 0) || (get_debug_007_unlock_flag() != 0)) - { - phi_s1 = 3; - } - else - { - - } - if (phi_s1 >= 0) - { - phi_s0 = phi_s1; -loop_6: - temp_ret_2 = isStageUnlockedAtDifficulty(selected_folder_num, arg0, phi_s0); - if (append_cheat_sp == 0) - { - if (temp_ret_2 != 0) - { - return phi_s0; - } - } - else - { - if (temp_ret_2 == 3) - { - return phi_s0; - } - } - temp_s0 = phi_s0 + -1; - phi_s0 = temp_s0; - if (temp_s0 >= 0) - { - goto loop_6; - } - } - } - return -1; -} -#else -GLOBAL_ASM( -.text -glabel get_highest_unlocked_difficulty_for_level -/* 042890 7F00DD60 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 042894 7F00DD64 AFBF002C */ sw $ra, 0x2c($sp) -/* 042898 7F00DD68 AFB30024 */ sw $s3, 0x24($sp) -/* 04289C 7F00DD6C 00809825 */ move $s3, $a0 -/* 0428A0 7F00DD70 AFB40028 */ sw $s4, 0x28($sp) -/* 0428A4 7F00DD74 AFB20020 */ sw $s2, 0x20($sp) -/* 0428A8 7F00DD78 AFB1001C */ sw $s1, 0x1c($sp) -/* 0428AC 7F00DD7C 0FC03730 */ jal pull_and_display_text_for_folder_a0 -/* 0428B0 7F00DD80 AFB00018 */ sw $s0, 0x18($sp) -/* 0428B4 7F00DD84 000270C0 */ sll $t6, $v0, 3 -/* 0428B8 7F00DD88 01C27023 */ subu $t6, $t6, $v0 -/* 0428BC 7F00DD8C 000E7080 */ sll $t6, $t6, 2 -/* 0428C0 7F00DD90 3C0F8003 */ lui $t7, %hi(mission_folder_setup_entries+8) -/* 0428C4 7F00DD94 01EE7821 */ addu $t7, $t7, $t6 -/* 0428C8 7F00DD98 8DEFABEC */ lw $t7, %lo(mission_folder_setup_entries+8)($t7) -/* 0428CC 7F00DD9C 3C148003 */ lui $s4, %hi(selected_folder_num) -/* 0428D0 7F00DDA0 2694A8E8 */ addiu $s4, %lo(selected_folder_num) # addiu $s4, $s4, -0x5718 -/* 0428D4 7F00DDA4 05E00021 */ bltz $t7, .L7F00DE2C -/* 0428D8 7F00DDA8 24110002 */ li $s1, 2 -/* 0428DC 7F00DDAC 0FC07D28 */ jal check_for_007_mode_unlocked -/* 0428E0 7F00DDB0 8E840000 */ lw $a0, ($s4) -/* 0428E4 7F00DDB4 54400006 */ bnezl $v0, .L7F00DDD0 -/* 0428E8 7F00DDB8 24110003 */ li $s1, 3 -/* 0428EC 7F00DDBC 0FC243FD */ jal get_debug_007_unlock_flag -/* 0428F0 7F00DDC0 00000000 */ nop -/* 0428F4 7F00DDC4 10400002 */ beqz $v0, .L7F00DDD0 -/* 0428F8 7F00DDC8 00000000 */ nop -/* 0428FC 7F00DDCC 24110003 */ li $s1, 3 -.L7F00DDD0: -/* 042900 7F00DDD0 06200016 */ bltz $s1, .L7F00DE2C -/* 042904 7F00DDD4 02208025 */ move $s0, $s1 -/* 042908 7F00DDD8 3C118003 */ lui $s1, %hi(append_cheat_sp) -/* 04290C 7F00DDDC 2631A900 */ addiu $s1, %lo(append_cheat_sp) # addiu $s1, $s1, -0x5700 -/* 042910 7F00DDE0 24120003 */ li $s2, 3 -/* 042914 7F00DDE4 8E840000 */ lw $a0, ($s4) -.L7F00DDE8: -/* 042918 7F00DDE8 02602825 */ move $a1, $s3 -/* 04291C 7F00DDEC 0FC078B0 */ jal isStageUnlockedAtDifficulty -/* 042920 7F00DDF0 02003025 */ move $a2, $s0 -/* 042924 7F00DDF4 8E380000 */ lw $t8, ($s1) -/* 042928 7F00DDF8 17000005 */ bnez $t8, .L7F00DE10 -/* 04292C 7F00DDFC 00000000 */ nop -/* 042930 7F00DE00 50400008 */ beql $v0, $zero, .L7F00DE24 -/* 042934 7F00DE04 2610FFFF */ addiu $s0, $s0, -1 -/* 042938 7F00DE08 10000009 */ b .L7F00DE30 -/* 04293C 7F00DE0C 02001025 */ move $v0, $s0 -.L7F00DE10: -/* 042940 7F00DE10 54520004 */ bnel $v0, $s2, .L7F00DE24 -/* 042944 7F00DE14 2610FFFF */ addiu $s0, $s0, -1 -/* 042948 7F00DE18 10000005 */ b .L7F00DE30 -/* 04294C 7F00DE1C 02001025 */ move $v0, $s0 -/* 042950 7F00DE20 2610FFFF */ addiu $s0, $s0, -1 -.L7F00DE24: -/* 042954 7F00DE24 0603FFF0 */ bgezl $s0, .L7F00DDE8 -/* 042958 7F00DE28 8E840000 */ lw $a0, ($s4) -.L7F00DE2C: -/* 04295C 7F00DE2C 2402FFFF */ li $v0, -1 -.L7F00DE30: -/* 042960 7F00DE30 8FBF002C */ lw $ra, 0x2c($sp) -/* 042964 7F00DE34 8FB00018 */ lw $s0, 0x18($sp) -/* 042968 7F00DE38 8FB1001C */ lw $s1, 0x1c($sp) -/* 04296C 7F00DE3C 8FB20020 */ lw $s2, 0x20($sp) -/* 042970 7F00DE40 8FB30024 */ lw $s3, 0x24($sp) -/* 042974 7F00DE44 8FB40028 */ lw $s4, 0x28($sp) -/* 042978 7F00DE48 03E00008 */ jr $ra -/* 04297C 7F00DE4C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -void init_menu07_missionselect(void) -{ - selected_stage = -1; - briefingpage = -1; - tab_2_selected = 0; - tab_3_selected = 0; - if (maybe_is_in_menu != 0) - { - musicTrack1Play(0x17); - maybe_is_in_menu = 0; - } - load_walletbond(); -} - -void update_menu07_missionsel(void) { - return; -} - - - - - - -#ifdef NONMATCHING -void interface_menu07_missionsel(void) -{ - s32 temp_s1; - s32 temp_s1_2; - s32 temp_s2; - s32 temp_s2_2; - s32 temp_s2_3; - s32 temp_s4; - s32 temp_s4_2; - s32 temp_s4_3; - s32 temp_s5; - void *temp_t1; - void *temp_t3; - void *temp_v0; - void *temp_v0_2; - s32 phi_s4; - s32 phi_s2; - s32 phi_s2_2; - s32 phi_s0; - s32 phi_s1; - s32 phi_s1_2; - s32 phi_s2_3; - s32 phi_s4_2; - s32 phi_s0_2; - s32 phi_s4_3; - s32 phi_s4_4; - s32 phi_s0_3; - s32 phi_s4_5; - s32 phi_s2_4; - s32 phi_s4_6; - s32 phi_s0_4; - s32 phi_s2_5; - s32 phi_a0; - s32 phi_s5; - - setvideo_far(0x42700000); - video_related_21(D_80051A44); - set_page_height(0x42c80000, D_80051A48); - set_video2_settings_offset_24(0); - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x13, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x14, 1); - tab_3_highlight = 0; - mission_difficulty_highlighted = -1; - if (isontab3() != 0) - { - tab_3_highlight = 1; - } - else - { - phi_s4 = 0; -loop_3: - phi_s4_2 = phi_s4; - if (phi_s4 < 4) - { - temp_v0 = &cursor_xpos_table_mission_select + (phi_s4 * 4); - phi_s4_2 = phi_s4; - if (!(cursor_h_pos < ((f32) (temp_v0->unk4 + temp_v0->unk0) * 0.5f))) - { - temp_s4 = phi_s4 + 1; - phi_s4 = temp_s4; - phi_s4_2 = temp_s4; - if (temp_s4 != 5) - { - goto loop_3; - } - } - } - phi_s2 = 0; -loop_7: - phi_s2_2 = phi_s2; - if (phi_s2 < 3) - { - temp_v0_2 = &cursor_ypos_table_mission_select + (phi_s2 * 4); - phi_s2_2 = phi_s2; - if (!(cursor_v_pos < ((f32) (temp_v0_2->unk4 + temp_v0_2->unk0) * 0.5f))) - { - temp_s2 = phi_s2 + 1; - phi_s2 = temp_s2; - phi_s2_2 = temp_s2; - if (temp_s2 != 4) - { - goto loop_7; - } - } - } - phi_s2_4 = phi_s2_2; - if (phi_s2_2 > 0) - { - phi_s2_3 = phi_s2_2; - phi_s5 = (phi_s2_2 * 4) + phi_s2_2; -loop_12: - phi_s0 = phi_s5; - phi_s1 = 0; -loop_13: - phi_s1_2 = phi_s1; - if (get_highest_unlocked_difficulty_for_level(phi_s0) < 0) - { - temp_s1 = phi_s1 + 1; - phi_s0 = phi_s0 + 1; - phi_s1 = temp_s1; - phi_s1_2 = temp_s1; - if (temp_s1 != 5) - { - goto loop_13; - } - } - phi_s2_4 = phi_s2_3; - if (phi_s1_2 >= 5) - { - temp_s2_2 = phi_s2_3 + -1; - phi_s2_3 = temp_s2_2; - phi_s2_4 = temp_s2_2; - phi_s5 = phi_s5 + -5; - if (temp_s2_2 > 0) - { - goto loop_12; - } - } - } - temp_s5 = (phi_s2_4 * 4) + phi_s2_4; - phi_s4_4 = phi_s4_2; - if (phi_s4_2 >= 0) - { - phi_s0_2 = temp_s5 + phi_s4_2; - phi_s4_3 = phi_s4_2; -loop_19: - phi_s4_4 = phi_s4_3; - if (get_highest_unlocked_difficulty_for_level(phi_s0_2) < 0) - { - temp_s4_2 = phi_s4_3 + -1; - phi_s0_2 = phi_s0_2 + -1; - phi_s4_3 = temp_s4_2; - phi_s4_4 = temp_s4_2; - if (temp_s4_2 >= 0) - { - goto loop_19; - } - } - } - phi_s4_6 = phi_s4_4; - if (phi_s4_4 < 0) - { - phi_s0_3 = temp_s5; - phi_s4_5 = 0; -loop_23: - phi_s4_6 = phi_s4_5; - if (get_highest_unlocked_difficulty_for_level(phi_s0_3) < 0) - { - temp_s4_3 = phi_s4_5 + 1; - phi_s0_3 = phi_s0_3 + 1; - phi_s4_5 = temp_s4_3; - phi_s4_6 = temp_s4_3; - if (temp_s4_3 != 5) - { - goto loop_23; - } - } - } - mission_difficulty_highlighted = (s32) (temp_s5 + phi_s4_6); - } - if (ptr_folder_object_instance->unk8->unk8->unk54 != 0) - { - temp_s1_2 = extract_id_from_object_structure_microcode(ptr_folder_object_instance, ptr_folder_object_instance->unk8->unk8->unk54); - *temp_s1_2 = sub_GAME_7F0BD6C4(ptr_folder_object_instance->unk8->unk8->unk54->unk4->unkC); - if (ptr_folder_object_instance->unk8->unk8->unk54->unk4->unkC > 0) - { - phi_s0_4 = 0; - phi_s2_5 = 0; -loop_29: - temp_t3 = ptr_folder_object_instance->unk8->unk8->unk54->unk4->unk8 + phi_s0_4; - temp_t1 = *temp_s1_2 + phi_s0_4; - temp_t1->unk0 = (?32) temp_t3->unk0; - temp_t1->unk4 = (?32) temp_t3->unk4; - temp_t1->unk8 = (?32) temp_t3->unk8; - temp_t1->unkC = (?32) temp_t3->unkC; - phi_a0 = (s32) phi_s2_5 >> 2; - if (phi_s2_5 < 0) - { - phi_a0 = (s32) (phi_s2_5 + 3) >> 2; - } - if (get_highest_unlocked_difficulty_for_level(phi_a0) >= 0) - { - if (sp30 == mission_difficulty_highlighted) - { - (*temp_s1_2 + phi_s0_4)->unkC = (u8)0xff; - (*temp_s1_2 + phi_s0_4)->unkD = (u8)0xff; - (*temp_s1_2 + phi_s0_4)->unkE = (u8)0xff; - (*temp_s1_2 + phi_s0_4)->unkF = (u8)0xf5; - } - else - { - (*temp_s1_2 + phi_s0_4)->unkC = (u8)0x6e; - (*temp_s1_2 + phi_s0_4)->unkD = (u8)0x6e; - (*temp_s1_2 + phi_s0_4)->unkE = (u8)0x6e; - (*temp_s1_2 + phi_s0_4)->unkF = (u8)0xff; - } - } - else - { - (*temp_s1_2 + phi_s0_4)->unkC = (u8)0xf; - (*temp_s1_2 + phi_s0_4)->unkD = (u8)0xf; - (*temp_s1_2 + phi_s0_4)->unkE = (u8)0xf; - (*temp_s1_2 + phi_s0_4)->unkF = (u8)0xff; - } - temp_s2_3 = phi_s2_5 + 1; - phi_s0_4 = phi_s0_4 + 0x10; - phi_s2_5 = temp_s2_3; - if (temp_s2_3 < ptr_folder_object_instance->unk8->unk8->unk54->unk4->unkC) - { - goto loop_29; - } - } - } - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - if (tab_3_highlight != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { - if ((void *)0x80070000->unk-687C >= 0) - { - briefingpage = pull_and_display_text_for_folder_a0((void *)0x80070000->unk-687C); - selected_stage = (?32) (0x80030000 + (briefingpage * 0x1c))->unk-5414; - tab_2_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - else - { - if (get_controller_buttons_pressed(0, 0x4000) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - menu_control_stick_tracking(); - if (tab_2_selected != 0) - { - set_menu_to_mode(8, 0); - set_cursor_pos_difficulty(get_highest_unlocked_difficulty_for_level((0x80030000 + (briefingpage * 0x1c))->unk-5408)); - return; - } - if (tab_3_selected != 0) - { - set_menu_to_mode(6, 0); - set_menu_cursor_pos_to_setting(0); - } -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel interface_menu07_missionsel -/* 0429E8 7F00DEB8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0429EC 7F00DEBC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0429F0 7F00DEC0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0429F4 7F00DEC4 44816000 */ mtc1 $at, $f12 -/* 0429F8 7F00DEC8 AFB50028 */ sw $s5, 0x28($sp) -/* 0429FC 7F00DECC AFB40024 */ sw $s4, 0x24($sp) -/* 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 setvideo_far -/* 042A10 7F00DEE0 AFB00014 */ sw $s0, 0x14($sp) -/* 042A14 7F00DEE4 3C018005 */ lui $at, %hi(D_80051A44) -/* 042A18 7F00DEE8 0C001164 */ jal video_related_21 -/* 042A1C 7F00DEEC C42C1A44 */ lwc1 $f12, %lo(D_80051A44)($at) -/* 042A20 7F00DEF0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 042A24 7F00DEF4 44816000 */ mtc1 $at, $f12 -/* 042A28 7F00DEF8 3C018005 */ lui $at, %hi(D_80051A48) -/* 042A2C 7F00DEFC 0C001194 */ jal set_page_height -/* 042A30 7F00DF00 C42E1A48 */ lwc1 $f14, %lo(D_80051A48)($at) -/* 042A34 7F00DF04 0C00114D */ jal set_video2_settings_offset_24 -/* 042A38 7F00DF08 00002025 */ move $a0, $zero -/* 042A3C 7F00DF0C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 042A40 7F00DF10 0FC02DC9 */ jal disable_all_switches -/* 042A44 7F00DF14 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042A48 7F00DF18 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 042A4C 7F00DF1C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042A50 7F00DF20 00002825 */ move $a1, $zero -/* 042A54 7F00DF24 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 042A58 7F00DF28 24060001 */ li $a2, 1 -/* 042A5C 7F00DF2C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 042A60 7F00DF30 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042A64 7F00DF34 24050013 */ li $a1, 19 -/* 042A68 7F00DF38 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 042A6C 7F00DF3C 24060001 */ li $a2, 1 -/* 042A70 7F00DF40 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 042A74 7F00DF44 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042A78 7F00DF48 24050014 */ li $a1, 20 -/* 042A7C 7F00DF4C 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 042A80 7F00DF50 24060001 */ li $a2, 1 -/* 042A84 7F00DF54 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 042A88 7F00DF58 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 042A8C 7F00DF5C 3C018007 */ lui $at, %hi(mission_difficulty_highlighted) -/* 042A90 7F00DF60 240EFFFF */ li $t6, -1 -/* 042A94 7F00DF64 0FC028E7 */ jal isontab3 -/* 042A98 7F00DF68 AC2E9784 */ sw $t6, %lo(mission_difficulty_highlighted)($at) -/* 042A9C 7F00DF6C 10400005 */ beqz $v0, .L7F00DF84 -/* 042AA0 7F00DF70 0000A025 */ move $s4, $zero -/* 042AA4 7F00DF74 240F0001 */ li $t7, 1 -/* 042AA8 7F00DF78 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 042AAC 7F00DF7C 1000005E */ b .L7F00E0F8 -/* 042AB0 7F00DF80 AC2FA8E4 */ sw $t7, %lo(tab_3_highlight)($at) -.L7F00DF84: -/* 042AB4 7F00DF84 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 042AB8 7F00DF88 3C048003 */ lui $a0, %hi(cursor_xpos_table_mission_select) -/* 042ABC 7F00DF8C 3C038003 */ lui $v1, %hi(cursor_h_pos) -/* 042AC0 7F00DF90 44810000 */ mtc1 $at, $f0 -/* 042AC4 7F00DF94 2463A908 */ addiu $v1, %lo(cursor_h_pos) # addiu $v1, $v1, -0x56f8 -/* 042AC8 7F00DF98 2484AFD0 */ addiu $a0, %lo(cursor_xpos_table_mission_select) # addiu $a0, $a0, -0x5030 -/* 042ACC 7F00DF9C 24130005 */ li $s3, 5 -/* 042AD0 7F00DFA0 2A810004 */ slti $at, $s4, 4 -.L7F00DFA4: -/* 042AD4 7F00DFA4 10200011 */ beqz $at, .L7F00DFEC -/* 042AD8 7F00DFA8 0014C080 */ sll $t8, $s4, 2 -/* 042ADC 7F00DFAC 00981021 */ addu $v0, $a0, $t8 -/* 042AE0 7F00DFB0 8C590004 */ lw $t9, 4($v0) -/* 042AE4 7F00DFB4 8C480000 */ lw $t0, ($v0) -/* 042AE8 7F00DFB8 C4640000 */ lwc1 $f4, ($v1) -/* 042AEC 7F00DFBC 03284821 */ addu $t1, $t9, $t0 -/* 042AF0 7F00DFC0 44893000 */ mtc1 $t1, $f6 -/* 042AF4 7F00DFC4 00000000 */ nop -/* 042AF8 7F00DFC8 46803220 */ cvt.s.w $f8, $f6 -/* 042AFC 7F00DFCC 46004282 */ mul.s $f10, $f8, $f0 -/* 042B00 7F00DFD0 460A203C */ c.lt.s $f4, $f10 -/* 042B04 7F00DFD4 00000000 */ nop -/* 042B08 7F00DFD8 45010004 */ bc1t .L7F00DFEC -/* 042B0C 7F00DFDC 00000000 */ nop -/* 042B10 7F00DFE0 26940001 */ addiu $s4, $s4, 1 -/* 042B14 7F00DFE4 5693FFEF */ bnel $s4, $s3, .L7F00DFA4 -/* 042B18 7F00DFE8 2A810004 */ slti $at, $s4, 4 -.L7F00DFEC: -/* 042B1C 7F00DFEC 3C048003 */ lui $a0, %hi(cursor_ypos_table_mission_select) -/* 042B20 7F00DFF0 3C038003 */ lui $v1, %hi(cursor_v_pos) -/* 042B24 7F00DFF4 2463A90C */ addiu $v1, %lo(cursor_v_pos) # addiu $v1, $v1, -0x56f4 -/* 042B28 7F00DFF8 2484AFE4 */ addiu $a0, %lo(cursor_ypos_table_mission_select) # addiu $a0, $a0, -0x501c -/* 042B2C 7F00DFFC 00009025 */ move $s2, $zero -/* 042B30 7F00E000 24050004 */ li $a1, 4 -/* 042B34 7F00E004 2A410003 */ slti $at, $s2, 3 -.L7F00E008: -/* 042B38 7F00E008 10200011 */ beqz $at, .L7F00E050 -/* 042B3C 7F00E00C 00125080 */ sll $t2, $s2, 2 -/* 042B40 7F00E010 008A1021 */ addu $v0, $a0, $t2 -/* 042B44 7F00E014 8C4B0004 */ lw $t3, 4($v0) -/* 042B48 7F00E018 8C4C0000 */ lw $t4, ($v0) -/* 042B4C 7F00E01C C4700000 */ lwc1 $f16, ($v1) -/* 042B50 7F00E020 016C6821 */ addu $t5, $t3, $t4 -/* 042B54 7F00E024 448D9000 */ mtc1 $t5, $f18 -/* 042B58 7F00E028 00000000 */ nop -/* 042B5C 7F00E02C 468091A0 */ cvt.s.w $f6, $f18 -/* 042B60 7F00E030 46003202 */ mul.s $f8, $f6, $f0 -/* 042B64 7F00E034 4608803C */ c.lt.s $f16, $f8 -/* 042B68 7F00E038 00000000 */ nop -/* 042B6C 7F00E03C 45010004 */ bc1t .L7F00E050 -/* 042B70 7F00E040 00000000 */ nop -/* 042B74 7F00E044 26520001 */ addiu $s2, $s2, 1 -/* 042B78 7F00E048 5645FFEF */ bnel $s2, $a1, .L7F00E008 -/* 042B7C 7F00E04C 2A410003 */ slti $at, $s2, 3 -.L7F00E050: -/* 042B80 7F00E050 1A400011 */ blez $s2, .L7F00E098 -/* 042B84 7F00E054 0012A880 */ sll $s5, $s2, 2 -/* 042B88 7F00E058 02B2A821 */ addu $s5, $s5, $s2 -.L7F00E05C: -/* 042B8C 7F00E05C 00008825 */ move $s1, $zero -/* 042B90 7F00E060 02A08025 */ move $s0, $s5 -.L7F00E064: -/* 042B94 7F00E064 0FC03758 */ jal get_highest_unlocked_difficulty_for_level -/* 042B98 7F00E068 02002025 */ move $a0, $s0 -/* 042B9C 7F00E06C 04430005 */ bgezl $v0, .L7F00E084 -/* 042BA0 7F00E070 2A210005 */ slti $at, $s1, 5 -/* 042BA4 7F00E074 26310001 */ addiu $s1, $s1, 1 -/* 042BA8 7F00E078 1633FFFA */ bne $s1, $s3, .L7F00E064 -/* 042BAC 7F00E07C 26100001 */ addiu $s0, $s0, 1 -/* 042BB0 7F00E080 2A210005 */ slti $at, $s1, 5 -.L7F00E084: -/* 042BB4 7F00E084 54200005 */ bnezl $at, .L7F00E09C -/* 042BB8 7F00E088 0012A880 */ sll $s5, $s2, 2 -/* 042BBC 7F00E08C 2652FFFF */ addiu $s2, $s2, -1 -/* 042BC0 7F00E090 1E40FFF2 */ bgtz $s2, .L7F00E05C -/* 042BC4 7F00E094 26B5FFFB */ addiu $s5, $s5, -5 -.L7F00E098: -/* 042BC8 7F00E098 0012A880 */ sll $s5, $s2, 2 -.L7F00E09C: -/* 042BCC 7F00E09C 06800009 */ bltz $s4, .L7F00E0C4 -/* 042BD0 7F00E0A0 02B2A821 */ addu $s5, $s5, $s2 -/* 042BD4 7F00E0A4 02B48021 */ addu $s0, $s5, $s4 -.L7F00E0A8: -/* 042BD8 7F00E0A8 0FC03758 */ jal get_highest_unlocked_difficulty_for_level -/* 042BDC 7F00E0AC 02002025 */ move $a0, $s0 -/* 042BE0 7F00E0B0 04410004 */ bgez $v0, .L7F00E0C4 -/* 042BE4 7F00E0B4 00000000 */ nop -/* 042BE8 7F00E0B8 2694FFFF */ addiu $s4, $s4, -1 -/* 042BEC 7F00E0BC 0681FFFA */ bgez $s4, .L7F00E0A8 -/* 042BF0 7F00E0C0 2610FFFF */ addiu $s0, $s0, -1 -.L7F00E0C4: -/* 042BF4 7F00E0C4 06810009 */ bgez $s4, .L7F00E0EC -/* 042BF8 7F00E0C8 02A08025 */ move $s0, $s5 -/* 042BFC 7F00E0CC 0000A025 */ move $s4, $zero -.L7F00E0D0: -/* 042C00 7F00E0D0 0FC03758 */ jal get_highest_unlocked_difficulty_for_level -/* 042C04 7F00E0D4 02002025 */ move $a0, $s0 -/* 042C08 7F00E0D8 04430005 */ bgezl $v0, .L7F00E0F0 -/* 042C0C 7F00E0DC 02B47021 */ addu $t6, $s5, $s4 -/* 042C10 7F00E0E0 26940001 */ addiu $s4, $s4, 1 -/* 042C14 7F00E0E4 1693FFFA */ bne $s4, $s3, .L7F00E0D0 -/* 042C18 7F00E0E8 26100001 */ addiu $s0, $s0, 1 -.L7F00E0EC: -/* 042C1C 7F00E0EC 02B47021 */ addu $t6, $s5, $s4 -.L7F00E0F0: -/* 042C20 7F00E0F0 3C018007 */ lui $at, %hi(mission_difficulty_highlighted) -/* 042C24 7F00E0F4 AC2E9784 */ sw $t6, %lo(mission_difficulty_highlighted)($at) -.L7F00E0F8: -/* 042C28 7F00E0F8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 042C2C 7F00E0FC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042C30 7F00E100 8C8F0008 */ lw $t7, 8($a0) -/* 042C34 7F00E104 8DF80008 */ lw $t8, 8($t7) -/* 042C38 7F00E108 8F050054 */ lw $a1, 0x54($t8) -/* 042C3C 7F00E10C 50A00054 */ beql $a1, $zero, .L7F00E260 -/* 042C40 7F00E110 00002025 */ move $a0, $zero -/* 042C44 7F00E114 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 042C48 7F00E118 8CB40004 */ lw $s4, 4($a1) -/* 042C4C 7F00E11C 00408825 */ move $s1, $v0 -/* 042C50 7F00E120 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 042C54 7F00E124 8684000C */ lh $a0, 0xc($s4) -/* 042C58 7F00E128 AE220000 */ sw $v0, ($s1) -/* 042C5C 7F00E12C 8699000C */ lh $t9, 0xc($s4) -/* 042C60 7F00E130 00009025 */ move $s2, $zero -/* 042C64 7F00E134 00008025 */ move $s0, $zero -/* 042C68 7F00E138 1B200048 */ blez $t9, .L7F00E25C -/* 042C6C 7F00E13C 241500F5 */ li $s5, 245 -/* 042C70 7F00E140 2413006E */ li $s3, 110 -/* 042C74 7F00E144 8E8A0008 */ lw $t2, 8($s4) -.L7F00E148: -/* 042C78 7F00E148 8E280000 */ lw $t0, ($s1) -/* 042C7C 7F00E14C 01505821 */ addu $t3, $t2, $s0 -/* 042C80 7F00E150 8D610000 */ lw $at, ($t3) -/* 042C84 7F00E154 01104821 */ addu $t1, $t0, $s0 -/* 042C88 7F00E158 AD210000 */ sw $at, ($t1) -/* 042C8C 7F00E15C 8D6D0004 */ lw $t5, 4($t3) -/* 042C90 7F00E160 AD2D0004 */ sw $t5, 4($t1) -/* 042C94 7F00E164 8D610008 */ lw $at, 8($t3) -/* 042C98 7F00E168 AD210008 */ sw $at, 8($t1) -/* 042C9C 7F00E16C 8D6D000C */ lw $t5, 0xc($t3) -/* 042CA0 7F00E170 AD2D000C */ sw $t5, 0xc($t1) -/* 042CA4 7F00E174 06410003 */ bgez $s2, .L7F00E184 -/* 042CA8 7F00E178 00122083 */ sra $a0, $s2, 2 -/* 042CAC 7F00E17C 26410003 */ addiu $at, $s2, 3 -/* 042CB0 7F00E180 00012083 */ sra $a0, $at, 2 -.L7F00E184: -/* 042CB4 7F00E184 0FC03758 */ jal get_highest_unlocked_difficulty_for_level -/* 042CB8 7F00E188 AFA40030 */ sw $a0, 0x30($sp) -/* 042CBC 7F00E18C 240300FF */ li $v1, 255 -/* 042CC0 7F00E190 8FA40030 */ lw $a0, 0x30($sp) -/* 042CC4 7F00E194 0440001F */ bltz $v0, .L7F00E214 -/* 042CC8 7F00E198 2405000F */ li $a1, 15 -/* 042CCC 7F00E19C 3C0E8007 */ lui $t6, %hi(mission_difficulty_highlighted) -/* 042CD0 7F00E1A0 8DCE9784 */ lw $t6, %lo(mission_difficulty_highlighted)($t6) -/* 042CD4 7F00E1A4 548E000F */ bnel $a0, $t6, .L7F00E1E4 -/* 042CD8 7F00E1A8 8E2D0000 */ lw $t5, ($s1) -/* 042CDC 7F00E1AC 8E2F0000 */ lw $t7, ($s1) -/* 042CE0 7F00E1B0 01F0C021 */ addu $t8, $t7, $s0 -/* 042CE4 7F00E1B4 A303000C */ sb $v1, 0xc($t8) -/* 042CE8 7F00E1B8 8E390000 */ lw $t9, ($s1) -/* 042CEC 7F00E1BC 03304021 */ addu $t0, $t9, $s0 -/* 042CF0 7F00E1C0 A103000D */ sb $v1, 0xd($t0) -/* 042CF4 7F00E1C4 8E2A0000 */ lw $t2, ($s1) -/* 042CF8 7F00E1C8 01506021 */ addu $t4, $t2, $s0 -/* 042CFC 7F00E1CC A183000E */ sb $v1, 0xe($t4) -/* 042D00 7F00E1D0 8E290000 */ lw $t1, ($s1) -/* 042D04 7F00E1D4 01305821 */ addu $t3, $t1, $s0 -/* 042D08 7F00E1D8 1000001A */ b .L7F00E244 -/* 042D0C 7F00E1DC A175000F */ sb $s5, 0xf($t3) -/* 042D10 7F00E1E0 8E2D0000 */ lw $t5, ($s1) -.L7F00E1E4: -/* 042D14 7F00E1E4 01B07021 */ addu $t6, $t5, $s0 -/* 042D18 7F00E1E8 A1D3000C */ sb $s3, 0xc($t6) -/* 042D1C 7F00E1EC 8E2F0000 */ lw $t7, ($s1) -/* 042D20 7F00E1F0 01F0C021 */ addu $t8, $t7, $s0 -/* 042D24 7F00E1F4 A313000D */ sb $s3, 0xd($t8) -/* 042D28 7F00E1F8 8E390000 */ lw $t9, ($s1) -/* 042D2C 7F00E1FC 03304021 */ addu $t0, $t9, $s0 -/* 042D30 7F00E200 A113000E */ sb $s3, 0xe($t0) -/* 042D34 7F00E204 8E2A0000 */ lw $t2, ($s1) -/* 042D38 7F00E208 01506021 */ addu $t4, $t2, $s0 -/* 042D3C 7F00E20C 1000000D */ b .L7F00E244 -/* 042D40 7F00E210 A183000F */ sb $v1, 0xf($t4) -.L7F00E214: -/* 042D44 7F00E214 8E290000 */ lw $t1, ($s1) -/* 042D48 7F00E218 01305821 */ addu $t3, $t1, $s0 -/* 042D4C 7F00E21C A165000C */ sb $a1, 0xc($t3) -/* 042D50 7F00E220 8E2D0000 */ lw $t5, ($s1) -/* 042D54 7F00E224 01B07021 */ addu $t6, $t5, $s0 -/* 042D58 7F00E228 A1C5000D */ sb $a1, 0xd($t6) -/* 042D5C 7F00E22C 8E2F0000 */ lw $t7, ($s1) -/* 042D60 7F00E230 01F0C021 */ addu $t8, $t7, $s0 -/* 042D64 7F00E234 A305000E */ sb $a1, 0xe($t8) -/* 042D68 7F00E238 8E390000 */ lw $t9, ($s1) -/* 042D6C 7F00E23C 03304021 */ addu $t0, $t9, $s0 -/* 042D70 7F00E240 A103000F */ sb $v1, 0xf($t0) -.L7F00E244: -/* 042D74 7F00E244 868A000C */ lh $t2, 0xc($s4) -/* 042D78 7F00E248 26520001 */ addiu $s2, $s2, 1 -/* 042D7C 7F00E24C 26100010 */ addiu $s0, $s0, 0x10 -/* 042D80 7F00E250 024A082A */ slt $at, $s2, $t2 -/* 042D84 7F00E254 5420FFBC */ bnezl $at, .L7F00E148 -/* 042D88 7F00E258 8E8A0008 */ lw $t2, 8($s4) -.L7F00E25C: -/* 042D8C 7F00E25C 00002025 */ move $a0, $zero -.L7F00E260: -/* 042D90 7F00E260 0C0030EB */ jal get_controller_buttons_pressed -/* 042D94 7F00E264 3405B000 */ li $a1, 45056 -/* 042D98 7F00E268 1040002A */ beqz $v0, .L7F00E314 -/* 042D9C 7F00E26C 00002025 */ move $a0, $zero -/* 042DA0 7F00E270 3C0C8003 */ lui $t4, %hi(tab_3_highlight) -/* 042DA4 7F00E274 8D8CA8E4 */ lw $t4, %lo(tab_3_highlight)($t4) -/* 042DA8 7F00E278 24090001 */ li $t1, 1 -/* 042DAC 7F00E27C 3C018003 */ lui $at, %hi(tab_3_selected) -/* 042DB0 7F00E280 11800009 */ beqz $t4, .L7F00E2A8 -/* 042DB4 7F00E284 3C048007 */ lui $a0, %hi(mission_difficulty_highlighted) -/* 042DB8 7F00E288 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 042DBC 7F00E28C AC29A8D8 */ sw $t1, %lo(tab_3_selected)($at) -/* 042DC0 7F00E290 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042DC4 7F00E294 240500C7 */ li $a1, 199 -/* 042DC8 7F00E298 0C002382 */ jal play_sfx_a1 -/* 042DCC 7F00E29C 00003025 */ move $a2, $zero -/* 042DD0 7F00E2A0 10000027 */ b .L7F00E340 -/* 042DD4 7F00E2A4 00000000 */ nop -.L7F00E2A8: -/* 042DD8 7F00E2A8 8C849784 */ lw $a0, %lo(mission_difficulty_highlighted)($a0) -/* 042DDC 7F00E2AC 04800024 */ bltz $a0, .L7F00E340 -/* 042DE0 7F00E2B0 00000000 */ nop -/* 042DE4 7F00E2B4 0FC03730 */ jal pull_and_display_text_for_folder_a0 -/* 042DE8 7F00E2B8 00000000 */ nop -/* 042DEC 7F00E2BC 3C018003 */ lui $at, %hi(briefingpage) -/* 042DF0 7F00E2C0 AC22A8F8 */ sw $v0, %lo(briefingpage)($at) -/* 042DF4 7F00E2C4 3C0B8003 */ lui $t3, %hi(briefingpage) -/* 042DF8 7F00E2C8 8D6BA8F8 */ lw $t3, %lo(briefingpage)($t3) -/* 042DFC 7F00E2CC 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries+8) -/* 042E00 7F00E2D0 3C018003 */ lui $at, %hi(selected_stage) -/* 042E04 7F00E2D4 000B68C0 */ sll $t5, $t3, 3 -/* 042E08 7F00E2D8 01AB6823 */ subu $t5, $t5, $t3 -/* 042E0C 7F00E2DC 000D6880 */ sll $t5, $t5, 2 -/* 042E10 7F00E2E0 01CD7021 */ addu $t6, $t6, $t5 -/* 042E14 7F00E2E4 8DCEABEC */ lw $t6, %lo(mission_folder_setup_entries+8)($t6) -/* 042E18 7F00E2E8 240F0001 */ li $t7, 1 -/* 042E1C 7F00E2EC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 042E20 7F00E2F0 AC2EA8F4 */ sw $t6, %lo(selected_stage)($at) -/* 042E24 7F00E2F4 3C018003 */ lui $at, %hi(tab_2_selected) -/* 042E28 7F00E2F8 AC2FA8D4 */ sw $t7, %lo(tab_2_selected)($at) -/* 042E2C 7F00E2FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042E30 7F00E300 240500C7 */ li $a1, 199 -/* 042E34 7F00E304 0C002382 */ jal play_sfx_a1 -/* 042E38 7F00E308 00003025 */ move $a2, $zero -/* 042E3C 7F00E30C 1000000C */ b .L7F00E340 -/* 042E40 7F00E310 00000000 */ nop -.L7F00E314: -/* 042E44 7F00E314 0C0030EB */ jal get_controller_buttons_pressed -/* 042E48 7F00E318 24054000 */ li $a1, 16384 -/* 042E4C 7F00E31C 10400008 */ beqz $v0, .L7F00E340 -/* 042E50 7F00E320 24180001 */ li $t8, 1 -/* 042E54 7F00E324 3C018003 */ lui $at, %hi(tab_3_selected) -/* 042E58 7F00E328 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 042E5C 7F00E32C AC38A8D8 */ sw $t8, %lo(tab_3_selected)($at) -/* 042E60 7F00E330 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042E64 7F00E334 240500C7 */ li $a1, 199 -/* 042E68 7F00E338 0C002382 */ jal play_sfx_a1 -/* 042E6C 7F00E33C 00003025 */ move $a2, $zero -.L7F00E340: -/* 042E70 7F00E340 0FC026E1 */ jal menu_control_stick_tracking -/* 042E74 7F00E344 00000000 */ nop -/* 042E78 7F00E348 3C198003 */ lui $t9, %hi(tab_2_selected) -/* 042E7C 7F00E34C 8F39A8D4 */ lw $t9, %lo(tab_2_selected)($t9) -/* 042E80 7F00E350 24040008 */ li $a0, 8 -/* 042E84 7F00E354 3C0C8003 */ lui $t4, %hi(tab_3_selected) -/* 042E88 7F00E358 13200010 */ beqz $t9, .L7F00E39C -/* 042E8C 7F00E35C 00000000 */ nop -/* 042E90 7F00E360 0FC06975 */ jal set_menu_to_mode -/* 042E94 7F00E364 00002825 */ move $a1, $zero -/* 042E98 7F00E368 3C088003 */ lui $t0, %hi(briefingpage) -/* 042E9C 7F00E36C 8D08A8F8 */ lw $t0, %lo(briefingpage)($t0) -/* 042EA0 7F00E370 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20) -/* 042EA4 7F00E374 000850C0 */ sll $t2, $t0, 3 -/* 042EA8 7F00E378 01485023 */ subu $t2, $t2, $t0 -/* 042EAC 7F00E37C 000A5080 */ sll $t2, $t2, 2 -/* 042EB0 7F00E380 008A2021 */ addu $a0, $a0, $t2 -/* 042EB4 7F00E384 0FC03758 */ jal get_highest_unlocked_difficulty_for_level -/* 042EB8 7F00E388 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0) -/* 042EBC 7F00E38C 0FC03B59 */ jal set_cursor_pos_difficulty -/* 042EC0 7F00E390 00402025 */ move $a0, $v0 -/* 042EC4 7F00E394 1000000A */ b .L7F00E3C0 -/* 042EC8 7F00E398 8FBF002C */ lw $ra, 0x2c($sp) -.L7F00E39C: -/* 042ECC 7F00E39C 8D8CA8D8 */ lw $t4, %lo(tab_3_selected)($t4) -/* 042ED0 7F00E3A0 24040006 */ li $a0, 6 -/* 042ED4 7F00E3A4 51800006 */ beql $t4, $zero, .L7F00E3C0 -/* 042ED8 7F00E3A8 8FBF002C */ lw $ra, 0x2c($sp) -/* 042EDC 7F00E3AC 0FC06975 */ jal set_menu_to_mode -/* 042EE0 7F00E3B0 00002825 */ move $a1, $zero -/* 042EE4 7F00E3B4 0FC035FF */ jal set_menu_cursor_pos_to_setting -/* 042EE8 7F00E3B8 00002025 */ move $a0, $zero -/* 042EEC 7F00E3BC 8FBF002C */ lw $ra, 0x2c($sp) -.L7F00E3C0: -/* 042EF0 7F00E3C0 8FB00014 */ lw $s0, 0x14($sp) -/* 042EF4 7F00E3C4 8FB10018 */ lw $s1, 0x18($sp) -/* 042EF8 7F00E3C8 8FB2001C */ lw $s2, 0x1c($sp) -/* 042EFC 7F00E3CC 8FB30020 */ lw $s3, 0x20($sp) -/* 042F00 7F00E3D0 8FB40024 */ lw $s4, 0x24($sp) -/* 042F04 7F00E3D4 8FB50028 */ lw $s5, 0x28($sp) -/* 042F08 7F00E3D8 03E00008 */ jr $ra -/* 042F0C 7F00E3DC 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel interface_menu07_missionsel -/* 042A48 7F00DED8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 042A4C 7F00DEDC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 042A50 7F00DEE0 AFBF002C */ sw $ra, 0x2c($sp) -/* 042A54 7F00DEE4 44816000 */ mtc1 $at, $f12 -/* 042A58 7F00DEE8 AFB50028 */ sw $s5, 0x28($sp) -/* 042A5C 7F00DEEC AFB40024 */ sw $s4, 0x24($sp) -/* 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 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 -/* 042A7C 7F00DF0C C42C1A74 */ lwc1 $f12, %lo(D_80051A44)($at) -/* 042A80 7F00DF10 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 042A84 7F00DF14 44816000 */ mtc1 $at, $f12 -/* 042A88 7F00DF18 3C018005 */ lui $at, %hi(D_80051A48) # $at, 0x8005 -/* 042A8C 7F00DF1C 0C001194 */ jal set_page_height -/* 042A90 7F00DF20 C42E1A78 */ lwc1 $f14, %lo(D_80051A48)($at) -/* 042A94 7F00DF24 0C00114D */ jal set_video2_settings_offset_24 -/* 042A98 7F00DF28 00002025 */ move $a0, $zero -/* 042A9C 7F00DF2C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003 -/* 042AA0 7F00DF30 0FC02DD1 */ jal disable_all_switches -/* 042AA4 7F00DF34 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042AA8 7F00DF38 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003 -/* 042AAC 7F00DF3C 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042AB0 7F00DF40 00002825 */ move $a1, $zero -/* 042AB4 7F00DF44 0FC02DF8 */ jal set_item_visibility_in_objinstance -/* 042AB8 7F00DF48 24060001 */ li $a2, 1 -/* 042ABC 7F00DF4C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003 -/* 042AC0 7F00DF50 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042AC4 7F00DF54 24050013 */ li $a1, 19 -/* 042AC8 7F00DF58 0FC02DF8 */ jal set_item_visibility_in_objinstance -/* 042ACC 7F00DF5C 24060001 */ li $a2, 1 -/* 042AD0 7F00DF60 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003 -/* 042AD4 7F00DF64 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042AD8 7F00DF68 24050014 */ li $a1, 20 -/* 042ADC 7F00DF6C 0FC02DF8 */ jal set_item_visibility_in_objinstance -/* 042AE0 7F00DF70 24060001 */ li $a2, 1 -/* 042AE4 7F00DF74 3C018003 */ lui $at, %hi(tab_3_highlight) # $at, 0x8003 -/* 042AE8 7F00DF78 AC20A924 */ sw $zero, %lo(tab_3_highlight)($at) -/* 042AEC 7F00DF7C 3C018007 */ lui $at, %hi(mission_difficulty_highlighted) # $at, 0x8007 -/* 042AF0 7F00DF80 240EFFFF */ li $t6, -1 -/* 042AF4 7F00DF84 0FC028EF */ jal isontab3 -/* 042AF8 7F00DF88 AC2E97C4 */ sw $t6, %lo(mission_difficulty_highlighted)($at) -/* 042AFC 7F00DF8C 10400005 */ beqz $v0, .L7F00DFA4 -/* 042B00 7F00DF90 0000A025 */ move $s4, $zero -/* 042B04 7F00DF94 240F0001 */ li $t7, 1 -/* 042B08 7F00DF98 3C018003 */ lui $at, %hi(tab_3_highlight) # $at, 0x8003 -/* 042B0C 7F00DF9C 1000005E */ b .L7F00E118 -/* 042B10 7F00DFA0 AC2FA924 */ sw $t7, %lo(tab_3_highlight)($at) -.L7F00DFA4: -/* 042B14 7F00DFA4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 042B18 7F00DFA8 3C048003 */ lui $a0, %hi(cursor_xpos_table_mission_select) # $a0, 0x8003 -/* 042B1C 7F00DFAC 3C038003 */ lui $v1, %hi(cursor_h_pos) # $v1, 0x8003 -/* 042B20 7F00DFB0 44810000 */ mtc1 $at, $f0 -/* 042B24 7F00DFB4 2463A948 */ addiu $v1, %lo(cursor_h_pos) # addiu $v1, $v1, -0x56b8 -/* 042B28 7F00DFB8 2484B010 */ addiu $a0, %lo(cursor_xpos_table_mission_select) # addiu $a0, $a0, -0x4ff0 -/* 042B2C 7F00DFBC 24130005 */ li $s3, 5 -/* 042B30 7F00DFC0 2A810004 */ slti $at, $s4, 4 -.L7F00DFC4: -/* 042B34 7F00DFC4 10200011 */ beqz $at, .L7F00E00C -/* 042B38 7F00DFC8 0014C080 */ sll $t8, $s4, 2 -/* 042B3C 7F00DFCC 00981021 */ addu $v0, $a0, $t8 -/* 042B40 7F00DFD0 8C590004 */ lw $t9, 4($v0) -/* 042B44 7F00DFD4 8C480000 */ lw $t0, ($v0) -/* 042B48 7F00DFD8 C4640000 */ lwc1 $f4, ($v1) -/* 042B4C 7F00DFDC 03284821 */ addu $t1, $t9, $t0 -/* 042B50 7F00DFE0 44893000 */ mtc1 $t1, $f6 -/* 042B54 7F00DFE4 00000000 */ nop -/* 042B58 7F00DFE8 46803220 */ cvt.s.w $f8, $f6 -/* 042B5C 7F00DFEC 46004282 */ mul.s $f10, $f8, $f0 -/* 042B60 7F00DFF0 460A203C */ c.lt.s $f4, $f10 -/* 042B64 7F00DFF4 00000000 */ nop -/* 042B68 7F00DFF8 45010004 */ bc1t .L7F00E00C -/* 042B6C 7F00DFFC 00000000 */ nop -/* 042B70 7F00E000 26940001 */ addiu $s4, $s4, 1 -/* 042B74 7F00E004 5693FFEF */ bnel $s4, $s3, .L7F00DFC4 -/* 042B78 7F00E008 2A810004 */ slti $at, $s4, 4 -.L7F00E00C: -/* 042B7C 7F00E00C 3C048003 */ lui $a0, %hi(cursor_ypos_table_mission_select) # $a0, 0x8003 -/* 042B80 7F00E010 3C038003 */ lui $v1, %hi(cursor_v_pos) # $v1, 0x8003 -/* 042B84 7F00E014 2463A94C */ addiu $v1, %lo(cursor_v_pos) # addiu $v1, $v1, -0x56b4 -/* 042B88 7F00E018 2484B024 */ addiu $a0, %lo(cursor_ypos_table_mission_select) # addiu $a0, $a0, -0x4fdc -/* 042B8C 7F00E01C 00009025 */ move $s2, $zero -/* 042B90 7F00E020 24050004 */ li $a1, 4 -/* 042B94 7F00E024 2A410003 */ slti $at, $s2, 3 -.L7F00E028: -/* 042B98 7F00E028 10200011 */ beqz $at, .L7F00E070 -/* 042B9C 7F00E02C 00125080 */ sll $t2, $s2, 2 -/* 042BA0 7F00E030 008A1021 */ addu $v0, $a0, $t2 -/* 042BA4 7F00E034 8C4B0004 */ lw $t3, 4($v0) -/* 042BA8 7F00E038 8C4C0000 */ lw $t4, ($v0) -/* 042BAC 7F00E03C C4700000 */ lwc1 $f16, ($v1) -/* 042BB0 7F00E040 016C6821 */ addu $t5, $t3, $t4 -/* 042BB4 7F00E044 448D9000 */ mtc1 $t5, $f18 -/* 042BB8 7F00E048 00000000 */ nop -/* 042BBC 7F00E04C 468091A0 */ cvt.s.w $f6, $f18 -/* 042BC0 7F00E050 46003202 */ mul.s $f8, $f6, $f0 -/* 042BC4 7F00E054 4608803C */ c.lt.s $f16, $f8 -/* 042BC8 7F00E058 00000000 */ nop -/* 042BCC 7F00E05C 45010004 */ bc1t .L7F00E070 -/* 042BD0 7F00E060 00000000 */ nop -/* 042BD4 7F00E064 26520001 */ addiu $s2, $s2, 1 -/* 042BD8 7F00E068 5645FFEF */ bnel $s2, $a1, .L7F00E028 -/* 042BDC 7F00E06C 2A410003 */ slti $at, $s2, 3 -.L7F00E070: -/* 042BE0 7F00E070 1A400011 */ blez $s2, .L7F00E0B8 -/* 042BE4 7F00E074 0012A880 */ sll $s5, $s2, 2 -/* 042BE8 7F00E078 02B2A821 */ addu $s5, $s5, $s2 -.L7F00E07C: -/* 042BEC 7F00E07C 00008825 */ move $s1, $zero -/* 042BF0 7F00E080 02A08025 */ move $s0, $s5 -.L7F00E084: -/* 042BF4 7F00E084 0FC03760 */ jal get_highest_unlocked_difficulty_for_level -/* 042BF8 7F00E088 02002025 */ move $a0, $s0 -/* 042BFC 7F00E08C 04430005 */ bgezl $v0, .L7F00E0A4 -/* 042C00 7F00E090 2A210005 */ slti $at, $s1, 5 -/* 042C04 7F00E094 26310001 */ addiu $s1, $s1, 1 -/* 042C08 7F00E098 1633FFFA */ bne $s1, $s3, .L7F00E084 -/* 042C0C 7F00E09C 26100001 */ addiu $s0, $s0, 1 -/* 042C10 7F00E0A0 2A210005 */ slti $at, $s1, 5 -.L7F00E0A4: -/* 042C14 7F00E0A4 54200005 */ bnezl $at, .L7F00E0BC -/* 042C18 7F00E0A8 0012A880 */ sll $s5, $s2, 2 -/* 042C1C 7F00E0AC 2652FFFF */ addiu $s2, $s2, -1 -/* 042C20 7F00E0B0 1E40FFF2 */ bgtz $s2, .L7F00E07C -/* 042C24 7F00E0B4 26B5FFFB */ addiu $s5, $s5, -5 -.L7F00E0B8: -/* 042C28 7F00E0B8 0012A880 */ sll $s5, $s2, 2 -.L7F00E0BC: -/* 042C2C 7F00E0BC 06800009 */ bltz $s4, .L7F00E0E4 -/* 042C30 7F00E0C0 02B2A821 */ addu $s5, $s5, $s2 -/* 042C34 7F00E0C4 02B48021 */ addu $s0, $s5, $s4 -.L7F00E0C8: -/* 042C38 7F00E0C8 0FC03760 */ jal get_highest_unlocked_difficulty_for_level -/* 042C3C 7F00E0CC 02002025 */ move $a0, $s0 -/* 042C40 7F00E0D0 04410004 */ bgez $v0, .L7F00E0E4 -/* 042C44 7F00E0D4 00000000 */ nop -/* 042C48 7F00E0D8 2694FFFF */ addiu $s4, $s4, -1 -/* 042C4C 7F00E0DC 0681FFFA */ bgez $s4, .L7F00E0C8 -/* 042C50 7F00E0E0 2610FFFF */ addiu $s0, $s0, -1 -.L7F00E0E4: -/* 042C54 7F00E0E4 06810009 */ bgez $s4, .L7F00E10C -/* 042C58 7F00E0E8 02A08025 */ move $s0, $s5 -/* 042C5C 7F00E0EC 0000A025 */ move $s4, $zero -.L7F00E0F0: -/* 042C60 7F00E0F0 0FC03760 */ jal get_highest_unlocked_difficulty_for_level -/* 042C64 7F00E0F4 02002025 */ move $a0, $s0 -/* 042C68 7F00E0F8 04430005 */ bgezl $v0, .L7F00E110 -/* 042C6C 7F00E0FC 02B47021 */ addu $t6, $s5, $s4 -/* 042C70 7F00E100 26940001 */ addiu $s4, $s4, 1 -/* 042C74 7F00E104 1693FFFA */ bne $s4, $s3, .L7F00E0F0 -/* 042C78 7F00E108 26100001 */ addiu $s0, $s0, 1 -.L7F00E10C: -/* 042C7C 7F00E10C 02B47021 */ addu $t6, $s5, $s4 -.L7F00E110: -/* 042C80 7F00E110 3C018007 */ lui $at, %hi(mission_difficulty_highlighted) # $at, 0x8007 -/* 042C84 7F00E114 AC2E97C4 */ sw $t6, %lo(mission_difficulty_highlighted)($at) -.L7F00E118: -/* 042C88 7F00E118 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) # $a0, 0x8003 -/* 042C8C 7F00E11C 8C84A99C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 042C90 7F00E120 8C8F0008 */ lw $t7, 8($a0) -/* 042C94 7F00E124 8DF80008 */ lw $t8, 8($t7) -/* 042C98 7F00E128 8F050054 */ lw $a1, 0x54($t8) -/* 042C9C 7F00E12C 50A00054 */ beql $a1, $zero, .L7F00E280 -/* 042CA0 7F00E130 00002025 */ move $a0, $zero -/* 042CA4 7F00E134 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 042CA8 7F00E138 8CB40004 */ lw $s4, 4($a1) -/* 042CAC 7F00E13C 00408825 */ move $s1, $v0 -/* 042CB0 7F00E140 0FC2F89D */ jal sub_GAME_7F0BD6C4 -/* 042CB4 7F00E144 8684000C */ lh $a0, 0xc($s4) -/* 042CB8 7F00E148 AE220000 */ sw $v0, ($s1) -/* 042CBC 7F00E14C 8699000C */ lh $t9, 0xc($s4) -/* 042CC0 7F00E150 00009025 */ move $s2, $zero -/* 042CC4 7F00E154 00008025 */ move $s0, $zero -/* 042CC8 7F00E158 1B200048 */ blez $t9, .L7F00E27C -/* 042CCC 7F00E15C 241500F5 */ li $s5, 245 -/* 042CD0 7F00E160 2413006E */ li $s3, 110 -/* 042CD4 7F00E164 8E8A0008 */ lw $t2, 8($s4) -.L7F00E168: -/* 042CD8 7F00E168 8E280000 */ lw $t0, ($s1) -/* 042CDC 7F00E16C 01505821 */ addu $t3, $t2, $s0 -/* 042CE0 7F00E170 8D610000 */ lw $at, ($t3) -/* 042CE4 7F00E174 01104821 */ addu $t1, $t0, $s0 -/* 042CE8 7F00E178 AD210000 */ sw $at, ($t1) -/* 042CEC 7F00E17C 8D6D0004 */ lw $t5, 4($t3) -/* 042CF0 7F00E180 AD2D0004 */ sw $t5, 4($t1) -/* 042CF4 7F00E184 8D610008 */ lw $at, 8($t3) -/* 042CF8 7F00E188 AD210008 */ sw $at, 8($t1) -/* 042CFC 7F00E18C 8D6D000C */ lw $t5, 0xc($t3) -/* 042D00 7F00E190 AD2D000C */ sw $t5, 0xc($t1) -/* 042D04 7F00E194 06410003 */ bgez $s2, .L7F00E1A4 -/* 042D08 7F00E198 00122083 */ sra $a0, $s2, 2 -/* 042D0C 7F00E19C 26410003 */ addiu $at, $s2, 3 -/* 042D10 7F00E1A0 00012083 */ sra $a0, $at, 2 -.L7F00E1A4: -/* 042D14 7F00E1A4 0FC03760 */ jal get_highest_unlocked_difficulty_for_level -/* 042D18 7F00E1A8 AFA40030 */ sw $a0, 0x30($sp) -/* 042D1C 7F00E1AC 240300FF */ li $v1, 255 -/* 042D20 7F00E1B0 8FA40030 */ lw $a0, 0x30($sp) -/* 042D24 7F00E1B4 0440001F */ bltz $v0, .L7F00E234 -/* 042D28 7F00E1B8 2405000F */ li $a1, 15 -/* 042D2C 7F00E1BC 3C0E8007 */ lui $t6, %hi(mission_difficulty_highlighted) # $t6, 0x8007 -/* 042D30 7F00E1C0 8DCE97C4 */ lw $t6, %lo(mission_difficulty_highlighted)($t6) -/* 042D34 7F00E1C4 548E000F */ bnel $a0, $t6, .L7F00E204 -/* 042D38 7F00E1C8 8E2D0000 */ lw $t5, ($s1) -/* 042D3C 7F00E1CC 8E2F0000 */ lw $t7, ($s1) -/* 042D40 7F00E1D0 01F0C021 */ addu $t8, $t7, $s0 -/* 042D44 7F00E1D4 A303000C */ sb $v1, 0xc($t8) -/* 042D48 7F00E1D8 8E390000 */ lw $t9, ($s1) -/* 042D4C 7F00E1DC 03304021 */ addu $t0, $t9, $s0 -/* 042D50 7F00E1E0 A103000D */ sb $v1, 0xd($t0) -/* 042D54 7F00E1E4 8E2A0000 */ lw $t2, ($s1) -/* 042D58 7F00E1E8 01506021 */ addu $t4, $t2, $s0 -/* 042D5C 7F00E1EC A183000E */ sb $v1, 0xe($t4) -/* 042D60 7F00E1F0 8E290000 */ lw $t1, ($s1) -/* 042D64 7F00E1F4 01305821 */ addu $t3, $t1, $s0 -/* 042D68 7F00E1F8 1000001A */ b .L7F00E264 -/* 042D6C 7F00E1FC A175000F */ sb $s5, 0xf($t3) -/* 042D70 7F00E200 8E2D0000 */ lw $t5, ($s1) -.L7F00E204: -/* 042D74 7F00E204 01B07021 */ addu $t6, $t5, $s0 -/* 042D78 7F00E208 A1D3000C */ sb $s3, 0xc($t6) -/* 042D7C 7F00E20C 8E2F0000 */ lw $t7, ($s1) -/* 042D80 7F00E210 01F0C021 */ addu $t8, $t7, $s0 -/* 042D84 7F00E214 A313000D */ sb $s3, 0xd($t8) -/* 042D88 7F00E218 8E390000 */ lw $t9, ($s1) -/* 042D8C 7F00E21C 03304021 */ addu $t0, $t9, $s0 -/* 042D90 7F00E220 A113000E */ sb $s3, 0xe($t0) -/* 042D94 7F00E224 8E2A0000 */ lw $t2, ($s1) -/* 042D98 7F00E228 01506021 */ addu $t4, $t2, $s0 -/* 042D9C 7F00E22C 1000000D */ b .L7F00E264 -/* 042DA0 7F00E230 A183000F */ sb $v1, 0xf($t4) -.L7F00E234: -/* 042DA4 7F00E234 8E290000 */ lw $t1, ($s1) -/* 042DA8 7F00E238 01305821 */ addu $t3, $t1, $s0 -/* 042DAC 7F00E23C A165000C */ sb $a1, 0xc($t3) -/* 042DB0 7F00E240 8E2D0000 */ lw $t5, ($s1) -/* 042DB4 7F00E244 01B07021 */ addu $t6, $t5, $s0 -/* 042DB8 7F00E248 A1C5000D */ sb $a1, 0xd($t6) -/* 042DBC 7F00E24C 8E2F0000 */ lw $t7, ($s1) -/* 042DC0 7F00E250 01F0C021 */ addu $t8, $t7, $s0 -/* 042DC4 7F00E254 A305000E */ sb $a1, 0xe($t8) -/* 042DC8 7F00E258 8E390000 */ lw $t9, ($s1) -/* 042DCC 7F00E25C 03304021 */ addu $t0, $t9, $s0 -/* 042DD0 7F00E260 A103000F */ sb $v1, 0xf($t0) -.L7F00E264: -/* 042DD4 7F00E264 868A000C */ lh $t2, 0xc($s4) -/* 042DD8 7F00E268 26520001 */ addiu $s2, $s2, 1 -/* 042DDC 7F00E26C 26100010 */ addiu $s0, $s0, 0x10 -/* 042DE0 7F00E270 024A082A */ slt $at, $s2, $t2 -/* 042DE4 7F00E274 5420FFBC */ bnezl $at, .L7F00E168 -/* 042DE8 7F00E278 8E8A0008 */ lw $t2, 8($s4) -.L7F00E27C: -/* 042DEC 7F00E27C 00002025 */ move $a0, $zero -.L7F00E280: -/* 042DF0 7F00E280 0C003104 */ jal get_controller_buttons_pressed -/* 042DF4 7F00E284 3405B000 */ li $a1, 45056 -/* 042DF8 7F00E288 1040002A */ beqz $v0, .L7F00E334 -/* 042DFC 7F00E28C 00002025 */ move $a0, $zero -/* 042E00 7F00E290 3C0C8003 */ lui $t4, %hi(tab_3_highlight) # $t4, 0x8003 -/* 042E04 7F00E294 8D8CA924 */ lw $t4, %lo(tab_3_highlight)($t4) -/* 042E08 7F00E298 24090001 */ li $t1, 1 -/* 042E0C 7F00E29C 3C018003 */ lui $at, %hi(tab_3_selected) # $at, 0x8003 -/* 042E10 7F00E2A0 11800009 */ beqz $t4, .L7F00E2C8 -/* 042E14 7F00E2A4 3C048007 */ lui $a0, %hi(mission_difficulty_highlighted) -/* 042E18 7F00E2A8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 042E1C 7F00E2AC AC29A918 */ sw $t1, %lo(tab_3_selected)($at) -/* 042E20 7F00E2B0 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042E24 7F00E2B4 240500C7 */ li $a1, 199 -/* 042E28 7F00E2B8 0C002386 */ jal play_sfx_a1 -/* 042E2C 7F00E2BC 00003025 */ move $a2, $zero -/* 042E30 7F00E2C0 10000027 */ b .L7F00E360 -/* 042E34 7F00E2C4 00000000 */ nop -.L7F00E2C8: -/* 042E38 7F00E2C8 8C8497C4 */ lw $a0, %lo(mission_difficulty_highlighted)($a0) -/* 042E3C 7F00E2CC 04800024 */ bltz $a0, .L7F00E360 -/* 042E40 7F00E2D0 00000000 */ nop -/* 042E44 7F00E2D4 0FC03738 */ jal pull_and_display_text_for_folder_a0 -/* 042E48 7F00E2D8 00000000 */ nop -/* 042E4C 7F00E2DC 3C018003 */ lui $at, %hi(briefingpage) # $at, 0x8003 -/* 042E50 7F00E2E0 AC22A938 */ sw $v0, %lo(briefingpage)($at) -/* 042E54 7F00E2E4 3C0B8003 */ lui $t3, %hi(briefingpage) # $t3, 0x8003 -/* 042E58 7F00E2E8 8D6BA938 */ lw $t3, %lo(briefingpage)($t3) -/* 042E5C 7F00E2EC 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries+8) -/* 042E60 7F00E2F0 3C018003 */ lui $at, %hi(selected_stage) # $at, 0x8003 -/* 042E64 7F00E2F4 000B68C0 */ sll $t5, $t3, 3 -/* 042E68 7F00E2F8 01AB6823 */ subu $t5, $t5, $t3 -/* 042E6C 7F00E2FC 000D6880 */ sll $t5, $t5, 2 -/* 042E70 7F00E300 01CD7021 */ addu $t6, $t6, $t5 -/* 042E74 7F00E304 8DCEAC2C */ lw $t6, %lo(mission_folder_setup_entries+8)($t6) -/* 042E78 7F00E308 240F0001 */ li $t7, 1 -/* 042E7C 7F00E30C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 042E80 7F00E310 AC2EA934 */ sw $t6, %lo(selected_stage)($at) -/* 042E84 7F00E314 3C018003 */ lui $at, %hi(tab_2_selected) # $at, 0x8003 -/* 042E88 7F00E318 AC2FA914 */ sw $t7, %lo(tab_2_selected)($at) -/* 042E8C 7F00E31C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042E90 7F00E320 240500C7 */ li $a1, 199 -/* 042E94 7F00E324 0C002386 */ jal play_sfx_a1 -/* 042E98 7F00E328 00003025 */ move $a2, $zero -/* 042E9C 7F00E32C 1000000C */ b .L7F00E360 -/* 042EA0 7F00E330 00000000 */ nop -.L7F00E334: -/* 042EA4 7F00E334 0C003104 */ jal get_controller_buttons_pressed -/* 042EA8 7F00E338 24054000 */ li $a1, 16384 -/* 042EAC 7F00E33C 10400008 */ beqz $v0, .L7F00E360 -/* 042EB0 7F00E340 24180001 */ li $t8, 1 -/* 042EB4 7F00E344 3C018003 */ lui $at, %hi(tab_3_selected) # $at, 0x8003 -/* 042EB8 7F00E348 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 042EBC 7F00E34C AC38A918 */ sw $t8, %lo(tab_3_selected)($at) -/* 042EC0 7F00E350 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 042EC4 7F00E354 240500C7 */ li $a1, 199 -/* 042EC8 7F00E358 0C002386 */ jal play_sfx_a1 -/* 042ECC 7F00E35C 00003025 */ move $a2, $zero -.L7F00E360: -/* 042ED0 7F00E360 0FC026E9 */ jal menu_control_stick_tracking -/* 042ED4 7F00E364 00000000 */ nop -/* 042ED8 7F00E368 3C198003 */ lui $t9, %hi(tab_2_selected) # $t9, 0x8003 -/* 042EDC 7F00E36C 8F39A914 */ lw $t9, %lo(tab_2_selected)($t9) -/* 042EE0 7F00E370 24040008 */ li $a0, 8 -/* 042EE4 7F00E374 3C098003 */ lui $t1, %hi(tab_3_selected) # $t1, 0x8003 -/* 042EE8 7F00E378 13200018 */ beqz $t9, .L7F00E3DC -/* 042EEC 7F00E37C 00000000 */ nop -/* 042EF0 7F00E380 0FC069E2 */ jal set_menu_to_mode -/* 042EF4 7F00E384 00002825 */ move $a1, $zero -/* 042EF8 7F00E388 3C088005 */ lui $t0, %hi(j_text_trigger) # $t0, 0x8005 -/* 042EFC 7F00E38C 8D088500 */ lw $t0, %lo(j_text_trigger)($t0) -/* 042F00 7F00E390 3C0A8003 */ lui $t2, %hi(briefingpage) # $t2, 0x8003 -/* 042F04 7F00E394 11000005 */ beqz $t0, .L7F00E3AC -/* 042F08 7F00E398 00000000 */ nop -/* 042F0C 7F00E39C 0FC03B69 */ jal set_cursor_pos_difficulty -/* 042F10 7F00E3A0 00002025 */ move $a0, $zero -/* 042F14 7F00E3A4 10000016 */ b .L7F00E400 -/* 042F18 7F00E3A8 8FBF002C */ lw $ra, 0x2c($sp) -.L7F00E3AC: -/* 042F1C 7F00E3AC 8D4AA938 */ lw $t2, %lo(briefingpage)($t2) -/* 042F20 7F00E3B0 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20) -/* 042F24 7F00E3B4 000A60C0 */ sll $t4, $t2, 3 -/* 042F28 7F00E3B8 018A6023 */ subu $t4, $t4, $t2 -/* 042F2C 7F00E3BC 000C6080 */ sll $t4, $t4, 2 -/* 042F30 7F00E3C0 008C2021 */ addu $a0, $a0, $t4 -/* 042F34 7F00E3C4 0FC03760 */ jal get_highest_unlocked_difficulty_for_level -/* 042F38 7F00E3C8 8C84AC38 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0) -/* 042F3C 7F00E3CC 0FC03B69 */ jal set_cursor_pos_difficulty -/* 042F40 7F00E3D0 00402025 */ move $a0, $v0 -/* 042F44 7F00E3D4 1000000A */ b .L7F00E400 -/* 042F48 7F00E3D8 8FBF002C */ lw $ra, 0x2c($sp) -.L7F00E3DC: -/* 042F4C 7F00E3DC 8D29A918 */ lw $t1, %lo(tab_3_selected)($t1) -/* 042F50 7F00E3E0 24040006 */ li $a0, 6 -/* 042F54 7F00E3E4 51200006 */ beql $t1, $zero, .L7F00E400 -/* 042F58 7F00E3E8 8FBF002C */ lw $ra, 0x2c($sp) -/* 042F5C 7F00E3EC 0FC069E2 */ jal set_menu_to_mode -/* 042F60 7F00E3F0 00002825 */ move $a1, $zero -/* 042F64 7F00E3F4 0FC03607 */ jal set_menu_cursor_pos_to_setting -/* 042F68 7F00E3F8 00002025 */ move $a0, $zero -/* 042F6C 7F00E3FC 8FBF002C */ lw $ra, 0x2c($sp) -.L7F00E400: -/* 042F70 7F00E400 8FB00014 */ lw $s0, 0x14($sp) -/* 042F74 7F00E404 8FB10018 */ lw $s1, 0x18($sp) -/* 042F78 7F00E408 8FB2001C */ lw $s2, 0x1c($sp) -/* 042F7C 7F00E40C 8FB30020 */ lw $s3, 0x20($sp) -/* 042F80 7F00E410 8FB40024 */ lw $s4, 0x24($sp) -/* 042F84 7F00E414 8FB50028 */ lw $s5, 0x28($sp) -/* 042F88 7F00E418 03E00008 */ jr $ra -/* 042F8C 7F00E41C 27BD0060 */ addiu $sp, $sp, 0x60 - -) -#endif - -#endif - - -#ifdef NONMATCHING -s32 set_cursor_to_stage_solo(s32 arg0) -{ - cursor_h_pos = (f32) *(&cursor_xpos_table_mission_select + ((arg0 % 5) * 4)); - cursor_v_pos = (f32) *(&cursor_ypos_table_mission_select + ((arg0 / 5) * 4)); - return 5; -} -#else -GLOBAL_ASM( -.text -glabel set_cursor_to_stage_solo -/* 042F10 7F00E3E0 24020005 */ li $v0, 5 -/* 042F14 7F00E3E4 0082001A */ div $zero, $a0, $v0 -/* 042F18 7F00E3E8 00007010 */ mfhi $t6 -/* 042F1C 7F00E3EC 000E7880 */ sll $t7, $t6, 2 -/* 042F20 7F00E3F0 3C188003 */ lui $t8, %hi(cursor_xpos_table_mission_select) -/* 042F24 7F00E3F4 030FC021 */ addu $t8, $t8, $t7 -/* 042F28 7F00E3F8 8F18AFD0 */ lw $t8, %lo(cursor_xpos_table_mission_select)($t8) -/* 042F2C 7F00E3FC 0000C812 */ mflo $t9 -/* 042F30 7F00E400 00194080 */ sll $t0, $t9, 2 -/* 042F34 7F00E404 3C098003 */ lui $t1, %hi(cursor_ypos_table_mission_select) -/* 042F38 7F00E408 01284821 */ addu $t1, $t1, $t0 -/* 042F3C 7F00E40C 8D29AFE4 */ lw $t1, %lo(cursor_ypos_table_mission_select)($t1) -/* 042F40 7F00E410 44982000 */ mtc1 $t8, $f4 -/* 042F44 7F00E414 14400002 */ bnez $v0, .L7F00E420 -/* 042F48 7F00E418 00000000 */ nop -/* 042F4C 7F00E41C 0007000D */ break 7 -.L7F00E420: -/* 042F50 7F00E420 2401FFFF */ li $at, -1 -/* 042F54 7F00E424 14410004 */ bne $v0, $at, .L7F00E438 -/* 042F58 7F00E428 3C018000 */ lui $at, 0x8000 -/* 042F5C 7F00E42C 14810002 */ bne $a0, $at, .L7F00E438 -/* 042F60 7F00E430 00000000 */ nop -/* 042F64 7F00E434 0006000D */ break 6 -.L7F00E438: -/* 042F68 7F00E438 468021A0 */ cvt.s.w $f6, $f4 -/* 042F6C 7F00E43C 44894000 */ mtc1 $t1, $f8 -/* 042F70 7F00E440 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 042F74 7F00E444 468042A0 */ cvt.s.w $f10, $f8 -/* 042F78 7F00E448 E426A908 */ swc1 $f6, %lo(cursor_h_pos)($at) -/* 042F7C 7F00E44C 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 042F80 7F00E450 03E00008 */ jr $ra -/* 042F84 7F00E454 E42AA90C */ swc1 $f10, %lo(cursor_v_pos)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void constructor_menu07_missionsel(void) -{ - s32 spD8; - s32 spC8; - s32 spC4; - ? sp90; - ? sp8C; - ? sp88; - s32 temp_a1; - s32 temp_a2; - s32 temp_ret; - s32 temp_s6; - s32 temp_t3; - s32 temp_v1; - s8 temp_v1_2; - u32 temp_v0_2; - void *temp_a0; - void *temp_s7; - void *temp_v0; - s32 phi_s3; - void *phi_v0; - s32 phi_s4; - s32 phi_s5; - s32 phi_s6; - s32 phi_s4_2; - - temp_ret = insert_generic_fillrect(set_setfillcolor(0, 0, 0)); - temp_ret->unk4 = -1; - temp_ret->unk0 = 0xf8000000; - spD8 = 0; - phi_s4 = microcode_constructor(sub_GAME_7F00D5E8(temp_ret + 8)); -loop_1: - phi_s3 = spD8; - phi_s6 = 0; -loop_2: - phi_s4_2 = phi_s4; - if (get_highest_unlocked_difficulty_for_level(phi_s3) >= 0) - { - temp_s7 = (spD8 * 4) + &cursor_xpos_table_mission_select; - phi_s5 = 0x96969600; - if (phi_s3 == mission_difficulty_highlighted) - { - phi_s5 = -0x100; - } - temp_v0 = (pull_and_display_text_for_folder_a0(phi_s3) * 0x1c) + &mission_folder_setup_entries; - if (temp_v0->unk6 != 0) - { - textpointer_load_parse_something(&sp90, get_textptr_for_textID(temp_v0->unk6)); - } - else - { - textpointer_load_parse_something(&sp90, get_textptr_for_textID(temp_v0->unk4)); - } - if (j_text_trigger == 0) - { - temp_v1 = strlen(&sp90) + -1; - phi_v0 = &sp90 + temp_v1; - if (temp_v1 >= 0) - { -loop_10: - temp_v1_2 = *phi_v0; - if (temp_v1_2 >= 0x61) - { - *phi_v0 = (s8) (temp_v1_2 + -0x20); - } - temp_v0_2 = phi_v0 + -1; - phi_v0 = temp_v0_2; - if (temp_v0_2 >= &sp90) - { - goto loop_10; - } - } - } - string_append_from_obseg_textbank(&sp90, &asc_D_8004F4A0); - spC4 = 0; - temp_a0 = &spC8; - spC8 = 0; - sub_GAME_7F0AE98C(temp_a0, &spC4, &sp90, ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0); - temp_a2 = (subroutine_arg0 - spC8) + 0x1d; - temp_a1 = *temp_s7 + -0x1f; - get_video2_settings_txtClipW(); - get_video2_settings_txtClipW(*temp_s7 + -0x1f, (subroutine_arg0 - spC8) + 0x1d); - phi_s4_2 = en_text_write_stuff(en_text_write_stuff(microcode_constructor_related_to_menus(phi_s4, temp_a1, temp_a2, temp_a1 + spC4, (s32) (temp_a2 + spC8), 0), &sp8C, &sp88, &sp90, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, (s32) (phi_s5 | 0xff), get_video2_settings_txtClipH(), 0, 0), &sp8C, &sp88, &sp90, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, (s32) (phi_s5 | 0x64), get_video2_settings_txtClipH(), 0, 0); - } - temp_s6 = phi_s6 + 1; - phi_s3 = phi_s3 + 5; - phi_s4 = phi_s4_2; - phi_s6 = temp_s6; - if (temp_s6 != 4) - { - goto loop_2; - } - temp_t3 = spD8 + 1; - spD8 = temp_t3; - phi_s4 = phi_s4_2; - if (temp_t3 != 5) - { - goto loop_1; - } - load_draw_selected_icon_folder_select(add_tab3_previous(phi_s4_2)); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu07_missionsel -/* 042F88 7F00E458 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 042F8C 7F00E45C AFBF005C */ sw $ra, 0x5c($sp) -/* 042F90 7F00E460 AFBE0058 */ sw $fp, 0x58($sp) -/* 042F94 7F00E464 AFB70054 */ sw $s7, 0x54($sp) -/* 042F98 7F00E468 AFB60050 */ sw $s6, 0x50($sp) -/* 042F9C 7F00E46C AFB5004C */ sw $s5, 0x4c($sp) -/* 042FA0 7F00E470 AFB40048 */ sw $s4, 0x48($sp) -/* 042FA4 7F00E474 AFB30044 */ sw $s3, 0x44($sp) -/* 042FA8 7F00E478 AFB20040 */ sw $s2, 0x40($sp) -/* 042FAC 7F00E47C AFB1003C */ sw $s1, 0x3c($sp) -/* 042FB0 7F00E480 AFB00038 */ sw $s0, 0x38($sp) -/* 042FB4 7F00E484 00002825 */ move $a1, $zero -/* 042FB8 7F00E488 00003025 */ move $a2, $zero -/* 042FBC 7F00E48C 0C0011B4 */ jal set_setfillcolor -/* 042FC0 7F00E490 00003825 */ move $a3, $zero -/* 042FC4 7F00E494 0C000FBE */ jal insert_generic_fillrect -/* 042FC8 7F00E498 00402025 */ move $a0, $v0 -/* 042FCC 7F00E49C 3C0EF800 */ lui $t6, 0xf800 -/* 042FD0 7F00E4A0 240FFFFF */ li $t7, -1 -/* 042FD4 7F00E4A4 AC4F0004 */ sw $t7, 4($v0) -/* 042FD8 7F00E4A8 AC4E0000 */ sw $t6, ($v0) -/* 042FDC 7F00E4AC 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 042FE0 7F00E4B0 24440008 */ addiu $a0, $v0, 8 -/* 042FE4 7F00E4B4 0FC2B366 */ jal microcode_constructor -/* 042FE8 7F00E4B8 00402025 */ move $a0, $v0 -/* 042FEC 7F00E4BC 27B10090 */ addiu $s1, $sp, 0x90 -/* 042FF0 7F00E4C0 0040A025 */ move $s4, $v0 -/* 042FF4 7F00E4C4 02209025 */ move $s2, $s1 -/* 042FF8 7F00E4C8 AFA000D8 */ sw $zero, 0xd8($sp) -.L7F00E4CC: -/* 042FFC 7F00E4CC 8FB300D8 */ lw $s3, 0xd8($sp) -/* 043000 7F00E4D0 0000B025 */ move $s6, $zero -.L7F00E4D4: -/* 043004 7F00E4D4 0FC03730 */ jal pull_and_display_text_for_folder_a0 -/* 043008 7F00E4D8 02602025 */ move $a0, $s3 -/* 04300C 7F00E4DC 00408025 */ move $s0, $v0 -/* 043010 7F00E4E0 0FC03758 */ jal get_highest_unlocked_difficulty_for_level -/* 043014 7F00E4E4 02602025 */ move $a0, $s3 -/* 043018 7F00E4E8 0440008C */ bltz $v0, .L7F00E71C -/* 04301C 7F00E4EC 3C159696 */ lui $s5, (0x96969600 >> 16) # lui $s5, 0x9696 -/* 043020 7F00E4F0 8FB900D8 */ lw $t9, 0xd8($sp) -/* 043024 7F00E4F4 3C0C8007 */ lui $t4, %hi(mission_difficulty_highlighted) -/* 043028 7F00E4F8 8D8C9784 */ lw $t4, %lo(mission_difficulty_highlighted)($t4) -/* 04302C 7F00E4FC 3C098003 */ lui $t1, %hi(cursor_xpos_table_mission_select) -/* 043030 7F00E500 3C0B8003 */ lui $t3, %hi(cursor_ypos_table_mission_select) -/* 043034 7F00E504 256BAFE4 */ addiu $t3, %lo(cursor_ypos_table_mission_select) # addiu $t3, $t3, -0x501c -/* 043038 7F00E508 2529AFD0 */ addiu $t1, %lo(cursor_xpos_table_mission_select) # addiu $t1, $t1, -0x5030 -/* 04303C 7F00E50C 00165080 */ sll $t2, $s6, 2 -/* 043040 7F00E510 00194080 */ sll $t0, $t9, 2 -/* 043044 7F00E514 36B59600 */ ori $s5, (0x96969600 & 0xFFFF) # ori $s5, $s5, 0x9600 -/* 043048 7F00E518 0109B821 */ addu $s7, $t0, $t1 -/* 04304C 7F00E51C 166C0002 */ bne $s3, $t4, .L7F00E528 -/* 043050 7F00E520 014BF021 */ addu $fp, $t2, $t3 -/* 043054 7F00E524 2415FF00 */ li $s5, -256 -.L7F00E528: -/* 043058 7F00E528 001068C0 */ sll $t5, $s0, 3 -/* 04305C 7F00E52C 01B06823 */ subu $t5, $t5, $s0 -/* 043060 7F00E530 3C0E8003 */ lui $t6, %hi(mission_folder_setup_entries) -/* 043064 7F00E534 25CEABE4 */ addiu $t6, %lo(mission_folder_setup_entries) # addiu $t6, $t6, -0x541c -/* 043068 7F00E538 000D6880 */ sll $t5, $t5, 2 -/* 04306C 7F00E53C 01AE1021 */ addu $v0, $t5, $t6 -/* 043070 7F00E540 94430006 */ lhu $v1, 6($v0) -/* 043074 7F00E544 10600008 */ beqz $v1, .L7F00E568 -/* 043078 7F00E548 00000000 */ nop -/* 04307C 7F00E54C 0FC30776 */ jal get_textptr_for_textID -/* 043080 7F00E550 00602025 */ move $a0, $v1 -/* 043084 7F00E554 02402025 */ move $a0, $s2 -/* 043088 7F00E558 0C0029DC */ jal textpointer_load_parse_something -/* 04308C 7F00E55C 00402825 */ move $a1, $v0 -/* 043090 7F00E560 10000006 */ b .L7F00E57C -/* 043094 7F00E564 00000000 */ nop -.L7F00E568: -/* 043098 7F00E568 0FC30776 */ jal get_textptr_for_textID -/* 04309C 7F00E56C 94440004 */ lhu $a0, 4($v0) -/* 0430A0 7F00E570 02402025 */ move $a0, $s2 -/* 0430A4 7F00E574 0C0029DC */ jal textpointer_load_parse_something -/* 0430A8 7F00E578 00402825 */ move $a1, $v0 -.L7F00E57C: -/* 0430AC 7F00E57C 3C0F8005 */ lui $t7, %hi(j_text_trigger) -/* 0430B0 7F00E580 8DEF84D0 */ lw $t7, %lo(j_text_trigger)($t7) -/* 0430B4 7F00E584 15E0000F */ bnez $t7, .L7F00E5C4 -/* 0430B8 7F00E588 00000000 */ nop -/* 0430BC 7F00E58C 0C004E1F */ jal strlen -/* 0430C0 7F00E590 02402025 */ move $a0, $s2 -/* 0430C4 7F00E594 2443FFFF */ addiu $v1, $v0, -1 -/* 0430C8 7F00E598 0460000A */ bltz $v1, .L7F00E5C4 -/* 0430CC 7F00E59C 02431021 */ addu $v0, $s2, $v1 -/* 0430D0 7F00E5A0 90430000 */ lbu $v1, ($v0) -.L7F00E5A4: -/* 0430D4 7F00E5A4 28610061 */ slti $at, $v1, 0x61 -/* 0430D8 7F00E5A8 14200002 */ bnez $at, .L7F00E5B4 -/* 0430DC 7F00E5AC 2478FFE0 */ addiu $t8, $v1, -0x20 -/* 0430E0 7F00E5B0 A0580000 */ sb $t8, ($v0) -.L7F00E5B4: -/* 0430E4 7F00E5B4 2442FFFF */ addiu $v0, $v0, -1 -/* 0430E8 7F00E5B8 0051082B */ sltu $at, $v0, $s1 -/* 0430EC 7F00E5BC 5020FFF9 */ beql $at, $zero, .L7F00E5A4 -/* 0430F0 7F00E5C0 90430000 */ lbu $v1, ($v0) -.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_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) -/* 04310C 7F00E5DC 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 043110 7F00E5E0 AFA000C4 */ sw $zero, 0xc4($sp) -/* 043114 7F00E5E4 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 043118 7F00E5E8 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 04311C 7F00E5EC 27A500C4 */ addiu $a1, $sp, 0xc4 -/* 043120 7F00E5F0 02403025 */ move $a2, $s2 -/* 043124 7F00E5F4 AFA00014 */ sw $zero, 0x14($sp) -/* 043128 7F00E5F8 AFA000C8 */ sw $zero, 0xc8($sp) -/* 04312C 7F00E5FC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 043130 7F00E600 AFB90010 */ sw $t9, 0x10($sp) -/* 043134 7F00E604 8FA300C8 */ lw $v1, 0xc8($sp) -/* 043138 7F00E608 8FC80000 */ lw $t0, ($fp) -/* 04313C 7F00E60C 8EE50000 */ lw $a1, ($s7) -/* 043140 7F00E610 8FA900C4 */ lw $t1, 0xc4($sp) -/* 043144 7F00E614 01033023 */ subu $a2, $t0, $v1 -/* 043148 7F00E618 24C6001D */ addiu $a2, $a2, 0x1d -/* 04314C 7F00E61C 00C35021 */ addu $t2, $a2, $v1 -/* 043150 7F00E620 24A5FFE1 */ addiu $a1, $a1, -0x1f -/* 043154 7F00E624 AFA5008C */ sw $a1, 0x8c($sp) -/* 043158 7F00E628 AFAA0010 */ sw $t2, 0x10($sp) -/* 04315C 7F00E62C AFA60088 */ sw $a2, 0x88($sp) -/* 043160 7F00E630 02802025 */ move $a0, $s4 -/* 043164 7F00E634 AFA00014 */ sw $zero, 0x14($sp) -/* 043168 7F00E638 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04316C 7F00E63C 00A93821 */ addu $a3, $a1, $t1 -/* 043170 7F00E640 0C001107 */ jal get_video2_settings_txtClipW -/* 043174 7F00E644 0040A025 */ move $s4, $v0 -/* 043178 7F00E648 00028400 */ sll $s0, $v0, 0x10 -/* 04317C 7F00E64C 00105C03 */ sra $t3, $s0, 0x10 -/* 043180 7F00E650 0C00110B */ jal get_video2_settings_txtClipH -/* 043184 7F00E654 01608025 */ move $s0, $t3 -/* 043188 7F00E658 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) -/* 04318C 7F00E65C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) -/* 043190 7F00E660 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 043194 7F00E664 8D8C0EB0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 043198 7F00E668 36AE00FF */ ori $t6, $s5, 0xff -/* 04319C 7F00E66C AFAE0018 */ sw $t6, 0x18($sp) -/* 0431A0 7F00E670 02802025 */ move $a0, $s4 -/* 0431A4 7F00E674 27A5008C */ addiu $a1, $sp, 0x8c -/* 0431A8 7F00E678 27A60088 */ addiu $a2, $sp, 0x88 -/* 0431AC 7F00E67C 02403825 */ move $a3, $s2 -/* 0431B0 7F00E680 AFB0001C */ sw $s0, 0x1c($sp) -/* 0431B4 7F00E684 AFA20020 */ sw $v0, 0x20($sp) -/* 0431B8 7F00E688 AFA00024 */ sw $zero, 0x24($sp) -/* 0431BC 7F00E68C AFA00028 */ sw $zero, 0x28($sp) -/* 0431C0 7F00E690 AFAD0014 */ sw $t5, 0x14($sp) -/* 0431C4 7F00E694 0FC2B6AF */ jal en_text_write_stuff -/* 0431C8 7F00E698 AFAC0010 */ sw $t4, 0x10($sp) -/* 0431CC 7F00E69C 8FA300C8 */ lw $v1, 0xc8($sp) -/* 0431D0 7F00E6A0 8FCF0000 */ lw $t7, ($fp) -/* 0431D4 7F00E6A4 8EE50000 */ lw $a1, ($s7) -/* 0431D8 7F00E6A8 0040A025 */ move $s4, $v0 -/* 0431DC 7F00E6AC 01E33023 */ subu $a2, $t7, $v1 -/* 0431E0 7F00E6B0 24C6001D */ addiu $a2, $a2, 0x1d -/* 0431E4 7F00E6B4 24A5FFE1 */ addiu $a1, $a1, -0x1f -/* 0431E8 7F00E6B8 AFA5008C */ sw $a1, 0x8c($sp) -/* 0431EC 7F00E6BC 0C001107 */ jal get_video2_settings_txtClipW -/* 0431F0 7F00E6C0 AFA60088 */ sw $a2, 0x88($sp) -/* 0431F4 7F00E6C4 00028400 */ sll $s0, $v0, 0x10 -/* 0431F8 7F00E6C8 0010C403 */ sra $t8, $s0, 0x10 -/* 0431FC 7F00E6CC 0C00110B */ jal get_video2_settings_txtClipH -/* 043200 7F00E6D0 03008025 */ move $s0, $t8 -/* 043204 7F00E6D4 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall) -/* 043208 7F00E6D8 3C088004 */ lui $t0, %hi(ptrFirstFontTableSmall) -/* 04320C 7F00E6DC 8D080EAC */ lw $t0, %lo(ptrFirstFontTableSmall)($t0) -/* 043210 7F00E6E0 8F390EB0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9) -/* 043214 7F00E6E4 36A90064 */ ori $t1, $s5, 0x64 -/* 043218 7F00E6E8 AFA90018 */ sw $t1, 0x18($sp) -/* 04321C 7F00E6EC 02802025 */ move $a0, $s4 -/* 043220 7F00E6F0 27A5008C */ addiu $a1, $sp, 0x8c -/* 043224 7F00E6F4 27A60088 */ addiu $a2, $sp, 0x88 -/* 043228 7F00E6F8 02403825 */ move $a3, $s2 -/* 04322C 7F00E6FC AFB0001C */ sw $s0, 0x1c($sp) -/* 043230 7F00E700 AFA20020 */ sw $v0, 0x20($sp) -/* 043234 7F00E704 AFA00024 */ sw $zero, 0x24($sp) -/* 043238 7F00E708 AFA00028 */ sw $zero, 0x28($sp) -/* 04323C 7F00E70C AFA80014 */ sw $t0, 0x14($sp) -/* 043240 7F00E710 0FC2B6AF */ jal en_text_write_stuff -/* 043244 7F00E714 AFB90010 */ sw $t9, 0x10($sp) -/* 043248 7F00E718 0040A025 */ move $s4, $v0 -.L7F00E71C: -/* 04324C 7F00E71C 26D60001 */ addiu $s6, $s6, 1 -/* 043250 7F00E720 24010004 */ li $at, 4 -/* 043254 7F00E724 16C1FF6B */ bne $s6, $at, .L7F00E4D4 -/* 043258 7F00E728 26730005 */ addiu $s3, $s3, 5 -/* 04325C 7F00E72C 8FAA00D8 */ lw $t2, 0xd8($sp) -/* 043260 7F00E730 24010005 */ li $at, 5 -/* 043264 7F00E734 254B0001 */ addiu $t3, $t2, 1 -/* 043268 7F00E738 1561FF64 */ bne $t3, $at, .L7F00E4CC -/* 04326C 7F00E73C AFAB00D8 */ sw $t3, 0xd8($sp) -/* 043270 7F00E740 0FC0288E */ jal add_tab3_previous -/* 043274 7F00E744 02802025 */ move $a0, $s4 -/* 043278 7F00E748 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 04327C 7F00E74C 00402025 */ move $a0, $v0 -/* 043280 7F00E750 8FBF005C */ lw $ra, 0x5c($sp) -/* 043284 7F00E754 8FB00038 */ lw $s0, 0x38($sp) -/* 043288 7F00E758 8FB1003C */ lw $s1, 0x3c($sp) -/* 04328C 7F00E75C 8FB20040 */ lw $s2, 0x40($sp) -/* 043290 7F00E760 8FB30044 */ lw $s3, 0x44($sp) -/* 043294 7F00E764 8FB40048 */ lw $s4, 0x48($sp) -/* 043298 7F00E768 8FB5004C */ lw $s5, 0x4c($sp) -/* 04329C 7F00E76C 8FB60050 */ lw $s6, 0x50($sp) -/* 0432A0 7F00E770 8FB70054 */ lw $s7, 0x54($sp) -/* 0432A4 7F00E774 8FBE0058 */ lw $fp, 0x58($sp) -/* 0432A8 7F00E778 03E00008 */ jr $ra -/* 0432AC 7F00E77C 27BD00E0 */ addiu $sp, $sp, 0xe0 -) -#endif - - - -void init_menu08_difficultyselect(void) -{ - selected_difficulty = -1; - tab_2_selected = 0; - tab_3_selected = 0; - load_walletbond(); -} - -void update_menu08_difficulty(void) { - return; -} - - - - - -#ifdef NONMATCHING -void interface_menu08_difficulty(void) -{ - s32 sp1C; - - sp1C = get_highest_unlocked_difficulty_for_level((0x80030000 + (briefingpage * 0x1c))->unk-5408); - setvideo_far(0x42700000); - video_related_21(D_80051A4C); - set_page_height(0x42c80000, D_80051A50); - set_video2_settings_offset_24(0); - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 4, 1); - tab_3_highlight = 0; - mission_difficulty_highlighted = -1; - if (isontab3() != 0) - { - tab_3_highlight = 1; - } - else - { - if ((sp1C >= 3) && (D_80051A54 <= cursor_v_pos)) - { - mission_difficulty_highlighted = 3; - } - else - { - if ((sp1C >= 2) && (243.0f <= cursor_v_pos)) - { - mission_difficulty_highlighted = 2; - } - else - { - if ((sp1C > 0) && (211.0f <= cursor_v_pos)) - { - mission_difficulty_highlighted = 1; - } - else - { - mission_difficulty_highlighted = 0; - } - } - } - } - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - if (tab_3_highlight != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0, 1); - } - else - { - if (mission_difficulty_highlighted >= 0) - { - selected_difficulty = (s32) mission_difficulty_highlighted; - tab_2_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0x4d, 0, 1); - } - } - } - else - { - if (get_controller_buttons_pressed(0, 0x4000, 1) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0, 1); - } - } - menu_control_stick_tracking(); - if (tab_2_selected != 0) - { - if (selected_difficulty != 3) - { - set_menu_to_mode(0xa, 0); - set_cursor_pos_tab2(); - return; - } - set_menu_to_mode(9, 0); - set_cursor_pos_tab2(); - return; - } - if (tab_3_selected != 0) - { - set_menu_to_mode(7, 0); - set_cursor_to_stage_solo((0x80030000 + (briefingpage * 0x1c))->unk-5408); - } -} -#else -GLOBAL_ASM( -.text -glabel interface_menu08_difficulty -/* 0432F0 7F00E7C0 3C0E8003 */ lui $t6, %hi(briefingpage) -/* 0432F4 7F00E7C4 8DCEA8F8 */ lw $t6, %lo(briefingpage)($t6) -/* 0432F8 7F00E7C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0432FC 7F00E7CC 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+0x14) -/* 043300 7F00E7D0 000E78C0 */ sll $t7, $t6, 3 -/* 043304 7F00E7D4 01EE7823 */ subu $t7, $t7, $t6 -/* 043308 7F00E7D8 000F7880 */ sll $t7, $t7, 2 -/* 04330C 7F00E7DC AFBF0014 */ sw $ra, 0x14($sp) -/* 043310 7F00E7E0 008F2021 */ addu $a0, $a0, $t7 -/* 043314 7F00E7E4 0FC03758 */ jal get_highest_unlocked_difficulty_for_level -/* 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 setvideo_far -/* 043328 7F00E7F8 AFA2001C */ sw $v0, 0x1c($sp) -/* 04332C 7F00E7FC 3C018005 */ lui $at, %hi(D_80051A4C) -/* 043330 7F00E800 0C001164 */ jal video_related_21 -/* 043334 7F00E804 C42C1A4C */ lwc1 $f12, %lo(D_80051A4C)($at) -/* 043338 7F00E808 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04333C 7F00E80C 44816000 */ mtc1 $at, $f12 -/* 043340 7F00E810 3C018005 */ lui $at, %hi(D_80051A50) -/* 043344 7F00E814 0C001194 */ jal set_page_height -/* 043348 7F00E818 C42E1A50 */ lwc1 $f14, %lo(D_80051A50)($at) -/* 04334C 7F00E81C 0C00114D */ jal set_video2_settings_offset_24 -/* 043350 7F00E820 00002025 */ move $a0, $zero -/* 043354 7F00E824 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 043358 7F00E828 0FC02DC9 */ jal disable_all_switches -/* 04335C 7F00E82C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 043360 7F00E830 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 043364 7F00E834 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 043368 7F00E838 00002825 */ move $a1, $zero -/* 04336C 7F00E83C 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 043370 7F00E840 24060001 */ li $a2, 1 -/* 043374 7F00E844 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 043378 7F00E848 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04337C 7F00E84C 24050001 */ li $a1, 1 -/* 043380 7F00E850 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 043384 7F00E854 24060001 */ li $a2, 1 -/* 043388 7F00E858 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04338C 7F00E85C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 043390 7F00E860 24050003 */ li $a1, 3 -/* 043394 7F00E864 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 043398 7F00E868 24060001 */ li $a2, 1 -/* 04339C 7F00E86C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 0433A0 7F00E870 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 0433A4 7F00E874 24050004 */ li $a1, 4 -/* 0433A8 7F00E878 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 0433AC 7F00E87C 24060001 */ li $a2, 1 -/* 0433B0 7F00E880 3C038007 */ lui $v1, %hi(mission_difficulty_highlighted) -/* 0433B4 7F00E884 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 0433B8 7F00E888 24639784 */ addiu $v1, %lo(mission_difficulty_highlighted) # addiu $v1, $v1, -0x687c -/* 0433BC 7F00E88C AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 0433C0 7F00E890 2418FFFF */ li $t8, -1 -/* 0433C4 7F00E894 0FC028E7 */ jal isontab3 -/* 0433C8 7F00E898 AC780000 */ sw $t8, ($v1) -/* 0433CC 7F00E89C 3C038007 */ lui $v1, %hi(mission_difficulty_highlighted) -/* 0433D0 7F00E8A0 10400005 */ beqz $v0, .L7F00E8B8 -/* 0433D4 7F00E8A4 24639784 */ addiu $v1, %lo(mission_difficulty_highlighted) # addiu $v1, $v1, -0x687c -/* 0433D8 7F00E8A8 24190001 */ li $t9, 1 -/* 0433DC 7F00E8AC 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 0433E0 7F00E8B0 1000002A */ b .L7F00E95C -/* 0433E4 7F00E8B4 AC39A8E4 */ sw $t9, %lo(tab_3_highlight)($at) -.L7F00E8B8: -/* 0433E8 7F00E8B8 8FA4001C */ lw $a0, 0x1c($sp) -/* 0433EC 7F00E8BC 3C028003 */ lui $v0, %hi(cursor_v_pos) -/* 0433F0 7F00E8C0 2442A90C */ addiu $v0, %lo(cursor_v_pos) # addiu $v0, $v0, -0x56f4 -/* 0433F4 7F00E8C4 28810003 */ slti $at, $a0, 3 -/* 0433F8 7F00E8C8 1420000A */ bnez $at, .L7F00E8F4 -/* 0433FC 7F00E8CC 3C018005 */ lui $at, %hi(D_80051A54) -/* 043400 7F00E8D0 C4261A54 */ lwc1 $f6, %lo(D_80051A54)($at) -/* 043404 7F00E8D4 C4440000 */ lwc1 $f4, ($v0) -/* 043408 7F00E8D8 24080003 */ li $t0, 3 -/* 04340C 7F00E8DC 4604303E */ c.le.s $f6, $f4 -/* 043410 7F00E8E0 00000000 */ nop -/* 043414 7F00E8E4 45000003 */ bc1f .L7F00E8F4 -/* 043418 7F00E8E8 00000000 */ nop -/* 04341C 7F00E8EC 1000001B */ b .L7F00E95C -/* 043420 7F00E8F0 AC680000 */ sw $t0, ($v1) -.L7F00E8F4: -/* 043424 7F00E8F4 3C028003 */ lui $v0, %hi(cursor_v_pos) -/* 043428 7F00E8F8 28810002 */ slti $at, $a0, 2 -/* 04342C 7F00E8FC 1420000B */ bnez $at, .L7F00E92C -/* 043430 7F00E900 2442A90C */ addiu $v0, %lo(cursor_v_pos) # addiu $v0, $v0, -0x56f4 -/* 043434 7F00E904 3C014373 */ li $at, 0x43730000 # 243.000000 -/* 043438 7F00E908 44815000 */ mtc1 $at, $f10 -/* 04343C 7F00E90C C4480000 */ lwc1 $f8, ($v0) -/* 043440 7F00E910 24090002 */ li $t1, 2 -/* 043444 7F00E914 4608503E */ c.le.s $f10, $f8 -/* 043448 7F00E918 00000000 */ nop -/* 04344C 7F00E91C 45000003 */ bc1f .L7F00E92C -/* 043450 7F00E920 00000000 */ nop -/* 043454 7F00E924 1000000D */ b .L7F00E95C -/* 043458 7F00E928 AC690000 */ sw $t1, ($v1) -.L7F00E92C: -/* 04345C 7F00E92C 1880000A */ blez $a0, .L7F00E958 -/* 043460 7F00E930 3C014353 */ li $at, 0x43530000 # 211.000000 -/* 043464 7F00E934 C4500000 */ lwc1 $f16, ($v0) -/* 043468 7F00E938 44819000 */ mtc1 $at, $f18 -/* 04346C 7F00E93C 24070001 */ li $a3, 1 -/* 043470 7F00E940 4610903E */ c.le.s $f18, $f16 -/* 043474 7F00E944 00000000 */ nop -/* 043478 7F00E948 45020004 */ bc1fl .L7F00E95C -/* 04347C 7F00E94C AC600000 */ sw $zero, ($v1) -/* 043480 7F00E950 10000002 */ b .L7F00E95C -/* 043484 7F00E954 AC670000 */ sw $a3, ($v1) -.L7F00E958: -/* 043488 7F00E958 AC600000 */ sw $zero, ($v1) -.L7F00E95C: -/* 04348C 7F00E95C 00002025 */ move $a0, $zero -/* 043490 7F00E960 0C0030EB */ jal get_controller_buttons_pressed -/* 043494 7F00E964 3405B000 */ li $a1, 45056 -/* 043498 7F00E968 3C038007 */ lui $v1, %hi(mission_difficulty_highlighted) -/* 04349C 7F00E96C 24639784 */ addiu $v1, %lo(mission_difficulty_highlighted) # addiu $v1, $v1, -0x687c -/* 0434A0 7F00E970 1040001A */ beqz $v0, .L7F00E9DC -/* 0434A4 7F00E974 24070001 */ li $a3, 1 -/* 0434A8 7F00E978 3C0A8003 */ lui $t2, %hi(tab_3_highlight) -/* 0434AC 7F00E97C 8D4AA8E4 */ lw $t2, %lo(tab_3_highlight)($t2) -/* 0434B0 7F00E980 3C018003 */ lui $at, %hi(tab_3_selected) -/* 0434B4 7F00E984 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0434B8 7F00E988 11400007 */ beqz $t2, .L7F00E9A8 -/* 0434BC 7F00E98C 240500C7 */ li $a1, 199 -/* 0434C0 7F00E990 AC27A8D8 */ sw $a3, %lo(tab_3_selected)($at) -/* 0434C4 7F00E994 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0434C8 7F00E998 0C002382 */ jal play_sfx_a1 -/* 0434CC 7F00E99C 00003025 */ move $a2, $zero -/* 0434D0 7F00E9A0 1000001A */ b .L7F00EA0C -/* 0434D4 7F00E9A4 00000000 */ nop -.L7F00E9A8: -/* 0434D8 7F00E9A8 8C620000 */ lw $v0, ($v1) -/* 0434DC 7F00E9AC 3C018003 */ lui $at, %hi(selected_difficulty) -/* 0434E0 7F00E9B0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0434E4 7F00E9B4 04400015 */ bltz $v0, .L7F00EA0C -/* 0434E8 7F00E9B8 2405004D */ li $a1, 77 -/* 0434EC 7F00E9BC AC22A8FC */ sw $v0, %lo(selected_difficulty)($at) -/* 0434F0 7F00E9C0 3C018003 */ lui $at, %hi(tab_2_selected) -/* 0434F4 7F00E9C4 AC27A8D4 */ sw $a3, %lo(tab_2_selected)($at) -/* 0434F8 7F00E9C8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0434FC 7F00E9CC 0C002382 */ jal play_sfx_a1 -/* 043500 7F00E9D0 00003025 */ move $a2, $zero -/* 043504 7F00E9D4 1000000D */ b .L7F00EA0C -/* 043508 7F00E9D8 00000000 */ nop -.L7F00E9DC: -/* 04350C 7F00E9DC 00002025 */ move $a0, $zero -/* 043510 7F00E9E0 0C0030EB */ jal get_controller_buttons_pressed -/* 043514 7F00E9E4 24054000 */ li $a1, 16384 -/* 043518 7F00E9E8 10400008 */ beqz $v0, .L7F00EA0C -/* 04351C 7F00E9EC 24070001 */ li $a3, 1 -/* 043520 7F00E9F0 3C018003 */ lui $at, %hi(tab_3_selected) -/* 043524 7F00E9F4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 043528 7F00E9F8 AC27A8D8 */ sw $a3, %lo(tab_3_selected)($at) -/* 04352C 7F00E9FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 043530 7F00EA00 240500C7 */ li $a1, 199 -/* 043534 7F00EA04 0C002382 */ jal play_sfx_a1 -/* 043538 7F00EA08 00003025 */ move $a2, $zero -.L7F00EA0C: -/* 04353C 7F00EA0C 0FC026E1 */ jal menu_control_stick_tracking -/* 043540 7F00EA10 00000000 */ nop -/* 043544 7F00EA14 3C0B8003 */ lui $t3, %hi(tab_2_selected) -/* 043548 7F00EA18 8D6BA8D4 */ lw $t3, %lo(tab_2_selected)($t3) -/* 04354C 7F00EA1C 3C0C8003 */ lui $t4, %hi(selected_difficulty) -/* 043550 7F00EA20 3C0D8003 */ lui $t5, %hi(tab_3_selected) -/* 043554 7F00EA24 11600012 */ beqz $t3, .L7F00EA70 -/* 043558 7F00EA28 00000000 */ nop -/* 04355C 7F00EA2C 8D8CA8FC */ lw $t4, %lo(selected_difficulty)($t4) -/* 043560 7F00EA30 24010003 */ li $at, 3 -/* 043564 7F00EA34 00002825 */ move $a1, $zero -/* 043568 7F00EA38 15810007 */ bne $t4, $at, .L7F00EA58 -/* 04356C 7F00EA3C 2404000A */ li $a0, 10 -/* 043570 7F00EA40 0FC06975 */ jal set_menu_to_mode -/* 043574 7F00EA44 24040009 */ li $a0, 9 -/* 043578 7F00EA48 0FC028FC */ jal set_cursor_pos_tab2 -/* 04357C 7F00EA4C 00000000 */ nop -/* 043580 7F00EA50 10000017 */ b .L7F00EAB0 -/* 043584 7F00EA54 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00EA58: -/* 043588 7F00EA58 0FC06975 */ jal set_menu_to_mode -/* 04358C 7F00EA5C 00002825 */ move $a1, $zero -/* 043590 7F00EA60 0FC028FC */ jal set_cursor_pos_tab2 -/* 043594 7F00EA64 00000000 */ nop -/* 043598 7F00EA68 10000011 */ b .L7F00EAB0 -/* 04359C 7F00EA6C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00EA70: -/* 0435A0 7F00EA70 8DADA8D8 */ lw $t5, %lo(tab_3_selected)($t5) -/* 0435A4 7F00EA74 24040007 */ li $a0, 7 -/* 0435A8 7F00EA78 51A0000D */ beql $t5, $zero, .L7F00EAB0 -/* 0435AC 7F00EA7C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0435B0 7F00EA80 0FC06975 */ jal set_menu_to_mode -/* 0435B4 7F00EA84 00002825 */ move $a1, $zero -/* 0435B8 7F00EA88 3C0E8003 */ lui $t6, %hi(briefingpage) -/* 0435BC 7F00EA8C 8DCEA8F8 */ lw $t6, %lo(briefingpage)($t6) -/* 0435C0 7F00EA90 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20) -/* 0435C4 7F00EA94 000E78C0 */ sll $t7, $t6, 3 -/* 0435C8 7F00EA98 01EE7823 */ subu $t7, $t7, $t6 -/* 0435CC 7F00EA9C 000F7880 */ sll $t7, $t7, 2 -/* 0435D0 7F00EAA0 008F2021 */ addu $a0, $a0, $t7 -/* 0435D4 7F00EAA4 0FC038F8 */ jal set_cursor_to_stage_solo -/* 0435D8 7F00EAA8 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0) -/* 0435DC 7F00EAAC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00EAB0: -/* 0435E0 7F00EAB0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0435E4 7F00EAB4 03E00008 */ jr $ra -/* 0435E8 7F00EAB8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void print_current_solo_briefing_stage_name(s32 arg0, s32 arg1) -{ - ?32 sp54; - ?32 sp50; - s32 sp4C; - s16 sp44; - void *sp40; - s32 temp_ret; - void *temp_v1; - - if (selected_difficulty >= 0) - { - textpointer_load_parse_something(arg1, get_ptr_difficulty_name(selected_difficulty, selected_difficulty)); - string_append_from_obseg_textbank(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x20))); - sp54 = 0x37; - sp50 = 0x57; - 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); - } - temp_ret = get_chapter_briefing_entry(briefingpage); - sp4C = temp_ret; - if (temp_ret >= 0) - { - textpointer_load_parse_something(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x21))); - temp_v1 = (sp4C * 0x1c) + &mission_folder_setup_entries; - sp40 = temp_v1; - 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_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(); - write_text_at_abs_coord(arg0, &sp54, &sp50, arg1, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); -} -#else -GLOBAL_ASM( -.text -glabel print_current_solo_briefing_stage_name -/* 0435EC 7F00EABC 3C068003 */ lui $a2, %hi(selected_difficulty) -/* 0435F0 7F00EAC0 8CC6A8FC */ lw $a2, %lo(selected_difficulty)($a2) -/* 0435F4 7F00EAC4 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0435F8 7F00EAC8 AFB00038 */ sw $s0, 0x38($sp) -/* 0435FC 7F00EACC 00A08025 */ move $s0, $a1 -/* 043600 7F00EAD0 AFBF003C */ sw $ra, 0x3c($sp) -/* 043604 7F00EAD4 04C00025 */ bltz $a2, .L7F00EB6C -/* 043608 7F00EAD8 AFA40058 */ sw $a0, 0x58($sp) -/* 04360C 7F00EADC 0FC030E1 */ jal get_ptr_difficulty_name -/* 043610 7F00EAE0 00C02025 */ move $a0, $a2 -/* 043614 7F00EAE4 02002025 */ move $a0, $s0 -/* 043618 7F00EAE8 0C0029DC */ jal textpointer_load_parse_something -/* 04361C 7F00EAEC 00402825 */ move $a1, $v0 -/* 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_append_from_obseg_textbank -/* 043630 7F00EB00 00402825 */ move $a1, $v0 -/* 043634 7F00EB04 240E0037 */ li $t6, 55 -/* 043638 7F00EB08 240F0057 */ li $t7, 87 -/* 04363C 7F00EB0C AFAE0054 */ sw $t6, 0x54($sp) -/* 043640 7F00EB10 0C001107 */ jal get_video2_settings_txtClipW -/* 043644 7F00EB14 AFAF0050 */ sw $t7, 0x50($sp) -/* 043648 7F00EB18 0C00110B */ jal get_video2_settings_txtClipH -/* 04364C 7F00EB1C A7A20044 */ sh $v0, 0x44($sp) -/* 043650 7F00EB20 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 043654 7F00EB24 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 043658 7F00EB28 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 04365C 7F00EB2C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 043660 7F00EB30 87A90044 */ lh $t1, 0x44($sp) -/* 043664 7F00EB34 240800FF */ li $t0, 255 -/* 043668 7F00EB38 AFA80018 */ sw $t0, 0x18($sp) -/* 04366C 7F00EB3C 8FA40058 */ lw $a0, 0x58($sp) -/* 043670 7F00EB40 27A50054 */ addiu $a1, $sp, 0x54 -/* 043674 7F00EB44 27A60050 */ addiu $a2, $sp, 0x50 -/* 043678 7F00EB48 02003825 */ move $a3, $s0 -/* 04367C 7F00EB4C AFA20020 */ sw $v0, 0x20($sp) -/* 043680 7F00EB50 AFA00024 */ sw $zero, 0x24($sp) -/* 043684 7F00EB54 AFA00028 */ sw $zero, 0x28($sp) -/* 043688 7F00EB58 AFB90014 */ sw $t9, 0x14($sp) -/* 04368C 7F00EB5C AFB80010 */ sw $t8, 0x10($sp) -/* 043690 7F00EB60 0FC025D8 */ jal write_text_at_abs_coord -/* 043694 7F00EB64 AFA9001C */ sw $t1, 0x1c($sp) -/* 043698 7F00EB68 AFA20058 */ sw $v0, 0x58($sp) -.L7F00EB6C: -/* 04369C 7F00EB6C 3C048003 */ lui $a0, %hi(briefingpage) -/* 0436A0 7F00EB70 0FC02EC7 */ jal get_chapter_briefing_entry -/* 0436A4 7F00EB74 8C84A8F8 */ lw $a0, %lo(briefingpage)($a0) -/* 0436A8 7F00EB78 04400039 */ bltz $v0, .L7F00EC60 -/* 0436AC 7F00EB7C AFA2004C */ sw $v0, 0x4c($sp) -/* 0436B0 7F00EB80 0FC30776 */ jal get_textptr_for_textID -/* 0436B4 7F00EB84 34049C21 */ li $a0, 39969 -/* 0436B8 7F00EB88 02002025 */ move $a0, $s0 -/* 0436BC 7F00EB8C 0C0029DC */ jal textpointer_load_parse_something -/* 0436C0 7F00EB90 00402825 */ move $a1, $v0 -/* 0436C4 7F00EB94 8FAA004C */ lw $t2, 0x4c($sp) -/* 0436C8 7F00EB98 3C0C8003 */ lui $t4, %hi(mission_folder_setup_entries) -/* 0436CC 7F00EB9C 258CABE4 */ addiu $t4, %lo(mission_folder_setup_entries) # addiu $t4, $t4, -0x541c -/* 0436D0 7F00EBA0 000A58C0 */ sll $t3, $t2, 3 -/* 0436D4 7F00EBA4 016A5823 */ subu $t3, $t3, $t2 -/* 0436D8 7F00EBA8 000B5880 */ sll $t3, $t3, 2 -/* 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_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_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_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_append_from_obseg_textbank -/* 043724 7F00EBF4 02002025 */ move $a0, $s0 -/* 043728 7F00EBF8 240E0037 */ li $t6, 55 -/* 04372C 7F00EBFC 240F0067 */ li $t7, 103 -/* 043730 7F00EC00 AFAE0054 */ sw $t6, 0x54($sp) -/* 043734 7F00EC04 0C001107 */ jal get_video2_settings_txtClipW -/* 043738 7F00EC08 AFAF0050 */ sw $t7, 0x50($sp) -/* 04373C 7F00EC0C 0C00110B */ jal get_video2_settings_txtClipH -/* 043740 7F00EC10 A7A20044 */ sh $v0, 0x44($sp) -/* 043744 7F00EC14 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 043748 7F00EC18 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 04374C 7F00EC1C 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 043750 7F00EC20 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 043754 7F00EC24 87A90044 */ lh $t1, 0x44($sp) -/* 043758 7F00EC28 240800FF */ li $t0, 255 -/* 04375C 7F00EC2C AFA80018 */ sw $t0, 0x18($sp) -/* 043760 7F00EC30 8FA40058 */ lw $a0, 0x58($sp) -/* 043764 7F00EC34 27A50054 */ addiu $a1, $sp, 0x54 -/* 043768 7F00EC38 27A60050 */ addiu $a2, $sp, 0x50 -/* 04376C 7F00EC3C 02003825 */ move $a3, $s0 -/* 043770 7F00EC40 AFA20020 */ sw $v0, 0x20($sp) -/* 043774 7F00EC44 AFA00024 */ sw $zero, 0x24($sp) -/* 043778 7F00EC48 AFA00028 */ sw $zero, 0x28($sp) -/* 04377C 7F00EC4C AFB90014 */ sw $t9, 0x14($sp) -/* 043780 7F00EC50 AFB80010 */ sw $t8, 0x10($sp) -/* 043784 7F00EC54 0FC025D8 */ jal write_text_at_abs_coord -/* 043788 7F00EC58 AFA9001C */ sw $t1, 0x1c($sp) -/* 04378C 7F00EC5C AFA20058 */ sw $v0, 0x58($sp) -.L7F00EC60: -/* 043790 7F00EC60 0FC30776 */ jal get_textptr_for_textID -/* 043794 7F00EC64 34049C22 */ li $a0, 39970 -/* 043798 7F00EC68 02002025 */ move $a0, $s0 -/* 04379C 7F00EC6C 0C0029DC */ jal textpointer_load_parse_something -/* 0437A0 7F00EC70 00402825 */ move $a1, $v0 -/* 0437A4 7F00EC74 3C0A8003 */ lui $t2, %hi(briefingpage) -/* 0437A8 7F00EC78 8D4AA8F8 */ lw $t2, %lo(briefingpage)($t2) -/* 0437AC 7F00EC7C 3C058003 */ lui $a1, %hi(mission_folder_setup_entries) -/* 0437B0 7F00EC80 02002025 */ move $a0, $s0 -/* 0437B4 7F00EC84 000A58C0 */ sll $t3, $t2, 3 -/* 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_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_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) -/* 0437E4 7F00ECB4 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+0x4) -/* 0437E8 7F00ECB8 000C68C0 */ sll $t5, $t4, 3 -/* 0437EC 7F00ECBC 01AC6823 */ subu $t5, $t5, $t4 -/* 0437F0 7F00ECC0 000D6880 */ sll $t5, $t5, 2 -/* 0437F4 7F00ECC4 008D2021 */ addu $a0, $a0, $t5 -/* 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_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_append_from_obseg_textbank -/* 043818 7F00ECE8 02002025 */ move $a0, $s0 -/* 04381C 7F00ECEC 240E0037 */ li $t6, 55 -/* 043820 7F00ECF0 240F0077 */ li $t7, 119 -/* 043824 7F00ECF4 AFAE0054 */ sw $t6, 0x54($sp) -/* 043828 7F00ECF8 0C001107 */ jal get_video2_settings_txtClipW -/* 04382C 7F00ECFC AFAF0050 */ sw $t7, 0x50($sp) -/* 043830 7F00ED00 0C00110B */ jal get_video2_settings_txtClipH -/* 043834 7F00ED04 A7A20044 */ sh $v0, 0x44($sp) -/* 043838 7F00ED08 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 04383C 7F00ED0C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 043840 7F00ED10 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 043844 7F00ED14 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 043848 7F00ED18 87A90044 */ lh $t1, 0x44($sp) -/* 04384C 7F00ED1C 240800FF */ li $t0, 255 -/* 043850 7F00ED20 AFA80018 */ sw $t0, 0x18($sp) -/* 043854 7F00ED24 8FA40058 */ lw $a0, 0x58($sp) -/* 043858 7F00ED28 27A50054 */ addiu $a1, $sp, 0x54 -/* 04385C 7F00ED2C 27A60050 */ addiu $a2, $sp, 0x50 -/* 043860 7F00ED30 02003825 */ move $a3, $s0 -/* 043864 7F00ED34 AFA20020 */ sw $v0, 0x20($sp) -/* 043868 7F00ED38 AFA00024 */ sw $zero, 0x24($sp) -/* 04386C 7F00ED3C AFA00028 */ sw $zero, 0x28($sp) -/* 043870 7F00ED40 AFB90014 */ sw $t9, 0x14($sp) -/* 043874 7F00ED44 AFB80010 */ sw $t8, 0x10($sp) -/* 043878 7F00ED48 0FC025D8 */ jal write_text_at_abs_coord -/* 04387C 7F00ED4C AFA9001C */ sw $t1, 0x1c($sp) -/* 043880 7F00ED50 8FBF003C */ lw $ra, 0x3c($sp) -/* 043884 7F00ED54 8FB00038 */ lw $s0, 0x38($sp) -/* 043888 7F00ED58 27BD0058 */ addiu $sp, $sp, 0x58 -/* 04388C 7F00ED5C 03E00008 */ jr $ra -/* 043890 7F00ED60 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_cursor_pos_difficulty(s32 arg0) -{ - cursor_h_pos = 106.0f; - cursor_v_pos = (f32) ((arg0 * 0x1e) + 0xba); -} -#else -GLOBAL_ASM( -.text -glabel set_cursor_pos_difficulty -/* 043894 7F00ED64 00047100 */ sll $t6, $a0, 4 -/* 043898 7F00ED68 01C47023 */ subu $t6, $t6, $a0 -/* 04389C 7F00ED6C 000E7040 */ sll $t6, $t6, 1 -/* 0438A0 7F00ED70 25CF00BA */ addiu $t7, $t6, 0xba -/* 0438A4 7F00ED74 448F3000 */ mtc1 $t7, $f6 -/* 0438A8 7F00ED78 3C0142D4 */ li $at, 0x42D40000 # 106.000000 -/* 0438AC 7F00ED7C 44812000 */ mtc1 $at, $f4 -/* 0438B0 7F00ED80 46803220 */ cvt.s.w $f8, $f6 -/* 0438B4 7F00ED84 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 0438B8 7F00ED88 E424A908 */ swc1 $f4, %lo(cursor_h_pos)($at) -/* 0438BC 7F00ED8C 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 0438C0 7F00ED90 03E00008 */ jr $ra -/* 0438C4 7F00ED94 E428A90C */ swc1 $f8, %lo(cursor_v_pos)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void constructor_menu08_difficulty(s32 arg0) -{ - s32 spC68; - s32 spC60; - ?32 spC5C; - ? spA4; - s32 sp9C; - ? sp98; - f32 sp94; - f32 sp90; - f32 sp8C; - f32 sp88; - f32 temp_f16; - f32 temp_f8; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_ret_4; - s32 temp_s1; - s32 temp_s1_2; - s32 temp_v0; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v0_4; - s32 temp_v1; - void *temp_s0; - void *temp_t8; - void *temp_t9; - void *phi_t9; - void *phi_t8; - s32 phi_v0; - s32 phi_s1; - void *phi_s2; - s32 phi_v0_2; - void *phi_s2_2; - s32 phi_s1_2; - f32 phi_f16; - f32 phi_f8; - void *phi_s2_3; - - spC68 = get_highest_unlocked_difficulty_for_level((0x80030000 + (briefingpage * 0x1c))->unk-5408); - temp_ret = set_setfillcolor(arg0, 0, 0, 0); - arg0 = temp_ret; - temp_v0 = temp_ret; - temp_ret_2 = insert_generic_fillrect(temp_v0); - arg0 = temp_ret_2; - temp_v0_2 = temp_ret_2; - temp_ret_3 = sub_GAME_7F00D5E8(temp_v0_2); - arg0 = temp_ret_3; - temp_v0_3 = temp_ret_3; - phi_t9 = &asc_D_8004F4B4; - phi_t8 = &spA4; -loop_1: - temp_t9 = phi_t9 + 0xc; - temp_t8 = phi_t8 + 0xc; - temp_t8->unk-C = (?32) *phi_t9; - temp_t8->unk-8 = (?32) temp_t9->unk-8; - temp_t8->unk-4 = (?32) temp_t9->unk-4; - phi_t9 = temp_t9; - phi_t8 = temp_t8; - if (temp_t9 != (&asc_D_8004F4B4 + 0xbb8)) - { - goto loop_1; - } - temp_ret_4 = microcode_constructor(temp_v0_3); - arg0 = temp_ret_4; - temp_v0_4 = temp_ret_4; - arg0 = print_current_solo_briefing_stage_name(temp_v0_4, &spA4); - spC60 = 0x37; - spC5C = 0x8f; - get_video2_settings_txtClipW(); - arg0 = write_text_at_abs_coord(arg0, &spC60, &spC5C, get_textptr_for_textID(TEXT(LTITLE, 0x23)), (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, get_video2_settings_txtClipH(), 0, 0); - if (mission_difficulty_highlighted >= 0) - { - if (j_text_trigger != 0) - { - phi_v0 = 0x32; - } - else - { - phi_v0 = 0; - } - temp_v1 = mission_difficulty_highlighted * 0x1e; - arg0 = microcode_constructor_related_to_menus(arg0, 0x7e - phi_v0, temp_v1 + 0xb2, 0xf0, (s32) (temp_v1 + 0xc3), 0x32); - } - phi_s1 = 0; - phi_s2_3 = spA0; -loop_8: - if ((phi_s1 == 0) || (spC68 >= phi_s1)) - { - if (j_text_trigger != 0) - { - if (phi_s1 != 0) - { - if (phi_s1 != 1) - { - if (phi_s1 != 2) - { - if (phi_s1 != 3) - { - phi_s2 = phi_s2_3; - } - else - { - phi_s2 = get_textptr_for_textID(TEXT(LTITLE, 0x10c)); -block_21: - } - } - else - { - phi_s2 = get_textptr_for_textID(TEXT(LTITLE, 0x10b)); - goto block_21; - } - } - else - { - phi_s2 = get_textptr_for_textID(TEXT(LTITLE, 0x10a)); - goto block_21; - } - } - else - { - phi_s2 = get_textptr_for_textID(TEXT(LTITLE, 0x109)); - goto block_21; - } - } - else - { - sprintf(&spA4, &aD_, phi_s1 + 1); - phi_s2 = &spA4; - goto block_21; - } - sub_GAME_7F0AE98C(&sp98, &sp9C, phi_s2, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - phi_v0_2 = 0; - if (j_text_trigger != 0) - { - phi_v0_2 = sp9C + -0xa; - } - spC60 = (s32) (0x82 - phi_v0_2); - get_video2_settings_txtClipW(); - arg0 = write_text_at_abs_coord(arg0, &spC60, &spC5C, phi_s2, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, get_video2_settings_txtClipH(), 0, 0); - if (phi_s1 != 0) - { - if (phi_s1 != 1) - { - if (phi_s1 != 2) - { - if (phi_s1 != 3) - { - phi_s2_2 = phi_s2; - } - else - { - phi_s2_2 = get_textptr_for_textID(TEXT(LTITLE, 0x27)); -block_33: - } - } - else - { - phi_s2_2 = get_textptr_for_textID(TEXT(LTITLE, 0x26)); - goto block_33; - } - } - else - { - phi_s2_2 = get_textptr_for_textID(TEXT(LTITLE, 0x25)); - goto block_33; - } - } - else - { - phi_s2_2 = get_textptr_for_textID(TEXT(LTITLE, 0x24)); - goto block_33; - } - spC60 = (s32) 0x96; - get_video2_settings_txtClipW(); - arg0 = write_text_at_abs_coord(arg0, &spC60, &spC5C, phi_s2_2, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, get_video2_settings_txtClipH(), 0, 0); - phi_s2_3 = phi_s2_2; - } - else - { - - } - temp_s1 = phi_s1 + 1; - phi_s1 = temp_s1; - if (temp_s1 < 4) - { - goto loop_8; - } - arg0 = add_tab3_previous(arg0); - phi_s1_2 = 0; -loop_37: - if ((phi_s1_2 == 0) || (spC68 >= phi_s1_2)) - { - if (check_if_stage_completed_on_difficulty(briefingpage, phi_s1_2) == 3) - { - sp90 = 280.0f; - temp_s0 = mainfolderimages + 0x30; - sp94 = (f32) ((((phi_s1_2 * 0x10) - phi_s1_2) * 2) + 0xba); - temp_f16 = (f32) temp_s0->unk4; - phi_f16 = temp_f16; - if (temp_s0->unk4 < 0) - { - phi_f16 = temp_f16 + 4294967296.0f; - } - sp88 = (f32) (phi_f16 * 0.5f); - temp_f8 = (f32) temp_s0->unk5; - phi_f8 = temp_f8; - if (temp_s0->unk5 < 0) - { - phi_f8 = temp_f8 + 4294967296.0f; - } - sp8C = (f32) (phi_f8 * 0.5f); - likely_generate_DL_for_image_declaration(&arg0, temp_s0, 4, 0, 0); - display_image_at_on_screen_coord(&arg0, &sp90, &sp88, temp_s0->unk4, (s32) temp_s0->unk5, 0, 0, 1, 0xb4, 0, 0, 0xff, (s32) (0 < temp_s0->unk6), 0); - } - } - else - { - - } - temp_s1_2 = phi_s1_2 + 1; - phi_s1_2 = temp_s1_2; - if (temp_s1_2 != 3) - { - goto loop_37; - } - load_draw_selected_icon_folder_select(arg0); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu08_difficulty -/* 0438C8 7F00ED98 27BDF390 */ addiu $sp, $sp, -0xc70 -/* 0438CC 7F00ED9C 3C0E8003 */ lui $t6, %hi(briefingpage) -/* 0438D0 7F00EDA0 8DCEA8F8 */ lw $t6, %lo(briefingpage)($t6) -/* 0438D4 7F00EDA4 AFA40C70 */ sw $a0, 0xc70($sp) -/* 0438D8 7F00EDA8 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20) -/* 0438DC 7F00EDAC 000E78C0 */ sll $t7, $t6, 3 -/* 0438E0 7F00EDB0 01EE7823 */ subu $t7, $t7, $t6 -/* 0438E4 7F00EDB4 000F7880 */ sll $t7, $t7, 2 -/* 0438E8 7F00EDB8 AFBF006C */ sw $ra, 0x6c($sp) -/* 0438EC 7F00EDBC 008F2021 */ addu $a0, $a0, $t7 -/* 0438F0 7F00EDC0 AFBE0068 */ sw $fp, 0x68($sp) -/* 0438F4 7F00EDC4 AFB70064 */ sw $s7, 0x64($sp) -/* 0438F8 7F00EDC8 AFB60060 */ sw $s6, 0x60($sp) -/* 0438FC 7F00EDCC AFB5005C */ sw $s5, 0x5c($sp) -/* 043900 7F00EDD0 AFB40058 */ sw $s4, 0x58($sp) -/* 043904 7F00EDD4 AFB30054 */ sw $s3, 0x54($sp) -/* 043908 7F00EDD8 AFB20050 */ sw $s2, 0x50($sp) -/* 04390C 7F00EDDC AFB1004C */ sw $s1, 0x4c($sp) -/* 043910 7F00EDE0 AFB00048 */ sw $s0, 0x48($sp) -/* 043914 7F00EDE4 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 043918 7F00EDE8 0FC03758 */ jal get_highest_unlocked_difficulty_for_level -/* 04391C 7F00EDEC 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0) -/* 043920 7F00EDF0 AFA20C68 */ sw $v0, 0xc68($sp) -/* 043924 7F00EDF4 8FA40C70 */ lw $a0, 0xc70($sp) -/* 043928 7F00EDF8 00002825 */ move $a1, $zero -/* 04392C 7F00EDFC 00003025 */ move $a2, $zero -/* 043930 7F00EE00 0C0011B4 */ jal set_setfillcolor -/* 043934 7F00EE04 00003825 */ move $a3, $zero -/* 043938 7F00EE08 AFA20C70 */ sw $v0, 0xc70($sp) -/* 04393C 7F00EE0C 0C000FBE */ jal insert_generic_fillrect -/* 043940 7F00EE10 00402025 */ move $a0, $v0 -/* 043944 7F00EE14 AFA20C70 */ sw $v0, 0xc70($sp) -/* 043948 7F00EE18 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 04394C 7F00EE1C 00402025 */ move $a0, $v0 -/* 043950 7F00EE20 3C198005 */ lui $t9, %hi(asc_D_8004F4B4) -/* 043954 7F00EE24 2739F4B4 */ addiu $t9, %lo(asc_D_8004F4B4) # addiu $t9, $t9, -0xb4c -/* 043958 7F00EE28 AFA20C70 */ sw $v0, 0xc70($sp) -/* 04395C 7F00EE2C 272B0BB8 */ addiu $t3, $t9, 0xbb8 -/* 043960 7F00EE30 27B800A4 */ addiu $t8, $sp, 0xa4 -.L7F00EE34: -/* 043964 7F00EE34 8F210000 */ lw $at, ($t9) -/* 043968 7F00EE38 2739000C */ addiu $t9, $t9, 0xc -/* 04396C 7F00EE3C 2718000C */ addiu $t8, $t8, 0xc -/* 043970 7F00EE40 AF01FFF4 */ sw $at, -0xc($t8) -/* 043974 7F00EE44 8F21FFF8 */ lw $at, -8($t9) -/* 043978 7F00EE48 AF01FFF8 */ sw $at, -8($t8) -/* 04397C 7F00EE4C 8F21FFFC */ lw $at, -4($t9) -/* 043980 7F00EE50 172BFFF8 */ bne $t9, $t3, .L7F00EE34 -/* 043984 7F00EE54 AF01FFFC */ sw $at, -4($t8) -/* 043988 7F00EE58 0FC2B366 */ jal microcode_constructor -/* 04398C 7F00EE5C 00402025 */ move $a0, $v0 -/* 043990 7F00EE60 AFA20C70 */ sw $v0, 0xc70($sp) -/* 043994 7F00EE64 00402025 */ move $a0, $v0 -/* 043998 7F00EE68 0FC03AAF */ jal print_current_solo_briefing_stage_name -/* 04399C 7F00EE6C 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 0439A0 7F00EE70 AFA20C70 */ sw $v0, 0xc70($sp) -/* 0439A4 7F00EE74 0FC30776 */ jal get_textptr_for_textID -/* 0439A8 7F00EE78 34049C23 */ li $a0, 39971 -/* 0439AC 7F00EE7C 240C0037 */ li $t4, 55 -/* 0439B0 7F00EE80 240D008F */ li $t5, 143 -/* 0439B4 7F00EE84 00408825 */ move $s1, $v0 -/* 0439B8 7F00EE88 AFAC0C60 */ sw $t4, 0xc60($sp) -/* 0439BC 7F00EE8C 0C001107 */ jal get_video2_settings_txtClipW -/* 0439C0 7F00EE90 AFAD0C5C */ sw $t5, 0xc5c($sp) -/* 0439C4 7F00EE94 00028400 */ sll $s0, $v0, 0x10 -/* 0439C8 7F00EE98 00107403 */ sra $t6, $s0, 0x10 -/* 0439CC 7F00EE9C 0C00110B */ jal get_video2_settings_txtClipH -/* 0439D0 7F00EEA0 01C08025 */ move $s0, $t6 -/* 0439D4 7F00EEA4 3C158004 */ lui $s5, %hi(ptrSecondFontTableLarge) -/* 0439D8 7F00EEA8 3C168004 */ lui $s6, %hi(ptrFirstFontTableLarge) -/* 0439DC 7F00EEAC 26D60EB4 */ addiu $s6, %lo(ptrFirstFontTableLarge) # addiu $s6, $s6, 0xeb4 -/* 0439E0 7F00EEB0 26B50EB8 */ addiu $s5, %lo(ptrSecondFontTableLarge) # addiu $s5, $s5, 0xeb8 -/* 0439E4 7F00EEB4 8EAF0000 */ lw $t7, ($s5) -/* 0439E8 7F00EEB8 8ECA0000 */ lw $t2, ($s6) -/* 0439EC 7F00EEBC 240900FF */ li $t1, 255 -/* 0439F0 7F00EEC0 AFA90018 */ sw $t1, 0x18($sp) -/* 0439F4 7F00EEC4 8FA40C70 */ lw $a0, 0xc70($sp) -/* 0439F8 7F00EEC8 27A50C60 */ addiu $a1, $sp, 0xc60 -/* 0439FC 7F00EECC 27A60C5C */ addiu $a2, $sp, 0xc5c -/* 043A00 7F00EED0 02203825 */ move $a3, $s1 -/* 043A04 7F00EED4 AFB0001C */ sw $s0, 0x1c($sp) -/* 043A08 7F00EED8 AFA20020 */ sw $v0, 0x20($sp) -/* 043A0C 7F00EEDC AFA00024 */ sw $zero, 0x24($sp) -/* 043A10 7F00EEE0 AFA00028 */ sw $zero, 0x28($sp) -/* 043A14 7F00EEE4 AFAF0010 */ sw $t7, 0x10($sp) -/* 043A18 7F00EEE8 0FC025D8 */ jal write_text_at_abs_coord -/* 043A1C 7F00EEEC AFAA0014 */ sw $t2, 0x14($sp) -/* 043A20 7F00EEF0 3C088007 */ lui $t0, %hi(mission_difficulty_highlighted) -/* 043A24 7F00EEF4 8D089784 */ lw $t0, %lo(mission_difficulty_highlighted)($t0) -/* 043A28 7F00EEF8 AFA20C70 */ sw $v0, 0xc70($sp) -/* 043A2C 7F00EEFC 8FA40C70 */ lw $a0, 0xc70($sp) -/* 043A30 7F00EF00 05000013 */ bltz $t0, .L7F00EF50 -/* 043A34 7F00EF04 3C0B8005 */ lui $t3, %hi(j_text_trigger) -/* 043A38 7F00EF08 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3) -/* 043A3C 7F00EF0C 00081900 */ sll $v1, $t0, 4 -/* 043A40 7F00EF10 00681823 */ subu $v1, $v1, $t0 -/* 043A44 7F00EF14 11600003 */ beqz $t3, .L7F00EF24 -/* 043A48 7F00EF18 2419007E */ li $t9, 126 -/* 043A4C 7F00EF1C 10000002 */ b .L7F00EF28 -/* 043A50 7F00EF20 24020032 */ li $v0, 50 -.L7F00EF24: -/* 043A54 7F00EF24 00001025 */ move $v0, $zero -.L7F00EF28: -/* 043A58 7F00EF28 00031840 */ sll $v1, $v1, 1 -/* 043A5C 7F00EF2C 247800C3 */ addiu $t8, $v1, 0xc3 -/* 043A60 7F00EF30 240C0032 */ li $t4, 50 -/* 043A64 7F00EF34 AFAC0014 */ sw $t4, 0x14($sp) -/* 043A68 7F00EF38 AFB80010 */ sw $t8, 0x10($sp) -/* 043A6C 7F00EF3C 246600B2 */ addiu $a2, $v1, 0xb2 -/* 043A70 7F00EF40 03222823 */ subu $a1, $t9, $v0 -/* 043A74 7F00EF44 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 043A78 7F00EF48 240700F0 */ li $a3, 240 -/* 043A7C 7F00EF4C AFA20C70 */ sw $v0, 0xc70($sp) -.L7F00EF50: -/* 043A80 7F00EF50 00008825 */ move $s1, $zero -/* 043A84 7F00EF54 241E0002 */ li $fp, 2 -/* 043A88 7F00EF58 24170001 */ li $s7, 1 -/* 043A8C 7F00EF5C 24140003 */ li $s4, 3 -/* 043A90 7F00EF60 8FB200A0 */ lw $s2, 0xa0($sp) -.L7F00EF64: -/* 043A94 7F00EF64 12200003 */ beqz $s1, .L7F00EF74 -/* 043A98 7F00EF68 8FAD0C68 */ lw $t5, 0xc68($sp) -/* 043A9C 7F00EF6C 01B1082A */ slt $at, $t5, $s1 -/* 043AA0 7F00EF70 14200080 */ bnez $at, .L7F00F174 -.L7F00EF74: -/* 043AA4 7F00EF74 3C0E8005 */ lui $t6, %hi(j_text_trigger) -/* 043AA8 7F00EF78 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) -/* 043AAC 7F00EF7C 00119900 */ sll $s3, $s1, 4 -/* 043AB0 7F00EF80 02719823 */ subu $s3, $s3, $s1 -/* 043AB4 7F00EF84 00139840 */ sll $s3, $s3, 1 -/* 043AB8 7F00EF88 11C0001B */ beqz $t6, .L7F00EFF8 -/* 043ABC 7F00EF8C 267300B4 */ addiu $s3, $s3, 0xb4 -/* 043AC0 7F00EF90 12200009 */ beqz $s1, .L7F00EFB8 -/* 043AC4 7F00EF94 00000000 */ nop -/* 043AC8 7F00EF98 1237000B */ beq $s1, $s7, .L7F00EFC8 -/* 043ACC 7F00EF9C 00000000 */ nop -/* 043AD0 7F00EFA0 123E000D */ beq $s1, $fp, .L7F00EFD8 -/* 043AD4 7F00EFA4 00000000 */ nop -/* 043AD8 7F00EFA8 1234000F */ beq $s1, $s4, .L7F00EFE8 -/* 043ADC 7F00EFAC 00000000 */ nop -/* 043AE0 7F00EFB0 10000018 */ b .L7F00F014 -/* 043AE4 7F00EFB4 8ECA0000 */ lw $t2, ($s6) -.L7F00EFB8: -/* 043AE8 7F00EFB8 0FC30776 */ jal get_textptr_for_textID -/* 043AEC 7F00EFBC 34049D09 */ li $a0, 40201 -/* 043AF0 7F00EFC0 10000013 */ b .L7F00F010 -/* 043AF4 7F00EFC4 00409025 */ move $s2, $v0 -.L7F00EFC8: -/* 043AF8 7F00EFC8 0FC30776 */ jal get_textptr_for_textID -/* 043AFC 7F00EFCC 34049D0A */ li $a0, 40202 -/* 043B00 7F00EFD0 1000000F */ b .L7F00F010 -/* 043B04 7F00EFD4 00409025 */ move $s2, $v0 -.L7F00EFD8: -/* 043B08 7F00EFD8 0FC30776 */ jal get_textptr_for_textID -/* 043B0C 7F00EFDC 34049D0B */ li $a0, 40203 -/* 043B10 7F00EFE0 1000000B */ b .L7F00F010 -/* 043B14 7F00EFE4 00409025 */ move $s2, $v0 -.L7F00EFE8: -/* 043B18 7F00EFE8 0FC30776 */ jal get_textptr_for_textID -/* 043B1C 7F00EFEC 34049D0C */ li $a0, 40204 -/* 043B20 7F00EFF0 10000007 */ b .L7F00F010 -/* 043B24 7F00EFF4 00409025 */ move $s2, $v0 -.L7F00EFF8: -/* 043B28 7F00EFF8 27B200A4 */ addiu $s2, $sp, 0xa4 -/* 043B2C 7F00EFFC 3C058005 */ lui $a1, %hi(aD_) -/* 043B30 7F00F000 24A5006C */ addiu $a1, %lo(aD_) # addiu $a1, $a1, 0x6c -/* 043B34 7F00F004 02402025 */ move $a0, $s2 -/* 043B38 7F00F008 0C002B25 */ jal sprintf -/* 043B3C 7F00F00C 26260001 */ addiu $a2, $s1, 1 -.L7F00F010: -/* 043B40 7F00F010 8ECA0000 */ lw $t2, ($s6) -.L7F00F014: -/* 043B44 7F00F014 27A40098 */ addiu $a0, $sp, 0x98 -/* 043B48 7F00F018 27A5009C */ addiu $a1, $sp, 0x9c -/* 043B4C 7F00F01C 02403025 */ move $a2, $s2 -/* 043B50 7F00F020 8EA70000 */ lw $a3, ($s5) -/* 043B54 7F00F024 AFA00014 */ sw $zero, 0x14($sp) -/* 043B58 7F00F028 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 043B5C 7F00F02C AFAA0010 */ sw $t2, 0x10($sp) -/* 043B60 7F00F030 3C098005 */ lui $t1, %hi(j_text_trigger) -/* 043B64 7F00F034 8D2984D0 */ lw $t1, %lo(j_text_trigger)($t1) -/* 043B68 7F00F038 240B0082 */ li $t3, 130 -/* 043B6C 7F00F03C 00001025 */ move $v0, $zero -/* 043B70 7F00F040 11200004 */ beqz $t1, .L7F00F054 -/* 043B74 7F00F044 00000000 */ nop -/* 043B78 7F00F048 8FA2009C */ lw $v0, 0x9c($sp) -/* 043B7C 7F00F04C 10000001 */ b .L7F00F054 -/* 043B80 7F00F050 2442FFF6 */ addiu $v0, $v0, -0xa -.L7F00F054: -/* 043B84 7F00F054 0162C823 */ subu $t9, $t3, $v0 -/* 043B88 7F00F058 AFB90C60 */ sw $t9, 0xc60($sp) -/* 043B8C 7F00F05C 0C001107 */ jal get_video2_settings_txtClipW -/* 043B90 7F00F060 AFB30C5C */ sw $s3, 0xc5c($sp) -/* 043B94 7F00F064 00028400 */ sll $s0, $v0, 0x10 -/* 043B98 7F00F068 0010C403 */ sra $t8, $s0, 0x10 -/* 043B9C 7F00F06C 0C00110B */ jal get_video2_settings_txtClipH -/* 043BA0 7F00F070 03008025 */ move $s0, $t8 -/* 043BA4 7F00F074 8EAC0000 */ lw $t4, ($s5) -/* 043BA8 7F00F078 8ECD0000 */ lw $t5, ($s6) -/* 043BAC 7F00F07C 240E00FF */ li $t6, 255 -/* 043BB0 7F00F080 AFAE0018 */ sw $t6, 0x18($sp) -/* 043BB4 7F00F084 8FA40C70 */ lw $a0, 0xc70($sp) -/* 043BB8 7F00F088 27A50C60 */ addiu $a1, $sp, 0xc60 -/* 043BBC 7F00F08C 27A60C5C */ addiu $a2, $sp, 0xc5c -/* 043BC0 7F00F090 02403825 */ move $a3, $s2 -/* 043BC4 7F00F094 AFB0001C */ sw $s0, 0x1c($sp) -/* 043BC8 7F00F098 AFA20020 */ sw $v0, 0x20($sp) -/* 043BCC 7F00F09C AFA00024 */ sw $zero, 0x24($sp) -/* 043BD0 7F00F0A0 AFA00028 */ sw $zero, 0x28($sp) -/* 043BD4 7F00F0A4 AFAC0010 */ sw $t4, 0x10($sp) -/* 043BD8 7F00F0A8 0FC025D8 */ jal write_text_at_abs_coord -/* 043BDC 7F00F0AC AFAD0014 */ sw $t5, 0x14($sp) -/* 043BE0 7F00F0B0 12200009 */ beqz $s1, .L7F00F0D8 -/* 043BE4 7F00F0B4 AFA20C70 */ sw $v0, 0xc70($sp) -/* 043BE8 7F00F0B8 1237000B */ beq $s1, $s7, .L7F00F0E8 -/* 043BEC 7F00F0BC 00000000 */ nop -/* 043BF0 7F00F0C0 123E000D */ beq $s1, $fp, .L7F00F0F8 -/* 043BF4 7F00F0C4 00000000 */ nop -/* 043BF8 7F00F0C8 1234000F */ beq $s1, $s4, .L7F00F108 -/* 043BFC 7F00F0CC 00000000 */ nop -/* 043C00 7F00F0D0 10000011 */ b .L7F00F118 -/* 043C04 7F00F0D4 240F0096 */ li $t7, 150 -.L7F00F0D8: -/* 043C08 7F00F0D8 0FC30776 */ jal get_textptr_for_textID -/* 043C0C 7F00F0DC 34049C24 */ li $a0, 39972 -/* 043C10 7F00F0E0 1000000C */ b .L7F00F114 -/* 043C14 7F00F0E4 00409025 */ move $s2, $v0 -.L7F00F0E8: -/* 043C18 7F00F0E8 0FC30776 */ jal get_textptr_for_textID -/* 043C1C 7F00F0EC 34049C25 */ li $a0, 39973 -/* 043C20 7F00F0F0 10000008 */ b .L7F00F114 -/* 043C24 7F00F0F4 00409025 */ move $s2, $v0 -.L7F00F0F8: -/* 043C28 7F00F0F8 0FC30776 */ jal get_textptr_for_textID -/* 043C2C 7F00F0FC 34049C26 */ li $a0, 39974 -/* 043C30 7F00F100 10000004 */ b .L7F00F114 -/* 043C34 7F00F104 00409025 */ move $s2, $v0 -.L7F00F108: -/* 043C38 7F00F108 0FC30776 */ jal get_textptr_for_textID -/* 043C3C 7F00F10C 34049C27 */ li $a0, 39975 -/* 043C40 7F00F110 00409025 */ move $s2, $v0 -.L7F00F114: -/* 043C44 7F00F114 240F0096 */ li $t7, 150 -.L7F00F118: -/* 043C48 7F00F118 AFAF0C60 */ sw $t7, 0xc60($sp) -/* 043C4C 7F00F11C 0C001107 */ jal get_video2_settings_txtClipW -/* 043C50 7F00F120 AFB30C5C */ sw $s3, 0xc5c($sp) -/* 043C54 7F00F124 00028400 */ sll $s0, $v0, 0x10 -/* 043C58 7F00F128 00105403 */ sra $t2, $s0, 0x10 -/* 043C5C 7F00F12C 0C00110B */ jal get_video2_settings_txtClipH -/* 043C60 7F00F130 01408025 */ move $s0, $t2 -/* 043C64 7F00F134 8EA90000 */ lw $t1, ($s5) -/* 043C68 7F00F138 8ECB0000 */ lw $t3, ($s6) -/* 043C6C 7F00F13C 241900FF */ li $t9, 255 -/* 043C70 7F00F140 AFB90018 */ sw $t9, 0x18($sp) -/* 043C74 7F00F144 8FA40C70 */ lw $a0, 0xc70($sp) -/* 043C78 7F00F148 27A50C60 */ addiu $a1, $sp, 0xc60 -/* 043C7C 7F00F14C 27A60C5C */ addiu $a2, $sp, 0xc5c -/* 043C80 7F00F150 02403825 */ move $a3, $s2 -/* 043C84 7F00F154 AFB0001C */ sw $s0, 0x1c($sp) -/* 043C88 7F00F158 AFA20020 */ sw $v0, 0x20($sp) -/* 043C8C 7F00F15C AFA00024 */ sw $zero, 0x24($sp) -/* 043C90 7F00F160 AFA00028 */ sw $zero, 0x28($sp) -/* 043C94 7F00F164 AFA90010 */ sw $t1, 0x10($sp) -/* 043C98 7F00F168 0FC025D8 */ jal write_text_at_abs_coord -/* 043C9C 7F00F16C AFAB0014 */ sw $t3, 0x14($sp) -/* 043CA0 7F00F170 AFA20C70 */ sw $v0, 0xc70($sp) -.L7F00F174: -/* 043CA4 7F00F174 26310001 */ addiu $s1, $s1, 1 -/* 043CA8 7F00F178 2A210004 */ slti $at, $s1, 4 -/* 043CAC 7F00F17C 1420FF79 */ bnez $at, .L7F00EF64 -/* 043CB0 7F00F180 00000000 */ nop -/* 043CB4 7F00F184 AFB200A0 */ sw $s2, 0xa0($sp) -/* 043CB8 7F00F188 0FC0288E */ jal add_tab3_previous -/* 043CBC 7F00F18C 8FA40C70 */ lw $a0, 0xc70($sp) -/* 043CC0 7F00F190 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 043CC4 7F00F194 4481A000 */ mtc1 $at, $f20 -/* 043CC8 7F00F198 AFA20C70 */ sw $v0, 0xc70($sp) -/* 043CCC 7F00F19C 00008825 */ move $s1, $zero -/* 043CD0 7F00F1A0 27B20C70 */ addiu $s2, $sp, 0xc70 -.L7F00F1A4: -/* 043CD4 7F00F1A4 12200003 */ beqz $s1, .L7F00F1B4 -/* 043CD8 7F00F1A8 8FB80C68 */ lw $t8, 0xc68($sp) -/* 043CDC 7F00F1AC 0311082A */ slt $at, $t8, $s1 -/* 043CE0 7F00F1B0 14200041 */ bnez $at, .L7F00F2B8 -.L7F00F1B4: -/* 043CE4 7F00F1B4 3C048003 */ lui $a0, %hi(briefingpage) -/* 043CE8 7F00F1B8 8C84A8F8 */ lw $a0, %lo(briefingpage)($a0) -/* 043CEC 7F00F1BC 0FC03743 */ jal check_if_stage_completed_on_difficulty -/* 043CF0 7F00F1C0 02202825 */ move $a1, $s1 -/* 043CF4 7F00F1C4 1454003C */ bne $v0, $s4, .L7F00F2B8 -/* 043CF8 7F00F1C8 00116100 */ sll $t4, $s1, 4 -/* 043CFC 7F00F1CC 01916023 */ subu $t4, $t4, $s1 -/* 043D00 7F00F1D0 000C6040 */ sll $t4, $t4, 1 -/* 043D04 7F00F1D4 258D00BA */ addiu $t5, $t4, 0xba -/* 043D08 7F00F1D8 448D3000 */ mtc1 $t5, $f6 -/* 043D0C 7F00F1DC 3C01438C */ li $at, 0x438C0000 # 280.000000 -/* 043D10 7F00F1E0 44812000 */ mtc1 $at, $f4 -/* 043D14 7F00F1E4 46803220 */ cvt.s.w $f8, $f6 -/* 043D18 7F00F1E8 3C108009 */ lui $s0, %hi(mainfolderimages) -/* 043D1C 7F00F1EC 8E10D128 */ lw $s0, %lo(mainfolderimages)($s0) -/* 043D20 7F00F1F0 E7A40090 */ swc1 $f4, 0x90($sp) -/* 043D24 7F00F1F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 043D28 7F00F1F8 26100030 */ addiu $s0, $s0, 0x30 -/* 043D2C 7F00F1FC E7A80094 */ swc1 $f8, 0x94($sp) -/* 043D30 7F00F200 920E0004 */ lbu $t6, 4($s0) -/* 043D34 7F00F204 448E5000 */ mtc1 $t6, $f10 -/* 043D38 7F00F208 05C10004 */ bgez $t6, .L7F00F21C -/* 043D3C 7F00F20C 46805420 */ cvt.s.w $f16, $f10 -/* 043D40 7F00F210 44819000 */ mtc1 $at, $f18 -/* 043D44 7F00F214 00000000 */ nop -/* 043D48 7F00F218 46128400 */ add.s $f16, $f16, $f18 -.L7F00F21C: -/* 043D4C 7F00F21C 46148102 */ mul.s $f4, $f16, $f20 -/* 043D50 7F00F220 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 043D54 7F00F224 E7A40088 */ swc1 $f4, 0x88($sp) -/* 043D58 7F00F228 920F0005 */ lbu $t7, 5($s0) -/* 043D5C 7F00F22C 448F3000 */ mtc1 $t7, $f6 -/* 043D60 7F00F230 05E10004 */ bgez $t7, .L7F00F244 -/* 043D64 7F00F234 46803220 */ cvt.s.w $f8, $f6 -/* 043D68 7F00F238 44815000 */ mtc1 $at, $f10 -/* 043D6C 7F00F23C 00000000 */ nop -/* 043D70 7F00F240 460A4200 */ add.s $f8, $f8, $f10 -.L7F00F244: -/* 043D74 7F00F244 46144482 */ mul.s $f18, $f8, $f20 -/* 043D78 7F00F248 02402025 */ move $a0, $s2 -/* 043D7C 7F00F24C 02002825 */ move $a1, $s0 -/* 043D80 7F00F250 24060004 */ li $a2, 4 -/* 043D84 7F00F254 00003825 */ move $a3, $zero -/* 043D88 7F00F258 AFA00010 */ sw $zero, 0x10($sp) -/* 043D8C 7F00F25C 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 043D90 7F00F260 E7B2008C */ swc1 $f18, 0x8c($sp) -/* 043D94 7F00F264 920A0005 */ lbu $t2, 5($s0) -/* 043D98 7F00F268 92070004 */ lbu $a3, 4($s0) -/* 043D9C 7F00F26C 24090001 */ li $t1, 1 -/* 043DA0 7F00F270 240B00B4 */ li $t3, 180 -/* 043DA4 7F00F274 241900FF */ li $t9, 255 -/* 043DA8 7F00F278 AFB9002C */ sw $t9, 0x2c($sp) -/* 043DAC 7F00F27C AFAB0020 */ sw $t3, 0x20($sp) -/* 043DB0 7F00F280 AFA9001C */ sw $t1, 0x1c($sp) -/* 043DB4 7F00F284 AFA00028 */ sw $zero, 0x28($sp) -/* 043DB8 7F00F288 AFA00024 */ sw $zero, 0x24($sp) -/* 043DBC 7F00F28C AFA00018 */ sw $zero, 0x18($sp) -/* 043DC0 7F00F290 AFA00014 */ sw $zero, 0x14($sp) -/* 043DC4 7F00F294 AFAA0010 */ sw $t2, 0x10($sp) -/* 043DC8 7F00F298 92180006 */ lbu $t8, 6($s0) -/* 043DCC 7F00F29C AFA00034 */ sw $zero, 0x34($sp) -/* 043DD0 7F00F2A0 02402025 */ move $a0, $s2 -/* 043DD4 7F00F2A4 0018602A */ slt $t4, $zero, $t8 -/* 043DD8 7F00F2A8 AFAC0030 */ sw $t4, 0x30($sp) -/* 043DDC 7F00F2AC 27A50090 */ addiu $a1, $sp, 0x90 -/* 043DE0 7F00F2B0 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 043DE4 7F00F2B4 27A60088 */ addiu $a2, $sp, 0x88 -.L7F00F2B8: -/* 043DE8 7F00F2B8 26310001 */ addiu $s1, $s1, 1 -/* 043DEC 7F00F2BC 1634FFB9 */ bne $s1, $s4, .L7F00F1A4 -/* 043DF0 7F00F2C0 00000000 */ nop -/* 043DF4 7F00F2C4 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 043DF8 7F00F2C8 8FA40C70 */ lw $a0, 0xc70($sp) -/* 043DFC 7F00F2CC 8FBF006C */ lw $ra, 0x6c($sp) -/* 043E00 7F00F2D0 D7B40040 */ ldc1 $f20, 0x40($sp) -/* 043E04 7F00F2D4 8FB00048 */ lw $s0, 0x48($sp) -/* 043E08 7F00F2D8 8FB1004C */ lw $s1, 0x4c($sp) -/* 043E0C 7F00F2DC 8FB20050 */ lw $s2, 0x50($sp) -/* 043E10 7F00F2E0 8FB30054 */ lw $s3, 0x54($sp) -/* 043E14 7F00F2E4 8FB40058 */ lw $s4, 0x58($sp) -/* 043E18 7F00F2E8 8FB5005C */ lw $s5, 0x5c($sp) -/* 043E1C 7F00F2EC 8FB60060 */ lw $s6, 0x60($sp) -/* 043E20 7F00F2F0 8FB70064 */ lw $s7, 0x64($sp) -/* 043E24 7F00F2F4 8FBE0068 */ lw $fp, 0x68($sp) -/* 043E28 7F00F2F8 03E00008 */ jr $ra -/* 043E2C 7F00F2FC 27BD0C70 */ addiu $sp, $sp, 0xc70 -) -#endif - - - -void init_menu09_007difficultyselect(void) -{ - tab_1_selected = 0; - tab_2_selected = 0; - tab_3_selected = 0; - tab_3_highlight = 0; - tab_2_highlight = 0; - tab_1_highlight = 0; - highlight_enemy_reaction = 0; - highlight_enemy_health = 0; - highlight_enemy_accuracy = 0; - highlight_enemy_damage = 0; - load_walletbond(); -} - -void update_menu09_007options(void) { - return; -} - - - - - - - -#ifdef NONMATCHING -void interface_menu09_007options(void) -{ - f32 temp_f0; - s32 temp_f6; - f32 phi_f0; - f32 phi_f0_2; - - setvideo_far(0x42700000); - video_related_21(D_80051A58); - set_page_height(0x42c80000, D_80051A5C); - set_video2_settings_offset_24(0); - if (get_controller_buttons_held(0, 0xa000) == 0) - { - tab_3_highlight = 0; - tab_2_highlight = 0; - tab_1_highlight = 0; - highlight_enemy_reaction = 0; - highlight_enemy_health = 0; - highlight_enemy_accuracy = 0; - highlight_enemy_damage = 0; - if (isontab3() != 0) - { - tab_3_highlight = 1; - } - else - { - if (isontab2() != 0) - { - tab_2_highlight = 1; - } - else - { - if (isontab1() != 0) - { - cursor_v_pos = 1; - } - else - { - temp_f6 = (s32) cursor_v_pos; - if (temp_f6 >= 0x107) - { - highlight_enemy_reaction = 1; - } - else - { - if (temp_f6 >= 0xe6) - { - highlight_enemy_damage = 1; - } - else - { - if (temp_f6 >= 0xc5) - { - highlight_enemy_accuracy = 1; - } - else - { - if (temp_f6 >= 0xa4) - { - highlight_enemy_health = 1; - } - else - { - tab_2_highlight = 1; - } - } - } - } - } - } - } - } - if (get_controller_buttons_pressed(0, 0x1000) != 0) - { - tab_1_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { - if (get_controller_buttons_pressed(0, 0xa000) != 0) - { - if (tab_2_highlight != 0) - { - tab_2_selected = 1; - } - else - { - if (tab_3_highlight != 0) - { - tab_3_selected = 1; - } - else - { - if (tab_1_highlight != 0) - { - tab_1_selected = 1; - } - } - } - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { - if (get_controller_buttons_pressed(0, 0x4000) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - if (get_controller_buttons_held(0, 0xa000) != 0) - { - temp_f0 = (cursor_h_pos - 55.0f) / 300.0f; - phi_f0 = temp_f0; - if (1.0f < temp_f0) - { - phi_f0 = 1.0f; - } - phi_f0_2 = phi_f0; - if (phi_f0 < 0.0f) - { - phi_f0_2 = 0.0f; - } - if (highlight_enemy_reaction != 0) - { - slider_007_mode_reaction = (f32) phi_f0_2; - } - else - { - if (highlight_enemy_health != 0) - { - slider_007_mode_health = (f32) ((phi_f0_2 * phi_f0_2) * 10.0f); - } - else - { - if (highlight_enemy_accuracy != 0) - { - slider_007_mode_accuracy = (f32) ((phi_f0_2 * phi_f0_2) * 10.0f); - } - else - { - if (highlight_enemy_damage != 0) - { - slider_007_mode_damage = (f32) ((phi_f0_2 * phi_f0_2) * 10.0f); - } - } - } - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 6, 1); - menu_control_stick_tracking(); - if (tab_1_selected != 0) - { - set_menu_to_mode(0xb, 1); - return; - } - if (tab_2_selected != 0) - { - set_menu_to_mode(0xa, 0); - return; - } - if (tab_3_selected != 0) - { - set_menu_to_mode(8, 0); - set_cursor_pos_difficulty(selected_difficulty); - } -} -#else -GLOBAL_ASM( -.text -glabel interface_menu09_007options -/* 043EA4 7F00F374 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 043EB8 7F00F388 00000000 */ nop -/* 043EBC 7F00F38C 3C018005 */ lui $at, %hi(D_80051A58) -/* 043EC0 7F00F390 0C001164 */ jal video_related_21 -/* 043EC4 7F00F394 C42C1A58 */ lwc1 $f12, %lo(D_80051A58)($at) -/* 043EC8 7F00F398 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 043ECC 7F00F39C 44816000 */ mtc1 $at, $f12 -/* 043ED0 7F00F3A0 3C018005 */ lui $at, %hi(D_80051A5C) -/* 043ED4 7F00F3A4 0C001194 */ jal set_page_height -/* 043ED8 7F00F3A8 C42E1A5C */ lwc1 $f14, %lo(D_80051A5C)($at) -/* 043EDC 7F00F3AC 0C00114D */ jal set_video2_settings_offset_24 -/* 043EE0 7F00F3B0 00002025 */ move $a0, $zero -/* 043EE4 7F00F3B4 00002025 */ move $a0, $zero -/* 043EE8 7F00F3B8 0C0030C3 */ jal get_controller_buttons_held -/* 043EEC 7F00F3BC 3405A000 */ li $a1, 40960 -/* 043EF0 7F00F3C0 14400042 */ bnez $v0, .L7F00F4CC -/* 043EF4 7F00F3C4 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 043EF8 7F00F3C8 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 043EFC 7F00F3CC 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 043F00 7F00F3D0 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 043F04 7F00F3D4 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 043F08 7F00F3D8 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 043F0C 7F00F3DC 3C018007 */ lui $at, %hi(highlight_enemy_reaction) -/* 043F10 7F00F3E0 AC209794 */ sw $zero, %lo(highlight_enemy_reaction)($at) -/* 043F14 7F00F3E4 3C018007 */ lui $at, %hi(highlight_enemy_health) -/* 043F18 7F00F3E8 AC209798 */ sw $zero, %lo(highlight_enemy_health)($at) -/* 043F1C 7F00F3EC 3C018007 */ lui $at, %hi(highlight_enemy_accuracy) -/* 043F20 7F00F3F0 AC20979C */ sw $zero, %lo(highlight_enemy_accuracy)($at) -/* 043F24 7F00F3F4 3C018007 */ lui $at, %hi(highlight_enemy_damage) -/* 043F28 7F00F3F8 0FC028E7 */ jal isontab3 -/* 043F2C 7F00F3FC AC2097A0 */ sw $zero, %lo(highlight_enemy_damage)($at) -/* 043F30 7F00F400 10400004 */ beqz $v0, .L7F00F414 -/* 043F34 7F00F404 240E0001 */ li $t6, 1 -/* 043F38 7F00F408 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 043F3C 7F00F40C 1000002F */ b .L7F00F4CC -/* 043F40 7F00F410 AC2EA8E4 */ sw $t6, %lo(tab_3_highlight)($at) -.L7F00F414: -/* 043F44 7F00F414 0FC0295E */ jal isontab2 -/* 043F48 7F00F418 00000000 */ nop -/* 043F4C 7F00F41C 10400004 */ beqz $v0, .L7F00F430 -/* 043F50 7F00F420 24030001 */ li $v1, 1 -/* 043F54 7F00F424 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 043F58 7F00F428 10000028 */ b .L7F00F4CC -/* 043F5C 7F00F42C AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at) -.L7F00F430: -/* 043F60 7F00F430 0FC02879 */ jal isontab1 -/* 043F64 7F00F434 00000000 */ nop -/* 043F68 7F00F438 10400005 */ beqz $v0, .L7F00F450 -/* 043F6C 7F00F43C 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 043F70 7F00F440 24030001 */ li $v1, 1 -/* 043F74 7F00F444 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 043F78 7F00F448 10000020 */ b .L7F00F4CC -/* 043F7C 7F00F44C AC23A8DC */ sw $v1, %lo(tab_1_highlight)($at) -.L7F00F450: -/* 043F80 7F00F450 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at) -/* 043F84 7F00F454 24030001 */ li $v1, 1 -/* 043F88 7F00F458 4600218D */ trunc.w.s $f6, $f4 -/* 043F8C 7F00F45C 44023000 */ mfc1 $v0, $f6 -/* 043F90 7F00F460 00000000 */ nop -/* 043F94 7F00F464 28410107 */ slti $at, $v0, 0x107 -/* 043F98 7F00F468 14200003 */ bnez $at, .L7F00F478 -/* 043F9C 7F00F46C 3C018007 */ lui $at, %hi(highlight_enemy_reaction) -/* 043FA0 7F00F470 10000016 */ b .L7F00F4CC -/* 043FA4 7F00F474 AC239794 */ sw $v1, %lo(highlight_enemy_reaction)($at) -.L7F00F478: -/* 043FA8 7F00F478 284100E6 */ slti $at, $v0, 0xe6 -/* 043FAC 7F00F47C 14200004 */ bnez $at, .L7F00F490 -/* 043FB0 7F00F480 24030001 */ li $v1, 1 -/* 043FB4 7F00F484 3C018007 */ lui $at, %hi(highlight_enemy_damage) -/* 043FB8 7F00F488 10000010 */ b .L7F00F4CC -/* 043FBC 7F00F48C AC2397A0 */ sw $v1, %lo(highlight_enemy_damage)($at) -.L7F00F490: -/* 043FC0 7F00F490 284100C5 */ slti $at, $v0, 0xc5 -/* 043FC4 7F00F494 14200004 */ bnez $at, .L7F00F4A8 -/* 043FC8 7F00F498 24030001 */ li $v1, 1 -/* 043FCC 7F00F49C 3C018007 */ lui $at, %hi(highlight_enemy_accuracy) -/* 043FD0 7F00F4A0 1000000A */ b .L7F00F4CC -/* 043FD4 7F00F4A4 AC23979C */ sw $v1, %lo(highlight_enemy_accuracy)($at) -.L7F00F4A8: -/* 043FD8 7F00F4A8 284100A4 */ slti $at, $v0, 0xa4 -/* 043FDC 7F00F4AC 14200005 */ bnez $at, .L7F00F4C4 -/* 043FE0 7F00F4B0 24030001 */ li $v1, 1 -/* 043FE4 7F00F4B4 24030001 */ li $v1, 1 -/* 043FE8 7F00F4B8 3C018007 */ lui $at, %hi(highlight_enemy_health) -/* 043FEC 7F00F4BC 10000003 */ b .L7F00F4CC -/* 043FF0 7F00F4C0 AC239798 */ sw $v1, %lo(highlight_enemy_health)($at) -.L7F00F4C4: -/* 043FF4 7F00F4C4 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 043FF8 7F00F4C8 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at) -.L7F00F4CC: -/* 043FFC 7F00F4CC 00002025 */ move $a0, $zero -/* 044000 7F00F4D0 0C0030EB */ jal get_controller_buttons_pressed -/* 044004 7F00F4D4 24051000 */ li $a1, 4096 -/* 044008 7F00F4D8 1040000A */ beqz $v0, .L7F00F504 -/* 04400C 7F00F4DC 24030001 */ li $v1, 1 -/* 044010 7F00F4E0 3C018003 */ lui $at, %hi(tab_1_selected) -/* 044014 7F00F4E4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 044018 7F00F4E8 AC23A8D0 */ sw $v1, %lo(tab_1_selected)($at) -/* 04401C 7F00F4EC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 044020 7F00F4F0 240500C7 */ li $a1, 199 -/* 044024 7F00F4F4 0C002382 */ jal play_sfx_a1 -/* 044028 7F00F4F8 00003025 */ move $a2, $zero -/* 04402C 7F00F4FC 1000002D */ b .L7F00F5B4 -/* 044030 7F00F500 00002025 */ move $a0, $zero -.L7F00F504: -/* 044034 7F00F504 00002025 */ move $a0, $zero -/* 044038 7F00F508 0C0030EB */ jal get_controller_buttons_pressed -/* 04403C 7F00F50C 3405A000 */ li $a1, 40960 -/* 044040 7F00F510 1040001B */ beqz $v0, .L7F00F580 -/* 044044 7F00F514 24030001 */ li $v1, 1 -/* 044048 7F00F518 3C188003 */ lui $t8, %hi(tab_2_highlight) -/* 04404C 7F00F51C 8F18A8E0 */ lw $t8, %lo(tab_2_highlight)($t8) -/* 044050 7F00F520 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 044054 7F00F524 240500C7 */ li $a1, 199 -/* 044058 7F00F528 13000004 */ beqz $t8, .L7F00F53C -/* 04405C 7F00F52C 00003025 */ move $a2, $zero -/* 044060 7F00F530 3C018003 */ lui $at, %hi(tab_2_selected) -/* 044064 7F00F534 1000000E */ b .L7F00F570 -/* 044068 7F00F538 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at) -.L7F00F53C: -/* 04406C 7F00F53C 3C198003 */ lui $t9, %hi(tab_3_highlight) -/* 044070 7F00F540 8F39A8E4 */ lw $t9, %lo(tab_3_highlight)($t9) -/* 044074 7F00F544 3C018003 */ lui $at, %hi(tab_3_selected) -/* 044078 7F00F548 3C088003 */ lui $t0, %hi(tab_1_highlight) -/* 04407C 7F00F54C 13200003 */ beqz $t9, .L7F00F55C -/* 044080 7F00F550 00000000 */ nop -/* 044084 7F00F554 10000006 */ b .L7F00F570 -/* 044088 7F00F558 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -.L7F00F55C: -/* 04408C 7F00F55C 8D08A8DC */ lw $t0, %lo(tab_1_highlight)($t0) -/* 044090 7F00F560 3C018003 */ lui $at, %hi(tab_1_selected) -/* 044094 7F00F564 11000002 */ beqz $t0, .L7F00F570 -/* 044098 7F00F568 00000000 */ nop -/* 04409C 7F00F56C AC23A8D0 */ sw $v1, %lo(tab_1_selected)($at) -.L7F00F570: -/* 0440A0 7F00F570 0C002382 */ jal play_sfx_a1 -/* 0440A4 7F00F574 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0440A8 7F00F578 1000000E */ b .L7F00F5B4 -/* 0440AC 7F00F57C 00002025 */ move $a0, $zero -.L7F00F580: -/* 0440B0 7F00F580 00002025 */ move $a0, $zero -/* 0440B4 7F00F584 0C0030EB */ jal get_controller_buttons_pressed -/* 0440B8 7F00F588 24054000 */ li $a1, 16384 -/* 0440BC 7F00F58C 10400008 */ beqz $v0, .L7F00F5B0 -/* 0440C0 7F00F590 24030001 */ li $v1, 1 -/* 0440C4 7F00F594 3C018003 */ lui $at, %hi(tab_3_selected) -/* 0440C8 7F00F598 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0440CC 7F00F59C AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -/* 0440D0 7F00F5A0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0440D4 7F00F5A4 240500C7 */ li $a1, 199 -/* 0440D8 7F00F5A8 0C002382 */ jal play_sfx_a1 -/* 0440DC 7F00F5AC 00003025 */ move $a2, $zero -.L7F00F5B0: -/* 0440E0 7F00F5B0 00002025 */ move $a0, $zero -.L7F00F5B4: -/* 0440E4 7F00F5B4 0C0030C3 */ jal get_controller_buttons_held -/* 0440E8 7F00F5B8 3405A000 */ li $a1, 40960 -/* 0440EC 7F00F5BC 1040003E */ beqz $v0, .L7F00F6B8 -/* 0440F0 7F00F5C0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 0440F4 7F00F5C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0440F8 7F00F5C8 44811000 */ mtc1 $at, $f2 -/* 0440FC 7F00F5CC 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 044100 7F00F5D0 C428A908 */ lwc1 $f8, %lo(cursor_h_pos)($at) -/* 044104 7F00F5D4 3C01425C */ li $at, 0x425C0000 # 55.000000 -/* 044108 7F00F5D8 44815000 */ mtc1 $at, $f10 -/* 04410C 7F00F5DC 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 044110 7F00F5E0 44819000 */ mtc1 $at, $f18 -/* 044114 7F00F5E4 460A4401 */ sub.s $f16, $f8, $f10 -/* 044118 7F00F5E8 3C098007 */ lui $t1, %hi(highlight_enemy_reaction) -/* 04411C 7F00F5EC 3C018003 */ lui $at, %hi(slider_007_mode_reaction) -/* 044120 7F00F5F0 3C0A8007 */ lui $t2, %hi(highlight_enemy_health) -/* 044124 7F00F5F4 46128003 */ div.s $f0, $f16, $f18 -/* 044128 7F00F5F8 4600103C */ c.lt.s $f2, $f0 -/* 04412C 7F00F5FC 00000000 */ nop -/* 044130 7F00F600 45020003 */ bc1fl .L7F00F610 -/* 044134 7F00F604 44801000 */ mtc1 $zero, $f2 -/* 044138 7F00F608 46001006 */ mov.s $f0, $f2 -/* 04413C 7F00F60C 44801000 */ mtc1 $zero, $f2 -.L7F00F610: -/* 044140 7F00F610 00000000 */ nop -/* 044144 7F00F614 4602003C */ c.lt.s $f0, $f2 -/* 044148 7F00F618 00000000 */ nop -/* 04414C 7F00F61C 45000002 */ bc1f .L7F00F628 -/* 044150 7F00F620 00000000 */ nop -/* 044154 7F00F624 46001006 */ mov.s $f0, $f2 -.L7F00F628: -/* 044158 7F00F628 8D299794 */ lw $t1, %lo(highlight_enemy_reaction)($t1) -/* 04415C 7F00F62C 11200003 */ beqz $t1, .L7F00F63C -/* 044160 7F00F630 00000000 */ nop -/* 044164 7F00F634 10000020 */ b .L7F00F6B8 -/* 044168 7F00F638 E420A9A0 */ swc1 $f0, %lo(slider_007_mode_reaction)($at) -.L7F00F63C: -/* 04416C 7F00F63C 8D4A9798 */ lw $t2, %lo(highlight_enemy_health)($t2) -/* 044170 7F00F640 3C0B8007 */ lui $t3, %hi(highlight_enemy_accuracy) -/* 044174 7F00F644 11400008 */ beqz $t2, .L7F00F668 -/* 044178 7F00F648 00000000 */ nop -/* 04417C 7F00F64C 46000102 */ mul.s $f4, $f0, $f0 -/* 044180 7F00F650 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 044184 7F00F654 44813000 */ mtc1 $at, $f6 -/* 044188 7F00F658 3C018003 */ lui $at, %hi(slider_007_mode_health) -/* 04418C 7F00F65C 46062202 */ mul.s $f8, $f4, $f6 -/* 044190 7F00F660 10000015 */ b .L7F00F6B8 -/* 044194 7F00F664 E428A9A4 */ swc1 $f8, %lo(slider_007_mode_health)($at) -.L7F00F668: -/* 044198 7F00F668 8D6B979C */ lw $t3, %lo(highlight_enemy_accuracy)($t3) -/* 04419C 7F00F66C 3C0C8007 */ lui $t4, %hi(highlight_enemy_damage) -/* 0441A0 7F00F670 11600008 */ beqz $t3, .L7F00F694 -/* 0441A4 7F00F674 00000000 */ nop -/* 0441A8 7F00F678 46000282 */ mul.s $f10, $f0, $f0 -/* 0441AC 7F00F67C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0441B0 7F00F680 44818000 */ mtc1 $at, $f16 -/* 0441B4 7F00F684 3C018003 */ lui $at, %hi(slider_007_mode_accuracy) -/* 0441B8 7F00F688 46105482 */ mul.s $f18, $f10, $f16 -/* 0441BC 7F00F68C 1000000A */ b .L7F00F6B8 -/* 0441C0 7F00F690 E432A9A8 */ swc1 $f18, %lo(slider_007_mode_accuracy)($at) -.L7F00F694: -/* 0441C4 7F00F694 8D8C97A0 */ lw $t4, %lo(highlight_enemy_damage)($t4) -/* 0441C8 7F00F698 11800007 */ beqz $t4, .L7F00F6B8 -/* 0441CC 7F00F69C 00000000 */ nop -/* 0441D0 7F00F6A0 46000102 */ mul.s $f4, $f0, $f0 -/* 0441D4 7F00F6A4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0441D8 7F00F6A8 44813000 */ mtc1 $at, $f6 -/* 0441DC 7F00F6AC 3C018003 */ lui $at, %hi(slider_007_mode_damage) -/* 0441E0 7F00F6B0 46062202 */ mul.s $f8, $f4, $f6 -/* 0441E4 7F00F6B4 E428A9AC */ swc1 $f8, %lo(slider_007_mode_damage)($at) -.L7F00F6B8: -/* 0441E8 7F00F6B8 0FC02DC9 */ jal disable_all_switches -/* 0441EC 7F00F6BC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 0441F0 7F00F6C0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 0441F4 7F00F6C4 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 0441F8 7F00F6C8 00002825 */ move $a1, $zero -/* 0441FC 7F00F6CC 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 044200 7F00F6D0 24060001 */ li $a2, 1 -/* 044204 7F00F6D4 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 044208 7F00F6D8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04420C 7F00F6DC 24050001 */ li $a1, 1 -/* 044210 7F00F6E0 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 044214 7F00F6E4 24060001 */ li $a2, 1 -/* 044218 7F00F6E8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04421C 7F00F6EC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 044220 7F00F6F0 24050003 */ li $a1, 3 -/* 044224 7F00F6F4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 044228 7F00F6F8 24060001 */ li $a2, 1 -/* 04422C 7F00F6FC 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 044230 7F00F700 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 044234 7F00F704 24050006 */ li $a1, 6 -/* 044238 7F00F708 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04423C 7F00F70C 24060001 */ li $a2, 1 -/* 044240 7F00F710 0FC026E1 */ jal menu_control_stick_tracking -/* 044244 7F00F714 00000000 */ nop -/* 044248 7F00F718 3C0D8003 */ lui $t5, %hi(tab_1_selected) -/* 04424C 7F00F71C 8DADA8D0 */ lw $t5, %lo(tab_1_selected)($t5) -/* 044250 7F00F720 2404000B */ li $a0, 11 -/* 044254 7F00F724 3C0E8003 */ lui $t6, %hi(tab_2_selected) -/* 044258 7F00F728 11A00005 */ beqz $t5, .L7F00F740 -/* 04425C 7F00F72C 00000000 */ nop -/* 044260 7F00F730 0FC06975 */ jal set_menu_to_mode -/* 044264 7F00F734 24050001 */ li $a1, 1 -/* 044268 7F00F738 10000014 */ b .L7F00F78C -/* 04426C 7F00F73C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00F740: -/* 044270 7F00F740 8DCEA8D4 */ lw $t6, %lo(tab_2_selected)($t6) -/* 044274 7F00F744 2404000A */ li $a0, 10 -/* 044278 7F00F748 3C0F8003 */ lui $t7, %hi(tab_3_selected) -/* 04427C 7F00F74C 11C00005 */ beqz $t6, .L7F00F764 -/* 044280 7F00F750 00000000 */ nop -/* 044284 7F00F754 0FC06975 */ jal set_menu_to_mode -/* 044288 7F00F758 00002825 */ move $a1, $zero -/* 04428C 7F00F75C 1000000B */ b .L7F00F78C -/* 044290 7F00F760 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00F764: -/* 044294 7F00F764 8DEFA8D8 */ lw $t7, %lo(tab_3_selected)($t7) -/* 044298 7F00F768 24040008 */ li $a0, 8 -/* 04429C 7F00F76C 51E00007 */ beql $t7, $zero, .L7F00F78C -/* 0442A0 7F00F770 8FBF0014 */ lw $ra, 0x14($sp) -/* 0442A4 7F00F774 0FC06975 */ jal set_menu_to_mode -/* 0442A8 7F00F778 00002825 */ move $a1, $zero -/* 0442AC 7F00F77C 3C048003 */ lui $a0, %hi(selected_difficulty) -/* 0442B0 7F00F780 0FC03B59 */ jal set_cursor_pos_difficulty -/* 0442B4 7F00F784 8C84A8FC */ lw $a0, %lo(selected_difficulty)($a0) -/* 0442B8 7F00F788 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00F78C: -/* 0442BC 7F00F78C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0442C0 7F00F790 03E00008 */ jr $ra -/* 0442C4 7F00F794 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void constructor_menu09_007options(void) -{ - s32 spC14; - s32 spC10; - s32 spC0C; - ? sp54; - ?32 sp50; - s32 sp4C; - s16 sp44; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_ret_4; - s32 temp_s0; - s32 temp_s0_2; - s32 temp_s0_3; - s32 temp_s0_4; - s32 temp_s0_5; - s32 temp_s0_6; - s32 temp_s0_7; - s32 temp_s0_8; - void *temp_t6; - void *temp_t7; - void *phi_t7; - void *phi_t6; - s32 phi_s0; - s32 phi_s0_2; - s32 phi_s0_3; - s32 phi_s0_4; - - phi_t7 = &asc_D_80050074; - phi_t6 = &sp54; -loop_1: - temp_t7 = phi_t7 + 0xc; - temp_t6 = phi_t6 + 0xc; - temp_t6->unk-C = (?32) *phi_t7; - temp_t6->unk-8 = (?32) temp_t7->unk-8; - temp_t6->unk-4 = (?32) temp_t7->unk-4; - phi_t7 = temp_t7; - phi_t6 = temp_t6; - if (temp_t7 != (&asc_D_80050074 + 0xbb8)) - { - goto loop_1; - } - spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x28)); - spC10 = 0x37; - spC0C = 0x8f; - sp44 = get_video2_settings_txtClipW(); - temp_s0 = write_text_at_abs_coord(print_current_solo_briefing_stage_name(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(0, 0, 0)))), &sp54), &spC10, &spC0C, spC14, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x2a)); - spC10 = 0x39; - spC0C = 0xa4; - temp_ret = microcode_constructor_related_to_menus(microcode_constructor_related_to_menus(temp_s0, 0x37, 0xb5, 0x163, 0xc0, 0x32), 0x37, 0xa4 + 0x11, (s32) (sqrtf(slider_007_mode_health / 10.0f) * 300.0f) + 0x37, (s32) (0xa4 + 0x1c), 0x64); - phi_s0 = temp_ret; - if (highlight_enemy_health != 0) - { - phi_s0 = microcode_constructor_related_to_menus(temp_ret, 0x37, spC0C + -1, 0xc7, (s32) (spC0C + 0xe), 0x32); - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_2 = write_text_at_abs_coord(phi_s0, &spC10, &spC0C, spC14, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - sprintf(&sp54, &aD, (s32) (slider_007_mode_health * 100.0f)); - sp4C = 0; - sp50 = 0; - sub_GAME_7F0AE98C(&sp50, &sp4C, &sp54, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - spC10 = (s32) (0x11d - sp4C); - spC0C = 0xa4; - sp44 = get_video2_settings_txtClipW(); - temp_s0_3 = write_text_at_abs_coord(temp_s0_2, &spC10, &spC0C, &sp54, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x2b)); - spC10 = 0x39; - spC0C = 0xc5; - temp_ret_2 = microcode_constructor_related_to_menus(microcode_constructor_related_to_menus(temp_s0_3, 0x37, 0xd6, 0x163, 0xe1, 0x32), 0x37, 0xc5 + 0x11, (s32) (sqrtf(slider_007_mode_accuracy / 10.0f) * 300.0f) + 0x37, (s32) (0xc5 + 0x1c), 0x64); - phi_s0_2 = temp_ret_2; - if (highlight_enemy_accuracy != 0) - { - phi_s0_2 = microcode_constructor_related_to_menus(temp_ret_2, 0x37, spC0C + -1, 0xc7, (s32) (spC0C + 0xe), 0x32); - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_4 = write_text_at_abs_coord(phi_s0_2, &spC10, &spC0C, spC14, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - sprintf(&sp54, &aD_0, (s32) (slider_007_mode_accuracy * 100.0f)); - sp4C = 0; - sp50 = 0; - sub_GAME_7F0AE98C(&sp50, &sp4C, &sp54, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - spC10 = (s32) (0x11d - sp4C); - spC0C = 0xc5; - sp44 = get_video2_settings_txtClipW(); - temp_s0_5 = write_text_at_abs_coord(temp_s0_4, &spC10, &spC0C, &sp54, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x2c)); - spC10 = 0x39; - spC0C = 0xe6; - temp_ret_3 = microcode_constructor_related_to_menus(microcode_constructor_related_to_menus(temp_s0_5, 0x37, 0xf7, 0x163, 0x102, 0x32), 0x37, 0xe6 + 0x11, (s32) (sqrtf(slider_007_mode_damage / 10.0f) * 300.0f) + 0x37, (s32) (0xe6 + 0x1c), 0x64); - phi_s0_3 = temp_ret_3; - if (highlight_enemy_damage != 0) - { - phi_s0_3 = microcode_constructor_related_to_menus(temp_ret_3, 0x37, spC0C + -1, 0xc7, (s32) (spC0C + 0xe), 0x32); - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_6 = write_text_at_abs_coord(phi_s0_3, &spC10, &spC0C, spC14, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - sprintf(&sp54, &aD_1, (s32) (slider_007_mode_damage * 10.0f)); - sp4C = 0; - sp50 = 0; - sub_GAME_7F0AE98C(&sp50, &sp4C, &sp54, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - spC10 = (s32) (0x11d - sp4C); - spC0C = 0xe6; - sp44 = get_video2_settings_txtClipW(); - temp_s0_7 = write_text_at_abs_coord(temp_s0_6, &spC10, &spC0C, &sp54, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - spC14 = get_textptr_for_textID(TEXT(LTITLE, 0x29)); - spC10 = 0x39; - spC0C = 0x107; - temp_ret_4 = microcode_constructor_related_to_menus(microcode_constructor_related_to_menus(temp_s0_7, 0x37, 0x118, 0x163, 0x123, 0x32), 0x37, 0x107 + 0x11, (s32) ((slider_007_mode_reaction * 300.0f) * 1.0f) + 0x37, (s32) (0x107 + 0x1c), 0x64); - phi_s0_4 = temp_ret_4; - if (highlight_enemy_reaction != 0) - { - phi_s0_4 = microcode_constructor_related_to_menus(temp_ret_4, 0x37, spC0C + -1, 0xc7, (s32) (spC0C + 0xe), 0x32); - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_8 = write_text_at_abs_coord(phi_s0_4, &spC10, &spC0C, spC14, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - sprintf(&sp54, &aD_2, (s32) (slider_007_mode_reaction * 100.0f)); - sp4C = 0; - sp50 = 0; - sub_GAME_7F0AE98C(&sp50, &sp4C, &sp54, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - spC10 = (s32) (0x11d - sp4C); - spC0C = 0x107; - sp44 = get_video2_settings_txtClipW(); - load_draw_selected_icon_folder_select(add_tab2_next(add_tab3_previous(add_tab1_start(write_text_at_abs_coord(temp_s0_8, &spC10, &spC0C, &sp54, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0))))); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu09_007options -/* 0442C8 7F00F798 27BDF3E8 */ addiu $sp, $sp, -0xc18 -/* 0442CC 7F00F79C AFBF003C */ sw $ra, 0x3c($sp) -/* 0442D0 7F00F7A0 AFB00038 */ sw $s0, 0x38($sp) -/* 0442D4 7F00F7A4 00002825 */ move $a1, $zero -/* 0442D8 7F00F7A8 00003025 */ move $a2, $zero -/* 0442DC 7F00F7AC 0C0011B4 */ jal set_setfillcolor -/* 0442E0 7F00F7B0 00003825 */ move $a3, $zero -/* 0442E4 7F00F7B4 0C000FBE */ jal insert_generic_fillrect -/* 0442E8 7F00F7B8 00402025 */ move $a0, $v0 -/* 0442EC 7F00F7BC 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 0442F0 7F00F7C0 00402025 */ move $a0, $v0 -/* 0442F4 7F00F7C4 3C0F8005 */ lui $t7, %hi(asc_D_80050074) -/* 0442F8 7F00F7C8 25EF0074 */ addiu $t7, %lo(asc_D_80050074) # addiu $t7, $t7, 0x74 -/* 0442FC 7F00F7CC 25E80BB8 */ addiu $t0, $t7, 0xbb8 -/* 044300 7F00F7D0 27AE0054 */ addiu $t6, $sp, 0x54 -.L7F00F7D4: -/* 044304 7F00F7D4 8DE10000 */ lw $at, ($t7) -/* 044308 7F00F7D8 25EF000C */ addiu $t7, $t7, 0xc -/* 04430C 7F00F7DC 25CE000C */ addiu $t6, $t6, 0xc -/* 044310 7F00F7E0 ADC1FFF4 */ sw $at, -0xc($t6) -/* 044314 7F00F7E4 8DE1FFF8 */ lw $at, -8($t7) -/* 044318 7F00F7E8 ADC1FFF8 */ sw $at, -8($t6) -/* 04431C 7F00F7EC 8DE1FFFC */ lw $at, -4($t7) -/* 044320 7F00F7F0 15E8FFF8 */ bne $t7, $t0, .L7F00F7D4 -/* 044324 7F00F7F4 ADC1FFFC */ sw $at, -4($t6) -/* 044328 7F00F7F8 0FC2B366 */ jal microcode_constructor -/* 04432C 7F00F7FC 00402025 */ move $a0, $v0 -/* 044330 7F00F800 00402025 */ move $a0, $v0 -/* 044334 7F00F804 0FC03AAF */ jal print_current_solo_briefing_stage_name -/* 044338 7F00F808 27A50054 */ addiu $a1, $sp, 0x54 -/* 04433C 7F00F80C 00408025 */ move $s0, $v0 -/* 044340 7F00F810 0FC30776 */ jal get_textptr_for_textID -/* 044344 7F00F814 34049C28 */ li $a0, 39976 -/* 044348 7F00F818 24090037 */ li $t1, 55 -/* 04434C 7F00F81C 2403008F */ li $v1, 143 -/* 044350 7F00F820 AFA20C14 */ sw $v0, 0xc14($sp) -/* 044354 7F00F824 AFA90C10 */ sw $t1, 0xc10($sp) -/* 044358 7F00F828 0C001107 */ jal get_video2_settings_txtClipW -/* 04435C 7F00F82C AFA30C0C */ sw $v1, 0xc0c($sp) -/* 044360 7F00F830 0C00110B */ jal get_video2_settings_txtClipH -/* 044364 7F00F834 A7A20044 */ sh $v0, 0x44($sp) -/* 044368 7F00F838 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge) -/* 04436C 7F00F83C 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) -/* 044370 7F00F840 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3) -/* 044374 7F00F844 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2) -/* 044378 7F00F848 87AD0044 */ lh $t5, 0x44($sp) -/* 04437C 7F00F84C 240C00FF */ li $t4, 255 -/* 044380 7F00F850 AFAC0018 */ sw $t4, 0x18($sp) -/* 044384 7F00F854 02002025 */ move $a0, $s0 -/* 044388 7F00F858 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 04438C 7F00F85C 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 044390 7F00F860 8FA70C14 */ lw $a3, 0xc14($sp) -/* 044394 7F00F864 AFA20020 */ sw $v0, 0x20($sp) -/* 044398 7F00F868 AFA00024 */ sw $zero, 0x24($sp) -/* 04439C 7F00F86C AFA00028 */ sw $zero, 0x28($sp) -/* 0443A0 7F00F870 AFAB0014 */ sw $t3, 0x14($sp) -/* 0443A4 7F00F874 AFAA0010 */ sw $t2, 0x10($sp) -/* 0443A8 7F00F878 0FC025D8 */ jal write_text_at_abs_coord -/* 0443AC 7F00F87C AFAD001C */ sw $t5, 0x1c($sp) -/* 0443B0 7F00F880 00408025 */ move $s0, $v0 -/* 0443B4 7F00F884 0FC30776 */ jal get_textptr_for_textID -/* 0443B8 7F00F888 34049C2A */ li $a0, 39978 -/* 0443BC 7F00F88C 24190039 */ li $t9, 57 -/* 0443C0 7F00F890 240300A4 */ li $v1, 164 -/* 0443C4 7F00F894 241800C0 */ li $t8, 192 -/* 0443C8 7F00F898 24080032 */ li $t0, 50 -/* 0443CC 7F00F89C AFA20C14 */ sw $v0, 0xc14($sp) -/* 0443D0 7F00F8A0 AFB90C10 */ sw $t9, 0xc10($sp) -/* 0443D4 7F00F8A4 AFA80014 */ sw $t0, 0x14($sp) -/* 0443D8 7F00F8A8 AFB80010 */ sw $t8, 0x10($sp) -/* 0443DC 7F00F8AC AFA30C0C */ sw $v1, 0xc0c($sp) -/* 0443E0 7F00F8B0 02002025 */ move $a0, $s0 -/* 0443E4 7F00F8B4 24050037 */ li $a1, 55 -/* 0443E8 7F00F8B8 240600B5 */ li $a2, 181 -/* 0443EC 7F00F8BC 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0443F0 7F00F8C0 24070163 */ li $a3, 355 -/* 0443F4 7F00F8C4 3C018003 */ lui $at, %hi(slider_007_mode_health) -/* 0443F8 7F00F8C8 C424A9A4 */ lwc1 $f4, %lo(slider_007_mode_health)($at) -/* 0443FC 7F00F8CC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 044400 7F00F8D0 44813000 */ mtc1 $at, $f6 -/* 044404 7F00F8D4 00408025 */ move $s0, $v0 -/* 044408 7F00F8D8 0C007DF8 */ jal sqrtf -/* 04440C 7F00F8DC 46062303 */ div.s $f12, $f4, $f6 -/* 044410 7F00F8E0 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 044414 7F00F8E4 44814000 */ mtc1 $at, $f8 -/* 044418 7F00F8E8 8FA30C0C */ lw $v1, 0xc0c($sp) -/* 04441C 7F00F8EC 24090064 */ li $t1, 100 -/* 044420 7F00F8F0 46080282 */ mul.s $f10, $f0, $f8 -/* 044424 7F00F8F4 246E001C */ addiu $t6, $v1, 0x1c -/* 044428 7F00F8F8 AFAE0010 */ sw $t6, 0x10($sp) -/* 04442C 7F00F8FC AFA90014 */ sw $t1, 0x14($sp) -/* 044430 7F00F900 02002025 */ move $a0, $s0 -/* 044434 7F00F904 24050037 */ li $a1, 55 -/* 044438 7F00F908 24660011 */ addiu $a2, $v1, 0x11 -/* 04443C 7F00F90C 4600540D */ trunc.w.s $f16, $f10 -/* 044440 7F00F910 44078000 */ mfc1 $a3, $f16 -/* 044444 7F00F914 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 044448 7F00F918 24E70037 */ addiu $a3, $a3, 0x37 -/* 04444C 7F00F91C 3C0A8007 */ lui $t2, %hi(highlight_enemy_health) -/* 044450 7F00F920 8D4A9798 */ lw $t2, %lo(highlight_enemy_health)($t2) -/* 044454 7F00F924 00408025 */ move $s0, $v0 -/* 044458 7F00F928 1140000C */ beqz $t2, .L7F00F95C -/* 04445C 7F00F92C 00000000 */ nop -/* 044460 7F00F930 8FA30C0C */ lw $v1, 0xc0c($sp) -/* 044464 7F00F934 240C0032 */ li $t4, 50 -/* 044468 7F00F938 AFAC0014 */ sw $t4, 0x14($sp) -/* 04446C 7F00F93C 246B000E */ addiu $t3, $v1, 0xe -/* 044470 7F00F940 AFAB0010 */ sw $t3, 0x10($sp) -/* 044474 7F00F944 00402025 */ move $a0, $v0 -/* 044478 7F00F948 24050037 */ li $a1, 55 -/* 04447C 7F00F94C 240700C7 */ li $a3, 199 -/* 044480 7F00F950 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 044484 7F00F954 2466FFFF */ addiu $a2, $v1, -1 -/* 044488 7F00F958 00408025 */ move $s0, $v0 -.L7F00F95C: -/* 04448C 7F00F95C 0C001107 */ jal get_video2_settings_txtClipW -/* 044490 7F00F960 00000000 */ nop -/* 044494 7F00F964 0C00110B */ jal get_video2_settings_txtClipH -/* 044498 7F00F968 A7A20044 */ sh $v0, 0x44($sp) -/* 04449C 7F00F96C 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 0444A0 7F00F970 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 0444A4 7F00F974 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 0444A8 7F00F978 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 0444AC 7F00F97C 87A80044 */ lh $t0, 0x44($sp) -/* 0444B0 7F00F980 241800FF */ li $t8, 255 -/* 0444B4 7F00F984 AFB80018 */ sw $t8, 0x18($sp) -/* 0444B8 7F00F988 02002025 */ move $a0, $s0 -/* 0444BC 7F00F98C 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 0444C0 7F00F990 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 0444C4 7F00F994 8FA70C14 */ lw $a3, 0xc14($sp) -/* 0444C8 7F00F998 AFA20020 */ sw $v0, 0x20($sp) -/* 0444CC 7F00F99C AFA00024 */ sw $zero, 0x24($sp) -/* 0444D0 7F00F9A0 AFA00028 */ sw $zero, 0x28($sp) -/* 0444D4 7F00F9A4 AFB90014 */ sw $t9, 0x14($sp) -/* 0444D8 7F00F9A8 AFAD0010 */ sw $t5, 0x10($sp) -/* 0444DC 7F00F9AC 0FC025D8 */ jal write_text_at_abs_coord -/* 0444E0 7F00F9B0 AFA8001C */ sw $t0, 0x1c($sp) -/* 0444E4 7F00F9B4 3C018003 */ lui $at, %hi(slider_007_mode_health) -/* 0444E8 7F00F9B8 C432A9A4 */ lwc1 $f18, %lo(slider_007_mode_health)($at) -/* 0444EC 7F00F9BC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0444F0 7F00F9C0 44812000 */ mtc1 $at, $f4 -/* 0444F4 7F00F9C4 3C058005 */ lui $a1, %hi(aD) -/* 0444F8 7F00F9C8 00408025 */ move $s0, $v0 -/* 0444FC 7F00F9CC 46049182 */ mul.s $f6, $f18, $f4 -/* 044500 7F00F9D0 24A50C2C */ addiu $a1, %lo(aD) # addiu $a1, $a1, 0xc2c -/* 044504 7F00F9D4 27A40054 */ addiu $a0, $sp, 0x54 -/* 044508 7F00F9D8 4600320D */ trunc.w.s $f8, $f6 -/* 04450C 7F00F9DC 44064000 */ mfc1 $a2, $f8 -/* 044510 7F00F9E0 0C002B25 */ jal sprintf -/* 044514 7F00F9E4 00000000 */ nop -/* 044518 7F00F9E8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 04451C 7F00F9EC 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 044520 7F00F9F0 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 044524 7F00F9F4 AFA0004C */ sw $zero, 0x4c($sp) -/* 044528 7F00F9F8 AFA00050 */ sw $zero, 0x50($sp) -/* 04452C 7F00F9FC 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 044530 7F00FA00 27A40050 */ addiu $a0, $sp, 0x50 -/* 044534 7F00FA04 27A5004C */ addiu $a1, $sp, 0x4c -/* 044538 7F00FA08 27A60054 */ addiu $a2, $sp, 0x54 -/* 04453C 7F00FA0C AFA00014 */ sw $zero, 0x14($sp) -/* 044540 7F00FA10 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 044544 7F00FA14 AFAE0010 */ sw $t6, 0x10($sp) -/* 044548 7F00FA18 8FA9004C */ lw $t1, 0x4c($sp) -/* 04454C 7F00FA1C 240A011D */ li $t2, 285 -/* 044550 7F00FA20 240300A4 */ li $v1, 164 -/* 044554 7F00FA24 01495823 */ subu $t3, $t2, $t1 -/* 044558 7F00FA28 AFAB0C10 */ sw $t3, 0xc10($sp) -/* 04455C 7F00FA2C 0C001107 */ jal get_video2_settings_txtClipW -/* 044560 7F00FA30 AFA30C0C */ sw $v1, 0xc0c($sp) -/* 044564 7F00FA34 0C00110B */ jal get_video2_settings_txtClipH -/* 044568 7F00FA38 A7A20044 */ sh $v0, 0x44($sp) -/* 04456C 7F00FA3C 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge) -/* 044570 7F00FA40 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 044574 7F00FA44 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 044578 7F00FA48 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4) -/* 04457C 7F00FA4C 87B80044 */ lh $t8, 0x44($sp) -/* 044580 7F00FA50 241900FF */ li $t9, 255 -/* 044584 7F00FA54 AFB90018 */ sw $t9, 0x18($sp) -/* 044588 7F00FA58 02002025 */ move $a0, $s0 -/* 04458C 7F00FA5C 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 044590 7F00FA60 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 044594 7F00FA64 27A70054 */ addiu $a3, $sp, 0x54 -/* 044598 7F00FA68 AFA20020 */ sw $v0, 0x20($sp) -/* 04459C 7F00FA6C AFA00024 */ sw $zero, 0x24($sp) -/* 0445A0 7F00FA70 AFA00028 */ sw $zero, 0x28($sp) -/* 0445A4 7F00FA74 AFAD0014 */ sw $t5, 0x14($sp) -/* 0445A8 7F00FA78 AFAC0010 */ sw $t4, 0x10($sp) -/* 0445AC 7F00FA7C 0FC025D8 */ jal write_text_at_abs_coord -/* 0445B0 7F00FA80 AFB8001C */ sw $t8, 0x1c($sp) -/* 0445B4 7F00FA84 00408025 */ move $s0, $v0 -/* 0445B8 7F00FA88 0FC30776 */ jal get_textptr_for_textID -/* 0445BC 7F00FA8C 34049C2B */ li $a0, 39979 -/* 0445C0 7F00FA90 24080039 */ li $t0, 57 -/* 0445C4 7F00FA94 240300C5 */ li $v1, 197 -/* 0445C8 7F00FA98 240F00E1 */ li $t7, 225 -/* 0445CC 7F00FA9C 240E0032 */ li $t6, 50 -/* 0445D0 7F00FAA0 AFA20C14 */ sw $v0, 0xc14($sp) -/* 0445D4 7F00FAA4 AFA80C10 */ sw $t0, 0xc10($sp) -/* 0445D8 7F00FAA8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0445DC 7F00FAAC AFAF0010 */ sw $t7, 0x10($sp) -/* 0445E0 7F00FAB0 AFA30C0C */ sw $v1, 0xc0c($sp) -/* 0445E4 7F00FAB4 02002025 */ move $a0, $s0 -/* 0445E8 7F00FAB8 24050037 */ li $a1, 55 -/* 0445EC 7F00FABC 240600D6 */ li $a2, 214 -/* 0445F0 7F00FAC0 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0445F4 7F00FAC4 24070163 */ li $a3, 355 -/* 0445F8 7F00FAC8 3C018003 */ lui $at, %hi(slider_007_mode_accuracy) -/* 0445FC 7F00FACC C42AA9A8 */ lwc1 $f10, %lo(slider_007_mode_accuracy)($at) -/* 044600 7F00FAD0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 044604 7F00FAD4 44818000 */ mtc1 $at, $f16 -/* 044608 7F00FAD8 00408025 */ move $s0, $v0 -/* 04460C 7F00FADC 0C007DF8 */ jal sqrtf -/* 044610 7F00FAE0 46105303 */ div.s $f12, $f10, $f16 -/* 044614 7F00FAE4 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 044618 7F00FAE8 44819000 */ mtc1 $at, $f18 -/* 04461C 7F00FAEC 8FA30C0C */ lw $v1, 0xc0c($sp) -/* 044620 7F00FAF0 240B0064 */ li $t3, 100 -/* 044624 7F00FAF4 46120102 */ mul.s $f4, $f0, $f18 -/* 044628 7F00FAF8 2469001C */ addiu $t1, $v1, 0x1c -/* 04462C 7F00FAFC AFA90010 */ sw $t1, 0x10($sp) -/* 044630 7F00FB00 AFAB0014 */ sw $t3, 0x14($sp) -/* 044634 7F00FB04 02002025 */ move $a0, $s0 -/* 044638 7F00FB08 24050037 */ li $a1, 55 -/* 04463C 7F00FB0C 24660011 */ addiu $a2, $v1, 0x11 -/* 044640 7F00FB10 4600218D */ trunc.w.s $f6, $f4 -/* 044644 7F00FB14 44073000 */ mfc1 $a3, $f6 -/* 044648 7F00FB18 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04464C 7F00FB1C 24E70037 */ addiu $a3, $a3, 0x37 -/* 044650 7F00FB20 3C0C8007 */ lui $t4, %hi(highlight_enemy_accuracy) -/* 044654 7F00FB24 8D8C979C */ lw $t4, %lo(highlight_enemy_accuracy)($t4) -/* 044658 7F00FB28 00408025 */ move $s0, $v0 -/* 04465C 7F00FB2C 1180000C */ beqz $t4, .L7F00FB60 -/* 044660 7F00FB30 00000000 */ nop -/* 044664 7F00FB34 8FA30C0C */ lw $v1, 0xc0c($sp) -/* 044668 7F00FB38 24190032 */ li $t9, 50 -/* 04466C 7F00FB3C AFB90014 */ sw $t9, 0x14($sp) -/* 044670 7F00FB40 246D000E */ addiu $t5, $v1, 0xe -/* 044674 7F00FB44 AFAD0010 */ sw $t5, 0x10($sp) -/* 044678 7F00FB48 00402025 */ move $a0, $v0 -/* 04467C 7F00FB4C 24050037 */ li $a1, 55 -/* 044680 7F00FB50 240700C7 */ li $a3, 199 -/* 044684 7F00FB54 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 044688 7F00FB58 2466FFFF */ addiu $a2, $v1, -1 -/* 04468C 7F00FB5C 00408025 */ move $s0, $v0 -.L7F00FB60: -/* 044690 7F00FB60 0C001107 */ jal get_video2_settings_txtClipW -/* 044694 7F00FB64 00000000 */ nop -/* 044698 7F00FB68 0C00110B */ jal get_video2_settings_txtClipH -/* 04469C 7F00FB6C A7A20044 */ sh $v0, 0x44($sp) -/* 0446A0 7F00FB70 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 0446A4 7F00FB74 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 0446A8 7F00FB78 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 0446AC 7F00FB7C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 0446B0 7F00FB80 87AE0044 */ lh $t6, 0x44($sp) -/* 0446B4 7F00FB84 240F00FF */ li $t7, 255 -/* 0446B8 7F00FB88 AFAF0018 */ sw $t7, 0x18($sp) -/* 0446BC 7F00FB8C 02002025 */ move $a0, $s0 -/* 0446C0 7F00FB90 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 0446C4 7F00FB94 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 0446C8 7F00FB98 8FA70C14 */ lw $a3, 0xc14($sp) -/* 0446CC 7F00FB9C AFA20020 */ sw $v0, 0x20($sp) -/* 0446D0 7F00FBA0 AFA00024 */ sw $zero, 0x24($sp) -/* 0446D4 7F00FBA4 AFA00028 */ sw $zero, 0x28($sp) -/* 0446D8 7F00FBA8 AFA80014 */ sw $t0, 0x14($sp) -/* 0446DC 7F00FBAC AFB80010 */ sw $t8, 0x10($sp) -/* 0446E0 7F00FBB0 0FC025D8 */ jal write_text_at_abs_coord -/* 0446E4 7F00FBB4 AFAE001C */ sw $t6, 0x1c($sp) -/* 0446E8 7F00FBB8 3C018003 */ lui $at, %hi(slider_007_mode_accuracy) -/* 0446EC 7F00FBBC C428A9A8 */ lwc1 $f8, %lo(slider_007_mode_accuracy)($at) -/* 0446F0 7F00FBC0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0446F4 7F00FBC4 44815000 */ mtc1 $at, $f10 -/* 0446F8 7F00FBC8 3C058005 */ lui $a1, %hi(aD_0) -/* 0446FC 7F00FBCC 00408025 */ move $s0, $v0 -/* 044700 7F00FBD0 460A4402 */ mul.s $f16, $f8, $f10 -/* 044704 7F00FBD4 24A50C34 */ addiu $a1, %lo(aD_0) # addiu $a1, $a1, 0xc34 -/* 044708 7F00FBD8 27A40054 */ addiu $a0, $sp, 0x54 -/* 04470C 7F00FBDC 4600848D */ trunc.w.s $f18, $f16 -/* 044710 7F00FBE0 44069000 */ mfc1 $a2, $f18 -/* 044714 7F00FBE4 0C002B25 */ jal sprintf -/* 044718 7F00FBE8 00000000 */ nop -/* 04471C 7F00FBEC 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge) -/* 044720 7F00FBF0 8D290EB4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1) -/* 044724 7F00FBF4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 044728 7F00FBF8 AFA0004C */ sw $zero, 0x4c($sp) -/* 04472C 7F00FBFC AFA00050 */ sw $zero, 0x50($sp) -/* 044730 7F00FC00 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 044734 7F00FC04 27A40050 */ addiu $a0, $sp, 0x50 -/* 044738 7F00FC08 27A5004C */ addiu $a1, $sp, 0x4c -/* 04473C 7F00FC0C 27A60054 */ addiu $a2, $sp, 0x54 -/* 044740 7F00FC10 AFA00014 */ sw $zero, 0x14($sp) -/* 044744 7F00FC14 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 044748 7F00FC18 AFA90010 */ sw $t1, 0x10($sp) -/* 04474C 7F00FC1C 8FAB004C */ lw $t3, 0x4c($sp) -/* 044750 7F00FC20 240C011D */ li $t4, 285 -/* 044754 7F00FC24 240300C5 */ li $v1, 197 -/* 044758 7F00FC28 018B6823 */ subu $t5, $t4, $t3 -/* 04475C 7F00FC2C AFAD0C10 */ sw $t5, 0xc10($sp) -/* 044760 7F00FC30 0C001107 */ jal get_video2_settings_txtClipW -/* 044764 7F00FC34 AFA30C0C */ sw $v1, 0xc0c($sp) -/* 044768 7F00FC38 0C00110B */ jal get_video2_settings_txtClipH -/* 04476C 7F00FC3C A7A20044 */ sh $v0, 0x44($sp) -/* 044770 7F00FC40 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 044774 7F00FC44 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge) -/* 044778 7F00FC48 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8) -/* 04477C 7F00FC4C 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 044780 7F00FC50 87AF0044 */ lh $t7, 0x44($sp) -/* 044784 7F00FC54 240800FF */ li $t0, 255 -/* 044788 7F00FC58 AFA80018 */ sw $t0, 0x18($sp) -/* 04478C 7F00FC5C 02002025 */ move $a0, $s0 -/* 044790 7F00FC60 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 044794 7F00FC64 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 044798 7F00FC68 27A70054 */ addiu $a3, $sp, 0x54 -/* 04479C 7F00FC6C AFA20020 */ sw $v0, 0x20($sp) -/* 0447A0 7F00FC70 AFA00024 */ sw $zero, 0x24($sp) -/* 0447A4 7F00FC74 AFA00028 */ sw $zero, 0x28($sp) -/* 0447A8 7F00FC78 AFB80014 */ sw $t8, 0x14($sp) -/* 0447AC 7F00FC7C AFB90010 */ sw $t9, 0x10($sp) -/* 0447B0 7F00FC80 0FC025D8 */ jal write_text_at_abs_coord -/* 0447B4 7F00FC84 AFAF001C */ sw $t7, 0x1c($sp) -/* 0447B8 7F00FC88 00408025 */ move $s0, $v0 -/* 0447BC 7F00FC8C 0FC30776 */ jal get_textptr_for_textID -/* 0447C0 7F00FC90 34049C2C */ li $a0, 39980 -/* 0447C4 7F00FC94 240E0039 */ li $t6, 57 -/* 0447C8 7F00FC98 240300E6 */ li $v1, 230 -/* 0447CC 7F00FC9C 240A0102 */ li $t2, 258 -/* 0447D0 7F00FCA0 24090032 */ li $t1, 50 -/* 0447D4 7F00FCA4 AFA20C14 */ sw $v0, 0xc14($sp) -/* 0447D8 7F00FCA8 AFAE0C10 */ sw $t6, 0xc10($sp) -/* 0447DC 7F00FCAC AFA90014 */ sw $t1, 0x14($sp) -/* 0447E0 7F00FCB0 AFAA0010 */ sw $t2, 0x10($sp) -/* 0447E4 7F00FCB4 AFA30C0C */ sw $v1, 0xc0c($sp) -/* 0447E8 7F00FCB8 02002025 */ move $a0, $s0 -/* 0447EC 7F00FCBC 24050037 */ li $a1, 55 -/* 0447F0 7F00FCC0 240600F7 */ li $a2, 247 -/* 0447F4 7F00FCC4 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0447F8 7F00FCC8 24070163 */ li $a3, 355 -/* 0447FC 7F00FCCC 3C018003 */ lui $at, %hi(slider_007_mode_damage) -/* 044800 7F00FCD0 C424A9AC */ lwc1 $f4, %lo(slider_007_mode_damage)($at) -/* 044804 7F00FCD4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 044808 7F00FCD8 44813000 */ mtc1 $at, $f6 -/* 04480C 7F00FCDC 00408025 */ move $s0, $v0 -/* 044810 7F00FCE0 0C007DF8 */ jal sqrtf -/* 044814 7F00FCE4 46062303 */ div.s $f12, $f4, $f6 -/* 044818 7F00FCE8 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 04481C 7F00FCEC 44814000 */ mtc1 $at, $f8 -/* 044820 7F00FCF0 8FA30C0C */ lw $v1, 0xc0c($sp) -/* 044824 7F00FCF4 240D0064 */ li $t5, 100 -/* 044828 7F00FCF8 46080282 */ mul.s $f10, $f0, $f8 -/* 04482C 7F00FCFC 246B001C */ addiu $t3, $v1, 0x1c -/* 044830 7F00FD00 AFAB0010 */ sw $t3, 0x10($sp) -/* 044834 7F00FD04 AFAD0014 */ sw $t5, 0x14($sp) -/* 044838 7F00FD08 02002025 */ move $a0, $s0 -/* 04483C 7F00FD0C 24050037 */ li $a1, 55 -/* 044840 7F00FD10 24660011 */ addiu $a2, $v1, 0x11 -/* 044844 7F00FD14 4600540D */ trunc.w.s $f16, $f10 -/* 044848 7F00FD18 44078000 */ mfc1 $a3, $f16 -/* 04484C 7F00FD1C 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 044850 7F00FD20 24E70037 */ addiu $a3, $a3, 0x37 -/* 044854 7F00FD24 3C198007 */ lui $t9, %hi(highlight_enemy_damage) -/* 044858 7F00FD28 8F3997A0 */ lw $t9, %lo(highlight_enemy_damage)($t9) -/* 04485C 7F00FD2C 00408025 */ move $s0, $v0 -/* 044860 7F00FD30 1320000C */ beqz $t9, .L7F00FD64 -/* 044864 7F00FD34 00000000 */ nop -/* 044868 7F00FD38 8FA30C0C */ lw $v1, 0xc0c($sp) -/* 04486C 7F00FD3C 24080032 */ li $t0, 50 -/* 044870 7F00FD40 AFA80014 */ sw $t0, 0x14($sp) -/* 044874 7F00FD44 2478000E */ addiu $t8, $v1, 0xe -/* 044878 7F00FD48 AFB80010 */ sw $t8, 0x10($sp) -/* 04487C 7F00FD4C 00402025 */ move $a0, $v0 -/* 044880 7F00FD50 24050037 */ li $a1, 55 -/* 044884 7F00FD54 240700C7 */ li $a3, 199 -/* 044888 7F00FD58 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04488C 7F00FD5C 2466FFFF */ addiu $a2, $v1, -1 -/* 044890 7F00FD60 00408025 */ move $s0, $v0 -.L7F00FD64: -/* 044894 7F00FD64 0C001107 */ jal get_video2_settings_txtClipW -/* 044898 7F00FD68 00000000 */ nop -/* 04489C 7F00FD6C 0C00110B */ jal get_video2_settings_txtClipH -/* 0448A0 7F00FD70 A7A20044 */ sh $v0, 0x44($sp) -/* 0448A4 7F00FD74 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge) -/* 0448A8 7F00FD78 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 0448AC 7F00FD7C 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 0448B0 7F00FD80 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7) -/* 0448B4 7F00FD84 87A90044 */ lh $t1, 0x44($sp) -/* 0448B8 7F00FD88 240A00FF */ li $t2, 255 -/* 0448BC 7F00FD8C AFAA0018 */ sw $t2, 0x18($sp) -/* 0448C0 7F00FD90 02002025 */ move $a0, $s0 -/* 0448C4 7F00FD94 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 0448C8 7F00FD98 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 0448CC 7F00FD9C 8FA70C14 */ lw $a3, 0xc14($sp) -/* 0448D0 7F00FDA0 AFA20020 */ sw $v0, 0x20($sp) -/* 0448D4 7F00FDA4 AFA00024 */ sw $zero, 0x24($sp) -/* 0448D8 7F00FDA8 AFA00028 */ sw $zero, 0x28($sp) -/* 0448DC 7F00FDAC AFAE0014 */ sw $t6, 0x14($sp) -/* 0448E0 7F00FDB0 AFAF0010 */ sw $t7, 0x10($sp) -/* 0448E4 7F00FDB4 0FC025D8 */ jal write_text_at_abs_coord -/* 0448E8 7F00FDB8 AFA9001C */ sw $t1, 0x1c($sp) -/* 0448EC 7F00FDBC 3C018003 */ lui $at, %hi(slider_007_mode_damage) -/* 0448F0 7F00FDC0 C432A9AC */ lwc1 $f18, %lo(slider_007_mode_damage)($at) -/* 0448F4 7F00FDC4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0448F8 7F00FDC8 44812000 */ mtc1 $at, $f4 -/* 0448FC 7F00FDCC 3C058005 */ lui $a1, %hi(aD_1) -/* 044900 7F00FDD0 00408025 */ move $s0, $v0 -/* 044904 7F00FDD4 46049182 */ mul.s $f6, $f18, $f4 -/* 044908 7F00FDD8 24A50C3C */ addiu $a1, %lo(aD_1) # addiu $a1, $a1, 0xc3c -/* 04490C 7F00FDDC 27A40054 */ addiu $a0, $sp, 0x54 -/* 044910 7F00FDE0 4600320D */ trunc.w.s $f8, $f6 -/* 044914 7F00FDE4 44064000 */ mfc1 $a2, $f8 -/* 044918 7F00FDE8 0C002B25 */ jal sprintf -/* 04491C 7F00FDEC 00000000 */ nop -/* 044920 7F00FDF0 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) -/* 044924 7F00FDF4 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3) -/* 044928 7F00FDF8 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 04492C 7F00FDFC AFA0004C */ sw $zero, 0x4c($sp) -/* 044930 7F00FE00 AFA00050 */ sw $zero, 0x50($sp) -/* 044934 7F00FE04 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 044938 7F00FE08 27A40050 */ addiu $a0, $sp, 0x50 -/* 04493C 7F00FE0C 27A5004C */ addiu $a1, $sp, 0x4c -/* 044940 7F00FE10 27A60054 */ addiu $a2, $sp, 0x54 -/* 044944 7F00FE14 AFA00014 */ sw $zero, 0x14($sp) -/* 044948 7F00FE18 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04494C 7F00FE1C AFAB0010 */ sw $t3, 0x10($sp) -/* 044950 7F00FE20 8FAD004C */ lw $t5, 0x4c($sp) -/* 044954 7F00FE24 2419011D */ li $t9, 285 -/* 044958 7F00FE28 240300E6 */ li $v1, 230 -/* 04495C 7F00FE2C 032DC023 */ subu $t8, $t9, $t5 -/* 044960 7F00FE30 AFB80C10 */ sw $t8, 0xc10($sp) -/* 044964 7F00FE34 0C001107 */ jal get_video2_settings_txtClipW -/* 044968 7F00FE38 AFA30C0C */ sw $v1, 0xc0c($sp) -/* 04496C 7F00FE3C 0C00110B */ jal get_video2_settings_txtClipH -/* 044970 7F00FE40 A7A20044 */ sh $v0, 0x44($sp) -/* 044974 7F00FE44 3C088004 */ lui $t0, %hi(ptrSecondFontTableLarge) -/* 044978 7F00FE48 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge) -/* 04497C 7F00FE4C 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7) -/* 044980 7F00FE50 8D080EB8 */ lw $t0, %lo(ptrSecondFontTableLarge)($t0) -/* 044984 7F00FE54 87AA0044 */ lh $t2, 0x44($sp) -/* 044988 7F00FE58 240E00FF */ li $t6, 255 -/* 04498C 7F00FE5C AFAE0018 */ sw $t6, 0x18($sp) -/* 044990 7F00FE60 02002025 */ move $a0, $s0 -/* 044994 7F00FE64 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 044998 7F00FE68 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 04499C 7F00FE6C 27A70054 */ addiu $a3, $sp, 0x54 -/* 0449A0 7F00FE70 AFA20020 */ sw $v0, 0x20($sp) -/* 0449A4 7F00FE74 AFA00024 */ sw $zero, 0x24($sp) -/* 0449A8 7F00FE78 AFA00028 */ sw $zero, 0x28($sp) -/* 0449AC 7F00FE7C AFAF0014 */ sw $t7, 0x14($sp) -/* 0449B0 7F00FE80 AFA80010 */ sw $t0, 0x10($sp) -/* 0449B4 7F00FE84 0FC025D8 */ jal write_text_at_abs_coord -/* 0449B8 7F00FE88 AFAA001C */ sw $t2, 0x1c($sp) -/* 0449BC 7F00FE8C 00408025 */ move $s0, $v0 -/* 0449C0 7F00FE90 0FC30776 */ jal get_textptr_for_textID -/* 0449C4 7F00FE94 34049C29 */ li $a0, 39977 -/* 0449C8 7F00FE98 24090039 */ li $t1, 57 -/* 0449CC 7F00FE9C 24030107 */ li $v1, 263 -/* 0449D0 7F00FEA0 240C0123 */ li $t4, 291 -/* 0449D4 7F00FEA4 240B0032 */ li $t3, 50 -/* 0449D8 7F00FEA8 AFA20C14 */ sw $v0, 0xc14($sp) -/* 0449DC 7F00FEAC AFA90C10 */ sw $t1, 0xc10($sp) -/* 0449E0 7F00FEB0 AFAB0014 */ sw $t3, 0x14($sp) -/* 0449E4 7F00FEB4 AFAC0010 */ sw $t4, 0x10($sp) -/* 0449E8 7F00FEB8 AFA30C0C */ sw $v1, 0xc0c($sp) -/* 0449EC 7F00FEBC 02002025 */ move $a0, $s0 -/* 0449F0 7F00FEC0 24050037 */ li $a1, 55 -/* 0449F4 7F00FEC4 24060118 */ li $a2, 280 -/* 0449F8 7F00FEC8 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0449FC 7F00FECC 24070163 */ li $a3, 355 -/* 044A00 7F00FED0 3C018003 */ lui $at, %hi(slider_007_mode_reaction) -/* 044A04 7F00FED4 C42AA9A0 */ lwc1 $f10, %lo(slider_007_mode_reaction)($at) -/* 044A08 7F00FED8 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 044A0C 7F00FEDC 44818000 */ mtc1 $at, $f16 -/* 044A10 7F00FEE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 044A14 7F00FEE4 44812000 */ mtc1 $at, $f4 -/* 044A18 7F00FEE8 46105482 */ mul.s $f18, $f10, $f16 -/* 044A1C 7F00FEEC 8FA30C0C */ lw $v1, 0xc0c($sp) -/* 044A20 7F00FEF0 24180064 */ li $t8, 100 -/* 044A24 7F00FEF4 AFB80014 */ sw $t8, 0x14($sp) -/* 044A28 7F00FEF8 246D001C */ addiu $t5, $v1, 0x1c -/* 044A2C 7F00FEFC AFAD0010 */ sw $t5, 0x10($sp) -/* 044A30 7F00FF00 00402025 */ move $a0, $v0 -/* 044A34 7F00FF04 46049182 */ mul.s $f6, $f18, $f4 -/* 044A38 7F00FF08 24050037 */ li $a1, 55 -/* 044A3C 7F00FF0C 24660011 */ addiu $a2, $v1, 0x11 -/* 044A40 7F00FF10 4600320D */ trunc.w.s $f8, $f6 -/* 044A44 7F00FF14 44074000 */ mfc1 $a3, $f8 -/* 044A48 7F00FF18 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 044A4C 7F00FF1C 24E70037 */ addiu $a3, $a3, 0x37 -/* 044A50 7F00FF20 3C088007 */ lui $t0, %hi(highlight_enemy_reaction) -/* 044A54 7F00FF24 8D089794 */ lw $t0, %lo(highlight_enemy_reaction)($t0) -/* 044A58 7F00FF28 00408025 */ move $s0, $v0 -/* 044A5C 7F00FF2C 1100000C */ beqz $t0, .L7F00FF60 -/* 044A60 7F00FF30 00000000 */ nop -/* 044A64 7F00FF34 8FA30C0C */ lw $v1, 0xc0c($sp) -/* 044A68 7F00FF38 240E0032 */ li $t6, 50 -/* 044A6C 7F00FF3C AFAE0014 */ sw $t6, 0x14($sp) -/* 044A70 7F00FF40 246F000E */ addiu $t7, $v1, 0xe -/* 044A74 7F00FF44 AFAF0010 */ sw $t7, 0x10($sp) -/* 044A78 7F00FF48 00402025 */ move $a0, $v0 -/* 044A7C 7F00FF4C 24050037 */ li $a1, 55 -/* 044A80 7F00FF50 240700C7 */ li $a3, 199 -/* 044A84 7F00FF54 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 044A88 7F00FF58 2466FFFF */ addiu $a2, $v1, -1 -/* 044A8C 7F00FF5C 00408025 */ move $s0, $v0 -.L7F00FF60: -/* 044A90 7F00FF60 0C001107 */ jal get_video2_settings_txtClipW -/* 044A94 7F00FF64 00000000 */ nop -/* 044A98 7F00FF68 0C00110B */ jal get_video2_settings_txtClipH -/* 044A9C 7F00FF6C A7A20044 */ sh $v0, 0x44($sp) -/* 044AA0 7F00FF70 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge) -/* 044AA4 7F00FF74 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge) -/* 044AA8 7F00FF78 8D290EB4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1) -/* 044AAC 7F00FF7C 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2) -/* 044AB0 7F00FF80 87AB0044 */ lh $t3, 0x44($sp) -/* 044AB4 7F00FF84 240C00FF */ li $t4, 255 -/* 044AB8 7F00FF88 AFAC0018 */ sw $t4, 0x18($sp) -/* 044ABC 7F00FF8C 02002025 */ move $a0, $s0 -/* 044AC0 7F00FF90 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 044AC4 7F00FF94 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 044AC8 7F00FF98 8FA70C14 */ lw $a3, 0xc14($sp) -/* 044ACC 7F00FF9C AFA20020 */ sw $v0, 0x20($sp) -/* 044AD0 7F00FFA0 AFA00024 */ sw $zero, 0x24($sp) -/* 044AD4 7F00FFA4 AFA00028 */ sw $zero, 0x28($sp) -/* 044AD8 7F00FFA8 AFA90014 */ sw $t1, 0x14($sp) -/* 044ADC 7F00FFAC AFAA0010 */ sw $t2, 0x10($sp) -/* 044AE0 7F00FFB0 0FC025D8 */ jal write_text_at_abs_coord -/* 044AE4 7F00FFB4 AFAB001C */ sw $t3, 0x1c($sp) -/* 044AE8 7F00FFB8 3C018003 */ lui $at, %hi(slider_007_mode_reaction) -/* 044AEC 7F00FFBC C42AA9A0 */ lwc1 $f10, %lo(slider_007_mode_reaction)($at) -/* 044AF0 7F00FFC0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 044AF4 7F00FFC4 44818000 */ mtc1 $at, $f16 -/* 044AF8 7F00FFC8 3C058005 */ lui $a1, %hi(aD_2) -/* 044AFC 7F00FFCC 00408025 */ move $s0, $v0 -/* 044B00 7F00FFD0 46105482 */ mul.s $f18, $f10, $f16 -/* 044B04 7F00FFD4 24A50C44 */ addiu $a1, %lo(aD_2) # addiu $a1, $a1, 0xc44 -/* 044B08 7F00FFD8 27A40054 */ addiu $a0, $sp, 0x54 -/* 044B0C 7F00FFDC 4600910D */ trunc.w.s $f4, $f18 -/* 044B10 7F00FFE0 44062000 */ mfc1 $a2, $f4 -/* 044B14 7F00FFE4 0C002B25 */ jal sprintf -/* 044B18 7F00FFE8 00000000 */ nop -/* 044B1C 7F00FFEC 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 044B20 7F00FFF0 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 044B24 7F00FFF4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 044B28 7F00FFF8 AFA0004C */ sw $zero, 0x4c($sp) -/* 044B2C 7F00FFFC AFA00050 */ sw $zero, 0x50($sp) -/* 044B30 7F010000 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 044B34 7F010004 27A40050 */ addiu $a0, $sp, 0x50 -/* 044B38 7F010008 27A5004C */ addiu $a1, $sp, 0x4c -/* 044B3C 7F01000C 27A60054 */ addiu $a2, $sp, 0x54 -/* 044B40 7F010010 AFA00014 */ sw $zero, 0x14($sp) -/* 044B44 7F010014 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 044B48 7F010018 AFAD0010 */ sw $t5, 0x10($sp) -/* 044B4C 7F01001C 8FB8004C */ lw $t8, 0x4c($sp) -/* 044B50 7F010020 2408011D */ li $t0, 285 -/* 044B54 7F010024 24030107 */ li $v1, 263 -/* 044B58 7F010028 01187823 */ subu $t7, $t0, $t8 -/* 044B5C 7F01002C AFAF0C10 */ sw $t7, 0xc10($sp) -/* 044B60 7F010030 0C001107 */ jal get_video2_settings_txtClipW -/* 044B64 7F010034 AFA30C0C */ sw $v1, 0xc0c($sp) -/* 044B68 7F010038 0C00110B */ jal get_video2_settings_txtClipH -/* 044B6C 7F01003C A7A20044 */ sh $v0, 0x44($sp) -/* 044B70 7F010040 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge) -/* 044B74 7F010044 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 044B78 7F010048 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 044B7C 7F01004C 8DCE0EB8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6) -/* 044B80 7F010050 87AC0044 */ lh $t4, 0x44($sp) -/* 044B84 7F010054 240900FF */ li $t1, 255 -/* 044B88 7F010058 AFA90018 */ sw $t1, 0x18($sp) -/* 044B8C 7F01005C 02002025 */ move $a0, $s0 -/* 044B90 7F010060 27A50C10 */ addiu $a1, $sp, 0xc10 -/* 044B94 7F010064 27A60C0C */ addiu $a2, $sp, 0xc0c -/* 044B98 7F010068 27A70054 */ addiu $a3, $sp, 0x54 -/* 044B9C 7F01006C AFA20020 */ sw $v0, 0x20($sp) -/* 044BA0 7F010070 AFA00024 */ sw $zero, 0x24($sp) -/* 044BA4 7F010074 AFA00028 */ sw $zero, 0x28($sp) -/* 044BA8 7F010078 AFAA0014 */ sw $t2, 0x14($sp) -/* 044BAC 7F01007C AFAE0010 */ sw $t6, 0x10($sp) -/* 044BB0 7F010080 0FC025D8 */ jal write_text_at_abs_coord -/* 044BB4 7F010084 AFAC001C */ sw $t4, 0x1c($sp) -/* 044BB8 7F010088 0FC02820 */ jal add_tab1_start -/* 044BBC 7F01008C 00402025 */ move $a0, $v0 -/* 044BC0 7F010090 0FC0288E */ jal add_tab3_previous -/* 044BC4 7F010094 00402025 */ move $a0, $v0 -/* 044BC8 7F010098 0FC02905 */ jal add_tab2_next -/* 044BCC 7F01009C 00402025 */ move $a0, $v0 -/* 044BD0 7F0100A0 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 044BD4 7F0100A4 00402025 */ move $a0, $v0 -/* 044BD8 7F0100A8 8FBF003C */ lw $ra, 0x3c($sp) -/* 044BDC 7F0100AC 8FB00038 */ lw $s0, 0x38($sp) -/* 044BE0 7F0100B0 27BD0C18 */ addiu $sp, $sp, 0xc18 -/* 044BE4 7F0100B4 03E00008 */ jr $ra -/* 044BE8 7F0100B8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -undefined4 get_player_control_style(int playernum) { - return (&controlstyle_player)[playernum]; -} -#else -GLOBAL_ASM( -.text -glabel get_player_control_style -/* 044BEC 7F0100BC 00047080 */ sll $t6, $a0, 2 -/* 044BF0 7F0100C0 3C028007 */ lui $v0, %hi(controlstyle_player) -/* 044BF4 7F0100C4 004E1021 */ addu $v0, $v0, $t6 -/* 044BF8 7F0100C8 03E00008 */ jr $ra -/* 044BFC 7F0100CC 8C4297B8 */ lw $v0, %lo(controlstyle_player)($v0) -) -#endif - - - - - - -s32 check_if_mp_stage_unlocked(s32 stage) -{ - s32 players; - if (!multi_stage_setups[stage].min_player) - { - return 0; - } - players=get_selected_num_players(); - if (multi_stage_setups[stage].max_player < players) - { - return 0; - } - if (multi_stage_setups[stage].unlock_after == -1) - { - return 1; - } - if (isStageUnlockedAtDifficulty(selected_folder_num, multi_stage_setups[stage].unlock_after, DIFFICULTY_AGENT)) - { - return 1; - } - return 0; -} - - - - - -#ifdef NONMATCHING -void *select_game_length(void) -{ - s32 temp_t1; - s32 temp_t2; - s32 phi_t2; - - if (scenario != 2) - { - game_length = (s32) ((s32) (game_length + 1) % 7); - return &game_length; - } - temp_t1 = game_length + 1; - temp_t2 = temp_t1 & 3; - phi_t2 = temp_t2; - if (temp_t1 < 0) - { - phi_t2 = temp_t2; - if (temp_t2 != 0) - { - phi_t2 = temp_t2 + -4; - } - } - game_length = (s32) phi_t2; - return &game_length; -} -#else -GLOBAL_ASM( -.text -glabel select_game_length -/* 044CA0 7F010170 3C0E8003 */ lui $t6, %hi(scenario) -/* 044CA4 7F010174 8DCEB540 */ lw $t6, %lo(scenario)($t6) -/* 044CA8 7F010178 24010002 */ li $at, 2 -/* 044CAC 7F01017C 3C028003 */ lui $v0, %hi(game_length) -/* 044CB0 7F010180 11C1000B */ beq $t6, $at, .L7F0101B0 -/* 044CB4 7F010184 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8 -/* 044CB8 7F010188 3C028003 */ lui $v0, %hi(game_length) -/* 044CBC 7F01018C 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8 -/* 044CC0 7F010190 8C4F0000 */ lw $t7, ($v0) -/* 044CC4 7F010194 24010007 */ li $at, 7 -/* 044CC8 7F010198 25F80001 */ addiu $t8, $t7, 1 -/* 044CCC 7F01019C 0301001A */ div $zero, $t8, $at -/* 044CD0 7F0101A0 0000C810 */ mfhi $t9 -/* 044CD4 7F0101A4 AC590000 */ sw $t9, ($v0) -/* 044CD8 7F0101A8 03E00008 */ jr $ra -/* 044CDC 7F0101AC 00000000 */ nop -.L7F0101B0: -/* 044CE0 7F0101B0 8C480000 */ lw $t0, ($v0) -/* 044CE4 7F0101B4 25090001 */ addiu $t1, $t0, 1 -/* 044CE8 7F0101B8 05210004 */ bgez $t1, .L7F0101CC -/* 044CEC 7F0101BC 312A0003 */ andi $t2, $t1, 3 -/* 044CF0 7F0101C0 11400002 */ beqz $t2, .L7F0101CC -/* 044CF4 7F0101C4 00000000 */ nop -/* 044CF8 7F0101C8 254AFFFC */ addiu $t2, $t2, -4 -.L7F0101CC: -/* 044CFC 7F0101CC AC4A0000 */ sw $t2, ($v0) -/* 044D00 7F0101D0 03E00008 */ jr $ra -/* 044D04 7F0101D4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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 = 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( -.text -glabel copy_aim_settings_to_playerdata -/* 044D08 7F0101D8 3C0E8003 */ lui $t6, %hi(aim_sight_adjustment) -/* 044D0C 7F0101DC 8DCEB53C */ lw $t6, %lo(aim_sight_adjustment)($t6) -/* 044D10 7F0101E0 3C188003 */ lui $t8, %hi(mp_sight_adjust_table) -/* 044D14 7F0101E4 2718B510 */ addiu $t8, %lo(mp_sight_adjust_table) # addiu $t8, $t8, -0x4af0 -/* 044D18 7F0101E8 000E7880 */ sll $t7, $t6, 2 -/* 044D1C 7F0101EC 01F81021 */ addu $v0, $t7, $t8 -/* 044D20 7F0101F0 90430003 */ lbu $v1, 3($v0) -/* 044D24 7F0101F4 3C018008 */ lui $at, %hi(player1_player_data+0x6A) -/* 044D28 7F0101F8 A0239F5A */ sb $v1, %lo(player1_player_data+0x6A)($at) -/* 044D2C 7F0101FC 90440002 */ lbu $a0, 2($v0) -/* 044D30 7F010200 3C018008 */ lui $at, %hi(player1_player_data+0x6B) -/* 044D34 7F010204 A0249F5B */ sb $a0, %lo(player1_player_data+0x6B)($at) -/* 044D38 7F010208 3C018008 */ lui $at, %hi(player2_player_data+0x6A) -/* 044D3C 7F01020C A0239FCA */ sb $v1, %lo(player2_player_data+0x6A)($at) -/* 044D40 7F010210 3C018008 */ lui $at, %hi(player2_player_data+0x6B) -/* 044D44 7F010214 A0249FCB */ sb $a0, %lo(player2_player_data+0x6B)($at) -/* 044D48 7F010218 3C018008 */ lui $at, %hi(player3_player_data+0x6A) -/* 044D4C 7F01021C A023A03A */ sb $v1, %lo(player3_player_data+0x6A)($at) -/* 044D50 7F010220 3C018008 */ lui $at, %hi(player3_player_data+0x6B) -/* 044D54 7F010224 A024A03B */ sb $a0, %lo(player3_player_data+0x6B)($at) -/* 044D58 7F010228 3C018008 */ lui $at, %hi(player4_player_data+0x6A) -/* 044D5C 7F01022C A023A0AA */ sb $v1, %lo(player4_player_data+0x6A)($at) -/* 044D60 7F010230 3C018008 */ lui $at, %hi(player4_player_data+0x6B) -/* 044D64 7F010234 03E00008 */ jr $ra -/* 044D68 7F010238 A024A0AB */ sb $a0, %lo(player4_player_data+0x6B)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void advance_aim_settings_selection(void) -{ - s32 temp_t7; - s32 temp_t8; - s32 phi_t8; - - temp_t7 = aim_sight_adjustment + 1; - temp_t8 = temp_t7 & 3; - phi_t8 = temp_t8; - if (temp_t7 < 0) - { - phi_t8 = temp_t8; - if (temp_t8 != 0) - { - phi_t8 = temp_t8 + -4; - } - } - aim_sight_adjustment = (s32) phi_t8; - copy_aim_settings_to_playerdata(); -} -#else -GLOBAL_ASM( -.text -glabel advance_aim_settings_selection -/* 044D6C 7F01023C 3C028003 */ lui $v0, %hi(aim_sight_adjustment) -/* 044D70 7F010240 2442B53C */ addiu $v0, %lo(aim_sight_adjustment) # addiu $v0, $v0, -0x4ac4 -/* 044D74 7F010244 8C4E0000 */ lw $t6, ($v0) -/* 044D78 7F010248 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 044D7C 7F01024C AFBF0014 */ sw $ra, 0x14($sp) -/* 044D80 7F010250 25CF0001 */ addiu $t7, $t6, 1 -/* 044D84 7F010254 05E10004 */ bgez $t7, .L7F010268 -/* 044D88 7F010258 31F80003 */ andi $t8, $t7, 3 -/* 044D8C 7F01025C 13000002 */ beqz $t8, .L7F010268 -/* 044D90 7F010260 00000000 */ nop -/* 044D94 7F010264 2718FFFC */ addiu $t8, $t8, -4 -.L7F010268: -/* 044D98 7F010268 0FC04076 */ jal copy_aim_settings_to_playerdata -/* 044D9C 7F01026C AC580000 */ sw $t8, ($v0) -/* 044DA0 7F010270 8FBF0014 */ lw $ra, 0x14($sp) -/* 044DA4 7F010274 27BD0018 */ addiu $sp, $sp, 0x18 -/* 044DA8 7F010278 03E00008 */ jr $ra -/* 044DAC 7F01027C 00000000 */ nop -) -#endif - - - - - -void unlock_all_mp_chars(void) { - num_chars_selectable_mp = 0x40; -} - - -s32 get_selected_num_players(void) -{ - if (gamemode == GAMEMODE_MULTI) - { - return selected_num_players; - } - return 1; -} - -u16 get_player_mp_char_head(s32 player) -{ - if ((&player_1_char)[player] < 0) - { - return mp_chr_setup[player].head; - } - return mp_chr_setup[(&player_1_char)[player]].head; -} - -u8 get_player_mp_char_gender(int player) -{ - if ((&player_1_char)[player] < 0) - { - return mp_chr_setup[player].gender; - } - return mp_chr_setup[(&player_1_char)[player]].gender; -} - -u16 get_player_mp_char_body(int player) -{ - if ((&player_1_char)[player] < 0) - { - return mp_chr_setup[player].body; - } - return mp_chr_setup[(&player_1_char)[player]].body; -} - -f32 get_player_mp_handicap(int player) -{ - return MP_handicap_table[(&handicap_player1)[player]].damage_modifier; -} - -f32 get_player_mp_char_height(int player) -{ - if ((&player_1_char)[player] < 0) { - return mp_chr_setup[player].pov; - } - return mp_chr_setup[(&player_1_char)[player]].pov; -} - -int get_mp_timelimit(void) { - return multi_game_lengths[game_length].time; -} - -int get_mp_pointlimit(void) { - return multi_game_lengths[game_length].points; -} - -void reset_mp_options_for_scenario(MPSCENARIOS scenarioid) -{ - 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; - } - return; -} - - - - - - -#ifdef NONMATCHING -void init_mp_options_for_scenario(longlong numplayers) -{ - longlong lVar1; - int iVar2; - int *piVar3; - - if (numplayers < 2) { - numplayers = 2; - } - selected_num_players = (u32)numplayers; - lVar1 = 0; - if (0 < numplayers) { - piVar3 = &player_1_char; - iVar2 = 0; - do { - if (*piVar3 == -1) { - *piVar3 = (int)lVar1; - *(undefined4 *)((int)&handicap_player1 + iVar2) = 5; - } - lVar1 = (longlong)((int)lVar1 + 1); - if ((2 < numplayers) && (3 < *(int *)((int)&controlstyle_player + iVar2))) { - *(int *)((int)&controlstyle_player + iVar2) = 0; - } - iVar2 += 4; - piVar3 = piVar3 + 1; - } while (lVar1 < numplayers); - } - if (((longlong)(ulonglong)(byte)mp_stage_playercounts[scenario].max < numplayers) || - (numplayers < (longlong)(ulonglong)(byte)mp_stage_playercounts[scenario].min)) { - reset_mp_options_for_scenario(0); - numplayers = (longlong)(int)selected_num_players; - } - if ((longlong)multi_stage_setups[MP_stage_selected].max_player < numplayers) { - MP_stage_selected = MP_STAGE_TEMPLE; - } - return; -} -#else -GLOBAL_ASM( -.text -glabel init_mp_options_for_scenario -/* 045138 7F010608 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 04513C 7F01060C AFB00018 */ sw $s0, 0x18($sp) -/* 045140 7F010610 28810002 */ slti $at, $a0, 2 -/* 045144 7F010614 00808025 */ move $s0, $a0 -/* 045148 7F010618 10200002 */ beqz $at, .L7F010624 -/* 04514C 7F01061C AFBF001C */ sw $ra, 0x1c($sp) -/* 045150 7F010620 24100002 */ li $s0, 2 -.L7F010624: -/* 045154 7F010624 3C028003 */ lui $v0, %hi(selected_num_players) -/* 045158 7F010628 2442B520 */ addiu $v0, %lo(selected_num_players) # addiu $v0, $v0, -0x4ae0 -/* 04515C 7F01062C AC500000 */ sw $s0, ($v0) -/* 045160 7F010630 00001825 */ move $v1, $zero -/* 045164 7F010634 1A00001C */ blez $s0, .L7F0106A8 -/* 045168 7F010638 02003025 */ move $a2, $s0 -/* 04516C 7F01063C 3C058003 */ lui $a1, %hi(player_1_char) -/* 045170 7F010640 3C0A8007 */ lui $t2, %hi(controlstyle_player) -/* 045174 7F010644 3C088007 */ lui $t0, %hi(handicap_player1) -/* 045178 7F010648 250897A8 */ addiu $t0, %lo(handicap_player1) # addiu $t0, $t0, -0x6858 -/* 04517C 7F01064C 254A97B8 */ addiu $t2, %lo(controlstyle_player) # addiu $t2, $t2, -0x6848 -/* 045180 7F010650 24A5B524 */ addiu $a1, %lo(player_1_char) # addiu $a1, $a1, -0x4adc -/* 045184 7F010654 00002025 */ move $a0, $zero -/* 045188 7F010658 24090005 */ li $t1, 5 -/* 04518C 7F01065C 2407FFFF */ li $a3, -1 -.L7F010660: -/* 045190 7F010660 8CAE0000 */ lw $t6, ($a1) -/* 045194 7F010664 01047821 */ addu $t7, $t0, $a0 -/* 045198 7F010668 2A010003 */ slti $at, $s0, 3 -/* 04519C 7F01066C 14EE0003 */ bne $a3, $t6, .L7F01067C -/* 0451A0 7F010670 01441021 */ addu $v0, $t2, $a0 -/* 0451A4 7F010674 ACA30000 */ sw $v1, ($a1) -/* 0451A8 7F010678 ADE90000 */ sw $t1, ($t7) -.L7F01067C: -/* 0451AC 7F01067C 14200006 */ bnez $at, .L7F010698 -/* 0451B0 7F010680 24630001 */ addiu $v1, $v1, 1 -/* 0451B4 7F010684 8C580000 */ lw $t8, ($v0) -/* 0451B8 7F010688 2B010004 */ slti $at, $t8, 4 -/* 0451BC 7F01068C 54200003 */ bnezl $at, .L7F01069C -/* 0451C0 7F010690 0066082A */ slt $at, $v1, $a2 -/* 0451C4 7F010694 AC400000 */ sw $zero, ($v0) -.L7F010698: -/* 0451C8 7F010698 0066082A */ slt $at, $v1, $a2 -.L7F01069C: -/* 0451CC 7F01069C 24840004 */ addiu $a0, $a0, 4 -/* 0451D0 7F0106A0 1420FFEF */ bnez $at, .L7F010660 -/* 0451D4 7F0106A4 24A50004 */ addiu $a1, $a1, 4 -.L7F0106A8: -/* 0451D8 7F0106A8 3C198003 */ lui $t9, %hi(scenario) -/* 0451DC 7F0106AC 8F39B540 */ lw $t9, %lo(scenario)($t9) -/* 0451E0 7F0106B0 3C0C8003 */ lui $t4, %hi(mp_player_counts) -/* 0451E4 7F0106B4 258CB054 */ addiu $t4, %lo(mp_player_counts) # addiu $t4, $t4, -0x4fac -/* 0451E8 7F0106B8 00195880 */ sll $t3, $t9, 2 -/* 0451EC 7F0106BC 016C1021 */ addu $v0, $t3, $t4 -/* 0451F0 7F0106C0 904D0003 */ lbu $t5, 3($v0) -/* 0451F4 7F0106C4 01A6082A */ slt $at, $t5, $a2 -/* 0451F8 7F0106C8 14200005 */ bnez $at, .L7F0106E0 -/* 0451FC 7F0106CC 00000000 */ nop -/* 045200 7F0106D0 904E0002 */ lbu $t6, 2($v0) -/* 045204 7F0106D4 00CE082A */ slt $at, $a2, $t6 -/* 045208 7F0106D8 10200005 */ beqz $at, .L7F0106F0 -/* 04520C 7F0106DC 00000000 */ nop -.L7F0106E0: -/* 045210 7F0106E0 0FC0411A */ jal reset_mp_options_for_scenario -/* 045214 7F0106E4 00002025 */ move $a0, $zero -/* 045218 7F0106E8 3C068003 */ lui $a2, %hi(selected_num_players) -/* 04521C 7F0106EC 8CC6B520 */ lw $a2, %lo(selected_num_players)($a2) -.L7F0106F0: -/* 045220 7F0106F0 3C028003 */ lui $v0, %hi(MP_stage_selected) -/* 045224 7F0106F4 2442B534 */ addiu $v0, %lo(MP_stage_selected) # addiu $v0, $v0, -0x4acc -/* 045228 7F0106F8 8C4F0000 */ lw $t7, ($v0) -/* 04522C 7F0106FC 3C198003 */ lui $t9, %hi(multi_stage_setups+20) -/* 045230 7F010700 240B0001 */ li $t3, 1 -/* 045234 7F010704 000FC080 */ sll $t8, $t7, 2 -/* 045238 7F010708 030FC023 */ subu $t8, $t8, $t7 -/* 04523C 7F01070C 0018C0C0 */ sll $t8, $t8, 3 -/* 045240 7F010710 0338C821 */ addu $t9, $t9, $t8 -/* 045244 7F010714 8F39B088 */ lw $t9, %lo(multi_stage_setups+20)($t9) -/* 045248 7F010718 0326082A */ slt $at, $t9, $a2 -/* 04524C 7F01071C 50200003 */ beql $at, $zero, .L7F01072C -/* 045250 7F010720 8FBF001C */ lw $ra, 0x1c($sp) -/* 045254 7F010724 AC4B0000 */ sw $t3, ($v0) -/* 045258 7F010728 8FBF001C */ lw $ra, 0x1c($sp) -.L7F01072C: -/* 04525C 7F01072C 8FB00018 */ lw $s0, 0x18($sp) -/* 045260 7F010730 27BD0020 */ addiu $sp, $sp, 0x20 -/* 045264 7F010734 03E00008 */ jr $ra -/* 045268 7F010738 00000000 */ nop -) -#endif - - - -void init_menu0E_mpoptions(void) -{ - int numplayers; - - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - - if (maybe_is_in_menu != FALSE) - { - sfx_c_700091E8(0x7fff); - musicTrack1Vol(0x7fff); - music1_playing = FALSE; - musicTrack1Play(M_FOLDERS); - maybe_is_in_menu = FALSE; - } - - 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) - { - MP_stage_selected = MP_STAGE_TEMPLE; - } - - highlight_players = FALSE; - highlight_scenario = FALSE; - highlight_gameselect = FALSE; - highlight_gamelength = FALSE; - highlight_character = FALSE; - highlight_weaponselect = FALSE; - highlight_health = FALSE; - highlight_controlstyle = FALSE; - highlight_aimadjustment = FALSE; - load_walletbond(); -} - -void update_menu0E_mpoptions(void) -{ - return; -} - - - - - - - - -#ifdef NONMATCHING -void interface_menu0E_mpoptions(void) -{ - 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; - - 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(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, Z_TRIG|A_BUTTON) == 0) - { - tab_3_highlight = 0; - tab_2_highlight = 0; - tab_1_highlight = 0; - highlight_players = 0; - highlight_scenario = 0; - highlight_gameselect = 0; - highlight_gamelength = 0; - highlight_character = 0; - highlight_weaponselect = 0; - highlight_health = 0; - highlight_controlstyle = 0; - highlight_aimadjustment = 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 - { - highlight_players = 1; - } - } - - 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, Z_TRIG|A_BUTTON) != 0) - { - if (tab_3_highlight != 0) - { - tab_3_selected = 1; - } - if (tab_1_highlight != 0) - { - tab_1_selected = 1; - } - if (highlight_players != 0) - { - 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, B_BUTTON) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 5, 1); - menu_control_stick_tracking(); - if (tab_3_selected != 0) - { - set_menu_to_mode(MENU_MODE_SELECT, 0); - set_menu_cursor_pos_to_setting(gamemode); - return; - } - if (tab_1_selected != 0) - { - 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); - } - selected_stage = curstageid; - briefingpage = 0xffffffff; - set_menu_to_mode(MENU_RUN_STAGE,1); - } - if (players_selected != 0) - { - temp_v1 = selected_num_players + 1; - phi_a0 = temp_v1; - if (get_attached_controller_count() < temp_v1) - { - phi_a0 = 2; - } - init_mp_options_for_scenario(phi_a0); - return; - } - if (scenario_selected != 0) - { - set_menu_to_mode(MENU_MP_SCENARIO_SELECT, 0); - return; - } - if (gameselect_selected != 0) - { - set_menu_to_mode(MENU_MP_STAGE_SELECT, 0); - return; - } - if (gamelength_selected != 0) - { - select_game_length(); - return; - } - if (character_selected != 0) - { - set_menu_to_mode(MENU_MP_CHAR_SELECT, 0); - return; - } - if (weaponselect_selected != 0) - { - advance_mp_weapon_set_by_one_save_value(); - return; - } - if (health_selected != 0) - { - set_menu_to_mode(MENU_MP_HANDICAP, 0); - return; - } - if (controlstyle_selected != 0) - { - set_menu_to_mode(MENU_MP_CONTROL_STYLE, 0); - return; - } - if (aimadjustment_selected != 0) - { - advance_aim_settings_selection(); - } -} -#else -GLOBAL_ASM( -.late_rodata -glabel menu0E_aspect -.word 0x3FAAAAAB /*1.3333334;*/ -glabel menu0E_pageheight -.word 0x461C4000 /*10000.0;*/ - -.text -glabel interface_menu0E_mpoptions -/* 045378 7F010848 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 04537C 7F01084C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 045380 7F010850 AFBF0014 */ sw $ra, 0x14($sp) -/* 045384 7F010854 44816000 */ mtc1 $at, $f12 -/* 045388 7F010858 AFA0003C */ sw $zero, 0x3c($sp) -/* 04538C 7F01085C AFA00038 */ sw $zero, 0x38($sp) -/* 045390 7F010860 AFA00034 */ sw $zero, 0x34($sp) -/* 045394 7F010864 AFA00030 */ sw $zero, 0x30($sp) -/* 045398 7F010868 AFA0002C */ sw $zero, 0x2c($sp) -/* 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 setvideo_far -/* 0453AC 7F01087C AFA0001C */ sw $zero, 0x1c($sp) -/* 0453B0 7F010880 3C018005 */ lui $at, %hi(menu0E_aspect) -/* 0453B4 7F010884 0C001164 */ jal video_related_21 -/* 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(menu0E_pageheight) -/* 0453C8 7F010898 0C001194 */ jal set_page_height -/* 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 -/* 0453DC 7F0108AC 00000000 */ nop -/* 0453E0 7F0108B0 28410002 */ slti $at, $v0, 2 -/* 0453E4 7F0108B4 10200006 */ beqz $at, .L7F0108D0 -/* 0453E8 7F0108B8 24040006 */ li $a0, 6 -/* 0453EC 7F0108BC 0FC06975 */ jal set_menu_to_mode -/* 0453F0 7F0108C0 00002825 */ move $a1, $zero -/* 0453F4 7F0108C4 3C048003 */ lui $a0, %hi(gamemode) -/* 0453F8 7F0108C8 0FC035FF */ jal set_menu_cursor_pos_to_setting -/* 0453FC 7F0108CC 8C84A8F0 */ lw $a0, %lo(gamemode)($a0) -.L7F0108D0: -/* 045400 7F0108D0 0C002E7E */ jal get_attached_controller_count -/* 045404 7F0108D4 00000000 */ nop -/* 045408 7F0108D8 3C0E8003 */ lui $t6, %hi(selected_num_players) -/* 04540C 7F0108DC 8DCEB520 */ lw $t6, %lo(selected_num_players)($t6) -/* 045410 7F0108E0 004E082A */ slt $at, $v0, $t6 -/* 045414 7F0108E4 50200006 */ beql $at, $zero, .L7F010900 -/* 045418 7F0108E8 00002025 */ move $a0, $zero -/* 04541C 7F0108EC 0C002E7E */ jal get_attached_controller_count -/* 045420 7F0108F0 00000000 */ nop -/* 045424 7F0108F4 0FC04182 */ jal init_mp_options_for_scenario -/* 045428 7F0108F8 00402025 */ move $a0, $v0 -/* 04542C 7F0108FC 00002025 */ move $a0, $zero -.L7F010900: -/* 045430 7F010900 0C0030C3 */ jal get_controller_buttons_held -/* 045434 7F010904 3405A000 */ li $a1, 40960 -/* 045438 7F010908 1440007A */ bnez $v0, .L7F010AF4 -/* 04543C 7F01090C 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 045440 7F010910 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 045444 7F010914 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 045448 7F010918 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 04544C 7F01091C 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 045450 7F010920 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 045454 7F010924 3C018007 */ lui $at, %hi(highlight_players) -/* 045458 7F010928 AC2097C8 */ sw $zero, %lo(highlight_players)($at) -/* 04545C 7F01092C 3C018007 */ lui $at, %hi(highlight_scenario) -/* 045460 7F010930 AC2097CC */ sw $zero, %lo(highlight_scenario)($at) -/* 045464 7F010934 3C018007 */ lui $at, %hi(highlight_gameselect) -/* 045468 7F010938 AC2097D0 */ sw $zero, %lo(highlight_gameselect)($at) -/* 04546C 7F01093C 3C018007 */ lui $at, %hi(highlight_gamelength) -/* 045470 7F010940 AC2097D4 */ sw $zero, %lo(highlight_gamelength)($at) -/* 045474 7F010944 3C018007 */ lui $at, %hi(highlight_character) -/* 045478 7F010948 AC2097D8 */ sw $zero, %lo(highlight_character)($at) -/* 04547C 7F01094C 3C018007 */ lui $at, %hi(highlight_weaponselect) -/* 045480 7F010950 AC2097DC */ sw $zero, %lo(highlight_weaponselect)($at) -/* 045484 7F010954 3C018007 */ lui $at, %hi(highlight_health) -/* 045488 7F010958 AC2097E0 */ sw $zero, %lo(highlight_health)($at) -/* 04548C 7F01095C 3C018007 */ lui $at, %hi(highlight_controlstyle) -/* 045490 7F010960 AC2097E4 */ sw $zero, %lo(highlight_controlstyle)($at) -/* 045494 7F010964 3C018007 */ lui $at, %hi(highlight_aimadjustment) -/* 045498 7F010968 0FC028E7 */ jal isontab3 -/* 04549C 7F01096C AC2097E8 */ sw $zero, %lo(highlight_aimadjustment)($at) -/* 0454A0 7F010970 10400004 */ beqz $v0, .L7F010984 -/* 0454A4 7F010974 240F0001 */ li $t7, 1 -/* 0454A8 7F010978 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 0454AC 7F01097C 1000005D */ b .L7F010AF4 -/* 0454B0 7F010980 AC2FA8E4 */ sw $t7, %lo(tab_3_highlight)($at) -.L7F010984: -/* 0454B4 7F010984 0FC02879 */ jal isontab1 -/* 0454B8 7F010988 00000000 */ nop -/* 0454BC 7F01098C 10400005 */ beqz $v0, .L7F0109A4 -/* 0454C0 7F010990 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 0454C4 7F010994 24030001 */ li $v1, 1 -/* 0454C8 7F010998 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 0454CC 7F01099C 10000055 */ b .L7F010AF4 -/* 0454D0 7F0109A0 AC23A8DC */ sw $v1, %lo(tab_1_highlight)($at) -.L7F0109A4: -/* 0454D4 7F0109A4 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at) -/* 0454D8 7F0109A8 3C198003 */ lui $t9, %hi(unlock_aim_sight) -/* 0454DC 7F0109AC 4600218D */ trunc.w.s $f6, $f4 -/* 0454E0 7F0109B0 44023000 */ mfc1 $v0, $f6 -/* 0454E4 7F0109B4 00000000 */ nop -/* 0454E8 7F0109B8 28410119 */ slti $at, $v0, 0x119 -/* 0454EC 7F0109BC 54200009 */ bnezl $at, .L7F0109E4 -/* 0454F0 7F0109C0 28410105 */ slti $at, $v0, 0x105 -/* 0454F4 7F0109C4 8F39B55C */ lw $t9, %lo(unlock_aim_sight)($t9) -/* 0454F8 7F0109C8 24030001 */ li $v1, 1 -/* 0454FC 7F0109CC 3C018007 */ lui $at, %hi(highlight_aimadjustment) -/* 045500 7F0109D0 53200004 */ beql $t9, $zero, .L7F0109E4 -/* 045504 7F0109D4 28410105 */ slti $at, $v0, 0x105 -/* 045508 7F0109D8 10000046 */ b .L7F010AF4 -/* 04550C 7F0109DC AC2397E8 */ sw $v1, %lo(highlight_aimadjustment)($at) -/* 045510 7F0109E0 28410105 */ slti $at, $v0, 0x105 -.L7F0109E4: -/* 045514 7F0109E4 14200008 */ bnez $at, .L7F010A08 -/* 045518 7F0109E8 3C088003 */ lui $t0, %hi(unlock_control_style) -/* 04551C 7F0109EC 8D08B558 */ lw $t0, %lo(unlock_control_style)($t0) -/* 045520 7F0109F0 24030001 */ li $v1, 1 -/* 045524 7F0109F4 3C018007 */ lui $at, %hi(highlight_controlstyle) -/* 045528 7F0109F8 51000004 */ beql $t0, $zero, .L7F010A0C -/* 04552C 7F0109FC 284100F1 */ slti $at, $v0, 0xf1 -/* 045530 7F010A00 1000003C */ b .L7F010AF4 -/* 045534 7F010A04 AC2397E4 */ sw $v1, %lo(highlight_controlstyle)($at) -.L7F010A08: -/* 045538 7F010A08 284100F1 */ slti $at, $v0, 0xf1 -.L7F010A0C: -/* 04553C 7F010A0C 14200008 */ bnez $at, .L7F010A30 -/* 045540 7F010A10 3C098003 */ lui $t1, %hi(unlock_handicap) -/* 045544 7F010A14 8D29B554 */ lw $t1, %lo(unlock_handicap)($t1) -/* 045548 7F010A18 24030001 */ li $v1, 1 -/* 04554C 7F010A1C 3C018007 */ lui $at, %hi(highlight_health) -/* 045550 7F010A20 51200004 */ beql $t1, $zero, .L7F010A34 -/* 045554 7F010A24 284100DD */ slti $at, $v0, 0xdd -/* 045558 7F010A28 10000032 */ b .L7F010AF4 -/* 04555C 7F010A2C AC2397E0 */ sw $v1, %lo(highlight_health)($at) -.L7F010A30: -/* 045560 7F010A30 284100DD */ slti $at, $v0, 0xdd -.L7F010A34: -/* 045564 7F010A34 14200008 */ bnez $at, .L7F010A58 -/* 045568 7F010A38 3C0A8003 */ lui $t2, %hi(unlock_chars) -/* 04556C 7F010A3C 8D4AB54C */ lw $t2, %lo(unlock_chars)($t2) -/* 045570 7F010A40 24030001 */ li $v1, 1 -/* 045574 7F010A44 3C018007 */ lui $at, %hi(highlight_character) -/* 045578 7F010A48 51400004 */ beql $t2, $zero, .L7F010A5C -/* 04557C 7F010A4C 284100C9 */ slti $at, $v0, 0xc9 -/* 045580 7F010A50 10000028 */ b .L7F010AF4 -/* 045584 7F010A54 AC2397D8 */ sw $v1, %lo(highlight_character)($at) -.L7F010A58: -/* 045588 7F010A58 284100C9 */ slti $at, $v0, 0xc9 -.L7F010A5C: -/* 04558C 7F010A5C 14200008 */ bnez $at, .L7F010A80 -/* 045590 7F010A60 3C0B8003 */ lui $t3, %hi(unlock_weapon_select) -/* 045594 7F010A64 8D6BB550 */ lw $t3, %lo(unlock_weapon_select)($t3) -/* 045598 7F010A68 24030001 */ li $v1, 1 -/* 04559C 7F010A6C 3C018007 */ lui $at, %hi(highlight_weaponselect) -/* 0455A0 7F010A70 51600004 */ beql $t3, $zero, .L7F010A84 -/* 0455A4 7F010A74 284100B5 */ slti $at, $v0, 0xb5 -/* 0455A8 7F010A78 1000001E */ b .L7F010AF4 -/* 0455AC 7F010A7C AC2397DC */ sw $v1, %lo(highlight_weaponselect)($at) -.L7F010A80: -/* 0455B0 7F010A80 284100B5 */ slti $at, $v0, 0xb5 -.L7F010A84: -/* 0455B4 7F010A84 14200008 */ bnez $at, .L7F010AA8 -/* 0455B8 7F010A88 3C0C8003 */ lui $t4, %hi(unlock_game_length) -/* 0455BC 7F010A8C 8D8CB548 */ lw $t4, %lo(unlock_game_length)($t4) -/* 0455C0 7F010A90 24030001 */ li $v1, 1 -/* 0455C4 7F010A94 3C018007 */ lui $at, %hi(highlight_gamelength) -/* 0455C8 7F010A98 51800004 */ beql $t4, $zero, .L7F010AAC -/* 0455CC 7F010A9C 284100A1 */ slti $at, $v0, 0xa1 -/* 0455D0 7F010AA0 10000014 */ b .L7F010AF4 -/* 0455D4 7F010AA4 AC2397D4 */ sw $v1, %lo(highlight_gamelength)($at) -.L7F010AA8: -/* 0455D8 7F010AA8 284100A1 */ slti $at, $v0, 0xa1 -.L7F010AAC: -/* 0455DC 7F010AAC 14200008 */ bnez $at, .L7F010AD0 -/* 0455E0 7F010AB0 3C0D8003 */ lui $t5, %hi(unlock_stage_select) -/* 0455E4 7F010AB4 8DADB544 */ lw $t5, %lo(unlock_stage_select)($t5) -/* 0455E8 7F010AB8 24030001 */ li $v1, 1 -/* 0455EC 7F010ABC 3C018007 */ lui $at, %hi(highlight_gameselect) -/* 0455F0 7F010AC0 51A00004 */ beql $t5, $zero, .L7F010AD4 -/* 0455F4 7F010AC4 2841008D */ slti $at, $v0, 0x8d -/* 0455F8 7F010AC8 1000000A */ b .L7F010AF4 -/* 0455FC 7F010ACC AC2397D0 */ sw $v1, %lo(highlight_gameselect)($at) -.L7F010AD0: -/* 045600 7F010AD0 2841008D */ slti $at, $v0, 0x8d -.L7F010AD4: -/* 045604 7F010AD4 14200005 */ bnez $at, .L7F010AEC -/* 045608 7F010AD8 24030001 */ li $v1, 1 -/* 04560C 7F010ADC 24030001 */ li $v1, 1 -/* 045610 7F010AE0 3C018007 */ lui $at, %hi(highlight_scenario) -/* 045614 7F010AE4 10000003 */ b .L7F010AF4 -/* 045618 7F010AE8 AC2397CC */ sw $v1, %lo(highlight_scenario)($at) -.L7F010AEC: -/* 04561C 7F010AEC 3C018007 */ lui $at, %hi(highlight_players) -/* 045620 7F010AF0 AC2397C8 */ sw $v1, %lo(highlight_players)($at) -.L7F010AF4: -/* 045624 7F010AF4 00002025 */ move $a0, $zero -/* 045628 7F010AF8 0C0030EB */ jal get_controller_buttons_pressed -/* 04562C 7F010AFC 24051000 */ li $a1, 4096 -/* 045630 7F010B00 1040000A */ beqz $v0, .L7F010B2C -/* 045634 7F010B04 24030001 */ li $v1, 1 -/* 045638 7F010B08 3C018003 */ lui $at, %hi(tab_1_selected) -/* 04563C 7F010B0C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 045640 7F010B10 AC23A8D0 */ sw $v1, %lo(tab_1_selected)($at) -/* 045644 7F010B14 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 045648 7F010B18 240500C7 */ li $a1, 199 -/* 04564C 7F010B1C 0C002382 */ jal play_sfx_a1 -/* 045650 7F010B20 00003025 */ move $a2, $zero -/* 045654 7F010B24 10000062 */ b .L7F010CB0 -/* 045658 7F010B28 00000000 */ nop -.L7F010B2C: -/* 04565C 7F010B2C 00002025 */ move $a0, $zero -/* 045660 7F010B30 0C0030EB */ jal get_controller_buttons_pressed -/* 045664 7F010B34 3405A000 */ li $a1, 40960 -/* 045668 7F010B38 10400051 */ beqz $v0, .L7F010C80 -/* 04566C 7F010B3C 24030001 */ li $v1, 1 -/* 045670 7F010B40 3C0E8003 */ lui $t6, %hi(tab_3_highlight) -/* 045674 7F010B44 8DCEA8E4 */ lw $t6, %lo(tab_3_highlight)($t6) -/* 045678 7F010B48 3C0F8003 */ lui $t7, %hi(tab_1_highlight) -/* 04567C 7F010B4C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 045680 7F010B50 11C00003 */ beqz $t6, .L7F010B60 -/* 045684 7F010B54 240500C7 */ li $a1, 199 -/* 045688 7F010B58 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04568C 7F010B5C AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -.L7F010B60: -/* 045690 7F010B60 8DEFA8DC */ lw $t7, %lo(tab_1_highlight)($t7) -/* 045694 7F010B64 3C018003 */ lui $at, %hi(tab_1_selected) -/* 045698 7F010B68 3C188007 */ lui $t8, %hi(highlight_players) -/* 04569C 7F010B6C 11E00003 */ beqz $t7, .L7F010B7C -/* 0456A0 7F010B70 00003025 */ move $a2, $zero -/* 0456A4 7F010B74 1000003E */ b .L7F010C70 -/* 0456A8 7F010B78 AC23A8D0 */ sw $v1, %lo(tab_1_selected)($at) -.L7F010B7C: -/* 0456AC 7F010B7C 8F1897C8 */ lw $t8, %lo(highlight_players)($t8) -/* 0456B0 7F010B80 24190001 */ li $t9, 1 -/* 0456B4 7F010B84 3C088007 */ lui $t0, %hi(highlight_scenario) -/* 0456B8 7F010B88 13000003 */ beqz $t8, .L7F010B98 -/* 0456BC 7F010B8C 00000000 */ nop -/* 0456C0 7F010B90 10000037 */ b .L7F010C70 -/* 0456C4 7F010B94 AFB9003C */ sw $t9, 0x3c($sp) -.L7F010B98: -/* 0456C8 7F010B98 8D0897CC */ lw $t0, %lo(highlight_scenario)($t0) -/* 0456CC 7F010B9C 24090001 */ li $t1, 1 -/* 0456D0 7F010BA0 3C0A8007 */ lui $t2, %hi(highlight_gameselect) -/* 0456D4 7F010BA4 11000003 */ beqz $t0, .L7F010BB4 -/* 0456D8 7F010BA8 00000000 */ nop -/* 0456DC 7F010BAC 10000030 */ b .L7F010C70 -/* 0456E0 7F010BB0 AFA90038 */ sw $t1, 0x38($sp) -.L7F010BB4: -/* 0456E4 7F010BB4 8D4A97D0 */ lw $t2, %lo(highlight_gameselect)($t2) -/* 0456E8 7F010BB8 240B0001 */ li $t3, 1 -/* 0456EC 7F010BBC 3C0C8007 */ lui $t4, %hi(highlight_gamelength) -/* 0456F0 7F010BC0 11400003 */ beqz $t2, .L7F010BD0 -/* 0456F4 7F010BC4 00000000 */ nop -/* 0456F8 7F010BC8 10000029 */ b .L7F010C70 -/* 0456FC 7F010BCC AFAB0034 */ sw $t3, 0x34($sp) -.L7F010BD0: -/* 045700 7F010BD0 8D8C97D4 */ lw $t4, %lo(highlight_gamelength)($t4) -/* 045704 7F010BD4 240D0001 */ li $t5, 1 -/* 045708 7F010BD8 3C0E8007 */ lui $t6, %hi(highlight_character) -/* 04570C 7F010BDC 11800003 */ beqz $t4, .L7F010BEC -/* 045710 7F010BE0 00000000 */ nop -/* 045714 7F010BE4 10000022 */ b .L7F010C70 -/* 045718 7F010BE8 AFAD0030 */ sw $t5, 0x30($sp) -.L7F010BEC: -/* 04571C 7F010BEC 8DCE97D8 */ lw $t6, %lo(highlight_character)($t6) -/* 045720 7F010BF0 240F0001 */ li $t7, 1 -/* 045724 7F010BF4 3C188007 */ lui $t8, %hi(highlight_weaponselect) -/* 045728 7F010BF8 11C00003 */ beqz $t6, .L7F010C08 -/* 04572C 7F010BFC 00000000 */ nop -/* 045730 7F010C00 1000001B */ b .L7F010C70 -/* 045734 7F010C04 AFAF002C */ sw $t7, 0x2c($sp) -.L7F010C08: -/* 045738 7F010C08 8F1897DC */ lw $t8, %lo(highlight_weaponselect)($t8) -/* 04573C 7F010C0C 24190001 */ li $t9, 1 -/* 045740 7F010C10 3C088007 */ lui $t0, %hi(highlight_health) -/* 045744 7F010C14 13000003 */ beqz $t8, .L7F010C24 -/* 045748 7F010C18 00000000 */ nop -/* 04574C 7F010C1C 10000014 */ b .L7F010C70 -/* 045750 7F010C20 AFB90028 */ sw $t9, 0x28($sp) -.L7F010C24: -/* 045754 7F010C24 8D0897E0 */ lw $t0, %lo(highlight_health)($t0) -/* 045758 7F010C28 24090001 */ li $t1, 1 -/* 04575C 7F010C2C 3C0A8007 */ lui $t2, %hi(highlight_controlstyle) -/* 045760 7F010C30 11000003 */ beqz $t0, .L7F010C40 -/* 045764 7F010C34 00000000 */ nop -/* 045768 7F010C38 1000000D */ b .L7F010C70 -/* 04576C 7F010C3C AFA90024 */ sw $t1, 0x24($sp) -.L7F010C40: -/* 045770 7F010C40 8D4A97E4 */ lw $t2, %lo(highlight_controlstyle)($t2) -/* 045774 7F010C44 240B0001 */ li $t3, 1 -/* 045778 7F010C48 3C0C8007 */ lui $t4, %hi(highlight_aimadjustment) -/* 04577C 7F010C4C 11400003 */ beqz $t2, .L7F010C5C -/* 045780 7F010C50 00000000 */ nop -/* 045784 7F010C54 10000006 */ b .L7F010C70 -/* 045788 7F010C58 AFAB0020 */ sw $t3, 0x20($sp) -.L7F010C5C: -/* 04578C 7F010C5C 8D8C97E8 */ lw $t4, %lo(highlight_aimadjustment)($t4) -/* 045790 7F010C60 240D0001 */ li $t5, 1 -/* 045794 7F010C64 11800002 */ beqz $t4, .L7F010C70 -/* 045798 7F010C68 00000000 */ nop -/* 04579C 7F010C6C AFAD001C */ sw $t5, 0x1c($sp) -.L7F010C70: -/* 0457A0 7F010C70 0C002382 */ jal play_sfx_a1 -/* 0457A4 7F010C74 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0457A8 7F010C78 1000000D */ b .L7F010CB0 -/* 0457AC 7F010C7C 00000000 */ nop -.L7F010C80: -/* 0457B0 7F010C80 00002025 */ move $a0, $zero -/* 0457B4 7F010C84 0C0030EB */ jal get_controller_buttons_pressed -/* 0457B8 7F010C88 24054000 */ li $a1, 16384 -/* 0457BC 7F010C8C 10400008 */ beqz $v0, .L7F010CB0 -/* 0457C0 7F010C90 24030001 */ li $v1, 1 -/* 0457C4 7F010C94 3C018003 */ lui $at, %hi(tab_3_selected) -/* 0457C8 7F010C98 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0457CC 7F010C9C AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -/* 0457D0 7F010CA0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0457D4 7F010CA4 240500C7 */ li $a1, 199 -/* 0457D8 7F010CA8 0C002382 */ jal play_sfx_a1 -/* 0457DC 7F010CAC 00003025 */ move $a2, $zero -.L7F010CB0: -/* 0457E0 7F010CB0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 0457E4 7F010CB4 0FC02DC9 */ jal disable_all_switches -/* 0457E8 7F010CB8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 0457EC 7F010CBC 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 0457F0 7F010CC0 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 0457F4 7F010CC4 00002825 */ move $a1, $zero -/* 0457F8 7F010CC8 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 0457FC 7F010CCC 24060001 */ li $a2, 1 -/* 045800 7F010CD0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 045804 7F010CD4 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 045808 7F010CD8 24050001 */ li $a1, 1 -/* 04580C 7F010CDC 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 045810 7F010CE0 24060001 */ li $a2, 1 -/* 045814 7F010CE4 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 045818 7F010CE8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04581C 7F010CEC 24050003 */ li $a1, 3 -/* 045820 7F010CF0 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 045824 7F010CF4 24060001 */ li $a2, 1 -/* 045828 7F010CF8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04582C 7F010CFC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 045830 7F010D00 24050005 */ li $a1, 5 -/* 045834 7F010D04 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 045838 7F010D08 24060001 */ li $a2, 1 -/* 04583C 7F010D0C 0FC026E1 */ jal menu_control_stick_tracking -/* 045840 7F010D10 00000000 */ nop -/* 045844 7F010D14 3C0E8003 */ lui $t6, %hi(tab_3_selected) -/* 045848 7F010D18 8DCEA8D8 */ lw $t6, %lo(tab_3_selected)($t6) -/* 04584C 7F010D1C 24040006 */ li $a0, 6 -/* 045850 7F010D20 3C0F8003 */ lui $t7, %hi(tab_1_selected) -/* 045854 7F010D24 11C00008 */ beqz $t6, .L7F010D48 -/* 045858 7F010D28 00000000 */ nop -/* 04585C 7F010D2C 0FC06975 */ jal set_menu_to_mode -/* 045860 7F010D30 00002825 */ move $a1, $zero -/* 045864 7F010D34 3C048003 */ lui $a0, %hi(gamemode) -/* 045868 7F010D38 0FC035FF */ jal set_menu_cursor_pos_to_setting -/* 04586C 7F010D3C 8C84A8F0 */ lw $a0, %lo(gamemode)($a0) -/* 045870 7F010D40 10000070 */ b .L7F010F04 -/* 045874 7F010D44 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010D48: -/* 045878 7F010D48 8DEFA8D0 */ lw $t7, %lo(tab_1_selected)($t7) -/* 04587C 7F010D4C 3C188003 */ lui $t8, %hi(MP_stage_selected) -/* 045880 7F010D50 8FAB003C */ lw $t3, 0x3c($sp) -/* 045884 7F010D54 11E00027 */ beqz $t7, .L7F010DF4 -/* 045888 7F010D58 00000000 */ nop -/* 04588C 7F010D5C 8F18B534 */ lw $t8, %lo(MP_stage_selected)($t8) -/* 045890 7F010D60 3C028003 */ lui $v0, %hi(multi_stage_setups+8) -/* 045894 7F010D64 3C018003 */ lui $at, %hi(selected_stage) -/* 045898 7F010D68 0018C880 */ sll $t9, $t8, 2 -/* 04589C 7F010D6C 0338C823 */ subu $t9, $t9, $t8 -/* 0458A0 7F010D70 0019C8C0 */ sll $t9, $t9, 3 -/* 0458A4 7F010D74 00591021 */ addu $v0, $v0, $t9 -/* 0458A8 7F010D78 8C42B07C */ lw $v0, %lo(multi_stage_setups+8)($v0) -/* 0458AC 7F010D7C 04410014 */ bgez $v0, .L7F010DD0 -/* 0458B0 7F010D80 00000000 */ nop -.L7F010D84: -/* 0458B4 7F010D84 0C002914 */ jal get_random_value -/* 0458B8 7F010D88 00000000 */ nop -/* 0458BC 7F010D8C 2401000B */ li $at, 11 -/* 0458C0 7F010D90 0041001B */ divu $zero, $v0, $at -/* 0458C4 7F010D94 00001810 */ mfhi $v1 -/* 0458C8 7F010D98 00034080 */ sll $t0, $v1, 2 -/* 0458CC 7F010D9C 01034023 */ subu $t0, $t0, $v1 -/* 0458D0 7F010DA0 000840C0 */ sll $t0, $t0, 3 -/* 0458D4 7F010DA4 3C098003 */ lui $t1, %hi(multi_stage_setups+32) -/* 0458D8 7F010DA8 01284821 */ addu $t1, $t1, $t0 -/* 0458DC 7F010DAC 8D29B094 */ lw $t1, %lo(multi_stage_setups+32)($t1) -/* 0458E0 7F010DB0 3C018003 */ lui $at, %hi(selected_stage) -/* 0458E4 7F010DB4 24640001 */ addiu $a0, $v1, 1 -/* 0458E8 7F010DB8 0FC04034 */ jal check_if_mp_stage_unlocked -/* 0458EC 7F010DBC AC29A8F4 */ sw $t1, %lo(selected_stage)($at) -/* 0458F0 7F010DC0 1040FFF0 */ beqz $v0, .L7F010D84 -/* 0458F4 7F010DC4 00000000 */ nop -/* 0458F8 7F010DC8 10000003 */ b .L7F010DD8 -/* 0458FC 7F010DCC 240AFFFF */ li $t2, -1 -.L7F010DD0: -/* 045900 7F010DD0 AC22A8F4 */ sw $v0, %lo(selected_stage)($at) -/* 045904 7F010DD4 240AFFFF */ li $t2, -1 -.L7F010DD8: -/* 045908 7F010DD8 3C018003 */ lui $at, %hi(briefingpage) -/* 04590C 7F010DDC AC2AA8F8 */ sw $t2, %lo(briefingpage)($at) -/* 045910 7F010DE0 2404000B */ li $a0, 11 -/* 045914 7F010DE4 0FC06975 */ jal set_menu_to_mode -/* 045918 7F010DE8 24050001 */ li $a1, 1 -/* 04591C 7F010DEC 10000045 */ b .L7F010F04 -/* 045920 7F010DF0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010DF4: -/* 045924 7F010DF4 1160000F */ beqz $t3, .L7F010E34 -/* 045928 7F010DF8 8FAC0038 */ lw $t4, 0x38($sp) -/* 04592C 7F010DFC 0C002E7E */ jal get_attached_controller_count -/* 045930 7F010E00 00000000 */ nop -/* 045934 7F010E04 3C038003 */ lui $v1, %hi(selected_num_players) -/* 045938 7F010E08 8C63B520 */ lw $v1, %lo(selected_num_players)($v1) -/* 04593C 7F010E0C 24630001 */ addiu $v1, $v1, 1 -/* 045940 7F010E10 0043082A */ slt $at, $v0, $v1 -/* 045944 7F010E14 10200003 */ beqz $at, .L7F010E24 -/* 045948 7F010E18 00602025 */ move $a0, $v1 -/* 04594C 7F010E1C 10000001 */ b .L7F010E24 -/* 045950 7F010E20 24040002 */ li $a0, 2 -.L7F010E24: -/* 045954 7F010E24 0FC04182 */ jal init_mp_options_for_scenario -/* 045958 7F010E28 00000000 */ nop -/* 04595C 7F010E2C 10000035 */ b .L7F010F04 -/* 045960 7F010E30 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010E34: -/* 045964 7F010E34 11800006 */ beqz $t4, .L7F010E50 -/* 045968 7F010E38 8FAD0034 */ lw $t5, 0x34($sp) -/* 04596C 7F010E3C 24040013 */ li $a0, 19 -/* 045970 7F010E40 0FC06975 */ jal set_menu_to_mode -/* 045974 7F010E44 00002825 */ move $a1, $zero -/* 045978 7F010E48 1000002E */ b .L7F010F04 -/* 04597C 7F010E4C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010E50: -/* 045980 7F010E50 11A00006 */ beqz $t5, .L7F010E6C -/* 045984 7F010E54 8FAE0030 */ lw $t6, 0x30($sp) -/* 045988 7F010E58 24040012 */ li $a0, 18 -/* 04598C 7F010E5C 0FC06975 */ jal set_menu_to_mode -/* 045990 7F010E60 00002825 */ move $a1, $zero -/* 045994 7F010E64 10000027 */ b .L7F010F04 -/* 045998 7F010E68 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010E6C: -/* 04599C 7F010E6C 11C00005 */ beqz $t6, .L7F010E84 -/* 0459A0 7F010E70 8FAF002C */ lw $t7, 0x2c($sp) -/* 0459A4 7F010E74 0FC0405C */ jal select_game_length -/* 0459A8 7F010E78 00000000 */ nop -/* 0459AC 7F010E7C 10000021 */ b .L7F010F04 -/* 0459B0 7F010E80 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010E84: -/* 0459B4 7F010E84 11E00006 */ beqz $t7, .L7F010EA0 -/* 0459B8 7F010E88 8FB80028 */ lw $t8, 0x28($sp) -/* 0459BC 7F010E8C 2404000F */ li $a0, 15 -/* 0459C0 7F010E90 0FC06975 */ jal set_menu_to_mode -/* 0459C4 7F010E94 00002825 */ move $a1, $zero -/* 0459C8 7F010E98 1000001A */ b .L7F010F04 -/* 0459CC 7F010E9C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010EA0: -/* 0459D0 7F010EA0 13000005 */ beqz $t8, .L7F010EB8 -/* 0459D4 7F010EA4 8FB90024 */ lw $t9, 0x24($sp) -/* 0459D8 7F010EA8 0FC31974 */ jal advance_mp_weapon_set_by_one_save_value -/* 0459DC 7F010EAC 00000000 */ nop -/* 0459E0 7F010EB0 10000014 */ b .L7F010F04 -/* 0459E4 7F010EB4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010EB8: -/* 0459E8 7F010EB8 13200006 */ beqz $t9, .L7F010ED4 -/* 0459EC 7F010EBC 8FA80020 */ lw $t0, 0x20($sp) -/* 0459F0 7F010EC0 24040010 */ li $a0, 16 -/* 0459F4 7F010EC4 0FC06975 */ jal set_menu_to_mode -/* 0459F8 7F010EC8 00002825 */ move $a1, $zero -/* 0459FC 7F010ECC 1000000D */ b .L7F010F04 -/* 045A00 7F010ED0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010ED4: -/* 045A04 7F010ED4 11000006 */ beqz $t0, .L7F010EF0 -/* 045A08 7F010ED8 8FA9001C */ lw $t1, 0x1c($sp) -/* 045A0C 7F010EDC 24040011 */ li $a0, 17 -/* 045A10 7F010EE0 0FC06975 */ jal set_menu_to_mode -/* 045A14 7F010EE4 00002825 */ move $a1, $zero -/* 045A18 7F010EE8 10000006 */ b .L7F010F04 -/* 045A1C 7F010EEC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010EF0: -/* 045A20 7F010EF0 51200004 */ beql $t1, $zero, .L7F010F04 -/* 045A24 7F010EF4 8FBF0014 */ lw $ra, 0x14($sp) -/* 045A28 7F010EF8 0FC0408F */ jal advance_aim_settings_selection -/* 045A2C 7F010EFC 00000000 */ nop -/* 045A30 7F010F00 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010F04: -/* 045A34 7F010F04 27BD0040 */ addiu $sp, $sp, 0x40 -/* 045A38 7F010F08 03E00008 */ jr $ra -/* 045A3C 7F010F0C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu0E_mpoptions(void) -{ - s32 sp64; - ? sp5C; - ?32 sp58; - ?32 sp54; - ? sp50; - s32 sp4C; - ?32 sp48; - s16 sp44; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_ret_4; - s32 temp_ret_5; - s32 temp_ret_6; - s32 temp_ret_7; - s32 temp_ret_8; - s32 temp_ret_9; - s32 temp_s0; - s32 temp_s0_10; - s32 temp_s0_11; - s32 temp_s0_12; - s32 temp_s0_13; - s32 temp_s0_14; - s32 temp_s0_15; - s32 temp_s0_2; - s32 temp_s0_3; - s32 temp_s0_4; - s32 temp_s0_5; - s32 temp_s0_6; - s32 temp_s0_7; - s32 temp_s0_8; - s32 temp_s0_9; - s32 phi_s0; - s32 phi_s0_2; - ?32 phi_v1; - s32 phi_s0_3; - ?32 phi_v1_2; - s32 phi_s0_4; - ?32 phi_v1_3; - s32 phi_s0_5; - ?32 phi_v1_4; - s32 phi_s0_6; - ?32 phi_v1_5; - s32 phi_s0_7; - ?32 phi_v1_6; - s32 phi_s0_8; - ?32 phi_v1_7; - s32 phi_s0_9; - ?32 phi_v1_8; - ?32 phi_v1_9; - ?32 phi_v1_10; - ?32 phi_v1_11; - - sp64 = get_textptr_for_textID(TEXT(LTITLE, 0x4c)); - sp58 = 0x37; - sp54 = 0x5f; - sp44 = get_video2_settings_txtClipW(); - temp_s0 = write_text_at_abs_coord(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(0, 0, 0)))), &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret = get_textptr_for_textID(TEXT(LTITLE, 0x4d)); - sp64 = temp_ret; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0x79; - phi_s0 = temp_s0; - if (highlight_players != 0) - { - phi_s0 = microcode_constructor_related_to_menus(temp_s0, 0x37, 0x78, sp4C + 0x3c, 0x87, 0x32); - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_2 = write_text_at_abs_coord(phi_s0, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_2 = get_textptr_for_textID(TEXT(LTITLE, 0x4e)); - sp64 = temp_ret_2; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_2, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0x8d; - phi_s0_2 = temp_s0_2; - if (highlight_scenario != 0) - { - phi_s0_2 = microcode_constructor_related_to_menus(temp_s0_2, 0x37, 0x8c, sp4C + 0x3c, 0x9b, 0x32); - } - sp44 = get_video2_settings_txtClipW(); - temp_s0_3 = write_text_at_abs_coord(phi_s0_2, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x4f)); - sp64 = temp_ret_3; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_3, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0xa1; - phi_s0_3 = temp_s0_3; - if (highlight_gameselect != 0) - { - phi_s0_3 = microcode_constructor_related_to_menus(temp_s0_3, 0x37, 0xa0, sp4C + 0x3c, 0xaf, 0x32); - } - if (unlock_stage_select != 0) - { - phi_v1 = 0xff; - } - else - { - phi_v1 = 0x70; - } - sp48 = (?32) phi_v1; - sp44 = get_video2_settings_txtClipW(); - temp_s0_4 = write_text_at_abs_coord(phi_s0_3, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_4 = get_textptr_for_textID(TEXT(LTITLE, 0x50)); - sp64 = temp_ret_4; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_4, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0xb5; - phi_s0_4 = temp_s0_4; - if (highlight_gamelength != 0) - { - phi_s0_4 = microcode_constructor_related_to_menus(temp_s0_4, 0x37, 0xb4, sp4C + 0x3c, 0xc3, 0x32); - } - if (unlock_game_length != 0) - { - phi_v1_2 = 0xff; - } - else - { - phi_v1_2 = 0x70; - } - sp48 = (?32) phi_v1_2; - sp44 = get_video2_settings_txtClipW(); - temp_s0_5 = write_text_at_abs_coord(phi_s0_4, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_2, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_5 = get_textptr_for_textID(TEXT(LTITLE, 0x51)); - sp64 = temp_ret_5; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_5, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0xc9; - phi_s0_5 = temp_s0_5; - if (highlight_weaponselect != 0) - { - phi_s0_5 = microcode_constructor_related_to_menus(temp_s0_5, 0x37, 0xc8, sp4C + 0x3c, 0xd7, 0x32); - } - if (unlock_weapon_select != 0) - { - phi_v1_3 = 0xff; - } - else - { - phi_v1_3 = 0x70; - } - sp48 = (?32) phi_v1_3; - sp44 = get_video2_settings_txtClipW(); - temp_s0_6 = write_text_at_abs_coord(phi_s0_5, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_3, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_6 = get_textptr_for_textID(TEXT(LTITLE, 0x52)); - sp64 = temp_ret_6; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_6, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0xdd; - phi_s0_6 = temp_s0_6; - if (highlight_character != 0) - { - phi_s0_6 = microcode_constructor_related_to_menus(temp_s0_6, 0x37, 0xdc, sp4C + 0x3c, 0xeb, 0x32); - } - if (unlock_chars != 0) - { - phi_v1_4 = 0xff; - } - else - { - phi_v1_4 = 0x70; - } - sp48 = (?32) phi_v1_4; - sp44 = get_video2_settings_txtClipW(); - temp_s0_7 = write_text_at_abs_coord(phi_s0_6, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_4, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_7 = get_textptr_for_textID(TEXT(LTITLE, 0x53)); - sp64 = temp_ret_7; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_7, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0xf1; - phi_s0_7 = temp_s0_7; - if (highlight_health != 0) - { - phi_s0_7 = microcode_constructor_related_to_menus(temp_s0_7, 0x37, 0xf0, sp4C + 0x3c, 0xff, 0x32); - } - if (unlock_handicap != 0) - { - phi_v1_5 = 0xff; - } - else - { - phi_v1_5 = 0x70; - } - sp48 = (?32) phi_v1_5; - sp44 = get_video2_settings_txtClipW(); - temp_s0_8 = write_text_at_abs_coord(phi_s0_7, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_5, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_8 = get_textptr_for_textID(TEXT(LTITLE, 0x11e)); - sp64 = temp_ret_8; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_8, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0x105; - phi_s0_8 = temp_s0_8; - if (highlight_controlstyle != 0) - { - phi_s0_8 = microcode_constructor_related_to_menus(temp_s0_8, 0x37, 0x104, sp4C + 0x3c, 0x113, 0x32); - } - if (unlock_control_style != 0) - { - phi_v1_6 = 0xff; - } - else - { - phi_v1_6 = 0x70; - } - sp48 = (?32) phi_v1_6; - sp44 = get_video2_settings_txtClipW(); - temp_s0_9 = write_text_at_abs_coord(phi_s0_8, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_6, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret_9 = get_textptr_for_textID(TEXT(LTITLE, 0x54)); - sp64 = temp_ret_9; - sub_GAME_7F0AE98C(&sp50, &sp4C, temp_ret_9, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp58 = 0x39; - sp54 = 0x119; - phi_s0_9 = temp_s0_9; - if (highlight_aimadjustment != 0) - { - phi_s0_9 = microcode_constructor_related_to_menus(temp_s0_9, 0x37, 0x118, sp4C + 0x3c, 0x127, 0x32); - } - if (unlock_aim_sight != 0) - { - phi_v1_7 = 0xff; - } - else - { - phi_v1_7 = 0x70; - } - sp48 = (?32) phi_v1_7; - sp44 = get_video2_settings_txtClipW(); - temp_s0_10 = write_text_at_abs_coord(phi_s0_9, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_7, sp44, get_video2_settings_txtClipH(), 0, 0); - sprintf(&sp5C, &aD_7, selected_num_players); - sp58 = 0xa0; - sp54 = 0x79; - sp44 = get_video2_settings_txtClipW(); - temp_s0_11 = write_text_at_abs_coord(temp_s0_10, &sp58, &sp54, &sp5C, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - sp64 = get_textptr_for_textID((0x80030000 + (scenario * 4))->unk-4FAC); - sp58 = 0xa0; - sp54 = 0x8d; - sp44 = get_video2_settings_txtClipW(); - temp_s0_12 = write_text_at_abs_coord(temp_s0_11, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - sp64 = get_textptr_for_textID((0x80030000 + (MP_stage_selected * 0x18))->unk-4F8C); - sp58 = 0xa0; - sp54 = 0xa1; - if (unlock_stage_select != 0) - { - phi_v1_8 = 0xff; - } - else - { - phi_v1_8 = 0x70; - } - sp48 = (?32) phi_v1_8; - sp44 = get_video2_settings_txtClipW(); - temp_s0_13 = write_text_at_abs_coord(temp_s0_12, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_8, sp44, get_video2_settings_txtClipH(), 0, 0); - sp64 = get_textptr_for_textID((0x80030000 + (game_length * 0xc))->unk-500C); - sp58 = 0xa0; - sp54 = 0xb5; - if (unlock_game_length != 0) - { - phi_v1_9 = 0xff; - } - else - { - phi_v1_9 = 0x70; - } - sp48 = (?32) phi_v1_9; - sp44 = get_video2_settings_txtClipW(); - temp_s0_14 = write_text_at_abs_coord(temp_s0_13, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_9, sp44, get_video2_settings_txtClipH(), 0, 0); - sp64 = get_textptr_for_textID(*get_ptr_current_mp_weapon_set_text_code()); - sp58 = 0xa0; - sp54 = 0xc9; - if (unlock_weapon_select != 0) - { - phi_v1_10 = 0xff; - } - else - { - phi_v1_10 = 0x70; - } - sp48 = (?32) phi_v1_10; - sp44 = get_video2_settings_txtClipW(); - temp_s0_15 = write_text_at_abs_coord(temp_s0_14, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_10, sp44, get_video2_settings_txtClipH(), 0, 0); - sp64 = get_textptr_for_textID((0x80030000 + (aim_sight_adjustment * 4))->unk-4AF0); - sp58 = 0xa0; - sp54 = 0x119; - if (unlock_aim_sight != 0) - { - phi_v1_11 = 0xff; - } - else - { - phi_v1_11 = 0x70; - } - sp48 = (?32) phi_v1_11; - sp44 = get_video2_settings_txtClipW(); - load_draw_selected_icon_folder_select(add_tab1_start(add_tab3_previous(write_text_at_abs_coord(temp_s0_15, &sp58, &sp54, sp64, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (?32) phi_v1_11, sp44, get_video2_settings_txtClipH(), 0, 0)))); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu0E_mpoptions -/* 045A40 7F010F10 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 045A44 7F010F14 AFBF003C */ sw $ra, 0x3c($sp) -/* 045A48 7F010F18 AFB00038 */ sw $s0, 0x38($sp) -/* 045A4C 7F010F1C 00002825 */ move $a1, $zero -/* 045A50 7F010F20 00003025 */ move $a2, $zero -/* 045A54 7F010F24 0C0011B4 */ jal set_setfillcolor -/* 045A58 7F010F28 00003825 */ move $a3, $zero -/* 045A5C 7F010F2C 0C000FBE */ jal insert_generic_fillrect -/* 045A60 7F010F30 00402025 */ move $a0, $v0 -/* 045A64 7F010F34 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 045A68 7F010F38 00402025 */ move $a0, $v0 -/* 045A6C 7F010F3C 0FC2B366 */ jal microcode_constructor -/* 045A70 7F010F40 00402025 */ move $a0, $v0 -/* 045A74 7F010F44 00408025 */ move $s0, $v0 -/* 045A78 7F010F48 0FC30776 */ jal get_textptr_for_textID -/* 045A7C 7F010F4C 34049C4C */ li $a0, 40012 -/* 045A80 7F010F50 240E0037 */ li $t6, 55 -/* 045A84 7F010F54 240F005F */ li $t7, 95 -/* 045A88 7F010F58 AFA20064 */ sw $v0, 0x64($sp) -/* 045A8C 7F010F5C AFAE0058 */ sw $t6, 0x58($sp) -/* 045A90 7F010F60 0C001107 */ jal get_video2_settings_txtClipW -/* 045A94 7F010F64 AFAF0054 */ sw $t7, 0x54($sp) -/* 045A98 7F010F68 0C00110B */ jal get_video2_settings_txtClipH -/* 045A9C 7F010F6C A7A20044 */ sh $v0, 0x44($sp) -/* 045AA0 7F010F70 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 045AA4 7F010F74 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 045AA8 7F010F78 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 045AAC 7F010F7C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 045AB0 7F010F80 87A90044 */ lh $t1, 0x44($sp) -/* 045AB4 7F010F84 240800FF */ li $t0, 255 -/* 045AB8 7F010F88 AFA80018 */ sw $t0, 0x18($sp) -/* 045ABC 7F010F8C 02002025 */ move $a0, $s0 -/* 045AC0 7F010F90 27A50058 */ addiu $a1, $sp, 0x58 -/* 045AC4 7F010F94 27A60054 */ addiu $a2, $sp, 0x54 -/* 045AC8 7F010F98 8FA70064 */ lw $a3, 0x64($sp) -/* 045ACC 7F010F9C AFA20020 */ sw $v0, 0x20($sp) -/* 045AD0 7F010FA0 AFA00024 */ sw $zero, 0x24($sp) -/* 045AD4 7F010FA4 AFA00028 */ sw $zero, 0x28($sp) -/* 045AD8 7F010FA8 AFB90014 */ sw $t9, 0x14($sp) -/* 045ADC 7F010FAC AFB80010 */ sw $t8, 0x10($sp) -/* 045AE0 7F010FB0 0FC025D8 */ jal write_text_at_abs_coord -/* 045AE4 7F010FB4 AFA9001C */ sw $t1, 0x1c($sp) -/* 045AE8 7F010FB8 00408025 */ move $s0, $v0 -/* 045AEC 7F010FBC 0FC30776 */ jal get_textptr_for_textID -/* 045AF0 7F010FC0 34049C4D */ li $a0, 40013 -/* 045AF4 7F010FC4 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 045AF8 7F010FC8 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 045AFC 7F010FCC 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 045B00 7F010FD0 AFA20064 */ sw $v0, 0x64($sp) -/* 045B04 7F010FD4 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 045B08 7F010FD8 27A40050 */ addiu $a0, $sp, 0x50 -/* 045B0C 7F010FDC 27A5004C */ addiu $a1, $sp, 0x4c -/* 045B10 7F010FE0 00403025 */ move $a2, $v0 -/* 045B14 7F010FE4 AFA00014 */ sw $zero, 0x14($sp) -/* 045B18 7F010FE8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 045B1C 7F010FEC AFAA0010 */ sw $t2, 0x10($sp) -/* 045B20 7F010FF0 3C0D8007 */ lui $t5, %hi(highlight_players) -/* 045B24 7F010FF4 8DAD97C8 */ lw $t5, %lo(highlight_players)($t5) -/* 045B28 7F010FF8 240B0039 */ li $t3, 57 -/* 045B2C 7F010FFC 240C0079 */ li $t4, 121 -/* 045B30 7F011000 AFAB0058 */ sw $t3, 0x58($sp) -/* 045B34 7F011004 11A0000C */ beqz $t5, .L7F011038 -/* 045B38 7F011008 AFAC0054 */ sw $t4, 0x54($sp) -/* 045B3C 7F01100C 8FA7004C */ lw $a3, 0x4c($sp) -/* 045B40 7F011010 240E0087 */ li $t6, 135 -/* 045B44 7F011014 240F0032 */ li $t7, 50 -/* 045B48 7F011018 AFAF0014 */ sw $t7, 0x14($sp) -/* 045B4C 7F01101C AFAE0010 */ sw $t6, 0x10($sp) -/* 045B50 7F011020 02002025 */ move $a0, $s0 -/* 045B54 7F011024 24050037 */ li $a1, 55 -/* 045B58 7F011028 24060078 */ li $a2, 120 -/* 045B5C 7F01102C 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 045B60 7F011030 24E7003C */ addiu $a3, $a3, 0x3c -/* 045B64 7F011034 00408025 */ move $s0, $v0 -.L7F011038: -/* 045B68 7F011038 0C001107 */ jal get_video2_settings_txtClipW -/* 045B6C 7F01103C 00000000 */ nop -/* 045B70 7F011040 0C00110B */ jal get_video2_settings_txtClipH -/* 045B74 7F011044 A7A20044 */ sh $v0, 0x44($sp) -/* 045B78 7F011048 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 045B7C 7F01104C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 045B80 7F011050 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 045B84 7F011054 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 045B88 7F011058 87A90044 */ lh $t1, 0x44($sp) -/* 045B8C 7F01105C 240800FF */ li $t0, 255 -/* 045B90 7F011060 AFA80018 */ sw $t0, 0x18($sp) -/* 045B94 7F011064 02002025 */ move $a0, $s0 -/* 045B98 7F011068 27A50058 */ addiu $a1, $sp, 0x58 -/* 045B9C 7F01106C 27A60054 */ addiu $a2, $sp, 0x54 -/* 045BA0 7F011070 8FA70064 */ lw $a3, 0x64($sp) -/* 045BA4 7F011074 AFA20020 */ sw $v0, 0x20($sp) -/* 045BA8 7F011078 AFA00024 */ sw $zero, 0x24($sp) -/* 045BAC 7F01107C AFA00028 */ sw $zero, 0x28($sp) -/* 045BB0 7F011080 AFB90014 */ sw $t9, 0x14($sp) -/* 045BB4 7F011084 AFB80010 */ sw $t8, 0x10($sp) -/* 045BB8 7F011088 0FC025D8 */ jal write_text_at_abs_coord -/* 045BBC 7F01108C AFA9001C */ sw $t1, 0x1c($sp) -/* 045BC0 7F011090 00408025 */ move $s0, $v0 -/* 045BC4 7F011094 0FC30776 */ jal get_textptr_for_textID -/* 045BC8 7F011098 34049C4E */ li $a0, 40014 -/* 045BCC 7F01109C 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 045BD0 7F0110A0 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 045BD4 7F0110A4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 045BD8 7F0110A8 AFA20064 */ sw $v0, 0x64($sp) -/* 045BDC 7F0110AC 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 045BE0 7F0110B0 27A40050 */ addiu $a0, $sp, 0x50 -/* 045BE4 7F0110B4 27A5004C */ addiu $a1, $sp, 0x4c -/* 045BE8 7F0110B8 00403025 */ move $a2, $v0 -/* 045BEC 7F0110BC AFA00014 */ sw $zero, 0x14($sp) -/* 045BF0 7F0110C0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 045BF4 7F0110C4 AFAA0010 */ sw $t2, 0x10($sp) -/* 045BF8 7F0110C8 3C0D8007 */ lui $t5, %hi(highlight_scenario) -/* 045BFC 7F0110CC 8DAD97CC */ lw $t5, %lo(highlight_scenario)($t5) -/* 045C00 7F0110D0 240B0039 */ li $t3, 57 -/* 045C04 7F0110D4 240C008D */ li $t4, 141 -/* 045C08 7F0110D8 AFAB0058 */ sw $t3, 0x58($sp) -/* 045C0C 7F0110DC 11A0000C */ beqz $t5, .L7F011110 -/* 045C10 7F0110E0 AFAC0054 */ sw $t4, 0x54($sp) -/* 045C14 7F0110E4 8FA7004C */ lw $a3, 0x4c($sp) -/* 045C18 7F0110E8 240E009B */ li $t6, 155 -/* 045C1C 7F0110EC 240F0032 */ li $t7, 50 -/* 045C20 7F0110F0 AFAF0014 */ sw $t7, 0x14($sp) -/* 045C24 7F0110F4 AFAE0010 */ sw $t6, 0x10($sp) -/* 045C28 7F0110F8 02002025 */ move $a0, $s0 -/* 045C2C 7F0110FC 24050037 */ li $a1, 55 -/* 045C30 7F011100 2406008C */ li $a2, 140 -/* 045C34 7F011104 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 045C38 7F011108 24E7003C */ addiu $a3, $a3, 0x3c -/* 045C3C 7F01110C 00408025 */ move $s0, $v0 -.L7F011110: -/* 045C40 7F011110 0C001107 */ jal get_video2_settings_txtClipW -/* 045C44 7F011114 00000000 */ nop -/* 045C48 7F011118 0C00110B */ jal get_video2_settings_txtClipH -/* 045C4C 7F01111C A7A20044 */ sh $v0, 0x44($sp) -/* 045C50 7F011120 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 045C54 7F011124 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 045C58 7F011128 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 045C5C 7F01112C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 045C60 7F011130 87A90044 */ lh $t1, 0x44($sp) -/* 045C64 7F011134 240800FF */ li $t0, 255 -/* 045C68 7F011138 AFA80018 */ sw $t0, 0x18($sp) -/* 045C6C 7F01113C 02002025 */ move $a0, $s0 -/* 045C70 7F011140 27A50058 */ addiu $a1, $sp, 0x58 -/* 045C74 7F011144 27A60054 */ addiu $a2, $sp, 0x54 -/* 045C78 7F011148 8FA70064 */ lw $a3, 0x64($sp) -/* 045C7C 7F01114C AFA20020 */ sw $v0, 0x20($sp) -/* 045C80 7F011150 AFA00024 */ sw $zero, 0x24($sp) -/* 045C84 7F011154 AFA00028 */ sw $zero, 0x28($sp) -/* 045C88 7F011158 AFB90014 */ sw $t9, 0x14($sp) -/* 045C8C 7F01115C AFB80010 */ sw $t8, 0x10($sp) -/* 045C90 7F011160 0FC025D8 */ jal write_text_at_abs_coord -/* 045C94 7F011164 AFA9001C */ sw $t1, 0x1c($sp) -/* 045C98 7F011168 00408025 */ move $s0, $v0 -/* 045C9C 7F01116C 0FC30776 */ jal get_textptr_for_textID -/* 045CA0 7F011170 34049C4F */ li $a0, 40015 -/* 045CA4 7F011174 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 045CA8 7F011178 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 045CAC 7F01117C 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 045CB0 7F011180 AFA20064 */ sw $v0, 0x64($sp) -/* 045CB4 7F011184 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 045CB8 7F011188 27A40050 */ addiu $a0, $sp, 0x50 -/* 045CBC 7F01118C 27A5004C */ addiu $a1, $sp, 0x4c -/* 045CC0 7F011190 00403025 */ move $a2, $v0 -/* 045CC4 7F011194 AFA00014 */ sw $zero, 0x14($sp) -/* 045CC8 7F011198 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 045CCC 7F01119C AFAA0010 */ sw $t2, 0x10($sp) -/* 045CD0 7F0111A0 3C0D8007 */ lui $t5, %hi(highlight_gameselect) -/* 045CD4 7F0111A4 8DAD97D0 */ lw $t5, %lo(highlight_gameselect)($t5) -/* 045CD8 7F0111A8 240B0039 */ li $t3, 57 -/* 045CDC 7F0111AC 240C00A1 */ li $t4, 161 -/* 045CE0 7F0111B0 AFAB0058 */ sw $t3, 0x58($sp) -/* 045CE4 7F0111B4 11A0000C */ beqz $t5, .L7F0111E8 -/* 045CE8 7F0111B8 AFAC0054 */ sw $t4, 0x54($sp) -/* 045CEC 7F0111BC 8FA7004C */ lw $a3, 0x4c($sp) -/* 045CF0 7F0111C0 240E00AF */ li $t6, 175 -/* 045CF4 7F0111C4 240F0032 */ li $t7, 50 -/* 045CF8 7F0111C8 AFAF0014 */ sw $t7, 0x14($sp) -/* 045CFC 7F0111CC AFAE0010 */ sw $t6, 0x10($sp) -/* 045D00 7F0111D0 02002025 */ move $a0, $s0 -/* 045D04 7F0111D4 24050037 */ li $a1, 55 -/* 045D08 7F0111D8 240600A0 */ li $a2, 160 -/* 045D0C 7F0111DC 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 045D10 7F0111E0 24E7003C */ addiu $a3, $a3, 0x3c -/* 045D14 7F0111E4 00408025 */ move $s0, $v0 -.L7F0111E8: -/* 045D18 7F0111E8 3C188003 */ lui $t8, %hi(unlock_stage_select) -/* 045D1C 7F0111EC 8F18B544 */ lw $t8, %lo(unlock_stage_select)($t8) -/* 045D20 7F0111F0 53000004 */ beql $t8, $zero, .L7F011204 -/* 045D24 7F0111F4 24030070 */ li $v1, 112 -/* 045D28 7F0111F8 10000002 */ b .L7F011204 -/* 045D2C 7F0111FC 240300FF */ li $v1, 255 -/* 045D30 7F011200 24030070 */ li $v1, 112 -.L7F011204: -/* 045D34 7F011204 0C001107 */ jal get_video2_settings_txtClipW -/* 045D38 7F011208 AFA30048 */ sw $v1, 0x48($sp) -/* 045D3C 7F01120C 0C00110B */ jal get_video2_settings_txtClipH -/* 045D40 7F011210 A7A20044 */ sh $v0, 0x44($sp) -/* 045D44 7F011214 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 045D48 7F011218 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 045D4C 7F01121C 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 045D50 7F011220 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 045D54 7F011224 8FA30048 */ lw $v1, 0x48($sp) -/* 045D58 7F011228 87A90044 */ lh $t1, 0x44($sp) -/* 045D5C 7F01122C 02002025 */ move $a0, $s0 -/* 045D60 7F011230 27A50058 */ addiu $a1, $sp, 0x58 -/* 045D64 7F011234 27A60054 */ addiu $a2, $sp, 0x54 -/* 045D68 7F011238 8FA70064 */ lw $a3, 0x64($sp) -/* 045D6C 7F01123C AFA20020 */ sw $v0, 0x20($sp) -/* 045D70 7F011240 AFA00024 */ sw $zero, 0x24($sp) -/* 045D74 7F011244 AFA00028 */ sw $zero, 0x28($sp) -/* 045D78 7F011248 AFA80014 */ sw $t0, 0x14($sp) -/* 045D7C 7F01124C AFB90010 */ sw $t9, 0x10($sp) -/* 045D80 7F011250 AFA30018 */ sw $v1, 0x18($sp) -/* 045D84 7F011254 0FC025D8 */ jal write_text_at_abs_coord -/* 045D88 7F011258 AFA9001C */ sw $t1, 0x1c($sp) -/* 045D8C 7F01125C 00408025 */ move $s0, $v0 -/* 045D90 7F011260 0FC30776 */ jal get_textptr_for_textID -/* 045D94 7F011264 34049C50 */ li $a0, 40016 -/* 045D98 7F011268 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 045D9C 7F01126C 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 045DA0 7F011270 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 045DA4 7F011274 AFA20064 */ sw $v0, 0x64($sp) -/* 045DA8 7F011278 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 045DAC 7F01127C 27A40050 */ addiu $a0, $sp, 0x50 -/* 045DB0 7F011280 27A5004C */ addiu $a1, $sp, 0x4c -/* 045DB4 7F011284 00403025 */ move $a2, $v0 -/* 045DB8 7F011288 AFA00014 */ sw $zero, 0x14($sp) -/* 045DBC 7F01128C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 045DC0 7F011290 AFAA0010 */ sw $t2, 0x10($sp) -/* 045DC4 7F011294 3C0D8007 */ lui $t5, %hi(highlight_gamelength) -/* 045DC8 7F011298 8DAD97D4 */ lw $t5, %lo(highlight_gamelength)($t5) -/* 045DCC 7F01129C 240B0039 */ li $t3, 57 -/* 045DD0 7F0112A0 240C00B5 */ li $t4, 181 -/* 045DD4 7F0112A4 AFAB0058 */ sw $t3, 0x58($sp) -/* 045DD8 7F0112A8 11A0000C */ beqz $t5, .L7F0112DC -/* 045DDC 7F0112AC AFAC0054 */ sw $t4, 0x54($sp) -/* 045DE0 7F0112B0 8FA7004C */ lw $a3, 0x4c($sp) -/* 045DE4 7F0112B4 240E00C3 */ li $t6, 195 -/* 045DE8 7F0112B8 240F0032 */ li $t7, 50 -/* 045DEC 7F0112BC AFAF0014 */ sw $t7, 0x14($sp) -/* 045DF0 7F0112C0 AFAE0010 */ sw $t6, 0x10($sp) -/* 045DF4 7F0112C4 02002025 */ move $a0, $s0 -/* 045DF8 7F0112C8 24050037 */ li $a1, 55 -/* 045DFC 7F0112CC 240600B4 */ li $a2, 180 -/* 045E00 7F0112D0 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 045E04 7F0112D4 24E7003C */ addiu $a3, $a3, 0x3c -/* 045E08 7F0112D8 00408025 */ move $s0, $v0 -.L7F0112DC: -/* 045E0C 7F0112DC 3C188003 */ lui $t8, %hi(unlock_game_length) -/* 045E10 7F0112E0 8F18B548 */ lw $t8, %lo(unlock_game_length)($t8) -/* 045E14 7F0112E4 53000004 */ beql $t8, $zero, .L7F0112F8 -/* 045E18 7F0112E8 24030070 */ li $v1, 112 -/* 045E1C 7F0112EC 10000002 */ b .L7F0112F8 -/* 045E20 7F0112F0 240300FF */ li $v1, 255 -/* 045E24 7F0112F4 24030070 */ li $v1, 112 -.L7F0112F8: -/* 045E28 7F0112F8 0C001107 */ jal get_video2_settings_txtClipW -/* 045E2C 7F0112FC AFA30048 */ sw $v1, 0x48($sp) -/* 045E30 7F011300 0C00110B */ jal get_video2_settings_txtClipH -/* 045E34 7F011304 A7A20044 */ sh $v0, 0x44($sp) -/* 045E38 7F011308 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 045E3C 7F01130C 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 045E40 7F011310 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 045E44 7F011314 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 045E48 7F011318 8FA30048 */ lw $v1, 0x48($sp) -/* 045E4C 7F01131C 87A90044 */ lh $t1, 0x44($sp) -/* 045E50 7F011320 02002025 */ move $a0, $s0 -/* 045E54 7F011324 27A50058 */ addiu $a1, $sp, 0x58 -/* 045E58 7F011328 27A60054 */ addiu $a2, $sp, 0x54 -/* 045E5C 7F01132C 8FA70064 */ lw $a3, 0x64($sp) -/* 045E60 7F011330 AFA20020 */ sw $v0, 0x20($sp) -/* 045E64 7F011334 AFA00024 */ sw $zero, 0x24($sp) -/* 045E68 7F011338 AFA00028 */ sw $zero, 0x28($sp) -/* 045E6C 7F01133C AFA80014 */ sw $t0, 0x14($sp) -/* 045E70 7F011340 AFB90010 */ sw $t9, 0x10($sp) -/* 045E74 7F011344 AFA30018 */ sw $v1, 0x18($sp) -/* 045E78 7F011348 0FC025D8 */ jal write_text_at_abs_coord -/* 045E7C 7F01134C AFA9001C */ sw $t1, 0x1c($sp) -/* 045E80 7F011350 00408025 */ move $s0, $v0 -/* 045E84 7F011354 0FC30776 */ jal get_textptr_for_textID -/* 045E88 7F011358 34049C51 */ li $a0, 40017 -/* 045E8C 7F01135C 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 045E90 7F011360 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 045E94 7F011364 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 045E98 7F011368 AFA20064 */ sw $v0, 0x64($sp) -/* 045E9C 7F01136C 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 045EA0 7F011370 27A40050 */ addiu $a0, $sp, 0x50 -/* 045EA4 7F011374 27A5004C */ addiu $a1, $sp, 0x4c -/* 045EA8 7F011378 00403025 */ move $a2, $v0 -/* 045EAC 7F01137C AFA00014 */ sw $zero, 0x14($sp) -/* 045EB0 7F011380 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 045EB4 7F011384 AFAA0010 */ sw $t2, 0x10($sp) -/* 045EB8 7F011388 3C0D8007 */ lui $t5, %hi(highlight_weaponselect) -/* 045EBC 7F01138C 8DAD97DC */ lw $t5, %lo(highlight_weaponselect)($t5) -/* 045EC0 7F011390 240B0039 */ li $t3, 57 -/* 045EC4 7F011394 240C00C9 */ li $t4, 201 -/* 045EC8 7F011398 AFAB0058 */ sw $t3, 0x58($sp) -/* 045ECC 7F01139C 11A0000C */ beqz $t5, .L7F0113D0 -/* 045ED0 7F0113A0 AFAC0054 */ sw $t4, 0x54($sp) -/* 045ED4 7F0113A4 8FA7004C */ lw $a3, 0x4c($sp) -/* 045ED8 7F0113A8 240E00D7 */ li $t6, 215 -/* 045EDC 7F0113AC 240F0032 */ li $t7, 50 -/* 045EE0 7F0113B0 AFAF0014 */ sw $t7, 0x14($sp) -/* 045EE4 7F0113B4 AFAE0010 */ sw $t6, 0x10($sp) -/* 045EE8 7F0113B8 02002025 */ move $a0, $s0 -/* 045EEC 7F0113BC 24050037 */ li $a1, 55 -/* 045EF0 7F0113C0 240600C8 */ li $a2, 200 -/* 045EF4 7F0113C4 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 045EF8 7F0113C8 24E7003C */ addiu $a3, $a3, 0x3c -/* 045EFC 7F0113CC 00408025 */ move $s0, $v0 -.L7F0113D0: -/* 045F00 7F0113D0 3C188003 */ lui $t8, %hi(unlock_weapon_select) -/* 045F04 7F0113D4 8F18B550 */ lw $t8, %lo(unlock_weapon_select)($t8) -/* 045F08 7F0113D8 53000004 */ beql $t8, $zero, .L7F0113EC -/* 045F0C 7F0113DC 24030070 */ li $v1, 112 -/* 045F10 7F0113E0 10000002 */ b .L7F0113EC -/* 045F14 7F0113E4 240300FF */ li $v1, 255 -/* 045F18 7F0113E8 24030070 */ li $v1, 112 -.L7F0113EC: -/* 045F1C 7F0113EC 0C001107 */ jal get_video2_settings_txtClipW -/* 045F20 7F0113F0 AFA30048 */ sw $v1, 0x48($sp) -/* 045F24 7F0113F4 0C00110B */ jal get_video2_settings_txtClipH -/* 045F28 7F0113F8 A7A20044 */ sh $v0, 0x44($sp) -/* 045F2C 7F0113FC 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 045F30 7F011400 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 045F34 7F011404 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 045F38 7F011408 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 045F3C 7F01140C 8FA30048 */ lw $v1, 0x48($sp) -/* 045F40 7F011410 87A90044 */ lh $t1, 0x44($sp) -/* 045F44 7F011414 02002025 */ move $a0, $s0 -/* 045F48 7F011418 27A50058 */ addiu $a1, $sp, 0x58 -/* 045F4C 7F01141C 27A60054 */ addiu $a2, $sp, 0x54 -/* 045F50 7F011420 8FA70064 */ lw $a3, 0x64($sp) -/* 045F54 7F011424 AFA20020 */ sw $v0, 0x20($sp) -/* 045F58 7F011428 AFA00024 */ sw $zero, 0x24($sp) -/* 045F5C 7F01142C AFA00028 */ sw $zero, 0x28($sp) -/* 045F60 7F011430 AFA80014 */ sw $t0, 0x14($sp) -/* 045F64 7F011434 AFB90010 */ sw $t9, 0x10($sp) -/* 045F68 7F011438 AFA30018 */ sw $v1, 0x18($sp) -/* 045F6C 7F01143C 0FC025D8 */ jal write_text_at_abs_coord -/* 045F70 7F011440 AFA9001C */ sw $t1, 0x1c($sp) -/* 045F74 7F011444 00408025 */ move $s0, $v0 -/* 045F78 7F011448 0FC30776 */ jal get_textptr_for_textID -/* 045F7C 7F01144C 34049C52 */ li $a0, 40018 -/* 045F80 7F011450 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 045F84 7F011454 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 045F88 7F011458 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 045F8C 7F01145C AFA20064 */ sw $v0, 0x64($sp) -/* 045F90 7F011460 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 045F94 7F011464 27A40050 */ addiu $a0, $sp, 0x50 -/* 045F98 7F011468 27A5004C */ addiu $a1, $sp, 0x4c -/* 045F9C 7F01146C 00403025 */ move $a2, $v0 -/* 045FA0 7F011470 AFA00014 */ sw $zero, 0x14($sp) -/* 045FA4 7F011474 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 045FA8 7F011478 AFAA0010 */ sw $t2, 0x10($sp) -/* 045FAC 7F01147C 3C0D8007 */ lui $t5, %hi(highlight_character) -/* 045FB0 7F011480 8DAD97D8 */ lw $t5, %lo(highlight_character)($t5) -/* 045FB4 7F011484 240B0039 */ li $t3, 57 -/* 045FB8 7F011488 240C00DD */ li $t4, 221 -/* 045FBC 7F01148C AFAB0058 */ sw $t3, 0x58($sp) -/* 045FC0 7F011490 11A0000C */ beqz $t5, .L7F0114C4 -/* 045FC4 7F011494 AFAC0054 */ sw $t4, 0x54($sp) -/* 045FC8 7F011498 8FA7004C */ lw $a3, 0x4c($sp) -/* 045FCC 7F01149C 240E00EB */ li $t6, 235 -/* 045FD0 7F0114A0 240F0032 */ li $t7, 50 -/* 045FD4 7F0114A4 AFAF0014 */ sw $t7, 0x14($sp) -/* 045FD8 7F0114A8 AFAE0010 */ sw $t6, 0x10($sp) -/* 045FDC 7F0114AC 02002025 */ move $a0, $s0 -/* 045FE0 7F0114B0 24050037 */ li $a1, 55 -/* 045FE4 7F0114B4 240600DC */ li $a2, 220 -/* 045FE8 7F0114B8 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 045FEC 7F0114BC 24E7003C */ addiu $a3, $a3, 0x3c -/* 045FF0 7F0114C0 00408025 */ move $s0, $v0 -.L7F0114C4: -/* 045FF4 7F0114C4 3C188003 */ lui $t8, %hi(unlock_chars) -/* 045FF8 7F0114C8 8F18B54C */ lw $t8, %lo(unlock_chars)($t8) -/* 045FFC 7F0114CC 53000004 */ beql $t8, $zero, .L7F0114E0 -/* 046000 7F0114D0 24030070 */ li $v1, 112 -/* 046004 7F0114D4 10000002 */ b .L7F0114E0 -/* 046008 7F0114D8 240300FF */ li $v1, 255 -/* 04600C 7F0114DC 24030070 */ li $v1, 112 -.L7F0114E0: -/* 046010 7F0114E0 0C001107 */ jal get_video2_settings_txtClipW -/* 046014 7F0114E4 AFA30048 */ sw $v1, 0x48($sp) -/* 046018 7F0114E8 0C00110B */ jal get_video2_settings_txtClipH -/* 04601C 7F0114EC A7A20044 */ sh $v0, 0x44($sp) -/* 046020 7F0114F0 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 046024 7F0114F4 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 046028 7F0114F8 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 04602C 7F0114FC 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 046030 7F011500 8FA30048 */ lw $v1, 0x48($sp) -/* 046034 7F011504 87A90044 */ lh $t1, 0x44($sp) -/* 046038 7F011508 02002025 */ move $a0, $s0 -/* 04603C 7F01150C 27A50058 */ addiu $a1, $sp, 0x58 -/* 046040 7F011510 27A60054 */ addiu $a2, $sp, 0x54 -/* 046044 7F011514 8FA70064 */ lw $a3, 0x64($sp) -/* 046048 7F011518 AFA20020 */ sw $v0, 0x20($sp) -/* 04604C 7F01151C AFA00024 */ sw $zero, 0x24($sp) -/* 046050 7F011520 AFA00028 */ sw $zero, 0x28($sp) -/* 046054 7F011524 AFA80014 */ sw $t0, 0x14($sp) -/* 046058 7F011528 AFB90010 */ sw $t9, 0x10($sp) -/* 04605C 7F01152C AFA30018 */ sw $v1, 0x18($sp) -/* 046060 7F011530 0FC025D8 */ jal write_text_at_abs_coord -/* 046064 7F011534 AFA9001C */ sw $t1, 0x1c($sp) -/* 046068 7F011538 00408025 */ move $s0, $v0 -/* 04606C 7F01153C 0FC30776 */ jal get_textptr_for_textID -/* 046070 7F011540 34049C53 */ li $a0, 40019 -/* 046074 7F011544 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 046078 7F011548 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 04607C 7F01154C 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 046080 7F011550 AFA20064 */ sw $v0, 0x64($sp) -/* 046084 7F011554 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 046088 7F011558 27A40050 */ addiu $a0, $sp, 0x50 -/* 04608C 7F01155C 27A5004C */ addiu $a1, $sp, 0x4c -/* 046090 7F011560 00403025 */ move $a2, $v0 -/* 046094 7F011564 AFA00014 */ sw $zero, 0x14($sp) -/* 046098 7F011568 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04609C 7F01156C AFAA0010 */ sw $t2, 0x10($sp) -/* 0460A0 7F011570 3C0D8007 */ lui $t5, %hi(highlight_health) -/* 0460A4 7F011574 8DAD97E0 */ lw $t5, %lo(highlight_health)($t5) -/* 0460A8 7F011578 240B0039 */ li $t3, 57 -/* 0460AC 7F01157C 240C00F1 */ li $t4, 241 -/* 0460B0 7F011580 AFAB0058 */ sw $t3, 0x58($sp) -/* 0460B4 7F011584 11A0000C */ beqz $t5, .L7F0115B8 -/* 0460B8 7F011588 AFAC0054 */ sw $t4, 0x54($sp) -/* 0460BC 7F01158C 8FA7004C */ lw $a3, 0x4c($sp) -/* 0460C0 7F011590 240E00FF */ li $t6, 255 -/* 0460C4 7F011594 240F0032 */ li $t7, 50 -/* 0460C8 7F011598 AFAF0014 */ sw $t7, 0x14($sp) -/* 0460CC 7F01159C AFAE0010 */ sw $t6, 0x10($sp) -/* 0460D0 7F0115A0 02002025 */ move $a0, $s0 -/* 0460D4 7F0115A4 24050037 */ li $a1, 55 -/* 0460D8 7F0115A8 240600F0 */ li $a2, 240 -/* 0460DC 7F0115AC 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0460E0 7F0115B0 24E7003C */ addiu $a3, $a3, 0x3c -/* 0460E4 7F0115B4 00408025 */ move $s0, $v0 -.L7F0115B8: -/* 0460E8 7F0115B8 3C188003 */ lui $t8, %hi(unlock_handicap) -/* 0460EC 7F0115BC 8F18B554 */ lw $t8, %lo(unlock_handicap)($t8) -/* 0460F0 7F0115C0 53000004 */ beql $t8, $zero, .L7F0115D4 -/* 0460F4 7F0115C4 24030070 */ li $v1, 112 -/* 0460F8 7F0115C8 10000002 */ b .L7F0115D4 -/* 0460FC 7F0115CC 240300FF */ li $v1, 255 -/* 046100 7F0115D0 24030070 */ li $v1, 112 -.L7F0115D4: -/* 046104 7F0115D4 0C001107 */ jal get_video2_settings_txtClipW -/* 046108 7F0115D8 AFA30048 */ sw $v1, 0x48($sp) -/* 04610C 7F0115DC 0C00110B */ jal get_video2_settings_txtClipH -/* 046110 7F0115E0 A7A20044 */ sh $v0, 0x44($sp) -/* 046114 7F0115E4 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 046118 7F0115E8 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 04611C 7F0115EC 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 046120 7F0115F0 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 046124 7F0115F4 8FA30048 */ lw $v1, 0x48($sp) -/* 046128 7F0115F8 87A90044 */ lh $t1, 0x44($sp) -/* 04612C 7F0115FC 02002025 */ move $a0, $s0 -/* 046130 7F011600 27A50058 */ addiu $a1, $sp, 0x58 -/* 046134 7F011604 27A60054 */ addiu $a2, $sp, 0x54 -/* 046138 7F011608 8FA70064 */ lw $a3, 0x64($sp) -/* 04613C 7F01160C AFA20020 */ sw $v0, 0x20($sp) -/* 046140 7F011610 AFA00024 */ sw $zero, 0x24($sp) -/* 046144 7F011614 AFA00028 */ sw $zero, 0x28($sp) -/* 046148 7F011618 AFA80014 */ sw $t0, 0x14($sp) -/* 04614C 7F01161C AFB90010 */ sw $t9, 0x10($sp) -/* 046150 7F011620 AFA30018 */ sw $v1, 0x18($sp) -/* 046154 7F011624 0FC025D8 */ jal write_text_at_abs_coord -/* 046158 7F011628 AFA9001C */ sw $t1, 0x1c($sp) -/* 04615C 7F01162C 00408025 */ move $s0, $v0 -/* 046160 7F011630 0FC30776 */ jal get_textptr_for_textID -/* 046164 7F011634 34049D1E */ li $a0, 40222 -/* 046168 7F011638 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 04616C 7F01163C 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 046170 7F011640 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 046174 7F011644 AFA20064 */ sw $v0, 0x64($sp) -/* 046178 7F011648 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04617C 7F01164C 27A40050 */ addiu $a0, $sp, 0x50 -/* 046180 7F011650 27A5004C */ addiu $a1, $sp, 0x4c -/* 046184 7F011654 00403025 */ move $a2, $v0 -/* 046188 7F011658 AFA00014 */ sw $zero, 0x14($sp) -/* 04618C 7F01165C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 046190 7F011660 AFAA0010 */ sw $t2, 0x10($sp) -/* 046194 7F011664 3C0D8007 */ lui $t5, %hi(highlight_controlstyle) -/* 046198 7F011668 8DAD97E4 */ lw $t5, %lo(highlight_controlstyle)($t5) -/* 04619C 7F01166C 240B0039 */ li $t3, 57 -/* 0461A0 7F011670 240C0105 */ li $t4, 261 -/* 0461A4 7F011674 AFAB0058 */ sw $t3, 0x58($sp) -/* 0461A8 7F011678 11A0000C */ beqz $t5, .L7F0116AC -/* 0461AC 7F01167C AFAC0054 */ sw $t4, 0x54($sp) -/* 0461B0 7F011680 8FA7004C */ lw $a3, 0x4c($sp) -/* 0461B4 7F011684 240E0113 */ li $t6, 275 -/* 0461B8 7F011688 240F0032 */ li $t7, 50 -/* 0461BC 7F01168C AFAF0014 */ sw $t7, 0x14($sp) -/* 0461C0 7F011690 AFAE0010 */ sw $t6, 0x10($sp) -/* 0461C4 7F011694 02002025 */ move $a0, $s0 -/* 0461C8 7F011698 24050037 */ li $a1, 55 -/* 0461CC 7F01169C 24060104 */ li $a2, 260 -/* 0461D0 7F0116A0 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0461D4 7F0116A4 24E7003C */ addiu $a3, $a3, 0x3c -/* 0461D8 7F0116A8 00408025 */ move $s0, $v0 -.L7F0116AC: -/* 0461DC 7F0116AC 3C188003 */ lui $t8, %hi(unlock_control_style) -/* 0461E0 7F0116B0 8F18B558 */ lw $t8, %lo(unlock_control_style)($t8) -/* 0461E4 7F0116B4 53000004 */ beql $t8, $zero, .L7F0116C8 -/* 0461E8 7F0116B8 24030070 */ li $v1, 112 -/* 0461EC 7F0116BC 10000002 */ b .L7F0116C8 -/* 0461F0 7F0116C0 240300FF */ li $v1, 255 -/* 0461F4 7F0116C4 24030070 */ li $v1, 112 -.L7F0116C8: -/* 0461F8 7F0116C8 0C001107 */ jal get_video2_settings_txtClipW -/* 0461FC 7F0116CC AFA30048 */ sw $v1, 0x48($sp) -/* 046200 7F0116D0 0C00110B */ jal get_video2_settings_txtClipH -/* 046204 7F0116D4 A7A20044 */ sh $v0, 0x44($sp) -/* 046208 7F0116D8 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 04620C 7F0116DC 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 046210 7F0116E0 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 046214 7F0116E4 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 046218 7F0116E8 8FA30048 */ lw $v1, 0x48($sp) -/* 04621C 7F0116EC 87A90044 */ lh $t1, 0x44($sp) -/* 046220 7F0116F0 02002025 */ move $a0, $s0 -/* 046224 7F0116F4 27A50058 */ addiu $a1, $sp, 0x58 -/* 046228 7F0116F8 27A60054 */ addiu $a2, $sp, 0x54 -/* 04622C 7F0116FC 8FA70064 */ lw $a3, 0x64($sp) -/* 046230 7F011700 AFA20020 */ sw $v0, 0x20($sp) -/* 046234 7F011704 AFA00024 */ sw $zero, 0x24($sp) -/* 046238 7F011708 AFA00028 */ sw $zero, 0x28($sp) -/* 04623C 7F01170C AFA80014 */ sw $t0, 0x14($sp) -/* 046240 7F011710 AFB90010 */ sw $t9, 0x10($sp) -/* 046244 7F011714 AFA30018 */ sw $v1, 0x18($sp) -/* 046248 7F011718 0FC025D8 */ jal write_text_at_abs_coord -/* 04624C 7F01171C AFA9001C */ sw $t1, 0x1c($sp) -/* 046250 7F011720 00408025 */ move $s0, $v0 -/* 046254 7F011724 0FC30776 */ jal get_textptr_for_textID -/* 046258 7F011728 34049C54 */ li $a0, 40020 -/* 04625C 7F01172C 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 046260 7F011730 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 046264 7F011734 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 046268 7F011738 AFA20064 */ sw $v0, 0x64($sp) -/* 04626C 7F01173C 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 046270 7F011740 27A40050 */ addiu $a0, $sp, 0x50 -/* 046274 7F011744 27A5004C */ addiu $a1, $sp, 0x4c -/* 046278 7F011748 00403025 */ move $a2, $v0 -/* 04627C 7F01174C AFA00014 */ sw $zero, 0x14($sp) -/* 046280 7F011750 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 046284 7F011754 AFAA0010 */ sw $t2, 0x10($sp) -/* 046288 7F011758 3C0D8007 */ lui $t5, %hi(highlight_aimadjustment) -/* 04628C 7F01175C 8DAD97E8 */ lw $t5, %lo(highlight_aimadjustment)($t5) -/* 046290 7F011760 240B0039 */ li $t3, 57 -/* 046294 7F011764 240C0119 */ li $t4, 281 -/* 046298 7F011768 AFAB0058 */ sw $t3, 0x58($sp) -/* 04629C 7F01176C 11A0000C */ beqz $t5, .L7F0117A0 -/* 0462A0 7F011770 AFAC0054 */ sw $t4, 0x54($sp) -/* 0462A4 7F011774 8FA7004C */ lw $a3, 0x4c($sp) -/* 0462A8 7F011778 240E0127 */ li $t6, 295 -/* 0462AC 7F01177C 240F0032 */ li $t7, 50 -/* 0462B0 7F011780 AFAF0014 */ sw $t7, 0x14($sp) -/* 0462B4 7F011784 AFAE0010 */ sw $t6, 0x10($sp) -/* 0462B8 7F011788 02002025 */ move $a0, $s0 -/* 0462BC 7F01178C 24050037 */ li $a1, 55 -/* 0462C0 7F011790 24060118 */ li $a2, 280 -/* 0462C4 7F011794 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0462C8 7F011798 24E7003C */ addiu $a3, $a3, 0x3c -/* 0462CC 7F01179C 00408025 */ move $s0, $v0 -.L7F0117A0: -/* 0462D0 7F0117A0 3C188003 */ lui $t8, %hi(unlock_aim_sight) -/* 0462D4 7F0117A4 8F18B55C */ lw $t8, %lo(unlock_aim_sight)($t8) -/* 0462D8 7F0117A8 53000004 */ beql $t8, $zero, .L7F0117BC -/* 0462DC 7F0117AC 24030070 */ li $v1, 112 -/* 0462E0 7F0117B0 10000002 */ b .L7F0117BC -/* 0462E4 7F0117B4 240300FF */ li $v1, 255 -/* 0462E8 7F0117B8 24030070 */ li $v1, 112 -.L7F0117BC: -/* 0462EC 7F0117BC 0C001107 */ jal get_video2_settings_txtClipW -/* 0462F0 7F0117C0 AFA30048 */ sw $v1, 0x48($sp) -/* 0462F4 7F0117C4 0C00110B */ jal get_video2_settings_txtClipH -/* 0462F8 7F0117C8 A7A20044 */ sh $v0, 0x44($sp) -/* 0462FC 7F0117CC 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 046300 7F0117D0 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 046304 7F0117D4 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 046308 7F0117D8 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 04630C 7F0117DC 8FA30048 */ lw $v1, 0x48($sp) -/* 046310 7F0117E0 87A90044 */ lh $t1, 0x44($sp) -/* 046314 7F0117E4 02002025 */ move $a0, $s0 -/* 046318 7F0117E8 27A50058 */ addiu $a1, $sp, 0x58 -/* 04631C 7F0117EC 27A60054 */ addiu $a2, $sp, 0x54 -/* 046320 7F0117F0 8FA70064 */ lw $a3, 0x64($sp) -/* 046324 7F0117F4 AFA20020 */ sw $v0, 0x20($sp) -/* 046328 7F0117F8 AFA00024 */ sw $zero, 0x24($sp) -/* 04632C 7F0117FC AFA00028 */ sw $zero, 0x28($sp) -/* 046330 7F011800 AFA80014 */ sw $t0, 0x14($sp) -/* 046334 7F011804 AFB90010 */ sw $t9, 0x10($sp) -/* 046338 7F011808 AFA30018 */ sw $v1, 0x18($sp) -/* 04633C 7F01180C 0FC025D8 */ jal write_text_at_abs_coord -/* 046340 7F011810 AFA9001C */ sw $t1, 0x1c($sp) -/* 046344 7F011814 3C058005 */ lui $a1, %hi(aD_7) -/* 046348 7F011818 3C068003 */ lui $a2, %hi(selected_num_players) -/* 04634C 7F01181C 00408025 */ move $s0, $v0 -/* 046350 7F011820 8CC6B520 */ lw $a2, %lo(selected_num_players)($a2) -/* 046354 7F011824 24A50C4C */ addiu $a1, %lo(aD_7) # addiu $a1, $a1, 0xc4c -/* 046358 7F011828 0C002B25 */ jal sprintf -/* 04635C 7F01182C 27A4005C */ addiu $a0, $sp, 0x5c -/* 046360 7F011830 240A00A0 */ li $t2, 160 -/* 046364 7F011834 240B0079 */ li $t3, 121 -/* 046368 7F011838 AFAA0058 */ sw $t2, 0x58($sp) -/* 04636C 7F01183C 0C001107 */ jal get_video2_settings_txtClipW -/* 046370 7F011840 AFAB0054 */ sw $t3, 0x54($sp) -/* 046374 7F011844 0C00110B */ jal get_video2_settings_txtClipH -/* 046378 7F011848 A7A20044 */ sh $v0, 0x44($sp) -/* 04637C 7F01184C 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge) -/* 046380 7F011850 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 046384 7F011854 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 046388 7F011858 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4) -/* 04638C 7F01185C 87AF0044 */ lh $t7, 0x44($sp) -/* 046390 7F011860 240E00FF */ li $t6, 255 -/* 046394 7F011864 AFAE0018 */ sw $t6, 0x18($sp) -/* 046398 7F011868 02002025 */ move $a0, $s0 -/* 04639C 7F01186C 27A50058 */ addiu $a1, $sp, 0x58 -/* 0463A0 7F011870 27A60054 */ addiu $a2, $sp, 0x54 -/* 0463A4 7F011874 27A7005C */ addiu $a3, $sp, 0x5c -/* 0463A8 7F011878 AFA20020 */ sw $v0, 0x20($sp) -/* 0463AC 7F01187C AFA00024 */ sw $zero, 0x24($sp) -/* 0463B0 7F011880 AFA00028 */ sw $zero, 0x28($sp) -/* 0463B4 7F011884 AFAD0014 */ sw $t5, 0x14($sp) -/* 0463B8 7F011888 AFAC0010 */ sw $t4, 0x10($sp) -/* 0463BC 7F01188C 0FC025D8 */ jal write_text_at_abs_coord -/* 0463C0 7F011890 AFAF001C */ sw $t7, 0x1c($sp) -/* 0463C4 7F011894 3C188003 */ lui $t8, %hi(scenario) -/* 0463C8 7F011898 8F18B540 */ lw $t8, %lo(scenario)($t8) -/* 0463CC 7F01189C 3C048003 */ lui $a0, %hi(mp_player_counts) -/* 0463D0 7F0118A0 00408025 */ move $s0, $v0 -/* 0463D4 7F0118A4 0018C880 */ sll $t9, $t8, 2 -/* 0463D8 7F0118A8 00992021 */ addu $a0, $a0, $t9 -/* 0463DC 7F0118AC 0FC30776 */ jal get_textptr_for_textID -/* 0463E0 7F0118B0 9484B054 */ lhu $a0, %lo(mp_player_counts)($a0) -/* 0463E4 7F0118B4 240800A0 */ li $t0, 160 -/* 0463E8 7F0118B8 2409008D */ li $t1, 141 -/* 0463EC 7F0118BC AFA20064 */ sw $v0, 0x64($sp) -/* 0463F0 7F0118C0 AFA80058 */ sw $t0, 0x58($sp) -/* 0463F4 7F0118C4 0C001107 */ jal get_video2_settings_txtClipW -/* 0463F8 7F0118C8 AFA90054 */ sw $t1, 0x54($sp) -/* 0463FC 7F0118CC 0C00110B */ jal get_video2_settings_txtClipH -/* 046400 7F0118D0 A7A20044 */ sh $v0, 0x44($sp) -/* 046404 7F0118D4 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge) -/* 046408 7F0118D8 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) -/* 04640C 7F0118DC 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3) -/* 046410 7F0118E0 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2) -/* 046414 7F0118E4 87AD0044 */ lh $t5, 0x44($sp) -/* 046418 7F0118E8 240C00FF */ li $t4, 255 -/* 04641C 7F0118EC AFAC0018 */ sw $t4, 0x18($sp) -/* 046420 7F0118F0 02002025 */ move $a0, $s0 -/* 046424 7F0118F4 27A50058 */ addiu $a1, $sp, 0x58 -/* 046428 7F0118F8 27A60054 */ addiu $a2, $sp, 0x54 -/* 04642C 7F0118FC 8FA70064 */ lw $a3, 0x64($sp) -/* 046430 7F011900 AFA20020 */ sw $v0, 0x20($sp) -/* 046434 7F011904 AFA00024 */ sw $zero, 0x24($sp) -/* 046438 7F011908 AFA00028 */ sw $zero, 0x28($sp) -/* 04643C 7F01190C AFAB0014 */ sw $t3, 0x14($sp) -/* 046440 7F011910 AFAA0010 */ sw $t2, 0x10($sp) -/* 046444 7F011914 0FC025D8 */ jal write_text_at_abs_coord -/* 046448 7F011918 AFAD001C */ sw $t5, 0x1c($sp) -/* 04644C 7F01191C 3C0E8003 */ lui $t6, %hi(MP_stage_selected) -/* 046450 7F011920 8DCEB534 */ lw $t6, %lo(MP_stage_selected)($t6) -/* 046454 7F011924 3C048003 */ lui $a0, %hi(multi_stage_setups) -/* 046458 7F011928 00408025 */ move $s0, $v0 -/* 04645C 7F01192C 000E7880 */ sll $t7, $t6, 2 -/* 046460 7F011930 01EE7823 */ subu $t7, $t7, $t6 -/* 046464 7F011934 000F78C0 */ sll $t7, $t7, 3 -/* 046468 7F011938 008F2021 */ addu $a0, $a0, $t7 -/* 04646C 7F01193C 0FC30776 */ jal get_textptr_for_textID -/* 046470 7F011940 9484B074 */ lhu $a0, %lo(multi_stage_setups)($a0) -/* 046474 7F011944 3C088003 */ lui $t0, %hi(unlock_stage_select) -/* 046478 7F011948 8D08B544 */ lw $t0, %lo(unlock_stage_select)($t0) -/* 04647C 7F01194C 241800A0 */ li $t8, 160 -/* 046480 7F011950 241900A1 */ li $t9, 161 -/* 046484 7F011954 AFA20064 */ sw $v0, 0x64($sp) -/* 046488 7F011958 AFB80058 */ sw $t8, 0x58($sp) -/* 04648C 7F01195C 11000003 */ beqz $t0, .L7F01196C -/* 046490 7F011960 AFB90054 */ sw $t9, 0x54($sp) -/* 046494 7F011964 10000002 */ b .L7F011970 -/* 046498 7F011968 240300FF */ li $v1, 255 -.L7F01196C: -/* 04649C 7F01196C 24030070 */ li $v1, 112 -.L7F011970: -/* 0464A0 7F011970 0C001107 */ jal get_video2_settings_txtClipW -/* 0464A4 7F011974 AFA30048 */ sw $v1, 0x48($sp) -/* 0464A8 7F011978 0C00110B */ jal get_video2_settings_txtClipH -/* 0464AC 7F01197C A7A20044 */ sh $v0, 0x44($sp) -/* 0464B0 7F011980 3C098004 */ lui $t1, %hi(ptrSecondFontTableLarge) -/* 0464B4 7F011984 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 0464B8 7F011988 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 0464BC 7F01198C 8D290EB8 */ lw $t1, %lo(ptrSecondFontTableLarge)($t1) -/* 0464C0 7F011990 8FA30048 */ lw $v1, 0x48($sp) -/* 0464C4 7F011994 87AB0044 */ lh $t3, 0x44($sp) -/* 0464C8 7F011998 02002025 */ move $a0, $s0 -/* 0464CC 7F01199C 27A50058 */ addiu $a1, $sp, 0x58 -/* 0464D0 7F0119A0 27A60054 */ addiu $a2, $sp, 0x54 -/* 0464D4 7F0119A4 8FA70064 */ lw $a3, 0x64($sp) -/* 0464D8 7F0119A8 AFA20020 */ sw $v0, 0x20($sp) -/* 0464DC 7F0119AC AFA00024 */ sw $zero, 0x24($sp) -/* 0464E0 7F0119B0 AFA00028 */ sw $zero, 0x28($sp) -/* 0464E4 7F0119B4 AFAA0014 */ sw $t2, 0x14($sp) -/* 0464E8 7F0119B8 AFA90010 */ sw $t1, 0x10($sp) -/* 0464EC 7F0119BC AFA30018 */ sw $v1, 0x18($sp) -/* 0464F0 7F0119C0 0FC025D8 */ jal write_text_at_abs_coord -/* 0464F4 7F0119C4 AFAB001C */ sw $t3, 0x1c($sp) -/* 0464F8 7F0119C8 3C0C8003 */ lui $t4, %hi(game_length) -/* 0464FC 7F0119CC 8D8CB538 */ lw $t4, %lo(game_length)($t4) -/* 046500 7F0119D0 3C048003 */ lui $a0, %hi(multi_game_lengths) -/* 046504 7F0119D4 00408025 */ move $s0, $v0 -/* 046508 7F0119D8 000C6880 */ sll $t5, $t4, 2 -/* 04650C 7F0119DC 01AC6823 */ subu $t5, $t5, $t4 -/* 046510 7F0119E0 000D6880 */ sll $t5, $t5, 2 -/* 046514 7F0119E4 008D2021 */ addu $a0, $a0, $t5 -/* 046518 7F0119E8 0FC30776 */ jal get_textptr_for_textID -/* 04651C 7F0119EC 9484AFF4 */ lhu $a0, %lo(multi_game_lengths)($a0) -/* 046520 7F0119F0 3C188003 */ lui $t8, %hi(unlock_game_length) -/* 046524 7F0119F4 8F18B548 */ lw $t8, %lo(unlock_game_length)($t8) -/* 046528 7F0119F8 240E00A0 */ li $t6, 160 -/* 04652C 7F0119FC 240F00B5 */ li $t7, 181 -/* 046530 7F011A00 AFA20064 */ sw $v0, 0x64($sp) -/* 046534 7F011A04 AFAE0058 */ sw $t6, 0x58($sp) -/* 046538 7F011A08 13000003 */ beqz $t8, .L7F011A18 -/* 04653C 7F011A0C AFAF0054 */ sw $t7, 0x54($sp) -/* 046540 7F011A10 10000002 */ b .L7F011A1C -/* 046544 7F011A14 240300FF */ li $v1, 255 -.L7F011A18: -/* 046548 7F011A18 24030070 */ li $v1, 112 -.L7F011A1C: -/* 04654C 7F011A1C 0C001107 */ jal get_video2_settings_txtClipW -/* 046550 7F011A20 AFA30048 */ sw $v1, 0x48($sp) -/* 046554 7F011A24 0C00110B */ jal get_video2_settings_txtClipH -/* 046558 7F011A28 A7A20044 */ sh $v0, 0x44($sp) -/* 04655C 7F011A2C 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 046560 7F011A30 3C088004 */ lui $t0, %hi(ptrFirstFontTableLarge) -/* 046564 7F011A34 8D080EB4 */ lw $t0, %lo(ptrFirstFontTableLarge)($t0) -/* 046568 7F011A38 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 04656C 7F011A3C 8FA30048 */ lw $v1, 0x48($sp) -/* 046570 7F011A40 87A90044 */ lh $t1, 0x44($sp) -/* 046574 7F011A44 02002025 */ move $a0, $s0 -/* 046578 7F011A48 27A50058 */ addiu $a1, $sp, 0x58 -/* 04657C 7F011A4C 27A60054 */ addiu $a2, $sp, 0x54 -/* 046580 7F011A50 8FA70064 */ lw $a3, 0x64($sp) -/* 046584 7F011A54 AFA20020 */ sw $v0, 0x20($sp) -/* 046588 7F011A58 AFA00024 */ sw $zero, 0x24($sp) -/* 04658C 7F011A5C AFA00028 */ sw $zero, 0x28($sp) -/* 046590 7F011A60 AFA80014 */ sw $t0, 0x14($sp) -/* 046594 7F011A64 AFB90010 */ sw $t9, 0x10($sp) -/* 046598 7F011A68 AFA30018 */ sw $v1, 0x18($sp) -/* 04659C 7F011A6C 0FC025D8 */ jal write_text_at_abs_coord -/* 0465A0 7F011A70 AFA9001C */ sw $t1, 0x1c($sp) -/* 0465A4 7F011A74 0FC3197E */ jal get_ptr_current_mp_weapon_set_text_code -/* 0465A8 7F011A78 00408025 */ move $s0, $v0 -/* 0465AC 7F011A7C 0FC30776 */ jal get_textptr_for_textID -/* 0465B0 7F011A80 94440000 */ lhu $a0, ($v0) -/* 0465B4 7F011A84 3C0C8003 */ lui $t4, %hi(unlock_weapon_select) -/* 0465B8 7F011A88 8D8CB550 */ lw $t4, %lo(unlock_weapon_select)($t4) -/* 0465BC 7F011A8C 240A00A0 */ li $t2, 160 -/* 0465C0 7F011A90 240B00C9 */ li $t3, 201 -/* 0465C4 7F011A94 AFA20064 */ sw $v0, 0x64($sp) -/* 0465C8 7F011A98 AFAA0058 */ sw $t2, 0x58($sp) -/* 0465CC 7F011A9C 11800003 */ beqz $t4, .L7F011AAC -/* 0465D0 7F011AA0 AFAB0054 */ sw $t3, 0x54($sp) -/* 0465D4 7F011AA4 10000002 */ b .L7F011AB0 -/* 0465D8 7F011AA8 240300FF */ li $v1, 255 -.L7F011AAC: -/* 0465DC 7F011AAC 24030070 */ li $v1, 112 -.L7F011AB0: -/* 0465E0 7F011AB0 0C001107 */ jal get_video2_settings_txtClipW -/* 0465E4 7F011AB4 AFA30048 */ sw $v1, 0x48($sp) -/* 0465E8 7F011AB8 0C00110B */ jal get_video2_settings_txtClipH -/* 0465EC 7F011ABC A7A20044 */ sh $v0, 0x44($sp) -/* 0465F0 7F011AC0 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 0465F4 7F011AC4 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 0465F8 7F011AC8 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 0465FC 7F011ACC 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 046600 7F011AD0 8FA30048 */ lw $v1, 0x48($sp) -/* 046604 7F011AD4 87AF0044 */ lh $t7, 0x44($sp) -/* 046608 7F011AD8 02002025 */ move $a0, $s0 -/* 04660C 7F011ADC 27A50058 */ addiu $a1, $sp, 0x58 -/* 046610 7F011AE0 27A60054 */ addiu $a2, $sp, 0x54 -/* 046614 7F011AE4 8FA70064 */ lw $a3, 0x64($sp) -/* 046618 7F011AE8 AFA20020 */ sw $v0, 0x20($sp) -/* 04661C 7F011AEC AFA00024 */ sw $zero, 0x24($sp) -/* 046620 7F011AF0 AFA00028 */ sw $zero, 0x28($sp) -/* 046624 7F011AF4 AFAE0014 */ sw $t6, 0x14($sp) -/* 046628 7F011AF8 AFAD0010 */ sw $t5, 0x10($sp) -/* 04662C 7F011AFC AFA30018 */ sw $v1, 0x18($sp) -/* 046630 7F011B00 0FC025D8 */ jal write_text_at_abs_coord -/* 046634 7F011B04 AFAF001C */ sw $t7, 0x1c($sp) -/* 046638 7F011B08 3C188003 */ lui $t8, %hi(aim_sight_adjustment) -/* 04663C 7F011B0C 8F18B53C */ lw $t8, %lo(aim_sight_adjustment)($t8) -/* 046640 7F011B10 3C048003 */ lui $a0, %hi(mp_sight_adjust_table) -/* 046644 7F011B14 00408025 */ move $s0, $v0 -/* 046648 7F011B18 0018C880 */ sll $t9, $t8, 2 -/* 04664C 7F011B1C 00992021 */ addu $a0, $a0, $t9 -/* 046650 7F011B20 0FC30776 */ jal get_textptr_for_textID -/* 046654 7F011B24 9484B510 */ lhu $a0, %lo(mp_sight_adjust_table)($a0) -/* 046658 7F011B28 3C0A8003 */ lui $t2, %hi(unlock_aim_sight) -/* 04665C 7F011B2C 8D4AB55C */ lw $t2, %lo(unlock_aim_sight)($t2) -/* 046660 7F011B30 240800A0 */ li $t0, 160 -/* 046664 7F011B34 24090119 */ li $t1, 281 -/* 046668 7F011B38 AFA20064 */ sw $v0, 0x64($sp) -/* 04666C 7F011B3C AFA80058 */ sw $t0, 0x58($sp) -/* 046670 7F011B40 11400003 */ beqz $t2, .L7F011B50 -/* 046674 7F011B44 AFA90054 */ sw $t1, 0x54($sp) -/* 046678 7F011B48 10000002 */ b .L7F011B54 -/* 04667C 7F011B4C 240300FF */ li $v1, 255 -.L7F011B50: -/* 046680 7F011B50 24030070 */ li $v1, 112 -.L7F011B54: -/* 046684 7F011B54 0C001107 */ jal get_video2_settings_txtClipW -/* 046688 7F011B58 AFA30048 */ sw $v1, 0x48($sp) -/* 04668C 7F011B5C 0C00110B */ jal get_video2_settings_txtClipH -/* 046690 7F011B60 A7A20044 */ sh $v0, 0x44($sp) -/* 046694 7F011B64 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge) -/* 046698 7F011B68 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) -/* 04669C 7F011B6C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 0466A0 7F011B70 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3) -/* 0466A4 7F011B74 8FA30048 */ lw $v1, 0x48($sp) -/* 0466A8 7F011B78 87AD0044 */ lh $t5, 0x44($sp) -/* 0466AC 7F011B7C 02002025 */ move $a0, $s0 -/* 0466B0 7F011B80 27A50058 */ addiu $a1, $sp, 0x58 -/* 0466B4 7F011B84 27A60054 */ addiu $a2, $sp, 0x54 -/* 0466B8 7F011B88 8FA70064 */ lw $a3, 0x64($sp) -/* 0466BC 7F011B8C AFA20020 */ sw $v0, 0x20($sp) -/* 0466C0 7F011B90 AFA00024 */ sw $zero, 0x24($sp) -/* 0466C4 7F011B94 AFA00028 */ sw $zero, 0x28($sp) -/* 0466C8 7F011B98 AFAC0014 */ sw $t4, 0x14($sp) -/* 0466CC 7F011B9C AFAB0010 */ sw $t3, 0x10($sp) -/* 0466D0 7F011BA0 AFA30018 */ sw $v1, 0x18($sp) -/* 0466D4 7F011BA4 0FC025D8 */ jal write_text_at_abs_coord -/* 0466D8 7F011BA8 AFAD001C */ sw $t5, 0x1c($sp) -/* 0466DC 7F011BAC 0FC0288E */ jal add_tab3_previous -/* 0466E0 7F011BB0 00402025 */ move $a0, $v0 -/* 0466E4 7F011BB4 0FC02820 */ jal add_tab1_start -/* 0466E8 7F011BB8 00402025 */ move $a0, $v0 -/* 0466EC 7F011BBC 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 0466F0 7F011BC0 00402025 */ move $a0, $v0 -/* 0466F4 7F011BC4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0466F8 7F011BC8 8FB00038 */ lw $s0, 0x38($sp) -/* 0466FC 7F011BCC 27BD0068 */ addiu $sp, $sp, 0x68 -/* 046700 7F011BD0 03E00008 */ jr $ra -/* 046704 7F011BD4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -? get_players_who_have_selected_mp_char(s32 arg0) -{ - u32 temp_a0_2; - void *temp_a0; - void *phi_a0; - s32 phi_v0; - ? phi_v1; - ? phi_v1_2; - ? phi_v1_3; - - phi_v1 = 0; - if (selected_num_players > 0) - { - temp_a0 = 0x80070000 + -0x68c0; - phi_a0 = temp_a0; - phi_v0 = 0; - phi_v1_3 = 0; -loop_2: - temp_a0_2 = phi_a0 + 4; - phi_v1_2 = phi_v1_3; - if (*phi_a0 != 0) - { - phi_v1_2 = phi_v1_3; - if (arg0 == *(&player_1_char + phi_v0)) - { - phi_v1_2 = 1; - } - } - phi_a0 = temp_a0_2; - phi_v0 = phi_v0 + 4; - phi_v1 = phi_v1_2; - phi_v1_3 = phi_v1_2; - if (temp_a0_2 < (u32) ((selected_num_players * 4) + temp_a0)) - { - goto loop_2; - } - } - return phi_v1; -} -#else -GLOBAL_ASM( -.text -glabel get_players_who_have_selected_mp_char -/* 046708 7F011BD8 3C058003 */ lui $a1, %hi(selected_num_players) -/* 04670C 7F011BDC 8CA5B520 */ lw $a1, %lo(selected_num_players)($a1) -/* 046710 7F011BE0 00803025 */ move $a2, $a0 -/* 046714 7F011BE4 00001825 */ move $v1, $zero -/* 046718 7F011BE8 18A00012 */ blez $a1, .L7F011C34 -/* 04671C 7F011BEC 00001025 */ move $v0, $zero -/* 046720 7F011BF0 3C0E8007 */ lui $t6, %hi(has_selected_char_player1) -/* 046724 7F011BF4 00057880 */ sll $t7, $a1, 2 -/* 046728 7F011BF8 3C058003 */ lui $a1, %hi(player_1_char) -/* 04672C 7F011BFC 25C49740 */ addiu $a0, $t6, %lo(has_selected_char_player1) -/* 046730 7F011C00 01E43821 */ addu $a3, $t7, $a0 -/* 046734 7F011C04 24A5B524 */ addiu $a1, %lo(player_1_char) # addiu $a1, $a1, -0x4adc -.L7F011C08: -/* 046738 7F011C08 8C980000 */ lw $t8, ($a0) -/* 04673C 7F011C0C 24840004 */ addiu $a0, $a0, 4 -/* 046740 7F011C10 0087082B */ sltu $at, $a0, $a3 -/* 046744 7F011C14 13000005 */ beqz $t8, .L7F011C2C -/* 046748 7F011C18 00A2C821 */ addu $t9, $a1, $v0 -/* 04674C 7F011C1C 8F280000 */ lw $t0, ($t9) -/* 046750 7F011C20 14C80002 */ bne $a2, $t0, .L7F011C2C -/* 046754 7F011C24 00000000 */ nop -/* 046758 7F011C28 24030001 */ li $v1, 1 -.L7F011C2C: -/* 04675C 7F011C2C 1420FFF6 */ bnez $at, .L7F011C08 -/* 046760 7F011C30 24420004 */ addiu $v0, $v0, 4 -.L7F011C34: -/* 046764 7F011C34 03E00008 */ jr $ra -/* 046768 7F011C38 00601025 */ move $v0, $v1 -) -#endif - - - -#ifdef NONMATCHING -void init_menu0f_mpcharsel(void) -{ - s32 temp_lo; - s32 temp_s0; - u32 temp_s1; - u32 temp_v1; - u32 temp_v1_2; - u32 temp_v1_3; - void *temp_s2; - void *temp_v0; - void *phi_s1; - void *phi_v0; - void *phi_v0_2; - void *phi_v0_3; - void *phi_s2; - s32 phi_s0; - s32 phi_s0_2; - - tab_1_selected = 0; - tab_2_selected = 0; - tab_3_selected = 0; - tab_3_highlight = 0; - tab_2_highlight = 0; - tab_1_highlight = 0; - phi_s1 = &mp_chr_setup; -loop_1: - temp_lo = (phi_s1->unk3 * 4) * 0xc; - temp_v0 = mpcharselimages + temp_lo; - phi_v0 = temp_v0; - if ((u32) *temp_v0 < 0xbb8U) - { - 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) - { - 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) - { - 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) - { - calls_load_image_to_buffer(temp_v1_3, 0); - } - temp_s1 = phi_s1 + 0xc; - phi_s1 = temp_s1; - if (temp_s1 < &MP_handicap_table) - { - goto loop_1; - } - if (num_chars_selectable_mp != 0x40) - { - if (isStageUnlockedAtDifficulty(selected_folder_num, 0x11, 0) == 3) - { - num_chars_selectable_mp = 0x21; - } - else - { - num_chars_selectable_mp = 8; - phi_s2 = &player_1_char; -loop_14: - if (*phi_s2 >= num_chars_selectable_mp) - { - phi_s0 = 0; - phi_s0_2 = 0; - if (num_chars_selectable_mp > 0) - { -loop_16: - phi_s0_2 = phi_s0; - if (get_players_who_have_selected_mp_char(phi_s0) != 0) - { - temp_s0 = phi_s0 + 1; - phi_s0 = temp_s0; - phi_s0_2 = temp_s0; - if (temp_s0 < num_chars_selectable_mp) - { - goto loop_16; - } - } - } - *phi_s2 = (s32) phi_s0_2; - } - temp_s2 = phi_s2 + 4; - phi_s2 = temp_s2; - if (temp_s2 != &MP_stage_selected) - { - goto loop_14; - } - } - } - mp_char_cur_select_player1 = (?32) player_1_char; - mp_char_prev_select_player1 = (?32) player_1_char; - dword_CODE_bss_80069730 = 0; - has_selected_char_player1 = 0; - size_mp_select_image_player1 = 0; - mp_char_cur_select_player2 = (?32) player_2_char; - mp_char_prev_select_player2 = (?32) player_2_char; - dword_CODE_bss_80069734 = 0; - has_selected_char_player2 = 0; - size_mp_select_image_player2 = 0; - mp_char_cur_select_player3 = (?32) player_3_char; - mp_char_prev_select_player3 = (?32) player_3_char; - dword_CODE_bss_80069738 = 0; - has_selected_char_player3 = 0; - size_mp_select_image_player3 = 0; - mp_char_cur_select_player4 = (?32) player_4_char; - mp_char_prev_select_player4 = (?32) player_4_char; - dword_CODE_bss_8006973C = 0; - has_selected_char_player4 = 0; - size_mp_select_image_player4 = 0; - load_walletbond(player_3_char, player_4_char); -} -#else -GLOBAL_ASM( -.text -glabel init_menu0f_mpcharsel -/* 04676C 7F011C3C 3C018003 */ lui $at, %hi(tab_1_selected) -/* 046770 7F011C40 AC20A8D0 */ sw $zero, %lo(tab_1_selected)($at) -/* 046774 7F011C44 3C018003 */ lui $at, %hi(tab_2_selected) -/* 046778 7F011C48 AC20A8D4 */ sw $zero, %lo(tab_2_selected)($at) -/* 04677C 7F011C4C 3C018003 */ lui $at, %hi(tab_3_selected) -/* 046780 7F011C50 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 046784 7F011C54 AC20A8D8 */ sw $zero, %lo(tab_3_selected)($at) -/* 046788 7F011C58 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04678C 7F011C5C AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 046790 7F011C60 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 046794 7F011C64 AFB40028 */ sw $s4, 0x28($sp) -/* 046798 7F011C68 AFB20020 */ sw $s2, 0x20($sp) -/* 04679C 7F011C6C AFB1001C */ sw $s1, 0x1c($sp) -/* 0467A0 7F011C70 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 0467A4 7F011C74 AFB30024 */ sw $s3, 0x24($sp) -/* 0467A8 7F011C78 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 0467AC 7F011C7C 3C118003 */ lui $s1, %hi(mp_chr_setup) -/* 0467B0 7F011C80 3C128009 */ lui $s2, %hi(mpcharselimages) -/* 0467B4 7F011C84 3C148003 */ lui $s4, %hi(MP_handicap_table) -/* 0467B8 7F011C88 AFBF002C */ sw $ra, 0x2c($sp) -/* 0467BC 7F011C8C AFB00018 */ sw $s0, 0x18($sp) -/* 0467C0 7F011C90 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 0467C4 7F011C94 2694B498 */ addiu $s4, %lo(MP_handicap_table) # addiu $s4, $s4, -0x4b68 -/* 0467C8 7F011C98 2652D130 */ addiu $s2, %lo(mpcharselimages) # addiu $s2, $s2, -0x2ed0 -/* 0467CC 7F011C9C 2631B198 */ addiu $s1, %lo(mp_chr_setup) # addiu $s1, $s1, -0x4e68 -/* 0467D0 7F011CA0 2413000C */ li $s3, 12 -/* 0467D4 7F011CA4 92230003 */ lbu $v1, 3($s1) -.L7F011CA8: -/* 0467D8 7F011CA8 8E4F0000 */ lw $t7, ($s2) -/* 0467DC 7F011CAC 00037080 */ sll $t6, $v1, 2 -/* 0467E0 7F011CB0 01D30019 */ multu $t6, $s3 -/* 0467E4 7F011CB4 00008012 */ mflo $s0 -/* 0467E8 7F011CB8 01F01021 */ addu $v0, $t7, $s0 -/* 0467EC 7F011CBC 8C460000 */ lw $a2, ($v0) -/* 0467F0 7F011CC0 2CC10BB8 */ sltiu $at, $a2, 0xbb8 -/* 0467F4 7F011CC4 10200005 */ beqz $at, .L7F011CDC -/* 0467F8 7F011CC8 00C02025 */ move $a0, $a2 -/* 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 -.L7F011CDC: -/* 04680C 7F011CDC 8C43000C */ lw $v1, 0xc($v0) -/* 046810 7F011CE0 2C610BB8 */ sltiu $at, $v1, 0xbb8 -/* 046814 7F011CE4 10200005 */ beqz $at, .L7F011CFC -/* 046818 7F011CE8 00602025 */ move $a0, $v1 -/* 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 -.L7F011CFC: -/* 04682C 7F011CFC 8C430018 */ lw $v1, 0x18($v0) -/* 046830 7F011D00 2C610BB8 */ sltiu $at, $v1, 0xbb8 -/* 046834 7F011D04 10200005 */ beqz $at, .L7F011D1C -/* 046838 7F011D08 00602025 */ move $a0, $v1 -/* 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 -.L7F011D1C: -/* 04684C 7F011D1C 8C430024 */ lw $v1, 0x24($v0) -/* 046850 7F011D20 2C610BB8 */ sltiu $at, $v1, 0xbb8 -/* 046854 7F011D24 10200003 */ beqz $at, .L7F011D34 -/* 046858 7F011D28 00602025 */ move $a0, $v1 -/* 04685C 7F011D2C 0FC32FBA */ jal calls_load_image_to_buffer -/* 046860 7F011D30 00002825 */ move $a1, $zero -.L7F011D34: -/* 046864 7F011D34 2631000C */ addiu $s1, $s1, 0xc -/* 046868 7F011D38 0234082B */ sltu $at, $s1, $s4 -/* 04686C 7F011D3C 5420FFDA */ bnezl $at, .L7F011CA8 -/* 046870 7F011D40 92230003 */ lbu $v1, 3($s1) -/* 046874 7F011D44 3C118003 */ lui $s1, %hi(num_chars_selectable_mp) -/* 046878 7F011D48 2631B194 */ addiu $s1, %lo(num_chars_selectable_mp) # addiu $s1, $s1, -0x4e6c -/* 04687C 7F011D4C 8E290000 */ lw $t1, ($s1) -/* 046880 7F011D50 24010040 */ li $at, 64 -/* 046884 7F011D54 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 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 isStageUnlockedAtDifficulty -/* 046898 7F011D68 00003025 */ move $a2, $zero -/* 04689C 7F011D6C 24010003 */ li $at, 3 -/* 0468A0 7F011D70 14410004 */ bne $v0, $at, .L7F011D84 -/* 0468A4 7F011D74 240B0008 */ li $t3, 8 -/* 0468A8 7F011D78 240A0021 */ li $t2, 33 -/* 0468AC 7F011D7C 1000001A */ b .L7F011DE8 -/* 0468B0 7F011D80 AE2A0000 */ sw $t2, ($s1) -.L7F011D84: -/* 0468B4 7F011D84 3C128003 */ lui $s2, %hi(player_1_char) -/* 0468B8 7F011D88 3C138003 */ lui $s3, %hi(MP_stage_selected) -/* 0468BC 7F011D8C AE2B0000 */ sw $t3, ($s1) -/* 0468C0 7F011D90 2673B534 */ addiu $s3, %lo(MP_stage_selected) # addiu $s3, $s3, -0x4acc -/* 0468C4 7F011D94 2652B524 */ addiu $s2, %lo(player_1_char) # addiu $s2, $s2, -0x4adc -/* 0468C8 7F011D98 8E220000 */ lw $v0, ($s1) -.L7F011D9C: -/* 0468CC 7F011D9C 8E4C0000 */ lw $t4, ($s2) -/* 0468D0 7F011DA0 0182082A */ slt $at, $t4, $v0 -/* 0468D4 7F011DA4 5420000E */ bnezl $at, .L7F011DE0 -/* 0468D8 7F011DA8 26520004 */ addiu $s2, $s2, 4 -/* 0468DC 7F011DAC 1840000A */ blez $v0, .L7F011DD8 -/* 0468E0 7F011DB0 00008025 */ move $s0, $zero -.L7F011DB4: -/* 0468E4 7F011DB4 0FC046F6 */ jal get_players_who_have_selected_mp_char -/* 0468E8 7F011DB8 02002025 */ move $a0, $s0 -/* 0468EC 7F011DBC 50400007 */ beql $v0, $zero, .L7F011DDC -/* 0468F0 7F011DC0 AE500000 */ sw $s0, ($s2) -/* 0468F4 7F011DC4 8E2D0000 */ lw $t5, ($s1) -/* 0468F8 7F011DC8 26100001 */ addiu $s0, $s0, 1 -/* 0468FC 7F011DCC 020D082A */ slt $at, $s0, $t5 -/* 046900 7F011DD0 1420FFF8 */ bnez $at, .L7F011DB4 -/* 046904 7F011DD4 00000000 */ nop -.L7F011DD8: -/* 046908 7F011DD8 AE500000 */ sw $s0, ($s2) -.L7F011DDC: -/* 04690C 7F011DDC 26520004 */ addiu $s2, $s2, 4 -.L7F011DE0: -/* 046910 7F011DE0 5653FFEE */ bnel $s2, $s3, .L7F011D9C -/* 046914 7F011DE4 8E220000 */ lw $v0, ($s1) -.L7F011DE8: -/* 046918 7F011DE8 3C028003 */ lui $v0, %hi(player_1_char) -/* 04691C 7F011DEC 8C42B524 */ lw $v0, %lo(player_1_char)($v0) -/* 046920 7F011DF0 3C018007 */ lui $at, %hi(mp_char_cur_select_player1) -/* 046924 7F011DF4 3C038003 */ lui $v1, %hi(player_2_char) -/* 046928 7F011DF8 AC229710 */ sw $v0, %lo(mp_char_cur_select_player1)($at) -/* 04692C 7F011DFC 3C018007 */ lui $at, %hi(mp_char_prev_select_player1) -/* 046930 7F011E00 AC229720 */ sw $v0, %lo(mp_char_prev_select_player1)($at) -/* 046934 7F011E04 3C018007 */ lui $at, %hi(dword_CODE_bss_80069730) -/* 046938 7F011E08 AC209730 */ sw $zero, %lo(dword_CODE_bss_80069730)($at) -/* 04693C 7F011E0C 3C018007 */ lui $at, %hi(has_selected_char_player1) -/* 046940 7F011E10 AC209740 */ sw $zero, %lo(has_selected_char_player1)($at) -/* 046944 7F011E14 8C63B528 */ lw $v1, %lo(player_2_char)($v1) -/* 046948 7F011E18 3C018007 */ lui $at, %hi(size_mp_select_image_player1) -/* 04694C 7F011E1C AC209750 */ sw $zero, %lo(size_mp_select_image_player1)($at) -/* 046950 7F011E20 3C018007 */ lui $at, %hi(mp_char_cur_select_player2) -/* 046954 7F011E24 AC239714 */ sw $v1, %lo(mp_char_cur_select_player2)($at) -/* 046958 7F011E28 3C018007 */ lui $at, %hi(mp_char_prev_select_player2) -/* 04695C 7F011E2C AC239724 */ sw $v1, %lo(mp_char_prev_select_player2)($at) -/* 046960 7F011E30 3C018007 */ lui $at, %hi(dword_CODE_bss_80069734) -/* 046964 7F011E34 AC209734 */ sw $zero, %lo(dword_CODE_bss_80069734)($at) -/* 046968 7F011E38 3C018007 */ lui $at, %hi(has_selected_char_player2) -/* 04696C 7F011E3C AC209744 */ sw $zero, %lo(has_selected_char_player2)($at) -/* 046970 7F011E40 3C048003 */ lui $a0, %hi(player_3_char) -/* 046974 7F011E44 8C84B52C */ lw $a0, %lo(player_3_char)($a0) -/* 046978 7F011E48 3C018007 */ lui $at, %hi(size_mp_select_image_player2) -/* 04697C 7F011E4C AC209754 */ sw $zero, %lo(size_mp_select_image_player2)($at) -/* 046980 7F011E50 3C018007 */ lui $at, %hi(mp_char_cur_select_player3) -/* 046984 7F011E54 AC249718 */ sw $a0, %lo(mp_char_cur_select_player3)($at) -/* 046988 7F011E58 3C018007 */ lui $at, %hi(mp_char_prev_select_player3) -/* 04698C 7F011E5C AC249728 */ sw $a0, %lo(mp_char_prev_select_player3)($at) -/* 046990 7F011E60 3C018007 */ lui $at, %hi(dword_CODE_bss_80069738) -/* 046994 7F011E64 AC209738 */ sw $zero, %lo(dword_CODE_bss_80069738)($at) -/* 046998 7F011E68 3C018007 */ lui $at, %hi(has_selected_char_player3) -/* 04699C 7F011E6C AC209748 */ sw $zero, %lo(has_selected_char_player3)($at) -/* 0469A0 7F011E70 3C058003 */ lui $a1, %hi(player_4_char) -/* 0469A4 7F011E74 8CA5B530 */ lw $a1, %lo(player_4_char)($a1) -/* 0469A8 7F011E78 3C018007 */ lui $at, %hi(size_mp_select_image_player3) -/* 0469AC 7F011E7C AC209758 */ sw $zero, %lo(size_mp_select_image_player3)($at) -/* 0469B0 7F011E80 3C018007 */ lui $at, %hi(mp_char_cur_select_player4) -/* 0469B4 7F011E84 AC25971C */ sw $a1, %lo(mp_char_cur_select_player4)($at) -/* 0469B8 7F011E88 3C018007 */ lui $at, %hi(mp_char_prev_select_player4) -/* 0469BC 7F011E8C AC25972C */ sw $a1, %lo(mp_char_prev_select_player4)($at) -/* 0469C0 7F011E90 3C018007 */ lui $at, %hi(dword_CODE_bss_8006973C) -/* 0469C4 7F011E94 AC20973C */ sw $zero, %lo(dword_CODE_bss_8006973C)($at) -/* 0469C8 7F011E98 3C018007 */ lui $at, %hi(has_selected_char_player4) -/* 0469CC 7F011E9C AC20974C */ sw $zero, %lo(has_selected_char_player4)($at) -/* 0469D0 7F011EA0 3C018007 */ lui $at, %hi(size_mp_select_image_player4) -/* 0469D4 7F011EA4 0FC02E2B */ jal load_walletbond -/* 0469D8 7F011EA8 AC20975C */ sw $zero, %lo(size_mp_select_image_player4)($at) -/* 0469DC 7F011EAC 8FBF002C */ lw $ra, 0x2c($sp) -/* 0469E0 7F011EB0 8FB00018 */ lw $s0, 0x18($sp) -/* 0469E4 7F011EB4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0469E8 7F011EB8 8FB20020 */ lw $s2, 0x20($sp) -/* 0469EC 7F011EBC 8FB30024 */ lw $s3, 0x24($sp) -/* 0469F0 7F011EC0 8FB40028 */ lw $s4, 0x28($sp) -/* 0469F4 7F011EC4 03E00008 */ jr $ra -/* 0469F8 7F011EC8 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -void update_menu0F_mpcharsel(void) { - -} - - - - -#ifdef NONMATCHING -void interface_menu0F_mpcharsel(void) - -{ - int iVar1; - int iVar2; - int iVar4; - ulonglong uVar3; - BOOL BVar5; - int iVar6; - int iVar7; - char controller; - int *piVar8; - int *piVar9; - int iVar10; - BOOL *pBVar11; - int *piVar12; - int iVar13; - int iStack12; - - iVar4 = get_selected_num_players(); - iStack12 = 0; - setvideo_far(60.00000000); - video_related_21((f32)flt_80051A88); - set_page_height(100.00000000,(f32)flt_80051A8C); - set_video2_settings_offset_24(0); - iVar13 = 0; - iVar10 = 0; - if (0 < iVar4) { - piVar9 = &mp_unknown1_player1; - piVar8 = &mp_char_cur_select_player1; - piVar12 = &mp_char_prev_select_player1; - pBVar11 = &has_selected_char_player1; - do { - controller = (char)iVar13; - if (*pBVar11 != FALSE) { - iVar6 = *(int *)((int)&size_mp_select_image_player1 + iVar10); - if ((iVar6 < 0xb) && (*piVar12 == *piVar8)) { - *(int *)((int)&size_mp_select_image_player1 + iVar10) = iVar6 + 1; - } - uVar3 = get_controller_buttons_pressed(controller,B_BUTTON); - if (uVar3 != 0) { - *pBVar11 = FALSE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - } - if ((*pBVar11 == FALSE) && - (iVar6 = *(int *)((int)&size_mp_select_image_player1 + iVar10), 0 < iVar6)) { - *(int *)((int)&size_mp_select_image_player1 + iVar10) = iVar6 + -1; -LAB_7f012164: - iVar6 = *piVar12; - } - else { - if (*pBVar11 != FALSE) goto LAB_7f012164; - uVar3 = get_controller_buttons_pressed(controller,L_CBUTTONS|L_JPAD); - if (uVar3 != 0) { - if (0 < *piVar8) { - *piVar8 = *piVar8 + -1; - } - goto LAB_7f012164; - } - uVar3 = get_controller_buttons_pressed(controller,R_CBUTTONS|R_JPAD); - if (uVar3 != 0) { - if (*piVar8 < (int)(num_chars_selectable_mp - 1)) { - *piVar8 = *piVar8 + 1; - } - goto LAB_7f012164; - } - uVar3 = get_controller_buttons_pressed(controller,START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar3 == 0) { - iVar6 = get_controller_3dstick_L_R(controller,-2,1); - if (iVar6 < 1) { - iVar6 = get_controller_3dstick_L_R(controller,-2,1); - if (iVar6 < -1) { - if (*piVar9 == 0) { - if (0 < *piVar8) { - *piVar8 = *piVar8 + -1; - } - goto LAB_7f012164; - } - iVar6 = *piVar12; - } - else { - iVar6 = *piVar12; - } - } - else { - if (*piVar9 == 0) { - if (*piVar8 < (int)(num_chars_selectable_mp - 1)) { - *piVar8 = *piVar8 + 1; - } - goto LAB_7f012164; - } - iVar6 = *piVar12; - } - } - else { - BVar5 = hasPlayerSelectedMPChar(*piVar8); - if (BVar5 != FALSE) goto LAB_7f012164; - *(int *)((int)&player_1_char + iVar10) = *piVar8; - *(undefined4 *)((int)&size_mp_select_image_player1 + iVar10) = 1; - *pBVar11 = TRUE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - iVar6 = *piVar12; - } - } - iVar1 = *piVar8; - iVar2 = *piVar9; - iVar13 += 1; - piVar8 = piVar8 + 1; - BVar5 = *pBVar11; - iVar7 = iVar2 + iVar6 * 0x54; - if (iVar1 * 0x54 < iVar7) { - *piVar9 = iVar2 + -0xc; - if (iVar2 + -0xc < 0) { - *piVar9 = iVar2 + 0x48; - *piVar12 = iVar6 + -1; - } - } - else { - if ((iVar7 < iVar1 * 0x54) && (*piVar9 = iVar2 + 0xc, 0x53 < iVar2 + 0xc)) { - *piVar9 = iVar2 + -0x48; - *piVar12 = iVar6 + 1; - } - } - if ((BVar5 != FALSE) && (*(int *)((int)&size_mp_select_image_player1 + iVar10) == 0xb)) { - iStack12 = iStack12 + 1; - } - iVar10 += 4; - piVar12 = piVar12 + 1; - piVar9 = piVar9 + 1; - pBVar11 = pBVar11 + 1; - } while (iVar13 != iVar4); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1); - menu_control_stick_tracking(); - if (iStack12 == iVar4) { - set_menu_to_mode(MENU_MP_OPTIONS,0); - } - return; -} -#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 -/* 046A08 7F011ED8 AFBF003C */ sw $ra, 0x3c($sp) -/* 046A0C 7F011EDC AFBE0038 */ sw $fp, 0x38($sp) -/* 046A10 7F011EE0 AFB70034 */ sw $s7, 0x34($sp) -/* 046A14 7F011EE4 AFB60030 */ sw $s6, 0x30($sp) -/* 046A18 7F011EE8 AFB5002C */ sw $s5, 0x2c($sp) -/* 046A1C 7F011EEC AFB40028 */ sw $s4, 0x28($sp) -/* 046A20 7F011EF0 AFB30024 */ sw $s3, 0x24($sp) -/* 046A24 7F011EF4 AFB20020 */ sw $s2, 0x20($sp) -/* 046A28 7F011EF8 AFB1001C */ sw $s1, 0x1c($sp) -/* 046A2C 7F011EFC 0FC040A4 */ jal get_selected_num_players -/* 046A30 7F011F00 AFB00018 */ sw $s0, 0x18($sp) -/* 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 setvideo_far -/* 046A44 7F011F14 AFA00044 */ sw $zero, 0x44($sp) -/* 046A48 7F011F18 3C018005 */ lui $at, %hi(D_80051A88) -/* 046A4C 7F011F1C 0C001164 */ jal video_related_21 -/* 046A50 7F011F20 C42C1A88 */ lwc1 $f12, %lo(D_80051A88)($at) -/* 046A54 7F011F24 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 046A58 7F011F28 44816000 */ mtc1 $at, $f12 -/* 046A5C 7F011F2C 3C018005 */ lui $at, %hi(D_80051A8C) -/* 046A60 7F011F30 0C001194 */ jal set_page_height -/* 046A64 7F011F34 C42E1A8C */ lwc1 $f14, %lo(D_80051A8C)($at) -/* 046A68 7F011F38 0C00114D */ jal set_video2_settings_offset_24 -/* 046A6C 7F011F3C 00002025 */ move $a0, $zero -/* 046A70 7F011F40 8FAE004C */ lw $t6, 0x4c($sp) -/* 046A74 7F011F44 0000B025 */ move $s6, $zero -/* 046A78 7F011F48 00009825 */ move $s3, $zero -/* 046A7C 7F011F4C 19C000B6 */ blez $t6, .L7F012228 -/* 046A80 7F011F50 3C148007 */ lui $s4, %hi(has_selected_char_player1) -/* 046A84 7F011F54 3C158007 */ lui $s5, %hi(mp_char_prev_select_player1) -/* 046A88 7F011F58 3C118007 */ lui $s1, %hi(mp_char_cur_select_player1) -/* 046A8C 7F011F5C 3C128007 */ lui $s2, %hi(dword_CODE_bss_80069730) -/* 046A90 7F011F60 3C1E8006 */ lui $fp, %hi(ptr_sfx_buf) -/* 046A94 7F011F64 3C178007 */ lui $s7, %hi(size_mp_select_image_player1) -/* 046A98 7F011F68 26F79750 */ addiu $s7, %lo(size_mp_select_image_player1) # addiu $s7, $s7, -0x68b0 -/* 046A9C 7F011F6C 27DE3720 */ addiu $fp, %lo(ptr_sfx_buf) # addiu $fp, $fp, 0x3720 -/* 046AA0 7F011F70 26529730 */ addiu $s2, %lo(dword_CODE_bss_80069730) # addiu $s2, $s2, -0x68d0 -/* 046AA4 7F011F74 26319710 */ addiu $s1, %lo(mp_char_cur_select_player1) # addiu $s1, $s1, -0x68f0 -/* 046AA8 7F011F78 26B59720 */ addiu $s5, %lo(mp_char_prev_select_player1) # addiu $s5, $s5, -0x68e0 -/* 046AAC 7F011F7C 26949740 */ addiu $s4, %lo(has_selected_char_player1) # addiu $s4, $s4, -0x68c0 -.L7F011F80: -/* 046AB0 7F011F80 8E8F0000 */ lw $t7, ($s4) -/* 046AB4 7F011F84 00162600 */ sll $a0, $s6, 0x18 -/* 046AB8 7F011F88 02F31021 */ addu $v0, $s7, $s3 -/* 046ABC 7F011F8C 11E00014 */ beqz $t7, .L7F011FE0 -/* 046AC0 7F011F90 00044E03 */ sra $t1, $a0, 0x18 -/* 046AC4 7F011F94 8C430000 */ lw $v1, ($v0) -/* 046AC8 7F011F98 01202025 */ move $a0, $t1 -/* 046ACC 7F011F9C 2861000B */ slti $at, $v1, 0xb -/* 046AD0 7F011FA0 10200007 */ beqz $at, .L7F011FC0 -/* 046AD4 7F011FA4 00000000 */ nop -/* 046AD8 7F011FA8 8EB80000 */ lw $t8, ($s5) -/* 046ADC 7F011FAC 8E390000 */ lw $t9, ($s1) -/* 046AE0 7F011FB0 24680001 */ addiu $t0, $v1, 1 -/* 046AE4 7F011FB4 17190002 */ bne $t8, $t9, .L7F011FC0 -/* 046AE8 7F011FB8 00000000 */ nop -/* 046AEC 7F011FBC AC480000 */ sw $t0, ($v0) -.L7F011FC0: -/* 046AF0 7F011FC0 0C0030EB */ jal get_controller_buttons_pressed -/* 046AF4 7F011FC4 24054000 */ li $a1, 16384 -/* 046AF8 7F011FC8 10400005 */ beqz $v0, .L7F011FE0 -/* 046AFC 7F011FCC 240500C7 */ li $a1, 199 -/* 046B00 7F011FD0 AE800000 */ sw $zero, ($s4) -/* 046B04 7F011FD4 8FC40000 */ lw $a0, ($fp) -/* 046B08 7F011FD8 0C002382 */ jal play_sfx_a1 -/* 046B0C 7F011FDC 00003025 */ move $a2, $zero -.L7F011FE0: -/* 046B10 7F011FE0 8E860000 */ lw $a2, ($s4) -/* 046B14 7F011FE4 02F31021 */ addu $v0, $s7, $s3 -/* 046B18 7F011FE8 14C00006 */ bnez $a2, .L7F012004 -/* 046B1C 7F011FEC 00000000 */ nop -/* 046B20 7F011FF0 8C430000 */ lw $v1, ($v0) -/* 046B24 7F011FF4 18600003 */ blez $v1, .L7F012004 -/* 046B28 7F011FF8 246AFFFF */ addiu $t2, $v1, -1 -/* 046B2C 7F011FFC 10000059 */ b .L7F012164 -/* 046B30 7F012000 AC4A0000 */ sw $t2, ($v0) -.L7F012004: -/* 046B34 7F012004 14C00057 */ bnez $a2, .L7F012164 -/* 046B38 7F012008 00168600 */ sll $s0, $s6, 0x18 -/* 046B3C 7F01200C 00105E03 */ sra $t3, $s0, 0x18 -/* 046B40 7F012010 000B2600 */ sll $a0, $t3, 0x18 -/* 046B44 7F012014 00046603 */ sra $t4, $a0, 0x18 -/* 046B48 7F012018 01802025 */ move $a0, $t4 -/* 046B4C 7F01201C 01608025 */ move $s0, $t3 -/* 046B50 7F012020 0C0030EB */ jal get_controller_buttons_pressed -/* 046B54 7F012024 24050202 */ li $a1, 514 -/* 046B58 7F012028 10400006 */ beqz $v0, .L7F012044 -/* 046B5C 7F01202C 00102600 */ sll $a0, $s0, 0x18 -/* 046B60 7F012030 8E220000 */ lw $v0, ($s1) -/* 046B64 7F012034 1840004B */ blez $v0, .L7F012164 -/* 046B68 7F012038 244DFFFF */ addiu $t5, $v0, -1 -/* 046B6C 7F01203C 10000049 */ b .L7F012164 -/* 046B70 7F012040 AE2D0000 */ sw $t5, ($s1) -.L7F012044: -/* 046B74 7F012044 00047603 */ sra $t6, $a0, 0x18 -/* 046B78 7F012048 01C02025 */ move $a0, $t6 -/* 046B7C 7F01204C 0C0030EB */ jal get_controller_buttons_pressed -/* 046B80 7F012050 24050101 */ li $a1, 257 -/* 046B84 7F012054 1040000A */ beqz $v0, .L7F012080 -/* 046B88 7F012058 00102600 */ sll $a0, $s0, 0x18 -/* 046B8C 7F01205C 3C0F8003 */ lui $t7, %hi(num_chars_selectable_mp) -/* 046B90 7F012060 8DEFB194 */ lw $t7, %lo(num_chars_selectable_mp)($t7) -/* 046B94 7F012064 8E220000 */ lw $v0, ($s1) -/* 046B98 7F012068 25F8FFFF */ addiu $t8, $t7, -1 -/* 046B9C 7F01206C 0058082A */ slt $at, $v0, $t8 -/* 046BA0 7F012070 1020003C */ beqz $at, .L7F012164 -/* 046BA4 7F012074 24590001 */ addiu $t9, $v0, 1 -/* 046BA8 7F012078 1000003A */ b .L7F012164 -/* 046BAC 7F01207C AE390000 */ sw $t9, ($s1) -.L7F012080: -/* 046BB0 7F012080 00044603 */ sra $t0, $a0, 0x18 -/* 046BB4 7F012084 01002025 */ move $a0, $t0 -/* 046BB8 7F012088 0C0030EB */ jal get_controller_buttons_pressed -/* 046BBC 7F01208C 3405B000 */ li $a1, 45056 -/* 046BC0 7F012090 10400012 */ beqz $v0, .L7F0120DC -/* 046BC4 7F012094 00102600 */ sll $a0, $s0, 0x18 -/* 046BC8 7F012098 0FC046F6 */ jal get_players_who_have_selected_mp_char -/* 046BCC 7F01209C 8E240000 */ lw $a0, ($s1) -/* 046BD0 7F0120A0 14400030 */ bnez $v0, .L7F012164 -/* 046BD4 7F0120A4 3C018003 */ lui $at, %hi(player_1_char) -/* 046BD8 7F0120A8 8E290000 */ lw $t1, ($s1) -/* 046BDC 7F0120AC 00330821 */ addu $at, $at, $s3 -/* 046BE0 7F0120B0 24020001 */ li $v0, 1 -/* 046BE4 7F0120B4 02F35021 */ addu $t2, $s7, $s3 -/* 046BE8 7F0120B8 AC29B524 */ sw $t1, %lo(player_1_char)($at) -/* 046BEC 7F0120BC AD420000 */ sw $v0, ($t2) -/* 046BF0 7F0120C0 AE820000 */ sw $v0, ($s4) -/* 046BF4 7F0120C4 8FC40000 */ lw $a0, ($fp) -/* 046BF8 7F0120C8 240500C7 */ li $a1, 199 -/* 046BFC 7F0120CC 0C002382 */ jal play_sfx_a1 -/* 046C00 7F0120D0 00003025 */ move $a2, $zero -/* 046C04 7F0120D4 10000024 */ b .L7F012168 -/* 046C08 7F0120D8 8EA50000 */ lw $a1, ($s5) -.L7F0120DC: -/* 046C0C 7F0120DC 00045E03 */ sra $t3, $a0, 0x18 -/* 046C10 7F0120E0 01602025 */ move $a0, $t3 -/* 046C14 7F0120E4 2405FFFE */ li $a1, -2 -/* 046C18 7F0120E8 0C00312D */ jal get_controller_3dstick_L_R -/* 046C1C 7F0120EC 24060001 */ li $a2, 1 -/* 046C20 7F0120F0 1840000D */ blez $v0, .L7F012128 -/* 046C24 7F0120F4 00102600 */ sll $a0, $s0, 0x18 -/* 046C28 7F0120F8 8E4C0000 */ lw $t4, ($s2) -/* 046C2C 7F0120FC 3C0D8003 */ lui $t5, %hi(num_chars_selectable_mp) -/* 046C30 7F012100 55800019 */ bnezl $t4, .L7F012168 -/* 046C34 7F012104 8EA50000 */ lw $a1, ($s5) -/* 046C38 7F012108 8DADB194 */ lw $t5, %lo(num_chars_selectable_mp)($t5) -/* 046C3C 7F01210C 8E220000 */ lw $v0, ($s1) -/* 046C40 7F012110 25AEFFFF */ addiu $t6, $t5, -1 -/* 046C44 7F012114 004E082A */ slt $at, $v0, $t6 -/* 046C48 7F012118 10200012 */ beqz $at, .L7F012164 -/* 046C4C 7F01211C 244F0001 */ addiu $t7, $v0, 1 -/* 046C50 7F012120 10000010 */ b .L7F012164 -/* 046C54 7F012124 AE2F0000 */ sw $t7, ($s1) -.L7F012128: -/* 046C58 7F012128 0004C603 */ sra $t8, $a0, 0x18 -/* 046C5C 7F01212C 03002025 */ move $a0, $t8 -/* 046C60 7F012130 2405FFFE */ li $a1, -2 -/* 046C64 7F012134 0C00312D */ jal get_controller_3dstick_L_R -/* 046C68 7F012138 24060001 */ li $a2, 1 -/* 046C6C 7F01213C 2841FFFF */ slti $at, $v0, -1 -/* 046C70 7F012140 50200009 */ beql $at, $zero, .L7F012168 -/* 046C74 7F012144 8EA50000 */ lw $a1, ($s5) -/* 046C78 7F012148 8E590000 */ lw $t9, ($s2) -/* 046C7C 7F01214C 57200006 */ bnezl $t9, .L7F012168 -/* 046C80 7F012150 8EA50000 */ lw $a1, ($s5) -/* 046C84 7F012154 8E220000 */ lw $v0, ($s1) -/* 046C88 7F012158 18400002 */ blez $v0, .L7F012164 -/* 046C8C 7F01215C 2448FFFF */ addiu $t0, $v0, -1 -/* 046C90 7F012160 AE280000 */ sw $t0, ($s1) -.L7F012164: -/* 046C94 7F012164 8EA50000 */ lw $a1, ($s5) -.L7F012168: -/* 046C98 7F012168 24070054 */ li $a3, 84 -/* 046C9C 7F01216C 8E2A0000 */ lw $t2, ($s1) -/* 046CA0 7F012170 00A70019 */ multu $a1, $a3 -/* 046CA4 7F012174 8E420000 */ lw $v0, ($s2) -/* 046CA8 7F012178 26D60001 */ addiu $s6, $s6, 1 -/* 046CAC 7F01217C 26940004 */ addiu $s4, $s4, 4 -/* 046CB0 7F012180 26310004 */ addiu $s1, $s1, 4 -/* 046CB4 7F012184 8E86FFFC */ lw $a2, -4($s4) -/* 046CB8 7F012188 02F3C821 */ addu $t9, $s7, $s3 -/* 046CBC 7F01218C 244BFFF4 */ addiu $t3, $v0, -0xc -/* 046CC0 7F012190 00004812 */ mflo $t1 -/* 046CC4 7F012194 00491821 */ addu $v1, $v0, $t1 -/* 046CC8 7F012198 00000000 */ nop -/* 046CCC 7F01219C 01470019 */ multu $t2, $a3 -/* 046CD0 7F0121A0 00002012 */ mflo $a0 -/* 046CD4 7F0121A4 0083082A */ slt $at, $a0, $v1 -/* 046CD8 7F0121A8 50200009 */ beql $at, $zero, .L7F0121D0 -/* 046CDC 7F0121AC 0064082A */ slt $at, $v1, $a0 -/* 046CE0 7F0121B0 05610010 */ bgez $t3, .L7F0121F4 -/* 046CE4 7F0121B4 AE4B0000 */ sw $t3, ($s2) -/* 046CE8 7F0121B8 256C0054 */ addiu $t4, $t3, 0x54 -/* 046CEC 7F0121BC 24ADFFFF */ addiu $t5, $a1, -1 -/* 046CF0 7F0121C0 AE4C0000 */ sw $t4, ($s2) -/* 046CF4 7F0121C4 1000000B */ b .L7F0121F4 -/* 046CF8 7F0121C8 AEAD0000 */ sw $t5, ($s5) -/* 046CFC 7F0121CC 0064082A */ slt $at, $v1, $a0 -.L7F0121D0: -/* 046D00 7F0121D0 10200008 */ beqz $at, .L7F0121F4 -/* 046D04 7F0121D4 244E000C */ addiu $t6, $v0, 0xc -/* 046D08 7F0121D8 29C10054 */ slti $at, $t6, 0x54 -/* 046D0C 7F0121DC 14200005 */ bnez $at, .L7F0121F4 -/* 046D10 7F0121E0 AE4E0000 */ sw $t6, ($s2) -/* 046D14 7F0121E4 25CFFFAC */ addiu $t7, $t6, -0x54 -/* 046D18 7F0121E8 24B80001 */ addiu $t8, $a1, 1 -/* 046D1C 7F0121EC AE4F0000 */ sw $t7, ($s2) -/* 046D20 7F0121F0 AEB80000 */ sw $t8, ($s5) -.L7F0121F4: -/* 046D24 7F0121F4 50C00008 */ beql $a2, $zero, .L7F012218 -/* 046D28 7F0121F8 8FAB004C */ lw $t3, 0x4c($sp) -/* 046D2C 7F0121FC 8F280000 */ lw $t0, ($t9) -/* 046D30 7F012200 8FA90044 */ lw $t1, 0x44($sp) -/* 046D34 7F012204 2401000B */ li $at, 11 -/* 046D38 7F012208 15010002 */ bne $t0, $at, .L7F012214 -/* 046D3C 7F01220C 252A0001 */ addiu $t2, $t1, 1 -/* 046D40 7F012210 AFAA0044 */ sw $t2, 0x44($sp) -.L7F012214: -/* 046D44 7F012214 8FAB004C */ lw $t3, 0x4c($sp) -.L7F012218: -/* 046D48 7F012218 26730004 */ addiu $s3, $s3, 4 -/* 046D4C 7F01221C 26B50004 */ addiu $s5, $s5, 4 -/* 046D50 7F012220 16CBFF57 */ bne $s6, $t3, .L7F011F80 -/* 046D54 7F012224 26520004 */ addiu $s2, $s2, 4 -.L7F012228: -/* 046D58 7F012228 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 046D5C 7F01222C 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 046D60 7F012230 0FC02DC9 */ jal disable_all_switches -/* 046D64 7F012234 8E040000 */ lw $a0, ($s0) -/* 046D68 7F012238 8E040000 */ lw $a0, ($s0) -/* 046D6C 7F01223C 00002825 */ move $a1, $zero -/* 046D70 7F012240 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 046D74 7F012244 24060001 */ li $a2, 1 -/* 046D78 7F012248 8E040000 */ lw $a0, ($s0) -/* 046D7C 7F01224C 2405002A */ li $a1, 42 -/* 046D80 7F012250 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 046D84 7F012254 24060001 */ li $a2, 1 -/* 046D88 7F012258 0FC026E1 */ jal menu_control_stick_tracking -/* 046D8C 7F01225C 00000000 */ nop -/* 046D90 7F012260 8FAC0044 */ lw $t4, 0x44($sp) -/* 046D94 7F012264 8FAD004C */ lw $t5, 0x4c($sp) -/* 046D98 7F012268 158D0003 */ bne $t4, $t5, .L7F012278 -/* 046D9C 7F01226C 2404000E */ li $a0, 14 -/* 046DA0 7F012270 0FC06975 */ jal set_menu_to_mode -/* 046DA4 7F012274 00002825 */ move $a1, $zero -.L7F012278: -/* 046DA8 7F012278 8FBF003C */ lw $ra, 0x3c($sp) -/* 046DAC 7F01227C 8FB00018 */ lw $s0, 0x18($sp) -/* 046DB0 7F012280 8FB1001C */ lw $s1, 0x1c($sp) -/* 046DB4 7F012284 8FB20020 */ lw $s2, 0x20($sp) -/* 046DB8 7F012288 8FB30024 */ lw $s3, 0x24($sp) -/* 046DBC 7F01228C 8FB40028 */ lw $s4, 0x28($sp) -/* 046DC0 7F012290 8FB5002C */ lw $s5, 0x2c($sp) -/* 046DC4 7F012294 8FB60030 */ lw $s6, 0x30($sp) -/* 046DC8 7F012298 8FB70034 */ lw $s7, 0x34($sp) -/* 046DCC 7F01229C 8FBE0038 */ lw $fp, 0x38($sp) -/* 046DD0 7F0122A0 03E00008 */ jr $ra -/* 046DD4 7F0122A4 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0122A8(s32 arg0, s32 arg1, s32 arg2) -{ - if (arg1 >= arg0) - { - return 0; - } - if (arg0 >= arg2) - { - return 0; - } - if (arg0 < (arg1 + 0x28)) - { - return 0xf - ((arg1 - arg0) * 6); - } - if ((arg2 + -0x28) < arg0) - { - return 0xf - ((arg0 - arg2) * 6); - } - return 0xff; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0122A8 -/* 046DD8 7F0122A8 00A4082A */ slt $at, $a1, $a0 -/* 046DDC 7F0122AC 10200003 */ beqz $at, .L7F0122BC -/* 046DE0 7F0122B0 0086082A */ slt $at, $a0, $a2 -/* 046DE4 7F0122B4 14200003 */ bnez $at, .L7F0122C4 -/* 046DE8 7F0122B8 24AE0028 */ addiu $t6, $a1, 0x28 -.L7F0122BC: -/* 046DEC 7F0122BC 03E00008 */ jr $ra -/* 046DF0 7F0122C0 00001025 */ move $v0, $zero -.L7F0122C4: -/* 046DF4 7F0122C4 008E082A */ slt $at, $a0, $t6 -/* 046DF8 7F0122C8 10200008 */ beqz $at, .L7F0122EC -/* 046DFC 7F0122CC 24C8FFD8 */ addiu $t0, $a2, -0x28 -/* 046E00 7F0122D0 00A47823 */ subu $t7, $a1, $a0 -/* 046E04 7F0122D4 000FC080 */ sll $t8, $t7, 2 -/* 046E08 7F0122D8 030FC023 */ subu $t8, $t8, $t7 -/* 046E0C 7F0122DC 0018C040 */ sll $t8, $t8, 1 -/* 046E10 7F0122E0 2419000F */ li $t9, 15 -/* 046E14 7F0122E4 03E00008 */ jr $ra -/* 046E18 7F0122E8 03381023 */ subu $v0, $t9, $t8 -.L7F0122EC: -/* 046E1C 7F0122EC 0104082A */ slt $at, $t0, $a0 -/* 046E20 7F0122F0 10200008 */ beqz $at, .L7F012314 -/* 046E24 7F0122F4 240200FF */ li $v0, 255 -/* 046E28 7F0122F8 00864823 */ subu $t1, $a0, $a2 -/* 046E2C 7F0122FC 00095080 */ sll $t2, $t1, 2 -/* 046E30 7F012300 01495023 */ subu $t2, $t2, $t1 -/* 046E34 7F012304 000A5040 */ sll $t2, $t2, 1 -/* 046E38 7F012308 240B000F */ li $t3, 15 -/* 046E3C 7F01230C 03E00008 */ jr $ra -/* 046E40 7F012310 016A1023 */ subu $v0, $t3, $t2 -.L7F012314: -/* 046E44 7F012314 03E00008 */ jr $ra -/* 046E48 7F012318 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 sub_GAME_7F01231C(s32 arg0, s32 arg1, ? arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) -{ - s32 spD4; - s32 spD0; - s32 spCC; - s32 sp58; - s32 sp54; - s32 sp50; - s32 temp_s1; - s32 temp_s4; - s32 temp_t2; - s32 temp_t2_2; - s32 temp_t3; - s32 temp_t3_2; - s32 temp_t5; - s32 temp_t5_2; - s32 temp_t6; - s32 temp_t7; - s32 temp_t7_2; - s32 temp_t8; - s32 temp_t9; - void *temp_s0; - void *temp_s2; - void *temp_s5; - s32 phi_s1; - s32 phi_s4; - s32 phi_s3; - void *phi_s0; - s32 phi_s2; - s8 phi_v0; - - spD4 = sub_GAME_7F0BD6E0(); - spD0 = sub_GAME_7F0BD6E0(); - spCC = sub_GAME_7F0BD6C4(0x10); - arg0 = microcode_constructor(arg0); - guOrtho(spD4, 0, 0x43dc0000, 0, 330.0f, 1.0f, 10.0f, 1.0f); - guRotate(spD0, 0x40490fdb, 0x3f800000, 0.0f, 0.0f); - sp54 = (s32) (0x14a - arg4); - sp50 = (s32) (arg6 + 0x2a); - sp58 = (s32) (arg6 + 0x23); - phi_s4 = 0; - phi_s0 = spCC; -loop_1: - phi_s1 = 0; -loop_2: - phi_s3 = phi_s1; - if (phi_s1 >= 2) - { - phi_s3 = phi_s1 + -1; - } - phi_s2 = phi_s4; - if (phi_s4 >= 2) - { - phi_s2 = phi_s4 + -1; - } - if ((get_players_who_have_selected_mp_char(arg5) != 0) && (arg6 == 0)) - { - phi_v0 = (u8)0x6e; - } - else - { - phi_v0 = (u8)0xff; - } - phi_s0->unk0 = (s16) (((phi_s3 + -1) * sp58) + arg3); - phi_s0->unk4 = (u16)-5; - phi_s0->unk6 = (u16)0; - phi_s0->unk2 = (s16) ((sp54 + ((phi_s2 + -1) * sp50)) + arg6); - if ((phi_s1 & 1) != 0) - { - phi_s0->unk8 = (u16)0x1000; - } - else - { - phi_s0->unk8 = (u16)0; - } - if ((phi_s4 & 1) != 0) - { - phi_s0->unkA = (u16)0x1000; - } - else - { - phi_s0->unkA = (u16)0; - } - phi_s0->unkC = (s8) phi_v0; - phi_s0->unkD = (s8) phi_v0; - phi_s0->unkE = (s8) phi_v0; - if (arg6 == 0) - { - phi_s0->unkF = sub_GAME_7F0122A8(phi_s0->unk0, arg1, arg2); - } - else - { - phi_s0->unkF = (u8)0xff; - } - temp_s1 = phi_s1 + 1; - temp_s0 = phi_s0 + 0x10; - phi_s1 = temp_s1; - phi_s0 = temp_s0; - if (temp_s1 != 4) - { - goto loop_2; - } - temp_s4 = phi_s4 + 1; - phi_s4 = temp_s4; - phi_s0 = temp_s0; - if (temp_s4 != 4) - { - goto loop_1; - } - temp_t9 = arg0; - arg0 = (s32) (temp_t9 + 8); - temp_t9->unk0 = 0x1030040; - temp_t9->unk4 = (s32) (spD4 + 0x80000000); - temp_t6 = arg0; - arg0 = (s32) (temp_t6 + 8); - temp_t6->unk0 = 0x1020040; - temp_t6->unk4 = (s32) (spD0 + 0x80000000); - temp_t2 = arg0; - arg0 = (s32) (temp_t2 + 8); - temp_t2->unk0 = 0x4f00100; - temp_t2->unk4 = spCC; - temp_s5 = &arg0; - temp_s2 = (arg5 * 0xc) + &mp_chr_setup; - likely_generate_DL_for_image_declaration(temp_s5, (((temp_s2->unk3 * 4) * 0xc) + mpcharselimages) + 0x18, 2, 0, 2); - temp_t8 = arg0; - arg0 = (s32) (temp_t8 + 8); - temp_t8->unk4 = 0xa28; - temp_t8->unk0 = 0xbf000000; - temp_t3 = arg0; - arg0 = (s32) (temp_t3 + 8); - temp_t3->unk4 = 0x280a32; - temp_t3->unk0 = 0xbf000000; - likely_generate_DL_for_image_declaration(temp_s5, (((temp_s2->unk3 * 4) * 0xc) + mpcharselimages) + 0x24, 2, 0, 2); - temp_t3_2 = arg0; - arg0 = (s32) (temp_t3_2 + 8); - temp_t3_2->unk4 = 0x141e3c; - temp_t3_2->unk0 = 0xbf000000; - temp_t5 = arg0; - arg0 = (s32) (temp_t5 + 8); - temp_t5->unk4 = 0x3c1e46; - temp_t5->unk0 = 0xbf000000; - likely_generate_DL_for_image_declaration(temp_s5, ((temp_s2->unk3 * 4) * 0xc) + mpcharselimages, 2, 0, 2); - temp_t5_2 = arg0; - arg0 = (s32) (temp_t5_2 + 8); - temp_t5_2->unk4 = 0x505a78; - temp_t5_2->unk0 = 0xbf000000; - temp_t7 = arg0; - arg0 = (s32) (temp_t7 + 8); - temp_t7->unk4 = 0x785a82; - temp_t7->unk0 = 0xbf000000; - likely_generate_DL_for_image_declaration(temp_s5, (((temp_s2->unk3 * 4) * 0xc) + mpcharselimages) + 0xc, 2, 0, 2); - temp_t7_2 = arg0; - arg0 = (s32) (temp_t7_2 + 8); - temp_t7_2->unk4 = 0x646e8c; - temp_t7_2->unk0 = 0xbf000000; - temp_t2_2 = arg0; - arg0 = (s32) (temp_t2_2 + 8); - temp_t2_2->unk4 = 0x8c6e96; - temp_t2_2->unk0 = 0xbf000000; - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01231C -/* 046E4C 7F01231C 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 046E50 7F012320 AFBF004C */ sw $ra, 0x4c($sp) -/* 046E54 7F012324 AFBE0048 */ sw $fp, 0x48($sp) -/* 046E58 7F012328 AFB70044 */ sw $s7, 0x44($sp) -/* 046E5C 7F01232C AFB60040 */ sw $s6, 0x40($sp) -/* 046E60 7F012330 AFB5003C */ sw $s5, 0x3c($sp) -/* 046E64 7F012334 AFB40038 */ sw $s4, 0x38($sp) -/* 046E68 7F012338 AFB30034 */ sw $s3, 0x34($sp) -/* 046E6C 7F01233C AFB20030 */ sw $s2, 0x30($sp) -/* 046E70 7F012340 AFB1002C */ sw $s1, 0x2c($sp) -/* 046E74 7F012344 AFB00028 */ sw $s0, 0x28($sp) -/* 046E78 7F012348 AFA400D8 */ sw $a0, 0xd8($sp) -/* 046E7C 7F01234C AFA500DC */ sw $a1, 0xdc($sp) -/* 046E80 7F012350 AFA600E0 */ sw $a2, 0xe0($sp) -/* 046E84 7F012354 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 046E88 7F012358 AFA700E4 */ sw $a3, 0xe4($sp) -/* 046E8C 7F01235C 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 046E90 7F012360 AFA200D4 */ sw $v0, 0xd4($sp) -/* 046E94 7F012364 AFA200D0 */ sw $v0, 0xd0($sp) -/* 046E98 7F012368 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 046E9C 7F01236C 24040010 */ li $a0, 16 -/* 046EA0 7F012370 AFA200CC */ sw $v0, 0xcc($sp) -/* 046EA4 7F012374 0FC2B366 */ jal microcode_constructor -/* 046EA8 7F012378 8FA400D8 */ lw $a0, 0xd8($sp) -/* 046EAC 7F01237C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 046EB0 7F012380 44811000 */ mtc1 $at, $f2 -/* 046EB4 7F012384 44800000 */ mtc1 $zero, $f0 -/* 046EB8 7F012388 3C0143A5 */ li $at, 0x43A50000 # 330.000000 -/* 046EBC 7F01238C 44812000 */ mtc1 $at, $f4 -/* 046EC0 7F012390 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 046EC4 7F012394 44813000 */ mtc1 $at, $f6 -/* 046EC8 7F012398 44050000 */ mfc1 $a1, $f0 -/* 046ECC 7F01239C 44070000 */ mfc1 $a3, $f0 -/* 046ED0 7F0123A0 AFA200D8 */ sw $v0, 0xd8($sp) -/* 046ED4 7F0123A4 8FA400D4 */ lw $a0, 0xd4($sp) -/* 046ED8 7F0123A8 3C0643DC */ lui $a2, 0x43dc -/* 046EDC 7F0123AC E7A20014 */ swc1 $f2, 0x14($sp) -/* 046EE0 7F0123B0 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 046EE4 7F0123B4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 046EE8 7F0123B8 0C005AF1 */ jal guOrtho -/* 046EEC 7F0123BC E7A60018 */ swc1 $f6, 0x18($sp) -/* 046EF0 7F0123C0 44800000 */ mtc1 $zero, $f0 -/* 046EF4 7F0123C4 3C054049 */ lui $a1, (0x40490FDB >> 16) # lui $a1, 0x4049 -/* 046EF8 7F0123C8 34A50FDB */ ori $a1, (0x40490FDB & 0xFFFF) # ori $a1, $a1, 0xfdb -/* 046EFC 7F0123CC 44070000 */ mfc1 $a3, $f0 -/* 046F00 7F0123D0 8FA400D0 */ lw $a0, 0xd0($sp) -/* 046F04 7F0123D4 3C063F80 */ lui $a2, 0x3f80 -/* 046F08 7F0123D8 0C005E2D */ jal guRotate -/* 046F0C 7F0123DC E7A00010 */ swc1 $f0, 0x10($sp) -/* 046F10 7F0123E0 8FB500F0 */ lw $s5, 0xf0($sp) -/* 046F14 7F0123E4 8FAF00E8 */ lw $t7, 0xe8($sp) -/* 046F18 7F0123E8 2418014A */ li $t8, 330 -/* 046F1C 7F0123EC 26AE0023 */ addiu $t6, $s5, 0x23 -/* 046F20 7F0123F0 26AA002A */ addiu $t2, $s5, 0x2a -/* 046F24 7F0123F4 030FC823 */ subu $t9, $t8, $t7 -/* 046F28 7F0123F8 AFB90054 */ sw $t9, 0x54($sp) -/* 046F2C 7F0123FC AFAA0050 */ sw $t2, 0x50($sp) -/* 046F30 7F012400 AFAE0058 */ sw $t6, 0x58($sp) -/* 046F34 7F012404 0000A025 */ move $s4, $zero -/* 046F38 7F012408 8FB000CC */ lw $s0, 0xcc($sp) -/* 046F3C 7F01240C 241E0004 */ li $fp, 4 -/* 046F40 7F012410 24161000 */ li $s6, 4096 -/* 046F44 7F012414 00008825 */ move $s1, $zero -.L7F012418: -/* 046F48 7F012418 32970001 */ andi $s7, $s4, 1 -.L7F01241C: -/* 046F4C 7F01241C 2A210002 */ slti $at, $s1, 2 -/* 046F50 7F012420 14200003 */ bnez $at, .L7F012430 -/* 046F54 7F012424 02209825 */ move $s3, $s1 -/* 046F58 7F012428 10000001 */ b .L7F012430 -/* 046F5C 7F01242C 2633FFFF */ addiu $s3, $s1, -1 -.L7F012430: -/* 046F60 7F012430 2A810002 */ slti $at, $s4, 2 -/* 046F64 7F012434 14200003 */ bnez $at, .L7F012444 -/* 046F68 7F012438 02809025 */ move $s2, $s4 -/* 046F6C 7F01243C 10000001 */ b .L7F012444 -/* 046F70 7F012440 2692FFFF */ addiu $s2, $s4, -1 -.L7F012444: -/* 046F74 7F012444 0FC046F6 */ jal get_players_who_have_selected_mp_char -/* 046F78 7F012448 8FA400EC */ lw $a0, 0xec($sp) -/* 046F7C 7F01244C 10400005 */ beqz $v0, .L7F012464 -/* 046F80 7F012450 8FAC0058 */ lw $t4, 0x58($sp) -/* 046F84 7F012454 56A00004 */ bnezl $s5, .L7F012468 -/* 046F88 7F012458 240200FF */ li $v0, 255 -/* 046F8C 7F01245C 10000002 */ b .L7F012468 -/* 046F90 7F012460 2402006E */ li $v0, 110 -.L7F012464: -/* 046F94 7F012464 240200FF */ li $v0, 255 -.L7F012468: -/* 046F98 7F012468 266BFFFF */ addiu $t3, $s3, -1 -/* 046F9C 7F01246C 016C0019 */ multu $t3, $t4 -/* 046FA0 7F012470 8FAE00E4 */ lw $t6, 0xe4($sp) -/* 046FA4 7F012474 264FFFFF */ addiu $t7, $s2, -1 -/* 046FA8 7F012478 00006812 */ mflo $t5 -/* 046FAC 7F01247C 01AEC021 */ addu $t8, $t5, $t6 -/* 046FB0 7F012480 A6180000 */ sh $t8, ($s0) -/* 046FB4 7F012484 8FB90050 */ lw $t9, 0x50($sp) -/* 046FB8 7F012488 8FAB0054 */ lw $t3, 0x54($sp) -/* 046FBC 7F01248C 240EFFFB */ li $t6, -5 -/* 046FC0 7F012490 01F90019 */ multu $t7, $t9 -/* 046FC4 7F012494 32380001 */ andi $t8, $s1, 1 -/* 046FC8 7F012498 A60E0004 */ sh $t6, 4($s0) -/* 046FCC 7F01249C A6000006 */ sh $zero, 6($s0) -/* 046FD0 7F0124A0 240F00FF */ li $t7, 255 -/* 046FD4 7F0124A4 00005012 */ mflo $t2 -/* 046FD8 7F0124A8 016A6021 */ addu $t4, $t3, $t2 -/* 046FDC 7F0124AC 01956821 */ addu $t5, $t4, $s5 -/* 046FE0 7F0124B0 13000003 */ beqz $t8, .L7F0124C0 -/* 046FE4 7F0124B4 A60D0002 */ sh $t5, 2($s0) -/* 046FE8 7F0124B8 10000002 */ b .L7F0124C4 -/* 046FEC 7F0124BC A6160008 */ sh $s6, 8($s0) -.L7F0124C0: -/* 046FF0 7F0124C0 A6000008 */ sh $zero, 8($s0) -.L7F0124C4: -/* 046FF4 7F0124C4 52E00004 */ beql $s7, $zero, .L7F0124D8 -/* 046FF8 7F0124C8 A600000A */ sh $zero, 0xa($s0) -/* 046FFC 7F0124CC 10000002 */ b .L7F0124D8 -/* 047000 7F0124D0 A616000A */ sh $s6, 0xa($s0) -/* 047004 7F0124D4 A600000A */ sh $zero, 0xa($s0) -.L7F0124D8: -/* 047008 7F0124D8 A202000C */ sb $v0, 0xc($s0) -/* 04700C 7F0124DC A202000D */ sb $v0, 0xd($s0) -/* 047010 7F0124E0 16A00007 */ bnez $s5, .L7F012500 -/* 047014 7F0124E4 A202000E */ sb $v0, 0xe($s0) -/* 047018 7F0124E8 86040000 */ lh $a0, ($s0) -/* 04701C 7F0124EC 8FA500DC */ lw $a1, 0xdc($sp) -/* 047020 7F0124F0 0FC048AA */ jal sub_GAME_7F0122A8 -/* 047024 7F0124F4 8FA600E0 */ lw $a2, 0xe0($sp) -/* 047028 7F0124F8 10000002 */ b .L7F012504 -/* 04702C 7F0124FC A202000F */ sb $v0, 0xf($s0) -.L7F012500: -/* 047030 7F012500 A20F000F */ sb $t7, 0xf($s0) -.L7F012504: -/* 047034 7F012504 26310001 */ addiu $s1, $s1, 1 -/* 047038 7F012508 163EFFC4 */ bne $s1, $fp, .L7F01241C -/* 04703C 7F01250C 26100010 */ addiu $s0, $s0, 0x10 -/* 047040 7F012510 26940001 */ addiu $s4, $s4, 1 -/* 047044 7F012514 569EFFC0 */ bnel $s4, $fp, .L7F012418 -/* 047048 7F012518 00008825 */ move $s1, $zero -/* 04704C 7F01251C 8FB900D8 */ lw $t9, 0xd8($sp) -/* 047050 7F012520 3C0A0103 */ lui $t2, (0x01030040 >> 16) # lui $t2, 0x103 -/* 047054 7F012524 354A0040 */ ori $t2, (0x01030040 & 0xFFFF) # ori $t2, $t2, 0x40 -/* 047058 7F012528 272B0008 */ addiu $t3, $t9, 8 -/* 04705C 7F01252C AFAB00D8 */ sw $t3, 0xd8($sp) -/* 047060 7F012530 AF2A0000 */ sw $t2, ($t9) -/* 047064 7F012534 8FAC00D4 */ lw $t4, 0xd4($sp) -/* 047068 7F012538 3C098000 */ lui $t1, 0x8000 -/* 04706C 7F01253C 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102 -/* 047070 7F012540 01896821 */ addu $t5, $t4, $t1 -/* 047074 7F012544 AF2D0004 */ sw $t5, 4($t9) -/* 047078 7F012548 8FAE00D8 */ lw $t6, 0xd8($sp) -/* 04707C 7F01254C 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 047080 7F012550 3C0D04F0 */ lui $t5, (0x04F00100 >> 16) # lui $t5, 0x4f0 -/* 047084 7F012554 25D80008 */ addiu $t8, $t6, 8 -/* 047088 7F012558 AFB800D8 */ sw $t8, 0xd8($sp) -/* 04708C 7F01255C ADCF0000 */ sw $t7, ($t6) -/* 047090 7F012560 8FB900D0 */ lw $t9, 0xd0($sp) -/* 047094 7F012564 35AD0100 */ ori $t5, (0x04F00100 & 0xFFFF) # ori $t5, $t5, 0x100 -/* 047098 7F012568 2413000C */ li $s3, 12 -/* 04709C 7F01256C 03295821 */ addu $t3, $t9, $t1 -/* 0470A0 7F012570 ADCB0004 */ sw $t3, 4($t6) -/* 0470A4 7F012574 8FAA00D8 */ lw $t2, 0xd8($sp) -/* 0470A8 7F012578 3C198003 */ lui $t9, %hi(mp_chr_setup) -/* 0470AC 7F01257C 2739B198 */ addiu $t9, %lo(mp_chr_setup) # addiu $t9, $t9, -0x4e68 -/* 0470B0 7F012580 254C0008 */ addiu $t4, $t2, 8 -/* 0470B4 7F012584 AFAC00D8 */ sw $t4, 0xd8($sp) -/* 0470B8 7F012588 AD4D0000 */ sw $t5, ($t2) -/* 0470BC 7F01258C 8FAE00CC */ lw $t6, 0xcc($sp) -/* 0470C0 7F012590 3C148009 */ lui $s4, %hi(mpcharselimages) -/* 0470C4 7F012594 2694D130 */ addiu $s4, %lo(mpcharselimages) # addiu $s4, $s4, -0x2ed0 -/* 0470C8 7F012598 AD4E0004 */ sw $t6, 4($t2) -/* 0470CC 7F01259C 8FB800EC */ lw $t8, 0xec($sp) -/* 0470D0 7F0125A0 8E8D0000 */ lw $t5, ($s4) -/* 0470D4 7F0125A4 27B500D8 */ addiu $s5, $sp, 0xd8 -/* 0470D8 7F0125A8 03130019 */ multu $t8, $s3 -/* 0470DC 7F0125AC 240E0002 */ li $t6, 2 -/* 0470E0 7F0125B0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0470E4 7F0125B4 02A02025 */ move $a0, $s5 -/* 0470E8 7F0125B8 24060002 */ li $a2, 2 -/* 0470EC 7F0125BC 00003825 */ move $a3, $zero -/* 0470F0 7F0125C0 00007812 */ mflo $t7 -/* 0470F4 7F0125C4 01F99021 */ addu $s2, $t7, $t9 -/* 0470F8 7F0125C8 924B0003 */ lbu $t3, 3($s2) -/* 0470FC 7F0125CC 000B5080 */ sll $t2, $t3, 2 -/* 047100 7F0125D0 01530019 */ multu $t2, $s3 -/* 047104 7F0125D4 00006012 */ mflo $t4 -/* 047108 7F0125D8 018D8021 */ addu $s0, $t4, $t5 -/* 04710C 7F0125DC 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 047110 7F0125E0 26050018 */ addiu $a1, $s0, 0x18 -/* 047114 7F0125E4 8FB800D8 */ lw $t8, 0xd8($sp) -/* 047118 7F0125E8 3C11BF00 */ lui $s1, 0xbf00 -/* 04711C 7F0125EC 24190A28 */ li $t9, 2600 -/* 047120 7F0125F0 270F0008 */ addiu $t7, $t8, 8 -/* 047124 7F0125F4 AFAF00D8 */ sw $t7, 0xd8($sp) -/* 047128 7F0125F8 AF190004 */ sw $t9, 4($t8) -/* 04712C 7F0125FC AF110000 */ sw $s1, ($t8) -/* 047130 7F012600 8FAB00D8 */ lw $t3, 0xd8($sp) -/* 047134 7F012604 3C0C0028 */ lui $t4, (0x00280A32 >> 16) # lui $t4, 0x28 -/* 047138 7F012608 358C0A32 */ ori $t4, (0x00280A32 & 0xFFFF) # ori $t4, $t4, 0xa32 -/* 04713C 7F01260C 256A0008 */ addiu $t2, $t3, 8 -/* 047140 7F012610 AFAA00D8 */ sw $t2, 0xd8($sp) -/* 047144 7F012614 AD6C0004 */ sw $t4, 4($t3) -/* 047148 7F012618 AD710000 */ sw $s1, ($t3) -/* 04714C 7F01261C 924D0003 */ lbu $t5, 3($s2) -/* 047150 7F012620 8E8F0000 */ lw $t7, ($s4) -/* 047154 7F012624 24190002 */ li $t9, 2 -/* 047158 7F012628 000D7080 */ sll $t6, $t5, 2 -/* 04715C 7F01262C 01D30019 */ multu $t6, $s3 -/* 047160 7F012630 AFB90010 */ sw $t9, 0x10($sp) -/* 047164 7F012634 02A02025 */ move $a0, $s5 -/* 047168 7F012638 24060002 */ li $a2, 2 -/* 04716C 7F01263C 00003825 */ move $a3, $zero -/* 047170 7F012640 0000C012 */ mflo $t8 -/* 047174 7F012644 030F8021 */ addu $s0, $t8, $t7 -/* 047178 7F012648 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 04717C 7F01264C 26050024 */ addiu $a1, $s0, 0x24 -/* 047180 7F012650 8FAB00D8 */ lw $t3, 0xd8($sp) -/* 047184 7F012654 3C0C0014 */ lui $t4, (0x00141E3C >> 16) # lui $t4, 0x14 -/* 047188 7F012658 358C1E3C */ ori $t4, (0x00141E3C & 0xFFFF) # ori $t4, $t4, 0x1e3c -/* 04718C 7F01265C 256A0008 */ addiu $t2, $t3, 8 -/* 047190 7F012660 AFAA00D8 */ sw $t2, 0xd8($sp) -/* 047194 7F012664 AD6C0004 */ sw $t4, 4($t3) -/* 047198 7F012668 AD710000 */ sw $s1, ($t3) -/* 04719C 7F01266C 8FAD00D8 */ lw $t5, 0xd8($sp) -/* 0471A0 7F012670 3C18003C */ lui $t8, (0x003C1E46 >> 16) # lui $t8, 0x3c -/* 0471A4 7F012674 37181E46 */ ori $t8, (0x003C1E46 & 0xFFFF) # ori $t8, $t8, 0x1e46 -/* 0471A8 7F012678 25AE0008 */ addiu $t6, $t5, 8 -/* 0471AC 7F01267C AFAE00D8 */ sw $t6, 0xd8($sp) -/* 0471B0 7F012680 ADB80004 */ sw $t8, 4($t5) -/* 0471B4 7F012684 ADB10000 */ sw $s1, ($t5) -/* 0471B8 7F012688 924F0003 */ lbu $t7, 3($s2) -/* 0471BC 7F01268C 8E8A0000 */ lw $t2, ($s4) -/* 0471C0 7F012690 240C0002 */ li $t4, 2 -/* 0471C4 7F012694 000FC880 */ sll $t9, $t7, 2 -/* 0471C8 7F012698 03330019 */ multu $t9, $s3 -/* 0471CC 7F01269C AFAC0010 */ sw $t4, 0x10($sp) -/* 0471D0 7F0126A0 02A02025 */ move $a0, $s5 -/* 0471D4 7F0126A4 24060002 */ li $a2, 2 -/* 0471D8 7F0126A8 00003825 */ move $a3, $zero -/* 0471DC 7F0126AC 00005812 */ mflo $t3 -/* 0471E0 7F0126B0 016A2821 */ addu $a1, $t3, $t2 -/* 0471E4 7F0126B4 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0471E8 7F0126B8 00000000 */ nop -/* 0471EC 7F0126BC 8FAD00D8 */ lw $t5, 0xd8($sp) -/* 0471F0 7F0126C0 3C180050 */ lui $t8, (0x00505A78 >> 16) # lui $t8, 0x50 -/* 0471F4 7F0126C4 37185A78 */ ori $t8, (0x00505A78 & 0xFFFF) # ori $t8, $t8, 0x5a78 -/* 0471F8 7F0126C8 25AE0008 */ addiu $t6, $t5, 8 -/* 0471FC 7F0126CC AFAE00D8 */ sw $t6, 0xd8($sp) -/* 047200 7F0126D0 ADB80004 */ sw $t8, 4($t5) -/* 047204 7F0126D4 ADB10000 */ sw $s1, ($t5) -/* 047208 7F0126D8 8FAF00D8 */ lw $t7, 0xd8($sp) -/* 04720C 7F0126DC 3C0B0078 */ lui $t3, (0x00785A82 >> 16) # lui $t3, 0x78 -/* 047210 7F0126E0 356B5A82 */ ori $t3, (0x00785A82 & 0xFFFF) # ori $t3, $t3, 0x5a82 -/* 047214 7F0126E4 25F90008 */ addiu $t9, $t7, 8 -/* 047218 7F0126E8 AFB900D8 */ sw $t9, 0xd8($sp) -/* 04721C 7F0126EC ADEB0004 */ sw $t3, 4($t7) -/* 047220 7F0126F0 ADF10000 */ sw $s1, ($t7) -/* 047224 7F0126F4 924A0003 */ lbu $t2, 3($s2) -/* 047228 7F0126F8 8E8E0000 */ lw $t6, ($s4) -/* 04722C 7F0126FC 24180002 */ li $t8, 2 -/* 047230 7F012700 000A6080 */ sll $t4, $t2, 2 -/* 047234 7F012704 01930019 */ multu $t4, $s3 -/* 047238 7F012708 AFB80010 */ sw $t8, 0x10($sp) -/* 04723C 7F01270C 02A02025 */ move $a0, $s5 -/* 047240 7F012710 24060002 */ li $a2, 2 -/* 047244 7F012714 00003825 */ move $a3, $zero -/* 047248 7F012718 00006812 */ mflo $t5 -/* 04724C 7F01271C 01AE8021 */ addu $s0, $t5, $t6 -/* 047250 7F012720 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 047254 7F012724 2605000C */ addiu $a1, $s0, 0xc -/* 047258 7F012728 8FAF00D8 */ lw $t7, 0xd8($sp) -/* 04725C 7F01272C 3C0B0064 */ lui $t3, (0x00646E8C >> 16) # lui $t3, 0x64 -/* 047260 7F012730 356B6E8C */ ori $t3, (0x00646E8C & 0xFFFF) # ori $t3, $t3, 0x6e8c -/* 047264 7F012734 25F90008 */ addiu $t9, $t7, 8 -/* 047268 7F012738 AFB900D8 */ sw $t9, 0xd8($sp) -/* 04726C 7F01273C ADEB0004 */ sw $t3, 4($t7) -/* 047270 7F012740 ADF10000 */ sw $s1, ($t7) -/* 047274 7F012744 8FAA00D8 */ lw $t2, 0xd8($sp) -/* 047278 7F012748 3C0D008C */ lui $t5, (0x008C6E96 >> 16) # lui $t5, 0x8c -/* 04727C 7F01274C 35AD6E96 */ ori $t5, (0x008C6E96 & 0xFFFF) # ori $t5, $t5, 0x6e96 -/* 047280 7F012750 254C0008 */ addiu $t4, $t2, 8 -/* 047284 7F012754 AFAC00D8 */ sw $t4, 0xd8($sp) -/* 047288 7F012758 AD4D0004 */ sw $t5, 4($t2) -/* 04728C 7F01275C AD510000 */ sw $s1, ($t2) -/* 047290 7F012760 8FBF004C */ lw $ra, 0x4c($sp) -/* 047294 7F012764 8FBE0048 */ lw $fp, 0x48($sp) -/* 047298 7F012768 8FB70044 */ lw $s7, 0x44($sp) -/* 04729C 7F01276C 8FB60040 */ lw $s6, 0x40($sp) -/* 0472A0 7F012770 8FB5003C */ lw $s5, 0x3c($sp) -/* 0472A4 7F012774 8FB40038 */ lw $s4, 0x38($sp) -/* 0472A8 7F012778 8FB30034 */ lw $s3, 0x34($sp) -/* 0472AC 7F01277C 8FB20030 */ lw $s2, 0x30($sp) -/* 0472B0 7F012780 8FB1002C */ lw $s1, 0x2c($sp) -/* 0472B4 7F012784 8FB00028 */ lw $s0, 0x28($sp) -/* 0472B8 7F012788 8FA200D8 */ lw $v0, 0xd8($sp) -/* 0472BC 7F01278C 03E00008 */ jr $ra -/* 0472C0 7F012790 27BD00D8 */ addiu $sp, $sp, 0xd8 -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu0F_mpcharsel(s32 arg0) -{ - s32 spE4; - s32 spE0; - ? spBC; - s32 spB8; - s32 spB4; - ? spB0; - ? spA8; - s32 spA4; - s32 spA0; - s32 sp9C; - s32 sp8C; - void *sp88; - void *sp80; - void *sp74; - void *sp70; - s32 temp_ret; - s32 temp_ret_10; - s32 temp_ret_11; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_ret_4; - s32 temp_ret_5; - s32 temp_ret_6; - s32 temp_ret_7; - s32 temp_ret_8; - s32 temp_ret_9; - s32 temp_s1; - s32 temp_s1_2; - s32 temp_s1_3; - s32 temp_s3; - s32 temp_s4; - s32 temp_s6; - s32 temp_t7; - s32 temp_t9; - s32 phi_s2; - s32 phi_s7; - void *phi_v0; - s32 phi_s4; - s32 phi_s1; - s32 phi_s0; - s32 phi_s1_2; - s32 phi_s0_2; - s32 phi_s1_3; - s32 phi_s0_3; - s32 phi_s1_4; - s32 phi_s0_4; - s32 phi_v1; - s32 phi_s1_5; - s32 phi_s0_5; - s32 phi_v1_2; - s32 phi_s1_6; - s32 phi_s1_7; - s32 phi_v1_3; - s32 phi_v1_4; - - spE4 = get_selected_num_players(); - temp_ret = microcode_constructor_related_to_menus(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(arg0, 0, 0, 0)))), 0x26, 0xa9, 0x184, 0xab, 0x90); - temp_s1 = temp_ret; - phi_v0 = temp_ret; - phi_s1_7 = temp_s1; - if (spE4 >= 3) - { - temp_ret_2 = microcode_constructor_related_to_menus(temp_s1, 0xd4, 0x1e, 0xd6, 0x136, 0x80); - phi_v0 = temp_ret_2; - phi_s1_7 = temp_ret_2; - } - if (spE4 > 0) - { - sp88 = &has_selected_char_player1; - sp80 = &mp_char_cur_select_player1; - sp74 = &dword_CODE_bss_80069730; - sp70 = &mp_char_prev_select_player1; - spE0 = 0; -loop_4: - if (spE4 == 2) - { - if (spE0 > 0) - { - phi_s2 = 0x26; - phi_s7 = 0xaa; - phi_s4 = 0x15e; - } - else - { - phi_s2 = 0x26; - phi_s7 = 0 + 0x1e; - phi_s4 = 0x15e; - } - } - else - { - if (spE0 >= 2) - { - phi_v1_4 = 0x8c; - } - else - { - phi_v1_4 = 0; - } - if ((spE0 & 1) != 0) - { - phi_v1_3 = 0xaf; - } - else - { - phi_v1_3 = 0; - } - phi_s2 = phi_v1_3 + 0x26; - phi_s7 = phi_v1_4 + 0x1e; - phi_s4 = 0xaf; - } - temp_t7 = phi_s2 + phi_s4; - temp_s1_2 = phi_v0 + 8; - phi_v0->unk0 = (s32) (((((s32) ((f32) (phi_s2 + 6) * 4.0f) & 0xfff) << 0xc) | 0xed000000) | ((s32) ((f32) (phi_s7 + 5) * 4.0f) & 0xfff)); - sp8C = temp_t7; - phi_v0->unk4 = (s32) ((((s32) ((f32) (temp_t7 + -6) * 4.0f) & 0xfff) << 0xc) | ((s32) ((f32) (phi_s7 + 0x87) * 4.0f) & 0xfff)); - phi_s1 = temp_s1_2; - if (*sp88 == 0) - { - phi_s1 = temp_s1_2; - if (subroutine_arg0 == 0) - { - temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x55)); - sub_GAME_7F0AE98C(&spBC, &spB8, temp_ret_3, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - spB4 = (s32) ((((s32) phi_s4 >> 1) + phi_s2) - (spB8 >> 1)); - get_video2_settings_txtClipW(); - phi_s1 = write_text_at_abs_coord(microcode_constructor(temp_s1_2), &spB4, &spB0, temp_ret_3, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, get_video2_settings_txtClipH(), 0, 0); - } - } - temp_s6 = ((s32) phi_s4 >> 1) + phi_s2; - temp_ret_4 = get_textptr_for_textID((0x80030000 + (*sp80 * 0xc))->unk-4E68); - sub_GAME_7F0AE98C(&spA8, &spA4, temp_ret_4, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - sp9C = (s32) (phi_s7 + 0x78); - spA0 = (s32) (temp_s6 - (spA4 >> 1)); - get_video2_settings_txtClipW(); - temp_s3 = phi_s2 + 0xd; - temp_s4 = sp8C + -0xe; - temp_ret_5 = sub_GAME_7F01231C(write_text_at_abs_coord(microcode_constructor(phi_s1), &spA0, &sp9C, temp_ret_4, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, get_video2_settings_txtClipH(), 0, 0), temp_s3, temp_s4, temp_s6 - *sp74, (?32) *sp70, (?32) subroutine_arg0); - temp_s1_3 = temp_ret_5; - if ((*sp88 != 0) || (subroutine_arg0 != 0)) - { - phi_v0 = temp_ret_5; - phi_s1_7 = temp_s1_3; - if (*sp70 != *sp80) - { -block_21: - phi_s0 = *sp70; - phi_s1_2 = temp_s1_3; - phi_v0 = temp_ret_5; - if (*sp70 >= 3) - { - temp_ret_6 = sub_GAME_7F01231C(temp_s1_3, temp_s3, temp_s4, (temp_s6 - *sp74) + -0xfc, (s32) (*sp70 + -3), (?32) subroutine_arg0); - phi_s0 = *sp70; - phi_s1_2 = temp_ret_6; - phi_v0 = temp_ret_6; - } - phi_s0_2 = phi_s0; - phi_s1_3 = phi_s1_2; - if (phi_s0 >= 2) - { - temp_ret_7 = sub_GAME_7F01231C(phi_s1_2, temp_s3, temp_s4, (temp_s6 - *sp74) + -0xa8, (s32) (phi_s0 + -2), (?32) subroutine_arg0); - phi_s0_2 = *sp70; - phi_s1_3 = temp_ret_7; - phi_v0 = temp_ret_7; - } - phi_s0_3 = phi_s0_2; - phi_s1_4 = phi_s1_3; - if (phi_s0_2 > 0) - { - temp_ret_8 = sub_GAME_7F01231C(phi_s1_3, temp_s3, temp_s4, (temp_s6 - *sp74) + -0x54, (s32) (phi_s0_2 + -1), (?32) subroutine_arg0); - phi_s0_3 = *sp70; - phi_s1_4 = temp_ret_8; - phi_v0 = temp_ret_8; - } - phi_s0_4 = phi_s0_3; - phi_v1 = num_chars_selectable_mp; - phi_s1_5 = phi_s1_4; - if (phi_s0_3 < (num_chars_selectable_mp + -1)) - { - temp_ret_9 = sub_GAME_7F01231C(phi_s1_4, temp_s3, temp_s4, (temp_s6 - *sp74) + 0x54, (s32) (phi_s0_3 + 1), (?32) subroutine_arg0); - phi_s0_4 = *sp70; - phi_v1 = num_chars_selectable_mp; - phi_s1_5 = temp_ret_9; - phi_v0 = temp_ret_9; - } - phi_s0_5 = phi_s0_4; - phi_v1_2 = phi_v1; - phi_s1_6 = phi_s1_5; - if (phi_s0_4 < (phi_v1 + -2)) - { - temp_ret_10 = sub_GAME_7F01231C(phi_s1_5, temp_s3, temp_s4, (temp_s6 - *sp74) + 0xa8, (s32) (phi_s0_4 + 2), (?32) subroutine_arg0); - phi_s0_5 = *sp70; - phi_v1_2 = num_chars_selectable_mp; - phi_s1_6 = temp_ret_10; - phi_v0 = temp_ret_10; - } - phi_s1_7 = phi_s1_6; - if (phi_s0_5 < (phi_v1_2 + -3)) - { - temp_ret_11 = sub_GAME_7F01231C(phi_s1_6, temp_s3, temp_s4, (temp_s6 - *sp74) + 0xfc, (s32) (phi_s0_5 + 3), (?32) subroutine_arg0); - phi_v0 = temp_ret_11; - phi_s1_7 = temp_ret_11; - } - } - } - else - { - goto block_21; - } - temp_t9 = spE0 + 1; - sp70 = (void *) (sp70 + 4); - sp74 = (void *) (sp74 + 4); - sp80 = (void *) (sp80 + 4); - spE0 = temp_t9; - sp88 = (void *) (sp88 + 4); - if (temp_t9 != spE4) - { - goto loop_4; - } - } - combiner_bayer_lod_perspective(phi_s1_7); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu0F_mpcharsel -/* 0472C4 7F012794 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 0472C8 7F012798 AFBF0064 */ sw $ra, 0x64($sp) -/* 0472CC 7F01279C AFB10044 */ sw $s1, 0x44($sp) -/* 0472D0 7F0127A0 00808825 */ move $s1, $a0 -/* 0472D4 7F0127A4 AFBE0060 */ sw $fp, 0x60($sp) -/* 0472D8 7F0127A8 AFB7005C */ sw $s7, 0x5c($sp) -/* 0472DC 7F0127AC AFB60058 */ sw $s6, 0x58($sp) -/* 0472E0 7F0127B0 AFB50054 */ sw $s5, 0x54($sp) -/* 0472E4 7F0127B4 AFB40050 */ sw $s4, 0x50($sp) -/* 0472E8 7F0127B8 AFB3004C */ sw $s3, 0x4c($sp) -/* 0472EC 7F0127BC AFB20048 */ sw $s2, 0x48($sp) -/* 0472F0 7F0127C0 AFB00040 */ sw $s0, 0x40($sp) -/* 0472F4 7F0127C4 0FC040A4 */ jal get_selected_num_players -/* 0472F8 7F0127C8 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 0472FC 7F0127CC AFA200E4 */ sw $v0, 0xe4($sp) -/* 047300 7F0127D0 02202025 */ move $a0, $s1 -/* 047304 7F0127D4 00002825 */ move $a1, $zero -/* 047308 7F0127D8 00003025 */ move $a2, $zero -/* 04730C 7F0127DC 0C0011B4 */ jal set_setfillcolor -/* 047310 7F0127E0 00003825 */ move $a3, $zero -/* 047314 7F0127E4 0C000FBE */ jal insert_generic_fillrect -/* 047318 7F0127E8 00402025 */ move $a0, $v0 -/* 04731C 7F0127EC 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 047320 7F0127F0 00402025 */ move $a0, $v0 -/* 047324 7F0127F4 0FC2B366 */ jal microcode_constructor -/* 047328 7F0127F8 00402025 */ move $a0, $v0 -/* 04732C 7F0127FC 240E00AB */ li $t6, 171 -/* 047330 7F012800 240F0090 */ li $t7, 144 -/* 047334 7F012804 AFAF0014 */ sw $t7, 0x14($sp) -/* 047338 7F012808 AFAE0010 */ sw $t6, 0x10($sp) -/* 04733C 7F01280C 00402025 */ move $a0, $v0 -/* 047340 7F012810 24050026 */ li $a1, 38 -/* 047344 7F012814 240600A9 */ li $a2, 169 -/* 047348 7F012818 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04734C 7F01281C 24070184 */ li $a3, 388 -/* 047350 7F012820 8FA800E4 */ lw $t0, 0xe4($sp) -/* 047354 7F012824 00408825 */ move $s1, $v0 -/* 047358 7F012828 02202025 */ move $a0, $s1 -/* 04735C 7F01282C 29010003 */ slti $at, $t0, 3 -/* 047360 7F012830 1420000A */ bnez $at, .L7F01285C -/* 047364 7F012834 240500D4 */ li $a1, 212 -/* 047368 7F012838 24180136 */ li $t8, 310 -/* 04736C 7F01283C 24190080 */ li $t9, 128 -/* 047370 7F012840 AFB90014 */ sw $t9, 0x14($sp) -/* 047374 7F012844 AFB80010 */ sw $t8, 0x10($sp) -/* 047378 7F012848 2406001E */ li $a2, 30 -/* 04737C 7F01284C 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 047380 7F012850 240700D6 */ li $a3, 214 -/* 047384 7F012854 00408825 */ move $s1, $v0 -/* 047388 7F012858 8FA800E4 */ lw $t0, 0xe4($sp) -.L7F01285C: -/* 04738C 7F01285C 19000165 */ blez $t0, .L7F012DF4 -/* 047390 7F012860 3C098007 */ lui $t1, %hi(has_selected_char_player1) -/* 047394 7F012864 3C0A8007 */ lui $t2, %hi(mp_char_cur_select_player1) -/* 047398 7F012868 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80069730) -/* 04739C 7F01286C 3C0C8007 */ lui $t4, %hi(mp_char_prev_select_player1) -/* 0473A0 7F012870 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0473A4 7F012874 258C9720 */ addiu $t4, %lo(mp_char_prev_select_player1) # addiu $t4, $t4, -0x68e0 -/* 0473A8 7F012878 256B9730 */ addiu $t3, %lo(dword_CODE_bss_80069730) # addiu $t3, $t3, -0x68d0 -/* 0473AC 7F01287C 254A9710 */ addiu $t2, %lo(mp_char_cur_select_player1) # addiu $t2, $t2, -0x68f0 -/* 0473B0 7F012880 25299740 */ addiu $t1, %lo(has_selected_char_player1) # addiu $t1, $t1, -0x68c0 -/* 0473B4 7F012884 3C1E8007 */ lui $fp, %hi(size_mp_select_image_player1) -/* 0473B8 7F012888 4481A000 */ mtc1 $at, $f20 -/* 0473BC 7F01288C 27DE9750 */ addiu $fp, %lo(size_mp_select_image_player1) # addiu $fp, $fp, -0x68b0 -/* 0473C0 7F012890 AFA90088 */ sw $t1, 0x88($sp) -/* 0473C4 7F012894 AFAA0080 */ sw $t2, 0x80($sp) -/* 0473C8 7F012898 AFAB0074 */ sw $t3, 0x74($sp) -/* 0473CC 7F01289C AFAC0070 */ sw $t4, 0x70($sp) -/* 0473D0 7F0128A0 AFA000E0 */ sw $zero, 0xe0($sp) -.L7F0128A4: -/* 0473D4 7F0128A4 8FA800E4 */ lw $t0, 0xe4($sp) -/* 0473D8 7F0128A8 8FA400E0 */ lw $a0, 0xe0($sp) -/* 0473DC 7F0128AC 24010002 */ li $at, 2 -/* 0473E0 7F0128B0 15010009 */ bne $t0, $at, .L7F0128D8 -/* 0473E4 7F0128B4 308D0001 */ andi $t5, $a0, 1 -/* 0473E8 7F0128B8 24120026 */ li $s2, 38 -/* 0473EC 7F0128BC 18800003 */ blez $a0, .L7F0128CC -/* 0473F0 7F0128C0 2414015E */ li $s4, 350 -/* 0473F4 7F0128C4 10000010 */ b .L7F012908 -/* 0473F8 7F0128C8 241700AA */ li $s7, 170 -.L7F0128CC: -/* 0473FC 7F0128CC 00001825 */ move $v1, $zero -/* 047400 7F0128D0 1000000D */ b .L7F012908 -/* 047404 7F0128D4 2477001E */ addiu $s7, $v1, 0x1e -.L7F0128D8: -/* 047408 7F0128D8 28810002 */ slti $at, $a0, 2 -/* 04740C 7F0128DC 14200003 */ bnez $at, .L7F0128EC -/* 047410 7F0128E0 241400AF */ li $s4, 175 -/* 047414 7F0128E4 10000002 */ b .L7F0128F0 -/* 047418 7F0128E8 2403008C */ li $v1, 140 -.L7F0128EC: -/* 04741C 7F0128EC 00001825 */ move $v1, $zero -.L7F0128F0: -/* 047420 7F0128F0 11A00003 */ beqz $t5, .L7F012900 -/* 047424 7F0128F4 2477001E */ addiu $s7, $v1, 0x1e -/* 047428 7F0128F8 10000002 */ b .L7F012904 -/* 04742C 7F0128FC 240300AF */ li $v1, 175 -.L7F012900: -/* 047430 7F012900 00001825 */ move $v1, $zero -.L7F012904: -/* 047434 7F012904 24720026 */ addiu $s2, $v1, 0x26 -.L7F012908: -/* 047438 7F012908 264E0006 */ addiu $t6, $s2, 6 -/* 04743C 7F01290C 448E2000 */ mtc1 $t6, $f4 -/* 047440 7F012910 26F00005 */ addiu $s0, $s7, 5 -/* 047444 7F012914 44908000 */ mtc1 $s0, $f16 -/* 047448 7F012918 468021A0 */ cvt.s.w $f6, $f4 -/* 04744C 7F01291C 02547821 */ addu $t7, $s2, $s4 -/* 047450 7F012920 3C01ED00 */ lui $at, 0xed00 -/* 047454 7F012924 24510008 */ addiu $s1, $v0, 8 -/* 047458 7F012928 468084A0 */ cvt.s.w $f18, $f16 -/* 04745C 7F01292C 46143202 */ mul.s $f8, $f6, $f20 -/* 047460 7F012930 4600428D */ trunc.w.s $f10, $f8 -/* 047464 7F012934 46149102 */ mul.s $f4, $f18, $f20 -/* 047468 7F012938 44185000 */ mfc1 $t8, $f10 -/* 04746C 7F01293C 00000000 */ nop -/* 047470 7F012940 33190FFF */ andi $t9, $t8, 0xfff -/* 047474 7F012944 4600218D */ trunc.w.s $f6, $f4 -/* 047478 7F012948 00194B00 */ sll $t1, $t9, 0xc -/* 04747C 7F01294C 25F9FFFA */ addiu $t9, $t7, -6 -/* 047480 7F012950 44994000 */ mtc1 $t9, $f8 -/* 047484 7F012954 440C3000 */ mfc1 $t4, $f6 -/* 047488 7F012958 01215025 */ or $t2, $t1, $at -/* 04748C 7F01295C 468042A0 */ cvt.s.w $f10, $f8 -/* 047490 7F012960 318D0FFF */ andi $t5, $t4, 0xfff -/* 047494 7F012964 014D7025 */ or $t6, $t2, $t5 -/* 047498 7F012968 26ED0087 */ addiu $t5, $s7, 0x87 -/* 04749C 7F01296C 448D2000 */ mtc1 $t5, $f4 -/* 0474A0 7F012970 AC4E0000 */ sw $t6, ($v0) -/* 0474A4 7F012974 46145402 */ mul.s $f16, $f10, $f20 -/* 0474A8 7F012978 AFAF008C */ sw $t7, 0x8c($sp) -/* 0474AC 7F01297C 468021A0 */ cvt.s.w $f6, $f4 -/* 0474B0 7F012980 4600848D */ trunc.w.s $f18, $f16 -/* 0474B4 7F012984 46143202 */ mul.s $f8, $f6, $f20 -/* 0474B8 7F012988 440B9000 */ mfc1 $t3, $f18 -/* 0474BC 7F01298C 00000000 */ nop -/* 0474C0 7F012990 316C0FFF */ andi $t4, $t3, 0xfff -/* 0474C4 7F012994 4600428D */ trunc.w.s $f10, $f8 -/* 0474C8 7F012998 000C5300 */ sll $t2, $t4, 0xc -/* 0474CC 7F01299C 440F5000 */ mfc1 $t7, $f10 -/* 0474D0 7F0129A0 00000000 */ nop -/* 0474D4 7F0129A4 31F80FFF */ andi $t8, $t7, 0xfff -/* 0474D8 7F0129A8 0158C825 */ or $t9, $t2, $t8 -/* 0474DC 7F0129AC AC590004 */ sw $t9, 4($v0) -/* 0474E0 7F0129B0 8FA90088 */ lw $t1, 0x88($sp) -/* 0474E4 7F0129B4 AFA400E0 */ sw $a0, 0xe0($sp) -/* 0474E8 7F0129B8 8D2B0000 */ lw $t3, ($t1) -/* 0474EC 7F0129BC 55600034 */ bnezl $t3, .L7F012A90 -/* 0474F0 7F0129C0 8FAE0080 */ lw $t6, 0x80($sp) -/* 0474F4 7F0129C4 8FCC0000 */ lw $t4, ($fp) -/* 0474F8 7F0129C8 AFA400E0 */ sw $a0, 0xe0($sp) -/* 0474FC 7F0129CC 55800030 */ bnezl $t4, .L7F012A90 -/* 047500 7F0129D0 8FAE0080 */ lw $t6, 0x80($sp) -/* 047504 7F0129D4 0FC30776 */ jal get_textptr_for_textID -/* 047508 7F0129D8 34049C55 */ li $a0, 40021 -/* 04750C 7F0129DC 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 047510 7F0129E0 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 047514 7F0129E4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 047518 7F0129E8 00409825 */ move $s3, $v0 -/* 04751C 7F0129EC 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 047520 7F0129F0 27A400BC */ addiu $a0, $sp, 0xbc -/* 047524 7F0129F4 27A500B8 */ addiu $a1, $sp, 0xb8 -/* 047528 7F0129F8 00403025 */ move $a2, $v0 -/* 04752C 7F0129FC AFA00014 */ sw $zero, 0x14($sp) -/* 047530 7F012A00 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 047534 7F012A04 AFAD0010 */ sw $t5, 0x10($sp) -/* 047538 7F012A08 8FAA00B8 */ lw $t2, 0xb8($sp) -/* 04753C 7F012A0C 00147043 */ sra $t6, $s4, 1 -/* 047540 7F012A10 01D27821 */ addu $t7, $t6, $s2 -/* 047544 7F012A14 000AC043 */ sra $t8, $t2, 1 -/* 047548 7F012A18 01F8C823 */ subu $t9, $t7, $t8 -/* 04754C 7F012A1C AFB900B4 */ sw $t9, 0xb4($sp) -/* 047550 7F012A20 AFB000B0 */ sw $s0, 0xb0($sp) -/* 047554 7F012A24 0FC2B366 */ jal microcode_constructor -/* 047558 7F012A28 02202025 */ move $a0, $s1 -/* 04755C 7F012A2C 0C001107 */ jal get_video2_settings_txtClipW -/* 047560 7F012A30 00408825 */ move $s1, $v0 -/* 047564 7F012A34 00028400 */ sll $s0, $v0, 0x10 -/* 047568 7F012A38 00104C03 */ sra $t1, $s0, 0x10 -/* 04756C 7F012A3C 0C00110B */ jal get_video2_settings_txtClipH -/* 047570 7F012A40 01208025 */ move $s0, $t1 -/* 047574 7F012A44 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge) -/* 047578 7F012A48 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) -/* 04757C 7F012A4C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 047580 7F012A50 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3) -/* 047584 7F012A54 240D00FF */ li $t5, 255 -/* 047588 7F012A58 AFAD0018 */ sw $t5, 0x18($sp) -/* 04758C 7F012A5C 02202025 */ move $a0, $s1 -/* 047590 7F012A60 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 047594 7F012A64 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 047598 7F012A68 02603825 */ move $a3, $s3 -/* 04759C 7F012A6C AFB0001C */ sw $s0, 0x1c($sp) -/* 0475A0 7F012A70 AFA20020 */ sw $v0, 0x20($sp) -/* 0475A4 7F012A74 AFA00024 */ sw $zero, 0x24($sp) -/* 0475A8 7F012A78 AFA00028 */ sw $zero, 0x28($sp) -/* 0475AC 7F012A7C AFAC0014 */ sw $t4, 0x14($sp) -/* 0475B0 7F012A80 0FC025D8 */ jal write_text_at_abs_coord -/* 0475B4 7F012A84 AFAB0010 */ sw $t3, 0x10($sp) -/* 0475B8 7F012A88 00408825 */ move $s1, $v0 -/* 0475BC 7F012A8C 8FAE0080 */ lw $t6, 0x80($sp) -.L7F012A90: -/* 0475C0 7F012A90 3C048003 */ lui $a0, %hi(mp_chr_setup) -/* 0475C4 7F012A94 0014C043 */ sra $t8, $s4, 1 -/* 0475C8 7F012A98 8DCA0000 */ lw $t2, ($t6) -/* 0475CC 7F012A9C 0312B021 */ addu $s6, $t8, $s2 -/* 0475D0 7F012AA0 000A7880 */ sll $t7, $t2, 2 -/* 0475D4 7F012AA4 01EA7823 */ subu $t7, $t7, $t2 -/* 0475D8 7F012AA8 000F7880 */ sll $t7, $t7, 2 -/* 0475DC 7F012AAC 008F2021 */ addu $a0, $a0, $t7 -/* 0475E0 7F012AB0 0FC30776 */ jal get_textptr_for_textID -/* 0475E4 7F012AB4 9484B198 */ lhu $a0, %lo(mp_chr_setup)($a0) -/* 0475E8 7F012AB8 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 0475EC 7F012ABC 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 0475F0 7F012AC0 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 0475F4 7F012AC4 00409825 */ move $s3, $v0 -/* 0475F8 7F012AC8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 0475FC 7F012ACC 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 047600 7F012AD0 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 047604 7F012AD4 00403025 */ move $a2, $v0 -/* 047608 7F012AD8 AFA00014 */ sw $zero, 0x14($sp) -/* 04760C 7F012ADC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 047610 7F012AE0 AFB90010 */ sw $t9, 0x10($sp) -/* 047614 7F012AE4 8FA900A4 */ lw $t1, 0xa4($sp) -/* 047618 7F012AE8 26ED0078 */ addiu $t5, $s7, 0x78 -/* 04761C 7F012AEC AFAD009C */ sw $t5, 0x9c($sp) -/* 047620 7F012AF0 00095843 */ sra $t3, $t1, 1 -/* 047624 7F012AF4 02CB6023 */ subu $t4, $s6, $t3 -/* 047628 7F012AF8 AFAC00A0 */ sw $t4, 0xa0($sp) -/* 04762C 7F012AFC 0FC2B366 */ jal microcode_constructor -/* 047630 7F012B00 02202025 */ move $a0, $s1 -/* 047634 7F012B04 0C001107 */ jal get_video2_settings_txtClipW -/* 047638 7F012B08 00408825 */ move $s1, $v0 -/* 04763C 7F012B0C 00028400 */ sll $s0, $v0, 0x10 -/* 047640 7F012B10 00107403 */ sra $t6, $s0, 0x10 -/* 047644 7F012B14 0C00110B */ jal get_video2_settings_txtClipH -/* 047648 7F012B18 01C08025 */ move $s0, $t6 -/* 04764C 7F012B1C 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge) -/* 047650 7F012B20 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge) -/* 047654 7F012B24 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7) -/* 047658 7F012B28 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2) -/* 04765C 7F012B2C 241800FF */ li $t8, 255 -/* 047660 7F012B30 AFB80018 */ sw $t8, 0x18($sp) -/* 047664 7F012B34 02202025 */ move $a0, $s1 -/* 047668 7F012B38 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 04766C 7F012B3C 27A6009C */ addiu $a2, $sp, 0x9c -/* 047670 7F012B40 02603825 */ move $a3, $s3 -/* 047674 7F012B44 AFB0001C */ sw $s0, 0x1c($sp) -/* 047678 7F012B48 AFA20020 */ sw $v0, 0x20($sp) -/* 04767C 7F012B4C AFA00024 */ sw $zero, 0x24($sp) -/* 047680 7F012B50 AFA00028 */ sw $zero, 0x28($sp) -/* 047684 7F012B54 AFAF0014 */ sw $t7, 0x14($sp) -/* 047688 7F012B58 0FC025D8 */ jal write_text_at_abs_coord -/* 04768C 7F012B5C AFAA0010 */ sw $t2, 0x10($sp) -/* 047690 7F012B60 8FB90074 */ lw $t9, 0x74($sp) -/* 047694 7F012B64 8FAB0070 */ lw $t3, 0x70($sp) -/* 047698 7F012B68 8FB4008C */ lw $s4, 0x8c($sp) -/* 04769C 7F012B6C 8F290000 */ lw $t1, ($t9) -/* 0476A0 7F012B70 26F50046 */ addiu $s5, $s7, 0x46 -/* 0476A4 7F012B74 AFB50010 */ sw $s5, 0x10($sp) -/* 0476A8 7F012B78 8FCD0000 */ lw $t5, ($fp) -/* 0476AC 7F012B7C 8D6C0000 */ lw $t4, ($t3) -/* 0476B0 7F012B80 2653000D */ addiu $s3, $s2, 0xd -/* 0476B4 7F012B84 2694FFF2 */ addiu $s4, $s4, -0xe -/* 0476B8 7F012B88 02803025 */ move $a2, $s4 -/* 0476BC 7F012B8C 02602825 */ move $a1, $s3 -/* 0476C0 7F012B90 00402025 */ move $a0, $v0 -/* 0476C4 7F012B94 02C93823 */ subu $a3, $s6, $t1 -/* 0476C8 7F012B98 AFAD0018 */ sw $t5, 0x18($sp) -/* 0476CC 7F012B9C 0FC048C7 */ jal sub_GAME_7F01231C -/* 0476D0 7F012BA0 AFAC0014 */ sw $t4, 0x14($sp) -/* 0476D4 7F012BA4 8FAE0088 */ lw $t6, 0x88($sp) -/* 0476D8 7F012BA8 00408825 */ move $s1, $v0 -/* 0476DC 7F012BAC 8FB80070 */ lw $t8, 0x70($sp) -/* 0476E0 7F012BB0 8DCA0000 */ lw $t2, ($t6) -/* 0476E4 7F012BB4 8FA90080 */ lw $t1, 0x80($sp) -/* 0476E8 7F012BB8 55400005 */ bnezl $t2, .L7F012BD0 -/* 0476EC 7F012BBC 8F190000 */ lw $t9, ($t8) -/* 0476F0 7F012BC0 8FCF0000 */ lw $t7, ($fp) -/* 0476F4 7F012BC4 51E00006 */ beql $t7, $zero, .L7F012BE0 -/* 0476F8 7F012BC8 8FAC0070 */ lw $t4, 0x70($sp) -/* 0476FC 7F012BCC 8F190000 */ lw $t9, ($t8) -.L7F012BD0: -/* 047700 7F012BD0 8D2B0000 */ lw $t3, ($t1) -/* 047704 7F012BD4 532B0076 */ beql $t9, $t3, .L7F012DB0 -/* 047708 7F012BD8 8FAB0088 */ lw $t3, 0x88($sp) -/* 04770C 7F012BDC 8FAC0070 */ lw $t4, 0x70($sp) -.L7F012BE0: -/* 047710 7F012BE0 02202025 */ move $a0, $s1 -/* 047714 7F012BE4 02602825 */ move $a1, $s3 -/* 047718 7F012BE8 8D900000 */ lw $s0, ($t4) -/* 04771C 7F012BEC 02803025 */ move $a2, $s4 -/* 047720 7F012BF0 8FAD0074 */ lw $t5, 0x74($sp) -/* 047724 7F012BF4 2A010003 */ slti $at, $s0, 3 -/* 047728 7F012BF8 1420000C */ bnez $at, .L7F012C2C -/* 04772C 7F012BFC 260AFFFD */ addiu $t2, $s0, -3 -/* 047730 7F012C00 8DAE0000 */ lw $t6, ($t5) -/* 047734 7F012C04 8FCF0000 */ lw $t7, ($fp) -/* 047738 7F012C08 AFAA0014 */ sw $t2, 0x14($sp) -/* 04773C 7F012C0C 02CE3823 */ subu $a3, $s6, $t6 -/* 047740 7F012C10 24E7FF04 */ addiu $a3, $a3, -0xfc -/* 047744 7F012C14 AFB50010 */ sw $s5, 0x10($sp) -/* 047748 7F012C18 0FC048C7 */ jal sub_GAME_7F01231C -/* 04774C 7F012C1C AFAF0018 */ sw $t7, 0x18($sp) -/* 047750 7F012C20 8FB80070 */ lw $t8, 0x70($sp) -/* 047754 7F012C24 00408825 */ move $s1, $v0 -/* 047758 7F012C28 8F100000 */ lw $s0, ($t8) -.L7F012C2C: -/* 04775C 7F012C2C 2A010002 */ slti $at, $s0, 2 -/* 047760 7F012C30 14200010 */ bnez $at, .L7F012C74 -/* 047764 7F012C34 02202025 */ move $a0, $s1 -/* 047768 7F012C38 8FA90074 */ lw $t1, 0x74($sp) -/* 04776C 7F012C3C 8FCC0000 */ lw $t4, ($fp) -/* 047770 7F012C40 260BFFFE */ addiu $t3, $s0, -2 -/* 047774 7F012C44 8D390000 */ lw $t9, ($t1) -/* 047778 7F012C48 AFAB0014 */ sw $t3, 0x14($sp) -/* 04777C 7F012C4C AFB50010 */ sw $s5, 0x10($sp) -/* 047780 7F012C50 02D93823 */ subu $a3, $s6, $t9 -/* 047784 7F012C54 24E7FF58 */ addiu $a3, $a3, -0xa8 -/* 047788 7F012C58 02602825 */ move $a1, $s3 -/* 04778C 7F012C5C 02803025 */ move $a2, $s4 -/* 047790 7F012C60 0FC048C7 */ jal sub_GAME_7F01231C -/* 047794 7F012C64 AFAC0018 */ sw $t4, 0x18($sp) -/* 047798 7F012C68 8FAD0070 */ lw $t5, 0x70($sp) -/* 04779C 7F012C6C 00408825 */ move $s1, $v0 -/* 0477A0 7F012C70 8DB00000 */ lw $s0, ($t5) -.L7F012C74: -/* 0477A4 7F012C74 1A000010 */ blez $s0, .L7F012CB8 -/* 0477A8 7F012C78 02202025 */ move $a0, $s1 -/* 0477AC 7F012C7C 8FAE0074 */ lw $t6, 0x74($sp) -/* 0477B0 7F012C80 8FD80000 */ lw $t8, ($fp) -/* 0477B4 7F012C84 260FFFFF */ addiu $t7, $s0, -1 -/* 0477B8 7F012C88 8DCA0000 */ lw $t2, ($t6) -/* 0477BC 7F012C8C AFAF0014 */ sw $t7, 0x14($sp) -/* 0477C0 7F012C90 AFB50010 */ sw $s5, 0x10($sp) -/* 0477C4 7F012C94 02CA3823 */ subu $a3, $s6, $t2 -/* 0477C8 7F012C98 24E7FFAC */ addiu $a3, $a3, -0x54 -/* 0477CC 7F012C9C 02602825 */ move $a1, $s3 -/* 0477D0 7F012CA0 02803025 */ move $a2, $s4 -/* 0477D4 7F012CA4 0FC048C7 */ jal sub_GAME_7F01231C -/* 0477D8 7F012CA8 AFB80018 */ sw $t8, 0x18($sp) -/* 0477DC 7F012CAC 8FA90070 */ lw $t1, 0x70($sp) -/* 0477E0 7F012CB0 00408825 */ move $s1, $v0 -/* 0477E4 7F012CB4 8D300000 */ lw $s0, ($t1) -.L7F012CB8: -/* 0477E8 7F012CB8 3C038003 */ lui $v1, %hi(num_chars_selectable_mp) -/* 0477EC 7F012CBC 8C63B194 */ lw $v1, %lo(num_chars_selectable_mp)($v1) -/* 0477F0 7F012CC0 02202025 */ move $a0, $s1 -/* 0477F4 7F012CC4 02602825 */ move $a1, $s3 -/* 0477F8 7F012CC8 2479FFFF */ addiu $t9, $v1, -1 -/* 0477FC 7F012CCC 0219082A */ slt $at, $s0, $t9 -/* 047800 7F012CD0 10200010 */ beqz $at, .L7F012D14 -/* 047804 7F012CD4 02803025 */ move $a2, $s4 -/* 047808 7F012CD8 8FAB0074 */ lw $t3, 0x74($sp) -/* 04780C 7F012CDC 8FCE0000 */ lw $t6, ($fp) -/* 047810 7F012CE0 260D0001 */ addiu $t5, $s0, 1 -/* 047814 7F012CE4 8D6C0000 */ lw $t4, ($t3) -/* 047818 7F012CE8 AFAD0014 */ sw $t5, 0x14($sp) -/* 04781C 7F012CEC AFB50010 */ sw $s5, 0x10($sp) -/* 047820 7F012CF0 02CC3823 */ subu $a3, $s6, $t4 -/* 047824 7F012CF4 24E70054 */ addiu $a3, $a3, 0x54 -/* 047828 7F012CF8 0FC048C7 */ jal sub_GAME_7F01231C -/* 04782C 7F012CFC AFAE0018 */ sw $t6, 0x18($sp) -/* 047830 7F012D00 8FAA0070 */ lw $t2, 0x70($sp) -/* 047834 7F012D04 3C038003 */ lui $v1, %hi(num_chars_selectable_mp) -/* 047838 7F012D08 8C63B194 */ lw $v1, %lo(num_chars_selectable_mp)($v1) -/* 04783C 7F012D0C 00408825 */ move $s1, $v0 -/* 047840 7F012D10 8D500000 */ lw $s0, ($t2) -.L7F012D14: -/* 047844 7F012D14 246FFFFE */ addiu $t7, $v1, -2 -/* 047848 7F012D18 020F082A */ slt $at, $s0, $t7 -/* 04784C 7F012D1C 10200012 */ beqz $at, .L7F012D68 -/* 047850 7F012D20 02202025 */ move $a0, $s1 -/* 047854 7F012D24 8FB80074 */ lw $t8, 0x74($sp) -/* 047858 7F012D28 8FCB0000 */ lw $t3, ($fp) -/* 04785C 7F012D2C 26190002 */ addiu $t9, $s0, 2 -/* 047860 7F012D30 8F090000 */ lw $t1, ($t8) -/* 047864 7F012D34 AFB90014 */ sw $t9, 0x14($sp) -/* 047868 7F012D38 AFB50010 */ sw $s5, 0x10($sp) -/* 04786C 7F012D3C 02C93823 */ subu $a3, $s6, $t1 -/* 047870 7F012D40 24E700A8 */ addiu $a3, $a3, 0xa8 -/* 047874 7F012D44 02602825 */ move $a1, $s3 -/* 047878 7F012D48 02803025 */ move $a2, $s4 -/* 04787C 7F012D4C 0FC048C7 */ jal sub_GAME_7F01231C -/* 047880 7F012D50 AFAB0018 */ sw $t3, 0x18($sp) -/* 047884 7F012D54 8FAC0070 */ lw $t4, 0x70($sp) -/* 047888 7F012D58 3C038003 */ lui $v1, %hi(num_chars_selectable_mp) -/* 04788C 7F012D5C 8C63B194 */ lw $v1, %lo(num_chars_selectable_mp)($v1) -/* 047890 7F012D60 00408825 */ move $s1, $v0 -/* 047894 7F012D64 8D900000 */ lw $s0, ($t4) -.L7F012D68: -/* 047898 7F012D68 246DFFFD */ addiu $t5, $v1, -3 -/* 04789C 7F012D6C 020D082A */ slt $at, $s0, $t5 -/* 0478A0 7F012D70 1020000E */ beqz $at, .L7F012DAC -/* 0478A4 7F012D74 02202025 */ move $a0, $s1 -/* 0478A8 7F012D78 8FAE0074 */ lw $t6, 0x74($sp) -/* 0478AC 7F012D7C 8FD80000 */ lw $t8, ($fp) -/* 0478B0 7F012D80 260F0003 */ addiu $t7, $s0, 3 -/* 0478B4 7F012D84 8DCA0000 */ lw $t2, ($t6) -/* 0478B8 7F012D88 AFAF0014 */ sw $t7, 0x14($sp) -/* 0478BC 7F012D8C AFB50010 */ sw $s5, 0x10($sp) -/* 0478C0 7F012D90 02CA3823 */ subu $a3, $s6, $t2 -/* 0478C4 7F012D94 24E700FC */ addiu $a3, $a3, 0xfc -/* 0478C8 7F012D98 02602825 */ move $a1, $s3 -/* 0478CC 7F012D9C 02803025 */ move $a2, $s4 -/* 0478D0 7F012DA0 0FC048C7 */ jal sub_GAME_7F01231C -/* 0478D4 7F012DA4 AFB80018 */ sw $t8, 0x18($sp) -/* 0478D8 7F012DA8 00408825 */ move $s1, $v0 -.L7F012DAC: -/* 0478DC 7F012DAC 8FAB0088 */ lw $t3, 0x88($sp) -.L7F012DB0: -/* 0478E0 7F012DB0 8FA900E0 */ lw $t1, 0xe0($sp) -/* 0478E4 7F012DB4 8FAD0080 */ lw $t5, 0x80($sp) -/* 0478E8 7F012DB8 8FAA0074 */ lw $t2, 0x74($sp) -/* 0478EC 7F012DBC 8FB80070 */ lw $t8, 0x70($sp) -/* 0478F0 7F012DC0 256C0004 */ addiu $t4, $t3, 4 -/* 0478F4 7F012DC4 8FAB00E4 */ lw $t3, 0xe4($sp) -/* 0478F8 7F012DC8 25390001 */ addiu $t9, $t1, 1 -/* 0478FC 7F012DCC 25AE0004 */ addiu $t6, $t5, 4 -/* 047900 7F012DD0 254F0004 */ addiu $t7, $t2, 4 -/* 047904 7F012DD4 27090004 */ addiu $t1, $t8, 4 -/* 047908 7F012DD8 AFA90070 */ sw $t1, 0x70($sp) -/* 04790C 7F012DDC AFAF0074 */ sw $t7, 0x74($sp) -/* 047910 7F012DE0 AFAE0080 */ sw $t6, 0x80($sp) -/* 047914 7F012DE4 AFB900E0 */ sw $t9, 0xe0($sp) -/* 047918 7F012DE8 AFAC0088 */ sw $t4, 0x88($sp) -/* 04791C 7F012DEC 172BFEAD */ bne $t9, $t3, .L7F0128A4 -/* 047920 7F012DF0 27DE0004 */ addiu $fp, $fp, 4 -.L7F012DF4: -/* 047924 7F012DF4 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 047928 7F012DF8 02202025 */ move $a0, $s1 -/* 04792C 7F012DFC 8FBF0064 */ lw $ra, 0x64($sp) -/* 047930 7F012E00 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 047934 7F012E04 8FB00040 */ lw $s0, 0x40($sp) -/* 047938 7F012E08 8FB10044 */ lw $s1, 0x44($sp) -/* 04793C 7F012E0C 8FB20048 */ lw $s2, 0x48($sp) -/* 047940 7F012E10 8FB3004C */ lw $s3, 0x4c($sp) -/* 047944 7F012E14 8FB40050 */ lw $s4, 0x50($sp) -/* 047948 7F012E18 8FB50054 */ lw $s5, 0x54($sp) -/* 04794C 7F012E1C 8FB60058 */ lw $s6, 0x58($sp) -/* 047950 7F012E20 8FB7005C */ lw $s7, 0x5c($sp) -/* 047954 7F012E24 8FBE0060 */ lw $fp, 0x60($sp) -/* 047958 7F012E28 03E00008 */ jr $ra -/* 04795C 7F012E2C 27BD00E8 */ addiu $sp, $sp, 0xe8 -) -#endif - - - -void init_menu10_mphandicap(void) -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - has_selected_char_player1 = FALSE; - dword_CODE_bss_80069760 = 0; - has_selected_char_player2 = FALSE; - dword_CODE_bss_80069764 = 0; - has_selected_char_player3 = FALSE; - dword_CODE_bss_80069768 = 0; - has_selected_char_player4 = FALSE; - dword_CODE_bss_8006976C = 0; - load_walletbond(); -} - -void update_menu10_mphandicap(void) { - return; -} - - - - - - - -#ifdef NONMATCHING -void interface_menu10_mphandicap(void) -{ - s32 sp44; - s32 temp_s3; - s32 temp_t9; - void *temp_s2; - void *temp_v0; - void *temp_v0_2; - void *phi_s1; - s32 phi_s3; - s32 phi_s4; - s32 phi_fp; - s32 phi_fp_2; - - sp44 = get_selected_num_players(); - setvideo_far(0x42700000); - video_related_21(D_80051A90); - set_page_height(0x42c80000, D_80051A94); - set_video2_settings_offset_24(0); - phi_fp = 0; - if (sp44 > 0) - { - phi_s1 = &has_selected_char_player1; - phi_s3 = 0; - phi_s4 = 0; - phi_fp_2 = 0; -loop_2: - if (*phi_s1 != 0) - { - if (get_controller_buttons_pressed((s32) (phi_s3 << 0x18) >> 0x18, 0x4000) != 0) - { - *phi_s1 = 0; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - temp_t9 = (s32) (phi_s3 << 0x18) >> 0x18; - if (*phi_s1 == 0) - { - temp_s2 = phi_s4 + &handicap_player1; - if ((get_controller_buttons_pressed((s32) (temp_t9 << 0x18) >> 0x18, 0x202) == 0) && (get_controller_3dstick_L_R((s32) (temp_t9 << 0x18) >> 0x18, -2, 1) < -1)) - { - if ((*temp_s2 != 0) && (*temp_v0 > 0)) - { -block_10: - *temp_v0 = (s32) (*temp_v0 + -1); - } - else - { - if ((get_controller_buttons_pressed((s32) (temp_t9 << 0x18) >> 0x18, 0x101) == 0) && (get_controller_3dstick_L_R((s32) (temp_t9 << 0x18) >> 0x18, -2, 1) > 0)) - { - if ((*temp_s2 != 0) && (*temp_v0_2 < 0xa)) - { -block_15: - *temp_v0_2 = (s32) (*temp_v0_2 + 1); - } - else - { - if (get_controller_buttons_pressed((s32) (temp_t9 << 0x18) >> 0x18, 0xb000) != 0) - { - *phi_s1 = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - else - { - temp_v0_2 = &handicap_player1 + phi_s4; - if (*temp_v0_2 < 0xa) - { - goto block_15; - } - } - } - } - else - { - temp_v0 = &handicap_player1 + phi_s4; - if (*temp_v0 > 0) - { - goto block_10; - } - } - if ((get_controller_3dstick_L_R((s32) (temp_t9 << 0x18) >> 0x18, -2, 1) == -1) || (get_controller_3dstick_L_R((s32) (temp_t9 << 0x18) >> 0x18, -2, 1) == 0)) - { - *temp_s2 = 1; - } - else - { - *temp_s2 = 0; - } - } - if (*phi_s1 != 0) - { - - } - temp_s3 = phi_s3 + 1; - phi_s1 = phi_s1 + 4; - phi_s3 = temp_s3; - phi_s4 = phi_s4 + 4; - phi_fp = phi_fp_2; - phi_fp_2 = phi_fp_2; - if (temp_s3 != sp44) - { - goto loop_2; - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x2a, 1); - menu_control_stick_tracking(); - if (phi_fp == sp44) - { - set_menu_to_mode(0xe, 0); - } -} -#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 -/* 0479F8 7F012EC8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0479FC 7F012ECC AFBE0038 */ sw $fp, 0x38($sp) -/* 047A00 7F012ED0 AFB70034 */ sw $s7, 0x34($sp) -/* 047A04 7F012ED4 AFB60030 */ sw $s6, 0x30($sp) -/* 047A08 7F012ED8 AFB5002C */ sw $s5, 0x2c($sp) -/* 047A0C 7F012EDC AFB40028 */ sw $s4, 0x28($sp) -/* 047A10 7F012EE0 AFB30024 */ sw $s3, 0x24($sp) -/* 047A14 7F012EE4 AFB20020 */ sw $s2, 0x20($sp) -/* 047A18 7F012EE8 AFB1001C */ sw $s1, 0x1c($sp) -/* 047A1C 7F012EEC 0FC040A4 */ jal get_selected_num_players -/* 047A20 7F012EF0 AFB00018 */ sw $s0, 0x18($sp) -/* 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 setvideo_far -/* 047A34 7F012F04 0000F025 */ move $fp, $zero -/* 047A38 7F012F08 3C018005 */ lui $at, %hi(D_80051A90) -/* 047A3C 7F012F0C 0C001164 */ jal video_related_21 -/* 047A40 7F012F10 C42C1A90 */ lwc1 $f12, %lo(D_80051A90)($at) -/* 047A44 7F012F14 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 047A48 7F012F18 44816000 */ mtc1 $at, $f12 -/* 047A4C 7F012F1C 3C018005 */ lui $at, %hi(D_80051A94) -/* 047A50 7F012F20 0C001194 */ jal set_page_height -/* 047A54 7F012F24 C42E1A94 */ lwc1 $f14, %lo(D_80051A94)($at) -/* 047A58 7F012F28 0C00114D */ jal set_video2_settings_offset_24 -/* 047A5C 7F012F2C 00002025 */ move $a0, $zero -/* 047A60 7F012F30 8FAE0044 */ lw $t6, 0x44($sp) -/* 047A64 7F012F34 00009825 */ move $s3, $zero -/* 047A68 7F012F38 0000A025 */ move $s4, $zero -/* 047A6C 7F012F3C 19C0006F */ blez $t6, .L7F0130FC -/* 047A70 7F012F40 3C118007 */ lui $s1, %hi(has_selected_char_player1) -/* 047A74 7F012F44 3C168007 */ lui $s6, %hi(handicap_player1) -/* 047A78 7F012F48 3C158006 */ lui $s5, %hi(ptr_sfx_buf) -/* 047A7C 7F012F4C 26B53720 */ addiu $s5, %lo(ptr_sfx_buf) # addiu $s5, $s5, 0x3720 -/* 047A80 7F012F50 26D697A8 */ addiu $s6, %lo(handicap_player1) # addiu $s6, $s6, -0x6858 -/* 047A84 7F012F54 26319740 */ addiu $s1, %lo(has_selected_char_player1) # addiu $s1, $s1, -0x68c0 -/* 047A88 7F012F58 24170001 */ li $s7, 1 -.L7F012F5C: -/* 047A8C 7F012F5C 8E2F0000 */ lw $t7, ($s1) -/* 047A90 7F012F60 00132600 */ sll $a0, $s3, 0x18 -/* 047A94 7F012F64 0004C603 */ sra $t8, $a0, 0x18 -/* 047A98 7F012F68 11E00009 */ beqz $t7, .L7F012F90 -/* 047A9C 7F012F6C 03002025 */ move $a0, $t8 -/* 047AA0 7F012F70 0C0030EB */ jal get_controller_buttons_pressed -/* 047AA4 7F012F74 24054000 */ li $a1, 16384 -/* 047AA8 7F012F78 10400005 */ beqz $v0, .L7F012F90 -/* 047AAC 7F012F7C 240500C7 */ li $a1, 199 -/* 047AB0 7F012F80 AE200000 */ sw $zero, ($s1) -/* 047AB4 7F012F84 8EA40000 */ lw $a0, ($s5) -/* 047AB8 7F012F88 0C002382 */ jal play_sfx_a1 -/* 047ABC 7F012F8C 00003025 */ move $a2, $zero -.L7F012F90: -/* 047AC0 7F012F90 8E220000 */ lw $v0, ($s1) -/* 047AC4 7F012F94 00138600 */ sll $s0, $s3, 0x18 -/* 047AC8 7F012F98 0010CE03 */ sra $t9, $s0, 0x18 -/* 047ACC 7F012F9C 14400050 */ bnez $v0, .L7F0130E0 -/* 047AD0 7F012FA0 03208025 */ move $s0, $t9 -/* 047AD4 7F012FA4 00192600 */ sll $a0, $t9, 0x18 -/* 047AD8 7F012FA8 3C098007 */ lui $t1, %hi(dword_CODE_bss_80069760) -/* 047ADC 7F012FAC 25299760 */ addiu $t1, $t1, %lo(dword_CODE_bss_80069760) -/* 047AE0 7F012FB0 00044603 */ sra $t0, $a0, 0x18 -/* 047AE4 7F012FB4 01002025 */ move $a0, $t0 -/* 047AE8 7F012FB8 02899021 */ addu $s2, $s4, $t1 -/* 047AEC 7F012FBC 0C0030EB */ jal get_controller_buttons_pressed -/* 047AF0 7F012FC0 24050202 */ li $a1, 514 -/* 047AF4 7F012FC4 1440000B */ bnez $v0, .L7F012FF4 -/* 047AF8 7F012FC8 00102600 */ sll $a0, $s0, 0x18 -/* 047AFC 7F012FCC 00045603 */ sra $t2, $a0, 0x18 -/* 047B00 7F012FD0 01402025 */ move $a0, $t2 -/* 047B04 7F012FD4 2405FFFE */ li $a1, -2 -/* 047B08 7F012FD8 0C00312D */ jal get_controller_3dstick_L_R -/* 047B0C 7F012FDC 02E03025 */ move $a2, $s7 -/* 047B10 7F012FE0 2841FFFF */ slti $at, $v0, -1 -/* 047B14 7F012FE4 10200009 */ beqz $at, .L7F01300C -/* 047B18 7F012FE8 00102600 */ sll $a0, $s0, 0x18 -/* 047B1C 7F012FEC 8E4B0000 */ lw $t3, ($s2) -/* 047B20 7F012FF0 11600006 */ beqz $t3, .L7F01300C -.L7F012FF4: -/* 047B24 7F012FF4 02D41021 */ addu $v0, $s6, $s4 -/* 047B28 7F012FF8 8C430000 */ lw $v1, ($v0) -/* 047B2C 7F012FFC 18600023 */ blez $v1, .L7F01308C -/* 047B30 7F013000 246CFFFF */ addiu $t4, $v1, -1 -/* 047B34 7F013004 10000021 */ b .L7F01308C -/* 047B38 7F013008 AC4C0000 */ sw $t4, ($v0) -.L7F01300C: -/* 047B3C 7F01300C 00046E03 */ sra $t5, $a0, 0x18 -/* 047B40 7F013010 01A02025 */ move $a0, $t5 -/* 047B44 7F013014 0C0030EB */ jal get_controller_buttons_pressed -/* 047B48 7F013018 24050101 */ li $a1, 257 -/* 047B4C 7F01301C 1440000A */ bnez $v0, .L7F013048 -/* 047B50 7F013020 00102600 */ sll $a0, $s0, 0x18 -/* 047B54 7F013024 00047603 */ sra $t6, $a0, 0x18 -/* 047B58 7F013028 01C02025 */ move $a0, $t6 -/* 047B5C 7F01302C 2405FFFE */ li $a1, -2 -/* 047B60 7F013030 0C00312D */ jal get_controller_3dstick_L_R -/* 047B64 7F013034 02E03025 */ move $a2, $s7 -/* 047B68 7F013038 1840000A */ blez $v0, .L7F013064 -/* 047B6C 7F01303C 00102600 */ sll $a0, $s0, 0x18 -/* 047B70 7F013040 8E4F0000 */ lw $t7, ($s2) -/* 047B74 7F013044 11E00007 */ beqz $t7, .L7F013064 -.L7F013048: -/* 047B78 7F013048 02D41021 */ addu $v0, $s6, $s4 -/* 047B7C 7F01304C 8C430000 */ lw $v1, ($v0) -/* 047B80 7F013050 2861000A */ slti $at, $v1, 0xa -/* 047B84 7F013054 1020000D */ beqz $at, .L7F01308C -/* 047B88 7F013058 24780001 */ addiu $t8, $v1, 1 -/* 047B8C 7F01305C 1000000B */ b .L7F01308C -/* 047B90 7F013060 AC580000 */ sw $t8, ($v0) -.L7F013064: -/* 047B94 7F013064 0004CE03 */ sra $t9, $a0, 0x18 -/* 047B98 7F013068 03202025 */ move $a0, $t9 -/* 047B9C 7F01306C 0C0030EB */ jal get_controller_buttons_pressed -/* 047BA0 7F013070 3405B000 */ li $a1, 45056 -/* 047BA4 7F013074 10400005 */ beqz $v0, .L7F01308C -/* 047BA8 7F013078 240500C7 */ li $a1, 199 -/* 047BAC 7F01307C AE370000 */ sw $s7, ($s1) -/* 047BB0 7F013080 8EA40000 */ lw $a0, ($s5) -/* 047BB4 7F013084 0C002382 */ jal play_sfx_a1 -/* 047BB8 7F013088 00003025 */ move $a2, $zero -.L7F01308C: -/* 047BBC 7F01308C 00102600 */ sll $a0, $s0, 0x18 -/* 047BC0 7F013090 00044603 */ sra $t0, $a0, 0x18 -/* 047BC4 7F013094 01002025 */ move $a0, $t0 -/* 047BC8 7F013098 2405FFFE */ li $a1, -2 -/* 047BCC 7F01309C 0C00312D */ jal get_controller_3dstick_L_R -/* 047BD0 7F0130A0 02E03025 */ move $a2, $s7 -/* 047BD4 7F0130A4 2401FFFF */ li $at, -1 -/* 047BD8 7F0130A8 10410008 */ beq $v0, $at, .L7F0130CC -/* 047BDC 7F0130AC 00102600 */ sll $a0, $s0, 0x18 -/* 047BE0 7F0130B0 00044E03 */ sra $t1, $a0, 0x18 -/* 047BE4 7F0130B4 01202025 */ move $a0, $t1 -/* 047BE8 7F0130B8 2405FFFE */ li $a1, -2 -/* 047BEC 7F0130BC 0C00312D */ jal get_controller_3dstick_L_R -/* 047BF0 7F0130C0 02E03025 */ move $a2, $s7 -/* 047BF4 7F0130C4 54400005 */ bnezl $v0, .L7F0130DC -/* 047BF8 7F0130C8 AE400000 */ sw $zero, ($s2) -.L7F0130CC: -/* 047BFC 7F0130CC AE570000 */ sw $s7, ($s2) -/* 047C00 7F0130D0 10000003 */ b .L7F0130E0 -/* 047C04 7F0130D4 8E220000 */ lw $v0, ($s1) -/* 047C08 7F0130D8 AE400000 */ sw $zero, ($s2) -.L7F0130DC: -/* 047C0C 7F0130DC 8E220000 */ lw $v0, ($s1) -.L7F0130E0: -/* 047C10 7F0130E0 10400002 */ beqz $v0, .L7F0130EC -/* 047C14 7F0130E4 8FAA0044 */ lw $t2, 0x44($sp) -/* 047C18 7F0130E8 27DE0001 */ addiu $fp, $fp, 1 -.L7F0130EC: -/* 047C1C 7F0130EC 26730001 */ addiu $s3, $s3, 1 -/* 047C20 7F0130F0 26940004 */ addiu $s4, $s4, 4 -/* 047C24 7F0130F4 166AFF99 */ bne $s3, $t2, .L7F012F5C -/* 047C28 7F0130F8 26310004 */ addiu $s1, $s1, 4 -.L7F0130FC: -/* 047C2C 7F0130FC 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 047C30 7F013100 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 047C34 7F013104 0FC02DC9 */ jal disable_all_switches -/* 047C38 7F013108 8E040000 */ lw $a0, ($s0) -/* 047C3C 7F01310C 8E040000 */ lw $a0, ($s0) -/* 047C40 7F013110 00002825 */ move $a1, $zero -/* 047C44 7F013114 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 047C48 7F013118 24060001 */ li $a2, 1 -/* 047C4C 7F01311C 8E040000 */ lw $a0, ($s0) -/* 047C50 7F013120 2405002A */ li $a1, 42 -/* 047C54 7F013124 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 047C58 7F013128 24060001 */ li $a2, 1 -/* 047C5C 7F01312C 0FC026E1 */ jal menu_control_stick_tracking -/* 047C60 7F013130 00000000 */ nop -/* 047C64 7F013134 8FAB0044 */ lw $t3, 0x44($sp) -/* 047C68 7F013138 2404000E */ li $a0, 14 -/* 047C6C 7F01313C 57CB0004 */ bnel $fp, $t3, .L7F013150 -/* 047C70 7F013140 8FBF003C */ lw $ra, 0x3c($sp) -/* 047C74 7F013144 0FC06975 */ jal set_menu_to_mode -/* 047C78 7F013148 00002825 */ move $a1, $zero -/* 047C7C 7F01314C 8FBF003C */ lw $ra, 0x3c($sp) -.L7F013150: -/* 047C80 7F013150 8FB00018 */ lw $s0, 0x18($sp) -/* 047C84 7F013154 8FB1001C */ lw $s1, 0x1c($sp) -/* 047C88 7F013158 8FB20020 */ lw $s2, 0x20($sp) -/* 047C8C 7F01315C 8FB30024 */ lw $s3, 0x24($sp) -/* 047C90 7F013160 8FB40028 */ lw $s4, 0x28($sp) -/* 047C94 7F013164 8FB5002C */ lw $s5, 0x2c($sp) -/* 047C98 7F013168 8FB60030 */ lw $s6, 0x30($sp) -/* 047C9C 7F01316C 8FB70034 */ lw $s7, 0x34($sp) -/* 047CA0 7F013170 8FBE0038 */ lw $fp, 0x38($sp) -/* 047CA4 7F013174 03E00008 */ jr $ra -/* 047CA8 7F013178 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu10_mphandicap(s32 arg0) -{ - s32 spCC; - s32 spA4; - s32 spA0; - s32 sp9C; - s32 sp98; - s32 sp90; - s32 sp8C; - s32 sp88; - s32 sp84; - void *sp74; - void *sp70; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_ret_4; - s32 temp_s1; - s32 temp_s1_2; - s32 temp_s6; - s32 temp_v0; - s32 phi_s6; - s32 phi_s3; - s32 phi_s2; - void *phi_v0; - s32 phi_s5; - s32 phi_s1; - s32 phi_s1_2; - s32 phi_v1; - s32 phi_v1_2; - - spCC = get_selected_num_players(); - temp_ret = microcode_constructor_related_to_menus(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(arg0, 0, 0, 0)))), 0x26, 0xa9, 0x184, 0xab, 0x90); - temp_s1 = temp_ret; - phi_v0 = temp_ret; - phi_s1_2 = temp_s1; - if (spCC >= 3) - { - temp_ret_2 = microcode_constructor_related_to_menus(temp_s1, 0xd4, 0x1e, 0xd6, 0x136, 0x80); - phi_v0 = temp_ret_2; - phi_s1_2 = temp_ret_2; - } - if (spCC > 0) - { - sp74 = &has_selected_char_player1; - sp70 = &handicap_player1; - phi_s6 = 0; -loop_4: - if (spCC == 2) - { - if (phi_s6 > 0) - { - phi_s3 = 0x26; - phi_s2 = 0xaa; - phi_s5 = 0x15e; - } - else - { - phi_s3 = 0x26; - phi_s2 = 0 + 0x1e; - phi_s5 = 0x15e; - } - } - else - { - if (phi_s6 >= 2) - { - phi_v1_2 = 0x8c; - } - else - { - phi_v1_2 = 0; - } - if ((phi_s6 & 1) != 0) - { - phi_v1 = 0xaf; - } - else - { - phi_v1 = 0; - } - phi_s3 = phi_v1 + 0x26; - phi_s2 = phi_v1_2 + 0x1e; - phi_s5 = 0xaf; - } - temp_s1_2 = phi_v0 + 8; - phi_v0->unk0 = (s32) (((((s32) ((f32) (phi_s3 + 6) * 4.0f) & 0xfff) << 0xc) | 0xed000000) | ((s32) ((f32) (phi_s2 + 5) * 4.0f) & 0xfff)); - phi_v0->unk4 = (s32) ((((s32) ((f32) ((phi_s3 + phi_s5) + -6) * 4.0f) & 0xfff) << 0xc) | ((s32) ((f32) (phi_s2 + 0x87) * 4.0f) & 0xfff)); - phi_s1 = temp_s1_2; - if (*sp74 == 0) - { - temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x56)); - sub_GAME_7F0AE98C(&spA4, &spA0, temp_ret_3, ptrSecondFontTableLarge, (?32) subroutine_arg0, 0); - sp9C = (s32) ((((s32) phi_s5 >> 1) + phi_s3) - (spA0 >> 1)); - sp98 = (s32) ((phi_s2 - (spA4 >> 1)) + 0x37); - get_video2_settings_txtClipW(); - phi_s1 = write_text_at_abs_coord(microcode_constructor(temp_s1_2), &sp9C, &sp98, temp_ret_3, (?32) ptrSecondFontTableLarge, (?32) subroutine_arg0, 0xff, get_video2_settings_txtClipH(), 0, 0); - } - temp_ret_4 = get_textptr_for_textID((0x80030000 + (*sp70 * 8))->unk-4B68); - sub_GAME_7F0AE98C(&sp90, &sp8C, temp_ret_4, ptrSecondFontTableLarge, (?32) subroutine_arg0, 0); - sp88 = (s32) ((((s32) phi_s5 >> 1) + phi_s3) - (sp8C >> 1)); - sp84 = (s32) (((phi_s2 + 0x46) - (sp90 >> 1)) + 0xf); - get_video2_settings_txtClipW(); - temp_s6 = phi_s6 + 1; - sp70 = (void *) (sp70 + 4); - temp_v0 = write_text_at_abs_coord(microcode_constructor(phi_s1), &sp88, &sp84, temp_ret_4, (?32) ptrSecondFontTableLarge, (?32) subroutine_arg0, 0xff, get_video2_settings_txtClipH(), 0, 0); - sp74 = (void *) (sp74 + 4); - phi_s6 = temp_s6; - phi_v0 = temp_v0; - phi_s1_2 = temp_v0; - if (temp_s6 != spCC) - { - goto loop_4; - } - } - combiner_bayer_lod_perspective(phi_s1_2); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu10_mphandicap -/* 047CAC 7F01317C 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 047CB0 7F013180 AFBF0064 */ sw $ra, 0x64($sp) -/* 047CB4 7F013184 AFB10044 */ sw $s1, 0x44($sp) -/* 047CB8 7F013188 00808825 */ move $s1, $a0 -/* 047CBC 7F01318C AFBE0060 */ sw $fp, 0x60($sp) -/* 047CC0 7F013190 AFB7005C */ sw $s7, 0x5c($sp) -/* 047CC4 7F013194 AFB60058 */ sw $s6, 0x58($sp) -/* 047CC8 7F013198 AFB50054 */ sw $s5, 0x54($sp) -/* 047CCC 7F01319C AFB40050 */ sw $s4, 0x50($sp) -/* 047CD0 7F0131A0 AFB3004C */ sw $s3, 0x4c($sp) -/* 047CD4 7F0131A4 AFB20048 */ sw $s2, 0x48($sp) -/* 047CD8 7F0131A8 AFB00040 */ sw $s0, 0x40($sp) -/* 047CDC 7F0131AC 0FC040A4 */ jal get_selected_num_players -/* 047CE0 7F0131B0 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 047CE4 7F0131B4 AFA200CC */ sw $v0, 0xcc($sp) -/* 047CE8 7F0131B8 02202025 */ move $a0, $s1 -/* 047CEC 7F0131BC 00002825 */ move $a1, $zero -/* 047CF0 7F0131C0 00003025 */ move $a2, $zero -/* 047CF4 7F0131C4 0C0011B4 */ jal set_setfillcolor -/* 047CF8 7F0131C8 00003825 */ move $a3, $zero -/* 047CFC 7F0131CC 0C000FBE */ jal insert_generic_fillrect -/* 047D00 7F0131D0 00402025 */ move $a0, $v0 -/* 047D04 7F0131D4 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 047D08 7F0131D8 00402025 */ move $a0, $v0 -/* 047D0C 7F0131DC 0FC2B366 */ jal microcode_constructor -/* 047D10 7F0131E0 00402025 */ move $a0, $v0 -/* 047D14 7F0131E4 240E00AB */ li $t6, 171 -/* 047D18 7F0131E8 240F0090 */ li $t7, 144 -/* 047D1C 7F0131EC AFAF0014 */ sw $t7, 0x14($sp) -/* 047D20 7F0131F0 AFAE0010 */ sw $t6, 0x10($sp) -/* 047D24 7F0131F4 00402025 */ move $a0, $v0 -/* 047D28 7F0131F8 24050026 */ li $a1, 38 -/* 047D2C 7F0131FC 240600A9 */ li $a2, 169 -/* 047D30 7F013200 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 047D34 7F013204 24070184 */ li $a3, 388 -/* 047D38 7F013208 8FA800CC */ lw $t0, 0xcc($sp) -/* 047D3C 7F01320C 00408825 */ move $s1, $v0 -/* 047D40 7F013210 02202025 */ move $a0, $s1 -/* 047D44 7F013214 29010003 */ slti $at, $t0, 3 -/* 047D48 7F013218 1420000A */ bnez $at, .L7F013244 -/* 047D4C 7F01321C 240500D4 */ li $a1, 212 -/* 047D50 7F013220 24180136 */ li $t8, 310 -/* 047D54 7F013224 24190080 */ li $t9, 128 -/* 047D58 7F013228 AFB90014 */ sw $t9, 0x14($sp) -/* 047D5C 7F01322C AFB80010 */ sw $t8, 0x10($sp) -/* 047D60 7F013230 2406001E */ li $a2, 30 -/* 047D64 7F013234 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 047D68 7F013238 240700D6 */ li $a3, 214 -/* 047D6C 7F01323C 00408825 */ move $s1, $v0 -/* 047D70 7F013240 8FA800CC */ lw $t0, 0xcc($sp) -.L7F013244: -/* 047D74 7F013244 190000BC */ blez $t0, .L7F013538 -/* 047D78 7F013248 0000B025 */ move $s6, $zero -/* 047D7C 7F01324C 3C098007 */ lui $t1, %hi(has_selected_char_player1) -/* 047D80 7F013250 3C0A8007 */ lui $t2, %hi(handicap_player1) -/* 047D84 7F013254 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 047D88 7F013258 254A97A8 */ addiu $t2, %lo(handicap_player1) # addiu $t2, $t2, -0x6858 -/* 047D8C 7F01325C 25299740 */ addiu $t1, %lo(has_selected_char_player1) # addiu $t1, $t1, -0x68c0 -/* 047D90 7F013260 3C1E8004 */ lui $fp, %hi(ptrFirstFontTableLarge) -/* 047D94 7F013264 3C178004 */ lui $s7, %hi(ptrSecondFontTableLarge) -/* 047D98 7F013268 4481A000 */ mtc1 $at, $f20 -/* 047D9C 7F01326C 26F70EB8 */ addiu $s7, %lo(ptrSecondFontTableLarge) # addiu $s7, $s7, 0xeb8 -/* 047DA0 7F013270 27DE0EB4 */ addiu $fp, %lo(ptrFirstFontTableLarge) # addiu $fp, $fp, 0xeb4 -/* 047DA4 7F013274 AFA90074 */ sw $t1, 0x74($sp) -/* 047DA8 7F013278 AFAA0070 */ sw $t2, 0x70($sp) -.L7F01327C: -/* 047DAC 7F01327C 8FA800CC */ lw $t0, 0xcc($sp) -/* 047DB0 7F013280 24010002 */ li $at, 2 -/* 047DB4 7F013284 24130026 */ li $s3, 38 -/* 047DB8 7F013288 15010008 */ bne $t0, $at, .L7F0132AC -/* 047DBC 7F01328C 32CB0001 */ andi $t3, $s6, 1 -/* 047DC0 7F013290 1AC00003 */ blez $s6, .L7F0132A0 -/* 047DC4 7F013294 2415015E */ li $s5, 350 -/* 047DC8 7F013298 10000010 */ b .L7F0132DC -/* 047DCC 7F01329C 241200AA */ li $s2, 170 -.L7F0132A0: -/* 047DD0 7F0132A0 00001825 */ move $v1, $zero -/* 047DD4 7F0132A4 1000000D */ b .L7F0132DC -/* 047DD8 7F0132A8 2472001E */ addiu $s2, $v1, 0x1e -.L7F0132AC: -/* 047DDC 7F0132AC 2AC10002 */ slti $at, $s6, 2 -/* 047DE0 7F0132B0 14200003 */ bnez $at, .L7F0132C0 -/* 047DE4 7F0132B4 241500AF */ li $s5, 175 -/* 047DE8 7F0132B8 10000002 */ b .L7F0132C4 -/* 047DEC 7F0132BC 2403008C */ li $v1, 140 -.L7F0132C0: -/* 047DF0 7F0132C0 00001825 */ move $v1, $zero -.L7F0132C4: -/* 047DF4 7F0132C4 11600003 */ beqz $t3, .L7F0132D4 -/* 047DF8 7F0132C8 2472001E */ addiu $s2, $v1, 0x1e -/* 047DFC 7F0132CC 10000002 */ b .L7F0132D8 -/* 047E00 7F0132D0 240300AF */ li $v1, 175 -.L7F0132D4: -/* 047E04 7F0132D4 00001825 */ move $v1, $zero -.L7F0132D8: -/* 047E08 7F0132D8 24730026 */ addiu $s3, $v1, 0x26 -.L7F0132DC: -/* 047E0C 7F0132DC 266C0006 */ addiu $t4, $s3, 6 -/* 047E10 7F0132E0 448C2000 */ mtc1 $t4, $f4 -/* 047E14 7F0132E4 26490005 */ addiu $t1, $s2, 5 -/* 047E18 7F0132E8 44898000 */ mtc1 $t1, $f16 -/* 047E1C 7F0132EC 468021A0 */ cvt.s.w $f6, $f4 -/* 047E20 7F0132F0 3C01ED00 */ lui $at, 0xed00 -/* 047E24 7F0132F4 24510008 */ addiu $s1, $v0, 8 -/* 047E28 7F0132F8 468084A0 */ cvt.s.w $f18, $f16 -/* 047E2C 7F0132FC 46143202 */ mul.s $f8, $f6, $f20 -/* 047E30 7F013300 4600428D */ trunc.w.s $f10, $f8 -/* 047E34 7F013304 46149102 */ mul.s $f4, $f18, $f20 -/* 047E38 7F013308 440E5000 */ mfc1 $t6, $f10 -/* 047E3C 7F01330C 00000000 */ nop -/* 047E40 7F013310 31CF0FFF */ andi $t7, $t6, 0xfff -/* 047E44 7F013314 4600218D */ trunc.w.s $f6, $f4 -/* 047E48 7F013318 000FC300 */ sll $t8, $t7, 0xc -/* 047E4C 7F01331C 02757021 */ addu $t6, $s3, $s5 -/* 047E50 7F013320 25CFFFFA */ addiu $t7, $t6, -6 -/* 047E54 7F013324 440B3000 */ mfc1 $t3, $f6 -/* 047E58 7F013328 448F4000 */ mtc1 $t7, $f8 -/* 047E5C 7F01332C 0301C825 */ or $t9, $t8, $at -/* 047E60 7F013330 316C0FFF */ andi $t4, $t3, 0xfff -/* 047E64 7F013334 032C6825 */ or $t5, $t9, $t4 -/* 047E68 7F013338 26590087 */ addiu $t9, $s2, 0x87 -/* 047E6C 7F01333C 468042A0 */ cvt.s.w $f10, $f8 -/* 047E70 7F013340 44992000 */ mtc1 $t9, $f4 -/* 047E74 7F013344 AC4D0000 */ sw $t5, ($v0) -/* 047E78 7F013348 468021A0 */ cvt.s.w $f6, $f4 -/* 047E7C 7F01334C 46145402 */ mul.s $f16, $f10, $f20 -/* 047E80 7F013350 00000000 */ nop -/* 047E84 7F013354 46143202 */ mul.s $f8, $f6, $f20 -/* 047E88 7F013358 4600848D */ trunc.w.s $f18, $f16 -/* 047E8C 7F01335C 4600428D */ trunc.w.s $f10, $f8 -/* 047E90 7F013360 44099000 */ mfc1 $t1, $f18 -/* 047E94 7F013364 440D5000 */ mfc1 $t5, $f10 -/* 047E98 7F013368 312A0FFF */ andi $t2, $t1, 0xfff -/* 047E9C 7F01336C 000A5B00 */ sll $t3, $t2, 0xc -/* 047EA0 7F013370 31AE0FFF */ andi $t6, $t5, 0xfff -/* 047EA4 7F013374 016E7825 */ or $t7, $t3, $t6 -/* 047EA8 7F013378 AC4F0004 */ sw $t7, 4($v0) -/* 047EAC 7F01337C 8FB80074 */ lw $t8, 0x74($sp) -/* 047EB0 7F013380 8F090000 */ lw $t1, ($t8) -/* 047EB4 7F013384 1520002F */ bnez $t1, .L7F013444 -/* 047EB8 7F013388 00000000 */ nop -/* 047EBC 7F01338C 0FC30776 */ jal get_textptr_for_textID -/* 047EC0 7F013390 34049C56 */ li $a0, 40022 -/* 047EC4 7F013394 8FCA0000 */ lw $t2, ($fp) -/* 047EC8 7F013398 0040A025 */ move $s4, $v0 -/* 047ECC 7F01339C 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 047ED0 7F0133A0 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 047ED4 7F0133A4 00403025 */ move $a2, $v0 -/* 047ED8 7F0133A8 8EE70000 */ lw $a3, ($s7) -/* 047EDC 7F0133AC AFA00014 */ sw $zero, 0x14($sp) -/* 047EE0 7F0133B0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 047EE4 7F0133B4 AFAA0010 */ sw $t2, 0x10($sp) -/* 047EE8 7F0133B8 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 047EEC 7F0133BC 8FAD00A0 */ lw $t5, 0xa0($sp) -/* 047EF0 7F0133C0 0015C843 */ sra $t9, $s5, 1 -/* 047EF4 7F0133C4 000FC043 */ sra $t8, $t7, 1 -/* 047EF8 7F0133C8 03336021 */ addu $t4, $t9, $s3 -/* 047EFC 7F0133CC 02584823 */ subu $t1, $s2, $t8 -/* 047F00 7F0133D0 000D5843 */ sra $t3, $t5, 1 -/* 047F04 7F0133D4 018B7023 */ subu $t6, $t4, $t3 -/* 047F08 7F0133D8 252A0037 */ addiu $t2, $t1, 0x37 -/* 047F0C 7F0133DC AFAE009C */ sw $t6, 0x9c($sp) -/* 047F10 7F0133E0 AFAA0098 */ sw $t2, 0x98($sp) -/* 047F14 7F0133E4 0FC2B366 */ jal microcode_constructor -/* 047F18 7F0133E8 02202025 */ move $a0, $s1 -/* 047F1C 7F0133EC 0C001107 */ jal get_video2_settings_txtClipW -/* 047F20 7F0133F0 00408825 */ move $s1, $v0 -/* 047F24 7F0133F4 00028400 */ sll $s0, $v0, 0x10 -/* 047F28 7F0133F8 0010CC03 */ sra $t9, $s0, 0x10 -/* 047F2C 7F0133FC 0C00110B */ jal get_video2_settings_txtClipH -/* 047F30 7F013400 03208025 */ move $s0, $t9 -/* 047F34 7F013404 8EED0000 */ lw $t5, ($s7) -/* 047F38 7F013408 8FCC0000 */ lw $t4, ($fp) -/* 047F3C 7F01340C 240B00FF */ li $t3, 255 -/* 047F40 7F013410 AFAB0018 */ sw $t3, 0x18($sp) -/* 047F44 7F013414 02202025 */ move $a0, $s1 -/* 047F48 7F013418 27A5009C */ addiu $a1, $sp, 0x9c -/* 047F4C 7F01341C 27A60098 */ addiu $a2, $sp, 0x98 -/* 047F50 7F013420 02803825 */ move $a3, $s4 -/* 047F54 7F013424 AFB0001C */ sw $s0, 0x1c($sp) -/* 047F58 7F013428 AFA20020 */ sw $v0, 0x20($sp) -/* 047F5C 7F01342C AFA00024 */ sw $zero, 0x24($sp) -/* 047F60 7F013430 AFA00028 */ sw $zero, 0x28($sp) -/* 047F64 7F013434 AFAD0010 */ sw $t5, 0x10($sp) -/* 047F68 7F013438 0FC025D8 */ jal write_text_at_abs_coord -/* 047F6C 7F01343C AFAC0014 */ sw $t4, 0x14($sp) -/* 047F70 7F013440 00408825 */ move $s1, $v0 -.L7F013444: -/* 047F74 7F013444 8FAE0070 */ lw $t6, 0x70($sp) -/* 047F78 7F013448 3C048003 */ lui $a0, %hi(MP_handicap_table) -/* 047F7C 7F01344C 00154843 */ sra $t1, $s5, 1 -/* 047F80 7F013450 8DCF0000 */ lw $t7, ($t6) -/* 047F84 7F013454 01338021 */ addu $s0, $t1, $s3 -/* 047F88 7F013458 26540046 */ addiu $s4, $s2, 0x46 -/* 047F8C 7F01345C 000FC0C0 */ sll $t8, $t7, 3 -/* 047F90 7F013460 00982021 */ addu $a0, $a0, $t8 -/* 047F94 7F013464 0FC30776 */ jal get_textptr_for_textID -/* 047F98 7F013468 9484B498 */ lhu $a0, %lo(MP_handicap_table)($a0) -/* 047F9C 7F01346C 8FCA0000 */ lw $t2, ($fp) -/* 047FA0 7F013470 00409025 */ move $s2, $v0 -/* 047FA4 7F013474 27A40090 */ addiu $a0, $sp, 0x90 -/* 047FA8 7F013478 27A5008C */ addiu $a1, $sp, 0x8c -/* 047FAC 7F01347C 00403025 */ move $a2, $v0 -/* 047FB0 7F013480 8EE70000 */ lw $a3, ($s7) -/* 047FB4 7F013484 AFA00014 */ sw $zero, 0x14($sp) -/* 047FB8 7F013488 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 047FBC 7F01348C AFAA0010 */ sw $t2, 0x10($sp) -/* 047FC0 7F013490 8FAB0090 */ lw $t3, 0x90($sp) -/* 047FC4 7F013494 8FB9008C */ lw $t9, 0x8c($sp) -/* 047FC8 7F013498 02202025 */ move $a0, $s1 -/* 047FCC 7F01349C 000B7043 */ sra $t6, $t3, 1 -/* 047FD0 7F0134A0 028E7823 */ subu $t7, $s4, $t6 -/* 047FD4 7F0134A4 00196843 */ sra $t5, $t9, 1 -/* 047FD8 7F0134A8 020D6023 */ subu $t4, $s0, $t5 -/* 047FDC 7F0134AC 25F8000F */ addiu $t8, $t7, 0xf -/* 047FE0 7F0134B0 AFAC0088 */ sw $t4, 0x88($sp) -/* 047FE4 7F0134B4 0FC2B366 */ jal microcode_constructor -/* 047FE8 7F0134B8 AFB80084 */ sw $t8, 0x84($sp) -/* 047FEC 7F0134BC 0C001107 */ jal get_video2_settings_txtClipW -/* 047FF0 7F0134C0 00408825 */ move $s1, $v0 -/* 047FF4 7F0134C4 00028400 */ sll $s0, $v0, 0x10 -/* 047FF8 7F0134C8 00104C03 */ sra $t1, $s0, 0x10 -/* 047FFC 7F0134CC 0C00110B */ jal get_video2_settings_txtClipH -/* 048000 7F0134D0 01208025 */ move $s0, $t1 -/* 048004 7F0134D4 8EEA0000 */ lw $t2, ($s7) -/* 048008 7F0134D8 8FD90000 */ lw $t9, ($fp) -/* 04800C 7F0134DC 240D00FF */ li $t5, 255 -/* 048010 7F0134E0 AFAD0018 */ sw $t5, 0x18($sp) -/* 048014 7F0134E4 02202025 */ move $a0, $s1 -/* 048018 7F0134E8 27A50088 */ addiu $a1, $sp, 0x88 -/* 04801C 7F0134EC 27A60084 */ addiu $a2, $sp, 0x84 -/* 048020 7F0134F0 02403825 */ move $a3, $s2 -/* 048024 7F0134F4 AFB0001C */ sw $s0, 0x1c($sp) -/* 048028 7F0134F8 AFA20020 */ sw $v0, 0x20($sp) -/* 04802C 7F0134FC AFA00024 */ sw $zero, 0x24($sp) -/* 048030 7F013500 AFA00028 */ sw $zero, 0x28($sp) -/* 048034 7F013504 AFAA0010 */ sw $t2, 0x10($sp) -/* 048038 7F013508 0FC025D8 */ jal write_text_at_abs_coord -/* 04803C 7F01350C AFB90014 */ sw $t9, 0x14($sp) -/* 048040 7F013510 8FAC0074 */ lw $t4, 0x74($sp) -/* 048044 7F013514 8FAE0070 */ lw $t6, 0x70($sp) -/* 048048 7F013518 8FB800CC */ lw $t8, 0xcc($sp) -/* 04804C 7F01351C 26D60001 */ addiu $s6, $s6, 1 -/* 048050 7F013520 258B0004 */ addiu $t3, $t4, 4 -/* 048054 7F013524 25CF0004 */ addiu $t7, $t6, 4 -/* 048058 7F013528 AFAF0070 */ sw $t7, 0x70($sp) -/* 04805C 7F01352C AFAB0074 */ sw $t3, 0x74($sp) -/* 048060 7F013530 16D8FF52 */ bne $s6, $t8, .L7F01327C -/* 048064 7F013534 00408825 */ move $s1, $v0 -.L7F013538: -/* 048068 7F013538 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 04806C 7F01353C 02202025 */ move $a0, $s1 -/* 048070 7F013540 8FBF0064 */ lw $ra, 0x64($sp) -/* 048074 7F013544 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 048078 7F013548 8FB00040 */ lw $s0, 0x40($sp) -/* 04807C 7F01354C 8FB10044 */ lw $s1, 0x44($sp) -/* 048080 7F013550 8FB20048 */ lw $s2, 0x48($sp) -/* 048084 7F013554 8FB3004C */ lw $s3, 0x4c($sp) -/* 048088 7F013558 8FB40050 */ lw $s4, 0x50($sp) -/* 04808C 7F01355C 8FB50054 */ lw $s5, 0x54($sp) -/* 048090 7F013560 8FB60058 */ lw $s6, 0x58($sp) -/* 048094 7F013564 8FB7005C */ lw $s7, 0x5c($sp) -/* 048098 7F013568 8FBE0060 */ lw $fp, 0x60($sp) -/* 04809C 7F01356C 03E00008 */ jr $ra -/* 0480A0 7F013570 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif - - - -void init_menu11_mpcontrol(void) -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - has_selected_char_player1 = FALSE; - dword_CODE_bss_80069760 = 0; - has_selected_char_player2 = FALSE; - dword_CODE_bss_80069764 = 0; - has_selected_char_player3 = FALSE; - dword_CODE_bss_80069768 = 0; - has_selected_char_player4 = FALSE; - dword_CODE_bss_8006976C = 0; - load_walletbond(); -} - -void update_menu11_mpcontrols(void) { - return; -} - - - - - - - -#ifdef NONMATCHING -void interface_menu11_mpcontrols(void) -{ - s32 sp44; - s32 temp_s1; - s32 temp_s6; - s32 temp_t8; - void *temp_s4; - void *temp_v1; - void *temp_v1_2; - void *phi_s2; - s32 phi_s1; - s32 phi_s5; - - temp_s6 = get_selected_num_players(); - sp44 = 0; - setvideo_far(0x42700000); - video_related_21(D_80051A98); - set_page_height(0x42c80000, D_80051A9C); - set_video2_settings_offset_24(0); - if (temp_s6 > 0) - { - phi_s2 = &has_selected_char_player1; - phi_s1 = 0; - phi_s5 = 0; -loop_2: - if (*phi_s2 != 0) - { - if (get_controller_buttons_pressed((s32) (phi_s1 << 0x18) >> 0x18, 0x4000) != 0) - { - *phi_s2 = 0; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - temp_t8 = (s32) (phi_s1 << 0x18) >> 0x18; - if (*phi_s2 == 0) - { - temp_s4 = phi_s5 + &handicap_player1; - if ((get_controller_buttons_pressed((s32) (temp_t8 << 0x18) >> 0x18, 0x202) == 0) && (get_controller_3dstick_L_R((s32) (temp_t8 << 0x18) >> 0x18, -2, 1) < -1)) - { - if ((*temp_s4 != 0) && (*temp_v1 > 0)) - { -block_10: - if ((((temp_s6 != 2) || (phi_s1 != 1)) || (controlstyle_player.unk0 < 4)) || (*temp_v1 >= 5)) - { - *temp_v1 = (s32) (*temp_v1 + -1); - } - else - { - - } - if (temp_s6 == 2) - { - if (phi_s1 == 0) - { - if (controlstyle_player.unk0 < 4) - { - if (controlstyle_player.unk4 >= 4) - { - controlstyle_player.unk4 = 0; - } - } - } - } - } - else - { - if ((get_controller_buttons_pressed((s32) (temp_t8 << 0x18) >> 0x18, 0x101) == 0) && (get_controller_3dstick_L_R((s32) (temp_t8 << 0x18) >> 0x18, -2, 1) > 0)) - { - if ((*temp_s4 != 0) && (temp_s6 == 2)) - { - if ((phi_s1 == 0) || (*temp_v1_2 >= 4)) - { -block_26: - if (*temp_v1_2 < 7) - { - *temp_v1_2 = (s32) (*temp_v1_2 + 1); - if (phi_s1 == 0) - { - if (controlstyle_player.unk0 == 4) - { - if (controlstyle_player.unk4 < 4) - { - controlstyle_player.unk4 = 4; - } - } - } - } - } - else - { -block_31: - if (*temp_v1_2 < 3) - { - *temp_v1_2 = (s32) (*temp_v1_2 + 1); - } - } - } - else - { - if (get_controller_buttons_pressed((s32) (temp_t8 << 0x18) >> 0x18, 0xb000) != 0) - { - *phi_s2 = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - else - { - temp_v1_2 = &controlstyle_player + phi_s5; - if ((temp_s6 != 2) || (phi_s1 != 0)) - { - if (*temp_v1_2 >= 4) - { - goto block_26; - } - else - { - goto block_31; - } - } - else - { - goto block_26; - } - } - } - } - else - { - temp_v1 = &controlstyle_player + phi_s5; - if (*temp_v1 > 0) - { - goto block_10; - } - } - if ((get_controller_3dstick_L_R((s32) (temp_t8 << 0x18) >> 0x18, -2, 1) == -1) || (get_controller_3dstick_L_R((s32) (temp_t8 << 0x18) >> 0x18, -2, 1) == 0)) - { - *temp_s4 = 1; - } - else - { - *temp_s4 = 0; - } - } - temp_s1 = phi_s1 + 1; - if (*phi_s2 != 0) - { - sp44 = (s32) (sp44 + 1); - } - phi_s2 = phi_s2 + 4; - phi_s1 = temp_s1; - phi_s5 = phi_s5 + 4; - if (temp_s1 != temp_s6) - { - goto loop_2; - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x2a, 1); - menu_control_stick_tracking(); - if (sp44 == temp_s6) - { - set_menu_to_mode(0xe, 0); - } -} -#else - -#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 -/* 04813C 7F01360C AFBF003C */ sw $ra, 0x3c($sp) -/* 048140 7F013610 AFBE0038 */ sw $fp, 0x38($sp) -/* 048144 7F013614 AFB70034 */ sw $s7, 0x34($sp) -/* 048148 7F013618 AFB60030 */ sw $s6, 0x30($sp) -/* 04814C 7F01361C AFB5002C */ sw $s5, 0x2c($sp) -/* 048150 7F013620 AFB40028 */ sw $s4, 0x28($sp) -/* 048154 7F013624 AFB30024 */ sw $s3, 0x24($sp) -/* 048158 7F013628 AFB20020 */ sw $s2, 0x20($sp) -/* 04815C 7F01362C AFB1001C */ sw $s1, 0x1c($sp) -/* 048160 7F013630 0FC040A4 */ jal get_selected_num_players -/* 048164 7F013634 AFB00018 */ sw $s0, 0x18($sp) -/* 048168 7F013638 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 04816C 7F01363C 44816000 */ mtc1 $at, $f12 -/* 048170 7F013640 0040B025 */ move $s6, $v0 -/* 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 -/* 048184 7F013654 C42C1A98 */ lwc1 $f12, %lo(D_80051A98)($at) -/* 048188 7F013658 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04818C 7F01365C 44816000 */ mtc1 $at, $f12 -/* 048190 7F013660 3C018005 */ lui $at, %hi(D_80051A9C) -/* 048194 7F013664 0C001194 */ jal set_page_height -/* 048198 7F013668 C42E1A9C */ lwc1 $f14, %lo(D_80051A9C)($at) -/* 04819C 7F01366C 0C00114D */ jal set_video2_settings_offset_24 -/* 0481A0 7F013670 00002025 */ move $a0, $zero -/* 0481A4 7F013674 1AC000A2 */ blez $s6, .L7F013900 -/* 0481A8 7F013678 00008825 */ move $s1, $zero -/* 0481AC 7F01367C 3C128007 */ lui $s2, %hi(has_selected_char_player1) -/* 0481B0 7F013680 3C138007 */ lui $s3, %hi(controlstyle_player) -/* 0481B4 7F013684 267397B8 */ addiu $s3, %lo(controlstyle_player) # addiu $s3, $s3, -0x6848 -/* 0481B8 7F013688 26529740 */ addiu $s2, %lo(has_selected_char_player1) # addiu $s2, $s2, -0x68c0 -/* 0481BC 7F01368C 0000A825 */ move $s5, $zero -/* 0481C0 7F013690 241E0001 */ li $fp, 1 -/* 0481C4 7F013694 24170002 */ li $s7, 2 -.L7F013698: -/* 0481C8 7F013698 8E4E0000 */ lw $t6, ($s2) -/* 0481CC 7F01369C 00112600 */ sll $a0, $s1, 0x18 -/* 0481D0 7F0136A0 00047E03 */ sra $t7, $a0, 0x18 -/* 0481D4 7F0136A4 11C0000A */ beqz $t6, .L7F0136D0 -/* 0481D8 7F0136A8 01E02025 */ move $a0, $t7 -/* 0481DC 7F0136AC 0C0030EB */ jal get_controller_buttons_pressed -/* 0481E0 7F0136B0 24054000 */ li $a1, 16384 -/* 0481E4 7F0136B4 10400006 */ beqz $v0, .L7F0136D0 -/* 0481E8 7F0136B8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0481EC 7F0136BC AE400000 */ sw $zero, ($s2) -/* 0481F0 7F0136C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0481F4 7F0136C4 240500C7 */ li $a1, 199 -/* 0481F8 7F0136C8 0C002382 */ jal play_sfx_a1 -/* 0481FC 7F0136CC 00003025 */ move $a2, $zero -.L7F0136D0: -/* 048200 7F0136D0 8E420000 */ lw $v0, ($s2) -/* 048204 7F0136D4 00118600 */ sll $s0, $s1, 0x18 -/* 048208 7F0136D8 0010C603 */ sra $t8, $s0, 0x18 -/* 04820C 7F0136DC 14400080 */ bnez $v0, .L7F0138E0 -/* 048210 7F0136E0 03008025 */ move $s0, $t8 -/* 048214 7F0136E4 00182600 */ sll $a0, $t8, 0x18 -/* 048218 7F0136E8 3C088007 */ lui $t0, %hi(dword_CODE_bss_80069760) -/* 04821C 7F0136EC 25089760 */ addiu $t0, $t0, %lo(dword_CODE_bss_80069760) -/* 048220 7F0136F0 0004CE03 */ sra $t9, $a0, 0x18 -/* 048224 7F0136F4 03202025 */ move $a0, $t9 -/* 048228 7F0136F8 02A8A021 */ addu $s4, $s5, $t0 -/* 04822C 7F0136FC 0C0030EB */ jal get_controller_buttons_pressed -/* 048230 7F013700 24050202 */ li $a1, 514 -/* 048234 7F013704 1440000B */ bnez $v0, .L7F013734 -/* 048238 7F013708 00102600 */ sll $a0, $s0, 0x18 -/* 04823C 7F01370C 00044E03 */ sra $t1, $a0, 0x18 -/* 048240 7F013710 01202025 */ move $a0, $t1 -/* 048244 7F013714 2405FFFE */ li $a1, -2 -/* 048248 7F013718 0C00312D */ jal get_controller_3dstick_L_R -/* 04824C 7F01371C 03C03025 */ move $a2, $fp -/* 048250 7F013720 2841FFFF */ slti $at, $v0, -1 -/* 048254 7F013724 10200020 */ beqz $at, .L7F0137A8 -/* 048258 7F013728 00102600 */ sll $a0, $s0, 0x18 -/* 04825C 7F01372C 8E8A0000 */ lw $t2, ($s4) -/* 048260 7F013730 1140001D */ beqz $t2, .L7F0137A8 -.L7F013734: -/* 048264 7F013734 02751821 */ addu $v1, $s3, $s5 -/* 048268 7F013738 8C620000 */ lw $v0, ($v1) -/* 04826C 7F01373C 58400054 */ blezl $v0, .L7F013890 -/* 048270 7F013740 00102600 */ sll $a0, $s0, 0x18 -/* 048274 7F013744 16D70009 */ bne $s6, $s7, .L7F01376C -/* 048278 7F013748 244CFFFF */ addiu $t4, $v0, -1 -/* 04827C 7F01374C 563E0008 */ bnel $s1, $fp, .L7F013770 -/* 048280 7F013750 AC6C0000 */ sw $t4, ($v1) -/* 048284 7F013754 8E6B0000 */ lw $t3, ($s3) -/* 048288 7F013758 29610004 */ slti $at, $t3, 4 -/* 04828C 7F01375C 14200003 */ bnez $at, .L7F01376C -/* 048290 7F013760 28410005 */ slti $at, $v0, 5 -/* 048294 7F013764 14200002 */ bnez $at, .L7F013770 -/* 048298 7F013768 00000000 */ nop -.L7F01376C: -/* 04829C 7F01376C AC6C0000 */ sw $t4, ($v1) -.L7F013770: -/* 0482A0 7F013770 56D70047 */ bnel $s6, $s7, .L7F013890 -/* 0482A4 7F013774 00102600 */ sll $a0, $s0, 0x18 -/* 0482A8 7F013778 56200045 */ bnezl $s1, .L7F013890 -/* 0482AC 7F01377C 00102600 */ sll $a0, $s0, 0x18 -/* 0482B0 7F013780 8E6D0000 */ lw $t5, ($s3) -/* 0482B4 7F013784 29A10004 */ slti $at, $t5, 4 -/* 0482B8 7F013788 50200041 */ beql $at, $zero, .L7F013890 -/* 0482BC 7F01378C 00102600 */ sll $a0, $s0, 0x18 -/* 0482C0 7F013790 8E6E0004 */ lw $t6, 4($s3) -/* 0482C4 7F013794 29C10004 */ slti $at, $t6, 4 -/* 0482C8 7F013798 5420003D */ bnezl $at, .L7F013890 -/* 0482CC 7F01379C 00102600 */ sll $a0, $s0, 0x18 -/* 0482D0 7F0137A0 1000003A */ b .L7F01388C -/* 0482D4 7F0137A4 AE600004 */ sw $zero, 4($s3) -.L7F0137A8: -/* 0482D8 7F0137A8 00047E03 */ sra $t7, $a0, 0x18 -/* 0482DC 7F0137AC 01E02025 */ move $a0, $t7 -/* 0482E0 7F0137B0 0C0030EB */ jal get_controller_buttons_pressed -/* 0482E4 7F0137B4 24050101 */ li $a1, 257 -/* 0482E8 7F0137B8 1440000B */ bnez $v0, .L7F0137E8 -/* 0482EC 7F0137BC 00102600 */ sll $a0, $s0, 0x18 -/* 0482F0 7F0137C0 0004C603 */ sra $t8, $a0, 0x18 -/* 0482F4 7F0137C4 03002025 */ move $a0, $t8 -/* 0482F8 7F0137C8 2405FFFE */ li $a1, -2 -/* 0482FC 7F0137CC 0C00312D */ jal get_controller_3dstick_L_R -/* 048300 7F0137D0 03C03025 */ move $a2, $fp -/* 048304 7F0137D4 18400022 */ blez $v0, .L7F013860 -/* 048308 7F0137D8 00102600 */ sll $a0, $s0, 0x18 -/* 04830C 7F0137DC 8E990000 */ lw $t9, ($s4) -/* 048310 7F0137E0 53200020 */ beql $t9, $zero, .L7F013864 -/* 048314 7F0137E4 00046E03 */ sra $t5, $a0, 0x18 -.L7F0137E8: -/* 048318 7F0137E8 16D70003 */ bne $s6, $s7, .L7F0137F8 -/* 04831C 7F0137EC 02751821 */ addu $v1, $s3, $s5 -/* 048320 7F0137F0 52200006 */ beql $s1, $zero, .L7F01380C -/* 048324 7F0137F4 8C620000 */ lw $v0, ($v1) -.L7F0137F8: -/* 048328 7F0137F8 8C620000 */ lw $v0, ($v1) -/* 04832C 7F0137FC 28410004 */ slti $at, $v0, 4 -/* 048330 7F013800 54200013 */ bnezl $at, .L7F013850 -/* 048334 7F013804 28410003 */ slti $at, $v0, 3 -/* 048338 7F013808 8C620000 */ lw $v0, ($v1) -.L7F01380C: -/* 04833C 7F01380C 28410007 */ slti $at, $v0, 7 -/* 048340 7F013810 1020001E */ beqz $at, .L7F01388C -/* 048344 7F013814 24480001 */ addiu $t0, $v0, 1 -/* 048348 7F013818 1620001C */ bnez $s1, .L7F01388C -/* 04834C 7F01381C AC680000 */ sw $t0, ($v1) -/* 048350 7F013820 8E690000 */ lw $t1, ($s3) -/* 048354 7F013824 24010004 */ li $at, 4 -/* 048358 7F013828 55210019 */ bnel $t1, $at, .L7F013890 -/* 04835C 7F01382C 00102600 */ sll $a0, $s0, 0x18 -/* 048360 7F013830 8E6A0004 */ lw $t2, 4($s3) -/* 048364 7F013834 240B0004 */ li $t3, 4 -/* 048368 7F013838 29410004 */ slti $at, $t2, 4 -/* 04836C 7F01383C 50200014 */ beql $at, $zero, .L7F013890 -/* 048370 7F013840 00102600 */ sll $a0, $s0, 0x18 -/* 048374 7F013844 10000011 */ b .L7F01388C -/* 048378 7F013848 AE6B0004 */ sw $t3, 4($s3) -/* 04837C 7F01384C 28410003 */ slti $at, $v0, 3 -.L7F013850: -/* 048380 7F013850 1020000E */ beqz $at, .L7F01388C -/* 048384 7F013854 244C0001 */ addiu $t4, $v0, 1 -/* 048388 7F013858 1000000C */ b .L7F01388C -/* 04838C 7F01385C AC6C0000 */ sw $t4, ($v1) -.L7F013860: -/* 048390 7F013860 00046E03 */ sra $t5, $a0, 0x18 -.L7F013864: -/* 048394 7F013864 01A02025 */ move $a0, $t5 -/* 048398 7F013868 0C0030EB */ jal get_controller_buttons_pressed -/* 04839C 7F01386C 3405B000 */ li $a1, 45056 -/* 0483A0 7F013870 10400006 */ beqz $v0, .L7F01388C -/* 0483A4 7F013874 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0483A8 7F013878 AE5E0000 */ sw $fp, ($s2) -/* 0483AC 7F01387C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0483B0 7F013880 240500C7 */ li $a1, 199 -/* 0483B4 7F013884 0C002382 */ jal play_sfx_a1 -/* 0483B8 7F013888 00003025 */ move $a2, $zero -.L7F01388C: -/* 0483BC 7F01388C 00102600 */ sll $a0, $s0, 0x18 -.L7F013890: -/* 0483C0 7F013890 00047603 */ sra $t6, $a0, 0x18 -/* 0483C4 7F013894 01C02025 */ move $a0, $t6 -/* 0483C8 7F013898 2405FFFE */ li $a1, -2 -/* 0483CC 7F01389C 0C00312D */ jal get_controller_3dstick_L_R -/* 0483D0 7F0138A0 03C03025 */ move $a2, $fp -/* 0483D4 7F0138A4 2401FFFF */ li $at, -1 -/* 0483D8 7F0138A8 10410008 */ beq $v0, $at, .L7F0138CC -/* 0483DC 7F0138AC 00102600 */ sll $a0, $s0, 0x18 -/* 0483E0 7F0138B0 00047E03 */ sra $t7, $a0, 0x18 -/* 0483E4 7F0138B4 01E02025 */ move $a0, $t7 -/* 0483E8 7F0138B8 2405FFFE */ li $a1, -2 -/* 0483EC 7F0138BC 0C00312D */ jal get_controller_3dstick_L_R -/* 0483F0 7F0138C0 03C03025 */ move $a2, $fp -/* 0483F4 7F0138C4 54400005 */ bnezl $v0, .L7F0138DC -/* 0483F8 7F0138C8 AE800000 */ sw $zero, ($s4) -.L7F0138CC: -/* 0483FC 7F0138CC AE9E0000 */ sw $fp, ($s4) -/* 048400 7F0138D0 10000003 */ b .L7F0138E0 -/* 048404 7F0138D4 8E420000 */ lw $v0, ($s2) -/* 048408 7F0138D8 AE800000 */ sw $zero, ($s4) -.L7F0138DC: -/* 04840C 7F0138DC 8E420000 */ lw $v0, ($s2) -.L7F0138E0: -/* 048410 7F0138E0 10400004 */ beqz $v0, .L7F0138F4 -/* 048414 7F0138E4 26310001 */ addiu $s1, $s1, 1 -/* 048418 7F0138E8 8FB80044 */ lw $t8, 0x44($sp) -/* 04841C 7F0138EC 27190001 */ addiu $t9, $t8, 1 -/* 048420 7F0138F0 AFB90044 */ sw $t9, 0x44($sp) -.L7F0138F4: -/* 048424 7F0138F4 26B50004 */ addiu $s5, $s5, 4 -/* 048428 7F0138F8 1636FF67 */ bne $s1, $s6, .L7F013698 -/* 04842C 7F0138FC 26520004 */ addiu $s2, $s2, 4 -.L7F013900: -/* 048430 7F013900 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 048434 7F013904 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 048438 7F013908 0FC02DC9 */ jal disable_all_switches -/* 04843C 7F01390C 8E040000 */ lw $a0, ($s0) -/* 048440 7F013910 8E040000 */ lw $a0, ($s0) -/* 048444 7F013914 00002825 */ move $a1, $zero -/* 048448 7F013918 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04844C 7F01391C 24060001 */ li $a2, 1 -/* 048450 7F013920 8E040000 */ lw $a0, ($s0) -/* 048454 7F013924 2405002A */ li $a1, 42 -/* 048458 7F013928 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04845C 7F01392C 24060001 */ li $a2, 1 -/* 048460 7F013930 0FC026E1 */ jal menu_control_stick_tracking -/* 048464 7F013934 00000000 */ nop -/* 048468 7F013938 8FA80044 */ lw $t0, 0x44($sp) -/* 04846C 7F01393C 2404000E */ li $a0, 14 -/* 048470 7F013940 55160004 */ bnel $t0, $s6, .L7F013954 -/* 048474 7F013944 8FBF003C */ lw $ra, 0x3c($sp) -/* 048478 7F013948 0FC06975 */ jal set_menu_to_mode -/* 04847C 7F01394C 00002825 */ move $a1, $zero -/* 048480 7F013950 8FBF003C */ lw $ra, 0x3c($sp) -.L7F013954: -/* 048484 7F013954 8FB00018 */ lw $s0, 0x18($sp) -/* 048488 7F013958 8FB1001C */ lw $s1, 0x1c($sp) -/* 04848C 7F01395C 8FB20020 */ lw $s2, 0x20($sp) -/* 048490 7F013960 8FB30024 */ lw $s3, 0x24($sp) -/* 048494 7F013964 8FB40028 */ lw $s4, 0x28($sp) -/* 048498 7F013968 8FB5002C */ lw $s5, 0x2c($sp) -/* 04849C 7F01396C 8FB60030 */ lw $s6, 0x30($sp) -/* 0484A0 7F013970 8FB70034 */ lw $s7, 0x34($sp) -/* 0484A4 7F013974 8FBE0038 */ lw $fp, 0x38($sp) -/* 0484A8 7F013978 03E00008 */ jr $ra -/* 0484AC 7F01397C 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - -#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 -/* 0481BC 7F01364C AFBF003C */ sw $ra, 0x3c($sp) -/* 0481C0 7F013650 AFBE0038 */ sw $fp, 0x38($sp) -/* 0481C4 7F013654 AFB70034 */ sw $s7, 0x34($sp) -/* 0481C8 7F013658 AFB60030 */ sw $s6, 0x30($sp) -/* 0481CC 7F01365C AFB5002C */ sw $s5, 0x2c($sp) -/* 0481D0 7F013660 AFB40028 */ sw $s4, 0x28($sp) -/* 0481D4 7F013664 AFB30024 */ sw $s3, 0x24($sp) -/* 0481D8 7F013668 AFB20020 */ sw $s2, 0x20($sp) -/* 0481DC 7F01366C AFB1001C */ sw $s1, 0x1c($sp) -/* 0481E0 7F013670 0FC040B4 */ jal get_selected_num_players -/* 0481E4 7F013674 AFB00018 */ sw $s0, 0x18($sp) -/* 0481E8 7F013678 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0481EC 7F01367C 44816000 */ mtc1 $at, $f12 -/* 0481F0 7F013680 0040B825 */ move $s7, $v0 -/* 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 -/* 048204 7F013694 C42C1AC8 */ lwc1 $f12, %lo(D_80051A98)($at) -/* 048208 7F013698 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04820C 7F01369C 44816000 */ mtc1 $at, $f12 -/* 048210 7F0136A0 3C018005 */ lui $at, %hi(D_80051A9C) # $at, 0x8005 -/* 048214 7F0136A4 0C001194 */ jal set_page_height -/* 048218 7F0136A8 C42E1ACC */ lwc1 $f14, %lo(D_80051A9C)($at) -/* 04821C 7F0136AC 0C00114D */ jal set_video2_settings_offset_24 -/* 048220 7F0136B0 00002025 */ move $a0, $zero -/* 048224 7F0136B4 1AE000BE */ blez $s7, .L7F0139B0 -/* 048228 7F0136B8 00009025 */ move $s2, $zero -/* 04822C 7F0136BC 3C138007 */ lui $s3, %hi(has_selected_char_player1) # $s3, 0x8007 -/* 048230 7F0136C0 3C108007 */ lui $s0, %hi(controlstyle_player) # $s0, 0x8007 -/* 048234 7F0136C4 261097F8 */ addiu $s0, %lo(controlstyle_player) # addiu $s0, $s0, -0x6808 -/* 048238 7F0136C8 26739780 */ addiu $s3, %lo(has_selected_char_player1) # addiu $s3, $s3, -0x6880 -/* 04823C 7F0136CC 0000B025 */ move $s6, $zero -/* 048240 7F0136D0 241E0002 */ li $fp, 2 -/* 048244 7F0136D4 24140004 */ li $s4, 4 -.L7F0136D8: -/* 048248 7F0136D8 8E6E0000 */ lw $t6, ($s3) -/* 04824C 7F0136DC 00122600 */ sll $a0, $s2, 0x18 -/* 048250 7F0136E0 00047E03 */ sra $t7, $a0, 0x18 -/* 048254 7F0136E4 11C0000A */ beqz $t6, .L7F013710 -/* 048258 7F0136E8 01E02025 */ move $a0, $t7 -/* 04825C 7F0136EC 0C003104 */ jal get_controller_buttons_pressed -/* 048260 7F0136F0 24054000 */ li $a1, 16384 -/* 048264 7F0136F4 10400006 */ beqz $v0, .L7F013710 -/* 048268 7F0136F8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 04826C 7F0136FC AE600000 */ sw $zero, ($s3) -/* 048270 7F013700 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 048274 7F013704 240500C7 */ li $a1, 199 -/* 048278 7F013708 0C002386 */ jal play_sfx_a1 -/* 04827C 7F01370C 00003025 */ move $a2, $zero -.L7F013710: -/* 048280 7F013710 8E620000 */ lw $v0, ($s3) -/* 048284 7F013714 00128E00 */ sll $s1, $s2, 0x18 -/* 048288 7F013718 0011C603 */ sra $t8, $s1, 0x18 -/* 04828C 7F01371C 1440009C */ bnez $v0, .L7F013990 -/* 048290 7F013720 03008825 */ move $s1, $t8 -/* 048294 7F013724 00182600 */ sll $a0, $t8, 0x18 -/* 048298 7F013728 3C088007 */ lui $t0, %hi(dword_CODE_bss_80069760) # $t0, 0x8007 -/* 04829C 7F01372C 250897A0 */ addiu $t0, %lo(dword_CODE_bss_80069760) # addiu $t0, $t0, -0x6860 -/* 0482A0 7F013730 0004CE03 */ sra $t9, $a0, 0x18 -/* 0482A4 7F013734 03202025 */ move $a0, $t9 -/* 0482A8 7F013738 02C8A821 */ addu $s5, $s6, $t0 -/* 0482AC 7F01373C 0C003104 */ jal get_controller_buttons_pressed -/* 0482B0 7F013740 24050202 */ li $a1, 514 -/* 0482B4 7F013744 1440000B */ bnez $v0, .L7F013774 -/* 0482B8 7F013748 00112600 */ sll $a0, $s1, 0x18 -/* 0482BC 7F01374C 00044E03 */ sra $t1, $a0, 0x18 -/* 0482C0 7F013750 01202025 */ move $a0, $t1 -/* 0482C4 7F013754 2405FFFE */ li $a1, -2 -/* 0482C8 7F013758 0C003146 */ jal get_controller_3dstick_L_R -/* 0482CC 7F01375C 24060001 */ li $a2, 1 -/* 0482D0 7F013760 2841FFFF */ slti $at, $v0, -1 -/* 0482D4 7F013764 1020002C */ beqz $at, .L7F013818 -/* 0482D8 7F013768 00112600 */ sll $a0, $s1, 0x18 -/* 0482DC 7F01376C 8EAA0000 */ lw $t2, ($s5) -/* 0482E0 7F013770 11400029 */ beqz $t2, .L7F013818 -.L7F013774: -/* 0482E4 7F013774 02161821 */ addu $v1, $s0, $s6 -/* 0482E8 7F013778 8C6B0000 */ lw $t3, ($v1) -/* 0482EC 7F01377C 19600062 */ blez $t3, .L7F013908 -/* 0482F0 7F013780 00000000 */ nop -/* 0482F4 7F013784 16FE000F */ bne $s7, $fp, .L7F0137C4 -/* 0482F8 7F013788 24010001 */ li $at, 1 -/* 0482FC 7F01378C 5641000E */ bnel $s2, $at, .L7F0137C8 -/* 048300 7F013790 8C6E0000 */ lw $t6, ($v1) -/* 048304 7F013794 0C002E82 */ jal get_attached_controller_count -/* 048308 7F013798 AFA30040 */ sw $v1, 0x40($sp) -/* 04830C 7F01379C 14540009 */ bne $v0, $s4, .L7F0137C4 -/* 048310 7F0137A0 8FA30040 */ lw $v1, 0x40($sp) -/* 048314 7F0137A4 8E0C0000 */ lw $t4, ($s0) -/* 048318 7F0137A8 29810004 */ slti $at, $t4, 4 -/* 04831C 7F0137AC 54200006 */ bnezl $at, .L7F0137C8 -/* 048320 7F0137B0 8C6E0000 */ lw $t6, ($v1) -/* 048324 7F0137B4 8C6D0000 */ lw $t5, ($v1) -/* 048328 7F0137B8 29A10005 */ slti $at, $t5, 5 -/* 04832C 7F0137BC 14200004 */ bnez $at, .L7F0137D0 -/* 048330 7F0137C0 00000000 */ nop -.L7F0137C4: -/* 048334 7F0137C4 8C6E0000 */ lw $t6, ($v1) -.L7F0137C8: -/* 048338 7F0137C8 25CFFFFF */ addiu $t7, $t6, -1 -/* 04833C 7F0137CC AC6F0000 */ sw $t7, ($v1) -.L7F0137D0: -/* 048340 7F0137D0 16FE004D */ bne $s7, $fp, .L7F013908 -/* 048344 7F0137D4 00000000 */ nop -/* 048348 7F0137D8 1640004B */ bnez $s2, .L7F013908 -/* 04834C 7F0137DC 00000000 */ nop -/* 048350 7F0137E0 0C002E82 */ jal get_attached_controller_count -/* 048354 7F0137E4 00000000 */ nop -/* 048358 7F0137E8 14540047 */ bne $v0, $s4, .L7F013908 -/* 04835C 7F0137EC 00000000 */ nop -/* 048360 7F0137F0 8E180000 */ lw $t8, ($s0) -/* 048364 7F0137F4 2B010004 */ slti $at, $t8, 4 -/* 048368 7F0137F8 10200043 */ beqz $at, .L7F013908 -/* 04836C 7F0137FC 00000000 */ nop -/* 048370 7F013800 8E190004 */ lw $t9, 4($s0) -/* 048374 7F013804 2B210004 */ slti $at, $t9, 4 -/* 048378 7F013808 1420003F */ bnez $at, .L7F013908 -/* 04837C 7F01380C 00000000 */ nop -/* 048380 7F013810 1000003D */ b .L7F013908 -/* 048384 7F013814 AE000004 */ sw $zero, 4($s0) -.L7F013818: -/* 048388 7F013818 00044603 */ sra $t0, $a0, 0x18 -/* 04838C 7F01381C 01002025 */ move $a0, $t0 -/* 048390 7F013820 0C003104 */ jal get_controller_buttons_pressed -/* 048394 7F013824 24050101 */ li $a1, 257 -/* 048398 7F013828 1440000B */ bnez $v0, .L7F013858 -/* 04839C 7F01382C 00112600 */ sll $a0, $s1, 0x18 -/* 0483A0 7F013830 00044E03 */ sra $t1, $a0, 0x18 -/* 0483A4 7F013834 01202025 */ move $a0, $t1 -/* 0483A8 7F013838 2405FFFE */ li $a1, -2 -/* 0483AC 7F01383C 0C003146 */ jal get_controller_3dstick_L_R -/* 0483B0 7F013840 24060001 */ li $a2, 1 -/* 0483B4 7F013844 18400024 */ blez $v0, .L7F0138D8 -/* 0483B8 7F013848 00112600 */ sll $a0, $s1, 0x18 -/* 0483BC 7F01384C 8EAA0000 */ lw $t2, ($s5) -/* 0483C0 7F013850 51400022 */ beql $t2, $zero, .L7F0138DC -/* 0483C4 7F013854 00047E03 */ sra $t7, $a0, 0x18 -.L7F013858: -/* 0483C8 7F013858 16FE0007 */ bne $s7, $fp, .L7F013878 -/* 0483CC 7F01385C 02161821 */ addu $v1, $s0, $s6 -/* 0483D0 7F013860 56400006 */ bnezl $s2, .L7F01387C -/* 0483D4 7F013864 8C620000 */ lw $v0, ($v1) -/* 0483D8 7F013868 0C002E82 */ jal get_attached_controller_count -/* 0483DC 7F01386C AFA30040 */ sw $v1, 0x40($sp) -/* 0483E0 7F013870 10540005 */ beq $v0, $s4, .L7F013888 -/* 0483E4 7F013874 8FA30040 */ lw $v1, 0x40($sp) -.L7F013878: -/* 0483E8 7F013878 8C620000 */ lw $v0, ($v1) -.L7F01387C: -/* 0483EC 7F01387C 28410004 */ slti $at, $v0, 4 -/* 0483F0 7F013880 54200011 */ bnezl $at, .L7F0138C8 -/* 0483F4 7F013884 28410003 */ slti $at, $v0, 3 -.L7F013888: -/* 0483F8 7F013888 8C620000 */ lw $v0, ($v1) -/* 0483FC 7F01388C 28410007 */ slti $at, $v0, 7 -/* 048400 7F013890 1020001D */ beqz $at, .L7F013908 -/* 048404 7F013894 244B0001 */ addiu $t3, $v0, 1 -/* 048408 7F013898 1640001B */ bnez $s2, .L7F013908 -/* 04840C 7F01389C AC6B0000 */ sw $t3, ($v1) -/* 048410 7F0138A0 8E0C0000 */ lw $t4, ($s0) -/* 048414 7F0138A4 168C0018 */ bne $s4, $t4, .L7F013908 -/* 048418 7F0138A8 00000000 */ nop -/* 04841C 7F0138AC 8E0D0004 */ lw $t5, 4($s0) -/* 048420 7F0138B0 29A10004 */ slti $at, $t5, 4 -/* 048424 7F0138B4 10200014 */ beqz $at, .L7F013908 -/* 048428 7F0138B8 00000000 */ nop -/* 04842C 7F0138BC 10000012 */ b .L7F013908 -/* 048430 7F0138C0 AE140004 */ sw $s4, 4($s0) -/* 048434 7F0138C4 28410003 */ slti $at, $v0, 3 -.L7F0138C8: -/* 048438 7F0138C8 1020000F */ beqz $at, .L7F013908 -/* 04843C 7F0138CC 244E0001 */ addiu $t6, $v0, 1 -/* 048440 7F0138D0 1000000D */ b .L7F013908 -/* 048444 7F0138D4 AC6E0000 */ sw $t6, ($v1) -.L7F0138D8: -/* 048448 7F0138D8 00047E03 */ sra $t7, $a0, 0x18 -.L7F0138DC: -/* 04844C 7F0138DC 01E02025 */ move $a0, $t7 -/* 048450 7F0138E0 0C003104 */ jal get_controller_buttons_pressed -/* 048454 7F0138E4 3405B000 */ li $a1, 45056 -/* 048458 7F0138E8 10400007 */ beqz $v0, .L7F013908 -/* 04845C 7F0138EC 24180001 */ li $t8, 1 -/* 048460 7F0138F0 AE780000 */ sw $t8, ($s3) -/* 048464 7F0138F4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 048468 7F0138F8 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04846C 7F0138FC 240500C7 */ li $a1, 199 -/* 048470 7F013900 0C002386 */ jal play_sfx_a1 -/* 048474 7F013904 00003025 */ move $a2, $zero -.L7F013908: -/* 048478 7F013908 0C002E82 */ jal get_attached_controller_count -/* 04847C 7F01390C 00000000 */ nop -/* 048480 7F013910 1054000B */ beq $v0, $s4, .L7F013940 -/* 048484 7F013914 00112600 */ sll $a0, $s1, 0x18 -/* 048488 7F013918 8E190000 */ lw $t9, ($s0) -/* 04848C 7F01391C 2B210004 */ slti $at, $t9, 4 -/* 048490 7F013920 54200003 */ bnezl $at, .L7F013930 -/* 048494 7F013924 8E080004 */ lw $t0, 4($s0) -/* 048498 7F013928 AE000000 */ sw $zero, ($s0) -/* 04849C 7F01392C 8E080004 */ lw $t0, 4($s0) -.L7F013930: -/* 0484A0 7F013930 29010004 */ slti $at, $t0, 4 -/* 0484A4 7F013934 54200003 */ bnezl $at, .L7F013944 -/* 0484A8 7F013938 00044E03 */ sra $t1, $a0, 0x18 -/* 0484AC 7F01393C AE000004 */ sw $zero, 4($s0) -.L7F013940: -/* 0484B0 7F013940 00044E03 */ sra $t1, $a0, 0x18 -.L7F013944: -/* 0484B4 7F013944 01202025 */ move $a0, $t1 -/* 0484B8 7F013948 2405FFFE */ li $a1, -2 -/* 0484BC 7F01394C 0C003146 */ jal get_controller_3dstick_L_R -/* 0484C0 7F013950 24060001 */ li $a2, 1 -/* 0484C4 7F013954 2401FFFF */ li $at, -1 -/* 0484C8 7F013958 10410007 */ beq $v0, $at, .L7F013978 -/* 0484CC 7F01395C 00112600 */ sll $a0, $s1, 0x18 -/* 0484D0 7F013960 00045603 */ sra $t2, $a0, 0x18 -/* 0484D4 7F013964 01402025 */ move $a0, $t2 -/* 0484D8 7F013968 2405FFFE */ li $a1, -2 -/* 0484DC 7F01396C 0C003146 */ jal get_controller_3dstick_L_R -/* 0484E0 7F013970 24060001 */ li $a2, 1 -/* 0484E4 7F013974 14400004 */ bnez $v0, .L7F013988 -.L7F013978: -/* 0484E8 7F013978 240B0001 */ li $t3, 1 -/* 0484EC 7F01397C AEAB0000 */ sw $t3, ($s5) -/* 0484F0 7F013980 10000003 */ b .L7F013990 -/* 0484F4 7F013984 8E620000 */ lw $v0, ($s3) -.L7F013988: -/* 0484F8 7F013988 AEA00000 */ sw $zero, ($s5) -/* 0484FC 7F01398C 8E620000 */ lw $v0, ($s3) -.L7F013990: -/* 048500 7F013990 10400004 */ beqz $v0, .L7F0139A4 -/* 048504 7F013994 26520001 */ addiu $s2, $s2, 1 -/* 048508 7F013998 8FAC0054 */ lw $t4, 0x54($sp) -/* 04850C 7F01399C 258D0001 */ addiu $t5, $t4, 1 -/* 048510 7F0139A0 AFAD0054 */ sw $t5, 0x54($sp) -.L7F0139A4: -/* 048514 7F0139A4 26D60004 */ addiu $s6, $s6, 4 -/* 048518 7F0139A8 1657FF4B */ bne $s2, $s7, .L7F0136D8 -/* 04851C 7F0139AC 26730004 */ addiu $s3, $s3, 4 -.L7F0139B0: -/* 048520 7F0139B0 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) # $s0, 0x8003 -/* 048524 7F0139B4 2610A99C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x5664 -/* 048528 7F0139B8 0FC02DD1 */ jal disable_all_switches -/* 04852C 7F0139BC 8E040000 */ lw $a0, ($s0) -/* 048530 7F0139C0 8E040000 */ lw $a0, ($s0) -/* 048534 7F0139C4 00002825 */ move $a1, $zero -/* 048538 7F0139C8 0FC02DF8 */ jal set_item_visibility_in_objinstance -/* 04853C 7F0139CC 24060001 */ li $a2, 1 -/* 048540 7F0139D0 8E040000 */ lw $a0, ($s0) -/* 048544 7F0139D4 2405002A */ li $a1, 42 -/* 048548 7F0139D8 0FC02DF8 */ jal set_item_visibility_in_objinstance -/* 04854C 7F0139DC 24060001 */ li $a2, 1 -/* 048550 7F0139E0 0FC026E9 */ jal menu_control_stick_tracking -/* 048554 7F0139E4 00000000 */ nop -/* 048558 7F0139E8 8FAE0054 */ lw $t6, 0x54($sp) -/* 04855C 7F0139EC 2404000E */ li $a0, 14 -/* 048560 7F0139F0 55D70004 */ bnel $t6, $s7, .L7F013A04 -/* 048564 7F0139F4 8FBF003C */ lw $ra, 0x3c($sp) -/* 048568 7F0139F8 0FC069E2 */ jal set_menu_to_mode -/* 04856C 7F0139FC 00002825 */ move $a1, $zero -/* 048570 7F013A00 8FBF003C */ lw $ra, 0x3c($sp) -.L7F013A04: -/* 048574 7F013A04 8FB00018 */ lw $s0, 0x18($sp) -/* 048578 7F013A08 8FB1001C */ lw $s1, 0x1c($sp) -/* 04857C 7F013A0C 8FB20020 */ lw $s2, 0x20($sp) -/* 048580 7F013A10 8FB30024 */ lw $s3, 0x24($sp) -/* 048584 7F013A14 8FB40028 */ lw $s4, 0x28($sp) -/* 048588 7F013A18 8FB5002C */ lw $s5, 0x2c($sp) -/* 04858C 7F013A1C 8FB60030 */ lw $s6, 0x30($sp) -/* 048590 7F013A20 8FB70034 */ lw $s7, 0x34($sp) -/* 048594 7F013A24 8FBE0038 */ lw $fp, 0x38($sp) -/* 048598 7F013A28 03E00008 */ jr $ra -/* 04859C 7F013A2C 27BD0060 */ addiu $sp, $sp, 0x60 - -) -#endif - -#endif - - -#ifdef NONMATCHING -void constructor_menu11_mpcontrol(s32 arg0) -{ - s32 spCC; - s32 spA4; - s32 spA0; - s32 sp9C; - s32 sp98; - s32 sp90; - s32 sp8C; - s32 sp88; - s32 sp84; - void *sp74; - void *sp70; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_ret_4; - s32 temp_s1; - s32 temp_s1_2; - s32 temp_s6; - s32 temp_v0; - s32 phi_s6; - s32 phi_s3; - s32 phi_s2; - void *phi_v0; - s32 phi_s5; - s32 phi_s1; - s32 phi_s1_2; - s32 phi_v1; - s32 phi_v1_2; - - spCC = get_selected_num_players(); - temp_ret = microcode_constructor_related_to_menus(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(arg0, 0, 0, 0)))), 0x26, 0xa9, 0x184, 0xab, 0x90); - temp_s1 = temp_ret; - phi_v0 = temp_ret; - phi_s1_2 = temp_s1; - if (spCC >= 3) - { - temp_ret_2 = microcode_constructor_related_to_menus(temp_s1, 0xd4, 0x1e, 0xd6, 0x136, 0x80); - phi_v0 = temp_ret_2; - phi_s1_2 = temp_ret_2; - } - if (spCC > 0) - { - sp74 = &has_selected_char_player1; - sp70 = &controlstyle_player; - phi_s6 = 0; -loop_4: - if (spCC == 2) - { - if (phi_s6 > 0) - { - phi_s3 = 0x26; - phi_s2 = 0xaa; - phi_s5 = 0x15e; - } - else - { - phi_s3 = 0x26; - phi_s2 = 0 + 0x1e; - phi_s5 = 0x15e; - } - } - else - { - if (phi_s6 >= 2) - { - phi_v1_2 = 0x8c; - } - else - { - phi_v1_2 = 0; - } - if ((phi_s6 & 1) != 0) - { - phi_v1 = 0xaf; - } - else - { - phi_v1 = 0; - } - phi_s3 = phi_v1 + 0x26; - phi_s2 = phi_v1_2 + 0x1e; - phi_s5 = 0xaf; - } - temp_s1_2 = phi_v0 + 8; - phi_v0->unk0 = (s32) (((((s32) ((f32) (phi_s3 + 6) * 4.0f) & 0xfff) << 0xc) | 0xed000000) | ((s32) ((f32) (phi_s2 + 5) * 4.0f) & 0xfff)); - phi_v0->unk4 = (s32) ((((s32) ((f32) ((phi_s3 + phi_s5) + -6) * 4.0f) & 0xfff) << 0xc) | ((s32) ((f32) (phi_s2 + 0x87) * 4.0f) & 0xfff)); - phi_s1 = temp_s1_2; - if (*sp74 == 0) - { - temp_ret_3 = get_textptr_for_textID(TEXT(LTITLE, 0x11d)); - sub_GAME_7F0AE98C(&spA4, &spA0, temp_ret_3, ptrSecondFontTableLarge, (?32) subroutine_arg0, 0); - sp9C = (s32) ((((s32) phi_s5 >> 1) + phi_s3) - (spA0 >> 1)); - sp98 = (s32) ((phi_s2 - (spA4 >> 1)) + 0x37); - get_video2_settings_txtClipW(); - phi_s1 = write_text_at_abs_coord(microcode_constructor(temp_s1_2), &sp9C, &sp98, temp_ret_3, (?32) ptrSecondFontTableLarge, (?32) subroutine_arg0, 0xff, get_video2_settings_txtClipH(), 0, 0); - } - temp_ret_4 = get_textptr_for_textID((0x80030000 + (*sp70 * 4))->unk-4B10); - sub_GAME_7F0AE98C(&sp90, &sp8C, temp_ret_4, ptrSecondFontTableLarge, (?32) subroutine_arg0, 0); - sp88 = (s32) ((((s32) phi_s5 >> 1) + phi_s3) - (sp8C >> 1)); - sp84 = (s32) (((phi_s2 + 0x46) - (sp90 >> 1)) + 0xf); - get_video2_settings_txtClipW(); - temp_s6 = phi_s6 + 1; - sp70 = (void *) (sp70 + 4); - temp_v0 = write_text_at_abs_coord(microcode_constructor(phi_s1), &sp88, &sp84, temp_ret_4, (?32) ptrSecondFontTableLarge, (?32) subroutine_arg0, 0xff, get_video2_settings_txtClipH(), 0, 0); - sp74 = (void *) (sp74 + 4); - phi_s6 = temp_s6; - phi_v0 = temp_v0; - phi_s1_2 = temp_v0; - if (temp_s6 != spCC) - { - goto loop_4; - } - } - combiner_bayer_lod_perspective(phi_s1_2); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu11_mpcontrol -/* 0484B0 7F013980 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 0484B4 7F013984 AFBF0064 */ sw $ra, 0x64($sp) -/* 0484B8 7F013988 AFB10044 */ sw $s1, 0x44($sp) -/* 0484BC 7F01398C 00808825 */ move $s1, $a0 -/* 0484C0 7F013990 AFBE0060 */ sw $fp, 0x60($sp) -/* 0484C4 7F013994 AFB7005C */ sw $s7, 0x5c($sp) -/* 0484C8 7F013998 AFB60058 */ sw $s6, 0x58($sp) -/* 0484CC 7F01399C AFB50054 */ sw $s5, 0x54($sp) -/* 0484D0 7F0139A0 AFB40050 */ sw $s4, 0x50($sp) -/* 0484D4 7F0139A4 AFB3004C */ sw $s3, 0x4c($sp) -/* 0484D8 7F0139A8 AFB20048 */ sw $s2, 0x48($sp) -/* 0484DC 7F0139AC AFB00040 */ sw $s0, 0x40($sp) -/* 0484E0 7F0139B0 0FC040A4 */ jal get_selected_num_players -/* 0484E4 7F0139B4 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 0484E8 7F0139B8 AFA200CC */ sw $v0, 0xcc($sp) -/* 0484EC 7F0139BC 02202025 */ move $a0, $s1 -/* 0484F0 7F0139C0 00002825 */ move $a1, $zero -/* 0484F4 7F0139C4 00003025 */ move $a2, $zero -/* 0484F8 7F0139C8 0C0011B4 */ jal set_setfillcolor -/* 0484FC 7F0139CC 00003825 */ move $a3, $zero -/* 048500 7F0139D0 0C000FBE */ jal insert_generic_fillrect -/* 048504 7F0139D4 00402025 */ move $a0, $v0 -/* 048508 7F0139D8 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 04850C 7F0139DC 00402025 */ move $a0, $v0 -/* 048510 7F0139E0 0FC2B366 */ jal microcode_constructor -/* 048514 7F0139E4 00402025 */ move $a0, $v0 -/* 048518 7F0139E8 240E00AB */ li $t6, 171 -/* 04851C 7F0139EC 240F0090 */ li $t7, 144 -/* 048520 7F0139F0 AFAF0014 */ sw $t7, 0x14($sp) -/* 048524 7F0139F4 AFAE0010 */ sw $t6, 0x10($sp) -/* 048528 7F0139F8 00402025 */ move $a0, $v0 -/* 04852C 7F0139FC 24050026 */ li $a1, 38 -/* 048530 7F013A00 240600A9 */ li $a2, 169 -/* 048534 7F013A04 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 048538 7F013A08 24070184 */ li $a3, 388 -/* 04853C 7F013A0C 8FA800CC */ lw $t0, 0xcc($sp) -/* 048540 7F013A10 00408825 */ move $s1, $v0 -/* 048544 7F013A14 02202025 */ move $a0, $s1 -/* 048548 7F013A18 29010003 */ slti $at, $t0, 3 -/* 04854C 7F013A1C 1420000A */ bnez $at, .L7F013A48 -/* 048550 7F013A20 240500D4 */ li $a1, 212 -/* 048554 7F013A24 24180136 */ li $t8, 310 -/* 048558 7F013A28 24190080 */ li $t9, 128 -/* 04855C 7F013A2C AFB90014 */ sw $t9, 0x14($sp) -/* 048560 7F013A30 AFB80010 */ sw $t8, 0x10($sp) -/* 048564 7F013A34 2406001E */ li $a2, 30 -/* 048568 7F013A38 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04856C 7F013A3C 240700D6 */ li $a3, 214 -/* 048570 7F013A40 00408825 */ move $s1, $v0 -/* 048574 7F013A44 8FA800CC */ lw $t0, 0xcc($sp) -.L7F013A48: -/* 048578 7F013A48 190000BC */ blez $t0, .L7F013D3C -/* 04857C 7F013A4C 0000B025 */ move $s6, $zero -/* 048580 7F013A50 3C098007 */ lui $t1, %hi(has_selected_char_player1) -/* 048584 7F013A54 3C0A8007 */ lui $t2, %hi(controlstyle_player) -/* 048588 7F013A58 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 04858C 7F013A5C 254A97B8 */ addiu $t2, %lo(controlstyle_player) # addiu $t2, $t2, -0x6848 -/* 048590 7F013A60 25299740 */ addiu $t1, %lo(has_selected_char_player1) # addiu $t1, $t1, -0x68c0 -/* 048594 7F013A64 3C1E8004 */ lui $fp, %hi(ptrFirstFontTableLarge) -/* 048598 7F013A68 3C178004 */ lui $s7, %hi(ptrSecondFontTableLarge) -/* 04859C 7F013A6C 4481A000 */ mtc1 $at, $f20 -/* 0485A0 7F013A70 26F70EB8 */ addiu $s7, %lo(ptrSecondFontTableLarge) # addiu $s7, $s7, 0xeb8 -/* 0485A4 7F013A74 27DE0EB4 */ addiu $fp, %lo(ptrFirstFontTableLarge) # addiu $fp, $fp, 0xeb4 -/* 0485A8 7F013A78 AFA90074 */ sw $t1, 0x74($sp) -/* 0485AC 7F013A7C AFAA0070 */ sw $t2, 0x70($sp) -.L7F013A80: -/* 0485B0 7F013A80 8FA800CC */ lw $t0, 0xcc($sp) -/* 0485B4 7F013A84 24010002 */ li $at, 2 -/* 0485B8 7F013A88 24130026 */ li $s3, 38 -/* 0485BC 7F013A8C 15010008 */ bne $t0, $at, .L7F013AB0 -/* 0485C0 7F013A90 32CB0001 */ andi $t3, $s6, 1 -/* 0485C4 7F013A94 1AC00003 */ blez $s6, .L7F013AA4 -/* 0485C8 7F013A98 2415015E */ li $s5, 350 -/* 0485CC 7F013A9C 10000010 */ b .L7F013AE0 -/* 0485D0 7F013AA0 241200AA */ li $s2, 170 -.L7F013AA4: -/* 0485D4 7F013AA4 00001825 */ move $v1, $zero -/* 0485D8 7F013AA8 1000000D */ b .L7F013AE0 -/* 0485DC 7F013AAC 2472001E */ addiu $s2, $v1, 0x1e -.L7F013AB0: -/* 0485E0 7F013AB0 2AC10002 */ slti $at, $s6, 2 -/* 0485E4 7F013AB4 14200003 */ bnez $at, .L7F013AC4 -/* 0485E8 7F013AB8 241500AF */ li $s5, 175 -/* 0485EC 7F013ABC 10000002 */ b .L7F013AC8 -/* 0485F0 7F013AC0 2403008C */ li $v1, 140 -.L7F013AC4: -/* 0485F4 7F013AC4 00001825 */ move $v1, $zero -.L7F013AC8: -/* 0485F8 7F013AC8 11600003 */ beqz $t3, .L7F013AD8 -/* 0485FC 7F013ACC 2472001E */ addiu $s2, $v1, 0x1e -/* 048600 7F013AD0 10000002 */ b .L7F013ADC -/* 048604 7F013AD4 240300AF */ li $v1, 175 -.L7F013AD8: -/* 048608 7F013AD8 00001825 */ move $v1, $zero -.L7F013ADC: -/* 04860C 7F013ADC 24730026 */ addiu $s3, $v1, 0x26 -.L7F013AE0: -/* 048610 7F013AE0 266C0006 */ addiu $t4, $s3, 6 -/* 048614 7F013AE4 448C2000 */ mtc1 $t4, $f4 -/* 048618 7F013AE8 26490005 */ addiu $t1, $s2, 5 -/* 04861C 7F013AEC 44898000 */ mtc1 $t1, $f16 -/* 048620 7F013AF0 468021A0 */ cvt.s.w $f6, $f4 -/* 048624 7F013AF4 3C01ED00 */ lui $at, 0xed00 -/* 048628 7F013AF8 24510008 */ addiu $s1, $v0, 8 -/* 04862C 7F013AFC 468084A0 */ cvt.s.w $f18, $f16 -/* 048630 7F013B00 46143202 */ mul.s $f8, $f6, $f20 -/* 048634 7F013B04 4600428D */ trunc.w.s $f10, $f8 -/* 048638 7F013B08 46149102 */ mul.s $f4, $f18, $f20 -/* 04863C 7F013B0C 440E5000 */ mfc1 $t6, $f10 -/* 048640 7F013B10 00000000 */ nop -/* 048644 7F013B14 31CF0FFF */ andi $t7, $t6, 0xfff -/* 048648 7F013B18 4600218D */ trunc.w.s $f6, $f4 -/* 04864C 7F013B1C 000FC300 */ sll $t8, $t7, 0xc -/* 048650 7F013B20 02757021 */ addu $t6, $s3, $s5 -/* 048654 7F013B24 25CFFFFA */ addiu $t7, $t6, -6 -/* 048658 7F013B28 440B3000 */ mfc1 $t3, $f6 -/* 04865C 7F013B2C 448F4000 */ mtc1 $t7, $f8 -/* 048660 7F013B30 0301C825 */ or $t9, $t8, $at -/* 048664 7F013B34 316C0FFF */ andi $t4, $t3, 0xfff -/* 048668 7F013B38 032C6825 */ or $t5, $t9, $t4 -/* 04866C 7F013B3C 26590087 */ addiu $t9, $s2, 0x87 -/* 048670 7F013B40 468042A0 */ cvt.s.w $f10, $f8 -/* 048674 7F013B44 44992000 */ mtc1 $t9, $f4 -/* 048678 7F013B48 AC4D0000 */ sw $t5, ($v0) -/* 04867C 7F013B4C 468021A0 */ cvt.s.w $f6, $f4 -/* 048680 7F013B50 46145402 */ mul.s $f16, $f10, $f20 -/* 048684 7F013B54 00000000 */ nop -/* 048688 7F013B58 46143202 */ mul.s $f8, $f6, $f20 -/* 04868C 7F013B5C 4600848D */ trunc.w.s $f18, $f16 -/* 048690 7F013B60 4600428D */ trunc.w.s $f10, $f8 -/* 048694 7F013B64 44099000 */ mfc1 $t1, $f18 -/* 048698 7F013B68 440D5000 */ mfc1 $t5, $f10 -/* 04869C 7F013B6C 312A0FFF */ andi $t2, $t1, 0xfff -/* 0486A0 7F013B70 000A5B00 */ sll $t3, $t2, 0xc -/* 0486A4 7F013B74 31AE0FFF */ andi $t6, $t5, 0xfff -/* 0486A8 7F013B78 016E7825 */ or $t7, $t3, $t6 -/* 0486AC 7F013B7C AC4F0004 */ sw $t7, 4($v0) -/* 0486B0 7F013B80 8FB80074 */ lw $t8, 0x74($sp) -/* 0486B4 7F013B84 8F090000 */ lw $t1, ($t8) -/* 0486B8 7F013B88 1520002F */ bnez $t1, .L7F013C48 -/* 0486BC 7F013B8C 00000000 */ nop -/* 0486C0 7F013B90 0FC30776 */ jal get_textptr_for_textID -/* 0486C4 7F013B94 34049D1D */ li $a0, 40221 -/* 0486C8 7F013B98 8FCA0000 */ lw $t2, ($fp) -/* 0486CC 7F013B9C 0040A025 */ move $s4, $v0 -/* 0486D0 7F013BA0 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 0486D4 7F013BA4 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 0486D8 7F013BA8 00403025 */ move $a2, $v0 -/* 0486DC 7F013BAC 8EE70000 */ lw $a3, ($s7) -/* 0486E0 7F013BB0 AFA00014 */ sw $zero, 0x14($sp) -/* 0486E4 7F013BB4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0486E8 7F013BB8 AFAA0010 */ sw $t2, 0x10($sp) -/* 0486EC 7F013BBC 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 0486F0 7F013BC0 8FAD00A0 */ lw $t5, 0xa0($sp) -/* 0486F4 7F013BC4 0015C843 */ sra $t9, $s5, 1 -/* 0486F8 7F013BC8 000FC043 */ sra $t8, $t7, 1 -/* 0486FC 7F013BCC 03336021 */ addu $t4, $t9, $s3 -/* 048700 7F013BD0 02584823 */ subu $t1, $s2, $t8 -/* 048704 7F013BD4 000D5843 */ sra $t3, $t5, 1 -/* 048708 7F013BD8 018B7023 */ subu $t6, $t4, $t3 -/* 04870C 7F013BDC 252A0037 */ addiu $t2, $t1, 0x37 -/* 048710 7F013BE0 AFAE009C */ sw $t6, 0x9c($sp) -/* 048714 7F013BE4 AFAA0098 */ sw $t2, 0x98($sp) -/* 048718 7F013BE8 0FC2B366 */ jal microcode_constructor -/* 04871C 7F013BEC 02202025 */ move $a0, $s1 -/* 048720 7F013BF0 0C001107 */ jal get_video2_settings_txtClipW -/* 048724 7F013BF4 00408825 */ move $s1, $v0 -/* 048728 7F013BF8 00028400 */ sll $s0, $v0, 0x10 -/* 04872C 7F013BFC 0010CC03 */ sra $t9, $s0, 0x10 -/* 048730 7F013C00 0C00110B */ jal get_video2_settings_txtClipH -/* 048734 7F013C04 03208025 */ move $s0, $t9 -/* 048738 7F013C08 8EED0000 */ lw $t5, ($s7) -/* 04873C 7F013C0C 8FCC0000 */ lw $t4, ($fp) -/* 048740 7F013C10 240B00FF */ li $t3, 255 -/* 048744 7F013C14 AFAB0018 */ sw $t3, 0x18($sp) -/* 048748 7F013C18 02202025 */ move $a0, $s1 -/* 04874C 7F013C1C 27A5009C */ addiu $a1, $sp, 0x9c -/* 048750 7F013C20 27A60098 */ addiu $a2, $sp, 0x98 -/* 048754 7F013C24 02803825 */ move $a3, $s4 -/* 048758 7F013C28 AFB0001C */ sw $s0, 0x1c($sp) -/* 04875C 7F013C2C AFA20020 */ sw $v0, 0x20($sp) -/* 048760 7F013C30 AFA00024 */ sw $zero, 0x24($sp) -/* 048764 7F013C34 AFA00028 */ sw $zero, 0x28($sp) -/* 048768 7F013C38 AFAD0010 */ sw $t5, 0x10($sp) -/* 04876C 7F013C3C 0FC025D8 */ jal write_text_at_abs_coord -/* 048770 7F013C40 AFAC0014 */ sw $t4, 0x14($sp) -/* 048774 7F013C44 00408825 */ move $s1, $v0 -.L7F013C48: -/* 048778 7F013C48 8FAE0070 */ lw $t6, 0x70($sp) -/* 04877C 7F013C4C 3C048003 */ lui $a0, %hi(MP_controller_configuration_table) -/* 048780 7F013C50 00154843 */ sra $t1, $s5, 1 -/* 048784 7F013C54 8DCF0000 */ lw $t7, ($t6) -/* 048788 7F013C58 01338021 */ addu $s0, $t1, $s3 -/* 04878C 7F013C5C 26540046 */ addiu $s4, $s2, 0x46 -/* 048790 7F013C60 000FC080 */ sll $t8, $t7, 2 -/* 048794 7F013C64 00982021 */ addu $a0, $a0, $t8 -/* 048798 7F013C68 0FC30776 */ jal get_textptr_for_textID -/* 04879C 7F013C6C 9484B4F0 */ lhu $a0, %lo(MP_controller_configuration_table)($a0) -/* 0487A0 7F013C70 8FCA0000 */ lw $t2, ($fp) -/* 0487A4 7F013C74 00409025 */ move $s2, $v0 -/* 0487A8 7F013C78 27A40090 */ addiu $a0, $sp, 0x90 -/* 0487AC 7F013C7C 27A5008C */ addiu $a1, $sp, 0x8c -/* 0487B0 7F013C80 00403025 */ move $a2, $v0 -/* 0487B4 7F013C84 8EE70000 */ lw $a3, ($s7) -/* 0487B8 7F013C88 AFA00014 */ sw $zero, 0x14($sp) -/* 0487BC 7F013C8C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0487C0 7F013C90 AFAA0010 */ sw $t2, 0x10($sp) -/* 0487C4 7F013C94 8FAB0090 */ lw $t3, 0x90($sp) -/* 0487C8 7F013C98 8FB9008C */ lw $t9, 0x8c($sp) -/* 0487CC 7F013C9C 02202025 */ move $a0, $s1 -/* 0487D0 7F013CA0 000B7043 */ sra $t6, $t3, 1 -/* 0487D4 7F013CA4 028E7823 */ subu $t7, $s4, $t6 -/* 0487D8 7F013CA8 00196843 */ sra $t5, $t9, 1 -/* 0487DC 7F013CAC 020D6023 */ subu $t4, $s0, $t5 -/* 0487E0 7F013CB0 25F8000F */ addiu $t8, $t7, 0xf -/* 0487E4 7F013CB4 AFAC0088 */ sw $t4, 0x88($sp) -/* 0487E8 7F013CB8 0FC2B366 */ jal microcode_constructor -/* 0487EC 7F013CBC AFB80084 */ sw $t8, 0x84($sp) -/* 0487F0 7F013CC0 0C001107 */ jal get_video2_settings_txtClipW -/* 0487F4 7F013CC4 00408825 */ move $s1, $v0 -/* 0487F8 7F013CC8 00028400 */ sll $s0, $v0, 0x10 -/* 0487FC 7F013CCC 00104C03 */ sra $t1, $s0, 0x10 -/* 048800 7F013CD0 0C00110B */ jal get_video2_settings_txtClipH -/* 048804 7F013CD4 01208025 */ move $s0, $t1 -/* 048808 7F013CD8 8EEA0000 */ lw $t2, ($s7) -/* 04880C 7F013CDC 8FD90000 */ lw $t9, ($fp) -/* 048810 7F013CE0 240D00FF */ li $t5, 255 -/* 048814 7F013CE4 AFAD0018 */ sw $t5, 0x18($sp) -/* 048818 7F013CE8 02202025 */ move $a0, $s1 -/* 04881C 7F013CEC 27A50088 */ addiu $a1, $sp, 0x88 -/* 048820 7F013CF0 27A60084 */ addiu $a2, $sp, 0x84 -/* 048824 7F013CF4 02403825 */ move $a3, $s2 -/* 048828 7F013CF8 AFB0001C */ sw $s0, 0x1c($sp) -/* 04882C 7F013CFC AFA20020 */ sw $v0, 0x20($sp) -/* 048830 7F013D00 AFA00024 */ sw $zero, 0x24($sp) -/* 048834 7F013D04 AFA00028 */ sw $zero, 0x28($sp) -/* 048838 7F013D08 AFAA0010 */ sw $t2, 0x10($sp) -/* 04883C 7F013D0C 0FC025D8 */ jal write_text_at_abs_coord -/* 048840 7F013D10 AFB90014 */ sw $t9, 0x14($sp) -/* 048844 7F013D14 8FAC0074 */ lw $t4, 0x74($sp) -/* 048848 7F013D18 8FAE0070 */ lw $t6, 0x70($sp) -/* 04884C 7F013D1C 8FB800CC */ lw $t8, 0xcc($sp) -/* 048850 7F013D20 26D60001 */ addiu $s6, $s6, 1 -/* 048854 7F013D24 258B0004 */ addiu $t3, $t4, 4 -/* 048858 7F013D28 25CF0004 */ addiu $t7, $t6, 4 -/* 04885C 7F013D2C AFAF0070 */ sw $t7, 0x70($sp) -/* 048860 7F013D30 AFAB0074 */ sw $t3, 0x74($sp) -/* 048864 7F013D34 16D8FF52 */ bne $s6, $t8, .L7F013A80 -/* 048868 7F013D38 00408825 */ move $s1, $v0 -.L7F013D3C: -/* 04886C 7F013D3C 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 048870 7F013D40 02202025 */ move $a0, $s1 -/* 048874 7F013D44 8FBF0064 */ lw $ra, 0x64($sp) -/* 048878 7F013D48 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 04887C 7F013D4C 8FB00040 */ lw $s0, 0x40($sp) -/* 048880 7F013D50 8FB10044 */ lw $s1, 0x44($sp) -/* 048884 7F013D54 8FB20048 */ lw $s2, 0x48($sp) -/* 048888 7F013D58 8FB3004C */ lw $s3, 0x4c($sp) -/* 04888C 7F013D5C 8FB40050 */ lw $s4, 0x50($sp) -/* 048890 7F013D60 8FB50054 */ lw $s5, 0x54($sp) -/* 048894 7F013D64 8FB60058 */ lw $s6, 0x58($sp) -/* 048898 7F013D68 8FB7005C */ lw $s7, 0x5c($sp) -/* 04889C 7F013D6C 8FBE0060 */ lw $fp, 0x60($sp) -/* 0488A0 7F013D70 03E00008 */ jr $ra -/* 0488A4 7F013D74 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif - - - -void init_menu12_mpstage(void) -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - current_mp_stage_highlighted = MP_STAGE_RANDOM; - load_walletbond(); -} - -void update_menu12_mpstage(void) { -return; -} - - - - - - - -#ifdef NONMATCHING -void interface_menu12_mpstage(void) -{ - s32 temp_a0; - s32 temp_a0_2; - s32 temp_f10; - s32 temp_f6; - s32 phi_v1; - s32 phi_v0; - - setvideo_far(0x42700000); - video_related_21(D_80051AA0); - set_page_height(0x42c80000, D_80051AA4); - set_video2_settings_offset_24(0); - if (get_controller_buttons_held(0, 0xb000) == 0) - { - tab_3_highlight = 0; - tab_2_highlight = 0; - tab_1_highlight = 0; - if (isontab3() != 0) - { - cursor_v_pos = 1; - } - else - { - temp_f6 = (s32) *(void *)0x80030000; - if (temp_f6 >= 0xf0) - { - phi_v1 = 2; - } - else - { - phi_v1 = 0; - if (temp_f6 >= 0xaa) - { - phi_v1 = 1; - } - } - temp_f10 = (s32) cursor_h_pos; - if (temp_f10 >= 0x124) - { - phi_v0 = 3; - } - else - { - if (temp_f10 >= 0xcf) - { - phi_v0 = 2; - } - else - { - phi_v0 = 0; - if (temp_f10 >= 0x7a) - { - phi_v0 = 1; - } - } - } - temp_a0 = (phi_v1 * 4) + phi_v0; - current_mp_stage_highlighted = temp_a0; - if (check_if_mp_stage_unlocked(temp_a0) == 0) - { -loop_14: - temp_a0_2 = current_mp_stage_highlighted + -1; - current_mp_stage_highlighted = temp_a0_2; - if (check_if_mp_stage_unlocked(temp_a0_2) == 0) - { - goto loop_14; - } - } - } - } - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - if (tab_3_highlight != 0) - { - tab_3_selected = 1; - } - else - { - if (current_mp_stage_highlighted >= 0) - { - tab_2_selected = 1; - MP_stage_selected = (s32) current_mp_stage_highlighted; - } - } - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { - if (get_controller_buttons_pressed(0, 0x4000) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x2a, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1); - menu_control_stick_tracking(); - if (tab_2_selected != 0) - { - set_menu_to_mode(0xe, 0); - return; - } - if (tab_3_selected != 0) - { - set_menu_to_mode(0xe, 0); - } -} -#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 setvideo_far -/* 048918 7F013DE8 AFB00018 */ sw $s0, 0x18($sp) -/* 04891C 7F013DEC 3C018005 */ lui $at, %hi(D_80051AA0) -/* 048920 7F013DF0 0C001164 */ jal video_related_21 -/* 048924 7F013DF4 C42C1AA0 */ lwc1 $f12, %lo(D_80051AA0)($at) -/* 048928 7F013DF8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04892C 7F013DFC 44816000 */ mtc1 $at, $f12 -/* 048930 7F013E00 3C018005 */ lui $at, %hi(D_80051AA4) -/* 048934 7F013E04 0C001194 */ jal set_page_height -/* 048938 7F013E08 C42E1AA4 */ lwc1 $f14, %lo(D_80051AA4)($at) -/* 04893C 7F013E0C 0C00114D */ jal set_video2_settings_offset_24 -/* 048940 7F013E10 00002025 */ move $a0, $zero -/* 048944 7F013E14 00002025 */ move $a0, $zero -/* 048948 7F013E18 0C0030C3 */ jal get_controller_buttons_held -/* 04894C 7F013E1C 3405B000 */ li $a1, 45056 -/* 048950 7F013E20 1440003D */ bnez $v0, .L7F013F18 -/* 048954 7F013E24 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 048958 7F013E28 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 04895C 7F013E2C 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 048960 7F013E30 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 048964 7F013E34 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 048968 7F013E38 0FC028E7 */ jal isontab3 -/* 04896C 7F013E3C AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 048970 7F013E40 10400005 */ beqz $v0, .L7F013E58 -/* 048974 7F013E44 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 048978 7F013E48 240E0001 */ li $t6, 1 -/* 04897C 7F013E4C 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 048980 7F013E50 10000031 */ b .L7F013F18 -/* 048984 7F013E54 AC2EA8E4 */ sw $t6, %lo(tab_3_highlight)($at) -.L7F013E58: -/* 048988 7F013E58 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at) -/* 04898C 7F013E5C 3C108007 */ lui $s0, %hi(current_mp_stage_highlighted) -/* 048990 7F013E60 2610977C */ addiu $s0, %lo(current_mp_stage_highlighted) # addiu $s0, $s0, -0x6884 -/* 048994 7F013E64 4600218D */ trunc.w.s $f6, $f4 -/* 048998 7F013E68 44023000 */ mfc1 $v0, $f6 -/* 04899C 7F013E6C 00000000 */ nop -/* 0489A0 7F013E70 284100F0 */ slti $at, $v0, 0xf0 -/* 0489A4 7F013E74 54200004 */ bnezl $at, .L7F013E88 -/* 0489A8 7F013E78 284100AA */ slti $at, $v0, 0xaa -/* 0489AC 7F013E7C 10000006 */ b .L7F013E98 -/* 0489B0 7F013E80 24030002 */ li $v1, 2 -/* 0489B4 7F013E84 284100AA */ slti $at, $v0, 0xaa -.L7F013E88: -/* 0489B8 7F013E88 14200003 */ bnez $at, .L7F013E98 -/* 0489BC 7F013E8C 00001825 */ move $v1, $zero -/* 0489C0 7F013E90 10000001 */ b .L7F013E98 -/* 0489C4 7F013E94 24030001 */ li $v1, 1 -.L7F013E98: -/* 0489C8 7F013E98 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 0489CC 7F013E9C C428A908 */ lwc1 $f8, %lo(cursor_h_pos)($at) -/* 0489D0 7F013EA0 0003C880 */ sll $t9, $v1, 2 -/* 0489D4 7F013EA4 4600428D */ trunc.w.s $f10, $f8 -/* 0489D8 7F013EA8 44025000 */ mfc1 $v0, $f10 -/* 0489DC 7F013EAC 00000000 */ nop -/* 0489E0 7F013EB0 28410124 */ slti $at, $v0, 0x124 -/* 0489E4 7F013EB4 54200004 */ bnezl $at, .L7F013EC8 -/* 0489E8 7F013EB8 284100CF */ slti $at, $v0, 0xcf -/* 0489EC 7F013EBC 1000000B */ b .L7F013EEC -/* 0489F0 7F013EC0 24020003 */ li $v0, 3 -/* 0489F4 7F013EC4 284100CF */ slti $at, $v0, 0xcf -.L7F013EC8: -/* 0489F8 7F013EC8 54200004 */ bnezl $at, .L7F013EDC -/* 0489FC 7F013ECC 2841007A */ slti $at, $v0, 0x7a -/* 048A00 7F013ED0 10000006 */ b .L7F013EEC -/* 048A04 7F013ED4 24020002 */ li $v0, 2 -/* 048A08 7F013ED8 2841007A */ slti $at, $v0, 0x7a -.L7F013EDC: -/* 048A0C 7F013EDC 14200003 */ bnez $at, .L7F013EEC -/* 048A10 7F013EE0 00001025 */ move $v0, $zero -/* 048A14 7F013EE4 10000001 */ b .L7F013EEC -/* 048A18 7F013EE8 24020001 */ li $v0, 1 -.L7F013EEC: -/* 048A1C 7F013EEC 03222021 */ addu $a0, $t9, $v0 -/* 048A20 7F013EF0 0FC04034 */ jal check_if_mp_stage_unlocked -/* 048A24 7F013EF4 AE040000 */ sw $a0, ($s0) -/* 048A28 7F013EF8 14400007 */ bnez $v0, .L7F013F18 -/* 048A2C 7F013EFC 00000000 */ nop -/* 048A30 7F013F00 8E090000 */ lw $t1, ($s0) -.L7F013F04: -/* 048A34 7F013F04 2524FFFF */ addiu $a0, $t1, -1 -/* 048A38 7F013F08 0FC04034 */ jal check_if_mp_stage_unlocked -/* 048A3C 7F013F0C AE040000 */ sw $a0, ($s0) -/* 048A40 7F013F10 5040FFFC */ beql $v0, $zero, .L7F013F04 -/* 048A44 7F013F14 8E090000 */ lw $t1, ($s0) -.L7F013F18: -/* 048A48 7F013F18 3C108007 */ lui $s0, %hi(current_mp_stage_highlighted) -/* 048A4C 7F013F1C 2610977C */ addiu $s0, %lo(current_mp_stage_highlighted) # addiu $s0, $s0, -0x6884 -/* 048A50 7F013F20 00002025 */ move $a0, $zero -/* 048A54 7F013F24 0C0030EB */ jal get_controller_buttons_pressed -/* 048A58 7F013F28 3405B000 */ li $a1, 45056 -/* 048A5C 7F013F2C 10400015 */ beqz $v0, .L7F013F84 -/* 048A60 7F013F30 24030001 */ li $v1, 1 -/* 048A64 7F013F34 3C0B8003 */ lui $t3, %hi(tab_3_highlight) -/* 048A68 7F013F38 8D6BA8E4 */ lw $t3, %lo(tab_3_highlight)($t3) -/* 048A6C 7F013F3C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 048A70 7F013F40 240500C7 */ li $a1, 199 -/* 048A74 7F013F44 11600004 */ beqz $t3, .L7F013F58 -/* 048A78 7F013F48 00003025 */ move $a2, $zero -/* 048A7C 7F013F4C 3C018003 */ lui $at, %hi(tab_3_selected) -/* 048A80 7F013F50 10000008 */ b .L7F013F74 -/* 048A84 7F013F54 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -.L7F013F58: -/* 048A88 7F013F58 8E020000 */ lw $v0, ($s0) -/* 048A8C 7F013F5C 3C018003 */ lui $at, %hi(tab_2_selected) -/* 048A90 7F013F60 04400004 */ bltz $v0, .L7F013F74 -/* 048A94 7F013F64 00000000 */ nop -/* 048A98 7F013F68 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at) -/* 048A9C 7F013F6C 3C018003 */ lui $at, %hi(MP_stage_selected) -/* 048AA0 7F013F70 AC22B534 */ sw $v0, %lo(MP_stage_selected)($at) -.L7F013F74: -/* 048AA4 7F013F74 0C002382 */ jal play_sfx_a1 -/* 048AA8 7F013F78 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 048AAC 7F013F7C 1000000D */ b .L7F013FB4 -/* 048AB0 7F013F80 00000000 */ nop -.L7F013F84: -/* 048AB4 7F013F84 00002025 */ move $a0, $zero -/* 048AB8 7F013F88 0C0030EB */ jal get_controller_buttons_pressed -/* 048ABC 7F013F8C 24054000 */ li $a1, 16384 -/* 048AC0 7F013F90 10400008 */ beqz $v0, .L7F013FB4 -/* 048AC4 7F013F94 24030001 */ li $v1, 1 -/* 048AC8 7F013F98 3C018003 */ lui $at, %hi(tab_3_selected) -/* 048ACC 7F013F9C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 048AD0 7F013FA0 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -/* 048AD4 7F013FA4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 048AD8 7F013FA8 240500C7 */ li $a1, 199 -/* 048ADC 7F013FAC 0C002382 */ jal play_sfx_a1 -/* 048AE0 7F013FB0 00003025 */ move $a2, $zero -.L7F013FB4: -/* 048AE4 7F013FB4 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 048AE8 7F013FB8 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 048AEC 7F013FBC 0FC02DC9 */ jal disable_all_switches -/* 048AF0 7F013FC0 8E040000 */ lw $a0, ($s0) -/* 048AF4 7F013FC4 8E040000 */ lw $a0, ($s0) -/* 048AF8 7F013FC8 00002825 */ move $a1, $zero -/* 048AFC 7F013FCC 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 048B00 7F013FD0 24060001 */ li $a2, 1 -/* 048B04 7F013FD4 8E040000 */ lw $a0, ($s0) -/* 048B08 7F013FD8 2405002A */ li $a1, 42 -/* 048B0C 7F013FDC 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 048B10 7F013FE0 24060001 */ li $a2, 1 -/* 048B14 7F013FE4 8E040000 */ lw $a0, ($s0) -/* 048B18 7F013FE8 24050003 */ li $a1, 3 -/* 048B1C 7F013FEC 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 048B20 7F013FF0 24060001 */ li $a2, 1 -/* 048B24 7F013FF4 0FC026E1 */ jal menu_control_stick_tracking -/* 048B28 7F013FF8 00000000 */ nop -/* 048B2C 7F013FFC 3C0C8003 */ lui $t4, %hi(tab_2_selected) -/* 048B30 7F014000 8D8CA8D4 */ lw $t4, %lo(tab_2_selected)($t4) -/* 048B34 7F014004 2404000E */ li $a0, 14 -/* 048B38 7F014008 3C0D8003 */ lui $t5, %hi(tab_3_selected) -/* 048B3C 7F01400C 11800005 */ beqz $t4, .L7F014024 -/* 048B40 7F014010 00000000 */ nop -/* 048B44 7F014014 0FC06975 */ jal set_menu_to_mode -/* 048B48 7F014018 00002825 */ move $a1, $zero -/* 048B4C 7F01401C 10000008 */ b .L7F014040 -/* 048B50 7F014020 8FBF001C */ lw $ra, 0x1c($sp) -.L7F014024: -/* 048B54 7F014024 8DADA8D8 */ lw $t5, %lo(tab_3_selected)($t5) -/* 048B58 7F014028 2404000E */ li $a0, 14 -/* 048B5C 7F01402C 51A00004 */ beql $t5, $zero, .L7F014040 -/* 048B60 7F014030 8FBF001C */ lw $ra, 0x1c($sp) -/* 048B64 7F014034 0FC06975 */ jal set_menu_to_mode -/* 048B68 7F014038 00002825 */ move $a1, $zero -/* 048B6C 7F01403C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F014040: -/* 048B70 7F014040 8FB00018 */ lw $s0, 0x18($sp) -/* 048B74 7F014044 27BD0020 */ addiu $sp, $sp, 0x20 -/* 048B78 7F014048 03E00008 */ jr $ra -/* 048B7C 7F01404C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu12_mpstage(s32 arg0) -{ - ? sp130; - ? sp12C; - s32 sp128; - s32 sp124; - f32 sp104; - f32 sp100; - f32 spF8; - f32 spDC; - f32 spD8; - f32 spD4; - f32 spD0; - s32 spB4; - s32 sp9C; - s32 sp90; - s32 temp_a2; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_ret_3; - s32 temp_ret_4; - s32 temp_ret_5; - s32 temp_ret_6; - s32 temp_ret_7; - s32 temp_s0; - s32 temp_s1; - s32 temp_s1_2; - s32 temp_s2; - s32 temp_s4_3; - s32 temp_s5_2; - s32 temp_s7; - s32 temp_t1; - s32 temp_t4; - s32 temp_t5; - s32 temp_t7; - s32 temp_t9; - s32 temp_v0; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v0_4; - void *temp_s0_2; - void *temp_s0_3; - void *temp_s3; - void *temp_s3_2; - void *temp_s4; - void *temp_s4_2; - void *temp_s5; - s32 phi_s1; - s32 phi_s0; - s32 phi_s1_2; - s32 phi_s1_3; - s32 phi_s2; - s32 phi_s5; - s32 phi_s6; - s32 phi_s2_2; - s32 phi_s7; - - temp_ret = set_setfillcolor(0, 0, 0); - arg0 = temp_ret; - temp_ret_2 = insert_generic_fillrect(temp_ret); - arg0 = temp_ret_2; - temp_ret_3 = sub_GAME_7F00D5E8(temp_ret_2); - arg0 = temp_ret_3; - arg0 = microcode_constructor(temp_ret_3); - phi_s1 = 0x6c; - phi_s0 = 0xa0; -loop_1: - temp_ret_4 = microcode_constructor_related_to_menus(arg0, 0x25, phi_s1, 0x185); - temp_s0 = phi_s0 + 0x46; - arg0 = temp_ret_4; - temp_v0 = temp_ret_4; - phi_s1 = phi_s1 + 0x46; - phi_s0 = temp_s0; - if (temp_s0 != 0x172) - { - goto loop_1; - } - temp_ret_5 = combiner_bayer_lod_perspective(temp_v0); - arg0 = (s32) (temp_ret_5 + 8); - temp_v0_2 = temp_ret_5; - temp_v0_2->unk0 = 0xba000c02; - temp_v0_2->unk4 = 0; - temp_s3 = &arg0; - temp_s0_2 = mainfolderimages + 0x3c; - likely_generate_DL_for_image_declaration(temp_s3, temp_s0_2, 1, 0, 2); - sp100 = (f32) (176.0f + 37.0f); - sp104 = (f32) (4.0f + 100.0f); - temp_s4 = &spF8; - spF8 = 176.0f; - phi_s1_2 = 0; -loop_3: - display_image_at_on_screen_coord(temp_s3, &sp100, temp_s4, 0x2f0, 0x12, 0, 0, 1, 0x6b, 0x67, 0x53, 0xff, (s32) (0 < temp_s0_2->unk6), 0); - sp104 = (f32) (sp104 + 60.0f); - display_image_at_on_screen_coord(temp_s3, &sp100, temp_s4, 0x2f0, 0x12, 0, 0, 1, 0x6b, 0x67, 0x53, 0xff, (s32) (0 < temp_s0_2->unk6), 0); - temp_s1 = phi_s1_2 + 1; - sp104 = (f32) ((sp104 - 60.0f) + 70.0f); - phi_s1_2 = temp_s1; - if (temp_s1 != 3) - { - goto loop_3; - } - spB4 = 0; - spDC = (f32) ((22.0f + 108.0f) + 4.0f); - temp_s5 = &spD0; - temp_s4_2 = &spD8; - spD0 = 34.0f; - spD4 = 22.0f; - phi_s1_3 = 0; -loop_5: - spD8 = 86.0f; - phi_s2 = 0; -loop_6: - if (phi_s1_3 < 0xc) - { - temp_s0_3 = ((&multi_stage_setups + (phi_s1_3 * 0x18))->unk4 * 0xc) + mpstageselimages; - likely_generate_DL_for_image_declaration(temp_s3, temp_s0_3, 1, 0, 2); - temp_t5 = arg0; - if (phi_s1_3 == current_mp_stage_highlighted) - { - arg0 = (s32) (temp_t5 + 8); - temp_t5->unk4 = 0x100000; - temp_t5->unk0 = 0xba001402; - temp_t9 = arg0; - arg0 = (s32) (temp_t9 + 8); - temp_t9->unk4 = -0xf6; - temp_t9->unk0 = 0xf8000000; - temp_t4 = arg0; - arg0 = (s32) (temp_t4 + 8); - temp_t4->unk4 = 0xc4112048; - temp_t4->unk0 = 0xb900031d; - display_image_at_on_screen_coord(temp_s3, temp_s4_2, temp_s5, 0x44, 0x2c, 0, 0, 1, 0xff, 0xff, 0xff, 0xff, (s32) (0 < temp_s0_3->unk6), 1); - } - else - { - if (check_if_mp_stage_unlocked(phi_s1_3) != 0) - { - display_image_at_on_screen_coord(temp_s3, temp_s4_2, temp_s5, 0x44, 0x2c, 0, 0, 1, 0x6e, 0x6e, 0x6e, 0xff, (s32) (0 < temp_s0_3->unk6), 0); - } - else - { - display_image_at_on_screen_coord(temp_s3, temp_s4_2, temp_s5, 0x44, 0x2c, 0, 0, 1, 0xf, 0xf, 0xf, 0xff, (s32) (0 < temp_s0_3->unk6), 0); -block_12: - } - } - } - else - { - goto block_12; - } - temp_s2 = phi_s2 + 1; - temp_s1_2 = phi_s1_3 + 1; - spD8 = (f32) (spD8 + 85.0f); - phi_s1_3 = temp_s1_2; - phi_s2 = temp_s2; - if (temp_s2 != 4) - { - goto loop_6; - } - temp_t7 = spB4 + 1; - spB4 = temp_t7; - spDC = (f32) (spDC + 70.0f); - phi_s1_3 = temp_s1_2; - if (temp_t7 != 3) - { - goto loop_5; - } - arg0 = microcode_constructor(arg0); - sp90 = 0x97; - sp9C = 0; - phi_s5 = 0; -loop_16: - phi_s6 = 0x56; - phi_s7 = 0; -loop_17: - if (phi_s5 < 0xc) - { - if (check_if_mp_stage_unlocked(phi_s5) != 0) - { - temp_s3_2 = (((phi_s5 * 4) - phi_s5) * 8) + &multi_stage_setups; - phi_s2_2 = 0x96969600; - if (phi_s5 == current_mp_stage_highlighted) - { - phi_s2_2 = -0x100; - } - sub_GAME_7F0AE98C(&sp128, &sp124, get_textptr_for_textID(temp_s3_2->unk2), subroutine_arg0, (?32) ptrFirstFontTableSmall, 0); - temp_s4_3 = phi_s6 + -0x1f; - temp_a2 = sp90 - sp128; - arg0 = microcode_constructor_related_to_menus(arg0, temp_s4_3, temp_a2, temp_s4_3 + sp124, (s32) (temp_a2 + sp128), 0); - get_video2_settings_txtClipW(); - arg0 = en_text_write_stuff(arg0, &sp130, &sp12C, get_textptr_for_textID(temp_s3_2->unk2), (?32) subroutine_arg0, (?32) ptrFirstFontTableSmall, (s32) (phi_s2_2 | 0xff), get_video2_settings_txtClipH(), 0, 0); - get_video2_settings_txtClipW(); - arg0 = en_text_write_stuff(arg0, &sp130, &sp12C, get_textptr_for_textID(temp_s3_2->unk2, sp90 - sp128), (?32) subroutine_arg0, (?32) ptrFirstFontTableSmall, (s32) (phi_s2_2 | 0x64), get_video2_settings_txtClipH(), 0, 0); - } - } - temp_s7 = phi_s7 + 1; - temp_s5_2 = phi_s5 + 1; - phi_s5 = temp_s5_2; - phi_s6 = phi_s6 + 0x55; - phi_s7 = temp_s7; - if (temp_s7 != 4) - { - goto loop_17; - } - temp_t1 = sp9C + 1; - sp9C = temp_t1; - sp90 = (s32) (sp90 + 0x46); - phi_s5 = temp_s5_2; - if (temp_t1 != 3) - { - goto loop_16; - } - temp_ret_6 = microcode_constructor(arg0); - arg0 = temp_ret_6; - temp_v0_3 = temp_ret_6; - temp_ret_7 = add_tab3_previous(temp_v0_3); - arg0 = temp_ret_7; - temp_v0_4 = temp_ret_7; - load_draw_selected_icon_folder_select(temp_v0_4); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu12_mpstage -/* 048B80 7F014050 27BDFEC8 */ addiu $sp, $sp, -0x138 -/* 048B84 7F014054 AFBF0074 */ sw $ra, 0x74($sp) -/* 048B88 7F014058 AFBE0070 */ sw $fp, 0x70($sp) -/* 048B8C 7F01405C AFB7006C */ sw $s7, 0x6c($sp) -/* 048B90 7F014060 AFB60068 */ sw $s6, 0x68($sp) -/* 048B94 7F014064 AFB50064 */ sw $s5, 0x64($sp) -/* 048B98 7F014068 AFB40060 */ sw $s4, 0x60($sp) -/* 048B9C 7F01406C AFB3005C */ sw $s3, 0x5c($sp) -/* 048BA0 7F014070 AFB20058 */ sw $s2, 0x58($sp) -/* 048BA4 7F014074 AFB10054 */ sw $s1, 0x54($sp) -/* 048BA8 7F014078 AFB00050 */ sw $s0, 0x50($sp) -/* 048BAC 7F01407C F7B60048 */ sdc1 $f22, 0x48($sp) -/* 048BB0 7F014080 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 048BB4 7F014084 AFA40138 */ sw $a0, 0x138($sp) -/* 048BB8 7F014088 00002825 */ move $a1, $zero -/* 048BBC 7F01408C 00003025 */ move $a2, $zero -/* 048BC0 7F014090 0C0011B4 */ jal set_setfillcolor -/* 048BC4 7F014094 00003825 */ move $a3, $zero -/* 048BC8 7F014098 AFA20138 */ sw $v0, 0x138($sp) -/* 048BCC 7F01409C 0C000FBE */ jal insert_generic_fillrect -/* 048BD0 7F0140A0 00402025 */ move $a0, $v0 -/* 048BD4 7F0140A4 AFA20138 */ sw $v0, 0x138($sp) -/* 048BD8 7F0140A8 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 048BDC 7F0140AC 00402025 */ move $a0, $v0 -/* 048BE0 7F0140B0 AFA20138 */ sw $v0, 0x138($sp) -/* 048BE4 7F0140B4 0FC2B366 */ jal microcode_constructor -/* 048BE8 7F0140B8 00402025 */ move $a0, $v0 -/* 048BEC 7F0140BC 3C121010 */ lui $s2, (0x101010FF >> 16) # lui $s2, 0x1010 -/* 048BF0 7F0140C0 AFA20138 */ sw $v0, 0x138($sp) -/* 048BF4 7F0140C4 365210FF */ ori $s2, (0x101010FF & 0xFFFF) # ori $s2, $s2, 0x10ff -/* 048BF8 7F0140C8 2411006C */ li $s1, 108 -/* 048BFC 7F0140CC 241000A0 */ li $s0, 160 -/* 048C00 7F0140D0 24130172 */ li $s3, 370 -.L7F0140D4: -/* 048C04 7F0140D4 8FA40138 */ lw $a0, 0x138($sp) -/* 048C08 7F0140D8 24050025 */ li $a1, 37 -/* 048C0C 7F0140DC 02203025 */ move $a2, $s1 -/* 048C10 7F0140E0 24070185 */ li $a3, 389 -/* 048C14 7F0140E4 AFB00010 */ sw $s0, 0x10($sp) -/* 048C18 7F0140E8 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 048C1C 7F0140EC AFB20014 */ sw $s2, 0x14($sp) -/* 048C20 7F0140F0 26100046 */ addiu $s0, $s0, 0x46 -/* 048C24 7F0140F4 26310046 */ addiu $s1, $s1, 0x46 -/* 048C28 7F0140F8 1613FFF6 */ bne $s0, $s3, .L7F0140D4 -/* 048C2C 7F0140FC AFA20138 */ sw $v0, 0x138($sp) -/* 048C30 7F014100 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 048C34 7F014104 00402025 */ move $a0, $v0 -/* 048C38 7F014108 244E0008 */ addiu $t6, $v0, 8 -/* 048C3C 7F01410C AFAE0138 */ sw $t6, 0x138($sp) -/* 048C40 7F014110 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00 -/* 048C44 7F014114 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02 -/* 048C48 7F014118 AC4F0000 */ sw $t7, ($v0) -/* 048C4C 7F01411C AC400004 */ sw $zero, 4($v0) -/* 048C50 7F014120 3C108009 */ lui $s0, %hi(mainfolderimages) -/* 048C54 7F014124 8E10D128 */ lw $s0, %lo(mainfolderimages)($s0) -/* 048C58 7F014128 27B30138 */ addiu $s3, $sp, 0x138 -/* 048C5C 7F01412C 24180002 */ li $t8, 2 -/* 048C60 7F014130 2610003C */ addiu $s0, $s0, 0x3c -/* 048C64 7F014134 02002825 */ move $a1, $s0 -/* 048C68 7F014138 AFB80010 */ sw $t8, 0x10($sp) -/* 048C6C 7F01413C 02602025 */ move $a0, $s3 -/* 048C70 7F014140 24060001 */ li $a2, 1 -/* 048C74 7F014144 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 048C78 7F014148 00003825 */ move $a3, $zero -/* 048C7C 7F01414C 3C014330 */ li $at, 0x43300000 # 176.000000 -/* 048C80 7F014150 44811000 */ mtc1 $at, $f2 -/* 048C84 7F014154 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 048C88 7F014158 44816000 */ mtc1 $at, $f12 -/* 048C8C 7F01415C 3C014214 */ li $at, 0x42140000 # 37.000000 -/* 048C90 7F014160 44812000 */ mtc1 $at, $f4 -/* 048C94 7F014164 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 048C98 7F014168 44814000 */ mtc1 $at, $f8 -/* 048C9C 7F01416C 46041180 */ add.s $f6, $f2, $f4 -/* 048CA0 7F014170 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 048CA4 7F014174 4481B000 */ mtc1 $at, $f22 -/* 048CA8 7F014178 46086000 */ add.s $f0, $f12, $f8 -/* 048CAC 7F01417C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 048CB0 7F014180 4481A000 */ mtc1 $at, $f20 -/* 048CB4 7F014184 E7A60100 */ swc1 $f6, 0x100($sp) -/* 048CB8 7F014188 E7A00104 */ swc1 $f0, 0x104($sp) -/* 048CBC 7F01418C 00008825 */ move $s1, $zero -/* 048CC0 7F014190 27B400F8 */ addiu $s4, $sp, 0xf8 -/* 048CC4 7F014194 27B20100 */ addiu $s2, $sp, 0x100 -/* 048CC8 7F014198 E7A200F8 */ swc1 $f2, 0xf8($sp) -/* 048CCC 7F01419C E7AC00FC */ swc1 $f12, 0xfc($sp) -.L7F0141A0: -/* 048CD0 7F0141A0 24190012 */ li $t9, 18 -/* 048CD4 7F0141A4 24090001 */ li $t1, 1 -/* 048CD8 7F0141A8 240A006B */ li $t2, 107 -/* 048CDC 7F0141AC 240B0067 */ li $t3, 103 -/* 048CE0 7F0141B0 240C0053 */ li $t4, 83 -/* 048CE4 7F0141B4 240D00FF */ li $t5, 255 -/* 048CE8 7F0141B8 AFAD002C */ sw $t5, 0x2c($sp) -/* 048CEC 7F0141BC AFAC0028 */ sw $t4, 0x28($sp) -/* 048CF0 7F0141C0 AFAB0024 */ sw $t3, 0x24($sp) -/* 048CF4 7F0141C4 AFAA0020 */ sw $t2, 0x20($sp) -/* 048CF8 7F0141C8 AFA9001C */ sw $t1, 0x1c($sp) -/* 048CFC 7F0141CC AFB90010 */ sw $t9, 0x10($sp) -/* 048D00 7F0141D0 AFA00014 */ sw $zero, 0x14($sp) -/* 048D04 7F0141D4 AFA00018 */ sw $zero, 0x18($sp) -/* 048D08 7F0141D8 920E0006 */ lbu $t6, 6($s0) -/* 048D0C 7F0141DC AFA00034 */ sw $zero, 0x34($sp) -/* 048D10 7F0141E0 02602025 */ move $a0, $s3 -/* 048D14 7F0141E4 000E782A */ slt $t7, $zero, $t6 -/* 048D18 7F0141E8 AFAF0030 */ sw $t7, 0x30($sp) -/* 048D1C 7F0141EC 02402825 */ move $a1, $s2 -/* 048D20 7F0141F0 02803025 */ move $a2, $s4 -/* 048D24 7F0141F4 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 048D28 7F0141F8 240702F0 */ li $a3, 752 -/* 048D2C 7F0141FC C7AA0104 */ lwc1 $f10, 0x104($sp) -/* 048D30 7F014200 24180012 */ li $t8, 18 -/* 048D34 7F014204 24190001 */ li $t9, 1 -/* 048D38 7F014208 46145400 */ add.s $f16, $f10, $f20 -/* 048D3C 7F01420C 2409006B */ li $t1, 107 -/* 048D40 7F014210 240A0067 */ li $t2, 103 -/* 048D44 7F014214 240B0053 */ li $t3, 83 -/* 048D48 7F014218 240C00FF */ li $t4, 255 -/* 048D4C 7F01421C E7B00104 */ swc1 $f16, 0x104($sp) -/* 048D50 7F014220 AFAC002C */ sw $t4, 0x2c($sp) -/* 048D54 7F014224 AFAB0028 */ sw $t3, 0x28($sp) -/* 048D58 7F014228 AFAA0024 */ sw $t2, 0x24($sp) -/* 048D5C 7F01422C AFA90020 */ sw $t1, 0x20($sp) -/* 048D60 7F014230 AFB9001C */ sw $t9, 0x1c($sp) -/* 048D64 7F014234 AFB80010 */ sw $t8, 0x10($sp) -/* 048D68 7F014238 AFA00014 */ sw $zero, 0x14($sp) -/* 048D6C 7F01423C AFA00018 */ sw $zero, 0x18($sp) -/* 048D70 7F014240 920D0006 */ lbu $t5, 6($s0) -/* 048D74 7F014244 AFA00034 */ sw $zero, 0x34($sp) -/* 048D78 7F014248 02602025 */ move $a0, $s3 -/* 048D7C 7F01424C 000D702A */ slt $t6, $zero, $t5 -/* 048D80 7F014250 AFAE0030 */ sw $t6, 0x30($sp) -/* 048D84 7F014254 02402825 */ move $a1, $s2 -/* 048D88 7F014258 02803025 */ move $a2, $s4 -/* 048D8C 7F01425C 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 048D90 7F014260 240702F0 */ li $a3, 752 -/* 048D94 7F014264 C7A00104 */ lwc1 $f0, 0x104($sp) -/* 048D98 7F014268 26310001 */ addiu $s1, $s1, 1 -/* 048D9C 7F01426C 24010003 */ li $at, 3 -/* 048DA0 7F014270 46140001 */ sub.s $f0, $f0, $f20 -/* 048DA4 7F014274 46160000 */ add.s $f0, $f0, $f22 -/* 048DA8 7F014278 1621FFC9 */ bne $s1, $at, .L7F0141A0 -/* 048DAC 7F01427C E7A00104 */ swc1 $f0, 0x104($sp) -/* 048DB0 7F014280 3C014208 */ li $at, 0x42080000 # 34.000000 -/* 048DB4 7F014284 44819000 */ mtc1 $at, $f18 -/* 048DB8 7F014288 3C0141B0 */ li $at, 0x41B00000 # 22.000000 -/* 048DBC 7F01428C 44810000 */ mtc1 $at, $f0 -/* 048DC0 7F014290 3C0142D8 */ li $at, 0x42D80000 # 108.000000 -/* 048DC4 7F014294 44812000 */ mtc1 $at, $f4 -/* 048DC8 7F014298 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 048DCC 7F01429C 44814000 */ mtc1 $at, $f8 -/* 048DD0 7F0142A0 46040180 */ add.s $f6, $f0, $f4 -/* 048DD4 7F0142A4 3C0142AA */ li $at, 0x42AA0000 # 85.000000 -/* 048DD8 7F0142A8 3C168003 */ lui $s6, %hi(multi_stage_setups) -/* 048DDC 7F0142AC 4481A000 */ mtc1 $at, $f20 -/* 048DE0 7F0142B0 46083280 */ add.s $f10, $f6, $f8 -/* 048DE4 7F0142B4 00008825 */ move $s1, $zero -/* 048DE8 7F0142B8 26D6B074 */ addiu $s6, %lo(multi_stage_setups) # addiu $s6, $s6, -0x4f8c -/* 048DEC 7F0142BC AFA000B4 */ sw $zero, 0xb4($sp) -/* 048DF0 7F0142C0 E7AA00DC */ swc1 $f10, 0xdc($sp) -/* 048DF4 7F0142C4 241E000C */ li $fp, 12 -/* 048DF8 7F0142C8 24170018 */ li $s7, 24 -/* 048DFC 7F0142CC 27B500D0 */ addiu $s5, $sp, 0xd0 -/* 048E00 7F0142D0 27B400D8 */ addiu $s4, $sp, 0xd8 -/* 048E04 7F0142D4 E7B200D0 */ swc1 $f18, 0xd0($sp) -/* 048E08 7F0142D8 E7A000D4 */ swc1 $f0, 0xd4($sp) -.L7F0142DC: -/* 048E0C 7F0142DC 3C0142AC */ li $at, 0x42AC0000 # 86.000000 -/* 048E10 7F0142E0 44818000 */ mtc1 $at, $f16 -/* 048E14 7F0142E4 00009025 */ move $s2, $zero -/* 048E18 7F0142E8 E7B000D8 */ swc1 $f16, 0xd8($sp) -.L7F0142EC: -/* 048E1C 7F0142EC 2A21000C */ slti $at, $s1, 0xc -/* 048E20 7F0142F0 5020007A */ beql $at, $zero, .L7F0144DC -/* 048E24 7F0142F4 C7B200D8 */ lwc1 $f18, 0xd8($sp) -/* 048E28 7F0142F8 02370019 */ multu $s1, $s7 -/* 048E2C 7F0142FC 3C0A8009 */ lui $t2, %hi(mpstageselimages) -/* 048E30 7F014300 8D4AD134 */ lw $t2, %lo(mpstageselimages)($t2) -/* 048E34 7F014304 240B0002 */ li $t3, 2 -/* 048E38 7F014308 02602025 */ move $a0, $s3 -/* 048E3C 7F01430C 24060001 */ li $a2, 1 -/* 048E40 7F014310 00003825 */ move $a3, $zero -/* 048E44 7F014314 00007812 */ mflo $t7 -/* 048E48 7F014318 02CFC021 */ addu $t8, $s6, $t7 -/* 048E4C 7F01431C 8F190004 */ lw $t9, 4($t8) -/* 048E50 7F014320 AFAB0010 */ sw $t3, 0x10($sp) -/* 048E54 7F014324 033E0019 */ multu $t9, $fp -/* 048E58 7F014328 00004812 */ mflo $t1 -/* 048E5C 7F01432C 012A8021 */ addu $s0, $t1, $t2 -/* 048E60 7F014330 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 048E64 7F014334 02002825 */ move $a1, $s0 -/* 048E68 7F014338 3C0C8007 */ lui $t4, %hi(current_mp_stage_highlighted) -/* 048E6C 7F01433C 8D8C977C */ lw $t4, %lo(current_mp_stage_highlighted)($t4) -/* 048E70 7F014340 8FAD0138 */ lw $t5, 0x138($sp) -/* 048E74 7F014344 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 048E78 7F014348 162C0030 */ bne $s1, $t4, .L7F01440C -/* 048E7C 7F01434C 25AE0008 */ addiu $t6, $t5, 8 -/* 048E80 7F014350 AFAE0138 */ sw $t6, 0x138($sp) -/* 048E84 7F014354 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 048E88 7F014358 3C180010 */ lui $t8, 0x10 -/* 048E8C 7F01435C ADB80004 */ sw $t8, 4($t5) -/* 048E90 7F014360 ADAF0000 */ sw $t7, ($t5) -/* 048E94 7F014364 8FB90138 */ lw $t9, 0x138($sp) -/* 048E98 7F014368 3C0AF800 */ lui $t2, 0xf800 -/* 048E9C 7F01436C 240BFF0A */ li $t3, -246 -/* 048EA0 7F014370 27290008 */ addiu $t1, $t9, 8 -/* 048EA4 7F014374 AFA90138 */ sw $t1, 0x138($sp) -/* 048EA8 7F014378 AF2B0004 */ sw $t3, 4($t9) -/* 048EAC 7F01437C AF2A0000 */ sw $t2, ($t9) -/* 048EB0 7F014380 8FAC0138 */ lw $t4, 0x138($sp) -/* 048EB4 7F014384 3C0FC411 */ lui $t7, (0xC4112048 >> 16) # lui $t7, 0xc411 -/* 048EB8 7F014388 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 048EBC 7F01438C 258D0008 */ addiu $t5, $t4, 8 -/* 048EC0 7F014390 AFAD0138 */ sw $t5, 0x138($sp) -/* 048EC4 7F014394 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 048EC8 7F014398 35EF2048 */ ori $t7, (0xC4112048 & 0xFFFF) # ori $t7, $t7, 0x2048 -/* 048ECC 7F01439C AD8F0004 */ sw $t7, 4($t4) -/* 048ED0 7F0143A0 AD8E0000 */ sw $t6, ($t4) -/* 048ED4 7F0143A4 240C00FF */ li $t4, 255 -/* 048ED8 7F0143A8 240A00FF */ li $t2, 255 -/* 048EDC 7F0143AC 24190001 */ li $t9, 1 -/* 048EE0 7F0143B0 240B00FF */ li $t3, 255 -/* 048EE4 7F0143B4 240900FF */ li $t1, 255 -/* 048EE8 7F0143B8 2418002C */ li $t8, 44 -/* 048EEC 7F0143BC AFB80010 */ sw $t8, 0x10($sp) -/* 048EF0 7F0143C0 AFA90020 */ sw $t1, 0x20($sp) -/* 048EF4 7F0143C4 AFAB0028 */ sw $t3, 0x28($sp) -/* 048EF8 7F0143C8 AFB9001C */ sw $t9, 0x1c($sp) -/* 048EFC 7F0143CC AFAA0024 */ sw $t2, 0x24($sp) -/* 048F00 7F0143D0 AFAC002C */ sw $t4, 0x2c($sp) -/* 048F04 7F0143D4 AFA00018 */ sw $zero, 0x18($sp) -/* 048F08 7F0143D8 AFA00014 */ sw $zero, 0x14($sp) -/* 048F0C 7F0143DC 920D0006 */ lbu $t5, 6($s0) -/* 048F10 7F0143E0 240F0001 */ li $t7, 1 -/* 048F14 7F0143E4 AFAF0034 */ sw $t7, 0x34($sp) -/* 048F18 7F0143E8 000D702A */ slt $t6, $zero, $t5 -/* 048F1C 7F0143EC AFAE0030 */ sw $t6, 0x30($sp) -/* 048F20 7F0143F0 02602025 */ move $a0, $s3 -/* 048F24 7F0143F4 02802825 */ move $a1, $s4 -/* 048F28 7F0143F8 02A03025 */ move $a2, $s5 -/* 048F2C 7F0143FC 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 048F30 7F014400 24070044 */ li $a3, 68 -/* 048F34 7F014404 10000035 */ b .L7F0144DC -/* 048F38 7F014408 C7B200D8 */ lwc1 $f18, 0xd8($sp) -.L7F01440C: -/* 048F3C 7F01440C 0FC04034 */ jal check_if_mp_stage_unlocked -/* 048F40 7F014410 02202025 */ move $a0, $s1 -/* 048F44 7F014414 1040001A */ beqz $v0, .L7F014480 -/* 048F48 7F014418 02602025 */ move $a0, $s3 -/* 048F4C 7F01441C 2418002C */ li $t8, 44 -/* 048F50 7F014420 24190001 */ li $t9, 1 -/* 048F54 7F014424 2409006E */ li $t1, 110 -/* 048F58 7F014428 240A006E */ li $t2, 110 -/* 048F5C 7F01442C 240B006E */ li $t3, 110 -/* 048F60 7F014430 240C00FF */ li $t4, 255 -/* 048F64 7F014434 AFAC002C */ sw $t4, 0x2c($sp) -/* 048F68 7F014438 AFAB0028 */ sw $t3, 0x28($sp) -/* 048F6C 7F01443C AFAA0024 */ sw $t2, 0x24($sp) -/* 048F70 7F014440 AFA90020 */ sw $t1, 0x20($sp) -/* 048F74 7F014444 AFB9001C */ sw $t9, 0x1c($sp) -/* 048F78 7F014448 AFB80010 */ sw $t8, 0x10($sp) -/* 048F7C 7F01444C AFA00014 */ sw $zero, 0x14($sp) -/* 048F80 7F014450 AFA00018 */ sw $zero, 0x18($sp) -/* 048F84 7F014454 920D0006 */ lbu $t5, 6($s0) -/* 048F88 7F014458 AFA00034 */ sw $zero, 0x34($sp) -/* 048F8C 7F01445C 02602025 */ move $a0, $s3 -/* 048F90 7F014460 000D702A */ slt $t6, $zero, $t5 -/* 048F94 7F014464 AFAE0030 */ sw $t6, 0x30($sp) -/* 048F98 7F014468 02802825 */ move $a1, $s4 -/* 048F9C 7F01446C 02A03025 */ move $a2, $s5 -/* 048FA0 7F014470 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 048FA4 7F014474 24070044 */ li $a3, 68 -/* 048FA8 7F014478 10000018 */ b .L7F0144DC -/* 048FAC 7F01447C C7B200D8 */ lwc1 $f18, 0xd8($sp) -.L7F014480: -/* 048FB0 7F014480 240F002C */ li $t7, 44 -/* 048FB4 7F014484 24180001 */ li $t8, 1 -/* 048FB8 7F014488 2419000F */ li $t9, 15 -/* 048FBC 7F01448C 2409000F */ li $t1, 15 -/* 048FC0 7F014490 240A000F */ li $t2, 15 -/* 048FC4 7F014494 240B00FF */ li $t3, 255 -/* 048FC8 7F014498 AFAB002C */ sw $t3, 0x2c($sp) -/* 048FCC 7F01449C AFAA0028 */ sw $t2, 0x28($sp) -/* 048FD0 7F0144A0 AFA90024 */ sw $t1, 0x24($sp) -/* 048FD4 7F0144A4 AFB90020 */ sw $t9, 0x20($sp) -/* 048FD8 7F0144A8 AFB8001C */ sw $t8, 0x1c($sp) -/* 048FDC 7F0144AC AFAF0010 */ sw $t7, 0x10($sp) -/* 048FE0 7F0144B0 AFA00014 */ sw $zero, 0x14($sp) -/* 048FE4 7F0144B4 AFA00018 */ sw $zero, 0x18($sp) -/* 048FE8 7F0144B8 920C0006 */ lbu $t4, 6($s0) -/* 048FEC 7F0144BC AFA00034 */ sw $zero, 0x34($sp) -/* 048FF0 7F0144C0 02802825 */ move $a1, $s4 -/* 048FF4 7F0144C4 000C682A */ slt $t5, $zero, $t4 -/* 048FF8 7F0144C8 AFAD0030 */ sw $t5, 0x30($sp) -/* 048FFC 7F0144CC 02A03025 */ move $a2, $s5 -/* 049000 7F0144D0 0FC1ABFA */ jal display_image_at_on_screen_coord -/* 049004 7F0144D4 24070044 */ li $a3, 68 -/* 049008 7F0144D8 C7B200D8 */ lwc1 $f18, 0xd8($sp) -.L7F0144DC: -/* 04900C 7F0144DC 26520001 */ addiu $s2, $s2, 1 -/* 049010 7F0144E0 24010004 */ li $at, 4 -/* 049014 7F0144E4 46149100 */ add.s $f4, $f18, $f20 -/* 049018 7F0144E8 26310001 */ addiu $s1, $s1, 1 -/* 04901C 7F0144EC 1641FF7F */ bne $s2, $at, .L7F0142EC -/* 049020 7F0144F0 E7A400D8 */ swc1 $f4, 0xd8($sp) -/* 049024 7F0144F4 C7A600DC */ lwc1 $f6, 0xdc($sp) -/* 049028 7F0144F8 8FAE00B4 */ lw $t6, 0xb4($sp) -/* 04902C 7F0144FC 24010003 */ li $at, 3 -/* 049030 7F014500 46163200 */ add.s $f8, $f6, $f22 -/* 049034 7F014504 25CF0001 */ addiu $t7, $t6, 1 -/* 049038 7F014508 AFAF00B4 */ sw $t7, 0xb4($sp) -/* 04903C 7F01450C 15E1FF73 */ bne $t7, $at, .L7F0142DC -/* 049040 7F014510 E7A800DC */ swc1 $f8, 0xdc($sp) -/* 049044 7F014514 0FC2B366 */ jal microcode_constructor -/* 049048 7F014518 8FA40138 */ lw $a0, 0x138($sp) -/* 04904C 7F01451C 24180097 */ li $t8, 151 -/* 049050 7F014520 3C1E8004 */ lui $fp, %hi(ptrSecondFontTableSmall) -/* 049054 7F014524 AFA20138 */ sw $v0, 0x138($sp) -/* 049058 7F014528 0000A825 */ move $s5, $zero -/* 04905C 7F01452C AFB80090 */ sw $t8, 0x90($sp) -/* 049060 7F014530 27DE0EB0 */ addiu $fp, %lo(ptrSecondFontTableSmall) # addiu $fp, $fp, 0xeb0 -/* 049064 7F014534 AFA0009C */ sw $zero, 0x9c($sp) -.L7F014538: -/* 049068 7F014538 24160056 */ li $s6, 86 -/* 04906C 7F01453C 0000B825 */ move $s7, $zero -.L7F014540: -/* 049070 7F014540 2AA1000C */ slti $at, $s5, 0xc -/* 049074 7F014544 50200062 */ beql $at, $zero, .L7F0146D0 -/* 049078 7F014548 26F70001 */ addiu $s7, $s7, 1 -/* 04907C 7F01454C 0FC04034 */ jal check_if_mp_stage_unlocked -/* 049080 7F014550 02A02025 */ move $a0, $s5 -/* 049084 7F014554 1040005D */ beqz $v0, .L7F0146CC -/* 049088 7F014558 3C129696 */ lui $s2, (0x96969600 >> 16) # lui $s2, 0x9696 -/* 04908C 7F01455C 3C0A8007 */ lui $t2, %hi(current_mp_stage_highlighted) -/* 049090 7F014560 8D4A977C */ lw $t2, %lo(current_mp_stage_highlighted)($t2) -/* 049094 7F014564 0015C880 */ sll $t9, $s5, 2 -/* 049098 7F014568 0335C823 */ subu $t9, $t9, $s5 -/* 04909C 7F01456C 3C098003 */ lui $t1, %hi(multi_stage_setups) -/* 0490A0 7F014570 2529B074 */ addiu $t1, %lo(multi_stage_setups) # addiu $t1, $t1, -0x4f8c -/* 0490A4 7F014574 0019C8C0 */ sll $t9, $t9, 3 -/* 0490A8 7F014578 36529600 */ ori $s2, (0x96969600 & 0xFFFF) # ori $s2, $s2, 0x9600 -/* 0490AC 7F01457C 16AA0002 */ bne $s5, $t2, .L7F014588 -/* 0490B0 7F014580 03299821 */ addu $s3, $t9, $t1 -/* 0490B4 7F014584 2412FF00 */ li $s2, -256 -.L7F014588: -/* 0490B8 7F014588 0FC30776 */ jal get_textptr_for_textID -/* 0490BC 7F01458C 96640002 */ lhu $a0, 2($s3) -/* 0490C0 7F014590 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) -/* 0490C4 7F014594 8D6B0EAC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0490C8 7F014598 27A40128 */ addiu $a0, $sp, 0x128 -/* 0490CC 7F01459C 27A50124 */ addiu $a1, $sp, 0x124 -/* 0490D0 7F0145A0 00403025 */ move $a2, $v0 -/* 0490D4 7F0145A4 8FC70000 */ lw $a3, ($fp) -/* 0490D8 7F0145A8 AFA00014 */ sw $zero, 0x14($sp) -/* 0490DC 7F0145AC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0490E0 7F0145B0 AFAB0010 */ sw $t3, 0x10($sp) -/* 0490E4 7F0145B4 8FA30128 */ lw $v1, 0x128($sp) -/* 0490E8 7F0145B8 8FAC0090 */ lw $t4, 0x90($sp) -/* 0490EC 7F0145BC 8FAD0124 */ lw $t5, 0x124($sp) -/* 0490F0 7F0145C0 26D4FFE1 */ addiu $s4, $s6, -0x1f -/* 0490F4 7F0145C4 01833023 */ subu $a2, $t4, $v1 -/* 0490F8 7F0145C8 00C37021 */ addu $t6, $a2, $v1 -/* 0490FC 7F0145CC 02802825 */ move $a1, $s4 -/* 049100 7F0145D0 AFAE0010 */ sw $t6, 0x10($sp) -/* 049104 7F0145D4 AFA6012C */ sw $a2, 0x12c($sp) -/* 049108 7F0145D8 AFB40130 */ sw $s4, 0x130($sp) -/* 04910C 7F0145DC 8FA40138 */ lw $a0, 0x138($sp) -/* 049110 7F0145E0 AFA00014 */ sw $zero, 0x14($sp) -/* 049114 7F0145E4 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 049118 7F0145E8 028D3821 */ addu $a3, $s4, $t5 -/* 04911C 7F0145EC AFA20138 */ sw $v0, 0x138($sp) -/* 049120 7F0145F0 0FC30776 */ jal get_textptr_for_textID -/* 049124 7F0145F4 96640002 */ lhu $a0, 2($s3) -/* 049128 7F0145F8 0C001107 */ jal get_video2_settings_txtClipW -/* 04912C 7F0145FC 00408825 */ move $s1, $v0 -/* 049130 7F014600 00028400 */ sll $s0, $v0, 0x10 -/* 049134 7F014604 00107C03 */ sra $t7, $s0, 0x10 -/* 049138 7F014608 0C00110B */ jal get_video2_settings_txtClipH -/* 04913C 7F01460C 01E08025 */ move $s0, $t7 -/* 049140 7F014610 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 049144 7F014614 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 049148 7F014618 8FD80000 */ lw $t8, ($fp) -/* 04914C 7F01461C 364900FF */ ori $t1, $s2, 0xff -/* 049150 7F014620 AFA90018 */ sw $t1, 0x18($sp) -/* 049154 7F014624 8FA40138 */ lw $a0, 0x138($sp) -/* 049158 7F014628 27A50130 */ addiu $a1, $sp, 0x130 -/* 04915C 7F01462C 27A6012C */ addiu $a2, $sp, 0x12c -/* 049160 7F014630 02203825 */ move $a3, $s1 -/* 049164 7F014634 AFB0001C */ sw $s0, 0x1c($sp) -/* 049168 7F014638 AFA20020 */ sw $v0, 0x20($sp) -/* 04916C 7F01463C AFA00024 */ sw $zero, 0x24($sp) -/* 049170 7F014640 AFA00028 */ sw $zero, 0x28($sp) -/* 049174 7F014644 AFB90014 */ sw $t9, 0x14($sp) -/* 049178 7F014648 0FC2B6AF */ jal en_text_write_stuff -/* 04917C 7F01464C AFB80010 */ sw $t8, 0x10($sp) -/* 049180 7F014650 8FA30128 */ lw $v1, 0x128($sp) -/* 049184 7F014654 8FAA0090 */ lw $t2, 0x90($sp) -/* 049188 7F014658 AFA20138 */ sw $v0, 0x138($sp) -/* 04918C 7F01465C 96640002 */ lhu $a0, 2($s3) -/* 049190 7F014660 01433023 */ subu $a2, $t2, $v1 -/* 049194 7F014664 AFA6012C */ sw $a2, 0x12c($sp) -/* 049198 7F014668 0FC30776 */ jal get_textptr_for_textID -/* 04919C 7F01466C AFB40130 */ sw $s4, 0x130($sp) -/* 0491A0 7F014670 0C001107 */ jal get_video2_settings_txtClipW -/* 0491A4 7F014674 00408825 */ move $s1, $v0 -/* 0491A8 7F014678 00028400 */ sll $s0, $v0, 0x10 -/* 0491AC 7F01467C 00105C03 */ sra $t3, $s0, 0x10 -/* 0491B0 7F014680 0C00110B */ jal get_video2_settings_txtClipH -/* 0491B4 7F014684 01608025 */ move $s0, $t3 -/* 0491B8 7F014688 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) -/* 0491BC 7F01468C 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0491C0 7F014690 8FCC0000 */ lw $t4, ($fp) -/* 0491C4 7F014694 364E0064 */ ori $t6, $s2, 0x64 -/* 0491C8 7F014698 AFAE0018 */ sw $t6, 0x18($sp) -/* 0491CC 7F01469C 8FA40138 */ lw $a0, 0x138($sp) -/* 0491D0 7F0146A0 27A50130 */ addiu $a1, $sp, 0x130 -/* 0491D4 7F0146A4 27A6012C */ addiu $a2, $sp, 0x12c -/* 0491D8 7F0146A8 02203825 */ move $a3, $s1 -/* 0491DC 7F0146AC AFB0001C */ sw $s0, 0x1c($sp) -/* 0491E0 7F0146B0 AFA20020 */ sw $v0, 0x20($sp) -/* 0491E4 7F0146B4 AFA00024 */ sw $zero, 0x24($sp) -/* 0491E8 7F0146B8 AFA00028 */ sw $zero, 0x28($sp) -/* 0491EC 7F0146BC AFAD0014 */ sw $t5, 0x14($sp) -/* 0491F0 7F0146C0 0FC2B6AF */ jal en_text_write_stuff -/* 0491F4 7F0146C4 AFAC0010 */ sw $t4, 0x10($sp) -/* 0491F8 7F0146C8 AFA20138 */ sw $v0, 0x138($sp) -.L7F0146CC: -/* 0491FC 7F0146CC 26F70001 */ addiu $s7, $s7, 1 -.L7F0146D0: -/* 049200 7F0146D0 24010004 */ li $at, 4 -/* 049204 7F0146D4 26D60055 */ addiu $s6, $s6, 0x55 -/* 049208 7F0146D8 16E1FF99 */ bne $s7, $at, .L7F014540 -/* 04920C 7F0146DC 26B50001 */ addiu $s5, $s5, 1 -/* 049210 7F0146E0 8FB9009C */ lw $t9, 0x9c($sp) -/* 049214 7F0146E4 8FAF0090 */ lw $t7, 0x90($sp) -/* 049218 7F0146E8 24010003 */ li $at, 3 -/* 04921C 7F0146EC 27290001 */ addiu $t1, $t9, 1 -/* 049220 7F0146F0 25F80046 */ addiu $t8, $t7, 0x46 -/* 049224 7F0146F4 AFA9009C */ sw $t1, 0x9c($sp) -/* 049228 7F0146F8 1521FF8F */ bne $t1, $at, .L7F014538 -/* 04922C 7F0146FC AFB80090 */ sw $t8, 0x90($sp) -/* 049230 7F014700 0FC2B366 */ jal microcode_constructor -/* 049234 7F014704 8FA40138 */ lw $a0, 0x138($sp) -/* 049238 7F014708 AFA20138 */ sw $v0, 0x138($sp) -/* 04923C 7F01470C 0FC0288E */ jal add_tab3_previous -/* 049240 7F014710 00402025 */ move $a0, $v0 -/* 049244 7F014714 AFA20138 */ sw $v0, 0x138($sp) -/* 049248 7F014718 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 04924C 7F01471C 00402025 */ move $a0, $v0 -/* 049250 7F014720 8FBF0074 */ lw $ra, 0x74($sp) -/* 049254 7F014724 D7B40040 */ ldc1 $f20, 0x40($sp) -/* 049258 7F014728 D7B60048 */ ldc1 $f22, 0x48($sp) -/* 04925C 7F01472C 8FB00050 */ lw $s0, 0x50($sp) -/* 049260 7F014730 8FB10054 */ lw $s1, 0x54($sp) -/* 049264 7F014734 8FB20058 */ lw $s2, 0x58($sp) -/* 049268 7F014738 8FB3005C */ lw $s3, 0x5c($sp) -/* 04926C 7F01473C 8FB40060 */ lw $s4, 0x60($sp) -/* 049270 7F014740 8FB50064 */ lw $s5, 0x64($sp) -/* 049274 7F014744 8FB60068 */ lw $s6, 0x68($sp) -/* 049278 7F014748 8FB7006C */ lw $s7, 0x6c($sp) -/* 04927C 7F01474C 8FBE0070 */ lw $fp, 0x70($sp) -/* 049280 7F014750 03E00008 */ jr $ra -/* 049284 7F014754 27BD0138 */ addiu $sp, $sp, 0x138 -) -#endif - - - -MPSCENARIOS get_scenario(void) -{ - return scenario; -} - -void init_menu13_mpscenariosel(void) -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - load_walletbond(); -} - -void update_menu13_mpscenario(void) { - return; -} - - - - - - - -#ifdef NONMATCHING -void interface_menu13_mpscenario(void) -{ - s32 sp2C; - s32 temp_a0; - s32 temp_s1; - void *temp_s0; - s32 phi_s2; - s32 phi_s1; - - sp2C = 0; - setvideo_far(0x42700000); - video_related_21(D_80051AA8); - set_page_height(0x42c80000, D_80051AAC); - set_video2_settings_offset_24(0); - if (get_controller_buttons_held(0, 0xa000) == 0) - { - tab_3_highlight = 0; - tab_2_highlight = 0; - tab_1_highlight = 0; - if (isontab3() != 0) - { - tab_3_highlight = 1; - dword_CODE_bss_80069780 = 0; - } - else - { - dword_CODE_bss_80069780 = 1; - phi_s2 = 0x11d; - phi_s1 = 7; -loop_4: - if ((((s32) cursor_v_pos >= phi_s2) && (get_selected_num_players() >= temp_s0->unk2)) && (temp_s0->unk3 >= get_selected_num_players())) - { - dword_CODE_bss_80069780 = (s32) (phi_s1 + 1); - } - else - { - temp_s1 = phi_s1 + -1; - phi_s2 = phi_s2 + -0x16; - phi_s1 = temp_s1; - if (temp_s1 != 0) - { - goto loop_4; - } - } - } - } - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - if (tab_3_highlight != 0) - { - tab_3_selected = 1; - } - else - { - temp_a0 = dword_CODE_bss_80069780 + -1; - if (((temp_a0 == 5) || (temp_a0 == 6)) || (temp_a0 == 7)) - { - reset_mp_options_for_scenario(temp_a0); - sp2C = 1; - } - else - { - reset_mp_options_for_scenario(temp_a0); - tab_3_selected = 1; - } - } - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { - if (get_controller_buttons_pressed(0, 0x4000) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 6, 1); - menu_control_stick_tracking(); - if (sp2C != 0) - { - set_menu_to_mode(0x14, 0); - return; - } - if (tab_3_selected != 0) - { - set_menu_to_mode(0xe, 0); - } -} -#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 -/* 0492EC 7F0147BC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0492F0 7F0147C0 AFBF0024 */ sw $ra, 0x24($sp) -/* 0492F4 7F0147C4 44816000 */ mtc1 $at, $f12 -/* 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 setvideo_far -/* 049308 7F0147D8 AFA0002C */ sw $zero, 0x2c($sp) -/* 04930C 7F0147DC 3C018005 */ lui $at, %hi(D_80051AA8) -/* 049310 7F0147E0 0C001164 */ jal video_related_21 -/* 049314 7F0147E4 C42C1AA8 */ lwc1 $f12, %lo(D_80051AA8)($at) -/* 049318 7F0147E8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04931C 7F0147EC 44816000 */ mtc1 $at, $f12 -/* 049320 7F0147F0 3C018005 */ lui $at, %hi(D_80051AAC) -/* 049324 7F0147F4 0C001194 */ jal set_page_height -/* 049328 7F0147F8 C42E1AAC */ lwc1 $f14, %lo(D_80051AAC)($at) -/* 04932C 7F0147FC 0C00114D */ jal set_video2_settings_offset_24 -/* 049330 7F014800 00002025 */ move $a0, $zero -/* 049334 7F014804 00002025 */ move $a0, $zero -/* 049338 7F014808 0C0030C3 */ jal get_controller_buttons_held -/* 04933C 7F01480C 3405A000 */ li $a1, 40960 -/* 049340 7F014810 14400030 */ bnez $v0, .L7F0148D4 -/* 049344 7F014814 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 049348 7F014818 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 04934C 7F01481C 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 049350 7F014820 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 049354 7F014824 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 049358 7F014828 0FC028E7 */ jal isontab3 -/* 04935C 7F01482C AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 049360 7F014830 10400007 */ beqz $v0, .L7F014850 -/* 049364 7F014834 240F0001 */ li $t7, 1 -/* 049368 7F014838 240E0001 */ li $t6, 1 -/* 04936C 7F01483C 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 049370 7F014840 AC2EA8E4 */ sw $t6, %lo(tab_3_highlight)($at) -/* 049374 7F014844 3C018007 */ lui $at, %hi(dword_CODE_bss_80069780) -/* 049378 7F014848 10000022 */ b .L7F0148D4 -/* 04937C 7F01484C AC209780 */ sw $zero, %lo(dword_CODE_bss_80069780)($at) -.L7F014850: -/* 049380 7F014850 3C018007 */ lui $at, %hi(dword_CODE_bss_80069780) -/* 049384 7F014854 AC2F9780 */ sw $t7, %lo(dword_CODE_bss_80069780)($at) -/* 049388 7F014858 24110007 */ li $s1, 7 -/* 04938C 7F01485C 2412011D */ li $s2, 285 -.L7F014860: -/* 049390 7F014860 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 049394 7F014864 C424A90C */ lwc1 $f4, %lo(cursor_v_pos)($at) -/* 049398 7F014868 3C098003 */ lui $t1, %hi(mp_player_counts) -/* 04939C 7F01486C 2529B054 */ addiu $t1, %lo(mp_player_counts) # addiu $t1, $t1, -0x4fac -/* 0493A0 7F014870 4600218D */ trunc.w.s $f6, $f4 -/* 0493A4 7F014874 00114080 */ sll $t0, $s1, 2 -/* 0493A8 7F014878 44193000 */ mfc1 $t9, $f6 -/* 0493AC 7F01487C 00000000 */ nop -/* 0493B0 7F014880 0332082A */ slt $at, $t9, $s2 -/* 0493B4 7F014884 54200011 */ bnezl $at, .L7F0148CC -/* 0493B8 7F014888 2631FFFF */ addiu $s1, $s1, -1 -/* 0493BC 7F01488C 0FC040A4 */ jal get_selected_num_players -/* 0493C0 7F014890 01098021 */ addu $s0, $t0, $t1 -/* 0493C4 7F014894 920A0002 */ lbu $t2, 2($s0) -/* 0493C8 7F014898 004A082A */ slt $at, $v0, $t2 -/* 0493CC 7F01489C 5420000B */ bnezl $at, .L7F0148CC -/* 0493D0 7F0148A0 2631FFFF */ addiu $s1, $s1, -1 -/* 0493D4 7F0148A4 0FC040A4 */ jal get_selected_num_players -/* 0493D8 7F0148A8 00000000 */ nop -/* 0493DC 7F0148AC 920B0003 */ lbu $t3, 3($s0) -/* 0493E0 7F0148B0 0162082A */ slt $at, $t3, $v0 -/* 0493E4 7F0148B4 14200004 */ bnez $at, .L7F0148C8 -/* 0493E8 7F0148B8 262C0001 */ addiu $t4, $s1, 1 -/* 0493EC 7F0148BC 3C018007 */ lui $at, %hi(dword_CODE_bss_80069780) -/* 0493F0 7F0148C0 10000004 */ b .L7F0148D4 -/* 0493F4 7F0148C4 AC2C9780 */ sw $t4, %lo(dword_CODE_bss_80069780)($at) -.L7F0148C8: -/* 0493F8 7F0148C8 2631FFFF */ addiu $s1, $s1, -1 -.L7F0148CC: -/* 0493FC 7F0148CC 1620FFE4 */ bnez $s1, .L7F014860 -/* 049400 7F0148D0 2652FFEA */ addiu $s2, $s2, -0x16 -.L7F0148D4: -/* 049404 7F0148D4 00002025 */ move $a0, $zero -/* 049408 7F0148D8 0C0030EB */ jal get_controller_buttons_pressed -/* 04940C 7F0148DC 3405B000 */ li $a1, 45056 -/* 049410 7F0148E0 10400023 */ beqz $v0, .L7F014970 -/* 049414 7F0148E4 00002025 */ move $a0, $zero -/* 049418 7F0148E8 3C0D8003 */ lui $t5, %hi(tab_3_highlight) -/* 04941C 7F0148EC 8DADA8E4 */ lw $t5, %lo(tab_3_highlight)($t5) -/* 049420 7F0148F0 240E0001 */ li $t6, 1 -/* 049424 7F0148F4 3C018003 */ lui $at, %hi(tab_3_selected) -/* 049428 7F0148F8 11A00003 */ beqz $t5, .L7F014908 -/* 04942C 7F0148FC 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069780) -/* 049430 7F014900 10000014 */ b .L7F014954 -/* 049434 7F014904 AC2EA8D8 */ sw $t6, %lo(tab_3_selected)($at) -.L7F014908: -/* 049438 7F014908 8C849780 */ lw $a0, %lo(dword_CODE_bss_80069780)($a0) -/* 04943C 7F01490C 24010005 */ li $at, 5 -/* 049440 7F014910 2484FFFF */ addiu $a0, $a0, -1 -/* 049444 7F014914 10810005 */ beq $a0, $at, .L7F01492C -/* 049448 7F014918 24010006 */ li $at, 6 -/* 04944C 7F01491C 10810003 */ beq $a0, $at, .L7F01492C -/* 049450 7F014920 24010007 */ li $at, 7 -/* 049454 7F014924 14810006 */ bne $a0, $at, .L7F014940 -/* 049458 7F014928 00000000 */ nop -.L7F01492C: -/* 04945C 7F01492C 0FC0411A */ jal reset_mp_options_for_scenario -/* 049460 7F014930 00000000 */ nop -/* 049464 7F014934 240F0001 */ li $t7, 1 -/* 049468 7F014938 10000006 */ b .L7F014954 -/* 04946C 7F01493C AFAF002C */ sw $t7, 0x2c($sp) -.L7F014940: -/* 049470 7F014940 0FC0411A */ jal reset_mp_options_for_scenario -/* 049474 7F014944 00000000 */ nop -/* 049478 7F014948 24180001 */ li $t8, 1 -/* 04947C 7F01494C 3C018003 */ lui $at, %hi(tab_3_selected) -/* 049480 7F014950 AC38A8D8 */ sw $t8, %lo(tab_3_selected)($at) -.L7F014954: -/* 049484 7F014954 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 049488 7F014958 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04948C 7F01495C 240500C7 */ li $a1, 199 -/* 049490 7F014960 0C002382 */ jal play_sfx_a1 -/* 049494 7F014964 00003025 */ move $a2, $zero -/* 049498 7F014968 1000000C */ b .L7F01499C -/* 04949C 7F01496C 00000000 */ nop -.L7F014970: -/* 0494A0 7F014970 0C0030EB */ jal get_controller_buttons_pressed -/* 0494A4 7F014974 24054000 */ li $a1, 16384 -/* 0494A8 7F014978 10400008 */ beqz $v0, .L7F01499C -/* 0494AC 7F01497C 24190001 */ li $t9, 1 -/* 0494B0 7F014980 3C018003 */ lui $at, %hi(tab_3_selected) -/* 0494B4 7F014984 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0494B8 7F014988 AC39A8D8 */ sw $t9, %lo(tab_3_selected)($at) -/* 0494BC 7F01498C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0494C0 7F014990 240500C7 */ li $a1, 199 -/* 0494C4 7F014994 0C002382 */ jal play_sfx_a1 -/* 0494C8 7F014998 00003025 */ move $a2, $zero -.L7F01499C: -/* 0494CC 7F01499C 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 0494D0 7F0149A0 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 0494D4 7F0149A4 0FC02DC9 */ jal disable_all_switches -/* 0494D8 7F0149A8 8E040000 */ lw $a0, ($s0) -/* 0494DC 7F0149AC 8E040000 */ lw $a0, ($s0) -/* 0494E0 7F0149B0 00002825 */ move $a1, $zero -/* 0494E4 7F0149B4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 0494E8 7F0149B8 24060001 */ li $a2, 1 -/* 0494EC 7F0149BC 8E040000 */ lw $a0, ($s0) -/* 0494F0 7F0149C0 24050001 */ li $a1, 1 -/* 0494F4 7F0149C4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 0494F8 7F0149C8 24060001 */ li $a2, 1 -/* 0494FC 7F0149CC 8E040000 */ lw $a0, ($s0) -/* 049500 7F0149D0 24050003 */ li $a1, 3 -/* 049504 7F0149D4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 049508 7F0149D8 24060001 */ li $a2, 1 -/* 04950C 7F0149DC 8E040000 */ lw $a0, ($s0) -/* 049510 7F0149E0 24050006 */ li $a1, 6 -/* 049514 7F0149E4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 049518 7F0149E8 24060001 */ li $a2, 1 -/* 04951C 7F0149EC 0FC026E1 */ jal menu_control_stick_tracking -/* 049520 7F0149F0 00000000 */ nop -/* 049524 7F0149F4 8FA8002C */ lw $t0, 0x2c($sp) -/* 049528 7F0149F8 24040014 */ li $a0, 20 -/* 04952C 7F0149FC 3C098003 */ lui $t1, %hi(tab_3_selected) -/* 049530 7F014A00 11000005 */ beqz $t0, .L7F014A18 -/* 049534 7F014A04 00000000 */ nop -/* 049538 7F014A08 0FC06975 */ jal set_menu_to_mode -/* 04953C 7F014A0C 00002825 */ move $a1, $zero -/* 049540 7F014A10 10000008 */ b .L7F014A34 -/* 049544 7F014A14 8FBF0024 */ lw $ra, 0x24($sp) -.L7F014A18: -/* 049548 7F014A18 8D29A8D8 */ lw $t1, %lo(tab_3_selected)($t1) -/* 04954C 7F014A1C 2404000E */ li $a0, 14 -/* 049550 7F014A20 51200004 */ beql $t1, $zero, .L7F014A34 -/* 049554 7F014A24 8FBF0024 */ lw $ra, 0x24($sp) -/* 049558 7F014A28 0FC06975 */ jal set_menu_to_mode -/* 04955C 7F014A2C 00002825 */ move $a1, $zero -/* 049560 7F014A30 8FBF0024 */ lw $ra, 0x24($sp) -.L7F014A34: -/* 049564 7F014A34 8FB00018 */ lw $s0, 0x18($sp) -/* 049568 7F014A38 8FB1001C */ lw $s1, 0x1c($sp) -/* 04956C 7F014A3C 8FB20020 */ lw $s2, 0x20($sp) -/* 049570 7F014A40 03E00008 */ jr $ra -/* 049574 7F014A44 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu13_mpscenario(void) -{ - ?32 sp88; - s32 sp84; - ? sp7C; - s32 sp78; - ?32 sp28; - ?32 sp24; - s32 sp20; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_s2; - s32 temp_v1; - void *phi_s1; - s32 phi_s2; - s32 phi_s5; - s32 phi_s4; - s32 phi_s4_2; - - sp88 = 0x37; - sp84 = 0x66; - get_video2_settings_txtClipW(); - sp20 = get_video2_settings_txtClipH(); - sp24 = 0; - sp28 = 0; - phi_s1 = &mp_player_counts; - phi_s2 = 0; - phi_s5 = 0x83; - phi_s4 = write_text_at_abs_coord(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(0, 0, 0)))), &sp88, &sp84, get_textptr_for_textID(TEXT(LTITLE, 0x57)), (?32) ptrSecondFontTableLarge, (?32) subroutine_arg0, 0xff); -loop_1: - if ((phi_s1->unk3 < get_selected_num_players()) || (get_selected_num_players() < phi_s1->unk2)) - { - - } - else - { - - } - temp_ret = get_textptr_for_textID(phi_s1->unk0); - sub_GAME_7F0AE98C(&sp7C, &sp78, temp_ret, ptrSecondFontTableLarge, (?32) subroutine_arg0, 0); - sp88 = 0x39; - temp_v1 = phi_s5; - phi_s4_2 = phi_s4; - if ((phi_s2 + 1) == dword_CODE_bss_80069780) - { - sp84 = temp_v1; - phi_s4_2 = microcode_constructor_related_to_menus(phi_s4, 0x37, temp_v1 + -1, sp78 + 0x3c, (s32) (temp_v1 + 0xe), 0x32); - } - get_video2_settings_txtClipW(); - sp20 = get_video2_settings_txtClipH(); - sp24 = 0; - sp28 = 0; - temp_ret_2 = write_text_at_abs_coord(phi_s4_2, &sp88, &sp84, temp_ret, (?32) ptrSecondFontTableLarge, (?32) subroutine_arg0); - temp_s2 = phi_s2 + 1; - phi_s1 = phi_s1 + 4; - phi_s2 = temp_s2; - phi_s5 = phi_s5 + 0x16; - phi_s4 = temp_ret_2; - if (temp_s2 != 8) - { - goto loop_1; - } - load_draw_selected_icon_folder_select(add_tab3_previous(temp_ret_2)); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu13_mpscenario -/* 049578 7F014A48 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 04957C 7F014A4C AFBF005C */ sw $ra, 0x5c($sp) -/* 049580 7F014A50 AFBE0058 */ sw $fp, 0x58($sp) -/* 049584 7F014A54 AFB70054 */ sw $s7, 0x54($sp) -/* 049588 7F014A58 AFB60050 */ sw $s6, 0x50($sp) -/* 04958C 7F014A5C AFB5004C */ sw $s5, 0x4c($sp) -/* 049590 7F014A60 AFB40048 */ sw $s4, 0x48($sp) -/* 049594 7F014A64 AFB30044 */ sw $s3, 0x44($sp) -/* 049598 7F014A68 AFB20040 */ sw $s2, 0x40($sp) -/* 04959C 7F014A6C AFB1003C */ sw $s1, 0x3c($sp) -/* 0495A0 7F014A70 AFB00038 */ sw $s0, 0x38($sp) -/* 0495A4 7F014A74 00002825 */ move $a1, $zero -/* 0495A8 7F014A78 00003025 */ move $a2, $zero -/* 0495AC 7F014A7C 0C0011B4 */ jal set_setfillcolor -/* 0495B0 7F014A80 00003825 */ move $a3, $zero -/* 0495B4 7F014A84 0C000FBE */ jal insert_generic_fillrect -/* 0495B8 7F014A88 00402025 */ move $a0, $v0 -/* 0495BC 7F014A8C 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 0495C0 7F014A90 00402025 */ move $a0, $v0 -/* 0495C4 7F014A94 0FC2B366 */ jal microcode_constructor -/* 0495C8 7F014A98 00402025 */ move $a0, $v0 -/* 0495CC 7F014A9C 0040A025 */ move $s4, $v0 -/* 0495D0 7F014AA0 0FC30776 */ jal get_textptr_for_textID -/* 0495D4 7F014AA4 34049C57 */ li $a0, 40023 -/* 0495D8 7F014AA8 240E0037 */ li $t6, 55 -/* 0495DC 7F014AAC 24030066 */ li $v1, 102 -/* 0495E0 7F014AB0 0040B025 */ move $s6, $v0 -/* 0495E4 7F014AB4 AFAE0088 */ sw $t6, 0x88($sp) -/* 0495E8 7F014AB8 0C001107 */ jal get_video2_settings_txtClipW -/* 0495EC 7F014ABC AFA30084 */ sw $v1, 0x84($sp) -/* 0495F0 7F014AC0 00028400 */ sll $s0, $v0, 0x10 -/* 0495F4 7F014AC4 00107C03 */ sra $t7, $s0, 0x10 -/* 0495F8 7F014AC8 0C00110B */ jal get_video2_settings_txtClipH -/* 0495FC 7F014ACC 01E08025 */ move $s0, $t7 -/* 049600 7F014AD0 3C178004 */ lui $s7, %hi(ptrSecondFontTableLarge) -/* 049604 7F014AD4 3C1E8004 */ lui $fp, %hi(ptrFirstFontTableLarge) -/* 049608 7F014AD8 27DE0EB4 */ addiu $fp, %lo(ptrFirstFontTableLarge) # addiu $fp, $fp, 0xeb4 -/* 04960C 7F014ADC 26F70EB8 */ addiu $s7, %lo(ptrSecondFontTableLarge) # addiu $s7, $s7, 0xeb8 -/* 049610 7F014AE0 8EF80000 */ lw $t8, ($s7) -/* 049614 7F014AE4 8FD90000 */ lw $t9, ($fp) -/* 049618 7F014AE8 240800FF */ li $t0, 255 -/* 04961C 7F014AEC AFA80018 */ sw $t0, 0x18($sp) -/* 049620 7F014AF0 02802025 */ move $a0, $s4 -/* 049624 7F014AF4 27A50088 */ addiu $a1, $sp, 0x88 -/* 049628 7F014AF8 27A60084 */ addiu $a2, $sp, 0x84 -/* 04962C 7F014AFC 02C03825 */ move $a3, $s6 -/* 049630 7F014B00 AFB0001C */ sw $s0, 0x1c($sp) -/* 049634 7F014B04 AFA20020 */ sw $v0, 0x20($sp) -/* 049638 7F014B08 AFA00024 */ sw $zero, 0x24($sp) -/* 04963C 7F014B0C AFA00028 */ sw $zero, 0x28($sp) -/* 049640 7F014B10 AFB80010 */ sw $t8, 0x10($sp) -/* 049644 7F014B14 0FC025D8 */ jal write_text_at_abs_coord -/* 049648 7F014B18 AFB90014 */ sw $t9, 0x14($sp) -/* 04964C 7F014B1C 3C118003 */ lui $s1, %hi(mp_player_counts) -/* 049650 7F014B20 0040A025 */ move $s4, $v0 -/* 049654 7F014B24 2631B054 */ addiu $s1, %lo(mp_player_counts) # addiu $s1, $s1, -0x4fac -/* 049658 7F014B28 00009025 */ move $s2, $zero -/* 04965C 7F014B2C 24150083 */ li $s5, 131 -.L7F014B30: -/* 049660 7F014B30 0FC040A4 */ jal get_selected_num_players -/* 049664 7F014B34 241300FF */ li $s3, 255 -/* 049668 7F014B38 92290003 */ lbu $t1, 3($s1) -/* 04966C 7F014B3C 0122082A */ slt $at, $t1, $v0 -/* 049670 7F014B40 54200008 */ bnezl $at, .L7F014B64 -/* 049674 7F014B44 24130070 */ li $s3, 112 -/* 049678 7F014B48 0FC040A4 */ jal get_selected_num_players -/* 04967C 7F014B4C 00000000 */ nop -/* 049680 7F014B50 922A0002 */ lbu $t2, 2($s1) -/* 049684 7F014B54 004A082A */ slt $at, $v0, $t2 -/* 049688 7F014B58 10200002 */ beqz $at, .L7F014B64 -/* 04968C 7F014B5C 00000000 */ nop -/* 049690 7F014B60 24130070 */ li $s3, 112 -.L7F014B64: -/* 049694 7F014B64 0FC30776 */ jal get_textptr_for_textID -/* 049698 7F014B68 96240000 */ lhu $a0, ($s1) -/* 04969C 7F014B6C 8FCB0000 */ lw $t3, ($fp) -/* 0496A0 7F014B70 0040B025 */ move $s6, $v0 -/* 0496A4 7F014B74 27A4007C */ addiu $a0, $sp, 0x7c -/* 0496A8 7F014B78 27A50078 */ addiu $a1, $sp, 0x78 -/* 0496AC 7F014B7C 00403025 */ move $a2, $v0 -/* 0496B0 7F014B80 8EE70000 */ lw $a3, ($s7) -/* 0496B4 7F014B84 AFA00014 */ sw $zero, 0x14($sp) -/* 0496B8 7F014B88 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0496BC 7F014B8C AFAB0010 */ sw $t3, 0x10($sp) -/* 0496C0 7F014B90 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80069780) -/* 0496C4 7F014B94 8DCE9780 */ lw $t6, %lo(dword_CODE_bss_80069780)($t6) -/* 0496C8 7F014B98 240C0039 */ li $t4, 57 -/* 0496CC 7F014B9C 264D0001 */ addiu $t5, $s2, 1 -/* 0496D0 7F014BA0 AFAC0088 */ sw $t4, 0x88($sp) -/* 0496D4 7F014BA4 02A01825 */ move $v1, $s5 -/* 0496D8 7F014BA8 15AE000D */ bne $t5, $t6, .L7F014BE0 -/* 0496DC 7F014BAC AFB50084 */ sw $s5, 0x84($sp) -/* 0496E0 7F014BB0 8FA70078 */ lw $a3, 0x78($sp) -/* 0496E4 7F014BB4 246F000E */ addiu $t7, $v1, 0xe -/* 0496E8 7F014BB8 24180032 */ li $t8, 50 -/* 0496EC 7F014BBC AFB80014 */ sw $t8, 0x14($sp) -/* 0496F0 7F014BC0 AFAF0010 */ sw $t7, 0x10($sp) -/* 0496F4 7F014BC4 02802025 */ move $a0, $s4 -/* 0496F8 7F014BC8 24050037 */ li $a1, 55 -/* 0496FC 7F014BCC 2466FFFF */ addiu $a2, $v1, -1 -/* 049700 7F014BD0 AFA30084 */ sw $v1, 0x84($sp) -/* 049704 7F014BD4 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 049708 7F014BD8 24E7003C */ addiu $a3, $a3, 0x3c -/* 04970C 7F014BDC 0040A025 */ move $s4, $v0 -.L7F014BE0: -/* 049710 7F014BE0 0C001107 */ jal get_video2_settings_txtClipW -/* 049714 7F014BE4 00000000 */ nop -/* 049718 7F014BE8 00028400 */ sll $s0, $v0, 0x10 -/* 04971C 7F014BEC 0010CC03 */ sra $t9, $s0, 0x10 -/* 049720 7F014BF0 0C00110B */ jal get_video2_settings_txtClipH -/* 049724 7F014BF4 03208025 */ move $s0, $t9 -/* 049728 7F014BF8 8EE80000 */ lw $t0, ($s7) -/* 04972C 7F014BFC 8FC90000 */ lw $t1, ($fp) -/* 049730 7F014C00 02802025 */ move $a0, $s4 -/* 049734 7F014C04 27A50088 */ addiu $a1, $sp, 0x88 -/* 049738 7F014C08 27A60084 */ addiu $a2, $sp, 0x84 -/* 04973C 7F014C0C 02C03825 */ move $a3, $s6 -/* 049740 7F014C10 AFB30018 */ sw $s3, 0x18($sp) -/* 049744 7F014C14 AFB0001C */ sw $s0, 0x1c($sp) -/* 049748 7F014C18 AFA20020 */ sw $v0, 0x20($sp) -/* 04974C 7F014C1C AFA00024 */ sw $zero, 0x24($sp) -/* 049750 7F014C20 AFA00028 */ sw $zero, 0x28($sp) -/* 049754 7F014C24 AFA80010 */ sw $t0, 0x10($sp) -/* 049758 7F014C28 0FC025D8 */ jal write_text_at_abs_coord -/* 04975C 7F014C2C AFA90014 */ sw $t1, 0x14($sp) -/* 049760 7F014C30 26520001 */ addiu $s2, $s2, 1 -/* 049764 7F014C34 24010008 */ li $at, 8 -/* 049768 7F014C38 26310004 */ addiu $s1, $s1, 4 -/* 04976C 7F014C3C 26B50016 */ addiu $s5, $s5, 0x16 -/* 049770 7F014C40 1641FFBB */ bne $s2, $at, .L7F014B30 -/* 049774 7F014C44 0040A025 */ move $s4, $v0 -/* 049778 7F014C48 0FC0288E */ jal add_tab3_previous -/* 04977C 7F014C4C 00402025 */ move $a0, $v0 -/* 049780 7F014C50 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 049784 7F014C54 00402025 */ move $a0, $v0 -/* 049788 7F014C58 8FBF005C */ lw $ra, 0x5c($sp) -/* 04978C 7F014C5C 8FB00038 */ lw $s0, 0x38($sp) -/* 049790 7F014C60 8FB1003C */ lw $s1, 0x3c($sp) -/* 049794 7F014C64 8FB20040 */ lw $s2, 0x40($sp) -/* 049798 7F014C68 8FB30044 */ lw $s3, 0x44($sp) -/* 04979C 7F014C6C 8FB40048 */ lw $s4, 0x48($sp) -/* 0497A0 7F014C70 8FB5004C */ lw $s5, 0x4c($sp) -/* 0497A4 7F014C74 8FB60050 */ lw $s6, 0x50($sp) -/* 0497A8 7F014C78 8FB70054 */ lw $s7, 0x54($sp) -/* 0497AC 7F014C7C 8FBE0058 */ lw $fp, 0x58($sp) -/* 0497B0 7F014C80 03E00008 */ jr $ra -/* 0497B4 7F014C84 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - -#ifdef NONMATCHING -ulonglong get_players_team_or_scenario_item_flag(int player) -{ - return (ulonglong)(byte)(&player1_player_data)[player].have_token_or_goldengun; -} -#else -GLOBAL_ASM( -.text -glabel get_players_team_or_scenario_item_flag -/* 0497B8 7F014C88 000470C0 */ sll $t6, $a0, 3 -/* 0497BC 7F014C8C 01C47023 */ subu $t6, $t6, $a0 -/* 0497C0 7F014C90 000E7100 */ sll $t6, $t6, 4 -/* 0497C4 7F014C94 3C028008 */ lui $v0, %hi(player1_player_data+105) -/* 0497C8 7F014C98 004E1021 */ addu $v0, $v0, $t6 -/* 0497CC 7F014C9C 03E00008 */ jr $ra -/* 0497D0 7F014CA0 90429F59 */ lbu $v0, %lo(player1_player_data+105)($v0) -) -#endif - - - - - - -#ifdef NONMATCHING -void set_players_team_or_scenario_item_flag(int player,char flag) -{ - (&player1_player_data)[player].have_token_or_goldengun = flag; -} -#else -GLOBAL_ASM( -.text -glabel set_players_team_or_scenario_item_flag -/* 0497D4 7F014CA4 000470C0 */ sll $t6, $a0, 3 -/* 0497D8 7F014CA8 01C47023 */ subu $t6, $t6, $a0 -/* 0497DC 7F014CAC 000E7100 */ sll $t6, $t6, 4 -/* 0497E0 7F014CB0 3C018008 */ lui $at, %hi(player1_player_data+105) -/* 0497E4 7F014CB4 002E0821 */ addu $at, $at, $t6 -/* 0497E8 7F014CB8 03E00008 */ jr $ra -/* 0497EC 7F014CBC A0259F59 */ sb $a1, %lo(player1_player_data+105)($at) -) -#endif - - - - - - -void init_menu14_mpteamsel(void) -{ - tab_1_selected = FALSE; - tab_2_selected = FALSE; - tab_3_selected = FALSE; - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - if (scenario == SCENARIO_2v1) { - teamsize = 2; - } - else { - teamsize = 3; - } - D_8002B560 = 0; - load_walletbond(); -} - -void update_menu14_mpteams(void) { -return; -} - - - - - - - -#ifdef NONMATCHING -void interface_menu14_mpteams(void) -{ - s32 phi_s0; - ? phi_a1; - ? phi_a1_2; - s32 phi_s0_2; - - setvideo_far(0x42700000); - video_related_21(D_80051AB0); - set_page_height(0x42c80000, D_80051AB4); - set_video2_settings_offset_24(0); - D_8002B560 = (s32) ((s32) (D_8002B560 + 1) % 0x14); - if ((get_controller_buttons_pressed(0, 0x101) != 0) || (get_controller_3dstick_L_R(0, -2, 1) > 0)) - { - if (scenario == 7) - { - if ((teamsize & 1) == 0) - { - teamsize = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - else - { - if ((teamsize & 1) == 0) - { - teamsize = (s32) (teamsize + 1); - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - else - { - if ((get_controller_buttons_pressed(0, 0x808) != 0) || (get_controller_3dstick_U_D(0, -2, 1) > 0)) - { - if (scenario == 5) - { - if ((teamsize & 2) != 0) - { - teamsize = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - else - { - if ((teamsize & 2) != 0) - { - teamsize = (s32) (teamsize + -2); - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - else - { - if ((get_controller_buttons_pressed(0, 0x202) != 0) || (get_controller_3dstick_L_R(0, -2, 1) < -1)) - { - if (scenario == 5) - { - if ((teamsize & 1) != 0) - { - teamsize = 2; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - else - { - if ((teamsize & 1) != 0) - { - teamsize = (s32) (teamsize + -1); - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - else - { - if ((get_controller_buttons_pressed(0, 0x404) != 0) || (get_controller_3dstick_U_D(0, -2, 1) < -1)) - { - if (scenario == 7) - { - if ((teamsize & 2) == 0) - { - teamsize = 2; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - else - { - if ((teamsize & 2) == 0) - { - teamsize = (s32) (teamsize + 2); - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - else - { - - } - } - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0x2a, 1); - menu_control_stick_tracking(); - phi_s0 = 0; - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { -loop_29: - if (scenario == 5) - { - if ((phi_s0 == 0) || (phi_s0 == teamsize)) - { - phi_a1 = 0; - } - else - { - - } - set_players_team_or_scenario_item_flag(phi_s0, phi_a1); - phi_s0_2 = phi_s0 + 1; - } - else - { - phi_a1_2 = 1; - if (phi_s0 != teamsize) - { - phi_a1_2 = 0; - } - set_players_team_or_scenario_item_flag(phi_s0, phi_a1_2); - phi_s0_2 = phi_s0 + 1; - } - phi_s0 = phi_s0_2; - if (phi_s0_2 != 4) - { - goto loop_29; - } - set_menu_to_mode(0xe, 0); - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } -} -#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 -/* 04987C 7F014D4C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 049880 7F014D50 AFBF001C */ sw $ra, 0x1c($sp) -/* 049884 7F014D54 44816000 */ mtc1 $at, $f12 -/* 049888 7F014D58 AFB10018 */ sw $s1, 0x18($sp) -/* 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 -/* 04989C 7F014D6C C42C1AB0 */ lwc1 $f12, %lo(D_80051AB0)($at) -/* 0498A0 7F014D70 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0498A4 7F014D74 44816000 */ mtc1 $at, $f12 -/* 0498A8 7F014D78 3C018005 */ lui $at, %hi(D_80051AB4) -/* 0498AC 7F014D7C 0C001194 */ jal set_page_height -/* 0498B0 7F014D80 C42E1AB4 */ lwc1 $f14, %lo(D_80051AB4)($at) -/* 0498B4 7F014D84 0C00114D */ jal set_video2_settings_offset_24 -/* 0498B8 7F014D88 00002025 */ move $a0, $zero -/* 0498BC 7F014D8C 3C028003 */ lui $v0, %hi(D_8002B560) -/* 0498C0 7F014D90 2442B560 */ addiu $v0, %lo(D_8002B560) # addiu $v0, $v0, -0x4aa0 -/* 0498C4 7F014D94 8C4E0000 */ lw $t6, ($v0) -/* 0498C8 7F014D98 24010014 */ li $at, 20 -/* 0498CC 7F014D9C 00002025 */ move $a0, $zero -/* 0498D0 7F014DA0 25CF0001 */ addiu $t7, $t6, 1 -/* 0498D4 7F014DA4 01E1001A */ div $zero, $t7, $at -/* 0498D8 7F014DA8 0000C010 */ mfhi $t8 -/* 0498DC 7F014DAC AC580000 */ sw $t8, ($v0) -/* 0498E0 7F014DB0 0C0030EB */ jal get_controller_buttons_pressed -/* 0498E4 7F014DB4 24050101 */ li $a1, 257 -/* 0498E8 7F014DB8 14400005 */ bnez $v0, .L7F014DD0 -/* 0498EC 7F014DBC 00002025 */ move $a0, $zero -/* 0498F0 7F014DC0 2405FFFE */ li $a1, -2 -/* 0498F4 7F014DC4 0C00312D */ jal get_controller_3dstick_L_R -/* 0498F8 7F014DC8 24060001 */ li $a2, 1 -/* 0498FC 7F014DCC 18400020 */ blez $v0, .L7F014E50 -.L7F014DD0: -/* 049900 7F014DD0 3C198003 */ lui $t9, %hi(scenario) -/* 049904 7F014DD4 8F39B540 */ lw $t9, %lo(scenario)($t9) -/* 049908 7F014DD8 24010007 */ li $at, 7 -/* 04990C 7F014DDC 3C118007 */ lui $s1, %hi(teamsize) -/* 049910 7F014DE0 1721000F */ bne $t9, $at, .L7F014E20 -/* 049914 7F014DE4 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 049918 7F014DE8 3C118007 */ lui $s1, %hi(teamsize) -/* 04991C 7F014DEC 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 049920 7F014DF0 8E280000 */ lw $t0, ($s1) -/* 049924 7F014DF4 240A0001 */ li $t2, 1 -/* 049928 7F014DF8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04992C 7F014DFC 31090001 */ andi $t1, $t0, 1 -/* 049930 7F014E00 1520008E */ bnez $t1, .L7F01503C -/* 049934 7F014E04 240500C7 */ li $a1, 199 -/* 049938 7F014E08 AE2A0000 */ sw $t2, ($s1) -/* 04993C 7F014E0C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 049940 7F014E10 0C002382 */ jal play_sfx_a1 -/* 049944 7F014E14 00003025 */ move $a2, $zero -/* 049948 7F014E18 10000088 */ b .L7F01503C -/* 04994C 7F014E1C 00000000 */ nop -.L7F014E20: -/* 049950 7F014E20 8E220000 */ lw $v0, ($s1) -/* 049954 7F014E24 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 049958 7F014E28 240500C7 */ li $a1, 199 -/* 04995C 7F014E2C 304B0001 */ andi $t3, $v0, 1 -/* 049960 7F014E30 15600082 */ bnez $t3, .L7F01503C -/* 049964 7F014E34 244C0001 */ addiu $t4, $v0, 1 -/* 049968 7F014E38 AE2C0000 */ sw $t4, ($s1) -/* 04996C 7F014E3C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 049970 7F014E40 0C002382 */ jal play_sfx_a1 -/* 049974 7F014E44 00003025 */ move $a2, $zero -/* 049978 7F014E48 1000007C */ b .L7F01503C -/* 04997C 7F014E4C 00000000 */ nop -.L7F014E50: -/* 049980 7F014E50 00002025 */ move $a0, $zero -/* 049984 7F014E54 0C0030EB */ jal get_controller_buttons_pressed -/* 049988 7F014E58 24050808 */ li $a1, 2056 -/* 04998C 7F014E5C 14400005 */ bnez $v0, .L7F014E74 -/* 049990 7F014E60 00002025 */ move $a0, $zero -/* 049994 7F014E64 2405FFFE */ li $a1, -2 -/* 049998 7F014E68 0C00314A */ jal get_controller_3dstick_U_D -/* 04999C 7F014E6C 24060001 */ li $a2, 1 -/* 0499A0 7F014E70 18400020 */ blez $v0, .L7F014EF4 -.L7F014E74: -/* 0499A4 7F014E74 3C0D8003 */ lui $t5, %hi(scenario) -/* 0499A8 7F014E78 8DADB540 */ lw $t5, %lo(scenario)($t5) -/* 0499AC 7F014E7C 24010005 */ li $at, 5 -/* 0499B0 7F014E80 3C118007 */ lui $s1, %hi(teamsize) -/* 0499B4 7F014E84 15A1000F */ bne $t5, $at, .L7F014EC4 -/* 0499B8 7F014E88 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 0499BC 7F014E8C 3C118007 */ lui $s1, %hi(teamsize) -/* 0499C0 7F014E90 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 0499C4 7F014E94 8E2E0000 */ lw $t6, ($s1) -/* 0499C8 7F014E98 24180001 */ li $t8, 1 -/* 0499CC 7F014E9C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0499D0 7F014EA0 31CF0002 */ andi $t7, $t6, 2 -/* 0499D4 7F014EA4 11E00065 */ beqz $t7, .L7F01503C -/* 0499D8 7F014EA8 240500C7 */ li $a1, 199 -/* 0499DC 7F014EAC AE380000 */ sw $t8, ($s1) -/* 0499E0 7F014EB0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0499E4 7F014EB4 0C002382 */ jal play_sfx_a1 -/* 0499E8 7F014EB8 00003025 */ move $a2, $zero -/* 0499EC 7F014EBC 1000005F */ b .L7F01503C -/* 0499F0 7F014EC0 00000000 */ nop -.L7F014EC4: -/* 0499F4 7F014EC4 8E220000 */ lw $v0, ($s1) -/* 0499F8 7F014EC8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0499FC 7F014ECC 240500C7 */ li $a1, 199 -/* 049A00 7F014ED0 30590002 */ andi $t9, $v0, 2 -/* 049A04 7F014ED4 13200059 */ beqz $t9, .L7F01503C -/* 049A08 7F014ED8 2448FFFE */ addiu $t0, $v0, -2 -/* 049A0C 7F014EDC AE280000 */ sw $t0, ($s1) -/* 049A10 7F014EE0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 049A14 7F014EE4 0C002382 */ jal play_sfx_a1 -/* 049A18 7F014EE8 00003025 */ move $a2, $zero -/* 049A1C 7F014EEC 10000053 */ b .L7F01503C -/* 049A20 7F014EF0 00000000 */ nop -.L7F014EF4: -/* 049A24 7F014EF4 00002025 */ move $a0, $zero -/* 049A28 7F014EF8 0C0030EB */ jal get_controller_buttons_pressed -/* 049A2C 7F014EFC 24050202 */ li $a1, 514 -/* 049A30 7F014F00 14400006 */ bnez $v0, .L7F014F1C -/* 049A34 7F014F04 00002025 */ move $a0, $zero -/* 049A38 7F014F08 2405FFFE */ li $a1, -2 -/* 049A3C 7F014F0C 0C00312D */ jal get_controller_3dstick_L_R -/* 049A40 7F014F10 24060001 */ li $a2, 1 -/* 049A44 7F014F14 2841FFFF */ slti $at, $v0, -1 -/* 049A48 7F014F18 10200020 */ beqz $at, .L7F014F9C -.L7F014F1C: -/* 049A4C 7F014F1C 3C098003 */ lui $t1, %hi(scenario) -/* 049A50 7F014F20 8D29B540 */ lw $t1, %lo(scenario)($t1) -/* 049A54 7F014F24 24010005 */ li $at, 5 -/* 049A58 7F014F28 3C118007 */ lui $s1, %hi(teamsize) -/* 049A5C 7F014F2C 1521000F */ bne $t1, $at, .L7F014F6C -/* 049A60 7F014F30 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 049A64 7F014F34 3C118007 */ lui $s1, %hi(teamsize) -/* 049A68 7F014F38 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 049A6C 7F014F3C 8E2A0000 */ lw $t2, ($s1) -/* 049A70 7F014F40 240C0002 */ li $t4, 2 -/* 049A74 7F014F44 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 049A78 7F014F48 314B0001 */ andi $t3, $t2, 1 -/* 049A7C 7F014F4C 1160003B */ beqz $t3, .L7F01503C -/* 049A80 7F014F50 240500C7 */ li $a1, 199 -/* 049A84 7F014F54 AE2C0000 */ sw $t4, ($s1) -/* 049A88 7F014F58 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 049A8C 7F014F5C 0C002382 */ jal play_sfx_a1 -/* 049A90 7F014F60 00003025 */ move $a2, $zero -/* 049A94 7F014F64 10000035 */ b .L7F01503C -/* 049A98 7F014F68 00000000 */ nop -.L7F014F6C: -/* 049A9C 7F014F6C 8E220000 */ lw $v0, ($s1) -/* 049AA0 7F014F70 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 049AA4 7F014F74 240500C7 */ li $a1, 199 -/* 049AA8 7F014F78 304D0001 */ andi $t5, $v0, 1 -/* 049AAC 7F014F7C 11A0002F */ beqz $t5, .L7F01503C -/* 049AB0 7F014F80 244EFFFF */ addiu $t6, $v0, -1 -/* 049AB4 7F014F84 AE2E0000 */ sw $t6, ($s1) -/* 049AB8 7F014F88 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 049ABC 7F014F8C 0C002382 */ jal play_sfx_a1 -/* 049AC0 7F014F90 00003025 */ move $a2, $zero -/* 049AC4 7F014F94 10000029 */ b .L7F01503C -/* 049AC8 7F014F98 00000000 */ nop -.L7F014F9C: -/* 049ACC 7F014F9C 00002025 */ move $a0, $zero -/* 049AD0 7F014FA0 0C0030EB */ jal get_controller_buttons_pressed -/* 049AD4 7F014FA4 24050404 */ li $a1, 1028 -/* 049AD8 7F014FA8 14400006 */ bnez $v0, .L7F014FC4 -/* 049ADC 7F014FAC 00002025 */ move $a0, $zero -/* 049AE0 7F014FB0 2405FFFE */ li $a1, -2 -/* 049AE4 7F014FB4 0C00314A */ jal get_controller_3dstick_U_D -/* 049AE8 7F014FB8 24060001 */ li $a2, 1 -/* 049AEC 7F014FBC 2841FFFF */ slti $at, $v0, -1 -/* 049AF0 7F014FC0 1020001E */ beqz $at, .L7F01503C -.L7F014FC4: -/* 049AF4 7F014FC4 3C0F8003 */ lui $t7, %hi(scenario) -/* 049AF8 7F014FC8 8DEFB540 */ lw $t7, %lo(scenario)($t7) -/* 049AFC 7F014FCC 24010007 */ li $at, 7 -/* 049B00 7F014FD0 3C118007 */ lui $s1, %hi(teamsize) -/* 049B04 7F014FD4 15E1000F */ bne $t7, $at, .L7F015014 -/* 049B08 7F014FD8 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 049B0C 7F014FDC 3C118007 */ lui $s1, %hi(teamsize) -/* 049B10 7F014FE0 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 049B14 7F014FE4 8E380000 */ lw $t8, ($s1) -/* 049B18 7F014FE8 24080002 */ li $t0, 2 -/* 049B1C 7F014FEC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 049B20 7F014FF0 33190002 */ andi $t9, $t8, 2 -/* 049B24 7F014FF4 17200011 */ bnez $t9, .L7F01503C -/* 049B28 7F014FF8 240500C7 */ li $a1, 199 -/* 049B2C 7F014FFC AE280000 */ sw $t0, ($s1) -/* 049B30 7F015000 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 049B34 7F015004 0C002382 */ jal play_sfx_a1 -/* 049B38 7F015008 00003025 */ move $a2, $zero -/* 049B3C 7F01500C 1000000B */ b .L7F01503C -/* 049B40 7F015010 00000000 */ nop -.L7F015014: -/* 049B44 7F015014 8E220000 */ lw $v0, ($s1) -/* 049B48 7F015018 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 049B4C 7F01501C 240500C7 */ li $a1, 199 -/* 049B50 7F015020 30490002 */ andi $t1, $v0, 2 -/* 049B54 7F015024 15200005 */ bnez $t1, .L7F01503C -/* 049B58 7F015028 244A0002 */ addiu $t2, $v0, 2 -/* 049B5C 7F01502C AE2A0000 */ sw $t2, ($s1) -/* 049B60 7F015030 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 049B64 7F015034 0C002382 */ jal play_sfx_a1 -/* 049B68 7F015038 00003025 */ move $a2, $zero -.L7F01503C: -/* 049B6C 7F01503C 3C108003 */ lui $s0, %hi(ptr_folder_object_instance) -/* 049B70 7F015040 2610A95C */ addiu $s0, %lo(ptr_folder_object_instance) # addiu $s0, $s0, -0x56a4 -/* 049B74 7F015044 3C118007 */ lui $s1, %hi(teamsize) -/* 049B78 7F015048 26319788 */ addiu $s1, %lo(teamsize) # addiu $s1, $s1, -0x6878 -/* 049B7C 7F01504C 0FC02DC9 */ jal disable_all_switches -/* 049B80 7F015050 8E040000 */ lw $a0, ($s0) -/* 049B84 7F015054 8E040000 */ lw $a0, ($s0) -/* 049B88 7F015058 00002825 */ move $a1, $zero -/* 049B8C 7F01505C 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 049B90 7F015060 24060001 */ li $a2, 1 -/* 049B94 7F015064 8E040000 */ lw $a0, ($s0) -/* 049B98 7F015068 2405002A */ li $a1, 42 -/* 049B9C 7F01506C 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 049BA0 7F015070 24060001 */ li $a2, 1 -/* 049BA4 7F015074 0FC026E1 */ jal menu_control_stick_tracking -/* 049BA8 7F015078 00000000 */ nop -/* 049BAC 7F01507C 00002025 */ move $a0, $zero -/* 049BB0 7F015080 0C0030EB */ jal get_controller_buttons_pressed -/* 049BB4 7F015084 3405B000 */ li $a1, 45056 -/* 049BB8 7F015088 10400026 */ beqz $v0, .L7F015124 -/* 049BBC 7F01508C 00008025 */ move $s0, $zero -.L7F015090: -/* 049BC0 7F015090 3C0B8003 */ lui $t3, %hi(scenario) -/* 049BC4 7F015094 8D6BB540 */ lw $t3, %lo(scenario)($t3) -/* 049BC8 7F015098 24010005 */ li $at, 5 -/* 049BCC 7F01509C 5561000E */ bnel $t3, $at, .L7F0150D8 -/* 049BD0 7F0150A0 8E2D0000 */ lw $t5, ($s1) -/* 049BD4 7F0150A4 12000005 */ beqz $s0, .L7F0150BC -/* 049BD8 7F0150A8 00000000 */ nop -/* 049BDC 7F0150AC 8E2C0000 */ lw $t4, ($s1) -/* 049BE0 7F0150B0 24050001 */ li $a1, 1 -/* 049BE4 7F0150B4 160C0003 */ bne $s0, $t4, .L7F0150C4 -/* 049BE8 7F0150B8 00000000 */ nop -.L7F0150BC: -/* 049BEC 7F0150BC 10000001 */ b .L7F0150C4 -/* 049BF0 7F0150C0 00002825 */ move $a1, $zero -.L7F0150C4: -/* 049BF4 7F0150C4 0FC05329 */ jal set_players_team_or_scenario_item_flag -/* 049BF8 7F0150C8 02002025 */ move $a0, $s0 -/* 049BFC 7F0150CC 1000000A */ b .L7F0150F8 -/* 049C00 7F0150D0 26100001 */ addiu $s0, $s0, 1 -/* 049C04 7F0150D4 8E2D0000 */ lw $t5, ($s1) -.L7F0150D8: -/* 049C08 7F0150D8 24050001 */ li $a1, 1 -/* 049C0C 7F0150DC 120D0003 */ beq $s0, $t5, .L7F0150EC -/* 049C10 7F0150E0 00000000 */ nop -/* 049C14 7F0150E4 10000001 */ b .L7F0150EC -/* 049C18 7F0150E8 00002825 */ move $a1, $zero -.L7F0150EC: -/* 049C1C 7F0150EC 0FC05329 */ jal set_players_team_or_scenario_item_flag -/* 049C20 7F0150F0 02002025 */ move $a0, $s0 -/* 049C24 7F0150F4 26100001 */ addiu $s0, $s0, 1 -.L7F0150F8: -/* 049C28 7F0150F8 24010004 */ li $at, 4 -/* 049C2C 7F0150FC 1601FFE4 */ bne $s0, $at, .L7F015090 -/* 049C30 7F015100 00000000 */ nop -/* 049C34 7F015104 2404000E */ li $a0, 14 -/* 049C38 7F015108 0FC06975 */ jal set_menu_to_mode -/* 049C3C 7F01510C 00002825 */ move $a1, $zero -/* 049C40 7F015110 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 049C44 7F015114 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 049C48 7F015118 240500C7 */ li $a1, 199 -/* 049C4C 7F01511C 0C002382 */ jal play_sfx_a1 -/* 049C50 7F015120 00003025 */ move $a2, $zero -.L7F015124: -/* 049C54 7F015124 8FBF001C */ lw $ra, 0x1c($sp) -/* 049C58 7F015128 8FB00014 */ lw $s0, 0x14($sp) -/* 049C5C 7F01512C 8FB10018 */ lw $s1, 0x18($sp) -/* 049C60 7F015130 03E00008 */ jr $ra -/* 049C64 7F015134 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu14_mpteams(s32 arg0) -{ - s32 spCC; - ? spA4; - s32 spA0; - s32 sp9C; - ? sp98; - s32 sp90; - s32 sp8C; - s32 sp88; - s32 sp84; - s32 temp_ret; - s32 temp_ret_2; - s32 temp_s5; - s32 temp_s6; - u32 temp_s2; - u32 temp_s4; - void *temp_v1; - u32 phi_s4; - s32 phi_v0; - s32 phi_v0_2; - void *phi_s5; - u32 phi_s0; - s32 phi_s1; - s32 phi_s5_2; - void *phi_s5_3; - void *phi_s5_4; - void *phi_s5_5; - u32 phi_v0_3; - - spCC = get_selected_num_players(); - temp_ret = microcode_constructor_related_to_menus(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(arg0, 0, 0, 0)))), 0x26, 0xa9, 0x184, 0xab, 0x90); - phi_s5_5 = temp_ret; - if (spCC >= 3) - { - phi_s5_5 = microcode_constructor_related_to_menus(temp_ret, 0xd4, 0x1e, 0xd6, 0x136, 0x80); - } - phi_s5_3 = phi_s5_5; - if (spCC > 0) - { - phi_s4 = 0U; - phi_s5 = phi_s5_5; -loop_4: - if (phi_s4 >= 2) - { - phi_v0_2 = 0x8c; - } - else - { - phi_v0_2 = 0; - } - temp_s6 = phi_v0_2 + 0x1e; - if ((phi_s4 & 1) != 0) - { - phi_v0 = 0xaf; - } - else - { - phi_v0 = 0; - } - temp_v1 = phi_s5; - temp_s2 = (u32) phi_s4 < 1U; - temp_s5 = phi_s5 + 8; - temp_v1->unk0 = (s32) (((((s32) ((f32) (phi_v0 + 0x2c) * 4.0f) & 0xfff) << 0xc) | 0xed000000) | ((s32) ((f32) (temp_s6 + 5) * 4.0f) & 0xfff)); - temp_v1->unk4 = (s32) ((((s32) ((f32) (phi_v0 + 0xcf) * 4.0f) & 0xfff) << 0xc) | ((s32) ((f32) (temp_s6 + 0x87) * 4.0f) & 0xfff)); - phi_s5_2 = temp_s5; - if (temp_s2 != 0) - { - temp_ret_2 = get_textptr_for_textID(TEXT(LTITLE, 0x58)); - sub_GAME_7F0AE98C(&spA4, &spA0, temp_ret_2, ptrSecondFontTableLarge, (?32) subroutine_arg0, 0); - sp9C = (s32) ((phi_v0 + 0x7d) - (spA0 >> 1)); - get_video2_settings_txtClipW(); - phi_s5_2 = write_text_at_abs_coord(temp_s5, &sp9C, &sp98, temp_ret_2, (?32) ptrSecondFontTableLarge, (?32) subroutine_arg0, 0xff, get_video2_settings_txtClipH(), 0, 0); - } - if (scenario == 5) - { - phi_v0_3 = temp_s2; - if (temp_s2 == 0) - { - phi_v0_3 = (u32) (phi_s4 ^ teamsize) < 1U; - } - phi_s0 = phi_v0_3; - } - else - { - phi_s0 = 0U < (u32) (phi_s4 ^ teamsize); - } - if (phi_s0 != 0) - { - phi_s1 = get_textptr_for_textID(TEXT(LTITLE, 0x59)); - } - else - { - phi_s1 = get_textptr_for_textID(TEXT(LTITLE, 0x5a)); - } - if (phi_s0 != 0) - { - - } - else - { - - } - sub_GAME_7F0AE98C(&sp90, &sp8C, phi_s1, ptrSecondFontTableLarge, (?32) subroutine_arg0, 0); - sp88 = (s32) (spB4 - (sp8C >> 1)); - sp84 = (s32) ((temp_s6 - (sp90 >> 1)) + 0x46); - if ((phi_s4 == teamsize) && (phi_s4 == teamsize)) - { - phi_s5_4 = (void *) phi_s5_2; - if (D_8002B560 < 0xa) - { -block_26: - get_video2_settings_txtClipW(); - phi_s5_4 = write_text_at_abs_coord(phi_s5_2, &sp88, &sp84, phi_s1, (?32) ptrSecondFontTableLarge, (?32) subroutine_arg0, get_video2_settings_txtClipH(), 0, 0); - } - } - else - { - goto block_26; - } - temp_s4 = phi_s4 + 1; - phi_s4 = temp_s4; - phi_s5 = phi_s5_4; - phi_s5_3 = phi_s5_4; - if (temp_s4 != spCC) - { - goto loop_4; - } - } - combiner_bayer_lod_perspective(phi_s5_3); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu14_mpteams -/* 049C68 7F015138 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 049C6C 7F01513C AFBF0064 */ sw $ra, 0x64($sp) -/* 049C70 7F015140 AFB50054 */ sw $s5, 0x54($sp) -/* 049C74 7F015144 0080A825 */ move $s5, $a0 -/* 049C78 7F015148 AFBE0060 */ sw $fp, 0x60($sp) -/* 049C7C 7F01514C AFB7005C */ sw $s7, 0x5c($sp) -/* 049C80 7F015150 AFB60058 */ sw $s6, 0x58($sp) -/* 049C84 7F015154 AFB40050 */ sw $s4, 0x50($sp) -/* 049C88 7F015158 AFB3004C */ sw $s3, 0x4c($sp) -/* 049C8C 7F01515C AFB20048 */ sw $s2, 0x48($sp) -/* 049C90 7F015160 AFB10044 */ sw $s1, 0x44($sp) -/* 049C94 7F015164 AFB00040 */ sw $s0, 0x40($sp) -/* 049C98 7F015168 0FC040A4 */ jal get_selected_num_players -/* 049C9C 7F01516C F7B40038 */ sdc1 $f20, 0x38($sp) -/* 049CA0 7F015170 AFA200CC */ sw $v0, 0xcc($sp) -/* 049CA4 7F015174 02A02025 */ move $a0, $s5 -/* 049CA8 7F015178 00002825 */ move $a1, $zero -/* 049CAC 7F01517C 00003025 */ move $a2, $zero -/* 049CB0 7F015180 0C0011B4 */ jal set_setfillcolor -/* 049CB4 7F015184 00003825 */ move $a3, $zero -/* 049CB8 7F015188 0C000FBE */ jal insert_generic_fillrect -/* 049CBC 7F01518C 00402025 */ move $a0, $v0 -/* 049CC0 7F015190 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 049CC4 7F015194 00402025 */ move $a0, $v0 -/* 049CC8 7F015198 0FC2B366 */ jal microcode_constructor -/* 049CCC 7F01519C 00402025 */ move $a0, $v0 -/* 049CD0 7F0151A0 240E00AB */ li $t6, 171 -/* 049CD4 7F0151A4 240F0090 */ li $t7, 144 -/* 049CD8 7F0151A8 AFAF0014 */ sw $t7, 0x14($sp) -/* 049CDC 7F0151AC AFAE0010 */ sw $t6, 0x10($sp) -/* 049CE0 7F0151B0 00402025 */ move $a0, $v0 -/* 049CE4 7F0151B4 24050026 */ li $a1, 38 -/* 049CE8 7F0151B8 240600A9 */ li $a2, 169 -/* 049CEC 7F0151BC 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 049CF0 7F0151C0 24070184 */ li $a3, 388 -/* 049CF4 7F0151C4 8FB800CC */ lw $t8, 0xcc($sp) -/* 049CF8 7F0151C8 0040A825 */ move $s5, $v0 -/* 049CFC 7F0151CC 00402025 */ move $a0, $v0 -/* 049D00 7F0151D0 2B010003 */ slti $at, $t8, 3 -/* 049D04 7F0151D4 14200009 */ bnez $at, .L7F0151FC -/* 049D08 7F0151D8 240500D4 */ li $a1, 212 -/* 049D0C 7F0151DC 24190136 */ li $t9, 310 -/* 049D10 7F0151E0 24080080 */ li $t0, 128 -/* 049D14 7F0151E4 AFA80014 */ sw $t0, 0x14($sp) -/* 049D18 7F0151E8 AFB90010 */ sw $t9, 0x10($sp) -/* 049D1C 7F0151EC 2406001E */ li $a2, 30 -/* 049D20 7F0151F0 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 049D24 7F0151F4 240700D6 */ li $a3, 214 -/* 049D28 7F0151F8 0040A825 */ move $s5, $v0 -.L7F0151FC: -/* 049D2C 7F0151FC 8FA900CC */ lw $t1, 0xcc($sp) -/* 049D30 7F015200 0000A025 */ move $s4, $zero -/* 049D34 7F015204 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 049D38 7F015208 192000B2 */ blez $t1, .L7F0154D4 -/* 049D3C 7F01520C 3C178004 */ lui $s7, %hi(ptrSecondFontTableLarge) -/* 049D40 7F015210 3C1E8004 */ lui $fp, %hi(ptrFirstFontTableLarge) -/* 049D44 7F015214 4481A000 */ mtc1 $at, $f20 -/* 049D48 7F015218 27DE0EB4 */ addiu $fp, %lo(ptrFirstFontTableLarge) # addiu $fp, $fp, 0xeb4 -/* 049D4C 7F01521C 26F70EB8 */ addiu $s7, %lo(ptrSecondFontTableLarge) # addiu $s7, $s7, 0xeb8 -/* 049D50 7F015220 2A810002 */ slti $at, $s4, 2 -.L7F015224: -/* 049D54 7F015224 14200003 */ bnez $at, .L7F015234 -/* 049D58 7F015228 328A0001 */ andi $t2, $s4, 1 -/* 049D5C 7F01522C 10000002 */ b .L7F015238 -/* 049D60 7F015230 2402008C */ li $v0, 140 -.L7F015234: -/* 049D64 7F015234 00001025 */ move $v0, $zero -.L7F015238: -/* 049D68 7F015238 11400003 */ beqz $t2, .L7F015248 -/* 049D6C 7F01523C 2456001E */ addiu $s6, $v0, 0x1e -/* 049D70 7F015240 10000002 */ b .L7F01524C -/* 049D74 7F015244 240200AF */ li $v0, 175 -.L7F015248: -/* 049D78 7F015248 00001025 */ move $v0, $zero -.L7F01524C: -/* 049D7C 7F01524C 244B002C */ addiu $t3, $v0, 0x2c -/* 049D80 7F015250 448B2000 */ mtc1 $t3, $f4 -/* 049D84 7F015254 26D00005 */ addiu $s0, $s6, 5 -/* 049D88 7F015258 44908000 */ mtc1 $s0, $f16 -/* 049D8C 7F01525C 468021A0 */ cvt.s.w $f6, $f4 -/* 049D90 7F015260 244B00CF */ addiu $t3, $v0, 0xcf -/* 049D94 7F015264 26D90087 */ addiu $t9, $s6, 0x87 -/* 049D98 7F015268 3C01ED00 */ lui $at, 0xed00 -/* 049D9C 7F01526C 02A01825 */ move $v1, $s5 -/* 049DA0 7F015270 468084A0 */ cvt.s.w $f18, $f16 -/* 049DA4 7F015274 46143202 */ mul.s $f8, $f6, $f20 -/* 049DA8 7F015278 2451007D */ addiu $s1, $v0, 0x7d -/* 049DAC 7F01527C 2E920001 */ sltiu $s2, $s4, 1 -/* 049DB0 7F015280 26B50008 */ addiu $s5, $s5, 8 -/* 049DB4 7F015284 46149102 */ mul.s $f4, $f18, $f20 -/* 049DB8 7F015288 4600428D */ trunc.w.s $f10, $f8 -/* 049DBC 7F01528C 448B4000 */ mtc1 $t3, $f8 -/* 049DC0 7F015290 4600218D */ trunc.w.s $f6, $f4 -/* 049DC4 7F015294 440D5000 */ mfc1 $t5, $f10 -/* 049DC8 7F015298 44992000 */ mtc1 $t9, $f4 -/* 049DCC 7F01529C 468042A0 */ cvt.s.w $f10, $f8 -/* 049DD0 7F0152A0 44083000 */ mfc1 $t0, $f6 -/* 049DD4 7F0152A4 31AE0FFF */ andi $t6, $t5, 0xfff -/* 049DD8 7F0152A8 000E7B00 */ sll $t7, $t6, 0xc -/* 049DDC 7F0152AC 01E1C025 */ or $t8, $t7, $at -/* 049DE0 7F0152B0 468021A0 */ cvt.s.w $f6, $f4 -/* 049DE4 7F0152B4 46145402 */ mul.s $f16, $f10, $f20 -/* 049DE8 7F0152B8 31090FFF */ andi $t1, $t0, 0xfff -/* 049DEC 7F0152BC 03095025 */ or $t2, $t8, $t1 -/* 049DF0 7F0152C0 AC6A0000 */ sw $t2, ($v1) -/* 049DF4 7F0152C4 46143202 */ mul.s $f8, $f6, $f20 -/* 049DF8 7F0152C8 4600848D */ trunc.w.s $f18, $f16 -/* 049DFC 7F0152CC 4600428D */ trunc.w.s $f10, $f8 -/* 049E00 7F0152D0 440D9000 */ mfc1 $t5, $f18 -/* 049E04 7F0152D4 44185000 */ mfc1 $t8, $f10 -/* 049E08 7F0152D8 31AE0FFF */ andi $t6, $t5, 0xfff -/* 049E0C 7F0152DC 000E7B00 */ sll $t7, $t6, 0xc -/* 049E10 7F0152E0 33090FFF */ andi $t1, $t8, 0xfff -/* 049E14 7F0152E4 01E95025 */ or $t2, $t7, $t1 -/* 049E18 7F0152E8 AC6A0004 */ sw $t2, 4($v1) -/* 049E1C 7F0152EC 12400026 */ beqz $s2, .L7F015388 -/* 049E20 7F0152F0 AFB100B4 */ sw $s1, 0xb4($sp) -/* 049E24 7F0152F4 0FC30776 */ jal get_textptr_for_textID -/* 049E28 7F0152F8 34049C58 */ li $a0, 40024 -/* 049E2C 7F0152FC 8FCB0000 */ lw $t3, ($fp) -/* 049E30 7F015300 00409825 */ move $s3, $v0 -/* 049E34 7F015304 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 049E38 7F015308 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 049E3C 7F01530C 00403025 */ move $a2, $v0 -/* 049E40 7F015310 8EE70000 */ lw $a3, ($s7) -/* 049E44 7F015314 AFA00014 */ sw $zero, 0x14($sp) -/* 049E48 7F015318 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 049E4C 7F01531C AFAB0010 */ sw $t3, 0x10($sp) -/* 049E50 7F015320 8FAC00A0 */ lw $t4, 0xa0($sp) -/* 049E54 7F015324 AFB00098 */ sw $s0, 0x98($sp) -/* 049E58 7F015328 000C6843 */ sra $t5, $t4, 1 -/* 049E5C 7F01532C 022D7023 */ subu $t6, $s1, $t5 -/* 049E60 7F015330 0C001107 */ jal get_video2_settings_txtClipW -/* 049E64 7F015334 AFAE009C */ sw $t6, 0x9c($sp) -/* 049E68 7F015338 00028400 */ sll $s0, $v0, 0x10 -/* 049E6C 7F01533C 0010CC03 */ sra $t9, $s0, 0x10 -/* 049E70 7F015340 0C00110B */ jal get_video2_settings_txtClipH -/* 049E74 7F015344 03208025 */ move $s0, $t9 -/* 049E78 7F015348 8EE80000 */ lw $t0, ($s7) -/* 049E7C 7F01534C 8FD80000 */ lw $t8, ($fp) -/* 049E80 7F015350 240F00FF */ li $t7, 255 -/* 049E84 7F015354 AFAF0018 */ sw $t7, 0x18($sp) -/* 049E88 7F015358 02A02025 */ move $a0, $s5 -/* 049E8C 7F01535C 27A5009C */ addiu $a1, $sp, 0x9c -/* 049E90 7F015360 27A60098 */ addiu $a2, $sp, 0x98 -/* 049E94 7F015364 02603825 */ move $a3, $s3 -/* 049E98 7F015368 AFB0001C */ sw $s0, 0x1c($sp) -/* 049E9C 7F01536C AFA20020 */ sw $v0, 0x20($sp) -/* 049EA0 7F015370 AFA00024 */ sw $zero, 0x24($sp) -/* 049EA4 7F015374 AFA00028 */ sw $zero, 0x28($sp) -/* 049EA8 7F015378 AFA80010 */ sw $t0, 0x10($sp) -/* 049EAC 7F01537C 0FC025D8 */ jal write_text_at_abs_coord -/* 049EB0 7F015380 AFB80014 */ sw $t8, 0x14($sp) -/* 049EB4 7F015384 0040A825 */ move $s5, $v0 -.L7F015388: -/* 049EB8 7F015388 3C098003 */ lui $t1, %hi(scenario) -/* 049EBC 7F01538C 8D29B540 */ lw $t1, %lo(scenario)($t1) -/* 049EC0 7F015390 24010005 */ li $at, 5 -/* 049EC4 7F015394 3C0B8007 */ lui $t3, %hi(teamsize) -/* 049EC8 7F015398 15210009 */ bne $t1, $at, .L7F0153C0 -/* 049ECC 7F01539C 00000000 */ nop -/* 049ED0 7F0153A0 16400005 */ bnez $s2, .L7F0153B8 -/* 049ED4 7F0153A4 02401025 */ move $v0, $s2 -/* 049ED8 7F0153A8 3C0A8007 */ lui $t2, %hi(teamsize) -/* 049EDC 7F0153AC 8D4A9788 */ lw $t2, %lo(teamsize)($t2) -/* 049EE0 7F0153B0 028A1026 */ xor $v0, $s4, $t2 -/* 049EE4 7F0153B4 2C420001 */ sltiu $v0, $v0, 1 -.L7F0153B8: -/* 049EE8 7F0153B8 10000004 */ b .L7F0153CC -/* 049EEC 7F0153BC 00408025 */ move $s0, $v0 -.L7F0153C0: -/* 049EF0 7F0153C0 8D6B9788 */ lw $t3, %lo(teamsize)($t3) -/* 049EF4 7F0153C4 028B8026 */ xor $s0, $s4, $t3 -/* 049EF8 7F0153C8 0010802B */ sltu $s0, $zero, $s0 -.L7F0153CC: -/* 049EFC 7F0153CC 12000005 */ beqz $s0, .L7F0153E4 -/* 049F00 7F0153D0 00000000 */ nop -/* 049F04 7F0153D4 0FC30776 */ jal get_textptr_for_textID -/* 049F08 7F0153D8 34049C59 */ li $a0, 40025 -/* 049F0C 7F0153DC 10000004 */ b .L7F0153F0 -/* 049F10 7F0153E0 00408825 */ move $s1, $v0 -.L7F0153E4: -/* 049F14 7F0153E4 0FC30776 */ jal get_textptr_for_textID -/* 049F18 7F0153E8 34049C5A */ li $a0, 40026 -/* 049F1C 7F0153EC 00408825 */ move $s1, $v0 -.L7F0153F0: -/* 049F20 7F0153F0 12000004 */ beqz $s0, .L7F015404 -/* 049F24 7F0153F4 27A40090 */ addiu $a0, $sp, 0x90 -/* 049F28 7F0153F8 3C12FF00 */ lui $s2, (0xFF0000FF >> 16) # lui $s2, 0xff00 -/* 049F2C 7F0153FC 10000002 */ b .L7F015408 -/* 049F30 7F015400 365200FF */ ori $s2, (0xFF0000FF & 0xFFFF) # ori $s2, $s2, 0xff -.L7F015404: -/* 049F34 7F015404 3412FFFF */ li $s2, 65535 -.L7F015408: -/* 049F38 7F015408 8FCC0000 */ lw $t4, ($fp) -/* 049F3C 7F01540C 27A5008C */ addiu $a1, $sp, 0x8c -/* 049F40 7F015410 02203025 */ move $a2, $s1 -/* 049F44 7F015414 8EE70000 */ lw $a3, ($s7) -/* 049F48 7F015418 AFA00014 */ sw $zero, 0x14($sp) -/* 049F4C 7F01541C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 049F50 7F015420 AFAC0010 */ sw $t4, 0x10($sp) -/* 049F54 7F015424 8FB80090 */ lw $t8, 0x90($sp) -/* 049F58 7F015428 8FAE008C */ lw $t6, 0x8c($sp) -/* 049F5C 7F01542C 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 049F60 7F015430 3C028007 */ lui $v0, %hi(teamsize) -/* 049F64 7F015434 8C429788 */ lw $v0, %lo(teamsize)($v0) -/* 049F68 7F015438 00187843 */ sra $t7, $t8, 1 -/* 049F6C 7F01543C 02CF4823 */ subu $t1, $s6, $t7 -/* 049F70 7F015440 000EC843 */ sra $t9, $t6, 1 -/* 049F74 7F015444 252A0046 */ addiu $t2, $t1, 0x46 -/* 049F78 7F015448 01B94023 */ subu $t0, $t5, $t9 -/* 049F7C 7F01544C AFA80088 */ sw $t0, 0x88($sp) -/* 049F80 7F015450 16820007 */ bne $s4, $v0, .L7F015470 -/* 049F84 7F015454 AFAA0084 */ sw $t2, 0x84($sp) -/* 049F88 7F015458 1682001A */ bne $s4, $v0, .L7F0154C4 -/* 049F8C 7F01545C 3C0B8003 */ lui $t3, %hi(D_8002B560) -/* 049F90 7F015460 8D6BB560 */ lw $t3, %lo(D_8002B560)($t3) -/* 049F94 7F015464 2961000A */ slti $at, $t3, 0xa -/* 049F98 7F015468 50200017 */ beql $at, $zero, .L7F0154C8 -/* 049F9C 7F01546C 8FB900CC */ lw $t9, 0xcc($sp) -.L7F015470: -/* 049FA0 7F015470 0C001107 */ jal get_video2_settings_txtClipW -/* 049FA4 7F015474 00000000 */ nop -/* 049FA8 7F015478 00028400 */ sll $s0, $v0, 0x10 -/* 049FAC 7F01547C 00106403 */ sra $t4, $s0, 0x10 -/* 049FB0 7F015480 0C00110B */ jal get_video2_settings_txtClipH -/* 049FB4 7F015484 01808025 */ move $s0, $t4 -/* 049FB8 7F015488 8EEE0000 */ lw $t6, ($s7) -/* 049FBC 7F01548C 8FCD0000 */ lw $t5, ($fp) -/* 049FC0 7F015490 02A02025 */ move $a0, $s5 -/* 049FC4 7F015494 27A50088 */ addiu $a1, $sp, 0x88 -/* 049FC8 7F015498 27A60084 */ addiu $a2, $sp, 0x84 -/* 049FCC 7F01549C 02203825 */ move $a3, $s1 -/* 049FD0 7F0154A0 AFB20018 */ sw $s2, 0x18($sp) -/* 049FD4 7F0154A4 AFB0001C */ sw $s0, 0x1c($sp) -/* 049FD8 7F0154A8 AFA20020 */ sw $v0, 0x20($sp) -/* 049FDC 7F0154AC AFA00024 */ sw $zero, 0x24($sp) -/* 049FE0 7F0154B0 AFA00028 */ sw $zero, 0x28($sp) -/* 049FE4 7F0154B4 AFAE0010 */ sw $t6, 0x10($sp) -/* 049FE8 7F0154B8 0FC025D8 */ jal write_text_at_abs_coord -/* 049FEC 7F0154BC AFAD0014 */ sw $t5, 0x14($sp) -/* 049FF0 7F0154C0 0040A825 */ move $s5, $v0 -.L7F0154C4: -/* 049FF4 7F0154C4 8FB900CC */ lw $t9, 0xcc($sp) -.L7F0154C8: -/* 049FF8 7F0154C8 26940001 */ addiu $s4, $s4, 1 -/* 049FFC 7F0154CC 5699FF55 */ bnel $s4, $t9, .L7F015224 -/* 04A000 7F0154D0 2A810002 */ slti $at, $s4, 2 -.L7F0154D4: -/* 04A004 7F0154D4 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 04A008 7F0154D8 02A02025 */ move $a0, $s5 -/* 04A00C 7F0154DC 8FBF0064 */ lw $ra, 0x64($sp) -/* 04A010 7F0154E0 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 04A014 7F0154E4 8FB00040 */ lw $s0, 0x40($sp) -/* 04A018 7F0154E8 8FB10044 */ lw $s1, 0x44($sp) -/* 04A01C 7F0154EC 8FB20048 */ lw $s2, 0x48($sp) -/* 04A020 7F0154F0 8FB3004C */ lw $s3, 0x4c($sp) -/* 04A024 7F0154F4 8FB40050 */ lw $s4, 0x50($sp) -/* 04A028 7F0154F8 8FB50054 */ lw $s5, 0x54($sp) -/* 04A02C 7F0154FC 8FB60058 */ lw $s6, 0x58($sp) -/* 04A030 7F015500 8FB7005C */ lw $s7, 0x5c($sp) -/* 04A034 7F015504 8FBE0060 */ lw $fp, 0x60($sp) -/* 04A038 7F015508 03E00008 */ jr $ra -/* 04A03C 7F01550C 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif - - - -#ifdef NONMATCHING -void set_briefing_page(WATCH_BRIEFING_PAGE page) -{ - current_menu_briefing_page = page; -} -#else -GLOBAL_ASM( -.text -glabel set_briefing_page -/* 04A040 7F015510 3C028003 */ lui $v0, %hi(current_menu_briefing_page) -/* 04A044 7F015514 2442A914 */ addiu $v0, %lo(current_menu_briefing_page) # addiu $v0, $v0, -0x56ec -/* 04A048 7F015518 03E00008 */ jr $ra -/* 04A04C 7F01551C AC440000 */ sw $a0, ($v0) -) -#endif - - - - - - -#ifdef NONMATCHING -s32 load_briefing_text_for_stage(void) -{ - s32 sp20; - s32 temp_s0; - s32 temp_v0; - void *phi_v1; - s32 phi_v0; - - temp_s0 = ptr_logo_and_walletbond_DL + 0xa000; - ptrbriefingdata = _load_resource_named_to_buffer((0x80030000 + (briefingpage * 0x1c))->unk-5404, 1, temp_s0, 0x200); - sp20 = 0x6de00; - load_briefing_text_bank(get_textbank_number_for_stagenum((0x80030000 + (briefingpage * 0x1c))->unk-5414), temp_s0 + 0x200, sp20); - phi_v1 = ptrbriefingdata; - phi_v0 = 0; -loop_1: - temp_v0 = phi_v0 + 4; - if (phi_v1->unk8 != 0) - { - phi_v1 = phi_v1 + 4; - phi_v0 = temp_v0; - if (temp_v0 != 0x28) - { - goto loop_1; - } - } - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel load_briefing_text_for_stage -/* 04A050 7F015520 3C0E8003 */ lui $t6, %hi(briefingpage) -/* 04A054 7F015524 8DCEA8F8 */ lw $t6, %lo(briefingpage)($t6) -/* 04A058 7F015528 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 04A05C 7F01552C AFB00018 */ sw $s0, 0x18($sp) -/* 04A060 7F015530 3C108003 */ lui $s0, %hi(ptr_logo_and_walletbond_DL) -/* 04A064 7F015534 8E10A950 */ lw $s0, %lo(ptr_logo_and_walletbond_DL)($s0) -/* 04A068 7F015538 000E78C0 */ sll $t7, $t6, 3 -/* 04A06C 7F01553C 01EE7823 */ subu $t7, $t7, $t6 -/* 04A070 7F015540 3401A000 */ li $at, 40960 -/* 04A074 7F015544 000F7880 */ sll $t7, $t7, 2 -/* 04A078 7F015548 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+24) -/* 04A07C 7F01554C AFBF001C */ sw $ra, 0x1c($sp) -/* 04A080 7F015550 008F2021 */ addu $a0, $a0, $t7 -/* 04A084 7F015554 02018021 */ addu $s0, $s0, $at -/* 04A088 7F015558 02003025 */ move $a2, $s0 -/* 04A08C 7F01555C 8C84ABFC */ lw $a0, %lo(mission_folder_setup_entries+24)($a0) -/* 04A090 7F015560 24050001 */ li $a1, 1 -/* 04A094 7F015564 0FC2F350 */ jal _load_resource_named_to_buffer -/* 04A098 7F015568 24070200 */ li $a3, 512 -/* 04A09C 7F01556C 3C198003 */ lui $t9, %hi(briefingpage) -/* 04A0A0 7F015570 8F39A8F8 */ lw $t9, %lo(briefingpage)($t9) -/* 04A0A4 7F015574 3C180006 */ lui $t8, (0x0006DE00 >> 16) # lui $t8, 6 -/* 04A0A8 7F015578 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+8) -/* 04A0AC 7F01557C 001940C0 */ sll $t0, $t9, 3 -/* 04A0B0 7F015580 01194023 */ subu $t0, $t0, $t9 -/* 04A0B4 7F015584 00084080 */ sll $t0, $t0, 2 -/* 04A0B8 7F015588 3C018007 */ lui $at, %hi(ptrbriefingdata) -/* 04A0BC 7F01558C 3718DE00 */ ori $t8, (0x0006DE00 & 0xFFFF) # ori $t8, $t8, 0xde00 -/* 04A0C0 7F015590 00882021 */ addu $a0, $a0, $t0 -/* 04A0C4 7F015594 AC22978C */ sw $v0, %lo(ptrbriefingdata)($at) -/* 04A0C8 7F015598 26100200 */ addiu $s0, $s0, 0x200 -/* 04A0CC 7F01559C AFB80020 */ sw $t8, 0x20($sp) -/* 04A0D0 7F0155A0 0FC30578 */ jal get_textbank_number_for_stagenum -/* 04A0D4 7F0155A4 8C84ABEC */ lw $a0, %lo(mission_folder_setup_entries+8)($a0) -/* 04A0D8 7F0155A8 00402025 */ move $a0, $v0 -/* 04A0DC 7F0155AC 02002825 */ move $a1, $s0 -/* 04A0E0 7F0155B0 0FC30759 */ jal load_briefing_text_bank -/* 04A0E4 7F0155B4 8FA60020 */ lw $a2, 0x20($sp) -/* 04A0E8 7F0155B8 3C038007 */ lui $v1, %hi(ptrbriefingdata) -/* 04A0EC 7F0155BC 8C63978C */ lw $v1, %lo(ptrbriefingdata)($v1) -/* 04A0F0 7F0155C0 00001025 */ move $v0, $zero -/* 04A0F4 7F0155C4 24040028 */ li $a0, 40 -.L7F0155C8: -/* 04A0F8 7F0155C8 94690008 */ lhu $t1, 8($v1) -/* 04A0FC 7F0155CC 24420004 */ addiu $v0, $v0, 4 -/* 04A100 7F0155D0 51200004 */ beql $t1, $zero, .L7F0155E4 -/* 04A104 7F0155D4 8FBF001C */ lw $ra, 0x1c($sp) -/* 04A108 7F0155D8 1444FFFB */ bne $v0, $a0, .L7F0155C8 -/* 04A10C 7F0155DC 24630004 */ addiu $v1, $v1, 4 -/* 04A110 7F0155E0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0155E4: -/* 04A114 7F0155E4 8FB00018 */ lw $s0, 0x18($sp) -/* 04A118 7F0155E8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 04A11C 7F0155EC 03E00008 */ jr $ra -/* 04A120 7F0155F0 00000000 */ nop -) -#endif - - - -void init_menu0A_briefing(void) -{ - tab_2_selected = 0; - tab_3_selected = 0; - final_menu_briefing_page = 5; - set_briefing_page(0); - load_walletbond(); - load_briefing_text_for_stage(); -} - -void update_menu0A_briefing(void) -{ - blank_text_bank(get_textbank_number_for_stagenum(mission_folder_setup_entries[briefingpage].stage_id)); - if (-1 < menu_update) { - sub_GAME_7F00B990(); - } -} - - - - - - - -#ifdef NONMATCHING -void interface_menu0A_briefing(void) -{ - setvideo_far(0x42700000); - video_related_21(D_80051AB8); - set_page_height(0x42c80000, D_80051ABC); - set_video2_settings_offset_24(0); - tab_3_highlight = 0; - tab_2_highlight = 0; - tab_1_highlight = 0; - if (isontab3() != 0) - { - tab_3_highlight = 1; - } - else - { - if ((isontab2() != 0) && (current_menu_briefing_page < (final_menu_briefing_page + -1))) - { - tab_2_highlight = 1; - } - else - { - if (isontab1() != 0) - { - tab_1_highlight = 1; - } - else - { - if (current_menu_briefing_page < (final_menu_briefing_page + -1)) - { - tab_2_highlight = 1; - } - else - { - tab_1_highlight = 1; - } - } - } - } - if (get_controller_buttons_pressed(0, 0x1000) != 0) - { - tab_2_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { - if (get_controller_buttons_pressed(0, 0xa000) != 0) - { - if (tab_2_highlight != 0) - { - set_briefing_page(current_menu_briefing_page + 1); - } - else - { - if (tab_3_highlight != 0) - { - if (current_menu_briefing_page > 0) - { - set_briefing_page(current_menu_briefing_page + -1); - } - else - { - tab_3_selected = 1; - } - } - else - { - if (tab_1_highlight != 0) - { - tab_2_selected = 1; - } - } - } - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { - if (get_controller_buttons_pressed(0, 0x4000) != 0) - { - if (current_menu_briefing_page > 0) - { - set_briefing_page(current_menu_briefing_page + -1); - } - else - { - tab_3_selected = 1; - } - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0xc, (u32) current_menu_briefing_page < 1U); - set_item_visibility_in_objinstance(ptr_folder_object_instance, (0x80030000 + (briefingpage * 0x1c))->unk-5408 + 0x16, (u32) current_menu_briefing_page < 1U); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 6, 1); - menu_control_stick_tracking(); - if (tab_2_selected != 0) - { - set_menu_to_mode(0xb, 1); - return; - } - if (tab_3_selected != 0) - { - set_menu_to_mode(7, 0); - set_cursor_to_stage_solo((0x80030000 + (briefingpage * 0x1c))->unk-5408); - } -} -#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 setvideo_far -/* 04A1E0 7F0156B0 00000000 */ nop -/* 04A1E4 7F0156B4 3C018005 */ lui $at, %hi(D_80051AB8) -/* 04A1E8 7F0156B8 0C001164 */ jal video_related_21 -/* 04A1EC 7F0156BC C42C1AB8 */ lwc1 $f12, %lo(D_80051AB8)($at) -/* 04A1F0 7F0156C0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04A1F4 7F0156C4 44816000 */ mtc1 $at, $f12 -/* 04A1F8 7F0156C8 3C018005 */ lui $at, %hi(D_80051ABC) -/* 04A1FC 7F0156CC 0C001194 */ jal set_page_height -/* 04A200 7F0156D0 C42E1ABC */ lwc1 $f14, %lo(D_80051ABC)($at) -/* 04A204 7F0156D4 0C00114D */ jal set_video2_settings_offset_24 -/* 04A208 7F0156D8 00002025 */ move $a0, $zero -/* 04A20C 7F0156DC 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04A210 7F0156E0 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 04A214 7F0156E4 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04A218 7F0156E8 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 04A21C 7F0156EC 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 04A220 7F0156F0 0FC028E7 */ jal isontab3 -/* 04A224 7F0156F4 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 04A228 7F0156F8 10400004 */ beqz $v0, .L7F01570C -/* 04A22C 7F0156FC 24030001 */ li $v1, 1 -/* 04A230 7F015700 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04A234 7F015704 10000025 */ b .L7F01579C -/* 04A238 7F015708 AC23A8E4 */ sw $v1, %lo(tab_3_highlight)($at) -.L7F01570C: -/* 04A23C 7F01570C 0FC0295E */ jal isontab2 -/* 04A240 7F015710 00000000 */ nop -/* 04A244 7F015714 1040000B */ beqz $v0, .L7F015744 -/* 04A248 7F015718 3C0E8003 */ lui $t6, %hi(current_menu_briefing_page) -/* 04A24C 7F01571C 3C0F8003 */ lui $t7, %hi(final_menu_briefing_page) -/* 04A250 7F015720 8DEFA910 */ lw $t7, %lo(final_menu_briefing_page)($t7) -/* 04A254 7F015724 8DCEA914 */ lw $t6, %lo(current_menu_briefing_page)($t6) -/* 04A258 7F015728 24030001 */ li $v1, 1 -/* 04A25C 7F01572C 25F8FFFF */ addiu $t8, $t7, -1 -/* 04A260 7F015730 01D8082A */ slt $at, $t6, $t8 -/* 04A264 7F015734 10200003 */ beqz $at, .L7F015744 -/* 04A268 7F015738 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04A26C 7F01573C 10000017 */ b .L7F01579C -/* 04A270 7F015740 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at) -.L7F015744: -/* 04A274 7F015744 0FC02879 */ jal isontab1 -/* 04A278 7F015748 00000000 */ nop -/* 04A27C 7F01574C 10400005 */ beqz $v0, .L7F015764 -/* 04A280 7F015750 3C198003 */ lui $t9, %hi(current_menu_briefing_page) -/* 04A284 7F015754 24030001 */ li $v1, 1 -/* 04A288 7F015758 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 04A28C 7F01575C 1000000F */ b .L7F01579C -/* 04A290 7F015760 AC23A8DC */ sw $v1, %lo(tab_1_highlight)($at) -.L7F015764: -/* 04A294 7F015764 3C088003 */ lui $t0, %hi(final_menu_briefing_page) -/* 04A298 7F015768 8D08A910 */ lw $t0, %lo(final_menu_briefing_page)($t0) -/* 04A29C 7F01576C 8F39A914 */ lw $t9, %lo(current_menu_briefing_page)($t9) -/* 04A2A0 7F015770 24030001 */ li $v1, 1 -/* 04A2A4 7F015774 2509FFFF */ addiu $t1, $t0, -1 -/* 04A2A8 7F015778 0329082A */ slt $at, $t9, $t1 -/* 04A2AC 7F01577C 10200005 */ beqz $at, .L7F015794 -/* 04A2B0 7F015780 00000000 */ nop -/* 04A2B4 7F015784 24030001 */ li $v1, 1 -/* 04A2B8 7F015788 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04A2BC 7F01578C 10000003 */ b .L7F01579C -/* 04A2C0 7F015790 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at) -.L7F015794: -/* 04A2C4 7F015794 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 04A2C8 7F015798 AC23A8DC */ sw $v1, %lo(tab_1_highlight)($at) -.L7F01579C: -/* 04A2CC 7F01579C 00002025 */ move $a0, $zero -/* 04A2D0 7F0157A0 0C0030EB */ jal get_controller_buttons_pressed -/* 04A2D4 7F0157A4 24051000 */ li $a1, 4096 -/* 04A2D8 7F0157A8 1040000A */ beqz $v0, .L7F0157D4 -/* 04A2DC 7F0157AC 24030001 */ li $v1, 1 -/* 04A2E0 7F0157B0 3C018003 */ lui $at, %hi(tab_2_selected) -/* 04A2E4 7F0157B4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04A2E8 7F0157B8 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at) -/* 04A2EC 7F0157BC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04A2F0 7F0157C0 240500C7 */ li $a1, 199 -/* 04A2F4 7F0157C4 0C002382 */ jal play_sfx_a1 -/* 04A2F8 7F0157C8 00003025 */ move $a2, $zero -/* 04A2FC 7F0157CC 10000040 */ b .L7F0158D0 -/* 04A300 7F0157D0 00000000 */ nop -.L7F0157D4: -/* 04A304 7F0157D4 00002025 */ move $a0, $zero -/* 04A308 7F0157D8 0C0030EB */ jal get_controller_buttons_pressed -/* 04A30C 7F0157DC 3405A000 */ li $a1, 40960 -/* 04A310 7F0157E0 10400027 */ beqz $v0, .L7F015880 -/* 04A314 7F0157E4 24030001 */ li $v1, 1 -/* 04A318 7F0157E8 3C0A8003 */ lui $t2, %hi(tab_2_highlight) -/* 04A31C 7F0157EC 8D4AA8E0 */ lw $t2, %lo(tab_2_highlight)($t2) -/* 04A320 7F0157F0 3C048003 */ lui $a0, %hi(current_menu_briefing_page) -/* 04A324 7F0157F4 3C0B8003 */ lui $t3, %hi(tab_3_highlight) -/* 04A328 7F0157F8 11400006 */ beqz $t2, .L7F015814 -/* 04A32C 7F0157FC 00000000 */ nop -/* 04A330 7F015800 8C84A914 */ lw $a0, %lo(current_menu_briefing_page)($a0) -/* 04A334 7F015804 0FC05544 */ jal set_briefing_page -/* 04A338 7F015808 24840001 */ addiu $a0, $a0, 1 -/* 04A33C 7F01580C 10000015 */ b .L7F015864 -/* 04A340 7F015810 00000000 */ nop -.L7F015814: -/* 04A344 7F015814 8D6BA8E4 */ lw $t3, %lo(tab_3_highlight)($t3) -/* 04A348 7F015818 3C028003 */ lui $v0, %hi(current_menu_briefing_page) -/* 04A34C 7F01581C 3C0C8003 */ lui $t4, %hi(tab_1_highlight) -/* 04A350 7F015820 1160000B */ beqz $t3, .L7F015850 -/* 04A354 7F015824 00000000 */ nop -/* 04A358 7F015828 8C42A914 */ lw $v0, %lo(current_menu_briefing_page)($v0) -/* 04A35C 7F01582C 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04A360 7F015830 18400005 */ blez $v0, .L7F015848 -/* 04A364 7F015834 00000000 */ nop -/* 04A368 7F015838 0FC05544 */ jal set_briefing_page -/* 04A36C 7F01583C 2444FFFF */ addiu $a0, $v0, -1 -/* 04A370 7F015840 10000008 */ b .L7F015864 -/* 04A374 7F015844 00000000 */ nop -.L7F015848: -/* 04A378 7F015848 10000006 */ b .L7F015864 -/* 04A37C 7F01584C AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -.L7F015850: -/* 04A380 7F015850 8D8CA8DC */ lw $t4, %lo(tab_1_highlight)($t4) -/* 04A384 7F015854 3C018003 */ lui $at, %hi(tab_2_selected) -/* 04A388 7F015858 11800002 */ beqz $t4, .L7F015864 -/* 04A38C 7F01585C 00000000 */ nop -/* 04A390 7F015860 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at) -.L7F015864: -/* 04A394 7F015864 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04A398 7F015868 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04A39C 7F01586C 240500C7 */ li $a1, 199 -/* 04A3A0 7F015870 0C002382 */ jal play_sfx_a1 -/* 04A3A4 7F015874 00003025 */ move $a2, $zero -/* 04A3A8 7F015878 10000015 */ b .L7F0158D0 -/* 04A3AC 7F01587C 00000000 */ nop -.L7F015880: -/* 04A3B0 7F015880 00002025 */ move $a0, $zero -/* 04A3B4 7F015884 0C0030EB */ jal get_controller_buttons_pressed -/* 04A3B8 7F015888 24054000 */ li $a1, 16384 -/* 04A3BC 7F01588C 10400010 */ beqz $v0, .L7F0158D0 -/* 04A3C0 7F015890 24030001 */ li $v1, 1 -/* 04A3C4 7F015894 3C028003 */ lui $v0, %hi(current_menu_briefing_page) -/* 04A3C8 7F015898 8C42A914 */ lw $v0, %lo(current_menu_briefing_page)($v0) -/* 04A3CC 7F01589C 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04A3D0 7F0158A0 18400005 */ blez $v0, .L7F0158B8 -/* 04A3D4 7F0158A4 00000000 */ nop -/* 04A3D8 7F0158A8 0FC05544 */ jal set_briefing_page -/* 04A3DC 7F0158AC 2444FFFF */ addiu $a0, $v0, -1 -/* 04A3E0 7F0158B0 10000002 */ b .L7F0158BC -/* 04A3E4 7F0158B4 00000000 */ nop -.L7F0158B8: -/* 04A3E8 7F0158B8 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -.L7F0158BC: -/* 04A3EC 7F0158BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04A3F0 7F0158C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04A3F4 7F0158C4 240500C7 */ li $a1, 199 -/* 04A3F8 7F0158C8 0C002382 */ jal play_sfx_a1 -/* 04A3FC 7F0158CC 00003025 */ move $a2, $zero -.L7F0158D0: -/* 04A400 7F0158D0 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04A404 7F0158D4 0FC02DC9 */ jal disable_all_switches -/* 04A408 7F0158D8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04A40C 7F0158DC 3C068003 */ lui $a2, %hi(current_menu_briefing_page) -/* 04A410 7F0158E0 8CC6A914 */ lw $a2, %lo(current_menu_briefing_page)($a2) -/* 04A414 7F0158E4 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04A418 7F0158E8 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04A41C 7F0158EC 2CCD0001 */ sltiu $t5, $a2, 1 -/* 04A420 7F0158F0 01A03025 */ move $a2, $t5 -/* 04A424 7F0158F4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04A428 7F0158F8 2405000C */ li $a1, 12 -/* 04A42C 7F0158FC 3C0F8003 */ lui $t7, %hi(briefingpage) -/* 04A430 7F015900 8DEFA8F8 */ lw $t7, %lo(briefingpage)($t7) -/* 04A434 7F015904 3C068003 */ lui $a2, %hi(current_menu_briefing_page) -/* 04A438 7F015908 8CC6A914 */ lw $a2, %lo(current_menu_briefing_page)($a2) -/* 04A43C 7F01590C 000F70C0 */ sll $t6, $t7, 3 -/* 04A440 7F015910 01CF7023 */ subu $t6, $t6, $t7 -/* 04A444 7F015914 000E7080 */ sll $t6, $t6, 2 -/* 04A448 7F015918 3C058003 */ lui $a1, %hi(mission_folder_setup_entries+20) -/* 04A44C 7F01591C 00AE2821 */ addu $a1, $a1, $t6 -/* 04A450 7F015920 8CA5ABF8 */ lw $a1, %lo(mission_folder_setup_entries+20)($a1) -/* 04A454 7F015924 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04A458 7F015928 2CD80001 */ sltiu $t8, $a2, 1 -/* 04A45C 7F01592C 03003025 */ move $a2, $t8 -/* 04A460 7F015930 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04A464 7F015934 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04A468 7F015938 24A50016 */ addiu $a1, $a1, 0x16 -/* 04A46C 7F01593C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04A470 7F015940 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04A474 7F015944 00002825 */ move $a1, $zero -/* 04A478 7F015948 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04A47C 7F01594C 24060001 */ li $a2, 1 -/* 04A480 7F015950 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04A484 7F015954 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04A488 7F015958 24050001 */ li $a1, 1 -/* 04A48C 7F01595C 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04A490 7F015960 24060001 */ li $a2, 1 -/* 04A494 7F015964 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04A498 7F015968 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04A49C 7F01596C 24050003 */ li $a1, 3 -/* 04A4A0 7F015970 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04A4A4 7F015974 24060001 */ li $a2, 1 -/* 04A4A8 7F015978 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04A4AC 7F01597C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04A4B0 7F015980 24050006 */ li $a1, 6 -/* 04A4B4 7F015984 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04A4B8 7F015988 24060001 */ li $a2, 1 -/* 04A4BC 7F01598C 0FC026E1 */ jal menu_control_stick_tracking -/* 04A4C0 7F015990 00000000 */ nop -/* 04A4C4 7F015994 3C088003 */ lui $t0, %hi(tab_2_selected) -/* 04A4C8 7F015998 8D08A8D4 */ lw $t0, %lo(tab_2_selected)($t0) -/* 04A4CC 7F01599C 2404000B */ li $a0, 11 -/* 04A4D0 7F0159A0 3C198003 */ lui $t9, %hi(tab_3_selected) -/* 04A4D4 7F0159A4 11000005 */ beqz $t0, .L7F0159BC -/* 04A4D8 7F0159A8 00000000 */ nop -/* 04A4DC 7F0159AC 0FC06975 */ jal set_menu_to_mode -/* 04A4E0 7F0159B0 24050001 */ li $a1, 1 -/* 04A4E4 7F0159B4 10000011 */ b .L7F0159FC -/* 04A4E8 7F0159B8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0159BC: -/* 04A4EC 7F0159BC 8F39A8D8 */ lw $t9, %lo(tab_3_selected)($t9) -/* 04A4F0 7F0159C0 24040007 */ li $a0, 7 -/* 04A4F4 7F0159C4 5320000D */ beql $t9, $zero, .L7F0159FC -/* 04A4F8 7F0159C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 04A4FC 7F0159CC 0FC06975 */ jal set_menu_to_mode -/* 04A500 7F0159D0 00002825 */ move $a1, $zero -/* 04A504 7F0159D4 3C098003 */ lui $t1, %hi(briefingpage) -/* 04A508 7F0159D8 8D29A8F8 */ lw $t1, %lo(briefingpage)($t1) -/* 04A50C 7F0159DC 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+20) -/* 04A510 7F0159E0 000950C0 */ sll $t2, $t1, 3 -/* 04A514 7F0159E4 01495023 */ subu $t2, $t2, $t1 -/* 04A518 7F0159E8 000A5080 */ sll $t2, $t2, 2 -/* 04A51C 7F0159EC 008A2021 */ addu $a0, $a0, $t2 -/* 04A520 7F0159F0 0FC038F8 */ jal set_cursor_to_stage_solo -/* 04A524 7F0159F4 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0) -/* 04A528 7F0159F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0159FC: -/* 04A52C 7F0159FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04A530 7F015A00 03E00008 */ jr $ra -/* 04A534 7F015A04 00000000 */ nop -) -#endif - - - - - - -#ifdef NONMATCHING -uint * print_objectives_and_status_to_menu(uint *param_1,int param_2,byte *param_3,int param_4) -{ - ushort uVar1; - byte *pbVar2; - short sVar5; - short sVar6; - uint *puVar3; - int iVar4; - int iVar7; - uint uVar8; - int iVar9; - uint uStack24; - uint uStack20; - int iStack16; - int iStack12; - int iStack8; - int iStack4; - - iStack8 = 0; - iVar9 = 0; - iStack4 = 0; - iVar7 = 0; - do { - uVar1 = *(ushort *)(ptrbriefingdata + iVar7 + 8); - if (uVar1 == 0) { - iStack4 += 1; - } - else { - if ((longlong)selected_difficulty < - (longlong)(ulonglong)*(ushort *)(ptrbriefingdata + iVar7 + 10)) { - iStack4 += 1; - } - else { - pbVar2 = get_textptr_for_textID((uint)uVar1); - textpointer_load_parse_something((char *)param_3,aA_); - *param_3 = *param_3 + (char)iStack8; - iStack12 = 0; - iStack16 = 0; - proc_7F0AE98C(&iStack12,&iStack16,param_3,(int)ptrSecondFontTableLarge,(int *)ptrFirstFontTableLarge,0 - ); - uStack20 = 0x37; - uStack24 = iStack12 * iVar9 + param_2; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - puVar3 = write_text_at_abs_coord - (param_1,&uStack20,&uStack24,param_3,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar5,(int)sVar6,0,0); - uStack20 = 0x4b; - uStack24 = iStack12 * iVar9 + param_2; - if (param_4 == 0) { - proc_7F0AEB64(0x140,pbVar2,param_3,(int)ptrSecondFontTableLarge,(int *)ptrFirstFontTableLarge); - } - else { - proc_7F0ACB94(2); - proc_7F0AEB64(0xdc,pbVar2,param_3,(int)ptrSecondFontTableLarge,(int *)ptrFirstFontTableLarge); - proc_7F0ACB94(0); - } - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - param_1 = write_text_at_abs_coord - (puVar3,&uStack20,&uStack24,param_3,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar5,(int)sVar6,0,0); - if (param_4 != 0) { - iVar4 = get_status_of_objective((longlong)iStack4); - if ((iVar4 == 0) || (iVar4 != 1)) { - uVar8 = 0x780000ff; - pbVar2 = get_textptr_for_textID(TEXT(LTITLE, 0x5c)); - } - else { - uVar8 = 0xff; - pbVar2 = get_textptr_for_textID(TEXT(LTITLE, 0x5b)); - } - uStack20 = 0x136; - uStack24 = iStack12 * iVar9 + param_2; - sVar5 = get_video2_settings_txtClipW(); - sVar6 = get_video2_settings_txtClipH(); - param_1 = write_text_at_abs_coord - (param_1,&uStack20,&uStack24,pbVar2,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,uVar8,(int)sVar5,(int)sVar6,0,0); - } - iVar4 = proc_7F0AC0E8((char *)param_3); - iVar9 += iVar4; - iStack8 += 1; - iStack4 += 1; - } - } - iVar7 += 4; - } while (iStack4 != 10); - return param_1; -} -#else -GLOBAL_ASM( -.text -glabel print_objectives_and_status_to_menu -/* 04A538 7F015A08 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 04A53C 7F015A0C AFB5004C */ sw $s5, 0x4c($sp) -/* 04A540 7F015A10 AFB40048 */ sw $s4, 0x48($sp) -/* 04A544 7F015A14 AFBE0058 */ sw $fp, 0x58($sp) -/* 04A548 7F015A18 AFB60050 */ sw $s6, 0x50($sp) -/* 04A54C 7F015A1C AFB30044 */ sw $s3, 0x44($sp) -/* 04A550 7F015A20 3C148004 */ lui $s4, %hi(ptrSecondFontTableLarge) -/* 04A554 7F015A24 3C158004 */ lui $s5, %hi(ptrFirstFontTableLarge) -/* 04A558 7F015A28 00C09825 */ move $s3, $a2 -/* 04A55C 7F015A2C 0080B025 */ move $s6, $a0 -/* 04A560 7F015A30 AFBF005C */ sw $ra, 0x5c($sp) -/* 04A564 7F015A34 AFB70054 */ sw $s7, 0x54($sp) -/* 04A568 7F015A38 AFB20040 */ sw $s2, 0x40($sp) -/* 04A56C 7F015A3C AFB1003C */ sw $s1, 0x3c($sp) -/* 04A570 7F015A40 AFB00038 */ sw $s0, 0x38($sp) -/* 04A574 7F015A44 AFA500A4 */ sw $a1, 0xa4($sp) -/* 04A578 7F015A48 AFA700AC */ sw $a3, 0xac($sp) -/* 04A57C 7F015A4C AFA00098 */ sw $zero, 0x98($sp) -/* 04A580 7F015A50 0000F025 */ move $fp, $zero -/* 04A584 7F015A54 26B50EB4 */ addiu $s5, %lo(ptrFirstFontTableLarge) # addiu $s5, $s5, 0xeb4 -/* 04A588 7F015A58 26940EB8 */ addiu $s4, %lo(ptrSecondFontTableLarge) # addiu $s4, $s4, 0xeb8 -/* 04A58C 7F015A5C 00004025 */ move $t0, $zero -/* 04A590 7F015A60 00004825 */ move $t1, $zero -.L7F015A64: -/* 04A594 7F015A64 3C0E8007 */ lui $t6, %hi(ptrbriefingdata) -/* 04A598 7F015A68 8DCE978C */ lw $t6, %lo(ptrbriefingdata)($t6) -/* 04A59C 7F015A6C 3C0F8003 */ lui $t7, %hi(selected_difficulty) -/* 04A5A0 7F015A70 01C91021 */ addu $v0, $t6, $t1 -/* 04A5A4 7F015A74 94430008 */ lhu $v1, 8($v0) -/* 04A5A8 7F015A78 506000AE */ beql $v1, $zero, .L7F015D34 -/* 04A5AC 7F015A7C 25080001 */ addiu $t0, $t0, 1 -/* 04A5B0 7F015A80 8DEFA8FC */ lw $t7, %lo(selected_difficulty)($t7) -/* 04A5B4 7F015A84 9458000A */ lhu $t8, 0xa($v0) -/* 04A5B8 7F015A88 00602025 */ move $a0, $v1 -/* 04A5BC 7F015A8C 0000B825 */ move $s7, $zero -/* 04A5C0 7F015A90 01F8082A */ slt $at, $t7, $t8 -/* 04A5C4 7F015A94 542000A7 */ bnezl $at, .L7F015D34 -/* 04A5C8 7F015A98 25080001 */ addiu $t0, $t0, 1 -/* 04A5CC 7F015A9C AFA9006C */ sw $t1, 0x6c($sp) -/* 04A5D0 7F015AA0 0FC30776 */ jal get_textptr_for_textID -/* 04A5D4 7F015AA4 AFA8009C */ sw $t0, 0x9c($sp) -/* 04A5D8 7F015AA8 3C058005 */ lui $a1, %hi(aA_) -/* 04A5DC 7F015AAC 00408825 */ move $s1, $v0 -/* 04A5E0 7F015AB0 24A50C50 */ addiu $a1, %lo(aA_) # addiu $a1, $a1, 0xc50 -/* 04A5E4 7F015AB4 0C0029DC */ jal textpointer_load_parse_something -/* 04A5E8 7F015AB8 02602025 */ move $a0, $s3 -/* 04A5EC 7F015ABC 92790000 */ lbu $t9, ($s3) -/* 04A5F0 7F015AC0 8FAA0098 */ lw $t2, 0x98($sp) -/* 04A5F4 7F015AC4 27A40094 */ addiu $a0, $sp, 0x94 -/* 04A5F8 7F015AC8 27A50090 */ addiu $a1, $sp, 0x90 -/* 04A5FC 7F015ACC 032A5821 */ addu $t3, $t9, $t2 -/* 04A600 7F015AD0 A26B0000 */ sb $t3, ($s3) -/* 04A604 7F015AD4 8EAC0000 */ lw $t4, ($s5) -/* 04A608 7F015AD8 AFA00094 */ sw $zero, 0x94($sp) -/* 04A60C 7F015ADC AFA00090 */ sw $zero, 0x90($sp) -/* 04A610 7F015AE0 AFA00014 */ sw $zero, 0x14($sp) -/* 04A614 7F015AE4 8E870000 */ lw $a3, ($s4) -/* 04A618 7F015AE8 02603025 */ move $a2, $s3 -/* 04A61C 7F015AEC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04A620 7F015AF0 AFAC0010 */ sw $t4, 0x10($sp) -/* 04A624 7F015AF4 8FAE0094 */ lw $t6, 0x94($sp) -/* 04A628 7F015AF8 8FB800A4 */ lw $t8, 0xa4($sp) -/* 04A62C 7F015AFC 240D0037 */ li $t5, 55 -/* 04A630 7F015B00 01DE0019 */ multu $t6, $fp -/* 04A634 7F015B04 AFAD008C */ sw $t5, 0x8c($sp) -/* 04A638 7F015B08 00007812 */ mflo $t7 -/* 04A63C 7F015B0C 01F8C821 */ addu $t9, $t7, $t8 -/* 04A640 7F015B10 03375021 */ addu $t2, $t9, $s7 -/* 04A644 7F015B14 0C001107 */ jal get_video2_settings_txtClipW -/* 04A648 7F015B18 AFAA0088 */ sw $t2, 0x88($sp) -/* 04A64C 7F015B1C 00028400 */ sll $s0, $v0, 0x10 -/* 04A650 7F015B20 00105C03 */ sra $t3, $s0, 0x10 -/* 04A654 7F015B24 0C00110B */ jal get_video2_settings_txtClipH -/* 04A658 7F015B28 01608025 */ move $s0, $t3 -/* 04A65C 7F015B2C 8E8C0000 */ lw $t4, ($s4) -/* 04A660 7F015B30 8EAD0000 */ lw $t5, ($s5) -/* 04A664 7F015B34 240E00FF */ li $t6, 255 -/* 04A668 7F015B38 AFAE0018 */ sw $t6, 0x18($sp) -/* 04A66C 7F015B3C 02C02025 */ move $a0, $s6 -/* 04A670 7F015B40 27A5008C */ addiu $a1, $sp, 0x8c -/* 04A674 7F015B44 27A60088 */ addiu $a2, $sp, 0x88 -/* 04A678 7F015B48 02603825 */ move $a3, $s3 -/* 04A67C 7F015B4C AFB0001C */ sw $s0, 0x1c($sp) -/* 04A680 7F015B50 AFA20020 */ sw $v0, 0x20($sp) -/* 04A684 7F015B54 AFA00024 */ sw $zero, 0x24($sp) -/* 04A688 7F015B58 AFA00028 */ sw $zero, 0x28($sp) -/* 04A68C 7F015B5C AFAC0010 */ sw $t4, 0x10($sp) -/* 04A690 7F015B60 0FC025D8 */ jal write_text_at_abs_coord -/* 04A694 7F015B64 AFAD0014 */ sw $t5, 0x14($sp) -/* 04A698 7F015B68 8FB80094 */ lw $t8, 0x94($sp) -/* 04A69C 7F015B6C 8FAA00A4 */ lw $t2, 0xa4($sp) -/* 04A6A0 7F015B70 8FAD00AC */ lw $t5, 0xac($sp) -/* 04A6A4 7F015B74 031E0019 */ multu $t8, $fp -/* 04A6A8 7F015B78 240F004B */ li $t7, 75 -/* 04A6AC 7F015B7C 0040B025 */ move $s6, $v0 -/* 04A6B0 7F015B80 AFAF008C */ sw $t7, 0x8c($sp) -/* 04A6B4 7F015B84 24040140 */ li $a0, 320 -/* 04A6B8 7F015B88 02202825 */ move $a1, $s1 -/* 04A6BC 7F015B8C 02603025 */ move $a2, $s3 -/* 04A6C0 7F015B90 0000C812 */ mflo $t9 -/* 04A6C4 7F015B94 032A5821 */ addu $t3, $t9, $t2 -/* 04A6C8 7F015B98 01776021 */ addu $t4, $t3, $s7 -/* 04A6CC 7F015B9C 11A0000E */ beqz $t5, .L7F015BD8 -/* 04A6D0 7F015BA0 AFAC0088 */ sw $t4, 0x88($sp) -/* 04A6D4 7F015BA4 0FC2B2E5 */ jal setTextWordWrap -/* 04A6D8 7F015BA8 24040002 */ li $a0, 2 -/* 04A6DC 7F015BAC 8EAE0000 */ lw $t6, ($s5) -/* 04A6E0 7F015BB0 240400DC */ li $a0, 220 -/* 04A6E4 7F015BB4 02202825 */ move $a1, $s1 -/* 04A6E8 7F015BB8 02603025 */ move $a2, $s3 -/* 04A6EC 7F015BBC 8E870000 */ lw $a3, ($s4) -/* 04A6F0 7F015BC0 0FC2BAD9 */ jal sub_GAME_7F0AEB64 -/* 04A6F4 7F015BC4 AFAE0010 */ sw $t6, 0x10($sp) -/* 04A6F8 7F015BC8 0FC2B2E5 */ jal setTextWordWrap -/* 04A6FC 7F015BCC 00002025 */ move $a0, $zero -/* 04A700 7F015BD0 10000005 */ b .L7F015BE8 -/* 04A704 7F015BD4 00000000 */ nop -.L7F015BD8: -/* 04A708 7F015BD8 8EAF0000 */ lw $t7, ($s5) -/* 04A70C 7F015BDC 8E870000 */ lw $a3, ($s4) -/* 04A710 7F015BE0 0FC2BAD9 */ jal sub_GAME_7F0AEB64 -/* 04A714 7F015BE4 AFAF0010 */ sw $t7, 0x10($sp) -.L7F015BE8: -/* 04A718 7F015BE8 0C001107 */ jal get_video2_settings_txtClipW -/* 04A71C 7F015BEC 00000000 */ nop -/* 04A720 7F015BF0 00028400 */ sll $s0, $v0, 0x10 -/* 04A724 7F015BF4 0010C403 */ sra $t8, $s0, 0x10 -/* 04A728 7F015BF8 0C00110B */ jal get_video2_settings_txtClipH -/* 04A72C 7F015BFC 03008025 */ move $s0, $t8 -/* 04A730 7F015C00 8E990000 */ lw $t9, ($s4) -/* 04A734 7F015C04 8EAA0000 */ lw $t2, ($s5) -/* 04A738 7F015C08 240B00FF */ li $t3, 255 -/* 04A73C 7F015C0C AFAB0018 */ sw $t3, 0x18($sp) -/* 04A740 7F015C10 02C02025 */ move $a0, $s6 -/* 04A744 7F015C14 27A5008C */ addiu $a1, $sp, 0x8c -/* 04A748 7F015C18 27A60088 */ addiu $a2, $sp, 0x88 -/* 04A74C 7F015C1C 02603825 */ move $a3, $s3 -/* 04A750 7F015C20 AFB0001C */ sw $s0, 0x1c($sp) -/* 04A754 7F015C24 AFA20020 */ sw $v0, 0x20($sp) -/* 04A758 7F015C28 AFA00024 */ sw $zero, 0x24($sp) -/* 04A75C 7F015C2C AFA00028 */ sw $zero, 0x28($sp) -/* 04A760 7F015C30 AFB90010 */ sw $t9, 0x10($sp) -/* 04A764 7F015C34 0FC025D8 */ jal write_text_at_abs_coord -/* 04A768 7F015C38 AFAA0014 */ sw $t2, 0x14($sp) -/* 04A76C 7F015C3C 8FAC00AC */ lw $t4, 0xac($sp) -/* 04A770 7F015C40 0040B025 */ move $s6, $v0 -/* 04A774 7F015C44 11800032 */ beqz $t4, .L7F015D10 -/* 04A778 7F015C48 00000000 */ nop -/* 04A77C 7F015C4C 0FC15C8E */ jal get_status_of_objective -/* 04A780 7F015C50 8FA4009C */ lw $a0, 0x9c($sp) -/* 04A784 7F015C54 1040000C */ beqz $v0, .L7F015C88 -/* 04A788 7F015C58 24010001 */ li $at, 1 -/* 04A78C 7F015C5C 10410006 */ beq $v0, $at, .L7F015C78 -/* 04A790 7F015C60 34049C5B */ li $a0, 40027 -/* 04A794 7F015C64 24010002 */ li $at, 2 -/* 04A798 7F015C68 50410008 */ beql $v0, $at, .L7F015C8C -/* 04A79C 7F015C6C 3C127800 */ lui $s2, 0x7800 -/* 04A7A0 7F015C70 10000006 */ b .L7F015C8C -/* 04A7A4 7F015C74 3C127800 */ lui $s2, 0x7800 -.L7F015C78: -/* 04A7A8 7F015C78 0FC30776 */ jal get_textptr_for_textID -/* 04A7AC 7F015C7C 241200FF */ li $s2, 255 -/* 04A7B0 7F015C80 10000006 */ b .L7F015C9C -/* 04A7B4 7F015C84 00408825 */ move $s1, $v0 -.L7F015C88: -/* 04A7B8 7F015C88 3C127800 */ lui $s2, (0x780000FF >> 16) # lui $s2, 0x7800 -.L7F015C8C: -/* 04A7BC 7F015C8C 365200FF */ ori $s2, (0x780000FF & 0xFFFF) # ori $s2, $s2, 0xff -/* 04A7C0 7F015C90 0FC30776 */ jal get_textptr_for_textID -/* 04A7C4 7F015C94 34049C5C */ li $a0, 40028 -/* 04A7C8 7F015C98 00408825 */ move $s1, $v0 -.L7F015C9C: -/* 04A7CC 7F015C9C 8FAE0094 */ lw $t6, 0x94($sp) -/* 04A7D0 7F015CA0 8FB800A4 */ lw $t8, 0xa4($sp) -/* 04A7D4 7F015CA4 240D0136 */ li $t5, 310 -/* 04A7D8 7F015CA8 01DE0019 */ multu $t6, $fp -/* 04A7DC 7F015CAC AFAD008C */ sw $t5, 0x8c($sp) -/* 04A7E0 7F015CB0 00007812 */ mflo $t7 -/* 04A7E4 7F015CB4 01F8C821 */ addu $t9, $t7, $t8 -/* 04A7E8 7F015CB8 03375021 */ addu $t2, $t9, $s7 -/* 04A7EC 7F015CBC 0C001107 */ jal get_video2_settings_txtClipW -/* 04A7F0 7F015CC0 AFAA0088 */ sw $t2, 0x88($sp) -/* 04A7F4 7F015CC4 00028400 */ sll $s0, $v0, 0x10 -/* 04A7F8 7F015CC8 00105C03 */ sra $t3, $s0, 0x10 -/* 04A7FC 7F015CCC 0C00110B */ jal get_video2_settings_txtClipH -/* 04A800 7F015CD0 01608025 */ move $s0, $t3 -/* 04A804 7F015CD4 8E8C0000 */ lw $t4, ($s4) -/* 04A808 7F015CD8 8EAD0000 */ lw $t5, ($s5) -/* 04A80C 7F015CDC 02C02025 */ move $a0, $s6 -/* 04A810 7F015CE0 27A5008C */ addiu $a1, $sp, 0x8c -/* 04A814 7F015CE4 27A60088 */ addiu $a2, $sp, 0x88 -/* 04A818 7F015CE8 02203825 */ move $a3, $s1 -/* 04A81C 7F015CEC AFB20018 */ sw $s2, 0x18($sp) -/* 04A820 7F015CF0 AFB0001C */ sw $s0, 0x1c($sp) -/* 04A824 7F015CF4 AFA20020 */ sw $v0, 0x20($sp) -/* 04A828 7F015CF8 AFA00024 */ sw $zero, 0x24($sp) -/* 04A82C 7F015CFC AFA00028 */ sw $zero, 0x28($sp) -/* 04A830 7F015D00 AFAC0010 */ sw $t4, 0x10($sp) -/* 04A834 7F015D04 0FC025D8 */ jal write_text_at_abs_coord -/* 04A838 7F015D08 AFAD0014 */ sw $t5, 0x14($sp) -/* 04A83C 7F015D0C 0040B025 */ move $s6, $v0 -.L7F015D10: -/* 04A840 7F015D10 0FC2B03A */ jal sub_GAME_7F0AC0E8 -/* 04A844 7F015D14 02602025 */ move $a0, $s3 -/* 04A848 7F015D18 8FAE0098 */ lw $t6, 0x98($sp) -/* 04A84C 7F015D1C 03C2F021 */ addu $fp, $fp, $v0 -/* 04A850 7F015D20 8FA9006C */ lw $t1, 0x6c($sp) -/* 04A854 7F015D24 25CF0001 */ addiu $t7, $t6, 1 -/* 04A858 7F015D28 AFAF0098 */ sw $t7, 0x98($sp) -/* 04A85C 7F015D2C 8FA8009C */ lw $t0, 0x9c($sp) -/* 04A860 7F015D30 25080001 */ addiu $t0, $t0, 1 -.L7F015D34: -/* 04A864 7F015D34 2401000A */ li $at, 10 -/* 04A868 7F015D38 1501FF4A */ bne $t0, $at, .L7F015A64 -/* 04A86C 7F015D3C 25290004 */ addiu $t1, $t1, 4 -/* 04A870 7F015D40 8FBF005C */ lw $ra, 0x5c($sp) -/* 04A874 7F015D44 02C01025 */ move $v0, $s6 -/* 04A878 7F015D48 8FB60050 */ lw $s6, 0x50($sp) -/* 04A87C 7F015D4C 8FB00038 */ lw $s0, 0x38($sp) -/* 04A880 7F015D50 8FB1003C */ lw $s1, 0x3c($sp) -/* 04A884 7F015D54 8FB20040 */ lw $s2, 0x40($sp) -/* 04A888 7F015D58 8FB30044 */ lw $s3, 0x44($sp) -/* 04A88C 7F015D5C 8FB40048 */ lw $s4, 0x48($sp) -/* 04A890 7F015D60 8FB5004C */ lw $s5, 0x4c($sp) -/* 04A894 7F015D64 8FB70054 */ lw $s7, 0x54($sp) -/* 04A898 7F015D68 8FBE0058 */ lw $fp, 0x58($sp) -/* 04A89C 7F015D6C 03E00008 */ jr $ra -/* 04A8A0 7F015D70 27BD00A0 */ addiu $sp, $sp, 0xa0 -) -#endif - - - -#ifdef NONMATCHING -undefined4 constructor_menu0A_briefing(undefined4 *param_1) -{ - undefined4 *puVar1; - undefined4 *DL; - uint *puVar2; - short sVar4; - short sVar5; - undefined4 uVar3; - undefined4 *puVar6; - undefined4 *puVar7; - undefined4 auStack3012 [750]; - uint uStack12; - uint uStack8; - byte *pbStack4; - - puVar1 = set_setfillcolor(param_1,0,0,0); - puVar1 = insert_generic_fillrect(puVar1); - DL = (undefined4 *)proc_7F00D5E8(puVar1); - puVar1 = (undefined4 *)array_80050C54; - puVar6 = auStack3012; - do { - puVar7 = puVar1 + 3; - *puVar6 = *puVar1; - puVar6[1] = puVar1[1]; - puVar6[2] = puVar1[2]; - puVar1 = puVar7; - puVar6 = puVar6 + 3; - } while (puVar7 != (undefined4 *)a02d02d); - puVar2 = microcode_constructor(DL); - puVar2 = print_current_solo_briefing_stage_name(puVar2,(byte *)auStack3012); - switch(current_menu_briefing_page) { - case BRIEFING_TITLE: - pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x5d)); - break; - case BRIEFING_OVERVIEW: - pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x5e)); - break; - case BRIEFING_M: - pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x5f)); - break; - case BRIEFING_Q: - pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x60)); - break; - case BRIEFING_MONEYPENNY: - pbStack4 = get_textptr_for_textID(TEXT(LTITLE, 0x61)); - } - uStack8 = 0x37; - uStack12 = 0x8f; - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puVar2 = write_text_at_abs_coord - (puVar2,&uStack8,&uStack12,pbStack4,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0); - if (current_menu_briefing_page == BRIEFING_TITLE) { - puVar2 = print_objectives_and_status_to_menu(puVar2,0xa7,(byte *)auStack3012,0); - } - else { - if (current_menu_briefing_page == BRIEFING_OVERVIEW) { - pbStack4 = get_textptr_for_textID((uint)*(ushort *)ptrbriefingdata); - } - else { - if (current_menu_briefing_page == BRIEFING_M) { - pbStack4 = get_textptr_for_textID((uint)*(ushort *)(ptrbriefingdata + 2)); - } - else { - if (current_menu_briefing_page == BRIEFING_Q) { - pbStack4 = get_textptr_for_textID((uint)*(ushort *)(ptrbriefingdata + 4)); - } - else { - if (current_menu_briefing_page == BRIEFING_MONEYPENNY) { - pbStack4 = get_textptr_for_textID((uint)*(ushort *)(ptrbriefingdata + 6)); - } - } - } - } - uStack8 = 0x37; - uStack12 = 0xa7; - proc_7F0AEB64(0x140,pbStack4,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int *)ptrFirstFontTableLarge); - proc_7F0ACBA0(8); - sVar4 = get_video2_settings_txtClipW(); - sVar5 = get_video2_settings_txtClipH(); - puVar2 = write_text_at_abs_coord - (puVar2,&uStack8,&uStack12,(byte *)auStack3012,(int)ptrSecondFontTableLarge, - (int)ptrFirstFontTableLarge,0xff,(int)sVar4,(int)sVar5,0,0); - proc_7F0ACBA0(0xffffffff); - } - puVar2 = add_tab1_start(puVar2); - puVar2 = add_tab3_previous(puVar2); - if ((int)current_menu_briefing_page < 4) { - puVar2 = add_tab2_next(puVar2); - } - uVar3 = load_draw_selected_icon_folder_select(puVar2); - return uVar3; -} -#else -GLOBAL_ASM( -.late_rodata -glabel jpt_briefingpage_name - .word .L7F015E14 - .word .L7F015E24 - .word .L7F015E34 - .word .L7F015E44 - .word .L7F015E54 - -.text -glabel constructor_menu0A_briefing -/* 04A8A4 7F015D74 27BDF3F0 */ addiu $sp, $sp, -0xc10 -/* 04A8A8 7F015D78 AFBF003C */ sw $ra, 0x3c($sp) -/* 04A8AC 7F015D7C AFB00038 */ sw $s0, 0x38($sp) -/* 04A8B0 7F015D80 00002825 */ move $a1, $zero -/* 04A8B4 7F015D84 00003025 */ move $a2, $zero -/* 04A8B8 7F015D88 0C0011B4 */ jal set_setfillcolor -/* 04A8BC 7F015D8C 00003825 */ move $a3, $zero -/* 04A8C0 7F015D90 0C000FBE */ jal insert_generic_fillrect -/* 04A8C4 7F015D94 00402025 */ move $a0, $v0 -/* 04A8C8 7F015D98 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 04A8CC 7F015D9C 00402025 */ move $a0, $v0 -/* 04A8D0 7F015DA0 3C0F8005 */ lui $t7, %hi(asc_D_80050C54) -/* 04A8D4 7F015DA4 25EF0C54 */ addiu $t7, %lo(asc_D_80050C54) # addiu $t7, $t7, 0xc54 -/* 04A8D8 7F015DA8 25E80BB8 */ addiu $t0, $t7, 0xbb8 -/* 04A8DC 7F015DAC 27AE004C */ addiu $t6, $sp, 0x4c -.L7F015DB0: -/* 04A8E0 7F015DB0 8DE10000 */ lw $at, ($t7) -/* 04A8E4 7F015DB4 25EF000C */ addiu $t7, $t7, 0xc -/* 04A8E8 7F015DB8 25CE000C */ addiu $t6, $t6, 0xc -/* 04A8EC 7F015DBC ADC1FFF4 */ sw $at, -0xc($t6) -/* 04A8F0 7F015DC0 8DE1FFF8 */ lw $at, -8($t7) -/* 04A8F4 7F015DC4 ADC1FFF8 */ sw $at, -8($t6) -/* 04A8F8 7F015DC8 8DE1FFFC */ lw $at, -4($t7) -/* 04A8FC 7F015DCC 15E8FFF8 */ bne $t7, $t0, .L7F015DB0 -/* 04A900 7F015DD0 ADC1FFFC */ sw $at, -4($t6) -/* 04A904 7F015DD4 0FC2B366 */ jal microcode_constructor -/* 04A908 7F015DD8 00402025 */ move $a0, $v0 -/* 04A90C 7F015DDC 00402025 */ move $a0, $v0 -/* 04A910 7F015DE0 0FC03AAF */ jal print_current_solo_briefing_stage_name -/* 04A914 7F015DE4 27A5004C */ addiu $a1, $sp, 0x4c -/* 04A918 7F015DE8 3C098003 */ lui $t1, %hi(current_menu_briefing_page) -/* 04A91C 7F015DEC 8D29A914 */ lw $t1, %lo(current_menu_briefing_page)($t1) -/* 04A920 7F015DF0 00408025 */ move $s0, $v0 -/* 04A924 7F015DF4 2D210005 */ sltiu $at, $t1, 5 -/* 04A928 7F015DF8 10200019 */ beqz $at, .L7F015E60 -/* 04A92C 7F015DFC 00094880 */ sll $t1, $t1, 2 -/* 04A930 7F015E00 3C018005 */ lui $at, %hi(jpt_briefingpage_name) -/* 04A934 7F015E04 00290821 */ addu $at, $at, $t1 -/* 04A938 7F015E08 8C291AC0 */ lw $t1, %lo(jpt_briefingpage_name)($at) -/* 04A93C 7F015E0C 01200008 */ jr $t1 -/* 04A940 7F015E10 00000000 */ nop -.L7F015E14: -/* 04A944 7F015E14 0FC30776 */ jal get_textptr_for_textID -/* 04A948 7F015E18 34049C5D */ li $a0, 40029 -/* 04A94C 7F015E1C 10000010 */ b .L7F015E60 -/* 04A950 7F015E20 AFA20C0C */ sw $v0, 0xc0c($sp) -.L7F015E24: -/* 04A954 7F015E24 0FC30776 */ jal get_textptr_for_textID -/* 04A958 7F015E28 34049C5E */ li $a0, 40030 -/* 04A95C 7F015E2C 1000000C */ b .L7F015E60 -/* 04A960 7F015E30 AFA20C0C */ sw $v0, 0xc0c($sp) -.L7F015E34: -/* 04A964 7F015E34 0FC30776 */ jal get_textptr_for_textID -/* 04A968 7F015E38 34049C5F */ li $a0, 40031 -/* 04A96C 7F015E3C 10000008 */ b .L7F015E60 -/* 04A970 7F015E40 AFA20C0C */ sw $v0, 0xc0c($sp) -.L7F015E44: -/* 04A974 7F015E44 0FC30776 */ jal get_textptr_for_textID -/* 04A978 7F015E48 34049C60 */ li $a0, 40032 -/* 04A97C 7F015E4C 10000004 */ b .L7F015E60 -/* 04A980 7F015E50 AFA20C0C */ sw $v0, 0xc0c($sp) -.L7F015E54: -/* 04A984 7F015E54 0FC30776 */ jal get_textptr_for_textID -/* 04A988 7F015E58 34049C61 */ li $a0, 40033 -/* 04A98C 7F015E5C AFA20C0C */ sw $v0, 0xc0c($sp) -def_7F015E0C: -.L7F015E60: -/* 04A990 7F015E60 240A0037 */ li $t2, 55 -/* 04A994 7F015E64 240B008F */ li $t3, 143 -/* 04A998 7F015E68 AFAA0C08 */ sw $t2, 0xc08($sp) -/* 04A99C 7F015E6C 0C001107 */ jal get_video2_settings_txtClipW -/* 04A9A0 7F015E70 AFAB0C04 */ sw $t3, 0xc04($sp) -/* 04A9A4 7F015E74 0C00110B */ jal get_video2_settings_txtClipH -/* 04A9A8 7F015E78 A7A20048 */ sh $v0, 0x48($sp) -/* 04A9AC 7F015E7C 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge) -/* 04A9B0 7F015E80 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04A9B4 7F015E84 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04A9B8 7F015E88 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4) -/* 04A9BC 7F015E8C 87B80048 */ lh $t8, 0x48($sp) -/* 04A9C0 7F015E90 241900FF */ li $t9, 255 -/* 04A9C4 7F015E94 AFB90018 */ sw $t9, 0x18($sp) -/* 04A9C8 7F015E98 02002025 */ move $a0, $s0 -/* 04A9CC 7F015E9C 27A50C08 */ addiu $a1, $sp, 0xc08 -/* 04A9D0 7F015EA0 27A60C04 */ addiu $a2, $sp, 0xc04 -/* 04A9D4 7F015EA4 8FA70C0C */ lw $a3, 0xc0c($sp) -/* 04A9D8 7F015EA8 AFA20020 */ sw $v0, 0x20($sp) -/* 04A9DC 7F015EAC AFA00024 */ sw $zero, 0x24($sp) -/* 04A9E0 7F015EB0 AFA00028 */ sw $zero, 0x28($sp) -/* 04A9E4 7F015EB4 AFAD0014 */ sw $t5, 0x14($sp) -/* 04A9E8 7F015EB8 AFAC0010 */ sw $t4, 0x10($sp) -/* 04A9EC 7F015EBC 0FC025D8 */ jal write_text_at_abs_coord -/* 04A9F0 7F015EC0 AFB8001C */ sw $t8, 0x1c($sp) -/* 04A9F4 7F015EC4 3C038003 */ lui $v1, %hi(current_menu_briefing_page) -/* 04A9F8 7F015EC8 8C63A914 */ lw $v1, %lo(current_menu_briefing_page)($v1) -/* 04A9FC 7F015ECC 00408025 */ move $s0, $v0 -/* 04AA00 7F015ED0 24010001 */ li $at, 1 -/* 04AA04 7F015ED4 14600007 */ bnez $v1, .L7F015EF4 -/* 04AA08 7F015ED8 00402025 */ move $a0, $v0 -/* 04AA0C 7F015EDC 240500A7 */ li $a1, 167 -/* 04AA10 7F015EE0 27A6004C */ addiu $a2, $sp, 0x4c -/* 04AA14 7F015EE4 0FC05682 */ jal print_objectives_and_status_to_menu -/* 04AA18 7F015EE8 00003825 */ move $a3, $zero -/* 04AA1C 7F015EEC 10000049 */ b .L7F016014 -/* 04AA20 7F015EF0 00408025 */ move $s0, $v0 -.L7F015EF4: -/* 04AA24 7F015EF4 1061000C */ beq $v1, $at, .L7F015F28 -/* 04AA28 7F015EF8 3C088007 */ lui $t0, %hi(ptrbriefingdata) -/* 04AA2C 7F015EFC 24010002 */ li $at, 2 -/* 04AA30 7F015F00 1061000E */ beq $v1, $at, .L7F015F3C -/* 04AA34 7F015F04 3C0F8007 */ lui $t7, %hi(ptrbriefingdata) -/* 04AA38 7F015F08 24010003 */ li $at, 3 -/* 04AA3C 7F015F0C 10610010 */ beq $v1, $at, .L7F015F50 -/* 04AA40 7F015F10 3C0E8007 */ lui $t6, %hi(ptrbriefingdata) -/* 04AA44 7F015F14 24010004 */ li $at, 4 -/* 04AA48 7F015F18 10610012 */ beq $v1, $at, .L7F015F64 -/* 04AA4C 7F015F1C 3C098007 */ lui $t1, %hi(ptrbriefingdata) -/* 04AA50 7F015F20 10000014 */ b .L7F015F74 -/* 04AA54 7F015F24 00000000 */ nop -.L7F015F28: -/* 04AA58 7F015F28 8D08978C */ lw $t0, %lo(ptrbriefingdata)($t0) -/* 04AA5C 7F015F2C 0FC30776 */ jal get_textptr_for_textID -/* 04AA60 7F015F30 95040000 */ lhu $a0, ($t0) -/* 04AA64 7F015F34 1000000F */ b .L7F015F74 -/* 04AA68 7F015F38 AFA20C0C */ sw $v0, 0xc0c($sp) -.L7F015F3C: -/* 04AA6C 7F015F3C 8DEF978C */ lw $t7, %lo(ptrbriefingdata)($t7) -/* 04AA70 7F015F40 0FC30776 */ jal get_textptr_for_textID -/* 04AA74 7F015F44 95E40002 */ lhu $a0, 2($t7) -/* 04AA78 7F015F48 1000000A */ b .L7F015F74 -/* 04AA7C 7F015F4C AFA20C0C */ sw $v0, 0xc0c($sp) -.L7F015F50: -/* 04AA80 7F015F50 8DCE978C */ lw $t6, %lo(ptrbriefingdata)($t6) -/* 04AA84 7F015F54 0FC30776 */ jal get_textptr_for_textID -/* 04AA88 7F015F58 95C40004 */ lhu $a0, 4($t6) -/* 04AA8C 7F015F5C 10000005 */ b .L7F015F74 -/* 04AA90 7F015F60 AFA20C0C */ sw $v0, 0xc0c($sp) -.L7F015F64: -/* 04AA94 7F015F64 8D29978C */ lw $t1, %lo(ptrbriefingdata)($t1) -/* 04AA98 7F015F68 0FC30776 */ jal get_textptr_for_textID -/* 04AA9C 7F015F6C 95240006 */ lhu $a0, 6($t1) -/* 04AAA0 7F015F70 AFA20C0C */ sw $v0, 0xc0c($sp) -.L7F015F74: -/* 04AAA4 7F015F74 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) -/* 04AAA8 7F015F78 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 04AAAC 7F015F7C 240A0037 */ li $t2, 55 -/* 04AAB0 7F015F80 240B00A7 */ li $t3, 167 -/* 04AAB4 7F015F84 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 04AAB8 7F015F88 AFAA0C08 */ sw $t2, 0xc08($sp) -/* 04AABC 7F015F8C AFAB0C04 */ sw $t3, 0xc04($sp) -/* 04AAC0 7F015F90 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04AAC4 7F015F94 24040140 */ li $a0, 320 -/* 04AAC8 7F015F98 8FA50C0C */ lw $a1, 0xc0c($sp) -/* 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 setTextOverlapCorrection -/* 04AADC 7F015FAC 24040008 */ li $a0, 8 -/* 04AAE0 7F015FB0 0C001107 */ jal get_video2_settings_txtClipW -/* 04AAE4 7F015FB4 00000000 */ nop -/* 04AAE8 7F015FB8 0C00110B */ jal get_video2_settings_txtClipH -/* 04AAEC 7F015FBC A7A20048 */ sh $v0, 0x48($sp) -/* 04AAF0 7F015FC0 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 04AAF4 7F015FC4 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 04AAF8 7F015FC8 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 04AAFC 7F015FCC 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 04AB00 7F015FD0 87A80048 */ lh $t0, 0x48($sp) -/* 04AB04 7F015FD4 241800FF */ li $t8, 255 -/* 04AB08 7F015FD8 AFB80018 */ sw $t8, 0x18($sp) -/* 04AB0C 7F015FDC 02002025 */ move $a0, $s0 -/* 04AB10 7F015FE0 27A50C08 */ addiu $a1, $sp, 0xc08 -/* 04AB14 7F015FE4 27A60C04 */ addiu $a2, $sp, 0xc04 -/* 04AB18 7F015FE8 27A7004C */ addiu $a3, $sp, 0x4c -/* 04AB1C 7F015FEC AFA20020 */ sw $v0, 0x20($sp) -/* 04AB20 7F015FF0 AFA00024 */ sw $zero, 0x24($sp) -/* 04AB24 7F015FF4 AFA00028 */ sw $zero, 0x28($sp) -/* 04AB28 7F015FF8 AFB90014 */ sw $t9, 0x14($sp) -/* 04AB2C 7F015FFC AFAD0010 */ sw $t5, 0x10($sp) -/* 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 setTextOverlapCorrection -/* 04AB40 7F016010 2404FFFF */ li $a0, -1 -.L7F016014: -/* 04AB44 7F016014 0FC02820 */ jal add_tab1_start -/* 04AB48 7F016018 02002025 */ move $a0, $s0 -/* 04AB4C 7F01601C 0FC0288E */ jal add_tab3_previous -/* 04AB50 7F016020 00402025 */ move $a0, $v0 -/* 04AB54 7F016024 3C0F8003 */ lui $t7, %hi(current_menu_briefing_page) -/* 04AB58 7F016028 8DEFA914 */ lw $t7, %lo(current_menu_briefing_page)($t7) -/* 04AB5C 7F01602C 00408025 */ move $s0, $v0 -/* 04AB60 7F016030 29E10004 */ slti $at, $t7, 4 -/* 04AB64 7F016034 10200004 */ beqz $at, .L7F016048 -/* 04AB68 7F016038 00000000 */ nop -/* 04AB6C 7F01603C 0FC02905 */ jal add_tab2_next -/* 04AB70 7F016040 00402025 */ move $a0, $v0 -/* 04AB74 7F016044 00408025 */ move $s0, $v0 -.L7F016048: -/* 04AB78 7F016048 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 04AB7C 7F01604C 02002025 */ move $a0, $s0 -/* 04AB80 7F016050 8FBF003C */ lw $ra, 0x3c($sp) -/* 04AB84 7F016054 8FB00038 */ lw $s0, 0x38($sp) -/* 04AB88 7F016058 27BD0C10 */ addiu $sp, $sp, 0xc10 -/* 04AB8C 7F01605C 03E00008 */ jr $ra -/* 04AB90 7F016060 00000000 */ nop -) -#endif - - - -void init_menu0B_runstage(void) -{ - set_loaded_stage(selected_stage); - set_difficulty(selected_difficulty); -} - -void init_menu0C_missionfailed(void) -{ - tab_2_selected = FALSE; - tab_3_selected = FALSE; - load_walletbond(); - load_briefing_text_for_stage(); - set_cursor_pos_tab2(); - if (maybe_is_in_menu != FALSE) { - sfx_c_700091E8(0x7fff); - musicTrack1Vol(0x7fff); - music1_playing = FALSE; - musicTrack1Play(M_FOLDERS); - maybe_is_in_menu = FALSE; - } -} - -void update_menu0C_missionfailed(void) { - return; -} - - - - - - - -#ifdef NONMATCHING -void interface_menu0C_missionfailed(void) -{ - const f32 menu0C_aspect = 1.3333334; - const f32 menu0C_pageheight = 10000.0; - - setvideo_far(60.00000000); - video_related_21(menu0C_aspect); - set_page_height(100.00000000, menu0C_pageheight); - set_video2_settings_offset_24(0); - tab_2_highlight = 0; - tab_3_highlight = 0; - if (isontab3() != 0) - { - tab_3_highlight = 1; - } - else - { - if (isontab2() != 0) - { - tab_2_highlight = 1; - } - else - { - tab_2_highlight = 1; - } - } - if (get_controller_buttons_pressed(0, 0xb000) != 0) - { - if (tab_3_highlight != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - else - { - if (tab_2_highlight != 0) - { - tab_2_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - } - else - { - if (get_controller_buttons_pressed(0, 0x4000) != 0) - { - tab_3_selected = 1; - play_sfx_a1(ptr_sfx_buf, 0xc7, 0); - } - } - disable_all_switches(ptr_folder_object_instance); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 0, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 1, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 3, 1); - set_item_visibility_in_objinstance(ptr_folder_object_instance, 6, 1); - menu_control_stick_tracking(); - if (tab_2_selected != 0) - { - set_menu_to_mode(0xd, 0); - return; - } - if (tab_3_selected != 0) - { - set_menu_to_mode(7, 0); - set_cursor_to_stage_solo(mission_folder_setup_entries[briefingpage].mission_num); - } -} -#else -GLOBAL_ASM( -.late_rodata -glabel menu0C_aspect -.word 0x3FAAAAAB /*1.3333334;*/ -glabel menu0C_pageheight -.word 0x461C4000 /*10000.0;*/ -.text -glabel interface_menu0C_missionfailed -/* 04AC40 7F016110 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 04AC54 7F016124 00000000 */ nop -/* 04AC58 7F016128 3C018005 */ lui $at, %hi(menu0C_aspect) -/* 04AC5C 7F01612C 0C001164 */ jal video_related_21 -/* 04AC60 7F016130 C42C1AD4 */ lwc1 $f12, %lo(menu0C_aspect)($at) -/* 04AC64 7F016134 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04AC68 7F016138 44816000 */ mtc1 $at, $f12 -/* 04AC6C 7F01613C 3C018005 */ lui $at, %hi(menu0C_pageheight) -/* 04AC70 7F016140 0C001194 */ jal set_page_height -/* 04AC74 7F016144 C42E1AD8 */ lwc1 $f14, %lo(menu0C_pageheight)($at) -/* 04AC78 7F016148 0C00114D */ jal set_video2_settings_offset_24 -/* 04AC7C 7F01614C 00002025 */ move $a0, $zero -/* 04AC80 7F016150 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04AC84 7F016154 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 04AC88 7F016158 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04AC8C 7F01615C 0FC028E7 */ jal isontab3 -/* 04AC90 7F016160 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 04AC94 7F016164 10400004 */ beqz $v0, .L7F016178 -/* 04AC98 7F016168 24030001 */ li $v1, 1 -/* 04AC9C 7F01616C 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04ACA0 7F016170 1000000B */ b .L7F0161A0 -/* 04ACA4 7F016174 AC23A8E4 */ sw $v1, %lo(tab_3_highlight)($at) -.L7F016178: -/* 04ACA8 7F016178 0FC0295E */ jal isontab2 -/* 04ACAC 7F01617C 00000000 */ nop -/* 04ACB0 7F016180 10400005 */ beqz $v0, .L7F016198 -/* 04ACB4 7F016184 24030001 */ li $v1, 1 -/* 04ACB8 7F016188 24030001 */ li $v1, 1 -/* 04ACBC 7F01618C 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04ACC0 7F016190 10000003 */ b .L7F0161A0 -/* 04ACC4 7F016194 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at) -.L7F016198: -/* 04ACC8 7F016198 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04ACCC 7F01619C AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at) -.L7F0161A0: -/* 04ACD0 7F0161A0 00002025 */ move $a0, $zero -/* 04ACD4 7F0161A4 0C0030EB */ jal get_controller_buttons_pressed -/* 04ACD8 7F0161A8 3405B000 */ li $a1, 45056 -/* 04ACDC 7F0161AC 10400019 */ beqz $v0, .L7F016214 -/* 04ACE0 7F0161B0 24030001 */ li $v1, 1 -/* 04ACE4 7F0161B4 3C0E8003 */ lui $t6, %hi(tab_3_highlight) -/* 04ACE8 7F0161B8 8DCEA8E4 */ lw $t6, %lo(tab_3_highlight)($t6) -/* 04ACEC 7F0161BC 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04ACF0 7F0161C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04ACF4 7F0161C4 11C00008 */ beqz $t6, .L7F0161E8 -/* 04ACF8 7F0161C8 3C0F8003 */ lui $t7, %hi(tab_2_highlight) -/* 04ACFC 7F0161CC AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -/* 04AD00 7F0161D0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04AD04 7F0161D4 240500C7 */ li $a1, 199 -/* 04AD08 7F0161D8 0C002382 */ jal play_sfx_a1 -/* 04AD0C 7F0161DC 00003025 */ move $a2, $zero -/* 04AD10 7F0161E0 10000018 */ b .L7F016244 -/* 04AD14 7F0161E4 00000000 */ nop -.L7F0161E8: -/* 04AD18 7F0161E8 8DEFA8E0 */ lw $t7, %lo(tab_2_highlight)($t7) -/* 04AD1C 7F0161EC 3C018003 */ lui $at, %hi(tab_2_selected) -/* 04AD20 7F0161F0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04AD24 7F0161F4 11E00013 */ beqz $t7, .L7F016244 -/* 04AD28 7F0161F8 240500C7 */ li $a1, 199 -/* 04AD2C 7F0161FC AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at) -/* 04AD30 7F016200 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04AD34 7F016204 0C002382 */ jal play_sfx_a1 -/* 04AD38 7F016208 00003025 */ move $a2, $zero -/* 04AD3C 7F01620C 1000000D */ b .L7F016244 -/* 04AD40 7F016210 00000000 */ nop -.L7F016214: -/* 04AD44 7F016214 00002025 */ move $a0, $zero -/* 04AD48 7F016218 0C0030EB */ jal get_controller_buttons_pressed -/* 04AD4C 7F01621C 24054000 */ li $a1, 16384 -/* 04AD50 7F016220 10400008 */ beqz $v0, .L7F016244 -/* 04AD54 7F016224 24030001 */ li $v1, 1 -/* 04AD58 7F016228 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04AD5C 7F01622C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04AD60 7F016230 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -/* 04AD64 7F016234 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04AD68 7F016238 240500C7 */ li $a1, 199 -/* 04AD6C 7F01623C 0C002382 */ jal play_sfx_a1 -/* 04AD70 7F016240 00003025 */ move $a2, $zero -.L7F016244: -/* 04AD74 7F016244 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04AD78 7F016248 0FC02DC9 */ jal disable_all_switches -/* 04AD7C 7F01624C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04AD80 7F016250 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04AD84 7F016254 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04AD88 7F016258 00002825 */ move $a1, $zero -/* 04AD8C 7F01625C 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04AD90 7F016260 24060001 */ li $a2, 1 -/* 04AD94 7F016264 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04AD98 7F016268 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04AD9C 7F01626C 24050001 */ li $a1, 1 -/* 04ADA0 7F016270 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04ADA4 7F016274 24060001 */ li $a2, 1 -/* 04ADA8 7F016278 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04ADAC 7F01627C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04ADB0 7F016280 24050003 */ li $a1, 3 -/* 04ADB4 7F016284 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04ADB8 7F016288 24060001 */ li $a2, 1 -/* 04ADBC 7F01628C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04ADC0 7F016290 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04ADC4 7F016294 24050006 */ li $a1, 6 -/* 04ADC8 7F016298 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04ADCC 7F01629C 24060001 */ li $a2, 1 -/* 04ADD0 7F0162A0 0FC026E1 */ jal menu_control_stick_tracking -/* 04ADD4 7F0162A4 00000000 */ nop -/* 04ADD8 7F0162A8 3C188003 */ lui $t8, %hi(tab_2_selected) -/* 04ADDC 7F0162AC 8F18A8D4 */ lw $t8, %lo(tab_2_selected)($t8) -/* 04ADE0 7F0162B0 2404000D */ li $a0, 13 -/* 04ADE4 7F0162B4 3C198003 */ lui $t9, %hi(tab_3_selected) -/* 04ADE8 7F0162B8 13000005 */ beqz $t8, .L7F0162D0 -/* 04ADEC 7F0162BC 00000000 */ nop -/* 04ADF0 7F0162C0 0FC06975 */ jal set_menu_to_mode -/* 04ADF4 7F0162C4 00002825 */ move $a1, $zero -/* 04ADF8 7F0162C8 10000011 */ b .L7F016310 -/* 04ADFC 7F0162CC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0162D0: -/* 04AE00 7F0162D0 8F39A8D8 */ lw $t9, %lo(tab_3_selected)($t9) -/* 04AE04 7F0162D4 24040007 */ li $a0, 7 -/* 04AE08 7F0162D8 5320000D */ beql $t9, $zero, .L7F016310 -/* 04AE0C 7F0162DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 04AE10 7F0162E0 0FC06975 */ jal set_menu_to_mode -/* 04AE14 7F0162E4 00002825 */ move $a1, $zero -/* 04AE18 7F0162E8 3C088003 */ lui $t0, %hi(briefingpage) -/* 04AE1C 7F0162EC 8D08A8F8 */ lw $t0, %lo(briefingpage)($t0) -/* 04AE20 7F0162F0 3C048003 */ lui $a0, %hi(mission_folder_setup_entries+200) -/* 04AE24 7F0162F4 000848C0 */ sll $t1, $t0, 3 -/* 04AE28 7F0162F8 01284823 */ subu $t1, $t1, $t0 -/* 04AE2C 7F0162FC 00094880 */ sll $t1, $t1, 2 -/* 04AE30 7F016300 00892021 */ addu $a0, $a0, $t1 -/* 04AE34 7F016304 0FC038F8 */ jal set_cursor_to_stage_solo -/* 04AE38 7F016308 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+20)($a0) -/* 04AE3C 7F01630C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F016310: -/* 04AE40 7F016310 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04AE44 7F016314 03E00008 */ jr $ra -/* 04AE48 7F016318 00000000 */ nop -) -#endif - - - - - - -#ifdef NONMATCHING -? sub_GAME_7F01631C(void) -{ - s32 temp_s0; - s32 phi_s1; - s32 phi_s0; - - if (mission_failed_or_aborted != 0) - { -block_2: - return 0; - } - if (mission_kia_flag != 0) - { - goto block_2; - } - phi_s1 = 0; - phi_s0 = 0; -loop_4: - if ((ptrbriefingdata + phi_s1)->unk8 != 0) - { - if (get_current_difficulty() >= (ptrbriefingdata + phi_s1)->unkA) - { - if (get_status_of_objective(phi_s0) != 1) - { - return 0; - } - } - } - temp_s0 = phi_s0 + 1; - phi_s1 = phi_s1 + 4; - phi_s0 = temp_s0; - if (temp_s0 != 0xa) - { - goto loop_4; - } - return 1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01631C -/* 04AE4C 7F01631C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 04AE50 7F016320 3C0E8003 */ lui $t6, %hi(mission_failed_or_aborted) -/* 04AE54 7F016324 8DCEA924 */ lw $t6, %lo(mission_failed_or_aborted)($t6) -/* 04AE58 7F016328 AFBF002C */ sw $ra, 0x2c($sp) -/* 04AE5C 7F01632C AFB40028 */ sw $s4, 0x28($sp) -/* 04AE60 7F016330 AFB30024 */ sw $s3, 0x24($sp) -/* 04AE64 7F016334 AFB20020 */ sw $s2, 0x20($sp) -/* 04AE68 7F016338 AFB1001C */ sw $s1, 0x1c($sp) -/* 04AE6C 7F01633C 15C00007 */ bnez $t6, .L7F01635C -/* 04AE70 7F016340 AFB00018 */ sw $s0, 0x18($sp) -/* 04AE74 7F016344 3C0F8003 */ lui $t7, %hi(mission_kia_flag) -/* 04AE78 7F016348 8DEFA928 */ lw $t7, %lo(mission_kia_flag)($t7) -/* 04AE7C 7F01634C 00008025 */ move $s0, $zero -/* 04AE80 7F016350 00008825 */ move $s1, $zero -/* 04AE84 7F016354 11E00003 */ beqz $t7, .L7F016364 -/* 04AE88 7F016358 2414000A */ li $s4, 10 -.L7F01635C: -/* 04AE8C 7F01635C 1000001B */ b .L7F0163CC -/* 04AE90 7F016360 00001025 */ move $v0, $zero -.L7F016364: -/* 04AE94 7F016364 3C128007 */ lui $s2, %hi(ptrbriefingdata) -/* 04AE98 7F016368 2652978C */ addiu $s2, %lo(ptrbriefingdata) # addiu $s2, $s2, -0x6874 -/* 04AE9C 7F01636C 24130001 */ li $s3, 1 -.L7F016370: -/* 04AEA0 7F016370 8E580000 */ lw $t8, ($s2) -/* 04AEA4 7F016374 0311C821 */ addu $t9, $t8, $s1 -/* 04AEA8 7F016378 97280008 */ lhu $t0, 8($t9) -/* 04AEAC 7F01637C 51000010 */ beql $t0, $zero, .L7F0163C0 -/* 04AEB0 7F016380 26100001 */ addiu $s0, $s0, 1 -/* 04AEB4 7F016384 0FC2FF04 */ jal get_current_difficulty -/* 04AEB8 7F016388 00000000 */ nop -/* 04AEBC 7F01638C 8E490000 */ lw $t1, ($s2) -/* 04AEC0 7F016390 01315021 */ addu $t2, $t1, $s1 -/* 04AEC4 7F016394 954B000A */ lhu $t3, 0xa($t2) -/* 04AEC8 7F016398 004B082A */ slt $at, $v0, $t3 -/* 04AECC 7F01639C 54200008 */ bnezl $at, .L7F0163C0 -/* 04AED0 7F0163A0 26100001 */ addiu $s0, $s0, 1 -/* 04AED4 7F0163A4 0FC15C8E */ jal get_status_of_objective -/* 04AED8 7F0163A8 02002025 */ move $a0, $s0 -/* 04AEDC 7F0163AC 50530004 */ beql $v0, $s3, .L7F0163C0 -/* 04AEE0 7F0163B0 26100001 */ addiu $s0, $s0, 1 -/* 04AEE4 7F0163B4 10000005 */ b .L7F0163CC -/* 04AEE8 7F0163B8 00001025 */ move $v0, $zero -/* 04AEEC 7F0163BC 26100001 */ addiu $s0, $s0, 1 -.L7F0163C0: -/* 04AEF0 7F0163C0 1614FFEB */ bne $s0, $s4, .L7F016370 -/* 04AEF4 7F0163C4 26310004 */ addiu $s1, $s1, 4 -/* 04AEF8 7F0163C8 24020001 */ li $v0, 1 -.L7F0163CC: -/* 04AEFC 7F0163CC 8FBF002C */ lw $ra, 0x2c($sp) -/* 04AF00 7F0163D0 8FB00018 */ lw $s0, 0x18($sp) -/* 04AF04 7F0163D4 8FB1001C */ lw $s1, 0x1c($sp) -/* 04AF08 7F0163D8 8FB20020 */ lw $s2, 0x20($sp) -/* 04AF0C 7F0163DC 8FB30024 */ lw $s3, 0x24($sp) -/* 04AF10 7F0163E0 8FB40028 */ lw $s4, 0x28($sp) -/* 04AF14 7F0163E4 03E00008 */ jr $ra -/* 04AF18 7F0163E8 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu0C_missionfailed(s32 arg0) -{ - s32 spC14; - ?32 spC10; - ? sp58; - s32 sp50; - ?32 sp4C; - s32 sp48; - s16 sp44; - s32 temp_ret; - s32 phi_v1; - s32 phi_s0; - - arg0 = print_current_solo_briefing_stage_name(microcode_constructor(sub_GAME_7F00D5E8(insert_generic_fillrect(set_setfillcolor(0, 0, 0)))), &sp58); - spC14 = 0x37; - spC10 = 0x8f; - sp44 = get_video2_settings_txtClipW(); - arg0 = write_text_at_abs_coord(arg0, &spC14, &spC10, get_textptr_for_textID(TEXT(LTITLE, 0x62)), (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - temp_ret = get_textptr_for_textID(TEXT(LTITLE, 0x63)); - sp48 = 0; - sp4C = 0; - sub_GAME_7F0AE98C(&sp4C, &sp48, temp_ret, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); - spC14 = 0x37; - spC10 = 0xa7; - sp44 = get_video2_settings_txtClipW(); - arg0 = write_text_at_abs_coord(arg0, &spC14, &spC10, temp_ret, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); - if (mission_kia_flag != 0) - { - phi_v1 = 0x780000ff; - phi_s0 = get_textptr_for_textID(TEXT(LTITLE, 0x64)); - } - else - { - if (mission_failed_or_aborted != 0) - { - phi_v1 = 0x780000ff; - phi_s0 = get_textptr_for_textID(TEXT(LTITLE, 0x65)); - } - else - { - if (sub_GAME_7F01631C() != 0) - { - phi_v1 = 0xff; - phi_s0 = get_textptr_for_textID(TEXT(LTITLE, 0x66)); - } - else - { - phi_v1 = 0x780000ff; - phi_s0 = get_textptr_for_textID(TEXT(LTITLE, 0x67)); - } - } - } - spC10 = 0xa7; - spC14 = (s32) (sp48 + 0x37); - sp50 = (s32) phi_v1; - sp44 = get_video2_settings_txtClipW(); - load_draw_selected_icon_folder_select(add_tab3_previous(add_tab2_next(print_objectives_and_status_to_menu(write_text_at_abs_coord(arg0, &spC14, &spC10, phi_s0, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, (s32) phi_v1, sp44, get_video2_settings_txtClipH(), 0, 0), 0xbf, &sp58, 1)))); -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu0C_missionfailed -/* 04AF1C 7F0163EC 27BDF3E8 */ addiu $sp, $sp, -0xc18 -/* 04AF20 7F0163F0 AFBF003C */ sw $ra, 0x3c($sp) -/* 04AF24 7F0163F4 AFB00038 */ sw $s0, 0x38($sp) -/* 04AF28 7F0163F8 00002825 */ move $a1, $zero -/* 04AF2C 7F0163FC 00003025 */ move $a2, $zero -/* 04AF30 7F016400 0C0011B4 */ jal set_setfillcolor -/* 04AF34 7F016404 00003825 */ move $a3, $zero -/* 04AF38 7F016408 0C000FBE */ jal insert_generic_fillrect -/* 04AF3C 7F01640C 00402025 */ move $a0, $v0 -/* 04AF40 7F016410 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 04AF44 7F016414 00402025 */ move $a0, $v0 -/* 04AF48 7F016418 0FC2B366 */ jal microcode_constructor -/* 04AF4C 7F01641C 00402025 */ move $a0, $v0 -/* 04AF50 7F016420 00402025 */ move $a0, $v0 -/* 04AF54 7F016424 0FC03AAF */ jal print_current_solo_briefing_stage_name -/* 04AF58 7F016428 27A50058 */ addiu $a1, $sp, 0x58 -/* 04AF5C 7F01642C AFA20C18 */ sw $v0, 0xc18($sp) -/* 04AF60 7F016430 0FC30776 */ jal get_textptr_for_textID -/* 04AF64 7F016434 34049C62 */ li $a0, 40034 -/* 04AF68 7F016438 240E0037 */ li $t6, 55 -/* 04AF6C 7F01643C 240F008F */ li $t7, 143 -/* 04AF70 7F016440 00408025 */ move $s0, $v0 -/* 04AF74 7F016444 AFAE0C14 */ sw $t6, 0xc14($sp) -/* 04AF78 7F016448 0C001107 */ jal get_video2_settings_txtClipW -/* 04AF7C 7F01644C AFAF0C10 */ sw $t7, 0xc10($sp) -/* 04AF80 7F016450 0C00110B */ jal get_video2_settings_txtClipH -/* 04AF84 7F016454 A7A20044 */ sh $v0, 0x44($sp) -/* 04AF88 7F016458 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 04AF8C 7F01645C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 04AF90 7F016460 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 04AF94 7F016464 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 04AF98 7F016468 87A90044 */ lh $t1, 0x44($sp) -/* 04AF9C 7F01646C 240800FF */ li $t0, 255 -/* 04AFA0 7F016470 AFA80018 */ sw $t0, 0x18($sp) -/* 04AFA4 7F016474 8FA40C18 */ lw $a0, 0xc18($sp) -/* 04AFA8 7F016478 27A50C14 */ addiu $a1, $sp, 0xc14 -/* 04AFAC 7F01647C 27A60C10 */ addiu $a2, $sp, 0xc10 -/* 04AFB0 7F016480 02003825 */ move $a3, $s0 -/* 04AFB4 7F016484 AFA20020 */ sw $v0, 0x20($sp) -/* 04AFB8 7F016488 AFA00024 */ sw $zero, 0x24($sp) -/* 04AFBC 7F01648C AFA00028 */ sw $zero, 0x28($sp) -/* 04AFC0 7F016490 AFB90014 */ sw $t9, 0x14($sp) -/* 04AFC4 7F016494 AFB80010 */ sw $t8, 0x10($sp) -/* 04AFC8 7F016498 0FC025D8 */ jal write_text_at_abs_coord -/* 04AFCC 7F01649C AFA9001C */ sw $t1, 0x1c($sp) -/* 04AFD0 7F0164A0 AFA20C18 */ sw $v0, 0xc18($sp) -/* 04AFD4 7F0164A4 0FC30776 */ jal get_textptr_for_textID -/* 04AFD8 7F0164A8 34049C63 */ li $a0, 40035 -/* 04AFDC 7F0164AC 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 04AFE0 7F0164B0 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 04AFE4 7F0164B4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 04AFE8 7F0164B8 00408025 */ move $s0, $v0 -/* 04AFEC 7F0164BC AFA00048 */ sw $zero, 0x48($sp) -/* 04AFF0 7F0164C0 AFA0004C */ sw $zero, 0x4c($sp) -/* 04AFF4 7F0164C4 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04AFF8 7F0164C8 27A4004C */ addiu $a0, $sp, 0x4c -/* 04AFFC 7F0164CC 27A50048 */ addiu $a1, $sp, 0x48 -/* 04B000 7F0164D0 00403025 */ move $a2, $v0 -/* 04B004 7F0164D4 AFA00014 */ sw $zero, 0x14($sp) -/* 04B008 7F0164D8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04B00C 7F0164DC AFAA0010 */ sw $t2, 0x10($sp) -/* 04B010 7F0164E0 240B0037 */ li $t3, 55 -/* 04B014 7F0164E4 240C00A7 */ li $t4, 167 -/* 04B018 7F0164E8 AFAB0C14 */ sw $t3, 0xc14($sp) -/* 04B01C 7F0164EC 0C001107 */ jal get_video2_settings_txtClipW -/* 04B020 7F0164F0 AFAC0C10 */ sw $t4, 0xc10($sp) -/* 04B024 7F0164F4 0C00110B */ jal get_video2_settings_txtClipH -/* 04B028 7F0164F8 A7A20044 */ sh $v0, 0x44($sp) -/* 04B02C 7F0164FC 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 04B030 7F016500 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 04B034 7F016504 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 04B038 7F016508 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 04B03C 7F01650C 87B80044 */ lh $t8, 0x44($sp) -/* 04B040 7F016510 240F00FF */ li $t7, 255 -/* 04B044 7F016514 AFAF0018 */ sw $t7, 0x18($sp) -/* 04B048 7F016518 8FA40C18 */ lw $a0, 0xc18($sp) -/* 04B04C 7F01651C 27A50C14 */ addiu $a1, $sp, 0xc14 -/* 04B050 7F016520 27A60C10 */ addiu $a2, $sp, 0xc10 -/* 04B054 7F016524 02003825 */ move $a3, $s0 -/* 04B058 7F016528 AFA20020 */ sw $v0, 0x20($sp) -/* 04B05C 7F01652C AFA00024 */ sw $zero, 0x24($sp) -/* 04B060 7F016530 AFA00028 */ sw $zero, 0x28($sp) -/* 04B064 7F016534 AFAE0014 */ sw $t6, 0x14($sp) -/* 04B068 7F016538 AFAD0010 */ sw $t5, 0x10($sp) -/* 04B06C 7F01653C 0FC025D8 */ jal write_text_at_abs_coord -/* 04B070 7F016540 AFB8001C */ sw $t8, 0x1c($sp) -/* 04B074 7F016544 3C198003 */ lui $t9, %hi(mission_kia_flag) -/* 04B078 7F016548 8F39A928 */ lw $t9, %lo(mission_kia_flag)($t9) -/* 04B07C 7F01654C AFA20C18 */ sw $v0, 0xc18($sp) -/* 04B080 7F016550 3C088003 */ lui $t0, %hi(mission_failed_or_aborted) -/* 04B084 7F016554 13200007 */ beqz $t9, .L7F016574 -/* 04B088 7F016558 00000000 */ nop -/* 04B08C 7F01655C 0FC30776 */ jal get_textptr_for_textID -/* 04B090 7F016560 34049C64 */ li $a0, 40036 -/* 04B094 7F016564 3C037800 */ lui $v1, (0x780000FF >> 16) # lui $v1, 0x7800 -/* 04B098 7F016568 00408025 */ move $s0, $v0 -/* 04B09C 7F01656C 10000018 */ b .L7F0165D0 -/* 04B0A0 7F016570 346300FF */ ori $v1, (0x780000FF & 0xFFFF) # ori $v1, $v1, 0xff -.L7F016574: -/* 04B0A4 7F016574 8D08A924 */ lw $t0, %lo(mission_failed_or_aborted)($t0) -/* 04B0A8 7F016578 11000007 */ beqz $t0, .L7F016598 -/* 04B0AC 7F01657C 00000000 */ nop -/* 04B0B0 7F016580 0FC30776 */ jal get_textptr_for_textID -/* 04B0B4 7F016584 34049C65 */ li $a0, 40037 -/* 04B0B8 7F016588 3C037800 */ lui $v1, (0x780000FF >> 16) # lui $v1, 0x7800 -/* 04B0BC 7F01658C 00408025 */ move $s0, $v0 -/* 04B0C0 7F016590 1000000F */ b .L7F0165D0 -/* 04B0C4 7F016594 346300FF */ ori $v1, (0x780000FF & 0xFFFF) # ori $v1, $v1, 0xff -.L7F016598: -/* 04B0C8 7F016598 0FC058C7 */ jal sub_GAME_7F01631C -/* 04B0CC 7F01659C 00000000 */ nop -/* 04B0D0 7F0165A0 10400006 */ beqz $v0, .L7F0165BC -/* 04B0D4 7F0165A4 00000000 */ nop -/* 04B0D8 7F0165A8 0FC30776 */ jal get_textptr_for_textID -/* 04B0DC 7F0165AC 34049C66 */ li $a0, 40038 -/* 04B0E0 7F0165B0 00408025 */ move $s0, $v0 -/* 04B0E4 7F0165B4 10000006 */ b .L7F0165D0 -/* 04B0E8 7F0165B8 240300FF */ li $v1, 255 -.L7F0165BC: -/* 04B0EC 7F0165BC 0FC30776 */ jal get_textptr_for_textID -/* 04B0F0 7F0165C0 34049C67 */ li $a0, 40039 -/* 04B0F4 7F0165C4 3C037800 */ lui $v1, (0x780000FF >> 16) # lui $v1, 0x7800 -/* 04B0F8 7F0165C8 00408025 */ move $s0, $v0 -/* 04B0FC 7F0165CC 346300FF */ ori $v1, (0x780000FF & 0xFFFF) # ori $v1, $v1, 0xff -.L7F0165D0: -/* 04B100 7F0165D0 8FA90048 */ lw $t1, 0x48($sp) -/* 04B104 7F0165D4 240B00A7 */ li $t3, 167 -/* 04B108 7F0165D8 AFAB0C10 */ sw $t3, 0xc10($sp) -/* 04B10C 7F0165DC 252A0037 */ addiu $t2, $t1, 0x37 -/* 04B110 7F0165E0 AFAA0C14 */ sw $t2, 0xc14($sp) -/* 04B114 7F0165E4 0C001107 */ jal get_video2_settings_txtClipW -/* 04B118 7F0165E8 AFA30050 */ sw $v1, 0x50($sp) -/* 04B11C 7F0165EC 0C00110B */ jal get_video2_settings_txtClipH -/* 04B120 7F0165F0 A7A20044 */ sh $v0, 0x44($sp) -/* 04B124 7F0165F4 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge) -/* 04B128 7F0165F8 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04B12C 7F0165FC 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04B130 7F016600 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4) -/* 04B134 7F016604 8FA30050 */ lw $v1, 0x50($sp) -/* 04B138 7F016608 87AE0044 */ lh $t6, 0x44($sp) -/* 04B13C 7F01660C 8FA40C18 */ lw $a0, 0xc18($sp) -/* 04B140 7F016610 27A50C14 */ addiu $a1, $sp, 0xc14 -/* 04B144 7F016614 27A60C10 */ addiu $a2, $sp, 0xc10 -/* 04B148 7F016618 02003825 */ move $a3, $s0 -/* 04B14C 7F01661C AFA20020 */ sw $v0, 0x20($sp) -/* 04B150 7F016620 AFA00024 */ sw $zero, 0x24($sp) -/* 04B154 7F016624 AFA00028 */ sw $zero, 0x28($sp) -/* 04B158 7F016628 AFAD0014 */ sw $t5, 0x14($sp) -/* 04B15C 7F01662C AFAC0010 */ sw $t4, 0x10($sp) -/* 04B160 7F016630 AFA30018 */ sw $v1, 0x18($sp) -/* 04B164 7F016634 0FC025D8 */ jal write_text_at_abs_coord -/* 04B168 7F016638 AFAE001C */ sw $t6, 0x1c($sp) -/* 04B16C 7F01663C 00402025 */ move $a0, $v0 -/* 04B170 7F016640 240500BF */ li $a1, 191 -/* 04B174 7F016644 27A60058 */ addiu $a2, $sp, 0x58 -/* 04B178 7F016648 0FC05682 */ jal print_objectives_and_status_to_menu -/* 04B17C 7F01664C 24070001 */ li $a3, 1 -/* 04B180 7F016650 0FC02905 */ jal add_tab2_next -/* 04B184 7F016654 00402025 */ move $a0, $v0 -/* 04B188 7F016658 0FC0288E */ jal add_tab3_previous -/* 04B18C 7F01665C 00402025 */ move $a0, $v0 -/* 04B190 7F016660 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 04B194 7F016664 00402025 */ move $a0, $v0 -/* 04B198 7F016668 8FBF003C */ lw $ra, 0x3c($sp) -/* 04B19C 7F01666C 8FB00038 */ lw $s0, 0x38($sp) -/* 04B1A0 7F016670 27BD0C18 */ addiu $sp, $sp, 0xc18 -/* 04B1A4 7F016674 03E00008 */ jr $ra -/* 04B1A8 7F016678 00000000 */ nop -) -#endif - - - - - - -void init_menu0D_missioncomplete(void) -{ - tab_2_selected = 0; - tab_3_selected = 0; - load_walletbond(); - load_briefing_text_for_stage(); - if (newcheatunlocked != 0) - { - play_sfx_a1(ptr_sfx_buf, 0x102, 0); - } -} - -void update_menu0D_missioncomplete(void) { - return; -} - - - - - - - -#ifdef NONMATCHING -void interface_menu0D_missioncomplete(undefined8 param_1,undefined8 param_2) -{ - BOOL BVar3; - ulonglong uVar1; - longlong lVar2; - mission_folder_setup *pmVar4; - mission_folder_setup *pmVar5; - int entry; - short sVar6; - int iVar7; - - setvideo_far(60.00000000); - video_related_21((f32)menu0D_aspect); - set_page_height(100.00000000,(f32)menu0D_pageheight); - set_video2_settings_offset_24(0); - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - if (isontab3() == FALSE) { - if (isontab2() == FALSE) { - tab_2_highlight = TRUE; - } - else { - tab_2_highlight = TRUE; - } - } - else { - tab_3_highlight = TRUE; - } - if (get_controller_buttons_pressed(0,START_BUTTON|Z_TRIG|A_BUTTON) == 0) { - if (get_controller_buttons_pressed(0,B_BUTTON) != 0) { - tab_3_selected = TRUE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_2_highlight == FALSE) { - if (tab_3_highlight != FALSE) { - tab_3_selected = TRUE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - } - else { - tab_2_selected = TRUE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo((longlong)mission_folder_setup_entries[briefingpage].mission_num); - } - } - else { - lVar2 = proc_7F01631C(); - if ((lVar2 == 0) || (append_cheat_sp != FALSE)) { - set_menu_to_mode(MENU_BRIEFING,0); - } - else { - if (mission_folder_setup_entries[briefingpage].mission_num == 0x11) { - set_menu_to_mode(MENU_RUN_STAGE,1); - selected_stage = LEVELID_CUBA; - } - else { - entry = briefingpage + 1; - if (mission_folder_setup_entries[briefingpage].mission_num < 0x12) { - sVar6 = mission_folder_setup_entries[entry].folder_text_preset; - pmVar5 = mission_folder_setup_entries + entry; - if (sVar6 != 0) { - iVar7 = mission_folder_setup_entries[entry].stage_id; - pmVar4 = mission_folder_setup_entries + entry; - while (pmVar5 = pmVar4, iVar7 < 0) { - sVar6 = pmVar4[1].folder_text_preset; - entry += 1; - pmVar5 = pmVar4 + 1; - if (sVar6 == 0) break; - iVar7 = pmVar4[1].stage_id; - pmVar4 = pmVar5; - } - } - if (sVar6 != 0) { - selected_stage = pmVar5->stage_id; - briefingpage = entry; - } - set_menu_to_mode(MENU_BRIEFING,0); - } - else { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo((longlong)mission_folder_setup_entries[briefingpage].mission_num) - ; - } - } - } - } - return; -} -#else -GLOBAL_ASM( -.late_rodata -glabel menu0D_aspect -.word 0x3FAAAAAB /*1.3333334;*/ -glabel menu0D_pageheight -.word 0x461C4000 /*10000.0;*/ - -.text -glabel interface_menu0D_missioncomplete -/* 04B208 7F0166D8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 04B21C 7F0166EC 00000000 */ nop -/* 04B220 7F0166F0 3C018005 */ lui $at, %hi(menu0D_aspect) -/* 04B224 7F0166F4 0C001164 */ jal video_related_21 -/* 04B228 7F0166F8 C42C1ADC */ lwc1 $f12, %lo(menu0D_aspect)($at) -/* 04B22C 7F0166FC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04B230 7F016700 44816000 */ mtc1 $at, $f12 -/* 04B234 7F016704 3C018005 */ lui $at, %hi(menu0D_pageheight) -/* 04B238 7F016708 0C001194 */ jal set_page_height -/* 04B23C 7F01670C C42E1AE0 */ lwc1 $f14, %lo(menu0D_pageheight)($at) -/* 04B240 7F016710 0C00114D */ jal set_video2_settings_offset_24 -/* 04B244 7F016714 00002025 */ move $a0, $zero -/* 04B248 7F016718 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04B24C 7F01671C AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 04B250 7F016720 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04B254 7F016724 0FC028E7 */ jal isontab3 -/* 04B258 7F016728 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 04B25C 7F01672C 10400004 */ beqz $v0, .L7F016740 -/* 04B260 7F016730 24030001 */ li $v1, 1 -/* 04B264 7F016734 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04B268 7F016738 1000000B */ b .L7F016768 -/* 04B26C 7F01673C AC23A8E4 */ sw $v1, %lo(tab_3_highlight)($at) -.L7F016740: -/* 04B270 7F016740 0FC0295E */ jal isontab2 -/* 04B274 7F016744 00000000 */ nop -/* 04B278 7F016748 10400005 */ beqz $v0, .L7F016760 -/* 04B27C 7F01674C 24030001 */ li $v1, 1 -/* 04B280 7F016750 24030001 */ li $v1, 1 -/* 04B284 7F016754 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04B288 7F016758 10000003 */ b .L7F016768 -/* 04B28C 7F01675C AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at) -.L7F016760: -/* 04B290 7F016760 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04B294 7F016764 AC23A8E0 */ sw $v1, %lo(tab_2_highlight)($at) -.L7F016768: -/* 04B298 7F016768 00002025 */ move $a0, $zero -/* 04B29C 7F01676C 0C0030EB */ jal get_controller_buttons_pressed -/* 04B2A0 7F016770 3405B000 */ li $a1, 45056 -/* 04B2A4 7F016774 10400019 */ beqz $v0, .L7F0167DC -/* 04B2A8 7F016778 24030001 */ li $v1, 1 -/* 04B2AC 7F01677C 3C0E8003 */ lui $t6, %hi(tab_2_highlight) -/* 04B2B0 7F016780 8DCEA8E0 */ lw $t6, %lo(tab_2_highlight)($t6) -/* 04B2B4 7F016784 3C018003 */ lui $at, %hi(tab_2_selected) -/* 04B2B8 7F016788 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04B2BC 7F01678C 11C00008 */ beqz $t6, .L7F0167B0 -/* 04B2C0 7F016790 3C0F8003 */ lui $t7, %hi(tab_3_highlight) -/* 04B2C4 7F016794 AC23A8D4 */ sw $v1, %lo(tab_2_selected)($at) -/* 04B2C8 7F016798 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04B2CC 7F01679C 240500C7 */ li $a1, 199 -/* 04B2D0 7F0167A0 0C002382 */ jal play_sfx_a1 -/* 04B2D4 7F0167A4 00003025 */ move $a2, $zero -/* 04B2D8 7F0167A8 10000018 */ b .L7F01680C -/* 04B2DC 7F0167AC 00000000 */ nop -.L7F0167B0: -/* 04B2E0 7F0167B0 8DEFA8E4 */ lw $t7, %lo(tab_3_highlight)($t7) -/* 04B2E4 7F0167B4 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04B2E8 7F0167B8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04B2EC 7F0167BC 11E00013 */ beqz $t7, .L7F01680C -/* 04B2F0 7F0167C0 240500C7 */ li $a1, 199 -/* 04B2F4 7F0167C4 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -/* 04B2F8 7F0167C8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04B2FC 7F0167CC 0C002382 */ jal play_sfx_a1 -/* 04B300 7F0167D0 00003025 */ move $a2, $zero -/* 04B304 7F0167D4 1000000D */ b .L7F01680C -/* 04B308 7F0167D8 00000000 */ nop -.L7F0167DC: -/* 04B30C 7F0167DC 00002025 */ move $a0, $zero -/* 04B310 7F0167E0 0C0030EB */ jal get_controller_buttons_pressed -/* 04B314 7F0167E4 24054000 */ li $a1, 16384 -/* 04B318 7F0167E8 10400008 */ beqz $v0, .L7F01680C -/* 04B31C 7F0167EC 24030001 */ li $v1, 1 -/* 04B320 7F0167F0 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04B324 7F0167F4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04B328 7F0167F8 AC23A8D8 */ sw $v1, %lo(tab_3_selected)($at) -/* 04B32C 7F0167FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04B330 7F016800 240500C7 */ li $a1, 199 -/* 04B334 7F016804 0C002382 */ jal play_sfx_a1 -/* 04B338 7F016808 00003025 */ move $a2, $zero -.L7F01680C: -/* 04B33C 7F01680C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04B340 7F016810 0FC02DC9 */ jal disable_all_switches -/* 04B344 7F016814 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04B348 7F016818 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04B34C 7F01681C 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04B350 7F016820 00002825 */ move $a1, $zero -/* 04B354 7F016824 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04B358 7F016828 24060001 */ li $a2, 1 -/* 04B35C 7F01682C 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04B360 7F016830 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04B364 7F016834 24050001 */ li $a1, 1 -/* 04B368 7F016838 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04B36C 7F01683C 24060001 */ li $a2, 1 -/* 04B370 7F016840 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04B374 7F016844 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04B378 7F016848 24050003 */ li $a1, 3 -/* 04B37C 7F01684C 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04B380 7F016850 24060001 */ li $a2, 1 -/* 04B384 7F016854 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04B388 7F016858 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04B38C 7F01685C 24050006 */ li $a1, 6 -/* 04B390 7F016860 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04B394 7F016864 24060001 */ li $a2, 1 -/* 04B398 7F016868 0FC026E1 */ jal menu_control_stick_tracking -/* 04B39C 7F01686C 00000000 */ nop -/* 04B3A0 7F016870 3C188003 */ lui $t8, %hi(tab_2_selected) -/* 04B3A4 7F016874 8F18A8D4 */ lw $t8, %lo(tab_2_selected)($t8) -/* 04B3A8 7F016878 3C098003 */ lui $t1, %hi(tab_3_selected) -/* 04B3AC 7F01687C 1300004D */ beqz $t8, .L7F0169B4 -/* 04B3B0 7F016880 00000000 */ nop -/* 04B3B4 7F016884 0FC058C7 */ jal sub_GAME_7F01631C -/* 04B3B8 7F016888 00000000 */ nop -/* 04B3BC 7F01688C 10400044 */ beqz $v0, .L7F0169A0 -/* 04B3C0 7F016890 3C198003 */ lui $t9, %hi(append_cheat_sp) -/* 04B3C4 7F016894 8F39A900 */ lw $t9, %lo(append_cheat_sp)($t9) -/* 04B3C8 7F016898 3C088003 */ lui $t0, %hi(briefingpage) -/* 04B3CC 7F01689C 2508A8F8 */ addiu $t0, %lo(briefingpage) # addiu $t0, $t0, -0x5708 -/* 04B3D0 7F0168A0 57200040 */ bnezl $t9, .L7F0169A4 -/* 04B3D4 7F0168A4 2404000A */ li $a0, 10 -/* 04B3D8 7F0168A8 8D050000 */ lw $a1, ($t0) -/* 04B3DC 7F0168AC 2407001C */ li $a3, 28 -/* 04B3E0 7F0168B0 3C068003 */ lui $a2, %hi(mission_folder_setup_entries) -/* 04B3E4 7F0168B4 00A70019 */ multu $a1, $a3 -/* 04B3E8 7F0168B8 24C6ABE4 */ addiu $a2, %lo(mission_folder_setup_entries) # addiu $a2, $a2, -0x541c -/* 04B3EC 7F0168BC 24010011 */ li $at, 17 -/* 04B3F0 7F0168C0 2404000B */ li $a0, 11 -/* 04B3F4 7F0168C4 00004812 */ mflo $t1 -/* 04B3F8 7F0168C8 00C95021 */ addu $t2, $a2, $t1 -/* 04B3FC 7F0168CC 8D420014 */ lw $v0, 0x14($t2) -/* 04B400 7F0168D0 54410008 */ bnel $v0, $at, .L7F0168F4 -/* 04B404 7F0168D4 28410012 */ slti $at, $v0, 0x12 -/* 04B408 7F0168D8 0FC06975 */ jal set_menu_to_mode -/* 04B40C 7F0168DC 24050001 */ li $a1, 1 -/* 04B410 7F0168E0 240B0036 */ li $t3, 54 -/* 04B414 7F0168E4 3C018003 */ lui $at, %hi(selected_stage) -/* 04B418 7F0168E8 10000043 */ b .L7F0169F8 -/* 04B41C 7F0168EC AC2BA8F4 */ sw $t3, %lo(selected_stage)($at) -/* 04B420 7F0168F0 28410012 */ slti $at, $v0, 0x12 -.L7F0168F4: -/* 04B424 7F0168F4 14200011 */ bnez $at, .L7F01693C -/* 04B428 7F0168F8 24A30001 */ addiu $v1, $a1, 1 -/* 04B42C 7F0168FC 24040007 */ li $a0, 7 -/* 04B430 7F016900 0FC06975 */ jal set_menu_to_mode -/* 04B434 7F016904 00002825 */ move $a1, $zero -/* 04B438 7F016908 3C088003 */ lui $t0, %hi(briefingpage) -/* 04B43C 7F01690C 2508A8F8 */ addiu $t0, %lo(briefingpage) # addiu $t0, $t0, -0x5708 -/* 04B440 7F016910 8D0C0000 */ lw $t4, ($t0) -/* 04B444 7F016914 2407001C */ li $a3, 28 -/* 04B448 7F016918 3C068003 */ lui $a2, %hi(mission_folder_setup_entries) -/* 04B44C 7F01691C 01870019 */ multu $t4, $a3 -/* 04B450 7F016920 24C6ABE4 */ addiu $a2, %lo(mission_folder_setup_entries) # addiu $a2, $a2, -0x541c -/* 04B454 7F016924 00006812 */ mflo $t5 -/* 04B458 7F016928 00CD7021 */ addu $t6, $a2, $t5 -/* 04B45C 7F01692C 0FC038F8 */ jal set_cursor_to_stage_solo -/* 04B460 7F016930 8DC40014 */ lw $a0, 0x14($t6) -/* 04B464 7F016934 10000031 */ b .L7F0169FC -/* 04B468 7F016938 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01693C: -/* 04B46C 7F01693C 00670019 */ multu $v1, $a3 -/* 04B470 7F016940 00002825 */ move $a1, $zero -/* 04B474 7F016944 00007812 */ mflo $t7 -/* 04B478 7F016948 00CF1021 */ addu $v0, $a2, $t7 -/* 04B47C 7F01694C 94440004 */ lhu $a0, 4($v0) -/* 04B480 7F016950 10800009 */ beqz $a0, .L7F016978 -/* 04B484 7F016954 00000000 */ nop -/* 04B488 7F016958 8C580008 */ lw $t8, 8($v0) -.L7F01695C: -/* 04B48C 7F01695C 07010006 */ bgez $t8, .L7F016978 -/* 04B490 7F016960 00000000 */ nop -/* 04B494 7F016964 94440020 */ lhu $a0, 0x20($v0) -/* 04B498 7F016968 24630001 */ addiu $v1, $v1, 1 -/* 04B49C 7F01696C 2442001C */ addiu $v0, $v0, 0x1c -/* 04B4A0 7F016970 5480FFFA */ bnezl $a0, .L7F01695C -/* 04B4A4 7F016974 8C580008 */ lw $t8, 8($v0) -.L7F016978: -/* 04B4A8 7F016978 10800005 */ beqz $a0, .L7F016990 -/* 04B4AC 7F01697C 00000000 */ nop -/* 04B4B0 7F016980 8C590008 */ lw $t9, 8($v0) -/* 04B4B4 7F016984 AD030000 */ sw $v1, ($t0) -/* 04B4B8 7F016988 3C018003 */ lui $at, %hi(selected_stage) -/* 04B4BC 7F01698C AC39A8F4 */ sw $t9, %lo(selected_stage)($at) -.L7F016990: -/* 04B4C0 7F016990 0FC06975 */ jal set_menu_to_mode -/* 04B4C4 7F016994 2404000A */ li $a0, 10 -/* 04B4C8 7F016998 10000018 */ b .L7F0169FC -/* 04B4CC 7F01699C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0169A0: -/* 04B4D0 7F0169A0 2404000A */ li $a0, 10 -.L7F0169A4: -/* 04B4D4 7F0169A4 0FC06975 */ jal set_menu_to_mode -/* 04B4D8 7F0169A8 00002825 */ move $a1, $zero -/* 04B4DC 7F0169AC 10000013 */ b .L7F0169FC -/* 04B4E0 7F0169B0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0169B4: -/* 04B4E4 7F0169B4 8D29A8D8 */ lw $t1, %lo(tab_3_selected)($t1) -/* 04B4E8 7F0169B8 24040007 */ li $a0, 7 -/* 04B4EC 7F0169BC 5120000F */ beql $t1, $zero, .L7F0169FC -/* 04B4F0 7F0169C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 04B4F4 7F0169C4 0FC06975 */ jal set_menu_to_mode -/* 04B4F8 7F0169C8 00002825 */ move $a1, $zero -/* 04B4FC 7F0169CC 3C088003 */ lui $t0, %hi(briefingpage) -/* 04B500 7F0169D0 2508A8F8 */ addiu $t0, %lo(briefingpage) # addiu $t0, $t0, -0x5708 -/* 04B504 7F0169D4 8D0A0000 */ lw $t2, ($t0) -/* 04B508 7F0169D8 2407001C */ li $a3, 28 -/* 04B50C 7F0169DC 3C068003 */ lui $a2, %hi(mission_folder_setup_entries) -/* 04B510 7F0169E0 01470019 */ multu $t2, $a3 -/* 04B514 7F0169E4 24C6ABE4 */ addiu $a2, %lo(mission_folder_setup_entries) # addiu $a2, $a2, -0x541c -/* 04B518 7F0169E8 00005812 */ mflo $t3 -/* 04B51C 7F0169EC 00CB6021 */ addu $t4, $a2, $t3 -/* 04B520 7F0169F0 0FC038F8 */ jal set_cursor_to_stage_solo -/* 04B524 7F0169F4 8D840014 */ lw $a0, 0x14($t4) -.L7F0169F8: -/* 04B528 7F0169F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0169FC: -/* 04B52C 7F0169FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04B530 7F016A00 03E00008 */ jr $ra -/* 04B534 7F016A04 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu0D_missioncomplete(void) { - -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu0D_missioncomplete -/* 04B538 7F016A08 27BDF398 */ addiu $sp, $sp, -0xc68 -/* 04B53C 7F016A0C AFBF003C */ sw $ra, 0x3c($sp) -/* 04B540 7F016A10 AFB10038 */ sw $s1, 0x38($sp) -/* 04B544 7F016A14 AFB00034 */ sw $s0, 0x34($sp) -/* 04B548 7F016A18 00002825 */ move $a1, $zero -/* 04B54C 7F016A1C 00003025 */ move $a2, $zero -/* 04B550 7F016A20 0C0011B4 */ jal set_setfillcolor -/* 04B554 7F016A24 00003825 */ move $a3, $zero -/* 04B558 7F016A28 0C000FBE */ jal insert_generic_fillrect -/* 04B55C 7F016A2C 00402025 */ move $a0, $v0 -/* 04B560 7F016A30 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 04B564 7F016A34 00402025 */ move $a0, $v0 -/* 04B568 7F016A38 0FC2B366 */ jal microcode_constructor -/* 04B56C 7F016A3C 00402025 */ move $a0, $v0 -/* 04B570 7F016A40 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 04B574 7F016A44 00408825 */ move $s1, $v0 -/* 04B578 7F016A48 0FC1AA49 */ jal get_curplay_killcount -/* 04B57C 7F016A4C AFA20098 */ sw $v0, 0x98($sp) -/* 04B580 7F016A50 AFA20094 */ sw $v0, 0x94($sp) -/* 04B584 7F016A54 0FC1A9D0 */ jal get_curplayer_shot_register -/* 04B588 7F016A58 00002025 */ move $a0, $zero -/* 04B58C 7F016A5C AFA20090 */ sw $v0, 0x90($sp) -/* 04B590 7F016A60 0FC1A9D0 */ jal get_curplayer_shot_register -/* 04B594 7F016A64 24040001 */ li $a0, 1 -/* 04B598 7F016A68 AFA2008C */ sw $v0, 0x8c($sp) -/* 04B59C 7F016A6C 0FC1A9D0 */ jal get_curplayer_shot_register -/* 04B5A0 7F016A70 24040002 */ li $a0, 2 -/* 04B5A4 7F016A74 AFA20088 */ sw $v0, 0x88($sp) -/* 04B5A8 7F016A78 0FC1A9D0 */ jal get_curplayer_shot_register -/* 04B5AC 7F016A7C 24040003 */ li $a0, 3 -/* 04B5B0 7F016A80 AFA20084 */ sw $v0, 0x84($sp) -/* 04B5B4 7F016A84 0FC1A9D0 */ jal get_curplayer_shot_register -/* 04B5B8 7F016A88 24040004 */ li $a0, 4 -/* 04B5BC 7F016A8C AFA20080 */ sw $v0, 0x80($sp) -/* 04B5C0 7F016A90 0FC1A9D0 */ jal get_curplayer_shot_register -/* 04B5C4 7F016A94 24040005 */ li $a0, 5 -/* 04B5C8 7F016A98 AFA2007C */ sw $v0, 0x7c($sp) -/* 04B5CC 7F016A9C 0FC1A9D0 */ jal get_curplayer_shot_register -/* 04B5D0 7F016AA0 24040006 */ li $a0, 6 -/* 04B5D4 7F016AA4 8FAE008C */ lw $t6, 0x8c($sp) -/* 04B5D8 7F016AA8 8FAF0088 */ lw $t7, 0x88($sp) -/* 04B5DC 7F016AAC 8FB90084 */ lw $t9, 0x84($sp) -/* 04B5E0 7F016AB0 8FAB0080 */ lw $t3, 0x80($sp) -/* 04B5E4 7F016AB4 8FAD007C */ lw $t5, 0x7c($sp) -/* 04B5E8 7F016AB8 01CFC021 */ addu $t8, $t6, $t7 -/* 04B5EC 7F016ABC 03195021 */ addu $t2, $t8, $t9 -/* 04B5F0 7F016AC0 014B6021 */ addu $t4, $t2, $t3 -/* 04B5F4 7F016AC4 018D3021 */ addu $a2, $t4, $t5 -/* 04B5F8 7F016AC8 00C27021 */ addu $t6, $a2, $v0 -/* 04B5FC 7F016ACC 1CC00002 */ bgtz $a2, .L7F016AD8 -/* 04B600 7F016AD0 AFAE0074 */ sw $t6, 0x74($sp) -/* 04B604 7F016AD4 24060001 */ li $a2, 1 -.L7F016AD8: -/* 04B608 7F016AD8 02202025 */ move $a0, $s1 -/* 04B60C 7F016ADC 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 04B610 7F016AE0 0FC03AAF */ jal print_current_solo_briefing_stage_name -/* 04B614 7F016AE4 AFA60070 */ sw $a2, 0x70($sp) -/* 04B618 7F016AE8 00408825 */ move $s1, $v0 -/* 04B61C 7F016AEC 0FC30776 */ jal get_textptr_for_textID -/* 04B620 7F016AF0 34049C68 */ li $a0, 40040 -/* 04B624 7F016AF4 240F0037 */ li $t7, 55 -/* 04B628 7F016AF8 2418008F */ li $t8, 143 -/* 04B62C 7F016AFC AFA200A4 */ sw $v0, 0xa4($sp) -/* 04B630 7F016B00 AFAF0C64 */ sw $t7, 0xc64($sp) -/* 04B634 7F016B04 0C001107 */ jal get_video2_settings_txtClipW -/* 04B638 7F016B08 AFB80C60 */ sw $t8, 0xc60($sp) -/* 04B63C 7F016B0C 00028400 */ sll $s0, $v0, 0x10 -/* 04B640 7F016B10 0010CC03 */ sra $t9, $s0, 0x10 -/* 04B644 7F016B14 0C00110B */ jal get_video2_settings_txtClipH -/* 04B648 7F016B18 03208025 */ move $s0, $t9 -/* 04B64C 7F016B1C 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge) -/* 04B650 7F016B20 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) -/* 04B654 7F016B24 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3) -/* 04B658 7F016B28 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2) -/* 04B65C 7F016B2C 240C00FF */ li $t4, 255 -/* 04B660 7F016B30 AFAC0018 */ sw $t4, 0x18($sp) -/* 04B664 7F016B34 02202025 */ move $a0, $s1 -/* 04B668 7F016B38 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04B66C 7F016B3C 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04B670 7F016B40 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04B674 7F016B44 AFB0001C */ sw $s0, 0x1c($sp) -/* 04B678 7F016B48 AFA20020 */ sw $v0, 0x20($sp) -/* 04B67C 7F016B4C AFA00024 */ sw $zero, 0x24($sp) -/* 04B680 7F016B50 AFA00028 */ sw $zero, 0x28($sp) -/* 04B684 7F016B54 AFAB0014 */ sw $t3, 0x14($sp) -/* 04B688 7F016B58 0FC025D8 */ jal write_text_at_abs_coord -/* 04B68C 7F016B5C AFAA0010 */ sw $t2, 0x10($sp) -/* 04B690 7F016B60 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04B694 7F016B64 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04B698 7F016B68 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 04B69C 7F016B6C 00408825 */ move $s1, $v0 -/* 04B6A0 7F016B70 AFA0009C */ sw $zero, 0x9c($sp) -/* 04B6A4 7F016B74 AFA000A0 */ sw $zero, 0xa0($sp) -/* 04B6A8 7F016B78 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04B6AC 7F016B7C 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 04B6B0 7F016B80 27A5009C */ addiu $a1, $sp, 0x9c -/* 04B6B4 7F016B84 8FA600A4 */ lw $a2, 0xa4($sp) -/* 04B6B8 7F016B88 AFA00014 */ sw $zero, 0x14($sp) -/* 04B6BC 7F016B8C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04B6C0 7F016B90 AFAD0010 */ sw $t5, 0x10($sp) -/* 04B6C4 7F016B94 0FC30776 */ jal get_textptr_for_textID -/* 04B6C8 7F016B98 34049C69 */ li $a0, 40041 -/* 04B6CC 7F016B9C 240E0037 */ li $t6, 55 -/* 04B6D0 7F016BA0 240F00A7 */ li $t7, 167 -/* 04B6D4 7F016BA4 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04B6D8 7F016BA8 AFAE0C64 */ sw $t6, 0xc64($sp) -/* 04B6DC 7F016BAC 0C001107 */ jal get_video2_settings_txtClipW -/* 04B6E0 7F016BB0 AFAF0C60 */ sw $t7, 0xc60($sp) -/* 04B6E4 7F016BB4 00028400 */ sll $s0, $v0, 0x10 -/* 04B6E8 7F016BB8 0010C403 */ sra $t8, $s0, 0x10 -/* 04B6EC 7F016BBC 0C00110B */ jal get_video2_settings_txtClipH -/* 04B6F0 7F016BC0 03008025 */ move $s0, $t8 -/* 04B6F4 7F016BC4 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 04B6F8 7F016BC8 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 04B6FC 7F016BCC 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 04B700 7F016BD0 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 04B704 7F016BD4 240B00FF */ li $t3, 255 -/* 04B708 7F016BD8 AFAB0018 */ sw $t3, 0x18($sp) -/* 04B70C 7F016BDC 02202025 */ move $a0, $s1 -/* 04B710 7F016BE0 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04B714 7F016BE4 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04B718 7F016BE8 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04B71C 7F016BEC AFB0001C */ sw $s0, 0x1c($sp) -/* 04B720 7F016BF0 AFA20020 */ sw $v0, 0x20($sp) -/* 04B724 7F016BF4 AFA00024 */ sw $zero, 0x24($sp) -/* 04B728 7F016BF8 AFA00028 */ sw $zero, 0x28($sp) -/* 04B72C 7F016BFC AFAA0014 */ sw $t2, 0x14($sp) -/* 04B730 7F016C00 0FC025D8 */ jal write_text_at_abs_coord -/* 04B734 7F016C04 AFB90010 */ sw $t9, 0x10($sp) -/* 04B738 7F016C08 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 04B73C 7F016C0C 00408825 */ move $s1, $v0 -/* 04B740 7F016C10 0FC07771 */ jal get_save_folder_ptr -/* 04B744 7F016C14 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 04B748 7F016C18 3C0C8003 */ lui $t4, %hi(briefingpage) -/* 04B74C 7F016C1C 8D8CA8F8 */ lw $t4, %lo(briefingpage)($t4) -/* 04B750 7F016C20 3C108003 */ lui $s0, %hi(mission_folder_setup_entries) -/* 04B754 7F016C24 2610ABE4 */ addiu $s0, %lo(mission_folder_setup_entries) # addiu $s0, $s0, -0x541c -/* 04B758 7F016C28 000C68C0 */ sll $t5, $t4, 3 -/* 04B75C 7F016C2C 01AC6823 */ subu $t5, $t5, $t4 -/* 04B760 7F016C30 000D6880 */ sll $t5, $t5, 2 -/* 04B764 7F016C34 020D7021 */ addu $t6, $s0, $t5 -/* 04B768 7F016C38 3C068003 */ lui $a2, %hi(selected_difficulty) -/* 04B76C 7F016C3C 8CC6A8FC */ lw $a2, %lo(selected_difficulty)($a2) -/* 04B770 7F016C40 8DC50014 */ lw $a1, 0x14($t6) -/* 04B774 7F016C44 0FC07664 */ jal get_eeprom_stage_complete_time_for_difficulty -/* 04B778 7F016C48 00402025 */ move $a0, $v0 -/* 04B77C 7F016C4C 10400004 */ beqz $v0, .L7F016C60 -/* 04B780 7F016C50 00404825 */ move $t1, $v0 -/* 04B784 7F016C54 284103FF */ slti $at, $v0, 0x3ff -/* 04B788 7F016C58 14200002 */ bnez $at, .L7F016C64 -/* 04B78C 7F016C5C 00000000 */ nop -.L7F016C60: -/* 04B790 7F016C60 2409FFFF */ li $t1, -1 -.L7F016C64: -/* 04B794 7F016C64 3C028003 */ lui $v0, %hi(selected_difficulty) -/* 04B798 7F016C68 8C42A8FC */ lw $v0, %lo(selected_difficulty)($v0) -/* 04B79C 7F016C6C 2408003C */ li $t0, 60 -/* 04B7A0 7F016C70 3C0F8003 */ lui $t7, %hi(briefingpage) -/* 04B7A4 7F016C74 28410003 */ slti $at, $v0, 3 -/* 04B7A8 7F016C78 14200003 */ bnez $at, .L7F016C88 -/* 04B7AC 7F016C7C 3C0E8003 */ lui $t6, %hi(solo_target_time_array) -/* 04B7B0 7F016C80 10000002 */ b .L7F016C8C -/* 04B7B4 7F016C84 24030002 */ li $v1, 2 -.L7F016C88: -/* 04B7B8 7F016C88 00401825 */ move $v1, $v0 -.L7F016C8C: -/* 04B7BC 7F016C8C 8DEFA8F8 */ lw $t7, %lo(briefingpage)($t7) -/* 04B7C0 7F016C90 00036040 */ sll $t4, $v1, 1 -/* 04B7C4 7F016C94 3C058005 */ lui $a1, %hi(a02d02d) -/* 04B7C8 7F016C98 000FC0C0 */ sll $t8, $t7, 3 -/* 04B7CC 7F016C9C 030FC023 */ subu $t8, $t8, $t7 -/* 04B7D0 7F016CA0 8FAF0098 */ lw $t7, 0x98($sp) -/* 04B7D4 7F016CA4 0018C080 */ sll $t8, $t8, 2 -/* 04B7D8 7F016CA8 0218C821 */ addu $t9, $s0, $t8 -/* 04B7DC 7F016CAC 01E8001A */ div $zero, $t7, $t0 -/* 04B7E0 7F016CB0 00001012 */ mflo $v0 -/* 04B7E4 7F016CB4 8F2A0014 */ lw $t2, 0x14($t9) -/* 04B7E8 7F016CB8 A3A000A8 */ sb $zero, 0xa8($sp) -/* 04B7EC 7F016CBC 0048001A */ div $zero, $v0, $t0 -/* 04B7F0 7F016CC0 000A5880 */ sll $t3, $t2, 2 -/* 04B7F4 7F016CC4 016A5823 */ subu $t3, $t3, $t2 -/* 04B7F8 7F016CC8 000B5840 */ sll $t3, $t3, 1 -/* 04B7FC 7F016CCC 016C6821 */ addu $t5, $t3, $t4 -/* 04B800 7F016CD0 01CD7021 */ addu $t6, $t6, $t5 -/* 04B804 7F016CD4 85CEB564 */ lh $t6, %lo(solo_target_time_array)($t6) -/* 04B808 7F016CD8 00003810 */ mfhi $a3 -/* 04B80C 7F016CDC 00003012 */ mflo $a2 -/* 04B810 7F016CE0 AFA90064 */ sw $t1, 0x64($sp) -/* 04B814 7F016CE4 24A5180C */ addiu $a1, %lo(a02d02d) # addiu $a1, $a1, 0x180c -/* 04B818 7F016CE8 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04B81C 7F016CEC AFAE0060 */ sw $t6, 0x60($sp) -/* 04B820 7F016CF0 15000002 */ bnez $t0, .L7F016CFC -/* 04B824 7F016CF4 00000000 */ nop -/* 04B828 7F016CF8 0007000D */ break 7 -.L7F016CFC: -/* 04B82C 7F016CFC 2401FFFF */ li $at, -1 -/* 04B830 7F016D00 15010004 */ bne $t0, $at, .L7F016D14 -/* 04B834 7F016D04 3C018000 */ lui $at, 0x8000 -/* 04B838 7F016D08 15E10002 */ bne $t7, $at, .L7F016D14 -/* 04B83C 7F016D0C 00000000 */ nop -/* 04B840 7F016D10 0006000D */ break 6 -.L7F016D14: -/* 04B844 7F016D14 15000002 */ bnez $t0, .L7F016D20 -/* 04B848 7F016D18 00000000 */ nop -/* 04B84C 7F016D1C 0007000D */ break 7 -.L7F016D20: -/* 04B850 7F016D20 2401FFFF */ li $at, -1 -/* 04B854 7F016D24 15010004 */ bne $t0, $at, .L7F016D38 -/* 04B858 7F016D28 3C018000 */ lui $at, 0x8000 -/* 04B85C 7F016D2C 14410002 */ bne $v0, $at, .L7F016D38 -/* 04B860 7F016D30 00000000 */ nop -/* 04B864 7F016D34 0006000D */ break 6 -.L7F016D38: -/* 04B868 7F016D38 0C002B25 */ jal sprintf -/* 04B86C 7F016D3C 00000000 */ nop -/* 04B870 7F016D40 24180082 */ li $t8, 130 -/* 04B874 7F016D44 241900A7 */ li $t9, 167 -/* 04B878 7F016D48 AFB80C64 */ sw $t8, 0xc64($sp) -/* 04B87C 7F016D4C 0C001107 */ jal get_video2_settings_txtClipW -/* 04B880 7F016D50 AFB90C60 */ sw $t9, 0xc60($sp) -/* 04B884 7F016D54 00028400 */ sll $s0, $v0, 0x10 -/* 04B888 7F016D58 00105403 */ sra $t2, $s0, 0x10 -/* 04B88C 7F016D5C 0C00110B */ jal get_video2_settings_txtClipH -/* 04B890 7F016D60 01408025 */ move $s0, $t2 -/* 04B894 7F016D64 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge) -/* 04B898 7F016D68 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) -/* 04B89C 7F016D6C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 04B8A0 7F016D70 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3) -/* 04B8A4 7F016D74 240D00FF */ li $t5, 255 -/* 04B8A8 7F016D78 AFAD0018 */ sw $t5, 0x18($sp) -/* 04B8AC 7F016D7C 02202025 */ move $a0, $s1 -/* 04B8B0 7F016D80 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04B8B4 7F016D84 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04B8B8 7F016D88 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04B8BC 7F016D8C AFB0001C */ sw $s0, 0x1c($sp) -/* 04B8C0 7F016D90 AFA20020 */ sw $v0, 0x20($sp) -/* 04B8C4 7F016D94 AFA00024 */ sw $zero, 0x24($sp) -/* 04B8C8 7F016D98 AFA00028 */ sw $zero, 0x28($sp) -/* 04B8CC 7F016D9C AFAC0014 */ sw $t4, 0x14($sp) -/* 04B8D0 7F016DA0 0FC025D8 */ jal write_text_at_abs_coord -/* 04B8D4 7F016DA4 AFAB0010 */ sw $t3, 0x10($sp) -/* 04B8D8 7F016DA8 3C0E8007 */ lui $t6, %hi(newcheatunlocked) -/* 04B8DC 7F016DAC 8DCE9790 */ lw $t6, %lo(newcheatunlocked)($t6) -/* 04B8E0 7F016DB0 00408825 */ move $s1, $v0 -/* 04B8E4 7F016DB4 51C00023 */ beql $t6, $zero, .L7F016E44 -/* 04B8E8 7F016DB8 8FAB0060 */ lw $t3, 0x60($sp) -/* 04B8EC 7F016DBC A3A000A8 */ sb $zero, 0xa8($sp) -/* 04B8F0 7F016DC0 0FC30776 */ jal get_textptr_for_textID -/* 04B8F4 7F016DC4 34049D13 */ li $a0, 40211 -/* 04B8F8 7F016DC8 3C058005 */ lui $a1, %hi(aS) -/* 04B8FC 7F016DCC 24A51818 */ addiu $a1, %lo(aS) # addiu $a1, $a1, 0x1818 -/* 04B900 7F016DD0 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04B904 7F016DD4 0C002B25 */ jal sprintf -/* 04B908 7F016DD8 00403025 */ move $a2, $v0 -/* 04B90C 7F016DDC 0C001107 */ jal get_video2_settings_txtClipW -/* 04B910 7F016DE0 00000000 */ nop -/* 04B914 7F016DE4 00028400 */ sll $s0, $v0, 0x10 -/* 04B918 7F016DE8 00107C03 */ sra $t7, $s0, 0x10 -/* 04B91C 7F016DEC 0C00110B */ jal get_video2_settings_txtClipH -/* 04B920 7F016DF0 01E08025 */ move $s0, $t7 -/* 04B924 7F016DF4 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 04B928 7F016DF8 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 04B92C 7F016DFC 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 04B930 7F016E00 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 04B934 7F016E04 3C0AA000 */ lui $t2, (0xA00000FF >> 16) # lui $t2, 0xa000 -/* 04B938 7F016E08 354A00FF */ ori $t2, (0xA00000FF & 0xFFFF) # ori $t2, $t2, 0xff -/* 04B93C 7F016E0C AFAA0018 */ sw $t2, 0x18($sp) -/* 04B940 7F016E10 02202025 */ move $a0, $s1 -/* 04B944 7F016E14 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04B948 7F016E18 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04B94C 7F016E1C 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04B950 7F016E20 AFB0001C */ sw $s0, 0x1c($sp) -/* 04B954 7F016E24 AFA20020 */ sw $v0, 0x20($sp) -/* 04B958 7F016E28 AFA00024 */ sw $zero, 0x24($sp) -/* 04B95C 7F016E2C AFA00028 */ sw $zero, 0x28($sp) -/* 04B960 7F016E30 AFB90014 */ sw $t9, 0x14($sp) -/* 04B964 7F016E34 0FC025D8 */ jal write_text_at_abs_coord -/* 04B968 7F016E38 AFB80010 */ sw $t8, 0x10($sp) -/* 04B96C 7F016E3C 00408825 */ move $s1, $v0 -/* 04B970 7F016E40 8FAB0060 */ lw $t3, 0x60($sp) -.L7F016E44: -/* 04B974 7F016E44 19600091 */ blez $t3, .L7F01708C -/* 04B978 7F016E48 3C0C8003 */ lui $t4, %hi(selected_difficulty) -/* 04B97C 7F016E4C 8D8CA8FC */ lw $t4, %lo(selected_difficulty)($t4) -/* 04B980 7F016E50 24010003 */ li $at, 3 -/* 04B984 7F016E54 5181008E */ beql $t4, $at, .L7F017090 -/* 04B988 7F016E58 8FA20064 */ lw $v0, 0x64($sp) -/* 04B98C 7F016E5C 0FC30776 */ jal get_textptr_for_textID -/* 04B990 7F016E60 34049D12 */ li $a0, 40210 -/* 04B994 7F016E64 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 04B998 7F016E68 240D0037 */ li $t5, 55 -/* 04B99C 7F016E6C AFA200A4 */ sw $v0, 0xa4($sp) -/* 04B9A0 7F016E70 25CF00A9 */ addiu $t7, $t6, 0xa9 -/* 04B9A4 7F016E74 AFAD0C64 */ sw $t5, 0xc64($sp) -/* 04B9A8 7F016E78 0C001107 */ jal get_video2_settings_txtClipW -/* 04B9AC 7F016E7C AFAF0C60 */ sw $t7, 0xc60($sp) -/* 04B9B0 7F016E80 00028400 */ sll $s0, $v0, 0x10 -/* 04B9B4 7F016E84 0010C403 */ sra $t8, $s0, 0x10 -/* 04B9B8 7F016E88 0C00110B */ jal get_video2_settings_txtClipH -/* 04B9BC 7F016E8C 03008025 */ move $s0, $t8 -/* 04B9C0 7F016E90 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 04B9C4 7F016E94 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 04B9C8 7F016E98 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 04B9CC 7F016E9C 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 04B9D0 7F016EA0 240B00FF */ li $t3, 255 -/* 04B9D4 7F016EA4 AFAB0018 */ sw $t3, 0x18($sp) -/* 04B9D8 7F016EA8 02202025 */ move $a0, $s1 -/* 04B9DC 7F016EAC 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04B9E0 7F016EB0 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04B9E4 7F016EB4 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04B9E8 7F016EB8 AFB0001C */ sw $s0, 0x1c($sp) -/* 04B9EC 7F016EBC AFA20020 */ sw $v0, 0x20($sp) -/* 04B9F0 7F016EC0 AFA00024 */ sw $zero, 0x24($sp) -/* 04B9F4 7F016EC4 AFA00028 */ sw $zero, 0x28($sp) -/* 04B9F8 7F016EC8 AFAA0014 */ sw $t2, 0x14($sp) -/* 04B9FC 7F016ECC 0FC025D8 */ jal write_text_at_abs_coord -/* 04BA00 7F016ED0 AFB90010 */ sw $t9, 0x10($sp) -/* 04BA04 7F016ED4 8FAC0060 */ lw $t4, 0x60($sp) -/* 04BA08 7F016ED8 2403003C */ li $v1, 60 -/* 04BA0C 7F016EDC 3C058005 */ lui $a1, %hi(a02d02d_0) -/* 04BA10 7F016EE0 0183001A */ div $zero, $t4, $v1 -/* 04BA14 7F016EE4 00003810 */ mfhi $a3 -/* 04BA18 7F016EE8 00003012 */ mflo $a2 -/* 04BA1C 7F016EEC 00408825 */ move $s1, $v0 -/* 04BA20 7F016EF0 A3A000A8 */ sb $zero, 0xa8($sp) -/* 04BA24 7F016EF4 24A51824 */ addiu $a1, %lo(a02d02d_0) # addiu $a1, $a1, 0x1824 -/* 04BA28 7F016EF8 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04BA2C 7F016EFC 14600002 */ bnez $v1, .L7F016F08 -/* 04BA30 7F016F00 00000000 */ nop -/* 04BA34 7F016F04 0007000D */ break 7 -.L7F016F08: -/* 04BA38 7F016F08 2401FFFF */ li $at, -1 -/* 04BA3C 7F016F0C 14610004 */ bne $v1, $at, .L7F016F20 -/* 04BA40 7F016F10 3C018000 */ lui $at, 0x8000 -/* 04BA44 7F016F14 15810002 */ bne $t4, $at, .L7F016F20 -/* 04BA48 7F016F18 00000000 */ nop -/* 04BA4C 7F016F1C 0006000D */ break 6 -.L7F016F20: -/* 04BA50 7F016F20 0C002B25 */ jal sprintf -/* 04BA54 7F016F24 00000000 */ nop -/* 04BA58 7F016F28 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 04BA5C 7F016F2C 240D0082 */ li $t5, 130 -/* 04BA60 7F016F30 AFAD0C64 */ sw $t5, 0xc64($sp) -/* 04BA64 7F016F34 25CF00A9 */ addiu $t7, $t6, 0xa9 -/* 04BA68 7F016F38 0C001107 */ jal get_video2_settings_txtClipW -/* 04BA6C 7F016F3C AFAF0C60 */ sw $t7, 0xc60($sp) -/* 04BA70 7F016F40 00028400 */ sll $s0, $v0, 0x10 -/* 04BA74 7F016F44 0010C403 */ sra $t8, $s0, 0x10 -/* 04BA78 7F016F48 0C00110B */ jal get_video2_settings_txtClipH -/* 04BA7C 7F016F4C 03008025 */ move $s0, $t8 -/* 04BA80 7F016F50 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 04BA84 7F016F54 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 04BA88 7F016F58 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 04BA8C 7F016F5C 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 04BA90 7F016F60 240B00FF */ li $t3, 255 -/* 04BA94 7F016F64 AFAB0018 */ sw $t3, 0x18($sp) -/* 04BA98 7F016F68 02202025 */ move $a0, $s1 -/* 04BA9C 7F016F6C 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BAA0 7F016F70 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BAA4 7F016F74 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04BAA8 7F016F78 AFB0001C */ sw $s0, 0x1c($sp) -/* 04BAAC 7F016F7C AFA20020 */ sw $v0, 0x20($sp) -/* 04BAB0 7F016F80 AFA00024 */ sw $zero, 0x24($sp) -/* 04BAB4 7F016F84 AFA00028 */ sw $zero, 0x28($sp) -/* 04BAB8 7F016F88 AFAA0014 */ sw $t2, 0x14($sp) -/* 04BABC 7F016F8C 0FC025D8 */ jal write_text_at_abs_coord -/* 04BAC0 7F016F90 AFB90010 */ sw $t9, 0x10($sp) -/* 04BAC4 7F016F94 8FA30064 */ lw $v1, 0x64($sp) -/* 04BAC8 7F016F98 00408825 */ move $s1, $v0 -/* 04BACC 7F016F9C 04600085 */ bltz $v1, .L7F0171B4 -/* 04BAD0 7F016FA0 286103FF */ slti $at, $v1, 0x3ff -/* 04BAD4 7F016FA4 10200083 */ beqz $at, .L7F0171B4 -/* 04BAD8 7F016FA8 00000000 */ nop -/* 04BADC 7F016FAC 0460001A */ bltz $v1, .L7F017018 -/* 04BAE0 7F016FB0 A3A000A8 */ sb $zero, 0xa8($sp) -/* 04BAE4 7F016FB4 0FC30776 */ jal get_textptr_for_textID -/* 04BAE8 7F016FB8 34049D11 */ li $a0, 40209 -/* 04BAEC 7F016FBC 8FA30064 */ lw $v1, 0x64($sp) -/* 04BAF0 7F016FC0 2408003C */ li $t0, 60 -/* 04BAF4 7F016FC4 3C058005 */ lui $a1, %hi(aS02d02d) -/* 04BAF8 7F016FC8 0068001A */ div $zero, $v1, $t0 -/* 04BAFC 7F016FCC 00006010 */ mfhi $t4 -/* 04BB00 7F016FD0 00003812 */ mflo $a3 -/* 04BB04 7F016FD4 AFAC0010 */ sw $t4, 0x10($sp) -/* 04BB08 7F016FD8 24A51830 */ addiu $a1, %lo(aS02d02d) # addiu $a1, $a1, 0x1830 -/* 04BB0C 7F016FDC 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04BB10 7F016FE0 00403025 */ move $a2, $v0 -/* 04BB14 7F016FE4 15000002 */ bnez $t0, .L7F016FF0 -/* 04BB18 7F016FE8 00000000 */ nop -/* 04BB1C 7F016FEC 0007000D */ break 7 -.L7F016FF0: -/* 04BB20 7F016FF0 2401FFFF */ li $at, -1 -/* 04BB24 7F016FF4 15010004 */ bne $t0, $at, .L7F017008 -/* 04BB28 7F016FF8 3C018000 */ lui $at, 0x8000 -/* 04BB2C 7F016FFC 14610002 */ bne $v1, $at, .L7F017008 -/* 04BB30 7F017000 00000000 */ nop -/* 04BB34 7F017004 0006000D */ break 6 -.L7F017008: -/* 04BB38 7F017008 0C002B25 */ jal sprintf -/* 04BB3C 7F01700C 00000000 */ nop -/* 04BB40 7F017010 10000005 */ b .L7F017028 -/* 04BB44 7F017014 00000000 */ nop -.L7F017018: -/* 04BB48 7F017018 3C058005 */ lui $a1, %hi(D_80051848) -/* 04BB4C 7F01701C 24A51848 */ addiu $a1, %lo(D_80051848) # addiu $a1, $a1, 0x1848 -/* 04BB50 7F017020 0C002B25 */ jal sprintf -/* 04BB54 7F017024 27A400A8 */ addiu $a0, $sp, 0xa8 -.L7F017028: -/* 04BB58 7F017028 0C001107 */ jal get_video2_settings_txtClipW -/* 04BB5C 7F01702C 00000000 */ nop -/* 04BB60 7F017030 00028400 */ sll $s0, $v0, 0x10 -/* 04BB64 7F017034 00106C03 */ sra $t5, $s0, 0x10 -/* 04BB68 7F017038 0C00110B */ jal get_video2_settings_txtClipH -/* 04BB6C 7F01703C 01A08025 */ move $s0, $t5 -/* 04BB70 7F017040 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge) -/* 04BB74 7F017044 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge) -/* 04BB78 7F017048 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7) -/* 04BB7C 7F01704C 8DCE0EB8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6) -/* 04BB80 7F017050 241800FF */ li $t8, 255 -/* 04BB84 7F017054 AFB80018 */ sw $t8, 0x18($sp) -/* 04BB88 7F017058 02202025 */ move $a0, $s1 -/* 04BB8C 7F01705C 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BB90 7F017060 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BB94 7F017064 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04BB98 7F017068 AFB0001C */ sw $s0, 0x1c($sp) -/* 04BB9C 7F01706C AFA20020 */ sw $v0, 0x20($sp) -/* 04BBA0 7F017070 AFA00024 */ sw $zero, 0x24($sp) -/* 04BBA4 7F017074 AFA00028 */ sw $zero, 0x28($sp) -/* 04BBA8 7F017078 AFAF0014 */ sw $t7, 0x14($sp) -/* 04BBAC 7F01707C 0FC025D8 */ jal write_text_at_abs_coord -/* 04BBB0 7F017080 AFAE0010 */ sw $t6, 0x10($sp) -/* 04BBB4 7F017084 1000004B */ b .L7F0171B4 -/* 04BBB8 7F017088 00408825 */ move $s1, $v0 -.L7F01708C: -/* 04BBBC 7F01708C 8FA20064 */ lw $v0, 0x64($sp) -.L7F017090: -/* 04BBC0 7F017090 04400048 */ bltz $v0, .L7F0171B4 -/* 04BBC4 7F017094 284103FF */ slti $at, $v0, 0x3ff -/* 04BBC8 7F017098 10200046 */ beqz $at, .L7F0171B4 -/* 04BBCC 7F01709C 00000000 */ nop -/* 04BBD0 7F0170A0 0FC30776 */ jal get_textptr_for_textID -/* 04BBD4 7F0170A4 34049D11 */ li $a0, 40209 -/* 04BBD8 7F0170A8 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 04BBDC 7F0170AC 24190037 */ li $t9, 55 -/* 04BBE0 7F0170B0 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04BBE4 7F0170B4 254B00A9 */ addiu $t3, $t2, 0xa9 -/* 04BBE8 7F0170B8 AFB90C64 */ sw $t9, 0xc64($sp) -/* 04BBEC 7F0170BC 0C001107 */ jal get_video2_settings_txtClipW -/* 04BBF0 7F0170C0 AFAB0C60 */ sw $t3, 0xc60($sp) -/* 04BBF4 7F0170C4 00028400 */ sll $s0, $v0, 0x10 -/* 04BBF8 7F0170C8 00106403 */ sra $t4, $s0, 0x10 -/* 04BBFC 7F0170CC 0C00110B */ jal get_video2_settings_txtClipH -/* 04BC00 7F0170D0 01808025 */ move $s0, $t4 -/* 04BC04 7F0170D4 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 04BC08 7F0170D8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 04BC0C 7F0170DC 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 04BC10 7F0170E0 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 04BC14 7F0170E4 240F00FF */ li $t7, 255 -/* 04BC18 7F0170E8 AFAF0018 */ sw $t7, 0x18($sp) -/* 04BC1C 7F0170EC 02202025 */ move $a0, $s1 -/* 04BC20 7F0170F0 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BC24 7F0170F4 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BC28 7F0170F8 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04BC2C 7F0170FC AFB0001C */ sw $s0, 0x1c($sp) -/* 04BC30 7F017100 AFA20020 */ sw $v0, 0x20($sp) -/* 04BC34 7F017104 AFA00024 */ sw $zero, 0x24($sp) -/* 04BC38 7F017108 AFA00028 */ sw $zero, 0x28($sp) -/* 04BC3C 7F01710C AFAE0014 */ sw $t6, 0x14($sp) -/* 04BC40 7F017110 0FC025D8 */ jal write_text_at_abs_coord -/* 04BC44 7F017114 AFAD0010 */ sw $t5, 0x10($sp) -/* 04BC48 7F017118 8FB80064 */ lw $t8, 0x64($sp) -/* 04BC4C 7F01711C 2401003C */ li $at, 60 -/* 04BC50 7F017120 3C058005 */ lui $a1, %hi(a02d02d_1) -/* 04BC54 7F017124 0301001A */ div $zero, $t8, $at -/* 04BC58 7F017128 00003810 */ mfhi $a3 -/* 04BC5C 7F01712C 00003012 */ mflo $a2 -/* 04BC60 7F017130 00408825 */ move $s1, $v0 -/* 04BC64 7F017134 A3A000A8 */ sb $zero, 0xa8($sp) -/* 04BC68 7F017138 24A5184C */ addiu $a1, %lo(a02d02d_1) # addiu $a1, $a1, 0x184c -/* 04BC6C 7F01713C 0C002B25 */ jal sprintf -/* 04BC70 7F017140 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04BC74 7F017144 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 04BC78 7F017148 24190082 */ li $t9, 130 -/* 04BC7C 7F01714C AFB90C64 */ sw $t9, 0xc64($sp) -/* 04BC80 7F017150 254B00A9 */ addiu $t3, $t2, 0xa9 -/* 04BC84 7F017154 0C001107 */ jal get_video2_settings_txtClipW -/* 04BC88 7F017158 AFAB0C60 */ sw $t3, 0xc60($sp) -/* 04BC8C 7F01715C 00028400 */ sll $s0, $v0, 0x10 -/* 04BC90 7F017160 00106403 */ sra $t4, $s0, 0x10 -/* 04BC94 7F017164 0C00110B */ jal get_video2_settings_txtClipH -/* 04BC98 7F017168 01808025 */ move $s0, $t4 -/* 04BC9C 7F01716C 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 04BCA0 7F017170 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 04BCA4 7F017174 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 04BCA8 7F017178 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 04BCAC 7F01717C 240F00FF */ li $t7, 255 -/* 04BCB0 7F017180 AFAF0018 */ sw $t7, 0x18($sp) -/* 04BCB4 7F017184 02202025 */ move $a0, $s1 -/* 04BCB8 7F017188 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BCBC 7F01718C 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BCC0 7F017190 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04BCC4 7F017194 AFB0001C */ sw $s0, 0x1c($sp) -/* 04BCC8 7F017198 AFA20020 */ sw $v0, 0x20($sp) -/* 04BCCC 7F01719C AFA00024 */ sw $zero, 0x24($sp) -/* 04BCD0 7F0171A0 AFA00028 */ sw $zero, 0x28($sp) -/* 04BCD4 7F0171A4 AFAE0014 */ sw $t6, 0x14($sp) -/* 04BCD8 7F0171A8 0FC025D8 */ jal write_text_at_abs_coord -/* 04BCDC 7F0171AC AFAD0010 */ sw $t5, 0x10($sp) -/* 04BCE0 7F0171B0 00408825 */ move $s1, $v0 -.L7F0171B4: -/* 04BCE4 7F0171B4 0FC30776 */ jal get_textptr_for_textID -/* 04BCE8 7F0171B8 34049C6A */ li $a0, 40042 -/* 04BCEC 7F0171BC 24180037 */ li $t8, 55 -/* 04BCF0 7F0171C0 241900CC */ li $t9, 204 -/* 04BCF4 7F0171C4 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04BCF8 7F0171C8 AFB80C64 */ sw $t8, 0xc64($sp) -/* 04BCFC 7F0171CC 0C001107 */ jal get_video2_settings_txtClipW -/* 04BD00 7F0171D0 AFB90C60 */ sw $t9, 0xc60($sp) -/* 04BD04 7F0171D4 00028400 */ sll $s0, $v0, 0x10 -/* 04BD08 7F0171D8 00105403 */ sra $t2, $s0, 0x10 -/* 04BD0C 7F0171DC 0C00110B */ jal get_video2_settings_txtClipH -/* 04BD10 7F0171E0 01408025 */ move $s0, $t2 -/* 04BD14 7F0171E4 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge) -/* 04BD18 7F0171E8 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) -/* 04BD1C 7F0171EC 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 04BD20 7F0171F0 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3) -/* 04BD24 7F0171F4 240D00FF */ li $t5, 255 -/* 04BD28 7F0171F8 AFAD0018 */ sw $t5, 0x18($sp) -/* 04BD2C 7F0171FC 02202025 */ move $a0, $s1 -/* 04BD30 7F017200 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BD34 7F017204 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BD38 7F017208 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04BD3C 7F01720C AFB0001C */ sw $s0, 0x1c($sp) -/* 04BD40 7F017210 AFA20020 */ sw $v0, 0x20($sp) -/* 04BD44 7F017214 AFA00024 */ sw $zero, 0x24($sp) -/* 04BD48 7F017218 AFA00028 */ sw $zero, 0x28($sp) -/* 04BD4C 7F01721C AFAC0014 */ sw $t4, 0x14($sp) -/* 04BD50 7F017220 0FC025D8 */ jal write_text_at_abs_coord -/* 04BD54 7F017224 AFAB0010 */ sw $t3, 0x10($sp) -/* 04BD58 7F017228 8FA30090 */ lw $v1, 0x90($sp) -/* 04BD5C 7F01722C 00408825 */ move $s1, $v0 -/* 04BD60 7F017230 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04BD64 7F017234 5860000C */ blezl $v1, .L7F017268 -/* 04BD68 7F017238 44800000 */ mtc1 $zero, $f0 -/* 04BD6C 7F01723C 8FAE0074 */ lw $t6, 0x74($sp) -/* 04BD70 7F017240 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04BD74 7F017244 44814000 */ mtc1 $at, $f8 -/* 04BD78 7F017248 448E2000 */ mtc1 $t6, $f4 -/* 04BD7C 7F01724C 44838000 */ mtc1 $v1, $f16 -/* 04BD80 7F017250 468021A0 */ cvt.s.w $f6, $f4 -/* 04BD84 7F017254 468084A0 */ cvt.s.w $f18, $f16 -/* 04BD88 7F017258 46083282 */ mul.s $f10, $f6, $f8 -/* 04BD8C 7F01725C 10000003 */ b .L7F01726C -/* 04BD90 7F017260 46125003 */ div.s $f0, $f10, $f18 -/* 04BD94 7F017264 44800000 */ mtc1 $zero, $f0 -.L7F017268: -/* 04BD98 7F017268 00000000 */ nop -.L7F01726C: -/* 04BD9C 7F01726C 46000121 */ cvt.d.s $f4, $f0 -/* 04BDA0 7F017270 3C058005 */ lui $a1, %hi(a_1f) -/* 04BDA4 7F017274 44072000 */ mfc1 $a3, $f4 -/* 04BDA8 7F017278 44062800 */ mfc1 $a2, $f5 -/* 04BDAC 7F01727C 0C002B25 */ jal sprintf -/* 04BDB0 7F017280 24A51858 */ addiu $a1, %lo(a_1f) # addiu $a1, $a1, 0x1858 -/* 04BDB4 7F017284 240F0082 */ li $t7, 130 -/* 04BDB8 7F017288 241800CC */ li $t8, 204 -/* 04BDBC 7F01728C AFAF0C64 */ sw $t7, 0xc64($sp) -/* 04BDC0 7F017290 0C001107 */ jal get_video2_settings_txtClipW -/* 04BDC4 7F017294 AFB80C60 */ sw $t8, 0xc60($sp) -/* 04BDC8 7F017298 00028400 */ sll $s0, $v0, 0x10 -/* 04BDCC 7F01729C 0010CC03 */ sra $t9, $s0, 0x10 -/* 04BDD0 7F0172A0 0C00110B */ jal get_video2_settings_txtClipH -/* 04BDD4 7F0172A4 03208025 */ move $s0, $t9 -/* 04BDD8 7F0172A8 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableLarge) -/* 04BDDC 7F0172AC 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) -/* 04BDE0 7F0172B0 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3) -/* 04BDE4 7F0172B4 8D4A0EB8 */ lw $t2, %lo(ptrSecondFontTableLarge)($t2) -/* 04BDE8 7F0172B8 240C00FF */ li $t4, 255 -/* 04BDEC 7F0172BC AFAC0018 */ sw $t4, 0x18($sp) -/* 04BDF0 7F0172C0 02202025 */ move $a0, $s1 -/* 04BDF4 7F0172C4 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BDF8 7F0172C8 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BDFC 7F0172CC 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04BE00 7F0172D0 AFB0001C */ sw $s0, 0x1c($sp) -/* 04BE04 7F0172D4 AFA20020 */ sw $v0, 0x20($sp) -/* 04BE08 7F0172D8 AFA00024 */ sw $zero, 0x24($sp) -/* 04BE0C 7F0172DC AFA00028 */ sw $zero, 0x28($sp) -/* 04BE10 7F0172E0 AFAB0014 */ sw $t3, 0x14($sp) -/* 04BE14 7F0172E4 0FC025D8 */ jal write_text_at_abs_coord -/* 04BE18 7F0172E8 AFAA0010 */ sw $t2, 0x10($sp) -/* 04BE1C 7F0172EC 00408825 */ move $s1, $v0 -/* 04BE20 7F0172F0 0FC30776 */ jal get_textptr_for_textID -/* 04BE24 7F0172F4 34049C6B */ li $a0, 40043 -/* 04BE28 7F0172F8 240D0037 */ li $t5, 55 -/* 04BE2C 7F0172FC 240E00DC */ li $t6, 220 -/* 04BE30 7F017300 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04BE34 7F017304 AFAD0C64 */ sw $t5, 0xc64($sp) -/* 04BE38 7F017308 0C001107 */ jal get_video2_settings_txtClipW -/* 04BE3C 7F01730C AFAE0C60 */ sw $t6, 0xc60($sp) -/* 04BE40 7F017310 00028400 */ sll $s0, $v0, 0x10 -/* 04BE44 7F017314 00107C03 */ sra $t7, $s0, 0x10 -/* 04BE48 7F017318 0C00110B */ jal get_video2_settings_txtClipH -/* 04BE4C 7F01731C 01E08025 */ move $s0, $t7 -/* 04BE50 7F017320 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 04BE54 7F017324 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 04BE58 7F017328 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 04BE5C 7F01732C 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 04BE60 7F017330 240A00FF */ li $t2, 255 -/* 04BE64 7F017334 AFAA0018 */ sw $t2, 0x18($sp) -/* 04BE68 7F017338 02202025 */ move $a0, $s1 -/* 04BE6C 7F01733C 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BE70 7F017340 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BE74 7F017344 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04BE78 7F017348 AFB0001C */ sw $s0, 0x1c($sp) -/* 04BE7C 7F01734C AFA20020 */ sw $v0, 0x20($sp) -/* 04BE80 7F017350 AFA00024 */ sw $zero, 0x24($sp) -/* 04BE84 7F017354 AFA00028 */ sw $zero, 0x28($sp) -/* 04BE88 7F017358 AFB90014 */ sw $t9, 0x14($sp) -/* 04BE8C 7F01735C 0FC025D8 */ jal write_text_at_abs_coord -/* 04BE90 7F017360 AFB80010 */ sw $t8, 0x10($sp) -/* 04BE94 7F017364 00408825 */ move $s1, $v0 -/* 04BE98 7F017368 00002025 */ move $a0, $zero -/* 04BE9C 7F01736C 0FC026D4 */ jal getplayerfavoredweapon -/* 04BEA0 7F017370 00002825 */ move $a1, $zero -/* 04BEA4 7F017374 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04BEA8 7F017378 0C0029DC */ jal textpointer_load_parse_something -/* 04BEAC 7F01737C 00402825 */ move $a1, $v0 -/* 04BEB0 7F017380 3C048007 */ lui $a0, %hi(fav_weapon_right_player1) -/* 04BEB4 7F017384 248496F0 */ addiu $a0, %lo(fav_weapon_right_player1) # addiu $a0, $a0, -0x6910 -/* 04BEB8 7F017388 8C830000 */ lw $v1, ($a0) -/* 04BEBC 7F01738C 5860000D */ blezl $v1, .L7F0173C4 -/* 04BEC0 7F017390 240E00BE */ li $t6, 190 -/* 04BEC4 7F017394 8C8B0004 */ lw $t3, 4($a0) -/* 04BEC8 7F017398 5563000A */ bnel $t3, $v1, .L7F0173C4 -/* 04BECC 7F01739C 240E00BE */ li $t6, 190 -/* 04BED0 7F0173A0 0C004E1F */ jal strlen -/* 04BED4 7F0173A4 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04BED8 7F0173A8 244CFFFF */ addiu $t4, $v0, -1 -/* 04BEDC 7F0173AC 27AD00A8 */ addiu $t5, $sp, 0xa8 -/* 04BEE0 7F0173B0 3C058005 */ lui $a1, %hi(aX2) -/* 04BEE4 7F0173B4 24A51860 */ addiu $a1, %lo(aX2) # addiu $a1, $a1, 0x1860 -/* 04BEE8 7F0173B8 0C002B25 */ jal sprintf -/* 04BEEC 7F0173BC 018D2021 */ addu $a0, $t4, $t5 -/* 04BEF0 7F0173C0 240E00BE */ li $t6, 190 -.L7F0173C4: -/* 04BEF4 7F0173C4 240F00DC */ li $t7, 220 -/* 04BEF8 7F0173C8 AFAE0C64 */ sw $t6, 0xc64($sp) -/* 04BEFC 7F0173CC 0C001107 */ jal get_video2_settings_txtClipW -/* 04BF00 7F0173D0 AFAF0C60 */ sw $t7, 0xc60($sp) -/* 04BF04 7F0173D4 00028400 */ sll $s0, $v0, 0x10 -/* 04BF08 7F0173D8 0010C403 */ sra $t8, $s0, 0x10 -/* 04BF0C 7F0173DC 0C00110B */ jal get_video2_settings_txtClipH -/* 04BF10 7F0173E0 03008025 */ move $s0, $t8 -/* 04BF14 7F0173E4 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 04BF18 7F0173E8 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 04BF1C 7F0173EC 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 04BF20 7F0173F0 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 04BF24 7F0173F4 240B00FF */ li $t3, 255 -/* 04BF28 7F0173F8 AFAB0018 */ sw $t3, 0x18($sp) -/* 04BF2C 7F0173FC 02202025 */ move $a0, $s1 -/* 04BF30 7F017400 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BF34 7F017404 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BF38 7F017408 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04BF3C 7F01740C AFB0001C */ sw $s0, 0x1c($sp) -/* 04BF40 7F017410 AFA20020 */ sw $v0, 0x20($sp) -/* 04BF44 7F017414 AFA00024 */ sw $zero, 0x24($sp) -/* 04BF48 7F017418 AFA00028 */ sw $zero, 0x28($sp) -/* 04BF4C 7F01741C AFAA0014 */ sw $t2, 0x14($sp) -/* 04BF50 7F017420 0FC025D8 */ jal write_text_at_abs_coord -/* 04BF54 7F017424 AFB90010 */ sw $t9, 0x10($sp) -/* 04BF58 7F017428 00408825 */ move $s1, $v0 -/* 04BF5C 7F01742C 0FC30776 */ jal get_textptr_for_textID -/* 04BF60 7F017430 34049C6C */ li $a0, 40044 -/* 04BF64 7F017434 240C0037 */ li $t4, 55 -/* 04BF68 7F017438 240D00F4 */ li $t5, 244 -/* 04BF6C 7F01743C AFA200A4 */ sw $v0, 0xa4($sp) -/* 04BF70 7F017440 AFAC0C64 */ sw $t4, 0xc64($sp) -/* 04BF74 7F017444 0C001107 */ jal get_video2_settings_txtClipW -/* 04BF78 7F017448 AFAD0C60 */ sw $t5, 0xc60($sp) -/* 04BF7C 7F01744C 00028400 */ sll $s0, $v0, 0x10 -/* 04BF80 7F017450 00107403 */ sra $t6, $s0, 0x10 -/* 04BF84 7F017454 0C00110B */ jal get_video2_settings_txtClipH -/* 04BF88 7F017458 01C08025 */ move $s0, $t6 -/* 04BF8C 7F01745C 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge) -/* 04BF90 7F017460 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge) -/* 04BF94 7F017464 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8) -/* 04BF98 7F017468 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7) -/* 04BF9C 7F01746C 241900FF */ li $t9, 255 -/* 04BFA0 7F017470 AFB90018 */ sw $t9, 0x18($sp) -/* 04BFA4 7F017474 02202025 */ move $a0, $s1 -/* 04BFA8 7F017478 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04BFAC 7F01747C 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04BFB0 7F017480 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04BFB4 7F017484 AFB0001C */ sw $s0, 0x1c($sp) -/* 04BFB8 7F017488 AFA20020 */ sw $v0, 0x20($sp) -/* 04BFBC 7F01748C AFA00024 */ sw $zero, 0x24($sp) -/* 04BFC0 7F017490 AFA00028 */ sw $zero, 0x28($sp) -/* 04BFC4 7F017494 AFB80014 */ sw $t8, 0x14($sp) -/* 04BFC8 7F017498 0FC025D8 */ jal write_text_at_abs_coord -/* 04BFCC 7F01749C AFAF0010 */ sw $t7, 0x10($sp) -/* 04BFD0 7F0174A0 3C058005 */ lui $a1, %hi(aD_8) -/* 04BFD4 7F0174A4 00408825 */ move $s1, $v0 -/* 04BFD8 7F0174A8 24A51868 */ addiu $a1, %lo(aD_8) # addiu $a1, $a1, 0x1868 -/* 04BFDC 7F0174AC 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04BFE0 7F0174B0 0C002B25 */ jal sprintf -/* 04BFE4 7F0174B4 8FA60090 */ lw $a2, 0x90($sp) -/* 04BFE8 7F0174B8 240A0082 */ li $t2, 130 -/* 04BFEC 7F0174BC 240B00F4 */ li $t3, 244 -/* 04BFF0 7F0174C0 AFAA0C64 */ sw $t2, 0xc64($sp) -/* 04BFF4 7F0174C4 0C001107 */ jal get_video2_settings_txtClipW -/* 04BFF8 7F0174C8 AFAB0C60 */ sw $t3, 0xc60($sp) -/* 04BFFC 7F0174CC 00028400 */ sll $s0, $v0, 0x10 -/* 04C000 7F0174D0 00106403 */ sra $t4, $s0, 0x10 -/* 04C004 7F0174D4 0C00110B */ jal get_video2_settings_txtClipH -/* 04C008 7F0174D8 01808025 */ move $s0, $t4 -/* 04C00C 7F0174DC 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableLarge) -/* 04C010 7F0174E0 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 04C014 7F0174E4 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 04C018 7F0174E8 8DAD0EB8 */ lw $t5, %lo(ptrSecondFontTableLarge)($t5) -/* 04C01C 7F0174EC 240F00FF */ li $t7, 255 -/* 04C020 7F0174F0 AFAF0018 */ sw $t7, 0x18($sp) -/* 04C024 7F0174F4 02202025 */ move $a0, $s1 -/* 04C028 7F0174F8 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C02C 7F0174FC 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C030 7F017500 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04C034 7F017504 AFB0001C */ sw $s0, 0x1c($sp) -/* 04C038 7F017508 AFA20020 */ sw $v0, 0x20($sp) -/* 04C03C 7F01750C AFA00024 */ sw $zero, 0x24($sp) -/* 04C040 7F017510 AFA00028 */ sw $zero, 0x28($sp) -/* 04C044 7F017514 AFAE0014 */ sw $t6, 0x14($sp) -/* 04C048 7F017518 0FC025D8 */ jal write_text_at_abs_coord -/* 04C04C 7F01751C AFAD0010 */ sw $t5, 0x10($sp) -/* 04C050 7F017520 00408825 */ move $s1, $v0 -/* 04C054 7F017524 0FC30776 */ jal get_textptr_for_textID -/* 04C058 7F017528 34049C6D */ li $a0, 40045 -/* 04C05C 7F01752C 241800B4 */ li $t8, 180 -/* 04C060 7F017530 241900F4 */ li $t9, 244 -/* 04C064 7F017534 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04C068 7F017538 AFB80C64 */ sw $t8, 0xc64($sp) -/* 04C06C 7F01753C 0C001107 */ jal get_video2_settings_txtClipW -/* 04C070 7F017540 AFB90C60 */ sw $t9, 0xc60($sp) -/* 04C074 7F017544 00028400 */ sll $s0, $v0, 0x10 -/* 04C078 7F017548 00105403 */ sra $t2, $s0, 0x10 -/* 04C07C 7F01754C 0C00110B */ jal get_video2_settings_txtClipH -/* 04C080 7F017550 01408025 */ move $s0, $t2 -/* 04C084 7F017554 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge) -/* 04C088 7F017558 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) -/* 04C08C 7F01755C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 04C090 7F017560 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3) -/* 04C094 7F017564 240D00FF */ li $t5, 255 -/* 04C098 7F017568 AFAD0018 */ sw $t5, 0x18($sp) -/* 04C09C 7F01756C 02202025 */ move $a0, $s1 -/* 04C0A0 7F017570 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C0A4 7F017574 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C0A8 7F017578 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04C0AC 7F01757C AFB0001C */ sw $s0, 0x1c($sp) -/* 04C0B0 7F017580 AFA20020 */ sw $v0, 0x20($sp) -/* 04C0B4 7F017584 AFA00024 */ sw $zero, 0x24($sp) -/* 04C0B8 7F017588 AFA00028 */ sw $zero, 0x28($sp) -/* 04C0BC 7F01758C AFAC0014 */ sw $t4, 0x14($sp) -/* 04C0C0 7F017590 0FC025D8 */ jal write_text_at_abs_coord -/* 04C0C4 7F017594 AFAB0010 */ sw $t3, 0x10($sp) -/* 04C0C8 7F017598 8FAF008C */ lw $t7, 0x8c($sp) -/* 04C0CC 7F01759C 8FAE0070 */ lw $t6, 0x70($sp) -/* 04C0D0 7F0175A0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04C0D4 7F0175A4 448F4000 */ mtc1 $t7, $f8 -/* 04C0D8 7F0175A8 44815000 */ mtc1 $at, $f10 -/* 04C0DC 7F0175AC 448E3000 */ mtc1 $t6, $f6 -/* 04C0E0 7F0175B0 46804420 */ cvt.s.w $f16, $f8 -/* 04C0E4 7F0175B4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 04C0E8 7F0175B8 00408825 */ move $s1, $v0 -/* 04C0EC 7F0175BC 46803020 */ cvt.s.w $f0, $f6 -/* 04C0F0 7F0175C0 460A8482 */ mul.s $f18, $f16, $f10 -/* 04C0F4 7F0175C4 44813000 */ mtc1 $at, $f6 -/* 04C0F8 7F0175C8 E7A00048 */ swc1 $f0, 0x48($sp) -/* 04C0FC 7F0175CC 46009103 */ div.s $f4, $f18, $f0 -/* 04C100 7F0175D0 0FC170D8 */ jal truncf -/* 04C104 7F0175D4 46062300 */ add.s $f12, $f4, $f6 -/* 04C108 7F0175D8 4600020D */ trunc.w.s $f8, $f0 -/* 04C10C 7F0175DC 3C058005 */ lui $a1, %hi(aDD_0) -/* 04C110 7F0175E0 24A5186C */ addiu $a1, %lo(aDD_0) # addiu $a1, $a1, 0x186c -/* 04C114 7F0175E4 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04C118 7F0175E8 44074000 */ mfc1 $a3, $f8 -/* 04C11C 7F0175EC 0C002B25 */ jal sprintf -/* 04C120 7F0175F0 8FA6008C */ lw $a2, 0x8c($sp) -/* 04C124 7F0175F4 2419012C */ li $t9, 300 -/* 04C128 7F0175F8 240A00F4 */ li $t2, 244 -/* 04C12C 7F0175FC AFB90C64 */ sw $t9, 0xc64($sp) -/* 04C130 7F017600 0C001107 */ jal get_video2_settings_txtClipW -/* 04C134 7F017604 AFAA0C60 */ sw $t2, 0xc60($sp) -/* 04C138 7F017608 00028400 */ sll $s0, $v0, 0x10 -/* 04C13C 7F01760C 00105C03 */ sra $t3, $s0, 0x10 -/* 04C140 7F017610 0C00110B */ jal get_video2_settings_txtClipH -/* 04C144 7F017614 01608025 */ move $s0, $t3 -/* 04C148 7F017618 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge) -/* 04C14C 7F01761C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04C150 7F017620 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04C154 7F017624 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4) -/* 04C158 7F017628 240E00FF */ li $t6, 255 -/* 04C15C 7F01762C AFAE0018 */ sw $t6, 0x18($sp) -/* 04C160 7F017630 02202025 */ move $a0, $s1 -/* 04C164 7F017634 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C168 7F017638 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C16C 7F01763C 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04C170 7F017640 AFB0001C */ sw $s0, 0x1c($sp) -/* 04C174 7F017644 AFA20020 */ sw $v0, 0x20($sp) -/* 04C178 7F017648 AFA00024 */ sw $zero, 0x24($sp) -/* 04C17C 7F01764C AFA00028 */ sw $zero, 0x28($sp) -/* 04C180 7F017650 AFAD0014 */ sw $t5, 0x14($sp) -/* 04C184 7F017654 0FC025D8 */ jal write_text_at_abs_coord -/* 04C188 7F017658 AFAC0010 */ sw $t4, 0x10($sp) -/* 04C18C 7F01765C 00408825 */ move $s1, $v0 -/* 04C190 7F017660 0FC30776 */ jal get_textptr_for_textID -/* 04C194 7F017664 34049C6E */ li $a0, 40046 -/* 04C198 7F017668 8FB800A0 */ lw $t8, 0xa0($sp) -/* 04C19C 7F01766C 240F00B4 */ li $t7, 180 -/* 04C1A0 7F017670 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04C1A4 7F017674 271900F4 */ addiu $t9, $t8, 0xf4 -/* 04C1A8 7F017678 AFAF0C64 */ sw $t7, 0xc64($sp) -/* 04C1AC 7F01767C 0C001107 */ jal get_video2_settings_txtClipW -/* 04C1B0 7F017680 AFB90C60 */ sw $t9, 0xc60($sp) -/* 04C1B4 7F017684 00028400 */ sll $s0, $v0, 0x10 -/* 04C1B8 7F017688 00105403 */ sra $t2, $s0, 0x10 -/* 04C1BC 7F01768C 0C00110B */ jal get_video2_settings_txtClipH -/* 04C1C0 7F017690 01408025 */ move $s0, $t2 -/* 04C1C4 7F017694 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge) -/* 04C1C8 7F017698 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) -/* 04C1CC 7F01769C 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 04C1D0 7F0176A0 8D6B0EB8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3) -/* 04C1D4 7F0176A4 240D00FF */ li $t5, 255 -/* 04C1D8 7F0176A8 AFAD0018 */ sw $t5, 0x18($sp) -/* 04C1DC 7F0176AC 02202025 */ move $a0, $s1 -/* 04C1E0 7F0176B0 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C1E4 7F0176B4 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C1E8 7F0176B8 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04C1EC 7F0176BC AFB0001C */ sw $s0, 0x1c($sp) -/* 04C1F0 7F0176C0 AFA20020 */ sw $v0, 0x20($sp) -/* 04C1F4 7F0176C4 AFA00024 */ sw $zero, 0x24($sp) -/* 04C1F8 7F0176C8 AFA00028 */ sw $zero, 0x28($sp) -/* 04C1FC 7F0176CC AFAC0014 */ sw $t4, 0x14($sp) -/* 04C200 7F0176D0 0FC025D8 */ jal write_text_at_abs_coord -/* 04C204 7F0176D4 AFAB0010 */ sw $t3, 0x10($sp) -/* 04C208 7F0176D8 8FAE0088 */ lw $t6, 0x88($sp) -/* 04C20C 7F0176DC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04C210 7F0176E0 44819000 */ mtc1 $at, $f18 -/* 04C214 7F0176E4 448E8000 */ mtc1 $t6, $f16 -/* 04C218 7F0176E8 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 04C21C 7F0176EC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 04C220 7F0176F0 468082A0 */ cvt.s.w $f10, $f16 -/* 04C224 7F0176F4 44818000 */ mtc1 $at, $f16 -/* 04C228 7F0176F8 00408825 */ move $s1, $v0 -/* 04C22C 7F0176FC 46125102 */ mul.s $f4, $f10, $f18 -/* 04C230 7F017700 46062203 */ div.s $f8, $f4, $f6 -/* 04C234 7F017704 0FC170D8 */ jal truncf -/* 04C238 7F017708 46104300 */ add.s $f12, $f8, $f16 -/* 04C23C 7F01770C 4600028D */ trunc.w.s $f10, $f0 -/* 04C240 7F017710 3C058005 */ lui $a1, %hi(aDD_1) -/* 04C244 7F017714 24A51878 */ addiu $a1, %lo(aDD_1) # addiu $a1, $a1, 0x1878 -/* 04C248 7F017718 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04C24C 7F01771C 44075000 */ mfc1 $a3, $f10 -/* 04C250 7F017720 0C002B25 */ jal sprintf -/* 04C254 7F017724 8FA60088 */ lw $a2, 0x88($sp) -/* 04C258 7F017728 8FB900A0 */ lw $t9, 0xa0($sp) -/* 04C25C 7F01772C 2418012C */ li $t8, 300 -/* 04C260 7F017730 AFB80C64 */ sw $t8, 0xc64($sp) -/* 04C264 7F017734 272A00F4 */ addiu $t2, $t9, 0xf4 -/* 04C268 7F017738 0C001107 */ jal get_video2_settings_txtClipW -/* 04C26C 7F01773C AFAA0C60 */ sw $t2, 0xc60($sp) -/* 04C270 7F017740 00028400 */ sll $s0, $v0, 0x10 -/* 04C274 7F017744 00105C03 */ sra $t3, $s0, 0x10 -/* 04C278 7F017748 0C00110B */ jal get_video2_settings_txtClipH -/* 04C27C 7F01774C 01608025 */ move $s0, $t3 -/* 04C280 7F017750 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge) -/* 04C284 7F017754 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04C288 7F017758 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04C28C 7F01775C 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4) -/* 04C290 7F017760 240E00FF */ li $t6, 255 -/* 04C294 7F017764 AFAE0018 */ sw $t6, 0x18($sp) -/* 04C298 7F017768 02202025 */ move $a0, $s1 -/* 04C29C 7F01776C 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C2A0 7F017770 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C2A4 7F017774 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04C2A8 7F017778 AFB0001C */ sw $s0, 0x1c($sp) -/* 04C2AC 7F01777C AFA20020 */ sw $v0, 0x20($sp) -/* 04C2B0 7F017780 AFA00024 */ sw $zero, 0x24($sp) -/* 04C2B4 7F017784 AFA00028 */ sw $zero, 0x28($sp) -/* 04C2B8 7F017788 AFAD0014 */ sw $t5, 0x14($sp) -/* 04C2BC 7F01778C 0FC025D8 */ jal write_text_at_abs_coord -/* 04C2C0 7F017790 AFAC0010 */ sw $t4, 0x10($sp) -/* 04C2C4 7F017794 00408825 */ move $s1, $v0 -/* 04C2C8 7F017798 0FC30776 */ jal get_textptr_for_textID -/* 04C2CC 7F01779C 34049C6F */ li $a0, 40047 -/* 04C2D0 7F0177A0 8FB800A0 */ lw $t8, 0xa0($sp) -/* 04C2D4 7F0177A4 240F00B4 */ li $t7, 180 -/* 04C2D8 7F0177A8 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04C2DC 7F0177AC 0018C840 */ sll $t9, $t8, 1 -/* 04C2E0 7F0177B0 272A00F4 */ addiu $t2, $t9, 0xf4 -/* 04C2E4 7F0177B4 AFAF0C64 */ sw $t7, 0xc64($sp) -/* 04C2E8 7F0177B8 0C001107 */ jal get_video2_settings_txtClipW -/* 04C2EC 7F0177BC AFAA0C60 */ sw $t2, 0xc60($sp) -/* 04C2F0 7F0177C0 00028400 */ sll $s0, $v0, 0x10 -/* 04C2F4 7F0177C4 00105C03 */ sra $t3, $s0, 0x10 -/* 04C2F8 7F0177C8 0C00110B */ jal get_video2_settings_txtClipH -/* 04C2FC 7F0177CC 01608025 */ move $s0, $t3 -/* 04C300 7F0177D0 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge) -/* 04C304 7F0177D4 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04C308 7F0177D8 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04C30C 7F0177DC 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4) -/* 04C310 7F0177E0 240E00FF */ li $t6, 255 -/* 04C314 7F0177E4 AFAE0018 */ sw $t6, 0x18($sp) -/* 04C318 7F0177E8 02202025 */ move $a0, $s1 -/* 04C31C 7F0177EC 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C320 7F0177F0 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C324 7F0177F4 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04C328 7F0177F8 AFB0001C */ sw $s0, 0x1c($sp) -/* 04C32C 7F0177FC AFA20020 */ sw $v0, 0x20($sp) -/* 04C330 7F017800 AFA00024 */ sw $zero, 0x24($sp) -/* 04C334 7F017804 AFA00028 */ sw $zero, 0x28($sp) -/* 04C338 7F017808 AFAD0014 */ sw $t5, 0x14($sp) -/* 04C33C 7F01780C 0FC025D8 */ jal write_text_at_abs_coord -/* 04C340 7F017810 AFAC0010 */ sw $t4, 0x10($sp) -/* 04C344 7F017814 8FAF0084 */ lw $t7, 0x84($sp) -/* 04C348 7F017818 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04C34C 7F01781C 44813000 */ mtc1 $at, $f6 -/* 04C350 7F017820 448F9000 */ mtc1 $t7, $f18 -/* 04C354 7F017824 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 04C358 7F017828 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 04C35C 7F01782C 46809120 */ cvt.s.w $f4, $f18 -/* 04C360 7F017830 44819000 */ mtc1 $at, $f18 -/* 04C364 7F017834 00408825 */ move $s1, $v0 -/* 04C368 7F017838 46062202 */ mul.s $f8, $f4, $f6 -/* 04C36C 7F01783C 46104283 */ div.s $f10, $f8, $f16 -/* 04C370 7F017840 0FC170D8 */ jal truncf -/* 04C374 7F017844 46125300 */ add.s $f12, $f10, $f18 -/* 04C378 7F017848 4600010D */ trunc.w.s $f4, $f0 -/* 04C37C 7F01784C 3C058005 */ lui $a1, %hi(aDD_2) -/* 04C380 7F017850 24A51884 */ addiu $a1, %lo(aDD_2) # addiu $a1, $a1, 0x1884 -/* 04C384 7F017854 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04C388 7F017858 44072000 */ mfc1 $a3, $f4 -/* 04C38C 7F01785C 0C002B25 */ jal sprintf -/* 04C390 7F017860 8FA60084 */ lw $a2, 0x84($sp) -/* 04C394 7F017864 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 04C398 7F017868 2419012C */ li $t9, 300 -/* 04C39C 7F01786C AFB90C64 */ sw $t9, 0xc64($sp) -/* 04C3A0 7F017870 000A5840 */ sll $t3, $t2, 1 -/* 04C3A4 7F017874 256C00F4 */ addiu $t4, $t3, 0xf4 -/* 04C3A8 7F017878 0C001107 */ jal get_video2_settings_txtClipW -/* 04C3AC 7F01787C AFAC0C60 */ sw $t4, 0xc60($sp) -/* 04C3B0 7F017880 00028400 */ sll $s0, $v0, 0x10 -/* 04C3B4 7F017884 00106C03 */ sra $t5, $s0, 0x10 -/* 04C3B8 7F017888 0C00110B */ jal get_video2_settings_txtClipH -/* 04C3BC 7F01788C 01A08025 */ move $s0, $t5 -/* 04C3C0 7F017890 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge) -/* 04C3C4 7F017894 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge) -/* 04C3C8 7F017898 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7) -/* 04C3CC 7F01789C 8DCE0EB8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6) -/* 04C3D0 7F0178A0 241800FF */ li $t8, 255 -/* 04C3D4 7F0178A4 AFB80018 */ sw $t8, 0x18($sp) -/* 04C3D8 7F0178A8 02202025 */ move $a0, $s1 -/* 04C3DC 7F0178AC 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C3E0 7F0178B0 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C3E4 7F0178B4 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04C3E8 7F0178B8 AFB0001C */ sw $s0, 0x1c($sp) -/* 04C3EC 7F0178BC AFA20020 */ sw $v0, 0x20($sp) -/* 04C3F0 7F0178C0 AFA00024 */ sw $zero, 0x24($sp) -/* 04C3F4 7F0178C4 AFA00028 */ sw $zero, 0x28($sp) -/* 04C3F8 7F0178C8 AFAF0014 */ sw $t7, 0x14($sp) -/* 04C3FC 7F0178CC 0FC025D8 */ jal write_text_at_abs_coord -/* 04C400 7F0178D0 AFAE0010 */ sw $t6, 0x10($sp) -/* 04C404 7F0178D4 00408825 */ move $s1, $v0 -/* 04C408 7F0178D8 0FC30776 */ jal get_textptr_for_textID -/* 04C40C 7F0178DC 34049C70 */ li $a0, 40048 -/* 04C410 7F0178E0 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 04C414 7F0178E4 241900B4 */ li $t9, 180 -/* 04C418 7F0178E8 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04C41C 7F0178EC 000A5880 */ sll $t3, $t2, 2 -/* 04C420 7F0178F0 016A5823 */ subu $t3, $t3, $t2 -/* 04C424 7F0178F4 256C00F4 */ addiu $t4, $t3, 0xf4 -/* 04C428 7F0178F8 AFB90C64 */ sw $t9, 0xc64($sp) -/* 04C42C 7F0178FC 0C001107 */ jal get_video2_settings_txtClipW -/* 04C430 7F017900 AFAC0C60 */ sw $t4, 0xc60($sp) -/* 04C434 7F017904 00028400 */ sll $s0, $v0, 0x10 -/* 04C438 7F017908 00106C03 */ sra $t5, $s0, 0x10 -/* 04C43C 7F01790C 0C00110B */ jal get_video2_settings_txtClipH -/* 04C440 7F017910 01A08025 */ move $s0, $t5 -/* 04C444 7F017914 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableLarge) -/* 04C448 7F017918 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge) -/* 04C44C 7F01791C 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7) -/* 04C450 7F017920 8DCE0EB8 */ lw $t6, %lo(ptrSecondFontTableLarge)($t6) -/* 04C454 7F017924 241800FF */ li $t8, 255 -/* 04C458 7F017928 AFB80018 */ sw $t8, 0x18($sp) -/* 04C45C 7F01792C 02202025 */ move $a0, $s1 -/* 04C460 7F017930 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C464 7F017934 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C468 7F017938 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04C46C 7F01793C AFB0001C */ sw $s0, 0x1c($sp) -/* 04C470 7F017940 AFA20020 */ sw $v0, 0x20($sp) -/* 04C474 7F017944 AFA00024 */ sw $zero, 0x24($sp) -/* 04C478 7F017948 AFA00028 */ sw $zero, 0x28($sp) -/* 04C47C 7F01794C AFAF0014 */ sw $t7, 0x14($sp) -/* 04C480 7F017950 0FC025D8 */ jal write_text_at_abs_coord -/* 04C484 7F017954 AFAE0010 */ sw $t6, 0x10($sp) -/* 04C488 7F017958 8FB9007C */ lw $t9, 0x7c($sp) -/* 04C48C 7F01795C 8FAA0080 */ lw $t2, 0x80($sp) -/* 04C490 7F017960 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04C494 7F017964 44818000 */ mtc1 $at, $f16 -/* 04C498 7F017968 032A8021 */ addu $s0, $t9, $t2 -/* 04C49C 7F01796C 44903000 */ mtc1 $s0, $f6 -/* 04C4A0 7F017970 C7B20048 */ lwc1 $f18, 0x48($sp) -/* 04C4A4 7F017974 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 04C4A8 7F017978 46803220 */ cvt.s.w $f8, $f6 -/* 04C4AC 7F01797C 44813000 */ mtc1 $at, $f6 -/* 04C4B0 7F017980 00408825 */ move $s1, $v0 -/* 04C4B4 7F017984 46104282 */ mul.s $f10, $f8, $f16 -/* 04C4B8 7F017988 46125103 */ div.s $f4, $f10, $f18 -/* 04C4BC 7F01798C 0FC170D8 */ jal truncf -/* 04C4C0 7F017990 46062300 */ add.s $f12, $f4, $f6 -/* 04C4C4 7F017994 4600020D */ trunc.w.s $f8, $f0 -/* 04C4C8 7F017998 3C058005 */ lui $a1, %hi(aDD_3) -/* 04C4CC 7F01799C 24A51890 */ addiu $a1, %lo(aDD_3) # addiu $a1, $a1, 0x1890 -/* 04C4D0 7F0179A0 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04C4D4 7F0179A4 44074000 */ mfc1 $a3, $f8 -/* 04C4D8 7F0179A8 0C002B25 */ jal sprintf -/* 04C4DC 7F0179AC 02003025 */ move $a2, $s0 -/* 04C4E0 7F0179B0 8FAD00A0 */ lw $t5, 0xa0($sp) -/* 04C4E4 7F0179B4 240C012C */ li $t4, 300 -/* 04C4E8 7F0179B8 AFAC0C64 */ sw $t4, 0xc64($sp) -/* 04C4EC 7F0179BC 000D7080 */ sll $t6, $t5, 2 -/* 04C4F0 7F0179C0 01CD7023 */ subu $t6, $t6, $t5 -/* 04C4F4 7F0179C4 25CF00F4 */ addiu $t7, $t6, 0xf4 -/* 04C4F8 7F0179C8 0C001107 */ jal get_video2_settings_txtClipW -/* 04C4FC 7F0179CC AFAF0C60 */ sw $t7, 0xc60($sp) -/* 04C500 7F0179D0 00028400 */ sll $s0, $v0, 0x10 -/* 04C504 7F0179D4 0010C403 */ sra $t8, $s0, 0x10 -/* 04C508 7F0179D8 0C00110B */ jal get_video2_settings_txtClipH -/* 04C50C 7F0179DC 03008025 */ move $s0, $t8 -/* 04C510 7F0179E0 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 04C514 7F0179E4 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableLarge) -/* 04C518 7F0179E8 8D4A0EB4 */ lw $t2, %lo(ptrFirstFontTableLarge)($t2) -/* 04C51C 7F0179EC 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 04C520 7F0179F0 240B00FF */ li $t3, 255 -/* 04C524 7F0179F4 AFAB0018 */ sw $t3, 0x18($sp) -/* 04C528 7F0179F8 02202025 */ move $a0, $s1 -/* 04C52C 7F0179FC 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C530 7F017A00 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C534 7F017A04 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04C538 7F017A08 AFB0001C */ sw $s0, 0x1c($sp) -/* 04C53C 7F017A0C AFA20020 */ sw $v0, 0x20($sp) -/* 04C540 7F017A10 AFA00024 */ sw $zero, 0x24($sp) -/* 04C544 7F017A14 AFA00028 */ sw $zero, 0x28($sp) -/* 04C548 7F017A18 AFAA0014 */ sw $t2, 0x14($sp) -/* 04C54C 7F017A1C 0FC025D8 */ jal write_text_at_abs_coord -/* 04C550 7F017A20 AFB90010 */ sw $t9, 0x10($sp) -/* 04C554 7F017A24 00408825 */ move $s1, $v0 -/* 04C558 7F017A28 0FC30776 */ jal get_textptr_for_textID -/* 04C55C 7F017A2C 34049C71 */ li $a0, 40049 -/* 04C560 7F017A30 8FAD00A0 */ lw $t5, 0xa0($sp) -/* 04C564 7F017A34 240C0037 */ li $t4, 55 -/* 04C568 7F017A38 AFA200A4 */ sw $v0, 0xa4($sp) -/* 04C56C 7F017A3C 25AE00F4 */ addiu $t6, $t5, 0xf4 -/* 04C570 7F017A40 AFAC0C64 */ sw $t4, 0xc64($sp) -/* 04C574 7F017A44 0C001107 */ jal get_video2_settings_txtClipW -/* 04C578 7F017A48 AFAE0C60 */ sw $t6, 0xc60($sp) -/* 04C57C 7F017A4C 00028400 */ sll $s0, $v0, 0x10 -/* 04C580 7F017A50 00107C03 */ sra $t7, $s0, 0x10 -/* 04C584 7F017A54 0C00110B */ jal get_video2_settings_txtClipH -/* 04C588 7F017A58 01E08025 */ move $s0, $t7 -/* 04C58C 7F017A5C 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) -/* 04C590 7F017A60 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 04C594 7F017A64 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 04C598 7F017A68 8F180EB8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 04C59C 7F017A6C 240A00FF */ li $t2, 255 -/* 04C5A0 7F017A70 AFAA0018 */ sw $t2, 0x18($sp) -/* 04C5A4 7F017A74 02202025 */ move $a0, $s1 -/* 04C5A8 7F017A78 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C5AC 7F017A7C 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C5B0 7F017A80 8FA700A4 */ lw $a3, 0xa4($sp) -/* 04C5B4 7F017A84 AFB0001C */ sw $s0, 0x1c($sp) -/* 04C5B8 7F017A88 AFA20020 */ sw $v0, 0x20($sp) -/* 04C5BC 7F017A8C AFA00024 */ sw $zero, 0x24($sp) -/* 04C5C0 7F017A90 AFA00028 */ sw $zero, 0x28($sp) -/* 04C5C4 7F017A94 AFB90014 */ sw $t9, 0x14($sp) -/* 04C5C8 7F017A98 0FC025D8 */ jal write_text_at_abs_coord -/* 04C5CC 7F017A9C AFB80010 */ sw $t8, 0x10($sp) -/* 04C5D0 7F017AA0 3C058005 */ lui $a1, %hi(aD_10) -/* 04C5D4 7F017AA4 00408825 */ move $s1, $v0 -/* 04C5D8 7F017AA8 24A5189C */ addiu $a1, %lo(aD_10) # addiu $a1, $a1, 0x189c -/* 04C5DC 7F017AAC 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 04C5E0 7F017AB0 0C002B25 */ jal sprintf -/* 04C5E4 7F017AB4 8FA60094 */ lw $a2, 0x94($sp) -/* 04C5E8 7F017AB8 8FAC00A0 */ lw $t4, 0xa0($sp) -/* 04C5EC 7F017ABC 240B0082 */ li $t3, 130 -/* 04C5F0 7F017AC0 AFAB0C64 */ sw $t3, 0xc64($sp) -/* 04C5F4 7F017AC4 258D00F4 */ addiu $t5, $t4, 0xf4 -/* 04C5F8 7F017AC8 0C001107 */ jal get_video2_settings_txtClipW -/* 04C5FC 7F017ACC AFAD0C60 */ sw $t5, 0xc60($sp) -/* 04C600 7F017AD0 00028400 */ sll $s0, $v0, 0x10 -/* 04C604 7F017AD4 00107403 */ sra $t6, $s0, 0x10 -/* 04C608 7F017AD8 0C00110B */ jal get_video2_settings_txtClipH -/* 04C60C 7F017ADC 01C08025 */ move $s0, $t6 -/* 04C610 7F017AE0 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge) -/* 04C614 7F017AE4 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge) -/* 04C618 7F017AE8 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8) -/* 04C61C 7F017AEC 8DEF0EB8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7) -/* 04C620 7F017AF0 241900FF */ li $t9, 255 -/* 04C624 7F017AF4 AFB90018 */ sw $t9, 0x18($sp) -/* 04C628 7F017AF8 02202025 */ move $a0, $s1 -/* 04C62C 7F017AFC 27A50C64 */ addiu $a1, $sp, 0xc64 -/* 04C630 7F017B00 27A60C60 */ addiu $a2, $sp, 0xc60 -/* 04C634 7F017B04 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 04C638 7F017B08 AFB0001C */ sw $s0, 0x1c($sp) -/* 04C63C 7F017B0C AFA20020 */ sw $v0, 0x20($sp) -/* 04C640 7F017B10 AFA00024 */ sw $zero, 0x24($sp) -/* 04C644 7F017B14 AFA00028 */ sw $zero, 0x28($sp) -/* 04C648 7F017B18 AFB80014 */ sw $t8, 0x14($sp) -/* 04C64C 7F017B1C 0FC025D8 */ jal write_text_at_abs_coord -/* 04C650 7F017B20 AFAF0010 */ sw $t7, 0x10($sp) -/* 04C654 7F017B24 0FC02905 */ jal add_tab2_next -/* 04C658 7F017B28 00402025 */ move $a0, $v0 -/* 04C65C 7F017B2C 0FC0288E */ jal add_tab3_previous -/* 04C660 7F017B30 00402025 */ move $a0, $v0 -/* 04C664 7F017B34 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 04C668 7F017B38 00402025 */ move $a0, $v0 -/* 04C66C 7F017B3C 8FBF003C */ lw $ra, 0x3c($sp) -/* 04C670 7F017B40 8FB00034 */ lw $s0, 0x34($sp) -/* 04C674 7F017B44 8FB10038 */ lw $s1, 0x38($sp) -/* 04C678 7F017B48 03E00008 */ jr $ra -/* 04C67C 7F017B4C 27BD0C68 */ addiu $sp, $sp, 0xc68 -) -#endif - - - -#ifdef NONMATCHING -void interface_menu0D_missioncomplete(undefined8 param_1,undefined8 param_2) -{ - BOOL BVar3; - ulonglong uVar1; - longlong lVar2; - mission_folder_setup *pmVar4; - mission_folder_setup *pmVar5; - int entry; - short sVar6; - int iVar7; - - setvideo_far(60.00000000); - video_related_21((f32)menu0D_aspect); - set_page_height(100.00000000,(f32)menu0D_pageheight); - set_video2_settings_offset_24(0); - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - BVar3 = isontab3(); - if (BVar3 == FALSE) { - BVar3 = isontab2(); - if (BVar3 == FALSE) { - tab_2_highlight = TRUE; - } - else { - tab_2_highlight = TRUE; - } - } - else { - tab_3_highlight = TRUE; - } - uVar1 = get_controller_buttons_pressed(0,START_BUTTON|Z_TRIG|A_BUTTON); - if (uVar1 == 0) { - uVar1 = get_controller_buttons_pressed(0,B_BUTTON); - if (uVar1 != 0) { - tab_3_selected = TRUE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_2_highlight == FALSE) { - if (tab_3_highlight != FALSE) { - tab_3_selected = TRUE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - } - else { - tab_2_selected = TRUE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,1,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,3,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (tab_2_selected == FALSE) { - if (tab_3_selected != FALSE) { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo((longlong)mission_folder_setup_entries[briefingpage].mission_num); - } - } - else { - lVar2 = proc_7F01631C(); - if ((lVar2 == 0) || (append_cheat_sp != FALSE)) { - set_menu_to_mode(MENU_BRIEFING,0); - } - else { - if (mission_folder_setup_entries[briefingpage].mission_num == 0x11) { - set_menu_to_mode(MENU_RUN_STAGE,1); - selected_stage = LEVELID_CUBA; - } - else { - entry = briefingpage + 1; - if (mission_folder_setup_entries[briefingpage].mission_num < 0x12) { - sVar6 = mission_folder_setup_entries[entry].folder_text_preset; - pmVar5 = mission_folder_setup_entries + entry; - if (sVar6 != 0) { - iVar7 = mission_folder_setup_entries[entry].stage_id; - pmVar4 = mission_folder_setup_entries + entry; - while (pmVar5 = pmVar4, iVar7 < 0) { - sVar6 = pmVar4[1].folder_text_preset; - entry += 1; - pmVar5 = pmVar4 + 1; - if (sVar6 == 0) break; - iVar7 = pmVar4[1].stage_id; - pmVar4 = pmVar5; - } - } - if (sVar6 != 0) { - selected_stage = pmVar5->stage_id; - briefingpage = entry; - } - set_menu_to_mode(MENU_BRIEFING,0); - } - else { - set_menu_to_mode(MENU_MISSION_SELECT,0); - set_cursor_to_stage_solo((longlong)mission_folder_setup_entries[briefingpage].mission_num) - ; - } - } - } - } -} -#else -GLOBAL_ASM( -.text -glabel init_menu15_cheat -/* 04C680 7F017B50 3C018003 */ lui $at, %hi(tab_1_selected) -/* 04C684 7F017B54 AC20A8D0 */ sw $zero, %lo(tab_1_selected)($at) -/* 04C688 7F017B58 3C018003 */ lui $at, %hi(tab_2_selected) -/* 04C68C 7F017B5C AC20A8D4 */ sw $zero, %lo(tab_2_selected)($at) -/* 04C690 7F017B60 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04C694 7F017B64 AC20A8D8 */ sw $zero, %lo(tab_3_selected)($at) -/* 04C698 7F017B68 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04C69C 7F017B6C AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 04C6A0 7F017B70 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04C6A4 7F017B74 AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 04C6A8 7F017B78 3C058003 */ lui $a1, %hi(D_8002B5DC) -/* 04C6AC 7F017B7C 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 04C6B0 7F017B80 24A5B5DC */ addiu $a1, %lo(D_8002B5DC) # addiu $a1, $a1, -0x4a24 -/* 04C6B4 7F017B84 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 04C6B8 7F017B88 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 04C6BC 7F017B8C 3C048007 */ lui $a0, %hi(cheat_available) -/* 04C6C0 7F017B90 3C068007 */ lui $a2, %hi(dword_CODE_bss_800697F0) -/* 04C6C4 7F017B94 AFBF0014 */ sw $ra, 0x14($sp) -/* 04C6C8 7F017B98 ACA00000 */ sw $zero, ($a1) -/* 04C6CC 7F017B9C 24C697F0 */ addiu $a2, %lo(dword_CODE_bss_800697F0) # addiu $a2, $a2, -0x6810 -/* 04C6D0 7F017BA0 24849651 */ addiu $a0, %lo(cheat_available) # addiu $a0, $a0, -0x69af -/* 04C6D4 7F017BA4 24030001 */ li $v1, 1 -/* 04C6D8 7F017BA8 2407004B */ li $a3, 75 -.L7F017BAC: -/* 04C6DC 7F017BAC 908E0000 */ lbu $t6, ($a0) -/* 04C6E0 7F017BB0 51C00008 */ beql $t6, $zero, .L7F017BD4 -/* 04C6E4 7F017BB4 24630001 */ addiu $v1, $v1, 1 -/* 04C6E8 7F017BB8 8CA20000 */ lw $v0, ($a1) -/* 04C6EC 7F017BBC 00027880 */ sll $t7, $v0, 2 -/* 04C6F0 7F017BC0 00CFC021 */ addu $t8, $a2, $t7 -/* 04C6F4 7F017BC4 AF030000 */ sw $v1, ($t8) -/* 04C6F8 7F017BC8 24590001 */ addiu $t9, $v0, 1 -/* 04C6FC 7F017BCC ACB90000 */ sw $t9, ($a1) -/* 04C700 7F017BD0 24630001 */ addiu $v1, $v1, 1 -.L7F017BD4: -/* 04C704 7F017BD4 1467FFF5 */ bne $v1, $a3, .L7F017BAC -/* 04C708 7F017BD8 24840001 */ addiu $a0, $a0, 1 -/* 04C70C 7F017BDC 0FC02E2B */ jal load_walletbond -/* 04C710 7F017BE0 00000000 */ nop -/* 04C714 7F017BE4 8FBF0014 */ lw $ra, 0x14($sp) -/* 04C718 7F017BE8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04C71C 7F017BEC 03E00008 */ jr $ra -/* 04C720 7F017BF0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void update_menu15_cheat(void) -{ - longlong lVar1; - int i; - undefined1 *puVar2; - BOOL appendsp; - BOOL appendmp; - - appendsp = FALSE; - appendmp = FALSE; - puVar2 = CHEAT_AVAILABLE_EXTRA_CHARS; - i = 1; - do { - if (*puVar2 != 0) { - appendsp = TRUE; - lVar1 = proc_7F091A78(i); - if (lVar1 != 0) { - appendmp = TRUE; - } - } - i += 1; - puVar2 = puVar2 + 1; - } while (i != 0x4b); - append_cheat_sp = appendsp; - append_cheat_mp = appendmp; -} -#else -GLOBAL_ASM( -.text -glabel update_menu15_cheat -/* 04C724 7F017BF4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 04C728 7F017BF8 AFB1001C */ sw $s1, 0x1c($sp) -/* 04C72C 7F017BFC AFB40028 */ sw $s4, 0x28($sp) -/* 04C730 7F017C00 AFB30024 */ sw $s3, 0x24($sp) -/* 04C734 7F017C04 AFB20020 */ sw $s2, 0x20($sp) -/* 04C738 7F017C08 AFB00018 */ sw $s0, 0x18($sp) -/* 04C73C 7F017C0C 3C118007 */ lui $s1, %hi(CHEAT_AVAILABLE_EXTRA_CHARS) -/* 04C740 7F017C10 AFBF002C */ sw $ra, 0x2c($sp) -/* 04C744 7F017C14 00009825 */ move $s3, $zero -/* 04C748 7F017C18 0000A025 */ move $s4, $zero -/* 04C74C 7F017C1C 263196A1 */ addiu $s1, %lo(CHEAT_AVAILABLE_EXTRA_CHARS) # addiu $s1, $s1, -0x695f -/* 04C750 7F017C20 24100001 */ li $s0, 1 -/* 04C754 7F017C24 2412004B */ li $s2, 75 -.L7F017C28: -/* 04C758 7F017C28 922E0000 */ lbu $t6, ($s1) -/* 04C75C 7F017C2C 02002025 */ move $a0, $s0 -/* 04C760 7F017C30 51C00007 */ beql $t6, $zero, .L7F017C50 -/* 04C764 7F017C34 26100001 */ addiu $s0, $s0, 1 -/* 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 -/* 04C778 7F017C48 24140001 */ li $s4, 1 -/* 04C77C 7F017C4C 26100001 */ addiu $s0, $s0, 1 -.L7F017C50: -/* 04C780 7F017C50 1612FFF5 */ bne $s0, $s2, .L7F017C28 -/* 04C784 7F017C54 26310001 */ addiu $s1, $s1, 1 -/* 04C788 7F017C58 3C018003 */ lui $at, %hi(append_cheat_sp) -/* 04C78C 7F017C5C AC33A900 */ sw $s3, %lo(append_cheat_sp)($at) -/* 04C790 7F017C60 8FBF002C */ lw $ra, 0x2c($sp) -/* 04C794 7F017C64 3C018003 */ lui $at, %hi(append_cheat_mp) -/* 04C798 7F017C68 AC34A904 */ sw $s4, %lo(append_cheat_mp)($at) -/* 04C79C 7F017C6C 8FB40028 */ lw $s4, 0x28($sp) -/* 04C7A0 7F017C70 8FB30024 */ lw $s3, 0x24($sp) -/* 04C7A4 7F017C74 8FB00018 */ lw $s0, 0x18($sp) -/* 04C7A8 7F017C78 8FB1001C */ lw $s1, 0x1c($sp) -/* 04C7AC 7F017C7C 8FB20020 */ lw $s2, 0x20($sp) -/* 04C7B0 7F017C80 03E00008 */ jr $ra -/* 04C7B4 7F017C84 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -void interface_menu15_cheat(undefined8 param_1,undefined8 param_2) -{ - int iVar1; - BOOL BVar3; - int iVar4; - int iVar5; - - 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; - iVar1 = dword_8002B5E0; - if (get_controller_buttons_held(0,Z_TRIG|A_BUTTON) == 0) { - tab_3_highlight = FALSE; - tab_2_highlight = FALSE; - tab_1_highlight = FALSE; - dword_8002B5E0 = 0; - BVar3 = isontab3(); - if (BVar3 == FALSE) { - iVar1 = dword_8002B5E0; - if (((0xc < dword_8002B5DC) && - (iVar5 = dword_8002B5DC + -0xd, iVar1 = dword_8002B5E0, 0xdb < (int)(float)cursor_h_pos)) - && (iVar1 = dword_8002B5E0, -1 < iVar5)) { - iVar4 = iVar5 * 0x14 + 0x35; - do { - iVar1 = iVar5 + 0xc; - if (iVar4 <= (int)(float)cursor_v_pos) break; - iVar5 += -1; - iVar4 += -0x14; - iVar1 = dword_8002B5E0; - } while (-1 < iVar5); - } - dword_8002B5E0 = iVar1; - iVar1 = dword_8002B5E0; - if (dword_8002B5E0 == 0) { - iVar5 = dword_8002B5DC + -1; - if (0xc < dword_8002B5DC) { - iVar5 = 0xb; - } - iVar1 = dword_8002B5E0; - if (-1 < iVar5) { - iVar4 = iVar5 * 0x14 + 0x35; - do { - iVar1 = iVar5; - if (iVar4 <= (int)(float)cursor_v_pos) break; - iVar5 += -1; - iVar4 += -0x14; - iVar1 = dword_8002B5E0; - } while (-1 < iVar5); - } - } - } - else { - tab_3_highlight = TRUE; - iVar1 = dword_8002B5E0; - } - } - dword_8002B5E0 = iVar1; - uVar2 = get_controller_buttons_pressed(0,Z_TRIG|A_BUTTON); - if (uVar2 == 0) { - uVar2 = get_controller_buttons_pressed(0,B_BUTTON); - if (uVar2 != 0) { - tab_3_selected = TRUE; - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - } - else { - if (tab_3_highlight == FALSE) { - MP_menu_selected_option = 1; - } - else { - tab_3_selected = TRUE; - } - play_sfx_a1((longlong)(int)ptr_sfx_buf,199,NULL); - } - disable_all_switches((int)ptr_folder_object_instance); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,0x2a,1); - set_item_visibility_in_objinstance((int)ptr_folder_object_instance,6,1); - menu_control_stick_tracking(); - if (tab_3_selected == FALSE) { - if (MP_menu_selected_option != 0) { - *(char *)((&DAT_800697f0)[dword_8002B5E0] + -0x7ff96960) = - 1 - *(char *)((&DAT_800697f0)[dword_8002B5E0] + -0x7ff96960); - } - } - else { - set_menu_to_mode(MENU_MODE_SELECT,0); - set_menu_cursor_pos_to_setting(gamemode); - } -} -#else -GLOBAL_ASM( -.late_rodata -glabel menu15_aspect -.word 0x3FAAAAAB /*1.3333334;*/ -glabel menu15_pageheight -.word 0x461C4000 /*10000.0;*/ -.text -glabel interface_menu15_cheat -/* 04C7B8 7F017C88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 04C7CC 7F017C9C 00000000 */ nop -/* 04C7D0 7F017CA0 3C018005 */ lui $at, %hi(menu15_aspect) -/* 04C7D4 7F017CA4 0C001164 */ jal video_related_21 -/* 04C7D8 7F017CA8 C42C1AE4 */ lwc1 $f12, %lo(menu15_aspect)($at) -/* 04C7DC 7F017CAC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04C7E0 7F017CB0 44816000 */ mtc1 $at, $f12 -/* 04C7E4 7F017CB4 3C018005 */ lui $at, %hi(menu15_pageheight) -/* 04C7E8 7F017CB8 0C001194 */ jal set_page_height -/* 04C7EC 7F017CBC C42E1AE8 */ lwc1 $f14, %lo(menu15_pageheight)($at) -/* 04C7F0 7F017CC0 0C00114D */ jal set_video2_settings_offset_24 -/* 04C7F4 7F017CC4 00002025 */ move $a0, $zero -/* 04C7F8 7F017CC8 3C018003 */ lui $at, %hi(MP_menu_selected_option) -/* 04C7FC 7F017CCC AC20B5E4 */ sw $zero, %lo(MP_menu_selected_option)($at) -/* 04C800 7F017CD0 00002025 */ move $a0, $zero -/* 04C804 7F017CD4 0C0030C3 */ jal get_controller_buttons_held -/* 04C808 7F017CD8 3405A000 */ li $a1, 40960 -/* 04C80C 7F017CDC 14400049 */ bnez $v0, .L7F017E04 -/* 04C810 7F017CE0 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04C814 7F017CE4 AC20A8E4 */ sw $zero, %lo(tab_3_highlight)($at) -/* 04C818 7F017CE8 3C018003 */ lui $at, %hi(tab_2_highlight) -/* 04C81C 7F017CEC AC20A8E0 */ sw $zero, %lo(tab_2_highlight)($at) -/* 04C820 7F017CF0 3C018003 */ lui $at, %hi(tab_1_highlight) -/* 04C824 7F017CF4 AC20A8DC */ sw $zero, %lo(tab_1_highlight)($at) -/* 04C828 7F017CF8 3C018003 */ lui $at, %hi(D_8002B5E0) -/* 04C82C 7F017CFC 0FC028E7 */ jal isontab3 -/* 04C830 7F017D00 AC20B5E0 */ sw $zero, %lo(D_8002B5E0)($at) -/* 04C834 7F017D04 10400005 */ beqz $v0, .L7F017D1C -/* 04C838 7F017D08 3C058003 */ lui $a1, %hi(D_8002B5DC) -/* 04C83C 7F017D0C 240E0001 */ li $t6, 1 -/* 04C840 7F017D10 3C018003 */ lui $at, %hi(tab_3_highlight) -/* 04C844 7F017D14 1000003B */ b .L7F017E04 -/* 04C848 7F017D18 AC2EA8E4 */ sw $t6, %lo(tab_3_highlight)($at) -.L7F017D1C: -/* 04C84C 7F017D1C 8CA5B5DC */ lw $a1, %lo(D_8002B5DC)($a1) -/* 04C850 7F017D20 3C098003 */ lui $t1, %hi(D_8002B5E0) -/* 04C854 7F017D24 28A1000D */ slti $at, $a1, 0xd -/* 04C858 7F017D28 1420001C */ bnez $at, .L7F017D9C -/* 04C85C 7F017D2C 3C018003 */ lui $at, %hi(cursor_h_pos) -/* 04C860 7F017D30 C424A908 */ lwc1 $f4, %lo(cursor_h_pos)($at) -/* 04C864 7F017D34 24A3FFF3 */ addiu $v1, $a1, -0xd -/* 04C868 7F017D38 4600218D */ trunc.w.s $f6, $f4 -/* 04C86C 7F017D3C 44183000 */ mfc1 $t8, $f6 -/* 04C870 7F017D40 00000000 */ nop -/* 04C874 7F017D44 2B0100DC */ slti $at, $t8, 0xdc -/* 04C878 7F017D48 14200014 */ bnez $at, .L7F017D9C -/* 04C87C 7F017D4C 00000000 */ nop -/* 04C880 7F017D50 04600012 */ bltz $v1, .L7F017D9C -/* 04C884 7F017D54 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 04C888 7F017D58 C428A90C */ lwc1 $f8, %lo(cursor_v_pos)($at) -/* 04C88C 7F017D5C 00031080 */ sll $v0, $v1, 2 -/* 04C890 7F017D60 00431021 */ addu $v0, $v0, $v1 -/* 04C894 7F017D64 4600428D */ trunc.w.s $f10, $f8 -/* 04C898 7F017D68 00021080 */ sll $v0, $v0, 2 -/* 04C89C 7F017D6C 24420035 */ addiu $v0, $v0, 0x35 -/* 04C8A0 7F017D70 44045000 */ mfc1 $a0, $f10 -/* 04C8A4 7F017D74 00000000 */ nop -.L7F017D78: -/* 04C8A8 7F017D78 0082082A */ slt $at, $a0, $v0 -/* 04C8AC 7F017D7C 14200004 */ bnez $at, .L7F017D90 -/* 04C8B0 7F017D80 2468000C */ addiu $t0, $v1, 0xc -/* 04C8B4 7F017D84 3C018003 */ lui $at, %hi(D_8002B5E0) -/* 04C8B8 7F017D88 10000004 */ b .L7F017D9C -/* 04C8BC 7F017D8C AC28B5E0 */ sw $t0, %lo(D_8002B5E0)($at) -.L7F017D90: -/* 04C8C0 7F017D90 2463FFFF */ addiu $v1, $v1, -1 -/* 04C8C4 7F017D94 0461FFF8 */ bgez $v1, .L7F017D78 -/* 04C8C8 7F017D98 2442FFEC */ addiu $v0, $v0, -0x14 -.L7F017D9C: -/* 04C8CC 7F017D9C 8D29B5E0 */ lw $t1, %lo(D_8002B5E0)($t1) -/* 04C8D0 7F017DA0 28A1000D */ slti $at, $a1, 0xd -/* 04C8D4 7F017DA4 55200018 */ bnezl $t1, .L7F017E08 -/* 04C8D8 7F017DA8 00002025 */ move $a0, $zero -/* 04C8DC 7F017DAC 14200003 */ bnez $at, .L7F017DBC -/* 04C8E0 7F017DB0 24A3FFFF */ addiu $v1, $a1, -1 -/* 04C8E4 7F017DB4 10000001 */ b .L7F017DBC -/* 04C8E8 7F017DB8 2403000B */ li $v1, 11 -.L7F017DBC: -/* 04C8EC 7F017DBC 04600011 */ bltz $v1, .L7F017E04 -/* 04C8F0 7F017DC0 3C018003 */ lui $at, %hi(cursor_v_pos) -/* 04C8F4 7F017DC4 C430A90C */ lwc1 $f16, %lo(cursor_v_pos)($at) -/* 04C8F8 7F017DC8 00031080 */ sll $v0, $v1, 2 -/* 04C8FC 7F017DCC 00431021 */ addu $v0, $v0, $v1 -/* 04C900 7F017DD0 4600848D */ trunc.w.s $f18, $f16 -/* 04C904 7F017DD4 00021080 */ sll $v0, $v0, 2 -/* 04C908 7F017DD8 24420035 */ addiu $v0, $v0, 0x35 -/* 04C90C 7F017DDC 44049000 */ mfc1 $a0, $f18 -/* 04C910 7F017DE0 00000000 */ nop -.L7F017DE4: -/* 04C914 7F017DE4 0082082A */ slt $at, $a0, $v0 -/* 04C918 7F017DE8 14200003 */ bnez $at, .L7F017DF8 -/* 04C91C 7F017DEC 3C018003 */ lui $at, %hi(D_8002B5E0) -/* 04C920 7F017DF0 10000004 */ b .L7F017E04 -/* 04C924 7F017DF4 AC23B5E0 */ sw $v1, %lo(D_8002B5E0)($at) -.L7F017DF8: -/* 04C928 7F017DF8 2463FFFF */ addiu $v1, $v1, -1 -/* 04C92C 7F017DFC 0461FFF9 */ bgez $v1, .L7F017DE4 -/* 04C930 7F017E00 2442FFEC */ addiu $v0, $v0, -0x14 -.L7F017E04: -/* 04C934 7F017E04 00002025 */ move $a0, $zero -.L7F017E08: -/* 04C938 7F017E08 0C0030EB */ jal get_controller_buttons_pressed -/* 04C93C 7F017E0C 3405A000 */ li $a1, 40960 -/* 04C940 7F017E10 10400012 */ beqz $v0, .L7F017E5C -/* 04C944 7F017E14 00002025 */ move $a0, $zero -/* 04C948 7F017E18 3C0B8003 */ lui $t3, %hi(tab_3_highlight) -/* 04C94C 7F017E1C 8D6BA8E4 */ lw $t3, %lo(tab_3_highlight)($t3) -/* 04C950 7F017E20 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04C954 7F017E24 240500C7 */ li $a1, 199 -/* 04C958 7F017E28 11600005 */ beqz $t3, .L7F017E40 -/* 04C95C 7F017E2C 00003025 */ move $a2, $zero -/* 04C960 7F017E30 240C0001 */ li $t4, 1 -/* 04C964 7F017E34 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04C968 7F017E38 10000004 */ b .L7F017E4C -/* 04C96C 7F017E3C AC2CA8D8 */ sw $t4, %lo(tab_3_selected)($at) -.L7F017E40: -/* 04C970 7F017E40 240D0001 */ li $t5, 1 -/* 04C974 7F017E44 3C018003 */ lui $at, %hi(MP_menu_selected_option) -/* 04C978 7F017E48 AC2DB5E4 */ sw $t5, %lo(MP_menu_selected_option)($at) -.L7F017E4C: -/* 04C97C 7F017E4C 0C002382 */ jal play_sfx_a1 -/* 04C980 7F017E50 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04C984 7F017E54 1000000C */ b .L7F017E88 -/* 04C988 7F017E58 00000000 */ nop -.L7F017E5C: -/* 04C98C 7F017E5C 0C0030EB */ jal get_controller_buttons_pressed -/* 04C990 7F017E60 24054000 */ li $a1, 16384 -/* 04C994 7F017E64 10400008 */ beqz $v0, .L7F017E88 -/* 04C998 7F017E68 240E0001 */ li $t6, 1 -/* 04C99C 7F017E6C 3C018003 */ lui $at, %hi(tab_3_selected) -/* 04C9A0 7F017E70 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 04C9A4 7F017E74 AC2EA8D8 */ sw $t6, %lo(tab_3_selected)($at) -/* 04C9A8 7F017E78 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 04C9AC 7F017E7C 240500C7 */ li $a1, 199 -/* 04C9B0 7F017E80 0C002382 */ jal play_sfx_a1 -/* 04C9B4 7F017E84 00003025 */ move $a2, $zero -.L7F017E88: -/* 04C9B8 7F017E88 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04C9BC 7F017E8C 0FC02DC9 */ jal disable_all_switches -/* 04C9C0 7F017E90 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04C9C4 7F017E94 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04C9C8 7F017E98 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04C9CC 7F017E9C 00002825 */ move $a1, $zero -/* 04C9D0 7F017EA0 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04C9D4 7F017EA4 24060001 */ li $a2, 1 -/* 04C9D8 7F017EA8 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04C9DC 7F017EAC 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04C9E0 7F017EB0 2405002A */ li $a1, 42 -/* 04C9E4 7F017EB4 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04C9E8 7F017EB8 24060001 */ li $a2, 1 -/* 04C9EC 7F017EBC 3C048003 */ lui $a0, %hi(ptr_folder_object_instance) -/* 04C9F0 7F017EC0 8C84A95C */ lw $a0, %lo(ptr_folder_object_instance)($a0) -/* 04C9F4 7F017EC4 24050006 */ li $a1, 6 -/* 04C9F8 7F017EC8 0FC02DF0 */ jal set_item_visibility_in_objinstance -/* 04C9FC 7F017ECC 24060001 */ li $a2, 1 -/* 04CA00 7F017ED0 0FC026E1 */ jal menu_control_stick_tracking -/* 04CA04 7F017ED4 00000000 */ nop -/* 04CA08 7F017ED8 3C0F8003 */ lui $t7, %hi(tab_3_selected) -/* 04CA0C 7F017EDC 8DEFA8D8 */ lw $t7, %lo(tab_3_selected)($t7) -/* 04CA10 7F017EE0 24040006 */ li $a0, 6 -/* 04CA14 7F017EE4 3C188003 */ lui $t8, %hi(MP_menu_selected_option) -/* 04CA18 7F017EE8 11E00008 */ beqz $t7, .L7F017F0C -/* 04CA1C 7F017EEC 00000000 */ nop -/* 04CA20 7F017EF0 0FC06975 */ jal set_menu_to_mode -/* 04CA24 7F017EF4 00002825 */ move $a1, $zero -/* 04CA28 7F017EF8 3C048003 */ lui $a0, %hi(gamemode) -/* 04CA2C 7F017EFC 0FC035FF */ jal set_menu_cursor_pos_to_setting -/* 04CA30 7F017F00 8C84A8F0 */ lw $a0, %lo(gamemode)($a0) -/* 04CA34 7F017F04 10000012 */ b .L7F017F50 -/* 04CA38 7F017F08 8FBF0014 */ lw $ra, 0x14($sp) -.L7F017F0C: -/* 04CA3C 7F017F0C 8F18B5E4 */ lw $t8, %lo(MP_menu_selected_option)($t8) -/* 04CA40 7F017F10 3C198003 */ lui $t9, %hi(D_8002B5E0) -/* 04CA44 7F017F14 5300000E */ beql $t8, $zero, .L7F017F50 -/* 04CA48 7F017F18 8FBF0014 */ lw $ra, 0x14($sp) -/* 04CA4C 7F017F1C 8F39B5E0 */ lw $t9, %lo(D_8002B5E0)($t9) -/* 04CA50 7F017F20 3C038007 */ lui $v1, %hi(dword_CODE_bss_800697F0) -/* 04CA54 7F017F24 3C098007 */ lui $t1, %hi(cheat_activated) -/* 04CA58 7F017F28 00194080 */ sll $t0, $t9, 2 -/* 04CA5C 7F017F2C 00681821 */ addu $v1, $v1, $t0 -/* 04CA60 7F017F30 8C6397F0 */ lw $v1, %lo(dword_CODE_bss_800697F0)($v1) -/* 04CA64 7F017F34 252996A0 */ addiu $t1, %lo(cheat_activated) # addiu $t1, $t1, -0x6960 -/* 04CA68 7F017F38 240B0001 */ li $t3, 1 -/* 04CA6C 7F017F3C 00691021 */ addu $v0, $v1, $t1 -/* 04CA70 7F017F40 904A0000 */ lbu $t2, ($v0) -/* 04CA74 7F017F44 016A6023 */ subu $t4, $t3, $t2 -/* 04CA78 7F017F48 A04C0000 */ sb $t4, ($v0) -/* 04CA7C 7F017F4C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F017F50: -/* 04CA80 7F017F50 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04CA84 7F017F54 03E00008 */ jr $ra -/* 04CA88 7F017F58 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu15_cheat(void) { - -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu15_cheat -/* 04CA8C 7F017F5C 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 04CA90 7F017F60 AFBF005C */ sw $ra, 0x5c($sp) -/* 04CA94 7F017F64 AFBE0058 */ sw $fp, 0x58($sp) -/* 04CA98 7F017F68 AFB70054 */ sw $s7, 0x54($sp) -/* 04CA9C 7F017F6C AFB60050 */ sw $s6, 0x50($sp) -/* 04CAA0 7F017F70 AFB5004C */ sw $s5, 0x4c($sp) -/* 04CAA4 7F017F74 AFB40048 */ sw $s4, 0x48($sp) -/* 04CAA8 7F017F78 AFB30044 */ sw $s3, 0x44($sp) -/* 04CAAC 7F017F7C AFB20040 */ sw $s2, 0x40($sp) -/* 04CAB0 7F017F80 AFB1003C */ sw $s1, 0x3c($sp) -/* 04CAB4 7F017F84 AFB00038 */ sw $s0, 0x38($sp) -/* 04CAB8 7F017F88 00002825 */ move $a1, $zero -/* 04CABC 7F017F8C 00003025 */ move $a2, $zero -/* 04CAC0 7F017F90 0C0011B4 */ jal set_setfillcolor -/* 04CAC4 7F017F94 00003825 */ move $a3, $zero -/* 04CAC8 7F017F98 0C000FBE */ jal insert_generic_fillrect -/* 04CACC 7F017F9C 00402025 */ move $a0, $v0 -/* 04CAD0 7F017FA0 0FC0357A */ jal sub_GAME_7F00D5E8 -/* 04CAD4 7F017FA4 00402025 */ move $a0, $v0 -/* 04CAD8 7F017FA8 0FC2B366 */ jal microcode_constructor -/* 04CADC 7F017FAC 00402025 */ move $a0, $v0 -/* 04CAE0 7F017FB0 3C038003 */ lui $v1, %hi(D_8002B5DC) -/* 04CAE4 7F017FB4 8C63B5DC */ lw $v1, %lo(D_8002B5DC)($v1) -/* 04CAE8 7F017FB8 0040A025 */ move $s4, $v0 -/* 04CAEC 7F017FBC 0000F025 */ move $fp, $zero -/* 04CAF0 7F017FC0 2861000D */ slti $at, $v1, 0xd -/* 04CAF4 7F017FC4 14200003 */ bnez $at, .L7F017FD4 -/* 04CAF8 7F017FC8 00608825 */ move $s1, $v1 -/* 04CAFC 7F017FCC 10000001 */ b .L7F017FD4 -/* 04CB00 7F017FD0 2411000C */ li $s1, 12 -.L7F017FD4: -/* 04CB04 7F017FD4 1A200086 */ blez $s1, .L7F0181F0 -/* 04CB08 7F017FD8 001E7080 */ sll $t6, $fp, 2 -/* 04CB0C 7F017FDC 001EA880 */ sll $s5, $fp, 2 -/* 04CB10 7F017FE0 02BEA821 */ addu $s5, $s5, $fp -/* 04CB14 7F017FE4 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_800697F0) -/* 04CB18 7F017FE8 25EF97F0 */ addiu $t7, %lo(dword_CODE_bss_800697F0) # addiu $t7, $t7, -0x6810 -/* 04CB1C 7F017FEC 0015A880 */ sll $s5, $s5, 2 -/* 04CB20 7F017FF0 3C178004 */ lui $s7, %hi(ptrFirstFontTableLarge) -/* 04CB24 7F017FF4 3C168004 */ lui $s6, %hi(ptrSecondFontTableLarge) -/* 04CB28 7F017FF8 26D60EB8 */ addiu $s6, %lo(ptrSecondFontTableLarge) # addiu $s6, $s6, 0xeb8 -/* 04CB2C 7F017FFC 26F70EB4 */ addiu $s7, %lo(ptrFirstFontTableLarge) # addiu $s7, $s7, 0xeb4 -/* 04CB30 7F018000 26B50035 */ addiu $s5, $s5, 0x35 -/* 04CB34 7F018004 01CF9821 */ addu $s3, $t6, $t7 -.L7F018008: -/* 04CB38 7F018008 0FC249DD */ jal cheatGetMenuTextPointer -/* 04CB3C 7F01800C 8E640000 */ lw $a0, ($s3) -/* 04CB40 7F018010 8EF80000 */ lw $t8, ($s7) -/* 04CB44 7F018014 00409025 */ move $s2, $v0 -/* 04CB48 7F018018 27A40080 */ addiu $a0, $sp, 0x80 -/* 04CB4C 7F01801C 27A5007C */ addiu $a1, $sp, 0x7c -/* 04CB50 7F018020 00403025 */ move $a2, $v0 -/* 04CB54 7F018024 8EC70000 */ lw $a3, ($s6) -/* 04CB58 7F018028 AFA00014 */ sw $zero, 0x14($sp) -/* 04CB5C 7F01802C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04CB60 7F018030 AFB80010 */ sw $t8, 0x10($sp) -/* 04CB64 7F018034 3C198003 */ lui $t9, %hi(D_8002B5E0) -/* 04CB68 7F018038 8F39B5E0 */ lw $t9, %lo(D_8002B5E0)($t9) -/* 04CB6C 7F01803C 24020037 */ li $v0, 55 -/* 04CB70 7F018040 AFA20088 */ sw $v0, 0x88($sp) -/* 04CB74 7F018044 17D90012 */ bne $fp, $t9, .L7F018090 -/* 04CB78 7F018048 AFB50084 */ sw $s5, 0x84($sp) -/* 04CB7C 7F01804C 0FC028E7 */ jal isontab3 -/* 04CB80 7F018050 00000000 */ nop -/* 04CB84 7F018054 1440000E */ bnez $v0, .L7F018090 -/* 04CB88 7F018058 8FA30084 */ lw $v1, 0x84($sp) -/* 04CB8C 7F01805C 8FA20088 */ lw $v0, 0x88($sp) -/* 04CB90 7F018060 8FA8007C */ lw $t0, 0x7c($sp) -/* 04CB94 7F018064 2469000E */ addiu $t1, $v1, 0xe -/* 04CB98 7F018068 240A0032 */ li $t2, 50 -/* 04CB9C 7F01806C 00483821 */ addu $a3, $v0, $t0 -/* 04CBA0 7F018070 24E70005 */ addiu $a3, $a3, 5 -/* 04CBA4 7F018074 AFAA0014 */ sw $t2, 0x14($sp) -/* 04CBA8 7F018078 AFA90010 */ sw $t1, 0x10($sp) -/* 04CBAC 7F01807C 02802025 */ move $a0, $s4 -/* 04CBB0 7F018080 2466FFFF */ addiu $a2, $v1, -1 -/* 04CBB4 7F018084 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04CBB8 7F018088 2445FFFE */ addiu $a1, $v0, -2 -/* 04CBBC 7F01808C 0040A025 */ move $s4, $v0 -.L7F018090: -/* 04CBC0 7F018090 0C001107 */ jal get_video2_settings_txtClipW -/* 04CBC4 7F018094 00000000 */ nop -/* 04CBC8 7F018098 00028400 */ sll $s0, $v0, 0x10 -/* 04CBCC 7F01809C 00105C03 */ sra $t3, $s0, 0x10 -/* 04CBD0 7F0180A0 0C00110B */ jal get_video2_settings_txtClipH -/* 04CBD4 7F0180A4 01608025 */ move $s0, $t3 -/* 04CBD8 7F0180A8 8ECC0000 */ lw $t4, ($s6) -/* 04CBDC 7F0180AC 8EED0000 */ lw $t5, ($s7) -/* 04CBE0 7F0180B0 240E00FF */ li $t6, 255 -/* 04CBE4 7F0180B4 AFAE0018 */ sw $t6, 0x18($sp) -/* 04CBE8 7F0180B8 02802025 */ move $a0, $s4 -/* 04CBEC 7F0180BC 27A50088 */ addiu $a1, $sp, 0x88 -/* 04CBF0 7F0180C0 27A60084 */ addiu $a2, $sp, 0x84 -/* 04CBF4 7F0180C4 02403825 */ move $a3, $s2 -/* 04CBF8 7F0180C8 AFB0001C */ sw $s0, 0x1c($sp) -/* 04CBFC 7F0180CC AFA20020 */ sw $v0, 0x20($sp) -/* 04CC00 7F0180D0 AFA00024 */ sw $zero, 0x24($sp) -/* 04CC04 7F0180D4 AFA00028 */ sw $zero, 0x28($sp) -/* 04CC08 7F0180D8 AFAC0010 */ sw $t4, 0x10($sp) -/* 04CC0C 7F0180DC 0FC025D8 */ jal write_text_at_abs_coord -/* 04CC10 7F0180E0 AFAD0014 */ sw $t5, 0x14($sp) -/* 04CC14 7F0180E4 8E6F0000 */ lw $t7, ($s3) -/* 04CC18 7F0180E8 3C188007 */ lui $t8, %hi(cheat_activated) -/* 04CC1C 7F0180EC 0040A025 */ move $s4, $v0 -/* 04CC20 7F0180F0 030FC021 */ addu $t8, $t8, $t7 -/* 04CC24 7F0180F4 931896A0 */ lbu $t8, %lo(cheat_activated)($t8) -/* 04CC28 7F0180F8 34119C74 */ li $s1, 40052 -/* 04CC2C 7F0180FC 13000003 */ beqz $t8, .L7F01810C -/* 04CC30 7F018100 00000000 */ nop -/* 04CC34 7F018104 10000001 */ b .L7F01810C -/* 04CC38 7F018108 34119C73 */ li $s1, 40051 -.L7F01810C: -/* 04CC3C 7F01810C 0FC30776 */ jal get_textptr_for_textID -/* 04CC40 7F018110 02202025 */ move $a0, $s1 -/* 04CC44 7F018114 8EF90000 */ lw $t9, ($s7) -/* 04CC48 7F018118 00409025 */ move $s2, $v0 -/* 04CC4C 7F01811C 27A40080 */ addiu $a0, $sp, 0x80 -/* 04CC50 7F018120 27A5007C */ addiu $a1, $sp, 0x7c -/* 04CC54 7F018124 00403025 */ move $a2, $v0 -/* 04CC58 7F018128 8EC70000 */ lw $a3, ($s6) -/* 04CC5C 7F01812C AFA00014 */ sw $zero, 0x14($sp) -/* 04CC60 7F018130 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04CC64 7F018134 AFB90010 */ sw $t9, 0x10($sp) -/* 04CC68 7F018138 8E680000 */ lw $t0, ($s3) -/* 04CC6C 7F01813C 3C098007 */ lui $t1, %hi(cheat_activated) -/* 04CC70 7F018140 240200B3 */ li $v0, 179 -/* 04CC74 7F018144 01284821 */ addu $t1, $t1, $t0 -/* 04CC78 7F018148 912996A0 */ lbu $t1, %lo(cheat_activated)($t1) -/* 04CC7C 7F01814C AFA20088 */ sw $v0, 0x88($sp) -/* 04CC80 7F018150 AFB50084 */ sw $s5, 0x84($sp) -/* 04CC84 7F018154 11200004 */ beqz $t1, .L7F018168 -/* 04CC88 7F018158 241100FF */ li $s1, 255 -/* 04CC8C 7F01815C 3C11A000 */ lui $s1, (0xA00000FF >> 16) # lui $s1, 0xa000 -/* 04CC90 7F018160 10000001 */ b .L7F018168 -/* 04CC94 7F018164 363100FF */ ori $s1, (0xA00000FF & 0xFFFF) # ori $s1, $s1, 0xff -.L7F018168: -/* 04CC98 7F018168 0C001107 */ jal get_video2_settings_txtClipW -/* 04CC9C 7F01816C 00000000 */ nop -/* 04CCA0 7F018170 00028400 */ sll $s0, $v0, 0x10 -/* 04CCA4 7F018174 00105403 */ sra $t2, $s0, 0x10 -/* 04CCA8 7F018178 0C00110B */ jal get_video2_settings_txtClipH -/* 04CCAC 7F01817C 01408025 */ move $s0, $t2 -/* 04CCB0 7F018180 8ECB0000 */ lw $t3, ($s6) -/* 04CCB4 7F018184 8EEC0000 */ lw $t4, ($s7) -/* 04CCB8 7F018188 02802025 */ move $a0, $s4 -/* 04CCBC 7F01818C 27A50088 */ addiu $a1, $sp, 0x88 -/* 04CCC0 7F018190 27A60084 */ addiu $a2, $sp, 0x84 -/* 04CCC4 7F018194 02403825 */ move $a3, $s2 -/* 04CCC8 7F018198 AFB10018 */ sw $s1, 0x18($sp) -/* 04CCCC 7F01819C AFB0001C */ sw $s0, 0x1c($sp) -/* 04CCD0 7F0181A0 AFA20020 */ sw $v0, 0x20($sp) -/* 04CCD4 7F0181A4 AFA00024 */ sw $zero, 0x24($sp) -/* 04CCD8 7F0181A8 AFA00028 */ sw $zero, 0x28($sp) -/* 04CCDC 7F0181AC AFAB0010 */ sw $t3, 0x10($sp) -/* 04CCE0 7F0181B0 0FC025D8 */ jal write_text_at_abs_coord -/* 04CCE4 7F0181B4 AFAC0014 */ sw $t4, 0x14($sp) -/* 04CCE8 7F0181B8 3C038003 */ lui $v1, %hi(D_8002B5DC) -/* 04CCEC 7F0181BC 8C63B5DC */ lw $v1, %lo(D_8002B5DC)($v1) -/* 04CCF0 7F0181C0 27DE0001 */ addiu $fp, $fp, 1 -/* 04CCF4 7F0181C4 26730004 */ addiu $s3, $s3, 4 -/* 04CCF8 7F0181C8 2861000D */ slti $at, $v1, 0xd -/* 04CCFC 7F0181CC 26B50014 */ addiu $s5, $s5, 0x14 -/* 04CD00 7F0181D0 14200003 */ bnez $at, .L7F0181E0 -/* 04CD04 7F0181D4 0040A025 */ move $s4, $v0 -/* 04CD08 7F0181D8 10000002 */ b .L7F0181E4 -/* 04CD0C 7F0181DC 2411000C */ li $s1, 12 -.L7F0181E0: -/* 04CD10 7F0181E0 00608825 */ move $s1, $v1 -.L7F0181E4: -/* 04CD14 7F0181E4 03D1082A */ slt $at, $fp, $s1 -/* 04CD18 7F0181E8 1420FF87 */ bnez $at, .L7F018008 -/* 04CD1C 7F0181EC 00000000 */ nop -.L7F0181F0: -/* 04CD20 7F0181F0 3C168004 */ lui $s6, %hi(ptrSecondFontTableLarge) -/* 04CD24 7F0181F4 3C178004 */ lui $s7, %hi(ptrFirstFontTableLarge) -/* 04CD28 7F0181F8 2861000D */ slti $at, $v1, 0xd -/* 04CD2C 7F0181FC 26F70EB4 */ addiu $s7, %lo(ptrFirstFontTableLarge) # addiu $s7, $s7, 0xeb4 -/* 04CD30 7F018200 1420007D */ bnez $at, .L7F0183F8 -/* 04CD34 7F018204 26D60EB8 */ addiu $s6, %lo(ptrSecondFontTableLarge) # addiu $s6, $s6, 0xeb8 -/* 04CD38 7F018208 246DFFF4 */ addiu $t5, $v1, -0xc -/* 04CD3C 7F01820C 19A0007A */ blez $t5, .L7F0183F8 -/* 04CD40 7F018210 0000F025 */ move $fp, $zero -/* 04CD44 7F018214 3C138007 */ lui $s3, %hi(dword_CODE_bss_800697F0) -/* 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 cheatGetMenuTextPointer -/* 04CD54 7F018224 8E640030 */ lw $a0, 0x30($s3) -/* 04CD58 7F018228 8EEE0000 */ lw $t6, ($s7) -/* 04CD5C 7F01822C 00409025 */ move $s2, $v0 -/* 04CD60 7F018230 27A40080 */ addiu $a0, $sp, 0x80 -/* 04CD64 7F018234 27A5007C */ addiu $a1, $sp, 0x7c -/* 04CD68 7F018238 00403025 */ move $a2, $v0 -/* 04CD6C 7F01823C 8EC70000 */ lw $a3, ($s6) -/* 04CD70 7F018240 AFA00014 */ sw $zero, 0x14($sp) -/* 04CD74 7F018244 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04CD78 7F018248 AFAE0010 */ sw $t6, 0x10($sp) -/* 04CD7C 7F01824C 3C188003 */ lui $t8, %hi(D_8002B5E0) -/* 04CD80 7F018250 8F18B5E0 */ lw $t8, %lo(D_8002B5E0)($t8) -/* 04CD84 7F018254 240200DC */ li $v0, 220 -/* 04CD88 7F018258 27CF000C */ addiu $t7, $fp, 0xc -/* 04CD8C 7F01825C AFA20088 */ sw $v0, 0x88($sp) -/* 04CD90 7F018260 15F80012 */ bne $t7, $t8, .L7F0182AC -/* 04CD94 7F018264 AFB50084 */ sw $s5, 0x84($sp) -/* 04CD98 7F018268 0FC028E7 */ jal isontab3 -/* 04CD9C 7F01826C 00000000 */ nop -/* 04CDA0 7F018270 1440000E */ bnez $v0, .L7F0182AC -/* 04CDA4 7F018274 8FA30084 */ lw $v1, 0x84($sp) -/* 04CDA8 7F018278 8FA20088 */ lw $v0, 0x88($sp) -/* 04CDAC 7F01827C 8FB9007C */ lw $t9, 0x7c($sp) -/* 04CDB0 7F018280 2468000E */ addiu $t0, $v1, 0xe -/* 04CDB4 7F018284 24090032 */ li $t1, 50 -/* 04CDB8 7F018288 00593821 */ addu $a3, $v0, $t9 -/* 04CDBC 7F01828C 24E70005 */ addiu $a3, $a3, 5 -/* 04CDC0 7F018290 AFA90014 */ sw $t1, 0x14($sp) -/* 04CDC4 7F018294 AFA80010 */ sw $t0, 0x10($sp) -/* 04CDC8 7F018298 02802025 */ move $a0, $s4 -/* 04CDCC 7F01829C 2466FFFF */ addiu $a2, $v1, -1 -/* 04CDD0 7F0182A0 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04CDD4 7F0182A4 2445FFFE */ addiu $a1, $v0, -2 -/* 04CDD8 7F0182A8 0040A025 */ move $s4, $v0 -.L7F0182AC: -/* 04CDDC 7F0182AC 0C001107 */ jal get_video2_settings_txtClipW -/* 04CDE0 7F0182B0 00000000 */ nop -/* 04CDE4 7F0182B4 00028400 */ sll $s0, $v0, 0x10 -/* 04CDE8 7F0182B8 00105403 */ sra $t2, $s0, 0x10 -/* 04CDEC 7F0182BC 0C00110B */ jal get_video2_settings_txtClipH -/* 04CDF0 7F0182C0 01408025 */ move $s0, $t2 -/* 04CDF4 7F0182C4 8ECB0000 */ lw $t3, ($s6) -/* 04CDF8 7F0182C8 8EEC0000 */ lw $t4, ($s7) -/* 04CDFC 7F0182CC 240D00FF */ li $t5, 255 -/* 04CE00 7F0182D0 AFAD0018 */ sw $t5, 0x18($sp) -/* 04CE04 7F0182D4 02802025 */ move $a0, $s4 -/* 04CE08 7F0182D8 27A50088 */ addiu $a1, $sp, 0x88 -/* 04CE0C 7F0182DC 27A60084 */ addiu $a2, $sp, 0x84 -/* 04CE10 7F0182E0 02403825 */ move $a3, $s2 -/* 04CE14 7F0182E4 AFB0001C */ sw $s0, 0x1c($sp) -/* 04CE18 7F0182E8 AFA20020 */ sw $v0, 0x20($sp) -/* 04CE1C 7F0182EC AFA00024 */ sw $zero, 0x24($sp) -/* 04CE20 7F0182F0 AFA00028 */ sw $zero, 0x28($sp) -/* 04CE24 7F0182F4 AFAB0010 */ sw $t3, 0x10($sp) -/* 04CE28 7F0182F8 0FC025D8 */ jal write_text_at_abs_coord -/* 04CE2C 7F0182FC AFAC0014 */ sw $t4, 0x14($sp) -/* 04CE30 7F018300 8E6E0030 */ lw $t6, 0x30($s3) -/* 04CE34 7F018304 3C0F8007 */ lui $t7, %hi(cheat_activated) -/* 04CE38 7F018308 0040A025 */ move $s4, $v0 -/* 04CE3C 7F01830C 01EE7821 */ addu $t7, $t7, $t6 -/* 04CE40 7F018310 91EF96A0 */ lbu $t7, %lo(cheat_activated)($t7) -/* 04CE44 7F018314 34119C74 */ li $s1, 40052 -/* 04CE48 7F018318 11E00003 */ beqz $t7, .L7F018328 -/* 04CE4C 7F01831C 00000000 */ nop -/* 04CE50 7F018320 10000001 */ b .L7F018328 -/* 04CE54 7F018324 34119C73 */ li $s1, 40051 -.L7F018328: -/* 04CE58 7F018328 0FC30776 */ jal get_textptr_for_textID -/* 04CE5C 7F01832C 02202025 */ move $a0, $s1 -/* 04CE60 7F018330 8EF80000 */ lw $t8, ($s7) -/* 04CE64 7F018334 00409025 */ move $s2, $v0 -/* 04CE68 7F018338 27A40080 */ addiu $a0, $sp, 0x80 -/* 04CE6C 7F01833C 27A5007C */ addiu $a1, $sp, 0x7c -/* 04CE70 7F018340 00403025 */ move $a2, $v0 -/* 04CE74 7F018344 8EC70000 */ lw $a3, ($s6) -/* 04CE78 7F018348 AFA00014 */ sw $zero, 0x14($sp) -/* 04CE7C 7F01834C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04CE80 7F018350 AFB80010 */ sw $t8, 0x10($sp) -/* 04CE84 7F018354 8E790030 */ lw $t9, 0x30($s3) -/* 04CE88 7F018358 3C088007 */ lui $t0, %hi(cheat_activated) -/* 04CE8C 7F01835C 24020158 */ li $v0, 344 -/* 04CE90 7F018360 01194021 */ addu $t0, $t0, $t9 -/* 04CE94 7F018364 910896A0 */ lbu $t0, %lo(cheat_activated)($t0) -/* 04CE98 7F018368 AFA20088 */ sw $v0, 0x88($sp) -/* 04CE9C 7F01836C AFB50084 */ sw $s5, 0x84($sp) -/* 04CEA0 7F018370 11000004 */ beqz $t0, .L7F018384 -/* 04CEA4 7F018374 241100FF */ li $s1, 255 -/* 04CEA8 7F018378 3C11A000 */ lui $s1, (0xA00000FF >> 16) # lui $s1, 0xa000 -/* 04CEAC 7F01837C 10000001 */ b .L7F018384 -/* 04CEB0 7F018380 363100FF */ ori $s1, (0xA00000FF & 0xFFFF) # ori $s1, $s1, 0xff -.L7F018384: -/* 04CEB4 7F018384 0C001107 */ jal get_video2_settings_txtClipW -/* 04CEB8 7F018388 00000000 */ nop -/* 04CEBC 7F01838C 00028400 */ sll $s0, $v0, 0x10 -/* 04CEC0 7F018390 00104C03 */ sra $t1, $s0, 0x10 -/* 04CEC4 7F018394 0C00110B */ jal get_video2_settings_txtClipH -/* 04CEC8 7F018398 01208025 */ move $s0, $t1 -/* 04CECC 7F01839C 8ECA0000 */ lw $t2, ($s6) -/* 04CED0 7F0183A0 8EEB0000 */ lw $t3, ($s7) -/* 04CED4 7F0183A4 02802025 */ move $a0, $s4 -/* 04CED8 7F0183A8 27A50088 */ addiu $a1, $sp, 0x88 -/* 04CEDC 7F0183AC 27A60084 */ addiu $a2, $sp, 0x84 -/* 04CEE0 7F0183B0 02403825 */ move $a3, $s2 -/* 04CEE4 7F0183B4 AFB10018 */ sw $s1, 0x18($sp) -/* 04CEE8 7F0183B8 AFB0001C */ sw $s0, 0x1c($sp) -/* 04CEEC 7F0183BC AFA20020 */ sw $v0, 0x20($sp) -/* 04CEF0 7F0183C0 AFA00024 */ sw $zero, 0x24($sp) -/* 04CEF4 7F0183C4 AFA00028 */ sw $zero, 0x28($sp) -/* 04CEF8 7F0183C8 AFAA0010 */ sw $t2, 0x10($sp) -/* 04CEFC 7F0183CC 0FC025D8 */ jal write_text_at_abs_coord -/* 04CF00 7F0183D0 AFAB0014 */ sw $t3, 0x14($sp) -/* 04CF04 7F0183D4 3C0C8003 */ lui $t4, %hi(D_8002B5DC) -/* 04CF08 7F0183D8 8D8CB5DC */ lw $t4, %lo(D_8002B5DC)($t4) -/* 04CF0C 7F0183DC 27DE0001 */ addiu $fp, $fp, 1 -/* 04CF10 7F0183E0 26730004 */ addiu $s3, $s3, 4 -/* 04CF14 7F0183E4 258DFFF4 */ addiu $t5, $t4, -0xc -/* 04CF18 7F0183E8 03CD082A */ slt $at, $fp, $t5 -/* 04CF1C 7F0183EC 26B50014 */ addiu $s5, $s5, 0x14 -/* 04CF20 7F0183F0 1420FF8B */ bnez $at, .L7F018220 -/* 04CF24 7F0183F4 0040A025 */ move $s4, $v0 -.L7F0183F8: -/* 04CF28 7F0183F8 0FC0288E */ jal add_tab3_previous -/* 04CF2C 7F0183FC 02802025 */ move $a0, $s4 -/* 04CF30 7F018400 0FC027C2 */ jal load_draw_selected_icon_folder_select -/* 04CF34 7F018404 00402025 */ move $a0, $v0 -/* 04CF38 7F018408 8FBF005C */ lw $ra, 0x5c($sp) -/* 04CF3C 7F01840C 8FB00038 */ lw $s0, 0x38($sp) -/* 04CF40 7F018410 8FB1003C */ lw $s1, 0x3c($sp) -/* 04CF44 7F018414 8FB20040 */ lw $s2, 0x40($sp) -/* 04CF48 7F018418 8FB30044 */ lw $s3, 0x44($sp) -/* 04CF4C 7F01841C 8FB40048 */ lw $s4, 0x48($sp) -/* 04CF50 7F018420 8FB5004C */ lw $s5, 0x4c($sp) -/* 04CF54 7F018424 8FB60050 */ lw $s6, 0x50($sp) -/* 04CF58 7F018428 8FB70054 */ lw $s7, 0x54($sp) -/* 04CF5C 7F01842C 8FBE0058 */ lw $fp, 0x58($sp) -/* 04CF60 7F018430 03E00008 */ jr $ra -/* 04CF64 7F018434 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - - -void init_menu16_nocontroller(void) { - return; -} - -void update_menu16_nocontrollers(void) { - return; -} - -void interface_menu16_nocontrollers(void) { - return; -} - - - - - - - -#ifdef NONMATCHING -void constructor_menu16_nocontrollers(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel constructor_menu16_nocontrollers -/* 04CF80 7F018450 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 04CF84 7F018454 AFBF0034 */ sw $ra, 0x34($sp) -/* 04CF88 7F018458 0C002E9C */ jal get_num_controllers_plugged_in -/* 04CF8C 7F01845C AFA40060 */ sw $a0, 0x60($sp) -/* 04CF90 7F018460 304E0008 */ andi $t6, $v0, 8 -/* 04CF94 7F018464 00004025 */ move $t0, $zero -/* 04CF98 7F018468 11C00002 */ beqz $t6, .L7F018474 -/* 04CF9C 7F01846C 00401825 */ move $v1, $v0 -/* 04CFA0 7F018470 24080001 */ li $t0, 1 -.L7F018474: -/* 04CFA4 7F018474 306F0004 */ andi $t7, $v1, 4 -/* 04CFA8 7F018478 11E00002 */ beqz $t7, .L7F018484 -/* 04CFAC 7F01847C 30780002 */ andi $t8, $v1, 2 -/* 04CFB0 7F018480 25080001 */ addiu $t0, $t0, 1 -.L7F018484: -/* 04CFB4 7F018484 13000002 */ beqz $t8, .L7F018490 -/* 04CFB8 7F018488 8FA40060 */ lw $a0, 0x60($sp) -/* 04CFBC 7F01848C 25080001 */ addiu $t0, $t0, 1 -.L7F018490: -/* 04CFC0 7F018490 0FC07034 */ jal insert_imageDL -/* 04CFC4 7F018494 AFA80044 */ sw $t0, 0x44($sp) -/* 04CFC8 7F018498 0FC2B366 */ jal microcode_constructor -/* 04CFCC 7F01849C 00402025 */ move $a0, $v0 -/* 04CFD0 7F0184A0 8FA80044 */ lw $t0, 0x44($sp) -/* 04CFD4 7F0184A4 AFA20060 */ sw $v0, 0x60($sp) -/* 04CFD8 7F0184A8 24010001 */ li $at, 1 -/* 04CFDC 7F0184AC 51000007 */ beql $t0, $zero, .L7F0184CC -/* 04CFE0 7F0184B0 34049C76 */ li $a0, 40054 -/* 04CFE4 7F0184B4 11010004 */ beq $t0, $at, .L7F0184C8 -/* 04CFE8 7F0184B8 24010002 */ li $at, 2 -/* 04CFEC 7F0184BC 11010002 */ beq $t0, $at, .L7F0184C8 -/* 04CFF0 7F0184C0 24010003 */ li $at, 3 -/* 04CFF4 7F0184C4 15010005 */ bne $t0, $at, .L7F0184DC -.L7F0184C8: -/* 04CFF8 7F0184C8 34049C76 */ li $a0, 40054 -.L7F0184CC: -/* 04CFFC 7F0184CC 0FC30776 */ jal get_textptr_for_textID -/* 04D000 7F0184D0 AFA80044 */ sw $t0, 0x44($sp) -/* 04D004 7F0184D4 8FA80044 */ lw $t0, 0x44($sp) -/* 04D008 7F0184D8 AFA2004C */ sw $v0, 0x4c($sp) -.L7F0184DC: -/* 04D00C 7F0184DC 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) -/* 04D010 7F0184E0 8F390EB4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 04D014 7F0184E4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 04D018 7F0184E8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04D01C 7F0184EC 27A4005C */ addiu $a0, $sp, 0x5c -/* 04D020 7F0184F0 27A50058 */ addiu $a1, $sp, 0x58 -/* 04D024 7F0184F4 8FA6004C */ lw $a2, 0x4c($sp) -/* 04D028 7F0184F8 AFA00014 */ sw $zero, 0x14($sp) -/* 04D02C 7F0184FC AFA80044 */ sw $t0, 0x44($sp) -/* 04D030 7F018500 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04D034 7F018504 AFB90010 */ sw $t9, 0x10($sp) -/* 04D038 7F018508 8FA90058 */ lw $t1, 0x58($sp) -/* 04D03C 7F01850C 8FAD005C */ lw $t5, 0x5c($sp) -/* 04D040 7F018510 240B00DC */ li $t3, 220 -/* 04D044 7F018514 240F0099 */ li $t7, 153 -/* 04D048 7F018518 00095043 */ sra $t2, $t1, 1 -/* 04D04C 7F01851C 000D7043 */ sra $t6, $t5, 1 -/* 04D050 7F018520 016A6023 */ subu $t4, $t3, $t2 -/* 04D054 7F018524 01EEC023 */ subu $t8, $t7, $t6 -/* 04D058 7F018528 AFAC0054 */ sw $t4, 0x54($sp) -/* 04D05C 7F01852C 0C001107 */ jal get_video2_settings_txtClipW -/* 04D060 7F018530 AFB80050 */ sw $t8, 0x50($sp) -/* 04D064 7F018534 0C00110B */ jal get_video2_settings_txtClipH -/* 04D068 7F018538 A7A2003C */ sh $v0, 0x3c($sp) -/* 04D06C 7F01853C 3C198004 */ lui $t9, %hi(ptrSecondFontTableLarge) -/* 04D070 7F018540 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge) -/* 04D074 7F018544 8D290EB4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1) -/* 04D078 7F018548 8F390EB8 */ lw $t9, %lo(ptrSecondFontTableLarge)($t9) -/* 04D07C 7F01854C 87AA003C */ lh $t2, 0x3c($sp) -/* 04D080 7F018550 240BFFFF */ li $t3, -1 -/* 04D084 7F018554 AFAB0018 */ sw $t3, 0x18($sp) -/* 04D088 7F018558 8FA40060 */ lw $a0, 0x60($sp) -/* 04D08C 7F01855C 27A50054 */ addiu $a1, $sp, 0x54 -/* 04D090 7F018560 27A60050 */ addiu $a2, $sp, 0x50 -/* 04D094 7F018564 8FA7004C */ lw $a3, 0x4c($sp) -/* 04D098 7F018568 AFA20020 */ sw $v0, 0x20($sp) -/* 04D09C 7F01856C AFA00024 */ sw $zero, 0x24($sp) -/* 04D0A0 7F018570 AFA00028 */ sw $zero, 0x28($sp) -/* 04D0A4 7F018574 AFA90014 */ sw $t1, 0x14($sp) -/* 04D0A8 7F018578 AFB90010 */ sw $t9, 0x10($sp) -/* 04D0AC 7F01857C 0FC2B6AF */ jal en_text_write_stuff -/* 04D0B0 7F018580 AFAA001C */ sw $t2, 0x1c($sp) -/* 04D0B4 7F018584 8FA80044 */ lw $t0, 0x44($sp) -/* 04D0B8 7F018588 AFA20060 */ sw $v0, 0x60($sp) -/* 04D0BC 7F01858C 24010001 */ li $at, 1 -/* 04D0C0 7F018590 11000007 */ beqz $t0, .L7F0185B0 -/* 04D0C4 7F018594 00000000 */ nop -/* 04D0C8 7F018598 11010005 */ beq $t0, $at, .L7F0185B0 -/* 04D0CC 7F01859C 24010002 */ li $at, 2 -/* 04D0D0 7F0185A0 11010003 */ beq $t0, $at, .L7F0185B0 -/* 04D0D4 7F0185A4 24010003 */ li $at, 3 -/* 04D0D8 7F0185A8 15010004 */ bne $t0, $at, .L7F0185BC -/* 04D0DC 7F0185AC 00000000 */ nop -.L7F0185B0: -/* 04D0E0 7F0185B0 0FC30776 */ jal get_textptr_for_textID -/* 04D0E4 7F0185B4 34049C77 */ li $a0, 40055 -/* 04D0E8 7F0185B8 AFA2004C */ sw $v0, 0x4c($sp) -.L7F0185BC: -/* 04D0EC 7F0185BC 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) -/* 04D0F0 7F0185C0 8D8C0EB4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 04D0F4 7F0185C4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) -/* 04D0F8 7F0185C8 8CE70EB8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04D0FC 7F0185CC 27A4005C */ addiu $a0, $sp, 0x5c -/* 04D100 7F0185D0 27A50058 */ addiu $a1, $sp, 0x58 -/* 04D104 7F0185D4 8FA6004C */ lw $a2, 0x4c($sp) -/* 04D108 7F0185D8 AFA00014 */ sw $zero, 0x14($sp) -/* 04D10C 7F0185DC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04D110 7F0185E0 AFAC0010 */ sw $t4, 0x10($sp) -/* 04D114 7F0185E4 8FAD0058 */ lw $t5, 0x58($sp) -/* 04D118 7F0185E8 8FB9005C */ lw $t9, 0x5c($sp) -/* 04D11C 7F0185EC 240E00DC */ li $t6, 220 -/* 04D120 7F0185F0 240B00B1 */ li $t3, 177 -/* 04D124 7F0185F4 000D7843 */ sra $t7, $t5, 1 -/* 04D128 7F0185F8 00194843 */ sra $t1, $t9, 1 -/* 04D12C 7F0185FC 01CFC023 */ subu $t8, $t6, $t7 -/* 04D130 7F018600 01695023 */ subu $t2, $t3, $t1 -/* 04D134 7F018604 AFB80054 */ sw $t8, 0x54($sp) -/* 04D138 7F018608 0C001107 */ jal get_video2_settings_txtClipW -/* 04D13C 7F01860C AFAA0050 */ sw $t2, 0x50($sp) -/* 04D140 7F018610 0C00110B */ jal get_video2_settings_txtClipH -/* 04D144 7F018614 A7A2003C */ sh $v0, 0x3c($sp) -/* 04D148 7F018618 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableLarge) -/* 04D14C 7F01861C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04D150 7F018620 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04D154 7F018624 8D8C0EB8 */ lw $t4, %lo(ptrSecondFontTableLarge)($t4) -/* 04D158 7F018628 87AF003C */ lh $t7, 0x3c($sp) -/* 04D15C 7F01862C 240EFFFF */ li $t6, -1 -/* 04D160 7F018630 AFAE0018 */ sw $t6, 0x18($sp) -/* 04D164 7F018634 8FA40060 */ lw $a0, 0x60($sp) -/* 04D168 7F018638 27A50054 */ addiu $a1, $sp, 0x54 -/* 04D16C 7F01863C 27A60050 */ addiu $a2, $sp, 0x50 -/* 04D170 7F018640 8FA7004C */ lw $a3, 0x4c($sp) -/* 04D174 7F018644 AFA20020 */ sw $v0, 0x20($sp) -/* 04D178 7F018648 AFA00024 */ sw $zero, 0x24($sp) -/* 04D17C 7F01864C AFA00028 */ sw $zero, 0x28($sp) -/* 04D180 7F018650 AFAD0014 */ sw $t5, 0x14($sp) -/* 04D184 7F018654 AFAC0010 */ sw $t4, 0x10($sp) -/* 04D188 7F018658 0FC2B6AF */ jal en_text_write_stuff -/* 04D18C 7F01865C AFAF001C */ sw $t7, 0x1c($sp) -/* 04D190 7F018660 8FBF0034 */ lw $ra, 0x34($sp) -/* 04D194 7F018664 27BD0060 */ addiu $sp, $sp, 0x60 -/* 04D198 7F018668 03E00008 */ jr $ra -/* 04D19C 7F01866C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel constructor_menu16_nocontrollers -/* 04D070 7F018500 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 04D074 7F018504 AFBF0034 */ sw $ra, 0x34($sp) -/* 04D078 7F018508 0C002EA0 */ jal get_num_controllers_plugged_in -/* 04D07C 7F01850C AFA40060 */ sw $a0, 0x60($sp) -/* 04D080 7F018510 304E0008 */ andi $t6, $v0, 8 -/* 04D084 7F018514 00004025 */ move $t0, $zero -/* 04D088 7F018518 11C00002 */ beqz $t6, .L7F018524 -/* 04D08C 7F01851C 00401825 */ move $v1, $v0 -/* 04D090 7F018520 24080001 */ li $t0, 1 -.L7F018524: -/* 04D094 7F018524 306F0004 */ andi $t7, $v1, 4 -/* 04D098 7F018528 11E00002 */ beqz $t7, .L7F018534 -/* 04D09C 7F01852C 30780002 */ andi $t8, $v1, 2 -/* 04D0A0 7F018530 25080001 */ addiu $t0, $t0, 1 -.L7F018534: -/* 04D0A4 7F018534 13000002 */ beqz $t8, .L7F018540 -/* 04D0A8 7F018538 8FA40060 */ lw $a0, 0x60($sp) -/* 04D0AC 7F01853C 25080001 */ addiu $t0, $t0, 1 -.L7F018540: -/* 04D0B0 7F018540 0FC070A0 */ jal insert_imageDL -/* 04D0B4 7F018544 AFA80044 */ sw $t0, 0x44($sp) -/* 04D0B8 7F018548 0FC2B652 */ jal microcode_constructor -/* 04D0BC 7F01854C 00402025 */ move $a0, $v0 -/* 04D0C0 7F018550 8FA80044 */ lw $t0, 0x44($sp) -/* 04D0C4 7F018554 AFA20060 */ sw $v0, 0x60($sp) -/* 04D0C8 7F018558 24010001 */ li $at, 1 -/* 04D0CC 7F01855C 11000007 */ beqz $t0, .L7F01857C -/* 04D0D0 7F018560 34049C76 */ li $a0, 40054 -/* 04D0D4 7F018564 11010005 */ beq $t0, $at, .L7F01857C -/* 04D0D8 7F018568 24010002 */ li $at, 2 -/* 04D0DC 7F01856C 11010003 */ beq $t0, $at, .L7F01857C -/* 04D0E0 7F018570 24010003 */ li $at, 3 -/* 04D0E4 7F018574 15010005 */ bne $t0, $at, .L7F01858C -/* 04D0E8 7F018578 00000000 */ nop -.L7F01857C: -/* 04D0EC 7F01857C 0FC30AA2 */ jal get_textptr_for_textID -/* 04D0F0 7F018580 AFA80044 */ sw $t0, 0x44($sp) -/* 04D0F4 7F018584 8FA80044 */ lw $t0, 0x44($sp) -/* 04D0F8 7F018588 AFA2004C */ sw $v0, 0x4c($sp) -.L7F01858C: -/* 04D0FC 7F01858C 3C198004 */ lui $t9, %hi(ptrFirstFontTableLarge) # $t9, 0x8004 -/* 04D100 7F018590 8F390EE4 */ lw $t9, %lo(ptrFirstFontTableLarge)($t9) -/* 04D104 7F018594 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) # $a3, 0x8004 -/* 04D108 7F018598 8CE70EE8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04D10C 7F01859C 27A4005C */ addiu $a0, $sp, 0x5c -/* 04D110 7F0185A0 27A50058 */ addiu $a1, $sp, 0x58 -/* 04D114 7F0185A4 8FA6004C */ lw $a2, 0x4c($sp) -/* 04D118 7F0185A8 AFA00014 */ sw $zero, 0x14($sp) -/* 04D11C 7F0185AC AFA80044 */ sw $t0, 0x44($sp) -/* 04D120 7F0185B0 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 04D124 7F0185B4 AFB90010 */ sw $t9, 0x10($sp) -/* 04D128 7F0185B8 8FA90058 */ lw $t1, 0x58($sp) -/* 04D12C 7F0185BC 8FAD005C */ lw $t5, 0x5c($sp) -/* 04D130 7F0185C0 3C198005 */ lui $t9, %hi(j_text_trigger) # $t9, 0x8005 -/* 04D134 7F0185C4 8F398500 */ lw $t9, %lo(j_text_trigger)($t9) -/* 04D138 7F0185C8 240B00DC */ li $t3, 220 -/* 04D13C 7F0185CC 240F0099 */ li $t7, 153 -/* 04D140 7F0185D0 00095043 */ sra $t2, $t1, 1 -/* 04D144 7F0185D4 000D7043 */ sra $t6, $t5, 1 -/* 04D148 7F0185D8 016A6023 */ subu $t4, $t3, $t2 -/* 04D14C 7F0185DC 01EEC023 */ subu $t8, $t7, $t6 -/* 04D150 7F0185E0 8FA80044 */ lw $t0, 0x44($sp) -/* 04D154 7F0185E4 AFAC0054 */ sw $t4, 0x54($sp) -/* 04D158 7F0185E8 1320001D */ beqz $t9, .L7F018660 -/* 04D15C 7F0185EC AFB80050 */ sw $t8, 0x50($sp) -/* 04D160 7F0185F0 0C001107 */ jal get_video2_settings_txtClipW -/* 04D164 7F0185F4 AFA80044 */ sw $t0, 0x44($sp) -/* 04D168 7F0185F8 0C00110B */ jal get_video2_settings_txtClipH -/* 04D16C 7F0185FC A7A2003C */ sh $v0, 0x3c($sp) -/* 04D170 7F018600 3C098004 */ lui $t1, %hi(ptrSecondFontTableLarge) # $t1, 0x8004 -/* 04D174 7F018604 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) # $t3, 0x8004 -/* 04D178 7F018608 8D6B0EE4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3) -/* 04D17C 7F01860C 8D290EE8 */ lw $t1, %lo(ptrSecondFontTableLarge)($t1) -/* 04D180 7F018610 87AD003C */ lh $t5, 0x3c($sp) -/* 04D184 7F018614 3C0C0080 */ lui $t4, (0x008000FF >> 16) # lui $t4, 0x80 -/* 04D188 7F018618 358C00FF */ ori $t4, (0x008000FF & 0xFFFF) # ori $t4, $t4, 0xff -/* 04D18C 7F01861C 240AFFFF */ li $t2, -1 -/* 04D190 7F018620 AFAA0018 */ sw $t2, 0x18($sp) -/* 04D194 7F018624 AFAC001C */ sw $t4, 0x1c($sp) -/* 04D198 7F018628 8FA40060 */ lw $a0, 0x60($sp) -/* 04D19C 7F01862C 27A50054 */ addiu $a1, $sp, 0x54 -/* 04D1A0 7F018630 27A60050 */ addiu $a2, $sp, 0x50 -/* 04D1A4 7F018634 8FA7004C */ lw $a3, 0x4c($sp) -/* 04D1A8 7F018638 AFA20024 */ sw $v0, 0x24($sp) -/* 04D1AC 7F01863C AFA00028 */ sw $zero, 0x28($sp) -/* 04D1B0 7F018640 AFA0002C */ sw $zero, 0x2c($sp) -/* 04D1B4 7F018644 AFAB0014 */ sw $t3, 0x14($sp) -/* 04D1B8 7F018648 AFA90010 */ sw $t1, 0x10($sp) -/* 04D1BC 7F01864C 0FC2BCA7 */ jal jp_text_write_stuff -/* 04D1C0 7F018650 AFAD0020 */ sw $t5, 0x20($sp) -/* 04D1C4 7F018654 8FA80044 */ lw $t0, 0x44($sp) -/* 04D1C8 7F018658 10000019 */ b .L7F0186C0 -/* 04D1CC 7F01865C AFA20060 */ sw $v0, 0x60($sp) -.L7F018660: -/* 04D1D0 7F018660 0C001107 */ jal get_video2_settings_txtClipW -/* 04D1D4 7F018664 AFA80044 */ sw $t0, 0x44($sp) -/* 04D1D8 7F018668 0C00110B */ jal get_video2_settings_txtClipH -/* 04D1DC 7F01866C A7A2003C */ sh $v0, 0x3c($sp) -/* 04D1E0 7F018670 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableLarge) # $t7, 0x8004 -/* 04D1E4 7F018674 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) # $t6, 0x8004 -/* 04D1E8 7F018678 8DCE0EE4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 04D1EC 7F01867C 8DEF0EE8 */ lw $t7, %lo(ptrSecondFontTableLarge)($t7) -/* 04D1F0 7F018680 87B9003C */ lh $t9, 0x3c($sp) -/* 04D1F4 7F018684 2418FFFF */ li $t8, -1 -/* 04D1F8 7F018688 AFB80018 */ sw $t8, 0x18($sp) -/* 04D1FC 7F01868C 8FA40060 */ lw $a0, 0x60($sp) -/* 04D200 7F018690 27A50054 */ addiu $a1, $sp, 0x54 -/* 04D204 7F018694 27A60050 */ addiu $a2, $sp, 0x50 -/* 04D208 7F018698 8FA7004C */ lw $a3, 0x4c($sp) -/* 04D20C 7F01869C AFA20020 */ sw $v0, 0x20($sp) -/* 04D210 7F0186A0 AFA00024 */ sw $zero, 0x24($sp) -/* 04D214 7F0186A4 AFA00028 */ sw $zero, 0x28($sp) -/* 04D218 7F0186A8 AFAE0014 */ sw $t6, 0x14($sp) -/* 04D21C 7F0186AC AFAF0010 */ sw $t7, 0x10($sp) -/* 04D220 7F0186B0 0FC2B99B */ jal en_text_write_stuff -/* 04D224 7F0186B4 AFB9001C */ sw $t9, 0x1c($sp) -/* 04D228 7F0186B8 8FA80044 */ lw $t0, 0x44($sp) -/* 04D22C 7F0186BC AFA20060 */ sw $v0, 0x60($sp) -.L7F0186C0: -/* 04D230 7F0186C0 11000007 */ beqz $t0, .L7F0186E0 -/* 04D234 7F0186C4 24010001 */ li $at, 1 -/* 04D238 7F0186C8 11010005 */ beq $t0, $at, .L7F0186E0 -/* 04D23C 7F0186CC 24010002 */ li $at, 2 -/* 04D240 7F0186D0 11010003 */ beq $t0, $at, .L7F0186E0 -/* 04D244 7F0186D4 24010003 */ li $at, 3 -/* 04D248 7F0186D8 15010004 */ bne $t0, $at, .L7F0186EC -/* 04D24C 7F0186DC 00000000 */ nop -.L7F0186E0: -/* 04D250 7F0186E0 0FC30AA2 */ jal get_textptr_for_textID -/* 04D254 7F0186E4 34049C77 */ li $a0, 40055 -/* 04D258 7F0186E8 AFA2004C */ sw $v0, 0x4c($sp) -.L7F0186EC: -/* 04D25C 7F0186EC 3C098004 */ lui $t1, %hi(ptrFirstFontTableLarge) # $t1, 0x8004 -/* 04D260 7F0186F0 8D290EE4 */ lw $t1, %lo(ptrFirstFontTableLarge)($t1) -/* 04D264 7F0186F4 3C078004 */ lui $a3, %hi(ptrSecondFontTableLarge) # $a3, 0x8004 -/* 04D268 7F0186F8 8CE70EE8 */ lw $a3, %lo(ptrSecondFontTableLarge)($a3) -/* 04D26C 7F0186FC 27A4005C */ addiu $a0, $sp, 0x5c -/* 04D270 7F018700 27A50058 */ addiu $a1, $sp, 0x58 -/* 04D274 7F018704 8FA6004C */ lw $a2, 0x4c($sp) -/* 04D278 7F018708 AFA00014 */ sw $zero, 0x14($sp) -/* 04D27C 7F01870C 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 04D280 7F018710 AFA90010 */ sw $t1, 0x10($sp) -/* 04D284 7F018714 8FAB0058 */ lw $t3, 0x58($sp) -/* 04D288 7F018718 8FAF005C */ lw $t7, 0x5c($sp) -/* 04D28C 7F01871C 3C098005 */ lui $t1, %hi(j_text_trigger) # $t1, 0x8005 -/* 04D290 7F018720 8D298500 */ lw $t1, %lo(j_text_trigger)($t1) -/* 04D294 7F018724 240C00DC */ li $t4, 220 -/* 04D298 7F018728 241800B1 */ li $t8, 177 -/* 04D29C 7F01872C 000B5043 */ sra $t2, $t3, 1 -/* 04D2A0 7F018730 000F7043 */ sra $t6, $t7, 1 -/* 04D2A4 7F018734 018A6823 */ subu $t5, $t4, $t2 -/* 04D2A8 7F018738 030EC823 */ subu $t9, $t8, $t6 -/* 04D2AC 7F01873C AFAD0054 */ sw $t5, 0x54($sp) -/* 04D2B0 7F018740 1120001C */ beqz $t1, .L7F0187B4 -/* 04D2B4 7F018744 AFB90050 */ sw $t9, 0x50($sp) -/* 04D2B8 7F018748 0C001107 */ jal get_video2_settings_txtClipW -/* 04D2BC 7F01874C 00000000 */ nop -/* 04D2C0 7F018750 0C00110B */ jal get_video2_settings_txtClipH -/* 04D2C4 7F018754 A7A2003C */ sh $v0, 0x3c($sp) -/* 04D2C8 7F018758 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableLarge) # $t3, 0x8004 -/* 04D2CC 7F01875C 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableLarge) # $t4, 0x8004 -/* 04D2D0 7F018760 8D8C0EE4 */ lw $t4, %lo(ptrFirstFontTableLarge)($t4) -/* 04D2D4 7F018764 8D6B0EE8 */ lw $t3, %lo(ptrSecondFontTableLarge)($t3) -/* 04D2D8 7F018768 87AF003C */ lh $t7, 0x3c($sp) -/* 04D2DC 7F01876C 3C0D0080 */ lui $t5, (0x008000FF >> 16) # lui $t5, 0x80 -/* 04D2E0 7F018770 35AD00FF */ ori $t5, (0x008000FF & 0xFFFF) # ori $t5, $t5, 0xff -/* 04D2E4 7F018774 240AFFFF */ li $t2, -1 -/* 04D2E8 7F018778 AFAA0018 */ sw $t2, 0x18($sp) -/* 04D2EC 7F01877C AFAD001C */ sw $t5, 0x1c($sp) -/* 04D2F0 7F018780 8FA40060 */ lw $a0, 0x60($sp) -/* 04D2F4 7F018784 27A50054 */ addiu $a1, $sp, 0x54 -/* 04D2F8 7F018788 27A60050 */ addiu $a2, $sp, 0x50 -/* 04D2FC 7F01878C 8FA7004C */ lw $a3, 0x4c($sp) -/* 04D300 7F018790 AFA20024 */ sw $v0, 0x24($sp) -/* 04D304 7F018794 AFA00028 */ sw $zero, 0x28($sp) -/* 04D308 7F018798 AFA0002C */ sw $zero, 0x2c($sp) -/* 04D30C 7F01879C AFAC0014 */ sw $t4, 0x14($sp) -/* 04D310 7F0187A0 AFAB0010 */ sw $t3, 0x10($sp) -/* 04D314 7F0187A4 0FC2BCA7 */ jal jp_text_write_stuff -/* 04D318 7F0187A8 AFAF0020 */ sw $t7, 0x20($sp) -/* 04D31C 7F0187AC 10000018 */ b .L7F018810 -/* 04D320 7F0187B0 AFA20060 */ sw $v0, 0x60($sp) -.L7F0187B4: -/* 04D324 7F0187B4 0C001107 */ jal get_video2_settings_txtClipW -/* 04D328 7F0187B8 00000000 */ nop -/* 04D32C 7F0187BC 0C00110B */ jal get_video2_settings_txtClipH -/* 04D330 7F0187C0 A7A2003C */ sh $v0, 0x3c($sp) -/* 04D334 7F0187C4 3C188004 */ lui $t8, %hi(ptrSecondFontTableLarge) # $t8, 0x8004 -/* 04D338 7F0187C8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) # $t6, 0x8004 -/* 04D33C 7F0187CC 8DCE0EE4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 04D340 7F0187D0 8F180EE8 */ lw $t8, %lo(ptrSecondFontTableLarge)($t8) -/* 04D344 7F0187D4 87A9003C */ lh $t1, 0x3c($sp) -/* 04D348 7F0187D8 2419FFFF */ li $t9, -1 -/* 04D34C 7F0187DC AFB90018 */ sw $t9, 0x18($sp) -/* 04D350 7F0187E0 8FA40060 */ lw $a0, 0x60($sp) -/* 04D354 7F0187E4 27A50054 */ addiu $a1, $sp, 0x54 -/* 04D358 7F0187E8 27A60050 */ addiu $a2, $sp, 0x50 -/* 04D35C 7F0187EC 8FA7004C */ lw $a3, 0x4c($sp) -/* 04D360 7F0187F0 AFA20020 */ sw $v0, 0x20($sp) -/* 04D364 7F0187F4 AFA00024 */ sw $zero, 0x24($sp) -/* 04D368 7F0187F8 AFA00028 */ sw $zero, 0x28($sp) -/* 04D36C 7F0187FC AFAE0014 */ sw $t6, 0x14($sp) -/* 04D370 7F018800 AFB80010 */ sw $t8, 0x10($sp) -/* 04D374 7F018804 0FC2B99B */ jal en_text_write_stuff -/* 04D378 7F018808 AFA9001C */ sw $t1, 0x1c($sp) -/* 04D37C 7F01880C AFA20060 */ sw $v0, 0x60($sp) -.L7F018810: -/* 04D380 7F018810 8FBF0034 */ lw $ra, 0x34($sp) -/* 04D384 7F018814 8FA20060 */ lw $v0, 0x60($sp) -/* 04D388 7F018818 27BD0060 */ addiu $sp, $sp, 0x60 -/* 04D38C 7F01881C 03E00008 */ jr $ra -/* 04D390 7F018820 00000000 */ nop -) -#endif - -#endif - -#ifdef NONMATCHING -void do_extended_cast_display(BOOL flag) -{ - if (flag != FALSE) { - do_not_play_intro_movie = 0; - full_actor_intro = flag; - return; - } - do_not_play_intro_movie = 1; - full_actor_intro = flag; -} -#else -GLOBAL_ASM( -.text -glabel do_extended_cast_display -/* 04D1A0 7F018670 3C018003 */ lui $at, %hi(full_actor_intro) -/* 04D1A4 7F018674 10800004 */ beqz $a0, .L7F018688 -/* 04D1A8 7F018678 AC24B5FC */ sw $a0, %lo(full_actor_intro)($at) -/* 04D1AC 7F01867C 3C018003 */ lui $at, %hi(do_not_play_intro_movie) -/* 04D1B0 7F018680 03E00008 */ jr $ra -/* 04D1B4 7F018684 AC20B5E8 */ sw $zero, %lo(do_not_play_intro_movie)($at) -.L7F018688: -/* 04D1B8 7F018688 240E0001 */ li $t6, 1 -/* 04D1BC 7F01868C 3C018003 */ lui $at, %hi(do_not_play_intro_movie) -/* 04D1C0 7F018690 AC2EB5E8 */ sw $t6, %lo(do_not_play_intro_movie)($at) -/* 04D1C4 7F018694 03E00008 */ jr $ra -/* 04D1C8 7F018698 00000000 */ nop -) -#endif - - - - - - -#ifdef NONMATCHING -void init_menu18_displaycast(void) -{ - object_header *objheader; - uint uVar2; - uint uVar3; - int iVar4; - longlong lVar1; - BOOL BVar5; - int iVar6; - undefined4 extraout_a2_lo; - undefined4 extraout_a2_lo_00; - undefined4 extraout_a3_lo; - int *piVar7; - int *piVar8; - int *piVar9; - int *piVar10; - float fVar11; - f32 scale; - f32 scale_00; - float extraout_f12; - f32 extraout_f12_00; - float extraout_f12_01; - f32 extraout_f14; - float extraout_f14_00; - int local_8c [10]; - int rifles [6]; - object_header *headHeader; - HEADS headID; - BODIES bodyID; - int aiStack40 [4]; - float local_18; - undefined4 local_14; - undefined4 local_10; - undefined *local_8; - undefined *local_4; - - local_4 = ptr_logo_and_walletbond_DL; - local_18 = dword_8002BA2C; - local_14 = DAT_8002ba30; - local_10 = DAT_8002ba34; - headHeader = NULL; - uVar2 = get_random_value(); - if ((full_actor_intro != FALSE) && (do_not_play_intro_movie == 0)) { - musicTrack1Vol(0x7fff); - music1_playing = FALSE; - musicTrack1Play(M_INTRO); - } - intro_animation_count = 0; - if (-1 < intro_animation_table[0].animID) { - intro_animation_count = 1; - while (-1 < intro_animation_table[intro_animation_count].animID) { - intro_animation_count += 1; - } - } - randomly_selected_intro_animation = get_random_value(); - randomly_selected_intro_animation %= intro_animation_count; - bodyID = intro_char_table[do_not_play_intro_movie].body; - headID = intro_char_table[do_not_play_intro_movie].head; - iVar6 = intro_animation_table[randomly_selected_intro_animation].camera_preset; - if (intro_animation_count == 0) { - trap(0x1c00); - } - if (bodyID == BODY_Special_Operations_Uniform) { - uVar3 = get_random_value(); - if (true) { - switch(uVar3 % 5) { - case 1: - headID = HEAD_Male_Pierce_Bond_2; - bodyID = BODY_Formal_Wear; - break; - case 2: - headID = HEAD_Male_Pierce_Bond_2; - bodyID = BODY_Jungle_Fatigues; - break; - case 3: - headID = HEAD_Male_Pierce_Bond_2; - bodyID = BODY_Parka; - break; - case 4: - headID = HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT; - bodyID = BODY_Tuxedo; - } - } - } - else { - if (bodyID == BODY_Natalya_Skirt) { - uVar3 = get_random_value(); - if ((uVar3 & 1) != 0) { - bodyID = BODY_Natalya_Jungle_Fatigues; - } - } - else { - if ((bodyID == BODY_Trevelyan_006) && (uVar3 = get_random_value(), (uVar3 & 1) != 0)) { - bodyID = BODY_Trevelyan_Janus; - } - } - } - if (headID == 0xffffff9f) { - headID = get_random_head(bodyID); - } - local_8 = &DAT_00031160; - proc_7F0D2448(((uint)(local_4 + 0x3119f) | 0x3f) ^ 0x3f,0x1b8,0x14a); - proc_7F0CBAF4(aiStack40,(int)local_4,0x19000); - objheader = c_item_entries[bodyID].header; - local_4 = local_4 + 0x19000; - local_8 = local_8 + -0x19000; - load_object_fill_header - (objheader,(int *)c_item_entries[bodyID].filename,(int)local_4,(int)local_8, - (int)aiStack40); - iVar4 = proc_7F0BD188((byte *)c_item_entries[bodyID].filename); - uVar3 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_8 = local_8 + -uVar3; - local_4 = local_4 + uVar3; - if (-1 < (int)headID) { - headHeader = c_item_entries[headID].header; - load_object_fill_header - (headHeader,(int *)c_item_entries[headID].filename,(int)local_4,(int)local_8, - (int)aiStack40); - iVar4 = proc_7F0BD188((byte *)c_item_entries[headID].filename); - uVar3 = (iVar4 + 0x3fU | 0x3f) ^ 0x3f; - local_8 = local_8 + -uVar3; - local_4 = local_4 + uVar3; - } - objinstance = (undefined *)setup_chr_instance(bodyID,headID,objheader,headHeader,0); - set_obj_instance_controller_scale((int)objinstance,scale); - if (iVar6 == 0) { - ptrobjinstance = NULL; - } - else { - if (iVar6 == 2) { - rifles[0] = random_rifles_in_intro[0]; - rifles[1] = random_rifles_in_intro[1]; - rifles[3] = random_rifles_in_intro[3]; - rifles[2] = random_rifles_in_intro[2]; - rifles[4] = random_rifles_in_intro[4]; - rifles[5] = random_rifles_in_intro[5]; - uVar3 = get_random_value(); - iVar6 = rifles[uVar3 % 6]; - } - else { - piVar7 = random_pistols_in_intro; - piVar9 = local_8c; - do { - piVar8 = piVar7 + 3; - piVar10 = piVar9 + 3; - *piVar9 = *piVar7; - piVar9[1] = piVar7[1]; - piVar9[2] = piVar7[2]; - piVar7 = piVar8; - piVar9 = piVar10; - } while (piVar8 != random_pistols_in_intro + 9); - *piVar10 = random_pistols_in_intro[9]; - uVar3 = get_random_value(); - iVar6 = local_8c[uVar3 % 10]; - } - if ((iVar6 == 0xbe) && (lVar1 = check_cradle_completed_any_folder(), lVar1 == 0)) { - iVar6 = 0xbf; - } - if ((iVar6 == 0xbb) && (BVar5 = check_aztec_completed_any_folder_secret_00(), BVar5 == FALSE)) { - iVar6 = 0xbf; - } - if ((iVar6 == 0xd0) && (BVar5 = check_egypt_completed_any_folder_00(), BVar5 == FALSE)) { - iVar6 = 0xbf; - } - objheader = (object_header *)PitemZ_entries[iVar6].header; - load_object_fill_header - (objheader,(int *)PitemZ_entries[iVar6].filename,(int)local_4,(int)local_8, - (int)aiStack40); - proc_7F0BD188((byte *)PitemZ_entries[iVar6].filename); - set_objuse_flag_compute_grp_nums_set_obj_loaded(objheader); - ptrobjinstance = (undefined *)get_obj_instance_controller_for_header((PitemZ_header *)objheader) - ; - set_obj_instance_controller_scale((int)ptrobjinstance,scale_00); - iVar6 = 3; - *(undefined **)(ptrobjinstance + 0x18) = objinstance; - if ((uVar2 & 1) != 0) { - iVar6 = 5; - } - *(undefined4 *)(ptrobjinstance + 0x1c) = - *(undefined4 *)(*(int *)(*(int *)(objinstance + 8) + 8) + iVar6 * 4); - } - proc_7F06CE84((int)objinstance,0x3dcccccd); - setsuboffset((int)objinstance,&local_18,extraout_a2_lo,extraout_a3_lo); - setsubroty((int)objinstance,extraout_f12,0.00000000,extraout_a2_lo_00); - proc_7F06FF18((int)objinstance,extraout_f12_00,extraout_f14); - proc_7F06FCA8((int)objinstance, - *(undefined4 *) - (animation_table_ptrs1 + - intro_animation_table[randomly_selected_intro_animation].animID * 4), - (char)(uVar2 & 1),extraout_f12_01, - intro_animation_table[randomly_selected_intro_animation].startframeoffset, - extraout_f14_00); - menu_timer = 0; - iVar6 = get_random_value(); - fVar11 = (float)iVar6; - if (iVar6 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695a4 = fVar11 * 0.00000000 * 80.00000000 + 70.00000000; - iVar6 = get_random_value(); - fVar11 = (float)iVar6; - if (iVar6 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695a8 = fVar11 * 0.00000000 * 80.00000000 + 70.00000000; - iVar6 = get_random_value(); - fVar11 = (float)iVar6; - if (iVar6 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695b0 = (fVar11 * 0.00000000 - 0.50000000) * flt_80051B00; - iVar6 = get_random_value(); - fVar11 = (float)iVar6; - if (iVar6 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695b4 = (fVar11 * 0.00000000 - 0.50000000) * flt_80051B04; - iVar6 = get_random_value(); - fVar11 = (float)iVar6; - if (iVar6 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695bc = fVar11 * 0.00000000 * 200.00000000 + -100.00000000; - iVar6 = get_random_value(); - fVar11 = (float)iVar6; - if (iVar6 < 0) { - fVar11 = fVar11 + 4294967296.00000000; - } - DAT_800695a0 = DAT_800695a4; - dword_80069C6C = DAT_800695b0; - DAT_800695b8 = DAT_800695bc; - DAT_800695c0 = fVar11 * 0.00000000 * 200.00000000 + -100.00000000; - DAT_800695e4 = 1; - DAT_800695e8 = 0; - DAT_800695ec = 0; - DAT_800695f0 = 0; -} -#else -GLOBAL_ASM( -.late_rodata -glabel jpt_intro_bond_head - .word set_body_mp_choice_maybe - .word set_body_default - .word set_body_jungle - .word set_body_snowsuit - .word set_body_5 -glabel D_80051B00 -.word 0x40C90FDB /*6.2831855;*/ -glabel D_80051B04 -.word 0x4020D97C /*2.5132742;*/ -glabel D_80051B08 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051B0C -.word 0x40C90FDB /*6.2831855;*/ -glabel D_80051B10 -.word 0x3E4CCCCD /*0.2;*/ -glabel D_80051B14 -.word 0x3E4CCCCD /*0.2;*/ -glabel D_80051B18 -.word 0x3E4CCCCD /*0.2;*/ -glabel D_80051B1C -.word 0x3E4CCCCD /*0.2;*/ -glabel D_80051B20 -.word 0x3D4CCCD0 /*0.050000012;*/ -glabel D_80051B24 -.word 0x3D4CCCD0 /*0.050000012;*/ -glabel D_80051B28 -.word 0x3F733333 /*0.94999999;*/ -glabel D_80051B2C -.word 0x3F733333 /*0.94999999;*/ -glabel D_80051B30 -.word 0x3F733333 /*0.94999999;*/ -glabel D_80051B34 -.word 0x3D4CCCD0 /*0.050000012;*/ -glabel D_80051B38 -.word 0x40490FDB /*3.1415927;*/ -glabel D_80051B3C -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051B40 -.word 0x461C4000 /*10000.0;*/ -glabel D_80051B44 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051B48 -.word 0x3FAAAAAB /*1.3333334;*/ -.text -glabel init_menu18_displaycast -/* 04D1CC 7F01869C 3C0E8003 */ lui $t6, %hi(ptr_logo_and_walletbond_DL) -/* 04D1D0 7F0186A0 8DCEA950 */ lw $t6, %lo(ptr_logo_and_walletbond_DL)($t6) -/* 04D1D4 7F0186A4 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 04D1D8 7F0186A8 3C188003 */ lui $t8, %hi(D_8002BA2C) -/* 04D1DC 7F0186AC AFBF001C */ sw $ra, 0x1c($sp) -/* 04D1E0 7F0186B0 2718BA2C */ addiu $t8, %lo(D_8002BA2C) # addiu $t8, $t8, -0x45d4 -/* 04D1E4 7F0186B4 AFAE00B4 */ sw $t6, 0xb4($sp) -/* 04D1E8 7F0186B8 8F010000 */ lw $at, ($t8) -/* 04D1EC 7F0186BC 27AF00A0 */ addiu $t7, $sp, 0xa0 -/* 04D1F0 7F0186C0 8F090004 */ lw $t1, 4($t8) -/* 04D1F4 7F0186C4 ADE10000 */ sw $at, ($t7) -/* 04D1F8 7F0186C8 8F010008 */ lw $at, 8($t8) -/* 04D1FC 7F0186CC ADE90004 */ sw $t1, 4($t7) -/* 04D200 7F0186D0 ADE10008 */ sw $at, 8($t7) -/* 04D204 7F0186D4 0C002914 */ jal get_random_value -/* 04D208 7F0186D8 AFA0007C */ sw $zero, 0x7c($sp) -/* 04D20C 7F0186DC 3C0B8003 */ lui $t3, %hi(full_actor_intro) -/* 04D210 7F0186E0 8D6BB5FC */ lw $t3, %lo(full_actor_intro)($t3) -/* 04D214 7F0186E4 304A0001 */ andi $t2, $v0, 1 -/* 04D218 7F0186E8 AFAA0070 */ sw $t2, 0x70($sp) -/* 04D21C 7F0186EC 1160000A */ beqz $t3, .L7F018718 -/* 04D220 7F0186F0 3C0C8003 */ lui $t4, %hi(do_not_play_intro_movie) -/* 04D224 7F0186F4 8D8CB5E8 */ lw $t4, %lo(do_not_play_intro_movie)($t4) -/* 04D228 7F0186F8 15800007 */ bnez $t4, .L7F018718 -/* 04D22C 7F0186FC 00000000 */ nop -/* 04D230 7F018700 0C001C0F */ jal musicTrack1Vol -/* 04D234 7F018704 24047FFF */ li $a0, 32767 -/* 04D238 7F018708 3C018002 */ lui $at, %hi(music1_playing) -/* 04D23C 7F01870C AC20434C */ sw $zero, %lo(music1_playing)($at) -/* 04D240 7F018710 0C001B9F */ jal musicTrack1Play -/* 04D244 7F018714 24040002 */ li $a0, 2 -.L7F018718: -/* 04D248 7F018718 3C048003 */ lui $a0, %hi(intro_animation_table) -/* 04D24C 7F01871C 2484B8BC */ addiu $a0, %lo(intro_animation_table) # addiu $a0, $a0, -0x4744 -/* 04D250 7F018720 00006900 */ sll $t5, $zero, 4 -/* 04D254 7F018724 008D7021 */ addu $t6, $a0, $t5 -/* 04D258 7F018728 8DC80000 */ lw $t0, ($t6) -/* 04D25C 7F01872C 3C038003 */ lui $v1, %hi(intro_animation_count) -/* 04D260 7F018730 2463B5F0 */ addiu $v1, %lo(intro_animation_count) # addiu $v1, $v1, -0x4a10 -/* 04D264 7F018734 AC600000 */ sw $zero, ($v1) -/* 04D268 7F018738 05000009 */ bltz $t0, .L7F018760 -/* 04D26C 7F01873C 00001025 */ move $v0, $zero -/* 04D270 7F018740 24590001 */ addiu $t9, $v0, 1 -.L7F018744: -/* 04D274 7F018744 00197900 */ sll $t7, $t9, 4 -/* 04D278 7F018748 008FC021 */ addu $t8, $a0, $t7 -/* 04D27C 7F01874C 8F090000 */ lw $t1, ($t8) -/* 04D280 7F018750 AC790000 */ sw $t9, ($v1) -/* 04D284 7F018754 03201025 */ move $v0, $t9 -/* 04D288 7F018758 0523FFFA */ bgezl $t1, .L7F018744 -/* 04D28C 7F01875C 24590001 */ addiu $t9, $v0, 1 -.L7F018760: -/* 04D290 7F018760 0C002914 */ jal get_random_value -/* 04D294 7F018764 00000000 */ nop -/* 04D298 7F018768 3C038003 */ lui $v1, %hi(intro_animation_count) -/* 04D29C 7F01876C 2463B5F0 */ addiu $v1, %lo(intro_animation_count) # addiu $v1, $v1, -0x4a10 -/* 04D2A0 7F018770 8C6A0000 */ lw $t2, ($v1) -/* 04D2A4 7F018774 3C0C8003 */ lui $t4, %hi(do_not_play_intro_movie) -/* 04D2A8 7F018778 8D8CB5E8 */ lw $t4, %lo(do_not_play_intro_movie)($t4) -/* 04D2AC 7F01877C 004A001B */ divu $zero, $v0, $t2 -/* 04D2B0 7F018780 00005810 */ mfhi $t3 -/* 04D2B4 7F018784 3C018003 */ lui $at, %hi(randomly_selected_intro_animation) -/* 04D2B8 7F018788 AC2BB5EC */ sw $t3, %lo(randomly_selected_intro_animation)($at) -/* 04D2BC 7F01878C 3C0F8003 */ lui $t7, %hi(randomly_selected_intro_animation) -/* 04D2C0 7F018790 000C6880 */ sll $t5, $t4, 2 -/* 04D2C4 7F018794 8DEFB5EC */ lw $t7, %lo(randomly_selected_intro_animation)($t7) -/* 04D2C8 7F018798 3C0E8003 */ lui $t6, %hi(intro_char_table) -/* 04D2CC 7F01879C 01AC6821 */ addu $t5, $t5, $t4 -/* 04D2D0 7F0187A0 000D6880 */ sll $t5, $t5, 2 -/* 04D2D4 7F0187A4 25CEB600 */ addiu $t6, %lo(intro_char_table) # addiu $t6, $t6, -0x4a00 -/* 04D2D8 7F0187A8 01AE2021 */ addu $a0, $t5, $t6 -/* 04D2DC 7F0187AC 8C880000 */ lw $t0, ($a0) -/* 04D2E0 7F0187B0 3C098003 */ lui $t1, %hi(intro_animation_table+12) -/* 04D2E4 7F0187B4 000FC100 */ sll $t8, $t7, 4 -/* 04D2E8 7F0187B8 01384821 */ addu $t1, $t1, $t8 -/* 04D2EC 7F0187BC 8C990004 */ lw $t9, 4($a0) -/* 04D2F0 7F0187C0 8D29B8C8 */ lw $t1, %lo(intro_animation_table+12)($t1) -/* 04D2F4 7F0187C4 24010016 */ li $at, 22 -/* 04D2F8 7F0187C8 15400002 */ bnez $t2, .L7F0187D4 -/* 04D2FC 7F0187CC 00000000 */ nop -/* 04D300 7F0187D0 0007000D */ break 7 -.L7F0187D4: -/* 04D304 7F0187D4 AFA8008C */ sw $t0, 0x8c($sp) -/* 04D308 7F0187D8 01005025 */ move $t2, $t0 -/* 04D30C 7F0187DC AFB90088 */ sw $t9, 0x88($sp) -/* 04D310 7F0187E0 15010022 */ bne $t0, $at, .L7F01886C -/* 04D314 7F0187E4 AFA9006C */ sw $t1, 0x6c($sp) -/* 04D318 7F0187E8 0C002914 */ jal get_random_value -/* 04D31C 7F0187EC 00000000 */ nop -/* 04D320 7F0187F0 24010005 */ li $at, 5 -/* 04D324 7F0187F4 0041001B */ divu $zero, $v0, $at -/* 04D328 7F0187F8 00005810 */ mfhi $t3 -/* 04D32C 7F0187FC 2D610005 */ sltiu $at, $t3, 5 -/* 04D330 7F018800 1020002F */ beqz $at, .L7F0188C0 -/* 04D334 7F018804 000B5880 */ sll $t3, $t3, 2 -/* 04D338 7F018808 3C018005 */ lui $at, %hi(jpt_intro_bond_head) -/* 04D33C 7F01880C 002B0821 */ addu $at, $at, $t3 -/* 04D340 7F018810 8C2B1AEC */ lw $t3, %lo(jpt_intro_bond_head)($at) -/* 04D344 7F018814 01600008 */ jr $t3 -/* 04D348 7F018818 00000000 */ nop -set_body_default: -/* 04D34C 7F01881C 240C0017 */ li $t4, 23 -/* 04D350 7F018820 240D004B */ li $t5, 75 -/* 04D354 7F018824 AFAD0088 */ sw $t5, 0x88($sp) -/* 04D358 7F018828 10000025 */ b .L7F0188C0 -/* 04D35C 7F01882C AFAC008C */ sw $t4, 0x8c($sp) -set_body_jungle: -/* 04D360 7F018830 240E0018 */ li $t6, 24 -/* 04D364 7F018834 2408004B */ li $t0, 75 -/* 04D368 7F018838 AFA80088 */ sw $t0, 0x88($sp) -/* 04D36C 7F01883C 10000020 */ b .L7F0188C0 -/* 04D370 7F018840 AFAE008C */ sw $t6, 0x8c($sp) -set_body_snowsuit: -/* 04D374 7F018844 24190019 */ li $t9, 25 -/* 04D378 7F018848 240F004B */ li $t7, 75 -/* 04D37C 7F01884C AFAF0088 */ sw $t7, 0x88($sp) -/* 04D380 7F018850 1000001B */ b .L7F0188C0 -/* 04D384 7F018854 AFB9008C */ sw $t9, 0x8c($sp) -set_body_5: -/* 04D388 7F018858 24180005 */ li $t8, 5 -/* 04D38C 7F01885C 2409004E */ li $t1, 78 -/* 04D390 7F018860 AFA90088 */ sw $t1, 0x88($sp) -/* 04D394 7F018864 10000016 */ b .L7F0188C0 -/* 04D398 7F018868 AFB8008C */ sw $t8, 0x8c($sp) -.L7F01886C: -/* 04D39C 7F01886C 8FAA008C */ lw $t2, 0x8c($sp) -/* 04D3A0 7F018870 24010010 */ li $at, 16 -/* 04D3A4 7F018874 8FAD008C */ lw $t5, 0x8c($sp) -/* 04D3A8 7F018878 55410009 */ bnel $t2, $at, .L7F0188A0 -/* 04D3AC 7F01887C 24010009 */ li $at, 9 -/* 04D3B0 7F018880 0C002914 */ jal get_random_value -/* 04D3B4 7F018884 00000000 */ nop -/* 04D3B8 7F018888 304B0001 */ andi $t3, $v0, 1 -/* 04D3BC 7F01888C 1160000C */ beqz $t3, .L7F0188C0 -/* 04D3C0 7F018890 240C004F */ li $t4, 79 -/* 04D3C4 7F018894 1000000A */ b .L7F0188C0 -/* 04D3C8 7F018898 AFAC008C */ sw $t4, 0x8c($sp) -/* 04D3CC 7F01889C 24010009 */ li $at, 9 -.L7F0188A0: -/* 04D3D0 7F0188A0 55A10008 */ bnel $t5, $at, .L7F0188C4 -/* 04D3D4 7F0188A4 8FB90088 */ lw $t9, 0x88($sp) -/* 04D3D8 7F0188A8 0C002914 */ jal get_random_value -/* 04D3DC 7F0188AC 00000000 */ nop -/* 04D3E0 7F0188B0 304E0001 */ andi $t6, $v0, 1 -/* 04D3E4 7F0188B4 11C00002 */ beqz $t6, .L7F0188C0 -/* 04D3E8 7F0188B8 24080008 */ li $t0, 8 -/* 04D3EC 7F0188BC AFA8008C */ sw $t0, 0x8c($sp) -set_body_mp_choice_maybe: -.L7F0188C0: -/* 04D3F0 7F0188C0 8FB90088 */ lw $t9, 0x88($sp) -.L7F0188C4: -/* 04D3F4 7F0188C4 2401FF9F */ li $at, -97 -/* 04D3F8 7F0188C8 57210005 */ bnel $t9, $at, .L7F0188E0 -/* 04D3FC 7F0188CC 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 04D400 7F0188D0 0FC08D98 */ jal get_random_head -/* 04D404 7F0188D4 8FA4008C */ lw $a0, 0x8c($sp) -/* 04D408 7F0188D8 AFA20088 */ sw $v0, 0x88($sp) -/* 04D40C 7F0188DC 8FAF00B4 */ lw $t7, 0xb4($sp) -.L7F0188E0: -/* 04D410 7F0188E0 3C020003 */ lui $v0, (0x00031160 >> 16) # lui $v0, 3 -/* 04D414 7F0188E4 34421160 */ ori $v0, (0x00031160 & 0xFFFF) # ori $v0, $v0, 0x1160 -/* 04D418 7F0188E8 01E22021 */ addu $a0, $t7, $v0 -/* 04D41C 7F0188EC 2484003F */ addiu $a0, $a0, 0x3f -/* 04D420 7F0188F0 3498003F */ ori $t8, $a0, 0x3f -/* 04D424 7F0188F4 3B04003F */ xori $a0, $t8, 0x3f -/* 04D428 7F0188F8 AFA200B0 */ sw $v0, 0xb0($sp) -/* 04D42C 7F0188FC 240501B8 */ li $a1, 440 -/* 04D430 7F018900 0FC34912 */ jal sub_GAME_7F0D2448 -/* 04D434 7F018904 2406014A */ li $a2, 330 -/* 04D438 7F018908 3C060001 */ lui $a2, (0x00019000 >> 16) # lui $a2, 1 -/* 04D43C 7F01890C 34C69000 */ ori $a2, (0x00019000 & 0xFFFF) # ori $a2, $a2, 0x9000 -/* 04D440 7F018910 27A40090 */ addiu $a0, $sp, 0x90 -/* 04D444 7F018914 0FC32EBD */ jal sub_GAME_7F0CBAF4 -/* 04D448 7F018918 8FA500B4 */ lw $a1, 0xb4($sp) -/* 04D44C 7F01891C 8FAA008C */ lw $t2, 0x8c($sp) -/* 04D450 7F018920 3C0C8004 */ lui $t4, %hi(c_item_entries) -/* 04D454 7F018924 8FA600B4 */ lw $a2, 0xb4($sp) -/* 04D458 7F018928 000A5880 */ sll $t3, $t2, 2 -/* 04D45C 7F01892C 016A5821 */ addu $t3, $t3, $t2 -/* 04D460 7F018930 8FA700B0 */ lw $a3, 0xb0($sp) -/* 04D464 7F018934 3C030001 */ lui $v1, (0x00019000 >> 16) # lui $v1, 1 -/* 04D468 7F018938 000B5880 */ sll $t3, $t3, 2 -/* 04D46C 7F01893C 258CDE10 */ addiu $t4, %lo(c_item_entries) # addiu $t4, $t4, -0x21f0 -/* 04D470 7F018940 34639000 */ ori $v1, (0x00019000 & 0xFFFF) # ori $v1, $v1, 0x9000 -/* 04D474 7F018944 016C1021 */ addu $v0, $t3, $t4 -/* 04D478 7F018948 8C440000 */ lw $a0, ($v0) -/* 04D47C 7F01894C 27AD0090 */ addiu $t5, $sp, 0x90 -/* 04D480 7F018950 00C33021 */ addu $a2, $a2, $v1 -/* 04D484 7F018954 00E33823 */ subu $a3, $a3, $v1 -/* 04D488 7F018958 AFA700B0 */ sw $a3, 0xb0($sp) -/* 04D48C 7F01895C AFA600B4 */ sw $a2, 0xb4($sp) -/* 04D490 7F018960 AFAD0010 */ sw $t5, 0x10($sp) -/* 04D494 7F018964 8C450004 */ lw $a1, 4($v0) -/* 04D498 7F018968 AFA20024 */ sw $v0, 0x24($sp) -/* 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 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) -/* 04D4B8 7F018988 8FB800B4 */ lw $t8, 0xb4($sp) -/* 04D4BC 7F01898C 346E003F */ ori $t6, $v1, 0x3f -/* 04D4C0 7F018990 8FAA0088 */ lw $t2, 0x88($sp) -/* 04D4C4 7F018994 39C8003F */ xori $t0, $t6, 0x3f -/* 04D4C8 7F018998 03287823 */ subu $t7, $t9, $t0 -/* 04D4CC 7F01899C 03084821 */ addu $t1, $t8, $t0 -/* 04D4D0 7F0189A0 AFAF00B0 */ sw $t7, 0xb0($sp) -/* 04D4D4 7F0189A4 0540001C */ bltz $t2, .L7F018A18 -/* 04D4D8 7F0189A8 AFA900B4 */ sw $t1, 0xb4($sp) -/* 04D4DC 7F0189AC 000A5880 */ sll $t3, $t2, 2 -/* 04D4E0 7F0189B0 016A5821 */ addu $t3, $t3, $t2 -/* 04D4E4 7F0189B4 3C0C8004 */ lui $t4, %hi(c_item_entries) -/* 04D4E8 7F0189B8 258CDE10 */ addiu $t4, %lo(c_item_entries) # addiu $t4, $t4, -0x21f0 -/* 04D4EC 7F0189BC 000B5880 */ sll $t3, $t3, 2 -/* 04D4F0 7F0189C0 016C1021 */ addu $v0, $t3, $t4 -/* 04D4F4 7F0189C4 8C440000 */ lw $a0, ($v0) -/* 04D4F8 7F0189C8 27AD0090 */ addiu $t5, $sp, 0x90 -/* 04D4FC 7F0189CC AFAD0010 */ sw $t5, 0x10($sp) -/* 04D500 7F0189D0 8C450004 */ lw $a1, 4($v0) -/* 04D504 7F0189D4 AFA20024 */ sw $v0, 0x24($sp) -/* 04D508 7F0189D8 01203025 */ move $a2, $t1 -/* 04D50C 7F0189DC 01E03825 */ move $a3, $t7 -/* 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 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) -/* 04D52C 7F0189FC 8FAA00B4 */ lw $t2, 0xb4($sp) -/* 04D530 7F018A00 346E003F */ ori $t6, $v1, 0x3f -/* 04D534 7F018A04 39C8003F */ xori $t0, $t6, 0x3f -/* 04D538 7F018A08 0328C023 */ subu $t8, $t9, $t0 -/* 04D53C 7F018A0C 01485821 */ addu $t3, $t2, $t0 -/* 04D540 7F018A10 AFB800B0 */ sw $t8, 0xb0($sp) -/* 04D544 7F018A14 AFAB00B4 */ sw $t3, 0xb4($sp) -.L7F018A18: -/* 04D548 7F018A18 8FA4008C */ lw $a0, 0x8c($sp) -/* 04D54C 7F018A1C 8FA50088 */ lw $a1, 0x88($sp) -/* 04D550 7F018A20 8FA60080 */ lw $a2, 0x80($sp) -/* 04D554 7F018A24 8FA7007C */ lw $a3, 0x7c($sp) -/* 04D558 7F018A28 0FC08D2A */ jal sub_GAME_7F0234A8 -/* 04D55C 7F018A2C AFA00010 */ sw $zero, 0x10($sp) -/* 04D560 7F018A30 3C038003 */ lui $v1, %hi(objinstance) -/* 04D564 7F018A34 2463B5F4 */ addiu $v1, %lo(objinstance) # addiu $v1, $v1, -0x4a0c -/* 04D568 7F018A38 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 04D56C 7F018A3C AC620000 */ sw $v0, ($v1) -/* 04D570 7F018A40 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 04D574 7F018A44 0FC1B39E */ jal set_obj_instance_controller_scale -/* 04D578 7F018A48 00402025 */ move $a0, $v0 -/* 04D57C 7F018A4C 8FAC006C */ lw $t4, 0x6c($sp) -/* 04D580 7F018A50 24010002 */ li $at, 2 -/* 04D584 7F018A54 1180007A */ beqz $t4, .L7F018C40 -/* 04D588 7F018A58 00000000 */ nop -/* 04D58C 7F018A5C 15810018 */ bne $t4, $at, .L7F018AC0 -/* 04D590 7F018A60 27B8002C */ addiu $t8, $sp, 0x2c -/* 04D594 7F018A64 3C0F8003 */ lui $t7, %hi(random_rifles_in_intro) -/* 04D598 7F018A68 25EFBA38 */ addiu $t7, %lo(random_rifles_in_intro) # addiu $t7, $t7, -0x45c8 -/* 04D59C 7F018A6C 8DE10000 */ lw $at, ($t7) -/* 04D5A0 7F018A70 8DEE0004 */ lw $t6, 4($t7) -/* 04D5A4 7F018A74 27A90054 */ addiu $t1, $sp, 0x54 -/* 04D5A8 7F018A78 AD210000 */ sw $at, ($t1) -/* 04D5AC 7F018A7C AD2E0004 */ sw $t6, 4($t1) -/* 04D5B0 7F018A80 8DEE000C */ lw $t6, 0xc($t7) -/* 04D5B4 7F018A84 8DE10008 */ lw $at, 8($t7) -/* 04D5B8 7F018A88 AD2E000C */ sw $t6, 0xc($t1) -/* 04D5BC 7F018A8C AD210008 */ sw $at, 8($t1) -/* 04D5C0 7F018A90 8DE10010 */ lw $at, 0x10($t7) -/* 04D5C4 7F018A94 8DEE0014 */ lw $t6, 0x14($t7) -/* 04D5C8 7F018A98 AD210010 */ sw $at, 0x10($t1) -/* 04D5CC 7F018A9C 0C002914 */ jal get_random_value -/* 04D5D0 7F018AA0 AD2E0014 */ sw $t6, 0x14($t1) -/* 04D5D4 7F018AA4 24010006 */ li $at, 6 -/* 04D5D8 7F018AA8 0041001B */ divu $zero, $v0, $at -/* 04D5DC 7F018AAC 00004010 */ mfhi $t0 -/* 04D5E0 7F018AB0 0008C880 */ sll $t9, $t0, 2 -/* 04D5E4 7F018AB4 03B91821 */ addu $v1, $sp, $t9 -/* 04D5E8 7F018AB8 10000016 */ b .L7F018B14 -/* 04D5EC 7F018ABC 8C630054 */ lw $v1, 0x54($v1) -.L7F018AC0: -/* 04D5F0 7F018AC0 3C0A8003 */ lui $t2, %hi(random_pistols_in_intro) -/* 04D5F4 7F018AC4 254ABA50 */ addiu $t2, %lo(random_pistols_in_intro) # addiu $t2, $t2, -0x45b0 -/* 04D5F8 7F018AC8 254C0024 */ addiu $t4, $t2, 0x24 -.L7F018ACC: -/* 04D5FC 7F018ACC 8D410000 */ lw $at, ($t2) -/* 04D600 7F018AD0 254A000C */ addiu $t2, $t2, 0xc -/* 04D604 7F018AD4 2718000C */ addiu $t8, $t8, 0xc -/* 04D608 7F018AD8 AF01FFF4 */ sw $at, -0xc($t8) -/* 04D60C 7F018ADC 8D41FFF8 */ lw $at, -8($t2) -/* 04D610 7F018AE0 AF01FFF8 */ sw $at, -8($t8) -/* 04D614 7F018AE4 8D41FFFC */ lw $at, -4($t2) -/* 04D618 7F018AE8 154CFFF8 */ bne $t2, $t4, .L7F018ACC -/* 04D61C 7F018AEC AF01FFFC */ sw $at, -4($t8) -/* 04D620 7F018AF0 8D410000 */ lw $at, ($t2) -/* 04D624 7F018AF4 0C002914 */ jal get_random_value -/* 04D628 7F018AF8 AF010000 */ sw $at, ($t8) -/* 04D62C 7F018AFC 2401000A */ li $at, 10 -/* 04D630 7F018B00 0041001B */ divu $zero, $v0, $at -/* 04D634 7F018B04 00006810 */ mfhi $t5 -/* 04D638 7F018B08 000D4880 */ sll $t1, $t5, 2 -/* 04D63C 7F018B0C 03A91821 */ addu $v1, $sp, $t1 -/* 04D640 7F018B10 8C63002C */ lw $v1, 0x2c($v1) -.L7F018B14: -/* 04D644 7F018B14 240100BE */ li $at, 190 -/* 04D648 7F018B18 54610007 */ bnel $v1, $at, .L7F018B38 -/* 04D64C 7F018B1C 240100BB */ li $at, 187 -/* 04D650 7F018B20 0FC07AB4 */ jal check_cradle_completed_any_folder -/* 04D654 7F018B24 AFA30084 */ sw $v1, 0x84($sp) -/* 04D658 7F018B28 14400002 */ bnez $v0, .L7F018B34 -/* 04D65C 7F018B2C 8FA30084 */ lw $v1, 0x84($sp) -/* 04D660 7F018B30 240300BF */ li $v1, 191 -.L7F018B34: -/* 04D664 7F018B34 240100BB */ li $at, 187 -.L7F018B38: -/* 04D668 7F018B38 54610007 */ bnel $v1, $at, .L7F018B58 -/* 04D66C 7F018B3C 240100D0 */ li $at, 208 -/* 04D670 7F018B40 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00 -/* 04D674 7F018B44 AFA30084 */ sw $v1, 0x84($sp) -/* 04D678 7F018B48 14400002 */ bnez $v0, .L7F018B54 -/* 04D67C 7F018B4C 8FA30084 */ lw $v1, 0x84($sp) -/* 04D680 7F018B50 240300BF */ li $v1, 191 -.L7F018B54: -/* 04D684 7F018B54 240100D0 */ li $at, 208 -.L7F018B58: -/* 04D688 7F018B58 54610007 */ bnel $v1, $at, .L7F018B78 -/* 04D68C 7F018B5C 00037880 */ sll $t7, $v1, 2 -/* 04D690 7F018B60 0FC07ADC */ jal check_egypt_completed_any_folder_00 -/* 04D694 7F018B64 AFA30084 */ sw $v1, 0x84($sp) -/* 04D698 7F018B68 14400002 */ bnez $v0, .L7F018B74 -/* 04D69C 7F018B6C 8FA30084 */ lw $v1, 0x84($sp) -/* 04D6A0 7F018B70 240300BF */ li $v1, 191 -.L7F018B74: -/* 04D6A4 7F018B74 00037880 */ sll $t7, $v1, 2 -.L7F018B78: -/* 04D6A8 7F018B78 01E37823 */ subu $t7, $t7, $v1 -/* 04D6AC 7F018B7C 3C0E8004 */ lui $t6, %hi(PitemZ_entries) -/* 04D6B0 7F018B80 25CEA228 */ addiu $t6, %lo(PitemZ_entries) # addiu $t6, $t6, -0x5dd8 -/* 04D6B4 7F018B84 000F7880 */ sll $t7, $t7, 2 -/* 04D6B8 7F018B88 01EE1021 */ addu $v0, $t7, $t6 -/* 04D6BC 7F018B8C 8C440000 */ lw $a0, ($v0) -/* 04D6C0 7F018B90 27A80090 */ addiu $t0, $sp, 0x90 -/* 04D6C4 7F018B94 AFA80010 */ sw $t0, 0x10($sp) -/* 04D6C8 7F018B98 8C450004 */ lw $a1, 4($v0) -/* 04D6CC 7F018B9C AFA20024 */ sw $v0, 0x24($sp) -/* 04D6D0 7F018BA0 8FA600B4 */ lw $a2, 0xb4($sp) -/* 04D6D4 7F018BA4 8FA700B0 */ lw $a3, 0xb0($sp) -/* 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 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) -/* 04D6F4 7F018BC4 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 04D6F8 7F018BC8 8FA40078 */ lw $a0, 0x78($sp) -/* 04D6FC 7F018BCC 3C038003 */ lui $v1, %hi(ptrobjinstance) -/* 04D700 7F018BD0 2463B5F8 */ addiu $v1, %lo(ptrobjinstance) # addiu $v1, $v1, -0x4a08 -/* 04D704 7F018BD4 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 04D708 7F018BD8 AC620000 */ sw $v0, ($v1) -/* 04D70C 7F018BDC 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 04D710 7F018BE0 0FC1B39E */ jal set_obj_instance_controller_scale -/* 04D714 7F018BE4 00402025 */ move $a0, $v0 -/* 04D718 7F018BE8 3C038003 */ lui $v1, %hi(ptrobjinstance) -/* 04D71C 7F018BEC 3C068003 */ lui $a2, %hi(objinstance) -/* 04D720 7F018BF0 24C6B5F4 */ addiu $a2, %lo(objinstance) # addiu $a2, $a2, -0x4a0c -/* 04D724 7F018BF4 2463B5F8 */ addiu $v1, %lo(ptrobjinstance) # addiu $v1, $v1, -0x4a08 -/* 04D728 7F018BF8 8C6B0000 */ lw $t3, ($v1) -/* 04D72C 7F018BFC 8CD90000 */ lw $t9, ($a2) -/* 04D730 7F018C00 24020003 */ li $v0, 3 -/* 04D734 7F018C04 AD790018 */ sw $t9, 0x18($t3) -/* 04D738 7F018C08 8FAC0070 */ lw $t4, 0x70($sp) -/* 04D73C 7F018C0C 11800003 */ beqz $t4, .L7F018C1C -/* 04D740 7F018C10 00000000 */ nop -/* 04D744 7F018C14 10000001 */ b .L7F018C1C -/* 04D748 7F018C18 24020005 */ li $v0, 5 -.L7F018C1C: -/* 04D74C 7F018C1C 8CCA0000 */ lw $t2, ($a2) -/* 04D750 7F018C20 00024880 */ sll $t1, $v0, 2 -/* 04D754 7F018C24 8C680000 */ lw $t0, ($v1) -/* 04D758 7F018C28 8D580008 */ lw $t8, 8($t2) -/* 04D75C 7F018C2C 8F0D0008 */ lw $t5, 8($t8) -/* 04D760 7F018C30 01A97821 */ addu $t7, $t5, $t1 -/* 04D764 7F018C34 8DEE0000 */ lw $t6, ($t7) -/* 04D768 7F018C38 10000006 */ b .L7F018C54 -/* 04D76C 7F018C3C AD0E001C */ sw $t6, 0x1c($t0) -.L7F018C40: -/* 04D770 7F018C40 3C038003 */ lui $v1, %hi(ptrobjinstance) -/* 04D774 7F018C44 2463B5F8 */ addiu $v1, %lo(ptrobjinstance) # addiu $v1, $v1, -0x4a08 -/* 04D778 7F018C48 3C068003 */ lui $a2, %hi(objinstance) -/* 04D77C 7F018C4C 24C6B5F4 */ addiu $a2, %lo(objinstance) # addiu $a2, $a2, -0x4a0c -/* 04D780 7F018C50 AC600000 */ sw $zero, ($v1) -.L7F018C54: -/* 04D784 7F018C54 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 04D788 7F018C58 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 04D78C 7F018C5C 0FC1B3A1 */ jal sub_GAME_7F06CE84 -/* 04D790 7F018C60 8CC40000 */ lw $a0, ($a2) -/* 04D794 7F018C64 3C048003 */ lui $a0, %hi(objinstance) -/* 04D798 7F018C68 8C84B5F4 */ lw $a0, %lo(objinstance)($a0) -/* 04D79C 7F018C6C 0FC1B303 */ jal setsuboffset -/* 04D7A0 7F018C70 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 04D7A4 7F018C74 3C048003 */ lui $a0, %hi(objinstance) -/* 04D7A8 7F018C78 8C84B5F4 */ lw $a0, %lo(objinstance)($a0) -/* 04D7AC 7F018C7C 0FC1B34F */ jal setsubroty -/* 04D7B0 7F018C80 24050000 */ li $a1, 0 -/* 04D7B4 7F018C84 3C048003 */ lui $a0, %hi(objinstance) -/* 04D7B8 7F018C88 8C84B5F4 */ lw $a0, %lo(objinstance)($a0) -/* 04D7BC 7F018C8C 3C053F00 */ lui $a1, 0x3f00 -/* 04D7C0 7F018C90 0FC1BFC6 */ jal sub_GAME_7F06FF18 -/* 04D7C4 7F018C94 24060000 */ li $a2, 0 -/* 04D7C8 7F018C98 3C198003 */ lui $t9, %hi(randomly_selected_intro_animation) -/* 04D7CC 7F018C9C 8F39B5EC */ lw $t9, %lo(randomly_selected_intro_animation)($t9) -/* 04D7D0 7F018CA0 3C0C8003 */ lui $t4, %hi(intro_animation_table) -/* 04D7D4 7F018CA4 258CB8BC */ addiu $t4, %lo(intro_animation_table) # addiu $t4, $t4, -0x4744 -/* 04D7D8 7F018CA8 00195900 */ sll $t3, $t9, 4 -/* 04D7DC 7F018CAC 016C1021 */ addu $v0, $t3, $t4 -/* 04D7E0 7F018CB0 8C4A0000 */ lw $t2, ($v0) -/* 04D7E4 7F018CB4 C4440008 */ lwc1 $f4, 8($v0) -/* 04D7E8 7F018CB8 44803000 */ mtc1 $zero, $f6 -/* 04D7EC 7F018CBC 3C058003 */ lui $a1, %hi(animation_table_ptrs1) -/* 04D7F0 7F018CC0 000AC080 */ sll $t8, $t2, 2 -/* 04D7F4 7F018CC4 00B82821 */ addu $a1, $a1, $t8 -/* 04D7F8 7F018CC8 3C048003 */ lui $a0, %hi(objinstance) -/* 04D7FC 7F018CCC 8C84B5F4 */ lw $a0, %lo(objinstance)($a0) -/* 04D800 7F018CD0 8CA59D6C */ lw $a1, %lo(animation_table_ptrs1)($a1) -/* 04D804 7F018CD4 8C470004 */ lw $a3, 4($v0) -/* 04D808 7F018CD8 8FA60070 */ lw $a2, 0x70($sp) -/* 04D80C 7F018CDC E7A40010 */ swc1 $f4, 0x10($sp) -/* 04D810 7F018CE0 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 04D814 7F018CE4 E7A60014 */ swc1 $f6, 0x14($sp) -/* 04D818 7F018CE8 3C018003 */ lui $at, %hi(menu_timer) -/* 04D81C 7F018CEC 0C002914 */ jal get_random_value -/* 04D820 7F018CF0 AC20A8CC */ sw $zero, %lo(menu_timer)($at) -/* 04D824 7F018CF4 44824000 */ mtc1 $v0, $f8 -/* 04D828 7F018CF8 04410005 */ bgez $v0, .L7F018D10 -/* 04D82C 7F018CFC 468042A0 */ cvt.s.w $f10, $f8 -/* 04D830 7F018D00 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 04D834 7F018D04 44818000 */ mtc1 $at, $f16 -/* 04D838 7F018D08 00000000 */ nop -/* 04D83C 7F018D0C 46105280 */ add.s $f10, $f10, $f16 -.L7F018D10: -/* 04D840 7F018D10 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 04D844 7F018D14 44819000 */ mtc1 $at, $f18 -/* 04D848 7F018D18 3C0142A0 */ li $at, 0x42A00000 # 80.000000 -/* 04D84C 7F018D1C 44813000 */ mtc1 $at, $f6 -/* 04D850 7F018D20 46125102 */ mul.s $f4, $f10, $f18 -/* 04D854 7F018D24 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 04D858 7F018D28 44818000 */ mtc1 $at, $f16 -/* 04D85C 7F018D2C 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A4) -/* 04D860 7F018D30 46062202 */ mul.s $f8, $f4, $f6 -/* 04D864 7F018D34 46104280 */ add.s $f10, $f8, $f16 -/* 04D868 7F018D38 0C002914 */ jal get_random_value -/* 04D86C 7F018D3C E42A95A4 */ swc1 $f10, %lo(flt_CODE_bss_800695A4)($at) -/* 04D870 7F018D40 44829000 */ mtc1 $v0, $f18 -/* 04D874 7F018D44 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 04D878 7F018D48 04410004 */ bgez $v0, .L7F018D5C -/* 04D87C 7F018D4C 46809120 */ cvt.s.w $f4, $f18 -/* 04D880 7F018D50 44813000 */ mtc1 $at, $f6 -/* 04D884 7F018D54 00000000 */ nop -/* 04D888 7F018D58 46062100 */ add.s $f4, $f4, $f6 -.L7F018D5C: -/* 04D88C 7F018D5C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 04D890 7F018D60 44814000 */ mtc1 $at, $f8 -/* 04D894 7F018D64 3C0142A0 */ li $at, 0x42A00000 # 80.000000 -/* 04D898 7F018D68 44815000 */ mtc1 $at, $f10 -/* 04D89C 7F018D6C 46082402 */ mul.s $f16, $f4, $f8 -/* 04D8A0 7F018D70 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 04D8A4 7F018D74 44813000 */ mtc1 $at, $f6 -/* 04D8A8 7F018D78 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A8) -/* 04D8AC 7F018D7C 460A8482 */ mul.s $f18, $f16, $f10 -/* 04D8B0 7F018D80 46069100 */ add.s $f4, $f18, $f6 -/* 04D8B4 7F018D84 0C002914 */ jal get_random_value -/* 04D8B8 7F018D88 E42495A8 */ swc1 $f4, %lo(flt_CODE_bss_800695A8)($at) -/* 04D8BC 7F018D8C 44824000 */ mtc1 $v0, $f8 -/* 04D8C0 7F018D90 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 04D8C4 7F018D94 04410004 */ bgez $v0, .L7F018DA8 -/* 04D8C8 7F018D98 46804420 */ cvt.s.w $f16, $f8 -/* 04D8CC 7F018D9C 44815000 */ mtc1 $at, $f10 -/* 04D8D0 7F018DA0 00000000 */ nop -/* 04D8D4 7F018DA4 460A8400 */ add.s $f16, $f16, $f10 -.L7F018DA8: -/* 04D8D8 7F018DA8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 04D8DC 7F018DAC 44819000 */ mtc1 $at, $f18 -/* 04D8E0 7F018DB0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 04D8E4 7F018DB4 44812000 */ mtc1 $at, $f4 -/* 04D8E8 7F018DB8 46128182 */ mul.s $f6, $f16, $f18 -/* 04D8EC 7F018DBC 3C018005 */ lui $at, %hi(D_80051B00) -/* 04D8F0 7F018DC0 C42A1B00 */ lwc1 $f10, %lo(D_80051B00)($at) -/* 04D8F4 7F018DC4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B0) -/* 04D8F8 7F018DC8 46043201 */ sub.s $f8, $f6, $f4 -/* 04D8FC 7F018DCC 460A4402 */ mul.s $f16, $f8, $f10 -/* 04D900 7F018DD0 0C002914 */ jal get_random_value -/* 04D904 7F018DD4 E43095B0 */ swc1 $f16, %lo(flt_CODE_bss_800695B0)($at) -/* 04D908 7F018DD8 44829000 */ mtc1 $v0, $f18 -/* 04D90C 7F018DDC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 04D910 7F018DE0 04410004 */ bgez $v0, .L7F018DF4 -/* 04D914 7F018DE4 468091A0 */ cvt.s.w $f6, $f18 -/* 04D918 7F018DE8 44812000 */ mtc1 $at, $f4 -/* 04D91C 7F018DEC 00000000 */ nop -/* 04D920 7F018DF0 46043180 */ add.s $f6, $f6, $f4 -.L7F018DF4: -/* 04D924 7F018DF4 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 04D928 7F018DF8 44814000 */ mtc1 $at, $f8 -/* 04D92C 7F018DFC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 04D930 7F018E00 44818000 */ mtc1 $at, $f16 -/* 04D934 7F018E04 46083282 */ mul.s $f10, $f6, $f8 -/* 04D938 7F018E08 3C018005 */ lui $at, %hi(D_80051B04) -/* 04D93C 7F018E0C C4241B04 */ lwc1 $f4, %lo(D_80051B04)($at) -/* 04D940 7F018E10 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B4) -/* 04D944 7F018E14 46105481 */ sub.s $f18, $f10, $f16 -/* 04D948 7F018E18 46049182 */ mul.s $f6, $f18, $f4 -/* 04D94C 7F018E1C 0C002914 */ jal get_random_value -/* 04D950 7F018E20 E42695B4 */ swc1 $f6, %lo(flt_CODE_bss_800695B4)($at) -/* 04D954 7F018E24 44824000 */ mtc1 $v0, $f8 -/* 04D958 7F018E28 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 04D95C 7F018E2C 04410004 */ bgez $v0, .L7F018E40 -/* 04D960 7F018E30 468042A0 */ cvt.s.w $f10, $f8 -/* 04D964 7F018E34 44818000 */ mtc1 $at, $f16 -/* 04D968 7F018E38 00000000 */ nop -/* 04D96C 7F018E3C 46105280 */ add.s $f10, $f10, $f16 -.L7F018E40: -/* 04D970 7F018E40 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 04D974 7F018E44 44819000 */ mtc1 $at, $f18 -/* 04D978 7F018E48 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 04D97C 7F018E4C 44813000 */ mtc1 $at, $f6 -/* 04D980 7F018E50 46125102 */ mul.s $f4, $f10, $f18 -/* 04D984 7F018E54 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 04D988 7F018E58 44818000 */ mtc1 $at, $f16 -/* 04D98C 7F018E5C 3C018007 */ lui $at, %hi(flt_CODE_bss_800695BC) -/* 04D990 7F018E60 46062202 */ mul.s $f8, $f4, $f6 -/* 04D994 7F018E64 46104280 */ add.s $f10, $f8, $f16 -/* 04D998 7F018E68 0C002914 */ jal get_random_value -/* 04D99C 7F018E6C E42A95BC */ swc1 $f10, %lo(flt_CODE_bss_800695BC)($at) -/* 04D9A0 7F018E70 44829000 */ mtc1 $v0, $f18 -/* 04D9A4 7F018E74 3C038007 */ lui $v1, %hi(flt_CODE_bss_800695E8) -/* 04D9A8 7F018E78 44800000 */ mtc1 $zero, $f0 -/* 04D9AC 7F018E7C 246395E8 */ addiu $v1, %lo(flt_CODE_bss_800695E8) # addiu $v1, $v1, -0x6a18 -/* 04D9B0 7F018E80 04410005 */ bgez $v0, .L7F018E98 -/* 04D9B4 7F018E84 46809120 */ cvt.s.w $f4, $f18 -/* 04D9B8 7F018E88 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 04D9BC 7F018E8C 44813000 */ mtc1 $at, $f6 -/* 04D9C0 7F018E90 00000000 */ nop -/* 04D9C4 7F018E94 46062100 */ add.s $f4, $f4, $f6 -.L7F018E98: -/* 04D9C8 7F018E98 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 04D9CC 7F018E9C 44814000 */ mtc1 $at, $f8 -/* 04D9D0 7F018EA0 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 04D9D4 7F018EA4 44815000 */ mtc1 $at, $f10 -/* 04D9D8 7F018EA8 46082402 */ mul.s $f16, $f4, $f8 -/* 04D9DC 7F018EAC 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 04D9E0 7F018EB0 44813000 */ mtc1 $at, $f6 -/* 04D9E4 7F018EB4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695C0) -/* 04D9E8 7F018EB8 8FBF001C */ lw $ra, 0x1c($sp) -/* 04D9EC 7F018EBC 240D0001 */ li $t5, 1 -/* 04D9F0 7F018EC0 460A8482 */ mul.s $f18, $f16, $f10 -/* 04D9F4 7F018EC4 46069100 */ add.s $f4, $f18, $f6 -/* 04D9F8 7F018EC8 E42495C0 */ swc1 $f4, %lo(flt_CODE_bss_800695C0)($at) -/* 04D9FC 7F018ECC 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A4) -/* 04DA00 7F018ED0 C42895A4 */ lwc1 $f8, %lo(flt_CODE_bss_800695A4)($at) -/* 04DA04 7F018ED4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A0) -/* 04DA08 7F018ED8 E42895A0 */ swc1 $f8, %lo(flt_CODE_bss_800695A0)($at) -/* 04DA0C 7F018EDC 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B0) -/* 04DA10 7F018EE0 C43095B0 */ lwc1 $f16, %lo(flt_CODE_bss_800695B0)($at) -/* 04DA14 7F018EE4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695AC) -/* 04DA18 7F018EE8 E43095AC */ swc1 $f16, %lo(flt_CODE_bss_800695AC)($at) -/* 04DA1C 7F018EEC 3C018007 */ lui $at, %hi(flt_CODE_bss_800695BC) -/* 04DA20 7F018EF0 C42A95BC */ lwc1 $f10, %lo(flt_CODE_bss_800695BC)($at) -/* 04DA24 7F018EF4 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B8) -/* 04DA28 7F018EF8 27BD00B8 */ addiu $sp, $sp, 0xb8 -/* 04DA2C 7F018EFC E42A95B8 */ swc1 $f10, %lo(flt_CODE_bss_800695B8)($at) -/* 04DA30 7F018F00 3C018007 */ lui $at, %hi(flt_CODE_bss_800695E4) -/* 04DA34 7F018F04 AC2D95E4 */ sw $t5, %lo(flt_CODE_bss_800695E4)($at) -/* 04DA38 7F018F08 E4600000 */ swc1 $f0, ($v1) -/* 04DA3C 7F018F0C E4600004 */ swc1 $f0, 4($v1) -/* 04DA40 7F018F10 03E00008 */ jr $ra -/* 04DA44 7F018F14 E4600008 */ swc1 $f0, 8($v1) -) -#endif - - - -void update_menu18_displaycast(void) { - if (objinstance != 0) { - set_aircraft_obj_inst_scale_to_zero(objinstance); - } - if (ptrobjinstance != 0) { - set_obj_instance_scale_to_zero(ptrobjinstance); - return; - } -} - - - - - - -#ifdef NONMATCHING -void interface_menu18_displaycast(undefined8 param_1,undefined8 param_2) -{ - BOOL BVar2; - uint uVar3; - ulonglong uVar1; - int iVar4; - - setvideo_far(46.00000000); - set_page_height(10.00000000,2000.00000000); - set_video2_settings_offset_24(1); - video_related_21((f32)flt_80051B08); - 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); - menu_timer += clock_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) && (full_actor_intro == FALSE)) { - set_menu_to_mode(MENU_FILE_SELECT,1); - } - return; - } - iVar4 = do_not_play_intro_movie + 1; -LAB_7f01902c: - do_not_play_intro_movie = iVar4; - if (intro_char_table[do_not_play_intro_movie].flag != 0) goto code_r0x7f01904c; - iVar4 = intro_char_table[do_not_play_intro_movie].body; - goto LAB_7f019068; -code_r0x7f01904c: - iVar4 = do_not_play_intro_movie + 1; - if (full_actor_intro != FALSE) { - iVar4 = intro_char_table[do_not_play_intro_movie].body; -LAB_7f019068: - if ((iVar4 == 0x27) && (BVar2 = check_aztec_completed_any_folder_secret_00(), BVar2 == FALSE)) { - iVar4 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - if ((intro_char_table[do_not_play_intro_movie].body == 0x28) && - (BVar2 = check_aztec_completed_any_folder_secret_00(), BVar2 == FALSE)) { - iVar4 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - if ((intro_char_table[do_not_play_intro_movie].body == 0xe) && - (BVar2 = check_aztec_completed_any_folder_secret_00(), BVar2 == FALSE)) { - uVar3 = get_random_value(); - if (false) { - trap(0x1c00); - } - if (uVar3 % 10000 != 0) { - iVar4 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - } - if ((intro_char_table[do_not_play_intro_movie].body == 0xd) && - (BVar2 = check_aztec_completed_any_folder_secret_00(), BVar2 == FALSE)) { - uVar3 = get_random_value(); - if (false) { - trap(0x1c00); - } - if (uVar3 % 10000 != 0) { - iVar4 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - } - if ((intro_char_table[do_not_play_intro_movie].body == 0xf) && - (BVar2 = check_egypt_completed_any_folder_00(), BVar2 == FALSE)) { - uVar3 = get_random_value(); - if (false) { - trap(0x1c00); - } - if (uVar3 % 10000 != 0) { - iVar4 = do_not_play_intro_movie + 1; - goto LAB_7f01902c; - } - } - if ((intro_char_table[do_not_play_intro_movie].body != 0xc) || - (BVar2 = check_egypt_completed_any_folder_00(), BVar2 != FALSE)) { -LAB_7f019268: - if (intro_char_table[do_not_play_intro_movie].body < 0) { - do_not_play_intro_movie = 0; - } - if (do_not_play_intro_movie < 1) { - if (full_actor_intro != FALSE) { - set_menu_to_mode(MENU_MISSION_SELECT,1); - set_cursor_to_stage_solo(0x11); - full_actor_intro = FALSE; - return; - } - select_ramrom_to_play(); - return; - } - set_menu_to_mode(MENU_DISPLAY_CAST,1); - return; - } - uVar3 = get_random_value(); - if (false) { - trap(0x1c00); - } - if (uVar3 % 10000 == 0) goto LAB_7f019268; - iVar4 = do_not_play_intro_movie + 1; - } - goto LAB_7f01902c; -} -#else -GLOBAL_ASM( -.text -glabel interface_menu18_displaycast -/* 04DA90 7F018F60 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 04DA94 7F018F64 3C014238 */ li $at, 0x42380000 # 46.000000 -/* 04DA98 7F018F68 AFBF0024 */ sw $ra, 0x24($sp) -/* 04DA9C 7F018F6C 44816000 */ mtc1 $at, $f12 -/* 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 setvideo_far -/* 04DAB0 7F018F80 AFB00014 */ sw $s0, 0x14($sp) -/* 04DAB4 7F018F84 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 04DAB8 7F018F88 44816000 */ mtc1 $at, $f12 -/* 04DABC 7F018F8C 3C0144FA */ li $at, 0x44FA0000 # 2000.000000 -/* 04DAC0 7F018F90 44817000 */ mtc1 $at, $f14 -/* 04DAC4 7F018F94 0C001194 */ jal set_page_height -/* 04DAC8 7F018F98 00000000 */ nop -/* 04DACC 7F018F9C 0C00114D */ jal set_video2_settings_offset_24 -/* 04DAD0 7F018FA0 24040001 */ li $a0, 1 -/* 04DAD4 7F018FA4 3C018005 */ lui $at, %hi(D_80051B08) -/* 04DAD8 7F018FA8 0C001164 */ jal video_related_21 -/* 04DADC 7F018FAC C42C1B08 */ lwc1 $f12, %lo(D_80051B08)($at) -/* 04DAE0 7F018FB0 240401B8 */ li $a0, 440 -/* 04DAE4 7F018FB4 0FC26C77 */ jal set_cur_player_screen_size -/* 04DAE8 7F018FB8 2405014A */ li $a1, 330 -/* 04DAEC 7F018FBC 240401B8 */ li $a0, 440 -/* 04DAF0 7F018FC0 0C00110F */ jal set_video2_width_height -/* 04DAF4 7F018FC4 2405014A */ li $a1, 330 -/* 04DAF8 7F018FC8 00002025 */ move $a0, $zero -/* 04DAFC 7F018FCC 0FC26C7E */ jal set_cur_player_viewport_size -/* 04DB00 7F018FD0 00002825 */ move $a1, $zero -/* 04DB04 7F018FD4 00002025 */ move $a0, $zero -/* 04DB08 7F018FD8 0C00112F */ jal set_video2_ulx_uly -/* 04DB0C 7F018FDC 00002825 */ move $a1, $zero -/* 04DB10 7F018FE0 3C028003 */ lui $v0, %hi(menu_timer) -/* 04DB14 7F018FE4 2442A8CC */ addiu $v0, %lo(menu_timer) # addiu $v0, $v0, -0x5734 -/* 04DB18 7F018FE8 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 04DB1C 7F018FEC 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 04DB20 7F018FF0 8C4E0000 */ lw $t6, ($v0) -/* 04DB24 7F018FF4 3C108003 */ lui $s0, %hi(do_not_play_intro_movie) -/* 04DB28 7F018FF8 00002025 */ move $a0, $zero -/* 04DB2C 7F018FFC 01CFC021 */ addu $t8, $t6, $t7 -/* 04DB30 7F019000 2B0100B5 */ slti $at, $t8, 0xb5 -/* 04DB34 7F019004 142000B7 */ bnez $at, .L7F0192E4 -/* 04DB38 7F019008 AC580000 */ sw $t8, ($v0) -/* 04DB3C 7F01900C 2610B5E8 */ addiu $s0, %lo(do_not_play_intro_movie) # addiu $s0, $s0, -0x4a18 -/* 04DB40 7F019010 8E080000 */ lw $t0, ($s0) -/* 04DB44 7F019014 3C118003 */ lui $s1, %hi(intro_char_table) -/* 04DB48 7F019018 2631B600 */ addiu $s1, %lo(intro_char_table) # addiu $s1, $s1, -0x4a00 -/* 04DB4C 7F01901C 25090001 */ addiu $t1, $t0, 1 -/* 04DB50 7F019020 AE090000 */ sw $t1, ($s0) -/* 04DB54 7F019024 24132710 */ li $s3, 10000 -/* 04DB58 7F019028 24120014 */ li $s2, 20 -.L7F01902C: -/* 04DB5C 7F01902C 8E030000 */ lw $v1, ($s0) -/* 04DB60 7F019030 3C0C8003 */ lui $t4, %hi(full_actor_intro) -/* 04DB64 7F019034 00720019 */ multu $v1, $s2 -/* 04DB68 7F019038 00005012 */ mflo $t2 -/* 04DB6C 7F01903C 022A1021 */ addu $v0, $s1, $t2 -/* 04DB70 7F019040 8C4B0010 */ lw $t3, 0x10($v0) -/* 04DB74 7F019044 51600008 */ beql $t3, $zero, .L7F019068 -/* 04DB78 7F019048 8C4E0000 */ lw $t6, ($v0) -/* 04DB7C 7F01904C 8D8CB5FC */ lw $t4, %lo(full_actor_intro)($t4) -/* 04DB80 7F019050 246D0001 */ addiu $t5, $v1, 1 -/* 04DB84 7F019054 55800004 */ bnezl $t4, .L7F019068 -/* 04DB88 7F019058 8C4E0000 */ lw $t6, ($v0) -/* 04DB8C 7F01905C 1000FFF3 */ b .L7F01902C -/* 04DB90 7F019060 AE0D0000 */ sw $t5, ($s0) -/* 04DB94 7F019064 8C4E0000 */ lw $t6, ($v0) -.L7F019068: -/* 04DB98 7F019068 24010027 */ li $at, 39 -/* 04DB9C 7F01906C 55C1000A */ bnel $t6, $at, .L7F019098 -/* 04DBA0 7F019070 8E190000 */ lw $t9, ($s0) -/* 04DBA4 7F019074 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00 -/* 04DBA8 7F019078 00000000 */ nop -/* 04DBAC 7F01907C 54400006 */ bnezl $v0, .L7F019098 -/* 04DBB0 7F019080 8E190000 */ lw $t9, ($s0) -/* 04DBB4 7F019084 8E0F0000 */ lw $t7, ($s0) -/* 04DBB8 7F019088 25F80001 */ addiu $t8, $t7, 1 -/* 04DBBC 7F01908C 1000FFE7 */ b .L7F01902C -/* 04DBC0 7F019090 AE180000 */ sw $t8, ($s0) -/* 04DBC4 7F019094 8E190000 */ lw $t9, ($s0) -.L7F019098: -/* 04DBC8 7F019098 24010028 */ li $at, 40 -/* 04DBCC 7F01909C 03320019 */ multu $t9, $s2 -/* 04DBD0 7F0190A0 00004012 */ mflo $t0 -/* 04DBD4 7F0190A4 02284821 */ addu $t1, $s1, $t0 -/* 04DBD8 7F0190A8 8D2A0000 */ lw $t2, ($t1) -/* 04DBDC 7F0190AC 5541000A */ bnel $t2, $at, .L7F0190D8 -/* 04DBE0 7F0190B0 8E0D0000 */ lw $t5, ($s0) -/* 04DBE4 7F0190B4 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00 -/* 04DBE8 7F0190B8 00000000 */ nop -/* 04DBEC 7F0190BC 54400006 */ bnezl $v0, .L7F0190D8 -/* 04DBF0 7F0190C0 8E0D0000 */ lw $t5, ($s0) -/* 04DBF4 7F0190C4 8E0B0000 */ lw $t3, ($s0) -/* 04DBF8 7F0190C8 256C0001 */ addiu $t4, $t3, 1 -/* 04DBFC 7F0190CC 1000FFD7 */ b .L7F01902C -/* 04DC00 7F0190D0 AE0C0000 */ sw $t4, ($s0) -/* 04DC04 7F0190D4 8E0D0000 */ lw $t5, ($s0) -.L7F0190D8: -/* 04DC08 7F0190D8 2401000E */ li $at, 14 -/* 04DC0C 7F0190DC 01B20019 */ multu $t5, $s2 -/* 04DC10 7F0190E0 00007012 */ mflo $t6 -/* 04DC14 7F0190E4 022E7821 */ addu $t7, $s1, $t6 -/* 04DC18 7F0190E8 8DF80000 */ lw $t8, ($t7) -/* 04DC1C 7F0190EC 57010013 */ bnel $t8, $at, .L7F01913C -/* 04DC20 7F0190F0 8E0A0000 */ lw $t2, ($s0) -/* 04DC24 7F0190F4 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00 -/* 04DC28 7F0190F8 00000000 */ nop -/* 04DC2C 7F0190FC 5440000F */ bnezl $v0, .L7F01913C -/* 04DC30 7F019100 8E0A0000 */ lw $t2, ($s0) -/* 04DC34 7F019104 0C002914 */ jal get_random_value -/* 04DC38 7F019108 00000000 */ nop -/* 04DC3C 7F01910C 0053001B */ divu $zero, $v0, $s3 -/* 04DC40 7F019110 0000C810 */ mfhi $t9 -/* 04DC44 7F019114 16600002 */ bnez $s3, .L7F019120 -/* 04DC48 7F019118 00000000 */ nop -/* 04DC4C 7F01911C 0007000D */ break 7 -.L7F019120: -/* 04DC50 7F019120 53200006 */ beql $t9, $zero, .L7F01913C -/* 04DC54 7F019124 8E0A0000 */ lw $t2, ($s0) -/* 04DC58 7F019128 8E080000 */ lw $t0, ($s0) -/* 04DC5C 7F01912C 25090001 */ addiu $t1, $t0, 1 -/* 04DC60 7F019130 1000FFBE */ b .L7F01902C -/* 04DC64 7F019134 AE090000 */ sw $t1, ($s0) -/* 04DC68 7F019138 8E0A0000 */ lw $t2, ($s0) -.L7F01913C: -/* 04DC6C 7F01913C 2401000D */ li $at, 13 -/* 04DC70 7F019140 01520019 */ multu $t2, $s2 -/* 04DC74 7F019144 00005812 */ mflo $t3 -/* 04DC78 7F019148 022B6021 */ addu $t4, $s1, $t3 -/* 04DC7C 7F01914C 8D8D0000 */ lw $t5, ($t4) -/* 04DC80 7F019150 55A10013 */ bnel $t5, $at, .L7F0191A0 -/* 04DC84 7F019154 8E190000 */ lw $t9, ($s0) -/* 04DC88 7F019158 0FC07AC8 */ jal check_aztec_completed_any_folder_secret_00 -/* 04DC8C 7F01915C 00000000 */ nop -/* 04DC90 7F019160 5440000F */ bnezl $v0, .L7F0191A0 -/* 04DC94 7F019164 8E190000 */ lw $t9, ($s0) -/* 04DC98 7F019168 0C002914 */ jal get_random_value -/* 04DC9C 7F01916C 00000000 */ nop -/* 04DCA0 7F019170 0053001B */ divu $zero, $v0, $s3 -/* 04DCA4 7F019174 00007010 */ mfhi $t6 -/* 04DCA8 7F019178 16600002 */ bnez $s3, .L7F019184 -/* 04DCAC 7F01917C 00000000 */ nop -/* 04DCB0 7F019180 0007000D */ break 7 -.L7F019184: -/* 04DCB4 7F019184 51C00006 */ beql $t6, $zero, .L7F0191A0 -/* 04DCB8 7F019188 8E190000 */ lw $t9, ($s0) -/* 04DCBC 7F01918C 8E0F0000 */ lw $t7, ($s0) -/* 04DCC0 7F019190 25F80001 */ addiu $t8, $t7, 1 -/* 04DCC4 7F019194 1000FFA5 */ b .L7F01902C -/* 04DCC8 7F019198 AE180000 */ sw $t8, ($s0) -/* 04DCCC 7F01919C 8E190000 */ lw $t9, ($s0) -.L7F0191A0: -/* 04DCD0 7F0191A0 2401000F */ li $at, 15 -/* 04DCD4 7F0191A4 03320019 */ multu $t9, $s2 -/* 04DCD8 7F0191A8 00004012 */ mflo $t0 -/* 04DCDC 7F0191AC 02284821 */ addu $t1, $s1, $t0 -/* 04DCE0 7F0191B0 8D2A0000 */ lw $t2, ($t1) -/* 04DCE4 7F0191B4 55410013 */ bnel $t2, $at, .L7F019204 -/* 04DCE8 7F0191B8 8E0E0000 */ lw $t6, ($s0) -/* 04DCEC 7F0191BC 0FC07ADC */ jal check_egypt_completed_any_folder_00 -/* 04DCF0 7F0191C0 00000000 */ nop -/* 04DCF4 7F0191C4 5440000F */ bnezl $v0, .L7F019204 -/* 04DCF8 7F0191C8 8E0E0000 */ lw $t6, ($s0) -/* 04DCFC 7F0191CC 0C002914 */ jal get_random_value -/* 04DD00 7F0191D0 00000000 */ nop -/* 04DD04 7F0191D4 0053001B */ divu $zero, $v0, $s3 -/* 04DD08 7F0191D8 00005810 */ mfhi $t3 -/* 04DD0C 7F0191DC 16600002 */ bnez $s3, .L7F0191E8 -/* 04DD10 7F0191E0 00000000 */ nop -/* 04DD14 7F0191E4 0007000D */ break 7 -.L7F0191E8: -/* 04DD18 7F0191E8 51600006 */ beql $t3, $zero, .L7F019204 -/* 04DD1C 7F0191EC 8E0E0000 */ lw $t6, ($s0) -/* 04DD20 7F0191F0 8E0C0000 */ lw $t4, ($s0) -/* 04DD24 7F0191F4 258D0001 */ addiu $t5, $t4, 1 -/* 04DD28 7F0191F8 1000FF8C */ b .L7F01902C -/* 04DD2C 7F0191FC AE0D0000 */ sw $t5, ($s0) -/* 04DD30 7F019200 8E0E0000 */ lw $t6, ($s0) -.L7F019204: -/* 04DD34 7F019204 2401000C */ li $at, 12 -/* 04DD38 7F019208 01D20019 */ multu $t6, $s2 -/* 04DD3C 7F01920C 00007812 */ mflo $t7 -/* 04DD40 7F019210 022FC021 */ addu $t8, $s1, $t7 -/* 04DD44 7F019214 8F190000 */ lw $t9, ($t8) -/* 04DD48 7F019218 57210013 */ bnel $t9, $at, .L7F019268 -/* 04DD4C 7F01921C 8E030000 */ lw $v1, ($s0) -/* 04DD50 7F019220 0FC07ADC */ jal check_egypt_completed_any_folder_00 -/* 04DD54 7F019224 00000000 */ nop -/* 04DD58 7F019228 5440000F */ bnezl $v0, .L7F019268 -/* 04DD5C 7F01922C 8E030000 */ lw $v1, ($s0) -/* 04DD60 7F019230 0C002914 */ jal get_random_value -/* 04DD64 7F019234 00000000 */ nop -/* 04DD68 7F019238 0053001B */ divu $zero, $v0, $s3 -/* 04DD6C 7F01923C 00004010 */ mfhi $t0 -/* 04DD70 7F019240 16600002 */ bnez $s3, .L7F01924C -/* 04DD74 7F019244 00000000 */ nop -/* 04DD78 7F019248 0007000D */ break 7 -.L7F01924C: -/* 04DD7C 7F01924C 51000006 */ beql $t0, $zero, .L7F019268 -/* 04DD80 7F019250 8E030000 */ lw $v1, ($s0) -/* 04DD84 7F019254 8E090000 */ lw $t1, ($s0) -/* 04DD88 7F019258 252A0001 */ addiu $t2, $t1, 1 -/* 04DD8C 7F01925C 1000FF73 */ b .L7F01902C -/* 04DD90 7F019260 AE0A0000 */ sw $t2, ($s0) -/* 04DD94 7F019264 8E030000 */ lw $v1, ($s0) -.L7F019268: -/* 04DD98 7F019268 24040018 */ li $a0, 24 -/* 04DD9C 7F01926C 3C0E8003 */ lui $t6, %hi(full_actor_intro) -/* 04DDA0 7F019270 00720019 */ multu $v1, $s2 -/* 04DDA4 7F019274 00005812 */ mflo $t3 -/* 04DDA8 7F019278 022B6021 */ addu $t4, $s1, $t3 -/* 04DDAC 7F01927C 8D8D0000 */ lw $t5, ($t4) -/* 04DDB0 7F019280 05A10003 */ bgez $t5, .L7F019290 -/* 04DDB4 7F019284 00000000 */ nop -/* 04DDB8 7F019288 AE000000 */ sw $zero, ($s0) -/* 04DDBC 7F01928C 00001825 */ move $v1, $zero -.L7F019290: -/* 04DDC0 7F019290 18600005 */ blez $v1, .L7F0192A8 -/* 04DDC4 7F019294 00000000 */ nop -/* 04DDC8 7F019298 0FC06975 */ jal set_menu_to_mode -/* 04DDCC 7F01929C 24050001 */ li $a1, 1 -/* 04DDD0 7F0192A0 1000001B */ b .L7F019310 -/* 04DDD4 7F0192A4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0192A8: -/* 04DDD8 7F0192A8 8DCEB5FC */ lw $t6, %lo(full_actor_intro)($t6) -/* 04DDDC 7F0192AC 24040007 */ li $a0, 7 -/* 04DDE0 7F0192B0 11C00008 */ beqz $t6, .L7F0192D4 -/* 04DDE4 7F0192B4 00000000 */ nop -/* 04DDE8 7F0192B8 0FC06975 */ jal set_menu_to_mode -/* 04DDEC 7F0192BC 24050001 */ li $a1, 1 -/* 04DDF0 7F0192C0 0FC038F8 */ jal set_cursor_to_stage_solo -/* 04DDF4 7F0192C4 24040011 */ li $a0, 17 -/* 04DDF8 7F0192C8 3C018003 */ lui $at, %hi(full_actor_intro) -/* 04DDFC 7F0192CC 1000000F */ b .L7F01930C -/* 04DE00 7F0192D0 AC20B5FC */ sw $zero, %lo(full_actor_intro)($at) -.L7F0192D4: -/* 04DE04 7F0192D4 0FC3025C */ jal select_ramrom_to_play -/* 04DE08 7F0192D8 00000000 */ nop -/* 04DE0C 7F0192DC 1000000C */ b .L7F019310 -/* 04DE10 7F0192E0 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0192E4: -/* 04DE14 7F0192E4 0C0030EB */ jal get_controller_buttons_pressed -/* 04DE18 7F0192E8 3405FFFF */ li $a1, 65535 -/* 04DE1C 7F0192EC 10400007 */ beqz $v0, .L7F01930C -/* 04DE20 7F0192F0 3C0F8003 */ lui $t7, %hi(full_actor_intro) -/* 04DE24 7F0192F4 8DEFB5FC */ lw $t7, %lo(full_actor_intro)($t7) -/* 04DE28 7F0192F8 24040005 */ li $a0, 5 -/* 04DE2C 7F0192FC 55E00004 */ bnezl $t7, .L7F019310 -/* 04DE30 7F019300 8FBF0024 */ lw $ra, 0x24($sp) -/* 04DE34 7F019304 0FC06975 */ jal set_menu_to_mode -/* 04DE38 7F019308 24050001 */ li $a1, 1 -.L7F01930C: -/* 04DE3C 7F01930C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F019310: -/* 04DE40 7F019310 8FB00014 */ lw $s0, 0x14($sp) -/* 04DE44 7F019314 8FB10018 */ lw $s1, 0x18($sp) -/* 04DE48 7F019318 8FB2001C */ lw $s2, 0x1c($sp) -/* 04DE4C 7F01931C 8FB30020 */ lw $s3, 0x20($sp) -/* 04DE50 7F019320 03E00008 */ jr $ra -/* 04DE54 7F019324 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -void constructor_menu18_displaycast(void) { - -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu18_displaycast -/* 04DE58 7F019328 27BDFDB0 */ addiu $sp, $sp, -0x250 -/* 04DE5C 7F01932C 3C0E8003 */ lui $t6, %hi(D_8002BA78) -/* 04DE60 7F019330 AFBF004C */ sw $ra, 0x4c($sp) -/* 04DE64 7F019334 AFB40048 */ sw $s4, 0x48($sp) -/* 04DE68 7F019338 AFB30044 */ sw $s3, 0x44($sp) -/* 04DE6C 7F01933C AFB20040 */ sw $s2, 0x40($sp) -/* 04DE70 7F019340 AFB1003C */ sw $s1, 0x3c($sp) -/* 04DE74 7F019344 AFB00038 */ sw $s0, 0x38($sp) -/* 04DE78 7F019348 25CEBA78 */ addiu $t6, %lo(D_8002BA78) # addiu $t6, $t6, -0x4588 -/* 04DE7C 7F01934C 8DC10000 */ lw $at, ($t6) -/* 04DE80 7F019350 27AF0244 */ addiu $t7, $sp, 0x244 -/* 04DE84 7F019354 8DCC0004 */ lw $t4, 4($t6) -/* 04DE88 7F019358 ADE10000 */ sw $at, ($t7) -/* 04DE8C 7F01935C 8DC10008 */ lw $at, 8($t6) -/* 04DE90 7F019360 3C0D8003 */ lui $t5, %hi(D_8002BA84) -/* 04DE94 7F019364 25ADBA84 */ addiu $t5, %lo(D_8002BA84) # addiu $t5, $t5, -0x457c -/* 04DE98 7F019368 ADEC0004 */ sw $t4, 4($t7) -/* 04DE9C 7F01936C ADE10008 */ sw $at, 8($t7) -/* 04DEA0 7F019370 8DA10000 */ lw $at, ($t5) -/* 04DEA4 7F019374 27B90238 */ addiu $t9, $sp, 0x238 -/* 04DEA8 7F019378 8DAF0004 */ lw $t7, 4($t5) -/* 04DEAC 7F01937C AF210000 */ sw $at, ($t9) -/* 04DEB0 7F019380 8DA10008 */ lw $at, 8($t5) -/* 04DEB4 7F019384 3C0C8003 */ lui $t4, %hi(D_8002BA90) -/* 04DEB8 7F019388 258CBA90 */ addiu $t4, %lo(D_8002BA90) # addiu $t4, $t4, -0x4570 -/* 04DEBC 7F01938C AF2F0004 */ sw $t7, 4($t9) -/* 04DEC0 7F019390 AF210008 */ sw $at, 8($t9) -/* 04DEC4 7F019394 8D810000 */ lw $at, ($t4) -/* 04DEC8 7F019398 27AE022C */ addiu $t6, $sp, 0x22c -/* 04DECC 7F01939C 8D990004 */ lw $t9, 4($t4) -/* 04DED0 7F0193A0 ADC10000 */ sw $at, ($t6) -/* 04DED4 7F0193A4 8D810008 */ lw $at, 8($t4) -/* 04DED8 7F0193A8 3C0F8003 */ lui $t7, %hi(D_8002BA9C) -/* 04DEDC 7F0193AC 25EFBA9C */ addiu $t7, %lo(D_8002BA9C) # addiu $t7, $t7, -0x4564 -/* 04DEE0 7F0193B0 ADD90004 */ sw $t9, 4($t6) -/* 04DEE4 7F0193B4 ADC10008 */ sw $at, 8($t6) -/* 04DEE8 7F0193B8 00809825 */ move $s3, $a0 -/* 04DEEC 7F0193BC 25EE003C */ addiu $t6, $t7, 0x3c -/* 04DEF0 7F0193C0 27AD01A8 */ addiu $t5, $sp, 0x1a8 -.L7F0193C4: -/* 04DEF4 7F0193C4 8DE10000 */ lw $at, ($t7) -/* 04DEF8 7F0193C8 25EF000C */ addiu $t7, $t7, 0xc -/* 04DEFC 7F0193CC 25AD000C */ addiu $t5, $t5, 0xc -/* 04DF00 7F0193D0 ADA1FFF4 */ sw $at, -0xc($t5) -/* 04DF04 7F0193D4 8DE1FFF8 */ lw $at, -8($t7) -/* 04DF08 7F0193D8 ADA1FFF8 */ sw $at, -8($t5) -/* 04DF0C 7F0193DC 8DE1FFFC */ lw $at, -4($t7) -/* 04DF10 7F0193E0 15EEFFF8 */ bne $t7, $t6, .L7F0193C4 -/* 04DF14 7F0193E4 ADA1FFFC */ sw $at, -4($t5) -/* 04DF18 7F0193E8 8DE10000 */ lw $at, ($t7) -/* 04DF1C 7F0193EC 3C028003 */ lui $v0, %hi(menu_timer) -/* 04DF20 7F0193F0 3C198003 */ lui $t9, %hi(D_8002BADC) -/* 04DF24 7F0193F4 ADA10000 */ sw $at, ($t5) -/* 04DF28 7F0193F8 8C42A8CC */ lw $v0, %lo(menu_timer)($v0) -/* 04DF2C 7F0193FC 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 04DF30 7F019400 44819000 */ mtc1 $at, $f18 -/* 04DF34 7F019404 44827000 */ mtc1 $v0, $f14 -/* 04DF38 7F019408 2739BADC */ addiu $t9, %lo(D_8002BADC) # addiu $t9, $t9, -0x4524 -/* 04DF3C 7F01940C 8F210000 */ lw $at, ($t9) -/* 04DF40 7F019410 46807020 */ cvt.s.w $f0, $f14 -/* 04DF44 7F019414 8F2E0004 */ lw $t6, 4($t9) -/* 04DF48 7F019418 27AC0134 */ addiu $t4, $sp, 0x134 -/* 04DF4C 7F01941C AD810000 */ sw $at, ($t4) -/* 04DF50 7F019420 8F210008 */ lw $at, 8($t9) -/* 04DF54 7F019424 AD8E0004 */ sw $t6, 4($t4) -/* 04DF58 7F019428 46120403 */ div.s $f16, $f0, $f18 -/* 04DF5C 7F01942C 04400004 */ bltz $v0, .L7F019440 -/* 04DF60 7F019430 AD810008 */ sw $at, 8($t4) -/* 04DF64 7F019434 284100B4 */ slti $at, $v0, 0xb4 -/* 04DF68 7F019438 54200005 */ bnezl $at, .L7F019450 -/* 04DF6C 7F01943C 2841001E */ slti $at, $v0, 0x1e -.L7F019440: -/* 04DF70 7F019440 44802000 */ mtc1 $zero, $f4 -/* 04DF74 7F019444 10000018 */ b .L7F0194A8 -/* 04DF78 7F019448 E7A40144 */ swc1 $f4, 0x144($sp) -/* 04DF7C 7F01944C 2841001E */ slti $at, $v0, 0x1e -.L7F019450: -/* 04DF80 7F019450 10200006 */ beqz $at, .L7F01946C -/* 04DF84 7F019454 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 04DF88 7F019458 44815000 */ mtc1 $at, $f10 -/* 04DF8C 7F01945C 00000000 */ nop -/* 04DF90 7F019460 460A0203 */ div.s $f8, $f0, $f10 -/* 04DF94 7F019464 10000010 */ b .L7F0194A8 -/* 04DF98 7F019468 E7A80144 */ swc1 $f8, 0x144($sp) -.L7F01946C: -/* 04DF9C 7F01946C 28410097 */ slti $at, $v0, 0x97 -/* 04DFA0 7F019470 14200009 */ bnez $at, .L7F019498 -/* 04DFA4 7F019474 240F00B4 */ li $t7, 180 -/* 04DFA8 7F019478 01E26823 */ subu $t5, $t7, $v0 -/* 04DFAC 7F01947C 448D3000 */ mtc1 $t5, $f6 -/* 04DFB0 7F019480 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 04DFB4 7F019484 44815000 */ mtc1 $at, $f10 -/* 04DFB8 7F019488 46803120 */ cvt.s.w $f4, $f6 -/* 04DFBC 7F01948C 460A2203 */ div.s $f8, $f4, $f10 -/* 04DFC0 7F019490 10000005 */ b .L7F0194A8 -/* 04DFC4 7F019494 E7A80144 */ swc1 $f8, 0x144($sp) -.L7F019498: -/* 04DFC8 7F019498 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04DFCC 7F01949C 44813000 */ mtc1 $at, $f6 -/* 04DFD0 7F0194A0 00000000 */ nop -/* 04DFD4 7F0194A4 E7A60144 */ swc1 $f6, 0x144($sp) -.L7F0194A8: -/* 04DFD8 7F0194A8 02602025 */ move $a0, $s3 -/* 04DFDC 7F0194AC 00002825 */ move $a1, $zero -/* 04DFE0 7F0194B0 00003025 */ move $a2, $zero -/* 04DFE4 7F0194B4 00003825 */ move $a3, $zero -/* 04DFE8 7F0194B8 0C0011B4 */ jal set_setfillcolor -/* 04DFEC 7F0194BC E7B00148 */ swc1 $f16, 0x148($sp) -/* 04DFF0 7F0194C0 0C000FBE */ jal insert_generic_fillrect -/* 04DFF4 7F0194C4 00402025 */ move $a0, $v0 -/* 04DFF8 7F0194C8 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A4) -/* 04DFFC 7F0194CC C42095A4 */ lwc1 $f0, %lo(flt_CODE_bss_800695A4)($at) -/* 04E000 7F0194D0 3C018007 */ lui $at, %hi(flt_CODE_bss_800695A8) -/* 04E004 7F0194D4 C42495A8 */ lwc1 $f4, %lo(flt_CODE_bss_800695A8)($at) -/* 04E008 7F0194D8 C7B00148 */ lwc1 $f16, 0x148($sp) -/* 04E00C 7F0194DC 3C118007 */ lui $s1, %hi(flt_CODE_bss_800695A0) -/* 04E010 7F0194E0 46002281 */ sub.s $f10, $f4, $f0 -/* 04E014 7F0194E4 263195A0 */ addiu $s1, %lo(flt_CODE_bss_800695A0) # addiu $s1, $s1, -0x6a60 -/* 04E018 7F0194E8 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B0) -/* 04E01C 7F0194EC 3C108007 */ lui $s0, %hi(flt_CODE_bss_800695AC) -/* 04E020 7F0194F0 46105202 */ mul.s $f8, $f10, $f16 -/* 04E024 7F0194F4 261095AC */ addiu $s0, %lo(flt_CODE_bss_800695AC) # addiu $s0, $s0, -0x6a54 -/* 04E028 7F0194F8 3C128007 */ lui $s2, %hi(flt_CODE_bss_800695B8) -/* 04E02C 7F0194FC 265295B8 */ addiu $s2, %lo(flt_CODE_bss_800695B8) # addiu $s2, $s2, -0x6a48 -/* 04E030 7F019500 00409825 */ move $s3, $v0 -/* 04E034 7F019504 46004180 */ add.s $f6, $f8, $f0 -/* 04E038 7F019508 E6260000 */ swc1 $f6, ($s1) -/* 04E03C 7F01950C C42295B0 */ lwc1 $f2, %lo(flt_CODE_bss_800695B0)($at) -/* 04E040 7F019510 3C018007 */ lui $at, %hi(flt_CODE_bss_800695B4) -/* 04E044 7F019514 C42495B4 */ lwc1 $f4, %lo(flt_CODE_bss_800695B4)($at) -/* 04E048 7F019518 3C018007 */ lui $at, %hi(flt_CODE_bss_800695BC) -/* 04E04C 7F01951C 46022281 */ sub.s $f10, $f4, $f2 -/* 04E050 7F019520 46105202 */ mul.s $f8, $f10, $f16 -/* 04E054 7F019524 46024180 */ add.s $f6, $f8, $f2 -/* 04E058 7F019528 E6060000 */ swc1 $f6, ($s0) -/* 04E05C 7F01952C C42C95BC */ lwc1 $f12, %lo(flt_CODE_bss_800695BC)($at) -/* 04E060 7F019530 3C018007 */ lui $at, %hi(flt_CODE_bss_800695C0) -/* 04E064 7F019534 C42495C0 */ lwc1 $f4, %lo(flt_CODE_bss_800695C0)($at) -/* 04E068 7F019538 C60E0000 */ lwc1 $f14, ($s0) -/* 04E06C 7F01953C 460C2281 */ sub.s $f10, $f4, $f12 -/* 04E070 7F019540 44802000 */ mtc1 $zero, $f4 -/* 04E074 7F019544 46105202 */ mul.s $f8, $f10, $f16 -/* 04E078 7F019548 4604703C */ c.lt.s $f14, $f4 -/* 04E07C 7F01954C 460C4180 */ add.s $f6, $f8, $f12 -/* 04E080 7F019550 45000006 */ bc1f .L7F01956C -/* 04E084 7F019554 E6460000 */ swc1 $f6, ($s2) -/* 04E088 7F019558 3C018005 */ lui $at, %hi(D_80051B0C) -/* 04E08C 7F01955C C42A1B0C */ lwc1 $f10, %lo(D_80051B0C)($at) -/* 04E090 7F019560 460A7200 */ add.s $f8, $f14, $f10 -/* 04E094 7F019564 E6080000 */ swc1 $f8, ($s0) -/* 04E098 7F019568 C60E0000 */ lwc1 $f14, ($s0) -.L7F01956C: -/* 04E09C 7F01956C 0FC15FAB */ jal sinf -/* 04E0A0 7F019570 46007306 */ mov.s $f12, $f14 -/* 04E0A4 7F019574 E7A00078 */ swc1 $f0, 0x78($sp) -/* 04E0A8 7F019578 0FC15FA8 */ jal cosf -/* 04E0AC 7F01957C C60C0000 */ lwc1 $f12, ($s0) -/* 04E0B0 7F019580 3C018005 */ lui $at, %hi(D_80051B10) -/* 04E0B4 7F019584 C4261B10 */ lwc1 $f6, %lo(D_80051B10)($at) -/* 04E0B8 7F019588 C6220000 */ lwc1 $f2, ($s1) -/* 04E0BC 7F01958C C7A80078 */ lwc1 $f8, 0x78($sp) -/* 04E0C0 7F019590 46060102 */ mul.s $f4, $f0, $f6 -/* 04E0C4 7F019594 C60C0000 */ lwc1 $f12, ($s0) -/* 04E0C8 7F019598 46022282 */ mul.s $f10, $f4, $f2 -/* 04E0CC 7F01959C 00000000 */ nop -/* 04E0D0 7F0195A0 46081182 */ mul.s $f6, $f2, $f8 -/* 04E0D4 7F0195A4 C6480000 */ lwc1 $f8, ($s2) -/* 04E0D8 7F0195A8 E7A80248 */ swc1 $f8, 0x248($sp) -/* 04E0DC 7F0195AC 46065100 */ add.s $f4, $f10, $f6 -/* 04E0E0 7F0195B0 0FC15FA8 */ jal cosf -/* 04E0E4 7F0195B4 E7A40244 */ swc1 $f4, 0x244($sp) -/* 04E0E8 7F0195B8 E7A00078 */ swc1 $f0, 0x78($sp) -/* 04E0EC 7F0195BC 0FC15FAB */ jal sinf -/* 04E0F0 7F0195C0 C60C0000 */ lwc1 $f12, ($s0) -/* 04E0F4 7F0195C4 C6220000 */ lwc1 $f2, ($s1) -/* 04E0F8 7F0195C8 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 04E0FC 7F0195CC 3C018005 */ lui $at, %hi(D_80051B14) -/* 04E100 7F0195D0 C4241B14 */ lwc1 $f4, %lo(D_80051B14)($at) -/* 04E104 7F0195D4 460A1182 */ mul.s $f6, $f2, $f10 -/* 04E108 7F0195D8 C60C0000 */ lwc1 $f12, ($s0) -/* 04E10C 7F0195DC 46040202 */ mul.s $f8, $f0, $f4 -/* 04E110 7F0195E0 00000000 */ nop -/* 04E114 7F0195E4 46024282 */ mul.s $f10, $f8, $f2 -/* 04E118 7F0195E8 460A3101 */ sub.s $f4, $f6, $f10 -/* 04E11C 7F0195EC 0FC15FA8 */ jal cosf -/* 04E120 7F0195F0 E7A4024C */ swc1 $f4, 0x24c($sp) -/* 04E124 7F0195F4 3C018005 */ lui $at, %hi(D_80051B18) -/* 04E128 7F0195F8 C4281B18 */ lwc1 $f8, %lo(D_80051B18)($at) -/* 04E12C 7F0195FC C62A0000 */ lwc1 $f10, ($s1) -/* 04E130 7F019600 C60C0000 */ lwc1 $f12, ($s0) -/* 04E134 7F019604 46080182 */ mul.s $f6, $f0, $f8 -/* 04E138 7F019608 C7A80238 */ lwc1 $f8, 0x238($sp) -/* 04E13C 7F01960C 460A3102 */ mul.s $f4, $f6, $f10 -/* 04E140 7F019610 46044180 */ add.s $f6, $f8, $f4 -/* 04E144 7F019614 0FC15FAB */ jal sinf -/* 04E148 7F019618 E7A60238 */ swc1 $f6, 0x238($sp) -/* 04E14C 7F01961C 3C018005 */ lui $at, %hi(D_80051B1C) -/* 04E150 7F019620 C4281B1C */ lwc1 $f8, %lo(D_80051B1C)($at) -/* 04E154 7F019624 46000287 */ neg.s $f10, $f0 -/* 04E158 7F019628 C6260000 */ lwc1 $f6, ($s1) -/* 04E15C 7F01962C 46085102 */ mul.s $f4, $f10, $f8 -/* 04E160 7F019630 C7A80240 */ lwc1 $f8, 0x240($sp) -/* 04E164 7F019634 24040002 */ li $a0, 2 -/* 04E168 7F019638 46062282 */ mul.s $f10, $f4, $f6 -/* 04E16C 7F01963C 460A4100 */ add.s $f4, $f8, $f10 -/* 04E170 7F019640 0FC2F5BE */ jal sub_GAME_7F0BD6F8 -/* 04E174 7F019644 E7A40240 */ swc1 $f4, 0x240($sp) -/* 04E178 7F019648 44800000 */ mtc1 $zero, $f0 -/* 04E17C 7F01964C 3C01457A */ li $at, 0x457A0000 # 4000.000000 -/* 04E180 7F019650 44813000 */ mtc1 $at, $f6 -/* 04E184 7F019654 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04E188 7F019658 44814000 */ mtc1 $at, $f8 -/* 04E18C 7F01965C 44060000 */ mfc1 $a2, $f0 -/* 04E190 7F019660 44070000 */ mfc1 $a3, $f0 -/* 04E194 7F019664 00408025 */ move $s0, $v0 -/* 04E198 7F019668 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 04E19C 7F01966C 00402825 */ move $a1, $v0 -/* 04E1A0 7F019670 E7A00014 */ swc1 $f0, 0x14($sp) -/* 04E1A4 7F019674 E7A00018 */ swc1 $f0, 0x18($sp) -/* 04E1A8 7F019678 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 04E1AC 7F01967C E7A00020 */ swc1 $f0, 0x20($sp) -/* 04E1B0 7F019680 E7A00028 */ swc1 $f0, 0x28($sp) -/* 04E1B4 7F019684 E7A60010 */ swc1 $f6, 0x10($sp) -/* 04E1B8 7F019688 0C005CDC */ jal guLookAtReflect -/* 04E1BC 7F01968C E7A80024 */ swc1 $f8, 0x24($sp) -/* 04E1C0 7F019690 02601025 */ move $v0, $s3 -/* 04E1C4 7F019694 26730008 */ addiu $s3, $s3, 8 -/* 04E1C8 7F019698 3C0BBC00 */ lui $t3, (0xBC000002 >> 16) # lui $t3, 0xbc00 -/* 04E1CC 7F01969C 3C188000 */ lui $t8, (0x80000040 >> 16) # lui $t8, 0x8000 -/* 04E1D0 7F0196A0 37180040 */ ori $t8, (0x80000040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 04E1D4 7F0196A4 356B0002 */ ori $t3, (0xBC000002 & 0xFFFF) # ori $t3, $t3, 2 -/* 04E1D8 7F0196A8 02601825 */ move $v1, $s3 -/* 04E1DC 7F0196AC 26730008 */ addiu $s3, $s3, 8 -/* 04E1E0 7F0196B0 AC4B0000 */ sw $t3, ($v0) -/* 04E1E4 7F0196B4 AC580004 */ sw $t8, 4($v0) -/* 04E1E8 7F0196B8 3C0C0386 */ lui $t4, (0x03860010 >> 16) # lui $t4, 0x386 -/* 04E1EC 7F0196BC 3C198003 */ lui $t9, %hi(D_8002A978) -/* 04E1F0 7F0196C0 2739A978 */ addiu $t9, %lo(D_8002A978) # addiu $t9, $t9, -0x5688 -/* 04E1F4 7F0196C4 358C0010 */ ori $t4, (0x03860010 & 0xFFFF) # ori $t4, $t4, 0x10 -/* 04E1F8 7F0196C8 02602025 */ move $a0, $s3 -/* 04E1FC 7F0196CC 26730008 */ addiu $s3, $s3, 8 -/* 04E200 7F0196D0 AC6C0000 */ sw $t4, ($v1) -/* 04E204 7F0196D4 AC790004 */ sw $t9, 4($v1) -/* 04E208 7F0196D8 3C0E0388 */ lui $t6, (0x03880010 >> 16) # lui $t6, 0x388 -/* 04E20C 7F0196DC 3C0F8003 */ lui $t7, %hi(D_8002A970) -/* 04E210 7F0196E0 25EFA970 */ addiu $t7, %lo(D_8002A970) # addiu $t7, $t7, -0x5690 -/* 04E214 7F0196E4 35CE0010 */ ori $t6, (0x03880010 & 0xFFFF) # ori $t6, $t6, 0x10 -/* 04E218 7F0196E8 02602825 */ move $a1, $s3 -/* 04E21C 7F0196EC AC8E0000 */ sw $t6, ($a0) -/* 04E220 7F0196F0 AC8F0004 */ sw $t7, 4($a0) -/* 04E224 7F0196F4 3C0D0384 */ lui $t5, (0x03840010 >> 16) # lui $t5, 0x384 -/* 04E228 7F0196F8 35AD0010 */ ori $t5, (0x03840010 & 0xFFFF) # ori $t5, $t5, 0x10 -/* 04E22C 7F0196FC ACAD0000 */ sw $t5, ($a1) -/* 04E230 7F019700 ACB00004 */ sw $s0, 4($a1) -/* 04E234 7F019704 26730008 */ addiu $s3, $s3, 8 -/* 04E238 7F019708 02603825 */ move $a3, $s3 -/* 04E23C 7F01970C 3C0B0382 */ lui $t3, (0x03820010 >> 16) # lui $t3, 0x382 -/* 04E240 7F019710 356B0010 */ ori $t3, (0x03820010 & 0xFFFF) # ori $t3, $t3, 0x10 -/* 04E244 7F019714 26180010 */ addiu $t8, $s0, 0x10 -/* 04E248 7F019718 3C148003 */ lui $s4, %hi(objinstance) -/* 04E24C 7F01971C 2694B5F4 */ addiu $s4, %lo(objinstance) # addiu $s4, $s4, -0x4a0c -/* 04E250 7F019720 ACF80004 */ sw $t8, 4($a3) -/* 04E254 7F019724 ACEB0000 */ sw $t3, ($a3) -/* 04E258 7F019728 3C058005 */ lui $a1, %hi(clock_timer) -/* 04E25C 7F01972C 26730008 */ addiu $s3, $s3, 8 -/* 04E260 7F019730 8CA58374 */ lw $a1, %lo(clock_timer)($a1) -/* 04E264 7F019734 8E840000 */ lw $a0, ($s4) -/* 04E268 7F019738 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 04E26C 7F01973C 24060001 */ li $a2, 1 -/* 04E270 7F019740 0FC1B100 */ jal set_80036084 -/* 04E274 7F019744 24040001 */ li $a0, 1 -/* 04E278 7F019748 0FC1CFF2 */ jal sub_GAME_7F073FC8 -/* 04E27C 7F01974C 00002025 */ move $a0, $zero -/* 04E280 7F019750 0FC1B5AC */ jal subcalcpos -/* 04E284 7F019754 8E840000 */ lw $a0, ($s4) -/* 04E288 7F019758 3C078003 */ lui $a3, %hi(ptrobjinstance) -/* 04E28C 7F01975C 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3) -/* 04E290 7F019760 10E0000B */ beqz $a3, .L7F019790 -/* 04E294 7F019764 00000000 */ nop -/* 04E298 7F019768 8CEC0008 */ lw $t4, 8($a3) -/* 04E29C 7F01976C 8D990008 */ lw $t9, 8($t4) -/* 04E2A0 7F019770 8F250000 */ lw $a1, ($t9) -/* 04E2A4 7F019774 10A00006 */ beqz $a1, .L7F019790 -/* 04E2A8 7F019778 00000000 */ nop -/* 04E2AC 7F01977C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 04E2B0 7F019780 00E02025 */ move $a0, $a3 -/* 04E2B4 7F019784 A4400000 */ sh $zero, ($v0) -/* 04E2B8 7F019788 3C078003 */ lui $a3, %hi(ptrobjinstance) -/* 04E2BC 7F01978C 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3) -.L7F019790: -/* 04E2C0 7F019790 50E0000A */ beql $a3, $zero, .L7F0197BC -/* 04E2C4 7F019794 8E8D0000 */ lw $t5, ($s4) -/* 04E2C8 7F019798 8CEE0008 */ lw $t6, 8($a3) -/* 04E2CC 7F01979C 8DCF0008 */ lw $t7, 8($t6) -/* 04E2D0 7F0197A0 8DE50008 */ lw $a1, 8($t7) -/* 04E2D4 7F0197A4 50A00005 */ beql $a1, $zero, .L7F0197BC -/* 04E2D8 7F0197A8 8E8D0000 */ lw $t5, ($s4) -/* 04E2DC 7F0197AC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 04E2E0 7F0197B0 00E02025 */ move $a0, $a3 -/* 04E2E4 7F0197B4 AC400000 */ sw $zero, ($v0) -/* 04E2E8 7F0197B8 8E8D0000 */ lw $t5, ($s4) -.L7F0197BC: -/* 04E2EC 7F0197BC 8DAB0008 */ lw $t3, 8($t5) -/* 04E2F0 7F0197C0 8564000E */ lh $a0, 0xe($t3) -/* 04E2F4 7F0197C4 0004C180 */ sll $t8, $a0, 6 -/* 04E2F8 7F0197C8 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 04E2FC 7F0197CC 03002025 */ move $a0, $t8 -/* 04E300 7F0197D0 27B201E8 */ addiu $s2, $sp, 0x1e8 -/* 04E304 7F0197D4 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 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 -/* 04E318 7F0197E8 0FC1BCBE */ jal subcalcmatrices -/* 04E31C 7F0197EC 8E850000 */ lw $a1, ($s4) -/* 04E320 7F0197F0 8E840000 */ lw $a0, ($s4) -/* 04E324 7F0197F4 0FC1B2E6 */ jal getsuboffset -/* 04E328 7F0197F8 27A50128 */ addiu $a1, $sp, 0x128 -/* 04E32C 7F0197FC 3C068007 */ lui $a2, %hi(flt_CODE_bss_800695E4) -/* 04E330 7F019800 24C695E4 */ addiu $a2, %lo(flt_CODE_bss_800695E4) # addiu $a2, $a2, -0x6a1c -/* 04E334 7F019804 8CC20000 */ lw $v0, ($a2) -/* 04E338 7F019808 00008825 */ move $s1, $zero -/* 04E33C 7F01980C 3C038005 */ lui $v1, %hi(clock_timer) -/* 04E340 7F019810 10400005 */ beqz $v0, .L7F019828 -/* 04E344 7F019814 00000000 */ nop -/* 04E348 7F019818 C7AA012C */ lwc1 $f10, 0x12c($sp) -/* 04E34C 7F01981C 3C108007 */ lui $s0, %hi(flt_CODE_bss_800695E8) -/* 04E350 7F019820 261095E8 */ addiu $s0, %lo(flt_CODE_bss_800695E8) # addiu $s0, $s0, -0x6a18 -/* 04E354 7F019824 E60A0004 */ swc1 $f10, 4($s0) -.L7F019828: -/* 04E358 7F019828 3C108007 */ lui $s0, %hi(flt_CODE_bss_800695E8) -/* 04E35C 7F01982C 261095E8 */ addiu $s0, %lo(flt_CODE_bss_800695E8) # addiu $s0, $s0, -0x6a18 -/* 04E360 7F019830 C6040000 */ lwc1 $f4, ($s0) -/* 04E364 7F019834 C7A60128 */ lwc1 $f6, 0x128($sp) -/* 04E368 7F019838 3C018005 */ lui $at, %hi(global_timer_delta) -/* 04E36C 7F01983C E7A4006C */ swc1 $f4, 0x6c($sp) -/* 04E370 7F019840 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 04E374 7F019844 C6040004 */ lwc1 $f4, 4($s0) -/* 04E378 7F019848 C4328378 */ lwc1 $f18, %lo(global_timer_delta)($at) -/* 04E37C 7F01984C 46083281 */ sub.s $f10, $f6, $f8 -/* 04E380 7F019850 E7A40064 */ swc1 $f4, 0x64($sp) -/* 04E384 7F019854 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 04E388 7F019858 C7A6012C */ lwc1 $f6, 0x12c($sp) -/* 04E38C 7F01985C C6040008 */ lwc1 $f4, 8($s0) -/* 04E390 7F019860 46125083 */ div.s $f2, $f10, $f18 -/* 04E394 7F019864 E7A40060 */ swc1 $f4, 0x60($sp) -/* 04E398 7F019868 46083281 */ sub.s $f10, $f6, $f8 -/* 04E39C 7F01986C C7A80060 */ lwc1 $f8, 0x60($sp) -/* 04E3A0 7F019870 C7A60130 */ lwc1 $f6, 0x130($sp) -/* 04E3A4 7F019874 46125303 */ div.s $f12, $f10, $f18 -/* 04E3A8 7F019878 46083281 */ sub.s $f10, $f6, $f8 -/* 04E3AC 7F01987C 1040000B */ beqz $v0, .L7F0198AC -/* 04E3B0 7F019880 46125383 */ div.s $f14, $f10, $f18 -/* 04E3B4 7F019884 3C018005 */ lui $at, %hi(D_80051B20) -/* 04E3B8 7F019888 C4301B20 */ lwc1 $f16, %lo(D_80051B20)($at) -/* 04E3BC 7F01988C 3C028007 */ lui $v0, %hi(flt_CODE_bss_80069608) -/* 04E3C0 7F019890 24429608 */ addiu $v0, %lo(flt_CODE_bss_80069608) # addiu $v0, $v0, -0x69f8 -/* 04E3C4 7F019894 46101103 */ div.s $f4, $f2, $f16 -/* 04E3C8 7F019898 46106183 */ div.s $f6, $f12, $f16 -/* 04E3CC 7F01989C E4440000 */ swc1 $f4, ($v0) -/* 04E3D0 7F0198A0 46107203 */ div.s $f8, $f14, $f16 -/* 04E3D4 7F0198A4 E4460004 */ swc1 $f6, 4($v0) -/* 04E3D8 7F0198A8 E4480008 */ swc1 $f8, 8($v0) -.L7F0198AC: -/* 04E3DC 7F0198AC 8C638374 */ lw $v1, %lo(clock_timer)($v1) -/* 04E3E0 7F0198B0 3C028007 */ lui $v0, %hi(flt_CODE_bss_80069608) -/* 04E3E4 7F0198B4 3C018005 */ lui $at, %hi(D_80051B24) -/* 04E3E8 7F0198B8 C4301B24 */ lwc1 $f16, %lo(D_80051B24)($at) -/* 04E3EC 7F0198BC 24429608 */ addiu $v0, %lo(flt_CODE_bss_80069608) # addiu $v0, $v0, -0x69f8 -/* 04E3F0 7F0198C0 E7A20134 */ swc1 $f2, 0x134($sp) -/* 04E3F4 7F0198C4 E7AC0138 */ swc1 $f12, 0x138($sp) -/* 04E3F8 7F0198C8 18600025 */ blez $v1, .L7F019960 -/* 04E3FC 7F0198CC E7AE013C */ swc1 $f14, 0x13c($sp) -/* 04E400 7F0198D0 3C018005 */ lui $at, %hi(D_80051B28) -/* 04E404 7F0198D4 C4201B28 */ lwc1 $f0, %lo(D_80051B28)($at) -/* 04E408 7F0198D8 C4440000 */ lwc1 $f4, ($v0) -/* 04E40C 7F0198DC 26310001 */ addiu $s1, $s1, 1 -/* 04E410 7F0198E0 0223082A */ slt $at, $s1, $v1 -/* 04E414 7F0198E4 46040282 */ mul.s $f10, $f0, $f4 -/* 04E418 7F0198E8 10200010 */ beqz $at, .L7F01992C -/* 04E41C 7F0198EC C4480004 */ lwc1 $f8, 4($v0) -.L7F0198F0: -/* 04E420 7F0198F0 46080182 */ mul.s $f6, $f0, $f8 -/* 04E424 7F0198F4 460A1100 */ add.s $f4, $f2, $f10 -/* 04E428 7F0198F8 C4480008 */ lwc1 $f8, 8($v0) -/* 04E42C 7F0198FC 26310001 */ addiu $s1, $s1, 1 -/* 04E430 7F019900 0223082A */ slt $at, $s1, $v1 -/* 04E434 7F019904 46080282 */ mul.s $f10, $f0, $f8 -/* 04E438 7F019908 E4440000 */ swc1 $f4, ($v0) -/* 04E43C 7F01990C 46066180 */ add.s $f6, $f12, $f6 -/* 04E440 7F019910 C4440000 */ lwc1 $f4, ($v0) -/* 04E444 7F019914 E4460004 */ swc1 $f6, 4($v0) -/* 04E448 7F019918 460A7180 */ add.s $f6, $f14, $f10 -/* 04E44C 7F01991C 46040282 */ mul.s $f10, $f0, $f4 -/* 04E450 7F019920 C4480004 */ lwc1 $f8, 4($v0) -/* 04E454 7F019924 1420FFF2 */ bnez $at, .L7F0198F0 -/* 04E458 7F019928 E4460008 */ swc1 $f6, 8($v0) -.L7F01992C: -/* 04E45C 7F01992C 46080182 */ mul.s $f6, $f0, $f8 -/* 04E460 7F019930 C4480008 */ lwc1 $f8, 8($v0) -/* 04E464 7F019934 460A1100 */ add.s $f4, $f2, $f10 -/* 04E468 7F019938 46080282 */ mul.s $f10, $f0, $f8 -/* 04E46C 7F01993C E4440000 */ swc1 $f4, ($v0) -/* 04E470 7F019940 46066180 */ add.s $f6, $f12, $f6 -/* 04E474 7F019944 E4460004 */ swc1 $f6, 4($v0) -/* 04E478 7F019948 460A7180 */ add.s $f6, $f14, $f10 -/* 04E47C 7F01994C E4460008 */ swc1 $f6, 8($v0) -/* 04E480 7F019950 E7AE013C */ swc1 $f14, 0x13c($sp) -/* 04E484 7F019954 E7AC0138 */ swc1 $f12, 0x138($sp) -/* 04E488 7F019958 E7A20134 */ swc1 $f2, 0x134($sp) -/* 04E48C 7F01995C 00008825 */ move $s1, $zero -.L7F019960: -/* 04E490 7F019960 C4440000 */ lwc1 $f4, ($v0) -/* 04E494 7F019964 C4480004 */ lwc1 $f8, 4($v0) -/* 04E498 7F019968 3C038007 */ lui $v1, %hi(flt_CODE_bss_800695F8) -/* 04E49C 7F01996C 46102182 */ mul.s $f6, $f4, $f16 -/* 04E4A0 7F019970 C4440008 */ lwc1 $f4, 8($v0) -/* 04E4A4 7F019974 246395F8 */ addiu $v1, %lo(flt_CODE_bss_800695F8) # addiu $v1, $v1, -0x6a08 -/* 04E4A8 7F019978 46104282 */ mul.s $f10, $f8, $f16 -/* 04E4AC 7F01997C C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 04E4B0 7F019980 8E8C0000 */ lw $t4, ($s4) -/* 04E4B4 7F019984 27A50134 */ addiu $a1, $sp, 0x134 -/* 04E4B8 7F019988 E4660000 */ swc1 $f6, ($v1) -/* 04E4BC 7F01998C 46102182 */ mul.s $f6, $f4, $f16 -/* 04E4C0 7F019990 E46A0004 */ swc1 $f10, 4($v1) -/* 04E4C4 7F019994 C46A0000 */ lwc1 $f10, ($v1) -/* 04E4C8 7F019998 46125102 */ mul.s $f4, $f10, $f18 -/* 04E4CC 7F01999C E4660008 */ swc1 $f6, 8($v1) -/* 04E4D0 7F0199A0 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 04E4D4 7F0199A4 46044180 */ add.s $f6, $f8, $f4 -/* 04E4D8 7F0199A8 C4680004 */ lwc1 $f8, 4($v1) -/* 04E4DC 7F0199AC 46124102 */ mul.s $f4, $f8, $f18 -/* 04E4E0 7F0199B0 E6060000 */ swc1 $f6, ($s0) -/* 04E4E4 7F0199B4 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 04E4E8 7F0199B8 46045180 */ add.s $f6, $f10, $f4 -/* 04E4EC 7F0199BC C46A0008 */ lwc1 $f10, 8($v1) -/* 04E4F0 7F0199C0 46125102 */ mul.s $f4, $f10, $f18 -/* 04E4F4 7F0199C4 E6060004 */ swc1 $f6, 4($s0) -/* 04E4F8 7F0199C8 46044180 */ add.s $f6, $f8, $f4 -/* 04E4FC 7F0199CC E6060008 */ swc1 $f6, 8($s0) -/* 04E500 7F0199D0 0FC1611D */ jal sub_GAME_7F058474 -/* 04E504 7F0199D4 8D84000C */ lw $a0, 0xc($t4) -/* 04E508 7F0199D8 C60A0004 */ lwc1 $f10, 4($s0) -/* 04E50C 7F0199DC C6040008 */ lwc1 $f4, 8($s0) -/* 04E510 7F0199E0 3C068007 */ lui $a2, %hi(flt_CODE_bss_800695E4) -/* 04E514 7F0199E4 24C695E4 */ addiu $a2, %lo(flt_CODE_bss_800695E4) # addiu $a2, $a2, -0x6a1c -/* 04E518 7F0199E8 8CD90000 */ lw $t9, ($a2) -/* 04E51C 7F0199EC 3C018005 */ lui $at, %hi(D_80051B30) -/* 04E520 7F0199F0 E7AA0064 */ swc1 $f10, 0x64($sp) -/* 04E524 7F0199F4 E7A40060 */ swc1 $f4, 0x60($sp) -/* 04E528 7F0199F8 C7A20134 */ lwc1 $f2, 0x134($sp) -/* 04E52C 7F0199FC C7AC0138 */ lwc1 $f12, 0x138($sp) -/* 04E530 7F019A00 C7AE013C */ lwc1 $f14, 0x13c($sp) -/* 04E534 7F019A04 C6120000 */ lwc1 $f18, ($s0) -/* 04E538 7F019A08 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 04E53C 7F019A0C C7A60060 */ lwc1 $f6, 0x60($sp) -/* 04E540 7F019A10 C4201B30 */ lwc1 $f0, %lo(D_80051B30)($at) -/* 04E544 7F019A14 3C018005 */ lui $at, %hi(D_80051B34) -/* 04E548 7F019A18 C4301B34 */ lwc1 $f16, %lo(D_80051B34)($at) -/* 04E54C 7F019A1C 46121081 */ sub.s $f2, $f2, $f18 -/* 04E550 7F019A20 46086301 */ sub.s $f12, $f12, $f8 -/* 04E554 7F019A24 1320000A */ beqz $t9, .L7F019A50 -/* 04E558 7F019A28 46067381 */ sub.s $f14, $f14, $f6 -/* 04E55C 7F019A2C 46101283 */ div.s $f10, $f2, $f16 -/* 04E560 7F019A30 3C028007 */ lui $v0, %hi(flt_CODE_bss_800695D8) -/* 04E564 7F019A34 244295D8 */ addiu $v0, %lo(flt_CODE_bss_800695D8) # addiu $v0, $v0, -0x6a28 -/* 04E568 7F019A38 ACC00000 */ sw $zero, ($a2) -/* 04E56C 7F019A3C 46106203 */ div.s $f8, $f12, $f16 -/* 04E570 7F019A40 E44A0000 */ swc1 $f10, ($v0) -/* 04E574 7F019A44 46107103 */ div.s $f4, $f14, $f16 -/* 04E578 7F019A48 E4480004 */ swc1 $f8, 4($v0) -/* 04E57C 7F019A4C E4440008 */ swc1 $f4, 8($v0) -.L7F019A50: -/* 04E580 7F019A50 3C038005 */ lui $v1, %hi(clock_timer) -/* 04E584 7F019A54 8C638374 */ lw $v1, %lo(clock_timer)($v1) -/* 04E588 7F019A58 3C028007 */ lui $v0, %hi(flt_CODE_bss_800695D8) -/* 04E58C 7F019A5C 244295D8 */ addiu $v0, %lo(flt_CODE_bss_800695D8) # addiu $v0, $v0, -0x6a28 -/* 04E590 7F019A60 58600021 */ blezl $v1, .L7F019AE8 -/* 04E594 7F019A64 C44A0000 */ lwc1 $f10, ($v0) -/* 04E598 7F019A68 C4440000 */ lwc1 $f4, ($v0) -/* 04E59C 7F019A6C 26310001 */ addiu $s1, $s1, 1 -/* 04E5A0 7F019A70 0223082A */ slt $at, $s1, $v1 -/* 04E5A4 7F019A74 46040202 */ mul.s $f8, $f0, $f4 -/* 04E5A8 7F019A78 10200010 */ beqz $at, .L7F019ABC -/* 04E5AC 7F019A7C C44A0004 */ lwc1 $f10, 4($v0) -.L7F019A80: -/* 04E5B0 7F019A80 460A0182 */ mul.s $f6, $f0, $f10 -/* 04E5B4 7F019A84 46081100 */ add.s $f4, $f2, $f8 -/* 04E5B8 7F019A88 C44A0008 */ lwc1 $f10, 8($v0) -/* 04E5BC 7F019A8C 26310001 */ addiu $s1, $s1, 1 -/* 04E5C0 7F019A90 0223082A */ slt $at, $s1, $v1 -/* 04E5C4 7F019A94 460A0202 */ mul.s $f8, $f0, $f10 -/* 04E5C8 7F019A98 E4440000 */ swc1 $f4, ($v0) -/* 04E5CC 7F019A9C 46066180 */ add.s $f6, $f12, $f6 -/* 04E5D0 7F019AA0 C4440000 */ lwc1 $f4, ($v0) -/* 04E5D4 7F019AA4 E4460004 */ swc1 $f6, 4($v0) -/* 04E5D8 7F019AA8 46087180 */ add.s $f6, $f14, $f8 -/* 04E5DC 7F019AAC 46040202 */ mul.s $f8, $f0, $f4 -/* 04E5E0 7F019AB0 C44A0004 */ lwc1 $f10, 4($v0) -/* 04E5E4 7F019AB4 1420FFF2 */ bnez $at, .L7F019A80 -/* 04E5E8 7F019AB8 E4460008 */ swc1 $f6, 8($v0) -.L7F019ABC: -/* 04E5EC 7F019ABC 460A0182 */ mul.s $f6, $f0, $f10 -/* 04E5F0 7F019AC0 C44A0008 */ lwc1 $f10, 8($v0) -/* 04E5F4 7F019AC4 46081100 */ add.s $f4, $f2, $f8 -/* 04E5F8 7F019AC8 460A0202 */ mul.s $f8, $f0, $f10 -/* 04E5FC 7F019ACC E4440000 */ swc1 $f4, ($v0) -/* 04E600 7F019AD0 46066180 */ add.s $f6, $f12, $f6 -/* 04E604 7F019AD4 E4460004 */ swc1 $f6, 4($v0) -/* 04E608 7F019AD8 46087180 */ add.s $f6, $f14, $f8 -/* 04E60C 7F019ADC E4460008 */ swc1 $f6, 8($v0) -/* 04E610 7F019AE0 00008825 */ move $s1, $zero -/* 04E614 7F019AE4 C44A0000 */ lwc1 $f10, ($v0) -.L7F019AE8: -/* 04E618 7F019AE8 C4440004 */ lwc1 $f4, 4($v0) -/* 04E61C 7F019AEC 3C038007 */ lui $v1, %hi(flt_CODE_bss_800695C8) -/* 04E620 7F019AF0 46105202 */ mul.s $f8, $f10, $f16 -/* 04E624 7F019AF4 C44A0008 */ lwc1 $f10, 8($v0) -/* 04E628 7F019AF8 246395C8 */ addiu $v1, %lo(flt_CODE_bss_800695C8) # addiu $v1, $v1, -0x6a38 -/* 04E62C 7F019AFC 46102182 */ mul.s $f6, $f4, $f16 -/* 04E630 7F019B00 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 04E634 7F019B04 C7A0023C */ lwc1 $f0, 0x23c($sp) -/* 04E638 7F019B08 02402025 */ move $a0, $s2 -/* 04E63C 7F019B0C E4680000 */ swc1 $f8, ($v1) -/* 04E640 7F019B10 46105202 */ mul.s $f8, $f10, $f16 -/* 04E644 7F019B14 C4640000 */ lwc1 $f4, ($v1) -/* 04E648 7F019B18 E4660004 */ swc1 $f6, 4($v1) -/* 04E64C 7F019B1C C46A0004 */ lwc1 $f10, 4($v1) -/* 04E650 7F019B20 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 04E654 7F019B24 46049080 */ add.s $f2, $f18, $f4 -/* 04E658 7F019B28 44812000 */ mtc1 $at, $f4 -/* 04E65C 7F019B2C E4680008 */ swc1 $f8, 8($v1) -/* 04E660 7F019B30 460A3200 */ add.s $f8, $f6, $f10 -/* 04E664 7F019B34 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 04E668 7F019B38 E7A60050 */ swc1 $f6, 0x50($sp) -/* 04E66C 7F019B3C 3C014252 */ li $at, 0x42520000 # 52.500000 -/* 04E670 7F019B40 46044301 */ sub.s $f12, $f8, $f4 -/* 04E674 7F019B44 C4680008 */ lwc1 $f8, 8($v1) -/* 04E678 7F019B48 C7A40238 */ lwc1 $f4, 0x238($sp) -/* 04E67C 7F019B4C E7AA0054 */ swc1 $f10, 0x54($sp) -/* 04E680 7F019B50 46085380 */ add.s $f14, $f10, $f8 -/* 04E684 7F019B54 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 04E688 7F019B58 C7A60244 */ lwc1 $f6, 0x244($sp) -/* 04E68C 7F019B5C 46022200 */ add.s $f8, $f4, $f2 -/* 04E690 7F019B60 C7A40240 */ lwc1 $f4, 0x240($sp) -/* 04E694 7F019B64 E7AE013C */ swc1 $f14, 0x13c($sp) -/* 04E698 7F019B68 46123180 */ add.s $f6, $f6, $f18 -/* 04E69C 7F019B6C E7A80238 */ swc1 $f8, 0x238($sp) -/* 04E6A0 7F019B70 E7A80050 */ swc1 $f8, 0x50($sp) -/* 04E6A4 7F019B74 44814000 */ mtc1 $at, $f8 -/* 04E6A8 7F019B78 460E2100 */ add.s $f4, $f4, $f14 -/* 04E6AC 7F019B7C E7A60244 */ swc1 $f6, 0x244($sp) -/* 04E6B0 7F019B80 44053000 */ mfc1 $a1, $f6 -/* 04E6B4 7F019B84 46085280 */ add.s $f10, $f10, $f8 -/* 04E6B8 7F019B88 C7A80248 */ lwc1 $f8, 0x248($sp) -/* 04E6BC 7F019B8C E7A40240 */ swc1 $f4, 0x240($sp) -/* 04E6C0 7F019B90 E7A40058 */ swc1 $f4, 0x58($sp) -/* 04E6C4 7F019B94 460A4200 */ add.s $f8, $f8, $f10 -/* 04E6C8 7F019B98 C7AA024C */ lwc1 $f10, 0x24c($sp) -/* 04E6CC 7F019B9C C7A40054 */ lwc1 $f4, 0x54($sp) -/* 04E6D0 7F019BA0 460C0000 */ add.s $f0, $f0, $f12 -/* 04E6D4 7F019BA4 E7A80248 */ swc1 $f8, 0x248($sp) -/* 04E6D8 7F019BA8 44064000 */ mfc1 $a2, $f8 -/* 04E6DC 7F019BAC 46045280 */ add.s $f10, $f10, $f4 -/* 04E6E0 7F019BB0 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 04E6E4 7F019BB4 C7A8022C */ lwc1 $f8, 0x22c($sp) -/* 04E6E8 7F019BB8 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 04E6EC 7F019BBC E7AA024C */ swc1 $f10, 0x24c($sp) -/* 04E6F0 7F019BC0 44075000 */ mfc1 $a3, $f10 -/* 04E6F4 7F019BC4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 04E6F8 7F019BC8 C7A40234 */ lwc1 $f4, 0x234($sp) -/* 04E6FC 7F019BCC C7AA0230 */ lwc1 $f10, 0x230($sp) -/* 04E700 7F019BD0 E7A00014 */ swc1 $f0, 0x14($sp) -/* 04E704 7F019BD4 E7A0023C */ swc1 $f0, 0x23c($sp) -/* 04E708 7F019BD8 E7AC0138 */ swc1 $f12, 0x138($sp) -/* 04E70C 7F019BDC E7A20134 */ swc1 $f2, 0x134($sp) -/* 04E710 7F019BE0 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 04E714 7F019BE4 E7A60018 */ swc1 $f6, 0x18($sp) -/* 04E718 7F019BE8 E7A40024 */ swc1 $f4, 0x24($sp) -/* 04E71C 7F019BEC 0FC165A5 */ jal sub_GAME_7F059694 -/* 04E720 7F019BF0 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 04E724 7F019BF4 8E8E0000 */ lw $t6, ($s4) -/* 04E728 7F019BF8 AFB201A8 */ sw $s2, 0x1a8($sp) -/* 04E72C 7F019BFC 8DCF0008 */ lw $t7, 8($t6) -/* 04E730 7F019C00 85E4000E */ lh $a0, 0xe($t7) -/* 04E734 7F019C04 00046980 */ sll $t5, $a0, 6 -/* 04E738 7F019C08 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 04E73C 7F019C0C 01A02025 */ move $a0, $t5 -/* 04E740 7F019C10 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 04E744 7F019C14 27A401A8 */ addiu $a0, $sp, 0x1a8 -/* 04E748 7F019C18 0FC1BCBE */ jal subcalcmatrices -/* 04E74C 7F019C1C 8E850000 */ lw $a1, ($s4) -/* 04E750 7F019C20 3C078003 */ lui $a3, %hi(ptrobjinstance) -/* 04E754 7F019C24 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3) -/* 04E758 7F019C28 50E00025 */ beql $a3, $zero, .L7F019CC0 -/* 04E75C 7F019C2C 24180007 */ li $t8, 7 -/* 04E760 7F019C30 8E840000 */ lw $a0, ($s4) -/* 04E764 7F019C34 8CE5001C */ lw $a1, 0x1c($a3) -/* 04E768 7F019C38 0FC1B198 */ jal sub_GAME_7F06C660 -/* 04E76C 7F019C3C 00003025 */ move $a2, $zero -/* 04E770 7F019C40 8E980000 */ lw $t8, ($s4) -/* 04E774 7F019C44 AFA201A8 */ sw $v0, 0x1a8($sp) -/* 04E778 7F019C48 3C078003 */ lui $a3, %hi(ptrobjinstance) -/* 04E77C 7F019C4C 8F0C0008 */ lw $t4, 8($t8) -/* 04E780 7F019C50 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3) -/* 04E784 7F019C54 27B20160 */ addiu $s2, $sp, 0x160 -/* 04E788 7F019C58 8D990008 */ lw $t9, 8($t4) -/* 04E78C 7F019C5C 8CEB001C */ lw $t3, 0x1c($a3) -/* 04E790 7F019C60 02402825 */ move $a1, $s2 -/* 04E794 7F019C64 8F2E0014 */ lw $t6, 0x14($t9) -/* 04E798 7F019C68 3C018005 */ lui $at, %hi(D_80051B38) -/* 04E79C 7F019C6C 556E000A */ bnel $t3, $t6, .L7F019C98 -/* 04E7A0 7F019C70 8CEF0008 */ lw $t7, 8($a3) -/* 04E7A4 7F019C74 0FC161A2 */ jal sub_GAME_7F058688 -/* 04E7A8 7F019C78 C42C1B38 */ lwc1 $f12, %lo(D_80051B38)($at) -/* 04E7AC 7F019C7C 8FA401A8 */ lw $a0, 0x1a8($sp) -/* 04E7B0 7F019C80 0FC1601A */ jal sub_GAME_7F058068 -/* 04E7B4 7F019C84 02402825 */ move $a1, $s2 -/* 04E7B8 7F019C88 3C078003 */ lui $a3, %hi(ptrobjinstance) -/* 04E7BC 7F019C8C 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3) -/* 04E7C0 7F019C90 AFB201A8 */ sw $s2, 0x1a8($sp) -/* 04E7C4 7F019C94 8CEF0008 */ lw $t7, 8($a3) -.L7F019C98: -/* 04E7C8 7F019C98 85E4000E */ lh $a0, 0xe($t7) -/* 04E7CC 7F019C9C 00046980 */ sll $t5, $a0, 6 -/* 04E7D0 7F019CA0 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 04E7D4 7F019CA4 01A02025 */ move $a0, $t5 -/* 04E7D8 7F019CA8 3C058003 */ lui $a1, %hi(ptrobjinstance) -/* 04E7DC 7F019CAC AFA201B8 */ sw $v0, 0x1b8($sp) -/* 04E7E0 7F019CB0 8CA5B5F8 */ lw $a1, %lo(ptrobjinstance)($a1) -/* 04E7E4 7F019CB4 0FC1BC92 */ jal instcalcmatrices -/* 04E7E8 7F019CB8 27A401A8 */ addiu $a0, $sp, 0x1a8 -/* 04E7EC 7F019CBC 24180007 */ li $t8, 7 -.L7F019CC0: -/* 04E7F0 7F019CC0 240C0001 */ li $t4, 1 -/* 04E7F4 7F019CC4 24190003 */ li $t9, 3 -/* 04E7F8 7F019CC8 27B20160 */ addiu $s2, $sp, 0x160 -/* 04E7FC 7F019CCC AFB801D8 */ sw $t8, 0x1d8($sp) -/* 04E800 7F019CD0 AFAC01AC */ sw $t4, 0x1ac($sp) -/* 04E804 7F019CD4 AFB301B4 */ sw $s3, 0x1b4($sp) -/* 04E808 7F019CD8 AFB901B0 */ sw $t9, 0x1b0($sp) -/* 04E80C 7F019CDC 27A401A8 */ addiu $a0, $sp, 0x1a8 -/* 04E810 7F019CE0 0FC1D1A1 */ jal subdraw -/* 04E814 7F019CE4 8E850000 */ lw $a1, ($s4) -/* 04E818 7F019CE8 3C078003 */ lui $a3, %hi(ptrobjinstance) -/* 04E81C 7F019CEC 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3) -/* 04E820 7F019CF0 10E00003 */ beqz $a3, .L7F019D00 -/* 04E824 7F019CF4 27A401A8 */ addiu $a0, $sp, 0x1a8 -/* 04E828 7F019CF8 0FC1D1A1 */ jal subdraw -/* 04E82C 7F019CFC 00E02825 */ move $a1, $a3 -.L7F019D00: -/* 04E830 7F019D00 8FB301B4 */ lw $s3, 0x1b4($sp) -/* 04E834 7F019D04 0FC1B100 */ jal set_80036084 -/* 04E838 7F019D08 00002025 */ move $a0, $zero -/* 04E83C 7F019D0C 8E820000 */ lw $v0, ($s4) -/* 04E840 7F019D10 8C4B0008 */ lw $t3, 8($v0) -/* 04E844 7F019D14 856E000E */ lh $t6, 0xe($t3) -/* 04E848 7F019D18 19C00013 */ blez $t6, .L7F019D68 -/* 04E84C 7F019D1C 00008025 */ move $s0, $zero -/* 04E850 7F019D20 8C4F000C */ lw $t7, 0xc($v0) -.L7F019D24: -/* 04E854 7F019D24 02402825 */ move $a1, $s2 -/* 04E858 7F019D28 0FC16008 */ jal sub_GAME_7F058020 -/* 04E85C 7F019D2C 01F02021 */ addu $a0, $t7, $s0 -/* 04E860 7F019D30 8E8D0000 */ lw $t5, ($s4) -/* 04E864 7F019D34 00116180 */ sll $t4, $s1, 6 -/* 04E868 7F019D38 02402025 */ move $a0, $s2 -/* 04E86C 7F019D3C 8DB8000C */ lw $t8, 0xc($t5) -/* 04E870 7F019D40 0FC16327 */ jal sub_GAME_7F058C9C -/* 04E874 7F019D44 030C2821 */ addu $a1, $t8, $t4 -/* 04E878 7F019D48 8E820000 */ lw $v0, ($s4) -/* 04E87C 7F019D4C 26310001 */ addiu $s1, $s1, 1 -/* 04E880 7F019D50 26100040 */ addiu $s0, $s0, 0x40 -/* 04E884 7F019D54 8C590008 */ lw $t9, 8($v0) -/* 04E888 7F019D58 872B000E */ lh $t3, 0xe($t9) -/* 04E88C 7F019D5C 022B082A */ slt $at, $s1, $t3 -/* 04E890 7F019D60 5420FFF0 */ bnezl $at, .L7F019D24 -/* 04E894 7F019D64 8C4F000C */ lw $t7, 0xc($v0) -.L7F019D68: -/* 04E898 7F019D68 3C078003 */ lui $a3, %hi(ptrobjinstance) -/* 04E89C 7F019D6C 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3) -/* 04E8A0 7F019D70 50E0001C */ beql $a3, $zero, .L7F019DE4 -/* 04E8A4 7F019D74 02601025 */ move $v0, $s3 -/* 04E8A8 7F019D78 8CEE0008 */ lw $t6, 8($a3) -/* 04E8AC 7F019D7C 00008825 */ move $s1, $zero -/* 04E8B0 7F019D80 00008025 */ move $s0, $zero -/* 04E8B4 7F019D84 85CF000E */ lh $t7, 0xe($t6) -/* 04E8B8 7F019D88 59E00016 */ blezl $t7, .L7F019DE4 -/* 04E8BC 7F019D8C 02601025 */ move $v0, $s3 -/* 04E8C0 7F019D90 8CED000C */ lw $t5, 0xc($a3) -.L7F019D94: -/* 04E8C4 7F019D94 02402825 */ move $a1, $s2 -/* 04E8C8 7F019D98 0FC16008 */ jal sub_GAME_7F058020 -/* 04E8CC 7F019D9C 01B02021 */ addu $a0, $t5, $s0 -/* 04E8D0 7F019DA0 3C188003 */ lui $t8, %hi(ptrobjinstance) -/* 04E8D4 7F019DA4 8F18B5F8 */ lw $t8, %lo(ptrobjinstance)($t8) -/* 04E8D8 7F019DA8 0011C980 */ sll $t9, $s1, 6 -/* 04E8DC 7F019DAC 02402025 */ move $a0, $s2 -/* 04E8E0 7F019DB0 8F0C000C */ lw $t4, 0xc($t8) -/* 04E8E4 7F019DB4 0FC16327 */ jal sub_GAME_7F058C9C -/* 04E8E8 7F019DB8 01992821 */ addu $a1, $t4, $t9 -/* 04E8EC 7F019DBC 3C078003 */ lui $a3, %hi(ptrobjinstance) -/* 04E8F0 7F019DC0 8CE7B5F8 */ lw $a3, %lo(ptrobjinstance)($a3) -/* 04E8F4 7F019DC4 26310001 */ addiu $s1, $s1, 1 -/* 04E8F8 7F019DC8 26100040 */ addiu $s0, $s0, 0x40 -/* 04E8FC 7F019DCC 8CEB0008 */ lw $t3, 8($a3) -/* 04E900 7F019DD0 856E000E */ lh $t6, 0xe($t3) -/* 04E904 7F019DD4 022E082A */ slt $at, $s1, $t6 -/* 04E908 7F019DD8 5420FFEE */ bnezl $at, .L7F019D94 -/* 04E90C 7F019DDC 8CED000C */ lw $t5, 0xc($a3) -/* 04E910 7F019DE0 02601025 */ move $v0, $s3 -.L7F019DE4: -/* 04E914 7F019DE4 3C0D006E */ lui $t5, (0x006E0528 >> 16) # lui $t5, 0x6e -/* 04E918 7F019DE8 35AD0528 */ ori $t5, (0x006E0528 & 0xFFFF) # ori $t5, $t5, 0x528 -/* 04E91C 7F019DEC 3C0FED00 */ lui $t7, 0xed00 -/* 04E920 7F019DF0 AC4F0000 */ sw $t7, ($v0) -/* 04E924 7F019DF4 AC4D0004 */ sw $t5, 4($v0) -/* 04E928 7F019DF8 26730008 */ addiu $s3, $s3, 8 -/* 04E92C 7F019DFC 3C07E700 */ lui $a3, 0xe700 -/* 04E930 7F019E00 26640008 */ addiu $a0, $s3, 8 -/* 04E934 7F019E04 AE670000 */ sw $a3, ($s3) -/* 04E938 7F019E08 AE600004 */ sw $zero, 4($s3) -/* 04E93C 7F019E0C 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00 -/* 04E940 7F019E10 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402 -/* 04E944 7F019E14 AC980000 */ sw $t8, ($a0) -/* 04E948 7F019E18 AC800004 */ sw $zero, 4($a0) -/* 04E94C 7F019E1C 24850008 */ addiu $a1, $a0, 8 -/* 04E950 7F019E20 3C08BA00 */ lui $t0, (0xBA000602 >> 16) # lui $t0, 0xba00 -/* 04E954 7F019E24 35080602 */ ori $t0, (0xBA000602 & 0xFFFF) # ori $t0, $t0, 0x602 -/* 04E958 7F019E28 24A60008 */ addiu $a2, $a1, 8 -/* 04E95C 7F019E2C 240C00C0 */ li $t4, 192 -/* 04E960 7F019E30 3C09BA00 */ lui $t1, (0xBA001301 >> 16) # lui $t1, 0xba00 -/* 04E964 7F019E34 ACAC0004 */ sw $t4, 4($a1) -/* 04E968 7F019E38 ACA80000 */ sw $t0, ($a1) -/* 04E96C 7F019E3C 35291301 */ ori $t1, (0xBA001301 & 0xFFFF) # ori $t1, $t1, 0x1301 -/* 04E970 7F019E40 24C20008 */ addiu $v0, $a2, 8 -/* 04E974 7F019E44 ACC90000 */ sw $t1, ($a2) -/* 04E978 7F019E48 ACC00004 */ sw $zero, 4($a2) -/* 04E97C 7F019E4C 3C19B900 */ lui $t9, (0xB9000002 >> 16) # lui $t9, 0xb900 -/* 04E980 7F019E50 37390002 */ ori $t9, (0xB9000002 & 0xFFFF) # ori $t9, $t9, 2 -/* 04E984 7F019E54 24430008 */ addiu $v1, $v0, 8 -/* 04E988 7F019E58 3C0ABA00 */ lui $t2, (0xBA001001 >> 16) # lui $t2, 0xba00 -/* 04E98C 7F019E5C AC590000 */ sw $t9, ($v0) -/* 04E990 7F019E60 AC400004 */ sw $zero, 4($v0) -/* 04E994 7F019E64 354A1001 */ ori $t2, (0xBA001001 & 0xFFFF) # ori $t2, $t2, 0x1001 -/* 04E998 7F019E68 24730008 */ addiu $s3, $v1, 8 -/* 04E99C 7F019E6C AC6A0000 */ sw $t2, ($v1) -/* 04E9A0 7F019E70 AC600004 */ sw $zero, 4($v1) -/* 04E9A4 7F019E74 02602025 */ move $a0, $s3 -/* 04E9A8 7F019E78 3C0BBA00 */ lui $t3, (0xBA000C02 >> 16) # lui $t3, 0xba00 -/* 04E9AC 7F019E7C 356B0C02 */ ori $t3, (0xBA000C02 & 0xFFFF) # ori $t3, $t3, 0xc02 -/* 04E9B0 7F019E80 240E2000 */ li $t6, 8192 -/* 04E9B4 7F019E84 AC8E0004 */ sw $t6, 4($a0) -/* 04E9B8 7F019E88 AC8B0000 */ sw $t3, ($a0) -/* 04E9BC 7F019E8C 26650008 */ addiu $a1, $s3, 8 -/* 04E9C0 7F019E90 3C0FBA00 */ lui $t7, (0xBA000903 >> 16) # lui $t7, 0xba00 -/* 04E9C4 7F019E94 35EF0903 */ ori $t7, (0xBA000903 & 0xFFFF) # ori $t7, $t7, 0x903 -/* 04E9C8 7F019E98 ACAF0000 */ sw $t7, ($a1) -/* 04E9CC 7F019E9C 24A60008 */ addiu $a2, $a1, 8 -/* 04E9D0 7F019EA0 240D0C00 */ li $t5, 3072 -/* 04E9D4 7F019EA4 ACAD0004 */ sw $t5, 4($a1) -/* 04E9D8 7F019EA8 3C18BA00 */ lui $t8, (0xBA000E02 >> 16) # lui $t8, 0xba00 -/* 04E9DC 7F019EAC 37180E02 */ ori $t8, (0xBA000E02 & 0xFFFF) # ori $t8, $t8, 0xe02 -/* 04E9E0 7F019EB0 24C20008 */ addiu $v0, $a2, 8 -/* 04E9E4 7F019EB4 ACD80000 */ sw $t8, ($a2) -/* 04E9E8 7F019EB8 ACC00004 */ sw $zero, 4($a2) -/* 04E9EC 7F019EBC 3C190050 */ lui $t9, (0x00504340 >> 16) # lui $t9, 0x50 -/* 04E9F0 7F019EC0 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 04E9F4 7F019EC4 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 04E9F8 7F019EC8 37394340 */ ori $t9, (0x00504340 & 0xFFFF) # ori $t9, $t9, 0x4340 -/* 04E9FC 7F019ECC 24430008 */ addiu $v1, $v0, 8 -/* 04EA00 7F019ED0 AC590004 */ sw $t9, 4($v0) -/* 04EA04 7F019ED4 AC4C0000 */ sw $t4, ($v0) -/* 04EA08 7F019ED8 3C0BFCFF */ lui $t3, (0xFCFFFFFF >> 16) # lui $t3, 0xfcff -/* 04EA0C 7F019EDC 3C0EFFFD */ lui $t6, (0xFFFDF6FB >> 16) # lui $t6, 0xfffd -/* 04EA10 7F019EE0 35CEF6FB */ ori $t6, (0xFFFDF6FB & 0xFFFF) # ori $t6, $t6, 0xf6fb -/* 04EA14 7F019EE4 356BFFFF */ ori $t3, (0xFCFFFFFF & 0xFFFF) # ori $t3, $t3, 0xffff -/* 04EA18 7F019EE8 AC6B0000 */ sw $t3, ($v1) -/* 04EA1C 7F019EEC AC6E0004 */ sw $t6, 4($v1) -/* 04EA20 7F019EF0 24640008 */ addiu $a0, $v1, 8 -/* 04EA24 7F019EF4 3C0FFA00 */ lui $t7, 0xfa00 -/* 04EA28 7F019EF8 AC8F0000 */ sw $t7, ($a0) -/* 04EA2C 7F019EFC 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 04EA30 7F019F00 44813000 */ mtc1 $at, $f6 -/* 04EA34 7F019F04 C7A80144 */ lwc1 $f8, 0x144($sp) -/* 04EA38 7F019F08 240C00FF */ li $t4, 255 -/* 04EA3C 7F019F0C 24930008 */ addiu $s3, $a0, 8 -/* 04EA40 7F019F10 46083002 */ mul.s $f0, $f6, $f8 -/* 04EA44 7F019F14 3C0EF66E */ lui $t6, (0xF66E0528 >> 16) # lui $t6, 0xf66e -/* 04EA48 7F019F18 35CE0528 */ ori $t6, (0xF66E0528 & 0xFFFF) # ori $t6, $t6, 0x528 -/* 04EA4C 7F019F1C 26660008 */ addiu $a2, $s3, 8 -/* 04EA50 7F019F20 24C20008 */ addiu $v0, $a2, 8 -/* 04EA54 7F019F24 24430008 */ addiu $v1, $v0, 8 -/* 04EA58 7F019F28 240F0040 */ li $t7, 64 -/* 04EA5C 7F019F2C 4600028D */ trunc.w.s $f10, $f0 -/* 04EA60 7F019F30 3C0D0008 */ lui $t5, 8 -/* 04EA64 7F019F34 24650008 */ addiu $a1, $v1, 8 -/* 04EA68 7F019F38 44185000 */ mfc1 $t8, $f10 -/* 04EA6C 7F019F3C 00000000 */ nop -/* 04EA70 7F019F40 0198C823 */ subu $t9, $t4, $t8 -/* 04EA74 7F019F44 332B00FF */ andi $t3, $t9, 0xff -/* 04EA78 7F019F48 AC8B0004 */ sw $t3, 4($a0) -/* 04EA7C 7F019F4C AE600004 */ sw $zero, 4($s3) -/* 04EA80 7F019F50 AE6E0000 */ sw $t6, ($s3) -/* 04EA84 7F019F54 ACC00004 */ sw $zero, 4($a2) -/* 04EA88 7F019F58 ACC70000 */ sw $a3, ($a2) -/* 04EA8C 7F019F5C AC4F0004 */ sw $t7, 4($v0) -/* 04EA90 7F019F60 AC480000 */ sw $t0, ($v0) -/* 04EA94 7F019F64 AC6D0004 */ sw $t5, 4($v1) -/* 04EA98 7F019F68 AC690000 */ sw $t1, ($v1) -/* 04EA9C 7F019F6C 3C0C0001 */ lui $t4, 1 -/* 04EAA0 7F019F70 ACAC0004 */ sw $t4, 4($a1) -/* 04EAA4 7F019F74 ACAA0000 */ sw $t2, ($a1) -/* 04EAA8 7F019F78 24A40008 */ addiu $a0, $a1, 8 -/* 04EAAC 7F019F7C 0FC2B366 */ jal microcode_constructor -/* 04EAB0 7F019F80 E7A00070 */ swc1 $f0, 0x70($sp) -/* 04EAB4 7F019F84 3C188003 */ lui $t8, %hi(full_actor_intro) -/* 04EAB8 7F019F88 8F18B5FC */ lw $t8, %lo(full_actor_intro)($t8) -/* 04EABC 7F019F8C 00409825 */ move $s3, $v0 -/* 04EAC0 7F019F90 1700005F */ bnez $t8, .L7F01A110 -/* 04EAC4 7F019F94 3C198003 */ lui $t9, %hi(do_not_play_intro_movie) -/* 04EAC8 7F019F98 8F39B5E8 */ lw $t9, %lo(do_not_play_intro_movie)($t9) -/* 04EACC 7F019F9C 3C048003 */ lui $a0, %hi(intro_char_table+8) -/* 04EAD0 7F019FA0 00195880 */ sll $t3, $t9, 2 -/* 04EAD4 7F019FA4 01795821 */ addu $t3, $t3, $t9 -/* 04EAD8 7F019FA8 000B5880 */ sll $t3, $t3, 2 -/* 04EADC 7F019FAC 008B2021 */ addu $a0, $a0, $t3 -/* 04EAE0 7F019FB0 0FC30776 */ jal get_textptr_for_textID -/* 04EAE4 7F019FB4 9484B608 */ lhu $a0, %lo(intro_char_table+8)($a0) -/* 04EAE8 7F019FB8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableLarge) -/* 04EAEC 7F019FBC 8DCE0EB4 */ lw $t6, %lo(ptrFirstFontTableLarge)($t6) -/* 04EAF0 7F019FC0 3C148004 */ lui $s4, %hi(ptrSecondFontTableLarge) -/* 04EAF4 7F019FC4 26940EB8 */ addiu $s4, %lo(ptrSecondFontTableLarge) # addiu $s4, $s4, 0xeb8 -/* 04EAF8 7F019FC8 00408825 */ move $s1, $v0 -/* 04EAFC 7F019FCC 8E870000 */ lw $a3, ($s4) -/* 04EB00 7F019FD0 27A40150 */ addiu $a0, $sp, 0x150 -/* 04EB04 7F019FD4 27A50154 */ addiu $a1, $sp, 0x154 -/* 04EB08 7F019FD8 00403025 */ move $a2, $v0 -/* 04EB0C 7F019FDC AFA00014 */ sw $zero, 0x14($sp) -/* 04EB10 7F019FE0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04EB14 7F019FE4 AFAE0010 */ sw $t6, 0x10($sp) -/* 04EB18 7F019FE8 8FA20154 */ lw $v0, 0x154($sp) -/* 04EB1C 7F019FEC 8FB80150 */ lw $t8, 0x150($sp) -/* 04EB20 7F019FF0 240D013B */ li $t5, 315 -/* 04EB24 7F019FF4 04410003 */ bgez $v0, .L7F01A004 -/* 04EB28 7F019FF8 00027843 */ sra $t7, $v0, 1 -/* 04EB2C 7F019FFC 24410001 */ addiu $at, $v0, 1 -/* 04EB30 7F01A000 00017843 */ sra $t7, $at, 1 -.L7F01A004: -/* 04EB34 7F01A004 01AF2823 */ subu $a1, $t5, $t7 -/* 04EB38 7F01A008 240C006C */ li $t4, 108 -/* 04EB3C 7F01A00C 00A23821 */ addu $a3, $a1, $v0 -/* 04EB40 7F01A010 2719006D */ addiu $t9, $t8, 0x6d -/* 04EB44 7F01A014 AFAC0158 */ sw $t4, 0x158($sp) -/* 04EB48 7F01A018 AFB90010 */ sw $t9, 0x10($sp) -/* 04EB4C 7F01A01C 24E70001 */ addiu $a3, $a3, 1 -/* 04EB50 7F01A020 AFA5015C */ sw $a1, 0x15c($sp) -/* 04EB54 7F01A024 02602025 */ move $a0, $s3 -/* 04EB58 7F01A028 2406006C */ li $a2, 108 -/* 04EB5C 7F01A02C 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04EB60 7F01A030 AFA00014 */ sw $zero, 0x14($sp) -/* 04EB64 7F01A034 0C001107 */ jal get_video2_settings_txtClipW -/* 04EB68 7F01A038 00409825 */ move $s3, $v0 -/* 04EB6C 7F01A03C 00028400 */ sll $s0, $v0, 0x10 -/* 04EB70 7F01A040 00105C03 */ sra $t3, $s0, 0x10 -/* 04EB74 7F01A044 0C00110B */ jal get_video2_settings_txtClipH -/* 04EB78 7F01A048 01608025 */ move $s0, $t3 -/* 04EB7C 7F01A04C 444FF800 */ cfc1 $t7, $31 -/* 04EB80 7F01A050 240C0001 */ li $t4, 1 -/* 04EB84 7F01A054 44CCF800 */ ctc1 $t4, $31 -/* 04EB88 7F01A058 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 04EB8C 7F01A05C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04EB90 7F01A060 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04EB94 7F01A064 460021A4 */ cvt.w.s $f6, $f4 -/* 04EB98 7F01A068 8E8E0000 */ lw $t6, ($s4) -/* 04EB9C 7F01A06C 02602025 */ move $a0, $s3 -/* 04EBA0 7F01A070 27A5015C */ addiu $a1, $sp, 0x15c -/* 04EBA4 7F01A074 444CF800 */ cfc1 $t4, $31 -/* 04EBA8 7F01A078 27A60158 */ addiu $a2, $sp, 0x158 -/* 04EBAC 7F01A07C 02203825 */ move $a3, $s1 -/* 04EBB0 7F01A080 318C0078 */ andi $t4, $t4, 0x78 -/* 04EBB4 7F01A084 AFAD0014 */ sw $t5, 0x14($sp) -/* 04EBB8 7F01A088 11800013 */ beqz $t4, .L7F01A0D8 -/* 04EBBC 7F01A08C AFAE0010 */ sw $t6, 0x10($sp) -/* 04EBC0 7F01A090 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 04EBC4 7F01A094 44813000 */ mtc1 $at, $f6 -/* 04EBC8 7F01A098 240C0001 */ li $t4, 1 -/* 04EBCC 7F01A09C 46062181 */ sub.s $f6, $f4, $f6 -/* 04EBD0 7F01A0A0 44CCF800 */ ctc1 $t4, $31 -/* 04EBD4 7F01A0A4 00000000 */ nop -/* 04EBD8 7F01A0A8 460031A4 */ cvt.w.s $f6, $f6 -/* 04EBDC 7F01A0AC 444CF800 */ cfc1 $t4, $31 -/* 04EBE0 7F01A0B0 00000000 */ nop -/* 04EBE4 7F01A0B4 318C0078 */ andi $t4, $t4, 0x78 -/* 04EBE8 7F01A0B8 15800005 */ bnez $t4, .L7F01A0D0 -/* 04EBEC 7F01A0BC 00000000 */ nop -/* 04EBF0 7F01A0C0 440C3000 */ mfc1 $t4, $f6 -/* 04EBF4 7F01A0C4 3C018000 */ lui $at, 0x8000 -/* 04EBF8 7F01A0C8 10000007 */ b .L7F01A0E8 -/* 04EBFC 7F01A0CC 01816025 */ or $t4, $t4, $at -.L7F01A0D0: -/* 04EC00 7F01A0D0 10000005 */ b .L7F01A0E8 -/* 04EC04 7F01A0D4 240CFFFF */ li $t4, -1 -.L7F01A0D8: -/* 04EC08 7F01A0D8 440C3000 */ mfc1 $t4, $f6 -/* 04EC0C 7F01A0DC 00000000 */ nop -/* 04EC10 7F01A0E0 0580FFFB */ bltz $t4, .L7F01A0D0 -/* 04EC14 7F01A0E4 00000000 */ nop -.L7F01A0E8: -/* 04EC18 7F01A0E8 2401FF00 */ li $at, -256 -/* 04EC1C 7F01A0EC 0181C025 */ or $t8, $t4, $at -/* 04EC20 7F01A0F0 44CFF800 */ ctc1 $t7, $31 -/* 04EC24 7F01A0F4 AFB80018 */ sw $t8, 0x18($sp) -/* 04EC28 7F01A0F8 AFB0001C */ sw $s0, 0x1c($sp) -/* 04EC2C 7F01A0FC AFA20020 */ sw $v0, 0x20($sp) -/* 04EC30 7F01A100 AFA00024 */ sw $zero, 0x24($sp) -/* 04EC34 7F01A104 0FC2B6AF */ jal en_text_write_stuff -/* 04EC38 7F01A108 AFA00028 */ sw $zero, 0x28($sp) -/* 04EC3C 7F01A10C 00409825 */ move $s3, $v0 -.L7F01A110: -/* 04EC40 7F01A110 444EF800 */ cfc1 $t6, $31 -/* 04EC44 7F01A114 24120001 */ li $s2, 1 -/* 04EC48 7F01A118 44D2F800 */ ctc1 $s2, $31 -/* 04EC4C 7F01A11C C7A80070 */ lwc1 $f8, 0x70($sp) -/* 04EC50 7F01A120 3C198003 */ lui $t9, %hi(do_not_play_intro_movie) -/* 04EC54 7F01A124 8F39B5E8 */ lw $t9, %lo(do_not_play_intro_movie)($t9) -/* 04EC58 7F01A128 460042A4 */ cvt.w.s $f10, $f8 -/* 04EC5C 7F01A12C 3C048003 */ lui $a0, %hi(intro_char_table+10) -/* 04EC60 7F01A130 00195880 */ sll $t3, $t9, 2 -/* 04EC64 7F01A134 01795821 */ addu $t3, $t3, $t9 -/* 04EC68 7F01A138 4452F800 */ cfc1 $s2, $31 -/* 04EC6C 7F01A13C 000B5880 */ sll $t3, $t3, 2 -/* 04EC70 7F01A140 3C148004 */ lui $s4, %hi(ptrSecondFontTableLarge) -/* 04EC74 7F01A144 008B2021 */ addu $a0, $a0, $t3 -/* 04EC78 7F01A148 32520078 */ andi $s2, $s2, 0x78 -/* 04EC7C 7F01A14C 26940EB8 */ addiu $s4, %lo(ptrSecondFontTableLarge) # addiu $s4, $s4, 0xeb8 -/* 04EC80 7F01A150 12400013 */ beqz $s2, .L7F01A1A0 -/* 04EC84 7F01A154 9484B60A */ lhu $a0, %lo(intro_char_table+10)($a0) -/* 04EC88 7F01A158 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 04EC8C 7F01A15C 44815000 */ mtc1 $at, $f10 -/* 04EC90 7F01A160 24120001 */ li $s2, 1 -/* 04EC94 7F01A164 460A4281 */ sub.s $f10, $f8, $f10 -/* 04EC98 7F01A168 44D2F800 */ ctc1 $s2, $31 -/* 04EC9C 7F01A16C 00000000 */ nop -/* 04ECA0 7F01A170 460052A4 */ cvt.w.s $f10, $f10 -/* 04ECA4 7F01A174 4452F800 */ cfc1 $s2, $31 -/* 04ECA8 7F01A178 00000000 */ nop -/* 04ECAC 7F01A17C 32520078 */ andi $s2, $s2, 0x78 -/* 04ECB0 7F01A180 16400005 */ bnez $s2, .L7F01A198 -/* 04ECB4 7F01A184 00000000 */ nop -/* 04ECB8 7F01A188 44125000 */ mfc1 $s2, $f10 -/* 04ECBC 7F01A18C 3C018000 */ lui $at, 0x8000 -/* 04ECC0 7F01A190 10000007 */ b .L7F01A1B0 -/* 04ECC4 7F01A194 02419025 */ or $s2, $s2, $at -.L7F01A198: -/* 04ECC8 7F01A198 10000005 */ b .L7F01A1B0 -/* 04ECCC 7F01A19C 2412FFFF */ li $s2, -1 -.L7F01A1A0: -/* 04ECD0 7F01A1A0 44125000 */ mfc1 $s2, $f10 -/* 04ECD4 7F01A1A4 00000000 */ nop -/* 04ECD8 7F01A1A8 0640FFFB */ bltz $s2, .L7F01A198 -/* 04ECDC 7F01A1AC 00000000 */ nop -.L7F01A1B0: -/* 04ECE0 7F01A1B0 2401FF00 */ li $at, -256 -/* 04ECE4 7F01A1B4 02416825 */ or $t5, $s2, $at -/* 04ECE8 7F01A1B8 44CEF800 */ ctc1 $t6, $31 -/* 04ECEC 7F01A1BC 0FC30776 */ jal get_textptr_for_textID -/* 04ECF0 7F01A1C0 01A09025 */ move $s2, $t5 -/* 04ECF4 7F01A1C4 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableLarge) -/* 04ECF8 7F01A1C8 8DEF0EB4 */ lw $t7, %lo(ptrFirstFontTableLarge)($t7) -/* 04ECFC 7F01A1CC 00408825 */ move $s1, $v0 -/* 04ED00 7F01A1D0 27A40150 */ addiu $a0, $sp, 0x150 -/* 04ED04 7F01A1D4 27A50154 */ addiu $a1, $sp, 0x154 -/* 04ED08 7F01A1D8 00403025 */ move $a2, $v0 -/* 04ED0C 7F01A1DC 8E870000 */ lw $a3, ($s4) -/* 04ED10 7F01A1E0 AFA00014 */ sw $zero, 0x14($sp) -/* 04ED14 7F01A1E4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04ED18 7F01A1E8 AFAF0010 */ sw $t7, 0x10($sp) -/* 04ED1C 7F01A1EC 8FA20154 */ lw $v0, 0x154($sp) -/* 04ED20 7F01A1F0 8FAB0150 */ lw $t3, 0x150($sp) -/* 04ED24 7F01A1F4 2418013B */ li $t8, 315 -/* 04ED28 7F01A1F8 04410003 */ bgez $v0, .L7F01A208 -/* 04ED2C 7F01A1FC 00026043 */ sra $t4, $v0, 1 -/* 04ED30 7F01A200 24410001 */ addiu $at, $v0, 1 -/* 04ED34 7F01A204 00016043 */ sra $t4, $at, 1 -.L7F01A208: -/* 04ED38 7F01A208 030C2823 */ subu $a1, $t8, $t4 -/* 04ED3C 7F01A20C 24190098 */ li $t9, 152 -/* 04ED40 7F01A210 00A23821 */ addu $a3, $a1, $v0 -/* 04ED44 7F01A214 256E0099 */ addiu $t6, $t3, 0x99 -/* 04ED48 7F01A218 AFB90158 */ sw $t9, 0x158($sp) -/* 04ED4C 7F01A21C AFAE0010 */ sw $t6, 0x10($sp) -/* 04ED50 7F01A220 24E70001 */ addiu $a3, $a3, 1 -/* 04ED54 7F01A224 AFA5015C */ sw $a1, 0x15c($sp) -/* 04ED58 7F01A228 02602025 */ move $a0, $s3 -/* 04ED5C 7F01A22C 24060098 */ li $a2, 152 -/* 04ED60 7F01A230 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04ED64 7F01A234 AFA00014 */ sw $zero, 0x14($sp) -/* 04ED68 7F01A238 0C001107 */ jal get_video2_settings_txtClipW -/* 04ED6C 7F01A23C 00409825 */ move $s3, $v0 -/* 04ED70 7F01A240 00028400 */ sll $s0, $v0, 0x10 -/* 04ED74 7F01A244 00106C03 */ sra $t5, $s0, 0x10 -/* 04ED78 7F01A248 0C00110B */ jal get_video2_settings_txtClipH -/* 04ED7C 7F01A24C 01A08025 */ move $s0, $t5 -/* 04ED80 7F01A250 3C188004 */ lui $t8, %hi(ptrFirstFontTableLarge) -/* 04ED84 7F01A254 8F180EB4 */ lw $t8, %lo(ptrFirstFontTableLarge)($t8) -/* 04ED88 7F01A258 8E8F0000 */ lw $t7, ($s4) -/* 04ED8C 7F01A25C 02602025 */ move $a0, $s3 -/* 04ED90 7F01A260 27A5015C */ addiu $a1, $sp, 0x15c -/* 04ED94 7F01A264 27A60158 */ addiu $a2, $sp, 0x158 -/* 04ED98 7F01A268 02203825 */ move $a3, $s1 -/* 04ED9C 7F01A26C AFB20018 */ sw $s2, 0x18($sp) -/* 04EDA0 7F01A270 AFB0001C */ sw $s0, 0x1c($sp) -/* 04EDA4 7F01A274 AFA20020 */ sw $v0, 0x20($sp) -/* 04EDA8 7F01A278 AFA00024 */ sw $zero, 0x24($sp) -/* 04EDAC 7F01A27C AFA00028 */ sw $zero, 0x28($sp) -/* 04EDB0 7F01A280 AFB80014 */ sw $t8, 0x14($sp) -/* 04EDB4 7F01A284 0FC2B6AF */ jal en_text_write_stuff -/* 04EDB8 7F01A288 AFAF0010 */ sw $t7, 0x10($sp) -/* 04EDBC 7F01A28C 3C0C8003 */ lui $t4, %hi(do_not_play_intro_movie) -/* 04EDC0 7F01A290 8D8CB5E8 */ lw $t4, %lo(do_not_play_intro_movie)($t4) -/* 04EDC4 7F01A294 3C048003 */ lui $a0, %hi(intro_char_table+12) -/* 04EDC8 7F01A298 00409825 */ move $s3, $v0 -/* 04EDCC 7F01A29C 000CC880 */ sll $t9, $t4, 2 -/* 04EDD0 7F01A2A0 032CC821 */ addu $t9, $t9, $t4 -/* 04EDD4 7F01A2A4 0019C880 */ sll $t9, $t9, 2 -/* 04EDD8 7F01A2A8 00992021 */ addu $a0, $a0, $t9 -/* 04EDDC 7F01A2AC 0FC30776 */ jal get_textptr_for_textID -/* 04EDE0 7F01A2B0 9484B60C */ lhu $a0, %lo(intro_char_table+12)($a0) -/* 04EDE4 7F01A2B4 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableLarge) -/* 04EDE8 7F01A2B8 8D6B0EB4 */ lw $t3, %lo(ptrFirstFontTableLarge)($t3) -/* 04EDEC 7F01A2BC 00408825 */ move $s1, $v0 -/* 04EDF0 7F01A2C0 27A40150 */ addiu $a0, $sp, 0x150 -/* 04EDF4 7F01A2C4 27A50154 */ addiu $a1, $sp, 0x154 -/* 04EDF8 7F01A2C8 00403025 */ move $a2, $v0 -/* 04EDFC 7F01A2CC 8E870000 */ lw $a3, ($s4) -/* 04EE00 7F01A2D0 AFA00014 */ sw $zero, 0x14($sp) -/* 04EE04 7F01A2D4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 04EE08 7F01A2D8 AFAB0010 */ sw $t3, 0x10($sp) -/* 04EE0C 7F01A2DC 8FA20154 */ lw $v0, 0x154($sp) -/* 04EE10 7F01A2E0 8FB80150 */ lw $t8, 0x150($sp) -/* 04EE14 7F01A2E4 240D013B */ li $t5, 315 -/* 04EE18 7F01A2E8 04410003 */ bgez $v0, .L7F01A2F8 -/* 04EE1C 7F01A2EC 00027043 */ sra $t6, $v0, 1 -/* 04EE20 7F01A2F0 24410001 */ addiu $at, $v0, 1 -/* 04EE24 7F01A2F4 00017043 */ sra $t6, $at, 1 -.L7F01A2F8: -/* 04EE28 7F01A2F8 01AE2823 */ subu $a1, $t5, $t6 -/* 04EE2C 7F01A2FC 240F00AE */ li $t7, 174 -/* 04EE30 7F01A300 00A23821 */ addu $a3, $a1, $v0 -/* 04EE34 7F01A304 270C00AF */ addiu $t4, $t8, 0xaf -/* 04EE38 7F01A308 AFAF0158 */ sw $t7, 0x158($sp) -/* 04EE3C 7F01A30C AFAC0010 */ sw $t4, 0x10($sp) -/* 04EE40 7F01A310 24E70001 */ addiu $a3, $a3, 1 -/* 04EE44 7F01A314 AFA5015C */ sw $a1, 0x15c($sp) -/* 04EE48 7F01A318 02602025 */ move $a0, $s3 -/* 04EE4C 7F01A31C 240600AE */ li $a2, 174 -/* 04EE50 7F01A320 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 04EE54 7F01A324 AFA00014 */ sw $zero, 0x14($sp) -/* 04EE58 7F01A328 0C001107 */ jal get_video2_settings_txtClipW -/* 04EE5C 7F01A32C 00409825 */ move $s3, $v0 -/* 04EE60 7F01A330 00028400 */ sll $s0, $v0, 0x10 -/* 04EE64 7F01A334 0010CC03 */ sra $t9, $s0, 0x10 -/* 04EE68 7F01A338 0C00110B */ jal get_video2_settings_txtClipH -/* 04EE6C 7F01A33C 03208025 */ move $s0, $t9 -/* 04EE70 7F01A340 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableLarge) -/* 04EE74 7F01A344 8DAD0EB4 */ lw $t5, %lo(ptrFirstFontTableLarge)($t5) -/* 04EE78 7F01A348 8E8B0000 */ lw $t3, ($s4) -/* 04EE7C 7F01A34C 02602025 */ move $a0, $s3 -/* 04EE80 7F01A350 27A5015C */ addiu $a1, $sp, 0x15c -/* 04EE84 7F01A354 27A60158 */ addiu $a2, $sp, 0x158 -/* 04EE88 7F01A358 02203825 */ move $a3, $s1 -/* 04EE8C 7F01A35C AFB20018 */ sw $s2, 0x18($sp) -/* 04EE90 7F01A360 AFB0001C */ sw $s0, 0x1c($sp) -/* 04EE94 7F01A364 AFA20020 */ sw $v0, 0x20($sp) -/* 04EE98 7F01A368 AFA00024 */ sw $zero, 0x24($sp) -/* 04EE9C 7F01A36C AFA00028 */ sw $zero, 0x28($sp) -/* 04EEA0 7F01A370 AFAD0014 */ sw $t5, 0x14($sp) -/* 04EEA4 7F01A374 0FC2B6AF */ jal en_text_write_stuff -/* 04EEA8 7F01A378 AFAB0010 */ sw $t3, 0x10($sp) -/* 04EEAC 7F01A37C 8FBF004C */ lw $ra, 0x4c($sp) -/* 04EEB0 7F01A380 8FB00038 */ lw $s0, 0x38($sp) -/* 04EEB4 7F01A384 8FB1003C */ lw $s1, 0x3c($sp) -/* 04EEB8 7F01A388 8FB20040 */ lw $s2, 0x40($sp) -/* 04EEBC 7F01A38C 8FB30044 */ lw $s3, 0x44($sp) -/* 04EEC0 7F01A390 8FB40048 */ lw $s4, 0x48($sp) -/* 04EEC4 7F01A394 03E00008 */ jr $ra -/* 04EEC8 7F01A398 27BD0250 */ addiu $sp, $sp, 0x250 -) -#endif - - - -#ifdef NONMATCHING -void init_menu19_spectrum(void) { - u8 rom; - - // Node 0 - rom = 0; - if (get_controller_buttons_held(2, 2) == 0) - { - // Node 1 - if (get_controller_buttons_held(2, 1) != 0) - { - // Node 2 - rom = 1; - } - else - { - // Node 3 - if (get_controller_buttons_held(2, 8) != 0) - { - // Node 4 - rom = 2; - } - else - { - // Node 5 - if (get_controller_buttons_held(2, 4) != 0) - { - // Node 6 - rom = 3; - } - else - { - // Node 7 - if (get_controller_buttons_held(2, 0x200) != 0) - { - // Node 8 - rom = 4; - } - else - { - // Node 9 - if (get_controller_buttons_held(2, 0x100) != 0) - { - // Node 10 - rom = 5; - } - else - { - // Node 11 - if (get_controller_buttons_held(2, 0x800) != 0) - { - // Node 12 - rom = 6; - } - else - { - // Node 13 - rom = 0; - if (get_controller_buttons_held(2, 0x400) != 0) - { - // Node 14 - rom = 7; - } - } - } - } - } - } - } - } - // Node 15 - return init_spectrum_game(rom); -} -#else -GLOBAL_ASM( -.text -glabel init_menu19_spectrum -/* 04EECC 7F01A39C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 04EED0 7F01A3A0 AFBF001C */ sw $ra, 0x1c($sp) -/* 04EED4 7F01A3A4 AFB00018 */ sw $s0, 0x18($sp) -/* 04EED8 7F01A3A8 00008025 */ move $s0, $zero -/* 04EEDC 7F01A3AC 24040002 */ li $a0, 2 -/* 04EEE0 7F01A3B0 0C0030C3 */ jal get_controller_buttons_held -/* 04EEE4 7F01A3B4 24050002 */ li $a1, 2 -/* 04EEE8 7F01A3B8 1440002A */ bnez $v0, .L7F01A464 -/* 04EEEC 7F01A3BC 24040002 */ li $a0, 2 -/* 04EEF0 7F01A3C0 0C0030C3 */ jal get_controller_buttons_held -/* 04EEF4 7F01A3C4 24050001 */ li $a1, 1 -/* 04EEF8 7F01A3C8 10400003 */ beqz $v0, .L7F01A3D8 -/* 04EEFC 7F01A3CC 24040002 */ li $a0, 2 -/* 04EF00 7F01A3D0 10000024 */ b .L7F01A464 -/* 04EF04 7F01A3D4 24100001 */ li $s0, 1 -.L7F01A3D8: -/* 04EF08 7F01A3D8 0C0030C3 */ jal get_controller_buttons_held -/* 04EF0C 7F01A3DC 24050008 */ li $a1, 8 -/* 04EF10 7F01A3E0 10400003 */ beqz $v0, .L7F01A3F0 -/* 04EF14 7F01A3E4 24040002 */ li $a0, 2 -/* 04EF18 7F01A3E8 1000001E */ b .L7F01A464 -/* 04EF1C 7F01A3EC 24100002 */ li $s0, 2 -.L7F01A3F0: -/* 04EF20 7F01A3F0 0C0030C3 */ jal get_controller_buttons_held -/* 04EF24 7F01A3F4 24050004 */ li $a1, 4 -/* 04EF28 7F01A3F8 10400003 */ beqz $v0, .L7F01A408 -/* 04EF2C 7F01A3FC 24040002 */ li $a0, 2 -/* 04EF30 7F01A400 10000018 */ b .L7F01A464 -/* 04EF34 7F01A404 24100003 */ li $s0, 3 -.L7F01A408: -/* 04EF38 7F01A408 0C0030C3 */ jal get_controller_buttons_held -/* 04EF3C 7F01A40C 24050200 */ li $a1, 512 -/* 04EF40 7F01A410 10400003 */ beqz $v0, .L7F01A420 -/* 04EF44 7F01A414 24040002 */ li $a0, 2 -/* 04EF48 7F01A418 10000012 */ b .L7F01A464 -/* 04EF4C 7F01A41C 24100004 */ li $s0, 4 -.L7F01A420: -/* 04EF50 7F01A420 0C0030C3 */ jal get_controller_buttons_held -/* 04EF54 7F01A424 24050100 */ li $a1, 256 -/* 04EF58 7F01A428 10400003 */ beqz $v0, .L7F01A438 -/* 04EF5C 7F01A42C 24040002 */ li $a0, 2 -/* 04EF60 7F01A430 1000000C */ b .L7F01A464 -/* 04EF64 7F01A434 24100005 */ li $s0, 5 -.L7F01A438: -/* 04EF68 7F01A438 0C0030C3 */ jal get_controller_buttons_held -/* 04EF6C 7F01A43C 24050800 */ li $a1, 2048 -/* 04EF70 7F01A440 10400003 */ beqz $v0, .L7F01A450 -/* 04EF74 7F01A444 24040002 */ li $a0, 2 -/* 04EF78 7F01A448 10000006 */ b .L7F01A464 -/* 04EF7C 7F01A44C 24100006 */ li $s0, 6 -.L7F01A450: -/* 04EF80 7F01A450 0C0030C3 */ jal get_controller_buttons_held -/* 04EF84 7F01A454 24050400 */ li $a1, 1024 -/* 04EF88 7F01A458 10400002 */ beqz $v0, .L7F01A464 -/* 04EF8C 7F01A45C 00000000 */ nop -/* 04EF90 7F01A460 24100007 */ li $s0, 7 -.L7F01A464: -/* 04EF94 7F01A464 0FC34BF1 */ jal init_spectrum_game -/* 04EF98 7F01A468 02002025 */ move $a0, $s0 -/* 04EF9C 7F01A46C 8FBF001C */ lw $ra, 0x1c($sp) -/* 04EFA0 7F01A470 8FB00018 */ lw $s0, 0x18($sp) -/* 04EFA4 7F01A474 27BD0020 */ addiu $sp, $sp, 0x20 -/* 04EFA8 7F01A478 03E00008 */ jr $ra -/* 04EFAC 7F01A47C 00000000 */ nop -) -#endif - - - - - - -void update_menu19_spectrum(void) { - return; -} - - - -#ifdef NONMATCHING -void interface_menu19_spectrum(void) { - setvideo_far(60.0f); - video_related_21(D_80051B3C); - set_page_height(100.0f, D_80051B40); - set_video2_settings_offset_24(0); - run_spectrum_game(); -} -#else -GLOBAL_ASM( -.text -glabel interface_menu19_spectrum -/* 04EFB8 7F01A488 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 setvideo_far -/* 04EFCC 7F01A49C 00000000 */ nop -/* 04EFD0 7F01A4A0 3C018005 */ lui $at, %hi(D_80051B3C) -/* 04EFD4 7F01A4A4 0C001164 */ jal video_related_21 -/* 04EFD8 7F01A4A8 C42C1B3C */ lwc1 $f12, %lo(D_80051B3C)($at) -/* 04EFDC 7F01A4AC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 04EFE0 7F01A4B0 44816000 */ mtc1 $at, $f12 -/* 04EFE4 7F01A4B4 3C018005 */ lui $at, %hi(D_80051B40) -/* 04EFE8 7F01A4B8 0C001194 */ jal set_page_height -/* 04EFEC 7F01A4BC C42E1B40 */ lwc1 $f14, %lo(D_80051B40)($at) -/* 04EFF0 7F01A4C0 0C00114D */ jal set_video2_settings_offset_24 -/* 04EFF4 7F01A4C4 00002025 */ move $a0, $zero -/* 04EFF8 7F01A4C8 0FC34CDD */ jal run_spectrum_game -/* 04EFFC 7F01A4CC 00000000 */ nop -/* 04F000 7F01A4D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 04F004 7F01A4D4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04F008 7F01A4D8 03E00008 */ jr $ra -/* 04F00C 7F01A4DC 00000000 */ nop -) -#endif - - - - - - -#ifdef NONMATCHING -void constructor_menu19_spectrum(void) { - ? temp_ret; - - // Node 0 - temp_ret = insert_imageDL(); - *temp_ret = 0xba001402; - temp_ret->unk14 = 0x204; - temp_ret->unk10 = 0xb6000000; - temp_ret->unk1C = 0xfffcf87c; - temp_ret->unk8 = 0xb900031d; - temp_ret->unkC = 0x552048; - temp_ret->unk18 = 0xfcffffff; - temp_ret->unk20 = 0xba000c02; - temp_ret->unk4 = 0; - temp_ret->unk24 = 0; - temp_ret->unk28 = 0xfd500000; - temp_ret->unk2C = &color_palette_entries_50_percent; - temp_ret->unk34 = 0x7000000; - temp_ret->unk30 = 0xf5000300; - temp_ret->unk38 = 0xe6000000; - temp_ret->unk3C = 0; - temp_ret->unk40 = 0xf0000ff0; - temp_ret->unk44 = 0x701cff0; - temp_ret->unk48 = 0xe7000000; - temp_ret->unk4C = 0; - temp_ret->unk54 = 0x8000; - temp_ret->unk50 = 0xba000e02; - spectrum_draw_screen((temp_ret + 0x58)); - return; - // (possible return value: spectrum_draw_screen((temp_ret + 0x58))) -} -#else -GLOBAL_ASM( -.text -glabel constructor_menu19_spectrum -/* 04F010 7F01A4E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 04F014 7F01A4E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 04F018 7F01A4E8 0FC07034 */ jal insert_imageDL -/* 04F01C 7F01A4EC 00000000 */ nop -/* 04F020 7F01A4F0 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00 -/* 04F024 7F01A4F4 3C0AFFFC */ lui $t2, (0xFFFCF87C >> 16) # lui $t2, 0xfffc -/* 04F028 7F01A4F8 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402 -/* 04F02C 7F01A4FC 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 04F030 7F01A500 3C180055 */ lui $t8, (0x00552048 >> 16) # lui $t8, 0x55 -/* 04F034 7F01A504 3C19B600 */ lui $t9, 0xb600 -/* 04F038 7F01A508 24080204 */ li $t0, 516 -/* 04F03C 7F01A50C 354AF87C */ ori $t2, (0xFFFCF87C & 0xFFFF) # ori $t2, $t2, 0xf87c -/* 04F040 7F01A510 3C09FCFF */ lui $t1, (0xFCFFFFFF >> 16) # lui $t1, 0xfcff -/* 04F044 7F01A514 3C0BBA00 */ lui $t3, (0xBA000C02 >> 16) # lui $t3, 0xba00 -/* 04F048 7F01A518 AC4E0000 */ sw $t6, ($v0) -/* 04F04C 7F01A51C 37182048 */ ori $t8, (0x00552048 & 0xFFFF) # ori $t8, $t8, 0x2048 -/* 04F050 7F01A520 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 04F054 7F01A524 AC480014 */ sw $t0, 0x14($v0) -/* 04F058 7F01A528 AC590010 */ sw $t9, 0x10($v0) -/* 04F05C 7F01A52C 3529FFFF */ ori $t1, (0xFCFFFFFF & 0xFFFF) # ori $t1, $t1, 0xffff -/* 04F060 7F01A530 AC4A001C */ sw $t2, 0x1c($v0) -/* 04F064 7F01A534 356B0C02 */ ori $t3, (0xBA000C02 & 0xFFFF) # ori $t3, $t3, 0xc02 -/* 04F068 7F01A538 AC4F0008 */ sw $t7, 8($v0) -/* 04F06C 7F01A53C AC58000C */ sw $t8, 0xc($v0) -/* 04F070 7F01A540 AC490018 */ sw $t1, 0x18($v0) -/* 04F074 7F01A544 AC4B0020 */ sw $t3, 0x20($v0) -/* 04F078 7F01A548 3C0D8003 */ lui $t5, %hi(color_palette_entries_50_percent) -/* 04F07C 7F01A54C 3C0EF500 */ lui $t6, (0xF5000300 >> 16) # lui $t6, 0xf500 -/* 04F080 7F01A550 3C19F000 */ lui $t9, (0xF0000FF0 >> 16) # lui $t9, 0xf000 -/* 04F084 7F01A554 3C080701 */ lui $t0, (0x0701CFF0 >> 16) # lui $t0, 0x701 -/* 04F088 7F01A558 3C0ABA00 */ lui $t2, (0xBA000E02 >> 16) # lui $t2, 0xba00 -/* 04F08C 7F01A55C 25ADBAF0 */ addiu $t5, %lo(color_palette_entries_50_percent) # addiu $t5, $t5, -0x4510 -/* 04F090 7F01A560 3C0CFD50 */ lui $t4, 0xfd50 -/* 04F094 7F01A564 35CE0300 */ ori $t6, (0xF5000300 & 0xFFFF) # ori $t6, $t6, 0x300 -/* 04F098 7F01A568 3C0F0700 */ lui $t7, 0x700 -/* 04F09C 7F01A56C 3C18E600 */ lui $t8, 0xe600 -/* 04F0A0 7F01A570 3508CFF0 */ ori $t0, (0x0701CFF0 & 0xFFFF) # ori $t0, $t0, 0xcff0 -/* 04F0A4 7F01A574 37390FF0 */ ori $t9, (0xF0000FF0 & 0xFFFF) # ori $t9, $t9, 0xff0 -/* 04F0A8 7F01A578 3C09E700 */ lui $t1, 0xe700 -/* 04F0AC 7F01A57C 354A0E02 */ ori $t2, (0xBA000E02 & 0xFFFF) # ori $t2, $t2, 0xe02 -/* 04F0B0 7F01A580 340B8000 */ li $t3, 32768 -/* 04F0B4 7F01A584 AC400004 */ sw $zero, 4($v0) -/* 04F0B8 7F01A588 AC400024 */ sw $zero, 0x24($v0) -/* 04F0BC 7F01A58C AC4C0028 */ sw $t4, 0x28($v0) -/* 04F0C0 7F01A590 AC4D002C */ sw $t5, 0x2c($v0) -/* 04F0C4 7F01A594 AC4F0034 */ sw $t7, 0x34($v0) -/* 04F0C8 7F01A598 AC4E0030 */ sw $t6, 0x30($v0) -/* 04F0CC 7F01A59C AC580038 */ sw $t8, 0x38($v0) -/* 04F0D0 7F01A5A0 AC40003C */ sw $zero, 0x3c($v0) -/* 04F0D4 7F01A5A4 AC590040 */ sw $t9, 0x40($v0) -/* 04F0D8 7F01A5A8 AC480044 */ sw $t0, 0x44($v0) -/* 04F0DC 7F01A5AC AC490048 */ sw $t1, 0x48($v0) -/* 04F0E0 7F01A5B0 AC40004C */ sw $zero, 0x4c($v0) -/* 04F0E4 7F01A5B4 AC4B0054 */ sw $t3, 0x54($v0) -/* 04F0E8 7F01A5B8 AC4A0050 */ sw $t2, 0x50($v0) -/* 04F0EC 7F01A5BC 0FC34CED */ jal spectrum_draw_screen -/* 04F0F0 7F01A5C0 24440058 */ addiu $a0, $v0, 0x58 -/* 04F0F4 7F01A5C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 04F0F8 7F01A5C8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04F0FC 7F01A5CC 03E00008 */ jr $ra -/* 04F100 7F01A5D0 00000000 */ nop -) -#endif - - - - - - -#ifdef NONMATCHING -void set_menu_to_mode(MENU menu, u32 mode) -{ - if ((menu == MENU_RUN_STAGE) || (menu == MENU_SPECTRUM_EMU)) { - is_emulating_spectrum = TRUE; - } - if (mode == 0) { - maybe_prev_menu = menu; - return; - } - menu_update = menu; - return; -} -#else -GLOBAL_ASM( -.text -glabel set_menu_to_mode -/* 04F104 7F01A5D4 2401000B */ li $at, 11 -/* 04F108 7F01A5D8 10810003 */ beq $a0, $at, .L7F01A5E8 -/* 04F10C 7F01A5DC 240E0001 */ li $t6, 1 -/* 04F110 7F01A5E0 24010019 */ li $at, 25 -/* 04F114 7F01A5E4 14810002 */ bne $a0, $at, .L7F01A5F0 -.L7F01A5E8: -/* 04F118 7F01A5E8 3C018003 */ lui $at, %hi(is_emulating_spectrum) -/* 04F11C 7F01A5EC AC2EA948 */ sw $t6, %lo(is_emulating_spectrum)($at) -.L7F01A5F0: -/* 04F120 7F01A5F0 10A00004 */ beqz $a1, .L7F01A604 -/* 04F124 7F01A5F4 3C018003 */ lui $at, %hi(maybe_prev_menu) -/* 04F128 7F01A5F8 3C018003 */ lui $at, %hi(menu_update) -/* 04F12C 7F01A5FC 03E00008 */ jr $ra -/* 04F130 7F01A600 AC24A8C4 */ sw $a0, %lo(menu_update)($at) -.L7F01A604: -/* 04F134 7F01A604 AC24A8C8 */ sw $a0, %lo(maybe_prev_menu)($at) -/* 04F138 7F01A608 03E00008 */ jr $ra -/* 04F13C 7F01A60C 00000000 */ nop -) -#endif - - - -MENU get_currentmenu(void) -{ - return current_menu; -} - - - - - -#ifdef NONMATCHING -void menu_init(undefined8 param_1,undefined8 param_2) -{ - 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 { - 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 { - 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); - } - 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( -.late_rodata -glabel jpt_menu_update - .word menu_legal_screen_update - .word menu_nintendo_logo_update - .word menu_rareware_logo_update - .word menu_eye_intro_update - .word menu_goldeneye_logo_update - .word menu_file_select_update - .word menu_mode_select_update - .word menu_mission_select_update - .word menu_difficulty_update - .word menu_007_options_update - .word menu_briefing_update - .word menu_switch_screen_update - .word menu_mission_failed_update - .word menu_mission_complete_update - .word menu_mp_options_update - .word menu_mp_char_select_update - .word menu_mp_handicap_update - .word menu_mp_control_style_update - .word menu_mp_stage_select_update - .word menu_mp_scenario_select_update - .word menu_mp_teams_update - .word menu_cheat_update - .word menu_no_controllers_update - .word menu_switch_screen_update - .word menu_display_cast_update - .word menu_spectrum_emu_update - - glabel jpt_menu_init - .word menu_legal_screen_init - .word menu_nintendo_logo_init - .word menu_rareware_logo_init - .word menu_eye_intro_init - .word menu_goldeneye_logo_init - .word menu_file_select_init - .word menu_mode_select_init - .word menu_mission_select_init - .word menu_difficulty_init - .word menu_007_options_init - .word menu_briefing_init - .word menu_runstage_init - .word menu_mission_failed_init - .word menu_mission_complete_init - .word menu_mp_options_init - .word menu_mp_char_select_init - .word menu_mp_handicap_init - .word menu_mp_control_style_init - .word menu_mp_stage_select_init - .word menu_mp_scenario_select_init - .word menu_mp_teams_init - .word menu_cheat_init - .word menu_no_controllers_init - .word menu_switch_screens_init - .word menu_display_cast_init - .word menu_spectrum_emu_init - -glabel jpt_menu_interface - .word menu00_legal_interface - .word menu01_nintendo_interface - .word menu02_rareware_interface - .word menu03_eye_interface - .word menu04_goldeneye_interface - .word menu05_filesel_interface - .word menu06_modesel_interface - .word menu07_missionsel_interface - .word menu08_difficulty_interface - .word menu09_007options_interface - .word menu0A_briefing_interface - .word menu0B_runstage_interface - .word menu0C_missionfailed_interface - .word menu0D_missioncomplete_interface - .word menu0E_mpoptions_interface - .word menu0F_mpcharsel_interface - .word menu10_mphandicap_interface - .word menu11_mpcontrol_interface - .word menu12_mpstage_interface - .word menu13_mpscenario_interface - .word menu14_mpteams_interface - .word menu15_cheat_interface - .word menu16_nocontrollers_interface - .word menu17_switchscreen_interface - .word menu18_displaycast_interface - .word menu19_spectrum_interface -.text -glabel menu_init -/* 04F14C 7F01A61C 3C0E8003 */ lui $t6, %hi(current_menu) -/* 04F150 7F01A620 8DCEA8C0 */ lw $t6, %lo(current_menu)($t6) -/* 04F154 7F01A624 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 04F158 7F01A628 24010017 */ li $at, 23 -/* 04F15C 7F01A62C 15C1001D */ bne $t6, $at, .L7F01A6A4 -/* 04F160 7F01A630 AFBF0014 */ sw $ra, 0x14($sp) -/* 04F164 7F01A634 3C0F8003 */ lui $t7, %hi(spectrum_related_flag) -/* 04F168 7F01A638 8DEFA944 */ lw $t7, %lo(spectrum_related_flag)($t7) -/* 04F16C 7F01A63C 3C088003 */ lui $t0, %hi(is_emulating_spectrum) -/* 04F170 7F01A640 11E0000C */ beqz $t7, .L7F01A674 -/* 04F174 7F01A644 00000000 */ nop -/* 04F178 7F01A648 0C000F07 */ jal get_video_settings2_frameb -/* 04F17C 7F01A64C 00000000 */ nop -/* 04F180 7F01A650 3C18803E */ lui $t8, %hi(cfb_16_b) # $t8, 0x803e -/* 04F184 7F01A654 2718A800 */ addiu $t8, %lo(cfb_16_b) # addiu $t8, $t8, -0x5800 -/* 04F188 7F01A658 14580012 */ bne $v0, $t8, .L7F01A6A4 -/* 04F18C 7F01A65C 24190001 */ li $t9, 1 -/* 04F190 7F01A660 3C018003 */ lui $at, %hi(screen_size) -/* 04F194 7F01A664 AC39A940 */ sw $t9, %lo(screen_size)($at) -/* 04F198 7F01A668 3C018003 */ lui $at, %hi(spectrum_related_flag) -/* 04F19C 7F01A66C 1000000D */ b .L7F01A6A4 -/* 04F1A0 7F01A670 AC20A944 */ sw $zero, %lo(spectrum_related_flag)($at) -.L7F01A674: -/* 04F1A4 7F01A674 8D08A948 */ lw $t0, %lo(is_emulating_spectrum)($t0) -/* 04F1A8 7F01A678 1100000A */ beqz $t0, .L7F01A6A4 -/* 04F1AC 7F01A67C 00000000 */ nop -/* 04F1B0 7F01A680 0C000F07 */ jal get_video_settings2_frameb -/* 04F1B4 7F01A684 00000000 */ nop -/* 04F1B8 7F01A688 3C09803B */ lui $t1, %hi(cfb_16_a) # $t1, 0x803b -/* 04F1BC 7F01A68C 25295000 */ addiu $t1, %lo(cfb_16_a) # addiu $t1, $t1, 0x5000 -/* 04F1C0 7F01A690 14490004 */ bne $v0, $t1, .L7F01A6A4 -/* 04F1C4 7F01A694 3C018003 */ lui $at, %hi(screen_size) -/* 04F1C8 7F01A698 AC20A940 */ sw $zero, %lo(screen_size)($at) -/* 04F1CC 7F01A69C 3C018003 */ lui $at, %hi(is_emulating_spectrum) -/* 04F1D0 7F01A6A0 AC20A948 */ sw $zero, %lo(is_emulating_spectrum)($at) -.L7F01A6A4: -/* 04F1D4 7F01A6A4 3C0A8003 */ lui $t2, %hi(screen_size) -/* 04F1D8 7F01A6A8 8D4AA940 */ lw $t2, %lo(screen_size)($t2) -/* 04F1DC 7F01A6AC 3C018005 */ lui $at, %hi(D_80051B48) -/* 04F1E0 7F01A6B0 11400020 */ beqz $t2, .L7F01A734 -/* 04F1E4 7F01A6B4 00000000 */ nop -/* 04F1E8 7F01A6B8 0C000F07 */ jal get_video_settings2_frameb -/* 04F1EC 7F01A6BC 00000000 */ nop -/* 04F1F0 7F01A6C0 3C0B803E */ lui $t3, %hi(cfb_16_b) # $t3, 0x803e -/* 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_frameb -/* 04F204 7F01A6D4 8C84A954 */ lw $a0, %lo(ptr_menu_videobuffer)($a0) -.L7F01A6D8: -/* 04F208 7F01A6D8 3C018005 */ lui $at, %hi(D_80051B48) -/* 04F20C 7F01A6DC 0C001164 */ jal video_related_21 -/* 04F210 7F01A6E0 C42C1B44 */ lwc1 $f12, %lo(D_80051B44)($at) -/* 04F214 7F01A6E4 240401B8 */ li $a0, 440 -/* 04F218 7F01A6E8 0C0010FE */ jal set_video2_text_clip_size -/* 04F21C 7F01A6EC 2405014A */ li $a1, 330 -/* 04F220 7F01A6F0 240401B8 */ li $a0, 440 -/* 04F224 7F01A6F4 0C0010ED */ jal set_video2_settings_offset_18_1A -/* 04F228 7F01A6F8 2405014A */ li $a1, 330 -/* 04F22C 7F01A6FC 240401B8 */ li $a0, 440 -/* 04F230 7F01A700 0FC26C77 */ jal set_cur_player_screen_size -/* 04F234 7F01A704 2405014A */ li $a1, 330 -/* 04F238 7F01A708 240401B8 */ li $a0, 440 -/* 04F23C 7F01A70C 0C00110F */ jal set_video2_width_height -/* 04F240 7F01A710 2405014A */ li $a1, 330 -/* 04F244 7F01A714 00002025 */ move $a0, $zero -/* 04F248 7F01A718 0FC26C7E */ jal set_cur_player_viewport_size -/* 04F24C 7F01A71C 00002825 */ move $a1, $zero -/* 04F250 7F01A720 00002025 */ move $a0, $zero -/* 04F254 7F01A724 0C00112F */ jal set_video2_ulx_uly -/* 04F258 7F01A728 00002825 */ move $a1, $zero -/* 04F25C 7F01A72C 10000015 */ b .L7F01A784 -/* 04F260 7F01A730 00000000 */ nop -.L7F01A734: -/* 04F264 7F01A734 0C001164 */ jal video_related_21 -/* 04F268 7F01A738 C42C1B48 */ lwc1 $f12, %lo(D_80051B48)($at) -/* 04F26C 7F01A73C 24040140 */ li $a0, 320 -/* 04F270 7F01A740 0C0010FE */ jal set_video2_text_clip_size -/* 04F274 7F01A744 240500F0 */ li $a1, 240 -/* 04F278 7F01A748 24040140 */ li $a0, 320 -/* 04F27C 7F01A74C 0C0010ED */ jal set_video2_settings_offset_18_1A -/* 04F280 7F01A750 240500F0 */ li $a1, 240 -/* 04F284 7F01A754 24040140 */ li $a0, 320 -/* 04F288 7F01A758 0FC26C77 */ jal set_cur_player_screen_size -/* 04F28C 7F01A75C 240500F0 */ li $a1, 240 -/* 04F290 7F01A760 24040140 */ li $a0, 320 -/* 04F294 7F01A764 0C00110F */ jal set_video2_width_height -/* 04F298 7F01A768 240500F0 */ li $a1, 240 -/* 04F29C 7F01A76C 00002025 */ move $a0, $zero -/* 04F2A0 7F01A770 0FC26C7E */ jal set_cur_player_viewport_size -/* 04F2A4 7F01A774 00002825 */ move $a1, $zero -/* 04F2A8 7F01A778 00002025 */ move $a0, $zero -/* 04F2AC 7F01A77C 0C00112F */ jal set_video2_ulx_uly -/* 04F2B0 7F01A780 00002825 */ move $a1, $zero -.L7F01A784: -/* 04F2B4 7F01A784 3C028003 */ lui $v0, %hi(menu_update) -/* 04F2B8 7F01A788 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -/* 04F2BC 7F01A78C 3C048003 */ lui $a0, %hi(current_menu) -/* 04F2C0 7F01A790 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F2C4 7F01A794 04410004 */ bgez $v0, .L7F01A7A8 -/* 04F2C8 7F01A798 3C0C8003 */ lui $t4, %hi(maybe_prev_menu) -/* 04F2CC 7F01A79C 8D8CA8C8 */ lw $t4, %lo(maybe_prev_menu)($t4) -/* 04F2D0 7F01A7A0 058000B7 */ bltz $t4, .L7F01AA80 -/* 04F2D4 7F01A7A4 00000000 */ nop -.L7F01A7A8: -/* 04F2D8 7F01A7A8 8C830000 */ lw $v1, ($a0) -/* 04F2DC 7F01A7AC 24010017 */ li $at, 23 -/* 04F2E0 7F01A7B0 106100B3 */ beq $v1, $at, .L7F01AA80 -/* 04F2E4 7F01A7B4 2C61001A */ sltiu $at, $v1, 0x1a -/* 04F2E8 7F01A7B8 102000AD */ beqz $at, .L7F01AA70 -/* 04F2EC 7F01A7BC 00036880 */ sll $t5, $v1, 2 -/* 04F2F0 7F01A7C0 3C018005 */ lui $at, %hi(jpt_menu_update) -/* 04F2F4 7F01A7C4 002D0821 */ addu $at, $at, $t5 -/* 04F2F8 7F01A7C8 8C2D1B4C */ lw $t5, %lo(jpt_menu_update)($at) -/* 04F2FC 7F01A7CC 01A00008 */ jr $t5 -/* 04F300 7F01A7D0 00000000 */ nop -menu_legal_screen_update: -/* 04F304 7F01A7D4 0FC029AC */ jal update_menu00_legalscreen -/* 04F308 7F01A7D8 00000000 */ nop -/* 04F30C 7F01A7DC 3C028003 */ lui $v0, %hi(menu_update) -/* 04F310 7F01A7E0 3C048003 */ lui $a0, %hi(current_menu) -/* 04F314 7F01A7E4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F318 7F01A7E8 100000A1 */ b .L7F01AA70 -/* 04F31C 7F01A7EC 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_nintendo_logo_update: -/* 04F320 7F01A7F0 0FC02B29 */ jal update_menu01_nintendo -/* 04F324 7F01A7F4 00000000 */ nop -/* 04F328 7F01A7F8 3C028003 */ lui $v0, %hi(menu_update) -/* 04F32C 7F01A7FC 3C048003 */ lui $a0, %hi(current_menu) -/* 04F330 7F01A800 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F334 7F01A804 1000009A */ b .L7F01AA70 -/* 04F338 7F01A808 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_rareware_logo_update: -/* 04F33C 7F01A80C 0FC02C29 */ jal update_menu02_rareware -/* 04F340 7F01A810 00000000 */ nop -/* 04F344 7F01A814 3C028003 */ lui $v0, %hi(menu_update) -/* 04F348 7F01A818 3C048003 */ lui $a0, %hi(current_menu) -/* 04F34C 7F01A81C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F350 7F01A820 10000093 */ b .L7F01AA70 -/* 04F354 7F01A824 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_eye_intro_update: -/* 04F358 7F01A828 0FC02C64 */ jal update_menu_03_eye -/* 04F35C 7F01A82C 00000000 */ nop -/* 04F360 7F01A830 3C028003 */ lui $v0, %hi(menu_update) -/* 04F364 7F01A834 3C048003 */ lui $a0, %hi(current_menu) -/* 04F368 7F01A838 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F36C 7F01A83C 1000008C */ b .L7F01AA70 -/* 04F370 7F01A840 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_goldeneye_logo_update: -/* 04F374 7F01A844 0FC02CC1 */ jal update_menu04_goldeneye -/* 04F378 7F01A848 00000000 */ nop -/* 04F37C 7F01A84C 3C028003 */ lui $v0, %hi(menu_update) -/* 04F380 7F01A850 3C048003 */ lui $a0, %hi(current_menu) -/* 04F384 7F01A854 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F388 7F01A858 10000085 */ b .L7F01AA70 -/* 04F38C 7F01A85C 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_file_select_update: -/* 04F390 7F01A860 0FC02EB8 */ jal update_menu05_filesel -/* 04F394 7F01A864 00000000 */ nop -/* 04F398 7F01A868 3C028003 */ lui $v0, %hi(menu_update) -/* 04F39C 7F01A86C 3C048003 */ lui $a0, %hi(current_menu) -/* 04F3A0 7F01A870 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F3A4 7F01A874 1000007E */ b .L7F01AA70 -/* 04F3A8 7F01A878 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mode_select_update: -/* 04F3AC 7F01A87C 0FC034A4 */ jal update_menu06_modesel -/* 04F3B0 7F01A880 00000000 */ nop -/* 04F3B4 7F01A884 3C028003 */ lui $v0, %hi(menu_update) -/* 04F3B8 7F01A888 3C048003 */ lui $a0, %hi(current_menu) -/* 04F3BC 7F01A88C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F3C0 7F01A890 10000077 */ b .L7F01AA70 -/* 04F3C4 7F01A894 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mission_select_update: -/* 04F3C8 7F01A898 0FC037AC */ jal update_menu07_missionsel -/* 04F3CC 7F01A89C 00000000 */ nop -/* 04F3D0 7F01A8A0 3C028003 */ lui $v0, %hi(menu_update) -/* 04F3D4 7F01A8A4 3C048003 */ lui $a0, %hi(current_menu) -/* 04F3D8 7F01A8A8 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F3DC 7F01A8AC 10000070 */ b .L7F01AA70 -/* 04F3E0 7F01A8B0 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_difficulty_update: -/* 04F3E4 7F01A8B4 0FC039EE */ jal update_menu08_difficulty -/* 04F3E8 7F01A8B8 00000000 */ nop -/* 04F3EC 7F01A8BC 3C028003 */ lui $v0, %hi(menu_update) -/* 04F3F0 7F01A8C0 3C048003 */ lui $a0, %hi(current_menu) -/* 04F3F4 7F01A8C4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F3F8 7F01A8C8 10000069 */ b .L7F01AA70 -/* 04F3FC 7F01A8CC 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_007_options_update: -/* 04F400 7F01A8D0 0FC03CDB */ jal update_menu09_007options -/* 04F404 7F01A8D4 00000000 */ nop -/* 04F408 7F01A8D8 3C028003 */ lui $v0, %hi(menu_update) -/* 04F40C 7F01A8DC 3C048003 */ lui $a0, %hi(current_menu) -/* 04F410 7F01A8E0 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F414 7F01A8E4 10000062 */ b .L7F01AA70 -/* 04F418 7F01A8E8 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_briefing_update: -/* 04F41C 7F01A8EC 0FC05590 */ jal update_menu0A_briefing -/* 04F420 7F01A8F0 00000000 */ nop -/* 04F424 7F01A8F4 3C028003 */ lui $v0, %hi(menu_update) -/* 04F428 7F01A8F8 3C048003 */ lui $a0, %hi(current_menu) -/* 04F42C 7F01A8FC 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F430 7F01A900 1000005B */ b .L7F01AA70 -/* 04F434 7F01A904 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mission_failed_update: -/* 04F438 7F01A908 0FC05842 */ jal update_menu0C_missionfailed -/* 04F43C 7F01A90C 00000000 */ nop -/* 04F440 7F01A910 3C028003 */ lui $v0, %hi(menu_update) -/* 04F444 7F01A914 3C048003 */ lui $a0, %hi(current_menu) -/* 04F448 7F01A918 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F44C 7F01A91C 10000054 */ b .L7F01AA70 -/* 04F450 7F01A920 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mission_complete_update: -/* 04F454 7F01A924 0FC059B4 */ jal update_menu0D_missioncomplete -/* 04F458 7F01A928 00000000 */ nop -/* 04F45C 7F01A92C 3C028003 */ lui $v0, %hi(menu_update) -/* 04F460 7F01A930 3C048003 */ lui $a0, %hi(current_menu) -/* 04F464 7F01A934 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F468 7F01A938 1000004D */ b .L7F01AA70 -/* 04F46C 7F01A93C 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mp_options_update: -/* 04F470 7F01A940 0FC04210 */ jal update_menu0E_mpoptions -/* 04F474 7F01A944 00000000 */ nop -/* 04F478 7F01A948 3C028003 */ lui $v0, %hi(menu_update) -/* 04F47C 7F01A94C 3C048003 */ lui $a0, %hi(current_menu) -/* 04F480 7F01A950 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F484 7F01A954 10000046 */ b .L7F01AA70 -/* 04F488 7F01A958 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mp_scenario_select_update: -/* 04F48C 7F01A95C 0FC051EC */ jal update_menu13_mpscenario -/* 04F490 7F01A960 00000000 */ nop -/* 04F494 7F01A964 3C028003 */ lui $v0, %hi(menu_update) -/* 04F498 7F01A968 3C048003 */ lui $a0, %hi(current_menu) -/* 04F49C 7F01A96C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F4A0 7F01A970 1000003F */ b .L7F01AA70 -/* 04F4A4 7F01A974 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mp_char_select_update: -/* 04F4A8 7F01A978 0FC047B3 */ jal update_menu0F_mpcharsel -/* 04F4AC 7F01A97C 00000000 */ nop -/* 04F4B0 7F01A980 3C028003 */ lui $v0, %hi(menu_update) -/* 04F4B4 7F01A984 3C048003 */ lui $a0, %hi(current_menu) -/* 04F4B8 7F01A988 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F4BC 7F01A98C 10000038 */ b .L7F01AA70 -/* 04F4C0 7F01A990 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mp_teams_update: -/* 04F4C4 7F01A994 0FC05350 */ jal update_menu14_mpteams -/* 04F4C8 7F01A998 00000000 */ nop -/* 04F4CC 7F01A99C 3C028003 */ lui $v0, %hi(menu_update) -/* 04F4D0 7F01A9A0 3C048003 */ lui $a0, %hi(current_menu) -/* 04F4D4 7F01A9A4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F4D8 7F01A9A8 10000031 */ b .L7F01AA70 -/* 04F4DC 7F01A9AC 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mp_handicap_update: -/* 04F4E0 7F01A9B0 0FC04BAF */ jal update_menu10_mphandicap -/* 04F4E4 7F01A9B4 00000000 */ nop -/* 04F4E8 7F01A9B8 3C028003 */ lui $v0, %hi(menu_update) -/* 04F4EC 7F01A9BC 3C048003 */ lui $a0, %hi(current_menu) -/* 04F4F0 7F01A9C0 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F4F4 7F01A9C4 1000002A */ b .L7F01AA70 -/* 04F4F8 7F01A9C8 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mp_control_style_update: -/* 04F4FC 7F01A9CC 0FC04D80 */ jal update_menu11_mpcontrols -/* 04F500 7F01A9D0 00000000 */ nop -/* 04F504 7F01A9D4 3C028003 */ lui $v0, %hi(menu_update) -/* 04F508 7F01A9D8 3C048003 */ lui $a0, %hi(current_menu) -/* 04F50C 7F01A9DC 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F510 7F01A9E0 10000023 */ b .L7F01AA70 -/* 04F514 7F01A9E4 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_mp_stage_select_update: -/* 04F518 7F01A9E8 0FC04F73 */ jal update_menu12_mpstage -/* 04F51C 7F01A9EC 00000000 */ nop -/* 04F520 7F01A9F0 3C028003 */ lui $v0, %hi(menu_update) -/* 04F524 7F01A9F4 3C048003 */ lui $a0, %hi(current_menu) -/* 04F528 7F01A9F8 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F52C 7F01A9FC 1000001C */ b .L7F01AA70 -/* 04F530 7F01AA00 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_cheat_update: -/* 04F534 7F01AA04 0FC05EFD */ jal update_menu15_cheat -/* 04F538 7F01AA08 00000000 */ nop -/* 04F53C 7F01AA0C 3C028003 */ lui $v0, %hi(menu_update) -/* 04F540 7F01AA10 3C048003 */ lui $a0, %hi(current_menu) -/* 04F544 7F01AA14 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F548 7F01AA18 10000015 */ b .L7F01AA70 -/* 04F54C 7F01AA1C 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_no_controllers_update: -/* 04F550 7F01AA20 0FC06110 */ jal update_menu16_nocontrollers -/* 04F554 7F01AA24 00000000 */ nop -/* 04F558 7F01AA28 3C028003 */ lui $v0, %hi(menu_update) -/* 04F55C 7F01AA2C 3C048003 */ lui $a0, %hi(current_menu) -/* 04F560 7F01AA30 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F564 7F01AA34 1000000E */ b .L7F01AA70 -/* 04F568 7F01AA38 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_display_cast_update: -/* 04F56C 7F01AA3C 0FC063C6 */ jal update_menu18_displaycast -/* 04F570 7F01AA40 00000000 */ nop -/* 04F574 7F01AA44 3C028003 */ lui $v0, %hi(menu_update) -/* 04F578 7F01AA48 3C048003 */ lui $a0, %hi(current_menu) -/* 04F57C 7F01AA4C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F580 7F01AA50 10000007 */ b .L7F01AA70 -/* 04F584 7F01AA54 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_spectrum_emu_update: -/* 04F588 7F01AA58 0FC06920 */ jal update_menu19_spectrum -/* 04F58C 7F01AA5C 00000000 */ nop -/* 04F590 7F01AA60 3C028003 */ lui $v0, %hi(menu_update) -/* 04F594 7F01AA64 3C048003 */ lui $a0, %hi(current_menu) -/* 04F598 7F01AA68 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F59C 7F01AA6C 8C42A8C4 */ lw $v0, %lo(menu_update)($v0) -menu_switch_screen_update: -.L7F01AA70: -/* 04F5A0 7F01AA70 04400003 */ bltz $v0, .L7F01AA80 -/* 04F5A4 7F01AA74 240E0017 */ li $t6, 23 -/* 04F5A8 7F01AA78 0FC02ABB */ jal reset_menutimer -/* 04F5AC 7F01AA7C AC8E0000 */ sw $t6, ($a0) -.L7F01AA80: -/* 04F5B0 7F01AA80 3C028003 */ lui $v0, %hi(maybe_prev_menu) -/* 04F5B4 7F01AA84 8C42A8C8 */ lw $v0, %lo(maybe_prev_menu)($v0) -/* 04F5B8 7F01AA88 3C048003 */ lui $a0, %hi(current_menu) -/* 04F5BC 7F01AA8C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -/* 04F5C0 7F01AA90 04400089 */ bltz $v0, .L7F01ACB8 -/* 04F5C4 7F01AA94 240FFFFF */ li $t7, -1 -/* 04F5C8 7F01AA98 AC820000 */ sw $v0, ($a0) -/* 04F5CC 7F01AA9C 3C018003 */ lui $at, %hi(maybe_prev_menu) -/* 04F5D0 7F01AAA0 AC2FA8C8 */ sw $t7, %lo(maybe_prev_menu)($at) -/* 04F5D4 7F01AAA4 8C980000 */ lw $t8, ($a0) -/* 04F5D8 7F01AAA8 2F01001A */ sltiu $at, $t8, 0x1a -/* 04F5DC 7F01AAAC 10200082 */ beqz $at, .L7F01ACB8 -/* 04F5E0 7F01AAB0 0018C080 */ sll $t8, $t8, 2 -/* 04F5E4 7F01AAB4 3C018005 */ lui $at, %hi(jpt_menu_init) -/* 04F5E8 7F01AAB8 00380821 */ addu $at, $at, $t8 -/* 04F5EC 7F01AABC 8C381BB4 */ lw $t8, %lo(jpt_menu_init)($at) -/* 04F5F0 7F01AAC0 03000008 */ jr $t8 -/* 04F5F4 7F01AAC4 00000000 */ nop -menu_legal_screen_init: -/* 04F5F8 7F01AAC8 0FC0297A */ jal init_menu00_legalscreen -/* 04F5FC 7F01AACC 00000000 */ nop -/* 04F600 7F01AAD0 3C048003 */ lui $a0, %hi(current_menu) -/* 04F604 7F01AAD4 10000078 */ b .L7F01ACB8 -/* 04F608 7F01AAD8 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_nintendo_logo_init: -/* 04F60C 7F01AADC 0FC02AF2 */ jal init_menu01_nintendo -/* 04F610 7F01AAE0 00000000 */ nop -/* 04F614 7F01AAE4 3C048003 */ lui $a0, %hi(current_menu) -/* 04F618 7F01AAE8 10000073 */ b .L7F01ACB8 -/* 04F61C 7F01AAEC 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_rareware_logo_init: -/* 04F620 7F01AAF0 0FC02C19 */ jal init_menu02_rarelogo -/* 04F624 7F01AAF4 00000000 */ nop -/* 04F628 7F01AAF8 3C048003 */ lui $a0, %hi(current_menu) -/* 04F62C 7F01AAFC 1000006E */ b .L7F01ACB8 -/* 04F630 7F01AB00 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_eye_intro_init: -/* 04F634 7F01AB04 0FC02C55 */ jal init_menu03_eyeintro -/* 04F638 7F01AB08 00000000 */ nop -/* 04F63C 7F01AB0C 3C048003 */ lui $a0, %hi(current_menu) -/* 04F640 7F01AB10 10000069 */ b .L7F01ACB8 -/* 04F644 7F01AB14 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_goldeneye_logo_init: -/* 04F648 7F01AB18 0FC02C96 */ jal init_menu04_goldeneyelogo -/* 04F64C 7F01AB1C 00000000 */ nop -/* 04F650 7F01AB20 3C048003 */ lui $a0, %hi(current_menu) -/* 04F654 7F01AB24 10000064 */ b .L7F01ACB8 -/* 04F658 7F01AB28 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_file_select_init: -/* 04F65C 7F01AB2C 0FC02E7A */ jal init_menu05_fileselect -/* 04F660 7F01AB30 00000000 */ nop -/* 04F664 7F01AB34 3C048003 */ lui $a0, %hi(current_menu) -/* 04F668 7F01AB38 1000005F */ b .L7F01ACB8 -/* 04F66C 7F01AB3C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mode_select_init: -/* 04F670 7F01AB40 0FC03494 */ jal init_menu06_modeselect -/* 04F674 7F01AB44 00000000 */ nop -/* 04F678 7F01AB48 3C048003 */ lui $a0, %hi(current_menu) -/* 04F67C 7F01AB4C 1000005A */ b .L7F01ACB8 -/* 04F680 7F01AB50 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mission_select_init: -/* 04F684 7F01AB54 0FC03794 */ jal init_menu07_missionselect -/* 04F688 7F01AB58 00000000 */ nop -/* 04F68C 7F01AB5C 3C048003 */ lui $a0, %hi(current_menu) -/* 04F690 7F01AB60 10000055 */ b .L7F01ACB8 -/* 04F694 7F01AB64 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_difficulty_init: -/* 04F698 7F01AB68 0FC039E0 */ jal init_menu08_difficultyselect -/* 04F69C 7F01AB6C 00000000 */ nop -/* 04F6A0 7F01AB70 3C048003 */ lui $a0, %hi(current_menu) -/* 04F6A4 7F01AB74 10000050 */ b .L7F01ACB8 -/* 04F6A8 7F01AB78 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_007_options_init: -/* 04F6AC 7F01AB7C 0FC03CC0 */ jal init_menu09_007difficultyselect -/* 04F6B0 7F01AB80 00000000 */ nop -/* 04F6B4 7F01AB84 3C048003 */ lui $a0, %hi(current_menu) -/* 04F6B8 7F01AB88 1000004B */ b .L7F01ACB8 -/* 04F6BC 7F01AB8C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_briefing_init: -/* 04F6C0 7F01AB90 0FC0557D */ jal init_menu0A_briefing -/* 04F6C4 7F01AB94 00000000 */ nop -/* 04F6C8 7F01AB98 3C048003 */ lui $a0, %hi(current_menu) -/* 04F6CC 7F01AB9C 10000046 */ b .L7F01ACB8 -/* 04F6D0 7F01ABA0 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_runstage_init: -/* 04F6D4 7F01ABA4 0FC05819 */ jal init_menu0B_runstage -/* 04F6D8 7F01ABA8 00000000 */ nop -/* 04F6DC 7F01ABAC 3C048003 */ lui $a0, %hi(current_menu) -/* 04F6E0 7F01ABB0 10000041 */ b .L7F01ACB8 -/* 04F6E4 7F01ABB4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mission_failed_init: -/* 04F6E8 7F01ABB8 0FC05825 */ jal init_menu0C_missionfailed -/* 04F6EC 7F01ABBC 00000000 */ nop -/* 04F6F0 7F01ABC0 3C048003 */ lui $a0, %hi(current_menu) -/* 04F6F4 7F01ABC4 1000003C */ b .L7F01ACB8 -/* 04F6F8 7F01ABC8 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mission_complete_init: -/* 04F6FC 7F01ABCC 0FC0599F */ jal init_menu0D_missioncomplete -/* 04F700 7F01ABD0 00000000 */ nop -/* 04F704 7F01ABD4 3C048003 */ lui $a0, %hi(current_menu) -/* 04F708 7F01ABD8 10000037 */ b .L7F01ACB8 -/* 04F70C 7F01ABDC 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mp_options_init: -/* 04F710 7F01ABE0 0FC041CF */ jal init_menu0E_mpoptions -/* 04F714 7F01ABE4 00000000 */ nop -/* 04F718 7F01ABE8 3C048003 */ lui $a0, %hi(current_menu) -/* 04F71C 7F01ABEC 10000032 */ b .L7F01ACB8 -/* 04F720 7F01ABF0 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mp_scenario_select_init: -/* 04F724 7F01ABF4 0FC051D9 */ jal init_menu13_mpscenariosel -/* 04F728 7F01ABF8 00000000 */ nop -/* 04F72C 7F01ABFC 3C048003 */ lui $a0, %hi(current_menu) -/* 04F730 7F01AC00 1000002D */ b .L7F01ACB8 -/* 04F734 7F01AC04 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mp_char_select_init: -/* 04F738 7F01AC08 0FC0470F */ jal init_menu0f_mpcharsel -/* 04F73C 7F01AC0C 00000000 */ nop -/* 04F740 7F01AC10 3C048003 */ lui $a0, %hi(current_menu) -/* 04F744 7F01AC14 10000028 */ b .L7F01ACB8 -/* 04F748 7F01AC18 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mp_teams_init: -/* 04F74C 7F01AC1C 0FC05330 */ jal init_menu14_mpteamsel -/* 04F750 7F01AC20 00000000 */ nop -/* 04F754 7F01AC24 3C048003 */ lui $a0, %hi(current_menu) -/* 04F758 7F01AC28 10000023 */ b .L7F01ACB8 -/* 04F75C 7F01AC2C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mp_handicap_init: -/* 04F760 7F01AC30 0FC04B8C */ jal init_menu10_mphandicap -/* 04F764 7F01AC34 00000000 */ nop -/* 04F768 7F01AC38 3C048003 */ lui $a0, %hi(current_menu) -/* 04F76C 7F01AC3C 1000001E */ b .L7F01ACB8 -/* 04F770 7F01AC40 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mp_control_style_init: -/* 04F774 7F01AC44 0FC04D5D */ jal init_menu11_mpcontrol -/* 04F778 7F01AC48 00000000 */ nop -/* 04F77C 7F01AC4C 3C048003 */ lui $a0, %hi(current_menu) -/* 04F780 7F01AC50 10000019 */ b .L7F01ACB8 -/* 04F784 7F01AC54 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_mp_stage_select_init: -/* 04F788 7F01AC58 0FC04F5E */ jal init_menu12_mpstage -/* 04F78C 7F01AC5C 00000000 */ nop -/* 04F790 7F01AC60 3C048003 */ lui $a0, %hi(current_menu) -/* 04F794 7F01AC64 10000014 */ b .L7F01ACB8 -/* 04F798 7F01AC68 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_cheat_init: -/* 04F79C 7F01AC6C 0FC05ED4 */ jal init_menu15_cheat -/* 04F7A0 7F01AC70 00000000 */ nop -/* 04F7A4 7F01AC74 3C048003 */ lui $a0, %hi(current_menu) -/* 04F7A8 7F01AC78 1000000F */ b .L7F01ACB8 -/* 04F7AC 7F01AC7C 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_no_controllers_init: -/* 04F7B0 7F01AC80 0FC0610E */ jal init_menu16_nocontroller -/* 04F7B4 7F01AC84 00000000 */ nop -/* 04F7B8 7F01AC88 3C048003 */ lui $a0, %hi(current_menu) -/* 04F7BC 7F01AC8C 1000000A */ b .L7F01ACB8 -/* 04F7C0 7F01AC90 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_display_cast_init: -/* 04F7C4 7F01AC94 0FC061A7 */ jal init_menu18_displaycast -/* 04F7C8 7F01AC98 00000000 */ nop -/* 04F7CC 7F01AC9C 3C048003 */ lui $a0, %hi(current_menu) -/* 04F7D0 7F01ACA0 10000005 */ b .L7F01ACB8 -/* 04F7D4 7F01ACA4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_spectrum_emu_init: -/* 04F7D8 7F01ACA8 0FC068E7 */ jal init_menu19_spectrum -/* 04F7DC 7F01ACAC 00000000 */ nop -/* 04F7E0 7F01ACB0 3C048003 */ lui $a0, %hi(current_menu) -/* 04F7E4 7F01ACB4 2484A8C0 */ addiu $a0, %lo(current_menu) # addiu $a0, $a0, -0x5740 -menu_switch_screens_init: -.L7F01ACB8: -/* 04F7E8 7F01ACB8 8C990000 */ lw $t9, ($a0) -/* 04F7EC 7F01ACBC 2F21001A */ sltiu $at, $t9, 0x1a -/* 04F7F0 7F01ACC0 1020008A */ beqz $at, .L7F01AEEC -/* 04F7F4 7F01ACC4 0019C880 */ sll $t9, $t9, 2 -/* 04F7F8 7F01ACC8 3C018005 */ lui $at, %hi(jpt_menu_interface) -/* 04F7FC 7F01ACCC 00390821 */ addu $at, $at, $t9 -/* 04F800 7F01ACD0 8C391C1C */ lw $t9, %lo(jpt_menu_interface)($at) -/* 04F804 7F01ACD4 03200008 */ jr $t9 -/* 04F808 7F01ACD8 00000000 */ nop -menu00_legal_interface: -/* 04F80C 7F01ACDC 0FC029B7 */ jal interface_menu00_legalscreen -/* 04F810 7F01ACE0 00000000 */ nop -/* 04F814 7F01ACE4 10000082 */ b .L7F01AEF0 -/* 04F818 7F01ACE8 8FBF0014 */ lw $ra, 0x14($sp) -menu17_switchscreen_interface: -/* 04F81C 7F01ACEC 0FC02AC0 */ jal interface_menu17_switchscreens -/* 04F820 7F01ACF0 00000000 */ nop -/* 04F824 7F01ACF4 1000007E */ b .L7F01AEF0 -/* 04F828 7F01ACF8 8FBF0014 */ lw $ra, 0x14($sp) -menu01_nintendo_interface: -/* 04F82C 7F01ACFC 0FC02B32 */ jal interface_menu01_nintendo -/* 04F830 7F01AD00 00000000 */ nop -/* 04F834 7F01AD04 1000007A */ b .L7F01AEF0 -/* 04F838 7F01AD08 8FBF0014 */ lw $ra, 0x14($sp) -menu02_rareware_interface: -/* 04F83C 7F01AD0C 0FC02C2B */ jal interface_menu02_rareware -/* 04F840 7F01AD10 00000000 */ nop -/* 04F844 7F01AD14 10000076 */ b .L7F01AEF0 -/* 04F848 7F01AD18 8FBF0014 */ lw $ra, 0x14($sp) -menu03_eye_interface: -/* 04F84C 7F01AD1C 0FC02C6C */ jal interface_menu03_eye -/* 04F850 7F01AD20 00000000 */ nop -/* 04F854 7F01AD24 10000072 */ b .L7F01AEF0 -/* 04F858 7F01AD28 8FBF0014 */ lw $ra, 0x14($sp) -menu04_goldeneye_interface: -/* 04F85C 7F01AD2C 0FC02CCC */ jal interface_menu04_goldeneyelogo -/* 04F860 7F01AD30 00000000 */ nop -/* 04F864 7F01AD34 1000006E */ b .L7F01AEF0 -/* 04F868 7F01AD38 8FBF0014 */ lw $ra, 0x14($sp) -menu05_filesel_interface: -/* 04F86C 7F01AD3C 0FC02EF3 */ jal interface_menu05_fileselect -/* 04F870 7F01AD40 00000000 */ nop -/* 04F874 7F01AD44 1000006A */ b .L7F01AEF0 -/* 04F878 7F01AD48 8FBF0014 */ lw $ra, 0x14($sp) -menu06_modesel_interface: -/* 04F87C 7F01AD4C 0FC034A6 */ jal interface_menu06_modesel -/* 04F880 7F01AD50 00000000 */ nop -/* 04F884 7F01AD54 10000066 */ b .L7F01AEF0 -/* 04F888 7F01AD58 8FBF0014 */ lw $ra, 0x14($sp) -menu07_missionsel_interface: -/* 04F88C 7F01AD5C 0FC037AE */ jal interface_menu07_missionsel -/* 04F890 7F01AD60 00000000 */ nop -/* 04F894 7F01AD64 10000062 */ b .L7F01AEF0 -/* 04F898 7F01AD68 8FBF0014 */ lw $ra, 0x14($sp) -menu08_difficulty_interface: -/* 04F89C 7F01AD6C 0FC039F0 */ jal interface_menu08_difficulty -/* 04F8A0 7F01AD70 00000000 */ nop -/* 04F8A4 7F01AD74 1000005E */ b .L7F01AEF0 -/* 04F8A8 7F01AD78 8FBF0014 */ lw $ra, 0x14($sp) -menu09_007options_interface: -/* 04F8AC 7F01AD7C 0FC03CDD */ jal interface_menu09_007options -/* 04F8B0 7F01AD80 00000000 */ nop -/* 04F8B4 7F01AD84 1000005A */ b .L7F01AEF0 -/* 04F8B8 7F01AD88 8FBF0014 */ lw $ra, 0x14($sp) -menu0A_briefing_interface: -/* 04F8BC 7F01AD8C 0FC055A7 */ jal interface_menu0A_briefing -/* 04F8C0 7F01AD90 00000000 */ nop -/* 04F8C4 7F01AD94 10000056 */ b .L7F01AEF0 -/* 04F8C8 7F01AD98 8FBF0014 */ lw $ra, 0x14($sp) -menu0C_missionfailed_interface: -/* 04F8CC 7F01AD9C 0FC05844 */ jal interface_menu0C_missionfailed -/* 04F8D0 7F01ADA0 00000000 */ nop -/* 04F8D4 7F01ADA4 10000052 */ b .L7F01AEF0 -/* 04F8D8 7F01ADA8 8FBF0014 */ lw $ra, 0x14($sp) -menu0D_missioncomplete_interface: -/* 04F8DC 7F01ADAC 0FC059B6 */ jal interface_menu0D_missioncomplete -/* 04F8E0 7F01ADB0 00000000 */ nop -/* 04F8E4 7F01ADB4 1000004E */ b .L7F01AEF0 -/* 04F8E8 7F01ADB8 8FBF0014 */ lw $ra, 0x14($sp) -menu0E_mpoptions_interface: -/* 04F8EC 7F01ADBC 0FC04212 */ jal interface_menu0E_mpoptions -/* 04F8F0 7F01ADC0 00000000 */ nop -/* 04F8F4 7F01ADC4 1000004A */ b .L7F01AEF0 -/* 04F8F8 7F01ADC8 8FBF0014 */ lw $ra, 0x14($sp) -menu13_mpscenario_interface: -/* 04F8FC 7F01ADCC 0FC051EE */ jal interface_menu13_mpscenario -/* 04F900 7F01ADD0 00000000 */ nop -/* 04F904 7F01ADD4 10000046 */ b .L7F01AEF0 -/* 04F908 7F01ADD8 8FBF0014 */ lw $ra, 0x14($sp) -menu0F_mpcharsel_interface: -/* 04F90C 7F01ADDC 0FC047B5 */ jal interface_menu0F_mpcharsel -/* 04F910 7F01ADE0 00000000 */ nop -/* 04F914 7F01ADE4 10000042 */ b .L7F01AEF0 -/* 04F918 7F01ADE8 8FBF0014 */ lw $ra, 0x14($sp) -menu14_mpteams_interface: -/* 04F91C 7F01ADEC 0FC05352 */ jal interface_menu14_mpteams -/* 04F920 7F01ADF0 00000000 */ nop -/* 04F924 7F01ADF4 1000003E */ b .L7F01AEF0 -/* 04F928 7F01ADF8 8FBF0014 */ lw $ra, 0x14($sp) -menu10_mphandicap_interface: -/* 04F92C 7F01ADFC 0FC04BB1 */ jal interface_menu10_mphandicap -/* 04F930 7F01AE00 00000000 */ nop -/* 04F934 7F01AE04 1000003A */ b .L7F01AEF0 -/* 04F938 7F01AE08 8FBF0014 */ lw $ra, 0x14($sp) -menu11_mpcontrol_interface: -/* 04F93C 7F01AE0C 0FC04D82 */ jal interface_menu11_mpcontrols -/* 04F940 7F01AE10 00000000 */ nop -/* 04F944 7F01AE14 10000036 */ b .L7F01AEF0 -/* 04F948 7F01AE18 8FBF0014 */ lw $ra, 0x14($sp) -menu12_mpstage_interface: -/* 04F94C 7F01AE1C 0FC04F75 */ jal interface_menu12_mpstage -/* 04F950 7F01AE20 00000000 */ nop -/* 04F954 7F01AE24 10000032 */ b .L7F01AEF0 -/* 04F958 7F01AE28 8FBF0014 */ lw $ra, 0x14($sp) -menu15_cheat_interface: -/* 04F95C 7F01AE2C 0FC05F22 */ jal interface_menu15_cheat -/* 04F960 7F01AE30 00000000 */ nop -/* 04F964 7F01AE34 1000002E */ b .L7F01AEF0 -/* 04F968 7F01AE38 8FBF0014 */ lw $ra, 0x14($sp) -menu16_nocontrollers_interface: -/* 04F96C 7F01AE3C 0FC06112 */ jal interface_menu16_nocontrollers -/* 04F970 7F01AE40 00000000 */ nop -/* 04F974 7F01AE44 1000002A */ b .L7F01AEF0 -/* 04F978 7F01AE48 8FBF0014 */ lw $ra, 0x14($sp) -menu18_displaycast_interface: -/* 04F97C 7F01AE4C 0FC063D8 */ jal interface_menu18_displaycast -/* 04F980 7F01AE50 00000000 */ nop -/* 04F984 7F01AE54 10000026 */ b .L7F01AEF0 -/* 04F988 7F01AE58 8FBF0014 */ lw $ra, 0x14($sp) -menu19_spectrum_interface: -/* 04F98C 7F01AE5C 0FC06922 */ jal interface_menu19_spectrum -/* 04F990 7F01AE60 00000000 */ nop -/* 04F994 7F01AE64 10000022 */ b .L7F01AEF0 -/* 04F998 7F01AE68 8FBF0014 */ lw $ra, 0x14($sp) -menu0B_runstage_interface: -/* 04F99C 7F01AE6C 0FC2FF29 */ jal interface_menu0B_runstage -/* 04F9A0 7F01AE70 00000000 */ nop -/* 04F9A4 7F01AE74 10400006 */ beqz $v0, .L7F01AE90 -/* 04F9A8 7F01AE78 3C088003 */ lui $t0, %hi(gamemode) -/* 04F9AC 7F01AE7C 00002025 */ move $a0, $zero -/* 04F9B0 7F01AE80 0FC06975 */ jal set_menu_to_mode -/* 04F9B4 7F01AE84 24050001 */ li $a1, 1 -/* 04F9B8 7F01AE88 10000019 */ b .L7F01AEF0 -/* 04F9BC 7F01AE8C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01AE90: -/* 04F9C0 7F01AE90 8D08A8F0 */ lw $t0, %lo(gamemode)($t0) -/* 04F9C4 7F01AE94 24010001 */ li $at, 1 -/* 04F9C8 7F01AE98 2404000E */ li $a0, 14 -/* 04F9CC 7F01AE9C 15010005 */ bne $t0, $at, .L7F01AEB4 -/* 04F9D0 7F01AEA0 3C098003 */ lui $t1, %hi(selected_stage) -/* 04F9D4 7F01AEA4 0FC06975 */ jal set_menu_to_mode -/* 04F9D8 7F01AEA8 24050001 */ li $a1, 1 -/* 04F9DC 7F01AEAC 10000010 */ b .L7F01AEF0 -/* 04F9E0 7F01AEB0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01AEB4: -/* 04F9E4 7F01AEB4 8D29A8F4 */ lw $t1, %lo(selected_stage)($t1) -/* 04F9E8 7F01AEB8 24010036 */ li $at, 54 -/* 04F9EC 7F01AEBC 2404000C */ li $a0, 12 -/* 04F9F0 7F01AEC0 15210008 */ bne $t1, $at, .L7F01AEE4 -/* 04F9F4 7F01AEC4 00000000 */ nop -/* 04F9F8 7F01AEC8 0FC0619C */ jal do_extended_cast_display -/* 04F9FC 7F01AECC 24040001 */ li $a0, 1 -/* 04FA00 7F01AED0 24040018 */ li $a0, 24 -/* 04FA04 7F01AED4 0FC06975 */ jal set_menu_to_mode -/* 04FA08 7F01AED8 24050001 */ li $a1, 1 -/* 04FA0C 7F01AEDC 10000004 */ b .L7F01AEF0 -/* 04FA10 7F01AEE0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01AEE4: -/* 04FA14 7F01AEE4 0FC06975 */ jal set_menu_to_mode -/* 04FA18 7F01AEE8 24050001 */ li $a1, 1 -.L7F01AEEC: -/* 04FA1C 7F01AEEC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01AEF0: -/* 04FA20 7F01AEF0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04FA24 7F01AEF4 03E00008 */ jr $ra -/* 04FA28 7F01AEF8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void menu_jump_constructor_handler(Gfx *DL) -{ - switch(current_menu) { - 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; -} -#else -GLOBAL_ASM( -.late_rodata -glabel jpt_menu_constructor - .word menu00_legal_constructor - .word menu01_nintendo_constructor - .word menu02_rareware_constructor - .word menu03_eyeintro_constructor - .word menu04_goldeneye_constructor - .word menu05_fileselect_constructor - .word menu06_modesel_constructor - .word menu07_missionsel_constructor - .word menu08_difficulty_constructor - .word menu09_007options_constructor - .word menu0A_briefing_constructor - .word menu0B_runstage_constructor - .word menu0C_missionfailed_constructor - .word menu0D_missioncomplete_constructor - .word menu0E_mpoptions_constructor - .word menu0F_mpcharsel_constructor - .word menu10_mphandicap_constructor - .word menu11_mpcontrol_constructor - .word menu12_mpstage_constructor - .word menu13_mpscenario_constructor - .word menu14_mpteams_constructor - .word menu15_cheat_constructor - .word menu16_nocontrollers_constructor - .word menu17_switchscreens_constructor - .word menu18_displaycast_constructor - .word menu19_spectrum_constructor - -.text -glabel menu_jump_constructor_handler -/* 04FA2C 7F01AEFC 3C0E8003 */ lui $t6, %hi(current_menu) -/* 04FA30 7F01AF00 8DCEA8C0 */ lw $t6, %lo(current_menu)($t6) -/* 04FA34 7F01AF04 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 04FA38 7F01AF08 AFB00018 */ sw $s0, 0x18($sp) -/* 04FA3C 7F01AF0C 2DC1001A */ sltiu $at, $t6, 0x1a -/* 04FA40 7F01AF10 00808025 */ move $s0, $a0 -/* 04FA44 7F01AF14 1020006A */ beqz $at, menu0B_runstage_constructor -/* 04FA48 7F01AF18 AFBF001C */ sw $ra, 0x1c($sp) -/* 04FA4C 7F01AF1C 000E7080 */ sll $t6, $t6, 2 -/* 04FA50 7F01AF20 3C018005 */ lui $at, %hi(jpt_menu_constructor) -/* 04FA54 7F01AF24 002E0821 */ addu $at, $at, $t6 -/* 04FA58 7F01AF28 8C2E1C84 */ lw $t6, %lo(jpt_menu_constructor)($at) -/* 04FA5C 7F01AF2C 01C00008 */ jr $t6 -/* 04FA60 7F01AF30 00000000 */ nop -glabel menu00_legal_constructor -/* 04FA64 7F01AF34 0FC02A38 */ jal constructor_menu00_legalscreen -/* 04FA68 7F01AF38 02002025 */ move $a0, $s0 -/* 04FA6C 7F01AF3C 10000060 */ b menu0B_runstage_constructor -/* 04FA70 7F01AF40 00408025 */ move $s0, $v0 -glabel menu17_switchscreens_constructor -/* 04FA74 7F01AF44 0FC02AEA */ jal constructor_menu17_switchscreens -/* 04FA78 7F01AF48 02002025 */ move $a0, $s0 -/* 04FA7C 7F01AF4C 1000005C */ b menu0B_runstage_constructor -/* 04FA80 7F01AF50 00408025 */ move $s0, $v0 -glabel menu01_nintendo_constructor -/* 04FA84 7F01AF54 0FC02B66 */ jal constructor_menu01_nintendo -/* 04FA88 7F01AF58 02002025 */ move $a0, $s0 -/* 04FA8C 7F01AF5C 10000058 */ b menu0B_runstage_constructor -/* 04FA90 7F01AF60 00408025 */ move $s0, $v0 -glabel menu02_rareware_constructor -/* 04FA94 7F01AF64 0FC02C4D */ jal constructor_menu02_rareware -/* 04FA98 7F01AF68 02002025 */ move $a0, $s0 -/* 04FA9C 7F01AF6C 10000054 */ b menu0B_runstage_constructor -/* 04FAA0 7F01AF70 00408025 */ move $s0, $v0 -glabel menu03_eyeintro_constructor -/* 04FAA4 7F01AF74 0FC02C8E */ jal constructor_menu03_eye -/* 04FAA8 7F01AF78 02002025 */ move $a0, $s0 -/* 04FAAC 7F01AF7C 10000050 */ b menu0B_runstage_constructor -/* 04FAB0 7F01AF80 00408025 */ move $s0, $v0 -glabel menu04_goldeneye_constructor -/* 04FAB4 7F01AF84 0FC02D1F */ jal constructor_menu04_goldeneyelogo -/* 04FAB8 7F01AF88 02002025 */ move $a0, $s0 -/* 04FABC 7F01AF8C 1000004C */ b menu0B_runstage_constructor -/* 04FAC0 7F01AF90 00408025 */ move $s0, $v0 -glabel menu05_fileselect_constructor -/* 04FAC4 7F01AF94 0FC03102 */ jal constructor_menu05_fileselect -/* 04FAC8 7F01AF98 02002025 */ move $a0, $s0 -/* 04FACC 7F01AF9C 10000048 */ b menu0B_runstage_constructor -/* 04FAD0 7F01AFA0 00408025 */ move $s0, $v0 -glabel menu06_modesel_constructor -/* 04FAD4 7F01AFA4 0FC0360A */ jal constructor_menu06_modesel -/* 04FAD8 7F01AFA8 02002025 */ move $a0, $s0 -/* 04FADC 7F01AFAC 10000044 */ b menu0B_runstage_constructor -/* 04FAE0 7F01AFB0 00408025 */ move $s0, $v0 -glabel menu07_missionsel_constructor -/* 04FAE4 7F01AFB4 0FC03916 */ jal constructor_menu07_missionsel -/* 04FAE8 7F01AFB8 02002025 */ move $a0, $s0 -/* 04FAEC 7F01AFBC 10000040 */ b menu0B_runstage_constructor -/* 04FAF0 7F01AFC0 00408025 */ move $s0, $v0 -glabel menu08_difficulty_constructor -/* 04FAF4 7F01AFC4 0FC03B66 */ jal constructor_menu08_difficulty -/* 04FAF8 7F01AFC8 02002025 */ move $a0, $s0 -/* 04FAFC 7F01AFCC 1000003C */ b menu0B_runstage_constructor -/* 04FB00 7F01AFD0 00408025 */ move $s0, $v0 -glabel menu09_007options_constructor -/* 04FB04 7F01AFD4 0FC03DE6 */ jal constructor_menu09_007options -/* 04FB08 7F01AFD8 02002025 */ move $a0, $s0 -/* 04FB0C 7F01AFDC 10000038 */ b menu0B_runstage_constructor -/* 04FB10 7F01AFE0 00408025 */ move $s0, $v0 -glabel menu0A_briefing_constructor -/* 04FB14 7F01AFE4 0FC0575D */ jal constructor_menu0A_briefing -/* 04FB18 7F01AFE8 02002025 */ move $a0, $s0 -/* 04FB1C 7F01AFEC 10000034 */ b menu0B_runstage_constructor -/* 04FB20 7F01AFF0 00408025 */ move $s0, $v0 -glabel menu0C_missionfailed_constructor -/* 04FB24 7F01AFF4 0FC058FB */ jal constructor_menu0C_missionfailed -/* 04FB28 7F01AFF8 02002025 */ move $a0, $s0 -/* 04FB2C 7F01AFFC 10000030 */ b menu0B_runstage_constructor -/* 04FB30 7F01B000 00408025 */ move $s0, $v0 -glabel menu0D_missioncomplete_constructor -/* 04FB34 7F01B004 0FC05A82 */ jal constructor_menu0D_missioncomplete -/* 04FB38 7F01B008 02002025 */ move $a0, $s0 -/* 04FB3C 7F01B00C 1000002C */ b menu0B_runstage_constructor -/* 04FB40 7F01B010 00408025 */ move $s0, $v0 -glabel menu0E_mpoptions_constructor -/* 04FB44 7F01B014 0FC043C4 */ jal constructor_menu0E_mpoptions -/* 04FB48 7F01B018 02002025 */ move $a0, $s0 -/* 04FB4C 7F01B01C 10000028 */ b menu0B_runstage_constructor -/* 04FB50 7F01B020 00408025 */ move $s0, $v0 -glabel menu13_mpscenario_constructor -/* 04FB54 7F01B024 0FC05292 */ jal constructor_menu13_mpscenario -/* 04FB58 7F01B028 02002025 */ move $a0, $s0 -/* 04FB5C 7F01B02C 10000024 */ b menu0B_runstage_constructor -/* 04FB60 7F01B030 00408025 */ move $s0, $v0 -glabel menu0F_mpcharsel_constructor -/* 04FB64 7F01B034 0FC049E5 */ jal constructor_menu0F_mpcharsel -/* 04FB68 7F01B038 02002025 */ move $a0, $s0 -/* 04FB6C 7F01B03C 10000020 */ b menu0B_runstage_constructor -/* 04FB70 7F01B040 00408025 */ move $s0, $v0 -glabel menu14_mpteams_constructor -/* 04FB74 7F01B044 0FC0544E */ jal constructor_menu14_mpteams -/* 04FB78 7F01B048 02002025 */ move $a0, $s0 -/* 04FB7C 7F01B04C 1000001C */ b menu0B_runstage_constructor -/* 04FB80 7F01B050 00408025 */ move $s0, $v0 -glabel menu10_mphandicap_constructor -/* 04FB84 7F01B054 0FC04C5F */ jal constructor_menu10_mphandicap -/* 04FB88 7F01B058 02002025 */ move $a0, $s0 -/* 04FB8C 7F01B05C 10000018 */ b menu0B_runstage_constructor -/* 04FB90 7F01B060 00408025 */ move $s0, $v0 -glabel menu11_mpcontrol_constructor -/* 04FB94 7F01B064 0FC04E60 */ jal constructor_menu11_mpcontrol -/* 04FB98 7F01B068 02002025 */ move $a0, $s0 -/* 04FB9C 7F01B06C 10000014 */ b menu0B_runstage_constructor -/* 04FBA0 7F01B070 00408025 */ move $s0, $v0 -glabel menu12_mpstage_constructor -/* 04FBA4 7F01B074 0FC05014 */ jal constructor_menu12_mpstage -/* 04FBA8 7F01B078 02002025 */ move $a0, $s0 -/* 04FBAC 7F01B07C 10000010 */ b menu0B_runstage_constructor -/* 04FBB0 7F01B080 00408025 */ move $s0, $v0 -glabel menu15_cheat_constructor -/* 04FBB4 7F01B084 0FC05FD7 */ jal constructor_menu15_cheat -/* 04FBB8 7F01B088 02002025 */ move $a0, $s0 -/* 04FBBC 7F01B08C 1000000C */ b menu0B_runstage_constructor -/* 04FBC0 7F01B090 00408025 */ move $s0, $v0 -glabel menu16_nocontrollers_constructor -/* 04FBC4 7F01B094 0FC06114 */ jal constructor_menu16_nocontrollers -/* 04FBC8 7F01B098 02002025 */ move $a0, $s0 -/* 04FBCC 7F01B09C 10000008 */ b menu0B_runstage_constructor -/* 04FBD0 7F01B0A0 00408025 */ move $s0, $v0 -glabel menu18_displaycast_constructor -/* 04FBD4 7F01B0A4 0FC064CA */ jal constructor_menu18_displaycast -/* 04FBD8 7F01B0A8 02002025 */ move $a0, $s0 -/* 04FBDC 7F01B0AC 10000004 */ b menu0B_runstage_constructor -/* 04FBE0 7F01B0B0 00408025 */ move $s0, $v0 -glabel menu19_spectrum_constructor -/* 04FBE4 7F01B0B4 0FC06938 */ jal constructor_menu19_spectrum -/* 04FBE8 7F01B0B8 02002025 */ move $a0, $s0 -/* 04FBEC 7F01B0BC 00408025 */ move $s0, $v0 -glabel menu0B_runstage_constructor -/* 04FBF0 7F01B0C0 8FBF001C */ lw $ra, 0x1c($sp) -/* 04FBF4 7F01B0C4 02001025 */ move $v0, $s0 -/* 04FBF8 7F01B0C8 8FB00018 */ lw $s0, 0x18($sp) -/* 04FBFC 7F01B0CC 03E00008 */ jr $ra -/* 04FC00 7F01B0D0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - diff --git a/src/game/mainmenu.h b/src/game/mainmenu.h deleted file mode 100644 index 7b2a8aa..0000000 --- a/src/game/mainmenu.h +++ /dev/null @@ -1,809 +0,0 @@ -#ifndef _MAINMENU_H_ -#define _MAINMENU_H_ -#include "ultra64.h" -#include "bondgame.h" - -struct legal_screen_text { - int h_pos; - int v_pos; - int flag; - int flag2; - short txtID; - short anonymous_5; -}; - -struct mission_folder_setup { - void * string_ptr; - short folder_text_preset; - short icon_text_preset; - int stage_id; - int unknown; - int type; - int mission_num; - void * briefing_name_ptr; -}; - -struct MP_game_length_settings { - u16 text_preset; - u16 padding; - int time; - int points; -}; - -struct mp_stage_playercount { - short stage; - char min; - char max; -}; - -struct mp_stage_setup { - 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 { - short text_preset; - char gender; - char select_photo; - short body; - short head; - float pov; -}; - -struct MP_handicap_menu { - short text_preset; - short padding; - float damage_modifier; -}; - -struct MP_controller_configuration_menu { - char anonymous_0; - char field_1; - char field_2; - char field_3; -}; - -struct MP_sight_aim_settings { - char anonymous_0; - char field_1; - char sight; - char autoaim; -}; - -struct intro_char { - int body; - int head; - short text1; - short text2; - short text3; - short RESERVED; - int flag; -}; - -struct intro_animation { - int animID; - float startframeoffset; - float playback_speed; - int camera_preset; -}; - -struct solo_target_times { - u16 agent_time; - u16 secret_agent_time; - u16 OO_agent_time; -}; - - - -extern f32 flt_CODE_bss_800695A0; -//CODE.bss:800695A4 -extern f32 flt_CODE_bss_800695A4; -//CODE.bss:800695A8 -extern f32 flt_CODE_bss_800695A8; -//CODE.bss:800695AC -extern f32 flt_CODE_bss_800695AC; -//CODE.bss:800695B0 -extern f32 flt_CODE_bss_800695B0; -//CODE.bss:800695B4 -extern f32 flt_CODE_bss_800695B4; -//CODE.bss:800695B8 -extern f32 flt_CODE_bss_800695B8; -//CODE.bss:800695BC -extern f32 flt_CODE_bss_800695BC; -//CODE.bss:800695C0 -extern f32 flt_CODE_bss_800695C0; -//CODE.bss:800695C4 .align 3 -//CODE.bss:800695C8 -extern f32 flt_CODE_bss_800695C8; -//CODE.bss:800695CC -extern f32 flt_CODE_bss_800695CC; -//CODE.bss:800695D0 -extern f32 flt_CODE_bss_800695D0; -//CODE.bss:800695D4 .align 3 -//CODE.bss:800695D8 -extern f32 flt_CODE_bss_800695D8; -//CODE.bss:800695DC -extern f32 flt_CODE_bss_800695DC; -//CODE.bss:800695E0 -extern f32 flt_CODE_bss_800695E0; -//CODE.bss:800695E4 -extern f32 flt_CODE_bss_800695E4; -//CODE.bss:800695E8 -extern f32 flt_CODE_bss_800695E8; -//CODE.bss:800695EC -extern f32 flt_CODE_bss_800695EC; -//CODE.bss:800695F0 -extern f32 flt_CODE_bss_800695F0; -//CODE.bss:800695F4 .align 3 -//CODE.bss:800695F8 -extern f32 flt_CODE_bss_800695F8; -//CODE.bss:800695FC -extern f32 flt_CODE_bss_800695FC; -//CODE.bss:80069600 -extern f32 flt_CODE_bss_80069600; -//CODE.bss:80069604 .align 3 -//CODE.bss:80069608 -extern f32 flt_CODE_bss_80069608; -//CODE.bss:8006960C -extern f32 flt_CODE_bss_8006960C; -//CODE.bss:80069610 -extern f32 flt_CODE_bss_80069610; -//CODE.bss:80069614 -extern f32 flt_CODE_bss_80069614; -//CODE.bss:80069618 -extern f32 flt_CODE_bss_80069618; -//CODE.bss:8006961C .align 4 -/* -CODE.bss:80069620 dword_CODE_bss_80069620:.space 0x30 -CODE.bss:80069650 .space 1 -CODE.bss:80069651 cheat_available:.space 1 -CODE.bss:80069652 CHEAT_AVAILABLE_INVINCIBLE:.space 1 -CODE.bss:80069653 CHEAT_AVAILABLE_ALLGUNS:.space 1 -CODE.bss:80069654 .space 1 -CODE.bss:80069655 .space 2 -CODE.bss:80069657 CHEAT_AVAILABLE_LINEMODE:.space 1 -CODE.bss:80069658 CHEAT_AVAILABLE_2X_HEALTH:.space 1 -CODE.bss:80069659 CHEAT_AVAILABLE_2X_ARMOR:.space 1 -CODE.bss:8006965A CHEAT_AVAILABLE_BOND_INVIS:.space 1 -CODE.bss:8006965B CHEAT_AVAILABLE_INFINITE_AMMO:.space 1 -CODE.bss:8006965C CHEAT_AVAILABLE_DK_MODE:.space 1 -CODE.bss:8006965D CHEAT_AVAILABLE_EXTRA_WEAPONS:.space 1 -CODE.bss:8006965E CHEAT_AVAILABLE_TINY_BOND:.space 1 -CODE.bss:8006965F CHEAT_AVAILABLE_PAINTBALL:.space 1 -CODE.bss:80069660 CHEAT_AVAILABLE_10X_HEALTH:.space 1 -CODE.bss:80069661 CHEAT_AVAILABLE_MAGNUM:.space 1 -CODE.bss:80069662 CHEAT_AVAILABLE_LASER:.space 1 -CODE.bss:80069663 CHEAT_AVAILABLE_GOLDENGUN:.space 1 -CODE.bss:80069664 CHEAT_AVAILABLE_SILVERPP7:.space 1 -CODE.bss:80069665 CHEAT_AVAILABLE_GOLDPP7:.space 1 -CODE.bss:80069666 CHEAT_AVAILABLE_MP_INVINCIBILITY:.space 1 -CODE.bss:80069667 CHEAT_AVAILABLE_NO_MP_RADAR:.space 1 -CODE.bss:80069668 CHEAT_AVAILABLE_TURBO:.space 1 -CODE.bss:80069669 CHEAT_AVAILABLE_DEBUG_MODE:.space 1 -CODE.bss:8006966A CHEAT_AVAILABLE_FAST_ANI:.space 1 -CODE.bss:8006966B CHEAT_AVAILABLE_SLOW_ANI:.space 1 -CODE.bss:8006966C CHEAT_AVAILABLE_ENMY_ROCKETS:.space 1 -CODE.bss:8006966D CHEAT_AVAILABLE_2X_ROCKET:.space 1 -CODE.bss:8006966E CHEAT_AVAILABLE_2X_GRENADE_LAUNCHER:.space 1 -CODE.bss:8006966F CHEAT_AVAILABLE_2X_RCP90:.space 1 -CODE.bss:80069670 CHEAT_AVAILABLE_2X_THROWING_KNIVES:.space 1 -CODE.bss:80069671 CHEAT_AVAILABLE_2X_HUNTING_KNIVES:.space 1 -CODE.bss:80069672 CHEAT_AVAILABLE_2X_LASER:.space 2 -CODE.bss:80069674 .space 0x2C -*/ -//CODE.bss:800696A0 -extern u8 cheat_activated; -//CODE.bss:800696A1 -extern u8 CHEAT_AVAILABLE_EXTRA_CHARS; -//CODE.bss:800696A2 -extern u8 cheat_activated_1; -//CODE.bss:800696A3 -extern u8 cheat_activated_2; -//CODE.bss:800696A4 -extern u8 CHEAT_AVAILABLE_MAX_AMMO; -//CODE.bss:800696A5 -extern u8 cheat_activated_4; -//CODE.bss:800696A6 -extern u8 cheat_activated_5; -//CODE.bss:800696A7 -extern u8 cheat_activated_6; -//CODE.bss:800696A8 -extern u8 cheat_activated_7; -//CODE.bss:800696A9 -extern u8 cheat_activated_8; -//CODE.bss:800696AA -extern u8 cheat_activated_9; -//CODE.bss:800696AB -extern u8 cheat_activated_10; -//CODE.bss:800696AC -extern u8 cheat_activated_11; -//CODE.bss:800696AD -extern u8 cheat_activated_12; -//CODE.bss:800696AE -extern u8 cheat_activated_13; -//CODE.bss:800696AF -extern u8 cheat_activated_14; -//CODE.bss:800696B0 -extern u8 cheat_activated_15; -//CODE.bss:800696B1 -extern u8 cheat_activated_16; -//CODE.bss:800696B2 -extern u8 cheat_activated_17; -//CODE.bss:800696B3 -extern u8 cheat_activated_18; -//CODE.bss:800696B4 -extern u8 cheat_activated_19; -//CODE.bss:800696B5 -extern u8 cheat_activated_20; -//CODE.bss:800696B6 -extern u8 cheat_activated_21; -//CODE.bss:800696B7 -extern u8 cheat_activated_22; -//CODE.bss:800696B8 -extern u8 cheat_activated_23; -//CODE.bss:800696B9 -extern u8 cheat_activated_24; -//CODE.bss:800696BA -extern u8 cheat_activated_25; -//CODE.bss:800696BB -extern u8 cheat_activated_26; -//CODE.bss:800696BC -extern u8 cheat_activated_27; -//CODE.bss:800696BD -extern u8 cheat_activated_28; -//CODE.bss:800696BE -extern u8 cheat_activated_29; -//CODE.bss:800696BF -extern u8 cheat_activated_30; -//CODE.bss:800696C0 -extern u8 cheat_activated_31; -//CODE.bss:800696C1 -extern u8 cheat_activated_32; -//CODE.bss:800696C2 -extern u8 cheat_activated_33; -//CODE.bss:800696C3 -extern u8 cheat_activated_34; -//CODE.bss:800696C4 -extern u8 cheat_activated_35; -//CODE.bss:800696C5 -extern u8 cheat_activated_36; -//CODE.bss:800696C6 -extern u8 cheat_activated_37; -//CODE.bss:800696C7 -extern u8 cheat_activated_38; -//CODE.bss:800696C8 -extern u8 cheat_activated_39; -//CODE.bss:800696C9 -extern u8 cheat_activated_40; -//CODE.bss:800696CA -extern u8 cheat_activated_41; -//CODE.bss:800696CB -extern u8 cheat_activated_42; -//CODE.bss:800696CC -extern u8 cheat_activated_43; -//CODE.bss:800696CD -extern u8 cheat_activated_44; -//CODE.bss:800696CE -extern u8 cheat_activated_45; -//CODE.bss:800696CF -extern u8 cheat_activated_46; -//CODE.bss:800696D0 -extern u8 cheat_activated_47; -//CODE.bss:800696D1 -extern u8 cheat_activated_48; -//CODE.bss:800696D2 -extern u8 cheat_activated_49; -//CODE.bss:800696D3 -extern u8 cheat_activated_50; -//CODE.bss:800696D4 -extern u8 cheat_activated_51; -//CODE.bss:800696D5 -extern u8 cheat_activated_52; -//CODE.bss:800696D6 -extern u8 cheat_activated_53; -//CODE.bss:800696D7 -extern u8 cheat_activated_54; -//CODE.bss:800696D8 -extern u8 cheat_activated_55; -//CODE.bss:800696D9 -extern u8 cheat_activated_56; -//CODE.bss:800696DA -extern u8 cheat_activated_57; -//CODE.bss:800696DB -extern u8 cheat_activated_58; -//CODE.bss:800696DC -extern u8 cheat_activated_59; -//CODE.bss:800696DD -extern u8 cheat_activated_60; -//CODE.bss:800696DE -extern u8 cheat_activated_61; -//CODE.bss:800696DF -extern u8 cheat_activated_62; -//CODE.bss:800696E0 -extern u8 cheat_activated_63; -//CODE.bss:800696E1 -extern u8 cheat_activated_64; -//CODE.bss:800696E2 -extern u8 cheat_activated_65; -//CODE.bss:800696E3 -extern u8 cheat_activated_66; -//CODE.bss:800696E4 -extern u8 cheat_activated_67; -//CODE.bss:800696E5 -extern u8 cheat_activated_68; -//CODE.bss:800696E6 -extern u8 cheat_activated_69; -//CODE.bss:800696E7 -extern u8 cheat_activated_70; -//CODE.bss:800696E8 -extern u8 cheat_activated_71; -//CODE.bss:800696E9 -extern u8 cheat_activated_72; -//CODE.bss:800696EA -extern u8 cheat_activated_73; -//CODE.bss:800696EB -extern u8 cheat_activated_74; -//CODE.bss:800696EC -extern u8 cheat_activated_75; -//CODE.bss:800696ED -extern u8 cheat_activated_76; -//CODE.bss:800696EE -extern u8 cheat_activated_77; -//CODE.bss:800696EF -extern u8 cheat_activated_78; - -//CODE.bss:800696F0 -extern s32 fav_weapon_right_player1; -//CODE.bss:800696F4 -extern s32 fav_weapon_left_player1; -//CODE.bss:800696F8 -extern s32 fav_weapon_right_player2; -//CODE.bss:800696FC -extern s32 fav_weapon_left_player2; -//CODE.bss:80069700 -extern s32 fav_weapon_right_player3; -//CODE.bss:80069704 -extern s32 fav_weapon_left_player3; -//CODE.bss:80069708 -extern s32 fav_weapon_right_player4; -//CODE.bss:8006970C -extern s32 fav_weapon_left_player4; -//CODE.bss:80069710 -extern s32 mp_char_cur_select_player1; -//CODE.bss:80069714 -extern s32 mp_char_cur_select_player2; -//CODE.bss:80069718 -extern s32 mp_char_cur_select_player3; -//CODE.bss:8006971C -extern s32 mp_char_cur_select_player4; -//CODE.bss:80069720 -extern s32 mp_char_prev_select_player1; -//CODE.bss:80069724 -extern s32 mp_char_prev_select_player2; -//CODE.bss:80069728 -extern s32 mp_char_prev_select_player3; -//CODE.bss:8006972C -extern s32 mp_char_prev_select_player4; -//CODE.bss:80069730 -extern s32 dword_CODE_bss_80069730; -//CODE.bss:80069734 -extern s32 dword_CODE_bss_80069734; -//CODE.bss:80069738 -extern s32 dword_CODE_bss_80069738; -//CODE.bss:8006973C -extern s32 dword_CODE_bss_8006973C; -//CODE.bss:80069740 -extern s32 has_selected_char_player1; -//CODE.bss:80069744 -extern s32 has_selected_char_player2; -//CODE.bss:80069748 -extern s32 has_selected_char_player3; -//CODE.bss:8006974C -extern s32 has_selected_char_player4; -//CODE.bss:80069750 -extern s32 size_mp_select_image_player1; -//CODE.bss:80069754 -extern s32 size_mp_select_image_player2; -//CODE.bss:80069758 -extern s32 size_mp_select_image_player3; -//CODE.bss:8006975C -extern s32 size_mp_select_image_player4; -//CODE.bss:80069760 -extern s32 handicap_player1; -//CODE.bss:80069764 -extern s32 handicap_player2; -//CODE.bss:80069768 -extern s32 handicap_player3; -//CODE.bss:8006976C -extern s32 handicap_player4; -//CODE.bss:80069770 -extern s32 dword_CODE_bss_80069770; -//CODE.bss:80069774 -extern s32 dword_CODE_bss_80069774; -//CODE.bss:80069778 -extern s32 dword_CODE_bss_80069778; -//CODE.bss:8006977C -extern s32 current_mp_stage_highlighted; -//CODE.bss:80069780 -extern s32 dword_CODE_bss_80069780; -//CODE.bss:80069784 -extern s32 mission_difficulty_highlighted; -//CODE.bss:80069788 -extern s32 teamsize; -//CODE.bss:8006978C -extern s32 ptrbriefingdata; -//CODE.bss:80069790 -extern s32 newcheatunlocked; -//CODE.bss:80069794 -extern s32 highlight_enemy_reaction; -//CODE.bss:80069798 -extern s32 highlight_enemy_health; -//CODE.bss:8006979C -extern s32 highlight_enemy_accuracy; -//CODE.bss:800697A0 -extern s32 highlight_enemy_damage; - -//CODE.bss:800697A4 .align 3 - -//CODE.bss:800697A8 -extern s32 handicap_player1; -//CODE.bss:800697AC -extern s32 handicap_player2; -//CODE.bss:800697B0 -extern s32 handicap_player3; -//CODE.bss:800697B4 -extern s32 handicap_player4; -//CODE.bss:800697B8 -extern u32 controlstyle_player[]; - - -//CODE.bss:800697C8 -extern s32 highlight_players; -//CODE.bss:800697CC -extern s32 highlight_scenario; -//CODE.bss:800697D0 -extern s32 highlight_gameselect; -//CODE.bss:800697D4 -extern s32 highlight_gamelength; -//CODE.bss:800697D8 -extern s32 highlight_character; -//CODE.bss:800697DC -extern s32 highlight_weaponselect; -//CODE.bss:800697E0 -extern s32 highlight_health; -//CODE.bss:800697E4 -extern s32 highlight_controlstyle; -//CODE.bss:800697E8 -extern s32 highlight_aimadjustment; -//CODE.bss:800697EC .align 4 -/* -CODE.bss:800697F0 dword_CODE_bss_800697F0:.space 0x130 -*/ - -extern s32 current_menu; -extern s32 menu_update; -extern s32 maybe_prev_menu; -extern s32 menu_timer; -extern s32 tab_1_selected; -extern s32 tab_2_selected; -extern s32 tab_3_selected; -extern s32 tab_1_highlight; -extern s32 tab_2_highlight; -extern s32 tab_3_highlight; - -extern f32 tab2_first_x_coord; -extern f32 tab1_max_x_coord; -extern f32 tab2_bottom_y_coord; - -extern s32 selected_folder_num; -extern s32 selected_folder_num_copy; -extern s32 gamemode; -extern s32 selected_stage; -extern s32 briefingpage; -extern s32 selected_difficulty; -extern s32 append_cheat_sp; -extern s32 append_cheat_mp; -extern f32 cursor_h_pos; -extern f32 cursor_v_pos; -extern s32 final_menu_briefing_page; -extern s32 current_menu_briefing_page; -extern s32 folder_selection_screen_option_icon; -extern s32 folder_selected_for_deletion; -extern s32 folder_selected_for_deletion_choice; -extern s32 mission_failed_or_aborted; -extern s32 mission_kia_flag; -extern s32 is_first_time_on_legal_screen; -extern s32 is_first_time_on_main_menu; -extern s32 prev_keypresses; -extern s32 dword_D_8002A938; -extern s32 maybe_is_in_menu; -extern s32 screen_size; -extern s32 spectrum_related_flag; -extern s32 is_emulating_spectrum; -extern s32 is_cheat_menu_available; -extern s32 ptr_logo_and_walletbond_DL; -extern s32 ptr_menu_videobuffer; -extern s32 something_legalscreen_constructor; -extern s32 ptr_folder_object_instance; -extern s32 set0_never_used; -extern s32 set0_never_used_0; -extern s32 D_8002A968; -extern s32 dword_D_8002A96C; -extern struct rgba_val stru_D_8002A970; -extern struct rgba_val stru_D_8002A974; -extern struct rgba_val stru_D_8002A978; -extern struct rgba_val stru_D_8002A97C; -extern struct rgba_val stru_D_8002A980; -extern struct rgba_val stru_D_8002A984; -extern struct rgba_val stru_D_8002A988; -extern struct rgba_val stru_D_8002A98C; -extern u32 dword_D_8002A990; -extern u32 dword_D_8002A994; -extern u32 dword_D_8002A998; -extern u32 dword_D_8002A99C; -extern f32 slider_007_mode_reaction; -extern f32 slider_007_mode_health; -extern f32 slider_007_mode_damage; -extern f32 slider_007_mode_accuracy; - -/* -dword_D_8002A9B0:.word 0xA0000000 -dword_D_8002A9B4:.word 0x96000000 -dword_D_8002A9B8:.word 0x28000000 -dword_D_8002A9BC:.word 0x8C000000 -dword_D_8002A9C0:.word 0 -dword_D_8002A9C4:.word 0 -dword_D_8002A9C8:.word 0 -stru_D_8002A9CC:legal_screen_text <220, 30, 1, 1, 0x9C07, 0> - legal_screen_text <34, 83, 0, 1, 0x9C08, 0> - legal_screen_text <226, 84, 0, 1, 0x9C09, 0> - legal_screen_text <226, 97, 0, 1, 0x9C0A, 0> - legal_screen_text <226, 110, 0, 1, 0x9C0B, 0> - legal_screen_text <226, 122, 0, 1, 0x9C0C, 0> - legal_screen_text <227, 134, 0, 1, 0x9C0D, 0> - legal_screen_text <219, 211, 0, 1, 0x9C0E, 0> - legal_screen_text <60, 169, 0, 1, 0x9C0F, 0> - legal_screen_text <60, 201, 0, 1, 0x9C10, 0> - legal_screen_text <99, 266, 0, 1, 0x9C11, 0> - legal_screen_text <80, 280, 0, 1, 0x9C12, 0> -dword_D_8002AABC:.word 0 -dword_D_8002AAC0:.word 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -dword_D_8002AB0C:.word 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -dword_D_8002AB58:.word 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -dword_D_8002AB94:.word 0xC4610000, 0x44480000, 0 - .word 0x44E10000, 0x44480000, 0 - .word 0xC4E10000, 0xC3480000, 0 - .float 900.0 - .float -200.0 - .word 0 -f32 folder_option_COPY_left_bound = 0.0; -f32 folder_option_COPY_upper_bound = 0.0; -f32 folder_option_COPY_right_bound = 0.0; -f32 folder_option_COPY_lower_bound = 0.0; -f32 folder_option_ERASE_left_bound = 0.0; -f32 folder_option_ERASE_upper_bound = 0.0; -f32 folder_option_ERASE_right_bound = 0.0; -f32 folder_option_ERASE_lower_bound = 0.0; -mission_folder_setup_entries: - mission_folder_setup <"1", 0x9C78, 0, LEVELID_NONE, 0, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i", 0x9C79, 0, LEVELID_DAM, 0, MISSION_PART, 0, "UbriefdamZ"> - mission_folder_setup <"ii", 0x9C7A, 0, LEVELID_FACILITY, 0, MISSION_PART, 1, "UbriefarkZ"> - mission_folder_setup <"iii", 0x9C7B, 0, LEVELID_RUNWAY, 0, MISSION_PART, 2, "UbriefrunZ"> - mission_folder_setup <"2", 0x9C7C, 0, LEVELID_NONE, 0, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i", 0x9C7D, 0, LEVELID_SURFACE, 0, MISSION_PART, 3, "UbriefsevxZ"> - mission_folder_setup <"ii", 0x9C7E, 0, LEVELID_BUNKER1, 0, MISSION_PART, 4, "UbriefsevbunkerZ"> - mission_folder_setup <"3", 0x9C7F, 0, LEVELID_NONE, 1, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i", 0x9C80, 0x9C81, LEVELID_SILO, 1, MISSION_PART, 5, "UbriefsiloZ"> - mission_folder_setup <"4", 0x9C82, 0, LEVELID_NONE, 1, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i", 0x9C83, 0, LEVELID_FRIGATE, 1, MISSION_PART, 6, "UbriefdestZ"> - mission_folder_setup <"5", 0x9C7C, 0, LEVELID_NONE, 1, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i", 0x9C7D, 0, LEVELID_SURFACE2, 1, MISSION_PART, 7, "UbriefsevxbZ"> - mission_folder_setup <"ii", 0x9C7E, 0, LEVELID_BUNKER2, 1, MISSION_PART, 8, "UbriefsevbZ"> - mission_folder_setup <"6", 0x9C84, 0, LEVELID_NONE, 2, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i", 0x9C85, 0x9C86, LEVELID_STATUE, 2, MISSION_PART, 9, "UbriefstatueZ"> - mission_folder_setup <"ii", 0x9C87, 0x9C88, LEVELID_ARCHIVES, 2, MISSION_PART, 0xA, "UbriefarchZ"> - mission_folder_setup <"iii", 0x9C89, 0, LEVELID_STREETS, 2, MISSION_PART, 0xB, "UbriefpeteZ"> - mission_folder_setup <"iv", 0x9C8A, 0, LEVELID_DEPOT, 2, MISSION_PART, 0xC, "UbriefdepoZ"> - mission_folder_setup <"v", 0x9C8B, 0, LEVELID_TRAIN, 2, MISSION_PART, 0xD, "UbrieftraZ"> - mission_folder_setup <"7", 0x9C8C, 0, LEVELID_NONE, 3, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i" , 0x9C8D, 0, LEVELID_JUNGLE, 3, MISSION_PART, 0xE, "UbriefjunZ"> - mission_folder_setup <"ii", 0x9C8E, 0x9C8F, LEVELID_CONTROL, 3, MISSION_PART, 0xF, "UbriefcontrolZ"> - mission_folder_setup <"iii", 0x9C90, 0x9C91, LEVELID_CAVERNS, 3, MISSION_PART, 0x10, "UbriefcaveZ"> - mission_folder_setup <"iv", 0x9C92, 0x9C93, LEVELID_CRADLE, 3, MISSION_PART, 0x11, "UbriefcradZ"> - mission_folder_setup <"8", 0x9C94, 0, LEVELID_NONE, 4, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i", 0x9C95, 0x9C96, LEVELID_AZTEC, 4, MISSION_PART, 0x12, "UbriefaztZ"> - mission_folder_setup <"9", 0x9C97, 0, LEVELID_NONE, 4, MISSION_HEADER, 0xFFFFFFFF, 0> - mission_folder_setup <"i", 0x9C98, 0x9C99, LEVELID_EGYPT, 4, MISSION_PART, 0x13, "UbriefcrypZ"> - mission_folder_setup <0, 0, 0, LEVELID_NONE, 0xFFFFFFFF, MISSION_PART, 0xFFFFFFFF, 0> - -unknown_folderselect_constructor:.word 0x14 -dword_D_8002AF30:.word 0x14 -dword_D_8002AF34:.word 0x14 -unknown_folderselect_constructor_0:.word 0x32 -dword_D_8002AF3C:.word 0x32 -dword_D_8002AF40:.word 0x32 -unknown_folderselect:.word 0, 1, 3, 0, 0, 0, 0 - .word 0, 0, 0, 0, 0, 0, 0 - .word 0, 0 -dword_D_8002AF84:.word 0, 1, 3, 0, 0, 0, 0 - .word 0, 0, 0, 0, 0, 0, 0 - .word 0 -dword_D_8002AFC0:.word 0 -dword_D_8002AFC4:.word 0 -flt_D_8002AFC8: .float 190.0 -flt_D_8002AFCC: .float -3300.0 -cursor_xpos_table_mission_select:.word 73, 142, 212, 282, 352 -cursor_ypos_table_mission_select:.word 62, 131, 201, 270 - MP_game_length_settings <0x9C2D, 0, 0, 0> - MP_game_length_settings <0x9C2E, 0, 0x4650, 0> - MP_game_length_settings <0x9C2F, 0, 0x8CA0, 0> - MP_game_length_settings <0x9C30, 0, 0x11940, 0> - MP_game_length_settings <0x9C31, 0, 0, 5> - MP_game_length_settings <0x9C32, 0, 0, 0xA> - MP_game_length_settings <0x9C33, 0, 0, 0x14> - MP_game_length_settings <0x9C34, 0, 0, 0> -mp_player_counts:mp_stage_playercount <0x9C35, 2, 4> - mp_stage_playercount <0x9C36, 2, 4> - mp_stage_playercount <0x9C37, 2, 4> - mp_stage_playercount <0x9C38, 2, 4> - mp_stage_playercount <0x9C39, 2, 4> - mp_stage_playercount <0x9C3A, 4, 4> - mp_stage_playercount <0x9C3B, 4, 4> - mp_stage_playercount <0x9C3C, 3, 3> -multi_stage_setups:mp_stage_setup <0x9C9A, 0x9C9B, 0x10, 0xFFFFFFFF, 0xFFFFFFFF, 1, 4> -stru_D_8002B08C:mp_stage_setup <0x9C9C, 0x9C9D, 0xC, 0x26, 0xFFFFFFFF, 1, 4> - mp_stage_setup <0x9C9E, 0x9C9F, 0xE, 0x1F, 0xFFFFFFFF, 1, 4> - mp_stage_setup <0x9CA2, 0x9CA3, 0xF, 0x32, 0xFFFFFFFF, 1, 4> - mp_stage_setup <0x9CA0, 0x9CA1, 0xD, 0x30, 0xFFFFFFFF, 1, 4> - mp_stage_setup <0x9D0D, 0x9D0E, 0xD, 0x2D, 0xFFFFFFFF, 1, 4> - mp_stage_setup <0x9D0F, 0x9D10, 0xD, 0x2E, 0xFFFFFFFF, 1, 4> - mp_stage_setup <0x9CA4, 0x9CA5, 4, 0x22, 1, 1, 4> - mp_stage_setup <0x9CA6, 0x9CA7, 0, 0x1B, 8, 1, 3> - mp_stage_setup <0x9CA8, 0x9CA9, 2, 0x18, 0xA, 1, 3> - mp_stage_setup <0x9CAA, 0x9CAB, 1, 0x27, 0x10, 1, 3> - mp_stage_setup <0x9CAC, 0x9CAD, 0xA, 0x20, 0x13, 1, 2> -num_chars_selectable_mp:.word 8 -mp_chr_setup: MP_selectable_chars <0x9CB8, MALE, 0, BODY_Tuxedo, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0> - MP_selectable_chars <0x9CBF, FEMALE, 9, BODY_Natalya_Skirt, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.96609998> - MP_selectable_chars <0x9CBC, MALE, 6, BODY_Trevelyan_Janus, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0> - MP_selectable_chars <0x9CBE, FEMALE, 8, BODY_Xenia, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0> - MP_selectable_chars <0x9CBB, MALE, 5, BODY_Ourumov, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0778> - MP_selectable_chars <0x9CBA, MALE, 4, BODY_Boris, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.9702> - MP_selectable_chars <0x9CBD, MALE, 7, BODY_Valentin_, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 0.93239999> - MP_selectable_chars <0x9CB9, MALE, 0xF, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Mishkin, 1.0> - MP_selectable_chars <0x9CC2, FEMALE, 0xC, BODY_Mayday, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0> - MP_selectable_chars <0x9CC1, MALE, 0xB, BODY_Jaws, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.199> - MP_selectable_chars <0x9CC3, MALE, 0xD, BODY_Oddjob, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT,0.78780001> - MP_selectable_chars <0x9CC0, MALE, 0xA, BODY_Baron_Samedi, HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT, 1.0> - MP_selectable_chars <0x9CFD, MALE, 0xE, BODY_Russian_Soldier, HEAD_Male_Mark, 1.0> - MP_selectable_chars <0x9CFC, MALE, 0xE, BODY_Russian_Infantry, HEAD_Male_Karl, 1.0> - MP_selectable_chars <0x9D07, MALE, 0xE, BODY_Scientist_1_Male, HEAD_Male_Dave_Dr_Doak, 1.0> - MP_selectable_chars <0x9D07, FEMALE, 0xE, BODY_Scientist_2_Female, HEAD_Female_Sally, 1.0> - MP_selectable_chars <0x9D00, MALE, 0xE, BODY_Russian_Commandant, HEAD_Male_Martin, 1.0> - MP_selectable_chars <0x9CFE, MALE, 0xE, BODY_Janus_Marine, HEAD_Male_Steve_Ellis, 1.0> - MP_selectable_chars <0x9D01, MALE, 0xE, BODY_Naval_Officer, HEAD_Male_Duncan, 1.0> - MP_selectable_chars <0x9D06, MALE, 0xE, BODY_Helicopter_Pilot, HEAD_Male_Pete, 1.0> - MP_selectable_chars <0x9CFB, MALE, 0xE, BODY_St_Petersburg_Guard, HEAD_Male_Ken, 1.0> - MP_selectable_chars <0x9D08, FEMALE, 0xE, BODY_Civilian_1_Female, HEAD_Female_Marion_Rosika, 1.0> - MP_selectable_chars <0x9D08, MALE, 0xE, BODY_Civilian_2, HEAD_Male_Graeme, 1.0> - MP_selectable_chars <0x9D08, MALE, 0xE, BODY_Civilian_3, HEAD_Male_Grant, 1.0> - MP_selectable_chars <0x9D08, MALE, 0xE, BODY_Civilian_4, HEAD_Male_Dwayne, 1.0> - MP_selectable_chars <0x9D02, MALE, 0xE, BODY_Siberian_Guard_1_Mishkin, HEAD_Male_Lee, 1.0> - MP_selectable_chars <0x9D03, MALE, 0xE, BODY_Arctic_Commando, HEAD_Male_Chris, 1.0> - MP_selectable_chars <0x9D02, MALE, 0xE, BODY_Siberian_Guard_2, HEAD_Male_Scott, 1.0> - MP_selectable_chars <0x9D04, MALE, 0xE, BODY_Siberian_Special_Forces, HEAD_Male_Alan, 1.0> - MP_selectable_chars <0x9CFA, MALE, 0xE, BODY_Jungle_Commando, HEAD_Male_Joel, 1.0> - MP_selectable_chars <0x9CFF, MALE, 0xE, BODY_Janus_Special_Forces, HEAD_Male_B, 1.0> - MP_selectable_chars <0x9D05, MALE, 0xE, BODY_Moonraker_Elite_1_Male, HEAD_Male_Neil, 1.0> - MP_selectable_chars <0x9D05, FEMALE, 0xE, BODY_Moonraker_Elite_2_Female, HEAD_Female_Vivien, 1.0> - MP_selectable_chars <0x9CC4, FEMALE, 0xE, BODY_Rosika, HEAD_Female_Marion_Rosika, 0.88529998> - MP_selectable_chars <0x9CC5, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Karl, 1.0446> - MP_selectable_chars <0x9CC6, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Martin, 1.0446> - MP_selectable_chars <0x9CC7, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Mark, 1.0446> - MP_selectable_chars <0x9CC8, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dave_Dr_Doak, 1.0446> - MP_selectable_chars <0x9CC9, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Duncan, 1.0446> - MP_selectable_chars <0x9CCA, FEMALE, 0xE, BODY_Tuxedo, HEAD_Male_B, 1.0446> - MP_selectable_chars <0x9CCB, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_Ellis, 1.0446> - MP_selectable_chars <0x9CCC, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Grant, 1.0446> - MP_selectable_chars <0x9CCD, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Graeme, 1.0446> - MP_selectable_chars <0x9CCE, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Ken, 1.0446> - MP_selectable_chars <0x9CCF, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Alan, 1.0446> - MP_selectable_chars <0x9CD0, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Pete, 1.0446> - MP_selectable_chars <0x9CD1, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Shaun, 1.0446> - MP_selectable_chars <0x9CD2, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Dwayne, 1.0446> - MP_selectable_chars <0x9CD3, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Des, 1.0446> - MP_selectable_chars <0x9CD4, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Chris, 1.0446> - MP_selectable_chars <0x9CD5, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Lee, 1.0446> - MP_selectable_chars <0x9CD6, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Neil, 1.0446> - MP_selectable_chars <0x9CD7, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Jim, 1.0446> - MP_selectable_chars <0x9CD8, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Robin, 1.0446> - MP_selectable_chars <0x9CD9, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Steve_H, 1.0446> - MP_selectable_chars <0x9CDA, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Terrorist, 1.0446> - MP_selectable_chars <0x9CDB, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Biker, 1.0446> - MP_selectable_chars <0x9CDC, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joel, 1.0446> - MP_selectable_chars <0x9CDD, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Scott, 1.0446> - MP_selectable_chars <0x9CDE, MALE, 0xE, BODY_Tuxedo, HEAD_Male_Joe, 1.0446> - MP_selectable_chars <0x9CDF, FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Sally, 1.0446> - MP_selectable_chars <0x9CE0, FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Marion_Rosika, 1.0446> - MP_selectable_chars <0x9CE1, FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Mandy, 1.0446> - MP_selectable_chars <0x9CE2, FEMALE, 0xE, BODY_Tuxedo, HEAD_Female_Vivien, 1.0446> - -MP_handicap_table:MP_handicap_menu <0x9C3D, 0, 10.0> - MP_handicap_menu <0x9C3E, 0, 2.8560996> - MP_handicap_menu <0x9C3F, 0, 2.1969998> - MP_handicap_menu <0x9C40, 0, 1.6899998> - MP_handicap_menu <0x9C41, 0, 1.3> - MP_handicap_menu <0x9C42, 0, 1.0> - MP_handicap_menu <0x9C43, 0, 0.76923078> - MP_handicap_menu <0x9C44, 0, 0.59171599> - MP_handicap_menu <0x9C45, 0, 0.45516616> - MP_handicap_menu <0x9C46, 0, 0.35012782> - MP_handicap_menu <0x9C47, 0, 0.1> - MP_controller_configuration_menu <0x9D, 0x15, 0, 1> - MP_controller_configuration_menu <0x9D, 0x16, 1, 1> - MP_controller_configuration_menu <0x9D, 0x17, 2, 1> - MP_controller_configuration_menu <0x9D, 0x18, 3, 1> - MP_controller_configuration_menu <0x9D, 0x19, 4, 2> - MP_controller_configuration_menu <0x9D, 0x1A, 5, 2> - MP_controller_configuration_menu <0x9D, 0x1B, 6, 2> - MP_controller_configuration_menu <0x9D, 0x1C, 7, 2> -stru_mp_sight_adjust_table:MP_sight_aim_settings <0x9C, 0x48, 0, 0> - MP_sight_aim_settings <0x9C, 0x49, 1, 0> - MP_sight_aim_settings <0x9C, 0x4A, 0, 1> - MP_sight_aim_settings <0x9C, 0x4B, 1, 1> -*/ -extern s32 selected_num_players; -extern s32 player_1_char; -extern s32 player_2_char; -extern s32 player_3_char; -extern s32 player_4_char; -extern s32 MP_stage_selected; -extern s32 game_length; -extern s32 aim_sight_adjustment; -extern s32 scenario; -extern s32 unlock_stage_select; -extern s32 unlock_game_length; -extern s32 unlock_chars; -extern s32 unlock_weapon_select; -extern s32 unlock_handicap; -extern s32 unlock_control_style; -extern s32 unlock_aim_sight; -/* -dword_D_8002B560:.word 0 - solo_target_times <0, 160, 0> - solo_target_times <0, 0, 125> - solo_target_times <300, 0, 0> - solo_target_times <0, 210, 0> - solo_target_times <0, 0, 240> - solo_target_times <180, 0, 0> - solo_target_times <0, 270, 0> - solo_target_times <0, 0, 255> - solo_target_times <90, 0, 0> - solo_target_times <0, 195, 0> - solo_target_times <0, 0, 80> - solo_target_times <105, 0, 0> - solo_target_times <0, 100, 0> - solo_target_times <0, 0, 325> - solo_target_times <225, 0, 0> - solo_target_times <0, 600, 0> - solo_target_times <0, 0, 570> - solo_target_times <135, 0, 0> - solo_target_times <0, 540, 0> - solo_target_times <0, 0, 360> -dword_D_8002B5DC:.word 0 -dword_D_8002B5E0:.word 0 -MP_menu_selected_option:.word 0 -*/ -extern u32 do_not_play_intro_movie; -extern u32 randomly_selected_intro_animation; -extern u32 intro_animation_count; -extern u32 objinstance; -extern u32 ptrobjinstance; -extern u32 full_actor_intro; - -#endif diff --git a/src/game/mp_music.c b/src/game/mp_music.c deleted file mode 100644 index 8c07481..0000000 --- a/src/game/mp_music.c +++ /dev/null @@ -1,1390 +0,0 @@ -#include "ultra64.h" -//#include "" - -// bss -//CODE.bss:8008C600 -s32 dword_CODE_bss_8008C600; -//CODE.bss:8008C604 -s32 dword_CODE_bss_8008C604; -//CODE.bss:8008C608 -s32 music_slot_active_0; -//CODE.bss:8008C60C -s32 music_slot_active_1; -//CODE.bss:8008C610 -s32 music_slot_active_2; -//CODE.bss:8008C614 -s32 music_slot_active_3; -//CODE.bss:8008C618 -s32 music_slot_minutes_0; -//CODE.bss:8008C61C -s32 music_slot_minutes_1; -//CODE.bss:8008C620 -s32 music_slot_minutes_2; -//CODE.bss:8008C624 -s32 music_slot_minutes_3; -//CODE.bss:8008C628 -s32 music_slot_seconds_0; -//CODE.bss:8008C62C -s32 music_slot_seconds_1; -//CODE.bss:8008C630 -s32 music_slot_seconds_2; -//CODE.bss:8008C634 -s32 music_slot_seconds_3; - - -// data -//D:800484C0 -s32 mission_state = 0; - - - - - -void sub_GAME_7F0C0C10(void) { - call_sfx_c_700091C8(); -} - -s32 get_mission_state(void) { - return mission_state; -} - - - - - - -#ifdef NONMATCHING -void set_missionstate(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*D:8005B790*/ -glabel jpt_8005B790 -.word .L7F0C0C74 -.word .L7F0C0D28 -.word .L7F0C0E18 -.word .L7F0C0EB0 -.word .L7F0C0FE8 -.word .L7F0C10B4 -.word .L7F0C115C - -/*D:8005B7AC*/ -glabel jpt_8005B7AC -.word .L7F0C11EC -.word .L7F0C0C94 -.word .L7F0C0D28 -.word .L7F0C0D28 -.word .L7F0C0CC8 -.word .L7F0C0D28 -.word .L7F0C0D28 - -/*D:8005B7C8*/ -glabel jpt_8005B7C8 -.word .L7F0C0D48 -.word .L7F0C0E18 -.word .L7F0C0D68 -.word .L7F0C0DAC -.word .L7F0C0E18 -.word .L7F0C0E18 -.word .L7F0C0DE4 - -glabel music_rate_8005B7E4 -.word 0x3ca3d70a /*0.02*/ - -/*D:8005B7E8*/ -glabel jpt_8005B7E8 -.word .L7F0C0E38 -.word .L7F0C0E58 -.word .L7F0C11EC -.word .L7F0C0E88 -.word .L7F0C0EB0 -.word .L7F0C0EB0 -.word .L7F0C0EB0 - -/*D:8005B804*/ -glabel jpt_8005B804 -.word .L7F0C0ED0 -.word .L7F0C0EF0 -.word .L7F0C0F20 -.word .L7F0C0FE8 -.word .L7F0C0F54 -.word .L7F0C0F9C -.word .L7F0C0FE8 - -/*D:8005B820*/ -glabel jpt_8005B820 -.word .L7F0C1008 -.word .L7F0C10B4 -.word .L7F0C10B4 -.word .L7F0C1028 -.word .L7F0C10B4 -.word .L7F0C1070 -.word .L7F0C10B4 - -/*D:8005B83C*/ -glabel jpt_8005B83C -.word .L7F0C10D4 -.word .L7F0C115C -.word .L7F0C115C -.word .L7F0C10F4 -.word .L7F0C112C -.word .L7F0C115C -.word .L7F0C115C - -/*D:8005B858*/ -glabel jpt_8005B858 -.word .L7F0C117C -.word .L7F0C119C -.word .L7F0C11E4 -.word .L7F0C11E4 -.word .L7F0C11E4 -.word .L7F0C11E4 -.word .L7F0C11CC - - -.text -glabel set_missionstate -/* 0F576C set_missionstate 3C038005 */ lui $v1, %hi(mission_state) -/* 0F5770 7F0C0C40 246384C0 */ addiu $v1, %lo(mission_state) # addiu $v1, $v1, -0x7b40 -/* 0F5774 7F0C0C44 8C620000 */ lw $v0, ($v1) -/* 0F5778 7F0C0C48 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F577C 7F0C0C4C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F5780 7F0C0C50 2C410007 */ sltiu $at, $v0, 7 -/* 0F5784 7F0C0C54 10200163 */ beqz $at, .L7F0C11E4 -/* 0F5788 7F0C0C58 AC640000 */ sw $a0, ($v1) -/* 0F578C 7F0C0C5C 00027080 */ sll $t6, $v0, 2 -/* 0F5790 7F0C0C60 3C018006 */ lui $at, %hi(jpt_8005B790) -/* 0F5794 7F0C0C64 002E0821 */ addu $at, $at, $t6 -/* 0F5798 7F0C0C68 8C2EB790 */ lw $t6, %lo(jpt_8005B790)($at) -/* 0F579C 7F0C0C6C 01C00008 */ jr $t6 -/* 0F57A0 7F0C0C70 00000000 */ nop -.L7F0C0C74: -/* 0F57A4 7F0C0C74 2C810007 */ sltiu $at, $a0, 7 -/* 0F57A8 7F0C0C78 1020002B */ beqz $at, .L7F0C0D28 -/* 0F57AC 7F0C0C7C 00047880 */ sll $t7, $a0, 2 -/* 0F57B0 7F0C0C80 3C018006 */ lui $at, %hi(jpt_8005B7AC) -/* 0F57B4 7F0C0C84 002F0821 */ addu $at, $at, $t7 -/* 0F57B8 7F0C0C88 8C2FB7AC */ lw $t7, %lo(jpt_8005B7AC)($at) -/* 0F57BC 7F0C0C8C 01E00008 */ jr $t7 -/* 0F57C0 7F0C0C90 00000000 */ nop -.L7F0C0C94: -/* 0F57C4 7F0C0C94 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F57C8 7F0C0C98 00000000 */ nop -/* 0F57CC 7F0C0C9C 0C001C0F */ jal musicTrack1Vol -/* 0F57D0 7F0C0CA0 3044FFFF */ andi $a0, $v0, 0xffff -/* 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 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 -/* 0F57F0 7F0C0CC0 1000014B */ b .L7F0C11F0 -/* 0F57F4 7F0C0CC4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0CC8: -/* 0F57F8 7F0C0CC8 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F57FC 7F0C0CCC 00000000 */ nop -/* 0F5800 7F0C0CD0 0C001C0F */ jal musicTrack1Vol -/* 0F5804 7F0C0CD4 3044FFFF */ andi $a0, $v0, 0xffff -/* 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 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 -/* 0F5824 7F0C0CF4 0FC30304 */ jal sub_GAME_7F0C0C10 -/* 0F5828 7F0C0CF8 00000000 */ nop -/* 0F582C 7F0C0CFC 0C001DD3 */ jal musicTrack3Vol -/* 0F5830 7F0C0D00 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F5834 7F0C0D04 3C018002 */ lui $at, %hi(music3_playing) -/* 0F5838 7F0C0D08 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) -/* 0F583C 7F0C0D0C AC204354 */ sw $zero, %lo(music3_playing)($at) -/* 0F5840 7F0C0D10 0FC34A12 */ jal sub_GAME_7F0D2848 -/* 0F5844 7F0C0D14 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F5848 7F0C0D18 0C001D63 */ jal music_related_3rd_block -/* 0F584C 7F0C0D1C 00402025 */ move $a0, $v0 -/* 0F5850 7F0C0D20 10000133 */ b .L7F0C11F0 -/* 0F5854 7F0C0D24 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0D28: -/* 0F5858 7F0C0D28 2C810007 */ sltiu $at, $a0, 7 -/* 0F585C 7F0C0D2C 1020003A */ beqz $at, .L7F0C0E18 -/* 0F5860 7F0C0D30 0004C080 */ sll $t8, $a0, 2 -/* 0F5864 7F0C0D34 3C018006 */ lui $at, %hi(jpt_8005B7C8) -/* 0F5868 7F0C0D38 00380821 */ addu $at, $at, $t8 -/* 0F586C 7F0C0D3C 8C38B7C8 */ lw $t8, %lo(jpt_8005B7C8)($at) -/* 0F5870 7F0C0D40 03000008 */ jr $t8 -/* 0F5874 7F0C0D44 00000000 */ nop -.L7F0C0D48: -/* 0F5878 7F0C0D48 0C001BF4 */ jal musicTrack1Stop -/* 0F587C 7F0C0D4C 00000000 */ nop -/* 0F5880 7F0C0D50 0C001CD6 */ jal musicTrack2Stop -/* 0F5884 7F0C0D54 00000000 */ nop -/* 0F5888 7F0C0D58 0C001DB8 */ jal musicTrack3Stop -/* 0F588C 7F0C0D5C 00000000 */ nop -/* 0F5890 7F0C0D60 10000123 */ b .L7F0C11F0 -/* 0F5894 7F0C0D64 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0D68: -/* 0F5898 7F0C0D68 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F589C 7F0C0D6C 00000000 */ nop -/* 0F58A0 7F0C0D70 0C001CF1 */ jal musicTrack2Vol -/* 0F58A4 7F0C0D74 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F58A8 7F0C0D78 3C018002 */ lui $at, %hi(music2_playing) -/* 0F58AC 7F0C0D7C 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) -/* 0F58B0 7F0C0D80 AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F58B4 7F0C0D84 0FC34A24 */ jal sub_GAME_7F0D2890 -/* 0F58B8 7F0C0D88 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F58BC 7F0C0D8C 0C001C81 */ jal musicTrack2Play -/* 0F58C0 7F0C0D90 00402025 */ move $a0, $v0 -/* 0F58C4 7F0C0D94 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F58C8 7F0C0D98 44816000 */ mtc1 $at, $f12 -/* 0F58CC 7F0C0D9C 0C001C3E */ jal music_related_1 -/* 0F58D0 7F0C0DA0 00000000 */ nop -/* 0F58D4 7F0C0DA4 10000112 */ b .L7F0C11F0 -/* 0F58D8 7F0C0DA8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0DAC: -/* 0F58DC 7F0C0DAC 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F58E0 7F0C0DB0 00000000 */ nop -/* 0F58E4 7F0C0DB4 0C001CF1 */ jal musicTrack2Vol -/* 0F58E8 7F0C0DB8 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F58EC 7F0C0DBC 3C018002 */ lui $at, %hi(music2_playing) -/* 0F58F0 7F0C0DC0 AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F58F4 7F0C0DC4 0C001C81 */ jal musicTrack2Play -/* 0F58F8 7F0C0DC8 24040018 */ li $a0, 24 -/* 0F58FC 7F0C0DCC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F5900 7F0C0DD0 44816000 */ mtc1 $at, $f12 -/* 0F5904 7F0C0DD4 0C001C3E */ jal music_related_1 -/* 0F5908 7F0C0DD8 00000000 */ nop -/* 0F590C 7F0C0DDC 10000104 */ b .L7F0C11F0 -/* 0F5910 7F0C0DE0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0DE4: -/* 0F5914 7F0C0DE4 3C018006 */ lui $at, %hi(music_rate_8005B7E4) -/* 0F5918 7F0C0DE8 0C001C3E */ jal music_related_1 -/* 0F591C 7F0C0DEC C42CB7E4 */ lwc1 $f12, %lo(music_rate_8005B7E4)($at) -/* 0F5920 7F0C0DF0 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5924 7F0C0DF4 00000000 */ nop -/* 0F5928 7F0C0DF8 0C001CF1 */ jal musicTrack2Vol -/* 0F592C 7F0C0DFC 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F5930 7F0C0E00 3C018002 */ lui $at, %hi(music2_playing) -/* 0F5934 7F0C0E04 AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F5938 7F0C0E08 0C001C81 */ jal musicTrack2Play -/* 0F593C 7F0C0E0C 2404003A */ li $a0, 58 -/* 0F5940 7F0C0E10 100000F7 */ b .L7F0C11F0 -/* 0F5944 7F0C0E14 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0E18: -/* 0F5948 7F0C0E18 2C810007 */ sltiu $at, $a0, 7 -/* 0F594C 7F0C0E1C 10200024 */ beqz $at, .L7F0C0EB0 -/* 0F5950 7F0C0E20 0004C880 */ sll $t9, $a0, 2 -/* 0F5954 7F0C0E24 3C018006 */ lui $at, %hi(jpt_8005B7E8) -/* 0F5958 7F0C0E28 00390821 */ addu $at, $at, $t9 -/* 0F595C 7F0C0E2C 8C39B7E8 */ lw $t9, %lo(jpt_8005B7E8)($at) -/* 0F5960 7F0C0E30 03200008 */ jr $t9 -/* 0F5964 7F0C0E34 00000000 */ nop -.L7F0C0E38: -/* 0F5968 7F0C0E38 0C001BF4 */ jal musicTrack1Stop -/* 0F596C 7F0C0E3C 00000000 */ nop -/* 0F5970 7F0C0E40 0C001CD6 */ jal musicTrack2Stop -/* 0F5974 7F0C0E44 00000000 */ nop -/* 0F5978 7F0C0E48 0C001DB8 */ jal musicTrack3Stop -/* 0F597C 7F0C0E4C 00000000 */ nop -/* 0F5980 7F0C0E50 100000E7 */ b .L7F0C11F0 -/* 0F5984 7F0C0E54 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0E58: -/* 0F5988 7F0C0E58 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F598C 7F0C0E5C 00000000 */ nop -/* 0F5990 7F0C0E60 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F5994 7F0C0E64 44816000 */ mtc1 $at, $f12 -/* 0F5998 7F0C0E68 0C001C5A */ jal music_related_3 -/* 0F599C 7F0C0E6C 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F59A0 7F0C0E70 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F59A4 7F0C0E74 44816000 */ mtc1 $at, $f12 -/* 0F59A8 7F0C0E78 0C001D20 */ jal music_related_6 -/* 0F59AC 7F0C0E7C 00000000 */ nop -/* 0F59B0 7F0C0E80 100000DB */ b .L7F0C11F0 -/* 0F59B4 7F0C0E84 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0E88: -/* 0F59B8 7F0C0E88 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F59BC 7F0C0E8C 00000000 */ nop -/* 0F59C0 7F0C0E90 0C001CF1 */ jal musicTrack2Vol -/* 0F59C4 7F0C0E94 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F59C8 7F0C0E98 3C018002 */ lui $at, %hi(music2_playing) -/* 0F59CC 7F0C0E9C AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F59D0 7F0C0EA0 0C001C81 */ jal musicTrack2Play -/* 0F59D4 7F0C0EA4 24040018 */ li $a0, 24 -/* 0F59D8 7F0C0EA8 100000D1 */ b .L7F0C11F0 -/* 0F59DC 7F0C0EAC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0EB0: -/* 0F59E0 7F0C0EB0 2C810007 */ sltiu $at, $a0, 7 -/* 0F59E4 7F0C0EB4 1020004C */ beqz $at, .L7F0C0FE8 -/* 0F59E8 7F0C0EB8 00044080 */ sll $t0, $a0, 2 -/* 0F59EC 7F0C0EBC 3C018006 */ lui $at, %hi(jpt_8005B804) -/* 0F59F0 7F0C0EC0 00280821 */ addu $at, $at, $t0 -/* 0F59F4 7F0C0EC4 8C28B804 */ lw $t0, %lo(jpt_8005B804)($at) -/* 0F59F8 7F0C0EC8 01000008 */ jr $t0 -/* 0F59FC 7F0C0ECC 00000000 */ nop -.L7F0C0ED0: -/* 0F5A00 7F0C0ED0 0C001BF4 */ jal musicTrack1Stop -/* 0F5A04 7F0C0ED4 00000000 */ nop -/* 0F5A08 7F0C0ED8 0C001CD6 */ jal musicTrack2Stop -/* 0F5A0C 7F0C0EDC 00000000 */ nop -/* 0F5A10 7F0C0EE0 0C001DB8 */ jal musicTrack3Stop -/* 0F5A14 7F0C0EE4 00000000 */ nop -/* 0F5A18 7F0C0EE8 100000C1 */ b .L7F0C11F0 -/* 0F5A1C 7F0C0EEC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0EF0: -/* 0F5A20 7F0C0EF0 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5A24 7F0C0EF4 00000000 */ nop -/* 0F5A28 7F0C0EF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F5A2C 7F0C0EFC 44816000 */ mtc1 $at, $f12 -/* 0F5A30 7F0C0F00 0C001C5A */ jal music_related_3 -/* 0F5A34 7F0C0F04 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F5A38 7F0C0F08 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F5A3C 7F0C0F0C 44816000 */ mtc1 $at, $f12 -/* 0F5A40 7F0C0F10 0C001D20 */ jal music_related_6 -/* 0F5A44 7F0C0F14 00000000 */ nop -/* 0F5A48 7F0C0F18 100000B5 */ b .L7F0C11F0 -/* 0F5A4C 7F0C0F1C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0F20: -/* 0F5A50 7F0C0F20 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5A54 7F0C0F24 00000000 */ nop -/* 0F5A58 7F0C0F28 0C001CF1 */ jal musicTrack2Vol -/* 0F5A5C 7F0C0F2C 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F5A60 7F0C0F30 3C018002 */ lui $at, %hi(music2_playing) -/* 0F5A64 7F0C0F34 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) -/* 0F5A68 7F0C0F38 AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F5A6C 7F0C0F3C 0FC34A24 */ jal sub_GAME_7F0D2890 -/* 0F5A70 7F0C0F40 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F5A74 7F0C0F44 0C001C81 */ jal musicTrack2Play -/* 0F5A78 7F0C0F48 00402025 */ move $a0, $v0 -/* 0F5A7C 7F0C0F4C 100000A8 */ b .L7F0C11F0 -/* 0F5A80 7F0C0F50 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0F54: -/* 0F5A84 7F0C0F54 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5A88 7F0C0F58 00000000 */ nop -/* 0F5A8C 7F0C0F5C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F5A90 7F0C0F60 44816000 */ mtc1 $at, $f12 -/* 0F5A94 7F0C0F64 0C001C5A */ jal music_related_3 -/* 0F5A98 7F0C0F68 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F5A9C 7F0C0F6C 0FC30304 */ jal sub_GAME_7F0C0C10 -/* 0F5AA0 7F0C0F70 00000000 */ nop -/* 0F5AA4 7F0C0F74 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F5AA8 7F0C0F78 44816000 */ mtc1 $at, $f12 -/* 0F5AAC 7F0C0F7C 0C001E1E */ jal music_related_13 -/* 0F5AB0 7F0C0F80 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F5AB4 7F0C0F84 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F5AB8 7F0C0F88 44816000 */ mtc1 $at, $f12 -/* 0F5ABC 7F0C0F8C 0C001D20 */ jal music_related_6 -/* 0F5AC0 7F0C0F90 00000000 */ nop -/* 0F5AC4 7F0C0F94 10000096 */ b .L7F0C11F0 -/* 0F5AC8 7F0C0F98 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0F9C: -/* 0F5ACC 7F0C0F9C 0FC30304 */ jal sub_GAME_7F0C0C10 -/* 0F5AD0 7F0C0FA0 00000000 */ nop -/* 0F5AD4 7F0C0FA4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F5AD8 7F0C0FA8 44816000 */ mtc1 $at, $f12 -/* 0F5ADC 7F0C0FAC 0C001E1E */ jal music_related_13 -/* 0F5AE0 7F0C0FB0 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F5AE4 7F0C0FB4 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5AE8 7F0C0FB8 00000000 */ nop -/* 0F5AEC 7F0C0FBC 0C001CF1 */ jal musicTrack2Vol -/* 0F5AF0 7F0C0FC0 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F5AF4 7F0C0FC4 3C018002 */ lui $at, %hi(music2_playing) -/* 0F5AF8 7F0C0FC8 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) -/* 0F5AFC 7F0C0FCC AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F5B00 7F0C0FD0 0FC34A24 */ jal sub_GAME_7F0D2890 -/* 0F5B04 7F0C0FD4 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F5B08 7F0C0FD8 0C001C81 */ jal musicTrack2Play -/* 0F5B0C 7F0C0FDC 00402025 */ move $a0, $v0 -/* 0F5B10 7F0C0FE0 10000083 */ b .L7F0C11F0 -/* 0F5B14 7F0C0FE4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0FE8: -/* 0F5B18 7F0C0FE8 2C810007 */ sltiu $at, $a0, 7 -/* 0F5B1C 7F0C0FEC 10200031 */ beqz $at, .L7F0C10B4 -/* 0F5B20 7F0C0FF0 00044880 */ sll $t1, $a0, 2 -/* 0F5B24 7F0C0FF4 3C018006 */ lui $at, %hi(jpt_8005B820) -/* 0F5B28 7F0C0FF8 00290821 */ addu $at, $at, $t1 -/* 0F5B2C 7F0C0FFC 8C29B820 */ lw $t1, %lo(jpt_8005B820)($at) -/* 0F5B30 7F0C1000 01200008 */ jr $t1 -/* 0F5B34 7F0C1004 00000000 */ nop -.L7F0C1008: -/* 0F5B38 7F0C1008 0C001BF4 */ jal musicTrack1Stop -/* 0F5B3C 7F0C100C 00000000 */ nop -/* 0F5B40 7F0C1010 0C001CD6 */ jal musicTrack2Stop -/* 0F5B44 7F0C1014 00000000 */ nop -/* 0F5B48 7F0C1018 0C001DB8 */ jal musicTrack3Stop -/* 0F5B4C 7F0C101C 00000000 */ nop -/* 0F5B50 7F0C1020 10000073 */ b .L7F0C11F0 -/* 0F5B54 7F0C1024 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C1028: -/* 0F5B58 7F0C1028 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5B5C 7F0C102C 00000000 */ nop -/* 0F5B60 7F0C1030 0C001CF1 */ jal musicTrack2Vol -/* 0F5B64 7F0C1034 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F5B68 7F0C1038 3C018002 */ lui $at, %hi(music2_playing) -/* 0F5B6C 7F0C103C AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F5B70 7F0C1040 0C001C81 */ jal musicTrack2Play -/* 0F5B74 7F0C1044 24040018 */ li $a0, 24 -/* 0F5B78 7F0C1048 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F5B7C 7F0C104C 44816000 */ mtc1 $at, $f12 -/* 0F5B80 7F0C1050 0C001C3E */ jal music_related_1 -/* 0F5B84 7F0C1054 00000000 */ nop -/* 0F5B88 7F0C1058 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F5B8C 7F0C105C 44816000 */ mtc1 $at, $f12 -/* 0F5B90 7F0C1060 0C001E02 */ jal music_related_11 -/* 0F5B94 7F0C1064 00000000 */ nop -/* 0F5B98 7F0C1068 10000061 */ b .L7F0C11F0 -/* 0F5B9C 7F0C106C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C1070: -/* 0F5BA0 7F0C1070 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5BA4 7F0C1074 00000000 */ nop -/* 0F5BA8 7F0C1078 0C001CF1 */ jal musicTrack2Vol -/* 0F5BAC 7F0C107C 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F5BB0 7F0C1080 3C018002 */ lui $at, %hi(music2_playing) -/* 0F5BB4 7F0C1084 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) -/* 0F5BB8 7F0C1088 AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F5BBC 7F0C108C 0FC34A24 */ jal sub_GAME_7F0D2890 -/* 0F5BC0 7F0C1090 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F5BC4 7F0C1094 0C001C81 */ jal musicTrack2Play -/* 0F5BC8 7F0C1098 00402025 */ move $a0, $v0 -/* 0F5BCC 7F0C109C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F5BD0 7F0C10A0 44816000 */ mtc1 $at, $f12 -/* 0F5BD4 7F0C10A4 0C001C3E */ jal music_related_1 -/* 0F5BD8 7F0C10A8 00000000 */ nop -/* 0F5BDC 7F0C10AC 10000050 */ b .L7F0C11F0 -/* 0F5BE0 7F0C10B0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C10B4: -/* 0F5BE4 7F0C10B4 2C810007 */ sltiu $at, $a0, 7 -/* 0F5BE8 7F0C10B8 10200028 */ beqz $at, .L7F0C115C -/* 0F5BEC 7F0C10BC 00045080 */ sll $t2, $a0, 2 -/* 0F5BF0 7F0C10C0 3C018006 */ lui $at, %hi(jpt_8005B83C) -/* 0F5BF4 7F0C10C4 002A0821 */ addu $at, $at, $t2 -/* 0F5BF8 7F0C10C8 8C2AB83C */ lw $t2, %lo(jpt_8005B83C)($at) -/* 0F5BFC 7F0C10CC 01400008 */ jr $t2 -/* 0F5C00 7F0C10D0 00000000 */ nop -.L7F0C10D4: -/* 0F5C04 7F0C10D4 0C001BF4 */ jal musicTrack1Stop -/* 0F5C08 7F0C10D8 00000000 */ nop -/* 0F5C0C 7F0C10DC 0C001CD6 */ jal musicTrack2Stop -/* 0F5C10 7F0C10E0 00000000 */ nop -/* 0F5C14 7F0C10E4 0C001DB8 */ jal musicTrack3Stop -/* 0F5C18 7F0C10E8 00000000 */ nop -/* 0F5C1C 7F0C10EC 10000040 */ b .L7F0C11F0 -/* 0F5C20 7F0C10F0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C10F4: -/* 0F5C24 7F0C10F4 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5C28 7F0C10F8 00000000 */ nop -/* 0F5C2C 7F0C10FC 0C001CF1 */ jal musicTrack2Vol -/* 0F5C30 7F0C1100 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F5C34 7F0C1104 3C018002 */ lui $at, %hi(music2_playing) -/* 0F5C38 7F0C1108 AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F5C3C 7F0C110C 0C001C81 */ jal musicTrack2Play -/* 0F5C40 7F0C1110 24040018 */ li $a0, 24 -/* 0F5C44 7F0C1114 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F5C48 7F0C1118 44816000 */ mtc1 $at, $f12 -/* 0F5C4C 7F0C111C 0C001E02 */ jal music_related_11 -/* 0F5C50 7F0C1120 00000000 */ nop -/* 0F5C54 7F0C1124 10000032 */ b .L7F0C11F0 -/* 0F5C58 7F0C1128 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C112C: -/* 0F5C5C 7F0C112C 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5C60 7F0C1130 00000000 */ nop -/* 0F5C64 7F0C1134 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F5C68 7F0C1138 44816000 */ mtc1 $at, $f12 -/* 0F5C6C 7F0C113C 0C001C5A */ jal music_related_3 -/* 0F5C70 7F0C1140 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F5C74 7F0C1144 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F5C78 7F0C1148 44816000 */ mtc1 $at, $f12 -/* 0F5C7C 7F0C114C 0C001D20 */ jal music_related_6 -/* 0F5C80 7F0C1150 00000000 */ nop -/* 0F5C84 7F0C1154 10000026 */ b .L7F0C11F0 -/* 0F5C88 7F0C1158 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C115C: -/* 0F5C8C 7F0C115C 2C810007 */ sltiu $at, $a0, 7 -/* 0F5C90 7F0C1160 10200020 */ beqz $at, .L7F0C11E4 -/* 0F5C94 7F0C1164 00045880 */ sll $t3, $a0, 2 -/* 0F5C98 7F0C1168 3C018006 */ lui $at, %hi(jpt_8005B858) -/* 0F5C9C 7F0C116C 002B0821 */ addu $at, $at, $t3 -/* 0F5CA0 7F0C1170 8C2BB858 */ lw $t3, %lo(jpt_8005B858)($at) -/* 0F5CA4 7F0C1174 01600008 */ jr $t3 -/* 0F5CA8 7F0C1178 00000000 */ nop -.L7F0C117C: -/* 0F5CAC 7F0C117C 0C001BF4 */ jal musicTrack1Stop -/* 0F5CB0 7F0C1180 00000000 */ nop -/* 0F5CB4 7F0C1184 0C001CD6 */ jal musicTrack2Stop -/* 0F5CB8 7F0C1188 00000000 */ nop -/* 0F5CBC 7F0C118C 0C001DB8 */ jal musicTrack3Stop -/* 0F5CC0 7F0C1190 00000000 */ nop -/* 0F5CC4 7F0C1194 10000016 */ b .L7F0C11F0 -/* 0F5CC8 7F0C1198 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C119C: -/* 0F5CCC 7F0C119C 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F5CD0 7F0C11A0 00000000 */ nop -/* 0F5CD4 7F0C11A4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0F5CD8 7F0C11A8 44816000 */ mtc1 $at, $f12 -/* 0F5CDC 7F0C11AC 0C001C5A */ jal music_related_3 -/* 0F5CE0 7F0C11B0 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F5CE4 7F0C11B4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0F5CE8 7F0C11B8 44816000 */ mtc1 $at, $f12 -/* 0F5CEC 7F0C11BC 0C001D20 */ jal music_related_6 -/* 0F5CF0 7F0C11C0 00000000 */ nop -/* 0F5CF4 7F0C11C4 1000000A */ b .L7F0C11F0 -/* 0F5CF8 7F0C11C8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C11CC: -/* 0F5CFC 7F0C11CC 3C018002 */ lui $at, %hi(music2_playing) -/* 0F5D00 7F0C11D0 AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 0F5D04 7F0C11D4 0C001C81 */ jal musicTrack2Play -/* 0F5D08 7F0C11D8 2404003A */ li $a0, 58 -/* 0F5D0C 7F0C11DC 10000004 */ b .L7F0C11F0 -/* 0F5D10 7F0C11E0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C11E4: -/* 0F5D14 7F0C11E4 1000FFFF */ b .L7F0C11E4 -/* 0F5D18 7F0C11E8 00000000 */ nop -.L7F0C11EC: -/* 0F5D1C 7F0C11EC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C11F0: -/* 0F5D20 7F0C11F0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F5D24 7F0C11F4 03E00008 */ jr $ra -/* 0F5D28 7F0C11F8 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( - .late_rodata -/*D:8005B790*/ -glabel jpt_8005B790 -.word .Ljp7F0C1904 -.word .Ljp7F0C19D8 -.word .Ljp7F0C1AC8 -.word .Ljp7F0C1B60 -.word .Ljp7F0C1C98 -.word .Ljp7F0C1D64 -.word .Ljp7F0C1E0C - -/*D:8005B7AC*/ -glabel jpt_8005B7AC -.word .Ljp7F0C1924 -.word .Ljp7F0C1944 -.word .Ljp7F0C19D8 -.word .Ljp7F0C19D8 -.word .Ljp7F0C1978 -.word .Ljp7F0C19D8 -.word .Ljp7F0C19D8 - - -/*D:8005B7C8*/ -glabel jpt_8005B7C8 -.word .Ljp7F0C19F8 -.word .Ljp7F0C1AC8 -.word .Ljp7F0C1A18 -.word .Ljp7F0C1A5C -.word .Ljp7F0C1AC8 -.word .Ljp7F0C1AC8 -.word .Ljp7F0C1A94 - -glabel music_rate_8005B7E4 -.word 0x3ca3d70a /*0.02*/ - -/*D:8005B7E8*/ -glabel jpt_8005B7E8 -.word .Ljp7F0C1AE8 -.word .Ljp7F0C1B08 -.word .Ljp7F0C1E9C -.word .Ljp7F0C1B38 -.word .Ljp7F0C1B60 -.word .Ljp7F0C1B60 -.word .Ljp7F0C1B60 - -/*D:8005B804*/ -glabel jpt_8005B804 -.word .Ljp7F0C1B80 -.word .Ljp7F0C1BA0 -.word .Ljp7F0C1BD0 -.word .Ljp7F0C1C98 -.word .Ljp7F0C1C04 -.word .Ljp7F0C1C4C -.word .Ljp7F0C1C98 - -/*D:8005B820*/ -glabel jpt_8005B820 -.word .Ljp7F0C1CB8 -.word .Ljp7F0C1D64 -.word .Ljp7F0C1D64 -.word .Ljp7F0C1CD8 -.word .Ljp7F0C1D64 -.word .Ljp7F0C1D20 -.word .Ljp7F0C1D64 - -/*D:8005B83C*/ -glabel jpt_8005B83C -.word .Ljp7F0C1D84 -.word .Ljp7F0C1E0C -.word .Ljp7F0C1E0C -.word .Ljp7F0C1DA4 -.word .Ljp7F0C1DDC -.word .Ljp7F0C1E0C -.word .Ljp7F0C1E0C - -/*D:8005B858*/ -glabel jpt_8005B858 -.word .Ljp7F0C1E2C -.word .Ljp7F0C1E4C -.word .Ljp7F0C1E94 -.word .Ljp7F0C1E94 -.word .Ljp7F0C1E94 -.word .Ljp7F0C1E94 -.word .Ljp7F0C1E7C - -.text -glabel set_missionstate -/* 0F643C 7F0C18CC 3C038005 */ lui $v1, %hi(mission_state) # $v1, 0x8005 -/* 0F6440 7F0C18D0 246384F0 */ addiu $v1, %lo(mission_state) # addiu $v1, $v1, -0x7b10 -/* 0F6444 7F0C18D4 8C620000 */ lw $v0, ($v1) -/* 0F6448 7F0C18D8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F644C 7F0C18DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6450 7F0C18E0 2C410007 */ sltiu $at, $v0, 7 -/* 0F6454 7F0C18E4 1020016B */ beqz $at, .Ljp7F0C1E94 -/* 0F6458 7F0C18E8 AC640000 */ sw $a0, ($v1) -/* 0F645C 7F0C18EC 00027080 */ sll $t6, $v0, 2 -/* 0F6460 7F0C18F0 3C018006 */ lui $at, %hi(jpt_8005B790) -/* 0F6464 7F0C18F4 002E0821 */ addu $at, $at, $t6 -/* 0F6468 7F0C18F8 8C2EB7D0 */ lw $t6, %lo(jpt_8005B790)($at) -/* 0F646C 7F0C18FC 01C00008 */ jr $t6 -/* 0F6470 7F0C1900 00000000 */ nop -.Ljp7F0C1904: -/* 0F6474 7F0C1904 2C810007 */ sltiu $at, $a0, 7 -/* 0F6478 7F0C1908 10200033 */ beqz $at, .Ljp7F0C19D8 -/* 0F647C 7F0C190C 00047880 */ sll $t7, $a0, 2 -/* 0F6480 7F0C1910 3C018006 */ lui $at, %hi(jpt_8005B7AC) -/* 0F6484 7F0C1914 002F0821 */ addu $at, $at, $t7 -/* 0F6488 7F0C1918 8C2FB7EC */ lw $t7, %lo(jpt_8005B7AC)($at) -/* 0F648C 7F0C191C 01E00008 */ jr $t7 -/* 0F6490 7F0C1920 00000000 */ nop -.Ljp7F0C1924: -/* 0F6494 7F0C1924 0C001BF8 */ jal musicTrack1Stop -/* 0F6498 7F0C1928 00000000 */ nop -/* 0F649C 7F0C192C 0C001CDA */ jal musicTrack2Stop -/* 0F64A0 7F0C1930 00000000 */ nop -/* 0F64A4 7F0C1934 0C001DBC */ jal musicTrack3Stop -/* 0F64A8 7F0C1938 00000000 */ nop -/* 0F64AC 7F0C193C 10000158 */ b .Ljp7F0C1EA0 -/* 0F64B0 7F0C1940 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1944: -/* 0F64B4 7F0C1944 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F64B8 7F0C1948 00000000 */ nop -/* 0F64BC 7F0C194C 0C001C13 */ jal musicTrack1Vol -/* 0F64C0 7F0C1950 3044FFFF */ andi $a0, $v0, 0xffff -/* 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 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 -/* 0F64E0 7F0C1970 1000014B */ b .Ljp7F0C1EA0 -/* 0F64E4 7F0C1974 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1978: -/* 0F64E8 7F0C1978 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F64EC 7F0C197C 00000000 */ nop -/* 0F64F0 7F0C1980 0C001C13 */ jal musicTrack1Vol -/* 0F64F4 7F0C1984 3044FFFF */ andi $a0, $v0, 0xffff -/* 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 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 -/* 0F6514 7F0C19A4 0FC30628 */ jal sub_GAME_7F0C0C10 -/* 0F6518 7F0C19A8 00000000 */ nop -/* 0F651C 7F0C19AC 0C001DD7 */ jal musicTrack3Vol -/* 0F6520 7F0C19B0 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F6524 7F0C19B4 3C018002 */ lui $at, %hi(music3_playing) # $at, 0x8002 -/* 0F6528 7F0C19B8 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009 -/* 0F652C 7F0C19BC AC204394 */ sw $zero, %lo(music3_playing)($at) -/* 0F6530 7F0C19C0 0FC34D4A */ jal sub_GAME_7F0D2848 -/* 0F6534 7F0C19C4 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F6538 7F0C19C8 0C001D67 */ jal music_related_3rd_block -/* 0F653C 7F0C19CC 00402025 */ move $a0, $v0 -/* 0F6540 7F0C19D0 10000133 */ b .Ljp7F0C1EA0 -/* 0F6544 7F0C19D4 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C19D8: -/* 0F6548 7F0C19D8 2C810007 */ sltiu $at, $a0, 7 -/* 0F654C 7F0C19DC 1020003A */ beqz $at, .Ljp7F0C1AC8 -/* 0F6550 7F0C19E0 0004C080 */ sll $t8, $a0, 2 -/* 0F6554 7F0C19E4 3C018006 */ lui $at, %hi(jpt_8005B7C8) -/* 0F6558 7F0C19E8 00380821 */ addu $at, $at, $t8 -/* 0F655C 7F0C19EC 8C38B808 */ lw $t8, %lo(jpt_8005B7C8)($at) -/* 0F6560 7F0C19F0 03000008 */ jr $t8 -/* 0F6564 7F0C19F4 00000000 */ nop -.Ljp7F0C19F8: -/* 0F6568 7F0C19F8 0C001BF8 */ jal musicTrack1Stop -/* 0F656C 7F0C19FC 00000000 */ nop -/* 0F6570 7F0C1A00 0C001CDA */ jal musicTrack2Stop -/* 0F6574 7F0C1A04 00000000 */ nop -/* 0F6578 7F0C1A08 0C001DBC */ jal musicTrack3Stop -/* 0F657C 7F0C1A0C 00000000 */ nop -/* 0F6580 7F0C1A10 10000123 */ b .Ljp7F0C1EA0 -/* 0F6584 7F0C1A14 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1A18: -/* 0F6588 7F0C1A18 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F658C 7F0C1A1C 00000000 */ nop -/* 0F6590 7F0C1A20 0C001CF5 */ jal musicTrack2Vol -/* 0F6594 7F0C1A24 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F6598 7F0C1A28 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F659C 7F0C1A2C 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009 -/* 0F65A0 7F0C1A30 AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F65A4 7F0C1A34 0FC34D5C */ jal sub_GAME_7F0D2890 -/* 0F65A8 7F0C1A38 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F65AC 7F0C1A3C 0C001C85 */ jal musicTrack2Play -/* 0F65B0 7F0C1A40 00402025 */ move $a0, $v0 -/* 0F65B4 7F0C1A44 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F65B8 7F0C1A48 44816000 */ mtc1 $at, $f12 -/* 0F65BC 7F0C1A4C 0C001C42 */ jal music_related_1 -/* 0F65C0 7F0C1A50 00000000 */ nop -/* 0F65C4 7F0C1A54 10000112 */ b .Ljp7F0C1EA0 -/* 0F65C8 7F0C1A58 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1A5C: -/* 0F65CC 7F0C1A5C 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F65D0 7F0C1A60 00000000 */ nop -/* 0F65D4 7F0C1A64 0C001CF5 */ jal musicTrack2Vol -/* 0F65D8 7F0C1A68 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F65DC 7F0C1A6C 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F65E0 7F0C1A70 AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F65E4 7F0C1A74 0C001C85 */ jal musicTrack2Play -/* 0F65E8 7F0C1A78 24040018 */ li $a0, 24 -/* 0F65EC 7F0C1A7C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F65F0 7F0C1A80 44816000 */ mtc1 $at, $f12 -/* 0F65F4 7F0C1A84 0C001C42 */ jal music_related_1 -/* 0F65F8 7F0C1A88 00000000 */ nop -/* 0F65FC 7F0C1A8C 10000104 */ b .Ljp7F0C1EA0 -/* 0F6600 7F0C1A90 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1A94: -/* 0F6604 7F0C1A94 3C018006 */ lui $at, %hi(music_rate_8005B7E4) # $at, 0x8006 -/* 0F6608 7F0C1A98 0C001C42 */ jal music_related_1 -/* 0F660C 7F0C1A9C C42CB824 */ lwc1 $f12, %lo(music_rate_8005B7E4)($at) -/* 0F6610 7F0C1AA0 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F6614 7F0C1AA4 00000000 */ nop -/* 0F6618 7F0C1AA8 0C001CF5 */ jal musicTrack2Vol -/* 0F661C 7F0C1AAC 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F6620 7F0C1AB0 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F6624 7F0C1AB4 AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F6628 7F0C1AB8 0C001C85 */ jal musicTrack2Play -/* 0F662C 7F0C1ABC 2404003A */ li $a0, 58 -/* 0F6630 7F0C1AC0 100000F7 */ b .Ljp7F0C1EA0 -/* 0F6634 7F0C1AC4 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1AC8: -/* 0F6638 7F0C1AC8 2C810007 */ sltiu $at, $a0, 7 -/* 0F663C 7F0C1ACC 10200024 */ beqz $at, .Ljp7F0C1B60 -/* 0F6640 7F0C1AD0 0004C880 */ sll $t9, $a0, 2 -/* 0F6644 7F0C1AD4 3C018006 */ lui $at, 0x8006 -/* 0F6648 7F0C1AD8 00390821 */ addu $at, $at, $t9 -/* 0F664C 7F0C1ADC 8C39B828 */ lw $t9, -0x47d8($at) -/* 0F6650 7F0C1AE0 03200008 */ jr $t9 -/* 0F6654 7F0C1AE4 00000000 */ nop -.Ljp7F0C1AE8: -/* 0F6658 7F0C1AE8 0C001BF8 */ jal musicTrack1Stop -/* 0F665C 7F0C1AEC 00000000 */ nop -/* 0F6660 7F0C1AF0 0C001CDA */ jal musicTrack2Stop -/* 0F6664 7F0C1AF4 00000000 */ nop -/* 0F6668 7F0C1AF8 0C001DBC */ jal musicTrack3Stop -/* 0F666C 7F0C1AFC 00000000 */ nop -/* 0F6670 7F0C1B00 100000E7 */ b .Ljp7F0C1EA0 -/* 0F6674 7F0C1B04 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1B08: -/* 0F6678 7F0C1B08 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F667C 7F0C1B0C 00000000 */ nop -/* 0F6680 7F0C1B10 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F6684 7F0C1B14 44816000 */ mtc1 $at, $f12 -/* 0F6688 7F0C1B18 0C001C5E */ jal music_related_3 -/* 0F668C 7F0C1B1C 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F6690 7F0C1B20 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F6694 7F0C1B24 44816000 */ mtc1 $at, $f12 -/* 0F6698 7F0C1B28 0C001D24 */ jal music_related_6 -/* 0F669C 7F0C1B2C 00000000 */ nop -/* 0F66A0 7F0C1B30 100000DB */ b .Ljp7F0C1EA0 -/* 0F66A4 7F0C1B34 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1B38: -/* 0F66A8 7F0C1B38 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F66AC 7F0C1B3C 00000000 */ nop -/* 0F66B0 7F0C1B40 0C001CF5 */ jal musicTrack2Vol -/* 0F66B4 7F0C1B44 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F66B8 7F0C1B48 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F66BC 7F0C1B4C AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F66C0 7F0C1B50 0C001C85 */ jal musicTrack2Play -/* 0F66C4 7F0C1B54 24040018 */ li $a0, 24 -/* 0F66C8 7F0C1B58 100000D1 */ b .Ljp7F0C1EA0 -/* 0F66CC 7F0C1B5C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1B60: -/* 0F66D0 7F0C1B60 2C810007 */ sltiu $at, $a0, 7 -/* 0F66D4 7F0C1B64 1020004C */ beqz $at, .Ljp7F0C1C98 -/* 0F66D8 7F0C1B68 00044080 */ sll $t0, $a0, 2 -/* 0F66DC 7F0C1B6C 3C018006 */ lui $at, %hi(jpt_8005B804) -/* 0F66E0 7F0C1B70 00280821 */ addu $at, $at, $t0 -/* 0F66E4 7F0C1B74 8C28B844 */ lw $t0, %lo(jpt_8005B804)($at) -/* 0F66E8 7F0C1B78 01000008 */ jr $t0 -/* 0F66EC 7F0C1B7C 00000000 */ nop -.Ljp7F0C1B80: -/* 0F66F0 7F0C1B80 0C001BF8 */ jal musicTrack1Stop -/* 0F66F4 7F0C1B84 00000000 */ nop -/* 0F66F8 7F0C1B88 0C001CDA */ jal musicTrack2Stop -/* 0F66FC 7F0C1B8C 00000000 */ nop -/* 0F6700 7F0C1B90 0C001DBC */ jal musicTrack3Stop -/* 0F6704 7F0C1B94 00000000 */ nop -/* 0F6708 7F0C1B98 100000C1 */ b .Ljp7F0C1EA0 -/* 0F670C 7F0C1B9C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1BA0: -/* 0F6710 7F0C1BA0 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F6714 7F0C1BA4 00000000 */ nop -/* 0F6718 7F0C1BA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F671C 7F0C1BAC 44816000 */ mtc1 $at, $f12 -/* 0F6720 7F0C1BB0 0C001C5E */ jal music_related_3 -/* 0F6724 7F0C1BB4 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F6728 7F0C1BB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F672C 7F0C1BBC 44816000 */ mtc1 $at, $f12 -/* 0F6730 7F0C1BC0 0C001D24 */ jal music_related_6 -/* 0F6734 7F0C1BC4 00000000 */ nop -/* 0F6738 7F0C1BC8 100000B5 */ b .Ljp7F0C1EA0 -/* 0F673C 7F0C1BCC 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1BD0: -/* 0F6740 7F0C1BD0 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F6744 7F0C1BD4 00000000 */ nop -/* 0F6748 7F0C1BD8 0C001CF5 */ jal musicTrack2Vol -/* 0F674C 7F0C1BDC 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F6750 7F0C1BE0 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F6754 7F0C1BE4 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009 -/* 0F6758 7F0C1BE8 AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F675C 7F0C1BEC 0FC34D5C */ jal sub_GAME_7F0D2890 -/* 0F6760 7F0C1BF0 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F6764 7F0C1BF4 0C001C85 */ jal musicTrack2Play -/* 0F6768 7F0C1BF8 00402025 */ move $a0, $v0 -/* 0F676C 7F0C1BFC 100000A8 */ b .Ljp7F0C1EA0 -/* 0F6770 7F0C1C00 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1C04: -/* 0F6774 7F0C1C04 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F6778 7F0C1C08 00000000 */ nop -/* 0F677C 7F0C1C0C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F6780 7F0C1C10 44816000 */ mtc1 $at, $f12 -/* 0F6784 7F0C1C14 0C001C5E */ jal music_related_3 -/* 0F6788 7F0C1C18 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F678C 7F0C1C1C 0FC30628 */ jal sub_GAME_7F0C0C10 -/* 0F6790 7F0C1C20 00000000 */ nop -/* 0F6794 7F0C1C24 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F6798 7F0C1C28 44816000 */ mtc1 $at, $f12 -/* 0F679C 7F0C1C2C 0C001E22 */ jal music_related_13 -/* 0F67A0 7F0C1C30 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F67A4 7F0C1C34 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F67A8 7F0C1C38 44816000 */ mtc1 $at, $f12 -/* 0F67AC 7F0C1C3C 0C001D24 */ jal music_related_6 -/* 0F67B0 7F0C1C40 00000000 */ nop -/* 0F67B4 7F0C1C44 10000096 */ b .Ljp7F0C1EA0 -/* 0F67B8 7F0C1C48 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1C4C: -/* 0F67BC 7F0C1C4C 0FC30628 */ jal sub_GAME_7F0C0C10 -/* 0F67C0 7F0C1C50 00000000 */ nop -/* 0F67C4 7F0C1C54 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F67C8 7F0C1C58 44816000 */ mtc1 $at, $f12 -/* 0F67CC 7F0C1C5C 0C001E22 */ jal music_related_13 -/* 0F67D0 7F0C1C60 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F67D4 7F0C1C64 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F67D8 7F0C1C68 00000000 */ nop -/* 0F67DC 7F0C1C6C 0C001CF5 */ jal musicTrack2Vol -/* 0F67E0 7F0C1C70 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F67E4 7F0C1C74 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F67E8 7F0C1C78 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009 -/* 0F67EC 7F0C1C7C AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F67F0 7F0C1C80 0FC34D5C */ jal sub_GAME_7F0D2890 -/* 0F67F4 7F0C1C84 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F67F8 7F0C1C88 0C001C85 */ jal musicTrack2Play -/* 0F67FC 7F0C1C8C 00402025 */ move $a0, $v0 -/* 0F6800 7F0C1C90 10000083 */ b .Ljp7F0C1EA0 -/* 0F6804 7F0C1C94 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1C98: -/* 0F6808 7F0C1C98 2C810007 */ sltiu $at, $a0, 7 -/* 0F680C 7F0C1C9C 10200031 */ beqz $at, .Ljp7F0C1D64 -/* 0F6810 7F0C1CA0 00044880 */ sll $t1, $a0, 2 -/* 0F6814 7F0C1CA4 3C018006 */ lui $at, 0x8006 -/* 0F6818 7F0C1CA8 00290821 */ addu $at, $at, $t1 -/* 0F681C 7F0C1CAC 8C29B860 */ lw $t1, -0x47a0($at) -/* 0F6820 7F0C1CB0 01200008 */ jr $t1 -/* 0F6824 7F0C1CB4 00000000 */ nop -.Ljp7F0C1CB8: -/* 0F6828 7F0C1CB8 0C001BF8 */ jal musicTrack1Stop -/* 0F682C 7F0C1CBC 00000000 */ nop -/* 0F6830 7F0C1CC0 0C001CDA */ jal musicTrack2Stop -/* 0F6834 7F0C1CC4 00000000 */ nop -/* 0F6838 7F0C1CC8 0C001DBC */ jal musicTrack3Stop -/* 0F683C 7F0C1CCC 00000000 */ nop -/* 0F6840 7F0C1CD0 10000073 */ b .Ljp7F0C1EA0 -/* 0F6844 7F0C1CD4 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1CD8: -/* 0F6848 7F0C1CD8 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F684C 7F0C1CDC 00000000 */ nop -/* 0F6850 7F0C1CE0 0C001CF5 */ jal musicTrack2Vol -/* 0F6854 7F0C1CE4 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F6858 7F0C1CE8 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F685C 7F0C1CEC AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F6860 7F0C1CF0 0C001C85 */ jal musicTrack2Play -/* 0F6864 7F0C1CF4 24040018 */ li $a0, 24 -/* 0F6868 7F0C1CF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F686C 7F0C1CFC 44816000 */ mtc1 $at, $f12 -/* 0F6870 7F0C1D00 0C001C42 */ jal music_related_1 -/* 0F6874 7F0C1D04 00000000 */ nop -/* 0F6878 7F0C1D08 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F687C 7F0C1D0C 44816000 */ mtc1 $at, $f12 -/* 0F6880 7F0C1D10 0C001E06 */ jal music_related_11 -/* 0F6884 7F0C1D14 00000000 */ nop -/* 0F6888 7F0C1D18 10000061 */ b .Ljp7F0C1EA0 -/* 0F688C 7F0C1D1C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1D20: -/* 0F6890 7F0C1D20 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F6894 7F0C1D24 00000000 */ nop -/* 0F6898 7F0C1D28 0C001CF5 */ jal musicTrack2Vol -/* 0F689C 7F0C1D2C 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F68A0 7F0C1D30 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F68A4 7F0C1D34 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009 -/* 0F68A8 7F0C1D38 AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F68AC 7F0C1D3C 0FC34D5C */ jal sub_GAME_7F0D2890 -/* 0F68B0 7F0C1D40 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) -/* 0F68B4 7F0C1D44 0C001C85 */ jal musicTrack2Play -/* 0F68B8 7F0C1D48 00402025 */ move $a0, $v0 -/* 0F68BC 7F0C1D4C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F68C0 7F0C1D50 44816000 */ mtc1 $at, $f12 -/* 0F68C4 7F0C1D54 0C001C42 */ jal music_related_1 -/* 0F68C8 7F0C1D58 00000000 */ nop -/* 0F68CC 7F0C1D5C 10000050 */ b .Ljp7F0C1EA0 -/* 0F68D0 7F0C1D60 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1D64: -/* 0F68D4 7F0C1D64 2C810007 */ sltiu $at, $a0, 7 -/* 0F68D8 7F0C1D68 10200028 */ beqz $at, .Ljp7F0C1E0C -/* 0F68DC 7F0C1D6C 00045080 */ sll $t2, $a0, 2 -/* 0F68E0 7F0C1D70 3C018006 */ lui $at, %hi(jpt_8005B83C) -/* 0F68E4 7F0C1D74 002A0821 */ addu $at, $at, $t2 -/* 0F68E8 7F0C1D78 8C2AB87C */ lw $t2, %lo(jpt_8005B83C)($at) -/* 0F68EC 7F0C1D7C 01400008 */ jr $t2 -/* 0F68F0 7F0C1D80 00000000 */ nop -.Ljp7F0C1D84: -/* 0F68F4 7F0C1D84 0C001BF8 */ jal musicTrack1Stop -/* 0F68F8 7F0C1D88 00000000 */ nop -/* 0F68FC 7F0C1D8C 0C001CDA */ jal musicTrack2Stop -/* 0F6900 7F0C1D90 00000000 */ nop -/* 0F6904 7F0C1D94 0C001DBC */ jal musicTrack3Stop -/* 0F6908 7F0C1D98 00000000 */ nop -/* 0F690C 7F0C1D9C 10000040 */ b .Ljp7F0C1EA0 -/* 0F6910 7F0C1DA0 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1DA4: -/* 0F6914 7F0C1DA4 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F6918 7F0C1DA8 00000000 */ nop -/* 0F691C 7F0C1DAC 0C001CF5 */ jal musicTrack2Vol -/* 0F6920 7F0C1DB0 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F6924 7F0C1DB4 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F6928 7F0C1DB8 AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F692C 7F0C1DBC 0C001C85 */ jal musicTrack2Play -/* 0F6930 7F0C1DC0 24040018 */ li $a0, 24 -/* 0F6934 7F0C1DC4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F6938 7F0C1DC8 44816000 */ mtc1 $at, $f12 -/* 0F693C 7F0C1DCC 0C001E06 */ jal music_related_11 -/* 0F6940 7F0C1DD0 00000000 */ nop -/* 0F6944 7F0C1DD4 10000032 */ b .Ljp7F0C1EA0 -/* 0F6948 7F0C1DD8 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1DDC: -/* 0F694C 7F0C1DDC 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F6950 7F0C1DE0 00000000 */ nop -/* 0F6954 7F0C1DE4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F6958 7F0C1DE8 44816000 */ mtc1 $at, $f12 -/* 0F695C 7F0C1DEC 0C001C5E */ jal music_related_3 -/* 0F6960 7F0C1DF0 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F6964 7F0C1DF4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0F6968 7F0C1DF8 44816000 */ mtc1 $at, $f12 -/* 0F696C 7F0C1DFC 0C001D24 */ jal music_related_6 -/* 0F6970 7F0C1E00 00000000 */ nop -/* 0F6974 7F0C1E04 10000026 */ b .Ljp7F0C1EA0 -/* 0F6978 7F0C1E08 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1E0C: -/* 0F697C 7F0C1E0C 2C810007 */ sltiu $at, $a0, 7 -/* 0F6980 7F0C1E10 10200020 */ beqz $at, .Ljp7F0C1E94 -/* 0F6984 7F0C1E14 00045880 */ sll $t3, $a0, 2 -/* 0F6988 7F0C1E18 3C018006 */ lui $at, %hi(jpt_8005B858) -/* 0F698C 7F0C1E1C 002B0821 */ addu $at, $at, $t3 -/* 0F6990 7F0C1E20 8C2BB898 */ lw $t3, %lo(jpt_8005B858)($at) -/* 0F6994 7F0C1E24 01600008 */ jr $t3 -/* 0F6998 7F0C1E28 00000000 */ nop -.Ljp7F0C1E2C: -/* 0F699C 7F0C1E2C 0C001BF8 */ jal musicTrack1Stop -/* 0F69A0 7F0C1E30 00000000 */ nop -/* 0F69A4 7F0C1E34 0C001CDA */ jal musicTrack2Stop -/* 0F69A8 7F0C1E38 00000000 */ nop -/* 0F69AC 7F0C1E3C 0C001DBC */ jal musicTrack3Stop -/* 0F69B0 7F0C1E40 00000000 */ nop -/* 0F69B4 7F0C1E44 10000016 */ b .Ljp7F0C1EA0 -/* 0F69B8 7F0C1E48 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1E4C: -/* 0F69BC 7F0C1E4C 0FC30620 */ jal sub_GAME_7F0C0BF0 -/* 0F69C0 7F0C1E50 00000000 */ nop -/* 0F69C4 7F0C1E54 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0F69C8 7F0C1E58 44816000 */ mtc1 $at, $f12 -/* 0F69CC 7F0C1E5C 0C001C5E */ jal music_related_3 -/* 0F69D0 7F0C1E60 3045FFFF */ andi $a1, $v0, 0xffff -/* 0F69D4 7F0C1E64 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0F69D8 7F0C1E68 44816000 */ mtc1 $at, $f12 -/* 0F69DC 7F0C1E6C 0C001D24 */ jal music_related_6 -/* 0F69E0 7F0C1E70 00000000 */ nop -/* 0F69E4 7F0C1E74 1000000A */ b .Ljp7F0C1EA0 -/* 0F69E8 7F0C1E78 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1E7C: -/* 0F69EC 7F0C1E7C 3C018002 */ lui $at, %hi(music2_playing) # $at, 0x8002 -/* 0F69F0 7F0C1E80 AC204390 */ sw $zero, %lo(music2_playing)($at) -/* 0F69F4 7F0C1E84 0C001C85 */ jal musicTrack2Play -/* 0F69F8 7F0C1E88 2404003A */ li $a0, 58 -/* 0F69FC 7F0C1E8C 10000004 */ b .Ljp7F0C1EA0 -/* 0F6A00 7F0C1E90 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1E94: -/* 0F6A04 7F0C1E94 1000FFFF */ b .Ljp7F0C1E94 -/* 0F6A08 7F0C1E98 00000000 */ nop -.Ljp7F0C1E9C: -/* 0F6A0C 7F0C1E9C 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0C1EA0: -/* 0F6A10 7F0C1EA0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F6A14 7F0C1EA4 03E00008 */ jr $ra -/* 0F6A18 7F0C1EA8 00000000 */ nop -) -#endif - -#endif - - - -#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( -.text -glabel sub_GAME_7F0C11FC -/* 0F5D2C 7F0C11FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F5D30 7F0C1200 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F5D34 7F0C1204 0C001BF4 */ jal musicTrack1Stop -/* 0F5D38 7F0C1208 AFA40018 */ sw $a0, 0x18($sp) -/* 0F5D3C 7F0C120C 0C001CD6 */ jal musicTrack2Stop -/* 0F5D40 7F0C1210 00000000 */ nop -/* 0F5D44 7F0C1214 0C001DB8 */ jal musicTrack3Stop -/* 0F5D48 7F0C1218 00000000 */ nop -/* 0F5D4C 7F0C121C 8FA40018 */ lw $a0, 0x18($sp) -/* 0F5D50 7F0C1220 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008C600) -/* 0F5D54 7F0C1224 3C018005 */ lui $at, %hi(mission_state) -/* 0F5D58 7F0C1228 2442C600 */ addiu $v0, %lo(dword_CODE_bss_8008C600) # addiu $v0, $v0, -0x3a00 -/* 0F5D5C 7F0C122C AC2084C0 */ sw $zero, %lo(mission_state)($at) -/* 0F5D60 7F0C1230 0FC34A12 */ jal sub_GAME_7F0D2848 -/* 0F5D64 7F0C1234 AC440000 */ sw $a0, ($v0) -/* 0F5D68 7F0C1238 04410005 */ bgez $v0, .L7F0C1250 -/* 0F5D6C 7F0C123C 00000000 */ nop -/* 0F5D70 7F0C1240 0FC3030F */ jal set_missionstate -/* 0F5D74 7F0C1244 24040001 */ li $a0, 1 -/* 0F5D78 7F0C1248 10000004 */ b .L7F0C125C -/* 0F5D7C 7F0C124C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C1250: -/* 0F5D80 7F0C1250 0FC3030F */ jal set_missionstate -/* 0F5D84 7F0C1254 24040004 */ li $a0, 4 -/* 0F5D88 7F0C1258 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C125C: -/* 0F5D8C 7F0C125C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F5D90 7F0C1260 03E00008 */ jr $ra -/* 0F5D94 7F0C1264 00000000 */ nop -) -#endif - - - - - -void sub_GAME_7F0C1268(void) -{ - set_missionstate(0); -} - -void sub_GAME_7F0C1288(void) -{ - if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0) - { - set_missionstate(2); - } - else - { - set_missionstate(5); - } -} - -void sub_GAME_7F0C12CC(void) -{ - if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0) - { - set_missionstate(1); - } - else - { - set_missionstate(4); - } -} - -void sub_GAME_7F0C1310(void) -{ - dword_CODE_bss_8008C604 = mission_state; - set_missionstate(3); -} - -void sub_GAME_7F0C1340(void) -{ - set_missionstate(dword_CODE_bss_8008C604); -} - -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; -} - - - - - - -#ifdef NONMATCHING -void reset_all_music_slots(void) { - -} -#else -GLOBAL_ASM( -.text -glabel reset_all_music_slots -/* 0F5EF8 7F0C13C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 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(music_slot_seconds_0) -/* 0F5F0C 7F0C13DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0F5F10 7F0C13E0 00005025 */ move $t2, $zero -/* 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(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) -/* 0F5F2C 7F0C13FC 54A00005 */ bnezl $a1, .L7F0C1414 -/* 0F5F30 7F0C1400 8C820000 */ lw $v0, ($a0) -/* 0F5F34 7F0C1404 8C8E0000 */ lw $t6, ($a0) -/* 0F5F38 7F0C1408 59C0001F */ blezl $t6, .L7F0C1488 -/* 0F5F3C 7F0C140C 24840004 */ addiu $a0, $a0, 4 -/* 0F5F40 7F0C1410 8C820000 */ lw $v0, ($a0) -.L7F0C1414: -/* 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 -/* 0F5F58 7F0C1428 0046C023 */ subu $t8, $v0, $a2 -/* 0F5F5C 7F0C142C 10000002 */ b .L7F0C1438 -/* 0F5F60 7F0C1430 AC980000 */ sw $t8, ($a0) -.L7F0C1434: -/* 0F5F64 7F0C1434 AC800000 */ sw $zero, ($a0) -.L7F0C1438: -/* 0F5F68 7F0C1438 8C620000 */ lw $v0, ($v1) -/* 0F5F6C 7F0C143C 10400011 */ beqz $v0, .L7F0C1484 -/* 0F5F70 7F0C1440 0046082A */ slt $at, $v0, $a2 -/* 0F5F74 7F0C1444 14200003 */ bnez $at, .L7F0C1454 -/* 0F5F78 7F0C1448 0046C823 */ subu $t9, $v0, $a2 -/* 0F5F7C 7F0C144C 10000002 */ b .L7F0C1458 -/* 0F5F80 7F0C1450 AC790000 */ sw $t9, ($v1) -.L7F0C1454: -/* 0F5F84 7F0C1454 AC600000 */ sw $zero, ($v1) -.L7F0C1458: -/* 0F5F88 7F0C1458 8C6B0000 */ lw $t3, ($v1) -/* 0F5F8C 7F0C145C 51600009 */ beql $t3, $zero, .L7F0C1484 -/* 0F5F90 7F0C1460 ACE00000 */ sw $zero, ($a3) -/* 0F5F94 7F0C1464 14A00004 */ bnez $a1, .L7F0C1478 -/* 0F5F98 7F0C1468 00000000 */ nop -/* 0F5F9C 7F0C146C 8C8C0000 */ lw $t4, ($a0) -/* 0F5FA0 7F0C1470 51800005 */ beql $t4, $zero, .L7F0C1488 -/* 0F5FA4 7F0C1474 24840004 */ addiu $a0, $a0, 4 -.L7F0C1478: -/* 0F5FA8 7F0C1478 10000002 */ b .L7F0C1484 -/* 0F5FAC 7F0C147C 240A0001 */ li $t2, 1 -/* 0F5FB0 7F0C1480 ACE00000 */ sw $zero, ($a3) -.L7F0C1484: -/* 0F5FB4 7F0C1484 24840004 */ addiu $a0, $a0, 4 -.L7F0C1488: -/* 0F5FB8 7F0C1488 25080004 */ addiu $t0, $t0, 4 -/* 0F5FBC 7F0C148C 1489FFDA */ bne $a0, $t1, .L7F0C13F8 -/* 0F5FC0 7F0C1490 24E70004 */ addiu $a3, $a3, 4 -/* 0F5FC4 7F0C1494 50C00016 */ beql $a2, $zero, .L7F0C14F0 -/* 0F5FC8 7F0C1498 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F5FCC 7F0C149C 0FC3030C */ jal get_mission_state -/* 0F5FD0 7F0C14A0 AFAA0018 */ sw $t2, 0x18($sp) -/* 0F5FD4 7F0C14A4 24010002 */ li $at, 2 -/* 0F5FD8 7F0C14A8 10410006 */ beq $v0, $at, .L7F0C14C4 -/* 0F5FDC 7F0C14AC 8FAA0018 */ lw $t2, 0x18($sp) -/* 0F5FE0 7F0C14B0 0FC3030C */ jal get_mission_state -/* 0F5FE4 7F0C14B4 AFAA0018 */ sw $t2, 0x18($sp) -/* 0F5FE8 7F0C14B8 24010005 */ li $at, 5 -/* 0F5FEC 7F0C14BC 14410007 */ bne $v0, $at, .L7F0C14DC -/* 0F5FF0 7F0C14C0 8FAA0018 */ lw $t2, 0x18($sp) -.L7F0C14C4: -/* 0F5FF4 7F0C14C4 5540000A */ bnezl $t2, .L7F0C14F0 -/* 0F5FF8 7F0C14C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F5FFC 7F0C14CC 0FC304B3 */ jal sub_GAME_7F0C12CC -/* 0F6000 7F0C14D0 00000000 */ nop -/* 0F6004 7F0C14D4 10000006 */ b .L7F0C14F0 -/* 0F6008 7F0C14D8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C14DC: -/* 0F600C 7F0C14DC 51400004 */ beql $t2, $zero, .L7F0C14F0 -/* 0F6010 7F0C14E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6014 7F0C14E4 0FC304A2 */ jal sub_GAME_7F0C1288 -/* 0F6018 7F0C14E8 00000000 */ nop -/* 0F601C 7F0C14EC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C14F0: -/* 0F6020 7F0C14F0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F6024 7F0C14F4 03E00008 */ jr $ra -/* 0F6028 7F0C14F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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(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) -/* 0F6040 7F0C1510 2404003C */ li $a0, 60 -/* 0F6044 7F0C1514 15E0000E */ bnez $t7, .L7F0C1550 -/* 0F6048 7F0C1518 00000000 */ nop -/* 0F604C 7F0C151C 00A40019 */ multu $a1, $a0 -/* 0F6050 7F0C1520 24180001 */ li $t8, 1 -/* 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(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(music_slot_seconds_0)($at) -/* 0F607C 7F0C154C 00000000 */ nop -.L7F0C1550: -/* 0F6080 7F0C1550 03E00008 */ jr $ra -/* 0F6084 7F0C1554 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void reset_music_in_slot(int lParm1) -{ - if (-1 < lParm1) { - (&music_slot_active_0)[(int)lParm1] = 0; - return; - } - 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 -GLOBAL_ASM( -.text -glabel reset_music_in_slot -/* 0F6088 7F0C1558 04800006 */ bltz $a0, .L7F0C1574 -/* 0F608C 7F0C155C 3C018009 */ lui $at, %hi(music_slot_active_0) -/* 0F6090 7F0C1560 00047080 */ sll $t6, $a0, 2 -/* 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(music_slot_active_0)($at) - -.L7F0C1574: -/* 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 -) -#endif - - - diff --git a/src/game/mp_watch.c b/src/game/mp_watch.c deleted file mode 100644 index 153e256..0000000 --- a/src/game/mp_watch.c +++ /dev/null @@ -1,7274 +0,0 @@ -#include "ultra64.h" -#include "game/unk_0C0A70.h" -#include "music.h" -#include "bondgame.h" - - -// bss -s32 stop_play_flag; -s32 is_gameover_flag; -s32 dword_CODE_bss_8008C708; -s32 dword_CODE_bss_8008C70C; -s32 time_trigger_alt_gameover_msg; -s32 dword_CODE_bss_8008C714; -s32 is_paused; -s32 who_paused; - -// data -u16 loaded_text_index[] = { - TEXT(LMPMENU,0),TEXT(LMPMENU,1),TEXT(LMPMENU,2),TEXT(LMPMENU,3),TEXT(LMPMENU,4),TEXT(LMPMENU,5), - TEXT(LMPMENU,6),TEXT(LMPMENU,7),TEXT(LMPMENU,8),TEXT(LMPMENU,9),TEXT(LMPMENU,0xA),TEXT(LMPMENU,0xB), - TEXT(LMPMENU,0xC),TEXT(LMPMENU,0xD),TEXT(LMPMENU,0xE),TEXT(LMPMENU,0xF),TEXT(LMPMENU,0x10) -}; - -//rodata -/*8005BC20*/ -const char ascii_MP_watch_menu_percentd[] = "%d"; -const char ascii_MP_watch_menu_BLANK[] = ""; -const char ascii_MP_watch_menu_left_chevron[] = "<"; -const char ascii_MP_watch_menu_right_chevron[] = ">"; -const char ascii_pnum_KILLS[] = "%s%d %s"; -const char ascii_pnum_LOSSES[] = "%s%d %s"; - -// rodata - - -#ifdef NONMATCHING -u32 check_can_advance_right_on_mpmenu(void) { - switch(pPlayer->mpmenumode) { - case 0: - return 1; - case 1: - return 1; - case 2: - return 1; - case 3: - if (is_gameover_flag == 0) { - return 1; - } - return 0; - case 4: - return 1; - case 5: - return 0; - case 6: - return 0; - case 7: - return 0; - default: - return 0; - } -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BC40*/ -glabel jpt_MP_menu_page_adv_right -.word page_adv_right_yes -.word page_adv_right_yes -.word page_adv_right_yes -.word page_adv_right_gameover -.word page_adv_right_yes -.word page_adv_right_no -.word page_adv_right_no -.word page_adv_right_no -.text -glabel check_can_advance_right_on_mpmenu -/* 0F6950 7F0C1E20 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0F6954 7F0C1E24 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0F6958 7F0C1E28 00001025 */ move $v0, $zero -/* 0F695C 7F0C1E2C 8DCF29C8 */ lw $t7, 0x29c8($t6) -/* 0F6960 7F0C1E30 2DE10008 */ sltiu $at, $t7, 8 -/* 0F6964 7F0C1E34 10200013 */ beqz $at, .L7F0C1E84 -/* 0F6968 7F0C1E38 000F7880 */ sll $t7, $t7, 2 -/* 0F696C 7F0C1E3C 3C018006 */ lui $at, %hi(jpt_MP_menu_page_adv_right) -/* 0F6970 7F0C1E40 002F0821 */ addu $at, $at, $t7 -/* 0F6974 7F0C1E44 8C2FBC40 */ lw $t7, %lo(jpt_MP_menu_page_adv_right)($at) -/* 0F6978 7F0C1E48 01E00008 */ jr $t7 -/* 0F697C 7F0C1E4C 00000000 */ nop -page_adv_right_yes: -/* 0F6980 7F0C1E50 03E00008 */ jr $ra -/* 0F6984 7F0C1E54 24020001 */ li $v0, 1 - -page_adv_right_no: -/* 0F6988 7F0C1E58 03E00008 */ jr $ra -/* 0F698C 7F0C1E5C 00001025 */ move $v0, $zero - -page_adv_right_gameover: -/* 0F6990 7F0C1E60 3C188009 */ lui $t8, %hi(is_gameover_flag) -/* 0F6994 7F0C1E64 8F18C704 */ lw $t8, %lo(is_gameover_flag)($t8) -/* 0F6998 7F0C1E68 24030001 */ li $v1, 1 -/* 0F699C 7F0C1E6C 13000003 */ beqz $t8, .L7F0C1E7C -/* 0F69A0 7F0C1E70 00000000 */ nop -/* 0F69A4 7F0C1E74 03E00008 */ jr $ra -/* 0F69A8 7F0C1E78 00001025 */ move $v0, $zero - -.L7F0C1E7C: -/* 0F69AC 7F0C1E7C 03E00008 */ jr $ra -/* 0F69B0 7F0C1E80 00601025 */ move $v0, $v1 - -.L7F0C1E84: -/* 0F69B4 7F0C1E84 03E00008 */ jr $ra -/* 0F69B8 7F0C1E88 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -u32 check_can_advance_left_on_mpmenu(void) { - switch(pPlayer->mpmenumode) { - case 0: - return 0; - case 1: - if (is_gameover_flag == 0) { - return 0; - } - return 1; - case 2: - return 1; - case 3: - return 1; - case 4: - return 1; - case 5: - return 1; - case 6: - return 0; - case 7: - return 0; - default: - return 0; - } -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BC60*/ -glabel jpt_MP_menu_page_adv_left -.word page_adv_left_no -.word page_adv_left_gameover -.word page_adv_left_yes -.word page_adv_left_yes -.word page_adv_left_yes -.word page_adv_left_yes -.word page_adv_left_no -.word page_adv_left_no - -.text -glabel check_can_advance_left_on_mpmenu -/* 0F69BC 7F0C1E8C 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0F69C0 7F0C1E90 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0F69C4 7F0C1E94 00001025 */ move $v0, $zero -/* 0F69C8 7F0C1E98 8DCF29C8 */ lw $t7, 0x29c8($t6) -/* 0F69CC 7F0C1E9C 2DE10008 */ sltiu $at, $t7, 8 -/* 0F69D0 7F0C1EA0 10200013 */ beqz $at, .L7F0C1EF0 -/* 0F69D4 7F0C1EA4 000F7880 */ sll $t7, $t7, 2 -/* 0F69D8 7F0C1EA8 3C018006 */ lui $at, %hi(jpt_MP_menu_page_adv_left) -/* 0F69DC 7F0C1EAC 002F0821 */ addu $at, $at, $t7 -/* 0F69E0 7F0C1EB0 8C2FBC60 */ lw $t7, %lo(jpt_MP_menu_page_adv_left)($at) -/* 0F69E4 7F0C1EB4 01E00008 */ jr $t7 -/* 0F69E8 7F0C1EB8 00000000 */ nop -page_adv_left_yes: -/* 0F69EC 7F0C1EBC 03E00008 */ jr $ra -/* 0F69F0 7F0C1EC0 24020001 */ li $v0, 1 - -page_adv_left_no: -/* 0F69F4 7F0C1EC4 03E00008 */ jr $ra -/* 0F69F8 7F0C1EC8 00001025 */ move $v0, $zero - -page_adv_left_gameover: -/* 0F69FC 7F0C1ECC 3C188009 */ lui $t8, %hi(is_gameover_flag) -/* 0F6A00 7F0C1ED0 8F18C704 */ lw $t8, %lo(is_gameover_flag)($t8) -/* 0F6A04 7F0C1ED4 00001825 */ move $v1, $zero -/* 0F6A08 7F0C1ED8 13000003 */ beqz $t8, .L7F0C1EE8 -/* 0F6A0C 7F0C1EDC 00000000 */ nop -/* 0F6A10 7F0C1EE0 03E00008 */ jr $ra -/* 0F6A14 7F0C1EE4 24020001 */ li $v0, 1 - -.L7F0C1EE8: -/* 0F6A18 7F0C1EE8 03E00008 */ jr $ra -/* 0F6A1C 7F0C1EEC 00601025 */ move $v0, $v1 - -def_7F0C1EB4: -.L7F0C1EF0: -/* 0F6A20 7F0C1EF0 03E00008 */ jr $ra -/* 0F6A24 7F0C1EF4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_player_is_pressing_anything_right(s32 arg0) { - s32 sp18; - s32 sp1C; - s32 temp_t6; - ? temp_ret; - - // Node 0 - temp_t6 = ((s32) (arg0 << 0x18) >> 0x18); - sp18 = temp_t6; - sp1C = get_controller_3dstick_L_R(temp_t6, -2, 1); - temp_ret = get_controller_buttons_pressed(sp18, 0x101); - if ((temp_ret == 0) && (sp1C > 0)) - { - // Node 2 - if (pPlayer->unk29D0 != 0) - { - // Node 3 - } - } - else - { - // Node 3 - } - // Node 4 - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel check_if_player_is_pressing_anything_right -/* 0F6A28 7F0C1EF8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F6A2C 7F0C1EFC 00042600 */ sll $a0, $a0, 0x18 -/* 0F6A30 7F0C1F00 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6A34 7F0C1F04 00047603 */ sra $t6, $a0, 0x18 -/* 0F6A38 7F0C1F08 01C02025 */ move $a0, $t6 -/* 0F6A3C 7F0C1F0C AFAE0018 */ sw $t6, 0x18($sp) -/* 0F6A40 7F0C1F10 2405FFFE */ li $a1, -2 -/* 0F6A44 7F0C1F14 0C00312D */ jal get_controller_3dstick_L_R -/* 0F6A48 7F0C1F18 24060001 */ li $a2, 1 -/* 0F6A4C 7F0C1F1C 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6A50 7F0C1F20 AFA2001C */ sw $v0, 0x1c($sp) -/* 0F6A54 7F0C1F24 0C0030EB */ jal get_controller_buttons_pressed -/* 0F6A58 7F0C1F28 24050101 */ li $a1, 257 -/* 0F6A5C 7F0C1F2C 1440000A */ bnez $v0, .L7F0C1F58 -/* 0F6A60 7F0C1F30 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6A64 7F0C1F34 8FAF001C */ lw $t7, 0x1c($sp) -/* 0F6A68 7F0C1F38 3C188008 */ lui $t8, %hi(pPlayer) -/* 0F6A6C 7F0C1F3C 00001025 */ move $v0, $zero -/* 0F6A70 7F0C1F40 19E00007 */ blez $t7, .L7F0C1F60 -/* 0F6A74 7F0C1F44 00000000 */ nop -/* 0F6A78 7F0C1F48 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0F6A7C 7F0C1F4C 8F1929D0 */ lw $t9, 0x29d0($t8) -/* 0F6A80 7F0C1F50 13200003 */ beqz $t9, .L7F0C1F60 -/* 0F6A84 7F0C1F54 00000000 */ nop -.L7F0C1F58: -/* 0F6A88 7F0C1F58 10000001 */ b .L7F0C1F60 -/* 0F6A8C 7F0C1F5C 24020001 */ li $v0, 1 -.L7F0C1F60: -/* 0F6A90 7F0C1F60 03E00008 */ jr $ra -/* 0F6A94 7F0C1F64 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_player_is_pressing_anything_left(s32 arg0) { - s32 sp18; - s32 sp1C; - s32 temp_t6; - - // Node 0 - temp_t6 = ((s32) (arg0 << 0x18) >> 0x18); - sp18 = temp_t6; - sp1C = get_controller_3dstick_L_R(temp_t6, -2, 1); - if ((get_controller_buttons_pressed(sp18, 0x202) == 0) && (sp1C < -1)) - { - // Node 2 - if (pPlayer->unk29D0 != 0) - { - // Node 3 - return; - // (possible return value: 1) - } - } - else - { - // Node 3 - return; - // (possible return value: 1) - } - // (possible return value: 1) -} - -#else -GLOBAL_ASM( -.text -glabel check_if_player_is_pressing_anything_left -/* 0F6A98 7F0C1F68 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F6A9C 7F0C1F6C 00042600 */ sll $a0, $a0, 0x18 -/* 0F6AA0 7F0C1F70 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6AA4 7F0C1F74 00047603 */ sra $t6, $a0, 0x18 -/* 0F6AA8 7F0C1F78 01C02025 */ move $a0, $t6 -/* 0F6AAC 7F0C1F7C AFAE0018 */ sw $t6, 0x18($sp) -/* 0F6AB0 7F0C1F80 2405FFFE */ li $a1, -2 -/* 0F6AB4 7F0C1F84 0C00312D */ jal get_controller_3dstick_L_R -/* 0F6AB8 7F0C1F88 24060001 */ li $a2, 1 -/* 0F6ABC 7F0C1F8C 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6AC0 7F0C1F90 AFA2001C */ sw $v0, 0x1c($sp) -/* 0F6AC4 7F0C1F94 0C0030EB */ jal get_controller_buttons_pressed -/* 0F6AC8 7F0C1F98 24050202 */ li $a1, 514 -/* 0F6ACC 7F0C1F9C 1440000B */ bnez $v0, .L7F0C1FCC -/* 0F6AD0 7F0C1FA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6AD4 7F0C1FA4 8FAF001C */ lw $t7, 0x1c($sp) -/* 0F6AD8 7F0C1FA8 3C188008 */ lui $t8, %hi(pPlayer) -/* 0F6ADC 7F0C1FAC 00001025 */ move $v0, $zero -/* 0F6AE0 7F0C1FB0 29E1FFFF */ slti $at, $t7, -1 -/* 0F6AE4 7F0C1FB4 10200007 */ beqz $at, .L7F0C1FD4 -/* 0F6AE8 7F0C1FB8 00000000 */ nop -/* 0F6AEC 7F0C1FBC 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0F6AF0 7F0C1FC0 8F1929D0 */ lw $t9, 0x29d0($t8) -/* 0F6AF4 7F0C1FC4 13200003 */ beqz $t9, .L7F0C1FD4 -/* 0F6AF8 7F0C1FC8 00000000 */ nop -.L7F0C1FCC: -/* 0F6AFC 7F0C1FCC 10000001 */ b .L7F0C1FD4 -/* 0F6B00 7F0C1FD0 24020001 */ li $v0, 1 -.L7F0C1FD4: -/* 0F6B04 7F0C1FD4 03E00008 */ jr $ra -/* 0F6B08 7F0C1FD8 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -void play_watch_sfx_beep(void) -{ - play_sfx_a1(ptr_sfx_buf, 0x9f, 0); -} - -void unpause_game(void) -{ - stop_play_flag = 0; - is_gameover_flag = 0; - is_paused = 0; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C2024(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C2024 -/* 0F6B54 7F0C2024 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F6B58 7F0C2028 00A6082A */ slt $at, $a1, $a2 -/* 0F6B5C 7F0C202C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6B60 7F0C2030 1420000C */ bnez $at, .L7F0C2064 -/* 0F6B64 7F0C2034 AFA40020 */ sw $a0, 0x20($sp) -/* 0F6B68 7F0C2038 54C5000E */ bnel $a2, $a1, .L7F0C2074 -/* 0F6B6C 7F0C203C 00002025 */ move $a0, $zero -/* 0F6B70 7F0C2040 AFA50024 */ sw $a1, 0x24($sp) -/* 0F6B74 7F0C2044 AFA60028 */ sw $a2, 0x28($sp) -/* 0F6B78 7F0C2048 0C002914 */ jal get_random_value -/* 0F6B7C 7F0C204C AFA7002C */ sw $a3, 0x2c($sp) -/* 0F6B80 7F0C2050 304E0001 */ andi $t6, $v0, 1 -/* 0F6B84 7F0C2054 8FA50024 */ lw $a1, 0x24($sp) -/* 0F6B88 7F0C2058 8FA60028 */ lw $a2, 0x28($sp) -/* 0F6B8C 7F0C205C 11C00004 */ beqz $t6, .L7F0C2070 -/* 0F6B90 7F0C2060 8FA7002C */ lw $a3, 0x2c($sp) -.L7F0C2064: -/* 0F6B94 7F0C2064 24040001 */ li $a0, 1 -/* 0F6B98 7F0C2068 10000003 */ b .L7F0C2078 -/* 0F6B9C 7F0C206C 00C01825 */ move $v1, $a2 -.L7F0C2070: -/* 0F6BA0 7F0C2070 00002025 */ move $a0, $zero -.L7F0C2074: -/* 0F6BA4 7F0C2074 00A01825 */ move $v1, $a1 -.L7F0C2078: -/* 0F6BA8 7F0C2078 8FAF0020 */ lw $t7, 0x20($sp) -/* 0F6BAC 7F0C207C 29E10003 */ slti $at, $t7, 3 -/* 0F6BB0 7F0C2080 1420001F */ bnez $at, .L7F0C2100 -/* 0F6BB4 7F0C2084 0067082A */ slt $at, $v1, $a3 -/* 0F6BB8 7F0C2088 5420000D */ bnezl $at, .L7F0C20C0 -/* 0F6BBC 7F0C208C 24040002 */ li $a0, 2 -/* 0F6BC0 7F0C2090 54E3000D */ bnel $a3, $v1, .L7F0C20C8 -/* 0F6BC4 7F0C2094 8FB90020 */ lw $t9, 0x20($sp) -/* 0F6BC8 7F0C2098 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F6BCC 7F0C209C AFA40018 */ sw $a0, 0x18($sp) -/* 0F6BD0 7F0C20A0 0C002914 */ jal get_random_value -/* 0F6BD4 7F0C20A4 AFA7002C */ sw $a3, 0x2c($sp) -/* 0F6BD8 7F0C20A8 30580001 */ andi $t8, $v0, 1 -/* 0F6BDC 7F0C20AC 8FA3001C */ lw $v1, 0x1c($sp) -/* 0F6BE0 7F0C20B0 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6BE4 7F0C20B4 13000003 */ beqz $t8, .L7F0C20C4 -/* 0F6BE8 7F0C20B8 8FA7002C */ lw $a3, 0x2c($sp) -/* 0F6BEC 7F0C20BC 24040002 */ li $a0, 2 -.L7F0C20C0: -/* 0F6BF0 7F0C20C0 00E01825 */ move $v1, $a3 -.L7F0C20C4: -/* 0F6BF4 7F0C20C4 8FB90020 */ lw $t9, 0x20($sp) -.L7F0C20C8: -/* 0F6BF8 7F0C20C8 8FA20030 */ lw $v0, 0x30($sp) -/* 0F6BFC 7F0C20CC 2B210004 */ slti $at, $t9, 4 -/* 0F6C00 7F0C20D0 1420000B */ bnez $at, .L7F0C2100 -/* 0F6C04 7F0C20D4 0062082A */ slt $at, $v1, $v0 -/* 0F6C08 7F0C20D8 54200009 */ bnezl $at, .L7F0C2100 -/* 0F6C0C 7F0C20DC 24040003 */ li $a0, 3 -/* 0F6C10 7F0C20E0 54430008 */ bnel $v0, $v1, .L7F0C2104 -/* 0F6C14 7F0C20E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6C18 7F0C20E8 0C002914 */ jal get_random_value -/* 0F6C1C 7F0C20EC AFA40018 */ sw $a0, 0x18($sp) -/* 0F6C20 7F0C20F0 30480001 */ andi $t0, $v0, 1 -/* 0F6C24 7F0C20F4 11000002 */ beqz $t0, .L7F0C2100 -/* 0F6C28 7F0C20F8 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6C2C 7F0C20FC 24040003 */ li $a0, 3 -.L7F0C2100: -/* 0F6C30 7F0C2100 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C2104: -/* 0F6C34 7F0C2104 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F6C38 7F0C2108 00801025 */ move $v0, $a0 -/* 0F6C3C 7F0C210C 03E00008 */ jr $ra -/* 0F6C40 7F0C2110 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C2114(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C2114 -/* 0F6C44 7F0C2114 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F6C48 7F0C2118 00C5082A */ slt $at, $a2, $a1 -/* 0F6C4C 7F0C211C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6C50 7F0C2120 1420000C */ bnez $at, .L7F0C2154 -/* 0F6C54 7F0C2124 AFA40020 */ sw $a0, 0x20($sp) -/* 0F6C58 7F0C2128 54C5000E */ bnel $a2, $a1, .L7F0C2164 -/* 0F6C5C 7F0C212C 00002025 */ move $a0, $zero -/* 0F6C60 7F0C2130 AFA50024 */ sw $a1, 0x24($sp) -/* 0F6C64 7F0C2134 AFA60028 */ sw $a2, 0x28($sp) -/* 0F6C68 7F0C2138 0C002914 */ jal get_random_value -/* 0F6C6C 7F0C213C AFA7002C */ sw $a3, 0x2c($sp) -/* 0F6C70 7F0C2140 304E0001 */ andi $t6, $v0, 1 -/* 0F6C74 7F0C2144 8FA50024 */ lw $a1, 0x24($sp) -/* 0F6C78 7F0C2148 8FA60028 */ lw $a2, 0x28($sp) -/* 0F6C7C 7F0C214C 11C00004 */ beqz $t6, .L7F0C2160 -/* 0F6C80 7F0C2150 8FA7002C */ lw $a3, 0x2c($sp) -.L7F0C2154: -/* 0F6C84 7F0C2154 24040001 */ li $a0, 1 -/* 0F6C88 7F0C2158 10000003 */ b .L7F0C2168 -/* 0F6C8C 7F0C215C 00C01825 */ move $v1, $a2 -.L7F0C2160: -/* 0F6C90 7F0C2160 00002025 */ move $a0, $zero -.L7F0C2164: -/* 0F6C94 7F0C2164 00A01825 */ move $v1, $a1 -.L7F0C2168: -/* 0F6C98 7F0C2168 8FAF0020 */ lw $t7, 0x20($sp) -/* 0F6C9C 7F0C216C 29E10003 */ slti $at, $t7, 3 -/* 0F6CA0 7F0C2170 1420001F */ bnez $at, .L7F0C21F0 -/* 0F6CA4 7F0C2174 00E3082A */ slt $at, $a3, $v1 -/* 0F6CA8 7F0C2178 5420000D */ bnezl $at, .L7F0C21B0 -/* 0F6CAC 7F0C217C 24040002 */ li $a0, 2 -/* 0F6CB0 7F0C2180 54E3000D */ bnel $a3, $v1, .L7F0C21B8 -/* 0F6CB4 7F0C2184 8FB90020 */ lw $t9, 0x20($sp) -/* 0F6CB8 7F0C2188 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F6CBC 7F0C218C AFA40018 */ sw $a0, 0x18($sp) -/* 0F6CC0 7F0C2190 0C002914 */ jal get_random_value -/* 0F6CC4 7F0C2194 AFA7002C */ sw $a3, 0x2c($sp) -/* 0F6CC8 7F0C2198 30580001 */ andi $t8, $v0, 1 -/* 0F6CCC 7F0C219C 8FA3001C */ lw $v1, 0x1c($sp) -/* 0F6CD0 7F0C21A0 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6CD4 7F0C21A4 13000003 */ beqz $t8, .L7F0C21B4 -/* 0F6CD8 7F0C21A8 8FA7002C */ lw $a3, 0x2c($sp) -/* 0F6CDC 7F0C21AC 24040002 */ li $a0, 2 -.L7F0C21B0: -/* 0F6CE0 7F0C21B0 00E01825 */ move $v1, $a3 -.L7F0C21B4: -/* 0F6CE4 7F0C21B4 8FB90020 */ lw $t9, 0x20($sp) -.L7F0C21B8: -/* 0F6CE8 7F0C21B8 8FA20030 */ lw $v0, 0x30($sp) -/* 0F6CEC 7F0C21BC 2B210004 */ slti $at, $t9, 4 -/* 0F6CF0 7F0C21C0 1420000B */ bnez $at, .L7F0C21F0 -/* 0F6CF4 7F0C21C4 0043082A */ slt $at, $v0, $v1 -/* 0F6CF8 7F0C21C8 54200009 */ bnezl $at, .L7F0C21F0 -/* 0F6CFC 7F0C21CC 24040003 */ li $a0, 3 -/* 0F6D00 7F0C21D0 54430008 */ bnel $v0, $v1, .L7F0C21F4 -/* 0F6D04 7F0C21D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6D08 7F0C21D8 0C002914 */ jal get_random_value -/* 0F6D0C 7F0C21DC AFA40018 */ sw $a0, 0x18($sp) -/* 0F6D10 7F0C21E0 30480001 */ andi $t0, $v0, 1 -/* 0F6D14 7F0C21E4 11000002 */ beqz $t0, .L7F0C21F0 -/* 0F6D18 7F0C21E8 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6D1C 7F0C21EC 24040003 */ li $a0, 3 -.L7F0C21F0: -/* 0F6D20 7F0C21F0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C21F4: -/* 0F6D24 7F0C21F4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F6D28 7F0C21F8 00801025 */ move $v0, $a0 -/* 0F6D2C 7F0C21FC 03E00008 */ jr $ra -/* 0F6D30 7F0C2200 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C2204(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C2204 -/* 0F6D34 7F0C2204 44856000 */ mtc1 $a1, $f12 -/* 0F6D38 7F0C2208 44867000 */ mtc1 $a2, $f14 -/* 0F6D3C 7F0C220C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F6D40 7F0C2210 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6D44 7F0C2214 460E603C */ c.lt.s $f12, $f14 -/* 0F6D48 7F0C2218 AFA40020 */ sw $a0, 0x20($sp) -/* 0F6D4C 7F0C221C AFA7002C */ sw $a3, 0x2c($sp) -/* 0F6D50 7F0C2220 4503000D */ bc1tl .L7F0C2258 -/* 0F6D54 7F0C2224 4600710D */ trunc.w.s $f4, $f14 -/* 0F6D58 7F0C2228 460C7032 */ c.eq.s $f14, $f12 -/* 0F6D5C 7F0C222C 00000000 */ nop -/* 0F6D60 7F0C2230 4502000E */ bc1fl .L7F0C226C -/* 0F6D64 7F0C2234 4600618D */ trunc.w.s $f6, $f12 -/* 0F6D68 7F0C2238 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 0F6D6C 7F0C223C 0C002914 */ jal get_random_value -/* 0F6D70 7F0C2240 E7AE0028 */ swc1 $f14, 0x28($sp) -/* 0F6D74 7F0C2244 304E0001 */ andi $t6, $v0, 1 -/* 0F6D78 7F0C2248 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 0F6D7C 7F0C224C 11C00006 */ beqz $t6, .L7F0C2268 -/* 0F6D80 7F0C2250 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 0F6D84 7F0C2254 4600710D */ trunc.w.s $f4, $f14 -.L7F0C2258: -/* 0F6D88 7F0C2258 24040001 */ li $a0, 1 -/* 0F6D8C 7F0C225C 44032000 */ mfc1 $v1, $f4 -/* 0F6D90 7F0C2260 10000006 */ b .L7F0C227C -/* 0F6D94 7F0C2264 8FB90020 */ lw $t9, 0x20($sp) -.L7F0C2268: -/* 0F6D98 7F0C2268 4600618D */ trunc.w.s $f6, $f12 -.L7F0C226C: -/* 0F6D9C 7F0C226C 00002025 */ move $a0, $zero -/* 0F6DA0 7F0C2270 44033000 */ mfc1 $v1, $f6 -/* 0F6DA4 7F0C2274 00000000 */ nop -/* 0F6DA8 7F0C2278 8FB90020 */ lw $t9, 0x20($sp) -.L7F0C227C: -/* 0F6DAC 7F0C227C 2B210003 */ slti $at, $t9, 3 -/* 0F6DB0 7F0C2280 5420002E */ bnezl $at, .L7F0C233C -/* 0F6DB4 7F0C2284 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6DB8 7F0C2288 44834000 */ mtc1 $v1, $f8 -/* 0F6DBC 7F0C228C C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 0F6DC0 7F0C2290 46804020 */ cvt.s.w $f0, $f8 -/* 0F6DC4 7F0C2294 460A003C */ c.lt.s $f0, $f10 -/* 0F6DC8 7F0C2298 00000000 */ nop -/* 0F6DCC 7F0C229C 4503000D */ bc1tl .L7F0C22D4 -/* 0F6DD0 7F0C22A0 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 0F6DD4 7F0C22A4 46005032 */ c.eq.s $f10, $f0 -/* 0F6DD8 7F0C22A8 00000000 */ nop -/* 0F6DDC 7F0C22AC 4502000E */ bc1fl .L7F0C22E8 -/* 0F6DE0 7F0C22B0 8FAA0020 */ lw $t2, 0x20($sp) -/* 0F6DE4 7F0C22B4 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F6DE8 7F0C22B8 0C002914 */ jal get_random_value -/* 0F6DEC 7F0C22BC AFA40018 */ sw $a0, 0x18($sp) -/* 0F6DF0 7F0C22C0 30480001 */ andi $t0, $v0, 1 -/* 0F6DF4 7F0C22C4 8FA3001C */ lw $v1, 0x1c($sp) -/* 0F6DF8 7F0C22C8 11000006 */ beqz $t0, .L7F0C22E4 -/* 0F6DFC 7F0C22CC 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6E00 7F0C22D0 C7B0002C */ lwc1 $f16, 0x2c($sp) -.L7F0C22D4: -/* 0F6E04 7F0C22D4 24040002 */ li $a0, 2 -/* 0F6E08 7F0C22D8 4600848D */ trunc.w.s $f18, $f16 -/* 0F6E0C 7F0C22DC 44039000 */ mfc1 $v1, $f18 -/* 0F6E10 7F0C22E0 00000000 */ nop -.L7F0C22E4: -/* 0F6E14 7F0C22E4 8FAA0020 */ lw $t2, 0x20($sp) -.L7F0C22E8: -/* 0F6E18 7F0C22E8 29410004 */ slti $at, $t2, 4 -/* 0F6E1C 7F0C22EC 54200013 */ bnezl $at, .L7F0C233C -/* 0F6E20 7F0C22F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6E24 7F0C22F4 44832000 */ mtc1 $v1, $f4 -/* 0F6E28 7F0C22F8 C7A20030 */ lwc1 $f2, 0x30($sp) -/* 0F6E2C 7F0C22FC 46802020 */ cvt.s.w $f0, $f4 -/* 0F6E30 7F0C2300 4602003C */ c.lt.s $f0, $f2 -/* 0F6E34 7F0C2304 00000000 */ nop -/* 0F6E38 7F0C2308 4503000B */ bc1tl .L7F0C2338 -/* 0F6E3C 7F0C230C 24040003 */ li $a0, 3 -/* 0F6E40 7F0C2310 46001032 */ c.eq.s $f2, $f0 -/* 0F6E44 7F0C2314 00000000 */ nop -/* 0F6E48 7F0C2318 45020008 */ bc1fl .L7F0C233C -/* 0F6E4C 7F0C231C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6E50 7F0C2320 0C002914 */ jal get_random_value -/* 0F6E54 7F0C2324 AFA40018 */ sw $a0, 0x18($sp) -/* 0F6E58 7F0C2328 304B0001 */ andi $t3, $v0, 1 -/* 0F6E5C 7F0C232C 11600002 */ beqz $t3, .L7F0C2338 -/* 0F6E60 7F0C2330 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6E64 7F0C2334 24040003 */ li $a0, 3 -.L7F0C2338: -/* 0F6E68 7F0C2338 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C233C: -/* 0F6E6C 7F0C233C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F6E70 7F0C2340 00801025 */ move $v0, $a0 -/* 0F6E74 7F0C2344 03E00008 */ jr $ra -/* 0F6E78 7F0C2348 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C234C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C234C -/* 0F6E7C 7F0C234C 44856000 */ mtc1 $a1, $f12 -/* 0F6E80 7F0C2350 44867000 */ mtc1 $a2, $f14 -/* 0F6E84 7F0C2354 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F6E88 7F0C2358 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6E8C 7F0C235C 460C703C */ c.lt.s $f14, $f12 -/* 0F6E90 7F0C2360 AFA40020 */ sw $a0, 0x20($sp) -/* 0F6E94 7F0C2364 AFA7002C */ sw $a3, 0x2c($sp) -/* 0F6E98 7F0C2368 4503000D */ bc1tl .L7F0C23A0 -/* 0F6E9C 7F0C236C 4600710D */ trunc.w.s $f4, $f14 -/* 0F6EA0 7F0C2370 460C7032 */ c.eq.s $f14, $f12 -/* 0F6EA4 7F0C2374 00000000 */ nop -/* 0F6EA8 7F0C2378 4502000E */ bc1fl .L7F0C23B4 -/* 0F6EAC 7F0C237C 4600618D */ trunc.w.s $f6, $f12 -/* 0F6EB0 7F0C2380 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 0F6EB4 7F0C2384 0C002914 */ jal get_random_value -/* 0F6EB8 7F0C2388 E7AE0028 */ swc1 $f14, 0x28($sp) -/* 0F6EBC 7F0C238C 304E0001 */ andi $t6, $v0, 1 -/* 0F6EC0 7F0C2390 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 0F6EC4 7F0C2394 11C00006 */ beqz $t6, .L7F0C23B0 -/* 0F6EC8 7F0C2398 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 0F6ECC 7F0C239C 4600710D */ trunc.w.s $f4, $f14 -.L7F0C23A0: -/* 0F6ED0 7F0C23A0 24040001 */ li $a0, 1 -/* 0F6ED4 7F0C23A4 44032000 */ mfc1 $v1, $f4 -/* 0F6ED8 7F0C23A8 10000006 */ b .L7F0C23C4 -/* 0F6EDC 7F0C23AC 8FB90020 */ lw $t9, 0x20($sp) -.L7F0C23B0: -/* 0F6EE0 7F0C23B0 4600618D */ trunc.w.s $f6, $f12 -.L7F0C23B4: -/* 0F6EE4 7F0C23B4 00002025 */ move $a0, $zero -/* 0F6EE8 7F0C23B8 44033000 */ mfc1 $v1, $f6 -/* 0F6EEC 7F0C23BC 00000000 */ nop -/* 0F6EF0 7F0C23C0 8FB90020 */ lw $t9, 0x20($sp) -.L7F0C23C4: -/* 0F6EF4 7F0C23C4 2B210003 */ slti $at, $t9, 3 -/* 0F6EF8 7F0C23C8 5420002E */ bnezl $at, .L7F0C2484 -/* 0F6EFC 7F0C23CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6F00 7F0C23D0 44834000 */ mtc1 $v1, $f8 -/* 0F6F04 7F0C23D4 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 0F6F08 7F0C23D8 46804020 */ cvt.s.w $f0, $f8 -/* 0F6F0C 7F0C23DC 4600503C */ c.lt.s $f10, $f0 -/* 0F6F10 7F0C23E0 00000000 */ nop -/* 0F6F14 7F0C23E4 4503000D */ bc1tl .L7F0C241C -/* 0F6F18 7F0C23E8 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 0F6F1C 7F0C23EC 46005032 */ c.eq.s $f10, $f0 -/* 0F6F20 7F0C23F0 00000000 */ nop -/* 0F6F24 7F0C23F4 4502000E */ bc1fl .L7F0C2430 -/* 0F6F28 7F0C23F8 8FAA0020 */ lw $t2, 0x20($sp) -/* 0F6F2C 7F0C23FC AFA3001C */ sw $v1, 0x1c($sp) -/* 0F6F30 7F0C2400 0C002914 */ jal get_random_value -/* 0F6F34 7F0C2404 AFA40018 */ sw $a0, 0x18($sp) -/* 0F6F38 7F0C2408 30480001 */ andi $t0, $v0, 1 -/* 0F6F3C 7F0C240C 8FA3001C */ lw $v1, 0x1c($sp) -/* 0F6F40 7F0C2410 11000006 */ beqz $t0, .L7F0C242C -/* 0F6F44 7F0C2414 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6F48 7F0C2418 C7B0002C */ lwc1 $f16, 0x2c($sp) -.L7F0C241C: -/* 0F6F4C 7F0C241C 24040002 */ li $a0, 2 -/* 0F6F50 7F0C2420 4600848D */ trunc.w.s $f18, $f16 -/* 0F6F54 7F0C2424 44039000 */ mfc1 $v1, $f18 -/* 0F6F58 7F0C2428 00000000 */ nop -.L7F0C242C: -/* 0F6F5C 7F0C242C 8FAA0020 */ lw $t2, 0x20($sp) -.L7F0C2430: -/* 0F6F60 7F0C2430 29410004 */ slti $at, $t2, 4 -/* 0F6F64 7F0C2434 54200013 */ bnezl $at, .L7F0C2484 -/* 0F6F68 7F0C2438 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6F6C 7F0C243C 44832000 */ mtc1 $v1, $f4 -/* 0F6F70 7F0C2440 C7A20030 */ lwc1 $f2, 0x30($sp) -/* 0F6F74 7F0C2444 46802020 */ cvt.s.w $f0, $f4 -/* 0F6F78 7F0C2448 4600103C */ c.lt.s $f2, $f0 -/* 0F6F7C 7F0C244C 00000000 */ nop -/* 0F6F80 7F0C2450 4503000B */ bc1tl .L7F0C2480 -/* 0F6F84 7F0C2454 24040003 */ li $a0, 3 -/* 0F6F88 7F0C2458 46001032 */ c.eq.s $f2, $f0 -/* 0F6F8C 7F0C245C 00000000 */ nop -/* 0F6F90 7F0C2460 45020008 */ bc1fl .L7F0C2484 -/* 0F6F94 7F0C2464 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6F98 7F0C2468 0C002914 */ jal get_random_value -/* 0F6F9C 7F0C246C AFA40018 */ sw $a0, 0x18($sp) -/* 0F6FA0 7F0C2470 304B0001 */ andi $t3, $v0, 1 -/* 0F6FA4 7F0C2474 11600002 */ beqz $t3, .L7F0C2480 -/* 0F6FA8 7F0C2478 8FA40018 */ lw $a0, 0x18($sp) -/* 0F6FAC 7F0C247C 24040003 */ li $a0, 3 -.L7F0C2480: -/* 0F6FB0 7F0C2480 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C2484: -/* 0F6FB4 7F0C2484 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0F6FB8 7F0C2488 00801025 */ move $v0, $a0 -/* 0F6FBC 7F0C248C 03E00008 */ jr $ra -/* 0F6FC0 7F0C2490 00000000 */ nop -) -#endif - - - - - -void pauseAndLockControls(void) { - set_controls_locked_flag(1); - is_paused = 1; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C24BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C24BC -/* 0F6FEC 7F0C24BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F6FF0 7F0C24C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6FF4 7F0C24C4 0FC26919 */ jal get_num_players -/* 0F6FF8 7F0C24C8 00000000 */ nop -/* 0F6FFC 7F0C24CC 24010001 */ li $at, 1 -/* 0F7000 7F0C24D0 14410003 */ bne $v0, $at, .L7F0C24E0 -/* 0F7004 7F0C24D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F7008 7F0C24D8 1000000F */ b .L7F0C2518 -/* 0F700C 7F0C24DC 24020001 */ li $v0, 1 -.L7F0C24E0: -/* 0F7010 7F0C24E0 3C0E8009 */ lui $t6, %hi(stop_play_flag) -/* 0F7014 7F0C24E4 8DCEC700 */ lw $t6, %lo(stop_play_flag)($t6) -/* 0F7018 7F0C24E8 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0F701C 7F0C24EC 11C00003 */ beqz $t6, .L7F0C24FC -/* 0F7020 7F0C24F0 00000000 */ nop -/* 0F7024 7F0C24F4 10000008 */ b .L7F0C2518 -/* 0F7028 7F0C24F8 00001025 */ move $v0, $zero -.L7F0C24FC: -/* 0F702C 7F0C24FC 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0F7030 7F0C2500 24020001 */ li $v0, 1 -/* 0F7034 7F0C2504 8DF829C4 */ lw $t8, 0x29c4($t7) -/* 0F7038 7F0C2508 13000003 */ beqz $t8, .L7F0C2518 -/* 0F703C 7F0C250C 00000000 */ nop -/* 0F7040 7F0C2510 10000001 */ b .L7F0C2518 -/* 0F7044 7F0C2514 00001025 */ move $v0, $zero -.L7F0C2518: -/* 0F7048 7F0C2518 03E00008 */ jr $ra -/* 0F704C 7F0C251C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -void set_stopplay_flag(void) { - stop_play_flag = 1; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C2530(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005BC80 -.word 0x4852f000 /*216000.0*/ -glabel D_8005BC84 -.word 0x47c35000 /*100000.0*/ -.text -glabel sub_GAME_7F0C2530 -/* 0F7060 7F0C2530 27BDFE98 */ addiu $sp, $sp, -0x168 -/* 0F7064 7F0C2534 AFBF0044 */ sw $ra, 0x44($sp) -/* 0F7068 7F0C2538 AFB10024 */ sw $s1, 0x24($sp) -/* 0F706C 7F0C253C 00808825 */ move $s1, $a0 -/* 0F7070 7F0C2540 AFBE0040 */ sw $fp, 0x40($sp) -/* 0F7074 7F0C2544 AFB7003C */ sw $s7, 0x3c($sp) -/* 0F7078 7F0C2548 AFB60038 */ sw $s6, 0x38($sp) -/* 0F707C 7F0C254C AFB50034 */ sw $s5, 0x34($sp) -/* 0F7080 7F0C2550 AFB40030 */ sw $s4, 0x30($sp) -/* 0F7084 7F0C2554 AFB3002C */ sw $s3, 0x2c($sp) -/* 0F7088 7F0C2558 AFB20028 */ sw $s2, 0x28($sp) -/* 0F708C 7F0C255C 0FC26919 */ jal get_num_players -/* 0F7090 7F0C2560 AFB00020 */ sw $s0, 0x20($sp) -/* 0F7094 7F0C2564 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 0F7098 7F0C2568 0040F025 */ move $fp, $v0 -/* 0F709C 7F0C256C 0C002449 */ jal sfx_c_70009124 -/* 0F70A0 7F0C2570 00408025 */ move $s0, $v0 -/* 0F70A4 7F0C2574 0FC3030F */ jal set_missionstate -/* 0F70A8 7F0C2578 00002025 */ move $a0, $zero -/* 0F70AC 7F0C257C 0FC302FC */ jal sub_GAME_7F0C0BF0 -/* 0F70B0 7F0C2580 00000000 */ nop -/* 0F70B4 7F0C2584 0C001C0F */ jal musicTrack1Vol -/* 0F70B8 7F0C2588 3044FFFF */ andi $a0, $v0, 0xffff -/* 0F70BC 7F0C258C 3C018002 */ lui $at, %hi(music1_playing) -/* 0F70C0 7F0C2590 AC20434C */ sw $zero, %lo(music1_playing)($at) -/* 0F70C4 7F0C2594 0C001B9F */ jal musicTrack1Play -/* 0F70C8 7F0C2598 2404002C */ li $a0, 44 -/* 0F70CC 7F0C259C 0FC30925 */ jal pauseAndLockControls -/* 0F70D0 7F0C25A0 00000000 */ nop -/* 0F70D4 7F0C25A4 12200005 */ beqz $s1, .L7F0C25BC -/* 0F70D8 7F0C25A8 24180001 */ li $t8, 1 -/* 0F70DC 7F0C25AC 240E012C */ li $t6, 300 -/* 0F70E0 7F0C25B0 3C018009 */ lui $at, %hi(is_gameover_flag) -/* 0F70E4 7F0C25B4 10000004 */ b .L7F0C25C8 -/* 0F70E8 7F0C25B8 AC2EC704 */ sw $t6, %lo(is_gameover_flag)($at) -.L7F0C25BC: -/* 0F70EC 7F0C25BC 240F0001 */ li $t7, 1 -/* 0F70F0 7F0C25C0 3C018009 */ lui $at, %hi(is_gameover_flag) -/* 0F70F4 7F0C25C4 AC2FC704 */ sw $t7, %lo(is_gameover_flag)($at) -.L7F0C25C8: -/* 0F70F8 7F0C25C8 3C018009 */ lui $at, %hi(time_trigger_alt_gameover_msg) -/* 0F70FC 7F0C25CC AC38C710 */ sw $t8, %lo(time_trigger_alt_gameover_msg)($at) -/* 0F7100 7F0C25D0 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C714) -/* 0F7104 7F0C25D4 24190014 */ li $t9, 20 -/* 0F7108 7F0C25D8 AC39C714 */ sw $t9, %lo(dword_CODE_bss_8008C714)($at) -/* 0F710C 7F0C25DC 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C708) -/* 0F7110 7F0C25E0 AC20C708 */ sw $zero, %lo(dword_CODE_bss_8008C708)($at) -/* 0F7114 7F0C25E4 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C70C) -/* 0F7118 7F0C25E8 0FC26C54 */ jal get_cur_playernum -/* 0F711C 7F0C25EC AC20C70C */ sw $zero, %lo(dword_CODE_bss_8008C70C)($at) -/* 0F7120 7F0C25F0 AFA20150 */ sw $v0, 0x150($sp) -/* 0F7124 7F0C25F4 1BC00078 */ blez $fp, .L7F0C27D8 -/* 0F7128 7F0C25F8 0000B025 */ move $s6, $zero -/* 0F712C 7F0C25FC 26080001 */ addiu $t0, $s0, 1 -/* 0F7130 7F0C2600 44882000 */ mtc1 $t0, $f4 -/* 0F7134 7F0C2604 3C018006 */ lui $at, %hi(D_8005BC80) -/* 0F7138 7F0C2608 C428BC80 */ lwc1 $f8, %lo(D_8005BC80)($at) -/* 0F713C 7F0C260C 468021A0 */ cvt.s.w $f6, $f4 -/* 0F7140 7F0C2610 3C148008 */ lui $s4, %hi(player1_player_data) -/* 0F7144 7F0C2614 3C158008 */ lui $s5, %hi(pPlayer) -/* 0F7148 7F0C2618 26B5A0B0 */ addiu $s5, %lo(pPlayer) # addiu $s5, $s5, -0x5f50 -/* 0F714C 7F0C261C 26949EF0 */ addiu $s4, %lo(player1_player_data) # addiu $s4, $s4, -0x6110 -/* 0F7150 7F0C2620 27B2006C */ addiu $s2, $sp, 0x6c -/* 0F7154 7F0C2624 46083283 */ div.s $f10, $f6, $f8 -/* 0F7158 7F0C2628 24170003 */ li $s7, 3 -/* 0F715C 7F0C262C E7AA0048 */ swc1 $f10, 0x48($sp) -.L7F0C2630: -/* 0F7160 7F0C2630 02C02025 */ move $a0, $s6 -/* 0F7164 7F0C2634 0FC26C43 */ jal set_cur_player -/* 0F7168 7F0C2638 00008825 */ move $s1, $zero -/* 0F716C 7F0C263C 8EAA0000 */ lw $t2, ($s5) -/* 0F7170 7F0C2640 24090001 */ li $t1, 1 -/* 0F7174 7F0C2644 27A40154 */ addiu $a0, $sp, 0x154 -/* 0F7178 7F0C2648 AD4929C4 */ sw $t1, 0x29c4($t2) -/* 0F717C 7F0C264C 8EAB0000 */ lw $t3, ($s5) -/* 0F7180 7F0C2650 27A50158 */ addiu $a1, $sp, 0x158 -/* 0F7184 7F0C2654 AD7729C8 */ sw $s7, 0x29c8($t3) -/* 0F7188 7F0C2658 8EAC0000 */ lw $t4, ($s5) -/* 0F718C 7F0C265C AD802A10 */ sw $zero, 0x2a10($t4) -/* 0F7190 7F0C2660 8EAD0000 */ lw $t5, ($s5) -/* 0F7194 7F0C2664 0FC236C2 */ jal sub_GAME_7F08DB08 -/* 0F7198 7F0C2668 ADA02A14 */ sw $zero, 0x2a14($t5) -/* 0F719C 7F0C266C 8FA40154 */ lw $a0, 0x154($sp) -/* 0F71A0 7F0C2670 0FC075A0 */ jal store_favorite_weapon_current_player -/* 0F71A4 7F0C2674 8FA50158 */ lw $a1, 0x158($sp) -/* 0F71A8 7F0C2678 0FC1A9D0 */ jal get_curplayer_shot_register -/* 0F71AC 7F0C267C 00002025 */ move $a0, $zero -/* 0F71B0 7F0C2680 AE420000 */ sw $v0, ($s2) -/* 0F71B4 7F0C2684 0FC1A9D0 */ jal get_curplayer_shot_register -/* 0F71B8 7F0C2688 24040001 */ li $a0, 1 -/* 0F71BC 7F0C268C AE420004 */ sw $v0, 4($s2) -/* 0F71C0 7F0C2690 AE400008 */ sw $zero, 8($s2) -/* 0F71C4 7F0C2694 AE40000C */ sw $zero, 0xc($s2) -/* 0F71C8 7F0C2698 0FC040A4 */ jal get_selected_num_players -/* 0F71CC 7F0C269C AE400010 */ sw $zero, 0x10($s2) -/* 0F71D0 7F0C26A0 18400023 */ blez $v0, .L7F0C2730 -/* 0F71D4 7F0C26A4 001170C0 */ sll $t6, $s1, 3 -/* 0F71D8 7F0C26A8 001640C0 */ sll $t0, $s6, 3 -/* 0F71DC 7F0C26AC 01164023 */ subu $t0, $t0, $s6 -/* 0F71E0 7F0C26B0 01D17023 */ subu $t6, $t6, $s1 -/* 0F71E4 7F0C26B4 3C198008 */ lui $t9, %hi(player1_player_data) -/* 0F71E8 7F0C26B8 27399EF0 */ addiu $t9, %lo(player1_player_data) # addiu $t9, $t9, -0x6110 -/* 0F71EC 7F0C26BC 000E7100 */ sll $t6, $t6, 4 -/* 0F71F0 7F0C26C0 00084100 */ sll $t0, $t0, 4 -/* 0F71F4 7F0C26C4 00167880 */ sll $t7, $s6, 2 -/* 0F71F8 7F0C26C8 00114880 */ sll $t1, $s1, 2 -/* 0F71FC 7F0C26CC 01095021 */ addu $t2, $t0, $t1 -/* 0F7200 7F0C26D0 01CFC021 */ addu $t8, $t6, $t7 -/* 0F7204 7F0C26D4 03199821 */ addu $s3, $t8, $t9 -/* 0F7208 7F0C26D8 01598021 */ addu $s0, $t2, $t9 -/* 0F720C 7F0C26DC 8E4B000C */ lw $t3, 0xc($s2) -.L7F0C26E0: -/* 0F7210 7F0C26E0 8E6C0024 */ lw $t4, 0x24($s3) -/* 0F7214 7F0C26E4 26730070 */ addiu $s3, $s3, 0x70 -/* 0F7218 7F0C26E8 016C6821 */ addu $t5, $t3, $t4 -/* 0F721C 7F0C26EC 16D10006 */ bne $s6, $s1, .L7F0C2708 -/* 0F7220 7F0C26F0 AE4D000C */ sw $t5, 0xc($s2) -/* 0F7224 7F0C26F4 8E4E0010 */ lw $t6, 0x10($s2) -/* 0F7228 7F0C26F8 8E0F0024 */ lw $t7, 0x24($s0) -/* 0F722C 7F0C26FC 01CFC021 */ addu $t8, $t6, $t7 -/* 0F7230 7F0C2700 10000005 */ b .L7F0C2718 -/* 0F7234 7F0C2704 AE580010 */ sw $t8, 0x10($s2) -.L7F0C2708: -/* 0F7238 7F0C2708 8E480008 */ lw $t0, 8($s2) -/* 0F723C 7F0C270C 8E090024 */ lw $t1, 0x24($s0) -/* 0F7240 7F0C2710 01095021 */ addu $t2, $t0, $t1 -/* 0F7244 7F0C2714 AE4A0008 */ sw $t2, 8($s2) -.L7F0C2718: -/* 0F7248 7F0C2718 26310001 */ addiu $s1, $s1, 1 -/* 0F724C 7F0C271C 0FC040A4 */ jal get_selected_num_players -/* 0F7250 7F0C2720 26100004 */ addiu $s0, $s0, 4 -/* 0F7254 7F0C2724 0222082A */ slt $at, $s1, $v0 -/* 0F7258 7F0C2728 5420FFED */ bnezl $at, .L7F0C26E0 -/* 0F725C 7F0C272C 8E4B000C */ lw $t3, 0xc($s2) -.L7F0C2730: -/* 0F7260 7F0C2730 8E590008 */ lw $t9, 8($s2) -/* 0F7264 7F0C2734 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0F7268 7F0C2738 44811000 */ mtc1 $at, $f2 -/* 0F726C 7F0C273C 44998000 */ mtc1 $t9, $f16 -/* 0F7270 7F0C2740 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0F7274 7F0C2744 44812000 */ mtc1 $at, $f4 -/* 0F7278 7F0C2748 468084A0 */ cvt.s.w $f18, $f16 -/* 0F727C 7F0C274C 8E4B0000 */ lw $t3, ($s2) -/* 0F7280 7F0C2750 8E4C000C */ lw $t4, 0xc($s2) -/* 0F7284 7F0C2754 8E8D003C */ lw $t5, 0x3c($s4) -/* 0F7288 7F0C2758 448B3000 */ mtc1 $t3, $f6 -/* 0F728C 7F0C275C 8E8E0034 */ lw $t6, 0x34($s4) -/* 0F7290 7F0C2760 46049002 */ mul.s $f0, $f18, $f4 -/* 0F7294 7F0C2764 448C9000 */ mtc1 $t4, $f18 -/* 0F7298 7F0C2768 3C018006 */ lui $at, %hi(D_8005BC84) -/* 0F729C 7F0C276C AE4D001C */ sw $t5, 0x1c($s2) -/* 0F72A0 7F0C2770 AE4E0020 */ sw $t6, 0x20($s2) -/* 0F72A4 7F0C2774 8E8F004C */ lw $t7, 0x4c($s4) -/* 0F72A8 7F0C2778 46803220 */ cvt.s.w $f8, $f6 -/* 0F72AC 7F0C277C 8E980050 */ lw $t8, 0x50($s4) -/* 0F72B0 7F0C2780 26D60001 */ addiu $s6, $s6, 1 -/* 0F72B4 7F0C2784 26520038 */ addiu $s2, $s2, 0x38 -/* 0F72B8 7F0C2788 26940070 */ addiu $s4, $s4, 0x70 -/* 0F72BC 7F0C278C 46809120 */ cvt.s.w $f4, $f18 -/* 0F72C0 7F0C2790 46024280 */ add.s $f10, $f8, $f2 -/* 0F72C4 7F0C2794 46022180 */ add.s $f6, $f4, $f2 -/* 0F72C8 7F0C2798 460A0403 */ div.s $f16, $f0, $f10 -/* 0F72CC 7F0C279C C68AFFC8 */ lwc1 $f10, -0x38($s4) -/* 0F72D0 7F0C27A0 46060203 */ div.s $f8, $f0, $f6 -/* 0F72D4 7F0C27A4 E650FFDC */ swc1 $f16, -0x24($s2) -/* 0F72D8 7F0C27A8 E648FFE0 */ swc1 $f8, -0x20($s2) -/* 0F72DC 7F0C27AC C430BC84 */ lwc1 $f16, %lo(D_8005BC84)($at) -/* 0F72E0 7F0C27B0 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0F72E4 7F0C27B4 C688FFD0 */ lwc1 $f8, -0x30($s4) -/* 0F72E8 7F0C27B8 46105483 */ div.s $f18, $f10, $f16 -/* 0F72EC 7F0C27BC AE40FFF4 */ sw $zero, -0xc($s2) -/* 0F72F0 7F0C27C0 AE4FFFF8 */ sw $t7, -8($s2) -/* 0F72F4 7F0C27C4 AE58FFFC */ sw $t8, -4($s2) -/* 0F72F8 7F0C27C8 E648FFF0 */ swc1 $f8, -0x10($s2) -/* 0F72FC 7F0C27CC 46049183 */ div.s $f6, $f18, $f4 -/* 0F7300 7F0C27D0 16DEFF97 */ bne $s6, $fp, .L7F0C2630 -/* 0F7304 7F0C27D4 E646FFEC */ swc1 $f6, -0x14($s2) -.L7F0C27D8: -/* 0F7308 7F0C27D8 24170003 */ li $s7, 3 -/* 0F730C 7F0C27DC 0FC26C43 */ jal set_cur_player -/* 0F7310 7F0C27E0 8FA40150 */ lw $a0, 0x150($sp) -/* 0F7314 7F0C27E4 8FA80124 */ lw $t0, 0x124($sp) -/* 0F7318 7F0C27E8 03C02025 */ move $a0, $fp -/* 0F731C 7F0C27EC 8FA5007C */ lw $a1, 0x7c($sp) -/* 0F7320 7F0C27F0 8FA600B4 */ lw $a2, 0xb4($sp) -/* 0F7324 7F0C27F4 8FA700EC */ lw $a3, 0xec($sp) -/* 0F7328 7F0C27F8 0FC30809 */ jal sub_GAME_7F0C2024 -/* 0F732C 7F0C27FC AFA80010 */ sw $t0, 0x10($sp) -/* 0F7330 7F0C2800 24130038 */ li $s3, 56 -/* 0F7334 7F0C2804 00530019 */ multu $v0, $s3 -/* 0F7338 7F0C2808 27B1006C */ addiu $s1, $sp, 0x6c -/* 0F733C 7F0C280C 03C02025 */ move $a0, $fp -/* 0F7340 7F0C2810 00004812 */ mflo $t1 -/* 0F7344 7F0C2814 02298021 */ addu $s0, $s1, $t1 -/* 0F7348 7F0C2818 8E0A0010 */ lw $t2, 0x10($s0) -/* 0F734C 7F0C281C 59400005 */ blezl $t2, .L7F0C2834 -/* 0F7350 7F0C2820 8FAC0114 */ lw $t4, 0x114($sp) -/* 0F7354 7F0C2824 8E19002C */ lw $t9, 0x2c($s0) -/* 0F7358 7F0C2828 372B0001 */ ori $t3, $t9, 1 -/* 0F735C 7F0C282C AE0B002C */ sw $t3, 0x2c($s0) -/* 0F7360 7F0C2830 8FAC0114 */ lw $t4, 0x114($sp) -.L7F0C2834: -/* 0F7364 7F0C2834 8FA5006C */ lw $a1, 0x6c($sp) -/* 0F7368 7F0C2838 8FA600A4 */ lw $a2, 0xa4($sp) -/* 0F736C 7F0C283C 8FA700DC */ lw $a3, 0xdc($sp) -/* 0F7370 7F0C2840 0FC30845 */ jal sub_GAME_7F0C2114 -/* 0F7374 7F0C2844 AFAC0010 */ sw $t4, 0x10($sp) -/* 0F7378 7F0C2848 00530019 */ multu $v0, $s3 -/* 0F737C 7F0C284C 03C02025 */ move $a0, $fp -/* 0F7380 7F0C2850 00006812 */ mflo $t5 -/* 0F7384 7F0C2854 022D8021 */ addu $s0, $s1, $t5 -/* 0F7388 7F0C2858 8E0E0000 */ lw $t6, ($s0) -/* 0F738C 7F0C285C 29C10064 */ slti $at, $t6, 0x64 -/* 0F7390 7F0C2860 50200005 */ beql $at, $zero, .L7F0C2878 -/* 0F7394 7F0C2864 C7AA013C */ lwc1 $f10, 0x13c($sp) -/* 0F7398 7F0C2868 8E0F002C */ lw $t7, 0x2c($s0) -/* 0F739C 7F0C286C 35F80002 */ ori $t8, $t7, 2 -/* 0F73A0 7F0C2870 AE18002C */ sw $t8, 0x2c($s0) -/* 0F73A4 7F0C2874 C7AA013C */ lwc1 $f10, 0x13c($sp) -.L7F0C2878: -/* 0F73A8 7F0C2878 8FA50094 */ lw $a1, 0x94($sp) -/* 0F73AC 7F0C287C 8FA600CC */ lw $a2, 0xcc($sp) -/* 0F73B0 7F0C2880 8FA70104 */ lw $a3, 0x104($sp) -/* 0F73B4 7F0C2884 0FC308D3 */ jal sub_GAME_7F0C234C -/* 0F73B8 7F0C2888 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0F73BC 7F0C288C 00530019 */ multu $v0, $s3 -/* 0F73C0 7F0C2890 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0F73C4 7F0C2894 44818000 */ mtc1 $at, $f16 -/* 0F73C8 7F0C2898 03C02025 */ move $a0, $fp -/* 0F73CC 7F0C289C 00004012 */ mflo $t0 -/* 0F73D0 7F0C28A0 02288021 */ addu $s0, $s1, $t0 -/* 0F73D4 7F0C28A4 C6120028 */ lwc1 $f18, 0x28($s0) -/* 0F73D8 7F0C28A8 4610903E */ c.le.s $f18, $f16 -/* 0F73DC 7F0C28AC 00000000 */ nop -/* 0F73E0 7F0C28B0 45020005 */ bc1fl .L7F0C28C8 -/* 0F73E4 7F0C28B4 C7A4013C */ lwc1 $f4, 0x13c($sp) -/* 0F73E8 7F0C28B8 8E09002C */ lw $t1, 0x2c($s0) -/* 0F73EC 7F0C28BC 352A0004 */ ori $t2, $t1, 4 -/* 0F73F0 7F0C28C0 AE0A002C */ sw $t2, 0x2c($s0) -/* 0F73F4 7F0C28C4 C7A4013C */ lwc1 $f4, 0x13c($sp) -.L7F0C28C8: -/* 0F73F8 7F0C28C8 8FA50094 */ lw $a1, 0x94($sp) -/* 0F73FC 7F0C28CC 8FA600CC */ lw $a2, 0xcc($sp) -/* 0F7400 7F0C28D0 8FA70104 */ lw $a3, 0x104($sp) -/* 0F7404 7F0C28D4 0FC30881 */ jal sub_GAME_7F0C2204 -/* 0F7408 7F0C28D8 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0F740C 7F0C28DC 00530019 */ multu $v0, $s3 -/* 0F7410 7F0C28E0 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 0F7414 7F0C28E4 44813000 */ mtc1 $at, $f6 -/* 0F7418 7F0C28E8 03C02025 */ move $a0, $fp -/* 0F741C 7F0C28EC 0000C812 */ mflo $t9 -/* 0F7420 7F0C28F0 02398021 */ addu $s0, $s1, $t9 -/* 0F7424 7F0C28F4 C6080028 */ lwc1 $f8, 0x28($s0) -/* 0F7428 7F0C28F8 4608303C */ c.lt.s $f6, $f8 -/* 0F742C 7F0C28FC 00000000 */ nop -/* 0F7430 7F0C2900 45020005 */ bc1fl .L7F0C2918 -/* 0F7434 7F0C2904 8FAD0118 */ lw $t5, 0x118($sp) -/* 0F7438 7F0C2908 8E0B002C */ lw $t3, 0x2c($s0) -/* 0F743C 7F0C290C 356C0008 */ ori $t4, $t3, 8 -/* 0F7440 7F0C2910 AE0C002C */ sw $t4, 0x2c($s0) -/* 0F7444 7F0C2914 8FAD0118 */ lw $t5, 0x118($sp) -.L7F0C2918: -/* 0F7448 7F0C2918 8FA50070 */ lw $a1, 0x70($sp) -/* 0F744C 7F0C291C 8FA600A8 */ lw $a2, 0xa8($sp) -/* 0F7450 7F0C2920 8FA700E0 */ lw $a3, 0xe0($sp) -/* 0F7454 7F0C2924 0FC30809 */ jal sub_GAME_7F0C2024 -/* 0F7458 7F0C2928 AFAD0010 */ sw $t5, 0x10($sp) -/* 0F745C 7F0C292C 00530019 */ multu $v0, $s3 -/* 0F7460 7F0C2930 03C02025 */ move $a0, $fp -/* 0F7464 7F0C2934 00007012 */ mflo $t6 -/* 0F7468 7F0C2938 022E8021 */ addu $s0, $s1, $t6 -/* 0F746C 7F0C293C 8E0F0004 */ lw $t7, 4($s0) -/* 0F7470 7F0C2940 59E00005 */ blezl $t7, .L7F0C2958 -/* 0F7474 7F0C2944 C7AA0128 */ lwc1 $f10, 0x128($sp) -/* 0F7478 7F0C2948 8E18002C */ lw $t8, 0x2c($s0) -/* 0F747C 7F0C294C 37080010 */ ori $t0, $t8, 0x10 -/* 0F7480 7F0C2950 AE08002C */ sw $t0, 0x2c($s0) -/* 0F7484 7F0C2954 C7AA0128 */ lwc1 $f10, 0x128($sp) -.L7F0C2958: -/* 0F7488 7F0C2958 8FA50080 */ lw $a1, 0x80($sp) -/* 0F748C 7F0C295C 8FA600B8 */ lw $a2, 0xb8($sp) -/* 0F7490 7F0C2960 8FA700F0 */ lw $a3, 0xf0($sp) -/* 0F7494 7F0C2964 0FC30881 */ jal sub_GAME_7F0C2204 -/* 0F7498 7F0C2968 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0F749C 7F0C296C 00530019 */ multu $v0, $s3 -/* 0F74A0 7F0C2970 44808000 */ mtc1 $zero, $f16 -/* 0F74A4 7F0C2974 03C02025 */ move $a0, $fp -/* 0F74A8 7F0C2978 00004812 */ mflo $t1 -/* 0F74AC 7F0C297C 02298021 */ addu $s0, $s1, $t1 -/* 0F74B0 7F0C2980 C6120014 */ lwc1 $f18, 0x14($s0) -/* 0F74B4 7F0C2984 4612803C */ c.lt.s $f16, $f18 -/* 0F74B8 7F0C2988 00000000 */ nop -/* 0F74BC 7F0C298C 45020005 */ bc1fl .L7F0C29A4 -/* 0F74C0 7F0C2990 C7A4012C */ lwc1 $f4, 0x12c($sp) -/* 0F74C4 7F0C2994 8E0A002C */ lw $t2, 0x2c($s0) -/* 0F74C8 7F0C2998 35590020 */ ori $t9, $t2, 0x20 -/* 0F74CC 7F0C299C AE19002C */ sw $t9, 0x2c($s0) -/* 0F74D0 7F0C29A0 C7A4012C */ lwc1 $f4, 0x12c($sp) -.L7F0C29A4: -/* 0F74D4 7F0C29A4 8FA50084 */ lw $a1, 0x84($sp) -/* 0F74D8 7F0C29A8 8FA600BC */ lw $a2, 0xbc($sp) -/* 0F74DC 7F0C29AC 8FA700F4 */ lw $a3, 0xf4($sp) -/* 0F74E0 7F0C29B0 0FC30881 */ jal sub_GAME_7F0C2204 -/* 0F74E4 7F0C29B4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0F74E8 7F0C29B8 00530019 */ multu $v0, $s3 -/* 0F74EC 7F0C29BC 44803000 */ mtc1 $zero, $f6 -/* 0F74F0 7F0C29C0 03C02025 */ move $a0, $fp -/* 0F74F4 7F0C29C4 00005812 */ mflo $t3 -/* 0F74F8 7F0C29C8 022B8021 */ addu $s0, $s1, $t3 -/* 0F74FC 7F0C29CC C6080018 */ lwc1 $f8, 0x18($s0) -/* 0F7500 7F0C29D0 4608303C */ c.lt.s $f6, $f8 -/* 0F7504 7F0C29D4 00000000 */ nop -/* 0F7508 7F0C29D8 45020005 */ bc1fl .L7F0C29F0 -/* 0F750C 7F0C29DC C7AA012C */ lwc1 $f10, 0x12c($sp) -/* 0F7510 7F0C29E0 8E0C002C */ lw $t4, 0x2c($s0) -/* 0F7514 7F0C29E4 358D0040 */ ori $t5, $t4, 0x40 -/* 0F7518 7F0C29E8 AE0D002C */ sw $t5, 0x2c($s0) -/* 0F751C 7F0C29EC C7AA012C */ lwc1 $f10, 0x12c($sp) -.L7F0C29F0: -/* 0F7520 7F0C29F0 8FA50084 */ lw $a1, 0x84($sp) -/* 0F7524 7F0C29F4 8FA600BC */ lw $a2, 0xbc($sp) -/* 0F7528 7F0C29F8 8FA700F4 */ lw $a3, 0xf4($sp) -/* 0F752C 7F0C29FC 0FC308D3 */ jal sub_GAME_7F0C234C -/* 0F7530 7F0C2A00 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0F7534 7F0C2A04 00530019 */ multu $v0, $s3 -/* 0F7538 7F0C2A08 03C02025 */ move $a0, $fp -/* 0F753C 7F0C2A0C 00007012 */ mflo $t6 -/* 0F7540 7F0C2A10 022E8021 */ addu $s0, $s1, $t6 -/* 0F7544 7F0C2A14 8E0F002C */ lw $t7, 0x2c($s0) -/* 0F7548 7F0C2A18 35F80080 */ ori $t8, $t7, 0x80 -/* 0F754C 7F0C2A1C AE18002C */ sw $t8, 0x2c($s0) -/* 0F7550 7F0C2A20 8FA80134 */ lw $t0, 0x134($sp) -/* 0F7554 7F0C2A24 8FA700FC */ lw $a3, 0xfc($sp) -/* 0F7558 7F0C2A28 8FA600C4 */ lw $a2, 0xc4($sp) -/* 0F755C 7F0C2A2C 8FA5008C */ lw $a1, 0x8c($sp) -/* 0F7560 7F0C2A30 0FC30845 */ jal sub_GAME_7F0C2114 -/* 0F7564 7F0C2A34 AFA80010 */ sw $t0, 0x10($sp) -/* 0F7568 7F0C2A38 00530019 */ multu $v0, $s3 -/* 0F756C 7F0C2A3C 03C02025 */ move $a0, $fp -/* 0F7570 7F0C2A40 00004812 */ mflo $t1 -/* 0F7574 7F0C2A44 02298021 */ addu $s0, $s1, $t1 -/* 0F7578 7F0C2A48 8E0A002C */ lw $t2, 0x2c($s0) -/* 0F757C 7F0C2A4C 35590100 */ ori $t9, $t2, 0x100 -/* 0F7580 7F0C2A50 AE19002C */ sw $t9, 0x2c($s0) -/* 0F7584 7F0C2A54 C7B00138 */ lwc1 $f16, 0x138($sp) -/* 0F7588 7F0C2A58 8FA70100 */ lw $a3, 0x100($sp) -/* 0F758C 7F0C2A5C 8FA600C8 */ lw $a2, 0xc8($sp) -/* 0F7590 7F0C2A60 8FA50090 */ lw $a1, 0x90($sp) -/* 0F7594 7F0C2A64 0FC30881 */ jal sub_GAME_7F0C2204 -/* 0F7598 7F0C2A68 E7B00010 */ swc1 $f16, 0x10($sp) -/* 0F759C 7F0C2A6C 00530019 */ multu $v0, $s3 -/* 0F75A0 7F0C2A70 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0F75A4 7F0C2A74 44819000 */ mtc1 $at, $f18 -/* 0F75A8 7F0C2A78 03C02025 */ move $a0, $fp -/* 0F75AC 7F0C2A7C 00005812 */ mflo $t3 -/* 0F75B0 7F0C2A80 022B8021 */ addu $s0, $s1, $t3 -/* 0F75B4 7F0C2A84 C6040024 */ lwc1 $f4, 0x24($s0) -/* 0F75B8 7F0C2A88 4604903C */ c.lt.s $f18, $f4 -/* 0F75BC 7F0C2A8C 00000000 */ nop -/* 0F75C0 7F0C2A90 45020005 */ bc1fl .L7F0C2AA8 -/* 0F75C4 7F0C2A94 8FAE0130 */ lw $t6, 0x130($sp) -/* 0F75C8 7F0C2A98 8E0C002C */ lw $t4, 0x2c($s0) -/* 0F75CC 7F0C2A9C 358D0200 */ ori $t5, $t4, 0x200 -/* 0F75D0 7F0C2AA0 AE0D002C */ sw $t5, 0x2c($s0) -/* 0F75D4 7F0C2AA4 8FAE0130 */ lw $t6, 0x130($sp) -.L7F0C2AA8: -/* 0F75D8 7F0C2AA8 8FA50088 */ lw $a1, 0x88($sp) -/* 0F75DC 7F0C2AAC 8FA600C0 */ lw $a2, 0xc0($sp) -/* 0F75E0 7F0C2AB0 8FA700F8 */ lw $a3, 0xf8($sp) -/* 0F75E4 7F0C2AB4 0FC30845 */ jal sub_GAME_7F0C2114 -/* 0F75E8 7F0C2AB8 AFAE0010 */ sw $t6, 0x10($sp) -/* 0F75EC 7F0C2ABC 00530019 */ multu $v0, $s3 -/* 0F75F0 7F0C2AC0 03C02025 */ move $a0, $fp -/* 0F75F4 7F0C2AC4 00007812 */ mflo $t7 -/* 0F75F8 7F0C2AC8 022F8021 */ addu $s0, $s1, $t7 -/* 0F75FC 7F0C2ACC 8E18002C */ lw $t8, 0x2c($s0) -/* 0F7600 7F0C2AD0 37080400 */ ori $t0, $t8, 0x400 -/* 0F7604 7F0C2AD4 AE08002C */ sw $t0, 0x2c($s0) -/* 0F7608 7F0C2AD8 8FA90130 */ lw $t1, 0x130($sp) -/* 0F760C 7F0C2ADC 8FA700F8 */ lw $a3, 0xf8($sp) -/* 0F7610 7F0C2AE0 8FA600C0 */ lw $a2, 0xc0($sp) -/* 0F7614 7F0C2AE4 8FA50088 */ lw $a1, 0x88($sp) -/* 0F7618 7F0C2AE8 0FC30809 */ jal sub_GAME_7F0C2024 -/* 0F761C 7F0C2AEC AFA90010 */ sw $t1, 0x10($sp) -/* 0F7620 7F0C2AF0 00530019 */ multu $v0, $s3 -/* 0F7624 7F0C2AF4 03C02025 */ move $a0, $fp -/* 0F7628 7F0C2AF8 00005012 */ mflo $t2 -/* 0F762C 7F0C2AFC 022A8021 */ addu $s0, $s1, $t2 -/* 0F7630 7F0C2B00 8E19001C */ lw $t9, 0x1c($s0) -/* 0F7634 7F0C2B04 5B200007 */ blezl $t9, .L7F0C2B24 -/* 0F7638 7F0C2B08 8FAD0144 */ lw $t5, 0x144($sp) -/* 0F763C 7F0C2B0C 8E03002C */ lw $v1, 0x2c($s0) -/* 0F7640 7F0C2B10 306B0400 */ andi $t3, $v1, 0x400 -/* 0F7644 7F0C2B14 15600002 */ bnez $t3, .L7F0C2B20 -/* 0F7648 7F0C2B18 346C0800 */ ori $t4, $v1, 0x800 -/* 0F764C 7F0C2B1C AE0C002C */ sw $t4, 0x2c($s0) -.L7F0C2B20: -/* 0F7650 7F0C2B20 8FAD0144 */ lw $t5, 0x144($sp) -.L7F0C2B24: -/* 0F7654 7F0C2B24 8FA5009C */ lw $a1, 0x9c($sp) -/* 0F7658 7F0C2B28 8FA600D4 */ lw $a2, 0xd4($sp) -/* 0F765C 7F0C2B2C 8FA7010C */ lw $a3, 0x10c($sp) -/* 0F7660 7F0C2B30 0FC30809 */ jal sub_GAME_7F0C2024 -/* 0F7664 7F0C2B34 AFAD0010 */ sw $t5, 0x10($sp) -/* 0F7668 7F0C2B38 00530019 */ multu $v0, $s3 -/* 0F766C 7F0C2B3C 03C02025 */ move $a0, $fp -/* 0F7670 7F0C2B40 00007012 */ mflo $t6 -/* 0F7674 7F0C2B44 022E8021 */ addu $s0, $s1, $t6 -/* 0F7678 7F0C2B48 8E0F0030 */ lw $t7, 0x30($s0) -/* 0F767C 7F0C2B4C 59E00005 */ blezl $t7, .L7F0C2B64 -/* 0F7680 7F0C2B50 8FA90148 */ lw $t1, 0x148($sp) -/* 0F7684 7F0C2B54 8E18002C */ lw $t8, 0x2c($s0) -/* 0F7688 7F0C2B58 37082000 */ ori $t0, $t8, 0x2000 -/* 0F768C 7F0C2B5C AE08002C */ sw $t0, 0x2c($s0) -/* 0F7690 7F0C2B60 8FA90148 */ lw $t1, 0x148($sp) -.L7F0C2B64: -/* 0F7694 7F0C2B64 8FA500A0 */ lw $a1, 0xa0($sp) -/* 0F7698 7F0C2B68 8FA600D8 */ lw $a2, 0xd8($sp) -/* 0F769C 7F0C2B6C 8FA70110 */ lw $a3, 0x110($sp) -/* 0F76A0 7F0C2B70 0FC30845 */ jal sub_GAME_7F0C2114 -/* 0F76A4 7F0C2B74 AFA90010 */ sw $t1, 0x10($sp) -/* 0F76A8 7F0C2B78 00530019 */ multu $v0, $s3 -/* 0F76AC 7F0C2B7C 33C20001 */ andi $v0, $fp, 1 -/* 0F76B0 7F0C2B80 00005012 */ mflo $t2 -/* 0F76B4 7F0C2B84 022A8021 */ addu $s0, $s1, $t2 -/* 0F76B8 7F0C2B88 8E190034 */ lw $t9, 0x34($s0) -/* 0F76BC 7F0C2B8C 1B200004 */ blez $t9, .L7F0C2BA0 -/* 0F76C0 7F0C2B90 00000000 */ nop -/* 0F76C4 7F0C2B94 8E0B002C */ lw $t3, 0x2c($s0) -/* 0F76C8 7F0C2B98 356C1000 */ ori $t4, $t3, 0x1000 -/* 0F76CC 7F0C2B9C AE0C002C */ sw $t4, 0x2c($s0) -.L7F0C2BA0: -/* 0F76D0 7F0C2BA0 1BC0005A */ blez $fp, .L7F0C2D0C -/* 0F76D4 7F0C2BA4 0000B025 */ move $s6, $zero -/* 0F76D8 7F0C2BA8 10400016 */ beqz $v0, .L7F0C2C04 -/* 0F76DC 7F0C2BAC 3C198008 */ lui $t9, %hi(player1_player_data) -/* 0F76E0 7F0C2BB0 3C028008 */ lui $v0, %hi(player1_player_data + 0x58) -/* 0F76E4 7F0C2BB4 8C429F48 */ lw $v0, %lo(player1_player_data + 0x58)($v0) -/* 0F76E8 7F0C2BB8 24030004 */ li $v1, 4 -/* 0F76EC 7F0C2BBC 24160001 */ li $s6, 1 -/* 0F76F0 7F0C2BC0 14620005 */ bne $v1, $v0, .L7F0C2BD8 -/* 0F76F4 7F0C2BC4 8FAD0098 */ lw $t5, 0x98($sp) -/* 0F76F8 7F0C2BC8 3C040001 */ lui $a0, 1 -/* 0F76FC 7F0C2BCC 01A47025 */ or $t6, $t5, $a0 -/* 0F7700 7F0C2BD0 1000000B */ b .L7F0C2C00 -/* 0F7704 7F0C2BD4 AFAE0098 */ sw $t6, 0x98($sp) -.L7F0C2BD8: -/* 0F7708 7F0C2BD8 16E20005 */ bne $s7, $v0, .L7F0C2BF0 -/* 0F770C 7F0C2BDC 24050002 */ li $a1, 2 -/* 0F7710 7F0C2BE0 8FAF0098 */ lw $t7, 0x98($sp) -/* 0F7714 7F0C2BE4 35F88000 */ ori $t8, $t7, 0x8000 -/* 0F7718 7F0C2BE8 10000005 */ b .L7F0C2C00 -/* 0F771C 7F0C2BEC AFB80098 */ sw $t8, 0x98($sp) -.L7F0C2BF0: -/* 0F7720 7F0C2BF0 14A20003 */ bne $a1, $v0, .L7F0C2C00 -/* 0F7724 7F0C2BF4 8FA80098 */ lw $t0, 0x98($sp) -/* 0F7728 7F0C2BF8 35094000 */ ori $t1, $t0, 0x4000 -/* 0F772C 7F0C2BFC AFA90098 */ sw $t1, 0x98($sp) -.L7F0C2C00: -/* 0F7730 7F0C2C00 12DE0041 */ beq $s6, $fp, .L7F0C2D08 -.L7F0C2C04: -/* 0F7734 7F0C2C04 001650C0 */ sll $t2, $s6, 3 -/* 0F7738 7F0C2C08 01565023 */ subu $t2, $t2, $s6 -/* 0F773C 7F0C2C0C 000A5100 */ sll $t2, $t2, 4 -/* 0F7740 7F0C2C10 27399EF0 */ addiu $t9, %lo(player1_player_data) # addiu $t9, $t9, -0x6110 -/* 0F7744 7F0C2C14 0159A021 */ addu $s4, $t2, $t9 -/* 0F7748 7F0C2C18 24030004 */ li $v1, 4 -/* 0F774C 7F0C2C1C 3C040001 */ lui $a0, 1 -/* 0F7750 7F0C2C20 24050002 */ li $a1, 2 -.L7F0C2C24: -/* 0F7754 7F0C2C24 8E820058 */ lw $v0, 0x58($s4) -/* 0F7758 7F0C2C28 14620008 */ bne $v1, $v0, .L7F0C2C4C -/* 0F775C 7F0C2C2C 00000000 */ nop -/* 0F7760 7F0C2C30 02D30019 */ multu $s6, $s3 -/* 0F7764 7F0C2C34 00005812 */ mflo $t3 -/* 0F7768 7F0C2C38 022B9021 */ addu $s2, $s1, $t3 -/* 0F776C 7F0C2C3C 8E4C002C */ lw $t4, 0x2c($s2) -/* 0F7770 7F0C2C40 01846825 */ or $t5, $t4, $a0 -/* 0F7774 7F0C2C44 10000012 */ b .L7F0C2C90 -/* 0F7778 7F0C2C48 AE4D002C */ sw $t5, 0x2c($s2) -.L7F0C2C4C: -/* 0F777C 7F0C2C4C 16E20008 */ bne $s7, $v0, .L7F0C2C70 -/* 0F7780 7F0C2C50 00000000 */ nop -/* 0F7784 7F0C2C54 02D30019 */ multu $s6, $s3 -/* 0F7788 7F0C2C58 00007012 */ mflo $t6 -/* 0F778C 7F0C2C5C 022E9021 */ addu $s2, $s1, $t6 -/* 0F7790 7F0C2C60 8E4F002C */ lw $t7, 0x2c($s2) -/* 0F7794 7F0C2C64 35F88000 */ ori $t8, $t7, 0x8000 -/* 0F7798 7F0C2C68 10000009 */ b .L7F0C2C90 -/* 0F779C 7F0C2C6C AE58002C */ sw $t8, 0x2c($s2) -.L7F0C2C70: -/* 0F77A0 7F0C2C70 54A20008 */ bnel $a1, $v0, .L7F0C2C94 -/* 0F77A4 7F0C2C74 8E8200C8 */ lw $v0, 0xc8($s4) -/* 0F77A8 7F0C2C78 02D30019 */ multu $s6, $s3 -/* 0F77AC 7F0C2C7C 00004012 */ mflo $t0 -/* 0F77B0 7F0C2C80 02289021 */ addu $s2, $s1, $t0 -/* 0F77B4 7F0C2C84 8E49002C */ lw $t1, 0x2c($s2) -/* 0F77B8 7F0C2C88 352A4000 */ ori $t2, $t1, 0x4000 -/* 0F77BC 7F0C2C8C AE4A002C */ sw $t2, 0x2c($s2) -.L7F0C2C90: -/* 0F77C0 7F0C2C90 8E8200C8 */ lw $v0, 0xc8($s4) -.L7F0C2C94: -/* 0F77C4 7F0C2C94 14620008 */ bne $v1, $v0, .L7F0C2CB8 -/* 0F77C8 7F0C2C98 00000000 */ nop -/* 0F77CC 7F0C2C9C 02D30019 */ multu $s6, $s3 -/* 0F77D0 7F0C2CA0 0000C812 */ mflo $t9 -/* 0F77D4 7F0C2CA4 02399021 */ addu $s2, $s1, $t9 -/* 0F77D8 7F0C2CA8 8E4B0064 */ lw $t3, 0x64($s2) -/* 0F77DC 7F0C2CAC 01646025 */ or $t4, $t3, $a0 -/* 0F77E0 7F0C2CB0 10000012 */ b .L7F0C2CFC -/* 0F77E4 7F0C2CB4 AE4C0064 */ sw $t4, 0x64($s2) -.L7F0C2CB8: -/* 0F77E8 7F0C2CB8 16E20008 */ bne $s7, $v0, .L7F0C2CDC -/* 0F77EC 7F0C2CBC 00000000 */ nop -/* 0F77F0 7F0C2CC0 02D30019 */ multu $s6, $s3 -/* 0F77F4 7F0C2CC4 00006812 */ mflo $t5 -/* 0F77F8 7F0C2CC8 022D9021 */ addu $s2, $s1, $t5 -/* 0F77FC 7F0C2CCC 8E4E0064 */ lw $t6, 0x64($s2) -/* 0F7800 7F0C2CD0 35CF8000 */ ori $t7, $t6, 0x8000 -/* 0F7804 7F0C2CD4 10000009 */ b .L7F0C2CFC -/* 0F7808 7F0C2CD8 AE4F0064 */ sw $t7, 0x64($s2) -.L7F0C2CDC: -/* 0F780C 7F0C2CDC 54A20008 */ bnel $a1, $v0, .L7F0C2D00 -/* 0F7810 7F0C2CE0 26D60002 */ addiu $s6, $s6, 2 -/* 0F7814 7F0C2CE4 02D30019 */ multu $s6, $s3 -/* 0F7818 7F0C2CE8 0000C012 */ mflo $t8 -/* 0F781C 7F0C2CEC 02389021 */ addu $s2, $s1, $t8 -/* 0F7820 7F0C2CF0 8E480064 */ lw $t0, 0x64($s2) -/* 0F7824 7F0C2CF4 35094000 */ ori $t1, $t0, 0x4000 -/* 0F7828 7F0C2CF8 AE490064 */ sw $t1, 0x64($s2) -.L7F0C2CFC: -/* 0F782C 7F0C2CFC 26D60002 */ addiu $s6, $s6, 2 -.L7F0C2D00: -/* 0F7830 7F0C2D00 16DEFFC8 */ bne $s6, $fp, .L7F0C2C24 -/* 0F7834 7F0C2D04 269400E0 */ addiu $s4, $s4, 0xe0 -.L7F0C2D08: -/* 0F7838 7F0C2D08 0000B025 */ move $s6, $zero -.L7F0C2D0C: -/* 0F783C 7F0C2D0C 1BC00050 */ blez $fp, .L7F0C2E50 -/* 0F7840 7F0C2D10 3C148005 */ lui $s4, %hi(loaded_text_index) -/* 0F7844 7F0C2D14 26948640 */ addiu $s4, %lo(loaded_text_index) # addiu $s4, $s4, -0x79c0 -/* 0F7848 7F0C2D18 27B2006C */ addiu $s2, $sp, 0x6c -/* 0F784C 7F0C2D1C 24150011 */ li $s5, 17 -.L7F0C2D20: -/* 0F7850 7F0C2D20 00009825 */ move $s3, $zero -/* 0F7854 7F0C2D24 24050010 */ li $a1, 16 -/* 0F7858 7F0C2D28 8E50002C */ lw $s0, 0x2c($s2) -.L7F0C2D2C: -/* 0F785C 7F0C2D2C 240A0001 */ li $t2, 1 -/* 0F7860 7F0C2D30 00AA1004 */ sllv $v0, $t2, $a1 -/* 0F7864 7F0C2D34 0202C824 */ and $t9, $s0, $v0 -/* 0F7868 7F0C2D38 1320000F */ beqz $t9, .L7F0C2D78 -/* 0F786C 7F0C2D3C 00405827 */ not $t3, $v0 -/* 0F7870 7F0C2D40 00056840 */ sll $t5, $a1, 1 -/* 0F7874 7F0C2D44 3C188008 */ lui $t8, %hi(ptr_BONDdata_p1) -/* 0F7878 7F0C2D48 020B6024 */ and $t4, $s0, $t3 -/* 0F787C 7F0C2D4C 27189EE0 */ addiu $t8, %lo(ptr_BONDdata_p1) # addiu $t8, $t8, -0x6120 -/* 0F7880 7F0C2D50 028D7021 */ addu $t6, $s4, $t5 -/* 0F7884 7F0C2D54 00167880 */ sll $t7, $s6, 2 -/* 0F7888 7F0C2D58 AE4C002C */ sw $t4, 0x2c($s2) -/* 0F788C 7F0C2D5C 01F88821 */ addu $s1, $t7, $t8 -/* 0F7890 7F0C2D60 95C40000 */ lhu $a0, ($t6) -/* 0F7894 7F0C2D64 0FC30776 */ jal get_textptr_for_textID -/* 0F7898 7F0C2D68 24130001 */ li $s3, 1 -/* 0F789C 7F0C2D6C 8E280000 */ lw $t0, ($s1) -/* 0F78A0 7F0C2D70 AD022A10 */ sw $v0, 0x2a10($t0) -/* 0F78A4 7F0C2D74 8E50002C */ lw $s0, 0x2c($s2) -.L7F0C2D78: -/* 0F78A8 7F0C2D78 16000002 */ bnez $s0, .L7F0C2D84 -/* 0F78AC 7F0C2D7C 00000000 */ nop -/* 0F78B0 7F0C2D80 24130001 */ li $s3, 1 -.L7F0C2D84: -/* 0F78B4 7F0C2D84 0C002914 */ jal get_random_value -/* 0F78B8 7F0C2D88 00000000 */ nop -/* 0F78BC 7F0C2D8C 0055001B */ divu $zero, $v0, $s5 -/* 0F78C0 7F0C2D90 00002810 */ mfhi $a1 -/* 0F78C4 7F0C2D94 16A00002 */ bnez $s5, .L7F0C2DA0 -/* 0F78C8 7F0C2D98 00000000 */ nop -/* 0F78CC 7F0C2D9C 0007000D */ break 7 -.L7F0C2DA0: -/* 0F78D0 7F0C2DA0 5260FFE2 */ beql $s3, $zero, .L7F0C2D2C -/* 0F78D4 7F0C2DA4 8E50002C */ lw $s0, 0x2c($s2) -/* 0F78D8 7F0C2DA8 2A610002 */ slti $at, $s3, 2 -/* 0F78DC 7F0C2DAC 50200026 */ beql $at, $zero, .L7F0C2E48 -/* 0F78E0 7F0C2DB0 26D60001 */ addiu $s6, $s6, 1 -.L7F0C2DB4: -/* 0F78E4 7F0C2DB4 0C002914 */ jal get_random_value -/* 0F78E8 7F0C2DB8 00000000 */ nop -/* 0F78EC 7F0C2DBC 0055001B */ divu $zero, $v0, $s5 -/* 0F78F0 7F0C2DC0 8E50002C */ lw $s0, 0x2c($s2) -/* 0F78F4 7F0C2DC4 00001810 */ mfhi $v1 -/* 0F78F8 7F0C2DC8 24090001 */ li $t1, 1 -/* 0F78FC 7F0C2DCC 00695004 */ sllv $t2, $t1, $v1 -/* 0F7900 7F0C2DD0 16A00002 */ bnez $s5, .L7F0C2DDC -/* 0F7904 7F0C2DD4 00000000 */ nop -/* 0F7908 7F0C2DD8 0007000D */ break 7 -.L7F0C2DDC: -/* 0F790C 7F0C2DDC 020AC824 */ and $t9, $s0, $t2 -/* 0F7910 7F0C2DE0 13200012 */ beqz $t9, .L7F0C2E2C -/* 0F7914 7F0C2DE4 00602825 */ move $a1, $v1 -/* 0F7918 7F0C2DE8 240B0001 */ li $t3, 1 -/* 0F791C 7F0C2DEC 006B6004 */ sllv $t4, $t3, $v1 -/* 0F7920 7F0C2DF0 01806827 */ not $t5, $t4 -/* 0F7924 7F0C2DF4 00037840 */ sll $t7, $v1, 1 -/* 0F7928 7F0C2DF8 3C098008 */ lui $t1, %hi(ptr_BONDdata_p1) -/* 0F792C 7F0C2DFC 020D7024 */ and $t6, $s0, $t5 -/* 0F7930 7F0C2E00 25299EE0 */ addiu $t1, %lo(ptr_BONDdata_p1) # addiu $t1, $t1, -0x6120 -/* 0F7934 7F0C2E04 028FC021 */ addu $t8, $s4, $t7 -/* 0F7938 7F0C2E08 00164080 */ sll $t0, $s6, 2 -/* 0F793C 7F0C2E0C AE4E002C */ sw $t6, 0x2c($s2) -/* 0F7940 7F0C2E10 01098821 */ addu $s1, $t0, $t1 -/* 0F7944 7F0C2E14 97040000 */ lhu $a0, ($t8) -/* 0F7948 7F0C2E18 0FC30776 */ jal get_textptr_for_textID -/* 0F794C 7F0C2E1C 24130002 */ li $s3, 2 -/* 0F7950 7F0C2E20 8E2A0000 */ lw $t2, ($s1) -/* 0F7954 7F0C2E24 AD422A14 */ sw $v0, 0x2a14($t2) -/* 0F7958 7F0C2E28 8E50002C */ lw $s0, 0x2c($s2) -.L7F0C2E2C: -/* 0F795C 7F0C2E2C 56000003 */ bnezl $s0, .L7F0C2E3C -/* 0F7960 7F0C2E30 2A610002 */ slti $at, $s3, 2 -/* 0F7964 7F0C2E34 24130002 */ li $s3, 2 -/* 0F7968 7F0C2E38 2A610002 */ slti $at, $s3, 2 -.L7F0C2E3C: -/* 0F796C 7F0C2E3C 1420FFDD */ bnez $at, .L7F0C2DB4 -/* 0F7970 7F0C2E40 00000000 */ nop -/* 0F7974 7F0C2E44 26D60001 */ addiu $s6, $s6, 1 -.L7F0C2E48: -/* 0F7978 7F0C2E48 16DEFFB5 */ bne $s6, $fp, .L7F0C2D20 -/* 0F797C 7F0C2E4C 26520038 */ addiu $s2, $s2, 0x38 -.L7F0C2E50: -/* 0F7980 7F0C2E50 8FBF0044 */ lw $ra, 0x44($sp) -/* 0F7984 7F0C2E54 8FB00020 */ lw $s0, 0x20($sp) -/* 0F7988 7F0C2E58 8FB10024 */ lw $s1, 0x24($sp) -/* 0F798C 7F0C2E5C 8FB20028 */ lw $s2, 0x28($sp) -/* 0F7990 7F0C2E60 8FB3002C */ lw $s3, 0x2c($sp) -/* 0F7994 7F0C2E64 8FB40030 */ lw $s4, 0x30($sp) -/* 0F7998 7F0C2E68 8FB50034 */ lw $s5, 0x34($sp) -/* 0F799C 7F0C2E6C 8FB60038 */ lw $s6, 0x38($sp) -/* 0F79A0 7F0C2E70 8FB7003C */ lw $s7, 0x3c($sp) -/* 0F79A4 7F0C2E74 8FBE0040 */ lw $fp, 0x40($sp) -/* 0F79A8 7F0C2E78 03E00008 */ jr $ra -/* 0F79AC 7F0C2E7C 27BD0168 */ addiu $sp, $sp, 0x168 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0C2E80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C2E80 -/* 0F79B0 7F0C2E80 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0F79B4 7F0C2E84 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F79B8 7F0C2E88 0FC26C54 */ jal get_cur_playernum -/* 0F79BC 7F0C2E8C 00000000 */ nop -/* 0F79C0 7F0C2E90 0FC26919 */ jal get_num_players -/* 0F79C4 7F0C2E94 AFA20034 */ sw $v0, 0x34($sp) -/* 0F79C8 7F0C2E98 83A40037 */ lb $a0, 0x37($sp) -/* 0F79CC 7F0C2E9C 2405FFFE */ li $a1, -2 -/* 0F79D0 7F0C2EA0 24060001 */ li $a2, 1 -/* 0F79D4 7F0C2EA4 AFA20030 */ sw $v0, 0x30($sp) -/* 0F79D8 7F0C2EA8 0C00312D */ jal get_controller_3dstick_L_R -/* 0F79DC 7F0C2EAC AFA40018 */ sw $a0, 0x18($sp) -/* 0F79E0 7F0C2EB0 AFA2002C */ sw $v0, 0x2c($sp) -/* 0F79E4 7F0C2EB4 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 0F79E8 7F0C2EB8 8FA40034 */ lw $a0, 0x34($sp) -/* 0F79EC 7F0C2EBC 1440000E */ bnez $v0, .L7F0C2EF8 -/* 0F79F0 7F0C2EC0 8FA80030 */ lw $t0, 0x30($sp) -/* 0F79F4 7F0C2EC4 3C058009 */ lui $a1, %hi(is_gameover_flag) -/* 0F79F8 7F0C2EC8 24A5C704 */ addiu $a1, %lo(is_gameover_flag) # addiu $a1, $a1, -0x38fc -/* 0F79FC 7F0C2ECC 8CA20000 */ lw $v0, ($a1) -/* 0F7A00 7F0C2ED0 3C0E8005 */ lui $t6, %hi(D_80048498) -/* 0F7A04 7F0C2ED4 28410002 */ slti $at, $v0, 2 -/* 0F7A08 7F0C2ED8 14200007 */ bnez $at, .L7F0C2EF8 -/* 0F7A0C 7F0C2EDC 00000000 */ nop -/* 0F7A10 7F0C2EE0 8DCE8498 */ lw $t6, %lo(D_80048498)($t6) -/* 0F7A14 7F0C2EE4 24190001 */ li $t9, 1 -/* 0F7A18 7F0C2EE8 004E7823 */ subu $t7, $v0, $t6 -/* 0F7A1C 7F0C2EEC 1DE00002 */ bgtz $t7, .L7F0C2EF8 -/* 0F7A20 7F0C2EF0 ACAF0000 */ sw $t7, ($a1) -/* 0F7A24 7F0C2EF4 ACB90000 */ sw $t9, ($a1) -.L7F0C2EF8: -/* 0F7A28 7F0C2EF8 3C058009 */ lui $a1, %hi(is_gameover_flag) -/* 0F7A2C 7F0C2EFC 24010001 */ li $at, 1 -/* 0F7A30 7F0C2F00 110101A3 */ beq $t0, $at, .L7F0C3590 -/* 0F7A34 7F0C2F04 24A5C704 */ addiu $a1, %lo(is_gameover_flag) # addiu $a1, $a1, -0x38fc -/* 0F7A38 7F0C2F08 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7A3C 7F0C2F0C 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7A40 7F0C2F10 8CE30000 */ lw $v1, ($a3) -/* 0F7A44 7F0C2F14 8CA20000 */ lw $v0, ($a1) -/* 0F7A48 7F0C2F18 8C6900D8 */ lw $t1, 0xd8($v1) -/* 0F7A4C 7F0C2F1C 28410002 */ slti $at, $v0, 2 -/* 0F7A50 7F0C2F20 11200007 */ beqz $t1, .L7F0C2F40 -/* 0F7A54 7F0C2F24 00000000 */ nop -/* 0F7A58 7F0C2F28 14400005 */ bnez $v0, .L7F0C2F40 -/* 0F7A5C 7F0C2F2C 00000000 */ nop -/* 0F7A60 7F0C2F30 AC6029C4 */ sw $zero, 0x29c4($v1) -/* 0F7A64 7F0C2F34 8CEA0000 */ lw $t2, ($a3) -/* 0F7A68 7F0C2F38 10000195 */ b .L7F0C3590 -/* 0F7A6C 7F0C2F3C AD402A00 */ sw $zero, 0x2a00($t2) -.L7F0C2F40: -/* 0F7A70 7F0C2F40 10200193 */ beqz $at, .L7F0C3590 -/* 0F7A74 7F0C2F44 8FA40034 */ lw $a0, 0x34($sp) -/* 0F7A78 7F0C2F48 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 0F7A7C 7F0C2F4C AFA80030 */ sw $t0, 0x30($sp) -/* 0F7A80 7F0C2F50 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7A84 7F0C2F54 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7A88 7F0C2F58 14400021 */ bnez $v0, .L7F0C2FE0 -/* 0F7A8C 7F0C2F5C 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7A90 7F0C2F60 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C70C) -/* 0F7A94 7F0C2F64 2484C70C */ addiu $a0, %lo(dword_CODE_bss_8008C70C) # addiu $a0, $a0, -0x38f4 -/* 0F7A98 7F0C2F68 3C058009 */ lui $a1, %hi(dword_CODE_bss_8008C714) -/* 0F7A9C 7F0C2F6C 3C028005 */ lui $v0, %hi(D_80048498) -/* 0F7AA0 7F0C2F70 8C428498 */ lw $v0, %lo(D_80048498)($v0) -/* 0F7AA4 7F0C2F74 8C8B0000 */ lw $t3, ($a0) -/* 0F7AA8 7F0C2F78 24A5C714 */ addiu $a1, %lo(dword_CODE_bss_8008C714) # addiu $a1, $a1, -0x38ec -/* 0F7AAC 7F0C2F7C 8CAD0000 */ lw $t5, ($a1) -/* 0F7AB0 7F0C2F80 01626021 */ addu $t4, $t3, $v0 -/* 0F7AB4 7F0C2F84 29810014 */ slti $at, $t4, 0x14 -/* 0F7AB8 7F0C2F88 01A27021 */ addu $t6, $t5, $v0 -/* 0F7ABC 7F0C2F8C AC8C0000 */ sw $t4, ($a0) -/* 0F7AC0 7F0C2F90 14200008 */ bnez $at, .L7F0C2FB4 -/* 0F7AC4 7F0C2F94 ACAE0000 */ sw $t6, ($a1) -/* 0F7AC8 7F0C2F98 3C068009 */ lui $a2, %hi(dword_CODE_bss_8008C708) -/* 0F7ACC 7F0C2F9C 24C6C708 */ addiu $a2, %lo(dword_CODE_bss_8008C708) # addiu $a2, $a2, -0x38f8 -/* 0F7AD0 7F0C2FA0 8CC20000 */ lw $v0, ($a2) -/* 0F7AD4 7F0C2FA4 258FFFEC */ addiu $t7, $t4, -0x14 -/* 0F7AD8 7F0C2FA8 AC8F0000 */ sw $t7, ($a0) -/* 0F7ADC 7F0C2FAC 2C580001 */ sltiu $t8, $v0, 1 -/* 0F7AE0 7F0C2FB0 ACD80000 */ sw $t8, ($a2) -.L7F0C2FB4: -/* 0F7AE4 7F0C2FB4 8CA30000 */ lw $v1, ($a1) -/* 0F7AE8 7F0C2FB8 3C048009 */ lui $a0, %hi(time_trigger_alt_gameover_msg) -/* 0F7AEC 7F0C2FBC 2484C710 */ addiu $a0, %lo(time_trigger_alt_gameover_msg) # addiu $a0, $a0, -0x38f0 -/* 0F7AF0 7F0C2FC0 28610078 */ slti $at, $v1, 0x78 -/* 0F7AF4 7F0C2FC4 14200006 */ bnez $at, .L7F0C2FE0 -/* 0F7AF8 7F0C2FC8 00000000 */ nop -/* 0F7AFC 7F0C2FCC 8C820000 */ lw $v0, ($a0) -/* 0F7B00 7F0C2FD0 2479FF88 */ addiu $t9, $v1, -0x78 -/* 0F7B04 7F0C2FD4 ACB90000 */ sw $t9, ($a1) -/* 0F7B08 7F0C2FD8 2C490001 */ sltiu $t1, $v0, 1 -/* 0F7B0C 7F0C2FDC AC890000 */ sw $t1, ($a0) -.L7F0C2FE0: -/* 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) -/* 0F7B24 7F0C2FF4 0163082A */ slt $at, $t3, $v1 -/* 0F7B28 7F0C2FF8 10200002 */ beqz $at, .L7F0C3004 -/* 0F7B2C 7F0C2FFC 00000000 */ nop -/* 0F7B30 7F0C3000 AC430054 */ sw $v1, 0x54($v0) -.L7F0C3004: -/* 0F7B34 7F0C3004 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 0F7B38 7F0C3008 AFA80030 */ sw $t0, 0x30($sp) -/* 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(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) -/* 0F7B5C 7F0C302C 004E7823 */ subu $t7, $v0, $t6 -/* 0F7B60 7F0C3030 01AF082A */ slt $at, $t5, $t7 -/* 0F7B64 7F0C3034 5020000E */ beql $at, $zero, .L7F0C3070 -/* 0F7B68 7F0C3038 8C6B29C4 */ lw $t3, 0x29c4($v1) -/* 0F7B6C 7F0C303C 0FC22FEE */ jal sub_GAME_7F08BFB8 -/* 0F7B70 7F0C3040 AFA80030 */ sw $t0, 0x30($sp) -/* 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(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 -/* 0F7B94 7F0C3064 AD49004C */ sw $t1, 0x4c($t2) -/* 0F7B98 7F0C3068 8CE30000 */ lw $v1, ($a3) -/* 0F7B9C 7F0C306C 8C6B29C4 */ lw $t3, 0x29c4($v1) -.L7F0C3070: -/* 0F7BA0 7F0C3070 83A4001B */ lb $a0, 0x1b($sp) -/* 0F7BA4 7F0C3074 1160012F */ beqz $t3, .L7F0C3534 -/* 0F7BA8 7F0C3078 00000000 */ nop -/* 0F7BAC 7F0C307C 8FA40034 */ lw $a0, 0x34($sp) -/* 0F7BB0 7F0C3080 0FC307BE */ jal check_if_player_is_pressing_anything_right -/* 0F7BB4 7F0C3084 AFA80030 */ sw $t0, 0x30($sp) -/* 0F7BB8 7F0C3088 1040000E */ beqz $v0, .L7F0C30C4 -/* 0F7BBC 7F0C308C 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7BC0 7F0C3090 0FC30788 */ jal check_can_advance_right_on_mpmenu -/* 0F7BC4 7F0C3094 AFA80030 */ sw $t0, 0x30($sp) -/* 0F7BC8 7F0C3098 1040000A */ beqz $v0, .L7F0C30C4 -/* 0F7BCC 7F0C309C 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7BD0 7F0C30A0 0FC307F7 */ jal play_watch_sfx_beep -/* 0F7BD4 7F0C30A4 00000000 */ nop -/* 0F7BD8 7F0C30A8 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7BDC 7F0C30AC 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7BE0 7F0C30B0 8CE30000 */ lw $v1, ($a3) -/* 0F7BE4 7F0C30B4 8C6C29C8 */ lw $t4, 0x29c8($v1) -/* 0F7BE8 7F0C30B8 258E0001 */ addiu $t6, $t4, 1 -/* 0F7BEC 7F0C30BC 10000112 */ b .L7F0C3508 -/* 0F7BF0 7F0C30C0 AC6E29C8 */ sw $t6, 0x29c8($v1) -.L7F0C30C4: -/* 0F7BF4 7F0C30C4 8FA40034 */ lw $a0, 0x34($sp) -/* 0F7BF8 7F0C30C8 0FC307DA */ jal check_if_player_is_pressing_anything_left -/* 0F7BFC 7F0C30CC AFA80030 */ sw $t0, 0x30($sp) -/* 0F7C00 7F0C30D0 1040000E */ beqz $v0, .L7F0C310C -/* 0F7C04 7F0C30D4 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7C08 7F0C30D8 0FC307A3 */ jal check_can_advance_left_on_mpmenu -/* 0F7C0C 7F0C30DC AFA80030 */ sw $t0, 0x30($sp) -/* 0F7C10 7F0C30E0 1040000A */ beqz $v0, .L7F0C310C -/* 0F7C14 7F0C30E4 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7C18 7F0C30E8 0FC307F7 */ jal play_watch_sfx_beep -/* 0F7C1C 7F0C30EC 00000000 */ nop -/* 0F7C20 7F0C30F0 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7C24 7F0C30F4 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7C28 7F0C30F8 8CE30000 */ lw $v1, ($a3) -/* 0F7C2C 7F0C30FC 8C6D29C8 */ lw $t5, 0x29c8($v1) -/* 0F7C30 7F0C3100 25AFFFFF */ addiu $t7, $t5, -1 -/* 0F7C34 7F0C3104 10000100 */ b .L7F0C3508 -/* 0F7C38 7F0C3108 AC6F29C8 */ sw $t7, 0x29c8($v1) -.L7F0C310C: -/* 0F7C3C 7F0C310C 8FA40034 */ lw $a0, 0x34($sp) -/* 0F7C40 7F0C3110 0FC307BE */ jal check_if_player_is_pressing_anything_right -/* 0F7C44 7F0C3114 AFA80030 */ sw $t0, 0x30($sp) -/* 0F7C48 7F0C3118 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7C4C 7F0C311C 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7C50 7F0C3120 1040000E */ beqz $v0, .L7F0C315C -/* 0F7C54 7F0C3124 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7C58 7F0C3128 8CF80000 */ lw $t8, ($a3) -/* 0F7C5C 7F0C312C 24010006 */ li $at, 6 -/* 0F7C60 7F0C3130 8F1929C8 */ lw $t9, 0x29c8($t8) -/* 0F7C64 7F0C3134 5721000A */ bnel $t9, $at, .L7F0C3160 -/* 0F7C68 7F0C3138 8FA40034 */ lw $a0, 0x34($sp) -/* 0F7C6C 7F0C313C 0FC307F7 */ jal play_watch_sfx_beep -/* 0F7C70 7F0C3140 00000000 */ nop -/* 0F7C74 7F0C3144 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7C78 7F0C3148 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7C7C 7F0C314C 8CEA0000 */ lw $t2, ($a3) -/* 0F7C80 7F0C3150 24090001 */ li $t1, 1 -/* 0F7C84 7F0C3154 100000EC */ b .L7F0C3508 -/* 0F7C88 7F0C3158 AD4929CC */ sw $t1, 0x29cc($t2) -.L7F0C315C: -/* 0F7C8C 7F0C315C 8FA40034 */ lw $a0, 0x34($sp) -.L7F0C3160: -/* 0F7C90 7F0C3160 0FC307DA */ jal check_if_player_is_pressing_anything_left -/* 0F7C94 7F0C3164 AFA80030 */ sw $t0, 0x30($sp) -/* 0F7C98 7F0C3168 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7C9C 7F0C316C 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7CA0 7F0C3170 1040000D */ beqz $v0, .L7F0C31A8 -/* 0F7CA4 7F0C3174 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7CA8 7F0C3178 8CEB0000 */ lw $t3, ($a3) -/* 0F7CAC 7F0C317C 24010006 */ li $at, 6 -/* 0F7CB0 7F0C3180 8D6C29C8 */ lw $t4, 0x29c8($t3) -/* 0F7CB4 7F0C3184 55810009 */ bnel $t4, $at, .L7F0C31AC -/* 0F7CB8 7F0C3188 83A4001B */ lb $a0, 0x1b($sp) -/* 0F7CBC 7F0C318C 0FC307F7 */ jal play_watch_sfx_beep -/* 0F7CC0 7F0C3190 00000000 */ nop -/* 0F7CC4 7F0C3194 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7CC8 7F0C3198 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7CCC 7F0C319C 8CEE0000 */ lw $t6, ($a3) -/* 0F7CD0 7F0C31A0 100000D9 */ b .L7F0C3508 -/* 0F7CD4 7F0C31A4 ADC029CC */ sw $zero, 0x29cc($t6) -.L7F0C31A8: -/* 0F7CD8 7F0C31A8 83A4001B */ lb $a0, 0x1b($sp) -.L7F0C31AC: -/* 0F7CDC 7F0C31AC 34058000 */ li $a1, 32768 -/* 0F7CE0 7F0C31B0 0C0030EB */ jal get_controller_buttons_pressed -/* 0F7CE4 7F0C31B4 AFA80030 */ sw $t0, 0x30($sp) -/* 0F7CE8 7F0C31B8 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7CEC 7F0C31BC 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7CF0 7F0C31C0 10400022 */ beqz $v0, .L7F0C324C -/* 0F7CF4 7F0C31C4 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7CF8 7F0C31C8 8CED0000 */ lw $t5, ($a3) -/* 0F7CFC 7F0C31CC 24010004 */ li $at, 4 -/* 0F7D00 7F0C31D0 8DAF29C8 */ lw $t7, 0x29c8($t5) -/* 0F7D04 7F0C31D4 55E1001E */ bnel $t7, $at, .L7F0C3250 -/* 0F7D08 7F0C31D8 8CEA0000 */ lw $t2, ($a3) -/* 0F7D0C 7F0C31DC 0FC307F7 */ jal play_watch_sfx_beep -/* 0F7D10 7F0C31E0 00000000 */ nop -/* 0F7D14 7F0C31E4 3C038009 */ lui $v1, %hi(is_paused) -/* 0F7D18 7F0C31E8 2463C718 */ addiu $v1, %lo(is_paused) # addiu $v1, $v1, -0x38e8 -/* 0F7D1C 7F0C31EC 8C780000 */ lw $t8, ($v1) -/* 0F7D20 7F0C31F0 24190001 */ li $t9, 1 -/* 0F7D24 7F0C31F4 17000009 */ bnez $t8, .L7F0C321C -/* 0F7D28 7F0C31F8 00000000 */ nop -/* 0F7D2C 7F0C31FC 0FC26C54 */ jal get_cur_playernum -/* 0F7D30 7F0C3200 AC790000 */ sw $t9, ($v1) -/* 0F7D34 7F0C3204 3C018009 */ lui $at, %hi(who_paused) -/* 0F7D38 7F0C3208 AC22C71C */ sw $v0, %lo(who_paused)($at) -/* 0F7D3C 7F0C320C 0FC2FEFE */ jal set_controls_locked_flag -/* 0F7D40 7F0C3210 24040001 */ li $a0, 1 -/* 0F7D44 7F0C3214 100000BD */ b .L7F0C350C -/* 0F7D48 7F0C3218 8FA2002C */ lw $v0, 0x2c($sp) -.L7F0C321C: -/* 0F7D4C 7F0C321C 0FC26C54 */ jal get_cur_playernum -/* 0F7D50 7F0C3220 00000000 */ nop -/* 0F7D54 7F0C3224 3C098009 */ lui $t1, %hi(who_paused) -/* 0F7D58 7F0C3228 8D29C71C */ lw $t1, %lo(who_paused)($t1) -/* 0F7D5C 7F0C322C 3C038009 */ lui $v1, %hi(is_paused) -/* 0F7D60 7F0C3230 2463C718 */ addiu $v1, %lo(is_paused) # addiu $v1, $v1, -0x38e8 -/* 0F7D64 7F0C3234 144900B4 */ bne $v0, $t1, .L7F0C3508 -/* 0F7D68 7F0C3238 00002025 */ move $a0, $zero -/* 0F7D6C 7F0C323C 0FC2FEFE */ jal set_controls_locked_flag -/* 0F7D70 7F0C3240 AC600000 */ sw $zero, ($v1) -/* 0F7D74 7F0C3244 100000B1 */ b .L7F0C350C -/* 0F7D78 7F0C3248 8FA2002C */ lw $v0, 0x2c($sp) -.L7F0C324C: -/* 0F7D7C 7F0C324C 8CEA0000 */ lw $t2, ($a3) -.L7F0C3250: -/* 0F7D80 7F0C3250 24060007 */ li $a2, 7 -/* 0F7D84 7F0C3254 83A4001B */ lb $a0, 0x1b($sp) -/* 0F7D88 7F0C3258 8D4B29C8 */ lw $t3, 0x29c8($t2) -/* 0F7D8C 7F0C325C 34059000 */ li $a1, 36864 -/* 0F7D90 7F0C3260 14CB0011 */ bne $a2, $t3, .L7F0C32A8 -/* 0F7D94 7F0C3264 00000000 */ nop -/* 0F7D98 7F0C3268 83A4001B */ lb $a0, 0x1b($sp) -/* 0F7D9C 7F0C326C 0C0030EB */ jal get_controller_buttons_pressed -/* 0F7DA0 7F0C3270 24054000 */ li $a1, 16384 -/* 0F7DA4 7F0C3274 504000A5 */ beql $v0, $zero, .L7F0C350C -/* 0F7DA8 7F0C3278 8FA2002C */ lw $v0, 0x2c($sp) -/* 0F7DAC 7F0C327C 0FC307F7 */ jal play_watch_sfx_beep -/* 0F7DB0 7F0C3280 00000000 */ nop -/* 0F7DB4 7F0C3284 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7DB8 7F0C3288 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7DBC 7F0C328C 8CEE0000 */ lw $t6, ($a3) -/* 0F7DC0 7F0C3290 240C0001 */ li $t4, 1 -/* 0F7DC4 7F0C3294 240D0003 */ li $t5, 3 -/* 0F7DC8 7F0C3298 ADCC29C4 */ sw $t4, 0x29c4($t6) -/* 0F7DCC 7F0C329C 8CEF0000 */ lw $t7, ($a3) -/* 0F7DD0 7F0C32A0 10000099 */ b .L7F0C3508 -/* 0F7DD4 7F0C32A4 ADED29C8 */ sw $t5, 0x29c8($t7) -.L7F0C32A8: -/* 0F7DD8 7F0C32A8 0C0030EB */ jal get_controller_buttons_pressed -/* 0F7DDC 7F0C32AC AFA80030 */ sw $t0, 0x30($sp) -/* 0F7DE0 7F0C32B0 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7DE4 7F0C32B4 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7DE8 7F0C32B8 1040000E */ beqz $v0, .L7F0C32F4 -/* 0F7DEC 7F0C32BC 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7DF0 7F0C32C0 8CE30000 */ lw $v1, ($a3) -/* 0F7DF4 7F0C32C4 24010005 */ li $at, 5 -/* 0F7DF8 7F0C32C8 8C6229C8 */ lw $v0, 0x29c8($v1) -/* 0F7DFC 7F0C32CC 10410002 */ beq $v0, $at, .L7F0C32D8 -/* 0F7E00 7F0C32D0 24010006 */ li $at, 6 -/* 0F7E04 7F0C32D4 1441000D */ bne $v0, $at, .L7F0C330C -.L7F0C32D8: -/* 0F7E08 7F0C32D8 24010006 */ li $at, 6 -/* 0F7E0C 7F0C32DC 54410006 */ bnel $v0, $at, .L7F0C32F8 -/* 0F7E10 7F0C32E0 83A4001B */ lb $a0, 0x1b($sp) -/* 0F7E14 7F0C32E4 8C7829CC */ lw $t8, 0x29cc($v1) -/* 0F7E18 7F0C32E8 24010001 */ li $at, 1 -/* 0F7E1C 7F0C32EC 17010007 */ bne $t8, $at, .L7F0C330C -/* 0F7E20 7F0C32F0 00000000 */ nop -.L7F0C32F4: -/* 0F7E24 7F0C32F4 83A4001B */ lb $a0, 0x1b($sp) -.L7F0C32F8: -/* 0F7E28 7F0C32F8 24054000 */ li $a1, 16384 -/* 0F7E2C 7F0C32FC 0C0030EB */ jal get_controller_buttons_pressed -/* 0F7E30 7F0C3300 AFA80030 */ sw $t0, 0x30($sp) -/* 0F7E34 7F0C3304 10400052 */ beqz $v0, .L7F0C3450 -/* 0F7E38 7F0C3308 8FA80030 */ lw $t0, 0x30($sp) -.L7F0C330C: -/* 0F7E3C 7F0C330C 0FC307F7 */ jal play_watch_sfx_beep -/* 0F7E40 7F0C3310 AFA80030 */ sw $t0, 0x30($sp) -/* 0F7E44 7F0C3314 3C198009 */ lui $t9, %hi(is_gameover_flag) -/* 0F7E48 7F0C3318 8F39C704 */ lw $t9, %lo(is_gameover_flag)($t9) -/* 0F7E4C 7F0C331C 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7E50 7F0C3320 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7E54 7F0C3324 24060007 */ li $a2, 7 -/* 0F7E58 7F0C3328 13200039 */ beqz $t9, .L7F0C3410 -/* 0F7E5C 7F0C332C 8FA80030 */ lw $t0, 0x30($sp) -/* 0F7E60 7F0C3330 8CE90000 */ lw $t1, ($a3) -/* 0F7E64 7F0C3334 00001825 */ move $v1, $zero -/* 0F7E68 7F0C3338 00002025 */ move $a0, $zero -/* 0F7E6C 7F0C333C 1900002E */ blez $t0, .L7F0C33F8 -/* 0F7E70 7F0C3340 AD2629C8 */ sw $a2, 0x29c8($t1) -/* 0F7E74 7F0C3344 31070003 */ andi $a3, $t0, 3 -/* 0F7E78 7F0C3348 10E0000E */ beqz $a3, .L7F0C3384 -/* 0F7E7C 7F0C334C 00E02825 */ move $a1, $a3 -/* 0F7E80 7F0C3350 3C0B8008 */ lui $t3, %hi(ptr_BONDdata_p1) -/* 0F7E84 7F0C3354 256B9EE0 */ addiu $t3, %lo(ptr_BONDdata_p1) # addiu $t3, $t3, -0x6120 -/* 0F7E88 7F0C3358 00005080 */ sll $t2, $zero, 2 -/* 0F7E8C 7F0C335C 014B1021 */ addu $v0, $t2, $t3 -.L7F0C3360: -/* 0F7E90 7F0C3360 8C4C0000 */ lw $t4, ($v0) -/* 0F7E94 7F0C3364 24840001 */ addiu $a0, $a0, 1 -/* 0F7E98 7F0C3368 8D8E29C8 */ lw $t6, 0x29c8($t4) -/* 0F7E9C 7F0C336C 14CE0002 */ bne $a2, $t6, .L7F0C3378 -/* 0F7EA0 7F0C3370 00000000 */ nop -/* 0F7EA4 7F0C3374 24630001 */ addiu $v1, $v1, 1 -.L7F0C3378: -/* 0F7EA8 7F0C3378 14A4FFF9 */ bne $a1, $a0, .L7F0C3360 -/* 0F7EAC 7F0C337C 24420004 */ addiu $v0, $v0, 4 -/* 0F7EB0 7F0C3380 1088001D */ beq $a0, $t0, .L7F0C33F8 -.L7F0C3384: -/* 0F7EB4 7F0C3384 3C0F8008 */ lui $t7, %hi(ptr_BONDdata_p1) -/* 0F7EB8 7F0C3388 25EF9EE0 */ addiu $t7, %lo(ptr_BONDdata_p1) # addiu $t7, $t7, -0x6120 -/* 0F7EBC 7F0C338C 00046880 */ sll $t5, $a0, 2 -/* 0F7EC0 7F0C3390 0008C080 */ sll $t8, $t0, 2 -/* 0F7EC4 7F0C3394 030F2821 */ addu $a1, $t8, $t7 -/* 0F7EC8 7F0C3398 01AF1021 */ addu $v0, $t5, $t7 -/* 0F7ECC 7F0C339C 8C590000 */ lw $t9, ($v0) -.L7F0C33A0: -/* 0F7ED0 7F0C33A0 8F2929C8 */ lw $t1, 0x29c8($t9) -/* 0F7ED4 7F0C33A4 54C90003 */ bnel $a2, $t1, .L7F0C33B4 -/* 0F7ED8 7F0C33A8 8C4A0004 */ lw $t2, 4($v0) -/* 0F7EDC 7F0C33AC 24630001 */ addiu $v1, $v1, 1 -/* 0F7EE0 7F0C33B0 8C4A0004 */ lw $t2, 4($v0) -.L7F0C33B4: -/* 0F7EE4 7F0C33B4 8D4B29C8 */ lw $t3, 0x29c8($t2) -/* 0F7EE8 7F0C33B8 54CB0003 */ bnel $a2, $t3, .L7F0C33C8 -/* 0F7EEC 7F0C33BC 8C4C0008 */ lw $t4, 8($v0) -/* 0F7EF0 7F0C33C0 24630001 */ addiu $v1, $v1, 1 -/* 0F7EF4 7F0C33C4 8C4C0008 */ lw $t4, 8($v0) -.L7F0C33C8: -/* 0F7EF8 7F0C33C8 8D8E29C8 */ lw $t6, 0x29c8($t4) -/* 0F7EFC 7F0C33CC 54CE0003 */ bnel $a2, $t6, .L7F0C33DC -/* 0F7F00 7F0C33D0 8C4D000C */ lw $t5, 0xc($v0) -/* 0F7F04 7F0C33D4 24630001 */ addiu $v1, $v1, 1 -/* 0F7F08 7F0C33D8 8C4D000C */ lw $t5, 0xc($v0) -.L7F0C33DC: -/* 0F7F0C 7F0C33DC 24420010 */ addiu $v0, $v0, 0x10 -/* 0F7F10 7F0C33E0 8DB829C8 */ lw $t8, 0x29c8($t5) -/* 0F7F14 7F0C33E4 14D80002 */ bne $a2, $t8, .L7F0C33F0 -/* 0F7F18 7F0C33E8 00000000 */ nop -/* 0F7F1C 7F0C33EC 24630001 */ addiu $v1, $v1, 1 -.L7F0C33F0: -/* 0F7F20 7F0C33F0 5445FFEB */ bnel $v0, $a1, .L7F0C33A0 -/* 0F7F24 7F0C33F4 8C590000 */ lw $t9, ($v0) -.L7F0C33F8: -/* 0F7F28 7F0C33F8 54680044 */ bnel $v1, $t0, .L7F0C350C -/* 0F7F2C 7F0C33FC 8FA2002C */ lw $v0, 0x2c($sp) -/* 0F7F30 7F0C3400 0C001A54 */ jal set_loaded_stage -/* 0F7F34 7F0C3404 2404005A */ li $a0, 90 -/* 0F7F38 7F0C3408 10000040 */ b .L7F0C350C -/* 0F7F3C 7F0C340C 8FA2002C */ lw $v0, 0x2c($sp) -.L7F0C3410: -/* 0F7F40 7F0C3410 8CEF0000 */ lw $t7, ($a3) -/* 0F7F44 7F0C3414 2419003C */ li $t9, 60 -/* 0F7F48 7F0C3418 ADE029C4 */ sw $zero, 0x29c4($t7) -/* 0F7F4C 7F0C341C 8CE90000 */ lw $t1, ($a3) -/* 0F7F50 7F0C3420 0FC26C54 */ jal get_cur_playernum -/* 0F7F54 7F0C3424 AD392A00 */ sw $t9, 0x2a00($t1) -/* 0F7F58 7F0C3428 3C0A8009 */ lui $t2, %hi(who_paused) -/* 0F7F5C 7F0C342C 8D4AC71C */ lw $t2, %lo(who_paused)($t2) -/* 0F7F60 7F0C3430 3C038009 */ lui $v1, %hi(is_paused) -/* 0F7F64 7F0C3434 2463C718 */ addiu $v1, %lo(is_paused) # addiu $v1, $v1, -0x38e8 -/* 0F7F68 7F0C3438 144A0033 */ bne $v0, $t2, .L7F0C3508 -/* 0F7F6C 7F0C343C 00002025 */ move $a0, $zero -/* 0F7F70 7F0C3440 0FC2FEFE */ jal set_controls_locked_flag -/* 0F7F74 7F0C3444 AC600000 */ sw $zero, ($v1) -/* 0F7F78 7F0C3448 10000030 */ b .L7F0C350C -/* 0F7F7C 7F0C344C 8FA2002C */ lw $v0, 0x2c($sp) -.L7F0C3450: -/* 0F7F80 7F0C3450 83A4001B */ lb $a0, 0x1b($sp) -/* 0F7F84 7F0C3454 0C0030EB */ jal get_controller_buttons_pressed -/* 0F7F88 7F0C3458 34059000 */ li $a1, 36864 -/* 0F7F8C 7F0C345C 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7F90 7F0C3460 10400010 */ beqz $v0, .L7F0C34A4 -/* 0F7F94 7F0C3464 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7F98 7F0C3468 8CEB0000 */ lw $t3, ($a3) -/* 0F7F9C 7F0C346C 24010005 */ li $at, 5 -/* 0F7FA0 7F0C3470 8D6C29C8 */ lw $t4, 0x29c8($t3) -/* 0F7FA4 7F0C3474 5581000C */ bnel $t4, $at, .L7F0C34A8 -/* 0F7FA8 7F0C3478 83A4001B */ lb $a0, 0x1b($sp) -/* 0F7FAC 7F0C347C 0FC307F7 */ jal play_watch_sfx_beep -/* 0F7FB0 7F0C3480 00000000 */ nop -/* 0F7FB4 7F0C3484 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7FB8 7F0C3488 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7FBC 7F0C348C 8CED0000 */ lw $t5, ($a3) -/* 0F7FC0 7F0C3490 240E0006 */ li $t6, 6 -/* 0F7FC4 7F0C3494 ADAE29C8 */ sw $t6, 0x29c8($t5) -/* 0F7FC8 7F0C3498 8CF80000 */ lw $t8, ($a3) -/* 0F7FCC 7F0C349C 1000001A */ b .L7F0C3508 -/* 0F7FD0 7F0C34A0 AF0029CC */ sw $zero, 0x29cc($t8) -.L7F0C34A4: -/* 0F7FD4 7F0C34A4 83A4001B */ lb $a0, 0x1b($sp) -.L7F0C34A8: -/* 0F7FD8 7F0C34A8 0C0030EB */ jal get_controller_buttons_pressed -/* 0F7FDC 7F0C34AC 34059000 */ li $a1, 36864 -/* 0F7FE0 7F0C34B0 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F7FE4 7F0C34B4 10400014 */ beqz $v0, .L7F0C3508 -/* 0F7FE8 7F0C34B8 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F7FEC 7F0C34BC 8CE30000 */ lw $v1, ($a3) -/* 0F7FF0 7F0C34C0 24010006 */ li $at, 6 -/* 0F7FF4 7F0C34C4 8C6F29C8 */ lw $t7, 0x29c8($v1) -/* 0F7FF8 7F0C34C8 55E10010 */ bnel $t7, $at, .L7F0C350C -/* 0F7FFC 7F0C34CC 8FA2002C */ lw $v0, 0x2c($sp) -/* 0F8000 7F0C34D0 8C7929CC */ lw $t9, 0x29cc($v1) -/* 0F8004 7F0C34D4 24010001 */ li $at, 1 -/* 0F8008 7F0C34D8 5721000C */ bnel $t9, $at, .L7F0C350C -/* 0F800C 7F0C34DC 8FA2002C */ lw $v0, 0x2c($sp) -/* 0F8010 7F0C34E0 0FC307F7 */ jal play_watch_sfx_beep -/* 0F8014 7F0C34E4 00000000 */ nop -/* 0F8018 7F0C34E8 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F801C 7F0C34EC 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F8020 7F0C34F0 8CE90000 */ lw $t1, ($a3) -/* 0F8024 7F0C34F4 00002025 */ move $a0, $zero -/* 0F8028 7F0C34F8 AD2029C4 */ sw $zero, 0x29c4($t1) -/* 0F802C 7F0C34FC 8CEA0000 */ lw $t2, ($a3) -/* 0F8030 7F0C3500 0FC3094C */ jal sub_GAME_7F0C2530 -/* 0F8034 7F0C3504 AD402A00 */ sw $zero, 0x2a00($t2) -.L7F0C3508: -/* 0F8038 7F0C3508 8FA2002C */ lw $v0, 0x2c($sp) -.L7F0C350C: -/* 0F803C 7F0C350C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0F8040 7F0C3510 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0F8044 7F0C3514 10400002 */ beqz $v0, .L7F0C3520 -/* 0F8048 7F0C3518 2401FFFF */ li $at, -1 -/* 0F804C 7F0C351C 14410003 */ bne $v0, $at, .L7F0C352C -.L7F0C3520: -/* 0F8050 7F0C3520 240B0001 */ li $t3, 1 -/* 0F8054 7F0C3524 1000001A */ b .L7F0C3590 -/* 0F8058 7F0C3528 AC6B29D0 */ sw $t3, 0x29d0($v1) -.L7F0C352C: -/* 0F805C 7F0C352C 10000018 */ b .L7F0C3590 -/* 0F8060 7F0C3530 AC6029D0 */ sw $zero, 0x29d0($v1) -.L7F0C3534: -/* 0F8064 7F0C3534 0C0030EB */ jal get_controller_buttons_pressed -/* 0F8068 7F0C3538 24051000 */ li $a1, 4096 -/* 0F806C 7F0C353C 50400015 */ beql $v0, $zero, .L7F0C3594 -/* 0F8070 7F0C3540 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F8074 7F0C3544 0FC307F7 */ jal play_watch_sfx_beep -/* 0F8078 7F0C3548 00000000 */ nop -/* 0F807C 7F0C354C 3C078008 */ lui $a3, %hi(pPlayer) -/* 0F8080 7F0C3550 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 -/* 0F8084 7F0C3554 8CEE0000 */ lw $t6, ($a3) -/* 0F8088 7F0C3558 240C0001 */ li $t4, 1 -/* 0F808C 7F0C355C 240D0003 */ li $t5, 3 -/* 0F8090 7F0C3560 ADCC29C4 */ sw $t4, 0x29c4($t6) -/* 0F8094 7F0C3564 8CF80000 */ lw $t8, ($a3) -/* 0F8098 7F0C3568 240F0001 */ li $t7, 1 -/* 0F809C 7F0C356C AF0D29C8 */ sw $t5, 0x29c8($t8) -/* 0F80A0 7F0C3570 8CF90000 */ lw $t9, ($a3) -/* 0F80A4 7F0C3574 AF2F29D0 */ sw $t7, 0x29d0($t9) -/* 0F80A8 7F0C3578 8CE30000 */ lw $v1, ($a3) -/* 0F80AC 7F0C357C C46400DC */ lwc1 $f4, 0xdc($v1) -/* 0F80B0 7F0C3580 E46400EC */ swc1 $f4, 0xec($v1) -/* 0F80B4 7F0C3584 8CE30000 */ lw $v1, ($a3) -/* 0F80B8 7F0C3588 C46600E0 */ lwc1 $f6, 0xe0($v1) -/* 0F80BC 7F0C358C E46600F0 */ swc1 $f6, 0xf0($v1) -.L7F0C3590: -/* 0F80C0 7F0C3590 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C3594: -/* 0F80C4 7F0C3594 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0F80C8 7F0C3598 03E00008 */ jr $ra -/* 0F80CC 7F0C359C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void display_text_for_playerdata_on_MP_menu(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BC88*/ -glabel jpt_MP_overlays_scoring_scenario_0 -.word green_text_normal -.word green_text_highlighted -.word red_text_normal -.word red_text_highlighted -.word blue_text_normal -.word blue_text_highlighted - -.text -glabel display_text_for_playerdata_on_MP_menu -/* 0F80D0 7F0C35A0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0F80D4 7F0C35A4 AFB00034 */ sw $s0, 0x34($sp) -/* 0F80D8 7F0C35A8 00A08025 */ move $s0, $a1 -/* 0F80DC 7F0C35AC AFB10038 */ sw $s1, 0x38($sp) -/* 0F80E0 7F0C35B0 00808825 */ move $s1, $a0 -/* 0F80E4 7F0C35B4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0F80E8 7F0C35B8 AFA60068 */ sw $a2, 0x68($sp) -/* 0F80EC 7F0C35BC 3C058006 */ lui $a1, %hi(ascii_MP_watch_menu_percentd) -/* 0F80F0 7F0C35C0 24A5BC20 */ addiu $a1, %lo(ascii_MP_watch_menu_percentd) # addiu $a1, $a1, -0x43e0 -/* 0F80F4 7F0C35C4 00E03025 */ move $a2, $a3 -/* 0F80F8 7F0C35C8 0C002B25 */ jal sprintf -/* 0F80FC 7F0C35CC 27A40048 */ addiu $a0, $sp, 0x48 -/* 0F8100 7F0C35D0 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0F8104 7F0C35D4 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0F8108 7F0C35D8 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0F810C 7F0C35DC 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F8110 7F0C35E0 27A40050 */ addiu $a0, $sp, 0x50 -/* 0F8114 7F0C35E4 27A50054 */ addiu $a1, $sp, 0x54 -/* 0F8118 7F0C35E8 27A60048 */ addiu $a2, $sp, 0x48 -/* 0F811C 7F0C35EC AFA00014 */ sw $zero, 0x14($sp) -/* 0F8120 7F0C35F0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0F8124 7F0C35F4 AFAE0010 */ sw $t6, 0x10($sp) -/* 0F8128 7F0C35F8 8FAF0054 */ lw $t7, 0x54($sp) -/* 0F812C 7F0C35FC 8FA90070 */ lw $t1, 0x70($sp) -/* 0F8130 7F0C3600 8FA80068 */ lw $t0, 0x68($sp) -/* 0F8134 7F0C3604 000FC043 */ sra $t8, $t7, 1 -/* 0F8138 7F0C3608 0218C823 */ subu $t9, $s0, $t8 -/* 0F813C 7F0C360C 2D210006 */ sltiu $at, $t1, 6 -/* 0F8140 7F0C3610 AFB9005C */ sw $t9, 0x5c($sp) -/* 0F8144 7F0C3614 102000AA */ beqz $at, .L7F0C38C0 -/* 0F8148 7F0C3618 AFA80058 */ sw $t0, 0x58($sp) -/* 0F814C 7F0C361C 00094880 */ sll $t1, $t1, 2 -/* 0F8150 7F0C3620 3C018006 */ lui $at, %hi(jpt_MP_overlays_scoring_scenario_0) -/* 0F8154 7F0C3624 00290821 */ addu $at, $at, $t1 -/* 0F8158 7F0C3628 8C29BC88 */ lw $t1, %lo(jpt_MP_overlays_scoring_scenario_0)($at) -/* 0F815C 7F0C362C 01200008 */ jr $t1 -/* 0F8160 7F0C3630 00000000 */ nop -green_text_normal: -/* 0F8164 7F0C3634 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8168 7F0C3638 00000000 */ nop -/* 0F816C 7F0C363C 00028400 */ sll $s0, $v0, 0x10 -/* 0F8170 7F0C3640 00105403 */ sra $t2, $s0, 0x10 -/* 0F8174 7F0C3644 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8178 7F0C3648 01408025 */ move $s0, $t2 -/* 0F817C 7F0C364C 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableSmall) -/* 0F8180 7F0C3650 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) -/* 0F8184 7F0C3654 8D8C0EAC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0F8188 7F0C3658 8D6B0EB0 */ lw $t3, %lo(ptrSecondFontTableSmall)($t3) -/* 0F818C 7F0C365C 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0F8190 7F0C3660 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0F8194 7F0C3664 AFAD0018 */ sw $t5, 0x18($sp) -/* 0F8198 7F0C3668 02202025 */ move $a0, $s1 -/* 0F819C 7F0C366C 27A5005C */ addiu $a1, $sp, 0x5c -/* 0F81A0 7F0C3670 27A60058 */ addiu $a2, $sp, 0x58 -/* 0F81A4 7F0C3674 27A70048 */ addiu $a3, $sp, 0x48 -/* 0F81A8 7F0C3678 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F81AC 7F0C367C AFA20020 */ sw $v0, 0x20($sp) -/* 0F81B0 7F0C3680 AFA00024 */ sw $zero, 0x24($sp) -/* 0F81B4 7F0C3684 AFA00028 */ sw $zero, 0x28($sp) -/* 0F81B8 7F0C3688 AFAC0014 */ sw $t4, 0x14($sp) -/* 0F81BC 7F0C368C 0FC2B6AF */ jal en_text_write_stuff -/* 0F81C0 7F0C3690 AFAB0010 */ sw $t3, 0x10($sp) -/* 0F81C4 7F0C3694 1000008A */ b .L7F0C38C0 -/* 0F81C8 7F0C3698 00408825 */ move $s1, $v0 -green_text_highlighted: -/* 0F81CC 7F0C369C 0C001107 */ jal get_video2_settings_txtClipW -/* 0F81D0 7F0C36A0 00000000 */ nop -/* 0F81D4 7F0C36A4 00028400 */ sll $s0, $v0, 0x10 -/* 0F81D8 7F0C36A8 00107403 */ sra $t6, $s0, 0x10 -/* 0F81DC 7F0C36AC 0C00110B */ jal get_video2_settings_txtClipH -/* 0F81E0 7F0C36B0 01C08025 */ move $s0, $t6 -/* 0F81E4 7F0C36B4 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0F81E8 7F0C36B8 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0F81EC 7F0C36BC 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0F81F0 7F0C36C0 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0F81F4 7F0C36C4 3C19A0FF */ lui $t9, (0xA0FFA0F0 >> 16) # lui $t9, 0xa0ff -/* 0F81F8 7F0C36C8 3C080070 */ lui $t0, (0x007000A0 >> 16) # lui $t0, 0x70 -/* 0F81FC 7F0C36CC 350800A0 */ ori $t0, (0x007000A0 & 0xFFFF) # ori $t0, $t0, 0xa0 -/* 0F8200 7F0C36D0 3739A0F0 */ ori $t9, (0xA0FFA0F0 & 0xFFFF) # ori $t9, $t9, 0xa0f0 -/* 0F8204 7F0C36D4 AFB90018 */ sw $t9, 0x18($sp) -/* 0F8208 7F0C36D8 AFA8001C */ sw $t0, 0x1c($sp) -/* 0F820C 7F0C36DC 02202025 */ move $a0, $s1 -/* 0F8210 7F0C36E0 27A5005C */ addiu $a1, $sp, 0x5c -/* 0F8214 7F0C36E4 27A60058 */ addiu $a2, $sp, 0x58 -/* 0F8218 7F0C36E8 27A70048 */ addiu $a3, $sp, 0x48 -/* 0F821C 7F0C36EC AFB00020 */ sw $s0, 0x20($sp) -/* 0F8220 7F0C36F0 AFA20024 */ sw $v0, 0x24($sp) -/* 0F8224 7F0C36F4 AFA00028 */ sw $zero, 0x28($sp) -/* 0F8228 7F0C36F8 AFA0002C */ sw $zero, 0x2c($sp) -/* 0F822C 7F0C36FC AFB80014 */ sw $t8, 0x14($sp) -/* 0F8230 7F0C3700 0FC2B9BB */ jal jp_text_write_stuff -/* 0F8234 7F0C3704 AFAF0010 */ sw $t7, 0x10($sp) -/* 0F8238 7F0C3708 1000006D */ b .L7F0C38C0 -/* 0F823C 7F0C370C 00408825 */ move $s1, $v0 -red_text_normal: -/* 0F8240 7F0C3710 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8244 7F0C3714 00000000 */ nop -/* 0F8248 7F0C3718 00028400 */ sll $s0, $v0, 0x10 -/* 0F824C 7F0C371C 00104C03 */ sra $t1, $s0, 0x10 -/* 0F8250 7F0C3720 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8254 7F0C3724 01208025 */ move $s0, $t1 -/* 0F8258 7F0C3728 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableSmall) -/* 0F825C 7F0C372C 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) -/* 0F8260 7F0C3730 8D6B0EAC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0F8264 7F0C3734 8D4A0EB0 */ lw $t2, %lo(ptrSecondFontTableSmall)($t2) -/* 0F8268 7F0C3738 3C0CFF40 */ lui $t4, (0xFF4040B0 >> 16) # lui $t4, 0xff40 -/* 0F826C 7F0C373C 358C40B0 */ ori $t4, (0xFF4040B0 & 0xFFFF) # ori $t4, $t4, 0x40b0 -/* 0F8270 7F0C3740 AFAC0018 */ sw $t4, 0x18($sp) -/* 0F8274 7F0C3744 02202025 */ move $a0, $s1 -/* 0F8278 7F0C3748 27A5005C */ addiu $a1, $sp, 0x5c -/* 0F827C 7F0C374C 27A60058 */ addiu $a2, $sp, 0x58 -/* 0F8280 7F0C3750 27A70048 */ addiu $a3, $sp, 0x48 -/* 0F8284 7F0C3754 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F8288 7F0C3758 AFA20020 */ sw $v0, 0x20($sp) -/* 0F828C 7F0C375C AFA00024 */ sw $zero, 0x24($sp) -/* 0F8290 7F0C3760 AFA00028 */ sw $zero, 0x28($sp) -/* 0F8294 7F0C3764 AFAB0014 */ sw $t3, 0x14($sp) -/* 0F8298 7F0C3768 0FC2B6AF */ jal en_text_write_stuff -/* 0F829C 7F0C376C AFAA0010 */ sw $t2, 0x10($sp) -/* 0F82A0 7F0C3770 10000053 */ b .L7F0C38C0 -/* 0F82A4 7F0C3774 00408825 */ move $s1, $v0 -red_text_highlighted: -/* 0F82A8 7F0C3778 0C001107 */ jal get_video2_settings_txtClipW -/* 0F82AC 7F0C377C 00000000 */ nop -/* 0F82B0 7F0C3780 00028400 */ sll $s0, $v0, 0x10 -/* 0F82B4 7F0C3784 00106C03 */ sra $t5, $s0, 0x10 -/* 0F82B8 7F0C3788 0C00110B */ jal get_video2_settings_txtClipH -/* 0F82BC 7F0C378C 01A08025 */ move $s0, $t5 -/* 0F82C0 7F0C3790 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) -/* 0F82C4 7F0C3794 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) -/* 0F82C8 7F0C3798 8DEF0EAC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0F82CC 7F0C379C 8DCE0EB0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0F82D0 7F0C37A0 3C18FFA0 */ lui $t8, (0xFFA0A0F0 >> 16) # lui $t8, 0xffa0 -/* 0F82D4 7F0C37A4 3C197000 */ lui $t9, (0x700000A0 >> 16) # lui $t9, 0x7000 -/* 0F82D8 7F0C37A8 373900A0 */ ori $t9, (0x700000A0 & 0xFFFF) # ori $t9, $t9, 0xa0 -/* 0F82DC 7F0C37AC 3718A0F0 */ ori $t8, (0xFFA0A0F0 & 0xFFFF) # ori $t8, $t8, 0xa0f0 -/* 0F82E0 7F0C37B0 AFB80018 */ sw $t8, 0x18($sp) -/* 0F82E4 7F0C37B4 AFB9001C */ sw $t9, 0x1c($sp) -/* 0F82E8 7F0C37B8 02202025 */ move $a0, $s1 -/* 0F82EC 7F0C37BC 27A5005C */ addiu $a1, $sp, 0x5c -/* 0F82F0 7F0C37C0 27A60058 */ addiu $a2, $sp, 0x58 -/* 0F82F4 7F0C37C4 27A70048 */ addiu $a3, $sp, 0x48 -/* 0F82F8 7F0C37C8 AFB00020 */ sw $s0, 0x20($sp) -/* 0F82FC 7F0C37CC AFA20024 */ sw $v0, 0x24($sp) -/* 0F8300 7F0C37D0 AFA00028 */ sw $zero, 0x28($sp) -/* 0F8304 7F0C37D4 AFA0002C */ sw $zero, 0x2c($sp) -/* 0F8308 7F0C37D8 AFAF0014 */ sw $t7, 0x14($sp) -/* 0F830C 7F0C37DC 0FC2B9BB */ jal jp_text_write_stuff -/* 0F8310 7F0C37E0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0F8314 7F0C37E4 10000036 */ b .L7F0C38C0 -/* 0F8318 7F0C37E8 00408825 */ move $s1, $v0 -blue_text_normal: -/* 0F831C 7F0C37EC 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8320 7F0C37F0 00000000 */ nop -/* 0F8324 7F0C37F4 00028400 */ sll $s0, $v0, 0x10 -/* 0F8328 7F0C37F8 00104403 */ sra $t0, $s0, 0x10 -/* 0F832C 7F0C37FC 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8330 7F0C3800 01008025 */ move $s0, $t0 -/* 0F8334 7F0C3804 3C098004 */ lui $t1, %hi(ptrSecondFontTableSmall) -/* 0F8338 7F0C3808 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableSmall) -/* 0F833C 7F0C380C 8D4A0EAC */ lw $t2, %lo(ptrFirstFontTableSmall)($t2) -/* 0F8340 7F0C3810 8D290EB0 */ lw $t1, %lo(ptrSecondFontTableSmall)($t1) -/* 0F8344 7F0C3814 3C0B4040 */ lui $t3, (0x4040FFB0 >> 16) # lui $t3, 0x4040 -/* 0F8348 7F0C3818 356BFFB0 */ ori $t3, (0x4040FFB0 & 0xFFFF) # ori $t3, $t3, 0xffb0 -/* 0F834C 7F0C381C AFAB0018 */ sw $t3, 0x18($sp) -/* 0F8350 7F0C3820 02202025 */ move $a0, $s1 -/* 0F8354 7F0C3824 27A5005C */ addiu $a1, $sp, 0x5c -/* 0F8358 7F0C3828 27A60058 */ addiu $a2, $sp, 0x58 -/* 0F835C 7F0C382C 27A70048 */ addiu $a3, $sp, 0x48 -/* 0F8360 7F0C3830 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F8364 7F0C3834 AFA20020 */ sw $v0, 0x20($sp) -/* 0F8368 7F0C3838 AFA00024 */ sw $zero, 0x24($sp) -/* 0F836C 7F0C383C AFA00028 */ sw $zero, 0x28($sp) -/* 0F8370 7F0C3840 AFAA0014 */ sw $t2, 0x14($sp) -/* 0F8374 7F0C3844 0FC2B6AF */ jal en_text_write_stuff -/* 0F8378 7F0C3848 AFA90010 */ sw $t1, 0x10($sp) -/* 0F837C 7F0C384C 1000001C */ b .L7F0C38C0 -/* 0F8380 7F0C3850 00408825 */ move $s1, $v0 -blue_text_highlighted: -/* 0F8384 7F0C3854 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8388 7F0C3858 00000000 */ nop -/* 0F838C 7F0C385C 00028400 */ sll $s0, $v0, 0x10 -/* 0F8390 7F0C3860 00106403 */ sra $t4, $s0, 0x10 -/* 0F8394 7F0C3864 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8398 7F0C3868 01808025 */ move $s0, $t4 -/* 0F839C 7F0C386C 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableSmall) -/* 0F83A0 7F0C3870 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0F83A4 7F0C3874 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0F83A8 7F0C3878 8DAD0EB0 */ lw $t5, %lo(ptrSecondFontTableSmall)($t5) -/* 0F83AC 7F0C387C 3C0FA0A0 */ lui $t7, (0xA0A0FFF0 >> 16) # lui $t7, 0xa0a0 -/* 0F83B0 7F0C3880 35EFFFF0 */ ori $t7, (0xA0A0FFF0 & 0xFFFF) # ori $t7, $t7, 0xfff0 -/* 0F83B4 7F0C3884 241870A0 */ li $t8, 28832 -/* 0F83B8 7F0C3888 AFB8001C */ sw $t8, 0x1c($sp) -/* 0F83BC 7F0C388C AFAF0018 */ sw $t7, 0x18($sp) -/* 0F83C0 7F0C3890 02202025 */ move $a0, $s1 -/* 0F83C4 7F0C3894 27A5005C */ addiu $a1, $sp, 0x5c -/* 0F83C8 7F0C3898 27A60058 */ addiu $a2, $sp, 0x58 -/* 0F83CC 7F0C389C 27A70048 */ addiu $a3, $sp, 0x48 -/* 0F83D0 7F0C38A0 AFB00020 */ sw $s0, 0x20($sp) -/* 0F83D4 7F0C38A4 AFA20024 */ sw $v0, 0x24($sp) -/* 0F83D8 7F0C38A8 AFA00028 */ sw $zero, 0x28($sp) -/* 0F83DC 7F0C38AC AFA0002C */ sw $zero, 0x2c($sp) -/* 0F83E0 7F0C38B0 AFAE0014 */ sw $t6, 0x14($sp) -/* 0F83E4 7F0C38B4 0FC2B9BB */ jal jp_text_write_stuff -/* 0F83E8 7F0C38B8 AFAD0010 */ sw $t5, 0x10($sp) -/* 0F83EC 7F0C38BC 00408825 */ move $s1, $v0 -def_7F0C362C: -.L7F0C38C0: -/* 0F83F0 7F0C38C0 8FBF003C */ lw $ra, 0x3c($sp) -/* 0F83F4 7F0C38C4 02201025 */ move $v0, $s1 -/* 0F83F8 7F0C38C8 8FB10038 */ lw $s1, 0x38($sp) -/* 0F83FC 7F0C38CC 8FB00034 */ lw $s0, 0x34($sp) -/* 0F8400 7F0C38D0 03E00008 */ jr $ra -/* 0F8404 7F0C38D4 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void get_points_for_mp_player(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BCA0*/ -glabel jpt_MP_overlays_scoring -.word num_player_kills -.word num_deaths -.word time_with_flag -.word num_player_kills -.word num_player_kills -.word team_player_kills -.word team_player_kills -.word team_player_kills - -.text -glabel get_points_for_mp_player -/* 0F8408 7F0C38D8 000470C0 */ sll $t6, $a0, 3 -/* 0F840C 7F0C38DC 3C038008 */ lui $v1, %hi(player1_player_data) -/* 0F8410 7F0C38E0 01C47023 */ subu $t6, $t6, $a0 -/* 0F8414 7F0C38E4 24639EF0 */ addiu $v1, %lo(player1_player_data) # addiu $v1, $v1, -0x6110 -/* 0F8418 7F0C38E8 000E7100 */ sll $t6, $t6, 4 -/* 0F841C 7F0C38EC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0F8420 7F0C38F0 006E5821 */ addu $t3, $v1, $t6 -/* 0F8424 7F0C38F4 91670069 */ lbu $a3, 0x69($t3) -/* 0F8428 7F0C38F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F842C 7F0C38FC AFAB0018 */ sw $t3, 0x18($sp) -/* 0F8430 7F0C3900 AFA40038 */ sw $a0, 0x38($sp) -/* 0F8434 7F0C3904 0FC26919 */ jal get_num_players -/* 0F8438 7F0C3908 AFA70034 */ sw $a3, 0x34($sp) -/* 0F843C 7F0C390C AFA00024 */ sw $zero, 0x24($sp) -/* 0F8440 7F0C3910 0FC051D6 */ jal get_scenario -/* 0F8444 7F0C3914 AFA20030 */ sw $v0, 0x30($sp) -/* 0F8448 7F0C3918 3C038008 */ lui $v1, %hi(player1_player_data) -/* 0F844C 7F0C391C 2C410008 */ sltiu $at, $v0, 8 -/* 0F8450 7F0C3920 24639EF0 */ addiu $v1, %lo(player1_player_data) # addiu $v1, $v1, -0x6110 -/* 0F8454 7F0C3924 8FA40024 */ lw $a0, 0x24($sp) -/* 0F8458 7F0C3928 8FA50038 */ lw $a1, 0x38($sp) -/* 0F845C 7F0C392C 8FA70034 */ lw $a3, 0x34($sp) -/* 0F8460 7F0C3930 8FAA0030 */ lw $t2, 0x30($sp) -/* 0F8464 7F0C3934 102000D2 */ beqz $at, .L7F0C3C80 -/* 0F8468 7F0C3938 8FAB0018 */ lw $t3, 0x18($sp) -/* 0F846C 7F0C393C 00027880 */ sll $t7, $v0, 2 -/* 0F8470 7F0C3940 3C018006 */ lui $at, %hi(jpt_MP_overlays_scoring) -/* 0F8474 7F0C3944 002F0821 */ addu $at, $at, $t7 -/* 0F8478 7F0C3948 8C2FBCA0 */ lw $t7, %lo(jpt_MP_overlays_scoring)($at) -/* 0F847C 7F0C394C 01E00008 */ jr $t7 -/* 0F8480 7F0C3950 00000000 */ nop -num_player_kills: -/* 0F8484 7F0C3954 19400068 */ blez $t2, .L7F0C3AF8 -/* 0F8488 7F0C3958 00004825 */ move $t1, $zero -/* 0F848C 7F0C395C 31480003 */ andi $t0, $t2, 3 -/* 0F8490 7F0C3960 11000017 */ beqz $t0, .L7F0C39C0 -/* 0F8494 7F0C3964 01001025 */ move $v0, $t0 -.L7F0C3968: -/* 0F8498 7F0C3968 1125000A */ beq $t1, $a1, .L7F0C3994 -/* 0F849C 7F0C396C 0009C0C0 */ sll $t8, $t1, 3 -/* 0F84A0 7F0C3970 0005C0C0 */ sll $t8, $a1, 3 -/* 0F84A4 7F0C3974 0305C023 */ subu $t8, $t8, $a1 -/* 0F84A8 7F0C3978 0018C100 */ sll $t8, $t8, 4 -/* 0F84AC 7F0C397C 0078C821 */ addu $t9, $v1, $t8 -/* 0F84B0 7F0C3980 00096880 */ sll $t5, $t1, 2 -/* 0F84B4 7F0C3984 032D7021 */ addu $t6, $t9, $t5 -/* 0F84B8 7F0C3988 8DCF0024 */ lw $t7, 0x24($t6) -/* 0F84BC 7F0C398C 10000008 */ b .L7F0C39B0 -/* 0F84C0 7F0C3990 008F2021 */ addu $a0, $a0, $t7 -.L7F0C3994: -/* 0F84C4 7F0C3994 0309C023 */ subu $t8, $t8, $t1 -/* 0F84C8 7F0C3998 0018C100 */ sll $t8, $t8, 4 -/* 0F84CC 7F0C399C 0078C821 */ addu $t9, $v1, $t8 -/* 0F84D0 7F0C39A0 00056880 */ sll $t5, $a1, 2 -/* 0F84D4 7F0C39A4 032D7021 */ addu $t6, $t9, $t5 -/* 0F84D8 7F0C39A8 8DCF0024 */ lw $t7, 0x24($t6) -/* 0F84DC 7F0C39AC 008F2023 */ subu $a0, $a0, $t7 -.L7F0C39B0: -/* 0F84E0 7F0C39B0 25290001 */ addiu $t1, $t1, 1 -/* 0F84E4 7F0C39B4 1449FFEC */ bne $v0, $t1, .L7F0C3968 -/* 0F84E8 7F0C39B8 00000000 */ nop -/* 0F84EC 7F0C39BC 112A004E */ beq $t1, $t2, .L7F0C3AF8 -.L7F0C39C0: -/* 0F84F0 7F0C39C0 24A2FFFF */ addiu $v0, $a1, -1 -/* 0F84F4 7F0C39C4 24A6FFFE */ addiu $a2, $a1, -2 -/* 0F84F8 7F0C39C8 24A7FFFD */ addiu $a3, $a1, -3 -.L7F0C39CC: -/* 0F84FC 7F0C39CC 1125000A */ beq $t1, $a1, .L7F0C39F8 -/* 0F8500 7F0C39D0 0009C0C0 */ sll $t8, $t1, 3 -/* 0F8504 7F0C39D4 0005C0C0 */ sll $t8, $a1, 3 -/* 0F8508 7F0C39D8 0305C023 */ subu $t8, $t8, $a1 -/* 0F850C 7F0C39DC 0018C100 */ sll $t8, $t8, 4 -/* 0F8510 7F0C39E0 0078C821 */ addu $t9, $v1, $t8 -/* 0F8514 7F0C39E4 00096880 */ sll $t5, $t1, 2 -/* 0F8518 7F0C39E8 032D7021 */ addu $t6, $t9, $t5 -/* 0F851C 7F0C39EC 8DCF0024 */ lw $t7, 0x24($t6) -/* 0F8520 7F0C39F0 10000008 */ b .L7F0C3A14 -/* 0F8524 7F0C39F4 008F2021 */ addu $a0, $a0, $t7 -.L7F0C39F8: -/* 0F8528 7F0C39F8 0309C023 */ subu $t8, $t8, $t1 -/* 0F852C 7F0C39FC 0018C100 */ sll $t8, $t8, 4 -/* 0F8530 7F0C3A00 0078C821 */ addu $t9, $v1, $t8 -/* 0F8534 7F0C3A04 00056880 */ sll $t5, $a1, 2 -/* 0F8538 7F0C3A08 032D7021 */ addu $t6, $t9, $t5 -/* 0F853C 7F0C3A0C 8DCF0024 */ lw $t7, 0x24($t6) -/* 0F8540 7F0C3A10 008F2023 */ subu $a0, $a0, $t7 -.L7F0C3A14: -/* 0F8544 7F0C3A14 1122000A */ beq $t1, $v0, .L7F0C3A40 -/* 0F8548 7F0C3A18 0009C0C0 */ sll $t8, $t1, 3 -/* 0F854C 7F0C3A1C 0005C0C0 */ sll $t8, $a1, 3 -/* 0F8550 7F0C3A20 0305C023 */ subu $t8, $t8, $a1 -/* 0F8554 7F0C3A24 0018C100 */ sll $t8, $t8, 4 -/* 0F8558 7F0C3A28 0078C821 */ addu $t9, $v1, $t8 -/* 0F855C 7F0C3A2C 00096880 */ sll $t5, $t1, 2 -/* 0F8560 7F0C3A30 032D7021 */ addu $t6, $t9, $t5 -/* 0F8564 7F0C3A34 8DCF0028 */ lw $t7, 0x28($t6) -/* 0F8568 7F0C3A38 10000008 */ b .L7F0C3A5C -/* 0F856C 7F0C3A3C 008F2021 */ addu $a0, $a0, $t7 -.L7F0C3A40: -/* 0F8570 7F0C3A40 0309C023 */ subu $t8, $t8, $t1 -/* 0F8574 7F0C3A44 0018C100 */ sll $t8, $t8, 4 -/* 0F8578 7F0C3A48 0078C821 */ addu $t9, $v1, $t8 -/* 0F857C 7F0C3A4C 00056880 */ sll $t5, $a1, 2 -/* 0F8580 7F0C3A50 032D7021 */ addu $t6, $t9, $t5 -/* 0F8584 7F0C3A54 8DCF0094 */ lw $t7, 0x94($t6) -/* 0F8588 7F0C3A58 008F2023 */ subu $a0, $a0, $t7 -.L7F0C3A5C: -/* 0F858C 7F0C3A5C 1126000A */ beq $t1, $a2, .L7F0C3A88 -/* 0F8590 7F0C3A60 0009C0C0 */ sll $t8, $t1, 3 -/* 0F8594 7F0C3A64 0005C0C0 */ sll $t8, $a1, 3 -/* 0F8598 7F0C3A68 0305C023 */ subu $t8, $t8, $a1 -/* 0F859C 7F0C3A6C 0018C100 */ sll $t8, $t8, 4 -/* 0F85A0 7F0C3A70 0078C821 */ addu $t9, $v1, $t8 -/* 0F85A4 7F0C3A74 00096880 */ sll $t5, $t1, 2 -/* 0F85A8 7F0C3A78 032D7021 */ addu $t6, $t9, $t5 -/* 0F85AC 7F0C3A7C 8DCF002C */ lw $t7, 0x2c($t6) -/* 0F85B0 7F0C3A80 10000008 */ b .L7F0C3AA4 -/* 0F85B4 7F0C3A84 008F2021 */ addu $a0, $a0, $t7 -.L7F0C3A88: -/* 0F85B8 7F0C3A88 0309C023 */ subu $t8, $t8, $t1 -/* 0F85BC 7F0C3A8C 0018C100 */ sll $t8, $t8, 4 -/* 0F85C0 7F0C3A90 0078C821 */ addu $t9, $v1, $t8 -/* 0F85C4 7F0C3A94 00056880 */ sll $t5, $a1, 2 -/* 0F85C8 7F0C3A98 032D7021 */ addu $t6, $t9, $t5 -/* 0F85CC 7F0C3A9C 8DCF0104 */ lw $t7, 0x104($t6) -/* 0F85D0 7F0C3AA0 008F2023 */ subu $a0, $a0, $t7 -.L7F0C3AA4: -/* 0F85D4 7F0C3AA4 1127000A */ beq $t1, $a3, .L7F0C3AD0 -/* 0F85D8 7F0C3AA8 0009C0C0 */ sll $t8, $t1, 3 -/* 0F85DC 7F0C3AAC 0005C0C0 */ sll $t8, $a1, 3 -/* 0F85E0 7F0C3AB0 0305C023 */ subu $t8, $t8, $a1 -/* 0F85E4 7F0C3AB4 0018C100 */ sll $t8, $t8, 4 -/* 0F85E8 7F0C3AB8 0078C821 */ addu $t9, $v1, $t8 -/* 0F85EC 7F0C3ABC 00096880 */ sll $t5, $t1, 2 -/* 0F85F0 7F0C3AC0 032D7021 */ addu $t6, $t9, $t5 -/* 0F85F4 7F0C3AC4 8DCF0030 */ lw $t7, 0x30($t6) -/* 0F85F8 7F0C3AC8 10000008 */ b .L7F0C3AEC -/* 0F85FC 7F0C3ACC 008F2021 */ addu $a0, $a0, $t7 -.L7F0C3AD0: -/* 0F8600 7F0C3AD0 0309C023 */ subu $t8, $t8, $t1 -/* 0F8604 7F0C3AD4 0018C100 */ sll $t8, $t8, 4 -/* 0F8608 7F0C3AD8 0078C821 */ addu $t9, $v1, $t8 -/* 0F860C 7F0C3ADC 00056880 */ sll $t5, $a1, 2 -/* 0F8610 7F0C3AE0 032D7021 */ addu $t6, $t9, $t5 -/* 0F8614 7F0C3AE4 8DCF0174 */ lw $t7, 0x174($t6) -/* 0F8618 7F0C3AE8 008F2023 */ subu $a0, $a0, $t7 -.L7F0C3AEC: -/* 0F861C 7F0C3AEC 25290004 */ addiu $t1, $t1, 4 -/* 0F8620 7F0C3AF0 152AFFB6 */ bne $t1, $t2, .L7F0C39CC -/* 0F8624 7F0C3AF4 00000000 */ nop -.L7F0C3AF8: -/* 0F8628 7F0C3AF8 8D780020 */ lw $t8, 0x20($t3) -/* 0F862C 7F0C3AFC 2559FFFE */ addiu $t9, $t2, -2 -/* 0F8630 7F0C3B00 03190019 */ multu $t8, $t9 -/* 0F8634 7F0C3B04 00006812 */ mflo $t5 -/* 0F8638 7F0C3B08 008D2021 */ addu $a0, $a0, $t5 -/* 0F863C 7F0C3B0C 1000005D */ b .L7F0C3C84 -/* 0F8640 7F0C3B10 8FBF0014 */ lw $ra, 0x14($sp) -num_deaths: -/* 0F8644 7F0C3B14 916E0068 */ lbu $t6, 0x68($t3) -/* 0F8648 7F0C3B18 240F0004 */ li $t7, 4 -/* 0F864C 7F0C3B1C 10000058 */ b .L7F0C3C80 -/* 0F8650 7F0C3B20 01EE2023 */ subu $a0, $t7, $t6 -time_with_flag: -/* 0F8654 7F0C3B24 10000056 */ b .L7F0C3C80 -/* 0F8658 7F0C3B28 8D640060 */ lw $a0, 0x60($t3) -team_player_kills: -/* 0F865C 7F0C3B2C 19400054 */ blez $t2, .L7F0C3C80 -/* 0F8660 7F0C3B30 00004825 */ move $t1, $zero -/* 0F8664 7F0C3B34 3C0C8008 */ lui $t4, %hi(player1_player_data) -/* 0F8668 7F0C3B38 258C9EF0 */ addiu $t4, %lo(player1_player_data) # addiu $t4, $t4, -0x6110 -.L7F0C3B3C: -/* 0F866C 7F0C3B3C 91980069 */ lbu $t8, 0x69($t4) -/* 0F8670 7F0C3B40 54F8004D */ bnel $a3, $t8, .L7F0C3C78 -/* 0F8674 7F0C3B44 25290001 */ addiu $t1, $t1, 1 -/* 0F8678 7F0C3B48 1940004A */ blez $t2, .L7F0C3C74 -/* 0F867C 7F0C3B4C 00002825 */ move $a1, $zero -/* 0F8680 7F0C3B50 0009C8C0 */ sll $t9, $t1, 3 -/* 0F8684 7F0C3B54 0329C823 */ subu $t9, $t9, $t1 -/* 0F8688 7F0C3B58 3C0D8008 */ lui $t5, %hi(player1_player_data) -/* 0F868C 7F0C3B5C 25AD9EF0 */ addiu $t5, %lo(player1_player_data) # addiu $t5, $t5, -0x6110 -/* 0F8690 7F0C3B60 0019C900 */ sll $t9, $t9, 4 -/* 0F8694 7F0C3B64 31480003 */ andi $t0, $t2, 3 -/* 0F8698 7F0C3B68 11000015 */ beqz $t0, .L7F0C3BC0 -/* 0F869C 7F0C3B6C 032D5821 */ addu $t3, $t9, $t5 -/* 0F86A0 7F0C3B70 000078C0 */ sll $t7, $zero, 3 -/* 0F86A4 7F0C3B74 01E07823 */ subu $t7, $t7, $zero -/* 0F86A8 7F0C3B78 000F7900 */ sll $t7, $t7, 4 -/* 0F86AC 7F0C3B7C 00007080 */ sll $t6, $zero, 2 -/* 0F86B0 7F0C3B80 016E1021 */ addu $v0, $t3, $t6 -/* 0F86B4 7F0C3B84 01ED1821 */ addu $v1, $t7, $t5 -/* 0F86B8 7F0C3B88 01003025 */ move $a2, $t0 -.L7F0C3B8C: -/* 0F86BC 7F0C3B8C 90780069 */ lbu $t8, 0x69($v1) -/* 0F86C0 7F0C3B90 24A50001 */ addiu $a1, $a1, 1 -/* 0F86C4 7F0C3B94 24630070 */ addiu $v1, $v1, 0x70 -/* 0F86C8 7F0C3B98 50F80005 */ beql $a3, $t8, .L7F0C3BB0 -/* 0F86CC 7F0C3B9C 8C4F0024 */ lw $t7, 0x24($v0) -/* 0F86D0 7F0C3BA0 8C590024 */ lw $t9, 0x24($v0) -/* 0F86D4 7F0C3BA4 10000003 */ b .L7F0C3BB4 -/* 0F86D8 7F0C3BA8 00992021 */ addu $a0, $a0, $t9 -/* 0F86DC 7F0C3BAC 8C4F0024 */ lw $t7, 0x24($v0) -.L7F0C3BB0: -/* 0F86E0 7F0C3BB0 008F2023 */ subu $a0, $a0, $t7 -.L7F0C3BB4: -/* 0F86E4 7F0C3BB4 14C5FFF5 */ bne $a2, $a1, .L7F0C3B8C -/* 0F86E8 7F0C3BB8 24420004 */ addiu $v0, $v0, 4 -/* 0F86EC 7F0C3BBC 10AA002D */ beq $a1, $t2, .L7F0C3C74 -.L7F0C3BC0: -/* 0F86F0 7F0C3BC0 000568C0 */ sll $t5, $a1, 3 -/* 0F86F4 7F0C3BC4 01A56823 */ subu $t5, $t5, $a1 -/* 0F86F8 7F0C3BC8 3C0E8008 */ lui $t6, %hi(player1_player_data) -/* 0F86FC 7F0C3BCC 25CE9EF0 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x6110 -/* 0F8700 7F0C3BD0 000D6900 */ sll $t5, $t5, 4 -/* 0F8704 7F0C3BD4 00053080 */ sll $a2, $a1, 2 -/* 0F8708 7F0C3BD8 01661021 */ addu $v0, $t3, $a2 -/* 0F870C 7F0C3BDC 01AE1821 */ addu $v1, $t5, $t6 -/* 0F8710 7F0C3BE0 000A4080 */ sll $t0, $t2, 2 -.L7F0C3BE4: -/* 0F8714 7F0C3BE4 90780069 */ lbu $t8, 0x69($v1) -/* 0F8718 7F0C3BE8 24C60010 */ addiu $a2, $a2, 0x10 -/* 0F871C 7F0C3BEC 50F80005 */ beql $a3, $t8, .L7F0C3C04 -/* 0F8720 7F0C3BF0 8C4F0024 */ lw $t7, 0x24($v0) -/* 0F8724 7F0C3BF4 8C590024 */ lw $t9, 0x24($v0) -/* 0F8728 7F0C3BF8 10000003 */ b .L7F0C3C08 -/* 0F872C 7F0C3BFC 00992021 */ addu $a0, $a0, $t9 -/* 0F8730 7F0C3C00 8C4F0024 */ lw $t7, 0x24($v0) -.L7F0C3C04: -/* 0F8734 7F0C3C04 008F2023 */ subu $a0, $a0, $t7 -.L7F0C3C08: -/* 0F8738 7F0C3C08 906D00D9 */ lbu $t5, 0xd9($v1) -/* 0F873C 7F0C3C0C 50ED0005 */ beql $a3, $t5, .L7F0C3C24 -/* 0F8740 7F0C3C10 8C580028 */ lw $t8, 0x28($v0) -/* 0F8744 7F0C3C14 8C4E0028 */ lw $t6, 0x28($v0) -/* 0F8748 7F0C3C18 10000003 */ b .L7F0C3C28 -/* 0F874C 7F0C3C1C 008E2021 */ addu $a0, $a0, $t6 -/* 0F8750 7F0C3C20 8C580028 */ lw $t8, 0x28($v0) -.L7F0C3C24: -/* 0F8754 7F0C3C24 00982023 */ subu $a0, $a0, $t8 -.L7F0C3C28: -/* 0F8758 7F0C3C28 90790149 */ lbu $t9, 0x149($v1) -/* 0F875C 7F0C3C2C 50F90005 */ beql $a3, $t9, .L7F0C3C44 -/* 0F8760 7F0C3C30 8C4D002C */ lw $t5, 0x2c($v0) -/* 0F8764 7F0C3C34 8C4F002C */ lw $t7, 0x2c($v0) -/* 0F8768 7F0C3C38 10000003 */ b .L7F0C3C48 -/* 0F876C 7F0C3C3C 008F2021 */ addu $a0, $a0, $t7 -/* 0F8770 7F0C3C40 8C4D002C */ lw $t5, 0x2c($v0) -.L7F0C3C44: -/* 0F8774 7F0C3C44 008D2023 */ subu $a0, $a0, $t5 -.L7F0C3C48: -/* 0F8778 7F0C3C48 906E01B9 */ lbu $t6, 0x1b9($v1) -/* 0F877C 7F0C3C4C 246301C0 */ addiu $v1, $v1, 0x1c0 -/* 0F8780 7F0C3C50 50EE0005 */ beql $a3, $t6, .L7F0C3C68 -/* 0F8784 7F0C3C54 8C590030 */ lw $t9, 0x30($v0) -/* 0F8788 7F0C3C58 8C580030 */ lw $t8, 0x30($v0) -/* 0F878C 7F0C3C5C 10000003 */ b .L7F0C3C6C -/* 0F8790 7F0C3C60 00982021 */ addu $a0, $a0, $t8 -/* 0F8794 7F0C3C64 8C590030 */ lw $t9, 0x30($v0) -.L7F0C3C68: -/* 0F8798 7F0C3C68 00992023 */ subu $a0, $a0, $t9 -.L7F0C3C6C: -/* 0F879C 7F0C3C6C 14C8FFDD */ bne $a2, $t0, .L7F0C3BE4 -/* 0F87A0 7F0C3C70 24420010 */ addiu $v0, $v0, 0x10 -.L7F0C3C74: -/* 0F87A4 7F0C3C74 25290001 */ addiu $t1, $t1, 1 -.L7F0C3C78: -/* 0F87A8 7F0C3C78 152AFFB0 */ bne $t1, $t2, .L7F0C3B3C -/* 0F87AC 7F0C3C7C 258C0070 */ addiu $t4, $t4, 0x70 -def_7F0C394C: -.L7F0C3C80: -/* 0F87B0 7F0C3C80 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C3C84: -/* 0F87B4 7F0C3C84 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0F87B8 7F0C3C88 00801025 */ move $v0, $a0 -/* 0F87BC 7F0C3C8C 03E00008 */ jr $ra -/* 0F87C0 7F0C3C90 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void write_playerrank_to_buffer(void) { - -} -#else -GLOBAL_ASM( -.text -glabel write_playerrank_to_buffer -/* 0F87C4 7F0C3C94 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0F87C8 7F0C3C98 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F87CC 7F0C3C9C AFB00018 */ sw $s0, 0x18($sp) -/* 0F87D0 7F0C3CA0 AFA40080 */ sw $a0, 0x80($sp) -/* 0F87D4 7F0C3CA4 0FC051D6 */ jal get_scenario -/* 0F87D8 7F0C3CA8 AFA50084 */ sw $a1, 0x84($sp) -/* 0F87DC 7F0C3CAC 0FC26919 */ jal get_num_players -/* 0F87E0 7F0C3CB0 AFA2007C */ sw $v0, 0x7c($sp) -/* 0F87E4 7F0C3CB4 00405825 */ move $t3, $v0 -/* 0F87E8 7F0C3CB8 18400013 */ blez $v0, .L7F0C3D08 -/* 0F87EC 7F0C3CBC 00008025 */ move $s0, $zero -/* 0F87F0 7F0C3CC0 27A30068 */ addiu $v1, $sp, 0x68 -/* 0F87F4 7F0C3CC4 27A50058 */ addiu $a1, $sp, 0x58 -.L7F0C3CC8: -/* 0F87F8 7F0C3CC8 02002025 */ move $a0, $s0 -/* 0F87FC 7F0C3CCC AFA30038 */ sw $v1, 0x38($sp) -/* 0F8800 7F0C3CD0 AFA5003C */ sw $a1, 0x3c($sp) -/* 0F8804 7F0C3CD4 0FC30E36 */ jal get_points_for_mp_player -/* 0F8808 7F0C3CD8 AFAB0078 */ sw $t3, 0x78($sp) -/* 0F880C 7F0C3CDC 8FA5003C */ lw $a1, 0x3c($sp) -/* 0F8810 7F0C3CE0 8FAB0078 */ lw $t3, 0x78($sp) -/* 0F8814 7F0C3CE4 8FA30038 */ lw $v1, 0x38($sp) -/* 0F8818 7F0C3CE8 ACB00000 */ sw $s0, ($a1) -/* 0F881C 7F0C3CEC 26100001 */ addiu $s0, $s0, 1 -/* 0F8820 7F0C3CF0 020B082A */ slt $at, $s0, $t3 -/* 0F8824 7F0C3CF4 24A50004 */ addiu $a1, $a1, 4 -/* 0F8828 7F0C3CF8 24630004 */ addiu $v1, $v1, 4 -/* 0F882C 7F0C3CFC 1420FFF2 */ bnez $at, .L7F0C3CC8 -/* 0F8830 7F0C3D00 AC62FFFC */ sw $v0, -4($v1) -/* 0F8834 7F0C3D04 00008025 */ move $s0, $zero -.L7F0C3D08: -/* 0F8838 7F0C3D08 1960003F */ blez $t3, .L7F0C3E08 -/* 0F883C 7F0C3D0C 00005025 */ move $t2, $zero -/* 0F8840 7F0C3D10 256CFFFF */ addiu $t4, $t3, -1 -/* 0F8844 7F0C3D14 27A80058 */ addiu $t0, $sp, 0x58 -/* 0F8848 7F0C3D18 8FA50068 */ lw $a1, 0x68($sp) -/* 0F884C 7F0C3D1C 8FA4006C */ lw $a0, 0x6c($sp) -.L7F0C3D20: -/* 0F8850 7F0C3D20 19800034 */ blez $t4, .L7F0C3DF4 -/* 0F8854 7F0C3D24 254A0001 */ addiu $t2, $t2, 1 -/* 0F8858 7F0C3D28 2562FFFF */ addiu $v0, $t3, -1 -/* 0F885C 7F0C3D2C 304E0001 */ andi $t6, $v0, 1 -/* 0F8860 7F0C3D30 11C0000B */ beqz $t6, .L7F0C3D60 -/* 0F8864 7F0C3D34 00A4082A */ slt $at, $a1, $a0 -/* 0F8868 7F0C3D38 10200008 */ beqz $at, .L7F0C3D5C -/* 0F886C 7F0C3D3C 24100001 */ li $s0, 1 -/* 0F8870 7F0C3D40 00801025 */ move $v0, $a0 -/* 0F8874 7F0C3D44 00A02025 */ move $a0, $a1 -/* 0F8878 7F0C3D48 00402825 */ move $a1, $v0 -/* 0F887C 7F0C3D4C 8FA2005C */ lw $v0, 0x5c($sp) -/* 0F8880 7F0C3D50 8FAF0058 */ lw $t7, 0x58($sp) -/* 0F8884 7F0C3D54 AFA20058 */ sw $v0, 0x58($sp) -/* 0F8888 7F0C3D58 AFAF005C */ sw $t7, 0x5c($sp) -.L7F0C3D5C: -/* 0F888C 7F0C3D5C 120C0024 */ beq $s0, $t4, .L7F0C3DF0 -.L7F0C3D60: -/* 0F8890 7F0C3D60 27B80068 */ addiu $t8, $sp, 0x68 -/* 0F8894 7F0C3D64 00103880 */ sll $a3, $s0, 2 -/* 0F8898 7F0C3D68 000CC880 */ sll $t9, $t4, 2 -/* 0F889C 7F0C3D6C 03384821 */ addu $t1, $t9, $t8 -/* 0F88A0 7F0C3D70 00F81821 */ addu $v1, $a3, $t8 -/* 0F88A4 7F0C3D74 AFA4006C */ sw $a0, 0x6c($sp) -/* 0F88A8 7F0C3D78 AFA50068 */ sw $a1, 0x68($sp) -.L7F0C3D7C: -/* 0F88AC 7F0C3D7C 8C660000 */ lw $a2, ($v1) -/* 0F88B0 7F0C3D80 8C640004 */ lw $a0, 4($v1) -/* 0F88B4 7F0C3D84 01072821 */ addu $a1, $t0, $a3 -/* 0F88B8 7F0C3D88 00C4082A */ slt $at, $a2, $a0 -/* 0F88BC 7F0C3D8C 50200009 */ beql $at, $zero, .L7F0C3DB4 -/* 0F88C0 7F0C3D90 8C660008 */ lw $a2, 8($v1) -/* 0F88C4 7F0C3D94 8CA20004 */ lw $v0, 4($a1) -/* 0F88C8 7F0C3D98 8CAD0000 */ lw $t5, ($a1) -/* 0F88CC 7F0C3D9C AC640000 */ sw $a0, ($v1) -/* 0F88D0 7F0C3DA0 AC660004 */ sw $a2, 4($v1) -/* 0F88D4 7F0C3DA4 00C02025 */ move $a0, $a2 -/* 0F88D8 7F0C3DA8 ACA20000 */ sw $v0, ($a1) -/* 0F88DC 7F0C3DAC ACAD0004 */ sw $t5, 4($a1) -/* 0F88E0 7F0C3DB0 8C660008 */ lw $a2, 8($v1) -.L7F0C3DB4: -/* 0F88E4 7F0C3DB4 01072821 */ addu $a1, $t0, $a3 -/* 0F88E8 7F0C3DB8 0086082A */ slt $at, $a0, $a2 -/* 0F88EC 7F0C3DBC 50200008 */ beql $at, $zero, .L7F0C3DE0 -/* 0F88F0 7F0C3DC0 24630008 */ addiu $v1, $v1, 8 -/* 0F88F4 7F0C3DC4 8CA20008 */ lw $v0, 8($a1) -/* 0F88F8 7F0C3DC8 8CAE0004 */ lw $t6, 4($a1) -/* 0F88FC 7F0C3DCC AC640008 */ sw $a0, 8($v1) -/* 0F8900 7F0C3DD0 AC660004 */ sw $a2, 4($v1) -/* 0F8904 7F0C3DD4 ACA20004 */ sw $v0, 4($a1) -/* 0F8908 7F0C3DD8 ACAE0008 */ sw $t6, 8($a1) -/* 0F890C 7F0C3DDC 24630008 */ addiu $v1, $v1, 8 -.L7F0C3DE0: -/* 0F8910 7F0C3DE0 8FA4006C */ lw $a0, 0x6c($sp) -/* 0F8914 7F0C3DE4 8FA50068 */ lw $a1, 0x68($sp) -/* 0F8918 7F0C3DE8 1469FFE4 */ bne $v1, $t1, .L7F0C3D7C -/* 0F891C 7F0C3DEC 24E70008 */ addiu $a3, $a3, 8 -.L7F0C3DF0: -/* 0F8920 7F0C3DF0 00008025 */ move $s0, $zero -.L7F0C3DF4: -/* 0F8924 7F0C3DF4 154BFFCA */ bne $t2, $t3, .L7F0C3D20 -/* 0F8928 7F0C3DF8 00000000 */ nop -/* 0F892C 7F0C3DFC AFA50068 */ sw $a1, 0x68($sp) -/* 0F8930 7F0C3E00 AFA4006C */ sw $a0, 0x6c($sp) -/* 0F8934 7F0C3E04 00005025 */ move $t2, $zero -.L7F0C3E08: -/* 0F8938 7F0C3E08 19600008 */ blez $t3, .L7F0C3E2C -/* 0F893C 7F0C3E0C 27A50058 */ addiu $a1, $sp, 0x58 -/* 0F8940 7F0C3E10 8FA20084 */ lw $v0, 0x84($sp) -.L7F0C3E14: -/* 0F8944 7F0C3E14 8CAF0000 */ lw $t7, ($a1) -/* 0F8948 7F0C3E18 104F0004 */ beq $v0, $t7, .L7F0C3E2C -/* 0F894C 7F0C3E1C 00000000 */ nop -/* 0F8950 7F0C3E20 26100001 */ addiu $s0, $s0, 1 -/* 0F8954 7F0C3E24 160BFFFB */ bne $s0, $t3, .L7F0C3E14 -/* 0F8958 7F0C3E28 24A50004 */ addiu $a1, $a1, 4 -.L7F0C3E2C: -/* 0F895C 7F0C3E2C 0600000B */ bltz $s0, .L7F0C3E5C -/* 0F8960 7F0C3E30 0010C880 */ sll $t9, $s0, 2 -/* 0F8964 7F0C3E34 27A20068 */ addiu $v0, $sp, 0x68 -/* 0F8968 7F0C3E38 03226821 */ addu $t5, $t9, $v0 -/* 0F896C 7F0C3E3C 8DA60000 */ lw $a2, ($t5) -.L7F0C3E40: -/* 0F8970 7F0C3E40 8C4E0000 */ lw $t6, ($v0) -/* 0F8974 7F0C3E44 260F0001 */ addiu $t7, $s0, 1 -/* 0F8978 7F0C3E48 11C60004 */ beq $t6, $a2, .L7F0C3E5C -/* 0F897C 7F0C3E4C 00000000 */ nop -/* 0F8980 7F0C3E50 254A0001 */ addiu $t2, $t2, 1 -/* 0F8984 7F0C3E54 15EAFFFA */ bne $t7, $t2, .L7F0C3E40 -/* 0F8988 7F0C3E58 24420004 */ addiu $v0, $v0, 4 -.L7F0C3E5C: -/* 0F898C 7F0C3E5C 1140000A */ beqz $t2, .L7F0C3E88 -/* 0F8990 7F0C3E60 24010001 */ li $at, 1 -/* 0F8994 7F0C3E64 1141000F */ beq $t2, $at, .L7F0C3EA4 -/* 0F8998 7F0C3E68 24010002 */ li $at, 2 -/* 0F899C 7F0C3E6C 11410014 */ beq $t2, $at, .L7F0C3EC0 -/* 0F89A0 7F0C3E70 8FA2007C */ lw $v0, 0x7c($sp) -/* 0F89A4 7F0C3E74 24010003 */ li $at, 3 -/* 0F89A8 7F0C3E78 11410024 */ beq $t2, $at, .L7F0C3F0C -/* 0F89AC 7F0C3E7C 8FB9007C */ lw $t9, 0x7c($sp) -/* 0F89B0 7F0C3E80 10000032 */ b .L7F0C3F4C -/* 0F89B4 7F0C3E84 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C3E88: -/* 0F89B8 7F0C3E88 0FC30776 */ jal get_textptr_for_textID -/* 0F89BC 7F0C3E8C 3404A011 */ li $a0, 40977 -/* 0F89C0 7F0C3E90 8FA40080 */ lw $a0, 0x80($sp) -/* 0F89C4 7F0C3E94 0C002B25 */ jal sprintf -/* 0F89C8 7F0C3E98 00402825 */ move $a1, $v0 -/* 0F89CC 7F0C3E9C 1000002B */ b .L7F0C3F4C -/* 0F89D0 7F0C3EA0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C3EA4: -/* 0F89D4 7F0C3EA4 0FC30776 */ jal get_textptr_for_textID -/* 0F89D8 7F0C3EA8 3404A012 */ li $a0, 40978 -/* 0F89DC 7F0C3EAC 8FA40080 */ lw $a0, 0x80($sp) -/* 0F89E0 7F0C3EB0 0C002B25 */ jal sprintf -/* 0F89E4 7F0C3EB4 00402825 */ move $a1, $v0 -/* 0F89E8 7F0C3EB8 10000024 */ b .L7F0C3F4C -/* 0F89EC 7F0C3EBC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C3EC0: -/* 0F89F0 7F0C3EC0 24010005 */ li $at, 5 -/* 0F89F4 7F0C3EC4 1041000A */ beq $v0, $at, .L7F0C3EF0 -/* 0F89F8 7F0C3EC8 24010007 */ li $at, 7 -/* 0F89FC 7F0C3ECC 10410008 */ beq $v0, $at, .L7F0C3EF0 -/* 0F8A00 7F0C3ED0 00000000 */ nop -/* 0F8A04 7F0C3ED4 0FC30776 */ jal get_textptr_for_textID -/* 0F8A08 7F0C3ED8 3404A013 */ li $a0, 40979 -/* 0F8A0C 7F0C3EDC 8FA40080 */ lw $a0, 0x80($sp) -/* 0F8A10 7F0C3EE0 0C002B25 */ jal sprintf -/* 0F8A14 7F0C3EE4 00402825 */ move $a1, $v0 -/* 0F8A18 7F0C3EE8 10000018 */ b .L7F0C3F4C -/* 0F8A1C 7F0C3EEC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C3EF0: -/* 0F8A20 7F0C3EF0 0FC30776 */ jal get_textptr_for_textID -/* 0F8A24 7F0C3EF4 3404A012 */ li $a0, 40978 -/* 0F8A28 7F0C3EF8 8FA40080 */ lw $a0, 0x80($sp) -/* 0F8A2C 7F0C3EFC 0C002B25 */ jal sprintf -/* 0F8A30 7F0C3F00 00402825 */ move $a1, $v0 -/* 0F8A34 7F0C3F04 10000011 */ b .L7F0C3F4C -/* 0F8A38 7F0C3F08 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C3F0C: -/* 0F8A3C 7F0C3F0C 24010006 */ li $at, 6 -/* 0F8A40 7F0C3F10 13210008 */ beq $t9, $at, .L7F0C3F34 -/* 0F8A44 7F0C3F14 00000000 */ nop -/* 0F8A48 7F0C3F18 0FC30776 */ jal get_textptr_for_textID -/* 0F8A4C 7F0C3F1C 3404A014 */ li $a0, 40980 -/* 0F8A50 7F0C3F20 8FA40080 */ lw $a0, 0x80($sp) -/* 0F8A54 7F0C3F24 0C002B25 */ jal sprintf -/* 0F8A58 7F0C3F28 00402825 */ move $a1, $v0 -/* 0F8A5C 7F0C3F2C 10000007 */ b .L7F0C3F4C -/* 0F8A60 7F0C3F30 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C3F34: -/* 0F8A64 7F0C3F34 0FC30776 */ jal get_textptr_for_textID -/* 0F8A68 7F0C3F38 3404A012 */ li $a0, 40978 -/* 0F8A6C 7F0C3F3C 8FA40080 */ lw $a0, 0x80($sp) -/* 0F8A70 7F0C3F40 0C002B25 */ jal sprintf -/* 0F8A74 7F0C3F44 00402825 */ move $a1, $v0 -/* 0F8A78 7F0C3F48 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0C3F4C: -/* 0F8A7C 7F0C3F4C 8FB00018 */ lw $s0, 0x18($sp) -/* 0F8A80 7F0C3F50 27BD0080 */ addiu $sp, $sp, 0x80 -/* 0F8A84 7F0C3F54 03E00008 */ jr $ra -/* 0F8A88 7F0C3F58 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void true_if_displaying_rank_in_mp(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BCC0*/ -glabel jpt_MP_overlays_scoring_scenario_1 -.word not_yolt -.word yolt -.word not_yolt -.word not_yolt -.word not_yolt -.word not_yolt -.word not_yolt -.word not_yolt -.text -glabel true_if_displaying_rank_in_mp -/* 0F8A8C 7F0C3F5C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F8A90 7F0C3F60 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F8A94 7F0C3F64 0FC051D6 */ jal get_scenario -/* 0F8A98 7F0C3F68 AFA40018 */ sw $a0, 0x18($sp) -/* 0F8A9C 7F0C3F6C 2C410008 */ sltiu $at, $v0, 8 -/* 0F8AA0 7F0C3F70 10200010 */ beqz $at, .L7F0C3FB4 -/* 0F8AA4 7F0C3F74 00027080 */ sll $t6, $v0, 2 -/* 0F8AA8 7F0C3F78 3C018006 */ lui $at, %hi(jpt_MP_overlays_scoring_scenario_1) -/* 0F8AAC 7F0C3F7C 002E0821 */ addu $at, $at, $t6 -/* 0F8AB0 7F0C3F80 8C2EBCC0 */ lw $t6, %lo(jpt_MP_overlays_scoring_scenario_1)($at) -/* 0F8AB4 7F0C3F84 01C00008 */ jr $t6 -/* 0F8AB8 7F0C3F88 00000000 */ nop -not_yolt: -/* 0F8ABC 7F0C3F8C 1000000B */ b .L7F0C3FBC -/* 0F8AC0 7F0C3F90 24020001 */ li $v0, 1 -yolt: -/* 0F8AC4 7F0C3F94 8FAF0018 */ lw $t7, 0x18($sp) -/* 0F8AC8 7F0C3F98 24030001 */ li $v1, 1 -/* 0F8ACC 7F0C3F9C 11E00003 */ beqz $t7, .L7F0C3FAC -/* 0F8AD0 7F0C3FA0 00000000 */ nop -/* 0F8AD4 7F0C3FA4 10000005 */ b .L7F0C3FBC -/* 0F8AD8 7F0C3FA8 00001025 */ move $v0, $zero -.L7F0C3FAC: -/* 0F8ADC 7F0C3FAC 10000003 */ b .L7F0C3FBC -/* 0F8AE0 7F0C3FB0 00601025 */ move $v0, $v1 -def_7F0C3F84: -.L7F0C3FB4: -/* 0F8AE4 7F0C3FB4 1000FFFF */ b .L7F0C3FB4 -/* 0F8AE8 7F0C3FB8 00000000 */ nop -.L7F0C3FBC: -/* 0F8AEC 7F0C3FBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F8AF0 7F0C3FC0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F8AF4 7F0C3FC4 03E00008 */ jr $ra -/* 0F8AF8 7F0C3FC8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void true_if_displaying_score_in_mp(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BCE0*/ -glabel jpt_MP_overlays_scoring_scenario_2 -.word not_yolt_tld -.word yolt_tld -.word yolt_tld -.word not_yolt_tld -.word not_yolt_tld -.word not_yolt_tld -.word not_yolt_tld -/*.word not_yolt_tld*/ -.text -glabel true_if_displaying_score_in_mp -/* 0F8AFC 7F0C3FCC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F8B00 7F0C3FD0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F8B04 7F0C3FD4 0FC051D6 */ jal get_scenario -/* 0F8B08 7F0C3FD8 AFA40018 */ sw $a0, 0x18($sp) -/* 0F8B0C 7F0C3FDC 2C410008 */ sltiu $at, $v0, 8 -/* 0F8B10 7F0C3FE0 1020000A */ beqz $at, .L7F0C400C -/* 0F8B14 7F0C3FE4 00027080 */ sll $t6, $v0, 2 -/* 0F8B18 7F0C3FE8 3C018006 */ lui $at, %hi(jpt_MP_overlays_scoring_scenario_2) -/* 0F8B1C 7F0C3FEC 002E0821 */ addu $at, $at, $t6 -/* 0F8B20 7F0C3FF0 8C2EBCE0 */ lw $t6, %lo(jpt_MP_overlays_scoring_scenario_2)($at) -/* 0F8B24 7F0C3FF4 01C00008 */ jr $t6 -/* 0F8B28 7F0C3FF8 00000000 */ nop -not_yolt_tld: -/* 0F8B2C 7F0C3FFC 10000005 */ b .L7F0C4014 -/* 0F8B30 7F0C4000 24020001 */ li $v0, 1 -yolt_tld: -/* 0F8B34 7F0C4004 10000003 */ b .L7F0C4014 -/* 0F8B38 7F0C4008 00001025 */ move $v0, $zero -def_7F0C3FF4: -.L7F0C400C: -/* 0F8B3C 7F0C400C 1000FFFF */ b .L7F0C400C -/* 0F8B40 7F0C4010 00000000 */ nop -.L7F0C4014: -/* 0F8B44 7F0C4014 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F8B48 7F0C4018 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F8B4C 7F0C401C 03E00008 */ jr $ra -/* 0F8B50 7F0C4020 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void mp_watch_menu_display(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*jtbl hacks*/ -.word not_yolt_tld - -/*D:8005BD00*/ -glabel jpt_MP_menu_window_text -.word text_play -.word text_play -.word text_play -.word text_play -.word text_pause_unpause -.word text_exit -.word text_exit -.word text_blank - -.text -glabel mp_watch_menu_display -/* 0F8B54 7F0C4024 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 0F8B58 7F0C4028 AFBF003C */ sw $ra, 0x3c($sp) -/* 0F8B5C 7F0C402C AFB10038 */ sw $s1, 0x38($sp) -/* 0F8B60 7F0C4030 00808825 */ move $s1, $a0 -/* 0F8B64 7F0C4034 0FC26C54 */ jal get_cur_playernum -/* 0F8B68 7F0C4038 AFB00034 */ sw $s0, 0x34($sp) -/* 0F8B6C 7F0C403C 0FC26919 */ jal get_num_players -/* 0F8B70 7F0C4040 AFA200D4 */ sw $v0, 0xd4($sp) -/* 0F8B74 7F0C4044 24010001 */ li $at, 1 -/* 0F8B78 7F0C4048 00404025 */ move $t0, $v0 -/* 0F8B7C 7F0C404C 14410003 */ bne $v0, $at, .L7F0C405C -/* 0F8B80 7F0C4050 00008025 */ move $s0, $zero -/* 0F8B84 7F0C4054 100007F7 */ b .L7F0C6034 -/* 0F8B88 7F0C4058 02201025 */ move $v0, $s1 -.L7F0C405C: -/* 0F8B8C 7F0C405C 3C038008 */ lui $v1, %hi(pPlayer) -/* 0F8B90 7F0C4060 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0F8B94 7F0C4064 02202025 */ move $a0, $s1 -/* 0F8B98 7F0C4068 8C6E29C4 */ lw $t6, 0x29c4($v1) -/* 0F8B9C 7F0C406C 51C0076D */ beql $t6, $zero, .L7F0C5E24 -/* 0F8BA0 7F0C4070 8C6E00D8 */ lw $t6, 0xd8($v1) -/* 0F8BA4 7F0C4074 0FC2B366 */ jal microcode_constructor -/* 0F8BA8 7F0C4078 AFA800D0 */ sw $t0, 0xd0($sp) -/* 0F8BAC 7F0C407C 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0F8BB0 7F0C4080 24010002 */ li $at, 2 -/* 0F8BB4 7F0C4084 00408825 */ move $s1, $v0 -/* 0F8BB8 7F0C4088 15E10004 */ bne $t7, $at, .L7F0C409C -/* 0F8BBC 7F0C408C 3C198008 */ lui $t9, %hi(pPlayer) -/* 0F8BC0 7F0C4090 24180050 */ li $t8, 80 -/* 0F8BC4 7F0C4094 10000002 */ b .L7F0C40A0 -/* 0F8BC8 7F0C4098 AFB800A8 */ sw $t8, 0xa8($sp) -.L7F0C409C: -/* 0F8BCC 7F0C409C AFA000A8 */ sw $zero, 0xa8($sp) -.L7F0C40A0: -/* 0F8BD0 7F0C40A0 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0F8BD4 7F0C40A4 8F2929C8 */ lw $t1, 0x29c8($t9) -/* 0F8BD8 7F0C40A8 2D210008 */ sltiu $at, $t1, 8 -/* 0F8BDC 7F0C40AC 10200038 */ beqz $at, .L7F0C4190 -/* 0F8BE0 7F0C40B0 00094880 */ sll $t1, $t1, 2 -/* 0F8BE4 7F0C40B4 3C018006 */ lui $at, %hi(jpt_MP_menu_window_text) -/* 0F8BE8 7F0C40B8 00290821 */ addu $at, $at, $t1 -/* 0F8BEC 7F0C40BC 8C29BD00 */ lw $t1, %lo(jpt_MP_menu_window_text)($at) -/* 0F8BF0 7F0C40C0 01200008 */ jr $t1 -/* 0F8BF4 7F0C40C4 00000000 */ nop -text_play: -/* 0F8BF8 7F0C40C8 3C0A8009 */ lui $t2, %hi(is_gameover_flag) -/* 0F8BFC 7F0C40CC 8D4AC704 */ lw $t2, %lo(is_gameover_flag)($t2) -/* 0F8C00 7F0C40D0 3C0B8009 */ lui $t3, %hi(time_trigger_alt_gameover_msg) -/* 0F8C04 7F0C40D4 15400005 */ bnez $t2, .L7F0C40EC -/* 0F8C08 7F0C40D8 00000000 */ nop -/* 0F8C0C 7F0C40DC 0FC30776 */ jal get_textptr_for_textID -/* 0F8C10 7F0C40E0 3404A015 */ li $a0, 40981 -/* 0F8C14 7F0C40E4 1000002A */ b .L7F0C4190 -/* 0F8C18 7F0C40E8 AFA200A4 */ sw $v0, 0xa4($sp) -.L7F0C40EC: -/* 0F8C1C 7F0C40EC 8D6BC710 */ lw $t3, %lo(time_trigger_alt_gameover_msg)($t3) -/* 0F8C20 7F0C40F0 11600005 */ beqz $t3, .L7F0C4108 -/* 0F8C24 7F0C40F4 00000000 */ nop -/* 0F8C28 7F0C40F8 0FC30776 */ jal get_textptr_for_textID -/* 0F8C2C 7F0C40FC 3404A016 */ li $a0, 40982 -/* 0F8C30 7F0C4100 10000023 */ b .L7F0C4190 -/* 0F8C34 7F0C4104 AFA200A4 */ sw $v0, 0xa4($sp) -.L7F0C4108: -/* 0F8C38 7F0C4108 0FC30776 */ jal get_textptr_for_textID -/* 0F8C3C 7F0C410C 3404A017 */ li $a0, 40983 -/* 0F8C40 7F0C4110 1000001F */ b .L7F0C4190 -/* 0F8C44 7F0C4114 AFA200A4 */ sw $v0, 0xa4($sp) -text_blank: -/* 0F8C48 7F0C4118 3C0C8006 */ lui $t4, %hi(ascii_MP_watch_menu_BLANK) -/* 0F8C4C 7F0C411C 258CBC24 */ addiu $t4, %lo(ascii_MP_watch_menu_BLANK) # addiu $t4, $t4, -0x43dc -/* 0F8C50 7F0C4120 1000001B */ b .L7F0C4190 -/* 0F8C54 7F0C4124 AFAC00A4 */ sw $t4, 0xa4($sp) -text_pause_unpause: -/* 0F8C58 7F0C4128 3C0D8009 */ lui $t5, %hi(is_paused) -/* 0F8C5C 7F0C412C 8DADC718 */ lw $t5, %lo(is_paused)($t5) -/* 0F8C60 7F0C4130 11A0000B */ beqz $t5, .L7F0C4160 -/* 0F8C64 7F0C4134 00000000 */ nop -/* 0F8C68 7F0C4138 0FC30776 */ jal get_textptr_for_textID -/* 0F8C6C 7F0C413C 3404A018 */ li $a0, 40984 -/* 0F8C70 7F0C4140 0FC26C54 */ jal get_cur_playernum -/* 0F8C74 7F0C4144 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0F8C78 7F0C4148 3C0E8009 */ lui $t6, %hi(who_paused) -/* 0F8C7C 7F0C414C 8DCEC71C */ lw $t6, %lo(who_paused)($t6) -/* 0F8C80 7F0C4150 144E000F */ bne $v0, $t6, .L7F0C4190 -/* 0F8C84 7F0C4154 00000000 */ nop -/* 0F8C88 7F0C4158 1000000D */ b .L7F0C4190 -/* 0F8C8C 7F0C415C 24100001 */ li $s0, 1 -.L7F0C4160: -/* 0F8C90 7F0C4160 0FC30776 */ jal get_textptr_for_textID -/* 0F8C94 7F0C4164 3404A019 */ li $a0, 40985 -/* 0F8C98 7F0C4168 10000009 */ b .L7F0C4190 -/* 0F8C9C 7F0C416C AFA200A4 */ sw $v0, 0xa4($sp) -text_exit: -/* 0F8CA0 7F0C4170 0FC30776 */ jal get_textptr_for_textID -/* 0F8CA4 7F0C4174 3404A01A */ li $a0, 40986 -/* 0F8CA8 7F0C4178 0C001145 */ jal get_video2_settings_ulx -/* 0F8CAC 7F0C417C AFA200A4 */ sw $v0, 0xa4($sp) -/* 0F8CB0 7F0C4180 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0F8CB4 7F0C4184 004F2021 */ addu $a0, $v0, $t7 -/* 0F8CB8 7F0C4188 24840041 */ addiu $a0, $a0, 0x41 -/* 0F8CBC 7F0C418C AFA400CC */ sw $a0, 0xcc($sp) -def_7F0C40C0: -.L7F0C4190: -/* 0F8CC0 7F0C4190 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0F8CC4 7F0C4194 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0F8CC8 7F0C4198 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0F8CCC 7F0C419C 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F8CD0 7F0C41A0 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F8CD4 7F0C41A4 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F8CD8 7F0C41A8 8FA600A4 */ lw $a2, 0xa4($sp) -/* 0F8CDC 7F0C41AC AFA00014 */ sw $zero, 0x14($sp) -/* 0F8CE0 7F0C41B0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0F8CE4 7F0C41B4 AFB80010 */ sw $t8, 0x10($sp) -/* 0F8CE8 7F0C41B8 0C001145 */ jal get_video2_settings_ulx -/* 0F8CEC 7F0C41BC 00000000 */ nop -/* 0F8CF0 7F0C41C0 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0F8CF4 7F0C41C4 8FAA00C0 */ lw $t2, 0xc0($sp) -/* 0F8CF8 7F0C41C8 00594821 */ addu $t1, $v0, $t9 -/* 0F8CFC 7F0C41CC 000A5843 */ sra $t3, $t2, 1 -/* 0F8D00 7F0C41D0 012B2023 */ subu $a0, $t1, $t3 -/* 0F8D04 7F0C41D4 24840050 */ addiu $a0, $a0, 0x50 -/* 0F8D08 7F0C41D8 0C001149 */ jal get_video2_settings_uly -/* 0F8D0C 7F0C41DC AFA400CC */ sw $a0, 0xcc($sp) -/* 0F8D10 7F0C41E0 8FAC00BC */ lw $t4, 0xbc($sp) -/* 0F8D14 7F0C41E4 000C6843 */ sra $t5, $t4, 1 -/* 0F8D18 7F0C41E8 004D7023 */ subu $t6, $v0, $t5 -/* 0F8D1C 7F0C41EC 25CF0016 */ addiu $t7, $t6, 0x16 -/* 0F8D20 7F0C41F0 1200001E */ beqz $s0, .L7F0C426C -/* 0F8D24 7F0C41F4 AFAF00C8 */ sw $t7, 0xc8($sp) -/* 0F8D28 7F0C41F8 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8D2C 7F0C41FC 00000000 */ nop -/* 0F8D30 7F0C4200 00028400 */ sll $s0, $v0, 0x10 -/* 0F8D34 7F0C4204 0010C403 */ sra $t8, $s0, 0x10 -/* 0F8D38 7F0C4208 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8D3C 7F0C420C 03008025 */ move $s0, $t8 -/* 0F8D40 7F0C4210 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall) -/* 0F8D44 7F0C4214 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableSmall) -/* 0F8D48 7F0C4218 8D4A0EAC */ lw $t2, %lo(ptrFirstFontTableSmall)($t2) -/* 0F8D4C 7F0C421C 8F390EB0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9) -/* 0F8D50 7F0C4220 3C09A0FF */ lui $t1, (0xA0FFA0F0 >> 16) # lui $t1, 0xa0ff -/* 0F8D54 7F0C4224 3C0B0070 */ lui $t3, (0x007000A0 >> 16) # lui $t3, 0x70 -/* 0F8D58 7F0C4228 356B00A0 */ ori $t3, (0x007000A0 & 0xFFFF) # ori $t3, $t3, 0xa0 -/* 0F8D5C 7F0C422C 3529A0F0 */ ori $t1, (0xA0FFA0F0 & 0xFFFF) # ori $t1, $t1, 0xa0f0 -/* 0F8D60 7F0C4230 AFA90018 */ sw $t1, 0x18($sp) -/* 0F8D64 7F0C4234 AFAB001C */ sw $t3, 0x1c($sp) -/* 0F8D68 7F0C4238 02202025 */ move $a0, $s1 -/* 0F8D6C 7F0C423C 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F8D70 7F0C4240 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F8D74 7F0C4244 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0F8D78 7F0C4248 AFB00020 */ sw $s0, 0x20($sp) -/* 0F8D7C 7F0C424C AFA20024 */ sw $v0, 0x24($sp) -/* 0F8D80 7F0C4250 AFA00028 */ sw $zero, 0x28($sp) -/* 0F8D84 7F0C4254 AFA0002C */ sw $zero, 0x2c($sp) -/* 0F8D88 7F0C4258 AFAA0014 */ sw $t2, 0x14($sp) -/* 0F8D8C 7F0C425C 0FC2B9BB */ jal jp_text_write_stuff -/* 0F8D90 7F0C4260 AFB90010 */ sw $t9, 0x10($sp) -/* 0F8D94 7F0C4264 1000001A */ b .L7F0C42D0 -/* 0F8D98 7F0C4268 00408825 */ move $s1, $v0 -.L7F0C426C: -/* 0F8D9C 7F0C426C 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8DA0 7F0C4270 00000000 */ nop -/* 0F8DA4 7F0C4274 00028400 */ sll $s0, $v0, 0x10 -/* 0F8DA8 7F0C4278 00106403 */ sra $t4, $s0, 0x10 -/* 0F8DAC 7F0C427C 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8DB0 7F0C4280 01808025 */ move $s0, $t4 -/* 0F8DB4 7F0C4284 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableSmall) -/* 0F8DB8 7F0C4288 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0F8DBC 7F0C428C 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0F8DC0 7F0C4290 8DAD0EB0 */ lw $t5, %lo(ptrSecondFontTableSmall)($t5) -/* 0F8DC4 7F0C4294 3C0F00FF */ lui $t7, (0x00FF00B0 >> 16) # lui $t7, 0xff -/* 0F8DC8 7F0C4298 35EF00B0 */ ori $t7, (0x00FF00B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0F8DCC 7F0C429C AFAF0018 */ sw $t7, 0x18($sp) -/* 0F8DD0 7F0C42A0 02202025 */ move $a0, $s1 -/* 0F8DD4 7F0C42A4 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F8DD8 7F0C42A8 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F8DDC 7F0C42AC 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0F8DE0 7F0C42B0 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F8DE4 7F0C42B4 AFA20020 */ sw $v0, 0x20($sp) -/* 0F8DE8 7F0C42B8 AFA00024 */ sw $zero, 0x24($sp) -/* 0F8DEC 7F0C42BC AFA00028 */ sw $zero, 0x28($sp) -/* 0F8DF0 7F0C42C0 AFAE0014 */ sw $t6, 0x14($sp) -/* 0F8DF4 7F0C42C4 0FC2B6AF */ jal en_text_write_stuff -/* 0F8DF8 7F0C42C8 AFAD0010 */ sw $t5, 0x10($sp) -/* 0F8DFC 7F0C42CC 00408825 */ move $s1, $v0 -.L7F0C42D0: -/* 0F8E00 7F0C42D0 0FC307A3 */ jal check_can_advance_left_on_mpmenu -/* 0F8E04 7F0C42D4 00000000 */ nop -/* 0F8E08 7F0C42D8 10400056 */ beqz $v0, .L7F0C4434 -/* 0F8E0C 7F0C42DC 00000000 */ nop -/* 0F8E10 7F0C42E0 0C001145 */ jal get_video2_settings_ulx -/* 0F8E14 7F0C42E4 00000000 */ nop -/* 0F8E18 7F0C42E8 3C038009 */ lui $v1, %hi(is_gameover_flag) -/* 0F8E1C 7F0C42EC 8C63C704 */ lw $v1, %lo(is_gameover_flag)($v1) -/* 0F8E20 7F0C42F0 0002CC00 */ sll $t9, $v0, 0x10 -/* 0F8E24 7F0C42F4 2418000A */ li $t8, 10 -/* 0F8E28 7F0C42F8 50600004 */ beql $v1, $zero, .L7F0C430C -/* 0F8E2C 7F0C42FC AFA00050 */ sw $zero, 0x50($sp) -/* 0F8E30 7F0C4300 10000002 */ b .L7F0C430C -/* 0F8E34 7F0C4304 AFB80050 */ sw $t8, 0x50($sp) -/* 0F8E38 7F0C4308 AFA00050 */ sw $zero, 0x50($sp) -.L7F0C430C: -/* 0F8E3C 7F0C430C 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0F8E40 7F0C4310 8FAC0050 */ lw $t4, 0x50($sp) -/* 0F8E44 7F0C4314 00195403 */ sra $t2, $t9, 0x10 -/* 0F8E48 7F0C4318 01495821 */ addu $t3, $t2, $t1 -/* 0F8E4C 7F0C431C 016C2023 */ subu $a0, $t3, $t4 -/* 0F8E50 7F0C4320 24840028 */ addiu $a0, $a0, 0x28 -/* 0F8E54 7F0C4324 10600003 */ beqz $v1, .L7F0C4334 -/* 0F8E58 7F0C4328 AFA400CC */ sw $a0, 0xcc($sp) -/* 0F8E5C 7F0C432C 2484FFF8 */ addiu $a0, $a0, -8 -/* 0F8E60 7F0C4330 AFA400CC */ sw $a0, 0xcc($sp) -.L7F0C4334: -/* 0F8E64 7F0C4334 0C001149 */ jal get_video2_settings_uly -/* 0F8E68 7F0C4338 00000000 */ nop -/* 0F8E6C 7F0C433C 3C0E8009 */ lui $t6, %hi(dword_CODE_bss_8008C708) -/* 0F8E70 7F0C4340 8DCEC708 */ lw $t6, %lo(dword_CODE_bss_8008C708)($t6) -/* 0F8E74 7F0C4344 244D0016 */ addiu $t5, $v0, 0x16 -/* 0F8E78 7F0C4348 AFAD00C8 */ sw $t5, 0xc8($sp) -/* 0F8E7C 7F0C434C 15C0001C */ bnez $t6, .L7F0C43C0 -/* 0F8E80 7F0C4350 00000000 */ nop -/* 0F8E84 7F0C4354 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8E88 7F0C4358 00000000 */ nop -/* 0F8E8C 7F0C435C 00028400 */ sll $s0, $v0, 0x10 -/* 0F8E90 7F0C4360 00107C03 */ sra $t7, $s0, 0x10 -/* 0F8E94 7F0C4364 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8E98 7F0C4368 01E08025 */ move $s0, $t7 -/* 0F8E9C 7F0C436C 3C188004 */ lui $t8, %hi(ptrSecondFontTableSmall) -/* 0F8EA0 7F0C4370 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 0F8EA4 7F0C4374 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0F8EA8 7F0C4378 8F180EB0 */ lw $t8, %lo(ptrSecondFontTableSmall)($t8) -/* 0F8EAC 7F0C437C 3C0A00FF */ lui $t2, (0x00FF00B0 >> 16) # lui $t2, 0xff -/* 0F8EB0 7F0C4380 354A00B0 */ ori $t2, (0x00FF00B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -/* 0F8EB4 7F0C4384 3C078006 */ lui $a3, %hi(ascii_MP_watch_menu_left_chevron) -/* 0F8EB8 7F0C4388 24E7BC28 */ addiu $a3, %lo(ascii_MP_watch_menu_left_chevron) # addiu $a3, $a3, -0x43d8 -/* 0F8EBC 7F0C438C AFAA0018 */ sw $t2, 0x18($sp) -/* 0F8EC0 7F0C4390 02202025 */ move $a0, $s1 -/* 0F8EC4 7F0C4394 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F8EC8 7F0C4398 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F8ECC 7F0C439C AFB0001C */ sw $s0, 0x1c($sp) -/* 0F8ED0 7F0C43A0 AFA20020 */ sw $v0, 0x20($sp) -/* 0F8ED4 7F0C43A4 AFA00024 */ sw $zero, 0x24($sp) -/* 0F8ED8 7F0C43A8 AFA00028 */ sw $zero, 0x28($sp) -/* 0F8EDC 7F0C43AC AFB90014 */ sw $t9, 0x14($sp) -/* 0F8EE0 7F0C43B0 0FC2B6AF */ jal en_text_write_stuff -/* 0F8EE4 7F0C43B4 AFB80010 */ sw $t8, 0x10($sp) -/* 0F8EE8 7F0C43B8 1000001E */ b .L7F0C4434 -/* 0F8EEC 7F0C43BC 00408825 */ move $s1, $v0 -.L7F0C43C0: -/* 0F8EF0 7F0C43C0 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8EF4 7F0C43C4 00000000 */ nop -/* 0F8EF8 7F0C43C8 00028400 */ sll $s0, $v0, 0x10 -/* 0F8EFC 7F0C43CC 00104C03 */ sra $t1, $s0, 0x10 -/* 0F8F00 7F0C43D0 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8F04 7F0C43D4 01208025 */ move $s0, $t1 -/* 0F8F08 7F0C43D8 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableSmall) -/* 0F8F0C 7F0C43DC 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) -/* 0F8F10 7F0C43E0 8D8C0EAC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0F8F14 7F0C43E4 8D6B0EB0 */ lw $t3, %lo(ptrSecondFontTableSmall)($t3) -/* 0F8F18 7F0C43E8 3C0DA0FF */ lui $t5, (0xA0FFA0F0 >> 16) # lui $t5, 0xa0ff -/* 0F8F1C 7F0C43EC 3C0E0070 */ lui $t6, (0x007000A0 >> 16) # lui $t6, 0x70 -/* 0F8F20 7F0C43F0 35CE00A0 */ ori $t6, (0x007000A0 & 0xFFFF) # ori $t6, $t6, 0xa0 -/* 0F8F24 7F0C43F4 35ADA0F0 */ ori $t5, (0xA0FFA0F0 & 0xFFFF) # ori $t5, $t5, 0xa0f0 -/* 0F8F28 7F0C43F8 3C078006 */ lui $a3, %hi(ascii_MP_watch_menu_left_chevron) -/* 0F8F2C 7F0C43FC 24E7BC28 */ addiu $a3, %lo(ascii_MP_watch_menu_left_chevron) # addiu $a3, $a3, -0x43d8 -/* 0F8F30 7F0C4400 AFAD0018 */ sw $t5, 0x18($sp) -/* 0F8F34 7F0C4404 AFAE001C */ sw $t6, 0x1c($sp) -/* 0F8F38 7F0C4408 02202025 */ move $a0, $s1 -/* 0F8F3C 7F0C440C 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F8F40 7F0C4410 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F8F44 7F0C4414 AFB00020 */ sw $s0, 0x20($sp) -/* 0F8F48 7F0C4418 AFA20024 */ sw $v0, 0x24($sp) -/* 0F8F4C 7F0C441C AFA00028 */ sw $zero, 0x28($sp) -/* 0F8F50 7F0C4420 AFA0002C */ sw $zero, 0x2c($sp) -/* 0F8F54 7F0C4424 AFAC0014 */ sw $t4, 0x14($sp) -/* 0F8F58 7F0C4428 0FC2B9BB */ jal jp_text_write_stuff -/* 0F8F5C 7F0C442C AFAB0010 */ sw $t3, 0x10($sp) -/* 0F8F60 7F0C4430 00408825 */ move $s1, $v0 -.L7F0C4434: -/* 0F8F64 7F0C4434 0FC30788 */ jal check_can_advance_right_on_mpmenu -/* 0F8F68 7F0C4438 00000000 */ nop -/* 0F8F6C 7F0C443C 10400056 */ beqz $v0, .L7F0C4598 -/* 0F8F70 7F0C4440 00000000 */ nop -/* 0F8F74 7F0C4444 0C001145 */ jal get_video2_settings_ulx -/* 0F8F78 7F0C4448 00000000 */ nop -/* 0F8F7C 7F0C444C 3C038009 */ lui $v1, %hi(is_gameover_flag) -/* 0F8F80 7F0C4450 8C63C704 */ lw $v1, %lo(is_gameover_flag)($v1) -/* 0F8F84 7F0C4454 0002CC00 */ sll $t9, $v0, 0x10 -/* 0F8F88 7F0C4458 240F000A */ li $t7, 10 -/* 0F8F8C 7F0C445C 50600004 */ beql $v1, $zero, .L7F0C4470 -/* 0F8F90 7F0C4460 AFA00050 */ sw $zero, 0x50($sp) -/* 0F8F94 7F0C4464 10000002 */ b .L7F0C4470 -/* 0F8F98 7F0C4468 AFAF0050 */ sw $t7, 0x50($sp) -/* 0F8F9C 7F0C446C AFA00050 */ sw $zero, 0x50($sp) -.L7F0C4470: -/* 0F8FA0 7F0C4470 8FB80050 */ lw $t8, 0x50($sp) -/* 0F8FA4 7F0C4474 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0F8FA8 7F0C4478 00195403 */ sra $t2, $t9, 0x10 -/* 0F8FAC 7F0C447C 030A4821 */ addu $t1, $t8, $t2 -/* 0F8FB0 7F0C4480 012B2021 */ addu $a0, $t1, $t3 -/* 0F8FB4 7F0C4484 24840070 */ addiu $a0, $a0, 0x70 -/* 0F8FB8 7F0C4488 10600003 */ beqz $v1, .L7F0C4498 -/* 0F8FBC 7F0C448C AFA400CC */ sw $a0, 0xcc($sp) -/* 0F8FC0 7F0C4490 24840008 */ addiu $a0, $a0, 8 -/* 0F8FC4 7F0C4494 AFA400CC */ sw $a0, 0xcc($sp) -.L7F0C4498: -/* 0F8FC8 7F0C4498 0C001149 */ jal get_video2_settings_uly -/* 0F8FCC 7F0C449C 00000000 */ nop -/* 0F8FD0 7F0C44A0 3C0D8009 */ lui $t5, %hi(dword_CODE_bss_8008C708) -/* 0F8FD4 7F0C44A4 8DADC708 */ lw $t5, %lo(dword_CODE_bss_8008C708)($t5) -/* 0F8FD8 7F0C44A8 244C0016 */ addiu $t4, $v0, 0x16 -/* 0F8FDC 7F0C44AC AFAC00C8 */ sw $t4, 0xc8($sp) -/* 0F8FE0 7F0C44B0 15A0001C */ bnez $t5, .L7F0C4524 -/* 0F8FE4 7F0C44B4 00000000 */ nop -/* 0F8FE8 7F0C44B8 0C001107 */ jal get_video2_settings_txtClipW -/* 0F8FEC 7F0C44BC 00000000 */ nop -/* 0F8FF0 7F0C44C0 00028400 */ sll $s0, $v0, 0x10 -/* 0F8FF4 7F0C44C4 00107403 */ sra $t6, $s0, 0x10 -/* 0F8FF8 7F0C44C8 0C00110B */ jal get_video2_settings_txtClipH -/* 0F8FFC 7F0C44CC 01C08025 */ move $s0, $t6 -/* 0F9000 7F0C44D0 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0F9004 7F0C44D4 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 0F9008 7F0C44D8 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0F900C 7F0C44DC 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0F9010 7F0C44E0 3C1800FF */ lui $t8, (0x00FF00B0 >> 16) # lui $t8, 0xff -/* 0F9014 7F0C44E4 371800B0 */ ori $t8, (0x00FF00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0F9018 7F0C44E8 3C078006 */ lui $a3, %hi(ascii_MP_watch_menu_right_chevron) -/* 0F901C 7F0C44EC 24E7BC2C */ addiu $a3, %lo(ascii_MP_watch_menu_right_chevron) # addiu $a3, $a3, -0x43d4 -/* 0F9020 7F0C44F0 AFB80018 */ sw $t8, 0x18($sp) -/* 0F9024 7F0C44F4 02202025 */ move $a0, $s1 -/* 0F9028 7F0C44F8 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F902C 7F0C44FC 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9030 7F0C4500 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9034 7F0C4504 AFA20020 */ sw $v0, 0x20($sp) -/* 0F9038 7F0C4508 AFA00024 */ sw $zero, 0x24($sp) -/* 0F903C 7F0C450C AFA00028 */ sw $zero, 0x28($sp) -/* 0F9040 7F0C4510 AFB90014 */ sw $t9, 0x14($sp) -/* 0F9044 7F0C4514 0FC2B6AF */ jal en_text_write_stuff -/* 0F9048 7F0C4518 AFAF0010 */ sw $t7, 0x10($sp) -/* 0F904C 7F0C451C 1000001E */ b .L7F0C4598 -/* 0F9050 7F0C4520 00408825 */ move $s1, $v0 -.L7F0C4524: -/* 0F9054 7F0C4524 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9058 7F0C4528 00000000 */ nop -/* 0F905C 7F0C452C 00028400 */ sll $s0, $v0, 0x10 -/* 0F9060 7F0C4530 00105403 */ sra $t2, $s0, 0x10 -/* 0F9064 7F0C4534 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9068 7F0C4538 01408025 */ move $s0, $t2 -/* 0F906C 7F0C453C 3C098004 */ lui $t1, %hi(ptrSecondFontTableSmall) -/* 0F9070 7F0C4540 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) -/* 0F9074 7F0C4544 8D6B0EAC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0F9078 7F0C4548 8D290EB0 */ lw $t1, %lo(ptrSecondFontTableSmall)($t1) -/* 0F907C 7F0C454C 3C0CA0FF */ lui $t4, (0xA0FFA0F0 >> 16) # lui $t4, 0xa0ff -/* 0F9080 7F0C4550 3C0D0070 */ lui $t5, (0x007000A0 >> 16) # lui $t5, 0x70 -/* 0F9084 7F0C4554 35AD00A0 */ ori $t5, (0x007000A0 & 0xFFFF) # ori $t5, $t5, 0xa0 -/* 0F9088 7F0C4558 358CA0F0 */ ori $t4, (0xA0FFA0F0 & 0xFFFF) # ori $t4, $t4, 0xa0f0 -/* 0F908C 7F0C455C 3C078006 */ lui $a3, %hi(ascii_MP_watch_menu_right_chevron) -/* 0F9090 7F0C4560 24E7BC2C */ addiu $a3, %lo(ascii_MP_watch_menu_right_chevron) # addiu $a3, $a3, -0x43d4 -/* 0F9094 7F0C4564 AFAC0018 */ sw $t4, 0x18($sp) -/* 0F9098 7F0C4568 AFAD001C */ sw $t5, 0x1c($sp) -/* 0F909C 7F0C456C 02202025 */ move $a0, $s1 -/* 0F90A0 7F0C4570 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F90A4 7F0C4574 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F90A8 7F0C4578 AFB00020 */ sw $s0, 0x20($sp) -/* 0F90AC 7F0C457C AFA20024 */ sw $v0, 0x24($sp) -/* 0F90B0 7F0C4580 AFA00028 */ sw $zero, 0x28($sp) -/* 0F90B4 7F0C4584 AFA0002C */ sw $zero, 0x2c($sp) -/* 0F90B8 7F0C4588 AFAB0014 */ sw $t3, 0x14($sp) -/* 0F90BC 7F0C458C 0FC2B9BB */ jal jp_text_write_stuff -/* 0F90C0 7F0C4590 AFA90010 */ sw $t1, 0x10($sp) -/* 0F90C4 7F0C4594 00408825 */ move $s1, $v0 -.L7F0C4598: -/* 0F90C8 7F0C4598 3C038008 */ lui $v1, %hi(pPlayer) -/* 0F90CC 7F0C459C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0F90D0 7F0C45A0 24010003 */ li $at, 3 -/* 0F90D4 7F0C45A4 8FAE00D0 */ lw $t6, 0xd0($sp) -/* 0F90D8 7F0C45A8 8C6229C8 */ lw $v0, 0x29c8($v1) -/* 0F90DC 7F0C45AC 10410003 */ beq $v0, $at, .L7F0C45BC -/* 0F90E0 7F0C45B0 24010004 */ li $at, 4 -/* 0F90E4 7F0C45B4 544101AA */ bnel $v0, $at, .L7F0C4C60 -/* 0F90E8 7F0C45B8 24010002 */ li $at, 2 -.L7F0C45BC: -/* 0F90EC 7F0C45BC 19C0000D */ blez $t6, .L7F0C45F4 -/* 0F90F0 7F0C45C0 00002025 */ move $a0, $zero -/* 0F90F4 7F0C45C4 27A30094 */ addiu $v1, $sp, 0x94 -/* 0F90F8 7F0C45C8 AFA30044 */ sw $v1, 0x44($sp) -.L7F0C45CC: -/* 0F90FC 7F0C45CC 0FC30E36 */ jal get_points_for_mp_player -/* 0F9100 7F0C45D0 AFA40090 */ sw $a0, 0x90($sp) -/* 0F9104 7F0C45D4 8FA30044 */ lw $v1, 0x44($sp) -/* 0F9108 7F0C45D8 8FA40090 */ lw $a0, 0x90($sp) -/* 0F910C 7F0C45DC AC620000 */ sw $v0, ($v1) -/* 0F9110 7F0C45E0 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0F9114 7F0C45E4 24840001 */ addiu $a0, $a0, 1 -/* 0F9118 7F0C45E8 24630004 */ addiu $v1, $v1, 4 -/* 0F911C 7F0C45EC 548FFFF7 */ bnel $a0, $t7, .L7F0C45CC -/* 0F9120 7F0C45F0 AFA30044 */ sw $v1, 0x44($sp) -.L7F0C45F4: -/* 0F9124 7F0C45F4 3C048009 */ lui $a0, %hi(is_gameover_flag) -/* 0F9128 7F0C45F8 8C84C704 */ lw $a0, %lo(is_gameover_flag)($a0) -/* 0F912C 7F0C45FC 2C990001 */ sltiu $t9, $a0, 1 -/* 0F9130 7F0C4600 13200005 */ beqz $t9, .L7F0C4618 -/* 0F9134 7F0C4604 03202025 */ move $a0, $t9 -/* 0F9138 7F0C4608 3C048009 */ lui $a0, %hi(stop_play_flag) -/* 0F913C 7F0C460C 8C84C700 */ lw $a0, %lo(stop_play_flag)($a0) -/* 0F9140 7F0C4610 2C980001 */ sltiu $t8, $a0, 1 -/* 0F9144 7F0C4614 03002025 */ move $a0, $t8 -.L7F0C4618: -/* 0F9148 7F0C4618 0FC30FD7 */ jal true_if_displaying_rank_in_mp -/* 0F914C 7F0C461C 00000000 */ nop -/* 0F9150 7F0C4620 10400034 */ beqz $v0, .L7F0C46F4 -/* 0F9154 7F0C4624 27A400AC */ addiu $a0, $sp, 0xac -/* 0F9158 7F0C4628 0FC30F25 */ jal write_playerrank_to_buffer -/* 0F915C 7F0C462C 8FA500D4 */ lw $a1, 0xd4($sp) -/* 0F9160 7F0C4630 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableSmall) -/* 0F9164 7F0C4634 8D4A0EAC */ lw $t2, %lo(ptrFirstFontTableSmall)($t2) -/* 0F9168 7F0C4638 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0F916C 7F0C463C 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F9170 7F0C4640 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F9174 7F0C4644 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F9178 7F0C4648 27A600AC */ addiu $a2, $sp, 0xac -/* 0F917C 7F0C464C AFA00014 */ sw $zero, 0x14($sp) -/* 0F9180 7F0C4650 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0F9184 7F0C4654 AFAA0010 */ sw $t2, 0x10($sp) -/* 0F9188 7F0C4658 0C001145 */ jal get_video2_settings_ulx -/* 0F918C 7F0C465C 00000000 */ nop -/* 0F9190 7F0C4660 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0F9194 7F0C4664 8FAC00C0 */ lw $t4, 0xc0($sp) -/* 0F9198 7F0C4668 00495821 */ addu $t3, $v0, $t1 -/* 0F919C 7F0C466C 000C6843 */ sra $t5, $t4, 1 -/* 0F91A0 7F0C4670 016D2023 */ subu $a0, $t3, $t5 -/* 0F91A4 7F0C4674 24840050 */ addiu $a0, $a0, 0x50 -/* 0F91A8 7F0C4678 0C001149 */ jal get_video2_settings_uly -/* 0F91AC 7F0C467C AFA400CC */ sw $a0, 0xcc($sp) -/* 0F91B0 7F0C4680 8FAE00BC */ lw $t6, 0xbc($sp) -/* 0F91B4 7F0C4684 000E7843 */ sra $t7, $t6, 1 -/* 0F91B8 7F0C4688 004FC823 */ subu $t9, $v0, $t7 -/* 0F91BC 7F0C468C 27380025 */ addiu $t8, $t9, 0x25 -/* 0F91C0 7F0C4690 0C001107 */ jal get_video2_settings_txtClipW -/* 0F91C4 7F0C4694 AFB800C8 */ sw $t8, 0xc8($sp) -/* 0F91C8 7F0C4698 00028400 */ sll $s0, $v0, 0x10 -/* 0F91CC 7F0C469C 00105403 */ sra $t2, $s0, 0x10 -/* 0F91D0 7F0C46A0 0C00110B */ jal get_video2_settings_txtClipH -/* 0F91D4 7F0C46A4 01408025 */ move $s0, $t2 -/* 0F91D8 7F0C46A8 3C098004 */ lui $t1, %hi(ptrSecondFontTableSmall) -/* 0F91DC 7F0C46AC 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) -/* 0F91E0 7F0C46B0 8D8C0EAC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0F91E4 7F0C46B4 8D290EB0 */ lw $t1, %lo(ptrSecondFontTableSmall)($t1) -/* 0F91E8 7F0C46B8 3C0B00FF */ lui $t3, (0x00FF00B0 >> 16) # lui $t3, 0xff -/* 0F91EC 7F0C46BC 356B00B0 */ ori $t3, (0x00FF00B0 & 0xFFFF) # ori $t3, $t3, 0xb0 -/* 0F91F0 7F0C46C0 AFAB0018 */ sw $t3, 0x18($sp) -/* 0F91F4 7F0C46C4 02202025 */ move $a0, $s1 -/* 0F91F8 7F0C46C8 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F91FC 7F0C46CC 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9200 7F0C46D0 27A700AC */ addiu $a3, $sp, 0xac -/* 0F9204 7F0C46D4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9208 7F0C46D8 AFA20020 */ sw $v0, 0x20($sp) -/* 0F920C 7F0C46DC AFA00024 */ sw $zero, 0x24($sp) -/* 0F9210 7F0C46E0 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9214 7F0C46E4 AFAC0014 */ sw $t4, 0x14($sp) -/* 0F9218 7F0C46E8 0FC2B6AF */ jal en_text_write_stuff -/* 0F921C 7F0C46EC AFA90010 */ sw $t1, 0x10($sp) -/* 0F9220 7F0C46F0 00408825 */ move $s1, $v0 -.L7F0C46F4: -/* 0F9224 7F0C46F4 3C048009 */ lui $a0, %hi(is_gameover_flag) -/* 0F9228 7F0C46F8 8C84C704 */ lw $a0, %lo(is_gameover_flag)($a0) -/* 0F922C 7F0C46FC 2C8D0001 */ sltiu $t5, $a0, 1 -/* 0F9230 7F0C4700 11A00005 */ beqz $t5, .L7F0C4718 -/* 0F9234 7F0C4704 01A02025 */ move $a0, $t5 -/* 0F9238 7F0C4708 3C048009 */ lui $a0, %hi(stop_play_flag) -/* 0F923C 7F0C470C 8C84C700 */ lw $a0, %lo(stop_play_flag)($a0) -/* 0F9240 7F0C4710 2C8E0001 */ sltiu $t6, $a0, 1 -/* 0F9244 7F0C4714 01C02025 */ move $a0, $t6 -.L7F0C4718: -/* 0F9248 7F0C4718 0FC30FF3 */ jal true_if_displaying_score_in_mp -/* 0F924C 7F0C471C 00000000 */ nop -/* 0F9250 7F0C4720 1040014B */ beqz $v0, .L7F0C4C50 -/* 0F9254 7F0C4724 00000000 */ nop -/* 0F9258 7F0C4728 0FC051D6 */ jal get_scenario -/* 0F925C 7F0C472C 00000000 */ nop -/* 0F9260 7F0C4730 AFA20080 */ sw $v0, 0x80($sp) -/* 0F9264 7F0C4734 0FC30776 */ jal get_textptr_for_textID -/* 0F9268 7F0C4738 3404A01B */ li $a0, 40987 -/* 0F926C 7F0C473C 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) -/* 0F9270 7F0C4740 8DEF0EAC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0F9274 7F0C4744 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0F9278 7F0C4748 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0F927C 7F0C474C 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F9280 7F0C4750 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F9284 7F0C4754 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F9288 7F0C4758 00403025 */ move $a2, $v0 -/* 0F928C 7F0C475C AFA00014 */ sw $zero, 0x14($sp) -/* 0F9290 7F0C4760 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0F9294 7F0C4764 AFAF0010 */ sw $t7, 0x10($sp) -/* 0F9298 7F0C4768 0C001145 */ jal get_video2_settings_ulx -/* 0F929C 7F0C476C 00000000 */ nop -/* 0F92A0 7F0C4770 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0F92A4 7F0C4774 8FAA00C0 */ lw $t2, 0xc0($sp) -/* 0F92A8 7F0C4778 0059C021 */ addu $t8, $v0, $t9 -/* 0F92AC 7F0C477C 000A4843 */ sra $t1, $t2, 1 -/* 0F92B0 7F0C4780 03092023 */ subu $a0, $t8, $t1 -/* 0F92B4 7F0C4784 24840050 */ addiu $a0, $a0, 0x50 -/* 0F92B8 7F0C4788 0C001149 */ jal get_video2_settings_uly -/* 0F92BC 7F0C478C AFA400CC */ sw $a0, 0xcc($sp) -/* 0F92C0 7F0C4790 8FAC00BC */ lw $t4, 0xbc($sp) -/* 0F92C4 7F0C4794 000C5843 */ sra $t3, $t4, 1 -/* 0F92C8 7F0C4798 004B6823 */ subu $t5, $v0, $t3 -/* 0F92CC 7F0C479C 25AE0035 */ addiu $t6, $t5, 0x35 -/* 0F92D0 7F0C47A0 0C001107 */ jal get_video2_settings_txtClipW -/* 0F92D4 7F0C47A4 AFAE00C8 */ sw $t6, 0xc8($sp) -/* 0F92D8 7F0C47A8 00028400 */ sll $s0, $v0, 0x10 -/* 0F92DC 7F0C47AC 00107C03 */ sra $t7, $s0, 0x10 -/* 0F92E0 7F0C47B0 0C00110B */ jal get_video2_settings_txtClipH -/* 0F92E4 7F0C47B4 01E08025 */ move $s0, $t7 -/* 0F92E8 7F0C47B8 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall) -/* 0F92EC 7F0C47BC 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableSmall) -/* 0F92F0 7F0C47C0 8D4A0EAC */ lw $t2, %lo(ptrFirstFontTableSmall)($t2) -/* 0F92F4 7F0C47C4 8F390EB0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9) -/* 0F92F8 7F0C47C8 3C1800FF */ lui $t8, (0x00FF00B0 >> 16) # lui $t8, 0xff -/* 0F92FC 7F0C47CC 371800B0 */ ori $t8, (0x00FF00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0F9300 7F0C47D0 AFB80018 */ sw $t8, 0x18($sp) -/* 0F9304 7F0C47D4 02202025 */ move $a0, $s1 -/* 0F9308 7F0C47D8 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F930C 7F0C47DC 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9310 7F0C47E0 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0F9314 7F0C47E4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9318 7F0C47E8 AFA20020 */ sw $v0, 0x20($sp) -/* 0F931C 7F0C47EC AFA00024 */ sw $zero, 0x24($sp) -/* 0F9320 7F0C47F0 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9324 7F0C47F4 AFAA0014 */ sw $t2, 0x14($sp) -/* 0F9328 7F0C47F8 0FC2B6AF */ jal en_text_write_stuff -/* 0F932C 7F0C47FC AFB90010 */ sw $t9, 0x10($sp) -/* 0F9330 7F0C4800 8FA30080 */ lw $v1, 0x80($sp) -/* 0F9334 7F0C4804 24010005 */ li $at, 5 -/* 0F9338 7F0C4808 00408825 */ move $s1, $v0 -/* 0F933C 7F0C480C 10610009 */ beq $v1, $at, .L7F0C4834 -/* 0F9340 7F0C4810 8FA900D4 */ lw $t1, 0xd4($sp) -/* 0F9344 7F0C4814 24010006 */ li $at, 6 -/* 0F9348 7F0C4818 10610006 */ beq $v1, $at, .L7F0C4834 -/* 0F934C 7F0C481C 24010007 */ li $at, 7 -/* 0F9350 7F0C4820 10610004 */ beq $v1, $at, .L7F0C4834 -/* 0F9354 7F0C4824 24010002 */ li $at, 2 -/* 0F9358 7F0C4828 10610002 */ beq $v1, $at, .L7F0C4834 -/* 0F935C 7F0C482C 24010003 */ li $at, 3 -/* 0F9360 7F0C4830 14610015 */ bne $v1, $at, .L7F0C4888 -.L7F0C4834: -/* 0F9364 7F0C4834 000960C0 */ sll $t4, $t1, 3 -/* 0F9368 7F0C4838 01896023 */ subu $t4, $t4, $t1 -/* 0F936C 7F0C483C 000C6100 */ sll $t4, $t4, 4 -/* 0F9370 7F0C4840 3C0B8008 */ lui $t3, %hi(player1_player_data+105) -/* 0F9374 7F0C4844 016C5821 */ addu $t3, $t3, $t4 -/* 0F9378 7F0C4848 916B9F59 */ lbu $t3, %lo(player1_player_data+105)($t3) -/* 0F937C 7F0C484C 24190005 */ li $t9, 5 -/* 0F9380 7F0C4850 240A0004 */ li $t2, 4 -/* 0F9384 7F0C4854 15600008 */ bnez $t3, .L7F0C4878 -/* 0F9388 7F0C4858 24180002 */ li $t8, 2 -/* 0F938C 7F0C485C 240D0003 */ li $t5, 3 -/* 0F9390 7F0C4860 240E0002 */ li $t6, 2 -/* 0F9394 7F0C4864 240F0004 */ li $t7, 4 -/* 0F9398 7F0C4868 AFAD008C */ sw $t5, 0x8c($sp) -/* 0F939C 7F0C486C AFAE0088 */ sw $t6, 0x88($sp) -/* 0F93A0 7F0C4870 10000009 */ b .L7F0C4898 -/* 0F93A4 7F0C4874 AFAF0084 */ sw $t7, 0x84($sp) -.L7F0C4878: -/* 0F93A8 7F0C4878 AFB9008C */ sw $t9, 0x8c($sp) -/* 0F93AC 7F0C487C AFAA0088 */ sw $t2, 0x88($sp) -/* 0F93B0 7F0C4880 10000005 */ b .L7F0C4898 -/* 0F93B4 7F0C4884 AFB80084 */ sw $t8, 0x84($sp) -.L7F0C4888: -/* 0F93B8 7F0C4888 24090001 */ li $t1, 1 -/* 0F93BC 7F0C488C AFA9008C */ sw $t1, 0x8c($sp) -/* 0F93C0 7F0C4890 AFA00088 */ sw $zero, 0x88($sp) -/* 0F93C4 7F0C4894 AFA00084 */ sw $zero, 0x84($sp) -.L7F0C4898: -/* 0F93C8 7F0C4898 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 0F93CC 7F0C489C 24010002 */ li $at, 2 -/* 0F93D0 7F0C48A0 1581004E */ bne $t4, $at, .L7F0C49DC -/* 0F93D4 7F0C48A4 00000000 */ nop -/* 0F93D8 7F0C48A8 0C001145 */ jal get_video2_settings_ulx -/* 0F93DC 7F0C48AC 00000000 */ nop -/* 0F93E0 7F0C48B0 00028400 */ sll $s0, $v0, 0x10 -/* 0F93E4 7F0C48B4 00105C03 */ sra $t3, $s0, 0x10 -/* 0F93E8 7F0C48B8 0C001149 */ jal get_video2_settings_uly -/* 0F93EC 7F0C48BC 01608025 */ move $s0, $t3 -/* 0F93F0 7F0C48C0 8FA800D4 */ lw $t0, 0xd4($sp) -/* 0F93F4 7F0C48C4 00021C00 */ sll $v1, $v0, 0x10 -/* 0F93F8 7F0C48C8 00036C03 */ sra $t5, $v1, 0x10 -/* 0F93FC 7F0C48CC 15000004 */ bnez $t0, .L7F0C48E0 -/* 0F9400 7F0C48D0 01A01825 */ move $v1, $t5 -/* 0F9404 7F0C48D4 8FAE008C */ lw $t6, 0x8c($sp) -/* 0F9408 7F0C48D8 1000000F */ b .L7F0C4918 -/* 0F940C 7F0C48DC AFAE0050 */ sw $t6, 0x50($sp) -.L7F0C48E0: -/* 0F9410 7F0C48E0 0008C8C0 */ sll $t9, $t0, 3 -/* 0F9414 7F0C48E4 0328C823 */ subu $t9, $t9, $t0 -/* 0F9418 7F0C48E8 0019C900 */ sll $t9, $t9, 4 -/* 0F941C 7F0C48EC 3C0A8008 */ lui $t2, %hi(player1_player_data + 0x69) -/* 0F9420 7F0C48F0 01595021 */ addu $t2, $t2, $t9 -/* 0F9424 7F0C48F4 3C0F8008 */ lui $t7, %hi(player1_player_data + 0x69) -/* 0F9428 7F0C48F8 91EF9F59 */ lbu $t7, %lo(player1_player_data + 0x69)($t7) -/* 0F942C 7F0C48FC 914A9F59 */ lbu $t2, %lo(player1_player_data + 0x69)($t2) -/* 0F9430 7F0C4900 8FA60084 */ lw $a2, 0x84($sp) -/* 0F9434 7F0C4904 15EA0003 */ bne $t7, $t2, .L7F0C4914 -/* 0F9438 7F0C4908 00000000 */ nop -/* 0F943C 7F0C490C 10000001 */ b .L7F0C4914 -/* 0F9440 7F0C4910 8FA60088 */ lw $a2, 0x88($sp) -.L7F0C4914: -/* 0F9444 7F0C4914 AFA60050 */ sw $a2, 0x50($sp) -.L7F0C4918: -/* 0F9448 7F0C4918 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0F944C 7F0C491C 8FA90050 */ lw $t1, 0x50($sp) -/* 0F9450 7F0C4920 02202025 */ move $a0, $s1 -/* 0F9454 7F0C4924 02182821 */ addu $a1, $s0, $t8 -/* 0F9458 7F0C4928 24A50050 */ addiu $a1, $a1, 0x50 -/* 0F945C 7F0C492C 24660046 */ addiu $a2, $v1, 0x46 -/* 0F9460 7F0C4930 8FA70094 */ lw $a3, 0x94($sp) -/* 0F9464 7F0C4934 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9468 7F0C4938 AFA90010 */ sw $t1, 0x10($sp) -/* 0F946C 7F0C493C 0C001145 */ jal get_video2_settings_ulx -/* 0F9470 7F0C4940 00408825 */ move $s1, $v0 -/* 0F9474 7F0C4944 00028400 */ sll $s0, $v0, 0x10 -/* 0F9478 7F0C4948 00106403 */ sra $t4, $s0, 0x10 -/* 0F947C 7F0C494C 0C001149 */ jal get_video2_settings_uly -/* 0F9480 7F0C4950 01808025 */ move $s0, $t4 -/* 0F9484 7F0C4954 8FA400D4 */ lw $a0, 0xd4($sp) -/* 0F9488 7F0C4958 00021C00 */ sll $v1, $v0, 0x10 -/* 0F948C 7F0C495C 00035C03 */ sra $t3, $v1, 0x10 -/* 0F9490 7F0C4960 24010001 */ li $at, 1 -/* 0F9494 7F0C4964 14810004 */ bne $a0, $at, .L7F0C4978 -/* 0F9498 7F0C4968 01601825 */ move $v1, $t3 -/* 0F949C 7F0C496C 8FAD008C */ lw $t5, 0x8c($sp) -/* 0F94A0 7F0C4970 1000000F */ b .L7F0C49B0 -/* 0F94A4 7F0C4974 AFAD0050 */ sw $t5, 0x50($sp) -.L7F0C4978: -/* 0F94A8 7F0C4978 0004C8C0 */ sll $t9, $a0, 3 -/* 0F94AC 7F0C497C 0324C823 */ subu $t9, $t9, $a0 -/* 0F94B0 7F0C4980 3C028008 */ lui $v0, %hi(player1_player_data) -/* 0F94B4 7F0C4984 24429EF0 */ addiu $v0, %lo(player1_player_data) # addiu $v0, $v0, -0x6110 -/* 0F94B8 7F0C4988 0019C900 */ sll $t9, $t9, 4 -/* 0F94BC 7F0C498C 00597821 */ addu $t7, $v0, $t9 -/* 0F94C0 7F0C4990 91EA0069 */ lbu $t2, 0x69($t7) -/* 0F94C4 7F0C4994 904E00D9 */ lbu $t6, 0xd9($v0) -/* 0F94C8 7F0C4998 8FA60084 */ lw $a2, 0x84($sp) -/* 0F94CC 7F0C499C 15CA0003 */ bne $t6, $t2, .L7F0C49AC -/* 0F94D0 7F0C49A0 00000000 */ nop -/* 0F94D4 7F0C49A4 10000001 */ b .L7F0C49AC -/* 0F94D8 7F0C49A8 8FA60088 */ lw $a2, 0x88($sp) -.L7F0C49AC: -/* 0F94DC 7F0C49AC AFA60050 */ sw $a2, 0x50($sp) -.L7F0C49B0: -/* 0F94E0 7F0C49B0 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0F94E4 7F0C49B4 8FA90050 */ lw $t1, 0x50($sp) -/* 0F94E8 7F0C49B8 02202025 */ move $a0, $s1 -/* 0F94EC 7F0C49BC 02182821 */ addu $a1, $s0, $t8 -/* 0F94F0 7F0C49C0 24A50050 */ addiu $a1, $a1, 0x50 -/* 0F94F4 7F0C49C4 24660056 */ addiu $a2, $v1, 0x56 -/* 0F94F8 7F0C49C8 8FA70098 */ lw $a3, 0x98($sp) -/* 0F94FC 7F0C49CC 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9500 7F0C49D0 AFA90010 */ sw $t1, 0x10($sp) -/* 0F9504 7F0C49D4 1000009E */ b .L7F0C4C50 -/* 0F9508 7F0C49D8 00408825 */ move $s1, $v0 -.L7F0C49DC: -/* 0F950C 7F0C49DC 0C001145 */ jal get_video2_settings_ulx -/* 0F9510 7F0C49E0 00000000 */ nop -/* 0F9514 7F0C49E4 00028400 */ sll $s0, $v0, 0x10 -/* 0F9518 7F0C49E8 00106403 */ sra $t4, $s0, 0x10 -/* 0F951C 7F0C49EC 0C001149 */ jal get_video2_settings_uly -/* 0F9520 7F0C49F0 01808025 */ move $s0, $t4 -/* 0F9524 7F0C49F4 8FA800D4 */ lw $t0, 0xd4($sp) -/* 0F9528 7F0C49F8 00021C00 */ sll $v1, $v0, 0x10 -/* 0F952C 7F0C49FC 00035C03 */ sra $t3, $v1, 0x10 -/* 0F9530 7F0C4A00 15000004 */ bnez $t0, .L7F0C4A14 -/* 0F9534 7F0C4A04 01601825 */ move $v1, $t3 -/* 0F9538 7F0C4A08 8FAD008C */ lw $t5, 0x8c($sp) -/* 0F953C 7F0C4A0C 1000000F */ b .L7F0C4A4C -/* 0F9540 7F0C4A10 AFAD0050 */ sw $t5, 0x50($sp) -.L7F0C4A14: -/* 0F9544 7F0C4A14 000878C0 */ sll $t7, $t0, 3 -/* 0F9548 7F0C4A18 01E87823 */ subu $t7, $t7, $t0 -/* 0F954C 7F0C4A1C 000F7900 */ sll $t7, $t7, 4 -/* 0F9550 7F0C4A20 3C0E8008 */ lui $t6, %hi(player1_player_data + 0x69) -/* 0F9554 7F0C4A24 01CF7021 */ addu $t6, $t6, $t7 -/* 0F9558 7F0C4A28 3C198008 */ lui $t9, %hi(player1_player_data + 0x69) -/* 0F955C 7F0C4A2C 93399F59 */ lbu $t9, %lo(player1_player_data + 0x69)($t9) -/* 0F9560 7F0C4A30 91CE9F59 */ lbu $t6, %lo(player1_player_data + 0x69)($t6) -/* 0F9564 7F0C4A34 8FA60084 */ lw $a2, 0x84($sp) -/* 0F9568 7F0C4A38 172E0003 */ bne $t9, $t6, .L7F0C4A48 -/* 0F956C 7F0C4A3C 00000000 */ nop -/* 0F9570 7F0C4A40 10000001 */ b .L7F0C4A48 -/* 0F9574 7F0C4A44 8FA60088 */ lw $a2, 0x88($sp) -.L7F0C4A48: -/* 0F9578 7F0C4A48 AFA60050 */ sw $a2, 0x50($sp) -.L7F0C4A4C: -/* 0F957C 7F0C4A4C 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 0F9580 7F0C4A50 8FB80050 */ lw $t8, 0x50($sp) -/* 0F9584 7F0C4A54 02202025 */ move $a0, $s1 -/* 0F9588 7F0C4A58 020A2821 */ addu $a1, $s0, $t2 -/* 0F958C 7F0C4A5C 24A50040 */ addiu $a1, $a1, 0x40 -/* 0F9590 7F0C4A60 24660046 */ addiu $a2, $v1, 0x46 -/* 0F9594 7F0C4A64 8FA70094 */ lw $a3, 0x94($sp) -/* 0F9598 7F0C4A68 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F959C 7F0C4A6C AFB80010 */ sw $t8, 0x10($sp) -/* 0F95A0 7F0C4A70 0C001145 */ jal get_video2_settings_ulx -/* 0F95A4 7F0C4A74 00408825 */ move $s1, $v0 -/* 0F95A8 7F0C4A78 00028400 */ sll $s0, $v0, 0x10 -/* 0F95AC 7F0C4A7C 00104C03 */ sra $t1, $s0, 0x10 -/* 0F95B0 7F0C4A80 0C001149 */ jal get_video2_settings_uly -/* 0F95B4 7F0C4A84 01208025 */ move $s0, $t1 -/* 0F95B8 7F0C4A88 8FA800D4 */ lw $t0, 0xd4($sp) -/* 0F95BC 7F0C4A8C 00021C00 */ sll $v1, $v0, 0x10 -/* 0F95C0 7F0C4A90 00036403 */ sra $t4, $v1, 0x10 -/* 0F95C4 7F0C4A94 24010001 */ li $at, 1 -/* 0F95C8 7F0C4A98 15010004 */ bne $t0, $at, .L7F0C4AAC -/* 0F95CC 7F0C4A9C 01801825 */ move $v1, $t4 -/* 0F95D0 7F0C4AA0 8FAB008C */ lw $t3, 0x8c($sp) -/* 0F95D4 7F0C4AA4 1000000F */ b .L7F0C4AE4 -/* 0F95D8 7F0C4AA8 AFAB0050 */ sw $t3, 0x50($sp) -.L7F0C4AAC: -/* 0F95DC 7F0C4AAC 000878C0 */ sll $t7, $t0, 3 -/* 0F95E0 7F0C4AB0 01E87823 */ subu $t7, $t7, $t0 -/* 0F95E4 7F0C4AB4 000F7900 */ sll $t7, $t7, 4 -/* 0F95E8 7F0C4AB8 3C198008 */ lui $t9, %hi(player1_player_data + 0x69) -/* 0F95EC 7F0C4ABC 032FC821 */ addu $t9, $t9, $t7 -/* 0F95F0 7F0C4AC0 3C0D8008 */ lui $t5, %hi(player2_player_data + 0x69) -/* 0F95F4 7F0C4AC4 91AD9FC9 */ lbu $t5, %lo(player2_player_data + 0x69)($t5) -/* 0F95F8 7F0C4AC8 93399F59 */ lbu $t9, %lo(player1_player_data + 0x69)($t9) -/* 0F95FC 7F0C4ACC 8FA60084 */ lw $a2, 0x84($sp) -/* 0F9600 7F0C4AD0 15B90003 */ bne $t5, $t9, .L7F0C4AE0 -/* 0F9604 7F0C4AD4 00000000 */ nop -/* 0F9608 7F0C4AD8 10000001 */ b .L7F0C4AE0 -/* 0F960C 7F0C4ADC 8FA60088 */ lw $a2, 0x88($sp) -.L7F0C4AE0: -/* 0F9610 7F0C4AE0 AFA60050 */ sw $a2, 0x50($sp) -.L7F0C4AE4: -/* 0F9614 7F0C4AE4 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0F9618 7F0C4AE8 8FAA0050 */ lw $t2, 0x50($sp) -/* 0F961C 7F0C4AEC 02202025 */ move $a0, $s1 -/* 0F9620 7F0C4AF0 020E2821 */ addu $a1, $s0, $t6 -/* 0F9624 7F0C4AF4 24A50060 */ addiu $a1, $a1, 0x60 -/* 0F9628 7F0C4AF8 24660046 */ addiu $a2, $v1, 0x46 -/* 0F962C 7F0C4AFC 8FA70098 */ lw $a3, 0x98($sp) -/* 0F9630 7F0C4B00 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9634 7F0C4B04 AFAA0010 */ sw $t2, 0x10($sp) -/* 0F9638 7F0C4B08 0C001145 */ jal get_video2_settings_ulx -/* 0F963C 7F0C4B0C 00408825 */ move $s1, $v0 -/* 0F9640 7F0C4B10 00028400 */ sll $s0, $v0, 0x10 -/* 0F9644 7F0C4B14 0010C403 */ sra $t8, $s0, 0x10 -/* 0F9648 7F0C4B18 0C001149 */ jal get_video2_settings_uly -/* 0F964C 7F0C4B1C 03008025 */ move $s0, $t8 -/* 0F9650 7F0C4B20 8FA800D4 */ lw $t0, 0xd4($sp) -/* 0F9654 7F0C4B24 00021C00 */ sll $v1, $v0, 0x10 -/* 0F9658 7F0C4B28 00034C03 */ sra $t1, $v1, 0x10 -/* 0F965C 7F0C4B2C 24010002 */ li $at, 2 -/* 0F9660 7F0C4B30 15010004 */ bne $t0, $at, .L7F0C4B44 -/* 0F9664 7F0C4B34 01201825 */ move $v1, $t1 -/* 0F9668 7F0C4B38 8FAC008C */ lw $t4, 0x8c($sp) -/* 0F966C 7F0C4B3C 1000000F */ b .L7F0C4B7C -/* 0F9670 7F0C4B40 AFAC0050 */ sw $t4, 0x50($sp) -.L7F0C4B44: -/* 0F9674 7F0C4B44 000878C0 */ sll $t7, $t0, 3 -/* 0F9678 7F0C4B48 01E87823 */ subu $t7, $t7, $t0 -/* 0F967C 7F0C4B4C 000F7900 */ sll $t7, $t7, 4 -/* 0F9680 7F0C4B50 3C0D8008 */ lui $t5, %hi(player1_player_data + 0x69) -/* 0F9684 7F0C4B54 01AF6821 */ addu $t5, $t5, $t7 -/* 0F9688 7F0C4B58 3C0B8008 */ lui $t3, %hi(player3_player_data + 0x69) -/* 0F968C 7F0C4B5C 916BA039 */ lbu $t3, %lo(player3_player_data + 0x69)($t3) -/* 0F9690 7F0C4B60 91AD9F59 */ lbu $t5, %lo(player1_player_data + 0x69)($t5) -/* 0F9694 7F0C4B64 8FA60084 */ lw $a2, 0x84($sp) -/* 0F9698 7F0C4B68 156D0003 */ bne $t3, $t5, .L7F0C4B78 -/* 0F969C 7F0C4B6C 00000000 */ nop -/* 0F96A0 7F0C4B70 10000001 */ b .L7F0C4B78 -/* 0F96A4 7F0C4B74 8FA60088 */ lw $a2, 0x88($sp) -.L7F0C4B78: -/* 0F96A8 7F0C4B78 AFA60050 */ sw $a2, 0x50($sp) -.L7F0C4B7C: -/* 0F96AC 7F0C4B7C 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0F96B0 7F0C4B80 8FAE0050 */ lw $t6, 0x50($sp) -/* 0F96B4 7F0C4B84 02202025 */ move $a0, $s1 -/* 0F96B8 7F0C4B88 02192821 */ addu $a1, $s0, $t9 -/* 0F96BC 7F0C4B8C 24A50040 */ addiu $a1, $a1, 0x40 -/* 0F96C0 7F0C4B90 24660056 */ addiu $a2, $v1, 0x56 -/* 0F96C4 7F0C4B94 8FA7009C */ lw $a3, 0x9c($sp) -/* 0F96C8 7F0C4B98 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F96CC 7F0C4B9C AFAE0010 */ sw $t6, 0x10($sp) -/* 0F96D0 7F0C4BA0 8FAA00D0 */ lw $t2, 0xd0($sp) -/* 0F96D4 7F0C4BA4 24010004 */ li $at, 4 -/* 0F96D8 7F0C4BA8 00408825 */ move $s1, $v0 -/* 0F96DC 7F0C4BAC 15410028 */ bne $t2, $at, .L7F0C4C50 -/* 0F96E0 7F0C4BB0 00000000 */ nop -/* 0F96E4 7F0C4BB4 0C001145 */ jal get_video2_settings_ulx -/* 0F96E8 7F0C4BB8 00000000 */ nop -/* 0F96EC 7F0C4BBC 00028400 */ sll $s0, $v0, 0x10 -/* 0F96F0 7F0C4BC0 0010C403 */ sra $t8, $s0, 0x10 -/* 0F96F4 7F0C4BC4 0C001149 */ jal get_video2_settings_uly -/* 0F96F8 7F0C4BC8 03008025 */ move $s0, $t8 -/* 0F96FC 7F0C4BCC 8FA400D4 */ lw $a0, 0xd4($sp) -/* 0F9700 7F0C4BD0 00021C00 */ sll $v1, $v0, 0x10 -/* 0F9704 7F0C4BD4 00034C03 */ sra $t1, $v1, 0x10 -/* 0F9708 7F0C4BD8 24010003 */ li $at, 3 -/* 0F970C 7F0C4BDC 14810004 */ bne $a0, $at, .L7F0C4BF0 -/* 0F9710 7F0C4BE0 01201825 */ move $v1, $t1 -/* 0F9714 7F0C4BE4 8FAC008C */ lw $t4, 0x8c($sp) -/* 0F9718 7F0C4BE8 1000000F */ b .L7F0C4C28 -/* 0F971C 7F0C4BEC AFAC0050 */ sw $t4, 0x50($sp) -.L7F0C4BF0: -/* 0F9720 7F0C4BF0 000458C0 */ sll $t3, $a0, 3 -/* 0F9724 7F0C4BF4 01645823 */ subu $t3, $t3, $a0 -/* 0F9728 7F0C4BF8 3C028008 */ lui $v0, %hi(player1_player_data) -/* 0F972C 7F0C4BFC 24429EF0 */ addiu $v0, %lo(player1_player_data) # addiu $v0, $v0, -0x6110 -/* 0F9730 7F0C4C00 000B5900 */ sll $t3, $t3, 4 -/* 0F9734 7F0C4C04 004B6821 */ addu $t5, $v0, $t3 -/* 0F9738 7F0C4C08 91B90069 */ lbu $t9, 0x69($t5) -/* 0F973C 7F0C4C0C 904F01B9 */ lbu $t7, 0x1b9($v0) -/* 0F9740 7F0C4C10 8FA60084 */ lw $a2, 0x84($sp) -/* 0F9744 7F0C4C14 15F90003 */ bne $t7, $t9, .L7F0C4C24 -/* 0F9748 7F0C4C18 00000000 */ nop -/* 0F974C 7F0C4C1C 10000001 */ b .L7F0C4C24 -/* 0F9750 7F0C4C20 8FA60088 */ lw $a2, 0x88($sp) -.L7F0C4C24: -/* 0F9754 7F0C4C24 AFA60050 */ sw $a2, 0x50($sp) -.L7F0C4C28: -/* 0F9758 7F0C4C28 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0F975C 7F0C4C2C 8FAA0050 */ lw $t2, 0x50($sp) -/* 0F9760 7F0C4C30 02202025 */ move $a0, $s1 -/* 0F9764 7F0C4C34 020E2821 */ addu $a1, $s0, $t6 -/* 0F9768 7F0C4C38 24A50060 */ addiu $a1, $a1, 0x60 -/* 0F976C 7F0C4C3C 24660056 */ addiu $a2, $v1, 0x56 -/* 0F9770 7F0C4C40 8FA700A0 */ lw $a3, 0xa0($sp) -/* 0F9774 7F0C4C44 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9778 7F0C4C48 AFAA0010 */ sw $t2, 0x10($sp) -/* 0F977C 7F0C4C4C 00408825 */ move $s1, $v0 -.L7F0C4C50: -/* 0F9780 7F0C4C50 3C038008 */ lui $v1, %hi(pPlayer) -/* 0F9784 7F0C4C54 100003BB */ b .L7F0C5B44 -/* 0F9788 7F0C4C58 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0F978C 7F0C4C5C 24010002 */ li $at, 2 -.L7F0C4C60: -/* 0F9790 7F0C4C60 1441011C */ bne $v0, $at, .L7F0C50D4 -/* 0F9794 7F0C4C64 3C048009 */ lui $a0, %hi(is_gameover_flag) -/* 0F9798 7F0C4C68 8C84C704 */ lw $a0, %lo(is_gameover_flag)($a0) -/* 0F979C 7F0C4C6C 2C980001 */ sltiu $t8, $a0, 1 -/* 0F97A0 7F0C4C70 13000005 */ beqz $t8, .L7F0C4C88 -/* 0F97A4 7F0C4C74 03002025 */ move $a0, $t8 -/* 0F97A8 7F0C4C78 3C048009 */ lui $a0, %hi(stop_play_flag) -/* 0F97AC 7F0C4C7C 8C84C700 */ lw $a0, %lo(stop_play_flag)($a0) -/* 0F97B0 7F0C4C80 2C890001 */ sltiu $t1, $a0, 1 -/* 0F97B4 7F0C4C84 01202025 */ move $a0, $t1 -.L7F0C4C88: -/* 0F97B8 7F0C4C88 0FC30FD7 */ jal true_if_displaying_rank_in_mp -/* 0F97BC 7F0C4C8C 00000000 */ nop -/* 0F97C0 7F0C4C90 10400034 */ beqz $v0, .L7F0C4D64 -/* 0F97C4 7F0C4C94 27A400AC */ addiu $a0, $sp, 0xac -/* 0F97C8 7F0C4C98 0FC30F25 */ jal write_playerrank_to_buffer -/* 0F97CC 7F0C4C9C 8FA500D4 */ lw $a1, 0xd4($sp) -/* 0F97D0 7F0C4CA0 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) -/* 0F97D4 7F0C4CA4 8D8C0EAC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0F97D8 7F0C4CA8 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0F97DC 7F0C4CAC 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F97E0 7F0C4CB0 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F97E4 7F0C4CB4 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F97E8 7F0C4CB8 27A600AC */ addiu $a2, $sp, 0xac -/* 0F97EC 7F0C4CBC AFA00014 */ sw $zero, 0x14($sp) -/* 0F97F0 7F0C4CC0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0F97F4 7F0C4CC4 AFAC0010 */ sw $t4, 0x10($sp) -/* 0F97F8 7F0C4CC8 0C001145 */ jal get_video2_settings_ulx -/* 0F97FC 7F0C4CCC 00000000 */ nop -/* 0F9800 7F0C4CD0 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0F9804 7F0C4CD4 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0F9808 7F0C4CD8 004B6821 */ addu $t5, $v0, $t3 -/* 0F980C 7F0C4CDC 000FC843 */ sra $t9, $t7, 1 -/* 0F9810 7F0C4CE0 01B92023 */ subu $a0, $t5, $t9 -/* 0F9814 7F0C4CE4 24840050 */ addiu $a0, $a0, 0x50 -/* 0F9818 7F0C4CE8 0C001149 */ jal get_video2_settings_uly -/* 0F981C 7F0C4CEC AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9820 7F0C4CF0 8FAE00BC */ lw $t6, 0xbc($sp) -/* 0F9824 7F0C4CF4 000E5043 */ sra $t2, $t6, 1 -/* 0F9828 7F0C4CF8 004AC023 */ subu $t8, $v0, $t2 -/* 0F982C 7F0C4CFC 27090025 */ addiu $t1, $t8, 0x25 -/* 0F9830 7F0C4D00 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9834 7F0C4D04 AFA900C8 */ sw $t1, 0xc8($sp) -/* 0F9838 7F0C4D08 00028400 */ sll $s0, $v0, 0x10 -/* 0F983C 7F0C4D0C 00106403 */ sra $t4, $s0, 0x10 -/* 0F9840 7F0C4D10 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9844 7F0C4D14 01808025 */ move $s0, $t4 -/* 0F9848 7F0C4D18 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableSmall) -/* 0F984C 7F0C4D1C 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) -/* 0F9850 7F0C4D20 8DEF0EAC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0F9854 7F0C4D24 8D6B0EB0 */ lw $t3, %lo(ptrSecondFontTableSmall)($t3) -/* 0F9858 7F0C4D28 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0F985C 7F0C4D2C 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0F9860 7F0C4D30 AFAD0018 */ sw $t5, 0x18($sp) -/* 0F9864 7F0C4D34 02202025 */ move $a0, $s1 -/* 0F9868 7F0C4D38 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F986C 7F0C4D3C 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9870 7F0C4D40 27A700AC */ addiu $a3, $sp, 0xac -/* 0F9874 7F0C4D44 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9878 7F0C4D48 AFA20020 */ sw $v0, 0x20($sp) -/* 0F987C 7F0C4D4C AFA00024 */ sw $zero, 0x24($sp) -/* 0F9880 7F0C4D50 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9884 7F0C4D54 AFAF0014 */ sw $t7, 0x14($sp) -/* 0F9888 7F0C4D58 0FC2B6AF */ jal en_text_write_stuff -/* 0F988C 7F0C4D5C AFAB0010 */ sw $t3, 0x10($sp) -/* 0F9890 7F0C4D60 00408825 */ move $s1, $v0 -.L7F0C4D64: -/* 0F9894 7F0C4D64 0FC30776 */ jal get_textptr_for_textID -/* 0F9898 7F0C4D68 3404A01C */ li $a0, 40988 -/* 0F989C 7F0C4D6C 3404A01D */ li $a0, 40989 -/* 0F98A0 7F0C4D70 0FC30776 */ jal get_textptr_for_textID -/* 0F98A4 7F0C4D74 AFA2004C */ sw $v0, 0x4c($sp) -/* 0F98A8 7F0C4D78 8FA700D4 */ lw $a3, 0xd4($sp) -/* 0F98AC 7F0C4D7C 3C058006 */ lui $a1, %hi(ascii_pnum_KILLS) -/* 0F98B0 7F0C4D80 24A5BC30 */ addiu $a1, %lo(ascii_pnum_KILLS) # addiu $a1, $a1, -0x43d0 -/* 0F98B4 7F0C4D84 8FA6004C */ lw $a2, 0x4c($sp) -/* 0F98B8 7F0C4D88 27A400AC */ addiu $a0, $sp, 0xac -/* 0F98BC 7F0C4D8C AFA20010 */ sw $v0, 0x10($sp) -/* 0F98C0 7F0C4D90 0C002B25 */ jal sprintf -/* 0F98C4 7F0C4D94 24E70001 */ addiu $a3, $a3, 1 -/* 0F98C8 7F0C4D98 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 0F98CC 7F0C4D9C 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0F98D0 7F0C4DA0 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0F98D4 7F0C4DA4 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F98D8 7F0C4DA8 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F98DC 7F0C4DAC 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F98E0 7F0C4DB0 27A600AC */ addiu $a2, $sp, 0xac -/* 0F98E4 7F0C4DB4 AFA00014 */ sw $zero, 0x14($sp) -/* 0F98E8 7F0C4DB8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0F98EC 7F0C4DBC AFB90010 */ sw $t9, 0x10($sp) -/* 0F98F0 7F0C4DC0 0C001145 */ jal get_video2_settings_ulx -/* 0F98F4 7F0C4DC4 00000000 */ nop -/* 0F98F8 7F0C4DC8 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0F98FC 7F0C4DCC 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0F9900 7F0C4DD0 004E5021 */ addu $t2, $v0, $t6 -/* 0F9904 7F0C4DD4 00184843 */ sra $t1, $t8, 1 -/* 0F9908 7F0C4DD8 01492023 */ subu $a0, $t2, $t1 -/* 0F990C 7F0C4DDC 24840050 */ addiu $a0, $a0, 0x50 -/* 0F9910 7F0C4DE0 0C001149 */ jal get_video2_settings_uly -/* 0F9914 7F0C4DE4 AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9918 7F0C4DE8 8FAC00BC */ lw $t4, 0xbc($sp) -/* 0F991C 7F0C4DEC 000C5843 */ sra $t3, $t4, 1 -/* 0F9920 7F0C4DF0 004B7823 */ subu $t7, $v0, $t3 -/* 0F9924 7F0C4DF4 25ED0035 */ addiu $t5, $t7, 0x35 -/* 0F9928 7F0C4DF8 0C001107 */ jal get_video2_settings_txtClipW -/* 0F992C 7F0C4DFC AFAD00C8 */ sw $t5, 0xc8($sp) -/* 0F9930 7F0C4E00 00028400 */ sll $s0, $v0, 0x10 -/* 0F9934 7F0C4E04 0010CC03 */ sra $t9, $s0, 0x10 -/* 0F9938 7F0C4E08 0C00110B */ jal get_video2_settings_txtClipH -/* 0F993C 7F0C4E0C 03208025 */ move $s0, $t9 -/* 0F9940 7F0C4E10 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) -/* 0F9944 7F0C4E14 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0F9948 7F0C4E18 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0F994C 7F0C4E1C 8DCE0EB0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0F9950 7F0C4E20 3C0A00FF */ lui $t2, (0x00FF00B0 >> 16) # lui $t2, 0xff -/* 0F9954 7F0C4E24 354A00B0 */ ori $t2, (0x00FF00B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -/* 0F9958 7F0C4E28 AFAA0018 */ sw $t2, 0x18($sp) -/* 0F995C 7F0C4E2C 02202025 */ move $a0, $s1 -/* 0F9960 7F0C4E30 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9964 7F0C4E34 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9968 7F0C4E38 27A700AC */ addiu $a3, $sp, 0xac -/* 0F996C 7F0C4E3C AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9970 7F0C4E40 AFA20020 */ sw $v0, 0x20($sp) -/* 0F9974 7F0C4E44 AFA00024 */ sw $zero, 0x24($sp) -/* 0F9978 7F0C4E48 AFA00028 */ sw $zero, 0x28($sp) -/* 0F997C 7F0C4E4C AFB80014 */ sw $t8, 0x14($sp) -/* 0F9980 7F0C4E50 0FC2B6AF */ jal en_text_write_stuff -/* 0F9984 7F0C4E54 AFAE0010 */ sw $t6, 0x10($sp) -/* 0F9988 7F0C4E58 8FA900D0 */ lw $t1, 0xd0($sp) -/* 0F998C 7F0C4E5C 00408825 */ move $s1, $v0 -/* 0F9990 7F0C4E60 24010002 */ li $at, 2 -/* 0F9994 7F0C4E64 15210033 */ bne $t1, $at, .L7F0C4F34 -/* 0F9998 7F0C4E68 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0F999C 7F0C4E6C 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0F99A0 7F0C4E70 50400018 */ beql $v0, $zero, .L7F0C4ED4 -/* 0F99A4 7F0C4E74 24010001 */ li $at, 1 -/* 0F99A8 7F0C4E78 0C001145 */ jal get_video2_settings_ulx -/* 0F99AC 7F0C4E7C 00000000 */ nop -/* 0F99B0 7F0C4E80 00028400 */ sll $s0, $v0, 0x10 -/* 0F99B4 7F0C4E84 00106403 */ sra $t4, $s0, 0x10 -/* 0F99B8 7F0C4E88 0C001149 */ jal get_video2_settings_uly -/* 0F99BC 7F0C4E8C 01808025 */ move $s0, $t4 -/* 0F99C0 7F0C4E90 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 0F99C4 7F0C4E94 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0F99C8 7F0C4E98 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0F99CC 7F0C4E9C 000F68C0 */ sll $t5, $t7, 3 -/* 0F99D0 7F0C4EA0 01AF6823 */ subu $t5, $t5, $t7 -/* 0F99D4 7F0C4EA4 000D6900 */ sll $t5, $t5, 4 -/* 0F99D8 7F0C4EA8 00ED3821 */ addu $a3, $a3, $t5 -/* 0F99DC 7F0C4EAC 020B2821 */ addu $a1, $s0, $t3 -/* 0F99E0 7F0C4EB0 24A50050 */ addiu $a1, $a1, 0x50 -/* 0F99E4 7F0C4EB4 8CE79F14 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0F99E8 7F0C4EB8 02202025 */ move $a0, $s1 -/* 0F99EC 7F0C4EBC 24460046 */ addiu $a2, $v0, 0x46 -/* 0F99F0 7F0C4EC0 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F99F4 7F0C4EC4 AFA00010 */ sw $zero, 0x10($sp) -/* 0F99F8 7F0C4EC8 00408825 */ move $s1, $v0 -/* 0F99FC 7F0C4ECC 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0F9A00 7F0C4ED0 24010001 */ li $at, 1 -.L7F0C4ED4: -/* 0F9A04 7F0C4ED4 1041007C */ beq $v0, $at, .L7F0C50C8 -/* 0F9A08 7F0C4ED8 0002C8C0 */ sll $t9, $v0, 3 -/* 0F9A0C 7F0C4EDC 0322C823 */ subu $t9, $t9, $v0 -/* 0F9A10 7F0C4EE0 3C0E8008 */ lui $t6, %hi(player1_player_data) -/* 0F9A14 7F0C4EE4 25CE9EF0 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x6110 -/* 0F9A18 7F0C4EE8 0019C900 */ sll $t9, $t9, 4 -/* 0F9A1C 7F0C4EEC 032EC021 */ addu $t8, $t9, $t6 -/* 0F9A20 7F0C4EF0 0C001145 */ jal get_video2_settings_ulx -/* 0F9A24 7F0C4EF4 AFB80044 */ sw $t8, 0x44($sp) -/* 0F9A28 7F0C4EF8 00028400 */ sll $s0, $v0, 0x10 -/* 0F9A2C 7F0C4EFC 00105403 */ sra $t2, $s0, 0x10 -/* 0F9A30 7F0C4F00 0C001149 */ jal get_video2_settings_uly -/* 0F9A34 7F0C4F04 01408025 */ move $s0, $t2 -/* 0F9A38 7F0C4F08 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0F9A3C 7F0C4F0C 8FAC0044 */ lw $t4, 0x44($sp) -/* 0F9A40 7F0C4F10 02202025 */ move $a0, $s1 -/* 0F9A44 7F0C4F14 02092821 */ addu $a1, $s0, $t1 -/* 0F9A48 7F0C4F18 8D870028 */ lw $a3, 0x28($t4) -/* 0F9A4C 7F0C4F1C AFA00010 */ sw $zero, 0x10($sp) -/* 0F9A50 7F0C4F20 24A50050 */ addiu $a1, $a1, 0x50 -/* 0F9A54 7F0C4F24 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9A58 7F0C4F28 24460056 */ addiu $a2, $v0, 0x56 -/* 0F9A5C 7F0C4F2C 10000066 */ b .L7F0C50C8 -/* 0F9A60 7F0C4F30 00408825 */ move $s1, $v0 -.L7F0C4F34: -/* 0F9A64 7F0C4F34 50400018 */ beql $v0, $zero, .L7F0C4F98 -/* 0F9A68 7F0C4F38 24010001 */ li $at, 1 -/* 0F9A6C 7F0C4F3C 0C001145 */ jal get_video2_settings_ulx -/* 0F9A70 7F0C4F40 00000000 */ nop -/* 0F9A74 7F0C4F44 00028400 */ sll $s0, $v0, 0x10 -/* 0F9A78 7F0C4F48 00105C03 */ sra $t3, $s0, 0x10 -/* 0F9A7C 7F0C4F4C 0C001149 */ jal get_video2_settings_uly -/* 0F9A80 7F0C4F50 01608025 */ move $s0, $t3 -/* 0F9A84 7F0C4F54 8FAD00D4 */ lw $t5, 0xd4($sp) -/* 0F9A88 7F0C4F58 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0F9A8C 7F0C4F5C 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0F9A90 7F0C4F60 000DC8C0 */ sll $t9, $t5, 3 -/* 0F9A94 7F0C4F64 032DC823 */ subu $t9, $t9, $t5 -/* 0F9A98 7F0C4F68 0019C900 */ sll $t9, $t9, 4 -/* 0F9A9C 7F0C4F6C 00F93821 */ addu $a3, $a3, $t9 -/* 0F9AA0 7F0C4F70 020F2821 */ addu $a1, $s0, $t7 -/* 0F9AA4 7F0C4F74 24A50040 */ addiu $a1, $a1, 0x40 -/* 0F9AA8 7F0C4F78 8CE79F14 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0F9AAC 7F0C4F7C 02202025 */ move $a0, $s1 -/* 0F9AB0 7F0C4F80 24460046 */ addiu $a2, $v0, 0x46 -/* 0F9AB4 7F0C4F84 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9AB8 7F0C4F88 AFA00010 */ sw $zero, 0x10($sp) -/* 0F9ABC 7F0C4F8C 00408825 */ move $s1, $v0 -/* 0F9AC0 7F0C4F90 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0F9AC4 7F0C4F94 24010001 */ li $at, 1 -.L7F0C4F98: -/* 0F9AC8 7F0C4F98 10410017 */ beq $v0, $at, .L7F0C4FF8 -/* 0F9ACC 7F0C4F9C 000270C0 */ sll $t6, $v0, 3 -/* 0F9AD0 7F0C4FA0 01C27023 */ subu $t6, $t6, $v0 -/* 0F9AD4 7F0C4FA4 3C188008 */ lui $t8, %hi(player1_player_data) -/* 0F9AD8 7F0C4FA8 27189EF0 */ addiu $t8, %lo(player1_player_data) # addiu $t8, $t8, -0x6110 -/* 0F9ADC 7F0C4FAC 000E7100 */ sll $t6, $t6, 4 -/* 0F9AE0 7F0C4FB0 01D85021 */ addu $t2, $t6, $t8 -/* 0F9AE4 7F0C4FB4 0C001145 */ jal get_video2_settings_ulx -/* 0F9AE8 7F0C4FB8 AFAA0044 */ sw $t2, 0x44($sp) -/* 0F9AEC 7F0C4FBC 00028400 */ sll $s0, $v0, 0x10 -/* 0F9AF0 7F0C4FC0 00104C03 */ sra $t1, $s0, 0x10 -/* 0F9AF4 7F0C4FC4 0C001149 */ jal get_video2_settings_uly -/* 0F9AF8 7F0C4FC8 01208025 */ move $s0, $t1 -/* 0F9AFC 7F0C4FCC 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0F9B00 7F0C4FD0 8FAB0044 */ lw $t3, 0x44($sp) -/* 0F9B04 7F0C4FD4 02202025 */ move $a0, $s1 -/* 0F9B08 7F0C4FD8 020C2821 */ addu $a1, $s0, $t4 -/* 0F9B0C 7F0C4FDC 8D670028 */ lw $a3, 0x28($t3) -/* 0F9B10 7F0C4FE0 AFA00010 */ sw $zero, 0x10($sp) -/* 0F9B14 7F0C4FE4 24A50060 */ addiu $a1, $a1, 0x60 -/* 0F9B18 7F0C4FE8 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9B1C 7F0C4FEC 24460046 */ addiu $a2, $v0, 0x46 -/* 0F9B20 7F0C4FF0 00408825 */ move $s1, $v0 -/* 0F9B24 7F0C4FF4 8FA200D4 */ lw $v0, 0xd4($sp) -.L7F0C4FF8: -/* 0F9B28 7F0C4FF8 24010002 */ li $at, 2 -/* 0F9B2C 7F0C4FFC 10410017 */ beq $v0, $at, .L7F0C505C -/* 0F9B30 7F0C5000 000278C0 */ sll $t7, $v0, 3 -/* 0F9B34 7F0C5004 01E27823 */ subu $t7, $t7, $v0 -/* 0F9B38 7F0C5008 3C0D8008 */ lui $t5, %hi(player1_player_data) -/* 0F9B3C 7F0C500C 25AD9EF0 */ addiu $t5, %lo(player1_player_data) # addiu $t5, $t5, -0x6110 -/* 0F9B40 7F0C5010 000F7900 */ sll $t7, $t7, 4 -/* 0F9B44 7F0C5014 01EDC821 */ addu $t9, $t7, $t5 -/* 0F9B48 7F0C5018 0C001145 */ jal get_video2_settings_ulx -/* 0F9B4C 7F0C501C AFB90044 */ sw $t9, 0x44($sp) -/* 0F9B50 7F0C5020 00028400 */ sll $s0, $v0, 0x10 -/* 0F9B54 7F0C5024 00107403 */ sra $t6, $s0, 0x10 -/* 0F9B58 7F0C5028 0C001149 */ jal get_video2_settings_uly -/* 0F9B5C 7F0C502C 01C08025 */ move $s0, $t6 -/* 0F9B60 7F0C5030 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0F9B64 7F0C5034 8FAA0044 */ lw $t2, 0x44($sp) -/* 0F9B68 7F0C5038 02202025 */ move $a0, $s1 -/* 0F9B6C 7F0C503C 02182821 */ addu $a1, $s0, $t8 -/* 0F9B70 7F0C5040 8D47002C */ lw $a3, 0x2c($t2) -/* 0F9B74 7F0C5044 AFA00010 */ sw $zero, 0x10($sp) -/* 0F9B78 7F0C5048 24A50040 */ addiu $a1, $a1, 0x40 -/* 0F9B7C 7F0C504C 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9B80 7F0C5050 24460056 */ addiu $a2, $v0, 0x56 -/* 0F9B84 7F0C5054 00408825 */ move $s1, $v0 -/* 0F9B88 7F0C5058 8FA200D4 */ lw $v0, 0xd4($sp) -.L7F0C505C: -/* 0F9B8C 7F0C505C 8FA900D0 */ lw $t1, 0xd0($sp) -/* 0F9B90 7F0C5060 24010004 */ li $at, 4 -/* 0F9B94 7F0C5064 15210018 */ bne $t1, $at, .L7F0C50C8 -/* 0F9B98 7F0C5068 24010003 */ li $at, 3 -/* 0F9B9C 7F0C506C 10410016 */ beq $v0, $at, .L7F0C50C8 -/* 0F9BA0 7F0C5070 000260C0 */ sll $t4, $v0, 3 -/* 0F9BA4 7F0C5074 01826023 */ subu $t4, $t4, $v0 -/* 0F9BA8 7F0C5078 3C0B8008 */ lui $t3, %hi(player1_player_data) -/* 0F9BAC 7F0C507C 256B9EF0 */ addiu $t3, %lo(player1_player_data) # addiu $t3, $t3, -0x6110 -/* 0F9BB0 7F0C5080 000C6100 */ sll $t4, $t4, 4 -/* 0F9BB4 7F0C5084 018B7821 */ addu $t7, $t4, $t3 -/* 0F9BB8 7F0C5088 0C001145 */ jal get_video2_settings_ulx -/* 0F9BBC 7F0C508C AFAF0044 */ sw $t7, 0x44($sp) -/* 0F9BC0 7F0C5090 00028400 */ sll $s0, $v0, 0x10 -/* 0F9BC4 7F0C5094 00106C03 */ sra $t5, $s0, 0x10 -/* 0F9BC8 7F0C5098 0C001149 */ jal get_video2_settings_uly -/* 0F9BCC 7F0C509C 01A08025 */ move $s0, $t5 -/* 0F9BD0 7F0C50A0 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0F9BD4 7F0C50A4 8FAE0044 */ lw $t6, 0x44($sp) -/* 0F9BD8 7F0C50A8 02202025 */ move $a0, $s1 -/* 0F9BDC 7F0C50AC 02192821 */ addu $a1, $s0, $t9 -/* 0F9BE0 7F0C50B0 8DC70030 */ lw $a3, 0x30($t6) -/* 0F9BE4 7F0C50B4 AFA00010 */ sw $zero, 0x10($sp) -/* 0F9BE8 7F0C50B8 24A50060 */ addiu $a1, $a1, 0x60 -/* 0F9BEC 7F0C50BC 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9BF0 7F0C50C0 24460056 */ addiu $a2, $v0, 0x56 -/* 0F9BF4 7F0C50C4 00408825 */ move $s1, $v0 -.L7F0C50C8: -/* 0F9BF8 7F0C50C8 3C038008 */ lui $v1, %hi(pPlayer) -/* 0F9BFC 7F0C50CC 1000029D */ b .L7F0C5B44 -/* 0F9C00 7F0C50D0 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F0C50D4: -/* 0F9C04 7F0C50D4 24010001 */ li $at, 1 -/* 0F9C08 7F0C50D8 144101A9 */ bne $v0, $at, .L7F0C5780 -/* 0F9C0C 7F0C50DC 3C048009 */ lui $a0, %hi(is_gameover_flag) -/* 0F9C10 7F0C50E0 8C84C704 */ lw $a0, %lo(is_gameover_flag)($a0) -/* 0F9C14 7F0C50E4 2C980001 */ sltiu $t8, $a0, 1 -/* 0F9C18 7F0C50E8 13000005 */ beqz $t8, .L7F0C5100 -/* 0F9C1C 7F0C50EC 03002025 */ move $a0, $t8 -/* 0F9C20 7F0C50F0 3C048009 */ lui $a0, %hi(stop_play_flag) -/* 0F9C24 7F0C50F4 8C84C700 */ lw $a0, %lo(stop_play_flag)($a0) -/* 0F9C28 7F0C50F8 2C8A0001 */ sltiu $t2, $a0, 1 -/* 0F9C2C 7F0C50FC 01402025 */ move $a0, $t2 -.L7F0C5100: -/* 0F9C30 7F0C5100 0FC30FD7 */ jal true_if_displaying_rank_in_mp -/* 0F9C34 7F0C5104 00000000 */ nop -/* 0F9C38 7F0C5108 10400034 */ beqz $v0, .L7F0C51DC -/* 0F9C3C 7F0C510C 27A400AC */ addiu $a0, $sp, 0xac -/* 0F9C40 7F0C5110 0FC30F25 */ jal write_playerrank_to_buffer -/* 0F9C44 7F0C5114 8FA500D4 */ lw $a1, 0xd4($sp) -/* 0F9C48 7F0C5118 3C098004 */ lui $t1, %hi(ptrFirstFontTableSmall) -/* 0F9C4C 7F0C511C 8D290EAC */ lw $t1, %lo(ptrFirstFontTableSmall)($t1) -/* 0F9C50 7F0C5120 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0F9C54 7F0C5124 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F9C58 7F0C5128 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F9C5C 7F0C512C 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F9C60 7F0C5130 27A600AC */ addiu $a2, $sp, 0xac -/* 0F9C64 7F0C5134 AFA00014 */ sw $zero, 0x14($sp) -/* 0F9C68 7F0C5138 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0F9C6C 7F0C513C AFA90010 */ sw $t1, 0x10($sp) -/* 0F9C70 7F0C5140 0C001145 */ jal get_video2_settings_ulx -/* 0F9C74 7F0C5144 00000000 */ nop -/* 0F9C78 7F0C5148 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0F9C7C 7F0C514C 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0F9C80 7F0C5150 004C5821 */ addu $t3, $v0, $t4 -/* 0F9C84 7F0C5154 000F6843 */ sra $t5, $t7, 1 -/* 0F9C88 7F0C5158 016D2023 */ subu $a0, $t3, $t5 -/* 0F9C8C 7F0C515C 24840050 */ addiu $a0, $a0, 0x50 -/* 0F9C90 7F0C5160 0C001149 */ jal get_video2_settings_uly -/* 0F9C94 7F0C5164 AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9C98 7F0C5168 8FB900BC */ lw $t9, 0xbc($sp) -/* 0F9C9C 7F0C516C 00197043 */ sra $t6, $t9, 1 -/* 0F9CA0 7F0C5170 004EC023 */ subu $t8, $v0, $t6 -/* 0F9CA4 7F0C5174 270A0025 */ addiu $t2, $t8, 0x25 -/* 0F9CA8 7F0C5178 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9CAC 7F0C517C AFAA00C8 */ sw $t2, 0xc8($sp) -/* 0F9CB0 7F0C5180 00028400 */ sll $s0, $v0, 0x10 -/* 0F9CB4 7F0C5184 00104C03 */ sra $t1, $s0, 0x10 -/* 0F9CB8 7F0C5188 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9CBC 7F0C518C 01208025 */ move $s0, $t1 -/* 0F9CC0 7F0C5190 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) -/* 0F9CC4 7F0C5194 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) -/* 0F9CC8 7F0C5198 8DEF0EAC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0F9CCC 7F0C519C 8D8C0EB0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 0F9CD0 7F0C51A0 3C0B00FF */ lui $t3, (0x00FF00B0 >> 16) # lui $t3, 0xff -/* 0F9CD4 7F0C51A4 356B00B0 */ ori $t3, (0x00FF00B0 & 0xFFFF) # ori $t3, $t3, 0xb0 -/* 0F9CD8 7F0C51A8 AFAB0018 */ sw $t3, 0x18($sp) -/* 0F9CDC 7F0C51AC 02202025 */ move $a0, $s1 -/* 0F9CE0 7F0C51B0 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9CE4 7F0C51B4 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9CE8 7F0C51B8 27A700AC */ addiu $a3, $sp, 0xac -/* 0F9CEC 7F0C51BC AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9CF0 7F0C51C0 AFA20020 */ sw $v0, 0x20($sp) -/* 0F9CF4 7F0C51C4 AFA00024 */ sw $zero, 0x24($sp) -/* 0F9CF8 7F0C51C8 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9CFC 7F0C51CC AFAF0014 */ sw $t7, 0x14($sp) -/* 0F9D00 7F0C51D0 0FC2B6AF */ jal en_text_write_stuff -/* 0F9D04 7F0C51D4 AFAC0010 */ sw $t4, 0x10($sp) -/* 0F9D08 7F0C51D8 00408825 */ move $s1, $v0 -.L7F0C51DC: -/* 0F9D0C 7F0C51DC 0FC30776 */ jal get_textptr_for_textID -/* 0F9D10 7F0C51E0 3404A01C */ li $a0, 40988 -/* 0F9D14 7F0C51E4 3404A01E */ li $a0, 40990 -/* 0F9D18 7F0C51E8 0FC30776 */ jal get_textptr_for_textID -/* 0F9D1C 7F0C51EC AFA2004C */ sw $v0, 0x4c($sp) -/* 0F9D20 7F0C51F0 8FA700D4 */ lw $a3, 0xd4($sp) -/* 0F9D24 7F0C51F4 3C058006 */ lui $a1, %hi(ascii_pnum_LOSSES) -/* 0F9D28 7F0C51F8 24A5BC38 */ addiu $a1, %lo(ascii_pnum_LOSSES) # addiu $a1, $a1, -0x43c8 -/* 0F9D2C 7F0C51FC 8FA6004C */ lw $a2, 0x4c($sp) -/* 0F9D30 7F0C5200 27A400AC */ addiu $a0, $sp, 0xac -/* 0F9D34 7F0C5204 AFA20010 */ sw $v0, 0x10($sp) -/* 0F9D38 7F0C5208 0C002B25 */ jal sprintf -/* 0F9D3C 7F0C520C 24E70001 */ addiu $a3, $a3, 1 -/* 0F9D40 7F0C5210 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) -/* 0F9D44 7F0C5214 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0F9D48 7F0C5218 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0F9D4C 7F0C521C 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F9D50 7F0C5220 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F9D54 7F0C5224 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F9D58 7F0C5228 27A600AC */ addiu $a2, $sp, 0xac -/* 0F9D5C 7F0C522C AFA00014 */ sw $zero, 0x14($sp) -/* 0F9D60 7F0C5230 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0F9D64 7F0C5234 AFAD0010 */ sw $t5, 0x10($sp) -/* 0F9D68 7F0C5238 0C001145 */ jal get_video2_settings_ulx -/* 0F9D6C 7F0C523C 00000000 */ nop -/* 0F9D70 7F0C5240 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0F9D74 7F0C5244 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0F9D78 7F0C5248 00597021 */ addu $t6, $v0, $t9 -/* 0F9D7C 7F0C524C 00185043 */ sra $t2, $t8, 1 -/* 0F9D80 7F0C5250 01CA2023 */ subu $a0, $t6, $t2 -/* 0F9D84 7F0C5254 24840050 */ addiu $a0, $a0, 0x50 -/* 0F9D88 7F0C5258 0C001149 */ jal get_video2_settings_uly -/* 0F9D8C 7F0C525C AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9D90 7F0C5260 8FA900BC */ lw $t1, 0xbc($sp) -/* 0F9D94 7F0C5264 00096043 */ sra $t4, $t1, 1 -/* 0F9D98 7F0C5268 004C7823 */ subu $t7, $v0, $t4 -/* 0F9D9C 7F0C526C 25EB0035 */ addiu $t3, $t7, 0x35 -/* 0F9DA0 7F0C5270 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9DA4 7F0C5274 AFAB00C8 */ sw $t3, 0xc8($sp) -/* 0F9DA8 7F0C5278 00028400 */ sll $s0, $v0, 0x10 -/* 0F9DAC 7F0C527C 00106C03 */ sra $t5, $s0, 0x10 -/* 0F9DB0 7F0C5280 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9DB4 7F0C5284 01A08025 */ move $s0, $t5 -/* 0F9DB8 7F0C5288 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall) -/* 0F9DBC 7F0C528C 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0F9DC0 7F0C5290 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0F9DC4 7F0C5294 8F390EB0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9) -/* 0F9DC8 7F0C5298 3C0EFF40 */ lui $t6, (0xFF4040B0 >> 16) # lui $t6, 0xff40 -/* 0F9DCC 7F0C529C 35CE40B0 */ ori $t6, (0xFF4040B0 & 0xFFFF) # ori $t6, $t6, 0x40b0 -/* 0F9DD0 7F0C52A0 AFAE0018 */ sw $t6, 0x18($sp) -/* 0F9DD4 7F0C52A4 02202025 */ move $a0, $s1 -/* 0F9DD8 7F0C52A8 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9DDC 7F0C52AC 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9DE0 7F0C52B0 27A700AC */ addiu $a3, $sp, 0xac -/* 0F9DE4 7F0C52B4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9DE8 7F0C52B8 AFA20020 */ sw $v0, 0x20($sp) -/* 0F9DEC 7F0C52BC AFA00024 */ sw $zero, 0x24($sp) -/* 0F9DF0 7F0C52C0 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9DF4 7F0C52C4 AFB80014 */ sw $t8, 0x14($sp) -/* 0F9DF8 7F0C52C8 0FC2B6AF */ jal en_text_write_stuff -/* 0F9DFC 7F0C52CC AFB90010 */ sw $t9, 0x10($sp) -/* 0F9E00 7F0C52D0 8FAA00D0 */ lw $t2, 0xd0($sp) -/* 0F9E04 7F0C52D4 24010002 */ li $at, 2 -/* 0F9E08 7F0C52D8 00408825 */ move $s1, $v0 -/* 0F9E0C 7F0C52DC 15410062 */ bne $t2, $at, .L7F0C5468 -/* 0F9E10 7F0C52E0 8FB800D4 */ lw $t8, 0xd4($sp) -/* 0F9E14 7F0C52E4 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0F9E18 7F0C52E8 3C0D8008 */ lui $t5, %hi(player1_player_data + 0x24) -/* 0F9E1C 7F0C52EC 10400016 */ beqz $v0, .L7F0C5348 -/* 0F9E20 7F0C52F0 00000000 */ nop -/* 0F9E24 7F0C52F4 0C001145 */ jal get_video2_settings_ulx -/* 0F9E28 7F0C52F8 00000000 */ nop -/* 0F9E2C 7F0C52FC 00028400 */ sll $s0, $v0, 0x10 -/* 0F9E30 7F0C5300 00104C03 */ sra $t1, $s0, 0x10 -/* 0F9E34 7F0C5304 0C001149 */ jal get_video2_settings_uly -/* 0F9E38 7F0C5308 01208025 */ move $s0, $t1 -/* 0F9E3C 7F0C530C 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 0F9E40 7F0C5310 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0F9E44 7F0C5314 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0F9E48 7F0C5318 000F5880 */ sll $t3, $t7, 2 -/* 0F9E4C 7F0C531C 00EB3821 */ addu $a3, $a3, $t3 -/* 0F9E50 7F0C5320 020C2821 */ addu $a1, $s0, $t4 -/* 0F9E54 7F0C5324 24A50050 */ addiu $a1, $a1, 0x50 -/* 0F9E58 7F0C5328 8CE79F14 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0F9E5C 7F0C532C 02202025 */ move $a0, $s1 -/* 0F9E60 7F0C5330 24460046 */ addiu $a2, $v0, 0x46 -/* 0F9E64 7F0C5334 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9E68 7F0C5338 AFA00010 */ sw $zero, 0x10($sp) -/* 0F9E6C 7F0C533C 00408825 */ move $s1, $v0 -/* 0F9E70 7F0C5340 10000019 */ b .L7F0C53A8 -/* 0F9E74 7F0C5344 8FA200D4 */ lw $v0, 0xd4($sp) -.L7F0C5348: -/* 0F9E78 7F0C5348 8DAD9F14 */ lw $t5, %lo(player1_player_data + 0x24)($t5) -/* 0F9E7C 7F0C534C 59A00017 */ blezl $t5, .L7F0C53AC -/* 0F9E80 7F0C5350 24010001 */ li $at, 1 -/* 0F9E84 7F0C5354 0C001145 */ jal get_video2_settings_ulx -/* 0F9E88 7F0C5358 00000000 */ nop -/* 0F9E8C 7F0C535C 00028400 */ sll $s0, $v0, 0x10 -/* 0F9E90 7F0C5360 0010CC03 */ sra $t9, $s0, 0x10 -/* 0F9E94 7F0C5364 0C001149 */ jal get_video2_settings_uly -/* 0F9E98 7F0C5368 03208025 */ move $s0, $t9 -/* 0F9E9C 7F0C536C 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0F9EA0 7F0C5370 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0F9EA4 7F0C5374 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0F9EA8 7F0C5378 000E5080 */ sll $t2, $t6, 2 -/* 0F9EAC 7F0C537C 00EA3821 */ addu $a3, $a3, $t2 -/* 0F9EB0 7F0C5380 24090003 */ li $t1, 3 -/* 0F9EB4 7F0C5384 02182821 */ addu $a1, $s0, $t8 -/* 0F9EB8 7F0C5388 24A50050 */ addiu $a1, $a1, 0x50 -/* 0F9EBC 7F0C538C AFA90010 */ sw $t1, 0x10($sp) -/* 0F9EC0 7F0C5390 8CE79F14 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0F9EC4 7F0C5394 02202025 */ move $a0, $s1 -/* 0F9EC8 7F0C5398 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9ECC 7F0C539C 24460046 */ addiu $a2, $v0, 0x46 -/* 0F9ED0 7F0C53A0 00408825 */ move $s1, $v0 -/* 0F9ED4 7F0C53A4 8FA200D4 */ lw $v0, 0xd4($sp) -.L7F0C53A8: -/* 0F9ED8 7F0C53A8 24010001 */ li $at, 1 -.L7F0C53AC: -/* 0F9EDC 7F0C53AC 10410016 */ beq $v0, $at, .L7F0C5408 -/* 0F9EE0 7F0C53B0 3C0E8008 */ lui $t6, %hi(player2_player_data + 0x28) -/* 0F9EE4 7F0C53B4 3C0F8008 */ lui $t7, %hi(player1_player_data) -/* 0F9EE8 7F0C53B8 25EF9EF0 */ addiu $t7, %lo(player1_player_data) # addiu $t7, $t7, -0x6110 -/* 0F9EEC 7F0C53BC 00026080 */ sll $t4, $v0, 2 -/* 0F9EF0 7F0C53C0 018F5821 */ addu $t3, $t4, $t7 -/* 0F9EF4 7F0C53C4 0C001145 */ jal get_video2_settings_ulx -/* 0F9EF8 7F0C53C8 AFAB0044 */ sw $t3, 0x44($sp) -/* 0F9EFC 7F0C53CC 00028400 */ sll $s0, $v0, 0x10 -/* 0F9F00 7F0C53D0 00106C03 */ sra $t5, $s0, 0x10 -/* 0F9F04 7F0C53D4 0C001149 */ jal get_video2_settings_uly -/* 0F9F08 7F0C53D8 01A08025 */ move $s0, $t5 -/* 0F9F0C 7F0C53DC 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0F9F10 7F0C53E0 8FB80044 */ lw $t8, 0x44($sp) -/* 0F9F14 7F0C53E4 02202025 */ move $a0, $s1 -/* 0F9F18 7F0C53E8 02192821 */ addu $a1, $s0, $t9 -/* 0F9F1C 7F0C53EC 8F070094 */ lw $a3, 0x94($t8) -/* 0F9F20 7F0C53F0 AFA00010 */ sw $zero, 0x10($sp) -/* 0F9F24 7F0C53F4 24A50050 */ addiu $a1, $a1, 0x50 -/* 0F9F28 7F0C53F8 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9F2C 7F0C53FC 24460056 */ addiu $a2, $v0, 0x56 -/* 0F9F30 7F0C5400 100000DC */ b .L7F0C5774 -/* 0F9F34 7F0C5404 00408825 */ move $s1, $v0 -.L7F0C5408: -/* 0F9F38 7F0C5408 8DCE9F88 */ lw $t6, %lo(player2_player_data + 0x28)($t6) -/* 0F9F3C 7F0C540C 3C098008 */ lui $t1, %hi(player1_player_data) -/* 0F9F40 7F0C5410 25299EF0 */ addiu $t1, %lo(player1_player_data) # addiu $t1, $t1, -0x6110 -/* 0F9F44 7F0C5414 19C000D7 */ blez $t6, .L7F0C5774 -/* 0F9F48 7F0C5418 00025080 */ sll $t2, $v0, 2 -/* 0F9F4C 7F0C541C 01496021 */ addu $t4, $t2, $t1 -/* 0F9F50 7F0C5420 0C001145 */ jal get_video2_settings_ulx -/* 0F9F54 7F0C5424 AFAC0044 */ sw $t4, 0x44($sp) -/* 0F9F58 7F0C5428 00028400 */ sll $s0, $v0, 0x10 -/* 0F9F5C 7F0C542C 00107C03 */ sra $t7, $s0, 0x10 -/* 0F9F60 7F0C5430 0C001149 */ jal get_video2_settings_uly -/* 0F9F64 7F0C5434 01E08025 */ move $s0, $t7 -/* 0F9F68 7F0C5438 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0F9F6C 7F0C543C 8FAD0044 */ lw $t5, 0x44($sp) -/* 0F9F70 7F0C5440 24190003 */ li $t9, 3 -/* 0F9F74 7F0C5444 020B2821 */ addu $a1, $s0, $t3 -/* 0F9F78 7F0C5448 8DA70094 */ lw $a3, 0x94($t5) -/* 0F9F7C 7F0C544C AFB90010 */ sw $t9, 0x10($sp) -/* 0F9F80 7F0C5450 24A50050 */ addiu $a1, $a1, 0x50 -/* 0F9F84 7F0C5454 02202025 */ move $a0, $s1 -/* 0F9F88 7F0C5458 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9F8C 7F0C545C 24460056 */ addiu $a2, $v0, 0x56 -/* 0F9F90 7F0C5460 100000C4 */ b .L7F0C5774 -/* 0F9F94 7F0C5464 00408825 */ move $s1, $v0 -.L7F0C5468: -/* 0F9F98 7F0C5468 13000015 */ beqz $t8, .L7F0C54C0 -/* 0F9F9C 7F0C546C 3C0F8008 */ lui $t7, %hi(player1_player_data + 0x24) -/* 0F9FA0 7F0C5470 0C001145 */ jal get_video2_settings_ulx -/* 0F9FA4 7F0C5474 00000000 */ nop -/* 0F9FA8 7F0C5478 00028400 */ sll $s0, $v0, 0x10 -/* 0F9FAC 7F0C547C 00107403 */ sra $t6, $s0, 0x10 -/* 0F9FB0 7F0C5480 0C001149 */ jal get_video2_settings_uly -/* 0F9FB4 7F0C5484 01C08025 */ move $s0, $t6 -/* 0F9FB8 7F0C5488 8FA900D4 */ lw $t1, 0xd4($sp) -/* 0F9FBC 7F0C548C 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 0F9FC0 7F0C5490 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0F9FC4 7F0C5494 00096080 */ sll $t4, $t1, 2 -/* 0F9FC8 7F0C5498 00EC3821 */ addu $a3, $a3, $t4 -/* 0F9FCC 7F0C549C 020A2821 */ addu $a1, $s0, $t2 -/* 0F9FD0 7F0C54A0 24A50040 */ addiu $a1, $a1, 0x40 -/* 0F9FD4 7F0C54A4 8CE79F14 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0F9FD8 7F0C54A8 02202025 */ move $a0, $s1 -/* 0F9FDC 7F0C54AC 24460046 */ addiu $a2, $v0, 0x46 -/* 0F9FE0 7F0C54B0 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0F9FE4 7F0C54B4 AFA00010 */ sw $zero, 0x10($sp) -/* 0F9FE8 7F0C54B8 10000018 */ b .L7F0C551C -/* 0F9FEC 7F0C54BC 00408825 */ move $s1, $v0 -.L7F0C54C0: -/* 0F9FF0 7F0C54C0 8DEF9F14 */ lw $t7, %lo(player1_player_data + 0x24)($t7) -/* 0F9FF4 7F0C54C4 59E00016 */ blezl $t7, .L7F0C5520 -/* 0F9FF8 7F0C54C8 8FAA00D4 */ lw $t2, 0xd4($sp) -/* 0F9FFC 7F0C54CC 0C001145 */ jal get_video2_settings_ulx -/* 0FA000 7F0C54D0 00000000 */ nop -/* 0FA004 7F0C54D4 00028400 */ sll $s0, $v0, 0x10 -/* 0FA008 7F0C54D8 00105C03 */ sra $t3, $s0, 0x10 -/* 0FA00C 7F0C54DC 0C001149 */ jal get_video2_settings_uly -/* 0FA010 7F0C54E0 01608025 */ move $s0, $t3 -/* 0FA014 7F0C54E4 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0FA018 7F0C54E8 8FAD00A8 */ lw $t5, 0xa8($sp) -/* 0FA01C 7F0C54EC 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0FA020 7F0C54F0 0019C080 */ sll $t8, $t9, 2 -/* 0FA024 7F0C54F4 00F83821 */ addu $a3, $a3, $t8 -/* 0FA028 7F0C54F8 240E0003 */ li $t6, 3 -/* 0FA02C 7F0C54FC 020D2821 */ addu $a1, $s0, $t5 -/* 0FA030 7F0C5500 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FA034 7F0C5504 AFAE0010 */ sw $t6, 0x10($sp) -/* 0FA038 7F0C5508 8CE79F14 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0FA03C 7F0C550C 02202025 */ move $a0, $s1 -/* 0FA040 7F0C5510 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA044 7F0C5514 24460046 */ addiu $a2, $v0, 0x46 -/* 0FA048 7F0C5518 00408825 */ move $s1, $v0 -.L7F0C551C: -/* 0FA04C 7F0C551C 8FAA00D4 */ lw $t2, 0xd4($sp) -.L7F0C5520: -/* 0FA050 7F0C5520 24010001 */ li $at, 1 -/* 0FA054 7F0C5524 3C188008 */ lui $t8, %hi(player2_player_data + 0x28) -/* 0FA058 7F0C5528 11410015 */ beq $t2, $at, .L7F0C5580 -/* 0FA05C 7F0C552C 000A4880 */ sll $t1, $t2, 2 -/* 0FA060 7F0C5530 3C0C8008 */ lui $t4, %hi(player1_player_data) -/* 0FA064 7F0C5534 258C9EF0 */ addiu $t4, %lo(player1_player_data) # addiu $t4, $t4, -0x6110 -/* 0FA068 7F0C5538 012C7821 */ addu $t7, $t1, $t4 -/* 0FA06C 7F0C553C 0C001145 */ jal get_video2_settings_ulx -/* 0FA070 7F0C5540 AFAF0044 */ sw $t7, 0x44($sp) -/* 0FA074 7F0C5544 00028400 */ sll $s0, $v0, 0x10 -/* 0FA078 7F0C5548 00105C03 */ sra $t3, $s0, 0x10 -/* 0FA07C 7F0C554C 0C001149 */ jal get_video2_settings_uly -/* 0FA080 7F0C5550 01608025 */ move $s0, $t3 -/* 0FA084 7F0C5554 8FAD00A8 */ lw $t5, 0xa8($sp) -/* 0FA088 7F0C5558 8FB90044 */ lw $t9, 0x44($sp) -/* 0FA08C 7F0C555C 02202025 */ move $a0, $s1 -/* 0FA090 7F0C5560 020D2821 */ addu $a1, $s0, $t5 -/* 0FA094 7F0C5564 8F270094 */ lw $a3, 0x94($t9) -/* 0FA098 7F0C5568 AFA00010 */ sw $zero, 0x10($sp) -/* 0FA09C 7F0C556C 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FA0A0 7F0C5570 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA0A4 7F0C5574 24460046 */ addiu $a2, $v0, 0x46 -/* 0FA0A8 7F0C5578 10000019 */ b .L7F0C55E0 -/* 0FA0AC 7F0C557C 00408825 */ move $s1, $v0 -.L7F0C5580: -/* 0FA0B0 7F0C5580 8F189F88 */ lw $t8, %lo(player2_player_data + 0x28)($t8) -/* 0FA0B4 7F0C5584 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0FA0B8 7F0C5588 3C098008 */ lui $t1, %hi(player1_player_data) -/* 0FA0BC 7F0C558C 1B000014 */ blez $t8, .L7F0C55E0 -/* 0FA0C0 7F0C5590 000E5080 */ sll $t2, $t6, 2 -/* 0FA0C4 7F0C5594 25299EF0 */ addiu $t1, %lo(player1_player_data) # addiu $t1, $t1, -0x6110 -/* 0FA0C8 7F0C5598 01496021 */ addu $t4, $t2, $t1 -/* 0FA0CC 7F0C559C 0C001145 */ jal get_video2_settings_ulx -/* 0FA0D0 7F0C55A0 AFAC0044 */ sw $t4, 0x44($sp) -/* 0FA0D4 7F0C55A4 00028400 */ sll $s0, $v0, 0x10 -/* 0FA0D8 7F0C55A8 00107C03 */ sra $t7, $s0, 0x10 -/* 0FA0DC 7F0C55AC 0C001149 */ jal get_video2_settings_uly -/* 0FA0E0 7F0C55B0 01E08025 */ move $s0, $t7 -/* 0FA0E4 7F0C55B4 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0FA0E8 7F0C55B8 8FAD0044 */ lw $t5, 0x44($sp) -/* 0FA0EC 7F0C55BC 24190003 */ li $t9, 3 -/* 0FA0F0 7F0C55C0 020B2821 */ addu $a1, $s0, $t3 -/* 0FA0F4 7F0C55C4 8DA70094 */ lw $a3, 0x94($t5) -/* 0FA0F8 7F0C55C8 AFB90010 */ sw $t9, 0x10($sp) -/* 0FA0FC 7F0C55CC 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FA100 7F0C55D0 02202025 */ move $a0, $s1 -/* 0FA104 7F0C55D4 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA108 7F0C55D8 24460046 */ addiu $a2, $v0, 0x46 -/* 0FA10C 7F0C55DC 00408825 */ move $s1, $v0 -.L7F0C55E0: -/* 0FA110 7F0C55E0 8FB800D4 */ lw $t8, 0xd4($sp) -/* 0FA114 7F0C55E4 24010002 */ li $at, 2 -/* 0FA118 7F0C55E8 3C0D8008 */ lui $t5, %hi(player3_player_data + 0x2C) -/* 0FA11C 7F0C55EC 13010015 */ beq $t8, $at, .L7F0C5644 -/* 0FA120 7F0C55F0 00187080 */ sll $t6, $t8, 2 -/* 0FA124 7F0C55F4 3C0A8008 */ lui $t2, %hi(player1_player_data) -/* 0FA128 7F0C55F8 254A9EF0 */ addiu $t2, %lo(player1_player_data) # addiu $t2, $t2, -0x6110 -/* 0FA12C 7F0C55FC 01CA4821 */ addu $t1, $t6, $t2 -/* 0FA130 7F0C5600 0C001145 */ jal get_video2_settings_ulx -/* 0FA134 7F0C5604 AFA90044 */ sw $t1, 0x44($sp) -/* 0FA138 7F0C5608 00028400 */ sll $s0, $v0, 0x10 -/* 0FA13C 7F0C560C 00106403 */ sra $t4, $s0, 0x10 -/* 0FA140 7F0C5610 0C001149 */ jal get_video2_settings_uly -/* 0FA144 7F0C5614 01808025 */ move $s0, $t4 -/* 0FA148 7F0C5618 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FA14C 7F0C561C 8FAB0044 */ lw $t3, 0x44($sp) -/* 0FA150 7F0C5620 02202025 */ move $a0, $s1 -/* 0FA154 7F0C5624 020F2821 */ addu $a1, $s0, $t7 -/* 0FA158 7F0C5628 8D670104 */ lw $a3, 0x104($t3) -/* 0FA15C 7F0C562C AFA00010 */ sw $zero, 0x10($sp) -/* 0FA160 7F0C5630 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FA164 7F0C5634 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA168 7F0C5638 24460056 */ addiu $a2, $v0, 0x56 -/* 0FA16C 7F0C563C 10000019 */ b .L7F0C56A4 -/* 0FA170 7F0C5640 00408825 */ move $s1, $v0 -.L7F0C5644: -/* 0FA174 7F0C5644 8DAD9FFC */ lw $t5, %lo(player3_player_data + 0x2C)($t5) -/* 0FA178 7F0C5648 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0FA17C 7F0C564C 3C0E8008 */ lui $t6, %hi(player1_player_data) -/* 0FA180 7F0C5650 19A00014 */ blez $t5, .L7F0C56A4 -/* 0FA184 7F0C5654 0019C080 */ sll $t8, $t9, 2 -/* 0FA188 7F0C5658 25CE9EF0 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x6110 -/* 0FA18C 7F0C565C 030E5021 */ addu $t2, $t8, $t6 -/* 0FA190 7F0C5660 0C001145 */ jal get_video2_settings_ulx -/* 0FA194 7F0C5664 AFAA0044 */ sw $t2, 0x44($sp) -/* 0FA198 7F0C5668 00028400 */ sll $s0, $v0, 0x10 -/* 0FA19C 7F0C566C 00104C03 */ sra $t1, $s0, 0x10 -/* 0FA1A0 7F0C5670 0C001149 */ jal get_video2_settings_uly -/* 0FA1A4 7F0C5674 01208025 */ move $s0, $t1 -/* 0FA1A8 7F0C5678 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0FA1AC 7F0C567C 8FAF0044 */ lw $t7, 0x44($sp) -/* 0FA1B0 7F0C5680 240B0003 */ li $t3, 3 -/* 0FA1B4 7F0C5684 020C2821 */ addu $a1, $s0, $t4 -/* 0FA1B8 7F0C5688 8DE70104 */ lw $a3, 0x104($t7) -/* 0FA1BC 7F0C568C AFAB0010 */ sw $t3, 0x10($sp) -/* 0FA1C0 7F0C5690 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FA1C4 7F0C5694 02202025 */ move $a0, $s1 -/* 0FA1C8 7F0C5698 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA1CC 7F0C569C 24460056 */ addiu $a2, $v0, 0x56 -/* 0FA1D0 7F0C56A0 00408825 */ move $s1, $v0 -.L7F0C56A4: -/* 0FA1D4 7F0C56A4 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 0FA1D8 7F0C56A8 24010004 */ li $at, 4 -/* 0FA1DC 7F0C56AC 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0FA1E0 7F0C56B0 15A10030 */ bne $t5, $at, .L7F0C5774 -/* 0FA1E4 7F0C56B4 24010003 */ li $at, 3 -/* 0FA1E8 7F0C56B8 13210016 */ beq $t9, $at, .L7F0C5714 -/* 0FA1EC 7F0C56BC 3C0B8008 */ lui $t3, %hi(player3_player_data + 0x30) -/* 0FA1F0 7F0C56C0 3C0E8008 */ lui $t6, %hi(player1_player_data) -/* 0FA1F4 7F0C56C4 25CE9EF0 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x6110 -/* 0FA1F8 7F0C56C8 0019C080 */ sll $t8, $t9, 2 -/* 0FA1FC 7F0C56CC 030E5021 */ addu $t2, $t8, $t6 -/* 0FA200 7F0C56D0 0C001145 */ jal get_video2_settings_ulx -/* 0FA204 7F0C56D4 AFAA0044 */ sw $t2, 0x44($sp) -/* 0FA208 7F0C56D8 00028400 */ sll $s0, $v0, 0x10 -/* 0FA20C 7F0C56DC 00104C03 */ sra $t1, $s0, 0x10 -/* 0FA210 7F0C56E0 0C001149 */ jal get_video2_settings_uly -/* 0FA214 7F0C56E4 01208025 */ move $s0, $t1 -/* 0FA218 7F0C56E8 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0FA21C 7F0C56EC 8FAF0044 */ lw $t7, 0x44($sp) -/* 0FA220 7F0C56F0 02202025 */ move $a0, $s1 -/* 0FA224 7F0C56F4 020C2821 */ addu $a1, $s0, $t4 -/* 0FA228 7F0C56F8 8DE70174 */ lw $a3, 0x174($t7) -/* 0FA22C 7F0C56FC AFA00010 */ sw $zero, 0x10($sp) -/* 0FA230 7F0C5700 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FA234 7F0C5704 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA238 7F0C5708 24460056 */ addiu $a2, $v0, 0x56 -/* 0FA23C 7F0C570C 10000019 */ b .L7F0C5774 -/* 0FA240 7F0C5710 00408825 */ move $s1, $v0 -.L7F0C5714: -/* 0FA244 7F0C5714 8D6BA070 */ lw $t3, %lo(player4_player_data+0x30)($t3) -/* 0FA248 7F0C5718 8FAD00D4 */ lw $t5, 0xd4($sp) -/* 0FA24C 7F0C571C 3C188008 */ lui $t8, %hi(player1_player_data) -/* 0FA250 7F0C5720 19600014 */ blez $t3, .L7F0C5774 -/* 0FA254 7F0C5724 000DC880 */ sll $t9, $t5, 2 -/* 0FA258 7F0C5728 27189EF0 */ addiu $t8, %lo(player1_player_data) # addiu $t8, $t8, -0x6110 -/* 0FA25C 7F0C572C 03387021 */ addu $t6, $t9, $t8 -/* 0FA260 7F0C5730 0C001145 */ jal get_video2_settings_ulx -/* 0FA264 7F0C5734 AFAE0044 */ sw $t6, 0x44($sp) -/* 0FA268 7F0C5738 00028400 */ sll $s0, $v0, 0x10 -/* 0FA26C 7F0C573C 00105403 */ sra $t2, $s0, 0x10 -/* 0FA270 7F0C5740 0C001149 */ jal get_video2_settings_uly -/* 0FA274 7F0C5744 01408025 */ move $s0, $t2 -/* 0FA278 7F0C5748 8FA900A8 */ lw $t1, 0xa8($sp) -/* 0FA27C 7F0C574C 8FAC0044 */ lw $t4, 0x44($sp) -/* 0FA280 7F0C5750 240F0003 */ li $t7, 3 -/* 0FA284 7F0C5754 02092821 */ addu $a1, $s0, $t1 -/* 0FA288 7F0C5758 8D870174 */ lw $a3, 0x174($t4) -/* 0FA28C 7F0C575C AFAF0010 */ sw $t7, 0x10($sp) -/* 0FA290 7F0C5760 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FA294 7F0C5764 02202025 */ move $a0, $s1 -/* 0FA298 7F0C5768 0FC30D68 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA29C 7F0C576C 24460056 */ addiu $a2, $v0, 0x56 -/* 0FA2A0 7F0C5770 00408825 */ move $s1, $v0 -.L7F0C5774: -/* 0FA2A4 7F0C5774 3C038008 */ lui $v1, %hi(pPlayer) -/* 0FA2A8 7F0C5778 100000F2 */ b .L7F0C5B44 -/* 0FA2AC 7F0C577C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -.L7F0C5780: -/* 0FA2B0 7F0C5780 544000F1 */ bnezl $v0, .L7F0C5B48 -/* 0FA2B4 7F0C5784 8C6F29C8 */ lw $t7, 0x29c8($v1) -/* 0FA2B8 7F0C5788 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 0FA2BC 7F0C578C 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0FA2C0 7F0C5790 29A10003 */ slti $at, $t5, 3 -/* 0FA2C4 7F0C5794 1420000A */ bnez $at, .L7F0C57C0 -/* 0FA2C8 7F0C5798 AFAB0074 */ sw $t3, 0x74($sp) -/* 0FA2CC 7F0C579C 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0FA2D0 7F0C57A0 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 0FA2D4 7F0C57A4 256EFFF9 */ addiu $t6, $t3, -7 -/* 0FA2D8 7F0C57A8 33380001 */ andi $t8, $t9, 1 -/* 0FA2DC 7F0C57AC 13000003 */ beqz $t8, .L7F0C57BC -/* 0FA2E0 7F0C57B0 25490007 */ addiu $t1, $t2, 7 -/* 0FA2E4 7F0C57B4 10000002 */ b .L7F0C57C0 -/* 0FA2E8 7F0C57B8 AFAE0074 */ sw $t6, 0x74($sp) -.L7F0C57BC: -/* 0FA2EC 7F0C57BC AFA90074 */ sw $t1, 0x74($sp) -.L7F0C57C0: -/* 0FA2F0 7F0C57C0 0FC30776 */ jal get_textptr_for_textID -/* 0FA2F4 7F0C57C4 3404A01F */ li $a0, 40991 -/* 0FA2F8 7F0C57C8 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) -/* 0FA2FC 7F0C57CC 8D8C0EAC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FA300 7F0C57D0 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0FA304 7F0C57D4 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FA308 7F0C57D8 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA30C 7F0C57DC 27A4007C */ addiu $a0, $sp, 0x7c -/* 0FA310 7F0C57E0 27A50078 */ addiu $a1, $sp, 0x78 -/* 0FA314 7F0C57E4 00403025 */ move $a2, $v0 -/* 0FA318 7F0C57E8 AFA00014 */ sw $zero, 0x14($sp) -/* 0FA31C 7F0C57EC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0FA320 7F0C57F0 AFAC0010 */ sw $t4, 0x10($sp) -/* 0FA324 7F0C57F4 0C001145 */ jal get_video2_settings_ulx -/* 0FA328 7F0C57F8 00000000 */ nop -/* 0FA32C 7F0C57FC 8FAF0074 */ lw $t7, 0x74($sp) -/* 0FA330 7F0C5800 8FB90078 */ lw $t9, 0x78($sp) -/* 0FA334 7F0C5804 004F6821 */ addu $t5, $v0, $t7 -/* 0FA338 7F0C5808 0019C043 */ sra $t8, $t9, 1 -/* 0FA33C 7F0C580C 01B82023 */ subu $a0, $t5, $t8 -/* 0FA340 7F0C5810 24840050 */ addiu $a0, $a0, 0x50 -/* 0FA344 7F0C5814 0C001149 */ jal get_video2_settings_uly -/* 0FA348 7F0C5818 AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA34C 7F0C581C 8FAB007C */ lw $t3, 0x7c($sp) -/* 0FA350 7F0C5820 000B7043 */ sra $t6, $t3, 1 -/* 0FA354 7F0C5824 004E5023 */ subu $t2, $v0, $t6 -/* 0FA358 7F0C5828 25490025 */ addiu $t1, $t2, 0x25 -/* 0FA35C 7F0C582C 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA360 7F0C5830 AFA900C8 */ sw $t1, 0xc8($sp) -/* 0FA364 7F0C5834 00028400 */ sll $s0, $v0, 0x10 -/* 0FA368 7F0C5838 00106403 */ sra $t4, $s0, 0x10 -/* 0FA36C 7F0C583C 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA370 7F0C5840 01808025 */ move $s0, $t4 -/* 0FA374 7F0C5844 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0FA378 7F0C5848 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 0FA37C 7F0C584C 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0FA380 7F0C5850 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0FA384 7F0C5854 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0FA388 7F0C5858 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0FA38C 7F0C585C AFAD0018 */ sw $t5, 0x18($sp) -/* 0FA390 7F0C5860 02202025 */ move $a0, $s1 -/* 0FA394 7F0C5864 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA398 7F0C5868 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA39C 7F0C586C 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA3A0 7F0C5870 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA3A4 7F0C5874 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA3A8 7F0C5878 AFA00024 */ sw $zero, 0x24($sp) -/* 0FA3AC 7F0C587C AFA00028 */ sw $zero, 0x28($sp) -/* 0FA3B0 7F0C5880 AFB90014 */ sw $t9, 0x14($sp) -/* 0FA3B4 7F0C5884 0FC2B6AF */ jal en_text_write_stuff -/* 0FA3B8 7F0C5888 AFAF0010 */ sw $t7, 0x10($sp) -/* 0FA3BC 7F0C588C 00408825 */ move $s1, $v0 -/* 0FA3C0 7F0C5890 8FA400D4 */ lw $a0, 0xd4($sp) -/* 0FA3C4 7F0C5894 0FC026D4 */ jal getplayerfavoredweapon -/* 0FA3C8 7F0C5898 00002825 */ move $a1, $zero -/* 0FA3CC 7F0C589C 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0FA3D0 7F0C58A0 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0FA3D4 7F0C58A4 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0FA3D8 7F0C58A8 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FA3DC 7F0C58AC 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA3E0 7F0C58B0 27A4007C */ addiu $a0, $sp, 0x7c -/* 0FA3E4 7F0C58B4 27A50078 */ addiu $a1, $sp, 0x78 -/* 0FA3E8 7F0C58B8 00403025 */ move $a2, $v0 -/* 0FA3EC 7F0C58BC AFA00014 */ sw $zero, 0x14($sp) -/* 0FA3F0 7F0C58C0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0FA3F4 7F0C58C4 AFB80010 */ sw $t8, 0x10($sp) -/* 0FA3F8 7F0C58C8 0C001145 */ jal get_video2_settings_ulx -/* 0FA3FC 7F0C58CC 00000000 */ nop -/* 0FA400 7F0C58D0 8FAB0074 */ lw $t3, 0x74($sp) -/* 0FA404 7F0C58D4 8FAA0078 */ lw $t2, 0x78($sp) -/* 0FA408 7F0C58D8 004B7021 */ addu $t6, $v0, $t3 -/* 0FA40C 7F0C58DC 000A4843 */ sra $t1, $t2, 1 -/* 0FA410 7F0C58E0 01C92023 */ subu $a0, $t6, $t1 -/* 0FA414 7F0C58E4 24840050 */ addiu $a0, $a0, 0x50 -/* 0FA418 7F0C58E8 0C001149 */ jal get_video2_settings_uly -/* 0FA41C 7F0C58EC AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA420 7F0C58F0 3C0F8005 */ lui $t7, %hi(j_text_trigger) -/* 0FA424 7F0C58F4 8DEF84D0 */ lw $t7, %lo(j_text_trigger)($t7) -/* 0FA428 7F0C58F8 00021C00 */ sll $v1, $v0, 0x10 -/* 0FA42C 7F0C58FC 00036403 */ sra $t4, $v1, 0x10 -/* 0FA430 7F0C5900 11E00003 */ beqz $t7, .L7F0C5910 -/* 0FA434 7F0C5904 01801825 */ move $v1, $t4 -/* 0FA438 7F0C5908 10000002 */ b .L7F0C5914 -/* 0FA43C 7F0C590C 24040004 */ li $a0, 4 -.L7F0C5910: -/* 0FA440 7F0C5910 00002025 */ move $a0, $zero -.L7F0C5914: -/* 0FA444 7F0C5914 8FAD007C */ lw $t5, 0x7c($sp) -/* 0FA448 7F0C5918 0083C821 */ addu $t9, $a0, $v1 -/* 0FA44C 7F0C591C 000DC043 */ sra $t8, $t5, 1 -/* 0FA450 7F0C5920 03385823 */ subu $t3, $t9, $t8 -/* 0FA454 7F0C5924 256A0035 */ addiu $t2, $t3, 0x35 -/* 0FA458 7F0C5928 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA45C 7F0C592C AFAA00C8 */ sw $t2, 0xc8($sp) -/* 0FA460 7F0C5930 00028400 */ sll $s0, $v0, 0x10 -/* 0FA464 7F0C5934 00107403 */ sra $t6, $s0, 0x10 -/* 0FA468 7F0C5938 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA46C 7F0C593C 01C08025 */ move $s0, $t6 -/* 0FA470 7F0C5940 3C098004 */ lui $t1, %hi(ptrSecondFontTableSmall) -/* 0FA474 7F0C5944 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) -/* 0FA478 7F0C5948 8D8C0EAC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FA47C 7F0C594C 8D290EB0 */ lw $t1, %lo(ptrSecondFontTableSmall)($t1) -/* 0FA480 7F0C5950 3C0F00FF */ lui $t7, (0x00FF00B0 >> 16) # lui $t7, 0xff -/* 0FA484 7F0C5954 35EF00B0 */ ori $t7, (0x00FF00B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0FA488 7F0C5958 AFAF0018 */ sw $t7, 0x18($sp) -/* 0FA48C 7F0C595C 02202025 */ move $a0, $s1 -/* 0FA490 7F0C5960 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA494 7F0C5964 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA498 7F0C5968 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA49C 7F0C596C AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA4A0 7F0C5970 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA4A4 7F0C5974 AFA00024 */ sw $zero, 0x24($sp) -/* 0FA4A8 7F0C5978 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA4AC 7F0C597C AFAC0014 */ sw $t4, 0x14($sp) -/* 0FA4B0 7F0C5980 0FC2B6AF */ jal en_text_write_stuff -/* 0FA4B4 7F0C5984 AFA90010 */ sw $t1, 0x10($sp) -/* 0FA4B8 7F0C5988 3C038008 */ lui $v1, %hi(pPlayer) -/* 0FA4BC 7F0C598C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0FA4C0 7F0C5990 00408825 */ move $s1, $v0 -/* 0FA4C4 7F0C5994 27A4007C */ addiu $a0, $sp, 0x7c -/* 0FA4C8 7F0C5998 8C682A10 */ lw $t0, 0x2a10($v1) -/* 0FA4CC 7F0C599C 27A50078 */ addiu $a1, $sp, 0x78 -/* 0FA4D0 7F0C59A0 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0FA4D4 7F0C59A4 11000031 */ beqz $t0, .L7F0C5A6C -/* 0FA4D8 7F0C59A8 01003025 */ move $a2, $t0 -/* 0FA4DC 7F0C59AC 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) -/* 0FA4E0 7F0C59B0 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FA4E4 7F0C59B4 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA4E8 7F0C59B8 AFA00014 */ sw $zero, 0x14($sp) -/* 0FA4EC 7F0C59BC AFA800A4 */ sw $t0, 0xa4($sp) -/* 0FA4F0 7F0C59C0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0FA4F4 7F0C59C4 AFAD0010 */ sw $t5, 0x10($sp) -/* 0FA4F8 7F0C59C8 0C001145 */ jal get_video2_settings_ulx -/* 0FA4FC 7F0C59CC 00000000 */ nop -/* 0FA500 7F0C59D0 8FB90074 */ lw $t9, 0x74($sp) -/* 0FA504 7F0C59D4 8FAB0078 */ lw $t3, 0x78($sp) -/* 0FA508 7F0C59D8 0059C021 */ addu $t8, $v0, $t9 -/* 0FA50C 7F0C59DC 000B5043 */ sra $t2, $t3, 1 -/* 0FA510 7F0C59E0 030A2023 */ subu $a0, $t8, $t2 -/* 0FA514 7F0C59E4 24840050 */ addiu $a0, $a0, 0x50 -/* 0FA518 7F0C59E8 0C001149 */ jal get_video2_settings_uly -/* 0FA51C 7F0C59EC AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA520 7F0C59F0 8FAE007C */ lw $t6, 0x7c($sp) -/* 0FA524 7F0C59F4 000E4843 */ sra $t1, $t6, 1 -/* 0FA528 7F0C59F8 00496023 */ subu $t4, $v0, $t1 -/* 0FA52C 7F0C59FC 258F004B */ addiu $t7, $t4, 0x4b -/* 0FA530 7F0C5A00 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA534 7F0C5A04 AFAF00C8 */ sw $t7, 0xc8($sp) -/* 0FA538 7F0C5A08 00028400 */ sll $s0, $v0, 0x10 -/* 0FA53C 7F0C5A0C 00106C03 */ sra $t5, $s0, 0x10 -/* 0FA540 7F0C5A10 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA544 7F0C5A14 01A08025 */ move $s0, $t5 -/* 0FA548 7F0C5A18 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall) -/* 0FA54C 7F0C5A1C 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) -/* 0FA550 7F0C5A20 8D6B0EAC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0FA554 7F0C5A24 8F390EB0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9) -/* 0FA558 7F0C5A28 3C1800FF */ lui $t8, (0x00FF00B0 >> 16) # lui $t8, 0xff -/* 0FA55C 7F0C5A2C 371800B0 */ ori $t8, (0x00FF00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0FA560 7F0C5A30 AFB80018 */ sw $t8, 0x18($sp) -/* 0FA564 7F0C5A34 02202025 */ move $a0, $s1 -/* 0FA568 7F0C5A38 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA56C 7F0C5A3C 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA570 7F0C5A40 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA574 7F0C5A44 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA578 7F0C5A48 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA57C 7F0C5A4C AFA00024 */ sw $zero, 0x24($sp) -/* 0FA580 7F0C5A50 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA584 7F0C5A54 AFAB0014 */ sw $t3, 0x14($sp) -/* 0FA588 7F0C5A58 0FC2B6AF */ jal en_text_write_stuff -/* 0FA58C 7F0C5A5C AFB90010 */ sw $t9, 0x10($sp) -/* 0FA590 7F0C5A60 3C038008 */ lui $v1, %hi(pPlayer) -/* 0FA594 7F0C5A64 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0FA598 7F0C5A68 00408825 */ move $s1, $v0 -.L7F0C5A6C: -/* 0FA59C 7F0C5A6C 8C622A14 */ lw $v0, 0x2a14($v1) -/* 0FA5A0 7F0C5A70 27A4007C */ addiu $a0, $sp, 0x7c -/* 0FA5A4 7F0C5A74 27A50078 */ addiu $a1, $sp, 0x78 -/* 0FA5A8 7F0C5A78 10400032 */ beqz $v0, .L7F0C5B44 -/* 0FA5AC 7F0C5A7C 00403025 */ move $a2, $v0 -/* 0FA5B0 7F0C5A80 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableSmall) -/* 0FA5B4 7F0C5A84 8D4A0EAC */ lw $t2, %lo(ptrFirstFontTableSmall)($t2) -/* 0FA5B8 7F0C5A88 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0FA5BC 7F0C5A8C 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA5C0 7F0C5A90 AFA00014 */ sw $zero, 0x14($sp) -/* 0FA5C4 7F0C5A94 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FA5C8 7F0C5A98 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0FA5CC 7F0C5A9C AFAA0010 */ sw $t2, 0x10($sp) -/* 0FA5D0 7F0C5AA0 0C001145 */ jal get_video2_settings_ulx -/* 0FA5D4 7F0C5AA4 00000000 */ nop -/* 0FA5D8 7F0C5AA8 8FAE0074 */ lw $t6, 0x74($sp) -/* 0FA5DC 7F0C5AAC 8FAC0078 */ lw $t4, 0x78($sp) -/* 0FA5E0 7F0C5AB0 004E4821 */ addu $t1, $v0, $t6 -/* 0FA5E4 7F0C5AB4 000C7843 */ sra $t7, $t4, 1 -/* 0FA5E8 7F0C5AB8 012F2023 */ subu $a0, $t1, $t7 -/* 0FA5EC 7F0C5ABC 24840050 */ addiu $a0, $a0, 0x50 -/* 0FA5F0 7F0C5AC0 0C001149 */ jal get_video2_settings_uly -/* 0FA5F4 7F0C5AC4 AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA5F8 7F0C5AC8 8FAD007C */ lw $t5, 0x7c($sp) -/* 0FA5FC 7F0C5ACC 000DC843 */ sra $t9, $t5, 1 -/* 0FA600 7F0C5AD0 00595823 */ subu $t3, $v0, $t9 -/* 0FA604 7F0C5AD4 25780058 */ addiu $t8, $t3, 0x58 -/* 0FA608 7F0C5AD8 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA60C 7F0C5ADC AFB800C8 */ sw $t8, 0xc8($sp) -/* 0FA610 7F0C5AE0 00028400 */ sll $s0, $v0, 0x10 -/* 0FA614 7F0C5AE4 00105403 */ sra $t2, $s0, 0x10 -/* 0FA618 7F0C5AE8 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA61C 7F0C5AEC 01408025 */ move $s0, $t2 -/* 0FA620 7F0C5AF0 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) -/* 0FA624 7F0C5AF4 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) -/* 0FA628 7F0C5AF8 8D8C0EAC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FA62C 7F0C5AFC 8DCE0EB0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0FA630 7F0C5B00 3C0900FF */ lui $t1, (0x00FF00B0 >> 16) # lui $t1, 0xff -/* 0FA634 7F0C5B04 352900B0 */ ori $t1, (0x00FF00B0 & 0xFFFF) # ori $t1, $t1, 0xb0 -/* 0FA638 7F0C5B08 AFA90018 */ sw $t1, 0x18($sp) -/* 0FA63C 7F0C5B0C 02202025 */ move $a0, $s1 -/* 0FA640 7F0C5B10 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA644 7F0C5B14 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA648 7F0C5B18 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA64C 7F0C5B1C AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA650 7F0C5B20 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA654 7F0C5B24 AFA00024 */ sw $zero, 0x24($sp) -/* 0FA658 7F0C5B28 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA65C 7F0C5B2C AFAC0014 */ sw $t4, 0x14($sp) -/* 0FA660 7F0C5B30 0FC2B6AF */ jal en_text_write_stuff -/* 0FA664 7F0C5B34 AFAE0010 */ sw $t6, 0x10($sp) -/* 0FA668 7F0C5B38 3C038008 */ lui $v1, %hi(pPlayer) -/* 0FA66C 7F0C5B3C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0FA670 7F0C5B40 00408825 */ move $s1, $v0 -.L7F0C5B44: -/* 0FA674 7F0C5B44 8C6F29C8 */ lw $t7, 0x29c8($v1) -.L7F0C5B48: -/* 0FA678 7F0C5B48 24010006 */ li $at, 6 -/* 0FA67C 7F0C5B4C 15E100B0 */ bne $t7, $at, .L7F0C5E10 -/* 0FA680 7F0C5B50 00000000 */ nop -/* 0FA684 7F0C5B54 0FC30776 */ jal get_textptr_for_textID -/* 0FA688 7F0C5B58 3404A020 */ li $a0, 40992 -/* 0FA68C 7F0C5B5C 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) -/* 0FA690 7F0C5B60 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FA694 7F0C5B64 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0FA698 7F0C5B68 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FA69C 7F0C5B6C 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA6A0 7F0C5B70 27A400BC */ addiu $a0, $sp, 0xbc -/* 0FA6A4 7F0C5B74 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0FA6A8 7F0C5B78 00403025 */ move $a2, $v0 -/* 0FA6AC 7F0C5B7C AFA00014 */ sw $zero, 0x14($sp) -/* 0FA6B0 7F0C5B80 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0FA6B4 7F0C5B84 AFAD0010 */ sw $t5, 0x10($sp) -/* 0FA6B8 7F0C5B88 0C001145 */ jal get_video2_settings_ulx -/* 0FA6BC 7F0C5B8C 00000000 */ nop -/* 0FA6C0 7F0C5B90 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0FA6C4 7F0C5B94 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0FA6C8 7F0C5B98 00595821 */ addu $t3, $v0, $t9 -/* 0FA6CC 7F0C5B9C 00185043 */ sra $t2, $t8, 1 -/* 0FA6D0 7F0C5BA0 016A2023 */ subu $a0, $t3, $t2 -/* 0FA6D4 7F0C5BA4 24840036 */ addiu $a0, $a0, 0x36 -/* 0FA6D8 7F0C5BA8 0C001149 */ jal get_video2_settings_uly -/* 0FA6DC 7F0C5BAC AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA6E0 7F0C5BB0 8FAE00BC */ lw $t6, 0xbc($sp) -/* 0FA6E4 7F0C5BB4 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 0FA6E8 7F0C5BB8 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 0FA6EC 7F0C5BBC 000E6043 */ sra $t4, $t6, 1 -/* 0FA6F0 7F0C5BC0 004C4823 */ subu $t1, $v0, $t4 -/* 0FA6F4 7F0C5BC4 252F0036 */ addiu $t7, $t1, 0x36 -/* 0FA6F8 7F0C5BC8 AFAF00C8 */ sw $t7, 0xc8($sp) -/* 0FA6FC 7F0C5BCC 8DB929CC */ lw $t9, 0x29cc($t5) -/* 0FA700 7F0C5BD0 1720001E */ bnez $t9, .L7F0C5C4C -/* 0FA704 7F0C5BD4 00000000 */ nop -/* 0FA708 7F0C5BD8 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA70C 7F0C5BDC 00000000 */ nop -/* 0FA710 7F0C5BE0 00028400 */ sll $s0, $v0, 0x10 -/* 0FA714 7F0C5BE4 0010C403 */ sra $t8, $s0, 0x10 -/* 0FA718 7F0C5BE8 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA71C 7F0C5BEC 03008025 */ move $s0, $t8 -/* 0FA720 7F0C5BF0 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableSmall) -/* 0FA724 7F0C5BF4 3C0A8004 */ lui $t2, %hi(ptrFirstFontTableSmall) -/* 0FA728 7F0C5BF8 8D4A0EAC */ lw $t2, %lo(ptrFirstFontTableSmall)($t2) -/* 0FA72C 7F0C5BFC 8D6B0EB0 */ lw $t3, %lo(ptrSecondFontTableSmall)($t3) -/* 0FA730 7F0C5C00 3C0EA0FF */ lui $t6, (0xA0FFA0F0 >> 16) # lui $t6, 0xa0ff -/* 0FA734 7F0C5C04 3C0C0070 */ lui $t4, (0x007000A0 >> 16) # lui $t4, 0x70 -/* 0FA738 7F0C5C08 358C00A0 */ ori $t4, (0x007000A0 & 0xFFFF) # ori $t4, $t4, 0xa0 -/* 0FA73C 7F0C5C0C 35CEA0F0 */ ori $t6, (0xA0FFA0F0 & 0xFFFF) # ori $t6, $t6, 0xa0f0 -/* 0FA740 7F0C5C10 AFAE0018 */ sw $t6, 0x18($sp) -/* 0FA744 7F0C5C14 AFAC001C */ sw $t4, 0x1c($sp) -/* 0FA748 7F0C5C18 02202025 */ move $a0, $s1 -/* 0FA74C 7F0C5C1C 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA750 7F0C5C20 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA754 7F0C5C24 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA758 7F0C5C28 AFB00020 */ sw $s0, 0x20($sp) -/* 0FA75C 7F0C5C2C AFA20024 */ sw $v0, 0x24($sp) -/* 0FA760 7F0C5C30 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA764 7F0C5C34 AFA0002C */ sw $zero, 0x2c($sp) -/* 0FA768 7F0C5C38 AFAA0014 */ sw $t2, 0x14($sp) -/* 0FA76C 7F0C5C3C 0FC2B9BB */ jal jp_text_write_stuff -/* 0FA770 7F0C5C40 AFAB0010 */ sw $t3, 0x10($sp) -/* 0FA774 7F0C5C44 1000001A */ b .L7F0C5CB0 -/* 0FA778 7F0C5C48 00408825 */ move $s1, $v0 -.L7F0C5C4C: -/* 0FA77C 7F0C5C4C 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA780 7F0C5C50 00000000 */ nop -/* 0FA784 7F0C5C54 00028400 */ sll $s0, $v0, 0x10 -/* 0FA788 7F0C5C58 00104C03 */ sra $t1, $s0, 0x10 -/* 0FA78C 7F0C5C5C 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA790 7F0C5C60 01208025 */ move $s0, $t1 -/* 0FA794 7F0C5C64 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0FA798 7F0C5C68 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) -/* 0FA79C 7F0C5C6C 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FA7A0 7F0C5C70 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0FA7A4 7F0C5C74 3C1900FF */ lui $t9, (0x00FF00B0 >> 16) # lui $t9, 0xff -/* 0FA7A8 7F0C5C78 373900B0 */ ori $t9, (0x00FF00B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0FA7AC 7F0C5C7C AFB90018 */ sw $t9, 0x18($sp) -/* 0FA7B0 7F0C5C80 02202025 */ move $a0, $s1 -/* 0FA7B4 7F0C5C84 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA7B8 7F0C5C88 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA7BC 7F0C5C8C 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA7C0 7F0C5C90 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA7C4 7F0C5C94 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA7C8 7F0C5C98 AFA00024 */ sw $zero, 0x24($sp) -/* 0FA7CC 7F0C5C9C AFA00028 */ sw $zero, 0x28($sp) -/* 0FA7D0 7F0C5CA0 AFAD0014 */ sw $t5, 0x14($sp) -/* 0FA7D4 7F0C5CA4 0FC2B6AF */ jal en_text_write_stuff -/* 0FA7D8 7F0C5CA8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0FA7DC 7F0C5CAC 00408825 */ move $s1, $v0 -.L7F0C5CB0: -/* 0FA7E0 7F0C5CB0 0FC30776 */ jal get_textptr_for_textID -/* 0FA7E4 7F0C5CB4 3404A021 */ li $a0, 40993 -/* 0FA7E8 7F0C5CB8 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0FA7EC 7F0C5CBC 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0FA7F0 7F0C5CC0 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0FA7F4 7F0C5CC4 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FA7F8 7F0C5CC8 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA7FC 7F0C5CCC 27A400BC */ addiu $a0, $sp, 0xbc -/* 0FA800 7F0C5CD0 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0FA804 7F0C5CD4 00403025 */ move $a2, $v0 -/* 0FA808 7F0C5CD8 AFA00014 */ sw $zero, 0x14($sp) -/* 0FA80C 7F0C5CDC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0FA810 7F0C5CE0 AFB80010 */ sw $t8, 0x10($sp) -/* 0FA814 7F0C5CE4 0C001145 */ jal get_video2_settings_ulx -/* 0FA818 7F0C5CE8 00000000 */ nop -/* 0FA81C 7F0C5CEC 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0FA820 7F0C5CF0 8FAE00C0 */ lw $t6, 0xc0($sp) -/* 0FA824 7F0C5CF4 004B5021 */ addu $t2, $v0, $t3 -/* 0FA828 7F0C5CF8 000E6043 */ sra $t4, $t6, 1 -/* 0FA82C 7F0C5CFC 014C2023 */ subu $a0, $t2, $t4 -/* 0FA830 7F0C5D00 24840068 */ addiu $a0, $a0, 0x68 -/* 0FA834 7F0C5D04 0C001149 */ jal get_video2_settings_uly -/* 0FA838 7F0C5D08 AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA83C 7F0C5D0C 8FA900BC */ lw $t1, 0xbc($sp) -/* 0FA840 7F0C5D10 3C188008 */ lui $t8, %hi(pPlayer) -/* 0FA844 7F0C5D14 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0FA848 7F0C5D18 00097843 */ sra $t7, $t1, 1 -/* 0FA84C 7F0C5D1C 004F6823 */ subu $t5, $v0, $t7 -/* 0FA850 7F0C5D20 25B90036 */ addiu $t9, $t5, 0x36 -/* 0FA854 7F0C5D24 AFB900C8 */ sw $t9, 0xc8($sp) -/* 0FA858 7F0C5D28 8F0B29CC */ lw $t3, 0x29cc($t8) -/* 0FA85C 7F0C5D2C 24010001 */ li $at, 1 -/* 0FA860 7F0C5D30 1561001E */ bne $t3, $at, .L7F0C5DAC -/* 0FA864 7F0C5D34 00000000 */ nop -/* 0FA868 7F0C5D38 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA86C 7F0C5D3C 00000000 */ nop -/* 0FA870 7F0C5D40 00028400 */ sll $s0, $v0, 0x10 -/* 0FA874 7F0C5D44 00107403 */ sra $t6, $s0, 0x10 -/* 0FA878 7F0C5D48 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA87C 7F0C5D4C 01C08025 */ move $s0, $t6 -/* 0FA880 7F0C5D50 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableSmall) -/* 0FA884 7F0C5D54 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) -/* 0FA888 7F0C5D58 8D8C0EAC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FA88C 7F0C5D5C 8D4A0EB0 */ lw $t2, %lo(ptrSecondFontTableSmall)($t2) -/* 0FA890 7F0C5D60 3C09A0FF */ lui $t1, (0xA0FFA0F0 >> 16) # lui $t1, 0xa0ff -/* 0FA894 7F0C5D64 3C0F0070 */ lui $t7, (0x007000A0 >> 16) # lui $t7, 0x70 -/* 0FA898 7F0C5D68 35EF00A0 */ ori $t7, (0x007000A0 & 0xFFFF) # ori $t7, $t7, 0xa0 -/* 0FA89C 7F0C5D6C 3529A0F0 */ ori $t1, (0xA0FFA0F0 & 0xFFFF) # ori $t1, $t1, 0xa0f0 -/* 0FA8A0 7F0C5D70 AFA90018 */ sw $t1, 0x18($sp) -/* 0FA8A4 7F0C5D74 AFAF001C */ sw $t7, 0x1c($sp) -/* 0FA8A8 7F0C5D78 02202025 */ move $a0, $s1 -/* 0FA8AC 7F0C5D7C 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA8B0 7F0C5D80 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA8B4 7F0C5D84 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA8B8 7F0C5D88 AFB00020 */ sw $s0, 0x20($sp) -/* 0FA8BC 7F0C5D8C AFA20024 */ sw $v0, 0x24($sp) -/* 0FA8C0 7F0C5D90 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA8C4 7F0C5D94 AFA0002C */ sw $zero, 0x2c($sp) -/* 0FA8C8 7F0C5D98 AFAC0014 */ sw $t4, 0x14($sp) -/* 0FA8CC 7F0C5D9C 0FC2B9BB */ jal jp_text_write_stuff -/* 0FA8D0 7F0C5DA0 AFAA0010 */ sw $t2, 0x10($sp) -/* 0FA8D4 7F0C5DA4 1000001A */ b .L7F0C5E10 -/* 0FA8D8 7F0C5DA8 00408825 */ move $s1, $v0 -.L7F0C5DAC: -/* 0FA8DC 7F0C5DAC 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA8E0 7F0C5DB0 00000000 */ nop -/* 0FA8E4 7F0C5DB4 00028400 */ sll $s0, $v0, 0x10 -/* 0FA8E8 7F0C5DB8 00106C03 */ sra $t5, $s0, 0x10 -/* 0FA8EC 7F0C5DBC 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA8F0 7F0C5DC0 01A08025 */ move $s0, $t5 -/* 0FA8F4 7F0C5DC4 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall) -/* 0FA8F8 7F0C5DC8 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) -/* 0FA8FC 7F0C5DCC 8F180EAC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0FA900 7F0C5DD0 8F390EB0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9) -/* 0FA904 7F0C5DD4 3C0B00FF */ lui $t3, (0x00FF00B0 >> 16) # lui $t3, 0xff -/* 0FA908 7F0C5DD8 356B00B0 */ ori $t3, (0x00FF00B0 & 0xFFFF) # ori $t3, $t3, 0xb0 -/* 0FA90C 7F0C5DDC AFAB0018 */ sw $t3, 0x18($sp) -/* 0FA910 7F0C5DE0 02202025 */ move $a0, $s1 -/* 0FA914 7F0C5DE4 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA918 7F0C5DE8 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA91C 7F0C5DEC 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA920 7F0C5DF0 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA924 7F0C5DF4 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA928 7F0C5DF8 AFA00024 */ sw $zero, 0x24($sp) -/* 0FA92C 7F0C5DFC AFA00028 */ sw $zero, 0x28($sp) -/* 0FA930 7F0C5E00 AFB80014 */ sw $t8, 0x14($sp) -/* 0FA934 7F0C5E04 0FC2B6AF */ jal en_text_write_stuff -/* 0FA938 7F0C5E08 AFB90010 */ sw $t9, 0x10($sp) -/* 0FA93C 7F0C5E0C 00408825 */ move $s1, $v0 -.L7F0C5E10: -/* 0FA940 7F0C5E10 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 0FA944 7F0C5E14 02202025 */ move $a0, $s1 -/* 0FA948 7F0C5E18 10000085 */ b .L7F0C6030 -/* 0FA94C 7F0C5E1C 00408825 */ move $s1, $v0 -/* 0FA950 7F0C5E20 8C6E00D8 */ lw $t6, 0xd8($v1) -.L7F0C5E24: -/* 0FA954 7F0C5E24 51C00083 */ beql $t6, $zero, .L7F0C6034 -/* 0FA958 7F0C5E28 02201025 */ move $v0, $s1 -/* 0FA95C 7F0C5E2C 8C6A0428 */ lw $t2, 0x428($v1) -/* 0FA960 7F0C5E30 51400080 */ beql $t2, $zero, .L7F0C6034 -/* 0FA964 7F0C5E34 02201025 */ move $v0, $s1 -/* 0FA968 7F0C5E38 8C6C0424 */ lw $t4, 0x424($v1) -/* 0FA96C 7F0C5E3C 3C098009 */ lui $t1, %hi(stop_play_flag) -/* 0FA970 7F0C5E40 5180007C */ beql $t4, $zero, .L7F0C6034 -/* 0FA974 7F0C5E44 02201025 */ move $v0, $s1 -/* 0FA978 7F0C5E48 8D29C700 */ lw $t1, %lo(stop_play_flag)($t1) -/* 0FA97C 7F0C5E4C 3C0F8009 */ lui $t7, %hi(is_gameover_flag) -/* 0FA980 7F0C5E50 55200078 */ bnezl $t1, .L7F0C6034 -/* 0FA984 7F0C5E54 02201025 */ move $v0, $s1 -/* 0FA988 7F0C5E58 8DEFC704 */ lw $t7, %lo(is_gameover_flag)($t7) -/* 0FA98C 7F0C5E5C 00002025 */ move $a0, $zero -/* 0FA990 7F0C5E60 55E00074 */ bnezl $t7, .L7F0C6034 -/* 0FA994 7F0C5E64 02201025 */ move $v0, $s1 -/* 0FA998 7F0C5E68 18400028 */ blez $v0, .L7F0C5F0C -/* 0FA99C 7F0C5E6C 00002825 */ move $a1, $zero -/* 0FA9A0 7F0C5E70 30470003 */ andi $a3, $v0, 3 -/* 0FA9A4 7F0C5E74 10E00011 */ beqz $a3, .L7F0C5EBC -/* 0FA9A8 7F0C5E78 00E03025 */ move $a2, $a3 -/* 0FA9AC 7F0C5E7C 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0FA9B0 7F0C5E80 000068C0 */ sll $t5, $zero, 3 -/* 0FA9B4 7F0C5E84 01A06823 */ subu $t5, $t5, $zero -/* 0FA9B8 7F0C5E88 000D6900 */ sll $t5, $t5, 4 -/* 0FA9BC 7F0C5E8C 3C0E8008 */ lui $t6, %hi(player1_player_data) -/* 0FA9C0 7F0C5E90 0019C080 */ sll $t8, $t9, 2 -/* 0FA9C4 7F0C5E94 01B85821 */ addu $t3, $t5, $t8 -/* 0FA9C8 7F0C5E98 25CE9EF0 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x6110 -/* 0FA9CC 7F0C5E9C 016E1821 */ addu $v1, $t3, $t6 -.L7F0C5EA0: -/* 0FA9D0 7F0C5EA0 8C6A0024 */ lw $t2, 0x24($v1) -/* 0FA9D4 7F0C5EA4 24A50001 */ addiu $a1, $a1, 1 -/* 0FA9D8 7F0C5EA8 24630070 */ addiu $v1, $v1, 0x70 -/* 0FA9DC 7F0C5EAC 14C5FFFC */ bne $a2, $a1, .L7F0C5EA0 -/* 0FA9E0 7F0C5EB0 008A2021 */ addu $a0, $a0, $t2 -/* 0FA9E4 7F0C5EB4 10A20015 */ beq $a1, $v0, .L7F0C5F0C -/* 0FA9E8 7F0C5EB8 00000000 */ nop -.L7F0C5EBC: -/* 0FA9EC 7F0C5EBC 8FA900D4 */ lw $t1, 0xd4($sp) -/* 0FA9F0 7F0C5EC0 000560C0 */ sll $t4, $a1, 3 -/* 0FA9F4 7F0C5EC4 01856023 */ subu $t4, $t4, $a1 -/* 0FA9F8 7F0C5EC8 000C6100 */ sll $t4, $t4, 4 -/* 0FA9FC 7F0C5ECC 3C0D8008 */ lui $t5, %hi(player1_player_data) -/* 0FAA00 7F0C5ED0 00097880 */ sll $t7, $t1, 2 -/* 0FAA04 7F0C5ED4 018FC821 */ addu $t9, $t4, $t7 -/* 0FAA08 7F0C5ED8 25AD9EF0 */ addiu $t5, %lo(player1_player_data) # addiu $t5, $t5, -0x6110 -/* 0FAA0C 7F0C5EDC 032D1821 */ addu $v1, $t9, $t5 -.L7F0C5EE0: -/* 0FAA10 7F0C5EE0 8C780024 */ lw $t8, 0x24($v1) -/* 0FAA14 7F0C5EE4 8C6B0094 */ lw $t3, 0x94($v1) -/* 0FAA18 7F0C5EE8 8C6E0104 */ lw $t6, 0x104($v1) -/* 0FAA1C 7F0C5EEC 00982021 */ addu $a0, $a0, $t8 -/* 0FAA20 7F0C5EF0 8C6A0174 */ lw $t2, 0x174($v1) -/* 0FAA24 7F0C5EF4 008B2021 */ addu $a0, $a0, $t3 -/* 0FAA28 7F0C5EF8 24A50004 */ addiu $a1, $a1, 4 -/* 0FAA2C 7F0C5EFC 008E2021 */ addu $a0, $a0, $t6 -/* 0FAA30 7F0C5F00 246301C0 */ addiu $v1, $v1, 0x1c0 -/* 0FAA34 7F0C5F04 14A8FFF6 */ bne $a1, $t0, .L7F0C5EE0 -/* 0FAA38 7F0C5F08 008A2021 */ addu $a0, $a0, $t2 -.L7F0C5F0C: -/* 0FAA3C 7F0C5F0C 0FC051D6 */ jal get_scenario -/* 0FAA40 7F0C5F10 AFA40058 */ sw $a0, 0x58($sp) -/* 0FAA44 7F0C5F14 24010001 */ li $at, 1 -/* 0FAA48 7F0C5F18 14410004 */ bne $v0, $at, .L7F0C5F2C -/* 0FAA4C 7F0C5F1C 8FA40058 */ lw $a0, 0x58($sp) -/* 0FAA50 7F0C5F20 28810002 */ slti $at, $a0, 2 -/* 0FAA54 7F0C5F24 50200043 */ beql $at, $zero, .L7F0C6034 -/* 0FAA58 7F0C5F28 02201025 */ move $v0, $s1 -.L7F0C5F2C: -/* 0FAA5C 7F0C5F2C 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 0FAA60 7F0C5F30 02202025 */ move $a0, $s1 -/* 0FAA64 7F0C5F34 0FC2B366 */ jal microcode_constructor -/* 0FAA68 7F0C5F38 00402025 */ move $a0, $v0 -/* 0FAA6C 7F0C5F3C 00408825 */ move $s1, $v0 -/* 0FAA70 7F0C5F40 0FC30776 */ jal get_textptr_for_textID -/* 0FAA74 7F0C5F44 3404A022 */ li $a0, 40994 -/* 0FAA78 7F0C5F48 3C098004 */ lui $t1, %hi(ptrFirstFontTableSmall) -/* 0FAA7C 7F0C5F4C 8D290EAC */ lw $t1, %lo(ptrFirstFontTableSmall)($t1) -/* 0FAA80 7F0C5F50 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0FAA84 7F0C5F54 AFA20060 */ sw $v0, 0x60($sp) -/* 0FAA88 7F0C5F58 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FAA8C 7F0C5F5C 27A40064 */ addiu $a0, $sp, 0x64 -/* 0FAA90 7F0C5F60 27A50068 */ addiu $a1, $sp, 0x68 -/* 0FAA94 7F0C5F64 00403025 */ move $a2, $v0 -/* 0FAA98 7F0C5F68 AFA00014 */ sw $zero, 0x14($sp) -/* 0FAA9C 7F0C5F6C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0FAAA0 7F0C5F70 AFA90010 */ sw $t1, 0x10($sp) -/* 0FAAA4 7F0C5F74 0C001145 */ jal get_video2_settings_ulx -/* 0FAAA8 7F0C5F78 00000000 */ nop -/* 0FAAAC 7F0C5F7C 0C001127 */ jal get_video2_settings_width -/* 0FAAB0 7F0C5F80 A7A20056 */ sh $v0, 0x56($sp) -/* 0FAAB4 7F0C5F84 87A30056 */ lh $v1, 0x56($sp) -/* 0FAAB8 7F0C5F88 8FAD0068 */ lw $t5, 0x68($sp) -/* 0FAABC 7F0C5F8C 00027843 */ sra $t7, $v0, 1 -/* 0FAAC0 7F0C5F90 01E3C821 */ addu $t9, $t7, $v1 -/* 0FAAC4 7F0C5F94 000DC043 */ sra $t8, $t5, 1 -/* 0FAAC8 7F0C5F98 03385823 */ subu $t3, $t9, $t8 -/* 0FAACC 7F0C5F9C 0C001149 */ jal get_video2_settings_uly -/* 0FAAD0 7F0C5FA0 AFAB0070 */ sw $t3, 0x70($sp) -/* 0FAAD4 7F0C5FA4 0C00112B */ jal get_video2_settings_height -/* 0FAAD8 7F0C5FA8 A7A20056 */ sh $v0, 0x56($sp) -/* 0FAADC 7F0C5FAC 87A30056 */ lh $v1, 0x56($sp) -/* 0FAAE0 7F0C5FB0 8FAC0064 */ lw $t4, 0x64($sp) -/* 0FAAE4 7F0C5FB4 00025043 */ sra $t2, $v0, 1 -/* 0FAAE8 7F0C5FB8 01434821 */ addu $t1, $t2, $v1 -/* 0FAAEC 7F0C5FBC 000C7843 */ sra $t7, $t4, 1 -/* 0FAAF0 7F0C5FC0 012F6823 */ subu $t5, $t1, $t7 -/* 0FAAF4 7F0C5FC4 0C001107 */ jal get_video2_settings_txtClipW -/* 0FAAF8 7F0C5FC8 AFAD006C */ sw $t5, 0x6c($sp) -/* 0FAAFC 7F0C5FCC 00028400 */ sll $s0, $v0, 0x10 -/* 0FAB00 7F0C5FD0 0010CC03 */ sra $t9, $s0, 0x10 -/* 0FAB04 7F0C5FD4 0C00110B */ jal get_video2_settings_txtClipH -/* 0FAB08 7F0C5FD8 03208025 */ move $s0, $t9 -/* 0FAB0C 7F0C5FDC 3C188004 */ lui $t8, %hi(ptrSecondFontTableSmall) -/* 0FAB10 7F0C5FE0 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) -/* 0FAB14 7F0C5FE4 8D6B0EAC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0FAB18 7F0C5FE8 8F180EB0 */ lw $t8, %lo(ptrSecondFontTableSmall)($t8) -/* 0FAB1C 7F0C5FEC 3C0E00FF */ lui $t6, (0x00FF00B0 >> 16) # lui $t6, 0xff -/* 0FAB20 7F0C5FF0 35CE00B0 */ ori $t6, (0x00FF00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0FAB24 7F0C5FF4 AFAE0018 */ sw $t6, 0x18($sp) -/* 0FAB28 7F0C5FF8 02202025 */ move $a0, $s1 -/* 0FAB2C 7F0C5FFC 27A50070 */ addiu $a1, $sp, 0x70 -/* 0FAB30 7F0C6000 27A6006C */ addiu $a2, $sp, 0x6c -/* 0FAB34 7F0C6004 8FA70060 */ lw $a3, 0x60($sp) -/* 0FAB38 7F0C6008 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FAB3C 7F0C600C AFA20020 */ sw $v0, 0x20($sp) -/* 0FAB40 7F0C6010 AFA00024 */ sw $zero, 0x24($sp) -/* 0FAB44 7F0C6014 AFA00028 */ sw $zero, 0x28($sp) -/* 0FAB48 7F0C6018 AFAB0014 */ sw $t3, 0x14($sp) -/* 0FAB4C 7F0C601C 0FC2B6AF */ jal en_text_write_stuff -/* 0FAB50 7F0C6020 AFB80010 */ sw $t8, 0x10($sp) -/* 0FAB54 7F0C6024 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 0FAB58 7F0C6028 00402025 */ move $a0, $v0 -/* 0FAB5C 7F0C602C 00408825 */ move $s1, $v0 -.L7F0C6030: -/* 0FAB60 7F0C6030 02201025 */ move $v0, $s1 -.L7F0C6034: -/* 0FAB64 7F0C6034 8FBF003C */ lw $ra, 0x3c($sp) -/* 0FAB68 7F0C6038 8FB00034 */ lw $s0, 0x34($sp) -/* 0FAB6C 7F0C603C 8FB10038 */ lw $s1, 0x38($sp) -/* 0FAB70 7F0C6040 03E00008 */ jr $ra -/* 0FAB74 7F0C6044 27BD00D8 */ addiu $sp, $sp, 0xd8 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -/*jtbl hacks*/ -.word not_yolt_tld - -/*D:8005BD00*/ -glabel jpt_MP_menu_window_text -.word text_play -.word text_play -.word text_play -.word text_play -.word text_pause_unpause -.word text_exit -.word text_exit -.word text_blank - -.text -glabel mp_watch_menu_display -/* 0F9844 7F0C4CD4 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 0F9848 7F0C4CD8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0F984C 7F0C4CDC AFB10038 */ sw $s1, 0x38($sp) -/* 0F9850 7F0C4CE0 00808825 */ move $s1, $a0 -/* 0F9854 7F0C4CE4 0FC26F3C */ jal get_cur_playernum -/* 0F9858 7F0C4CE8 AFB00034 */ sw $s0, 0x34($sp) -/* 0F985C 7F0C4CEC 0FC26C01 */ jal get_num_players -/* 0F9860 7F0C4CF0 AFA200D4 */ sw $v0, 0xd4($sp) -/* 0F9864 7F0C4CF4 24010001 */ li $at, 1 -/* 0F9868 7F0C4CF8 00404025 */ move $t0, $v0 -/* 0F986C 7F0C4CFC 14410003 */ bne $v0, $at, .Ljp7F0C4D0C -/* 0F9870 7F0C4D00 00008025 */ move $s0, $zero -/* 0F9874 7F0C4D04 10000804 */ b .Ljp7F0C6D18 -/* 0F9878 7F0C4D08 02201025 */ move $v0, $s1 -.Ljp7F0C4D0C: -/* 0F987C 7F0C4D0C 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0F9880 7F0C4D10 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0F9884 7F0C4D14 02202025 */ move $a0, $s1 -/* 0F9888 7F0C4D18 8C6E29C4 */ lw $t6, 0x29c4($v1) -/* 0F988C 7F0C4D1C 51C0076D */ beql $t6, $zero, .Ljp7F0C6AD4 -/* 0F9890 7F0C4D20 8C6C00D8 */ lw $t4, 0xd8($v1) -/* 0F9894 7F0C4D24 0FC2B652 */ jal microcode_constructor -/* 0F9898 7F0C4D28 AFA800D0 */ sw $t0, 0xd0($sp) -/* 0F989C 7F0C4D2C 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0F98A0 7F0C4D30 24010002 */ li $at, 2 -/* 0F98A4 7F0C4D34 00408825 */ move $s1, $v0 -/* 0F98A8 7F0C4D38 15E10004 */ bne $t7, $at, .Ljp7F0C4D4C -/* 0F98AC 7F0C4D3C 3C198008 */ lui $t9, %hi(pPlayer) # $t9, 0x8008 -/* 0F98B0 7F0C4D40 24180050 */ li $t8, 80 -/* 0F98B4 7F0C4D44 10000002 */ b .Ljp7F0C4D50 -/* 0F98B8 7F0C4D48 AFB800A8 */ sw $t8, 0xa8($sp) -.Ljp7F0C4D4C: -/* 0F98BC 7F0C4D4C AFA000A8 */ sw $zero, 0xa8($sp) -.Ljp7F0C4D50: -/* 0F98C0 7F0C4D50 8F39A120 */ lw $t9, %lo(pPlayer)($t9) -/* 0F98C4 7F0C4D54 8F2B29C8 */ lw $t3, 0x29c8($t9) -/* 0F98C8 7F0C4D58 2D610008 */ sltiu $at, $t3, 8 -/* 0F98CC 7F0C4D5C 10200038 */ beqz $at, .Ljp7F0C4E40 -/* 0F98D0 7F0C4D60 000B5880 */ sll $t3, $t3, 2 -/* 0F98D4 7F0C4D64 3C018006 */ lui $at, %hi(jpt_MP_menu_window_text) -/* 0F98D8 7F0C4D68 002B0821 */ addu $at, $at, $t3 -/* 0F98DC 7F0C4D6C 8C2BBD40 */ lw $t3, %lo(jpt_MP_menu_window_text)($at) -/* 0F98E0 7F0C4D70 01600008 */ jr $t3 -/* 0F98E4 7F0C4D74 00000000 */ nop -text_play: -/* 0F98E8 7F0C4D78 3C0C8009 */ lui $t4, %hi(is_gameover_flag) # $t4, 0x8009 -/* 0F98EC 7F0C4D7C 8D8CC774 */ lw $t4, %lo(is_gameover_flag)($t4) -/* 0F98F0 7F0C4D80 3C0D8009 */ lui $t5, %hi(time_trigger_alt_gameover_msg) # $t5, 0x8009 -/* 0F98F4 7F0C4D84 15800005 */ bnez $t4, .Ljp7F0C4D9C -/* 0F98F8 7F0C4D88 00000000 */ nop -/* 0F98FC 7F0C4D8C 0FC30AA2 */ jal get_textptr_for_textID -/* 0F9900 7F0C4D90 3404A015 */ li $a0, 40981 -/* 0F9904 7F0C4D94 1000002A */ b .Ljp7F0C4E40 -/* 0F9908 7F0C4D98 AFA200A4 */ sw $v0, 0xa4($sp) -.Ljp7F0C4D9C: -/* 0F990C 7F0C4D9C 8DADC780 */ lw $t5, %lo(time_trigger_alt_gameover_msg)($t5) -/* 0F9910 7F0C4DA0 11A00005 */ beqz $t5, .Ljp7F0C4DB8 -/* 0F9914 7F0C4DA4 00000000 */ nop -/* 0F9918 7F0C4DA8 0FC30AA2 */ jal get_textptr_for_textID -/* 0F991C 7F0C4DAC 3404A016 */ li $a0, 40982 -/* 0F9920 7F0C4DB0 10000023 */ b .Ljp7F0C4E40 -/* 0F9924 7F0C4DB4 AFA200A4 */ sw $v0, 0xa4($sp) -.Ljp7F0C4DB8: -/* 0F9928 7F0C4DB8 0FC30AA2 */ jal get_textptr_for_textID -/* 0F992C 7F0C4DBC 3404A017 */ li $a0, 40983 -/* 0F9930 7F0C4DC0 1000001F */ b .Ljp7F0C4E40 -/* 0F9934 7F0C4DC4 AFA200A4 */ sw $v0, 0xa4($sp) -text_blank: -/* 0F9938 7F0C4DC8 3C0E8006 */ lui $t6, %hi(ascii_MP_watch_menu_BLANK) # $t6, 0x8006 -/* 0F993C 7F0C4DCC 25CEBC64 */ addiu $t6, %lo(ascii_MP_watch_menu_BLANK) # addiu $t6, $t6, -0x439c -/* 0F9940 7F0C4DD0 1000001B */ b .Ljp7F0C4E40 -/* 0F9944 7F0C4DD4 AFAE00A4 */ sw $t6, 0xa4($sp) -text_pause_unpause: -/* 0F9948 7F0C4DD8 3C0F8009 */ lui $t7, %hi(is_paused) # $t7, 0x8009 -/* 0F994C 7F0C4DDC 8DEFC788 */ lw $t7, %lo(is_paused)($t7) -/* 0F9950 7F0C4DE0 11E0000B */ beqz $t7, .Ljp7F0C4E10 -/* 0F9954 7F0C4DE4 00000000 */ nop -/* 0F9958 7F0C4DE8 0FC30AA2 */ jal get_textptr_for_textID -/* 0F995C 7F0C4DEC 3404A018 */ li $a0, 40984 -/* 0F9960 7F0C4DF0 0FC26F3C */ jal get_cur_playernum -/* 0F9964 7F0C4DF4 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0F9968 7F0C4DF8 3C188009 */ lui $t8, %hi(who_paused) # $t8, 0x8009 -/* 0F996C 7F0C4DFC 8F18C78C */ lw $t8, %lo(who_paused)($t8) -/* 0F9970 7F0C4E00 1458000F */ bne $v0, $t8, .Ljp7F0C4E40 -/* 0F9974 7F0C4E04 00000000 */ nop -/* 0F9978 7F0C4E08 1000000D */ b .Ljp7F0C4E40 -/* 0F997C 7F0C4E0C 24100001 */ li $s0, 1 -.Ljp7F0C4E10: -/* 0F9980 7F0C4E10 0FC30AA2 */ jal get_textptr_for_textID -/* 0F9984 7F0C4E14 3404A019 */ li $a0, 40985 -/* 0F9988 7F0C4E18 10000009 */ b .Ljp7F0C4E40 -/* 0F998C 7F0C4E1C AFA200A4 */ sw $v0, 0xa4($sp) -text_exit: -/* 0F9990 7F0C4E20 0FC30AA2 */ jal get_textptr_for_textID -/* 0F9994 7F0C4E24 3404A01A */ li $a0, 40986 -/* 0F9998 7F0C4E28 0C001145 */ jal get_video2_settings_ulx -/* 0F999C 7F0C4E2C AFA200A4 */ sw $v0, 0xa4($sp) -/* 0F99A0 7F0C4E30 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0F99A4 7F0C4E34 00592021 */ addu $a0, $v0, $t9 -/* 0F99A8 7F0C4E38 24840041 */ addiu $a0, $a0, 0x41 -/* 0F99AC 7F0C4E3C AFA400CC */ sw $a0, 0xcc($sp) -def_7F0C40C0: -.Ljp7F0C4E40: -/* 0F99B0 7F0C4E40 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) # $t3, 0x8004 -/* 0F99B4 7F0C4E44 8D6B0EDC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0F99B8 7F0C4E48 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0F99BC 7F0C4E4C 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F99C0 7F0C4E50 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F99C4 7F0C4E54 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F99C8 7F0C4E58 8FA600A4 */ lw $a2, 0xa4($sp) -/* 0F99CC 7F0C4E5C AFA00014 */ sw $zero, 0x14($sp) -/* 0F99D0 7F0C4E60 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0F99D4 7F0C4E64 AFAB0010 */ sw $t3, 0x10($sp) -/* 0F99D8 7F0C4E68 0C001145 */ jal get_video2_settings_ulx -/* 0F99DC 7F0C4E6C 00000000 */ nop -/* 0F99E0 7F0C4E70 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0F99E4 7F0C4E74 8FAE00C0 */ lw $t6, 0xc0($sp) -/* 0F99E8 7F0C4E78 004C6821 */ addu $t5, $v0, $t4 -/* 0F99EC 7F0C4E7C 000E7843 */ sra $t7, $t6, 1 -/* 0F99F0 7F0C4E80 01AF2023 */ subu $a0, $t5, $t7 -/* 0F99F4 7F0C4E84 24840050 */ addiu $a0, $a0, 0x50 -/* 0F99F8 7F0C4E88 0C001149 */ jal get_video2_settings_uly -/* 0F99FC 7F0C4E8C AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9A00 7F0C4E90 8FB800BC */ lw $t8, 0xbc($sp) -/* 0F9A04 7F0C4E94 0018C843 */ sra $t9, $t8, 1 -/* 0F9A08 7F0C4E98 00595823 */ subu $t3, $v0, $t9 -/* 0F9A0C 7F0C4E9C 256C0016 */ addiu $t4, $t3, 0x16 -/* 0F9A10 7F0C4EA0 1200001E */ beqz $s0, .Ljp7F0C4F1C -/* 0F9A14 7F0C4EA4 AFAC00C8 */ sw $t4, 0xc8($sp) -/* 0F9A18 7F0C4EA8 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9A1C 7F0C4EAC 00000000 */ nop -/* 0F9A20 7F0C4EB0 00028400 */ sll $s0, $v0, 0x10 -/* 0F9A24 7F0C4EB4 00107403 */ sra $t6, $s0, 0x10 -/* 0F9A28 7F0C4EB8 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9A2C 7F0C4EBC 01C08025 */ move $s0, $t6 -/* 0F9A30 7F0C4EC0 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableSmall) # $t5, 0x8004 -/* 0F9A34 7F0C4EC4 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) # $t7, 0x8004 -/* 0F9A38 7F0C4EC8 8DEF0EDC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0F9A3C 7F0C4ECC 8DAD0EE0 */ lw $t5, %lo(ptrSecondFontTableSmall)($t5) -/* 0F9A40 7F0C4ED0 3C18A0FF */ lui $t8, (0xA0FFA0F0 >> 16) # lui $t8, 0xa0ff -/* 0F9A44 7F0C4ED4 3C190070 */ lui $t9, (0x007000A0 >> 16) # lui $t9, 0x70 -/* 0F9A48 7F0C4ED8 373900A0 */ ori $t9, (0x007000A0 & 0xFFFF) # ori $t9, $t9, 0xa0 -/* 0F9A4C 7F0C4EDC 3718A0F0 */ ori $t8, (0xA0FFA0F0 & 0xFFFF) # ori $t8, $t8, 0xa0f0 -/* 0F9A50 7F0C4EE0 AFB80018 */ sw $t8, 0x18($sp) -/* 0F9A54 7F0C4EE4 AFB9001C */ sw $t9, 0x1c($sp) -/* 0F9A58 7F0C4EE8 02202025 */ move $a0, $s1 -/* 0F9A5C 7F0C4EEC 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9A60 7F0C4EF0 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9A64 7F0C4EF4 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0F9A68 7F0C4EF8 AFB00020 */ sw $s0, 0x20($sp) -/* 0F9A6C 7F0C4EFC AFA20024 */ sw $v0, 0x24($sp) -/* 0F9A70 7F0C4F00 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9A74 7F0C4F04 AFA0002C */ sw $zero, 0x2c($sp) -/* 0F9A78 7F0C4F08 AFAF0014 */ sw $t7, 0x14($sp) -/* 0F9A7C 7F0C4F0C 0FC2BCA7 */ jal jp_text_write_stuff -/* 0F9A80 7F0C4F10 AFAD0010 */ sw $t5, 0x10($sp) -/* 0F9A84 7F0C4F14 1000001A */ b .Ljp7F0C4F80 -/* 0F9A88 7F0C4F18 00408825 */ move $s1, $v0 -.Ljp7F0C4F1C: -/* 0F9A8C 7F0C4F1C 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9A90 7F0C4F20 00000000 */ nop -/* 0F9A94 7F0C4F24 00028400 */ sll $s0, $v0, 0x10 -/* 0F9A98 7F0C4F28 00105C03 */ sra $t3, $s0, 0x10 -/* 0F9A9C 7F0C4F2C 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9AA0 7F0C4F30 01608025 */ move $s0, $t3 -/* 0F9AA4 7F0C4F34 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) # $t4, 0x8004 -/* 0F9AA8 7F0C4F38 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) # $t6, 0x8004 -/* 0F9AAC 7F0C4F3C 8DCE0EDC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0F9AB0 7F0C4F40 8D8C0EE0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 0F9AB4 7F0C4F44 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0F9AB8 7F0C4F48 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0F9ABC 7F0C4F4C AFAD0018 */ sw $t5, 0x18($sp) -/* 0F9AC0 7F0C4F50 02202025 */ move $a0, $s1 -/* 0F9AC4 7F0C4F54 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9AC8 7F0C4F58 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9ACC 7F0C4F5C 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0F9AD0 7F0C4F60 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9AD4 7F0C4F64 AFA20020 */ sw $v0, 0x20($sp) -/* 0F9AD8 7F0C4F68 AFA00024 */ sw $zero, 0x24($sp) -/* 0F9ADC 7F0C4F6C AFA00028 */ sw $zero, 0x28($sp) -/* 0F9AE0 7F0C4F70 AFAE0014 */ sw $t6, 0x14($sp) -/* 0F9AE4 7F0C4F74 0FC2B99B */ jal en_text_write_stuff -/* 0F9AE8 7F0C4F78 AFAC0010 */ sw $t4, 0x10($sp) -/* 0F9AEC 7F0C4F7C 00408825 */ move $s1, $v0 -.Ljp7F0C4F80: -/* 0F9AF0 7F0C4F80 0FC30ACF */ jal check_can_advance_left_on_mpmenu -/* 0F9AF4 7F0C4F84 00000000 */ nop -/* 0F9AF8 7F0C4F88 10400056 */ beqz $v0, .Ljp7F0C50E4 -/* 0F9AFC 7F0C4F8C 00000000 */ nop -/* 0F9B00 7F0C4F90 0C001145 */ jal get_video2_settings_ulx -/* 0F9B04 7F0C4F94 00000000 */ nop -/* 0F9B08 7F0C4F98 3C038009 */ lui $v1, %hi(is_gameover_flag) # $v1, 0x8009 -/* 0F9B0C 7F0C4F9C 8C63C774 */ lw $v1, %lo(is_gameover_flag)($v1) -/* 0F9B10 7F0C4FA0 0002C400 */ sll $t8, $v0, 0x10 -/* 0F9B14 7F0C4FA4 240F000A */ li $t7, 10 -/* 0F9B18 7F0C4FA8 50600004 */ beql $v1, $zero, .Ljp7F0C4FBC -/* 0F9B1C 7F0C4FAC AFA00050 */ sw $zero, 0x50($sp) -/* 0F9B20 7F0C4FB0 10000002 */ b .Ljp7F0C4FBC -/* 0F9B24 7F0C4FB4 AFAF0050 */ sw $t7, 0x50($sp) -/* 0F9B28 7F0C4FB8 AFA00050 */ sw $zero, 0x50($sp) -.Ljp7F0C4FBC: -/* 0F9B2C 7F0C4FBC 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0F9B30 7F0C4FC0 8FAE0050 */ lw $t6, 0x50($sp) -/* 0F9B34 7F0C4FC4 0018CC03 */ sra $t9, $t8, 0x10 -/* 0F9B38 7F0C4FC8 032B6021 */ addu $t4, $t9, $t3 -/* 0F9B3C 7F0C4FCC 018E2023 */ subu $a0, $t4, $t6 -/* 0F9B40 7F0C4FD0 24840028 */ addiu $a0, $a0, 0x28 -/* 0F9B44 7F0C4FD4 10600003 */ beqz $v1, .Ljp7F0C4FE4 -/* 0F9B48 7F0C4FD8 AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9B4C 7F0C4FDC 2484FFF8 */ addiu $a0, $a0, -8 -/* 0F9B50 7F0C4FE0 AFA400CC */ sw $a0, 0xcc($sp) -.Ljp7F0C4FE4: -/* 0F9B54 7F0C4FE4 0C001149 */ jal get_video2_settings_uly -/* 0F9B58 7F0C4FE8 00000000 */ nop -/* 0F9B5C 7F0C4FEC 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008C708) # $t7, 0x8009 -/* 0F9B60 7F0C4FF0 8DEFC778 */ lw $t7, %lo(dword_CODE_bss_8008C708)($t7) -/* 0F9B64 7F0C4FF4 244D0016 */ addiu $t5, $v0, 0x16 -/* 0F9B68 7F0C4FF8 AFAD00C8 */ sw $t5, 0xc8($sp) -/* 0F9B6C 7F0C4FFC 15E0001C */ bnez $t7, .Ljp7F0C5070 -/* 0F9B70 7F0C5000 00000000 */ nop -/* 0F9B74 7F0C5004 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9B78 7F0C5008 00000000 */ nop -/* 0F9B7C 7F0C500C 00028400 */ sll $s0, $v0, 0x10 -/* 0F9B80 7F0C5010 0010C403 */ sra $t8, $s0, 0x10 -/* 0F9B84 7F0C5014 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9B88 7F0C5018 03008025 */ move $s0, $t8 -/* 0F9B8C 7F0C501C 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall) # $t9, 0x8004 -/* 0F9B90 7F0C5020 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) # $t3, 0x8004 -/* 0F9B94 7F0C5024 8D6B0EDC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0F9B98 7F0C5028 8F390EE0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9) -/* 0F9B9C 7F0C502C 3C0C00FF */ lui $t4, (0x00FF00B0 >> 16) # lui $t4, 0xff -/* 0F9BA0 7F0C5030 358C00B0 */ ori $t4, (0x00FF00B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0F9BA4 7F0C5034 3C078006 */ lui $a3, %hi(ascii_MP_watch_menu_left_chevron) # $a3, 0x8006 -/* 0F9BA8 7F0C5038 24E7BC68 */ addiu $a3, %lo(ascii_MP_watch_menu_left_chevron) # addiu $a3, $a3, -0x4398 -/* 0F9BAC 7F0C503C AFAC0018 */ sw $t4, 0x18($sp) -/* 0F9BB0 7F0C5040 02202025 */ move $a0, $s1 -/* 0F9BB4 7F0C5044 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9BB8 7F0C5048 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9BBC 7F0C504C AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9BC0 7F0C5050 AFA20020 */ sw $v0, 0x20($sp) -/* 0F9BC4 7F0C5054 AFA00024 */ sw $zero, 0x24($sp) -/* 0F9BC8 7F0C5058 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9BCC 7F0C505C AFAB0014 */ sw $t3, 0x14($sp) -/* 0F9BD0 7F0C5060 0FC2B99B */ jal en_text_write_stuff -/* 0F9BD4 7F0C5064 AFB90010 */ sw $t9, 0x10($sp) -/* 0F9BD8 7F0C5068 1000001E */ b .Ljp7F0C50E4 -/* 0F9BDC 7F0C506C 00408825 */ move $s1, $v0 -.Ljp7F0C5070: -/* 0F9BE0 7F0C5070 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9BE4 7F0C5074 00000000 */ nop -/* 0F9BE8 7F0C5078 00028400 */ sll $s0, $v0, 0x10 -/* 0F9BEC 7F0C507C 00107403 */ sra $t6, $s0, 0x10 -/* 0F9BF0 7F0C5080 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9BF4 7F0C5084 01C08025 */ move $s0, $t6 -/* 0F9BF8 7F0C5088 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableSmall) # $t5, 0x8004 -/* 0F9BFC 7F0C508C 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) # $t7, 0x8004 -/* 0F9C00 7F0C5090 8DEF0EDC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0F9C04 7F0C5094 8DAD0EE0 */ lw $t5, %lo(ptrSecondFontTableSmall)($t5) -/* 0F9C08 7F0C5098 3C18A0FF */ lui $t8, (0xA0FFA0F0 >> 16) # lui $t8, 0xa0ff -/* 0F9C0C 7F0C509C 3C190070 */ lui $t9, (0x007000A0 >> 16) # lui $t9, 0x70 -/* 0F9C10 7F0C50A0 373900A0 */ ori $t9, (0x007000A0 & 0xFFFF) # ori $t9, $t9, 0xa0 -/* 0F9C14 7F0C50A4 3718A0F0 */ ori $t8, (0xA0FFA0F0 & 0xFFFF) # ori $t8, $t8, 0xa0f0 -/* 0F9C18 7F0C50A8 3C078006 */ lui $a3, %hi(ascii_MP_watch_menu_left_chevron) # $a3, 0x8006 -/* 0F9C1C 7F0C50AC 24E7BC68 */ addiu $a3, %lo(ascii_MP_watch_menu_left_chevron) # addiu $a3, $a3, -0x4398 -/* 0F9C20 7F0C50B0 AFB80018 */ sw $t8, 0x18($sp) -/* 0F9C24 7F0C50B4 AFB9001C */ sw $t9, 0x1c($sp) -/* 0F9C28 7F0C50B8 02202025 */ move $a0, $s1 -/* 0F9C2C 7F0C50BC 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9C30 7F0C50C0 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9C34 7F0C50C4 AFB00020 */ sw $s0, 0x20($sp) -/* 0F9C38 7F0C50C8 AFA20024 */ sw $v0, 0x24($sp) -/* 0F9C3C 7F0C50CC AFA00028 */ sw $zero, 0x28($sp) -/* 0F9C40 7F0C50D0 AFA0002C */ sw $zero, 0x2c($sp) -/* 0F9C44 7F0C50D4 AFAF0014 */ sw $t7, 0x14($sp) -/* 0F9C48 7F0C50D8 0FC2BCA7 */ jal jp_text_write_stuff -/* 0F9C4C 7F0C50DC AFAD0010 */ sw $t5, 0x10($sp) -/* 0F9C50 7F0C50E0 00408825 */ move $s1, $v0 -.Ljp7F0C50E4: -/* 0F9C54 7F0C50E4 0FC30AB4 */ jal check_can_advance_right_on_mpmenu -/* 0F9C58 7F0C50E8 00000000 */ nop -/* 0F9C5C 7F0C50EC 10400056 */ beqz $v0, .Ljp7F0C5248 -/* 0F9C60 7F0C50F0 00000000 */ nop -/* 0F9C64 7F0C50F4 0C001145 */ jal get_video2_settings_ulx -/* 0F9C68 7F0C50F8 00000000 */ nop -/* 0F9C6C 7F0C50FC 3C038009 */ lui $v1, %hi(is_gameover_flag) # $v1, 0x8009 -/* 0F9C70 7F0C5100 8C63C774 */ lw $v1, %lo(is_gameover_flag)($v1) -/* 0F9C74 7F0C5104 00027400 */ sll $t6, $v0, 0x10 -/* 0F9C78 7F0C5108 240B000A */ li $t3, 10 -/* 0F9C7C 7F0C510C 50600004 */ beql $v1, $zero, .Ljp7F0C5120 -/* 0F9C80 7F0C5110 AFA00050 */ sw $zero, 0x50($sp) -/* 0F9C84 7F0C5114 10000002 */ b .Ljp7F0C5120 -/* 0F9C88 7F0C5118 AFAB0050 */ sw $t3, 0x50($sp) -/* 0F9C8C 7F0C511C AFA00050 */ sw $zero, 0x50($sp) -.Ljp7F0C5120: -/* 0F9C90 7F0C5120 8FAC0050 */ lw $t4, 0x50($sp) -/* 0F9C94 7F0C5124 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0F9C98 7F0C5128 000E6C03 */ sra $t5, $t6, 0x10 -/* 0F9C9C 7F0C512C 018D7821 */ addu $t7, $t4, $t5 -/* 0F9CA0 7F0C5130 01F82021 */ addu $a0, $t7, $t8 -/* 0F9CA4 7F0C5134 24840070 */ addiu $a0, $a0, 0x70 -/* 0F9CA8 7F0C5138 10600003 */ beqz $v1, .Ljp7F0C5148 -/* 0F9CAC 7F0C513C AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9CB0 7F0C5140 24840008 */ addiu $a0, $a0, 8 -/* 0F9CB4 7F0C5144 AFA400CC */ sw $a0, 0xcc($sp) -.Ljp7F0C5148: -/* 0F9CB8 7F0C5148 0C001149 */ jal get_video2_settings_uly -/* 0F9CBC 7F0C514C 00000000 */ nop -/* 0F9CC0 7F0C5150 3C0B8009 */ lui $t3, %hi(dword_CODE_bss_8008C708) # $t3, 0x8009 -/* 0F9CC4 7F0C5154 8D6BC778 */ lw $t3, %lo(dword_CODE_bss_8008C708)($t3) -/* 0F9CC8 7F0C5158 24590016 */ addiu $t9, $v0, 0x16 -/* 0F9CCC 7F0C515C AFB900C8 */ sw $t9, 0xc8($sp) -/* 0F9CD0 7F0C5160 1560001C */ bnez $t3, .Ljp7F0C51D4 -/* 0F9CD4 7F0C5164 00000000 */ nop -/* 0F9CD8 7F0C5168 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9CDC 7F0C516C 00000000 */ nop -/* 0F9CE0 7F0C5170 00028400 */ sll $s0, $v0, 0x10 -/* 0F9CE4 7F0C5174 00107403 */ sra $t6, $s0, 0x10 -/* 0F9CE8 7F0C5178 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9CEC 7F0C517C 01C08025 */ move $s0, $t6 -/* 0F9CF0 7F0C5180 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) # $t4, 0x8004 -/* 0F9CF4 7F0C5184 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0F9CF8 7F0C5188 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0F9CFC 7F0C518C 8D8C0EE0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 0F9D00 7F0C5190 3C0F00FF */ lui $t7, (0x00FF00B0 >> 16) # lui $t7, 0xff -/* 0F9D04 7F0C5194 35EF00B0 */ ori $t7, (0x00FF00B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0F9D08 7F0C5198 3C078006 */ lui $a3, %hi(ascii_MP_watch_menu_right_chevron) # $a3, 0x8006 -/* 0F9D0C 7F0C519C 24E7BC6C */ addiu $a3, %lo(ascii_MP_watch_menu_right_chevron) # addiu $a3, $a3, -0x4394 -/* 0F9D10 7F0C51A0 AFAF0018 */ sw $t7, 0x18($sp) -/* 0F9D14 7F0C51A4 02202025 */ move $a0, $s1 -/* 0F9D18 7F0C51A8 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9D1C 7F0C51AC 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9D20 7F0C51B0 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9D24 7F0C51B4 AFA20020 */ sw $v0, 0x20($sp) -/* 0F9D28 7F0C51B8 AFA00024 */ sw $zero, 0x24($sp) -/* 0F9D2C 7F0C51BC AFA00028 */ sw $zero, 0x28($sp) -/* 0F9D30 7F0C51C0 AFAD0014 */ sw $t5, 0x14($sp) -/* 0F9D34 7F0C51C4 0FC2B99B */ jal en_text_write_stuff -/* 0F9D38 7F0C51C8 AFAC0010 */ sw $t4, 0x10($sp) -/* 0F9D3C 7F0C51CC 1000001E */ b .Ljp7F0C5248 -/* 0F9D40 7F0C51D0 00408825 */ move $s1, $v0 -.Ljp7F0C51D4: -/* 0F9D44 7F0C51D4 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9D48 7F0C51D8 00000000 */ nop -/* 0F9D4C 7F0C51DC 00028400 */ sll $s0, $v0, 0x10 -/* 0F9D50 7F0C51E0 0010C403 */ sra $t8, $s0, 0x10 -/* 0F9D54 7F0C51E4 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9D58 7F0C51E8 03008025 */ move $s0, $t8 -/* 0F9D5C 7F0C51EC 3C198004 */ lui $t9, %hi(ptrSecondFontTableSmall) # $t9, 0x8004 -/* 0F9D60 7F0C51F0 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) # $t3, 0x8004 -/* 0F9D64 7F0C51F4 8D6B0EDC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0F9D68 7F0C51F8 8F390EE0 */ lw $t9, %lo(ptrSecondFontTableSmall)($t9) -/* 0F9D6C 7F0C51FC 3C0EA0FF */ lui $t6, (0xA0FFA0F0 >> 16) # lui $t6, 0xa0ff -/* 0F9D70 7F0C5200 3C0C0070 */ lui $t4, (0x007000A0 >> 16) # lui $t4, 0x70 -/* 0F9D74 7F0C5204 358C00A0 */ ori $t4, (0x007000A0 & 0xFFFF) # ori $t4, $t4, 0xa0 -/* 0F9D78 7F0C5208 35CEA0F0 */ ori $t6, (0xA0FFA0F0 & 0xFFFF) # ori $t6, $t6, 0xa0f0 -/* 0F9D7C 7F0C520C 3C078006 */ lui $a3, %hi(ascii_MP_watch_menu_right_chevron) # $a3, 0x8006 -/* 0F9D80 7F0C5210 24E7BC6C */ addiu $a3, %lo(ascii_MP_watch_menu_right_chevron) # addiu $a3, $a3, -0x4394 -/* 0F9D84 7F0C5214 AFAE0018 */ sw $t6, 0x18($sp) -/* 0F9D88 7F0C5218 AFAC001C */ sw $t4, 0x1c($sp) -/* 0F9D8C 7F0C521C 02202025 */ move $a0, $s1 -/* 0F9D90 7F0C5220 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9D94 7F0C5224 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9D98 7F0C5228 AFB00020 */ sw $s0, 0x20($sp) -/* 0F9D9C 7F0C522C AFA20024 */ sw $v0, 0x24($sp) -/* 0F9DA0 7F0C5230 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9DA4 7F0C5234 AFA0002C */ sw $zero, 0x2c($sp) -/* 0F9DA8 7F0C5238 AFAB0014 */ sw $t3, 0x14($sp) -/* 0F9DAC 7F0C523C 0FC2BCA7 */ jal jp_text_write_stuff -/* 0F9DB0 7F0C5240 AFB90010 */ sw $t9, 0x10($sp) -/* 0F9DB4 7F0C5244 00408825 */ move $s1, $v0 -.Ljp7F0C5248: -/* 0F9DB8 7F0C5248 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0F9DBC 7F0C524C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0F9DC0 7F0C5250 24010003 */ li $at, 3 -/* 0F9DC4 7F0C5254 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 0F9DC8 7F0C5258 8C6229C8 */ lw $v0, 0x29c8($v1) -/* 0F9DCC 7F0C525C 10410003 */ beq $v0, $at, .Ljp7F0C526C -/* 0F9DD0 7F0C5260 24010004 */ li $at, 4 -/* 0F9DD4 7F0C5264 544101AA */ bnel $v0, $at, .Ljp7F0C5910 -/* 0F9DD8 7F0C5268 24010002 */ li $at, 2 -.Ljp7F0C526C: -/* 0F9DDC 7F0C526C 19A0000D */ blez $t5, .Ljp7F0C52A4 -/* 0F9DE0 7F0C5270 00002025 */ move $a0, $zero -/* 0F9DE4 7F0C5274 27A30094 */ addiu $v1, $sp, 0x94 -/* 0F9DE8 7F0C5278 AFA30044 */ sw $v1, 0x44($sp) -.Ljp7F0C527C: -/* 0F9DEC 7F0C527C 0FC31162 */ jal get_points_for_mp_player -/* 0F9DF0 7F0C5280 AFA40090 */ sw $a0, 0x90($sp) -/* 0F9DF4 7F0C5284 8FA30044 */ lw $v1, 0x44($sp) -/* 0F9DF8 7F0C5288 8FA40090 */ lw $a0, 0x90($sp) -/* 0F9DFC 7F0C528C AC620000 */ sw $v0, ($v1) -/* 0F9E00 7F0C5290 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0F9E04 7F0C5294 24840001 */ addiu $a0, $a0, 1 -/* 0F9E08 7F0C5298 24630004 */ addiu $v1, $v1, 4 -/* 0F9E0C 7F0C529C 548FFFF7 */ bnel $a0, $t7, .Ljp7F0C527C -/* 0F9E10 7F0C52A0 AFA30044 */ sw $v1, 0x44($sp) -.Ljp7F0C52A4: -/* 0F9E14 7F0C52A4 3C048009 */ lui $a0, %hi(is_gameover_flag) # $a0, 0x8009 -/* 0F9E18 7F0C52A8 8C84C774 */ lw $a0, %lo(is_gameover_flag)($a0) -/* 0F9E1C 7F0C52AC 2C980001 */ sltiu $t8, $a0, 1 -/* 0F9E20 7F0C52B0 13000005 */ beqz $t8, .Ljp7F0C52C8 -/* 0F9E24 7F0C52B4 03002025 */ move $a0, $t8 -/* 0F9E28 7F0C52B8 3C048009 */ lui $a0, %hi(stop_play_flag) # $a0, 0x8009 -/* 0F9E2C 7F0C52BC 8C84C770 */ lw $a0, %lo(stop_play_flag)($a0) -/* 0F9E30 7F0C52C0 2C990001 */ sltiu $t9, $a0, 1 -/* 0F9E34 7F0C52C4 03202025 */ move $a0, $t9 -.Ljp7F0C52C8: -/* 0F9E38 7F0C52C8 0FC31303 */ jal true_if_displaying_rank_in_mp -/* 0F9E3C 7F0C52CC 00000000 */ nop -/* 0F9E40 7F0C52D0 10400034 */ beqz $v0, .Ljp7F0C53A4 -/* 0F9E44 7F0C52D4 27A400AC */ addiu $a0, $sp, 0xac -/* 0F9E48 7F0C52D8 0FC31251 */ jal write_playerrank_to_buffer -/* 0F9E4C 7F0C52DC 8FA500D4 */ lw $a1, 0xd4($sp) -/* 0F9E50 7F0C52E0 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) # $t3, 0x8004 -/* 0F9E54 7F0C52E4 8D6B0EDC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0F9E58 7F0C52E8 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0F9E5C 7F0C52EC 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F9E60 7F0C52F0 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F9E64 7F0C52F4 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F9E68 7F0C52F8 27A600AC */ addiu $a2, $sp, 0xac -/* 0F9E6C 7F0C52FC AFA00014 */ sw $zero, 0x14($sp) -/* 0F9E70 7F0C5300 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0F9E74 7F0C5304 AFAB0010 */ sw $t3, 0x10($sp) -/* 0F9E78 7F0C5308 0C001145 */ jal get_video2_settings_ulx -/* 0F9E7C 7F0C530C 00000000 */ nop -/* 0F9E80 7F0C5310 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0F9E84 7F0C5314 8FAD00C0 */ lw $t5, 0xc0($sp) -/* 0F9E88 7F0C5318 004E6021 */ addu $t4, $v0, $t6 -/* 0F9E8C 7F0C531C 000D7843 */ sra $t7, $t5, 1 -/* 0F9E90 7F0C5320 018F2023 */ subu $a0, $t4, $t7 -/* 0F9E94 7F0C5324 24840050 */ addiu $a0, $a0, 0x50 -/* 0F9E98 7F0C5328 0C001149 */ jal get_video2_settings_uly -/* 0F9E9C 7F0C532C AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9EA0 7F0C5330 8FB800BC */ lw $t8, 0xbc($sp) -/* 0F9EA4 7F0C5334 0018C843 */ sra $t9, $t8, 1 -/* 0F9EA8 7F0C5338 00595823 */ subu $t3, $v0, $t9 -/* 0F9EAC 7F0C533C 256E0025 */ addiu $t6, $t3, 0x25 -/* 0F9EB0 7F0C5340 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9EB4 7F0C5344 AFAE00C8 */ sw $t6, 0xc8($sp) -/* 0F9EB8 7F0C5348 00028400 */ sll $s0, $v0, 0x10 -/* 0F9EBC 7F0C534C 00106C03 */ sra $t5, $s0, 0x10 -/* 0F9EC0 7F0C5350 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9EC4 7F0C5354 01A08025 */ move $s0, $t5 -/* 0F9EC8 7F0C5358 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) # $t4, 0x8004 -/* 0F9ECC 7F0C535C 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) # $t7, 0x8004 -/* 0F9ED0 7F0C5360 8DEF0EDC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0F9ED4 7F0C5364 8D8C0EE0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 0F9ED8 7F0C5368 3C1800FF */ lui $t8, (0x00FF00B0 >> 16) # lui $t8, 0xff -/* 0F9EDC 7F0C536C 371800B0 */ ori $t8, (0x00FF00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0F9EE0 7F0C5370 AFB80018 */ sw $t8, 0x18($sp) -/* 0F9EE4 7F0C5374 02202025 */ move $a0, $s1 -/* 0F9EE8 7F0C5378 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9EEC 7F0C537C 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0F9EF0 7F0C5380 27A700AC */ addiu $a3, $sp, 0xac -/* 0F9EF4 7F0C5384 AFB0001C */ sw $s0, 0x1c($sp) -/* 0F9EF8 7F0C5388 AFA20020 */ sw $v0, 0x20($sp) -/* 0F9EFC 7F0C538C AFA00024 */ sw $zero, 0x24($sp) -/* 0F9F00 7F0C5390 AFA00028 */ sw $zero, 0x28($sp) -/* 0F9F04 7F0C5394 AFAF0014 */ sw $t7, 0x14($sp) -/* 0F9F08 7F0C5398 0FC2B99B */ jal en_text_write_stuff -/* 0F9F0C 7F0C539C AFAC0010 */ sw $t4, 0x10($sp) -/* 0F9F10 7F0C53A0 00408825 */ move $s1, $v0 -.Ljp7F0C53A4: -/* 0F9F14 7F0C53A4 3C048009 */ lui $a0, %hi(is_gameover_flag) # $a0, 0x8009 -/* 0F9F18 7F0C53A8 8C84C774 */ lw $a0, %lo(is_gameover_flag)($a0) -/* 0F9F1C 7F0C53AC 2C990001 */ sltiu $t9, $a0, 1 -/* 0F9F20 7F0C53B0 13200005 */ beqz $t9, .Ljp7F0C53C8 -/* 0F9F24 7F0C53B4 03202025 */ move $a0, $t9 -/* 0F9F28 7F0C53B8 3C048009 */ lui $a0, %hi(stop_play_flag) # $a0, 0x8009 -/* 0F9F2C 7F0C53BC 8C84C770 */ lw $a0, %lo(stop_play_flag)($a0) -/* 0F9F30 7F0C53C0 2C8B0001 */ sltiu $t3, $a0, 1 -/* 0F9F34 7F0C53C4 01602025 */ move $a0, $t3 -.Ljp7F0C53C8: -/* 0F9F38 7F0C53C8 0FC3131F */ jal true_if_displaying_score_in_mp -/* 0F9F3C 7F0C53CC 00000000 */ nop -/* 0F9F40 7F0C53D0 1040014B */ beqz $v0, .Ljp7F0C5900 -/* 0F9F44 7F0C53D4 00000000 */ nop -/* 0F9F48 7F0C53D8 0FC05202 */ jal get_scenario -/* 0F9F4C 7F0C53DC 00000000 */ nop -/* 0F9F50 7F0C53E0 AFA20080 */ sw $v0, 0x80($sp) -/* 0F9F54 7F0C53E4 0FC30AA2 */ jal get_textptr_for_textID -/* 0F9F58 7F0C53E8 3404A01B */ li $a0, 40987 -/* 0F9F5C 7F0C53EC 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) # $t6, 0x8004 -/* 0F9F60 7F0C53F0 8DCE0EDC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0F9F64 7F0C53F4 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0F9F68 7F0C53F8 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0F9F6C 7F0C53FC 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0F9F70 7F0C5400 27A400BC */ addiu $a0, $sp, 0xbc -/* 0F9F74 7F0C5404 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0F9F78 7F0C5408 00403025 */ move $a2, $v0 -/* 0F9F7C 7F0C540C AFA00014 */ sw $zero, 0x14($sp) -/* 0F9F80 7F0C5410 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0F9F84 7F0C5414 AFAE0010 */ sw $t6, 0x10($sp) -/* 0F9F88 7F0C5418 0C001145 */ jal get_video2_settings_ulx -/* 0F9F8C 7F0C541C 00000000 */ nop -/* 0F9F90 7F0C5420 8FAD00A8 */ lw $t5, 0xa8($sp) -/* 0F9F94 7F0C5424 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0F9F98 7F0C5428 004D6021 */ addu $t4, $v0, $t5 -/* 0F9F9C 7F0C542C 000FC043 */ sra $t8, $t7, 1 -/* 0F9FA0 7F0C5430 01982023 */ subu $a0, $t4, $t8 -/* 0F9FA4 7F0C5434 24840050 */ addiu $a0, $a0, 0x50 -/* 0F9FA8 7F0C5438 0C001149 */ jal get_video2_settings_uly -/* 0F9FAC 7F0C543C AFA400CC */ sw $a0, 0xcc($sp) -/* 0F9FB0 7F0C5440 8FB900BC */ lw $t9, 0xbc($sp) -/* 0F9FB4 7F0C5444 00195843 */ sra $t3, $t9, 1 -/* 0F9FB8 7F0C5448 004B7023 */ subu $t6, $v0, $t3 -/* 0F9FBC 7F0C544C 25CD0035 */ addiu $t5, $t6, 0x35 -/* 0F9FC0 7F0C5450 0C001107 */ jal get_video2_settings_txtClipW -/* 0F9FC4 7F0C5454 AFAD00C8 */ sw $t5, 0xc8($sp) -/* 0F9FC8 7F0C5458 00028400 */ sll $s0, $v0, 0x10 -/* 0F9FCC 7F0C545C 00107C03 */ sra $t7, $s0, 0x10 -/* 0F9FD0 7F0C5460 0C00110B */ jal get_video2_settings_txtClipH -/* 0F9FD4 7F0C5464 01E08025 */ move $s0, $t7 -/* 0F9FD8 7F0C5468 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) # $t4, 0x8004 -/* 0F9FDC 7F0C546C 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) # $t8, 0x8004 -/* 0F9FE0 7F0C5470 8F180EDC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0F9FE4 7F0C5474 8D8C0EE0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 0F9FE8 7F0C5478 3C1900FF */ lui $t9, (0x00FF00B0 >> 16) # lui $t9, 0xff -/* 0F9FEC 7F0C547C 373900B0 */ ori $t9, (0x00FF00B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0F9FF0 7F0C5480 AFB90018 */ sw $t9, 0x18($sp) -/* 0F9FF4 7F0C5484 02202025 */ move $a0, $s1 -/* 0F9FF8 7F0C5488 27A500CC */ addiu $a1, $sp, 0xcc -/* 0F9FFC 7F0C548C 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA000 7F0C5490 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FA004 7F0C5494 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA008 7F0C5498 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA00C 7F0C549C AFA00024 */ sw $zero, 0x24($sp) -/* 0FA010 7F0C54A0 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA014 7F0C54A4 AFB80014 */ sw $t8, 0x14($sp) -/* 0FA018 7F0C54A8 0FC2B99B */ jal en_text_write_stuff -/* 0FA01C 7F0C54AC AFAC0010 */ sw $t4, 0x10($sp) -/* 0FA020 7F0C54B0 8FA30080 */ lw $v1, 0x80($sp) -/* 0FA024 7F0C54B4 24010005 */ li $at, 5 -/* 0FA028 7F0C54B8 00408825 */ move $s1, $v0 -/* 0FA02C 7F0C54BC 1061000A */ beq $v1, $at, .Ljp7F0C54E8 -/* 0FA030 7F0C54C0 8FAB00D4 */ lw $t3, 0xd4($sp) -/* 0FA034 7F0C54C4 24010006 */ li $at, 6 -/* 0FA038 7F0C54C8 10610007 */ beq $v1, $at, .Ljp7F0C54E8 -/* 0FA03C 7F0C54CC 24010007 */ li $at, 7 -/* 0FA040 7F0C54D0 10610005 */ beq $v1, $at, .Ljp7F0C54E8 -/* 0FA044 7F0C54D4 24010002 */ li $at, 2 -/* 0FA048 7F0C54D8 10610003 */ beq $v1, $at, .Ljp7F0C54E8 -/* 0FA04C 7F0C54DC 24010003 */ li $at, 3 -/* 0FA050 7F0C54E0 14610016 */ bne $v1, $at, .Ljp7F0C553C -/* 0FA054 7F0C54E4 240D0001 */ li $t5, 1 -.Ljp7F0C54E8: -/* 0FA058 7F0C54E8 000B70C0 */ sll $t6, $t3, 3 -/* 0FA05C 7F0C54EC 01CB7023 */ subu $t6, $t6, $t3 -/* 0FA060 7F0C54F0 000E7100 */ sll $t6, $t6, 4 -/* 0FA064 7F0C54F4 3C0D8008 */ lui $t5, %hi(player1_player_data+105) -/* 0FA068 7F0C54F8 01AE6821 */ addu $t5, $t5, $t6 -/* 0FA06C 7F0C54FC 91AD9FC9 */ lbu $t5, %lo(player1_player_data+105)($t5) -/* 0FA070 7F0C5500 24190005 */ li $t9, 5 -/* 0FA074 7F0C5504 240B0004 */ li $t3, 4 -/* 0FA078 7F0C5508 15A00008 */ bnez $t5, .Ljp7F0C552C -/* 0FA07C 7F0C550C 240E0002 */ li $t6, 2 -/* 0FA080 7F0C5510 240F0003 */ li $t7, 3 -/* 0FA084 7F0C5514 240C0002 */ li $t4, 2 -/* 0FA088 7F0C5518 24180004 */ li $t8, 4 -/* 0FA08C 7F0C551C AFAF008C */ sw $t7, 0x8c($sp) -/* 0FA090 7F0C5520 AFAC0088 */ sw $t4, 0x88($sp) -/* 0FA094 7F0C5524 10000008 */ b .Ljp7F0C5548 -/* 0FA098 7F0C5528 AFB80084 */ sw $t8, 0x84($sp) -.Ljp7F0C552C: -/* 0FA09C 7F0C552C AFB9008C */ sw $t9, 0x8c($sp) -/* 0FA0A0 7F0C5530 AFAB0088 */ sw $t3, 0x88($sp) -/* 0FA0A4 7F0C5534 10000004 */ b .Ljp7F0C5548 -/* 0FA0A8 7F0C5538 AFAE0084 */ sw $t6, 0x84($sp) -.Ljp7F0C553C: -/* 0FA0AC 7F0C553C AFAD008C */ sw $t5, 0x8c($sp) -/* 0FA0B0 7F0C5540 AFA00088 */ sw $zero, 0x88($sp) -/* 0FA0B4 7F0C5544 AFA00084 */ sw $zero, 0x84($sp) -.Ljp7F0C5548: -/* 0FA0B8 7F0C5548 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0FA0BC 7F0C554C 24010002 */ li $at, 2 -/* 0FA0C0 7F0C5550 15E1004E */ bne $t7, $at, .Ljp7F0C568C -/* 0FA0C4 7F0C5554 00000000 */ nop -/* 0FA0C8 7F0C5558 0C001145 */ jal get_video2_settings_ulx -/* 0FA0CC 7F0C555C 00000000 */ nop -/* 0FA0D0 7F0C5560 00028400 */ sll $s0, $v0, 0x10 -/* 0FA0D4 7F0C5564 00106403 */ sra $t4, $s0, 0x10 -/* 0FA0D8 7F0C5568 0C001149 */ jal get_video2_settings_uly -/* 0FA0DC 7F0C556C 01808025 */ move $s0, $t4 -/* 0FA0E0 7F0C5570 8FA300D4 */ lw $v1, 0xd4($sp) -/* 0FA0E4 7F0C5574 00024400 */ sll $t0, $v0, 0x10 -/* 0FA0E8 7F0C5578 0008C403 */ sra $t8, $t0, 0x10 -/* 0FA0EC 7F0C557C 14600004 */ bnez $v1, .Ljp7F0C5590 -/* 0FA0F0 7F0C5580 03004025 */ move $t0, $t8 -/* 0FA0F4 7F0C5584 8FB9008C */ lw $t9, 0x8c($sp) -/* 0FA0F8 7F0C5588 1000000F */ b .Ljp7F0C55C8 -/* 0FA0FC 7F0C558C AFB90050 */ sw $t9, 0x50($sp) -.Ljp7F0C5590: -/* 0FA100 7F0C5590 000370C0 */ sll $t6, $v1, 3 -/* 0FA104 7F0C5594 01C37023 */ subu $t6, $t6, $v1 -/* 0FA108 7F0C5598 000E7100 */ sll $t6, $t6, 4 -/* 0FA10C 7F0C559C 3C0D8008 */ lui $t5, %hi(player1_player_data + 0x69) -/* 0FA110 7F0C55A0 01AE6821 */ addu $t5, $t5, $t6 -/* 0FA114 7F0C55A4 3C0B8008 */ lui $t3, %hi(player1_player_data + 0x69) # $t3, 0x8008 -/* 0FA118 7F0C55A8 916B9FC9 */ lbu $t3, %lo(player1_player_data + 0x69)($t3) -/* 0FA11C 7F0C55AC 91AD9FC9 */ lbu $t5, %lo(player1_player_data + 0x69)($t5) -/* 0FA120 7F0C55B0 8FA60084 */ lw $a2, 0x84($sp) -/* 0FA124 7F0C55B4 156D0003 */ bne $t3, $t5, .Ljp7F0C55C4 -/* 0FA128 7F0C55B8 00000000 */ nop -/* 0FA12C 7F0C55BC 10000001 */ b .Ljp7F0C55C4 -/* 0FA130 7F0C55C0 8FA60088 */ lw $a2, 0x88($sp) -.Ljp7F0C55C4: -/* 0FA134 7F0C55C4 AFA60050 */ sw $a2, 0x50($sp) -.Ljp7F0C55C8: -/* 0FA138 7F0C55C8 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FA13C 7F0C55CC 8FAC0050 */ lw $t4, 0x50($sp) -/* 0FA140 7F0C55D0 02202025 */ move $a0, $s1 -/* 0FA144 7F0C55D4 020F2821 */ addu $a1, $s0, $t7 -/* 0FA148 7F0C55D8 24A50050 */ addiu $a1, $a1, 0x50 -/* 0FA14C 7F0C55DC 25060046 */ addiu $a2, $t0, 0x46 -/* 0FA150 7F0C55E0 8FA70094 */ lw $a3, 0x94($sp) -/* 0FA154 7F0C55E4 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA158 7F0C55E8 AFAC0010 */ sw $t4, 0x10($sp) -/* 0FA15C 7F0C55EC 0C001145 */ jal get_video2_settings_ulx -/* 0FA160 7F0C55F0 00408825 */ move $s1, $v0 -/* 0FA164 7F0C55F4 00028400 */ sll $s0, $v0, 0x10 -/* 0FA168 7F0C55F8 0010C403 */ sra $t8, $s0, 0x10 -/* 0FA16C 7F0C55FC 0C001149 */ jal get_video2_settings_uly -/* 0FA170 7F0C5600 03008025 */ move $s0, $t8 -/* 0FA174 7F0C5604 8FA300D4 */ lw $v1, 0xd4($sp) -/* 0FA178 7F0C5608 00024400 */ sll $t0, $v0, 0x10 -/* 0FA17C 7F0C560C 0008CC03 */ sra $t9, $t0, 0x10 -/* 0FA180 7F0C5610 24010001 */ li $at, 1 -/* 0FA184 7F0C5614 14610004 */ bne $v1, $at, .Ljp7F0C5628 -/* 0FA188 7F0C5618 03204025 */ move $t0, $t9 -/* 0FA18C 7F0C561C 8FAE008C */ lw $t6, 0x8c($sp) -/* 0FA190 7F0C5620 1000000F */ b .Ljp7F0C5660 -/* 0FA194 7F0C5624 AFAE0050 */ sw $t6, 0x50($sp) -.Ljp7F0C5628: -/* 0FA198 7F0C5628 000368C0 */ sll $t5, $v1, 3 -/* 0FA19C 7F0C562C 01A36823 */ subu $t5, $t5, $v1 -/* 0FA1A0 7F0C5630 3C028008 */ lui $v0, %hi(player1_player_data) # $v0, 0x8008 -/* 0FA1A4 7F0C5634 24429F60 */ addiu $v0, %lo(player1_player_data) # addiu $v0, $v0, -0x60a0 -/* 0FA1A8 7F0C5638 000D6900 */ sll $t5, $t5, 4 -/* 0FA1AC 7F0C563C 004D7821 */ addu $t7, $v0, $t5 -/* 0FA1B0 7F0C5640 91EC0069 */ lbu $t4, 0x69($t7) -/* 0FA1B4 7F0C5644 904B00D9 */ lbu $t3, 0xd9($v0) -/* 0FA1B8 7F0C5648 8FA60084 */ lw $a2, 0x84($sp) -/* 0FA1BC 7F0C564C 156C0003 */ bne $t3, $t4, .Ljp7F0C565C -/* 0FA1C0 7F0C5650 00000000 */ nop -/* 0FA1C4 7F0C5654 10000001 */ b .Ljp7F0C565C -/* 0FA1C8 7F0C5658 8FA60088 */ lw $a2, 0x88($sp) -.Ljp7F0C565C: -/* 0FA1CC 7F0C565C AFA60050 */ sw $a2, 0x50($sp) -.Ljp7F0C5660: -/* 0FA1D0 7F0C5660 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0FA1D4 7F0C5664 8FB90050 */ lw $t9, 0x50($sp) -/* 0FA1D8 7F0C5668 02202025 */ move $a0, $s1 -/* 0FA1DC 7F0C566C 02182821 */ addu $a1, $s0, $t8 -/* 0FA1E0 7F0C5670 24A50050 */ addiu $a1, $a1, 0x50 -/* 0FA1E4 7F0C5674 25060056 */ addiu $a2, $t0, 0x56 -/* 0FA1E8 7F0C5678 8FA70098 */ lw $a3, 0x98($sp) -/* 0FA1EC 7F0C567C 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA1F0 7F0C5680 AFB90010 */ sw $t9, 0x10($sp) -/* 0FA1F4 7F0C5684 1000009E */ b .Ljp7F0C5900 -/* 0FA1F8 7F0C5688 00408825 */ move $s1, $v0 -.Ljp7F0C568C: -/* 0FA1FC 7F0C568C 0C001145 */ jal get_video2_settings_ulx -/* 0FA200 7F0C5690 00000000 */ nop -/* 0FA204 7F0C5694 00028400 */ sll $s0, $v0, 0x10 -/* 0FA208 7F0C5698 00107403 */ sra $t6, $s0, 0x10 -/* 0FA20C 7F0C569C 0C001149 */ jal get_video2_settings_uly -/* 0FA210 7F0C56A0 01C08025 */ move $s0, $t6 -/* 0FA214 7F0C56A4 8FA300D4 */ lw $v1, 0xd4($sp) -/* 0FA218 7F0C56A8 00024400 */ sll $t0, $v0, 0x10 -/* 0FA21C 7F0C56AC 00086C03 */ sra $t5, $t0, 0x10 -/* 0FA220 7F0C56B0 14600004 */ bnez $v1, .Ljp7F0C56C4 -/* 0FA224 7F0C56B4 01A04025 */ move $t0, $t5 -/* 0FA228 7F0C56B8 8FAF008C */ lw $t7, 0x8c($sp) -/* 0FA22C 7F0C56BC 1000000F */ b .Ljp7F0C56FC -/* 0FA230 7F0C56C0 AFAF0050 */ sw $t7, 0x50($sp) -.Ljp7F0C56C4: -/* 0FA234 7F0C56C4 000360C0 */ sll $t4, $v1, 3 -/* 0FA238 7F0C56C8 01836023 */ subu $t4, $t4, $v1 -/* 0FA23C 7F0C56CC 000C6100 */ sll $t4, $t4, 4 -/* 0FA240 7F0C56D0 3C188008 */ lui $t8, %hi(player1_player_data + 0x69) -/* 0FA244 7F0C56D4 030CC021 */ addu $t8, $t8, $t4 -/* 0FA248 7F0C56D8 3C0B8008 */ lui $t3, %hi(player1_player_data + 0x69) # $t3, 0x8008 -/* 0FA24C 7F0C56DC 916B9FC9 */ lbu $t3, %lo(player1_player_data + 0x69)($t3) -/* 0FA250 7F0C56E0 93189FC9 */ lbu $t8, %lo(player1_player_data + 0x69)($t8) -/* 0FA254 7F0C56E4 8FA60084 */ lw $a2, 0x84($sp) -/* 0FA258 7F0C56E8 15780003 */ bne $t3, $t8, .Ljp7F0C56F8 -/* 0FA25C 7F0C56EC 00000000 */ nop -/* 0FA260 7F0C56F0 10000001 */ b .Ljp7F0C56F8 -/* 0FA264 7F0C56F4 8FA60088 */ lw $a2, 0x88($sp) -.Ljp7F0C56F8: -/* 0FA268 7F0C56F8 AFA60050 */ sw $a2, 0x50($sp) -.Ljp7F0C56FC: -/* 0FA26C 7F0C56FC 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0FA270 7F0C5700 8FAE0050 */ lw $t6, 0x50($sp) -/* 0FA274 7F0C5704 02202025 */ move $a0, $s1 -/* 0FA278 7F0C5708 02192821 */ addu $a1, $s0, $t9 -/* 0FA27C 7F0C570C 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FA280 7F0C5710 25060046 */ addiu $a2, $t0, 0x46 -/* 0FA284 7F0C5714 8FA70094 */ lw $a3, 0x94($sp) -/* 0FA288 7F0C5718 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA28C 7F0C571C AFAE0010 */ sw $t6, 0x10($sp) -/* 0FA290 7F0C5720 0C001145 */ jal get_video2_settings_ulx -/* 0FA294 7F0C5724 00408825 */ move $s1, $v0 -/* 0FA298 7F0C5728 00028400 */ sll $s0, $v0, 0x10 -/* 0FA29C 7F0C572C 00106C03 */ sra $t5, $s0, 0x10 -/* 0FA2A0 7F0C5730 0C001149 */ jal get_video2_settings_uly -/* 0FA2A4 7F0C5734 01A08025 */ move $s0, $t5 -/* 0FA2A8 7F0C5738 8FA300D4 */ lw $v1, 0xd4($sp) -/* 0FA2AC 7F0C573C 00024400 */ sll $t0, $v0, 0x10 -/* 0FA2B0 7F0C5740 00087C03 */ sra $t7, $t0, 0x10 -/* 0FA2B4 7F0C5744 24010001 */ li $at, 1 -/* 0FA2B8 7F0C5748 14610004 */ bne $v1, $at, .Ljp7F0C575C -/* 0FA2BC 7F0C574C 01E04025 */ move $t0, $t7 -/* 0FA2C0 7F0C5750 8FAC008C */ lw $t4, 0x8c($sp) -/* 0FA2C4 7F0C5754 1000000F */ b .Ljp7F0C5794 -/* 0FA2C8 7F0C5758 AFAC0050 */ sw $t4, 0x50($sp) -.Ljp7F0C575C: -/* 0FA2CC 7F0C575C 0003C0C0 */ sll $t8, $v1, 3 -/* 0FA2D0 7F0C5760 0303C023 */ subu $t8, $t8, $v1 -/* 0FA2D4 7F0C5764 0018C100 */ sll $t8, $t8, 4 -/* 0FA2D8 7F0C5768 3C198008 */ lui $t9, %hi(player1_player_data + 0x69) -/* 0FA2DC 7F0C576C 0338C821 */ addu $t9, $t9, $t8 -/* 0FA2E0 7F0C5770 3C0B8008 */ lui $t3, %hi(player2_player_data + 0x69) # $t3, 0x8008 -/* 0FA2E4 7F0C5774 916BA039 */ lbu $t3, %lo(player2_player_data + 0x69)($t3) -/* 0FA2E8 7F0C5778 93399FC9 */ lbu $t9, %lo(player1_player_data + 0x69)($t9) -/* 0FA2EC 7F0C577C 8FA60084 */ lw $a2, 0x84($sp) -/* 0FA2F0 7F0C5780 15790003 */ bne $t3, $t9, .Ljp7F0C5790 -/* 0FA2F4 7F0C5784 00000000 */ nop -/* 0FA2F8 7F0C5788 10000001 */ b .Ljp7F0C5790 -/* 0FA2FC 7F0C578C 8FA60088 */ lw $a2, 0x88($sp) -.Ljp7F0C5790: -/* 0FA300 7F0C5790 AFA60050 */ sw $a2, 0x50($sp) -.Ljp7F0C5794: -/* 0FA304 7F0C5794 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FA308 7F0C5798 8FAD0050 */ lw $t5, 0x50($sp) -/* 0FA30C 7F0C579C 02202025 */ move $a0, $s1 -/* 0FA310 7F0C57A0 020E2821 */ addu $a1, $s0, $t6 -/* 0FA314 7F0C57A4 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FA318 7F0C57A8 25060046 */ addiu $a2, $t0, 0x46 -/* 0FA31C 7F0C57AC 8FA70098 */ lw $a3, 0x98($sp) -/* 0FA320 7F0C57B0 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA324 7F0C57B4 AFAD0010 */ sw $t5, 0x10($sp) -/* 0FA328 7F0C57B8 0C001145 */ jal get_video2_settings_ulx -/* 0FA32C 7F0C57BC 00408825 */ move $s1, $v0 -/* 0FA330 7F0C57C0 00028400 */ sll $s0, $v0, 0x10 -/* 0FA334 7F0C57C4 00107C03 */ sra $t7, $s0, 0x10 -/* 0FA338 7F0C57C8 0C001149 */ jal get_video2_settings_uly -/* 0FA33C 7F0C57CC 01E08025 */ move $s0, $t7 -/* 0FA340 7F0C57D0 8FA300D4 */ lw $v1, 0xd4($sp) -/* 0FA344 7F0C57D4 00024400 */ sll $t0, $v0, 0x10 -/* 0FA348 7F0C57D8 00086403 */ sra $t4, $t0, 0x10 -/* 0FA34C 7F0C57DC 24010002 */ li $at, 2 -/* 0FA350 7F0C57E0 14610004 */ bne $v1, $at, .Ljp7F0C57F4 -/* 0FA354 7F0C57E4 01804025 */ move $t0, $t4 -/* 0FA358 7F0C57E8 8FB8008C */ lw $t8, 0x8c($sp) -/* 0FA35C 7F0C57EC 1000000F */ b .Ljp7F0C582C -/* 0FA360 7F0C57F0 AFB80050 */ sw $t8, 0x50($sp) -.Ljp7F0C57F4: -/* 0FA364 7F0C57F4 0003C8C0 */ sll $t9, $v1, 3 -/* 0FA368 7F0C57F8 0323C823 */ subu $t9, $t9, $v1 -/* 0FA36C 7F0C57FC 0019C900 */ sll $t9, $t9, 4 -/* 0FA370 7F0C5800 3C0E8008 */ lui $t6, %hi(player1_player_data + 0x69) -/* 0FA374 7F0C5804 01D97021 */ addu $t6, $t6, $t9 -/* 0FA378 7F0C5808 3C0B8008 */ lui $t3, %hi(player3_player_data + 0x69) # $t3, 0x8008 -/* 0FA37C 7F0C580C 916BA0A9 */ lbu $t3, %lo(player3_player_data + 0x69)($t3) -/* 0FA380 7F0C5810 91CE9FC9 */ lbu $t6, %lo(player1_player_data + 0x69)($t6) -/* 0FA384 7F0C5814 8FA60084 */ lw $a2, 0x84($sp) -/* 0FA388 7F0C5818 156E0003 */ bne $t3, $t6, .Ljp7F0C5828 -/* 0FA38C 7F0C581C 00000000 */ nop -/* 0FA390 7F0C5820 10000001 */ b .Ljp7F0C5828 -/* 0FA394 7F0C5824 8FA60088 */ lw $a2, 0x88($sp) -.Ljp7F0C5828: -/* 0FA398 7F0C5828 AFA60050 */ sw $a2, 0x50($sp) -.Ljp7F0C582C: -/* 0FA39C 7F0C582C 8FAD00A8 */ lw $t5, 0xa8($sp) -/* 0FA3A0 7F0C5830 8FAF0050 */ lw $t7, 0x50($sp) -/* 0FA3A4 7F0C5834 02202025 */ move $a0, $s1 -/* 0FA3A8 7F0C5838 020D2821 */ addu $a1, $s0, $t5 -/* 0FA3AC 7F0C583C 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FA3B0 7F0C5840 25060056 */ addiu $a2, $t0, 0x56 -/* 0FA3B4 7F0C5844 8FA7009C */ lw $a3, 0x9c($sp) -/* 0FA3B8 7F0C5848 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA3BC 7F0C584C AFAF0010 */ sw $t7, 0x10($sp) -/* 0FA3C0 7F0C5850 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 0FA3C4 7F0C5854 24010004 */ li $at, 4 -/* 0FA3C8 7F0C5858 00408825 */ move $s1, $v0 -/* 0FA3CC 7F0C585C 15810028 */ bne $t4, $at, .Ljp7F0C5900 -/* 0FA3D0 7F0C5860 00000000 */ nop -/* 0FA3D4 7F0C5864 0C001145 */ jal get_video2_settings_ulx -/* 0FA3D8 7F0C5868 00000000 */ nop -/* 0FA3DC 7F0C586C 00028400 */ sll $s0, $v0, 0x10 -/* 0FA3E0 7F0C5870 0010C403 */ sra $t8, $s0, 0x10 -/* 0FA3E4 7F0C5874 0C001149 */ jal get_video2_settings_uly -/* 0FA3E8 7F0C5878 03008025 */ move $s0, $t8 -/* 0FA3EC 7F0C587C 8FA300D4 */ lw $v1, 0xd4($sp) -/* 0FA3F0 7F0C5880 00024400 */ sll $t0, $v0, 0x10 -/* 0FA3F4 7F0C5884 0008CC03 */ sra $t9, $t0, 0x10 -/* 0FA3F8 7F0C5888 24010003 */ li $at, 3 -/* 0FA3FC 7F0C588C 14610004 */ bne $v1, $at, .Ljp7F0C58A0 -/* 0FA400 7F0C5890 03204025 */ move $t0, $t9 -/* 0FA404 7F0C5894 8FAB008C */ lw $t3, 0x8c($sp) -/* 0FA408 7F0C5898 1000000F */ b .Ljp7F0C58D8 -/* 0FA40C 7F0C589C AFAB0050 */ sw $t3, 0x50($sp) -.Ljp7F0C58A0: -/* 0FA410 7F0C58A0 000368C0 */ sll $t5, $v1, 3 -/* 0FA414 7F0C58A4 01A36823 */ subu $t5, $t5, $v1 -/* 0FA418 7F0C58A8 3C028008 */ lui $v0, %hi(player1_player_data) # $v0, 0x8008 -/* 0FA41C 7F0C58AC 24429F60 */ addiu $v0, %lo(player1_player_data) # addiu $v0, $v0, -0x60a0 -/* 0FA420 7F0C58B0 000D6900 */ sll $t5, $t5, 4 -/* 0FA424 7F0C58B4 004D7821 */ addu $t7, $v0, $t5 -/* 0FA428 7F0C58B8 91EC0069 */ lbu $t4, 0x69($t7) -/* 0FA42C 7F0C58BC 904E01B9 */ lbu $t6, 0x1b9($v0) -/* 0FA430 7F0C58C0 8FA60084 */ lw $a2, 0x84($sp) -/* 0FA434 7F0C58C4 15CC0003 */ bne $t6, $t4, .Ljp7F0C58D4 -/* 0FA438 7F0C58C8 00000000 */ nop -/* 0FA43C 7F0C58CC 10000001 */ b .Ljp7F0C58D4 -/* 0FA440 7F0C58D0 8FA60088 */ lw $a2, 0x88($sp) -.Ljp7F0C58D4: -/* 0FA444 7F0C58D4 AFA60050 */ sw $a2, 0x50($sp) -.Ljp7F0C58D8: -/* 0FA448 7F0C58D8 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0FA44C 7F0C58DC 8FB90050 */ lw $t9, 0x50($sp) -/* 0FA450 7F0C58E0 02202025 */ move $a0, $s1 -/* 0FA454 7F0C58E4 02182821 */ addu $a1, $s0, $t8 -/* 0FA458 7F0C58E8 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FA45C 7F0C58EC 25060056 */ addiu $a2, $t0, 0x56 -/* 0FA460 7F0C58F0 8FA700A0 */ lw $a3, 0xa0($sp) -/* 0FA464 7F0C58F4 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA468 7F0C58F8 AFB90010 */ sw $t9, 0x10($sp) -/* 0FA46C 7F0C58FC 00408825 */ move $s1, $v0 -.Ljp7F0C5900: -/* 0FA470 7F0C5900 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0FA474 7F0C5904 100003BB */ b .Ljp7F0C67F4 -/* 0FA478 7F0C5908 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0FA47C 7F0C590C 24010002 */ li $at, 2 -.Ljp7F0C5910: -/* 0FA480 7F0C5910 1441011C */ bne $v0, $at, .Ljp7F0C5D84 -/* 0FA484 7F0C5914 3C048009 */ lui $a0, %hi(is_gameover_flag) # $a0, 0x8009 -/* 0FA488 7F0C5918 8C84C774 */ lw $a0, %lo(is_gameover_flag)($a0) -/* 0FA48C 7F0C591C 2C8B0001 */ sltiu $t3, $a0, 1 -/* 0FA490 7F0C5920 11600005 */ beqz $t3, .Ljp7F0C5938 -/* 0FA494 7F0C5924 01602025 */ move $a0, $t3 -/* 0FA498 7F0C5928 3C048009 */ lui $a0, %hi(stop_play_flag) # $a0, 0x8009 -/* 0FA49C 7F0C592C 8C84C770 */ lw $a0, %lo(stop_play_flag)($a0) -/* 0FA4A0 7F0C5930 2C8D0001 */ sltiu $t5, $a0, 1 -/* 0FA4A4 7F0C5934 01A02025 */ move $a0, $t5 -.Ljp7F0C5938: -/* 0FA4A8 7F0C5938 0FC31303 */ jal true_if_displaying_rank_in_mp -/* 0FA4AC 7F0C593C 00000000 */ nop -/* 0FA4B0 7F0C5940 10400034 */ beqz $v0, .Ljp7F0C5A14 -/* 0FA4B4 7F0C5944 27A400AC */ addiu $a0, $sp, 0xac -/* 0FA4B8 7F0C5948 0FC31251 */ jal write_playerrank_to_buffer -/* 0FA4BC 7F0C594C 8FA500D4 */ lw $a1, 0xd4($sp) -/* 0FA4C0 7F0C5950 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) # $t7, 0x8004 -/* 0FA4C4 7F0C5954 8DEF0EDC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0FA4C8 7F0C5958 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FA4CC 7F0C595C 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA4D0 7F0C5960 27A400BC */ addiu $a0, $sp, 0xbc -/* 0FA4D4 7F0C5964 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0FA4D8 7F0C5968 27A600AC */ addiu $a2, $sp, 0xac -/* 0FA4DC 7F0C596C AFA00014 */ sw $zero, 0x14($sp) -/* 0FA4E0 7F0C5970 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FA4E4 7F0C5974 AFAF0010 */ sw $t7, 0x10($sp) -/* 0FA4E8 7F0C5978 0C001145 */ jal get_video2_settings_ulx -/* 0FA4EC 7F0C597C 00000000 */ nop -/* 0FA4F0 7F0C5980 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FA4F4 7F0C5984 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0FA4F8 7F0C5988 004E6021 */ addu $t4, $v0, $t6 -/* 0FA4FC 7F0C598C 0018C843 */ sra $t9, $t8, 1 -/* 0FA500 7F0C5990 01992023 */ subu $a0, $t4, $t9 -/* 0FA504 7F0C5994 24840050 */ addiu $a0, $a0, 0x50 -/* 0FA508 7F0C5998 0C001149 */ jal get_video2_settings_uly -/* 0FA50C 7F0C599C AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA510 7F0C59A0 8FAB00BC */ lw $t3, 0xbc($sp) -/* 0FA514 7F0C59A4 000B6843 */ sra $t5, $t3, 1 -/* 0FA518 7F0C59A8 004D7823 */ subu $t7, $v0, $t5 -/* 0FA51C 7F0C59AC 25EE0025 */ addiu $t6, $t7, 0x25 -/* 0FA520 7F0C59B0 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA524 7F0C59B4 AFAE00C8 */ sw $t6, 0xc8($sp) -/* 0FA528 7F0C59B8 00028400 */ sll $s0, $v0, 0x10 -/* 0FA52C 7F0C59BC 0010C403 */ sra $t8, $s0, 0x10 -/* 0FA530 7F0C59C0 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA534 7F0C59C4 03008025 */ move $s0, $t8 -/* 0FA538 7F0C59C8 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) # $t4, 0x8004 -/* 0FA53C 7F0C59CC 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) # $t9, 0x8004 -/* 0FA540 7F0C59D0 8F390EDC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0FA544 7F0C59D4 8D8C0EE0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 0FA548 7F0C59D8 3C0B00FF */ lui $t3, (0x00FF00B0 >> 16) # lui $t3, 0xff -/* 0FA54C 7F0C59DC 356B00B0 */ ori $t3, (0x00FF00B0 & 0xFFFF) # ori $t3, $t3, 0xb0 -/* 0FA550 7F0C59E0 AFAB0018 */ sw $t3, 0x18($sp) -/* 0FA554 7F0C59E4 02202025 */ move $a0, $s1 -/* 0FA558 7F0C59E8 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA55C 7F0C59EC 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA560 7F0C59F0 27A700AC */ addiu $a3, $sp, 0xac -/* 0FA564 7F0C59F4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA568 7F0C59F8 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA56C 7F0C59FC AFA00024 */ sw $zero, 0x24($sp) -/* 0FA570 7F0C5A00 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA574 7F0C5A04 AFB90014 */ sw $t9, 0x14($sp) -/* 0FA578 7F0C5A08 0FC2B99B */ jal en_text_write_stuff -/* 0FA57C 7F0C5A0C AFAC0010 */ sw $t4, 0x10($sp) -/* 0FA580 7F0C5A10 00408825 */ move $s1, $v0 -.Ljp7F0C5A14: -/* 0FA584 7F0C5A14 0FC30AA2 */ jal get_textptr_for_textID -/* 0FA588 7F0C5A18 3404A01C */ li $a0, 40988 -/* 0FA58C 7F0C5A1C 3404A01D */ li $a0, 40989 -/* 0FA590 7F0C5A20 0FC30AA2 */ jal get_textptr_for_textID -/* 0FA594 7F0C5A24 AFA2004C */ sw $v0, 0x4c($sp) -/* 0FA598 7F0C5A28 8FA700D4 */ lw $a3, 0xd4($sp) -/* 0FA59C 7F0C5A2C 3C058006 */ lui $a1, %hi(ascii_pnum_KILLS) # $a1, 0x8006 -/* 0FA5A0 7F0C5A30 24A5BC70 */ addiu $a1, %lo(ascii_pnum_KILLS) # addiu $a1, $a1, -0x4390 -/* 0FA5A4 7F0C5A34 8FA6004C */ lw $a2, 0x4c($sp) -/* 0FA5A8 7F0C5A38 27A400AC */ addiu $a0, $sp, 0xac -/* 0FA5AC 7F0C5A3C AFA20010 */ sw $v0, 0x10($sp) -/* 0FA5B0 7F0C5A40 0C002B29 */ jal sprintf -/* 0FA5B4 7F0C5A44 24E70001 */ addiu $a3, $a3, 1 -/* 0FA5B8 7F0C5A48 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0FA5BC 7F0C5A4C 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FA5C0 7F0C5A50 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FA5C4 7F0C5A54 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA5C8 7F0C5A58 27A400BC */ addiu $a0, $sp, 0xbc -/* 0FA5CC 7F0C5A5C 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0FA5D0 7F0C5A60 27A600AC */ addiu $a2, $sp, 0xac -/* 0FA5D4 7F0C5A64 AFA00014 */ sw $zero, 0x14($sp) -/* 0FA5D8 7F0C5A68 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FA5DC 7F0C5A6C AFAD0010 */ sw $t5, 0x10($sp) -/* 0FA5E0 7F0C5A70 0C001145 */ jal get_video2_settings_ulx -/* 0FA5E4 7F0C5A74 00000000 */ nop -/* 0FA5E8 7F0C5A78 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FA5EC 7F0C5A7C 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0FA5F0 7F0C5A80 004F7021 */ addu $t6, $v0, $t7 -/* 0FA5F4 7F0C5A84 00186043 */ sra $t4, $t8, 1 -/* 0FA5F8 7F0C5A88 01CC2023 */ subu $a0, $t6, $t4 -/* 0FA5FC 7F0C5A8C 24840050 */ addiu $a0, $a0, 0x50 -/* 0FA600 7F0C5A90 0C001149 */ jal get_video2_settings_uly -/* 0FA604 7F0C5A94 AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA608 7F0C5A98 8FB900BC */ lw $t9, 0xbc($sp) -/* 0FA60C 7F0C5A9C 00195843 */ sra $t3, $t9, 1 -/* 0FA610 7F0C5AA0 004B6823 */ subu $t5, $v0, $t3 -/* 0FA614 7F0C5AA4 25AF0035 */ addiu $t7, $t5, 0x35 -/* 0FA618 7F0C5AA8 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA61C 7F0C5AAC AFAF00C8 */ sw $t7, 0xc8($sp) -/* 0FA620 7F0C5AB0 00028400 */ sll $s0, $v0, 0x10 -/* 0FA624 7F0C5AB4 0010C403 */ sra $t8, $s0, 0x10 -/* 0FA628 7F0C5AB8 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA62C 7F0C5ABC 03008025 */ move $s0, $t8 -/* 0FA630 7F0C5AC0 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) # $t6, 0x8004 -/* 0FA634 7F0C5AC4 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) # $t4, 0x8004 -/* 0FA638 7F0C5AC8 8D8C0EDC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FA63C 7F0C5ACC 8DCE0EE0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0FA640 7F0C5AD0 3C1900FF */ lui $t9, (0x00FF00B0 >> 16) # lui $t9, 0xff -/* 0FA644 7F0C5AD4 373900B0 */ ori $t9, (0x00FF00B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0FA648 7F0C5AD8 AFB90018 */ sw $t9, 0x18($sp) -/* 0FA64C 7F0C5ADC 02202025 */ move $a0, $s1 -/* 0FA650 7F0C5AE0 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA654 7F0C5AE4 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA658 7F0C5AE8 27A700AC */ addiu $a3, $sp, 0xac -/* 0FA65C 7F0C5AEC AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA660 7F0C5AF0 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA664 7F0C5AF4 AFA00024 */ sw $zero, 0x24($sp) -/* 0FA668 7F0C5AF8 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA66C 7F0C5AFC AFAC0014 */ sw $t4, 0x14($sp) -/* 0FA670 7F0C5B00 0FC2B99B */ jal en_text_write_stuff -/* 0FA674 7F0C5B04 AFAE0010 */ sw $t6, 0x10($sp) -/* 0FA678 7F0C5B08 8FAB00D0 */ lw $t3, 0xd0($sp) -/* 0FA67C 7F0C5B0C 00408825 */ move $s1, $v0 -/* 0FA680 7F0C5B10 24010002 */ li $at, 2 -/* 0FA684 7F0C5B14 15610033 */ bne $t3, $at, .Ljp7F0C5BE4 -/* 0FA688 7F0C5B18 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0FA68C 7F0C5B1C 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0FA690 7F0C5B20 50400018 */ beql $v0, $zero, .Ljp7F0C5B84 -/* 0FA694 7F0C5B24 24010001 */ li $at, 1 -/* 0FA698 7F0C5B28 0C001145 */ jal get_video2_settings_ulx -/* 0FA69C 7F0C5B2C 00000000 */ nop -/* 0FA6A0 7F0C5B30 00028400 */ sll $s0, $v0, 0x10 -/* 0FA6A4 7F0C5B34 00106C03 */ sra $t5, $s0, 0x10 -/* 0FA6A8 7F0C5B38 0C001149 */ jal get_video2_settings_uly -/* 0FA6AC 7F0C5B3C 01A08025 */ move $s0, $t5 -/* 0FA6B0 7F0C5B40 8FB800D4 */ lw $t8, 0xd4($sp) -/* 0FA6B4 7F0C5B44 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FA6B8 7F0C5B48 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0FA6BC 7F0C5B4C 001870C0 */ sll $t6, $t8, 3 -/* 0FA6C0 7F0C5B50 01D87023 */ subu $t6, $t6, $t8 -/* 0FA6C4 7F0C5B54 000E7100 */ sll $t6, $t6, 4 -/* 0FA6C8 7F0C5B58 00EE3821 */ addu $a3, $a3, $t6 -/* 0FA6CC 7F0C5B5C 020F2821 */ addu $a1, $s0, $t7 -/* 0FA6D0 7F0C5B60 24A50050 */ addiu $a1, $a1, 0x50 -/* 0FA6D4 7F0C5B64 8CE79F84 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0FA6D8 7F0C5B68 02202025 */ move $a0, $s1 -/* 0FA6DC 7F0C5B6C 24460046 */ addiu $a2, $v0, 0x46 -/* 0FA6E0 7F0C5B70 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA6E4 7F0C5B74 AFA00010 */ sw $zero, 0x10($sp) -/* 0FA6E8 7F0C5B78 00408825 */ move $s1, $v0 -/* 0FA6EC 7F0C5B7C 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0FA6F0 7F0C5B80 24010001 */ li $at, 1 -.Ljp7F0C5B84: -/* 0FA6F4 7F0C5B84 1041007C */ beq $v0, $at, .Ljp7F0C5D78 -/* 0FA6F8 7F0C5B88 000260C0 */ sll $t4, $v0, 3 -/* 0FA6FC 7F0C5B8C 01826023 */ subu $t4, $t4, $v0 -/* 0FA700 7F0C5B90 3C198008 */ lui $t9, %hi(player1_player_data) # $t9, 0x8008 -/* 0FA704 7F0C5B94 27399F60 */ addiu $t9, %lo(player1_player_data) # addiu $t9, $t9, -0x60a0 -/* 0FA708 7F0C5B98 000C6100 */ sll $t4, $t4, 4 -/* 0FA70C 7F0C5B9C 01995821 */ addu $t3, $t4, $t9 -/* 0FA710 7F0C5BA0 0C001145 */ jal get_video2_settings_ulx -/* 0FA714 7F0C5BA4 AFAB0044 */ sw $t3, 0x44($sp) -/* 0FA718 7F0C5BA8 00028400 */ sll $s0, $v0, 0x10 -/* 0FA71C 7F0C5BAC 00106C03 */ sra $t5, $s0, 0x10 -/* 0FA720 7F0C5BB0 0C001149 */ jal get_video2_settings_uly -/* 0FA724 7F0C5BB4 01A08025 */ move $s0, $t5 -/* 0FA728 7F0C5BB8 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FA72C 7F0C5BBC 8FB80044 */ lw $t8, 0x44($sp) -/* 0FA730 7F0C5BC0 02202025 */ move $a0, $s1 -/* 0FA734 7F0C5BC4 020F2821 */ addu $a1, $s0, $t7 -/* 0FA738 7F0C5BC8 8F070028 */ lw $a3, 0x28($t8) -/* 0FA73C 7F0C5BCC AFA00010 */ sw $zero, 0x10($sp) -/* 0FA740 7F0C5BD0 24A50050 */ addiu $a1, $a1, 0x50 -/* 0FA744 7F0C5BD4 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA748 7F0C5BD8 24460056 */ addiu $a2, $v0, 0x56 -/* 0FA74C 7F0C5BDC 10000066 */ b .Ljp7F0C5D78 -/* 0FA750 7F0C5BE0 00408825 */ move $s1, $v0 -.Ljp7F0C5BE4: -/* 0FA754 7F0C5BE4 50400018 */ beql $v0, $zero, .Ljp7F0C5C48 -/* 0FA758 7F0C5BE8 24010001 */ li $at, 1 -/* 0FA75C 7F0C5BEC 0C001145 */ jal get_video2_settings_ulx -/* 0FA760 7F0C5BF0 00000000 */ nop -/* 0FA764 7F0C5BF4 00028400 */ sll $s0, $v0, 0x10 -/* 0FA768 7F0C5BF8 00107403 */ sra $t6, $s0, 0x10 -/* 0FA76C 7F0C5BFC 0C001149 */ jal get_video2_settings_uly -/* 0FA770 7F0C5C00 01C08025 */ move $s0, $t6 -/* 0FA774 7F0C5C04 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0FA778 7F0C5C08 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0FA77C 7F0C5C0C 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0FA780 7F0C5C10 001958C0 */ sll $t3, $t9, 3 -/* 0FA784 7F0C5C14 01795823 */ subu $t3, $t3, $t9 -/* 0FA788 7F0C5C18 000B5900 */ sll $t3, $t3, 4 -/* 0FA78C 7F0C5C1C 00EB3821 */ addu $a3, $a3, $t3 -/* 0FA790 7F0C5C20 020C2821 */ addu $a1, $s0, $t4 -/* 0FA794 7F0C5C24 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FA798 7F0C5C28 8CE79F84 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0FA79C 7F0C5C2C 02202025 */ move $a0, $s1 -/* 0FA7A0 7F0C5C30 24460046 */ addiu $a2, $v0, 0x46 -/* 0FA7A4 7F0C5C34 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA7A8 7F0C5C38 AFA00010 */ sw $zero, 0x10($sp) -/* 0FA7AC 7F0C5C3C 00408825 */ move $s1, $v0 -/* 0FA7B0 7F0C5C40 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0FA7B4 7F0C5C44 24010001 */ li $at, 1 -.Ljp7F0C5C48: -/* 0FA7B8 7F0C5C48 10410017 */ beq $v0, $at, .Ljp7F0C5CA8 -/* 0FA7BC 7F0C5C4C 000268C0 */ sll $t5, $v0, 3 -/* 0FA7C0 7F0C5C50 01A26823 */ subu $t5, $t5, $v0 -/* 0FA7C4 7F0C5C54 3C0F8008 */ lui $t7, %hi(player1_player_data) # $t7, 0x8008 -/* 0FA7C8 7F0C5C58 25EF9F60 */ addiu $t7, %lo(player1_player_data) # addiu $t7, $t7, -0x60a0 -/* 0FA7CC 7F0C5C5C 000D6900 */ sll $t5, $t5, 4 -/* 0FA7D0 7F0C5C60 01AFC021 */ addu $t8, $t5, $t7 -/* 0FA7D4 7F0C5C64 0C001145 */ jal get_video2_settings_ulx -/* 0FA7D8 7F0C5C68 AFB80044 */ sw $t8, 0x44($sp) -/* 0FA7DC 7F0C5C6C 00028400 */ sll $s0, $v0, 0x10 -/* 0FA7E0 7F0C5C70 00107403 */ sra $t6, $s0, 0x10 -/* 0FA7E4 7F0C5C74 0C001149 */ jal get_video2_settings_uly -/* 0FA7E8 7F0C5C78 01C08025 */ move $s0, $t6 -/* 0FA7EC 7F0C5C7C 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0FA7F0 7F0C5C80 8FB90044 */ lw $t9, 0x44($sp) -/* 0FA7F4 7F0C5C84 02202025 */ move $a0, $s1 -/* 0FA7F8 7F0C5C88 020C2821 */ addu $a1, $s0, $t4 -/* 0FA7FC 7F0C5C8C 8F270028 */ lw $a3, 0x28($t9) -/* 0FA800 7F0C5C90 AFA00010 */ sw $zero, 0x10($sp) -/* 0FA804 7F0C5C94 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FA808 7F0C5C98 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA80C 7F0C5C9C 24460046 */ addiu $a2, $v0, 0x46 -/* 0FA810 7F0C5CA0 00408825 */ move $s1, $v0 -/* 0FA814 7F0C5CA4 8FA200D4 */ lw $v0, 0xd4($sp) -.Ljp7F0C5CA8: -/* 0FA818 7F0C5CA8 24010002 */ li $at, 2 -/* 0FA81C 7F0C5CAC 10410017 */ beq $v0, $at, .Ljp7F0C5D0C -/* 0FA820 7F0C5CB0 000258C0 */ sll $t3, $v0, 3 -/* 0FA824 7F0C5CB4 01625823 */ subu $t3, $t3, $v0 -/* 0FA828 7F0C5CB8 3C0D8008 */ lui $t5, %hi(player1_player_data) # $t5, 0x8008 -/* 0FA82C 7F0C5CBC 25AD9F60 */ addiu $t5, %lo(player1_player_data) # addiu $t5, $t5, -0x60a0 -/* 0FA830 7F0C5CC0 000B5900 */ sll $t3, $t3, 4 -/* 0FA834 7F0C5CC4 016D7821 */ addu $t7, $t3, $t5 -/* 0FA838 7F0C5CC8 0C001145 */ jal get_video2_settings_ulx -/* 0FA83C 7F0C5CCC AFAF0044 */ sw $t7, 0x44($sp) -/* 0FA840 7F0C5CD0 00028400 */ sll $s0, $v0, 0x10 -/* 0FA844 7F0C5CD4 0010C403 */ sra $t8, $s0, 0x10 -/* 0FA848 7F0C5CD8 0C001149 */ jal get_video2_settings_uly -/* 0FA84C 7F0C5CDC 03008025 */ move $s0, $t8 -/* 0FA850 7F0C5CE0 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FA854 7F0C5CE4 8FAC0044 */ lw $t4, 0x44($sp) -/* 0FA858 7F0C5CE8 02202025 */ move $a0, $s1 -/* 0FA85C 7F0C5CEC 020E2821 */ addu $a1, $s0, $t6 -/* 0FA860 7F0C5CF0 8D87002C */ lw $a3, 0x2c($t4) -/* 0FA864 7F0C5CF4 AFA00010 */ sw $zero, 0x10($sp) -/* 0FA868 7F0C5CF8 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FA86C 7F0C5CFC 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA870 7F0C5D00 24460056 */ addiu $a2, $v0, 0x56 -/* 0FA874 7F0C5D04 00408825 */ move $s1, $v0 -/* 0FA878 7F0C5D08 8FA200D4 */ lw $v0, 0xd4($sp) -.Ljp7F0C5D0C: -/* 0FA87C 7F0C5D0C 8FB900D0 */ lw $t9, 0xd0($sp) -/* 0FA880 7F0C5D10 24010004 */ li $at, 4 -/* 0FA884 7F0C5D14 17210018 */ bne $t9, $at, .Ljp7F0C5D78 -/* 0FA888 7F0C5D18 24010003 */ li $at, 3 -/* 0FA88C 7F0C5D1C 10410016 */ beq $v0, $at, .Ljp7F0C5D78 -/* 0FA890 7F0C5D20 000258C0 */ sll $t3, $v0, 3 -/* 0FA894 7F0C5D24 01625823 */ subu $t3, $t3, $v0 -/* 0FA898 7F0C5D28 3C0D8008 */ lui $t5, %hi(player1_player_data) # $t5, 0x8008 -/* 0FA89C 7F0C5D2C 25AD9F60 */ addiu $t5, %lo(player1_player_data) # addiu $t5, $t5, -0x60a0 -/* 0FA8A0 7F0C5D30 000B5900 */ sll $t3, $t3, 4 -/* 0FA8A4 7F0C5D34 016D7821 */ addu $t7, $t3, $t5 -/* 0FA8A8 7F0C5D38 0C001145 */ jal get_video2_settings_ulx -/* 0FA8AC 7F0C5D3C AFAF0044 */ sw $t7, 0x44($sp) -/* 0FA8B0 7F0C5D40 00028400 */ sll $s0, $v0, 0x10 -/* 0FA8B4 7F0C5D44 0010C403 */ sra $t8, $s0, 0x10 -/* 0FA8B8 7F0C5D48 0C001149 */ jal get_video2_settings_uly -/* 0FA8BC 7F0C5D4C 03008025 */ move $s0, $t8 -/* 0FA8C0 7F0C5D50 8FAE00A8 */ lw $t6, 0xa8($sp) -/* 0FA8C4 7F0C5D54 8FAC0044 */ lw $t4, 0x44($sp) -/* 0FA8C8 7F0C5D58 02202025 */ move $a0, $s1 -/* 0FA8CC 7F0C5D5C 020E2821 */ addu $a1, $s0, $t6 -/* 0FA8D0 7F0C5D60 8D870030 */ lw $a3, 0x30($t4) -/* 0FA8D4 7F0C5D64 AFA00010 */ sw $zero, 0x10($sp) -/* 0FA8D8 7F0C5D68 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FA8DC 7F0C5D6C 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FA8E0 7F0C5D70 24460056 */ addiu $a2, $v0, 0x56 -/* 0FA8E4 7F0C5D74 00408825 */ move $s1, $v0 -.Ljp7F0C5D78: -/* 0FA8E8 7F0C5D78 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0FA8EC 7F0C5D7C 1000029D */ b .Ljp7F0C67F4 -/* 0FA8F0 7F0C5D80 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -.Ljp7F0C5D84: -/* 0FA8F4 7F0C5D84 24010001 */ li $at, 1 -/* 0FA8F8 7F0C5D88 144101A9 */ bne $v0, $at, .Ljp7F0C6430 -/* 0FA8FC 7F0C5D8C 3C048009 */ lui $a0, %hi(is_gameover_flag) # $a0, 0x8009 -/* 0FA900 7F0C5D90 8C84C774 */ lw $a0, %lo(is_gameover_flag)($a0) -/* 0FA904 7F0C5D94 2C990001 */ sltiu $t9, $a0, 1 -/* 0FA908 7F0C5D98 13200005 */ beqz $t9, .Ljp7F0C5DB0 -/* 0FA90C 7F0C5D9C 03202025 */ move $a0, $t9 -/* 0FA910 7F0C5DA0 3C048009 */ lui $a0, %hi(stop_play_flag) # $a0, 0x8009 -/* 0FA914 7F0C5DA4 8C84C770 */ lw $a0, %lo(stop_play_flag)($a0) -/* 0FA918 7F0C5DA8 2C8B0001 */ sltiu $t3, $a0, 1 -/* 0FA91C 7F0C5DAC 01602025 */ move $a0, $t3 -.Ljp7F0C5DB0: -/* 0FA920 7F0C5DB0 0FC31303 */ jal true_if_displaying_rank_in_mp -/* 0FA924 7F0C5DB4 00000000 */ nop -/* 0FA928 7F0C5DB8 10400034 */ beqz $v0, .Ljp7F0C5E8C -/* 0FA92C 7F0C5DBC 27A400AC */ addiu $a0, $sp, 0xac -/* 0FA930 7F0C5DC0 0FC31251 */ jal write_playerrank_to_buffer -/* 0FA934 7F0C5DC4 8FA500D4 */ lw $a1, 0xd4($sp) -/* 0FA938 7F0C5DC8 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0FA93C 7F0C5DCC 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FA940 7F0C5DD0 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FA944 7F0C5DD4 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FA948 7F0C5DD8 27A400BC */ addiu $a0, $sp, 0xbc -/* 0FA94C 7F0C5DDC 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0FA950 7F0C5DE0 27A600AC */ addiu $a2, $sp, 0xac -/* 0FA954 7F0C5DE4 AFA00014 */ sw $zero, 0x14($sp) -/* 0FA958 7F0C5DE8 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FA95C 7F0C5DEC AFAD0010 */ sw $t5, 0x10($sp) -/* 0FA960 7F0C5DF0 0C001145 */ jal get_video2_settings_ulx -/* 0FA964 7F0C5DF4 00000000 */ nop -/* 0FA968 7F0C5DF8 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FA96C 7F0C5DFC 8FAE00C0 */ lw $t6, 0xc0($sp) -/* 0FA970 7F0C5E00 004FC021 */ addu $t8, $v0, $t7 -/* 0FA974 7F0C5E04 000E6043 */ sra $t4, $t6, 1 -/* 0FA978 7F0C5E08 030C2023 */ subu $a0, $t8, $t4 -/* 0FA97C 7F0C5E0C 24840050 */ addiu $a0, $a0, 0x50 -/* 0FA980 7F0C5E10 0C001149 */ jal get_video2_settings_uly -/* 0FA984 7F0C5E14 AFA400CC */ sw $a0, 0xcc($sp) -/* 0FA988 7F0C5E18 8FB900BC */ lw $t9, 0xbc($sp) -/* 0FA98C 7F0C5E1C 00195843 */ sra $t3, $t9, 1 -/* 0FA990 7F0C5E20 004B6823 */ subu $t5, $v0, $t3 -/* 0FA994 7F0C5E24 25AF0025 */ addiu $t7, $t5, 0x25 -/* 0FA998 7F0C5E28 0C001107 */ jal get_video2_settings_txtClipW -/* 0FA99C 7F0C5E2C AFAF00C8 */ sw $t7, 0xc8($sp) -/* 0FA9A0 7F0C5E30 00028400 */ sll $s0, $v0, 0x10 -/* 0FA9A4 7F0C5E34 00107403 */ sra $t6, $s0, 0x10 -/* 0FA9A8 7F0C5E38 0C00110B */ jal get_video2_settings_txtClipH -/* 0FA9AC 7F0C5E3C 01C08025 */ move $s0, $t6 -/* 0FA9B0 7F0C5E40 3C188004 */ lui $t8, %hi(ptrSecondFontTableSmall) # $t8, 0x8004 -/* 0FA9B4 7F0C5E44 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) # $t4, 0x8004 -/* 0FA9B8 7F0C5E48 8D8C0EDC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FA9BC 7F0C5E4C 8F180EE0 */ lw $t8, %lo(ptrSecondFontTableSmall)($t8) -/* 0FA9C0 7F0C5E50 3C1900FF */ lui $t9, (0x00FF00B0 >> 16) # lui $t9, 0xff -/* 0FA9C4 7F0C5E54 373900B0 */ ori $t9, (0x00FF00B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0FA9C8 7F0C5E58 AFB90018 */ sw $t9, 0x18($sp) -/* 0FA9CC 7F0C5E5C 02202025 */ move $a0, $s1 -/* 0FA9D0 7F0C5E60 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FA9D4 7F0C5E64 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FA9D8 7F0C5E68 27A700AC */ addiu $a3, $sp, 0xac -/* 0FA9DC 7F0C5E6C AFB0001C */ sw $s0, 0x1c($sp) -/* 0FA9E0 7F0C5E70 AFA20020 */ sw $v0, 0x20($sp) -/* 0FA9E4 7F0C5E74 AFA00024 */ sw $zero, 0x24($sp) -/* 0FA9E8 7F0C5E78 AFA00028 */ sw $zero, 0x28($sp) -/* 0FA9EC 7F0C5E7C AFAC0014 */ sw $t4, 0x14($sp) -/* 0FA9F0 7F0C5E80 0FC2B99B */ jal en_text_write_stuff -/* 0FA9F4 7F0C5E84 AFB80010 */ sw $t8, 0x10($sp) -/* 0FA9F8 7F0C5E88 00408825 */ move $s1, $v0 -.Ljp7F0C5E8C: -/* 0FA9FC 7F0C5E8C 0FC30AA2 */ jal get_textptr_for_textID -/* 0FAA00 7F0C5E90 3404A01C */ li $a0, 40988 -/* 0FAA04 7F0C5E94 3404A01E */ li $a0, 40990 -/* 0FAA08 7F0C5E98 0FC30AA2 */ jal get_textptr_for_textID -/* 0FAA0C 7F0C5E9C AFA2004C */ sw $v0, 0x4c($sp) -/* 0FAA10 7F0C5EA0 8FA700D4 */ lw $a3, 0xd4($sp) -/* 0FAA14 7F0C5EA4 3C058006 */ lui $a1, %hi(ascii_pnum_LOSSES) # $a1, 0x8006 -/* 0FAA18 7F0C5EA8 24A5BC78 */ addiu $a1, %lo(ascii_pnum_LOSSES) # addiu $a1, $a1, -0x4388 -/* 0FAA1C 7F0C5EAC 8FA6004C */ lw $a2, 0x4c($sp) -/* 0FAA20 7F0C5EB0 27A400AC */ addiu $a0, $sp, 0xac -/* 0FAA24 7F0C5EB4 AFA20010 */ sw $v0, 0x10($sp) -/* 0FAA28 7F0C5EB8 0C002B29 */ jal sprintf -/* 0FAA2C 7F0C5EBC 24E70001 */ addiu $a3, $a3, 1 -/* 0FAA30 7F0C5EC0 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) # $t3, 0x8004 -/* 0FAA34 7F0C5EC4 8D6B0EDC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0FAA38 7F0C5EC8 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FAA3C 7F0C5ECC 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FAA40 7F0C5ED0 27A400BC */ addiu $a0, $sp, 0xbc -/* 0FAA44 7F0C5ED4 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0FAA48 7F0C5ED8 27A600AC */ addiu $a2, $sp, 0xac -/* 0FAA4C 7F0C5EDC AFA00014 */ sw $zero, 0x14($sp) -/* 0FAA50 7F0C5EE0 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FAA54 7F0C5EE4 AFAB0010 */ sw $t3, 0x10($sp) -/* 0FAA58 7F0C5EE8 0C001145 */ jal get_video2_settings_ulx -/* 0FAA5C 7F0C5EEC 00000000 */ nop -/* 0FAA60 7F0C5EF0 8FAD00A8 */ lw $t5, 0xa8($sp) -/* 0FAA64 7F0C5EF4 8FAE00C0 */ lw $t6, 0xc0($sp) -/* 0FAA68 7F0C5EF8 004D7821 */ addu $t7, $v0, $t5 -/* 0FAA6C 7F0C5EFC 000EC043 */ sra $t8, $t6, 1 -/* 0FAA70 7F0C5F00 01F82023 */ subu $a0, $t7, $t8 -/* 0FAA74 7F0C5F04 24840050 */ addiu $a0, $a0, 0x50 -/* 0FAA78 7F0C5F08 0C001149 */ jal get_video2_settings_uly -/* 0FAA7C 7F0C5F0C AFA400CC */ sw $a0, 0xcc($sp) -/* 0FAA80 7F0C5F10 8FAC00BC */ lw $t4, 0xbc($sp) -/* 0FAA84 7F0C5F14 000CC843 */ sra $t9, $t4, 1 -/* 0FAA88 7F0C5F18 00595823 */ subu $t3, $v0, $t9 -/* 0FAA8C 7F0C5F1C 256D0035 */ addiu $t5, $t3, 0x35 -/* 0FAA90 7F0C5F20 0C001107 */ jal get_video2_settings_txtClipW -/* 0FAA94 7F0C5F24 AFAD00C8 */ sw $t5, 0xc8($sp) -/* 0FAA98 7F0C5F28 00028400 */ sll $s0, $v0, 0x10 -/* 0FAA9C 7F0C5F2C 00107403 */ sra $t6, $s0, 0x10 -/* 0FAAA0 7F0C5F30 0C00110B */ jal get_video2_settings_txtClipH -/* 0FAAA4 7F0C5F34 01C08025 */ move $s0, $t6 -/* 0FAAA8 7F0C5F38 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) # $t7, 0x8004 -/* 0FAAAC 7F0C5F3C 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) # $t8, 0x8004 -/* 0FAAB0 7F0C5F40 8F180EDC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0FAAB4 7F0C5F44 8DEF0EE0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0FAAB8 7F0C5F48 3C0CFF40 */ lui $t4, (0xFF4040B0 >> 16) # lui $t4, 0xff40 -/* 0FAABC 7F0C5F4C 358C40B0 */ ori $t4, (0xFF4040B0 & 0xFFFF) # ori $t4, $t4, 0x40b0 -/* 0FAAC0 7F0C5F50 AFAC0018 */ sw $t4, 0x18($sp) -/* 0FAAC4 7F0C5F54 02202025 */ move $a0, $s1 -/* 0FAAC8 7F0C5F58 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FAACC 7F0C5F5C 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FAAD0 7F0C5F60 27A700AC */ addiu $a3, $sp, 0xac -/* 0FAAD4 7F0C5F64 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FAAD8 7F0C5F68 AFA20020 */ sw $v0, 0x20($sp) -/* 0FAADC 7F0C5F6C AFA00024 */ sw $zero, 0x24($sp) -/* 0FAAE0 7F0C5F70 AFA00028 */ sw $zero, 0x28($sp) -/* 0FAAE4 7F0C5F74 AFB80014 */ sw $t8, 0x14($sp) -/* 0FAAE8 7F0C5F78 0FC2B99B */ jal en_text_write_stuff -/* 0FAAEC 7F0C5F7C AFAF0010 */ sw $t7, 0x10($sp) -/* 0FAAF0 7F0C5F80 8FB900D0 */ lw $t9, 0xd0($sp) -/* 0FAAF4 7F0C5F84 24010002 */ li $at, 2 -/* 0FAAF8 7F0C5F88 00408825 */ move $s1, $v0 -/* 0FAAFC 7F0C5F8C 17210062 */ bne $t9, $at, .Ljp7F0C6118 -/* 0FAB00 7F0C5F90 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 0FAB04 7F0C5F94 8FA200D4 */ lw $v0, 0xd4($sp) -/* 0FAB08 7F0C5F98 3C188008 */ lui $t8, %hi(player1_player_data + 0x24) # $t8, 0x8008 -/* 0FAB0C 7F0C5F9C 10400016 */ beqz $v0, .Ljp7F0C5FF8 -/* 0FAB10 7F0C5FA0 00000000 */ nop -/* 0FAB14 7F0C5FA4 0C001145 */ jal get_video2_settings_ulx -/* 0FAB18 7F0C5FA8 00000000 */ nop -/* 0FAB1C 7F0C5FAC 00028400 */ sll $s0, $v0, 0x10 -/* 0FAB20 7F0C5FB0 00105C03 */ sra $t3, $s0, 0x10 -/* 0FAB24 7F0C5FB4 0C001149 */ jal get_video2_settings_uly -/* 0FAB28 7F0C5FB8 01608025 */ move $s0, $t3 -/* 0FAB2C 7F0C5FBC 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0FAB30 7F0C5FC0 8FAD00A8 */ lw $t5, 0xa8($sp) -/* 0FAB34 7F0C5FC4 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0FAB38 7F0C5FC8 000E7880 */ sll $t7, $t6, 2 -/* 0FAB3C 7F0C5FCC 00EF3821 */ addu $a3, $a3, $t7 -/* 0FAB40 7F0C5FD0 020D2821 */ addu $a1, $s0, $t5 -/* 0FAB44 7F0C5FD4 24A50050 */ addiu $a1, $a1, 0x50 -/* 0FAB48 7F0C5FD8 8CE79F84 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0FAB4C 7F0C5FDC 02202025 */ move $a0, $s1 -/* 0FAB50 7F0C5FE0 24460046 */ addiu $a2, $v0, 0x46 -/* 0FAB54 7F0C5FE4 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAB58 7F0C5FE8 AFA00010 */ sw $zero, 0x10($sp) -/* 0FAB5C 7F0C5FEC 00408825 */ move $s1, $v0 -/* 0FAB60 7F0C5FF0 10000019 */ b .Ljp7F0C6058 -/* 0FAB64 7F0C5FF4 8FA200D4 */ lw $v0, 0xd4($sp) -.Ljp7F0C5FF8: -/* 0FAB68 7F0C5FF8 8F189F84 */ lw $t8, %lo(player1_player_data + 0x24)($t8) -/* 0FAB6C 7F0C5FFC 5B000017 */ blezl $t8, .Ljp7F0C605C -/* 0FAB70 7F0C6000 24010001 */ li $at, 1 -/* 0FAB74 7F0C6004 0C001145 */ jal get_video2_settings_ulx -/* 0FAB78 7F0C6008 00000000 */ nop -/* 0FAB7C 7F0C600C 00028400 */ sll $s0, $v0, 0x10 -/* 0FAB80 7F0C6010 00106403 */ sra $t4, $s0, 0x10 -/* 0FAB84 7F0C6014 0C001149 */ jal get_video2_settings_uly -/* 0FAB88 7F0C6018 01808025 */ move $s0, $t4 -/* 0FAB8C 7F0C601C 8FAB00D4 */ lw $t3, 0xd4($sp) -/* 0FAB90 7F0C6020 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0FAB94 7F0C6024 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0FAB98 7F0C6028 000B6880 */ sll $t5, $t3, 2 -/* 0FAB9C 7F0C602C 00ED3821 */ addu $a3, $a3, $t5 -/* 0FABA0 7F0C6030 240E0003 */ li $t6, 3 -/* 0FABA4 7F0C6034 02192821 */ addu $a1, $s0, $t9 -/* 0FABA8 7F0C6038 24A50050 */ addiu $a1, $a1, 0x50 -/* 0FABAC 7F0C603C AFAE0010 */ sw $t6, 0x10($sp) -/* 0FABB0 7F0C6040 8CE79F84 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0FABB4 7F0C6044 02202025 */ move $a0, $s1 -/* 0FABB8 7F0C6048 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FABBC 7F0C604C 24460046 */ addiu $a2, $v0, 0x46 -/* 0FABC0 7F0C6050 00408825 */ move $s1, $v0 -/* 0FABC4 7F0C6054 8FA200D4 */ lw $v0, 0xd4($sp) -.Ljp7F0C6058: -/* 0FABC8 7F0C6058 24010001 */ li $at, 1 -.Ljp7F0C605C: -/* 0FABCC 7F0C605C 10410016 */ beq $v0, $at, .Ljp7F0C60B8 -/* 0FABD0 7F0C6060 3C0E8008 */ lui $t6, %hi(player2_player_data + 0x28) # $t6, 0x8008 -/* 0FABD4 7F0C6064 3C188008 */ lui $t8, %hi(player1_player_data) # $t8, 0x8008 -/* 0FABD8 7F0C6068 27189F60 */ addiu $t8, %lo(player1_player_data) # addiu $t8, $t8, -0x60a0 -/* 0FABDC 7F0C606C 00027880 */ sll $t7, $v0, 2 -/* 0FABE0 7F0C6070 01F86021 */ addu $t4, $t7, $t8 -/* 0FABE4 7F0C6074 0C001145 */ jal get_video2_settings_ulx -/* 0FABE8 7F0C6078 AFAC0044 */ sw $t4, 0x44($sp) -/* 0FABEC 7F0C607C 00028400 */ sll $s0, $v0, 0x10 -/* 0FABF0 7F0C6080 0010CC03 */ sra $t9, $s0, 0x10 -/* 0FABF4 7F0C6084 0C001149 */ jal get_video2_settings_uly -/* 0FABF8 7F0C6088 03208025 */ move $s0, $t9 -/* 0FABFC 7F0C608C 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0FAC00 7F0C6090 8FAD0044 */ lw $t5, 0x44($sp) -/* 0FAC04 7F0C6094 02202025 */ move $a0, $s1 -/* 0FAC08 7F0C6098 020B2821 */ addu $a1, $s0, $t3 -/* 0FAC0C 7F0C609C 8DA70094 */ lw $a3, 0x94($t5) -/* 0FAC10 7F0C60A0 AFA00010 */ sw $zero, 0x10($sp) -/* 0FAC14 7F0C60A4 24A50050 */ addiu $a1, $a1, 0x50 -/* 0FAC18 7F0C60A8 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAC1C 7F0C60AC 24460056 */ addiu $a2, $v0, 0x56 -/* 0FAC20 7F0C60B0 100000DC */ b .Ljp7F0C6424 -/* 0FAC24 7F0C60B4 00408825 */ move $s1, $v0 -.Ljp7F0C60B8: -/* 0FAC28 7F0C60B8 8DCE9FF8 */ lw $t6, %lo(player2_player_data + 0x28)($t6) -/* 0FAC2C 7F0C60BC 3C188008 */ lui $t8, %hi(player1_player_data) # $t8, 0x8008 -/* 0FAC30 7F0C60C0 27189F60 */ addiu $t8, %lo(player1_player_data) # addiu $t8, $t8, -0x60a0 -/* 0FAC34 7F0C60C4 19C000D7 */ blez $t6, .Ljp7F0C6424 -/* 0FAC38 7F0C60C8 00027880 */ sll $t7, $v0, 2 -/* 0FAC3C 7F0C60CC 01F86021 */ addu $t4, $t7, $t8 -/* 0FAC40 7F0C60D0 0C001145 */ jal get_video2_settings_ulx -/* 0FAC44 7F0C60D4 AFAC0044 */ sw $t4, 0x44($sp) -/* 0FAC48 7F0C60D8 00028400 */ sll $s0, $v0, 0x10 -/* 0FAC4C 7F0C60DC 0010CC03 */ sra $t9, $s0, 0x10 -/* 0FAC50 7F0C60E0 0C001149 */ jal get_video2_settings_uly -/* 0FAC54 7F0C60E4 03208025 */ move $s0, $t9 -/* 0FAC58 7F0C60E8 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0FAC5C 7F0C60EC 8FAD0044 */ lw $t5, 0x44($sp) -/* 0FAC60 7F0C60F0 240E0003 */ li $t6, 3 -/* 0FAC64 7F0C60F4 020B2821 */ addu $a1, $s0, $t3 -/* 0FAC68 7F0C60F8 8DA70094 */ lw $a3, 0x94($t5) -/* 0FAC6C 7F0C60FC AFAE0010 */ sw $t6, 0x10($sp) -/* 0FAC70 7F0C6100 24A50050 */ addiu $a1, $a1, 0x50 -/* 0FAC74 7F0C6104 02202025 */ move $a0, $s1 -/* 0FAC78 7F0C6108 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAC7C 7F0C610C 24460056 */ addiu $a2, $v0, 0x56 -/* 0FAC80 7F0C6110 100000C4 */ b .Ljp7F0C6424 -/* 0FAC84 7F0C6114 00408825 */ move $s1, $v0 -.Ljp7F0C6118: -/* 0FAC88 7F0C6118 11E00015 */ beqz $t7, .Ljp7F0C6170 -/* 0FAC8C 7F0C611C 3C0D8008 */ lui $t5, %hi(player1_player_data + 0x24) # $t5, 0x8008 -/* 0FAC90 7F0C6120 0C001145 */ jal get_video2_settings_ulx -/* 0FAC94 7F0C6124 00000000 */ nop -/* 0FAC98 7F0C6128 00028400 */ sll $s0, $v0, 0x10 -/* 0FAC9C 7F0C612C 0010C403 */ sra $t8, $s0, 0x10 -/* 0FACA0 7F0C6130 0C001149 */ jal get_video2_settings_uly -/* 0FACA4 7F0C6134 03008025 */ move $s0, $t8 -/* 0FACA8 7F0C6138 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0FACAC 7F0C613C 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0FACB0 7F0C6140 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0FACB4 7F0C6144 00195880 */ sll $t3, $t9, 2 -/* 0FACB8 7F0C6148 00EB3821 */ addu $a3, $a3, $t3 -/* 0FACBC 7F0C614C 020C2821 */ addu $a1, $s0, $t4 -/* 0FACC0 7F0C6150 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FACC4 7F0C6154 8CE79F84 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0FACC8 7F0C6158 02202025 */ move $a0, $s1 -/* 0FACCC 7F0C615C 24460046 */ addiu $a2, $v0, 0x46 -/* 0FACD0 7F0C6160 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FACD4 7F0C6164 AFA00010 */ sw $zero, 0x10($sp) -/* 0FACD8 7F0C6168 10000018 */ b .Ljp7F0C61CC -/* 0FACDC 7F0C616C 00408825 */ move $s1, $v0 -.Ljp7F0C6170: -/* 0FACE0 7F0C6170 8DAD9F84 */ lw $t5, %lo(player1_player_data + 0x24)($t5) -/* 0FACE4 7F0C6174 59A00016 */ blezl $t5, .Ljp7F0C61D0 -/* 0FACE8 7F0C6178 8FAB00D4 */ lw $t3, 0xd4($sp) -/* 0FACEC 7F0C617C 0C001145 */ jal get_video2_settings_ulx -/* 0FACF0 7F0C6180 00000000 */ nop -/* 0FACF4 7F0C6184 00028400 */ sll $s0, $v0, 0x10 -/* 0FACF8 7F0C6188 00107403 */ sra $t6, $s0, 0x10 -/* 0FACFC 7F0C618C 0C001149 */ jal get_video2_settings_uly -/* 0FAD00 7F0C6190 01C08025 */ move $s0, $t6 -/* 0FAD04 7F0C6194 8FB800D4 */ lw $t8, 0xd4($sp) -/* 0FAD08 7F0C6198 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FAD0C 7F0C619C 3C078008 */ lui $a3, %hi(player1_player_data+36) -/* 0FAD10 7F0C61A0 00186080 */ sll $t4, $t8, 2 -/* 0FAD14 7F0C61A4 00EC3821 */ addu $a3, $a3, $t4 -/* 0FAD18 7F0C61A8 24190003 */ li $t9, 3 -/* 0FAD1C 7F0C61AC 020F2821 */ addu $a1, $s0, $t7 -/* 0FAD20 7F0C61B0 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FAD24 7F0C61B4 AFB90010 */ sw $t9, 0x10($sp) -/* 0FAD28 7F0C61B8 8CE79F84 */ lw $a3, %lo(player1_player_data+36)($a3) -/* 0FAD2C 7F0C61BC 02202025 */ move $a0, $s1 -/* 0FAD30 7F0C61C0 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAD34 7F0C61C4 24460046 */ addiu $a2, $v0, 0x46 -/* 0FAD38 7F0C61C8 00408825 */ move $s1, $v0 -.Ljp7F0C61CC: -/* 0FAD3C 7F0C61CC 8FAB00D4 */ lw $t3, 0xd4($sp) -.Ljp7F0C61D0: -/* 0FAD40 7F0C61D0 24010001 */ li $at, 1 -/* 0FAD44 7F0C61D4 3C0E8008 */ lui $t6, %hi(player1_player_data) # $t6, 0x8008 -/* 0FAD48 7F0C61D8 11610014 */ beq $t3, $at, .Ljp7F0C622C -/* 0FAD4C 7F0C61DC 000B6880 */ sll $t5, $t3, 2 -/* 0FAD50 7F0C61E0 25CE9F60 */ addiu $t6, %lo(player1_player_data) # addiu $t6, $t6, -0x60a0 -/* 0FAD54 7F0C61E4 01AE7821 */ addu $t7, $t5, $t6 -/* 0FAD58 7F0C61E8 0C001145 */ jal get_video2_settings_ulx -/* 0FAD5C 7F0C61EC AFAF0044 */ sw $t7, 0x44($sp) -/* 0FAD60 7F0C61F0 00028400 */ sll $s0, $v0, 0x10 -/* 0FAD64 7F0C61F4 0010C403 */ sra $t8, $s0, 0x10 -/* 0FAD68 7F0C61F8 0C001149 */ jal get_video2_settings_uly -/* 0FAD6C 7F0C61FC 03008025 */ move $s0, $t8 -/* 0FAD70 7F0C6200 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0FAD74 7F0C6204 8FB90044 */ lw $t9, 0x44($sp) -/* 0FAD78 7F0C6208 02202025 */ move $a0, $s1 -/* 0FAD7C 7F0C620C 020C2821 */ addu $a1, $s0, $t4 -/* 0FAD80 7F0C6210 8F270094 */ lw $a3, 0x94($t9) -/* 0FAD84 7F0C6214 AFA00010 */ sw $zero, 0x10($sp) -/* 0FAD88 7F0C6218 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FAD8C 7F0C621C 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAD90 7F0C6220 24460046 */ addiu $a2, $v0, 0x46 -/* 0FAD94 7F0C6224 1000001A */ b .Ljp7F0C6290 -/* 0FAD98 7F0C6228 00408825 */ move $s1, $v0 -.Ljp7F0C622C: -/* 0FAD9C 7F0C622C 3C0B8008 */ lui $t3, %hi(player2_player_data + 0x28) # $t3, 0x8008 -/* 0FADA0 7F0C6230 8D6B9FF8 */ lw $t3, %lo(player2_player_data + 0x28)($t3) -/* 0FADA4 7F0C6234 8FAD00D4 */ lw $t5, 0xd4($sp) -/* 0FADA8 7F0C6238 3C0F8008 */ lui $t7, %hi(player1_player_data) # $t7, 0x8008 -/* 0FADAC 7F0C623C 19600014 */ blez $t3, .Ljp7F0C6290 -/* 0FADB0 7F0C6240 000D7080 */ sll $t6, $t5, 2 -/* 0FADB4 7F0C6244 25EF9F60 */ addiu $t7, %lo(player1_player_data) # addiu $t7, $t7, -0x60a0 -/* 0FADB8 7F0C6248 01CFC021 */ addu $t8, $t6, $t7 -/* 0FADBC 7F0C624C 0C001145 */ jal get_video2_settings_ulx -/* 0FADC0 7F0C6250 AFB80044 */ sw $t8, 0x44($sp) -/* 0FADC4 7F0C6254 00028400 */ sll $s0, $v0, 0x10 -/* 0FADC8 7F0C6258 00106403 */ sra $t4, $s0, 0x10 -/* 0FADCC 7F0C625C 0C001149 */ jal get_video2_settings_uly -/* 0FADD0 7F0C6260 01808025 */ move $s0, $t4 -/* 0FADD4 7F0C6264 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0FADD8 7F0C6268 8FAB0044 */ lw $t3, 0x44($sp) -/* 0FADDC 7F0C626C 240D0003 */ li $t5, 3 -/* 0FADE0 7F0C6270 02192821 */ addu $a1, $s0, $t9 -/* 0FADE4 7F0C6274 8D670094 */ lw $a3, 0x94($t3) -/* 0FADE8 7F0C6278 AFAD0010 */ sw $t5, 0x10($sp) -/* 0FADEC 7F0C627C 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FADF0 7F0C6280 02202025 */ move $a0, $s1 -/* 0FADF4 7F0C6284 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FADF8 7F0C6288 24460046 */ addiu $a2, $v0, 0x46 -/* 0FADFC 7F0C628C 00408825 */ move $s1, $v0 -.Ljp7F0C6290: -/* 0FAE00 7F0C6290 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0FAE04 7F0C6294 24010002 */ li $at, 2 -/* 0FAE08 7F0C6298 3C188008 */ lui $t8, %hi(player1_player_data) # $t8, 0x8008 -/* 0FAE0C 7F0C629C 11C10014 */ beq $t6, $at, .Ljp7F0C62F0 -/* 0FAE10 7F0C62A0 000E7880 */ sll $t7, $t6, 2 -/* 0FAE14 7F0C62A4 27189F60 */ addiu $t8, %lo(player1_player_data) # addiu $t8, $t8, -0x60a0 -/* 0FAE18 7F0C62A8 01F86021 */ addu $t4, $t7, $t8 -/* 0FAE1C 7F0C62AC 0C001145 */ jal get_video2_settings_ulx -/* 0FAE20 7F0C62B0 AFAC0044 */ sw $t4, 0x44($sp) -/* 0FAE24 7F0C62B4 00028400 */ sll $s0, $v0, 0x10 -/* 0FAE28 7F0C62B8 0010CC03 */ sra $t9, $s0, 0x10 -/* 0FAE2C 7F0C62BC 0C001149 */ jal get_video2_settings_uly -/* 0FAE30 7F0C62C0 03208025 */ move $s0, $t9 -/* 0FAE34 7F0C62C4 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0FAE38 7F0C62C8 8FAD0044 */ lw $t5, 0x44($sp) -/* 0FAE3C 7F0C62CC 02202025 */ move $a0, $s1 -/* 0FAE40 7F0C62D0 020B2821 */ addu $a1, $s0, $t3 -/* 0FAE44 7F0C62D4 8DA70104 */ lw $a3, 0x104($t5) -/* 0FAE48 7F0C62D8 AFA00010 */ sw $zero, 0x10($sp) -/* 0FAE4C 7F0C62DC 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FAE50 7F0C62E0 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAE54 7F0C62E4 24460056 */ addiu $a2, $v0, 0x56 -/* 0FAE58 7F0C62E8 1000001A */ b .Ljp7F0C6354 -/* 0FAE5C 7F0C62EC 00408825 */ move $s1, $v0 -.Ljp7F0C62F0: -/* 0FAE60 7F0C62F0 3C0E8008 */ lui $t6, %hi(player3_player_data + 0x2C) # $t6, 0x8008 -/* 0FAE64 7F0C62F4 8DCEA06C */ lw $t6, %lo(player3_player_data + 0x2C)($t6) -/* 0FAE68 7F0C62F8 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 0FAE6C 7F0C62FC 3C0C8008 */ lui $t4, %hi(player1_player_data) # $t4, 0x8008 -/* 0FAE70 7F0C6300 19C00014 */ blez $t6, .Ljp7F0C6354 -/* 0FAE74 7F0C6304 000FC080 */ sll $t8, $t7, 2 -/* 0FAE78 7F0C6308 258C9F60 */ addiu $t4, %lo(player1_player_data) # addiu $t4, $t4, -0x60a0 -/* 0FAE7C 7F0C630C 030CC821 */ addu $t9, $t8, $t4 -/* 0FAE80 7F0C6310 0C001145 */ jal get_video2_settings_ulx -/* 0FAE84 7F0C6314 AFB90044 */ sw $t9, 0x44($sp) -/* 0FAE88 7F0C6318 00028400 */ sll $s0, $v0, 0x10 -/* 0FAE8C 7F0C631C 00105C03 */ sra $t3, $s0, 0x10 -/* 0FAE90 7F0C6320 0C001149 */ jal get_video2_settings_uly -/* 0FAE94 7F0C6324 01608025 */ move $s0, $t3 -/* 0FAE98 7F0C6328 8FAD00A8 */ lw $t5, 0xa8($sp) -/* 0FAE9C 7F0C632C 8FAE0044 */ lw $t6, 0x44($sp) -/* 0FAEA0 7F0C6330 240F0003 */ li $t7, 3 -/* 0FAEA4 7F0C6334 020D2821 */ addu $a1, $s0, $t5 -/* 0FAEA8 7F0C6338 8DC70104 */ lw $a3, 0x104($t6) -/* 0FAEAC 7F0C633C AFAF0010 */ sw $t7, 0x10($sp) -/* 0FAEB0 7F0C6340 24A50040 */ addiu $a1, $a1, 0x40 -/* 0FAEB4 7F0C6344 02202025 */ move $a0, $s1 -/* 0FAEB8 7F0C6348 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAEBC 7F0C634C 24460056 */ addiu $a2, $v0, 0x56 -/* 0FAEC0 7F0C6350 00408825 */ move $s1, $v0 -.Ljp7F0C6354: -/* 0FAEC4 7F0C6354 8FB800D0 */ lw $t8, 0xd0($sp) -/* 0FAEC8 7F0C6358 24010004 */ li $at, 4 -/* 0FAECC 7F0C635C 8FAC00D4 */ lw $t4, 0xd4($sp) -/* 0FAED0 7F0C6360 17010030 */ bne $t8, $at, .Ljp7F0C6424 -/* 0FAED4 7F0C6364 24010003 */ li $at, 3 -/* 0FAED8 7F0C6368 11810015 */ beq $t4, $at, .Ljp7F0C63C0 -/* 0FAEDC 7F0C636C 000CC880 */ sll $t9, $t4, 2 -/* 0FAEE0 7F0C6370 3C0B8008 */ lui $t3, %hi(player1_player_data) # $t3, 0x8008 -/* 0FAEE4 7F0C6374 256B9F60 */ addiu $t3, %lo(player1_player_data) # addiu $t3, $t3, -0x60a0 -/* 0FAEE8 7F0C6378 032B6821 */ addu $t5, $t9, $t3 -/* 0FAEEC 7F0C637C 0C001145 */ jal get_video2_settings_ulx -/* 0FAEF0 7F0C6380 AFAD0044 */ sw $t5, 0x44($sp) -/* 0FAEF4 7F0C6384 00028400 */ sll $s0, $v0, 0x10 -/* 0FAEF8 7F0C6388 00107403 */ sra $t6, $s0, 0x10 -/* 0FAEFC 7F0C638C 0C001149 */ jal get_video2_settings_uly -/* 0FAF00 7F0C6390 01C08025 */ move $s0, $t6 -/* 0FAF04 7F0C6394 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0FAF08 7F0C6398 8FB80044 */ lw $t8, 0x44($sp) -/* 0FAF0C 7F0C639C 02202025 */ move $a0, $s1 -/* 0FAF10 7F0C63A0 020F2821 */ addu $a1, $s0, $t7 -/* 0FAF14 7F0C63A4 8F070174 */ lw $a3, 0x174($t8) -/* 0FAF18 7F0C63A8 AFA00010 */ sw $zero, 0x10($sp) -/* 0FAF1C 7F0C63AC 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FAF20 7F0C63B0 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAF24 7F0C63B4 24460056 */ addiu $a2, $v0, 0x56 -/* 0FAF28 7F0C63B8 1000001A */ b .Ljp7F0C6424 -/* 0FAF2C 7F0C63BC 00408825 */ move $s1, $v0 -.Ljp7F0C63C0: -/* 0FAF30 7F0C63C0 3C0C8008 */ lui $t4, %hi(player4_player_data+0x30) # $t4, 0x8008 -/* 0FAF34 7F0C63C4 8D8CA0E0 */ lw $t4, %lo(player4_player_data+0x30)($t4) -/* 0FAF38 7F0C63C8 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0FAF3C 7F0C63CC 3C0D8008 */ lui $t5, %hi(player1_player_data) # $t5, 0x8008 -/* 0FAF40 7F0C63D0 19800014 */ blez $t4, .Ljp7F0C6424 -/* 0FAF44 7F0C63D4 00195880 */ sll $t3, $t9, 2 -/* 0FAF48 7F0C63D8 25AD9F60 */ addiu $t5, %lo(player1_player_data) # addiu $t5, $t5, -0x60a0 -/* 0FAF4C 7F0C63DC 016D7021 */ addu $t6, $t3, $t5 -/* 0FAF50 7F0C63E0 0C001145 */ jal get_video2_settings_ulx -/* 0FAF54 7F0C63E4 AFAE0044 */ sw $t6, 0x44($sp) -/* 0FAF58 7F0C63E8 00028400 */ sll $s0, $v0, 0x10 -/* 0FAF5C 7F0C63EC 00107C03 */ sra $t7, $s0, 0x10 -/* 0FAF60 7F0C63F0 0C001149 */ jal get_video2_settings_uly -/* 0FAF64 7F0C63F4 01E08025 */ move $s0, $t7 -/* 0FAF68 7F0C63F8 8FB800A8 */ lw $t8, 0xa8($sp) -/* 0FAF6C 7F0C63FC 8FAC0044 */ lw $t4, 0x44($sp) -/* 0FAF70 7F0C6400 24190003 */ li $t9, 3 -/* 0FAF74 7F0C6404 02182821 */ addu $a1, $s0, $t8 -/* 0FAF78 7F0C6408 8D870174 */ lw $a3, 0x174($t4) -/* 0FAF7C 7F0C640C AFB90010 */ sw $t9, 0x10($sp) -/* 0FAF80 7F0C6410 24A50060 */ addiu $a1, $a1, 0x60 -/* 0FAF84 7F0C6414 02202025 */ move $a0, $s1 -/* 0FAF88 7F0C6418 0FC31094 */ jal display_text_for_playerdata_on_MP_menu -/* 0FAF8C 7F0C641C 24460056 */ addiu $a2, $v0, 0x56 -/* 0FAF90 7F0C6420 00408825 */ move $s1, $v0 -.Ljp7F0C6424: -/* 0FAF94 7F0C6424 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0FAF98 7F0C6428 100000F2 */ b .Ljp7F0C67F4 -/* 0FAF9C 7F0C642C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -.Ljp7F0C6430: -/* 0FAFA0 7F0C6430 544000F1 */ bnezl $v0, .Ljp7F0C67F8 -/* 0FAFA4 7F0C6434 8C6D29C8 */ lw $t5, 0x29c8($v1) -/* 0FAFA8 7F0C6438 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 0FAFAC 7F0C643C 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0FAFB0 7F0C6440 29A10003 */ slti $at, $t5, 3 -/* 0FAFB4 7F0C6444 1420000A */ bnez $at, .Ljp7F0C6470 -/* 0FAFB8 7F0C6448 AFAB0074 */ sw $t3, 0x74($sp) -/* 0FAFBC 7F0C644C 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0FAFC0 7F0C6450 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0FAFC4 7F0C6454 2578FFF9 */ addiu $t8, $t3, -7 -/* 0FAFC8 7F0C6458 31CF0001 */ andi $t7, $t6, 1 -/* 0FAFCC 7F0C645C 11E00003 */ beqz $t7, .Ljp7F0C646C -/* 0FAFD0 7F0C6460 25990007 */ addiu $t9, $t4, 7 -/* 0FAFD4 7F0C6464 10000002 */ b .Ljp7F0C6470 -/* 0FAFD8 7F0C6468 AFB80074 */ sw $t8, 0x74($sp) -.Ljp7F0C646C: -/* 0FAFDC 7F0C646C AFB90074 */ sw $t9, 0x74($sp) -.Ljp7F0C6470: -/* 0FAFE0 7F0C6470 0FC30AA2 */ jal get_textptr_for_textID -/* 0FAFE4 7F0C6474 3404A01F */ li $a0, 40991 -/* 0FAFE8 7F0C6478 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0FAFEC 7F0C647C 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FAFF0 7F0C6480 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FAFF4 7F0C6484 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FAFF8 7F0C6488 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FAFFC 7F0C648C 27A4007C */ addiu $a0, $sp, 0x7c -/* 0FB000 7F0C6490 27A50078 */ addiu $a1, $sp, 0x78 -/* 0FB004 7F0C6494 00403025 */ move $a2, $v0 -/* 0FB008 7F0C6498 AFA00014 */ sw $zero, 0x14($sp) -/* 0FB00C 7F0C649C 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FB010 7F0C64A0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0FB014 7F0C64A4 0C001145 */ jal get_video2_settings_ulx -/* 0FB018 7F0C64A8 00000000 */ nop -/* 0FB01C 7F0C64AC 8FAE0074 */ lw $t6, 0x74($sp) -/* 0FB020 7F0C64B0 8FAB0078 */ lw $t3, 0x78($sp) -/* 0FB024 7F0C64B4 004E7821 */ addu $t7, $v0, $t6 -/* 0FB028 7F0C64B8 000BC043 */ sra $t8, $t3, 1 -/* 0FB02C 7F0C64BC 01F82023 */ subu $a0, $t7, $t8 -/* 0FB030 7F0C64C0 24840050 */ addiu $a0, $a0, 0x50 -/* 0FB034 7F0C64C4 0C001149 */ jal get_video2_settings_uly -/* 0FB038 7F0C64C8 AFA400CC */ sw $a0, 0xcc($sp) -/* 0FB03C 7F0C64CC 8FAC007C */ lw $t4, 0x7c($sp) -/* 0FB040 7F0C64D0 000CC843 */ sra $t9, $t4, 1 -/* 0FB044 7F0C64D4 00596823 */ subu $t5, $v0, $t9 -/* 0FB048 7F0C64D8 25AE0025 */ addiu $t6, $t5, 0x25 -/* 0FB04C 7F0C64DC 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB050 7F0C64E0 AFAE00C8 */ sw $t6, 0xc8($sp) -/* 0FB054 7F0C64E4 00028400 */ sll $s0, $v0, 0x10 -/* 0FB058 7F0C64E8 00105C03 */ sra $t3, $s0, 0x10 -/* 0FB05C 7F0C64EC 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB060 7F0C64F0 01608025 */ move $s0, $t3 -/* 0FB064 7F0C64F4 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) # $t7, 0x8004 -/* 0FB068 7F0C64F8 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) # $t8, 0x8004 -/* 0FB06C 7F0C64FC 8F180EDC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0FB070 7F0C6500 8DEF0EE0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0FB074 7F0C6504 3C0C00FF */ lui $t4, (0x00FF00B0 >> 16) # lui $t4, 0xff -/* 0FB078 7F0C6508 358C00B0 */ ori $t4, (0x00FF00B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0FB07C 7F0C650C AFAC0018 */ sw $t4, 0x18($sp) -/* 0FB080 7F0C6510 02202025 */ move $a0, $s1 -/* 0FB084 7F0C6514 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FB088 7F0C6518 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FB08C 7F0C651C 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FB090 7F0C6520 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FB094 7F0C6524 AFA20020 */ sw $v0, 0x20($sp) -/* 0FB098 7F0C6528 AFA00024 */ sw $zero, 0x24($sp) -/* 0FB09C 7F0C652C AFA00028 */ sw $zero, 0x28($sp) -/* 0FB0A0 7F0C6530 AFB80014 */ sw $t8, 0x14($sp) -/* 0FB0A4 7F0C6534 0FC2B99B */ jal en_text_write_stuff -/* 0FB0A8 7F0C6538 AFAF0010 */ sw $t7, 0x10($sp) -/* 0FB0AC 7F0C653C 00408825 */ move $s1, $v0 -/* 0FB0B0 7F0C6540 8FA400D4 */ lw $a0, 0xd4($sp) -/* 0FB0B4 7F0C6544 0FC026DC */ jal getplayerfavoredweapon -/* 0FB0B8 7F0C6548 00002825 */ move $a1, $zero -/* 0FB0BC 7F0C654C 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) # $t9, 0x8004 -/* 0FB0C0 7F0C6550 8F390EDC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0FB0C4 7F0C6554 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FB0C8 7F0C6558 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FB0CC 7F0C655C 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FB0D0 7F0C6560 27A4007C */ addiu $a0, $sp, 0x7c -/* 0FB0D4 7F0C6564 27A50078 */ addiu $a1, $sp, 0x78 -/* 0FB0D8 7F0C6568 00403025 */ move $a2, $v0 -/* 0FB0DC 7F0C656C AFA00014 */ sw $zero, 0x14($sp) -/* 0FB0E0 7F0C6570 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FB0E4 7F0C6574 AFB90010 */ sw $t9, 0x10($sp) -/* 0FB0E8 7F0C6578 0C001145 */ jal get_video2_settings_ulx -/* 0FB0EC 7F0C657C 00000000 */ nop -/* 0FB0F0 7F0C6580 8FAD0074 */ lw $t5, 0x74($sp) -/* 0FB0F4 7F0C6584 8FAB0078 */ lw $t3, 0x78($sp) -/* 0FB0F8 7F0C6588 004D7021 */ addu $t6, $v0, $t5 -/* 0FB0FC 7F0C658C 000B7843 */ sra $t7, $t3, 1 -/* 0FB100 7F0C6590 01CF2023 */ subu $a0, $t6, $t7 -/* 0FB104 7F0C6594 24840050 */ addiu $a0, $a0, 0x50 -/* 0FB108 7F0C6598 0C001149 */ jal get_video2_settings_uly -/* 0FB10C 7F0C659C AFA400CC */ sw $a0, 0xcc($sp) -/* 0FB110 7F0C65A0 3C0C8005 */ lui $t4, %hi(j_text_trigger) # $t4, 0x8005 -/* 0FB114 7F0C65A4 8D8C8500 */ lw $t4, %lo(j_text_trigger)($t4) -/* 0FB118 7F0C65A8 00024400 */ sll $t0, $v0, 0x10 -/* 0FB11C 7F0C65AC 0008C403 */ sra $t8, $t0, 0x10 -/* 0FB120 7F0C65B0 11800003 */ beqz $t4, .Ljp7F0C65C0 -/* 0FB124 7F0C65B4 03004025 */ move $t0, $t8 -/* 0FB128 7F0C65B8 10000002 */ b .Ljp7F0C65C4 -/* 0FB12C 7F0C65BC 24040004 */ li $a0, 4 -.Ljp7F0C65C0: -/* 0FB130 7F0C65C0 00002025 */ move $a0, $zero -.Ljp7F0C65C4: -/* 0FB134 7F0C65C4 8FAD007C */ lw $t5, 0x7c($sp) -/* 0FB138 7F0C65C8 0088C821 */ addu $t9, $a0, $t0 -/* 0FB13C 7F0C65CC 000D5843 */ sra $t3, $t5, 1 -/* 0FB140 7F0C65D0 032B7023 */ subu $t6, $t9, $t3 -/* 0FB144 7F0C65D4 25CF0035 */ addiu $t7, $t6, 0x35 -/* 0FB148 7F0C65D8 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB14C 7F0C65DC AFAF00C8 */ sw $t7, 0xc8($sp) -/* 0FB150 7F0C65E0 00028400 */ sll $s0, $v0, 0x10 -/* 0FB154 7F0C65E4 0010C403 */ sra $t8, $s0, 0x10 -/* 0FB158 7F0C65E8 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB15C 7F0C65EC 03008025 */ move $s0, $t8 -/* 0FB160 7F0C65F0 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) # $t4, 0x8004 -/* 0FB164 7F0C65F4 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0FB168 7F0C65F8 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FB16C 7F0C65FC 8D8C0EE0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 0FB170 7F0C6600 3C1900FF */ lui $t9, (0x00FF00B0 >> 16) # lui $t9, 0xff -/* 0FB174 7F0C6604 373900B0 */ ori $t9, (0x00FF00B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0FB178 7F0C6608 AFB90018 */ sw $t9, 0x18($sp) -/* 0FB17C 7F0C660C 02202025 */ move $a0, $s1 -/* 0FB180 7F0C6610 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FB184 7F0C6614 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FB188 7F0C6618 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FB18C 7F0C661C AFB0001C */ sw $s0, 0x1c($sp) -/* 0FB190 7F0C6620 AFA20020 */ sw $v0, 0x20($sp) -/* 0FB194 7F0C6624 AFA00024 */ sw $zero, 0x24($sp) -/* 0FB198 7F0C6628 AFA00028 */ sw $zero, 0x28($sp) -/* 0FB19C 7F0C662C AFAD0014 */ sw $t5, 0x14($sp) -/* 0FB1A0 7F0C6630 0FC2B99B */ jal en_text_write_stuff -/* 0FB1A4 7F0C6634 AFAC0010 */ sw $t4, 0x10($sp) -/* 0FB1A8 7F0C6638 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0FB1AC 7F0C663C 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0FB1B0 7F0C6640 00408825 */ move $s1, $v0 -/* 0FB1B4 7F0C6644 27A4007C */ addiu $a0, $sp, 0x7c -/* 0FB1B8 7F0C6648 8C682A10 */ lw $t0, 0x2a10($v1) -/* 0FB1BC 7F0C664C 27A50078 */ addiu $a1, $sp, 0x78 -/* 0FB1C0 7F0C6650 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FB1C4 7F0C6654 11000031 */ beqz $t0, .Ljp7F0C671C -/* 0FB1C8 7F0C6658 01003025 */ move $a2, $t0 -/* 0FB1CC 7F0C665C 3C0B8004 */ lui $t3, %hi(ptrFirstFontTableSmall) # $t3, 0x8004 -/* 0FB1D0 7F0C6660 8D6B0EDC */ lw $t3, %lo(ptrFirstFontTableSmall)($t3) -/* 0FB1D4 7F0C6664 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FB1D8 7F0C6668 AFA00014 */ sw $zero, 0x14($sp) -/* 0FB1DC 7F0C666C AFA800A4 */ sw $t0, 0xa4($sp) -/* 0FB1E0 7F0C6670 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FB1E4 7F0C6674 AFAB0010 */ sw $t3, 0x10($sp) -/* 0FB1E8 7F0C6678 0C001145 */ jal get_video2_settings_ulx -/* 0FB1EC 7F0C667C 00000000 */ nop -/* 0FB1F0 7F0C6680 8FAE0074 */ lw $t6, 0x74($sp) -/* 0FB1F4 7F0C6684 8FB80078 */ lw $t8, 0x78($sp) -/* 0FB1F8 7F0C6688 004E7821 */ addu $t7, $v0, $t6 -/* 0FB1FC 7F0C668C 00186043 */ sra $t4, $t8, 1 -/* 0FB200 7F0C6690 01EC2023 */ subu $a0, $t7, $t4 -/* 0FB204 7F0C6694 24840050 */ addiu $a0, $a0, 0x50 -/* 0FB208 7F0C6698 0C001149 */ jal get_video2_settings_uly -/* 0FB20C 7F0C669C AFA400CC */ sw $a0, 0xcc($sp) -/* 0FB210 7F0C66A0 8FAD007C */ lw $t5, 0x7c($sp) -/* 0FB214 7F0C66A4 000DC843 */ sra $t9, $t5, 1 -/* 0FB218 7F0C66A8 00595823 */ subu $t3, $v0, $t9 -/* 0FB21C 7F0C66AC 256E004B */ addiu $t6, $t3, 0x4b -/* 0FB220 7F0C66B0 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB224 7F0C66B4 AFAE00C8 */ sw $t6, 0xc8($sp) -/* 0FB228 7F0C66B8 00028400 */ sll $s0, $v0, 0x10 -/* 0FB22C 7F0C66BC 0010C403 */ sra $t8, $s0, 0x10 -/* 0FB230 7F0C66C0 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB234 7F0C66C4 03008025 */ move $s0, $t8 -/* 0FB238 7F0C66C8 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) # $t7, 0x8004 -/* 0FB23C 7F0C66CC 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) # $t4, 0x8004 -/* 0FB240 7F0C66D0 8D8C0EDC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FB244 7F0C66D4 8DEF0EE0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0FB248 7F0C66D8 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0FB24C 7F0C66DC 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0FB250 7F0C66E0 AFAD0018 */ sw $t5, 0x18($sp) -/* 0FB254 7F0C66E4 02202025 */ move $a0, $s1 -/* 0FB258 7F0C66E8 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FB25C 7F0C66EC 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FB260 7F0C66F0 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FB264 7F0C66F4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FB268 7F0C66F8 AFA20020 */ sw $v0, 0x20($sp) -/* 0FB26C 7F0C66FC AFA00024 */ sw $zero, 0x24($sp) -/* 0FB270 7F0C6700 AFA00028 */ sw $zero, 0x28($sp) -/* 0FB274 7F0C6704 AFAC0014 */ sw $t4, 0x14($sp) -/* 0FB278 7F0C6708 0FC2B99B */ jal en_text_write_stuff -/* 0FB27C 7F0C670C AFAF0010 */ sw $t7, 0x10($sp) -/* 0FB280 7F0C6710 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0FB284 7F0C6714 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0FB288 7F0C6718 00408825 */ move $s1, $v0 -.Ljp7F0C671C: -/* 0FB28C 7F0C671C 8C622A14 */ lw $v0, 0x2a14($v1) -/* 0FB290 7F0C6720 27A4007C */ addiu $a0, $sp, 0x7c -/* 0FB294 7F0C6724 27A50078 */ addiu $a1, $sp, 0x78 -/* 0FB298 7F0C6728 10400032 */ beqz $v0, .Ljp7F0C67F4 -/* 0FB29C 7F0C672C 00403025 */ move $a2, $v0 -/* 0FB2A0 7F0C6730 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) # $t9, 0x8004 -/* 0FB2A4 7F0C6734 8F390EDC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0FB2A8 7F0C6738 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FB2AC 7F0C673C 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FB2B0 7F0C6740 AFA00014 */ sw $zero, 0x14($sp) -/* 0FB2B4 7F0C6744 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FB2B8 7F0C6748 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FB2BC 7F0C674C AFB90010 */ sw $t9, 0x10($sp) -/* 0FB2C0 7F0C6750 0C001145 */ jal get_video2_settings_ulx -/* 0FB2C4 7F0C6754 00000000 */ nop -/* 0FB2C8 7F0C6758 8FAB0074 */ lw $t3, 0x74($sp) -/* 0FB2CC 7F0C675C 8FB80078 */ lw $t8, 0x78($sp) -/* 0FB2D0 7F0C6760 004B7021 */ addu $t6, $v0, $t3 -/* 0FB2D4 7F0C6764 00187843 */ sra $t7, $t8, 1 -/* 0FB2D8 7F0C6768 01CF2023 */ subu $a0, $t6, $t7 -/* 0FB2DC 7F0C676C 24840050 */ addiu $a0, $a0, 0x50 -/* 0FB2E0 7F0C6770 0C001149 */ jal get_video2_settings_uly -/* 0FB2E4 7F0C6774 AFA400CC */ sw $a0, 0xcc($sp) -/* 0FB2E8 7F0C6778 8FAC007C */ lw $t4, 0x7c($sp) -/* 0FB2EC 7F0C677C 000C6843 */ sra $t5, $t4, 1 -/* 0FB2F0 7F0C6780 004DC823 */ subu $t9, $v0, $t5 -/* 0FB2F4 7F0C6784 272B0058 */ addiu $t3, $t9, 0x58 -/* 0FB2F8 7F0C6788 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB2FC 7F0C678C AFAB00C8 */ sw $t3, 0xc8($sp) -/* 0FB300 7F0C6790 00028400 */ sll $s0, $v0, 0x10 -/* 0FB304 7F0C6794 0010C403 */ sra $t8, $s0, 0x10 -/* 0FB308 7F0C6798 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB30C 7F0C679C 03008025 */ move $s0, $t8 -/* 0FB310 7F0C67A0 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) # $t6, 0x8004 -/* 0FB314 7F0C67A4 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) # $t7, 0x8004 -/* 0FB318 7F0C67A8 8DEF0EDC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0FB31C 7F0C67AC 8DCE0EE0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0FB320 7F0C67B0 3C0C00FF */ lui $t4, (0x00FF00B0 >> 16) # lui $t4, 0xff -/* 0FB324 7F0C67B4 358C00B0 */ ori $t4, (0x00FF00B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0FB328 7F0C67B8 AFAC0018 */ sw $t4, 0x18($sp) -/* 0FB32C 7F0C67BC 02202025 */ move $a0, $s1 -/* 0FB330 7F0C67C0 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FB334 7F0C67C4 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FB338 7F0C67C8 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FB33C 7F0C67CC AFB0001C */ sw $s0, 0x1c($sp) -/* 0FB340 7F0C67D0 AFA20020 */ sw $v0, 0x20($sp) -/* 0FB344 7F0C67D4 AFA00024 */ sw $zero, 0x24($sp) -/* 0FB348 7F0C67D8 AFA00028 */ sw $zero, 0x28($sp) -/* 0FB34C 7F0C67DC AFAF0014 */ sw $t7, 0x14($sp) -/* 0FB350 7F0C67E0 0FC2B99B */ jal en_text_write_stuff -/* 0FB354 7F0C67E4 AFAE0010 */ sw $t6, 0x10($sp) -/* 0FB358 7F0C67E8 3C038008 */ lui $v1, %hi(pPlayer) # $v1, 0x8008 -/* 0FB35C 7F0C67EC 8C63A120 */ lw $v1, %lo(pPlayer)($v1) -/* 0FB360 7F0C67F0 00408825 */ move $s1, $v0 -.Ljp7F0C67F4: -/* 0FB364 7F0C67F4 8C6D29C8 */ lw $t5, 0x29c8($v1) -.Ljp7F0C67F8: -/* 0FB368 7F0C67F8 24010006 */ li $at, 6 -/* 0FB36C 7F0C67FC 15A100B0 */ bne $t5, $at, .Ljp7F0C6AC0 -/* 0FB370 7F0C6800 00000000 */ nop -/* 0FB374 7F0C6804 0FC30AA2 */ jal get_textptr_for_textID -/* 0FB378 7F0C6808 3404A020 */ li $a0, 40992 -/* 0FB37C 7F0C680C 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) # $t9, 0x8004 -/* 0FB380 7F0C6810 8F390EDC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0FB384 7F0C6814 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FB388 7F0C6818 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FB38C 7F0C681C 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FB390 7F0C6820 27A400BC */ addiu $a0, $sp, 0xbc -/* 0FB394 7F0C6824 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0FB398 7F0C6828 00403025 */ move $a2, $v0 -/* 0FB39C 7F0C682C AFA00014 */ sw $zero, 0x14($sp) -/* 0FB3A0 7F0C6830 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FB3A4 7F0C6834 AFB90010 */ sw $t9, 0x10($sp) -/* 0FB3A8 7F0C6838 0C001145 */ jal get_video2_settings_ulx -/* 0FB3AC 7F0C683C 00000000 */ nop -/* 0FB3B0 7F0C6840 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0FB3B4 7F0C6844 8FAE00C0 */ lw $t6, 0xc0($sp) -/* 0FB3B8 7F0C6848 004BC021 */ addu $t8, $v0, $t3 -/* 0FB3BC 7F0C684C 000E7843 */ sra $t7, $t6, 1 -/* 0FB3C0 7F0C6850 030F2023 */ subu $a0, $t8, $t7 -/* 0FB3C4 7F0C6854 24840036 */ addiu $a0, $a0, 0x36 -/* 0FB3C8 7F0C6858 0C001149 */ jal get_video2_settings_uly -/* 0FB3CC 7F0C685C AFA400CC */ sw $a0, 0xcc($sp) -/* 0FB3D0 7F0C6860 8FAC00BC */ lw $t4, 0xbc($sp) -/* 0FB3D4 7F0C6864 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0FB3D8 7F0C6868 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0FB3DC 7F0C686C 000C6843 */ sra $t5, $t4, 1 -/* 0FB3E0 7F0C6870 004DC823 */ subu $t9, $v0, $t5 -/* 0FB3E4 7F0C6874 272B0036 */ addiu $t3, $t9, 0x36 -/* 0FB3E8 7F0C6878 AFAB00C8 */ sw $t3, 0xc8($sp) -/* 0FB3EC 7F0C687C 8DD829CC */ lw $t8, 0x29cc($t6) -/* 0FB3F0 7F0C6880 1700001E */ bnez $t8, .Ljp7F0C68FC -/* 0FB3F4 7F0C6884 00000000 */ nop -/* 0FB3F8 7F0C6888 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB3FC 7F0C688C 00000000 */ nop -/* 0FB400 7F0C6890 00028400 */ sll $s0, $v0, 0x10 -/* 0FB404 7F0C6894 00107C03 */ sra $t7, $s0, 0x10 -/* 0FB408 7F0C6898 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB40C 7F0C689C 01E08025 */ move $s0, $t7 -/* 0FB410 7F0C68A0 3C0C8004 */ lui $t4, %hi(ptrSecondFontTableSmall) # $t4, 0x8004 -/* 0FB414 7F0C68A4 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0FB418 7F0C68A8 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FB41C 7F0C68AC 8D8C0EE0 */ lw $t4, %lo(ptrSecondFontTableSmall)($t4) -/* 0FB420 7F0C68B0 3C19A0FF */ lui $t9, (0xA0FFA0F0 >> 16) # lui $t9, 0xa0ff -/* 0FB424 7F0C68B4 3C0B0070 */ lui $t3, (0x007000A0 >> 16) # lui $t3, 0x70 -/* 0FB428 7F0C68B8 356B00A0 */ ori $t3, (0x007000A0 & 0xFFFF) # ori $t3, $t3, 0xa0 -/* 0FB42C 7F0C68BC 3739A0F0 */ ori $t9, (0xA0FFA0F0 & 0xFFFF) # ori $t9, $t9, 0xa0f0 -/* 0FB430 7F0C68C0 AFB90018 */ sw $t9, 0x18($sp) -/* 0FB434 7F0C68C4 AFAB001C */ sw $t3, 0x1c($sp) -/* 0FB438 7F0C68C8 02202025 */ move $a0, $s1 -/* 0FB43C 7F0C68CC 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FB440 7F0C68D0 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FB444 7F0C68D4 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FB448 7F0C68D8 AFB00020 */ sw $s0, 0x20($sp) -/* 0FB44C 7F0C68DC AFA20024 */ sw $v0, 0x24($sp) -/* 0FB450 7F0C68E0 AFA00028 */ sw $zero, 0x28($sp) -/* 0FB454 7F0C68E4 AFA0002C */ sw $zero, 0x2c($sp) -/* 0FB458 7F0C68E8 AFAD0014 */ sw $t5, 0x14($sp) -/* 0FB45C 7F0C68EC 0FC2BCA7 */ jal jp_text_write_stuff -/* 0FB460 7F0C68F0 AFAC0010 */ sw $t4, 0x10($sp) -/* 0FB464 7F0C68F4 1000001A */ b .Ljp7F0C6960 -/* 0FB468 7F0C68F8 00408825 */ move $s1, $v0 -.Ljp7F0C68FC: -/* 0FB46C 7F0C68FC 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB470 7F0C6900 00000000 */ nop -/* 0FB474 7F0C6904 00028400 */ sll $s0, $v0, 0x10 -/* 0FB478 7F0C6908 00107403 */ sra $t6, $s0, 0x10 -/* 0FB47C 7F0C690C 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB480 7F0C6910 01C08025 */ move $s0, $t6 -/* 0FB484 7F0C6914 3C188004 */ lui $t8, %hi(ptrSecondFontTableSmall) # $t8, 0x8004 -/* 0FB488 7F0C6918 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) # $t7, 0x8004 -/* 0FB48C 7F0C691C 8DEF0EDC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0FB490 7F0C6920 8F180EE0 */ lw $t8, %lo(ptrSecondFontTableSmall)($t8) -/* 0FB494 7F0C6924 3C0C00FF */ lui $t4, (0x00FF00B0 >> 16) # lui $t4, 0xff -/* 0FB498 7F0C6928 358C00B0 */ ori $t4, (0x00FF00B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0FB49C 7F0C692C AFAC0018 */ sw $t4, 0x18($sp) -/* 0FB4A0 7F0C6930 02202025 */ move $a0, $s1 -/* 0FB4A4 7F0C6934 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FB4A8 7F0C6938 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FB4AC 7F0C693C 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FB4B0 7F0C6940 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FB4B4 7F0C6944 AFA20020 */ sw $v0, 0x20($sp) -/* 0FB4B8 7F0C6948 AFA00024 */ sw $zero, 0x24($sp) -/* 0FB4BC 7F0C694C AFA00028 */ sw $zero, 0x28($sp) -/* 0FB4C0 7F0C6950 AFAF0014 */ sw $t7, 0x14($sp) -/* 0FB4C4 7F0C6954 0FC2B99B */ jal en_text_write_stuff -/* 0FB4C8 7F0C6958 AFB80010 */ sw $t8, 0x10($sp) -/* 0FB4CC 7F0C695C 00408825 */ move $s1, $v0 -.Ljp7F0C6960: -/* 0FB4D0 7F0C6960 0FC30AA2 */ jal get_textptr_for_textID -/* 0FB4D4 7F0C6964 3404A021 */ li $a0, 40993 -/* 0FB4D8 7F0C6968 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) # $t5, 0x8004 -/* 0FB4DC 7F0C696C 8DAD0EDC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0FB4E0 7F0C6970 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FB4E4 7F0C6974 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0FB4E8 7F0C6978 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FB4EC 7F0C697C 27A400BC */ addiu $a0, $sp, 0xbc -/* 0FB4F0 7F0C6980 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0FB4F4 7F0C6984 00403025 */ move $a2, $v0 -/* 0FB4F8 7F0C6988 AFA00014 */ sw $zero, 0x14($sp) -/* 0FB4FC 7F0C698C 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FB500 7F0C6990 AFAD0010 */ sw $t5, 0x10($sp) -/* 0FB504 7F0C6994 0C001145 */ jal get_video2_settings_ulx -/* 0FB508 7F0C6998 00000000 */ nop -/* 0FB50C 7F0C699C 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0FB510 7F0C69A0 8FAE00C0 */ lw $t6, 0xc0($sp) -/* 0FB514 7F0C69A4 00595821 */ addu $t3, $v0, $t9 -/* 0FB518 7F0C69A8 000EC043 */ sra $t8, $t6, 1 -/* 0FB51C 7F0C69AC 01782023 */ subu $a0, $t3, $t8 -/* 0FB520 7F0C69B0 24840068 */ addiu $a0, $a0, 0x68 -/* 0FB524 7F0C69B4 0C001149 */ jal get_video2_settings_uly -/* 0FB528 7F0C69B8 AFA400CC */ sw $a0, 0xcc($sp) -/* 0FB52C 7F0C69BC 8FAF00BC */ lw $t7, 0xbc($sp) -/* 0FB530 7F0C69C0 3C0E8008 */ lui $t6, %hi(pPlayer) # $t6, 0x8008 -/* 0FB534 7F0C69C4 8DCEA120 */ lw $t6, %lo(pPlayer)($t6) -/* 0FB538 7F0C69C8 000F6043 */ sra $t4, $t7, 1 -/* 0FB53C 7F0C69CC 004C6823 */ subu $t5, $v0, $t4 -/* 0FB540 7F0C69D0 25B90036 */ addiu $t9, $t5, 0x36 -/* 0FB544 7F0C69D4 AFB900C8 */ sw $t9, 0xc8($sp) -/* 0FB548 7F0C69D8 8DCB29CC */ lw $t3, 0x29cc($t6) -/* 0FB54C 7F0C69DC 24010001 */ li $at, 1 -/* 0FB550 7F0C69E0 1561001E */ bne $t3, $at, .Ljp7F0C6A5C -/* 0FB554 7F0C69E4 00000000 */ nop -/* 0FB558 7F0C69E8 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB55C 7F0C69EC 00000000 */ nop -/* 0FB560 7F0C69F0 00028400 */ sll $s0, $v0, 0x10 -/* 0FB564 7F0C69F4 0010C403 */ sra $t8, $s0, 0x10 -/* 0FB568 7F0C69F8 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB56C 7F0C69FC 03008025 */ move $s0, $t8 -/* 0FB570 7F0C6A00 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) # $t7, 0x8004 -/* 0FB574 7F0C6A04 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) # $t4, 0x8004 -/* 0FB578 7F0C6A08 8D8C0EDC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FB57C 7F0C6A0C 8DEF0EE0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0FB580 7F0C6A10 3C0DA0FF */ lui $t5, (0xA0FFA0F0 >> 16) # lui $t5, 0xa0ff -/* 0FB584 7F0C6A14 3C190070 */ lui $t9, (0x007000A0 >> 16) # lui $t9, 0x70 -/* 0FB588 7F0C6A18 373900A0 */ ori $t9, (0x007000A0 & 0xFFFF) # ori $t9, $t9, 0xa0 -/* 0FB58C 7F0C6A1C 35ADA0F0 */ ori $t5, (0xA0FFA0F0 & 0xFFFF) # ori $t5, $t5, 0xa0f0 -/* 0FB590 7F0C6A20 AFAD0018 */ sw $t5, 0x18($sp) -/* 0FB594 7F0C6A24 AFB9001C */ sw $t9, 0x1c($sp) -/* 0FB598 7F0C6A28 02202025 */ move $a0, $s1 -/* 0FB59C 7F0C6A2C 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FB5A0 7F0C6A30 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FB5A4 7F0C6A34 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FB5A8 7F0C6A38 AFB00020 */ sw $s0, 0x20($sp) -/* 0FB5AC 7F0C6A3C AFA20024 */ sw $v0, 0x24($sp) -/* 0FB5B0 7F0C6A40 AFA00028 */ sw $zero, 0x28($sp) -/* 0FB5B4 7F0C6A44 AFA0002C */ sw $zero, 0x2c($sp) -/* 0FB5B8 7F0C6A48 AFAC0014 */ sw $t4, 0x14($sp) -/* 0FB5BC 7F0C6A4C 0FC2BCA7 */ jal jp_text_write_stuff -/* 0FB5C0 7F0C6A50 AFAF0010 */ sw $t7, 0x10($sp) -/* 0FB5C4 7F0C6A54 1000001A */ b .Ljp7F0C6AC0 -/* 0FB5C8 7F0C6A58 00408825 */ move $s1, $v0 -.Ljp7F0C6A5C: -/* 0FB5CC 7F0C6A5C 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB5D0 7F0C6A60 00000000 */ nop -/* 0FB5D4 7F0C6A64 00028400 */ sll $s0, $v0, 0x10 -/* 0FB5D8 7F0C6A68 00107403 */ sra $t6, $s0, 0x10 -/* 0FB5DC 7F0C6A6C 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB5E0 7F0C6A70 01C08025 */ move $s0, $t6 -/* 0FB5E4 7F0C6A74 3C0B8004 */ lui $t3, %hi(ptrSecondFontTableSmall) # $t3, 0x8004 -/* 0FB5E8 7F0C6A78 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) # $t8, 0x8004 -/* 0FB5EC 7F0C6A7C 8F180EDC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0FB5F0 7F0C6A80 8D6B0EE0 */ lw $t3, %lo(ptrSecondFontTableSmall)($t3) -/* 0FB5F4 7F0C6A84 3C0F00FF */ lui $t7, (0x00FF00B0 >> 16) # lui $t7, 0xff -/* 0FB5F8 7F0C6A88 35EF00B0 */ ori $t7, (0x00FF00B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0FB5FC 7F0C6A8C AFAF0018 */ sw $t7, 0x18($sp) -/* 0FB600 7F0C6A90 02202025 */ move $a0, $s1 -/* 0FB604 7F0C6A94 27A500CC */ addiu $a1, $sp, 0xcc -/* 0FB608 7F0C6A98 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 0FB60C 7F0C6A9C 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0FB610 7F0C6AA0 AFB0001C */ sw $s0, 0x1c($sp) -/* 0FB614 7F0C6AA4 AFA20020 */ sw $v0, 0x20($sp) -/* 0FB618 7F0C6AA8 AFA00024 */ sw $zero, 0x24($sp) -/* 0FB61C 7F0C6AAC AFA00028 */ sw $zero, 0x28($sp) -/* 0FB620 7F0C6AB0 AFB80014 */ sw $t8, 0x14($sp) -/* 0FB624 7F0C6AB4 0FC2B99B */ jal en_text_write_stuff -/* 0FB628 7F0C6AB8 AFAB0010 */ sw $t3, 0x10($sp) -/* 0FB62C 7F0C6ABC 00408825 */ move $s1, $v0 -.Ljp7F0C6AC0: -/* 0FB630 7F0C6AC0 0FC2B6A8 */ jal combiner_bayer_lod_perspective -/* 0FB634 7F0C6AC4 02202025 */ move $a0, $s1 -/* 0FB638 7F0C6AC8 10000092 */ b .Ljp7F0C6D14 -/* 0FB63C 7F0C6ACC 00408825 */ move $s1, $v0 -/* 0FB640 7F0C6AD0 8C6C00D8 */ lw $t4, 0xd8($v1) -.Ljp7F0C6AD4: -/* 0FB644 7F0C6AD4 51800090 */ beql $t4, $zero, .Ljp7F0C6D18 -/* 0FB648 7F0C6AD8 02201025 */ move $v0, $s1 -/* 0FB64C 7F0C6ADC 8C6D0428 */ lw $t5, 0x428($v1) -/* 0FB650 7F0C6AE0 51A0008D */ beql $t5, $zero, .Ljp7F0C6D18 -/* 0FB654 7F0C6AE4 02201025 */ move $v0, $s1 -/* 0FB658 7F0C6AE8 8C790424 */ lw $t9, 0x424($v1) -/* 0FB65C 7F0C6AEC 3C0E8009 */ lui $t6, %hi(stop_play_flag) # $t6, 0x8009 -/* 0FB660 7F0C6AF0 53200089 */ beql $t9, $zero, .Ljp7F0C6D18 -/* 0FB664 7F0C6AF4 02201025 */ move $v0, $s1 -/* 0FB668 7F0C6AF8 8DCEC770 */ lw $t6, %lo(stop_play_flag)($t6) -/* 0FB66C 7F0C6AFC 3C0B8009 */ lui $t3, %hi(is_gameover_flag) # $t3, 0x8009 -/* 0FB670 7F0C6B00 55C00085 */ bnezl $t6, .Ljp7F0C6D18 -/* 0FB674 7F0C6B04 02201025 */ move $v0, $s1 -/* 0FB678 7F0C6B08 8D6BC774 */ lw $t3, %lo(is_gameover_flag)($t3) -/* 0FB67C 7F0C6B0C 00002025 */ move $a0, $zero -/* 0FB680 7F0C6B10 55600081 */ bnezl $t3, .Ljp7F0C6D18 -/* 0FB684 7F0C6B14 02201025 */ move $v0, $s1 -/* 0FB688 7F0C6B18 18400028 */ blez $v0, .Ljp7F0C6BBC -/* 0FB68C 7F0C6B1C 00002825 */ move $a1, $zero -/* 0FB690 7F0C6B20 30470003 */ andi $a3, $v0, 3 -/* 0FB694 7F0C6B24 10E00011 */ beqz $a3, .Ljp7F0C6B6C -/* 0FB698 7F0C6B28 00E03025 */ move $a2, $a3 -/* 0FB69C 7F0C6B2C 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 0FB6A0 7F0C6B30 0000C0C0 */ sll $t8, $zero, 3 -/* 0FB6A4 7F0C6B34 0300C023 */ subu $t8, $t8, $zero -/* 0FB6A8 7F0C6B38 0018C100 */ sll $t8, $t8, 4 -/* 0FB6AC 7F0C6B3C 3C198008 */ lui $t9, %hi(player1_player_data) # $t9, 0x8008 -/* 0FB6B0 7F0C6B40 000F6080 */ sll $t4, $t7, 2 -/* 0FB6B4 7F0C6B44 030C6821 */ addu $t5, $t8, $t4 -/* 0FB6B8 7F0C6B48 27399F60 */ addiu $t9, %lo(player1_player_data) # addiu $t9, $t9, -0x60a0 -/* 0FB6BC 7F0C6B4C 01B91821 */ addu $v1, $t5, $t9 -.Ljp7F0C6B50: -/* 0FB6C0 7F0C6B50 8C6E0024 */ lw $t6, 0x24($v1) -/* 0FB6C4 7F0C6B54 24A50001 */ addiu $a1, $a1, 1 -/* 0FB6C8 7F0C6B58 24630070 */ addiu $v1, $v1, 0x70 -/* 0FB6CC 7F0C6B5C 14C5FFFC */ bne $a2, $a1, .Ljp7F0C6B50 -/* 0FB6D0 7F0C6B60 008E2021 */ addu $a0, $a0, $t6 -/* 0FB6D4 7F0C6B64 10A20015 */ beq $a1, $v0, .Ljp7F0C6BBC -/* 0FB6D8 7F0C6B68 00000000 */ nop -.Ljp7F0C6B6C: -/* 0FB6DC 7F0C6B6C 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 0FB6E0 7F0C6B70 000558C0 */ sll $t3, $a1, 3 -/* 0FB6E4 7F0C6B74 01655823 */ subu $t3, $t3, $a1 -/* 0FB6E8 7F0C6B78 000B5900 */ sll $t3, $t3, 4 -/* 0FB6EC 7F0C6B7C 3C0D8008 */ lui $t5, %hi(player1_player_data) # $t5, 0x8008 -/* 0FB6F0 7F0C6B80 000FC080 */ sll $t8, $t7, 2 -/* 0FB6F4 7F0C6B84 01786021 */ addu $t4, $t3, $t8 -/* 0FB6F8 7F0C6B88 25AD9F60 */ addiu $t5, %lo(player1_player_data) # addiu $t5, $t5, -0x60a0 -/* 0FB6FC 7F0C6B8C 018D1821 */ addu $v1, $t4, $t5 -.Ljp7F0C6B90: -/* 0FB700 7F0C6B90 8C790024 */ lw $t9, 0x24($v1) -/* 0FB704 7F0C6B94 8C6E0094 */ lw $t6, 0x94($v1) -/* 0FB708 7F0C6B98 8C6F0104 */ lw $t7, 0x104($v1) -/* 0FB70C 7F0C6B9C 00992021 */ addu $a0, $a0, $t9 -/* 0FB710 7F0C6BA0 8C6B0174 */ lw $t3, 0x174($v1) -/* 0FB714 7F0C6BA4 008E2021 */ addu $a0, $a0, $t6 -/* 0FB718 7F0C6BA8 24A50004 */ addiu $a1, $a1, 4 -/* 0FB71C 7F0C6BAC 008F2021 */ addu $a0, $a0, $t7 -/* 0FB720 7F0C6BB0 246301C0 */ addiu $v1, $v1, 0x1c0 -/* 0FB724 7F0C6BB4 14A8FFF6 */ bne $a1, $t0, .Ljp7F0C6B90 -/* 0FB728 7F0C6BB8 008B2021 */ addu $a0, $a0, $t3 -.Ljp7F0C6BBC: -/* 0FB72C 7F0C6BBC 0FC05202 */ jal get_scenario -/* 0FB730 7F0C6BC0 AFA40058 */ sw $a0, 0x58($sp) -/* 0FB734 7F0C6BC4 24010001 */ li $at, 1 -/* 0FB738 7F0C6BC8 14410004 */ bne $v0, $at, .Ljp7F0C6BDC -/* 0FB73C 7F0C6BCC 8FA40058 */ lw $a0, 0x58($sp) -/* 0FB740 7F0C6BD0 28810002 */ slti $at, $a0, 2 -/* 0FB744 7F0C6BD4 50200050 */ beql $at, $zero, .Ljp7F0C6D18 -/* 0FB748 7F0C6BD8 02201025 */ move $v0, $s1 -.Ljp7F0C6BDC: -/* 0FB74C 7F0C6BDC 0FC2D6D9 */ jal sub_GAME_7F0B4FB4 -/* 0FB750 7F0C6BE0 02202025 */ move $a0, $s1 -/* 0FB754 7F0C6BE4 0FC2B652 */ jal microcode_constructor -/* 0FB758 7F0C6BE8 00402025 */ move $a0, $v0 -/* 0FB75C 7F0C6BEC 00408825 */ move $s1, $v0 -/* 0FB760 7F0C6BF0 0FC30AA2 */ jal get_textptr_for_textID -/* 0FB764 7F0C6BF4 3404A022 */ li $a0, 40994 -/* 0FB768 7F0C6BF8 3C188004 */ lui $t8, %hi(ptrFirstFontTableSmall) # $t8, 0x8004 -/* 0FB76C 7F0C6BFC 8F180EDC */ lw $t8, %lo(ptrFirstFontTableSmall)($t8) -/* 0FB770 7F0C6C00 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) # $a3, 0x8004 -/* 0FB774 7F0C6C04 AFA20060 */ sw $v0, 0x60($sp) -/* 0FB778 7F0C6C08 8CE70EE0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0FB77C 7F0C6C0C 27A40064 */ addiu $a0, $sp, 0x64 -/* 0FB780 7F0C6C10 27A50068 */ addiu $a1, $sp, 0x68 -/* 0FB784 7F0C6C14 00403025 */ move $a2, $v0 -/* 0FB788 7F0C6C18 AFA00014 */ sw $zero, 0x14($sp) -/* 0FB78C 7F0C6C1C 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0FB790 7F0C6C20 AFB80010 */ sw $t8, 0x10($sp) -/* 0FB794 7F0C6C24 0C001145 */ jal get_video2_settings_ulx -/* 0FB798 7F0C6C28 00000000 */ nop -/* 0FB79C 7F0C6C2C 0C001127 */ jal get_video2_settings_width -/* 0FB7A0 7F0C6C30 A7A20056 */ sh $v0, 0x56($sp) -/* 0FB7A4 7F0C6C34 87A80056 */ lh $t0, 0x56($sp) -/* 0FB7A8 7F0C6C38 8FAE0068 */ lw $t6, 0x68($sp) -/* 0FB7AC 7F0C6C3C 00026843 */ sra $t5, $v0, 1 -/* 0FB7B0 7F0C6C40 01A8C821 */ addu $t9, $t5, $t0 -/* 0FB7B4 7F0C6C44 000E7843 */ sra $t7, $t6, 1 -/* 0FB7B8 7F0C6C48 032F5023 */ subu $t2, $t9, $t7 -/* 0FB7BC 7F0C6C4C 0C001149 */ jal get_video2_settings_uly -/* 0FB7C0 7F0C6C50 AFAA0070 */ sw $t2, 0x70($sp) -/* 0FB7C4 7F0C6C54 0C00112B */ jal get_video2_settings_height -/* 0FB7C8 7F0C6C58 A7A20056 */ sh $v0, 0x56($sp) -/* 0FB7CC 7F0C6C5C 87A80056 */ lh $t0, 0x56($sp) -/* 0FB7D0 7F0C6C60 8FA90064 */ lw $t1, 0x64($sp) -/* 0FB7D4 7F0C6C64 0002C043 */ sra $t8, $v0, 1 -/* 0FB7D8 7F0C6C68 8FAA0070 */ lw $t2, 0x70($sp) -/* 0FB7DC 7F0C6C6C 8FAE0068 */ lw $t6, 0x68($sp) -/* 0FB7E0 7F0C6C70 03086021 */ addu $t4, $t8, $t0 -/* 0FB7E4 7F0C6C74 00096843 */ sra $t5, $t1, 1 -/* 0FB7E8 7F0C6C78 018D1823 */ subu $v1, $t4, $t5 -/* 0FB7EC 7F0C6C7C 0069C821 */ addu $t9, $v1, $t1 -/* 0FB7F0 7F0C6C80 272F0001 */ addiu $t7, $t9, 1 -/* 0FB7F4 7F0C6C84 014E3821 */ addu $a3, $t2, $t6 -/* 0FB7F8 7F0C6C88 24E70001 */ addiu $a3, $a3, 1 -/* 0FB7FC 7F0C6C8C AFAF0010 */ sw $t7, 0x10($sp) -/* 0FB800 7F0C6C90 2466FFFF */ addiu $a2, $v1, -1 -/* 0FB804 7F0C6C94 AFA3006C */ sw $v1, 0x6c($sp) -/* 0FB808 7F0C6C98 02202025 */ move $a0, $s1 -/* 0FB80C 7F0C6C9C AFA00014 */ sw $zero, 0x14($sp) -/* 0FB810 7F0C6CA0 0FC2B6F1 */ jal microcode_constructor_related_to_menus -/* 0FB814 7F0C6CA4 2545FFFF */ addiu $a1, $t2, -1 -/* 0FB818 7F0C6CA8 0C001107 */ jal get_video2_settings_txtClipW -/* 0FB81C 7F0C6CAC 00408825 */ move $s1, $v0 -/* 0FB820 7F0C6CB0 00028400 */ sll $s0, $v0, 0x10 -/* 0FB824 7F0C6CB4 00105C03 */ sra $t3, $s0, 0x10 -/* 0FB828 7F0C6CB8 0C00110B */ jal get_video2_settings_txtClipH -/* 0FB82C 7F0C6CBC 01608025 */ move $s0, $t3 -/* 0FB830 7F0C6CC0 3C188004 */ lui $t8, %hi(ptrSecondFontTableSmall) # $t8, 0x8004 -/* 0FB834 7F0C6CC4 3C0C8004 */ lui $t4, %hi(ptrFirstFontTableSmall) # $t4, 0x8004 -/* 0FB838 7F0C6CC8 8D8C0EDC */ lw $t4, %lo(ptrFirstFontTableSmall)($t4) -/* 0FB83C 7F0C6CCC 8F180EE0 */ lw $t8, %lo(ptrSecondFontTableSmall)($t8) -/* 0FB840 7F0C6CD0 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0FB844 7F0C6CD4 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0FB848 7F0C6CD8 AFAD0018 */ sw $t5, 0x18($sp) -/* 0FB84C 7F0C6CDC 02202025 */ move $a0, $s1 -/* 0FB850 7F0C6CE0 27A50070 */ addiu $a1, $sp, 0x70 -/* 0FB854 7F0C6CE4 27A6006C */ addiu $a2, $sp, 0x6c -/* 0FB858 7F0C6CE8 8FA70060 */ lw $a3, 0x60($sp) -/* 0FB85C 7F0C6CEC AFB0001C */ sw $s0, 0x1c($sp) -/* 0FB860 7F0C6CF0 AFA20020 */ sw $v0, 0x20($sp) -/* 0FB864 7F0C6CF4 AFA00024 */ sw $zero, 0x24($sp) -/* 0FB868 7F0C6CF8 AFA00028 */ sw $zero, 0x28($sp) -/* 0FB86C 7F0C6CFC AFAC0014 */ sw $t4, 0x14($sp) -/* 0FB870 7F0C6D00 0FC2B99B */ jal en_text_write_stuff -/* 0FB874 7F0C6D04 AFB80010 */ sw $t8, 0x10($sp) -/* 0FB878 7F0C6D08 0FC2B6A8 */ jal combiner_bayer_lod_perspective -/* 0FB87C 7F0C6D0C 00402025 */ move $a0, $v0 -/* 0FB880 7F0C6D10 00408825 */ move $s1, $v0 -.Ljp7F0C6D14: -/* 0FB884 7F0C6D14 02201025 */ move $v0, $s1 -.Ljp7F0C6D18: -/* 0FB888 7F0C6D18 8FBF003C */ lw $ra, 0x3c($sp) -/* 0FB88C 7F0C6D1C 8FB00034 */ lw $s0, 0x34($sp) -/* 0FB890 7F0C6D20 8FB10038 */ lw $s1, 0x38($sp) -/* 0FB894 7F0C6D24 03E00008 */ jr $ra -/* 0FB898 7F0C6D28 27BD00D8 */ addiu $sp, $sp, 0xd8 -) -#endif - -#endif - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0C6048(void) -{ - if (is_gameover_flag != 0) - { - return 0; - } - return (pPlayer->mpmenuon | (0 < pPlayer->healthdisplaytime)); -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C6048 -/* 0FAB78 7F0C6048 3C0E8009 */ lui $t6, %hi(is_gameover_flag) -/* 0FAB7C 7F0C604C 8DCEC704 */ lw $t6, %lo(is_gameover_flag)($t6) -/* 0FAB80 7F0C6050 3C028008 */ lui $v0, %hi(pPlayer) -/* 0FAB84 7F0C6054 11C00003 */ beqz $t6, .L7F0C6064 -/* 0FAB88 7F0C6058 00000000 */ nop -/* 0FAB8C 7F0C605C 03E00008 */ jr $ra -/* 0FAB90 7F0C6060 00001025 */ move $v0, $zero - -.L7F0C6064: -/* 0FAB94 7F0C6064 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0FAB98 7F0C6068 8C582A00 */ lw $t8, 0x2a00($v0) -/* 0FAB9C 7F0C606C 8C4F29C4 */ lw $t7, 0x29c4($v0) -/* 0FABA0 7F0C6070 0018C82A */ slt $t9, $zero, $t8 -/* 0FABA4 7F0C6074 01F91825 */ or $v1, $t7, $t9 -/* 0FABA8 7F0C6078 03E00008 */ jr $ra -/* 0FABAC 7F0C607C 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -s32 checkGamePaused(void) { - return is_paused; -} -#else -GLOBAL_ASM( -.text -glabel checkGamePaused -/* 0FABB0 7F0C6080 3C028009 */ lui $v0, %hi(is_paused) -/* 0FABB4 7F0C6084 03E00008 */ jr $ra -/* 0FABB8 7F0C6088 8C42C718 */ lw $v0, %lo(is_paused)($v0) -) -#endif - - diff --git a/src/game/mp_weapon.c b/src/game/mp_weapon.c deleted file mode 100644 index 6f7b190..0000000 --- a/src/game/mp_weapon.c +++ /dev/null @@ -1,334 +0,0 @@ -#include "ultra64.h" -#include "game/mp_weapon.h" - -// data -//D:80048670 -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}, - {0, 0xCD, 1.0, 1, 0, 1}, - {0, 0xCD, 1.0, 1, 0, 1}, - {0, 0xCD, 1.0, 1, 0, 1}, - {0, 0xCD, 1.0, 1, 0, 1}, - {0, 0xCD, 1.0, 1, 0, 1} -}; - -//D:80048730 -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}, - {5, 0xCC, 1.0, 1, 0x32, 1}, - {5, 0xCC, 1.0, 1, 0x32, 1}, - {5, 0xCC, 1.0, 1, 0x32, 1}, - {0x12, 0xBE, 1.0, 0xC, 0x32, 1}, - {0x12, 0xBE, 1.0, 0xC, 0x32, 1} -}; - -//D:800487F0 -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}, - {3, 0xD1, 1.0, 0xA, 0xA, 0}, - {3, 0xD1, 1.0, 0xA, 0xA, 0}, - {3, 0xD1, 1.0, 0xA, 0xA, 0}, - {3, 0xD1, 1.0, 0xA, 0xA, 0}, - {3, 0xD1, 1.0, 0xA, 0xA, 0} -}; - -//D:800488B0 -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}, - {6, 0xCD, 1.0, 1, 0x32, 1}, - {7, 0xC1, 1.5, 1, 0x64, 1}, - {7, 0xC1, 1.5, 1, 0x64, 1}, - {0xA, 0xBD, 1.0, 1, 0x64, 1}, - {0xA, 0xBD, 1.0, 1, 0x64, 1} -}; - -//D:80048970 -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}, - {0x12, 0xBE, 1.0, 0xC, 0x32, 1}, - {0xE, 0xC5, 1.0, 1, 0x64, 1}, - {0xE, 0xC5, 1.0, 1, 0x64, 1}, - {0x10, 0xCF, 1.0, 4, 0x1E, 1}, - {0x10, 0xCF, 1.0, 4, 0x1E, 1} -}; - -//D:80048A30 -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}, - {0x12, 0xBE, 1.0, 0xC, 0x32, 1}, - {7, 0xC1, 1.0, 1, 0x64, 1}, - {7, 0xC1, 1.0, 1, 0x64, 1}, - {0x11, 0xD2, 1.0, 3, 0x32, 1}, - {0x11, 0xD2, 1.0, 3, 0x32, 1} -}; - -//D:80048AF0 -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}, - {7, 0xC1, 1.5, 1, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {0x1A, 0xC4, 1.5, 5, 5, 0}, - {0x1A, 0xC4, 1.5, 5, 5, 0} -}; - -//D:80048BB0 -#ifdef VERSION_US -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, 0xB8, 1.5, 3, 0x64, 1}, - {0xD, 0xB8, 1.5, 3, 0x64, 1}, - {0x1D, 0xC7, 1.5, 7, 5, 0}, - {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 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 - -//D:80048C70 -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}, - {7, 0xC1, 1.5, 1, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {0x18, 0xB9, 1.0, 0xB, 6, 1}, - {0x18, 0xB9, 1.0, 0xB, 6, 1} -}; - -//D:80048D30 -#ifdef VERSION_US -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, 0xB8, 1.5, 3, 0x64, 1}, - {0xD, 0xB8, 1.5, 3, 0x64, 1}, - {0x1B, 0xC9, 1.5, 9, 5, 0}, - {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 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 - -//D:80048DF0 -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}, - {9, 0xC3, 1.5, 1, 0x64, 1}, - {0xD, 0xBC, 1.5, 3, 0x64, 1}, - {0xD, 0xBC, 1.5, 3, 0x64, 1}, - {0x1C, 0xC8, 1.5, 8, 5, 0}, - {0x1C, 0xC8, 1.5, 8, 5, 0} -}; - -//D:80048EB0 -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}, - {7, 0xC1, 1.5, 1, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {0x19, 0xD3, 1.5, 6, 6, 1}, - {0x19, 0xD3, 1.5, 6, 6, 1} -}; - -//D:80048F70 -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}, - {7, 0xC1, 1.5, 1, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {0x16, 0xBB, 1.5, 0, 0, 1}, - {0x16, 0xBB, 1.5, 0, 0, 1} -}; - -//D:80049030 -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}, - {7, 0xC1, 1.5, 1, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {8, 0xB8, 1.5, 3, 0x64, 1}, - {5, 0xCC, 1.0, 1, 0x32, 1}, - {0x13, 0xD0, 1.5, 0xD, 0xA, 1} -}; - -//D:800490F0 -struct struct_8 mp_weapon_set_text_table[] = { - {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; - - - - -#ifdef NONMATCHING -void advance_mp_weapon_set_by_one_save_value(void) -{ - mp_weapon_set = (mp_weapon_set + 1) % 0xe; -} -#else -GLOBAL_ASM( -.text -glabel advance_mp_weapon_set_by_one_save_value -/* 0FB100 7F0C65D0 3C028005 */ lui $v0, %hi(mp_weapon_set) -/* 0FB104 7F0C65D4 24429160 */ addiu $v0, %lo(mp_weapon_set) # addiu $v0, $v0, -0x6ea0 -/* 0FB108 7F0C65D8 8C4E0000 */ lw $t6, ($v0) -/* 0FB10C 7F0C65DC 2401000E */ li $at, 14 -/* 0FB110 7F0C65E0 25CF0001 */ addiu $t7, $t6, 1 -/* 0FB114 7F0C65E4 01E1001A */ div $zero, $t7, $at -/* 0FB118 7F0C65E8 0000C010 */ mfhi $t8 -/* 0FB11C 7F0C65EC AC580000 */ sw $t8, ($v0) -/* 0FB120 7F0C65F0 03E00008 */ jr $ra -/* 0FB124 7F0C65F4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 get_ptr_current_mp_weapon_set_text_code(void) { - // Node 0 - return ((mp_weapon_set * 8) + &mp_weapon_set_text_table); -} -#else -GLOBAL_ASM( -.text -glabel get_ptr_current_mp_weapon_set_text_code -/* 0FB128 7F0C65F8 3C0E8005 */ lui $t6, %hi(mp_weapon_set) -/* 0FB12C 7F0C65FC 8DCE9160 */ lw $t6, %lo(mp_weapon_set)($t6) -/* 0FB130 7F0C6600 3C188005 */ lui $t8, %hi(mp_weapon_set_text_table) -/* 0FB134 7F0C6604 271890F0 */ addiu $t8, %lo(mp_weapon_set_text_table) # addiu $t8, $t8, -0x6f10 -/* 0FB138 7F0C6608 000E78C0 */ sll $t7, $t6, 3 -/* 0FB13C 7F0C660C 03E00008 */ jr $ra -/* 0FB140 7F0C6610 01F81021 */ addu $v0, $t7, $t8 -) -#endif - - - - - -#ifdef NONMATCHING -void get_ptr_mp_weapon_set_data(void) { - // Node 0 - return *(&mp_weapon_set_text_table + (mp_weapon_set * 8)); -} - -#else -GLOBAL_ASM( -.text -glabel get_ptr_mp_weapon_set_data -/* 0FB144 7F0C6614 3C0E8005 */ lui $t6, %hi(mp_weapon_set) -/* 0FB148 7F0C6618 8DCE9160 */ lw $t6, %lo(mp_weapon_set)($t6) -/* 0FB14C 7F0C661C 3C028005 */ lui $v0, %hi(mp_weapon_set_text_table+4) -/* 0FB150 7F0C6620 000E78C0 */ sll $t7, $t6, 3 -/* 0FB154 7F0C6624 004F1021 */ addu $v0, $v0, $t7 -/* 0FB158 7F0C6628 03E00008 */ jr $ra -/* 0FB15C 7F0C662C 8C4290F4 */ lw $v0, %lo(mp_weapon_set_text_table+4)($v0) -) -#endif - - - - - -void set_mp_weapon_set(s32 arg0) { - mp_weapon_set = arg0; -} - -s32 get_mp_weapon_set(void) { - return mp_weapon_set; -} - - - - - diff --git a/src/game/mp_weapon.h b/src/game/mp_weapon.h deleted file mode 100644 index 57a1693..0000000 --- a/src/game/mp_weapon.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef _MP_WEAPON_H_ -#define _MP_WEAPON_H_ -#include "ultra64.h" - -struct s_mp_weapon_set -{ - s32 anonymous_0; - s32 anonymous_1; - f32 anonymous_2; - s32 anonymous_3; - s32 anonymous_4; - s32 anonymous_5; -}; - -struct struct_8 -{ - char anonymous_0; - char field_1; - char field_2; - char field_3; - struct s_mp_weapon_set * anonymous_1; -}; - - -#endif diff --git a/src/game/music_0D2720.c b/src/game/music_0D2720.c deleted file mode 100644 index c6ec204..0000000 --- a/src/game/music_0D2720.c +++ /dev/null @@ -1,279 +0,0 @@ -#include "ultra64.h" - -struct music_setup -{ - s16 stage_id; - s16 main_music; - s16 bg_sound; - s16 xtrack; -}; - -// data -//D:8004EB10 -struct music_setup music_setup_entries[] = { -{ 9, 0xF, 0xFFFF, 0x29}, -{0x14, 0xC, 0xFFFF, 0x26}, -{0x16, 0x11, 0xFFFF, 0x3D}, -{0x17, 8, 0xFFFF, 0x12}, -{0x18, 0xB, 0xFFFF, 0x25}, -{0x19, 3, 0xFFFF, 0x1D}, -{0x1A, 0xA, 0xFFFF, 0x3E}, -{0x1B, 0x10, 0xFFFF, 0x2A}, -{0x1C, 0x19, 0xFFFF, 0x2E}, -{0x1D, 0xE, 0xFFFF, 0x28}, -{0x1E, 4, 0xFFFF, 0x20}, -{0x20, 0x16, 0xFFFF, 0x2F}, -{0x21, 9, 0xFFFF, 0x35}, -{0x22, 7, 0xFFFF, 0x1F}, -{0x23, 0x32, 0xFFFF, 0x33}, -{0x24, 0x39, 0xFFFF, 0x35}, -{0x25, 0x37, 0xFFFF, 0x2B}, -{0x27, 0x1A, 0xFFFF, 0x15}, -{0x28, 6, 0xFFFF, 0xFFFF}, -{0x29, 0x13, 0xFFFF, 0x30}, -{0x2A, 0x1C, 0xFFFF, 0xFFFF}, -{0x2B, 0x1C, 0x35, 0x3C}, -{0x36, 0x31, 0xFFFF, 0xFFFF}, -{0} -}; - -//D:8004EBD0 -s16 random_tracks[] = { - 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC, 0xD, - 0xE, 0xF, 0x10, 0x11, 0x12, 0x13, 0x15, 0x16, 0x19, 0x1A, 0x1C, - 0x1D, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x28, 0x29, - 0x2A, 0x2B, 0x2D, 0x2E, 0x2F, 0x30, 0x32, 0x34, 0x38, 0x39, 0 -}; - - - -#ifdef NONMATCHING -void getmusictrack_or_randomtrack(void) { - -} -#else -GLOBAL_ASM( -.text -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 -/* 10725C 7F0D272C AFBF0014 */ sw $ra, 0x14($sp) -/* 107260 7F0D2730 11C0002A */ beqz $t6, .L7F0D27DC -/* 107264 7F0D2734 3C0A8005 */ lui $t2, %hi(random_tracks) -/* 107268 7F0D2738 3C0F8005 */ lui $t7, %hi(music_setup_entries) -/* 10726C 7F0D273C 25E2EB10 */ addiu $v0, $t7, %lo(music_setup_entries) -/* 107270 7F0D2740 84430000 */ lh $v1, ($v0) -.L7F0D2744: -/* 107274 7F0D2744 54830022 */ bnel $a0, $v1, .L7F0D27D0 -/* 107278 7F0D2748 84430008 */ lh $v1, 8($v0) -/* 10727C 7F0D274C 84430002 */ lh $v1, 2($v0) -/* 107280 7F0D2750 2401FFFF */ li $at, -1 -/* 107284 7F0D2754 3C188005 */ lui $t8, %hi(random_tracks) -/* 107288 7F0D2758 1461001A */ bne $v1, $at, .L7F0D27C4 -/* 10728C 7F0D275C 00000000 */ nop -/* 107290 7F0D2760 8718EBD0 */ lh $t8, %lo(random_tracks)($t8) -/* 107294 7F0D2764 3C028005 */ lui $v0, %hi(random_tracks) -/* 107298 7F0D2768 00001825 */ move $v1, $zero -/* 10729C 7F0D276C 13000006 */ beqz $t8, .L7F0D2788 -/* 1072A0 7F0D2770 2442EBD0 */ addiu $v0, %lo(random_tracks) # addiu $v0, $v0, -0x1430 -/* 1072A4 7F0D2774 84590002 */ lh $t9, 2($v0) -.L7F0D2778: -/* 1072A8 7F0D2778 24630001 */ addiu $v1, $v1, 1 -/* 1072AC 7F0D277C 24420002 */ addiu $v0, $v0, 2 -/* 1072B0 7F0D2780 5720FFFD */ bnezl $t9, .L7F0D2778 -/* 1072B4 7F0D2784 84590002 */ lh $t9, 2($v0) -.L7F0D2788: -/* 1072B8 7F0D2788 0C002914 */ jal get_random_value -/* 1072BC 7F0D278C AFA30020 */ sw $v1, 0x20($sp) -/* 1072C0 7F0D2790 8FA30020 */ lw $v1, 0x20($sp) -/* 1072C4 7F0D2794 3C048005 */ lui $a0, %hi(random_tracks) -/* 1072C8 7F0D2798 0043001B */ divu $zero, $v0, $v1 -/* 1072CC 7F0D279C 00004010 */ mfhi $t0 -/* 1072D0 7F0D27A0 00084840 */ sll $t1, $t0, 1 -/* 1072D4 7F0D27A4 00892021 */ addu $a0, $a0, $t1 -/* 1072D8 7F0D27A8 8484EBD0 */ lh $a0, %lo(random_tracks)($a0) -/* 1072DC 7F0D27AC 14600002 */ bnez $v1, .L7F0D27B8 -/* 1072E0 7F0D27B0 00000000 */ nop -/* 1072E4 7F0D27B4 0007000D */ break 7 -.L7F0D27B8: -/* 1072E8 7F0D27B8 00801025 */ move $v0, $a0 -/* 1072EC 7F0D27BC 1000001F */ b .L7F0D283C -/* 1072F0 7F0D27C0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0D27C4: -/* 1072F4 7F0D27C4 1000001C */ b .L7F0D2838 -/* 1072F8 7F0D27C8 00601025 */ move $v0, $v1 -/* 1072FC 7F0D27CC 84430008 */ lh $v1, 8($v0) -.L7F0D27D0: -/* 107300 7F0D27D0 24420008 */ addiu $v0, $v0, 8 -/* 107304 7F0D27D4 1460FFDB */ bnez $v1, .L7F0D2744 -/* 107308 7F0D27D8 00000000 */ nop -.L7F0D27DC: -/* 10730C 7F0D27DC 854AEBD0 */ lh $t2, %lo(random_tracks)($t2) -/* 107310 7F0D27E0 3C028005 */ lui $v0, %hi(random_tracks) -/* 107314 7F0D27E4 00001825 */ move $v1, $zero -/* 107318 7F0D27E8 11400006 */ beqz $t2, .L7F0D2804 -/* 10731C 7F0D27EC 2442EBD0 */ addiu $v0, %lo(random_tracks) # addiu $v0, $v0, -0x1430 -/* 107320 7F0D27F0 844B0002 */ lh $t3, 2($v0) -.L7F0D27F4: -/* 107324 7F0D27F4 24630001 */ addiu $v1, $v1, 1 -/* 107328 7F0D27F8 24420002 */ addiu $v0, $v0, 2 -/* 10732C 7F0D27FC 5560FFFD */ bnezl $t3, .L7F0D27F4 -/* 107330 7F0D2800 844B0002 */ lh $t3, 2($v0) -.L7F0D2804: -/* 107334 7F0D2804 0C002914 */ jal get_random_value -/* 107338 7F0D2808 AFA30018 */ sw $v1, 0x18($sp) -/* 10733C 7F0D280C 8FA30018 */ lw $v1, 0x18($sp) -/* 107340 7F0D2810 3C048005 */ lui $a0, %hi(random_tracks) -/* 107344 7F0D2814 0043001B */ divu $zero, $v0, $v1 -/* 107348 7F0D2818 00006010 */ mfhi $t4 -/* 10734C 7F0D281C 000C6840 */ sll $t5, $t4, 1 -/* 107350 7F0D2820 008D2021 */ addu $a0, $a0, $t5 -/* 107354 7F0D2824 8484EBD0 */ lh $a0, %lo(random_tracks)($a0) -/* 107358 7F0D2828 14600002 */ bnez $v1, .L7F0D2834 -/* 10735C 7F0D282C 00000000 */ nop -/* 107360 7F0D2830 0007000D */ break 7 -.L7F0D2834: -/* 107364 7F0D2834 00801025 */ move $v0, $a0 -.L7F0D2838: -/* 107368 7F0D2838 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0D283C: -/* 10736C 7F0D283C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 107370 7F0D2840 03E00008 */ jr $ra -/* 107374 7F0D2844 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D2848(s32 arg0) { - void *temp_v1; - s32 temp_v0; - s32 phi_v0; - void *phi_v1; - - // Node 0 - temp_v1 = (0x80050000 + -0x14f0); - if (music_setup_entries != 0) - { - // Node 1 - phi_v0 = *temp_v1; - phi_v1 = temp_v1; - // Node 2 - if (arg0 == phi_v0) - { - // Node 3 - return phi_v1->unk4; - } - // Node 4 - temp_v0 = phi_v1->unk8; - phi_v0 = temp_v0; - phi_v1 = (phi_v1 + 8); - if (temp_v0 != 0) - { - goto loop_2; - } - } - // Node 5 - return -1; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D2848 -/* 107378 7F0D2848 3C0E8005 */ lui $t6, %hi(music_setup_entries) -/* 10737C 7F0D284C 85CEEB10 */ lh $t6, %lo(music_setup_entries)($t6) -/* 107380 7F0D2850 3C0F8005 */ lui $t7, %hi(music_setup_entries) -/* 107384 7F0D2854 25E3EB10 */ addiu $v1, $t7, %lo(music_setup_entries) -/* 107388 7F0D2858 51C0000B */ beql $t6, $zero, .L7F0D2888 -/* 10738C 7F0D285C 2402FFFF */ li $v0, -1 -/* 107390 7F0D2860 84620000 */ lh $v0, ($v1) -.L7F0D2864: -/* 107394 7F0D2864 54820004 */ bnel $a0, $v0, .L7F0D2878 -/* 107398 7F0D2868 84620008 */ lh $v0, 8($v1) -/* 10739C 7F0D286C 03E00008 */ jr $ra -/* 1073A0 7F0D2870 84620004 */ lh $v0, 4($v1) - -/* 1073A4 7F0D2874 84620008 */ lh $v0, 8($v1) -.L7F0D2878: -/* 1073A8 7F0D2878 24630008 */ addiu $v1, $v1, 8 -/* 1073AC 7F0D287C 1440FFF9 */ bnez $v0, .L7F0D2864 -/* 1073B0 7F0D2880 00000000 */ nop -/* 1073B4 7F0D2884 2402FFFF */ li $v0, -1 -.L7F0D2888: -/* 1073B8 7F0D2888 03E00008 */ jr $ra -/* 1073BC 7F0D288C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D2890(s32 arg0) { - void *temp_v1; - s32 temp_v0; - s32 phi_v0; - void *phi_v1; - - // Node 0 - temp_v1 = (0x80050000 + -0x14f0); - if (music_setup_entries != 0) - { - // Node 1 - phi_v0 = *temp_v1; - phi_v1 = temp_v1; - // Node 2 - if (arg0 == phi_v0) - { - // Node 3 - return phi_v1->unk6; - } - // Node 4 - temp_v0 = phi_v1->unk8; - phi_v0 = temp_v0; - phi_v1 = (phi_v1 + 8); - if (temp_v0 != 0) - { - goto loop_2; - } - } - // Node 5 - return -1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D2890 -/* 1073C0 7F0D2890 3C0E8005 */ lui $t6, %hi(music_setup_entries) -/* 1073C4 7F0D2894 85CEEB10 */ lh $t6, %lo(music_setup_entries)($t6) -/* 1073C8 7F0D2898 3C0F8005 */ lui $t7, %hi(music_setup_entries) -/* 1073CC 7F0D289C 25E3EB10 */ addiu $v1, $t7, %lo(music_setup_entries) -/* 1073D0 7F0D28A0 51C0000B */ beql $t6, $zero, .L7F0D28D0 -/* 1073D4 7F0D28A4 2402FFFF */ li $v0, -1 -/* 1073D8 7F0D28A8 84620000 */ lh $v0, ($v1) -.L7F0D28AC: -/* 1073DC 7F0D28AC 54820004 */ bnel $a0, $v0, .L7F0D28C0 -/* 1073E0 7F0D28B0 84620008 */ lh $v0, 8($v1) -/* 1073E4 7F0D28B4 03E00008 */ jr $ra -/* 1073E8 7F0D28B8 84620006 */ lh $v0, 6($v1) - -/* 1073EC 7F0D28BC 84620008 */ lh $v0, 8($v1) -.L7F0D28C0: -/* 1073F0 7F0D28C0 24630008 */ addiu $v1, $v1, 8 -/* 1073F4 7F0D28C4 1440FFF9 */ bnez $v0, .L7F0D28AC -/* 1073F8 7F0D28C8 00000000 */ nop -/* 1073FC 7F0D28CC 2402FFFF */ li $v0, -1 -.L7F0D28D0: -/* 107400 7F0D28D0 03E00008 */ jr $ra -/* 107404 7F0D28D4 00000000 */ nop -) -#endif - - - diff --git a/src/game/null_007970.c b/src/game/null_007970.c deleted file mode 100644 index 544af8d..0000000 --- a/src/game/null_007970.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "ultra64.h" - - - -void cleanup_REMOVED_(void){ - -} - diff --git a/src/game/ob.c b/src/game/ob.c deleted file mode 100644 index 3722586..0000000 --- a/src/game/ob.c +++ /dev/null @@ -1,1838 +0,0 @@ -#include "ultra64.h" -#include "game/ob.h" -#include "assets/obseg/obseg.h" -#include "game/decompress.h" - -//bss -//800888b0 -struct resource_lookup_data_entry resource_lookup_data_array[736]; - -// data -//D:80046050 -s32 ob_c_debug_notice_list_entry = 0; - -struct fileentry file_resource_table[] = { - {0, "", 0}, - {1, "bg/bg_sev_all_p.seg", &bg_sev_all_p_seg}, - {2, "bg/bg_silo_all_p.seg", &bg_silo_all_p_seg}, - {3, "bg/bg_stat_all_p.seg", &bg_stat_all_p_seg}, - {4, "bg/bg_arec_all_p.seg", &bg_arec_all_p_seg}, - {5, "bg/bg_arch_all_p.seg", &bg_arch_all_p_seg}, - {6, "bg/bg_tra_all_p.seg", &bg_tra_all_p_seg}, - {7, "bg/bg_dest_all_p.seg", &bg_dest_all_p_seg}, - {8, "bg/bg_sevb_all_p.seg", &bg_sevb_all_p_seg}, - {9, "bg/bg_azt_all_p.seg", &bg_azt_all_p_seg}, - {0xA, "bg/bg_pete_all_p.seg", &bg_pete_all_p_seg}, - {0xB, "bg/bg_depo_all_p.seg", &bg_depo_all_p_seg}, - {0xC, "bg/bg_ref_all_p.seg", &bg_ref_all_p_seg}, - {0xD, "bg/bg_cryp_all_p.seg", &bg_cryp_all_p_seg}, - {0xE, "bg/bg_dam_all_p.seg", &bg_dam_all_p_seg}, - {0xF, "bg/bg_ark_all_p.seg", &bg_ark_all_p_seg}, - {0x10, "bg/bg_run_all_p.seg", &bg_run_all_p_seg}, - {0x11, "bg/bg_sevx_all_p.seg", &bg_sevx_all_p_seg}, - {0x12, "bg/bg_jun_all_p.seg", &bg_jun_all_p_seg}, - {0x13, "bg/bg_dish_all_p.seg", &bg_dish_all_p_seg}, - {0x14, "bg/bg_cave_all_p.seg", &bg_cave_all_p_seg}, - {0x15, "bg/bg_cat_all_p.seg", &bg_cat_all_p_seg}, - {0x16, "bg/bg_crad_all_p.seg", &bg_crad_all_p_seg}, - {0x17, "bg/bg_sho_all_p.seg", &bg_sho_all_p_seg}, - {0x18, "bg/bg_eld_all_p.seg", &bg_imp_all_p_seg}, - {0x19, "bg/bg_imp_all_p.seg", &bg_imp_all_p_seg}, - {0x1A, "bg/bg_ash_all_p.seg", &bg_imp_all_p_seg}, - {0x1B, "bg/bg_lue_all_p.seg", &bg_imp_all_p_seg}, - {0x1C, "bg/bg_ame_all_p.seg", &bg_imp_all_p_seg}, - {0x1D, "bg/bg_rit_all_p.seg", &bg_rit_all_p_seg}, - {0x1E, "bg/bg_oat_all_p.seg", &bg_oat_all_p_seg}, - {0x1F, "bg/bg_ear_all_p.seg", &bg_ear_all_p_seg}, - {0x20, "bg/bg_lee_all_p.seg", &bg_lee_all_p_seg}, - {0x21, "bg/bg_lip_all_p.seg", &bg_lip_all_p_seg}, - {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}, - {0x28, "CbluemanZ", &CbluemanZ}, - {0x29, "CbluewomanZ", &CbluewomanZ}, - {0x2A, "CboilerbondZ", &CboilerbondZ}, - {0x2B, "CboilertrevZ", &CboilertrevZ}, - {0x2C, "CborisZ", &CborisZ}, - {0x2D, "CcamguardZ", &CcamguardZ}, - {0x2E, "CcardimanZ", &CcardimanZ}, - {0x2F, "CcheckmanZ", &CcheckmanZ}, - {0x30, "CcommguardZ", &CcommguardZ}, - {0x31, "CdjbondZ", &CdjbondZ}, - {0x32, "CfattechwomanZ", &CfattechwomanZ}, - {0x33, "Cgreatguard2Z", &Cgreatguard2Z}, - {0x34, "CgreatguardZ", &CgreatguardZ}, - {0x35, "CgreyguardZ", &CgreyguardZ}, - {0x36, "CgreymanZ", &CgreymanZ}, - {0x37, "CheadalanZ", &CheadalanZ}, - {0x38, "CheadbZ", &CheadbZ}, - {0x39, "CheadbalaclavaZ", &CheadbalaclavaZ}, - {0x3A, "CheadbikeZ", &CheadbikeZ}, - {0x3B, "CheadbrosnanZ", &CheadbrosnanZ}, - {0x3C, "CheadbrosnanboilerZ", &CheadbrosnanboilerZ}, - {0x3D, "CheadbrosnansnowZ", &CheadbrosnansnowZ}, - {0x3E, "CheadbrosnansuitZ", &CheadbrosnansuitZ}, - {0x3F, "CheadbrosnantimberZ", &CheadbrosnantimberZ}, - {0x40, "CheadchrisZ", &CheadchrisZ}, - {0x41, "CheaddaveZ", &CheaddaveZ}, - {0x42, "CheaddesZ", &CheaddesZ}, - {0x43, "CheadduncanZ", &CheadduncanZ}, - {0x44, "CheaddwayneZ", &CheaddwayneZ}, - {0x45, "CheadgrahamZ", &CheadgrahamZ}, - {0x46, "CheadgrantZ", &CheadgrantZ}, - {0x47, "CheadjimZ", &CheadjimZ}, - {0x48, "Cheadjoe2Z", &Cheadjoe2Z}, - {0x49, "CheadjoeZ", &CheadjoeZ}, - {0x4A, "CheadjoelZ", &CheadjoelZ}, - {0x4B, "CheadkarlZ", &CheadkarlZ}, - {0x4C, "CheadkenZ", &CheadkenZ}, - {0x4D, "CheadleeZ", &CheadleeZ}, - {0x4E, "CheadmandyZ", &CheadmandyZ}, - {0x4F, "CheadmarionZ", &CheadmarionZ}, - {0x50, "CheadmarkZ", &CheadmarkZ}, - {0x51, "CheadmartinZ", &CheadmartinZ}, - {0x52, "CheadmishkinZ", &CheadmishkinZ}, - {0x53, "CheadneilZ", &CheadneilZ}, - {0x54, "CheadpeteZ", &CheadpeteZ}, - {0x55, "CheadrobinZ", &CheadrobinZ}, - {0x56, "CheadsallyZ", &CheadsallyZ}, - {0x57, "CheadscottZ", &CheadscottZ}, - {0x58, "CheadshaunZ", &CheadshaunZ}, - {0x59, "CheadsteveeZ", &CheadsteveeZ}, - {0x5A, "CheadstevehZ", &CheadstevehZ}, - {0x5B, "CheadvivienZ", &CheadvivienZ}, - {0x5C, "CjawsZ", &CjawsZ}, - {0x5D, "CjeanwomanZ", &CjeanwomanZ}, - {0x5E, "CmaydayZ", &CmaydayZ}, - {0x5F, "CmoonfemaleZ", &CmoonfemaleZ}, - {0x60, "CmoonguardZ", &CmoonguardZ}, - {0x61, "CnatalyaZ", &CnatalyaZ}, - {0x62, "CnavyguardZ", &CnavyguardZ}, - {0x63, "CoddjobZ", &CoddjobZ}, - {0x64, "ColiveguardZ", &ColiveguardZ}, - {0x65, "CorumovZ", &CorumovZ}, - {0x66, "CpilotZ", &CpilotZ}, - {0x67, "CredmanZ", &CredmanZ}, - {0x68, "CrusguardZ", &CrusguardZ}, - {0x69, "CsnowbondZ", &CsnowbondZ}, - {0x6A, "CsnowguardZ", &CsnowguardZ}, - {0x6B, "CspicebondZ", &CspicebondZ}, - {0x6C, "Csuit_lf_handZ", &Csuit_lf_handZ}, - {0x6D, "CsuitbondZ", &CsuitbondZ}, - {0x6E, "CtechmanZ", &CtechmanZ}, - {0x6F, "CtechwomanZ", &CtechwomanZ}, - {0x70, "CtimberbondZ", &CtimberbondZ}, - {0x71, "CtrevelyanZ", &CtrevelyanZ}, - {0x72, "CtrevguardZ", &CtrevguardZ}, - {0x73, "CvalentinZ", &CvalentinZ}, - {0x74, "CxeniaZ", &CxeniaZ}, - - {0x75, "Gak47Z", &Gak47Z}, - {0x76, "GaudiotapeZ", &GaudiotapeZ}, - {0x77, "GautoshotZ", &GautoshotZ}, - {0x78, "GblackboxZ", &GblackboxZ}, - {0x79, "GblueprintsZ", &GblueprintsZ}, - {0x7A, "GbombcaseZ", &GbombcaseZ}, - {0x7B, "GbombdefuserZ", &GbombdefuserZ}, - {0x7C, "GbriefcaseZ", &GbriefcaseZ}, - {0x7D, "GbugZ", &GbugZ}, - {0x7E, "GbugdetectorZ", &GbugdetectorZ}, - {0x7F, "GbungeeZ", &GbungeeZ}, - {0x80, "GcameraZ", &GcameraZ}, - {0x81, "GcartblueZ", &GcartblueZ}, - {0x82, "GcartridgeZ", &GcartridgeZ}, - {0x83, "GcartrifleZ", &GcartrifleZ}, - {0x84, "GcartshellZ", &GcartshellZ}, - {0x85, "GcircuitboardZ", &GcircuitboardZ}, - {0x86, "GclipboardZ", &GclipboardZ}, - {0x87, "GcreditcardZ", &GcreditcardZ}, - {0x88, "GdarkglassesZ", &GdarkglassesZ}, - {0x89, "GdatathiefZ", &GdatathiefZ}, - {0x8A, "GdattapeZ", &GdattapeZ}, - {0x8B, "GdoordecoderZ", &GdoordecoderZ}, - {0x8C, "GdoorexploderZ", &GdoorexploderZ}, - {0x8D, "GdossierredZ", &GdossierredZ}, - {0x8E, "GdynamiteZ", &GdynamiteZ}, - {0x8F, "GexplosivefloppyZ", &GexplosivefloppyZ}, - {0x90, "GexplosivepenZ", &GexplosivepenZ}, - {0x91, "GextinguisherZ", &GextinguisherZ}, - {0x92, "GfingergunZ", &GfingergunZ}, - {0x93, "GfistZ", &GfistZ}, - {0x94, "GflarepistolZ", &GflarepistolZ}, - {0x95, "Gfnp90Z", &Gfnp90Z}, - {0x96, "GgaskeyringZ", &GgaskeyringZ}, - {0x97, "GgoldbarZ", &GgoldbarZ}, - {0x98, "GgoldeneyekeyZ", &GgoldeneyekeyZ}, - {0x99, "GgoldengunZ", &GgoldengunZ}, - {0x9A, "GgoldwppkZ", &GgoldwppkZ}, - {0x9B, "GgrenadeZ", &GgrenadeZ}, - {0x9C, "GgrenadelaunchZ", &GgrenadelaunchZ}, - {0x9D, "GheroinZ", &GheroinZ}, - {0x9E, "GjoypadZ", &GjoypadZ}, - {0x9F, "GkeyanalysercaseZ", &GkeyanalysercaseZ}, - {0xA0, "GkeyboltZ", &GkeyboltZ}, - {0xA1, "GkeycardZ", &GkeycardZ}, - {0xA2, "GkeyyaleZ", &GkeyyaleZ}, - {0xA3, "GknifeZ", &GknifeZ}, - {0xA4, "GlaserZ", &GlaserZ}, - {0xA5, "GlectreZ", &GlectreZ}, - {0xA6, "GlockexploderZ", &GlockexploderZ}, - {0xA7, "Gm16Z", &Gm16Z}, - {0xA8, "GmapZ", &GmapZ}, - {0xA9, "GmicrocameraZ", &GmicrocameraZ}, - {0xAA, "GmicrocodeZ", &GmicrocodeZ}, - {0xAB, "GmicrofilmZ", &GmicrofilmZ}, - {0xAC, "GmoneyZ", &GmoneyZ}, - {0xAD, "Gmp5kZ", &Gmp5kZ}, - {0xAE, "Gmp5ksilZ", &Gmp5ksilZ}, - {0xAF, "GpitongunZ", &GpitongunZ}, - {0xB0, "GplansZ", &GplansZ}, - {0xB1, "GplastiqueZ", &GplastiqueZ}, - {0xB2, "GpolarizedglassesZ", &GpolarizedglassesZ}, - {0xB3, "GproximitymineZ", &GproximitymineZ}, - {0xB4, "GremotemineZ", &GremotemineZ}, - {0xB5, "GrocketlaunchZ", &GrocketlaunchZ}, - {0xB6, "GrugerZ", &GrugerZ}, - {0xB7, "GsafecrackercaseZ", &GsafecrackercaseZ}, - {0xB8, "GshotgunZ", &GshotgunZ}, - {0xB9, "GsilverwppkZ", &GsilverwppkZ}, - {0xBA, "GskorpionZ", &GskorpionZ}, - {0xBB, "GsniperrifleZ", &GsniperrifleZ}, - {0xBC, "GspectreZ", &GspectreZ}, - {0xBD, "GspooltapeZ", &GspooltapeZ}, - {0xBE, "GspyfileZ", &GspyfileZ}, - {0xBF, "GstafflistZ", &GstafflistZ}, - {0xC0, "GtaserZ", &GtaserZ}, - {0xC1, "GthrowknifeZ", &GthrowknifeZ}, - {0xC2, "GtimedmineZ", &GtimedmineZ}, - {0xC3, "GtriggerZ", &GtriggerZ}, - {0xC4, "Gtt33Z", &Gtt33Z}, - {0xC5, "GuziZ", &GuziZ}, - {0xC6, "GvideotapeZ", &GvideotapeZ}, - {0xC7, "GwatchcommunicatorZ", &GwatchcommunicatorZ}, - {0xC8, "GwatchgeigercounterZ", &GwatchgeigercounterZ}, - {0xC9, "GwatchidentifierZ", &GwatchidentifierZ}, - {0xCA, "GwatchlaserZ", &GwatchlaserZ}, - {0xCB, "GwatchmagnetattractZ", &GwatchmagnetattractZ}, - {0xCC, "GwatchmagnetrepelZ", &GwatchmagnetrepelZ}, - {0xCD, "GweaponcaseZ", &GweaponcaseZ}, - {0xCE, "GwppkZ", &GwppkZ}, - {0xCF, "GwppksilZ", &GwppksilZ}, - {0xD0, "GwristdartZ", &GwristdartZ}, - - {0xD1, "PICBMZ", &PICBMZ}, - {0xD2, "PICBM_noseZ", &PICBM_noseZ}, - {0xD3, "Pak47magZ", &Pak47magZ}, - {0xD4, "Palarm1Z", &Palarm1Z}, - {0xD5, "Palarm2Z", &Palarm2Z}, - {0xD6, "Pammo_crate1Z", &Pammo_crate1Z}, - {0xD7, "Pammo_crate2Z", &Pammo_crate2Z}, - {0xD8, "Pammo_crate3Z", &Pammo_crate3Z}, - {0xD9, "Pammo_crate4Z", &Pammo_crate4Z}, - {0xDA, "Pammo_crate5Z", &Pammo_crate5Z}, - {0xDB, "PapcZ", &PapcZ}, - {0xDC, "Parchsecdoor1Z", &Parchsecdoor1Z}, - {0xDD, "Parchsecdoor2Z", &Parchsecdoor2Z}, - {0xDE, "ParticZ", &ParticZ}, - {0xDF, "PartictrailerZ", &PartictrailerZ}, - {0xE0, "PbarricadeZ", &PbarricadeZ}, - {0xE1, "Pbin1Z", &Pbin1Z}, - {0xE2, "Pblotter1Z", &Pblotter1Z}, - {0xE3, "PbodyarmourZ", &PbodyarmourZ}, - {0xE4, "PbodyarmourvestZ", &PbodyarmourvestZ}, - {0xE5, "PbollardZ", &PbollardZ}, - {0xE6, "PbombZ", &PbombZ}, - {0xE7, "Pbook1Z", &Pbook1Z}, - {0xE8, "Pbookshelf1Z", &Pbookshelf1Z}, - {0xE9, "Pborg_crateZ", &Pborg_crateZ}, - {0xEA, "PboxcartridgesZ", &PboxcartridgesZ}, - {0xEB, "Pboxes2x4Z", &Pboxes2x4Z}, - {0xEC, "Pboxes3x4Z", &Pboxes3x4Z}, - {0xED, "Pboxes4x4Z", &Pboxes4x4Z}, - {0xEE, "PbrakeunitZ", &PbrakeunitZ}, - {0xEF, "Pbridge_console1aZ", &Pbridge_console1aZ}, - {0xF0, "Pbridge_console1bZ", &Pbridge_console1bZ}, - {0xF1, "Pbridge_console2aZ", &Pbridge_console2aZ}, - {0xF2, "Pbridge_console2bZ", &Pbridge_console2bZ}, - {0xF3, "Pbridge_console3aZ", &Pbridge_console3aZ}, - {0xF4, "Pbridge_console3bZ", &Pbridge_console3bZ}, - {0xF5, "PcarbmwZ", &PcarbmwZ}, - {0xF6, "Pcard_box1Z", &Pcard_box1Z}, - {0xF7, "Pcard_box2Z", &Pcard_box2Z}, - {0xF8, "Pcard_box3Z", &Pcard_box3Z}, - {0xF9, "Pcard_box4_lgZ", &Pcard_box4Z}, - {0xFA, "Pcard_box5_lgZ", &Pcard_box5Z}, - {0xFB, "Pcard_box6_lgZ", &Pcard_box6Z}, - {0xFC, "PcarescortZ", &PcarescortZ}, - {0xFD, "PcargolfZ", &PcargolfZ}, - {0xFE, "PcarweirdZ", &PcarweirdZ}, - {0xFF, "PcarzilZ", &PcarzilZ}, - {0x100, "PcctvZ", &PcctvZ}, - {0x101, "PchraudiotapeZ", &PchraudiotapeZ}, - {0x102, "PchrautoshotZ", &PchrautoshotZ}, - {0x103, "PchrblackboxZ", &PchrblackboxZ}, - {0x104, "PchrblueprintsZ", &PchrblueprintsZ}, - {0x105, "PchrbombcaseZ", &PchrbombcaseZ}, - {0x106, "PchrbombdefuserZ", &PchrbombdefuserZ}, - {0x107, "PchrbriefcaseZ", &PchrbriefcaseZ}, - {0x108, "PchrbugZ", &PchrbugZ}, - {0x109, "PchrbugdetectorZ", &PchrbugdetectorZ}, - {0x10A, "PchrbungeeZ", &PchrbungeeZ}, - {0x10B, "PchrcameraZ", &PchrcameraZ}, - {0x10C, "PchrcircuitboardZ", &PchrcircuitboardZ}, - {0x10D, "PchrclipboardZ", &PchrclipboardZ}, - {0x10E, "PchrcreditcardZ", &PchrcreditcardZ}, - {0x10F, "PchrdarkglassesZ", &PchrdarkglassesZ}, - {0x110, "PchrdatathiefZ", &PchrdatathiefZ}, - {0x111, "PchrdattapeZ", &PchrdattapeZ}, - {0x112, "PchrdoordecoderZ", &PchrdoordecoderZ}, - {0x113, "PchrdoorexploderZ", &PchrdoorexploderZ}, - {0x114, "PchrdossierredZ", &PchrdossierredZ}, - {0x115, "PchrdynamiteZ", &PchrdynamiteZ}, - {0x116, "PchrexplosivepenZ", &PchrexplosivepenZ}, - {0x117, "PchrextinguisherZ", &PchrextinguisherZ}, - {0x118, "PchrfingergunZ", &PchrfingergunZ}, - {0x119, "PchrflarepistolZ", &PchrflarepistolZ}, - {0x11A, "Pchrfnp90Z", &Pchrfnp90Z}, - {0x11B, "PchrgaskeyringZ", &PchrgaskeyringZ}, - {0x11C, "PchrgoldbarZ", &PchrgoldbarZ}, - {0x11D, "PchrgoldenZ", &PchrgoldenZ}, - {0x11E, "PchrgoldeneyekeyZ", &PchrgoldeneyekeyZ}, - {0x11F, "PchrgoldwppkZ", &PchrgoldwppkZ}, - {0x120, "PchrgrenadeZ", &PchrgrenadeZ}, - {0x121, "PchrgrenadelaunchZ", &PchrgrenadelaunchZ}, - {0x122, "PchrgrenaderoundZ", &PchrgrenaderoundZ}, - {0x123, "PchrheroinZ", &PchrheroinZ}, - {0x124, "PchrkalashZ", &PchrkalashZ}, - {0x125, "PchrkeyanalysercaseZ", &PchrkeyanalysercaseZ}, - {0x126, "PchrkeyboltZ", &PchrkeyboltZ}, - {0x127, "PchrkeyyaleZ", &PchrkeyyaleZ}, - {0x128, "PchrknifeZ", &PchrknifeZ}, - {0x129, "PchrlaserZ", &PchrlaserZ}, - {0x12A, "PchrlectreZ", &PchrlectreZ}, - {0x12B, "PchrlockexploderZ", &PchrlockexploderZ}, - {0x12C, "Pchrm16Z", &Pchrm16Z}, - {0x12D, "PchrmapZ", &PchrmapZ}, - {0x12E, "PchrmicrocameraZ", &PchrmicrocameraZ}, - {0x12F, "PchrmicrocodeZ", &PchrmicrocodeZ}, - {0x130, "PchrmicrofilmZ", &PchrmicrofilmZ}, - {0x131, "PchrmoneyZ", &PchrmoneyZ}, - {0x132, "Pchrmp5kZ", &Pchrmp5kZ}, - {0x133, "Pchrmp5ksilZ", &Pchrmp5ksilZ}, - {0x134, "PchrpitongunZ", &PchrpitongunZ}, - {0x135, "PchrplansZ", &PchrplansZ}, - {0x136, "PchrplastiqueZ", &PchrplastiqueZ}, - {0x137, "PchrpolarizedglassesZ", &PchrpolarizedglassesZ}, - {0x138, "PchrproximitymineZ", &PchrproximitymineZ}, - {0x139, "PchrremotemineZ", &PchrremotemineZ}, - {0x13A, "PchrrocketZ", &PchrrocketZ}, - {0x13B, "PchrrocketlaunchZ", &PchrrocketlaunchZ}, - {0x13C, "PchrrugerZ", &PchrrugerZ}, - {0x13D, "PchrsafecrackercaseZ", &PchrsafecrackercaseZ}, - {0x13E, "PchrshotgunZ", &PchrshotgunZ}, - {0x13F, "PchrsilverwppkZ", &PchrsilverwppkZ}, - {0x140, "PchrskorpionZ", &PchrskorpionZ}, - {0x141, "PchrsniperrifleZ", &PchrsniperrifleZ}, - {0x142, "PchrspectreZ", &PchrspectreZ}, - {0x143, "PchrspooltapeZ", &PchrspooltapeZ}, - {0x144, "PchrspyfileZ", &PchrspyfileZ}, - {0x145, "PchrstafflistZ", &PchrstafflistZ}, - {0x146, "PchrtesttubeZ", &PchrtesttubeZ}, - {0x147, "PchrthrowknifeZ", &PchrthrowknifeZ}, - {0x148, "PchrtimedmineZ", &PchrtimedmineZ}, - {0x149, "Pchrtt33Z", &Pchrtt33Z}, - {0x14A, "PchruziZ", &PchruziZ}, - {0x14B, "PchrvideotapeZ", &PchrvideotapeZ}, - {0x14C, "PchrweaponcaseZ", &PchrweaponcaseZ}, - {0x14D, "PchrwppkZ", &PchrwppkZ}, - {0x14E, "PchrwppksilZ", &PchrwppksilZ}, - {0x14F, "PchrwristdartZ", &PchrwristdartZ}, - {0x150, "Pconsole1Z", &Pconsole1Z}, - {0x151, "Pconsole2Z", &Pconsole2Z}, - {0x152, "Pconsole3Z", &Pconsole3Z}, - {0x153, "Pconsole_sev2aZ", &Pconsole_sev2aZ}, - {0x154, "Pconsole_sev2bZ", &Pconsole_sev2bZ}, - {0x155, "Pconsole_sev2cZ", &Pconsole_sev2cZ}, - {0x156, "Pconsole_sev2dZ", &Pconsole_sev2dZ}, - {0x157, "Pconsole_sev_GEaZ", &Pconsole_sev_GEaZ}, - {0x158, "Pconsole_sev_GEbZ", &Pconsole_sev_GEbZ}, - {0x159, "Pconsole_sevaZ", &Pconsole_sevaZ}, - {0x15A, "Pconsole_sevbZ", &Pconsole_sevbZ}, - {0x15B, "Pconsole_sevcZ", &Pconsole_sevcZ}, - {0x15C, "Pconsole_sevdZ", &Pconsole_sevdZ}, - {0x15D, "Pcryptdoor1aZ", &Pcryptdoor1aZ}, - {0x15E, "Pcryptdoor1bZ", &Pcryptdoor1bZ}, - {0x15F, "Pcryptdoor2aZ", &Pcryptdoor2aZ}, - {0x160, "Pcryptdoor2bZ", &Pcryptdoor2bZ}, - {0x161, "Pcryptdoor3Z", &Pcryptdoor3Z}, - {0x162, "Pcryptdoor4Z", &Pcryptdoor4Z}, - {0x163, "PdamchaindoorZ", &PdamchaindoorZ}, - {0x164, "PdamgatedoorZ", &PdamgatedoorZ}, - {0x165, "PdamtundoorZ", &PdamtundoorZ}, - {0x166, "Pdepot_door_steelZ", &Pdepot_door_steelZ}, - {0x167, "Pdepot_gate_entryZ", &Pdepot_gate_entryZ}, - {0x168, "Pdesk1Z", &Pdesk1Z}, - {0x169, "Pdesk2Z", &Pdesk2Z}, - {0x16A, "Pdesk_arecibo1Z", &Pdesk_arecibo1Z}, - {0x16B, "Pdesk_lamp2Z", &Pdesk_lamp2Z}, - {0x16C, "Pdest_engineZ", &Pdest_engineZ}, - {0x16D, "Pdest_exocetZ", &Pdest_exocetZ}, - {0x16E, "Pdest_gunZ", &Pdest_gunZ}, - {0x16F, "Pdest_harpoonZ", &Pdest_harpoonZ}, - {0x170, "Pdest_seawolfZ", &Pdest_seawolfZ}, - {0x171, "Pdisc_readerZ", &Pdisc_readerZ}, - {0x172, "Pdisk_drive1Z", &Pdisk_drive1Z}, - {0x173, "Pdoor_azt_chairZ", &Pdoor_azt_chairZ}, - {0x174, "Pdoor_azt_deskZ", &Pdoor_azt_deskZ}, - {0x175, "Pdoor_azt_desk_topZ", &Pdoor_azt_desk_topZ}, - {0x176, "Pdoor_aztecZ", &Pdoor_aztecZ}, - {0x177, "Pdoor_dest1Z", &Pdoor_dest1Z}, - {0x178, "Pdoor_dest2Z", &Pdoor_dest2Z}, - {0x179, "Pdoor_eyelidZ", &Pdoor_eyelidZ}, - {0x17A, "Pdoor_irisZ", &Pdoor_irisZ}, - {0x17B, "Pdoor_mfZ", &Pdoor_mfZ}, - {0x17C, "Pdoor_roller1Z", &Pdoor_roller1Z}, - {0x17D, "Pdoor_roller2Z", &Pdoor_roller2Z}, - {0x17E, "Pdoor_roller3Z", &Pdoor_roller3Z}, - {0x17F, "Pdoor_roller4Z", &Pdoor_roller4Z}, - {0x180, "Pdoor_rollertrainZ", &Pdoor_rollertrainZ}, - {0x181, "Pdoor_st_arec1Z", &Pdoor_st_arec1Z}, - {0x182, "Pdoor_st_arec2Z", &Pdoor_st_arec2Z}, - {0x183, "Pdoor_winZ", &Pdoor_winZ}, - {0x184, "PdoorconsoleZ", &PdoorconsoleZ}, - {0x185, "PdoorpanelZ", &PdoorpanelZ}, - {0x186, "Pdoorprison1Z", &Pdoorprison1Z}, - {0x187, "PdoorstatgateZ", &PdoorstatgateZ}, - {0x188, "PexplosionbitZ", &PexplosionbitZ}, - {0x189, "Pfiling_cabinet1Z", &Pfiling_cabinet1Z}, - {0x18A, "PflagZ", &PflagZ}, - {0x18B, "PfloppyZ", &PfloppyZ}, - {0x18C, "Pfnp90magZ", &Pfnp90magZ}, - {0x18D, "Pgas_plant_met1_do1Z", &Pgas_plant_met1_do1Z}, - {0x18E, "Pgas_plant_sw2_do1Z", &Pgas_plant_sw2_do1Z}, - {0x18F, "Pgas_plant_sw3_do1Z", &Pgas_plant_sw3_do1Z}, - {0x190, "Pgas_plant_sw4_do1Z", &Pgas_plant_sw4_do1Z}, - {0x191, "Pgas_plant_sw_do1Z", &Pgas_plant_sw_do1Z}, - {0x192, "Pgas_plant_wc_cub1Z", &Pgas_plant_wc_cub1Z}, - {0x193, "PgasbarrelZ", &PgasbarrelZ}, - {0x194, "PgasbarrelsZ", &PgasbarrelsZ}, - {0x195, "Pgasplant_clear_doorZ", &Pgasplant_clear_doorZ}, - {0x196, "PgastankZ", &PgastankZ}, - {0x197, "Pglassware1Z", &Pglassware1Z}, - {0x198, "Pglassware2Z", &Pglassware2Z}, - {0x199, "Pglassware3Z", &Pglassware3Z}, - {0x19A, "Pglassware4Z", &Pglassware4Z}, - {0x19B, "PgoldeneyelogoZ", &PgoldeneyelogoZ}, - {0x19C, "PgoldenshellsZ", &PgoldenshellsZ}, - {0x19D, "PgroundgunZ", &PgroundgunZ}, - {0x19E, "Pgun_runway1Z", &Pgun_runway1Z}, - {0x19F, "PhatberetZ", &PhatberetZ}, - {0x1A0, "PhatberetblueZ", &PhatberetblueZ}, - {0x1A1, "PhatberetredZ", &PhatberetredZ}, - {0x1A2, "PhatchboltZ", &PhatchboltZ}, - {0x1A3, "PhatchdoorZ", &PhatchdoorZ}, - {0x1A4, "PhatchsevxZ", &PhatchsevxZ}, - {0x1A5, "PhatfurryZ", &PhatfurryZ}, - {0x1A6, "PhatfurryblackZ", &PhatfurryblackZ}, - {0x1A7, "PhatfurrybrownZ", &PhatfurrybrownZ}, - {0x1A8, "PhathelmetZ", &PhathelmetZ}, - {0x1A9, "PhathelmetgreyZ", &PhathelmetgreyZ}, - {0x1AA, "PhatmoonZ", &PhatmoonZ}, - {0x1AB, "PhatpeakedZ", &PhatpeakedZ}, - {0x1AC, "PhattbirdZ", &PhattbirdZ}, - {0x1AD, "PhattbirdbrownZ", &PhattbirdbrownZ}, - {0x1AE, "PhelicopterZ", &PhelicopterZ}, - {0x1AF, "PhindZ", &PhindZ}, - {0x1B0, "PjeepZ", &PjeepZ}, - {0x1B1, "Pjerry_can1Z", &Pjerry_can1Z}, - {0x1B2, "Pjungle3_treeZ", &Pjungle3_treeZ}, - {0x1B3, "Pjungle5_treeZ", &Pjungle5_treeZ}, - {0x1B4, "Pkey_holderZ", &Pkey_holderZ}, - {0x1B5, "Pkeyboard1Z", &Pkeyboard1Z}, - {0x1B6, "Pkit_units1Z", &Pkit_units1Z}, - {0x1B7, "PlabbenchZ", &PlabbenchZ}, - {0x1B8, "PlandmineZ", &PlandmineZ}, - {0x1B9, "PlegalpageZ", &PlegalpageZ}, - {0x1BA, "Pletter_tray1Z", &Pletter_tray1Z}, - {0x1BB, "Plocker3Z", &Plocker3Z}, - {0x1BC, "Plocker4Z", &Plocker4Z}, - {0x1BD, "Pm16magZ", &Pm16magZ}, - {0x1BE, "PmagnumshellsZ", &PmagnumshellsZ}, - {0x1BF, "Pmainframe1Z", &Pmainframe1Z}, - {0x1C0, "Pmainframe2Z", &Pmainframe2Z}, - {0x1C1, "Pmetal_chair1Z", &Pmetal_chair1Z}, - {0x1C2, "Pmetal_crate1Z", &Pmetal_crate1Z}, - {0x1C3, "Pmetal_crate2Z", &Pmetal_crate2Z}, - {0x1C4, "Pmetal_crate3Z", &Pmetal_crate3Z}, - {0x1C5, "Pmetal_crate4Z", &Pmetal_crate4Z}, - {0x1C6, "PmilcopterZ", &PmilcopterZ}, - {0x1C7, "PmiltruckZ", &PmiltruckZ}, - {0x1C8, "Pmissile_rack2Z", &Pmissile_rack2Z}, - {0x1C9, "Pmissile_rackZ", &Pmissile_rackZ}, - {0x1CA, "PmodemboxZ", &PmodemboxZ}, - {0x1CB, "PmotorbikeZ", &PmotorbikeZ}, - {0x1CC, "Pmp5kmagZ", &Pmp5kmagZ}, - {0x1CD, "PnintendologoZ", &PnintendologoZ}, - {0x1CE, "Poil_drum1Z", &Poil_drum1Z}, - {0x1CF, "Poil_drum2Z", &Poil_drum2Z}, - {0x1D0, "Poil_drum3Z", &Poil_drum3Z}, - {0x1D1, "Poil_drum5Z", &Poil_drum5Z}, - {0x1D2, "Poil_drum6Z", &Poil_drum6Z}, - {0x1D3, "Poil_drum7Z", &Poil_drum7Z}, - {0x1D4, "PpadlockZ", &PpadlockZ}, - {0x1D5, "PpalmZ", &PpalmZ}, - {0x1D6, "PpalmtreeZ", &PpalmtreeZ}, - {0x1D7, "Pphone1Z", &Pphone1Z}, - {0x1D8, "PplaneZ", &PplaneZ}, - {0x1D9, "Pplant11Z", &Pplant11Z}, - {0x1DA, "Pplant1Z", &Pplant1Z}, - {0x1DB, "Pplant2Z", &Pplant2Z}, - {0x1DC, "Pplant2bZ", &Pplant2bZ}, - {0x1DD, "Pplant3Z", &Pplant3Z}, - {0x1DE, "Pradio_unit1Z", &Pradio_unit1Z}, - {0x1DF, "Pradio_unit2Z", &Pradio_unit2Z}, - {0x1E0, "Pradio_unit3Z", &Pradio_unit3Z}, - {0x1E1, "Pradio_unit4Z", &Pradio_unit4Z}, - {0x1E2, "ProofgunZ", &ProofgunZ}, - {0x1E3, "PsafeZ", &PsafeZ}, - {0x1E4, "PsafedoorZ", &PsafedoorZ}, - {0x1E5, "Psat1_reflectZ", &Psat1_reflectZ}, - {0x1E6, "PsatboxZ", &PsatboxZ}, - {0x1E7, "PsatdishZ", &PsatdishZ}, - {0x1E8, "Psec_panelZ", &Psec_panelZ}, - {0x1E9, "Psev_door3Z", &Psev_door3Z}, - {0x1EA, "Psev_door3_windZ", &Psev_door3_windZ}, - {0x1EB, "Psev_door4_windZ", &Psev_door4_windZ}, - {0x1EC, "Psev_doorZ", &Psev_doorZ}, - {0x1ED, "Psev_door_v1Z", &Psev_door_v1Z}, - {0x1EE, "Psev_trislideZ", &Psev_trislideZ}, - {0x1EF, "PsevdishZ", &PsevdishZ}, - {0x1F0, "PsevdoormetslideZ", &PsevdoormetslideZ}, - {0x1F1, "PsevdoornowindZ", &PsevdoornowindZ}, - {0x1F2, "PsevdoorwindZ", &PsevdoorwindZ}, - {0x1F3, "PsevdoorwoodZ", &PsevdoorwoodZ}, - {0x1F4, "PshuttleZ", &PshuttleZ}, - {0x1F5, "Pshuttle_door_lZ", &Pshuttle_door_lZ}, - {0x1F6, "Pshuttle_door_rZ", &Pshuttle_door_rZ}, - {0x1F7, "PsilencerZ", &PsilencerZ}, - {0x1F8, "Psilo_lift_doorZ", &Psilo_lift_doorZ}, - {0x1F9, "PsilotopdoorZ", &PsilotopdoorZ}, - {0x1FA, "PskorpionmagZ", &PskorpionmagZ}, - {0x1FB, "PspectremagZ", &PspectremagZ}, - {0x1FC, "PspeedboatZ", &PspeedboatZ}, - {0x1FD, "Pst_pete_room_1iZ", &Pst_pete_room_1iZ}, - {0x1FE, "Pst_pete_room_2iZ", &Pst_pete_room_2iZ}, - {0x1FF, "Pst_pete_room_3tZ", &Pst_pete_room_3tZ}, - {0x200, "Pst_pete_room_5cZ", &Pst_pete_room_5cZ}, - {0x201, "Pst_pete_room_6cZ", &Pst_pete_room_6cZ}, - {0x202, "Psteel_door1Z", &Psteel_door1Z}, - {0x203, "Psteel_door2Z", &Psteel_door2Z}, - {0x204, "Psteel_door2bZ", &Psteel_door2bZ}, - {0x205, "Psteel_door3Z", &Psteel_door3Z}, - {0x206, "Pstool1Z", &Pstool1Z}, - {0x207, "Pswipe_card2Z", &Pswipe_card2Z}, - {0x208, "Pswivel_chair1Z", &Pswivel_chair1Z}, - {0x209, "PtankZ", &PtankZ}, - {0x20A, "PtigerZ", &PtigerZ}, - {0x20B, "Ptorpedo_rackZ", &Ptorpedo_rackZ}, - {0x20C, "Ptrain_door2Z", &Ptrain_door2Z}, - {0x20D, "Ptrain_door3Z", &Ptrain_door3Z}, - {0x20E, "Ptrain_doorZ", &Ptrain_doorZ}, - {0x20F, "PtrainextdoorZ", &PtrainextdoorZ}, - {0x210, "Ptt33magZ", &Ptt33magZ}, - {0x211, "Ptuning_console1Z", &Ptuning_console1Z}, - {0x212, "Ptv1Z", &Ptv1Z}, - {0x213, "Ptv4screenZ", &Ptv4screenZ}, - {0x214, "Ptv_holderZ", &Ptv_holderZ}, - {0x215, "PtvscreenZ", &PtvscreenZ}, - {0x216, "PuzimagZ", &PuzimagZ}, - {0x217, "PvertdoorZ", &PvertdoorZ}, - {0x218, "PwalletbondZ", &PwalletbondZ}, - {0x219, "PwindowZ", &PwindowZ}, - {0x21A, "Pwindow_cor11Z", &Pwindow_cor11Z}, - {0x21B, "Pwindow_lib_lg1Z", &Pwindow_lib_lg1Z}, - {0x21C, "Pwindow_lib_sm1Z", &Pwindow_lib_sm1Z}, - {0x21D, "Pwood_lg_crate1Z", &Pwood_lg_crate1Z}, - {0x21E, "Pwood_lg_crate2Z", &Pwood_lg_crate2Z}, - {0x21F, "Pwood_md_crate3Z", &Pwood_md_crate3Z}, - {0x220, "Pwood_sm_crate4Z", &Pwood_sm_crate4Z}, - {0x221, "Pwood_sm_crate5Z", &Pwood_sm_crate5Z}, - {0x222, "Pwood_sm_crate6Z", &Pwood_sm_crate6Z}, - {0x223, "Pwooden_table1Z", &Pwooden_table1Z}, - {0x224, "PwppkmagZ", &PwppkmagZ}, - - {0x225, "Tbg_ame_all_p_stanZ", &Tbg_ame_all_p_stanZ}, - {0x226, "Tbg_arch_all_p_stanZ", &Tbg_arch_all_p_stanZ}, - {0x227, "Tbg_arec_all_p_stanZ", &Tbg_arec_all_p_stanZ}, - {0x228, "Tbg_ark_all_p_stanZ", &Tbg_ark_all_p_stanZ}, - {0x229, "Tbg_ash_all_p_stanZ", &Tbg_ash_all_p_stanZ}, - {0x22A, "Tbg_azt_all_p_stanZ", &Tbg_azt_all_p_stanZ}, - {0x22B, "Tbg_cat_all_p_stanZ", &Tbg_cat_all_p_stanZ}, - {0x22C, "Tbg_cave_all_p_stanZ", &Tbg_cave_all_p_stanZ}, - {0x22D, "Tbg_crad_all_p_stanZ", &Tbg_crad_all_p_stanZ}, - {0x22E, "Tbg_cryp_all_p_stanZ", &Tbg_cryp_all_p_stanZ}, - {0x22F, "Tbg_dam_all_p_stanZ", &Tbg_dam_all_p_stanZ}, - {0x230, "Tbg_depo_all_p_stanZ", &Tbg_depo_all_p_stanZ}, - {0x231, "Tbg_dest_all_p_stanZ", &Tbg_dest_all_p_stanZ}, - {0x232, "Tbg_dish_all_p_stanZ", &Tbg_dish_all_p_stanZ}, - {0x233, "Tbg_ear_all_p_stanZ", &Tbg_imp_all_p_stanZ}, - {0x234, "Tbg_eld_all_p_stanZ", &Tbg_imp_all_p_stanZ}, - {0x235, "Tbg_imp_all_p_stanZ", &Tbg_imp_all_p_stanZ}, - {0x236, "Tbg_jun_all_p_stanZ", &Tbg_jun_all_p_stanZ}, - {0x237, "Tbg_lee_all_p_stanZ", &Tbg_len_all_p_stanZ}, - {0x238, "Tbg_len_all_p_stanZ", &Tbg_len_all_p_stanZ}, - {0x239, "Tbg_lip_all_p_stanZ", &Tbg_oat_all_p_stanZ}, - {0x23A, "Tbg_lue_all_p_stanZ", &Tbg_oat_all_p_stanZ}, - {0x23B, "Tbg_oat_all_p_stanZ", &Tbg_oat_all_p_stanZ}, - {0x23C, "Tbg_pam_all_p_stanZ", &Tbg_pete_all_p_stanZ}, - {0x23D, "Tbg_pete_all_p_stanZ", &Tbg_pete_all_p_stanZ}, - {0x23E, "Tbg_ref_all_p_stanZ", &Tbg_ref_all_p_stanZ}, - {0x23F, "Tbg_rit_all_p_stanZ", &Tbg_run_all_p_stanZ}, - {0x240, "Tbg_run_all_p_stanZ", &Tbg_run_all_p_stanZ}, - {0x241, "Tbg_sev_all_p_stanZ", &Tbg_sev_all_p_stanZ}, - {0x242, "Tbg_sevb_all_p_stanZ", &Tbg_sevb_all_p_stanZ}, - {0x243, "Tbg_sevx_all_p_stanZ", &Tbg_sevx_all_p_stanZ}, - {0x244, "Tbg_silo_all_p_stanZ", &Tbg_silo_all_p_stanZ}, - {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}, - {0x24B, "UbriefcaveZ", &UbriefcaveZ}, - {0x24C, "UbriefcontrolZ", &UbriefcontrolZ}, - {0x24D, "UbriefcradZ", &UbriefcradZ}, - {0x24E, "UbriefcrypZ", &UbriefcrypZ}, - {0x24F, "UbriefdamZ", &UbriefdamZ}, - {0x250, "UbriefdepoZ", &UbriefdepoZ}, - {0x251, "UbriefdestZ", &UbriefdestZ}, - {0x252, "UbriefjunZ", &UbriefjunZ}, - {0x253, "UbriefpeteZ", &UbriefpeteZ}, - {0x254, "UbriefrunZ", &UbriefrunZ}, - {0x255, "UbriefsevbZ", &UbriefsevbZ}, - {0x256, "UbriefsevbunkerZ", &UbriefsevbunkerZ}, - {0x257, "UbriefsevxZ", &UbriefsevxZ}, - {0x258, "UbriefsevxbZ", &UbriefsevxbZ}, - {0x259, "UbriefsiloZ", &UbriefsiloZ}, - {0x25A, "UbriefstatueZ", &UbriefstatueZ}, - {0x25B, "UbrieftraZ", &UbrieftraZ}, - - {0x25C, "Ump_setupameZ", &Ump_setupameZ}, - {0x25D, "Ump_setuparchZ", &Ump_setuparchZ}, - {0x25E, "Ump_setuparkZ", &Ump_setuparkZ}, - {0x25F, "Ump_setupashZ", &Ump_setupashZ}, - {0x260, "Ump_setupcaveZ", &Ump_setupcaveZ}, - {0x261, "Ump_setupcradZ", &Ump_setupcradZ}, - {0x262, "Ump_setupcrypZ", &Ump_setupcrypZ}, - {0x263, "Ump_setupdishZ", &Ump_setupdishZ}, - {0x264, "Ump_setupimpZ", &Ump_setupimpZ}, - {0x265, "Ump_setupoatZ", &Ump_setupoatZ}, - {0x266, "Ump_setuprefZ", &Ump_setuprefZ}, - {0x267, "Ump_setupsevbZ", &Ump_setupsevbZ}, - {0x268, "Ump_setupstatueZ", &Ump_setupstatueZ}, - - {0x269, "UsetuparchZ", &UsetuparchZ}, - {0x26A, "UsetuparkZ", &UsetuparkZ}, - {0x26B, "UsetupaztZ", &UsetupaztZ}, - {0x26C, "UsetupcaveZ", &UsetupcaveZ}, - {0x26D, "UsetupcontrolZ", &UsetupcontrolZ}, - {0x26E, "UsetupcradZ", &UsetupcradZ}, - {0x26F, "UsetupcrypZ", &UsetupcrypZ}, - {0x270, "UsetupdamZ", &UsetupdamZ}, - {0x271, "UsetupdepoZ", &UsetupdepoZ}, - {0x272, "UsetupdestZ", &UsetupdestZ}, - {0x273, "UsetupjunZ", &UsetupjunZ}, - {0x274, "UsetuplenZ", &UsetuplenZ}, - {0x275, "UsetuppeteZ", &UsetuppeteZ}, - {0x276, "UsetuprunZ", &UsetuprunZ}, - {0x277, "UsetupsevbZ", &UsetupsevbZ}, - {0x278, "UsetupsevbunkerZ", &UsetupsevbunkerZ}, - {0x279, "UsetupsevxZ", &UsetupsevxZ}, - {0x27A, "UsetupsevxbZ", &UsetupsevxbZ}, - {0x27B, "UsetupsiloZ", &UsetupsiloZ}, - {0x27C, "UsetupstatueZ", &UsetupstatueZ}, - {0x27D, "UsetuptraZ", &UsetuptraZ}, - - {0x27E, "LameE", &LameE}, - {0x27F, "LameJ", &LameJ}, - {0x280, "LarchE", &LarchE}, - {0x281, "LarchJ", &LarchJ}, - {0x282, "LarecE", &LarecE}, - {0x283, "LarecJ", &LarecJ}, - {0x284, "LarkE", &LarkE}, - {0x285, "LarkJ", &LarkJ}, - {0x286, "LashE", &LashE}, - {0x287, "LashJ", &LashJ}, - {0x288, "LaztE", &LaztE}, - {0x289, "LaztJ", &LaztJ}, - {0x28A, "LcatE", &LcatE}, - {0x28B, "LcatJ", &LcatJ}, - {0x28C, "LcaveE", &LcaveE}, - {0x28D, "LcaveJ", &LcaveJ}, - {0x28E, "LcradE", &LcradE}, - {0x28F, "LcradJ", &LcradJ}, - {0x290, "LcrypE", &LcrypE}, - {0x291, "LcrypJ", &LcrypJ}, - {0x292, "LdamE", &LdamE}, - {0x293, "LdamJ", &LdamJ}, - {0x294, "LdepoE", &LdepoE}, - {0x295, "LdepoJ", &LdepoJ}, - {0x296, "LdestE", &LdestE}, - {0x297, "LdestJ", &LdestJ}, - {0x298, "LdishE", &LdishE}, - {0x299, "LdishJ", &LdishJ}, - {0x29A, "LearE", &LearE}, - {0x29B, "LearJ", &LearJ}, - {0x29C, "LeldE", &LeldE}, - {0x29D, "LeldJ", &LeldJ}, - {0x29E, "LgunE", &LgunE}, - {0x29F, "LgunJ", &LgunJ}, - {0x2A0, "LimpE", &LimpE}, - {0x2A1, "LimpJ", &LimpJ}, - {0x2A2, "LjunE", &LjunE}, - {0x2A3, "LjunJ", &LjunJ}, - {0x2A4, "LleeE", &LleeE}, - {0x2A5, "LleeJ", &LleeJ}, - {0x2A6, "LlenE", &LlenE}, - {0x2A7, "LlenJ", &LlenJ}, - {0x2A8, "LlipE", &LlipE}, - {0x2A9, "LlipJ", &LlipJ}, - {0x2AA, "LlueE", &LlueE}, - {0x2AB, "LlueJ", &LlueJ}, - {0x2AC, "LmiscE", &LmiscE}, - {0x2AD, "LmiscJ", &LmiscJ}, - {0x2AE, "LmpmenuE", &LmpmenuE}, - {0x2AF, "LmpmenuJ", &LmpmenuJ}, - {0x2B0, "LmpweaponsE", &LmpweaponsE}, - {0x2B1, "LmpweaponsJ", &LmpweaponsJ}, - {0x2B2, "LoatE", &LoatE}, - {0x2B3, "LoatJ", &LoatJ}, - {0x2B4, "LoptionsE", &LoptionsE}, - {0x2B5, "LoptionsJ", &LoptionsJ}, - {0x2B6, "LpamE", &LpamE}, - {0x2B7, "LpamJ", &LpamJ}, - {0x2B8, "LpeteE", &LpeteE}, - {0x2B9, "LpeteJ", &LpeteJ}, - {0x2BA, "LpropobjE", &LpropobjE}, - {0x2BB, "LpropobjJ", &LpropobjJ}, - {0x2BC, "LrefE", &LrefE}, - {0x2BD, "LrefJ", &LrefJ}, - {0x2BE, "LritE", &LritE}, - {0x2BF, "LritJ", &LritJ}, - {0x2C0, "LrunE", &LrunE}, - {0x2C1, "LrunJ", &LrunJ}, - {0x2C2, "LsevE", &LsevE}, - {0x2C3, "LsevJ", &LsevJ}, - {0x2C4, "LsevbE", &LsevbE}, - {0x2C5, "LsevbJ", &LsevbJ}, - {0x2C6, "LsevxE", &LsevxE}, - {0x2C7, "LsevxJ", &LsevxJ}, - {0x2C8, "LsevxbE", &LsevxbE}, - {0x2C9, "LsevxbJ", &LsevxbJ}, - {0x2CA, "LshoE", &LshoE}, - {0x2CB, "LshoJ", &LshoJ}, - {0x2CC, "LsiloE", &LsiloE}, - {0x2CD, "LsiloJ", &LsiloJ}, - {0x2CE, "LstatE", &LstatE}, - {0x2CF, "LstatJ", &LstatJ}, - {0x2D0, "LtitleE", &LtitleE}, - {0x2D1, "LtitleJ", &LtitleJ}, - {0x2D2, "LtraE", &LtraE}, - {0x2D3, "LtraJ", &LtraJ}, - {0x2D4, "LwaxE", &LwaxE}, - {0x2D5, "LwaxJ", &LwaxJ}, - - {0x2D6, "ob/ob_end.seg", &ob__ob_end_seg}, - {0}, - {0}, - {0}, - {0}, - {0}, - {0}, - {0}, - {0}, - {0} -}; - -//D:800482D4 -s32 file_entry_max = 0x2D7; - - -// rodata - - -#ifdef NONMATCHING -//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( -.text -glabel load_resource -/* 0F15D0 7F0BCAA0 27BDDED8 */ addiu $sp, $sp, -0x2128 -/* 0F15D4 7F0BCAA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F15D8 7F0BCAA8 AFA42128 */ sw $a0, 0x2128($sp) -/* 0F15DC 7F0BCAAC 14A00006 */ bnez $a1, .L7F0BCAC8 -/* 0F15E0 7F0BCAB0 AFA62130 */ sw $a2, 0x2130($sp) -/* 0F15E4 7F0BCAB4 8CC50008 */ lw $a1, 8($a2) -/* 0F15E8 7F0BCAB8 0C001707 */ jal romCopy -/* 0F15EC 7F0BCABC 8CE60000 */ lw $a2, ($a3) -/* 0F15F0 7F0BCAC0 10000019 */ b .L7F0BCB28 -/* 0F15F4 7F0BCAC4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BCAC8: -/* 0F15F8 7F0BCAC8 8CE60000 */ lw $a2, ($a3) -/* 0F15FC 7F0BCACC 8FAF2128 */ lw $t7, 0x2128($sp) -/* 0F1600 7F0BCAD0 2401FFF8 */ li $at, -8 -/* 0F1604 7F0BCAD4 24D90007 */ addiu $t9, $a2, 7 -/* 0F1608 7F0BCAD8 03214024 */ and $t0, $t9, $at -/* 0F160C 7F0BCADC 01E5C021 */ addu $t8, $t7, $a1 -/* 0F1610 7F0BCAE0 03082023 */ subu $a0, $t8, $t0 -/* 0F1614 7F0BCAE4 008F4823 */ subu $t1, $a0, $t7 -/* 0F1618 7F0BCAE8 2D210008 */ sltiu $at, $t1, 8 -/* 0F161C 7F0BCAEC 10200003 */ beqz $at, .L7F0BCAFC -/* 0F1620 7F0BCAF0 8FAA2130 */ lw $t2, 0x2130($sp) -/* 0F1624 7F0BCAF4 1000000B */ b .L7F0BCB24 -/* 0F1628 7F0BCAF8 ACE00004 */ sw $zero, 4($a3) -.L7F0BCAFC: -/* 0F162C 7F0BCAFC 8D450008 */ lw $a1, 8($t2) -/* 0F1630 7F0BCB00 AFA72134 */ sw $a3, 0x2134($sp) -/* 0F1634 7F0BCB04 0C001707 */ jal romCopy -/* 0F1638 7F0BCB08 AFA42124 */ sw $a0, 0x2124($sp) -/* 0F163C 7F0BCB0C 8FA42124 */ lw $a0, 0x2124($sp) -/* 0F1640 7F0BCB10 8FA52128 */ lw $a1, 0x2128($sp) -/* 0F1644 7F0BCB14 0FC339FC */ jal decompressdata -/* 0F1648 7F0BCB18 27A60024 */ addiu $a2, $sp, 0x24 -/* 0F164C 7F0BCB1C 8FA72134 */ lw $a3, 0x2134($sp) -/* 0F1650 7F0BCB20 ACE20004 */ sw $v0, 4($a3) -.L7F0BCB24: -/* 0F1654 7F0BCB24 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0BCB28: -/* 0F1658 7F0BCB28 27BD2128 */ addiu $sp, $sp, 0x2128 -/* 0F165C 7F0BCB2C 03E00008 */ jr $ra -/* 0F1660 7F0BCB30 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -//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( -.rdata -/*8005b66c*/ -glabel rz_header_1 -.word 0x11720000 -/*8005b670*/ -glabel rz_header_2 -.word 0x11720000 -.text -glabel resource_load_from_indy -/* 0F1664 7F0BCB34 27BDDED8 */ addiu $sp, $sp, -0x2128 -/* 0F1668 7F0BCB38 AFB10018 */ sw $s1, 0x18($sp) -/* 0F166C 7F0BCB3C AFB00014 */ sw $s0, 0x14($sp) -/* 0F1670 7F0BCB40 00808025 */ move $s0, $a0 -/* 0F1674 7F0BCB44 00E08825 */ move $s1, $a3 -/* 0F1678 7F0BCB48 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F167C 7F0BCB4C 14A00006 */ bnez $a1, .L7F0BCB68 -/* 0F1680 7F0BCB50 AFA5212C */ sw $a1, 0x212c($sp) -/* 0F1684 7F0BCB54 8CC40004 */ lw $a0, 4($a2) -/* 0F1688 7F0BCB58 0FC33FE7 */ jal load_resource_on_indy -/* 0F168C 7F0BCB5C 02002825 */ move $a1, $s0 -/* 0F1690 7F0BCB60 1000002D */ b .L7F0BCC18 -/* 0F1694 7F0BCB64 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0BCB68: -/* 0F1698 7F0BCB68 8CC40004 */ lw $a0, 4($a2) -/* 0F169C 7F0BCB6C AFA62130 */ sw $a2, 0x2130($sp) -/* 0F16A0 7F0BCB70 0FC34026 */ jal check_file_found_on_indy -/* 0F16A4 7F0BCB74 26250008 */ addiu $a1, $s1, 8 -/* 0F16A8 7F0BCB78 8E390008 */ lw $t9, 8($s1) -/* 0F16AC 7F0BCB7C 8FAF212C */ lw $t7, 0x212c($sp) -/* 0F16B0 7F0BCB80 2401FFF8 */ li $at, -8 -/* 0F16B4 7F0BCB84 27280007 */ addiu $t0, $t9, 7 -/* 0F16B8 7F0BCB88 01014824 */ and $t1, $t0, $at -/* 0F16BC 7F0BCB8C 020FC021 */ addu $t8, $s0, $t7 -/* 0F16C0 7F0BCB90 03093823 */ subu $a3, $t8, $t1 -/* 0F16C4 7F0BCB94 00F05023 */ subu $t2, $a3, $s0 -/* 0F16C8 7F0BCB98 2D410008 */ sltiu $at, $t2, 8 -/* 0F16CC 7F0BCB9C 10200003 */ beqz $at, .L7F0BCBAC -/* 0F16D0 7F0BCBA0 8FA62130 */ lw $a2, 0x2130($sp) -/* 0F16D4 7F0BCBA4 1000001B */ b .L7F0BCC14 -/* 0F16D8 7F0BCBA8 AE200004 */ sw $zero, 4($s1) -.L7F0BCBAC: -/* 0F16DC 7F0BCBAC 8CC40004 */ lw $a0, 4($a2) -/* 0F16E0 7F0BCBB0 AFA72124 */ sw $a3, 0x2124($sp) -/* 0F16E4 7F0BCBB4 0FC33FE7 */ jal load_resource_on_indy -/* 0F16E8 7F0BCBB8 00E02825 */ move $a1, $a3 -/* 0F16EC 7F0BCBBC 8FA72124 */ lw $a3, 0x2124($sp) -/* 0F16F0 7F0BCBC0 3C0C8006 */ lui $t4, %hi(rz_header_1) -/* 0F16F4 7F0BCBC4 918CB66C */ lbu $t4, %lo(rz_header_1)($t4) -/* 0F16F8 7F0BCBC8 90EB0000 */ lbu $t3, ($a3) -/* 0F16FC 7F0BCBCC 3C0E8006 */ lui $t6, %hi(rz_header_2 + 0x1) -/* 0F1700 7F0BCBD0 02002825 */ move $a1, $s0 -/* 0F1704 7F0BCBD4 156C000B */ bne $t3, $t4, .L7F0BCC04 -/* 0F1708 7F0BCBD8 00E02025 */ move $a0, $a3 -/* 0F170C 7F0BCBDC 90ED0001 */ lbu $t5, 1($a3) -/* 0F1710 7F0BCBE0 91CEB671 */ lbu $t6, %lo(rz_header_2 + 0x1)($t6) -/* 0F1714 7F0BCBE4 27A60024 */ addiu $a2, $sp, 0x24 -/* 0F1718 7F0BCBE8 15AE0006 */ bne $t5, $t6, .L7F0BCC04 -/* 0F171C 7F0BCBEC 00000000 */ nop -/* 0F1720 7F0BCBF0 00E02025 */ move $a0, $a3 -/* 0F1724 7F0BCBF4 0FC339FC */ jal decompressdata -/* 0F1728 7F0BCBF8 02002825 */ move $a1, $s0 -/* 0F172C 7F0BCBFC 10000004 */ b .L7F0BCC10 -/* 0F1730 7F0BCC00 00401825 */ move $v1, $v0 -.L7F0BCC04: -/* 0F1734 7F0BCC04 0C003E5C */ jal _bcopy -/* 0F1738 7F0BCC08 8E260008 */ lw $a2, 8($s1) -/* 0F173C 7F0BCC0C 8E230008 */ lw $v1, 8($s1) -.L7F0BCC10: -/* 0F1740 7F0BCC10 AE230004 */ sw $v1, 4($s1) -.L7F0BCC14: -/* 0F1744 7F0BCC14 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0BCC18: -/* 0F1748 7F0BCC18 8FB00014 */ lw $s0, 0x14($sp) -/* 0F174C 7F0BCC1C 8FB10018 */ lw $s1, 0x18($sp) -/* 0F1750 7F0BCC20 03E00008 */ jr $ra -/* 0F1754 7F0BCC24 27BD2128 */ addiu $sp, $sp, 0x2128 -) -#endif - - - - - -#ifdef NONMATCHING -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; - } ; - } - return; -} -#else -GLOBAL_ASM( -.rdata -/*D:8005B674*/ -glabel aOb_c_debug -/*"ob_c_debug"*/ -.word 0x6F625F63, 0x5F646562, 0x75670000 -.text -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(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(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) -/* 0F1780 7F0BCC50 24846060 */ addiu $a0, %lo(file_resource_table + 0xC) # addiu $a0, $a0, 0x6060 -/* 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(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(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(resource_lookup_data_array+0x14) # addiu $v0, $v0, -0x773c -.L7F0BCC80: -/* 0F17B0 7F0BCC80 8C980014 */ lw $t8, 0x14($a0) -/* 0F17B4 7F0BCC84 8C990008 */ lw $t9, 8($a0) -/* 0F17B8 7F0BCC88 24420014 */ addiu $v0, $v0, 0x14 -/* 0F17BC 7F0BCC8C 0045082B */ sltu $at, $v0, $a1 -/* 0F17C0 7F0BCC90 03191823 */ subu $v1, $t8, $t9 -/* 0F17C4 7F0BCC94 2484000C */ addiu $a0, $a0, 0xc -/* 0F17C8 7F0BCC98 AC43FFEC */ sw $v1, -0x14($v0) -/* 0F17CC 7F0BCC9C AC40FFF0 */ sw $zero, -0x10($v0) -/* 0F17D0 7F0BCCA0 AC40FFF4 */ sw $zero, -0xc($v0) -/* 0F17D4 7F0BCCA4 1420FFF6 */ bnez $at, .L7F0BCC80 -/* 0F17D8 7F0BCCA8 AC40FFF8 */ sw $zero, -8($v0) -.L7F0BCCAC: -/* 0F17DC 7F0BCCAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F17E0 7F0BCCB0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F17E4 7F0BCCB4 03E00008 */ jr $ra -/* 0F17E8 7F0BCCB8 00000000 */ nop -) -#endif - - - - - - -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); -} - -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_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_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( -.text -glabel load_bg_bytes_at_offset_to_membank -/* 0F18AC 7F0BCD7C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F18B0 7F0BCD80 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F18B4 7F0BCD84 AFA5001C */ sw $a1, 0x1c($sp) -/* 0F18B8 7F0BCD88 AFA60020 */ sw $a2, 0x20($sp) -/* 0F18BC 7F0BCD8C 0FC2F495 */ jal get_index_num_of_named_resource -/* 0F18C0 7F0BCD90 AFA70024 */ sw $a3, 0x24($sp) -/* 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(resource_lookup_data_array) -/* 0F18D4 7F0BCDA4 00781821 */ addu $v1, $v1, $t8 -/* 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) -/* 0F18E8 7F0BCDB8 25EF6054 */ addiu $t7, %lo(file_resource_table) # addiu $t7, $t7, 0x6054 -/* 0F18EC 7F0BCDBC 000E7080 */ sll $t6, $t6, 2 -/* 0F18F0 7F0BCDC0 8FA60024 */ lw $a2, 0x24($sp) -/* 0F18F4 7F0BCDC4 8FA80020 */ lw $t0, 0x20($sp) -/* 0F18F8 7F0BCDC8 1060000C */ beqz $v1, .L7F0BCDFC -/* 0F18FC 7F0BCDCC 01CF3821 */ addu $a3, $t6, $t7 -/* 0F1900 7F0BCDD0 0106C821 */ addu $t9, $t0, $a2 -/* 0F1904 7F0BCDD4 2469000F */ addiu $t1, $v1, 0xf -/* 0F1908 7F0BCDD8 0139082B */ sltu $at, $t1, $t9 -/* 0F190C 7F0BCDDC 50200004 */ beql $at, $zero, .L7F0BCDF0 -/* 0F1910 7F0BCDE0 8CEA0008 */ lw $t2, 8($a3) -.L7F0BCDE4: -/* 0F1914 7F0BCDE4 1000FFFF */ b .L7F0BCDE4 -/* 0F1918 7F0BCDE8 00000000 */ nop -/* 0F191C 7F0BCDEC 8CEA0008 */ lw $t2, 8($a3) -.L7F0BCDF0: -/* 0F1920 7F0BCDF0 8FA4001C */ lw $a0, 0x1c($sp) -/* 0F1924 7F0BCDF4 0C001707 */ jal romCopy -/* 0F1928 7F0BCDF8 01482821 */ addu $a1, $t2, $t0 -.L7F0BCDFC: -/* 0F192C 7F0BCDFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F1930 7F0BCE00 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F1934 7F0BCE04 03E00008 */ jr $ra -/* 0F1938 7F0BCE08 00000000 */ nop -) -#endif - - - - - -#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( -.text -glabel load_rom_resource_index_to_membank -/* 0F193C 7F0BCE0C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0F1940 7F0BCE10 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F1944 7F0BCE14 AFB10018 */ sw $s1, 0x18($sp) -/* 0F1948 7F0BCE18 AFB00014 */ sw $s0, 0x14($sp) -/* 0F194C 7F0BCE1C AFA40030 */ sw $a0, 0x30($sp) -/* 0F1950 7F0BCE20 AFA50034 */ sw $a1, 0x34($sp) -/* 0F1954 7F0BCE24 AFA60038 */ sw $a2, 0x38($sp) -/* 0F1958 7F0BCE28 10A00006 */ beqz $a1, .L7F0BCE44 -/* 0F195C 7F0BCE2C AFA7003C */ sw $a3, 0x3c($sp) -/* 0F1960 7F0BCE30 24010001 */ li $at, 1 -/* 0F1964 7F0BCE34 10A10003 */ beq $a1, $at, .L7F0BCE44 -/* 0F1968 7F0BCE38 24010002 */ li $at, 2 -/* 0F196C 7F0BCE3C 14A10033 */ bne $a1, $at, .L7F0BCF0C -/* 0F1970 7F0BCE40 8FAD0030 */ lw $t5, 0x30($sp) -.L7F0BCE44: -/* 0F1974 7F0BCE44 8FAF0030 */ lw $t7, 0x30($sp) -/* 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 -/* 0F198C 7F0BCE5C 03198821 */ addu $s1, $t8, $t9 -/* 0F1990 7F0BCE60 8E300004 */ lw $s0, 4($s1) -/* 0F1994 7F0BCE64 56000006 */ bnezl $s0, .L7F0BCE80 -/* 0F1998 7F0BCE68 02002025 */ move $a0, $s0 -/* 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 mempAllocBytesInBank -/* 0F19B4 7F0BCE84 93A5003F */ lbu $a1, 0x3f($sp) -/* 0F19B8 7F0BCE88 8E300004 */ lw $s0, 4($s1) -/* 0F19BC 7F0BCE8C 3C0A8004 */ lui $t2, %hi(file_resource_table) -/* 0F19C0 7F0BCE90 254A6054 */ addiu $t2, %lo(file_resource_table) # addiu $t2, $t2, 0x6054 -/* 0F19C4 7F0BCE94 AE30000C */ sw $s0, 0xc($s1) -/* 0F19C8 7F0BCE98 8FA80030 */ lw $t0, 0x30($sp) -/* 0F19CC 7F0BCE9C 00402025 */ move $a0, $v0 -/* 0F19D0 7F0BCEA0 02203825 */ move $a3, $s1 -/* 0F19D4 7F0BCEA4 00084880 */ sll $t1, $t0, 2 -/* 0F19D8 7F0BCEA8 01284823 */ subu $t1, $t1, $t0 -/* 0F19DC 7F0BCEAC 00094880 */ sll $t1, $t1, 2 -/* 0F19E0 7F0BCEB0 012A3021 */ addu $a2, $t1, $t2 -/* 0F19E4 7F0BCEB4 8CCB0008 */ lw $t3, 8($a2) -/* 0F19E8 7F0BCEB8 02002825 */ move $a1, $s0 -/* 0F19EC 7F0BCEBC 15600007 */ bnez $t3, .L7F0BCEDC -/* 0F19F0 7F0BCEC0 00000000 */ nop -/* 0F19F4 7F0BCEC4 02002825 */ move $a1, $s0 -/* 0F19F8 7F0BCEC8 02203825 */ move $a3, $s1 -/* 0F19FC 7F0BCECC 0FC2F2CD */ jal resource_load_from_indy -/* 0F1A00 7F0BCED0 AFA20024 */ sw $v0, 0x24($sp) -/* 0F1A04 7F0BCED4 10000004 */ b .L7F0BCEE8 -/* 0F1A08 7F0BCED8 8FB00024 */ lw $s0, 0x24($sp) -.L7F0BCEDC: -/* 0F1A0C 7F0BCEDC 0FC2F2A8 */ jal load_resource -/* 0F1A10 7F0BCEE0 AFA40024 */ sw $a0, 0x24($sp) -/* 0F1A14 7F0BCEE4 8FB00024 */ lw $s0, 0x24($sp) -.L7F0BCEE8: -/* 0F1A18 7F0BCEE8 8FAC0034 */ lw $t4, 0x34($sp) -/* 0F1A1C 7F0BCEEC 02002025 */ move $a0, $s0 -/* 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 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(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) -/* 0F1A58 7F0BCF28 56000009 */ bnezl $s0, .L7F0BCF50 -/* 0F1A5C 7F0BCF2C 02002025 */ move $a0, $s0 -/* 0F1A60 7F0BCF30 8E220000 */ lw $v0, ($s1) -/* 0F1A64 7F0BCF34 10400003 */ beqz $v0, .L7F0BCF44 -/* 0F1A68 7F0BCF38 00408025 */ move $s0, $v0 -/* 0F1A6C 7F0BCF3C 10000003 */ b .L7F0BCF4C -/* 0F1A70 7F0BCF40 AE220004 */ sw $v0, 4($s1) -.L7F0BCF44: -/* 0F1A74 7F0BCF44 8E300008 */ lw $s0, 8($s1) -/* 0F1A78 7F0BCF48 AE300004 */ sw $s0, 4($s1) -.L7F0BCF4C: -/* 0F1A7C 7F0BCF4C 02002025 */ move $a0, $s0 -.L7F0BCF50: -/* 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) -/* 0F1A90 7F0BCF60 254A6054 */ addiu $t2, %lo(file_resource_table) # addiu $t2, $t2, 0x6054 -/* 0F1A94 7F0BCF64 AE39000C */ sw $t9, 0xc($s1) -/* 0F1A98 7F0BCF68 8FA80030 */ lw $t0, 0x30($sp) -/* 0F1A9C 7F0BCF6C 00408025 */ move $s0, $v0 -/* 0F1AA0 7F0BCF70 02203825 */ move $a3, $s1 -/* 0F1AA4 7F0BCF74 00084880 */ sll $t1, $t0, 2 -/* 0F1AA8 7F0BCF78 01284823 */ subu $t1, $t1, $t0 -/* 0F1AAC 7F0BCF7C 00094880 */ sll $t1, $t1, 2 -/* 0F1AB0 7F0BCF80 012A3021 */ addu $a2, $t1, $t2 -/* 0F1AB4 7F0BCF84 8CCB0008 */ lw $t3, 8($a2) -/* 0F1AB8 7F0BCF88 02002025 */ move $a0, $s0 -/* 0F1ABC 7F0BCF8C 00002825 */ move $a1, $zero -/* 0F1AC0 7F0BCF90 15600006 */ bnez $t3, .L7F0BCFAC -/* 0F1AC4 7F0BCF94 00000000 */ nop -/* 0F1AC8 7F0BCF98 00402025 */ move $a0, $v0 -/* 0F1ACC 7F0BCF9C 0FC2F2CD */ jal resource_load_from_indy -/* 0F1AD0 7F0BCFA0 00002825 */ move $a1, $zero -/* 0F1AD4 7F0BCFA4 10000004 */ b .L7F0BCFB8 -/* 0F1AD8 7F0BCFA8 8FAC0038 */ lw $t4, 0x38($sp) -.L7F0BCFAC: -/* 0F1ADC 7F0BCFAC 0FC2F2A8 */ jal load_resource -/* 0F1AE0 7F0BCFB0 02203825 */ move $a3, $s1 -/* 0F1AE4 7F0BCFB4 8FAC0038 */ lw $t4, 0x38($sp) -.L7F0BCFB8: -/* 0F1AE8 7F0BCFB8 93AD003F */ lbu $t5, 0x3f($sp) -/* 0F1AEC 7F0BCFBC 55800003 */ bnezl $t4, .L7F0BCFCC -/* 0F1AF0 7F0BCFC0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F1AF4 7F0BCFC4 A22D0010 */ sb $t5, 0x10($s1) -/* 0F1AF8 7F0BCFC8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0BCFCC: -/* 0F1AFC 7F0BCFCC 02001025 */ move $v0, $s0 -/* 0F1B00 7F0BCFD0 8FB00014 */ lw $s0, 0x14($sp) -/* 0F1B04 7F0BCFD4 8FB10018 */ lw $s1, 0x18($sp) -/* 0F1B08 7F0BCFD8 03E00008 */ jr $ra -/* 0F1B0C 7F0BCFDC 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -/* - *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) - { - if (resource_lookup_data_array[index].rom_size > 0) - { - resource_lookup_data_array[index].pc_remaining = resource_lookup_data_array[index].rom_size; - } - else - { - resource_lookup_data_array[index].pc_remaining = resource_lookup_data_array[index].pc_size; - } - } - if (((bank == 0) || (bank == 1)) || (bank == 2)) - { - if (!file_resource_table[index].hw_address) - { - resource_lookup_data_array[index].rom_remaining = bytes; - resource_load_from_indy(ptrdata, bytes, &file_resource_table[index], &resource_lookup_data_array[index]); - } - else - { - 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 - { - if (!file_resource_table[index].hw_address) - { - 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]); - } - } - return ptrdata; -} -#else -GLOBAL_ASM( -.text -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(resource_lookup_data_array) -/* 0F1B20 7F0BCFF0 AFB00018 */ sw $s0, 0x18($sp) -/* 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) -/* 0F1B34 7F0BD004 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F1B38 7F0BD008 AFA60028 */ sw $a2, 0x28($sp) -/* 0F1B3C 7F0BD00C 17000008 */ bnez $t8, .L7F0BD030 -/* 0F1B40 7F0BD010 AFA7002C */ sw $a3, 0x2c($sp) -/* 0F1B44 7F0BD014 8E020000 */ lw $v0, ($s0) -/* 0F1B48 7F0BD018 50400004 */ beql $v0, $zero, .L7F0BD02C -/* 0F1B4C 7F0BD01C 8E190008 */ lw $t9, 8($s0) -/* 0F1B50 7F0BD020 10000003 */ b .L7F0BD030 -/* 0F1B54 7F0BD024 AE020004 */ sw $v0, 4($s0) -/* 0F1B58 7F0BD028 8E190008 */ lw $t9, 8($s0) -.L7F0BD02C: -/* 0F1B5C 7F0BD02C AE190004 */ sw $t9, 4($s0) -.L7F0BD030: -/* 0F1B60 7F0BD030 10A00005 */ beqz $a1, .L7F0BD048 -/* 0F1B64 7F0BD034 24010001 */ li $at, 1 -/* 0F1B68 7F0BD038 10A10003 */ beq $a1, $at, .L7F0BD048 -/* 0F1B6C 7F0BD03C 24010002 */ li $at, 2 -/* 0F1B70 7F0BD040 14A10019 */ bne $a1, $at, .L7F0BD0A8 -/* 0F1B74 7F0BD044 00046880 */ sll $t5, $a0, 2 -.L7F0BD048: -/* 0F1B78 7F0BD048 00044080 */ sll $t0, $a0, 2 -/* 0F1B7C 7F0BD04C 01044023 */ subu $t0, $t0, $a0 -/* 0F1B80 7F0BD050 3C098004 */ lui $t1, %hi(file_resource_table) -/* 0F1B84 7F0BD054 25296054 */ addiu $t1, %lo(file_resource_table) # addiu $t1, $t1, 0x6054 -/* 0F1B88 7F0BD058 00084080 */ sll $t0, $t0, 2 -/* 0F1B8C 7F0BD05C 01093021 */ addu $a2, $t0, $t1 -/* 0F1B90 7F0BD060 8CCA0008 */ lw $t2, 8($a2) -/* 0F1B94 7F0BD064 8FAB002C */ lw $t3, 0x2c($sp) -/* 0F1B98 7F0BD068 8FAC002C */ lw $t4, 0x2c($sp) -/* 0F1B9C 7F0BD06C 15400008 */ bnez $t2, .L7F0BD090 -/* 0F1BA0 7F0BD070 02003825 */ move $a3, $s0 -/* 0F1BA4 7F0BD074 AE0B000C */ sw $t3, 0xc($s0) -/* 0F1BA8 7F0BD078 8FA40028 */ lw $a0, 0x28($sp) -/* 0F1BAC 7F0BD07C 8FA5002C */ lw $a1, 0x2c($sp) -/* 0F1BB0 7F0BD080 0FC2F2CD */ jal resource_load_from_indy -/* 0F1BB4 7F0BD084 02003825 */ move $a3, $s0 -/* 0F1BB8 7F0BD088 10000019 */ b .L7F0BD0F0 -/* 0F1BBC 7F0BD08C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0BD090: -/* 0F1BC0 7F0BD090 AE0C000C */ sw $t4, 0xc($s0) -/* 0F1BC4 7F0BD094 8FA5002C */ lw $a1, 0x2c($sp) -/* 0F1BC8 7F0BD098 0FC2F2A8 */ jal load_resource -/* 0F1BCC 7F0BD09C 8FA40028 */ lw $a0, 0x28($sp) -/* 0F1BD0 7F0BD0A0 10000013 */ b .L7F0BD0F0 -/* 0F1BD4 7F0BD0A4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0BD0A8: -/* 0F1BD8 7F0BD0A8 01A46823 */ subu $t5, $t5, $a0 -/* 0F1BDC 7F0BD0AC 3C0E8004 */ lui $t6, %hi(file_resource_table) -/* 0F1BE0 7F0BD0B0 25CE6054 */ addiu $t6, %lo(file_resource_table) # addiu $t6, $t6, 0x6054 -/* 0F1BE4 7F0BD0B4 000D6880 */ sll $t5, $t5, 2 -/* 0F1BE8 7F0BD0B8 01AE3021 */ addu $a2, $t5, $t6 -/* 0F1BEC 7F0BD0BC 8CCF0008 */ lw $t7, 8($a2) -/* 0F1BF0 7F0BD0C0 02003825 */ move $a3, $s0 -/* 0F1BF4 7F0BD0C4 8FA40028 */ lw $a0, 0x28($sp) -/* 0F1BF8 7F0BD0C8 15E00006 */ bnez $t7, .L7F0BD0E4 -/* 0F1BFC 7F0BD0CC 00002825 */ move $a1, $zero -/* 0F1C00 7F0BD0D0 8FA40028 */ lw $a0, 0x28($sp) -/* 0F1C04 7F0BD0D4 0FC2F2CD */ jal resource_load_from_indy -/* 0F1C08 7F0BD0D8 00002825 */ move $a1, $zero -/* 0F1C0C 7F0BD0DC 10000004 */ b .L7F0BD0F0 -/* 0F1C10 7F0BD0E0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0BD0E4: -/* 0F1C14 7F0BD0E4 0FC2F2A8 */ jal load_resource -/* 0F1C18 7F0BD0E8 02003825 */ move $a3, $s0 -/* 0F1C1C 7F0BD0EC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0BD0F0: -/* 0F1C20 7F0BD0F0 8FA20028 */ lw $v0, 0x28($sp) -/* 0F1C24 7F0BD0F4 8FB00018 */ lw $s0, 0x18($sp) -/* 0F1C28 7F0BD0F8 03E00008 */ jr $ra -/* 0F1C2C 7F0BD0FC 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - - -s32 get_pc_remaining_buffer_for_index(s32 index) -{ - return resource_lookup_data_array[index].pc_remaining; -} - - -s32 get_rom_remaining_buffer_for_index(s32 index) -{ - return resource_lookup_data_array[index].rom_remaining; -} - - - -#ifdef NONMATCHING -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); - } -} -#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(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 -/* 0F1C84 7F0BD154 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F1C88 7F0BD158 AFA5001C */ sw $a1, 0x1c($sp) -/* 0F1C8C 7F0BD15C AC460004 */ sw $a2, 4($v0) -/* 0F1C90 7F0BD160 10E00005 */ beqz $a3, .L7F0BD178 -/* 0F1C94 7F0BD164 AC46000C */ sw $a2, 0xc($v0) -/* 0F1C98 7F0BD168 00A02025 */ move $a0, $a1 -/* 0F1C9C 7F0BD16C 00C02825 */ move $a1, $a2 -/* 0F1CA0 7F0BD170 0C002601 */ jal mempAddEntryOfSizeToBank -/* 0F1CA4 7F0BD174 24060004 */ li $a2, 4 -.L7F0BD178: -/* 0F1CA8 7F0BD178 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F1CAC 7F0BD17C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F1CB0 7F0BD180 03E00008 */ jr $ra -/* 0F1CB4 7F0BD184 00000000 */ nop -) -#endif - - - - - - -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; -} - - - - - - -#ifdef NONMATCHING -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; - } - } - return; -} -#else -GLOBAL_ASM( -.text -glabel something_mem_bank_a0 -/* 0F1CEC 7F0BD1BC 3C038005 */ lui $v1, %hi(file_entry_max) -/* 0F1CF0 7F0BD1C0 8C6382D4 */ lw $v1, %lo(file_entry_max)($v1) -/* 0F1CF4 7F0BD1C4 308E00FF */ andi $t6, $a0, 0xff -/* 0F1CF8 7F0BD1C8 AFA40000 */ sw $a0, ($sp) -/* 0F1CFC 7F0BD1CC 28610002 */ slti $at, $v1, 2 -/* 0F1D00 7F0BD1D0 14200016 */ bnez $at, .L7F0BD22C -/* 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(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(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) -.L7F0BD200: -/* 0F1D30 7F0BD200 0059082A */ slt $at, $v0, $t9 -/* 0F1D34 7F0BD204 14200002 */ bnez $at, .L7F0BD210 -/* 0F1D38 7F0BD208 00000000 */ nop -/* 0F1D3C 7F0BD20C A0A00010 */ sb $zero, 0x10($a1) -.L7F0BD210: -/* 0F1D40 7F0BD210 54620003 */ bnel $v1, $v0, .L7F0BD220 -/* 0F1D44 7F0BD214 24A50014 */ addiu $a1, $a1, 0x14 -/* 0F1D48 7F0BD218 ACA00004 */ sw $zero, 4($a1) -/* 0F1D4C 7F0BD21C 24A50014 */ addiu $a1, $a1, 0x14 -.L7F0BD220: -/* 0F1D50 7F0BD220 00A6082B */ sltu $at, $a1, $a2 -/* 0F1D54 7F0BD224 5420FFF6 */ bnezl $at, .L7F0BD200 -/* 0F1D58 7F0BD228 90B90010 */ lbu $t9, 0x10($a1) -.L7F0BD22C: -/* 0F1D5C 7F0BD22C 03E00008 */ jr $ra -/* 0F1D60 7F0BD230 00000000 */ nop -) -#endif - - - - - -void sub_GAME_7F0BD234(void) { - something_mem_bank_a0(5); -} - - - - - -#ifdef NONMATCHING - -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( -.text -glabel get_index_num_of_named_resource -/* 0F1D84 7F0BD254 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0F1D88 7F0BD258 AFB2001C */ sw $s2, 0x1c($sp) -/* 0F1D8C 7F0BD25C 3C128005 */ lui $s2, %hi(file_entry_max) -/* 0F1D90 7F0BD260 265282D4 */ addiu $s2, %lo(file_entry_max) # addiu $s2, $s2, -0x7d2c -/* 0F1D94 7F0BD264 8E420000 */ lw $v0, ($s2) -/* 0F1D98 7F0BD268 AFB30020 */ sw $s3, 0x20($sp) -/* 0F1D9C 7F0BD26C AFB10018 */ sw $s1, 0x18($sp) -/* 0F1DA0 7F0BD270 28410002 */ slti $at, $v0, 2 -/* 0F1DA4 7F0BD274 00809825 */ move $s3, $a0 -/* 0F1DA8 7F0BD278 AFBF0024 */ sw $ra, 0x24($sp) -/* 0F1DAC 7F0BD27C AFB00014 */ sw $s0, 0x14($sp) -/* 0F1DB0 7F0BD280 14200012 */ bnez $at, .L7F0BD2CC -/* 0F1DB4 7F0BD284 24110001 */ li $s1, 1 -/* 0F1DB8 7F0BD288 3C108004 */ lui $s0, %hi(file_resource_table + 0xC) -/* 0F1DBC 7F0BD28C 26106060 */ addiu $s0, %lo(file_resource_table + 0xC) # addiu $s0, $s0, 0x6060 -/* 0F1DC0 7F0BD290 8E050004 */ lw $a1, 4($s0) -.L7F0BD294: -/* 0F1DC4 7F0BD294 50A00008 */ beql $a1, $zero, .L7F0BD2B8 -/* 0F1DC8 7F0BD298 8E420000 */ lw $v0, ($s2) -/* 0F1DCC 7F0BD29C 0C002A13 */ jal something_with_strings_0 -/* 0F1DD0 7F0BD2A0 02602025 */ move $a0, $s3 -/* 0F1DD4 7F0BD2A4 54400004 */ bnezl $v0, .L7F0BD2B8 -/* 0F1DD8 7F0BD2A8 8E420000 */ lw $v0, ($s2) -/* 0F1DDC 7F0BD2AC 1000002E */ b .L7F0BD368 -/* 0F1DE0 7F0BD2B0 02201025 */ move $v0, $s1 -/* 0F1DE4 7F0BD2B4 8E420000 */ lw $v0, ($s2) -.L7F0BD2B8: -/* 0F1DE8 7F0BD2B8 26310001 */ addiu $s1, $s1, 1 -/* 0F1DEC 7F0BD2BC 2610000C */ addiu $s0, $s0, 0xc -/* 0F1DF0 7F0BD2C0 0222082A */ slt $at, $s1, $v0 -/* 0F1DF4 7F0BD2C4 5420FFF3 */ bnezl $at, .L7F0BD294 -/* 0F1DF8 7F0BD2C8 8E050004 */ lw $a1, 4($s0) -.L7F0BD2CC: -/* 0F1DFC 7F0BD2CC 284102E0 */ slti $at, $v0, 0x2e0 -/* 0F1E00 7F0BD2D0 14200003 */ bnez $at, .L7F0BD2E0 -/* 0F1E04 7F0BD2D4 00408825 */ move $s1, $v0 -/* 0F1E08 7F0BD2D8 10000023 */ b .L7F0BD368 -/* 0F1E0C 7F0BD2DC 00001025 */ move $v0, $zero -.L7F0BD2E0: -/* 0F1E10 7F0BD2E0 244E0001 */ addiu $t6, $v0, 1 -/* 0F1E14 7F0BD2E4 AE4E0000 */ sw $t6, ($s2) -/* 0F1E18 7F0BD2E8 02602025 */ move $a0, $s3 -/* 0F1E1C 7F0BD2EC 0FC34026 */ jal check_file_found_on_indy -/* 0F1E20 7F0BD2F0 27A50034 */ addiu $a1, $sp, 0x34 -/* 0F1E24 7F0BD2F4 14400003 */ bnez $v0, .L7F0BD304 -/* 0F1E28 7F0BD2F8 00117880 */ sll $t7, $s1, 2 -/* 0F1E2C 7F0BD2FC 1000001A */ b .L7F0BD368 -/* 0F1E30 7F0BD300 00001025 */ move $v0, $zero -.L7F0BD304: -/* 0F1E34 7F0BD304 01F17823 */ subu $t7, $t7, $s1 -/* 0F1E38 7F0BD308 3C188004 */ lui $t8, %hi(file_resource_table) -/* 0F1E3C 7F0BD30C 27186054 */ addiu $t8, %lo(file_resource_table) # addiu $t8, $t8, 0x6054 -/* 0F1E40 7F0BD310 000F7880 */ sll $t7, $t7, 2 -/* 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(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) -/* 0F1E64 7F0BD334 03281821 */ addu $v1, $t9, $t0 -/* 0F1E68 7F0BD338 A0600011 */ sb $zero, 0x11($v1) -/* 0F1E6C 7F0BD33C AE000008 */ sw $zero, 8($s0) -/* 0F1E70 7F0BD340 AC600000 */ sw $zero, ($v1) -/* 0F1E74 7F0BD344 AC600004 */ sw $zero, 4($v1) -/* 0F1E78 7F0BD348 8FA90034 */ lw $t1, 0x34($sp) -/* 0F1E7C 7F0BD34C AC60000C */ sw $zero, 0xc($v1) -/* 0F1E80 7F0BD350 A0600010 */ sb $zero, 0x10($v1) -/* 0F1E84 7F0BD354 252A000F */ addiu $t2, $t1, 0xf -/* 0F1E88 7F0BD358 354B000F */ ori $t3, $t2, 0xf -/* 0F1E8C 7F0BD35C 396C000F */ xori $t4, $t3, 0xf -/* 0F1E90 7F0BD360 AC6C0008 */ sw $t4, 8($v1) -/* 0F1E94 7F0BD364 02201025 */ move $v0, $s1 -.L7F0BD368: -/* 0F1E98 7F0BD368 8FBF0024 */ lw $ra, 0x24($sp) -/* 0F1E9C 7F0BD36C 8FB00014 */ lw $s0, 0x14($sp) -/* 0F1EA0 7F0BD370 8FB10018 */ lw $s1, 0x18($sp) -/* 0F1EA4 7F0BD374 8FB2001C */ lw $s2, 0x1c($sp) -/* 0F1EA8 7F0BD378 8FB30020 */ lw $s3, 0x20($sp) -/* 0F1EAC 7F0BD37C 03E00008 */ jr $ra -/* 0F1EB0 7F0BD380 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -void removed_handle_filetable_entry(u32 index) -{ - return; -} - -void removed_loop_handle_filetable_entries(void) -{ - int i; - for (i = 1; (i < file_entry_max); i++) - { - removed_handle_filetable_entry(i); - } -} - -void removed_loop_filetableentries(void) -{ - int i; - - for (i = 1; (i < file_entry_max); i++) - { - ; - } -} - - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0BD410(void) { - u32 temp_v0; - u32 phi_v0; - - // Node 0 - if (file_entry_max >= 2) - { - // Node 1 - 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) + &resource_lookup_data_array)) - { - goto loop_2; - } - } - // Node 3 - return &resource_lookup_data_array+0x14; -} - -#else -GLOBAL_ASM( -.text -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(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(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 -.L7F0BD444: -/* 0F1F74 7F0BD444 0044082B */ sltu $at, $v0, $a0 -/* 0F1F78 7F0BD448 5420FFFE */ bnezl $at, .L7F0BD444 -/* 0F1F7C 7F0BD44C 24420014 */ addiu $v0, $v0, 0x14 -.L7F0BD450: -/* 0F1F80 7F0BD450 03E00008 */ jr $ra -/* 0F1F84 7F0BD454 00000000 */ nop -) -#endif - - - diff --git a/src/game/ob.h b/src/game/ob.h deleted file mode 100644 index 07d4296..0000000 --- a/src/game/ob.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _OB_H_ -#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; - 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 deleted file mode 100644 index 3086cea..0000000 --- a/src/game/objecthandler.c +++ /dev/null @@ -1,2354 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:80076A50 -char dword_CODE_bss_80076A50[0xC]; -//CODE.bss:80076A5C -u32 dword_CODE_bss_80076A5C; -//CODE.bss:80076A60 -u32 dword_CODE_bss_80076A60; -//CODE.bss:80076A64; -u32 dword_CODE_bss_80076A64; -//CODE.bss:80076A68; -u32 dword_CODE_bss_80076A68; -//CODE.bss:80076A6C; -u32 dword_CODE_bss_80076A6C; -//CODE.bss:80076A70 -u32 dword_CODE_bss_80076A70; -//CODE.bss:80076A74 -u32 dword_CODE_bss_80076A74; -//CODE.bss:80076A78 -char dword_CODE_bss_80076A78[0xC]; -//CODE.bss:80076A84 -u32 dword_CODE_bss_80076A84; -//CODE.bss:80076A88 -u32 dword_CODE_bss_80076A88; -//CODE.bss:80076A8C -char dword_CODE_bss_80076A8C; -char dword_CODE_bss_80076A8D; -char dword_CODE_bss_80076A8E; -char dword_CODE_bss_80076A8F; -char dword_CODE_bss_80076A90[0x10]; -//CODE.bss:80076AA0 -char dword_CODE_bss_80076AA0[0x14]; -//CODE.bss:80076AB4 -char dword_CODE_bss_80076AB4; -char dword_CODE_bss_80076AB5; -char dword_CODE_bss_80076AB6; -char dword_CODE_bss_80076AB7; -char dword_CODE_bss_80076AB8[0x10]; -//CODE.bss:80076AC8 -char dword_CODE_bss_80076AC8[0x14]; -//CODE.bss:80076ADC -char dword_CODE_bss_80076ADC; -char dword_CODE_bss_80076ADD; -char dword_CODE_bss_80076ADE; -char dword_CODE_bss_80076ADF; -char dword_CODE_bss_80076AE0[0x2E28]; -//CODE.bss:80079908 -char dword_CODE_bss_80079908[0x28]; - -//CODE.bss:80079930 -void * ptr_allocation_0; -//CODE.bss:80079934 -void * ptr_allocation_1; - - -// data -//D:80036070 -u32 D_80036070 = 0; -//D:80036074 -u32 D_80036074 = 0; -//D:80036078 -u32 D_80036078 = 0; -//D:8003607C -u32 D_8003607C = 0; -//D:80036080 -u32 D_80036080 = 0; -//D:80036084 -s32 D_80036084 = 0; -//D:80036088 -f32 D_80036088 = 1.0; -//D:8003608C -s32 D_8003608C = 0; -//D:80036090 -u32 D_80036090 = 0; -//D:80036094 -u32 D_80036094 = 0; -//D:80036098 -u32 D_80036098 = 0; -//D:8003609C -u32 D_8003609C = 0; -//D:800360A0 -u32 D_800360A0 = 0; -//D:800360A4 -u32 D_800360A4 = 0; -//D:800360A8 -u32 D_800360A8 = 0; -//D:800360AC -u32 D_800360AC = 0; -//D:800360B0 -u32 D_800360B0 = 0; -//D:800360B4 -u32 D_800360B4 = 0; -//D:800360B8 -u32 D_800360B8 = 0; -//D:800360BC -u32 D_800360BC = 0; -//D:800360C0 -u32 D_800360C0 = 0; -//D:800360C4 -u32 D_800360C4 = 0; -//D:800360C8 -u32 D_800360C8 = 0; -//D:800360CC -u32 D_800360CC = 0x10; -//D:800360D0 -u32 D_800360D0 = 1; -//D:800360D4 -u32 D_800360D4 = 0x1000; -//D:800360D8 -u32 D_800360D8 = 0xD; -//D:800360DC -u32 D_800360DC = 1; -//D:800360E0 -u32 D_800360E0 = 0x1000; -//D:800360E4 -u32 D_800360E4 = 0xD; -//D:800360E8 -u32 D_800360E8 = 9; -//D:800360EC -u32 D_800360EC = 0x800; -//D:800360F0 -u32 D_800360F0 = 0xC; -//D:800360F4 -u32 D_800360F4 = 9; -//D:800360F8 -u32 D_800360F8 = 0x800; -//D:800360FC -u32 D_800360FC = 0xC; -//D:80036100 -u32 D_80036100 = 0x19; -//D:80036104 -u32 D_80036104 = 0x400; -//D:80036108 -u32 D_80036108 = 0xB; -//D:8003610C -u32 D_8003610C = 0x19; -//D:80036110 -u32 D_80036110 = 0x400; -//D:80036114 -u32 D_80036114 = 0xB; -//D:80036118 -u32 D_80036118 = 0x39; -//D:8003611C -u32 D_8003611C = 0x400; -//D:80036120 -u32 D_80036120 = 0xB; -//D:80036124 -u32 D_80036124 = 0x39; -//D:80036128 -u32 D_80036128 = 0x400; -//D:8003612C -u32 D_8003612C = 0xB; -//D:80036130 -u32 D_80036130 = 0x59; -//D:80036134 -u32 D_80036134 = 0x400; -//D:80036138 -u32 D_80036138 = 0xB; -//D:8003613C -u32 D_8003613C = 0x59; -//D:80036140 -u32 D_80036140 = 0x400; -//D:80036144 -u32 D_80036144 = 0xB; -//D:80036148 -u32 D_80036148 = 0x79; -//D:8003614C -u32 D_8003614C = 0x400; -//D:80036150 -u32 D_80036150 = 0xB; -//D:80036154 -u32 D_80036154 = 0x79; -//D:80036158 -u32 D_80036158 = 0x400; -//D:8003615C -u32 D_8003615C = 0xB; -//D:80036160 -u32 D_80036160 = 0x99; -//D:80036164 -u32 D_80036164 = 0x400; -//D:80036168 -u32 D_80036168 = 0xB; -//D:8003616C -u32 D_8003616C = 0x99; -//D:80036170 -u32 D_80036170 = 0x400; -//D:80036174 -u32 D_80036174 = 0xB; -//D:80036178 -u32 D_80036178 = 0xB9; -//D:8003617C -u32 D_8003617C = 0x400; -//D:80036180 -u32 D_80036180 = 0xB; -//D:80036184 -u32 D_80036184 = 0xB9; -//D:80036188 -u32 D_80036188 = 0x400; -//D:8003618C -u32 D_8003618C = 0xB; -//D:80036190 -u32 D_80036190 = 0xD9; -//D:80036194 -u32 D_80036194 = 0x400; -//D:80036198 -u32 D_80036198 = 0xB; -//D:8003619C -u32 D_8003619C = 0xD9; -//D:800361A0 -u32 D_800361A0 = 0x400; -//D:800361A4 -u32 D_800361A4 = 0xB; -//D:800361A8 -u32 D_800361A8 = 0xF9; -//D:800361AC -u32 D_800361AC = 0x400; -//D:800361B0 -u32 D_800361B0 = 0xB; -//D:800361B4 -u32 D_800361B4 = 0xF9; -//D:800361B8 -u32 D_800361B8 = 0x400; -//D:800361BC -u32 D_800361BC = 0xB; -//D:800361C0 -u32 D_800361C0 = 0x119; -//D:800361C4 -u32 D_800361C4 = 0x400; -//D:800361C8 -u32 D_800361C8 = 0xB; -//D:800361CC -u32 D_800361CC = 0x119; -//D:800361D0 -u32 D_800361D0 = 0x400; -//D:800361D4 -u32 D_800361D4 = 0xB; -//D:800361D8 -u32 D_800361D8 = 0x139; -//D:800361DC -u32 D_800361DC = 0x400; -//D:800361E0 -u32 D_800361E0 = 0xB; -//D:800361E4 -u32 D_800361E4 = 0x139; -//D:800361E8 -u32 D_800361E8 = 0x400; -//D:800361EC -u32 D_800361EC = 0xB; -//D:800361F0 -u32 D_800361F0 = 0x159; -//D:800361F4 -u32 D_800361F4 = 0x400; -//D:800361F8 -u32 D_800361F8 = 0xB; -//D:800361FC -u32 D_800361FC = 0x159; -//D:80036200 -u32 D_80036200 = 0x400; -//D:80036204 -u32 D_80036204 = 0xB; -//D:80036208 -u32 D_80036208 = 0x179; -//D:8003620C -u32 D_8003620C = 0x800; -//D:80036210 -u32 D_80036210 = 0xC; -//D:80036214 -u32 D_80036214 = 0x179; -//D:80036218 -u32 D_80036218 = 0x800; -//D:8003621C -u32 D_8003621C = 0xC; -//D:80036220 -u32 D_80036220 = 0x189; -//D:80036224 -u32 D_80036224 = 0x1000; -//D:80036228 -u32 D_80036228 = 0xD; -//D:8003622C -u32 D_8003622C = 0x189; -//D:80036230 -u32 D_80036230 = 0x1000; -//D:80036234 -u32 D_80036234 = 0xD; -//D:80036238 -u32 D_80036238 = 0x191; -//D:8003623C -u32 D_8003623C = 0; -//D:80036240 -u32 D_80036240 = 0x10; -//D:80036244 -u32 D_80036244 = 0; -//D:80036248 -u32 D_80036248 = 0; -//D:8003624C -u32 D_8003624C = 0; -//D:80036250 -u32 D_80036250 = 1; -//D:80036254 -u32 D_80036254 = 0; -//D:80036258 -u32 D_80036258 = 0; -//D:8003625C -u32 D_8003625C = 0; -//D:80036260 -u32 D_80036260 = 0; -//D:80036264 -u32 D_80036264 = 0; -//D:80036268 -u32 D_80036268 = 0x10; -//D:8003626C -u32 D_8003626C = 1; -//D:80036270 -u32 D_80036270 = 0x1000; -//D:80036274 -u32 D_80036274 = 0xD; -//D:80036278 -u32 D_80036278 = 1; -//D:8003627C -u32 D_8003627C = 0x1000; -//D:80036280 -u32 D_80036280 = 0xD; -//D:80036284 -u32 D_80036284 = 9; -//D:80036288 -u32 D_80036288 = 0x800; -//D:8003628C -u32 D_8003628C = 0xC; -//D:80036290 -u32 D_80036290 = 9; -//D:80036294 -u32 D_80036294 = 0x800; -//D:80036298 -u32 D_80036298 = 0xC; -//D:8003629C -u32 D_8003629C = 0x19; -//D:800362A0 -u32 D_800362A0 = 0x800; -//D:800362A4 -u32 D_800362A4 = 0xC; -//D:800362A8 -u32 D_800362A8 = 0x19; -//D:800362AC -u32 D_800362AC = 0x800; -//D:800362B0 -u32 D_800362B0 = 0xC; -//D:800362B4 -u32 D_800362B4 = 0x29; -//D:800362B8 -u32 D_800362B8 = 0x800; -//D:800362BC -u32 D_800362BC = 0xC; -//D:800362C0 -u32 D_800362C0 = 0x29; -//D:800362C4 -u32 D_800362C4 = 0x800; -//D:800362C8 -u32 D_800362C8 = 0xC; -//D:800362CC -u32 D_800362CC = 0x39; -//D:800362D0 -u32 D_800362D0 = 0x800; -//D:800362D4 -u32 D_800362D4 = 0xC; -//D:800362D8 -u32 D_800362D8 = 0x39; -//D:800362DC -u32 D_800362DC = 0x800; -//D:800362E0 -u32 D_800362E0 = 0xC; -//D:800362E4 -u32 D_800362E4 = 0x49; -//D:800362E8 -u32 D_800362E8 = 0x800; -//D:800362EC -u32 D_800362EC = 0xC; -//D:800362F0 -u32 D_800362F0 = 0x49; -//D:800362F4 -u32 D_800362F4 = 0x800; -//D:800362F8 -u32 D_800362F8 = 0xC; -//D:800362FC -u32 D_800362FC = 0x59; -//D:80036300 -u32 D_80036300 = 0x1000; -//D:80036304 -u32 D_80036304 = 0xD; -//D:80036308 -u32 D_80036308 = 0x59; -//D:8003630C -u32 D_8003630C = 0x1000; -//D:80036310 -u32 D_80036310 = 0xD; -//D:80036314 -u32 D_80036314 = 0x61; -//D:80036318 -u32 D_80036318 = 0; -//D:8003631C -u32 D_8003631C[] = { - 0x10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; -//D:800363EC0 -u32 D_800363E0 = 0; -//D:800363E4 -u32 D_800363E4 = 0; -//D:800363E8 -u32 D_800363E8 = 0; -//D:800363EC -u32 D_800363EC = 0xFFFFFFFF; -//D:800363F0 -u32 D_800363F0 = 0x50; -//D:800363F4 -u32 D_800363F4 = 0; -//D:800363F8 -u32 D_800363F8 = 0; -//D:800363FC -u32 D_800363FC = 0; -//D:80036400 -u32 D_80036400 = 0; -//D:80036404 -u32 D_80036404 = 0xFFFFFF50; -//D:80036408 -f32 D_80036408 = 1.0f; -//D:8003640C -u32 D_8003640C = 0; -//D:80036410 -s32 D_80036410 = 0; -//D:80036414 -s32 D_80036414 = 0; -//D:80036418 -s32 D_80036418 = 0; -//D:8003641C -s32 D_8003641C = 0; - - -// rodata -//D:80054420 -const char aDrawjointlistNoGfxlist[] = "drawjointlist: no gfxlist!\n"; -//D:8005443C -const char aDrawjointlistNoObject0xX[] = "drawjointlist: no object! (0x%X)\n"; -//D:80054460 -const char aDrawjointlistObjectNotInitialised0[] = "drawjointlist: object not initialised! (0x%X)\n"; - -/* -*/ - - - -#ifdef NONMATCHING -void sub_GAME_7F06B120(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054490*/ -glabel jpt_80054490 -.word loc_CODE_7F06B174 -.word loc_CODE_7F06B174 -.word loc_CODE_7F06B174 -.word def_7F06B16C -.word def_7F06B16C -.word def_7F06B16C -.word def_7F06B16C -.word def_7F06B16C -.word def_7F06B16C -.word def_7F06B16C -.word loc_CODE_7F06B174 -.word loc_CODE_7F06B174 -.word loc_CODE_7F06B174 -.word loc_CODE_7F06B174 -.word loc_CODE_7F06B174 -.word loc_CODE_7F06B174 -.word def_7F06B16C -.word def_7F06B16C -.word def_7F06B16C -.word def_7F06B16C -.word loc_CODE_7F06B174 - -.text -glabel sub_GAME_7F06B120 -/* 09FC50 7F06B120 8CAE0008 */ lw $t6, 8($a1) -/* 09FC54 7F06B124 3C078003 */ lui $a3, %hi(D_80036060) -/* 09FC58 7F06B128 24E76060 */ addiu $a3, %lo(D_80036060) # addiu $a3, $a3, 0x6060 -/* 09FC5C 7F06B12C 8DC20000 */ lw $v0, ($t6) -/* 09FC60 7F06B130 00803025 */ move $a2, $a0 -/* 09FC64 7F06B134 8CE30000 */ lw $v1, ($a3) -/* 09FC68 7F06B138 50400027 */ beql $v0, $zero, .L7F06B1D8 -/* 09FC6C 7F06B13C 8CE20000 */ lw $v0, ($a3) -/* 09FC70 7F06B140 50600025 */ beql $v1, $zero, .L7F06B1D8 -/* 09FC74 7F06B144 8CE20000 */ lw $v0, ($a3) -/* 09FC78 7F06B148 94440000 */ lhu $a0, ($v0) -.L7F06B14C: -/* 09FC7C 7F06B14C 308F00FF */ andi $t7, $a0, 0xff -/* 09FC80 7F06B150 25F8FFFF */ addiu $t8, $t7, -1 -/* 09FC84 7F06B154 2F010015 */ sltiu $at, $t8, 0x15 -/* 09FC88 7F06B158 1020000B */ beqz $at, .L7F06B188 -/* 09FC8C 7F06B15C 0018C080 */ sll $t8, $t8, 2 -/* 09FC90 7F06B160 3C018005 */ lui $at, %hi(jpt_80054490) -/* 09FC94 7F06B164 00380821 */ addu $at, $at, $t8 -/* 09FC98 7F06B168 8C384490 */ lw $t8, %lo(jpt_80054490)($at) -/* 09FC9C 7F06B16C 03000008 */ jr $t8 -/* 09FCA0 7F06B170 00000000 */ nop -loc_CODE_7F06B174: -/* 09FCA4 7F06B174 AC650000 */ sw $a1, ($v1) -/* 09FCA8 7F06B178 AC620004 */ sw $v0, 4($v1) -/* 09FCAC 7F06B17C 8C63000C */ lw $v1, 0xc($v1) -/* 09FCB0 7F06B180 10000002 */ b .L7F06B18C -/* 09FCB4 7F06B184 8C440014 */ lw $a0, 0x14($v0) -def_7F06B16C: -.L7F06B188: -/* 09FCB8 7F06B188 8C440014 */ lw $a0, 0x14($v0) -.L7F06B18C: -/* 09FCBC 7F06B18C 10800003 */ beqz $a0, .L7F06B19C -/* 09FCC0 7F06B190 00000000 */ nop -/* 09FCC4 7F06B194 1000000B */ b .L7F06B1C4 -/* 09FCC8 7F06B198 00801025 */ move $v0, $a0 -.L7F06B19C: -/* 09FCCC 7F06B19C 10400009 */ beqz $v0, .L7F06B1C4 -/* 09FCD0 7F06B1A0 00000000 */ nop -/* 09FCD4 7F06B1A4 8C44000C */ lw $a0, 0xc($v0) -.L7F06B1A8: -/* 09FCD8 7F06B1A8 50800004 */ beql $a0, $zero, .L7F06B1BC -/* 09FCDC 7F06B1AC 8C420008 */ lw $v0, 8($v0) -/* 09FCE0 7F06B1B0 10000004 */ b .L7F06B1C4 -/* 09FCE4 7F06B1B4 00801025 */ move $v0, $a0 -/* 09FCE8 7F06B1B8 8C420008 */ lw $v0, 8($v0) -.L7F06B1BC: -/* 09FCEC 7F06B1BC 5440FFFA */ bnezl $v0, .L7F06B1A8 -/* 09FCF0 7F06B1C0 8C44000C */ lw $a0, 0xc($v0) -.L7F06B1C4: -/* 09FCF4 7F06B1C4 50400004 */ beql $v0, $zero, .L7F06B1D8 -/* 09FCF8 7F06B1C8 8CE20000 */ lw $v0, ($a3) -/* 09FCFC 7F06B1CC 5460FFDF */ bnezl $v1, .L7F06B14C -/* 09FD00 7F06B1D0 94440000 */ lhu $a0, ($v0) -/* 09FD04 7F06B1D4 8CE20000 */ lw $v0, ($a3) -.L7F06B1D8: -/* 09FD08 7F06B1D8 10620019 */ beq $v1, $v0, .L7F06B240 -/* 09FD0C 7F06B1DC 00000000 */ nop -/* 09FD10 7F06B1E0 50C0000F */ beql $a2, $zero, .L7F06B220 -/* 09FD14 7F06B1E4 00403025 */ move $a2, $v0 -/* 09FD18 7F06B1E8 8CD9000C */ lw $t9, 0xc($a2) -/* 09FD1C 7F06B1EC 00C02025 */ move $a0, $a2 -/* 09FD20 7F06B1F0 53200007 */ beql $t9, $zero, .L7F06B210 -/* 09FD24 7F06B1F4 AC82000C */ sw $v0, 0xc($a0) -/* 09FD28 7F06B1F8 8C85000C */ lw $a1, 0xc($a0) -/* 09FD2C 7F06B1FC 00A02025 */ move $a0, $a1 -.L7F06B200: -/* 09FD30 7F06B200 8CA5000C */ lw $a1, 0xc($a1) -/* 09FD34 7F06B204 54A0FFFE */ bnezl $a1, .L7F06B200 -/* 09FD38 7F06B208 00A02025 */ move $a0, $a1 -/* 09FD3C 7F06B20C AC82000C */ sw $v0, 0xc($a0) -.L7F06B210: -/* 09FD40 7F06B210 8CE80000 */ lw $t0, ($a3) -/* 09FD44 7F06B214 10000002 */ b .L7F06B220 -/* 09FD48 7F06B218 AD040010 */ sw $a0, 0x10($t0) -/* 09FD4C 7F06B21C 00403025 */ move $a2, $v0 -.L7F06B220: -/* 09FD50 7F06B220 50600007 */ beql $v1, $zero, .L7F06B240 -/* 09FD54 7F06B224 ACE30000 */ sw $v1, ($a3) -/* 09FD58 7F06B228 8C620010 */ lw $v0, 0x10($v1) -/* 09FD5C 7F06B22C 50400004 */ beql $v0, $zero, .L7F06B240 -/* 09FD60 7F06B230 ACE30000 */ sw $v1, ($a3) -/* 09FD64 7F06B234 AC40000C */ sw $zero, 0xc($v0) -/* 09FD68 7F06B238 AC600010 */ sw $zero, 0x10($v1) -/* 09FD6C 7F06B23C ACE30000 */ sw $v1, ($a3) -.L7F06B240: -/* 09FD70 7F06B240 03E00008 */ jr $ra -/* 09FD74 7F06B244 00C01025 */ move $v0, $a2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06B248(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06B248 -/* 09FD78 7F06B248 10800012 */ beqz $a0, .L7F06B294 -/* 09FD7C 7F06B24C 3C068003 */ lui $a2, %hi(D_80036060) -/* 09FD80 7F06B250 24C66060 */ addiu $a2, %lo(D_80036060) # addiu $a2, $a2, 0x6060 -/* 09FD84 7F06B254 8CC20000 */ lw $v0, ($a2) -/* 09FD88 7F06B258 5040000E */ beql $v0, $zero, .L7F06B294 -/* 09FD8C 7F06B25C ACC40000 */ sw $a0, ($a2) -/* 09FD90 7F06B260 8C8E000C */ lw $t6, 0xc($a0) -/* 09FD94 7F06B264 00801825 */ move $v1, $a0 -/* 09FD98 7F06B268 51C00007 */ beql $t6, $zero, .L7F06B288 -/* 09FD9C 7F06B26C AC62000C */ sw $v0, 0xc($v1) -/* 09FDA0 7F06B270 8C65000C */ lw $a1, 0xc($v1) -/* 09FDA4 7F06B274 00A01825 */ move $v1, $a1 -.L7F06B278: -/* 09FDA8 7F06B278 8CA5000C */ lw $a1, 0xc($a1) -/* 09FDAC 7F06B27C 54A0FFFE */ bnezl $a1, .L7F06B278 -/* 09FDB0 7F06B280 00A01825 */ move $v1, $a1 -/* 09FDB4 7F06B284 AC62000C */ sw $v0, 0xc($v1) -.L7F06B288: -/* 09FDB8 7F06B288 8CCF0000 */ lw $t7, ($a2) -/* 09FDBC 7F06B28C ADE30010 */ sw $v1, 0x10($t7) -/* 09FDC0 7F06B290 ACC40000 */ sw $a0, ($a2) -.L7F06B294: -/* 09FDC4 7F06B294 03E00008 */ jr $ra -/* 09FDC8 7F06B298 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06B29C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:800544E4*/ -glabel jpt_800544E4 -.word .L7F06B2FC -.word .L7F06B360 -.word .L7F06B3C4 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B588 -.word .L7F06B5DC -.word .L7F06B630 -.word .L7F06B448 -.word .L7F06B49C -.word .L7F06B530 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B6A4 -.word .L7F06B428 - -.text -glabel sub_GAME_7F06B29C -/* 09FDCC 7F06B29C 27BDFEE8 */ addiu $sp, $sp, -0x118 -/* 09FDD0 7F06B2A0 AFB10020 */ sw $s1, 0x20($sp) -/* 09FDD4 7F06B2A4 00808825 */ move $s1, $a0 -/* 09FDD8 7F06B2A8 AFBF0024 */ sw $ra, 0x24($sp) -/* 09FDDC 7F06B2AC AFB0001C */ sw $s0, 0x1c($sp) -/* 09FDE0 7F06B2B0 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 09FDE4 7F06B2B4 AFA40114 */ sw $a0, 0x114($sp) -/* 09FDE8 7F06B2B8 108000FD */ beqz $a0, .L7F06B6B0 -/* 09FDEC 7F06B2BC AFA00110 */ sw $zero, 0x110($sp) -/* 09FDF0 7F06B2C0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09FDF4 7F06B2C4 4481A000 */ mtc1 $at, $f20 -/* 09FDF8 7F06B2C8 00000000 */ nop -/* 09FDFC 7F06B2CC 8E300004 */ lw $s0, 4($s1) -.L7F06B2D0: -/* 09FE00 7F06B2D0 96020000 */ lhu $v0, ($s0) -/* 09FE04 7F06B2D4 305800FF */ andi $t8, $v0, 0xff -/* 09FE08 7F06B2D8 2719FFFF */ addiu $t9, $t8, -1 -/* 09FE0C 7F06B2DC 2F210015 */ sltiu $at, $t9, 0x15 -/* 09FE10 7F06B2E0 102000F0 */ beqz $at, .L7F06B6A4 -/* 09FE14 7F06B2E4 0019C880 */ sll $t9, $t9, 2 -/* 09FE18 7F06B2E8 3C018005 */ lui $at, %hi(jpt_800544E4) # -0.000000 -/* 09FE1C 7F06B2EC 00390821 */ addu $at, $at, $t9 -/* 09FE20 7F06B2F0 8C3944E4 */ lw $t9, %lo(jpt_800544E4)($at) -.L7F06B2F4: -/* 09FE24 7F06B2F4 03200008 */ jr $t9 -/* 09FE28 7F06B2F8 00000000 */ nop -.L7F06B2FC: -/* 09FE2C 7F06B2FC 8E020004 */ lw $v0, 4($s0) -/* 09FE30 7F06B300 8E240000 */ lw $a0, ($s1) -/* 09FE34 7F06B304 02002825 */ move $a1, $s0 -/* 09FE38 7F06B308 8C470004 */ lw $a3, 4($v0) -/* 09FE3C 7F06B30C 00003025 */ move $a2, $zero -/* 09FE40 7F06B310 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FE44 7F06B314 AFA70100 */ sw $a3, 0x100($sp) -/* 09FE48 7F06B318 8FA70100 */ lw $a3, 0x100($sp) -/* 09FE4C 7F06B31C 00408025 */ move $s0, $v0 -/* 09FE50 7F06B320 00003025 */ move $a2, $zero -/* 09FE54 7F06B324 10E0000A */ beqz $a3, .L7F06B350 -/* 09FE58 7F06B328 00E02825 */ move $a1, $a3 -/* 09FE5C 7F06B32C 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FE60 7F06B330 8E240000 */ lw $a0, ($s1) -/* 09FE64 7F06B334 C44A0038 */ lwc1 $f10, 0x38($v0) -/* 09FE68 7F06B338 C6040038 */ lwc1 $f4, 0x38($s0) -/* 09FE6C 7F06B33C 46045180 */ add.s $f6, $f10, $f4 -/* 09FE70 7F06B340 46003207 */ neg.s $f8, $f6 -/* 09FE74 7F06B344 46144282 */ mul.s $f10, $f8, $f20 -/* 09FE78 7F06B348 100000D6 */ b .L7F06B6A4 -/* 09FE7C 7F06B34C E62A0008 */ swc1 $f10, 8($s1) -.L7F06B350: -/* 09FE80 7F06B350 C4440038 */ lwc1 $f4, 0x38($v0) -/* 09FE84 7F06B354 46002187 */ neg.s $f6, $f4 -/* 09FE88 7F06B358 100000D2 */ b .L7F06B6A4 -/* 09FE8C 7F06B35C E6260008 */ swc1 $f6, 8($s1) -.L7F06B360: -/* 09FE90 7F06B360 8E020004 */ lw $v0, 4($s0) -/* 09FE94 7F06B364 8E240000 */ lw $a0, ($s1) -/* 09FE98 7F06B368 02002825 */ move $a1, $s0 -/* 09FE9C 7F06B36C 8C470014 */ lw $a3, 0x14($v0) -/* 09FEA0 7F06B370 00003025 */ move $a2, $zero -/* 09FEA4 7F06B374 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FEA8 7F06B378 AFA700F0 */ sw $a3, 0xf0($sp) -/* 09FEAC 7F06B37C 8FA700F0 */ lw $a3, 0xf0($sp) -/* 09FEB0 7F06B380 00408025 */ move $s0, $v0 -/* 09FEB4 7F06B384 00003025 */ move $a2, $zero -/* 09FEB8 7F06B388 10E0000A */ beqz $a3, .L7F06B3B4 -/* 09FEBC 7F06B38C 00E02825 */ move $a1, $a3 -/* 09FEC0 7F06B390 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FEC4 7F06B394 8E240000 */ lw $a0, ($s1) -/* 09FEC8 7F06B398 C4480038 */ lwc1 $f8, 0x38($v0) -/* 09FECC 7F06B39C C60A0038 */ lwc1 $f10, 0x38($s0) -/* 09FED0 7F06B3A0 460A4100 */ add.s $f4, $f8, $f10 -/* 09FED4 7F06B3A4 46002187 */ neg.s $f6, $f4 -/* 09FED8 7F06B3A8 46143202 */ mul.s $f8, $f6, $f20 -/* 09FEDC 7F06B3AC 100000BD */ b .L7F06B6A4 -/* 09FEE0 7F06B3B0 E6280008 */ swc1 $f8, 8($s1) -.L7F06B3B4: -/* 09FEE4 7F06B3B4 C44A0038 */ lwc1 $f10, 0x38($v0) -/* 09FEE8 7F06B3B8 46005107 */ neg.s $f4, $f10 -/* 09FEEC 7F06B3BC 100000B9 */ b .L7F06B6A4 -/* 09FEF0 7F06B3C0 E6240008 */ swc1 $f4, 8($s1) -.L7F06B3C4: -/* 09FEF4 7F06B3C4 8E020004 */ lw $v0, 4($s0) -/* 09FEF8 7F06B3C8 8E240000 */ lw $a0, ($s1) -/* 09FEFC 7F06B3CC 02002825 */ move $a1, $s0 -/* 09FF00 7F06B3D0 8C470014 */ lw $a3, 0x14($v0) -/* 09FF04 7F06B3D4 00003025 */ move $a2, $zero -/* 09FF08 7F06B3D8 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FF0C 7F06B3DC AFA700E0 */ sw $a3, 0xe0($sp) -/* 09FF10 7F06B3E0 8FA700E0 */ lw $a3, 0xe0($sp) -/* 09FF14 7F06B3E4 00408025 */ move $s0, $v0 -/* 09FF18 7F06B3E8 00003025 */ move $a2, $zero -/* 09FF1C 7F06B3EC 10E0000A */ beqz $a3, .L7F06B418 -/* 09FF20 7F06B3F0 00E02825 */ move $a1, $a3 -/* 09FF24 7F06B3F4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FF28 7F06B3F8 8E240000 */ lw $a0, ($s1) -/* 09FF2C 7F06B3FC C4460038 */ lwc1 $f6, 0x38($v0) -/* 09FF30 7F06B400 C6080038 */ lwc1 $f8, 0x38($s0) -/* 09FF34 7F06B404 46083280 */ add.s $f10, $f6, $f8 -/* 09FF38 7F06B408 46005107 */ neg.s $f4, $f10 -/* 09FF3C 7F06B40C 46142182 */ mul.s $f6, $f4, $f20 -/* 09FF40 7F06B410 100000A4 */ b .L7F06B6A4 -/* 09FF44 7F06B414 E6260008 */ swc1 $f6, 8($s1) -.L7F06B418: -/* 09FF48 7F06B418 C4480038 */ lwc1 $f8, 0x38($v0) -/* 09FF4C 7F06B41C 46004287 */ neg.s $f10, $f8 -/* 09FF50 7F06B420 100000A0 */ b .L7F06B6A4 -/* 09FF54 7F06B424 E62A0008 */ swc1 $f10, 8($s1) -.L7F06B428: -/* 09FF58 7F06B428 8E240000 */ lw $a0, ($s1) -/* 09FF5C 7F06B42C 02002825 */ move $a1, $s0 -/* 09FF60 7F06B430 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FF64 7F06B434 00003025 */ move $a2, $zero -/* 09FF68 7F06B438 C4440038 */ lwc1 $f4, 0x38($v0) -/* 09FF6C 7F06B43C 46002187 */ neg.s $f6, $f4 -/* 09FF70 7F06B440 10000098 */ b .L7F06B6A4 -/* 09FF74 7F06B444 E6260008 */ swc1 $f6, 8($s1) -.L7F06B448: -/* 09FF78 7F06B448 8E240000 */ lw $a0, ($s1) -/* 09FF7C 7F06B44C 02002825 */ move $a1, $s0 -/* 09FF80 7F06B450 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FF84 7F06B454 00003025 */ move $a2, $zero -/* 09FF88 7F06B458 8E030004 */ lw $v1, 4($s0) -/* 09FF8C 7F06B45C C44A0008 */ lwc1 $f10, 8($v0) -/* 09FF90 7F06B460 C4680000 */ lwc1 $f8, ($v1) -/* 09FF94 7F06B464 C4660004 */ lwc1 $f6, 4($v1) -/* 09FF98 7F06B468 460A4102 */ mul.s $f4, $f8, $f10 -/* 09FF9C 7F06B46C C4480018 */ lwc1 $f8, 0x18($v0) -/* 09FFA0 7F06B470 46083282 */ mul.s $f10, $f6, $f8 -/* 09FFA4 7F06B474 C4680008 */ lwc1 $f8, 8($v1) -/* 09FFA8 7F06B478 460A2180 */ add.s $f6, $f4, $f10 -/* 09FFAC 7F06B47C C4440028 */ lwc1 $f4, 0x28($v0) -/* 09FFB0 7F06B480 46044282 */ mul.s $f10, $f8, $f4 -/* 09FFB4 7F06B484 C4440038 */ lwc1 $f4, 0x38($v0) -/* 09FFB8 7F06B488 460A3200 */ add.s $f8, $f6, $f10 -/* 09FFBC 7F06B48C 46082180 */ add.s $f6, $f4, $f8 -/* 09FFC0 7F06B490 46003287 */ neg.s $f10, $f6 -/* 09FFC4 7F06B494 10000083 */ b .L7F06B6A4 -/* 09FFC8 7F06B498 E62A0008 */ swc1 $f10, 8($s1) -.L7F06B49C: -/* 09FFCC 7F06B49C 8E240000 */ lw $a0, ($s1) -/* 09FFD0 7F06B4A0 02002825 */ move $a1, $s0 -/* 09FFD4 7F06B4A4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 09FFD8 7F06B4A8 00003025 */ move $a2, $zero -/* 09FFDC 7F06B4AC 8E030004 */ lw $v1, 4($s0) -/* 09FFE0 7F06B4B0 C4420008 */ lwc1 $f2, 8($v0) -/* 09FFE4 7F06B4B4 C44C0018 */ lwc1 $f12, 0x18($v0) -/* 09FFE8 7F06B4B8 C4640000 */ lwc1 $f4, ($v1) -/* 09FFEC 7F06B4BC C4660004 */ lwc1 $f6, 4($v1) -/* 09FFF0 7F06B4C0 C44E0028 */ lwc1 $f14, 0x28($v0) -/* 09FFF4 7F06B4C4 46022202 */ mul.s $f8, $f4, $f2 -/* 09FFF8 7F06B4C8 C4400038 */ lwc1 $f0, 0x38($v0) -/* 09FFFC 7F06B4CC 460C3282 */ mul.s $f10, $f6, $f12 -/* 0A0000 7F06B4D0 C4660008 */ lwc1 $f6, 8($v1) -/* 0A0004 7F06B4D4 460A4100 */ add.s $f4, $f8, $f10 -/* 0A0008 7F06B4D8 460E3202 */ mul.s $f8, $f6, $f14 -/* 0A000C 7F06B4DC C466000C */ lwc1 $f6, 0xc($v1) -/* 0A0010 7F06B4E0 46082280 */ add.s $f10, $f4, $f8 -/* 0A0014 7F06B4E4 46023102 */ mul.s $f4, $f6, $f2 -/* 0A0018 7F06B4E8 C4680010 */ lwc1 $f8, 0x10($v1) -/* 0A001C 7F06B4EC 460A0400 */ add.s $f16, $f0, $f10 -/* 0A0020 7F06B4F0 460C4282 */ mul.s $f10, $f8, $f12 -/* 0A0024 7F06B4F4 C4680014 */ lwc1 $f8, 0x14($v1) -/* 0A0028 7F06B4F8 46008407 */ neg.s $f16, $f16 -/* 0A002C 7F06B4FC 460A2180 */ add.s $f6, $f4, $f10 -/* 0A0030 7F06B500 460E4102 */ mul.s $f4, $f8, $f14 -/* 0A0034 7F06B504 46043280 */ add.s $f10, $f6, $f4 -/* 0A0038 7F06B508 460A0480 */ add.s $f18, $f0, $f10 -/* 0A003C 7F06B50C 46009487 */ neg.s $f18, $f18 -/* 0A0040 7F06B510 4612803C */ c.lt.s $f16, $f18 -/* 0A0044 7F06B514 00000000 */ nop -/* 0A0048 7F06B518 45000003 */ bc1f .L7F06B528 -/* 0A004C 7F06B51C 00000000 */ nop -/* 0A0050 7F06B520 10000060 */ b .L7F06B6A4 -/* 0A0054 7F06B524 E6300008 */ swc1 $f16, 8($s1) -.L7F06B528: -/* 0A0058 7F06B528 1000005E */ b .L7F06B6A4 -/* 0A005C 7F06B52C E6320008 */ swc1 $f18, 8($s1) -.L7F06B530: -/* 0A0060 7F06B530 8E240000 */ lw $a0, ($s1) -/* 0A0064 7F06B534 02002825 */ move $a1, $s0 -/* 0A0068 7F06B538 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A006C 7F06B53C 00003025 */ move $a2, $zero -/* 0A0070 7F06B540 8E030004 */ lw $v1, 4($s0) -/* 0A0074 7F06B544 C4460008 */ lwc1 $f6, 8($v0) -/* 0A0078 7F06B548 C4680000 */ lwc1 $f8, ($v1) -/* 0A007C 7F06B54C C46A0004 */ lwc1 $f10, 4($v1) -/* 0A0080 7F06B550 46064102 */ mul.s $f4, $f8, $f6 -/* 0A0084 7F06B554 C4480018 */ lwc1 $f8, 0x18($v0) -/* 0A0088 7F06B558 46085182 */ mul.s $f6, $f10, $f8 -/* 0A008C 7F06B55C C4680008 */ lwc1 $f8, 8($v1) -/* 0A0090 7F06B560 46062280 */ add.s $f10, $f4, $f6 -/* 0A0094 7F06B564 C4440028 */ lwc1 $f4, 0x28($v0) -/* 0A0098 7F06B568 46044182 */ mul.s $f6, $f8, $f4 -/* 0A009C 7F06B56C C4440038 */ lwc1 $f4, 0x38($v0) -/* 0A00A0 7F06B570 46065200 */ add.s $f8, $f10, $f6 -/* 0A00A4 7F06B574 46082280 */ add.s $f10, $f4, $f8 -/* 0A00A8 7F06B578 46005187 */ neg.s $f6, $f10 -/* 0A00AC 7F06B57C E6260008 */ swc1 $f6, 8($s1) -/* 0A00B0 7F06B580 10000048 */ b .L7F06B6A4 -/* 0A00B4 7F06B584 AFB10110 */ sw $s1, 0x110($sp) -.L7F06B588: -/* 0A00B8 7F06B588 8E240000 */ lw $a0, ($s1) -/* 0A00BC 7F06B58C 02002825 */ move $a1, $s0 -/* 0A00C0 7F06B590 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A00C4 7F06B594 00003025 */ move $a2, $zero -/* 0A00C8 7F06B598 8E030004 */ lw $v1, 4($s0) -/* 0A00CC 7F06B59C C4480008 */ lwc1 $f8, 8($v0) -/* 0A00D0 7F06B5A0 C4640000 */ lwc1 $f4, ($v1) -/* 0A00D4 7F06B5A4 C4660004 */ lwc1 $f6, 4($v1) -/* 0A00D8 7F06B5A8 46082282 */ mul.s $f10, $f4, $f8 -/* 0A00DC 7F06B5AC C4440018 */ lwc1 $f4, 0x18($v0) -/* 0A00E0 7F06B5B0 46043202 */ mul.s $f8, $f6, $f4 -/* 0A00E4 7F06B5B4 C4640008 */ lwc1 $f4, 8($v1) -/* 0A00E8 7F06B5B8 46085180 */ add.s $f6, $f10, $f8 -/* 0A00EC 7F06B5BC C44A0028 */ lwc1 $f10, 0x28($v0) -/* 0A00F0 7F06B5C0 460A2202 */ mul.s $f8, $f4, $f10 -/* 0A00F4 7F06B5C4 C44A0038 */ lwc1 $f10, 0x38($v0) -/* 0A00F8 7F06B5C8 46083100 */ add.s $f4, $f6, $f8 -/* 0A00FC 7F06B5CC 46045180 */ add.s $f6, $f10, $f4 -/* 0A0100 7F06B5D0 46003207 */ neg.s $f8, $f6 -/* 0A0104 7F06B5D4 10000033 */ b .L7F06B6A4 -/* 0A0108 7F06B5D8 E6280008 */ swc1 $f8, 8($s1) -.L7F06B5DC: -/* 0A010C 7F06B5DC 8E240000 */ lw $a0, ($s1) -/* 0A0110 7F06B5E0 02002825 */ move $a1, $s0 -/* 0A0114 7F06B5E4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A0118 7F06B5E8 00003025 */ move $a2, $zero -/* 0A011C 7F06B5EC 8E030004 */ lw $v1, 4($s0) -/* 0A0120 7F06B5F0 C4440008 */ lwc1 $f4, 8($v0) -/* 0A0124 7F06B5F4 C46A0000 */ lwc1 $f10, ($v1) -/* 0A0128 7F06B5F8 C4680004 */ lwc1 $f8, 4($v1) -/* 0A012C 7F06B5FC 46045182 */ mul.s $f6, $f10, $f4 -/* 0A0130 7F06B600 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 0A0134 7F06B604 460A4102 */ mul.s $f4, $f8, $f10 -/* 0A0138 7F06B608 C46A0008 */ lwc1 $f10, 8($v1) -/* 0A013C 7F06B60C 46043200 */ add.s $f8, $f6, $f4 -/* 0A0140 7F06B610 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0A0144 7F06B614 46065102 */ mul.s $f4, $f10, $f6 -/* 0A0148 7F06B618 C4460038 */ lwc1 $f6, 0x38($v0) -/* 0A014C 7F06B61C 46044280 */ add.s $f10, $f8, $f4 -/* 0A0150 7F06B620 460A3200 */ add.s $f8, $f6, $f10 -/* 0A0154 7F06B624 46004107 */ neg.s $f4, $f8 -/* 0A0158 7F06B628 1000001E */ b .L7F06B6A4 -/* 0A015C 7F06B62C E6240008 */ swc1 $f4, 8($s1) -.L7F06B630: -/* 0A0160 7F06B630 8E240000 */ lw $a0, ($s1) -/* 0A0164 7F06B634 02002825 */ move $a1, $s0 -/* 0A0168 7F06B638 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A016C 7F06B63C 00003025 */ move $a2, $zero -/* 0A0170 7F06B640 8E060004 */ lw $a2, 4($s0) -/* 0A0174 7F06B644 8E240000 */ lw $a0, ($s1) -/* 0A0178 7F06B648 8CC50014 */ lw $a1, 0x14($a2) -/* 0A017C 7F06B64C AFA200A0 */ sw $v0, 0xa0($sp) -/* 0A0180 7F06B650 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A0184 7F06B654 AFA6009C */ sw $a2, 0x9c($sp) -/* 0A0188 7F06B658 8FA300A0 */ lw $v1, 0xa0($sp) -/* 0A018C 7F06B65C 8FA6009C */ lw $a2, 0x9c($sp) -/* 0A0190 7F06B660 C4440004 */ lwc1 $f4, 4($v0) -/* 0A0194 7F06B664 C46A0008 */ lwc1 $f10, 8($v1) -/* 0A0198 7F06B668 C4C60000 */ lwc1 $f6, ($a2) -/* 0A019C 7F06B66C 460A3202 */ mul.s $f8, $f6, $f10 -/* 0A01A0 7F06B670 C446000C */ lwc1 $f6, 0xc($v0) -/* 0A01A4 7F06B674 46062281 */ sub.s $f10, $f4, $f6 -/* 0A01A8 7F06B678 C4640018 */ lwc1 $f4, 0x18($v1) -/* 0A01AC 7F06B67C 46045182 */ mul.s $f6, $f10, $f4 -/* 0A01B0 7F06B680 C4C40004 */ lwc1 $f4, 4($a2) -/* 0A01B4 7F06B684 46064280 */ add.s $f10, $f8, $f6 -/* 0A01B8 7F06B688 C4680028 */ lwc1 $f8, 0x28($v1) -/* 0A01BC 7F06B68C 46082182 */ mul.s $f6, $f4, $f8 -/* 0A01C0 7F06B690 C4680038 */ lwc1 $f8, 0x38($v1) -/* 0A01C4 7F06B694 46065100 */ add.s $f4, $f10, $f6 -/* 0A01C8 7F06B698 46044280 */ add.s $f10, $f8, $f4 -/* 0A01CC 7F06B69C 46005187 */ neg.s $f6, $f10 -/* 0A01D0 7F06B6A0 E6260008 */ swc1 $f6, 8($s1) -def_7F06B2F4: -.L7F06B6A4: -/* 0A01D4 7F06B6A4 8E31000C */ lw $s1, 0xc($s1) -/* 0A01D8 7F06B6A8 5620FF09 */ bnezl $s1, .L7F06B2D0 -/* 0A01DC 7F06B6AC 8E300004 */ lw $s0, 4($s1) -.L7F06B6B0: -/* 0A01E0 7F06B6B0 8FAC0110 */ lw $t4, 0x110($sp) -/* 0A01E4 7F06B6B4 51800117 */ beql $t4, $zero, .L7F06BB14 -/* 0A01E8 7F06B6B8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A01EC 7F06B6BC 8D840000 */ lw $a0, ($t4) -/* 0A01F0 7F06B6C0 8C830018 */ lw $v1, 0x18($a0) -/* 0A01F4 7F06B6C4 50600113 */ beql $v1, $zero, .L7F06BB14 -/* 0A01F8 7F06B6C8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A01FC 7F06B6CC 8D850004 */ lw $a1, 4($t4) -/* 0A0200 7F06B6D0 8C6D0008 */ lw $t5, 8($v1) -/* 0A0204 7F06B6D4 C5940008 */ lwc1 $f20, 8($t4) -/* 0A0208 7F06B6D8 8CB00004 */ lw $s0, 4($a1) -/* 0A020C 7F06B6DC 8DA20008 */ lw $v0, 8($t5) -/* 0A0210 7F06B6E0 00003025 */ move $a2, $zero -/* 0A0214 7F06B6E4 860E000E */ lh $t6, 0xe($s0) -/* 0A0218 7F06B6E8 8619000C */ lh $t9, 0xc($s0) -/* 0A021C 7F06B6EC 000E7880 */ sll $t7, $t6, 2 -/* 0A0220 7F06B6F0 860E0010 */ lh $t6, 0x10($s0) -/* 0A0224 7F06B6F4 004FC021 */ addu $t8, $v0, $t7 -/* 0A0228 7F06B6F8 8F110000 */ lw $s1, ($t8) -/* 0A022C 7F06B6FC 00196080 */ sll $t4, $t9, 2 -/* 0A0230 7F06B700 000E7880 */ sll $t7, $t6, 2 -/* 0A0234 7F06B704 004C6821 */ addu $t5, $v0, $t4 -/* 0A0238 7F06B708 004FC021 */ addu $t8, $v0, $t7 -/* 0A023C 7F06B70C 8DA70000 */ lw $a3, ($t5) -/* 0A0240 7F06B710 8F080000 */ lw $t0, ($t8) -/* 0A0244 7F06B714 AFA00070 */ sw $zero, 0x70($sp) -/* 0A0248 7F06B718 AFA00078 */ sw $zero, 0x78($sp) -/* 0A024C 7F06B71C AFA00074 */ sw $zero, 0x74($sp) -/* 0A0250 7F06B720 AFA70080 */ sw $a3, 0x80($sp) -/* 0A0254 7F06B724 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A0258 7F06B728 AFA8007C */ sw $t0, 0x7c($sp) -/* 0A025C 7F06B72C 8FA30114 */ lw $v1, 0x114($sp) -/* 0A0260 7F06B730 8FA70080 */ lw $a3, 0x80($sp) -/* 0A0264 7F06B734 8FA8007C */ lw $t0, 0x7c($sp) -/* 0A0268 7F06B738 8FA90074 */ lw $t1, 0x74($sp) -/* 0A026C 7F06B73C 8FAA0078 */ lw $t2, 0x78($sp) -/* 0A0270 7F06B740 1060000E */ beqz $v1, .L7F06B77C -/* 0A0274 7F06B744 8FAB0070 */ lw $t3, 0x70($sp) -/* 0A0278 7F06B748 8C640004 */ lw $a0, 4($v1) -.L7F06B74C: -/* 0A027C 7F06B74C 16240002 */ bne $s1, $a0, .L7F06B758 -/* 0A0280 7F06B750 00000000 */ nop -/* 0A0284 7F06B754 00605025 */ move $t2, $v1 -.L7F06B758: -/* 0A0288 7F06B758 14E40002 */ bne $a3, $a0, .L7F06B764 -/* 0A028C 7F06B75C 00000000 */ nop -/* 0A0290 7F06B760 00604825 */ move $t1, $v1 -.L7F06B764: -/* 0A0294 7F06B764 55040003 */ bnel $t0, $a0, .L7F06B774 -/* 0A0298 7F06B768 8C63000C */ lw $v1, 0xc($v1) -/* 0A029C 7F06B76C 00605825 */ move $t3, $v1 -/* 0A02A0 7F06B770 8C63000C */ lw $v1, 0xc($v1) -.L7F06B774: -/* 0A02A4 7F06B774 5460FFF5 */ bnezl $v1, .L7F06B74C -/* 0A02A8 7F06B778 8C640004 */ lw $a0, 4($v1) -.L7F06B77C: -/* 0A02AC 7F06B77C C4480020 */ lwc1 $f8, 0x20($v0) -/* 0A02B0 7F06B780 E7A80054 */ swc1 $f8, 0x54($sp) -/* 0A02B4 7F06B784 C4440024 */ lwc1 $f4, 0x24($v0) -/* 0A02B8 7F06B788 E7A40058 */ swc1 $f4, 0x58($sp) -/* 0A02BC 7F06B78C C44A0028 */ lwc1 $f10, 0x28($v0) -/* 0A02C0 7F06B790 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 0A02C4 7F06B794 C4460010 */ lwc1 $f6, 0x10($v0) -/* 0A02C8 7F06B798 E7A60048 */ swc1 $f6, 0x48($sp) -/* 0A02CC 7F06B79C C4480014 */ lwc1 $f8, 0x14($v0) -/* 0A02D0 7F06B7A0 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 0A02D4 7F06B7A4 C4440018 */ lwc1 $f4, 0x18($v0) -/* 0A02D8 7F06B7A8 E7A40050 */ swc1 $f4, 0x50($sp) -/* 0A02DC 7F06B7AC C60A0000 */ lwc1 $f10, ($s0) -/* 0A02E0 7F06B7B0 C4460000 */ lwc1 $f6, ($v0) -/* 0A02E4 7F06B7B4 C6040004 */ lwc1 $f4, 4($s0) -/* 0A02E8 7F06B7B8 46065202 */ mul.s $f8, $f10, $f6 -/* 0A02EC 7F06B7BC C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0A02F0 7F06B7C0 460A2182 */ mul.s $f6, $f4, $f10 -/* 0A02F4 7F06B7C4 C60A0008 */ lwc1 $f10, 8($s0) -/* 0A02F8 7F06B7C8 46064100 */ add.s $f4, $f8, $f6 -/* 0A02FC 7F06B7CC C4480020 */ lwc1 $f8, 0x20($v0) -/* 0A0300 7F06B7D0 46085182 */ mul.s $f6, $f10, $f8 -/* 0A0304 7F06B7D4 C4480030 */ lwc1 $f8, 0x30($v0) -/* 0A0308 7F06B7D8 46062280 */ add.s $f10, $f4, $f6 -/* 0A030C 7F06B7DC 460A4100 */ add.s $f4, $f8, $f10 -/* 0A0310 7F06B7E0 E7A40034 */ swc1 $f4, 0x34($sp) -/* 0A0314 7F06B7E4 C6060000 */ lwc1 $f6, ($s0) -/* 0A0318 7F06B7E8 C4480004 */ lwc1 $f8, 4($v0) -/* 0A031C 7F06B7EC C6040004 */ lwc1 $f4, 4($s0) -/* 0A0320 7F06B7F0 46083282 */ mul.s $f10, $f6, $f8 -/* 0A0324 7F06B7F4 C4460014 */ lwc1 $f6, 0x14($v0) -/* 0A0328 7F06B7F8 46062202 */ mul.s $f8, $f4, $f6 -/* 0A032C 7F06B7FC C6060008 */ lwc1 $f6, 8($s0) -/* 0A0330 7F06B800 46085100 */ add.s $f4, $f10, $f8 -/* 0A0334 7F06B804 C44A0024 */ lwc1 $f10, 0x24($v0) -/* 0A0338 7F06B808 460A3202 */ mul.s $f8, $f6, $f10 -/* 0A033C 7F06B80C C44A0034 */ lwc1 $f10, 0x34($v0) -/* 0A0340 7F06B810 46082180 */ add.s $f6, $f4, $f8 -/* 0A0344 7F06B814 46065100 */ add.s $f4, $f10, $f6 -/* 0A0348 7F06B818 E7A40038 */ swc1 $f4, 0x38($sp) -/* 0A034C 7F06B81C C44A0008 */ lwc1 $f10, 8($v0) -/* 0A0350 7F06B820 C6080000 */ lwc1 $f8, ($s0) -/* 0A0354 7F06B824 C6040004 */ lwc1 $f4, 4($s0) -/* 0A0358 7F06B828 460A4182 */ mul.s $f6, $f8, $f10 -/* 0A035C 7F06B82C C4480018 */ lwc1 $f8, 0x18($v0) -/* 0A0360 7F06B830 46082282 */ mul.s $f10, $f4, $f8 -/* 0A0364 7F06B834 C6080008 */ lwc1 $f8, 8($s0) -/* 0A0368 7F06B838 460A3100 */ add.s $f4, $f6, $f10 -/* 0A036C 7F06B83C C4460028 */ lwc1 $f6, 0x28($v0) -/* 0A0370 7F06B840 46064282 */ mul.s $f10, $f8, $f6 -/* 0A0374 7F06B844 C4460038 */ lwc1 $f6, 0x38($v0) -/* 0A0378 7F06B848 460A2200 */ add.s $f8, $f4, $f10 -/* 0A037C 7F06B84C C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 0A0380 7F06B850 46083100 */ add.s $f4, $f6, $f8 -/* 0A0384 7F06B854 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0A0388 7F06B858 46065202 */ mul.s $f8, $f10, $f6 -/* 0A038C 7F06B85C E7A4003C */ swc1 $f4, 0x3c($sp) -/* 0A0390 7F06B860 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0A0394 7F06B864 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 0A0398 7F06B868 E7A60028 */ swc1 $f6, 0x28($sp) -/* 0A039C 7F06B86C C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 0A03A0 7F06B870 460A2102 */ mul.s $f4, $f4, $f10 -/* 0A03A4 7F06B874 C54E0008 */ lwc1 $f14, 8($t2) -/* 0A03A8 7F06B878 C52C0008 */ lwc1 $f12, 8($t1) -/* 0A03AC 7F06B87C C5700008 */ lwc1 $f16, 8($t3) -/* 0A03B0 7F06B880 46044200 */ add.s $f8, $f8, $f4 -/* 0A03B4 7F06B884 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0A03B8 7F06B888 46062182 */ mul.s $f6, $f4, $f6 -/* 0A03BC 7F06B88C 46083080 */ add.s $f2, $f6, $f8 -/* 0A03C0 7F06B890 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 0A03C4 7F06B894 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 0A03C8 7F06B898 46083182 */ mul.s $f6, $f6, $f8 -/* 0A03CC 7F06B89C C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 0A03D0 7F06B8A0 460A4202 */ mul.s $f8, $f8, $f10 -/* 0A03D4 7F06B8A4 46083280 */ add.s $f10, $f6, $f8 -/* 0A03D8 7F06B8A8 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 0A03DC 7F06B8AC 46062202 */ mul.s $f8, $f4, $f6 -/* 0A03E0 7F06B8B0 44802000 */ mtc1 $zero, $f4 -/* 0A03E4 7F06B8B4 00000000 */ nop -/* 0A03E8 7F06B8B8 4604103C */ c.lt.s $f2, $f4 -/* 0A03EC 7F06B8BC 460A4480 */ add.s $f18, $f8, $f10 -/* 0A03F0 7F06B8C0 45020018 */ bc1fl .L7F06B924 -/* 0A03F4 7F06B8C4 44803000 */ mtc1 $zero, $f6 -/* 0A03F8 7F06B8C8 460E803C */ c.lt.s $f16, $f14 -/* 0A03FC 7F06B8CC 00000000 */ nop -/* 0A0400 7F06B8D0 4502000B */ bc1fl .L7F06B900 -/* 0A0404 7F06B8D4 4614703C */ c.lt.s $f14, $f20 -/* 0A0408 7F06B8D8 4614803C */ c.lt.s $f16, $f20 -/* 0A040C 7F06B8DC 3C013800 */ li $at, 0x38000000 # 0.000031 -/* 0A0410 7F06B8E0 45020030 */ bc1fl .L7F06B9A4 -/* 0A0414 7F06B8E4 44802000 */ mtc1 $zero, $f4 -/* 0A0418 7F06B8E8 44813000 */ mtc1 $at, $f6 -/* 0A041C 7F06B8EC 8FAC0110 */ lw $t4, 0x110($sp) -/* 0A0420 7F06B8F0 46068201 */ sub.s $f8, $f16, $f6 -/* 0A0424 7F06B8F4 1000002A */ b .L7F06B9A0 -/* 0A0428 7F06B8F8 E5880008 */ swc1 $f8, 8($t4) -/* 0A042C 7F06B8FC 4614703C */ c.lt.s $f14, $f20 -.L7F06B900: -/* 0A0430 7F06B900 3C013800 */ li $at, 0x38000000 # 0.000031 -/* 0A0434 7F06B904 45020027 */ bc1fl .L7F06B9A4 -/* 0A0438 7F06B908 44802000 */ mtc1 $zero, $f4 -/* 0A043C 7F06B90C 44815000 */ mtc1 $at, $f10 -/* 0A0440 7F06B910 8FAD0110 */ lw $t5, 0x110($sp) -/* 0A0444 7F06B914 460A7101 */ sub.s $f4, $f14, $f10 -/* 0A0448 7F06B918 10000021 */ b .L7F06B9A0 -/* 0A044C 7F06B91C E5A40008 */ swc1 $f4, 8($t5) -/* 0A0450 7F06B920 44803000 */ mtc1 $zero, $f6 -.L7F06B924: -/* 0A0454 7F06B924 00000000 */ nop -/* 0A0458 7F06B928 4602303E */ c.le.s $f6, $f2 -/* 0A045C 7F06B92C 00000000 */ nop -/* 0A0460 7F06B930 4502001C */ bc1fl .L7F06B9A4 -/* 0A0464 7F06B934 44802000 */ mtc1 $zero, $f4 -/* 0A0468 7F06B938 460EA03C */ c.lt.s $f20, $f14 -/* 0A046C 7F06B93C 3C013880 */ li $at, 0x38800000 # 0.000061 -/* 0A0470 7F06B940 45020006 */ bc1fl .L7F06B95C -/* 0A0474 7F06B944 4610A03C */ c.lt.s $f20, $f16 -/* 0A0478 7F06B948 44814000 */ mtc1 $at, $f8 -/* 0A047C 7F06B94C 00000000 */ nop -/* 0A0480 7F06B950 4608A281 */ sub.s $f10, $f20, $f8 -/* 0A0484 7F06B954 E54A0008 */ swc1 $f10, 8($t2) -/* 0A0488 7F06B958 4610A03C */ c.lt.s $f20, $f16 -.L7F06B95C: -/* 0A048C 7F06B95C 00000000 */ nop -/* 0A0490 7F06B960 45020010 */ bc1fl .L7F06B9A4 -/* 0A0494 7F06B964 44802000 */ mtc1 $zero, $f4 -/* 0A0498 7F06B968 460E803C */ c.lt.s $f16, $f14 -/* 0A049C 7F06B96C 3C013800 */ li $at, 0x38000000 # 0.000031 -/* 0A04A0 7F06B970 45020008 */ bc1fl .L7F06B994 -/* 0A04A4 7F06B974 44814000 */ mtc1 $at, $f8 -/* 0A04A8 7F06B978 3C0138C0 */ li $at, 0x38C00000 # 0.000092 -/* 0A04AC 7F06B97C 44812000 */ mtc1 $at, $f4 -/* 0A04B0 7F06B980 00000000 */ nop -/* 0A04B4 7F06B984 4604A181 */ sub.s $f6, $f20, $f4 -/* 0A04B8 7F06B988 10000005 */ b .L7F06B9A0 -/* 0A04BC 7F06B98C E5660008 */ swc1 $f6, 8($t3) -/* 0A04C0 7F06B990 44814000 */ mtc1 $at, $f8 -.L7F06B994: -/* 0A04C4 7F06B994 00000000 */ nop -/* 0A04C8 7F06B998 4608A281 */ sub.s $f10, $f20, $f8 -/* 0A04CC 7F06B99C E56A0008 */ swc1 $f10, 8($t3) -.L7F06B9A0: -/* 0A04D0 7F06B9A0 44802000 */ mtc1 $zero, $f4 -.L7F06B9A4: -/* 0A04D4 7F06B9A4 8FAE0110 */ lw $t6, 0x110($sp) -/* 0A04D8 7F06B9A8 4604903C */ c.lt.s $f18, $f4 -/* 0A04DC 7F06B9AC 00000000 */ nop -/* 0A04E0 7F06B9B0 45020033 */ bc1fl .L7F06BA80 -/* 0A04E4 7F06B9B4 44802000 */ mtc1 $zero, $f4 -/* 0A04E8 7F06B9B8 C5C20008 */ lwc1 $f2, 8($t6) -/* 0A04EC 7F06B9BC 4602603C */ c.lt.s $f12, $f2 -/* 0A04F0 7F06B9C0 00000000 */ nop -/* 0A04F4 7F06B9C4 45020053 */ bc1fl .L7F06BB14 -/* 0A04F8 7F06B9C8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A04FC 7F06B9CC C5400008 */ lwc1 $f0, 8($t2) -/* 0A0500 7F06B9D0 4602003C */ c.lt.s $f0, $f2 -/* 0A0504 7F06B9D4 00000000 */ nop -/* 0A0508 7F06B9D8 4502000C */ bc1fl .L7F06BA0C -/* 0A050C 7F06B9DC C5600008 */ lwc1 $f0, 8($t3) -/* 0A0510 7F06B9E0 4600603C */ c.lt.s $f12, $f0 -/* 0A0514 7F06B9E4 3C013880 */ li $at, 0x38800000 # 0.000061 -/* 0A0518 7F06B9E8 45020008 */ bc1fl .L7F06BA0C -/* 0A051C 7F06B9EC C5600008 */ lwc1 $f0, 8($t3) -/* 0A0520 7F06B9F0 44813000 */ mtc1 $at, $f6 -/* 0A0524 7F06B9F4 00000000 */ nop -/* 0A0528 7F06B9F8 46066201 */ sub.s $f8, $f12, $f6 -/* 0A052C 7F06B9FC E5480008 */ swc1 $f8, 8($t2) -/* 0A0530 7F06BA00 8FAF0110 */ lw $t7, 0x110($sp) -/* 0A0534 7F06BA04 C5E20008 */ lwc1 $f2, 8($t7) -/* 0A0538 7F06BA08 C5600008 */ lwc1 $f0, 8($t3) -.L7F06BA0C: -/* 0A053C 7F06BA0C 4602003C */ c.lt.s $f0, $f2 -/* 0A0540 7F06BA10 00000000 */ nop -/* 0A0544 7F06BA14 45020014 */ bc1fl .L7F06BA68 -/* 0A0548 7F06BA18 3C013780 */ lui $at, 0x3780 -/* 0A054C 7F06BA1C 4600603C */ c.lt.s $f12, $f0 -/* 0A0550 7F06BA20 00000000 */ nop -/* 0A0554 7F06BA24 45020010 */ bc1fl .L7F06BA68 -/* 0A0558 7F06BA28 3C013780 */ li $at, 0x37800000 # 0.000015 -/* 0A055C 7F06BA2C 460E803C */ c.lt.s $f16, $f14 -/* 0A0560 7F06BA30 3C013800 */ li $at, 0x38000000 # 0.000031 -/* 0A0564 7F06BA34 45020008 */ bc1fl .L7F06BA58 -/* 0A0568 7F06BA38 44813000 */ mtc1 $at, $f6 -/* 0A056C 7F06BA3C 3C0138C0 */ li $at, 0x38C00000 # 0.000092 -/* 0A0570 7F06BA40 44815000 */ mtc1 $at, $f10 -/* 0A0574 7F06BA44 00000000 */ nop -/* 0A0578 7F06BA48 460A6101 */ sub.s $f4, $f12, $f10 -/* 0A057C 7F06BA4C 10000005 */ b .L7F06BA64 -/* 0A0580 7F06BA50 E5640008 */ swc1 $f4, 8($t3) -/* 0A0584 7F06BA54 44813000 */ mtc1 $at, $f6 -.L7F06BA58: -/* 0A0588 7F06BA58 00000000 */ nop -/* 0A058C 7F06BA5C 46066201 */ sub.s $f8, $f12, $f6 -/* 0A0590 7F06BA60 E5680008 */ swc1 $f8, 8($t3) -.L7F06BA64: -/* 0A0594 7F06BA64 3C013780 */ li $at, 0x37800000 # 0.000015 -.L7F06BA68: -/* 0A0598 7F06BA68 44819000 */ mtc1 $at, $f18 -/* 0A059C 7F06BA6C 8FB80110 */ lw $t8, 0x110($sp) -/* 0A05A0 7F06BA70 46126281 */ sub.s $f10, $f12, $f18 -/* 0A05A4 7F06BA74 10000026 */ b .L7F06BB10 -/* 0A05A8 7F06BA78 E70A0008 */ swc1 $f10, 8($t8) -/* 0A05AC 7F06BA7C 44802000 */ mtc1 $zero, $f4 -.L7F06BA80: -/* 0A05B0 7F06BA80 8FB90110 */ lw $t9, 0x110($sp) -/* 0A05B4 7F06BA84 4612203E */ c.le.s $f4, $f18 -/* 0A05B8 7F06BA88 00000000 */ nop -/* 0A05BC 7F06BA8C 45020021 */ bc1fl .L7F06BB14 -/* 0A05C0 7F06BA90 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A05C4 7F06BA94 C7220008 */ lwc1 $f2, 8($t9) -/* 0A05C8 7F06BA98 3C013780 */ li $at, 0x37800000 # 0.000015 -/* 0A05CC 7F06BA9C 460C103C */ c.lt.s $f2, $f12 -/* 0A05D0 7F06BAA0 00000000 */ nop -/* 0A05D4 7F06BAA4 4502001B */ bc1fl .L7F06BB14 -/* 0A05D8 7F06BAA8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A05DC 7F06BAAC 44819000 */ mtc1 $at, $f18 -/* 0A05E0 7F06BAB0 460E603C */ c.lt.s $f12, $f14 -/* 0A05E4 7F06BAB4 46121181 */ sub.s $f6, $f2, $f18 -/* 0A05E8 7F06BAB8 45000009 */ bc1f .L7F06BAE0 -/* 0A05EC 7F06BABC E5260008 */ swc1 $f6, 8($t1) -/* 0A05F0 7F06BAC0 C5400008 */ lwc1 $f0, 8($t2) -/* 0A05F4 7F06BAC4 C5280008 */ lwc1 $f8, 8($t1) -/* 0A05F8 7F06BAC8 4608003C */ c.lt.s $f0, $f8 -/* 0A05FC 7F06BACC 00000000 */ nop -/* 0A0600 7F06BAD0 45020004 */ bc1fl .L7F06BAE4 -/* 0A0604 7F06BAD4 4610603C */ c.lt.s $f12, $f16 -/* 0A0608 7F06BAD8 46120281 */ sub.s $f10, $f0, $f18 -/* 0A060C 7F06BADC E52A0008 */ swc1 $f10, 8($t1) -.L7F06BAE0: -/* 0A0610 7F06BAE0 4610603C */ c.lt.s $f12, $f16 -.L7F06BAE4: -/* 0A0614 7F06BAE4 00000000 */ nop -/* 0A0618 7F06BAE8 4502000A */ bc1fl .L7F06BB14 -/* 0A061C 7F06BAEC 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A0620 7F06BAF0 C5600008 */ lwc1 $f0, 8($t3) -/* 0A0624 7F06BAF4 C5240008 */ lwc1 $f4, 8($t1) -/* 0A0628 7F06BAF8 4604003C */ c.lt.s $f0, $f4 -/* 0A062C 7F06BAFC 00000000 */ nop -/* 0A0630 7F06BB00 45020004 */ bc1fl .L7F06BB14 -/* 0A0634 7F06BB04 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A0638 7F06BB08 46120181 */ sub.s $f6, $f0, $f18 -/* 0A063C 7F06BB0C E5260008 */ swc1 $f6, 8($t1) -.L7F06BB10: -/* 0A0640 7F06BB10 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06BB14: -/* 0A0644 7F06BB14 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0A0648 7F06BB18 8FB0001C */ lw $s0, 0x1c($sp) -/* 0A064C 7F06BB1C 8FB10020 */ lw $s1, 0x20($sp) -/* 0A0650 7F06BB20 03E00008 */ jr $ra -/* 0A0654 7F06BB24 27BD0118 */ addiu $sp, $sp, 0x118 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06BB28(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06BB28 -/* 0A0658 7F06BB28 10800035 */ beqz $a0, .L7F06BC00 -/* 0A065C 7F06BB2C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0A0660 7F06BB30 8C8E000C */ lw $t6, 0xc($a0) -/* 0A0664 7F06BB34 00801025 */ move $v0, $a0 -/* 0A0668 7F06BB38 27A60020 */ addiu $a2, $sp, 0x20 -/* 0A066C 7F06BB3C 11C00006 */ beqz $t6, .L7F06BB58 -/* 0A0670 7F06BB40 3C01CF80 */ li $at, 0xCF800000 # -4294967296.000000 -/* 0A0674 7F06BB44 8C43000C */ lw $v1, 0xc($v0) -/* 0A0678 7F06BB48 00601025 */ move $v0, $v1 -.L7F06BB4C: -/* 0A067C 7F06BB4C 8C63000C */ lw $v1, 0xc($v1) -/* 0A0680 7F06BB50 5460FFFE */ bnezl $v1, .L7F06BB4C -/* 0A0684 7F06BB54 00601025 */ move $v0, $v1 -.L7F06BB58: -/* 0A0688 7F06BB58 27A30034 */ addiu $v1, $sp, 0x34 -/* 0A068C 7F06BB5C AFA40040 */ sw $a0, 0x40($sp) -/* 0A0690 7F06BB60 AC830010 */ sw $v1, 0x10($a0) -/* 0A0694 7F06BB64 AFA20030 */ sw $v0, 0x30($sp) -/* 0A0698 7F06BB68 44816000 */ mtc1 $at, $f12 -/* 0A069C 7F06BB6C AC46000C */ sw $a2, 0xc($v0) -.L7F06BB70: -/* 0A06A0 7F06BB70 8C65000C */ lw $a1, 0xc($v1) -/* 0A06A4 7F06BB74 00001025 */ move $v0, $zero -/* 0A06A8 7F06BB78 46006006 */ mov.s $f0, $f12 -/* 0A06AC 7F06BB7C 10A6000B */ beq $a1, $a2, .L7F06BBAC -/* 0A06B0 7F06BB80 00A02025 */ move $a0, $a1 -/* 0A06B4 7F06BB84 C4820008 */ lwc1 $f2, 8($a0) -.L7F06BB88: -/* 0A06B8 7F06BB88 4602003C */ c.lt.s $f0, $f2 -/* 0A06BC 7F06BB8C 00000000 */ nop -/* 0A06C0 7F06BB90 45020004 */ bc1fl .L7F06BBA4 -/* 0A06C4 7F06BB94 8C84000C */ lw $a0, 0xc($a0) -/* 0A06C8 7F06BB98 46001006 */ mov.s $f0, $f2 -/* 0A06CC 7F06BB9C 00801025 */ move $v0, $a0 -/* 0A06D0 7F06BBA0 8C84000C */ lw $a0, 0xc($a0) -.L7F06BBA4: -/* 0A06D4 7F06BBA4 5486FFF8 */ bnel $a0, $a2, .L7F06BB88 -/* 0A06D8 7F06BBA8 C4820008 */ lwc1 $f2, 8($a0) -.L7F06BBAC: -/* 0A06DC 7F06BBAC 1040000E */ beqz $v0, .L7F06BBE8 -/* 0A06E0 7F06BBB0 00000000 */ nop -/* 0A06E4 7F06BBB4 8C4F0010 */ lw $t7, 0x10($v0) -/* 0A06E8 7F06BBB8 8C58000C */ lw $t8, 0xc($v0) -/* 0A06EC 7F06BBBC 00402825 */ move $a1, $v0 -/* 0A06F0 7F06BBC0 AF0F0010 */ sw $t7, 0x10($t8) -/* 0A06F4 7F06BBC4 8C59000C */ lw $t9, 0xc($v0) -/* 0A06F8 7F06BBC8 8C480010 */ lw $t0, 0x10($v0) -/* 0A06FC 7F06BBCC AD19000C */ sw $t9, 0xc($t0) -/* 0A0700 7F06BBD0 AC430010 */ sw $v1, 0x10($v0) -/* 0A0704 7F06BBD4 8C69000C */ lw $t1, 0xc($v1) -/* 0A0708 7F06BBD8 AC49000C */ sw $t1, 0xc($v0) -/* 0A070C 7F06BBDC 8C6A000C */ lw $t2, 0xc($v1) -/* 0A0710 7F06BBE0 AD420010 */ sw $v0, 0x10($t2) -/* 0A0714 7F06BBE4 AC62000C */ sw $v0, 0xc($v1) -.L7F06BBE8: -/* 0A0718 7F06BBE8 14A6FFE1 */ bne $a1, $a2, .L7F06BB70 -/* 0A071C 7F06BBEC 00A01825 */ move $v1, $a1 -/* 0A0720 7F06BBF0 8FA40040 */ lw $a0, 0x40($sp) -/* 0A0724 7F06BBF4 AC800010 */ sw $zero, 0x10($a0) -/* 0A0728 7F06BBF8 8FAC0030 */ lw $t4, 0x30($sp) -/* 0A072C 7F06BBFC AD80000C */ sw $zero, 0xc($t4) -.L7F06BC00: -/* 0A0730 7F06BC00 00801025 */ move $v0, $a0 -/* 0A0734 7F06BC04 03E00008 */ jr $ra -/* 0A0738 7F06BC08 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void drawjointlist(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054538*/ -glabel obj_table_jointlist -.word .L7F06BD44 -.word .L7F06BD44 -.word .L7F06BD44 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD44 -.word .L7F06BD44 -.word .L7F06BD44 -.word .L7F06BD44 -.word .L7F06BD44 -.word .L7F06BD44 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD44 -.word .L7F06BD68 -.word .L7F06BD68 -.word .L7F06BD68 - -.text -glabel drawjointlist -/* 0A073C 7F06BC0C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A0740 7F06BC10 AFBF002C */ sw $ra, 0x2c($sp) -/* 0A0744 7F06BC14 AFB40028 */ sw $s4, 0x28($sp) -/* 0A0748 7F06BC18 AFB30024 */ sw $s3, 0x24($sp) -/* 0A074C 7F06BC1C AFB20020 */ sw $s2, 0x20($sp) -/* 0A0750 7F06BC20 AFB1001C */ sw $s1, 0x1c($sp) -/* 0A0754 7F06BC24 AFB00018 */ sw $s0, 0x18($sp) -/* 0A0758 7F06BC28 8C8E000C */ lw $t6, 0xc($a0) -/* 0A075C 7F06BC2C 0080A025 */ move $s4, $a0 -/* 0A0760 7F06BC30 00A09825 */ move $s3, $a1 -/* 0A0764 7F06BC34 15C00005 */ bnez $t6, .L7F06BC4C -/* 0A0768 7F06BC38 3C048005 */ lui $a0, %hi(aDrawjointlistNoGfxlist) -/* 0A076C 7F06BC3C 0C0033D1 */ jal osSyncPrintf -/* 0A0770 7F06BC40 24844420 */ addiu $a0, %lo(aDrawjointlistNoGfxlist) # addiu $a0, $a0, 0x4420 -/* 0A0774 7F06BC44 0FC1B11B */ jal return_null -/* 0A0778 7F06BC48 00000000 */ nop -.L7F06BC4C: -/* 0A077C 7F06BC4C 52600065 */ beql $s3, $zero, .L7F06BDE4 -/* 0A0780 7F06BC50 8FBF002C */ lw $ra, 0x2c($sp) -/* 0A0784 7F06BC54 8E660000 */ lw $a2, ($s3) -.L7F06BC58: -/* 0A0788 7F06BC58 8E710004 */ lw $s1, 4($s3) -/* 0A078C 7F06BC5C 3C048005 */ lui $a0, %hi(aDrawjointlistNoObject0xX) -/* 0A0790 7F06BC60 8CC50008 */ lw $a1, 8($a2) -/* 0A0794 7F06BC64 2484443C */ addiu $a0, %lo(aDrawjointlistNoObject0xX) # addiu $a0, $a0, 0x443c -/* 0A0798 7F06BC68 02208025 */ move $s0, $s1 -/* 0A079C 7F06BC6C 54A00008 */ bnezl $a1, .L7F06BC90 -/* 0A07A0 7F06BC70 8CB8001C */ lw $t8, 0x1c($a1) -/* 0A07A4 7F06BC74 0C0033D1 */ jal osSyncPrintf -/* 0A07A8 7F06BC78 00C02825 */ move $a1, $a2 -/* 0A07AC 7F06BC7C 0FC1B11B */ jal return_null -/* 0A07B0 7F06BC80 00000000 */ nop -/* 0A07B4 7F06BC84 8E6F0000 */ lw $t7, ($s3) -/* 0A07B8 7F06BC88 8DE50008 */ lw $a1, 8($t7) -/* 0A07BC 7F06BC8C 8CB8001C */ lw $t8, 0x1c($a1) -.L7F06BC90: -/* 0A07C0 7F06BC90 3C048005 */ lui $a0, %hi(aDrawjointlistObjectNotInitialised0) -/* 0A07C4 7F06BC94 57000006 */ bnezl $t8, .L7F06BCB0 -/* 0A07C8 7F06BC98 8E990018 */ lw $t9, 0x18($s4) -/* 0A07CC 7F06BC9C 0C0033D1 */ jal osSyncPrintf -/* 0A07D0 7F06BCA0 24844460 */ addiu $a0, %lo(aDrawjointlistObjectNotInitialised0) # addiu $a0, $a0, 0x4460 -/* 0A07D4 7F06BCA4 0FC1B11B */ jal return_null -/* 0A07D8 7F06BCA8 00000000 */ nop -/* 0A07DC 7F06BCAC 8E990018 */ lw $t9, 0x18($s4) -.L7F06BCB0: -/* 0A07E0 7F06BCB0 02202825 */ move $a1, $s1 -/* 0A07E4 7F06BCB4 5320000B */ beql $t9, $zero, .L7F06BCE4 -/* 0A07E8 7F06BCB8 8E82000C */ lw $v0, 0xc($s4) -/* 0A07EC 7F06BCBC 0FC1B3A4 */ jal getjointsize -/* 0A07F0 7F06BCC0 8E640000 */ lw $a0, ($s3) -/* 0A07F4 7F06BCC4 C6640008 */ lwc1 $f4, 8($s3) -/* 0A07F8 7F06BCC8 4600203C */ c.lt.s $f4, $f0 -/* 0A07FC 7F06BCCC 00000000 */ nop -/* 0A0800 7F06BCD0 4500000E */ bc1f .L7F06BD0C -/* 0A0804 7F06BCD4 00000000 */ nop -/* 0A0808 7F06BCD8 1000000C */ b .L7F06BD0C -/* 0A080C 7F06BCDC 00008025 */ move $s0, $zero -/* 0A0810 7F06BCE0 8E82000C */ lw $v0, 0xc($s4) -.L7F06BCE4: -/* 0A0814 7F06BCE4 3C09BC00 */ lui $t1, (0xBC000C06 >> 16) # lui $t1, 0xbc00 -/* 0A0818 7F06BCE8 35290C06 */ ori $t1, (0xBC000C06 & 0xFFFF) # ori $t1, $t1, 0xc06 -/* 0A081C 7F06BCEC 24480008 */ addiu $t0, $v0, 8 -/* 0A0820 7F06BCF0 AE88000C */ sw $t0, 0xc($s4) -/* 0A0824 7F06BCF4 AC490000 */ sw $t1, ($v0) -/* 0A0828 7F06BCF8 8E6A0000 */ lw $t2, ($s3) -/* 0A082C 7F06BCFC 00409025 */ move $s2, $v0 -/* 0A0830 7F06BD00 0C003A2C */ jal osVirtualToPhysical -/* 0A0834 7F06BD04 8D44000C */ lw $a0, 0xc($t2) -/* 0A0838 7F06BD08 AE420004 */ sw $v0, 4($s2) -.L7F06BD0C: -/* 0A083C 7F06BD0C 52000032 */ beql $s0, $zero, .L7F06BDD8 -/* 0A0840 7F06BD10 8E73000C */ lw $s3, 0xc($s3) -/* 0A0844 7F06BD14 96020000 */ lhu $v0, ($s0) -.L7F06BD18: -/* 0A0848 7F06BD18 24120001 */ li $s2, 1 -/* 0A084C 7F06BD1C 304B00FF */ andi $t3, $v0, 0xff -/* 0A0850 7F06BD20 256CFFFF */ addiu $t4, $t3, -1 -/* 0A0854 7F06BD24 2D810018 */ sltiu $at, $t4, 0x18 -/* 0A0858 7F06BD28 1020000F */ beqz $at, .L7F06BD68 -/* 0A085C 7F06BD2C 000C6080 */ sll $t4, $t4, 2 -/* 0A0860 7F06BD30 3C018005 */ lui $at, %hi(obj_table_jointlist) -/* 0A0864 7F06BD34 002C0821 */ addu $at, $at, $t4 -/* 0A0868 7F06BD38 8C2C4538 */ lw $t4, %lo(obj_table_jointlist)($at) -.L7F06BD3C: -/* 0A086C 7F06BD3C 01800008 */ jr $t4 -/* 0A0870 7F06BD40 00000000 */ nop -.L7F06BD44: -/* 0A0874 7F06BD44 16110006 */ bne $s0, $s1, .L7F06BD60 -/* 0A0878 7F06BD48 02802025 */ move $a0, $s4 -/* 0A087C 7F06BD4C 8E650000 */ lw $a1, ($s3) -/* 0A0880 7F06BD50 0FC1D14D */ jal sub_GAME_7F074534 -/* 0A0884 7F06BD54 02003025 */ move $a2, $s0 -/* 0A0888 7F06BD58 10000007 */ b .L7F06BD78 -/* 0A088C 7F06BD5C 00000000 */ nop -.L7F06BD60: -/* 0A0890 7F06BD60 10000005 */ b .L7F06BD78 -/* 0A0894 7F06BD64 00009025 */ move $s2, $zero -def_7F06BD3C: -.L7F06BD68: -/* 0A0898 7F06BD68 02802025 */ move $a0, $s4 -/* 0A089C 7F06BD6C 8E650000 */ lw $a1, ($s3) -/* 0A08A0 7F06BD70 0FC1D14D */ jal sub_GAME_7F074534 -/* 0A08A4 7F06BD74 02003025 */ move $a2, $s0 -.L7F06BD78: -/* 0A08A8 7F06BD78 12400006 */ beqz $s2, .L7F06BD94 -/* 0A08AC 7F06BD7C 00000000 */ nop -/* 0A08B0 7F06BD80 8E020014 */ lw $v0, 0x14($s0) -/* 0A08B4 7F06BD84 10400003 */ beqz $v0, .L7F06BD94 -/* 0A08B8 7F06BD88 00000000 */ nop -/* 0A08BC 7F06BD8C 1000000F */ b .L7F06BDCC -/* 0A08C0 7F06BD90 00408025 */ move $s0, $v0 -.L7F06BD94: -/* 0A08C4 7F06BD94 1200000D */ beqz $s0, .L7F06BDCC -/* 0A08C8 7F06BD98 00000000 */ nop -.L7F06BD9C: -/* 0A08CC 7F06BD9C 56110004 */ bnel $s0, $s1, .L7F06BDB0 -/* 0A08D0 7F06BDA0 8E02000C */ lw $v0, 0xc($s0) -/* 0A08D4 7F06BDA4 10000009 */ b .L7F06BDCC -/* 0A08D8 7F06BDA8 00008025 */ move $s0, $zero -/* 0A08DC 7F06BDAC 8E02000C */ lw $v0, 0xc($s0) -.L7F06BDB0: -/* 0A08E0 7F06BDB0 50400004 */ beql $v0, $zero, .L7F06BDC4 -/* 0A08E4 7F06BDB4 8E100008 */ lw $s0, 8($s0) -/* 0A08E8 7F06BDB8 10000004 */ b .L7F06BDCC -/* 0A08EC 7F06BDBC 00408025 */ move $s0, $v0 -/* 0A08F0 7F06BDC0 8E100008 */ lw $s0, 8($s0) -.L7F06BDC4: -/* 0A08F4 7F06BDC4 1600FFF5 */ bnez $s0, .L7F06BD9C -/* 0A08F8 7F06BDC8 00000000 */ nop -.L7F06BDCC: -/* 0A08FC 7F06BDCC 5600FFD2 */ bnezl $s0, .L7F06BD18 -/* 0A0900 7F06BDD0 96020000 */ lhu $v0, ($s0) -/* 0A0904 7F06BDD4 8E73000C */ lw $s3, 0xc($s3) -.L7F06BDD8: -/* 0A0908 7F06BDD8 5660FF9F */ bnezl $s3, .L7F06BC58 -/* 0A090C 7F06BDDC 8E660000 */ lw $a2, ($s3) -/* 0A0910 7F06BDE0 8FBF002C */ lw $ra, 0x2c($sp) -.L7F06BDE4: -/* 0A0914 7F06BDE4 8FB00018 */ lw $s0, 0x18($sp) -/* 0A0918 7F06BDE8 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A091C 7F06BDEC 8FB20020 */ lw $s2, 0x20($sp) -/* 0A0920 7F06BDF0 8FB30024 */ lw $s3, 0x24($sp) -/* 0A0924 7F06BDF4 8FB40028 */ lw $s4, 0x28($sp) -/* 0A0928 7F06BDF8 03E00008 */ jr $ra -/* 0A092C 7F06BDFC 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void probably_damage_detail_blood_effect_related(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054598*/ -glabel jpt_damage_detail -.word .L7F06BEF4 -.word .L7F06BEF4 -.word .L7F06BEF4 -.word .L7F06BFC8 -.word .L7F06BFC8 -.word .L7F06BFC8 -.word .L7F06BFC8 -.word .L7F06BF94 -.word .L7F06BFC8 -.word .L7F06BF04 -.word .L7F06BEFC -.word .L7F06BEFC -.word .L7F06BEFC -.word .L7F06BEFC -.word .L7F06BEFC -.word .L7F06BEFC -.word .L7F06BF4C -.word .L7F06BFA8 -.word .L7F06BFC8 -.word .L7F06BFC8 -.word .L7F06BEF4 -.word .L7F06BFC8 -.word .L7F06BFBC -.word .L7F06BFC8 - -/*D:800545F8*/ -glabel D_800545F8 -.word 0,0 - -.text -glabel probably_damage_detail_blood_effect_related -/* 0A0930 7F06BE00 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0A0934 7F06BE04 AFBF0034 */ sw $ra, 0x34($sp) -/* 0A0938 7F06BE08 AFB60030 */ sw $s6, 0x30($sp) -/* 0A093C 7F06BE0C AFB5002C */ sw $s5, 0x2c($sp) -/* 0A0940 7F06BE10 AFB40028 */ sw $s4, 0x28($sp) -/* 0A0944 7F06BE14 AFB30024 */ sw $s3, 0x24($sp) -/* 0A0948 7F06BE18 AFB20020 */ sw $s2, 0x20($sp) -/* 0A094C 7F06BE1C AFB1001C */ sw $s1, 0x1c($sp) -/* 0A0950 7F06BE20 AFB00018 */ sw $s0, 0x18($sp) -/* 0A0954 7F06BE24 AFA40038 */ sw $a0, 0x38($sp) -/* 0A0958 7F06BE28 AFA70044 */ sw $a3, 0x44($sp) -/* 0A095C 7F06BE2C 8C930000 */ lw $s3, ($a0) -/* 0A0960 7F06BE30 00A0A025 */ move $s4, $a1 -/* 0A0964 7F06BE34 00C0A825 */ move $s5, $a2 -/* 0A0968 7F06BE38 12600068 */ beqz $s3, .L7F06BFDC -/* 0A096C 7F06BE3C 8FB60048 */ lw $s6, 0x48($sp) -/* 0A0970 7F06BE40 8EC20000 */ lw $v0, ($s6) -.L7F06BE44: -/* 0A0974 7F06BE44 8E720004 */ lw $s2, 4($s3) -/* 0A0978 7F06BE48 24110001 */ li $s1, 1 -/* 0A097C 7F06BE4C 10400004 */ beqz $v0, .L7F06BE60 -/* 0A0980 7F06BE50 02408025 */ move $s0, $s2 -/* 0A0984 7F06BE54 00408025 */ move $s0, $v0 -/* 0A0988 7F06BE58 10000001 */ b .L7F06BE60 -/* 0A098C 7F06BE5C AEC00000 */ sw $zero, ($s6) -.L7F06BE60: -/* 0A0990 7F06BE60 5200005C */ beql $s0, $zero, .L7F06BFD4 -/* 0A0994 7F06BE64 8E730010 */ lw $s3, 0x10($s3) -.L7F06BE68: -/* 0A0998 7F06BE68 12200006 */ beqz $s1, .L7F06BE84 -/* 0A099C 7F06BE6C 00000000 */ nop -/* 0A09A0 7F06BE70 8E020014 */ lw $v0, 0x14($s0) -/* 0A09A4 7F06BE74 10400003 */ beqz $v0, .L7F06BE84 -/* 0A09A8 7F06BE78 00000000 */ nop -/* 0A09AC 7F06BE7C 10000011 */ b .L7F06BEC4 -/* 0A09B0 7F06BE80 00408025 */ move $s0, $v0 -.L7F06BE84: -/* 0A09B4 7F06BE84 1200000D */ beqz $s0, .L7F06BEBC -/* 0A09B8 7F06BE88 00000000 */ nop -.L7F06BE8C: -/* 0A09BC 7F06BE8C 56120004 */ bnel $s0, $s2, .L7F06BEA0 -/* 0A09C0 7F06BE90 8E02000C */ lw $v0, 0xc($s0) -/* 0A09C4 7F06BE94 10000009 */ b .L7F06BEBC -/* 0A09C8 7F06BE98 00008025 */ move $s0, $zero -/* 0A09CC 7F06BE9C 8E02000C */ lw $v0, 0xc($s0) -.L7F06BEA0: -/* 0A09D0 7F06BEA0 50400004 */ beql $v0, $zero, .L7F06BEB4 -/* 0A09D4 7F06BEA4 8E100008 */ lw $s0, 8($s0) -/* 0A09D8 7F06BEA8 10000004 */ b .L7F06BEBC -/* 0A09DC 7F06BEAC 00408025 */ move $s0, $v0 -/* 0A09E0 7F06BEB0 8E100008 */ lw $s0, 8($s0) -.L7F06BEB4: -/* 0A09E4 7F06BEB4 1600FFF5 */ bnez $s0, .L7F06BE8C -/* 0A09E8 7F06BEB8 00000000 */ nop -.L7F06BEBC: -/* 0A09EC 7F06BEBC 52000045 */ beql $s0, $zero, .L7F06BFD4 -/* 0A09F0 7F06BEC0 8E730010 */ lw $s3, 0x10($s3) -.L7F06BEC4: -/* 0A09F4 7F06BEC4 96020000 */ lhu $v0, ($s0) -/* 0A09F8 7F06BEC8 24110001 */ li $s1, 1 -/* 0A09FC 7F06BECC 304F00FF */ andi $t7, $v0, 0xff -/* 0A0A00 7F06BED0 25F8FFFF */ addiu $t8, $t7, -1 -/* 0A0A04 7F06BED4 2F010018 */ sltiu $at, $t8, 0x18 -/* 0A0A08 7F06BED8 1020003B */ beqz $at, .L7F06BFC8 -/* 0A0A0C 7F06BEDC 0018C080 */ sll $t8, $t8, 2 -/* 0A0A10 7F06BEE0 3C018005 */ lui $at, %hi(jpt_damage_detail) -/* 0A0A14 7F06BEE4 00380821 */ addu $at, $at, $t8 -/* 0A0A18 7F06BEE8 8C384598 */ lw $t8, %lo(jpt_damage_detail)($at) -.L7F06BEEC: -/* 0A0A1C 7F06BEEC 03000008 */ jr $t8 -/* 0A0A20 7F06BEF0 00000000 */ nop -.L7F06BEF4: -/* 0A0A24 7F06BEF4 10000034 */ b .L7F06BFC8 -/* 0A0A28 7F06BEF8 00008825 */ move $s1, $zero -.L7F06BEFC: -/* 0A0A2C 7F06BEFC 10000032 */ b .L7F06BFC8 -/* 0A0A30 7F06BF00 00008825 */ move $s1, $zero -.L7F06BF04: -/* 0A0A34 7F06BF04 8E640000 */ lw $a0, ($s3) -/* 0A0A38 7F06BF08 02002825 */ move $a1, $s0 -/* 0A0A3C 7F06BF0C 02803025 */ move $a2, $s4 -/* 0A0A40 7F06BF10 0FC1D31A */ jal sub_GAME_7F074C68 -/* 0A0A44 7F06BF14 02A03825 */ move $a3, $s5 -/* 0A0A48 7F06BF18 1040000A */ beqz $v0, .L7F06BF44 -/* 0A0A4C 7F06BF1C 00000000 */ nop -/* 0A0A50 7F06BF20 8E790000 */ lw $t9, ($s3) -/* 0A0A54 7F06BF24 8FA80044 */ lw $t0, 0x44($sp) -/* 0A0A58 7F06BF28 AD190000 */ sw $t9, ($t0) -/* 0A0A5C 7F06BF2C AED00000 */ sw $s0, ($s6) -/* 0A0A60 7F06BF30 8FA90038 */ lw $t1, 0x38($sp) -/* 0A0A64 7F06BF34 AD330000 */ sw $s3, ($t1) -/* 0A0A68 7F06BF38 8E0A0004 */ lw $t2, 4($s0) -/* 0A0A6C 7F06BF3C 1000002A */ b .L7F06BFE8 -/* 0A0A70 7F06BF40 8D420000 */ lw $v0, ($t2) -.L7F06BF44: -/* 0A0A74 7F06BF44 10000020 */ b .L7F06BFC8 -/* 0A0A78 7F06BF48 00008825 */ move $s1, $zero -.L7F06BF4C: -/* 0A0A7C 7F06BF4C 8E640000 */ lw $a0, ($s3) -/* 0A0A80 7F06BF50 02002825 */ move $a1, $s0 -/* 0A0A84 7F06BF54 02803025 */ move $a2, $s4 -/* 0A0A88 7F06BF58 0FC1D32B */ jal sub_GAME_7F074CAC -/* 0A0A8C 7F06BF5C 02A03825 */ move $a3, $s5 -/* 0A0A90 7F06BF60 1040000A */ beqz $v0, .L7F06BF8C -/* 0A0A94 7F06BF64 00000000 */ nop -/* 0A0A98 7F06BF68 8E6B0000 */ lw $t3, ($s3) -/* 0A0A9C 7F06BF6C 8FAC0044 */ lw $t4, 0x44($sp) -/* 0A0AA0 7F06BF70 AD8B0000 */ sw $t3, ($t4) -/* 0A0AA4 7F06BF74 AED00000 */ sw $s0, ($s6) -/* 0A0AA8 7F06BF78 8FAD0038 */ lw $t5, 0x38($sp) -/* 0A0AAC 7F06BF7C ADB30000 */ sw $s3, ($t5) -/* 0A0AB0 7F06BF80 8E0E0004 */ lw $t6, 4($s0) -/* 0A0AB4 7F06BF84 10000018 */ b .L7F06BFE8 -/* 0A0AB8 7F06BF88 8DC20000 */ lw $v0, ($t6) -.L7F06BF8C: -/* 0A0ABC 7F06BF8C 1000000E */ b .L7F06BFC8 -/* 0A0AC0 7F06BF90 00008825 */ move $s1, $zero -.L7F06BF94: -/* 0A0AC4 7F06BF94 8E640000 */ lw $a0, ($s3) -/* 0A0AC8 7F06BF98 0FC1BA5C */ jal sub_GAME_7F06E970 -/* 0A0ACC 7F06BF9C 02002825 */ move $a1, $s0 -/* 0A0AD0 7F06BFA0 10000009 */ b .L7F06BFC8 -/* 0A0AD4 7F06BFA4 00000000 */ nop -.L7F06BFA8: -/* 0A0AD8 7F06BFA8 8E640000 */ lw $a0, ($s3) -/* 0A0ADC 7F06BFAC 0FC1BA6F */ jal process_12_handle_switch -/* 0A0AE0 7F06BFB0 02002825 */ move $a1, $s0 -/* 0A0AE4 7F06BFB4 10000004 */ b .L7F06BFC8 -/* 0A0AE8 7F06BFB8 00000000 */ nop -.L7F06BFBC: -/* 0A0AEC 7F06BFBC 8E640000 */ lw $a0, ($s3) -/* 0A0AF0 7F06BFC0 0FC1BA82 */ jal process_17_pointer_to_head -/* 0A0AF4 7F06BFC4 02002825 */ move $a1, $s0 -def_7F06BEEC: -.L7F06BFC8: -/* 0A0AF8 7F06BFC8 1600FFA7 */ bnez $s0, .L7F06BE68 -/* 0A0AFC 7F06BFCC 00000000 */ nop -/* 0A0B00 7F06BFD0 8E730010 */ lw $s3, 0x10($s3) -.L7F06BFD4: -/* 0A0B04 7F06BFD4 5660FF9B */ bnezl $s3, .L7F06BE44 -/* 0A0B08 7F06BFD8 8EC20000 */ lw $v0, ($s6) -.L7F06BFDC: -/* 0A0B0C 7F06BFDC 8FAF0038 */ lw $t7, 0x38($sp) -/* 0A0B10 7F06BFE0 00001025 */ move $v0, $zero -/* 0A0B14 7F06BFE4 ADE00000 */ sw $zero, ($t7) -.L7F06BFE8: -/* 0A0B18 7F06BFE8 8FBF0034 */ lw $ra, 0x34($sp) -/* 0A0B1C 7F06BFEC 8FB00018 */ lw $s0, 0x18($sp) -/* 0A0B20 7F06BFF0 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A0B24 7F06BFF4 8FB20020 */ lw $s2, 0x20($sp) -/* 0A0B28 7F06BFF8 8FB30024 */ lw $s3, 0x24($sp) -/* 0A0B2C 7F06BFFC 8FB40028 */ lw $s4, 0x28($sp) -/* 0A0B30 7F06C000 8FB5002C */ lw $s5, 0x2c($sp) -/* 0A0B34 7F06C004 8FB60030 */ lw $s6, 0x30($sp) -/* 0A0B38 7F06C008 03E00008 */ jr $ra -/* 0A0B3C 7F06C00C 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C010(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C010 -/* 0A0B40 7F06C010 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A0B44 7F06C014 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A0B48 7F06C018 8C830000 */ lw $v1, ($a0) -/* 0A0B4C 7F06C01C 8C62000C */ lw $v0, 0xc($v1) -/* 0A0B50 7F06C020 50400006 */ beql $v0, $zero, .L7F06C03C -/* 0A0B54 7F06C024 8FA20030 */ lw $v0, 0x30($sp) -/* 0A0B58 7F06C028 00401825 */ move $v1, $v0 -.L7F06C02C: -/* 0A0B5C 7F06C02C 8C42000C */ lw $v0, 0xc($v0) -/* 0A0B60 7F06C030 5440FFFE */ bnezl $v0, .L7F06C02C -/* 0A0B64 7F06C034 00401825 */ move $v1, $v0 -/* 0A0B68 7F06C038 8FA20030 */ lw $v0, 0x30($sp) -.L7F06C03C: -/* 0A0B6C 7F06C03C AC830000 */ sw $v1, ($a0) -/* 0A0B70 7F06C040 ACE00000 */ sw $zero, ($a3) -/* 0A0B74 7F06C044 AC400000 */ sw $zero, ($v0) -/* 0A0B78 7F06C048 0FC1AF80 */ jal probably_damage_detail_blood_effect_related -/* 0A0B7C 7F06C04C AFA20010 */ sw $v0, 0x10($sp) -/* 0A0B80 7F06C050 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A0B84 7F06C054 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A0B88 7F06C058 03E00008 */ jr $ra -/* 0A0B8C 7F06C05C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C060(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C060 -/* 0A0B90 7F06C060 84A30014 */ lh $v1, 0x14($a1) -/* 0A0B94 7F06C064 28620001 */ slti $v0, $v1, 1 -/* 0A0B98 7F06C068 14400008 */ bnez $v0, .L7F06C08C -/* 0A0B9C 7F06C06C 00000000 */ nop -/* 0A0BA0 7F06C070 8C820010 */ lw $v0, 0x10($a0) -/* 0A0BA4 7F06C074 0002702B */ sltu $t6, $zero, $v0 -/* 0A0BA8 7F06C078 11C00004 */ beqz $t6, .L7F06C08C -/* 0A0BAC 7F06C07C 01C01025 */ move $v0, $t6 -/* 0A0BB0 7F06C080 848F0002 */ lh $t7, 2($a0) -/* 0A0BB4 7F06C084 01E3102A */ slt $v0, $t7, $v1 -/* 0A0BB8 7F06C088 38420001 */ xori $v0, $v0, 1 -.L7F06C08C: -/* 0A0BBC 7F06C08C 03E00008 */ jr $ra -/* 0A0BC0 7F06C090 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_obj_instance_controller_for_header(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_obj_instance_controller_for_header -/* 0A0BC4 7F06C094 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0A0BC8 7F06C098 3C0F8003 */ lui $t7, %hi(D_80036078) -/* 0A0BCC 7F06C09C 8DEF6078 */ lw $t7, %lo(D_80036078)($t7) -/* 0A0BD0 7F06C0A0 AFB60030 */ sw $s6, 0x30($sp) -/* 0A0BD4 7F06C0A4 AFB5002C */ sw $s5, 0x2c($sp) -/* 0A0BD8 7F06C0A8 240EFFFF */ li $t6, -1 -/* 0A0BDC 7F06C0AC 0080A825 */ move $s5, $a0 -/* 0A0BE0 7F06C0B0 AFBF0034 */ sw $ra, 0x34($sp) -/* 0A0BE4 7F06C0B4 AFB40028 */ sw $s4, 0x28($sp) -/* 0A0BE8 7F06C0B8 AFB30024 */ sw $s3, 0x24($sp) -/* 0A0BEC 7F06C0BC AFB20020 */ sw $s2, 0x20($sp) -/* 0A0BF0 7F06C0C0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0A0BF4 7F06C0C4 AFB00018 */ sw $s0, 0x18($sp) -/* 0A0BF8 7F06C0C8 0000B025 */ move $s6, $zero -/* 0A0BFC 7F06C0CC AFA00040 */ sw $zero, 0x40($sp) -/* 0A0C00 7F06C0D0 11E00025 */ beqz $t7, .L7F06C168 -/* 0A0C04 7F06C0D4 A7AE003E */ sh $t6, 0x3e($sp) -/* 0A0C08 7F06C0D8 3C148003 */ lui $s4, %hi(D_80036074) -/* 0A0C0C 7F06C0DC 26946074 */ addiu $s4, %lo(D_80036074) # addiu $s4, $s4, 0x6074 -/* 0A0C10 7F06C0E0 8E840000 */ lw $a0, ($s4) -/* 0A0C14 7F06C0E4 00001025 */ move $v0, $zero -/* 0A0C18 7F06C0E8 3C068008 */ lui $a2, %hi(ptr_allocation_1) -/* 0A0C1C 7F06C0EC 2484FFE2 */ addiu $a0, $a0, -0x1e -/* 0A0C20 7F06C0F0 1880000C */ blez $a0, .L7F06C124 -/* 0A0C24 7F06C0F4 24050004 */ li $a1, 4 -/* 0A0C28 7F06C0F8 8CC69934 */ lw $a2, %lo(ptr_allocation_1)($a2) -/* 0A0C2C 7F06C0FC 00C01825 */ move $v1, $a2 -.L7F06C100: -/* 0A0C30 7F06C100 8C780008 */ lw $t8, 8($v1) -/* 0A0C34 7F06C104 17000003 */ bnez $t8, .L7F06C114 -/* 0A0C38 7F06C108 0002C940 */ sll $t9, $v0, 5 -/* 0A0C3C 7F06C10C 10000005 */ b .L7F06C124 -/* 0A0C40 7F06C110 0326B021 */ addu $s6, $t9, $a2 -.L7F06C114: -/* 0A0C44 7F06C114 24420001 */ addiu $v0, $v0, 1 -/* 0A0C48 7F06C118 0044082A */ slt $at, $v0, $a0 -/* 0A0C4C 7F06C11C 1420FFF8 */ bnez $at, .L7F06C100 -/* 0A0C50 7F06C120 24630020 */ addiu $v1, $v1, 0x20 -.L7F06C124: -/* 0A0C54 7F06C124 56C00005 */ bnezl $s6, .L7F06C13C -/* 0A0C58 7F06C128 86A20014 */ lh $v0, 0x14($s5) -/* 0A0C5C 7F06C12C 0C0025C8 */ jal mempAllocBytesInBank -/* 0A0C60 7F06C130 24040020 */ li $a0, 32 -/* 0A0C64 7F06C134 0040B025 */ move $s6, $v0 -/* 0A0C68 7F06C138 86A20014 */ lh $v0, 0x14($s5) -.L7F06C13C: -/* 0A0C6C 7F06C13C 24050004 */ li $a1, 4 -/* 0A0C70 7F06C140 1840002A */ blez $v0, .L7F06C1EC -/* 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 mempAllocBytesInBank -/* 0A0C84 7F06C154 3904000F */ xori $a0, $t0, 0xf -/* 0A0C88 7F06C158 AFA20040 */ sw $v0, 0x40($sp) -/* 0A0C8C 7F06C15C 86AA0014 */ lh $t2, 0x14($s5) -/* 0A0C90 7F06C160 10000022 */ b .L7F06C1EC -/* 0A0C94 7F06C164 A7AA003E */ sh $t2, 0x3e($sp) -.L7F06C168: -/* 0A0C98 7F06C168 3C148003 */ lui $s4, %hi(D_80036074) -/* 0A0C9C 7F06C16C 26946074 */ addiu $s4, %lo(D_80036074) # addiu $s4, $s4, 0x6074 -/* 0A0CA0 7F06C170 8E8B0000 */ lw $t3, ($s4) -/* 0A0CA4 7F06C174 00008025 */ move $s0, $zero -/* 0A0CA8 7F06C178 00008825 */ move $s1, $zero -/* 0A0CAC 7F06C17C 1960001B */ blez $t3, .L7F06C1EC -/* 0A0CB0 7F06C180 3C138008 */ lui $s3, %hi(ptr_allocation_1) -/* 0A0CB4 7F06C184 26739934 */ addiu $s3, %lo(ptr_allocation_1) # addiu $s3, $s3, -0x66cc -/* 0A0CB8 7F06C188 8E660000 */ lw $a2, ($s3) -.L7F06C18C: -/* 0A0CBC 7F06C18C 00109140 */ sll $s2, $s0, 5 -/* 0A0CC0 7F06C190 00D16021 */ addu $t4, $a2, $s1 -/* 0A0CC4 7F06C194 8D8D0008 */ lw $t5, 8($t4) -/* 0A0CC8 7F06C198 02462021 */ addu $a0, $s2, $a2 -/* 0A0CCC 7F06C19C 55A0000E */ bnezl $t5, .L7F06C1D8 -/* 0A0CD0 7F06C1A0 8E980000 */ lw $t8, ($s4) -/* 0A0CD4 7F06C1A4 0FC1B018 */ jal sub_GAME_7F06C060 -/* 0A0CD8 7F06C1A8 02A02825 */ move $a1, $s5 -/* 0A0CDC 7F06C1AC 5040000A */ beql $v0, $zero, .L7F06C1D8 -/* 0A0CE0 7F06C1B0 8E980000 */ lw $t8, ($s4) -/* 0A0CE4 7F06C1B4 8E660000 */ lw $a2, ($s3) -/* 0A0CE8 7F06C1B8 00D11021 */ addu $v0, $a2, $s1 -/* 0A0CEC 7F06C1BC 8C4E0010 */ lw $t6, 0x10($v0) -/* 0A0CF0 7F06C1C0 0246B021 */ addu $s6, $s2, $a2 -/* 0A0CF4 7F06C1C4 AFAE0040 */ sw $t6, 0x40($sp) -/* 0A0CF8 7F06C1C8 844F0002 */ lh $t7, 2($v0) -/* 0A0CFC 7F06C1CC 10000007 */ b .L7F06C1EC -/* 0A0D00 7F06C1D0 A7AF003E */ sh $t7, 0x3e($sp) -/* 0A0D04 7F06C1D4 8E980000 */ lw $t8, ($s4) -.L7F06C1D8: -/* 0A0D08 7F06C1D8 26100001 */ addiu $s0, $s0, 1 -/* 0A0D0C 7F06C1DC 26310020 */ addiu $s1, $s1, 0x20 -/* 0A0D10 7F06C1E0 0218082A */ slt $at, $s0, $t8 -/* 0A0D14 7F06C1E4 5420FFE9 */ bnezl $at, .L7F06C18C -/* 0A0D18 7F06C1E8 8E660000 */ lw $a2, ($s3) -.L7F06C1EC: -/* 0A0D1C 7F06C1EC 12C00006 */ beqz $s6, .L7F06C208 -/* 0A0D20 7F06C1F0 02C02025 */ move $a0, $s6 -/* 0A0D24 7F06C1F4 02A02825 */ move $a1, $s5 -/* 0A0D28 7F06C1F8 0FC1D7DA */ jal sub_GAME_7F075F68 -/* 0A0D2C 7F06C1FC 8FA60040 */ lw $a2, 0x40($sp) -/* 0A0D30 7F06C200 87B9003E */ lh $t9, 0x3e($sp) -/* 0A0D34 7F06C204 A6D90002 */ sh $t9, 2($s6) -.L7F06C208: -/* 0A0D38 7F06C208 8FBF0034 */ lw $ra, 0x34($sp) -/* 0A0D3C 7F06C20C 02C01025 */ move $v0, $s6 -/* 0A0D40 7F06C210 8FB60030 */ lw $s6, 0x30($sp) -/* 0A0D44 7F06C214 8FB00018 */ lw $s0, 0x18($sp) -/* 0A0D48 7F06C218 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A0D4C 7F06C21C 8FB20020 */ lw $s2, 0x20($sp) -/* 0A0D50 7F06C220 8FB30024 */ lw $s3, 0x24($sp) -/* 0A0D54 7F06C224 8FB40028 */ lw $s4, 0x28($sp) -/* 0A0D58 7F06C228 8FB5002C */ lw $s5, 0x2c($sp) -/* 0A0D5C 7F06C22C 03E00008 */ jr $ra -/* 0A0D60 7F06C230 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void set_obj_instance_scale_to_zero(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_obj_instance_scale_to_zero -/* 0A0D64 7F06C234 03E00008 */ jr $ra -/* 0A0D68 7F06C238 AC800008 */ sw $zero, 8($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void get_aircraft_obj_instance_controller(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_aircraft_obj_instance_controller -/* 0A0D6C 7F06C23C 3C0E8003 */ lui $t6, %hi(D_80036078) -/* 0A0D70 7F06C240 8DCE6078 */ lw $t6, %lo(D_80036078)($t6) -/* 0A0D74 7F06C244 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A0D78 7F06C248 AFB00018 */ sw $s0, 0x18($sp) -/* 0A0D7C 7F06C24C AFBF001C */ sw $ra, 0x1c($sp) -/* 0A0D80 7F06C250 AFA40030 */ sw $a0, 0x30($sp) -/* 0A0D84 7F06C254 00008025 */ move $s0, $zero -/* 0A0D88 7F06C258 AFA00028 */ sw $zero, 0x28($sp) -/* 0A0D8C 7F06C25C 11C00028 */ beqz $t6, .L7F06C300 -/* 0A0D90 7F06C260 2408FFFF */ li $t0, -1 -/* 0A0D94 7F06C264 3C058003 */ lui $a1, %hi(D_80036070) -/* 0A0D98 7F06C268 8CA56070 */ lw $a1, %lo(D_80036070)($a1) -/* 0A0D9C 7F06C26C 00001025 */ move $v0, $zero -/* 0A0DA0 7F06C270 3C078008 */ lui $a3, %hi(ptr_allocation_0) -/* 0A0DA4 7F06C274 24A5FFF6 */ addiu $a1, $a1, -0xa -/* 0A0DA8 7F06C278 18A0000D */ blez $a1, .L7F06C2B0 -/* 0A0DAC 7F06C27C 00000000 */ nop -/* 0A0DB0 7F06C280 8CE79930 */ lw $a3, %lo(ptr_allocation_0)($a3) -/* 0A0DB4 7F06C284 00002025 */ move $a0, $zero -/* 0A0DB8 7F06C288 00E01825 */ move $v1, $a3 -.L7F06C28C: -/* 0A0DBC 7F06C28C 8C6F0008 */ lw $t7, 8($v1) -/* 0A0DC0 7F06C290 24420001 */ addiu $v0, $v0, 1 -/* 0A0DC4 7F06C294 0045082A */ slt $at, $v0, $a1 -/* 0A0DC8 7F06C298 15E00003 */ bnez $t7, .L7F06C2A8 -/* 0A0DCC 7F06C29C 246300BC */ addiu $v1, $v1, 0xbc -/* 0A0DD0 7F06C2A0 10000003 */ b .L7F06C2B0 -/* 0A0DD4 7F06C2A4 00878021 */ addu $s0, $a0, $a3 -.L7F06C2A8: -/* 0A0DD8 7F06C2A8 1420FFF8 */ bnez $at, .L7F06C28C -/* 0A0DDC 7F06C2AC 248400BC */ addiu $a0, $a0, 0xbc -.L7F06C2B0: -/* 0A0DE0 7F06C2B0 16000006 */ bnez $s0, .L7F06C2CC -/* 0A0DE4 7F06C2B4 240400C0 */ li $a0, 192 -/* 0A0DE8 7F06C2B8 24050004 */ li $a1, 4 -/* 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 -.L7F06C2CC: -/* 0A0DFC 7F06C2CC 8FB80030 */ lw $t8, 0x30($sp) -/* 0A0E00 7F06C2D0 24050004 */ li $a1, 4 -/* 0A0E04 7F06C2D4 87060014 */ lh $a2, 0x14($t8) -/* 0A0E08 7F06C2D8 18C00029 */ blez $a2, .L7F06C380 -/* 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 mempAllocBytesInBank -/* 0A0E1C 7F06C2EC 3B24000F */ xori $a0, $t9, 0xf -/* 0A0E20 7F06C2F0 8FAA0030 */ lw $t2, 0x30($sp) -/* 0A0E24 7F06C2F4 AFA20028 */ sw $v0, 0x28($sp) -/* 0A0E28 7F06C2F8 10000021 */ b .L7F06C380 -/* 0A0E2C 7F06C2FC 85480014 */ lh $t0, 0x14($t2) -.L7F06C300: -/* 0A0E30 7F06C300 3C058003 */ lui $a1, %hi(D_80036070) -/* 0A0E34 7F06C304 8CA56070 */ lw $a1, %lo(D_80036070)($a1) -/* 0A0E38 7F06C308 8FAB0030 */ lw $t3, 0x30($sp) -/* 0A0E3C 7F06C30C 00001825 */ move $v1, $zero -/* 0A0E40 7F06C310 18A0001B */ blez $a1, .L7F06C380 -/* 0A0E44 7F06C314 85660014 */ lh $a2, 0x14($t3) -/* 0A0E48 7F06C318 3C078008 */ lui $a3, %hi(ptr_allocation_0) -/* 0A0E4C 7F06C31C 8CE79930 */ lw $a3, %lo(ptr_allocation_0)($a3) -/* 0A0E50 7F06C320 00002025 */ move $a0, $zero -/* 0A0E54 7F06C324 00E01025 */ move $v0, $a3 -.L7F06C328: -/* 0A0E58 7F06C328 8C4C0008 */ lw $t4, 8($v0) -/* 0A0E5C 7F06C32C 24630001 */ addiu $v1, $v1, 1 -/* 0A0E60 7F06C330 55800010 */ bnezl $t4, .L7F06C374 -/* 0A0E64 7F06C334 0065082A */ slt $at, $v1, $a1 -/* 0A0E68 7F06C338 58C00009 */ blezl $a2, .L7F06C360 -/* 0A0E6C 7F06C33C 8C4F0010 */ lw $t7, 0x10($v0) -/* 0A0E70 7F06C340 8C4D0010 */ lw $t5, 0x10($v0) -/* 0A0E74 7F06C344 51A0000B */ beql $t5, $zero, .L7F06C374 -/* 0A0E78 7F06C348 0065082A */ slt $at, $v1, $a1 -/* 0A0E7C 7F06C34C 844E0002 */ lh $t6, 2($v0) -/* 0A0E80 7F06C350 01C6082A */ slt $at, $t6, $a2 -/* 0A0E84 7F06C354 54200007 */ bnezl $at, .L7F06C374 -/* 0A0E88 7F06C358 0065082A */ slt $at, $v1, $a1 -/* 0A0E8C 7F06C35C 8C4F0010 */ lw $t7, 0x10($v0) -.L7F06C360: -/* 0A0E90 7F06C360 00878021 */ addu $s0, $a0, $a3 -/* 0A0E94 7F06C364 AFAF0028 */ sw $t7, 0x28($sp) -/* 0A0E98 7F06C368 10000005 */ b .L7F06C380 -/* 0A0E9C 7F06C36C 84480002 */ lh $t0, 2($v0) -/* 0A0EA0 7F06C370 0065082A */ slt $at, $v1, $a1 -.L7F06C374: -/* 0A0EA4 7F06C374 248400BC */ addiu $a0, $a0, 0xbc -/* 0A0EA8 7F06C378 1420FFEB */ bnez $at, .L7F06C328 -/* 0A0EAC 7F06C37C 244200BC */ addiu $v0, $v0, 0xbc -.L7F06C380: -/* 0A0EB0 7F06C380 12000007 */ beqz $s0, .L7F06C3A0 -/* 0A0EB4 7F06C384 02002025 */ move $a0, $s0 -/* 0A0EB8 7F06C388 8FA50030 */ lw $a1, 0x30($sp) -/* 0A0EBC 7F06C38C 8FA60028 */ lw $a2, 0x28($sp) -/* 0A0EC0 7F06C390 0FC1D7EB */ jal sub_GAME_7F075FAC -/* 0A0EC4 7F06C394 A7A80026 */ sh $t0, 0x26($sp) -/* 0A0EC8 7F06C398 87A80026 */ lh $t0, 0x26($sp) -/* 0A0ECC 7F06C39C A6080002 */ sh $t0, 2($s0) -.L7F06C3A0: -/* 0A0ED0 7F06C3A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A0ED4 7F06C3A4 02001025 */ move $v0, $s0 -/* 0A0ED8 7F06C3A8 8FB00018 */ lw $s0, 0x18($sp) -/* 0A0EDC 7F06C3AC 03E00008 */ jr $ra -/* 0A0EE0 7F06C3B0 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C3B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C3B4 -/* 0A0EE4 7F06C3B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A0EE8 7F06C3B8 AFA60020 */ sw $a2, 0x20($sp) -/* 0A0EEC 7F06C3BC 00A03025 */ move $a2, $a1 -/* 0A0EF0 7F06C3C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A0EF4 7F06C3C4 AFA5001C */ sw $a1, 0x1c($sp) -/* 0A0EF8 7F06C3C8 8C850008 */ lw $a1, 8($a0) -/* 0A0EFC 7F06C3CC AFA40018 */ sw $a0, 0x18($sp) -/* 0A0F00 7F06C3D0 0FC1D80C */ jal sub_GAME_7F076030 -/* 0A0F04 7F06C3D4 8FA70020 */ lw $a3, 0x20($sp) -/* 0A0F08 7F06C3D8 8FAE0020 */ lw $t6, 0x20($sp) -/* 0A0F0C 7F06C3DC 8FA40018 */ lw $a0, 0x18($sp) -/* 0A0F10 7F06C3E0 0FC1D74B */ jal unknown_object_microcode_handler -/* 0A0F14 7F06C3E4 8DC50000 */ lw $a1, ($t6) -/* 0A0F18 7F06C3E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A0F1C 7F06C3EC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A0F20 7F06C3F0 03E00008 */ jr $ra -/* 0A0F24 7F06C3F4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_aircraft_obj_inst_scale_to_zero(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_aircraft_obj_inst_scale_to_zero -/* 0A0F28 7F06C3F8 03E00008 */ jr $ra -/* 0A0F2C 7F06C3FC AC800008 */ sw $zero, 8($a0) -) -#endif - - - - - -void set_80036084(s32 param_1) { - D_80036084 = param_1; -} - -void set_float_80036088(f32 param_1) { - D_80036088 = param_1; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C418(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C418 -/* 0A0F48 7F06C418 00803025 */ move $a2, $a0 -/* 0A0F4C 7F06C41C 24040004 */ li $a0, 4 -/* 0A0F50 7F06C420 00001025 */ move $v0, $zero -/* 0A0F54 7F06C424 00A01825 */ move $v1, $a1 -.L7F06C428: -/* 0A0F58 7F06C428 8CCE0000 */ lw $t6, ($a2) -/* 0A0F5C 7F06C42C 24420001 */ addiu $v0, $v0, 1 -/* 0A0F60 7F06C430 24630010 */ addiu $v1, $v1, 0x10 -/* 0A0F64 7F06C434 AC6EFFF0 */ sw $t6, -0x10($v1) -/* 0A0F68 7F06C438 8CCF0004 */ lw $t7, 4($a2) -/* 0A0F6C 7F06C43C 24C60010 */ addiu $a2, $a2, 0x10 -/* 0A0F70 7F06C440 AC6FFFF4 */ sw $t7, -0xc($v1) -/* 0A0F74 7F06C444 8CD8FFF8 */ lw $t8, -8($a2) -/* 0A0F78 7F06C448 AC78FFF8 */ sw $t8, -8($v1) -/* 0A0F7C 7F06C44C 8CD9FFFC */ lw $t9, -4($a2) -/* 0A0F80 7F06C450 1444FFF5 */ bne $v0, $a0, .L7F06C428 -/* 0A0F84 7F06C454 AC79FFFC */ sw $t9, -4($v1) -/* 0A0F88 7F06C458 03E00008 */ jr $ra -/* 0A0F8C 7F06C45C 00000000 */ nop -) -#endif - - - - - -void set_8003608C(s32 param_1) { - D_8003608C = param_1; -} - -void return_null(void) { - return; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C474(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C474 -/* 0A0FA4 7F06C474 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A0FA8 7F06C478 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A0FAC 7F06C47C AFA40030 */ sw $a0, 0x30($sp) -/* 0A0FB0 7F06C480 0FC1B1A8 */ jal getsubmatrix -/* 0A0FB4 7F06C484 AFA50034 */ sw $a1, 0x34($sp) -/* 0A0FB8 7F06C488 C44E0030 */ lwc1 $f14, 0x30($v0) -/* 0A0FBC 7F06C48C C4500034 */ lwc1 $f16, 0x34($v0) -/* 0A0FC0 7F06C490 C4520038 */ lwc1 $f18, 0x38($v0) -/* 0A0FC4 7F06C494 46007387 */ neg.s $f14, $f14 -/* 0A0FC8 7F06C498 46008407 */ neg.s $f16, $f16 -/* 0A0FCC 7F06C49C 460E7102 */ mul.s $f4, $f14, $f14 -/* 0A0FD0 7F06C4A0 46009487 */ neg.s $f18, $f18 -/* 0A0FD4 7F06C4A4 E7B00020 */ swc1 $f16, 0x20($sp) -/* 0A0FD8 7F06C4A8 46108182 */ mul.s $f6, $f16, $f16 -/* 0A0FDC 7F06C4AC E7B2001C */ swc1 $f18, 0x1c($sp) -/* 0A0FE0 7F06C4B0 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 0A0FE4 7F06C4B4 46129282 */ mul.s $f10, $f18, $f18 -/* 0A0FE8 7F06C4B8 46062200 */ add.s $f8, $f4, $f6 -/* 0A0FEC 7F06C4BC 0C007DF8 */ jal sqrtf -/* 0A0FF0 7F06C4C0 460A4300 */ add.s $f12, $f8, $f10 -/* 0A0FF4 7F06C4C4 44801000 */ mtc1 $zero, $f2 -/* 0A0FF8 7F06C4C8 8FA50034 */ lw $a1, 0x34($sp) -/* 0A0FFC 7F06C4CC C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 0A1000 7F06C4D0 4600103C */ c.lt.s $f2, $f0 -/* 0A1004 7F06C4D4 C7B00020 */ lwc1 $f16, 0x20($sp) -/* 0A1008 7F06C4D8 C7B2001C */ lwc1 $f18, 0x1c($sp) -/* 0A100C 7F06C4DC 8FAE0030 */ lw $t6, 0x30($sp) -/* 0A1010 7F06C4E0 45020010 */ bc1fl .L7F06C524 -/* 0A1014 7F06C4E4 E4A20000 */ swc1 $f2, ($a1) -/* 0A1018 7F06C4E8 C5C60014 */ lwc1 $f6, 0x14($t6) -/* 0A101C 7F06C4EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A1020 7F06C4F0 44812000 */ mtc1 $at, $f4 -/* 0A1024 7F06C4F4 46003202 */ mul.s $f8, $f6, $f0 -/* 0A1028 7F06C4F8 46082083 */ div.s $f2, $f4, $f8 -/* 0A102C 7F06C4FC 46027282 */ mul.s $f10, $f14, $f2 -/* 0A1030 7F06C500 00000000 */ nop -/* 0A1034 7F06C504 46028182 */ mul.s $f6, $f16, $f2 -/* 0A1038 7F06C508 00000000 */ nop -/* 0A103C 7F06C50C 46029102 */ mul.s $f4, $f18, $f2 -/* 0A1040 7F06C510 E4AA0000 */ swc1 $f10, ($a1) -/* 0A1044 7F06C514 E4A60004 */ swc1 $f6, 4($a1) -/* 0A1048 7F06C518 10000009 */ b .L7F06C540 -/* 0A104C 7F06C51C E4A40008 */ swc1 $f4, 8($a1) -/* 0A1050 7F06C520 E4A20000 */ swc1 $f2, ($a1) -.L7F06C524: -/* 0A1054 7F06C524 E4A20004 */ swc1 $f2, 4($a1) -/* 0A1058 7F06C528 8FAF0030 */ lw $t7, 0x30($sp) -/* 0A105C 7F06C52C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A1060 7F06C530 44814000 */ mtc1 $at, $f8 -/* 0A1064 7F06C534 C5EA0014 */ lwc1 $f10, 0x14($t7) -/* 0A1068 7F06C538 460A4183 */ div.s $f6, $f8, $f10 -/* 0A106C 7F06C53C E4A60008 */ swc1 $f6, 8($a1) -.L7F06C540: -/* 0A1070 7F06C540 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A1074 7F06C544 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0A1078 7F06C548 03E00008 */ jr $ra -/* 0A107C 7F06C54C 00000000 */ nop -) -#endif - - - - - -void sub_GAME_7F06C550(void) { - sub_GAME_7F06C474(); -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C570(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C570 -/* 0A10A0 7F06C570 10800038 */ beqz $a0, .L7F06C654 -/* 0A10A4 7F06C574 00A03025 */ move $a2, $a1 -/* 0A10A8 7F06C578 24080015 */ li $t0, 21 -/* 0A10AC 7F06C57C 24070003 */ li $a3, 3 -/* 0A10B0 7F06C580 24050002 */ li $a1, 2 -/* 0A10B4 7F06C584 24020001 */ li $v0, 1 -/* 0A10B8 7F06C588 94830000 */ lhu $v1, ($a0) -.L7F06C58C: -/* 0A10BC 7F06C58C 306E00FF */ andi $t6, $v1, 0xff -/* 0A10C0 7F06C590 51C2000A */ beql $t6, $v0, .L7F06C5BC -/* 0A10C4 7F06C594 8C830004 */ lw $v1, 4($a0) -/* 0A10C8 7F06C598 51C5000B */ beql $t6, $a1, .L7F06C5C8 -/* 0A10CC 7F06C59C 24010200 */ li $at, 512 -/* 0A10D0 7F06C5A0 51C70018 */ beql $t6, $a3, .L7F06C604 -/* 0A10D4 7F06C5A4 24010200 */ li $at, 512 -/* 0A10D8 7F06C5A8 51C80025 */ beql $t6, $t0, .L7F06C640 -/* 0A10DC 7F06C5AC 8C830004 */ lw $v1, 4($a0) -/* 0A10E0 7F06C5B0 10000026 */ b .L7F06C64C -/* 0A10E4 7F06C5B4 8C840008 */ lw $a0, 8($a0) -/* 0A10E8 7F06C5B8 8C830004 */ lw $v1, 4($a0) -.L7F06C5BC: -/* 0A10EC 7F06C5BC 03E00008 */ jr $ra -/* 0A10F0 7F06C5C0 84620002 */ lh $v0, 2($v1) - -/* 0A10F4 7F06C5C4 24010200 */ li $at, 512 -.L7F06C5C8: -/* 0A10F8 7F06C5C8 14C10003 */ bne $a2, $at, .L7F06C5D8 -/* 0A10FC 7F06C5CC 8C850004 */ lw $a1, 4($a0) -/* 0A1100 7F06C5D0 10000007 */ b .L7F06C5F0 -/* 0A1104 7F06C5D4 24030002 */ li $v1, 2 -.L7F06C5D8: -/* 0A1108 7F06C5D8 24010100 */ li $at, 256 -/* 0A110C 7F06C5DC 14C10003 */ bne $a2, $at, .L7F06C5EC -/* 0A1110 7F06C5E0 00001025 */ move $v0, $zero -/* 0A1114 7F06C5E4 10000001 */ b .L7F06C5EC -/* 0A1118 7F06C5E8 24020001 */ li $v0, 1 -.L7F06C5EC: -/* 0A111C 7F06C5EC 00401825 */ move $v1, $v0 -.L7F06C5F0: -/* 0A1120 7F06C5F0 00037840 */ sll $t7, $v1, 1 -/* 0A1124 7F06C5F4 00AFC021 */ addu $t8, $a1, $t7 -/* 0A1128 7F06C5F8 03E00008 */ jr $ra -/* 0A112C 7F06C5FC 8702000E */ lh $v0, 0xe($t8) - -/* 0A1130 7F06C600 24010200 */ li $at, 512 -.L7F06C604: -/* 0A1134 7F06C604 14C10003 */ bne $a2, $at, .L7F06C614 -/* 0A1138 7F06C608 8C850004 */ lw $a1, 4($a0) -/* 0A113C 7F06C60C 10000007 */ b .L7F06C62C -/* 0A1140 7F06C610 24030002 */ li $v1, 2 -.L7F06C614: -/* 0A1144 7F06C614 24010100 */ li $at, 256 -/* 0A1148 7F06C618 14C10003 */ bne $a2, $at, .L7F06C628 -/* 0A114C 7F06C61C 00001025 */ move $v0, $zero -/* 0A1150 7F06C620 10000001 */ b .L7F06C628 -/* 0A1154 7F06C624 24020001 */ li $v0, 1 -.L7F06C628: -/* 0A1158 7F06C628 00401825 */ move $v1, $v0 -.L7F06C62C: -/* 0A115C 7F06C62C 0003C840 */ sll $t9, $v1, 1 -/* 0A1160 7F06C630 00B94821 */ addu $t1, $a1, $t9 -/* 0A1164 7F06C634 03E00008 */ jr $ra -/* 0A1168 7F06C638 8522000E */ lh $v0, 0xe($t1) - -/* 0A116C 7F06C63C 8C830004 */ lw $v1, 4($a0) -.L7F06C640: -/* 0A1170 7F06C640 03E00008 */ jr $ra -/* 0A1174 7F06C644 8462000C */ lh $v0, 0xc($v1) - -/* 0A1178 7F06C648 8C840008 */ lw $a0, 8($a0) -.L7F06C64C: -/* 0A117C 7F06C64C 5480FFCF */ bnezl $a0, .L7F06C58C -/* 0A1180 7F06C650 94830000 */ lhu $v1, ($a0) -.L7F06C654: -/* 0A1184 7F06C654 2402FFFF */ li $v0, -1 -/* 0A1188 7F06C658 03E00008 */ jr $ra -/* 0A118C 7F06C65C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C660(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C660 -/* 0A1190 7F06C660 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A1194 7F06C664 AFA40018 */ sw $a0, 0x18($sp) -/* 0A1198 7F06C668 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A119C 7F06C66C 00A02025 */ move $a0, $a1 -/* 0A11A0 7F06C670 0FC1B15C */ jal sub_GAME_7F06C570 -/* 0A11A4 7F06C674 00C02825 */ move $a1, $a2 -/* 0A11A8 7F06C678 04400006 */ bltz $v0, .L7F06C694 -/* 0A11AC 7F06C67C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A11B0 7F06C680 8FAE0018 */ lw $t6, 0x18($sp) -/* 0A11B4 7F06C684 0002C180 */ sll $t8, $v0, 6 -/* 0A11B8 7F06C688 8DCF000C */ lw $t7, 0xc($t6) -/* 0A11BC 7F06C68C 10000002 */ b .L7F06C698 -/* 0A11C0 7F06C690 01F81021 */ addu $v0, $t7, $t8 -.L7F06C694: -/* 0A11C4 7F06C694 00001025 */ move $v0, $zero -.L7F06C698: -/* 0A11C8 7F06C698 03E00008 */ jr $ra -/* 0A11CC 7F06C69C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - diff --git a/src/game/objecthandler.h b/src/game/objecthandler.h deleted file mode 100644 index 804d831..0000000 --- a/src/game/objecthandler.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _OBJECTHANDLER_ -#define _OBJECTHANDLER_ -#include "ultra64.h" - -extern s32 D_80036410; -extern s32 D_80036414; -extern s32 D_80036418; -extern s32 D_8003641C; - -#endif diff --git a/src/game/objecthandler_2.c b/src/game/objecthandler_2.c deleted file mode 100644 index 8f49868..0000000 --- a/src/game/objecthandler_2.c +++ /dev/null @@ -1,13457 +0,0 @@ -#include "ultra64.h" - -//D:80054600 -const char aGetsubmatrixNoObjinst[] = "getsubmatrix: no objinst!\n"; -//D:8005461C -const char aGetsubmatrixObjinstHasNoObject[] = "getsubmatrix: objinst has no object!\n"; -//D:80054644 -const char aGetpartoffsetNoObjinst[] = "getpartoffset: no objinst!"; -//D:80054660 -const char aGetpartoffsetNoPartdesc[] = "getpartoffset: no partdesc!"; -//D:8005467C -const char aSetpartoffsetNoObjinst[] = "setpartoffset: no objinst!"; -//D:80054698 -const char aSetpartoffsetNoPartdesc[] = "setpartoffset: no partdesc!"; -//D:800546B4 -const char aGetsuboffsetNoObjinst[] = "getsuboffset: no objinst!"; -//D:800546D0 -const char aGetsuboffsetObjinstHasNoObject[] = "getsuboffset: objinst has no object!"; -//D:800546F8 -const char aSetsuboffsetNoObjinst[] = "setsuboffset: no objinst!"; -//D:80054714 -const char aSetsuboffsetObjinstHasNoObject[] = "setsuboffset: objinst has no object!"; -//D:8005473C -const char aGetsubrotyNoObjinst[] = "getsubroty: no objinst!"; -//D:80054754 -const char aGetsubrotyObjinstHasNoObject[] = "getsubroty: objinst has no object!"; -//D:80054778 -const char aGetsubrotyObjinstHasNoRootPart[] = "getsubroty: objinst has no root part!"; -//D:800547A0 -const char aSetsubrotyNoObjinst[] = "setsubroty: no objinst!"; -//D:800547B8 -const char aSetsubrotyObjinstHasNoObject[] = "setsubroty: objinst has no object!"; -//D:800547DC -const char aSetsubrotyObjinstHasNoRootPart[] = "setsubroty: objinst has no root part!"; -//D:80054804 -const char aGetjointsizeNoObjinst[] = "getjointsize: no objinst!\n"; -//D:80054820 -const char aGetinstsizeNoObjinst[] = "getinstsize: no objinst!\n"; -//D:8005483C -const char aGetinstsizeNoObjdesc[] = "getinstsize: no objdesc!\n"; -//D:80054858 -const char aSubcalcposNoObjanim[] = "subcalcpos: no objanim!\n"; -//D:80054874 -const char aSubcalcposNoObjdesc[] = "subcalcpos: no objdesc!\n"; -//D:80054890 -const char aInstcalcmatricesNoObjinst[] = "instcalcmatrices: no objinst!\n"; -//D:800548B0 -const char aInstcalcmatricesNoBasemtx[] = "instcalcmatrices: no basemtx!\n"; -//D:800548D0 -const char aInstcalcmatricesNoMtxlist[] = "instcalcmatrices: no mtxlist!\n"; -//D:800548F0 -const char aSubcalcmatricesNoObjanim[] = "subcalcmatrices: no objanim!\n"; -//D:80054910 -const char aSubcalcmatricesNoBasemtx[] = "subcalcmatrices: no basemtx!\n"; -//D:80054930 -const char aSubcalcmatricesNoMtxlist[] = "subcalcmatrices: no mtxlist!\n"; -//D:80054950 -const char aSubcalcmatricesNoAttachForObjinst[] = "subcalcmatrices: no attach for objinst!\n"; -//D:8005497C -const char aSubcalcmatricesFrameaOutOfRange[] = "subcalcmatrices: framea out of range!\n"; -//D:800549A4 -const char aSubcalcmatricesFramebOutOfRange[] = "subcalcmatrices: frameb out of range!\n"; -//D:800549CC -const char aSubcalcmatricesNoAnim2[] = "subcalcmatrices: no anim2!\n"; -//D:800549E8 -const char aSubcalcmatricesFrame2aOutOfRange[] = "subcalcmatrices: frame2a out of range!\n"; -//D:80054A10 -const char aSubcalcmatricesFrame2bOutOfRange[] = "subcalcmatrices: frame2b out of range!\n"; -//D:80054A38 -const char aDorottexNoVtxAllocator[] = "dorottex: no vtx allocator!\n"; -//D:80054A58 -const char aDotubeNoVtxAllocator[] = "dotube: no vtx allocator!\n"; -//D:80054A74 -const char aDogfnegxNoVtxAllocator[] = "dogfnegx: no vtx allocator!\n"; -//D:80054A94 -const char aDoshadowNoVtxAllocator[] = "doshadow: no vtx allocator!\n"; -//D:80054AB4 -const char aSubdrawNoGfxlist[] = "subdraw: no gfxlist!\n"; -//D:80054ACC -const char aSubdrawObjectNotInitialised0xX[] = "subdraw: object not initialised! (0x%X)\n"; - -/* -*/ - -/* -*/ - -/* -*/ - -/* -*/ - - -#ifdef NONMATCHING -void getsubmatrix(void) { - -} -#else -GLOBAL_ASM( -.late_rodata - - -.text -glabel getsubmatrix -/* 0A11D0 7F06C6A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A11D4 7F06C6A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A11D8 7F06C6A8 14800006 */ bnez $a0, .L7F06C6C4 -/* 0A11DC 7F06C6AC AFA40018 */ sw $a0, 0x18($sp) -/* 0A11E0 7F06C6B0 3C048005 */ lui $a0, %hi(aGetsubmatrixNoObjinst) -/* 0A11E4 7F06C6B4 0C0033D1 */ jal osSyncPrintf -/* 0A11E8 7F06C6B8 24844600 */ addiu $a0, %lo(aGetsubmatrixNoObjinst) # addiu $a0, $a0, 0x4600 -/* 0A11EC 7F06C6BC 0FC1B11B */ jal return_null -/* 0A11F0 7F06C6C0 00000000 */ nop -.L7F06C6C4: -/* 0A11F4 7F06C6C4 8FAF0018 */ lw $t7, 0x18($sp) -/* 0A11F8 7F06C6C8 3C048005 */ lui $a0, %hi(aGetsubmatrixObjinstHasNoObject) -/* 0A11FC 7F06C6CC 8DE20008 */ lw $v0, 8($t7) -/* 0A1200 7F06C6D0 54400008 */ bnezl $v0, .L7F06C6F4 -/* 0A1204 7F06C6D4 8FA40018 */ lw $a0, 0x18($sp) -/* 0A1208 7F06C6D8 0C0033D1 */ jal osSyncPrintf -/* 0A120C 7F06C6DC 2484461C */ addiu $a0, $a0, %lo(aGetsubmatrixObjinstHasNoObject) -/* 0A1210 7F06C6E0 0FC1B11B */ jal return_null -/* 0A1214 7F06C6E4 00000000 */ nop -/* 0A1218 7F06C6E8 8FB80018 */ lw $t8, 0x18($sp) -/* 0A121C 7F06C6EC 8F020008 */ lw $v0, 8($t8) -/* 0A1220 7F06C6F0 8FA40018 */ lw $a0, 0x18($sp) -.L7F06C6F4: -/* 0A1224 7F06C6F4 8C450000 */ lw $a1, ($v0) -/* 0A1228 7F06C6F8 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A122C 7F06C6FC 00003025 */ move $a2, $zero -/* 0A1230 7F06C700 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A1234 7F06C704 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A1238 7F06C708 03E00008 */ jr $ra -/* 0A123C 7F06C70C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C710(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C710 -/* 0A1240 7F06C710 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A1244 7F06C714 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A1248 7F06C718 0FC1B1A8 */ jal getsubmatrix -/* 0A124C 7F06C71C AFA5001C */ sw $a1, 0x1c($sp) -/* 0A1250 7F06C720 10400008 */ beqz $v0, .L7F06C744 -/* 0A1254 7F06C724 8FA5001C */ lw $a1, 0x1c($sp) -/* 0A1258 7F06C728 C4440030 */ lwc1 $f4, 0x30($v0) -/* 0A125C 7F06C72C E4A40000 */ swc1 $f4, ($a1) -/* 0A1260 7F06C730 C4460034 */ lwc1 $f6, 0x34($v0) -/* 0A1264 7F06C734 E4A60004 */ swc1 $f6, 4($a1) -/* 0A1268 7F06C738 C4480038 */ lwc1 $f8, 0x38($v0) -/* 0A126C 7F06C73C 10000006 */ b .L7F06C758 -/* 0A1270 7F06C740 E4A80008 */ swc1 $f8, 8($a1) -.L7F06C744: -/* 0A1274 7F06C744 44800000 */ mtc1 $zero, $f0 -/* 0A1278 7F06C748 00000000 */ nop -/* 0A127C 7F06C74C E4A00000 */ swc1 $f0, ($a1) -/* 0A1280 7F06C750 E4A00004 */ swc1 $f0, 4($a1) -/* 0A1284 7F06C754 E4A00008 */ swc1 $f0, 8($a1) -.L7F06C758: -/* 0A1288 7F06C758 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A128C 7F06C75C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A1290 7F06C760 03E00008 */ jr $ra -/* 0A1294 7F06C764 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06C768(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06C768 -/* 0A1298 7F06C768 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A129C 7F06C76C AFBF0014 */ sw $ra, 0x14($sp) -/* 0A12A0 7F06C770 0FC1B1A8 */ jal getsubmatrix -/* 0A12A4 7F06C774 00000000 */ nop -/* 0A12A8 7F06C778 10400004 */ beqz $v0, .L7F06C78C -/* 0A12AC 7F06C77C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A12B0 7F06C780 C4400038 */ lwc1 $f0, 0x38($v0) -/* 0A12B4 7F06C784 10000003 */ b .L7F06C794 -/* 0A12B8 7F06C788 46000007 */ neg.s $f0, $f0 -.L7F06C78C: -/* 0A12BC 7F06C78C 44800000 */ mtc1 $zero, $f0 -/* 0A12C0 7F06C790 00000000 */ nop -.L7F06C794: -/* 0A12C4 7F06C794 03E00008 */ jr $ra -/* 0A12C8 7F06C798 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void extract_id_from_object_structure_microcode(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054AF8*/ -glabel jpt_obj_struct_microcode_id -.word .L7F06C7D8 -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C7F0 -.word .L7F06C7FC -.word .L7F06C814 -.word .L7F06C840 -.word .L7F06C820 -.word .L7F06C82C -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C808 -.word .L7F06C840 -.word .L7F06C840 -/*.word .L7F06C840*/ -/*.word .L7F06C840*/ -/*.word .L7F06C838*/ -/*.word .L7F06C7E4*/ - -.text -glabel extract_id_from_object_structure_microcode -/* 0A12CC 7F06C79C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A12D0 7F06C7A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A12D4 7F06C7A4 94AE0000 */ lhu $t6, ($a1) -/* 0A12D8 7F06C7A8 00003025 */ move $a2, $zero -/* 0A12DC 7F06C7AC 8C870010 */ lw $a3, 0x10($a0) -/* 0A12E0 7F06C7B0 31CF00FF */ andi $t7, $t6, 0xff -/* 0A12E4 7F06C7B4 25F8FFFF */ addiu $t8, $t7, -1 -/* 0A12E8 7F06C7B8 2F010018 */ sltiu $at, $t8, 0x18 -/* 0A12EC 7F06C7BC 10200020 */ beqz $at, .L7F06C840 -/* 0A12F0 7F06C7C0 0018C080 */ sll $t8, $t8, 2 -/* 0A12F4 7F06C7C4 3C018005 */ lui $at, %hi(jpt_obj_struct_microcode_id) -/* 0A12F8 7F06C7C8 00380821 */ addu $at, $at, $t8 -/* 0A12FC 7F06C7CC 8C384AF8 */ lw $t8, %lo(jpt_obj_struct_microcode_id)($at) -.L7F06C7D0: -/* 0A1300 7F06C7D0 03000008 */ jr $t8 -/* 0A1304 7F06C7D4 00000000 */ nop -.L7F06C7D8: -/* 0A1308 7F06C7D8 8CB90004 */ lw $t9, 4($a1) -/* 0A130C 7F06C7DC 10000018 */ b .L7F06C840 -/* 0A1310 7F06C7E0 9726000C */ lhu $a2, 0xc($t9) -.L7F06C7E4: -/* 0A1314 7F06C7E4 8CA80004 */ lw $t0, 4($a1) -/* 0A1318 7F06C7E8 10000015 */ b .L7F06C840 -/* 0A131C 7F06C7EC 9506001A */ lhu $a2, 0x1a($t0) -.L7F06C7F0: -/* 0A1320 7F06C7F0 8CA90004 */ lw $t1, 4($a1) -/* 0A1324 7F06C7F4 10000012 */ b .L7F06C840 -/* 0A1328 7F06C7F8 952601AA */ lhu $a2, 0x1aa($t1) -.L7F06C7FC: -/* 0A132C 7F06C7FC 8CAA0004 */ lw $t2, 4($a1) -/* 0A1330 7F06C800 1000000F */ b .L7F06C840 -/* 0A1334 7F06C804 9546000C */ lhu $a2, 0xc($t2) -.L7F06C808: -/* 0A1338 7F06C808 8CAB0004 */ lw $t3, 4($a1) -/* 0A133C 7F06C80C 1000000C */ b .L7F06C840 -/* 0A1340 7F06C810 95660004 */ lhu $a2, 4($t3) -.L7F06C814: -/* 0A1344 7F06C814 8CAC0004 */ lw $t4, 4($a1) -/* 0A1348 7F06C818 10000009 */ b .L7F06C840 -/* 0A134C 7F06C81C 95860022 */ lhu $a2, 0x22($t4) -.L7F06C820: -/* 0A1350 7F06C820 8CAD0004 */ lw $t5, 4($a1) -/* 0A1354 7F06C824 10000006 */ b .L7F06C840 -/* 0A1358 7F06C828 95A60044 */ lhu $a2, 0x44($t5) -.L7F06C82C: -/* 0A135C 7F06C82C 8CAE0004 */ lw $t6, 4($a1) -/* 0A1360 7F06C830 10000003 */ b .L7F06C840 -/* 0A1364 7F06C834 95C60020 */ lhu $a2, 0x20($t6) -.L7F06C838: -/* 0A1368 7F06C838 8CAF0004 */ lw $t7, 4($a1) -/* 0A136C 7F06C83C 95E60000 */ lhu $a2, ($t7) -def_7F06C7D0: -.L7F06C840: -/* 0A1370 7F06C840 8CA20008 */ lw $v0, 8($a1) -/* 0A1374 7F06C844 24030017 */ li $v1, 23 -/* 0A1378 7F06C848 5040000F */ beql $v0, $zero, .L7F06C888 -/* 0A137C 7F06C84C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A1380 7F06C850 94580000 */ lhu $t8, ($v0) -.L7F06C854: -/* 0A1384 7F06C854 00402825 */ move $a1, $v0 -/* 0A1388 7F06C858 331900FF */ andi $t9, $t8, 0xff -/* 0A138C 7F06C85C 54790007 */ bnel $v1, $t9, .L7F06C87C -/* 0A1390 7F06C860 8CA20008 */ lw $v0, 8($a1) -/* 0A1394 7F06C864 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A1398 7F06C868 AFA6001C */ sw $a2, 0x1c($sp) -/* 0A139C 7F06C86C 8FA6001C */ lw $a2, 0x1c($sp) -/* 0A13A0 7F06C870 10000004 */ b .L7F06C884 -/* 0A13A4 7F06C874 8C470004 */ lw $a3, 4($v0) -/* 0A13A8 7F06C878 8CA20008 */ lw $v0, 8($a1) -.L7F06C87C: -/* 0A13AC 7F06C87C 5440FFF5 */ bnezl $v0, .L7F06C854 -/* 0A13B0 7F06C880 94580000 */ lhu $t8, ($v0) -.L7F06C884: -/* 0A13B4 7F06C884 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06C888: -/* 0A13B8 7F06C888 00064080 */ sll $t0, $a2, 2 -/* 0A13BC 7F06C88C 01071021 */ addu $v0, $t0, $a3 -/* 0A13C0 7F06C890 03E00008 */ jr $ra -/* 0A13C4 7F06C894 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void getpartoffset(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*HACKY, above jtable too big*/ -.word .L7F06C840 -.word .L7F06C840 -.word .L7F06C838 -.word .L7F06C7E4 - -.text -glabel getpartoffset -/* 0A13C8 7F06C898 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A13CC 7F06C89C AFBF0014 */ sw $ra, 0x14($sp) -/* 0A13D0 7F06C8A0 1480000A */ bnez $a0, .L7F06C8CC -/* 0A13D4 7F06C8A4 AFA40018 */ sw $a0, 0x18($sp) -/* 0A13D8 7F06C8A8 3C048005 */ lui $a0, %hi(aGetpartoffsetNoObjinst) -/* 0A13DC 7F06C8AC 24844644 */ addiu $a0, %lo(aGetpartoffsetNoObjinst) # addiu $a0, $a0, 0x4644 -/* 0A13E0 7F06C8B0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0A13E4 7F06C8B4 0C0033D1 */ jal osSyncPrintf -/* 0A13E8 7F06C8B8 AFA60020 */ sw $a2, 0x20($sp) -/* 0A13EC 7F06C8BC 0FC1B11B */ jal return_null -/* 0A13F0 7F06C8C0 00000000 */ nop -/* 0A13F4 7F06C8C4 8FA5001C */ lw $a1, 0x1c($sp) -/* 0A13F8 7F06C8C8 8FA60020 */ lw $a2, 0x20($sp) -.L7F06C8CC: -/* 0A13FC 7F06C8CC 14A00009 */ bnez $a1, .L7F06C8F4 -/* 0A1400 7F06C8D0 3C048005 */ lui $a0, %hi(aGetpartoffsetNoPartdesc) -/* 0A1404 7F06C8D4 24844660 */ addiu $a0, %lo(aGetpartoffsetNoPartdesc) # addiu $a0, $a0, 0x4660 -/* 0A1408 7F06C8D8 AFA5001C */ sw $a1, 0x1c($sp) -/* 0A140C 7F06C8DC 0C0033D1 */ jal osSyncPrintf -/* 0A1410 7F06C8E0 AFA60020 */ sw $a2, 0x20($sp) -/* 0A1414 7F06C8E4 0FC1B11B */ jal return_null -/* 0A1418 7F06C8E8 00000000 */ nop -/* 0A141C 7F06C8EC 8FA5001C */ lw $a1, 0x1c($sp) -/* 0A1420 7F06C8F0 8FA60020 */ lw $a2, 0x20($sp) -.L7F06C8F4: -/* 0A1424 7F06C8F4 94A20000 */ lhu $v0, ($a1) -/* 0A1428 7F06C8F8 24010001 */ li $at, 1 -/* 0A142C 7F06C8FC 8FA40018 */ lw $a0, 0x18($sp) -/* 0A1430 7F06C900 304F00FF */ andi $t7, $v0, 0xff -/* 0A1434 7F06C904 11E1000D */ beq $t7, $at, .L7F06C93C -/* 0A1438 7F06C908 24010002 */ li $at, 2 -/* 0A143C 7F06C90C 11E10015 */ beq $t7, $at, .L7F06C964 -/* 0A1440 7F06C910 24010003 */ li $at, 3 -/* 0A1444 7F06C914 11E1001B */ beq $t7, $at, .L7F06C984 -/* 0A1448 7F06C918 24010015 */ li $at, 21 -/* 0A144C 7F06C91C 51E10022 */ beql $t7, $at, .L7F06C9A8 -/* 0A1450 7F06C920 8CA20004 */ lw $v0, 4($a1) -/* 0A1454 7F06C924 44800000 */ mtc1 $zero, $f0 -/* 0A1458 7F06C928 00000000 */ nop -/* 0A145C 7F06C92C E4C00000 */ swc1 $f0, ($a2) -/* 0A1460 7F06C930 E4C00004 */ swc1 $f0, 4($a2) -/* 0A1464 7F06C934 10000022 */ b .L7F06C9C0 -/* 0A1468 7F06C938 E4C00008 */ swc1 $f0, 8($a2) -.L7F06C93C: -/* 0A146C 7F06C93C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A1470 7F06C940 AFA60020 */ sw $a2, 0x20($sp) -/* 0A1474 7F06C944 8FA60020 */ lw $a2, 0x20($sp) -/* 0A1478 7F06C948 C4440008 */ lwc1 $f4, 8($v0) -/* 0A147C 7F06C94C E4C40000 */ swc1 $f4, ($a2) -/* 0A1480 7F06C950 C446000C */ lwc1 $f6, 0xc($v0) -/* 0A1484 7F06C954 E4C60004 */ swc1 $f6, 4($a2) -/* 0A1488 7F06C958 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0A148C 7F06C95C 10000018 */ b .L7F06C9C0 -/* 0A1490 7F06C960 E4C80008 */ swc1 $f8, 8($a2) -.L7F06C964: -/* 0A1494 7F06C964 8CA20004 */ lw $v0, 4($a1) -/* 0A1498 7F06C968 C44A0000 */ lwc1 $f10, ($v0) -/* 0A149C 7F06C96C E4CA0000 */ swc1 $f10, ($a2) -/* 0A14A0 7F06C970 C4500004 */ lwc1 $f16, 4($v0) -/* 0A14A4 7F06C974 E4D00004 */ swc1 $f16, 4($a2) -/* 0A14A8 7F06C978 C4520008 */ lwc1 $f18, 8($v0) -/* 0A14AC 7F06C97C 10000010 */ b .L7F06C9C0 -/* 0A14B0 7F06C980 E4D20008 */ swc1 $f18, 8($a2) -.L7F06C984: -/* 0A14B4 7F06C984 8CA20004 */ lw $v0, 4($a1) -/* 0A14B8 7F06C988 C4440000 */ lwc1 $f4, ($v0) -/* 0A14BC 7F06C98C E4C40000 */ swc1 $f4, ($a2) -/* 0A14C0 7F06C990 C4460004 */ lwc1 $f6, 4($v0) -/* 0A14C4 7F06C994 E4C60004 */ swc1 $f6, 4($a2) -/* 0A14C8 7F06C998 C4480008 */ lwc1 $f8, 8($v0) -/* 0A14CC 7F06C99C 10000008 */ b .L7F06C9C0 -/* 0A14D0 7F06C9A0 E4C80008 */ swc1 $f8, 8($a2) -/* 0A14D4 7F06C9A4 8CA20004 */ lw $v0, 4($a1) -.L7F06C9A8: -/* 0A14D8 7F06C9A8 C44A0000 */ lwc1 $f10, ($v0) -/* 0A14DC 7F06C9AC E4CA0000 */ swc1 $f10, ($a2) -/* 0A14E0 7F06C9B0 C4500004 */ lwc1 $f16, 4($v0) -/* 0A14E4 7F06C9B4 E4D00004 */ swc1 $f16, 4($a2) -/* 0A14E8 7F06C9B8 C4520008 */ lwc1 $f18, 8($v0) -/* 0A14EC 7F06C9BC E4D20008 */ swc1 $f18, 8($a2) -.L7F06C9C0: -/* 0A14F0 7F06C9C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A14F4 7F06C9C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A14F8 7F06C9C8 03E00008 */ jr $ra -/* 0A14FC 7F06C9CC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void setpartoffset(void) { - -} -#else -GLOBAL_ASM( -.text -glabel setpartoffset -/* 0A1500 7F06C9D0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0A1504 7F06C9D4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A1508 7F06C9D8 1480000A */ bnez $a0, .L7F06CA04 -/* 0A150C 7F06C9DC AFA40028 */ sw $a0, 0x28($sp) -/* 0A1510 7F06C9E0 3C048005 */ lui $a0, %hi(aSetpartoffsetNoObjinst) -/* 0A1514 7F06C9E4 2484467C */ addiu $a0, %lo(aSetpartoffsetNoObjinst) # addiu $a0, $a0, 0x467c -/* 0A1518 7F06C9E8 AFA5002C */ sw $a1, 0x2c($sp) -/* 0A151C 7F06C9EC 0C0033D1 */ jal osSyncPrintf -/* 0A1520 7F06C9F0 AFA60030 */ sw $a2, 0x30($sp) -/* 0A1524 7F06C9F4 0FC1B11B */ jal return_null -/* 0A1528 7F06C9F8 00000000 */ nop -/* 0A152C 7F06C9FC 8FA5002C */ lw $a1, 0x2c($sp) -/* 0A1530 7F06CA00 8FA60030 */ lw $a2, 0x30($sp) -.L7F06CA04: -/* 0A1534 7F06CA04 14A00009 */ bnez $a1, .L7F06CA2C -/* 0A1538 7F06CA08 3C048005 */ lui $a0, %hi(aSetpartoffsetNoPartdesc) -/* 0A153C 7F06CA0C 24844698 */ addiu $a0, %lo(aSetpartoffsetNoPartdesc) # addiu $a0, $a0, 0x4698 -/* 0A1540 7F06CA10 AFA5002C */ sw $a1, 0x2c($sp) -/* 0A1544 7F06CA14 0C0033D1 */ jal osSyncPrintf -/* 0A1548 7F06CA18 AFA60030 */ sw $a2, 0x30($sp) -/* 0A154C 7F06CA1C 0FC1B11B */ jal return_null -/* 0A1550 7F06CA20 00000000 */ nop -/* 0A1554 7F06CA24 8FA5002C */ lw $a1, 0x2c($sp) -/* 0A1558 7F06CA28 8FA60030 */ lw $a2, 0x30($sp) -.L7F06CA2C: -/* 0A155C 7F06CA2C 94A20000 */ lhu $v0, ($a1) -/* 0A1560 7F06CA30 24010001 */ li $at, 1 -/* 0A1564 7F06CA34 8FA40028 */ lw $a0, 0x28($sp) -/* 0A1568 7F06CA38 304F00FF */ andi $t7, $v0, 0xff -/* 0A156C 7F06CA3C 11E10009 */ beq $t7, $at, .L7F06CA64 -/* 0A1570 7F06CA40 24010002 */ li $at, 2 -/* 0A1574 7F06CA44 11E10039 */ beq $t7, $at, .L7F06CB2C -/* 0A1578 7F06CA48 24010003 */ li $at, 3 -/* 0A157C 7F06CA4C 11E1003F */ beq $t7, $at, .L7F06CB4C -/* 0A1580 7F06CA50 24010015 */ li $at, 21 -/* 0A1584 7F06CA54 51E10046 */ beql $t7, $at, .L7F06CB70 -/* 0A1588 7F06CA58 8CA20004 */ lw $v0, 4($a1) -/* 0A158C 7F06CA5C 1000004B */ b .L7F06CB8C -/* 0A1590 7F06CA60 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CA64: -/* 0A1594 7F06CA64 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A1598 7F06CA68 AFA60030 */ sw $a2, 0x30($sp) -/* 0A159C 7F06CA6C 8FA60030 */ lw $a2, 0x30($sp) -/* 0A15A0 7F06CA70 C4460008 */ lwc1 $f6, 8($v0) -/* 0A15A4 7F06CA74 C4C40000 */ lwc1 $f4, ($a2) -/* 0A15A8 7F06CA78 46062201 */ sub.s $f8, $f4, $f6 -/* 0A15AC 7F06CA7C E7A80018 */ swc1 $f8, 0x18($sp) -/* 0A15B0 7F06CA80 C4500010 */ lwc1 $f16, 0x10($v0) -/* 0A15B4 7F06CA84 C4CA0008 */ lwc1 $f10, 8($a2) -/* 0A15B8 7F06CA88 46105481 */ sub.s $f18, $f10, $f16 -/* 0A15BC 7F06CA8C E7B20020 */ swc1 $f18, 0x20($sp) -/* 0A15C0 7F06CA90 C4C40000 */ lwc1 $f4, ($a2) -/* 0A15C4 7F06CA94 C44A0024 */ lwc1 $f10, 0x24($v0) -/* 0A15C8 7F06CA98 E4440008 */ swc1 $f4, 8($v0) -/* 0A15CC 7F06CA9C C4C60004 */ lwc1 $f6, 4($a2) -/* 0A15D0 7F06CAA0 C444002C */ lwc1 $f4, 0x2c($v0) -/* 0A15D4 7F06CAA4 E446000C */ swc1 $f6, 0xc($v0) -/* 0A15D8 7F06CAA8 C4C80008 */ lwc1 $f8, 8($a2) -/* 0A15DC 7F06CAAC E4480010 */ swc1 $f8, 0x10($v0) -/* 0A15E0 7F06CAB0 C7B00018 */ lwc1 $f16, 0x18($sp) -/* 0A15E4 7F06CAB4 46105480 */ add.s $f18, $f10, $f16 -/* 0A15E8 7F06CAB8 C44A0034 */ lwc1 $f10, 0x34($v0) -/* 0A15EC 7F06CABC E4520024 */ swc1 $f18, 0x24($v0) -/* 0A15F0 7F06CAC0 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0A15F4 7F06CAC4 46062200 */ add.s $f8, $f4, $f6 -/* 0A15F8 7F06CAC8 C444003C */ lwc1 $f4, 0x3c($v0) -/* 0A15FC 7F06CACC E448002C */ swc1 $f8, 0x2c($v0) -/* 0A1600 7F06CAD0 C7B00018 */ lwc1 $f16, 0x18($sp) -/* 0A1604 7F06CAD4 46105480 */ add.s $f18, $f10, $f16 -/* 0A1608 7F06CAD8 C44A0040 */ lwc1 $f10, 0x40($v0) -/* 0A160C 7F06CADC E4520034 */ swc1 $f18, 0x34($v0) -/* 0A1610 7F06CAE0 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0A1614 7F06CAE4 46062200 */ add.s $f8, $f4, $f6 -/* 0A1618 7F06CAE8 C4440048 */ lwc1 $f4, 0x48($v0) -/* 0A161C 7F06CAEC E448003C */ swc1 $f8, 0x3c($v0) -/* 0A1620 7F06CAF0 C7B00018 */ lwc1 $f16, 0x18($sp) -/* 0A1624 7F06CAF4 46105480 */ add.s $f18, $f10, $f16 -/* 0A1628 7F06CAF8 C44A004C */ lwc1 $f10, 0x4c($v0) -/* 0A162C 7F06CAFC E4520040 */ swc1 $f18, 0x40($v0) -/* 0A1630 7F06CB00 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0A1634 7F06CB04 46062200 */ add.s $f8, $f4, $f6 -/* 0A1638 7F06CB08 C4440054 */ lwc1 $f4, 0x54($v0) -/* 0A163C 7F06CB0C E4480048 */ swc1 $f8, 0x48($v0) -/* 0A1640 7F06CB10 C7B00018 */ lwc1 $f16, 0x18($sp) -/* 0A1644 7F06CB14 46105480 */ add.s $f18, $f10, $f16 -/* 0A1648 7F06CB18 E452004C */ swc1 $f18, 0x4c($v0) -/* 0A164C 7F06CB1C C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0A1650 7F06CB20 46062200 */ add.s $f8, $f4, $f6 -/* 0A1654 7F06CB24 10000018 */ b .L7F06CB88 -/* 0A1658 7F06CB28 E4480054 */ swc1 $f8, 0x54($v0) -.L7F06CB2C: -/* 0A165C 7F06CB2C 8CA20004 */ lw $v0, 4($a1) -/* 0A1660 7F06CB30 C4CA0000 */ lwc1 $f10, ($a2) -/* 0A1664 7F06CB34 E44A0000 */ swc1 $f10, ($v0) -/* 0A1668 7F06CB38 C4D00004 */ lwc1 $f16, 4($a2) -/* 0A166C 7F06CB3C E4500004 */ swc1 $f16, 4($v0) -/* 0A1670 7F06CB40 C4D20008 */ lwc1 $f18, 8($a2) -/* 0A1674 7F06CB44 10000010 */ b .L7F06CB88 -/* 0A1678 7F06CB48 E4520008 */ swc1 $f18, 8($v0) -.L7F06CB4C: -/* 0A167C 7F06CB4C 8CA20004 */ lw $v0, 4($a1) -/* 0A1680 7F06CB50 C4C40000 */ lwc1 $f4, ($a2) -/* 0A1684 7F06CB54 E4440000 */ swc1 $f4, ($v0) -/* 0A1688 7F06CB58 C4C60004 */ lwc1 $f6, 4($a2) -/* 0A168C 7F06CB5C E4460004 */ swc1 $f6, 4($v0) -/* 0A1690 7F06CB60 C4C80008 */ lwc1 $f8, 8($a2) -/* 0A1694 7F06CB64 10000008 */ b .L7F06CB88 -/* 0A1698 7F06CB68 E4480008 */ swc1 $f8, 8($v0) -/* 0A169C 7F06CB6C 8CA20004 */ lw $v0, 4($a1) -.L7F06CB70: -/* 0A16A0 7F06CB70 C4CA0000 */ lwc1 $f10, ($a2) -/* 0A16A4 7F06CB74 E44A0000 */ swc1 $f10, ($v0) -/* 0A16A8 7F06CB78 C4D00004 */ lwc1 $f16, 4($a2) -/* 0A16AC 7F06CB7C E4500004 */ swc1 $f16, 4($v0) -/* 0A16B0 7F06CB80 C4D20008 */ lwc1 $f18, 8($a2) -/* 0A16B4 7F06CB84 E4520008 */ swc1 $f18, 8($v0) -.L7F06CB88: -/* 0A16B8 7F06CB88 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CB8C: -/* 0A16BC 7F06CB8C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0A16C0 7F06CB90 03E00008 */ jr $ra -/* 0A16C4 7F06CB94 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void getsuboffset(void) { - -} -#else -GLOBAL_ASM( -.text -glabel getsuboffset -/* 0A16C8 7F06CB98 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A16CC 7F06CB9C AFBF0014 */ sw $ra, 0x14($sp) -/* 0A16D0 7F06CBA0 AFA40018 */ sw $a0, 0x18($sp) -/* 0A16D4 7F06CBA4 14800006 */ bnez $a0, .L7F06CBC0 -/* 0A16D8 7F06CBA8 AFA5001C */ sw $a1, 0x1c($sp) -/* 0A16DC 7F06CBAC 3C048005 */ lui $a0, %hi(aGetsuboffsetNoObjinst) -/* 0A16E0 7F06CBB0 0C0033D1 */ jal osSyncPrintf -/* 0A16E4 7F06CBB4 248446B4 */ addiu $a0, %lo(aGetsuboffsetNoObjinst) # addiu $a0, $a0, 0x46b4 -/* 0A16E8 7F06CBB8 0FC1B11B */ jal return_null -/* 0A16EC 7F06CBBC 00000000 */ nop -.L7F06CBC0: -/* 0A16F0 7F06CBC0 8FAF0018 */ lw $t7, 0x18($sp) -/* 0A16F4 7F06CBC4 3C048005 */ lui $a0, %hi(aGetsuboffsetObjinstHasNoObject) -/* 0A16F8 7F06CBC8 8DE20008 */ lw $v0, 8($t7) -/* 0A16FC 7F06CBCC 54400008 */ bnezl $v0, .L7F06CBF0 -/* 0A1700 7F06CBD0 8FA40018 */ lw $a0, 0x18($sp) -/* 0A1704 7F06CBD4 0C0033D1 */ jal osSyncPrintf -/* 0A1708 7F06CBD8 248446D0 */ addiu $a0, $a0, %lo(aGetsuboffsetObjinstHasNoObject) -/* 0A170C 7F06CBDC 0FC1B11B */ jal return_null -/* 0A1710 7F06CBE0 00000000 */ nop -/* 0A1714 7F06CBE4 8FB80018 */ lw $t8, 0x18($sp) -/* 0A1718 7F06CBE8 8F020008 */ lw $v0, 8($t8) -/* 0A171C 7F06CBEC 8FA40018 */ lw $a0, 0x18($sp) -.L7F06CBF0: -/* 0A1720 7F06CBF0 8C450000 */ lw $a1, ($v0) -/* 0A1724 7F06CBF4 0FC1B226 */ jal getpartoffset -/* 0A1728 7F06CBF8 8FA6001C */ lw $a2, 0x1c($sp) -/* 0A172C 7F06CBFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A1730 7F06CC00 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A1734 7F06CC04 03E00008 */ jr $ra -/* 0A1738 7F06CC08 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void setsuboffset(void) { - -} -#else -GLOBAL_ASM( -.text -glabel setsuboffset -/* 0A173C 7F06CC0C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A1740 7F06CC10 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A1744 7F06CC14 AFA40018 */ sw $a0, 0x18($sp) -/* 0A1748 7F06CC18 14800006 */ bnez $a0, .L7F06CC34 -/* 0A174C 7F06CC1C AFA5001C */ sw $a1, 0x1c($sp) -/* 0A1750 7F06CC20 3C048005 */ lui $a0, %hi(aSetsuboffsetNoObjinst) -/* 0A1754 7F06CC24 0C0033D1 */ jal osSyncPrintf -/* 0A1758 7F06CC28 248446F8 */ addiu $a0, %lo(aSetsuboffsetNoObjinst) # addiu $a0, $a0, 0x46f8 -/* 0A175C 7F06CC2C 0FC1B11B */ jal return_null -/* 0A1760 7F06CC30 00000000 */ nop -.L7F06CC34: -/* 0A1764 7F06CC34 8FAF0018 */ lw $t7, 0x18($sp) -/* 0A1768 7F06CC38 3C048005 */ lui $a0, %hi(aSetsuboffsetObjinstHasNoObject) -/* 0A176C 7F06CC3C 8DE20008 */ lw $v0, 8($t7) -/* 0A1770 7F06CC40 54400008 */ bnezl $v0, .L7F06CC64 -/* 0A1774 7F06CC44 8FA40018 */ lw $a0, 0x18($sp) -/* 0A1778 7F06CC48 0C0033D1 */ jal osSyncPrintf -/* 0A177C 7F06CC4C 24844714 */ addiu $a0, $a0, %lo(aSetsuboffsetObjinstHasNoObject) -/* 0A1780 7F06CC50 0FC1B11B */ jal return_null -/* 0A1784 7F06CC54 00000000 */ nop -/* 0A1788 7F06CC58 8FB80018 */ lw $t8, 0x18($sp) -/* 0A178C 7F06CC5C 8F020008 */ lw $v0, 8($t8) -/* 0A1790 7F06CC60 8FA40018 */ lw $a0, 0x18($sp) -.L7F06CC64: -/* 0A1794 7F06CC64 8C450000 */ lw $a1, ($v0) -/* 0A1798 7F06CC68 0FC1B274 */ jal setpartoffset -/* 0A179C 7F06CC6C 8FA6001C */ lw $a2, 0x1c($sp) -/* 0A17A0 7F06CC70 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A17A4 7F06CC74 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A17A8 7F06CC78 03E00008 */ jr $ra -/* 0A17AC 7F06CC7C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void getsubroty(void) { - -} -#else -GLOBAL_ASM( -.text -glabel getsubroty -/* 0A17B0 7F06CC80 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A17B4 7F06CC84 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A17B8 7F06CC88 14800006 */ bnez $a0, .L7F06CCA4 -/* 0A17BC 7F06CC8C AFA40018 */ sw $a0, 0x18($sp) -/* 0A17C0 7F06CC90 3C048005 */ lui $a0, %hi(aGetsubrotyNoObjinst) -/* 0A17C4 7F06CC94 0C0033D1 */ jal osSyncPrintf -/* 0A17C8 7F06CC98 2484473C */ addiu $a0, %lo(aGetsubrotyNoObjinst) # addiu $a0, $a0, 0x473c -/* 0A17CC 7F06CC9C 0FC1B11B */ jal return_null -/* 0A17D0 7F06CCA0 00000000 */ nop -.L7F06CCA4: -/* 0A17D4 7F06CCA4 8FAF0018 */ lw $t7, 0x18($sp) -/* 0A17D8 7F06CCA8 3C048005 */ lui $a0, %hi(aGetsubrotyObjinstHasNoObject) -/* 0A17DC 7F06CCAC 8DE20008 */ lw $v0, 8($t7) -/* 0A17E0 7F06CCB0 54400008 */ bnezl $v0, .L7F06CCD4 -/* 0A17E4 7F06CCB4 8C430000 */ lw $v1, ($v0) -/* 0A17E8 7F06CCB8 0C0033D1 */ jal osSyncPrintf -/* 0A17EC 7F06CCBC 24844754 */ addiu $a0, %lo(aGetsubrotyObjinstHasNoObject) # addiu $a0, $a0, 0x4754 -/* 0A17F0 7F06CCC0 0FC1B11B */ jal return_null -/* 0A17F4 7F06CCC4 00000000 */ nop -/* 0A17F8 7F06CCC8 8FB80018 */ lw $t8, 0x18($sp) -/* 0A17FC 7F06CCCC 8F020008 */ lw $v0, 8($t8) -/* 0A1800 7F06CCD0 8C430000 */ lw $v1, ($v0) -.L7F06CCD4: -/* 0A1804 7F06CCD4 3C048005 */ lui $a0, %hi(aGetsubrotyObjinstHasNoRootPart) -/* 0A1808 7F06CCD8 54600009 */ bnezl $v1, .L7F06CD00 -/* 0A180C 7F06CCDC 94690000 */ lhu $t1, ($v1) -/* 0A1810 7F06CCE0 0C0033D1 */ jal osSyncPrintf -/* 0A1814 7F06CCE4 24844778 */ addiu $a0, %lo(aGetsubrotyObjinstHasNoRootPart) # addiu $a0, $a0, 0x4778 -/* 0A1818 7F06CCE8 0FC1B11B */ jal return_null -/* 0A181C 7F06CCEC 00000000 */ nop -/* 0A1820 7F06CCF0 8FB90018 */ lw $t9, 0x18($sp) -/* 0A1824 7F06CCF4 8F280008 */ lw $t0, 8($t9) -/* 0A1828 7F06CCF8 8D030000 */ lw $v1, ($t0) -/* 0A182C 7F06CCFC 94690000 */ lhu $t1, ($v1) -.L7F06CD00: -/* 0A1830 7F06CD00 24010001 */ li $at, 1 -/* 0A1834 7F06CD04 00602825 */ move $a1, $v1 -/* 0A1838 7F06CD08 312A00FF */ andi $t2, $t1, 0xff -/* 0A183C 7F06CD0C 55410006 */ bnel $t2, $at, .L7F06CD28 -/* 0A1840 7F06CD10 44800000 */ mtc1 $zero, $f0 -/* 0A1844 7F06CD14 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A1848 7F06CD18 8FA40018 */ lw $a0, 0x18($sp) -/* 0A184C 7F06CD1C 10000003 */ b .L7F06CD2C -/* 0A1850 7F06CD20 C4400014 */ lwc1 $f0, 0x14($v0) -/* 0A1854 7F06CD24 44800000 */ mtc1 $zero, $f0 -.L7F06CD28: -/* 0A1858 7F06CD28 00000000 */ nop -.L7F06CD2C: -/* 0A185C 7F06CD2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A1860 7F06CD30 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A1864 7F06CD34 03E00008 */ jr $ra -/* 0A1868 7F06CD38 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void setsubroty(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054B58 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054B5C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel setsubroty -/* 0A186C 7F06CD3C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A1870 7F06CD40 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A1874 7F06CD44 AFA40018 */ sw $a0, 0x18($sp) -/* 0A1878 7F06CD48 14800006 */ bnez $a0, .L7F06CD64 -/* 0A187C 7F06CD4C AFA5001C */ sw $a1, 0x1c($sp) -/* 0A1880 7F06CD50 3C048005 */ lui $a0, %hi(aSetsubrotyNoObjinst) -/* 0A1884 7F06CD54 0C0033D1 */ jal osSyncPrintf -/* 0A1888 7F06CD58 248447A0 */ addiu $a0, %lo(aSetsubrotyNoObjinst) # addiu $a0, $a0, 0x47a0 -/* 0A188C 7F06CD5C 0FC1B11B */ jal return_null -/* 0A1890 7F06CD60 00000000 */ nop -.L7F06CD64: -/* 0A1894 7F06CD64 8FAF0018 */ lw $t7, 0x18($sp) -/* 0A1898 7F06CD68 3C048005 */ lui $a0, %hi(aSetsubrotyObjinstHasNoObject) -/* 0A189C 7F06CD6C 8DE20008 */ lw $v0, 8($t7) -/* 0A18A0 7F06CD70 54400008 */ bnezl $v0, .L7F06CD94 -/* 0A18A4 7F06CD74 8C430000 */ lw $v1, ($v0) -/* 0A18A8 7F06CD78 0C0033D1 */ jal osSyncPrintf -/* 0A18AC 7F06CD7C 248447B8 */ addiu $a0, %lo(aSetsubrotyObjinstHasNoObject) # addiu $a0, $a0, 0x47b8 -/* 0A18B0 7F06CD80 0FC1B11B */ jal return_null -/* 0A18B4 7F06CD84 00000000 */ nop -/* 0A18B8 7F06CD88 8FB80018 */ lw $t8, 0x18($sp) -/* 0A18BC 7F06CD8C 8F020008 */ lw $v0, 8($t8) -/* 0A18C0 7F06CD90 8C430000 */ lw $v1, ($v0) -.L7F06CD94: -/* 0A18C4 7F06CD94 3C048005 */ lui $a0, %hi(aSetsubrotyObjinstHasNoRootPart) -/* 0A18C8 7F06CD98 54600009 */ bnezl $v1, .L7F06CDC0 -/* 0A18CC 7F06CD9C 94690000 */ lhu $t1, ($v1) -/* 0A18D0 7F06CDA0 0C0033D1 */ jal osSyncPrintf -/* 0A18D4 7F06CDA4 248447DC */ addiu $a0, %lo(aSetsubrotyObjinstHasNoRootPart) # addiu $a0, $a0, 0x47dc -/* 0A18D8 7F06CDA8 0FC1B11B */ jal return_null -/* 0A18DC 7F06CDAC 00000000 */ nop -/* 0A18E0 7F06CDB0 8FB90018 */ lw $t9, 0x18($sp) -/* 0A18E4 7F06CDB4 8F280008 */ lw $t0, 8($t9) -/* 0A18E8 7F06CDB8 8D030000 */ lw $v1, ($t0) -/* 0A18EC 7F06CDBC 94690000 */ lhu $t1, ($v1) -.L7F06CDC0: -/* 0A18F0 7F06CDC0 24010001 */ li $at, 1 -/* 0A18F4 7F06CDC4 00602825 */ move $a1, $v1 -/* 0A18F8 7F06CDC8 312A00FF */ andi $t2, $t1, 0xff -/* 0A18FC 7F06CDCC 55410027 */ bnel $t2, $at, .L7F06CE6C -/* 0A1900 7F06CDD0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A1904 7F06CDD4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A1908 7F06CDD8 8FA40018 */ lw $a0, 0x18($sp) -/* 0A190C 7F06CDDC C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0A1910 7F06CDE0 C4460014 */ lwc1 $f6, 0x14($v0) -/* 0A1914 7F06CDE4 44804000 */ mtc1 $zero, $f8 -/* 0A1918 7F06CDE8 3C018005 */ lui $at, %hi(D_80054B58) -/* 0A191C 7F06CDEC 46062001 */ sub.s $f0, $f4, $f6 -/* 0A1920 7F06CDF0 4608003C */ c.lt.s $f0, $f8 -/* 0A1924 7F06CDF4 00000000 */ nop -/* 0A1928 7F06CDF8 45020004 */ bc1fl .L7F06CE0C -/* 0A192C 7F06CDFC C44A0030 */ lwc1 $f10, 0x30($v0) -/* 0A1930 7F06CE00 C42C4B58 */ lwc1 $f12, %lo(D_80054B58)($at) -/* 0A1934 7F06CE04 460C0000 */ add.s $f0, $f0, $f12 -/* 0A1938 7F06CE08 C44A0030 */ lwc1 $f10, 0x30($v0) -.L7F06CE0C: -/* 0A193C 7F06CE0C 3C018005 */ lui $at, %hi(D_80054B5C) -/* 0A1940 7F06CE10 C42C4B5C */ lwc1 $f12, %lo(D_80054B5C)($at) -/* 0A1944 7F06CE14 46005400 */ add.s $f16, $f10, $f0 -/* 0A1948 7F06CE18 E4500030 */ swc1 $f16, 0x30($v0) -/* 0A194C 7F06CE1C C4420030 */ lwc1 $f2, 0x30($v0) -/* 0A1950 7F06CE20 4602603E */ c.le.s $f12, $f2 -/* 0A1954 7F06CE24 00000000 */ nop -/* 0A1958 7F06CE28 45020004 */ bc1fl .L7F06CE3C -/* 0A195C 7F06CE2C C4440020 */ lwc1 $f4, 0x20($v0) -/* 0A1960 7F06CE30 460C1481 */ sub.s $f18, $f2, $f12 -/* 0A1964 7F06CE34 E4520030 */ swc1 $f18, 0x30($v0) -/* 0A1968 7F06CE38 C4440020 */ lwc1 $f4, 0x20($v0) -.L7F06CE3C: -/* 0A196C 7F06CE3C 46002180 */ add.s $f6, $f4, $f0 -/* 0A1970 7F06CE40 E4460020 */ swc1 $f6, 0x20($v0) -/* 0A1974 7F06CE44 C4420020 */ lwc1 $f2, 0x20($v0) -/* 0A1978 7F06CE48 4602603E */ c.le.s $f12, $f2 -/* 0A197C 7F06CE4C 00000000 */ nop -/* 0A1980 7F06CE50 45020004 */ bc1fl .L7F06CE64 -/* 0A1984 7F06CE54 C7AA001C */ lwc1 $f10, 0x1c($sp) -/* 0A1988 7F06CE58 460C1201 */ sub.s $f8, $f2, $f12 -/* 0A198C 7F06CE5C E4480020 */ swc1 $f8, 0x20($v0) -/* 0A1990 7F06CE60 C7AA001C */ lwc1 $f10, 0x1c($sp) -.L7F06CE64: -/* 0A1994 7F06CE64 E44A0014 */ swc1 $f10, 0x14($v0) -/* 0A1998 7F06CE68 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CE6C: -/* 0A199C 7F06CE6C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A19A0 7F06CE70 03E00008 */ jr $ra -/* 0A19A4 7F06CE74 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_obj_instance_controller_scale(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_obj_instance_controller_scale -/* 0A19A8 7F06CE78 44856000 */ mtc1 $a1, $f12 -/* 0A19AC 7F06CE7C 03E00008 */ jr $ra -/* 0A19B0 7F06CE80 E48C0014 */ swc1 $f12, 0x14($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06CE84(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06CE84 -/* 0A19B4 7F06CE84 44856000 */ mtc1 $a1, $f12 -/* 0A19B8 7F06CE88 03E00008 */ jr $ra -/* 0A19BC 7F06CE8C E48C00B8 */ swc1 $f12, 0xb8($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void getjointsize(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054B60*/ -glabel jpt_getjointsize -.word .L7F06CEF8 -.word .L7F06CF10 -.word .L7F06CF28 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CF58 -.word .L7F06CF70 -.word .L7F06CF88 -.word .L7F06CFA0 -.word .L7F06CFB8 -.word .L7F06CFD0 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CFE8 -.word .L7F06CF40 - -.text -glabel getjointsize -/* 0A19C0 7F06CE90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A19C4 7F06CE94 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A19C8 7F06CE98 1480000A */ bnez $a0, .L7F06CEC4 -/* 0A19CC 7F06CE9C 00803025 */ move $a2, $a0 -/* 0A19D0 7F06CEA0 3C048005 */ lui $a0, %hi(aGetjointsizeNoObjinst) -/* 0A19D4 7F06CEA4 24844804 */ addiu $a0, %lo(aGetjointsizeNoObjinst) # addiu $a0, $a0, 0x4804 -/* 0A19D8 7F06CEA8 AFA5001C */ sw $a1, 0x1c($sp) -/* 0A19DC 7F06CEAC 0C0033D1 */ jal osSyncPrintf -/* 0A19E0 7F06CEB0 AFA60018 */ sw $a2, 0x18($sp) -/* 0A19E4 7F06CEB4 0FC1B11B */ jal return_null -/* 0A19E8 7F06CEB8 00000000 */ nop -/* 0A19EC 7F06CEBC 8FA5001C */ lw $a1, 0x1c($sp) -/* 0A19F0 7F06CEC0 8FA60018 */ lw $a2, 0x18($sp) -.L7F06CEC4: -/* 0A19F4 7F06CEC4 50A0004C */ beql $a1, $zero, .L7F06CFF8 -/* 0A19F8 7F06CEC8 44800000 */ mtc1 $zero, $f0 -/* 0A19FC 7F06CECC 94AE0000 */ lhu $t6, ($a1) -.L7F06CED0: -/* 0A1A00 7F06CED0 31CF00FF */ andi $t7, $t6, 0xff -/* 0A1A04 7F06CED4 25F8FFFF */ addiu $t8, $t7, -1 -/* 0A1A08 7F06CED8 2F010015 */ sltiu $at, $t8, 0x15 -/* 0A1A0C 7F06CEDC 10200042 */ beqz $at, .L7F06CFE8 -/* 0A1A10 7F06CEE0 0018C080 */ sll $t8, $t8, 2 -/* 0A1A14 7F06CEE4 3C018005 */ lui $at, %hi(jpt_getjointsize) -/* 0A1A18 7F06CEE8 00380821 */ addu $at, $at, $t8 -/* 0A1A1C 7F06CEEC 8C384B60 */ lw $t8, %lo(jpt_getjointsize)($at) -.L7F06CEF0: -/* 0A1A20 7F06CEF0 03000008 */ jr $t8 -/* 0A1A24 7F06CEF4 00000000 */ nop -.L7F06CEF8: -/* 0A1A28 7F06CEF8 8CA20004 */ lw $v0, 4($a1) -/* 0A1A2C 7F06CEFC C4C60014 */ lwc1 $f6, 0x14($a2) -/* 0A1A30 7F06CF00 C4440008 */ lwc1 $f4, 8($v0) -/* 0A1A34 7F06CF04 46062002 */ mul.s $f0, $f4, $f6 -/* 0A1A38 7F06CF08 1000003D */ b .L7F06D000 -/* 0A1A3C 7F06CF0C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CF10: -/* 0A1A40 7F06CF10 8CA20004 */ lw $v0, 4($a1) -/* 0A1A44 7F06CF14 C4CA0014 */ lwc1 $f10, 0x14($a2) -/* 0A1A48 7F06CF18 C4480018 */ lwc1 $f8, 0x18($v0) -/* 0A1A4C 7F06CF1C 460A4002 */ mul.s $f0, $f8, $f10 -/* 0A1A50 7F06CF20 10000037 */ b .L7F06D000 -/* 0A1A54 7F06CF24 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CF28: -/* 0A1A58 7F06CF28 8CA20004 */ lw $v0, 4($a1) -/* 0A1A5C 7F06CF2C C4D20014 */ lwc1 $f18, 0x14($a2) -/* 0A1A60 7F06CF30 C4500018 */ lwc1 $f16, 0x18($v0) -/* 0A1A64 7F06CF34 46128002 */ mul.s $f0, $f16, $f18 -/* 0A1A68 7F06CF38 10000031 */ b .L7F06D000 -/* 0A1A6C 7F06CF3C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CF40: -/* 0A1A70 7F06CF40 8CA20004 */ lw $v0, 4($a1) -/* 0A1A74 7F06CF44 C4C60014 */ lwc1 $f6, 0x14($a2) -/* 0A1A78 7F06CF48 C4440010 */ lwc1 $f4, 0x10($v0) -/* 0A1A7C 7F06CF4C 46062002 */ mul.s $f0, $f4, $f6 -/* 0A1A80 7F06CF50 1000002B */ b .L7F06D000 -/* 0A1A84 7F06CF54 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CF58: -/* 0A1A88 7F06CF58 8CA20004 */ lw $v0, 4($a1) -/* 0A1A8C 7F06CF5C C4CA0014 */ lwc1 $f10, 0x14($a2) -/* 0A1A90 7F06CF60 C4480040 */ lwc1 $f8, 0x40($v0) -/* 0A1A94 7F06CF64 460A4002 */ mul.s $f0, $f8, $f10 -/* 0A1A98 7F06CF68 10000025 */ b .L7F06D000 -/* 0A1A9C 7F06CF6C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CF70: -/* 0A1AA0 7F06CF70 8CA20004 */ lw $v0, 4($a1) -/* 0A1AA4 7F06CF74 C4D20014 */ lwc1 $f18, 0x14($a2) -/* 0A1AA8 7F06CF78 C450001C */ lwc1 $f16, 0x1c($v0) -/* 0A1AAC 7F06CF7C 46128002 */ mul.s $f0, $f16, $f18 -/* 0A1AB0 7F06CF80 1000001F */ b .L7F06D000 -/* 0A1AB4 7F06CF84 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CF88: -/* 0A1AB8 7F06CF88 8CA20004 */ lw $v0, 4($a1) -/* 0A1ABC 7F06CF8C C4C60014 */ lwc1 $f6, 0x14($a2) -/* 0A1AC0 7F06CF90 C4440018 */ lwc1 $f4, 0x18($v0) -/* 0A1AC4 7F06CF94 46062002 */ mul.s $f0, $f4, $f6 -/* 0A1AC8 7F06CF98 10000019 */ b .L7F06D000 -/* 0A1ACC 7F06CF9C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CFA0: -/* 0A1AD0 7F06CFA0 8CA20004 */ lw $v0, 4($a1) -/* 0A1AD4 7F06CFA4 C4CA0014 */ lwc1 $f10, 0x14($a2) -/* 0A1AD8 7F06CFA8 C448000C */ lwc1 $f8, 0xc($v0) -/* 0A1ADC 7F06CFAC 460A4002 */ mul.s $f0, $f8, $f10 -/* 0A1AE0 7F06CFB0 10000013 */ b .L7F06D000 -/* 0A1AE4 7F06CFB4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CFB8: -/* 0A1AE8 7F06CFB8 8CA20004 */ lw $v0, 4($a1) -/* 0A1AEC 7F06CFBC C4D20014 */ lwc1 $f18, 0x14($a2) -/* 0A1AF0 7F06CFC0 C4500018 */ lwc1 $f16, 0x18($v0) -/* 0A1AF4 7F06CFC4 46128002 */ mul.s $f0, $f16, $f18 -/* 0A1AF8 7F06CFC8 1000000D */ b .L7F06D000 -/* 0A1AFC 7F06CFCC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06CFD0: -/* 0A1B00 7F06CFD0 8CA20004 */ lw $v0, 4($a1) -/* 0A1B04 7F06CFD4 C4C60014 */ lwc1 $f6, 0x14($a2) -/* 0A1B08 7F06CFD8 C4440014 */ lwc1 $f4, 0x14($v0) -/* 0A1B0C 7F06CFDC 46062002 */ mul.s $f0, $f4, $f6 -/* 0A1B10 7F06CFE0 10000007 */ b .L7F06D000 -/* 0A1B14 7F06CFE4 8FBF0014 */ lw $ra, 0x14($sp) -def_7F06CEF0: -.L7F06CFE8: -/* 0A1B18 7F06CFE8 8CA50008 */ lw $a1, 8($a1) -/* 0A1B1C 7F06CFEC 54A0FFB8 */ bnezl $a1, .L7F06CED0 -/* 0A1B20 7F06CFF0 94AE0000 */ lhu $t6, ($a1) -/* 0A1B24 7F06CFF4 44800000 */ mtc1 $zero, $f0 -.L7F06CFF8: -/* 0A1B28 7F06CFF8 00000000 */ nop -/* 0A1B2C 7F06CFFC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06D000: -/* 0A1B30 7F06D000 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A1B34 7F06D004 03E00008 */ jr $ra -/* 0A1B38 7F06D008 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void getinstsize(void) { - -} -#else -GLOBAL_ASM( -.text -glabel getinstsize -/* 0A1B3C 7F06D00C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A1B40 7F06D010 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A1B44 7F06D014 14800006 */ bnez $a0, .L7F06D030 -/* 0A1B48 7F06D018 AFA40018 */ sw $a0, 0x18($sp) -/* 0A1B4C 7F06D01C 3C048005 */ lui $a0, %hi(aGetinstsizeNoObjinst) -/* 0A1B50 7F06D020 0C0033D1 */ jal osSyncPrintf -/* 0A1B54 7F06D024 24844820 */ addiu $a0, %lo(aGetinstsizeNoObjinst) # addiu $a0, $a0, 0x4820 -/* 0A1B58 7F06D028 0FC1B11B */ jal return_null -/* 0A1B5C 7F06D02C 00000000 */ nop -.L7F06D030: -/* 0A1B60 7F06D030 8FAF0018 */ lw $t7, 0x18($sp) -/* 0A1B64 7F06D034 3C048005 */ lui $a0, %hi(aGetinstsizeNoObjdesc) -/* 0A1B68 7F06D038 8DE20008 */ lw $v0, 8($t7) -/* 0A1B6C 7F06D03C 54400008 */ bnezl $v0, .L7F06D060 -/* 0A1B70 7F06D040 8FB90018 */ lw $t9, 0x18($sp) -/* 0A1B74 7F06D044 0C0033D1 */ jal osSyncPrintf -/* 0A1B78 7F06D048 2484483C */ addiu $a0, %lo(aGetinstsizeNoObjdesc) # addiu $a0, $a0, 0x483c -/* 0A1B7C 7F06D04C 0FC1B11B */ jal return_null -/* 0A1B80 7F06D050 00000000 */ nop -/* 0A1B84 7F06D054 8FB80018 */ lw $t8, 0x18($sp) -/* 0A1B88 7F06D058 8F020008 */ lw $v0, 8($t8) -/* 0A1B8C 7F06D05C 8FB90018 */ lw $t9, 0x18($sp) -.L7F06D060: -/* 0A1B90 7F06D060 C4440010 */ lwc1 $f4, 0x10($v0) -/* 0A1B94 7F06D064 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A1B98 7F06D068 C7260014 */ lwc1 $f6, 0x14($t9) -/* 0A1B9C 7F06D06C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A1BA0 7F06D070 46062002 */ mul.s $f0, $f4, $f6 -/* 0A1BA4 7F06D074 03E00008 */ jr $ra -/* 0A1BA8 7F06D078 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06D07C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06D07C -/* 0A1BAC 7F06D07C C4800000 */ lwc1 $f0, ($a0) -/* 0A1BB0 7F06D080 C4A40000 */ lwc1 $f4, ($a1) -/* 0A1BB4 7F06D084 44866000 */ mtc1 $a2, $f12 -/* 0A1BB8 7F06D088 C4820004 */ lwc1 $f2, 4($a0) -/* 0A1BBC 7F06D08C 46002181 */ sub.s $f6, $f4, $f0 -/* 0A1BC0 7F06D090 C48E0008 */ lwc1 $f14, 8($a0) -/* 0A1BC4 7F06D094 460C3202 */ mul.s $f8, $f6, $f12 -/* 0A1BC8 7F06D098 46080280 */ add.s $f10, $f0, $f8 -/* 0A1BCC 7F06D09C E48A0000 */ swc1 $f10, ($a0) -/* 0A1BD0 7F06D0A0 C4B00004 */ lwc1 $f16, 4($a1) -/* 0A1BD4 7F06D0A4 46028481 */ sub.s $f18, $f16, $f2 -/* 0A1BD8 7F06D0A8 460C9102 */ mul.s $f4, $f18, $f12 -/* 0A1BDC 7F06D0AC 46041180 */ add.s $f6, $f2, $f4 -/* 0A1BE0 7F06D0B0 E4860004 */ swc1 $f6, 4($a0) -/* 0A1BE4 7F06D0B4 C4A80008 */ lwc1 $f8, 8($a1) -/* 0A1BE8 7F06D0B8 460E4281 */ sub.s $f10, $f8, $f14 -/* 0A1BEC 7F06D0BC 460C5402 */ mul.s $f16, $f10, $f12 -/* 0A1BF0 7F06D0C0 46107480 */ add.s $f18, $f14, $f16 -/* 0A1BF4 7F06D0C4 03E00008 */ jr $ra -/* 0A1BF8 7F06D0C8 E4920008 */ swc1 $f18, 8($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06D0CC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054BB4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054BB8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054BBC -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F06D0CC -/* 0A1BFC 7F06D0CC 460C703C */ c.lt.s $f14, $f12 -/* 0A1C00 7F06D0D0 AFA60008 */ sw $a2, 8($sp) -/* 0A1C04 7F06D0D4 460C7081 */ sub.s $f2, $f14, $f12 -/* 0A1C08 7F06D0D8 3C018005 */ lui $at, %hi(D_80054BB4) -/* 0A1C0C 7F06D0DC C7A60008 */ lwc1 $f6, 8($sp) -/* 0A1C10 7F06D0E0 45000003 */ bc1f .L7F06D0F0 -/* 0A1C14 7F06D0E4 46001006 */ mov.s $f0, $f2 -/* 0A1C18 7F06D0E8 C42E4BB4 */ lwc1 $f14, %lo(D_80054BB4)($at) -/* 0A1C1C 7F06D0EC 460E1000 */ add.s $f0, $f2, $f14 -.L7F06D0F0: -/* 0A1C20 7F06D0F0 3C018005 */ lui $at, %hi(D_80054BB8) -/* 0A1C24 7F06D0F4 C42E4BB8 */ lwc1 $f14, %lo(D_80054BB8)($at) -/* 0A1C28 7F06D0F8 3C018005 */ lui $at, %hi(D_80054BBC) -/* 0A1C2C 7F06D0FC C4244BBC */ lwc1 $f4, %lo(D_80054BBC)($at) -/* 0A1C30 7F06D100 4604003C */ c.lt.s $f0, $f4 -/* 0A1C34 7F06D104 00000000 */ nop -/* 0A1C38 7F06D108 4502000A */ bc1fl .L7F06D134 -/* 0A1C3C 7F06D10C 46007281 */ sub.s $f10, $f14, $f0 -/* 0A1C40 7F06D110 46060202 */ mul.s $f8, $f0, $f6 -/* 0A1C44 7F06D114 46086300 */ add.s $f12, $f12, $f8 -/* 0A1C48 7F06D118 460C703E */ c.le.s $f14, $f12 -/* 0A1C4C 7F06D11C 00000000 */ nop -/* 0A1C50 7F06D120 4500000D */ bc1f .L7F06D158 -/* 0A1C54 7F06D124 00000000 */ nop -/* 0A1C58 7F06D128 03E00008 */ jr $ra -/* 0A1C5C 7F06D12C 460E6001 */ sub.s $f0, $f12, $f14 - -/* 0A1C60 7F06D130 46007281 */ sub.s $f10, $f14, $f0 -.L7F06D134: -/* 0A1C64 7F06D134 C7B00008 */ lwc1 $f16, 8($sp) -/* 0A1C68 7F06D138 44802000 */ mtc1 $zero, $f4 -/* 0A1C6C 7F06D13C 46105482 */ mul.s $f18, $f10, $f16 -/* 0A1C70 7F06D140 46126301 */ sub.s $f12, $f12, $f18 -/* 0A1C74 7F06D144 4604603C */ c.lt.s $f12, $f4 -/* 0A1C78 7F06D148 00000000 */ nop -/* 0A1C7C 7F06D14C 45000002 */ bc1f .L7F06D158 -/* 0A1C80 7F06D150 00000000 */ nop -/* 0A1C84 7F06D154 460E6300 */ add.s $f12, $f12, $f14 -.L7F06D158: -/* 0A1C88 7F06D158 03E00008 */ jr $ra -/* 0A1C8C 7F06D15C 46006006 */ mov.s $f0, $f12 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06D160(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06D160 -/* 0A1C90 7F06D160 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A1C94 7F06D164 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A1C98 7F06D168 AFB00018 */ sw $s0, 0x18($sp) -/* 0A1C9C 7F06D16C AFA50024 */ sw $a1, 0x24($sp) -/* 0A1CA0 7F06D170 AFA60028 */ sw $a2, 0x28($sp) -/* 0A1CA4 7F06D174 00808025 */ move $s0, $a0 -/* 0A1CA8 7F06D178 C4AE0000 */ lwc1 $f14, ($a1) -/* 0A1CAC 7F06D17C 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A1CB0 7F06D180 C48C0000 */ lwc1 $f12, ($a0) -/* 0A1CB4 7F06D184 E6000000 */ swc1 $f0, ($s0) -/* 0A1CB8 7F06D188 8FAF0024 */ lw $t7, 0x24($sp) -/* 0A1CBC 7F06D18C 8FA60028 */ lw $a2, 0x28($sp) -/* 0A1CC0 7F06D190 C60C0004 */ lwc1 $f12, 4($s0) -/* 0A1CC4 7F06D194 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A1CC8 7F06D198 C5EE0004 */ lwc1 $f14, 4($t7) -/* 0A1CCC 7F06D19C E6000004 */ swc1 $f0, 4($s0) -/* 0A1CD0 7F06D1A0 8FB80024 */ lw $t8, 0x24($sp) -/* 0A1CD4 7F06D1A4 8FA60028 */ lw $a2, 0x28($sp) -/* 0A1CD8 7F06D1A8 C60C0008 */ lwc1 $f12, 8($s0) -/* 0A1CDC 7F06D1AC 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A1CE0 7F06D1B0 C70E0008 */ lwc1 $f14, 8($t8) -/* 0A1CE4 7F06D1B4 E6000008 */ swc1 $f0, 8($s0) -/* 0A1CE8 7F06D1B8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A1CEC 7F06D1BC 8FB00018 */ lw $s0, 0x18($sp) -/* 0A1CF0 7F06D1C0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A1CF4 7F06D1C4 03E00008 */ jr $ra -/* 0A1CF8 7F06D1C8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06D1CC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06D1CC -/* 0A1CFC 7F06D1CC 8C8E0008 */ lw $t6, 8($a0) -/* 0A1D00 7F06D1D0 00057880 */ sll $t7, $a1, 2 -/* 0A1D04 7F06D1D4 01E57823 */ subu $t7, $t7, $a1 -/* 0A1D08 7F06D1D8 000F7840 */ sll $t7, $t7, 1 -/* 0A1D0C 7F06D1DC 01CF3821 */ addu $a3, $t6, $t7 -/* 0A1D10 7F06D1E0 90E80002 */ lbu $t0, 2($a3) -/* 0A1D14 7F06D1E4 00001825 */ move $v1, $zero -/* 0A1D18 7F06D1E8 01004825 */ move $t1, $t0 -/* 0A1D1C 7F06D1EC 5920003A */ blezl $t1, .L7F06D2D8 -/* 0A1D20 7F06D1F0 94F80004 */ lhu $t8, 4($a3) -/* 0A1D24 7F06D1F4 94F80000 */ lhu $t8, ($a3) -/* 0A1D28 7F06D1F8 240E0008 */ li $t6, 8 -/* 0A1D2C 7F06D1FC 8C8D0010 */ lw $t5, 0x10($a0) -/* 0A1D30 7F06D200 03061021 */ addu $v0, $t8, $a2 -/* 0A1D34 7F06D204 30590007 */ andi $t9, $v0, 7 -/* 0A1D38 7F06D208 01D96023 */ subu $t4, $t6, $t9 -/* 0A1D3C 7F06D20C 318F00FF */ andi $t7, $t4, 0xff -/* 0A1D40 7F06D210 000228C2 */ srl $a1, $v0, 3 -/* 0A1D44 7F06D214 012F082A */ slt $at, $t1, $t7 -/* 0A1D48 7F06D218 318B00FF */ andi $t3, $t4, 0xff -/* 0A1D4C 7F06D21C 14200010 */ bnez $at, .L7F06D260 -/* 0A1D50 7F06D220 01A55021 */ addu $t2, $t5, $a1 -.L7F06D224: -/* 0A1D54 7F06D224 91590000 */ lbu $t9, ($t2) -/* 0A1D58 7F06D228 240D0001 */ li $t5, 1 -/* 0A1D5C 7F06D22C 016D7004 */ sllv $t6, $t5, $t3 -/* 0A1D60 7F06D230 012B1023 */ subu $v0, $t1, $t3 -/* 0A1D64 7F06D234 25CFFFFF */ addiu $t7, $t6, -1 -/* 0A1D68 7F06D238 304900FF */ andi $t1, $v0, 0xff -/* 0A1D6C 7F06D23C 032FC024 */ and $t8, $t9, $t7 -/* 0A1D70 7F06D240 01386804 */ sllv $t5, $t8, $t1 -/* 0A1D74 7F06D244 006D1825 */ or $v1, $v1, $t5 -/* 0A1D78 7F06D248 306EFFFF */ andi $t6, $v1, 0xffff -/* 0A1D7C 7F06D24C 29210008 */ slti $at, $t1, 8 -/* 0A1D80 7F06D250 01C01825 */ move $v1, $t6 -/* 0A1D84 7F06D254 254A0001 */ addiu $t2, $t2, 1 -/* 0A1D88 7F06D258 1020FFF2 */ beqz $at, .L7F06D224 -/* 0A1D8C 7F06D25C 240B0008 */ li $t3, 8 -.L7F06D260: -/* 0A1D90 7F06D260 1920000A */ blez $t1, .L7F06D28C -/* 0A1D94 7F06D264 01697823 */ subu $t7, $t3, $t1 -/* 0A1D98 7F06D268 91590000 */ lbu $t9, ($t2) -/* 0A1D9C 7F06D26C 240D0001 */ li $t5, 1 -/* 0A1DA0 7F06D270 012D7004 */ sllv $t6, $t5, $t1 -/* 0A1DA4 7F06D274 01F9C007 */ srav $t8, $t9, $t7 -/* 0A1DA8 7F06D278 25D9FFFF */ addiu $t9, $t6, -1 -/* 0A1DAC 7F06D27C 03197824 */ and $t7, $t8, $t9 -/* 0A1DB0 7F06D280 006F1825 */ or $v1, $v1, $t7 -/* 0A1DB4 7F06D284 306DFFFF */ andi $t5, $v1, 0xffff -/* 0A1DB8 7F06D288 01A01825 */ move $v1, $t5 -.L7F06D28C: -/* 0A1DBC 7F06D28C 310900FF */ andi $t1, $t0, 0xff -/* 0A1DC0 7F06D290 29210010 */ slti $at, $t1, 0x10 -/* 0A1DC4 7F06D294 1020000F */ beqz $at, .L7F06D2D4 -/* 0A1DC8 7F06D298 252E001F */ addiu $t6, $t1, 0x1f -/* 0A1DCC 7F06D29C 24180001 */ li $t8, 1 -/* 0A1DD0 7F06D2A0 01D8C804 */ sllv $t9, $t8, $t6 -/* 0A1DD4 7F06D2A4 00797824 */ and $t7, $v1, $t9 -/* 0A1DD8 7F06D2A8 11E0000A */ beqz $t7, .L7F06D2D4 -/* 0A1DDC 7F06D2AC 00601025 */ move $v0, $v1 -/* 0A1DE0 7F06D2B0 240D0010 */ li $t5, 16 -/* 0A1DE4 7F06D2B4 01A9C023 */ subu $t8, $t5, $t1 -/* 0A1DE8 7F06D2B8 240E0001 */ li $t6, 1 -/* 0A1DEC 7F06D2BC 030EC804 */ sllv $t9, $t6, $t8 -/* 0A1DF0 7F06D2C0 272FFFFF */ addiu $t7, $t9, -1 -/* 0A1DF4 7F06D2C4 012F6804 */ sllv $t5, $t7, $t1 -/* 0A1DF8 7F06D2C8 004D1825 */ or $v1, $v0, $t5 -/* 0A1DFC 7F06D2CC 306EFFFF */ andi $t6, $v1, 0xffff -/* 0A1E00 7F06D2D0 01C01825 */ move $v1, $t6 -.L7F06D2D4: -/* 0A1E04 7F06D2D4 94F80004 */ lhu $t8, 4($a3) -.L7F06D2D8: -/* 0A1E08 7F06D2D8 00781821 */ addu $v1, $v1, $t8 -/* 0A1E0C 7F06D2DC 03E00008 */ jr $ra -/* 0A1E10 7F06D2E0 3062FFFF */ andi $v0, $v1, 0xffff -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06D2E4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06D2E4 -/* 0A1E14 7F06D2E4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0A1E18 7F06D2E8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A1E1C 7F06D2EC AFB20020 */ sw $s2, 0x20($sp) -/* 0A1E20 7F06D2F0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0A1E24 7F06D2F4 AFB00018 */ sw $s0, 0x18($sp) -/* 0A1E28 7F06D2F8 AFA5002C */ sw $a1, 0x2c($sp) -/* 0A1E2C 7F06D2FC 94EE000C */ lhu $t6, 0xc($a3) -/* 0A1E30 7F06D300 8FAF0038 */ lw $t7, 0x38($sp) -/* 0A1E34 7F06D304 00E09025 */ move $s2, $a3 -/* 0A1E38 7F06D308 00044080 */ sll $t0, $a0, 2 -/* 0A1E3C 7F06D30C 01CF0019 */ multu $t6, $t7 -/* 0A1E40 7F06D310 00045880 */ sll $t3, $a0, 2 -/* 0A1E44 7F06D314 00008812 */ mflo $s1 -/* 0A1E48 7F06D318 50A00008 */ beql $a1, $zero, .L7F06D33C -/* 0A1E4C 7F06D31C 8CCA0004 */ lw $t2, 4($a2) -/* 0A1E50 7F06D320 8CD90004 */ lw $t9, 4($a2) -/* 0A1E54 7F06D324 01044023 */ subu $t0, $t0, $a0 -/* 0A1E58 7F06D328 00084040 */ sll $t0, $t0, 1 -/* 0A1E5C 7F06D32C 03284821 */ addu $t1, $t9, $t0 -/* 0A1E60 7F06D330 10000006 */ b .L7F06D34C -/* 0A1E64 7F06D334 95300004 */ lhu $s0, 4($t1) -/* 0A1E68 7F06D338 8CCA0004 */ lw $t2, 4($a2) -.L7F06D33C: -/* 0A1E6C 7F06D33C 01645823 */ subu $t3, $t3, $a0 -/* 0A1E70 7F06D340 000B5840 */ sll $t3, $t3, 1 -/* 0A1E74 7F06D344 014B6021 */ addu $t4, $t2, $t3 -/* 0A1E78 7F06D348 95900002 */ lhu $s0, 2($t4) -.L7F06D34C: -/* 0A1E7C 7F06D34C 02402025 */ move $a0, $s2 -/* 0A1E80 7F06D350 02002825 */ move $a1, $s0 -/* 0A1E84 7F06D354 0FC1B473 */ jal sub_GAME_7F06D1CC -/* 0A1E88 7F06D358 02203025 */ move $a2, $s1 -/* 0A1E8C 7F06D35C 8FAD003C */ lw $t5, 0x3c($sp) -/* 0A1E90 7F06D360 02402025 */ move $a0, $s2 -/* 0A1E94 7F06D364 26050001 */ addiu $a1, $s0, 1 -/* 0A1E98 7F06D368 02203025 */ move $a2, $s1 -/* 0A1E9C 7F06D36C 0FC1B473 */ jal sub_GAME_7F06D1CC -/* 0A1EA0 7F06D370 A5A20000 */ sh $v0, ($t5) -/* 0A1EA4 7F06D374 8FAE003C */ lw $t6, 0x3c($sp) -/* 0A1EA8 7F06D378 02402025 */ move $a0, $s2 -/* 0A1EAC 7F06D37C 26050002 */ addiu $a1, $s0, 2 -/* 0A1EB0 7F06D380 02203025 */ move $a2, $s1 -/* 0A1EB4 7F06D384 0FC1B473 */ jal sub_GAME_7F06D1CC -/* 0A1EB8 7F06D388 A5C20002 */ sh $v0, 2($t6) -/* 0A1EBC 7F06D38C 8FAF003C */ lw $t7, 0x3c($sp) -/* 0A1EC0 7F06D390 02402025 */ move $a0, $s2 -/* 0A1EC4 7F06D394 26050003 */ addiu $a1, $s0, 3 -/* 0A1EC8 7F06D398 02203025 */ move $a2, $s1 -/* 0A1ECC 7F06D39C 0FC1B473 */ jal sub_GAME_7F06D1CC -/* 0A1ED0 7F06D3A0 A5E20004 */ sh $v0, 4($t7) -/* 0A1ED4 7F06D3A4 8FB8002C */ lw $t8, 0x2c($sp) -/* 0A1ED8 7F06D3A8 8FA5003C */ lw $a1, 0x3c($sp) -/* 0A1EDC 7F06D3AC 3043FFFF */ andi $v1, $v0, 0xffff -/* 0A1EE0 7F06D3B0 5300000A */ beql $t8, $zero, .L7F06D3DC -/* 0A1EE4 7F06D3B4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A1EE8 7F06D3B8 84B90000 */ lh $t9, ($a1) -/* 0A1EEC 7F06D3BC 3C090001 */ lui $t1, 1 -/* 0A1EF0 7F06D3C0 00194023 */ negu $t0, $t9 -/* 0A1EF4 7F06D3C4 10400004 */ beqz $v0, .L7F06D3D8 -/* 0A1EF8 7F06D3C8 A4A80000 */ sh $t0, ($a1) -/* 0A1EFC 7F06D3CC 01221823 */ subu $v1, $t1, $v0 -/* 0A1F00 7F06D3D0 306AFFFF */ andi $t2, $v1, 0xffff -/* 0A1F04 7F06D3D4 01401825 */ move $v1, $t2 -.L7F06D3D8: -/* 0A1F08 7F06D3D8 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06D3DC: -/* 0A1F0C 7F06D3DC 8FB00018 */ lw $s0, 0x18($sp) -/* 0A1F10 7F06D3E0 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A1F14 7F06D3E4 8FB20020 */ lw $s2, 0x20($sp) -/* 0A1F18 7F06D3E8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0A1F1C 7F06D3EC 03E00008 */ jr $ra -/* 0A1F20 7F06D3F0 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06D3F4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054BC0 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F06D3F4 -/* 0A1F24 7F06D3F4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A1F28 7F06D3F8 8FAE0040 */ lw $t6, 0x40($sp) -/* 0A1F2C 7F06D3FC AFBF001C */ sw $ra, 0x1c($sp) -/* 0A1F30 7F06D400 27AF0028 */ addiu $t7, $sp, 0x28 -/* 0A1F34 7F06D404 AFAF0014 */ sw $t7, 0x14($sp) -/* 0A1F38 7F06D408 0FC1B4B9 */ jal sub_GAME_7F06D2E4 -/* 0A1F3C 7F06D40C AFAE0010 */ sw $t6, 0x10($sp) -/* 0A1F40 7F06D410 87B80028 */ lh $t8, 0x28($sp) -/* 0A1F44 7F06D414 8FA30044 */ lw $v1, 0x44($sp) -/* 0A1F48 7F06D418 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0A1F4C 7F06D41C 44982000 */ mtc1 $t8, $f4 -/* 0A1F50 7F06D420 00000000 */ nop -/* 0A1F54 7F06D424 468021A0 */ cvt.s.w $f6, $f4 -/* 0A1F58 7F06D428 44822000 */ mtc1 $v0, $f4 -/* 0A1F5C 7F06D42C E4660000 */ swc1 $f6, ($v1) -/* 0A1F60 7F06D430 87B9002A */ lh $t9, 0x2a($sp) -/* 0A1F64 7F06D434 468021A0 */ cvt.s.w $f6, $f4 -/* 0A1F68 7F06D438 44994000 */ mtc1 $t9, $f8 -/* 0A1F6C 7F06D43C 00000000 */ nop -/* 0A1F70 7F06D440 468042A0 */ cvt.s.w $f10, $f8 -/* 0A1F74 7F06D444 E46A0004 */ swc1 $f10, 4($v1) -/* 0A1F78 7F06D448 87A8002C */ lh $t0, 0x2c($sp) -/* 0A1F7C 7F06D44C 44888000 */ mtc1 $t0, $f16 -/* 0A1F80 7F06D450 00000000 */ nop -/* 0A1F84 7F06D454 468084A0 */ cvt.s.w $f18, $f16 -/* 0A1F88 7F06D458 04410004 */ bgez $v0, .L7F06D46C -/* 0A1F8C 7F06D45C E4720008 */ swc1 $f18, 8($v1) -/* 0A1F90 7F06D460 44814000 */ mtc1 $at, $f8 -/* 0A1F94 7F06D464 00000000 */ nop -/* 0A1F98 7F06D468 46083180 */ add.s $f6, $f6, $f8 -.L7F06D46C: -/* 0A1F9C 7F06D46C 3C018005 */ lui $at, %hi(D_80054BC0) -/* 0A1FA0 7F06D470 C42A4BC0 */ lwc1 $f10, %lo(D_80054BC0)($at) -/* 0A1FA4 7F06D474 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A1FA8 7F06D478 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0A1FAC 7F06D47C 460A3402 */ mul.s $f16, $f6, $f10 -/* 0A1FB0 7F06D480 44819000 */ mtc1 $at, $f18 -/* 0A1FB4 7F06D484 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0A1FB8 7F06D488 03E00008 */ jr $ra -/* 0A1FBC 7F06D48C 46128003 */ div.s $f0, $f16, $f18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06D490(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06D490 -/* 0A1FC0 7F06D490 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0A1FC4 7F06D494 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A1FC8 7F06D498 AFB10018 */ sw $s1, 0x18($sp) -/* 0A1FCC 7F06D49C 00808825 */ move $s1, $a0 -/* 0A1FD0 7F06D4A0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A1FD4 7F06D4A4 AFB00014 */ sw $s0, 0x14($sp) -/* 0A1FD8 7F06D4A8 804E0000 */ lb $t6, ($v0) -/* 0A1FDC 7F06D4AC 00408025 */ move $s0, $v0 -/* 0A1FE0 7F06D4B0 55C0007B */ bnezl $t6, .L7F06D6A0 -/* 0A1FE4 7F06D4B4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A1FE8 7F06D4B8 C4440034 */ lwc1 $f4, 0x34($v0) -/* 0A1FEC 7F06D4BC 44807000 */ mtc1 $zero, $f14 -/* 0A1FF0 7F06D4C0 E7A40038 */ swc1 $f4, 0x38($sp) -/* 0A1FF4 7F06D4C4 C4460038 */ lwc1 $f6, 0x38($v0) -/* 0A1FF8 7F06D4C8 E7A6003C */ swc1 $f6, 0x3c($sp) -/* 0A1FFC 7F06D4CC C448003C */ lwc1 $f8, 0x3c($v0) -/* 0A2000 7F06D4D0 E7A80040 */ swc1 $f8, 0x40($sp) -/* 0A2004 7F06D4D4 C44A0030 */ lwc1 $f10, 0x30($v0) -/* 0A2008 7F06D4D8 E44A0014 */ swc1 $f10, 0x14($v0) -/* 0A200C 7F06D4DC C620002C */ lwc1 $f0, 0x2c($s1) -/* 0A2010 7F06D4E0 46007032 */ c.eq.s $f14, $f0 -/* 0A2014 7F06D4E4 00000000 */ nop -/* 0A2018 7F06D4E8 4503000F */ bc1tl .L7F06D528 -/* 0A201C 7F06D4EC 8E380054 */ lw $t8, 0x54($s1) -/* 0A2020 7F06D4F0 804F0001 */ lb $t7, 1($v0) -/* 0A2024 7F06D4F4 27A40038 */ addiu $a0, $sp, 0x38 -/* 0A2028 7F06D4F8 51E0000B */ beql $t7, $zero, .L7F06D528 -/* 0A202C 7F06D4FC 8E380054 */ lw $t8, 0x54($s1) -/* 0A2030 7F06D500 44060000 */ mfc1 $a2, $f0 -/* 0A2034 7F06D504 0FC1B41F */ jal sub_GAME_7F06D07C -/* 0A2038 7F06D508 24450024 */ addiu $a1, $v0, 0x24 -/* 0A203C 7F06D50C C60C0030 */ lwc1 $f12, 0x30($s0) -/* 0A2040 7F06D510 C60E0020 */ lwc1 $f14, 0x20($s0) -/* 0A2044 7F06D514 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A2048 7F06D518 8E26002C */ lw $a2, 0x2c($s1) -/* 0A204C 7F06D51C 44807000 */ mtc1 $zero, $f14 -/* 0A2050 7F06D520 E6000014 */ swc1 $f0, 0x14($s0) -/* 0A2054 7F06D524 8E380054 */ lw $t8, 0x54($s1) -.L7F06D528: -/* 0A2058 7F06D528 02202025 */ move $a0, $s1 -/* 0A205C 7F06D52C 26050008 */ addiu $a1, $s0, 8 -/* 0A2060 7F06D530 17000006 */ bnez $t8, .L7F06D54C -/* 0A2064 7F06D534 27A6002C */ addiu $a2, $sp, 0x2c -/* 0A2068 7F06D538 C6300084 */ lwc1 $f16, 0x84($s1) -/* 0A206C 7F06D53C 46107032 */ c.eq.s $f14, $f16 -/* 0A2070 7F06D540 00000000 */ nop -/* 0A2074 7F06D544 45030015 */ bc1tl .L7F06D59C -/* 0A2078 7F06D548 C7A40038 */ lwc1 $f4, 0x38($sp) -.L7F06D54C: -/* 0A207C 7F06D54C 82190002 */ lb $t9, 2($s0) -/* 0A2080 7F06D550 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0A2084 7F06D554 53200011 */ beql $t9, $zero, .L7F06D59C -/* 0A2088 7F06D558 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0A208C 7F06D55C C622005C */ lwc1 $f2, 0x5c($s1) -/* 0A2090 7F06D560 C6000050 */ lwc1 $f0, 0x50($s0) -/* 0A2094 7F06D564 C62C0084 */ lwc1 $f12, 0x84($s1) -/* 0A2098 7F06D568 46027032 */ c.eq.s $f14, $f2 -/* 0A209C 7F06D56C 00000000 */ nop -/* 0A20A0 7F06D570 45030006 */ bc1tl .L7F06D58C -/* 0A20A4 7F06D574 46080281 */ sub.s $f10, $f0, $f8 -/* 0A20A8 7F06D578 C6120044 */ lwc1 $f18, 0x44($s0) -/* 0A20AC 7F06D57C 46009101 */ sub.s $f4, $f18, $f0 -/* 0A20B0 7F06D580 46022182 */ mul.s $f6, $f4, $f2 -/* 0A20B4 7F06D584 46060000 */ add.s $f0, $f0, $f6 -/* 0A20B8 7F06D588 46080281 */ sub.s $f10, $f0, $f8 -.L7F06D58C: -/* 0A20BC 7F06D58C 460C5402 */ mul.s $f16, $f10, $f12 -/* 0A20C0 7F06D590 46104480 */ add.s $f18, $f8, $f16 -/* 0A20C4 7F06D594 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 0A20C8 7F06D598 C7A40038 */ lwc1 $f4, 0x38($sp) -.L7F06D59C: -/* 0A20CC 7F06D59C C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0A20D0 7F06D5A0 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0A20D4 7F06D5A4 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0A20D8 7F06D5A8 E7A60030 */ swc1 $f6, 0x30($sp) -/* 0A20DC 7F06D5AC E7AA0034 */ swc1 $f10, 0x34($sp) -/* 0A20E0 7F06D5B0 8E2200A0 */ lw $v0, 0xa0($s1) -/* 0A20E4 7F06D5B4 50400006 */ beql $v0, $zero, .L7F06D5D0 -/* 0A20E8 7F06D5B8 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 0A20EC 7F06D5BC 0040F809 */ jalr $v0 -/* 0A20F0 7F06D5C0 26070004 */ addiu $a3, $s0, 4 -/* 0A20F4 7F06D5C4 50400036 */ beql $v0, $zero, .L7F06D6A0 -/* 0A20F8 7F06D5C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A20FC 7F06D5CC C7A8002C */ lwc1 $f8, 0x2c($sp) -.L7F06D5D0: -/* 0A2100 7F06D5D0 C7B00038 */ lwc1 $f16, 0x38($sp) -/* 0A2104 7F06D5D4 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 0A2108 7F06D5D8 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 0A210C 7F06D5DC 46104481 */ sub.s $f18, $f8, $f16 -/* 0A2110 7F06D5E0 46062281 */ sub.s $f10, $f4, $f6 -/* 0A2114 7F06D5E4 E7B20038 */ swc1 $f18, 0x38($sp) -/* 0A2118 7F06D5E8 E7AA0040 */ swc1 $f10, 0x40($sp) -/* 0A211C 7F06D5EC E6080008 */ swc1 $f8, 8($s0) -/* 0A2120 7F06D5F0 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 0A2124 7F06D5F4 C6120004 */ lwc1 $f18, 4($s0) -/* 0A2128 7F06D5F8 C60A0034 */ lwc1 $f10, 0x34($s0) -/* 0A212C 7F06D5FC 82080001 */ lb $t0, 1($s0) -/* 0A2130 7F06D600 46128100 */ add.s $f4, $f16, $f18 -/* 0A2134 7F06D604 C612003C */ lwc1 $f18, 0x3c($s0) -/* 0A2138 7F06D608 E604000C */ swc1 $f4, 0xc($s0) -/* 0A213C 7F06D60C C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0A2140 7F06D610 E6060010 */ swc1 $f6, 0x10($s0) -/* 0A2144 7F06D614 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0A2148 7F06D618 46085400 */ add.s $f16, $f10, $f8 -/* 0A214C 7F06D61C E6100034 */ swc1 $f16, 0x34($s0) -/* 0A2150 7F06D620 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0A2154 7F06D624 46049180 */ add.s $f6, $f18, $f4 -/* 0A2158 7F06D628 11000009 */ beqz $t0, .L7F06D650 -/* 0A215C 7F06D62C E606003C */ swc1 $f6, 0x3c($s0) -/* 0A2160 7F06D630 C60A0024 */ lwc1 $f10, 0x24($s0) -/* 0A2164 7F06D634 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0A2168 7F06D638 C612002C */ lwc1 $f18, 0x2c($s0) -/* 0A216C 7F06D63C 46085400 */ add.s $f16, $f10, $f8 -/* 0A2170 7F06D640 E6100024 */ swc1 $f16, 0x24($s0) -/* 0A2174 7F06D644 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0A2178 7F06D648 46049180 */ add.s $f6, $f18, $f4 -/* 0A217C 7F06D64C E606002C */ swc1 $f6, 0x2c($s0) -.L7F06D650: -/* 0A2180 7F06D650 82090002 */ lb $t1, 2($s0) -/* 0A2184 7F06D654 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0A2188 7F06D658 51200011 */ beql $t1, $zero, .L7F06D6A0 -/* 0A218C 7F06D65C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A2190 7F06D660 C60A004C */ lwc1 $f10, 0x4c($s0) -/* 0A2194 7F06D664 C6120054 */ lwc1 $f18, 0x54($s0) -/* 0A2198 7F06D668 46085400 */ add.s $f16, $f10, $f8 -/* 0A219C 7F06D66C C60A0040 */ lwc1 $f10, 0x40($s0) -/* 0A21A0 7F06D670 E610004C */ swc1 $f16, 0x4c($s0) -/* 0A21A4 7F06D674 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0A21A8 7F06D678 46049180 */ add.s $f6, $f18, $f4 -/* 0A21AC 7F06D67C C6120048 */ lwc1 $f18, 0x48($s0) -/* 0A21B0 7F06D680 E6060054 */ swc1 $f6, 0x54($s0) -/* 0A21B4 7F06D684 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0A21B8 7F06D688 46085400 */ add.s $f16, $f10, $f8 -/* 0A21BC 7F06D68C E6100040 */ swc1 $f16, 0x40($s0) -/* 0A21C0 7F06D690 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0A21C4 7F06D694 46049180 */ add.s $f6, $f18, $f4 -/* 0A21C8 7F06D698 E6060048 */ swc1 $f6, 0x48($s0) -/* 0A21CC 7F06D69C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F06D6A0: -/* 0A21D0 7F06D6A0 8FB00014 */ lw $s0, 0x14($sp) -/* 0A21D4 7F06D6A4 8FB10018 */ lw $s1, 0x18($sp) -/* 0A21D8 7F06D6A8 03E00008 */ jr $ra -/* 0A21DC 7F06D6AC 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void subcalcpos(void) { - -} -#else -GLOBAL_ASM( -.text -glabel subcalcpos -/* 0A21E0 7F06D6B0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A21E4 7F06D6B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A21E8 7F06D6B8 14800006 */ bnez $a0, .L7F06D6D4 -/* 0A21EC 7F06D6BC AFA40018 */ sw $a0, 0x18($sp) -/* 0A21F0 7F06D6C0 3C048005 */ lui $a0, %hi(aSubcalcposNoObjanim) -/* 0A21F4 7F06D6C4 0C0033D1 */ jal osSyncPrintf -/* 0A21F8 7F06D6C8 24844858 */ addiu $a0, %lo(aSubcalcposNoObjanim) # addiu $a0, $a0, 0x4858 -/* 0A21FC 7F06D6CC 0FC1B11B */ jal return_null -/* 0A2200 7F06D6D0 00000000 */ nop -.L7F06D6D4: -/* 0A2204 7F06D6D4 8FAF0018 */ lw $t7, 0x18($sp) -/* 0A2208 7F06D6D8 3C048005 */ lui $a0, %hi(aSubcalcposNoObjdesc) -/* 0A220C 7F06D6DC 8DE20008 */ lw $v0, 8($t7) -/* 0A2210 7F06D6E0 54400008 */ bnezl $v0, .L7F06D704 -/* 0A2214 7F06D6E4 8C450000 */ lw $a1, ($v0) -/* 0A2218 7F06D6E8 0C0033D1 */ jal osSyncPrintf -/* 0A221C 7F06D6EC 24844874 */ addiu $a0, %lo(aSubcalcposNoObjdesc) # addiu $a0, $a0, 0x4874 -/* 0A2220 7F06D6F0 0FC1B11B */ jal return_null -/* 0A2224 7F06D6F4 00000000 */ nop -/* 0A2228 7F06D6F8 8FB80018 */ lw $t8, 0x18($sp) -/* 0A222C 7F06D6FC 8F020008 */ lw $v0, 8($t8) -/* 0A2230 7F06D700 8C450000 */ lw $a1, ($v0) -.L7F06D704: -/* 0A2234 7F06D704 50A00009 */ beql $a1, $zero, .L7F06D72C -/* 0A2238 7F06D708 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A223C 7F06D70C 94B90000 */ lhu $t9, ($a1) -/* 0A2240 7F06D710 24010001 */ li $at, 1 -/* 0A2244 7F06D714 332800FF */ andi $t0, $t9, 0xff -/* 0A2248 7F06D718 55010004 */ bnel $t0, $at, .L7F06D72C -/* 0A224C 7F06D71C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A2250 7F06D720 0FC1B524 */ jal sub_GAME_7F06D490 -/* 0A2254 7F06D724 8FA40018 */ lw $a0, 0x18($sp) -/* 0A2258 7F06D728 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06D72C: -/* 0A225C 7F06D72C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A2260 7F06D730 03E00008 */ jr $ra -/* 0A2264 7F06D734 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void process_01_group_heading(void) { - -} -#else -GLOBAL_ASM( -.text -glabel process_01_group_heading -/* 0A2268 7F06D738 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0A226C 7F06D73C AFBF0014 */ sw $ra, 0x14($sp) -/* 0A2270 7F06D740 AFA40080 */ sw $a0, 0x80($sp) -/* 0A2274 7F06D744 8CCE0004 */ lw $t6, 4($a2) -/* 0A2278 7F06D748 00A03825 */ move $a3, $a1 -/* 0A227C 7F06D74C 00A02025 */ move $a0, $a1 -/* 0A2280 7F06D750 00C02825 */ move $a1, $a2 -/* 0A2284 7F06D754 AFA70084 */ sw $a3, 0x84($sp) -/* 0A2288 7F06D758 AFA60088 */ sw $a2, 0x88($sp) -/* 0A228C 7F06D75C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A2290 7F06D760 AFAE007C */ sw $t6, 0x7c($sp) -/* 0A2294 7F06D764 8FA70084 */ lw $a3, 0x84($sp) -/* 0A2298 7F06D768 8FB8007C */ lw $t8, 0x7c($sp) -/* 0A229C 7F06D76C 244F0008 */ addiu $t7, $v0, 8 -/* 0A22A0 7F06D770 C4E40014 */ lwc1 $f4, 0x14($a3) -/* 0A22A4 7F06D774 AFAF0070 */ sw $t7, 0x70($sp) -/* 0A22A8 7F06D778 8FA60088 */ lw $a2, 0x88($sp) -/* 0A22AC 7F06D77C E7A40074 */ swc1 $f4, 0x74($sp) -/* 0A22B0 7F06D780 87030002 */ lh $v1, 2($t8) -/* 0A22B4 7F06D784 8CF9000C */ lw $t9, 0xc($a3) -/* 0A22B8 7F06D788 C44C0014 */ lwc1 $f12, 0x14($v0) -/* 0A22BC 7F06D78C 00034980 */ sll $t1, $v1, 6 -/* 0A22C0 7F06D790 03295021 */ addu $t2, $t9, $t1 -/* 0A22C4 7F06D794 AFAA0060 */ sw $t2, 0x60($sp) -/* 0A22C8 7F06D798 8CC50008 */ lw $a1, 8($a2) -/* 0A22CC 7F06D79C 00404025 */ move $t0, $v0 -/* 0A22D0 7F06D7A0 8FAB0080 */ lw $t3, 0x80($sp) -/* 0A22D4 7F06D7A4 10A00009 */ beqz $a1, .L7F06D7CC -/* 0A22D8 7F06D7A8 00E02025 */ move $a0, $a3 -/* 0A22DC 7F06D7AC 00003025 */ move $a2, $zero -/* 0A22E0 7F06D7B0 AFA20078 */ sw $v0, 0x78($sp) -/* 0A22E4 7F06D7B4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A22E8 7F06D7B8 E7AC006C */ swc1 $f12, 0x6c($sp) -/* 0A22EC 7F06D7BC 8FA80078 */ lw $t0, 0x78($sp) -/* 0A22F0 7F06D7C0 C7AC006C */ lwc1 $f12, 0x6c($sp) -/* 0A22F4 7F06D7C4 10000002 */ b .L7F06D7D0 -/* 0A22F8 7F06D7C8 00403825 */ move $a3, $v0 -.L7F06D7CC: -/* 0A22FC 7F06D7CC 8D670000 */ lw $a3, ($t3) -.L7F06D7D0: -/* 0A2300 7F06D7D0 C5000018 */ lwc1 $f0, 0x18($t0) -/* 0A2304 7F06D7D4 44803000 */ mtc1 $zero, $f6 -/* 0A2308 7F06D7D8 00000000 */ nop -/* 0A230C 7F06D7DC 46003032 */ c.eq.s $f6, $f0 -/* 0A2310 7F06D7E0 00000000 */ nop -/* 0A2314 7F06D7E4 45010007 */ bc1t .L7F06D804 -/* 0A2318 7F06D7E8 00000000 */ nop -/* 0A231C 7F06D7EC C50E001C */ lwc1 $f14, 0x1c($t0) -/* 0A2320 7F06D7F0 44060000 */ mfc1 $a2, $f0 -/* 0A2324 7F06D7F4 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A2328 7F06D7F8 AFA70068 */ sw $a3, 0x68($sp) -/* 0A232C 7F06D7FC 8FA70068 */ lw $a3, 0x68($sp) -/* 0A2330 7F06D800 46000306 */ mov.s $f12, $f0 -.L7F06D804: -/* 0A2334 7F06D804 10E00019 */ beqz $a3, .L7F06D86C -/* 0A2338 7F06D808 8FA40070 */ lw $a0, 0x70($sp) -/* 0A233C 7F06D80C 44056000 */ mfc1 $a1, $f12 -/* 0A2340 7F06D810 8FA40070 */ lw $a0, 0x70($sp) -/* 0A2344 7F06D814 27A60020 */ addiu $a2, $sp, 0x20 -/* 0A2348 7F06D818 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0A234C 7F06D81C AFA70068 */ sw $a3, 0x68($sp) -/* 0A2350 7F06D820 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A2354 7F06D824 44815000 */ mtc1 $at, $f10 -/* 0A2358 7F06D828 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0A235C 7F06D82C 8FA70068 */ lw $a3, 0x68($sp) -/* 0A2360 7F06D830 27A50020 */ addiu $a1, $sp, 0x20 -/* 0A2364 7F06D834 460A4032 */ c.eq.s $f8, $f10 -/* 0A2368 7F06D838 00000000 */ nop -/* 0A236C 7F06D83C 45030006 */ bc1tl .L7F06D858 -/* 0A2370 7F06D840 00E02025 */ move $a0, $a3 -/* 0A2374 7F06D844 46004306 */ mov.s $f12, $f8 -/* 0A2378 7F06D848 0FC162C4 */ jal sub_GAME_7F058B10 -/* 0A237C 7F06D84C AFA70068 */ sw $a3, 0x68($sp) -/* 0A2380 7F06D850 8FA70068 */ lw $a3, 0x68($sp) -/* 0A2384 7F06D854 00E02025 */ move $a0, $a3 -.L7F06D858: -/* 0A2388 7F06D858 27A50020 */ addiu $a1, $sp, 0x20 -/* 0A238C 7F06D85C 0FC16063 */ jal sub_GAME_7F05818C -/* 0A2390 7F06D860 8FA60060 */ lw $a2, 0x60($sp) -/* 0A2394 7F06D864 1000000F */ b .L7F06D8A4 -/* 0A2398 7F06D868 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06D86C: -/* 0A239C 7F06D86C 44056000 */ mfc1 $a1, $f12 -/* 0A23A0 7F06D870 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0A23A4 7F06D874 8FA60060 */ lw $a2, 0x60($sp) -/* 0A23A8 7F06D878 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A23AC 7F06D87C 44819000 */ mtc1 $at, $f18 -/* 0A23B0 7F06D880 C7B00074 */ lwc1 $f16, 0x74($sp) -/* 0A23B4 7F06D884 8FA50060 */ lw $a1, 0x60($sp) -/* 0A23B8 7F06D888 46128032 */ c.eq.s $f16, $f18 -/* 0A23BC 7F06D88C 00000000 */ nop -/* 0A23C0 7F06D890 45030004 */ bc1tl .L7F06D8A4 -/* 0A23C4 7F06D894 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A23C8 7F06D898 0FC162C4 */ jal sub_GAME_7F058B10 -/* 0A23CC 7F06D89C 46008306 */ mov.s $f12, $f16 -/* 0A23D0 7F06D8A0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06D8A4: -/* 0A23D4 7F06D8A4 27BD0080 */ addiu $sp, $sp, 0x80 -/* 0A23D8 7F06D8A8 03E00008 */ jr $ra -/* 0A23DC 7F06D8AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06D8B0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054BC4 -.word 0x40490fdb /*3.1415927*/ -glabel D_80054BC8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054BCC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054BD0 -.word 0x40490fdb /*3.1415927*/ -glabel D_80054BD4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054BD8 -.word 0x3f63dec6 /*0.890118*/ -.text -glabel sub_GAME_7F06D8B0 -/* 0A23E0 7F06D8B0 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0A23E4 7F06D8B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A23E8 7F06D8B8 AFA500BC */ sw $a1, 0xbc($sp) -/* 0A23EC 7F06D8BC AFA700C4 */ sw $a3, 0xc4($sp) -/* 0A23F0 7F06D8C0 94CE0000 */ lhu $t6, ($a2) -/* 0A23F4 7F06D8C4 AFAE00B4 */ sw $t6, 0xb4($sp) -/* 0A23F8 7F06D8C8 8CCF0004 */ lw $t7, 4($a2) -/* 0A23FC 7F06D8CC AFAF00B0 */ sw $t7, 0xb0($sp) -/* 0A2400 7F06D8D0 85F9000E */ lh $t9, 0xe($t7) -/* 0A2404 7F06D8D4 AFB90064 */ sw $t9, 0x64($sp) -/* 0A2408 7F06D8D8 85E80010 */ lh $t0, 0x10($t7) -/* 0A240C 7F06D8DC AFA80060 */ sw $t0, 0x60($sp) -/* 0A2410 7F06D8E0 85E90012 */ lh $t1, 0x12($t7) -/* 0A2414 7F06D8E4 AFA9005C */ sw $t1, 0x5c($sp) -/* 0A2418 7F06D8E8 8CAB000C */ lw $t3, 0xc($a1) -/* 0A241C 7F06D8EC AFAB0058 */ sw $t3, 0x58($sp) -/* 0A2420 7F06D8F0 8CCC0008 */ lw $t4, 8($a2) -/* 0A2424 7F06D8F4 00003025 */ move $a2, $zero -/* 0A2428 7F06D8F8 11800006 */ beqz $t4, .L7F06D914 -/* 0A242C 7F06D8FC AFAC001C */ sw $t4, 0x1c($sp) -/* 0A2430 7F06D900 00A02025 */ move $a0, $a1 -/* 0A2434 7F06D904 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A2438 7F06D908 01802825 */ move $a1, $t4 -/* 0A243C 7F06D90C 10000003 */ b .L7F06D91C -/* 0A2440 7F06D910 AFA200AC */ sw $v0, 0xac($sp) -.L7F06D914: -/* 0A2444 7F06D914 8C8E0000 */ lw $t6, ($a0) -/* 0A2448 7F06D918 AFAE00AC */ sw $t6, 0xac($sp) -.L7F06D91C: -/* 0A244C 7F06D91C 8FAF00AC */ lw $t7, 0xac($sp) -/* 0A2450 7F06D920 8FA90064 */ lw $t1, 0x64($sp) -/* 0A2454 7F06D924 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0A2458 7F06D928 11E00017 */ beqz $t7, .L7F06D988 -/* 0A245C 7F06D92C 00095980 */ sll $t3, $t1, 6 -/* 0A2460 7F06D930 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0A2464 7F06D934 8FA500C4 */ lw $a1, 0xc4($sp) -/* 0A2468 7F06D938 0FC1624B */ jal sub_GAME_7F05892C -/* 0A246C 7F06D93C 27A60068 */ addiu $a2, $sp, 0x68 -/* 0A2470 7F06D940 8FB90064 */ lw $t9, 0x64($sp) -/* 0A2474 7F06D944 8FB80058 */ lw $t8, 0x58($sp) -/* 0A2478 7F06D948 8FA400AC */ lw $a0, 0xac($sp) -/* 0A247C 7F06D94C 00194180 */ sll $t0, $t9, 6 -/* 0A2480 7F06D950 01183021 */ addu $a2, $t0, $t8 -/* 0A2484 7F06D954 AFA6001C */ sw $a2, 0x1c($sp) -/* 0A2488 7F06D958 0FC16063 */ jal sub_GAME_7F05818C -/* 0A248C 7F06D95C 27A50068 */ addiu $a1, $sp, 0x68 -/* 0A2490 7F06D960 3C028003 */ lui $v0, %hi(D_80036090) -/* 0A2494 7F06D964 8C426090 */ lw $v0, %lo(D_80036090)($v0) -/* 0A2498 7F06D968 8FA6001C */ lw $a2, 0x1c($sp) -/* 0A249C 7F06D96C 8FA40064 */ lw $a0, 0x64($sp) -/* 0A24A0 7F06D970 5040000A */ beql $v0, $zero, .L7F06D99C -/* 0A24A4 7F06D974 8FAA00B4 */ lw $t2, 0xb4($sp) -/* 0A24A8 7F06D978 0040F809 */ jalr $v0 -/* 0A24AC 7F06D97C 00C02825 */ move $a1, $a2 -/* 0A24B0 7F06D980 10000006 */ b .L7F06D99C -/* 0A24B4 7F06D984 8FAA00B4 */ lw $t2, 0xb4($sp) -.L7F06D988: -/* 0A24B8 7F06D988 8FAC0058 */ lw $t4, 0x58($sp) -/* 0A24BC 7F06D98C 8FA500C4 */ lw $a1, 0xc4($sp) -/* 0A24C0 7F06D990 0FC1624B */ jal sub_GAME_7F05892C -/* 0A24C4 7F06D994 016C3021 */ addu $a2, $t3, $t4 -/* 0A24C8 7F06D998 8FAA00B4 */ lw $t2, 0xb4($sp) -.L7F06D99C: -/* 0A24CC 7F06D99C 8FA400C4 */ lw $a0, 0xc4($sp) -/* 0A24D0 7F06D9A0 314D0100 */ andi $t5, $t2, 0x100 -/* 0A24D4 7F06D9A4 51A0001D */ beql $t5, $zero, .L7F06DA1C -/* 0A24D8 7F06D9A8 8FAC00B4 */ lw $t4, 0xb4($sp) -/* 0A24DC 7F06D9AC 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 0A24E0 7F06D9B0 27A5003C */ addiu $a1, $sp, 0x3c -/* 0A24E4 7F06D9B4 27A4003C */ addiu $a0, $sp, 0x3c -/* 0A24E8 7F06D9B8 3C053F00 */ lui $a1, 0x3f00 -/* 0A24EC 7F06D9BC 0FC16F1A */ jal sub_GAME_7F05BC68 -/* 0A24F0 7F06D9C0 27A6002C */ addiu $a2, $sp, 0x2c -/* 0A24F4 7F06D9C4 8FAE00AC */ lw $t6, 0xac($sp) -/* 0A24F8 7F06D9C8 8FB80060 */ lw $t8, 0x60($sp) -/* 0A24FC 7F06D9CC 27A5002C */ addiu $a1, $sp, 0x2c -/* 0A2500 7F06D9D0 11C0000D */ beqz $t6, .L7F06DA08 -/* 0A2504 7F06D9D4 00184980 */ sll $t1, $t8, 6 -/* 0A2508 7F06D9D8 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0A250C 7F06D9DC 0FC16E6D */ jal sub_GAME_7F05B9B4 -/* 0A2510 7F06D9E0 27A60068 */ addiu $a2, $sp, 0x68 -/* 0A2514 7F06D9E4 8FAF0060 */ lw $t7, 0x60($sp) -/* 0A2518 7F06D9E8 8FA80058 */ lw $t0, 0x58($sp) -/* 0A251C 7F06D9EC 8FA400AC */ lw $a0, 0xac($sp) -/* 0A2520 7F06D9F0 000FC980 */ sll $t9, $t7, 6 -/* 0A2524 7F06D9F4 27A50068 */ addiu $a1, $sp, 0x68 -/* 0A2528 7F06D9F8 0FC16063 */ jal sub_GAME_7F05818C -/* 0A252C 7F06D9FC 03283021 */ addu $a2, $t9, $t0 -/* 0A2530 7F06DA00 10000006 */ b .L7F06DA1C -/* 0A2534 7F06DA04 8FAC00B4 */ lw $t4, 0xb4($sp) -.L7F06DA08: -/* 0A2538 7F06DA08 8FAB0058 */ lw $t3, 0x58($sp) -/* 0A253C 7F06DA0C 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0A2540 7F06DA10 0FC16E6D */ jal sub_GAME_7F05B9B4 -/* 0A2544 7F06DA14 012B3021 */ addu $a2, $t1, $t3 -/* 0A2548 7F06DA18 8FAC00B4 */ lw $t4, 0xb4($sp) -.L7F06DA1C: -/* 0A254C 7F06DA1C 8FAD00AC */ lw $t5, 0xac($sp) -/* 0A2550 7F06DA20 318A0200 */ andi $t2, $t4, 0x200 -/* 0A2554 7F06DA24 5140004A */ beql $t2, $zero, .L7F06DB50 -/* 0A2558 7F06DA28 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A255C 7F06DA2C 11A00004 */ beqz $t5, .L7F06DA40 -/* 0A2560 7F06DA30 8FAF005C */ lw $t7, 0x5c($sp) -/* 0A2564 7F06DA34 27AE0068 */ addiu $t6, $sp, 0x68 -/* 0A2568 7F06DA38 10000005 */ b .L7F06DA50 -/* 0A256C 7F06DA3C AFAE0028 */ sw $t6, 0x28($sp) -.L7F06DA40: -/* 0A2570 7F06DA40 8FA80058 */ lw $t0, 0x58($sp) -/* 0A2574 7F06DA44 000FC980 */ sll $t9, $t7, 6 -/* 0A2578 7F06DA48 0328C021 */ addu $t8, $t9, $t0 -/* 0A257C 7F06DA4C AFB80028 */ sw $t8, 0x28($sp) -.L7F06DA50: -/* 0A2580 7F06DA50 8FA900C4 */ lw $t1, 0xc4($sp) -/* 0A2584 7F06DA54 3C018005 */ lui $at, %hi(D_80054BC4) -/* 0A2588 7F06DA58 C4244BC4 */ lwc1 $f4, %lo(D_80054BC4)($at) -/* 0A258C 7F06DA5C C52C0004 */ lwc1 $f12, 4($t1) -/* 0A2590 7F06DA60 3C018005 */ lui $at, %hi(D_80054BC8) -/* 0A2594 7F06DA64 8FA50028 */ lw $a1, 0x28($sp) -/* 0A2598 7F06DA68 4604603C */ c.lt.s $f12, $f4 -/* 0A259C 7F06DA6C 00000000 */ nop -/* 0A25A0 7F06DA70 45000007 */ bc1f .L7F06DA90 -/* 0A25A4 7F06DA74 00000000 */ nop -/* 0A25A8 7F06DA78 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A25AC 7F06DA7C 44813000 */ mtc1 $at, $f6 -/* 0A25B0 7F06DA80 00000000 */ nop -/* 0A25B4 7F06DA84 46066302 */ mul.s $f12, $f12, $f6 -/* 0A25B8 7F06DA88 10000009 */ b .L7F06DAB0 -/* 0A25BC 7F06DA8C 00000000 */ nop -.L7F06DA90: -/* 0A25C0 7F06DA90 C4284BC8 */ lwc1 $f8, %lo(D_80054BC8)($at) -/* 0A25C4 7F06DA94 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A25C8 7F06DA98 44818000 */ mtc1 $at, $f16 -/* 0A25CC 7F06DA9C 460C4281 */ sub.s $f10, $f8, $f12 -/* 0A25D0 7F06DAA0 3C018005 */ lui $at, %hi(D_80054BCC) -/* 0A25D4 7F06DAA4 C4244BCC */ lwc1 $f4, %lo(D_80054BCC)($at) -/* 0A25D8 7F06DAA8 46105482 */ mul.s $f18, $f10, $f16 -/* 0A25DC 7F06DAAC 46122301 */ sub.s $f12, $f4, $f18 -.L7F06DAB0: -/* 0A25E0 7F06DAB0 0FC1617F */ jal sub_GAME_7F0585FC -/* 0A25E4 7F06DAB4 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 0A25E8 7F06DAB8 3C018005 */ lui $at, %hi(D_80054BD0) -/* 0A25EC 7F06DABC C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 0A25F0 7F06DAC0 C4264BD0 */ lwc1 $f6, %lo(D_80054BD0)($at) -/* 0A25F4 7F06DAC4 3C018005 */ lui $at, %hi(D_80054BD4) -/* 0A25F8 7F06DAC8 460C303E */ c.le.s $f6, $f12 -/* 0A25FC 7F06DACC 00000000 */ nop -/* 0A2600 7F06DAD0 45000003 */ bc1f .L7F06DAE0 -/* 0A2604 7F06DAD4 00000000 */ nop -/* 0A2608 7F06DAD8 C4284BD4 */ lwc1 $f8, %lo(D_80054BD4)($at) -/* 0A260C 7F06DADC 460C4301 */ sub.s $f12, $f8, $f12 -.L7F06DAE0: -/* 0A2610 7F06DAE0 3C018005 */ lui $at, %hi(D_80054BD8) -/* 0A2614 7F06DAE4 C42A4BD8 */ lwc1 $f10, %lo(D_80054BD8)($at) -/* 0A2618 7F06DAE8 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0A261C 7F06DAEC 460A603C */ c.lt.s $f12, $f10 -/* 0A2620 7F06DAF0 00000000 */ nop -/* 0A2624 7F06DAF4 45020006 */ bc1fl .L7F06DB10 -/* 0A2628 7F06DAF8 44816000 */ mtc1 $at, $f12 -/* 0A262C 7F06DAFC 0FC16A78 */ jal sub_GAME_7F05A9E0 -/* 0A2630 7F06DB00 00000000 */ nop -/* 0A2634 7F06DB04 10000003 */ b .L7F06DB14 -/* 0A2638 7F06DB08 46000306 */ mov.s $f12, $f0 -/* 0A263C 7F06DB0C 44816000 */ mtc1 $at, $f12 -.L7F06DB10: -/* 0A2640 7F06DB10 00000000 */ nop -.L7F06DB14: -/* 0A2644 7F06DB14 0FC16293 */ jal sub_GAME_7F058A4C -/* 0A2648 7F06DB18 8FA50028 */ lw $a1, 0x28($sp) -/* 0A264C 7F06DB1C 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0A2650 7F06DB20 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0A2654 7F06DB24 8FA50028 */ lw $a1, 0x28($sp) -/* 0A2658 7F06DB28 8FAB00AC */ lw $t3, 0xac($sp) -/* 0A265C 7F06DB2C 8FAC005C */ lw $t4, 0x5c($sp) -/* 0A2660 7F06DB30 8FAD0058 */ lw $t5, 0x58($sp) -/* 0A2664 7F06DB34 11600005 */ beqz $t3, .L7F06DB4C -/* 0A2668 7F06DB38 01602025 */ move $a0, $t3 -/* 0A266C 7F06DB3C 000C5180 */ sll $t2, $t4, 6 -/* 0A2670 7F06DB40 014D3021 */ addu $a2, $t2, $t5 -/* 0A2674 7F06DB44 0FC16063 */ jal sub_GAME_7F05818C -/* 0A2678 7F06DB48 8FA50028 */ lw $a1, 0x28($sp) -.L7F06DB4C: -/* 0A267C 7F06DB4C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06DB50: -/* 0A2680 7F06DB50 27BD00B8 */ addiu $sp, $sp, 0xb8 -/* 0A2684 7F06DB54 03E00008 */ jr $ra -/* 0A2688 7F06DB58 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06DB5C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054BDC -.word 0x40490fdb /*3.1415927*/ -glabel D_80054BE0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054BE4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054BE8 -.word 0x40490fdb /*3.1415927*/ -glabel D_80054BEC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054BF0 -.word 0x3f63dec6 /*0.890118*/ -.text -glabel sub_GAME_7F06DB5C -/* 0A268C 7F06DB5C 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 0A2690 7F06DB60 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A2694 7F06DB64 AFA500AC */ sw $a1, 0xac($sp) -/* 0A2698 7F06DB68 AFA700B4 */ sw $a3, 0xb4($sp) -/* 0A269C 7F06DB6C 94CE0000 */ lhu $t6, ($a2) -/* 0A26A0 7F06DB70 AFAE00A4 */ sw $t6, 0xa4($sp) -/* 0A26A4 7F06DB74 8CCF0004 */ lw $t7, 4($a2) -/* 0A26A8 7F06DB78 AFAF00A0 */ sw $t7, 0xa0($sp) -/* 0A26AC 7F06DB7C 85F9000E */ lh $t9, 0xe($t7) -/* 0A26B0 7F06DB80 AFB90054 */ sw $t9, 0x54($sp) -/* 0A26B4 7F06DB84 85E80010 */ lh $t0, 0x10($t7) -/* 0A26B8 7F06DB88 AFA80050 */ sw $t0, 0x50($sp) -/* 0A26BC 7F06DB8C 85E90012 */ lh $t1, 0x12($t7) -/* 0A26C0 7F06DB90 AFA9004C */ sw $t1, 0x4c($sp) -/* 0A26C4 7F06DB94 8CAB000C */ lw $t3, 0xc($a1) -/* 0A26C8 7F06DB98 AFAB0048 */ sw $t3, 0x48($sp) -/* 0A26CC 7F06DB9C 8CCC0008 */ lw $t4, 8($a2) -/* 0A26D0 7F06DBA0 00003025 */ move $a2, $zero -/* 0A26D4 7F06DBA4 11800006 */ beqz $t4, .L7F06DBC0 -/* 0A26D8 7F06DBA8 AFAC001C */ sw $t4, 0x1c($sp) -/* 0A26DC 7F06DBAC 00A02025 */ move $a0, $a1 -/* 0A26E0 7F06DBB0 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A26E4 7F06DBB4 01802825 */ move $a1, $t4 -/* 0A26E8 7F06DBB8 10000003 */ b .L7F06DBC8 -/* 0A26EC 7F06DBBC AFA2009C */ sw $v0, 0x9c($sp) -.L7F06DBC0: -/* 0A26F0 7F06DBC0 8C8E0000 */ lw $t6, ($a0) -/* 0A26F4 7F06DBC4 AFAE009C */ sw $t6, 0x9c($sp) -.L7F06DBC8: -/* 0A26F8 7F06DBC8 8FAF009C */ lw $t7, 0x9c($sp) -/* 0A26FC 7F06DBCC 8FA90054 */ lw $t1, 0x54($sp) -/* 0A2700 7F06DBD0 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A2704 7F06DBD4 11E00017 */ beqz $t7, .L7F06DC34 -/* 0A2708 7F06DBD8 00095980 */ sll $t3, $t1, 6 -/* 0A270C 7F06DBDC 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A2710 7F06DBE0 8FA500B4 */ lw $a1, 0xb4($sp) -/* 0A2714 7F06DBE4 0FC16E6D */ jal sub_GAME_7F05B9B4 -/* 0A2718 7F06DBE8 27A60058 */ addiu $a2, $sp, 0x58 -/* 0A271C 7F06DBEC 8FB90054 */ lw $t9, 0x54($sp) -/* 0A2720 7F06DBF0 8FB80048 */ lw $t8, 0x48($sp) -/* 0A2724 7F06DBF4 8FA4009C */ lw $a0, 0x9c($sp) -/* 0A2728 7F06DBF8 00194180 */ sll $t0, $t9, 6 -/* 0A272C 7F06DBFC 01183021 */ addu $a2, $t0, $t8 -/* 0A2730 7F06DC00 AFA6001C */ sw $a2, 0x1c($sp) -/* 0A2734 7F06DC04 0FC16063 */ jal sub_GAME_7F05818C -/* 0A2738 7F06DC08 27A50058 */ addiu $a1, $sp, 0x58 -/* 0A273C 7F06DC0C 3C028003 */ lui $v0, %hi(D_80036090) -/* 0A2740 7F06DC10 8C426090 */ lw $v0, %lo(D_80036090)($v0) -/* 0A2744 7F06DC14 8FA6001C */ lw $a2, 0x1c($sp) -/* 0A2748 7F06DC18 8FA40054 */ lw $a0, 0x54($sp) -/* 0A274C 7F06DC1C 5040000A */ beql $v0, $zero, .L7F06DC48 -/* 0A2750 7F06DC20 8FAA00A4 */ lw $t2, 0xa4($sp) -/* 0A2754 7F06DC24 0040F809 */ jalr $v0 -/* 0A2758 7F06DC28 00C02825 */ move $a1, $a2 -/* 0A275C 7F06DC2C 10000006 */ b .L7F06DC48 -/* 0A2760 7F06DC30 8FAA00A4 */ lw $t2, 0xa4($sp) -.L7F06DC34: -/* 0A2764 7F06DC34 8FAC0048 */ lw $t4, 0x48($sp) -/* 0A2768 7F06DC38 8FA500B4 */ lw $a1, 0xb4($sp) -/* 0A276C 7F06DC3C 0FC16E6D */ jal sub_GAME_7F05B9B4 -/* 0A2770 7F06DC40 016C3021 */ addu $a2, $t3, $t4 -/* 0A2774 7F06DC44 8FAA00A4 */ lw $t2, 0xa4($sp) -.L7F06DC48: -/* 0A2778 7F06DC48 8FA400B4 */ lw $a0, 0xb4($sp) -/* 0A277C 7F06DC4C 3C053F00 */ lui $a1, 0x3f00 -/* 0A2780 7F06DC50 314D0100 */ andi $t5, $t2, 0x100 -/* 0A2784 7F06DC54 51A00019 */ beql $t5, $zero, .L7F06DCBC -/* 0A2788 7F06DC58 8FAC00A4 */ lw $t4, 0xa4($sp) -/* 0A278C 7F06DC5C 0FC16F1A */ jal sub_GAME_7F05BC68 -/* 0A2790 7F06DC60 27A6002C */ addiu $a2, $sp, 0x2c -/* 0A2794 7F06DC64 8FAE009C */ lw $t6, 0x9c($sp) -/* 0A2798 7F06DC68 8FB80050 */ lw $t8, 0x50($sp) -/* 0A279C 7F06DC6C 27A5002C */ addiu $a1, $sp, 0x2c -/* 0A27A0 7F06DC70 11C0000D */ beqz $t6, .L7F06DCA8 -/* 0A27A4 7F06DC74 00184980 */ sll $t1, $t8, 6 -/* 0A27A8 7F06DC78 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A27AC 7F06DC7C 0FC16E6D */ jal sub_GAME_7F05B9B4 -/* 0A27B0 7F06DC80 27A60058 */ addiu $a2, $sp, 0x58 -/* 0A27B4 7F06DC84 8FAF0050 */ lw $t7, 0x50($sp) -/* 0A27B8 7F06DC88 8FA80048 */ lw $t0, 0x48($sp) -/* 0A27BC 7F06DC8C 8FA4009C */ lw $a0, 0x9c($sp) -/* 0A27C0 7F06DC90 000FC980 */ sll $t9, $t7, 6 -/* 0A27C4 7F06DC94 27A50058 */ addiu $a1, $sp, 0x58 -/* 0A27C8 7F06DC98 0FC16063 */ jal sub_GAME_7F05818C -/* 0A27CC 7F06DC9C 03283021 */ addu $a2, $t9, $t0 -/* 0A27D0 7F06DCA0 10000006 */ b .L7F06DCBC -/* 0A27D4 7F06DCA4 8FAC00A4 */ lw $t4, 0xa4($sp) -.L7F06DCA8: -/* 0A27D8 7F06DCA8 8FAB0048 */ lw $t3, 0x48($sp) -/* 0A27DC 7F06DCAC 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A27E0 7F06DCB0 0FC16E6D */ jal sub_GAME_7F05B9B4 -/* 0A27E4 7F06DCB4 012B3021 */ addu $a2, $t1, $t3 -/* 0A27E8 7F06DCB8 8FAC00A4 */ lw $t4, 0xa4($sp) -.L7F06DCBC: -/* 0A27EC 7F06DCBC 8FAD009C */ lw $t5, 0x9c($sp) -/* 0A27F0 7F06DCC0 318A0200 */ andi $t2, $t4, 0x200 -/* 0A27F4 7F06DCC4 5140004C */ beql $t2, $zero, .L7F06DDF8 -/* 0A27F8 7F06DCC8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A27FC 7F06DCCC 11A00004 */ beqz $t5, .L7F06DCE0 -/* 0A2800 7F06DCD0 8FAF004C */ lw $t7, 0x4c($sp) -/* 0A2804 7F06DCD4 27AE0058 */ addiu $t6, $sp, 0x58 -/* 0A2808 7F06DCD8 10000005 */ b .L7F06DCF0 -/* 0A280C 7F06DCDC AFAE0028 */ sw $t6, 0x28($sp) -.L7F06DCE0: -/* 0A2810 7F06DCE0 8FA80048 */ lw $t0, 0x48($sp) -/* 0A2814 7F06DCE4 000FC980 */ sll $t9, $t7, 6 -/* 0A2818 7F06DCE8 0328C021 */ addu $t8, $t9, $t0 -/* 0A281C 7F06DCEC AFB80028 */ sw $t8, 0x28($sp) -.L7F06DCF0: -/* 0A2820 7F06DCF0 8FA900B4 */ lw $t1, 0xb4($sp) -/* 0A2824 7F06DCF4 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 0A2828 7F06DCF8 C52C0000 */ lwc1 $f12, ($t1) -/* 0A282C 7F06DCFC 46000080 */ add.s $f2, $f0, $f0 -/* 0A2830 7F06DD00 3C018005 */ lui $at, %hi(D_80054BDC) -/* 0A2834 7F06DD04 C4244BDC */ lwc1 $f4, %lo(D_80054BDC)($at) -/* 0A2838 7F06DD08 3C018005 */ lui $at, %hi(D_80054BE0) -/* 0A283C 7F06DD0C 8FA50028 */ lw $a1, 0x28($sp) -/* 0A2840 7F06DD10 4604103C */ c.lt.s $f2, $f4 -/* 0A2844 7F06DD14 00000000 */ nop -/* 0A2848 7F06DD18 45000007 */ bc1f .L7F06DD38 -/* 0A284C 7F06DD1C 00000000 */ nop -/* 0A2850 7F06DD20 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A2854 7F06DD24 44813000 */ mtc1 $at, $f6 -/* 0A2858 7F06DD28 00000000 */ nop -/* 0A285C 7F06DD2C 46061302 */ mul.s $f12, $f2, $f6 -/* 0A2860 7F06DD30 10000009 */ b .L7F06DD58 -/* 0A2864 7F06DD34 00000000 */ nop -.L7F06DD38: -/* 0A2868 7F06DD38 C4284BE0 */ lwc1 $f8, %lo(D_80054BE0)($at) -/* 0A286C 7F06DD3C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A2870 7F06DD40 44818000 */ mtc1 $at, $f16 -/* 0A2874 7F06DD44 46024281 */ sub.s $f10, $f8, $f2 -/* 0A2878 7F06DD48 3C018005 */ lui $at, %hi(D_80054BE4) -/* 0A287C 7F06DD4C C4244BE4 */ lwc1 $f4, %lo(D_80054BE4)($at) -/* 0A2880 7F06DD50 46105482 */ mul.s $f18, $f10, $f16 -/* 0A2884 7F06DD54 46122301 */ sub.s $f12, $f4, $f18 -.L7F06DD58: -/* 0A2888 7F06DD58 0FC1617F */ jal sub_GAME_7F0585FC -/* 0A288C 7F06DD5C E7AC0024 */ swc1 $f12, 0x24($sp) -/* 0A2890 7F06DD60 3C018005 */ lui $at, %hi(D_80054BE8) -/* 0A2894 7F06DD64 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 0A2898 7F06DD68 C4264BE8 */ lwc1 $f6, %lo(D_80054BE8)($at) -/* 0A289C 7F06DD6C 3C018005 */ lui $at, %hi(D_80054BEC) -/* 0A28A0 7F06DD70 460C303E */ c.le.s $f6, $f12 -/* 0A28A4 7F06DD74 00000000 */ nop -/* 0A28A8 7F06DD78 45000003 */ bc1f .L7F06DD88 -/* 0A28AC 7F06DD7C 00000000 */ nop -/* 0A28B0 7F06DD80 C4284BEC */ lwc1 $f8, %lo(D_80054BEC)($at) -/* 0A28B4 7F06DD84 460C4301 */ sub.s $f12, $f8, $f12 -.L7F06DD88: -/* 0A28B8 7F06DD88 3C018005 */ lui $at, %hi(D_80054BF0) -/* 0A28BC 7F06DD8C C42A4BF0 */ lwc1 $f10, %lo(D_80054BF0)($at) -/* 0A28C0 7F06DD90 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0A28C4 7F06DD94 460A603C */ c.lt.s $f12, $f10 -/* 0A28C8 7F06DD98 00000000 */ nop -/* 0A28CC 7F06DD9C 45020006 */ bc1fl .L7F06DDB8 -/* 0A28D0 7F06DDA0 44816000 */ mtc1 $at, $f12 -/* 0A28D4 7F06DDA4 0FC16A78 */ jal sub_GAME_7F05A9E0 -/* 0A28D8 7F06DDA8 00000000 */ nop -/* 0A28DC 7F06DDAC 10000003 */ b .L7F06DDBC -/* 0A28E0 7F06DDB0 46000306 */ mov.s $f12, $f0 -/* 0A28E4 7F06DDB4 44816000 */ mtc1 $at, $f12 -.L7F06DDB8: -/* 0A28E8 7F06DDB8 00000000 */ nop -.L7F06DDBC: -/* 0A28EC 7F06DDBC 0FC16293 */ jal sub_GAME_7F058A4C -/* 0A28F0 7F06DDC0 8FA50028 */ lw $a1, 0x28($sp) -/* 0A28F4 7F06DDC4 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0A28F8 7F06DDC8 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0A28FC 7F06DDCC 8FA50028 */ lw $a1, 0x28($sp) -/* 0A2900 7F06DDD0 8FAB009C */ lw $t3, 0x9c($sp) -/* 0A2904 7F06DDD4 8FAC004C */ lw $t4, 0x4c($sp) -/* 0A2908 7F06DDD8 8FAD0048 */ lw $t5, 0x48($sp) -/* 0A290C 7F06DDDC 11600005 */ beqz $t3, .L7F06DDF4 -/* 0A2910 7F06DDE0 01602025 */ move $a0, $t3 -/* 0A2914 7F06DDE4 000C5180 */ sll $t2, $t4, 6 -/* 0A2918 7F06DDE8 014D3021 */ addu $a2, $t2, $t5 -/* 0A291C 7F06DDEC 0FC16063 */ jal sub_GAME_7F05818C -/* 0A2920 7F06DDF0 8FA50028 */ lw $a1, 0x28($sp) -.L7F06DDF4: -/* 0A2924 7F06DDF4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06DDF8: -/* 0A2928 7F06DDF8 27BD00A8 */ addiu $sp, $sp, 0xa8 -/* 0A292C 7F06DDFC 03E00008 */ jr $ra -/* 0A2930 7F06DE00 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06DE04(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06DE04 -/* 0A2934 7F06DE04 30CF0007 */ andi $t7, $a2, 7 -/* 0A2938 7F06DE08 24180008 */ li $t8, 8 -/* 0A293C 7F06DE0C 030F4823 */ subu $t1, $t8, $t7 -/* 0A2940 7F06DE10 30AA00FF */ andi $t2, $a1, 0xff -/* 0A2944 7F06DE14 313900FF */ andi $t9, $t1, 0xff -/* 0A2948 7F06DE18 000638C2 */ srl $a3, $a2, 3 -/* 0A294C 7F06DE1C 0159082A */ slt $at, $t2, $t9 -/* 0A2950 7F06DE20 AFA50004 */ sw $a1, 4($sp) -/* 0A2954 7F06DE24 00001825 */ move $v1, $zero -/* 0A2958 7F06DE28 314200FF */ andi $v0, $t2, 0xff -/* 0A295C 7F06DE2C 00872021 */ addu $a0, $a0, $a3 -/* 0A2960 7F06DE30 14200013 */ bnez $at, .L7F06DE80 -/* 0A2964 7F06DE34 312800FF */ andi $t0, $t1, 0xff -/* 0A2968 7F06DE38 00402825 */ move $a1, $v0 -.L7F06DE3C: -/* 0A296C 7F06DE3C 908C0000 */ lbu $t4, ($a0) -/* 0A2970 7F06DE40 240D0001 */ li $t5, 1 -/* 0A2974 7F06DE44 010D7004 */ sllv $t6, $t5, $t0 -/* 0A2978 7F06DE48 25CFFFFF */ addiu $t7, $t6, -1 -/* 0A297C 7F06DE4C 00A81023 */ subu $v0, $a1, $t0 -/* 0A2980 7F06DE50 018FC024 */ and $t8, $t4, $t7 -/* 0A2984 7F06DE54 304500FF */ andi $a1, $v0, 0xff -/* 0A2988 7F06DE58 3319FFFF */ andi $t9, $t8, 0xffff -/* 0A298C 7F06DE5C 00B95804 */ sllv $t3, $t9, $a1 -/* 0A2990 7F06DE60 006B1825 */ or $v1, $v1, $t3 -/* 0A2994 7F06DE64 306DFFFF */ andi $t5, $v1, 0xffff -/* 0A2998 7F06DE68 28A10008 */ slti $at, $a1, 8 -/* 0A299C 7F06DE6C 00A01025 */ move $v0, $a1 -/* 0A29A0 7F06DE70 01A01825 */ move $v1, $t5 -/* 0A29A4 7F06DE74 24840001 */ addiu $a0, $a0, 1 -/* 0A29A8 7F06DE78 1020FFF0 */ beqz $at, .L7F06DE3C -/* 0A29AC 7F06DE7C 24080008 */ li $t0, 8 -.L7F06DE80: -/* 0A29B0 7F06DE80 1840000A */ blez $v0, .L7F06DEAC -/* 0A29B4 7F06DE84 01026023 */ subu $t4, $t0, $v0 -/* 0A29B8 7F06DE88 908E0000 */ lbu $t6, ($a0) -/* 0A29BC 7F06DE8C 24180001 */ li $t8, 1 -/* 0A29C0 7F06DE90 0058C804 */ sllv $t9, $t8, $v0 -/* 0A29C4 7F06DE94 272BFFFF */ addiu $t3, $t9, -1 -/* 0A29C8 7F06DE98 018E7807 */ srav $t7, $t6, $t4 -/* 0A29CC 7F06DE9C 01EB6824 */ and $t5, $t7, $t3 -/* 0A29D0 7F06DEA0 006D1825 */ or $v1, $v1, $t5 -/* 0A29D4 7F06DEA4 306EFFFF */ andi $t6, $v1, 0xffff -/* 0A29D8 7F06DEA8 01C01825 */ move $v1, $t6 -.L7F06DEAC: -/* 0A29DC 7F06DEAC 240C0010 */ li $t4, 16 -/* 0A29E0 7F06DEB0 018AC023 */ subu $t8, $t4, $t2 -/* 0A29E4 7F06DEB4 03031804 */ sllv $v1, $v1, $t8 -/* 0A29E8 7F06DEB8 03E00008 */ jr $ra -/* 0A29EC 7F06DEBC 3062FFFF */ andi $v0, $v1, 0xffff -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06DEC0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054BF4 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F06DEC0 -/* 0A29F0 7F06DEC0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A29F4 7F06DEC4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A29F8 7F06DEC8 AFB00018 */ sw $s0, 0x18($sp) -/* 0A29FC 7F06DECC AFA50034 */ sw $a1, 0x34($sp) -/* 0A2A00 7F06DED0 AFA60038 */ sw $a2, 0x38($sp) -/* 0A2A04 7F06DED4 10A0000B */ beqz $a1, .L7F06DF04 -/* 0A2A08 7F06DED8 90F00006 */ lbu $s0, 6($a3) -/* 0A2A0C 7F06DEDC 8CD80004 */ lw $t8, 4($a2) -/* 0A2A10 7F06DEE0 0004C880 */ sll $t9, $a0, 2 -/* 0A2A14 7F06DEE4 0324C823 */ subu $t9, $t9, $a0 -/* 0A2A18 7F06DEE8 0019C840 */ sll $t9, $t9, 1 -/* 0A2A1C 7F06DEEC 03194021 */ addu $t0, $t8, $t9 -/* 0A2A20 7F06DEF0 95090004 */ lhu $t1, 4($t0) -/* 0A2A24 7F06DEF4 01300019 */ multu $t1, $s0 -/* 0A2A28 7F06DEF8 00003012 */ mflo $a2 -/* 0A2A2C 7F06DEFC 1000000D */ b .L7F06DF34 -/* 0A2A30 7F06DF00 8FA40040 */ lw $a0, 0x40($sp) -.L7F06DF04: -/* 0A2A34 7F06DF04 8FAA0038 */ lw $t2, 0x38($sp) -/* 0A2A38 7F06DF08 00046080 */ sll $t4, $a0, 2 -/* 0A2A3C 7F06DF0C 01846023 */ subu $t4, $t4, $a0 -/* 0A2A40 7F06DF10 8D4B0004 */ lw $t3, 4($t2) -/* 0A2A44 7F06DF14 000C6040 */ sll $t4, $t4, 1 -/* 0A2A48 7F06DF18 016C6821 */ addu $t5, $t3, $t4 -/* 0A2A4C 7F06DF1C 95AE0002 */ lhu $t6, 2($t5) -/* 0A2A50 7F06DF20 01D00019 */ multu $t6, $s0 -/* 0A2A54 7F06DF24 00003012 */ mflo $a2 -/* 0A2A58 7F06DF28 00000000 */ nop -/* 0A2A5C 7F06DF2C 00000000 */ nop -/* 0A2A60 7F06DF30 8FA40040 */ lw $a0, 0x40($sp) -.L7F06DF34: -/* 0A2A64 7F06DF34 320500FF */ andi $a1, $s0, 0xff -/* 0A2A68 7F06DF38 0FC1B781 */ jal sub_GAME_7F06DE04 -/* 0A2A6C 7F06DF3C AFA6002C */ sw $a2, 0x2c($sp) -/* 0A2A70 7F06DF40 8FA6002C */ lw $a2, 0x2c($sp) -/* 0A2A74 7F06DF44 A7A20024 */ sh $v0, 0x24($sp) -/* 0A2A78 7F06DF48 8FA40040 */ lw $a0, 0x40($sp) -/* 0A2A7C 7F06DF4C 00D03021 */ addu $a2, $a2, $s0 -/* 0A2A80 7F06DF50 AFA6002C */ sw $a2, 0x2c($sp) -/* 0A2A84 7F06DF54 0FC1B781 */ jal sub_GAME_7F06DE04 -/* 0A2A88 7F06DF58 320500FF */ andi $a1, $s0, 0xff -/* 0A2A8C 7F06DF5C 8FA6002C */ lw $a2, 0x2c($sp) -/* 0A2A90 7F06DF60 A7A20026 */ sh $v0, 0x26($sp) -/* 0A2A94 7F06DF64 8FA40040 */ lw $a0, 0x40($sp) -/* 0A2A98 7F06DF68 320500FF */ andi $a1, $s0, 0xff -/* 0A2A9C 7F06DF6C 0FC1B781 */ jal sub_GAME_7F06DE04 -/* 0A2AA0 7F06DF70 00D03021 */ addu $a2, $a2, $s0 -/* 0A2AA4 7F06DF74 97AF0024 */ lhu $t7, 0x24($sp) -/* 0A2AA8 7F06DF78 3C018005 */ lui $at, %hi(D_80054BF4) -/* 0A2AAC 7F06DF7C C4204BF4 */ lwc1 $f0, %lo(D_80054BF4)($at) -/* 0A2AB0 7F06DF80 448F2000 */ mtc1 $t7, $f4 -/* 0A2AB4 7F06DF84 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0A2AB8 7F06DF88 44811000 */ mtc1 $at, $f2 -/* 0A2ABC 7F06DF8C 8FA30044 */ lw $v1, 0x44($sp) -/* 0A2AC0 7F06DF90 A7A20028 */ sh $v0, 0x28($sp) -/* 0A2AC4 7F06DF94 05E10005 */ bgez $t7, .L7F06DFAC -/* 0A2AC8 7F06DF98 468021A0 */ cvt.s.w $f6, $f4 -/* 0A2ACC 7F06DF9C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0A2AD0 7F06DFA0 44814000 */ mtc1 $at, $f8 -/* 0A2AD4 7F06DFA4 00000000 */ nop -/* 0A2AD8 7F06DFA8 46083180 */ add.s $f6, $f6, $f8 -.L7F06DFAC: -/* 0A2ADC 7F06DFAC 46003282 */ mul.s $f10, $f6, $f0 -/* 0A2AE0 7F06DFB0 46025403 */ div.s $f16, $f10, $f2 -/* 0A2AE4 7F06DFB4 E4700000 */ swc1 $f16, ($v1) -/* 0A2AE8 7F06DFB8 8FB80034 */ lw $t8, 0x34($sp) -/* 0A2AEC 7F06DFBC 97A20026 */ lhu $v0, 0x26($sp) -/* 0A2AF0 7F06DFC0 97AB0026 */ lhu $t3, 0x26($sp) -/* 0A2AF4 7F06DFC4 5300001D */ beql $t8, $zero, .L7F06E03C -/* 0A2AF8 7F06DFC8 448B5000 */ mtc1 $t3, $f10 -/* 0A2AFC 7F06DFCC 10400009 */ beqz $v0, .L7F06DFF4 -/* 0A2B00 7F06DFD0 3C190001 */ lui $t9, 1 -/* 0A2B04 7F06DFD4 03224023 */ subu $t0, $t9, $v0 -/* 0A2B08 7F06DFD8 44889000 */ mtc1 $t0, $f18 -/* 0A2B0C 7F06DFDC 00000000 */ nop -/* 0A2B10 7F06DFE0 46809120 */ cvt.s.w $f4, $f18 -/* 0A2B14 7F06DFE4 46002202 */ mul.s $f8, $f4, $f0 -/* 0A2B18 7F06DFE8 46024183 */ div.s $f6, $f8, $f2 -/* 0A2B1C 7F06DFEC 10000004 */ b .L7F06E000 -/* 0A2B20 7F06DFF0 E4660004 */ swc1 $f6, 4($v1) -.L7F06DFF4: -/* 0A2B24 7F06DFF4 44805000 */ mtc1 $zero, $f10 -/* 0A2B28 7F06DFF8 00000000 */ nop -/* 0A2B2C 7F06DFFC E46A0004 */ swc1 $f10, 4($v1) -.L7F06E000: -/* 0A2B30 7F06E000 97A20028 */ lhu $v0, 0x28($sp) -/* 0A2B34 7F06E004 3C090001 */ lui $t1, 1 -/* 0A2B38 7F06E008 10400008 */ beqz $v0, .L7F06E02C -/* 0A2B3C 7F06E00C 01225023 */ subu $t2, $t1, $v0 -/* 0A2B40 7F06E010 448A8000 */ mtc1 $t2, $f16 -/* 0A2B44 7F06E014 00000000 */ nop -/* 0A2B48 7F06E018 468084A0 */ cvt.s.w $f18, $f16 -/* 0A2B4C 7F06E01C 46009102 */ mul.s $f4, $f18, $f0 -/* 0A2B50 7F06E020 46022203 */ div.s $f8, $f4, $f2 -/* 0A2B54 7F06E024 10000019 */ b .L7F06E08C -/* 0A2B58 7F06E028 E4680008 */ swc1 $f8, 8($v1) -.L7F06E02C: -/* 0A2B5C 7F06E02C 44803000 */ mtc1 $zero, $f6 -/* 0A2B60 7F06E030 10000016 */ b .L7F06E08C -/* 0A2B64 7F06E034 E4660008 */ swc1 $f6, 8($v1) -/* 0A2B68 7F06E038 448B5000 */ mtc1 $t3, $f10 -.L7F06E03C: -/* 0A2B6C 7F06E03C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0A2B70 7F06E040 05610004 */ bgez $t3, .L7F06E054 -/* 0A2B74 7F06E044 46805420 */ cvt.s.w $f16, $f10 -/* 0A2B78 7F06E048 44819000 */ mtc1 $at, $f18 -/* 0A2B7C 7F06E04C 00000000 */ nop -/* 0A2B80 7F06E050 46128400 */ add.s $f16, $f16, $f18 -.L7F06E054: -/* 0A2B84 7F06E054 46008102 */ mul.s $f4, $f16, $f0 -/* 0A2B88 7F06E058 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0A2B8C 7F06E05C 46022203 */ div.s $f8, $f4, $f2 -/* 0A2B90 7F06E060 E4680004 */ swc1 $f8, 4($v1) -/* 0A2B94 7F06E064 97AC0028 */ lhu $t4, 0x28($sp) -/* 0A2B98 7F06E068 448C3000 */ mtc1 $t4, $f6 -/* 0A2B9C 7F06E06C 05810004 */ bgez $t4, .L7F06E080 -/* 0A2BA0 7F06E070 468032A0 */ cvt.s.w $f10, $f6 -/* 0A2BA4 7F06E074 44819000 */ mtc1 $at, $f18 -/* 0A2BA8 7F06E078 00000000 */ nop -/* 0A2BAC 7F06E07C 46125280 */ add.s $f10, $f10, $f18 -.L7F06E080: -/* 0A2BB0 7F06E080 46005402 */ mul.s $f16, $f10, $f0 -/* 0A2BB4 7F06E084 46028103 */ div.s $f4, $f16, $f2 -/* 0A2BB8 7F06E088 E4640008 */ swc1 $f4, 8($v1) -.L7F06E08C: -/* 0A2BBC 7F06E08C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A2BC0 7F06E090 8FB00018 */ lw $s0, 0x18($sp) -/* 0A2BC4 7F06E094 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0A2BC8 7F06E098 03E00008 */ jr $ra -/* 0A2BCC 7F06E09C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void process_02_position(void) { - -} -#else -GLOBAL_ASM( -.text -glabel process_02_position -/* 0A2BD0 7F06E0A0 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 0A2BD4 7F06E0A4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A2BD8 7F06E0A8 AFB00020 */ sw $s0, 0x20($sp) -/* 0A2BDC 7F06E0AC AFA40098 */ sw $a0, 0x98($sp) -/* 0A2BE0 7F06E0B0 AFA600A0 */ sw $a2, 0xa0($sp) -/* 0A2BE4 7F06E0B4 3C188003 */ lui $t8, %hi(D_80036094) -/* 0A2BE8 7F06E0B8 8CC20004 */ lw $v0, 4($a2) -/* 0A2BEC 7F06E0BC 8CAF0008 */ lw $t7, 8($a1) -/* 0A2BF0 7F06E0C0 27186094 */ addiu $t8, %lo(D_80036094) # addiu $t8, $t8, 0x6094 -/* 0A2BF4 7F06E0C4 8F010000 */ lw $at, ($t8) -/* 0A2BF8 7F06E0C8 9444000C */ lhu $a0, 0xc($v0) -/* 0A2BFC 7F06E0CC 8DE60004 */ lw $a2, 4($t7) -/* 0A2C00 7F06E0D0 27A30080 */ addiu $v1, $sp, 0x80 -/* 0A2C04 7F06E0D4 AC610000 */ sw $at, ($v1) -/* 0A2C08 7F06E0D8 8F090004 */ lw $t1, 4($t8) -/* 0A2C0C 7F06E0DC 00A08025 */ move $s0, $a1 -/* 0A2C10 7F06E0E0 AC690004 */ sw $t1, 4($v1) -/* 0A2C14 7F06E0E4 8F010008 */ lw $at, 8($t8) -/* 0A2C18 7F06E0E8 AC610008 */ sw $at, 8($v1) -/* 0A2C1C 7F06E0EC 8E0A0034 */ lw $t2, 0x34($s0) -/* 0A2C20 7F06E0F0 8E070020 */ lw $a3, 0x20($s0) -/* 0A2C24 7F06E0F4 80A50024 */ lb $a1, 0x24($a1) -/* 0A2C28 7F06E0F8 AFA30014 */ sw $v1, 0x14($sp) -/* 0A2C2C 7F06E0FC AFA40090 */ sw $a0, 0x90($sp) -/* 0A2C30 7F06E100 AFA6008C */ sw $a2, 0x8c($sp) -/* 0A2C34 7F06E104 0FC1B7B0 */ jal sub_GAME_7F06DEC0 -/* 0A2C38 7F06E108 AFAA0010 */ sw $t2, 0x10($sp) -/* 0A2C3C 7F06E10C 44802000 */ mtc1 $zero, $f4 -/* 0A2C40 7F06E110 C606002C */ lwc1 $f6, 0x2c($s0) -/* 0A2C44 7F06E114 3C0B8003 */ lui $t3, %hi(D_800360A0) -/* 0A2C48 7F06E118 256B60A0 */ addiu $t3, %lo(D_800360A0) # addiu $t3, $t3, 0x60a0 -/* 0A2C4C 7F06E11C 46062032 */ c.eq.s $f4, $f6 -/* 0A2C50 7F06E120 00000000 */ nop -/* 0A2C54 7F06E124 45030015 */ bc1tl .L7F06E17C -/* 0A2C58 7F06E128 44804000 */ mtc1 $zero, $f8 -/* 0A2C5C 7F06E12C 8D610000 */ lw $at, ($t3) -/* 0A2C60 7F06E130 27A20074 */ addiu $v0, $sp, 0x74 -/* 0A2C64 7F06E134 AC410000 */ sw $at, ($v0) -/* 0A2C68 7F06E138 8D6D0004 */ lw $t5, 4($t3) -/* 0A2C6C 7F06E13C AC4D0004 */ sw $t5, 4($v0) -/* 0A2C70 7F06E140 8D610008 */ lw $at, 8($t3) -/* 0A2C74 7F06E144 AC410008 */ sw $at, 8($v0) -/* 0A2C78 7F06E148 8E0E0038 */ lw $t6, 0x38($s0) -/* 0A2C7C 7F06E14C 8E070020 */ lw $a3, 0x20($s0) -/* 0A2C80 7F06E150 82050024 */ lb $a1, 0x24($s0) -/* 0A2C84 7F06E154 AFA20014 */ sw $v0, 0x14($sp) -/* 0A2C88 7F06E158 8FA6008C */ lw $a2, 0x8c($sp) -/* 0A2C8C 7F06E15C 8FA40090 */ lw $a0, 0x90($sp) -/* 0A2C90 7F06E160 0FC1B7B0 */ jal sub_GAME_7F06DEC0 -/* 0A2C94 7F06E164 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A2C98 7F06E168 27A40080 */ addiu $a0, $sp, 0x80 -/* 0A2C9C 7F06E16C 27A50074 */ addiu $a1, $sp, 0x74 -/* 0A2CA0 7F06E170 0FC1B458 */ jal sub_GAME_7F06D160 -/* 0A2CA4 7F06E174 8E06002C */ lw $a2, 0x2c($s0) -/* 0A2CA8 7F06E178 44804000 */ mtc1 $zero, $f8 -.L7F06E17C: -/* 0A2CAC 7F06E17C C60A0084 */ lwc1 $f10, 0x84($s0) -/* 0A2CB0 7F06E180 3C0F8003 */ lui $t7, %hi(D_800360AC) -/* 0A2CB4 7F06E184 25EF60AC */ addiu $t7, %lo(D_800360AC) # addiu $t7, $t7, 0x60ac -/* 0A2CB8 7F06E188 460A4032 */ c.eq.s $f8, $f10 -/* 0A2CBC 7F06E18C 8FA40098 */ lw $a0, 0x98($sp) -/* 0A2CC0 7F06E190 02002825 */ move $a1, $s0 -/* 0A2CC4 7F06E194 8FA600A0 */ lw $a2, 0xa0($sp) -/* 0A2CC8 7F06E198 45010040 */ bc1t .L7F06E29C -/* 0A2CCC 7F06E19C 00000000 */ nop -/* 0A2CD0 7F06E1A0 8DE10000 */ lw $at, ($t7) -/* 0A2CD4 7F06E1A4 27A20068 */ addiu $v0, $sp, 0x68 -/* 0A2CD8 7F06E1A8 AC410000 */ sw $at, ($v0) -/* 0A2CDC 7F06E1AC 8DF90004 */ lw $t9, 4($t7) -/* 0A2CE0 7F06E1B0 AC590004 */ sw $t9, 4($v0) -/* 0A2CE4 7F06E1B4 8DE10008 */ lw $at, 8($t7) -/* 0A2CE8 7F06E1B8 AC410008 */ sw $at, 8($v0) -/* 0A2CEC 7F06E1BC 8E180064 */ lw $t8, 0x64($s0) -/* 0A2CF0 7F06E1C0 8E070054 */ lw $a3, 0x54($s0) -/* 0A2CF4 7F06E1C4 82050025 */ lb $a1, 0x25($s0) -/* 0A2CF8 7F06E1C8 AFA20014 */ sw $v0, 0x14($sp) -/* 0A2CFC 7F06E1CC 8FA6008C */ lw $a2, 0x8c($sp) -/* 0A2D00 7F06E1D0 8FA40090 */ lw $a0, 0x90($sp) -/* 0A2D04 7F06E1D4 0FC1B7B0 */ jal sub_GAME_7F06DEC0 -/* 0A2D08 7F06E1D8 AFB80010 */ sw $t8, 0x10($sp) -/* 0A2D0C 7F06E1DC 44808000 */ mtc1 $zero, $f16 -/* 0A2D10 7F06E1E0 C612005C */ lwc1 $f18, 0x5c($s0) -/* 0A2D14 7F06E1E4 3C098003 */ lui $t1, %hi(D_800360B8) -/* 0A2D18 7F06E1E8 252960B8 */ addiu $t1, %lo(D_800360B8) # addiu $t1, $t1, 0x60b8 -/* 0A2D1C 7F06E1EC 46128032 */ c.eq.s $f16, $f18 -/* 0A2D20 7F06E1F0 00000000 */ nop -/* 0A2D24 7F06E1F4 45030015 */ bc1tl .L7F06E24C -/* 0A2D28 7F06E1F8 27A40080 */ addiu $a0, $sp, 0x80 -/* 0A2D2C 7F06E1FC 8D210000 */ lw $at, ($t1) -/* 0A2D30 7F06E200 27A2002C */ addiu $v0, $sp, 0x2c -/* 0A2D34 7F06E204 AC410000 */ sw $at, ($v0) -/* 0A2D38 7F06E208 8D2C0004 */ lw $t4, 4($t1) -/* 0A2D3C 7F06E20C AC4C0004 */ sw $t4, 4($v0) -/* 0A2D40 7F06E210 8D210008 */ lw $at, 8($t1) -/* 0A2D44 7F06E214 AC410008 */ sw $at, 8($v0) -/* 0A2D48 7F06E218 8E0B0068 */ lw $t3, 0x68($s0) -/* 0A2D4C 7F06E21C 8E070054 */ lw $a3, 0x54($s0) -/* 0A2D50 7F06E220 82050025 */ lb $a1, 0x25($s0) -/* 0A2D54 7F06E224 AFA20014 */ sw $v0, 0x14($sp) -/* 0A2D58 7F06E228 8FA6008C */ lw $a2, 0x8c($sp) -/* 0A2D5C 7F06E22C 8FA40090 */ lw $a0, 0x90($sp) -/* 0A2D60 7F06E230 0FC1B7B0 */ jal sub_GAME_7F06DEC0 -/* 0A2D64 7F06E234 AFAB0010 */ sw $t3, 0x10($sp) -/* 0A2D68 7F06E238 27A40068 */ addiu $a0, $sp, 0x68 -/* 0A2D6C 7F06E23C 27A5002C */ addiu $a1, $sp, 0x2c -/* 0A2D70 7F06E240 0FC1B458 */ jal sub_GAME_7F06D160 -/* 0A2D74 7F06E244 8E06005C */ lw $a2, 0x5c($s0) -/* 0A2D78 7F06E248 27A40080 */ addiu $a0, $sp, 0x80 -.L7F06E24C: -/* 0A2D7C 7F06E24C 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 0A2D80 7F06E250 27A50058 */ addiu $a1, $sp, 0x58 -/* 0A2D84 7F06E254 27A40068 */ addiu $a0, $sp, 0x68 -/* 0A2D88 7F06E258 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 0A2D8C 7F06E25C 27A50048 */ addiu $a1, $sp, 0x48 -/* 0A2D90 7F06E260 27A40058 */ addiu $a0, $sp, 0x58 -/* 0A2D94 7F06E264 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 0A2D98 7F06E268 27A50048 */ addiu $a1, $sp, 0x48 -/* 0A2D9C 7F06E26C 27A40058 */ addiu $a0, $sp, 0x58 -/* 0A2DA0 7F06E270 27A50048 */ addiu $a1, $sp, 0x48 -/* 0A2DA4 7F06E274 8E060084 */ lw $a2, 0x84($s0) -/* 0A2DA8 7F06E278 0FC16E82 */ jal sub_GAME_7F05BA08 -/* 0A2DAC 7F06E27C 27A70038 */ addiu $a3, $sp, 0x38 -/* 0A2DB0 7F06E280 8FA40098 */ lw $a0, 0x98($sp) -/* 0A2DB4 7F06E284 02002825 */ move $a1, $s0 -/* 0A2DB8 7F06E288 8FA600A0 */ lw $a2, 0xa0($sp) -/* 0A2DBC 7F06E28C 0FC1B6D7 */ jal sub_GAME_7F06DB5C -/* 0A2DC0 7F06E290 27A70038 */ addiu $a3, $sp, 0x38 -/* 0A2DC4 7F06E294 10000004 */ b .L7F06E2A8 -/* 0A2DC8 7F06E298 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06E29C: -/* 0A2DCC 7F06E29C 0FC1B62C */ jal sub_GAME_7F06D8B0 -/* 0A2DD0 7F06E2A0 27A70080 */ addiu $a3, $sp, 0x80 -/* 0A2DD4 7F06E2A4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06E2A8: -/* 0A2DD8 7F06E2A8 8FB00020 */ lw $s0, 0x20($sp) -/* 0A2DDC 7F06E2AC 27BD0098 */ addiu $sp, $sp, 0x98 -/* 0A2DE0 7F06E2B0 03E00008 */ jr $ra -/* 0A2DE4 7F06E2B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06E2B8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054BF8 -.word 0x40490fdb /*3.1415927*/ -glabel D_80054BFC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054C00 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054C04 -.word 0x40490fdb /*3.1415927*/ -glabel D_80054C08 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054C0C -.word 0x3f63dec6 /*0.890118*/ -.text -glabel sub_GAME_7F06E2B8 -/* 0A2DE8 7F06E2B8 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 0A2DEC 7F06E2BC AFBF001C */ sw $ra, 0x1c($sp) -/* 0A2DF0 7F06E2C0 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0A2DF4 7F06E2C4 AFA500A4 */ sw $a1, 0xa4($sp) -/* 0A2DF8 7F06E2C8 94CE0000 */ lhu $t6, ($a2) -/* 0A2DFC 7F06E2CC 4487A000 */ mtc1 $a3, $f20 -/* 0A2E00 7F06E2D0 AFAE009C */ sw $t6, 0x9c($sp) -/* 0A2E04 7F06E2D4 8CCF0004 */ lw $t7, 4($a2) -/* 0A2E08 7F06E2D8 AFAF0098 */ sw $t7, 0x98($sp) -/* 0A2E0C 7F06E2DC 85F90010 */ lh $t9, 0x10($t7) -/* 0A2E10 7F06E2E0 85E3000E */ lh $v1, 0xe($t7) -/* 0A2E14 7F06E2E4 AFB90048 */ sw $t9, 0x48($sp) -/* 0A2E18 7F06E2E8 85E80012 */ lh $t0, 0x12($t7) -/* 0A2E1C 7F06E2EC AFA80044 */ sw $t0, 0x44($sp) -/* 0A2E20 7F06E2F0 8CAA000C */ lw $t2, 0xc($a1) -/* 0A2E24 7F06E2F4 AFAA0040 */ sw $t2, 0x40($sp) -/* 0A2E28 7F06E2F8 8CC70008 */ lw $a3, 8($a2) -/* 0A2E2C 7F06E2FC 00003025 */ move $a2, $zero -/* 0A2E30 7F06E300 50E00009 */ beql $a3, $zero, .L7F06E328 -/* 0A2E34 7F06E304 8C8B0000 */ lw $t3, ($a0) -/* 0A2E38 7F06E308 00A02025 */ move $a0, $a1 -/* 0A2E3C 7F06E30C 00E02825 */ move $a1, $a3 -/* 0A2E40 7F06E310 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A2E44 7F06E314 AFA3004C */ sw $v1, 0x4c($sp) -/* 0A2E48 7F06E318 8FA3004C */ lw $v1, 0x4c($sp) -/* 0A2E4C 7F06E31C 10000003 */ b .L7F06E32C -/* 0A2E50 7F06E320 AFA20094 */ sw $v0, 0x94($sp) -/* 0A2E54 7F06E324 8C8B0000 */ lw $t3, ($a0) -.L7F06E328: -/* 0A2E58 7F06E328 AFAB0094 */ sw $t3, 0x94($sp) -.L7F06E32C: -/* 0A2E5C 7F06E32C 8FAC0094 */ lw $t4, 0x94($sp) -/* 0A2E60 7F06E330 8FA40098 */ lw $a0, 0x98($sp) -/* 0A2E64 7F06E334 00037980 */ sll $t7, $v1, 6 -/* 0A2E68 7F06E338 1180000F */ beqz $t4, .L7F06E378 -/* 0A2E6C 7F06E33C 8FB90040 */ lw $t9, 0x40($sp) -/* 0A2E70 7F06E340 4405A000 */ mfc1 $a1, $f20 -/* 0A2E74 7F06E344 8FA40098 */ lw $a0, 0x98($sp) -/* 0A2E78 7F06E348 27A60050 */ addiu $a2, $sp, 0x50 -/* 0A2E7C 7F06E34C 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0A2E80 7F06E350 AFA3004C */ sw $v1, 0x4c($sp) -/* 0A2E84 7F06E354 8FA3004C */ lw $v1, 0x4c($sp) -/* 0A2E88 7F06E358 8FAE0040 */ lw $t6, 0x40($sp) -/* 0A2E8C 7F06E35C 8FA40094 */ lw $a0, 0x94($sp) -/* 0A2E90 7F06E360 00036980 */ sll $t5, $v1, 6 -/* 0A2E94 7F06E364 27A50050 */ addiu $a1, $sp, 0x50 -/* 0A2E98 7F06E368 0FC16063 */ jal sub_GAME_7F05818C -/* 0A2E9C 7F06E36C 01AE3021 */ addu $a2, $t5, $t6 -/* 0A2EA0 7F06E370 10000005 */ b .L7F06E388 -/* 0A2EA4 7F06E374 8FB8009C */ lw $t8, 0x9c($sp) -.L7F06E378: -/* 0A2EA8 7F06E378 4405A000 */ mfc1 $a1, $f20 -/* 0A2EAC 7F06E37C 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0A2EB0 7F06E380 01F93021 */ addu $a2, $t7, $t9 -/* 0A2EB4 7F06E384 8FB8009C */ lw $t8, 0x9c($sp) -.L7F06E388: -/* 0A2EB8 7F06E388 3C018005 */ lui $at, %hi(D_80054BF8) -/* 0A2EBC 7F06E38C 8FAA0094 */ lw $t2, 0x94($sp) -/* 0A2EC0 7F06E390 33020100 */ andi $v0, $t8, 0x100 -/* 0A2EC4 7F06E394 14400003 */ bnez $v0, .L7F06E3A4 -/* 0A2EC8 7F06E398 33030200 */ andi $v1, $t8, 0x200 -/* 0A2ECC 7F06E39C 10600017 */ beqz $v1, .L7F06E3FC -/* 0A2ED0 7F06E3A0 00000000 */ nop -.L7F06E3A4: -/* 0A2ED4 7F06E3A4 C4244BF8 */ lwc1 $f4, %lo(D_80054BF8)($at) -/* 0A2ED8 7F06E3A8 8FA3009C */ lw $v1, 0x9c($sp) -/* 0A2EDC 7F06E3AC 3C018005 */ lui $at, %hi(D_80054BFC) -/* 0A2EE0 7F06E3B0 4604A03C */ c.lt.s $f20, $f4 -/* 0A2EE4 7F06E3B4 30680200 */ andi $t0, $v1, 0x200 -/* 0A2EE8 7F06E3B8 01001825 */ move $v1, $t0 -/* 0A2EEC 7F06E3BC 45000007 */ bc1f .L7F06E3DC -/* 0A2EF0 7F06E3C0 00000000 */ nop -/* 0A2EF4 7F06E3C4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A2EF8 7F06E3C8 44813000 */ mtc1 $at, $f6 -/* 0A2EFC 7F06E3CC 00000000 */ nop -/* 0A2F00 7F06E3D0 4606A502 */ mul.s $f20, $f20, $f6 -/* 0A2F04 7F06E3D4 10000009 */ b .L7F06E3FC -/* 0A2F08 7F06E3D8 00000000 */ nop -.L7F06E3DC: -/* 0A2F0C 7F06E3DC C4284BFC */ lwc1 $f8, %lo(D_80054BFC)($at) -/* 0A2F10 7F06E3E0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A2F14 7F06E3E4 44818000 */ mtc1 $at, $f16 -/* 0A2F18 7F06E3E8 46144281 */ sub.s $f10, $f8, $f20 -/* 0A2F1C 7F06E3EC 3C018005 */ lui $at, %hi(D_80054C00) -/* 0A2F20 7F06E3F0 C4244C00 */ lwc1 $f4, %lo(D_80054C00)($at) -/* 0A2F24 7F06E3F4 46105482 */ mul.s $f18, $f10, $f16 -/* 0A2F28 7F06E3F8 46122501 */ sub.s $f20, $f4, $f18 -.L7F06E3FC: -/* 0A2F2C 7F06E3FC 10400019 */ beqz $v0, .L7F06E464 -/* 0A2F30 7F06E400 00000000 */ nop -/* 0A2F34 7F06E404 1140000F */ beqz $t2, .L7F06E444 -/* 0A2F38 7F06E408 8FA40098 */ lw $a0, 0x98($sp) -/* 0A2F3C 7F06E40C 4405A000 */ mfc1 $a1, $f20 -/* 0A2F40 7F06E410 8FA40098 */ lw $a0, 0x98($sp) -/* 0A2F44 7F06E414 27A60050 */ addiu $a2, $sp, 0x50 -/* 0A2F48 7F06E418 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0A2F4C 7F06E41C AFA30024 */ sw $v1, 0x24($sp) -/* 0A2F50 7F06E420 8FA90048 */ lw $t1, 0x48($sp) -/* 0A2F54 7F06E424 8FAC0040 */ lw $t4, 0x40($sp) -/* 0A2F58 7F06E428 8FA40094 */ lw $a0, 0x94($sp) -/* 0A2F5C 7F06E42C 00095980 */ sll $t3, $t1, 6 -/* 0A2F60 7F06E430 27A50050 */ addiu $a1, $sp, 0x50 -/* 0A2F64 7F06E434 0FC16063 */ jal sub_GAME_7F05818C -/* 0A2F68 7F06E438 016C3021 */ addu $a2, $t3, $t4 -/* 0A2F6C 7F06E43C 10000009 */ b .L7F06E464 -/* 0A2F70 7F06E440 8FA30024 */ lw $v1, 0x24($sp) -.L7F06E444: -/* 0A2F74 7F06E444 8FAD0048 */ lw $t5, 0x48($sp) -/* 0A2F78 7F06E448 8FAF0040 */ lw $t7, 0x40($sp) -/* 0A2F7C 7F06E44C 4405A000 */ mfc1 $a1, $f20 -/* 0A2F80 7F06E450 000D7180 */ sll $t6, $t5, 6 -/* 0A2F84 7F06E454 AFA30024 */ sw $v1, 0x24($sp) -/* 0A2F88 7F06E458 0FC16134 */ jal sub_GAME_7F0584D0 -/* 0A2F8C 7F06E45C 01CF3021 */ addu $a2, $t6, $t7 -/* 0A2F90 7F06E460 8FA30024 */ lw $v1, 0x24($sp) -.L7F06E464: -/* 0A2F94 7F06E464 10600031 */ beqz $v1, .L7F06E52C -/* 0A2F98 7F06E468 8FB90094 */ lw $t9, 0x94($sp) -/* 0A2F9C 7F06E46C 13200004 */ beqz $t9, .L7F06E480 -/* 0A2FA0 7F06E470 4600A306 */ mov.s $f12, $f20 -/* 0A2FA4 7F06E474 27B80050 */ addiu $t8, $sp, 0x50 -/* 0A2FA8 7F06E478 10000006 */ b .L7F06E494 -/* 0A2FAC 7F06E47C AFB80030 */ sw $t8, 0x30($sp) -.L7F06E480: -/* 0A2FB0 7F06E480 8FA80044 */ lw $t0, 0x44($sp) -/* 0A2FB4 7F06E484 8FA90040 */ lw $t1, 0x40($sp) -/* 0A2FB8 7F06E488 00085180 */ sll $t2, $t0, 6 -/* 0A2FBC 7F06E48C 01495821 */ addu $t3, $t2, $t1 -/* 0A2FC0 7F06E490 AFAB0030 */ sw $t3, 0x30($sp) -.L7F06E494: -/* 0A2FC4 7F06E494 0FC1617F */ jal sub_GAME_7F0585FC -/* 0A2FC8 7F06E498 8FA50030 */ lw $a1, 0x30($sp) -/* 0A2FCC 7F06E49C 3C018005 */ lui $at, %hi(D_80054C04) -/* 0A2FD0 7F06E4A0 C4264C04 */ lwc1 $f6, %lo(D_80054C04)($at) -/* 0A2FD4 7F06E4A4 3C018005 */ lui $at, %hi(D_80054C08) -/* 0A2FD8 7F06E4A8 4614303E */ c.le.s $f6, $f20 -/* 0A2FDC 7F06E4AC 00000000 */ nop -/* 0A2FE0 7F06E4B0 45000003 */ bc1f .L7F06E4C0 -/* 0A2FE4 7F06E4B4 00000000 */ nop -/* 0A2FE8 7F06E4B8 C4284C08 */ lwc1 $f8, %lo(D_80054C08)($at) -/* 0A2FEC 7F06E4BC 46144501 */ sub.s $f20, $f8, $f20 -.L7F06E4C0: -/* 0A2FF0 7F06E4C0 3C018005 */ lui $at, %hi(D_80054C0C) -/* 0A2FF4 7F06E4C4 C42A4C0C */ lwc1 $f10, %lo(D_80054C0C)($at) -/* 0A2FF8 7F06E4C8 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0A2FFC 7F06E4CC 460AA03C */ c.lt.s $f20, $f10 -/* 0A3000 7F06E4D0 00000000 */ nop -/* 0A3004 7F06E4D4 45020006 */ bc1fl .L7F06E4F0 -/* 0A3008 7F06E4D8 44816000 */ mtc1 $at, $f12 -/* 0A300C 7F06E4DC 0FC16A78 */ jal sub_GAME_7F05A9E0 -/* 0A3010 7F06E4E0 4600A306 */ mov.s $f12, $f20 -/* 0A3014 7F06E4E4 10000003 */ b .L7F06E4F4 -/* 0A3018 7F06E4E8 46000306 */ mov.s $f12, $f0 -/* 0A301C 7F06E4EC 44816000 */ mtc1 $at, $f12 -.L7F06E4F0: -/* 0A3020 7F06E4F0 00000000 */ nop -.L7F06E4F4: -/* 0A3024 7F06E4F4 0FC16293 */ jal sub_GAME_7F058A4C -/* 0A3028 7F06E4F8 8FA50030 */ lw $a1, 0x30($sp) -/* 0A302C 7F06E4FC 8FA40098 */ lw $a0, 0x98($sp) -/* 0A3030 7F06E500 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0A3034 7F06E504 8FA50030 */ lw $a1, 0x30($sp) -/* 0A3038 7F06E508 8FAC0094 */ lw $t4, 0x94($sp) -/* 0A303C 7F06E50C 8FAD0044 */ lw $t5, 0x44($sp) -/* 0A3040 7F06E510 8FAF0040 */ lw $t7, 0x40($sp) -/* 0A3044 7F06E514 11800005 */ beqz $t4, .L7F06E52C -/* 0A3048 7F06E518 01802025 */ move $a0, $t4 -/* 0A304C 7F06E51C 000D7180 */ sll $t6, $t5, 6 -/* 0A3050 7F06E520 01CF3021 */ addu $a2, $t6, $t7 -/* 0A3054 7F06E524 0FC16063 */ jal sub_GAME_7F05818C -/* 0A3058 7F06E528 8FA50030 */ lw $a1, 0x30($sp) -.L7F06E52C: -/* 0A305C 7F06E52C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A3060 7F06E530 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0A3064 7F06E534 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 0A3068 7F06E538 03E00008 */ jr $ra -/* 0A306C 7F06E53C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06E540(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054C10 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054C14 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F06E540 -/* 0A3070 7F06E540 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0A3074 7F06E544 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A3078 7F06E548 AFA5002C */ sw $a1, 0x2c($sp) -/* 0A307C 7F06E54C AFA60030 */ sw $a2, 0x30($sp) -/* 0A3080 7F06E550 90EE0006 */ lbu $t6, 6($a3) -/* 0A3084 7F06E554 44801000 */ mtc1 $zero, $f2 -/* 0A3088 7F06E558 10A0000C */ beqz $a1, .L7F06E58C -/* 0A308C 7F06E55C A3AE001F */ sb $t6, 0x1f($sp) -/* 0A3090 7F06E560 8CD90004 */ lw $t9, 4($a2) -/* 0A3094 7F06E564 00044080 */ sll $t0, $a0, 2 -/* 0A3098 7F06E568 01044023 */ subu $t0, $t0, $a0 -/* 0A309C 7F06E56C 00084040 */ sll $t0, $t0, 1 -/* 0A30A0 7F06E570 03284821 */ addu $t1, $t9, $t0 -/* 0A30A4 7F06E574 952A0004 */ lhu $t2, 4($t1) -/* 0A30A8 7F06E578 31CB00FF */ andi $t3, $t6, 0xff -/* 0A30AC 7F06E57C 014B0019 */ multu $t2, $t3 -/* 0A30B0 7F06E580 00003012 */ mflo $a2 -/* 0A30B4 7F06E584 1000000E */ b .L7F06E5C0 -/* 0A30B8 7F06E588 8FA40038 */ lw $a0, 0x38($sp) -.L7F06E58C: -/* 0A30BC 7F06E58C 8FAC0030 */ lw $t4, 0x30($sp) -/* 0A30C0 7F06E590 00047080 */ sll $t6, $a0, 2 -/* 0A30C4 7F06E594 01C47023 */ subu $t6, $t6, $a0 -/* 0A30C8 7F06E598 8D8D0004 */ lw $t5, 4($t4) -/* 0A30CC 7F06E59C 000E7040 */ sll $t6, $t6, 1 -/* 0A30D0 7F06E5A0 93B9001F */ lbu $t9, 0x1f($sp) -/* 0A30D4 7F06E5A4 01AE7821 */ addu $t7, $t5, $t6 -/* 0A30D8 7F06E5A8 95F80002 */ lhu $t8, 2($t7) -/* 0A30DC 7F06E5AC 03190019 */ multu $t8, $t9 -/* 0A30E0 7F06E5B0 00003012 */ mflo $a2 -/* 0A30E4 7F06E5B4 00000000 */ nop -/* 0A30E8 7F06E5B8 00000000 */ nop -/* 0A30EC 7F06E5BC 8FA40038 */ lw $a0, 0x38($sp) -.L7F06E5C0: -/* 0A30F0 7F06E5C0 93A5001F */ lbu $a1, 0x1f($sp) -/* 0A30F4 7F06E5C4 0FC1B781 */ jal sub_GAME_7F06DE04 -/* 0A30F8 7F06E5C8 E7A20018 */ swc1 $f2, 0x18($sp) -/* 0A30FC 7F06E5CC 8FA8002C */ lw $t0, 0x2c($sp) -/* 0A3100 7F06E5D0 C7A20018 */ lwc1 $f2, 0x18($sp) -/* 0A3104 7F06E5D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A3108 7F06E5D8 1100000D */ beqz $t0, .L7F06E610 -/* 0A310C 7F06E5DC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0A3110 7F06E5E0 10400018 */ beqz $v0, .L7F06E644 -/* 0A3114 7F06E5E4 3C090001 */ lui $t1, 1 -/* 0A3118 7F06E5E8 01225023 */ subu $t2, $t1, $v0 -/* 0A311C 7F06E5EC 448A2000 */ mtc1 $t2, $f4 -/* 0A3120 7F06E5F0 3C018005 */ lui $at, %hi(D_80054C10) -/* 0A3124 7F06E5F4 C4284C10 */ lwc1 $f8, %lo(D_80054C10)($at) -/* 0A3128 7F06E5F8 468021A0 */ cvt.s.w $f6, $f4 -/* 0A312C 7F06E5FC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0A3130 7F06E600 44818000 */ mtc1 $at, $f16 -/* 0A3134 7F06E604 46083282 */ mul.s $f10, $f6, $f8 -/* 0A3138 7F06E608 1000000E */ b .L7F06E644 -/* 0A313C 7F06E60C 46105083 */ div.s $f2, $f10, $f16 -.L7F06E610: -/* 0A3140 7F06E610 44829000 */ mtc1 $v0, $f18 -/* 0A3144 7F06E614 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0A3148 7F06E618 04410004 */ bgez $v0, .L7F06E62C -/* 0A314C 7F06E61C 46809120 */ cvt.s.w $f4, $f18 -/* 0A3150 7F06E620 44813000 */ mtc1 $at, $f6 -/* 0A3154 7F06E624 00000000 */ nop -/* 0A3158 7F06E628 46062100 */ add.s $f4, $f4, $f6 -.L7F06E62C: -/* 0A315C 7F06E62C 3C018005 */ lui $at, %hi(D_80054C14) -/* 0A3160 7F06E630 C4284C14 */ lwc1 $f8, %lo(D_80054C14)($at) -/* 0A3164 7F06E634 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0A3168 7F06E638 44818000 */ mtc1 $at, $f16 -/* 0A316C 7F06E63C 46082282 */ mul.s $f10, $f4, $f8 -/* 0A3170 7F06E640 46105083 */ div.s $f2, $f10, $f16 -.L7F06E644: -/* 0A3174 7F06E644 03E00008 */ jr $ra -/* 0A3178 7F06E648 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void process_03_unknown(void) { - -} -#else -GLOBAL_ASM( -.text -glabel process_03_unknown -/* 0A317C 7F06E64C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0A3180 7F06E650 AFB00028 */ sw $s0, 0x28($sp) -/* 0A3184 7F06E654 AFBF0034 */ sw $ra, 0x34($sp) -/* 0A3188 7F06E658 AFB20030 */ sw $s2, 0x30($sp) -/* 0A318C 7F06E65C AFB1002C */ sw $s1, 0x2c($sp) -/* 0A3190 7F06E660 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0A3194 7F06E664 AFA40050 */ sw $a0, 0x50($sp) -/* 0A3198 7F06E668 AFA60058 */ sw $a2, 0x58($sp) -/* 0A319C 7F06E66C 8CC20004 */ lw $v0, 4($a2) -/* 0A31A0 7F06E670 8CAF0008 */ lw $t7, 8($a1) -/* 0A31A4 7F06E674 00A08025 */ move $s0, $a1 -/* 0A31A8 7F06E678 8E180034 */ lw $t8, 0x34($s0) -/* 0A31AC 7F06E67C 9451000C */ lhu $s1, 0xc($v0) -/* 0A31B0 7F06E680 8DF20004 */ lw $s2, 4($t7) -/* 0A31B4 7F06E684 8E070020 */ lw $a3, 0x20($s0) -/* 0A31B8 7F06E688 80A50024 */ lb $a1, 0x24($a1) -/* 0A31BC 7F06E68C AFB80010 */ sw $t8, 0x10($sp) -/* 0A31C0 7F06E690 02202025 */ move $a0, $s1 -/* 0A31C4 7F06E694 0FC1B950 */ jal sub_GAME_7F06E540 -/* 0A31C8 7F06E698 02403025 */ move $a2, $s2 -/* 0A31CC 7F06E69C 44802000 */ mtc1 $zero, $f4 -/* 0A31D0 7F06E6A0 C606002C */ lwc1 $f6, 0x2c($s0) -/* 0A31D4 7F06E6A4 46000506 */ mov.s $f20, $f0 -/* 0A31D8 7F06E6A8 02202025 */ move $a0, $s1 -/* 0A31DC 7F06E6AC 46062032 */ c.eq.s $f4, $f6 -/* 0A31E0 7F06E6B0 02403025 */ move $a2, $s2 -/* 0A31E4 7F06E6B4 4503000C */ bc1tl .L7F06E6E8 -/* 0A31E8 7F06E6B8 44804000 */ mtc1 $zero, $f8 -/* 0A31EC 7F06E6BC 8E190038 */ lw $t9, 0x38($s0) -/* 0A31F0 7F06E6C0 82050024 */ lb $a1, 0x24($s0) -/* 0A31F4 7F06E6C4 8E070020 */ lw $a3, 0x20($s0) -/* 0A31F8 7F06E6C8 0FC1B950 */ jal sub_GAME_7F06E540 -/* 0A31FC 7F06E6CC AFB90010 */ sw $t9, 0x10($sp) -/* 0A3200 7F06E6D0 4600A306 */ mov.s $f12, $f20 -/* 0A3204 7F06E6D4 46000386 */ mov.s $f14, $f0 -/* 0A3208 7F06E6D8 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A320C 7F06E6DC 8E06002C */ lw $a2, 0x2c($s0) -/* 0A3210 7F06E6E0 46000506 */ mov.s $f20, $f0 -/* 0A3214 7F06E6E4 44804000 */ mtc1 $zero, $f8 -.L7F06E6E8: -/* 0A3218 7F06E6E8 C60A0084 */ lwc1 $f10, 0x84($s0) -/* 0A321C 7F06E6EC 02202025 */ move $a0, $s1 -/* 0A3220 7F06E6F0 02403025 */ move $a2, $s2 -/* 0A3224 7F06E6F4 460A4032 */ c.eq.s $f8, $f10 -/* 0A3228 7F06E6F8 00000000 */ nop -/* 0A322C 7F06E6FC 4503001F */ bc1tl .L7F06E77C -/* 0A3230 7F06E700 4407A000 */ mfc1 $a3, $f20 -/* 0A3234 7F06E704 8E080064 */ lw $t0, 0x64($s0) -/* 0A3238 7F06E708 82050025 */ lb $a1, 0x25($s0) -/* 0A323C 7F06E70C 8E070054 */ lw $a3, 0x54($s0) -/* 0A3240 7F06E710 0FC1B950 */ jal sub_GAME_7F06E540 -/* 0A3244 7F06E714 AFA80010 */ sw $t0, 0x10($sp) -/* 0A3248 7F06E718 E7A00038 */ swc1 $f0, 0x38($sp) -/* 0A324C 7F06E71C C612005C */ lwc1 $f18, 0x5c($s0) -/* 0A3250 7F06E720 44808000 */ mtc1 $zero, $f16 -/* 0A3254 7F06E724 02202025 */ move $a0, $s1 -/* 0A3258 7F06E728 02403025 */ move $a2, $s2 -/* 0A325C 7F06E72C 46128032 */ c.eq.s $f16, $f18 -/* 0A3260 7F06E730 00000000 */ nop -/* 0A3264 7F06E734 4503000C */ bc1tl .L7F06E768 -/* 0A3268 7F06E738 4600A306 */ mov.s $f12, $f20 -/* 0A326C 7F06E73C 8E090068 */ lw $t1, 0x68($s0) -/* 0A3270 7F06E740 82050025 */ lb $a1, 0x25($s0) -/* 0A3274 7F06E744 8E070054 */ lw $a3, 0x54($s0) -/* 0A3278 7F06E748 0FC1B950 */ jal sub_GAME_7F06E540 -/* 0A327C 7F06E74C AFA90010 */ sw $t1, 0x10($sp) -/* 0A3280 7F06E750 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 0A3284 7F06E754 46000386 */ mov.s $f14, $f0 -/* 0A3288 7F06E758 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A328C 7F06E75C 8E06005C */ lw $a2, 0x5c($s0) -/* 0A3290 7F06E760 E7A00038 */ swc1 $f0, 0x38($sp) -/* 0A3294 7F06E764 4600A306 */ mov.s $f12, $f20 -.L7F06E768: -/* 0A3298 7F06E768 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 0A329C 7F06E76C 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A32A0 7F06E770 8E060084 */ lw $a2, 0x84($s0) -/* 0A32A4 7F06E774 46000506 */ mov.s $f20, $f0 -/* 0A32A8 7F06E778 4407A000 */ mfc1 $a3, $f20 -.L7F06E77C: -/* 0A32AC 7F06E77C 8FA40050 */ lw $a0, 0x50($sp) -/* 0A32B0 7F06E780 02002825 */ move $a1, $s0 -/* 0A32B4 7F06E784 0FC1B8AE */ jal sub_GAME_7F06E2B8 -/* 0A32B8 7F06E788 8FA60058 */ lw $a2, 0x58($sp) -/* 0A32BC 7F06E78C 8FBF0034 */ lw $ra, 0x34($sp) -/* 0A32C0 7F06E790 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0A32C4 7F06E794 8FB00028 */ lw $s0, 0x28($sp) -/* 0A32C8 7F06E798 8FB1002C */ lw $s1, 0x2c($sp) -/* 0A32CC 7F06E79C 8FB20030 */ lw $s2, 0x30($sp) -/* 0A32D0 7F06E7A0 03E00008 */ jr $ra -/* 0A32D4 7F06E7A4 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - -#ifdef NONMATCHING -void process_15_subposition(void) { - -} -#else -GLOBAL_ASM( -.text -glabel process_15_subposition -/* 0A32D8 7F06E7A8 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0A32DC 7F06E7AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0A32E0 7F06E7B0 AFA50074 */ sw $a1, 0x74($sp) -/* 0A32E4 7F06E7B4 8CCE0004 */ lw $t6, 4($a2) -/* 0A32E8 7F06E7B8 AFAE006C */ sw $t6, 0x6c($sp) -/* 0A32EC 7F06E7BC 8CC70008 */ lw $a3, 8($a2) -/* 0A32F0 7F06E7C0 8CA8000C */ lw $t0, 0xc($a1) -/* 0A32F4 7F06E7C4 00003025 */ move $a2, $zero -/* 0A32F8 7F06E7C8 10E0000A */ beqz $a3, .L7F06E7F4 -/* 0A32FC 7F06E7CC 85C3000C */ lh $v1, 0xc($t6) -/* 0A3300 7F06E7D0 00A02025 */ move $a0, $a1 -/* 0A3304 7F06E7D4 00E02825 */ move $a1, $a3 -/* 0A3308 7F06E7D8 AFA30024 */ sw $v1, 0x24($sp) -/* 0A330C 7F06E7DC 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A3310 7F06E7E0 AFA80020 */ sw $t0, 0x20($sp) -/* 0A3314 7F06E7E4 8FA30024 */ lw $v1, 0x24($sp) -/* 0A3318 7F06E7E8 8FA80020 */ lw $t0, 0x20($sp) -/* 0A331C 7F06E7EC 10000002 */ b .L7F06E7F8 -/* 0A3320 7F06E7F0 00403825 */ move $a3, $v0 -.L7F06E7F4: -/* 0A3324 7F06E7F4 8C870000 */ lw $a3, ($a0) -.L7F06E7F8: -/* 0A3328 7F06E7F8 10E00010 */ beqz $a3, .L7F06E83C -/* 0A332C 7F06E7FC 8FA4006C */ lw $a0, 0x6c($sp) -/* 0A3330 7F06E800 8FA4006C */ lw $a0, 0x6c($sp) -/* 0A3334 7F06E804 27A50028 */ addiu $a1, $sp, 0x28 -/* 0A3338 7F06E808 AFA30024 */ sw $v1, 0x24($sp) -/* 0A333C 7F06E80C AFA70068 */ sw $a3, 0x68($sp) -/* 0A3340 7F06E810 0FC16259 */ jal init_something_copy_posdata_to_it -/* 0A3344 7F06E814 AFA80020 */ sw $t0, 0x20($sp) -/* 0A3348 7F06E818 8FA30024 */ lw $v1, 0x24($sp) -/* 0A334C 7F06E81C 8FA80020 */ lw $t0, 0x20($sp) -/* 0A3350 7F06E820 8FA40068 */ lw $a0, 0x68($sp) -/* 0A3354 7F06E824 0003C980 */ sll $t9, $v1, 6 -/* 0A3358 7F06E828 27A50028 */ addiu $a1, $sp, 0x28 -/* 0A335C 7F06E82C 0FC16063 */ jal sub_GAME_7F05818C -/* 0A3360 7F06E830 03283021 */ addu $a2, $t9, $t0 -/* 0A3364 7F06E834 10000005 */ b .L7F06E84C -/* 0A3368 7F06E838 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06E83C: -/* 0A336C 7F06E83C 00034980 */ sll $t1, $v1, 6 -/* 0A3370 7F06E840 0FC16259 */ jal init_something_copy_posdata_to_it -/* 0A3374 7F06E844 01282821 */ addu $a1, $t1, $t0 -/* 0A3378 7F06E848 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06E84C: -/* 0A337C 7F06E84C 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0A3380 7F06E850 03E00008 */ jr $ra -/* 0A3384 7F06E854 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void process_08_distance_triggers(void) { - -} -#else -GLOBAL_ASM( -.text -glabel process_08_distance_triggers -/* 0A3388 7F06E858 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A338C 7F06E85C AFBF001C */ sw $ra, 0x1c($sp) -/* 0A3390 7F06E860 AFB00018 */ sw $s0, 0x18($sp) -/* 0A3394 7F06E864 AFA40030 */ sw $a0, 0x30($sp) -/* 0A3398 7F06E868 8CAE0004 */ lw $t6, 4($a1) -/* 0A339C 7F06E86C 00A08025 */ move $s0, $a1 -/* 0A33A0 7F06E870 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A33A4 7F06E874 AFAE002C */ sw $t6, 0x2c($sp) -/* 0A33A8 7F06E878 AFA20028 */ sw $v0, 0x28($sp) -/* 0A33AC 7F06E87C 8FA40030 */ lw $a0, 0x30($sp) -/* 0A33B0 7F06E880 02002825 */ move $a1, $s0 -/* 0A33B4 7F06E884 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A33B8 7F06E888 00003025 */ move $a2, $zero -/* 0A33BC 7F06E88C 3C0F8003 */ lui $t7, %hi(D_80036084) -/* 0A33C0 7F06E890 8DEF6084 */ lw $t7, %lo(D_80036084)($t7) -/* 0A33C4 7F06E894 00401825 */ move $v1, $v0 -/* 0A33C8 7F06E898 11E00004 */ beqz $t7, .L7F06E8AC -/* 0A33CC 7F06E89C 00000000 */ nop -/* 0A33D0 7F06E8A0 44801000 */ mtc1 $zero, $f2 -/* 0A33D4 7F06E8A4 10000011 */ b .L7F06E8EC -/* 0A33D8 7F06E8A8 8FA2002C */ lw $v0, 0x2c($sp) -.L7F06E8AC: -/* 0A33DC 7F06E8AC 0FC1E121 */ jal getPlayer_c_lodscalez -/* 0A33E0 7F06E8B0 AFA30024 */ sw $v1, 0x24($sp) -/* 0A33E4 7F06E8B4 3C018003 */ lui $at, %hi(D_80036088) -/* 0A33E8 7F06E8B8 8FA30024 */ lw $v1, 0x24($sp) -/* 0A33EC 7F06E8BC C42C6088 */ lwc1 $f12, %lo(D_80036088)($at) -/* 0A33F0 7F06E8C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A33F4 7F06E8C4 44814000 */ mtc1 $at, $f8 -/* 0A33F8 7F06E8C8 C4640038 */ lwc1 $f4, 0x38($v1) -/* 0A33FC 7F06E8CC 460C4032 */ c.eq.s $f8, $f12 -/* 0A3400 7F06E8D0 46002187 */ neg.s $f6, $f4 -/* 0A3404 7F06E8D4 46060082 */ mul.s $f2, $f0, $f6 -/* 0A3408 7F06E8D8 45030004 */ bc1tl .L7F06E8EC -/* 0A340C 7F06E8DC 8FA2002C */ lw $v0, 0x2c($sp) -/* 0A3410 7F06E8E0 460C1082 */ mul.s $f2, $f2, $f12 -/* 0A3414 7F06E8E4 00000000 */ nop -/* 0A3418 7F06E8E8 8FA2002C */ lw $v0, 0x2c($sp) -.L7F06E8EC: -/* 0A341C 7F06E8EC 8FB80030 */ lw $t8, 0x30($sp) -/* 0A3420 7F06E8F0 C4400000 */ lwc1 $f0, ($v0) -/* 0A3424 7F06E8F4 C70C0014 */ lwc1 $f12, 0x14($t8) -/* 0A3428 7F06E8F8 460C0282 */ mul.s $f10, $f0, $f12 -/* 0A342C 7F06E8FC 4602503C */ c.lt.s $f10, $f2 -/* 0A3430 7F06E900 00000000 */ nop -/* 0A3434 7F06E904 45030008 */ bc1tl .L7F06E928 -/* 0A3438 7F06E908 C4520004 */ lwc1 $f18, 4($v0) -/* 0A343C 7F06E90C 44808000 */ mtc1 $zero, $f16 -/* 0A3440 7F06E910 00000000 */ nop -/* 0A3444 7F06E914 46008032 */ c.eq.s $f16, $f0 -/* 0A3448 7F06E918 00000000 */ nop -/* 0A344C 7F06E91C 4502000D */ bc1fl .L7F06E954 -/* 0A3450 7F06E920 8FAA0028 */ lw $t2, 0x28($sp) -/* 0A3454 7F06E924 C4520004 */ lwc1 $f18, 4($v0) -.L7F06E928: -/* 0A3458 7F06E928 8FA80028 */ lw $t0, 0x28($sp) -/* 0A345C 7F06E92C 460C9102 */ mul.s $f4, $f18, $f12 -/* 0A3460 7F06E930 4604103E */ c.le.s $f2, $f4 -/* 0A3464 7F06E934 00000000 */ nop -/* 0A3468 7F06E938 45000005 */ bc1f .L7F06E950 -/* 0A346C 7F06E93C 24190001 */ li $t9, 1 -/* 0A3470 7F06E940 AD190000 */ sw $t9, ($t0) -/* 0A3474 7F06E944 8C490008 */ lw $t1, 8($v0) -/* 0A3478 7F06E948 10000004 */ b .L7F06E95C -/* 0A347C 7F06E94C AE090014 */ sw $t1, 0x14($s0) -.L7F06E950: -/* 0A3480 7F06E950 8FAA0028 */ lw $t2, 0x28($sp) -.L7F06E954: -/* 0A3484 7F06E954 AD400000 */ sw $zero, ($t2) -/* 0A3488 7F06E958 AE000014 */ sw $zero, 0x14($s0) -.L7F06E95C: -/* 0A348C 7F06E95C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A3490 7F06E960 8FB00018 */ lw $s0, 0x18($sp) -/* 0A3494 7F06E964 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0A3498 7F06E968 03E00008 */ jr $ra -/* 0A349C 7F06E96C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06E970(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06E970 -/* 0A34A0 7F06E970 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A34A4 7F06E974 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A34A8 7F06E978 8CAE0004 */ lw $t6, 4($a1) -/* 0A34AC 7F06E97C AFA50024 */ sw $a1, 0x24($sp) -/* 0A34B0 7F06E980 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A34B4 7F06E984 AFAE001C */ sw $t6, 0x1c($sp) -/* 0A34B8 7F06E988 8C4F0000 */ lw $t7, ($v0) -/* 0A34BC 7F06E98C 8FA50024 */ lw $a1, 0x24($sp) -/* 0A34C0 7F06E990 8FB8001C */ lw $t8, 0x1c($sp) -/* 0A34C4 7F06E994 51E00005 */ beql $t7, $zero, .L7F06E9AC -/* 0A34C8 7F06E998 ACA00014 */ sw $zero, 0x14($a1) -/* 0A34CC 7F06E99C 8F190008 */ lw $t9, 8($t8) -/* 0A34D0 7F06E9A0 10000002 */ b .L7F06E9AC -/* 0A34D4 7F06E9A4 ACB90014 */ sw $t9, 0x14($a1) -/* 0A34D8 7F06E9A8 ACA00014 */ sw $zero, 0x14($a1) -.L7F06E9AC: -/* 0A34DC 7F06E9AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A34E0 7F06E9B0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A34E4 7F06E9B4 03E00008 */ jr $ra -/* 0A34E8 7F06E9B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void process_12_handle_switch(void) { - -} -#else -GLOBAL_ASM( -.text -glabel process_12_handle_switch -/* 0A34EC 7F06E9BC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A34F0 7F06E9C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A34F4 7F06E9C4 8CAE0004 */ lw $t6, 4($a1) -/* 0A34F8 7F06E9C8 AFA50024 */ sw $a1, 0x24($sp) -/* 0A34FC 7F06E9CC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A3500 7F06E9D0 AFAE001C */ sw $t6, 0x1c($sp) -/* 0A3504 7F06E9D4 8C4F0000 */ lw $t7, ($v0) -/* 0A3508 7F06E9D8 8FA50024 */ lw $a1, 0x24($sp) -/* 0A350C 7F06E9DC 8FB8001C */ lw $t8, 0x1c($sp) -/* 0A3510 7F06E9E0 51E00005 */ beql $t7, $zero, .L7F06E9F8 -/* 0A3514 7F06E9E4 ACA00014 */ sw $zero, 0x14($a1) -/* 0A3518 7F06E9E8 8F190000 */ lw $t9, ($t8) -/* 0A351C 7F06E9EC 10000002 */ b .L7F06E9F8 -/* 0A3520 7F06E9F0 ACB90014 */ sw $t9, 0x14($a1) -/* 0A3524 7F06E9F4 ACA00014 */ sw $zero, 0x14($a1) -.L7F06E9F8: -/* 0A3528 7F06E9F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A352C 7F06E9FC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A3530 7F06EA00 03E00008 */ jr $ra -/* 0A3534 7F06EA04 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void process_17_pointer_to_head(void) { - -} -#else -GLOBAL_ASM( -.text -glabel process_17_pointer_to_head -/* 0A3538 7F06EA08 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A353C 7F06EA0C AFBF0014 */ sw $ra, 0x14($sp) -/* 0A3540 7F06EA10 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A3544 7F06EA14 AFA5001C */ sw $a1, 0x1c($sp) -/* 0A3548 7F06EA18 8C440000 */ lw $a0, ($v0) -/* 0A354C 7F06EA1C 8FA5001C */ lw $a1, 0x1c($sp) -/* 0A3550 7F06EA20 50800009 */ beql $a0, $zero, .L7F06EA48 -/* 0A3554 7F06EA24 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A3558 7F06EA28 8C830000 */ lw $v1, ($a0) -/* 0A355C 7F06EA2C 10600005 */ beqz $v1, .L7F06EA44 -/* 0A3560 7F06EA30 ACA30014 */ sw $v1, 0x14($a1) -/* 0A3564 7F06EA34 AC650008 */ sw $a1, 8($v1) -.L7F06EA38: -/* 0A3568 7F06EA38 8C63000C */ lw $v1, 0xc($v1) -/* 0A356C 7F06EA3C 5460FFFE */ bnezl $v1, .L7F06EA38 -/* 0A3570 7F06EA40 AC650008 */ sw $a1, 8($v1) -.L7F06EA44: -/* 0A3574 7F06EA44 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06EA48: -/* 0A3578 7F06EA48 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A357C 7F06EA4C 03E00008 */ jr $ra -/* 0A3580 7F06EA50 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06EA54(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06EA54 -/* 0A3584 7F06EA54 10A00004 */ beqz $a1, .L7F06EA68 -/* 0A3588 7F06EA58 8C820004 */ lw $v0, 4($a0) -/* 0A358C 7F06EA5C 8C430018 */ lw $v1, 0x18($v0) -/* 0A3590 7F06EA60 10000003 */ b .L7F06EA70 -/* 0A3594 7F06EA64 8C45001C */ lw $a1, 0x1c($v0) -.L7F06EA68: -/* 0A3598 7F06EA68 8C43001C */ lw $v1, 0x1c($v0) -/* 0A359C 7F06EA6C 8C450018 */ lw $a1, 0x18($v0) -.L7F06EA70: -/* 0A35A0 7F06EA70 10600022 */ beqz $v1, .L7F06EAFC -/* 0A35A4 7F06EA74 00000000 */ nop -/* 0A35A8 7F06EA78 AC830014 */ sw $v1, 0x14($a0) -/* 0A35AC 7F06EA7C 8C66000C */ lw $a2, 0xc($v1) -/* 0A35B0 7F06EA80 AC600010 */ sw $zero, 0x10($v1) -/* 0A35B4 7F06EA84 00601025 */ move $v0, $v1 -/* 0A35B8 7F06EA88 10C0000A */ beqz $a2, .L7F06EAB4 -/* 0A35BC 7F06EA8C 00000000 */ nop -/* 0A35C0 7F06EA90 10A60008 */ beq $a1, $a2, .L7F06EAB4 -/* 0A35C4 7F06EA94 00000000 */ nop -/* 0A35C8 7F06EA98 8C44000C */ lw $a0, 0xc($v0) -/* 0A35CC 7F06EA9C 00801025 */ move $v0, $a0 -.L7F06EAA0: -/* 0A35D0 7F06EAA0 8C84000C */ lw $a0, 0xc($a0) -/* 0A35D4 7F06EAA4 10800003 */ beqz $a0, .L7F06EAB4 -/* 0A35D8 7F06EAA8 00000000 */ nop -/* 0A35DC 7F06EAAC 54A4FFFC */ bnel $a1, $a0, .L7F06EAA0 -/* 0A35E0 7F06EAB0 00801025 */ move $v0, $a0 -.L7F06EAB4: -/* 0A35E4 7F06EAB4 10A00014 */ beqz $a1, .L7F06EB08 -/* 0A35E8 7F06EAB8 AC45000C */ sw $a1, 0xc($v0) -/* 0A35EC 7F06EABC 8CA4000C */ lw $a0, 0xc($a1) -/* 0A35F0 7F06EAC0 ACA20010 */ sw $v0, 0x10($a1) -/* 0A35F4 7F06EAC4 00A01025 */ move $v0, $a1 -/* 0A35F8 7F06EAC8 1080000A */ beqz $a0, .L7F06EAF4 -/* 0A35FC 7F06EACC 00000000 */ nop -/* 0A3600 7F06EAD0 10640008 */ beq $v1, $a0, .L7F06EAF4 -/* 0A3604 7F06EAD4 00000000 */ nop -/* 0A3608 7F06EAD8 8CA4000C */ lw $a0, 0xc($a1) -/* 0A360C 7F06EADC 00801025 */ move $v0, $a0 -.L7F06EAE0: -/* 0A3610 7F06EAE0 8C84000C */ lw $a0, 0xc($a0) -/* 0A3614 7F06EAE4 10800003 */ beqz $a0, .L7F06EAF4 -/* 0A3618 7F06EAE8 00000000 */ nop -/* 0A361C 7F06EAEC 5464FFFC */ bnel $v1, $a0, .L7F06EAE0 -/* 0A3620 7F06EAF0 00801025 */ move $v0, $a0 -.L7F06EAF4: -/* 0A3624 7F06EAF4 03E00008 */ jr $ra -/* 0A3628 7F06EAF8 AC40000C */ sw $zero, 0xc($v0) - -.L7F06EAFC: -/* 0A362C 7F06EAFC 10A00002 */ beqz $a1, .L7F06EB08 -/* 0A3630 7F06EB00 AC850014 */ sw $a1, 0x14($a0) -/* 0A3634 7F06EB04 ACA00010 */ sw $zero, 0x10($a1) -.L7F06EB08: -/* 0A3638 7F06EB08 03E00008 */ jr $ra -/* 0A363C 7F06EB0C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06EB10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06EB10 -/* 0A3640 7F06EB10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A3644 7F06EB14 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A3648 7F06EB18 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A364C 7F06EB1C AFA5001C */ sw $a1, 0x1c($sp) -/* 0A3650 7F06EB20 8FA4001C */ lw $a0, 0x1c($sp) -/* 0A3654 7F06EB24 0FC1BA95 */ jal sub_GAME_7F06EA54 -/* 0A3658 7F06EB28 8C450000 */ lw $a1, ($v0) -/* 0A365C 7F06EB2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A3660 7F06EB30 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A3664 7F06EB34 03E00008 */ jr $ra -/* 0A3668 7F06EB38 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void process_09_head_hat_placement_interlink(void) { - -} -#else -GLOBAL_ASM( -.text -glabel process_09_head_hat_placement_interlink -/* 0A366C 7F06EB3C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0A3670 7F06EB40 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A3674 7F06EB44 AFB00018 */ sw $s0, 0x18($sp) -/* 0A3678 7F06EB48 AFA40050 */ sw $a0, 0x50($sp) -/* 0A367C 7F06EB4C 8CB00004 */ lw $s0, 4($a1) -/* 0A3680 7F06EB50 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A3684 7F06EB54 AFA50054 */ sw $a1, 0x54($sp) -/* 0A3688 7F06EB58 AFA20048 */ sw $v0, 0x48($sp) -/* 0A368C 7F06EB5C 8FA40050 */ lw $a0, 0x50($sp) -/* 0A3690 7F06EB60 8FA50054 */ lw $a1, 0x54($sp) -/* 0A3694 7F06EB64 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A3698 7F06EB68 00003025 */ move $a2, $zero -/* 0A369C 7F06EB6C 86030020 */ lh $v1, 0x20($s0) -/* 0A36A0 7F06EB70 00402025 */ move $a0, $v0 -/* 0A36A4 7F06EB74 24010002 */ li $at, 2 -/* 0A36A8 7F06EB78 1460000C */ bnez $v1, .L7F06EBAC -/* 0A36AC 7F06EB7C 00000000 */ nop -/* 0A36B0 7F06EB80 C604000C */ lwc1 $f4, 0xc($s0) -/* 0A36B4 7F06EB84 27A50038 */ addiu $a1, $sp, 0x38 -/* 0A36B8 7F06EB88 E7A40038 */ swc1 $f4, 0x38($sp) -/* 0A36BC 7F06EB8C C6060010 */ lwc1 $f6, 0x10($s0) -/* 0A36C0 7F06EB90 E7A6003C */ swc1 $f6, 0x3c($sp) -/* 0A36C4 7F06EB94 C6080014 */ lwc1 $f8, 0x14($s0) -/* 0A36C8 7F06EB98 AFA40044 */ sw $a0, 0x44($sp) -/* 0A36CC 7F06EB9C 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0A36D0 7F06EBA0 E7A80040 */ swc1 $f8, 0x40($sp) -/* 0A36D4 7F06EBA4 1000002F */ b .L7F06EC64 -/* 0A36D8 7F06EBA8 8FA40044 */ lw $a0, 0x44($sp) -.L7F06EBAC: -/* 0A36DC 7F06EBAC 5461000F */ bnel $v1, $at, .L7F06EBEC -/* 0A36E0 7F06EBB0 24010003 */ li $at, 3 -/* 0A36E4 7F06EBB4 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 0A36E8 7F06EBB8 C4500010 */ lwc1 $f16, 0x10($v0) -/* 0A36EC 7F06EBBC 46105482 */ mul.s $f18, $f10, $f16 -/* 0A36F0 7F06EBC0 E7B20038 */ swc1 $f18, 0x38($sp) -/* 0A36F4 7F06EBC4 C6040010 */ lwc1 $f4, 0x10($s0) -/* 0A36F8 7F06EBC8 C4460014 */ lwc1 $f6, 0x14($v0) -/* 0A36FC 7F06EBCC 46062202 */ mul.s $f8, $f4, $f6 -/* 0A3700 7F06EBD0 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 0A3704 7F06EBD4 C4500018 */ lwc1 $f16, 0x18($v0) -/* 0A3708 7F06EBD8 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 0A370C 7F06EBDC 46105482 */ mul.s $f18, $f10, $f16 -/* 0A3710 7F06EBE0 10000020 */ b .L7F06EC64 -/* 0A3714 7F06EBE4 E7B20040 */ swc1 $f18, 0x40($sp) -/* 0A3718 7F06EBE8 24010003 */ li $at, 3 -.L7F06EBEC: -/* 0A371C 7F06EBEC 5461000F */ bnel $v1, $at, .L7F06EC2C -/* 0A3720 7F06EBF0 24010001 */ li $at, 1 -/* 0A3724 7F06EBF4 C6040014 */ lwc1 $f4, 0x14($s0) -/* 0A3728 7F06EBF8 C4460020 */ lwc1 $f6, 0x20($v0) -/* 0A372C 7F06EBFC 46062202 */ mul.s $f8, $f4, $f6 -/* 0A3730 7F06EC00 E7A80038 */ swc1 $f8, 0x38($sp) -/* 0A3734 7F06EC04 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 0A3738 7F06EC08 C4500024 */ lwc1 $f16, 0x24($v0) -/* 0A373C 7F06EC0C 46105482 */ mul.s $f18, $f10, $f16 -/* 0A3740 7F06EC10 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 0A3744 7F06EC14 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0A3748 7F06EC18 C6040014 */ lwc1 $f4, 0x14($s0) -/* 0A374C 7F06EC1C 46062202 */ mul.s $f8, $f4, $f6 -/* 0A3750 7F06EC20 10000010 */ b .L7F06EC64 -/* 0A3754 7F06EC24 E7A80040 */ swc1 $f8, 0x40($sp) -/* 0A3758 7F06EC28 24010001 */ li $at, 1 -.L7F06EC2C: -/* 0A375C 7F06EC2C 5461000E */ bnel $v1, $at, .L7F06EC68 -/* 0A3760 7F06EC30 C6040000 */ lwc1 $f4, ($s0) -/* 0A3764 7F06EC34 C60A000C */ lwc1 $f10, 0xc($s0) -/* 0A3768 7F06EC38 C4500000 */ lwc1 $f16, ($v0) -/* 0A376C 7F06EC3C 46105482 */ mul.s $f18, $f10, $f16 -/* 0A3770 7F06EC40 E7B20038 */ swc1 $f18, 0x38($sp) -/* 0A3774 7F06EC44 C604000C */ lwc1 $f4, 0xc($s0) -/* 0A3778 7F06EC48 C4460004 */ lwc1 $f6, 4($v0) -/* 0A377C 7F06EC4C 46062202 */ mul.s $f8, $f4, $f6 -/* 0A3780 7F06EC50 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 0A3784 7F06EC54 C4500008 */ lwc1 $f16, 8($v0) -/* 0A3788 7F06EC58 C60A000C */ lwc1 $f10, 0xc($s0) -/* 0A378C 7F06EC5C 46105482 */ mul.s $f18, $f10, $f16 -/* 0A3790 7F06EC60 E7B20040 */ swc1 $f18, 0x40($sp) -.L7F06EC64: -/* 0A3794 7F06EC64 C6040000 */ lwc1 $f4, ($s0) -.L7F06EC68: -/* 0A3798 7F06EC68 27A5002C */ addiu $a1, $sp, 0x2c -/* 0A379C 7F06EC6C E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0A37A0 7F06EC70 C6060004 */ lwc1 $f6, 4($s0) -/* 0A37A4 7F06EC74 E7A60030 */ swc1 $f6, 0x30($sp) -/* 0A37A8 7F06EC78 C6080008 */ lwc1 $f8, 8($s0) -/* 0A37AC 7F06EC7C 0FC1611D */ jal sub_GAME_7F058474 -/* 0A37B0 7F06EC80 E7A80034 */ swc1 $f8, 0x34($sp) -/* 0A37B4 7F06EC84 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 0A37B8 7F06EC88 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 0A37BC 7F06EC8C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0A37C0 7F06EC90 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0A37C4 7F06EC94 46105482 */ mul.s $f18, $f10, $f16 -/* 0A37C8 7F06EC98 C7B00034 */ lwc1 $f16, 0x34($sp) -/* 0A37CC 7F06EC9C 8FAF0048 */ lw $t7, 0x48($sp) -/* 0A37D0 7F06ECA0 46062202 */ mul.s $f8, $f4, $f6 -/* 0A37D4 7F06ECA4 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0A37D8 7F06ECA8 8FB80048 */ lw $t8, 0x48($sp) -/* 0A37DC 7F06ECAC 46048182 */ mul.s $f6, $f16, $f4 -/* 0A37E0 7F06ECB0 46089280 */ add.s $f10, $f18, $f8 -/* 0A37E4 7F06ECB4 44809000 */ mtc1 $zero, $f18 -/* 0A37E8 7F06ECB8 460A3000 */ add.s $f0, $f6, $f10 -/* 0A37EC 7F06ECBC 4612003C */ c.lt.s $f0, $f18 -/* 0A37F0 7F06ECC0 00000000 */ nop -/* 0A37F4 7F06ECC4 45000003 */ bc1f .L7F06ECD4 -/* 0A37F8 7F06ECC8 240E0001 */ li $t6, 1 -/* 0A37FC 7F06ECCC 10000002 */ b .L7F06ECD8 -/* 0A3800 7F06ECD0 ADEE0000 */ sw $t6, ($t7) -.L7F06ECD4: -/* 0A3804 7F06ECD4 AF000000 */ sw $zero, ($t8) -.L7F06ECD8: -/* 0A3808 7F06ECD8 8FA40050 */ lw $a0, 0x50($sp) -/* 0A380C 7F06ECDC 0FC1BAC4 */ jal sub_GAME_7F06EB10 -/* 0A3810 7F06ECE0 8FA50054 */ lw $a1, 0x54($sp) -/* 0A3814 7F06ECE4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A3818 7F06ECE8 8FB00018 */ lw $s0, 0x18($sp) -/* 0A381C 7F06ECEC 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0A3820 7F06ECF0 03E00008 */ jr $ra -/* 0A3824 7F06ECF4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void process_07_unknown(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054C18 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054C1C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel process_07_unknown -/* 0A3828 7F06ECF8 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0A382C 7F06ECFC AFBF001C */ sw $ra, 0x1c($sp) -/* 0A3830 7F06ED00 AFB00018 */ sw $s0, 0x18($sp) -/* 0A3834 7F06ED04 AFA40058 */ sw $a0, 0x58($sp) -/* 0A3838 7F06ED08 8CAE0004 */ lw $t6, 4($a1) -/* 0A383C 7F06ED0C 00A08025 */ move $s0, $a1 -/* 0A3840 7F06ED10 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A3844 7F06ED14 AFAE0054 */ sw $t6, 0x54($sp) -/* 0A3848 7F06ED18 AFA20050 */ sw $v0, 0x50($sp) -/* 0A384C 7F06ED1C 8FA40058 */ lw $a0, 0x58($sp) -/* 0A3850 7F06ED20 02002825 */ move $a1, $s0 -/* 0A3854 7F06ED24 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A3858 7F06ED28 00003025 */ move $a2, $zero -/* 0A385C 7F06ED2C 00408025 */ move $s0, $v0 -/* 0A3860 7F06ED30 8FA40058 */ lw $a0, 0x58($sp) -/* 0A3864 7F06ED34 0FC1B154 */ jal sub_GAME_7F06C550 -/* 0A3868 7F06ED38 27A50038 */ addiu $a1, $sp, 0x38 -/* 0A386C 7F06ED3C C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0A3870 7F06ED40 C6060010 */ lwc1 $f6, 0x10($s0) -/* 0A3874 7F06ED44 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 0A3878 7F06ED48 C6100014 */ lwc1 $f16, 0x14($s0) -/* 0A387C 7F06ED4C 46062202 */ mul.s $f8, $f4, $f6 -/* 0A3880 7F06ED50 C6060018 */ lwc1 $f6, 0x18($s0) -/* 0A3884 7F06ED54 46105482 */ mul.s $f18, $f10, $f16 -/* 0A3888 7F06ED58 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0A388C 7F06ED5C 460A3402 */ mul.s $f16, $f6, $f10 -/* 0A3890 7F06ED60 46124100 */ add.s $f4, $f8, $f18 -/* 0A3894 7F06ED64 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 0A3898 7F06ED68 46048300 */ add.s $f12, $f16, $f4 -/* 0A389C 7F06ED6C E7A00030 */ swc1 $f0, 0x30($sp) -/* 0A38A0 7F06ED70 0FC15FAB */ jal sinf -/* 0A38A4 7F06ED74 46000306 */ mov.s $f12, $f0 -/* 0A38A8 7F06ED78 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0A38AC 7F06ED7C C6120020 */ lwc1 $f18, 0x20($s0) -/* 0A38B0 7F06ED80 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 0A38B4 7F06ED84 C6100024 */ lwc1 $f16, 0x24($s0) -/* 0A38B8 7F06ED88 46124182 */ mul.s $f6, $f8, $f18 -/* 0A38BC 7F06ED8C C7B20040 */ lwc1 $f18, 0x40($sp) -/* 0A38C0 7F06ED90 46105102 */ mul.s $f4, $f10, $f16 -/* 0A38C4 7F06ED94 C60A0028 */ lwc1 $f10, 0x28($s0) -/* 0A38C8 7F06ED98 460A9402 */ mul.s $f16, $f18, $f10 -/* 0A38CC 7F06ED9C 46043200 */ add.s $f8, $f6, $f4 -/* 0A38D0 7F06EDA0 46104180 */ add.s $f6, $f8, $f16 -/* 0A38D4 7F06EDA4 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 0A38D8 7F06EDA8 46003303 */ div.s $f12, $f6, $f0 -/* 0A38DC 7F06EDAC C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0A38E0 7F06EDB0 C6120000 */ lwc1 $f18, ($s0) -/* 0A38E4 7F06EDB4 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0A38E8 7F06EDB8 C6100004 */ lwc1 $f16, 4($s0) -/* 0A38EC 7F06EDBC 46122282 */ mul.s $f10, $f4, $f18 -/* 0A38F0 7F06EDC0 C6120008 */ lwc1 $f18, 8($s0) -/* 0A38F4 7F06EDC4 44807000 */ mtc1 $zero, $f14 -/* 0A38F8 7F06EDC8 46104182 */ mul.s $f6, $f8, $f16 -/* 0A38FC 7F06EDCC C7A80040 */ lwc1 $f8, 0x40($sp) -/* 0A3900 7F06EDD0 46000306 */ mov.s $f12, $f0 -/* 0A3904 7F06EDD4 46089402 */ mul.s $f16, $f18, $f8 -/* 0A3908 7F06EDD8 46065100 */ add.s $f4, $f10, $f6 -/* 0A390C 7F06EDDC C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0A3910 7F06EDE0 46048080 */ add.s $f2, $f16, $f4 -/* 0A3914 7F06EDE4 460E103C */ c.lt.s $f2, $f14 -/* 0A3918 7F06EDE8 00000000 */ nop -/* 0A391C 7F06EDEC 45000007 */ bc1f .L7F06EE0C -/* 0A3920 7F06EDF0 00000000 */ nop -/* 0A3924 7F06EDF4 4600703C */ c.lt.s $f14, $f0 -/* 0A3928 7F06EDF8 3C018005 */ lui $at, %hi(D_80054C18) -/* 0A392C 7F06EDFC 45000003 */ bc1f .L7F06EE0C -/* 0A3930 7F06EE00 00000000 */ nop -/* 0A3934 7F06EE04 C4224C18 */ lwc1 $f2, %lo(D_80054C18)($at) -/* 0A3938 7F06EE08 46001301 */ sub.s $f12, $f2, $f0 -.L7F06EE0C: -/* 0A393C 7F06EE0C 3C018005 */ lui $at, %hi(D_80054C1C) -/* 0A3940 7F06EE10 C4224C1C */ lwc1 $f2, %lo(D_80054C1C)($at) -/* 0A3944 7F06EE14 3C014280 */ li $at, 0x42800000 # 64.000000 -/* 0A3948 7F06EE18 44813000 */ mtc1 $at, $f6 -/* 0A394C 7F06EE1C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0A3950 7F06EE20 44812000 */ mtc1 $at, $f4 -/* 0A3954 7F06EE24 46065482 */ mul.s $f18, $f10, $f6 -/* 0A3958 7F06EE28 3C088003 */ lui $t0, %hi(D_800360C4) -/* 0A395C 7F06EE2C 250860C4 */ addiu $t0, %lo(D_800360C4) # addiu $t0, $t0, 0x60c4 -/* 0A3960 7F06EE30 46046282 */ mul.s $f10, $f12, $f4 -/* 0A3964 7F06EE34 8FAE0054 */ lw $t6, 0x54($sp) -/* 0A3968 7F06EE38 46029203 */ div.s $f8, $f18, $f2 -/* 0A396C 7F06EE3C 46025183 */ div.s $f6, $f10, $f2 -/* 0A3970 7F06EE40 4600440D */ trunc.w.s $f16, $f8 -/* 0A3974 7F06EE44 44188000 */ mfc1 $t8, $f16 -/* 0A3978 7F06EE48 00000000 */ nop -/* 0A397C 7F06EE4C 0018C880 */ sll $t9, $t8, 2 -/* 0A3980 7F06EE50 0338C823 */ subu $t9, $t9, $t8 -/* 0A3984 7F06EE54 0019C880 */ sll $t9, $t9, 2 -/* 0A3988 7F06EE58 03281821 */ addu $v1, $t9, $t0 -/* 0A398C 7F06EE5C 8C6B0004 */ lw $t3, 4($v1) -/* 0A3990 7F06EE60 8C6C0008 */ lw $t4, 8($v1) -/* 0A3994 7F06EE64 8C6D0000 */ lw $t5, ($v1) -/* 0A3998 7F06EE68 8FB90050 */ lw $t9, 0x50($sp) -/* 0A399C 7F06EE6C 4600348D */ trunc.w.s $f18, $f6 -/* 0A39A0 7F06EE70 440A9000 */ mfc1 $t2, $f18 -/* 0A39A4 7F06EE74 00000000 */ nop -/* 0A39A8 7F06EE78 014B1021 */ addu $v0, $t2, $t3 -/* 0A39AC 7F06EE7C 01821007 */ srav $v0, $v0, $t4 -/* 0A39B0 7F06EE80 01A22021 */ addu $a0, $t5, $v0 -/* 0A39B4 7F06EE84 01C47821 */ addu $t7, $t6, $a0 -/* 0A39B8 7F06EE88 91F80018 */ lbu $t8, 0x18($t7) -/* 0A39BC 7F06EE8C AF380000 */ sw $t8, ($t9) -/* 0A39C0 7F06EE90 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A39C4 7F06EE94 8FB00018 */ lw $s0, 0x18($sp) -/* 0A39C8 7F06EE98 27BD0058 */ addiu $sp, $sp, 0x58 -/* 0A39CC 7F06EE9C 03E00008 */ jr $ra -/* 0A39D0 7F06EEA0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06EEA4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054C20*/ -glabel jpt_80054C20 -.word .L7F06EEFC -.word .L7F06EEFC -.word .L7F06EEFC -.word .L7F06EF4C -.word .L7F06EF4C -.word .L7F06EF4C -.word .L7F06EF2C -.word .L7F06EF04 -.word .L7F06EF18 -.word .L7F06EF4C -.word .L7F06EEFC -.word .L7F06EEFC -.word .L7F06EEFC -.word .L7F06EEFC -.word .L7F06EEFC -.word .L7F06EEFC -.word .L7F06EF4C -.word .L7F06EF4C -.word .L7F06EF4C -.word .L7F06EF4C -.word .L7F06EEFC -.word .L7F06EF4C -.word .L7F06EF40 -/*.word .L7F06EF4C*/ - -.text -glabel sub_GAME_7F06EEA4 -/* 0A39D4 7F06EEA4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0A39D8 7F06EEA8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A39DC 7F06EEAC AFB20020 */ sw $s2, 0x20($sp) -/* 0A39E0 7F06EEB0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0A39E4 7F06EEB4 AFB00018 */ sw $s0, 0x18($sp) -/* 0A39E8 7F06EEB8 AFA5002C */ sw $a1, 0x2c($sp) -/* 0A39EC 7F06EEBC 8CB00014 */ lw $s0, 0x14($a1) -/* 0A39F0 7F06EEC0 00809025 */ move $s2, $a0 -/* 0A39F4 7F06EEC4 5200003A */ beql $s0, $zero, .L7F06EFB0 -/* 0A39F8 7F06EEC8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A39FC 7F06EECC 96020000 */ lhu $v0, ($s0) -.L7F06EED0: -/* 0A3A00 7F06EED0 24110001 */ li $s1, 1 -/* 0A3A04 7F06EED4 304F00FF */ andi $t7, $v0, 0xff -/* 0A3A08 7F06EED8 25F8FFFF */ addiu $t8, $t7, -1 -/* 0A3A0C 7F06EEDC 2F010018 */ sltiu $at, $t8, 0x18 -/* 0A3A10 7F06EEE0 1020001A */ beqz $at, .L7F06EF4C -/* 0A3A14 7F06EEE4 0018C080 */ sll $t8, $t8, 2 -/* 0A3A18 7F06EEE8 3C018005 */ lui $at, %hi(jpt_80054C20) -/* 0A3A1C 7F06EEEC 00380821 */ addu $at, $at, $t8 -/* 0A3A20 7F06EEF0 8C384C20 */ lw $t8, %lo(jpt_80054C20)($at) -.L7F06EEF4: -/* 0A3A24 7F06EEF4 03000008 */ jr $t8 -/* 0A3A28 7F06EEF8 00000000 */ nop -.L7F06EEFC: -/* 0A3A2C 7F06EEFC 10000013 */ b .L7F06EF4C -/* 0A3A30 7F06EF00 00008825 */ move $s1, $zero -.L7F06EF04: -/* 0A3A34 7F06EF04 02402025 */ move $a0, $s2 -/* 0A3A38 7F06EF08 0FC1BA16 */ jal process_08_distance_triggers -/* 0A3A3C 7F06EF0C 02002825 */ move $a1, $s0 -/* 0A3A40 7F06EF10 1000000E */ b .L7F06EF4C -/* 0A3A44 7F06EF14 00000000 */ nop -.L7F06EF18: -/* 0A3A48 7F06EF18 02402025 */ move $a0, $s2 -/* 0A3A4C 7F06EF1C 0FC1BACF */ jal process_09_head_hat_placement_interlink -/* 0A3A50 7F06EF20 02002825 */ move $a1, $s0 -/* 0A3A54 7F06EF24 10000009 */ b .L7F06EF4C -/* 0A3A58 7F06EF28 00000000 */ nop -.L7F06EF2C: -/* 0A3A5C 7F06EF2C 02402025 */ move $a0, $s2 -/* 0A3A60 7F06EF30 0FC1BB3E */ jal process_07_unknown -/* 0A3A64 7F06EF34 02002825 */ move $a1, $s0 -/* 0A3A68 7F06EF38 10000004 */ b .L7F06EF4C -/* 0A3A6C 7F06EF3C 00000000 */ nop -.L7F06EF40: -/* 0A3A70 7F06EF40 02402025 */ move $a0, $s2 -/* 0A3A74 7F06EF44 0FC1BA82 */ jal process_17_pointer_to_head -/* 0A3A78 7F06EF48 02002825 */ move $a1, $s0 -def_7F06EEF4: -.L7F06EF4C: -/* 0A3A7C 7F06EF4C 12200006 */ beqz $s1, .L7F06EF68 -/* 0A3A80 7F06EF50 00000000 */ nop -/* 0A3A84 7F06EF54 8E020014 */ lw $v0, 0x14($s0) -/* 0A3A88 7F06EF58 10400003 */ beqz $v0, .L7F06EF68 -/* 0A3A8C 7F06EF5C 00000000 */ nop -/* 0A3A90 7F06EF60 10000010 */ b .L7F06EFA4 -/* 0A3A94 7F06EF64 00408025 */ move $s0, $v0 -.L7F06EF68: -/* 0A3A98 7F06EF68 1200000E */ beqz $s0, .L7F06EFA4 -/* 0A3A9C 7F06EF6C 8FB9002C */ lw $t9, 0x2c($sp) -/* 0A3AA0 7F06EF70 8F230008 */ lw $v1, 8($t9) -.L7F06EF74: -/* 0A3AA4 7F06EF74 56030004 */ bnel $s0, $v1, .L7F06EF88 -/* 0A3AA8 7F06EF78 8E02000C */ lw $v0, 0xc($s0) -/* 0A3AAC 7F06EF7C 10000009 */ b .L7F06EFA4 -/* 0A3AB0 7F06EF80 00008025 */ move $s0, $zero -/* 0A3AB4 7F06EF84 8E02000C */ lw $v0, 0xc($s0) -.L7F06EF88: -/* 0A3AB8 7F06EF88 50400004 */ beql $v0, $zero, .L7F06EF9C -/* 0A3ABC 7F06EF8C 8E100008 */ lw $s0, 8($s0) -/* 0A3AC0 7F06EF90 10000004 */ b .L7F06EFA4 -/* 0A3AC4 7F06EF94 00408025 */ move $s0, $v0 -/* 0A3AC8 7F06EF98 8E100008 */ lw $s0, 8($s0) -.L7F06EF9C: -/* 0A3ACC 7F06EF9C 1600FFF5 */ bnez $s0, .L7F06EF74 -/* 0A3AD0 7F06EFA0 00000000 */ nop -.L7F06EFA4: -/* 0A3AD4 7F06EFA4 5600FFCA */ bnezl $s0, .L7F06EED0 -/* 0A3AD8 7F06EFA8 96020000 */ lhu $v0, ($s0) -/* 0A3ADC 7F06EFAC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06EFB0: -/* 0A3AE0 7F06EFB0 8FB00018 */ lw $s0, 0x18($sp) -/* 0A3AE4 7F06EFB4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A3AE8 7F06EFB8 8FB20020 */ lw $s2, 0x20($sp) -/* 0A3AEC 7F06EFBC 03E00008 */ jr $ra -/* 0A3AF0 7F06EFC0 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06EFC4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*hack for above jtbl being too big*/ -.word .L7F06EF4C - -/*D:80054C80*/ -glabel jpt_80054C80 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F03C -.word .L7F06F014 -.word .L7F06F028 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F050 -.word .L7F06F078 -.word .L7F06F078 -.word .L7F06F078 -/*.word .L7F06F078*/ -/*.word .L7F06F064*/ -/*.word .L7F06F078*/ - -.text -glabel sub_GAME_7F06EFC4 -/* 0A3AF4 7F06EFC4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A3AF8 7F06EFC8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A3AFC 7F06EFCC AFB10018 */ sw $s1, 0x18($sp) -/* 0A3B00 7F06EFD0 AFB00014 */ sw $s0, 0x14($sp) -/* 0A3B04 7F06EFD4 8C8E0008 */ lw $t6, 8($a0) -/* 0A3B08 7F06EFD8 00808825 */ move $s1, $a0 -/* 0A3B0C 7F06EFDC 8DD00000 */ lw $s0, ($t6) -/* 0A3B10 7F06EFE0 52000037 */ beql $s0, $zero, .L7F06F0C0 -/* 0A3B14 7F06EFE4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A3B18 7F06EFE8 96020000 */ lhu $v0, ($s0) -.L7F06EFEC: -/* 0A3B1C 7F06EFEC 304F00FF */ andi $t7, $v0, 0xff -/* 0A3B20 7F06EFF0 25F8FFFF */ addiu $t8, $t7, -1 -/* 0A3B24 7F06EFF4 2F010018 */ sltiu $at, $t8, 0x18 -/* 0A3B28 7F06EFF8 1020001F */ beqz $at, .L7F06F078 -/* 0A3B2C 7F06EFFC 0018C080 */ sll $t8, $t8, 2 -/* 0A3B30 7F06F000 3C018005 */ lui $at, %hi(jpt_80054C80) -/* 0A3B34 7F06F004 00380821 */ addu $at, $at, $t8 -/* 0A3B38 7F06F008 8C384C80 */ lw $t8, %lo(jpt_80054C80)($at) -.L7F06F00C: -/* 0A3B3C 7F06F00C 03000008 */ jr $t8 -/* 0A3B40 7F06F010 00000000 */ nop -.L7F06F014: -/* 0A3B44 7F06F014 02202025 */ move $a0, $s1 -/* 0A3B48 7F06F018 0FC1BA16 */ jal process_08_distance_triggers -/* 0A3B4C 7F06F01C 02002825 */ move $a1, $s0 -/* 0A3B50 7F06F020 10000016 */ b .L7F06F07C -/* 0A3B54 7F06F024 8E020014 */ lw $v0, 0x14($s0) -.L7F06F028: -/* 0A3B58 7F06F028 02202025 */ move $a0, $s1 -/* 0A3B5C 7F06F02C 0FC1BACF */ jal process_09_head_hat_placement_interlink -/* 0A3B60 7F06F030 02002825 */ move $a1, $s0 -/* 0A3B64 7F06F034 10000011 */ b .L7F06F07C -/* 0A3B68 7F06F038 8E020014 */ lw $v0, 0x14($s0) -.L7F06F03C: -/* 0A3B6C 7F06F03C 02202025 */ move $a0, $s1 -/* 0A3B70 7F06F040 0FC1BB3E */ jal process_07_unknown -/* 0A3B74 7F06F044 02002825 */ move $a1, $s0 -/* 0A3B78 7F06F048 1000000C */ b .L7F06F07C -/* 0A3B7C 7F06F04C 8E020014 */ lw $v0, 0x14($s0) -.L7F06F050: -/* 0A3B80 7F06F050 02202025 */ move $a0, $s1 -/* 0A3B84 7F06F054 0FC1BA6F */ jal process_12_handle_switch -/* 0A3B88 7F06F058 02002825 */ move $a1, $s0 -/* 0A3B8C 7F06F05C 10000007 */ b .L7F06F07C -/* 0A3B90 7F06F060 8E020014 */ lw $v0, 0x14($s0) -.L7F06F064: -/* 0A3B94 7F06F064 02202025 */ move $a0, $s1 -/* 0A3B98 7F06F068 0FC1BA82 */ jal process_17_pointer_to_head -/* 0A3B9C 7F06F06C 02002825 */ move $a1, $s0 -/* 0A3BA0 7F06F070 10000002 */ b .L7F06F07C -/* 0A3BA4 7F06F074 8E020014 */ lw $v0, 0x14($s0) -def_7F06F00C: -.L7F06F078: -/* 0A3BA8 7F06F078 8E020014 */ lw $v0, 0x14($s0) -.L7F06F07C: -/* 0A3BAC 7F06F07C 10400003 */ beqz $v0, .L7F06F08C -/* 0A3BB0 7F06F080 00000000 */ nop -/* 0A3BB4 7F06F084 1000000B */ b .L7F06F0B4 -/* 0A3BB8 7F06F088 00408025 */ move $s0, $v0 -.L7F06F08C: -/* 0A3BBC 7F06F08C 12000009 */ beqz $s0, .L7F06F0B4 -/* 0A3BC0 7F06F090 00000000 */ nop -/* 0A3BC4 7F06F094 8E02000C */ lw $v0, 0xc($s0) -.L7F06F098: -/* 0A3BC8 7F06F098 50400004 */ beql $v0, $zero, .L7F06F0AC -/* 0A3BCC 7F06F09C 8E100008 */ lw $s0, 8($s0) -/* 0A3BD0 7F06F0A0 10000004 */ b .L7F06F0B4 -/* 0A3BD4 7F06F0A4 00408025 */ move $s0, $v0 -/* 0A3BD8 7F06F0A8 8E100008 */ lw $s0, 8($s0) -.L7F06F0AC: -/* 0A3BDC 7F06F0AC 5600FFFA */ bnezl $s0, .L7F06F098 -/* 0A3BE0 7F06F0B0 8E02000C */ lw $v0, 0xc($s0) -.L7F06F0B4: -/* 0A3BE4 7F06F0B4 5600FFCD */ bnezl $s0, .L7F06EFEC -/* 0A3BE8 7F06F0B8 96020000 */ lhu $v0, ($s0) -/* 0A3BEC 7F06F0BC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F06F0C0: -/* 0A3BF0 7F06F0C0 8FB00014 */ lw $s0, 0x14($sp) -/* 0A3BF4 7F06F0C4 8FB10018 */ lw $s1, 0x18($sp) -/* 0A3BF8 7F06F0C8 03E00008 */ jr $ra -/* 0A3BFC 7F06F0CC 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F0D0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*hack for above jtbl*/ -.word .L7F06F078 -.word .L7F06F064 -.word .L7F06F078 - -/*D:80054CE0*/ -glabel jpt_80054CE0 -.word .L7F06F128 -.word .L7F06F140 -.word .L7F06F158 -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1B0 -.word .L7F06F188 -.word .L7F06F19C -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F1C4 -.word .L7F06F1EC -.word .L7F06F1EC -.word .L7F06F170 -.word .L7F06F1EC -.word .L7F06F1D8 -.word .L7F06F1EC - -.text -glabel sub_GAME_7F06F0D0 -/* 0A3C00 7F06F0D0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0A3C04 7F06F0D4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A3C08 7F06F0D8 AFB20020 */ sw $s2, 0x20($sp) -/* 0A3C0C 7F06F0DC AFB1001C */ sw $s1, 0x1c($sp) -/* 0A3C10 7F06F0E0 AFB00018 */ sw $s0, 0x18($sp) -/* 0A3C14 7F06F0E4 8CAE0008 */ lw $t6, 8($a1) -/* 0A3C18 7F06F0E8 00A08825 */ move $s1, $a1 -/* 0A3C1C 7F06F0EC 00809025 */ move $s2, $a0 -/* 0A3C20 7F06F0F0 8DD00000 */ lw $s0, ($t6) -/* 0A3C24 7F06F0F4 5200004F */ beql $s0, $zero, .L7F06F234 -/* 0A3C28 7F06F0F8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A3C2C 7F06F0FC 96020000 */ lhu $v0, ($s0) -.L7F06F100: -/* 0A3C30 7F06F100 304F00FF */ andi $t7, $v0, 0xff -/* 0A3C34 7F06F104 25F8FFFF */ addiu $t8, $t7, -1 -/* 0A3C38 7F06F108 2F010018 */ sltiu $at, $t8, 0x18 -/* 0A3C3C 7F06F10C 10200037 */ beqz $at, .L7F06F1EC -/* 0A3C40 7F06F110 0018C080 */ sll $t8, $t8, 2 -/* 0A3C44 7F06F114 3C018005 */ lui $at, %hi(jpt_80054CE0) -/* 0A3C48 7F06F118 00380821 */ addu $at, $at, $t8 -/* 0A3C4C 7F06F11C 8C384CE0 */ lw $t8, %lo(jpt_80054CE0)($at) -.L7F06F120: -/* 0A3C50 7F06F120 03000008 */ jr $t8 -/* 0A3C54 7F06F124 00000000 */ nop -.L7F06F128: -/* 0A3C58 7F06F128 02402025 */ move $a0, $s2 -/* 0A3C5C 7F06F12C 02202825 */ move $a1, $s1 -/* 0A3C60 7F06F130 0FC1B5CE */ jal process_01_group_heading -/* 0A3C64 7F06F134 02003025 */ move $a2, $s0 -/* 0A3C68 7F06F138 1000002D */ b .L7F06F1F0 -/* 0A3C6C 7F06F13C 8E020014 */ lw $v0, 0x14($s0) -.L7F06F140: -/* 0A3C70 7F06F140 02402025 */ move $a0, $s2 -/* 0A3C74 7F06F144 02202825 */ move $a1, $s1 -/* 0A3C78 7F06F148 0FC1B828 */ jal process_02_position -/* 0A3C7C 7F06F14C 02003025 */ move $a2, $s0 -/* 0A3C80 7F06F150 10000027 */ b .L7F06F1F0 -/* 0A3C84 7F06F154 8E020014 */ lw $v0, 0x14($s0) -.L7F06F158: -/* 0A3C88 7F06F158 02402025 */ move $a0, $s2 -/* 0A3C8C 7F06F15C 02202825 */ move $a1, $s1 -/* 0A3C90 7F06F160 0FC1B993 */ jal process_03_unknown -/* 0A3C94 7F06F164 02003025 */ move $a2, $s0 -/* 0A3C98 7F06F168 10000021 */ b .L7F06F1F0 -/* 0A3C9C 7F06F16C 8E020014 */ lw $v0, 0x14($s0) -.L7F06F170: -/* 0A3CA0 7F06F170 02402025 */ move $a0, $s2 -/* 0A3CA4 7F06F174 02202825 */ move $a1, $s1 -/* 0A3CA8 7F06F178 0FC1B9EA */ jal process_15_subposition -/* 0A3CAC 7F06F17C 02003025 */ move $a2, $s0 -/* 0A3CB0 7F06F180 1000001B */ b .L7F06F1F0 -/* 0A3CB4 7F06F184 8E020014 */ lw $v0, 0x14($s0) -.L7F06F188: -/* 0A3CB8 7F06F188 02202025 */ move $a0, $s1 -/* 0A3CBC 7F06F18C 0FC1BA16 */ jal process_08_distance_triggers -/* 0A3CC0 7F06F190 02002825 */ move $a1, $s0 -/* 0A3CC4 7F06F194 10000016 */ b .L7F06F1F0 -/* 0A3CC8 7F06F198 8E020014 */ lw $v0, 0x14($s0) -.L7F06F19C: -/* 0A3CCC 7F06F19C 02202025 */ move $a0, $s1 -/* 0A3CD0 7F06F1A0 0FC1BACF */ jal process_09_head_hat_placement_interlink -/* 0A3CD4 7F06F1A4 02002825 */ move $a1, $s0 -/* 0A3CD8 7F06F1A8 10000011 */ b .L7F06F1F0 -/* 0A3CDC 7F06F1AC 8E020014 */ lw $v0, 0x14($s0) -.L7F06F1B0: -/* 0A3CE0 7F06F1B0 02202025 */ move $a0, $s1 -/* 0A3CE4 7F06F1B4 0FC1BB3E */ jal process_07_unknown -/* 0A3CE8 7F06F1B8 02002825 */ move $a1, $s0 -/* 0A3CEC 7F06F1BC 1000000C */ b .L7F06F1F0 -/* 0A3CF0 7F06F1C0 8E020014 */ lw $v0, 0x14($s0) -.L7F06F1C4: -/* 0A3CF4 7F06F1C4 02202025 */ move $a0, $s1 -/* 0A3CF8 7F06F1C8 0FC1BA6F */ jal process_12_handle_switch -/* 0A3CFC 7F06F1CC 02002825 */ move $a1, $s0 -/* 0A3D00 7F06F1D0 10000007 */ b .L7F06F1F0 -/* 0A3D04 7F06F1D4 8E020014 */ lw $v0, 0x14($s0) -.L7F06F1D8: -/* 0A3D08 7F06F1D8 02202025 */ move $a0, $s1 -/* 0A3D0C 7F06F1DC 0FC1BA82 */ jal process_17_pointer_to_head -/* 0A3D10 7F06F1E0 02002825 */ move $a1, $s0 -/* 0A3D14 7F06F1E4 10000002 */ b .L7F06F1F0 -/* 0A3D18 7F06F1E8 8E020014 */ lw $v0, 0x14($s0) -def_7F06F120: -.L7F06F1EC: -/* 0A3D1C 7F06F1EC 8E020014 */ lw $v0, 0x14($s0) -.L7F06F1F0: -/* 0A3D20 7F06F1F0 10400003 */ beqz $v0, .L7F06F200 -/* 0A3D24 7F06F1F4 00000000 */ nop -/* 0A3D28 7F06F1F8 1000000B */ b .L7F06F228 -/* 0A3D2C 7F06F1FC 00408025 */ move $s0, $v0 -.L7F06F200: -/* 0A3D30 7F06F200 12000009 */ beqz $s0, .L7F06F228 -/* 0A3D34 7F06F204 00000000 */ nop -/* 0A3D38 7F06F208 8E02000C */ lw $v0, 0xc($s0) -.L7F06F20C: -/* 0A3D3C 7F06F20C 50400004 */ beql $v0, $zero, .L7F06F220 -/* 0A3D40 7F06F210 8E100008 */ lw $s0, 8($s0) -/* 0A3D44 7F06F214 10000004 */ b .L7F06F228 -/* 0A3D48 7F06F218 00408025 */ move $s0, $v0 -/* 0A3D4C 7F06F21C 8E100008 */ lw $s0, 8($s0) -.L7F06F220: -/* 0A3D50 7F06F220 5600FFFA */ bnezl $s0, .L7F06F20C -/* 0A3D54 7F06F224 8E02000C */ lw $v0, 0xc($s0) -.L7F06F228: -/* 0A3D58 7F06F228 5600FFB5 */ bnezl $s0, .L7F06F100 -/* 0A3D5C 7F06F22C 96020000 */ lhu $v0, ($s0) -/* 0A3D60 7F06F230 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06F234: -/* 0A3D64 7F06F234 8FB00018 */ lw $s0, 0x18($sp) -/* 0A3D68 7F06F238 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A3D6C 7F06F23C 8FB20020 */ lw $s2, 0x20($sp) -/* 0A3D70 7F06F240 03E00008 */ jr $ra -/* 0A3D74 7F06F244 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void instcalcmatrices(void) { - -} -#else -GLOBAL_ASM( -.text -glabel instcalcmatrices -/* 0A3D78 7F06F248 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A3D7C 7F06F24C AFB00018 */ sw $s0, 0x18($sp) -/* 0A3D80 7F06F250 00808025 */ move $s0, $a0 -/* 0A3D84 7F06F254 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A3D88 7F06F258 14A00006 */ bnez $a1, .L7F06F274 -/* 0A3D8C 7F06F25C AFA50024 */ sw $a1, 0x24($sp) -/* 0A3D90 7F06F260 3C048005 */ lui $a0, %hi(aInstcalcmatricesNoObjinst) -/* 0A3D94 7F06F264 0C0033D1 */ jal osSyncPrintf -/* 0A3D98 7F06F268 24844890 */ addiu $a0, %lo(aInstcalcmatricesNoObjinst) # addiu $a0, $a0, 0x4890 -/* 0A3D9C 7F06F26C 0FC1B11B */ jal return_null -/* 0A3DA0 7F06F270 00000000 */ nop -.L7F06F274: -/* 0A3DA4 7F06F274 8E0F0000 */ lw $t7, ($s0) -/* 0A3DA8 7F06F278 3C048005 */ lui $a0, %hi(aInstcalcmatricesNoBasemtx) -/* 0A3DAC 7F06F27C 55E00006 */ bnezl $t7, .L7F06F298 -/* 0A3DB0 7F06F280 8E020010 */ lw $v0, 0x10($s0) -/* 0A3DB4 7F06F284 0C0033D1 */ jal osSyncPrintf -/* 0A3DB8 7F06F288 248448B0 */ addiu $a0, %lo(aInstcalcmatricesNoBasemtx) # addiu $a0, $a0, 0x48b0 -/* 0A3DBC 7F06F28C 0FC1B11B */ jal return_null -/* 0A3DC0 7F06F290 00000000 */ nop -/* 0A3DC4 7F06F294 8E020010 */ lw $v0, 0x10($s0) -.L7F06F298: -/* 0A3DC8 7F06F298 3C048005 */ lui $a0, %hi(aInstcalcmatricesNoMtxlist) -/* 0A3DCC 7F06F29C 54400007 */ bnezl $v0, .L7F06F2BC -/* 0A3DD0 7F06F2A0 8FB80024 */ lw $t8, 0x24($sp) -/* 0A3DD4 7F06F2A4 0C0033D1 */ jal osSyncPrintf -/* 0A3DD8 7F06F2A8 248448D0 */ addiu $a0, %lo(aInstcalcmatricesNoMtxlist) # addiu $a0, $a0, 0x48d0 -/* 0A3DDC 7F06F2AC 0FC1B11B */ jal return_null -/* 0A3DE0 7F06F2B0 00000000 */ nop -/* 0A3DE4 7F06F2B4 8E020010 */ lw $v0, 0x10($s0) -/* 0A3DE8 7F06F2B8 8FB80024 */ lw $t8, 0x24($sp) -.L7F06F2BC: -/* 0A3DEC 7F06F2BC 02002025 */ move $a0, $s0 -/* 0A3DF0 7F06F2C0 8F080008 */ lw $t0, 8($t8) -/* 0A3DF4 7F06F2C4 AF02000C */ sw $v0, 0xc($t8) -/* 0A3DF8 7F06F2C8 8E190010 */ lw $t9, 0x10($s0) -/* 0A3DFC 7F06F2CC 8509000E */ lh $t1, 0xe($t0) -/* 0A3E00 7F06F2D0 00095180 */ sll $t2, $t1, 6 -/* 0A3E04 7F06F2D4 032A5821 */ addu $t3, $t9, $t2 -/* 0A3E08 7F06F2D8 AE0B0010 */ sw $t3, 0x10($s0) -/* 0A3E0C 7F06F2DC 0FC1BC34 */ jal sub_GAME_7F06F0D0 -/* 0A3E10 7F06F2E0 8FA50024 */ lw $a1, 0x24($sp) -/* 0A3E14 7F06F2E4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A3E18 7F06F2E8 8FB00018 */ lw $s0, 0x18($sp) -/* 0A3E1C 7F06F2EC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A3E20 7F06F2F0 03E00008 */ jr $ra -/* 0A3E24 7F06F2F4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void subcalcmatrices(void) { - -} -#else -GLOBAL_ASM( -.text -glabel subcalcmatrices -/* 0A3E28 7F06F2F8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A3E2C 7F06F2FC AFB00018 */ sw $s0, 0x18($sp) -/* 0A3E30 7F06F300 00A08025 */ move $s0, $a1 -/* 0A3E34 7F06F304 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A3E38 7F06F308 14A00006 */ bnez $a1, .L7F06F324 -/* 0A3E3C 7F06F30C AFA40020 */ sw $a0, 0x20($sp) -/* 0A3E40 7F06F310 3C048005 */ lui $a0, %hi(aSubcalcmatricesNoObjanim) -/* 0A3E44 7F06F314 0C0033D1 */ jal osSyncPrintf -/* 0A3E48 7F06F318 248448F0 */ addiu $a0, %lo(aSubcalcmatricesNoObjanim) # addiu $a0, $a0, 0x48f0 -/* 0A3E4C 7F06F31C 0FC1B11B */ jal return_null -/* 0A3E50 7F06F320 00000000 */ nop -.L7F06F324: -/* 0A3E54 7F06F324 8FAE0020 */ lw $t6, 0x20($sp) -/* 0A3E58 7F06F328 3C048005 */ lui $a0, %hi(aSubcalcmatricesNoBasemtx) -/* 0A3E5C 7F06F32C 8DCF0000 */ lw $t7, ($t6) -/* 0A3E60 7F06F330 55E00006 */ bnezl $t7, .L7F06F34C -/* 0A3E64 7F06F334 8FB80020 */ lw $t8, 0x20($sp) -/* 0A3E68 7F06F338 0C0033D1 */ jal osSyncPrintf -/* 0A3E6C 7F06F33C 24844910 */ addiu $a0, %lo(aSubcalcmatricesNoBasemtx) # addiu $a0, $a0, 0x4910 -/* 0A3E70 7F06F340 0FC1B11B */ jal return_null -/* 0A3E74 7F06F344 00000000 */ nop -/* 0A3E78 7F06F348 8FB80020 */ lw $t8, 0x20($sp) -.L7F06F34C: -/* 0A3E7C 7F06F34C 3C048005 */ lui $a0, %hi(aSubcalcmatricesNoMtxlist) -/* 0A3E80 7F06F350 8F190010 */ lw $t9, 0x10($t8) -/* 0A3E84 7F06F354 57200006 */ bnezl $t9, .L7F06F370 -/* 0A3E88 7F06F358 8E080020 */ lw $t0, 0x20($s0) -/* 0A3E8C 7F06F35C 0C0033D1 */ jal osSyncPrintf -/* 0A3E90 7F06F360 24844930 */ addiu $a0, %lo(aSubcalcmatricesNoMtxlist) # addiu $a0, $a0, 0x4930 -/* 0A3E94 7F06F364 0FC1B11B */ jal return_null -/* 0A3E98 7F06F368 00000000 */ nop -/* 0A3E9C 7F06F36C 8E080020 */ lw $t0, 0x20($s0) -.L7F06F370: -/* 0A3EA0 7F06F370 51000087 */ beql $t0, $zero, .L7F06F590 -/* 0A3EA4 7F06F374 8FA40020 */ lw $a0, 0x20($sp) -/* 0A3EA8 7F06F378 8E090018 */ lw $t1, 0x18($s0) -/* 0A3EAC 7F06F37C 5120000A */ beql $t1, $zero, .L7F06F3A8 -/* 0A3EB0 7F06F380 86050030 */ lh $a1, 0x30($s0) -/* 0A3EB4 7F06F384 8E0A001C */ lw $t2, 0x1c($s0) -/* 0A3EB8 7F06F388 3C048005 */ lui $a0, %hi(aSubcalcmatricesNoAttachForObjinst) -/* 0A3EBC 7F06F38C 55400006 */ bnezl $t2, .L7F06F3A8 -/* 0A3EC0 7F06F390 86050030 */ lh $a1, 0x30($s0) -/* 0A3EC4 7F06F394 0C0033D1 */ jal osSyncPrintf -/* 0A3EC8 7F06F398 24844950 */ addiu $a0, %lo(aSubcalcmatricesNoAttachForObjinst) # addiu $a0, $a0, 0x4950 -/* 0A3ECC 7F06F39C 0FC1B11B */ jal return_null -/* 0A3ED0 7F06F3A0 00000000 */ nop -/* 0A3ED4 7F06F3A4 86050030 */ lh $a1, 0x30($s0) -.L7F06F3A8: -/* 0A3ED8 7F06F3A8 3C048005 */ lui $a0, %hi(aSubcalcmatricesFrameaOutOfRange) -/* 0A3EDC 7F06F3AC 04A00006 */ bltz $a1, .L7F06F3C8 -/* 0A3EE0 7F06F3B0 00000000 */ nop -/* 0A3EE4 7F06F3B4 8E0B0020 */ lw $t3, 0x20($s0) -/* 0A3EE8 7F06F3B8 956C0004 */ lhu $t4, 4($t3) -/* 0A3EEC 7F06F3BC 00AC082A */ slt $at, $a1, $t4 -/* 0A3EF0 7F06F3C0 54200006 */ bnezl $at, .L7F06F3DC -/* 0A3EF4 7F06F3C4 86020032 */ lh $v0, 0x32($s0) -.L7F06F3C8: -/* 0A3EF8 7F06F3C8 0C0033D1 */ jal osSyncPrintf -/* 0A3EFC 7F06F3CC 2484497C */ addiu $a0, %lo(aSubcalcmatricesFrameaOutOfRange) # addiu $a0, $a0, 0x497c -/* 0A3F00 7F06F3D0 0FC1B11B */ jal return_null -/* 0A3F04 7F06F3D4 00000000 */ nop -/* 0A3F08 7F06F3D8 86020032 */ lh $v0, 0x32($s0) -.L7F06F3DC: -/* 0A3F0C 7F06F3DC 3C048005 */ lui $a0, %hi(aSubcalcmatricesFramebOutOfRange) -/* 0A3F10 7F06F3E0 04400006 */ bltz $v0, .L7F06F3FC -/* 0A3F14 7F06F3E4 00000000 */ nop -/* 0A3F18 7F06F3E8 8E0D0020 */ lw $t5, 0x20($s0) -/* 0A3F1C 7F06F3EC 95AE0004 */ lhu $t6, 4($t5) -/* 0A3F20 7F06F3F0 004E082A */ slt $at, $v0, $t6 -/* 0A3F24 7F06F3F4 54200006 */ bnezl $at, .L7F06F410 -/* 0A3F28 7F06F3F8 44801000 */ mtc1 $zero, $f2 -.L7F06F3FC: -/* 0A3F2C 7F06F3FC 0C0033D1 */ jal osSyncPrintf -/* 0A3F30 7F06F400 248449A4 */ addiu $a0, %lo(aSubcalcmatricesFramebOutOfRange) # addiu $a0, $a0, 0x49a4 -/* 0A3F34 7F06F404 0FC1B11B */ jal return_null -/* 0A3F38 7F06F408 00000000 */ nop -/* 0A3F3C 7F06F40C 44801000 */ mtc1 $zero, $f2 -.L7F06F410: -/* 0A3F40 7F06F410 C6000084 */ lwc1 $f0, 0x84($s0) -/* 0A3F44 7F06F414 46001032 */ c.eq.s $f2, $f0 -/* 0A3F48 7F06F418 00000000 */ nop -/* 0A3F4C 7F06F41C 45010008 */ bc1t .L7F06F440 -/* 0A3F50 7F06F420 00000000 */ nop -/* 0A3F54 7F06F424 46001032 */ c.eq.s $f2, $f0 -/* 0A3F58 7F06F428 3C048005 */ lui $a0, %hi(aSubcalcmatricesNoAnim2) -/* 0A3F5C 7F06F42C 45010006 */ bc1t .L7F06F448 -/* 0A3F60 7F06F430 00000000 */ nop -/* 0A3F64 7F06F434 8E0F0054 */ lw $t7, 0x54($s0) -/* 0A3F68 7F06F438 11E00003 */ beqz $t7, .L7F06F448 -/* 0A3F6C 7F06F43C 00000000 */ nop -.L7F06F440: -/* 0A3F70 7F06F440 10000006 */ b .L7F06F45C -/* 0A3F74 7F06F444 8E040054 */ lw $a0, 0x54($s0) -.L7F06F448: -/* 0A3F78 7F06F448 0C0033D1 */ jal osSyncPrintf -/* 0A3F7C 7F06F44C 248449CC */ addiu $a0, $a0, %lo(aSubcalcmatricesNoAnim2) -/* 0A3F80 7F06F450 0FC1B11B */ jal return_null -/* 0A3F84 7F06F454 00000000 */ nop -/* 0A3F88 7F06F458 8E040054 */ lw $a0, 0x54($s0) -.L7F06F45C: -/* 0A3F8C 7F06F45C 10800010 */ beqz $a0, .L7F06F4A0 -/* 0A3F90 7F06F460 00000000 */ nop -/* 0A3F94 7F06F464 10800008 */ beqz $a0, .L7F06F488 -/* 0A3F98 7F06F468 00000000 */ nop -/* 0A3F9C 7F06F46C 86020060 */ lh $v0, 0x60($s0) -/* 0A3FA0 7F06F470 04400005 */ bltz $v0, .L7F06F488 -/* 0A3FA4 7F06F474 00000000 */ nop -/* 0A3FA8 7F06F478 94980004 */ lhu $t8, 4($a0) -/* 0A3FAC 7F06F47C 0058082A */ slt $at, $v0, $t8 -/* 0A3FB0 7F06F480 14200007 */ bnez $at, .L7F06F4A0 -/* 0A3FB4 7F06F484 00000000 */ nop -.L7F06F488: -/* 0A3FB8 7F06F488 3C048005 */ lui $a0, %hi(aSubcalcmatricesFrame2aOutOfRange) -/* 0A3FBC 7F06F48C 0C0033D1 */ jal osSyncPrintf -/* 0A3FC0 7F06F490 248449E8 */ addiu $a0, %lo(aSubcalcmatricesFrame2aOutOfRange) # addiu $a0, $a0, 0x49e8 -/* 0A3FC4 7F06F494 0FC1B11B */ jal return_null -/* 0A3FC8 7F06F498 00000000 */ nop -/* 0A3FCC 7F06F49C 8E040054 */ lw $a0, 0x54($s0) -.L7F06F4A0: -/* 0A3FD0 7F06F4A0 5080000B */ beql $a0, $zero, .L7F06F4D0 -/* 0A3FD4 7F06F4A4 8E040020 */ lw $a0, 0x20($s0) -/* 0A3FD8 7F06F4A8 1080000B */ beqz $a0, .L7F06F4D8 -/* 0A3FDC 7F06F4AC 00000000 */ nop -/* 0A3FE0 7F06F4B0 86020062 */ lh $v0, 0x62($s0) -/* 0A3FE4 7F06F4B4 04400008 */ bltz $v0, .L7F06F4D8 -/* 0A3FE8 7F06F4B8 00000000 */ nop -/* 0A3FEC 7F06F4BC 94990004 */ lhu $t9, 4($a0) -/* 0A3FF0 7F06F4C0 0059082A */ slt $at, $v0, $t9 -/* 0A3FF4 7F06F4C4 10200004 */ beqz $at, .L7F06F4D8 -/* 0A3FF8 7F06F4C8 00000000 */ nop -/* 0A3FFC 7F06F4CC 8E040020 */ lw $a0, 0x20($s0) -.L7F06F4D0: -/* 0A4000 7F06F4D0 10000008 */ b .L7F06F4F4 -/* 0A4004 7F06F4D4 86050030 */ lh $a1, 0x30($s0) -.L7F06F4D8: -/* 0A4008 7F06F4D8 3C048005 */ lui $a0, %hi(aSubcalcmatricesFrame2bOutOfRange) -/* 0A400C 7F06F4DC 0C0033D1 */ jal osSyncPrintf -/* 0A4010 7F06F4E0 24844A10 */ addiu $a0, %lo(aSubcalcmatricesFrame2bOutOfRange) # addiu $a0, $a0, 0x4a10 -/* 0A4014 7F06F4E4 0FC1B11B */ jal return_null -/* 0A4018 7F06F4E8 00000000 */ nop -/* 0A401C 7F06F4EC 8E040020 */ lw $a0, 0x20($s0) -/* 0A4020 7F06F4F0 86050030 */ lh $a1, 0x30($s0) -.L7F06F4F4: -/* 0A4024 7F06F4F4 8E080008 */ lw $t0, 8($s0) -/* 0A4028 7F06F4F8 0FC1D52F */ jal sub_GAME_7F0754BC -/* 0A402C 7F06F4FC 8D060004 */ lw $a2, 4($t0) -/* 0A4030 7F06F500 44802000 */ mtc1 $zero, $f4 -/* 0A4034 7F06F504 C606002C */ lwc1 $f6, 0x2c($s0) -/* 0A4038 7F06F508 AE020034 */ sw $v0, 0x34($s0) -/* 0A403C 7F06F50C 46062032 */ c.eq.s $f4, $f6 -/* 0A4040 7F06F510 00000000 */ nop -/* 0A4044 7F06F514 45030008 */ bc1tl .L7F06F538 -/* 0A4048 7F06F518 8E040054 */ lw $a0, 0x54($s0) -/* 0A404C 7F06F51C 8E090008 */ lw $t1, 8($s0) -/* 0A4050 7F06F520 8E040020 */ lw $a0, 0x20($s0) -/* 0A4054 7F06F524 86050032 */ lh $a1, 0x32($s0) -/* 0A4058 7F06F528 0FC1D52F */ jal sub_GAME_7F0754BC -/* 0A405C 7F06F52C 8D260004 */ lw $a2, 4($t1) -/* 0A4060 7F06F530 AE020038 */ sw $v0, 0x38($s0) -/* 0A4064 7F06F534 8E040054 */ lw $a0, 0x54($s0) -.L7F06F538: -/* 0A4068 7F06F538 10800012 */ beqz $a0, .L7F06F584 -/* 0A406C 7F06F53C 00000000 */ nop -/* 0A4070 7F06F540 8E0A0008 */ lw $t2, 8($s0) -/* 0A4074 7F06F544 86050060 */ lh $a1, 0x60($s0) -/* 0A4078 7F06F548 0FC1D52F */ jal sub_GAME_7F0754BC -/* 0A407C 7F06F54C 8D460004 */ lw $a2, 4($t2) -/* 0A4080 7F06F550 44804000 */ mtc1 $zero, $f8 -/* 0A4084 7F06F554 C60A005C */ lwc1 $f10, 0x5c($s0) -/* 0A4088 7F06F558 AE020064 */ sw $v0, 0x64($s0) -/* 0A408C 7F06F55C 460A4032 */ c.eq.s $f8, $f10 -/* 0A4090 7F06F560 00000000 */ nop -/* 0A4094 7F06F564 45010007 */ bc1t .L7F06F584 -/* 0A4098 7F06F568 00000000 */ nop -/* 0A409C 7F06F56C 8E0B0008 */ lw $t3, 8($s0) -/* 0A40A0 7F06F570 8E040054 */ lw $a0, 0x54($s0) -/* 0A40A4 7F06F574 86050062 */ lh $a1, 0x62($s0) -/* 0A40A8 7F06F578 0FC1D52F */ jal sub_GAME_7F0754BC -/* 0A40AC 7F06F57C 8D660004 */ lw $a2, 4($t3) -/* 0A40B0 7F06F580 AE020068 */ sw $v0, 0x68($s0) -.L7F06F584: -/* 0A40B4 7F06F584 0FC1D56C */ jal sub_GAME_7F0755B0 -/* 0A40B8 7F06F588 00000000 */ nop -/* 0A40BC 7F06F58C 8FA40020 */ lw $a0, 0x20($sp) -.L7F06F590: -/* 0A40C0 7F06F590 0FC1BC92 */ jal instcalcmatrices -/* 0A40C4 7F06F594 02002825 */ move $a1, $s0 -/* 0A40C8 7F06F598 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A40CC 7F06F59C 8FB00018 */ lw $s0, 0x18($sp) -/* 0A40D0 7F06F5A0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A40D4 7F06F5A4 03E00008 */ jr $ra -/* 0A40D8 7F06F5A8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F5AC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F5AC -/* 0A40DC 7F06F5AC 03E00008 */ jr $ra -/* 0A40E0 7F06F5B0 8C820020 */ lw $v0, 0x20($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F5B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F5B4 -/* 0A40E4 7F06F5B4 03E00008 */ jr $ra -/* 0A40E8 7F06F5B8 80820024 */ lb $v0, 0x24($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F5BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F5BC -/* 0A40EC 7F06F5BC 03E00008 */ jr $ra -/* 0A40F0 7F06F5C0 C4800028 */ lwc1 $f0, 0x28($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F5C4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F5C4 -/* 0A40F4 7F06F5C4 44806000 */ mtc1 $zero, $f12 -/* 0A40F8 7F06F5C8 C482003C */ lwc1 $f2, 0x3c($a0) -/* 0A40FC 7F06F5CC 4602603E */ c.le.s $f12, $f2 -/* 0A4100 7F06F5D0 00000000 */ nop -/* 0A4104 7F06F5D4 45020004 */ bc1fl .L7F06F5E8 -/* 0A4108 7F06F5D8 8C820020 */ lw $v0, 0x20($a0) -/* 0A410C 7F06F5DC 03E00008 */ jr $ra -/* 0A4110 7F06F5E0 46001006 */ mov.s $f0, $f2 - -/* 0A4114 7F06F5E4 8C820020 */ lw $v0, 0x20($a0) -.L7F06F5E8: -/* 0A4118 7F06F5E8 50400007 */ beql $v0, $zero, .L7F06F608 -/* 0A411C 7F06F5EC 46006006 */ mov.s $f0, $f12 -/* 0A4120 7F06F5F0 944E0004 */ lhu $t6, 4($v0) -/* 0A4124 7F06F5F4 25CFFFFF */ addiu $t7, $t6, -1 -/* 0A4128 7F06F5F8 448F2000 */ mtc1 $t7, $f4 -/* 0A412C 7F06F5FC 03E00008 */ jr $ra -/* 0A4130 7F06F600 46802020 */ cvt.s.w $f0, $f4 - -/* 0A4134 7F06F604 46006006 */ mov.s $f0, $f12 -.L7F06F608: -/* 0A4138 7F06F608 03E00008 */ jr $ra -/* 0A413C 7F06F60C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F610(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F610 -/* 0A4140 7F06F610 03E00008 */ jr $ra -/* 0A4144 7F06F614 C4800040 */ lwc1 $f0, 0x40($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F618(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F618 -/* 0A4148 7F06F618 C4820040 */ lwc1 $f2, 0x40($a0) -/* 0A414C 7F06F61C 44802000 */ mtc1 $zero, $f4 -/* 0A4150 7F06F620 00000000 */ nop -/* 0A4154 7F06F624 4604103C */ c.lt.s $f2, $f4 -/* 0A4158 7F06F628 00000000 */ nop -/* 0A415C 7F06F62C 45000002 */ bc1f .L7F06F638 -/* 0A4160 7F06F630 00000000 */ nop -/* 0A4164 7F06F634 46001087 */ neg.s $f2, $f2 -.L7F06F638: -/* 0A4168 7F06F638 03E00008 */ jr $ra -/* 0A416C 7F06F63C 46001006 */ mov.s $f0, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F640(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F640 -/* 0A4170 7F06F640 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A4174 7F06F644 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A4178 7F06F648 0FC1BD84 */ jal sub_GAME_7F06F610 -/* 0A417C 7F06F64C AFA40018 */ sw $a0, 0x18($sp) -/* 0A4180 7F06F650 8FAE0018 */ lw $t6, 0x18($sp) -/* 0A4184 7F06F654 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A4188 7F06F658 C5C400A4 */ lwc1 $f4, 0xa4($t6) -/* 0A418C 7F06F65C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A4190 7F06F660 46040002 */ mul.s $f0, $f0, $f4 -/* 0A4194 7F06F664 03E00008 */ jr $ra -/* 0A4198 7F06F668 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F66C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F66C -/* 0A419C 7F06F66C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A41A0 7F06F670 44866000 */ mtc1 $a2, $f12 -/* 0A41A4 7F06F674 04810017 */ bgez $a0, .L7F06F6D4 -/* 0A41A8 7F06F678 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A41AC 7F06F67C 90AE0007 */ lbu $t6, 7($a1) -/* 0A41B0 7F06F680 31CF0001 */ andi $t7, $t6, 1 -/* 0A41B4 7F06F684 11E00011 */ beqz $t7, .L7F06F6CC -/* 0A41B8 7F06F688 00000000 */ nop -/* 0A41BC 7F06F68C 94A20004 */ lhu $v0, 4($a1) -/* 0A41C0 7F06F690 0004C023 */ negu $t8, $a0 -/* 0A41C4 7F06F694 0302001A */ div $zero, $t8, $v0 -/* 0A41C8 7F06F698 0000C810 */ mfhi $t9 -/* 0A41CC 7F06F69C 00592023 */ subu $a0, $v0, $t9 -/* 0A41D0 7F06F6A0 14400002 */ bnez $v0, .L7F06F6AC -/* 0A41D4 7F06F6A4 00000000 */ nop -/* 0A41D8 7F06F6A8 0007000D */ break 7 -.L7F06F6AC: -/* 0A41DC 7F06F6AC 2401FFFF */ li $at, -1 -/* 0A41E0 7F06F6B0 14410004 */ bne $v0, $at, .L7F06F6C4 -/* 0A41E4 7F06F6B4 3C018000 */ lui $at, 0x8000 -/* 0A41E8 7F06F6B8 17010002 */ bne $t8, $at, .L7F06F6C4 -/* 0A41EC 7F06F6BC 00000000 */ nop -/* 0A41F0 7F06F6C0 0006000D */ break 6 -.L7F06F6C4: -/* 0A41F4 7F06F6C4 1000002A */ b .L7F06F770 -/* 0A41F8 7F06F6C8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06F6CC: -/* 0A41FC 7F06F6CC 10000027 */ b .L7F06F76C -/* 0A4200 7F06F6D0 00002025 */ move $a0, $zero -.L7F06F6D4: -/* 0A4204 7F06F6D4 44802000 */ mtc1 $zero, $f4 -/* 0A4208 7F06F6D8 00000000 */ nop -/* 0A420C 7F06F6DC 460C203E */ c.le.s $f4, $f12 -/* 0A4210 7F06F6E0 00000000 */ nop -/* 0A4214 7F06F6E4 4502000C */ bc1fl .L7F06F718 -/* 0A4218 7F06F6E8 94A20004 */ lhu $v0, 4($a1) -/* 0A421C 7F06F6EC 4600618D */ trunc.w.s $f6, $f12 -/* 0A4220 7F06F6F0 44093000 */ mfc1 $t1, $f6 -/* 0A4224 7F06F6F4 00000000 */ nop -/* 0A4228 7F06F6F8 0124082A */ slt $at, $t1, $a0 -/* 0A422C 7F06F6FC 50200006 */ beql $at, $zero, .L7F06F718 -/* 0A4230 7F06F700 94A20004 */ lhu $v0, 4($a1) -/* 0A4234 7F06F704 0FC1712E */ jal sub_GAME_7F05C4B8 -/* 0A4238 7F06F708 00000000 */ nop -/* 0A423C 7F06F70C 10000017 */ b .L7F06F76C -/* 0A4240 7F06F710 00402025 */ move $a0, $v0 -/* 0A4244 7F06F714 94A20004 */ lhu $v0, 4($a1) -.L7F06F718: -/* 0A4248 7F06F718 0082082A */ slt $at, $a0, $v0 -/* 0A424C 7F06F71C 54200014 */ bnezl $at, .L7F06F770 -/* 0A4250 7F06F720 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A4254 7F06F724 90AA0007 */ lbu $t2, 7($a1) -/* 0A4258 7F06F728 314B0001 */ andi $t3, $t2, 1 -/* 0A425C 7F06F72C 5160000F */ beql $t3, $zero, .L7F06F76C -/* 0A4260 7F06F730 2444FFFF */ addiu $a0, $v0, -1 -/* 0A4264 7F06F734 0082001A */ div $zero, $a0, $v0 -/* 0A4268 7F06F738 14400002 */ bnez $v0, .L7F06F744 -/* 0A426C 7F06F73C 00000000 */ nop -/* 0A4270 7F06F740 0007000D */ break 7 -.L7F06F744: -/* 0A4274 7F06F744 2401FFFF */ li $at, -1 -/* 0A4278 7F06F748 14410004 */ bne $v0, $at, .L7F06F75C -/* 0A427C 7F06F74C 3C018000 */ lui $at, 0x8000 -/* 0A4280 7F06F750 14810002 */ bne $a0, $at, .L7F06F75C -/* 0A4284 7F06F754 00000000 */ nop -/* 0A4288 7F06F758 0006000D */ break 6 -.L7F06F75C: -/* 0A428C 7F06F75C 00002010 */ mfhi $a0 -/* 0A4290 7F06F760 10000003 */ b .L7F06F770 -/* 0A4294 7F06F764 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A4298 7F06F768 2444FFFF */ addiu $a0, $v0, -1 -.L7F06F76C: -/* 0A429C 7F06F76C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F06F770: -/* 0A42A0 7F06F770 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A42A4 7F06F774 00801025 */ move $v0, $a0 -/* 0A42A8 7F06F778 03E00008 */ jr $ra -/* 0A42AC 7F06F77C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F780(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06F780 -/* 0A42B0 7F06F780 44856000 */ mtc1 $a1, $f12 -/* 0A42B4 7F06F784 44802000 */ mtc1 $zero, $f4 -/* 0A42B8 7F06F788 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A42BC 7F06F78C AFBF0014 */ sw $ra, 0x14($sp) -/* 0A42C0 7F06F790 460C203C */ c.lt.s $f4, $f12 -/* 0A42C4 7F06F794 00000000 */ nop -/* 0A42C8 7F06F798 45020033 */ bc1fl .L7F06F868 -/* 0A42CC 7F06F79C AC800054 */ sw $zero, 0x54($a0) -/* 0A42D0 7F06F7A0 8C820020 */ lw $v0, 0x20($a0) -/* 0A42D4 7F06F7A4 24010001 */ li $at, 1 -/* 0A42D8 7F06F7A8 5040002F */ beql $v0, $zero, .L7F06F868 -/* 0A42DC 7F06F7AC AC800054 */ sw $zero, 0x54($a0) -/* 0A42E0 7F06F7B0 8C8E0008 */ lw $t6, 8($a0) -/* 0A42E4 7F06F7B4 C4860028 */ lwc1 $f6, 0x28($a0) -/* 0A42E8 7F06F7B8 C488002C */ lwc1 $f8, 0x2c($a0) -/* 0A42EC 7F06F7BC 8DC50000 */ lw $a1, ($t6) -/* 0A42F0 7F06F7C0 80980024 */ lb $t8, 0x24($a0) -/* 0A42F4 7F06F7C4 84990030 */ lh $t9, 0x30($a0) -/* 0A42F8 7F06F7C8 94A30000 */ lhu $v1, ($a1) -/* 0A42FC 7F06F7CC E4860058 */ swc1 $f6, 0x58($a0) -/* 0A4300 7F06F7D0 E488005C */ swc1 $f8, 0x5c($a0) -/* 0A4304 7F06F7D4 84880032 */ lh $t0, 0x32($a0) -/* 0A4308 7F06F7D8 C48A0040 */ lwc1 $f10, 0x40($a0) -/* 0A430C 7F06F7DC C4900044 */ lwc1 $f16, 0x44($a0) -/* 0A4310 7F06F7E0 C4920048 */ lwc1 $f18, 0x48($a0) -/* 0A4314 7F06F7E4 C484004C */ lwc1 $f4, 0x4c($a0) -/* 0A4318 7F06F7E8 C4860050 */ lwc1 $f6, 0x50($a0) -/* 0A431C 7F06F7EC C488003C */ lwc1 $f8, 0x3c($a0) -/* 0A4320 7F06F7F0 306F00FF */ andi $t7, $v1, 0xff -/* 0A4324 7F06F7F4 AC820054 */ sw $v0, 0x54($a0) -/* 0A4328 7F06F7F8 A0980025 */ sb $t8, 0x25($a0) -/* 0A432C 7F06F7FC A4990060 */ sh $t9, 0x60($a0) -/* 0A4330 7F06F800 A4880062 */ sh $t0, 0x62($a0) -/* 0A4334 7F06F804 E48A0070 */ swc1 $f10, 0x70($a0) -/* 0A4338 7F06F808 E4900074 */ swc1 $f16, 0x74($a0) -/* 0A433C 7F06F80C E4920078 */ swc1 $f18, 0x78($a0) -/* 0A4340 7F06F810 E484007C */ swc1 $f4, 0x7c($a0) -/* 0A4344 7F06F814 E4860080 */ swc1 $f6, 0x80($a0) -/* 0A4348 7F06F818 15E10013 */ bne $t7, $at, .L7F06F868 -/* 0A434C 7F06F81C E488006C */ swc1 $f8, 0x6c($a0) -/* 0A4350 7F06F820 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A4354 7F06F824 00000000 */ nop -/* 0A4358 7F06F828 C44A0034 */ lwc1 $f10, 0x34($v0) -/* 0A435C 7F06F82C C4500038 */ lwc1 $f16, 0x38($v0) -/* 0A4360 7F06F830 C452003C */ lwc1 $f18, 0x3c($v0) -/* 0A4364 7F06F834 C4440024 */ lwc1 $f4, 0x24($v0) -/* 0A4368 7F06F838 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0A436C 7F06F83C C448002C */ lwc1 $f8, 0x2c($v0) -/* 0A4370 7F06F840 24090001 */ li $t1, 1 -/* 0A4374 7F06F844 A0490002 */ sb $t1, 2($v0) -/* 0A4378 7F06F848 E44A004C */ swc1 $f10, 0x4c($v0) -/* 0A437C 7F06F84C E4500050 */ swc1 $f16, 0x50($v0) -/* 0A4380 7F06F850 E4520054 */ swc1 $f18, 0x54($v0) -/* 0A4384 7F06F854 E4440040 */ swc1 $f4, 0x40($v0) -/* 0A4388 7F06F858 E4460044 */ swc1 $f6, 0x44($v0) -/* 0A438C 7F06F85C 10000002 */ b .L7F06F868 -/* 0A4390 7F06F860 E4480048 */ swc1 $f8, 0x48($v0) -/* 0A4394 7F06F864 AC800054 */ sw $zero, 0x54($a0) -.L7F06F868: -/* 0A4398 7F06F868 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A439C 7F06F86C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A43A0 7F06F870 03E00008 */ jr $ra -/* 0A43A4 7F06F874 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06F878(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054D40 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054D44 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80054D48 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F06F878 -/* 0A43A8 7F06F878 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0A43AC 7F06F87C AFBF0024 */ sw $ra, 0x24($sp) -/* 0A43B0 7F06F880 AFB10020 */ sw $s1, 0x20($sp) -/* 0A43B4 7F06F884 AFB0001C */ sw $s0, 0x1c($sp) -/* 0A43B8 7F06F888 AFA50094 */ sw $a1, 0x94($sp) -/* 0A43BC 7F06F88C 8C8E0020 */ lw $t6, 0x20($a0) -/* 0A43C0 7F06F890 44876000 */ mtc1 $a3, $f12 -/* 0A43C4 7F06F894 00A03825 */ move $a3, $a1 -/* 0A43C8 7F06F898 2DCF0001 */ sltiu $t7, $t6, 1 -/* 0A43CC 7F06F89C AFAF002C */ sw $t7, 0x2c($sp) -/* 0A43D0 7F06F8A0 8C980054 */ lw $t8, 0x54($a0) -/* 0A43D4 7F06F8A4 44056000 */ mfc1 $a1, $f12 -/* 0A43D8 7F06F8A8 00808825 */ move $s1, $a0 -/* 0A43DC 7F06F8AC 13000008 */ beqz $t8, .L7F06F8D0 -/* 0A43E0 7F06F8B0 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 0A43E4 7F06F8B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A43E8 7F06F8B8 44803000 */ mtc1 $zero, $f6 -/* 0A43EC 7F06F8BC 44814000 */ mtc1 $at, $f8 -/* 0A43F0 7F06F8C0 E4840088 */ swc1 $f4, 0x88($a0) -/* 0A43F4 7F06F8C4 E486008C */ swc1 $f6, 0x8c($a0) -/* 0A43F8 7F06F8C8 10000005 */ b .L7F06F8E0 -/* 0A43FC 7F06F8CC E4880084 */ swc1 $f8, 0x84($a0) -.L7F06F8D0: -/* 0A4400 7F06F8D0 44805000 */ mtc1 $zero, $f10 -/* 0A4404 7F06F8D4 44802000 */ mtc1 $zero, $f4 -/* 0A4408 7F06F8D8 E62A0088 */ swc1 $f10, 0x88($s1) -/* 0A440C 7F06F8DC E6240084 */ swc1 $f4, 0x84($s1) -.L7F06F8E0: -/* 0A4410 7F06F8E0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0A4414 7F06F8E4 44813000 */ mtc1 $at, $f6 -/* 0A4418 7F06F8E8 AE270020 */ sw $a3, 0x20($s1) -/* 0A441C 7F06F8EC A2260024 */ sb $a2, 0x24($s1) -/* 0A4420 7F06F8F0 E626003C */ swc1 $f6, 0x3c($s1) -/* 0A4424 7F06F8F4 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 0A4428 7F06F8F8 44805000 */ mtc1 $zero, $f10 -/* 0A442C 7F06F8FC 02202025 */ move $a0, $s1 -/* 0A4430 7F06F900 E6280040 */ swc1 $f8, 0x40($s1) -/* 0A4434 7F06F904 0FC1BFD9 */ jal sub_GAME_7F06FF64 -/* 0A4438 7F06F908 E62A004C */ swc1 $f10, 0x4c($s1) -/* 0A443C 7F06F90C 8E390008 */ lw $t9, 8($s1) -/* 0A4440 7F06F910 A2200026 */ sb $zero, 0x26($s1) -/* 0A4444 7F06F914 24010001 */ li $at, 1 -/* 0A4448 7F06F918 8F250000 */ lw $a1, ($t9) -/* 0A444C 7F06F91C 94A20000 */ lhu $v0, ($a1) -/* 0A4450 7F06F920 304800FF */ andi $t0, $v0, 0xff -/* 0A4454 7F06F924 550100C5 */ bnel $t0, $at, .L7F06FC3C -/* 0A4458 7F06F928 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A445C 7F06F92C 8CA90004 */ lw $t1, 4($a1) -/* 0A4460 7F06F930 02202025 */ move $a0, $s1 -/* 0A4464 7F06F934 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A4468 7F06F938 AFA90080 */ sw $t1, 0x80($sp) -/* 0A446C 7F06F93C 3C0C8003 */ lui $t4, %hi(D_80036244) -/* 0A4470 7F06F940 8FAA0080 */ lw $t2, 0x80($sp) -/* 0A4474 7F06F944 8E2B0008 */ lw $t3, 8($s1) -/* 0A4478 7F06F948 258C6244 */ addiu $t4, %lo(D_80036244) # addiu $t4, $t4, 0x6244 -/* 0A447C 7F06F94C 8D810000 */ lw $at, ($t4) -/* 0A4480 7F06F950 C6240014 */ lwc1 $f4, 0x14($s1) -/* 0A4484 7F06F954 C62600B8 */ lwc1 $f6, 0xb8($s1) -/* 0A4488 7F06F958 27A3005C */ addiu $v1, $sp, 0x5c -/* 0A448C 7F06F95C 95440000 */ lhu $a0, ($t2) -/* 0A4490 7F06F960 8D660004 */ lw $a2, 4($t3) -/* 0A4494 7F06F964 AC610000 */ sw $at, ($v1) -/* 0A4498 7F06F968 8D8F0004 */ lw $t7, 4($t4) -/* 0A449C 7F06F96C 46062082 */ mul.s $f2, $f4, $f6 -/* 0A44A0 7F06F970 00408025 */ move $s0, $v0 -/* 0A44A4 7F06F974 AC6F0004 */ sw $t7, 4($v1) -/* 0A44A8 7F06F978 8D810008 */ lw $at, 8($t4) -/* 0A44AC 7F06F97C AC610008 */ sw $at, 8($v1) -/* 0A44B0 7F06F980 86380032 */ lh $t8, 0x32($s1) -/* 0A44B4 7F06F984 8E270020 */ lw $a3, 0x20($s1) -/* 0A44B8 7F06F988 82250024 */ lb $a1, 0x24($s1) -/* 0A44BC 7F06F98C E7A20070 */ swc1 $f2, 0x70($sp) -/* 0A44C0 7F06F990 AFA30014 */ sw $v1, 0x14($sp) -/* 0A44C4 7F06F994 0FC1B4FD */ jal sub_GAME_7F06D3F4 -/* 0A44C8 7F06F998 AFB80010 */ sw $t8, 0x10($sp) -/* 0A44CC 7F06F99C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A44D0 7F06F9A0 C7A20070 */ lwc1 $f2, 0x70($sp) -/* 0A44D4 7F06F9A4 44814000 */ mtc1 $at, $f8 -/* 0A44D8 7F06F9A8 E7A00058 */ swc1 $f0, 0x58($sp) -/* 0A44DC 7F06F9AC C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0A44E0 7F06F9B0 46081032 */ c.eq.s $f2, $f8 -/* 0A44E4 7F06F9B4 00000000 */ nop -/* 0A44E8 7F06F9B8 45010009 */ bc1t .L7F06F9E0 -/* 0A44EC 7F06F9BC 00000000 */ nop -/* 0A44F0 7F06F9C0 46025102 */ mul.s $f4, $f10, $f2 -/* 0A44F4 7F06F9C4 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 0A44F8 7F06F9C8 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 0A44FC 7F06F9CC 46023202 */ mul.s $f8, $f6, $f2 -/* 0A4500 7F06F9D0 E7A4005C */ swc1 $f4, 0x5c($sp) -/* 0A4504 7F06F9D4 46025102 */ mul.s $f4, $f10, $f2 -/* 0A4508 7F06F9D8 E7A80060 */ swc1 $f8, 0x60($sp) -/* 0A450C 7F06F9DC E7A40064 */ swc1 $f4, 0x64($sp) -.L7F06F9E0: -/* 0A4510 7F06F9E0 0FC15FA8 */ jal cosf -/* 0A4514 7F06F9E4 C60C0014 */ lwc1 $f12, 0x14($s0) -/* 0A4518 7F06F9E8 C60C0014 */ lwc1 $f12, 0x14($s0) -/* 0A451C 7F06F9EC 0FC15FAB */ jal sinf -/* 0A4520 7F06F9F0 E7A0006C */ swc1 $f0, 0x6c($sp) -/* 0A4524 7F06F9F4 C622002C */ lwc1 $f2, 0x2c($s1) -/* 0A4528 7F06F9F8 44803000 */ mtc1 $zero, $f6 -/* 0A452C 7F06F9FC C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 0A4530 7F06FA00 24190001 */ li $t9, 1 -/* 0A4534 7F06FA04 46023032 */ c.eq.s $f6, $f2 -/* 0A4538 7F06FA08 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 0A453C 7F06FA0C C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0A4540 7F06FA10 45000032 */ bc1f .L7F06FADC -/* 0A4544 7F06FA14 00000000 */ nop -/* 0A4548 7F06FA18 C608000C */ lwc1 $f8, 0xc($s0) -/* 0A454C 7F06FA1C C60A0004 */ lwc1 $f10, 4($s0) -/* 0A4550 7F06FA20 C6020008 */ lwc1 $f2, 8($s0) -/* 0A4554 7F06FA24 C6060010 */ lwc1 $f6, 0x10($s0) -/* 0A4558 7F06FA28 460A4101 */ sub.s $f4, $f8, $f10 -/* 0A455C 7F06FA2C C6080014 */ lwc1 $f8, 0x14($s0) -/* 0A4560 7F06FA30 E6020034 */ swc1 $f2, 0x34($s0) -/* 0A4564 7F06FA34 E606003C */ swc1 $f6, 0x3c($s0) -/* 0A4568 7F06FA38 E6040038 */ swc1 $f4, 0x38($s0) -/* 0A456C 7F06FA3C E6080030 */ swc1 $f8, 0x30($s0) -/* 0A4570 7F06FA40 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 0A4574 7F06FA44 C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 0A4578 7F06FA48 46005102 */ mul.s $f4, $f10, $f0 -/* 0A457C 7F06FA4C 00000000 */ nop -/* 0A4580 7F06FA50 46123202 */ mul.s $f8, $f6, $f18 -/* 0A4584 7F06FA54 46081200 */ add.s $f8, $f2, $f8 -/* 0A4588 7F06FA58 46003182 */ mul.s $f6, $f6, $f0 -/* 0A458C 7F06FA5C 46082100 */ add.s $f4, $f4, $f8 -/* 0A4590 7F06FA60 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0A4594 7F06FA64 E7A4004C */ swc1 $f4, 0x4c($sp) -/* 0A4598 7F06FA68 E7A80050 */ swc1 $f8, 0x50($sp) -/* 0A459C 7F06FA6C C608003C */ lwc1 $f8, 0x3c($s0) -/* 0A45A0 7F06FA70 46064201 */ sub.s $f8, $f8, $f6 -/* 0A45A4 7F06FA74 46125182 */ mul.s $f6, $f10, $f18 -/* 0A45A8 7F06FA78 46083280 */ add.s $f10, $f6, $f8 -/* 0A45AC 7F06FA7C E7AA0054 */ swc1 $f10, 0x54($sp) -/* 0A45B0 7F06FA80 E6040024 */ swc1 $f4, 0x24($s0) -/* 0A45B4 7F06FA84 C6040018 */ lwc1 $f4, 0x18($s0) -/* 0A45B8 7F06FA88 44805000 */ mtc1 $zero, $f10 -/* 0A45BC 7F06FA8C C7A60050 */ lwc1 $f6, 0x50($sp) -/* 0A45C0 7F06FA90 46045032 */ c.eq.s $f10, $f4 -/* 0A45C4 7F06FA94 E6060028 */ swc1 $f6, 0x28($s0) -/* 0A45C8 7F06FA98 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 0A45CC 7F06FA9C 4500000D */ bc1f .L7F06FAD4 -/* 0A45D0 7F06FAA0 E608002C */ swc1 $f8, 0x2c($s0) -/* 0A45D4 7F06FAA4 C6060030 */ lwc1 $f6, 0x30($s0) -/* 0A45D8 7F06FAA8 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0A45DC 7F06FAAC 3C018005 */ lui $at, %hi(D_80054D40) -/* 0A45E0 7F06FAB0 C4224D40 */ lwc1 $f2, %lo(D_80054D40)($at) -/* 0A45E4 7F06FAB4 46083000 */ add.s $f0, $f6, $f8 -/* 0A45E8 7F06FAB8 4600103E */ c.le.s $f2, $f0 -/* 0A45EC 7F06FABC E6000020 */ swc1 $f0, 0x20($s0) -/* 0A45F0 7F06FAC0 45000004 */ bc1f .L7F06FAD4 -/* 0A45F4 7F06FAC4 00000000 */ nop -/* 0A45F8 7F06FAC8 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 0A45FC 7F06FACC 46025101 */ sub.s $f4, $f10, $f2 -/* 0A4600 7F06FAD0 E6040020 */ swc1 $f4, 0x20($s0) -.L7F06FAD4: -/* 0A4604 7F06FAD4 10000053 */ b .L7F06FC24 -/* 0A4608 7F06FAD8 A2190001 */ sb $t9, 1($s0) -.L7F06FADC: -/* 0A460C 7F06FADC 46003202 */ mul.s $f8, $f6, $f0 -/* 0A4610 7F06FAE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A4614 7F06FAE4 C7B00060 */ lwc1 $f16, 0x60($sp) -/* 0A4618 7F06FAE8 46125102 */ mul.s $f4, $f10, $f18 -/* 0A461C 7F06FAEC 46044380 */ add.s $f14, $f8, $f4 -/* 0A4620 7F06FAF0 46123202 */ mul.s $f8, $f6, $f18 -/* 0A4624 7F06FAF4 46005107 */ neg.s $f4, $f10 -/* 0A4628 7F06FAF8 46002182 */ mul.s $f6, $f4, $f0 -/* 0A462C 7F06FAFC 46064280 */ add.s $f10, $f8, $f6 -/* 0A4630 7F06FB00 44814000 */ mtc1 $at, $f8 -/* 0A4634 7F06FB04 00000000 */ nop -/* 0A4638 7F06FB08 46024181 */ sub.s $f6, $f8, $f2 -/* 0A463C 7F06FB0C E7AA0030 */ swc1 $f10, 0x30($sp) -/* 0A4640 7F06FB10 C6040008 */ lwc1 $f4, 8($s0) -/* 0A4644 7F06FB14 E7B00044 */ swc1 $f16, 0x44($sp) -/* 0A4648 7F06FB18 46067202 */ mul.s $f8, $f14, $f6 -/* 0A464C 7F06FB1C 46082180 */ add.s $f6, $f4, $f8 -/* 0A4650 7F06FB20 44812000 */ mtc1 $at, $f4 -/* 0A4654 7F06FB24 E7A60040 */ swc1 $f6, 0x40($sp) -/* 0A4658 7F06FB28 C628002C */ lwc1 $f8, 0x2c($s1) -/* 0A465C 7F06FB2C 46082181 */ sub.s $f6, $f4, $f8 -/* 0A4660 7F06FB30 C6080010 */ lwc1 $f8, 0x10($s0) -/* 0A4664 7F06FB34 46065102 */ mul.s $f4, $f10, $f6 -/* 0A4668 7F06FB38 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 0A466C 7F06FB3C 46044280 */ add.s $f10, $f8, $f4 -/* 0A4670 7F06FB40 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 0A4674 7F06FB44 E6060024 */ swc1 $f6, 0x24($s0) -/* 0A4678 7F06FB48 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 0A467C 7F06FB4C C60A0024 */ lwc1 $f10, 0x24($s0) -/* 0A4680 7F06FB50 E6080028 */ swc1 $f8, 0x28($s0) -/* 0A4684 7F06FB54 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0A4688 7F06FB58 C608000C */ lwc1 $f8, 0xc($s0) -/* 0A468C 7F06FB5C 460E5181 */ sub.s $f6, $f10, $f14 -/* 0A4690 7F06FB60 E604002C */ swc1 $f4, 0x2c($s0) -/* 0A4694 7F06FB64 C6040004 */ lwc1 $f4, 4($s0) -/* 0A4698 7F06FB68 E6060034 */ swc1 $f6, 0x34($s0) -/* 0A469C 7F06FB6C 46044301 */ sub.s $f12, $f8, $f4 -/* 0A46A0 7F06FB70 C622002C */ lwc1 $f2, 0x2c($s1) -/* 0A46A4 7F06FB74 44814000 */ mtc1 $at, $f8 -/* 0A46A8 7F06FB78 3C018005 */ lui $at, %hi(D_80054D44) -/* 0A46AC 7F06FB7C 460C8281 */ sub.s $f10, $f16, $f12 -/* 0A46B0 7F06FB80 46024101 */ sub.s $f4, $f8, $f2 -/* 0A46B4 7F06FB84 46025182 */ mul.s $f6, $f10, $f2 -/* 0A46B8 7F06FB88 46043283 */ div.s $f10, $f6, $f4 -/* 0A46BC 7F06FB8C C606002C */ lwc1 $f6, 0x2c($s0) -/* 0A46C0 7F06FB90 460A6201 */ sub.s $f8, $f12, $f10 -/* 0A46C4 7F06FB94 C60C0014 */ lwc1 $f12, 0x14($s0) -/* 0A46C8 7F06FB98 E6080038 */ swc1 $f8, 0x38($s0) -/* 0A46CC 7F06FB9C C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0A46D0 7F06FBA0 46043281 */ sub.s $f10, $f6, $f4 -/* 0A46D4 7F06FBA4 44803000 */ mtc1 $zero, $f6 -/* 0A46D8 7F06FBA8 E60A003C */ swc1 $f10, 0x3c($s0) -/* 0A46DC 7F06FBAC C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0A46E0 7F06FBB0 46086381 */ sub.s $f14, $f12, $f8 -/* 0A46E4 7F06FBB4 4606703C */ c.lt.s $f14, $f6 -/* 0A46E8 7F06FBB8 00000000 */ nop -/* 0A46EC 7F06FBBC 45000003 */ bc1f .L7F06FBCC -/* 0A46F0 7F06FBC0 00000000 */ nop -/* 0A46F4 7F06FBC4 C4244D44 */ lwc1 $f4, %lo(D_80054D44)($at) -/* 0A46F8 7F06FBC8 46047380 */ add.s $f14, $f14, $f4 -.L7F06FBCC: -/* 0A46FC 7F06FBCC 0FC1B433 */ jal sub_GAME_7F06D0CC -/* 0A4700 7F06FBD0 8E26002C */ lw $a2, 0x2c($s1) -/* 0A4704 7F06FBD4 44805000 */ mtc1 $zero, $f10 -/* 0A4708 7F06FBD8 C6080018 */ lwc1 $f8, 0x18($s0) -/* 0A470C 7F06FBDC 3C018005 */ lui $at, %hi(D_80054D48) -/* 0A4710 7F06FBE0 C4224D48 */ lwc1 $f2, %lo(D_80054D48)($at) -/* 0A4714 7F06FBE4 46085032 */ c.eq.s $f10, $f8 -/* 0A4718 7F06FBE8 E6000030 */ swc1 $f0, 0x30($s0) -/* 0A471C 7F06FBEC C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0A4720 7F06FBF0 24080001 */ li $t0, 1 -/* 0A4724 7F06FBF4 4502000B */ bc1fl .L7F06FC24 -/* 0A4728 7F06FBF8 A2080001 */ sb $t0, 1($s0) -/* 0A472C 7F06FBFC C6060030 */ lwc1 $f6, 0x30($s0) -/* 0A4730 7F06FC00 46043000 */ add.s $f0, $f6, $f4 -/* 0A4734 7F06FC04 4600103E */ c.le.s $f2, $f0 -/* 0A4738 7F06FC08 E6000020 */ swc1 $f0, 0x20($s0) -/* 0A473C 7F06FC0C 45020005 */ bc1fl .L7F06FC24 -/* 0A4740 7F06FC10 A2080001 */ sb $t0, 1($s0) -/* 0A4744 7F06FC14 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 0A4748 7F06FC18 46025201 */ sub.s $f8, $f10, $f2 -/* 0A474C 7F06FC1C E6080020 */ swc1 $f8, 0x20($s0) -/* 0A4750 7F06FC20 A2080001 */ sb $t0, 1($s0) -.L7F06FC24: -/* 0A4754 7F06FC24 8FA9002C */ lw $t1, 0x2c($sp) -/* 0A4758 7F06FC28 51200004 */ beql $t1, $zero, .L7F06FC3C -/* 0A475C 7F06FC2C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A4760 7F06FC30 C6060028 */ lwc1 $f6, 0x28($s0) -/* 0A4764 7F06FC34 E6060038 */ swc1 $f6, 0x38($s0) -/* 0A4768 7F06FC38 8FBF0024 */ lw $ra, 0x24($sp) -.L7F06FC3C: -/* 0A476C 7F06FC3C 8FB0001C */ lw $s0, 0x1c($sp) -/* 0A4770 7F06FC40 8FB10020 */ lw $s1, 0x20($sp) -/* 0A4774 7F06FC44 03E00008 */ jr $ra -/* 0A4778 7F06FC48 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FC4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FC4C -/* 0A477C 7F06FC4C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A4780 7F06FC50 8FAE0038 */ lw $t6, 0x38($sp) -/* 0A4784 7F06FC54 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A4788 7F06FC58 AFA40020 */ sw $a0, 0x20($sp) -/* 0A478C 7F06FC5C AFA50024 */ sw $a1, 0x24($sp) -/* 0A4790 7F06FC60 AFA60028 */ sw $a2, 0x28($sp) -/* 0A4794 7F06FC64 11C00003 */ beqz $t6, .L7F06FC74 -/* 0A4798 7F06FC68 AFA7002C */ sw $a3, 0x2c($sp) -/* 0A479C 7F06FC6C 0FC1BDE0 */ jal sub_GAME_7F06F780 -/* 0A47A0 7F06FC70 8FA50034 */ lw $a1, 0x34($sp) -.L7F06FC74: -/* 0A47A4 7F06FC74 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0A47A8 7F06FC78 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0A47AC 7F06FC7C 8FA40020 */ lw $a0, 0x20($sp) -/* 0A47B0 7F06FC80 8FA50024 */ lw $a1, 0x24($sp) -/* 0A47B4 7F06FC84 8FA60028 */ lw $a2, 0x28($sp) -/* 0A47B8 7F06FC88 8FA7002C */ lw $a3, 0x2c($sp) -/* 0A47BC 7F06FC8C E7A40010 */ swc1 $f4, 0x10($sp) -/* 0A47C0 7F06FC90 0FC1BE1E */ jal sub_GAME_7F06F878 -/* 0A47C4 7F06FC94 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0A47C8 7F06FC98 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A47CC 7F06FC9C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A47D0 7F06FCA0 03E00008 */ jr $ra -/* 0A47D4 7F06FCA4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FCA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FCA8 -/* 0A47D8 7F06FCA8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A47DC 7F06FCAC AFBF001C */ sw $ra, 0x1c($sp) -/* 0A47E0 7F06FCB0 AFA50024 */ sw $a1, 0x24($sp) -/* 0A47E4 7F06FCB4 AFA40020 */ sw $a0, 0x20($sp) -/* 0A47E8 7F06FCB8 AFA60028 */ sw $a2, 0x28($sp) -/* 0A47EC 7F06FCBC AFA7002C */ sw $a3, 0x2c($sp) -/* 0A47F0 7F06FCC0 0FC1BDE0 */ jal sub_GAME_7F06F780 -/* 0A47F4 7F06FCC4 8FA50034 */ lw $a1, 0x34($sp) -/* 0A47F8 7F06FCC8 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0A47FC 7F06FCCC C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0A4800 7F06FCD0 8FA40020 */ lw $a0, 0x20($sp) -/* 0A4804 7F06FCD4 8FA50024 */ lw $a1, 0x24($sp) -/* 0A4808 7F06FCD8 8FA60028 */ lw $a2, 0x28($sp) -/* 0A480C 7F06FCDC 8FA7002C */ lw $a3, 0x2c($sp) -/* 0A4810 7F06FCE0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0A4814 7F06FCE4 0FC1BE1E */ jal sub_GAME_7F06F878 -/* 0A4818 7F06FCE8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0A481C 7F06FCEC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A4820 7F06FCF0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A4824 7F06FCF4 03E00008 */ jr $ra -/* 0A4828 7F06FCF8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FCFC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FCFC -/* 0A482C 7F06FCFC 8CA10000 */ lw $at, ($a1) -/* 0A4830 7F06FD00 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A4834 7F06FD04 27A20000 */ addiu $v0, $sp, 0 -/* 0A4838 7F06FD08 AC410000 */ sw $at, ($v0) -/* 0A483C 7F06FD0C 8CB80004 */ lw $t8, 4($a1) -/* 0A4840 7F06FD10 00805025 */ move $t2, $a0 -/* 0A4844 7F06FD14 00A05825 */ move $t3, $a1 -/* 0A4848 7F06FD18 AC580004 */ sw $t8, 4($v0) -/* 0A484C 7F06FD1C 8CA10008 */ lw $at, 8($a1) -/* 0A4850 7F06FD20 248900B4 */ addiu $t1, $a0, 0xb4 -/* 0A4854 7F06FD24 AC410008 */ sw $at, 8($v0) -/* 0A4858 7F06FD28 8CB8000C */ lw $t8, 0xc($a1) -/* 0A485C 7F06FD2C AC58000C */ sw $t8, 0xc($v0) -/* 0A4860 7F06FD30 8CA10010 */ lw $at, 0x10($a1) -/* 0A4864 7F06FD34 AC410010 */ sw $at, 0x10($v0) -/* 0A4868 7F06FD38 8CB80014 */ lw $t8, 0x14($a1) -/* 0A486C 7F06FD3C AC580014 */ sw $t8, 0x14($v0) -/* 0A4870 7F06FD40 8CA10018 */ lw $at, 0x18($a1) -/* 0A4874 7F06FD44 AC410018 */ sw $at, 0x18($v0) -/* 0A4878 7F06FD48 8CB8001C */ lw $t8, 0x1c($a1) -/* 0A487C 7F06FD4C AC58001C */ sw $t8, 0x1c($v0) -.L7F06FD50: -/* 0A4880 7F06FD50 8D410000 */ lw $at, ($t2) -/* 0A4884 7F06FD54 254A000C */ addiu $t2, $t2, 0xc -/* 0A4888 7F06FD58 256B000C */ addiu $t3, $t3, 0xc -/* 0A488C 7F06FD5C AD61FFF4 */ sw $at, -0xc($t3) -/* 0A4890 7F06FD60 8D41FFF8 */ lw $at, -8($t2) -/* 0A4894 7F06FD64 AD61FFF8 */ sw $at, -8($t3) -/* 0A4898 7F06FD68 8D41FFFC */ lw $at, -4($t2) -/* 0A489C 7F06FD6C 1549FFF8 */ bne $t2, $t1, .L7F06FD50 -/* 0A48A0 7F06FD70 AD61FFFC */ sw $at, -4($t3) -/* 0A48A4 7F06FD74 8D410000 */ lw $at, ($t2) -/* 0A48A8 7F06FD78 AD610000 */ sw $at, ($t3) -/* 0A48AC 7F06FD7C 8D490004 */ lw $t1, 4($t2) -/* 0A48B0 7F06FD80 AD690004 */ sw $t1, 4($t3) -/* 0A48B4 7F06FD84 8C410000 */ lw $at, ($v0) -/* 0A48B8 7F06FD88 ACA10000 */ sw $at, ($a1) -/* 0A48BC 7F06FD8C 8C4F0004 */ lw $t7, 4($v0) -/* 0A48C0 7F06FD90 ACAF0004 */ sw $t7, 4($a1) -/* 0A48C4 7F06FD94 8C410008 */ lw $at, 8($v0) -/* 0A48C8 7F06FD98 ACA10008 */ sw $at, 8($a1) -/* 0A48CC 7F06FD9C 8C4F000C */ lw $t7, 0xc($v0) -/* 0A48D0 7F06FDA0 ACAF000C */ sw $t7, 0xc($a1) -/* 0A48D4 7F06FDA4 8C410010 */ lw $at, 0x10($v0) -/* 0A48D8 7F06FDA8 ACA10010 */ sw $at, 0x10($a1) -/* 0A48DC 7F06FDAC 8C4F0014 */ lw $t7, 0x14($v0) -/* 0A48E0 7F06FDB0 ACAF0014 */ sw $t7, 0x14($a1) -/* 0A48E4 7F06FDB4 8C410018 */ lw $at, 0x18($v0) -/* 0A48E8 7F06FDB8 ACA10018 */ sw $at, 0x18($a1) -/* 0A48EC 7F06FDBC 8C4F001C */ lw $t7, 0x1c($v0) -/* 0A48F0 7F06FDC0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A48F4 7F06FDC4 03E00008 */ jr $ra -/* 0A48F8 7F06FDC8 ACAF001C */ sw $t7, 0x1c($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FDCC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FDCC -/* 0A48FC 7F06FDCC 44856000 */ mtc1 $a1, $f12 -/* 0A4900 7F06FDD0 44867000 */ mtc1 $a2, $f14 -/* 0A4904 7F06FDD4 240E0001 */ li $t6, 1 -/* 0A4908 7F06FDD8 A08E0026 */ sb $t6, 0x26($a0) -/* 0A490C 7F06FDDC E48C0090 */ swc1 $f12, 0x90($a0) -/* 0A4910 7F06FDE0 03E00008 */ jr $ra -/* 0A4914 7F06FDE4 E48E0094 */ swc1 $f14, 0x94($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FDE8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FDE8 -/* 0A4918 7F06FDE8 8C820020 */ lw $v0, 0x20($a0) -/* 0A491C 7F06FDEC 44856000 */ mtc1 $a1, $f12 -/* 0A4920 7F06FDF0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0A4924 7F06FDF4 5040000D */ beql $v0, $zero, .L7F06FE2C -/* 0A4928 7F06FDF8 44814000 */ mtc1 $at, $f8 -/* 0A492C 7F06FDFC 944E0004 */ lhu $t6, 4($v0) -/* 0A4930 7F06FE00 25CFFFFF */ addiu $t7, $t6, -1 -/* 0A4934 7F06FE04 448F2000 */ mtc1 $t7, $f4 -/* 0A4938 7F06FE08 00000000 */ nop -/* 0A493C 7F06FE0C 468021A0 */ cvt.s.w $f6, $f4 -/* 0A4940 7F06FE10 4606603C */ c.lt.s $f12, $f6 -/* 0A4944 7F06FE14 00000000 */ nop -/* 0A4948 7F06FE18 45020004 */ bc1fl .L7F06FE2C -/* 0A494C 7F06FE1C 44814000 */ mtc1 $at, $f8 -/* 0A4950 7F06FE20 03E00008 */ jr $ra -/* 0A4954 7F06FE24 E48C003C */ swc1 $f12, 0x3c($a0) - -/* 0A4958 7F06FE28 44814000 */ mtc1 $at, $f8 -.L7F06FE2C: -/* 0A495C 7F06FE2C 00000000 */ nop -/* 0A4960 7F06FE30 E488003C */ swc1 $f8, 0x3c($a0) -/* 0A4964 7F06FE34 03E00008 */ jr $ra -/* 0A4968 7F06FE38 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FE3C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FE3C -/* 0A496C 7F06FE3C 03E00008 */ jr $ra -/* 0A4970 7F06FE40 AC850098 */ sw $a1, 0x98($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FE44(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FE44 -/* 0A4974 7F06FE44 03E00008 */ jr $ra -/* 0A4978 7F06FE48 AC85009C */ sw $a1, 0x9c($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FE4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FE4C -/* 0A497C 7F06FE4C 44866000 */ mtc1 $a2, $f12 -/* 0A4980 7F06FE50 44800000 */ mtc1 $zero, $f0 -/* 0A4984 7F06FE54 44857000 */ mtc1 $a1, $f14 -/* 0A4988 7F06FE58 460C003C */ c.lt.s $f0, $f12 -/* 0A498C 7F06FE5C 00000000 */ nop -/* 0A4990 7F06FE60 45020008 */ bc1fl .L7F06FE84 -/* 0A4994 7F06FE64 E48E0040 */ swc1 $f14, 0x40($a0) -/* 0A4998 7F06FE68 C4840040 */ lwc1 $f4, 0x40($a0) -/* 0A499C 7F06FE6C E48C004C */ swc1 $f12, 0x4c($a0) -/* 0A49A0 7F06FE70 E48E0044 */ swc1 $f14, 0x44($a0) -/* 0A49A4 7F06FE74 E4800050 */ swc1 $f0, 0x50($a0) -/* 0A49A8 7F06FE78 03E00008 */ jr $ra -/* 0A49AC 7F06FE7C E4840048 */ swc1 $f4, 0x48($a0) - -/* 0A49B0 7F06FE80 E48E0040 */ swc1 $f14, 0x40($a0) -.L7F06FE84: -/* 0A49B4 7F06FE84 E480004C */ swc1 $f0, 0x4c($a0) -/* 0A49B8 7F06FE88 03E00008 */ jr $ra -/* 0A49BC 7F06FE8C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FE90(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FE90 -/* 0A49C0 7F06FE90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A49C4 7F06FE94 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A49C8 7F06FE98 44856000 */ mtc1 $a1, $f12 -/* 0A49CC 7F06FE9C C4800028 */ lwc1 $f0, 0x28($a0) -/* 0A49D0 7F06FEA0 44867000 */ mtc1 $a2, $f14 -/* 0A49D4 7F06FEA4 460C003E */ c.le.s $f0, $f12 -/* 0A49D8 7F06FEA8 00000000 */ nop -/* 0A49DC 7F06FEAC 45020004 */ bc1fl .L7F06FEC0 -/* 0A49E0 7F06FEB0 8C8E0020 */ lw $t6, 0x20($a0) -/* 0A49E4 7F06FEB4 1000000C */ b .L7F06FEE8 -/* 0A49E8 7F06FEB8 46006081 */ sub.s $f2, $f12, $f0 -/* 0A49EC 7F06FEBC 8C8E0020 */ lw $t6, 0x20($a0) -.L7F06FEC0: -/* 0A49F0 7F06FEC0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0A49F4 7F06FEC4 95CF0004 */ lhu $t7, 4($t6) -/* 0A49F8 7F06FEC8 448F2000 */ mtc1 $t7, $f4 -/* 0A49FC 7F06FECC 05E10004 */ bgez $t7, .L7F06FEE0 -/* 0A4A00 7F06FED0 468021A0 */ cvt.s.w $f6, $f4 -/* 0A4A04 7F06FED4 44814000 */ mtc1 $at, $f8 -/* 0A4A08 7F06FED8 00000000 */ nop -/* 0A4A0C 7F06FEDC 46083180 */ add.s $f6, $f6, $f8 -.L7F06FEE0: -/* 0A4A10 7F06FEE0 46003281 */ sub.s $f10, $f6, $f0 -/* 0A4A14 7F06FEE4 460C5080 */ add.s $f2, $f10, $f12 -.L7F06FEE8: -/* 0A4A18 7F06FEE8 46021480 */ add.s $f18, $f2, $f2 -/* 0A4A1C 7F06FEEC C4900040 */ lwc1 $f16, 0x40($a0) -/* 0A4A20 7F06FEF0 44067000 */ mfc1 $a2, $f14 -/* 0A4A24 7F06FEF4 460E9103 */ div.s $f4, $f18, $f14 -/* 0A4A28 7F06FEF8 46048000 */ add.s $f0, $f16, $f4 -/* 0A4A2C 7F06FEFC 44050000 */ mfc1 $a1, $f0 -/* 0A4A30 7F06FF00 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 0A4A34 7F06FF04 00000000 */ nop -/* 0A4A38 7F06FF08 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A4A3C 7F06FF0C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A4A40 7F06FF10 03E00008 */ jr $ra -/* 0A4A44 7F06FF14 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FF18(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FF18 -/* 0A4A48 7F06FF18 44866000 */ mtc1 $a2, $f12 -/* 0A4A4C 7F06FF1C 44800000 */ mtc1 $zero, $f0 -/* 0A4A50 7F06FF20 44857000 */ mtc1 $a1, $f14 -/* 0A4A54 7F06FF24 460C003C */ c.lt.s $f0, $f12 -/* 0A4A58 7F06FF28 00000000 */ nop -/* 0A4A5C 7F06FF2C 45020008 */ bc1fl .L7F06FF50 -/* 0A4A60 7F06FF30 E48E00A4 */ swc1 $f14, 0xa4($a0) -/* 0A4A64 7F06FF34 C48400A4 */ lwc1 $f4, 0xa4($a0) -/* 0A4A68 7F06FF38 E48C00B0 */ swc1 $f12, 0xb0($a0) -/* 0A4A6C 7F06FF3C E48E00A8 */ swc1 $f14, 0xa8($a0) -/* 0A4A70 7F06FF40 E48000B4 */ swc1 $f0, 0xb4($a0) -/* 0A4A74 7F06FF44 03E00008 */ jr $ra -/* 0A4A78 7F06FF48 E48400AC */ swc1 $f4, 0xac($a0) - -/* 0A4A7C 7F06FF4C E48E00A4 */ swc1 $f14, 0xa4($a0) -.L7F06FF50: -/* 0A4A80 7F06FF50 E48000B0 */ swc1 $f0, 0xb0($a0) -/* 0A4A84 7F06FF54 03E00008 */ jr $ra -/* 0A4A88 7F06FF58 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FF5C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FF5C -/* 0A4A8C 7F06FF5C 03E00008 */ jr $ra -/* 0A4A90 7F06FF60 AC8500A0 */ sw $a1, 0xa0($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F06FF64(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F06FF64 -/* 0A4A94 7F06FF64 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A4A98 7F06FF68 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A4A9C 7F06FF6C AFB00018 */ sw $s0, 0x18($sp) -/* 0A4AA0 7F06FF70 AFA50034 */ sw $a1, 0x34($sp) -/* 0A4AA4 7F06FF74 00808025 */ move $s0, $a0 -/* 0A4AA8 7F06FF78 0FC170F6 */ jal sub_GAME_7F05C3D8 -/* 0A4AAC 7F06FF7C C7AC0034 */ lwc1 $f12, 0x34($sp) -/* 0A4AB0 7F06FF80 C6040040 */ lwc1 $f4, 0x40($s0) -/* 0A4AB4 7F06FF84 44803000 */ mtc1 $zero, $f6 -/* 0A4AB8 7F06FF88 00402025 */ move $a0, $v0 -/* 0A4ABC 7F06FF8C 00004025 */ move $t0, $zero -/* 0A4AC0 7F06FF90 4604303E */ c.le.s $f6, $f4 -/* 0A4AC4 7F06FF94 2447FFFF */ addiu $a3, $v0, -1 -/* 0A4AC8 7F06FF98 45000002 */ bc1f .L7F06FFA4 -/* 0A4ACC 7F06FF9C 00000000 */ nop -/* 0A4AD0 7F06FFA0 24080001 */ li $t0, 1 -.L7F06FFA4: -/* 0A4AD4 7F06FFA4 11000003 */ beqz $t0, .L7F06FFB4 -/* 0A4AD8 7F06FFA8 00000000 */ nop -/* 0A4ADC 7F06FFAC 10000001 */ b .L7F06FFB4 -/* 0A4AE0 7F06FFB0 24470001 */ addiu $a3, $v0, 1 -.L7F06FFB4: -/* 0A4AE4 7F06FFB4 8E050020 */ lw $a1, 0x20($s0) -/* 0A4AE8 7F06FFB8 8E06003C */ lw $a2, 0x3c($s0) -/* 0A4AEC 7F06FFBC AFA80024 */ sw $t0, 0x24($sp) -/* 0A4AF0 7F06FFC0 AFA70028 */ sw $a3, 0x28($sp) -/* 0A4AF4 7F06FFC4 0FC1BD9B */ jal sub_GAME_7F06F66C -/* 0A4AF8 7F06FFC8 AFA4002C */ sw $a0, 0x2c($sp) -/* 0A4AFC 7F06FFCC 8FA40028 */ lw $a0, 0x28($sp) -/* 0A4B00 7F06FFD0 A6020030 */ sh $v0, 0x30($s0) -/* 0A4B04 7F06FFD4 8E050020 */ lw $a1, 0x20($s0) -/* 0A4B08 7F06FFD8 0FC1BD9B */ jal sub_GAME_7F06F66C -/* 0A4B0C 7F06FFDC 8E06003C */ lw $a2, 0x3c($s0) -/* 0A4B10 7F06FFE0 8FA70028 */ lw $a3, 0x28($sp) -/* 0A4B14 7F06FFE4 8FA80024 */ lw $t0, 0x24($sp) -/* 0A4B18 7F06FFE8 A6020032 */ sh $v0, 0x32($s0) -/* 0A4B1C 7F06FFEC 86040032 */ lh $a0, 0x32($s0) -/* 0A4B20 7F06FFF0 86030030 */ lh $v1, 0x30($s0) -/* 0A4B24 7F06FFF4 14830007 */ bne $a0, $v1, .L7F070014 -/* 0A4B28 7F06FFF8 00000000 */ nop -/* 0A4B2C 7F06FFFC 44835000 */ mtc1 $v1, $f10 -/* 0A4B30 7F070000 44804000 */ mtc1 $zero, $f8 -/* 0A4B34 7F070004 46805420 */ cvt.s.w $f16, $f10 -/* 0A4B38 7F070008 E608002C */ swc1 $f8, 0x2c($s0) -/* 0A4B3C 7F07000C 1000001B */ b .L7F07007C -/* 0A4B40 7F070010 E6100028 */ swc1 $f16, 0x28($s0) -.L7F070014: -/* 0A4B44 7F070014 1100000B */ beqz $t0, .L7F070044 -/* 0A4B48 7F070018 8FAE002C */ lw $t6, 0x2c($sp) -/* 0A4B4C 7F07001C 448E2000 */ mtc1 $t6, $f4 -/* 0A4B50 7F070020 44834000 */ mtc1 $v1, $f8 -/* 0A4B54 7F070024 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 0A4B58 7F070028 468021A0 */ cvt.s.w $f6, $f4 -/* 0A4B5C 7F07002C 468042A0 */ cvt.s.w $f10, $f8 -/* 0A4B60 7F070030 46069001 */ sub.s $f0, $f18, $f6 -/* 0A4B64 7F070034 46005400 */ add.s $f16, $f10, $f0 -/* 0A4B68 7F070038 E600002C */ swc1 $f0, 0x2c($s0) -/* 0A4B6C 7F07003C 1000000F */ b .L7F07007C -/* 0A4B70 7F070040 E6100028 */ swc1 $f16, 0x28($s0) -.L7F070044: -/* 0A4B74 7F070044 44879000 */ mtc1 $a3, $f18 -/* 0A4B78 7F070048 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 0A4B7C 7F07004C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A4B80 7F070050 468091A0 */ cvt.s.w $f6, $f18 -/* 0A4B84 7F070054 44811000 */ mtc1 $at, $f2 -/* 0A4B88 7F070058 44845000 */ mtc1 $a0, $f10 -/* 0A4B8C 7F07005C 00000000 */ nop -/* 0A4B90 7F070060 46805420 */ cvt.s.w $f16, $f10 -/* 0A4B94 7F070064 46062201 */ sub.s $f8, $f4, $f6 -/* 0A4B98 7F070068 46081001 */ sub.s $f0, $f2, $f8 -/* 0A4B9C 7F07006C 46001481 */ sub.s $f18, $f2, $f0 -/* 0A4BA0 7F070070 E600002C */ swc1 $f0, 0x2c($s0) -/* 0A4BA4 7F070074 46128100 */ add.s $f4, $f16, $f18 -/* 0A4BA8 7F070078 E6040028 */ swc1 $f4, 0x28($s0) -.L7F07007C: -/* 0A4BAC 7F07007C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A4BB0 7F070080 8FB00018 */ lw $s0, 0x18($sp) -/* 0A4BB4 7F070084 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0A4BB8 7F070088 03E00008 */ jr $ra -/* 0A4BBC 7F07008C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F070090(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F070090 -/* 0A4BC0 7F070090 44856000 */ mtc1 $a1, $f12 -/* 0A4BC4 7F070094 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A4BC8 7F070098 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A4BCC 7F07009C AFB00018 */ sw $s0, 0x18($sp) -/* 0A4BD0 7F0700A0 44056000 */ mfc1 $a1, $f12 -/* 0A4BD4 7F0700A4 00808025 */ move $s0, $a0 -/* 0A4BD8 7F0700A8 0FC1BFD9 */ jal sub_GAME_7F06FF64 -/* 0A4BDC 7F0700AC AFA60038 */ sw $a2, 0x38($sp) -/* 0A4BE0 7F0700B0 8E0E0054 */ lw $t6, 0x54($s0) -/* 0A4BE4 7F0700B4 51C00043 */ beql $t6, $zero, .L7F0701C4 -/* 0A4BE8 7F0700B8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A4BEC 7F0700BC 0FC170F6 */ jal sub_GAME_7F05C3D8 -/* 0A4BF0 7F0700C0 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 0A4BF4 7F0700C4 C6040070 */ lwc1 $f4, 0x70($s0) -/* 0A4BF8 7F0700C8 44803000 */ mtc1 $zero, $f6 -/* 0A4BFC 7F0700CC 00402025 */ move $a0, $v0 -/* 0A4C00 7F0700D0 00004025 */ move $t0, $zero -/* 0A4C04 7F0700D4 4604303E */ c.le.s $f6, $f4 -/* 0A4C08 7F0700D8 2447FFFF */ addiu $a3, $v0, -1 -/* 0A4C0C 7F0700DC 45000002 */ bc1f .L7F0700E8 -/* 0A4C10 7F0700E0 00000000 */ nop -/* 0A4C14 7F0700E4 24080001 */ li $t0, 1 -.L7F0700E8: -/* 0A4C18 7F0700E8 11000003 */ beqz $t0, .L7F0700F8 -/* 0A4C1C 7F0700EC 00000000 */ nop -/* 0A4C20 7F0700F0 10000001 */ b .L7F0700F8 -/* 0A4C24 7F0700F4 24470001 */ addiu $a3, $v0, 1 -.L7F0700F8: -/* 0A4C28 7F0700F8 8E050054 */ lw $a1, 0x54($s0) -/* 0A4C2C 7F0700FC 8E06006C */ lw $a2, 0x6c($s0) -/* 0A4C30 7F070100 AFA80024 */ sw $t0, 0x24($sp) -/* 0A4C34 7F070104 AFA70028 */ sw $a3, 0x28($sp) -/* 0A4C38 7F070108 0FC1BD9B */ jal sub_GAME_7F06F66C -/* 0A4C3C 7F07010C AFA4002C */ sw $a0, 0x2c($sp) -/* 0A4C40 7F070110 8FA40028 */ lw $a0, 0x28($sp) -/* 0A4C44 7F070114 A6020060 */ sh $v0, 0x60($s0) -/* 0A4C48 7F070118 8E050054 */ lw $a1, 0x54($s0) -/* 0A4C4C 7F07011C 0FC1BD9B */ jal sub_GAME_7F06F66C -/* 0A4C50 7F070120 8E06006C */ lw $a2, 0x6c($s0) -/* 0A4C54 7F070124 8FA70028 */ lw $a3, 0x28($sp) -/* 0A4C58 7F070128 8FA80024 */ lw $t0, 0x24($sp) -/* 0A4C5C 7F07012C A6020062 */ sh $v0, 0x62($s0) -/* 0A4C60 7F070130 86040062 */ lh $a0, 0x62($s0) -/* 0A4C64 7F070134 86030060 */ lh $v1, 0x60($s0) -/* 0A4C68 7F070138 14830007 */ bne $a0, $v1, .L7F070158 -/* 0A4C6C 7F07013C 00000000 */ nop -/* 0A4C70 7F070140 44835000 */ mtc1 $v1, $f10 -/* 0A4C74 7F070144 44804000 */ mtc1 $zero, $f8 -/* 0A4C78 7F070148 46805420 */ cvt.s.w $f16, $f10 -/* 0A4C7C 7F07014C E608005C */ swc1 $f8, 0x5c($s0) -/* 0A4C80 7F070150 1000001B */ b .L7F0701C0 -/* 0A4C84 7F070154 E6100058 */ swc1 $f16, 0x58($s0) -.L7F070158: -/* 0A4C88 7F070158 1100000B */ beqz $t0, .L7F070188 -/* 0A4C8C 7F07015C 8FAF002C */ lw $t7, 0x2c($sp) -/* 0A4C90 7F070160 448F2000 */ mtc1 $t7, $f4 -/* 0A4C94 7F070164 44834000 */ mtc1 $v1, $f8 -/* 0A4C98 7F070168 C7B20038 */ lwc1 $f18, 0x38($sp) -/* 0A4C9C 7F07016C 468021A0 */ cvt.s.w $f6, $f4 -/* 0A4CA0 7F070170 468042A0 */ cvt.s.w $f10, $f8 -/* 0A4CA4 7F070174 46069001 */ sub.s $f0, $f18, $f6 -/* 0A4CA8 7F070178 46005400 */ add.s $f16, $f10, $f0 -/* 0A4CAC 7F07017C E600005C */ swc1 $f0, 0x5c($s0) -/* 0A4CB0 7F070180 1000000F */ b .L7F0701C0 -/* 0A4CB4 7F070184 E6100058 */ swc1 $f16, 0x58($s0) -.L7F070188: -/* 0A4CB8 7F070188 44879000 */ mtc1 $a3, $f18 -/* 0A4CBC 7F07018C C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0A4CC0 7F070190 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A4CC4 7F070194 468091A0 */ cvt.s.w $f6, $f18 -/* 0A4CC8 7F070198 44811000 */ mtc1 $at, $f2 -/* 0A4CCC 7F07019C 44845000 */ mtc1 $a0, $f10 -/* 0A4CD0 7F0701A0 00000000 */ nop -/* 0A4CD4 7F0701A4 46805420 */ cvt.s.w $f16, $f10 -/* 0A4CD8 7F0701A8 46062201 */ sub.s $f8, $f4, $f6 -/* 0A4CDC 7F0701AC 46081001 */ sub.s $f0, $f2, $f8 -/* 0A4CE0 7F0701B0 46001481 */ sub.s $f18, $f2, $f0 -/* 0A4CE4 7F0701B4 E600005C */ swc1 $f0, 0x5c($s0) -/* 0A4CE8 7F0701B8 46128100 */ add.s $f4, $f16, $f18 -/* 0A4CEC 7F0701BC E6040058 */ swc1 $f4, 0x58($s0) -.L7F0701C0: -/* 0A4CF0 7F0701C0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0701C4: -/* 0A4CF4 7F0701C4 8FB00018 */ lw $s0, 0x18($sp) -/* 0A4CF8 7F0701C8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0A4CFC 7F0701CC 03E00008 */ jr $ra -/* 0A4D00 7F0701D0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0701D4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0701D4 -/* 0A4D04 7F0701D4 3C018003 */ lui $at, %hi(D_80036250) -/* 0A4D08 7F0701D8 03E00008 */ jr $ra -/* 0A4D0C 7F0701DC AC246250 */ sw $a0, %lo(D_80036250)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0701E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0701E0 -/* 0A4D10 7F0701E0 3C028003 */ lui $v0, %hi(D_80036250) -/* 0A4D14 7F0701E4 03E00008 */ jr $ra -/* 0A4D18 7F0701E8 8C426250 */ lw $v0, %lo(D_80036250)($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0701EC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054D4C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F0701EC -/* 0A4D1C 7F0701EC 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 0A4D20 7F0701F0 AFBF005C */ sw $ra, 0x5c($sp) -/* 0A4D24 7F0701F4 AFB30058 */ sw $s3, 0x58($sp) -/* 0A4D28 7F0701F8 AFB20054 */ sw $s2, 0x54($sp) -/* 0A4D2C 7F0701FC AFB10050 */ sw $s1, 0x50($sp) -/* 0A4D30 7F070200 AFB0004C */ sw $s0, 0x4c($sp) -/* 0A4D34 7F070204 F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 0A4D38 7F070208 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 0A4D3C 7F07020C F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0A4D40 7F070210 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0A4D44 7F070214 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0A4D48 7F070218 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0A4D4C 7F07021C AFA60100 */ sw $a2, 0x100($sp) -/* 0A4D50 7F070220 AFA70104 */ sw $a3, 0x104($sp) -/* 0A4D54 7F070224 8C8E0008 */ lw $t6, 8($a0) -/* 0A4D58 7F070228 4485A000 */ mtc1 $a1, $f20 -/* 0A4D5C 7F07022C 24010001 */ li $at, 1 -/* 0A4D60 7F070230 8DC50000 */ lw $a1, ($t6) -/* 0A4D64 7F070234 00808825 */ move $s1, $a0 -/* 0A4D68 7F070238 94A20000 */ lhu $v0, ($a1) -/* 0A4D6C 7F07023C 304F00FF */ andi $t7, $v0, 0xff -/* 0A4D70 7F070240 55E10218 */ bnel $t7, $at, .L7F070AA4 -/* 0A4D74 7F070244 C7B40108 */ lwc1 $f20, 0x108($sp) -/* 0A4D78 7F070248 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A4D7C 7F07024C 8CB20004 */ lw $s2, 4($a1) -/* 0A4D80 7F070250 80580000 */ lb $t8, ($v0) -/* 0A4D84 7F070254 00408025 */ move $s0, $v0 -/* 0A4D88 7F070258 5700020A */ bnezl $t8, .L7F070A84 -/* 0A4D8C 7F07025C C7B40108 */ lwc1 $f20, 0x108($sp) -/* 0A4D90 7F070260 96590000 */ lhu $t9, ($s2) -/* 0A4D94 7F070264 3C0B8003 */ lui $t3, %hi(D_80036254) -/* 0A4D98 7F070268 256B6254 */ addiu $t3, %lo(D_80036254) # addiu $t3, $t3, 0x6254 -/* 0A4D9C 7F07026C AFB900E4 */ sw $t9, 0xe4($sp) -/* 0A4DA0 7F070270 8E280008 */ lw $t0, 8($s1) -/* 0A4DA4 7F070274 27AA00C8 */ addiu $t2, $sp, 0xc8 -/* 0A4DA8 7F070278 4480C000 */ mtc1 $zero, $f24 -/* 0A4DAC 7F07027C 8D090004 */ lw $t1, 4($t0) -/* 0A4DB0 7F070280 AFA900E0 */ sw $t1, 0xe0($sp) -/* 0A4DB4 7F070284 C62600B8 */ lwc1 $f6, 0xb8($s1) -/* 0A4DB8 7F070288 C6240014 */ lwc1 $f4, 0x14($s1) -/* 0A4DBC 7F07028C 46062202 */ mul.s $f8, $f4, $f6 -/* 0A4DC0 7F070290 E7A800DC */ swc1 $f8, 0xdc($sp) -/* 0A4DC4 7F070294 8D610000 */ lw $at, ($t3) -/* 0A4DC8 7F070298 8D6E0004 */ lw $t6, 4($t3) -/* 0A4DCC 7F07029C AD410000 */ sw $at, ($t2) -/* 0A4DD0 7F0702A0 8D610008 */ lw $at, 8($t3) -/* 0A4DD4 7F0702A4 AD4E0004 */ sw $t6, 4($t2) -/* 0A4DD8 7F0702A8 AD410008 */ sw $at, 8($t2) -/* 0A4DDC 7F0702AC C44A0034 */ lwc1 $f10, 0x34($v0) -/* 0A4DE0 7F0702B0 E7AA00AC */ swc1 $f10, 0xac($sp) -/* 0A4DE4 7F0702B4 C4500038 */ lwc1 $f16, 0x38($v0) -/* 0A4DE8 7F0702B8 E7B000B0 */ swc1 $f16, 0xb0($sp) -/* 0A4DEC 7F0702BC C452003C */ lwc1 $f18, 0x3c($v0) -/* 0A4DF0 7F0702C0 C7B00100 */ lwc1 $f16, 0x100($sp) -/* 0A4DF4 7F0702C4 E7B200B4 */ swc1 $f18, 0xb4($sp) -/* 0A4DF8 7F0702C8 C4440024 */ lwc1 $f4, 0x24($v0) -/* 0A4DFC 7F0702CC C45C0030 */ lwc1 $f28, 0x30($v0) -/* 0A4E00 7F0702D0 E7A4009C */ swc1 $f4, 0x9c($sp) -/* 0A4E04 7F0702D4 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0A4E08 7F0702D8 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0A4E0C 7F0702DC C448002C */ lwc1 $f8, 0x2c($v0) -/* 0A4E10 7F0702E0 E7A800A4 */ swc1 $f8, 0xa4($sp) -/* 0A4E14 7F0702E4 C44A0020 */ lwc1 $f10, 0x20($v0) -/* 0A4E18 7F0702E8 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 0A4E1C 7F0702EC 804F0001 */ lb $t7, 1($v0) -/* 0A4E20 7F0702F0 AFAF0094 */ sw $t7, 0x94($sp) -/* 0A4E24 7F0702F4 C63E0040 */ lwc1 $f30, 0x40($s1) -/* 0A4E28 7F0702F8 4618F03C */ c.lt.s $f30, $f24 -/* 0A4E2C 7F0702FC 00000000 */ nop -/* 0A4E30 7F070300 45020003 */ bc1fl .L7F070310 -/* 0A4E34 7F070304 C6200070 */ lwc1 $f0, 0x70($s1) -/* 0A4E38 7F070308 4600F787 */ neg.s $f30, $f30 -/* 0A4E3C 7F07030C C6200070 */ lwc1 $f0, 0x70($s1) -.L7F070310: -/* 0A4E40 7F070310 4618003C */ c.lt.s $f0, $f24 -/* 0A4E44 7F070314 00000000 */ nop -/* 0A4E48 7F070318 45020003 */ bc1fl .L7F070328 -/* 0A4E4C 7F07031C 4610A03E */ c.le.s $f20, $f16 -/* 0A4E50 7F070320 46000007 */ neg.s $f0, $f0 -/* 0A4E54 7F070324 4610A03E */ c.le.s $f20, $f16 -.L7F070328: -/* 0A4E58 7F070328 00009825 */ move $s3, $zero -/* 0A4E5C 7F07032C 45000002 */ bc1f .L7F070338 -/* 0A4E60 7F070330 00000000 */ nop -/* 0A4E64 7F070334 24130001 */ li $s3, 1 -.L7F070338: -/* 0A4E68 7F070338 5260000A */ beql $s3, $zero, .L7F070364 -/* 0A4E6C 7F07033C 4600A306 */ mov.s $f12, $f20 -/* 0A4E70 7F070340 4600A306 */ mov.s $f12, $f20 -/* 0A4E74 7F070344 0FC170F6 */ jal sub_GAME_7F05C3D8 -/* 0A4E78 7F070348 E7A00088 */ swc1 $f0, 0x88($sp) -/* 0A4E7C 7F07034C 24520001 */ addiu $s2, $v0, 1 -/* 0A4E80 7F070350 0FC170F6 */ jal sub_GAME_7F05C3D8 -/* 0A4E84 7F070354 C7AC0100 */ lwc1 $f12, 0x100($sp) -/* 0A4E88 7F070358 10000008 */ b .L7F07037C -/* 0A4E8C 7F07035C AFA200B8 */ sw $v0, 0xb8($sp) -/* 0A4E90 7F070360 4600A306 */ mov.s $f12, $f20 -.L7F070364: -/* 0A4E94 7F070364 0FC1712E */ jal sub_GAME_7F05C4B8 -/* 0A4E98 7F070368 E7A00088 */ swc1 $f0, 0x88($sp) -/* 0A4E9C 7F07036C 2452FFFF */ addiu $s2, $v0, -1 -/* 0A4EA0 7F070370 0FC1712E */ jal sub_GAME_7F05C4B8 -/* 0A4EA4 7F070374 C7AC0100 */ lwc1 $f12, 0x100($sp) -/* 0A4EA8 7F070378 AFA200B8 */ sw $v0, 0xb8($sp) -.L7F07037C: -/* 0A4EAC 7F07037C 3C018005 */ lui $at, %hi(D_80054D4C) -/* 0A4EB0 7F070380 8FA700B8 */ lw $a3, 0xb8($sp) -/* 0A4EB4 7F070384 C43A4D4C */ lwc1 $f26, %lo(D_80054D4C)($at) -.L7F070388: -/* 0A4EB8 7F070388 12600006 */ beqz $s3, .L7F0703A4 -/* 0A4EBC 7F07038C 0247082A */ slt $at, $s2, $a3 -/* 0A4EC0 7F070390 00F2082A */ slt $at, $a3, $s2 -/* 0A4EC4 7F070394 50200006 */ beql $at, $zero, .L7F0703B0 -/* 0A4EC8 7F070398 8E250020 */ lw $a1, 0x20($s1) -/* 0A4ECC 7F07039C 10000130 */ b .L7F070860 -/* 0A4ED0 7F0703A0 C7A600AC */ lwc1 $f6, 0xac($sp) -.L7F0703A4: -/* 0A4ED4 7F0703A4 5420012E */ bnezl $at, .L7F070860 -/* 0A4ED8 7F0703A8 C7A600AC */ lwc1 $f6, 0xac($sp) -/* 0A4EDC 7F0703AC 8E250020 */ lw $a1, 0x20($s1) -.L7F0703B0: -/* 0A4EE0 7F0703B0 8E26003C */ lw $a2, 0x3c($s1) -/* 0A4EE4 7F0703B4 AFA700B8 */ sw $a3, 0xb8($sp) -/* 0A4EE8 7F0703B8 0FC1BD9B */ jal sub_GAME_7F06F66C -/* 0A4EEC 7F0703BC 02402025 */ move $a0, $s2 -/* 0A4EF0 7F0703C0 A6220030 */ sh $v0, 0x30($s1) -/* 0A4EF4 7F0703C4 8FB80094 */ lw $t8, 0x94($sp) -/* 0A4EF8 7F0703C8 00401825 */ move $v1, $v0 -/* 0A4EFC 7F0703CC 8FA600E0 */ lw $a2, 0xe0($sp) -/* 0A4F00 7F0703D0 1300000E */ beqz $t8, .L7F07040C -/* 0A4F04 7F0703D4 8FA400E4 */ lw $a0, 0xe4($sp) -/* 0A4F08 7F0703D8 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 0A4F0C 7F0703DC C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0A4F10 7F0703E0 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0A4F14 7F0703E4 E7B200AC */ swc1 $f18, 0xac($sp) -/* 0A4F18 7F0703E8 E7A400B0 */ swc1 $f4, 0xb0($sp) -/* 0A4F1C 7F0703EC E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 0A4F20 7F0703F0 C6080018 */ lwc1 $f8, 0x18($s0) -/* 0A4F24 7F0703F4 4608C032 */ c.eq.s $f24, $f8 -/* 0A4F28 7F0703F8 00000000 */ nop -/* 0A4F2C 7F0703FC 45000046 */ bc1f .L7F070518 -/* 0A4F30 7F070400 00000000 */ nop -/* 0A4F34 7F070404 10000044 */ b .L7F070518 -/* 0A4F38 7F070408 C7BC0098 */ lwc1 $f28, 0x98($sp) -.L7F07040C: -/* 0A4F3C 7F07040C 82250024 */ lb $a1, 0x24($s1) -/* 0A4F40 7F070410 8E270020 */ lw $a3, 0x20($s1) -/* 0A4F44 7F070414 27B900C8 */ addiu $t9, $sp, 0xc8 -/* 0A4F48 7F070418 AFB90014 */ sw $t9, 0x14($sp) -/* 0A4F4C 7F07041C 0FC1B4FD */ jal sub_GAME_7F06D3F4 -/* 0A4F50 7F070420 AFA30010 */ sw $v1, 0x10($sp) -/* 0A4F54 7F070424 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A4F58 7F070428 44818000 */ mtc1 $at, $f16 -/* 0A4F5C 7F07042C C7AA00DC */ lwc1 $f10, 0xdc($sp) -/* 0A4F60 7F070430 46000586 */ mov.s $f22, $f0 -/* 0A4F64 7F070434 C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 0A4F68 7F070438 46105032 */ c.eq.s $f10, $f16 -/* 0A4F6C 7F07043C C7B200CC */ lwc1 $f18, 0xcc($sp) -/* 0A4F70 7F070440 4503000A */ bc1tl .L7F07046C -/* 0A4F74 7F070444 C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 0A4F78 7F070448 460A1082 */ mul.s $f2, $f2, $f10 -/* 0A4F7C 7F07044C C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 0A4F80 7F070450 460A9102 */ mul.s $f4, $f18, $f10 -/* 0A4F84 7F070454 00000000 */ nop -/* 0A4F88 7F070458 460A6302 */ mul.s $f12, $f12, $f10 -/* 0A4F8C 7F07045C E7A200C8 */ swc1 $f2, 0xc8($sp) -/* 0A4F90 7F070460 E7A400CC */ swc1 $f4, 0xcc($sp) -/* 0A4F94 7F070464 E7AC00D0 */ swc1 $f12, 0xd0($sp) -/* 0A4F98 7F070468 C7A200C8 */ lwc1 $f2, 0xc8($sp) -.L7F07046C: -/* 0A4F9C 7F07046C 16600008 */ bnez $s3, .L7F070490 -/* 0A4FA0 7F070470 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 0A4FA4 7F070474 4600C03C */ c.lt.s $f24, $f0 -/* 0A4FA8 7F070478 46001087 */ neg.s $f2, $f2 -/* 0A4FAC 7F07047C 46006307 */ neg.s $f12, $f12 -/* 0A4FB0 7F070480 E7A200C8 */ swc1 $f2, 0xc8($sp) -/* 0A4FB4 7F070484 45000002 */ bc1f .L7F070490 -/* 0A4FB8 7F070488 E7AC00D0 */ swc1 $f12, 0xd0($sp) -/* 0A4FBC 7F07048C 4600D581 */ sub.s $f22, $f26, $f0 -.L7F070490: -/* 0A4FC0 7F070490 0FC15FA8 */ jal cosf -/* 0A4FC4 7F070494 C60C0014 */ lwc1 $f12, 0x14($s0) -/* 0A4FC8 7F070498 46000506 */ mov.s $f20, $f0 -/* 0A4FCC 7F07049C 0FC15FAB */ jal sinf -/* 0A4FD0 7F0704A0 C60C0014 */ lwc1 $f12, 0x14($s0) -/* 0A4FD4 7F0704A4 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 0A4FD8 7F0704A8 C7B000D0 */ lwc1 $f16, 0xd0($sp) -/* 0A4FDC 7F0704AC C7AA00AC */ lwc1 $f10, 0xac($sp) -/* 0A4FE0 7F0704B0 46143202 */ mul.s $f8, $f6, $f20 -/* 0A4FE4 7F0704B4 00000000 */ nop -/* 0A4FE8 7F0704B8 46008482 */ mul.s $f18, $f16, $f0 -/* 0A4FEC 7F0704BC 46124100 */ add.s $f4, $f8, $f18 -/* 0A4FF0 7F0704C0 C7B200CC */ lwc1 $f18, 0xcc($sp) -/* 0A4FF4 7F0704C4 46045200 */ add.s $f8, $f10, $f4 -/* 0A4FF8 7F0704C8 E7B200B0 */ swc1 $f18, 0xb0($sp) -/* 0A4FFC 7F0704CC 46003287 */ neg.s $f10, $f6 -/* 0A5000 7F0704D0 E7A800AC */ swc1 $f8, 0xac($sp) -/* 0A5004 7F0704D4 46005102 */ mul.s $f4, $f10, $f0 -/* 0A5008 7F0704D8 C7A600B4 */ lwc1 $f6, 0xb4($sp) -/* 0A500C 7F0704DC 46148202 */ mul.s $f8, $f16, $f20 -/* 0A5010 7F0704E0 46082480 */ add.s $f18, $f4, $f8 -/* 0A5014 7F0704E4 46123280 */ add.s $f10, $f6, $f18 -/* 0A5018 7F0704E8 E7AA00B4 */ swc1 $f10, 0xb4($sp) -/* 0A501C 7F0704EC C6100018 */ lwc1 $f16, 0x18($s0) -/* 0A5020 7F0704F0 4610C032 */ c.eq.s $f24, $f16 -/* 0A5024 7F0704F4 00000000 */ nop -/* 0A5028 7F0704F8 45000007 */ bc1f .L7F070518 -/* 0A502C 7F0704FC 00000000 */ nop -/* 0A5030 7F070500 4616E700 */ add.s $f28, $f28, $f22 -/* 0A5034 7F070504 461CD03E */ c.le.s $f26, $f28 -/* 0A5038 7F070508 00000000 */ nop -/* 0A503C 7F07050C 45000002 */ bc1f .L7F070518 -/* 0A5040 7F070510 00000000 */ nop -/* 0A5044 7F070514 461AE701 */ sub.s $f28, $f28, $f26 -.L7F070518: -/* 0A5048 7F070518 52600004 */ beql $s3, $zero, .L7F07052C -/* 0A504C 7F07051C 2652FFFF */ addiu $s2, $s2, -1 -/* 0A5050 7F070520 10000002 */ b .L7F07052C -/* 0A5054 7F070524 26520001 */ addiu $s2, $s2, 1 -/* 0A5058 7F070528 2652FFFF */ addiu $s2, $s2, -1 -.L7F07052C: -/* 0A505C 7F07052C 02402025 */ move $a0, $s2 -/* 0A5060 7F070530 8E250020 */ lw $a1, 0x20($s1) -/* 0A5064 7F070534 0FC1BD9B */ jal sub_GAME_7F06F66C -/* 0A5068 7F070538 8E26003C */ lw $a2, 0x3c($s1) -/* 0A506C 7F07053C A6220032 */ sh $v0, 0x32($s1) -/* 0A5070 7F070540 86290032 */ lh $t1, 0x32($s1) -/* 0A5074 7F070544 86280030 */ lh $t0, 0x30($s1) -/* 0A5078 7F070548 8FA600E0 */ lw $a2, 0xe0($sp) -/* 0A507C 7F07054C 8FA400E4 */ lw $a0, 0xe4($sp) -/* 0A5080 7F070550 110900C0 */ beq $t0, $t1, .L7F070854 -/* 0A5084 7F070554 27AD00C8 */ addiu $t5, $sp, 0xc8 -/* 0A5088 7F070558 82250024 */ lb $a1, 0x24($s1) -/* 0A508C 7F07055C 8E270020 */ lw $a3, 0x20($s1) -/* 0A5090 7F070560 240C0001 */ li $t4, 1 -/* 0A5094 7F070564 AFAC0094 */ sw $t4, 0x94($sp) -/* 0A5098 7F070568 AFAD0014 */ sw $t5, 0x14($sp) -/* 0A509C 7F07056C 0FC1B4FD */ jal sub_GAME_7F06D3F4 -/* 0A50A0 7F070570 AFA20010 */ sw $v0, 0x10($sp) -/* 0A50A4 7F070574 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A50A8 7F070578 44814000 */ mtc1 $at, $f8 -/* 0A50AC 7F07057C C7A400DC */ lwc1 $f4, 0xdc($sp) -/* 0A50B0 7F070580 46000586 */ mov.s $f22, $f0 -/* 0A50B4 7F070584 C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 0A50B8 7F070588 46082032 */ c.eq.s $f4, $f8 -/* 0A50BC 7F07058C C7A600CC */ lwc1 $f6, 0xcc($sp) -/* 0A50C0 7F070590 4503000A */ bc1tl .L7F0705BC -/* 0A50C4 7F070594 C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 0A50C8 7F070598 46041082 */ mul.s $f2, $f2, $f4 -/* 0A50CC 7F07059C C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 0A50D0 7F0705A0 46043482 */ mul.s $f18, $f6, $f4 -/* 0A50D4 7F0705A4 00000000 */ nop -/* 0A50D8 7F0705A8 46046302 */ mul.s $f12, $f12, $f4 -/* 0A50DC 7F0705AC E7A200C8 */ swc1 $f2, 0xc8($sp) -/* 0A50E0 7F0705B0 E7B200CC */ swc1 $f18, 0xcc($sp) -/* 0A50E4 7F0705B4 E7AC00D0 */ swc1 $f12, 0xd0($sp) -/* 0A50E8 7F0705B8 C7A200C8 */ lwc1 $f2, 0xc8($sp) -.L7F0705BC: -/* 0A50EC 7F0705BC 16600008 */ bnez $s3, .L7F0705E0 -/* 0A50F0 7F0705C0 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 0A50F4 7F0705C4 4600C03C */ c.lt.s $f24, $f0 -/* 0A50F8 7F0705C8 46001087 */ neg.s $f2, $f2 -/* 0A50FC 7F0705CC 46006307 */ neg.s $f12, $f12 -/* 0A5100 7F0705D0 E7A200C8 */ swc1 $f2, 0xc8($sp) -/* 0A5104 7F0705D4 45000002 */ bc1f .L7F0705E0 -/* 0A5108 7F0705D8 E7AC00D0 */ swc1 $f12, 0xd0($sp) -/* 0A510C 7F0705DC 4600D581 */ sub.s $f22, $f26, $f0 -.L7F0705E0: -/* 0A5110 7F0705E0 0FC15FA8 */ jal cosf -/* 0A5114 7F0705E4 C60C0030 */ lwc1 $f12, 0x30($s0) -/* 0A5118 7F0705E8 46000506 */ mov.s $f20, $f0 -/* 0A511C 7F0705EC 0FC15FAB */ jal sinf -/* 0A5120 7F0705F0 C60C0030 */ lwc1 $f12, 0x30($s0) -/* 0A5124 7F0705F4 3C0A8003 */ lui $t2, %hi(D_80036250) -/* 0A5128 7F0705F8 8D4A6250 */ lw $t2, %lo(D_80036250)($t2) -/* 0A512C 7F0705FC C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 0A5130 7F070600 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 0A5134 7F070604 11400056 */ beqz $t2, .L7F070760 -/* 0A5138 7F070608 00000000 */ nop -/* 0A513C 7F07060C 8E2B0054 */ lw $t3, 0x54($s1) -/* 0A5140 7F070610 11600053 */ beqz $t3, .L7F070760 -/* 0A5144 7F070614 00000000 */ nop -/* 0A5148 7F070618 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 0A514C 7F07061C C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 0A5150 7F070620 461EC03C */ c.lt.s $f24, $f30 -/* 0A5154 7F070624 46006282 */ mul.s $f10, $f12, $f0 -/* 0A5158 7F070628 46001187 */ neg.s $f6, $f2 -/* 0A515C 7F07062C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A5160 7F070630 46141402 */ mul.s $f16, $f2, $f20 -/* 0A5164 7F070634 00000000 */ nop -/* 0A5168 7F070638 46146102 */ mul.s $f4, $f12, $f20 -/* 0A516C 7F07063C 00000000 */ nop -/* 0A5170 7F070640 46003482 */ mul.s $f18, $f6, $f0 -/* 0A5174 7F070644 46105200 */ add.s $f8, $f10, $f16 -/* 0A5178 7F070648 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 0A517C 7F07064C 46122280 */ add.s $f10, $f4, $f18 -/* 0A5180 7F070650 45000028 */ bc1f .L7F0706F4 -/* 0A5184 7F070654 E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 0A5188 7F070658 C6280088 */ lwc1 $f8, 0x88($s1) -/* 0A518C 7F07065C C63000A4 */ lwc1 $f16, 0xa4($s1) -/* 0A5190 7F070660 C6220084 */ lwc1 $f2, 0x84($s1) -/* 0A5194 7F070664 4608F182 */ mul.s $f6, $f30, $f8 -/* 0A5198 7F070668 46068103 */ div.s $f4, $f16, $f6 -/* 0A519C 7F07066C 46041001 */ sub.s $f0, $f2, $f4 -/* 0A51A0 7F070670 4618003C */ c.lt.s $f0, $f24 -/* 0A51A4 7F070674 00000000 */ nop -/* 0A51A8 7F070678 45020003 */ bc1fl .L7F070688 -/* 0A51AC 7F07067C 46001480 */ add.s $f18, $f2, $f0 -/* 0A51B0 7F070680 4600C006 */ mov.s $f0, $f24 -/* 0A51B4 7F070684 46001480 */ add.s $f18, $f2, $f0 -.L7F070688: -/* 0A51B8 7F070688 C6080040 */ lwc1 $f8, 0x40($s0) -/* 0A51BC 7F07068C C610004C */ lwc1 $f16, 0x4c($s0) -/* 0A51C0 7F070690 44815000 */ mtc1 $at, $f10 -/* 0A51C4 7F070694 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0A51C8 7F070698 46104181 */ sub.s $f6, $f8, $f16 -/* 0A51CC 7F07069C 460A9002 */ mul.s $f0, $f18, $f10 -/* 0A51D0 7F0706A0 00000000 */ nop -/* 0A51D4 7F0706A4 46043482 */ mul.s $f18, $f6, $f4 -/* 0A51D8 7F0706A8 461E9283 */ div.s $f10, $f18, $f30 -/* 0A51DC 7F0706AC E7AA007C */ swc1 $f10, 0x7c($sp) -/* 0A51E0 7F0706B0 C6100054 */ lwc1 $f16, 0x54($s0) -/* 0A51E4 7F0706B4 C6080048 */ lwc1 $f8, 0x48($s0) -/* 0A51E8 7F0706B8 46104181 */ sub.s $f6, $f8, $f16 -/* 0A51EC 7F0706BC C7B0009C */ lwc1 $f16, 0x9c($sp) -/* 0A51F0 7F0706C0 46043482 */ mul.s $f18, $f6, $f4 -/* 0A51F4 7F0706C4 46105181 */ sub.s $f6, $f10, $f16 -/* 0A51F8 7F0706C8 C7AA00A4 */ lwc1 $f10, 0xa4($sp) -/* 0A51FC 7F0706CC 46003102 */ mul.s $f4, $f6, $f0 -/* 0A5200 7F0706D0 461E9203 */ div.s $f8, $f18, $f30 -/* 0A5204 7F0706D4 46048480 */ add.s $f18, $f16, $f4 -/* 0A5208 7F0706D8 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 0A520C 7F0706DC 460A4181 */ sub.s $f6, $f8, $f10 -/* 0A5210 7F0706E0 E7A80084 */ swc1 $f8, 0x84($sp) -/* 0A5214 7F0706E4 46003402 */ mul.s $f16, $f6, $f0 -/* 0A5218 7F0706E8 46105100 */ add.s $f4, $f10, $f16 -/* 0A521C 7F0706EC 10000011 */ b .L7F070734 -/* 0A5220 7F0706F0 E7A400A4 */ swc1 $f4, 0xa4($sp) -.L7F0706F4: -/* 0A5224 7F0706F4 C6120040 */ lwc1 $f18, 0x40($s0) -/* 0A5228 7F0706F8 C608004C */ lwc1 $f8, 0x4c($s0) -/* 0A522C 7F0706FC C62A0084 */ lwc1 $f10, 0x84($s1) -/* 0A5230 7F070700 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0A5234 7F070704 46089181 */ sub.s $f6, $f18, $f8 -/* 0A5238 7F070708 460A3402 */ mul.s $f16, $f6, $f10 -/* 0A523C 7F07070C 46102480 */ add.s $f18, $f4, $f16 -/* 0A5240 7F070710 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 0A5244 7F070714 C6060054 */ lwc1 $f6, 0x54($s0) -/* 0A5248 7F070718 C6080048 */ lwc1 $f8, 0x48($s0) -/* 0A524C 7F07071C C6240084 */ lwc1 $f4, 0x84($s1) -/* 0A5250 7F070720 C7B200A4 */ lwc1 $f18, 0xa4($sp) -/* 0A5254 7F070724 46064281 */ sub.s $f10, $f8, $f6 -/* 0A5258 7F070728 46045402 */ mul.s $f16, $f10, $f4 -/* 0A525C 7F07072C 46109200 */ add.s $f8, $f18, $f16 -/* 0A5260 7F070730 E7A800A4 */ swc1 $f8, 0xa4($sp) -.L7F070734: -/* 0A5264 7F070734 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0A5268 7F070738 C7AA00AC */ lwc1 $f10, 0xac($sp) -/* 0A526C 7F07073C C7B200A4 */ lwc1 $f18, 0xa4($sp) -/* 0A5270 7F070740 C7B000B4 */ lwc1 $f16, 0xb4($sp) -/* 0A5274 7F070744 460A3100 */ add.s $f4, $f6, $f10 -/* 0A5278 7F070748 C7A600CC */ lwc1 $f6, 0xcc($sp) -/* 0A527C 7F07074C 46109200 */ add.s $f8, $f18, $f16 -/* 0A5280 7F070750 E7A4009C */ swc1 $f4, 0x9c($sp) -/* 0A5284 7F070754 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0A5288 7F070758 1000000F */ b .L7F070798 -/* 0A528C 7F07075C E7A800A4 */ swc1 $f8, 0xa4($sp) -.L7F070760: -/* 0A5290 7F070760 46141102 */ mul.s $f4, $f2, $f20 -/* 0A5294 7F070764 C7AA00AC */ lwc1 $f10, 0xac($sp) -/* 0A5298 7F070768 C7A600CC */ lwc1 $f6, 0xcc($sp) -/* 0A529C 7F07076C 46006402 */ mul.s $f16, $f12, $f0 -/* 0A52A0 7F070770 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0A52A4 7F070774 46045480 */ add.s $f18, $f10, $f4 -/* 0A52A8 7F070778 46001102 */ mul.s $f4, $f2, $f0 -/* 0A52AC 7F07077C C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 0A52B0 7F070780 46128200 */ add.s $f8, $f16, $f18 -/* 0A52B4 7F070784 46146482 */ mul.s $f18, $f12, $f20 -/* 0A52B8 7F070788 46045401 */ sub.s $f16, $f10, $f4 -/* 0A52BC 7F07078C E7A8009C */ swc1 $f8, 0x9c($sp) -/* 0A52C0 7F070790 46109200 */ add.s $f8, $f18, $f16 -/* 0A52C4 7F070794 E7A800A4 */ swc1 $f8, 0xa4($sp) -.L7F070798: -/* 0A52C8 7F070798 C600005C */ lwc1 $f0, 0x5c($s0) -/* 0A52CC 7F07079C 4600C03C */ c.lt.s $f24, $f0 -/* 0A52D0 7F0707A0 00000000 */ nop -/* 0A52D4 7F0707A4 45020020 */ bc1fl .L7F070828 -/* 0A52D8 7F0707A8 C6100018 */ lwc1 $f16, 0x18($s0) -/* 0A52DC 7F0707AC 461EC03C */ c.lt.s $f24, $f30 -/* 0A52E0 7F0707B0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A52E4 7F0707B4 4502001C */ bc1fl .L7F070828 -/* 0A52E8 7F0707B8 C6100018 */ lwc1 $f16, 0x18($s0) -/* 0A52EC 7F0707BC 44813000 */ mtc1 $at, $f6 -/* 0A52F0 7F0707C0 00000000 */ nop -/* 0A52F4 7F0707C4 461E3083 */ div.s $f2, $f6, $f30 -/* 0A52F8 7F0707C8 4602003C */ c.lt.s $f0, $f2 -/* 0A52FC 7F0707CC 46001306 */ mov.s $f12, $f2 -/* 0A5300 7F0707D0 45020005 */ bc1fl .L7F0707E8 -/* 0A5304 7F0707D4 46020281 */ sub.s $f10, $f0, $f2 -/* 0A5308 7F0707D8 46000306 */ mov.s $f12, $f0 -/* 0A530C 7F0707DC 10000003 */ b .L7F0707EC -/* 0A5310 7F0707E0 E618005C */ swc1 $f24, 0x5c($s0) -/* 0A5314 7F0707E4 46020281 */ sub.s $f10, $f0, $f2 -.L7F0707E8: -/* 0A5318 7F0707E8 E60A005C */ swc1 $f10, 0x5c($s0) -.L7F0707EC: -/* 0A531C 7F0707EC C6040058 */ lwc1 $f4, 0x58($s0) -/* 0A5320 7F0707F0 460C2482 */ mul.s $f18, $f4, $f12 -/* 0A5324 7F0707F4 4612B580 */ add.s $f22, $f22, $f18 -/* 0A5328 7F0707F8 4618B03C */ c.lt.s $f22, $f24 -/* 0A532C 7F0707FC 00000000 */ nop -/* 0A5330 7F070800 45020004 */ bc1fl .L7F070814 -/* 0A5334 7F070804 4616D03E */ c.le.s $f26, $f22 -/* 0A5338 7F070808 10000006 */ b .L7F070824 -/* 0A533C 7F07080C 461AB580 */ add.s $f22, $f22, $f26 -/* 0A5340 7F070810 4616D03E */ c.le.s $f26, $f22 -.L7F070814: -/* 0A5344 7F070814 00000000 */ nop -/* 0A5348 7F070818 45020003 */ bc1fl .L7F070828 -/* 0A534C 7F07081C C6100018 */ lwc1 $f16, 0x18($s0) -/* 0A5350 7F070820 461AB581 */ sub.s $f22, $f22, $f26 -.L7F070824: -/* 0A5354 7F070824 C6100018 */ lwc1 $f16, 0x18($s0) -.L7F070828: -/* 0A5358 7F070828 4610C032 */ c.eq.s $f24, $f16 -/* 0A535C 7F07082C 00000000 */ nop -/* 0A5360 7F070830 45000008 */ bc1f .L7F070854 -/* 0A5364 7F070834 00000000 */ nop -/* 0A5368 7F070838 4616E000 */ add.s $f0, $f28, $f22 -/* 0A536C 7F07083C 4600D03E */ c.le.s $f26, $f0 -/* 0A5370 7F070840 E7A00098 */ swc1 $f0, 0x98($sp) -/* 0A5374 7F070844 45000003 */ bc1f .L7F070854 -/* 0A5378 7F070848 00000000 */ nop -/* 0A537C 7F07084C 461A0201 */ sub.s $f8, $f0, $f26 -/* 0A5380 7F070850 E7A80098 */ swc1 $f8, 0x98($sp) -.L7F070854: -/* 0A5384 7F070854 1000FECC */ b .L7F070388 -/* 0A5388 7F070858 8FA700B8 */ lw $a3, 0xb8($sp) -/* 0A538C 7F07085C C7A600AC */ lwc1 $f6, 0xac($sp) -.L7F070860: -/* 0A5390 7F070860 E6060034 */ swc1 $f6, 0x34($s0) -/* 0A5394 7F070864 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 0A5398 7F070868 E60A0038 */ swc1 $f10, 0x38($s0) -/* 0A539C 7F07086C C7A400B4 */ lwc1 $f4, 0xb4($sp) -/* 0A53A0 7F070870 E61C0030 */ swc1 $f28, 0x30($s0) -/* 0A53A4 7F070874 E604003C */ swc1 $f4, 0x3c($s0) -/* 0A53A8 7F070878 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 0A53AC 7F07087C E6120024 */ swc1 $f18, 0x24($s0) -/* 0A53B0 7F070880 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 0A53B4 7F070884 E6100028 */ swc1 $f16, 0x28($s0) -/* 0A53B8 7F070888 C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 0A53BC 7F07088C E608002C */ swc1 $f8, 0x2c($s0) -/* 0A53C0 7F070890 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 0A53C4 7F070894 E6060020 */ swc1 $f6, 0x20($s0) -/* 0A53C8 7F070898 86220030 */ lh $v0, 0x30($s1) -/* 0A53CC 7F07089C 86230032 */ lh $v1, 0x32($s1) -/* 0A53D0 7F0708A0 14620006 */ bne $v1, $v0, .L7F0708BC -/* 0A53D4 7F0708A4 00000000 */ nop -/* 0A53D8 7F0708A8 44825000 */ mtc1 $v0, $f10 -/* 0A53DC 7F0708AC E638002C */ swc1 $f24, 0x2c($s1) -/* 0A53E0 7F0708B0 46805120 */ cvt.s.w $f4, $f10 -/* 0A53E4 7F0708B4 10000019 */ b .L7F07091C -/* 0A53E8 7F0708B8 E6240028 */ swc1 $f4, 0x28($s1) -.L7F0708BC: -/* 0A53EC 7F0708BC 5260000C */ beql $s3, $zero, .L7F0708F0 -/* 0A53F0 7F0708C0 44878000 */ mtc1 $a3, $f16 -/* 0A53F4 7F0708C4 44878000 */ mtc1 $a3, $f16 -/* 0A53F8 7F0708C8 44823000 */ mtc1 $v0, $f6 -/* 0A53FC 7F0708CC C7B20100 */ lwc1 $f18, 0x100($sp) -/* 0A5400 7F0708D0 46808220 */ cvt.s.w $f8, $f16 -/* 0A5404 7F0708D4 468032A0 */ cvt.s.w $f10, $f6 -/* 0A5408 7F0708D8 46089001 */ sub.s $f0, $f18, $f8 -/* 0A540C 7F0708DC 46005100 */ add.s $f4, $f10, $f0 -/* 0A5410 7F0708E0 E620002C */ swc1 $f0, 0x2c($s1) -/* 0A5414 7F0708E4 1000000D */ b .L7F07091C -/* 0A5418 7F0708E8 E6240028 */ swc1 $f4, 0x28($s1) -/* 0A541C 7F0708EC 44878000 */ mtc1 $a3, $f16 -.L7F0708F0: -/* 0A5420 7F0708F0 C7A80100 */ lwc1 $f8, 0x100($sp) -/* 0A5424 7F0708F4 44833000 */ mtc1 $v1, $f6 -/* 0A5428 7F0708F8 468084A0 */ cvt.s.w $f18, $f16 -/* 0A542C 7F0708FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A5430 7F070900 44812000 */ mtc1 $at, $f4 -/* 0A5434 7F070904 468032A0 */ cvt.s.w $f10, $f6 -/* 0A5438 7F070908 46089001 */ sub.s $f0, $f18, $f8 -/* 0A543C 7F07090C 46002401 */ sub.s $f16, $f4, $f0 -/* 0A5440 7F070910 E620002C */ swc1 $f0, 0x2c($s1) -/* 0A5444 7F070914 46105480 */ add.s $f18, $f10, $f16 -/* 0A5448 7F070918 E6320028 */ swc1 $f18, 0x28($s1) -.L7F07091C: -/* 0A544C 7F07091C 8E2E0054 */ lw $t6, 0x54($s1) -/* 0A5450 7F070920 11C00055 */ beqz $t6, .L7F070A78 -/* 0A5454 7F070924 00000000 */ nop -/* 0A5458 7F070928 0FC170F6 */ jal sub_GAME_7F05C3D8 -/* 0A545C 7F07092C C7AC0104 */ lwc1 $f12, 0x104($sp) -/* 0A5460 7F070930 C7B40108 */ lwc1 $f20, 0x108($sp) -/* 0A5464 7F070934 00409025 */ move $s2, $v0 -/* 0A5468 7F070938 0FC170F6 */ jal sub_GAME_7F05C3D8 -/* 0A546C 7F07093C 4600A306 */ mov.s $f12, $f20 -/* 0A5470 7F070940 12600004 */ beqz $s3, .L7F070954 -/* 0A5474 7F070944 AFA2006C */ sw $v0, 0x6c($sp) -/* 0A5478 7F070948 0242082A */ slt $at, $s2, $v0 -/* 0A547C 7F07094C 54200006 */ bnezl $at, .L7F070968 -/* 0A5480 7F070950 820F0002 */ lb $t7, 2($s0) -.L7F070954: -/* 0A5484 7F070954 1660002C */ bnez $s3, .L7F070A08 -/* 0A5488 7F070958 0052082A */ slt $at, $v0, $s2 -/* 0A548C 7F07095C 5020002B */ beql $at, $zero, .L7F070A0C -/* 0A5490 7F070960 3C013F80 */ lui $at, 0x3f80 -/* 0A5494 7F070964 820F0002 */ lb $t7, 2($s0) -.L7F070968: -/* 0A5498 7F070968 51E00005 */ beql $t7, $zero, .L7F070980 -/* 0A549C 7F07096C C6060038 */ lwc1 $f6, 0x38($s0) -/* 0A54A0 7F070970 C6080044 */ lwc1 $f8, 0x44($s0) -/* 0A54A4 7F070974 10000003 */ b .L7F070984 -/* 0A54A8 7F070978 E6080050 */ swc1 $f8, 0x50($s0) -/* 0A54AC 7F07097C C6060038 */ lwc1 $f6, 0x38($s0) -.L7F070980: -/* 0A54B0 7F070980 E6060050 */ swc1 $f6, 0x50($s0) -.L7F070984: -/* 0A54B4 7F070984 8FA4006C */ lw $a0, 0x6c($sp) -/* 0A54B8 7F070988 8E250054 */ lw $a1, 0x54($s1) -/* 0A54BC 7F07098C 0FC1BD9B */ jal sub_GAME_7F06F66C -/* 0A54C0 7F070990 8E26006C */ lw $a2, 0x6c($s1) -/* 0A54C4 7F070994 A6220060 */ sh $v0, 0x60($s1) -/* 0A54C8 7F070998 8FA4006C */ lw $a0, 0x6c($sp) -/* 0A54CC 7F07099C 8E250054 */ lw $a1, 0x54($s1) -/* 0A54D0 7F0709A0 8E26006C */ lw $a2, 0x6c($s1) -/* 0A54D4 7F0709A4 0FC1BD9B */ jal sub_GAME_7F06F66C -/* 0A54D8 7F0709A8 24840001 */ addiu $a0, $a0, 1 -/* 0A54DC 7F0709AC A6220062 */ sh $v0, 0x62($s1) -/* 0A54E0 7F0709B0 82250025 */ lb $a1, 0x25($s1) -/* 0A54E4 7F0709B4 8E270054 */ lw $a3, 0x54($s1) -/* 0A54E8 7F0709B8 27B800C8 */ addiu $t8, $sp, 0xc8 -/* 0A54EC 7F0709BC AFB80014 */ sw $t8, 0x14($sp) -/* 0A54F0 7F0709C0 AFA20010 */ sw $v0, 0x10($sp) -/* 0A54F4 7F0709C4 8FA600E0 */ lw $a2, 0xe0($sp) -/* 0A54F8 7F0709C8 0FC1B4FD */ jal sub_GAME_7F06D3F4 -/* 0A54FC 7F0709CC 8FA400E4 */ lw $a0, 0xe4($sp) -/* 0A5500 7F0709D0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A5504 7F0709D4 44811000 */ mtc1 $at, $f2 -/* 0A5508 7F0709D8 C7AC00DC */ lwc1 $f12, 0xdc($sp) -/* 0A550C 7F0709DC C7A400CC */ lwc1 $f4, 0xcc($sp) -/* 0A5510 7F0709E0 46026032 */ c.eq.s $f12, $f2 -/* 0A5514 7F0709E4 00000000 */ nop -/* 0A5518 7F0709E8 45030004 */ bc1tl .L7F0709FC -/* 0A551C 7F0709EC C7B000CC */ lwc1 $f16, 0xcc($sp) -/* 0A5520 7F0709F0 460C2282 */ mul.s $f10, $f4, $f12 -/* 0A5524 7F0709F4 E7AA00CC */ swc1 $f10, 0xcc($sp) -/* 0A5528 7F0709F8 C7B000CC */ lwc1 $f16, 0xcc($sp) -.L7F0709FC: -/* 0A552C 7F0709FC 24190001 */ li $t9, 1 -/* 0A5530 7F070A00 A2190002 */ sb $t9, 2($s0) -/* 0A5534 7F070A04 E6100044 */ swc1 $f16, 0x44($s0) -.L7F070A08: -/* 0A5538 7F070A08 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F070A0C: -/* 0A553C 7F070A0C 44811000 */ mtc1 $at, $f2 -/* 0A5540 7F070A10 1260000C */ beqz $s3, .L7F070A44 -/* 0A5544 7F070A14 8FAD006C */ lw $t5, 0x6c($sp) -/* 0A5548 7F070A18 8FA8006C */ lw $t0, 0x6c($sp) -/* 0A554C 7F070A1C 86290060 */ lh $t1, 0x60($s1) -/* 0A5550 7F070A20 44889000 */ mtc1 $t0, $f18 -/* 0A5554 7F070A24 44893000 */ mtc1 $t1, $f6 -/* 0A5558 7F070A28 46809220 */ cvt.s.w $f8, $f18 -/* 0A555C 7F070A2C 46803120 */ cvt.s.w $f4, $f6 -/* 0A5560 7F070A30 4608A001 */ sub.s $f0, $f20, $f8 -/* 0A5564 7F070A34 46002280 */ add.s $f10, $f4, $f0 -/* 0A5568 7F070A38 E620005C */ swc1 $f0, 0x5c($s1) -/* 0A556C 7F070A3C 1000001E */ b .L7F070AB8 -/* 0A5570 7F070A40 E62A0058 */ swc1 $f10, 0x58($s1) -.L7F070A44: -/* 0A5574 7F070A44 448D8000 */ mtc1 $t5, $f16 -/* 0A5578 7F070A48 862C0062 */ lh $t4, 0x62($s1) -/* 0A557C 7F070A4C 468084A0 */ cvt.s.w $f18, $f16 -/* 0A5580 7F070A50 448C3000 */ mtc1 $t4, $f6 -/* 0A5584 7F070A54 00000000 */ nop -/* 0A5588 7F070A58 46803120 */ cvt.s.w $f4, $f6 -/* 0A558C 7F070A5C 4612A201 */ sub.s $f8, $f20, $f18 -/* 0A5590 7F070A60 46081001 */ sub.s $f0, $f2, $f8 -/* 0A5594 7F070A64 46001281 */ sub.s $f10, $f2, $f0 -/* 0A5598 7F070A68 E620005C */ swc1 $f0, 0x5c($s1) -/* 0A559C 7F070A6C 460A2400 */ add.s $f16, $f4, $f10 -/* 0A55A0 7F070A70 10000011 */ b .L7F070AB8 -/* 0A55A4 7F070A74 E6300058 */ swc1 $f16, 0x58($s1) -.L7F070A78: -/* 0A55A8 7F070A78 1000000F */ b .L7F070AB8 -/* 0A55AC 7F070A7C A2000002 */ sb $zero, 2($s0) -/* 0A55B0 7F070A80 C7B40108 */ lwc1 $f20, 0x108($sp) -.L7F070A84: -/* 0A55B4 7F070A84 02202025 */ move $a0, $s1 -/* 0A55B8 7F070A88 8FA50100 */ lw $a1, 0x100($sp) -/* 0A55BC 7F070A8C 4406A000 */ mfc1 $a2, $f20 -/* 0A55C0 7F070A90 0FC1C024 */ jal sub_GAME_7F070090 -/* 0A55C4 7F070A94 00000000 */ nop -/* 0A55C8 7F070A98 10000008 */ b .L7F070ABC -/* 0A55CC 7F070A9C 8FBF005C */ lw $ra, 0x5c($sp) -/* 0A55D0 7F070AA0 C7B40108 */ lwc1 $f20, 0x108($sp) -.L7F070AA4: -/* 0A55D4 7F070AA4 02202025 */ move $a0, $s1 -/* 0A55D8 7F070AA8 8FA50100 */ lw $a1, 0x100($sp) -/* 0A55DC 7F070AAC 4406A000 */ mfc1 $a2, $f20 -/* 0A55E0 7F070AB0 0FC1C024 */ jal sub_GAME_7F070090 -/* 0A55E4 7F070AB4 00000000 */ nop -.L7F070AB8: -/* 0A55E8 7F070AB8 8FBF005C */ lw $ra, 0x5c($sp) -.L7F070ABC: -/* 0A55EC 7F070ABC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0A55F0 7F070AC0 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0A55F4 7F070AC4 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0A55F8 7F070AC8 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0A55FC 7F070ACC D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0A5600 7F070AD0 D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 0A5604 7F070AD4 8FB0004C */ lw $s0, 0x4c($sp) -/* 0A5608 7F070AD8 8FB10050 */ lw $s1, 0x50($sp) -/* 0A560C 7F070ADC 8FB20054 */ lw $s2, 0x54($sp) -/* 0A5610 7F070AE0 8FB30058 */ lw $s3, 0x58($sp) -/* 0A5614 7F070AE4 03E00008 */ jr $ra -/* 0A5618 7F070AE8 27BD00F8 */ addiu $sp, $sp, 0xf8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F070AEC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F070AEC -/* 0A561C 7F070AEC 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 0A5620 7F070AF0 AFBF0054 */ sw $ra, 0x54($sp) -/* 0A5624 7F070AF4 AFB10050 */ sw $s1, 0x50($sp) -/* 0A5628 7F070AF8 AFB0004C */ sw $s0, 0x4c($sp) -/* 0A562C 7F070AFC F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 0A5630 7F070B00 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 0A5634 7F070B04 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0A5638 7F070B08 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0A563C 7F070B0C F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0A5640 7F070B10 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0A5644 7F070B14 AFA60090 */ sw $a2, 0x90($sp) -/* 0A5648 7F070B18 C4840058 */ lwc1 $f4, 0x58($a0) -/* 0A564C 7F070B1C C4920028 */ lwc1 $f18, 0x28($a0) -/* 0A5650 7F070B20 00808025 */ move $s0, $a0 -/* 0A5654 7F070B24 00A08825 */ move $s1, $a1 -/* 0A5658 7F070B28 18A0010A */ blez $a1, .L7F070F54 -/* 0A565C 7F070B2C E7A40080 */ swc1 $f4, 0x80($sp) -/* 0A5660 7F070B30 58A000E6 */ blezl $a1, .L7F070ECC -/* 0A5664 7F070B34 8FAB0090 */ lw $t3, 0x90($sp) -/* 0A5668 7F070B38 4480C000 */ mtc1 $zero, $f24 -/* 0A566C 7F070B3C 00000000 */ nop -/* 0A5670 7F070B40 C60200B0 */ lwc1 $f2, 0xb0($s0) -.L7F070B44: -/* 0A5674 7F070B44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A5678 7F070B48 4602C03C */ c.lt.s $f24, $f2 -/* 0A567C 7F070B4C 00000000 */ nop -/* 0A5680 7F070B50 45020017 */ bc1fl .L7F070BB0 -/* 0A5684 7F070B54 C6080088 */ lwc1 $f8, 0x88($s0) -/* 0A5688 7F070B58 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 0A568C 7F070B5C 44814000 */ mtc1 $at, $f8 -/* 0A5690 7F070B60 00000000 */ nop -/* 0A5694 7F070B64 46083280 */ add.s $f10, $f6, $f8 -/* 0A5698 7F070B68 E60A00B4 */ swc1 $f10, 0xb4($s0) -/* 0A569C 7F070B6C C60C00B4 */ lwc1 $f12, 0xb4($s0) -/* 0A56A0 7F070B70 4602603C */ c.lt.s $f12, $f2 -/* 0A56A4 7F070B74 00000000 */ nop -/* 0A56A8 7F070B78 4502000A */ bc1fl .L7F070BA4 -/* 0A56AC 7F070B7C C60600A8 */ lwc1 $f6, 0xa8($s0) -/* 0A56B0 7F070B80 C60000AC */ lwc1 $f0, 0xac($s0) -/* 0A56B4 7F070B84 C60400A8 */ lwc1 $f4, 0xa8($s0) -/* 0A56B8 7F070B88 46002181 */ sub.s $f6, $f4, $f0 -/* 0A56BC 7F070B8C 460C3202 */ mul.s $f8, $f6, $f12 -/* 0A56C0 7F070B90 46024283 */ div.s $f10, $f8, $f2 -/* 0A56C4 7F070B94 460A0100 */ add.s $f4, $f0, $f10 -/* 0A56C8 7F070B98 10000004 */ b .L7F070BAC -/* 0A56CC 7F070B9C E60400A4 */ swc1 $f4, 0xa4($s0) -/* 0A56D0 7F070BA0 C60600A8 */ lwc1 $f6, 0xa8($s0) -.L7F070BA4: -/* 0A56D4 7F070BA4 E61800B0 */ swc1 $f24, 0xb0($s0) -/* 0A56D8 7F070BA8 E60600A4 */ swc1 $f6, 0xa4($s0) -.L7F070BAC: -/* 0A56DC 7F070BAC C6080088 */ lwc1 $f8, 0x88($s0) -.L7F070BB0: -/* 0A56E0 7F070BB0 C60200A4 */ lwc1 $f2, 0xa4($s0) -/* 0A56E4 7F070BB4 4608C03C */ c.lt.s $f24, $f8 -/* 0A56E8 7F070BB8 00000000 */ nop -/* 0A56EC 7F070BBC 4502001D */ bc1fl .L7F070C34 -/* 0A56F0 7F070BC0 C60C004C */ lwc1 $f12, 0x4c($s0) -/* 0A56F4 7F070BC4 C60A008C */ lwc1 $f10, 0x8c($s0) -/* 0A56F8 7F070BC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A56FC 7F070BCC 46025100 */ add.s $f4, $f10, $f2 -/* 0A5700 7F070BD0 E604008C */ swc1 $f4, 0x8c($s0) -/* 0A5704 7F070BD4 C60C008C */ lwc1 $f12, 0x8c($s0) -/* 0A5708 7F070BD8 460CC032 */ c.eq.s $f24, $f12 -/* 0A570C 7F070BDC 00000000 */ nop -/* 0A5710 7F070BE0 45020006 */ bc1fl .L7F070BFC -/* 0A5714 7F070BE4 C6000088 */ lwc1 $f0, 0x88($s0) -/* 0A5718 7F070BE8 44813000 */ mtc1 $at, $f6 -/* 0A571C 7F070BEC C60200A4 */ lwc1 $f2, 0xa4($s0) -/* 0A5720 7F070BF0 1000000F */ b .L7F070C30 -/* 0A5724 7F070BF4 E6060084 */ swc1 $f6, 0x84($s0) -/* 0A5728 7F070BF8 C6000088 */ lwc1 $f0, 0x88($s0) -.L7F070BFC: -/* 0A572C 7F070BFC 4600603C */ c.lt.s $f12, $f0 -/* 0A5730 7F070C00 00000000 */ nop -/* 0A5734 7F070C04 45020007 */ bc1fl .L7F070C24 -/* 0A5738 7F070C08 E6180088 */ swc1 $f24, 0x88($s0) -/* 0A573C 7F070C0C 460C0201 */ sub.s $f8, $f0, $f12 -/* 0A5740 7F070C10 C60200A4 */ lwc1 $f2, 0xa4($s0) -/* 0A5744 7F070C14 46004283 */ div.s $f10, $f8, $f0 -/* 0A5748 7F070C18 10000005 */ b .L7F070C30 -/* 0A574C 7F070C1C E60A0084 */ swc1 $f10, 0x84($s0) -/* 0A5750 7F070C20 E6180088 */ swc1 $f24, 0x88($s0) -.L7F070C24: -/* 0A5754 7F070C24 E6180084 */ swc1 $f24, 0x84($s0) -/* 0A5758 7F070C28 AE000054 */ sw $zero, 0x54($s0) -/* 0A575C 7F070C2C C60200A4 */ lwc1 $f2, 0xa4($s0) -.L7F070C30: -/* 0A5760 7F070C30 C60C004C */ lwc1 $f12, 0x4c($s0) -.L7F070C34: -/* 0A5764 7F070C34 460CC03C */ c.lt.s $f24, $f12 -/* 0A5768 7F070C38 00000000 */ nop -/* 0A576C 7F070C3C 45020017 */ bc1fl .L7F070C9C -/* 0A5770 7F070C40 C6100040 */ lwc1 $f16, 0x40($s0) -/* 0A5774 7F070C44 C6040050 */ lwc1 $f4, 0x50($s0) -/* 0A5778 7F070C48 46022180 */ add.s $f6, $f4, $f2 -/* 0A577C 7F070C4C E6060050 */ swc1 $f6, 0x50($s0) -/* 0A5780 7F070C50 C60E0050 */ lwc1 $f14, 0x50($s0) -/* 0A5784 7F070C54 460C703C */ c.lt.s $f14, $f12 -/* 0A5788 7F070C58 00000000 */ nop -/* 0A578C 7F070C5C 4502000B */ bc1fl .L7F070C8C -/* 0A5790 7F070C60 C60A0044 */ lwc1 $f10, 0x44($s0) -/* 0A5794 7F070C64 C6000048 */ lwc1 $f0, 0x48($s0) -/* 0A5798 7F070C68 C6080044 */ lwc1 $f8, 0x44($s0) -/* 0A579C 7F070C6C C60200A4 */ lwc1 $f2, 0xa4($s0) -/* 0A57A0 7F070C70 46004281 */ sub.s $f10, $f8, $f0 -/* 0A57A4 7F070C74 460E5102 */ mul.s $f4, $f10, $f14 -/* 0A57A8 7F070C78 460C2183 */ div.s $f6, $f4, $f12 -/* 0A57AC 7F070C7C 46060200 */ add.s $f8, $f0, $f6 -/* 0A57B0 7F070C80 10000005 */ b .L7F070C98 -/* 0A57B4 7F070C84 E6080040 */ swc1 $f8, 0x40($s0) -/* 0A57B8 7F070C88 C60A0044 */ lwc1 $f10, 0x44($s0) -.L7F070C8C: -/* 0A57BC 7F070C8C E618004C */ swc1 $f24, 0x4c($s0) -/* 0A57C0 7F070C90 C60200A4 */ lwc1 $f2, 0xa4($s0) -/* 0A57C4 7F070C94 E60A0040 */ swc1 $f10, 0x40($s0) -.L7F070C98: -/* 0A57C8 7F070C98 C6100040 */ lwc1 $f16, 0x40($s0) -.L7F070C9C: -/* 0A57CC 7F070C9C 8E0E0054 */ lw $t6, 0x54($s0) -/* 0A57D0 7F070CA0 46101102 */ mul.s $f4, $f2, $f16 -/* 0A57D4 7F070CA4 11C00020 */ beqz $t6, .L7F070D28 -/* 0A57D8 7F070CA8 46049480 */ add.s $f18, $f18, $f4 -/* 0A57DC 7F070CAC C60C007C */ lwc1 $f12, 0x7c($s0) -/* 0A57E0 7F070CB0 460CC03C */ c.lt.s $f24, $f12 -/* 0A57E4 7F070CB4 00000000 */ nop -/* 0A57E8 7F070CB8 45020017 */ bc1fl .L7F070D18 -/* 0A57EC 7F070CBC C6000070 */ lwc1 $f0, 0x70($s0) -/* 0A57F0 7F070CC0 C6060080 */ lwc1 $f6, 0x80($s0) -/* 0A57F4 7F070CC4 46023200 */ add.s $f8, $f6, $f2 -/* 0A57F8 7F070CC8 E6080080 */ swc1 $f8, 0x80($s0) -/* 0A57FC 7F070CCC C60E0080 */ lwc1 $f14, 0x80($s0) -/* 0A5800 7F070CD0 460C703C */ c.lt.s $f14, $f12 -/* 0A5804 7F070CD4 00000000 */ nop -/* 0A5808 7F070CD8 4502000B */ bc1fl .L7F070D08 -/* 0A580C 7F070CDC C6040074 */ lwc1 $f4, 0x74($s0) -/* 0A5810 7F070CE0 C6000078 */ lwc1 $f0, 0x78($s0) -/* 0A5814 7F070CE4 C60A0074 */ lwc1 $f10, 0x74($s0) -/* 0A5818 7F070CE8 C60200A4 */ lwc1 $f2, 0xa4($s0) -/* 0A581C 7F070CEC 46005101 */ sub.s $f4, $f10, $f0 -/* 0A5820 7F070CF0 460E2182 */ mul.s $f6, $f4, $f14 -/* 0A5824 7F070CF4 460C3203 */ div.s $f8, $f6, $f12 -/* 0A5828 7F070CF8 46080280 */ add.s $f10, $f0, $f8 -/* 0A582C 7F070CFC 10000005 */ b .L7F070D14 -/* 0A5830 7F070D00 E60A0070 */ swc1 $f10, 0x70($s0) -/* 0A5834 7F070D04 C6040074 */ lwc1 $f4, 0x74($s0) -.L7F070D08: -/* 0A5838 7F070D08 E618007C */ swc1 $f24, 0x7c($s0) -/* 0A583C 7F070D0C C60200A4 */ lwc1 $f2, 0xa4($s0) -/* 0A5840 7F070D10 E6040070 */ swc1 $f4, 0x70($s0) -.L7F070D14: -/* 0A5844 7F070D14 C6000070 */ lwc1 $f0, 0x70($s0) -.L7F070D18: -/* 0A5848 7F070D18 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 0A584C 7F070D1C 46001202 */ mul.s $f8, $f2, $f0 -/* 0A5850 7F070D20 46083280 */ add.s $f10, $f6, $f8 -/* 0A5854 7F070D24 E7AA0080 */ swc1 $f10, 0x80($sp) -.L7F070D28: -/* 0A5858 7F070D28 820F0026 */ lb $t7, 0x26($s0) -/* 0A585C 7F070D2C 51E00064 */ beql $t7, $zero, .L7F070EC0 -/* 0A5860 7F070D30 2631FFFF */ addiu $s1, $s1, -1 -/* 0A5864 7F070D34 8E180020 */ lw $t8, 0x20($s0) -/* 0A5868 7F070D38 4610C03E */ c.le.s $f24, $f16 -/* 0A586C 7F070D3C C616003C */ lwc1 $f22, 0x3c($s0) -/* 0A5870 7F070D40 97190004 */ lhu $t9, 4($t8) -/* 0A5874 7F070D44 C6020090 */ lwc1 $f2, 0x90($s0) -/* 0A5878 7F070D48 2728FFFF */ addiu $t0, $t9, -1 -/* 0A587C 7F070D4C 44882000 */ mtc1 $t0, $f4 -/* 0A5880 7F070D50 4500000C */ bc1f .L7F070D84 -/* 0A5884 7F070D54 46802020 */ cvt.s.w $f0, $f4 -/* 0A5888 7F070D58 4616C03E */ c.le.s $f24, $f22 -/* 0A588C 7F070D5C 46000506 */ mov.s $f20, $f0 -/* 0A5890 7F070D60 46001686 */ mov.s $f26, $f2 -/* 0A5894 7F070D64 45020012 */ bc1fl .L7F070DB0 -/* 0A5898 7F070D68 4610C03E */ c.le.s $f24, $f16 -/* 0A589C 7F070D6C 4600B03C */ c.lt.s $f22, $f0 -/* 0A58A0 7F070D70 00000000 */ nop -/* 0A58A4 7F070D74 4502000E */ bc1fl .L7F070DB0 -/* 0A58A8 7F070D78 4610C03E */ c.le.s $f24, $f16 -/* 0A58AC 7F070D7C 1000000B */ b .L7F070DAC -/* 0A58B0 7F070D80 4600B506 */ mov.s $f20, $f22 -.L7F070D84: -/* 0A58B4 7F070D84 4616C03E */ c.le.s $f24, $f22 -/* 0A58B8 7F070D88 46001506 */ mov.s $f20, $f2 -/* 0A58BC 7F070D8C 46000686 */ mov.s $f26, $f0 -/* 0A58C0 7F070D90 45020007 */ bc1fl .L7F070DB0 -/* 0A58C4 7F070D94 4610C03E */ c.le.s $f24, $f16 -/* 0A58C8 7F070D98 4600B03C */ c.lt.s $f22, $f0 -/* 0A58CC 7F070D9C 00000000 */ nop -/* 0A58D0 7F070DA0 45020003 */ bc1fl .L7F070DB0 -/* 0A58D4 7F070DA4 4610C03E */ c.le.s $f24, $f16 -/* 0A58D8 7F070DA8 4600B686 */ mov.s $f26, $f22 -.L7F070DAC: -/* 0A58DC 7F070DAC 4610C03E */ c.le.s $f24, $f16 -.L7F070DB0: -/* 0A58E0 7F070DB0 00000000 */ nop -/* 0A58E4 7F070DB4 45020006 */ bc1fl .L7F070DD0 -/* 0A58E8 7F070DB8 4618803C */ c.lt.s $f16, $f24 -/* 0A58EC 7F070DBC 4612A03E */ c.le.s $f20, $f18 -/* 0A58F0 7F070DC0 00000000 */ nop -/* 0A58F4 7F070DC4 4503000A */ bc1tl .L7F070DF0 -/* 0A58F8 7F070DC8 C606004C */ lwc1 $f6, 0x4c($s0) -/* 0A58FC 7F070DCC 4618803C */ c.lt.s $f16, $f24 -.L7F070DD0: -/* 0A5900 7F070DD0 00000000 */ nop -/* 0A5904 7F070DD4 4502003A */ bc1fl .L7F070EC0 -/* 0A5908 7F070DD8 2631FFFF */ addiu $s1, $s1, -1 -/* 0A590C 7F070DDC 4614903E */ c.le.s $f18, $f20 -/* 0A5910 7F070DE0 00000000 */ nop -/* 0A5914 7F070DE4 45020036 */ bc1fl .L7F070EC0 -/* 0A5918 7F070DE8 2631FFFF */ addiu $s1, $s1, -1 -/* 0A591C 7F070DEC C606004C */ lwc1 $f6, 0x4c($s0) -.L7F070DF0: -/* 0A5920 7F070DF0 C61C0044 */ lwc1 $f28, 0x44($s0) -/* 0A5924 7F070DF4 C61E0048 */ lwc1 $f30, 0x48($s0) -/* 0A5928 7F070DF8 8FA90090 */ lw $t1, 0x90($sp) -/* 0A592C 7F070DFC E7A60060 */ swc1 $f6, 0x60($sp) -/* 0A5930 7F070E00 C6080050 */ lwc1 $f8, 0x50($s0) -/* 0A5934 7F070E04 02002025 */ move $a0, $s0 -/* 0A5938 7F070E08 1120000A */ beqz $t1, .L7F070E34 -/* 0A593C 7F070E0C E7A8005C */ swc1 $f8, 0x5c($sp) -/* 0A5940 7F070E10 8E050028 */ lw $a1, 0x28($s0) -/* 0A5944 7F070E14 4406A000 */ mfc1 $a2, $f20 -/* 0A5948 7F070E18 4407C000 */ mfc1 $a3, $f24 -/* 0A594C 7F070E1C E7B20084 */ swc1 $f18, 0x84($sp) -/* 0A5950 7F070E20 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A5954 7F070E24 0FC1C07B */ jal sub_GAME_7F0701EC -/* 0A5958 7F070E28 02002025 */ move $a0, $s0 -/* 0A595C 7F070E2C 10000006 */ b .L7F070E48 -/* 0A5960 7F070E30 C7B20084 */ lwc1 $f18, 0x84($sp) -.L7F070E34: -/* 0A5964 7F070E34 4405A000 */ mfc1 $a1, $f20 -/* 0A5968 7F070E38 4406C000 */ mfc1 $a2, $f24 -/* 0A596C 7F070E3C 0FC1C024 */ jal sub_GAME_7F070090 -/* 0A5970 7F070E40 E7B20084 */ swc1 $f18, 0x84($sp) -/* 0A5974 7F070E44 C7B20084 */ lwc1 $f18, 0x84($sp) -.L7F070E48: -/* 0A5978 7F070E48 C60A0040 */ lwc1 $f10, 0x40($s0) -/* 0A597C 7F070E4C 8E050020 */ lw $a1, 0x20($s0) -/* 0A5980 7F070E50 82060024 */ lb $a2, 0x24($s0) -/* 0A5984 7F070E54 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0A5988 7F070E58 C6040094 */ lwc1 $f4, 0x94($s0) -/* 0A598C 7F070E5C 4407D000 */ mfc1 $a3, $f26 -/* 0A5990 7F070E60 E7B20084 */ swc1 $f18, 0x84($sp) -/* 0A5994 7F070E64 02002025 */ move $a0, $s0 -/* 0A5998 7F070E68 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0A599C 7F070E6C E7A40014 */ swc1 $f4, 0x14($sp) -/* 0A59A0 7F070E70 C7B20084 */ lwc1 $f18, 0x84($sp) -/* 0A59A4 7F070E74 240A0001 */ li $t2, 1 -/* 0A59A8 7F070E78 A20A0026 */ sb $t2, 0x26($s0) -/* 0A59AC 7F070E7C E616003C */ swc1 $f22, 0x3c($s0) -/* 0A59B0 7F070E80 E61C0044 */ swc1 $f28, 0x44($s0) -/* 0A59B4 7F070E84 E61E0048 */ swc1 $f30, 0x48($s0) -/* 0A59B8 7F070E88 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 0A59BC 7F070E8C 4612D280 */ add.s $f10, $f26, $f18 -/* 0A59C0 7F070E90 E606004C */ swc1 $f6, 0x4c($s0) -/* 0A59C4 7F070E94 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0A59C8 7F070E98 E6080050 */ swc1 $f8, 0x50($s0) -/* 0A59CC 7F070E9C E7B20080 */ swc1 $f18, 0x80($sp) -/* 0A59D0 7F070EA0 8E020098 */ lw $v0, 0x98($s0) -/* 0A59D4 7F070EA4 46145481 */ sub.s $f18, $f10, $f20 -/* 0A59D8 7F070EA8 50400005 */ beql $v0, $zero, .L7F070EC0 -/* 0A59DC 7F070EAC 2631FFFF */ addiu $s1, $s1, -1 -/* 0A59E0 7F070EB0 0040F809 */ jalr $v0 -/* 0A59E4 7F070EB4 E7B20084 */ swc1 $f18, 0x84($sp) -/* 0A59E8 7F070EB8 C7B20084 */ lwc1 $f18, 0x84($sp) -/* 0A59EC 7F070EBC 2631FFFF */ addiu $s1, $s1, -1 -.L7F070EC0: -/* 0A59F0 7F070EC0 5E20FF20 */ bgtzl $s1, .L7F070B44 -/* 0A59F4 7F070EC4 C60200B0 */ lwc1 $f2, 0xb0($s0) -/* 0A59F8 7F070EC8 8FAB0090 */ lw $t3, 0x90($sp) -.L7F070ECC: -/* 0A59FC 7F070ECC 4480C000 */ mtc1 $zero, $f24 -/* 0A5A00 7F070ED0 8E020054 */ lw $v0, 0x54($s0) -/* 0A5A04 7F070ED4 11600014 */ beqz $t3, .L7F070F28 -/* 0A5A08 7F070ED8 00000000 */ nop -/* 0A5A0C 7F070EDC 1040000A */ beqz $v0, .L7F070F08 -/* 0A5A10 7F070EE0 C6000028 */ lwc1 $f0, 0x28($s0) -/* 0A5A14 7F070EE4 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0A5A18 7F070EE8 44050000 */ mfc1 $a1, $f0 -/* 0A5A1C 7F070EEC 44069000 */ mfc1 $a2, $f18 -/* 0A5A20 7F070EF0 8E070058 */ lw $a3, 0x58($s0) -/* 0A5A24 7F070EF4 02002025 */ move $a0, $s0 -/* 0A5A28 7F070EF8 0FC1C07B */ jal sub_GAME_7F0701EC -/* 0A5A2C 7F070EFC E7A40010 */ swc1 $f4, 0x10($sp) -/* 0A5A30 7F070F00 10000015 */ b .L7F070F58 -/* 0A5A34 7F070F04 8FBF0054 */ lw $ra, 0x54($sp) -.L7F070F08: -/* 0A5A38 7F070F08 44050000 */ mfc1 $a1, $f0 -/* 0A5A3C 7F070F0C 44069000 */ mfc1 $a2, $f18 -/* 0A5A40 7F070F10 4407C000 */ mfc1 $a3, $f24 -/* 0A5A44 7F070F14 02002025 */ move $a0, $s0 -/* 0A5A48 7F070F18 0FC1C07B */ jal sub_GAME_7F0701EC -/* 0A5A4C 7F070F1C E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A5A50 7F070F20 1000000D */ b .L7F070F58 -/* 0A5A54 7F070F24 8FBF0054 */ lw $ra, 0x54($sp) -.L7F070F28: -/* 0A5A58 7F070F28 10400006 */ beqz $v0, .L7F070F44 -/* 0A5A5C 7F070F2C 02002025 */ move $a0, $s0 -/* 0A5A60 7F070F30 44059000 */ mfc1 $a1, $f18 -/* 0A5A64 7F070F34 0FC1C024 */ jal sub_GAME_7F070090 -/* 0A5A68 7F070F38 8FA60080 */ lw $a2, 0x80($sp) -/* 0A5A6C 7F070F3C 10000006 */ b .L7F070F58 -/* 0A5A70 7F070F40 8FBF0054 */ lw $ra, 0x54($sp) -.L7F070F44: -/* 0A5A74 7F070F44 44059000 */ mfc1 $a1, $f18 -/* 0A5A78 7F070F48 4406C000 */ mfc1 $a2, $f24 -/* 0A5A7C 7F070F4C 0FC1C024 */ jal sub_GAME_7F070090 -/* 0A5A80 7F070F50 02002025 */ move $a0, $s0 -.L7F070F54: -/* 0A5A84 7F070F54 8FBF0054 */ lw $ra, 0x54($sp) -.L7F070F58: -/* 0A5A88 7F070F58 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0A5A8C 7F070F5C D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0A5A90 7F070F60 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0A5A94 7F070F64 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0A5A98 7F070F68 D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0A5A9C 7F070F6C D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 0A5AA0 7F070F70 8FB0004C */ lw $s0, 0x4c($sp) -/* 0A5AA4 7F070F74 8FB10050 */ lw $s1, 0x50($sp) -/* 0A5AA8 7F070F78 03E00008 */ jr $ra -/* 0A5AAC 7F070F7C 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F070F80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F070F80 -/* 0A5AB0 7F070F80 8C83000C */ lw $v1, 0xc($a0) -/* 0A5AB4 7F070F84 3C0FE700 */ lui $t7, 0xe700 -/* 0A5AB8 7F070F88 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0A5ABC 7F070F8C 246E0008 */ addiu $t6, $v1, 8 -/* 0A5AC0 7F070F90 AC8E000C */ sw $t6, 0xc($a0) -/* 0A5AC4 7F070F94 AC600004 */ sw $zero, 4($v1) -/* 0A5AC8 7F070F98 AC6F0000 */ sw $t7, ($v1) -/* 0A5ACC 7F070F9C 8C83000C */ lw $v1, 0xc($a0) -/* 0A5AD0 7F070FA0 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0A5AD4 7F070FA4 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0A5AD8 7F070FA8 24780008 */ addiu $t8, $v1, 8 -/* 0A5ADC 7F070FAC AC98000C */ sw $t8, 0xc($a0) -/* 0A5AE0 7F070FB0 AC600004 */ sw $zero, 4($v1) -/* 0A5AE4 7F070FB4 AC790000 */ sw $t9, ($v1) -/* 0A5AE8 7F070FB8 8C880004 */ lw $t0, 4($a0) -/* 0A5AEC 7F070FBC 3C18FC12 */ lui $t8, (0xFC121824 >> 16) # lui $t8, 0xfc12 -/* 0A5AF0 7F070FC0 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 0A5AF4 7F070FC4 1100000B */ beqz $t0, .L7F070FF4 -/* 0A5AF8 7F070FC8 37181824 */ ori $t8, (0xFC121824 & 0xFFFF) # ori $t8, $t8, 0x1824 -/* 0A5AFC 7F070FCC 8C83000C */ lw $v1, 0xc($a0) -/* 0A5B00 7F070FD0 3C0AB900 */ lui $t2, (0xB900031D >> 16) # lui $t2, 0xb900 -/* 0A5B04 7F070FD4 3C0B0055 */ lui $t3, (0x00552078 >> 16) # lui $t3, 0x55 -/* 0A5B08 7F070FD8 24690008 */ addiu $t1, $v1, 8 -/* 0A5B0C 7F070FDC AC89000C */ sw $t1, 0xc($a0) -/* 0A5B10 7F070FE0 356B2078 */ ori $t3, (0x00552078 & 0xFFFF) # ori $t3, $t3, 0x2078 -/* 0A5B14 7F070FE4 354A031D */ ori $t2, (0xB900031D & 0xFFFF) # ori $t2, $t2, 0x31d -/* 0A5B18 7F070FE8 AC6A0000 */ sw $t2, ($v1) -/* 0A5B1C 7F070FEC 10000008 */ b .L7F071010 -/* 0A5B20 7F070FF0 AC6B0004 */ sw $t3, 4($v1) -.L7F070FF4: -/* 0A5B24 7F070FF4 8C83000C */ lw $v1, 0xc($a0) -/* 0A5B28 7F070FF8 3C0E0055 */ lui $t6, (0x00552048 >> 16) # lui $t6, 0x55 -/* 0A5B2C 7F070FFC 35CE2048 */ ori $t6, (0x00552048 & 0xFFFF) # ori $t6, $t6, 0x2048 -/* 0A5B30 7F071000 246C0008 */ addiu $t4, $v1, 8 -/* 0A5B34 7F071004 AC8C000C */ sw $t4, 0xc($a0) -/* 0A5B38 7F071008 AC6E0004 */ sw $t6, 4($v1) -/* 0A5B3C 7F07100C AC6D0000 */ sw $t5, ($v1) -.L7F071010: -/* 0A5B40 7F071010 8C83000C */ lw $v1, 0xc($a0) -/* 0A5B44 7F071014 3C19FF33 */ lui $t9, (0xFF33FFFF >> 16) # lui $t9, 0xff33 -/* 0A5B48 7F071018 3739FFFF */ ori $t9, (0xFF33FFFF & 0xFFFF) # ori $t9, $t9, 0xffff -/* 0A5B4C 7F07101C 246F0008 */ addiu $t7, $v1, 8 -/* 0A5B50 7F071020 AC8F000C */ sw $t7, 0xc($a0) -/* 0A5B54 7F071024 AC790004 */ sw $t9, 4($v1) -/* 0A5B58 7F071028 03E00008 */ jr $ra -/* 0A5B5C 7F07102C AC780000 */ sw $t8, ($v1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F071030(void) { -/* ---Copy/Paste from Doc -DisplayList Setups Depend on Object Type, Prop Guard or Gun. -These are applied to each part of an object at runtime and can be overridden. loading the next part will use these values once more. -GeometryMode is not in setup and is persistent accross parts. - - -7F072A0C Read Displaylist 18 Model Type -7F072A1C Read Displaylist 18 Model Type -7F072A24 Check model type 1 -7F072A2C Call to do model type 1 7F070F80 -7F072A40 Check model type 3 -7F072A48 Call to do model type 3 7F071030 -7F072A5C Check model type 4 -7F072A64 Call to do model type 4 7F071B44 -7F072A78 Check model type 2 -7F072A80 Call to do model type 2 7F072644 - -7F0727F8 Read Displaylist 04 Model Type - -A1 is primary = 1, secondary = 0 -Inside the T8 or whatever temporary register indicates gun or not gun (0 = gun, or UseZ = 1), for different render mode - -Bool UseZ //guns = false -Bool - - -Model Type 0: NoSetup. - type 0 Has No DL Setup and will use whaterver is currently set. - -Model Type 1: 1Cycle No Sec - E700000000000000 pipesync() - BA00140200000000 CycleType(1c) - if UseZ - B900031D00552078 SetRendermode(AA_ZB_OPA_1) //cin ain cmem amem - else - B900031D00552048 SetRendermode(AA_OPA_1) //cin ain cmem amem - end if - FC121824FF33FFFF SetCombine(MODULATERGBA) - No Secondary - -Model Type 2: 2Cycle No Sec - E700000000000000 pipesync() - BA00140200100000 CycleType(2c) - if UseZ - B900031D0C192078 SetRendermode(AA_ZB_OPA_2) // cin 0 cin 1 //colour only - else - B900031D0C192048 SetRendermode(AA_OPA_2) // cin 0 cin 1 //colour only - end if - FC26A0041F1093FF SetCombine(TRILERP, MODULATERGBA) - No Secondary -Model Type 3: GunLighting - Reduced Secondary Commands (guns) - This Type Uses Vertex Alpha for Secondary Surfaces and uses the FOG Alpha value for applying Fog/"Lighting". - Primary - E700000000000000 pipesync() - BA00140200100000 CycleType(2c) - F800000000000026 SetFogColor(0,0,0,38) - if dltype = full - if guard - FB0000005A0000FF SetEnvColor(90,0,0,255) - FC1598045FFEDBF8 SetCombine(((Texel0-Env)*ShadeA+Env) - ((Texel0-Env)*Shade+Env), - MODULATERGB_DECALA) - else if prop - FB000000FFFFFFFF SetEnvColor(255,255,255,255) - FA00000000000000 SetPrimColor(0,0,0,0) - FC26A0041F1093FB SetCombine(TRILERP, MODULATERGB_ADDPRIM_A) - endif - else - FC26A0041F1093FF SetCombine(TRILERP, MODULATERGBA) - endif - if UseZ - B900031DC4112078 SetRendermode(AA_ZB_OPA_StanFOG_2) - else - B900031DC4112048 SetRendermode(AA_OPA_StanFOG_2) //acvg - endif - - Secondary - if UseZ - B900031DC41049D8 SetRendermode(AA_Zcmp_XLU_StanFOG_2) - else - B900031DC41041C8 SetRendermode(AA_OPA_StanFOG_2)//FcBl ClrOnCvg - endif - -Model Type 4: Normal Fog/Lighting object - This Type Uses Vertex Alpha for Secondary Surfaces and uses the FOG Alpha value for applying Fog/"Lighting". - Primary - E700000000000000 pipesync() - BA00140200100000 CycleType(2c) - F800000000000026 SetFogColor(0,0,0,38) - if dltype = full - if guard - FB0000005A0000FF SetEnvColor(90,0,0,255) - FC1598045FFEDBF8 SetCombine(((Texel0-Env)*ShadeA+Env) - ((Texel0-Env)*Shade+Env), - MODULATERGB_DECALA) - else if prop - FB000000FFFFFFFF SetEnvColor(255,255,255,255) - FA00000000000000 SetPrimColor(0,0,0,0) - FC26A0041F1093FB SetCombine(TRILERP, MODULATERGB_ADDPRIM_A) - endif - else - FC26A0041F1093FF SetCombine(TRILERP, MODULATERGBA) - endif - if UseZ - B900031DC4112078 SetRendermode(AA_ZB_OPA_StanFOG_2) - else - B900031DC4112048 SetRendermode(AA_OPA_StanFOG_2) //acvg - endif - - Secondary - E700000000000000 pipesync() - BA00140200100000 CycleType(2c) - F800000000000026 SetFogColor(0,0,0,38) - if dltype = full - if guard - FB0000005A0000FF SetEnvColor(90,0,0,255) - FC1598045FFEDBF8 SetCombine(((Texel0-Env)*ShadeA+Env) - ((Texel0-Env)*Shade+Env), - MODULATERGB_DECALA) - else if prop - FB000000FFFFFFFF SetEnvColor(255,255,255,255) - FA00000000000000 SetPrimColor(0,0,0,0) - FC26A0041F1093FB SetCombine(TRILERP, MODULATERGB_ADDPRIM_A) - endif - else - FA00000000000000 SetPrimColor(0,0,0,0) - FC26A0041F1093FB SetCombine(TRILERP, MODULATERGB_ADDPRIM_A) - endif - if UseZ - B900031DC41049D8 SetRendermode(AA_Zcmp_XLU_StanFOG_2) - else - B900031DC41041C8 SetRendermode(AA_OPA_StanFOG_2)//FcBl ClrOnCvg - endif -*/ -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F071030 /*DisplayListSetup(obj)*/ -/* 0A5B60 7F071030 8C820030 */ lw $v0, 0x30($a0) /*a0=obj?*/ -/* 0A5B64 7F071034 24010007 */ li $at, 7 -/* 0A5B68 7F071038 5441006C */ bnel $v0, $at, .L7F0711EC /*obj.ModelType <= 7? */ -/* 0A5B6C 7F07103C 24010008 */ li $at, 8 -/* 0A5B70 7F071040 50A00054 */ beql $a1, $zero, .L7F071194 /*a1 = */ -/* 0A5B74 7F071044 8C990004 */ lw $t9, 4($a0) -/* 0A5B78 7F071048 8C82000C */ lw $v0, 0xc($a0) -/* 0A5B7C 7F07104C 3C0FE700 */ lui $t7, 0xe700 -/* 0A5B80 7F071050 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0A5B84 7F071054 244E0008 */ addiu $t6, $v0, 8 -/* 0A5B88 7F071058 AC8E000C */ sw $t6, 0xc($a0) -/* 0A5B8C 7F07105C AC400004 */ sw $zero, 4($v0) -/* 0A5B90 7F071060 AC4F0000 */ sw $t7, ($v0) -/* 0A5B94 7F071064 8C82000C */ lw $v0, 0xc($a0) -/* 0A5B98 7F071068 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 /*2Cycle*/ -/* 0A5B9C 7F07106C 3C0C0010 */ lui $t4, 0x10 -/* 0A5BA0 7F071070 24580008 */ addiu $t8, $v0, 8 -/* 0A5BA4 7F071074 AC98000C */ sw $t8, 0xc($a0) -/* 0A5BA8 7F071078 AC4C0004 */ sw $t4, 4($v0) -/* 0A5BAC 7F07107C AC590000 */ sw $t9, ($v0) -/* 0A5BB0 7F071080 8C8A0038 */ lw $t2, 0x38($a0) -/* 0A5BB4 7F071084 8C82000C */ lw $v0, 0xc($a0) -/* 0A5BB8 7F071088 3C0FF800 */ lui $t7, 0xf800 -/* 0A5BBC 7F07108C 000A4402 */ srl $t0, $t2, 0x10 -/* 0A5BC0 7F071090 244E0008 */ addiu $t6, $v0, 8 -/* 0A5BC4 7F071094 AC8E000C */ sw $t6, 0xc($a0) -/* 0A5BC8 7F071098 310C00FF */ andi $t4, $t0, 0xff -/* 0A5BCC 7F07109C 000AC602 */ srl $t8, $t2, 0x18 -/* 0A5BD0 7F0710A0 0018CE00 */ sll $t9, $t8, 0x18 -/* 0A5BD4 7F0710A4 000C6C00 */ sll $t5, $t4, 0x10 -/* 0A5BD8 7F0710A8 000A4A02 */ srl $t1, $t2, 8 -/* 0A5BDC 7F0710AC AC4F0000 */ sw $t7, ($v0) -/* 0A5BE0 7F0710B0 312F00FF */ andi $t7, $t1, 0xff -/* 0A5BE4 7F0710B4 032D7025 */ or $t6, $t9, $t5 -/* 0A5BE8 7F0710B8 000FC200 */ sll $t8, $t7, 8 -/* 0A5BEC 7F0710BC 01D86025 */ or $t4, $t6, $t8 -/* 0A5BF0 7F0710C0 315900FF */ andi $t9, $t2, 0xff -/* 0A5BF4 7F0710C4 01996825 */ or $t5, $t4, $t9 -/* 0A5BF8 7F0710C8 AC4D0004 */ sw $t5, 4($v0) -/* 0A5BFC 7F0710CC 8C830034 */ lw $v1, 0x34($a0) -/* 0A5C00 7F0710D0 8C82000C */ lw $v0, 0xc($a0) -/* 0A5C04 7F0710D4 3C0EFB00 */ lui $t6, 0xfb00 -/* 0A5C08 7F0710D8 00034402 */ srl $t0, $v1, 0x10 -/* 0A5C0C 7F0710DC 244F0008 */ addiu $t7, $v0, 8 -/* 0A5C10 7F0710E0 AC8F000C */ sw $t7, 0xc($a0) -/* 0A5C14 7F0710E4 311900FF */ andi $t9, $t0, 0xff -/* 0A5C18 7F0710E8 00033E02 */ srl $a3, $v1, 0x18 -/* 0A5C1C 7F0710EC 00034A02 */ srl $t1, $v1, 8 -/* 0A5C20 7F0710F0 AC4E0000 */ sw $t6, ($v0) -/* 0A5C24 7F0710F4 312E00FF */ andi $t6, $t1, 0xff -/* 0A5C28 7F0710F8 00076600 */ sll $t4, $a3, 0x18 -/* 0A5C2C 7F0710FC 00196C00 */ sll $t5, $t9, 0x10 -/* 0A5C30 7F071100 018D7825 */ or $t7, $t4, $t5 -/* 0A5C34 7F071104 000EC200 */ sll $t8, $t6, 8 -/* 0A5C38 7F071108 01F8C825 */ or $t9, $t7, $t8 -/* 0A5C3C 7F07110C 372C00FF */ ori $t4, $t9, 0xff -/* 0A5C40 7F071110 AC4C0004 */ sw $t4, 4($v0) -/* 0A5C44 7F071114 8C82000C */ lw $v0, 0xc($a0) -/* 0A5C48 7F071118 3C0F5FFE */ lui $t7, (0x5FFEDBF8 >> 16) # lui $t7, 0x5ffe /*fulldl guard */ -/* 0A5C4C 7F07111C 3C0EFC15 */ lui $t6, (0xFC159804 >> 16) # lui $t6, 0xfc15 -/* 0A5C50 7F071120 244D0008 */ addiu $t5, $v0, 8 -/* 0A5C54 7F071124 AC8D000C */ sw $t5, 0xc($a0) -/* 0A5C58 7F071128 35CE9804 */ ori $t6, (0xFC159804 & 0xFFFF) # ori $t6, $t6, 0x9804 -/* 0A5C5C 7F07112C 35EFDBF8 */ ori $t7, (0x5FFEDBF8 & 0xFFFF) # ori $t7, $t7, 0xdbf8 -/* 0A5C60 7F071130 AC4F0004 */ sw $t7, 4($v0) -/* 0A5C64 7F071134 AC4E0000 */ sw $t6, ($v0) -/* 0A5C68 7F071138 8C980004 */ lw $t8, 4($a0) -/* 0A5C6C 7F07113C 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A5C70 7F071140 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 0A5C74 7F071144 1300000A */ beqz $t8, .L7F071170 -/* 0A5C78 7F071148 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A5C7C 7F07114C 8C82000C */ lw $v0, 0xc($a0) -/* 0A5C80 7F071150 3C0DC411 */ lui $t5, (0xC4112078 >> 16) # lui $t5, 0xc411 -/* 0A5C84 7F071154 35AD2078 */ ori $t5, (0xC4112078 & 0xFFFF) # ori $t5, $t5, 0x2078 -/* 0A5C88 7F071158 24590008 */ addiu $t9, $v0, 8 -/* 0A5C8C 7F07115C AC99000C */ sw $t9, 0xc($a0) -/* 0A5C90 7F071160 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 0A5C94 7F071164 AC4C0000 */ sw $t4, ($v0) -/* 0A5C98 7F071168 03E00008 */ jr $ra -/* 0A5C9C 7F07116C AC4D0004 */ sw $t5, 4($v0) - -.L7F071170: -/* 0A5CA0 7F071170 8C82000C */ lw $v0, 0xc($a0) -/* 0A5CA4 7F071174 3C18C411 */ lui $t8, (0xC4112048 >> 16) # lui $t8, 0xc411 -/* 0A5CA8 7F071178 37182048 */ ori $t8, (0xC4112048 & 0xFFFF) # ori $t8, $t8, 0x2048 -/* 0A5CAC 7F07117C 244E0008 */ addiu $t6, $v0, 8 -/* 0A5CB0 7F071180 AC8E000C */ sw $t6, 0xc($a0) -/* 0A5CB4 7F071184 AC580004 */ sw $t8, 4($v0) -/* 0A5CB8 7F071188 03E00008 */ jr $ra -/* 0A5CBC 7F07118C AC4F0000 */ sw $t7, ($v0) - -/* 0A5CC0 7F071190 8C990004 */ lw $t9, 4($a0) -.L7F071194: /*UseZ - Transparent Gun Rendermode*/ -/* 0A5CC4 7F071194 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A5CC8 7F071198 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0A5CCC 7F07119C 1320000A */ beqz $t9, .L7F0711C8 -/* 0A5CD0 7F0711A0 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A5CD4 7F0711A4 8C82000C */ lw $v0, 0xc($a0) -/* 0A5CD8 7F0711A8 3C0EC410 */ lui $t6, (0xC41049D8 >> 16) # lui $t6, 0xc410 -/* 0A5CDC 7F0711AC 35CE49D8 */ ori $t6, (0xC41049D8 & 0xFFFF) # ori $t6, $t6, 0x49d8 -/* 0A5CE0 7F0711B0 244C0008 */ addiu $t4, $v0, 8 -/* 0A5CE4 7F0711B4 AC8C000C */ sw $t4, 0xc($a0) -/* 0A5CE8 7F0711B8 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 0A5CEC 7F0711BC AC4D0000 */ sw $t5, ($v0) -/* 0A5CF0 7F0711C0 03E00008 */ jr $ra -/* 0A5CF4 7F0711C4 AC4E0004 */ sw $t6, 4($v0) - -.L7F0711C8: /*not UseZ - Opaque Gun Rendermode*/ -/* 0A5CF8 7F0711C8 8C82000C */ lw $v0, 0xc($a0) -/* 0A5CFC 7F0711CC 3C19C410 */ lui $t9, (0xC41041C8 >> 16) # lui $t9, 0xc410 -/* 0A5D00 7F0711D0 373941C8 */ ori $t9, (0xC41041C8 & 0xFFFF) # ori $t9, $t9, 0x41c8 -/* 0A5D04 7F0711D4 244F0008 */ addiu $t7, $v0, 8 -/* 0A5D08 7F0711D8 AC8F000C */ sw $t7, 0xc($a0) -/* 0A5D0C 7F0711DC AC590004 */ sw $t9, 4($v0) -/* 0A5D10 7F0711E0 03E00008 */ jr $ra -/* 0A5D14 7F0711E4 AC580000 */ sw $t8, ($v0) - -/* 0A5D18 7F0711E8 24010008 */ li $at, 8 -.L7F0711EC: -/* 0A5D1C 7F0711EC 54410057 */ bnel $v0, $at, .L7F07134C -/* 0A5D20 7F0711F0 24010009 */ li $at, 9 -/* 0A5D24 7F0711F4 10A00251 */ beqz $a1, .L7F071B3C -/* 0A5D28 7F0711F8 00000000 */ nop -/* 0A5D2C 7F0711FC 8C82000C */ lw $v0, 0xc($a0) -/* 0A5D30 7F071200 3C0DE700 */ lui $t5, 0xe700 -/* 0A5D34 7F071204 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 0A5D38 7F071208 244C0008 */ addiu $t4, $v0, 8 -/* 0A5D3C 7F07120C AC8C000C */ sw $t4, 0xc($a0) -/* 0A5D40 7F071210 AC400004 */ sw $zero, 4($v0) -/* 0A5D44 7F071214 AC4D0000 */ sw $t5, ($v0) -/* 0A5D48 7F071218 8C82000C */ lw $v0, 0xc($a0) -/* 0A5D4C 7F07121C 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 0A5D50 7F071220 3C180010 */ lui $t8, 0x10 -/* 0A5D54 7F071224 244E0008 */ addiu $t6, $v0, 8 -/* 0A5D58 7F071228 AC8E000C */ sw $t6, 0xc($a0) -/* 0A5D5C 7F07122C AC580004 */ sw $t8, 4($v0) /*add to t7 = */ -/* 0A5D60 7F071230 AC4F0000 */ sw $t7, ($v0) /*0xBA00140200000010 2cycle*/ -/* 0A5D64 7F071234 8C8A0038 */ lw $t2, 0x38($a0) -/* 0A5D68 7F071238 8C82000C */ lw $v0, 0xc($a0) -/* 0A5D6C 7F07123C 3C0DF800 */ lui $t5, 0xf800 /*fogcolour*/ -/* 0A5D70 7F071240 000A4402 */ srl $t0, $t2, 0x10 -/* 0A5D74 7F071244 244C0008 */ addiu $t4, $v0, 8 -/* 0A5D78 7F071248 AC8C000C */ sw $t4, 0xc($a0) -/* 0A5D7C 7F07124C 311800FF */ andi $t8, $t0, 0xff -/* 0A5D80 7F071250 000A7602 */ srl $t6, $t2, 0x18 -/* 0A5D84 7F071254 000E7E00 */ sll $t7, $t6, 0x18 -/* 0A5D88 7F071258 0018CC00 */ sll $t9, $t8, 0x10 -/* 0A5D8C 7F07125C 000A4A02 */ srl $t1, $t2, 8 -/* 0A5D90 7F071260 AC4D0000 */ sw $t5, ($v0) /*black*/ -/* 0A5D94 7F071264 312D00FF */ andi $t5, $t1, 0xff -/* 0A5D98 7F071268 01F96025 */ or $t4, $t7, $t9 -/* 0A5D9C 7F07126C 000D7200 */ sll $t6, $t5, 8 -/* 0A5DA0 7F071270 018EC025 */ or $t8, $t4, $t6 -/* 0A5DA4 7F071274 314F00FF */ andi $t7, $t2, 0xff -/* 0A5DA8 7F071278 030FC825 */ or $t9, $t8, $t7 -/* 0A5DAC 7F07127C AC590004 */ sw $t9, 4($v0) -/* 0A5DB0 7F071280 8C8A0034 */ lw $t2, 0x34($a0) -/* 0A5DB4 7F071284 8C82000C */ lw $v0, 0xc($a0) -/* 0A5DB8 7F071288 3C0EFB00 */ lui $t6, 0xfb00 /*envcolour*/ -/* 0A5DBC 7F07128C 000A4402 */ srl $t0, $t2, 0x10 -/* 0A5DC0 7F071290 244C0008 */ addiu $t4, $v0, 8 -/* 0A5DC4 7F071294 AC8C000C */ sw $t4, 0xc($a0) -/* 0A5DC8 7F071298 311900FF */ andi $t9, $t0, 0xff -/* 0A5DCC 7F07129C 000AC602 */ srl $t8, $t2, 0x18 -/* 0A5DD0 7F0712A0 00187E00 */ sll $t7, $t8, 0x18 -/* 0A5DD4 7F0712A4 00196C00 */ sll $t5, $t9, 0x10 -/* 0A5DD8 7F0712A8 000A4A02 */ srl $t1, $t2, 8 -/* 0A5DDC 7F0712AC AC4E0000 */ sw $t6, ($v0) /*black*/ -/* 0A5DE0 7F0712B0 312E00FF */ andi $t6, $t1, 0xff -/* 0A5DE4 7F0712B4 01ED6025 */ or $t4, $t7, $t5 -/* 0A5DE8 7F0712B8 000EC200 */ sll $t8, $t6, 8 -/* 0A5DEC 7F0712BC 0198C825 */ or $t9, $t4, $t8 -/* 0A5DF0 7F0712C0 314F00FF */ andi $t7, $t2, 0xff -/* 0A5DF4 7F0712C4 032F6825 */ or $t5, $t9, $t7 -/* 0A5DF8 7F0712C8 AC4D0004 */ sw $t5, 4($v0) -/* 0A5DFC 7F0712CC 8C82000C */ lw $v0, 0xc($a0) -/* 0A5E00 7F0712D0 3C185FFE */ lui $t8, (0x5FFEFFF8 >> 16) # lui $t8, 0x5ffe -/* 0A5E04 7F0712D4 3C0CFC15 */ lui $t4, (0xFC159A04 >> 16) # lui $t4, 0xfc15 -/* 0A5E08 7F0712D8 244E0008 */ addiu $t6, $v0, 8 -/* 0A5E0C 7F0712DC AC8E000C */ sw $t6, 0xc($a0) -/* 0A5E10 7F0712E0 358C9A04 */ ori $t4, (0xFC159A04 & 0xFFFF) # ori $t4, $t4, 0x9a04 -/* 0A5E14 7F0712E4 3718FFF8 */ ori $t8, (0x5FFEFFF8 & 0xFFFF) # ori $t8, $t8, 0xfff8 -/* 0A5E18 7F0712E8 AC580004 */ sw $t8, 4($v0) -/* 0A5E1C 7F0712EC AC4C0000 */ sw $t4, ($v0) -/* 0A5E20 7F0712F0 8C990004 */ lw $t9, 4($a0) -/* 0A5E24 7F0712F4 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A5E28 7F0712F8 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0A5E2C 7F0712FC 1320000A */ beqz $t9, .L7F071328 -/* 0A5E30 7F071300 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A5E34 7F071304 8C82000C */ lw $v0, 0xc($a0) -/* 0A5E38 7F071308 3C0EC410 */ lui $t6, (0xC41049D8 >> 16) # lui $t6, 0xc410 -/* 0A5E3C 7F07130C 35CE49D8 */ ori $t6, (0xC41049D8 & 0xFFFF) # ori $t6, $t6, 0x49d8 -/* 0A5E40 7F071310 244F0008 */ addiu $t7, $v0, 8 -/* 0A5E44 7F071314 AC8F000C */ sw $t7, 0xc($a0) -/* 0A5E48 7F071318 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d /*Transparent Gun Rendermode Z*/ -/* 0A5E4C 7F07131C AC4D0000 */ sw $t5, ($v0) -/* 0A5E50 7F071320 03E00008 */ jr $ra -/* 0A5E54 7F071324 AC4E0004 */ sw $t6, 4($v0) - -.L7F071328: -/* 0A5E58 7F071328 8C82000C */ lw $v0, 0xc($a0) -/* 0A5E5C 7F07132C 3C19C410 */ lui $t9, (0xC41041C8 >> 16) # lui $t9, 0xc410 -/* 0A5E60 7F071330 373941C8 */ ori $t9, (0xC41041C8 & 0xFFFF) # ori $t9, $t9, 0x41c8 /*transparent Gun rendermode NoZ*/ -/* 0A5E64 7F071334 244C0008 */ addiu $t4, $v0, 8 -/* 0A5E68 7F071338 AC8C000C */ sw $t4, 0xc($a0) -/* 0A5E6C 7F07133C AC590004 */ sw $t9, 4($v0) -/* 0A5E70 7F071340 03E00008 */ jr $ra -/* 0A5E74 7F071344 AC580000 */ sw $t8, ($v0) - -/* 0A5E78 7F071348 24010009 */ li $at, 9 -.L7F07134C: -/* 0A5E7C 7F07134C 544100DE */ bnel $v0, $at, .L7F0716C8 -/* 0A5E80 7F071350 24010004 */ li $at, 4 -/* 0A5E84 7F071354 8C8F0034 */ lw $t7, 0x34($a0) -/* 0A5E88 7F071358 31ED00FF */ andi $t5, $t7, 0xff -/* 0A5E8C 7F07135C 15A00068 */ bnez $t5, .L7F071500 -/* 0A5E90 7F071360 00000000 */ nop -/* 0A5E94 7F071364 10A00050 */ beqz $a1, .L7F0714A8 -/* 0A5E98 7F071368 3C18E700 */ lui $t8, 0xe700 -/* 0A5E9C 7F07136C 8C82000C */ lw $v0, 0xc($a0) -/* 0A5EA0 7F071370 8C880038 */ lw $t0, 0x38($a0) -/* 0A5EA4 7F071374 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 0A5EA8 7F071378 244C0008 */ addiu $t4, $v0, 8 -/* 0A5EAC 7F07137C AC8C000C */ sw $t4, 0xc($a0) -/* 0A5EB0 7F071380 AC400004 */ sw $zero, 4($v0) -/* 0A5EB4 7F071384 AC580000 */ sw $t8, ($v0) -/* 0A5EB8 7F071388 8C82000C */ lw $v0, 0xc($a0) -/* 0A5EBC 7F07138C 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 0A5EC0 7F071390 3C0D0010 */ lui $t5, 0x10 -/* 0A5EC4 7F071394 24590008 */ addiu $t9, $v0, 8 -/* 0A5EC8 7F071398 AC99000C */ sw $t9, 0xc($a0) -/* 0A5ECC 7F07139C AC4D0004 */ sw $t5, 4($v0) /*add to t4 =*/ -/* 0A5ED0 7F0713A0 AC4F0000 */ sw $t7, ($v0) /*2cycle*/ -/* 0A5ED4 7F0713A4 8C82000C */ lw $v0, 0xc($a0) -/* 0A5ED8 7F0713A8 00083402 */ srl $a2, $t0, 0x10 -/* 0A5EDC 7F0713AC 30CF00FF */ andi $t7, $a2, 0xff -/* 0A5EE0 7F0713B0 244E0008 */ addiu $t6, $v0, 8 -/* 0A5EE4 7F0713B4 AC8E000C */ sw $t6, 0xc($a0) -/* 0A5EE8 7F0713B8 3C0CF800 */ lui $t4, 0xf800 /*fogcolour*/ -/* 0A5EEC 7F0713BC 00082E02 */ srl $a1, $t0, 0x18 -/* 0A5EF0 7F0713C0 0005CE00 */ sll $t9, $a1, 0x18 -/* 0A5EF4 7F0713C4 000F6C00 */ sll $t5, $t7, 0x10 -/* 0A5EF8 7F0713C8 00083A02 */ srl $a3, $t0, 8 -/* 0A5EFC 7F0713CC AC4C0000 */ sw $t4, ($v0) /*black*/ -/* 0A5F00 7F0713D0 30EC00FF */ andi $t4, $a3, 0xff -/* 0A5F04 7F0713D4 032D7025 */ or $t6, $t9, $t5 -/* 0A5F08 7F0713D8 000CC200 */ sll $t8, $t4, 8 -/* 0A5F0C 7F0713DC 01D87825 */ or $t7, $t6, $t8 -/* 0A5F10 7F0713E0 311900FF */ andi $t9, $t0, 0xff -/* 0A5F14 7F0713E4 01F96825 */ or $t5, $t7, $t9 -/* 0A5F18 7F0713E8 AC4D0004 */ sw $t5, 4($v0) -/* 0A5F1C 7F0713EC 8C82000C */ lw $v0, 0xc($a0) -/* 0A5F20 7F0713F0 2418FFFF */ li $t8, -1 -/* 0A5F24 7F0713F4 3C0EFB00 */ lui $t6, 0xfb00 /*envcolour*/ -/* 0A5F28 7F0713F8 244C0008 */ addiu $t4, $v0, 8 -/* 0A5F2C 7F0713FC AC8C000C */ sw $t4, 0xc($a0) -/* 0A5F30 7F071400 AC580004 */ sw $t8, 4($v0) -/* 0A5F34 7F071404 AC4E0000 */ sw $t6, ($v0) /*black*/ -/* 0A5F38 7F071408 8C82000C */ lw $v0, 0xc($a0) -/* 0A5F3C 7F07140C 3C19FA00 */ lui $t9, 0xfa00 -/* 0A5F40 7F071410 244F0008 */ addiu $t7, $v0, 8 -/* 0A5F44 7F071414 AC8F000C */ sw $t7, 0xc($a0) -/* 0A5F48 7F071418 AC590000 */ sw $t9, ($v0) -/* 0A5F4C 7F07141C 8C8D0034 */ lw $t5, 0x34($a0) -/* 0A5F50 7F071420 3C19FC26 */ lui $t9, (0xFC26A004 >> 16) # lui $t9, 0xfc26 -/* 0A5F54 7F071424 3739A004 */ ori $t9, (0xFC26A004 & 0xFFFF) # ori $t9, $t9, 0xa004 /*prop combiner*/ -/* 0A5F58 7F071428 000D7202 */ srl $t6, $t5, 8 -/* 0A5F5C 7F07142C 31D800FF */ andi $t8, $t6, 0xff -/* 0A5F60 7F071430 AC580004 */ sw $t8, 4($v0) -/* 0A5F64 7F071434 8C82000C */ lw $v0, 0xc($a0) -/* 0A5F68 7F071438 3C0D1F10 */ lui $t5, (0x1F1093FB >> 16) # lui $t5, 0x1f10 -/* 0A5F6C 7F07143C 35AD93FB */ ori $t5, (0x1F1093FB & 0xFFFF) # ori $t5, $t5, 0x93fb -/* 0A5F70 7F071440 244F0008 */ addiu $t7, $v0, 8 -/* 0A5F74 7F071444 AC8F000C */ sw $t7, 0xc($a0) -/* 0A5F78 7F071448 AC4D0004 */ sw $t5, 4($v0) -/* 0A5F7C 7F07144C AC590000 */ sw $t9, ($v0) -/* 0A5F80 7F071450 8C8C0004 */ lw $t4, 4($a0) -/* 0A5F84 7F071454 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0A5F88 7F071458 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A5F8C 7F07145C 1180000A */ beqz $t4, .L7F071488 -/* 0A5F90 7F071460 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 0A5F94 7F071464 8C82000C */ lw $v0, 0xc($a0) -/* 0A5F98 7F071468 3C0FC411 */ lui $t7, (0xC4112078 >> 16) # lui $t7, 0xc411 -/* 0A5F9C 7F07146C 35EF2078 */ ori $t7, (0xC4112078 & 0xFFFF) # ori $t7, $t7, 0x2078 /*primary prop useZ rendermode*/ -/* 0A5FA0 7F071470 244E0008 */ addiu $t6, $v0, 8 -/* 0A5FA4 7F071474 AC8E000C */ sw $t6, 0xc($a0) -/* 0A5FA8 7F071478 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A5FAC 7F07147C AC580000 */ sw $t8, ($v0) -/* 0A5FB0 7F071480 03E00008 */ jr $ra -/* 0A5FB4 7F071484 AC4F0004 */ sw $t7, 4($v0) - -.L7F071488: /*Not UseZ*/ -/* 0A5FB8 7F071488 8C82000C */ lw $v0, 0xc($a0) -/* 0A5FBC 7F07148C 3C0CC411 */ lui $t4, (0xC4112048 >> 16) # lui $t4, 0xc411 -/* 0A5FC0 7F071490 358C2048 */ ori $t4, (0xC4112048 & 0xFFFF) # ori $t4, $t4, 0x2048 /*primary prop noz rendermode*/ -/* 0A5FC4 7F071494 24590008 */ addiu $t9, $v0, 8 -/* 0A5FC8 7F071498 AC99000C */ sw $t9, 0xc($a0) -/* 0A5FCC 7F07149C AC4C0004 */ sw $t4, 4($v0) -/* 0A5FD0 7F0714A0 03E00008 */ jr $ra -/* 0A5FD4 7F0714A4 AC4D0000 */ sw $t5, ($v0) - -.L7F0714A8: /*sec UseZ*/ -/* 0A5FD8 7F0714A8 8C8E0004 */ lw $t6, 4($a0) -/* 0A5FDC 7F0714AC 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 0A5FE0 7F0714B0 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A5FE4 7F0714B4 11C0000A */ beqz $t6, .L7F0714E0 -/* 0A5FE8 7F0714B8 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 0A5FEC 7F0714BC 8C82000C */ lw $v0, 0xc($a0) -/* 0A5FF0 7F0714C0 3C19C410 */ lui $t9, (0xC41049D8 >> 16) # lui $t9, 0xc410 -/* 0A5FF4 7F0714C4 373949D8 */ ori $t9, (0xC41049D8 & 0xFFFF) # ori $t9, $t9, 0x49d8 -/* 0A5FF8 7F0714C8 24580008 */ addiu $t8, $v0, 8 -/* 0A5FFC 7F0714CC AC98000C */ sw $t8, 0xc($a0) -/* 0A6000 7F0714D0 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A6004 7F0714D4 AC4F0000 */ sw $t7, ($v0) -/* 0A6008 7F0714D8 03E00008 */ jr $ra -/* 0A600C 7F0714DC AC590004 */ sw $t9, 4($v0) - -.L7F0714E0: /*Sec Not UseZ*/ -/* 0A6010 7F0714E0 8C82000C */ lw $v0, 0xc($a0) -/* 0A6014 7F0714E4 3C0EC410 */ lui $t6, (0xC41041C8 >> 16) # lui $t6, 0xc410 -/* 0A6018 7F0714E8 35CE41C8 */ ori $t6, (0xC41041C8 & 0xFFFF) # ori $t6, $t6, 0x41c8 -/* 0A601C 7F0714EC 244D0008 */ addiu $t5, $v0, 8 -/* 0A6020 7F0714F0 AC8D000C */ sw $t5, 0xc($a0) -/* 0A6024 7F0714F4 AC4E0004 */ sw $t6, 4($v0) -/* 0A6028 7F0714F8 03E00008 */ jr $ra -/* 0A602C 7F0714FC AC4C0000 */ sw $t4, ($v0) - -.L7F071500: -/* 0A6030 7F071500 10A00048 */ beqz $a1, .L7F071624 -/* 0A6034 7F071504 3C19E700 */ lui $t9, 0xe700 -/* 0A6038 7F071508 8C82000C */ lw $v0, 0xc($a0) -/* 0A603C 7F07150C 8C880038 */ lw $t0, 0x38($a0) -/* 0A6040 7F071510 3C0CBA00 */ lui $t4, (0xBA001402 >> 16) # lui $t4, 0xba00 -/* 0A6044 7F071514 244F0008 */ addiu $t7, $v0, 8 -/* 0A6048 7F071518 AC8F000C */ sw $t7, 0xc($a0) -/* 0A604C 7F07151C AC400004 */ sw $zero, 4($v0) -/* 0A6050 7F071520 AC590000 */ sw $t9, ($v0) -/* 0A6054 7F071524 8C82000C */ lw $v0, 0xc($a0) -/* 0A6058 7F071528 358C1402 */ ori $t4, (0xBA001402 & 0xFFFF) # ori $t4, $t4, 0x1402 -/* 0A605C 7F07152C 3C0E0010 */ lui $t6, 0x10 /*add to t4 = */ -/* 0A6060 7F071530 244D0008 */ addiu $t5, $v0, 8 -/* 0A6064 7F071534 AC8D000C */ sw $t5, 0xc($a0) -/* 0A6068 7F071538 AC4E0004 */ sw $t6, 4($v0) -/* 0A606C 7F07153C AC4C0000 */ sw $t4, ($v0) /*2cycle*/ -/* 0A6070 7F071540 8C82000C */ lw $v0, 0xc($a0) -/* 0A6074 7F071544 00083402 */ srl $a2, $t0, 0x10 -/* 0A6078 7F071548 30CC00FF */ andi $t4, $a2, 0xff -/* 0A607C 7F07154C 24580008 */ addiu $t8, $v0, 8 -/* 0A6080 7F071550 AC98000C */ sw $t8, 0xc($a0) -/* 0A6084 7F071554 3C0FF800 */ lui $t7, 0xf800 -/* 0A6088 7F071558 00082E02 */ srl $a1, $t0, 0x18 -/* 0A608C 7F07155C 00056E00 */ sll $t5, $a1, 0x18 -/* 0A6090 7F071560 000C7400 */ sll $t6, $t4, 0x10 -/* 0A6094 7F071564 00083A02 */ srl $a3, $t0, 8 -/* 0A6098 7F071568 AC4F0000 */ sw $t7, ($v0) -/* 0A609C 7F07156C 30EF00FF */ andi $t7, $a3, 0xff -/* 0A60A0 7F071570 01AEC025 */ or $t8, $t5, $t6 -/* 0A60A4 7F071574 000FCA00 */ sll $t9, $t7, 8 -/* 0A60A8 7F071578 03196025 */ or $t4, $t8, $t9 -/* 0A60AC 7F07157C 310D00FF */ andi $t5, $t0, 0xff -/* 0A60B0 7F071580 018D7025 */ or $t6, $t4, $t5 -/* 0A60B4 7F071584 AC4E0004 */ sw $t6, 4($v0) -/* 0A60B8 7F071588 8C82000C */ lw $v0, 0xc($a0) -/* 0A60BC 7F07158C 3C18FB00 */ lui $t8, 0xfb00 -/* 0A60C0 7F071590 244F0008 */ addiu $t7, $v0, 8 -/* 0A60C4 7F071594 AC8F000C */ sw $t7, 0xc($a0) -/* 0A60C8 7F071598 AC580000 */ sw $t8, ($v0) -/* 0A60CC 7F07159C 8C8C0034 */ lw $t4, 0x34($a0) -/* 0A60D0 7F0715A0 3C181FFC */ lui $t8, (0x1FFCFBF8 >> 16) # lui $t8, 0x1ffc -/* 0A60D4 7F0715A4 3C0FFC26 */ lui $t7, (0xFC26E804 >> 16) # lui $t7, 0xfc26 -/* 0A60D8 7F0715A8 318D00FF */ andi $t5, $t4, 0xff -/* 0A60DC 7F0715AC AC4D0004 */ sw $t5, 4($v0) -/* 0A60E0 7F0715B0 8C82000C */ lw $v0, 0xc($a0) -/* 0A60E4 7F0715B4 35EFE804 */ ori $t7, (0xFC26E804 & 0xFFFF) # ori $t7, $t7, 0xe804 -/* 0A60E8 7F0715B8 3718FBF8 */ ori $t8, (0x1FFCFBF8 & 0xFFFF) # ori $t8, $t8, 0xfbf8 -/* 0A60EC 7F0715BC 244E0008 */ addiu $t6, $v0, 8 -/* 0A60F0 7F0715C0 AC8E000C */ sw $t6, 0xc($a0) -/* 0A60F4 7F0715C4 AC580004 */ sw $t8, 4($v0) -/* 0A60F8 7F0715C8 AC4F0000 */ sw $t7, ($v0) -/* 0A60FC 7F0715CC 8C990004 */ lw $t9, 4($a0) -/* 0A6100 7F0715D0 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A6104 7F0715D4 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0A6108 7F0715D8 1320000A */ beqz $t9, .L7F071604 -/* 0A610C 7F0715DC 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A6110 7F0715E0 8C82000C */ lw $v0, 0xc($a0) -/* 0A6114 7F0715E4 3C0EC411 */ lui $t6, (0xC4113078 >> 16) # lui $t6, 0xc411 -/* 0A6118 7F0715E8 35CE3078 */ ori $t6, (0xC4113078 & 0xFFFF) # ori $t6, $t6, 0x3078 -/* 0A611C 7F0715EC 244C0008 */ addiu $t4, $v0, 8 -/* 0A6120 7F0715F0 AC8C000C */ sw $t4, 0xc($a0) -/* 0A6124 7F0715F4 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 0A6128 7F0715F8 AC4D0000 */ sw $t5, ($v0) -/* 0A612C 7F0715FC 03E00008 */ jr $ra -/* 0A6130 7F071600 AC4E0004 */ sw $t6, 4($v0) - -.L7F071604: -/* 0A6134 7F071604 8C82000C */ lw $v0, 0xc($a0) -/* 0A6138 7F071608 3C19C411 */ lui $t9, (0xC4113048 >> 16) # lui $t9, 0xc411 -/* 0A613C 7F07160C 37393048 */ ori $t9, (0xC4113048 & 0xFFFF) # ori $t9, $t9, 0x3048 -/* 0A6140 7F071610 244F0008 */ addiu $t7, $v0, 8 -/* 0A6144 7F071614 AC8F000C */ sw $t7, 0xc($a0) -/* 0A6148 7F071618 AC590004 */ sw $t9, 4($v0) -/* 0A614C 7F07161C 03E00008 */ jr $ra -/* 0A6150 7F071620 AC580000 */ sw $t8, ($v0) - -.L7F071624: -/* 0A6154 7F071624 8C82000C */ lw $v0, 0xc($a0) -/* 0A6158 7F071628 3C0DFA00 */ lui $t5, 0xfa00 -/* 0A615C 7F07162C 244C0008 */ addiu $t4, $v0, 8 -/* 0A6160 7F071630 AC8C000C */ sw $t4, 0xc($a0) -/* 0A6164 7F071634 AC4D0000 */ sw $t5, ($v0) -/* 0A6168 7F071638 8C8E0034 */ lw $t6, 0x34($a0) -/* 0A616C 7F07163C 3C0DFC26 */ lui $t5, (0xFC26C204 >> 16) # lui $t5, 0xfc26 -/* 0A6170 7F071640 35ADC204 */ ori $t5, (0xFC26C204 & 0xFFFF) # ori $t5, $t5, 0xc204 -/* 0A6174 7F071644 000EC202 */ srl $t8, $t6, 8 -/* 0A6178 7F071648 331900FF */ andi $t9, $t8, 0xff -/* 0A617C 7F07164C AC590004 */ sw $t9, 4($v0) -/* 0A6180 7F071650 8C82000C */ lw $v0, 0xc($a0) -/* 0A6184 7F071654 3C0E1FCC */ lui $t6, (0x1FCCDFF8 >> 16) # lui $t6, 0x1fcc -/* 0A6188 7F071658 35CEDFF8 */ ori $t6, (0x1FCCDFF8 & 0xFFFF) # ori $t6, $t6, 0xdff8 -/* 0A618C 7F07165C 244C0008 */ addiu $t4, $v0, 8 -/* 0A6190 7F071660 AC8C000C */ sw $t4, 0xc($a0) -/* 0A6194 7F071664 AC4E0004 */ sw $t6, 4($v0) -/* 0A6198 7F071668 AC4D0000 */ sw $t5, ($v0) -/* 0A619C 7F07166C 8C8F0004 */ lw $t7, 4($a0) -/* 0A61A0 7F071670 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A61A4 7F071674 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0A61A8 7F071678 11E0000A */ beqz $t7, .L7F0716A4 -/* 0A61AC 7F07167C 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A61B0 7F071680 8C82000C */ lw $v0, 0xc($a0) -/* 0A61B4 7F071684 3C0CC411 */ lui $t4, (0xC4113078 >> 16) # lui $t4, 0xc411 -/* 0A61B8 7F071688 358C3078 */ ori $t4, (0xC4113078 & 0xFFFF) # ori $t4, $t4, 0x3078 -/* 0A61BC 7F07168C 24580008 */ addiu $t8, $v0, 8 -/* 0A61C0 7F071690 AC98000C */ sw $t8, 0xc($a0) -/* 0A61C4 7F071694 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0A61C8 7F071698 AC590000 */ sw $t9, ($v0) -/* 0A61CC 7F07169C 03E00008 */ jr $ra -/* 0A61D0 7F0716A0 AC4C0004 */ sw $t4, 4($v0) - -.L7F0716A4: -/* 0A61D4 7F0716A4 8C82000C */ lw $v0, 0xc($a0) -/* 0A61D8 7F0716A8 3C0FC411 */ lui $t7, (0xC4113048 >> 16) # lui $t7, 0xc411 -/* 0A61DC 7F0716AC 35EF3048 */ ori $t7, (0xC4113048 & 0xFFFF) # ori $t7, $t7, 0x3048 -/* 0A61E0 7F0716B0 244D0008 */ addiu $t5, $v0, 8 -/* 0A61E4 7F0716B4 AC8D000C */ sw $t5, 0xc($a0) -/* 0A61E8 7F0716B8 AC4F0004 */ sw $t7, 4($v0) -/* 0A61EC 7F0716BC 03E00008 */ jr $ra -/* 0A61F0 7F0716C0 AC4E0000 */ sw $t6, ($v0) - -/* 0A61F4 7F0716C4 24010004 */ li $at, 4 -.L7F0716C8: -/* 0A61F8 7F0716C8 54410059 */ bnel $v0, $at, .L7F071830 -/* 0A61FC 7F0716CC 24010005 */ li $at, 5 -/* 0A6200 7F0716D0 10A00040 */ beqz $a1, .L7F0717D4 -/* 0A6204 7F0716D4 3C0CE700 */ lui $t4, 0xe700 -/* 0A6208 7F0716D8 8C82000C */ lw $v0, 0xc($a0) -/* 0A620C 7F0716DC 8C880034 */ lw $t0, 0x34($a0) -/* 0A6210 7F0716E0 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00 -/* 0A6214 7F0716E4 24590008 */ addiu $t9, $v0, 8 -/* 0A6218 7F0716E8 AC99000C */ sw $t9, 0xc($a0) -/* 0A621C 7F0716EC AC400004 */ sw $zero, 4($v0) -/* 0A6220 7F0716F0 AC4C0000 */ sw $t4, ($v0) -/* 0A6224 7F0716F4 8C82000C */ lw $v0, 0xc($a0) -/* 0A6228 7F0716F8 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402 -/* 0A622C 7F0716FC 3C0F0010 */ lui $t7, 0x10 -/* 0A6230 7F071700 244D0008 */ addiu $t5, $v0, 8 -/* 0A6234 7F071704 AC8D000C */ sw $t5, 0xc($a0) -/* 0A6238 7F071708 AC4F0004 */ sw $t7, 4($v0) -/* 0A623C 7F07170C AC4E0000 */ sw $t6, ($v0) -/* 0A6240 7F071710 8C82000C */ lw $v0, 0xc($a0) -/* 0A6244 7F071714 00083402 */ srl $a2, $t0, 0x10 -/* 0A6248 7F071718 30CE00FF */ andi $t6, $a2, 0xff -/* 0A624C 7F07171C 24580008 */ addiu $t8, $v0, 8 -/* 0A6250 7F071720 AC98000C */ sw $t8, 0xc($a0) -/* 0A6254 7F071724 3C19F800 */ lui $t9, 0xf800 -/* 0A6258 7F071728 00082E02 */ srl $a1, $t0, 0x18 -/* 0A625C 7F07172C 00056E00 */ sll $t5, $a1, 0x18 -/* 0A6260 7F071730 000E7C00 */ sll $t7, $t6, 0x10 -/* 0A6264 7F071734 00083A02 */ srl $a3, $t0, 8 -/* 0A6268 7F071738 AC590000 */ sw $t9, ($v0) -/* 0A626C 7F07173C 30F900FF */ andi $t9, $a3, 0xff -/* 0A6270 7F071740 01AFC025 */ or $t8, $t5, $t7 -/* 0A6274 7F071744 00196200 */ sll $t4, $t9, 8 -/* 0A6278 7F071748 030C7025 */ or $t6, $t8, $t4 -/* 0A627C 7F07174C 310D00FF */ andi $t5, $t0, 0xff -/* 0A6280 7F071750 01CD7825 */ or $t7, $t6, $t5 -/* 0A6284 7F071754 AC4F0004 */ sw $t7, 4($v0) -/* 0A6288 7F071758 8C82000C */ lw $v0, 0xc($a0) -/* 0A628C 7F07175C 3C0C1F10 */ lui $t4, (0x1F1093FF >> 16) # lui $t4, 0x1f10 -/* 0A6290 7F071760 3C18FC26 */ lui $t8, (0xFC26A004 >> 16) # lui $t8, 0xfc26 -/* 0A6294 7F071764 24590008 */ addiu $t9, $v0, 8 -/* 0A6298 7F071768 AC99000C */ sw $t9, 0xc($a0) -/* 0A629C 7F07176C 3718A004 */ ori $t8, (0xFC26A004 & 0xFFFF) # ori $t8, $t8, 0xa004 -/* 0A62A0 7F071770 358C93FF */ ori $t4, (0x1F1093FF & 0xFFFF) # ori $t4, $t4, 0x93ff -/* 0A62A4 7F071774 AC4C0004 */ sw $t4, 4($v0) -/* 0A62A8 7F071778 AC580000 */ sw $t8, ($v0) -/* 0A62AC 7F07177C 8C8E0004 */ lw $t6, 4($a0) -/* 0A62B0 7F071780 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 0A62B4 7F071784 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A62B8 7F071788 11C0000A */ beqz $t6, .L7F0717B4 -/* 0A62BC 7F07178C 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 0A62C0 7F071790 8C82000C */ lw $v0, 0xc($a0) -/* 0A62C4 7F071794 3C19C411 */ lui $t9, (0xC4112078 >> 16) # lui $t9, 0xc411 -/* 0A62C8 7F071798 37392078 */ ori $t9, (0xC4112078 & 0xFFFF) # ori $t9, $t9, 0x2078 -/* 0A62CC 7F07179C 244D0008 */ addiu $t5, $v0, 8 -/* 0A62D0 7F0717A0 AC8D000C */ sw $t5, 0xc($a0) -/* 0A62D4 7F0717A4 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A62D8 7F0717A8 AC4F0000 */ sw $t7, ($v0) -/* 0A62DC 7F0717AC 03E00008 */ jr $ra -/* 0A62E0 7F0717B0 AC590004 */ sw $t9, 4($v0) - -.L7F0717B4: -/* 0A62E4 7F0717B4 8C82000C */ lw $v0, 0xc($a0) -/* 0A62E8 7F0717B8 3C0EC411 */ lui $t6, (0xC4112048 >> 16) # lui $t6, 0xc411 -/* 0A62EC 7F0717BC 35CE2048 */ ori $t6, (0xC4112048 & 0xFFFF) # ori $t6, $t6, 0x2048 -/* 0A62F0 7F0717C0 24580008 */ addiu $t8, $v0, 8 -/* 0A62F4 7F0717C4 AC98000C */ sw $t8, 0xc($a0) -/* 0A62F8 7F0717C8 AC4E0004 */ sw $t6, 4($v0) -/* 0A62FC 7F0717CC 03E00008 */ jr $ra -/* 0A6300 7F0717D0 AC4C0000 */ sw $t4, ($v0) - -.L7F0717D4: -/* 0A6304 7F0717D4 8C8D0004 */ lw $t5, 4($a0) -/* 0A6308 7F0717D8 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A630C 7F0717DC 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0A6310 7F0717E0 11A0000A */ beqz $t5, .L7F07180C -/* 0A6314 7F0717E4 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A6318 7F0717E8 8C82000C */ lw $v0, 0xc($a0) -/* 0A631C 7F0717EC 3C18C410 */ lui $t8, (0xC41049D8 >> 16) # lui $t8, 0xc410 -/* 0A6320 7F0717F0 371849D8 */ ori $t8, (0xC41049D8 & 0xFFFF) # ori $t8, $t8, 0x49d8 -/* 0A6324 7F0717F4 244F0008 */ addiu $t7, $v0, 8 -/* 0A6328 7F0717F8 AC8F000C */ sw $t7, 0xc($a0) -/* 0A632C 7F0717FC 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0A6330 7F071800 AC590000 */ sw $t9, ($v0) -/* 0A6334 7F071804 03E00008 */ jr $ra -/* 0A6338 7F071808 AC580004 */ sw $t8, 4($v0) - -.L7F07180C: -/* 0A633C 7F07180C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6340 7F071810 3C0DC410 */ lui $t5, (0xC41041C8 >> 16) # lui $t5, 0xc410 -/* 0A6344 7F071814 35AD41C8 */ ori $t5, (0xC41041C8 & 0xFFFF) # ori $t5, $t5, 0x41c8 -/* 0A6348 7F071818 244C0008 */ addiu $t4, $v0, 8 -/* 0A634C 7F07181C AC8C000C */ sw $t4, 0xc($a0) -/* 0A6350 7F071820 AC4D0004 */ sw $t5, 4($v0) -/* 0A6354 7F071824 03E00008 */ jr $ra -/* 0A6358 7F071828 AC4E0000 */ sw $t6, ($v0) - -/* 0A635C 7F07182C 24010005 */ li $at, 5 -.L7F071830: -/* 0A6360 7F071830 1441007F */ bne $v0, $at, .L7F071A30 -/* 0A6364 7F071834 00000000 */ nop -/* 0A6368 7F071838 50A00066 */ beql $a1, $zero, .L7F0719D4 -/* 0A636C 7F07183C 8C990034 */ lw $t9, 0x34($a0) -/* 0A6370 7F071840 8C82000C */ lw $v0, 0xc($a0) -/* 0A6374 7F071844 3C19E700 */ lui $t9, 0xe700 -/* 0A6378 7F071848 3C0CBA00 */ lui $t4, (0xBA001402 >> 16) # lui $t4, 0xba00 -/* 0A637C 7F07184C 244F0008 */ addiu $t7, $v0, 8 -/* 0A6380 7F071850 AC8F000C */ sw $t7, 0xc($a0) -/* 0A6384 7F071854 AC400004 */ sw $zero, 4($v0) -/* 0A6388 7F071858 AC590000 */ sw $t9, ($v0) -/* 0A638C 7F07185C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6390 7F071860 358C1402 */ ori $t4, (0xBA001402 & 0xFFFF) # ori $t4, $t4, 0x1402 -/* 0A6394 7F071864 3C0E0010 */ lui $t6, 0x10 -/* 0A6398 7F071868 24580008 */ addiu $t8, $v0, 8 -/* 0A639C 7F07186C AC98000C */ sw $t8, 0xc($a0) -/* 0A63A0 7F071870 AC4E0004 */ sw $t6, 4($v0) -/* 0A63A4 7F071874 AC4C0000 */ sw $t4, ($v0) -/* 0A63A8 7F071878 8C8A0038 */ lw $t2, 0x38($a0) -/* 0A63AC 7F07187C 8C82000C */ lw $v0, 0xc($a0) -/* 0A63B0 7F071880 3C19F800 */ lui $t9, 0xf800 -/* 0A63B4 7F071884 000A4402 */ srl $t0, $t2, 0x10 -/* 0A63B8 7F071888 244F0008 */ addiu $t7, $v0, 8 -/* 0A63BC 7F07188C AC8F000C */ sw $t7, 0xc($a0) -/* 0A63C0 7F071890 310E00FF */ andi $t6, $t0, 0xff -/* 0A63C4 7F071894 000AC602 */ srl $t8, $t2, 0x18 -/* 0A63C8 7F071898 00186600 */ sll $t4, $t8, 0x18 -/* 0A63CC 7F07189C 000E6C00 */ sll $t5, $t6, 0x10 -/* 0A63D0 7F0718A0 000A4A02 */ srl $t1, $t2, 8 -/* 0A63D4 7F0718A4 AC590000 */ sw $t9, ($v0) -/* 0A63D8 7F0718A8 313900FF */ andi $t9, $t1, 0xff -/* 0A63DC 7F0718AC 018D7825 */ or $t7, $t4, $t5 -/* 0A63E0 7F0718B0 0019C200 */ sll $t8, $t9, 8 -/* 0A63E4 7F0718B4 01F87025 */ or $t6, $t7, $t8 -/* 0A63E8 7F0718B8 314C00FF */ andi $t4, $t2, 0xff -/* 0A63EC 7F0718BC 01CC6825 */ or $t5, $t6, $t4 -/* 0A63F0 7F0718C0 AC4D0004 */ sw $t5, 4($v0) -/* 0A63F4 7F0718C4 8C990034 */ lw $t9, 0x34($a0) -/* 0A63F8 7F0718C8 3C0EFC26 */ lui $t6, (0xFC26A004 >> 16) # lui $t6, 0xfc26 -/* 0A63FC 7F0718CC 35CEA004 */ ori $t6, (0xFC26A004 & 0xFFFF) # ori $t6, $t6, 0xa004 -/* 0A6400 7F0718D0 332F00FF */ andi $t7, $t9, 0xff -/* 0A6404 7F0718D4 29E100FF */ slti $at, $t7, 0xff -/* 0A6408 7F0718D8 10200020 */ beqz $at, .L7F07195C -/* 0A640C 7F0718DC 31EC00FF */ andi $t4, $t7, 0xff -/* 0A6410 7F0718E0 8C82000C */ lw $v0, 0xc($a0) -/* 0A6414 7F0718E4 2401FF00 */ li $at, -256 -/* 0A6418 7F0718E8 01816825 */ or $t5, $t4, $at -/* 0A641C 7F0718EC 24580008 */ addiu $t8, $v0, 8 -/* 0A6420 7F0718F0 AC98000C */ sw $t8, 0xc($a0) -/* 0A6424 7F0718F4 3C0EFB00 */ lui $t6, 0xfb00 -/* 0A6428 7F0718F8 AC4E0000 */ sw $t6, ($v0) -/* 0A642C 7F0718FC AC4D0004 */ sw $t5, 4($v0) -/* 0A6430 7F071900 8C990034 */ lw $t9, 0x34($a0) -/* 0A6434 7F071904 3C0EFC26 */ lui $t6, (0xFC26EA04 >> 16) # lui $t6, 0xfc26 -/* 0A6438 7F071908 35CEEA04 */ ori $t6, (0xFC26EA04 & 0xFFFF) # ori $t6, $t6, 0xea04 -/* 0A643C 7F07190C 332FFF00 */ andi $t7, $t9, 0xff00 -/* 0A6440 7F071910 11E00009 */ beqz $t7, .L7F071938 -/* 0A6444 7F071914 3C19FC26 */ lui $t9, (0xFC26EA04 >> 16) # lui $t9, 0xfc26 -/* 0A6448 7F071918 8C82000C */ lw $v0, 0xc($a0) -/* 0A644C 7F07191C 3C0C1F10 */ lui $t4, (0x1F10CFFF >> 16) # lui $t4, 0x1f10 -/* 0A6450 7F071920 358CCFFF */ ori $t4, (0x1F10CFFF & 0xFFFF) # ori $t4, $t4, 0xcfff -/* 0A6454 7F071924 24580008 */ addiu $t8, $v0, 8 -/* 0A6458 7F071928 AC98000C */ sw $t8, 0xc($a0) -/* 0A645C 7F07192C AC4C0004 */ sw $t4, 4($v0) -/* 0A6460 7F071930 10000011 */ b .L7F071978 -/* 0A6464 7F071934 AC4E0000 */ sw $t6, ($v0) -.L7F071938: -/* 0A6468 7F071938 8C82000C */ lw $v0, 0xc($a0) -/* 0A646C 7F07193C 3C0F1F10 */ lui $t7, (0x1F10FFFF >> 16) # lui $t7, 0x1f10 -/* 0A6470 7F071940 35EFFFFF */ ori $t7, (0x1F10FFFF & 0xFFFF) # ori $t7, $t7, 0xffff -/* 0A6474 7F071944 244D0008 */ addiu $t5, $v0, 8 -/* 0A6478 7F071948 AC8D000C */ sw $t5, 0xc($a0) -/* 0A647C 7F07194C 3739EA04 */ ori $t9, (0xFC26EA04 & 0xFFFF) # ori $t9, $t9, 0xea04 -/* 0A6480 7F071950 AC590000 */ sw $t9, ($v0) -/* 0A6484 7F071954 10000008 */ b .L7F071978 -/* 0A6488 7F071958 AC4F0004 */ sw $t7, 4($v0) -.L7F07195C: -/* 0A648C 7F07195C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6490 7F071960 3C0C1F10 */ lui $t4, (0x1F1093FF >> 16) # lui $t4, 0x1f10 -/* 0A6494 7F071964 358C93FF */ ori $t4, (0x1F1093FF & 0xFFFF) # ori $t4, $t4, 0x93ff -/* 0A6498 7F071968 24580008 */ addiu $t8, $v0, 8 -/* 0A649C 7F07196C AC98000C */ sw $t8, 0xc($a0) -/* 0A64A0 7F071970 AC4C0004 */ sw $t4, 4($v0) -/* 0A64A4 7F071974 AC4E0000 */ sw $t6, ($v0) -.L7F071978: -/* 0A64A8 7F071978 8C8D0004 */ lw $t5, 4($a0) -/* 0A64AC 7F07197C 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 0A64B0 7F071980 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A64B4 7F071984 11A0000A */ beqz $t5, .L7F0719B0 -/* 0A64B8 7F071988 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 0A64BC 7F07198C 8C82000C */ lw $v0, 0xc($a0) -/* 0A64C0 7F071990 3C18C410 */ lui $t8, (0xC41049D8 >> 16) # lui $t8, 0xc410 -/* 0A64C4 7F071994 371849D8 */ ori $t8, (0xC41049D8 & 0xFFFF) # ori $t8, $t8, 0x49d8 -/* 0A64C8 7F071998 24590008 */ addiu $t9, $v0, 8 -/* 0A64CC 7F07199C AC99000C */ sw $t9, 0xc($a0) -/* 0A64D0 7F0719A0 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A64D4 7F0719A4 AC4F0000 */ sw $t7, ($v0) -/* 0A64D8 7F0719A8 03E00008 */ jr $ra -/* 0A64DC 7F0719AC AC580004 */ sw $t8, 4($v0) - -.L7F0719B0: -/* 0A64E0 7F0719B0 8C82000C */ lw $v0, 0xc($a0) -/* 0A64E4 7F0719B4 3C0DC410 */ lui $t5, (0xC41041C8 >> 16) # lui $t5, 0xc410 -/* 0A64E8 7F0719B8 35AD41C8 */ ori $t5, (0xC41041C8 & 0xFFFF) # ori $t5, $t5, 0x41c8 -/* 0A64EC 7F0719BC 244E0008 */ addiu $t6, $v0, 8 -/* 0A64F0 7F0719C0 AC8E000C */ sw $t6, 0xc($a0) -/* 0A64F4 7F0719C4 AC4D0004 */ sw $t5, 4($v0) -/* 0A64F8 7F0719C8 03E00008 */ jr $ra -/* 0A64FC 7F0719CC AC4C0000 */ sw $t4, ($v0) - -/* 0A6500 7F0719D0 8C990034 */ lw $t9, 0x34($a0) -.L7F0719D4: -/* 0A6504 7F0719D4 3C0EFC26 */ lui $t6, (0xFC269A04 >> 16) # lui $t6, 0xfc26 -/* 0A6508 7F0719D8 35CE9A04 */ ori $t6, (0xFC269A04 & 0xFFFF) # ori $t6, $t6, 0x9a04 -/* 0A650C 7F0719DC 332F00FF */ andi $t7, $t9, 0xff -/* 0A6510 7F0719E0 29E100FF */ slti $at, $t7, 0xff -/* 0A6514 7F0719E4 10200009 */ beqz $at, .L7F071A0C -/* 0A6518 7F0719E8 3C19FC26 */ lui $t9, 0xfc26 -/* 0A651C 7F0719EC 8C82000C */ lw $v0, 0xc($a0) -/* 0A6520 7F0719F0 3C0C1F10 */ lui $t4, (0x1F10FFFF >> 16) # lui $t4, 0x1f10 -/* 0A6524 7F0719F4 358CFFFF */ ori $t4, (0x1F10FFFF & 0xFFFF) # ori $t4, $t4, 0xffff -/* 0A6528 7F0719F8 24580008 */ addiu $t8, $v0, 8 -/* 0A652C 7F0719FC AC98000C */ sw $t8, 0xc($a0) -/* 0A6530 7F071A00 AC4C0004 */ sw $t4, 4($v0) -/* 0A6534 7F071A04 03E00008 */ jr $ra -/* 0A6538 7F071A08 AC4E0000 */ sw $t6, ($v0) - -.L7F071A0C: -/* 0A653C 7F071A0C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6540 7F071A10 3C0F1F10 */ lui $t7, (0x1F1093FF >> 16) # lui $t7, 0x1f10 -/* 0A6544 7F071A14 35EF93FF */ ori $t7, (0x1F1093FF & 0xFFFF) # ori $t7, $t7, 0x93ff -/* 0A6548 7F071A18 244D0008 */ addiu $t5, $v0, 8 -/* 0A654C 7F071A1C AC8D000C */ sw $t5, 0xc($a0) -/* 0A6550 7F071A20 3739A004 */ ori $t9, $t9, 0xa004 -/* 0A6554 7F071A24 AC590000 */ sw $t9, ($v0) -/* 0A6558 7F071A28 03E00008 */ jr $ra -/* 0A655C 7F071A2C AC4F0004 */ sw $t7, 4($v0) - -.L7F071A30: -/* 0A6560 7F071A30 10A0002D */ beqz $a1, .L7F071AE8 -/* 0A6564 7F071A34 3C0EE700 */ lui $t6, 0xe700 -/* 0A6568 7F071A38 8C82000C */ lw $v0, 0xc($a0) -/* 0A656C 7F071A3C 3C0DBA00 */ lui $t5, (0xBA001402 >> 16) # lui $t5, 0xba00 -/* 0A6570 7F071A40 35AD1402 */ ori $t5, (0xBA001402 & 0xFFFF) # ori $t5, $t5, 0x1402 -/* 0A6574 7F071A44 24580008 */ addiu $t8, $v0, 8 -/* 0A6578 7F071A48 AC98000C */ sw $t8, 0xc($a0) -/* 0A657C 7F071A4C AC400004 */ sw $zero, 4($v0) -/* 0A6580 7F071A50 AC4E0000 */ sw $t6, ($v0) -/* 0A6584 7F071A54 8C82000C */ lw $v0, 0xc($a0) -/* 0A6588 7F071A58 3C190010 */ lui $t9, 0x10 -/* 0A658C 7F071A5C 3C0E1F10 */ lui $t6, (0x1F1093FF >> 16) # lui $t6, 0x1f10 -/* 0A6590 7F071A60 244C0008 */ addiu $t4, $v0, 8 -/* 0A6594 7F071A64 AC8C000C */ sw $t4, 0xc($a0) -/* 0A6598 7F071A68 AC590004 */ sw $t9, 4($v0) -/* 0A659C 7F071A6C AC4D0000 */ sw $t5, ($v0) -/* 0A65A0 7F071A70 8C82000C */ lw $v0, 0xc($a0) -/* 0A65A4 7F071A74 3C18FC26 */ lui $t8, (0xFC26A004 >> 16) # lui $t8, 0xfc26 -/* 0A65A8 7F071A78 3718A004 */ ori $t8, (0xFC26A004 & 0xFFFF) # ori $t8, $t8, 0xa004 -/* 0A65AC 7F071A7C 244F0008 */ addiu $t7, $v0, 8 -/* 0A65B0 7F071A80 AC8F000C */ sw $t7, 0xc($a0) -/* 0A65B4 7F071A84 35CE93FF */ ori $t6, (0x1F1093FF & 0xFFFF) # ori $t6, $t6, 0x93ff -/* 0A65B8 7F071A88 AC4E0004 */ sw $t6, 4($v0) -/* 0A65BC 7F071A8C AC580000 */ sw $t8, ($v0) -/* 0A65C0 7F071A90 8C8C0004 */ lw $t4, 4($a0) -/* 0A65C4 7F071A94 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A65C8 7F071A98 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0A65CC 7F071A9C 1180000A */ beqz $t4, .L7F071AC8 -/* 0A65D0 7F071AA0 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A65D4 7F071AA4 8C82000C */ lw $v0, 0xc($a0) -/* 0A65D8 7F071AA8 3C0F0C19 */ lui $t7, (0x0C192078 >> 16) # lui $t7, 0xc19 -/* 0A65DC 7F071AAC 35EF2078 */ ori $t7, (0x0C192078 & 0xFFFF) # ori $t7, $t7, 0x2078 -/* 0A65E0 7F071AB0 244D0008 */ addiu $t5, $v0, 8 -/* 0A65E4 7F071AB4 AC8D000C */ sw $t5, 0xc($a0) -/* 0A65E8 7F071AB8 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0A65EC 7F071ABC AC590000 */ sw $t9, ($v0) -/* 0A65F0 7F071AC0 03E00008 */ jr $ra -/* 0A65F4 7F071AC4 AC4F0004 */ sw $t7, 4($v0) - -.L7F071AC8: -/* 0A65F8 7F071AC8 8C82000C */ lw $v0, 0xc($a0) -/* 0A65FC 7F071ACC 3C0C0C19 */ lui $t4, (0x0C192048 >> 16) # lui $t4, 0xc19 -/* 0A6600 7F071AD0 358C2048 */ ori $t4, (0x0C192048 & 0xFFFF) # ori $t4, $t4, 0x2048 -/* 0A6604 7F071AD4 24580008 */ addiu $t8, $v0, 8 -/* 0A6608 7F071AD8 AC98000C */ sw $t8, 0xc($a0) -/* 0A660C 7F071ADC AC4C0004 */ sw $t4, 4($v0) -/* 0A6610 7F071AE0 03E00008 */ jr $ra -/* 0A6614 7F071AE4 AC4E0000 */ sw $t6, ($v0) - -.L7F071AE8: -/* 0A6618 7F071AE8 8C8D0004 */ lw $t5, 4($a0) -/* 0A661C 7F071AEC 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 0A6620 7F071AF0 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A6624 7F071AF4 11A0000A */ beqz $t5, .L7F071B20 -/* 0A6628 7F071AF8 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 0A662C 7F071AFC 8C82000C */ lw $v0, 0xc($a0) -/* 0A6630 7F071B00 3C180C18 */ lui $t8, (0x0C1849D8 >> 16) # lui $t8, 0xc18 -/* 0A6634 7F071B04 371849D8 */ ori $t8, (0x0C1849D8 & 0xFFFF) # ori $t8, $t8, 0x49d8 -/* 0A6638 7F071B08 24590008 */ addiu $t9, $v0, 8 -/* 0A663C 7F071B0C AC99000C */ sw $t9, 0xc($a0) -/* 0A6640 7F071B10 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A6644 7F071B14 AC4F0000 */ sw $t7, ($v0) -/* 0A6648 7F071B18 03E00008 */ jr $ra -/* 0A664C 7F071B1C AC580004 */ sw $t8, 4($v0) - -.L7F071B20: -/* 0A6650 7F071B20 8C82000C */ lw $v0, 0xc($a0) -/* 0A6654 7F071B24 3C0D0C18 */ lui $t5, (0x0C1841C8 >> 16) # lui $t5, 0xc18 -/* 0A6658 7F071B28 35AD41C8 */ ori $t5, (0x0C1841C8 & 0xFFFF) # ori $t5, $t5, 0x41c8 -/* 0A665C 7F071B2C 244E0008 */ addiu $t6, $v0, 8 -/* 0A6660 7F071B30 AC8E000C */ sw $t6, 0xc($a0) -/* 0A6664 7F071B34 AC4D0004 */ sw $t5, 4($v0) -/* 0A6668 7F071B38 AC4C0000 */ sw $t4, ($v0) -.L7F071B3C: -/* 0A666C 7F071B3C 03E00008 */ jr $ra -/* 0A6670 7F071B40 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F071B44(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F071B44 -/* 0A6674 7F071B44 8C820030 */ lw $v0, 0x30($a0) -/* 0A6678 7F071B48 24010007 */ li $at, 7 -/* 0A667C 7F071B4C 5441006B */ bnel $v0, $at, .L7F071CFC -/* 0A6680 7F071B50 24010008 */ li $at, 8 -/* 0A6684 7F071B54 8C82000C */ lw $v0, 0xc($a0) -/* 0A6688 7F071B58 3C0FE700 */ lui $t7, 0xe700 -/* 0A668C 7F071B5C 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0A6690 7F071B60 244E0008 */ addiu $t6, $v0, 8 -/* 0A6694 7F071B64 AC8E000C */ sw $t6, 0xc($a0) -/* 0A6698 7F071B68 AC400004 */ sw $zero, 4($v0) -/* 0A669C 7F071B6C AC4F0000 */ sw $t7, ($v0) -/* 0A66A0 7F071B70 8C82000C */ lw $v0, 0xc($a0) -/* 0A66A4 7F071B74 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0A66A8 7F071B78 3C0D0010 */ lui $t5, 0x10 -/* 0A66AC 7F071B7C 24580008 */ addiu $t8, $v0, 8 -/* 0A66B0 7F071B80 AC98000C */ sw $t8, 0xc($a0) -/* 0A66B4 7F071B84 AC4D0004 */ sw $t5, 4($v0) -/* 0A66B8 7F071B88 AC590000 */ sw $t9, ($v0) -/* 0A66BC 7F071B8C 8C82000C */ lw $v0, 0xc($a0) -/* 0A66C0 7F071B90 8C8B0038 */ lw $t3, 0x38($a0) -/* 0A66C4 7F071B94 3C19F800 */ lui $t9, 0xf800 -/* 0A66C8 7F071B98 24580008 */ addiu $t8, $v0, 8 -/* 0A66CC 7F071B9C AC98000C */ sw $t8, 0xc($a0) -/* 0A66D0 7F071BA0 000B4C02 */ srl $t1, $t3, 0x10 -/* 0A66D4 7F071BA4 312F00FF */ andi $t7, $t1, 0xff -/* 0A66D8 7F071BA8 000B4602 */ srl $t0, $t3, 0x18 -/* 0A66DC 7F071BAC 00087600 */ sll $t6, $t0, 0x18 -/* 0A66E0 7F071BB0 000FC400 */ sll $t8, $t7, 0x10 -/* 0A66E4 7F071BB4 AC590000 */ sw $t9, ($v0) -/* 0A66E8 7F071BB8 000B5202 */ srl $t2, $t3, 8 -/* 0A66EC 7F071BBC 314D00FF */ andi $t5, $t2, 0xff -/* 0A66F0 7F071BC0 01D8C825 */ or $t9, $t6, $t8 -/* 0A66F4 7F071BC4 000D7A00 */ sll $t7, $t5, 8 -/* 0A66F8 7F071BC8 032F7025 */ or $t6, $t9, $t7 -/* 0A66FC 7F071BCC 317800FF */ andi $t8, $t3, 0xff -/* 0A6700 7F071BD0 01D86825 */ or $t5, $t6, $t8 -/* 0A6704 7F071BD4 AC4D0004 */ sw $t5, 4($v0) -/* 0A6708 7F071BD8 8C830034 */ lw $v1, 0x34($a0) -/* 0A670C 7F071BDC 8C82000C */ lw $v0, 0xc($a0) -/* 0A6710 7F071BE0 3C0EFB00 */ lui $t6, 0xfb00 -/* 0A6714 7F071BE4 00034C02 */ srl $t1, $v1, 0x10 -/* 0A6718 7F071BE8 244F0008 */ addiu $t7, $v0, 8 -/* 0A671C 7F071BEC AC8F000C */ sw $t7, 0xc($a0) -/* 0A6720 7F071BF0 313900FF */ andi $t9, $t1, 0xff -/* 0A6724 7F071BF4 0003C602 */ srl $t8, $v1, 0x18 -/* 0A6728 7F071BF8 00186E00 */ sll $t5, $t8, 0x18 -/* 0A672C 7F071BFC 00197C00 */ sll $t7, $t9, 0x10 -/* 0A6730 7F071C00 00035202 */ srl $t2, $v1, 8 -/* 0A6734 7F071C04 315800FF */ andi $t8, $t2, 0xff -/* 0A6738 7F071C08 AC4E0000 */ sw $t6, ($v0) -/* 0A673C 7F071C0C 01AF7025 */ or $t6, $t5, $t7 -/* 0A6740 7F071C10 0018CA00 */ sll $t9, $t8, 8 -/* 0A6744 7F071C14 01D96825 */ or $t5, $t6, $t9 -/* 0A6748 7F071C18 35AF00FF */ ori $t7, $t5, 0xff -/* 0A674C 7F071C1C AC4F0004 */ sw $t7, 4($v0) -/* 0A6750 7F071C20 8C82000C */ lw $v0, 0xc($a0) -/* 0A6754 7F071C24 3C195FFE */ lui $t9, (0x5FFEDBF8 >> 16) # lui $t9, 0x5ffe -/* 0A6758 7F071C28 3C0EFC15 */ lui $t6, (0xFC159804 >> 16) # lui $t6, 0xfc15 -/* 0A675C 7F071C2C 24580008 */ addiu $t8, $v0, 8 -/* 0A6760 7F071C30 AC98000C */ sw $t8, 0xc($a0) -/* 0A6764 7F071C34 35CE9804 */ ori $t6, (0xFC159804 & 0xFFFF) # ori $t6, $t6, 0x9804 -/* 0A6768 7F071C38 3739DBF8 */ ori $t9, (0x5FFEDBF8 & 0xFFFF) # ori $t9, $t9, 0xdbf8 -/* 0A676C 7F071C3C AC590004 */ sw $t9, 4($v0) -/* 0A6770 7F071C40 10A00017 */ beqz $a1, .L7F071CA0 -/* 0A6774 7F071C44 AC4E0000 */ sw $t6, ($v0) -/* 0A6778 7F071C48 8C8D0004 */ lw $t5, 4($a0) -/* 0A677C 7F071C4C 3C0FC411 */ lui $t7, (0xC4112048 >> 16) # lui $t7, 0xc411 -/* 0A6780 7F071C50 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A6784 7F071C54 11A0000A */ beqz $t5, .L7F071C80 -/* 0A6788 7F071C58 35EF2048 */ ori $t7, (0xC4112048 & 0xFFFF) # ori $t7, $t7, 0x2048 -/* 0A678C 7F071C5C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6790 7F071C60 3C0EC411 */ lui $t6, (0xC4112078 >> 16) # lui $t6, 0xc411 -/* 0A6794 7F071C64 35CE2078 */ ori $t6, (0xC4112078 & 0xFFFF) # ori $t6, $t6, 0x2078 -/* 0A6798 7F071C68 244F0008 */ addiu $t7, $v0, 8 -/* 0A679C 7F071C6C AC8F000C */ sw $t7, 0xc($a0) -/* 0A67A0 7F071C70 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A67A4 7F071C74 AC580000 */ sw $t8, ($v0) -/* 0A67A8 7F071C78 03E00008 */ jr $ra -/* 0A67AC 7F071C7C AC4E0004 */ sw $t6, 4($v0) - -.L7F071C80: -/* 0A67B0 7F071C80 8C82000C */ lw $v0, 0xc($a0) -/* 0A67B4 7F071C84 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0A67B8 7F071C88 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 0A67BC 7F071C8C 24590008 */ addiu $t9, $v0, 8 -/* 0A67C0 7F071C90 AC99000C */ sw $t9, 0xc($a0) -/* 0A67C4 7F071C94 AC4F0004 */ sw $t7, 4($v0) -/* 0A67C8 7F071C98 03E00008 */ jr $ra -/* 0A67CC 7F071C9C AC4D0000 */ sw $t5, ($v0) - -.L7F071CA0: -/* 0A67D0 7F071CA0 8C980004 */ lw $t8, 4($a0) -/* 0A67D4 7F071CA4 3C0EC410 */ lui $t6, (0xC41041C8 >> 16) # lui $t6, 0xc410 -/* 0A67D8 7F071CA8 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0A67DC 7F071CAC 1300000A */ beqz $t8, .L7F071CD8 -/* 0A67E0 7F071CB0 35CE41C8 */ ori $t6, (0xC41041C8 & 0xFFFF) # ori $t6, $t6, 0x41c8 -/* 0A67E4 7F071CB4 8C82000C */ lw $v0, 0xc($a0) -/* 0A67E8 7F071CB8 3C0DC410 */ lui $t5, (0xC41049D8 >> 16) # lui $t5, 0xc410 -/* 0A67EC 7F071CBC 35AD49D8 */ ori $t5, (0xC41049D8 & 0xFFFF) # ori $t5, $t5, 0x49d8 -/* 0A67F0 7F071CC0 244E0008 */ addiu $t6, $v0, 8 -/* 0A67F4 7F071CC4 AC8E000C */ sw $t6, 0xc($a0) -/* 0A67F8 7F071CC8 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0A67FC 7F071CCC AC590000 */ sw $t9, ($v0) -/* 0A6800 7F071CD0 03E00008 */ jr $ra -/* 0A6804 7F071CD4 AC4D0004 */ sw $t5, 4($v0) - -.L7F071CD8: -/* 0A6808 7F071CD8 8C82000C */ lw $v0, 0xc($a0) -/* 0A680C 7F071CDC 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A6810 7F071CE0 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A6814 7F071CE4 244F0008 */ addiu $t7, $v0, 8 -/* 0A6818 7F071CE8 AC8F000C */ sw $t7, 0xc($a0) -/* 0A681C 7F071CEC AC4E0004 */ sw $t6, 4($v0) -/* 0A6820 7F071CF0 03E00008 */ jr $ra -/* 0A6824 7F071CF4 AC580000 */ sw $t8, ($v0) - -/* 0A6828 7F071CF8 24010008 */ li $at, 8 -.L7F071CFC: -/* 0A682C 7F071CFC 54410055 */ bnel $v0, $at, .L7F071E54 -/* 0A6830 7F071D00 24010009 */ li $at, 9 -/* 0A6834 7F071D04 8C82000C */ lw $v0, 0xc($a0) -/* 0A6838 7F071D08 3C0DE700 */ lui $t5, 0xe700 -/* 0A683C 7F071D0C 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00 -/* 0A6840 7F071D10 24590008 */ addiu $t9, $v0, 8 -/* 0A6844 7F071D14 AC99000C */ sw $t9, 0xc($a0) -/* 0A6848 7F071D18 AC400004 */ sw $zero, 4($v0) -/* 0A684C 7F071D1C AC4D0000 */ sw $t5, ($v0) -/* 0A6850 7F071D20 8C82000C */ lw $v0, 0xc($a0) -/* 0A6854 7F071D24 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402 -/* 0A6858 7F071D28 3C0E0010 */ lui $t6, 0x10 -/* 0A685C 7F071D2C 244F0008 */ addiu $t7, $v0, 8 -/* 0A6860 7F071D30 AC8F000C */ sw $t7, 0xc($a0) -/* 0A6864 7F071D34 AC4E0004 */ sw $t6, 4($v0) -/* 0A6868 7F071D38 AC580000 */ sw $t8, ($v0) -/* 0A686C 7F071D3C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6870 7F071D40 8C8A0038 */ lw $t2, 0x38($a0) -/* 0A6874 7F071D44 3C18F800 */ lui $t8, 0xf800 -/* 0A6878 7F071D48 244F0008 */ addiu $t7, $v0, 8 -/* 0A687C 7F071D4C AC8F000C */ sw $t7, 0xc($a0) -/* 0A6880 7F071D50 000A4402 */ srl $t0, $t2, 0x10 -/* 0A6884 7F071D54 310D00FF */ andi $t5, $t0, 0xff -/* 0A6888 7F071D58 000A3E02 */ srl $a3, $t2, 0x18 -/* 0A688C 7F071D5C 0007CE00 */ sll $t9, $a3, 0x18 -/* 0A6890 7F071D60 000D7C00 */ sll $t7, $t5, 0x10 -/* 0A6894 7F071D64 AC580000 */ sw $t8, ($v0) -/* 0A6898 7F071D68 000A4A02 */ srl $t1, $t2, 8 -/* 0A689C 7F071D6C 312E00FF */ andi $t6, $t1, 0xff -/* 0A68A0 7F071D70 032FC025 */ or $t8, $t9, $t7 -/* 0A68A4 7F071D74 000E6A00 */ sll $t5, $t6, 8 -/* 0A68A8 7F071D78 030DC825 */ or $t9, $t8, $t5 -/* 0A68AC 7F071D7C 314F00FF */ andi $t7, $t2, 0xff -/* 0A68B0 7F071D80 032F7025 */ or $t6, $t9, $t7 -/* 0A68B4 7F071D84 AC4E0004 */ sw $t6, 4($v0) -/* 0A68B8 7F071D88 8C82000C */ lw $v0, 0xc($a0) -/* 0A68BC 7F071D8C 8C8A0034 */ lw $t2, 0x34($a0) -/* 0A68C0 7F071D90 3C0FFB00 */ lui $t7, 0xfb00 -/* 0A68C4 7F071D94 24590008 */ addiu $t9, $v0, 8 -/* 0A68C8 7F071D98 AC99000C */ sw $t9, 0xc($a0) -/* 0A68CC 7F071D9C 000A4402 */ srl $t0, $t2, 0x10 -/* 0A68D0 7F071DA0 310D00FF */ andi $t5, $t0, 0xff -/* 0A68D4 7F071DA4 000A3E02 */ srl $a3, $t2, 0x18 -/* 0A68D8 7F071DA8 0007C600 */ sll $t8, $a3, 0x18 -/* 0A68DC 7F071DAC 000DCC00 */ sll $t9, $t5, 0x10 -/* 0A68E0 7F071DB0 AC4F0000 */ sw $t7, ($v0) -/* 0A68E4 7F071DB4 000A4A02 */ srl $t1, $t2, 8 -/* 0A68E8 7F071DB8 312E00FF */ andi $t6, $t1, 0xff -/* 0A68EC 7F071DBC 03197825 */ or $t7, $t8, $t9 -/* 0A68F0 7F071DC0 000E6A00 */ sll $t5, $t6, 8 -/* 0A68F4 7F071DC4 01EDC025 */ or $t8, $t7, $t5 -/* 0A68F8 7F071DC8 315900FF */ andi $t9, $t2, 0xff -/* 0A68FC 7F071DCC 03197025 */ or $t6, $t8, $t9 -/* 0A6900 7F071DD0 AC4E0004 */ sw $t6, 4($v0) -/* 0A6904 7F071DD4 8C82000C */ lw $v0, 0xc($a0) -/* 0A6908 7F071DD8 3C185FFE */ lui $t8, (0x5FFEFFF8 >> 16) # lui $t8, 0x5ffe -/* 0A690C 7F071DDC 3C0DFC15 */ lui $t5, (0xFC159A04 >> 16) # lui $t5, 0xfc15 -/* 0A6910 7F071DE0 244F0008 */ addiu $t7, $v0, 8 -/* 0A6914 7F071DE4 AC8F000C */ sw $t7, 0xc($a0) -/* 0A6918 7F071DE8 35AD9A04 */ ori $t5, (0xFC159A04 & 0xFFFF) # ori $t5, $t5, 0x9a04 -/* 0A691C 7F071DEC 3718FFF8 */ ori $t8, (0x5FFEFFF8 & 0xFFFF) # ori $t8, $t8, 0xfff8 -/* 0A6920 7F071DF0 AC580004 */ sw $t8, 4($v0) -/* 0A6924 7F071DF4 AC4D0000 */ sw $t5, ($v0) -/* 0A6928 7F071DF8 8C990004 */ lw $t9, 4($a0) -/* 0A692C 7F071DFC 3C0EC410 */ lui $t6, (0xC41041C8 >> 16) # lui $t6, 0xc410 -/* 0A6930 7F071E00 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A6934 7F071E04 1320000A */ beqz $t9, .L7F071E30 -/* 0A6938 7F071E08 35CE41C8 */ ori $t6, (0xC41041C8 & 0xFFFF) # ori $t6, $t6, 0x41c8 -/* 0A693C 7F071E0C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6940 7F071E10 3C0DC410 */ lui $t5, (0xC41049D8 >> 16) # lui $t5, 0xc410 -/* 0A6944 7F071E14 35AD49D8 */ ori $t5, (0xC41049D8 & 0xFFFF) # ori $t5, $t5, 0x49d8 -/* 0A6948 7F071E18 244E0008 */ addiu $t6, $v0, 8 -/* 0A694C 7F071E1C AC8E000C */ sw $t6, 0xc($a0) -/* 0A6950 7F071E20 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A6954 7F071E24 AC4F0000 */ sw $t7, ($v0) -/* 0A6958 7F071E28 03E00008 */ jr $ra -/* 0A695C 7F071E2C AC4D0004 */ sw $t5, 4($v0) - -.L7F071E30: -/* 0A6960 7F071E30 8C82000C */ lw $v0, 0xc($a0) -/* 0A6964 7F071E34 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0A6968 7F071E38 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0A696C 7F071E3C 24580008 */ addiu $t8, $v0, 8 -/* 0A6970 7F071E40 AC98000C */ sw $t8, 0xc($a0) -/* 0A6974 7F071E44 AC4E0004 */ sw $t6, 4($v0) -/* 0A6978 7F071E48 03E00008 */ jr $ra -/* 0A697C 7F071E4C AC590000 */ sw $t9, ($v0) - -/* 0A6980 7F071E50 24010009 */ li $at, 9 -.L7F071E54: -/* 0A6984 7F071E54 544100E6 */ bnel $v0, $at, .L7F0721F0 -/* 0A6988 7F071E58 24010004 */ li $at, 4 -/* 0A698C 7F071E5C 8C8F0034 */ lw $t7, 0x34($a0) -/* 0A6990 7F071E60 3C190010 */ lui $t9, 0x10 -/* 0A6994 7F071E64 3C18E700 */ lui $t8, 0xe700 -/* 0A6998 7F071E68 31ED00FF */ andi $t5, $t7, 0xff -/* 0A699C 7F071E6C 15A00070 */ bnez $t5, .L7F072030 -/* 0A69A0 7F071E70 3C0F0010 */ lui $t7, 0x10 -/* 0A69A4 7F071E74 8C82000C */ lw $v0, 0xc($a0) -/* 0A69A8 7F071E78 8C890038 */ lw $t1, 0x38($a0) -/* 0A69AC 7F071E7C 3C0FE700 */ lui $t7, 0xe700 -/* 0A69B0 7F071E80 244E0008 */ addiu $t6, $v0, 8 -/* 0A69B4 7F071E84 AC8E000C */ sw $t6, 0xc($a0) -/* 0A69B8 7F071E88 AC400004 */ sw $zero, 4($v0) -/* 0A69BC 7F071E8C AC4F0000 */ sw $t7, ($v0) -/* 0A69C0 7F071E90 8C82000C */ lw $v0, 0xc($a0) -/* 0A69C4 7F071E94 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00 -/* 0A69C8 7F071E98 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402 -/* 0A69CC 7F071E9C 244D0008 */ addiu $t5, $v0, 8 -/* 0A69D0 7F071EA0 AC8D000C */ sw $t5, 0xc($a0) -/* 0A69D4 7F071EA4 AC590004 */ sw $t9, 4($v0) -/* 0A69D8 7F071EA8 AC580000 */ sw $t8, ($v0) -/* 0A69DC 7F071EAC 8C82000C */ lw $v0, 0xc($a0) -/* 0A69E0 7F071EB0 00093C02 */ srl $a3, $t1, 0x10 -/* 0A69E4 7F071EB4 30F900FF */ andi $t9, $a3, 0xff -/* 0A69E8 7F071EB8 244E0008 */ addiu $t6, $v0, 8 -/* 0A69EC 7F071EBC AC8E000C */ sw $t6, 0xc($a0) -/* 0A69F0 7F071EC0 3C0FF800 */ lui $t7, 0xf800 -/* 0A69F4 7F071EC4 00093602 */ srl $a2, $t1, 0x18 -/* 0A69F8 7F071EC8 0006C600 */ sll $t8, $a2, 0x18 -/* 0A69FC 7F071ECC 00197400 */ sll $t6, $t9, 0x10 -/* 0A6A00 7F071ED0 00094202 */ srl $t0, $t1, 8 -/* 0A6A04 7F071ED4 AC4F0000 */ sw $t7, ($v0) -/* 0A6A08 7F071ED8 030E7825 */ or $t7, $t8, $t6 -/* 0A6A0C 7F071EDC 310D00FF */ andi $t5, $t0, 0xff -/* 0A6A10 7F071EE0 000DCA00 */ sll $t9, $t5, 8 -/* 0A6A14 7F071EE4 01F9C025 */ or $t8, $t7, $t9 -/* 0A6A18 7F071EE8 312E00FF */ andi $t6, $t1, 0xff -/* 0A6A1C 7F071EEC 030E6825 */ or $t5, $t8, $t6 -/* 0A6A20 7F071EF0 AC4D0004 */ sw $t5, 4($v0) -/* 0A6A24 7F071EF4 8C82000C */ lw $v0, 0xc($a0) -/* 0A6A28 7F071EF8 2418FFFF */ li $t8, -1 -/* 0A6A2C 7F071EFC 3C19FB00 */ lui $t9, 0xfb00 -/* 0A6A30 7F071F00 244F0008 */ addiu $t7, $v0, 8 -/* 0A6A34 7F071F04 AC8F000C */ sw $t7, 0xc($a0) -/* 0A6A38 7F071F08 AC580004 */ sw $t8, 4($v0) -/* 0A6A3C 7F071F0C AC590000 */ sw $t9, ($v0) -/* 0A6A40 7F071F10 8C82000C */ lw $v0, 0xc($a0) -/* 0A6A44 7F071F14 3C0DFA00 */ lui $t5, 0xfa00 -/* 0A6A48 7F071F18 3C191F10 */ lui $t9, (0x1F1093FB >> 16) # lui $t9, 0x1f10 -/* 0A6A4C 7F071F1C 244E0008 */ addiu $t6, $v0, 8 -/* 0A6A50 7F071F20 AC8E000C */ sw $t6, 0xc($a0) -/* 0A6A54 7F071F24 AC4D0000 */ sw $t5, ($v0) -/* 0A6A58 7F071F28 8C8F0034 */ lw $t7, 0x34($a0) -/* 0A6A5C 7F071F2C 373993FB */ ori $t9, (0x1F1093FB & 0xFFFF) # ori $t9, $t9, 0x93fb -/* 0A6A60 7F071F30 000FC202 */ srl $t8, $t7, 8 -/* 0A6A64 7F071F34 330E00FF */ andi $t6, $t8, 0xff -/* 0A6A68 7F071F38 10A00020 */ beqz $a1, .L7F071FBC -/* 0A6A6C 7F071F3C AC4E0004 */ sw $t6, 4($v0) -/* 0A6A70 7F071F40 8C82000C */ lw $v0, 0xc($a0) -/* 0A6A74 7F071F44 3C0FFC26 */ lui $t7, (0xFC26A004 >> 16) # lui $t7, 0xfc26 -/* 0A6A78 7F071F48 3C191F10 */ lui $t9, (0x1F1093FB >> 16) # lui $t9, 0x1f10 -/* 0A6A7C 7F071F4C 244D0008 */ addiu $t5, $v0, 8 -/* 0A6A80 7F071F50 AC8D000C */ sw $t5, 0xc($a0) -/* 0A6A84 7F071F54 373993FB */ ori $t9, (0x1F1093FB & 0xFFFF) # ori $t9, $t9, 0x93fb -/* 0A6A88 7F071F58 35EFA004 */ ori $t7, (0xFC26A004 & 0xFFFF) # ori $t7, $t7, 0xa004 -/* 0A6A8C 7F071F5C AC4F0000 */ sw $t7, ($v0) -/* 0A6A90 7F071F60 AC590004 */ sw $t9, 4($v0) -/* 0A6A94 7F071F64 8C980004 */ lw $t8, 4($a0) -/* 0A6A98 7F071F68 3C0EC411 */ lui $t6, (0xC4112048 >> 16) # lui $t6, 0xc411 -/* 0A6A9C 7F071F6C 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0A6AA0 7F071F70 1300000A */ beqz $t8, .L7F071F9C -/* 0A6AA4 7F071F74 35CE2048 */ ori $t6, (0xC4112048 & 0xFFFF) # ori $t6, $t6, 0x2048 -/* 0A6AA8 7F071F78 8C82000C */ lw $v0, 0xc($a0) -/* 0A6AAC 7F071F7C 3C0FC411 */ lui $t7, (0xC4112078 >> 16) # lui $t7, 0xc411 -/* 0A6AB0 7F071F80 35EF2078 */ ori $t7, (0xC4112078 & 0xFFFF) # ori $t7, $t7, 0x2078 -/* 0A6AB4 7F071F84 244E0008 */ addiu $t6, $v0, 8 -/* 0A6AB8 7F071F88 AC8E000C */ sw $t6, 0xc($a0) -/* 0A6ABC 7F071F8C 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 0A6AC0 7F071F90 AC4D0000 */ sw $t5, ($v0) -/* 0A6AC4 7F071F94 03E00008 */ jr $ra -/* 0A6AC8 7F071F98 AC4F0004 */ sw $t7, 4($v0) - -.L7F071F9C: -/* 0A6ACC 7F071F9C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6AD0 7F071FA0 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A6AD4 7F071FA4 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A6AD8 7F071FA8 24590008 */ addiu $t9, $v0, 8 -/* 0A6ADC 7F071FAC AC99000C */ sw $t9, 0xc($a0) -/* 0A6AE0 7F071FB0 AC4E0004 */ sw $t6, 4($v0) -/* 0A6AE4 7F071FB4 03E00008 */ jr $ra -/* 0A6AE8 7F071FB8 AC580000 */ sw $t8, ($v0) - -.L7F071FBC: -/* 0A6AEC 7F071FBC 8C82000C */ lw $v0, 0xc($a0) -/* 0A6AF0 7F071FC0 3C0FFC26 */ lui $t7, (0xFC26A004 >> 16) # lui $t7, 0xfc26 -/* 0A6AF4 7F071FC4 35EFA004 */ ori $t7, (0xFC26A004 & 0xFFFF) # ori $t7, $t7, 0xa004 -/* 0A6AF8 7F071FC8 244D0008 */ addiu $t5, $v0, 8 -/* 0A6AFC 7F071FCC AC8D000C */ sw $t5, 0xc($a0) -/* 0A6B00 7F071FD0 AC590004 */ sw $t9, 4($v0) -/* 0A6B04 7F071FD4 AC4F0000 */ sw $t7, ($v0) -/* 0A6B08 7F071FD8 8C980004 */ lw $t8, 4($a0) -/* 0A6B0C 7F071FDC 3C0EC410 */ lui $t6, (0xC41041C8 >> 16) # lui $t6, 0xc410 -/* 0A6B10 7F071FE0 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0A6B14 7F071FE4 1300000A */ beqz $t8, .L7F072010 -/* 0A6B18 7F071FE8 35CE41C8 */ ori $t6, (0xC41041C8 & 0xFFFF) # ori $t6, $t6, 0x41c8 -/* 0A6B1C 7F071FEC 8C82000C */ lw $v0, 0xc($a0) -/* 0A6B20 7F071FF0 3C0FC410 */ lui $t7, (0xC41049D8 >> 16) # lui $t7, 0xc410 -/* 0A6B24 7F071FF4 35EF49D8 */ ori $t7, (0xC41049D8 & 0xFFFF) # ori $t7, $t7, 0x49d8 -/* 0A6B28 7F071FF8 244E0008 */ addiu $t6, $v0, 8 -/* 0A6B2C 7F071FFC AC8E000C */ sw $t6, 0xc($a0) -/* 0A6B30 7F072000 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 0A6B34 7F072004 AC4D0000 */ sw $t5, ($v0) -/* 0A6B38 7F072008 03E00008 */ jr $ra -/* 0A6B3C 7F07200C AC4F0004 */ sw $t7, 4($v0) - -.L7F072010: -/* 0A6B40 7F072010 8C82000C */ lw $v0, 0xc($a0) -/* 0A6B44 7F072014 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A6B48 7F072018 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A6B4C 7F07201C 24590008 */ addiu $t9, $v0, 8 -/* 0A6B50 7F072020 AC99000C */ sw $t9, 0xc($a0) -/* 0A6B54 7F072024 AC4E0004 */ sw $t6, 4($v0) -/* 0A6B58 7F072028 03E00008 */ jr $ra -/* 0A6B5C 7F07202C AC580000 */ sw $t8, ($v0) - -.L7F072030: -/* 0A6B60 7F072030 8C82000C */ lw $v0, 0xc($a0) -/* 0A6B64 7F072034 8C890038 */ lw $t1, 0x38($a0) -/* 0A6B68 7F072038 3C0DBA00 */ lui $t5, (0xBA001402 >> 16) # lui $t5, 0xba00 -/* 0A6B6C 7F07203C 24590008 */ addiu $t9, $v0, 8 -/* 0A6B70 7F072040 AC99000C */ sw $t9, 0xc($a0) -/* 0A6B74 7F072044 AC400004 */ sw $zero, 4($v0) -/* 0A6B78 7F072048 AC580000 */ sw $t8, ($v0) -/* 0A6B7C 7F07204C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6B80 7F072050 35AD1402 */ ori $t5, (0xBA001402 & 0xFFFF) # ori $t5, $t5, 0x1402 -/* 0A6B84 7F072054 00093C02 */ srl $a3, $t1, 0x10 -/* 0A6B88 7F072058 244E0008 */ addiu $t6, $v0, 8 -/* 0A6B8C 7F07205C AC8E000C */ sw $t6, 0xc($a0) -/* 0A6B90 7F072060 AC4F0004 */ sw $t7, 4($v0) -/* 0A6B94 7F072064 AC4D0000 */ sw $t5, ($v0) -/* 0A6B98 7F072068 8C82000C */ lw $v0, 0xc($a0) -/* 0A6B9C 7F07206C 30EF00FF */ andi $t7, $a3, 0xff -/* 0A6BA0 7F072070 3C18F800 */ lui $t8, 0xf800 -/* 0A6BA4 7F072074 24590008 */ addiu $t9, $v0, 8 -/* 0A6BA8 7F072078 AC99000C */ sw $t9, 0xc($a0) -/* 0A6BAC 7F07207C 00093602 */ srl $a2, $t1, 0x18 -/* 0A6BB0 7F072080 00066E00 */ sll $t5, $a2, 0x18 -/* 0A6BB4 7F072084 000FCC00 */ sll $t9, $t7, 0x10 -/* 0A6BB8 7F072088 00094202 */ srl $t0, $t1, 8 -/* 0A6BBC 7F07208C AC580000 */ sw $t8, ($v0) -/* 0A6BC0 7F072090 01B9C025 */ or $t8, $t5, $t9 -/* 0A6BC4 7F072094 310E00FF */ andi $t6, $t0, 0xff -/* 0A6BC8 7F072098 000E7A00 */ sll $t7, $t6, 8 -/* 0A6BCC 7F07209C 030F6825 */ or $t5, $t8, $t7 -/* 0A6BD0 7F0720A0 313900FF */ andi $t9, $t1, 0xff -/* 0A6BD4 7F0720A4 01B97025 */ or $t6, $t5, $t9 -/* 0A6BD8 7F0720A8 AC4E0004 */ sw $t6, 4($v0) -/* 0A6BDC 7F0720AC 8C82000C */ lw $v0, 0xc($a0) -/* 0A6BE0 7F0720B0 3C0FFB00 */ lui $t7, 0xfb00 -/* 0A6BE4 7F0720B4 24580008 */ addiu $t8, $v0, 8 -/* 0A6BE8 7F0720B8 AC98000C */ sw $t8, 0xc($a0) -/* 0A6BEC 7F0720BC AC4F0000 */ sw $t7, ($v0) -/* 0A6BF0 7F0720C0 8C990034 */ lw $t9, 0x34($a0) -/* 0A6BF4 7F0720C4 3C0FFC26 */ lui $t7, (0xFC26E804 >> 16) # lui $t7, 0xfc26 -/* 0A6BF8 7F0720C8 35EFE804 */ ori $t7, (0xFC26E804 & 0xFFFF) # ori $t7, $t7, 0xe804 -/* 0A6BFC 7F0720CC 332E00FF */ andi $t6, $t9, 0xff -/* 0A6C00 7F0720D0 10A0001E */ beqz $a1, .L7F07214C -/* 0A6C04 7F0720D4 AC4E0004 */ sw $t6, 4($v0) -/* 0A6C08 7F0720D8 8C82000C */ lw $v0, 0xc($a0) -/* 0A6C0C 7F0720DC 3C0D1FFC */ lui $t5, (0x1FFCFBF8 >> 16) # lui $t5, 0x1ffc -/* 0A6C10 7F0720E0 35ADFBF8 */ ori $t5, (0x1FFCFBF8 & 0xFFFF) # ori $t5, $t5, 0xfbf8 -/* 0A6C14 7F0720E4 24580008 */ addiu $t8, $v0, 8 -/* 0A6C18 7F0720E8 AC98000C */ sw $t8, 0xc($a0) -/* 0A6C1C 7F0720EC AC4D0004 */ sw $t5, 4($v0) -/* 0A6C20 7F0720F0 AC4F0000 */ sw $t7, ($v0) -/* 0A6C24 7F0720F4 8C990004 */ lw $t9, 4($a0) -/* 0A6C28 7F0720F8 3C0EC411 */ lui $t6, (0xC4113048 >> 16) # lui $t6, 0xc411 -/* 0A6C2C 7F0720FC 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A6C30 7F072100 1320000A */ beqz $t9, .L7F07212C -/* 0A6C34 7F072104 35CE3048 */ ori $t6, (0xC4113048 & 0xFFFF) # ori $t6, $t6, 0x3048 -/* 0A6C38 7F072108 8C82000C */ lw $v0, 0xc($a0) -/* 0A6C3C 7F07210C 3C0FC411 */ lui $t7, (0xC4113078 >> 16) # lui $t7, 0xc411 -/* 0A6C40 7F072110 35EF3078 */ ori $t7, (0xC4113078 & 0xFFFF) # ori $t7, $t7, 0x3078 -/* 0A6C44 7F072114 244E0008 */ addiu $t6, $v0, 8 -/* 0A6C48 7F072118 AC8E000C */ sw $t6, 0xc($a0) -/* 0A6C4C 7F07211C 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A6C50 7F072120 AC580000 */ sw $t8, ($v0) -/* 0A6C54 7F072124 03E00008 */ jr $ra -/* 0A6C58 7F072128 AC4F0004 */ sw $t7, 4($v0) - -.L7F07212C: -/* 0A6C5C 7F07212C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6C60 7F072130 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0A6C64 7F072134 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0A6C68 7F072138 244D0008 */ addiu $t5, $v0, 8 -/* 0A6C6C 7F07213C AC8D000C */ sw $t5, 0xc($a0) -/* 0A6C70 7F072140 AC4E0004 */ sw $t6, 4($v0) -/* 0A6C74 7F072144 03E00008 */ jr $ra -/* 0A6C78 7F072148 AC590000 */ sw $t9, ($v0) - -.L7F07214C: -/* 0A6C7C 7F07214C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6C80 7F072150 3C0FFA00 */ lui $t7, 0xfa00 -/* 0A6C84 7F072154 3C191FCC */ lui $t9, (0x1FCCDFF8 >> 16) # lui $t9, 0x1fcc -/* 0A6C88 7F072158 24580008 */ addiu $t8, $v0, 8 -/* 0A6C8C 7F07215C AC98000C */ sw $t8, 0xc($a0) -/* 0A6C90 7F072160 AC4F0000 */ sw $t7, ($v0) -/* 0A6C94 7F072164 8C8D0034 */ lw $t5, 0x34($a0) -/* 0A6C98 7F072168 3739DFF8 */ ori $t9, (0x1FCCDFF8 & 0xFFFF) # ori $t9, $t9, 0xdff8 -/* 0A6C9C 7F07216C 000D7202 */ srl $t6, $t5, 8 -/* 0A6CA0 7F072170 31D800FF */ andi $t8, $t6, 0xff -/* 0A6CA4 7F072174 AC580004 */ sw $t8, 4($v0) -/* 0A6CA8 7F072178 8C82000C */ lw $v0, 0xc($a0) -/* 0A6CAC 7F07217C 3C0DFC26 */ lui $t5, (0xFC26C204 >> 16) # lui $t5, 0xfc26 -/* 0A6CB0 7F072180 35ADC204 */ ori $t5, (0xFC26C204 & 0xFFFF) # ori $t5, $t5, 0xc204 -/* 0A6CB4 7F072184 244F0008 */ addiu $t7, $v0, 8 -/* 0A6CB8 7F072188 AC8F000C */ sw $t7, 0xc($a0) -/* 0A6CBC 7F07218C AC590004 */ sw $t9, 4($v0) -/* 0A6CC0 7F072190 AC4D0000 */ sw $t5, ($v0) -/* 0A6CC4 7F072194 8C8E0004 */ lw $t6, 4($a0) -/* 0A6CC8 7F072198 3C18C411 */ lui $t8, (0xC4113048 >> 16) # lui $t8, 0xc411 -/* 0A6CCC 7F07219C 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A6CD0 7F0721A0 11C0000A */ beqz $t6, .L7F0721CC -/* 0A6CD4 7F0721A4 37183048 */ ori $t8, (0xC4113048 & 0xFFFF) # ori $t8, $t8, 0x3048 -/* 0A6CD8 7F0721A8 8C82000C */ lw $v0, 0xc($a0) -/* 0A6CDC 7F0721AC 3C0DC411 */ lui $t5, (0xC4113078 >> 16) # lui $t5, 0xc411 -/* 0A6CE0 7F0721B0 35AD3078 */ ori $t5, (0xC4113078 & 0xFFFF) # ori $t5, $t5, 0x3078 -/* 0A6CE4 7F0721B4 24580008 */ addiu $t8, $v0, 8 -/* 0A6CE8 7F0721B8 AC98000C */ sw $t8, 0xc($a0) -/* 0A6CEC 7F0721BC 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A6CF0 7F0721C0 AC4F0000 */ sw $t7, ($v0) -/* 0A6CF4 7F0721C4 03E00008 */ jr $ra -/* 0A6CF8 7F0721C8 AC4D0004 */ sw $t5, 4($v0) - -.L7F0721CC: -/* 0A6CFC 7F0721CC 8C82000C */ lw $v0, 0xc($a0) -/* 0A6D00 7F0721D0 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A6D04 7F0721D4 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A6D08 7F0721D8 24590008 */ addiu $t9, $v0, 8 -/* 0A6D0C 7F0721DC AC99000C */ sw $t9, 0xc($a0) -/* 0A6D10 7F0721E0 AC580004 */ sw $t8, 4($v0) -/* 0A6D14 7F0721E4 03E00008 */ jr $ra -/* 0A6D18 7F0721E8 AC4E0000 */ sw $t6, ($v0) - -/* 0A6D1C 7F0721EC 24010004 */ li $at, 4 -.L7F0721F0: -/* 0A6D20 7F0721F0 14410057 */ bne $v0, $at, .L7F072350 -/* 0A6D24 7F0721F4 3C0EE700 */ lui $t6, 0xe700 -/* 0A6D28 7F0721F8 8C82000C */ lw $v0, 0xc($a0) -/* 0A6D2C 7F0721FC 8C890034 */ lw $t1, 0x34($a0) -/* 0A6D30 7F072200 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 0A6D34 7F072204 24590008 */ addiu $t9, $v0, 8 -/* 0A6D38 7F072208 AC99000C */ sw $t9, 0xc($a0) -/* 0A6D3C 7F07220C AC400004 */ sw $zero, 4($v0) -/* 0A6D40 7F072210 AC4E0000 */ sw $t6, ($v0) -/* 0A6D44 7F072214 8C82000C */ lw $v0, 0xc($a0) -/* 0A6D48 7F072218 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 0A6D4C 7F07221C 3C0D0010 */ lui $t5, 0x10 -/* 0A6D50 7F072220 24580008 */ addiu $t8, $v0, 8 -/* 0A6D54 7F072224 AC98000C */ sw $t8, 0xc($a0) -/* 0A6D58 7F072228 AC4D0004 */ sw $t5, 4($v0) -/* 0A6D5C 7F07222C AC4F0000 */ sw $t7, ($v0) -/* 0A6D60 7F072230 8C82000C */ lw $v0, 0xc($a0) -/* 0A6D64 7F072234 00093C02 */ srl $a3, $t1, 0x10 -/* 0A6D68 7F072238 30ED00FF */ andi $t5, $a3, 0xff -/* 0A6D6C 7F07223C 24590008 */ addiu $t9, $v0, 8 -/* 0A6D70 7F072240 AC99000C */ sw $t9, 0xc($a0) -/* 0A6D74 7F072244 3C0EF800 */ lui $t6, 0xf800 -/* 0A6D78 7F072248 00093602 */ srl $a2, $t1, 0x18 -/* 0A6D7C 7F07224C 00067E00 */ sll $t7, $a2, 0x18 -/* 0A6D80 7F072250 000DCC00 */ sll $t9, $t5, 0x10 -/* 0A6D84 7F072254 00094202 */ srl $t0, $t1, 8 -/* 0A6D88 7F072258 AC4E0000 */ sw $t6, ($v0) -/* 0A6D8C 7F07225C 01F97025 */ or $t6, $t7, $t9 -/* 0A6D90 7F072260 311800FF */ andi $t8, $t0, 0xff -/* 0A6D94 7F072264 00186A00 */ sll $t5, $t8, 8 -/* 0A6D98 7F072268 01CD7825 */ or $t7, $t6, $t5 -/* 0A6D9C 7F07226C 313900FF */ andi $t9, $t1, 0xff -/* 0A6DA0 7F072270 01F9C025 */ or $t8, $t7, $t9 -/* 0A6DA4 7F072274 AC580004 */ sw $t8, 4($v0) -/* 0A6DA8 7F072278 8C82000C */ lw $v0, 0xc($a0) -/* 0A6DAC 7F07227C 3C0F1F10 */ lui $t7, (0x1F1093FF >> 16) # lui $t7, 0x1f10 -/* 0A6DB0 7F072280 3C0DFC26 */ lui $t5, (0xFC26A004 >> 16) # lui $t5, 0xfc26 -/* 0A6DB4 7F072284 244E0008 */ addiu $t6, $v0, 8 -/* 0A6DB8 7F072288 AC8E000C */ sw $t6, 0xc($a0) -/* 0A6DBC 7F07228C 35ADA004 */ ori $t5, (0xFC26A004 & 0xFFFF) # ori $t5, $t5, 0xa004 -/* 0A6DC0 7F072290 35EF93FF */ ori $t7, (0x1F1093FF & 0xFFFF) # ori $t7, $t7, 0x93ff -/* 0A6DC4 7F072294 AC4F0004 */ sw $t7, 4($v0) -/* 0A6DC8 7F072298 10A00017 */ beqz $a1, .L7F0722F8 -/* 0A6DCC 7F07229C AC4D0000 */ sw $t5, ($v0) -/* 0A6DD0 7F0722A0 8C990004 */ lw $t9, 4($a0) -/* 0A6DD4 7F0722A4 3C18C411 */ lui $t8, (0xC4112048 >> 16) # lui $t8, 0xc411 -/* 0A6DD8 7F0722A8 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A6DDC 7F0722AC 1320000A */ beqz $t9, .L7F0722D8 -/* 0A6DE0 7F0722B0 37182048 */ ori $t8, (0xC4112048 & 0xFFFF) # ori $t8, $t8, 0x2048 -/* 0A6DE4 7F0722B4 8C82000C */ lw $v0, 0xc($a0) -/* 0A6DE8 7F0722B8 3C0DC411 */ lui $t5, (0xC4112078 >> 16) # lui $t5, 0xc411 -/* 0A6DEC 7F0722BC 35AD2078 */ ori $t5, (0xC4112078 & 0xFFFF) # ori $t5, $t5, 0x2078 -/* 0A6DF0 7F0722C0 24580008 */ addiu $t8, $v0, 8 -/* 0A6DF4 7F0722C4 AC98000C */ sw $t8, 0xc($a0) -/* 0A6DF8 7F0722C8 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A6DFC 7F0722CC AC4E0000 */ sw $t6, ($v0) -/* 0A6E00 7F0722D0 03E00008 */ jr $ra -/* 0A6E04 7F0722D4 AC4D0004 */ sw $t5, 4($v0) - -.L7F0722D8: -/* 0A6E08 7F0722D8 8C82000C */ lw $v0, 0xc($a0) -/* 0A6E0C 7F0722DC 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0A6E10 7F0722E0 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0A6E14 7F0722E4 244F0008 */ addiu $t7, $v0, 8 -/* 0A6E18 7F0722E8 AC8F000C */ sw $t7, 0xc($a0) -/* 0A6E1C 7F0722EC AC580004 */ sw $t8, 4($v0) -/* 0A6E20 7F0722F0 03E00008 */ jr $ra -/* 0A6E24 7F0722F4 AC590000 */ sw $t9, ($v0) - -.L7F0722F8: -/* 0A6E28 7F0722F8 8C8E0004 */ lw $t6, 4($a0) -/* 0A6E2C 7F0722FC 3C0DC410 */ lui $t5, (0xC41041C8 >> 16) # lui $t5, 0xc410 -/* 0A6E30 7F072300 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A6E34 7F072304 11C0000A */ beqz $t6, .L7F072330 -/* 0A6E38 7F072308 35AD41C8 */ ori $t5, (0xC41041C8 & 0xFFFF) # ori $t5, $t5, 0x41c8 -/* 0A6E3C 7F07230C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6E40 7F072310 3C19C410 */ lui $t9, (0xC41049D8 >> 16) # lui $t9, 0xc410 -/* 0A6E44 7F072314 373949D8 */ ori $t9, (0xC41049D8 & 0xFFFF) # ori $t9, $t9, 0x49d8 -/* 0A6E48 7F072318 244D0008 */ addiu $t5, $v0, 8 -/* 0A6E4C 7F07231C AC8D000C */ sw $t5, 0xc($a0) -/* 0A6E50 7F072320 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A6E54 7F072324 AC4F0000 */ sw $t7, ($v0) -/* 0A6E58 7F072328 03E00008 */ jr $ra -/* 0A6E5C 7F07232C AC590004 */ sw $t9, 4($v0) - -.L7F072330: -/* 0A6E60 7F072330 8C82000C */ lw $v0, 0xc($a0) -/* 0A6E64 7F072334 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A6E68 7F072338 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A6E6C 7F07233C 24580008 */ addiu $t8, $v0, 8 -/* 0A6E70 7F072340 AC98000C */ sw $t8, 0xc($a0) -/* 0A6E74 7F072344 AC4D0004 */ sw $t5, 4($v0) -/* 0A6E78 7F072348 03E00008 */ jr $ra -/* 0A6E7C 7F07234C AC4E0000 */ sw $t6, ($v0) - -.L7F072350: -/* 0A6E80 7F072350 24010005 */ li $at, 5 -/* 0A6E84 7F072354 14410070 */ bne $v0, $at, .L7F072518 -/* 0A6E88 7F072358 3C18E700 */ lui $t8, 0xe700 -/* 0A6E8C 7F07235C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6E90 7F072360 3C19E700 */ lui $t9, 0xe700 -/* 0A6E94 7F072364 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00 -/* 0A6E98 7F072368 244F0008 */ addiu $t7, $v0, 8 -/* 0A6E9C 7F07236C AC8F000C */ sw $t7, 0xc($a0) -/* 0A6EA0 7F072370 AC400004 */ sw $zero, 4($v0) -/* 0A6EA4 7F072374 AC590000 */ sw $t9, ($v0) -/* 0A6EA8 7F072378 8C82000C */ lw $v0, 0xc($a0) -/* 0A6EAC 7F07237C 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402 -/* 0A6EB0 7F072380 3C0D0010 */ lui $t5, 0x10 -/* 0A6EB4 7F072384 24580008 */ addiu $t8, $v0, 8 -/* 0A6EB8 7F072388 AC98000C */ sw $t8, 0xc($a0) -/* 0A6EBC 7F07238C AC4D0004 */ sw $t5, 4($v0) -/* 0A6EC0 7F072390 AC4E0000 */ sw $t6, ($v0) -/* 0A6EC4 7F072394 8C82000C */ lw $v0, 0xc($a0) -/* 0A6EC8 7F072398 8C8B0038 */ lw $t3, 0x38($a0) -/* 0A6ECC 7F07239C 3C0EF800 */ lui $t6, 0xf800 -/* 0A6ED0 7F0723A0 24580008 */ addiu $t8, $v0, 8 -/* 0A6ED4 7F0723A4 AC98000C */ sw $t8, 0xc($a0) -/* 0A6ED8 7F0723A8 000B4C02 */ srl $t1, $t3, 0x10 -/* 0A6EDC 7F0723AC 313900FF */ andi $t9, $t1, 0xff -/* 0A6EE0 7F0723B0 000B4602 */ srl $t0, $t3, 0x18 -/* 0A6EE4 7F0723B4 00087E00 */ sll $t7, $t0, 0x18 -/* 0A6EE8 7F0723B8 0019C400 */ sll $t8, $t9, 0x10 -/* 0A6EEC 7F0723BC AC4E0000 */ sw $t6, ($v0) -/* 0A6EF0 7F0723C0 000B5202 */ srl $t2, $t3, 8 -/* 0A6EF4 7F0723C4 314D00FF */ andi $t5, $t2, 0xff -/* 0A6EF8 7F0723C8 01F87025 */ or $t6, $t7, $t8 -/* 0A6EFC 7F0723CC 000DCA00 */ sll $t9, $t5, 8 -/* 0A6F00 7F0723D0 01D97825 */ or $t7, $t6, $t9 -/* 0A6F04 7F0723D4 317800FF */ andi $t8, $t3, 0xff -/* 0A6F08 7F0723D8 01F86825 */ or $t5, $t7, $t8 -/* 0A6F0C 7F0723DC AC4D0004 */ sw $t5, 4($v0) -/* 0A6F10 7F0723E0 8C8E0034 */ lw $t6, 0x34($a0) -/* 0A6F14 7F0723E4 3C18FC26 */ lui $t8, (0xFC26A004 >> 16) # lui $t8, 0xfc26 -/* 0A6F18 7F0723E8 3718A004 */ ori $t8, (0xFC26A004 & 0xFFFF) # ori $t8, $t8, 0xa004 -/* 0A6F1C 7F0723EC 31D900FF */ andi $t9, $t6, 0xff -/* 0A6F20 7F0723F0 2B2100FF */ slti $at, $t9, 0xff -/* 0A6F24 7F0723F4 1020002B */ beqz $at, .L7F0724A4 -/* 0A6F28 7F0723F8 332D00FF */ andi $t5, $t9, 0xff -/* 0A6F2C 7F0723FC 8C82000C */ lw $v0, 0xc($a0) -/* 0A6F30 7F072400 2401FF00 */ li $at, -256 -/* 0A6F34 7F072404 01A17025 */ or $t6, $t5, $at -/* 0A6F38 7F072408 244F0008 */ addiu $t7, $v0, 8 -/* 0A6F3C 7F07240C AC8F000C */ sw $t7, 0xc($a0) -/* 0A6F40 7F072410 3C18FB00 */ lui $t8, 0xfb00 -/* 0A6F44 7F072414 AC580000 */ sw $t8, ($v0) -/* 0A6F48 7F072418 10A00018 */ beqz $a1, .L7F07247C -/* 0A6F4C 7F07241C AC4E0004 */ sw $t6, 4($v0) -/* 0A6F50 7F072420 8C990034 */ lw $t9, 0x34($a0) -/* 0A6F54 7F072424 3C181F10 */ lui $t8, (0x1F10FFFF >> 16) # lui $t8, 0x1f10 -/* 0A6F58 7F072428 3C0DFC26 */ lui $t5, (0xFC26EA04 >> 16) # lui $t5, 0xfc26 -/* 0A6F5C 7F07242C 332FFF00 */ andi $t7, $t9, 0xff00 -/* 0A6F60 7F072430 11E0000A */ beqz $t7, .L7F07245C -/* 0A6F64 7F072434 3718FFFF */ ori $t8, (0x1F10FFFF & 0xFFFF) # ori $t8, $t8, 0xffff -/* 0A6F68 7F072438 8C82000C */ lw $v0, 0xc($a0) -/* 0A6F6C 7F07243C 3C0E1F10 */ lui $t6, (0x1F10CFFF >> 16) # lui $t6, 0x1f10 -/* 0A6F70 7F072440 35CECFFF */ ori $t6, (0x1F10CFFF & 0xFFFF) # ori $t6, $t6, 0xcfff -/* 0A6F74 7F072444 24580008 */ addiu $t8, $v0, 8 -/* 0A6F78 7F072448 AC98000C */ sw $t8, 0xc($a0) -/* 0A6F7C 7F07244C 35ADEA04 */ ori $t5, (0xFC26EA04 & 0xFFFF) # ori $t5, $t5, 0xea04 -/* 0A6F80 7F072450 AC4D0000 */ sw $t5, ($v0) -/* 0A6F84 7F072454 1000001A */ b .L7F0724C0 -/* 0A6F88 7F072458 AC4E0004 */ sw $t6, 4($v0) -.L7F07245C: -/* 0A6F8C 7F07245C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6F90 7F072460 3C0FFC26 */ lui $t7, (0xFC26EA04 >> 16) # lui $t7, 0xfc26 -/* 0A6F94 7F072464 35EFEA04 */ ori $t7, (0xFC26EA04 & 0xFFFF) # ori $t7, $t7, 0xea04 -/* 0A6F98 7F072468 24590008 */ addiu $t9, $v0, 8 -/* 0A6F9C 7F07246C AC99000C */ sw $t9, 0xc($a0) -/* 0A6FA0 7F072470 AC580004 */ sw $t8, 4($v0) -/* 0A6FA4 7F072474 10000012 */ b .L7F0724C0 -/* 0A6FA8 7F072478 AC4F0000 */ sw $t7, ($v0) -.L7F07247C: -/* 0A6FAC 7F07247C 8C82000C */ lw $v0, 0xc($a0) -/* 0A6FB0 7F072480 3C0EFC26 */ lui $t6, (0xFC269A04 >> 16) # lui $t6, 0xfc26 -/* 0A6FB4 7F072484 3C191F10 */ lui $t9, (0x1F10FFFF >> 16) # lui $t9, 0x1f10 -/* 0A6FB8 7F072488 244D0008 */ addiu $t5, $v0, 8 -/* 0A6FBC 7F07248C AC8D000C */ sw $t5, 0xc($a0) -/* 0A6FC0 7F072490 3739FFFF */ ori $t9, (0x1F10FFFF & 0xFFFF) # ori $t9, $t9, 0xffff -/* 0A6FC4 7F072494 35CE9A04 */ ori $t6, (0xFC269A04 & 0xFFFF) # ori $t6, $t6, 0x9a04 -/* 0A6FC8 7F072498 AC4E0000 */ sw $t6, ($v0) -/* 0A6FCC 7F07249C 10000008 */ b .L7F0724C0 -/* 0A6FD0 7F0724A0 AC590004 */ sw $t9, 4($v0) -.L7F0724A4: -/* 0A6FD4 7F0724A4 8C82000C */ lw $v0, 0xc($a0) -/* 0A6FD8 7F0724A8 3C0D1F10 */ lui $t5, (0x1F1093FF >> 16) # lui $t5, 0x1f10 -/* 0A6FDC 7F0724AC 35AD93FF */ ori $t5, (0x1F1093FF & 0xFFFF) # ori $t5, $t5, 0x93ff -/* 0A6FE0 7F0724B0 244F0008 */ addiu $t7, $v0, 8 -/* 0A6FE4 7F0724B4 AC8F000C */ sw $t7, 0xc($a0) -/* 0A6FE8 7F0724B8 AC4D0004 */ sw $t5, 4($v0) -/* 0A6FEC 7F0724BC AC580000 */ sw $t8, ($v0) -.L7F0724C0: -/* 0A6FF0 7F0724C0 8C8E0004 */ lw $t6, 4($a0) -/* 0A6FF4 7F0724C4 3C19C410 */ lui $t9, (0xC41041C8 >> 16) # lui $t9, 0xc410 -/* 0A6FF8 7F0724C8 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A6FFC 7F0724CC 11C0000A */ beqz $t6, .L7F0724F8 -/* 0A7000 7F0724D0 373941C8 */ ori $t9, (0xC41041C8 & 0xFFFF) # ori $t9, $t9, 0x41c8 -/* 0A7004 7F0724D4 8C82000C */ lw $v0, 0xc($a0) -/* 0A7008 7F0724D8 3C18C410 */ lui $t8, (0xC41049D8 >> 16) # lui $t8, 0xc410 -/* 0A700C 7F0724DC 371849D8 */ ori $t8, (0xC41049D8 & 0xFFFF) # ori $t8, $t8, 0x49d8 -/* 0A7010 7F0724E0 24590008 */ addiu $t9, $v0, 8 -/* 0A7014 7F0724E4 AC99000C */ sw $t9, 0xc($a0) -/* 0A7018 7F0724E8 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A701C 7F0724EC AC4F0000 */ sw $t7, ($v0) -/* 0A7020 7F0724F0 03E00008 */ jr $ra -/* 0A7024 7F0724F4 AC580004 */ sw $t8, 4($v0) - -.L7F0724F8: -/* 0A7028 7F0724F8 8C82000C */ lw $v0, 0xc($a0) -/* 0A702C 7F0724FC 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A7030 7F072500 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A7034 7F072504 244D0008 */ addiu $t5, $v0, 8 -/* 0A7038 7F072508 AC8D000C */ sw $t5, 0xc($a0) -/* 0A703C 7F07250C AC590004 */ sw $t9, 4($v0) -/* 0A7040 7F072510 03E00008 */ jr $ra -/* 0A7044 7F072514 AC4E0000 */ sw $t6, ($v0) - -.L7F072518: -/* 0A7048 7F072518 8C82000C */ lw $v0, 0xc($a0) -/* 0A704C 7F07251C 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00 -/* 0A7050 7F072520 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402 -/* 0A7054 7F072524 244F0008 */ addiu $t7, $v0, 8 -/* 0A7058 7F072528 AC8F000C */ sw $t7, 0xc($a0) -/* 0A705C 7F07252C AC400004 */ sw $zero, 4($v0) -/* 0A7060 7F072530 AC580000 */ sw $t8, ($v0) -/* 0A7064 7F072534 8C82000C */ lw $v0, 0xc($a0) -/* 0A7068 7F072538 3C190010 */ lui $t9, 0x10 -/* 0A706C 7F07253C 3C18F800 */ lui $t8, 0xf800 -/* 0A7070 7F072540 244D0008 */ addiu $t5, $v0, 8 -/* 0A7074 7F072544 AC8D000C */ sw $t5, 0xc($a0) -/* 0A7078 7F072548 AC590004 */ sw $t9, 4($v0) -/* 0A707C 7F07254C AC4E0000 */ sw $t6, ($v0) -/* 0A7080 7F072550 8C82000C */ lw $v0, 0xc($a0) -/* 0A7084 7F072554 240DFF00 */ li $t5, -256 -/* 0A7088 7F072558 3C19FC26 */ lui $t9, (0xFC26A004 >> 16) # lui $t9, 0xfc26 -/* 0A708C 7F07255C 244F0008 */ addiu $t7, $v0, 8 -/* 0A7090 7F072560 AC8F000C */ sw $t7, 0xc($a0) -/* 0A7094 7F072564 AC4D0004 */ sw $t5, 4($v0) -/* 0A7098 7F072568 AC580000 */ sw $t8, ($v0) -/* 0A709C 7F07256C 8C82000C */ lw $v0, 0xc($a0) -/* 0A70A0 7F072570 3C0F1F10 */ lui $t7, (0x1F1093FF >> 16) # lui $t7, 0x1f10 -/* 0A70A4 7F072574 35EF93FF */ ori $t7, (0x1F1093FF & 0xFFFF) # ori $t7, $t7, 0x93ff -/* 0A70A8 7F072578 244E0008 */ addiu $t6, $v0, 8 -/* 0A70AC 7F07257C AC8E000C */ sw $t6, 0xc($a0) -/* 0A70B0 7F072580 3739A004 */ ori $t9, (0xFC26A004 & 0xFFFF) # ori $t9, $t9, 0xa004 -/* 0A70B4 7F072584 AC590000 */ sw $t9, ($v0) -/* 0A70B8 7F072588 10A00017 */ beqz $a1, .L7F0725E8 -/* 0A70BC 7F07258C AC4F0004 */ sw $t7, 4($v0) -/* 0A70C0 7F072590 8C980004 */ lw $t8, 4($a0) -/* 0A70C4 7F072594 3C0DC411 */ lui $t5, (0xC4112048 >> 16) # lui $t5, 0xc411 -/* 0A70C8 7F072598 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A70CC 7F07259C 1300000A */ beqz $t8, .L7F0725C8 -/* 0A70D0 7F0725A0 35AD2048 */ ori $t5, (0xC4112048 & 0xFFFF) # ori $t5, $t5, 0x2048 -/* 0A70D4 7F0725A4 8C82000C */ lw $v0, 0xc($a0) -/* 0A70D8 7F0725A8 3C19C411 */ lui $t9, (0xC4112078 >> 16) # lui $t9, 0xc411 -/* 0A70DC 7F0725AC 37392078 */ ori $t9, (0xC4112078 & 0xFFFF) # ori $t9, $t9, 0x2078 -/* 0A70E0 7F0725B0 244D0008 */ addiu $t5, $v0, 8 -/* 0A70E4 7F0725B4 AC8D000C */ sw $t5, 0xc($a0) -/* 0A70E8 7F0725B8 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A70EC 7F0725BC AC4E0000 */ sw $t6, ($v0) -/* 0A70F0 7F0725C0 03E00008 */ jr $ra -/* 0A70F4 7F0725C4 AC590004 */ sw $t9, 4($v0) - -.L7F0725C8: -/* 0A70F8 7F0725C8 8C82000C */ lw $v0, 0xc($a0) -/* 0A70FC 7F0725CC 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0A7100 7F0725D0 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0A7104 7F0725D4 244F0008 */ addiu $t7, $v0, 8 -/* 0A7108 7F0725D8 AC8F000C */ sw $t7, 0xc($a0) -/* 0A710C 7F0725DC AC4D0004 */ sw $t5, 4($v0) -/* 0A7110 7F0725E0 03E00008 */ jr $ra -/* 0A7114 7F0725E4 AC580000 */ sw $t8, ($v0) - -.L7F0725E8: -/* 0A7118 7F0725E8 8C8E0004 */ lw $t6, 4($a0) -/* 0A711C 7F0725EC 3C19C410 */ lui $t9, (0xC41041C8 >> 16) # lui $t9, 0xc410 -/* 0A7120 7F0725F0 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0A7124 7F0725F4 11C0000A */ beqz $t6, .L7F072620 -/* 0A7128 7F0725F8 373941C8 */ ori $t9, (0xC41041C8 & 0xFFFF) # ori $t9, $t9, 0x41c8 -/* 0A712C 7F0725FC 8C82000C */ lw $v0, 0xc($a0) -/* 0A7130 7F072600 3C18C410 */ lui $t8, (0xC41049D8 >> 16) # lui $t8, 0xc410 -/* 0A7134 7F072604 371849D8 */ ori $t8, (0xC41049D8 & 0xFFFF) # ori $t8, $t8, 0x49d8 -/* 0A7138 7F072608 24590008 */ addiu $t9, $v0, 8 -/* 0A713C 7F07260C AC99000C */ sw $t9, 0xc($a0) -/* 0A7140 7F072610 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0A7144 7F072614 AC4F0000 */ sw $t7, ($v0) -/* 0A7148 7F072618 03E00008 */ jr $ra -/* 0A714C 7F07261C AC580004 */ sw $t8, 4($v0) - -.L7F072620: -/* 0A7150 7F072620 8C82000C */ lw $v0, 0xc($a0) -/* 0A7154 7F072624 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A7158 7F072628 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A715C 7F07262C 244D0008 */ addiu $t5, $v0, 8 -/* 0A7160 7F072630 AC8D000C */ sw $t5, 0xc($a0) -/* 0A7164 7F072634 AC590004 */ sw $t9, 4($v0) -/* 0A7168 7F072638 AC4E0000 */ sw $t6, ($v0) -/* 0A716C 7F07263C 03E00008 */ jr $ra -/* 0A7170 7F072640 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F072644(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F072644 -/* 0A7174 7F072644 8C83000C */ lw $v1, 0xc($a0) -/* 0A7178 7F072648 3C0FE700 */ lui $t7, 0xe700 -/* 0A717C 7F07264C 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0A7180 7F072650 246E0008 */ addiu $t6, $v1, 8 -/* 0A7184 7F072654 AC8E000C */ sw $t6, 0xc($a0) -/* 0A7188 7F072658 AC600004 */ sw $zero, 4($v1) -/* 0A718C 7F07265C AC6F0000 */ sw $t7, ($v1) -/* 0A7190 7F072660 8C83000C */ lw $v1, 0xc($a0) -/* 0A7194 7F072664 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0A7198 7F072668 3C080010 */ lui $t0, 0x10 -/* 0A719C 7F07266C 24780008 */ addiu $t8, $v1, 8 -/* 0A71A0 7F072670 AC98000C */ sw $t8, 0xc($a0) -/* 0A71A4 7F072674 AC680004 */ sw $t0, 4($v1) -/* 0A71A8 7F072678 AC790000 */ sw $t9, ($v1) -/* 0A71AC 7F07267C 8C890004 */ lw $t1, 4($a0) -/* 0A71B0 7F072680 3C19FC26 */ lui $t9, (0xFC26A004 >> 16) # lui $t9, 0xfc26 -/* 0A71B4 7F072684 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0A71B8 7F072688 1120000B */ beqz $t1, .L7F0726B8 -/* 0A71BC 7F07268C 3739A004 */ ori $t9, (0xFC26A004 & 0xFFFF) # ori $t9, $t9, 0xa004 -/* 0A71C0 7F072690 8C83000C */ lw $v1, 0xc($a0) -/* 0A71C4 7F072694 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 -/* 0A71C8 7F072698 3C0C0C19 */ lui $t4, (0x0C192078 >> 16) # lui $t4, 0xc19 -/* 0A71CC 7F07269C 246A0008 */ addiu $t2, $v1, 8 -/* 0A71D0 7F0726A0 AC8A000C */ sw $t2, 0xc($a0) -/* 0A71D4 7F0726A4 358C2078 */ ori $t4, (0x0C192078 & 0xFFFF) # ori $t4, $t4, 0x2078 -/* 0A71D8 7F0726A8 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d -/* 0A71DC 7F0726AC AC6B0000 */ sw $t3, ($v1) -/* 0A71E0 7F0726B0 10000009 */ b .L7F0726D8 -/* 0A71E4 7F0726B4 AC6C0004 */ sw $t4, 4($v1) -.L7F0726B8: -/* 0A71E8 7F0726B8 8C83000C */ lw $v1, 0xc($a0) -/* 0A71EC 7F0726BC 3C0F0C19 */ lui $t7, (0x0C192048 >> 16) # lui $t7, 0xc19 -/* 0A71F0 7F0726C0 35EF2048 */ ori $t7, (0x0C192048 & 0xFFFF) # ori $t7, $t7, 0x2048 -/* 0A71F4 7F0726C4 246D0008 */ addiu $t5, $v1, 8 -/* 0A71F8 7F0726C8 AC8D000C */ sw $t5, 0xc($a0) -/* 0A71FC 7F0726CC 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0A7200 7F0726D0 AC6E0000 */ sw $t6, ($v1) -/* 0A7204 7F0726D4 AC6F0004 */ sw $t7, 4($v1) -.L7F0726D8: -/* 0A7208 7F0726D8 8C83000C */ lw $v1, 0xc($a0) -/* 0A720C 7F0726DC 3C081F10 */ lui $t0, (0x1F1093FF >> 16) # lui $t0, 0x1f10 -/* 0A7210 7F0726E0 350893FF */ ori $t0, (0x1F1093FF & 0xFFFF) # ori $t0, $t0, 0x93ff -/* 0A7214 7F0726E4 24780008 */ addiu $t8, $v1, 8 -/* 0A7218 7F0726E8 AC98000C */ sw $t8, 0xc($a0) -/* 0A721C 7F0726EC AC680004 */ sw $t0, 4($v1) -/* 0A7220 7F0726F0 03E00008 */ jr $ra -/* 0A7224 7F0726F4 AC790000 */ sw $t9, ($v1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0726F8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0726F8 -/* 0A7228 7F0726F8 8C82003C */ lw $v0, 0x3c($a0) -/* 0A722C 7F0726FC 24010001 */ li $at, 1 -/* 0A7230 7F072700 5441000A */ bnel $v0, $at, .L7F07272C -/* 0A7234 7F072704 24010002 */ li $at, 2 -/* 0A7238 7F072708 8C83000C */ lw $v1, 0xc($a0) -/* 0A723C 7F07270C 3C0FB600 */ lui $t7, 0xb600 -/* 0A7240 7F072710 24183000 */ li $t8, 12288 -/* 0A7244 7F072714 246E0008 */ addiu $t6, $v1, 8 -/* 0A7248 7F072718 AC8E000C */ sw $t6, 0xc($a0) -/* 0A724C 7F07271C AC780004 */ sw $t8, 4($v1) -/* 0A7250 7F072720 03E00008 */ jr $ra -/* 0A7254 7F072724 AC6F0000 */ sw $t7, ($v1) - -/* 0A7258 7F072728 24010002 */ li $at, 2 -.L7F07272C: -/* 0A725C 7F07272C 5441000A */ bnel $v0, $at, .L7F072758 -/* 0A7260 7F072730 24010003 */ li $at, 3 -/* 0A7264 7F072734 8C83000C */ lw $v1, 0xc($a0) -/* 0A7268 7F072738 3C08B700 */ lui $t0, 0xb700 -/* 0A726C 7F07273C 24091000 */ li $t1, 4096 -/* 0A7270 7F072740 24790008 */ addiu $t9, $v1, 8 -/* 0A7274 7F072744 AC99000C */ sw $t9, 0xc($a0) -/* 0A7278 7F072748 AC690004 */ sw $t1, 4($v1) -/* 0A727C 7F07274C 03E00008 */ jr $ra -/* 0A7280 7F072750 AC680000 */ sw $t0, ($v1) - -/* 0A7284 7F072754 24010003 */ li $at, 3 -.L7F072758: -/* 0A7288 7F072758 14410008 */ bne $v0, $at, .L7F07277C -/* 0A728C 7F07275C 00000000 */ nop -/* 0A7290 7F072760 8C83000C */ lw $v1, 0xc($a0) -/* 0A7294 7F072764 3C0BB700 */ lui $t3, 0xb700 -/* 0A7298 7F072768 240C2000 */ li $t4, 8192 -/* 0A729C 7F07276C 246A0008 */ addiu $t2, $v1, 8 -/* 0A72A0 7F072770 AC8A000C */ sw $t2, 0xc($a0) -/* 0A72A4 7F072774 AC6C0004 */ sw $t4, 4($v1) -/* 0A72A8 7F072778 AC6B0000 */ sw $t3, ($v1) -.L7F07277C: -/* 0A72AC 7F07277C 03E00008 */ jr $ra -/* 0A72B0 7F072780 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F072784(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F072784 -/* 0A72B4 7F072784 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0A72B8 7F072788 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A72BC 7F07278C AFB10018 */ sw $s1, 0x18($sp) -/* 0A72C0 7F072790 AFB00014 */ sw $s0, 0x14($sp) -/* 0A72C4 7F072794 8C8E0018 */ lw $t6, 0x18($a0) -/* 0A72C8 7F072798 00808025 */ move $s0, $a0 -/* 0A72CC 7F07279C 8CB10004 */ lw $s1, 4($a1) -/* 0A72D0 7F0727A0 55C00074 */ bnezl $t6, .L7F072974 -/* 0A72D4 7F0727A4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A72D8 7F0727A8 8C8F0008 */ lw $t7, 8($a0) -/* 0A72DC 7F0727AC 31F80001 */ andi $t8, $t7, 1 -/* 0A72E0 7F0727B0 53000048 */ beql $t8, $zero, .L7F0728D4 -/* 0A72E4 7F0727B4 8E090008 */ lw $t1, 8($s0) -/* 0A72E8 7F0727B8 8E390000 */ lw $t9, ($s1) -/* 0A72EC 7F0727BC 53200045 */ beql $t9, $zero, .L7F0728D4 -/* 0A72F0 7F0727C0 8E090008 */ lw $t1, 8($s0) -/* 0A72F4 7F0727C4 8C82000C */ lw $v0, 0xc($a0) -/* 0A72F8 7F0727C8 3C09BC00 */ lui $t1, (0xBC001406 >> 16) # lui $t1, 0xbc00 -/* 0A72FC 7F0727CC 35291406 */ ori $t1, (0xBC001406 & 0xFFFF) # ori $t1, $t1, 0x1406 -/* 0A7300 7F0727D0 24480008 */ addiu $t0, $v0, 8 -/* 0A7304 7F0727D4 AC88000C */ sw $t0, 0xc($a0) -/* 0A7308 7F0727D8 AC490000 */ sw $t1, ($v0) -/* 0A730C 7F0727DC 8E240008 */ lw $a0, 8($s1) -/* 0A7310 7F0727E0 0C003A2C */ jal osVirtualToPhysical -/* 0A7314 7F0727E4 AFA20030 */ sw $v0, 0x30($sp) -/* 0A7318 7F0727E8 8FA30030 */ lw $v1, 0x30($sp) -/* 0A731C 7F0727EC AC620004 */ sw $v0, 4($v1) -/* 0A7320 7F0727F0 8E0A003C */ lw $t2, 0x3c($s0) -/* 0A7324 7F0727F4 51400004 */ beql $t2, $zero, .L7F072808 -/* 0A7328 7F0727F8 82220012 */ lb $v0, 0x12($s1) -/* 0A732C 7F0727FC 0FC1C9BE */ jal sub_GAME_7F0726F8 -/* 0A7330 7F072800 02002025 */ move $a0, $s0 -/* 0A7334 7F072804 82220012 */ lb $v0, 0x12($s1) -.L7F072808: -/* 0A7338 7F072808 24010001 */ li $at, 1 -/* 0A733C 7F07280C 54410006 */ bnel $v0, $at, .L7F072828 -/* 0A7340 7F072810 24010003 */ li $at, 3 -/* 0A7344 7F072814 0FC1C3E0 */ jal sub_GAME_7F070F80 -/* 0A7348 7F072818 02002025 */ move $a0, $s0 -/* 0A734C 7F07281C 10000015 */ b .L7F072874 -/* 0A7350 7F072820 8E02000C */ lw $v0, 0xc($s0) -/* 0A7354 7F072824 24010003 */ li $at, 3 -.L7F072828: -/* 0A7358 7F072828 14410005 */ bne $v0, $at, .L7F072840 -/* 0A735C 7F07282C 02002025 */ move $a0, $s0 -/* 0A7360 7F072830 0FC1C40C */ jal sub_GAME_7F071030 -/* 0A7364 7F072834 24050001 */ li $a1, 1 -/* 0A7368 7F072838 1000000E */ b .L7F072874 -/* 0A736C 7F07283C 8E02000C */ lw $v0, 0xc($s0) -.L7F072840: -/* 0A7370 7F072840 24010004 */ li $at, 4 -/* 0A7374 7F072844 14410005 */ bne $v0, $at, .L7F07285C -/* 0A7378 7F072848 02002025 */ move $a0, $s0 -/* 0A737C 7F07284C 0FC1C6D1 */ jal sub_GAME_7F071B44 -/* 0A7380 7F072850 24050001 */ li $a1, 1 -/* 0A7384 7F072854 10000007 */ b .L7F072874 -/* 0A7388 7F072858 8E02000C */ lw $v0, 0xc($s0) -.L7F07285C: -/* 0A738C 7F07285C 24010002 */ li $at, 2 -/* 0A7390 7F072860 54410004 */ bnel $v0, $at, .L7F072874 -/* 0A7394 7F072864 8E02000C */ lw $v0, 0xc($s0) -/* 0A7398 7F072868 0FC1C991 */ jal sub_GAME_7F072644 -/* 0A739C 7F07286C 02002025 */ move $a0, $s0 -/* 0A73A0 7F072870 8E02000C */ lw $v0, 0xc($s0) -.L7F072874: -/* 0A73A4 7F072874 3C0C0600 */ lui $t4, 0x600 -/* 0A73A8 7F072878 24010003 */ li $at, 3 -/* 0A73AC 7F07287C 244B0008 */ addiu $t3, $v0, 8 -/* 0A73B0 7F072880 AE0B000C */ sw $t3, 0xc($s0) -/* 0A73B4 7F072884 AC4C0000 */ sw $t4, ($v0) -/* 0A73B8 7F072888 8E2D0000 */ lw $t5, ($s1) -/* 0A73BC 7F07288C AC4D0004 */ sw $t5, 4($v0) -/* 0A73C0 7F072890 822E0012 */ lb $t6, 0x12($s1) -/* 0A73C4 7F072894 55C1000F */ bnel $t6, $at, .L7F0728D4 -/* 0A73C8 7F072898 8E090008 */ lw $t1, 8($s0) -/* 0A73CC 7F07289C 8E2F0004 */ lw $t7, 4($s1) -/* 0A73D0 7F0728A0 02002025 */ move $a0, $s0 -/* 0A73D4 7F0728A4 51E0000B */ beql $t7, $zero, .L7F0728D4 -/* 0A73D8 7F0728A8 8E090008 */ lw $t1, 8($s0) -/* 0A73DC 7F0728AC 0FC1C40C */ jal sub_GAME_7F071030 -/* 0A73E0 7F0728B0 00002825 */ move $a1, $zero -/* 0A73E4 7F0728B4 8E02000C */ lw $v0, 0xc($s0) -/* 0A73E8 7F0728B8 3C190600 */ lui $t9, 0x600 -/* 0A73EC 7F0728BC 24580008 */ addiu $t8, $v0, 8 -/* 0A73F0 7F0728C0 AE18000C */ sw $t8, 0xc($s0) -/* 0A73F4 7F0728C4 AC590000 */ sw $t9, ($v0) -/* 0A73F8 7F0728C8 8E280004 */ lw $t0, 4($s1) -/* 0A73FC 7F0728CC AC480004 */ sw $t0, 4($v0) -/* 0A7400 7F0728D0 8E090008 */ lw $t1, 8($s0) -.L7F0728D4: -/* 0A7404 7F0728D4 312A0002 */ andi $t2, $t1, 2 -/* 0A7408 7F0728D8 51400026 */ beql $t2, $zero, .L7F072974 -/* 0A740C 7F0728DC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A7410 7F0728E0 8E2B0000 */ lw $t3, ($s1) -/* 0A7414 7F0728E4 51600023 */ beql $t3, $zero, .L7F072974 -/* 0A7418 7F0728E8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A741C 7F0728EC 822C0012 */ lb $t4, 0x12($s1) -/* 0A7420 7F0728F0 24010004 */ li $at, 4 -/* 0A7424 7F0728F4 5581001F */ bnel $t4, $at, .L7F072974 -/* 0A7428 7F0728F8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A742C 7F0728FC 8E2D0004 */ lw $t5, 4($s1) -/* 0A7430 7F072900 51A0001C */ beql $t5, $zero, .L7F072974 -/* 0A7434 7F072904 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A7438 7F072908 8E02000C */ lw $v0, 0xc($s0) -/* 0A743C 7F07290C 3C0FBC00 */ lui $t7, (0xBC001406 >> 16) # lui $t7, 0xbc00 -/* 0A7440 7F072910 35EF1406 */ ori $t7, (0xBC001406 & 0xFFFF) # ori $t7, $t7, 0x1406 -/* 0A7444 7F072914 244E0008 */ addiu $t6, $v0, 8 -/* 0A7448 7F072918 AE0E000C */ sw $t6, 0xc($s0) -/* 0A744C 7F07291C AC4F0000 */ sw $t7, ($v0) -/* 0A7450 7F072920 8E240008 */ lw $a0, 8($s1) -/* 0A7454 7F072924 0C003A2C */ jal osVirtualToPhysical -/* 0A7458 7F072928 AFA20024 */ sw $v0, 0x24($sp) -/* 0A745C 7F07292C 8FA30024 */ lw $v1, 0x24($sp) -/* 0A7460 7F072930 AC620004 */ sw $v0, 4($v1) -/* 0A7464 7F072934 8E18003C */ lw $t8, 0x3c($s0) -/* 0A7468 7F072938 53000004 */ beql $t8, $zero, .L7F07294C -/* 0A746C 7F07293C 02002025 */ move $a0, $s0 -/* 0A7470 7F072940 0FC1C9BE */ jal sub_GAME_7F0726F8 -/* 0A7474 7F072944 02002025 */ move $a0, $s0 -/* 0A7478 7F072948 02002025 */ move $a0, $s0 -.L7F07294C: -/* 0A747C 7F07294C 0FC1C6D1 */ jal sub_GAME_7F071B44 -/* 0A7480 7F072950 00002825 */ move $a1, $zero -/* 0A7484 7F072954 8E02000C */ lw $v0, 0xc($s0) -/* 0A7488 7F072958 3C080600 */ lui $t0, 0x600 -/* 0A748C 7F07295C 24590008 */ addiu $t9, $v0, 8 -/* 0A7490 7F072960 AE19000C */ sw $t9, 0xc($s0) -/* 0A7494 7F072964 AC480000 */ sw $t0, ($v0) -/* 0A7498 7F072968 8E290004 */ lw $t1, 4($s1) -/* 0A749C 7F07296C AC490004 */ sw $t1, 4($v0) -/* 0A74A0 7F072970 8FBF001C */ lw $ra, 0x1c($sp) -.L7F072974: -/* 0A74A4 7F072974 8FB00014 */ lw $s0, 0x14($sp) -/* 0A74A8 7F072978 8FB10018 */ lw $s1, 0x18($sp) -/* 0A74AC 7F07297C 03E00008 */ jr $ra -/* 0A74B0 7F072980 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F072984(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F072984 -/* 0A74B4 7F072984 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0A74B8 7F072988 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A74BC 7F07298C AFB10018 */ sw $s1, 0x18($sp) -/* 0A74C0 7F072990 AFB00014 */ sw $s0, 0x14($sp) -/* 0A74C4 7F072994 AFA5004C */ sw $a1, 0x4c($sp) -/* 0A74C8 7F072998 AFA60050 */ sw $a2, 0x50($sp) -/* 0A74CC 7F07299C 8C8F0018 */ lw $t7, 0x18($a0) -/* 0A74D0 7F0729A0 00808025 */ move $s0, $a0 -/* 0A74D4 7F0729A4 8CD10004 */ lw $s1, 4($a2) -/* 0A74D8 7F0729A8 55E00095 */ bnezl $t7, .L7F072C00 -/* 0A74DC 7F0729AC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A74E0 7F0729B0 8C980008 */ lw $t8, 8($a0) -/* 0A74E4 7F0729B4 00A02025 */ move $a0, $a1 -/* 0A74E8 7F0729B8 33190001 */ andi $t9, $t8, 1 -/* 0A74EC 7F0729BC 53200058 */ beql $t9, $zero, .L7F072B20 -/* 0A74F0 7F0729C0 8E0F0008 */ lw $t7, 8($s0) -/* 0A74F4 7F0729C4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A74F8 7F0729C8 00C02825 */ move $a1, $a2 -/* 0A74FC 7F0729CC AFA20040 */ sw $v0, 0x40($sp) -/* 0A7500 7F0729D0 8C480004 */ lw $t0, 4($v0) -/* 0A7504 7F0729D4 51000052 */ beql $t0, $zero, .L7F072B20 -/* 0A7508 7F0729D8 8E0F0008 */ lw $t7, 8($s0) -/* 0A750C 7F0729DC 8E03000C */ lw $v1, 0xc($s0) -/* 0A7510 7F0729E0 3C0ABC00 */ lui $t2, (0xBC001406 >> 16) # lui $t2, 0xbc00 -/* 0A7514 7F0729E4 354A1406 */ ori $t2, (0xBC001406 & 0xFFFF) # ori $t2, $t2, 0x1406 -/* 0A7518 7F0729E8 24690008 */ addiu $t1, $v1, 8 -/* 0A751C 7F0729EC AE09000C */ sw $t1, 0xc($s0) -/* 0A7520 7F0729F0 AC6A0000 */ sw $t2, ($v1) -/* 0A7524 7F0729F4 8E24001C */ lw $a0, 0x1c($s1) -/* 0A7528 7F0729F8 0C003A2C */ jal osVirtualToPhysical -/* 0A752C 7F0729FC AFA3003C */ sw $v1, 0x3c($sp) -/* 0A7530 7F072A00 8FA5003C */ lw $a1, 0x3c($sp) -/* 0A7534 7F072A04 ACA20004 */ sw $v0, 4($a1) -/* 0A7538 7F072A08 8E0B003C */ lw $t3, 0x3c($s0) -/* 0A753C 7F072A0C 51600004 */ beql $t3, $zero, .L7F072A20 -/* 0A7540 7F072A10 86220018 */ lh $v0, 0x18($s1) -/* 0A7544 7F072A14 0FC1C9BE */ jal sub_GAME_7F0726F8 -/* 0A7548 7F072A18 02002025 */ move $a0, $s0 -/* 0A754C 7F072A1C 86220018 */ lh $v0, 0x18($s1) -.L7F072A20: -/* 0A7550 7F072A20 24010001 */ li $at, 1 -/* 0A7554 7F072A24 54410006 */ bnel $v0, $at, .L7F072A40 -/* 0A7558 7F072A28 24010003 */ li $at, 3 -/* 0A755C 7F072A2C 0FC1C3E0 */ jal sub_GAME_7F070F80 -/* 0A7560 7F072A30 02002025 */ move $a0, $s0 -/* 0A7564 7F072A34 10000015 */ b .L7F072A8C -/* 0A7568 7F072A38 8E03000C */ lw $v1, 0xc($s0) -/* 0A756C 7F072A3C 24010003 */ li $at, 3 -.L7F072A40: -/* 0A7570 7F072A40 14410005 */ bne $v0, $at, .L7F072A58 -/* 0A7574 7F072A44 02002025 */ move $a0, $s0 -/* 0A7578 7F072A48 0FC1C40C */ jal sub_GAME_7F071030 -/* 0A757C 7F072A4C 24050001 */ li $a1, 1 -/* 0A7580 7F072A50 1000000E */ b .L7F072A8C -/* 0A7584 7F072A54 8E03000C */ lw $v1, 0xc($s0) -.L7F072A58: -/* 0A7588 7F072A58 24010004 */ li $at, 4 -/* 0A758C 7F072A5C 14410005 */ bne $v0, $at, .L7F072A74 -/* 0A7590 7F072A60 02002025 */ move $a0, $s0 -/* 0A7594 7F072A64 0FC1C6D1 */ jal sub_GAME_7F071B44 -/* 0A7598 7F072A68 24050001 */ li $a1, 1 -/* 0A759C 7F072A6C 10000007 */ b .L7F072A8C -/* 0A75A0 7F072A70 8E03000C */ lw $v1, 0xc($s0) -.L7F072A74: -/* 0A75A4 7F072A74 24010002 */ li $at, 2 -/* 0A75A8 7F072A78 54410004 */ bnel $v0, $at, .L7F072A8C -/* 0A75AC 7F072A7C 8E03000C */ lw $v1, 0xc($s0) -/* 0A75B0 7F072A80 0FC1C991 */ jal sub_GAME_7F072644 -/* 0A75B4 7F072A84 02002025 */ move $a0, $s0 -/* 0A75B8 7F072A88 8E03000C */ lw $v1, 0xc($s0) -.L7F072A8C: -/* 0A75BC 7F072A8C 3C0DBC00 */ lui $t5, (0xBC001006 >> 16) # lui $t5, 0xbc00 -/* 0A75C0 7F072A90 35AD1006 */ ori $t5, (0xBC001006 & 0xFFFF) # ori $t5, $t5, 0x1006 -/* 0A75C4 7F072A94 246C0008 */ addiu $t4, $v1, 8 -/* 0A75C8 7F072A98 AE0C000C */ sw $t4, 0xc($s0) -/* 0A75CC 7F072A9C AC6D0000 */ sw $t5, ($v1) -/* 0A75D0 7F072AA0 8FAF0040 */ lw $t7, 0x40($sp) -/* 0A75D4 7F072AA4 8DE40000 */ lw $a0, ($t7) -/* 0A75D8 7F072AA8 0C003A2C */ jal osVirtualToPhysical -/* 0A75DC 7F072AAC AFA30038 */ sw $v1, 0x38($sp) -/* 0A75E0 7F072AB0 8FA50038 */ lw $a1, 0x38($sp) -/* 0A75E4 7F072AB4 3C190600 */ lui $t9, 0x600 -/* 0A75E8 7F072AB8 24010003 */ li $at, 3 -/* 0A75EC 7F072ABC ACA20004 */ sw $v0, 4($a1) -/* 0A75F0 7F072AC0 8E03000C */ lw $v1, 0xc($s0) -/* 0A75F4 7F072AC4 24780008 */ addiu $t8, $v1, 8 -/* 0A75F8 7F072AC8 AE18000C */ sw $t8, 0xc($s0) -/* 0A75FC 7F072ACC AC790000 */ sw $t9, ($v1) -/* 0A7600 7F072AD0 8FAE0040 */ lw $t6, 0x40($sp) -/* 0A7604 7F072AD4 8DC80004 */ lw $t0, 4($t6) -/* 0A7608 7F072AD8 AC680004 */ sw $t0, 4($v1) -/* 0A760C 7F072ADC 86290018 */ lh $t1, 0x18($s1) -/* 0A7610 7F072AE0 5521000F */ bnel $t1, $at, .L7F072B20 -/* 0A7614 7F072AE4 8E0F0008 */ lw $t7, 8($s0) -/* 0A7618 7F072AE8 8E2A0004 */ lw $t2, 4($s1) -/* 0A761C 7F072AEC 02002025 */ move $a0, $s0 -/* 0A7620 7F072AF0 5140000B */ beql $t2, $zero, .L7F072B20 -/* 0A7624 7F072AF4 8E0F0008 */ lw $t7, 8($s0) -/* 0A7628 7F072AF8 0FC1C40C */ jal sub_GAME_7F071030 -/* 0A762C 7F072AFC 00002825 */ move $a1, $zero -/* 0A7630 7F072B00 8E03000C */ lw $v1, 0xc($s0) -/* 0A7634 7F072B04 3C0C0600 */ lui $t4, 0x600 -/* 0A7638 7F072B08 246B0008 */ addiu $t3, $v1, 8 -/* 0A763C 7F072B0C AE0B000C */ sw $t3, 0xc($s0) -/* 0A7640 7F072B10 AC6C0000 */ sw $t4, ($v1) -/* 0A7644 7F072B14 8E2D0004 */ lw $t5, 4($s1) -/* 0A7648 7F072B18 AC6D0004 */ sw $t5, 4($v1) -/* 0A764C 7F072B1C 8E0F0008 */ lw $t7, 8($s0) -.L7F072B20: -/* 0A7650 7F072B20 8FA4004C */ lw $a0, 0x4c($sp) -/* 0A7654 7F072B24 31F80002 */ andi $t8, $t7, 2 -/* 0A7658 7F072B28 53000035 */ beql $t8, $zero, .L7F072C00 -/* 0A765C 7F072B2C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A7660 7F072B30 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A7664 7F072B34 8FA50050 */ lw $a1, 0x50($sp) -/* 0A7668 7F072B38 AFA2002C */ sw $v0, 0x2c($sp) -/* 0A766C 7F072B3C 8C590004 */ lw $t9, 4($v0) -/* 0A7670 7F072B40 5320002F */ beql $t9, $zero, .L7F072C00 -/* 0A7674 7F072B44 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A7678 7F072B48 862E0018 */ lh $t6, 0x18($s1) -/* 0A767C 7F072B4C 24010004 */ li $at, 4 -/* 0A7680 7F072B50 55C1002B */ bnel $t6, $at, .L7F072C00 -/* 0A7684 7F072B54 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A7688 7F072B58 8E280004 */ lw $t0, 4($s1) -/* 0A768C 7F072B5C 51000028 */ beql $t0, $zero, .L7F072C00 -/* 0A7690 7F072B60 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A7694 7F072B64 8E03000C */ lw $v1, 0xc($s0) -/* 0A7698 7F072B68 3C0ABC00 */ lui $t2, (0xBC001406 >> 16) # lui $t2, 0xbc00 -/* 0A769C 7F072B6C 354A1406 */ ori $t2, (0xBC001406 & 0xFFFF) # ori $t2, $t2, 0x1406 -/* 0A76A0 7F072B70 24690008 */ addiu $t1, $v1, 8 -/* 0A76A4 7F072B74 AE09000C */ sw $t1, 0xc($s0) -/* 0A76A8 7F072B78 AC6A0000 */ sw $t2, ($v1) -/* 0A76AC 7F072B7C 8E24001C */ lw $a0, 0x1c($s1) -/* 0A76B0 7F072B80 0C003A2C */ jal osVirtualToPhysical -/* 0A76B4 7F072B84 AFA30028 */ sw $v1, 0x28($sp) -/* 0A76B8 7F072B88 8FA50028 */ lw $a1, 0x28($sp) -/* 0A76BC 7F072B8C ACA20004 */ sw $v0, 4($a1) -/* 0A76C0 7F072B90 8E0B003C */ lw $t3, 0x3c($s0) -/* 0A76C4 7F072B94 51600004 */ beql $t3, $zero, .L7F072BA8 -/* 0A76C8 7F072B98 8E03000C */ lw $v1, 0xc($s0) -/* 0A76CC 7F072B9C 0FC1C9BE */ jal sub_GAME_7F0726F8 -/* 0A76D0 7F072BA0 02002025 */ move $a0, $s0 -/* 0A76D4 7F072BA4 8E03000C */ lw $v1, 0xc($s0) -.L7F072BA8: -/* 0A76D8 7F072BA8 3C0DBC00 */ lui $t5, (0xBC001006 >> 16) # lui $t5, 0xbc00 -/* 0A76DC 7F072BAC 35AD1006 */ ori $t5, (0xBC001006 & 0xFFFF) # ori $t5, $t5, 0x1006 -/* 0A76E0 7F072BB0 246C0008 */ addiu $t4, $v1, 8 -/* 0A76E4 7F072BB4 AE0C000C */ sw $t4, 0xc($s0) -/* 0A76E8 7F072BB8 AC6D0000 */ sw $t5, ($v1) -/* 0A76EC 7F072BBC 8FAF002C */ lw $t7, 0x2c($sp) -/* 0A76F0 7F072BC0 8DE40000 */ lw $a0, ($t7) -/* 0A76F4 7F072BC4 0C003A2C */ jal osVirtualToPhysical -/* 0A76F8 7F072BC8 AFA30024 */ sw $v1, 0x24($sp) -/* 0A76FC 7F072BCC 8FA60024 */ lw $a2, 0x24($sp) -/* 0A7700 7F072BD0 02002025 */ move $a0, $s0 -/* 0A7704 7F072BD4 00002825 */ move $a1, $zero -/* 0A7708 7F072BD8 0FC1C6D1 */ jal sub_GAME_7F071B44 -/* 0A770C 7F072BDC ACC20004 */ sw $v0, 4($a2) -/* 0A7710 7F072BE0 8E03000C */ lw $v1, 0xc($s0) -/* 0A7714 7F072BE4 3C190600 */ lui $t9, 0x600 -/* 0A7718 7F072BE8 24780008 */ addiu $t8, $v1, 8 -/* 0A771C 7F072BEC AE18000C */ sw $t8, 0xc($s0) -/* 0A7720 7F072BF0 AC790000 */ sw $t9, ($v1) -/* 0A7724 7F072BF4 8E2E0004 */ lw $t6, 4($s1) -/* 0A7728 7F072BF8 AC6E0004 */ sw $t6, 4($v1) -/* 0A772C 7F072BFC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F072C00: -/* 0A7730 7F072C00 8FB00014 */ lw $s0, 0x14($sp) -/* 0A7734 7F072C04 8FB10018 */ lw $s1, 0x18($sp) -/* 0A7738 7F072C08 03E00008 */ jr $ra -/* 0A773C 7F072C0C 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F072C10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F072C10 -/* 0A7740 7F072C10 AFA40000 */ sw $a0, ($sp) -/* 0A7744 7F072C14 AFA50004 */ sw $a1, 4($sp) -/* 0A7748 7F072C18 03E00008 */ jr $ra -/* 0A774C 7F072C1C AFA60008 */ sw $a2, 8($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void dorottex(void) { - -} -#else -GLOBAL_ASM( -.text -glabel dorottex -/* 0A7750 7F072C20 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0A7754 7F072C24 AFBF003C */ sw $ra, 0x3c($sp) -/* 0A7758 7F072C28 AFBE0038 */ sw $fp, 0x38($sp) -/* 0A775C 7F072C2C AFB70034 */ sw $s7, 0x34($sp) -/* 0A7760 7F072C30 AFB60030 */ sw $s6, 0x30($sp) -/* 0A7764 7F072C34 AFB5002C */ sw $s5, 0x2c($sp) -/* 0A7768 7F072C38 AFB40028 */ sw $s4, 0x28($sp) -/* 0A776C 7F072C3C AFB30024 */ sw $s3, 0x24($sp) -/* 0A7770 7F072C40 AFB20020 */ sw $s2, 0x20($sp) -/* 0A7774 7F072C44 AFB1001C */ sw $s1, 0x1c($sp) -/* 0A7778 7F072C48 AFB00018 */ sw $s0, 0x18($sp) -/* 0A777C 7F072C4C 8C8E0018 */ lw $t6, 0x18($a0) -/* 0A7780 7F072C50 00809825 */ move $s3, $a0 -/* 0A7784 7F072C54 55C000ED */ bnezl $t6, .L7F07300C -/* 0A7788 7F072C58 8FBF003C */ lw $ra, 0x3c($sp) -/* 0A778C 7F072C5C 8C8F0008 */ lw $t7, 8($a0) -/* 0A7790 7F072C60 31F80002 */ andi $t8, $t7, 2 -/* 0A7794 7F072C64 530000E9 */ beql $t8, $zero, .L7F07300C -/* 0A7798 7F072C68 8FBF003C */ lw $ra, 0x3c($sp) -/* 0A779C 7F072C6C 8CA30004 */ lw $v1, 4($a1) -/* 0A77A0 7F072C70 3C028003 */ lui $v0, %hi(D_8003608C) -/* 0A77A4 7F072C74 8C790008 */ lw $t9, 8($v1) -/* 0A77A8 7F072C78 532000E4 */ beql $t9, $zero, .L7F07300C -/* 0A77AC 7F072C7C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0A77B0 7F072C80 8C42608C */ lw $v0, %lo(D_8003608C)($v0) -/* 0A77B4 7F072C84 3C048005 */ lui $a0, %hi(aDorottexNoVtxAllocator) -/* 0A77B8 7F072C88 8C720004 */ lw $s2, 4($v1) -/* 0A77BC 7F072C8C 10400003 */ beqz $v0, .L7F072C9C -/* 0A77C0 7F072C90 24844A38 */ addiu $a0, %lo(aDorottexNoVtxAllocator) # addiu $a0, $a0, 0x4a38 -/* 0A77C4 7F072C94 10000007 */ b .L7F072CB4 -/* 0A77C8 7F072C98 AFA30044 */ sw $v1, 0x44($sp) -.L7F072C9C: -/* 0A77CC 7F072C9C 0C0033D1 */ jal osSyncPrintf -/* 0A77D0 7F072CA0 AFA30044 */ sw $v1, 0x44($sp) -/* 0A77D4 7F072CA4 0FC1B11B */ jal return_null -/* 0A77D8 7F072CA8 00000000 */ nop -/* 0A77DC 7F072CAC 3C028003 */ lui $v0, %hi(D_8003608C) -/* 0A77E0 7F072CB0 8C42608C */ lw $v0, %lo(D_8003608C)($v0) -.L7F072CB4: -/* 0A77E4 7F072CB4 8FA30044 */ lw $v1, 0x44($sp) -/* 0A77E8 7F072CB8 8C640000 */ lw $a0, ($v1) -/* 0A77EC 7F072CBC 00044880 */ sll $t1, $a0, 2 -/* 0A77F0 7F072CC0 0040F809 */ jalr $v0 -/* 0A77F4 7F072CC4 01202025 */ move $a0, $t1 -/* 0A77F8 7F072CC8 8E74000C */ lw $s4, 0xc($s3) -/* 0A77FC 7F072CCC 3C0BBC00 */ lui $t3, (0xBC001006 >> 16) # lui $t3, 0xbc00 -/* 0A7800 7F072CD0 356B1006 */ ori $t3, (0xBC001006 & 0xFFFF) # ori $t3, $t3, 0x1006 -/* 0A7804 7F072CD4 268A0008 */ addiu $t2, $s4, 8 -/* 0A7808 7F072CD8 AE6A000C */ sw $t2, 0xc($s3) -/* 0A780C 7F072CDC 00408025 */ move $s0, $v0 -/* 0A7810 7F072CE0 00402025 */ move $a0, $v0 -/* 0A7814 7F072CE4 0C003A2C */ jal osVirtualToPhysical -/* 0A7818 7F072CE8 AE8B0000 */ sw $t3, ($s4) -/* 0A781C 7F072CEC AE820004 */ sw $v0, 4($s4) -/* 0A7820 7F072CF0 8E76000C */ lw $s6, 0xc($s3) -/* 0A7824 7F072CF4 3C0DBC00 */ lui $t5, (0xBC001406 >> 16) # lui $t5, 0xbc00 -/* 0A7828 7F072CF8 35AD1406 */ ori $t5, (0xBC001406 & 0xFFFF) # ori $t5, $t5, 0x1406 -/* 0A782C 7F072CFC 26CC0008 */ addiu $t4, $s6, 8 -/* 0A7830 7F072D00 AE6C000C */ sw $t4, 0xc($s3) -/* 0A7834 7F072D04 AECD0000 */ sw $t5, ($s6) -/* 0A7838 7F072D08 8FAE0044 */ lw $t6, 0x44($sp) -/* 0A783C 7F072D0C 0C003A2C */ jal osVirtualToPhysical -/* 0A7840 7F072D10 8DC4000C */ lw $a0, 0xc($t6) -/* 0A7844 7F072D14 8FA50044 */ lw $a1, 0x44($sp) -/* 0A7848 7F072D18 AEC20004 */ sw $v0, 4($s6) -/* 0A784C 7F072D1C 8E71000C */ lw $s1, 0xc($s3) -/* 0A7850 7F072D20 3C18F800 */ lui $t8, 0xf800 -/* 0A7854 7F072D24 3C090600 */ lui $t1, 0x600 -/* 0A7858 7F072D28 262F0008 */ addiu $t7, $s1, 8 -/* 0A785C 7F072D2C AE6F000C */ sw $t7, 0xc($s3) -/* 0A7860 7F072D30 AE200004 */ sw $zero, 4($s1) -/* 0A7864 7F072D34 AE380000 */ sw $t8, ($s1) -/* 0A7868 7F072D38 8E71000C */ lw $s1, 0xc($s3) -/* 0A786C 7F072D3C 241600B5 */ li $s6, 181 -/* 0A7870 7F072D40 0000A825 */ move $s5, $zero -/* 0A7874 7F072D44 26390008 */ addiu $t9, $s1, 8 -/* 0A7878 7F072D48 AE79000C */ sw $t9, 0xc($s3) -/* 0A787C 7F072D4C AE290000 */ sw $t1, ($s1) -/* 0A7880 7F072D50 8CAA0008 */ lw $t2, 8($a1) -/* 0A7884 7F072D54 3C1E0001 */ lui $fp, 1 -/* 0A7888 7F072D58 24170200 */ li $s7, 512 -/* 0A788C 7F072D5C AE2A0004 */ sw $t2, 4($s1) -/* 0A7890 7F072D60 8CAB0000 */ lw $t3, ($a1) -/* 0A7894 7F072D64 596000A9 */ blezl $t3, .L7F07300C -/* 0A7898 7F072D68 8FBF003C */ lw $ra, 0x3c($sp) -.L7F072D6C: -/* 0A789C 7F072D6C 0C002914 */ jal get_random_value -/* 0A78A0 7F072D70 00000000 */ nop -/* 0A78A4 7F072D74 00026280 */ sll $t4, $v0, 0xa -/* 0A78A8 7F072D78 3191FFFF */ andi $s1, $t4, 0xffff -/* 0A78AC 7F072D7C 0C005B0C */ jal coss -/* 0A78B0 7F072D80 3184FFFF */ andi $a0, $t4, 0xffff -/* 0A78B4 7F072D84 00026940 */ sll $t5, $v0, 5 -/* 0A78B8 7F072D88 01B60019 */ multu $t5, $s6 -/* 0A78BC 7F072D8C 3224FFFF */ andi $a0, $s1, 0xffff -/* 0A78C0 7F072D90 0000A012 */ mflo $s4 -/* 0A78C4 7F072D94 00147483 */ sra $t6, $s4, 0x12 -/* 0A78C8 7F072D98 0C005B18 */ jal sins -/* 0A78CC 7F072D9C 01C0A025 */ move $s4, $t6 -/* 0A78D0 7F072DA0 00027940 */ sll $t7, $v0, 5 -/* 0A78D4 7F072DA4 01F60019 */ multu $t7, $s6 -/* 0A78D8 7F072DA8 00009812 */ mflo $s3 -/* 0A78DC 7F072DAC 0013C483 */ sra $t8, $s3, 0x12 -/* 0A78E0 7F072DB0 0C002914 */ jal get_random_value -/* 0A78E4 7F072DB4 03009825 */ move $s3, $t8 -/* 0A78E8 7F072DB8 0C002914 */ jal get_random_value -/* 0A78EC 7F072DBC 00028FC2 */ srl $s1, $v0, 0x1f -/* 0A78F0 7F072DC0 8E410000 */ lw $at, ($s2) -/* 0A78F4 7F072DC4 30593FFF */ andi $t9, $v0, 0x3fff -/* 0A78F8 7F072DC8 03D92023 */ subu $a0, $fp, $t9 -/* 0A78FC 7F072DCC AE010000 */ sw $at, ($s0) -/* 0A7900 7F072DD0 8E4A0004 */ lw $t2, 4($s2) -/* 0A7904 7F072DD4 02F44023 */ subu $t0, $s7, $s4 -/* 0A7908 7F072DD8 02F33823 */ subu $a3, $s7, $s3 -/* 0A790C 7F072DDC AE0A0004 */ sw $t2, 4($s0) -/* 0A7910 7F072DE0 8E410008 */ lw $at, 8($s2) -/* 0A7914 7F072DE4 00801825 */ move $v1, $a0 -/* 0A7918 7F072DE8 26660200 */ addiu $a2, $s3, 0x200 -/* 0A791C 7F072DEC AE010008 */ sw $at, 8($s0) -/* 0A7920 7F072DF0 8E4A000C */ lw $t2, 0xc($s2) -/* 0A7924 7F072DF4 26B50001 */ addiu $s5, $s5, 1 -/* 0A7928 7F072DF8 26100040 */ addiu $s0, $s0, 0x40 -/* 0A792C 7F072DFC AE0AFFCC */ sw $t2, -0x34($s0) -/* 0A7930 7F072E00 8E410010 */ lw $at, 0x10($s2) -/* 0A7934 7F072E04 AE01FFD0 */ sw $at, -0x30($s0) -/* 0A7938 7F072E08 8E4C0014 */ lw $t4, 0x14($s2) -/* 0A793C 7F072E0C AE0CFFD4 */ sw $t4, -0x2c($s0) -/* 0A7940 7F072E10 8E410018 */ lw $at, 0x18($s2) -/* 0A7944 7F072E14 AE01FFD8 */ sw $at, -0x28($s0) -/* 0A7948 7F072E18 8E4C001C */ lw $t4, 0x1c($s2) -/* 0A794C 7F072E1C AE0CFFDC */ sw $t4, -0x24($s0) -/* 0A7950 7F072E20 8E410020 */ lw $at, 0x20($s2) -/* 0A7954 7F072E24 AE01FFE0 */ sw $at, -0x20($s0) -/* 0A7958 7F072E28 8E4E0024 */ lw $t6, 0x24($s2) -/* 0A795C 7F072E2C AE0EFFE4 */ sw $t6, -0x1c($s0) -/* 0A7960 7F072E30 8E410028 */ lw $at, 0x28($s2) -/* 0A7964 7F072E34 AE01FFE8 */ sw $at, -0x18($s0) -/* 0A7968 7F072E38 8E4E002C */ lw $t6, 0x2c($s2) -/* 0A796C 7F072E3C AE0EFFEC */ sw $t6, -0x14($s0) -/* 0A7970 7F072E40 8E410030 */ lw $at, 0x30($s2) -/* 0A7974 7F072E44 AE01FFF0 */ sw $at, -0x10($s0) -/* 0A7978 7F072E48 8E580034 */ lw $t8, 0x34($s2) -/* 0A797C 7F072E4C AE18FFF4 */ sw $t8, -0xc($s0) -/* 0A7980 7F072E50 8E410038 */ lw $at, 0x38($s2) -/* 0A7984 7F072E54 AE01FFF8 */ sw $at, -8($s0) -/* 0A7988 7F072E58 8E58003C */ lw $t8, 0x3c($s2) -/* 0A798C 7F072E5C A608FFC8 */ sh $t0, -0x38($s0) -/* 0A7990 7F072E60 A607FFCA */ sh $a3, -0x36($s0) -/* 0A7994 7F072E64 AE18FFFC */ sw $t8, -4($s0) -/* 0A7998 7F072E68 06210004 */ bgez $s1, .L7F072E7C -/* 0A799C 7F072E6C 32390003 */ andi $t9, $s1, 3 -/* 0A79A0 7F072E70 13200002 */ beqz $t9, .L7F072E7C -/* 0A79A4 7F072E74 00000000 */ nop -/* 0A79A8 7F072E78 2739FFFC */ addiu $t9, $t9, -4 -.L7F072E7C: -/* 0A79AC 7F072E7C 00194900 */ sll $t1, $t9, 4 -/* 0A79B0 7F072E80 02492821 */ addu $a1, $s2, $t1 -/* 0A79B4 7F072E84 84AA0000 */ lh $t2, ($a1) -/* 0A79B8 7F072E88 01440019 */ multu $t2, $a0 -/* 0A79BC 7F072E8C 262A0001 */ addiu $t2, $s1, 1 -/* 0A79C0 7F072E90 00005812 */ mflo $t3 -/* 0A79C4 7F072E94 000B6403 */ sra $t4, $t3, 0x10 -/* 0A79C8 7F072E98 A60CFFC0 */ sh $t4, -0x40($s0) -/* 0A79CC 7F072E9C 84AD0002 */ lh $t5, 2($a1) -/* 0A79D0 7F072EA0 01A40019 */ multu $t5, $a0 -/* 0A79D4 7F072EA4 26840200 */ addiu $a0, $s4, 0x200 -/* 0A79D8 7F072EA8 00007012 */ mflo $t6 -/* 0A79DC 7F072EAC 000E7C03 */ sra $t7, $t6, 0x10 -/* 0A79E0 7F072EB0 A60FFFC2 */ sh $t7, -0x3e($s0) -/* 0A79E4 7F072EB4 84B80004 */ lh $t8, 4($a1) -/* 0A79E8 7F072EB8 A606FFD8 */ sh $a2, -0x28($s0) -/* 0A79EC 7F072EBC A608FFDA */ sh $t0, -0x26($s0) -/* 0A79F0 7F072EC0 03030019 */ multu $t8, $v1 -/* 0A79F4 7F072EC4 0000C812 */ mflo $t9 -/* 0A79F8 7F072EC8 00194C03 */ sra $t1, $t9, 0x10 -/* 0A79FC 7F072ECC A609FFC4 */ sh $t1, -0x3c($s0) -/* 0A7A00 7F072ED0 05410004 */ bgez $t2, .L7F072EE4 -/* 0A7A04 7F072ED4 314B0003 */ andi $t3, $t2, 3 -/* 0A7A08 7F072ED8 11600002 */ beqz $t3, .L7F072EE4 -/* 0A7A0C 7F072EDC 00000000 */ nop -/* 0A7A10 7F072EE0 256BFFFC */ addiu $t3, $t3, -4 -.L7F072EE4: -/* 0A7A14 7F072EE4 000B6100 */ sll $t4, $t3, 4 -/* 0A7A18 7F072EE8 024C1021 */ addu $v0, $s2, $t4 -/* 0A7A1C 7F072EEC 844D0000 */ lh $t5, ($v0) -/* 0A7A20 7F072EF0 01A30019 */ multu $t5, $v1 -/* 0A7A24 7F072EF4 262D0002 */ addiu $t5, $s1, 2 -/* 0A7A28 7F072EF8 00007012 */ mflo $t6 -/* 0A7A2C 7F072EFC 000E7C03 */ sra $t7, $t6, 0x10 -/* 0A7A30 7F072F00 A60FFFD0 */ sh $t7, -0x30($s0) -/* 0A7A34 7F072F04 84580002 */ lh $t8, 2($v0) -/* 0A7A38 7F072F08 03030019 */ multu $t8, $v1 -/* 0A7A3C 7F072F0C 0000C812 */ mflo $t9 -/* 0A7A40 7F072F10 00194C03 */ sra $t1, $t9, 0x10 -/* 0A7A44 7F072F14 A609FFD2 */ sh $t1, -0x2e($s0) -/* 0A7A48 7F072F18 844A0004 */ lh $t2, 4($v0) -/* 0A7A4C 7F072F1C A604FFE8 */ sh $a0, -0x18($s0) -/* 0A7A50 7F072F20 A606FFEA */ sh $a2, -0x16($s0) -/* 0A7A54 7F072F24 01430019 */ multu $t2, $v1 -/* 0A7A58 7F072F28 00005812 */ mflo $t3 -/* 0A7A5C 7F072F2C 000B6403 */ sra $t4, $t3, 0x10 -/* 0A7A60 7F072F30 A60CFFD4 */ sh $t4, -0x2c($s0) -/* 0A7A64 7F072F34 05A10004 */ bgez $t5, .L7F072F48 -/* 0A7A68 7F072F38 31AE0003 */ andi $t6, $t5, 3 -/* 0A7A6C 7F072F3C 11C00002 */ beqz $t6, .L7F072F48 -/* 0A7A70 7F072F40 00000000 */ nop -/* 0A7A74 7F072F44 25CEFFFC */ addiu $t6, $t6, -4 -.L7F072F48: -/* 0A7A78 7F072F48 000E7900 */ sll $t7, $t6, 4 -/* 0A7A7C 7F072F4C 024F1021 */ addu $v0, $s2, $t7 -/* 0A7A80 7F072F50 84580000 */ lh $t8, ($v0) -/* 0A7A84 7F072F54 03030019 */ multu $t8, $v1 -/* 0A7A88 7F072F58 26380003 */ addiu $t8, $s1, 3 -/* 0A7A8C 7F072F5C 0000C812 */ mflo $t9 -/* 0A7A90 7F072F60 00194C03 */ sra $t1, $t9, 0x10 -/* 0A7A94 7F072F64 A609FFE0 */ sh $t1, -0x20($s0) -/* 0A7A98 7F072F68 844A0002 */ lh $t2, 2($v0) -/* 0A7A9C 7F072F6C 01430019 */ multu $t2, $v1 -/* 0A7AA0 7F072F70 00005812 */ mflo $t3 -/* 0A7AA4 7F072F74 000B6403 */ sra $t4, $t3, 0x10 -/* 0A7AA8 7F072F78 A60CFFE2 */ sh $t4, -0x1e($s0) -/* 0A7AAC 7F072F7C 844D0004 */ lh $t5, 4($v0) -/* 0A7AB0 7F072F80 A607FFF8 */ sh $a3, -8($s0) -/* 0A7AB4 7F072F84 A604FFFA */ sh $a0, -6($s0) -/* 0A7AB8 7F072F88 01A30019 */ multu $t5, $v1 -/* 0A7ABC 7F072F8C 00007012 */ mflo $t6 -/* 0A7AC0 7F072F90 000E7C03 */ sra $t7, $t6, 0x10 -/* 0A7AC4 7F072F94 A60FFFE4 */ sh $t7, -0x1c($s0) -/* 0A7AC8 7F072F98 07010004 */ bgez $t8, .L7F072FAC -/* 0A7ACC 7F072F9C 33190003 */ andi $t9, $t8, 3 -/* 0A7AD0 7F072FA0 13200002 */ beqz $t9, .L7F072FAC -/* 0A7AD4 7F072FA4 00000000 */ nop -/* 0A7AD8 7F072FA8 2739FFFC */ addiu $t9, $t9, -4 -.L7F072FAC: -/* 0A7ADC 7F072FAC 00194900 */ sll $t1, $t9, 4 -/* 0A7AE0 7F072FB0 02491021 */ addu $v0, $s2, $t1 -/* 0A7AE4 7F072FB4 844A0000 */ lh $t2, ($v0) -/* 0A7AE8 7F072FB8 26520040 */ addiu $s2, $s2, 0x40 -/* 0A7AEC 7F072FBC 01430019 */ multu $t2, $v1 -/* 0A7AF0 7F072FC0 00005812 */ mflo $t3 -/* 0A7AF4 7F072FC4 000B6403 */ sra $t4, $t3, 0x10 -/* 0A7AF8 7F072FC8 A60CFFF0 */ sh $t4, -0x10($s0) -/* 0A7AFC 7F072FCC 844D0002 */ lh $t5, 2($v0) -/* 0A7B00 7F072FD0 01A30019 */ multu $t5, $v1 -/* 0A7B04 7F072FD4 00007012 */ mflo $t6 -/* 0A7B08 7F072FD8 000E7C03 */ sra $t7, $t6, 0x10 -/* 0A7B0C 7F072FDC A60FFFF2 */ sh $t7, -0xe($s0) -/* 0A7B10 7F072FE0 84580004 */ lh $t8, 4($v0) -/* 0A7B14 7F072FE4 03030019 */ multu $t8, $v1 -/* 0A7B18 7F072FE8 0000C812 */ mflo $t9 -/* 0A7B1C 7F072FEC 00194C03 */ sra $t1, $t9, 0x10 -/* 0A7B20 7F072FF0 A609FFF4 */ sh $t1, -0xc($s0) -/* 0A7B24 7F072FF4 8FAA0044 */ lw $t2, 0x44($sp) -/* 0A7B28 7F072FF8 8D4B0000 */ lw $t3, ($t2) -/* 0A7B2C 7F072FFC 02AB082A */ slt $at, $s5, $t3 -/* 0A7B30 7F073000 1420FF5A */ bnez $at, .L7F072D6C -/* 0A7B34 7F073004 00000000 */ nop -/* 0A7B38 7F073008 8FBF003C */ lw $ra, 0x3c($sp) -.L7F07300C: -/* 0A7B3C 7F07300C 8FB00018 */ lw $s0, 0x18($sp) -/* 0A7B40 7F073010 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A7B44 7F073014 8FB20020 */ lw $s2, 0x20($sp) -/* 0A7B48 7F073018 8FB30024 */ lw $s3, 0x24($sp) -/* 0A7B4C 7F07301C 8FB40028 */ lw $s4, 0x28($sp) -/* 0A7B50 7F073020 8FB5002C */ lw $s5, 0x2c($sp) -/* 0A7B54 7F073024 8FB60030 */ lw $s6, 0x30($sp) -/* 0A7B58 7F073028 8FB70034 */ lw $s7, 0x34($sp) -/* 0A7B5C 7F07302C 8FBE0038 */ lw $fp, 0x38($sp) -/* 0A7B60 7F073030 03E00008 */ jr $ra -/* 0A7B64 7F073034 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F073038(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F073038 -/* 0A7B68 7F073038 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A7B6C 7F07303C AFBF001C */ sw $ra, 0x1c($sp) -/* 0A7B70 7F073040 AFA40020 */ sw $a0, 0x20($sp) -/* 0A7B74 7F073044 00807025 */ move $t6, $a0 -/* 0A7B78 7F073048 8DC70004 */ lw $a3, 4($t6) -/* 0A7B7C 7F07304C 240F0002 */ li $t7, 2 -/* 0A7B80 7F073050 AFAF0010 */ sw $t7, 0x10($sp) -/* 0A7B84 7F073054 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0A7B88 7F073058 2484000C */ addiu $a0, $a0, 0xc -/* 0A7B8C 7F07305C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A7B90 7F073060 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A7B94 7F073064 03E00008 */ jr $ra -/* 0A7B98 7F073068 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07306C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07306C -/* 0A7B9C 7F07306C AFA40000 */ sw $a0, ($sp) -/* 0A7BA0 7F073070 AFA50004 */ sw $a1, 4($sp) -/* 0A7BA4 7F073074 03E00008 */ jr $ra -/* 0A7BA8 7F073078 AFA60008 */ sw $a2, 8($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void dotube(void) { - -} -#else -GLOBAL_ASM( -.text -glabel dotube -/* 0A7BAC 7F07307C 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 0A7BB0 7F073080 AFB5002C */ sw $s5, 0x2c($sp) -/* 0A7BB4 7F073084 0080A825 */ move $s5, $a0 -/* 0A7BB8 7F073088 AFB30024 */ sw $s3, 0x24($sp) -/* 0A7BBC 7F07308C 00A09825 */ move $s3, $a1 -/* 0A7BC0 7F073090 AFBF003C */ sw $ra, 0x3c($sp) -/* 0A7BC4 7F073094 AFBE0038 */ sw $fp, 0x38($sp) -/* 0A7BC8 7F073098 AFB70034 */ sw $s7, 0x34($sp) -/* 0A7BCC 7F07309C AFB60030 */ sw $s6, 0x30($sp) -/* 0A7BD0 7F0730A0 AFB40028 */ sw $s4, 0x28($sp) -/* 0A7BD4 7F0730A4 AFB20020 */ sw $s2, 0x20($sp) -/* 0A7BD8 7F0730A8 AFB1001C */ sw $s1, 0x1c($sp) -/* 0A7BDC 7F0730AC AFB00018 */ sw $s0, 0x18($sp) -/* 0A7BE0 7F0730B0 00A02025 */ move $a0, $a1 -/* 0A7BE4 7F0730B4 00C08825 */ move $s1, $a2 -/* 0A7BE8 7F0730B8 8CD60004 */ lw $s6, 4($a2) -/* 0A7BEC 7F0730BC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A7BF0 7F0730C0 00C02825 */ move $a1, $a2 -/* 0A7BF4 7F0730C4 8EC30000 */ lw $v1, ($s6) -/* 0A7BF8 7F0730C8 00409025 */ move $s2, $v0 -/* 0A7BFC 7F0730CC 50600004 */ beql $v1, $zero, .L7F0730E0 -/* 0A7C00 7F0730D0 8EC50004 */ lw $a1, 4($s6) -/* 0A7C04 7F0730D4 10000002 */ b .L7F0730E0 -/* 0A7C08 7F0730D8 00602825 */ move $a1, $v1 -/* 0A7C0C 7F0730DC 8EC50004 */ lw $a1, 4($s6) -.L7F0730E0: -/* 0A7C10 7F0730E0 8CAE0004 */ lw $t6, 4($a1) -/* 0A7C14 7F0730E4 02602025 */ move $a0, $s3 -/* 0A7C18 7F0730E8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A7C1C 7F0730EC AFAE00C0 */ sw $t6, 0xc0($sp) -/* 0A7C20 7F0730F0 240F0001 */ li $t7, 1 -/* 0A7C24 7F0730F4 AFAF009C */ sw $t7, 0x9c($sp) -/* 0A7C28 7F0730F8 8EB80008 */ lw $t8, 8($s5) -/* 0A7C2C 7F0730FC 00408025 */ move $s0, $v0 -/* 0A7C30 7F073100 02202025 */ move $a0, $s1 -/* 0A7C34 7F073104 33190001 */ andi $t9, $t8, 1 -/* 0A7C38 7F073108 532001AD */ beql $t9, $zero, .L7F0737C0 -/* 0A7C3C 7F07310C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0A7C40 7F073110 0FC1B15C */ jal sub_GAME_7F06C570 -/* 0A7C44 7F073114 00002825 */ move $a1, $zero -/* 0A7C48 7F073118 8E68000C */ lw $t0, 0xc($s3) -/* 0A7C4C 7F07311C 00024980 */ sll $t1, $v0, 6 -/* 0A7C50 7F073120 24050200 */ li $a1, 512 -/* 0A7C54 7F073124 01095021 */ addu $t2, $t0, $t1 -/* 0A7C58 7F073128 AFAA0084 */ sw $t2, 0x84($sp) -/* 0A7C5C 7F07312C 8E430000 */ lw $v1, ($s2) -/* 0A7C60 7F073130 8ECD0000 */ lw $t5, ($s6) -/* 0A7C64 7F073134 8ECB000C */ lw $t3, 0xc($s6) -/* 0A7C68 7F073138 000360C0 */ sll $t4, $v1, 3 -/* 0A7C6C 7F07313C 8E060000 */ lw $a2, ($s0) -/* 0A7C70 7F073140 11A00008 */ beqz $t5, .L7F073164 -/* 0A7C74 7F073144 016CF021 */ addu $fp, $t3, $t4 -/* 0A7C78 7F073148 00C09025 */ move $s2, $a2 -/* 0A7C7C 7F07314C 00608025 */ move $s0, $v1 -/* 0A7C80 7F073150 02202025 */ move $a0, $s1 -/* 0A7C84 7F073154 0FC1B15C */ jal sub_GAME_7F06C570 -/* 0A7C88 7F073158 24050200 */ li $a1, 512 -/* 0A7C8C 7F07315C 10000006 */ b .L7F073178 -/* 0A7C90 7F073160 8E6E000C */ lw $t6, 0xc($s3) -.L7F073164: -/* 0A7C94 7F073164 00609025 */ move $s2, $v1 -/* 0A7C98 7F073168 00C08025 */ move $s0, $a2 -/* 0A7C9C 7F07316C 0FC1B15C */ jal sub_GAME_7F06C570 -/* 0A7CA0 7F073170 8EC40004 */ lw $a0, 4($s6) -/* 0A7CA4 7F073174 8E6E000C */ lw $t6, 0xc($s3) -.L7F073178: -/* 0A7CA8 7F073178 00027980 */ sll $t7, $v0, 6 -/* 0A7CAC 7F07317C 0212C823 */ subu $t9, $s0, $s2 -/* 0A7CB0 7F073180 01CFC021 */ addu $t8, $t6, $t7 -/* 0A7CB4 7F073184 AFB80080 */ sw $t8, 0x80($sp) -/* 0A7CB8 7F073188 8EC30008 */ lw $v1, 8($s6) -/* 0A7CBC 7F07318C 03234021 */ addu $t0, $t9, $v1 -/* 0A7CC0 7F073190 0103001A */ div $zero, $t0, $v1 -/* 0A7CC4 7F073194 14600002 */ bnez $v1, .L7F0731A0 -/* 0A7CC8 7F073198 00000000 */ nop -/* 0A7CCC 7F07319C 0007000D */ break 7 -.L7F0731A0: -/* 0A7CD0 7F0731A0 2401FFFF */ li $at, -1 -/* 0A7CD4 7F0731A4 14610004 */ bne $v1, $at, .L7F0731B8 -/* 0A7CD8 7F0731A8 3C018000 */ lui $at, 0x8000 -/* 0A7CDC 7F0731AC 15010002 */ bne $t0, $at, .L7F0731B8 -/* 0A7CE0 7F0731B0 00000000 */ nop -/* 0A7CE4 7F0731B4 0006000D */ break 6 -.L7F0731B8: -/* 0A7CE8 7F0731B8 00002810 */ mfhi $a1 -/* 0A7CEC 7F0731BC 28A10002 */ slti $at, $a1, 2 -/* 0A7CF0 7F0731C0 1420002E */ bnez $at, .L7F07327C -/* 0A7CF4 7F0731C4 28A10007 */ slti $at, $a1, 7 -/* 0A7CF8 7F0731C8 1020002C */ beqz $at, .L7F07327C -/* 0A7CFC 7F0731CC 28A10004 */ slti $at, $a1, 4 -/* 0A7D00 7F0731D0 50200015 */ beql $at, $zero, .L7F073228 -/* 0A7D04 7F0731D4 240C0008 */ li $t4, 8 -/* 0A7D08 7F0731D8 04A10003 */ bgez $a1, .L7F0731E8 -/* 0A7D0C 7F0731DC 00054843 */ sra $t1, $a1, 1 -/* 0A7D10 7F0731E0 24A10001 */ addiu $at, $a1, 1 -/* 0A7D14 7F0731E4 00014843 */ sra $t1, $at, 1 -.L7F0731E8: -/* 0A7D18 7F0731E8 01325021 */ addu $t2, $t1, $s2 -/* 0A7D1C 7F0731EC 01435821 */ addu $t3, $t2, $v1 -/* 0A7D20 7F0731F0 0163001A */ div $zero, $t3, $v1 -/* 0A7D24 7F0731F4 00002810 */ mfhi $a1 -/* 0A7D28 7F0731F8 14600002 */ bnez $v1, .L7F073204 -/* 0A7D2C 7F0731FC 00000000 */ nop -/* 0A7D30 7F073200 0007000D */ break 7 -.L7F073204: -/* 0A7D34 7F073204 2401FFFF */ li $at, -1 -/* 0A7D38 7F073208 14610004 */ bne $v1, $at, .L7F07321C -/* 0A7D3C 7F07320C 3C018000 */ lui $at, 0x8000 -/* 0A7D40 7F073210 15610002 */ bne $t3, $at, .L7F07321C -/* 0A7D44 7F073214 00000000 */ nop -/* 0A7D48 7F073218 0006000D */ break 6 -.L7F07321C: -/* 0A7D4C 7F07321C 10000050 */ b .L7F073360 -/* 0A7D50 7F073220 8EB1000C */ lw $s1, 0xc($s5) -/* 0A7D54 7F073224 240C0008 */ li $t4, 8 -.L7F073228: -/* 0A7D58 7F073228 01856823 */ subu $t5, $t4, $a1 -/* 0A7D5C 7F07322C 05A10003 */ bgez $t5, .L7F07323C -/* 0A7D60 7F073230 000D7043 */ sra $t6, $t5, 1 -/* 0A7D64 7F073234 25A10001 */ addiu $at, $t5, 1 -/* 0A7D68 7F073238 00017043 */ sra $t6, $at, 1 -.L7F07323C: -/* 0A7D6C 7F07323C 024E7823 */ subu $t7, $s2, $t6 -/* 0A7D70 7F073240 01E3C021 */ addu $t8, $t7, $v1 -/* 0A7D74 7F073244 0303001A */ div $zero, $t8, $v1 -/* 0A7D78 7F073248 00002810 */ mfhi $a1 -/* 0A7D7C 7F07324C AFA0009C */ sw $zero, 0x9c($sp) -/* 0A7D80 7F073250 14600002 */ bnez $v1, .L7F07325C -/* 0A7D84 7F073254 00000000 */ nop -/* 0A7D88 7F073258 0007000D */ break 7 -.L7F07325C: -/* 0A7D8C 7F07325C 2401FFFF */ li $at, -1 -/* 0A7D90 7F073260 14610004 */ bne $v1, $at, .L7F073274 -/* 0A7D94 7F073264 3C018000 */ lui $at, 0x8000 -/* 0A7D98 7F073268 17010002 */ bne $t8, $at, .L7F073274 -/* 0A7D9C 7F07326C 00000000 */ nop -/* 0A7DA0 7F073270 0006000D */ break 6 -.L7F073274: -/* 0A7DA4 7F073274 1000003A */ b .L7F073360 -/* 0A7DA8 7F073278 8EB1000C */ lw $s1, 0xc($s5) -.L7F07327C: -/* 0A7DAC 7F07327C 28A1000A */ slti $at, $a1, 0xa -/* 0A7DB0 7F073280 1420002F */ bnez $at, .L7F073340 -/* 0A7DB4 7F073284 28A1000F */ slti $at, $a1, 0xf -/* 0A7DB8 7F073288 1020002D */ beqz $at, .L7F073340 -/* 0A7DBC 7F07328C 28A1000D */ slti $at, $a1, 0xd -/* 0A7DC0 7F073290 54200017 */ bnezl $at, .L7F0732F0 -/* 0A7DC4 7F073294 24ACFFF8 */ addiu $t4, $a1, -8 -/* 0A7DC8 7F073298 24190010 */ li $t9, 16 -/* 0A7DCC 7F07329C 03254023 */ subu $t0, $t9, $a1 -/* 0A7DD0 7F0732A0 05010003 */ bgez $t0, .L7F0732B0 -/* 0A7DD4 7F0732A4 00084843 */ sra $t1, $t0, 1 -/* 0A7DD8 7F0732A8 25010001 */ addiu $at, $t0, 1 -/* 0A7DDC 7F0732AC 00014843 */ sra $t1, $at, 1 -.L7F0732B0: -/* 0A7DE0 7F0732B0 02495023 */ subu $t2, $s2, $t1 -/* 0A7DE4 7F0732B4 01435821 */ addu $t3, $t2, $v1 -/* 0A7DE8 7F0732B8 0163001A */ div $zero, $t3, $v1 -/* 0A7DEC 7F0732BC 00002810 */ mfhi $a1 -/* 0A7DF0 7F0732C0 14600002 */ bnez $v1, .L7F0732CC -/* 0A7DF4 7F0732C4 00000000 */ nop -/* 0A7DF8 7F0732C8 0007000D */ break 7 -.L7F0732CC: -/* 0A7DFC 7F0732CC 2401FFFF */ li $at, -1 -/* 0A7E00 7F0732D0 14610004 */ bne $v1, $at, .L7F0732E4 -/* 0A7E04 7F0732D4 3C018000 */ lui $at, 0x8000 -/* 0A7E08 7F0732D8 15610002 */ bne $t3, $at, .L7F0732E4 -/* 0A7E0C 7F0732DC 00000000 */ nop -/* 0A7E10 7F0732E0 0006000D */ break 6 -.L7F0732E4: -/* 0A7E14 7F0732E4 1000001E */ b .L7F073360 -/* 0A7E18 7F0732E8 8EB1000C */ lw $s1, 0xc($s5) -/* 0A7E1C 7F0732EC 24ACFFF8 */ addiu $t4, $a1, -8 -.L7F0732F0: -/* 0A7E20 7F0732F0 05810003 */ bgez $t4, .L7F073300 -/* 0A7E24 7F0732F4 000C6843 */ sra $t5, $t4, 1 -/* 0A7E28 7F0732F8 25810001 */ addiu $at, $t4, 1 -/* 0A7E2C 7F0732FC 00016843 */ sra $t5, $at, 1 -.L7F073300: -/* 0A7E30 7F073300 01B27021 */ addu $t6, $t5, $s2 -/* 0A7E34 7F073304 01C37821 */ addu $t7, $t6, $v1 -/* 0A7E38 7F073308 01E3001A */ div $zero, $t7, $v1 -/* 0A7E3C 7F07330C 00002810 */ mfhi $a1 -/* 0A7E40 7F073310 AFA0009C */ sw $zero, 0x9c($sp) -/* 0A7E44 7F073314 14600002 */ bnez $v1, .L7F073320 -/* 0A7E48 7F073318 00000000 */ nop -/* 0A7E4C 7F07331C 0007000D */ break 7 -.L7F073320: -/* 0A7E50 7F073320 2401FFFF */ li $at, -1 -/* 0A7E54 7F073324 14610004 */ bne $v1, $at, .L7F073338 -/* 0A7E58 7F073328 3C018000 */ lui $at, 0x8000 -/* 0A7E5C 7F07332C 15E10002 */ bne $t7, $at, .L7F073338 -/* 0A7E60 7F073330 00000000 */ nop -/* 0A7E64 7F073334 0006000D */ break 6 -.L7F073338: -/* 0A7E68 7F073338 10000009 */ b .L7F073360 -/* 0A7E6C 7F07333C 8EB1000C */ lw $s1, 0xc($s5) -.L7F073340: -/* 0A7E70 7F073340 28A10007 */ slti $at, $a1, 7 -/* 0A7E74 7F073344 14200004 */ bnez $at, .L7F073358 -/* 0A7E78 7F073348 28A1000A */ slti $at, $a1, 0xa -/* 0A7E7C 7F07334C 50200003 */ beql $at, $zero, .L7F07335C -/* 0A7E80 7F073350 02402825 */ move $a1, $s2 -/* 0A7E84 7F073354 AFA0009C */ sw $zero, 0x9c($sp) -.L7F073358: -/* 0A7E88 7F073358 02402825 */ move $a1, $s2 -.L7F07335C: -/* 0A7E8C 7F07335C 8EB1000C */ lw $s1, 0xc($s5) -.L7F073360: -/* 0A7E90 7F073360 8FD40004 */ lw $s4, 4($fp) -/* 0A7E94 7F073364 3C19BC00 */ lui $t9, (0xBC001406 >> 16) # lui $t9, 0xbc00 -/* 0A7E98 7F073368 26380008 */ addiu $t8, $s1, 8 -/* 0A7E9C 7F07336C AEB8000C */ sw $t8, 0xc($s5) -/* 0A7EA0 7F073370 37391406 */ ori $t9, (0xBC001406 & 0xFFFF) # ori $t9, $t9, 0x1406 -/* 0A7EA4 7F073374 AE390000 */ sw $t9, ($s1) -/* 0A7EA8 7F073378 8EC401AC */ lw $a0, 0x1ac($s6) -/* 0A7EAC 7F07337C 0C003A2C */ jal osVirtualToPhysical -/* 0A7EB0 7F073380 AFA500B8 */ sw $a1, 0xb8($sp) -/* 0A7EB4 7F073384 AE220004 */ sw $v0, 4($s1) -/* 0A7EB8 7F073388 93D70000 */ lbu $s7, ($fp) -/* 0A7EBC 7F07338C 241E000A */ li $fp, 10 -/* 0A7EC0 7F073390 24130003 */ li $s3, 3 -/* 0A7EC4 7F073394 1AE00109 */ blez $s7, .L7F0737BC -/* 0A7EC8 7F073398 24120002 */ li $s2, 2 -/* 0A7ECC 7F07339C 24110001 */ li $s1, 1 -/* 0A7ED0 7F0733A0 92840000 */ lbu $a0, ($s4) -.L7F0733A4: -/* 0A7ED4 7F0733A4 3C028003 */ lui $v0, %hi(D_8003608C) -/* 0A7ED8 7F0733A8 8FB000B8 */ lw $s0, 0xb8($sp) -/* 0A7EDC 7F0733AC 10910007 */ beq $a0, $s1, .L7F0733CC -/* 0A7EE0 7F0733B0 00000000 */ nop -/* 0A7EE4 7F0733B4 509200D5 */ beql $a0, $s2, .L7F07370C -/* 0A7EE8 7F0733B8 92820001 */ lbu $v0, 1($s4) -/* 0A7EEC 7F0733BC 509300E6 */ beql $a0, $s3, .L7F073758 -/* 0A7EF0 7F0733C0 8EB0000C */ lw $s0, 0xc($s5) -/* 0A7EF4 7F0733C4 100000FB */ b .L7F0737B4 -/* 0A7EF8 7F0733C8 26F7FFFF */ addiu $s7, $s7, -1 -.L7F0733CC: -/* 0A7EFC 7F0733CC 8C42608C */ lw $v0, %lo(D_8003608C)($v0) -/* 0A7F00 7F0733D0 001040C0 */ sll $t0, $s0, 3 -/* 0A7F04 7F0733D4 01008025 */ move $s0, $t0 -/* 0A7F08 7F0733D8 14400007 */ bnez $v0, .L7F0733F8 -/* 0A7F0C 7F0733DC 3C048005 */ lui $a0, %hi(aDotubeNoVtxAllocator) -/* 0A7F10 7F0733E0 0C0033D1 */ jal osSyncPrintf -/* 0A7F14 7F0733E4 24844A58 */ addiu $a0, %lo(aDotubeNoVtxAllocator) # addiu $a0, $a0, 0x4a58 -/* 0A7F18 7F0733E8 0FC1B11B */ jal return_null -/* 0A7F1C 7F0733EC 00000000 */ nop -/* 0A7F20 7F0733F0 3C028003 */ lui $v0, %hi(D_8003608C) -/* 0A7F24 7F0733F4 8C42608C */ lw $v0, %lo(D_8003608C)($v0) -.L7F0733F8: -/* 0A7F28 7F0733F8 0040F809 */ jalr $v0 -/* 0A7F2C 7F0733FC 02402025 */ move $a0, $s2 -/* 0A7F30 7F073400 AFA20074 */ sw $v0, 0x74($sp) -/* 0A7F34 7F073404 968A0002 */ lhu $t2, 2($s4) -/* 0A7F38 7F073408 8EC90010 */ lw $t1, 0x10($s6) -/* 0A7F3C 7F07340C 24470010 */ addiu $a3, $v0, 0x10 -/* 0A7F40 7F073410 000A5900 */ sll $t3, $t2, 4 -/* 0A7F44 7F073414 012B6021 */ addu $t4, $t1, $t3 -/* 0A7F48 7F073418 8D810000 */ lw $at, ($t4) -/* 0A7F4C 7F07341C AC410000 */ sw $at, ($v0) -/* 0A7F50 7F073420 8D8F0004 */ lw $t7, 4($t4) -/* 0A7F54 7F073424 AC4F0004 */ sw $t7, 4($v0) -/* 0A7F58 7F073428 8D810008 */ lw $at, 8($t4) -/* 0A7F5C 7F07342C AC410008 */ sw $at, 8($v0) -/* 0A7F60 7F073430 8D8F000C */ lw $t7, 0xc($t4) -/* 0A7F64 7F073434 AC4F000C */ sw $t7, 0xc($v0) -/* 0A7F68 7F073438 96990002 */ lhu $t9, 2($s4) -/* 0A7F6C 7F07343C 8ED80010 */ lw $t8, 0x10($s6) -/* 0A7F70 7F073440 00194100 */ sll $t0, $t9, 4 -/* 0A7F74 7F073444 03085021 */ addu $t2, $t8, $t0 -/* 0A7F78 7F073448 8D410010 */ lw $at, 0x10($t2) -/* 0A7F7C 7F07344C ACE10000 */ sw $at, ($a3) -/* 0A7F80 7F073450 8D4E0014 */ lw $t6, 0x14($t2) -/* 0A7F84 7F073454 ACEE0004 */ sw $t6, 4($a3) -/* 0A7F88 7F073458 8D410018 */ lw $at, 0x18($t2) -/* 0A7F8C 7F07345C ACE10008 */ sw $at, 8($a3) -/* 0A7F90 7F073460 8D4E001C */ lw $t6, 0x1c($t2) -/* 0A7F94 7F073464 ACEE000C */ sw $t6, 0xc($a3) -/* 0A7F98 7F073468 8ECD0004 */ lw $t5, 4($s6) -/* 0A7F9C 7F07346C 8FAC00C0 */ lw $t4, 0xc0($sp) -/* 0A7FA0 7F073470 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0A7FA4 7F073474 51A0002E */ beql $t5, $zero, .L7F073530 -/* 0A7FA8 7F073478 8D99000C */ lw $t9, 0xc($t4) -/* 0A7FAC 7F07347C 8ECC000C */ lw $t4, 0xc($s6) -/* 0A7FB0 7F073480 01901821 */ addu $v1, $t4, $s0 -/* 0A7FB4 7F073484 90660000 */ lbu $a2, ($v1) -/* 0A7FB8 7F073488 8C650004 */ lw $a1, 4($v1) -/* 0A7FBC 7F07348C 58C00063 */ blezl $a2, .L7F07361C -/* 0A7FC0 7F073490 8EB0000C */ lw $s0, 0xc($s5) -/* 0A7FC4 7F073494 90A30000 */ lbu $v1, ($a1) -.L7F073498: -/* 0A7FC8 7F073498 24C6FFFF */ addiu $a2, $a2, -1 -/* 0A7FCC 7F07349C 16230012 */ bne $s1, $v1, .L7F0734E8 -/* 0A7FD0 7F0734A0 00000000 */ nop -/* 0A7FD4 7F0734A4 94B90002 */ lhu $t9, 2($a1) -/* 0A7FD8 7F0734A8 8ECF0010 */ lw $t7, 0x10($s6) -/* 0A7FDC 7F0734AC 0019C100 */ sll $t8, $t9, 4 -/* 0A7FE0 7F0734B0 01F81821 */ addu $v1, $t7, $t8 -/* 0A7FE4 7F0734B4 84680000 */ lh $t0, ($v1) -/* 0A7FE8 7F0734B8 A4480000 */ sh $t0, ($v0) -/* 0A7FEC 7F0734BC 846B0002 */ lh $t3, 2($v1) -/* 0A7FF0 7F0734C0 A44B0002 */ sh $t3, 2($v0) -/* 0A7FF4 7F0734C4 84690004 */ lh $t1, 4($v1) -/* 0A7FF8 7F0734C8 A4490004 */ sh $t1, 4($v0) -/* 0A7FFC 7F0734CC 846A0010 */ lh $t2, 0x10($v1) -/* 0A8000 7F0734D0 A4EA0000 */ sh $t2, ($a3) -/* 0A8004 7F0734D4 846E0012 */ lh $t6, 0x12($v1) -/* 0A8008 7F0734D8 A4EE0002 */ sh $t6, 2($a3) -/* 0A800C 7F0734DC 846D0014 */ lh $t5, 0x14($v1) -/* 0A8010 7F0734E0 1000004D */ b .L7F073618 -/* 0A8014 7F0734E4 A4ED0004 */ sh $t5, 4($a3) -.L7F0734E8: -/* 0A8018 7F0734E8 10710007 */ beq $v1, $s1, .L7F073508 -/* 0A801C 7F0734EC 00000000 */ nop -/* 0A8020 7F0734F0 10720007 */ beq $v1, $s2, .L7F073510 -/* 0A8024 7F0734F4 00000000 */ nop -/* 0A8028 7F0734F8 50730008 */ beql $v1, $s3, .L7F07351C -/* 0A802C 7F0734FC 24A50004 */ addiu $a1, $a1, 4 -/* 0A8030 7F073500 10000006 */ b .L7F07351C -/* 0A8034 7F073504 00000000 */ nop -.L7F073508: -/* 0A8038 7F073508 10000004 */ b .L7F07351C -/* 0A803C 7F07350C 24A50004 */ addiu $a1, $a1, 4 -.L7F073510: -/* 0A8040 7F073510 10000002 */ b .L7F07351C -/* 0A8044 7F073514 24A50002 */ addiu $a1, $a1, 2 -/* 0A8048 7F073518 24A50004 */ addiu $a1, $a1, 4 -.L7F07351C: -/* 0A804C 7F07351C 5CC0FFDE */ bgtzl $a2, .L7F073498 -/* 0A8050 7F073520 90A30000 */ lbu $v1, ($a1) -/* 0A8054 7F073524 1000003D */ b .L7F07361C -/* 0A8058 7F073528 8EB0000C */ lw $s0, 0xc($s5) -/* 0A805C 7F07352C 8D99000C */ lw $t9, 0xc($t4) -.L7F073530: -/* 0A8060 7F073530 03301821 */ addu $v1, $t9, $s0 -/* 0A8064 7F073534 90660000 */ lbu $a2, ($v1) -/* 0A8068 7F073538 8C650004 */ lw $a1, 4($v1) -/* 0A806C 7F07353C 58C00037 */ blezl $a2, .L7F07361C -/* 0A8070 7F073540 8EB0000C */ lw $s0, 0xc($s5) -/* 0A8074 7F073544 90A30000 */ lbu $v1, ($a1) -.L7F073548: -/* 0A8078 7F073548 24C6FFFF */ addiu $a2, $a2, -1 -/* 0A807C 7F07354C 16230023 */ bne $s1, $v1, .L7F0735DC -/* 0A8080 7F073550 00000000 */ nop -/* 0A8084 7F073554 94A80002 */ lhu $t0, 2($a1) -/* 0A8088 7F073558 8FA9009C */ lw $t1, 0x9c($sp) -/* 0A808C 7F07355C 8DF80010 */ lw $t8, 0x10($t7) -/* 0A8090 7F073560 00085900 */ sll $t3, $t0, 4 -/* 0A8094 7F073564 1120000F */ beqz $t1, .L7F0735A4 -/* 0A8098 7F073568 030B1821 */ addu $v1, $t8, $t3 -/* 0A809C 7F07356C 24640010 */ addiu $a0, $v1, 0x10 -/* 0A80A0 7F073570 848A0000 */ lh $t2, ($a0) -/* 0A80A4 7F073574 A44A0000 */ sh $t2, ($v0) -/* 0A80A8 7F073578 848E0002 */ lh $t6, 2($a0) -/* 0A80AC 7F07357C A44E0002 */ sh $t6, 2($v0) -/* 0A80B0 7F073580 848D0004 */ lh $t5, 4($a0) -/* 0A80B4 7F073584 A44D0004 */ sh $t5, 4($v0) -/* 0A80B8 7F073588 846C0000 */ lh $t4, ($v1) -/* 0A80BC 7F07358C A4EC0000 */ sh $t4, ($a3) -/* 0A80C0 7F073590 84790002 */ lh $t9, 2($v1) -/* 0A80C4 7F073594 A4F90002 */ sh $t9, 2($a3) -/* 0A80C8 7F073598 846F0004 */ lh $t7, 4($v1) -/* 0A80CC 7F07359C 1000001E */ b .L7F073618 -/* 0A80D0 7F0735A0 A4EF0004 */ sh $t7, 4($a3) -.L7F0735A4: -/* 0A80D4 7F0735A4 84680000 */ lh $t0, ($v1) -/* 0A80D8 7F0735A8 24640010 */ addiu $a0, $v1, 0x10 -/* 0A80DC 7F0735AC A4480000 */ sh $t0, ($v0) -/* 0A80E0 7F0735B0 84780002 */ lh $t8, 2($v1) -/* 0A80E4 7F0735B4 A4580002 */ sh $t8, 2($v0) -/* 0A80E8 7F0735B8 846B0004 */ lh $t3, 4($v1) -/* 0A80EC 7F0735BC A44B0004 */ sh $t3, 4($v0) -/* 0A80F0 7F0735C0 84890000 */ lh $t1, ($a0) -/* 0A80F4 7F0735C4 A4E90000 */ sh $t1, ($a3) -/* 0A80F8 7F0735C8 848A0002 */ lh $t2, 2($a0) -/* 0A80FC 7F0735CC A4EA0002 */ sh $t2, 2($a3) -/* 0A8100 7F0735D0 848E0004 */ lh $t6, 4($a0) -/* 0A8104 7F0735D4 10000010 */ b .L7F073618 -/* 0A8108 7F0735D8 A4EE0004 */ sh $t6, 4($a3) -.L7F0735DC: -/* 0A810C 7F0735DC 10710007 */ beq $v1, $s1, .L7F0735FC -/* 0A8110 7F0735E0 00000000 */ nop -/* 0A8114 7F0735E4 10720007 */ beq $v1, $s2, .L7F073604 -/* 0A8118 7F0735E8 00000000 */ nop -/* 0A811C 7F0735EC 50730008 */ beql $v1, $s3, .L7F073610 -/* 0A8120 7F0735F0 24A50004 */ addiu $a1, $a1, 4 -/* 0A8124 7F0735F4 10000006 */ b .L7F073610 -/* 0A8128 7F0735F8 00000000 */ nop -.L7F0735FC: -/* 0A812C 7F0735FC 10000004 */ b .L7F073610 -/* 0A8130 7F073600 24A50004 */ addiu $a1, $a1, 4 -.L7F073604: -/* 0A8134 7F073604 10000002 */ b .L7F073610 -/* 0A8138 7F073608 24A50002 */ addiu $a1, $a1, 2 -/* 0A813C 7F07360C 24A50004 */ addiu $a1, $a1, 4 -.L7F073610: -/* 0A8140 7F073610 5CC0FFCD */ bgtzl $a2, .L7F073548 -/* 0A8144 7F073614 90A30000 */ lbu $v1, ($a1) -.L7F073618: -/* 0A8148 7F073618 8EB0000C */ lw $s0, 0xc($s5) -.L7F07361C: -/* 0A814C 7F07361C 3C0C0102 */ lui $t4, (0x01020040 >> 16) # lui $t4, 0x102 -/* 0A8150 7F073620 358C0040 */ ori $t4, (0x01020040 & 0xFFFF) # ori $t4, $t4, 0x40 -/* 0A8154 7F073624 260D0008 */ addiu $t5, $s0, 8 -/* 0A8158 7F073628 AEAD000C */ sw $t5, 0xc($s5) -/* 0A815C 7F07362C AE0C0000 */ sw $t4, ($s0) -/* 0A8160 7F073630 8FA40080 */ lw $a0, 0x80($sp) -/* 0A8164 7F073634 0C003A2C */ jal osVirtualToPhysical -/* 0A8168 7F073638 AFB0004C */ sw $s0, 0x4c($sp) -/* 0A816C 7F07363C 8FA3004C */ lw $v1, 0x4c($sp) -/* 0A8170 7F073640 3C0F0410 */ lui $t7, (0x04100020 >> 16) # lui $t7, 0x410 -/* 0A8174 7F073644 35EF0020 */ ori $t7, (0x04100020 & 0xFFFF) # ori $t7, $t7, 0x20 -/* 0A8178 7F073648 AC620004 */ sw $v0, 4($v1) -/* 0A817C 7F07364C 8EB0000C */ lw $s0, 0xc($s5) -/* 0A8180 7F073650 26190008 */ addiu $t9, $s0, 8 -/* 0A8184 7F073654 AEB9000C */ sw $t9, 0xc($s5) -/* 0A8188 7F073658 AE0F0000 */ sw $t7, ($s0) -/* 0A818C 7F07365C 8FA40074 */ lw $a0, 0x74($sp) -/* 0A8190 7F073660 0C003A2C */ jal osVirtualToPhysical -/* 0A8194 7F073664 AFB00048 */ sw $s0, 0x48($sp) -/* 0A8198 7F073668 8FA50048 */ lw $a1, 0x48($sp) -/* 0A819C 7F07366C 3C180102 */ lui $t8, (0x01020040 >> 16) # lui $t8, 0x102 -/* 0A81A0 7F073670 37180040 */ ori $t8, (0x01020040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0A81A4 7F073674 ACA20004 */ sw $v0, 4($a1) -/* 0A81A8 7F073678 8EB0000C */ lw $s0, 0xc($s5) -/* 0A81AC 7F07367C 26080008 */ addiu $t0, $s0, 8 -/* 0A81B0 7F073680 AEA8000C */ sw $t0, 0xc($s5) -/* 0A81B4 7F073684 AE180000 */ sw $t8, ($s0) -/* 0A81B8 7F073688 8FA40084 */ lw $a0, 0x84($sp) -/* 0A81BC 7F07368C 0C003A2C */ jal osVirtualToPhysical -/* 0A81C0 7F073690 AFB00044 */ sw $s0, 0x44($sp) -/* 0A81C4 7F073694 8FA60044 */ lw $a2, 0x44($sp) -/* 0A81C8 7F073698 3C010400 */ lui $at, 0x400 -/* 0A81CC 7F07369C ACC20004 */ sw $v0, 4($a2) -/* 0A81D0 7F0736A0 8EB0000C */ lw $s0, 0xc($s5) -/* 0A81D4 7F0736A4 260B0008 */ addiu $t3, $s0, 8 -/* 0A81D8 7F0736A8 AEAB000C */ sw $t3, 0xc($s5) -/* 0A81DC 7F0736AC 92830001 */ lbu $v1, 1($s4) -/* 0A81E0 7F0736B0 2463FFFE */ addiu $v1, $v1, -2 -/* 0A81E4 7F0736B4 2469FFFF */ addiu $t1, $v1, -1 -/* 0A81E8 7F0736B8 00095100 */ sll $t2, $t1, 4 -/* 0A81EC 7F0736BC 354E0002 */ ori $t6, $t2, 2 -/* 0A81F0 7F0736C0 31CD00FF */ andi $t5, $t6, 0xff -/* 0A81F4 7F0736C4 000D6400 */ sll $t4, $t5, 0x10 -/* 0A81F8 7F0736C8 00037900 */ sll $t7, $v1, 4 -/* 0A81FC 7F0736CC 31E8FFFF */ andi $t0, $t7, 0xffff -/* 0A8200 7F0736D0 0181C825 */ or $t9, $t4, $at -/* 0A8204 7F0736D4 0328C025 */ or $t8, $t9, $t0 -/* 0A8208 7F0736D8 AE180000 */ sw $t8, ($s0) -/* 0A820C 7F0736DC 96890002 */ lhu $t1, 2($s4) -/* 0A8210 7F0736E0 8ECB0010 */ lw $t3, 0x10($s6) -/* 0A8214 7F0736E4 AFB00040 */ sw $s0, 0x40($sp) -/* 0A8218 7F0736E8 00095100 */ sll $t2, $t1, 4 -/* 0A821C 7F0736EC 016A2021 */ addu $a0, $t3, $t2 -/* 0A8220 7F0736F0 0C003A2C */ jal osVirtualToPhysical -/* 0A8224 7F0736F4 24840020 */ addiu $a0, $a0, 0x20 -/* 0A8228 7F0736F8 8FA50040 */ lw $a1, 0x40($sp) -/* 0A822C 7F0736FC 26940004 */ addiu $s4, $s4, 4 -/* 0A8230 7F073700 1000002B */ b .L7F0737B0 -/* 0A8234 7F073704 ACA20004 */ sw $v0, 4($a1) -/* 0A8238 7F073708 92820001 */ lbu $v0, 1($s4) -.L7F07370C: -/* 0A823C 7F07370C 240100FF */ li $at, 255 -/* 0A8240 7F073710 02A02025 */ move $a0, $s5 -/* 0A8244 7F073714 1041000B */ beq $v0, $at, .L7F073744 -/* 0A8248 7F073718 00002825 */ move $a1, $zero -/* 0A824C 7F07371C 00026880 */ sll $t5, $v0, 2 -/* 0A8250 7F073720 8ECE0014 */ lw $t6, 0x14($s6) -/* 0A8254 7F073724 01A26823 */ subu $t5, $t5, $v0 -/* 0A8258 7F073728 000D6880 */ sll $t5, $t5, 2 -/* 0A825C 7F07372C 02A02025 */ move $a0, $s5 -/* 0A8260 7F073730 02203025 */ move $a2, $s1 -/* 0A8264 7F073734 0FC1CC0E */ jal sub_GAME_7F073038 -/* 0A8268 7F073738 01CD2821 */ addu $a1, $t6, $t5 -/* 0A826C 7F07373C 1000001C */ b .L7F0737B0 -/* 0A8270 7F073740 26940002 */ addiu $s4, $s4, 2 -.L7F073744: -/* 0A8274 7F073744 0FC1CC0E */ jal sub_GAME_7F073038 -/* 0A8278 7F073748 02203025 */ move $a2, $s1 -/* 0A827C 7F07374C 10000018 */ b .L7F0737B0 -/* 0A8280 7F073750 26940002 */ addiu $s4, $s4, 2 -/* 0A8284 7F073754 8EB0000C */ lw $s0, 0xc($s5) -.L7F073758: -/* 0A8288 7F073758 3C0FBF00 */ lui $t7, 0xbf00 -/* 0A828C 7F07375C 26940004 */ addiu $s4, $s4, 4 -/* 0A8290 7F073760 260C0008 */ addiu $t4, $s0, 8 -/* 0A8294 7F073764 AEAC000C */ sw $t4, 0xc($s5) -/* 0A8298 7F073768 AE0F0000 */ sw $t7, ($s0) -/* 0A829C 7F07376C 9299FFFD */ lbu $t9, -3($s4) -/* 0A82A0 7F073770 928BFFFE */ lbu $t3, -2($s4) -/* 0A82A4 7F073774 928FFFFF */ lbu $t7, -1($s4) -/* 0A82A8 7F073778 033E0019 */ multu $t9, $fp -/* 0A82AC 7F07377C 00004012 */ mflo $t0 -/* 0A82B0 7F073780 311800FF */ andi $t8, $t0, 0xff -/* 0A82B4 7F073784 00184C00 */ sll $t1, $t8, 0x10 -/* 0A82B8 7F073788 017E0019 */ multu $t3, $fp -/* 0A82BC 7F07378C 00005012 */ mflo $t2 -/* 0A82C0 7F073790 314E00FF */ andi $t6, $t2, 0xff -/* 0A82C4 7F073794 000E6A00 */ sll $t5, $t6, 8 -/* 0A82C8 7F073798 01FE0019 */ multu $t7, $fp -/* 0A82CC 7F07379C 012D6025 */ or $t4, $t1, $t5 -/* 0A82D0 7F0737A0 0000C812 */ mflo $t9 -/* 0A82D4 7F0737A4 332800FF */ andi $t0, $t9, 0xff -/* 0A82D8 7F0737A8 0188C025 */ or $t8, $t4, $t0 -/* 0A82DC 7F0737AC AE180004 */ sw $t8, 4($s0) -.L7F0737B0: -/* 0A82E0 7F0737B0 26F7FFFF */ addiu $s7, $s7, -1 -.L7F0737B4: -/* 0A82E4 7F0737B4 5EE0FEFB */ bgtzl $s7, .L7F0733A4 -/* 0A82E8 7F0737B8 92840000 */ lbu $a0, ($s4) -.L7F0737BC: -/* 0A82EC 7F0737BC 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0737C0: -/* 0A82F0 7F0737C0 8FB00018 */ lw $s0, 0x18($sp) -/* 0A82F4 7F0737C4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A82F8 7F0737C8 8FB20020 */ lw $s2, 0x20($sp) -/* 0A82FC 7F0737CC 8FB30024 */ lw $s3, 0x24($sp) -/* 0A8300 7F0737D0 8FB40028 */ lw $s4, 0x28($sp) -/* 0A8304 7F0737D4 8FB5002C */ lw $s5, 0x2c($sp) -/* 0A8308 7F0737D8 8FB60030 */ lw $s6, 0x30($sp) -/* 0A830C 7F0737DC 8FB70034 */ lw $s7, 0x34($sp) -/* 0A8310 7F0737E0 8FBE0038 */ lw $fp, 0x38($sp) -/* 0A8314 7F0737E4 03E00008 */ jr $ra -/* 0A8318 7F0737E8 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0737EC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0737EC -/* 0A831C 7F0737EC AFA40000 */ sw $a0, ($sp) -/* 0A8320 7F0737F0 AFA50004 */ sw $a1, 4($sp) -/* 0A8324 7F0737F4 03E00008 */ jr $ra -/* 0A8328 7F0737F8 AFA60008 */ sw $a2, 8($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0737FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0737FC -/* 0A832C 7F0737FC AFA40000 */ sw $a0, ($sp) -/* 0A8330 7F073800 AFA50004 */ sw $a1, 4($sp) -/* 0A8334 7F073804 03E00008 */ jr $ra -/* 0A8338 7F073808 AFA60008 */ sw $a2, 8($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void dogfnegx(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054D50 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel dogfnegx -/* 0A833C 7F07380C 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 0A8340 7F073810 AFB20020 */ sw $s2, 0x20($sp) -/* 0A8344 7F073814 00809025 */ move $s2, $a0 -/* 0A8348 7F073818 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A834C 7F07381C AFB1001C */ sw $s1, 0x1c($sp) -/* 0A8350 7F073820 AFB00018 */ sw $s0, 0x18($sp) -/* 0A8354 7F073824 AFA50104 */ sw $a1, 0x104($sp) -/* 0A8358 7F073828 00A02025 */ move $a0, $a1 -/* 0A835C 7F07382C 00C08025 */ move $s0, $a2 -/* 0A8360 7F073830 8CD10004 */ lw $s1, 4($a2) -/* 0A8364 7F073834 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A8368 7F073838 00C02825 */ move $a1, $a2 -/* 0A836C 7F07383C 3C0F8003 */ lui $t7, %hi(D_800363E0) -/* 0A8370 7F073840 25EF63E0 */ addiu $t7, %lo(D_800363E0) # addiu $t7, $t7, 0x63e0 -/* 0A8374 7F073844 8DE10000 */ lw $at, ($t7) -/* 0A8378 7F073848 8DF90004 */ lw $t9, 4($t7) -/* 0A837C 7F07384C 27AE0070 */ addiu $t6, $sp, 0x70 -/* 0A8380 7F073850 ADC10000 */ sw $at, ($t6) -/* 0A8384 7F073854 ADD90004 */ sw $t9, 4($t6) -/* 0A8388 7F073858 8DF9000C */ lw $t9, 0xc($t7) -/* 0A838C 7F07385C 8DE10008 */ lw $at, 8($t7) -/* 0A8390 7F073860 ADD9000C */ sw $t9, 0xc($t6) -/* 0A8394 7F073864 ADC10008 */ sw $at, 8($t6) -/* 0A8398 7F073868 8E580008 */ lw $t8, 8($s2) -/* 0A839C 7F07386C 330D0002 */ andi $t5, $t8, 2 -/* 0A83A0 7F073870 51A001D0 */ beql $t5, $zero, .L7F073FB4 -/* 0A83A4 7F073874 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A83A8 7F073878 844C0000 */ lh $t4, ($v0) -/* 0A83AC 7F07387C 02002025 */ move $a0, $s0 -/* 0A83B0 7F073880 518001CC */ beql $t4, $zero, .L7F073FB4 -/* 0A83B4 7F073884 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A83B8 7F073888 0FC1B15C */ jal sub_GAME_7F06C570 -/* 0A83BC 7F07388C 00002825 */ move $a1, $zero -/* 0A83C0 7F073890 8FAE0104 */ lw $t6, 0x104($sp) -/* 0A83C4 7F073894 0002C980 */ sll $t9, $v0, 6 -/* 0A83C8 7F073898 C6280000 */ lwc1 $f8, ($s1) -/* 0A83CC 7F07389C 8DCF000C */ lw $t7, 0xc($t6) -/* 0A83D0 7F0738A0 C6240004 */ lwc1 $f4, 4($s1) -/* 0A83D4 7F0738A4 01F98021 */ addu $s0, $t7, $t9 -/* 0A83D8 7F0738A8 C60A0000 */ lwc1 $f10, ($s0) -/* 0A83DC 7F0738AC 460A4182 */ mul.s $f6, $f8, $f10 -/* 0A83E0 7F0738B0 C6080010 */ lwc1 $f8, 0x10($s0) -/* 0A83E4 7F0738B4 46082282 */ mul.s $f10, $f4, $f8 -/* 0A83E8 7F0738B8 C6280008 */ lwc1 $f8, 8($s1) -/* 0A83EC 7F0738BC 460A3100 */ add.s $f4, $f6, $f10 -/* 0A83F0 7F0738C0 C6060020 */ lwc1 $f6, 0x20($s0) -/* 0A83F4 7F0738C4 46064282 */ mul.s $f10, $f8, $f6 -/* 0A83F8 7F0738C8 C6060030 */ lwc1 $f6, 0x30($s0) -/* 0A83FC 7F0738CC 460A2200 */ add.s $f8, $f4, $f10 -/* 0A8400 7F0738D0 46083100 */ add.s $f4, $f6, $f8 -/* 0A8404 7F0738D4 46002287 */ neg.s $f10, $f4 -/* 0A8408 7F0738D8 E7AA00D0 */ swc1 $f10, 0xd0($sp) -/* 0A840C 7F0738DC C6260000 */ lwc1 $f6, ($s1) -/* 0A8410 7F0738E0 C6080004 */ lwc1 $f8, 4($s0) -/* 0A8414 7F0738E4 46083102 */ mul.s $f4, $f6, $f8 -/* 0A8418 7F0738E8 C6080014 */ lwc1 $f8, 0x14($s0) -/* 0A841C 7F0738EC C6260004 */ lwc1 $f6, 4($s1) -/* 0A8420 7F0738F0 46083182 */ mul.s $f6, $f6, $f8 -/* 0A8424 7F0738F4 46062200 */ add.s $f8, $f4, $f6 -/* 0A8428 7F0738F8 C6060024 */ lwc1 $f6, 0x24($s0) -/* 0A842C 7F0738FC C6240008 */ lwc1 $f4, 8($s1) -/* 0A8430 7F073900 46062102 */ mul.s $f4, $f4, $f6 -/* 0A8434 7F073904 46044180 */ add.s $f6, $f8, $f4 -/* 0A8438 7F073908 C6080034 */ lwc1 $f8, 0x34($s0) -/* 0A843C 7F07390C 46064100 */ add.s $f4, $f8, $f6 -/* 0A8440 7F073910 46002207 */ neg.s $f8, $f4 -/* 0A8444 7F073914 E7A800D4 */ swc1 $f8, 0xd4($sp) -/* 0A8448 7F073918 C6040008 */ lwc1 $f4, 8($s0) -/* 0A844C 7F07391C C6260000 */ lwc1 $f6, ($s1) -/* 0A8450 7F073920 46043182 */ mul.s $f6, $f6, $f4 -/* 0A8454 7F073924 C6240004 */ lwc1 $f4, 4($s1) -/* 0A8458 7F073928 E7AA0028 */ swc1 $f10, 0x28($sp) -/* 0A845C 7F07392C C60A0018 */ lwc1 $f10, 0x18($s0) -/* 0A8460 7F073930 460A2102 */ mul.s $f4, $f4, $f10 -/* 0A8464 7F073934 46043280 */ add.s $f10, $f6, $f4 -/* 0A8468 7F073938 C6040028 */ lwc1 $f4, 0x28($s0) -/* 0A846C 7F07393C C6260008 */ lwc1 $f6, 8($s1) -/* 0A8470 7F073940 46043182 */ mul.s $f6, $f6, $f4 -/* 0A8474 7F073944 46065100 */ add.s $f4, $f10, $f6 -/* 0A8478 7F073948 C60A0038 */ lwc1 $f10, 0x38($s0) -/* 0A847C 7F07394C 46045180 */ add.s $f6, $f10, $f4 -/* 0A8480 7F073950 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 0A8484 7F073954 46003287 */ neg.s $f10, $f6 -/* 0A8488 7F073958 46042182 */ mul.s $f6, $f4, $f4 -/* 0A848C 7F07395C E7AA00D8 */ swc1 $f10, 0xd8($sp) -/* 0A8490 7F073960 46084102 */ mul.s $f4, $f8, $f8 -/* 0A8494 7F073964 46043200 */ add.s $f8, $f6, $f4 -/* 0A8498 7F073968 460A5282 */ mul.s $f10, $f10, $f10 -/* 0A849C 7F07396C 0C007DF8 */ jal sqrtf -/* 0A84A0 7F073970 46085300 */ add.s $f12, $f10, $f8 -/* 0A84A4 7F073974 44807000 */ mtc1 $zero, $f14 -/* 0A84A8 7F073978 00000000 */ nop -/* 0A84AC 7F07397C 4600703C */ c.lt.s $f14, $f0 -/* 0A84B0 7F073980 00000000 */ nop -/* 0A84B4 7F073984 45020012 */ bc1fl .L7F0739D0 -/* 0A84B8 7F073988 8FAD0104 */ lw $t5, 0x104($sp) -/* 0A84BC 7F07398C 8FB80104 */ lw $t8, 0x104($sp) -/* 0A84C0 7F073990 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A84C4 7F073994 44813000 */ mtc1 $at, $f6 -/* 0A84C8 7F073998 C7040014 */ lwc1 $f4, 0x14($t8) -/* 0A84CC 7F07399C C7A800D0 */ lwc1 $f8, 0xd0($sp) -/* 0A84D0 7F0739A0 46002282 */ mul.s $f10, $f4, $f0 -/* 0A84D4 7F0739A4 460A3083 */ div.s $f2, $f6, $f10 -/* 0A84D8 7F0739A8 C7A600D4 */ lwc1 $f6, 0xd4($sp) -/* 0A84DC 7F0739AC 46024102 */ mul.s $f4, $f8, $f2 -/* 0A84E0 7F0739B0 C7A800D8 */ lwc1 $f8, 0xd8($sp) -/* 0A84E4 7F0739B4 46023282 */ mul.s $f10, $f6, $f2 -/* 0A84E8 7F0739B8 E7A400D0 */ swc1 $f4, 0xd0($sp) -/* 0A84EC 7F0739BC 46024102 */ mul.s $f4, $f8, $f2 -/* 0A84F0 7F0739C0 E7AA00D4 */ swc1 $f10, 0xd4($sp) -/* 0A84F4 7F0739C4 10000009 */ b .L7F0739EC -/* 0A84F8 7F0739C8 E7A400D8 */ swc1 $f4, 0xd8($sp) -/* 0A84FC 7F0739CC 8FAD0104 */ lw $t5, 0x104($sp) -.L7F0739D0: -/* 0A8500 7F0739D0 E7AE00D0 */ swc1 $f14, 0xd0($sp) -/* 0A8504 7F0739D4 E7AE00D4 */ swc1 $f14, 0xd4($sp) -/* 0A8508 7F0739D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A850C 7F0739DC 44813000 */ mtc1 $at, $f6 -/* 0A8510 7F0739E0 C5AA0014 */ lwc1 $f10, 0x14($t5) -/* 0A8514 7F0739E4 460A3203 */ div.s $f8, $f6, $f10 -/* 0A8518 7F0739E8 E7A800D8 */ swc1 $f8, 0xd8($sp) -.L7F0739EC: -/* 0A851C 7F0739EC C7A400D0 */ lwc1 $f4, 0xd0($sp) -/* 0A8520 7F0739F0 C6060010 */ lwc1 $f6, 0x10($s0) -/* 0A8524 7F0739F4 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 0A8528 7F0739F8 46062282 */ mul.s $f10, $f4, $f6 -/* 0A852C 7F0739FC C6040014 */ lwc1 $f4, 0x14($s0) -/* 0A8530 7F073A00 46044182 */ mul.s $f6, $f8, $f4 -/* 0A8534 7F073A04 C6040018 */ lwc1 $f4, 0x18($s0) -/* 0A8538 7F073A08 46065200 */ add.s $f8, $f10, $f6 -/* 0A853C 7F073A0C C7AA00D8 */ lwc1 $f10, 0xd8($sp) -/* 0A8540 7F073A10 460A2182 */ mul.s $f6, $f4, $f10 -/* 0A8544 7F073A14 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 0A8548 7F073A18 46083300 */ add.s $f12, $f6, $f8 -/* 0A854C 7F073A1C E7A000DC */ swc1 $f0, 0xdc($sp) -/* 0A8550 7F073A20 0FC15FAB */ jal sinf -/* 0A8554 7F073A24 46000306 */ mov.s $f12, $f0 -/* 0A8558 7F073A28 C7A400D0 */ lwc1 $f4, 0xd0($sp) -/* 0A855C 7F073A2C C60A0020 */ lwc1 $f10, 0x20($s0) -/* 0A8560 7F073A30 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 0A8564 7F073A34 460A2182 */ mul.s $f6, $f4, $f10 -/* 0A8568 7F073A38 C6040024 */ lwc1 $f4, 0x24($s0) -/* 0A856C 7F073A3C 46044282 */ mul.s $f10, $f8, $f4 -/* 0A8570 7F073A40 C7A400D8 */ lwc1 $f4, 0xd8($sp) -/* 0A8574 7F073A44 460A3200 */ add.s $f8, $f6, $f10 -/* 0A8578 7F073A48 C6060028 */ lwc1 $f6, 0x28($s0) -/* 0A857C 7F073A4C 46062282 */ mul.s $f10, $f4, $f6 -/* 0A8580 7F073A50 460A4100 */ add.s $f4, $f8, $f10 -/* 0A8584 7F073A54 46002187 */ neg.s $f6, $f4 -/* 0A8588 7F073A58 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 0A858C 7F073A5C 46003303 */ div.s $f12, $f6, $f0 -/* 0A8590 7F073A60 C7A800D0 */ lwc1 $f8, 0xd0($sp) -/* 0A8594 7F073A64 C60A0000 */ lwc1 $f10, ($s0) -/* 0A8598 7F073A68 C7A600D4 */ lwc1 $f6, 0xd4($sp) -/* 0A859C 7F073A6C 46000306 */ mov.s $f12, $f0 -/* 0A85A0 7F073A70 460A4102 */ mul.s $f4, $f8, $f10 -/* 0A85A4 7F073A74 C6080004 */ lwc1 $f8, 4($s0) -/* 0A85A8 7F073A78 46083282 */ mul.s $f10, $f6, $f8 -/* 0A85AC 7F073A7C C6080008 */ lwc1 $f8, 8($s0) -/* 0A85B0 7F073A80 460A2180 */ add.s $f6, $f4, $f10 -/* 0A85B4 7F073A84 C7A400D8 */ lwc1 $f4, 0xd8($sp) -/* 0A85B8 7F073A88 46044282 */ mul.s $f10, $f8, $f4 -/* 0A85BC 7F073A8C 44804000 */ mtc1 $zero, $f8 -/* 0A85C0 7F073A90 46065080 */ add.s $f2, $f10, $f6 -/* 0A85C4 7F073A94 46001087 */ neg.s $f2, $f2 -/* 0A85C8 7F073A98 4608103C */ c.lt.s $f2, $f8 -/* 0A85CC 7F073A9C 00000000 */ nop -/* 0A85D0 7F073AA0 45000003 */ bc1f .L7F073AB0 -/* 0A85D4 7F073AA4 3C018005 */ lui $at, %hi(D_80054D50) -/* 0A85D8 7F073AA8 C4244D50 */ lwc1 $f4, %lo(D_80054D50)($at) -/* 0A85DC 7F073AAC 46002301 */ sub.s $f12, $f4, $f0 -.L7F073AB0: -/* 0A85E0 7F073AB0 0FC15FA8 */ jal cosf -/* 0A85E4 7F073AB4 E7AC00E0 */ swc1 $f12, 0xe0($sp) -/* 0A85E8 7F073AB8 C7AC00E0 */ lwc1 $f12, 0xe0($sp) -/* 0A85EC 7F073ABC 0FC15FAB */ jal sinf -/* 0A85F0 7F073AC0 E7A000CC */ swc1 $f0, 0xcc($sp) -/* 0A85F4 7F073AC4 E7A000C8 */ swc1 $f0, 0xc8($sp) -/* 0A85F8 7F073AC8 0FC15FA8 */ jal cosf -/* 0A85FC 7F073ACC C7AC00DC */ lwc1 $f12, 0xdc($sp) -/* 0A8600 7F073AD0 E7A000C4 */ swc1 $f0, 0xc4($sp) -/* 0A8604 7F073AD4 0FC15FAB */ jal sinf -/* 0A8608 7F073AD8 C7AC00DC */ lwc1 $f12, 0xdc($sp) -/* 0A860C 7F073ADC 0C002914 */ jal get_random_value -/* 0A8610 7F073AE0 E7A000C0 */ swc1 $f0, 0xc0($sp) -/* 0A8614 7F073AE4 304C007F */ andi $t4, $v0, 0x7f -/* 0A8618 7F073AE8 448C5000 */ mtc1 $t4, $f10 -/* 0A861C 7F073AEC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A8620 7F073AF0 44810000 */ mtc1 $at, $f0 -/* 0A8624 7F073AF4 C7AC00CC */ lwc1 $f12, 0xcc($sp) -/* 0A8628 7F073AF8 C7AE00C8 */ lwc1 $f14, 0xc8($sp) -/* 0A862C 7F073AFC C7B200C4 */ lwc1 $f18, 0xc4($sp) -/* 0A8630 7F073B00 05810005 */ bgez $t4, .L7F073B18 -/* 0A8634 7F073B04 468051A0 */ cvt.s.w $f6, $f10 -/* 0A8638 7F073B08 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0A863C 7F073B0C 44814000 */ mtc1 $at, $f8 -/* 0A8640 7F073B10 00000000 */ nop -/* 0A8644 7F073B14 46083180 */ add.s $f6, $f6, $f8 -.L7F073B18: -/* 0A8648 7F073B18 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 0A864C 7F073B1C 44812000 */ mtc1 $at, $f4 -/* 0A8650 7F073B20 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A8654 7F073B24 44814000 */ mtc1 $at, $f8 -/* 0A8658 7F073B28 46043282 */ mul.s $f10, $f6, $f4 -/* 0A865C 7F073B2C C626000C */ lwc1 $f6, 0xc($s1) -/* 0A8660 7F073B30 3C038003 */ lui $v1, %hi(D_8003608C) -/* 0A8664 7F073B34 8C63608C */ lw $v1, %lo(D_8003608C)($v1) -/* 0A8668 7F073B38 3C048005 */ lui $a0, %hi(aDogfnegxNoVtxAllocator) -/* 0A866C 7F073B3C 24844A74 */ addiu $a0, %lo(aDogfnegxNoVtxAllocator) # addiu $a0, $a0, 0x4a74 -/* 0A8670 7F073B40 46085080 */ add.s $f2, $f10, $f8 -/* 0A8674 7F073B44 46023102 */ mul.s $f4, $f6, $f2 -/* 0A8678 7F073B48 E7A4008C */ swc1 $f4, 0x8c($sp) -/* 0A867C 7F073B4C C62A0010 */ lwc1 $f10, 0x10($s1) -/* 0A8680 7F073B50 46025202 */ mul.s $f8, $f10, $f2 -/* 0A8684 7F073B54 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0A8688 7F073B58 E7A80090 */ swc1 $f8, 0x90($sp) -/* 0A868C 7F073B5C C6260014 */ lwc1 $f6, 0x14($s1) -/* 0A8690 7F073B60 46023102 */ mul.s $f4, $f6, $f2 -/* 0A8694 7F073B64 00000000 */ nop -/* 0A8698 7F073B68 460C5202 */ mul.s $f8, $f10, $f12 -/* 0A869C 7F073B6C E7A40094 */ swc1 $f4, 0x94($sp) -/* 0A86A0 7F073B70 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0A86A4 7F073B74 46004182 */ mul.s $f6, $f8, $f0 -/* 0A86A8 7F073B78 00000000 */ nop -/* 0A86AC 7F073B7C 460E2202 */ mul.s $f8, $f4, $f14 -/* 0A86B0 7F073B80 E7A600BC */ swc1 $f6, 0xbc($sp) -/* 0A86B4 7F073B84 46004182 */ mul.s $f6, $f8, $f0 -/* 0A86B8 7F073B88 C7A80090 */ lwc1 $f8, 0x90($sp) -/* 0A86BC 7F073B8C E7A600B8 */ swc1 $f6, 0xb8($sp) -/* 0A86C0 7F073B90 C7A600C0 */ lwc1 $f6, 0xc0($sp) -/* 0A86C4 7F073B94 46064202 */ mul.s $f8, $f8, $f6 -/* 0A86C8 7F073B98 00000000 */ nop -/* 0A86CC 7F073B9C 46004402 */ mul.s $f16, $f8, $f0 -/* 0A86D0 7F073BA0 00000000 */ nop -/* 0A86D4 7F073BA4 46125182 */ mul.s $f6, $f10, $f18 -/* 0A86D8 7F073BA8 00000000 */ nop -/* 0A86DC 7F073BAC 460E3202 */ mul.s $f8, $f6, $f14 -/* 0A86E0 7F073BB0 00000000 */ nop -/* 0A86E4 7F073BB4 46004182 */ mul.s $f6, $f8, $f0 -/* 0A86E8 7F073BB8 00000000 */ nop -/* 0A86EC 7F073BBC 46122202 */ mul.s $f8, $f4, $f18 -/* 0A86F0 7F073BC0 E7A600B0 */ swc1 $f6, 0xb0($sp) -/* 0A86F4 7F073BC4 460C4182 */ mul.s $f6, $f8, $f12 -/* 0A86F8 7F073BC8 00000000 */ nop -/* 0A86FC 7F073BCC 46003102 */ mul.s $f4, $f6, $f0 -/* 0A8700 7F073BD0 E7A400AC */ swc1 $f4, 0xac($sp) -/* 0A8704 7F073BD4 46005182 */ mul.s $f6, $f10, $f0 -/* 0A8708 7F073BD8 C6280000 */ lwc1 $f8, ($s1) -/* 0A870C 7F073BDC 46064101 */ sub.s $f4, $f8, $f6 -/* 0A8710 7F073BE0 E7A40080 */ swc1 $f4, 0x80($sp) -/* 0A8714 7F073BE4 C62A0004 */ lwc1 $f10, 4($s1) -/* 0A8718 7F073BE8 E7AA0084 */ swc1 $f10, 0x84($sp) -/* 0A871C 7F073BEC C6280008 */ lwc1 $f8, 8($s1) -/* 0A8720 7F073BF0 14600008 */ bnez $v1, .L7F073C14 -/* 0A8724 7F073BF4 E7A80088 */ swc1 $f8, 0x88($sp) -/* 0A8728 7F073BF8 0C0033D1 */ jal osSyncPrintf -/* 0A872C 7F073BFC E7B000B4 */ swc1 $f16, 0xb4($sp) -/* 0A8730 7F073C00 0FC1B11B */ jal return_null -/* 0A8734 7F073C04 00000000 */ nop -/* 0A8738 7F073C08 3C038003 */ lui $v1, %hi(D_8003608C) -/* 0A873C 7F073C0C 8C63608C */ lw $v1, %lo(D_8003608C)($v1) -/* 0A8740 7F073C10 C7B000B4 */ lwc1 $f16, 0xb4($sp) -.L7F073C14: -/* 0A8744 7F073C14 24040004 */ li $a0, 4 -/* 0A8748 7F073C18 0060F809 */ jalr $v1 -/* 0A874C 7F073C1C E7B000B4 */ swc1 $f16, 0xb4($sp) -/* 0A8750 7F073C20 27A30070 */ addiu $v1, $sp, 0x70 -/* 0A8754 7F073C24 AFA2006C */ sw $v0, 0x6c($sp) -/* 0A8758 7F073C28 8C610000 */ lw $at, ($v1) -/* 0A875C 7F073C2C C7B000B4 */ lwc1 $f16, 0xb4($sp) -/* 0A8760 7F073C30 AC410000 */ sw $at, ($v0) -/* 0A8764 7F073C34 8C790004 */ lw $t9, 4($v1) -/* 0A8768 7F073C38 AC590004 */ sw $t9, 4($v0) -/* 0A876C 7F073C3C 8C610008 */ lw $at, 8($v1) -/* 0A8770 7F073C40 AC410008 */ sw $at, 8($v0) -/* 0A8774 7F073C44 8C79000C */ lw $t9, 0xc($v1) -/* 0A8778 7F073C48 AC59000C */ sw $t9, 0xc($v0) -/* 0A877C 7F073C4C 8C610000 */ lw $at, ($v1) -/* 0A8780 7F073C50 AC410010 */ sw $at, 0x10($v0) -/* 0A8784 7F073C54 8C6C0004 */ lw $t4, 4($v1) -/* 0A8788 7F073C58 AC4C0014 */ sw $t4, 0x14($v0) -/* 0A878C 7F073C5C 8C610008 */ lw $at, 8($v1) -/* 0A8790 7F073C60 AC410018 */ sw $at, 0x18($v0) -/* 0A8794 7F073C64 8C6C000C */ lw $t4, 0xc($v1) -/* 0A8798 7F073C68 AC4C001C */ sw $t4, 0x1c($v0) -/* 0A879C 7F073C6C 8C610000 */ lw $at, ($v1) -/* 0A87A0 7F073C70 AC410020 */ sw $at, 0x20($v0) -/* 0A87A4 7F073C74 8C790004 */ lw $t9, 4($v1) -/* 0A87A8 7F073C78 AC590024 */ sw $t9, 0x24($v0) -/* 0A87AC 7F073C7C 8C610008 */ lw $at, 8($v1) -/* 0A87B0 7F073C80 AC410028 */ sw $at, 0x28($v0) -/* 0A87B4 7F073C84 8C79000C */ lw $t9, 0xc($v1) -/* 0A87B8 7F073C88 AC59002C */ sw $t9, 0x2c($v0) -/* 0A87BC 7F073C8C 8C610000 */ lw $at, ($v1) -/* 0A87C0 7F073C90 AC410030 */ sw $at, 0x30($v0) -/* 0A87C4 7F073C94 8C6C0004 */ lw $t4, 4($v1) -/* 0A87C8 7F073C98 AC4C0034 */ sw $t4, 0x34($v0) -/* 0A87CC 7F073C9C 8C610008 */ lw $at, 8($v1) -/* 0A87D0 7F073CA0 AC410038 */ sw $at, 0x38($v0) -/* 0A87D4 7F073CA4 8C6C000C */ lw $t4, 0xc($v1) -/* 0A87D8 7F073CA8 AC4C003C */ sw $t4, 0x3c($v0) -/* 0A87DC 7F073CAC C7A000BC */ lwc1 $f0, 0xbc($sp) -/* 0A87E0 7F073CB0 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 0A87E4 7F073CB4 C7AC00B0 */ lwc1 $f12, 0xb0($sp) -/* 0A87E8 7F073CB8 46000007 */ neg.s $f0, $f0 -/* 0A87EC 7F073CBC 46003100 */ add.s $f4, $f6, $f0 -/* 0A87F0 7F073CC0 46006307 */ neg.s $f12, $f12 -/* 0A87F4 7F073CC4 460C2280 */ add.s $f10, $f4, $f12 -/* 0A87F8 7F073CC8 4600520D */ trunc.w.s $f8, $f10 -/* 0A87FC 7F073CCC 440F4000 */ mfc1 $t7, $f8 -/* 0A8800 7F073CD0 00000000 */ nop -/* 0A8804 7F073CD4 A44F0000 */ sh $t7, ($v0) -/* 0A8808 7F073CD8 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 0A880C 7F073CDC 46103101 */ sub.s $f4, $f6, $f16 -/* 0A8810 7F073CE0 4600228D */ trunc.w.s $f10, $f4 -/* 0A8814 7F073CE4 44185000 */ mfc1 $t8, $f10 -/* 0A8818 7F073CE8 00000000 */ nop -/* 0A881C 7F073CEC A4580002 */ sh $t8, 2($v0) -/* 0A8820 7F073CF0 C7A200B8 */ lwc1 $f2, 0xb8($sp) -/* 0A8824 7F073CF4 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 0A8828 7F073CF8 C7AE00AC */ lwc1 $f14, 0xac($sp) -/* 0A882C 7F073CFC 46001087 */ neg.s $f2, $f2 -/* 0A8830 7F073D00 46024181 */ sub.s $f6, $f8, $f2 -/* 0A8834 7F073D04 46007387 */ neg.s $f14, $f14 -/* 0A8838 7F073D08 460E3100 */ add.s $f4, $f6, $f14 -/* 0A883C 7F073D0C 4600228D */ trunc.w.s $f10, $f4 -/* 0A8840 7F073D10 440C5000 */ mfc1 $t4, $f10 -/* 0A8844 7F073D14 00000000 */ nop -/* 0A8848 7F073D18 A44C0004 */ sh $t4, 4($v0) -/* 0A884C 7F073D1C C7A80080 */ lwc1 $f8, 0x80($sp) -/* 0A8850 7F073D20 46004180 */ add.s $f6, $f8, $f0 -/* 0A8854 7F073D24 460C3101 */ sub.s $f4, $f6, $f12 -/* 0A8858 7F073D28 4600228D */ trunc.w.s $f10, $f4 -/* 0A885C 7F073D2C 440F5000 */ mfc1 $t7, $f10 -/* 0A8860 7F073D30 00000000 */ nop -/* 0A8864 7F073D34 A44F0010 */ sh $t7, 0x10($v0) -/* 0A8868 7F073D38 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 0A886C 7F073D3C 46104180 */ add.s $f6, $f8, $f16 -/* 0A8870 7F073D40 4600310D */ trunc.w.s $f4, $f6 -/* 0A8874 7F073D44 44182000 */ mfc1 $t8, $f4 -/* 0A8878 7F073D48 00000000 */ nop -/* 0A887C 7F073D4C A4580012 */ sh $t8, 0x12($v0) -/* 0A8880 7F073D50 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 0A8884 7F073D54 46025201 */ sub.s $f8, $f10, $f2 -/* 0A8888 7F073D58 460E4181 */ sub.s $f6, $f8, $f14 -/* 0A888C 7F073D5C 4600310D */ trunc.w.s $f4, $f6 -/* 0A8890 7F073D60 440C2000 */ mfc1 $t4, $f4 -/* 0A8894 7F073D64 00000000 */ nop -/* 0A8898 7F073D68 A44C0014 */ sh $t4, 0x14($v0) -/* 0A889C 7F073D6C C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 0A88A0 7F073D70 46005201 */ sub.s $f8, $f10, $f0 -/* 0A88A4 7F073D74 460C4181 */ sub.s $f6, $f8, $f12 -/* 0A88A8 7F073D78 4600310D */ trunc.w.s $f4, $f6 -/* 0A88AC 7F073D7C 440F2000 */ mfc1 $t7, $f4 -/* 0A88B0 7F073D80 00000000 */ nop -/* 0A88B4 7F073D84 A44F0020 */ sh $t7, 0x20($v0) -/* 0A88B8 7F073D88 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 0A88BC 7F073D8C 46105200 */ add.s $f8, $f10, $f16 -/* 0A88C0 7F073D90 4600418D */ trunc.w.s $f6, $f8 -/* 0A88C4 7F073D94 44183000 */ mfc1 $t8, $f6 -/* 0A88C8 7F073D98 00000000 */ nop -/* 0A88CC 7F073D9C A4580022 */ sh $t8, 0x22($v0) -/* 0A88D0 7F073DA0 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0A88D4 7F073DA4 46022280 */ add.s $f10, $f4, $f2 -/* 0A88D8 7F073DA8 460E5201 */ sub.s $f8, $f10, $f14 -/* 0A88DC 7F073DAC 4600418D */ trunc.w.s $f6, $f8 -/* 0A88E0 7F073DB0 440C3000 */ mfc1 $t4, $f6 -/* 0A88E4 7F073DB4 00000000 */ nop -/* 0A88E8 7F073DB8 A44C0024 */ sh $t4, 0x24($v0) -/* 0A88EC 7F073DBC C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0A88F0 7F073DC0 46002281 */ sub.s $f10, $f4, $f0 -/* 0A88F4 7F073DC4 460C5200 */ add.s $f8, $f10, $f12 -/* 0A88F8 7F073DC8 4600418D */ trunc.w.s $f6, $f8 -/* 0A88FC 7F073DCC 440F3000 */ mfc1 $t7, $f6 -/* 0A8900 7F073DD0 00000000 */ nop -/* 0A8904 7F073DD4 A44F0030 */ sh $t7, 0x30($v0) -/* 0A8908 7F073DD8 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 0A890C 7F073DDC 3C0FBC00 */ lui $t7, (0xBC001406 >> 16) # lui $t7, 0xbc00 -/* 0A8910 7F073DE0 35EF1406 */ ori $t7, (0xBC001406 & 0xFFFF) # ori $t7, $t7, 0x1406 -/* 0A8914 7F073DE4 46102281 */ sub.s $f10, $f4, $f16 -/* 0A8918 7F073DE8 4600520D */ trunc.w.s $f8, $f10 -/* 0A891C 7F073DEC 44184000 */ mfc1 $t8, $f8 -/* 0A8920 7F073DF0 00000000 */ nop -/* 0A8924 7F073DF4 A4580032 */ sh $t8, 0x32($v0) -/* 0A8928 7F073DF8 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 0A892C 7F073DFC 46023100 */ add.s $f4, $f6, $f2 -/* 0A8930 7F073E00 460E2280 */ add.s $f10, $f4, $f14 -/* 0A8934 7F073E04 4600520D */ trunc.w.s $f8, $f10 -/* 0A8938 7F073E08 440C4000 */ mfc1 $t4, $f8 -/* 0A893C 7F073E0C 00000000 */ nop -/* 0A8940 7F073E10 A44C0034 */ sh $t4, 0x34($v0) -/* 0A8944 7F073E14 8E43000C */ lw $v1, 0xc($s2) -/* 0A8948 7F073E18 246E0008 */ addiu $t6, $v1, 8 -/* 0A894C 7F073E1C AE4E000C */ sw $t6, 0xc($s2) -/* 0A8950 7F073E20 AC6F0000 */ sw $t7, ($v1) -/* 0A8954 7F073E24 8E240024 */ lw $a0, 0x24($s1) -/* 0A8958 7F073E28 0C003A2C */ jal osVirtualToPhysical -/* 0A895C 7F073E2C AFA3005C */ sw $v1, 0x5c($sp) -/* 0A8960 7F073E30 8FA5005C */ lw $a1, 0x5c($sp) -/* 0A8964 7F073E34 02402025 */ move $a0, $s2 -/* 0A8968 7F073E38 ACA20004 */ sw $v0, 4($a1) -/* 0A896C 7F073E3C 8E230018 */ lw $v1, 0x18($s1) -/* 0A8970 7F073E40 00002825 */ move $a1, $zero -/* 0A8974 7F073E44 10600037 */ beqz $v1, .L7F073F24 -/* 0A8978 7F073E48 00000000 */ nop -/* 0A897C 7F073E4C 0C002914 */ jal get_random_value -/* 0A8980 7F073E50 00608825 */ move $s1, $v1 -/* 0A8984 7F073E54 0002CA80 */ sll $t9, $v0, 0xa -/* 0A8988 7F073E58 A7B90056 */ sh $t9, 0x56($sp) -/* 0A898C 7F073E5C 0C005B0C */ jal coss -/* 0A8990 7F073E60 3324FFFF */ andi $a0, $t9, 0xffff -/* 0A8994 7F073E64 92380004 */ lbu $t8, 4($s1) -/* 0A8998 7F073E68 97A40056 */ lhu $a0, 0x56($sp) -/* 0A899C 7F073E6C 00580019 */ multu $v0, $t8 -/* 0A89A0 7F073E70 00004812 */ mflo $t1 -/* 0A89A4 7F073E74 00096880 */ sll $t5, $t1, 2 -/* 0A89A8 7F073E78 01A96823 */ subu $t5, $t5, $t1 -/* 0A89AC 7F073E7C 000D6880 */ sll $t5, $t5, 2 -/* 0A89B0 7F073E80 01A96823 */ subu $t5, $t5, $t1 -/* 0A89B4 7F073E84 000D6880 */ sll $t5, $t5, 2 -/* 0A89B8 7F073E88 01A96821 */ addu $t5, $t5, $t1 -/* 0A89BC 7F073E8C 000D6880 */ sll $t5, $t5, 2 -/* 0A89C0 7F073E90 01A96821 */ addu $t5, $t5, $t1 -/* 0A89C4 7F073E94 000D6483 */ sra $t4, $t5, 0x12 -/* 0A89C8 7F073E98 0C005B18 */ jal sins -/* 0A89CC 7F073E9C AFAC0050 */ sw $t4, 0x50($sp) -/* 0A89D0 7F073EA0 92240004 */ lbu $a0, 4($s1) -/* 0A89D4 7F073EA4 8FA8006C */ lw $t0, 0x6c($sp) -/* 0A89D8 7F073EA8 8FA90050 */ lw $t1, 0x50($sp) -/* 0A89DC 7F073EAC 00440019 */ multu $v0, $a0 -/* 0A89E0 7F073EB0 00041900 */ sll $v1, $a0, 4 -/* 0A89E4 7F073EB4 00693023 */ subu $a2, $v1, $t1 -/* 0A89E8 7F073EB8 A5060008 */ sh $a2, 8($t0) -/* 0A89EC 7F073EBC A506001A */ sh $a2, 0x1a($t0) -/* 0A89F0 7F073EC0 00695821 */ addu $t3, $v1, $t1 -/* 0A89F4 7F073EC4 24060004 */ li $a2, 4 -/* 0A89F8 7F073EC8 02402025 */ move $a0, $s2 -/* 0A89FC 7F073ECC A50B0028 */ sh $t3, 0x28($t0) -/* 0A8A00 7F073ED0 A50B003A */ sh $t3, 0x3a($t0) -/* 0A8A04 7F073ED4 00002812 */ mflo $a1 -/* 0A8A08 7F073ED8 00057080 */ sll $t6, $a1, 2 -/* 0A8A0C 7F073EDC 01C57023 */ subu $t6, $t6, $a1 -/* 0A8A10 7F073EE0 000E7080 */ sll $t6, $t6, 2 -/* 0A8A14 7F073EE4 01C57023 */ subu $t6, $t6, $a1 -/* 0A8A18 7F073EE8 000E7080 */ sll $t6, $t6, 2 -/* 0A8A1C 7F073EEC 01C57021 */ addu $t6, $t6, $a1 -/* 0A8A20 7F073EF0 000E7080 */ sll $t6, $t6, 2 -/* 0A8A24 7F073EF4 01C57021 */ addu $t6, $t6, $a1 -/* 0A8A28 7F073EF8 000E7C83 */ sra $t7, $t6, 0x12 -/* 0A8A2C 7F073EFC 006F5023 */ subu $t2, $v1, $t7 -/* 0A8A30 7F073F00 006F3821 */ addu $a3, $v1, $t7 -/* 0A8A34 7F073F04 02202825 */ move $a1, $s1 -/* 0A8A38 7F073F08 A50A000A */ sh $t2, 0xa($t0) -/* 0A8A3C 7F073F0C A5070018 */ sh $a3, 0x18($t0) -/* 0A8A40 7F073F10 A507002A */ sh $a3, 0x2a($t0) -/* 0A8A44 7F073F14 0FC1CC0E */ jal sub_GAME_7F073038 -/* 0A8A48 7F073F18 A50A0038 */ sh $t2, 0x38($t0) -/* 0A8A4C 7F073F1C 10000004 */ b .L7F073F30 -/* 0A8A50 7F073F20 8E43000C */ lw $v1, 0xc($s2) -.L7F073F24: -/* 0A8A54 7F073F24 0FC1CC0E */ jal sub_GAME_7F073038 -/* 0A8A58 7F073F28 24060001 */ li $a2, 1 -/* 0A8A5C 7F073F2C 8E43000C */ lw $v1, 0xc($s2) -.L7F073F30: -/* 0A8A60 7F073F30 3C18B700 */ lui $t8, 0xb700 -/* 0A8A64 7F073F34 240D2000 */ li $t5, 8192 -/* 0A8A68 7F073F38 24790008 */ addiu $t9, $v1, 8 -/* 0A8A6C 7F073F3C AE59000C */ sw $t9, 0xc($s2) -/* 0A8A70 7F073F40 AC6D0004 */ sw $t5, 4($v1) -/* 0A8A74 7F073F44 AC780000 */ sw $t8, ($v1) -/* 0A8A78 7F073F48 8E51000C */ lw $s1, 0xc($s2) -/* 0A8A7C 7F073F4C 3C0E0102 */ lui $t6, (0x01020040 >> 16) # lui $t6, 0x102 -/* 0A8A80 7F073F50 35CE0040 */ ori $t6, (0x01020040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 0A8A84 7F073F54 262C0008 */ addiu $t4, $s1, 8 -/* 0A8A88 7F073F58 AE4C000C */ sw $t4, 0xc($s2) -/* 0A8A8C 7F073F5C 02002025 */ move $a0, $s0 -/* 0A8A90 7F073F60 0C003A2C */ jal osVirtualToPhysical -/* 0A8A94 7F073F64 AE2E0000 */ sw $t6, ($s1) -/* 0A8A98 7F073F68 AE220004 */ sw $v0, 4($s1) -/* 0A8A9C 7F073F6C 8E50000C */ lw $s0, 0xc($s2) -/* 0A8AA0 7F073F70 3C190430 */ lui $t9, (0x04300040 >> 16) # lui $t9, 0x430 -/* 0A8AA4 7F073F74 37390040 */ ori $t9, (0x04300040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 0A8AA8 7F073F78 260F0008 */ addiu $t7, $s0, 8 -/* 0A8AAC 7F073F7C AE4F000C */ sw $t7, 0xc($s2) -/* 0A8AB0 7F073F80 AE190000 */ sw $t9, ($s0) -/* 0A8AB4 7F073F84 0C003A2C */ jal osVirtualToPhysical -/* 0A8AB8 7F073F88 8FA4006C */ lw $a0, 0x6c($sp) -/* 0A8ABC 7F073F8C AE020004 */ sw $v0, 4($s0) -/* 0A8AC0 7F073F90 8E43000C */ lw $v1, 0xc($s2) -/* 0A8AC4 7F073F94 3C0DB100 */ lui $t5, (0xB1000002 >> 16) # lui $t5, 0xb100 # gSP4Triangles(6,1,2,8,2,0,1,0,0,0,0,0 -/* 0A8AC8 7F073F98 35AD0002 */ ori $t5, (0xB1000002 & 0xFFFF) # ori $t5, $t5, 2 -/* 0A8ACC 7F073F9C 24780008 */ addiu $t8, $v1, 8 -/* 0A8AD0 7F073FA0 AE58000C */ sw $t8, 0xc($s2) -/* 0A8AD4 7F073FA4 240C3210 */ li $t4, 12816 -/* 0A8AD8 7F073FA8 AC6C0004 */ sw $t4, 4($v1) -/* 0A8ADC 7F073FAC AC6D0000 */ sw $t5, ($v1) # ), -/* 0A8AE0 7F073FB0 8FBF0024 */ lw $ra, 0x24($sp) -.L7F073FB4: -/* 0A8AE4 7F073FB4 8FB00018 */ lw $s0, 0x18($sp) -/* 0A8AE8 7F073FB8 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A8AEC 7F073FBC 8FB20020 */ lw $s2, 0x20($sp) -/* 0A8AF0 7F073FC0 03E00008 */ jr $ra -/* 0A8AF4 7F073FC4 27BD0100 */ addiu $sp, $sp, 0x100 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F073FC8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F073FC8 -/* 0A8AF8 7F073FC8 3C018003 */ lui $at, %hi(D_800363F0) -/* 0A8AFC 7F073FCC 03E00008 */ jr $ra -/* 0A8B00 7F073FD0 AC2463F0 */ sw $a0, %lo(D_800363F0)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void doshadow(void) { - -} -#else -GLOBAL_ASM( -.text -glabel doshadow -/* 0A8B04 7F073FD4 3C038003 */ lui $v1, %hi(D_800363F0) -/* 0A8B08 7F073FD8 246363F0 */ addiu $v1, %lo(D_800363F0) # addiu $v1, $v1, 0x63f0 -/* 0A8B0C 7F073FDC 8C6E0000 */ lw $t6, ($v1) -/* 0A8B10 7F073FE0 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0A8B14 7F073FE4 AFB00018 */ sw $s0, 0x18($sp) -/* 0A8B18 7F073FE8 00808025 */ move $s0, $a0 -/* 0A8B1C 7F073FEC AFBF001C */ sw $ra, 0x1c($sp) -/* 0A8B20 7F073FF0 AFA60080 */ sw $a2, 0x80($sp) -/* 0A8B24 7F073FF4 19C00142 */ blez $t6, .L7F074500 -/* 0A8B28 7F073FF8 00A03825 */ move $a3, $a1 -/* 0A8B2C 7F073FFC 3C198003 */ lui $t9, %hi(D_800363F8) -/* 0A8B30 7F074000 273963F8 */ addiu $t9, %lo(D_800363F8) # addiu $t9, $t9, 0x63f8 -/* 0A8B34 7F074004 8F210000 */ lw $at, ($t9) -/* 0A8B38 7F074008 8F290004 */ lw $t1, 4($t9) -/* 0A8B3C 7F07400C 8CC60004 */ lw $a2, 4($a2) -/* 0A8B40 7F074010 27B80058 */ addiu $t8, $sp, 0x58 -/* 0A8B44 7F074014 AF010000 */ sw $at, ($t8) -/* 0A8B48 7F074018 AF090004 */ sw $t1, 4($t8) -/* 0A8B4C 7F07401C 8F29000C */ lw $t1, 0xc($t9) -/* 0A8B50 7F074020 8F210008 */ lw $at, 8($t9) -/* 0A8B54 7F074024 00A02025 */ move $a0, $a1 -/* 0A8B58 7F074028 AF09000C */ sw $t1, 0xc($t8) -/* 0A8B5C 7F07402C AF010008 */ sw $at, 8($t8) -/* 0A8B60 7F074030 8CC50014 */ lw $a1, 0x14($a2) -/* 0A8B64 7F074034 AFA7007C */ sw $a3, 0x7c($sp) -/* 0A8B68 7F074038 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0A8B6C 7F07403C AFA6006C */ sw $a2, 0x6c($sp) -/* 0A8B70 7F074040 8E0A0008 */ lw $t2, 8($s0) -/* 0A8B74 7F074044 8FA6006C */ lw $a2, 0x6c($sp) -/* 0A8B78 7F074048 C444000C */ lwc1 $f4, 0xc($v0) -/* 0A8B7C 7F07404C C4460004 */ lwc1 $f6, 4($v0) -/* 0A8B80 7F074050 3C038003 */ lui $v1, %hi(D_800363F0) -/* 0A8B84 7F074054 314B0002 */ andi $t3, $t2, 2 -/* 0A8B88 7F074058 246363F0 */ addiu $v1, %lo(D_800363F0) # addiu $v1, $v1, 0x63f0 -/* 0A8B8C 7F07405C 8FA7007C */ lw $a3, 0x7c($sp) -/* 0A8B90 7F074060 C4CC0008 */ lwc1 $f12, 8($a2) -/* 0A8B94 7F074064 C4CE000C */ lwc1 $f14, 0xc($a2) -/* 0A8B98 7F074068 11600125 */ beqz $t3, .L7F074500 -/* 0A8B9C 7F07406C 46062081 */ sub.s $f2, $f4, $f6 -/* 0A8BA0 7F074070 8E020030 */ lw $v0, 0x30($s0) -/* 0A8BA4 7F074074 24010003 */ li $at, 3 -/* 0A8BA8 7F074078 00002825 */ move $a1, $zero -/* 0A8BAC 7F07407C 10410003 */ beq $v0, $at, .L7F07408C -/* 0A8BB0 7F074080 24010008 */ li $at, 8 -/* 0A8BB4 7F074084 5441000F */ bnel $v0, $at, .L7F0740C4 -/* 0A8BB8 7F074088 8C780000 */ lw $t8, ($v1) -.L7F07408C: -/* 0A8BBC 7F07408C 8E0C0034 */ lw $t4, 0x34($s0) -/* 0A8BC0 7F074090 8C6E0000 */ lw $t6, ($v1) -/* 0A8BC4 7F074094 240100FF */ li $at, 255 -/* 0A8BC8 7F074098 318D00FF */ andi $t5, $t4, 0xff -/* 0A8BCC 7F07409C 01AE0019 */ multu $t5, $t6 -/* 0A8BD0 7F0740A0 00001012 */ mflo $v0 -/* 0A8BD4 7F0740A4 00000000 */ nop -/* 0A8BD8 7F0740A8 00000000 */ nop -/* 0A8BDC 7F0740AC 0041001B */ divu $zero, $v0, $at -/* 0A8BE0 7F0740B0 00004012 */ mflo $t0 -/* 0A8BE4 7F0740B4 A3A80067 */ sb $t0, 0x67($sp) -/* 0A8BE8 7F0740B8 10000004 */ b .L7F0740CC -/* 0A8BEC 7F0740BC 8FA40080 */ lw $a0, 0x80($sp) -/* 0A8BF0 7F0740C0 8C780000 */ lw $t8, ($v1) -.L7F0740C4: -/* 0A8BF4 7F0740C4 A3B80067 */ sb $t8, 0x67($sp) -/* 0A8BF8 7F0740C8 8FA40080 */ lw $a0, 0x80($sp) -.L7F0740CC: -/* 0A8BFC 7F0740CC AFA6006C */ sw $a2, 0x6c($sp) -/* 0A8C00 7F0740D0 AFA7007C */ sw $a3, 0x7c($sp) -/* 0A8C04 7F0740D4 E7A20040 */ swc1 $f2, 0x40($sp) -/* 0A8C08 7F0740D8 E7AC0048 */ swc1 $f12, 0x48($sp) -/* 0A8C0C 7F0740DC 0FC1B15C */ jal sub_GAME_7F06C570 -/* 0A8C10 7F0740E0 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 0A8C14 7F0740E4 8FA7007C */ lw $a3, 0x7c($sp) -/* 0A8C18 7F0740E8 00024980 */ sll $t1, $v0, 6 -/* 0A8C1C 7F0740EC 8FA6006C */ lw $a2, 0x6c($sp) -/* 0A8C20 7F0740F0 8CF9000C */ lw $t9, 0xc($a3) -/* 0A8C24 7F0740F4 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 0A8C28 7F0740F8 C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 0A8C2C 7F0740FC 03295021 */ addu $t2, $t9, $t1 -/* 0A8C30 7F074100 AFAA0070 */ sw $t2, 0x70($sp) -/* 0A8C34 7F074104 8E0B0004 */ lw $t3, 4($s0) -/* 0A8C38 7F074108 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 0A8C3C 7F07410C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0A8C40 7F074110 1160000B */ beqz $t3, .L7F074140 -/* 0A8C44 7F074114 3C028003 */ lui $v0, %hi(D_8003608C) -/* 0A8C48 7F074118 44814000 */ mtc1 $at, $f8 -/* 0A8C4C 7F07411C C4F20014 */ lwc1 $f18, 0x14($a3) -/* 0A8C50 7F074120 46024281 */ sub.s $f10, $f8, $f2 -/* 0A8C54 7F074124 46125103 */ div.s $f4, $f10, $f18 -/* 0A8C58 7F074128 4600218D */ trunc.w.s $f6, $f4 -/* 0A8C5C 7F07412C 44033000 */ mfc1 $v1, $f6 -/* 0A8C60 7F074130 00000000 */ nop -/* 0A8C64 7F074134 00036C00 */ sll $t5, $v1, 0x10 -/* 0A8C68 7F074138 10000009 */ b .L7F074160 -/* 0A8C6C 7F07413C 000D1C03 */ sra $v1, $t5, 0x10 -.L7F074140: -/* 0A8C70 7F074140 C4EA0014 */ lwc1 $f10, 0x14($a3) -/* 0A8C74 7F074144 46001207 */ neg.s $f8, $f2 -/* 0A8C78 7F074148 460A4483 */ div.s $f18, $f8, $f10 -/* 0A8C7C 7F07414C 4600910D */ trunc.w.s $f4, $f18 -/* 0A8C80 7F074150 44032000 */ mfc1 $v1, $f4 -/* 0A8C84 7F074154 00000000 */ nop -/* 0A8C88 7F074158 00034400 */ sll $t0, $v1, 0x10 -/* 0A8C8C 7F07415C 00081C03 */ sra $v1, $t0, 0x10 -.L7F074160: -/* 0A8C90 7F074160 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 0A8C94 7F074164 44813000 */ mtc1 $at, $f6 -/* 0A8C98 7F074168 3C048005 */ lui $a0, %hi(aDoshadowNoVtxAllocator) -/* 0A8C9C 7F07416C 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0A8CA0 7F074170 4606103C */ c.lt.s $f2, $f6 -/* 0A8CA4 7F074174 24844A94 */ addiu $a0, %lo(aDoshadowNoVtxAllocator) # addiu $a0, $a0, 0x4a94 -/* 0A8CA8 7F074178 4502000A */ bc1fl .L7F0741A4 -/* 0A8CAC 7F07417C 44818000 */ mtc1 $at, $f16 -/* 0A8CB0 7F074180 3C013FA0 */ li $at, 0x3FA00000 # 1.250000 -/* 0A8CB4 7F074184 44810000 */ mtc1 $at, $f0 -/* 0A8CB8 7F074188 00000000 */ nop -/* 0A8CBC 7F07418C 46006302 */ mul.s $f12, $f12, $f0 -/* 0A8CC0 7F074190 00000000 */ nop -/* 0A8CC4 7F074194 46007382 */ mul.s $f14, $f14, $f0 -/* 0A8CC8 7F074198 10000012 */ b .L7F0741E4 -/* 0A8CCC 7F07419C 00000000 */ nop -/* 0A8CD0 7F0741A0 44818000 */ mtc1 $at, $f16 -.L7F0741A4: -/* 0A8CD4 7F0741A4 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0A8CD8 7F0741A8 4602803C */ c.lt.s $f16, $f2 -/* 0A8CDC 7F0741AC 00000000 */ nop -/* 0A8CE0 7F0741B0 45020005 */ bc1fl .L7F0741C8 -/* 0A8CE4 7F0741B4 46028201 */ sub.s $f8, $f16, $f2 -/* 0A8CE8 7F0741B8 44807000 */ mtc1 $zero, $f14 -/* 0A8CEC 7F0741BC 10000009 */ b .L7F0741E4 -/* 0A8CF0 7F0741C0 46007306 */ mov.s $f12, $f14 -/* 0A8CF4 7F0741C4 46028201 */ sub.s $f8, $f16, $f2 -.L7F0741C8: -/* 0A8CF8 7F0741C8 44815000 */ mtc1 $at, $f10 -/* 0A8CFC 7F0741CC 00000000 */ nop -/* 0A8D00 7F0741D0 460A4003 */ div.s $f0, $f8, $f10 -/* 0A8D04 7F0741D4 46006302 */ mul.s $f12, $f12, $f0 -/* 0A8D08 7F0741D8 00000000 */ nop -/* 0A8D0C 7F0741DC 46007382 */ mul.s $f14, $f14, $f0 -/* 0A8D10 7F0741E0 00000000 */ nop -.L7F0741E4: -/* 0A8D14 7F0741E4 8C42608C */ lw $v0, %lo(D_8003608C)($v0) -/* 0A8D18 7F0741E8 5440000F */ bnezl $v0, .L7F074228 -/* 0A8D1C 7F0741EC 24040004 */ li $a0, 4 -/* 0A8D20 7F0741F0 A7A30052 */ sh $v1, 0x52($sp) -/* 0A8D24 7F0741F4 AFA6006C */ sw $a2, 0x6c($sp) -/* 0A8D28 7F0741F8 E7AC0048 */ swc1 $f12, 0x48($sp) -/* 0A8D2C 7F0741FC 0C0033D1 */ jal osSyncPrintf -/* 0A8D30 7F074200 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 0A8D34 7F074204 0FC1B11B */ jal return_null -/* 0A8D38 7F074208 00000000 */ nop -/* 0A8D3C 7F07420C 3C028003 */ lui $v0, %hi(D_8003608C) -/* 0A8D40 7F074210 8C42608C */ lw $v0, %lo(D_8003608C)($v0) -/* 0A8D44 7F074214 87A30052 */ lh $v1, 0x52($sp) -/* 0A8D48 7F074218 8FA6006C */ lw $a2, 0x6c($sp) -/* 0A8D4C 7F07421C C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 0A8D50 7F074220 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 0A8D54 7F074224 24040004 */ li $a0, 4 -.L7F074228: -/* 0A8D58 7F074228 A7A30052 */ sh $v1, 0x52($sp) -/* 0A8D5C 7F07422C AFA6006C */ sw $a2, 0x6c($sp) -/* 0A8D60 7F074230 E7AC0048 */ swc1 $f12, 0x48($sp) -/* 0A8D64 7F074234 0040F809 */ jalr $v0 -/* 0A8D68 7F074238 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 0A8D6C 7F07423C 27A40058 */ addiu $a0, $sp, 0x58 -/* 0A8D70 7F074240 8C810000 */ lw $at, ($a0) -/* 0A8D74 7F074244 87A30052 */ lh $v1, 0x52($sp) -/* 0A8D78 7F074248 8FA6006C */ lw $a2, 0x6c($sp) -/* 0A8D7C 7F07424C C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 0A8D80 7F074250 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 0A8D84 7F074254 AC410000 */ sw $at, ($v0) -/* 0A8D88 7F074258 8C8A0004 */ lw $t2, 4($a0) -/* 0A8D8C 7F07425C AC4A0004 */ sw $t2, 4($v0) -/* 0A8D90 7F074260 8C810008 */ lw $at, 8($a0) -/* 0A8D94 7F074264 AC410008 */ sw $at, 8($v0) -/* 0A8D98 7F074268 8C8A000C */ lw $t2, 0xc($a0) -/* 0A8D9C 7F07426C AC4A000C */ sw $t2, 0xc($v0) -/* 0A8DA0 7F074270 8C810000 */ lw $at, ($a0) -/* 0A8DA4 7F074274 AC410010 */ sw $at, 0x10($v0) -/* 0A8DA8 7F074278 8C8D0004 */ lw $t5, 4($a0) -/* 0A8DAC 7F07427C AC4D0014 */ sw $t5, 0x14($v0) -/* 0A8DB0 7F074280 8C810008 */ lw $at, 8($a0) -/* 0A8DB4 7F074284 AC410018 */ sw $at, 0x18($v0) -/* 0A8DB8 7F074288 8C8D000C */ lw $t5, 0xc($a0) -/* 0A8DBC 7F07428C AC4D001C */ sw $t5, 0x1c($v0) -/* 0A8DC0 7F074290 8C810000 */ lw $at, ($a0) -/* 0A8DC4 7F074294 AC410020 */ sw $at, 0x20($v0) -/* 0A8DC8 7F074298 8C880004 */ lw $t0, 4($a0) -/* 0A8DCC 7F07429C AC480024 */ sw $t0, 0x24($v0) -/* 0A8DD0 7F0742A0 8C810008 */ lw $at, 8($a0) -/* 0A8DD4 7F0742A4 AC410028 */ sw $at, 0x28($v0) -/* 0A8DD8 7F0742A8 8C88000C */ lw $t0, 0xc($a0) -/* 0A8DDC 7F0742AC AC48002C */ sw $t0, 0x2c($v0) -/* 0A8DE0 7F0742B0 8C810000 */ lw $at, ($a0) -/* 0A8DE4 7F0742B4 AC410030 */ sw $at, 0x30($v0) -/* 0A8DE8 7F0742B8 8C990004 */ lw $t9, 4($a0) -/* 0A8DEC 7F0742BC AC590034 */ sw $t9, 0x34($v0) -/* 0A8DF0 7F0742C0 8C810008 */ lw $at, 8($a0) -/* 0A8DF4 7F0742C4 AC410038 */ sw $at, 0x38($v0) -/* 0A8DF8 7F0742C8 8C99000C */ lw $t9, 0xc($a0) -/* 0A8DFC 7F0742CC AC59003C */ sw $t9, 0x3c($v0) -/* 0A8E00 7F0742D0 C4D20000 */ lwc1 $f18, ($a2) -/* 0A8E04 7F0742D4 A4430002 */ sh $v1, 2($v0) -/* 0A8E08 7F0742D8 460C9101 */ sub.s $f4, $f18, $f12 -/* 0A8E0C 7F0742DC 4600218D */ trunc.w.s $f6, $f4 -/* 0A8E10 7F0742E0 440C3000 */ mfc1 $t4, $f6 -/* 0A8E14 7F0742E4 00000000 */ nop -/* 0A8E18 7F0742E8 A44C0000 */ sh $t4, ($v0) -/* 0A8E1C 7F0742EC C4C80004 */ lwc1 $f8, 4($a2) -/* 0A8E20 7F0742F0 460E4281 */ sub.s $f10, $f8, $f14 -/* 0A8E24 7F0742F4 4600548D */ trunc.w.s $f18, $f10 -/* 0A8E28 7F0742F8 440D9000 */ mfc1 $t5, $f18 -/* 0A8E2C 7F0742FC 00000000 */ nop -/* 0A8E30 7F074300 A44D0004 */ sh $t5, 4($v0) -/* 0A8E34 7F074304 C4C40000 */ lwc1 $f4, ($a2) -/* 0A8E38 7F074308 A4430012 */ sh $v1, 0x12($v0) -/* 0A8E3C 7F07430C 460C2181 */ sub.s $f6, $f4, $f12 -/* 0A8E40 7F074310 4600320D */ trunc.w.s $f8, $f6 -/* 0A8E44 7F074314 440E4000 */ mfc1 $t6, $f8 -/* 0A8E48 7F074318 00000000 */ nop -/* 0A8E4C 7F07431C A44E0010 */ sh $t6, 0x10($v0) -/* 0A8E50 7F074320 C4CA0004 */ lwc1 $f10, 4($a2) -/* 0A8E54 7F074324 460E5480 */ add.s $f18, $f10, $f14 -/* 0A8E58 7F074328 4600910D */ trunc.w.s $f4, $f18 -/* 0A8E5C 7F07432C 44092000 */ mfc1 $t1, $f4 -/* 0A8E60 7F074330 00000000 */ nop -/* 0A8E64 7F074334 A4490014 */ sh $t1, 0x14($v0) -/* 0A8E68 7F074338 C4C60000 */ lwc1 $f6, ($a2) -/* 0A8E6C 7F07433C A4430022 */ sh $v1, 0x22($v0) -/* 0A8E70 7F074340 3C09BC00 */ lui $t1, (0xBC001406 >> 16) # lui $t1, 0xbc00 -/* 0A8E74 7F074344 460C3200 */ add.s $f8, $f6, $f12 -/* 0A8E78 7F074348 35291406 */ ori $t1, (0xBC001406 & 0xFFFF) # ori $t1, $t1, 0x1406 -/* 0A8E7C 7F07434C 4600428D */ trunc.w.s $f10, $f8 -/* 0A8E80 7F074350 44195000 */ mfc1 $t9, $f10 -/* 0A8E84 7F074354 00000000 */ nop -/* 0A8E88 7F074358 A4590020 */ sh $t9, 0x20($v0) -/* 0A8E8C 7F07435C C4D20004 */ lwc1 $f18, 4($a2) -/* 0A8E90 7F074360 460E9100 */ add.s $f4, $f18, $f14 -/* 0A8E94 7F074364 4600218D */ trunc.w.s $f6, $f4 -/* 0A8E98 7F074368 440C3000 */ mfc1 $t4, $f6 -/* 0A8E9C 7F07436C 00000000 */ nop -/* 0A8EA0 7F074370 A44C0024 */ sh $t4, 0x24($v0) -/* 0A8EA4 7F074374 C4C80000 */ lwc1 $f8, ($a2) -/* 0A8EA8 7F074378 A4430032 */ sh $v1, 0x32($v0) -/* 0A8EAC 7F07437C 460C4280 */ add.s $f10, $f8, $f12 -/* 0A8EB0 7F074380 4600548D */ trunc.w.s $f18, $f10 -/* 0A8EB4 7F074384 440D9000 */ mfc1 $t5, $f18 -/* 0A8EB8 7F074388 00000000 */ nop -/* 0A8EBC 7F07438C A44D0030 */ sh $t5, 0x30($v0) -/* 0A8EC0 7F074390 C4C40004 */ lwc1 $f4, 4($a2) -/* 0A8EC4 7F074394 460E2181 */ sub.s $f6, $f4, $f14 -/* 0A8EC8 7F074398 4600320D */ trunc.w.s $f8, $f6 -/* 0A8ECC 7F07439C 440E4000 */ mfc1 $t6, $f8 -/* 0A8ED0 7F0743A0 00000000 */ nop -/* 0A8ED4 7F0743A4 A44E0034 */ sh $t6, 0x34($v0) -/* 0A8ED8 7F0743A8 8E03000C */ lw $v1, 0xc($s0) -/* 0A8EDC 7F0743AC 24680008 */ addiu $t0, $v1, 8 -/* 0A8EE0 7F0743B0 AE08000C */ sw $t0, 0xc($s0) -/* 0A8EE4 7F0743B4 AC690000 */ sw $t1, ($v1) -/* 0A8EE8 7F0743B8 8CC4001C */ lw $a0, 0x1c($a2) -/* 0A8EEC 7F0743BC AFA20054 */ sw $v0, 0x54($sp) -/* 0A8EF0 7F0743C0 AFA6006C */ sw $a2, 0x6c($sp) -/* 0A8EF4 7F0743C4 0C003A2C */ jal osVirtualToPhysical -/* 0A8EF8 7F0743C8 AFA30038 */ sw $v1, 0x38($sp) -/* 0A8EFC 7F0743CC 8FA50038 */ lw $a1, 0x38($sp) -/* 0A8F00 7F0743D0 8FA6006C */ lw $a2, 0x6c($sp) -/* 0A8F04 7F0743D4 8FA70054 */ lw $a3, 0x54($sp) -/* 0A8F08 7F0743D8 ACA20004 */ sw $v0, 4($a1) -/* 0A8F0C 7F0743DC 8CC30010 */ lw $v1, 0x10($a2) -/* 0A8F10 7F0743E0 24060001 */ li $a2, 1 -/* 0A8F14 7F0743E4 00002825 */ move $a1, $zero -/* 0A8F18 7F0743E8 1060001C */ beqz $v1, .L7F07445C -/* 0A8F1C 7F0743EC 02002025 */ move $a0, $s0 -/* 0A8F20 7F0743F0 A4E00008 */ sh $zero, 8($a3) -/* 0A8F24 7F0743F4 A4E0000A */ sh $zero, 0xa($a3) -/* 0A8F28 7F0743F8 90780004 */ lbu $t8, 4($v1) -/* 0A8F2C 7F0743FC A4E0001A */ sh $zero, 0x1a($a3) -/* 0A8F30 7F074400 00602825 */ move $a1, $v1 -/* 0A8F34 7F074404 0018C940 */ sll $t9, $t8, 5 -/* 0A8F38 7F074408 272AFFFF */ addiu $t2, $t9, -1 -/* 0A8F3C 7F07440C A4EA0018 */ sh $t2, 0x18($a3) -/* 0A8F40 7F074410 906C0004 */ lbu $t4, 4($v1) -/* 0A8F44 7F074414 02002025 */ move $a0, $s0 -/* 0A8F48 7F074418 24060004 */ li $a2, 4 -/* 0A8F4C 7F07441C 000C5940 */ sll $t3, $t4, 5 -/* 0A8F50 7F074420 256DFFFF */ addiu $t5, $t3, -1 -/* 0A8F54 7F074424 A4ED0028 */ sh $t5, 0x28($a3) -/* 0A8F58 7F074428 906F0005 */ lbu $t7, 5($v1) -/* 0A8F5C 7F07442C A4E00038 */ sh $zero, 0x38($a3) -/* 0A8F60 7F074430 000F7140 */ sll $t6, $t7, 5 -/* 0A8F64 7F074434 25C8FFFF */ addiu $t0, $t6, -1 -/* 0A8F68 7F074438 A4E8002A */ sh $t0, 0x2a($a3) -/* 0A8F6C 7F07443C 90690005 */ lbu $t1, 5($v1) -/* 0A8F70 7F074440 0009C140 */ sll $t8, $t1, 5 -/* 0A8F74 7F074444 2719FFFF */ addiu $t9, $t8, -1 -/* 0A8F78 7F074448 A4F9003A */ sh $t9, 0x3a($a3) -/* 0A8F7C 7F07444C 0FC1CC0E */ jal sub_GAME_7F073038 -/* 0A8F80 7F074450 AFA70054 */ sw $a3, 0x54($sp) -/* 0A8F84 7F074454 10000004 */ b .L7F074468 -/* 0A8F88 7F074458 8FA70054 */ lw $a3, 0x54($sp) -.L7F07445C: -/* 0A8F8C 7F07445C 0FC1CC0E */ jal sub_GAME_7F073038 -/* 0A8F90 7F074460 AFA70054 */ sw $a3, 0x54($sp) -/* 0A8F94 7F074464 8FA70054 */ lw $a3, 0x54($sp) -.L7F074468: -/* 0A8F98 7F074468 8E03000C */ lw $v1, 0xc($s0) -/* 0A8F9C 7F07446C 3C0CB700 */ lui $t4, 0xb700 -/* 0A8FA0 7F074470 240B2000 */ li $t3, 8192 -/* 0A8FA4 7F074474 246A0008 */ addiu $t2, $v1, 8 -/* 0A8FA8 7F074478 AE0A000C */ sw $t2, 0xc($s0) -/* 0A8FAC 7F07447C AC6C0000 */ sw $t4, ($v1) -/* 0A8FB0 7F074480 AC6B0004 */ sw $t3, 4($v1) -/* 0A8FB4 7F074484 8E03000C */ lw $v1, 0xc($s0) -/* 0A8FB8 7F074488 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102 -/* 0A8FBC 7F07448C 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 0A8FC0 7F074490 246D0008 */ addiu $t5, $v1, 8 -/* 0A8FC4 7F074494 AE0D000C */ sw $t5, 0xc($s0) -/* 0A8FC8 7F074498 AC6F0000 */ sw $t7, ($v1) -/* 0A8FCC 7F07449C AFA70054 */ sw $a3, 0x54($sp) -/* 0A8FD0 7F0744A0 8FA40070 */ lw $a0, 0x70($sp) -/* 0A8FD4 7F0744A4 0C003A2C */ jal osVirtualToPhysical -/* 0A8FD8 7F0744A8 AFA3002C */ sw $v1, 0x2c($sp) -/* 0A8FDC 7F0744AC 8FA5002C */ lw $a1, 0x2c($sp) -/* 0A8FE0 7F0744B0 8FA40054 */ lw $a0, 0x54($sp) -/* 0A8FE4 7F0744B4 3C080430 */ lui $t0, (0x04300040 >> 16) # lui $t0, 0x430 -/* 0A8FE8 7F0744B8 ACA20004 */ sw $v0, 4($a1) -/* 0A8FEC 7F0744BC 8E03000C */ lw $v1, 0xc($s0) -/* 0A8FF0 7F0744C0 35080040 */ ori $t0, (0x04300040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 0A8FF4 7F0744C4 246E0008 */ addiu $t6, $v1, 8 -/* 0A8FF8 7F0744C8 AE0E000C */ sw $t6, 0xc($s0) -/* 0A8FFC 7F0744CC AC680000 */ sw $t0, ($v1) -/* 0A9000 7F0744D0 0C003A2C */ jal osVirtualToPhysical -/* 0A9004 7F0744D4 AFA30028 */ sw $v1, 0x28($sp) -/* 0A9008 7F0744D8 8FA60028 */ lw $a2, 0x28($sp) -/* 0A900C 7F0744DC 3C18B100 */ lui $t8, (0xB1000002 >> 16) # lui $t8, 0xb100 -/* 0A9010 7F0744E0 37180002 */ ori $t8, (0xB1000002 & 0xFFFF) # ori $t8, $t8, 2 -/* 0A9014 7F0744E4 ACC20004 */ sw $v0, 4($a2) -/* 0A9018 7F0744E8 8E03000C */ lw $v1, 0xc($s0) -/* 0A901C 7F0744EC 24193210 */ li $t9, 12816 -/* 0A9020 7F0744F0 24690008 */ addiu $t1, $v1, 8 -/* 0A9024 7F0744F4 AE09000C */ sw $t1, 0xc($s0) -/* 0A9028 7F0744F8 AC790004 */ sw $t9, 4($v1) -/* 0A902C 7F0744FC AC780000 */ sw $t8, ($v1) -.L7F074500: -/* 0A9030 7F074500 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A9034 7F074504 8FB00018 */ lw $s0, 0x18($sp) -/* 0A9038 7F074508 27BD0078 */ addiu $sp, $sp, 0x78 -/* 0A903C 7F07450C 03E00008 */ jr $ra -/* 0A9040 7F074510 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F074514(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F074514 -/* 0A9044 7F074514 AFA40000 */ sw $a0, ($sp) -/* 0A9048 7F074518 AFA50004 */ sw $a1, 4($sp) -/* 0A904C 7F07451C 03E00008 */ jr $ra -/* 0A9050 7F074520 AFA60008 */ sw $a2, 8($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F074524(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F074524 -/* 0A9054 7F074524 AFA40000 */ sw $a0, ($sp) -/* 0A9058 7F074528 AFA50004 */ sw $a1, 4($sp) -/* 0A905C 7F07452C 03E00008 */ jr $ra -/* 0A9060 7F074530 AFA60008 */ sw $a2, 8($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F074534(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*80054D54*/ -glabel jpt_80054D54 -.word .L7F074674 -.word .L7F074674 -.word .L7F074674 -.word .L7F07460C -.word .L7F07464C -.word .L7F07466C -.word .L7F07465C -.word .L7F07456C -.word .L7F0745A8 -.word .L7F0745EC -.word .L7F0745BC -.word .L7F0745CC -.word .L7F0745DC -.word .L7F074674 -.word .L7F074674 -.word .L7F074674 -.word .L7F0745FC -.word .L7F074580 -.word .L7F074674 -.word .L7F07462C -.word .L7F074674 -.word .L7F07463C -.word .L7F074594 -.word .L7F07461C -.text -glabel sub_GAME_7F074534 -/* 0A9064 7F074534 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A9068 7F074538 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A906C 7F07453C 94C20000 */ lhu $v0, ($a2) -/* 0A9070 7F074540 00A03825 */ move $a3, $a1 -/* 0A9074 7F074544 304E00FF */ andi $t6, $v0, 0xff -/* 0A9078 7F074548 25CFFFFF */ addiu $t7, $t6, -1 -/* 0A907C 7F07454C 2DE10018 */ sltiu $at, $t7, 0x18 -/* 0A9080 7F074550 10200048 */ beqz $at, .L7F074674 -/* 0A9084 7F074554 000F7880 */ sll $t7, $t7, 2 -/* 0A9088 7F074558 3C018005 */ lui $at, %hi(jpt_80054D54) -/* 0A908C 7F07455C 002F0821 */ addu $at, $at, $t7 -/* 0A9090 7F074560 8C2F4D54 */ lw $t7, %lo(jpt_80054D54)($at) -.L7F074564: -/* 0A9094 7F074564 01E00008 */ jr $t7 -/* 0A9098 7F074568 00000000 */ nop -.L7F07456C: -/* 0A909C 7F07456C 00E02025 */ move $a0, $a3 -/* 0A90A0 7F074570 0FC1BA5C */ jal sub_GAME_7F06E970 -/* 0A90A4 7F074574 00C02825 */ move $a1, $a2 -/* 0A90A8 7F074578 1000003F */ b .L7F074678 -/* 0A90AC 7F07457C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F074580: -/* 0A90B0 7F074580 00E02025 */ move $a0, $a3 -/* 0A90B4 7F074584 0FC1BA6F */ jal process_12_handle_switch -/* 0A90B8 7F074588 00C02825 */ move $a1, $a2 -/* 0A90BC 7F07458C 1000003A */ b .L7F074678 -/* 0A90C0 7F074590 8FBF0014 */ lw $ra, 0x14($sp) -.L7F074594: -/* 0A90C4 7F074594 00E02025 */ move $a0, $a3 -/* 0A90C8 7F074598 0FC1BA82 */ jal process_17_pointer_to_head -/* 0A90CC 7F07459C 00C02825 */ move $a1, $a2 -/* 0A90D0 7F0745A0 10000035 */ b .L7F074678 -/* 0A90D4 7F0745A4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0745A8: -/* 0A90D8 7F0745A8 00E02025 */ move $a0, $a3 -/* 0A90DC 7F0745AC 0FC1BAC4 */ jal sub_GAME_7F06EB10 -/* 0A90E0 7F0745B0 00C02825 */ move $a1, $a2 -/* 0A90E4 7F0745B4 10000030 */ b .L7F074678 -/* 0A90E8 7F0745B8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0745BC: -/* 0A90EC 7F0745BC 0FC1CDFF */ jal sub_GAME_7F0737FC -/* 0A90F0 7F0745C0 00E02825 */ move $a1, $a3 -/* 0A90F4 7F0745C4 1000002C */ b .L7F074678 -/* 0A90F8 7F0745C8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0745CC: -/* 0A90FC 7F0745CC 0FC1CE03 */ jal dogfnegx -/* 0A9100 7F0745D0 00E02825 */ move $a1, $a3 -/* 0A9104 7F0745D4 10000028 */ b .L7F074678 -/* 0A9108 7F0745D8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0745DC: -/* 0A910C 7F0745DC 0FC1CFF5 */ jal doshadow -/* 0A9110 7F0745E0 00E02825 */ move $a1, $a3 -/* 0A9114 7F0745E4 10000024 */ b .L7F074678 -/* 0A9118 7F0745E8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0745EC: -/* 0A911C 7F0745EC 0FC1D145 */ jal sub_GAME_7F074514 -/* 0A9120 7F0745F0 00E02825 */ move $a1, $a3 -/* 0A9124 7F0745F4 10000020 */ b .L7F074678 -/* 0A9128 7F0745F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0745FC: -/* 0A912C 7F0745FC 0FC1D149 */ jal sub_GAME_7F074524 -/* 0A9130 7F074600 00E02825 */ move $a1, $a3 -/* 0A9134 7F074604 1000001C */ b .L7F074678 -/* 0A9138 7F074608 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07460C: -/* 0A913C 7F07460C 0FC1C9E1 */ jal sub_GAME_7F072784 -/* 0A9140 7F074610 00C02825 */ move $a1, $a2 -/* 0A9144 7F074614 10000018 */ b .L7F074678 -/* 0A9148 7F074618 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07461C: -/* 0A914C 7F07461C 0FC1CA61 */ jal sub_GAME_7F072984 -/* 0A9150 7F074620 00E02825 */ move $a1, $a3 -/* 0A9154 7F074624 10000014 */ b .L7F074678 -/* 0A9158 7F074628 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07462C: -/* 0A915C 7F07462C 0FC1CB04 */ jal sub_GAME_7F072C10 -/* 0A9160 7F074630 00E02825 */ move $a1, $a3 -/* 0A9164 7F074634 10000010 */ b .L7F074678 -/* 0A9168 7F074638 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07463C: -/* 0A916C 7F07463C 0FC1CB08 */ jal dorottex -/* 0A9170 7F074640 00C02825 */ move $a1, $a2 -/* 0A9174 7F074644 1000000C */ b .L7F074678 -/* 0A9178 7F074648 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07464C: -/* 0A917C 7F07464C 0FC1CC1B */ jal sub_GAME_7F07306C -/* 0A9180 7F074650 00E02825 */ move $a1, $a3 -/* 0A9184 7F074654 10000008 */ b .L7F074678 -/* 0A9188 7F074658 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07465C: -/* 0A918C 7F07465C 0FC1CC1F */ jal dotube -/* 0A9190 7F074660 00E02825 */ move $a1, $a3 -/* 0A9194 7F074664 10000004 */ b .L7F074678 -/* 0A9198 7F074668 8FBF0014 */ lw $ra, 0x14($sp) -.L7F07466C: -/* 0A919C 7F07466C 0FC1CDFB */ jal sub_GAME_7F0737EC -/* 0A91A0 7F074670 00E02825 */ move $a1, $a3 -def_7F074564: -.L7F074674: -/* 0A91A4 7F074674 8FBF0014 */ lw $ra, 0x14($sp) -.L7F074678: -/* 0A91A8 7F074678 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A91AC 7F07467C 03E00008 */ jr $ra -/* 0A91B0 7F074680 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void subdraw(void) { - -} -#else -GLOBAL_ASM( -.text -glabel subdraw -/* 0A91B4 7F074684 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A91B8 7F074688 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A91BC 7F07468C AFB20020 */ sw $s2, 0x20($sp) -/* 0A91C0 7F074690 AFB1001C */ sw $s1, 0x1c($sp) -/* 0A91C4 7F074694 AFB00018 */ sw $s0, 0x18($sp) -/* 0A91C8 7F074698 8C8E000C */ lw $t6, 0xc($a0) -/* 0A91CC 7F07469C 8CA20008 */ lw $v0, 8($a1) -/* 0A91D0 7F0746A0 00808825 */ move $s1, $a0 -/* 0A91D4 7F0746A4 00A09025 */ move $s2, $a1 -/* 0A91D8 7F0746A8 15C00007 */ bnez $t6, .L7F0746C8 -/* 0A91DC 7F0746AC 8C500000 */ lw $s0, ($v0) -/* 0A91E0 7F0746B0 3C048005 */ lui $a0, %hi(aSubdrawNoGfxlist) -/* 0A91E4 7F0746B4 0C0033D1 */ jal osSyncPrintf -/* 0A91E8 7F0746B8 24844AB4 */ addiu $a0, %lo(aSubdrawNoGfxlist) # addiu $a0, $a0, 0x4ab4 -/* 0A91EC 7F0746BC 0FC1B11B */ jal return_null -/* 0A91F0 7F0746C0 00000000 */ nop -/* 0A91F4 7F0746C4 8E420008 */ lw $v0, 8($s2) -.L7F0746C8: -/* 0A91F8 7F0746C8 8C4F001C */ lw $t7, 0x1c($v0) -/* 0A91FC 7F0746CC 3C048005 */ lui $a0, %hi(aSubdrawObjectNotInitialised0xX) -/* 0A9200 7F0746D0 24844ACC */ addiu $a0, %lo(aSubdrawObjectNotInitialised0xX) # addiu $a0, $a0, 0x4acc -/* 0A9204 7F0746D4 11E00003 */ beqz $t7, .L7F0746E4 -/* 0A9208 7F0746D8 00000000 */ nop -/* 0A920C 7F0746DC 10000006 */ b .L7F0746F8 -/* 0A9210 7F0746E0 8E22000C */ lw $v0, 0xc($s1) -.L7F0746E4: -/* 0A9214 7F0746E4 0C0033D1 */ jal osSyncPrintf -/* 0A9218 7F0746E8 00402825 */ move $a1, $v0 -/* 0A921C 7F0746EC 0FC1B11B */ jal return_null -/* 0A9220 7F0746F0 00000000 */ nop -/* 0A9224 7F0746F4 8E22000C */ lw $v0, 0xc($s1) -.L7F0746F8: -/* 0A9228 7F0746F8 24580008 */ addiu $t8, $v0, 8 -/* 0A922C 7F0746FC 3C19BC00 */ lui $t9, (0xBC000C06 >> 16) # lui $t9, 0xbc00 -/* 0A9230 7F074700 37390C06 */ ori $t9, (0xBC000C06 & 0xFFFF) # ori $t9, $t9, 0xc06 -/* 0A9234 7F074704 AE38000C */ sw $t8, 0xc($s1) -/* 0A9238 7F074708 AC590000 */ sw $t9, ($v0) -/* 0A923C 7F07470C 8E44000C */ lw $a0, 0xc($s2) -/* 0A9240 7F074710 0C003A2C */ jal osVirtualToPhysical -/* 0A9244 7F074714 AFA20028 */ sw $v0, 0x28($sp) -/* 0A9248 7F074718 8FA30028 */ lw $v1, 0x28($sp) -/* 0A924C 7F07471C 12000016 */ beqz $s0, .L7F074778 -/* 0A9250 7F074720 AC620004 */ sw $v0, 4($v1) -/* 0A9254 7F074724 02202025 */ move $a0, $s1 -.L7F074728: -/* 0A9258 7F074728 02402825 */ move $a1, $s2 -/* 0A925C 7F07472C 0FC1D14D */ jal sub_GAME_7F074534 -/* 0A9260 7F074730 02003025 */ move $a2, $s0 -/* 0A9264 7F074734 8E020014 */ lw $v0, 0x14($s0) -/* 0A9268 7F074738 10400003 */ beqz $v0, .L7F074748 -/* 0A926C 7F07473C 00000000 */ nop -/* 0A9270 7F074740 1000000B */ b .L7F074770 -/* 0A9274 7F074744 00408025 */ move $s0, $v0 -.L7F074748: -/* 0A9278 7F074748 12000009 */ beqz $s0, .L7F074770 -/* 0A927C 7F07474C 00000000 */ nop -/* 0A9280 7F074750 8E02000C */ lw $v0, 0xc($s0) -.L7F074754: -/* 0A9284 7F074754 50400004 */ beql $v0, $zero, .L7F074768 -/* 0A9288 7F074758 8E100008 */ lw $s0, 8($s0) -/* 0A928C 7F07475C 10000004 */ b .L7F074770 -/* 0A9290 7F074760 00408025 */ move $s0, $v0 -/* 0A9294 7F074764 8E100008 */ lw $s0, 8($s0) -.L7F074768: -/* 0A9298 7F074768 5600FFFA */ bnezl $s0, .L7F074754 -/* 0A929C 7F07476C 8E02000C */ lw $v0, 0xc($s0) -.L7F074770: -/* 0A92A0 7F074770 5600FFED */ bnezl $s0, .L7F074728 -/* 0A92A4 7F074774 02202025 */ move $a0, $s1 -.L7F074778: -/* 0A92A8 7F074778 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A92AC 7F07477C 8FB00018 */ lw $s0, 0x18($sp) -/* 0A92B0 7F074780 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A92B4 7F074784 8FB20020 */ lw $s2, 0x20($sp) -/* 0A92B8 7F074788 03E00008 */ jr $ra -/* 0A92BC 7F07478C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F074790(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F074790 -/* 0A92C0 7F074790 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A92C4 7F074794 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A92C8 7F074798 AFA40018 */ sw $a0, 0x18($sp) -/* 0A92CC 7F07479C AFA5001C */ sw $a1, 0x1c($sp) -/* 0A92D0 7F0747A0 0FC1B5AC */ jal subcalcpos -/* 0A92D4 7F0747A4 00A02025 */ move $a0, $a1 -/* 0A92D8 7F0747A8 8FA40018 */ lw $a0, 0x18($sp) -/* 0A92DC 7F0747AC 0FC1BCBE */ jal subcalcmatrices -/* 0A92E0 7F0747B0 8FA5001C */ lw $a1, 0x1c($sp) -/* 0A92E4 7F0747B4 8FA40018 */ lw $a0, 0x18($sp) -/* 0A92E8 7F0747B8 0FC1D1A1 */ jal subdraw -/* 0A92EC 7F0747BC 8FA5001C */ lw $a1, 0x1c($sp) -/* 0A92F0 7F0747C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A92F4 7F0747C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A92F8 7F0747C8 03E00008 */ jr $ra -/* 0A92FC 7F0747CC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0747D0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0747D0 -/* 0A9300 7F0747D0 C4A00000 */ lwc1 $f0, ($a1) -/* 0A9304 7F0747D4 C4A20004 */ lwc1 $f2, 4($a1) -/* 0A9308 7F0747D8 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0A930C 7F0747DC 46000402 */ mul.s $f16, $f0, $f0 -/* 0A9310 7F0747E0 00000000 */ nop -/* 0A9314 7F0747E4 46021102 */ mul.s $f4, $f2, $f2 -/* 0A9318 7F0747E8 E7A400B0 */ swc1 $f4, 0xb0($sp) -/* 0A931C 7F0747EC C4AC0008 */ lwc1 $f12, 8($a1) -/* 0A9320 7F0747F0 C7A800B0 */ lwc1 $f8, 0xb0($sp) -/* 0A9324 7F0747F4 460C6182 */ mul.s $f6, $f12, $f12 -/* 0A9328 7F0747F8 46088280 */ add.s $f10, $f16, $f8 -/* 0A932C 7F0747FC E7A600AC */ swc1 $f6, 0xac($sp) -/* 0A9330 7F074800 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 0A9334 7F074804 C4860004 */ lwc1 $f6, 4($a0) -/* 0A9338 7F074808 46045380 */ add.s $f14, $f10, $f4 -/* 0A933C 7F07480C 46007387 */ neg.s $f14, $f14 -/* 0A9340 7F074810 46067202 */ mul.s $f8, $f14, $f6 -/* 0A9344 7F074814 E7A800A4 */ swc1 $f8, 0xa4($sp) -/* 0A9348 7F074818 C48A0008 */ lwc1 $f10, 8($a0) -/* 0A934C 7F07481C 460A7102 */ mul.s $f4, $f14, $f10 -/* 0A9350 7F074820 E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 0A9354 7F074824 C4E60008 */ lwc1 $f6, 8($a3) -/* 0A9358 7F074828 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0A935C 7F07482C C4E80000 */ lwc1 $f8, ($a3) -/* 0A9360 7F074830 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0A9364 7F074834 C4EA0004 */ lwc1 $f10, 4($a3) -/* 0A9368 7F074838 C7A40010 */ lwc1 $f4, 0x10($sp) -/* 0A936C 7F07483C E7AA000C */ swc1 $f10, 0xc($sp) -/* 0A9370 7F074840 46040182 */ mul.s $f6, $f0, $f4 -/* 0A9374 7F074844 C7A8000C */ lwc1 $f8, 0xc($sp) -/* 0A9378 7F074848 46081282 */ mul.s $f10, $f2, $f8 -/* 0A937C 7F07484C C7A80014 */ lwc1 $f8, 0x14($sp) -/* 0A9380 7F074850 460A3100 */ add.s $f4, $f6, $f10 -/* 0A9384 7F074854 460C4182 */ mul.s $f6, $f8, $f12 -/* 0A9388 7F074858 46043280 */ add.s $f10, $f6, $f4 -/* 0A938C 7F07485C E7AA009C */ swc1 $f10, 0x9c($sp) -/* 0A9390 7F074860 C4A60038 */ lwc1 $f6, 0x38($a1) -/* 0A9394 7F074864 C4C80008 */ lwc1 $f8, 8($a2) -/* 0A9398 7F074868 46064101 */ sub.s $f4, $f8, $f6 -/* 0A939C 7F07486C E7A40008 */ swc1 $f4, 8($sp) -/* 0A93A0 7F074870 C4A60030 */ lwc1 $f6, 0x30($a1) -/* 0A93A4 7F074874 C4C80000 */ lwc1 $f8, ($a2) -/* 0A93A8 7F074878 46064101 */ sub.s $f4, $f8, $f6 -/* 0A93AC 7F07487C E7A40004 */ swc1 $f4, 4($sp) -/* 0A93B0 7F074880 C4A60034 */ lwc1 $f6, 0x34($a1) -/* 0A93B4 7F074884 C4C80004 */ lwc1 $f8, 4($a2) -/* 0A93B8 7F074888 46064101 */ sub.s $f4, $f8, $f6 -/* 0A93BC 7F07488C C7A80004 */ lwc1 $f8, 4($sp) -/* 0A93C0 7F074890 E7A40000 */ swc1 $f4, ($sp) -/* 0A93C4 7F074894 46080182 */ mul.s $f6, $f0, $f8 -/* 0A93C8 7F074898 C7A40000 */ lwc1 $f4, ($sp) -/* 0A93CC 7F07489C 46041202 */ mul.s $f8, $f2, $f4 -/* 0A93D0 7F0748A0 46083100 */ add.s $f4, $f6, $f8 -/* 0A93D4 7F0748A4 C7A60008 */ lwc1 $f6, 8($sp) -/* 0A93D8 7F0748A8 460C3202 */ mul.s $f8, $f6, $f12 -/* 0A93DC 7F0748AC 44806000 */ mtc1 $zero, $f12 -/* 0A93E0 7F0748B0 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 0A93E4 7F0748B4 460C503C */ c.lt.s $f10, $f12 -/* 0A93E8 7F0748B8 46044480 */ add.s $f18, $f8, $f4 -/* 0A93EC 7F0748BC C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 0A93F0 7F0748C0 46069000 */ add.s $f0, $f18, $f6 -/* 0A93F4 7F0748C4 46089480 */ add.s $f18, $f18, $f8 -/* 0A93F8 7F0748C8 46000007 */ neg.s $f0, $f0 -/* 0A93FC 7F0748CC 45000005 */ bc1f .L7F0748E4 -/* 0A9400 7F0748D0 46009487 */ neg.s $f18, $f18 -/* 0A9404 7F0748D4 46005107 */ neg.s $f4, $f10 -/* 0A9408 7F0748D8 46009487 */ neg.s $f18, $f18 -/* 0A940C 7F0748DC E7A4009C */ swc1 $f4, 0x9c($sp) -/* 0A9410 7F0748E0 46000007 */ neg.s $f0, $f0 -.L7F0748E4: -/* 0A9414 7F0748E4 460C903C */ c.lt.s $f18, $f12 -/* 0A9418 7F0748E8 00000000 */ nop -/* 0A941C 7F0748EC 45020008 */ bc1fl .L7F074910 -/* 0A9420 7F0748F0 4612003C */ c.lt.s $f0, $f18 -/* 0A9424 7F0748F4 460C003C */ c.lt.s $f0, $f12 -/* 0A9428 7F0748F8 00000000 */ nop -/* 0A942C 7F0748FC 45020004 */ bc1fl .L7F074910 -/* 0A9430 7F074900 4612003C */ c.lt.s $f0, $f18 -/* 0A9434 7F074904 100000D6 */ b .L7F074C60 -/* 0A9438 7F074908 00001025 */ move $v0, $zero -/* 0A943C 7F07490C 4612003C */ c.lt.s $f0, $f18 -.L7F074910: -/* 0A9440 7F074910 E7A00094 */ swc1 $f0, 0x94($sp) -/* 0A9444 7F074914 45020005 */ bc1fl .L7F07492C -/* 0A9448 7F074918 C4A00010 */ lwc1 $f0, 0x10($a1) -/* 0A944C 7F07491C 46009086 */ mov.s $f2, $f18 -/* 0A9450 7F074920 46000486 */ mov.s $f18, $f0 -/* 0A9454 7F074924 E7A20094 */ swc1 $f2, 0x94($sp) -/* 0A9458 7F074928 C4A00010 */ lwc1 $f0, 0x10($a1) -.L7F07492C: -/* 0A945C 7F07492C 46000182 */ mul.s $f6, $f0, $f0 -/* 0A9460 7F074930 E7A60088 */ swc1 $f6, 0x88($sp) -/* 0A9464 7F074934 C4A20014 */ lwc1 $f2, 0x14($a1) -/* 0A9468 7F074938 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0A946C 7F07493C 46021202 */ mul.s $f8, $f2, $f2 -/* 0A9470 7F074940 E7A80084 */ swc1 $f8, 0x84($sp) -/* 0A9474 7F074944 C4AC0018 */ lwc1 $f12, 0x18($a1) -/* 0A9478 7F074948 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 0A947C 7F07494C 460C6282 */ mul.s $f10, $f12, $f12 -/* 0A9480 7F074950 46062200 */ add.s $f8, $f4, $f6 -/* 0A9484 7F074954 E7AA0080 */ swc1 $f10, 0x80($sp) -/* 0A9488 7F074958 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 0A948C 7F07495C C484000C */ lwc1 $f4, 0xc($a0) -/* 0A9490 7F074960 460A4380 */ add.s $f14, $f8, $f10 -/* 0A9494 7F074964 46007387 */ neg.s $f14, $f14 -/* 0A9498 7F074968 46047182 */ mul.s $f6, $f14, $f4 -/* 0A949C 7F07496C C7A40010 */ lwc1 $f4, 0x10($sp) -/* 0A94A0 7F074970 E7A60078 */ swc1 $f6, 0x78($sp) -/* 0A94A4 7F074974 C4880010 */ lwc1 $f8, 0x10($a0) -/* 0A94A8 7F074978 46087282 */ mul.s $f10, $f14, $f8 -/* 0A94AC 7F07497C C7A8000C */ lwc1 $f8, 0xc($sp) -/* 0A94B0 7F074980 46040182 */ mul.s $f6, $f0, $f4 -/* 0A94B4 7F074984 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 0A94B8 7F074988 46081282 */ mul.s $f10, $f2, $f8 -/* 0A94BC 7F07498C C7A80014 */ lwc1 $f8, 0x14($sp) -/* 0A94C0 7F074990 460A3100 */ add.s $f4, $f6, $f10 -/* 0A94C4 7F074994 460C4182 */ mul.s $f6, $f8, $f12 -/* 0A94C8 7F074998 C7A80004 */ lwc1 $f8, 4($sp) -/* 0A94CC 7F07499C 46043280 */ add.s $f10, $f6, $f4 -/* 0A94D0 7F0749A0 46080182 */ mul.s $f6, $f0, $f8 -/* 0A94D4 7F0749A4 C7A40000 */ lwc1 $f4, ($sp) -/* 0A94D8 7F0749A8 E7AA0070 */ swc1 $f10, 0x70($sp) -/* 0A94DC 7F0749AC 46041202 */ mul.s $f8, $f2, $f4 -/* 0A94E0 7F0749B0 46005386 */ mov.s $f14, $f10 -/* 0A94E4 7F0749B4 46083100 */ add.s $f4, $f6, $f8 -/* 0A94E8 7F0749B8 C7A60008 */ lwc1 $f6, 8($sp) -/* 0A94EC 7F0749BC 460C3202 */ mul.s $f8, $f6, $f12 -/* 0A94F0 7F0749C0 44806000 */ mtc1 $zero, $f12 -/* 0A94F4 7F0749C4 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 0A94F8 7F0749C8 460C503C */ c.lt.s $f10, $f12 -/* 0A94FC 7F0749CC 46044400 */ add.s $f16, $f8, $f4 -/* 0A9500 7F0749D0 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 0A9504 7F0749D4 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0A9508 7F0749D8 46068000 */ add.s $f0, $f16, $f6 -/* 0A950C 7F0749DC 46088400 */ add.s $f16, $f16, $f8 -/* 0A9510 7F0749E0 46000007 */ neg.s $f0, $f0 -/* 0A9514 7F0749E4 45000004 */ bc1f .L7F0749F8 -/* 0A9518 7F0749E8 46008407 */ neg.s $f16, $f16 -/* 0A951C 7F0749EC 46005387 */ neg.s $f14, $f10 -/* 0A9520 7F0749F0 46008407 */ neg.s $f16, $f16 -/* 0A9524 7F0749F4 46000007 */ neg.s $f0, $f0 -.L7F0749F8: -/* 0A9528 7F0749F8 460C803C */ c.lt.s $f16, $f12 -/* 0A952C 7F0749FC 00000000 */ nop -/* 0A9530 7F074A00 45020008 */ bc1fl .L7F074A24 -/* 0A9534 7F074A04 4610003C */ c.lt.s $f0, $f16 -/* 0A9538 7F074A08 460C003C */ c.lt.s $f0, $f12 -/* 0A953C 7F074A0C 00000000 */ nop -/* 0A9540 7F074A10 45020004 */ bc1fl .L7F074A24 -/* 0A9544 7F074A14 4610003C */ c.lt.s $f0, $f16 -/* 0A9548 7F074A18 10000091 */ b .L7F074C60 -/* 0A954C 7F074A1C 00001025 */ move $v0, $zero -/* 0A9550 7F074A20 4610003C */ c.lt.s $f0, $f16 -.L7F074A24: -/* 0A9554 7F074A24 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 0A9558 7F074A28 45000004 */ bc1f .L7F074A3C -/* 0A955C 7F074A2C 00000000 */ nop -/* 0A9560 7F074A30 46008086 */ mov.s $f2, $f16 -/* 0A9564 7F074A34 46000406 */ mov.s $f16, $f0 -/* 0A9568 7F074A38 46001006 */ mov.s $f0, $f2 -.L7F074A3C: -/* 0A956C 7F074A3C 46048302 */ mul.s $f12, $f16, $f4 -/* 0A9570 7F074A40 00000000 */ nop -/* 0A9574 7F074A44 460E9082 */ mul.s $f2, $f18, $f14 -/* 0A9578 7F074A48 4602603C */ c.lt.s $f12, $f2 -/* 0A957C 7F074A4C 00000000 */ nop -/* 0A9580 7F074A50 4500000E */ bc1f .L7F074A8C -/* 0A9584 7F074A54 00000000 */ nop -/* 0A9588 7F074A58 46040302 */ mul.s $f12, $f0, $f4 -/* 0A958C 7F074A5C 4602603C */ c.lt.s $f12, $f2 -/* 0A9590 7F074A60 00000000 */ nop -/* 0A9594 7F074A64 45020004 */ bc1fl .L7F074A78 -/* 0A9598 7F074A68 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 0A959C 7F074A6C 1000007C */ b .L7F074C60 -/* 0A95A0 7F074A70 00001025 */ move $v0, $zero -/* 0A95A4 7F074A74 C7A60094 */ lwc1 $f6, 0x94($sp) -.L7F074A78: -/* 0A95A8 7F074A78 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 0A95AC 7F074A7C E7B2005C */ swc1 $f18, 0x5c($sp) -/* 0A95B0 7F074A80 460E3082 */ mul.s $f2, $f6, $f14 -/* 0A95B4 7F074A84 1000000D */ b .L7F074ABC -/* 0A95B8 7F074A88 E7AA0058 */ swc1 $f10, 0x58($sp) -.L7F074A8C: -/* 0A95BC 7F074A8C 460E4082 */ mul.s $f2, $f8, $f14 -/* 0A95C0 7F074A90 460C103C */ c.lt.s $f2, $f12 -/* 0A95C4 7F074A94 00000000 */ nop -/* 0A95C8 7F074A98 45020004 */ bc1fl .L7F074AAC -/* 0A95CC 7F074A9C C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0A95D0 7F074AA0 1000006F */ b .L7F074C60 -/* 0A95D4 7F074AA4 00001025 */ move $v0, $zero -/* 0A95D8 7F074AA8 C7A4009C */ lwc1 $f4, 0x9c($sp) -.L7F074AAC: -/* 0A95DC 7F074AAC E7B0005C */ swc1 $f16, 0x5c($sp) -/* 0A95E0 7F074AB0 E7AE0058 */ swc1 $f14, 0x58($sp) -/* 0A95E4 7F074AB4 46040302 */ mul.s $f12, $f0, $f4 -/* 0A95E8 7F074AB8 00000000 */ nop -.L7F074ABC: -/* 0A95EC 7F074ABC 460C103C */ c.lt.s $f2, $f12 -/* 0A95F0 7F074AC0 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0A95F4 7F074AC4 45020006 */ bc1fl .L7F074AE0 -/* 0A95F8 7F074AC8 E7A00054 */ swc1 $f0, 0x54($sp) -/* 0A95FC 7F074ACC C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0A9600 7F074AD0 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 0A9604 7F074AD4 10000003 */ b .L7F074AE4 -/* 0A9608 7F074AD8 E7A60050 */ swc1 $f6, 0x50($sp) -/* 0A960C 7F074ADC E7A00054 */ swc1 $f0, 0x54($sp) -.L7F074AE0: -/* 0A9610 7F074AE0 E7AE0050 */ swc1 $f14, 0x50($sp) -.L7F074AE4: -/* 0A9614 7F074AE4 C4A00020 */ lwc1 $f0, 0x20($a1) -/* 0A9618 7F074AE8 C4A20024 */ lwc1 $f2, 0x24($a1) -/* 0A961C 7F074AEC 46000482 */ mul.s $f18, $f0, $f0 -/* 0A9620 7F074AF0 00000000 */ nop -/* 0A9624 7F074AF4 46021202 */ mul.s $f8, $f2, $f2 -/* 0A9628 7F074AF8 E7A80040 */ swc1 $f8, 0x40($sp) -/* 0A962C 7F074AFC C4AC0028 */ lwc1 $f12, 0x28($a1) -/* 0A9630 7F074B00 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0A9634 7F074B04 460C6102 */ mul.s $f4, $f12, $f12 -/* 0A9638 7F074B08 460A9180 */ add.s $f6, $f18, $f10 -/* 0A963C 7F074B0C E7A4003C */ swc1 $f4, 0x3c($sp) -/* 0A9640 7F074B10 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0A9644 7F074B14 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0A9648 7F074B18 46083400 */ add.s $f16, $f6, $f8 -/* 0A964C 7F074B1C 46008407 */ neg.s $f16, $f16 -/* 0A9650 7F074B20 46048282 */ mul.s $f10, $f16, $f4 -/* 0A9654 7F074B24 C7A40010 */ lwc1 $f4, 0x10($sp) -/* 0A9658 7F074B28 E7AA0034 */ swc1 $f10, 0x34($sp) -/* 0A965C 7F074B2C C4860018 */ lwc1 $f6, 0x18($a0) -/* 0A9660 7F074B30 46068202 */ mul.s $f8, $f16, $f6 -/* 0A9664 7F074B34 C7A6000C */ lwc1 $f6, 0xc($sp) -/* 0A9668 7F074B38 46040282 */ mul.s $f10, $f0, $f4 -/* 0A966C 7F074B3C E7A80030 */ swc1 $f8, 0x30($sp) -/* 0A9670 7F074B40 46061202 */ mul.s $f8, $f2, $f6 -/* 0A9674 7F074B44 C7A60014 */ lwc1 $f6, 0x14($sp) -/* 0A9678 7F074B48 46085100 */ add.s $f4, $f10, $f8 -/* 0A967C 7F074B4C 460C3282 */ mul.s $f10, $f6, $f12 -/* 0A9680 7F074B50 C7A60004 */ lwc1 $f6, 4($sp) -/* 0A9684 7F074B54 46045200 */ add.s $f8, $f10, $f4 -/* 0A9688 7F074B58 46060282 */ mul.s $f10, $f0, $f6 -/* 0A968C 7F074B5C C7A40000 */ lwc1 $f4, ($sp) -/* 0A9690 7F074B60 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 0A9694 7F074B64 46041182 */ mul.s $f6, $f2, $f4 -/* 0A9698 7F074B68 44801000 */ mtc1 $zero, $f2 -/* 0A969C 7F074B6C 00000000 */ nop -/* 0A96A0 7F074B70 4602403C */ c.lt.s $f8, $f2 -/* 0A96A4 7F074B74 46065100 */ add.s $f4, $f10, $f6 -/* 0A96A8 7F074B78 C7AA0008 */ lwc1 $f10, 8($sp) -/* 0A96AC 7F074B7C 460C5182 */ mul.s $f6, $f10, $f12 -/* 0A96B0 7F074B80 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0A96B4 7F074B84 46004306 */ mov.s $f12, $f8 -/* 0A96B8 7F074B88 46043380 */ add.s $f14, $f6, $f4 -/* 0A96BC 7F074B8C C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0A96C0 7F074B90 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 0A96C4 7F074B94 460A7000 */ add.s $f0, $f14, $f10 -/* 0A96C8 7F074B98 46067380 */ add.s $f14, $f14, $f6 -/* 0A96CC 7F074B9C 46000007 */ neg.s $f0, $f0 -/* 0A96D0 7F074BA0 45000004 */ bc1f .L7F074BB4 -/* 0A96D4 7F074BA4 46007387 */ neg.s $f14, $f14 -/* 0A96D8 7F074BA8 46004307 */ neg.s $f12, $f8 -/* 0A96DC 7F074BAC 46007387 */ neg.s $f14, $f14 -/* 0A96E0 7F074BB0 46000007 */ neg.s $f0, $f0 -.L7F074BB4: -/* 0A96E4 7F074BB4 4602703C */ c.lt.s $f14, $f2 -/* 0A96E8 7F074BB8 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0A96EC 7F074BBC 45020008 */ bc1fl .L7F074BE0 -/* 0A96F0 7F074BC0 460E003C */ c.lt.s $f0, $f14 -/* 0A96F4 7F074BC4 4602003C */ c.lt.s $f0, $f2 -/* 0A96F8 7F074BC8 00000000 */ nop -/* 0A96FC 7F074BCC 45020004 */ bc1fl .L7F074BE0 -/* 0A9700 7F074BD0 460E003C */ c.lt.s $f0, $f14 -/* 0A9704 7F074BD4 10000022 */ b .L7F074C60 -/* 0A9708 7F074BD8 00001025 */ move $v0, $zero -/* 0A970C 7F074BDC 460E003C */ c.lt.s $f0, $f14 -.L7F074BE0: -/* 0A9710 7F074BE0 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 0A9714 7F074BE4 45000004 */ bc1f .L7F074BF8 -/* 0A9718 7F074BE8 00000000 */ nop -/* 0A971C 7F074BEC 46007086 */ mov.s $f2, $f14 -/* 0A9720 7F074BF0 46000386 */ mov.s $f14, $f0 -/* 0A9724 7F074BF4 46001006 */ mov.s $f0, $f2 -.L7F074BF8: -/* 0A9728 7F074BF8 460C2082 */ mul.s $f2, $f4, $f12 -/* 0A972C 7F074BFC 00000000 */ nop -/* 0A9730 7F074C00 46087282 */ mul.s $f10, $f14, $f8 -/* 0A9734 7F074C04 460A103C */ c.lt.s $f2, $f10 -/* 0A9738 7F074C08 00000000 */ nop -/* 0A973C 7F074C0C 4500000C */ bc1f .L7F074C40 -/* 0A9740 7F074C10 00000000 */ nop -/* 0A9744 7F074C14 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 0A9748 7F074C18 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 0A974C 7F074C1C 460C3102 */ mul.s $f4, $f6, $f12 -/* 0A9750 7F074C20 00000000 */ nop -/* 0A9754 7F074C24 46087282 */ mul.s $f10, $f14, $f8 -/* 0A9758 7F074C28 460A203C */ c.lt.s $f4, $f10 -/* 0A975C 7F074C2C 00000000 */ nop -/* 0A9760 7F074C30 4500000A */ bc1f .L7F074C5C -/* 0A9764 7F074C34 00000000 */ nop -/* 0A9768 7F074C38 10000009 */ b .L7F074C60 -/* 0A976C 7F074C3C 00001025 */ move $v0, $zero -.L7F074C40: -/* 0A9770 7F074C40 46060202 */ mul.s $f8, $f0, $f6 -/* 0A9774 7F074C44 4602403C */ c.lt.s $f8, $f2 -/* 0A9778 7F074C48 00000000 */ nop -/* 0A977C 7F074C4C 45020004 */ bc1fl .L7F074C60 -/* 0A9780 7F074C50 24020001 */ li $v0, 1 -/* 0A9784 7F074C54 10000002 */ b .L7F074C60 -/* 0A9788 7F074C58 00001025 */ move $v0, $zero -.L7F074C5C: -/* 0A978C 7F074C5C 24020001 */ li $v0, 1 -.L7F074C60: -/* 0A9790 7F074C60 03E00008 */ jr $ra -/* 0A9794 7F074C64 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F074C68(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F074C68 -/* 0A9798 7F074C68 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A979C 7F074C6C AFBF0014 */ sw $ra, 0x14($sp) -/* 0A97A0 7F074C70 AFA60028 */ sw $a2, 0x28($sp) -/* 0A97A4 7F074C74 AFA7002C */ sw $a3, 0x2c($sp) -/* 0A97A8 7F074C78 8CAE0004 */ lw $t6, 4($a1) -/* 0A97AC 7F074C7C 00003025 */ move $a2, $zero -/* 0A97B0 7F074C80 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A97B4 7F074C84 AFAE001C */ sw $t6, 0x1c($sp) -/* 0A97B8 7F074C88 8FA4001C */ lw $a0, 0x1c($sp) -/* 0A97BC 7F074C8C 00402825 */ move $a1, $v0 -/* 0A97C0 7F074C90 8FA60028 */ lw $a2, 0x28($sp) -/* 0A97C4 7F074C94 0FC1D1F4 */ jal sub_GAME_7F0747D0 -/* 0A97C8 7F074C98 8FA7002C */ lw $a3, 0x2c($sp) -/* 0A97CC 7F074C9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A97D0 7F074CA0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0A97D4 7F074CA4 03E00008 */ jr $ra -/* 0A97D8 7F074CA8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F074CAC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F074CAC -/* 0A97DC 7F074CAC 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 0A97E0 7F074CB0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A97E4 7F074CB4 AFB00018 */ sw $s0, 0x18($sp) -/* 0A97E8 7F074CB8 AFA400B0 */ sw $a0, 0xb0($sp) -/* 0A97EC 7F074CBC 8CA80004 */ lw $t0, 4($a1) -/* 0A97F0 7F074CC0 00C08025 */ move $s0, $a2 -/* 0A97F4 7F074CC4 00003025 */ move $a2, $zero -/* 0A97F8 7F074CC8 AFA700BC */ sw $a3, 0xbc($sp) -/* 0A97FC 7F074CCC AFA500B4 */ sw $a1, 0xb4($sp) -/* 0A9800 7F074CD0 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A9804 7F074CD4 AFA800AC */ sw $t0, 0xac($sp) -/* 0A9808 7F074CD8 3C0B8003 */ lui $t3, %hi(D_80036408) -/* 0A980C 7F074CDC 256B6408 */ addiu $t3, %lo(D_80036408) # addiu $t3, $t3, 0x6408 -/* 0A9810 7F074CE0 8D610000 */ lw $at, ($t3) -/* 0A9814 7F074CE4 8FA700BC */ lw $a3, 0xbc($sp) -/* 0A9818 7F074CE8 8FA800AC */ lw $t0, 0xac($sp) -/* 0A981C 7F074CEC 27AA0090 */ addiu $t2, $sp, 0x90 -/* 0A9820 7F074CF0 AD410000 */ sw $at, ($t2) -/* 0A9824 7F074CF4 8D610008 */ lw $at, 8($t3) -/* 0A9828 7F074CF8 8D790004 */ lw $t9, 4($t3) -/* 0A982C 7F074CFC 00401825 */ move $v1, $v0 -/* 0A9830 7F074D00 AD410008 */ sw $at, 8($t2) -/* 0A9834 7F074D04 AD590004 */ sw $t9, 4($t2) -/* 0A9838 7F074D08 C5080004 */ lwc1 $f8, 4($t0) -/* 0A983C 7F074D0C 8FB800B4 */ lw $t8, 0xb4($sp) -/* 0A9840 7F074D10 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 0A9844 7F074D14 C4E60000 */ lwc1 $f6, ($a3) -/* 0A9848 7F074D18 E7A6009C */ swc1 $f6, 0x9c($sp) -/* 0A984C 7F074D1C C4EA0004 */ lwc1 $f10, 4($a3) -/* 0A9850 7F074D20 E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 0A9854 7F074D24 C4E40008 */ lwc1 $f4, 8($a3) -/* 0A9858 7F074D28 E7A400A4 */ swc1 $f4, 0xa4($sp) -/* 0A985C 7F074D2C 97040000 */ lhu $a0, ($t8) -/* 0A9860 7F074D30 308E0100 */ andi $t6, $a0, 0x100 -/* 0A9864 7F074D34 11C0003C */ beqz $t6, .L7F074E28 -/* 0A9868 7F074D38 308F0200 */ andi $t7, $a0, 0x200 -/* 0A986C 7F074D3C C5080008 */ lwc1 $f8, 8($t0) -/* 0A9870 7F074D40 E7A80080 */ swc1 $f8, 0x80($sp) -/* 0A9874 7F074D44 C506000C */ lwc1 $f6, 0xc($t0) -/* 0A9878 7F074D48 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0A987C 7F074D4C E7A60084 */ swc1 $f6, 0x84($sp) -/* 0A9880 7F074D50 C50A0010 */ lwc1 $f10, 0x10($t0) -/* 0A9884 7F074D54 E7AA0088 */ swc1 $f10, 0x88($sp) -/* 0A9888 7F074D58 C4480000 */ lwc1 $f8, ($v0) -/* 0A988C 7F074D5C C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 0A9890 7F074D60 46082182 */ mul.s $f6, $f4, $f8 -/* 0A9894 7F074D64 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0A9898 7F074D68 E7A40020 */ swc1 $f4, 0x20($sp) -/* 0A989C 7F074D6C C4440020 */ lwc1 $f4, 0x20($v0) -/* 0A98A0 7F074D70 46085202 */ mul.s $f8, $f10, $f8 -/* 0A98A4 7F074D74 46083180 */ add.s $f6, $f6, $f8 -/* 0A98A8 7F074D78 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 0A98AC 7F074D7C 46044102 */ mul.s $f4, $f8, $f4 -/* 0A98B0 7F074D80 46043180 */ add.s $f6, $f6, $f4 -/* 0A98B4 7F074D84 C4440030 */ lwc1 $f4, 0x30($v0) -/* 0A98B8 7F074D88 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0A98BC 7F074D8C C60A0000 */ lwc1 $f10, ($s0) -/* 0A98C0 7F074D90 460A2101 */ sub.s $f4, $f4, $f10 -/* 0A98C4 7F074D94 46062280 */ add.s $f10, $f4, $f6 -/* 0A98C8 7F074D98 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0A98CC 7F074D9C E7AA0090 */ swc1 $f10, 0x90($sp) -/* 0A98D0 7F074DA0 C4460004 */ lwc1 $f6, 4($v0) -/* 0A98D4 7F074DA4 46062282 */ mul.s $f10, $f4, $f6 -/* 0A98D8 7F074DA8 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 0A98DC 7F074DAC E7A80024 */ swc1 $f8, 0x24($sp) -/* 0A98E0 7F074DB0 C4480014 */ lwc1 $f8, 0x14($v0) -/* 0A98E4 7F074DB4 46083202 */ mul.s $f8, $f6, $f8 -/* 0A98E8 7F074DB8 46085280 */ add.s $f10, $f10, $f8 -/* 0A98EC 7F074DBC C7A80024 */ lwc1 $f8, 0x24($sp) -/* 0A98F0 7F074DC0 E7A40024 */ swc1 $f4, 0x24($sp) -/* 0A98F4 7F074DC4 C4440024 */ lwc1 $f4, 0x24($v0) -/* 0A98F8 7F074DC8 46044102 */ mul.s $f4, $f8, $f4 -/* 0A98FC 7F074DCC 46045280 */ add.s $f10, $f10, $f4 -/* 0A9900 7F074DD0 C4440034 */ lwc1 $f4, 0x34($v0) -/* 0A9904 7F074DD4 E7A60020 */ swc1 $f6, 0x20($sp) -/* 0A9908 7F074DD8 C6060004 */ lwc1 $f6, 4($s0) -/* 0A990C 7F074DDC 46062101 */ sub.s $f4, $f4, $f6 -/* 0A9910 7F074DE0 460A2180 */ add.s $f6, $f4, $f10 -/* 0A9914 7F074DE4 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 0A9918 7F074DE8 E7A60094 */ swc1 $f6, 0x94($sp) -/* 0A991C 7F074DEC C44A0008 */ lwc1 $f10, 8($v0) -/* 0A9920 7F074DF0 460A2182 */ mul.s $f6, $f4, $f10 -/* 0A9924 7F074DF4 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 0A9928 7F074DF8 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0A992C 7F074DFC 460A2102 */ mul.s $f4, $f4, $f10 -/* 0A9930 7F074E00 46043280 */ add.s $f10, $f6, $f4 -/* 0A9934 7F074E04 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0A9938 7F074E08 46064102 */ mul.s $f4, $f8, $f6 -/* 0A993C 7F074E0C C4460038 */ lwc1 $f6, 0x38($v0) -/* 0A9940 7F074E10 46045200 */ add.s $f8, $f10, $f4 -/* 0A9944 7F074E14 C60A0008 */ lwc1 $f10, 8($s0) -/* 0A9948 7F074E18 460A3101 */ sub.s $f4, $f6, $f10 -/* 0A994C 7F074E1C 46082180 */ add.s $f6, $f4, $f8 -/* 0A9950 7F074E20 1000003E */ b .L7F074F1C -/* 0A9954 7F074E24 E7A60098 */ swc1 $f6, 0x98($sp) -.L7F074E28: -/* 0A9958 7F074E28 51E00031 */ beql $t7, $zero, .L7F074EF0 -/* 0A995C 7F074E2C C4460030 */ lwc1 $f6, 0x30($v0) -/* 0A9960 7F074E30 8D050014 */ lw $a1, 0x14($t0) -/* 0A9964 7F074E34 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0A9968 7F074E38 00003025 */ move $a2, $zero -/* 0A996C 7F074E3C 50A0001F */ beql $a1, $zero, .L7F074EBC -/* 0A9970 7F074E40 C4480030 */ lwc1 $f8, 0x30($v0) -/* 0A9974 7F074E44 AFA300A8 */ sw $v1, 0xa8($sp) -/* 0A9978 7F074E48 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0A997C 7F074E4C AFA800AC */ sw $t0, 0xac($sp) -/* 0A9980 7F074E50 8FA300A8 */ lw $v1, 0xa8($sp) -/* 0A9984 7F074E54 C4440030 */ lwc1 $f4, 0x30($v0) -/* 0A9988 7F074E58 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A998C 7F074E5C C46A0030 */ lwc1 $f10, 0x30($v1) -/* 0A9990 7F074E60 44810000 */ mtc1 $at, $f0 -/* 0A9994 7F074E64 8FA800AC */ lw $t0, 0xac($sp) -/* 0A9998 7F074E68 46045200 */ add.s $f8, $f10, $f4 -/* 0A999C 7F074E6C C60A0000 */ lwc1 $f10, ($s0) -/* 0A99A0 7F074E70 46004182 */ mul.s $f6, $f8, $f0 -/* 0A99A4 7F074E74 460A3101 */ sub.s $f4, $f6, $f10 -/* 0A99A8 7F074E78 E7A40090 */ swc1 $f4, 0x90($sp) -/* 0A99AC 7F074E7C C4460034 */ lwc1 $f6, 0x34($v0) -/* 0A99B0 7F074E80 C4680034 */ lwc1 $f8, 0x34($v1) -/* 0A99B4 7F074E84 46064280 */ add.s $f10, $f8, $f6 -/* 0A99B8 7F074E88 C6080004 */ lwc1 $f8, 4($s0) -/* 0A99BC 7F074E8C 46005102 */ mul.s $f4, $f10, $f0 -/* 0A99C0 7F074E90 46082181 */ sub.s $f6, $f4, $f8 -/* 0A99C4 7F074E94 E7A60094 */ swc1 $f6, 0x94($sp) -/* 0A99C8 7F074E98 C4440038 */ lwc1 $f4, 0x38($v0) -/* 0A99CC 7F074E9C C46A0038 */ lwc1 $f10, 0x38($v1) -/* 0A99D0 7F074EA0 46045200 */ add.s $f8, $f10, $f4 -/* 0A99D4 7F074EA4 C60A0008 */ lwc1 $f10, 8($s0) -/* 0A99D8 7F074EA8 46004182 */ mul.s $f6, $f8, $f0 -/* 0A99DC 7F074EAC 460A3101 */ sub.s $f4, $f6, $f10 -/* 0A99E0 7F074EB0 1000001A */ b .L7F074F1C -/* 0A99E4 7F074EB4 E7A40098 */ swc1 $f4, 0x98($sp) -/* 0A99E8 7F074EB8 C4480030 */ lwc1 $f8, 0x30($v0) -.L7F074EBC: -/* 0A99EC 7F074EBC C6060000 */ lwc1 $f6, ($s0) -/* 0A99F0 7F074EC0 46064281 */ sub.s $f10, $f8, $f6 -/* 0A99F4 7F074EC4 E7AA0090 */ swc1 $f10, 0x90($sp) -/* 0A99F8 7F074EC8 C6080004 */ lwc1 $f8, 4($s0) -/* 0A99FC 7F074ECC C4440034 */ lwc1 $f4, 0x34($v0) -/* 0A9A00 7F074ED0 46082181 */ sub.s $f6, $f4, $f8 -/* 0A9A04 7F074ED4 E7A60094 */ swc1 $f6, 0x94($sp) -/* 0A9A08 7F074ED8 C6040008 */ lwc1 $f4, 8($s0) -/* 0A9A0C 7F074EDC C44A0038 */ lwc1 $f10, 0x38($v0) -/* 0A9A10 7F074EE0 46045201 */ sub.s $f8, $f10, $f4 -/* 0A9A14 7F074EE4 1000000D */ b .L7F074F1C -/* 0A9A18 7F074EE8 E7A80098 */ swc1 $f8, 0x98($sp) -/* 0A9A1C 7F074EEC C4460030 */ lwc1 $f6, 0x30($v0) -.L7F074EF0: -/* 0A9A20 7F074EF0 C60A0000 */ lwc1 $f10, ($s0) -/* 0A9A24 7F074EF4 460A3101 */ sub.s $f4, $f6, $f10 -/* 0A9A28 7F074EF8 E7A40090 */ swc1 $f4, 0x90($sp) -/* 0A9A2C 7F074EFC C6060004 */ lwc1 $f6, 4($s0) -/* 0A9A30 7F074F00 C4480034 */ lwc1 $f8, 0x34($v0) -/* 0A9A34 7F074F04 46064281 */ sub.s $f10, $f8, $f6 -/* 0A9A38 7F074F08 E7AA0094 */ swc1 $f10, 0x94($sp) -/* 0A9A3C 7F074F0C C6080008 */ lwc1 $f8, 8($s0) -/* 0A9A40 7F074F10 C4440038 */ lwc1 $f4, 0x38($v0) -/* 0A9A44 7F074F14 46082181 */ sub.s $f6, $f4, $f8 -/* 0A9A48 7F074F18 E7A60098 */ swc1 $f6, 0x98($sp) -.L7F074F1C: -/* 0A9A4C 7F074F1C 8FA900B4 */ lw $t1, 0xb4($sp) -/* 0A9A50 7F074F20 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 0A9A54 7F074F24 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 0A9A58 7F074F28 95240000 */ lhu $a0, ($t1) -/* 0A9A5C 7F074F2C 308D0400 */ andi $t5, $a0, 0x400 -/* 0A9A60 7F074F30 11A00074 */ beqz $t5, .L7F075104 -/* 0A9A64 7F074F34 30820800 */ andi $v0, $a0, 0x800 -/* 0A9A68 7F074F38 C46A0008 */ lwc1 $f10, 8($v1) -/* 0A9A6C 7F074F3C C50C0018 */ lwc1 $f12, 0x18($t0) -/* 0A9A70 7F074F40 C510001C */ lwc1 $f16, 0x1c($t0) -/* 0A9A74 7F074F44 46045202 */ mul.s $f8, $f10, $f4 -/* 0A9A78 7F074F48 C46A0004 */ lwc1 $f10, 4($v1) -/* 0A9A7C 7F074F4C C4600000 */ lwc1 $f0, ($v1) -/* 0A9A80 7F074F50 E7A40024 */ swc1 $f4, 0x24($sp) -/* 0A9A84 7F074F54 460A3282 */ mul.s $f10, $f6, $f10 -/* 0A9A88 7F074F58 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0A9A8C 7F074F5C E7A80020 */ swc1 $f8, 0x20($sp) -/* 0A9A90 7F074F60 46002202 */ mul.s $f8, $f4, $f0 -/* 0A9A94 7F074F64 460A4200 */ add.s $f8, $f8, $f10 -/* 0A9A98 7F074F68 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 0A9A9C 7F074F6C 46085280 */ add.s $f10, $f10, $f8 -/* 0A9AA0 7F074F70 460C5082 */ mul.s $f2, $f10, $f12 -/* 0A9AA4 7F074F74 00000000 */ nop -/* 0A9AA8 7F074F78 46020202 */ mul.s $f8, $f0, $f2 -/* 0A9AAC 7F074F7C 46044280 */ add.s $f10, $f8, $f4 -/* 0A9AB0 7F074F80 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 0A9AB4 7F074F84 C4680004 */ lwc1 $f8, 4($v1) -/* 0A9AB8 7F074F88 46024102 */ mul.s $f4, $f8, $f2 -/* 0A9ABC 7F074F8C 46062200 */ add.s $f8, $f4, $f6 -/* 0A9AC0 7F074F90 E7A800A0 */ swc1 $f8, 0xa0($sp) -/* 0A9AC4 7F074F94 C4640008 */ lwc1 $f4, 8($v1) -/* 0A9AC8 7F074F98 46022182 */ mul.s $f6, $f4, $f2 -/* 0A9ACC 7F074F9C C7A40024 */ lwc1 $f4, 0x24($sp) -/* 0A9AD0 7F074FA0 46043180 */ add.s $f6, $f6, $f4 -/* 0A9AD4 7F074FA4 E7A600A4 */ swc1 $f6, 0xa4($sp) -/* 0A9AD8 7F074FA8 C4640008 */ lwc1 $f4, 8($v1) -/* 0A9ADC 7F074FAC C4600000 */ lwc1 $f0, ($v1) -/* 0A9AE0 7F074FB0 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0A9AE4 7F074FB4 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0A9AE8 7F074FB8 E7A80020 */ swc1 $f8, 0x20($sp) -/* 0A9AEC 7F074FBC E7A60028 */ swc1 $f6, 0x28($sp) -/* 0A9AF0 7F074FC0 460A2102 */ mul.s $f4, $f4, $f10 -/* 0A9AF4 7F074FC4 C4660004 */ lwc1 $f6, 4($v1) -/* 0A9AF8 7F074FC8 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 0A9AFC 7F074FCC E7AA002C */ swc1 $f10, 0x2c($sp) -/* 0A9B00 7F074FD0 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0A9B04 7F074FD4 46064182 */ mul.s $f6, $f8, $f6 -/* 0A9B08 7F074FD8 E7A40030 */ swc1 $f4, 0x30($sp) -/* 0A9B0C 7F074FDC 46005102 */ mul.s $f4, $f10, $f0 -/* 0A9B10 7F074FE0 46062100 */ add.s $f4, $f4, $f6 -/* 0A9B14 7F074FE4 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0A9B18 7F074FE8 46043180 */ add.s $f6, $f6, $f4 -/* 0A9B1C 7F074FEC 460C3382 */ mul.s $f14, $f6, $f12 -/* 0A9B20 7F074FF0 00000000 */ nop -/* 0A9B24 7F074FF4 460E0102 */ mul.s $f4, $f0, $f14 -/* 0A9B28 7F074FF8 460A2180 */ add.s $f6, $f4, $f10 -/* 0A9B2C 7F074FFC E7A60090 */ swc1 $f6, 0x90($sp) -/* 0A9B30 7F075000 C4640004 */ lwc1 $f4, 4($v1) -/* 0A9B34 7F075004 460E2282 */ mul.s $f10, $f4, $f14 -/* 0A9B38 7F075008 46085100 */ add.s $f4, $f10, $f8 -/* 0A9B3C 7F07500C E7A40094 */ swc1 $f4, 0x94($sp) -/* 0A9B40 7F075010 C46A0008 */ lwc1 $f10, 8($v1) -/* 0A9B44 7F075014 460E5202 */ mul.s $f8, $f10, $f14 -/* 0A9B48 7F075018 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 0A9B4C 7F07501C 460A4200 */ add.s $f8, $f8, $f10 -/* 0A9B50 7F075020 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 0A9B54 7F075024 E7A80098 */ swc1 $f8, 0x98($sp) -/* 0A9B58 7F075028 C4600010 */ lwc1 $f0, 0x10($v1) -/* 0A9B5C 7F07502C E7A60030 */ swc1 $f6, 0x30($sp) -/* 0A9B60 7F075030 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0A9B64 7F075034 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0A9B68 7F075038 46005182 */ mul.s $f6, $f10, $f0 -/* 0A9B6C 7F07503C C4680014 */ lwc1 $f8, 0x14($v1) -/* 0A9B70 7F075040 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0A9B74 7F075044 46082202 */ mul.s $f8, $f4, $f8 -/* 0A9B78 7F075048 46083180 */ add.s $f6, $f6, $f8 -/* 0A9B7C 7F07504C C7A80028 */ lwc1 $f8, 0x28($sp) -/* 0A9B80 7F075050 E7AA0028 */ swc1 $f10, 0x28($sp) -/* 0A9B84 7F075054 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 0A9B88 7F075058 46085282 */ mul.s $f10, $f10, $f8 -/* 0A9B8C 7F07505C 46065280 */ add.s $f10, $f10, $f6 -/* 0A9B90 7F075060 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 0A9B94 7F075064 46105082 */ mul.s $f2, $f10, $f16 -/* 0A9B98 7F075068 00000000 */ nop -/* 0A9B9C 7F07506C 46020282 */ mul.s $f10, $f0, $f2 -/* 0A9BA0 7F075070 46065280 */ add.s $f10, $f10, $f6 -/* 0A9BA4 7F075074 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 0A9BA8 7F075078 C4660014 */ lwc1 $f6, 0x14($v1) -/* 0A9BAC 7F07507C 46023282 */ mul.s $f10, $f6, $f2 -/* 0A9BB0 7F075080 46045180 */ add.s $f6, $f10, $f4 -/* 0A9BB4 7F075084 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0A9BB8 7F075088 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 0A9BBC 7F07508C 46025102 */ mul.s $f4, $f10, $f2 -/* 0A9BC0 7F075090 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0A9BC4 7F075094 46082180 */ add.s $f6, $f4, $f8 -/* 0A9BC8 7F075098 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 0A9BCC 7F07509C E7A600A4 */ swc1 $f6, 0xa4($sp) -/* 0A9BD0 7F0750A0 C4600010 */ lwc1 $f0, 0x10($v1) -/* 0A9BD4 7F0750A4 C4660014 */ lwc1 $f6, 0x14($v1) -/* 0A9BD8 7F0750A8 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 0A9BDC 7F0750AC 46005102 */ mul.s $f4, $f10, $f0 -/* 0A9BE0 7F0750B0 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 0A9BE4 7F0750B4 46064182 */ mul.s $f6, $f8, $f6 -/* 0A9BE8 7F0750B8 46062100 */ add.s $f4, $f4, $f6 -/* 0A9BEC 7F0750BC C7A60024 */ lwc1 $f6, 0x24($sp) -/* 0A9BF0 7F0750C0 46065282 */ mul.s $f10, $f10, $f6 -/* 0A9BF4 7F0750C4 46045280 */ add.s $f10, $f10, $f4 -/* 0A9BF8 7F0750C8 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0A9BFC 7F0750CC 46105302 */ mul.s $f12, $f10, $f16 -/* 0A9C00 7F0750D0 00000000 */ nop -/* 0A9C04 7F0750D4 460C0282 */ mul.s $f10, $f0, $f12 -/* 0A9C08 7F0750D8 46045280 */ add.s $f10, $f10, $f4 -/* 0A9C0C 7F0750DC E7AA0090 */ swc1 $f10, 0x90($sp) -/* 0A9C10 7F0750E0 C4640014 */ lwc1 $f4, 0x14($v1) -/* 0A9C14 7F0750E4 460C2282 */ mul.s $f10, $f4, $f12 -/* 0A9C18 7F0750E8 46085100 */ add.s $f4, $f10, $f8 -/* 0A9C1C 7F0750EC E7A40094 */ swc1 $f4, 0x94($sp) -/* 0A9C20 7F0750F0 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 0A9C24 7F0750F4 460C5202 */ mul.s $f8, $f10, $f12 -/* 0A9C28 7F0750F8 46064100 */ add.s $f4, $f8, $f6 -/* 0A9C2C 7F0750FC 1000004F */ b .L7F07523C -/* 0A9C30 7F075100 E7A40098 */ swc1 $f4, 0x98($sp) -.L7F075104: -/* 0A9C34 7F075104 14400005 */ bnez $v0, .L7F07511C -/* 0A9C38 7F075108 308C1000 */ andi $t4, $a0, 0x1000 -/* 0A9C3C 7F07510C 15800003 */ bnez $t4, .L7F07511C -/* 0A9C40 7F075110 308A2000 */ andi $t2, $a0, 0x2000 -/* 0A9C44 7F075114 5140004A */ beql $t2, $zero, .L7F075240 -/* 0A9C48 7F075118 C7B2009C */ lwc1 $f18, 0x9c($sp) -.L7F07511C: -/* 0A9C4C 7F07511C C50A0018 */ lwc1 $f10, 0x18($t0) -/* 0A9C50 7F075120 308B1000 */ andi $t3, $a0, 0x1000 -/* 0A9C54 7F075124 10400008 */ beqz $v0, .L7F075148 -/* 0A9C58 7F075128 E7AA0060 */ swc1 $f10, 0x60($sp) -/* 0A9C5C 7F07512C C4680000 */ lwc1 $f8, ($v1) -/* 0A9C60 7F075130 E7A80054 */ swc1 $f8, 0x54($sp) -/* 0A9C64 7F075134 C4660004 */ lwc1 $f6, 4($v1) -/* 0A9C68 7F075138 E7A60058 */ swc1 $f6, 0x58($sp) -/* 0A9C6C 7F07513C C4640008 */ lwc1 $f4, 8($v1) -/* 0A9C70 7F075140 10000012 */ b .L7F07518C -/* 0A9C74 7F075144 E7A4005C */ swc1 $f4, 0x5c($sp) -.L7F075148: -/* 0A9C78 7F075148 11600008 */ beqz $t3, .L7F07516C -/* 0A9C7C 7F07514C 30992000 */ andi $t9, $a0, 0x2000 -/* 0A9C80 7F075150 C46A0010 */ lwc1 $f10, 0x10($v1) -/* 0A9C84 7F075154 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 0A9C88 7F075158 C4680014 */ lwc1 $f8, 0x14($v1) -/* 0A9C8C 7F07515C E7A80058 */ swc1 $f8, 0x58($sp) -/* 0A9C90 7F075160 C4660018 */ lwc1 $f6, 0x18($v1) -/* 0A9C94 7F075164 10000009 */ b .L7F07518C -/* 0A9C98 7F075168 E7A6005C */ swc1 $f6, 0x5c($sp) -.L7F07516C: -/* 0A9C9C 7F07516C 53200008 */ beql $t9, $zero, .L7F075190 -/* 0A9CA0 7F075170 C7AC0054 */ lwc1 $f12, 0x54($sp) -/* 0A9CA4 7F075174 C4640020 */ lwc1 $f4, 0x20($v1) -/* 0A9CA8 7F075178 E7A40054 */ swc1 $f4, 0x54($sp) -/* 0A9CAC 7F07517C C46A0024 */ lwc1 $f10, 0x24($v1) -/* 0A9CB0 7F075180 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0A9CB4 7F075184 C4680028 */ lwc1 $f8, 0x28($v1) -/* 0A9CB8 7F075188 E7A8005C */ swc1 $f8, 0x5c($sp) -.L7F07518C: -/* 0A9CBC 7F07518C C7AC0054 */ lwc1 $f12, 0x54($sp) -.L7F075190: -/* 0A9CC0 7F075190 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 0A9CC4 7F075194 C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 0A9CC8 7F075198 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0A9CCC 7F07519C 460C9182 */ mul.s $f6, $f18, $f12 -/* 0A9CD0 7F0751A0 C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 0A9CD4 7F0751A4 460E2282 */ mul.s $f10, $f4, $f14 -/* 0A9CD8 7F0751A8 460A3200 */ add.s $f8, $f6, $f10 -/* 0A9CDC 7F0751AC C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0A9CE0 7F0751B0 46068282 */ mul.s $f10, $f16, $f6 -/* 0A9CE4 7F0751B4 46085280 */ add.s $f10, $f10, $f8 -/* 0A9CE8 7F0751B8 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0A9CEC 7F0751BC 46085002 */ mul.s $f0, $f10, $f8 -/* 0A9CF0 7F0751C0 E7A80030 */ swc1 $f8, 0x30($sp) -/* 0A9CF4 7F0751C4 46006282 */ mul.s $f10, $f12, $f0 -/* 0A9CF8 7F0751C8 46125480 */ add.s $f18, $f10, $f18 -/* 0A9CFC 7F0751CC 46007282 */ mul.s $f10, $f14, $f0 -/* 0A9D00 7F0751D0 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 0A9D04 7F0751D4 46045280 */ add.s $f10, $f10, $f4 -/* 0A9D08 7F0751D8 46008102 */ mul.s $f4, $f16, $f0 -/* 0A9D0C 7F0751DC E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 0A9D10 7F0751E0 46062280 */ add.s $f10, $f4, $f6 -/* 0A9D14 7F0751E4 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 0A9D18 7F0751E8 E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 0A9D1C 7F0751EC 460C2182 */ mul.s $f6, $f4, $f12 -/* 0A9D20 7F0751F0 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0A9D24 7F0751F4 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0A9D28 7F0751F8 460E5202 */ mul.s $f8, $f10, $f14 -/* 0A9D2C 7F0751FC 46083180 */ add.s $f6, $f6, $f8 -/* 0A9D30 7F075200 C7A80098 */ lwc1 $f8, 0x98($sp) -/* 0A9D34 7F075204 46088102 */ mul.s $f4, $f16, $f8 -/* 0A9D38 7F075208 46062100 */ add.s $f4, $f4, $f6 -/* 0A9D3C 7F07520C C7A60030 */ lwc1 $f6, 0x30($sp) -/* 0A9D40 7F075210 46062082 */ mul.s $f2, $f4, $f6 -/* 0A9D44 7F075214 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 0A9D48 7F075218 46026102 */ mul.s $f4, $f12, $f2 -/* 0A9D4C 7F07521C 46062100 */ add.s $f4, $f4, $f6 -/* 0A9D50 7F075220 46027182 */ mul.s $f6, $f14, $f2 -/* 0A9D54 7F075224 E7A40090 */ swc1 $f4, 0x90($sp) -/* 0A9D58 7F075228 460A3100 */ add.s $f4, $f6, $f10 -/* 0A9D5C 7F07522C 46028182 */ mul.s $f6, $f16, $f2 -/* 0A9D60 7F075230 E7A40094 */ swc1 $f4, 0x94($sp) -/* 0A9D64 7F075234 46083280 */ add.s $f10, $f6, $f8 -/* 0A9D68 7F075238 E7AA0098 */ swc1 $f10, 0x98($sp) -.L7F07523C: -/* 0A9D6C 7F07523C C7B2009C */ lwc1 $f18, 0x9c($sp) -.L7F075240: -/* 0A9D70 7F075240 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 0A9D74 7F075244 C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 0A9D78 7F075248 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 0A9D7C 7F07524C 46049182 */ mul.s $f6, $f18, $f4 -/* 0A9D80 7F075250 C7B000A4 */ lwc1 $f16, 0xa4($sp) -/* 0A9D84 7F075254 E7A40030 */ swc1 $f4, 0x30($sp) -/* 0A9D88 7F075258 46087282 */ mul.s $f10, $f14, $f8 -/* 0A9D8C 7F07525C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A9D90 7F075260 00001025 */ move $v0, $zero -/* 0A9D94 7F075264 460A3180 */ add.s $f6, $f6, $f10 -/* 0A9D98 7F075268 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0A9D9C 7F07526C 46105102 */ mul.s $f4, $f10, $f16 -/* 0A9DA0 7F075270 46062080 */ add.s $f2, $f4, $f6 -/* 0A9DA4 7F075274 44802000 */ mtc1 $zero, $f4 -/* 0A9DA8 7F075278 00000000 */ nop -/* 0A9DAC 7F07527C 4602203C */ c.lt.s $f4, $f2 -/* 0A9DB0 7F075280 00000000 */ nop -/* 0A9DB4 7F075284 4500001A */ bc1f .L7F0752F0 -/* 0A9DB8 7F075288 00000000 */ nop -/* 0A9DBC 7F07528C 46129182 */ mul.s $f6, $f18, $f18 -/* 0A9DC0 7F075290 00000000 */ nop -/* 0A9DC4 7F075294 460E7102 */ mul.s $f4, $f14, $f14 -/* 0A9DC8 7F075298 46043180 */ add.s $f6, $f6, $f4 -/* 0A9DCC 7F07529C 46108102 */ mul.s $f4, $f16, $f16 -/* 0A9DD0 7F0752A0 46062000 */ add.s $f0, $f4, $f6 -/* 0A9DD4 7F0752A4 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0A9DD8 7F0752A8 46042182 */ mul.s $f6, $f4, $f4 -/* 0A9DDC 7F0752AC 00000000 */ nop -/* 0A9DE0 7F0752B0 46084102 */ mul.s $f4, $f8, $f8 -/* 0A9DE4 7F0752B4 46043200 */ add.s $f8, $f6, $f4 -/* 0A9DE8 7F0752B8 460A5182 */ mul.s $f6, $f10, $f10 -/* 0A9DEC 7F0752BC C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0A9DF0 7F0752C0 46021102 */ mul.s $f4, $f2, $f2 -/* 0A9DF4 7F0752C4 46083300 */ add.s $f12, $f6, $f8 -/* 0A9DF8 7F0752C8 460A6181 */ sub.s $f6, $f12, $f10 -/* 0A9DFC 7F0752CC 46003202 */ mul.s $f8, $f6, $f0 -/* 0A9E00 7F0752D0 4604403E */ c.le.s $f8, $f4 -/* 0A9E04 7F0752D4 00000000 */ nop -/* 0A9E08 7F0752D8 45000003 */ bc1f .L7F0752E8 -/* 0A9E0C 7F0752DC 00000000 */ nop -/* 0A9E10 7F0752E0 10000003 */ b .L7F0752F0 -/* 0A9E14 7F0752E4 24020001 */ li $v0, 1 -.L7F0752E8: -/* 0A9E18 7F0752E8 10000001 */ b .L7F0752F0 -/* 0A9E1C 7F0752EC 00001025 */ move $v0, $zero -.L7F0752F0: -/* 0A9E20 7F0752F0 8FB00018 */ lw $s0, 0x18($sp) -/* 0A9E24 7F0752F4 03E00008 */ jr $ra -/* 0A9E28 7F0752F8 27BD00B0 */ addiu $sp, $sp, 0xb0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0752FC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054DB4*/ -glabel jpt_80054DB4 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F07543C -.word .L7F075470 -.word .L7F0753CC -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075404 -.word .L7F075450 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075470 -.word .L7F075464 -.word .L7F075470 - -.text -glabel sub_GAME_7F0752FC -/* 0A9E2C 7F0752FC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A9E30 7F075300 AFBF002C */ sw $ra, 0x2c($sp) -/* 0A9E34 7F075304 AFB40028 */ sw $s4, 0x28($sp) -/* 0A9E38 7F075308 AFB30024 */ sw $s3, 0x24($sp) -/* 0A9E3C 7F07530C AFB20020 */ sw $s2, 0x20($sp) -/* 0A9E40 7F075310 AFB1001C */ sw $s1, 0x1c($sp) -/* 0A9E44 7F075314 AFB00018 */ sw $s0, 0x18($sp) -/* 0A9E48 7F075318 AFA7003C */ sw $a3, 0x3c($sp) -/* 0A9E4C 7F07531C 8CE20000 */ lw $v0, ($a3) -/* 0A9E50 7F075320 00809025 */ move $s2, $a0 -/* 0A9E54 7F075324 00A09825 */ move $s3, $a1 -/* 0A9E58 7F075328 00C0A025 */ move $s4, $a2 -/* 0A9E5C 7F07532C 10400004 */ beqz $v0, .L7F075340 -/* 0A9E60 7F075330 24110001 */ li $s1, 1 -/* 0A9E64 7F075334 00408025 */ move $s0, $v0 -/* 0A9E68 7F075338 10000003 */ b .L7F075348 -/* 0A9E6C 7F07533C ACE00000 */ sw $zero, ($a3) -.L7F075340: -/* 0A9E70 7F075340 8E4F0008 */ lw $t7, 8($s2) -/* 0A9E74 7F075344 8DF00000 */ lw $s0, ($t7) -.L7F075348: -/* 0A9E78 7F075348 5200004C */ beql $s0, $zero, .L7F07547C -/* 0A9E7C 7F07534C 00001025 */ move $v0, $zero -.L7F075350: -/* 0A9E80 7F075350 12200006 */ beqz $s1, .L7F07536C -/* 0A9E84 7F075354 00000000 */ nop -/* 0A9E88 7F075358 8E020014 */ lw $v0, 0x14($s0) -/* 0A9E8C 7F07535C 10400003 */ beqz $v0, .L7F07536C -/* 0A9E90 7F075360 00000000 */ nop -/* 0A9E94 7F075364 1000000D */ b .L7F07539C -/* 0A9E98 7F075368 00408025 */ move $s0, $v0 -.L7F07536C: -/* 0A9E9C 7F07536C 12000009 */ beqz $s0, .L7F075394 -/* 0A9EA0 7F075370 00000000 */ nop -/* 0A9EA4 7F075374 8E02000C */ lw $v0, 0xc($s0) -.L7F075378: -/* 0A9EA8 7F075378 50400004 */ beql $v0, $zero, .L7F07538C -/* 0A9EAC 7F07537C 8E100008 */ lw $s0, 8($s0) -/* 0A9EB0 7F075380 10000004 */ b .L7F075394 -/* 0A9EB4 7F075384 00408025 */ move $s0, $v0 -/* 0A9EB8 7F075388 8E100008 */ lw $s0, 8($s0) -.L7F07538C: -/* 0A9EBC 7F07538C 5600FFFA */ bnezl $s0, .L7F075378 -/* 0A9EC0 7F075390 8E02000C */ lw $v0, 0xc($s0) -.L7F075394: -/* 0A9EC4 7F075394 52000039 */ beql $s0, $zero, .L7F07547C -/* 0A9EC8 7F075398 00001025 */ move $v0, $zero -.L7F07539C: -/* 0A9ECC 7F07539C 96020000 */ lhu $v0, ($s0) -/* 0A9ED0 7F0753A0 24110001 */ li $s1, 1 -/* 0A9ED4 7F0753A4 305800FF */ andi $t8, $v0, 0xff -/* 0A9ED8 7F0753A8 2719FFFF */ addiu $t9, $t8, -1 -/* 0A9EDC 7F0753AC 2F210018 */ sltiu $at, $t9, 0x18 -/* 0A9EE0 7F0753B0 1020002F */ beqz $at, .L7F075470 -/* 0A9EE4 7F0753B4 0019C880 */ sll $t9, $t9, 2 -/* 0A9EE8 7F0753B8 3C018005 */ lui $at, %hi(jpt_80054DB4) -/* 0A9EEC 7F0753BC 00390821 */ addu $at, $at, $t9 -/* 0A9EF0 7F0753C0 8C394DB4 */ lw $t9, %lo(jpt_80054DB4)($at) -.L7F0753C4: -/* 0A9EF4 7F0753C4 03200008 */ jr $t9 -/* 0A9EF8 7F0753C8 00000000 */ nop -.L7F0753CC: -/* 0A9EFC 7F0753CC 02402025 */ move $a0, $s2 -/* 0A9F00 7F0753D0 02002825 */ move $a1, $s0 -/* 0A9F04 7F0753D4 02603025 */ move $a2, $s3 -/* 0A9F08 7F0753D8 0FC1D31A */ jal sub_GAME_7F074C68 -/* 0A9F0C 7F0753DC 02803825 */ move $a3, $s4 -/* 0A9F10 7F0753E0 10400006 */ beqz $v0, .L7F0753FC -/* 0A9F14 7F0753E4 00000000 */ nop -/* 0A9F18 7F0753E8 8FA8003C */ lw $t0, 0x3c($sp) -/* 0A9F1C 7F0753EC AD100000 */ sw $s0, ($t0) -/* 0A9F20 7F0753F0 8E090004 */ lw $t1, 4($s0) -/* 0A9F24 7F0753F4 10000021 */ b .L7F07547C -/* 0A9F28 7F0753F8 8D220000 */ lw $v0, ($t1) -.L7F0753FC: -/* 0A9F2C 7F0753FC 1000001C */ b .L7F075470 -/* 0A9F30 7F075400 00008825 */ move $s1, $zero -.L7F075404: -/* 0A9F34 7F075404 02402025 */ move $a0, $s2 -/* 0A9F38 7F075408 02002825 */ move $a1, $s0 -/* 0A9F3C 7F07540C 02603025 */ move $a2, $s3 -/* 0A9F40 7F075410 0FC1D32B */ jal sub_GAME_7F074CAC -/* 0A9F44 7F075414 02803825 */ move $a3, $s4 -/* 0A9F48 7F075418 10400006 */ beqz $v0, .L7F075434 -/* 0A9F4C 7F07541C 00000000 */ nop -/* 0A9F50 7F075420 8FAA003C */ lw $t2, 0x3c($sp) -/* 0A9F54 7F075424 AD500000 */ sw $s0, ($t2) -/* 0A9F58 7F075428 8E0B0004 */ lw $t3, 4($s0) -/* 0A9F5C 7F07542C 10000013 */ b .L7F07547C -/* 0A9F60 7F075430 8D620000 */ lw $v0, ($t3) -.L7F075434: -/* 0A9F64 7F075434 1000000E */ b .L7F075470 -/* 0A9F68 7F075438 00008825 */ move $s1, $zero -.L7F07543C: -/* 0A9F6C 7F07543C 02402025 */ move $a0, $s2 -/* 0A9F70 7F075440 0FC1BA5C */ jal sub_GAME_7F06E970 -/* 0A9F74 7F075444 02002825 */ move $a1, $s0 -/* 0A9F78 7F075448 10000009 */ b .L7F075470 -/* 0A9F7C 7F07544C 00000000 */ nop -.L7F075450: -/* 0A9F80 7F075450 02402025 */ move $a0, $s2 -/* 0A9F84 7F075454 0FC1BA6F */ jal process_12_handle_switch -/* 0A9F88 7F075458 02002825 */ move $a1, $s0 -/* 0A9F8C 7F07545C 10000004 */ b .L7F075470 -/* 0A9F90 7F075460 00000000 */ nop -.L7F075464: -/* 0A9F94 7F075464 02402025 */ move $a0, $s2 -/* 0A9F98 7F075468 0FC1BA82 */ jal process_17_pointer_to_head -/* 0A9F9C 7F07546C 02002825 */ move $a1, $s0 -def_7F0753C4: -.L7F075470: -/* 0A9FA0 7F075470 1600FFB7 */ bnez $s0, .L7F075350 -/* 0A9FA4 7F075474 00000000 */ nop -/* 0A9FA8 7F075478 00001025 */ move $v0, $zero -.L7F07547C: -/* 0A9FAC 7F07547C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0A9FB0 7F075480 8FB00018 */ lw $s0, 0x18($sp) -/* 0A9FB4 7F075484 8FB1001C */ lw $s1, 0x1c($sp) -/* 0A9FB8 7F075488 8FB20020 */ lw $s2, 0x20($sp) -/* 0A9FBC 7F07548C 8FB30024 */ lw $s3, 0x24($sp) -/* 0A9FC0 7F075490 8FB40028 */ lw $s4, 0x28($sp) -/* 0A9FC4 7F075494 03E00008 */ jr $ra -/* 0A9FC8 7F075498 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07549C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07549C -/* 0A9FCC 7F07549C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A9FD0 7F0754A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A9FD4 7F0754A4 0FC1D4BF */ jal sub_GAME_7F0752FC -/* 0A9FD8 7F0754A8 ACE00000 */ sw $zero, ($a3) -/* 0A9FDC 7F0754AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A9FE0 7F0754B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A9FE4 7F0754B4 03E00008 */ jr $ra -/* 0A9FE8 7F0754B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0754BC(void *arg0, s32 arg1, ? arg2) { - s32 temp_t6; - s32 temp_t2; - s32 temp_a1; - s32 phi_a1; - s32 phi_v1; - s32 phi_a3; - s32 phi_a3_2; - - // Node 0 - temp_t6 = ((s32) arg0->unkE >> 3); - if ((*arg0 << 0) < 0) - { - // Node 1 - phi_a3_2 = (*arg0 + (arg1 * temp_t6)); - } - else - { - // Node 2 - phi_a3_2 = 0; - if (D_80036414 != 0) - { - // Node 3 - temp_t2 = (((u32) (D_80036414->unk8 + 0xf) >> 4) * 0x10); - temp_a1 = (*arg0 + (arg1 * temp_t6)); - phi_a1 = temp_a1; - phi_v1 = temp_t6; - phi_a3 = temp_t2; - if ((temp_a1 & 1) != 0) - { - // Node 4 - phi_a1 = (temp_a1 + -1); - phi_v1 = (temp_t6 + 1); - phi_a3 = (temp_t2 + 1); - } - // Node 5 - romCopy(temp_t2, phi_a1, (((u32) (phi_v1 + 0xf) >> 4) * 0x10), phi_a3); - *D_80036414 = (s32) (*D_80036414 + 1); - D_80036414->unk8 = (s32) (sp20 + sp18); - phi_a3_2 = sp2C; - } - // Node 6 - } - // Node 7 - return phi_a3_2; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0754BC -/* 0A9FEC 7F0754BC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A9FF0 7F0754C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A9FF4 7F0754C4 AFA50034 */ sw $a1, 0x34($sp) -/* 0A9FF8 7F0754C8 AFA60038 */ sw $a2, 0x38($sp) -/* 0A9FFC 7F0754CC 9483000E */ lhu $v1, 0xe($a0) -/* 0AA000 7F0754D0 8C860000 */ lw $a2, ($a0) -/* 0AA004 7F0754D4 00003825 */ move $a3, $zero -/* 0AA008 7F0754D8 000370C3 */ sra $t6, $v1, 3 -/* 0AA00C 7F0754DC 00067800 */ sll $t7, $a2, 0 -/* 0AA010 7F0754E0 05E10006 */ bgez $t7, .L7F0754FC -/* 0AA014 7F0754E4 01C01825 */ move $v1, $t6 -/* 0AA018 7F0754E8 00AE0019 */ multu $a1, $t6 -/* 0AA01C 7F0754EC 0000C812 */ mflo $t9 -/* 0AA020 7F0754F0 00D93821 */ addu $a3, $a2, $t9 -/* 0AA024 7F0754F4 1000002A */ b .L7F0755A0 -/* 0AA028 7F0754F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0754FC: -/* 0AA02C 7F0754FC 3C088003 */ lui $t0, %hi(D_80036414) -/* 0AA030 7F075500 25086414 */ addiu $t0, %lo(D_80036414) # addiu $t0, $t0, 0x6414 -/* 0AA034 7F075504 8D020000 */ lw $v0, ($t0) -/* 0AA038 7F075508 8FAB0034 */ lw $t3, 0x34($sp) -/* 0AA03C 7F07550C 50400024 */ beql $v0, $zero, .L7F0755A0 -/* 0AA040 7F075510 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AA044 7F075514 01630019 */ multu $t3, $v1 -/* 0AA048 7F075518 8C440008 */ lw $a0, 8($v0) -/* 0AA04C 7F07551C 2484000F */ addiu $a0, $a0, 0xf -/* 0AA050 7F075520 00044902 */ srl $t1, $a0, 4 -/* 0AA054 7F075524 00095100 */ sll $t2, $t1, 4 -/* 0AA058 7F075528 01402025 */ move $a0, $t2 -/* 0AA05C 7F07552C 01403825 */ move $a3, $t2 -/* 0AA060 7F075530 00006012 */ mflo $t4 -/* 0AA064 7F075534 00CC2821 */ addu $a1, $a2, $t4 -/* 0AA068 7F075538 30AD0001 */ andi $t5, $a1, 1 -/* 0AA06C 7F07553C 51A00005 */ beql $t5, $zero, .L7F075554 -/* 0AA070 7F075540 2466000F */ addiu $a2, $v1, 0xf -/* 0AA074 7F075544 24A5FFFF */ addiu $a1, $a1, -1 -/* 0AA078 7F075548 24630001 */ addiu $v1, $v1, 1 -/* 0AA07C 7F07554C 25470001 */ addiu $a3, $t2, 1 -/* 0AA080 7F075550 2466000F */ addiu $a2, $v1, 0xf -.L7F075554: -/* 0AA084 7F075554 00067102 */ srl $t6, $a2, 4 -/* 0AA088 7F075558 000E3100 */ sll $a2, $t6, 4 -/* 0AA08C 7F07555C AFA60018 */ sw $a2, 0x18($sp) -/* 0AA090 7F075560 AFA40020 */ sw $a0, 0x20($sp) -/* 0AA094 7F075564 0C001707 */ jal romCopy -/* 0AA098 7F075568 AFA7002C */ sw $a3, 0x2c($sp) -/* 0AA09C 7F07556C 3C088003 */ lui $t0, %hi(D_80036414) -/* 0AA0A0 7F075570 25086414 */ addiu $t0, %lo(D_80036414) # addiu $t0, $t0, 0x6414 -/* 0AA0A4 7F075574 8D020000 */ lw $v0, ($t0) -/* 0AA0A8 7F075578 8FA40020 */ lw $a0, 0x20($sp) -/* 0AA0AC 7F07557C 8FA60018 */ lw $a2, 0x18($sp) -/* 0AA0B0 7F075580 8C580000 */ lw $t8, ($v0) -/* 0AA0B4 7F075584 8FA7002C */ lw $a3, 0x2c($sp) -/* 0AA0B8 7F075588 00864821 */ addu $t1, $a0, $a2 -/* 0AA0BC 7F07558C 27190001 */ addiu $t9, $t8, 1 -/* 0AA0C0 7F075590 AC590000 */ sw $t9, ($v0) -/* 0AA0C4 7F075594 8D0A0000 */ lw $t2, ($t0) -/* 0AA0C8 7F075598 AD490008 */ sw $t1, 8($t2) -/* 0AA0CC 7F07559C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0755A0: -/* 0AA0D0 7F0755A0 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0AA0D4 7F0755A4 00E01025 */ move $v0, $a3 -/* 0AA0D8 7F0755A8 03E00008 */ jr $ra -/* 0AA0DC 7F0755AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0755B0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0755B0 -/* 0AA0E0 7F0755B0 3C038003 */ lui $v1, %hi(D_80036414) -/* 0AA0E4 7F0755B4 24636414 */ addiu $v1, %lo(D_80036414) # addiu $v1, $v1, 0x6414 -/* 0AA0E8 7F0755B8 8C620000 */ lw $v0, ($v1) -/* 0AA0EC 7F0755BC 10400005 */ beqz $v0, .L7F0755D4 -/* 0AA0F0 7F0755C0 00000000 */ nop -/* 0AA0F4 7F0755C4 8C4E0004 */ lw $t6, 4($v0) -/* 0AA0F8 7F0755C8 AC4E0008 */ sw $t6, 8($v0) -/* 0AA0FC 7F0755CC 8C6F0000 */ lw $t7, ($v1) -/* 0AA100 7F0755D0 ADE00000 */ sw $zero, ($t7) -.L7F0755D4: -/* 0AA104 7F0755D4 03E00008 */ jr $ra -/* 0AA108 7F0755D8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void convert_obj_microcode_offset_to_rdram_addr(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054E14*/ -glabel jpt_80054E14 -.word .L7F075678 -.word .L7F075698 -.word .L7F0756B8 -.word .L7F0756D8 -.word .L7F0757AC -.word .L7F0758F4 -.word .L7F07583C -.word .L7F075904 -.word .L7F07594C -.word .L7F075A44 -.word .L7F0759A0 -.word .L7F0759C4 -.word .L7F0759E8 -.word .L7F075A44 -.word .L7F075A44 -.word .L7F075A44 -.word .L7F075980 -.word .L7F07592C -.word .L7F075A44 -.word .L7F07578C -.word .L7F075A44 -.word .L7F075A20 -.word .L7F075A44 -.word .L7F0756FC - -.text -glabel convert_obj_microcode_offset_to_rdram_addr -/* 0AA10C 7F0755DC 1080012A */ beqz $a0, .L7F075A88 -/* 0AA110 7F0755E0 00000000 */ nop -/* 0AA114 7F0755E4 94820000 */ lhu $v0, ($a0) -.L7F0755E8: -/* 0AA118 7F0755E8 8C830004 */ lw $v1, 4($a0) -/* 0AA11C 7F0755EC 00C57823 */ subu $t7, $a2, $a1 -/* 0AA120 7F0755F0 304E00FF */ andi $t6, $v0, 0xff -/* 0AA124 7F0755F4 10600003 */ beqz $v1, .L7F075604 -/* 0AA128 7F0755F8 01C01025 */ move $v0, $t6 -/* 0AA12C 7F0755FC 006FC021 */ addu $t8, $v1, $t7 -/* 0AA130 7F075600 AC980004 */ sw $t8, 4($a0) -.L7F075604: -/* 0AA134 7F075604 8C830008 */ lw $v1, 8($a0) -/* 0AA138 7F075608 00C5C823 */ subu $t9, $a2, $a1 -/* 0AA13C 7F07560C 00C56023 */ subu $t4, $a2, $a1 -/* 0AA140 7F075610 10600002 */ beqz $v1, .L7F07561C -/* 0AA144 7F075614 00795821 */ addu $t3, $v1, $t9 -/* 0AA148 7F075618 AC8B0008 */ sw $t3, 8($a0) -.L7F07561C: -/* 0AA14C 7F07561C 8C83000C */ lw $v1, 0xc($a0) -/* 0AA150 7F075620 244BFFFF */ addiu $t3, $v0, -1 -/* 0AA154 7F075624 2D610018 */ sltiu $at, $t3, 0x18 -/* 0AA158 7F075628 10600002 */ beqz $v1, .L7F075634 -/* 0AA15C 7F07562C 006C6821 */ addu $t5, $v1, $t4 -/* 0AA160 7F075630 AC8D000C */ sw $t5, 0xc($a0) -.L7F075634: -/* 0AA164 7F075634 8C830010 */ lw $v1, 0x10($a0) -/* 0AA168 7F075638 00C57023 */ subu $t6, $a2, $a1 -/* 0AA16C 7F07563C 00C5C023 */ subu $t8, $a2, $a1 -/* 0AA170 7F075640 10600002 */ beqz $v1, .L7F07564C -/* 0AA174 7F075644 006E7821 */ addu $t7, $v1, $t6 -/* 0AA178 7F075648 AC8F0010 */ sw $t7, 0x10($a0) -.L7F07564C: -/* 0AA17C 7F07564C 8C830014 */ lw $v1, 0x14($a0) -/* 0AA180 7F075650 000B5880 */ sll $t3, $t3, 2 -/* 0AA184 7F075654 10600002 */ beqz $v1, .L7F075660 -/* 0AA188 7F075658 0078C821 */ addu $t9, $v1, $t8 -/* 0AA18C 7F07565C AC990014 */ sw $t9, 0x14($a0) -.L7F075660: -/* 0AA190 7F075660 102000F8 */ beqz $at, .L7F075A44 -/* 0AA194 7F075664 3C018005 */ lui $at, %hi(jpt_80054E14) -/* 0AA198 7F075668 002B0821 */ addu $at, $at, $t3 -/* 0AA19C 7F07566C 8C2B4E14 */ lw $t3, %lo(jpt_80054E14)($at) -.L7F075670: -/* 0AA1A0 7F075670 01600008 */ jr $t3 -/* 0AA1A4 7F075674 00000000 */ nop -.L7F075678: -/* 0AA1A8 7F075678 8C820004 */ lw $v0, 4($a0) -/* 0AA1AC 7F07567C 00C56023 */ subu $t4, $a2, $a1 -/* 0AA1B0 7F075680 8C430004 */ lw $v1, 4($v0) -/* 0AA1B4 7F075684 10600002 */ beqz $v1, .L7F075690 -/* 0AA1B8 7F075688 006C6821 */ addu $t5, $v1, $t4 -/* 0AA1BC 7F07568C AC4D0004 */ sw $t5, 4($v0) -.L7F075690: -/* 0AA1C0 7F075690 100000ED */ b .L7F075A48 -/* 0AA1C4 7F075694 8C830014 */ lw $v1, 0x14($a0) -.L7F075698: -/* 0AA1C8 7F075698 8C820004 */ lw $v0, 4($a0) -/* 0AA1CC 7F07569C 00C57023 */ subu $t6, $a2, $a1 -/* 0AA1D0 7F0756A0 8C430014 */ lw $v1, 0x14($v0) -/* 0AA1D4 7F0756A4 10600002 */ beqz $v1, .L7F0756B0 -/* 0AA1D8 7F0756A8 006E7821 */ addu $t7, $v1, $t6 -/* 0AA1DC 7F0756AC AC4F0014 */ sw $t7, 0x14($v0) -.L7F0756B0: -/* 0AA1E0 7F0756B0 100000E5 */ b .L7F075A48 -/* 0AA1E4 7F0756B4 8C830014 */ lw $v1, 0x14($a0) -.L7F0756B8: -/* 0AA1E8 7F0756B8 8C820004 */ lw $v0, 4($a0) -/* 0AA1EC 7F0756BC 00C5C023 */ subu $t8, $a2, $a1 -/* 0AA1F0 7F0756C0 8C430014 */ lw $v1, 0x14($v0) -/* 0AA1F4 7F0756C4 10600002 */ beqz $v1, .L7F0756D0 -/* 0AA1F8 7F0756C8 0078C821 */ addu $t9, $v1, $t8 -/* 0AA1FC 7F0756CC AC590014 */ sw $t9, 0x14($v0) -.L7F0756D0: -/* 0AA200 7F0756D0 100000DD */ b .L7F075A48 -/* 0AA204 7F0756D4 8C830014 */ lw $v1, 0x14($a0) -.L7F0756D8: -/* 0AA208 7F0756D8 8C820004 */ lw $v0, 4($a0) -/* 0AA20C 7F0756DC 00C55823 */ subu $t3, $a2, $a1 -/* 0AA210 7F0756E0 8C43000C */ lw $v1, 0xc($v0) -/* 0AA214 7F0756E4 10600002 */ beqz $v1, .L7F0756F0 -/* 0AA218 7F0756E8 006B6021 */ addu $t4, $v1, $t3 -/* 0AA21C 7F0756EC AC4C000C */ sw $t4, 0xc($v0) -.L7F0756F0: -/* 0AA220 7F0756F0 AC460008 */ sw $a2, 8($v0) -/* 0AA224 7F0756F4 100000D4 */ b .L7F075A48 -/* 0AA228 7F0756F8 8C830014 */ lw $v1, 0x14($a0) -.L7F0756FC: -/* 0AA22C 7F0756FC 8C870004 */ lw $a3, 4($a0) -/* 0AA230 7F075700 00C56823 */ subu $t5, $a2, $a1 -/* 0AA234 7F075704 00001025 */ move $v0, $zero -/* 0AA238 7F075708 8CE30008 */ lw $v1, 8($a3) -/* 0AA23C 7F07570C 00C57823 */ subu $t7, $a2, $a1 -/* 0AA240 7F075710 00C5C823 */ subu $t9, $a2, $a1 -/* 0AA244 7F075714 10600002 */ beqz $v1, .L7F075720 -/* 0AA248 7F075718 006D7021 */ addu $t6, $v1, $t5 -/* 0AA24C 7F07571C ACEE0008 */ sw $t6, 8($a3) -.L7F075720: -/* 0AA250 7F075720 8CE30010 */ lw $v1, 0x10($a3) -/* 0AA254 7F075724 00004025 */ move $t0, $zero -/* 0AA258 7F075728 10600002 */ beqz $v1, .L7F075734 -/* 0AA25C 7F07572C 006FC021 */ addu $t8, $v1, $t7 -/* 0AA260 7F075730 ACF80010 */ sw $t8, 0x10($a3) -.L7F075734: -/* 0AA264 7F075734 8CE30014 */ lw $v1, 0x14($a3) -/* 0AA268 7F075738 10600002 */ beqz $v1, .L7F075744 -/* 0AA26C 7F07573C 00795821 */ addu $t3, $v1, $t9 -/* 0AA270 7F075740 ACEB0014 */ sw $t3, 0x14($a3) -.L7F075744: -/* 0AA274 7F075744 84E3000E */ lh $v1, 0xe($a3) -/* 0AA278 7F075748 5860000E */ blezl $v1, .L7F075784 -/* 0AA27C 7F07574C ACE6001C */ sw $a2, 0x1c($a3) -.L7F075750: -/* 0AA280 7F075750 8CEC0010 */ lw $t4, 0x10($a3) -/* 0AA284 7F075754 00C56823 */ subu $t5, $a2, $a1 -/* 0AA288 7F075758 24420001 */ addiu $v0, $v0, 1 -/* 0AA28C 7F07575C 01884821 */ addu $t1, $t4, $t0 -/* 0AA290 7F075760 8D2A0008 */ lw $t2, 8($t1) -/* 0AA294 7F075764 11400003 */ beqz $t2, .L7F075774 -/* 0AA298 7F075768 014D7021 */ addu $t6, $t2, $t5 -/* 0AA29C 7F07576C AD2E0008 */ sw $t6, 8($t1) -/* 0AA2A0 7F075770 84E3000E */ lh $v1, 0xe($a3) -.L7F075774: -/* 0AA2A4 7F075774 0043082A */ slt $at, $v0, $v1 -/* 0AA2A8 7F075778 1420FFF5 */ bnez $at, .L7F075750 -/* 0AA2AC 7F07577C 25080010 */ addiu $t0, $t0, 0x10 -/* 0AA2B0 7F075780 ACE6001C */ sw $a2, 0x1c($a3) -.L7F075784: -/* 0AA2B4 7F075784 100000B0 */ b .L7F075A48 -/* 0AA2B8 7F075788 8C830014 */ lw $v1, 0x14($a0) -.L7F07578C: -/* 0AA2BC 7F07578C 8C820004 */ lw $v0, 4($a0) -/* 0AA2C0 7F075790 00C57823 */ subu $t7, $a2, $a1 -/* 0AA2C4 7F075794 8C430004 */ lw $v1, 4($v0) -/* 0AA2C8 7F075798 10600002 */ beqz $v1, .L7F0757A4 -/* 0AA2CC 7F07579C 006FC021 */ addu $t8, $v1, $t7 -/* 0AA2D0 7F0757A0 AC580004 */ sw $t8, 4($v0) -.L7F0757A4: -/* 0AA2D4 7F0757A4 100000A8 */ b .L7F075A48 -/* 0AA2D8 7F0757A8 8C830014 */ lw $v1, 0x14($a0) -.L7F0757AC: -/* 0AA2DC 7F0757AC 8C870004 */ lw $a3, 4($a0) -/* 0AA2E0 7F0757B0 00C5C823 */ subu $t9, $a2, $a1 -/* 0AA2E4 7F0757B4 00001025 */ move $v0, $zero -/* 0AA2E8 7F0757B8 8CE30004 */ lw $v1, 4($a3) -/* 0AA2EC 7F0757BC 00C56023 */ subu $t4, $a2, $a1 -/* 0AA2F0 7F0757C0 00C57023 */ subu $t6, $a2, $a1 -/* 0AA2F4 7F0757C4 10600002 */ beqz $v1, .L7F0757D0 -/* 0AA2F8 7F0757C8 00795821 */ addu $t3, $v1, $t9 -/* 0AA2FC 7F0757CC ACEB0004 */ sw $t3, 4($a3) -.L7F0757D0: -/* 0AA300 7F0757D0 8CE30008 */ lw $v1, 8($a3) -/* 0AA304 7F0757D4 00004025 */ move $t0, $zero -/* 0AA308 7F0757D8 10600002 */ beqz $v1, .L7F0757E4 -/* 0AA30C 7F0757DC 006C6821 */ addu $t5, $v1, $t4 -/* 0AA310 7F0757E0 ACED0008 */ sw $t5, 8($a3) -.L7F0757E4: -/* 0AA314 7F0757E4 8CE3000C */ lw $v1, 0xc($a3) -/* 0AA318 7F0757E8 10600002 */ beqz $v1, .L7F0757F4 -/* 0AA31C 7F0757EC 006E7821 */ addu $t7, $v1, $t6 -/* 0AA320 7F0757F0 ACEF000C */ sw $t7, 0xc($a3) -.L7F0757F4: -/* 0AA324 7F0757F4 8CE30000 */ lw $v1, ($a3) -/* 0AA328 7F0757F8 5860000E */ blezl $v1, .L7F075834 -/* 0AA32C 7F0757FC ACE601A4 */ sw $a2, 0x1a4($a3) -.L7F075800: -/* 0AA330 7F075800 8CF80004 */ lw $t8, 4($a3) -/* 0AA334 7F075804 00C5C823 */ subu $t9, $a2, $a1 -/* 0AA338 7F075808 24420001 */ addiu $v0, $v0, 1 -/* 0AA33C 7F07580C 03084821 */ addu $t1, $t8, $t0 -/* 0AA340 7F075810 8D2A0004 */ lw $t2, 4($t1) -/* 0AA344 7F075814 11400003 */ beqz $t2, .L7F075824 -/* 0AA348 7F075818 01595821 */ addu $t3, $t2, $t9 -/* 0AA34C 7F07581C AD2B0004 */ sw $t3, 4($t1) -/* 0AA350 7F075820 8CE30000 */ lw $v1, ($a3) -.L7F075824: -/* 0AA354 7F075824 0043082A */ slt $at, $v0, $v1 -/* 0AA358 7F075828 1420FFF5 */ bnez $at, .L7F075800 -/* 0AA35C 7F07582C 25080008 */ addiu $t0, $t0, 8 -/* 0AA360 7F075830 ACE601A4 */ sw $a2, 0x1a4($a3) -.L7F075834: -/* 0AA364 7F075834 10000084 */ b .L7F075A48 -/* 0AA368 7F075838 8C830014 */ lw $v1, 0x14($a0) -.L7F07583C: -/* 0AA36C 7F07583C 8C870004 */ lw $a3, 4($a0) -/* 0AA370 7F075840 00C56023 */ subu $t4, $a2, $a1 -/* 0AA374 7F075844 00001025 */ move $v0, $zero -/* 0AA378 7F075848 8CE30000 */ lw $v1, ($a3) -/* 0AA37C 7F07584C 00C57023 */ subu $t6, $a2, $a1 -/* 0AA380 7F075850 00C5C023 */ subu $t8, $a2, $a1 -/* 0AA384 7F075854 10600002 */ beqz $v1, .L7F075860 -/* 0AA388 7F075858 006C6821 */ addu $t5, $v1, $t4 -/* 0AA38C 7F07585C ACED0000 */ sw $t5, ($a3) -.L7F075860: -/* 0AA390 7F075860 8CE30004 */ lw $v1, 4($a3) -/* 0AA394 7F075864 00C55823 */ subu $t3, $a2, $a1 -/* 0AA398 7F075868 00C56823 */ subu $t5, $a2, $a1 -/* 0AA39C 7F07586C 10600002 */ beqz $v1, .L7F075878 -/* 0AA3A0 7F075870 006E7821 */ addu $t7, $v1, $t6 -/* 0AA3A4 7F075874 ACEF0004 */ sw $t7, 4($a3) -.L7F075878: -/* 0AA3A8 7F075878 8CE3000C */ lw $v1, 0xc($a3) -/* 0AA3AC 7F07587C 00004025 */ move $t0, $zero -/* 0AA3B0 7F075880 10600002 */ beqz $v1, .L7F07588C -/* 0AA3B4 7F075884 0078C821 */ addu $t9, $v1, $t8 -/* 0AA3B8 7F075888 ACF9000C */ sw $t9, 0xc($a3) -.L7F07588C: -/* 0AA3BC 7F07588C 8CE30010 */ lw $v1, 0x10($a3) -/* 0AA3C0 7F075890 10600002 */ beqz $v1, .L7F07589C -/* 0AA3C4 7F075894 006B6021 */ addu $t4, $v1, $t3 -/* 0AA3C8 7F075898 ACEC0010 */ sw $t4, 0x10($a3) -.L7F07589C: -/* 0AA3CC 7F07589C 8CE30014 */ lw $v1, 0x14($a3) -/* 0AA3D0 7F0758A0 10600002 */ beqz $v1, .L7F0758AC -/* 0AA3D4 7F0758A4 006D7021 */ addu $t6, $v1, $t5 -/* 0AA3D8 7F0758A8 ACEE0014 */ sw $t6, 0x14($a3) -.L7F0758AC: -/* 0AA3DC 7F0758AC 8CE30008 */ lw $v1, 8($a3) -/* 0AA3E0 7F0758B0 5860000E */ blezl $v1, .L7F0758EC -/* 0AA3E4 7F0758B4 ACE601AC */ sw $a2, 0x1ac($a3) -.L7F0758B8: -/* 0AA3E8 7F0758B8 8CEF000C */ lw $t7, 0xc($a3) -/* 0AA3EC 7F0758BC 00C5C023 */ subu $t8, $a2, $a1 -/* 0AA3F0 7F0758C0 24420001 */ addiu $v0, $v0, 1 -/* 0AA3F4 7F0758C4 01E84821 */ addu $t1, $t7, $t0 -/* 0AA3F8 7F0758C8 8D2A0004 */ lw $t2, 4($t1) -/* 0AA3FC 7F0758CC 11400003 */ beqz $t2, .L7F0758DC -/* 0AA400 7F0758D0 0158C821 */ addu $t9, $t2, $t8 -/* 0AA404 7F0758D4 AD390004 */ sw $t9, 4($t1) -/* 0AA408 7F0758D8 8CE30008 */ lw $v1, 8($a3) -.L7F0758DC: -/* 0AA40C 7F0758DC 0043082A */ slt $at, $v0, $v1 -/* 0AA410 7F0758E0 1420FFF5 */ bnez $at, .L7F0758B8 -/* 0AA414 7F0758E4 25080008 */ addiu $t0, $t0, 8 -/* 0AA418 7F0758E8 ACE601AC */ sw $a2, 0x1ac($a3) -.L7F0758EC: -/* 0AA41C 7F0758EC 10000056 */ b .L7F075A48 -/* 0AA420 7F0758F0 8C830014 */ lw $v1, 0x14($a0) -.L7F0758F4: -/* 0AA424 7F0758F4 8C820004 */ lw $v0, 4($a0) -/* 0AA428 7F0758F8 AC460014 */ sw $a2, 0x14($v0) -/* 0AA42C 7F0758FC 10000052 */ b .L7F075A48 -/* 0AA430 7F075900 8C830014 */ lw $v1, 0x14($a0) -.L7F075904: -/* 0AA434 7F075904 8C820004 */ lw $v0, 4($a0) -/* 0AA438 7F075908 00C55823 */ subu $t3, $a2, $a1 -/* 0AA43C 7F07590C 8C470008 */ lw $a3, 8($v0) -/* 0AA440 7F075910 10E00003 */ beqz $a3, .L7F075920 -/* 0AA444 7F075914 00EB6021 */ addu $t4, $a3, $t3 -/* 0AA448 7F075918 AC4C0008 */ sw $t4, 8($v0) -/* 0AA44C 7F07591C 01803825 */ move $a3, $t4 -.L7F075920: -/* 0AA450 7F075920 AC870014 */ sw $a3, 0x14($a0) -/* 0AA454 7F075924 10000048 */ b .L7F075A48 -/* 0AA458 7F075928 00E01825 */ move $v1, $a3 -.L7F07592C: -/* 0AA45C 7F07592C 8C820004 */ lw $v0, 4($a0) -/* 0AA460 7F075930 00C56823 */ subu $t5, $a2, $a1 -/* 0AA464 7F075934 8C430000 */ lw $v1, ($v0) -/* 0AA468 7F075938 10600002 */ beqz $v1, .L7F075944 -/* 0AA46C 7F07593C 006D7021 */ addu $t6, $v1, $t5 -/* 0AA470 7F075940 AC4E0000 */ sw $t6, ($v0) -.L7F075944: -/* 0AA474 7F075944 10000040 */ b .L7F075A48 -/* 0AA478 7F075948 8C830014 */ lw $v1, 0x14($a0) -.L7F07594C: -/* 0AA47C 7F07594C 8C820004 */ lw $v0, 4($a0) -/* 0AA480 7F075950 00C57823 */ subu $t7, $a2, $a1 -/* 0AA484 7F075954 00C5C823 */ subu $t9, $a2, $a1 -/* 0AA488 7F075958 8C430018 */ lw $v1, 0x18($v0) -/* 0AA48C 7F07595C 10600002 */ beqz $v1, .L7F075968 -/* 0AA490 7F075960 006FC021 */ addu $t8, $v1, $t7 -/* 0AA494 7F075964 AC580018 */ sw $t8, 0x18($v0) -.L7F075968: -/* 0AA498 7F075968 8C43001C */ lw $v1, 0x1c($v0) -/* 0AA49C 7F07596C 10600002 */ beqz $v1, .L7F075978 -/* 0AA4A0 7F075970 00795821 */ addu $t3, $v1, $t9 -/* 0AA4A4 7F075974 AC4B001C */ sw $t3, 0x1c($v0) -.L7F075978: -/* 0AA4A8 7F075978 10000033 */ b .L7F075A48 -/* 0AA4AC 7F07597C 8C830014 */ lw $v1, 0x14($a0) -.L7F075980: -/* 0AA4B0 7F075980 8C820004 */ lw $v0, 4($a0) -/* 0AA4B4 7F075984 00C56023 */ subu $t4, $a2, $a1 -/* 0AA4B8 7F075988 8C430014 */ lw $v1, 0x14($v0) -/* 0AA4BC 7F07598C 10600002 */ beqz $v1, .L7F075998 -/* 0AA4C0 7F075990 006C6821 */ addu $t5, $v1, $t4 -/* 0AA4C4 7F075994 AC4D0014 */ sw $t5, 0x14($v0) -.L7F075998: -/* 0AA4C8 7F075998 1000002B */ b .L7F075A48 -/* 0AA4CC 7F07599C 8C830014 */ lw $v1, 0x14($a0) -.L7F0759A0: -/* 0AA4D0 7F0759A0 8C820004 */ lw $v0, 4($a0) -/* 0AA4D4 7F0759A4 00C57023 */ subu $t6, $a2, $a1 -/* 0AA4D8 7F0759A8 8C43003C */ lw $v1, 0x3c($v0) -/* 0AA4DC 7F0759AC 10600002 */ beqz $v1, .L7F0759B8 -/* 0AA4E0 7F0759B0 006E7821 */ addu $t7, $v1, $t6 -/* 0AA4E4 7F0759B4 AC4F003C */ sw $t7, 0x3c($v0) -.L7F0759B8: -/* 0AA4E8 7F0759B8 AC460048 */ sw $a2, 0x48($v0) -/* 0AA4EC 7F0759BC 10000022 */ b .L7F075A48 -/* 0AA4F0 7F0759C0 8C830014 */ lw $v1, 0x14($a0) -.L7F0759C4: -/* 0AA4F4 7F0759C4 8C820004 */ lw $v0, 4($a0) -/* 0AA4F8 7F0759C8 00C5C023 */ subu $t8, $a2, $a1 -/* 0AA4FC 7F0759CC 8C430018 */ lw $v1, 0x18($v0) -/* 0AA500 7F0759D0 10600002 */ beqz $v1, .L7F0759DC -/* 0AA504 7F0759D4 0078C821 */ addu $t9, $v1, $t8 -/* 0AA508 7F0759D8 AC590018 */ sw $t9, 0x18($v0) -.L7F0759DC: -/* 0AA50C 7F0759DC AC460024 */ sw $a2, 0x24($v0) -/* 0AA510 7F0759E0 10000019 */ b .L7F075A48 -/* 0AA514 7F0759E4 8C830014 */ lw $v1, 0x14($a0) -.L7F0759E8: -/* 0AA518 7F0759E8 8C820004 */ lw $v0, 4($a0) -/* 0AA51C 7F0759EC 00C55823 */ subu $t3, $a2, $a1 -/* 0AA520 7F0759F0 00C56823 */ subu $t5, $a2, $a1 -/* 0AA524 7F0759F4 8C430010 */ lw $v1, 0x10($v0) -/* 0AA528 7F0759F8 10600002 */ beqz $v1, .L7F075A04 -/* 0AA52C 7F0759FC 006B6021 */ addu $t4, $v1, $t3 -/* 0AA530 7F075A00 AC4C0010 */ sw $t4, 0x10($v0) -.L7F075A04: -/* 0AA534 7F075A04 8C430014 */ lw $v1, 0x14($v0) -/* 0AA538 7F075A08 10600002 */ beqz $v1, .L7F075A14 -/* 0AA53C 7F075A0C 006D7021 */ addu $t6, $v1, $t5 -/* 0AA540 7F075A10 AC4E0014 */ sw $t6, 0x14($v0) -.L7F075A14: -/* 0AA544 7F075A14 AC46001C */ sw $a2, 0x1c($v0) -/* 0AA548 7F075A18 1000000B */ b .L7F075A48 -/* 0AA54C 7F075A1C 8C830014 */ lw $v1, 0x14($a0) -.L7F075A20: -/* 0AA550 7F075A20 8C820004 */ lw $v0, 4($a0) -/* 0AA554 7F075A24 00C57823 */ subu $t7, $a2, $a1 -/* 0AA558 7F075A28 8C430004 */ lw $v1, 4($v0) -/* 0AA55C 7F075A2C 10600002 */ beqz $v1, .L7F075A38 -/* 0AA560 7F075A30 006FC021 */ addu $t8, $v1, $t7 -/* 0AA564 7F075A34 AC580004 */ sw $t8, 4($v0) -.L7F075A38: -/* 0AA568 7F075A38 AC46000C */ sw $a2, 0xc($v0) -/* 0AA56C 7F075A3C 10000002 */ b .L7F075A48 -/* 0AA570 7F075A40 8C830014 */ lw $v1, 0x14($a0) -def_7F075670: -.L7F075A44: -/* 0AA574 7F075A44 8C830014 */ lw $v1, 0x14($a0) -.L7F075A48: -/* 0AA578 7F075A48 10600003 */ beqz $v1, .L7F075A58 -/* 0AA57C 7F075A4C 00000000 */ nop -/* 0AA580 7F075A50 1000000B */ b .L7F075A80 -/* 0AA584 7F075A54 00602025 */ move $a0, $v1 -.L7F075A58: -/* 0AA588 7F075A58 10800009 */ beqz $a0, .L7F075A80 -/* 0AA58C 7F075A5C 00000000 */ nop -/* 0AA590 7F075A60 8C83000C */ lw $v1, 0xc($a0) -.L7F075A64: -/* 0AA594 7F075A64 50600004 */ beql $v1, $zero, .L7F075A78 -/* 0AA598 7F075A68 8C840008 */ lw $a0, 8($a0) -/* 0AA59C 7F075A6C 10000004 */ b .L7F075A80 -/* 0AA5A0 7F075A70 00602025 */ move $a0, $v1 -/* 0AA5A4 7F075A74 8C840008 */ lw $a0, 8($a0) -.L7F075A78: -/* 0AA5A8 7F075A78 5480FFFA */ bnezl $a0, .L7F075A64 -/* 0AA5AC 7F075A7C 8C83000C */ lw $v1, 0xc($a0) -.L7F075A80: -/* 0AA5B0 7F075A80 5480FED9 */ bnezl $a0, .L7F0755E8 -/* 0AA5B4 7F075A84 94820000 */ lhu $v0, ($a0) -.L7F075A88: -/* 0AA5B8 7F075A88 03E00008 */ jr $ra -/* 0AA5BC 7F075A8C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F075A90(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F075A90 -/* 0AA5C0 7F075A90 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0AA5C4 7F075A94 AFBF001C */ sw $ra, 0x1c($sp) -/* 0AA5C8 7F075A98 AFB10018 */ sw $s1, 0x18($sp) -/* 0AA5CC 7F075A9C AFB00014 */ sw $s0, 0x14($sp) -/* 0AA5D0 7F075AA0 8487000C */ lh $a3, 0xc($a0) -/* 0AA5D4 7F075AA4 00808025 */ move $s0, $a0 -/* 0AA5D8 7F075AA8 00A08825 */ move $s1, $a1 -/* 0AA5DC 7F075AAC 18E0000E */ blez $a3, .L7F075AE8 -/* 0AA5E0 7F075AB0 00001025 */ move $v0, $zero -/* 0AA5E4 7F075AB4 00001825 */ move $v1, $zero -.L7F075AB8: -/* 0AA5E8 7F075AB8 8E0E0008 */ lw $t6, 8($s0) -/* 0AA5EC 7F075ABC 00D17823 */ subu $t7, $a2, $s1 -/* 0AA5F0 7F075AC0 24420001 */ addiu $v0, $v0, 1 -/* 0AA5F4 7F075AC4 01C32021 */ addu $a0, $t6, $v1 -/* 0AA5F8 7F075AC8 8C850000 */ lw $a1, ($a0) -/* 0AA5FC 7F075ACC 10A00003 */ beqz $a1, .L7F075ADC -/* 0AA600 7F075AD0 00AFC021 */ addu $t8, $a1, $t7 -/* 0AA604 7F075AD4 AC980000 */ sw $t8, ($a0) -/* 0AA608 7F075AD8 8607000C */ lh $a3, 0xc($s0) -.L7F075ADC: -/* 0AA60C 7F075ADC 0047082A */ slt $at, $v0, $a3 -/* 0AA610 7F075AE0 1420FFF5 */ bnez $at, .L7F075AB8 -/* 0AA614 7F075AE4 24630004 */ addiu $v1, $v1, 4 -.L7F075AE8: -/* 0AA618 7F075AE8 8E040000 */ lw $a0, ($s0) -/* 0AA61C 7F075AEC 0FC1D577 */ jal convert_obj_microcode_offset_to_rdram_addr -/* 0AA620 7F075AF0 02202825 */ move $a1, $s1 -/* 0AA624 7F075AF4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AA628 7F075AF8 8FB00014 */ lw $s0, 0x14($sp) -/* 0AA62C 7F075AFC 8FB10018 */ lw $s1, 0x18($sp) -/* 0AA630 7F075B00 03E00008 */ jr $ra -/* 0AA634 7F075B04 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F075B08(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F075B08 -/* 0AA638 7F075B08 AFA40000 */ sw $a0, ($sp) -/* 0AA63C 7F075B0C AFA50004 */ sw $a1, 4($sp) -/* 0AA640 7F075B10 AFA60008 */ sw $a2, 8($sp) -/* 0AA644 7F075B14 03E00008 */ jr $ra -/* 0AA648 7F075B18 AFA7000C */ sw $a3, 0xc($sp) -) -#endif - - - - - -#ifdef NONMATCHING -void set_microcode_entry_numbers(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054E74*/ -glabel jpt_80054E74 -.word .L7F075B68 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075B84 -.word .L7F075BA0 -.word .L7F075C00 -.word .L7F075C84 -.word .L7F075C30 -.word .L7F075C4C -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075BC0 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075C84 -.word .L7F075BE0 -.word .L7F075C68 - -.text -glabel set_microcode_entry_numbers -/* 0AA64C 7F075B1C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0AA650 7F075B20 AFB10018 */ sw $s1, 0x18($sp) -/* 0AA654 7F075B24 AFB00014 */ sw $s0, 0x14($sp) -/* 0AA658 7F075B28 AFBF001C */ sw $ra, 0x1c($sp) -/* 0AA65C 7F075B2C 00803025 */ move $a2, $a0 -/* 0AA660 7F075B30 00008825 */ move $s1, $zero -/* 0AA664 7F075B34 10800069 */ beqz $a0, .L7F075CDC -/* 0AA668 7F075B38 00808025 */ move $s0, $a0 -/* 0AA66C 7F075B3C 96020000 */ lhu $v0, ($s0) -.L7F075B40: -/* 0AA670 7F075B40 304E00FF */ andi $t6, $v0, 0xff -/* 0AA674 7F075B44 25CFFFFF */ addiu $t7, $t6, -1 -/* 0AA678 7F075B48 2DE10018 */ sltiu $at, $t7, 0x18 -/* 0AA67C 7F075B4C 1020004D */ beqz $at, .L7F075C84 -/* 0AA680 7F075B50 000F7880 */ sll $t7, $t7, 2 -/* 0AA684 7F075B54 3C018005 */ lui $at, %hi(jpt_80054E74) -/* 0AA688 7F075B58 002F0821 */ addu $at, $at, $t7 -/* 0AA68C 7F075B5C 8C2F4E74 */ lw $t7, %lo(jpt_80054E74)($at) -.L7F075B60: -/* 0AA690 7F075B60 01E00008 */ jr $t7 -/* 0AA694 7F075B64 00000000 */ nop -.L7F075B68: -/* 0AA698 7F075B68 8E020004 */ lw $v0, 4($s0) -/* 0AA69C 7F075B6C A451000C */ sh $s1, 0xc($v0) -/* 0AA6A0 7F075B70 26310018 */ addiu $s1, $s1, 0x18 -/* 0AA6A4 7F075B74 3238FFFF */ andi $t8, $s1, 0xffff -/* 0AA6A8 7F075B78 03008825 */ move $s1, $t8 -/* 0AA6AC 7F075B7C 10000042 */ b .L7F075C88 -/* 0AA6B0 7F075B80 8E030014 */ lw $v1, 0x14($s0) -.L7F075B84: -/* 0AA6B4 7F075B84 8E020004 */ lw $v0, 4($s0) -/* 0AA6B8 7F075B88 A45101AA */ sh $s1, 0x1aa($v0) -/* 0AA6BC 7F075B8C 26310001 */ addiu $s1, $s1, 1 -/* 0AA6C0 7F075B90 3239FFFF */ andi $t9, $s1, 0xffff -/* 0AA6C4 7F075B94 03208825 */ move $s1, $t9 -/* 0AA6C8 7F075B98 1000003B */ b .L7F075C88 -/* 0AA6CC 7F075B9C 8E030014 */ lw $v1, 0x14($s0) -.L7F075BA0: -/* 0AA6D0 7F075BA0 8E020004 */ lw $v0, 4($s0) -/* 0AA6D4 7F075BA4 A451000C */ sh $s1, 0xc($v0) -/* 0AA6D8 7F075BA8 8C430008 */ lw $v1, 8($v0) -/* 0AA6DC 7F075BAC 26310001 */ addiu $s1, $s1, 1 -/* 0AA6E0 7F075BB0 3228FFFF */ andi $t0, $s1, 0xffff -/* 0AA6E4 7F075BB4 01008825 */ move $s1, $t0 -/* 0AA6E8 7F075BB8 10000033 */ b .L7F075C88 -/* 0AA6EC 7F075BBC AE030014 */ sw $v1, 0x14($s0) -.L7F075BC0: -/* 0AA6F0 7F075BC0 8E020004 */ lw $v0, 4($s0) -/* 0AA6F4 7F075BC4 A4510004 */ sh $s1, 4($v0) -/* 0AA6F8 7F075BC8 8C430000 */ lw $v1, ($v0) -/* 0AA6FC 7F075BCC 26310001 */ addiu $s1, $s1, 1 -/* 0AA700 7F075BD0 322AFFFF */ andi $t2, $s1, 0xffff -/* 0AA704 7F075BD4 01408825 */ move $s1, $t2 -/* 0AA708 7F075BD8 1000002B */ b .L7F075C88 -/* 0AA70C 7F075BDC AE030014 */ sw $v1, 0x14($s0) -.L7F075BE0: -/* 0AA710 7F075BE0 8E020004 */ lw $v0, 4($s0) -/* 0AA714 7F075BE4 00001825 */ move $v1, $zero -/* 0AA718 7F075BE8 A4510000 */ sh $s1, ($v0) -/* 0AA71C 7F075BEC 26310002 */ addiu $s1, $s1, 2 -/* 0AA720 7F075BF0 322CFFFF */ andi $t4, $s1, 0xffff -/* 0AA724 7F075BF4 01808825 */ move $s1, $t4 -/* 0AA728 7F075BF8 10000023 */ b .L7F075C88 -/* 0AA72C 7F075BFC AE000014 */ sw $zero, 0x14($s0) -.L7F075C00: -/* 0AA730 7F075C00 8E020004 */ lw $v0, 4($s0) -/* 0AA734 7F075C04 02002025 */ move $a0, $s0 -/* 0AA738 7F075C08 00002825 */ move $a1, $zero -/* 0AA73C 7F075C0C A4510022 */ sh $s1, 0x22($v0) -/* 0AA740 7F075C10 26310001 */ addiu $s1, $s1, 1 -/* 0AA744 7F075C14 322DFFFF */ andi $t5, $s1, 0xffff -/* 0AA748 7F075C18 01A08825 */ move $s1, $t5 -/* 0AA74C 7F075C1C 0FC1BA95 */ jal sub_GAME_7F06EA54 -/* 0AA750 7F075C20 AFA60020 */ sw $a2, 0x20($sp) -/* 0AA754 7F075C24 8FA60020 */ lw $a2, 0x20($sp) -/* 0AA758 7F075C28 10000017 */ b .L7F075C88 -/* 0AA75C 7F075C2C 8E030014 */ lw $v1, 0x14($s0) -.L7F075C30: -/* 0AA760 7F075C30 8E020004 */ lw $v0, 4($s0) -/* 0AA764 7F075C34 A4510044 */ sh $s1, 0x44($v0) -/* 0AA768 7F075C38 26310001 */ addiu $s1, $s1, 1 -/* 0AA76C 7F075C3C 322EFFFF */ andi $t6, $s1, 0xffff -/* 0AA770 7F075C40 01C08825 */ move $s1, $t6 -/* 0AA774 7F075C44 10000010 */ b .L7F075C88 -/* 0AA778 7F075C48 8E030014 */ lw $v1, 0x14($s0) -.L7F075C4C: -/* 0AA77C 7F075C4C 8E020004 */ lw $v0, 4($s0) -/* 0AA780 7F075C50 A4510020 */ sh $s1, 0x20($v0) -/* 0AA784 7F075C54 26310001 */ addiu $s1, $s1, 1 -/* 0AA788 7F075C58 322FFFFF */ andi $t7, $s1, 0xffff -/* 0AA78C 7F075C5C 01E08825 */ move $s1, $t7 -/* 0AA790 7F075C60 10000009 */ b .L7F075C88 -/* 0AA794 7F075C64 8E030014 */ lw $v1, 0x14($s0) -.L7F075C68: -/* 0AA798 7F075C68 8E020004 */ lw $v0, 4($s0) -/* 0AA79C 7F075C6C A451001A */ sh $s1, 0x1a($v0) -/* 0AA7A0 7F075C70 26310002 */ addiu $s1, $s1, 2 -/* 0AA7A4 7F075C74 3238FFFF */ andi $t8, $s1, 0xffff -/* 0AA7A8 7F075C78 03008825 */ move $s1, $t8 -/* 0AA7AC 7F075C7C 10000002 */ b .L7F075C88 -/* 0AA7B0 7F075C80 8E030014 */ lw $v1, 0x14($s0) -def_7F075B60: -.L7F075C84: -/* 0AA7B4 7F075C84 8E030014 */ lw $v1, 0x14($s0) -.L7F075C88: -/* 0AA7B8 7F075C88 10600003 */ beqz $v1, .L7F075C98 -/* 0AA7BC 7F075C8C 00000000 */ nop -/* 0AA7C0 7F075C90 10000010 */ b .L7F075CD4 -/* 0AA7C4 7F075C94 00608025 */ move $s0, $v1 -.L7F075C98: -/* 0AA7C8 7F075C98 1200000E */ beqz $s0, .L7F075CD4 -/* 0AA7CC 7F075C9C 00000000 */ nop -/* 0AA7D0 7F075CA0 8CC30008 */ lw $v1, 8($a2) -.L7F075CA4: -/* 0AA7D4 7F075CA4 56030004 */ bnel $s0, $v1, .L7F075CB8 -/* 0AA7D8 7F075CA8 8E02000C */ lw $v0, 0xc($s0) -/* 0AA7DC 7F075CAC 10000009 */ b .L7F075CD4 -/* 0AA7E0 7F075CB0 00008025 */ move $s0, $zero -/* 0AA7E4 7F075CB4 8E02000C */ lw $v0, 0xc($s0) -.L7F075CB8: -/* 0AA7E8 7F075CB8 50400004 */ beql $v0, $zero, .L7F075CCC -/* 0AA7EC 7F075CBC 8E100008 */ lw $s0, 8($s0) -/* 0AA7F0 7F075CC0 10000004 */ b .L7F075CD4 -/* 0AA7F4 7F075CC4 00408025 */ move $s0, $v0 -/* 0AA7F8 7F075CC8 8E100008 */ lw $s0, 8($s0) -.L7F075CCC: -/* 0AA7FC 7F075CCC 1600FFF5 */ bnez $s0, .L7F075CA4 -/* 0AA800 7F075CD0 00000000 */ nop -.L7F075CD4: -/* 0AA804 7F075CD4 5600FF9A */ bnezl $s0, .L7F075B40 -/* 0AA808 7F075CD8 96020000 */ lhu $v0, ($s0) -.L7F075CDC: -/* 0AA80C 7F075CDC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AA810 7F075CE0 02201025 */ move $v0, $s1 -/* 0AA814 7F075CE4 8FB10018 */ lw $s1, 0x18($sp) -/* 0AA818 7F075CE8 8FB00014 */ lw $s0, 0x14($sp) -/* 0AA81C 7F075CEC 03E00008 */ jr $ra -/* 0AA820 7F075CF0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void set_objuse_flag_compute_grp_nums_set_obj_loaded(void *arg0, void *arg6) { - // Node 0 - arg0->unk1C = 1; - arg6->unk14 = set_microcode_entry_numbers(*arg0, arg0); - return; - // (possible return value: set_microcode_entry_numbers(*arg0, arg0)) -} - -#else -GLOBAL_ASM( -.text -glabel set_objuse_flag_compute_grp_nums_set_obj_loaded -/* 0AA824 7F075CF4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0AA828 7F075CF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0AA82C 7F075CFC 240E0001 */ li $t6, 1 -/* 0AA830 7F075D00 00802825 */ move $a1, $a0 -/* 0AA834 7F075D04 AC8E001C */ sw $t6, 0x1c($a0) -/* 0AA838 7F075D08 8C840000 */ lw $a0, ($a0) -/* 0AA83C 7F075D0C 0FC1D6C7 */ jal set_microcode_entry_numbers -/* 0AA840 7F075D10 AFA50018 */ sw $a1, 0x18($sp) -/* 0AA844 7F075D14 8FA50018 */ lw $a1, 0x18($sp) -/* 0AA848 7F075D18 A4A20014 */ sh $v0, 0x14($a1) -/* 0AA84C 7F075D1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AA850 7F075D20 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AA854 7F075D24 03E00008 */ jr $ra -/* 0AA858 7F075D28 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void unknown_object_microcode_handler(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054ED4*/ -glabel jpt_80054ED4 -.word .L7F075D88 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075E00 -.word .L7F075E18 -.word .L7F075E78 -.word .L7F075EF4 -.word .L7F075E9C -.word .L7F075EB4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075E38 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075EF4 -.word .L7F075E5C -.word .L7F075ECC - -.text -glabel unknown_object_microcode_handler -/* 0AA85C 7F075D2C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0AA860 7F075D30 AFB20028 */ sw $s2, 0x28($sp) -/* 0AA864 7F075D34 AFB00020 */ sw $s0, 0x20($sp) -/* 0AA868 7F075D38 00809025 */ move $s2, $a0 -/* 0AA86C 7F075D3C AFBF002C */ sw $ra, 0x2c($sp) -/* 0AA870 7F075D40 AFB10024 */ sw $s1, 0x24($sp) -/* 0AA874 7F075D44 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0AA878 7F075D48 AFA50034 */ sw $a1, 0x34($sp) -/* 0AA87C 7F075D4C 10A0007F */ beqz $a1, .L7F075F4C -/* 0AA880 7F075D50 00A08025 */ move $s0, $a1 -/* 0AA884 7F075D54 4480A000 */ mtc1 $zero, $f20 -/* 0AA888 7F075D58 00000000 */ nop -/* 0AA88C 7F075D5C 96020000 */ lhu $v0, ($s0) -.L7F075D60: -/* 0AA890 7F075D60 304F00FF */ andi $t7, $v0, 0xff -/* 0AA894 7F075D64 25F8FFFF */ addiu $t8, $t7, -1 -/* 0AA898 7F075D68 2F010018 */ sltiu $at, $t8, 0x18 -/* 0AA89C 7F075D6C 10200061 */ beqz $at, .L7F075EF4 -/* 0AA8A0 7F075D70 0018C080 */ sll $t8, $t8, 2 -/* 0AA8A4 7F075D74 3C018005 */ lui $at, %hi(jpt_80054ED4) -/* 0AA8A8 7F075D78 00380821 */ addu $at, $at, $t8 -/* 0AA8AC 7F075D7C 8C384ED4 */ lw $t8, %lo(jpt_80054ED4)($at) -.L7F075D80: -/* 0AA8B0 7F075D80 03000008 */ jr $t8 -/* 0AA8B4 7F075D84 00000000 */ nop -.L7F075D88: -/* 0AA8B8 7F075D88 02402025 */ move $a0, $s2 -/* 0AA8BC 7F075D8C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AA8C0 7F075D90 02002825 */ move $a1, $s0 -/* 0AA8C4 7F075D94 A0400000 */ sb $zero, ($v0) -/* 0AA8C8 7F075D98 E4540004 */ swc1 $f20, 4($v0) -/* 0AA8CC 7F075D9C E4540008 */ swc1 $f20, 8($v0) -/* 0AA8D0 7F075DA0 E454000C */ swc1 $f20, 0xc($v0) -/* 0AA8D4 7F075DA4 E4540010 */ swc1 $f20, 0x10($v0) -/* 0AA8D8 7F075DA8 E4540014 */ swc1 $f20, 0x14($v0) -/* 0AA8DC 7F075DAC E4540018 */ swc1 $f20, 0x18($v0) -/* 0AA8E0 7F075DB0 E454001C */ swc1 $f20, 0x1c($v0) -/* 0AA8E4 7F075DB4 A0400001 */ sb $zero, 1($v0) -/* 0AA8E8 7F075DB8 E4540034 */ swc1 $f20, 0x34($v0) -/* 0AA8EC 7F075DBC E4540038 */ swc1 $f20, 0x38($v0) -/* 0AA8F0 7F075DC0 E454003C */ swc1 $f20, 0x3c($v0) -/* 0AA8F4 7F075DC4 E4540030 */ swc1 $f20, 0x30($v0) -/* 0AA8F8 7F075DC8 E4540024 */ swc1 $f20, 0x24($v0) -/* 0AA8FC 7F075DCC E4540028 */ swc1 $f20, 0x28($v0) -/* 0AA900 7F075DD0 E454002C */ swc1 $f20, 0x2c($v0) -/* 0AA904 7F075DD4 E4540020 */ swc1 $f20, 0x20($v0) -/* 0AA908 7F075DD8 A0400002 */ sb $zero, 2($v0) -/* 0AA90C 7F075DDC E454004C */ swc1 $f20, 0x4c($v0) -/* 0AA910 7F075DE0 E4540050 */ swc1 $f20, 0x50($v0) -/* 0AA914 7F075DE4 E4540054 */ swc1 $f20, 0x54($v0) -/* 0AA918 7F075DE8 E4540040 */ swc1 $f20, 0x40($v0) -/* 0AA91C 7F075DEC E4540044 */ swc1 $f20, 0x44($v0) -/* 0AA920 7F075DF0 E4540048 */ swc1 $f20, 0x48($v0) -/* 0AA924 7F075DF4 E454005C */ swc1 $f20, 0x5c($v0) -/* 0AA928 7F075DF8 1000003F */ b .L7F075EF8 -/* 0AA92C 7F075DFC 8E030014 */ lw $v1, 0x14($s0) -.L7F075E00: -/* 0AA930 7F075E00 02402025 */ move $a0, $s2 -/* 0AA934 7F075E04 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AA938 7F075E08 02002825 */ move $a1, $s0 -/* 0AA93C 7F075E0C AC400000 */ sw $zero, ($v0) -/* 0AA940 7F075E10 10000039 */ b .L7F075EF8 -/* 0AA944 7F075E14 8E030014 */ lw $v1, 0x14($s0) -.L7F075E18: -/* 0AA948 7F075E18 8E110004 */ lw $s1, 4($s0) -/* 0AA94C 7F075E1C 02402025 */ move $a0, $s2 -/* 0AA950 7F075E20 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AA954 7F075E24 02002825 */ move $a1, $s0 -/* 0AA958 7F075E28 AC400000 */ sw $zero, ($v0) -/* 0AA95C 7F075E2C 8E230008 */ lw $v1, 8($s1) -/* 0AA960 7F075E30 10000031 */ b .L7F075EF8 -/* 0AA964 7F075E34 AE030014 */ sw $v1, 0x14($s0) -.L7F075E38: -/* 0AA968 7F075E38 8E110004 */ lw $s1, 4($s0) -/* 0AA96C 7F075E3C 02402025 */ move $a0, $s2 -/* 0AA970 7F075E40 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AA974 7F075E44 02002825 */ move $a1, $s0 -/* 0AA978 7F075E48 24080001 */ li $t0, 1 -/* 0AA97C 7F075E4C AC480000 */ sw $t0, ($v0) -/* 0AA980 7F075E50 8E230000 */ lw $v1, ($s1) -/* 0AA984 7F075E54 10000028 */ b .L7F075EF8 -/* 0AA988 7F075E58 AE030014 */ sw $v1, 0x14($s0) -.L7F075E5C: -/* 0AA98C 7F075E5C 02402025 */ move $a0, $s2 -/* 0AA990 7F075E60 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AA994 7F075E64 02002825 */ move $a1, $s0 -/* 0AA998 7F075E68 AC400000 */ sw $zero, ($v0) -/* 0AA99C 7F075E6C AC400004 */ sw $zero, 4($v0) -/* 0AA9A0 7F075E70 10000021 */ b .L7F075EF8 -/* 0AA9A4 7F075E74 8E030014 */ lw $v1, 0x14($s0) -.L7F075E78: -/* 0AA9A8 7F075E78 02402025 */ move $a0, $s2 -/* 0AA9AC 7F075E7C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AA9B0 7F075E80 02002825 */ move $a1, $s0 -/* 0AA9B4 7F075E84 AC400000 */ sw $zero, ($v0) -/* 0AA9B8 7F075E88 02402025 */ move $a0, $s2 -/* 0AA9BC 7F075E8C 0FC1BAC4 */ jal sub_GAME_7F06EB10 -/* 0AA9C0 7F075E90 02002825 */ move $a1, $s0 -/* 0AA9C4 7F075E94 10000018 */ b .L7F075EF8 -/* 0AA9C8 7F075E98 8E030014 */ lw $v1, 0x14($s0) -.L7F075E9C: -/* 0AA9CC 7F075E9C 02402025 */ move $a0, $s2 -/* 0AA9D0 7F075EA0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AA9D4 7F075EA4 02002825 */ move $a1, $s0 -/* 0AA9D8 7F075EA8 A4400000 */ sh $zero, ($v0) -/* 0AA9DC 7F075EAC 10000012 */ b .L7F075EF8 -/* 0AA9E0 7F075EB0 8E030014 */ lw $v1, 0x14($s0) -.L7F075EB4: -/* 0AA9E4 7F075EB4 02402025 */ move $a0, $s2 -/* 0AA9E8 7F075EB8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AA9EC 7F075EBC 02002825 */ move $a1, $s0 -/* 0AA9F0 7F075EC0 A4400000 */ sh $zero, ($v0) -/* 0AA9F4 7F075EC4 1000000C */ b .L7F075EF8 -/* 0AA9F8 7F075EC8 8E030014 */ lw $v1, 0x14($s0) -.L7F075ECC: -/* 0AA9FC 7F075ECC 8E110004 */ lw $s1, 4($s0) -/* 0AAA00 7F075ED0 02402025 */ move $a0, $s2 -/* 0AAA04 7F075ED4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AAA08 7F075ED8 02002825 */ move $a1, $s0 -/* 0AAA0C 7F075EDC 8E2A0008 */ lw $t2, 8($s1) -/* 0AAA10 7F075EE0 AC4A0000 */ sw $t2, ($v0) -/* 0AAA14 7F075EE4 8E2B0000 */ lw $t3, ($s1) -/* 0AAA18 7F075EE8 AC4B0004 */ sw $t3, 4($v0) -/* 0AAA1C 7F075EEC 10000002 */ b .L7F075EF8 -/* 0AAA20 7F075EF0 8E030014 */ lw $v1, 0x14($s0) -def_7F075D80: -.L7F075EF4: -/* 0AAA24 7F075EF4 8E030014 */ lw $v1, 0x14($s0) -.L7F075EF8: -/* 0AAA28 7F075EF8 10600003 */ beqz $v1, .L7F075F08 -/* 0AAA2C 7F075EFC 00000000 */ nop -/* 0AAA30 7F075F00 10000010 */ b .L7F075F44 -/* 0AAA34 7F075F04 00608025 */ move $s0, $v1 -.L7F075F08: -/* 0AAA38 7F075F08 1200000E */ beqz $s0, .L7F075F44 -/* 0AAA3C 7F075F0C 8FAC0034 */ lw $t4, 0x34($sp) -/* 0AAA40 7F075F10 8D830008 */ lw $v1, 8($t4) -.L7F075F14: -/* 0AAA44 7F075F14 56030004 */ bnel $s0, $v1, .L7F075F28 -/* 0AAA48 7F075F18 8E02000C */ lw $v0, 0xc($s0) -/* 0AAA4C 7F075F1C 10000009 */ b .L7F075F44 -/* 0AAA50 7F075F20 00008025 */ move $s0, $zero -/* 0AAA54 7F075F24 8E02000C */ lw $v0, 0xc($s0) -.L7F075F28: -/* 0AAA58 7F075F28 50400004 */ beql $v0, $zero, .L7F075F3C -/* 0AAA5C 7F075F2C 8E100008 */ lw $s0, 8($s0) -/* 0AAA60 7F075F30 10000004 */ b .L7F075F44 -/* 0AAA64 7F075F34 00408025 */ move $s0, $v0 -/* 0AAA68 7F075F38 8E100008 */ lw $s0, 8($s0) -.L7F075F3C: -/* 0AAA6C 7F075F3C 1600FFF5 */ bnez $s0, .L7F075F14 -/* 0AAA70 7F075F40 00000000 */ nop -.L7F075F44: -/* 0AAA74 7F075F44 5600FF86 */ bnezl $s0, .L7F075D60 -/* 0AAA78 7F075F48 96020000 */ lhu $v0, ($s0) -.L7F075F4C: -/* 0AAA7C 7F075F4C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0AAA80 7F075F50 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0AAA84 7F075F54 8FB00020 */ lw $s0, 0x20($sp) -/* 0AAA88 7F075F58 8FB10024 */ lw $s1, 0x24($sp) -/* 0AAA8C 7F075F5C 8FB20028 */ lw $s2, 0x28($sp) -/* 0AAA90 7F075F60 03E00008 */ jr $ra -/* 0AAA94 7F075F64 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F075F68(void *arg0, void *arg1, ?32 arg2) { - // Node 0 - arg0->unk8 = arg1; - arg0->unk10 = arg2; - arg0->unk2 = (u16)-1; - arg0->unk18 = 0; - arg0->unk1C = 0; - arg0->unk14 = 1.0f; - unknown_object_microcode_handler(*arg1); - return; - // (possible return value: unknown_object_microcode_handler(*arg1)) -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F075F68 -/* 0AAA98 7F075F68 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0AAA9C 7F075F6C AFBF0014 */ sw $ra, 0x14($sp) -/* 0AAAA0 7F075F70 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AAAA4 7F075F74 44812000 */ mtc1 $at, $f4 -/* 0AAAA8 7F075F78 240EFFFF */ li $t6, -1 -/* 0AAAAC 7F075F7C AC850008 */ sw $a1, 8($a0) -/* 0AAAB0 7F075F80 AC860010 */ sw $a2, 0x10($a0) -/* 0AAAB4 7F075F84 A48E0002 */ sh $t6, 2($a0) -/* 0AAAB8 7F075F88 AC800018 */ sw $zero, 0x18($a0) -/* 0AAABC 7F075F8C AC80001C */ sw $zero, 0x1c($a0) -/* 0AAAC0 7F075F90 E4840014 */ swc1 $f4, 0x14($a0) -/* 0AAAC4 7F075F94 0FC1D74B */ jal unknown_object_microcode_handler -/* 0AAAC8 7F075F98 8CA50000 */ lw $a1, ($a1) -/* 0AAACC 7F075F9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AAAD0 7F075FA0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AAAD4 7F075FA4 03E00008 */ jr $ra -/* 0AAAD8 7F075FA8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F075FAC(s32 arg0, void *arg6) { - // Node 0 - sub_GAME_7F075F68(); - arg6->unk20 = 0; - arg6->unk54 = 0; - arg6->unk26 = (u8)0; - arg6->unk98 = 0; - arg6->unk9C = 0; - arg6->unkA0 = 0; - arg6->unk2C = 0.0f; - arg6->unk4C = 0.0f; - arg6->unk5C = 0.0f; - arg6->unk7C = 0.0f; - arg6->unk84 = 0.0f; - arg6->unk88 = 0.0f; - arg6->unkB0 = 0.0f; - arg6->unk40 = 1.0f; - arg6->unk70 = 1.0f; - arg6->unkA4 = 1.0f; - arg6->unkB8 = 1.0f; - arg6->unk3C = -1.0f; - arg6->unk6C = -1.0f; - return; - // (possible return value: 0.0f) -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F075FAC -/* 0AAADC 7F075FAC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0AAAE0 7F075FB0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0AAAE4 7F075FB4 0FC1D7DA */ jal sub_GAME_7F075F68 -/* 0AAAE8 7F075FB8 AFA40018 */ sw $a0, 0x18($sp) -/* 0AAAEC 7F075FBC 8FA40018 */ lw $a0, 0x18($sp) -/* 0AAAF0 7F075FC0 44800000 */ mtc1 $zero, $f0 -/* 0AAAF4 7F075FC4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0AAAF8 7F075FC8 44811000 */ mtc1 $at, $f2 -/* 0AAAFC 7F075FCC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0AAB00 7F075FD0 44816000 */ mtc1 $at, $f12 -/* 0AAB04 7F075FD4 AC800020 */ sw $zero, 0x20($a0) -/* 0AAB08 7F075FD8 AC800054 */ sw $zero, 0x54($a0) -/* 0AAB0C 7F075FDC A0800026 */ sb $zero, 0x26($a0) -/* 0AAB10 7F075FE0 AC800098 */ sw $zero, 0x98($a0) -/* 0AAB14 7F075FE4 AC80009C */ sw $zero, 0x9c($a0) -/* 0AAB18 7F075FE8 AC8000A0 */ sw $zero, 0xa0($a0) -/* 0AAB1C 7F075FEC E480002C */ swc1 $f0, 0x2c($a0) -/* 0AAB20 7F075FF0 E480004C */ swc1 $f0, 0x4c($a0) -/* 0AAB24 7F075FF4 E480005C */ swc1 $f0, 0x5c($a0) -/* 0AAB28 7F075FF8 E480007C */ swc1 $f0, 0x7c($a0) -/* 0AAB2C 7F075FFC E4800084 */ swc1 $f0, 0x84($a0) -/* 0AAB30 7F076000 E4800088 */ swc1 $f0, 0x88($a0) -/* 0AAB34 7F076004 E48000B0 */ swc1 $f0, 0xb0($a0) -/* 0AAB38 7F076008 E4820040 */ swc1 $f2, 0x40($a0) -/* 0AAB3C 7F07600C E4820070 */ swc1 $f2, 0x70($a0) -/* 0AAB40 7F076010 E48200A4 */ swc1 $f2, 0xa4($a0) -/* 0AAB44 7F076014 E48200B8 */ swc1 $f2, 0xb8($a0) -/* 0AAB48 7F076018 E48C003C */ swc1 $f12, 0x3c($a0) -/* 0AAB4C 7F07601C E48C006C */ swc1 $f12, 0x6c($a0) -/* 0AAB50 7F076020 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AAB54 7F076024 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AAB58 7F076028 03E00008 */ jr $ra -/* 0AAB5C 7F07602C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F076030(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F076030 -/* 0AAB60 7F076030 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0AAB64 7F076034 AFBF0014 */ sw $ra, 0x14($sp) -/* 0AAB68 7F076038 AFA5001C */ sw $a1, 0x1c($sp) -/* 0AAB6C 7F07603C AFA40018 */ sw $a0, 0x18($sp) -/* 0AAB70 7F076040 AFA70024 */ sw $a3, 0x24($sp) -/* 0AAB74 7F076044 00C02825 */ move $a1, $a2 -/* 0AAB78 7F076048 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0AAB7C 7F07604C AFA60020 */ sw $a2, 0x20($sp) -/* 0AAB80 7F076050 8FA50024 */ lw $a1, 0x24($sp) -/* 0AAB84 7F076054 8FA60020 */ lw $a2, 0x20($sp) -/* 0AAB88 7F076058 8FA7001C */ lw $a3, 0x1c($sp) -/* 0AAB8C 7F07605C AC450000 */ sw $a1, ($v0) -/* 0AAB90 7F076060 8FAE0018 */ lw $t6, 0x18($sp) -/* 0AAB94 7F076064 84F80014 */ lh $t8, 0x14($a3) -/* 0AAB98 7F076068 8DCF0010 */ lw $t7, 0x10($t6) -/* 0AAB9C 7F07606C 0018C880 */ sll $t9, $t8, 2 -/* 0AABA0 7F076070 01F94021 */ addu $t0, $t7, $t9 -/* 0AABA4 7F076074 AC480004 */ sw $t0, 4($v0) -/* 0AABA8 7F076078 8CA30000 */ lw $v1, ($a1) -/* 0AABAC 7F07607C ACC30014 */ sw $v1, 0x14($a2) -/* 0AABB0 7F076080 10600006 */ beqz $v1, .L7F07609C -/* 0AABB4 7F076084 00602025 */ move $a0, $v1 -/* 0AABB8 7F076088 AC660008 */ sw $a2, 8($v1) -.L7F07608C: -/* 0AABBC 7F07608C 8C63000C */ lw $v1, 0xc($v1) -/* 0AABC0 7F076090 5460FFFE */ bnezl $v1, .L7F07608C -/* 0AABC4 7F076094 AC660008 */ sw $a2, 8($v1) -/* 0AABC8 7F076098 8CC40014 */ lw $a0, 0x14($a2) -.L7F07609C: -/* 0AABCC 7F07609C 0FC1D6C7 */ jal set_microcode_entry_numbers -/* 0AABD0 7F0760A0 00000000 */ nop -/* 0AABD4 7F0760A4 8FA7001C */ lw $a3, 0x1c($sp) -/* 0AABD8 7F0760A8 84EA0014 */ lh $t2, 0x14($a3) -/* 0AABDC 7F0760AC 01425821 */ addu $t3, $t2, $v0 -/* 0AABE0 7F0760B0 A4EB0014 */ sh $t3, 0x14($a3) -/* 0AABE4 7F0760B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AABE8 7F0760B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0AABEC 7F0760BC 03E00008 */ jr $ra -/* 0AABF0 7F0760C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0760C4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80054F34*/ -glabel jpt_80054F34 -.word .L7F076128 -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761A0 -.word .L7F0761C0 -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761B0 -.word .L7F0761CC -.word .L7F0761CC -.word .L7F0761CC -.word .L7F076188 -.word .L7F0761CC -.word .L7F076158 - -.text -glabel sub_GAME_7F0760C4 -/* 0AABF4 7F0760C4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0AABF8 7F0760C8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0AABFC 7F0760CC AFB30020 */ sw $s3, 0x20($sp) -/* 0AAC00 7F0760D0 AFB2001C */ sw $s2, 0x1c($sp) -/* 0AAC04 7F0760D4 AFB10018 */ sw $s1, 0x18($sp) -/* 0AAC08 7F0760D8 AFB00014 */ sw $s0, 0x14($sp) -/* 0AAC0C 7F0760DC 8CB00000 */ lw $s0, ($a1) -/* 0AAC10 7F0760E0 00A09025 */ move $s2, $a1 -/* 0AAC14 7F0760E4 00C09825 */ move $s3, $a2 -/* 0AAC18 7F0760E8 16000002 */ bnez $s0, .L7F0760F4 -/* 0AAC1C 7F0760EC 00008825 */ move $s1, $zero -/* 0AAC20 7F0760F0 8C900000 */ lw $s0, ($a0) -.L7F0760F4: -/* 0AAC24 7F0760F4 52000049 */ beql $s0, $zero, .L7F07621C -/* 0AAC28 7F0760F8 AE710000 */ sw $s1, ($s3) -/* 0AAC2C 7F0760FC 96020000 */ lhu $v0, ($s0) -.L7F076100: -/* 0AAC30 7F076100 304E00FF */ andi $t6, $v0, 0xff -/* 0AAC34 7F076104 25CFFFFC */ addiu $t7, $t6, -4 -/* 0AAC38 7F076108 2DE10015 */ sltiu $at, $t7, 0x15 -/* 0AAC3C 7F07610C 1020002F */ beqz $at, .L7F0761CC -/* 0AAC40 7F076110 000F7880 */ sll $t7, $t7, 2 -/* 0AAC44 7F076114 3C018005 */ lui $at, %hi(jpt_80054F34) -/* 0AAC48 7F076118 002F0821 */ addu $at, $at, $t7 -/* 0AAC4C 7F07611C 8C2F4F34 */ lw $t7, %lo(jpt_80054F34)($at) -.L7F076120: -/* 0AAC50 7F076120 01E00008 */ jr $t7 -/* 0AAC54 7F076124 00000000 */ nop -.L7F076128: -/* 0AAC58 7F076128 8E580000 */ lw $t8, ($s2) -/* 0AAC5C 7F07612C 8E020004 */ lw $v0, 4($s0) -/* 0AAC60 7F076130 52180004 */ beql $s0, $t8, .L7F076144 -/* 0AAC64 7F076134 8C430004 */ lw $v1, 4($v0) -/* 0AAC68 7F076138 10000024 */ b .L7F0761CC -/* 0AAC6C 7F07613C 8C510000 */ lw $s1, ($v0) -/* 0AAC70 7F076140 8C430004 */ lw $v1, 4($v0) -.L7F076144: -/* 0AAC74 7F076144 8E790000 */ lw $t9, ($s3) -/* 0AAC78 7F076148 10790020 */ beq $v1, $t9, .L7F0761CC -/* 0AAC7C 7F07614C 00000000 */ nop -/* 0AAC80 7F076150 1000001E */ b .L7F0761CC -/* 0AAC84 7F076154 00608825 */ move $s1, $v1 -.L7F076158: -/* 0AAC88 7F076158 8E480000 */ lw $t0, ($s2) -/* 0AAC8C 7F07615C 8E020004 */ lw $v0, 4($s0) -/* 0AAC90 7F076160 52080004 */ beql $s0, $t0, .L7F076174 -/* 0AAC94 7F076164 8C430004 */ lw $v1, 4($v0) -/* 0AAC98 7F076168 10000018 */ b .L7F0761CC -/* 0AAC9C 7F07616C 8C510000 */ lw $s1, ($v0) -/* 0AACA0 7F076170 8C430004 */ lw $v1, 4($v0) -.L7F076174: -/* 0AACA4 7F076174 8E690000 */ lw $t1, ($s3) -/* 0AACA8 7F076178 10690014 */ beq $v1, $t1, .L7F0761CC -/* 0AACAC 7F07617C 00000000 */ nop -/* 0AACB0 7F076180 10000012 */ b .L7F0761CC -/* 0AACB4 7F076184 00608825 */ move $s1, $v1 -.L7F076188: -/* 0AACB8 7F076188 8E4A0000 */ lw $t2, ($s2) -/* 0AACBC 7F07618C 8E020004 */ lw $v0, 4($s0) -/* 0AACC0 7F076190 120A000E */ beq $s0, $t2, .L7F0761CC -/* 0AACC4 7F076194 00000000 */ nop -/* 0AACC8 7F076198 1000000C */ b .L7F0761CC -/* 0AACCC 7F07619C 8C510008 */ lw $s1, 8($v0) -.L7F0761A0: -/* 0AACD0 7F0761A0 8E020004 */ lw $v0, 4($s0) -/* 0AACD4 7F0761A4 8C4B0008 */ lw $t3, 8($v0) -/* 0AACD8 7F0761A8 10000008 */ b .L7F0761CC -/* 0AACDC 7F0761AC AE0B0014 */ sw $t3, 0x14($s0) -.L7F0761B0: -/* 0AACE0 7F0761B0 8E020004 */ lw $v0, 4($s0) -/* 0AACE4 7F0761B4 8C4C0000 */ lw $t4, ($v0) -/* 0AACE8 7F0761B8 10000004 */ b .L7F0761CC -/* 0AACEC 7F0761BC AE0C0014 */ sw $t4, 0x14($s0) -.L7F0761C0: -/* 0AACF0 7F0761C0 02002025 */ move $a0, $s0 -/* 0AACF4 7F0761C4 0FC1BA95 */ jal sub_GAME_7F06EA54 -/* 0AACF8 7F0761C8 24050001 */ li $a1, 1 -def_7F076120: -.L7F0761CC: -/* 0AACFC 7F0761CC 56200013 */ bnezl $s1, .L7F07621C -/* 0AAD00 7F0761D0 AE710000 */ sw $s1, ($s3) -/* 0AAD04 7F0761D4 8E020014 */ lw $v0, 0x14($s0) -/* 0AAD08 7F0761D8 10400003 */ beqz $v0, .L7F0761E8 -/* 0AAD0C 7F0761DC 00000000 */ nop -/* 0AAD10 7F0761E0 1000000B */ b .L7F076210 -/* 0AAD14 7F0761E4 00408025 */ move $s0, $v0 -.L7F0761E8: -/* 0AAD18 7F0761E8 12000009 */ beqz $s0, .L7F076210 -/* 0AAD1C 7F0761EC 00000000 */ nop -/* 0AAD20 7F0761F0 8E02000C */ lw $v0, 0xc($s0) -.L7F0761F4: -/* 0AAD24 7F0761F4 50400004 */ beql $v0, $zero, .L7F076208 -/* 0AAD28 7F0761F8 8E100008 */ lw $s0, 8($s0) -/* 0AAD2C 7F0761FC 10000004 */ b .L7F076210 -/* 0AAD30 7F076200 00408025 */ move $s0, $v0 -/* 0AAD34 7F076204 8E100008 */ lw $s0, 8($s0) -.L7F076208: -/* 0AAD38 7F076208 5600FFFA */ bnezl $s0, .L7F0761F4 -/* 0AAD3C 7F07620C 8E02000C */ lw $v0, 0xc($s0) -.L7F076210: -/* 0AAD40 7F076210 5600FFBB */ bnezl $s0, .L7F076100 -/* 0AAD44 7F076214 96020000 */ lhu $v0, ($s0) -/* 0AAD48 7F076218 AE710000 */ sw $s1, ($s3) -.L7F07621C: -/* 0AAD4C 7F07621C AE500000 */ sw $s0, ($s2) -/* 0AAD50 7F076220 8FBF0024 */ lw $ra, 0x24($sp) -/* 0AAD54 7F076224 8FB30020 */ lw $s3, 0x20($sp) -/* 0AAD58 7F076228 8FB2001C */ lw $s2, 0x1c($sp) -/* 0AAD5C 7F07622C 8FB10018 */ lw $s1, 0x18($sp) -/* 0AAD60 7F076230 8FB00014 */ lw $s0, 0x14($sp) -/* 0AAD64 7F076234 03E00008 */ jr $ra -/* 0AAD68 7F076238 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F07623C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F07623C -/* 0AAD6C 7F07623C AFA40000 */ sw $a0, ($sp) -/* 0AAD70 7F076240 94A20000 */ lhu $v0, ($a1) -/* 0AAD74 7F076244 24010004 */ li $at, 4 -/* 0AAD78 7F076248 304E00FF */ andi $t6, $v0, 0xff -/* 0AAD7C 7F07624C 11C10007 */ beq $t6, $at, .L7F07626C -/* 0AAD80 7F076250 24010016 */ li $at, 22 -/* 0AAD84 7F076254 11C1001B */ beq $t6, $at, .L7F0762C4 -/* 0AAD88 7F076258 24010018 */ li $at, 24 -/* 0AAD8C 7F07625C 51C1000F */ beql $t6, $at, .L7F07629C -/* 0AAD90 7F076260 8CA20004 */ lw $v0, 4($a1) -/* 0AAD94 7F076264 03E00008 */ jr $ra -/* 0AAD98 7F076268 00000000 */ nop - -.L7F07626C: -/* 0AAD9C 7F07626C 8CA20004 */ lw $v0, 4($a1) -/* 0AADA0 7F076270 8C4F0000 */ lw $t7, ($v0) -/* 0AADA4 7F076274 54CF0004 */ bnel $a2, $t7, .L7F076288 -/* 0AADA8 7F076278 8C580004 */ lw $t8, 4($v0) -/* 0AADAC 7F07627C 03E00008 */ jr $ra -/* 0AADB0 7F076280 AC470000 */ sw $a3, ($v0) - -/* 0AADB4 7F076284 8C580004 */ lw $t8, 4($v0) -.L7F076288: -/* 0AADB8 7F076288 14D80013 */ bne $a2, $t8, .L7F0762D8 -/* 0AADBC 7F07628C 00000000 */ nop -/* 0AADC0 7F076290 03E00008 */ jr $ra -/* 0AADC4 7F076294 AC470004 */ sw $a3, 4($v0) - -/* 0AADC8 7F076298 8CA20004 */ lw $v0, 4($a1) -.L7F07629C: -/* 0AADCC 7F07629C 8C590000 */ lw $t9, ($v0) -/* 0AADD0 7F0762A0 54D90004 */ bnel $a2, $t9, .L7F0762B4 -/* 0AADD4 7F0762A4 8C480004 */ lw $t0, 4($v0) -/* 0AADD8 7F0762A8 03E00008 */ jr $ra -/* 0AADDC 7F0762AC AC470000 */ sw $a3, ($v0) - -/* 0AADE0 7F0762B0 8C480004 */ lw $t0, 4($v0) -.L7F0762B4: -/* 0AADE4 7F0762B4 14C80008 */ bne $a2, $t0, .L7F0762D8 -/* 0AADE8 7F0762B8 00000000 */ nop -/* 0AADEC 7F0762BC 03E00008 */ jr $ra -/* 0AADF0 7F0762C0 AC470004 */ sw $a3, 4($v0) - -.L7F0762C4: -/* 0AADF4 7F0762C4 8CA20004 */ lw $v0, 4($a1) -/* 0AADF8 7F0762C8 8C490008 */ lw $t1, 8($v0) -/* 0AADFC 7F0762CC 14C90002 */ bne $a2, $t1, .L7F0762D8 -/* 0AAE00 7F0762D0 00000000 */ nop -/* 0AAE04 7F0762D4 AC470008 */ sw $a3, 8($v0) -.L7F0762D8: -/* 0AAE08 7F0762D8 03E00008 */ jr $ra -/* 0AAE0C 7F0762DC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0762E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0762E0 -/* 0AAE10 7F0762E0 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0AAE14 7F0762E4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0AAE18 7F0762E8 AFBE0038 */ sw $fp, 0x38($sp) -/* 0AAE1C 7F0762EC AFB70034 */ sw $s7, 0x34($sp) -/* 0AAE20 7F0762F0 AFB60030 */ sw $s6, 0x30($sp) -/* 0AAE24 7F0762F4 AFB5002C */ sw $s5, 0x2c($sp) -/* 0AAE28 7F0762F8 AFB40028 */ sw $s4, 0x28($sp) -/* 0AAE2C 7F0762FC AFB30024 */ sw $s3, 0x24($sp) -/* 0AAE30 7F076300 AFB20020 */ sw $s2, 0x20($sp) -/* 0AAE34 7F076304 AFB1001C */ sw $s1, 0x1c($sp) -/* 0AAE38 7F076308 AFB00018 */ sw $s0, 0x18($sp) -/* 0AAE3C 7F07630C AFA60080 */ sw $a2, 0x80($sp) -/* 0AAE40 7F076310 AFA70084 */ sw $a3, 0x84($sp) -/* 0AAE44 7F076314 8C8E0008 */ lw $t6, 8($a0) -/* 0AAE48 7F076318 0080A825 */ move $s5, $a0 -/* 0AAE4C 7F07631C 00A02025 */ move $a0, $a1 -/* 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_rom_remaining_buffer_for_index -/* 0AAE60 7F076330 00402025 */ move $a0, $v0 -/* 0AAE64 7F076334 00408025 */ move $s0, $v0 -/* 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) -/* 0AAE78 7F076348 02A02025 */ move $a0, $s5 -/* 0AAE7C 7F07634C 27A50074 */ addiu $a1, $sp, 0x74 -/* 0AAE80 7F076350 0FC1D831 */ jal sub_GAME_7F0760C4 -/* 0AAE84 7F076354 27A6006C */ addiu $a2, $sp, 0x6c -/* 0AAE88 7F076358 8FB7006C */ lw $s7, 0x6c($sp) -/* 0AAE8C 7F07635C 3C1600FF */ lui $s6, (0x00FFFFFF >> 16) # lui $s6, 0xff -/* 0AAE90 7F076360 36D6FFFF */ ori $s6, (0x00FFFFFF & 0xFFFF) # ori $s6, $s6, 0xffff -/* 0AAE94 7F076364 12E00043 */ beqz $s7, .L7F076474 -/* 0AAE98 7F076368 8FA70054 */ lw $a3, 0x54($sp) -/* 0AAE9C 7F07636C 8EAF0008 */ lw $t7, 8($s5) -/* 0AAEA0 7F076370 02F6C824 */ and $t9, $s7, $s6 -/* 0AAEA4 7F076374 02074821 */ addu $t1, $s0, $a3 -/* 0AAEA8 7F076378 01F92021 */ addu $a0, $t7, $t9 -/* 0AAEAC 7F07637C 03C44023 */ subu $t0, $fp, $a0 -/* 0AAEB0 7F076380 01073021 */ addu $a2, $t0, $a3 -/* 0AAEB4 7F076384 01262823 */ subu $a1, $t1, $a2 -/* 0AAEB8 7F076388 00A45023 */ subu $t2, $a1, $a0 -/* 0AAEBC 7F07638C 02E09825 */ move $s3, $s7 -/* 0AAEC0 7F076390 0FC339E5 */ jal sub_GAME_7F0CE794 -/* 0AAEC4 7F076394 AFAA0058 */ sw $t2, 0x58($sp) -/* 0AAEC8 7F076398 02A02025 */ move $a0, $s5 -/* 0AAECC 7F07639C 0FC32F94 */ jal sub_GAME_7F0CBE50 -/* 0AAED0 7F0763A0 8FA50084 */ lw $a1, 0x84($sp) -/* 0AAED4 7F0763A4 8FAB0074 */ lw $t3, 0x74($sp) -/* 0AAED8 7F0763A8 51600025 */ beql $t3, $zero, .L7F076440 -/* 0AAEDC 7F0763AC 8EAA0008 */ lw $t2, 8($s5) -/* 0AAEE0 7F0763B0 8FB0006C */ lw $s0, 0x6c($sp) -.L7F0763B4: -/* 0AAEE4 7F0763B4 8FB40074 */ lw $s4, 0x74($sp) -/* 0AAEE8 7F0763B8 02A02025 */ move $a0, $s5 -/* 0AAEEC 7F0763BC 27A50074 */ addiu $a1, $sp, 0x74 -/* 0AAEF0 7F0763C0 0FC1D831 */ jal sub_GAME_7F0760C4 -/* 0AAEF4 7F0763C4 27A6006C */ addiu $a2, $sp, 0x6c -/* 0AAEF8 7F0763C8 8FB7006C */ lw $s7, 0x6c($sp) -/* 0AAEFC 7F0763CC 02A02025 */ move $a0, $s5 -/* 0AAF00 7F0763D0 02802825 */ move $a1, $s4 -/* 0AAF04 7F0763D4 12E00004 */ beqz $s7, .L7F0763E8 -/* 0AAF08 7F0763D8 02003025 */ move $a2, $s0 -/* 0AAF0C 7F0763DC 02F09023 */ subu $s2, $s7, $s0 -/* 0AAF10 7F0763E0 10000007 */ b .L7F076400 -/* 0AAF14 7F0763E4 02168824 */ and $s1, $s0, $s6 -.L7F0763E8: -/* 0AAF18 7F0763E8 8FAC0054 */ lw $t4, 0x54($sp) -/* 0AAF1C 7F0763EC 8EAE0008 */ lw $t6, 8($s5) -/* 0AAF20 7F0763F0 02168824 */ and $s1, $s0, $s6 -/* 0AAF24 7F0763F4 019E6821 */ addu $t5, $t4, $fp -/* 0AAF28 7F0763F8 01AEC023 */ subu $t8, $t5, $t6 -/* 0AAF2C 7F0763FC 03119023 */ subu $s2, $t8, $s1 -.L7F076400: -/* 0AAF30 7F076400 0FC1D88F */ jal sub_GAME_7F07623C -/* 0AAF34 7F076404 02603825 */ move $a3, $s3 -/* 0AAF38 7F076408 8EA20008 */ lw $v0, 8($s5) -/* 0AAF3C 7F07640C 8FB90058 */ lw $t9, 0x58($sp) -/* 0AAF40 7F076410 02764024 */ and $t0, $s3, $s6 -/* 0AAF44 7F076414 00517821 */ addu $t7, $v0, $s1 -/* 0AAF48 7F076418 02402825 */ move $a1, $s2 -/* 0AAF4C 7F07641C 8FA70084 */ lw $a3, 0x84($sp) -/* 0AAF50 7F076420 00483021 */ addu $a2, $v0, $t0 -/* 0AAF54 7F076424 0FC33846 */ jal process_microcode_sort_display_modes_expand_image_calls -/* 0AAF58 7F076428 01F92021 */ addu $a0, $t7, $t9 -/* 0AAF5C 7F07642C 8FA90074 */ lw $t1, 0x74($sp) -/* 0AAF60 7F076430 02629821 */ addu $s3, $s3, $v0 -/* 0AAF64 7F076434 5520FFDF */ bnezl $t1, .L7F0763B4 -/* 0AAF68 7F076438 8FB0006C */ lw $s0, 0x6c($sp) -/* 0AAF6C 7F07643C 8EAA0008 */ lw $t2, 8($s5) -.L7F076440: -/* 0AAF70 7F076440 8FA50054 */ lw $a1, 0x54($sp) -/* 0AAF74 7F076444 02765824 */ and $t3, $s3, $s6 -/* 0AAF78 7F076448 8FA70080 */ lw $a3, 0x80($sp) -/* 0AAF7C 7F07644C 014B6021 */ addu $t4, $t2, $t3 -/* 0AAF80 7F076450 01859023 */ subu $s2, $t4, $a1 -/* 0AAF84 7F076454 2646000F */ addiu $a2, $s2, 0xf -/* 0AAF88 7F076458 2401FFF0 */ li $at, -16 -/* 0AAF8C 7F07645C 00C16824 */ and $t5, $a2, $at -/* 0AAF90 7F076460 2CEE0001 */ sltiu $t6, $a3, 1 -/* 0AAF94 7F076464 01C03825 */ move $a3, $t6 -/* 0AAF98 7F076468 01A03025 */ move $a2, $t5 -/* 0AAF9C 7F07646C 0FC2F44E */ jal sub_GAME_7F0BD138 -/* 0AAFA0 7F076470 8FA40050 */ lw $a0, 0x50($sp) -.L7F076474: -/* 0AAFA4 7F076474 8FBF003C */ lw $ra, 0x3c($sp) -/* 0AAFA8 7F076478 8FB00018 */ lw $s0, 0x18($sp) -/* 0AAFAC 7F07647C 8FB1001C */ lw $s1, 0x1c($sp) -/* 0AAFB0 7F076480 8FB20020 */ lw $s2, 0x20($sp) -/* 0AAFB4 7F076484 8FB30024 */ lw $s3, 0x24($sp) -/* 0AAFB8 7F076488 8FB40028 */ lw $s4, 0x28($sp) -/* 0AAFBC 7F07648C 8FB5002C */ lw $s5, 0x2c($sp) -/* 0AAFC0 7F076490 8FB60030 */ lw $s6, 0x30($sp) -/* 0AAFC4 7F076494 8FB70034 */ lw $s7, 0x34($sp) -/* 0AAFC8 7F076498 8FBE0038 */ lw $fp, 0x38($sp) -/* 0AAFCC 7F07649C 03E00008 */ jr $ra -/* 0AAFD0 7F0764A0 27BD0078 */ addiu $sp, $sp, 0x78 -) -#endif - - - - - -#ifdef NONMATCHING -void load_object_fill_header(void) { - -} -#else -GLOBAL_ASM( -.text -glabel load_object_fill_header -/* 0AAFD4 7F0764A4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0AAFD8 7F0764A8 AFB00018 */ sw $s0, 0x18($sp) -/* 0AAFDC 7F0764AC 00808025 */ move $s0, $a0 -/* 0AAFE0 7F0764B0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0AAFE4 7F0764B4 AFA50024 */ sw $a1, 0x24($sp) -/* 0AAFE8 7F0764B8 10C00006 */ beqz $a2, .L7F0764D4 -/* 0AAFEC 7F0764BC AFA60028 */ sw $a2, 0x28($sp) -/* 0AAFF0 7F0764C0 00A02025 */ move $a0, $a1 -/* 0AAFF4 7F0764C4 0FC2F350 */ jal _load_resource_named_to_buffer -/* 0AAFF8 7F0764C8 00002825 */ move $a1, $zero -/* 0AAFFC 7F0764CC 10000007 */ b .L7F0764EC -/* 0AB000 7F0764D0 00403025 */ move $a2, $v0 -.L7F0764D4: -/* 0AB004 7F0764D4 8FA40024 */ lw $a0, 0x24($sp) -/* 0AB008 7F0764D8 00002825 */ move $a1, $zero -/* 0AB00C 7F0764DC 24060100 */ li $a2, 256 -/* 0AB010 7F0764E0 0FC2F341 */ jal _load_resource_named_to_membank -/* 0AB014 7F0764E4 24070004 */ li $a3, 4 -/* 0AB018 7F0764E8 00403025 */ move $a2, $v0 -.L7F0764EC: -/* 0AB01C 7F0764EC 86190016 */ lh $t9, 0x16($s0) -/* 0AB020 7F0764F0 860F000C */ lh $t7, 0xc($s0) -/* 0AB024 7F0764F4 AE060008 */ sw $a2, 8($s0) -/* 0AB028 7F0764F8 00194080 */ sll $t0, $t9, 2 -/* 0AB02C 7F0764FC 01194023 */ subu $t0, $t0, $t9 -/* 0AB030 7F076500 000FC080 */ sll $t8, $t7, 2 -/* 0AB034 7F076504 00D81021 */ addu $v0, $a2, $t8 -/* 0AB038 7F076508 00084080 */ sll $t0, $t0, 2 -/* 0AB03C 7F07650C 00484821 */ addu $t1, $v0, $t0 -/* 0AB040 7F076510 AE020018 */ sw $v0, 0x18($s0) -/* 0AB044 7F076514 AE090000 */ sw $t1, ($s0) -/* 0AB048 7F076518 02002025 */ move $a0, $s0 -/* 0AB04C 7F07651C 0FC1D6A4 */ jal sub_GAME_7F075A90 -/* 0AB050 7F076520 3C050500 */ lui $a1, 0x500 -/* 0AB054 7F076524 02002025 */ move $a0, $s0 -/* 0AB058 7F076528 8FA50024 */ lw $a1, 0x24($sp) -/* 0AB05C 7F07652C 8FA60028 */ lw $a2, 0x28($sp) -/* 0AB060 7F076530 0FC1D8B8 */ jal sub_GAME_7F0762E0 -/* 0AB064 7F076534 8FA70030 */ lw $a3, 0x30($sp) -/* 0AB068 7F076538 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AB06C 7F07653C 8FB00018 */ lw $s0, 0x18($sp) -/* 0AB070 7F076540 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0AB074 7F076544 03E00008 */ jr $ra -/* 0AB078 7F076548 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void load_object_into_memory(void) { - // Node 0 - load_object_fill_header(0, 0, 0); - return; - // (possible return value: load_object_fill_header(0, 0, 0)) -} - -#else -GLOBAL_ASM( -.text -glabel load_object_into_memory -/* 0AB07C 7F07654C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0AB080 7F076550 AFBF001C */ sw $ra, 0x1c($sp) -/* 0AB084 7F076554 AFA00010 */ sw $zero, 0x10($sp) -/* 0AB088 7F076558 00003025 */ move $a2, $zero -/* 0AB08C 7F07655C 0FC1D929 */ jal load_object_fill_header -/* 0AB090 7F076560 00003825 */ move $a3, $zero -/* 0AB094 7F076564 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AB098 7F076568 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0AB09C 7F07656C 03E00008 */ jr $ra -/* 0AB0A0 7F076570 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void load_object_into_memory_unused_maybe(void) { - // Node 0 - load_object_fill_header(0); - return; - // (possible return value: load_object_fill_header(0)) -} - -#else -GLOBAL_ASM( -.text -glabel load_object_into_memory_unused_maybe -/* 0AB0A4 7F076574 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0AB0A8 7F076578 AFBF001C */ sw $ra, 0x1c($sp) -/* 0AB0AC 7F07657C 0FC1D929 */ jal load_object_fill_header -/* 0AB0B0 7F076580 AFA00010 */ sw $zero, 0x10($sp) -/* 0AB0B4 7F076584 8FBF001C */ lw $ra, 0x1c($sp) -/* 0AB0B8 7F076588 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0AB0BC 7F07658C 03E00008 */ jr $ra -/* 0AB0C0 7F076590 00000000 */ nop -) -#endif - - - - diff --git a/src/game/objective.c b/src/game/objective.c deleted file mode 100644 index be7947f..0000000 --- a/src/game/objective.c +++ /dev/null @@ -1,287 +0,0 @@ -#include "ultra64.h" - - -#ifdef NONMATCHING -void something_with_stage_objectives(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel something_with_stage_objectives -/* 0399F0 7F004EC0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0399F4 7F004EC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0399F8 7F004EC8 0C001A57 */ jal get_stage_num -/* 0399FC 7F004ECC 00000000 */ nop -/* 039A00 7F004ED0 2401005A */ li $at, 90 -/* 039A04 7F004ED4 10410011 */ beq $v0, $at, .L7F004F1C -/* 039A08 7F004ED8 240EFFFF */ li $t6, -1 -/* 039A0C 7F004EDC 3C018003 */ lui $at, %hi(num_objective_ptrs) -/* 039A10 7F004EE0 AC2E22F0 */ sw $t6, %lo(num_objective_ptrs)($at) -/* 039A14 7F004EE4 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D58) -/* 039A18 7F004EE8 AC205D58 */ sw $zero, %lo(dword_CODE_bss_80075D58)($at) -/* 039A1C 7F004EEC 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D5C) -/* 039A20 7F004EF0 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075D60) -/* 039A24 7F004EF4 3C038007 */ lui $v1, %hi(ptr_last_tag_entry_type16) -/* 039A28 7F004EF8 24635D80 */ addiu $v1, %lo(ptr_last_tag_entry_type16) # addiu $v1, $v1, 0x5d80 -/* 039A2C 7F004EFC 24425D60 */ addiu $v0, %lo(dword_CODE_bss_80075D60) # addiu $v0, $v0, 0x5d60 -/* 039A30 7F004F00 AC205D5C */ sw $zero, %lo(dword_CODE_bss_80075D5C)($at) -.L7F004F04: -/* 039A34 7F004F04 24420010 */ addiu $v0, $v0, 0x10 -/* 039A38 7F004F08 AC40FFF4 */ sw $zero, -0xc($v0) -/* 039A3C 7F004F0C AC40FFF8 */ sw $zero, -8($v0) -/* 039A40 7F004F10 AC40FFFC */ sw $zero, -4($v0) -/* 039A44 7F004F14 1443FFFB */ bne $v0, $v1, .L7F004F04 -/* 039A48 7F004F18 AC40FFF0 */ sw $zero, -0x10($v0) -.L7F004F1C: -/* 039A4C 7F004F1C 3C018007 */ lui $at, %hi(objective_ptrs) -/* 039A50 7F004F20 AC205D30 */ sw $zero, %lo(objective_ptrs)($at) -/* 039A54 7F004F24 3C018007 */ lui $at, %hi(objective_ptrs+4) -/* 039A58 7F004F28 3C028007 */ lui $v0, %hi(objective_ptrs+8) -/* 039A5C 7F004F2C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075D58) -/* 039A60 7F004F30 24635D58 */ addiu $v1, %lo(dword_CODE_bss_80075D58) # addiu $v1, $v1, 0x5d58 -/* 039A64 7F004F34 24425D38 */ addiu $v0, %lo(objective_ptrs+8) # addiu $v0, $v0, 0x5d38 -/* 039A68 7F004F38 AC205D34 */ sw $zero, %lo(objective_ptrs+4)($at) -.L7F004F3C: -/* 039A6C 7F004F3C 24420010 */ addiu $v0, $v0, 0x10 -/* 039A70 7F004F40 AC40FFF4 */ sw $zero, -0xc($v0) -/* 039A74 7F004F44 AC40FFF8 */ sw $zero, -8($v0) -/* 039A78 7F004F48 AC40FFFC */ sw $zero, -4($v0) -/* 039A7C 7F004F4C 1443FFFB */ bne $v0, $v1, .L7F004F3C -/* 039A80 7F004F50 AC40FFF0 */ sw $zero, -0x10($v0) -/* 039A84 7F004F54 3C018007 */ lui $at, %hi(ptr_last_tag_entry_type16) -/* 039A88 7F004F58 AC205D80 */ sw $zero, %lo(ptr_last_tag_entry_type16)($at) -/* 039A8C 7F004F5C 3C018007 */ lui $at, %hi(ptr_last_briefing_setup_entry_type23) -/* 039A90 7F004F60 AC205D84 */ sw $zero, %lo(ptr_last_briefing_setup_entry_type23)($at) -/* 039A94 7F004F64 3C018007 */ lui $at, %hi(ptr_last_enter_room_subobject_entry_type20) -/* 039A98 7F004F68 AC205D88 */ sw $zero, %lo(ptr_last_enter_room_subobject_entry_type20)($at) -/* 039A9C 7F004F6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 039AA0 7F004F70 3C018007 */ lui $at, %hi(ptr_last_deposit_in_room_subobject_entry_type21) -/* 039AA4 7F004F74 AC205D8C */ sw $zero, %lo(ptr_last_deposit_in_room_subobject_entry_type21)($at) -/* 039AA8 7F004F78 3C018007 */ lui $at, %hi(ptr_last_photo_obj_in_room_subobject_entry_type1E) -/* 039AAC 7F004F7C AC205D90 */ sw $zero, %lo(ptr_last_photo_obj_in_room_subobject_entry_type1E)($at) -/* 039AB0 7F004F80 03E00008 */ jr $ra -/* 039AB4 7F004F84 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel something_with_stage_objectives -/* 039A40 7F004ED0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 039A44 7F004ED4 AFBF0014 */ sw $ra, 0x14($sp) -/* 039A48 7F004ED8 0C001A57 */ jal get_stage_num -/* 039A4C 7F004EDC 00000000 */ nop -/* 039A50 7F004EE0 2401005A */ li $at, 90 -/* 039A54 7F004EE4 10410011 */ beq $v0, $at, .L7F004F2C -/* 039A58 7F004EE8 240EFFFF */ li $t6, -1 -/* 039A5C 7F004EEC 3C018003 */ lui $at, %hi(num_objective_ptrs) # $at, 0x8003 -/* 039A60 7F004EF0 AC2E2330 */ sw $t6, %lo(num_objective_ptrs)($at) -/* 039A64 7F004EF4 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D58) # $at, 0x8007 -/* 039A68 7F004EF8 AC205D98 */ sw $zero, %lo(dword_CODE_bss_80075D58)($at) -/* 039A6C 7F004EFC 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D5C) # $at, 0x8007 -/* 039A70 7F004F00 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075D60) # $v0, 0x8007 -/* 039A74 7F004F04 3C038007 */ lui $v1, %hi(ptr_last_tag_entry_type16) # $v1, 0x8007 -/* 039A78 7F004F08 24635DC0 */ addiu $v1, %lo(ptr_last_tag_entry_type16) # addiu $v1, $v1, 0x5dc0 -/* 039A7C 7F004F0C 24425DA0 */ addiu $v0, %lo(dword_CODE_bss_80075D60) # addiu $v0, $v0, 0x5da0 -/* 039A80 7F004F10 AC205D9C */ sw $zero, %lo(dword_CODE_bss_80075D5C)($at) -.L7F004F14: -/* 039A84 7F004F14 24420010 */ addiu $v0, $v0, 0x10 -/* 039A88 7F004F18 AC40FFF4 */ sw $zero, -0xc($v0) -/* 039A8C 7F004F1C AC40FFF8 */ sw $zero, -8($v0) -/* 039A90 7F004F20 AC40FFFC */ sw $zero, -4($v0) -/* 039A94 7F004F24 1443FFFB */ bne $v0, $v1, .L7F004F14 -/* 039A98 7F004F28 AC40FFF0 */ sw $zero, -0x10($v0) -.L7F004F2C: -/* 039A9C 7F004F2C 3C018003 */ lui $at, %hi(num_objective_ptrs+4) # $at, 0x8003 -/* 039AA0 7F004F30 AC202334 */ sw $zero, %lo(num_objective_ptrs+4)($at) -/* 039AA4 7F004F34 3C018007 */ lui $at, %hi(objective_ptrs) # $at, 0x8007 -/* 039AA8 7F004F38 AC205D70 */ sw $zero, %lo(objective_ptrs)($at) -/* 039AAC 7F004F3C 3C018007 */ lui $at, %hi(objective_ptrs+4) # $at, 0x8007 -/* 039AB0 7F004F40 3C028007 */ lui $v0, %hi(objective_ptrs+8) # $v0, 0x8007 -/* 039AB4 7F004F44 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075D58) # $v1, 0x8007 -/* 039AB8 7F004F48 24635D98 */ addiu $v1, %lo(dword_CODE_bss_80075D58) # addiu $v1, $v1, 0x5d98 -/* 039ABC 7F004F4C 24425D78 */ addiu $v0, %lo(objective_ptrs+8) # addiu $v0, $v0, 0x5d78 -/* 039AC0 7F004F50 AC205D74 */ sw $zero, %lo(objective_ptrs+4)($at) -.L7F004F54: -/* 039AC4 7F004F54 24420010 */ addiu $v0, $v0, 0x10 -/* 039AC8 7F004F58 AC40FFF4 */ sw $zero, -0xc($v0) -/* 039ACC 7F004F5C AC40FFF8 */ sw $zero, -8($v0) -/* 039AD0 7F004F60 AC40FFFC */ sw $zero, -4($v0) -/* 039AD4 7F004F64 1443FFFB */ bne $v0, $v1, .L7F004F54 -/* 039AD8 7F004F68 AC40FFF0 */ sw $zero, -0x10($v0) -/* 039ADC 7F004F6C 3C018007 */ lui $at, %hi(ptr_last_tag_entry_type16) # $at, 0x8007 -/* 039AE0 7F004F70 AC205DC0 */ sw $zero, %lo(ptr_last_tag_entry_type16)($at) -/* 039AE4 7F004F74 3C018007 */ lui $at, %hi(ptr_last_briefing_setup_entry_type23) # $at, 0x8007 -/* 039AE8 7F004F78 AC205DC4 */ sw $zero, %lo(ptr_last_briefing_setup_entry_type23)($at) -/* 039AEC 7F004F7C 3C018007 */ lui $at, %hi(ptr_last_enter_room_subobject_entry_type20) # $at, 0x8007 -/* 039AF0 7F004F80 AC205DC8 */ sw $zero, %lo(ptr_last_enter_room_subobject_entry_type20)($at) -/* 039AF4 7F004F84 8FBF0014 */ lw $ra, 0x14($sp) -/* 039AF8 7F004F88 3C018007 */ lui $at, %hi(ptr_last_deposit_in_room_subobject_entry_type21) # $at, 0x8007 -/* 039AFC 7F004F8C AC205DCC */ sw $zero, %lo(ptr_last_deposit_in_room_subobject_entry_type21)($at) -/* 039B00 7F004F90 3C018007 */ lui $at, %hi(ptr_last_photo_obj_in_room_subobject_entry_type1E) # $at, 0x8007 -/* 039B04 7F004F94 AC205DD0 */ sw $zero, %lo(ptr_last_photo_obj_in_room_subobject_entry_type1E)($at) -/* 039B08 7F004F98 03E00008 */ jr $ra -/* 039B0C 7F004F9C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - -#endif - - -#ifdef NONMATCHING -void *set_parent_cur_tag_entry(void *arg0) { - // Node 0 - arg0->unk8 = (void *) ptr_last_tag_entry_type16; - ptr_last_tag_entry_type16 = arg0; - return; - // (possible return value: &ptr_last_tag_entry_type16) -} - -#else -GLOBAL_ASM( -.text -glabel set_parent_cur_tag_entry -/* 039AB8 7F004F88 3C028007 */ lui $v0, %hi(ptr_last_tag_entry_type16) -/* 039ABC 7F004F8C 24425D80 */ addiu $v0, %lo(ptr_last_tag_entry_type16) # addiu $v0, $v0, 0x5d80 -/* 039AC0 7F004F90 8C4E0000 */ lw $t6, ($v0) -/* 039AC4 7F004F94 AC8E0008 */ sw $t6, 8($a0) -/* 039AC8 7F004F98 03E00008 */ jr $ra -/* 039ACC 7F004F9C AC440000 */ sw $a0, ($v0) -) -#endif - - -#ifdef NONMATCHING -void *setup_briefing_text_entry_parent(void *arg0) { - // Node 0 - arg0->unkC = (void *) ptr_last_briefing_setup_entry_type23; - ptr_last_briefing_setup_entry_type23 = arg0; - return; - // (possible return value: &ptr_last_briefing_setup_entry_type23) -} - -#else -GLOBAL_ASM( -.text -glabel setup_briefing_text_entry_parent -/* 039AD0 7F004FA0 3C028007 */ lui $v0, %hi(ptr_last_briefing_setup_entry_type23) -/* 039AD4 7F004FA4 24425D84 */ addiu $v0, %lo(ptr_last_briefing_setup_entry_type23) # addiu $v0, $v0, 0x5d84 -/* 039AD8 7F004FA8 8C4E0000 */ lw $t6, ($v0) -/* 039ADC 7F004FAC AC8E000C */ sw $t6, 0xc($a0) -/* 039AE0 7F004FB0 03E00008 */ jr $ra -/* 039AE4 7F004FB4 AC440000 */ sw $a0, ($v0) -) -#endif - - -#ifdef NONMATCHING -s32 add_ptr_to_objective(void *arg0) { - // Node 0 - (0x80070000 + (arg0->unk4 * 4))->unk5D30 = arg0; - if (num_objective_ptrs < arg0->unk4) - { - // Node 1 - num_objective_ptrs = (s32) arg0->unk4; - return; - // (possible return value: arg0->unk4) - } - // (possible return value: arg0->unk4) -} - -#else -GLOBAL_ASM( -.text -glabel add_ptr_to_objective -/* 039AE8 7F004FB8 8C8E0004 */ lw $t6, 4($a0) -/* 039AEC 7F004FBC 3C018007 */ lui $at, %hi(objective_ptrs) -/* 039AF0 7F004FC0 3C038003 */ lui $v1, %hi(num_objective_ptrs) -/* 039AF4 7F004FC4 000E7880 */ sll $t7, $t6, 2 -/* 039AF8 7F004FC8 002F0821 */ addu $at, $at, $t7 -/* 039AFC 7F004FCC AC245D30 */ sw $a0, %lo(objective_ptrs)($at) -/* 039B00 7F004FD0 246322F0 */ addiu $v1, %lo(num_objective_ptrs) # addiu $v1, $v1, 0x22f0 -/* 039B04 7F004FD4 8C780000 */ lw $t8, ($v1) -/* 039B08 7F004FD8 8C820004 */ lw $v0, 4($a0) -/* 039B0C 7F004FDC 0302082A */ slt $at, $t8, $v0 -/* 039B10 7F004FE0 10200002 */ beqz $at, .L7F004FEC -/* 039B14 7F004FE4 00000000 */ nop -/* 039B18 7F004FE8 AC620000 */ sw $v0, ($v1) -.L7F004FEC: -/* 039B1C 7F004FEC 03E00008 */ jr $ra -/* 039B20 7F004FF0 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void *set_parent_cur_obj_enter_room(void *arg0) { - // Node 0 - arg0->unkC = (void *) ptr_last_enter_room_subobject_entry_type20; - ptr_last_enter_room_subobject_entry_type20 = arg0; - return; - // (possible return value: &ptr_last_enter_room_subobject_entry_type20) -} - -#else -GLOBAL_ASM( -.text -glabel set_parent_cur_obj_enter_room -/* 039B24 7F004FF4 3C028007 */ lui $v0, %hi(ptr_last_enter_room_subobject_entry_type20) -/* 039B28 7F004FF8 24425D88 */ addiu $v0, %lo(ptr_last_enter_room_subobject_entry_type20) # addiu $v0, $v0, 0x5d88 -/* 039B2C 7F004FFC 8C4E0000 */ lw $t6, ($v0) -/* 039B30 7F005000 AC8E000C */ sw $t6, 0xc($a0) -/* 039B34 7F005004 03E00008 */ jr $ra -/* 039B38 7F005008 AC440000 */ sw $a0, ($v0) -) -#endif - - -#ifdef NONMATCHING -void *set_parent_cur_obj_deposited_in_room(void *arg0) { - // Node 0 - arg0->unk10 = (void *) ptr_last_deposit_in_room_subobject_entry_type21; - ptr_last_deposit_in_room_subobject_entry_type21 = arg0; - return; - // (possible return value: &ptr_last_deposit_in_room_subobject_entry_type21) -} - -#else -GLOBAL_ASM( -.text -glabel set_parent_cur_obj_deposited_in_room -/* 039B3C 7F00500C 3C028007 */ lui $v0, %hi(ptr_last_deposit_in_room_subobject_entry_type21) -/* 039B40 7F005010 24425D8C */ addiu $v0, %lo(ptr_last_deposit_in_room_subobject_entry_type21) # addiu $v0, $v0, 0x5d8c -/* 039B44 7F005014 8C4E0000 */ lw $t6, ($v0) -/* 039B48 7F005018 AC8E0010 */ sw $t6, 0x10($a0) -/* 039B4C 7F00501C 03E00008 */ jr $ra -/* 039B50 7F005020 AC440000 */ sw $a0, ($v0) -) -#endif - - -#ifdef NONMATCHING -void *set_parent_cur_obj_photograph(void *arg0) { - // Node 0 - arg0->unkC = (void *) ptr_last_photo_obj_in_room_subobject_entry_type1E; - ptr_last_photo_obj_in_room_subobject_entry_type1E = arg0; - return; - // (possible return value: &ptr_last_photo_obj_in_room_subobject_entry_type1E) -} - -#else -GLOBAL_ASM( -.text -glabel set_parent_cur_obj_photograph -/* 039B54 7F005024 3C028007 */ lui $v0, %hi(ptr_last_photo_obj_in_room_subobject_entry_type1E) -/* 039B58 7F005028 24425D90 */ addiu $v0, %lo(ptr_last_photo_obj_in_room_subobject_entry_type1E) # addiu $v0, $v0, 0x5d90 -/* 039B5C 7F00502C 8C4E0000 */ lw $t6, ($v0) -/* 039B60 7F005030 AC8E000C */ sw $t6, 0xc($a0) -/* 039B64 7F005034 03E00008 */ jr $ra -/* 039B68 7F005038 AC440000 */ sw $a0, ($v0) -) -#endif - - diff --git a/src/game/objective_status.c b/src/game/objective_status.c deleted file mode 100644 index 7cd0604..0000000 --- a/src/game/objective_status.c +++ /dev/null @@ -1,1081 +0,0 @@ -#include "ultra64.h" -#include "bondconstants.h" -#include "bondtypes.h" - -// bss -//CODE.bss:80075D30 -struct objective_entry * objective_ptrs[10]; -u32 dword_CODE_bss_80075D58; -u32 dword_CODE_bss_80075D5C; -char dword_CODE_bss_80075D60[0x20]; -//CODE.bss:80075D80 -u32 *ptr_last_tag_entry_type16; -//CODE.bss:80075D84 -u32 *ptr_last_briefing_setup_entry_type23; -//CODE.bss:80075D88 -u32 *ptr_last_enter_room_subobject_entry_type20; -//CODE.bss:80075D8C -u32 *ptr_last_deposit_in_room_subobject_entry_type21; -//CODE.bss:80075D90 -u32 *ptr_last_photo_obj_in_room_subobject_entry_type1E; - -// data -s32 num_objective_ptrs[] = {0xFFFFFFFF, 0}; - - - -// rodata -const u32 D_80053610[] = {0,0,0,0,0,0,0,0,0,0,0,0,0}; -//D:80053644 -const u32 aSAC[] = {0x25732080, 0x25632000}; -//D:8005364C -const char aSC[] = "%s %c: "; - - - -#ifdef NONMATCHING -void sub_GAME_7F057080(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F057080 -/* 08BBB0 7F057080 3C038007 */ lui $v1, %hi(ptr_last_tag_entry_type16) -/* 08BBB4 7F057084 8C635D80 */ lw $v1, %lo(ptr_last_tag_entry_type16)($v1) -/* 08BBB8 7F057088 3082FFFF */ andi $v0, $a0, 0xffff -/* 08BBBC 7F05708C 5060000A */ beql $v1, $zero, .L7F0570B8 -/* 08BBC0 7F057090 00001025 */ move $v0, $zero -/* 08BBC4 7F057094 946E0004 */ lhu $t6, 4($v1) -.L7F057098: -/* 08BBC8 7F057098 544E0004 */ bnel $v0, $t6, .L7F0570AC -/* 08BBCC 7F05709C 8C630008 */ lw $v1, 8($v1) -/* 08BBD0 7F0570A0 03E00008 */ jr $ra -/* 08BBD4 7F0570A4 00601025 */ move $v0, $v1 - -/* 08BBD8 7F0570A8 8C630008 */ lw $v1, 8($v1) -.L7F0570AC: -/* 08BBDC 7F0570AC 5460FFFA */ bnezl $v1, .L7F057098 -/* 08BBE0 7F0570B0 946E0004 */ lhu $t6, 4($v1) -/* 08BBE4 7F0570B4 00001025 */ move $v0, $zero -.L7F0570B8: -/* 08BBE8 7F0570B8 03E00008 */ jr $ra -/* 08BBEC 7F0570BC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_handle_to_tagged_object(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_handle_to_tagged_object -/* 08BBF0 7F0570C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08BBF4 7F0570C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 08BBF8 7F0570C8 0FC15C20 */ jal sub_GAME_7F057080 -/* 08BBFC 7F0570CC 00000000 */ nop -/* 08BC00 7F0570D0 10400002 */ beqz $v0, .L7F0570DC -/* 08BC04 7F0570D4 00001825 */ move $v1, $zero -/* 08BC08 7F0570D8 8C43000C */ lw $v1, 0xc($v0) -.L7F0570DC: -/* 08BC0C 7F0570DC 10600006 */ beqz $v1, .L7F0570F8 -/* 08BC10 7F0570E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 08BC14 7F0570E4 8C6E0064 */ lw $t6, 0x64($v1) -/* 08BC18 7F0570E8 31CF0010 */ andi $t7, $t6, 0x10 -/* 08BC1C 7F0570EC 55E00003 */ bnezl $t7, .L7F0570FC -/* 08BC20 7F0570F0 00601025 */ move $v0, $v1 -/* 08BC24 7F0570F4 00001825 */ move $v1, $zero -.L7F0570F8: -/* 08BC28 7F0570F8 00601025 */ move $v0, $v1 -.L7F0570FC: -/* 08BC2C 7F0570FC 03E00008 */ jr $ra -/* 08BC30 7F057100 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - - -#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( -.text -glabel get_ptr_text_for_watch_breifing_page -/* 08BC34 7F057104 3C028007 */ lui $v0, %hi(ptr_last_briefing_setup_entry_type23) -/* 08BC38 7F057108 8C425D84 */ lw $v0, %lo(ptr_last_briefing_setup_entry_type23)($v0) -/* 08BC3C 7F05710C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08BC40 7F057110 AFBF0014 */ sw $ra, 0x14($sp) -/* 08BC44 7F057114 00802825 */ move $a1, $a0 -/* 08BC48 7F057118 1040000D */ beqz $v0, .L7F057150 -/* 08BC4C 7F05711C 00001825 */ move $v1, $zero -/* 08BC50 7F057120 8C4E0004 */ lw $t6, 4($v0) -.L7F057124: -/* 08BC54 7F057124 54AE0008 */ bnel $a1, $t6, .L7F057148 -/* 08BC58 7F057128 8C42000C */ lw $v0, 0xc($v0) -/* 08BC5C 7F05712C 9444000A */ lhu $a0, 0xa($v0) -/* 08BC60 7F057130 0FC30776 */ jal get_textptr_for_textID -/* 08BC64 7F057134 AFA50018 */ sw $a1, 0x18($sp) -/* 08BC68 7F057138 8FA50018 */ lw $a1, 0x18($sp) -/* 08BC6C 7F05713C 10000004 */ b .L7F057150 -/* 08BC70 7F057140 00401825 */ move $v1, $v0 -/* 08BC74 7F057144 8C42000C */ lw $v0, 0xc($v0) -.L7F057148: -/* 08BC78 7F057148 5440FFF6 */ bnezl $v0, .L7F057124 -/* 08BC7C 7F05714C 8C4E0004 */ lw $t6, 4($v0) -.L7F057150: -/* 08BC80 7F057150 54600011 */ bnezl $v1, .L7F057198 -/* 08BC84 7F057154 8FBF0014 */ lw $ra, 0x14($sp) -/* 08BC88 7F057158 14A00005 */ bnez $a1, .L7F057170 -/* 08BC8C 7F05715C 24010001 */ li $at, 1 -/* 08BC90 7F057160 0FC30776 */ jal get_textptr_for_textID -/* 08BC94 7F057164 3404B029 */ li $a0, 45097 -/* 08BC98 7F057168 1000000A */ b .L7F057194 -/* 08BC9C 7F05716C 00401825 */ move $v1, $v0 -.L7F057170: -/* 08BCA0 7F057170 14A10005 */ bne $a1, $at, .L7F057188 -/* 08BCA4 7F057174 00000000 */ nop -/* 08BCA8 7F057178 0FC30776 */ jal get_textptr_for_textID -/* 08BCAC 7F05717C 3404B02A */ li $a0, 45098 -/* 08BCB0 7F057180 10000004 */ b .L7F057194 -/* 08BCB4 7F057184 00401825 */ move $v1, $v0 -.L7F057188: -/* 08BCB8 7F057188 0FC30776 */ jal get_textptr_for_textID -/* 08BCBC 7F05718C 3404B02B */ li $a0, 45099 -/* 08BCC0 7F057190 00401825 */ move $v1, $v0 -.L7F057194: -/* 08BCC4 7F057194 8FBF0014 */ lw $ra, 0x14($sp) -.L7F057198: -/* 08BCC8 7F057198 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08BCCC 7F05719C 00601025 */ move $v0, $v1 -/* 08BCD0 7F0571A0 03E00008 */ jr $ra -/* 08BCD4 7F0571A4 00000000 */ nop -) -#endif - - - - - - -s32 add_objective(void) -{ - return num_objective_ptrs[0]+1; -} - - - -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; -} - - - - - -#ifdef NONMATCHING -void get_difficulty_for_objective(void) { - -} -#else -GLOBAL_ASM( -.text -glabel get_difficulty_for_objective -/* 08BD34 7F057204 2881000A */ slti $at, $a0, 0xa -/* 08BD38 7F057208 10200008 */ beqz $at, .L7F05722C -/* 08BD3C 7F05720C 00047080 */ sll $t6, $a0, 2 -/* 08BD40 7F057210 3C038007 */ lui $v1, %hi(objective_ptrs) -/* 08BD44 7F057214 006E1821 */ addu $v1, $v1, $t6 -/* 08BD48 7F057218 8C635D30 */ lw $v1, %lo(objective_ptrs)($v1) -/* 08BD4C 7F05721C 50600004 */ beql $v1, $zero, .L7F057230 -/* 08BD50 7F057220 00001025 */ move $v0, $zero -/* 08BD54 7F057224 03E00008 */ jr $ra -/* 08BD58 7F057228 8062000F */ lb $v0, 0xf($v1) - -.L7F05722C: -/* 08BD5C 7F05722C 00001025 */ move $v0, $zero -.L7F057230: -/* 08BD60 7F057230 03E00008 */ jr $ra -/* 08BD64 7F057234 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_status_of_objective(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80053654*/ -glabel jpt_objectives_microcode_handler -.word objective_microcode_type_17_18_1F_default -.word objective_microcode_type_17_18_1F_default -.word objective_microcode_type_19_destroy_object -.word objective_microcode_type_1A_complete_if_true -.word objective_microcode_type_1B_fail_if_true -.word objective_microcode_type_1C_collect_object -.word objective_microcode_type_1D_deposit_object -.word objective_microcode_type_1E_photograph_object -.word objective_microcode_type_17_18_1F_default -.word objective_microcode_type_20_enter_room -.word objective_microcode_type_21_deposit_object_in_room -.word objective_microcode_type_22_use_key_analyzer_on_object -.word 0,0,0 - -.text -glabel get_status_of_objective -/* 08BD68 7F057238 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08BD6C 7F05723C AFB30024 */ sw $s3, 0x24($sp) -/* 08BD70 7F057240 2881000A */ slti $at, $a0, 0xa -/* 08BD74 7F057244 AFBF002C */ sw $ra, 0x2c($sp) -/* 08BD78 7F057248 AFB40028 */ sw $s4, 0x28($sp) -/* 08BD7C 7F05724C AFB20020 */ sw $s2, 0x20($sp) -/* 08BD80 7F057250 AFB1001C */ sw $s1, 0x1c($sp) -/* 08BD84 7F057254 AFB00018 */ sw $s0, 0x18($sp) -/* 08BD88 7F057258 1020008A */ beqz $at, .L7F057484 -/* 08BD8C 7F05725C 24130001 */ li $s3, 1 -/* 08BD90 7F057260 00041080 */ sll $v0, $a0, 2 -/* 08BD94 7F057264 3C048007 */ lui $a0, %hi(objective_ptrs) -/* 08BD98 7F057268 00822021 */ addu $a0, $a0, $v0 -/* 08BD9C 7F05726C 8C845D30 */ lw $a0, %lo(objective_ptrs)($a0) -/* 08BDA0 7F057270 54800006 */ bnezl $a0, .L7F05728C -/* 08BDA4 7F057274 90830003 */ lbu $v1, 3($a0) -/* 08BDA8 7F057278 3C138007 */ lui $s3, %hi(dword_CODE_bss_80075D58) -/* 08BDAC 7F05727C 02629821 */ addu $s3, $s3, $v0 -/* 08BDB0 7F057280 10000080 */ b .L7F057484 -/* 08BDB4 7F057284 8E735D58 */ lw $s3, %lo(dword_CODE_bss_80075D58)($s3) -/* 08BDB8 7F057288 90830003 */ lbu $v1, 3($a0) -.L7F05728C: -/* 08BDBC 7F05728C 24010018 */ li $at, 24 -/* 08BDC0 7F057290 00809025 */ move $s2, $a0 -/* 08BDC4 7F057294 1061007B */ beq $v1, $at, .L7F057484 -/* 08BDC8 7F057298 24140001 */ li $s4, 1 -/* 08BDCC 7F05729C 246EFFE9 */ addiu $t6, $v1, -0x17 -.L7F0572A0: -/* 08BDD0 7F0572A0 2DC1000C */ sltiu $at, $t6, 0xc -/* 08BDD4 7F0572A4 10200064 */ beqz $at, .L7F057438 -/* 08BDD8 7F0572A8 02808825 */ move $s1, $s4 -/* 08BDDC 7F0572AC 000E7080 */ sll $t6, $t6, 2 -/* 08BDE0 7F0572B0 3C018005 */ lui $at, %hi(jpt_objectives_microcode_handler) -/* 08BDE4 7F0572B4 002E0821 */ addu $at, $at, $t6 -/* 08BDE8 7F0572B8 8C2E3654 */ lw $t6, %lo(jpt_objectives_microcode_handler)($at) -/* 08BDEC 7F0572BC 01C00008 */ jr $t6 -/* 08BDF0 7F0572C0 00000000 */ nop -objective_microcode_type_19_destroy_object: -/* 08BDF4 7F0572C4 0FC15C30 */ jal get_handle_to_tagged_object -/* 08BDF8 7F0572C8 8E440004 */ lw $a0, 4($s2) -/* 08BDFC 7F0572CC 1040005A */ beqz $v0, .L7F057438 -/* 08BE00 7F0572D0 00402025 */ move $a0, $v0 -/* 08BE04 7F0572D4 8C4F0010 */ lw $t7, 0x10($v0) -/* 08BE08 7F0572D8 11E00057 */ beqz $t7, .L7F057438 -/* 08BE0C 7F0572DC 00000000 */ nop -/* 08BE10 7F0572E0 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 08BE14 7F0572E4 00000000 */ nop -/* 08BE18 7F0572E8 10400053 */ beqz $v0, .L7F057438 -/* 08BE1C 7F0572EC 00000000 */ nop -/* 08BE20 7F0572F0 10000051 */ b .L7F057438 -/* 08BE24 7F0572F4 00008825 */ move $s1, $zero -objective_microcode_type_1A_complete_if_true: -/* 08BE28 7F0572F8 00002025 */ move $a0, $zero -/* 08BE2C 7F0572FC 0FC0CCCE */ jal check_if_objective_bitflags_set -/* 08BE30 7F057300 8E450004 */ lw $a1, 4($s2) -/* 08BE34 7F057304 1440004C */ bnez $v0, .L7F057438 -/* 08BE38 7F057308 00000000 */ nop -/* 08BE3C 7F05730C 1000004A */ b .L7F057438 -/* 08BE40 7F057310 00008825 */ move $s1, $zero -objective_microcode_type_1B_fail_if_true: -/* 08BE44 7F057314 00002025 */ move $a0, $zero -/* 08BE48 7F057318 0FC0CCCE */ jal check_if_objective_bitflags_set -/* 08BE4C 7F05731C 8E450004 */ lw $a1, 4($s2) -/* 08BE50 7F057320 10400045 */ beqz $v0, .L7F057438 -/* 08BE54 7F057324 00000000 */ nop -/* 08BE58 7F057328 10000043 */ b .L7F057438 -/* 08BE5C 7F05732C 24110002 */ li $s1, 2 -objective_microcode_type_1C_collect_object: -/* 08BE60 7F057330 0FC15C30 */ jal get_handle_to_tagged_object -/* 08BE64 7F057334 8E440004 */ lw $a0, 4($s2) -/* 08BE68 7F057338 10400008 */ beqz $v0, .L7F05735C -/* 08BE6C 7F05733C 00408025 */ move $s0, $v0 -/* 08BE70 7F057340 8C580010 */ lw $t8, 0x10($v0) -/* 08BE74 7F057344 13000005 */ beqz $t8, .L7F05735C -/* 08BE78 7F057348 00000000 */ nop -/* 08BE7C 7F05734C 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 08BE80 7F057350 00402025 */ move $a0, $v0 -/* 08BE84 7F057354 14400003 */ bnez $v0, .L7F057364 -/* 08BE88 7F057358 00000000 */ nop -.L7F05735C: -/* 08BE8C 7F05735C 10000036 */ b .L7F057438 -/* 08BE90 7F057360 24110002 */ li $s1, 2 -.L7F057364: -/* 08BE94 7F057364 0FC233F8 */ jal sub_GAME_7F08CFE0 -/* 08BE98 7F057368 8E040010 */ lw $a0, 0x10($s0) -/* 08BE9C 7F05736C 14400032 */ bnez $v0, .L7F057438 -/* 08BEA0 7F057370 00000000 */ nop -/* 08BEA4 7F057374 10000030 */ b .L7F057438 -/* 08BEA8 7F057378 00008825 */ move $s1, $zero -objective_microcode_type_1D_deposit_object: -/* 08BEAC 7F05737C 0FC15C30 */ jal get_handle_to_tagged_object -/* 08BEB0 7F057380 8E440004 */ lw $a0, 4($s2) -/* 08BEB4 7F057384 1040002C */ beqz $v0, .L7F057438 -/* 08BEB8 7F057388 00000000 */ nop -/* 08BEBC 7F05738C 8C590010 */ lw $t9, 0x10($v0) -/* 08BEC0 7F057390 13200029 */ beqz $t9, .L7F057438 -/* 08BEC4 7F057394 00000000 */ nop -/* 08BEC8 7F057398 0FC233F8 */ jal sub_GAME_7F08CFE0 -/* 08BECC 7F05739C 03202025 */ move $a0, $t9 -/* 08BED0 7F0573A0 10400025 */ beqz $v0, .L7F057438 -/* 08BED4 7F0573A4 00000000 */ nop -/* 08BED8 7F0573A8 10000023 */ b .L7F057438 -/* 08BEDC 7F0573AC 00008825 */ move $s1, $zero -objective_microcode_type_1E_photograph_object: -/* 08BEE0 7F0573B0 0FC15C30 */ jal get_handle_to_tagged_object -/* 08BEE4 7F0573B4 8E440004 */ lw $a0, 4($s2) -/* 08BEE8 7F0573B8 8E480008 */ lw $t0, 8($s2) -/* 08BEEC 7F0573BC 00402025 */ move $a0, $v0 -/* 08BEF0 7F0573C0 1500001D */ bnez $t0, .L7F057438 -/* 08BEF4 7F0573C4 00000000 */ nop -/* 08BEF8 7F0573C8 10400008 */ beqz $v0, .L7F0573EC -/* 08BEFC 7F0573CC 00000000 */ nop -/* 08BF00 7F0573D0 8C490010 */ lw $t1, 0x10($v0) -/* 08BF04 7F0573D4 11200005 */ beqz $t1, .L7F0573EC -/* 08BF08 7F0573D8 00000000 */ nop -/* 08BF0C 7F0573DC 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 08BF10 7F0573E0 00000000 */ nop -/* 08BF14 7F0573E4 14400003 */ bnez $v0, .L7F0573F4 -/* 08BF18 7F0573E8 00000000 */ nop -.L7F0573EC: -/* 08BF1C 7F0573EC 10000012 */ b .L7F057438 -/* 08BF20 7F0573F0 24110002 */ li $s1, 2 -.L7F0573F4: -/* 08BF24 7F0573F4 10000010 */ b .L7F057438 -/* 08BF28 7F0573F8 00008825 */ move $s1, $zero -objective_microcode_type_20_enter_room: -/* 08BF2C 7F0573FC 8E4A0008 */ lw $t2, 8($s2) -/* 08BF30 7F057400 1540000D */ bnez $t2, .L7F057438 -/* 08BF34 7F057404 00000000 */ nop -/* 08BF38 7F057408 1000000B */ b .L7F057438 -/* 08BF3C 7F05740C 00008825 */ move $s1, $zero -objective_microcode_type_21_deposit_object_in_room: -/* 08BF40 7F057410 8E4B000C */ lw $t3, 0xc($s2) -/* 08BF44 7F057414 15600008 */ bnez $t3, .L7F057438 -/* 08BF48 7F057418 00000000 */ nop -/* 08BF4C 7F05741C 10000006 */ b .L7F057438 -/* 08BF50 7F057420 00008825 */ move $s1, $zero -objective_microcode_type_22_use_key_analyzer_on_object: -/* 08BF54 7F057424 0FC19BBE */ jal get_keyanalyzer_flag -/* 08BF58 7F057428 00000000 */ nop -/* 08BF5C 7F05742C 14400002 */ bnez $v0, .L7F057438 -/* 08BF60 7F057430 00000000 */ nop -/* 08BF64 7F057434 00008825 */ move $s1, $zero -objective_microcode_type_17_18_1F_default: -.L7F057438: -/* 08BF68 7F057438 16740005 */ bne $s3, $s4, .L7F057450 -/* 08BF6C 7F05743C 00000000 */ nop -/* 08BF70 7F057440 12340008 */ beq $s1, $s4, .L7F057464 -/* 08BF74 7F057444 00000000 */ nop -/* 08BF78 7F057448 10000006 */ b .L7F057464 -/* 08BF7C 7F05744C 02209825 */ move $s3, $s1 -.L7F057450: -/* 08BF80 7F057450 16600004 */ bnez $s3, .L7F057464 -/* 08BF84 7F057454 24010002 */ li $at, 2 -/* 08BF88 7F057458 16210002 */ bne $s1, $at, .L7F057464 -/* 08BF8C 7F05745C 00000000 */ nop -/* 08BF90 7F057460 02209825 */ move $s3, $s1 -.L7F057464: -/* 08BF94 7F057464 0FC15A3D */ jal get_size_of_setup_object_type -/* 08BF98 7F057468 02402025 */ move $a0, $s2 -/* 08BF9C 7F05746C 00026080 */ sll $t4, $v0, 2 -/* 08BFA0 7F057470 01929021 */ addu $s2, $t4, $s2 -/* 08BFA4 7F057474 92430003 */ lbu $v1, 3($s2) -/* 08BFA8 7F057478 24010018 */ li $at, 24 -/* 08BFAC 7F05747C 5461FF88 */ bnel $v1, $at, .L7F0572A0 -/* 08BFB0 7F057480 246EFFE9 */ addiu $t6, $v1, -0x17 -.L7F057484: -/* 08BFB4 7F057484 0FC2440C */ jal get_debug_all_obj_complete_flag -/* 08BFB8 7F057488 00000000 */ nop -/* 08BFBC 7F05748C 10400002 */ beqz $v0, .L7F057498 -/* 08BFC0 7F057490 8FB00018 */ lw $s0, 0x18($sp) -/* 08BFC4 7F057494 24130001 */ li $s3, 1 -.L7F057498: -/* 08BFC8 7F057498 8FBF002C */ lw $ra, 0x2c($sp) -/* 08BFCC 7F05749C 02601025 */ move $v0, $s3 -/* 08BFD0 7F0574A0 8FB30024 */ lw $s3, 0x24($sp) -/* 08BFD4 7F0574A4 8FB1001C */ lw $s1, 0x1c($sp) -/* 08BFD8 7F0574A8 8FB20020 */ lw $s2, 0x20($sp) -/* 08BFDC 7F0574AC 8FB40028 */ lw $s4, 0x28($sp) -/* 08BFE0 7F0574B0 03E00008 */ jr $ra -/* 08BFE4 7F0574B4 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -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; -} - - -#ifdef VERSION_JP -void FUN_7f057a40(void) -{ - num_objective_ptrs[1] = 1; - return; -} -#endif - -#ifdef NONMATCHING -void display_objective_status_text_on_status_change(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.rdata -/*glabel D_80053610*/ -/*.word 0,0,0,0,0,0,0,0,0,0*/ -/*glabel D_80053640*/ -/*.word 0*/ -.text -glabel display_objective_status_text_on_status_change -/* 08C070 7F057540 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 08C074 7F057544 AFB60030 */ sw $s6, 0x30($sp) -/* 08C078 7F057548 AFB30024 */ sw $s3, 0x24($sp) -/* 08C07C 7F05754C 3C0E8005 */ lui $t6, %hi(D_80053610) -/* 08C080 7F057550 27B30054 */ addiu $s3, $sp, 0x54 -/* 08C084 7F057554 3C168003 */ lui $s6, %hi(num_objective_ptrs) -/* 08C088 7F057558 AFB40028 */ sw $s4, 0x28($sp) -/* 08C08C 7F05755C 25CE3610 */ addiu $t6, %lo(D_80053610) # addiu $t6, $t6, 0x3610 -/* 08C090 7F057560 26D622F0 */ addiu $s6, %lo(num_objective_ptrs) # addiu $s6, $s6, 0x22f0 -/* 08C094 7F057564 AFBF003C */ sw $ra, 0x3c($sp) -/* 08C098 7F057568 AFBE0038 */ sw $fp, 0x38($sp) -/* 08C09C 7F05756C AFB70034 */ sw $s7, 0x34($sp) -/* 08C0A0 7F057570 AFB5002C */ sw $s5, 0x2c($sp) -/* 08C0A4 7F057574 AFB20020 */ sw $s2, 0x20($sp) -/* 08C0A8 7F057578 AFB1001C */ sw $s1, 0x1c($sp) -/* 08C0AC 7F05757C AFB00018 */ sw $s0, 0x18($sp) -/* 08C0B0 7F057580 0000A025 */ move $s4, $zero -/* 08C0B4 7F057584 25D90030 */ addiu $t9, $t6, 0x30 -/* 08C0B8 7F057588 02604025 */ move $t0, $s3 -.L7F05758C: -/* 08C0BC 7F05758C 8DC10000 */ lw $at, ($t6) -/* 08C0C0 7F057590 25CE000C */ addiu $t6, $t6, 0xc -/* 08C0C4 7F057594 2508000C */ addiu $t0, $t0, 0xc -/* 08C0C8 7F057598 AD01FFF4 */ sw $at, -0xc($t0) -/* 08C0CC 7F05759C 8DC1FFF8 */ lw $at, -8($t6) -/* 08C0D0 7F0575A0 AD01FFF8 */ sw $at, -8($t0) -/* 08C0D4 7F0575A4 8DC1FFFC */ lw $at, -4($t6) -/* 08C0D8 7F0575A8 15D9FFF8 */ bne $t6, $t9, .L7F05758C -/* 08C0DC 7F0575AC AD01FFFC */ sw $at, -4($t0) -/* 08C0E0 7F0575B0 95C10000 */ lhu $at, ($t6) -/* 08C0E4 7F0575B4 3C158007 */ lui $s5, %hi(dword_CODE_bss_80075D58) -/* 08C0E8 7F0575B8 3C1E8005 */ lui $fp, %hi(aSAC) -/* 08C0EC 7F0575BC A5010000 */ sh $at, ($t0) -/* 08C0F0 7F0575C0 8EC90000 */ lw $t1, ($s6) -/* 08C0F4 7F0575C4 27DE3644 */ addiu $fp, %lo(aSAC) # addiu $fp, $fp, 0x3644 -/* 08C0F8 7F0575C8 26B55D58 */ addiu $s5, %lo(dword_CODE_bss_80075D58) # addiu $s5, $s5, 0x5d58 -/* 08C0FC 7F0575CC 05200051 */ bltz $t1, .L7F057714 -/* 08C100 7F0575D0 00009025 */ move $s2, $zero -/* 08C104 7F0575D4 3C178005 */ lui $s7, %hi(j_text_trigger) -/* 08C108 7F0575D8 26F784D0 */ addiu $s7, %lo(j_text_trigger) # addiu $s7, $s7, -0x7b30 -.L7F0575DC: -/* 08C10C 7F0575DC 0FC15C8E */ jal get_status_of_objective -/* 08C110 7F0575E0 02402025 */ move $a0, $s2 -/* 08C114 7F0575E4 8EAA0000 */ lw $t2, ($s5) -/* 08C118 7F0575E8 00408825 */ move $s1, $v0 -/* 08C11C 7F0575EC 02402025 */ move $a0, $s2 -/* 08C120 7F0575F0 104A003A */ beq $v0, $t2, .L7F0576DC -/* 08C124 7F0575F4 00000000 */ nop -/* 08C128 7F0575F8 0FC15C81 */ jal get_difficulty_for_objective -/* 08C12C 7F0575FC AEA20000 */ sw $v0, ($s5) -/* 08C130 7F057600 0FC2FF04 */ jal get_current_difficulty -/* 08C134 7F057604 00408025 */ move $s0, $v0 -/* 08C138 7F057608 0050082A */ slt $at, $v0, $s0 -/* 08C13C 7F05760C 14200033 */ bnez $at, .L7F0576DC -/* 08C140 7F057610 00000000 */ nop -/* 08C144 7F057614 8EEB0000 */ lw $t3, ($s7) -/* 08C148 7F057618 2690001A */ addiu $s0, $s4, 0x1a -/* 08C14C 7F05761C 3404B02C */ li $a0, 45100 -/* 08C150 7F057620 1160000A */ beqz $t3, .L7F05764C -/* 08C154 7F057624 00000000 */ nop -/* 08C158 7F057628 0FC30776 */ jal get_textptr_for_textID -/* 08C15C 7F05762C 3404B02C */ li $a0, 45100 -/* 08C160 7F057630 02602025 */ move $a0, $s3 -/* 08C164 7F057634 03C02825 */ move $a1, $fp -/* 08C168 7F057638 00403025 */ move $a2, $v0 -/* 08C16C 7F05763C 0C002B25 */ jal sprintf -/* 08C170 7F057640 02003825 */ move $a3, $s0 -/* 08C174 7F057644 1000000A */ b .L7F057670 -/* 08C178 7F057648 24010001 */ li $at, 1 -.L7F05764C: -/* 08C17C 7F05764C 0FC30776 */ jal get_textptr_for_textID -/* 08C180 7F057650 26900061 */ addiu $s0, $s4, 0x61 -/* 08C184 7F057654 3C058005 */ lui $a1, %hi(aSC) -/* 08C188 7F057658 24A5364C */ addiu $a1, %lo(aSC) # addiu $a1, $a1, 0x364c -/* 08C18C 7F05765C 02602025 */ move $a0, $s3 -/* 08C190 7F057660 00403025 */ move $a2, $v0 -/* 08C194 7F057664 0C002B25 */ jal sprintf -/* 08C198 7F057668 02003825 */ move $a3, $s0 -/* 08C19C 7F05766C 24010001 */ li $at, 1 -.L7F057670: -/* 08C1A0 7F057670 16210008 */ bne $s1, $at, .L7F057694 -/* 08C1A4 7F057674 00000000 */ nop -/* 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_append_from_obseg_textbank -/* 08C1B8 7F057688 00402825 */ move $a1, $v0 -/* 08C1BC 7F05768C 10000011 */ b .L7F0576D4 -/* 08C1C0 7F057690 00000000 */ nop -.L7F057694: -/* 08C1C4 7F057694 16200008 */ bnez $s1, .L7F0576B8 -/* 08C1C8 7F057698 24010002 */ li $at, 2 -/* 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_append_from_obseg_textbank -/* 08C1DC 7F0576AC 00402825 */ move $a1, $v0 -/* 08C1E0 7F0576B0 10000008 */ b .L7F0576D4 -/* 08C1E4 7F0576B4 00000000 */ nop -.L7F0576B8: -/* 08C1E8 7F0576B8 16210006 */ bne $s1, $at, .L7F0576D4 -/* 08C1EC 7F0576BC 00000000 */ nop -/* 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_append_from_obseg_textbank -/* 08C200 7F0576D0 00402825 */ move $a1, $v0 -.L7F0576D4: -/* 08C204 7F0576D4 0FC228F2 */ jal display_string_in_lower_left_corner -/* 08C208 7F0576D8 02602025 */ move $a0, $s3 -.L7F0576DC: -/* 08C20C 7F0576DC 0FC15C81 */ jal get_difficulty_for_objective -/* 08C210 7F0576E0 02402025 */ move $a0, $s2 -/* 08C214 7F0576E4 0FC2FF04 */ jal get_current_difficulty -/* 08C218 7F0576E8 00408025 */ move $s0, $v0 -/* 08C21C 7F0576EC 0050082A */ slt $at, $v0, $s0 -/* 08C220 7F0576F0 54200003 */ bnezl $at, .L7F057700 -/* 08C224 7F0576F4 8ECC0000 */ lw $t4, ($s6) -/* 08C228 7F0576F8 26940001 */ addiu $s4, $s4, 1 -/* 08C22C 7F0576FC 8ECC0000 */ lw $t4, ($s6) -.L7F057700: -/* 08C230 7F057700 26520001 */ addiu $s2, $s2, 1 -/* 08C234 7F057704 26B50004 */ addiu $s5, $s5, 4 -/* 08C238 7F057708 0192082A */ slt $at, $t4, $s2 -/* 08C23C 7F05770C 1020FFB3 */ beqz $at, .L7F0575DC -/* 08C240 7F057710 00000000 */ nop -.L7F057714: -/* 08C244 7F057714 8FBF003C */ lw $ra, 0x3c($sp) -/* 08C248 7F057718 8FB00018 */ lw $s0, 0x18($sp) -/* 08C24C 7F05771C 8FB1001C */ lw $s1, 0x1c($sp) -/* 08C250 7F057720 8FB20020 */ lw $s2, 0x20($sp) -/* 08C254 7F057724 8FB30024 */ lw $s3, 0x24($sp) -/* 08C258 7F057728 8FB40028 */ lw $s4, 0x28($sp) -/* 08C25C 7F05772C 8FB5002C */ lw $s5, 0x2c($sp) -/* 08C260 7F057730 8FB60030 */ lw $s6, 0x30($sp) -/* 08C264 7F057734 8FB70034 */ lw $s7, 0x34($sp) -/* 08C268 7F057738 8FBE0038 */ lw $fp, 0x38($sp) -/* 08C26C 7F05773C 03E00008 */ jr $ra -/* 08C270 7F057740 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel display_objective_status_text_on_status_change -/* 08C5C0 7F057A50 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 08C5C4 7F057A54 AFB30024 */ sw $s3, 0x24($sp) -/* 08C5C8 7F057A58 3C0E8005 */ lui $t6, %hi(D_80053610) # $t6, 0x8005 -/* 08C5CC 7F057A5C 27B30054 */ addiu $s3, $sp, 0x54 -/* 08C5D0 7F057A60 AFB5002C */ sw $s5, 0x2c($sp) -/* 08C5D4 7F057A64 25CE3640 */ addiu $t6, %lo(D_80053610) # addiu $t6, $t6, 0x3640 -/* 08C5D8 7F057A68 AFBF003C */ sw $ra, 0x3c($sp) -/* 08C5DC 7F057A6C AFBE0038 */ sw $fp, 0x38($sp) -/* 08C5E0 7F057A70 AFB70034 */ sw $s7, 0x34($sp) -/* 08C5E4 7F057A74 AFB60030 */ sw $s6, 0x30($sp) -/* 08C5E8 7F057A78 AFB40028 */ sw $s4, 0x28($sp) -/* 08C5EC 7F057A7C AFB20020 */ sw $s2, 0x20($sp) -/* 08C5F0 7F057A80 AFB1001C */ sw $s1, 0x1c($sp) -/* 08C5F4 7F057A84 AFB00018 */ sw $s0, 0x18($sp) -/* 08C5F8 7F057A88 0000A825 */ move $s5, $zero -/* 08C5FC 7F057A8C 25D90030 */ addiu $t9, $t6, 0x30 -/* 08C600 7F057A90 02604025 */ move $t0, $s3 -.L7F057A94: -/* 08C604 7F057A94 8DC10000 */ lw $at, ($t6) -/* 08C608 7F057A98 25CE000C */ addiu $t6, $t6, 0xc -/* 08C60C 7F057A9C 2508000C */ addiu $t0, $t0, 0xc -/* 08C610 7F057AA0 AD01FFF4 */ sw $at, -0xc($t0) -/* 08C614 7F057AA4 8DC1FFF8 */ lw $at, -8($t6) -/* 08C618 7F057AA8 AD01FFF8 */ sw $at, -8($t0) -/* 08C61C 7F057AAC 8DC1FFFC */ lw $at, -4($t6) -/* 08C620 7F057AB0 15D9FFF8 */ bne $t6, $t9, .L7F057A94 -/* 08C624 7F057AB4 AD01FFFC */ sw $at, -4($t0) -/* 08C628 7F057AB8 95C10000 */ lhu $at, ($t6) -/* 08C62C 7F057ABC 3C098003 */ lui $t1, %hi(num_objective_ptrs+4) # $t1, 0x8003 -/* 08C630 7F057AC0 3C168003 */ lui $s6, %hi(num_objective_ptrs) # $s6, 0x8003 -/* 08C634 7F057AC4 A5010000 */ sh $at, ($t0) -/* 08C638 7F057AC8 8D292334 */ lw $t1, %lo(num_objective_ptrs+4)($t1) -/* 08C63C 7F057ACC 26D62330 */ addiu $s6, %lo(num_objective_ptrs) # addiu $s6, $s6, 0x2330 -/* 08C640 7F057AD0 55200058 */ bnezl $t1, .L7F057C34 -/* 08C644 7F057AD4 8FBF003C */ lw $ra, 0x3c($sp) -/* 08C648 7F057AD8 8ECA0000 */ lw $t2, ($s6) -/* 08C64C 7F057ADC 3C148007 */ lui $s4, %hi(dword_CODE_bss_80075D58) # $s4, 0x8007 -/* 08C650 7F057AE0 26945D98 */ addiu $s4, %lo(dword_CODE_bss_80075D58) # addiu $s4, $s4, 0x5d98 -/* 08C654 7F057AE4 05400052 */ bltz $t2, .L7F057C30 -/* 08C658 7F057AE8 00009025 */ move $s2, $zero -/* 08C65C 7F057AEC 3C178005 */ lui $s7, %hi(j_text_trigger) # $s7, 0x8005 -/* 08C660 7F057AF0 26F78500 */ addiu $s7, %lo(j_text_trigger) # addiu $s7, $s7, -0x7b00 -/* 08C664 7F057AF4 241E0001 */ li $fp, 1 -.L7F057AF8: -/* 08C668 7F057AF8 0FC15DCE */ jal get_status_of_objective -/* 08C66C 7F057AFC 02402025 */ move $a0, $s2 -/* 08C670 7F057B00 8E8B0000 */ lw $t3, ($s4) -/* 08C674 7F057B04 00408825 */ move $s1, $v0 -/* 08C678 7F057B08 02402025 */ move $a0, $s2 -/* 08C67C 7F057B0C 104B003A */ beq $v0, $t3, .L7F057BF8 -/* 08C680 7F057B10 00000000 */ nop -/* 08C684 7F057B14 0FC15DC1 */ jal get_difficulty_for_objective -/* 08C688 7F057B18 AE820000 */ sw $v0, ($s4) -/* 08C68C 7F057B1C 0FC3021E */ jal get_current_difficulty -/* 08C690 7F057B20 00408025 */ move $s0, $v0 -/* 08C694 7F057B24 0050082A */ slt $at, $v0, $s0 -/* 08C698 7F057B28 14200033 */ bnez $at, .L7F057BF8 -/* 08C69C 7F057B2C 00000000 */ nop -/* 08C6A0 7F057B30 8EEC0000 */ lw $t4, ($s7) -/* 08C6A4 7F057B34 26B0001A */ addiu $s0, $s5, 0x1a -/* 08C6A8 7F057B38 3404B02C */ li $a0, 45100 -/* 08C6AC 7F057B3C 1180000B */ beqz $t4, .L7F057B6C -/* 08C6B0 7F057B40 00000000 */ nop -/* 08C6B4 7F057B44 0FC30AA2 */ jal get_textptr_for_textID -/* 08C6B8 7F057B48 3404B02C */ li $a0, 45100 -/* 08C6BC 7F057B4C 3C058005 */ lui $a1, %hi(aSAC) # $a1, 0x8005 -/* 08C6C0 7F057B50 24A53674 */ addiu $a1, %lo(aSAC) # addiu $a1, $a1, 0x3674 -/* 08C6C4 7F057B54 02602025 */ move $a0, $s3 -/* 08C6C8 7F057B58 00403025 */ move $a2, $v0 -/* 08C6CC 7F057B5C 0C002B29 */ jal sprintf -/* 08C6D0 7F057B60 02003825 */ move $a3, $s0 -/* 08C6D4 7F057B64 10000009 */ b .L7F057B8C -/* 08C6D8 7F057B68 00000000 */ nop -.L7F057B6C: -/* 08C6DC 7F057B6C 0FC30AA2 */ jal get_textptr_for_textID -/* 08C6E0 7F057B70 26B00061 */ addiu $s0, $s5, 0x61 -/* 08C6E4 7F057B74 3C058005 */ lui $a1, %hi(aSC) # $a1, 0x8005 -/* 08C6E8 7F057B78 24A5367C */ addiu $a1, %lo(aSC) # addiu $a1, $a1, 0x367c -/* 08C6EC 7F057B7C 02602025 */ move $a0, $s3 -/* 08C6F0 7F057B80 00403025 */ move $a2, $v0 -/* 08C6F4 7F057B84 0C002B29 */ jal sprintf -/* 08C6F8 7F057B88 02003825 */ move $a3, $s0 -.L7F057B8C: -/* 08C6FC 7F057B8C 163E0008 */ bne $s1, $fp, .L7F057BB0 -/* 08C700 7F057B90 00000000 */ nop -/* 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_append_from_obseg_textbank -/* 08C714 7F057BA4 00402825 */ move $a1, $v0 -/* 08C718 7F057BA8 10000011 */ b .L7F057BF0 -/* 08C71C 7F057BAC 00000000 */ nop -.L7F057BB0: -/* 08C720 7F057BB0 16200008 */ bnez $s1, .L7F057BD4 -/* 08C724 7F057BB4 24010002 */ li $at, 2 -/* 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_append_from_obseg_textbank -/* 08C738 7F057BC8 00402825 */ move $a1, $v0 -/* 08C73C 7F057BCC 10000008 */ b .L7F057BF0 -/* 08C740 7F057BD0 00000000 */ nop -.L7F057BD4: -/* 08C744 7F057BD4 16210006 */ bne $s1, $at, .L7F057BF0 -/* 08C748 7F057BD8 00000000 */ nop -/* 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_append_from_obseg_textbank -/* 08C75C 7F057BEC 00402825 */ move $a1, $v0 -.L7F057BF0: -/* 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 -/* 08C76C 7F057BFC 02402025 */ move $a0, $s2 -/* 08C770 7F057C00 0FC3021E */ jal get_current_difficulty -/* 08C774 7F057C04 00408025 */ move $s0, $v0 -/* 08C778 7F057C08 0050082A */ slt $at, $v0, $s0 -/* 08C77C 7F057C0C 54200003 */ bnezl $at, .L7F057C1C -/* 08C780 7F057C10 8ECD0000 */ lw $t5, ($s6) -/* 08C784 7F057C14 26B50001 */ addiu $s5, $s5, 1 -/* 08C788 7F057C18 8ECD0000 */ lw $t5, ($s6) -.L7F057C1C: -/* 08C78C 7F057C1C 26520001 */ addiu $s2, $s2, 1 -/* 08C790 7F057C20 26940004 */ addiu $s4, $s4, 4 -/* 08C794 7F057C24 01B2082A */ slt $at, $t5, $s2 -/* 08C798 7F057C28 1020FFB3 */ beqz $at, .L7F057AF8 -/* 08C79C 7F057C2C 00000000 */ nop -.L7F057C30: -/* 08C7A0 7F057C30 8FBF003C */ lw $ra, 0x3c($sp) -.L7F057C34: -/* 08C7A4 7F057C34 8FB00018 */ lw $s0, 0x18($sp) -/* 08C7A8 7F057C38 8FB1001C */ lw $s1, 0x1c($sp) -/* 08C7AC 7F057C3C 8FB20020 */ lw $s2, 0x20($sp) -/* 08C7B0 7F057C40 8FB30024 */ lw $s3, 0x24($sp) -/* 08C7B4 7F057C44 8FB40028 */ lw $s4, 0x28($sp) -/* 08C7B8 7F057C48 8FB5002C */ lw $s5, 0x2c($sp) -/* 08C7BC 7F057C4C 8FB60030 */ lw $s6, 0x30($sp) -/* 08C7C0 7F057C50 8FB70034 */ lw $s7, 0x34($sp) -/* 08C7C4 7F057C54 8FBE0038 */ lw $fp, 0x38($sp) -/* 08C7C8 7F057C58 03E00008 */ jr $ra -/* 08C7CC 7F057C5C 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F057744(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F057744 -/* 08C274 7F057744 3C028007 */ lui $v0, %hi(ptr_last_enter_room_subobject_entry_type20) -/* 08C278 7F057748 8C425D88 */ lw $v0, %lo(ptr_last_enter_room_subobject_entry_type20)($v0) -/* 08C27C 7F05774C 3C0AFFF5 */ lui $t2, (0xFFF59FC0 >> 16) # lui $t2, 0xfff5 -/* 08C280 7F057750 00802825 */ move $a1, $a0 -/* 08C284 7F057754 10400022 */ beqz $v0, .L7F0577E0 -/* 08C288 7F057758 354A9FC0 */ ori $t2, (0xFFF59FC0 & 0xFFFF) # ori $t2, $t2, 0x9fc0 -/* 08C28C 7F05775C 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) -/* 08C290 7F057760 24E75D00 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d00 -/* 08C294 7F057764 24090044 */ li $t1, 68 -/* 08C298 7F057768 24080001 */ li $t0, 1 -/* 08C29C 7F05776C 2406002C */ li $a2, 44 -/* 08C2A0 7F057770 8C4E0008 */ lw $t6, 8($v0) -.L7F057774: -/* 08C2A4 7F057774 55C00018 */ bnezl $t6, .L7F0577D8 -/* 08C2A8 7F057778 8C42000C */ lw $v0, 0xc($v0) -/* 08C2AC 7F05777C 8C430004 */ lw $v1, 4($v0) -/* 08C2B0 7F057780 2C612710 */ sltiu $at, $v1, 0x2710 -/* 08C2B4 7F057784 10200007 */ beqz $at, .L7F0577A4 -/* 08C2B8 7F057788 00000000 */ nop -/* 08C2BC 7F05778C 00660019 */ multu $v1, $a2 -/* 08C2C0 7F057790 8CF80018 */ lw $t8, 0x18($a3) -/* 08C2C4 7F057794 00007812 */ mflo $t7 -/* 08C2C8 7F057798 01F82021 */ addu $a0, $t7, $t8 -/* 08C2CC 7F05779C 10000007 */ b .L7F0577BC -/* 08C2D0 7F0577A0 8C830028 */ lw $v1, 0x28($a0) -.L7F0577A4: -/* 08C2D4 7F0577A4 00690019 */ multu $v1, $t1 -/* 08C2D8 7F0577A8 8CEB001C */ lw $t3, 0x1c($a3) -/* 08C2DC 7F0577AC 0000C812 */ mflo $t9 -/* 08C2E0 7F0577B0 032B6021 */ addu $t4, $t9, $t3 -/* 08C2E4 7F0577B4 018A2021 */ addu $a0, $t4, $t2 -/* 08C2E8 7F0577B8 8C830028 */ lw $v1, 0x28($a0) -.L7F0577BC: -/* 08C2EC 7F0577BC 50600006 */ beql $v1, $zero, .L7F0577D8 -/* 08C2F0 7F0577C0 8C42000C */ lw $v0, 0xc($v0) -/* 08C2F4 7F0577C4 906D0003 */ lbu $t5, 3($v1) -/* 08C2F8 7F0577C8 54AD0003 */ bnel $a1, $t5, .L7F0577D8 -/* 08C2FC 7F0577CC 8C42000C */ lw $v0, 0xc($v0) -/* 08C300 7F0577D0 AC480008 */ sw $t0, 8($v0) -/* 08C304 7F0577D4 8C42000C */ lw $v0, 0xc($v0) -.L7F0577D8: -/* 08C308 7F0577D8 5440FFE6 */ bnezl $v0, .L7F057774 -/* 08C30C 7F0577DC 8C4E0008 */ lw $t6, 8($v0) -.L7F0577E0: -/* 08C310 7F0577E0 03E00008 */ jr $ra -/* 08C314 7F0577E4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0577E8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0577E8 -/* 08C318 7F0577E8 3C028007 */ lui $v0, %hi(ptr_last_deposit_in_room_subobject_entry_type21) -/* 08C31C 7F0577EC 8C425D8C */ lw $v0, %lo(ptr_last_deposit_in_room_subobject_entry_type21)($v0) -/* 08C320 7F0577F0 3C0BFFF5 */ lui $t3, (0xFFF59FC0 >> 16) # lui $t3, 0xfff5 -/* 08C324 7F0577F4 00A03025 */ move $a2, $a1 -/* 08C328 7F0577F8 10400025 */ beqz $v0, .L7F057890 -/* 08C32C 7F0577FC 356B9FC0 */ ori $t3, (0xFFF59FC0 & 0xFFFF) # ori $t3, $t3, 0x9fc0 -/* 08C330 7F057800 3C088007 */ lui $t0, %hi(ptr_setup_path_tbl) -/* 08C334 7F057804 25085D00 */ addiu $t0, %lo(ptr_setup_path_tbl) # addiu $t0, $t0, 0x5d00 -/* 08C338 7F057808 240A0044 */ li $t2, 68 -/* 08C33C 7F05780C 24090001 */ li $t1, 1 -/* 08C340 7F057810 2407002C */ li $a3, 44 -/* 08C344 7F057814 8C4E000C */ lw $t6, 0xc($v0) -.L7F057818: -/* 08C348 7F057818 55C0001B */ bnezl $t6, .L7F057888 -/* 08C34C 7F05781C 8C420010 */ lw $v0, 0x10($v0) -/* 08C350 7F057820 8C4F0004 */ lw $t7, 4($v0) -/* 08C354 7F057824 548F0018 */ bnel $a0, $t7, .L7F057888 -/* 08C358 7F057828 8C420010 */ lw $v0, 0x10($v0) -/* 08C35C 7F05782C 8C430008 */ lw $v1, 8($v0) -/* 08C360 7F057830 2C612710 */ sltiu $at, $v1, 0x2710 -/* 08C364 7F057834 10200007 */ beqz $at, .L7F057854 -/* 08C368 7F057838 00000000 */ nop -/* 08C36C 7F05783C 00670019 */ multu $v1, $a3 -/* 08C370 7F057840 8D190018 */ lw $t9, 0x18($t0) -/* 08C374 7F057844 0000C012 */ mflo $t8 -/* 08C378 7F057848 03192821 */ addu $a1, $t8, $t9 -/* 08C37C 7F05784C 10000007 */ b .L7F05786C -/* 08C380 7F057850 8CA30028 */ lw $v1, 0x28($a1) -.L7F057854: -/* 08C384 7F057854 006A0019 */ multu $v1, $t2 -/* 08C388 7F057858 8D0D001C */ lw $t5, 0x1c($t0) -/* 08C38C 7F05785C 00006012 */ mflo $t4 -/* 08C390 7F057860 018D7021 */ addu $t6, $t4, $t5 -/* 08C394 7F057864 01CB2821 */ addu $a1, $t6, $t3 -/* 08C398 7F057868 8CA30028 */ lw $v1, 0x28($a1) -.L7F05786C: -/* 08C39C 7F05786C 50600006 */ beql $v1, $zero, .L7F057888 -/* 08C3A0 7F057870 8C420010 */ lw $v0, 0x10($v0) -/* 08C3A4 7F057874 906F0003 */ lbu $t7, 3($v1) -/* 08C3A8 7F057878 54CF0003 */ bnel $a2, $t7, .L7F057888 -/* 08C3AC 7F05787C 8C420010 */ lw $v0, 0x10($v0) -/* 08C3B0 7F057880 AC49000C */ sw $t1, 0xc($v0) -/* 08C3B4 7F057884 8C420010 */ lw $v0, 0x10($v0) -.L7F057888: -/* 08C3B8 7F057888 5440FFE3 */ bnezl $v0, .L7F057818 -/* 08C3BC 7F05788C 8C4E000C */ lw $t6, 0xc($v0) -.L7F057890: -/* 08C3C0 7F057890 03E00008 */ jr $ra -/* 08C3C4 7F057894 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F057898(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F057898 -/* 08C3C8 7F057898 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 08C3CC 7F05789C AFB10034 */ sw $s1, 0x34($sp) -/* 08C3D0 7F0578A0 3C118007 */ lui $s1, %hi(ptr_last_photo_obj_in_room_subobject_entry_type1E) -/* 08C3D4 7F0578A4 8E315D90 */ lw $s1, %lo(ptr_last_photo_obj_in_room_subobject_entry_type1E)($s1) -/* 08C3D8 7F0578A8 AFBF004C */ sw $ra, 0x4c($sp) -/* 08C3DC 7F0578AC AFB60048 */ sw $s6, 0x48($sp) -/* 08C3E0 7F0578B0 AFB50044 */ sw $s5, 0x44($sp) -/* 08C3E4 7F0578B4 AFB40040 */ sw $s4, 0x40($sp) -/* 08C3E8 7F0578B8 AFB3003C */ sw $s3, 0x3c($sp) -/* 08C3EC 7F0578BC AFB20038 */ sw $s2, 0x38($sp) -/* 08C3F0 7F0578C0 AFB00030 */ sw $s0, 0x30($sp) -/* 08C3F4 7F0578C4 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 08C3F8 7F0578C8 12200071 */ beqz $s1, .L7F057A90 -/* 08C3FC 7F0578CC F7B40020 */ sdc1 $f20, 0x20($sp) -/* 08C400 7F0578D0 4480B000 */ mtc1 $zero, $f22 -/* 08C404 7F0578D4 24160001 */ li $s6, 1 -/* 08C408 7F0578D8 27B50064 */ addiu $s5, $sp, 0x64 -/* 08C40C 7F0578DC 27B40074 */ addiu $s4, $sp, 0x74 -/* 08C410 7F0578E0 27B3007C */ addiu $s3, $sp, 0x7c -/* 08C414 7F0578E4 27B20084 */ addiu $s2, $sp, 0x84 -/* 08C418 7F0578E8 8E2E0008 */ lw $t6, 8($s1) -.L7F0578EC: -/* 08C41C 7F0578EC 55C00066 */ bnezl $t6, .L7F057A88 -/* 08C420 7F0578F0 8E31000C */ lw $s1, 0xc($s1) -/* 08C424 7F0578F4 0FC15C30 */ jal get_handle_to_tagged_object -/* 08C428 7F0578F8 8E240004 */ lw $a0, 4($s1) -/* 08C42C 7F0578FC 10400061 */ beqz $v0, .L7F057A84 -/* 08C430 7F057900 00408025 */ move $s0, $v0 -/* 08C434 7F057904 8C430010 */ lw $v1, 0x10($v0) -/* 08C438 7F057908 5060005F */ beql $v1, $zero, .L7F057A88 -/* 08C43C 7F05790C 8E31000C */ lw $s1, 0xc($s1) -/* 08C440 7F057910 906F0001 */ lbu $t7, 1($v1) -/* 08C444 7F057914 31F80002 */ andi $t8, $t7, 2 -/* 08C448 7F057918 5300005B */ beql $t8, $zero, .L7F057A88 -/* 08C44C 7F05791C 8E31000C */ lw $s1, 0xc($s1) -/* 08C450 7F057920 C4640018 */ lwc1 $f4, 0x18($v1) -/* 08C454 7F057924 4604B03E */ c.le.s $f22, $f4 -/* 08C458 7F057928 00000000 */ nop -/* 08C45C 7F05792C 45020056 */ bc1fl .L7F057A88 -/* 08C460 7F057930 8E31000C */ lw $s1, 0xc($s1) -/* 08C464 7F057934 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 08C468 7F057938 00402025 */ move $a0, $v0 -/* 08C46C 7F05793C 10400051 */ beqz $v0, .L7F057A84 -/* 08C470 7F057940 02402825 */ move $a1, $s2 -/* 08C474 7F057944 8E040010 */ lw $a0, 0x10($s0) -/* 08C478 7F057948 02603025 */ move $a2, $s3 -/* 08C47C 7F05794C 0FC1434C */ jal sub_GAME_7F050D30 -/* 08C480 7F057950 02803825 */ move $a3, $s4 -/* 08C484 7F057954 1040004B */ beqz $v0, .L7F057A84 -/* 08C488 7F057958 02402025 */ move $a0, $s2 -/* 08C48C 7F05795C 02602825 */ move $a1, $s3 -/* 08C490 7F057960 02803025 */ move $a2, $s4 -/* 08C494 7F057964 27A7006C */ addiu $a3, $sp, 0x6c -/* 08C498 7F057968 0FC0FE52 */ jal sub_GAME_7F03F948 -/* 08C49C 7F05796C AFB50010 */ sw $s5, 0x10($sp) -/* 08C4A0 7F057970 0FC1E131 */ jal getPlayer_c_screenleft -/* 08C4A4 7F057974 00000000 */ nop -/* 08C4A8 7F057978 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 08C4AC 7F05797C 4606003C */ c.lt.s $f0, $f6 -/* 08C4B0 7F057980 00000000 */ nop -/* 08C4B4 7F057984 45020040 */ bc1fl .L7F057A88 -/* 08C4B8 7F057988 8E31000C */ lw $s1, 0xc($s1) -/* 08C4BC 7F05798C 0FC1E131 */ jal getPlayer_c_screenleft -/* 08C4C0 7F057990 00000000 */ nop -/* 08C4C4 7F057994 0FC1E129 */ jal getPlayer_c_screenwidth -/* 08C4C8 7F057998 46000506 */ mov.s $f20, $f0 -/* 08C4CC 7F05799C 46140280 */ add.s $f10, $f0, $f20 -/* 08C4D0 7F0579A0 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 08C4D4 7F0579A4 460A403C */ c.lt.s $f8, $f10 -/* 08C4D8 7F0579A8 00000000 */ nop -/* 08C4DC 7F0579AC 45020036 */ bc1fl .L7F057A88 -/* 08C4E0 7F0579B0 8E31000C */ lw $s1, 0xc($s1) -/* 08C4E4 7F0579B4 0FC1E131 */ jal getPlayer_c_screenleft -/* 08C4E8 7F0579B8 00000000 */ nop -/* 08C4EC 7F0579BC C7B00064 */ lwc1 $f16, 0x64($sp) -/* 08C4F0 7F0579C0 4610003C */ c.lt.s $f0, $f16 -/* 08C4F4 7F0579C4 00000000 */ nop -/* 08C4F8 7F0579C8 4502002F */ bc1fl .L7F057A88 -/* 08C4FC 7F0579CC 8E31000C */ lw $s1, 0xc($s1) -/* 08C500 7F0579D0 0FC1E131 */ jal getPlayer_c_screenleft -/* 08C504 7F0579D4 00000000 */ nop -/* 08C508 7F0579D8 0FC1E129 */ jal getPlayer_c_screenwidth -/* 08C50C 7F0579DC 46000506 */ mov.s $f20, $f0 -/* 08C510 7F0579E0 46140100 */ add.s $f4, $f0, $f20 -/* 08C514 7F0579E4 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 08C518 7F0579E8 4604903C */ c.lt.s $f18, $f4 -/* 08C51C 7F0579EC 00000000 */ nop -/* 08C520 7F0579F0 45020025 */ bc1fl .L7F057A88 -/* 08C524 7F0579F4 8E31000C */ lw $s1, 0xc($s1) -/* 08C528 7F0579F8 0FC1E135 */ jal getPlayer_c_screentop -/* 08C52C 7F0579FC 00000000 */ nop -/* 08C530 7F057A00 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 08C534 7F057A04 4606003C */ c.lt.s $f0, $f6 -/* 08C538 7F057A08 00000000 */ nop -/* 08C53C 7F057A0C 4502001E */ bc1fl .L7F057A88 -/* 08C540 7F057A10 8E31000C */ lw $s1, 0xc($s1) -/* 08C544 7F057A14 0FC1E135 */ jal getPlayer_c_screentop -/* 08C548 7F057A18 00000000 */ nop -/* 08C54C 7F057A1C 0FC1E12D */ jal getPlayer_c_screenheight -/* 08C550 7F057A20 46000506 */ mov.s $f20, $f0 -/* 08C554 7F057A24 46140280 */ add.s $f10, $f0, $f20 -/* 08C558 7F057A28 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 08C55C 7F057A2C 460A403C */ c.lt.s $f8, $f10 -/* 08C560 7F057A30 00000000 */ nop -/* 08C564 7F057A34 45020014 */ bc1fl .L7F057A88 -/* 08C568 7F057A38 8E31000C */ lw $s1, 0xc($s1) -/* 08C56C 7F057A3C 0FC1E135 */ jal getPlayer_c_screentop -/* 08C570 7F057A40 00000000 */ nop -/* 08C574 7F057A44 C7B00068 */ lwc1 $f16, 0x68($sp) -/* 08C578 7F057A48 4610003C */ c.lt.s $f0, $f16 -/* 08C57C 7F057A4C 00000000 */ nop -/* 08C580 7F057A50 4502000D */ bc1fl .L7F057A88 -/* 08C584 7F057A54 8E31000C */ lw $s1, 0xc($s1) -/* 08C588 7F057A58 0FC1E135 */ jal getPlayer_c_screentop -/* 08C58C 7F057A5C 00000000 */ nop -/* 08C590 7F057A60 0FC1E12D */ jal getPlayer_c_screenheight -/* 08C594 7F057A64 46000506 */ mov.s $f20, $f0 -/* 08C598 7F057A68 46140100 */ add.s $f4, $f0, $f20 -/* 08C59C 7F057A6C C7B20068 */ lwc1 $f18, 0x68($sp) -/* 08C5A0 7F057A70 4604903C */ c.lt.s $f18, $f4 -/* 08C5A4 7F057A74 00000000 */ nop -/* 08C5A8 7F057A78 45020003 */ bc1fl .L7F057A88 -/* 08C5AC 7F057A7C 8E31000C */ lw $s1, 0xc($s1) -/* 08C5B0 7F057A80 AE360008 */ sw $s6, 8($s1) -.L7F057A84: -/* 08C5B4 7F057A84 8E31000C */ lw $s1, 0xc($s1) -.L7F057A88: -/* 08C5B8 7F057A88 5620FF98 */ bnezl $s1, .L7F0578EC -/* 08C5BC 7F057A8C 8E2E0008 */ lw $t6, 8($s1) -.L7F057A90: -/* 08C5C0 7F057A90 8FBF004C */ lw $ra, 0x4c($sp) -/* 08C5C4 7F057A94 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 08C5C8 7F057A98 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 08C5CC 7F057A9C 8FB00030 */ lw $s0, 0x30($sp) -/* 08C5D0 7F057AA0 8FB10034 */ lw $s1, 0x34($sp) -/* 08C5D4 7F057AA4 8FB20038 */ lw $s2, 0x38($sp) -/* 08C5D8 7F057AA8 8FB3003C */ lw $s3, 0x3c($sp) -/* 08C5DC 7F057AAC 8FB40040 */ lw $s4, 0x40($sp) -/* 08C5E0 7F057AB0 8FB50044 */ lw $s5, 0x44($sp) -/* 08C5E4 7F057AB4 8FB60048 */ lw $s6, 0x48($sp) -/* 08C5E8 7F057AB8 03E00008 */ jr $ra -/* 08C5EC 7F057ABC 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - -//filebreak diff --git a/src/game/objective_status2.c b/src/game/objective_status2.c deleted file mode 100644 index 859f389..0000000 --- a/src/game/objective_status2.c +++ /dev/null @@ -1,397 +0,0 @@ -#include "ultra64.h" - -//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( -.late_rodata -glabel D_80053690 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053694 -.word 0x3dc90fdb /*0.098174773*/ -glabel D_80053698 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005369C -.word 0x3dc90fdb /*0.098174773*/ -glabel D_800536A0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800536A4 -.word 0x3dc90fdb /*0.098174773*/ -.text -glabel sub_GAME_7F057AC0 -/* 08C5F0 7F057AC0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08C5F4 7F057AC4 3C0F8003 */ lui $t7, %hi(D_80032300) -/* 08C5F8 7F057AC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 08C5FC 7F057ACC AFA40028 */ sw $a0, 0x28($sp) -/* 08C600 7F057AD0 25EF2300 */ addiu $t7, %lo(D_80032300) # addiu $t7, $t7, 0x2300 -/* 08C604 7F057AD4 8DE10000 */ lw $at, ($t7) -/* 08C608 7F057AD8 27AE001C */ addiu $t6, $sp, 0x1c -/* 08C60C 7F057ADC 8DE80004 */ lw $t0, 4($t7) -/* 08C610 7F057AE0 ADC10000 */ sw $at, ($t6) -/* 08C614 7F057AE4 8DE10008 */ lw $at, 8($t7) -/* 08C618 7F057AE8 ADC80004 */ sw $t0, 4($t6) -/* 08C61C 7F057AEC 0C002914 */ jal get_random_value -/* 08C620 7F057AF0 ADC10008 */ sw $at, 8($t6) -/* 08C624 7F057AF4 44822000 */ mtc1 $v0, $f4 -/* 08C628 7F057AF8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08C62C 7F057AFC 04410004 */ bgez $v0, .L7F057B10 -/* 08C630 7F057B00 468021A0 */ cvt.s.w $f6, $f4 -/* 08C634 7F057B04 44814000 */ mtc1 $at, $f8 -/* 08C638 7F057B08 00000000 */ nop -/* 08C63C 7F057B0C 46083180 */ add.s $f6, $f6, $f8 -.L7F057B10: -/* 08C640 7F057B10 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08C644 7F057B14 44815000 */ mtc1 $at, $f10 -/* 08C648 7F057B18 3C018005 */ lui $at, %hi(D_80053690) -/* 08C64C 7F057B1C C4323690 */ lwc1 $f18, %lo(D_80053690)($at) -/* 08C650 7F057B20 460A3402 */ mul.s $f16, $f6, $f10 -/* 08C654 7F057B24 3C013D00 */ li $at, 0x3D000000 # 0.031250 -/* 08C658 7F057B28 44814000 */ mtc1 $at, $f8 -/* 08C65C 7F057B2C 3C018005 */ lui $at, %hi(D_80053694) -/* 08C660 7F057B30 C42A3694 */ lwc1 $f10, %lo(D_80053694)($at) -/* 08C664 7F057B34 46128102 */ mul.s $f4, $f16, $f18 -/* 08C668 7F057B38 00000000 */ nop -/* 08C66C 7F057B3C 46082182 */ mul.s $f6, $f4, $f8 -/* 08C670 7F057B40 460A3401 */ sub.s $f16, $f6, $f10 -/* 08C674 7F057B44 0C002914 */ jal get_random_value -/* 08C678 7F057B48 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 08C67C 7F057B4C 44829000 */ mtc1 $v0, $f18 -/* 08C680 7F057B50 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08C684 7F057B54 04410004 */ bgez $v0, .L7F057B68 -/* 08C688 7F057B58 46809120 */ cvt.s.w $f4, $f18 -/* 08C68C 7F057B5C 44814000 */ mtc1 $at, $f8 -/* 08C690 7F057B60 00000000 */ nop -/* 08C694 7F057B64 46082100 */ add.s $f4, $f4, $f8 -.L7F057B68: -/* 08C698 7F057B68 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08C69C 7F057B6C 44813000 */ mtc1 $at, $f6 -/* 08C6A0 7F057B70 3C018005 */ lui $at, %hi(D_80053698) -/* 08C6A4 7F057B74 C4303698 */ lwc1 $f16, %lo(D_80053698)($at) -/* 08C6A8 7F057B78 46062282 */ mul.s $f10, $f4, $f6 -/* 08C6AC 7F057B7C 3C013D00 */ li $at, 0x3D000000 # 0.031250 -/* 08C6B0 7F057B80 44814000 */ mtc1 $at, $f8 -/* 08C6B4 7F057B84 3C018005 */ lui $at, %hi(D_8005369C) -/* 08C6B8 7F057B88 C426369C */ lwc1 $f6, %lo(D_8005369C)($at) -/* 08C6BC 7F057B8C 46105482 */ mul.s $f18, $f10, $f16 -/* 08C6C0 7F057B90 00000000 */ nop -/* 08C6C4 7F057B94 46089102 */ mul.s $f4, $f18, $f8 -/* 08C6C8 7F057B98 46062281 */ sub.s $f10, $f4, $f6 -/* 08C6CC 7F057B9C 0C002914 */ jal get_random_value -/* 08C6D0 7F057BA0 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 08C6D4 7F057BA4 44828000 */ mtc1 $v0, $f16 -/* 08C6D8 7F057BA8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08C6DC 7F057BAC 04410004 */ bgez $v0, .L7F057BC0 -/* 08C6E0 7F057BB0 468084A0 */ cvt.s.w $f18, $f16 -/* 08C6E4 7F057BB4 44814000 */ mtc1 $at, $f8 -/* 08C6E8 7F057BB8 00000000 */ nop -/* 08C6EC 7F057BBC 46089480 */ add.s $f18, $f18, $f8 -.L7F057BC0: -/* 08C6F0 7F057BC0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08C6F4 7F057BC4 44812000 */ mtc1 $at, $f4 -/* 08C6F8 7F057BC8 3C018005 */ lui $at, %hi(D_800536A0) -/* 08C6FC 7F057BCC C42A36A0 */ lwc1 $f10, %lo(D_800536A0)($at) -/* 08C700 7F057BD0 46049182 */ mul.s $f6, $f18, $f4 -/* 08C704 7F057BD4 3C013D00 */ li $at, 0x3D000000 # 0.031250 -/* 08C708 7F057BD8 44814000 */ mtc1 $at, $f8 -/* 08C70C 7F057BDC 3C018005 */ lui $at, %hi(D_800536A4) -/* 08C710 7F057BE0 C42436A4 */ lwc1 $f4, %lo(D_800536A4)($at) -/* 08C714 7F057BE4 27A4001C */ addiu $a0, $sp, 0x1c -/* 08C718 7F057BE8 8FA50028 */ lw $a1, 0x28($sp) -/* 08C71C 7F057BEC 460A3402 */ mul.s $f16, $f6, $f10 -/* 08C720 7F057BF0 00000000 */ nop -/* 08C724 7F057BF4 46088482 */ mul.s $f18, $f16, $f8 -/* 08C728 7F057BF8 46049181 */ sub.s $f6, $f18, $f4 -/* 08C72C 7F057BFC 0FC161C5 */ jal sub_GAME_7F058714 -/* 08C730 7F057C00 E7A60024 */ swc1 $f6, 0x24($sp) -/* 08C734 7F057C04 8FBF0014 */ lw $ra, 0x14($sp) -/* 08C738 7F057C08 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08C73C 7F057C0C 03E00008 */ jr $ra -/* 08C740 7F057C10 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F057C14(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800536A8 -.word 0x3fd55555 /*1.6666666*/ -glabel D_800536AC -.word 0x40555555 /*3.3333333*/ -glabel D_800536B0 -.word 0x3fd55555 /*1.6666666*/ -glabel D_800536B4 -.word 0x3fd55555 /*1.6666666*/ -glabel D_800536B8 -.word 0x40555555 /*3.3333333*/ -.text -glabel sub_GAME_7F057C14 -/* 08C744 7F057C14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08C748 7F057C18 AFBF0014 */ sw $ra, 0x14($sp) -/* 08C74C 7F057C1C AFA40018 */ sw $a0, 0x18($sp) -/* 08C750 7F057C20 0C002914 */ jal get_random_value -/* 08C754 7F057C24 AFA5001C */ sw $a1, 0x1c($sp) -/* 08C758 7F057C28 44822000 */ mtc1 $v0, $f4 -/* 08C75C 7F057C2C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08C760 7F057C30 04410004 */ bgez $v0, .L7F057C44 -/* 08C764 7F057C34 468021A0 */ cvt.s.w $f6, $f4 -/* 08C768 7F057C38 44814000 */ mtc1 $at, $f8 -/* 08C76C 7F057C3C 00000000 */ nop -/* 08C770 7F057C40 46083180 */ add.s $f6, $f6, $f8 -.L7F057C44: -/* 08C774 7F057C44 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08C778 7F057C48 44815000 */ mtc1 $at, $f10 -/* 08C77C 7F057C4C 3C018005 */ lui $at, %hi(D_800536A8) -/* 08C780 7F057C50 C43236A8 */ lwc1 $f18, %lo(D_800536A8)($at) -/* 08C784 7F057C54 460A3402 */ mul.s $f16, $f6, $f10 -/* 08C788 7F057C58 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 08C78C 7F057C5C 44814000 */ mtc1 $at, $f8 -/* 08C790 7F057C60 3C018005 */ lui $at, %hi(D_800536AC) -/* 08C794 7F057C64 C42A36AC */ lwc1 $f10, %lo(D_800536AC)($at) -/* 08C798 7F057C68 8FAE0018 */ lw $t6, 0x18($sp) -/* 08C79C 7F057C6C 46128102 */ mul.s $f4, $f16, $f18 -/* 08C7A0 7F057C70 00000000 */ nop -/* 08C7A4 7F057C74 46082182 */ mul.s $f6, $f4, $f8 -/* 08C7A8 7F057C78 460A3401 */ sub.s $f16, $f6, $f10 -/* 08C7AC 7F057C7C 0C002914 */ jal get_random_value -/* 08C7B0 7F057C80 E5D00000 */ swc1 $f16, ($t6) -/* 08C7B4 7F057C84 44829000 */ mtc1 $v0, $f18 -/* 08C7B8 7F057C88 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08C7BC 7F057C8C 04410004 */ bgez $v0, .L7F057CA0 -/* 08C7C0 7F057C90 46809120 */ cvt.s.w $f4, $f18 -/* 08C7C4 7F057C94 44814000 */ mtc1 $at, $f8 -/* 08C7C8 7F057C98 00000000 */ nop -/* 08C7CC 7F057C9C 46082100 */ add.s $f4, $f4, $f8 -.L7F057CA0: -/* 08C7D0 7F057CA0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08C7D4 7F057CA4 44813000 */ mtc1 $at, $f6 -/* 08C7D8 7F057CA8 3C018005 */ lui $at, %hi(D_800536B0) -/* 08C7DC 7F057CAC C43036B0 */ lwc1 $f16, %lo(D_800536B0)($at) -/* 08C7E0 7F057CB0 46062282 */ mul.s $f10, $f4, $f6 -/* 08C7E4 7F057CB4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 08C7E8 7F057CB8 44814000 */ mtc1 $at, $f8 -/* 08C7EC 7F057CBC 8FAF0018 */ lw $t7, 0x18($sp) -/* 08C7F0 7F057CC0 46105482 */ mul.s $f18, $f10, $f16 -/* 08C7F4 7F057CC4 00000000 */ nop -/* 08C7F8 7F057CC8 46089102 */ mul.s $f4, $f18, $f8 -/* 08C7FC 7F057CCC 0C002914 */ jal get_random_value -/* 08C800 7F057CD0 E5E40004 */ swc1 $f4, 4($t7) -/* 08C804 7F057CD4 44823000 */ mtc1 $v0, $f6 -/* 08C808 7F057CD8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08C80C 7F057CDC 04410004 */ bgez $v0, .L7F057CF0 -/* 08C810 7F057CE0 468032A0 */ cvt.s.w $f10, $f6 -/* 08C814 7F057CE4 44818000 */ mtc1 $at, $f16 -/* 08C818 7F057CE8 00000000 */ nop -/* 08C81C 7F057CEC 46105280 */ add.s $f10, $f10, $f16 -.L7F057CF0: -/* 08C820 7F057CF0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08C824 7F057CF4 44819000 */ mtc1 $at, $f18 -/* 08C828 7F057CF8 3C018005 */ lui $at, %hi(D_800536B4) -/* 08C82C 7F057CFC C42436B4 */ lwc1 $f4, %lo(D_800536B4)($at) -/* 08C830 7F057D00 46125202 */ mul.s $f8, $f10, $f18 -/* 08C834 7F057D04 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 08C838 7F057D08 44818000 */ mtc1 $at, $f16 -/* 08C83C 7F057D0C 3C018005 */ lui $at, %hi(D_800536B8) -/* 08C840 7F057D10 C43236B8 */ lwc1 $f18, %lo(D_800536B8)($at) -/* 08C844 7F057D14 8FB80018 */ lw $t8, 0x18($sp) -/* 08C848 7F057D18 46044182 */ mul.s $f6, $f8, $f4 -/* 08C84C 7F057D1C 00000000 */ nop -/* 08C850 7F057D20 46103282 */ mul.s $f10, $f6, $f16 -/* 08C854 7F057D24 46125201 */ sub.s $f8, $f10, $f18 -/* 08C858 7F057D28 E7080008 */ swc1 $f8, 8($t8) -/* 08C85C 7F057D2C 0FC15EB0 */ jal sub_GAME_7F057AC0 -/* 08C860 7F057D30 8FA4001C */ lw $a0, 0x1c($sp) -/* 08C864 7F057D34 8FBF0014 */ lw $ra, 0x14($sp) -/* 08C868 7F057D38 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08C86C 7F057D3C 03E00008 */ jr $ra -/* 08C870 7F057D40 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F057D44(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel npc_gravity_modifier -.word 0x3e8e38e4 /*0.27777779*/ -.text -glabel sub_GAME_7F057D44 -/* 08C874 7F057D44 3C018005 */ lui $at, %hi(npc_gravity_modifier) -/* 08C878 7F057D48 44866000 */ mtc1 $a2, $f12 -/* 08C87C 7F057D4C C42436BC */ lwc1 $f4, %lo(npc_gravity_modifier)($at) -/* 08C880 7F057D50 C4A20000 */ lwc1 $f2, ($a1) -/* 08C884 7F057D54 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08C888 7F057D58 46046182 */ mul.s $f6, $f12, $f4 -/* 08C88C 7F057D5C 44818000 */ mtc1 $at, $f16 -/* 08C890 7F057D60 C4840000 */ lwc1 $f4, ($a0) -/* 08C894 7F057D64 46061001 */ sub.s $f0, $f2, $f6 -/* 08C898 7F057D68 46001200 */ add.s $f8, $f2, $f0 -/* 08C89C 7F057D6C 46086282 */ mul.s $f10, $f12, $f8 -/* 08C8A0 7F057D70 00000000 */ nop -/* 08C8A4 7F057D74 46105482 */ mul.s $f18, $f10, $f16 -/* 08C8A8 7F057D78 46122180 */ add.s $f6, $f4, $f18 -/* 08C8AC 7F057D7C E4860000 */ swc1 $f6, ($a0) -/* 08C8B0 7F057D80 03E00008 */ jr $ra -/* 08C8B4 7F057D84 E4A00000 */ swc1 $f0, ($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F057D88(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F057D88 -/* 08C8B8 7F057D88 44866000 */ mtc1 $a2, $f12 -/* 08C8BC 7F057D8C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08C8C0 7F057D90 AFBF0014 */ sw $ra, 0x14($sp) -/* 08C8C4 7F057D94 AFA5001C */ sw $a1, 0x1c($sp) -/* 08C8C8 7F057D98 00803825 */ move $a3, $a0 -/* 08C8CC 7F057D9C 44066000 */ mfc1 $a2, $f12 -/* 08C8D0 7F057DA0 AFA70018 */ sw $a3, 0x18($sp) -/* 08C8D4 7F057DA4 24840004 */ addiu $a0, $a0, 4 -/* 08C8D8 7F057DA8 24A50004 */ addiu $a1, $a1, 4 -/* 08C8DC 7F057DAC 0FC15F51 */ jal sub_GAME_7F057D44 -/* 08C8E0 7F057DB0 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 08C8E4 7F057DB4 8FA2001C */ lw $v0, 0x1c($sp) -/* 08C8E8 7F057DB8 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08C8EC 7F057DBC 8FA70018 */ lw $a3, 0x18($sp) -/* 08C8F0 7F057DC0 C4460000 */ lwc1 $f6, ($v0) -/* 08C8F4 7F057DC4 C4E40000 */ lwc1 $f4, ($a3) -/* 08C8F8 7F057DC8 46066202 */ mul.s $f8, $f12, $f6 -/* 08C8FC 7F057DCC C4F00008 */ lwc1 $f16, 8($a3) -/* 08C900 7F057DD0 46082280 */ add.s $f10, $f4, $f8 -/* 08C904 7F057DD4 E4EA0000 */ swc1 $f10, ($a3) -/* 08C908 7F057DD8 C4520008 */ lwc1 $f18, 8($v0) -/* 08C90C 7F057DDC 46126182 */ mul.s $f6, $f12, $f18 -/* 08C910 7F057DE0 46068100 */ add.s $f4, $f16, $f6 -/* 08C914 7F057DE4 E4E40008 */ swc1 $f4, 8($a3) -/* 08C918 7F057DE8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08C91C 7F057DEC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08C920 7F057DF0 03E00008 */ jr $ra -/* 08C924 7F057DF4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F057DF8 -/* 08C928 7F057DF8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08C92C 7F057DFC AFB30020 */ sw $s3, 0x20($sp) -/* 08C930 7F057E00 AFB2001C */ sw $s2, 0x1c($sp) -/* 08C934 7F057E04 AFB10018 */ sw $s1, 0x18($sp) -/* 08C938 7F057E08 AFB00014 */ sw $s0, 0x14($sp) -/* 08C93C 7F057E0C 00C08825 */ move $s1, $a2 -/* 08C940 7F057E10 00A09025 */ move $s2, $a1 -/* 08C944 7F057E14 00809825 */ move $s3, $a0 -/* 08C948 7F057E18 AFBF0024 */ sw $ra, 0x24($sp) -/* 08C94C 7F057E1C 18C00007 */ blez $a2, .L7F057E3C -/* 08C950 7F057E20 00008025 */ move $s0, $zero -/* 08C954 7F057E24 02402025 */ move $a0, $s2 -.L7F057E28: -/* 08C958 7F057E28 0FC16026 */ jal sub_GAME_7F058098 -/* 08C95C 7F057E2C 02602825 */ move $a1, $s3 -/* 08C960 7F057E30 26100001 */ addiu $s0, $s0, 1 -/* 08C964 7F057E34 5611FFFC */ bnel $s0, $s1, .L7F057E28 -/* 08C968 7F057E38 02402025 */ move $a0, $s2 -.L7F057E3C: -/* 08C96C 7F057E3C 8FBF0024 */ lw $ra, 0x24($sp) -/* 08C970 7F057E40 8FB00014 */ lw $s0, 0x14($sp) -/* 08C974 7F057E44 8FB10018 */ lw $s1, 0x18($sp) -/* 08C978 7F057E48 8FB2001C */ lw $s2, 0x1c($sp) -/* 08C97C 7F057E4C 8FB30020 */ lw $s3, 0x20($sp) -/* 08C980 7F057E50 03E00008 */ jr $ra -/* 08C984 7F057E54 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F057E58(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F057E58 -/* 08C988 7F057E58 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08C98C 7F057E5C 8FAE0028 */ lw $t6, 0x28($sp) -/* 08C990 7F057E60 AFA60020 */ sw $a2, 0x20($sp) -/* 08C994 7F057E64 AFBF0014 */ sw $ra, 0x14($sp) -/* 08C998 7F057E68 448E2000 */ mtc1 $t6, $f4 -/* 08C99C 7F057E6C AFA70024 */ sw $a3, 0x24($sp) -/* 08C9A0 7F057E70 46802120 */ cvt.s.w $f4, $f4 -/* 08C9A4 7F057E74 44062000 */ mfc1 $a2, $f4 -/* 08C9A8 7F057E78 0FC15F62 */ jal sub_GAME_7F057D88 -/* 08C9AC 7F057E7C 00000000 */ nop -/* 08C9B0 7F057E80 8FA40020 */ lw $a0, 0x20($sp) -/* 08C9B4 7F057E84 8FA50024 */ lw $a1, 0x24($sp) -/* 08C9B8 7F057E88 0FC15F7E */ jal sub_GAME_7F057DF8 -/* 08C9BC 7F057E8C 8FA60028 */ lw $a2, 0x28($sp) -/* 08C9C0 7F057E90 8FBF0014 */ lw $ra, 0x14($sp) -/* 08C9C4 7F057E94 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08C9C8 7F057E98 03E00008 */ jr $ra -/* 08C9CC 7F057E9C 00000000 */ nop -) -#endif - - diff --git a/src/game/othermodemicrocode.c b/src/game/othermodemicrocode.c deleted file mode 100644 index 1995a9e..0000000 --- a/src/game/othermodemicrocode.c +++ /dev/null @@ -1,1726 +0,0 @@ -#include "ultra64.h" - - - - -s32 is_less_than_certain_power_of_2(int number) - -{ - if (number < 2) { - return 0; - } - if (number < 3) { - return 1; - } - if (number < 5) { - return 2; - } - if (number < 9) { - return 3; - } - if (number < 0x11) { - return 4; - } - if (number < 0x21) { - return 5; - } - if (number < 0x41) { - return 6; - } - if (number < 0x81) { - return 7; - } - return 8; -} - - - - - - -#ifdef NONMATCHING -s32 ceil8000(s32 arg0) { - // Node 0 - if ((arg0 + 0xf) < 0) - { - // Node 1 - return; - // (possible return value: ((s32) (32768.0f / (f32) (((s32) (arg0 + 0xf) >> 4) * 0x10)) + (s32) (((32768.0f / (f32) (((s32) (arg0 + 0xf) >> 4) * 0x10)) - (f32) (s32) (32768.0f / (f32) (((s32) (arg0 + 0xf) >> 4) * 0x10))) + D_80054F90))) - } - // (possible return value: ((s32) (32768.0f / (f32) (((s32) (arg0 + 0xf) >> 4) * 0x10)) + (s32) (((32768.0f / (f32) (((s32) (arg0 + 0xf) >> 4) * 0x10)) - (f32) (s32) (32768.0f / (f32) (((s32) (arg0 + 0xf) >> 4) * 0x10))) + D_80054F90))) -} - -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054F90 -.word 0x3f7fffef /*0.99999899*/ -.text -glabel ceil8000 -/* 0AB178 7F076648 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 0AB17C 7F07664C 44812000 */ mtc1 $at, $f4 -/* 0AB180 7F076650 248E000F */ addiu $t6, $a0, 0xf -/* 0AB184 7F076654 05C10003 */ bgez $t6, .L7F076664 -/* 0AB188 7F076658 000E7903 */ sra $t7, $t6, 4 -/* 0AB18C 7F07665C 25C1000F */ addiu $at, $t6, 0xf -/* 0AB190 7F076660 00017903 */ sra $t7, $at, 4 -.L7F076664: -/* 0AB194 7F076664 000FC100 */ sll $t8, $t7, 4 -/* 0AB198 7F076668 44983000 */ mtc1 $t8, $f6 -/* 0AB19C 7F07666C 3C018005 */ lui $at, %hi(D_80054F90) -/* 0AB1A0 7F076670 46803220 */ cvt.s.w $f8, $f6 -/* 0AB1A4 7F076674 46082003 */ div.s $f0, $f4, $f8 -/* 0AB1A8 7F076678 C4244F90 */ lwc1 $f4, %lo(D_80054F90)($at) -/* 0AB1AC 7F07667C 4600028D */ trunc.w.s $f10, $f0 -/* 0AB1B0 7F076680 44035000 */ mfc1 $v1, $f10 -/* 0AB1B4 7F076684 00000000 */ nop -/* 0AB1B8 7F076688 44838000 */ mtc1 $v1, $f16 -/* 0AB1BC 7F07668C 00000000 */ nop -/* 0AB1C0 7F076690 468084A0 */ cvt.s.w $f18, $f16 -/* 0AB1C4 7F076694 46120181 */ sub.s $f6, $f0, $f18 -/* 0AB1C8 7F076698 46043200 */ add.s $f8, $f6, $f4 -/* 0AB1CC 7F07669C 4600428D */ trunc.w.s $f10, $f8 -/* 0AB1D0 7F0766A0 44095000 */ mfc1 $t1, $f10 -/* 0AB1D4 7F0766A4 03E00008 */ jr $ra -/* 0AB1D8 7F0766A8 00691021 */ addu $v0, $v1, $t1 -) -#endif - - - - - -#ifdef NONMATCHING -s32 ceil4000(s32 arg0) { - // Node 0 - if ((arg0 + 7) < 0) - { - // Node 1 - return; - // (possible return value: ((s32) (16384.0f / (f32) (((s32) (arg0 + 7) >> 3) * 8)) + (s32) (((16384.0f / (f32) (((s32) (arg0 + 7) >> 3) * 8)) - (f32) (s32) (16384.0f / (f32) (((s32) (arg0 + 7) >> 3) * 8))) + D_80054F94))) - } - // (possible return value: ((s32) (16384.0f / (f32) (((s32) (arg0 + 7) >> 3) * 8)) + (s32) (((16384.0f / (f32) (((s32) (arg0 + 7) >> 3) * 8)) - (f32) (s32) (16384.0f / (f32) (((s32) (arg0 + 7) >> 3) * 8))) + D_80054F94))) -} - -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054F94 -.word 0x3f7fffef /*0.99999899*/ -.text -glabel ceil4000 -/* 0AB1DC 7F0766AC 3C014680 */ li $at, 0x46800000 # 16384.000000 -/* 0AB1E0 7F0766B0 44812000 */ mtc1 $at, $f4 -/* 0AB1E4 7F0766B4 248E0007 */ addiu $t6, $a0, 7 -/* 0AB1E8 7F0766B8 05C10003 */ bgez $t6, .L7F0766C8 -/* 0AB1EC 7F0766BC 000E78C3 */ sra $t7, $t6, 3 -/* 0AB1F0 7F0766C0 25C10007 */ addiu $at, $t6, 7 -/* 0AB1F4 7F0766C4 000178C3 */ sra $t7, $at, 3 -.L7F0766C8: -/* 0AB1F8 7F0766C8 000FC0C0 */ sll $t8, $t7, 3 -/* 0AB1FC 7F0766CC 44983000 */ mtc1 $t8, $f6 -/* 0AB200 7F0766D0 3C018005 */ lui $at, %hi(D_80054F94) -/* 0AB204 7F0766D4 46803220 */ cvt.s.w $f8, $f6 -/* 0AB208 7F0766D8 46082003 */ div.s $f0, $f4, $f8 -/* 0AB20C 7F0766DC C4244F94 */ lwc1 $f4, %lo(D_80054F94)($at) -/* 0AB210 7F0766E0 4600028D */ trunc.w.s $f10, $f0 -/* 0AB214 7F0766E4 44035000 */ mfc1 $v1, $f10 -/* 0AB218 7F0766E8 00000000 */ nop -/* 0AB21C 7F0766EC 44838000 */ mtc1 $v1, $f16 -/* 0AB220 7F0766F0 00000000 */ nop -/* 0AB224 7F0766F4 468084A0 */ cvt.s.w $f18, $f16 -/* 0AB228 7F0766F8 46120181 */ sub.s $f6, $f0, $f18 -/* 0AB22C 7F0766FC 46043200 */ add.s $f8, $f6, $f4 -/* 0AB230 7F076700 4600428D */ trunc.w.s $f10, $f8 -/* 0AB234 7F076704 44095000 */ mfc1 $t1, $f10 -/* 0AB238 7F076708 03E00008 */ jr $ra -/* 0AB23C 7F07670C 00691021 */ addu $v0, $v1, $t1 -) -#endif - - - - - -#ifdef NONMATCHING -s32 ceil2000(s32 arg0) { - // Node 0 - if ((arg0 + 3) < 0) - { - // Node 1 - return; - // (possible return value: ((s32) (8192.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4)) + (s32) (((8192.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4)) - (f32) (s32) (8192.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4))) + D_80054F98))) - } - // (possible return value: ((s32) (8192.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4)) + (s32) (((8192.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4)) - (f32) (s32) (8192.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4))) + D_80054F98))) -} - -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054F98 -.word 0x3f7fffef /*0.99999899*/ -.text -glabel ceil2000 -/* 0AB240 7F076710 3C014600 */ li $at, 0x46000000 # 8192.000000 -/* 0AB244 7F076714 44812000 */ mtc1 $at, $f4 -/* 0AB248 7F076718 248E0003 */ addiu $t6, $a0, 3 -/* 0AB24C 7F07671C 05C10003 */ bgez $t6, .L7F07672C -/* 0AB250 7F076720 000E7883 */ sra $t7, $t6, 2 -/* 0AB254 7F076724 25C10003 */ addiu $at, $t6, 3 -/* 0AB258 7F076728 00017883 */ sra $t7, $at, 2 -.L7F07672C: -/* 0AB25C 7F07672C 000FC080 */ sll $t8, $t7, 2 -/* 0AB260 7F076730 44983000 */ mtc1 $t8, $f6 -/* 0AB264 7F076734 3C018005 */ lui $at, %hi(D_80054F98) -/* 0AB268 7F076738 46803220 */ cvt.s.w $f8, $f6 -/* 0AB26C 7F07673C 46082003 */ div.s $f0, $f4, $f8 -/* 0AB270 7F076740 C4244F98 */ lwc1 $f4, %lo(D_80054F98)($at) -/* 0AB274 7F076744 4600028D */ trunc.w.s $f10, $f0 -/* 0AB278 7F076748 44035000 */ mfc1 $v1, $f10 -/* 0AB27C 7F07674C 00000000 */ nop -/* 0AB280 7F076750 44838000 */ mtc1 $v1, $f16 -/* 0AB284 7F076754 00000000 */ nop -/* 0AB288 7F076758 468084A0 */ cvt.s.w $f18, $f16 -/* 0AB28C 7F07675C 46120181 */ sub.s $f6, $f0, $f18 -/* 0AB290 7F076760 46043200 */ add.s $f8, $f6, $f4 -/* 0AB294 7F076764 4600428D */ trunc.w.s $f10, $f8 -/* 0AB298 7F076768 44095000 */ mfc1 $t1, $f10 -/* 0AB29C 7F07676C 03E00008 */ jr $ra -/* 0AB2A0 7F076770 00691021 */ addu $v0, $v1, $t1 -) -#endif - - - - - -#ifdef NONMATCHING -s32 ceil1000(s32 arg0) { - // Node 0 - if ((arg0 + 3) < 0) - { - // Node 1 - return; - // (possible return value: ((s32) (4096.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4)) + (s32) (((4096.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4)) - (f32) (s32) (4096.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4))) + D_80054F9C))) - } - // (possible return value: ((s32) (4096.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4)) + (s32) (((4096.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4)) - (f32) (s32) (4096.0f / (f32) (((s32) (arg0 + 3) >> 2) * 4))) + D_80054F9C))) -} - -#else -GLOBAL_ASM( -.late_rodata -glabel D_80054F9C -.word 0x3f7fffef /*0.99999899*/ -.text -glabel ceil1000 -/* 0AB2A4 7F076774 3C014580 */ li $at, 0x45800000 # 4096.000000 -/* 0AB2A8 7F076778 44812000 */ mtc1 $at, $f4 -/* 0AB2AC 7F07677C 248E0003 */ addiu $t6, $a0, 3 -/* 0AB2B0 7F076780 05C10003 */ bgez $t6, .L7F076790 -/* 0AB2B4 7F076784 000E7883 */ sra $t7, $t6, 2 -/* 0AB2B8 7F076788 25C10003 */ addiu $at, $t6, 3 -/* 0AB2BC 7F07678C 00017883 */ sra $t7, $at, 2 -.L7F076790: -/* 0AB2C0 7F076790 000FC080 */ sll $t8, $t7, 2 -/* 0AB2C4 7F076794 44983000 */ mtc1 $t8, $f6 -/* 0AB2C8 7F076798 3C018005 */ lui $at, %hi(D_80054F9C) -/* 0AB2CC 7F07679C 46803220 */ cvt.s.w $f8, $f6 -/* 0AB2D0 7F0767A0 46082003 */ div.s $f0, $f4, $f8 -/* 0AB2D4 7F0767A4 C4244F9C */ lwc1 $f4, %lo(D_80054F9C)($at) -/* 0AB2D8 7F0767A8 4600028D */ trunc.w.s $f10, $f0 -/* 0AB2DC 7F0767AC 44035000 */ mfc1 $v1, $f10 -/* 0AB2E0 7F0767B0 00000000 */ nop -/* 0AB2E4 7F0767B4 44838000 */ mtc1 $v1, $f16 -/* 0AB2E8 7F0767B8 00000000 */ nop -/* 0AB2EC 7F0767BC 468084A0 */ cvt.s.w $f18, $f16 -/* 0AB2F0 7F0767C0 46120181 */ sub.s $f6, $f0, $f18 -/* 0AB2F4 7F0767C4 46043200 */ add.s $f8, $f6, $f4 -/* 0AB2F8 7F0767C8 4600428D */ trunc.w.s $f10, $f8 -/* 0AB2FC 7F0767CC 44095000 */ mfc1 $t1, $f10 -/* 0AB300 7F0767D0 03E00008 */ jr $ra -/* 0AB304 7F0767D4 00691021 */ addu $v0, $v1, $t1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0767D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0767D8 -/* 0AB308 7F0767D8 1CC00002 */ bgtz $a2, .L7F0767E4 -/* 0AB30C 7F0767DC 00001825 */ move $v1, $zero -/* 0AB310 7F0767E0 24060001 */ li $a2, 1 -.L7F0767E4: -/* 0AB314 7F0767E4 18C00016 */ blez $a2, .L7F076840 -/* 0AB318 7F0767E8 248E000F */ addiu $t6, $a0, 0xf -.L7F0767EC: -/* 0AB31C 7F0767EC 05C10003 */ bgez $t6, .L7F0767FC -/* 0AB320 7F0767F0 000E7903 */ sra $t7, $t6, 4 -/* 0AB324 7F0767F4 25C1000F */ addiu $at, $t6, 0xf -/* 0AB328 7F0767F8 00017903 */ sra $t7, $at, 4 -.L7F0767FC: -/* 0AB32C 7F0767FC 000FC080 */ sll $t8, $t7, 2 -/* 0AB330 7F076800 03050019 */ multu $t8, $a1 -/* 0AB334 7F076804 28810002 */ slti $at, $a0, 2 -/* 0AB338 7F076808 24C6FFFF */ addiu $a2, $a2, -1 -/* 0AB33C 7F07680C 00044043 */ sra $t0, $a0, 1 -/* 0AB340 7F076810 00054843 */ sra $t1, $a1, 1 -/* 0AB344 7F076814 0000C812 */ mflo $t9 -/* 0AB348 7F076818 00791821 */ addu $v1, $v1, $t9 -/* 0AB34C 7F07681C 54200003 */ bnezl $at, .L7F07682C -/* 0AB350 7F076820 28A10002 */ slti $at, $a1, 2 -/* 0AB354 7F076824 01002025 */ move $a0, $t0 -/* 0AB358 7F076828 28A10002 */ slti $at, $a1, 2 -.L7F07682C: -/* 0AB35C 7F07682C 14200002 */ bnez $at, .L7F076838 -/* 0AB360 7F076830 00000000 */ nop -/* 0AB364 7F076834 01202825 */ move $a1, $t1 -.L7F076838: -/* 0AB368 7F076838 5CC0FFEC */ bgtzl $a2, .L7F0767EC -/* 0AB36C 7F07683C 248E000F */ addiu $t6, $a0, 0xf -.L7F076840: -/* 0AB370 7F076840 03E00008 */ jr $ra -/* 0AB374 7F076844 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F076848(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F076848 -/* 0AB378 7F076848 1CC00002 */ bgtz $a2, .L7F076854 -/* 0AB37C 7F07684C 00001825 */ move $v1, $zero -/* 0AB380 7F076850 24060001 */ li $a2, 1 -.L7F076854: -/* 0AB384 7F076854 18C00016 */ blez $a2, .L7F0768B0 -/* 0AB388 7F076858 248E0007 */ addiu $t6, $a0, 7 -.L7F07685C: -/* 0AB38C 7F07685C 05C10003 */ bgez $t6, .L7F07686C -/* 0AB390 7F076860 000E78C3 */ sra $t7, $t6, 3 -/* 0AB394 7F076864 25C10007 */ addiu $at, $t6, 7 -/* 0AB398 7F076868 000178C3 */ sra $t7, $at, 3 -.L7F07686C: -/* 0AB39C 7F07686C 000FC080 */ sll $t8, $t7, 2 -/* 0AB3A0 7F076870 03050019 */ multu $t8, $a1 -/* 0AB3A4 7F076874 28810002 */ slti $at, $a0, 2 -/* 0AB3A8 7F076878 24C6FFFF */ addiu $a2, $a2, -1 -/* 0AB3AC 7F07687C 00044043 */ sra $t0, $a0, 1 -/* 0AB3B0 7F076880 00054843 */ sra $t1, $a1, 1 -/* 0AB3B4 7F076884 0000C812 */ mflo $t9 -/* 0AB3B8 7F076888 00791821 */ addu $v1, $v1, $t9 -/* 0AB3BC 7F07688C 54200003 */ bnezl $at, .L7F07689C -/* 0AB3C0 7F076890 28A10002 */ slti $at, $a1, 2 -/* 0AB3C4 7F076894 01002025 */ move $a0, $t0 -/* 0AB3C8 7F076898 28A10002 */ slti $at, $a1, 2 -.L7F07689C: -/* 0AB3CC 7F07689C 14200002 */ bnez $at, .L7F0768A8 -/* 0AB3D0 7F0768A0 00000000 */ nop -/* 0AB3D4 7F0768A4 01202825 */ move $a1, $t1 -.L7F0768A8: -/* 0AB3D8 7F0768A8 5CC0FFEC */ bgtzl $a2, .L7F07685C -/* 0AB3DC 7F0768AC 248E0007 */ addiu $t6, $a0, 7 -.L7F0768B0: -/* 0AB3E0 7F0768B0 03E00008 */ jr $ra -/* 0AB3E4 7F0768B4 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0768B8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0768B8 -/* 0AB3E8 7F0768B8 1CC00002 */ bgtz $a2, .L7F0768C4 -/* 0AB3EC 7F0768BC 00001825 */ move $v1, $zero -/* 0AB3F0 7F0768C0 24060001 */ li $a2, 1 -.L7F0768C4: -/* 0AB3F4 7F0768C4 18C00016 */ blez $a2, .L7F076920 -/* 0AB3F8 7F0768C8 248E0003 */ addiu $t6, $a0, 3 -.L7F0768CC: -/* 0AB3FC 7F0768CC 05C10003 */ bgez $t6, .L7F0768DC -/* 0AB400 7F0768D0 000E7883 */ sra $t7, $t6, 2 -/* 0AB404 7F0768D4 25C10003 */ addiu $at, $t6, 3 -/* 0AB408 7F0768D8 00017883 */ sra $t7, $at, 2 -.L7F0768DC: -/* 0AB40C 7F0768DC 000FC080 */ sll $t8, $t7, 2 -/* 0AB410 7F0768E0 03050019 */ multu $t8, $a1 -/* 0AB414 7F0768E4 28810002 */ slti $at, $a0, 2 -/* 0AB418 7F0768E8 24C6FFFF */ addiu $a2, $a2, -1 -/* 0AB41C 7F0768EC 00044043 */ sra $t0, $a0, 1 -/* 0AB420 7F0768F0 00054843 */ sra $t1, $a1, 1 -/* 0AB424 7F0768F4 0000C812 */ mflo $t9 -/* 0AB428 7F0768F8 00791821 */ addu $v1, $v1, $t9 -/* 0AB42C 7F0768FC 54200003 */ bnezl $at, .L7F07690C -/* 0AB430 7F076900 28A10002 */ slti $at, $a1, 2 -/* 0AB434 7F076904 01002025 */ move $a0, $t0 -/* 0AB438 7F076908 28A10002 */ slti $at, $a1, 2 -.L7F07690C: -/* 0AB43C 7F07690C 14200002 */ bnez $at, .L7F076918 -/* 0AB440 7F076910 00000000 */ nop -/* 0AB444 7F076914 01202825 */ move $a1, $t1 -.L7F076918: -/* 0AB448 7F076918 5CC0FFEC */ bgtzl $a2, .L7F0768CC -/* 0AB44C 7F07691C 248E0003 */ addiu $t6, $a0, 3 -.L7F076920: -/* 0AB450 7F076920 03E00008 */ jr $ra -/* 0AB454 7F076924 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F076928(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F076928 -/* 0AB458 7F076928 1CC00002 */ bgtz $a2, .L7F076934 -/* 0AB45C 7F07692C 00001825 */ move $v1, $zero -/* 0AB460 7F076930 24060001 */ li $a2, 1 -.L7F076934: -/* 0AB464 7F076934 18C00016 */ blez $a2, .L7F076990 -/* 0AB468 7F076938 248E0003 */ addiu $t6, $a0, 3 -.L7F07693C: -/* 0AB46C 7F07693C 05C10003 */ bgez $t6, .L7F07694C -/* 0AB470 7F076940 000E7883 */ sra $t7, $t6, 2 -/* 0AB474 7F076944 25C10003 */ addiu $at, $t6, 3 -/* 0AB478 7F076948 00017883 */ sra $t7, $at, 2 -.L7F07694C: -/* 0AB47C 7F07694C 000FC080 */ sll $t8, $t7, 2 -/* 0AB480 7F076950 03050019 */ multu $t8, $a1 -/* 0AB484 7F076954 28810002 */ slti $at, $a0, 2 -/* 0AB488 7F076958 24C6FFFF */ addiu $a2, $a2, -1 -/* 0AB48C 7F07695C 00044043 */ sra $t0, $a0, 1 -/* 0AB490 7F076960 00054843 */ sra $t1, $a1, 1 -/* 0AB494 7F076964 0000C812 */ mflo $t9 -/* 0AB498 7F076968 00791821 */ addu $v1, $v1, $t9 -/* 0AB49C 7F07696C 54200003 */ bnezl $at, .L7F07697C -/* 0AB4A0 7F076970 28A10002 */ slti $at, $a1, 2 -/* 0AB4A4 7F076974 01002025 */ move $a0, $t0 -/* 0AB4A8 7F076978 28A10002 */ slti $at, $a1, 2 -.L7F07697C: -/* 0AB4AC 7F07697C 14200002 */ bnez $at, .L7F076988 -/* 0AB4B0 7F076980 00000000 */ nop -/* 0AB4B4 7F076984 01202825 */ move $a1, $t1 -.L7F076988: -/* 0AB4B8 7F076988 5CC0FFEC */ bgtzl $a2, .L7F07693C -/* 0AB4BC 7F07698C 248E0003 */ addiu $t6, $a0, 3 -.L7F076990: -/* 0AB4C0 7F076990 03E00008 */ jr $ra -/* 0AB4C4 7F076994 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void generate_microcode_for_othermode_setting(void) { - -} -#else -GLOBAL_ASM( -.text -glabel generate_microcode_for_othermode_setting -/* 0AB4C8 7F076998 AFA50004 */ sw $a1, 4($sp) -/* 0AB4CC 7F07699C 24080001 */ li $t0, 1 -/* 0AB4D0 7F0769A0 14C80078 */ bne $a2, $t0, .L7F076B84 -/* 0AB4D4 7F0769A4 8C820000 */ lw $v0, ($a0) -/* 0AB4D8 7F0769A8 00401825 */ move $v1, $v0 -/* 0AB4DC 7F0769AC 24420008 */ addiu $v0, $v0, 8 -/* 0AB4E0 7F0769B0 3C0EE700 */ lui $t6, 0xe700 -/* 0AB4E4 7F0769B4 AC6E0000 */ sw $t6, ($v1) -/* 0AB4E8 7F0769B8 AC600004 */ sw $zero, 4($v1) -/* 0AB4EC 7F0769BC 00402825 */ move $a1, $v0 -/* 0AB4F0 7F0769C0 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 #BA00140200000000 -/* 0AB4F4 7F0769C4 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 # -/* 0AB4F8 7F0769C8 ACAF0000 */ sw $t7, ($a1) # -/* 0AB4FC 7F0769CC ACA00004 */ sw $zero, 4($a1) #gDPSetCycleType(G_CYC_1CYCLE) -/* 0AB500 7F0769D0 8FB80004 */ lw $t8, 4($sp) -/* 0AB504 7F0769D4 24420008 */ addiu $v0, $v0, 8 -/* 0AB508 7F0769D8 24010002 */ li $at, 2 -/* 0AB50C 7F0769DC 13080007 */ beq $t8, $t0, .L7F0769FC -/* 0AB510 7F0769E0 00000000 */ nop -/* 0AB514 7F0769E4 13010023 */ beq $t8, $at, .L7F076A74 -/* 0AB518 7F0769E8 24010003 */ li $at, 3 -/* 0AB51C 7F0769EC 1301003F */ beq $t8, $at, .L7F076AEC -/* 0AB520 7F0769F0 24010004 */ li $at, 4 -/* 0AB524 7F0769F4 13010050 */ beq $t8, $at, .L7F076B38 -/* 0AB528 7F0769F8 00000000 */ nop -.L7F0769FC: -/* 0AB52C 7F0769FC 10E00015 */ beqz $a3, .L7F076A54 -/* 0AB530 7F076A00 00401825 */ move $v1, $v0 -/* 0AB534 7F076A04 28E10002 */ slti $at, $a3, 2 -/* 0AB538 7F076A08 1420000A */ bnez $at, .L7F076A34 -/* 0AB53C 7F076A0C 00401825 */ move $v1, $v0 -/* 0AB540 7F076A10 00401825 */ move $v1, $v0 -/* 0AB544 7F076A14 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 #B900031D00552D58 -/* 0AB548 7F076A18 3C090055 */ lui $t1, (0x00552D58 >> 16) # lui $t1, 0x55 # -/* 0AB54C 7F076A1C 35292D58 */ ori $t1, (0x00552D58 & 0xFFFF) # ori $t1, $t1, 0x2d58 # -/* 0AB550 7F076A20 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d # -/* 0AB554 7F076A24 AC790000 */ sw $t9, ($v1) # -/* 0AB558 7F076A28 AC690004 */ sw $t1, 4($v1) #gDPSetRenderMode(,) -/* 0AB55C 7F076A2C 100000CC */ b .L7F076D60 -/* 0AB560 7F076A30 24420008 */ addiu $v0, $v0, 8 -.L7F076A34: -/* 0AB564 7F076A34 3C0AB900 */ lui $t2, (0xB900031D >> 16) # lui $t2, 0xb900 #B900031D00552078 -/* 0AB568 7F076A38 3C0B0055 */ lui $t3, (0x00552078 >> 16) # lui $t3, 0x55 # -/* 0AB56C 7F076A3C 356B2078 */ ori $t3, (0x00552078 & 0xFFFF) # ori $t3, $t3, 0x2078 # -/* 0AB570 7F076A40 354A031D */ ori $t2, (0xB900031D & 0xFFFF) # ori $t2, $t2, 0x31d # -/* 0AB574 7F076A44 AC6A0000 */ sw $t2, ($v1) # -/* 0AB578 7F076A48 AC6B0004 */ sw $t3, 4($v1) #gDPSetRenderMode(,) -/* 0AB57C 7F076A4C 100000C4 */ b .L7F076D60 -/* 0AB580 7F076A50 24420008 */ addiu $v0, $v0, 8 -.L7F076A54: -/* 0AB584 7F076A54 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 #B900031D 00552048 -/* 0AB588 7F076A58 3C0D0055 */ lui $t5, (0x00552048 >> 16) # lui $t5, 0x55 # -/* 0AB58C 7F076A5C 35AD2048 */ ori $t5, (0x00552048 & 0xFFFF) # ori $t5, $t5, 0x2048 # -/* 0AB590 7F076A60 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d # -/* 0AB594 7F076A64 AC6C0000 */ sw $t4, ($v1) # -/* 0AB598 7F076A68 AC6D0004 */ sw $t5, 4($v1) #gDPSetRenderMode(,) -/* 0AB59C 7F076A6C 100000BC */ b .L7F076D60 -/* 0AB5A0 7F076A70 24420008 */ addiu $v0, $v0, 8 -.L7F076A74: -/* 0AB5A4 7F076A74 10E00015 */ beqz $a3, .L7F076ACC -/* 0AB5A8 7F076A78 00401825 */ move $v1, $v0 -/* 0AB5AC 7F076A7C 28E10002 */ slti $at, $a3, 2 -/* 0AB5B0 7F076A80 1420000A */ bnez $at, .L7F076AAC -/* 0AB5B4 7F076A84 00401825 */ move $v1, $v0 -/* 0AB5B8 7F076A88 00401825 */ move $v1, $v0 -/* 0AB5BC 7F076A8C 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 #B900031D00504DD8 -/* 0AB5C0 7F076A90 3C0F0050 */ lui $t7, (0x00504DD8 >> 16) # lui $t7, 0x50 # -/* 0AB5C4 7F076A94 35EF4DD8 */ ori $t7, (0x00504DD8 & 0xFFFF) # ori $t7, $t7, 0x4dd8 # -/* 0AB5C8 7F076A98 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d # -/* 0AB5CC 7F076A9C AC6E0000 */ sw $t6, ($v1) # -/* 0AB5D0 7F076AA0 AC6F0004 */ sw $t7, 4($v1) #gDPSetRenderMode(,) -/* 0AB5D4 7F076AA4 100000AE */ b .L7F076D60 -/* 0AB5D8 7F076AA8 24420008 */ addiu $v0, $v0, 8 -.L7F076AAC: -/* 0AB5DC 7F076AAC 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 #B900031D005049D8 -/* 0AB5E0 7F076AB0 3C190050 */ lui $t9, (0x005049D8 >> 16) # lui $t9, 0x50 # -/* 0AB5E4 7F076AB4 373949D8 */ ori $t9, (0x005049D8 & 0xFFFF) # ori $t9, $t9, 0x49d8 # -/* 0AB5E8 7F076AB8 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d # -/* 0AB5EC 7F076ABC AC780000 */ sw $t8, ($v1) # -/* 0AB5F0 7F076AC0 AC790004 */ sw $t9, 4($v1) #gDPSetRenderMode(,) -/* 0AB5F4 7F076AC4 100000A6 */ b .L7F076D60 -/* 0AB5F8 7F076AC8 24420008 */ addiu $v0, $v0, 8 -.L7F076ACC: -/* 0AB5FC 7F076ACC 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900 # -/* 0AB600 7F076AD0 3C0A0050 */ lui $t2, (0x005041C8 >> 16) # lui $t2, 0x50 # -/* 0AB604 7F076AD4 354A41C8 */ ori $t2, (0x005041C8 & 0xFFFF) # ori $t2, $t2, 0x41c8 # -/* 0AB608 7F076AD8 3529031D */ ori $t1, (0xB900031D & 0xFFFF) # ori $t1, $t1, 0x31d # -/* 0AB60C 7F076ADC AC690000 */ sw $t1, ($v1) # -/* 0AB610 7F076AE0 AC6A0004 */ sw $t2, 4($v1) #gDPSetRenderMode(,) -/* 0AB614 7F076AE4 1000009E */ b .L7F076D60 -/* 0AB618 7F076AE8 24420008 */ addiu $v0, $v0, 8 -.L7F076AEC: -/* 0AB61C 7F076AEC 10E0000A */ beqz $a3, .L7F076B18 -/* 0AB620 7F076AF0 00401825 */ move $v1, $v0 -/* 0AB624 7F076AF4 00401825 */ move $v1, $v0 -/* 0AB628 7F076AF8 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 # -/* 0AB62C 7F076AFC 3C0C0055 */ lui $t4, (0x00553078 >> 16) # lui $t4, 0x55 # -/* 0AB630 7F076B00 358C3078 */ ori $t4, (0x00553078 & 0xFFFF) # ori $t4, $t4, 0x3078 # -/* 0AB634 7F076B04 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d # -/* 0AB638 7F076B08 AC6B0000 */ sw $t3, ($v1) # -/* 0AB63C 7F076B0C AC6C0004 */ sw $t4, 4($v1) #gDPSetRenderMode(,) -/* 0AB640 7F076B10 10000093 */ b .L7F076D60 -/* 0AB644 7F076B14 24420008 */ addiu $v0, $v0, 8 -.L7F076B18: -/* 0AB648 7F076B18 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 # -/* 0AB64C 7F076B1C 3C0E0055 */ lui $t6, (0x00553048 >> 16) # lui $t6, 0x55 # -/* 0AB650 7F076B20 35CE3048 */ ori $t6, (0x00553048 & 0xFFFF) # ori $t6, $t6, 0x3048 # -/* 0AB654 7F076B24 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d # -/* 0AB658 7F076B28 AC6D0000 */ sw $t5, ($v1) # -/* 0AB65C 7F076B2C AC6E0004 */ sw $t6, 4($v1) #gDPSetRenderMode(,) -/* 0AB660 7F076B30 1000008B */ b .L7F076D60 -/* 0AB664 7F076B34 24420008 */ addiu $v0, $v0, 8 -.L7F076B38: -/* 0AB668 7F076B38 10E0000A */ beqz $a3, .L7F076B64 -/* 0AB66C 7F076B3C 00401825 */ move $v1, $v0 -/* 0AB670 7F076B40 00401825 */ move $v1, $v0 -/* 0AB674 7F076B44 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 # -/* 0AB678 7F076B48 3C180050 */ lui $t8, (0x00504B50 >> 16) # lui $t8, 0x50 # -/* 0AB67C 7F076B4C 37184B50 */ ori $t8, (0x00504B50 & 0xFFFF) # ori $t8, $t8, 0x4b50 # -/* 0AB680 7F076B50 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d # -/* 0AB684 7F076B54 AC6F0000 */ sw $t7, ($v1) # -/* 0AB688 7F076B58 AC780004 */ sw $t8, 4($v1) #gDPSetRenderMode(,) -/* 0AB68C 7F076B5C 10000080 */ b .L7F076D60 -/* 0AB690 7F076B60 24420008 */ addiu $v0, $v0, 8 -.L7F076B64: -/* 0AB694 7F076B64 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 # -/* 0AB698 7F076B68 3C090050 */ lui $t1, (0x00504340 >> 16) # lui $t1, 0x50 # -/* 0AB69C 7F076B6C 35294340 */ ori $t1, (0x00504340 & 0xFFFF) # ori $t1, $t1, 0x4340 # -/* 0AB6A0 7F076B70 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d # -/* 0AB6A4 7F076B74 AC790000 */ sw $t9, ($v1) # -/* 0AB6A8 7F076B78 AC690004 */ sw $t1, 4($v1) #gDPSetRenderMode(,) -/* 0AB6AC 7F076B7C 10000078 */ b .L7F076D60 -/* 0AB6B0 7F076B80 24420008 */ addiu $v0, $v0, 8 -.L7F076B84: -/* 0AB6B4 7F076B84 00401825 */ move $v1, $v0 -/* 0AB6B8 7F076B88 24420008 */ addiu $v0, $v0, 8 -/* 0AB6BC 7F076B8C 3C0AE700 */ lui $t2, 0xe700 #e7000000000000 -/* 0AB6C0 7F076B90 AC6A0000 */ sw $t2, ($v1) #gDPPipeSync() -/* 0AB6C4 7F076B94 AC600004 */ sw $zero, 4($v1) -/* 0AB6C8 7F076B98 00402825 */ move $a1, $v0 -/* 0AB6CC 7F076B9C 3C0BBA00 */ lui $t3, (0xBA001402 >> 16) # lui $t3, 0xba00 # -/* 0AB6D0 7F076BA0 356B1402 */ ori $t3, (0xBA001402 & 0xFFFF) # ori $t3, $t3, 0x1402 # -/* 0AB6D4 7F076BA4 3C0C0010 */ lui $t4, 0x10 #2c -/* 0AB6D8 7F076BA8 ACAC0004 */ sw $t4, 4($a1) #gDPSetCycleType(G_CYC_2CYCLE) -/* 0AB6DC 7F076BAC ACAB0000 */ sw $t3, ($a1) -/* 0AB6E0 7F076BB0 8FAD0004 */ lw $t5, 4($sp) -/* 0AB6E4 7F076BB4 24420008 */ addiu $v0, $v0, 8 -/* 0AB6E8 7F076BB8 24010002 */ li $at, 2 -/* 0AB6EC 7F076BBC 11A80007 */ beq $t5, $t0, .L7F076BDC -/* 0AB6F0 7F076BC0 00000000 */ nop -/* 0AB6F4 7F076BC4 11A10023 */ beq $t5, $at, .L7F076C54 -/* 0AB6F8 7F076BC8 24010003 */ li $at, 3 -/* 0AB6FC 7F076BCC 11A1003F */ beq $t5, $at, .L7F076CCC -/* 0AB700 7F076BD0 24010004 */ li $at, 4 -/* 0AB704 7F076BD4 11A10050 */ beq $t5, $at, .L7F076D18 -/* 0AB708 7F076BD8 00000000 */ nop -.L7F076BDC: -/* 0AB70C 7F076BDC 10E00015 */ beqz $a3, .L7F076C34 -/* 0AB710 7F076BE0 00401825 */ move $v1, $v0 -/* 0AB714 7F076BE4 28E10002 */ slti $at, $a3, 2 -/* 0AB718 7F076BE8 1420000A */ bnez $at, .L7F076C14 -/* 0AB71C 7F076BEC 00401825 */ move $v1, $v0 -/* 0AB720 7F076BF0 00401825 */ move $v1, $v0 -/* 0AB724 7F076BF4 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 # -/* 0AB728 7F076BF8 3C0F0C19 */ lui $t7, (0x0C192D58 >> 16) # lui $t7, 0xc19 # -/* 0AB72C 7F076BFC 35EF2D58 */ ori $t7, (0x0C192D58 & 0xFFFF) # ori $t7, $t7, 0x2d58 # -/* 0AB730 7F076C00 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d # -/* 0AB734 7F076C04 AC6E0000 */ sw $t6, ($v1) # -/* 0AB738 7F076C08 AC6F0004 */ sw $t7, 4($v1) #gDPSetRenderMode(,) -/* 0AB73C 7F076C0C 10000054 */ b .L7F076D60 -/* 0AB740 7F076C10 24420008 */ addiu $v0, $v0, 8 -.L7F076C14: -/* 0AB744 7F076C14 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 # -/* 0AB748 7F076C18 3C190C19 */ lui $t9, (0x0C192078 >> 16) # lui $t9, 0xc19 # -/* 0AB74C 7F076C1C 37392078 */ ori $t9, (0x0C192078 & 0xFFFF) # ori $t9, $t9, 0x2078 # -/* 0AB750 7F076C20 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d # -/* 0AB754 7F076C24 AC780000 */ sw $t8, ($v1) # -/* 0AB758 7F076C28 AC790004 */ sw $t9, 4($v1) #gDPSetRenderMode(,) -/* 0AB75C 7F076C2C 1000004C */ b .L7F076D60 -/* 0AB760 7F076C30 24420008 */ addiu $v0, $v0, 8 -.L7F076C34: -/* 0AB764 7F076C34 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900 # -/* 0AB768 7F076C38 3C0A0C19 */ lui $t2, (0x0C192048 >> 16) # lui $t2, 0xc19 # -/* 0AB76C 7F076C3C 354A2048 */ ori $t2, (0x0C192048 & 0xFFFF) # ori $t2, $t2, 0x2048 # -/* 0AB770 7F076C40 3529031D */ ori $t1, (0xB900031D & 0xFFFF) # ori $t1, $t1, 0x31d # -/* 0AB774 7F076C44 AC690000 */ sw $t1, ($v1) # -/* 0AB778 7F076C48 AC6A0004 */ sw $t2, 4($v1) #gDPSetRenderMode(,) -/* 0AB77C 7F076C4C 10000044 */ b .L7F076D60 -/* 0AB780 7F076C50 24420008 */ addiu $v0, $v0, 8 -.L7F076C54: -/* 0AB784 7F076C54 10E00015 */ beqz $a3, .L7F076CAC -/* 0AB788 7F076C58 00401825 */ move $v1, $v0 -/* 0AB78C 7F076C5C 28E10002 */ slti $at, $a3, 2 -/* 0AB790 7F076C60 1420000A */ bnez $at, .L7F076C8C -/* 0AB794 7F076C64 00401825 */ move $v1, $v0 -/* 0AB798 7F076C68 00401825 */ move $v1, $v0 -/* 0AB79C 7F076C6C 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 # -/* 0AB7A0 7F076C70 3C0C0C18 */ lui $t4, (0x0C184DD8 >> 16) # lui $t4, 0xc18 # -/* 0AB7A4 7F076C74 358C4DD8 */ ori $t4, (0x0C184DD8 & 0xFFFF) # ori $t4, $t4, 0x4dd8 # -/* 0AB7A8 7F076C78 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d # -/* 0AB7AC 7F076C7C AC6B0000 */ sw $t3, ($v1) # -/* 0AB7B0 7F076C80 AC6C0004 */ sw $t4, 4($v1) #gDPSetRenderMode(,) -/* 0AB7B4 7F076C84 10000036 */ b .L7F076D60 -/* 0AB7B8 7F076C88 24420008 */ addiu $v0, $v0, 8 -.L7F076C8C: -/* 0AB7BC 7F076C8C 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 # -/* 0AB7C0 7F076C90 3C0E0C18 */ lui $t6, (0x0C1849D8 >> 16) # lui $t6, 0xc18 # -/* 0AB7C4 7F076C94 35CE49D8 */ ori $t6, (0x0C1849D8 & 0xFFFF) # ori $t6, $t6, 0x49d8 # -/* 0AB7C8 7F076C98 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d # -/* 0AB7CC 7F076C9C AC6D0000 */ sw $t5, ($v1) # -/* 0AB7D0 7F076CA0 AC6E0004 */ sw $t6, 4($v1) #gDPSetRenderMode(,) -/* 0AB7D4 7F076CA4 1000002E */ b .L7F076D60 -/* 0AB7D8 7F076CA8 24420008 */ addiu $v0, $v0, 8 -.L7F076CAC: -/* 0AB7DC 7F076CAC 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 # -/* 0AB7E0 7F076CB0 3C180C18 */ lui $t8, (0x0C1841C8 >> 16) # lui $t8, 0xc18 # -/* 0AB7E4 7F076CB4 371841C8 */ ori $t8, (0x0C1841C8 & 0xFFFF) # ori $t8, $t8, 0x41c8 # -/* 0AB7E8 7F076CB8 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d # -/* 0AB7EC 7F076CBC AC6F0000 */ sw $t7, ($v1) # -/* 0AB7F0 7F076CC0 AC780004 */ sw $t8, 4($v1) #gDPSetRenderMode(,) -/* 0AB7F4 7F076CC4 10000026 */ b .L7F076D60 -/* 0AB7F8 7F076CC8 24420008 */ addiu $v0, $v0, 8 -.L7F076CCC: -/* 0AB7FC 7F076CCC 10E0000A */ beqz $a3, .L7F076CF8 -/* 0AB800 7F076CD0 00401825 */ move $v1, $v0 -/* 0AB804 7F076CD4 00401825 */ move $v1, $v0 -/* 0AB808 7F076CD8 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 # -/* 0AB80C 7F076CDC 3C090C19 */ lui $t1, (0x0C193078 >> 16) # lui $t1, 0xc19 # -/* 0AB810 7F076CE0 35293078 */ ori $t1, (0x0C193078 & 0xFFFF) # ori $t1, $t1, 0x3078 # -/* 0AB814 7F076CE4 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d # -/* 0AB818 7F076CE8 AC790000 */ sw $t9, ($v1) # -/* 0AB81C 7F076CEC AC690004 */ sw $t1, 4($v1) #gDPSetRenderMode(,) -/* 0AB820 7F076CF0 1000001B */ b .L7F076D60 -/* 0AB824 7F076CF4 24420008 */ addiu $v0, $v0, 8 -.L7F076CF8: -/* 0AB828 7F076CF8 3C0AB900 */ lui $t2, (0xB900031D >> 16) # lui $t2, 0xb900 # -/* 0AB82C 7F076CFC 3C0B0C19 */ lui $t3, (0x0C193048 >> 16) # lui $t3, 0xc19 # -/* 0AB830 7F076D00 356B3048 */ ori $t3, (0x0C193048 & 0xFFFF) # ori $t3, $t3, 0x3048 # -/* 0AB834 7F076D04 354A031D */ ori $t2, (0xB900031D & 0xFFFF) # ori $t2, $t2, 0x31d # -/* 0AB838 7F076D08 AC6A0000 */ sw $t2, ($v1) # -/* 0AB83C 7F076D0C AC6B0004 */ sw $t3, 4($v1) #gDPSetRenderMode(,) -/* 0AB840 7F076D10 10000013 */ b .L7F076D60 -/* 0AB844 7F076D14 24420008 */ addiu $v0, $v0, 8 -.L7F076D18: -/* 0AB848 7F076D18 10E0000A */ beqz $a3, .L7F076D44 -/* 0AB84C 7F076D1C 00401825 */ move $v1, $v0 -/* 0AB850 7F076D20 00401825 */ move $v1, $v0 -/* 0AB854 7F076D24 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 # -/* 0AB858 7F076D28 3C0D0C18 */ lui $t5, (0x0C184B50 >> 16) # lui $t5, 0xc18 # -/* 0AB85C 7F076D2C 35AD4B50 */ ori $t5, (0x0C184B50 & 0xFFFF) # ori $t5, $t5, 0x4b50 # -/* 0AB860 7F076D30 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d # -/* 0AB864 7F076D34 AC6C0000 */ sw $t4, ($v1) # -/* 0AB868 7F076D38 AC6D0004 */ sw $t5, 4($v1) #gDPSetRenderMode(,) -/* 0AB86C 7F076D3C 10000008 */ b .L7F076D60 -/* 0AB870 7F076D40 24420008 */ addiu $v0, $v0, 8 -.L7F076D44: -/* 0AB874 7F076D44 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 # -/* 0AB878 7F076D48 3C0F0C18 */ lui $t7, (0x0C184340 >> 16) # lui $t7, 0xc18 # -/* 0AB87C 7F076D4C 35EF4340 */ ori $t7, (0x0C184340 & 0xFFFF) # ori $t7, $t7, 0x4340 # -/* 0AB880 7F076D50 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d # -/* 0AB884 7F076D54 AC6E0000 */ sw $t6, ($v1) # -/* 0AB888 7F076D58 AC6F0004 */ sw $t7, 4($v1) #gDPSetRenderMode(,) -/* 0AB88C 7F076D5C 24420008 */ addiu $v0, $v0, 8 -.L7F076D60: -/* 0AB890 7F076D60 03E00008 */ jr $ra -/* 0AB894 7F076D64 AC820000 */ sw $v0, ($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void likely_generate_DL_for_image_declaration(void) { - -} -#else -GLOBAL_ASM( -.text -glabel likely_generate_DL_for_image_declaration -/* 0AB898 7F076D68 27BDFE90 */ addiu $sp, $sp, -0x170 -/* 0AB89C 7F076D6C AFBF0034 */ sw $ra, 0x34($sp) -/* 0AB8A0 7F076D70 AFB70030 */ sw $s7, 0x30($sp) -/* 0AB8A4 7F076D74 AFB6002C */ sw $s6, 0x2c($sp) -/* 0AB8A8 7F076D78 AFB50028 */ sw $s5, 0x28($sp) -/* 0AB8AC 7F076D7C AFB40024 */ sw $s4, 0x24($sp) -/* 0AB8B0 7F076D80 AFB30020 */ sw $s3, 0x20($sp) -/* 0AB8B4 7F076D84 AFB2001C */ sw $s2, 0x1c($sp) -/* 0AB8B8 7F076D88 AFB10018 */ sw $s1, 0x18($sp) -/* 0AB8BC 7F076D8C AFB00014 */ sw $s0, 0x14($sp) -/* 0AB8C0 7F076D90 AFA40170 */ sw $a0, 0x170($sp) -/* 0AB8C4 7F076D94 AFA60178 */ sw $a2, 0x178($sp) -/* 0AB8C8 7F076D98 8C8F0000 */ lw $t7, ($a0) -/* 0AB8CC 7F076D9C 00E08025 */ move $s0, $a3 -/* 0AB8D0 7F076DA0 00A0B825 */ move $s7, $a1 -/* 0AB8D4 7F076DA4 14A00025 */ bnez $a1, .L7F076E3C -/* 0AB8D8 7F076DA8 AFAF016C */ sw $t7, 0x16c($sp) -/* 0AB8DC 7F076DAC 00C02825 */ move $a1, $a2 -/* 0AB8E0 7F076DB0 24060001 */ li $a2, 1 -/* 0AB8E4 7F076DB4 0FC1DA66 */ jal generate_microcode_for_othermode_setting -/* 0AB8E8 7F076DB8 27A4016C */ addiu $a0, $sp, 0x16c -/* 0AB8EC 7F076DBC 2A010002 */ slti $at, $s0, 2 -/* 0AB8F0 7F076DC0 1420000D */ bnez $at, .L7F076DF8 -/* 0AB8F4 7F076DC4 8FAF016C */ lw $t7, 0x16c($sp) -/* 0AB8F8 7F076DC8 8FA2016C */ lw $v0, 0x16c($sp) -/* 0AB8FC 7F076DCC 320E00FF */ andi $t6, $s0, 0xff -/* 0AB900 7F076DD0 000E7C00 */ sll $t7, $t6, 0x10 -/* 0AB904 7F076DD4 3C01BB00 */ lui $at, 0xbb00 -/* 0AB908 7F076DD8 24590008 */ addiu $t9, $v0, 8 -/* 0AB90C 7F076DDC AFB9016C */ sw $t9, 0x16c($sp) -/* 0AB910 7F076DE0 01E1C025 */ or $t8, $t7, $at -/* 0AB914 7F076DE4 37190001 */ ori $t9, $t8, 1 -/* 0AB918 7F076DE8 240EFFFF */ li $t6, -1 -/* 0AB91C 7F076DEC AC4E0004 */ sw $t6, 4($v0) -/* 0AB920 7F076DF0 10000008 */ b .L7F076E14 -/* 0AB924 7F076DF4 AC590000 */ sw $t9, ($v0) -.L7F076DF8: -/* 0AB928 7F076DF8 25F80008 */ addiu $t8, $t7, 8 -/* 0AB92C 7F076DFC AFB8016C */ sw $t8, 0x16c($sp) -/* 0AB930 7F076E00 3C19BB00 */ lui $t9, (0xBB000001 >> 16) # lui $t9, 0xbb00 # -/* 0AB934 7F076E04 37390001 */ ori $t9, (0xBB000001 & 0xFFFF) # ori $t9, $t9, 1 # -/* 0AB938 7F076E08 240EFFFF */ li $t6, -1 -/* 0AB93C 7F076E0C ADEE0004 */ sw $t6, 4($t7) # As with above gbi, I forgot to include *dl since I dont know where it is saving the Gfx array (*dl) -/* 0AB940 7F076E10 ADF90000 */ sw $t9, ($t7) #gSPTexture(*dl, 0xFFFF, 0xFFFF, 1, 0, G_ON) #use FFFF since 1.0 cannot be represented directly -.L7F076E14: -/* 0AB944 7F076E14 8FAF016C */ lw $t7, 0x16c($sp) -/* 0AB948 7F076E18 3C19FCFF */ lui $t9, (0xFCFFFFFF >> 16) # lui $t9, 0xfcff # -/* 0AB94C 7F076E1C 3C0EFFFE */ lui $t6, (0xFFFE793C >> 16) # lui $t6, 0xfffe #FCFFFFFFFFFE793C -/* 0AB950 7F076E20 25F80008 */ addiu $t8, $t7, 8 -/* 0AB954 7F076E24 AFB8016C */ sw $t8, 0x16c($sp) -/* 0AB958 7F076E28 35CE793C */ ori $t6, (0xFFFE793C & 0xFFFF) # ori $t6, $t6, 0x793c # -/* 0AB95C 7F076E2C 3739FFFF */ ori $t9, (0xFCFFFFFF & 0xFFFF) # ori $t9, $t9, 0xffff # -/* 0AB960 7F076E30 ADF90000 */ sw $t9, ($t7) # -/* 0AB964 7F076E34 10000352 */ b .L7F077B80 -/* 0AB968 7F076E38 ADEE0004 */ sw $t6, 4($t7) #gDPSetCombineMode() -.L7F076E3C: -/* 0AB96C 7F076E3C 8EE20000 */ lw $v0, ($s7) -/* 0AB970 7F076E40 92F50004 */ lbu $s5, 4($s7) -/* 0AB974 7F076E44 92F40005 */ lbu $s4, 5($s7) -/* 0AB978 7F076E48 2C410BB9 */ sltiu $at, $v0, 0xbb9 -/* 0AB97C 7F076E4C 10200004 */ beqz $at, .L7F076E60 -/* 0AB980 7F076E50 02E02025 */ move $a0, $s7 -/* 0AB984 7F076E54 0FC32F06 */ jal load_image_to_buffer -/* 0AB988 7F076E58 00002825 */ move $a1, $zero -/* 0AB98C 7F076E5C 8EE20000 */ lw $v0, ($s7) -.L7F076E60: -/* 0AB990 7F076E60 3C018000 */ lui $at, 0x8000 -/* 0AB994 7F076E64 00411825 */ or $v1, $v0, $at -/* 0AB998 7F076E68 9464FFF8 */ lhu $a0, -8($v1) -/* 0AB99C 7F076E6C 0FC32EC3 */ jal sub_GAME_7F0CBB0C -/* 0AB9A0 7F076E70 00002825 */ move $a1, $zero -/* 0AB9A4 7F076E74 92E30006 */ lbu $v1, 6($s7) -/* 0AB9A8 7F076E78 0040B025 */ move $s6, $v0 -/* 0AB9AC 7F076E7C 54600167 */ bnezl $v1, .L7F07741C -/* 0AB9B0 7F076E80 AFA000D0 */ sw $zero, 0xd0($sp) -/* 0AB9B4 7F076E84 5040000D */ beql $v0, $zero, .L7F076EBC -/* 0AB9B8 7F076E88 92F10007 */ lbu $s1, 7($s7) -/* 0AB9BC 7F076E8C 8C520008 */ lw $s2, 8($v0) -/* 0AB9C0 7F076E90 8C4E000C */ lw $t6, 0xc($v0) -/* 0AB9C4 7F076E94 00128EC0 */ sll $s1, $s2, 0x1b -/* 0AB9C8 7F076E98 00117F42 */ srl $t7, $s1, 0x1d -/* 0AB9CC 7F076E9C 31F100FF */ andi $s1, $t7, 0xff -/* 0AB9D0 7F076EA0 000E7F82 */ srl $t7, $t6, 0x1e -/* 0AB9D4 7F076EA4 000FC380 */ sll $t8, $t7, 0xe -/* 0AB9D8 7F076EA8 32590003 */ andi $t9, $s2, 3 -/* 0AB9DC 7F076EAC 03209025 */ move $s2, $t9 -/* 0AB9E0 7F076EB0 10000003 */ b .L7F076EC0 -/* 0AB9E4 7F076EB4 AFB80144 */ sw $t8, 0x144($sp) -/* 0AB9E8 7F076EB8 92F10007 */ lbu $s1, 7($s7) -.L7F076EBC: -/* 0AB9EC 7F076EBC 92F20008 */ lbu $s2, 8($s7) -.L7F076EC0: -/* 0AB9F0 7F076EC0 12400033 */ beqz $s2, .L7F076F90 -/* 0AB9F4 7F076EC4 02401025 */ move $v0, $s2 -/* 0AB9F8 7F076EC8 24010001 */ li $at, 1 -/* 0AB9FC 7F076ECC 10410023 */ beq $v0, $at, .L7F076F5C -/* 0ABA00 7F076ED0 240F0002 */ li $t7, 2 -/* 0ABA04 7F076ED4 24010002 */ li $at, 2 -/* 0ABA08 7F076ED8 10410013 */ beq $v0, $at, .L7F076F28 -/* 0ABA0C 7F076EDC 24180002 */ li $t8, 2 -/* 0ABA10 7F076EE0 24010003 */ li $at, 3 -/* 0ABA14 7F076EE4 10410003 */ beq $v0, $at, .L7F076EF4 -/* 0ABA18 7F076EE8 24190003 */ li $t9, 3 -/* 0ABA1C 7F076EEC 10000035 */ b .L7F076FC4 -/* 0ABA20 7F076EF0 8FB3013C */ lw $s3, 0x13c($sp) -.L7F076EF4: -/* 0ABA24 7F076EF4 AFB90140 */ sw $t9, 0x140($sp) -/* 0ABA28 7F076EF8 02A02025 */ move $a0, $s5 -/* 0ABA2C 7F076EFC 02802825 */ move $a1, $s4 -/* 0ABA30 7F076F00 0FC1DA4A */ jal sub_GAME_7F076928 -/* 0ABA34 7F076F04 24060001 */ li $a2, 1 -/* 0ABA38 7F076F08 2453FFFF */ addiu $s3, $v0, -1 -/* 0ABA3C 7F076F0C 0FC1D9DD */ jal ceil1000 -/* 0ABA40 7F076F10 02A02025 */ move $a0, $s5 -/* 0ABA44 7F076F14 26AE0003 */ addiu $t6, $s5, 3 -/* 0ABA48 7F076F18 000E7883 */ sra $t7, $t6, 2 -/* 0ABA4C 7F076F1C AFA20138 */ sw $v0, 0x138($sp) -/* 0ABA50 7F076F20 10000028 */ b .L7F076FC4 -/* 0ABA54 7F076F24 AFAF0134 */ sw $t7, 0x134($sp) -.L7F076F28: -/* 0ABA58 7F076F28 AFB80140 */ sw $t8, 0x140($sp) -/* 0ABA5C 7F076F2C 02A02025 */ move $a0, $s5 -/* 0ABA60 7F076F30 02802825 */ move $a1, $s4 -/* 0ABA64 7F076F34 0FC1DA2E */ jal sub_GAME_7F0768B8 -/* 0ABA68 7F076F38 24060001 */ li $a2, 1 -/* 0ABA6C 7F076F3C 2453FFFF */ addiu $s3, $v0, -1 -/* 0ABA70 7F076F40 0FC1D9C4 */ jal ceil2000 -/* 0ABA74 7F076F44 02A02025 */ move $a0, $s5 -/* 0ABA78 7F076F48 26B90003 */ addiu $t9, $s5, 3 -/* 0ABA7C 7F076F4C 00197083 */ sra $t6, $t9, 2 -/* 0ABA80 7F076F50 AFA20138 */ sw $v0, 0x138($sp) -/* 0ABA84 7F076F54 1000001B */ b .L7F076FC4 -/* 0ABA88 7F076F58 AFAE0134 */ sw $t6, 0x134($sp) -.L7F076F5C: -/* 0ABA8C 7F076F5C AFAF0140 */ sw $t7, 0x140($sp) -/* 0ABA90 7F076F60 02A02025 */ move $a0, $s5 -/* 0ABA94 7F076F64 02802825 */ move $a1, $s4 -/* 0ABA98 7F076F68 0FC1DA12 */ jal sub_GAME_7F076848 -/* 0ABA9C 7F076F6C 24060001 */ li $a2, 1 -/* 0ABAA0 7F076F70 2453FFFF */ addiu $s3, $v0, -1 -/* 0ABAA4 7F076F74 0FC1D9AB */ jal ceil4000 -/* 0ABAA8 7F076F78 02A02025 */ move $a0, $s5 -/* 0ABAAC 7F076F7C 26B80007 */ addiu $t8, $s5, 7 -/* 0ABAB0 7F076F80 0018C8C3 */ sra $t9, $t8, 3 -/* 0ABAB4 7F076F84 AFA20138 */ sw $v0, 0x138($sp) -/* 0ABAB8 7F076F88 1000000E */ b .L7F076FC4 -/* 0ABABC 7F076F8C AFB90134 */ sw $t9, 0x134($sp) -.L7F076F90: -/* 0ABAC0 7F076F90 240E0002 */ li $t6, 2 -/* 0ABAC4 7F076F94 AFAE0140 */ sw $t6, 0x140($sp) -/* 0ABAC8 7F076F98 02A02025 */ move $a0, $s5 -/* 0ABACC 7F076F9C 02802825 */ move $a1, $s4 -/* 0ABAD0 7F076FA0 0FC1D9F6 */ jal sub_GAME_7F0767D8 -/* 0ABAD4 7F076FA4 24060001 */ li $a2, 1 -/* 0ABAD8 7F076FA8 2453FFFF */ addiu $s3, $v0, -1 -/* 0ABADC 7F076FAC 0FC1D992 */ jal ceil8000 -/* 0ABAE0 7F076FB0 02A02025 */ move $a0, $s5 -/* 0ABAE4 7F076FB4 26AF000F */ addiu $t7, $s5, 0xf -/* 0ABAE8 7F076FB8 000FC103 */ sra $t8, $t7, 4 -/* 0ABAEC 7F076FBC AFA20138 */ sw $v0, 0x138($sp) -/* 0ABAF0 7F076FC0 AFB80134 */ sw $t8, 0x134($sp) -.L7F076FC4: -/* 0ABAF4 7F076FC4 27A4016C */ addiu $a0, $sp, 0x16c -/* 0ABAF8 7F076FC8 8FA50178 */ lw $a1, 0x178($sp) -/* 0ABAFC 7F076FCC 24060001 */ li $a2, 1 -/* 0ABB00 7F076FD0 0FC1DA66 */ jal generate_microcode_for_othermode_setting -/* 0ABB04 7F076FD4 02003825 */ move $a3, $s0 -/* 0ABB08 7F076FD8 2A010002 */ slti $at, $s0, 2 -/* 0ABB0C 7F076FDC 1420000D */ bnez $at, .L7F077014 -/* 0ABB10 7F076FE0 02204825 */ move $t1, $s1 -/* 0ABB14 7F076FE4 8FA2016C */ lw $v0, 0x16c($sp) -/* 0ABB18 7F076FE8 320F00FF */ andi $t7, $s0, 0xff -/* 0ABB1C 7F076FEC 000FC400 */ sll $t8, $t7, 0x10 -/* 0ABB20 7F076FF0 3C01BB00 */ lui $at, 0xbb00 -/* 0ABB24 7F076FF4 244E0008 */ addiu $t6, $v0, 8 -/* 0ABB28 7F076FF8 AFAE016C */ sw $t6, 0x16c($sp) -/* 0ABB2C 7F076FFC 0301C825 */ or $t9, $t8, $at -/* 0ABB30 7F077000 372E0001 */ ori $t6, $t9, 1 -/* 0ABB34 7F077004 240FFFFF */ li $t7, -1 -/* 0ABB38 7F077008 AC4F0004 */ sw $t7, 4($v0) -/* 0ABB3C 7F07700C 10000009 */ b .L7F077034 -/* 0ABB40 7F077010 AC4E0000 */ sw $t6, ($v0) -.L7F077014: -/* 0ABB44 7F077014 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABB48 7F077018 3C0EBB00 */ lui $t6, (0xBB000001 >> 16) # lui $t6, 0xbb00 # -/* 0ABB4C 7F07701C 35CE0001 */ ori $t6, (0xBB000001 & 0xFFFF) # ori $t6, $t6, 1 # -/* 0ABB50 7F077020 27190008 */ addiu $t9, $t8, 8 -/* 0ABB54 7F077024 AFB9016C */ sw $t9, 0x16c($sp) -/* 0ABB58 7F077028 240FFFFF */ li $t7, -1 # -/* 0ABB5C 7F07702C AF0F0004 */ sw $t7, 4($t8) # -/* 0ABB60 7F077030 AF0E0000 */ sw $t6, ($t8) #gSPTexture(*dl, 0xFFFF, 0xFFFF, 1, 0, G_ON) #use FFFF since 1.0 cannot be represented directly -.L7F077034: -/* 0ABB64 7F077034 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABB68 7F077038 3C0EBA00 */ lui $t6, (0xBA001001 >> 16) # lui $t6, 0xba00 # -/* 0ABB6C 7F07703C 35CE1001 */ ori $t6, (0xBA001001 & 0xFFFF) # ori $t6, $t6, 0x1001 # -/* 0ABB70 7F077040 27190008 */ addiu $t9, $t8, 8 -/* 0ABB74 7F077044 AFB9016C */ sw $t9, 0x16c($sp) -/* 0ABB78 7F077048 AF000004 */ sw $zero, 4($t8) -/* 0ABB7C 7F07704C 1220000C */ beqz $s1, .L7F077080 -/* 0ABB80 7F077050 AF0E0000 */ sw $t6, ($t8) #gDPSetTextureLOD(G_TL_TILE) -/* 0ABB84 7F077054 24010002 */ li $at, 2 -/* 0ABB88 7F077058 11210024 */ beq $t1, $at, .L7F0770EC -/* 0ABB8C 7F07705C 8FAF0144 */ lw $t7, 0x144($sp) -/* 0ABB90 7F077060 24010003 */ li $at, 3 -/* 0ABB94 7F077064 11210010 */ beq $t1, $at, .L7F0770A8 -/* 0ABB98 7F077068 8FAF016C */ lw $t7, 0x16c($sp) -/* 0ABB9C 7F07706C 24010004 */ li $at, 4 -/* 0ABBA0 7F077070 11210016 */ beq $t1, $at, .L7F0770CC -/* 0ABBA4 7F077074 8FAF016C */ lw $t7, 0x16c($sp) -/* 0ABBA8 7F077078 10000036 */ b .L7F077154 -/* 0ABBAC 7F07707C 8FA2016C */ lw $v0, 0x16c($sp) -.L7F077080: -/* 0ABBB0 7F077080 8FAF016C */ lw $t7, 0x16c($sp) -/* 0ABBB4 7F077084 3C19FC12 */ lui $t9, (0xFC121824 >> 16) # lui $t9, 0xfc12 # -/* 0ABBB8 7F077088 3C0EFF33 */ lui $t6, (0xFF33FFFF >> 16) # lui $t6, 0xff33 # -/* 0ABBBC 7F07708C 25F80008 */ addiu $t8, $t7, 8 -/* 0ABBC0 7F077090 AFB8016C */ sw $t8, 0x16c($sp) -/* 0ABBC4 7F077094 35CEFFFF */ ori $t6, (0xFF33FFFF & 0xFFFF) # ori $t6, $t6, 0xffff # -/* 0ABBC8 7F077098 37391824 */ ori $t9, (0xFC121824 & 0xFFFF) # ori $t9, $t9, 0x1824 # -/* 0ABBCC 7F07709C ADF90000 */ sw $t9, ($t7) -/* 0ABBD0 7F0770A0 1000002B */ b .L7F077150 -/* 0ABBD4 7F0770A4 ADEE0004 */ sw $t6, 4($t7) #gDPSetCombineMode() -.L7F0770A8: -/* 0ABBD8 7F0770A8 25F80008 */ addiu $t8, $t7, 8 -/* 0ABBDC 7F0770AC 3C19FC12 */ lui $t9, (0xFC121824 >> 16) # lui $t9, 0xfc12 # -/* 0ABBE0 7F0770B0 3C0EFF33 */ lui $t6, (0xFF33FFFF >> 16) # lui $t6, 0xff33 # -/* 0ABBE4 7F0770B4 35CEFFFF */ ori $t6, (0xFF33FFFF & 0xFFFF) # ori $t6, $t6, 0xffff # -/* 0ABBE8 7F0770B8 37391824 */ ori $t9, (0xFC121824 & 0xFFFF) # ori $t9, $t9, 0x1824 # -/* 0ABBEC 7F0770BC AFB8016C */ sw $t8, 0x16c($sp) -/* 0ABBF0 7F0770C0 ADEE0004 */ sw $t6, 4($t7) -/* 0ABBF4 7F0770C4 10000022 */ b .L7F077150 -/* 0ABBF8 7F0770C8 ADF90000 */ sw $t9, ($t7) #gDPSetCombineMode() -.L7F0770CC: -/* 0ABBFC 7F0770CC 25F80008 */ addiu $t8, $t7, 8 -/* 0ABC00 7F0770D0 3C19FC12 */ lui $t9, (0xFC127E24 >> 16) # lui $t9, 0xfc12 # -/* 0ABC04 7F0770D4 37397E24 */ ori $t9, (0xFC127E24 & 0xFFFF) # ori $t9, $t9, 0x7e24 # -/* 0ABC08 7F0770D8 AFB8016C */ sw $t8, 0x16c($sp) -/* 0ABC0C 7F0770DC 240EF9FC */ li $t6, -1540 -/* 0ABC10 7F0770E0 ADEE0004 */ sw $t6, 4($t7) -/* 0ABC14 7F0770E4 1000001A */ b .L7F077150 -/* 0ABC18 7F0770E8 ADF90000 */ sw $t9, ($t7) #gDPSetCombineMode() -.L7F0770EC: -/* 0ABC1C 7F0770EC 34018000 */ li $at, 32768 -/* 0ABC20 7F0770F0 11E10006 */ beq $t7, $at, .L7F07710C -/* 0ABC24 7F0770F4 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABC28 7F0770F8 3401C000 */ li $at, 49152 -/* 0ABC2C 7F0770FC 11E1000C */ beq $t7, $at, .L7F077130 -/* 0ABC30 7F077100 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABC34 7F077104 10000013 */ b .L7F077154 -/* 0ABC38 7F077108 8FA2016C */ lw $v0, 0x16c($sp) -.L7F07710C: -/* 0ABC3C 7F07710C 27190008 */ addiu $t9, $t8, 8 -/* 0ABC40 7F077110 3C0EFC12 */ lui $t6, (0xFC121824 >> 16) # lui $t6, 0xfc12 # -/* 0ABC44 7F077114 3C0FFF33 */ lui $t7, (0xFF33FFFF >> 16) # lui $t7, 0xff33 # -/* 0ABC48 7F077118 35EFFFFF */ ori $t7, (0xFF33FFFF & 0xFFFF) # ori $t7, $t7, 0xffff # -/* 0ABC4C 7F07711C 35CE1824 */ ori $t6, (0xFC121824 & 0xFFFF) # ori $t6, $t6, 0x1824 # -/* 0ABC50 7F077120 AFB9016C */ sw $t9, 0x16c($sp) -/* 0ABC54 7F077124 AF0F0004 */ sw $t7, 4($t8) -/* 0ABC58 7F077128 10000009 */ b .L7F077150 -/* 0ABC5C 7F07712C AF0E0000 */ sw $t6, ($t8) #gDPSetCombineMode() -.L7F077130: -/* 0ABC60 7F077130 27190008 */ addiu $t9, $t8, 8 -/* 0ABC64 7F077134 AFB9016C */ sw $t9, 0x16c($sp) -/* 0ABC68 7F077138 3C0EFC12 */ lui $t6, (0xFC121824 >> 16) # lui $t6, 0xfc12 # -/* 0ABC6C 7F07713C 3C0FFF33 */ lui $t7, (0xFF33FFFF >> 16) # lui $t7, 0xff33 # -/* 0ABC70 7F077140 35EFFFFF */ ori $t7, (0xFF33FFFF & 0xFFFF) # ori $t7, $t7, 0xffff # -/* 0ABC74 7F077144 35CE1824 */ ori $t6, (0xFC121824 & 0xFFFF) # ori $t6, $t6, 0x1824 # -/* 0ABC78 7F077148 AF0E0000 */ sw $t6, ($t8) -/* 0ABC7C 7F07714C AF0F0004 */ sw $t7, 4($t8) #gDPSetCombineMode() -.L7F077150: -/* 0ABC80 7F077150 8FA2016C */ lw $v0, 0x16c($sp) -.L7F077154: -/* 0ABC84 7F077154 8FA40140 */ lw $a0, 0x140($sp) -/* 0ABC88 7F077158 32230007 */ andi $v1, $s1, 7 -/* 0ABC8C 7F07715C 00037540 */ sll $t6, $v1, 0x15 -/* 0ABC90 7F077160 24590008 */ addiu $t9, $v0, 8 -/* 0ABC94 7F077164 AFB9016C */ sw $t9, 0x16c($sp) -/* 0ABC98 7F077168 3C01FD00 */ lui $at, 0xfd00 -/* 0ABC9C 7F07716C 308F0003 */ andi $t7, $a0, 3 -/* 0ABCA0 7F077170 000F24C0 */ sll $a0, $t7, 0x13 -/* 0ABCA4 7F077174 01C1C825 */ or $t9, $t6, $at -/* 0ABCA8 7F077178 01C01825 */ move $v1, $t6 -/* 0ABCAC 7F07717C 03247025 */ or $t6, $t9, $a0 -/* 0ABCB0 7F077180 AC4E0000 */ sw $t6, ($v0) -/* 0ABCB4 7F077184 8EEF0000 */ lw $t7, ($s7) -/* 0ABCB8 7F077188 3C01F500 */ lui $at, 0xf500 -/* 0ABCBC 7F07718C 00615825 */ or $t3, $v1, $at -/* 0ABCC0 7F077190 AC4F0004 */ sw $t7, 4($v0) -/* 0ABCC4 7F077194 8FA5016C */ lw $a1, 0x16c($sp) -/* 0ABCC8 7F077198 01647025 */ or $t6, $t3, $a0 -/* 0ABCCC 7F07719C 3C0A0700 */ lui $t2, 0x700 -/* 0ABCD0 7F0771A0 24B90008 */ addiu $t9, $a1, 8 -/* 0ABCD4 7F0771A4 AFB9016C */ sw $t9, 0x16c($sp) -/* 0ABCD8 7F0771A8 ACAE0000 */ sw $t6, ($a1) -/* 0ABCDC 7F0771AC 92EF000A */ lbu $t7, 0xa($s7) -/* 0ABCE0 7F0771B0 3C0DE600 */ lui $t5, 0xe600 -/* 0ABCE4 7F0771B4 2A6107FF */ slti $at, $s3, 0x7ff -/* 0ABCE8 7F0771B8 31F80003 */ andi $t8, $t7, 3 -/* 0ABCEC 7F0771BC 92EF0009 */ lbu $t7, 9($s7) -/* 0ABCF0 7F0771C0 0018CC80 */ sll $t9, $t8, 0x12 -/* 0ABCF4 7F0771C4 032A7025 */ or $t6, $t9, $t2 -/* 0ABCF8 7F0771C8 31F80003 */ andi $t8, $t7, 3 -/* 0ABCFC 7F0771CC 0018CA00 */ sll $t9, $t8, 8 -/* 0ABD00 7F0771D0 01D97825 */ or $t7, $t6, $t9 -/* 0ABD04 7F0771D4 ACAF0004 */ sw $t7, 4($a1) -/* 0ABD08 7F0771D8 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABD0C 7F0771DC 240707FF */ li $a3, 2047 -/* 0ABD10 7F0771E0 270E0008 */ addiu $t6, $t8, 8 -/* 0ABD14 7F0771E4 AFAE016C */ sw $t6, 0x16c($sp) -/* 0ABD18 7F0771E8 AF000004 */ sw $zero, 4($t8) -/* 0ABD1C 7F0771EC AF0D0000 */ sw $t5, ($t8) -/* 0ABD20 7F0771F0 8FA8016C */ lw $t0, 0x16c($sp) -/* 0ABD24 7F0771F4 3C18F300 */ lui $t8, 0xf300 -/* 0ABD28 7F0771F8 250F0008 */ addiu $t7, $t0, 8 -/* 0ABD2C 7F0771FC AFAF016C */ sw $t7, 0x16c($sp) -/* 0ABD30 7F077200 10200003 */ beqz $at, .L7F077210 -/* 0ABD34 7F077204 AD180000 */ sw $t8, ($t0) -/* 0ABD38 7F077208 10000001 */ b .L7F077210 -/* 0ABD3C 7F07720C 02603825 */ move $a3, $s3 -.L7F077210: -/* 0ABD40 7F077210 8FB80138 */ lw $t8, 0x138($sp) -/* 0ABD44 7F077214 30EE0FFF */ andi $t6, $a3, 0xfff -/* 0ABD48 7F077218 000ECB00 */ sll $t9, $t6, 0xc -/* 0ABD4C 7F07721C 032A7825 */ or $t7, $t9, $t2 -/* 0ABD50 7F077220 330E0FFF */ andi $t6, $t8, 0xfff -/* 0ABD54 7F077224 01EEC825 */ or $t9, $t7, $t6 -/* 0ABD58 7F077228 AD190004 */ sw $t9, 4($t0) -/* 0ABD5C 7F07722C 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABD60 7F077230 3C0CE700 */ lui $t4, 0xe700 -/* 0ABD64 7F077234 24010002 */ li $at, 2 -/* 0ABD68 7F077238 270F0008 */ addiu $t7, $t8, 8 -/* 0ABD6C 7F07723C AFAF016C */ sw $t7, 0x16c($sp) -/* 0ABD70 7F077240 AF000004 */ sw $zero, 4($t8) -/* 0ABD74 7F077244 15210038 */ bne $t1, $at, .L7F077328 -/* 0ABD78 7F077248 AF0C0000 */ sw $t4, ($t8) -/* 0ABD7C 7F07724C 92CE000A */ lbu $t6, 0xa($s6) -/* 0ABD80 7F077250 241903FF */ li $t9, 1023 -/* 0ABD84 7F077254 26670001 */ addiu $a3, $s3, 1 -/* 0ABD88 7F077258 032E1023 */ subu $v0, $t9, $t6 -/* 0ABD8C 7F07725C 0047082B */ sltu $at, $v0, $a3 -/* 0ABD90 7F077260 10200003 */ beqz $at, .L7F077270 -/* 0ABD94 7F077264 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABD98 7F077268 10000002 */ b .L7F077274 -/* 0ABD9C 7F07726C 00404025 */ move $t0, $v0 -.L7F077270: -/* 0ABDA0 7F077270 00004025 */ move $t0, $zero -.L7F077274: -/* 0ABDA4 7F077274 270F0008 */ addiu $t7, $t8, 8 -/* 0ABDA8 7F077278 AFAF016C */ sw $t7, 0x16c($sp) -/* 0ABDAC 7F07727C 3C19F500 */ lui $t9, (0xF5000100 >> 16) # lui $t9, 0xf500 # -/* 0ABDB0 7F077280 37390100 */ ori $t9, (0xF5000100 & 0xFFFF) # ori $t9, $t9, 0x100 #gDPSetTile() -/* 0ABDB4 7F077284 AF190000 */ sw $t9, ($t8) -/* 0ABDB8 7F077288 AF0A0004 */ sw $t2, 4($t8) -/* 0ABDBC 7F07728C 8FAE016C */ lw $t6, 0x16c($sp) -/* 0ABDC0 7F077290 00E83023 */ subu $a2, $a3, $t0 -/* 0ABDC4 7F077294 310503FF */ andi $a1, $t0, 0x3ff -/* 0ABDC8 7F077298 25D80008 */ addiu $t8, $t6, 8 -/* 0ABDCC 7F07729C AFB8016C */ sw $t8, 0x16c($sp) -/* 0ABDD0 7F0772A0 ADC00004 */ sw $zero, 4($t6) -/* 0ABDD4 7F0772A4 ADCD0000 */ sw $t5, ($t6) -/* 0ABDD8 7F0772A8 8FA4016C */ lw $a0, 0x16c($sp) -/* 0ABDDC 7F0772AC 30D803FF */ andi $t8, $a2, 0x3ff -/* 0ABDE0 7F0772B0 00187B80 */ sll $t7, $t8, 0xe -/* 0ABDE4 7F0772B4 24990008 */ addiu $t9, $a0, 8 -/* 0ABDE8 7F0772B8 AFB9016C */ sw $t9, 0x16c($sp) -/* 0ABDEC 7F0772BC 00057080 */ sll $t6, $a1, 2 -/* 0ABDF0 7F0772C0 3C01F000 */ lui $at, 0xf000 -/* 0ABDF4 7F0772C4 01E1C825 */ or $t9, $t7, $at -/* 0ABDF8 7F0772C8 01C02825 */ move $a1, $t6 -/* 0ABDFC 7F0772CC 032E7025 */ or $t6, $t9, $t6 -/* 0ABE00 7F0772D0 AC8E0000 */ sw $t6, ($a0) -/* 0ABE04 7F0772D4 92D8000A */ lbu $t8, 0xa($s6) -/* 0ABE08 7F0772D8 03067821 */ addu $t7, $t8, $a2 -/* 0ABE0C 7F0772DC 31F903FF */ andi $t9, $t7, 0x3ff -/* 0ABE10 7F0772E0 00197380 */ sll $t6, $t9, 0xe -/* 0ABE14 7F0772E4 01CAC025 */ or $t8, $t6, $t2 -/* 0ABE18 7F0772E8 03057825 */ or $t7, $t8, $a1 -/* 0ABE1C 7F0772EC AC8F0004 */ sw $t7, 4($a0) -/* 0ABE20 7F0772F0 8FB9016C */ lw $t9, 0x16c($sp) -/* 0ABE24 7F0772F4 272E0008 */ addiu $t6, $t9, 8 -/* 0ABE28 7F0772F8 AFAE016C */ sw $t6, 0x16c($sp) -/* 0ABE2C 7F0772FC AF200004 */ sw $zero, 4($t9) -/* 0ABE30 7F077300 AF2C0000 */ sw $t4, ($t9) -/* 0ABE34 7F077304 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABE38 7F077308 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00 # -/* 0ABE3C 7F07730C 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02 #gDPSetTextureLUT() -/* 0ABE40 7F077310 270F0008 */ addiu $t7, $t8, 8 -/* 0ABE44 7F077314 AFAF016C */ sw $t7, 0x16c($sp) -/* 0ABE48 7F077318 AF190000 */ sw $t9, ($t8) -/* 0ABE4C 7F07731C 8FAE0144 */ lw $t6, 0x144($sp) -/* 0ABE50 7F077320 10000008 */ b .L7F077344 -/* 0ABE54 7F077324 AF0E0004 */ sw $t6, 4($t8) -.L7F077328: -/* 0ABE58 7F077328 8FB8016C */ lw $t8, 0x16c($sp) -/* 0ABE5C 7F07732C 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00 # -/* 0ABE60 7F077330 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02 #gDPSetTextureLUT() -/* 0ABE64 7F077334 270F0008 */ addiu $t7, $t8, 8 -/* 0ABE68 7F077338 AFAF016C */ sw $t7, 0x16c($sp) -/* 0ABE6C 7F07733C AF000004 */ sw $zero, 4($t8) -/* 0ABE70 7F077340 AF190000 */ sw $t9, ($t8) -.L7F077344: -/* 0ABE74 7F077344 8FB0016C */ lw $s0, 0x16c($sp) -/* 0ABE78 7F077348 324F0003 */ andi $t7, $s2, 3 -/* 0ABE7C 7F07734C 000FCCC0 */ sll $t9, $t7, 0x13 -/* 0ABE80 7F077350 26180008 */ addiu $t8, $s0, 8 -/* 0ABE84 7F077354 AFB8016C */ sw $t8, 0x16c($sp) -/* 0ABE88 7F077358 8FB80134 */ lw $t8, 0x134($sp) -/* 0ABE8C 7F07735C 01797025 */ or $t6, $t3, $t9 -/* 0ABE90 7F077360 02802025 */ move $a0, $s4 -/* 0ABE94 7F077364 330F01FF */ andi $t7, $t8, 0x1ff -/* 0ABE98 7F077368 000FCA40 */ sll $t9, $t7, 9 -/* 0ABE9C 7F07736C 01D9C025 */ or $t8, $t6, $t9 -/* 0ABEA0 7F077370 0FC1D968 */ jal is_less_than_certain_power_of_2 -/* 0ABEA4 7F077374 AE180000 */ sw $t8, ($s0) -/* 0ABEA8 7F077378 02A02025 */ move $a0, $s5 -/* 0ABEAC 7F07737C 0FC1D968 */ jal is_less_than_certain_power_of_2 -/* 0ABEB0 7F077380 AFA20058 */ sw $v0, 0x58($sp) -/* 0ABEB4 7F077384 92F9000A */ lbu $t9, 0xa($s7) -/* 0ABEB8 7F077388 304F000F */ andi $t7, $v0, 0xf -/* 0ABEBC 7F07738C 8FA70058 */ lw $a3, 0x58($sp) -/* 0ABEC0 7F077390 000F7100 */ sll $t6, $t7, 4 -/* 0ABEC4 7F077394 33380003 */ andi $t8, $t9, 3 -/* 0ABEC8 7F077398 00187C80 */ sll $t7, $t8, 0x12 -/* 0ABECC 7F07739C 01CFC825 */ or $t9, $t6, $t7 -/* 0ABED0 7F0773A0 30F8000F */ andi $t8, $a3, 0xf -/* 0ABED4 7F0773A4 00187380 */ sll $t6, $t8, 0xe -/* 0ABED8 7F0773A8 92F80009 */ lbu $t8, 9($s7) -/* 0ABEDC 7F0773AC 032E7825 */ or $t7, $t9, $t6 -/* 0ABEE0 7F0773B0 8FA50180 */ lw $a1, 0x180($sp) -/* 0ABEE4 7F0773B4 33190003 */ andi $t9, $t8, 3 -/* 0ABEE8 7F0773B8 00197200 */ sll $t6, $t9, 8 -/* 0ABEEC 7F0773BC 01EEC025 */ or $t8, $t7, $t6 -/* 0ABEF0 7F0773C0 AE180004 */ sw $t8, 4($s0) -/* 0ABEF4 7F0773C4 8FA3016C */ lw $v1, 0x16c($sp) -/* 0ABEF8 7F0773C8 30A40FFF */ andi $a0, $a1, 0xfff -/* 0ABEFC 7F0773CC 00047300 */ sll $t6, $a0, 0xc -/* 0ABF00 7F0773D0 3C01F200 */ lui $at, 0xf200 -/* 0ABF04 7F0773D4 246F0008 */ addiu $t7, $v1, 8 -/* 0ABF08 7F0773D8 AFAF016C */ sw $t7, 0x16c($sp) -/* 0ABF0C 7F0773DC 01C1C025 */ or $t8, $t6, $at -/* 0ABF10 7F0773E0 0304C825 */ or $t9, $t8, $a0 -/* 0ABF14 7F0773E4 26AFFFFF */ addiu $t7, $s5, -1 -/* 0ABF18 7F0773E8 000F7080 */ sll $t6, $t7, 2 -/* 0ABF1C 7F0773EC 01C5C021 */ addu $t8, $t6, $a1 -/* 0ABF20 7F0773F0 AC790000 */ sw $t9, ($v1) -/* 0ABF24 7F0773F4 33190FFF */ andi $t9, $t8, 0xfff -/* 0ABF28 7F0773F8 268EFFFF */ addiu $t6, $s4, -1 -/* 0ABF2C 7F0773FC 000EC080 */ sll $t8, $t6, 2 -/* 0ABF30 7F077400 00197B00 */ sll $t7, $t9, 0xc -/* 0ABF34 7F077404 0305C821 */ addu $t9, $t8, $a1 -/* 0ABF38 7F077408 332E0FFF */ andi $t6, $t9, 0xfff -/* 0ABF3C 7F07740C 01EEC025 */ or $t8, $t7, $t6 -/* 0ABF40 7F077410 100001DB */ b .L7F077B80 -/* 0ABF44 7F077414 AC780004 */ sw $t8, 4($v1) -/* 0ABF48 7F077418 AFA000D0 */ sw $zero, 0xd0($sp) -.L7F07741C: -/* 0ABF4C 7F07741C 1040000B */ beqz $v0, .L7F07744C -/* 0ABF50 7F077420 AFA300CC */ sw $v1, 0xcc($sp) -/* 0ABF54 7F077424 8C430008 */ lw $v1, 8($v0) -/* 0ABF58 7F077428 306E0003 */ andi $t6, $v1, 3 -/* 0ABF5C 7F07742C A3AE00CA */ sb $t6, 0xca($sp) -/* 0ABF60 7F077430 8C52000C */ lw $s2, 0xc($v0) -/* 0ABF64 7F077434 00038EC0 */ sll $s1, $v1, 0x1b -/* 0ABF68 7F077438 0011CF42 */ srl $t9, $s1, 0x1d -/* 0ABF6C 7F07743C 0012C782 */ srl $t8, $s2, 0x1e -/* 0ABF70 7F077440 333100FF */ andi $s1, $t9, 0xff -/* 0ABF74 7F077444 10000005 */ b .L7F07745C -/* 0ABF78 7F077448 00189380 */ sll $s2, $t8, 0xe -.L7F07744C: -/* 0ABF7C 7F07744C 92EF0008 */ lbu $t7, 8($s7) -/* 0ABF80 7F077450 92F10007 */ lbu $s1, 7($s7) -/* 0ABF84 7F077454 8FB200C4 */ lw $s2, 0xc4($sp) -/* 0ABF88 7F077458 A3AF00CA */ sb $t7, 0xca($sp) -.L7F07745C: -/* 0ABF8C 7F07745C 1040000B */ beqz $v0, .L7F07748C -/* 0ABF90 7F077460 93B300CA */ lbu $s3, 0xca($sp) -/* 0ABF94 7F077464 8C4E000C */ lw $t6, 0xc($v0) -/* 0ABF98 7F077468 02C02025 */ move $a0, $s6 -/* 0ABF9C 7F07746C 27A500C0 */ addiu $a1, $sp, 0xc0 -/* 0ABFA0 7F077470 000EC880 */ sll $t9, $t6, 2 -/* 0ABFA4 7F077474 07210005 */ bgez $t9, .L7F07748C -/* 0ABFA8 7F077478 00000000 */ nop -/* 0ABFAC 7F07747C 0FC33275 */ jal sub_GAME_7F0CC9D4 -/* 0ABFB0 7F077480 27A600BC */ addiu $a2, $sp, 0xbc -/* 0ABFB4 7F077484 1000002C */ b .L7F077538 -/* 0ABFB8 7F077488 27A4016C */ addiu $a0, $sp, 0x16c -.L7F07748C: -/* 0ABFBC 7F07748C 12600022 */ beqz $s3, .L7F077518 -/* 0ABFC0 7F077490 24180002 */ li $t8, 2 -/* 0ABFC4 7F077494 24010001 */ li $at, 1 -/* 0ABFC8 7F077498 12610017 */ beq $s3, $at, .L7F0774F8 -/* 0ABFCC 7F07749C 240F0002 */ li $t7, 2 -/* 0ABFD0 7F0774A0 24010002 */ li $at, 2 -/* 0ABFD4 7F0774A4 1261000C */ beq $s3, $at, .L7F0774D8 -/* 0ABFD8 7F0774A8 24180002 */ li $t8, 2 -/* 0ABFDC 7F0774AC 24010003 */ li $at, 3 -/* 0ABFE0 7F0774B0 16610020 */ bne $s3, $at, .L7F077534 -/* 0ABFE4 7F0774B4 240F0003 */ li $t7, 3 -/* 0ABFE8 7F0774B8 AFAF00C0 */ sw $t7, 0xc0($sp) -/* 0ABFEC 7F0774BC 02A02025 */ move $a0, $s5 -/* 0ABFF0 7F0774C0 02802825 */ move $a1, $s4 -/* 0ABFF4 7F0774C4 0FC1DA4A */ jal sub_GAME_7F076928 -/* 0ABFF8 7F0774C8 8FA600CC */ lw $a2, 0xcc($sp) -/* 0ABFFC 7F0774CC 244EFFFF */ addiu $t6, $v0, -1 -/* 0AC000 7F0774D0 10000018 */ b .L7F077534 -/* 0AC004 7F0774D4 AFAE00BC */ sw $t6, 0xbc($sp) -.L7F0774D8: -/* 0AC008 7F0774D8 AFB800C0 */ sw $t8, 0xc0($sp) -/* 0AC00C 7F0774DC 02A02025 */ move $a0, $s5 -/* 0AC010 7F0774E0 02802825 */ move $a1, $s4 -/* 0AC014 7F0774E4 0FC1DA2E */ jal sub_GAME_7F0768B8 -/* 0AC018 7F0774E8 8FA600CC */ lw $a2, 0xcc($sp) -/* 0AC01C 7F0774EC 2459FFFF */ addiu $t9, $v0, -1 -/* 0AC020 7F0774F0 10000010 */ b .L7F077534 -/* 0AC024 7F0774F4 AFB900BC */ sw $t9, 0xbc($sp) -.L7F0774F8: -/* 0AC028 7F0774F8 AFAF00C0 */ sw $t7, 0xc0($sp) -/* 0AC02C 7F0774FC 02A02025 */ move $a0, $s5 -/* 0AC030 7F077500 02802825 */ move $a1, $s4 -/* 0AC034 7F077504 0FC1DA12 */ jal sub_GAME_7F076848 -/* 0AC038 7F077508 8FA600CC */ lw $a2, 0xcc($sp) -/* 0AC03C 7F07750C 244EFFFF */ addiu $t6, $v0, -1 -/* 0AC040 7F077510 10000008 */ b .L7F077534 -/* 0AC044 7F077514 AFAE00BC */ sw $t6, 0xbc($sp) -.L7F077518: -/* 0AC048 7F077518 AFB800C0 */ sw $t8, 0xc0($sp) -/* 0AC04C 7F07751C 02A02025 */ move $a0, $s5 -/* 0AC050 7F077520 02802825 */ move $a1, $s4 -/* 0AC054 7F077524 0FC1D9F6 */ jal sub_GAME_7F0767D8 -/* 0AC058 7F077528 8FA600CC */ lw $a2, 0xcc($sp) -/* 0AC05C 7F07752C 2459FFFF */ addiu $t9, $v0, -1 -/* 0AC060 7F077530 AFB900BC */ sw $t9, 0xbc($sp) -.L7F077534: -/* 0AC064 7F077534 27A4016C */ addiu $a0, $sp, 0x16c -.L7F077538: -/* 0AC068 7F077538 8FA50178 */ lw $a1, 0x178($sp) -/* 0AC06C 7F07753C 24060002 */ li $a2, 2 -/* 0AC070 7F077540 0FC1DA66 */ jal generate_microcode_for_othermode_setting -/* 0AC074 7F077544 02003825 */ move $a3, $s0 -/* 0AC078 7F077548 2A010002 */ slti $at, $s0, 2 -/* 0AC07C 7F07754C 14200012 */ bnez $at, .L7F077598 -/* 0AC080 7F077550 02204025 */ move $t0, $s1 -/* 0AC084 7F077554 8FA2016C */ lw $v0, 0x16c($sp) -/* 0AC088 7F077558 321800FF */ andi $t8, $s0, 0xff -/* 0AC08C 7F07755C 0018CC00 */ sll $t9, $t8, 0x10 -/* 0AC090 7F077560 244E0008 */ addiu $t6, $v0, 8 -/* 0AC094 7F077564 AFAE016C */ sw $t6, 0x16c($sp) -/* 0AC098 7F077568 8FAE00CC */ lw $t6, 0xcc($sp) -/* 0AC09C 7F07756C 3C01BB00 */ lui $at, 0xbb00 -/* 0AC0A0 7F077570 03217825 */ or $t7, $t9, $at -/* 0AC0A4 7F077574 25D8FFFF */ addiu $t8, $t6, -1 -/* 0AC0A8 7F077578 33190007 */ andi $t9, $t8, 7 -/* 0AC0AC 7F07757C 001972C0 */ sll $t6, $t9, 0xb -/* 0AC0B0 7F077580 01EEC025 */ or $t8, $t7, $t6 -/* 0AC0B4 7F077584 37190001 */ ori $t9, $t8, 1 -/* 0AC0B8 7F077588 240FFFFF */ li $t7, -1 -/* 0AC0BC 7F07758C AC4F0004 */ sw $t7, 4($v0) -/* 0AC0C0 7F077590 1000000E */ b .L7F0775CC -/* 0AC0C4 7F077594 AC590000 */ sw $t9, ($v0) -.L7F077598: -/* 0AC0C8 7F077598 8FA2016C */ lw $v0, 0x16c($sp) -/* 0AC0CC 7F07759C 8FB900CC */ lw $t9, 0xcc($sp) -/* 0AC0D0 7F0775A0 3C01BB00 */ lui $at, 0xbb00 -/* 0AC0D4 7F0775A4 24580008 */ addiu $t8, $v0, 8 -/* 0AC0D8 7F0775A8 272FFFFF */ addiu $t7, $t9, -1 -/* 0AC0DC 7F0775AC 31EE0007 */ andi $t6, $t7, 7 -/* 0AC0E0 7F0775B0 AFB8016C */ sw $t8, 0x16c($sp) -/* 0AC0E4 7F0775B4 000EC2C0 */ sll $t8, $t6, 0xb -/* 0AC0E8 7F0775B8 0301C825 */ or $t9, $t8, $at -/* 0AC0EC 7F0775BC 372F0001 */ ori $t7, $t9, 1 -/* 0AC0F0 7F0775C0 240EFFFF */ li $t6, -1 -/* 0AC0F4 7F0775C4 AC4E0004 */ sw $t6, 4($v0) -/* 0AC0F8 7F0775C8 AC4F0000 */ sw $t7, ($v0) -.L7F0775CC: -/* 0AC0FC 7F0775CC 8FB8016C */ lw $t8, 0x16c($sp) -/* 0AC100 7F0775D0 3C0FBA00 */ lui $t7, (0xBA001001 >> 16) # lui $t7, 0xba00 # -/* 0AC104 7F0775D4 35EF1001 */ ori $t7, (0xBA001001 & 0xFFFF) # ori $t7, $t7, 0x1001 # -/* 0AC108 7F0775D8 27190008 */ addiu $t9, $t8, 8 -/* 0AC10C 7F0775DC AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC110 7F0775E0 3C0E0001 */ lui $t6, 1 -/* 0AC114 7F0775E4 AF0E0004 */ sw $t6, 4($t8) -/* 0AC118 7F0775E8 1220000B */ beqz $s1, .L7F077618 -/* 0AC11C 7F0775EC AF0F0000 */ sw $t7, ($t8) #gDPSetTextureLOD(G_TL_LOD) -/* 0AC120 7F0775F0 24010002 */ li $at, 2 -/* 0AC124 7F0775F4 11010024 */ beq $t0, $at, .L7F077688 -/* 0AC128 7F0775F8 24010003 */ li $at, 3 -/* 0AC12C 7F0775FC 11010010 */ beq $t0, $at, .L7F077640 -/* 0AC130 7F077600 8FB8016C */ lw $t8, 0x16c($sp) -/* 0AC134 7F077604 24010004 */ li $at, 4 -/* 0AC138 7F077608 11010016 */ beq $t0, $at, .L7F077664 -/* 0AC13C 7F07760C 8FB8016C */ lw $t8, 0x16c($sp) -/* 0AC140 7F077610 10000037 */ b .L7F0776F0 -/* 0AC144 7F077614 8FA2016C */ lw $v0, 0x16c($sp) -.L7F077618: -/* 0AC148 7F077618 8FB8016C */ lw $t8, 0x16c($sp) -/* 0AC14C 7F07761C 3C0FFC26 */ lui $t7, (0xFC26A004 >> 16) # lui $t7, 0xfc26 # -/* 0AC150 7F077620 3C0E1F10 */ lui $t6, (0x1F1093FF >> 16) # lui $t6, 0x1f10 # -/* 0AC154 7F077624 27190008 */ addiu $t9, $t8, 8 -/* 0AC158 7F077628 AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC15C 7F07762C 35CE93FF */ ori $t6, (0x1F1093FF & 0xFFFF) # ori $t6, $t6, 0x93ff # -/* 0AC160 7F077630 35EFA004 */ ori $t7, (0xFC26A004 & 0xFFFF) # ori $t7, $t7, 0xa004 # -/* 0AC164 7F077634 AF0F0000 */ sw $t7, ($t8) -/* 0AC168 7F077638 1000002C */ b .L7F0776EC -/* 0AC16C 7F07763C AF0E0004 */ sw $t6, 4($t8) #gDPSetCombineMode() -.L7F077640: -/* 0AC170 7F077640 27190008 */ addiu $t9, $t8, 8 -/* 0AC174 7F077644 3C0FFC26 */ lui $t7, (0xFC26A004 >> 16) # lui $t7, 0xfc26 -/* 0AC178 7F077648 3C0E1F10 */ lui $t6, (0x1F1093FF >> 16) # lui $t6, 0x1f10 -/* 0AC17C 7F07764C 35CE93FF */ ori $t6, (0x1F1093FF & 0xFFFF) # ori $t6, $t6, 0x93ff -/* 0AC180 7F077650 35EFA004 */ ori $t7, (0xFC26A004 & 0xFFFF) # ori $t7, $t7, 0xa004 -/* 0AC184 7F077654 AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC188 7F077658 AF0E0004 */ sw $t6, 4($t8) -/* 0AC18C 7F07765C 10000023 */ b .L7F0776EC -/* 0AC190 7F077660 AF0F0000 */ sw $t7, ($t8) #gDPSetCombineMode() -.L7F077664: -/* 0AC194 7F077664 27190008 */ addiu $t9, $t8, 8 -/* 0AC198 7F077668 3C0FFC26 */ lui $t7, (0xFC26A004 >> 16) # lui $t7, 0xfc26 -/* 0AC19C 7F07766C 3C0E1FFC */ lui $t6, (0x1FFC93FC >> 16) # lui $t6, 0x1ffc -/* 0AC1A0 7F077670 35CE93FC */ ori $t6, (0x1FFC93FC & 0xFFFF) # ori $t6, $t6, 0x93fc -/* 0AC1A4 7F077674 35EFA004 */ ori $t7, (0xFC26A004 & 0xFFFF) # ori $t7, $t7, 0xa004 -/* 0AC1A8 7F077678 AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC1AC 7F07767C AF0E0004 */ sw $t6, 4($t8) -/* 0AC1B0 7F077680 1000001A */ b .L7F0776EC -/* 0AC1B4 7F077684 AF0F0000 */ sw $t7, ($t8) #gDPSetCombineMode() -.L7F077688: -/* 0AC1B8 7F077688 34018000 */ li $at, 32768 -/* 0AC1BC 7F07768C 12410006 */ beq $s2, $at, .L7F0776A8 -/* 0AC1C0 7F077690 8FB8016C */ lw $t8, 0x16c($sp) -/* 0AC1C4 7F077694 3401C000 */ li $at, 49152 -/* 0AC1C8 7F077698 1241000C */ beq $s2, $at, .L7F0776CC -/* 0AC1CC 7F07769C 8FB8016C */ lw $t8, 0x16c($sp) -/* 0AC1D0 7F0776A0 10000013 */ b .L7F0776F0 -/* 0AC1D4 7F0776A4 8FA2016C */ lw $v0, 0x16c($sp) -.L7F0776A8: -/* 0AC1D8 7F0776A8 27190008 */ addiu $t9, $t8, 8 -/* 0AC1DC 7F0776AC 3C0FFC12 */ lui $t7, (0xFC121824 >> 16) # lui $t7, 0xfc12 -/* 0AC1E0 7F0776B0 3C0EFF33 */ lui $t6, (0xFF33FFFF >> 16) # lui $t6, 0xff33 -/* 0AC1E4 7F0776B4 35CEFFFF */ ori $t6, (0xFF33FFFF & 0xFFFF) # ori $t6, $t6, 0xffff -/* 0AC1E8 7F0776B8 35EF1824 */ ori $t7, (0xFC121824 & 0xFFFF) # ori $t7, $t7, 0x1824 -/* 0AC1EC 7F0776BC AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC1F0 7F0776C0 AF0E0004 */ sw $t6, 4($t8) -/* 0AC1F4 7F0776C4 10000009 */ b .L7F0776EC -/* 0AC1F8 7F0776C8 AF0F0000 */ sw $t7, ($t8) #gDPSetCombineMode() -.L7F0776CC: -/* 0AC1FC 7F0776CC 27190008 */ addiu $t9, $t8, 8 -/* 0AC200 7F0776D0 AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC204 7F0776D4 3C0FFC12 */ lui $t7, (0xFC121824 >> 16) # lui $t7, 0xfc12 -/* 0AC208 7F0776D8 3C0EFF33 */ lui $t6, (0xFF33FFFF >> 16) # lui $t6, 0xff33 -/* 0AC20C 7F0776DC 35CEFFFF */ ori $t6, (0xFF33FFFF & 0xFFFF) # ori $t6, $t6, 0xffff -/* 0AC210 7F0776E0 35EF1824 */ ori $t7, (0xFC121824 & 0xFFFF) # ori $t7, $t7, 0x1824 -/* 0AC214 7F0776E4 AF0F0000 */ sw $t7, ($t8) -/* 0AC218 7F0776E8 AF0E0004 */ sw $t6, 4($t8) #gDPSetCombineMode() -.L7F0776EC: -/* 0AC21C 7F0776EC 8FA2016C */ lw $v0, 0x16c($sp) -.L7F0776F0: -/* 0AC220 7F0776F0 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0AC224 7F0776F4 32230007 */ andi $v1, $s1, 7 -/* 0AC228 7F0776F8 00037D40 */ sll $t7, $v1, 0x15 -/* 0AC22C 7F0776FC 24590008 */ addiu $t9, $v0, 8 -/* 0AC230 7F077700 AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC234 7F077704 3C01FD00 */ lui $at, 0xfd00 -/* 0AC238 7F077708 01E17025 */ or $t6, $t7, $at -/* 0AC23C 7F07770C 01E01825 */ move $v1, $t7 -/* 0AC240 7F077710 33190003 */ andi $t9, $t8, 3 -/* 0AC244 7F077714 00197CC0 */ sll $t7, $t9, 0x13 -/* 0AC248 7F077718 01CFC025 */ or $t8, $t6, $t7 -/* 0AC24C 7F07771C AC580000 */ sw $t8, ($v0) -/* 0AC250 7F077720 8EF90000 */ lw $t9, ($s7) -/* 0AC254 7F077724 3C01F500 */ lui $at, 0xf500 -/* 0AC258 7F077728 00614825 */ or $t1, $v1, $at -/* 0AC25C 7F07772C AC590004 */ sw $t9, 4($v0) -/* 0AC260 7F077730 8FA4016C */ lw $a0, 0x16c($sp) -/* 0AC264 7F077734 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0AC268 7F077738 3C0A0700 */ lui $t2, 0x700 -/* 0AC26C 7F07773C 248F0008 */ addiu $t7, $a0, 8 -/* 0AC270 7F077740 AFAF016C */ sw $t7, 0x16c($sp) -/* 0AC274 7F077744 33190003 */ andi $t9, $t8, 3 -/* 0AC278 7F077748 001974C0 */ sll $t6, $t9, 0x13 -/* 0AC27C 7F07774C 012E7825 */ or $t7, $t1, $t6 -/* 0AC280 7F077750 AC8F0000 */ sw $t7, ($a0) -/* 0AC284 7F077754 AC8A0004 */ sw $t2, 4($a0) -/* 0AC288 7F077758 8FB8016C */ lw $t8, 0x16c($sp) -/* 0AC28C 7F07775C 3C0DE600 */ lui $t5, 0xe600 -/* 0AC290 7F077760 240707FF */ li $a3, 2047 -/* 0AC294 7F077764 27190008 */ addiu $t9, $t8, 8 -/* 0AC298 7F077768 AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC29C 7F07776C AF000004 */ sw $zero, 4($t8) -/* 0AC2A0 7F077770 AF0D0000 */ sw $t5, ($t8) -/* 0AC2A4 7F077774 8FA6016C */ lw $a2, 0x16c($sp) -/* 0AC2A8 7F077778 3C18F300 */ lui $t8, 0xf300 -/* 0AC2AC 7F07777C 24CF0008 */ addiu $t7, $a2, 8 -/* 0AC2B0 7F077780 AFAF016C */ sw $t7, 0x16c($sp) -/* 0AC2B4 7F077784 ACD80000 */ sw $t8, ($a2) -/* 0AC2B8 7F077788 8FB900BC */ lw $t9, 0xbc($sp) -/* 0AC2BC 7F07778C 2B2107FF */ slti $at, $t9, 0x7ff -/* 0AC2C0 7F077790 10200003 */ beqz $at, .L7F0777A0 -/* 0AC2C4 7F077794 00000000 */ nop -/* 0AC2C8 7F077798 10000001 */ b .L7F0777A0 -/* 0AC2CC 7F07779C 03203825 */ move $a3, $t9 -.L7F0777A0: -/* 0AC2D0 7F0777A0 30EE0FFF */ andi $t6, $a3, 0xfff -/* 0AC2D4 7F0777A4 000E7B00 */ sll $t7, $t6, 0xc -/* 0AC2D8 7F0777A8 01EAC025 */ or $t8, $t7, $t2 -/* 0AC2DC 7F0777AC ACD80004 */ sw $t8, 4($a2) -/* 0AC2E0 7F0777B0 8FB9016C */ lw $t9, 0x16c($sp) -/* 0AC2E4 7F0777B4 3C0CE700 */ lui $t4, 0xe700 -/* 0AC2E8 7F0777B8 24010002 */ li $at, 2 -/* 0AC2EC 7F0777BC 272E0008 */ addiu $t6, $t9, 8 -/* 0AC2F0 7F0777C0 AFAE016C */ sw $t6, 0x16c($sp) -/* 0AC2F4 7F0777C4 AF200004 */ sw $zero, 4($t9) -/* 0AC2F8 7F0777C8 15010038 */ bne $t0, $at, .L7F0778AC -/* 0AC2FC 7F0777CC AF2C0000 */ sw $t4, ($t9) -/* 0AC300 7F0777D0 8FA300BC */ lw $v1, 0xbc($sp) -/* 0AC304 7F0777D4 92CF000A */ lbu $t7, 0xa($s6) -/* 0AC308 7F0777D8 241803FF */ li $t8, 1023 -/* 0AC30C 7F0777DC 24660001 */ addiu $a2, $v1, 1 -/* 0AC310 7F0777E0 030F1023 */ subu $v0, $t8, $t7 -/* 0AC314 7F0777E4 0046082B */ sltu $at, $v0, $a2 -/* 0AC318 7F0777E8 10200003 */ beqz $at, .L7F0777F8 -/* 0AC31C 7F0777EC 8FB9016C */ lw $t9, 0x16c($sp) -/* 0AC320 7F0777F0 10000002 */ b .L7F0777FC -/* 0AC324 7F0777F4 00403825 */ move $a3, $v0 -.L7F0777F8: -/* 0AC328 7F0777F8 00003825 */ move $a3, $zero -.L7F0777FC: -/* 0AC32C 7F0777FC 272E0008 */ addiu $t6, $t9, 8 -/* 0AC330 7F077800 AFAE016C */ sw $t6, 0x16c($sp) -/* 0AC334 7F077804 3C18F500 */ lui $t8, (0xF5000100 >> 16) # lui $t8, 0xf500 # -/* 0AC338 7F077808 37180100 */ ori $t8, (0xF5000100 & 0xFFFF) # ori $t8, $t8, 0x100 #gDPSetTile() -/* 0AC33C 7F07780C AF380000 */ sw $t8, ($t9) -/* 0AC340 7F077810 AF2A0004 */ sw $t2, 4($t9) -/* 0AC344 7F077814 8FAF016C */ lw $t7, 0x16c($sp) -/* 0AC348 7F077818 00C73023 */ subu $a2, $a2, $a3 -/* 0AC34C 7F07781C 30E503FF */ andi $a1, $a3, 0x3ff -/* 0AC350 7F077820 25F90008 */ addiu $t9, $t7, 8 -/* 0AC354 7F077824 AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC358 7F077828 ADE00004 */ sw $zero, 4($t7) -/* 0AC35C 7F07782C ADED0000 */ sw $t5, ($t7) -/* 0AC360 7F077830 8FA4016C */ lw $a0, 0x16c($sp) -/* 0AC364 7F077834 30D903FF */ andi $t9, $a2, 0x3ff -/* 0AC368 7F077838 00197380 */ sll $t6, $t9, 0xe -/* 0AC36C 7F07783C 24980008 */ addiu $t8, $a0, 8 -/* 0AC370 7F077840 AFB8016C */ sw $t8, 0x16c($sp) -/* 0AC374 7F077844 00057880 */ sll $t7, $a1, 2 -/* 0AC378 7F077848 3C01F000 */ lui $at, 0xf000 -/* 0AC37C 7F07784C 01C1C025 */ or $t8, $t6, $at -/* 0AC380 7F077850 01E02825 */ move $a1, $t7 -/* 0AC384 7F077854 030F7825 */ or $t7, $t8, $t7 -/* 0AC388 7F077858 AC8F0000 */ sw $t7, ($a0) -/* 0AC38C 7F07785C 92D9000A */ lbu $t9, 0xa($s6) -/* 0AC390 7F077860 03267021 */ addu $t6, $t9, $a2 -/* 0AC394 7F077864 31D803FF */ andi $t8, $t6, 0x3ff -/* 0AC398 7F077868 00187B80 */ sll $t7, $t8, 0xe -/* 0AC39C 7F07786C 01EAC825 */ or $t9, $t7, $t2 -/* 0AC3A0 7F077870 03257025 */ or $t6, $t9, $a1 -/* 0AC3A4 7F077874 AC8E0004 */ sw $t6, 4($a0) -/* 0AC3A8 7F077878 8FB8016C */ lw $t8, 0x16c($sp) -/* 0AC3AC 7F07787C 270F0008 */ addiu $t7, $t8, 8 -/* 0AC3B0 7F077880 AFAF016C */ sw $t7, 0x16c($sp) -/* 0AC3B4 7F077884 AF000004 */ sw $zero, 4($t8) -/* 0AC3B8 7F077888 AF0C0000 */ sw $t4, ($t8) -/* 0AC3BC 7F07788C 8FB9016C */ lw $t9, 0x16c($sp) -/* 0AC3C0 7F077890 3C18BA00 */ lui $t8, (0xBA000E02 >> 16) # lui $t8, 0xba00 # -/* 0AC3C4 7F077894 37180E02 */ ori $t8, (0xBA000E02 & 0xFFFF) # ori $t8, $t8, 0xe02 #gDPSetTextureLUT() -/* 0AC3C8 7F077898 272E0008 */ addiu $t6, $t9, 8 -/* 0AC3CC 7F07789C AFAE016C */ sw $t6, 0x16c($sp) -/* 0AC3D0 7F0778A0 AF320004 */ sw $s2, 4($t9) -/* 0AC3D4 7F0778A4 10000008 */ b .L7F0778C8 -/* 0AC3D8 7F0778A8 AF380000 */ sw $t8, ($t9) -.L7F0778AC: -/* 0AC3DC 7F0778AC 8FAF016C */ lw $t7, 0x16c($sp) -/* 0AC3E0 7F0778B0 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 # -/* 0AC3E4 7F0778B4 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02 #gDPSetTextureLUT() -/* 0AC3E8 7F0778B8 25F90008 */ addiu $t9, $t7, 8 -/* 0AC3EC 7F0778BC AFB9016C */ sw $t9, 0x16c($sp) -/* 0AC3F0 7F0778C0 ADE00004 */ sw $zero, 4($t7) -/* 0AC3F4 7F0778C4 ADEE0000 */ sw $t6, ($t7) -.L7F0778C8: -/* 0AC3F8 7F0778C8 8FB800CC */ lw $t8, 0xcc($sp) -/* 0AC3FC 7F0778CC 8FA70180 */ lw $a3, 0x180($sp) -/* 0AC400 7F0778D0 00008825 */ move $s1, $zero -/* 0AC404 7F0778D4 1B0000AA */ blez $t8, .L7F077B80 -/* 0AC408 7F0778D8 30E40FFF */ andi $a0, $a3, 0xfff -/* 0AC40C 7F0778DC 93B300CA */ lbu $s3, 0xca($sp) -/* 0AC410 7F0778E0 00047B00 */ sll $t7, $a0, 0xc -/* 0AC414 7F0778E4 3C01F200 */ lui $at, 0xf200 -/* 0AC418 7F0778E8 01E1C825 */ or $t9, $t7, $at -/* 0AC41C 7F0778EC 03247025 */ or $t6, $t9, $a0 -/* 0AC420 7F0778F0 326F0003 */ andi $t7, $s3, 3 -/* 0AC424 7F0778F4 000FCCC0 */ sll $t9, $t7, 0x13 -/* 0AC428 7F0778F8 01399025 */ or $s2, $t1, $t9 -/* 0AC42C 7F0778FC AFAE0050 */ sw $t6, 0x50($sp) -/* 0AC430 7F077900 8FB00064 */ lw $s0, 0x64($sp) -.L7F077904: -/* 0AC434 7F077904 1A200018 */ blez $s1, .L7F077968 -/* 0AC438 7F077908 8FA70180 */ lw $a3, 0x180($sp) -/* 0AC43C 7F07790C 12C0000F */ beqz $s6, .L7F07794C -/* 0AC440 7F077910 2AA10002 */ slti $at, $s5, 2 -/* 0AC444 7F077914 8ECE000C */ lw $t6, 0xc($s6) -/* 0AC448 7F077918 02C02025 */ move $a0, $s6 -/* 0AC44C 7F07791C 000E7880 */ sll $t7, $t6, 2 -/* 0AC450 7F077920 05E1000A */ bgez $t7, .L7F07794C -/* 0AC454 7F077924 00000000 */ nop -/* 0AC458 7F077928 0FC331C5 */ jal sub_GAME_7F0CC714 -/* 0AC45C 7F07792C 02202825 */ move $a1, $s1 -/* 0AC460 7F077930 0040A825 */ move $s5, $v0 -/* 0AC464 7F077934 02C02025 */ move $a0, $s6 -/* 0AC468 7F077938 0FC331FF */ jal sub_GAME_7F0CC7FC -/* 0AC46C 7F07793C 02202825 */ move $a1, $s1 -/* 0AC470 7F077940 0040A025 */ move $s4, $v0 -/* 0AC474 7F077944 10000008 */ b .L7F077968 -/* 0AC478 7F077948 8FA70180 */ lw $a3, 0x180($sp) -.L7F07794C: -/* 0AC47C 7F07794C 14200002 */ bnez $at, .L7F077958 -/* 0AC480 7F077950 0015C843 */ sra $t9, $s5, 1 -/* 0AC484 7F077954 0320A825 */ move $s5, $t9 -.L7F077958: -/* 0AC488 7F077958 2A810002 */ slti $at, $s4, 2 -/* 0AC48C 7F07795C 14200002 */ bnez $at, .L7F077968 -/* 0AC490 7F077960 00147043 */ sra $t6, $s4, 1 -/* 0AC494 7F077964 01C0A025 */ move $s4, $t6 -.L7F077968: -/* 0AC498 7F077968 26B8FFFF */ addiu $t8, $s5, -1 -/* 0AC49C 7F07796C 00187880 */ sll $t7, $t8, 2 -/* 0AC4A0 7F077970 01E7C821 */ addu $t9, $t7, $a3 -/* 0AC4A4 7F077974 332E0FFF */ andi $t6, $t9, 0xfff -/* 0AC4A8 7F077978 000EC300 */ sll $t8, $t6, 0xc -/* 0AC4AC 7F07797C 268FFFFF */ addiu $t7, $s4, -1 -/* 0AC4B0 7F077980 000FC880 */ sll $t9, $t7, 2 -/* 0AC4B4 7F077984 03277021 */ addu $t6, $t9, $a3 -/* 0AC4B8 7F077988 AFB80054 */ sw $t8, 0x54($sp) -/* 0AC4BC 7F07798C 31D80FFF */ andi $t8, $t6, 0xfff -/* 0AC4C0 7F077990 12600036 */ beqz $s3, .L7F077A6C -/* 0AC4C4 7F077994 AFB8004C */ sw $t8, 0x4c($sp) -/* 0AC4C8 7F077998 24010001 */ li $at, 1 -/* 0AC4CC 7F07799C 12610026 */ beq $s3, $at, .L7F077A38 -/* 0AC4D0 7F0779A0 24010002 */ li $at, 2 -/* 0AC4D4 7F0779A4 12610017 */ beq $s3, $at, .L7F077A04 -/* 0AC4D8 7F0779A8 24010003 */ li $at, 3 -/* 0AC4DC 7F0779AC 52610009 */ beql $s3, $at, .L7F0779D4 -/* 0AC4E0 7F0779B0 26B00003 */ addiu $s0, $s5, 3 -/* 0AC4E4 7F0779B4 02140019 */ multu $s0, $s4 -/* 0AC4E8 7F0779B8 320F01FF */ andi $t7, $s0, 0x1ff -/* 0AC4EC 7F0779BC 000FCA40 */ sll $t9, $t7, 9 -/* 0AC4F0 7F0779C0 02591025 */ or $v0, $s2, $t9 -/* 0AC4F4 7F0779C4 00003012 */ mflo $a2 -/* 0AC4F8 7F0779C8 10000036 */ b .L7F077AA4 -/* 0AC4FC 7F0779CC 8FA3016C */ lw $v1, 0x16c($sp) -/* 0AC500 7F0779D0 26B00003 */ addiu $s0, $s5, 3 -.L7F0779D4: -/* 0AC504 7F0779D4 06010003 */ bgez $s0, .L7F0779E4 -/* 0AC508 7F0779D8 00107083 */ sra $t6, $s0, 2 -/* 0AC50C 7F0779DC 26010003 */ addiu $at, $s0, 3 -/* 0AC510 7F0779E0 00017083 */ sra $t6, $at, 2 -.L7F0779E4: -/* 0AC514 7F0779E4 01D40019 */ multu $t6, $s4 -/* 0AC518 7F0779E8 31D801FF */ andi $t8, $t6, 0x1ff -/* 0AC51C 7F0779EC 00187A40 */ sll $t7, $t8, 9 -/* 0AC520 7F0779F0 01C08025 */ move $s0, $t6 -/* 0AC524 7F0779F4 024F1025 */ or $v0, $s2, $t7 -/* 0AC528 7F0779F8 00003012 */ mflo $a2 -/* 0AC52C 7F0779FC 10000029 */ b .L7F077AA4 -/* 0AC530 7F077A00 8FA3016C */ lw $v1, 0x16c($sp) -.L7F077A04: -/* 0AC534 7F077A04 26B00003 */ addiu $s0, $s5, 3 -/* 0AC538 7F077A08 06010003 */ bgez $s0, .L7F077A18 -/* 0AC53C 7F077A0C 0010C883 */ sra $t9, $s0, 2 -/* 0AC540 7F077A10 26010003 */ addiu $at, $s0, 3 -/* 0AC544 7F077A14 0001C883 */ sra $t9, $at, 2 -.L7F077A18: -/* 0AC548 7F077A18 03340019 */ multu $t9, $s4 -/* 0AC54C 7F077A1C 332E01FF */ andi $t6, $t9, 0x1ff -/* 0AC550 7F077A20 000EC240 */ sll $t8, $t6, 9 -/* 0AC554 7F077A24 03208025 */ move $s0, $t9 -/* 0AC558 7F077A28 02581025 */ or $v0, $s2, $t8 -/* 0AC55C 7F077A2C 00003012 */ mflo $a2 -/* 0AC560 7F077A30 1000001C */ b .L7F077AA4 -/* 0AC564 7F077A34 8FA3016C */ lw $v1, 0x16c($sp) -.L7F077A38: -/* 0AC568 7F077A38 26B00007 */ addiu $s0, $s5, 7 -/* 0AC56C 7F077A3C 06010003 */ bgez $s0, .L7F077A4C -/* 0AC570 7F077A40 001078C3 */ sra $t7, $s0, 3 -/* 0AC574 7F077A44 26010007 */ addiu $at, $s0, 7 -/* 0AC578 7F077A48 000178C3 */ sra $t7, $at, 3 -.L7F077A4C: -/* 0AC57C 7F077A4C 01F40019 */ multu $t7, $s4 -/* 0AC580 7F077A50 31F901FF */ andi $t9, $t7, 0x1ff -/* 0AC584 7F077A54 00197240 */ sll $t6, $t9, 9 -/* 0AC588 7F077A58 01E08025 */ move $s0, $t7 -/* 0AC58C 7F077A5C 024E1025 */ or $v0, $s2, $t6 -/* 0AC590 7F077A60 00003012 */ mflo $a2 -/* 0AC594 7F077A64 1000000F */ b .L7F077AA4 -/* 0AC598 7F077A68 8FA3016C */ lw $v1, 0x16c($sp) -.L7F077A6C: -/* 0AC59C 7F077A6C 26B0000F */ addiu $s0, $s5, 0xf -/* 0AC5A0 7F077A70 06010003 */ bgez $s0, .L7F077A80 -/* 0AC5A4 7F077A74 0010C103 */ sra $t8, $s0, 4 -/* 0AC5A8 7F077A78 2601000F */ addiu $at, $s0, 0xf -/* 0AC5AC 7F077A7C 0001C103 */ sra $t8, $at, 4 -.L7F077A80: -/* 0AC5B0 7F077A80 03140019 */ multu $t8, $s4 -/* 0AC5B4 7F077A84 330F01FF */ andi $t7, $t8, 0x1ff -/* 0AC5B8 7F077A88 000FCA40 */ sll $t9, $t7, 9 -/* 0AC5BC 7F077A8C 03008025 */ move $s0, $t8 -/* 0AC5C0 7F077A90 02591025 */ or $v0, $s2, $t9 -/* 0AC5C4 7F077A94 00003012 */ mflo $a2 -/* 0AC5C8 7F077A98 00000000 */ nop -/* 0AC5CC 7F077A9C 00000000 */ nop -/* 0AC5D0 7F077AA0 8FA3016C */ lw $v1, 0x16c($sp) -.L7F077AA4: -/* 0AC5D4 7F077AA4 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0AC5D8 7F077AA8 02802025 */ move $a0, $s4 -/* 0AC5DC 7F077AAC 24780008 */ addiu $t8, $v1, 8 -/* 0AC5E0 7F077AB0 31F901FF */ andi $t9, $t7, 0x1ff -/* 0AC5E4 7F077AB4 00597025 */ or $t6, $v0, $t9 -/* 0AC5E8 7F077AB8 AFB8016C */ sw $t8, 0x16c($sp) -/* 0AC5EC 7F077ABC AC6E0000 */ sw $t6, ($v1) -/* 0AC5F0 7F077AC0 AFA6003C */ sw $a2, 0x3c($sp) -/* 0AC5F4 7F077AC4 0FC1D968 */ jal is_less_than_certain_power_of_2 -/* 0AC5F8 7F077AC8 AFA30060 */ sw $v1, 0x60($sp) -/* 0AC5FC 7F077ACC 02A02025 */ move $a0, $s5 -/* 0AC600 7F077AD0 0FC1D968 */ jal is_less_than_certain_power_of_2 -/* 0AC604 7F077AD4 AFA20058 */ sw $v0, 0x58($sp) -/* 0AC608 7F077AD8 32230007 */ andi $v1, $s1, 7 -/* 0AC60C 7F077ADC 0003C600 */ sll $t8, $v1, 0x18 -/* 0AC610 7F077AE0 304F000F */ andi $t7, $v0, 0xf -/* 0AC614 7F077AE4 000FC900 */ sll $t9, $t7, 4 -/* 0AC618 7F077AE8 03387025 */ or $t6, $t9, $t8 -/* 0AC61C 7F077AEC 03001825 */ move $v1, $t8 -/* 0AC620 7F077AF0 92F8000A */ lbu $t8, 0xa($s7) -/* 0AC624 7F077AF4 8FA70058 */ lw $a3, 0x58($sp) -/* 0AC628 7F077AF8 3224000F */ andi $a0, $s1, 0xf -/* 0AC62C 7F077AFC 330F0003 */ andi $t7, $t8, 3 -/* 0AC630 7F077B00 000FCC80 */ sll $t9, $t7, 0x12 -/* 0AC634 7F077B04 01D9C025 */ or $t8, $t6, $t9 -/* 0AC638 7F077B08 30EF000F */ andi $t7, $a3, 0xf -/* 0AC63C 7F077B0C 000F7380 */ sll $t6, $t7, 0xe -/* 0AC640 7F077B10 030EC825 */ or $t9, $t8, $t6 -/* 0AC644 7F077B14 92EE0009 */ lbu $t6, 9($s7) -/* 0AC648 7F077B18 00047A80 */ sll $t7, $a0, 0xa -/* 0AC64C 7F077B1C 032FC025 */ or $t8, $t9, $t7 -/* 0AC650 7F077B20 31D90003 */ andi $t9, $t6, 3 -/* 0AC654 7F077B24 00197A00 */ sll $t7, $t9, 8 -/* 0AC658 7F077B28 030F7025 */ or $t6, $t8, $t7 -/* 0AC65C 7F077B2C 8FB80060 */ lw $t8, 0x60($sp) -/* 0AC660 7F077B30 8FA6003C */ lw $a2, 0x3c($sp) -/* 0AC664 7F077B34 01C4C825 */ or $t9, $t6, $a0 -/* 0AC668 7F077B38 AF190004 */ sw $t9, 4($t8) -/* 0AC66C 7F077B3C 8FA5016C */ lw $a1, 0x16c($sp) -/* 0AC670 7F077B40 8FB90050 */ lw $t9, 0x50($sp) -/* 0AC674 7F077B44 26310001 */ addiu $s1, $s1, 1 -/* 0AC678 7F077B48 24AE0008 */ addiu $t6, $a1, 8 -/* 0AC67C 7F077B4C AFAE016C */ sw $t6, 0x16c($sp) -/* 0AC680 7F077B50 ACB90000 */ sw $t9, ($a1) -/* 0AC684 7F077B54 8FB80054 */ lw $t8, 0x54($sp) -/* 0AC688 7F077B58 8FAE004C */ lw $t6, 0x4c($sp) -/* 0AC68C 7F077B5C 00787825 */ or $t7, $v1, $t8 -/* 0AC690 7F077B60 01EEC825 */ or $t9, $t7, $t6 -/* 0AC694 7F077B64 ACB90004 */ sw $t9, 4($a1) -/* 0AC698 7F077B68 8FB800D0 */ lw $t8, 0xd0($sp) -/* 0AC69C 7F077B6C 8FAE00CC */ lw $t6, 0xcc($sp) -/* 0AC6A0 7F077B70 03067821 */ addu $t7, $t8, $a2 -/* 0AC6A4 7F077B74 162EFF63 */ bne $s1, $t6, .L7F077904 -/* 0AC6A8 7F077B78 AFAF00D0 */ sw $t7, 0xd0($sp) -/* 0AC6AC 7F077B7C AFB00064 */ sw $s0, 0x64($sp) -.L7F077B80: -/* 0AC6B0 7F077B80 8FB9016C */ lw $t9, 0x16c($sp) -/* 0AC6B4 7F077B84 8FB80170 */ lw $t8, 0x170($sp) -/* 0AC6B8 7F077B88 AF190000 */ sw $t9, ($t8) -/* 0AC6BC 7F077B8C 8FBF0034 */ lw $ra, 0x34($sp) -/* 0AC6C0 7F077B90 8FB70030 */ lw $s7, 0x30($sp) -/* 0AC6C4 7F077B94 8FB6002C */ lw $s6, 0x2c($sp) -/* 0AC6C8 7F077B98 8FB50028 */ lw $s5, 0x28($sp) -/* 0AC6CC 7F077B9C 8FB40024 */ lw $s4, 0x24($sp) -/* 0AC6D0 7F077BA0 8FB30020 */ lw $s3, 0x20($sp) -/* 0AC6D4 7F077BA4 8FB2001C */ lw $s2, 0x1c($sp) -/* 0AC6D8 7F077BA8 8FB10018 */ lw $s1, 0x18($sp) -/* 0AC6DC 7F077BAC 8FB00014 */ lw $s0, 0x14($sp) -/* 0AC6E0 7F077BB0 03E00008 */ jr $ra -/* 0AC6E4 7F077BB4 27BD0170 */ addiu $sp, $sp, 0x170 -) -#endif - - - - - -void sub_GAME_7F077BB8(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - return; -} - - - diff --git a/src/game/playerstats_007770.c b/src/game/playerstats_007770.c deleted file mode 100644 index 60b9ecb..0000000 --- a/src/game/playerstats_007770.c +++ /dev/null @@ -1,51 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -void sub_GAME_7F007770(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F007770 -/* 03C2A0 7F007770 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 03C2A4 7F007774 AFBF0024 */ sw $ra, 0x24($sp) -/* 03C2A8 7F007778 AFB30020 */ sw $s3, 0x20($sp) -/* 03C2AC 7F00777C AFB2001C */ sw $s2, 0x1c($sp) -/* 03C2B0 7F007780 AFB10018 */ sw $s1, 0x18($sp) -/* 03C2B4 7F007784 0FC26919 */ jal get_num_players -/* 03C2B8 7F007788 AFB00014 */ sw $s0, 0x14($sp) -/* 03C2BC 7F00778C 0FC26C54 */ jal get_cur_playernum -/* 03C2C0 7F007790 00409825 */ move $s3, $v0 -/* 03C2C4 7F007794 AFA20030 */ sw $v0, 0x30($sp) -/* 03C2C8 7F007798 1A60000E */ blez $s3, .L7F0077D4 -/* 03C2CC 7F00779C 00008025 */ move $s0, $zero -/* 03C2D0 7F0077A0 27B20038 */ addiu $s2, $sp, 0x38 -/* 03C2D4 7F0077A4 27B1003C */ addiu $s1, $sp, 0x3c -.L7F0077A8: -/* 03C2D8 7F0077A8 0FC26C43 */ jal set_cur_player -/* 03C2DC 7F0077AC 02002025 */ move $a0, $s0 -/* 03C2E0 7F0077B0 02202025 */ move $a0, $s1 -/* 03C2E4 7F0077B4 0FC236C2 */ jal sub_GAME_7F08DB08 -/* 03C2E8 7F0077B8 02402825 */ move $a1, $s2 -/* 03C2EC 7F0077BC 8FA4003C */ lw $a0, 0x3c($sp) -/* 03C2F0 7F0077C0 0FC075A0 */ jal store_favorite_weapon_current_player -/* 03C2F4 7F0077C4 8FA50038 */ lw $a1, 0x38($sp) -/* 03C2F8 7F0077C8 26100001 */ addiu $s0, $s0, 1 -/* 03C2FC 7F0077CC 1613FFF6 */ bne $s0, $s3, .L7F0077A8 -/* 03C300 7F0077D0 00000000 */ nop -.L7F0077D4: -/* 03C304 7F0077D4 0FC26C43 */ jal set_cur_player -/* 03C308 7F0077D8 8FA40030 */ lw $a0, 0x30($sp) -/* 03C30C 7F0077DC 8FBF0024 */ lw $ra, 0x24($sp) -/* 03C310 7F0077E0 8FB00014 */ lw $s0, 0x14($sp) -/* 03C314 7F0077E4 8FB10018 */ lw $s1, 0x18($sp) -/* 03C318 7F0077E8 8FB2001C */ lw $s2, 0x1c($sp) -/* 03C31C 7F0077EC 8FB30020 */ lw $s3, 0x20($sp) -/* 03C320 7F0077F0 03E00008 */ jr $ra -/* 03C324 7F0077F4 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - diff --git a/src/game/prop.c b/src/game/prop.c deleted file mode 100644 index 035aac3..0000000 --- a/src/game/prop.c +++ /dev/null @@ -1,5295 +0,0 @@ -#include "ultra64.h" - -s32 lastmpweaponnum; - -//.section .rodata - -const char aNochr[] = "-nochr"; -const char aNoprop[] = "-noprop"; -const char aNoobj[] = "-noobj"; -const char aNoprop_0[] = "-noprop"; - -const u32 only_read_by_stageload[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -const char aMp_[] = "mp_"; - - - - - - -#ifdef NONMATCHING -void load_proptype(void) { - -} -#else -GLOBAL_ASM( -.text -glabel load_proptype -/* 036680 7F001B50 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 036684 7F001B54 AFB00014 */ sw $s0, 0x14($sp) -/* 036688 7F001B58 3C108007 */ lui $s0, %hi(ptr_setup_objects) -/* 03668C 7F001B5C 8E105D0C */ lw $s0, %lo(ptr_setup_objects)($s0) -/* 036690 7F001B60 AFB10018 */ sw $s1, 0x18($sp) -/* 036694 7F001B64 AFBF0024 */ sw $ra, 0x24($sp) -/* 036698 7F001B68 AFB30020 */ sw $s3, 0x20($sp) -/* 03669C 7F001B6C AFB2001C */ sw $s2, 0x1c($sp) -/* 0366A0 7F001B70 12000010 */ beqz $s0, .L7F001BB4 -/* 0366A4 7F001B74 00008825 */ move $s1, $zero -/* 0366A8 7F001B78 92030003 */ lbu $v1, 3($s0) -/* 0366AC 7F001B7C 24130030 */ li $s3, 48 -/* 0366B0 7F001B80 309200FF */ andi $s2, $a0, 0xff -/* 0366B4 7F001B84 5263000C */ beql $s3, $v1, .L7F001BB8 -/* 0366B8 7F001B88 8FBF0024 */ lw $ra, 0x24($sp) -.L7F001B8C: -/* 0366BC 7F001B8C 16430002 */ bne $s2, $v1, .L7F001B98 -/* 0366C0 7F001B90 00000000 */ nop -/* 0366C4 7F001B94 26310001 */ addiu $s1, $s1, 1 -.L7F001B98: -/* 0366C8 7F001B98 0FC15A3D */ jal get_size_of_setup_object_type -/* 0366CC 7F001B9C 02002025 */ move $a0, $s0 -/* 0366D0 7F001BA0 00027080 */ sll $t6, $v0, 2 -/* 0366D4 7F001BA4 01D08021 */ addu $s0, $t6, $s0 -/* 0366D8 7F001BA8 92030003 */ lbu $v1, 3($s0) -/* 0366DC 7F001BAC 1663FFF7 */ bne $s3, $v1, .L7F001B8C -/* 0366E0 7F001BB0 00000000 */ nop -.L7F001BB4: -/* 0366E4 7F001BB4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F001BB8: -/* 0366E8 7F001BB8 02201025 */ move $v0, $s1 -/* 0366EC 7F001BBC 8FB10018 */ lw $s1, 0x18($sp) -/* 0366F0 7F001BC0 8FB00014 */ lw $s0, 0x14($sp) -/* 0366F4 7F001BC4 8FB2001C */ lw $s2, 0x1c($sp) -/* 0366F8 7F001BC8 8FB30020 */ lw $s3, 0x20($sp) -/* 0366FC 7F001BCC 03E00008 */ jr $ra -/* 036700 7F001BD0 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F001BD4(void *arg0, s32 arg1, void *arg12, void *arg13) { - f32 sp18; - f32 sp20; - f32 sp24; - f32 sp28; - f32 sp2C; - f32 sp30; - f32 sp34; - f32 sp3C; - f32 sp40; - f32 sp44; - f32 temp_f6; - f32 temp_f4; - f32 temp_f6_2; - f32 temp_f2; - f32 temp_f10; - f32 temp_f12; - f32 temp_f14; - f32 temp_f16; - - // Node 0 - sp34 = (f32) arg0->unk2C; - sp30 = (f32) arg0->unk30; - sp2C = (f32) arg0->unk34; - sp28 = (f32) arg0->unk38; - sp24 = (f32) arg0->unk3C; - sp20 = (f32) arg0->unk40; - temp_f6 = ((arg0->unk10 * arg0->unk20) - (arg0->unk1C * arg0->unk14)); - sp3C = temp_f6; - temp_f4 = ((arg0->unk14 * arg0->unk18) - (arg0->unk20 * arg0->unkC)); - sp40 = temp_f4; - sp18 = temp_f6; - temp_f6_2 = ((arg0->unkC * arg0->unk1C) - (arg0->unk18 * arg0->unk10)); - sp44 = temp_f6_2; - temp_f2 = (1.0f / sqrtf(((temp_f6_2 * temp_f6_2) + ((sp18 * sp18) + (temp_f4 * temp_f4))))); - temp_f10 = (sp3C * temp_f2); - sp3C = temp_f10; - sp40 = (f32) (sp40 * temp_f2); - temp_f12 = (sp24 + sp20); - sp44 = (f32) (sp44 * temp_f2); - temp_f14 = (sp34 + sp30); - temp_f16 = (sp2C + sp28); - *arg13 = (f32) ((((arg12->unk18 * temp_f12) + ((temp_f14 * temp_f10) + (temp_f16 * arg12->unkC))) * 0.5f) + *arg12); - arg13->unk4 = (f32) ((((arg12->unk1C * temp_f12) + ((temp_f14 * sp40) + (temp_f16 * arg12->unk10))) * 0.5f) + arg12->unk4); - arg13->unk8 = (f32) ((((arg12->unk20 * temp_f12) + ((temp_f14 * sp44) + (temp_f16 * arg12->unk14))) * 0.5f) + arg12->unk8); - return; - // (possible return value: sqrtf(((temp_f6_2 * temp_f6_2) + ((sp18 * sp18) + (temp_f4 * temp_f4))))) -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F001BD4 -/* 036704 7F001BD4 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 036708 7F001BD8 AFBF0014 */ sw $ra, 0x14($sp) -/* 03670C 7F001BDC C484002C */ lwc1 $f4, 0x2c($a0) -/* 036710 7F001BE0 E7A40034 */ swc1 $f4, 0x34($sp) -/* 036714 7F001BE4 C4860030 */ lwc1 $f6, 0x30($a0) -/* 036718 7F001BE8 E7A60030 */ swc1 $f6, 0x30($sp) -/* 03671C 7F001BEC C48A0034 */ lwc1 $f10, 0x34($a0) -/* 036720 7F001BF0 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 036724 7F001BF4 C4880038 */ lwc1 $f8, 0x38($a0) -/* 036728 7F001BF8 E7A80028 */ swc1 $f8, 0x28($sp) -/* 03672C 7F001BFC C484003C */ lwc1 $f4, 0x3c($a0) -/* 036730 7F001C00 E7A40024 */ swc1 $f4, 0x24($sp) -/* 036734 7F001C04 C4860040 */ lwc1 $f6, 0x40($a0) -/* 036738 7F001C08 E7A60020 */ swc1 $f6, 0x20($sp) -/* 03673C 7F001C0C C48A0010 */ lwc1 $f10, 0x10($a0) -/* 036740 7F001C10 C4880020 */ lwc1 $f8, 0x20($a0) -/* 036744 7F001C14 C486001C */ lwc1 $f6, 0x1c($a0) -/* 036748 7F001C18 46085102 */ mul.s $f4, $f10, $f8 -/* 03674C 7F001C1C C48A0014 */ lwc1 $f10, 0x14($a0) -/* 036750 7F001C20 460A3202 */ mul.s $f8, $f6, $f10 -/* 036754 7F001C24 46082181 */ sub.s $f6, $f4, $f8 -/* 036758 7F001C28 E7A6003C */ swc1 $f6, 0x3c($sp) -/* 03675C 7F001C2C C4840018 */ lwc1 $f4, 0x18($a0) -/* 036760 7F001C30 C48A0014 */ lwc1 $f10, 0x14($a0) -/* 036764 7F001C34 46045202 */ mul.s $f8, $f10, $f4 -/* 036768 7F001C38 C484000C */ lwc1 $f4, 0xc($a0) -/* 03676C 7F001C3C C48A0020 */ lwc1 $f10, 0x20($a0) -/* 036770 7F001C40 46045282 */ mul.s $f10, $f10, $f4 -/* 036774 7F001C44 460A4101 */ sub.s $f4, $f8, $f10 -/* 036778 7F001C48 E7A40040 */ swc1 $f4, 0x40($sp) -/* 03677C 7F001C4C C48A001C */ lwc1 $f10, 0x1c($a0) -/* 036780 7F001C50 C488000C */ lwc1 $f8, 0xc($a0) -/* 036784 7F001C54 460A4202 */ mul.s $f8, $f8, $f10 -/* 036788 7F001C58 C48A0018 */ lwc1 $f10, 0x18($a0) -/* 03678C 7F001C5C E7A60018 */ swc1 $f6, 0x18($sp) -/* 036790 7F001C60 C4860010 */ lwc1 $f6, 0x10($a0) -/* 036794 7F001C64 AFA5004C */ sw $a1, 0x4c($sp) -/* 036798 7F001C68 AFA40048 */ sw $a0, 0x48($sp) -/* 03679C 7F001C6C 46065282 */ mul.s $f10, $f10, $f6 -/* 0367A0 7F001C70 460A4181 */ sub.s $f6, $f8, $f10 -/* 0367A4 7F001C74 C7A80018 */ lwc1 $f8, 0x18($sp) -/* 0367A8 7F001C78 46084282 */ mul.s $f10, $f8, $f8 -/* 0367AC 7F001C7C E7A60044 */ swc1 $f6, 0x44($sp) -/* 0367B0 7F001C80 46042202 */ mul.s $f8, $f4, $f4 -/* 0367B4 7F001C84 46085100 */ add.s $f4, $f10, $f8 -/* 0367B8 7F001C88 46063282 */ mul.s $f10, $f6, $f6 -/* 0367BC 7F001C8C 0C007DF8 */ jal sqrtf -/* 0367C0 7F001C90 46045300 */ add.s $f12, $f10, $f4 -/* 0367C4 7F001C94 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0367C8 7F001C98 44819000 */ mtc1 $at, $f18 -/* 0367CC 7F001C9C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0367D0 7F001CA0 44814000 */ mtc1 $at, $f8 -/* 0367D4 7F001CA4 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0367D8 7F001CA8 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0367DC 7F001CAC 46004083 */ div.s $f2, $f8, $f0 -/* 0367E0 7F001CB0 8FA40048 */ lw $a0, 0x48($sp) -/* 0367E4 7F001CB4 8FA5004C */ lw $a1, 0x4c($sp) -/* 0367E8 7F001CB8 46023282 */ mul.s $f10, $f6, $f2 -/* 0367EC 7F001CBC C7A60044 */ lwc1 $f6, 0x44($sp) -/* 0367F0 7F001CC0 46022202 */ mul.s $f8, $f4, $f2 -/* 0367F4 7F001CC4 E7AA003C */ swc1 $f10, 0x3c($sp) -/* 0367F8 7F001CC8 46023102 */ mul.s $f4, $f6, $f2 -/* 0367FC 7F001CCC C7A60020 */ lwc1 $f6, 0x20($sp) -/* 036800 7F001CD0 E7A80040 */ swc1 $f8, 0x40($sp) -/* 036804 7F001CD4 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 036808 7F001CD8 46064300 */ add.s $f12, $f8, $f6 -/* 03680C 7F001CDC E7A40044 */ swc1 $f4, 0x44($sp) -/* 036810 7F001CE0 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 036814 7F001CE4 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 036818 7F001CE8 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 03681C 7F001CEC 46082380 */ add.s $f14, $f4, $f8 -/* 036820 7F001CF0 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 036824 7F001CF4 46043400 */ add.s $f16, $f6, $f4 -/* 036828 7F001CF8 460A7202 */ mul.s $f8, $f14, $f10 -/* 03682C 7F001CFC C486000C */ lwc1 $f6, 0xc($a0) -/* 036830 7F001D00 46068102 */ mul.s $f4, $f16, $f6 -/* 036834 7F001D04 C4860018 */ lwc1 $f6, 0x18($a0) -/* 036838 7F001D08 46044280 */ add.s $f10, $f8, $f4 -/* 03683C 7F001D0C 460C3202 */ mul.s $f8, $f6, $f12 -/* 036840 7F001D10 460A4100 */ add.s $f4, $f8, $f10 -/* 036844 7F001D14 C4880000 */ lwc1 $f8, ($a0) -/* 036848 7F001D18 46122182 */ mul.s $f6, $f4, $f18 -/* 03684C 7F001D1C 46083280 */ add.s $f10, $f6, $f8 -/* 036850 7F001D20 E4AA0000 */ swc1 $f10, ($a1) -/* 036854 7F001D24 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 036858 7F001D28 C4880010 */ lwc1 $f8, 0x10($a0) -/* 03685C 7F001D2C 46047182 */ mul.s $f6, $f14, $f4 -/* 036860 7F001D30 00000000 */ nop -/* 036864 7F001D34 46088282 */ mul.s $f10, $f16, $f8 -/* 036868 7F001D38 C488001C */ lwc1 $f8, 0x1c($a0) -/* 03686C 7F001D3C 460A3100 */ add.s $f4, $f6, $f10 -/* 036870 7F001D40 460C4182 */ mul.s $f6, $f8, $f12 -/* 036874 7F001D44 46043280 */ add.s $f10, $f6, $f4 -/* 036878 7F001D48 C4860004 */ lwc1 $f6, 4($a0) -/* 03687C 7F001D4C 46125202 */ mul.s $f8, $f10, $f18 -/* 036880 7F001D50 46064100 */ add.s $f4, $f8, $f6 -/* 036884 7F001D54 E4A40004 */ swc1 $f4, 4($a1) -/* 036888 7F001D58 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 03688C 7F001D5C C4860014 */ lwc1 $f6, 0x14($a0) -/* 036890 7F001D60 460A7202 */ mul.s $f8, $f14, $f10 -/* 036894 7F001D64 00000000 */ nop -/* 036898 7F001D68 46068102 */ mul.s $f4, $f16, $f6 -/* 03689C 7F001D6C C4860020 */ lwc1 $f6, 0x20($a0) -/* 0368A0 7F001D70 46044280 */ add.s $f10, $f8, $f4 -/* 0368A4 7F001D74 460C3202 */ mul.s $f8, $f6, $f12 -/* 0368A8 7F001D78 460A4100 */ add.s $f4, $f8, $f10 -/* 0368AC 7F001D7C C4880008 */ lwc1 $f8, 8($a0) -/* 0368B0 7F001D80 46122182 */ mul.s $f6, $f4, $f18 -/* 0368B4 7F001D84 46083280 */ add.s $f10, $f6, $f8 -/* 0368B8 7F001D88 E4AA0008 */ swc1 $f10, 8($a1) -/* 0368BC 7F001D8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0368C0 7F001D90 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0368C4 7F001D94 03E00008 */ jr $ra -/* 0368C8 7F001D98 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void prepare_load_objects(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8004EEB4 -.word 0x358637bd -.text -glabel prepare_load_objects -/* 0368CC 7F001D9C 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 0368D0 7F001DA0 AFBF0034 */ sw $ra, 0x34($sp) -/* 0368D4 7F001DA4 AFB10030 */ sw $s1, 0x30($sp) -/* 0368D8 7F001DA8 AFB0002C */ sw $s0, 0x2c($sp) -/* 0368DC 7F001DAC AFA400F8 */ sw $a0, 0xf8($sp) -/* 0368E0 7F001DB0 AFA60100 */ sw $a2, 0x100($sp) -/* 0368E4 7F001DB4 84A40004 */ lh $a0, 4($a1) -/* 0368E8 7F001DB8 00A08825 */ move $s1, $a1 -/* 0368EC 7F001DBC 00008025 */ move $s0, $zero -/* 0368F0 7F001DC0 0FC15B0E */ jal load_model -/* 0368F4 7F001DC4 AFA400F0 */ sw $a0, 0xf0($sp) -/* 0368F8 7F001DC8 962E0000 */ lhu $t6, ($s1) -/* 0368FC 7F001DCC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 036900 7F001DD0 448E2000 */ mtc1 $t6, $f4 -/* 036904 7F001DD4 05C10004 */ bgez $t6, .L7F001DE8 -/* 036908 7F001DD8 468021A0 */ cvt.s.w $f6, $f4 -/* 03690C 7F001DDC 44814000 */ mtc1 $at, $f8 -/* 036910 7F001DE0 00000000 */ nop -/* 036914 7F001DE4 46083180 */ add.s $f6, $f6, $f8 -.L7F001DE8: -/* 036918 7F001DE8 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 03691C 7F001DEC 44815000 */ mtc1 $at, $f10 -/* 036920 7F001DF0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 036924 7F001DF4 460A3102 */ mul.s $f4, $f6, $f10 -/* 036928 7F001DF8 44815000 */ mtc1 $at, $f10 -/* 03692C 7F001DFC E7A40078 */ swc1 $f4, 0x78($sp) -/* 036930 7F001E00 8E2F0074 */ lw $t7, 0x74($s1) -/* 036934 7F001E04 448F4000 */ mtc1 $t7, $f8 -/* 036938 7F001E08 00000000 */ nop -/* 03693C 7F001E0C 468041A0 */ cvt.s.w $f6, $f8 -/* 036940 7F001E10 460A3103 */ div.s $f4, $f6, $f10 -/* 036944 7F001E14 0FC26919 */ jal get_num_players -/* 036948 7F001E18 E6240074 */ swc1 $f4, 0x74($s1) -/* 03694C 7F001E1C 28410002 */ slti $at, $v0, 2 -/* 036950 7F001E20 1420001B */ bnez $at, .L7F001E90 -/* 036954 7F001E24 24030001 */ li $v1, 1 -/* 036958 7F001E28 0FC051D6 */ jal get_scenario -/* 03695C 7F001E2C AFA30074 */ sw $v1, 0x74($sp) -/* 036960 7F001E30 24010002 */ li $at, 2 -/* 036964 7F001E34 14410007 */ bne $v0, $at, .L7F001E54 -/* 036968 7F001E38 8FA30074 */ lw $v1, 0x74($sp) -/* 03696C 7F001E3C 86380004 */ lh $t8, 4($s1) -/* 036970 7F001E40 2401014D */ li $at, 333 -/* 036974 7F001E44 17010003 */ bne $t8, $at, .L7F001E54 -/* 036978 7F001E48 00000000 */ nop -/* 03697C 7F001E4C 1000000B */ b .L7F001E7C -/* 036980 7F001E50 00001825 */ move $v1, $zero -.L7F001E54: -/* 036984 7F001E54 0FC051D6 */ jal get_scenario -/* 036988 7F001E58 AFA30074 */ sw $v1, 0x74($sp) -/* 03698C 7F001E5C 24010003 */ li $at, 3 -/* 036990 7F001E60 14410006 */ bne $v0, $at, .L7F001E7C -/* 036994 7F001E64 8FA30074 */ lw $v1, 0x74($sp) -/* 036998 7F001E68 86390004 */ lh $t9, 4($s1) -/* 03699C 7F001E6C 240100D0 */ li $at, 208 -/* 0369A0 7F001E70 17210002 */ bne $t9, $at, .L7F001E7C -/* 0369A4 7F001E74 00000000 */ nop -/* 0369A8 7F001E78 00001825 */ move $v1, $zero -.L7F001E7C: -/* 0369AC 7F001E7C 50600005 */ beql $v1, $zero, .L7F001E94 -/* 0369B0 7F001E80 8E230008 */ lw $v1, 8($s1) -/* 0369B4 7F001E84 92280002 */ lbu $t0, 2($s1) -/* 0369B8 7F001E88 35090004 */ ori $t1, $t0, 4 -/* 0369BC 7F001E8C A2290002 */ sb $t1, 2($s1) -.L7F001E90: -/* 0369C0 7F001E90 8E230008 */ lw $v1, 8($s1) -.L7F001E94: -/* 0369C4 7F001E94 306A8000 */ andi $t2, $v1, 0x8000 -/* 0369C8 7F001E98 11400021 */ beqz $t2, .L7F001F20 -/* 0369CC 7F001E9C 30784000 */ andi $t8, $v1, 0x4000 -/* 0369D0 7F001EA0 922B0003 */ lbu $t3, 3($s1) -/* 0369D4 7F001EA4 8FAE00F0 */ lw $t6, 0xf0($sp) -/* 0369D8 7F001EA8 24010008 */ li $at, 8 -/* 0369DC 7F001EAC 1561000C */ bne $t3, $at, .L7F001EE0 -/* 0369E0 7F001EB0 000E7880 */ sll $t7, $t6, 2 -/* 0369E4 7F001EB4 8FAC00F0 */ lw $t4, 0xf0($sp) -/* 0369E8 7F001EB8 3C058004 */ lui $a1, %hi(PitemZ_entries) -/* 0369EC 7F001EBC 02202025 */ move $a0, $s1 -/* 0369F0 7F001EC0 000C6880 */ sll $t5, $t4, 2 -/* 0369F4 7F001EC4 01AC6823 */ subu $t5, $t5, $t4 -/* 0369F8 7F001EC8 000D6880 */ sll $t5, $t5, 2 -/* 0369FC 7F001ECC 00AD2821 */ addu $a1, $a1, $t5 -/* 036A00 7F001ED0 0FC14776 */ jal sub_GAME_7F051DD8 -/* 036A04 7F001ED4 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) -/* 036A08 7F001ED8 10000009 */ b .L7F001F00 -/* 036A0C 7F001EDC 8E240014 */ lw $a0, 0x14($s1) -.L7F001EE0: -/* 036A10 7F001EE0 01EE7823 */ subu $t7, $t7, $t6 -/* 036A14 7F001EE4 000F7880 */ sll $t7, $t7, 2 -/* 036A18 7F001EE8 3C058004 */ lui $a1, %hi(PitemZ_entries) -/* 036A1C 7F001EEC 00AF2821 */ addu $a1, $a1, $t7 -/* 036A20 7F001EF0 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) -/* 036A24 7F001EF4 0FC101BE */ jal sub_GAME_7F0406F8 -/* 036A28 7F001EF8 02202025 */ move $a0, $s1 -/* 036A2C 7F001EFC 8E240014 */ lw $a0, 0x14($s1) -.L7F001F00: -/* 036A30 7F001F00 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 036A34 7F001F04 C4880014 */ lwc1 $f8, 0x14($a0) -/* 036A38 7F001F08 46064282 */ mul.s $f10, $f8, $f6 -/* 036A3C 7F001F0C 44055000 */ mfc1 $a1, $f10 -/* 036A40 7F001F10 0FC1B39E */ jal set_obj_instance_controller_scale -/* 036A44 7F001F14 00000000 */ nop -/* 036A48 7F001F18 10000203 */ b .L7F002728 -/* 036A4C 7F001F1C 8FBF0034 */ lw $ra, 0x34($sp) -.L7F001F20: -/* 036A50 7F001F20 53000031 */ beql $t8, $zero, .L7F001FE8 -/* 036A54 7F001F24 86230006 */ lh $v1, 6($s1) -/* 036A58 7F001F28 0FC08BF2 */ jal check_if_guardnum_loaded_get_ptr_GUARDdata -/* 036A5C 7F001F2C 86240006 */ lh $a0, 6($s1) -/* 036A60 7F001F30 104001FC */ beqz $v0, .L7F002724 -/* 036A64 7F001F34 AFA2006C */ sw $v0, 0x6c($sp) -/* 036A68 7F001F38 8C590018 */ lw $t9, 0x18($v0) -/* 036A6C 7F001F3C 532001FA */ beql $t9, $zero, .L7F002728 -/* 036A70 7F001F40 8FBF0034 */ lw $ra, 0x34($sp) -/* 036A74 7F001F44 8C48001C */ lw $t0, 0x1c($v0) -/* 036A78 7F001F48 510001F7 */ beql $t0, $zero, .L7F002728 -/* 036A7C 7F001F4C 8FBF0034 */ lw $ra, 0x34($sp) -/* 036A80 7F001F50 92290003 */ lbu $t1, 3($s1) -/* 036A84 7F001F54 8FAC00F0 */ lw $t4, 0xf0($sp) -/* 036A88 7F001F58 24010008 */ li $at, 8 -/* 036A8C 7F001F5C 1521000C */ bne $t1, $at, .L7F001F90 -/* 036A90 7F001F60 000C6880 */ sll $t5, $t4, 2 -/* 036A94 7F001F64 8FAA00F0 */ lw $t2, 0xf0($sp) -/* 036A98 7F001F68 3C058004 */ lui $a1, %hi(PitemZ_entries) -/* 036A9C 7F001F6C 02202025 */ move $a0, $s1 -/* 036AA0 7F001F70 000A5880 */ sll $t3, $t2, 2 -/* 036AA4 7F001F74 016A5823 */ subu $t3, $t3, $t2 -/* 036AA8 7F001F78 000B5880 */ sll $t3, $t3, 2 -/* 036AAC 7F001F7C 00AB2821 */ addu $a1, $a1, $t3 -/* 036AB0 7F001F80 0FC14776 */ jal sub_GAME_7F051DD8 -/* 036AB4 7F001F84 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) -/* 036AB8 7F001F88 10000009 */ b .L7F001FB0 -/* 036ABC 7F001F8C 00408025 */ move $s0, $v0 -.L7F001F90: -/* 036AC0 7F001F90 01AC6823 */ subu $t5, $t5, $t4 -/* 036AC4 7F001F94 000D6880 */ sll $t5, $t5, 2 -/* 036AC8 7F001F98 3C058004 */ lui $a1, %hi(PitemZ_entries) -/* 036ACC 7F001F9C 00AD2821 */ addu $a1, $a1, $t5 -/* 036AD0 7F001FA0 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) -/* 036AD4 7F001FA4 0FC101BE */ jal sub_GAME_7F0406F8 -/* 036AD8 7F001FA8 02202025 */ move $a0, $s1 -/* 036ADC 7F001FAC 00408025 */ move $s0, $v0 -.L7F001FB0: -/* 036AE0 7F001FB0 8E240014 */ lw $a0, 0x14($s1) -/* 036AE4 7F001FB4 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 036AE8 7F001FB8 C4840014 */ lwc1 $f4, 0x14($a0) -/* 036AEC 7F001FBC 46082182 */ mul.s $f6, $f4, $f8 -/* 036AF0 7F001FC0 44053000 */ mfc1 $a1, $f6 -/* 036AF4 7F001FC4 0FC1B39E */ jal set_obj_instance_controller_scale -/* 036AF8 7F001FC8 00000000 */ nop -/* 036AFC 7F001FCC 8FAE006C */ lw $t6, 0x6c($sp) -/* 036B00 7F001FD0 02002025 */ move $a0, $s0 -/* 036B04 7F001FD4 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 036B08 7F001FD8 8DC50018 */ lw $a1, 0x18($t6) -/* 036B0C 7F001FDC 100001D2 */ b .L7F002728 -/* 036B10 7F001FE0 8FBF0034 */ lw $ra, 0x34($sp) -/* 036B14 7F001FE4 86230006 */ lh $v1, 6($s1) -.L7F001FE8: -/* 036B18 7F001FE8 3C188007 */ lui $t8, %hi(ptr_0xxxpresets) -/* 036B1C 7F001FEC 3C0B8007 */ lui $t3, %hi(ptr_2xxxpresets) -/* 036B20 7F001FF0 28612710 */ slti $at, $v1, 0x2710 -/* 036B24 7F001FF4 10200039 */ beqz $at, .L7F0020DC -/* 036B28 7F001FF8 00035100 */ sll $t2, $v1, 4 -/* 036B2C 7F001FFC 00037880 */ sll $t7, $v1, 2 -/* 036B30 7F002000 01E37823 */ subu $t7, $t7, $v1 -/* 036B34 7F002004 8F185D18 */ lw $t8, %lo(ptr_0xxxpresets)($t8) -/* 036B38 7F002008 000F7880 */ sll $t7, $t7, 2 -/* 036B3C 7F00200C 01E37823 */ subu $t7, $t7, $v1 -/* 036B40 7F002010 000F7880 */ sll $t7, $t7, 2 -/* 036B44 7F002014 01F81021 */ addu $v0, $t7, $t8 -/* 036B48 7F002018 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 036B4C 7F00201C 44800000 */ mtc1 $zero, $f0 -/* 036B50 7F002020 27A4008C */ addiu $a0, $sp, 0x8c -/* 036B54 7F002024 46005107 */ neg.s $f4, $f10 -/* 036B58 7F002028 44050000 */ mfc1 $a1, $f0 -/* 036B5C 7F00202C E7A40010 */ swc1 $f4, 0x10($sp) -/* 036B60 7F002030 C448001C */ lwc1 $f8, 0x1c($v0) -/* 036B64 7F002034 44060000 */ mfc1 $a2, $f0 -/* 036B68 7F002038 44070000 */ mfc1 $a3, $f0 -/* 036B6C 7F00203C 46004187 */ neg.s $f6, $f8 -/* 036B70 7F002040 E7A60014 */ swc1 $f6, 0x14($sp) -/* 036B74 7F002044 C44A0020 */ lwc1 $f10, 0x20($v0) -/* 036B78 7F002048 46005107 */ neg.s $f4, $f10 -/* 036B7C 7F00204C E7A40018 */ swc1 $f4, 0x18($sp) -/* 036B80 7F002050 C448000C */ lwc1 $f8, 0xc($v0) -/* 036B84 7F002054 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 036B88 7F002058 C4460010 */ lwc1 $f6, 0x10($v0) -/* 036B8C 7F00205C E7A60020 */ swc1 $f6, 0x20($sp) -/* 036B90 7F002060 C44A0014 */ lwc1 $f10, 0x14($v0) -/* 036B94 7F002064 AFA20064 */ sw $v0, 0x64($sp) -/* 036B98 7F002068 0FC16642 */ jal sub_GAME_7F059908 -/* 036B9C 7F00206C E7AA0024 */ swc1 $f10, 0x24($sp) -/* 036BA0 7F002070 8FA20064 */ lw $v0, 0x64($sp) -/* 036BA4 7F002074 C4440000 */ lwc1 $f4, ($v0) -/* 036BA8 7F002078 E7A400D0 */ swc1 $f4, 0xd0($sp) -/* 036BAC 7F00207C C4480004 */ lwc1 $f8, 4($v0) -/* 036BB0 7F002080 E7A800D4 */ swc1 $f8, 0xd4($sp) -/* 036BB4 7F002084 C4460008 */ lwc1 $f6, 8($v0) -/* 036BB8 7F002088 E7A600D8 */ swc1 $f6, 0xd8($sp) -/* 036BBC 7F00208C 8E390008 */ lw $t9, 8($s1) -/* 036BC0 7F002090 33280002 */ andi $t0, $t9, 2 -/* 036BC4 7F002094 51000009 */ beql $t0, $zero, .L7F0020BC -/* 036BC8 7F002098 C4460000 */ lwc1 $f6, ($v0) -/* 036BCC 7F00209C C44A0000 */ lwc1 $f10, ($v0) -/* 036BD0 7F0020A0 E7AA0080 */ swc1 $f10, 0x80($sp) -/* 036BD4 7F0020A4 C4440004 */ lwc1 $f4, 4($v0) -/* 036BD8 7F0020A8 E7A40084 */ swc1 $f4, 0x84($sp) -/* 036BDC 7F0020AC C4480008 */ lwc1 $f8, 8($v0) -/* 036BE0 7F0020B0 10000007 */ b .L7F0020D0 -/* 036BE4 7F0020B4 E7A80088 */ swc1 $f8, 0x88($sp) -/* 036BE8 7F0020B8 C4460000 */ lwc1 $f6, ($v0) -.L7F0020BC: -/* 036BEC 7F0020BC E7A60080 */ swc1 $f6, 0x80($sp) -/* 036BF0 7F0020C0 C44A0004 */ lwc1 $f10, 4($v0) -/* 036BF4 7F0020C4 E7AA0084 */ swc1 $f10, 0x84($sp) -/* 036BF8 7F0020C8 C4440008 */ lwc1 $f4, 8($v0) -/* 036BFC 7F0020CC E7A40088 */ swc1 $f4, 0x88($sp) -.L7F0020D0: -/* 036C00 7F0020D0 8C490028 */ lw $t1, 0x28($v0) -/* 036C04 7F0020D4 10000085 */ b .L7F0022EC -/* 036C08 7F0020D8 AFA900CC */ sw $t1, 0xcc($sp) -.L7F0020DC: -/* 036C0C 7F0020DC 8D6B5D1C */ lw $t3, %lo(ptr_2xxxpresets)($t3) -/* 036C10 7F0020E0 01435021 */ addu $t2, $t2, $v1 -/* 036C14 7F0020E4 000A5080 */ sll $t2, $t2, 2 -/* 036C18 7F0020E8 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 036C1C 7F0020EC 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 036C20 7F0020F0 014B8021 */ addu $s0, $t2, $t3 -/* 036C24 7F0020F4 02018021 */ addu $s0, $s0, $at -/* 036C28 7F0020F8 C6080018 */ lwc1 $f8, 0x18($s0) -/* 036C2C 7F0020FC 44800000 */ mtc1 $zero, $f0 -/* 036C30 7F002100 27A4008C */ addiu $a0, $sp, 0x8c -/* 036C34 7F002104 46004187 */ neg.s $f6, $f8 -/* 036C38 7F002108 44050000 */ mfc1 $a1, $f0 -/* 036C3C 7F00210C E7A60010 */ swc1 $f6, 0x10($sp) -/* 036C40 7F002110 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 036C44 7F002114 44060000 */ mfc1 $a2, $f0 -/* 036C48 7F002118 44070000 */ mfc1 $a3, $f0 -/* 036C4C 7F00211C 46005107 */ neg.s $f4, $f10 -/* 036C50 7F002120 E7A40014 */ swc1 $f4, 0x14($sp) -/* 036C54 7F002124 C6080020 */ lwc1 $f8, 0x20($s0) -/* 036C58 7F002128 46004187 */ neg.s $f6, $f8 -/* 036C5C 7F00212C E7A60018 */ swc1 $f6, 0x18($sp) -/* 036C60 7F002130 C60A000C */ lwc1 $f10, 0xc($s0) -/* 036C64 7F002134 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 036C68 7F002138 C6040010 */ lwc1 $f4, 0x10($s0) -/* 036C6C 7F00213C E7A40020 */ swc1 $f4, 0x20($sp) -/* 036C70 7F002140 C6080014 */ lwc1 $f8, 0x14($s0) -/* 036C74 7F002144 0FC16642 */ jal sub_GAME_7F059908 -/* 036C78 7F002148 E7A80024 */ swc1 $f8, 0x24($sp) -/* 036C7C 7F00214C 8E2C000C */ lw $t4, 0xc($s1) -/* 036C80 7F002150 02002025 */ move $a0, $s0 -/* 036C84 7F002154 318D0001 */ andi $t5, $t4, 1 -/* 036C88 7F002158 55A0003D */ bnezl $t5, .L7F002250 -/* 036C8C 7F00215C C60A0000 */ lwc1 $f10, ($s0) -/* 036C90 7F002160 0FC006F5 */ jal sub_GAME_7F001BD4 -/* 036C94 7F002164 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 036C98 7F002168 C6060034 */ lwc1 $f6, 0x34($s0) -/* 036C9C 7F00216C C60A0038 */ lwc1 $f10, 0x38($s0) -/* 036CA0 7F002170 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 036CA4 7F002174 44810000 */ mtc1 $at, $f0 -/* 036CA8 7F002178 460A3101 */ sub.s $f4, $f6, $f10 -/* 036CAC 7F00217C C606000C */ lwc1 $f6, 0xc($s0) -/* 036CB0 7F002180 27A400CC */ addiu $a0, $sp, 0xcc -/* 036CB4 7F002184 46002202 */ mul.s $f8, $f4, $f0 -/* 036CB8 7F002188 C7A400D0 */ lwc1 $f4, 0xd0($sp) -/* 036CBC 7F00218C 44072000 */ mfc1 $a3, $f4 -/* 036CC0 7F002190 46083282 */ mul.s $f10, $f6, $f8 -/* 036CC4 7F002194 46045180 */ add.s $f6, $f10, $f4 -/* 036CC8 7F002198 E7A60080 */ swc1 $f6, 0x80($sp) -/* 036CCC 7F00219C C60A0038 */ lwc1 $f10, 0x38($s0) -/* 036CD0 7F0021A0 C6080034 */ lwc1 $f8, 0x34($s0) -/* 036CD4 7F0021A4 460A4181 */ sub.s $f6, $f8, $f10 -/* 036CD8 7F0021A8 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 036CDC 7F0021AC 46003202 */ mul.s $f8, $f6, $f0 -/* 036CE0 7F0021B0 00000000 */ nop -/* 036CE4 7F0021B4 46085182 */ mul.s $f6, $f10, $f8 -/* 036CE8 7F0021B8 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 036CEC 7F0021BC 460A3200 */ add.s $f8, $f6, $f10 -/* 036CF0 7F0021C0 E7A80084 */ swc1 $f8, 0x84($sp) -/* 036CF4 7F0021C4 C60A0038 */ lwc1 $f10, 0x38($s0) -/* 036CF8 7F0021C8 C6060034 */ lwc1 $f6, 0x34($s0) -/* 036CFC 7F0021CC 460A3201 */ sub.s $f8, $f6, $f10 -/* 036D00 7F0021D0 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 036D04 7F0021D4 46004182 */ mul.s $f6, $f8, $f0 -/* 036D08 7F0021D8 00000000 */ nop -/* 036D0C 7F0021DC 46065202 */ mul.s $f8, $f10, $f6 -/* 036D10 7F0021E0 C7AA00D8 */ lwc1 $f10, 0xd8($sp) -/* 036D14 7F0021E4 460A4180 */ add.s $f6, $f8, $f10 -/* 036D18 7F0021E8 E7A60088 */ swc1 $f6, 0x88($sp) -/* 036D1C 7F0021EC 8E0E0028 */ lw $t6, 0x28($s0) -/* 036D20 7F0021F0 AFAE00CC */ sw $t6, 0xcc($sp) -/* 036D24 7F0021F4 8E060008 */ lw $a2, 8($s0) -/* 036D28 7F0021F8 8E050000 */ lw $a1, ($s0) -/* 036D2C 7F0021FC 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 036D30 7F002200 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 036D34 7F002204 5440003A */ bnezl $v0, .L7F0022F0 -/* 036D38 7F002208 27A900DC */ addiu $t1, $sp, 0xdc -/* 036D3C 7F00220C C6080000 */ lwc1 $f8, ($s0) -/* 036D40 7F002210 E7A800D0 */ swc1 $f8, 0xd0($sp) -/* 036D44 7F002214 C6060004 */ lwc1 $f6, 4($s0) -/* 036D48 7F002218 E7A600D4 */ swc1 $f6, 0xd4($sp) -/* 036D4C 7F00221C C6040008 */ lwc1 $f4, 8($s0) -/* 036D50 7F002220 E7A400D8 */ swc1 $f4, 0xd8($sp) -/* 036D54 7F002224 8E0F0028 */ lw $t7, 0x28($s0) -/* 036D58 7F002228 AFAF00CC */ sw $t7, 0xcc($sp) -/* 036D5C 7F00222C 8E230008 */ lw $v1, 8($s1) -/* 036D60 7F002230 30780002 */ andi $t8, $v1, 2 -/* 036D64 7F002234 1700002D */ bnez $t8, .L7F0022EC -/* 036D68 7F002238 30791000 */ andi $t9, $v1, 0x1000 -/* 036D6C 7F00223C 5720002C */ bnezl $t9, .L7F0022F0 -/* 036D70 7F002240 27A900DC */ addiu $t1, $sp, 0xdc -/* 036D74 7F002244 1000002A */ b .L7F0022F0 -/* 036D78 7F002248 27A900DC */ addiu $t1, $sp, 0xdc -/* 036D7C 7F00224C C60A0000 */ lwc1 $f10, ($s0) -.L7F002250: -/* 036D80 7F002250 02002025 */ move $a0, $s0 -/* 036D84 7F002254 27A50080 */ addiu $a1, $sp, 0x80 -/* 036D88 7F002258 E7AA00D0 */ swc1 $f10, 0xd0($sp) -/* 036D8C 7F00225C C6080004 */ lwc1 $f8, 4($s0) -/* 036D90 7F002260 E7A800D4 */ swc1 $f8, 0xd4($sp) -/* 036D94 7F002264 C6060008 */ lwc1 $f6, 8($s0) -/* 036D98 7F002268 E7A600D8 */ swc1 $f6, 0xd8($sp) -/* 036D9C 7F00226C 8E080028 */ lw $t0, 0x28($s0) -/* 036DA0 7F002270 0FC006F5 */ jal sub_GAME_7F001BD4 -/* 036DA4 7F002274 AFA800CC */ sw $t0, 0xcc($sp) -/* 036DA8 7F002278 C6040034 */ lwc1 $f4, 0x34($s0) -/* 036DAC 7F00227C C60A0038 */ lwc1 $f10, 0x38($s0) -/* 036DB0 7F002280 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 036DB4 7F002284 44810000 */ mtc1 $at, $f0 -/* 036DB8 7F002288 460A2201 */ sub.s $f8, $f4, $f10 -/* 036DBC 7F00228C C604000C */ lwc1 $f4, 0xc($s0) -/* 036DC0 7F002290 46004182 */ mul.s $f6, $f8, $f0 -/* 036DC4 7F002294 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 036DC8 7F002298 46043282 */ mul.s $f10, $f6, $f4 -/* 036DCC 7F00229C 460A4180 */ add.s $f6, $f8, $f10 -/* 036DD0 7F0022A0 E7A60080 */ swc1 $f6, 0x80($sp) -/* 036DD4 7F0022A4 C6080038 */ lwc1 $f8, 0x38($s0) -/* 036DD8 7F0022A8 C6040034 */ lwc1 $f4, 0x34($s0) -/* 036DDC 7F0022AC 46082281 */ sub.s $f10, $f4, $f8 -/* 036DE0 7F0022B0 C6040010 */ lwc1 $f4, 0x10($s0) -/* 036DE4 7F0022B4 46005182 */ mul.s $f6, $f10, $f0 -/* 036DE8 7F0022B8 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 036DEC 7F0022BC 46043202 */ mul.s $f8, $f6, $f4 -/* 036DF0 7F0022C0 46085180 */ add.s $f6, $f10, $f8 -/* 036DF4 7F0022C4 E7A60084 */ swc1 $f6, 0x84($sp) -/* 036DF8 7F0022C8 C60A0038 */ lwc1 $f10, 0x38($s0) -/* 036DFC 7F0022CC C6040034 */ lwc1 $f4, 0x34($s0) -/* 036E00 7F0022D0 460A2201 */ sub.s $f8, $f4, $f10 -/* 036E04 7F0022D4 C6040014 */ lwc1 $f4, 0x14($s0) -/* 036E08 7F0022D8 46004182 */ mul.s $f6, $f8, $f0 -/* 036E0C 7F0022DC C7A80088 */ lwc1 $f8, 0x88($sp) -/* 036E10 7F0022E0 46043282 */ mul.s $f10, $f6, $f4 -/* 036E14 7F0022E4 460A4180 */ add.s $f6, $f8, $f10 -/* 036E18 7F0022E8 E7A60088 */ swc1 $f6, 0x88($sp) -.L7F0022EC: -/* 036E1C 7F0022EC 27A900DC */ addiu $t1, $sp, 0xdc -.L7F0022F0: -/* 036E20 7F0022F0 AFA90010 */ sw $t1, 0x10($sp) -/* 036E24 7F0022F4 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 036E28 7F0022F8 8FA500CC */ lw $a1, 0xcc($sp) -/* 036E2C 7F0022FC 24060000 */ li $a2, 0 -/* 036E30 7F002300 0FC15A14 */ jal sub_GAME_7F056850 -/* 036E34 7F002304 27A700E0 */ addiu $a3, $sp, 0xe0 -/* 036E38 7F002308 50400107 */ beql $v0, $zero, .L7F002728 -/* 036E3C 7F00230C 8FBF0034 */ lw $ra, 0x34($sp) -/* 036E40 7F002310 922A0003 */ lbu $t2, 3($s1) -/* 036E44 7F002314 8FAB00F0 */ lw $t3, 0xf0($sp) -/* 036E48 7F002318 24010008 */ li $at, 8 -/* 036E4C 7F00231C 1541000A */ bne $t2, $at, .L7F002348 -/* 036E50 7F002320 000B6080 */ sll $t4, $t3, 2 -/* 036E54 7F002324 018B6023 */ subu $t4, $t4, $t3 -/* 036E58 7F002328 000C6080 */ sll $t4, $t4, 2 -/* 036E5C 7F00232C 3C058004 */ lui $a1, %hi(PitemZ_entries) -/* 036E60 7F002330 00AC2821 */ addu $a1, $a1, $t4 -/* 036E64 7F002334 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) -/* 036E68 7F002338 0FC14776 */ jal sub_GAME_7F051DD8 -/* 036E6C 7F00233C 02202025 */ move $a0, $s1 -/* 036E70 7F002340 10000004 */ b .L7F002354 -/* 036E74 7F002344 AFA20060 */ sw $v0, 0x60($sp) -.L7F002348: -/* 036E78 7F002348 0FC101C7 */ jal sub_GAME_7F04071C -/* 036E7C 7F00234C 02202025 */ move $a0, $s1 -/* 036E80 7F002350 AFA20060 */ sw $v0, 0x60($sp) -.L7F002354: -/* 036E84 7F002354 520000D0 */ beql $s0, $zero, .L7F002698 -/* 036E88 7F002358 8E240014 */ lw $a0, 0x14($s1) -/* 036E8C 7F00235C 0FC1001E */ jal sub_GAME_7F040078 -/* 036E90 7F002360 02202025 */ move $a0, $s1 -/* 036E94 7F002364 104000CB */ beqz $v0, .L7F002694 -/* 036E98 7F002368 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 036E9C 7F00236C 44819000 */ mtc1 $at, $f18 -/* 036EA0 7F002370 27A5008C */ addiu $a1, $sp, 0x8c -/* 036EA4 7F002374 E7B20058 */ swc1 $f18, 0x58($sp) -/* 036EA8 7F002378 8E230008 */ lw $v1, 8($s1) -/* 036EAC 7F00237C 46009406 */ mov.s $f16, $f18 -/* 036EB0 7F002380 306D0030 */ andi $t5, $v1, 0x30 -/* 036EB4 7F002384 11A0001D */ beqz $t5, .L7F0023FC -/* 036EB8 7F002388 30790050 */ andi $t9, $v1, 0x50 -/* 036EBC 7F00238C C4420004 */ lwc1 $f2, 4($v0) -/* 036EC0 7F002390 C4400008 */ lwc1 $f0, 8($v0) -/* 036EC4 7F002394 306E0002 */ andi $t6, $v1, 2 -/* 036EC8 7F002398 4600103C */ c.lt.s $f2, $f0 -/* 036ECC 7F00239C 00000000 */ nop -/* 036ED0 7F0023A0 45000016 */ bc1f .L7F0023FC -/* 036ED4 7F0023A4 00000000 */ nop -/* 036ED8 7F0023A8 51C0000C */ beql $t6, $zero, .L7F0023DC -/* 036EDC 7F0023AC C6040030 */ lwc1 $f4, 0x30($s0) -/* 036EE0 7F0023B0 C6040030 */ lwc1 $f4, 0x30($s0) -/* 036EE4 7F0023B4 C608002C */ lwc1 $f8, 0x2c($s0) -/* 036EE8 7F0023B8 8E2F0014 */ lw $t7, 0x14($s1) -/* 036EEC 7F0023BC 46020181 */ sub.s $f6, $f0, $f2 -/* 036EF0 7F0023C0 46082281 */ sub.s $f10, $f4, $f8 -/* 036EF4 7F0023C4 C5E40014 */ lwc1 $f4, 0x14($t7) -/* 036EF8 7F0023C8 46043202 */ mul.s $f8, $f6, $f4 -/* 036EFC 7F0023CC 46085183 */ div.s $f6, $f10, $f8 -/* 036F00 7F0023D0 1000000A */ b .L7F0023FC -/* 036F04 7F0023D4 E7A60058 */ swc1 $f6, 0x58($sp) -/* 036F08 7F0023D8 C6040030 */ lwc1 $f4, 0x30($s0) -.L7F0023DC: -/* 036F0C 7F0023DC C60A002C */ lwc1 $f10, 0x2c($s0) -/* 036F10 7F0023E0 8E380014 */ lw $t8, 0x14($s1) -/* 036F14 7F0023E4 46020181 */ sub.s $f6, $f0, $f2 -/* 036F18 7F0023E8 460A2201 */ sub.s $f8, $f4, $f10 -/* 036F1C 7F0023EC C7040014 */ lwc1 $f4, 0x14($t8) -/* 036F20 7F0023F0 46043282 */ mul.s $f10, $f6, $f4 -/* 036F24 7F0023F4 460A4183 */ div.s $f6, $f8, $f10 -/* 036F28 7F0023F8 E7A60058 */ swc1 $f6, 0x58($sp) -.L7F0023FC: -/* 036F2C 7F0023FC 13200018 */ beqz $t9, .L7F002460 -/* 036F30 7F002400 306A0090 */ andi $t2, $v1, 0x90 -/* 036F34 7F002404 C442000C */ lwc1 $f2, 0xc($v0) -/* 036F38 7F002408 C4400010 */ lwc1 $f0, 0x10($v0) -/* 036F3C 7F00240C 4600103C */ c.lt.s $f2, $f0 -/* 036F40 7F002410 00000000 */ nop -/* 036F44 7F002414 45000012 */ bc1f .L7F002460 -/* 036F48 7F002418 00000000 */ nop -/* 036F4C 7F00241C 8E280014 */ lw $t0, 0x14($s1) -/* 036F50 7F002420 30690002 */ andi $t1, $v1, 2 -/* 036F54 7F002424 11200008 */ beqz $t1, .L7F002448 -/* 036F58 7F002428 C50C0014 */ lwc1 $f12, 0x14($t0) -/* 036F5C 7F00242C 46020181 */ sub.s $f6, $f0, $f2 -/* 036F60 7F002430 C6040040 */ lwc1 $f4, 0x40($s0) -/* 036F64 7F002434 C608003C */ lwc1 $f8, 0x3c($s0) -/* 036F68 7F002438 46082281 */ sub.s $f10, $f4, $f8 -/* 036F6C 7F00243C 460C3102 */ mul.s $f4, $f6, $f12 -/* 036F70 7F002440 10000007 */ b .L7F002460 -/* 036F74 7F002444 46045483 */ div.s $f18, $f10, $f4 -.L7F002448: -/* 036F78 7F002448 46020101 */ sub.s $f4, $f0, $f2 -/* 036F7C 7F00244C C6080038 */ lwc1 $f8, 0x38($s0) -/* 036F80 7F002450 C6060034 */ lwc1 $f6, 0x34($s0) -/* 036F84 7F002454 46064281 */ sub.s $f10, $f8, $f6 -/* 036F88 7F002458 460C2202 */ mul.s $f8, $f4, $f12 -/* 036F8C 7F00245C 46085403 */ div.s $f16, $f10, $f8 -.L7F002460: -/* 036F90 7F002460 11400018 */ beqz $t2, .L7F0024C4 -/* 036F94 7F002464 306D0010 */ andi $t5, $v1, 0x10 -/* 036F98 7F002468 C4420014 */ lwc1 $f2, 0x14($v0) -/* 036F9C 7F00246C C4400018 */ lwc1 $f0, 0x18($v0) -/* 036FA0 7F002470 4600103C */ c.lt.s $f2, $f0 -/* 036FA4 7F002474 00000000 */ nop -/* 036FA8 7F002478 45020013 */ bc1fl .L7F0024C8 -/* 036FAC 7F00247C C7A00058 */ lwc1 $f0, 0x58($sp) -/* 036FB0 7F002480 8E2B0014 */ lw $t3, 0x14($s1) -/* 036FB4 7F002484 306C0002 */ andi $t4, $v1, 2 -/* 036FB8 7F002488 11800008 */ beqz $t4, .L7F0024AC -/* 036FBC 7F00248C C56C0014 */ lwc1 $f12, 0x14($t3) -/* 036FC0 7F002490 46020201 */ sub.s $f8, $f0, $f2 -/* 036FC4 7F002494 C6060038 */ lwc1 $f6, 0x38($s0) -/* 036FC8 7F002498 C6040034 */ lwc1 $f4, 0x34($s0) -/* 036FCC 7F00249C 46043281 */ sub.s $f10, $f6, $f4 -/* 036FD0 7F0024A0 460C4182 */ mul.s $f6, $f8, $f12 -/* 036FD4 7F0024A4 10000007 */ b .L7F0024C4 -/* 036FD8 7F0024A8 46065403 */ div.s $f16, $f10, $f6 -.L7F0024AC: -/* 036FDC 7F0024AC 46020181 */ sub.s $f6, $f0, $f2 -/* 036FE0 7F0024B0 C6040040 */ lwc1 $f4, 0x40($s0) -/* 036FE4 7F0024B4 C608003C */ lwc1 $f8, 0x3c($s0) -/* 036FE8 7F0024B8 46082281 */ sub.s $f10, $f4, $f8 -/* 036FEC 7F0024BC 460C3102 */ mul.s $f4, $f6, $f12 -/* 036FF0 7F0024C0 46045483 */ div.s $f18, $f10, $f4 -.L7F0024C4: -/* 036FF4 7F0024C4 C7A00058 */ lwc1 $f0, 0x58($sp) -.L7F0024C8: -/* 036FF8 7F0024C8 C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 036FFC 7F0024CC 4600803C */ c.lt.s $f16, $f0 -/* 037000 7F0024D0 00000000 */ nop -/* 037004 7F0024D4 45020003 */ bc1fl .L7F0024E4 -/* 037008 7F0024D8 4600903C */ c.lt.s $f18, $f0 -/* 03700C 7F0024DC 46008006 */ mov.s $f0, $f16 -/* 037010 7F0024E0 4600903C */ c.lt.s $f18, $f0 -.L7F0024E4: -/* 037014 7F0024E4 00000000 */ nop -/* 037018 7F0024E8 45020003 */ bc1fl .L7F0024F8 -/* 03701C 7F0024EC 4610603C */ c.lt.s $f12, $f16 -/* 037020 7F0024F0 46009006 */ mov.s $f0, $f18 -/* 037024 7F0024F4 4610603C */ c.lt.s $f12, $f16 -.L7F0024F8: -/* 037028 7F0024F8 46006386 */ mov.s $f14, $f12 -/* 03702C 7F0024FC 306E0020 */ andi $t6, $v1, 0x20 -/* 037030 7F002500 30780040 */ andi $t8, $v1, 0x40 -/* 037034 7F002504 45020003 */ bc1fl .L7F002514 -/* 037038 7F002508 4612703C */ c.lt.s $f14, $f18 -/* 03703C 7F00250C 46008386 */ mov.s $f14, $f16 -/* 037040 7F002510 4612703C */ c.lt.s $f14, $f18 -.L7F002514: -/* 037044 7F002514 30680080 */ andi $t0, $v1, 0x80 -/* 037048 7F002518 45000002 */ bc1f .L7F002524 -/* 03704C 7F00251C 00000000 */ nop -/* 037050 7F002520 46009386 */ mov.s $f14, $f18 -.L7F002524: -/* 037054 7F002524 11A00005 */ beqz $t5, .L7F00253C -/* 037058 7F002528 00000000 */ nop -/* 03705C 7F00252C 46000486 */ mov.s $f18, $f0 -/* 037060 7F002530 46000406 */ mov.s $f16, $f0 -/* 037064 7F002534 10000031 */ b .L7F0025FC -/* 037068 7F002538 46000306 */ mov.s $f12, $f0 -.L7F00253C: -/* 03706C 7F00253C 15C0000F */ bnez $t6, .L7F00257C -/* 037070 7F002540 306F0002 */ andi $t7, $v1, 2 -/* 037074 7F002544 C4400008 */ lwc1 $f0, 8($v0) -/* 037078 7F002548 11E00007 */ beqz $t7, .L7F002568 -/* 03707C 7F00254C C4420004 */ lwc1 $f2, 4($v0) -/* 037080 7F002550 46001032 */ c.eq.s $f2, $f0 -/* 037084 7F002554 00000000 */ nop -/* 037088 7F002558 45000008 */ bc1f .L7F00257C -/* 03708C 7F00255C 00000000 */ nop -/* 037090 7F002560 10000006 */ b .L7F00257C -/* 037094 7F002564 46007306 */ mov.s $f12, $f14 -.L7F002568: -/* 037098 7F002568 46001032 */ c.eq.s $f2, $f0 -/* 03709C 7F00256C 00000000 */ nop -/* 0370A0 7F002570 45000002 */ bc1f .L7F00257C -/* 0370A4 7F002574 00000000 */ nop -/* 0370A8 7F002578 46007306 */ mov.s $f12, $f14 -.L7F00257C: -/* 0370AC 7F00257C 1700000F */ bnez $t8, .L7F0025BC -/* 0370B0 7F002580 30790002 */ andi $t9, $v1, 2 -/* 0370B4 7F002584 C4400010 */ lwc1 $f0, 0x10($v0) -/* 0370B8 7F002588 13200007 */ beqz $t9, .L7F0025A8 -/* 0370BC 7F00258C C442000C */ lwc1 $f2, 0xc($v0) -/* 0370C0 7F002590 46001032 */ c.eq.s $f2, $f0 -/* 0370C4 7F002594 00000000 */ nop -/* 0370C8 7F002598 45000008 */ bc1f .L7F0025BC -/* 0370CC 7F00259C 00000000 */ nop -/* 0370D0 7F0025A0 10000006 */ b .L7F0025BC -/* 0370D4 7F0025A4 46007486 */ mov.s $f18, $f14 -.L7F0025A8: -/* 0370D8 7F0025A8 46001032 */ c.eq.s $f2, $f0 -/* 0370DC 7F0025AC 00000000 */ nop -/* 0370E0 7F0025B0 45000002 */ bc1f .L7F0025BC -/* 0370E4 7F0025B4 00000000 */ nop -/* 0370E8 7F0025B8 46007406 */ mov.s $f16, $f14 -.L7F0025BC: -/* 0370EC 7F0025BC 1500000F */ bnez $t0, .L7F0025FC -/* 0370F0 7F0025C0 30690002 */ andi $t1, $v1, 2 -/* 0370F4 7F0025C4 C4400018 */ lwc1 $f0, 0x18($v0) -/* 0370F8 7F0025C8 11200007 */ beqz $t1, .L7F0025E8 -/* 0370FC 7F0025CC C4420014 */ lwc1 $f2, 0x14($v0) -/* 037100 7F0025D0 46001032 */ c.eq.s $f2, $f0 -/* 037104 7F0025D4 00000000 */ nop -/* 037108 7F0025D8 45020009 */ bc1fl .L7F002600 -/* 03710C 7F0025DC 460E6303 */ div.s $f12, $f12, $f14 -/* 037110 7F0025E0 10000006 */ b .L7F0025FC -/* 037114 7F0025E4 46007406 */ mov.s $f16, $f14 -.L7F0025E8: -/* 037118 7F0025E8 46001032 */ c.eq.s $f2, $f0 -/* 03711C 7F0025EC 00000000 */ nop -/* 037120 7F0025F0 45020003 */ bc1fl .L7F002600 -/* 037124 7F0025F4 460E6303 */ div.s $f12, $f12, $f14 -/* 037128 7F0025F8 46007486 */ mov.s $f18, $f14 -.L7F0025FC: -/* 03712C 7F0025FC 460E6303 */ div.s $f12, $f12, $f14 -.L7F002600: -/* 037130 7F002600 3C018005 */ lui $at, %hi(D_8004EEB4) -/* 037134 7F002604 C420EEB4 */ lwc1 $f0, %lo(D_8004EEB4)($at) -/* 037138 7F002608 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03713C 7F00260C 460E8403 */ div.s $f16, $f16, $f14 -/* 037140 7F002610 4600603E */ c.le.s $f12, $f0 -/* 037144 7F002614 00000000 */ nop -/* 037148 7F002618 45010009 */ bc1t .L7F002640 -/* 03714C 7F00261C 460E9483 */ div.s $f18, $f18, $f14 -/* 037150 7F002620 4600803E */ c.le.s $f16, $f0 -/* 037154 7F002624 00000000 */ nop -/* 037158 7F002628 45030006 */ bc1tl .L7F002644 -/* 03715C 7F00262C 44816000 */ mtc1 $at, $f12 -/* 037160 7F002630 4600903E */ c.le.s $f18, $f0 -/* 037164 7F002634 00000000 */ nop -/* 037168 7F002638 45020006 */ bc1fl .L7F002654 -/* 03716C 7F00263C E7AE0048 */ swc1 $f14, 0x48($sp) -.L7F002640: -/* 037170 7F002640 44816000 */ mtc1 $at, $f12 -.L7F002644: -/* 037174 7F002644 00000000 */ nop -/* 037178 7F002648 46006486 */ mov.s $f18, $f12 -/* 03717C 7F00264C 46006406 */ mov.s $f16, $f12 -/* 037180 7F002650 E7AE0048 */ swc1 $f14, 0x48($sp) -.L7F002654: -/* 037184 7F002654 E7B00054 */ swc1 $f16, 0x54($sp) -/* 037188 7F002658 0FC1626D */ jal sub_GAME_7F0589B4 -/* 03718C 7F00265C E7B20050 */ swc1 $f18, 0x50($sp) -/* 037190 7F002660 C7AC0054 */ lwc1 $f12, 0x54($sp) -/* 037194 7F002664 0FC16279 */ jal sub_GAME_7F0589E4 -/* 037198 7F002668 27A5008C */ addiu $a1, $sp, 0x8c -/* 03719C 7F00266C C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 0371A0 7F002670 0FC16293 */ jal sub_GAME_7F058A4C -/* 0371A4 7F002674 27A5008C */ addiu $a1, $sp, 0x8c -/* 0371A8 7F002678 8E240014 */ lw $a0, 0x14($s1) -/* 0371AC 7F00267C C7AE0048 */ lwc1 $f14, 0x48($sp) -/* 0371B0 7F002680 C4860014 */ lwc1 $f6, 0x14($a0) -/* 0371B4 7F002684 460E3282 */ mul.s $f10, $f6, $f14 -/* 0371B8 7F002688 44055000 */ mfc1 $a1, $f10 -/* 0371BC 7F00268C 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0371C0 7F002690 00000000 */ nop -.L7F002694: -/* 0371C4 7F002694 8E240014 */ lw $a0, 0x14($s1) -.L7F002698: -/* 0371C8 7F002698 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 0371CC 7F00269C C4840014 */ lwc1 $f4, 0x14($a0) -/* 0371D0 7F0026A0 46082182 */ mul.s $f6, $f4, $f8 -/* 0371D4 7F0026A4 44053000 */ mfc1 $a1, $f6 -/* 0371D8 7F0026A8 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0371DC 7F0026AC 00000000 */ nop -/* 0371E0 7F0026B0 8E2A0014 */ lw $t2, 0x14($s1) -/* 0371E4 7F0026B4 27A5008C */ addiu $a1, $sp, 0x8c -/* 0371E8 7F0026B8 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0371EC 7F0026BC C54C0014 */ lwc1 $f12, 0x14($t2) -/* 0371F0 7F0026C0 8E2B0008 */ lw $t3, 8($s1) -/* 0371F4 7F0026C4 02202025 */ move $a0, $s1 -/* 0371F8 7F0026C8 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 0371FC 7F0026CC 316C0002 */ andi $t4, $t3, 2 -/* 037200 7F0026D0 1180000A */ beqz $t4, .L7F0026FC -/* 037204 7F0026D4 27A6008C */ addiu $a2, $sp, 0x8c -/* 037208 7F0026D8 27AD0080 */ addiu $t5, $sp, 0x80 -/* 03720C 7F0026DC AFAD0010 */ sw $t5, 0x10($sp) -/* 037210 7F0026E0 02202025 */ move $a0, $s1 -/* 037214 7F0026E4 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 037218 7F0026E8 27A6008C */ addiu $a2, $sp, 0x8c -/* 03721C 7F0026EC 0FC102E8 */ jal sub_GAME_7F040BA0 -/* 037220 7F0026F0 8FA700DC */ lw $a3, 0xdc($sp) -/* 037224 7F0026F4 10000005 */ b .L7F00270C -/* 037228 7F0026F8 00000000 */ nop -.L7F0026FC: -/* 03722C 7F0026FC 27AE0080 */ addiu $t6, $sp, 0x80 -/* 037230 7F002700 AFAE0010 */ sw $t6, 0x10($sp) -/* 037234 7F002704 0FC10223 */ jal sub_GAME_7F04088C -/* 037238 7F002708 8FA700DC */ lw $a3, 0xdc($sp) -.L7F00270C: -/* 03723C 7F00270C 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 037240 7F002710 02202025 */ move $a0, $s1 -/* 037244 7F002714 0FC0E929 */ jal set_current_objposdata_plus_0x28 -/* 037248 7F002718 8FA40060 */ lw $a0, 0x60($sp) -/* 03724C 7F00271C 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 037250 7F002720 8FA40060 */ lw $a0, 0x60($sp) -.L7F002724: -/* 037254 7F002724 8FBF0034 */ lw $ra, 0x34($sp) -.L7F002728: -/* 037258 7F002728 8FB0002C */ lw $s0, 0x2c($sp) -/* 03725C 7F00272C 8FB10030 */ lw $s1, 0x30($sp) -/* 037260 7F002730 03E00008 */ jr $ra -/* 037264 7F002734 27BD00F8 */ addiu $sp, $sp, 0xf8 -) -#endif - - -#ifdef NONMATCHING -void expand_08_obj_set_guard_MP_weapons(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel jpt_8004EEB8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027E0 -.word .L7F0027E0 -.word .L7F0027E0 -.word .L7F0027E0 -.word .L7F0027E0 -.word .L7F0027C8 -.word .L7F0027C8 -.word .L7F0027C8 -glabel jpt_mp_ammo_crate_expansion -.word .L7F002870 -.word .L7F002870 -.word .L7F002870 -.word .L7F002870 -.word .L7F002870 -.word .L7F002870 -.word .L7F002870 -.word .L7F002870 -.text -glabel expand_08_obj_set_guard_MP_weapons -/* 037268 7F002738 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 03726C 7F00273C AFBF0014 */ sw $ra, 0x14($sp) -/* 037270 7F002740 AFA40028 */ sw $a0, 0x28($sp) -/* 037274 7F002744 AFA60030 */ sw $a2, 0x30($sp) -/* 037278 7F002748 8CAE0008 */ lw $t6, 8($a1) -/* 03727C 7F00274C 00A03825 */ move $a3, $a1 -/* 037280 7F002750 31CF4000 */ andi $t7, $t6, 0x4000 -/* 037284 7F002754 51E0002B */ beql $t7, $zero, .L7F002804 -/* 037288 7F002758 24050001 */ li $a1, 1 -/* 03728C 7F00275C 84A40006 */ lh $a0, 6($a1) -/* 037290 7F002760 0FC08BF2 */ jal check_if_guardnum_loaded_get_ptr_GUARDdata -/* 037294 7F002764 AFA5002C */ sw $a1, 0x2c($sp) -/* 037298 7F002768 8FA7002C */ lw $a3, 0x2c($sp) -/* 03729C 7F00276C 1040008A */ beqz $v0, .L7F002998 -/* 0372A0 7F002770 AFA2001C */ sw $v0, 0x1c($sp) -/* 0372A4 7F002774 8C580018 */ lw $t8, 0x18($v0) -/* 0372A8 7F002778 53000088 */ beql $t8, $zero, .L7F00299C -/* 0372AC 7F00277C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0372B0 7F002780 8C59001C */ lw $t9, 0x1c($v0) -/* 0372B4 7F002784 2404001C */ li $a0, 28 -/* 0372B8 7F002788 53200084 */ beql $t9, $zero, .L7F00299C -/* 0372BC 7F00278C 8FBF0014 */ lw $ra, 0x14($sp) -/* 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) -/* 0372D0 7F0027A0 80E80080 */ lb $t0, 0x80($a3) -/* 0372D4 7F0027A4 2509FFFE */ addiu $t1, $t0, -2 -/* 0372D8 7F0027A8 2D21001E */ sltiu $at, $t1, 0x1e -/* 0372DC 7F0027AC 1020000C */ beqz $at, .L7F0027E0 -/* 0372E0 7F0027B0 00094880 */ sll $t1, $t1, 2 -/* 0372E4 7F0027B4 3C018005 */ lui $at, %hi(jpt_8004EEB8) -/* 0372E8 7F0027B8 00290821 */ addu $at, $at, $t1 -/* 0372EC 7F0027BC 8C29EEB8 */ lw $t1, %lo(jpt_8004EEB8)($at) -/* 0372F0 7F0027C0 01200008 */ jr $t1 -/* 0372F4 7F0027C4 00000000 */ nop -.L7F0027C8: -/* 0372F8 7F0027C8 240A0019 */ li $t2, 25 -/* 0372FC 7F0027CC 240B00D3 */ li $t3, 211 -/* 037300 7F0027D0 240C0100 */ li $t4, 256 -/* 037304 7F0027D4 A0EA0080 */ sb $t2, 0x80($a3) -/* 037308 7F0027D8 A4EB0004 */ sh $t3, 4($a3) -/* 03730C 7F0027DC A4EC0000 */ sh $t4, ($a3) -.L7F0027E0: -/* 037310 7F0027E0 80E40080 */ lb $a0, 0x80($a3) -/* 037314 7F0027E4 0FC015C4 */ jal set_weapon_model_generated_thrown_object -/* 037318 7F0027E8 AFA7002C */ sw $a3, 0x2c($sp) -/* 03731C 7F0027EC 8FA4002C */ lw $a0, 0x2c($sp) -/* 037320 7F0027F0 0FC1480C */ jal sub_GAME_7F052030 -/* 037324 7F0027F4 8FA5001C */ lw $a1, 0x1c($sp) -/* 037328 7F0027F8 10000068 */ b .L7F00299C -/* 03732C 7F0027FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 037330 7F002800 24050001 */ li $a1, 1 -.L7F002804: -/* 037334 7F002804 AFA50018 */ sw $a1, 0x18($sp) -/* 037338 7F002808 0FC26919 */ jal get_num_players -/* 03733C 7F00280C AFA7002C */ sw $a3, 0x2c($sp) -/* 037340 7F002810 28410002 */ slti $at, $v0, 2 -/* 037344 7F002814 8FA50018 */ lw $a1, 0x18($sp) -/* 037348 7F002818 14200054 */ bnez $at, .L7F00296C -/* 03734C 7F00281C 8FA7002C */ lw $a3, 0x2c($sp) -/* 037350 7F002820 240DFFFF */ li $t5, -1 -/* 037354 7F002824 3C018007 */ lui $at, %hi(lastmpweaponnum) -/* 037358 7F002828 AC2D9540 */ sw $t5, %lo(lastmpweaponnum)($at) -/* 03735C 7F00282C 90E20080 */ lbu $v0, 0x80($a3) -/* 037360 7F002830 28410059 */ slti $at, $v0, 0x59 -/* 037364 7F002834 14200009 */ bnez $at, .L7F00285C -/* 037368 7F002838 244EFF10 */ addiu $t6, $v0, -0xf0 -/* 03736C 7F00283C 2DC10008 */ sltiu $at, $t6, 8 -/* 037370 7F002840 1020004A */ beqz $at, .L7F00296C -/* 037374 7F002844 000E7080 */ sll $t6, $t6, 2 -/* 037378 7F002848 3C018005 */ lui $at, %hi(jpt_mp_ammo_crate_expansion) -/* 03737C 7F00284C 002E0821 */ addu $at, $at, $t6 -/* 037380 7F002850 8C2EEF30 */ lw $t6, %lo(jpt_mp_ammo_crate_expansion)($at) -/* 037384 7F002854 01C00008 */ jr $t6 -/* 037388 7F002858 00000000 */ nop -.L7F00285C: -/* 03738C 7F00285C 24010058 */ li $at, 88 -/* 037390 7F002860 5041003B */ beql $v0, $at, .L7F002950 -/* 037394 7F002864 AFA50018 */ sw $a1, 0x18($sp) -/* 037398 7F002868 10000041 */ b .L7F002970 -/* 03739C 7F00286C 80E40080 */ lb $a0, 0x80($a3) -.L7F002870: -/* 0373A0 7F002870 0FC31985 */ jal get_ptr_mp_weapon_set_data -/* 0373A4 7F002874 AFA7002C */ sw $a3, 0x2c($sp) -/* 0373A8 7F002878 8FA7002C */ lw $a3, 0x2c($sp) -/* 0373AC 7F00287C 3C018007 */ lui $at, %hi(lastmpweaponnum) -/* 0373B0 7F002880 24090001 */ li $t1, 1 -/* 0373B4 7F002884 90E40080 */ lbu $a0, 0x80($a3) -/* 0373B8 7F002888 2484FF10 */ addiu $a0, $a0, -0xf0 -/* 0373BC 7F00288C 00047880 */ sll $t7, $a0, 2 -/* 0373C0 7F002890 01E47823 */ subu $t7, $t7, $a0 -/* 0373C4 7F002894 000F78C0 */ sll $t7, $t7, 3 -/* 0373C8 7F002898 AC249540 */ sw $a0, %lo(lastmpweaponnum)($at) -/* 0373CC 7F00289C 004F1821 */ addu $v1, $v0, $t7 -/* 0373D0 7F0028A0 8C780000 */ lw $t8, ($v1) -/* 0373D4 7F0028A4 3C014380 */ li $at, 0x43800000 # 256.000000 -/* 0373D8 7F0028A8 44813000 */ mtc1 $at, $f6 -/* 0373DC 7F0028AC A0F80080 */ sb $t8, 0x80($a3) -/* 0373E0 7F0028B0 8C790004 */ lw $t9, 4($v1) -/* 0373E4 7F0028B4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0373E8 7F0028B8 A4F90004 */ sh $t9, 4($a3) -/* 0373EC 7F0028BC C4640008 */ lwc1 $f4, 8($v1) -/* 0373F0 7F0028C0 46062202 */ mul.s $f8, $f4, $f6 -/* 0373F4 7F0028C4 4448F800 */ cfc1 $t0, $31 -/* 0373F8 7F0028C8 44C9F800 */ ctc1 $t1, $31 -/* 0373FC 7F0028CC 00000000 */ nop -/* 037400 7F0028D0 460042A4 */ cvt.w.s $f10, $f8 -/* 037404 7F0028D4 4449F800 */ cfc1 $t1, $31 -/* 037408 7F0028D8 00000000 */ nop -/* 03740C 7F0028DC 31290078 */ andi $t1, $t1, 0x78 -/* 037410 7F0028E0 51200013 */ beql $t1, $zero, .L7F002930 -/* 037414 7F0028E4 44095000 */ mfc1 $t1, $f10 -/* 037418 7F0028E8 44815000 */ mtc1 $at, $f10 -/* 03741C 7F0028EC 24090001 */ li $t1, 1 -/* 037420 7F0028F0 460A4281 */ sub.s $f10, $f8, $f10 -/* 037424 7F0028F4 44C9F800 */ ctc1 $t1, $31 -/* 037428 7F0028F8 00000000 */ nop -/* 03742C 7F0028FC 460052A4 */ cvt.w.s $f10, $f10 -/* 037430 7F002900 4449F800 */ cfc1 $t1, $31 -/* 037434 7F002904 00000000 */ nop -/* 037438 7F002908 31290078 */ andi $t1, $t1, 0x78 -/* 03743C 7F00290C 15200005 */ bnez $t1, .L7F002924 -/* 037440 7F002910 00000000 */ nop -/* 037444 7F002914 44095000 */ mfc1 $t1, $f10 -/* 037448 7F002918 3C018000 */ lui $at, 0x8000 -/* 03744C 7F00291C 10000007 */ b .L7F00293C -/* 037450 7F002920 01214825 */ or $t1, $t1, $at -.L7F002924: -/* 037454 7F002924 10000005 */ b .L7F00293C -/* 037458 7F002928 2409FFFF */ li $t1, -1 -/* 03745C 7F00292C 44095000 */ mfc1 $t1, $f10 -.L7F002930: -/* 037460 7F002930 00000000 */ nop -/* 037464 7F002934 0520FFFB */ bltz $t1, .L7F002924 -/* 037468 7F002938 00000000 */ nop -.L7F00293C: -/* 03746C 7F00293C 44C8F800 */ ctc1 $t0, $31 -/* 037470 7F002940 A4E90000 */ sh $t1, ($a3) -/* 037474 7F002944 10000009 */ b .L7F00296C -/* 037478 7F002948 8C650014 */ lw $a1, 0x14($v1) -/* 03747C 7F00294C AFA50018 */ sw $a1, 0x18($sp) -.L7F002950: -/* 037480 7F002950 0FC051D6 */ jal get_scenario -/* 037484 7F002954 AFA7002C */ sw $a3, 0x2c($sp) -/* 037488 7F002958 24010002 */ li $at, 2 -/* 03748C 7F00295C 8FA50018 */ lw $a1, 0x18($sp) -/* 037490 7F002960 10410002 */ beq $v0, $at, .L7F00296C -/* 037494 7F002964 8FA7002C */ lw $a3, 0x2c($sp) -/* 037498 7F002968 00002825 */ move $a1, $zero -def_7F002854: -.L7F00296C: -/* 03749C 7F00296C 80E40080 */ lb $a0, 0x80($a3) -.L7F002970: -/* 0374A0 7F002970 5080000A */ beql $a0, $zero, .L7F00299C -/* 0374A4 7F002974 8FBF0014 */ lw $ra, 0x14($sp) -/* 0374A8 7F002978 50A00008 */ beql $a1, $zero, .L7F00299C -/* 0374AC 7F00297C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0374B0 7F002980 0FC015C4 */ jal set_weapon_model_generated_thrown_object -/* 0374B4 7F002984 AFA7002C */ sw $a3, 0x2c($sp) -/* 0374B8 7F002988 8FA5002C */ lw $a1, 0x2c($sp) -/* 0374BC 7F00298C 8FA40028 */ lw $a0, 0x28($sp) -/* 0374C0 7F002990 0FC00767 */ jal prepare_load_objects -/* 0374C4 7F002994 8FA60030 */ lw $a2, 0x30($sp) -.L7F002998: -/* 0374C8 7F002998 8FBF0014 */ lw $ra, 0x14($sp) -.L7F00299C: -/* 0374CC 7F00299C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0374D0 7F0029A0 03E00008 */ jr $ra -/* 0374D4 7F0029A4 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void MP_weapon_expansion_routine(void *arg1, ? arg7) { - ? temp_ret; - - // Node 0 - if ((arg1->unk8 & 0x4000) != 0) - { - // Node 1 - temp_ret = check_if_guardnum_loaded_get_ptr_GUARDdata(arg1->unk6, arg1); - if (temp_ret != 0) - { - // Node 2 - if (temp_ret->unk18 != 0) - { - // Node 3 - if (temp_ret->unk1C != 0) - { - // Node 4 - sub_GAME_7F051084(arg7, temp_ret, arg7); - return; - // (possible return value: sub_GAME_7F051084(arg7, temp_ret, arg7)) - } - } - } - } - else - { - // Node 5 - prepare_load_objects(arg1, arg1); - } - // Node 6 - return; - // (possible return value: prepare_load_objects(arg1, arg1)) -} - -#else -GLOBAL_ASM( -.text -glabel MP_weapon_expansion_routine -/* 0374D8 7F0029A8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0374DC 7F0029AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0374E0 7F0029B0 8CAE0008 */ lw $t6, 8($a1) -/* 0374E4 7F0029B4 00A03825 */ move $a3, $a1 -/* 0374E8 7F0029B8 31CF4000 */ andi $t7, $t6, 0x4000 -/* 0374EC 7F0029BC 11E00011 */ beqz $t7, .L7F002A04 -/* 0374F0 7F0029C0 00000000 */ nop -/* 0374F4 7F0029C4 84A40006 */ lh $a0, 6($a1) -/* 0374F8 7F0029C8 0FC08BF2 */ jal check_if_guardnum_loaded_get_ptr_GUARDdata -/* 0374FC 7F0029CC AFA5001C */ sw $a1, 0x1c($sp) -/* 037500 7F0029D0 8FA7001C */ lw $a3, 0x1c($sp) -/* 037504 7F0029D4 1040000D */ beqz $v0, .L7F002A0C -/* 037508 7F0029D8 00402825 */ move $a1, $v0 -/* 03750C 7F0029DC 8C580018 */ lw $t8, 0x18($v0) -/* 037510 7F0029E0 5300000B */ beql $t8, $zero, .L7F002A10 -/* 037514 7F0029E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 037518 7F0029E8 8C59001C */ lw $t9, 0x1c($v0) -/* 03751C 7F0029EC 53200008 */ beql $t9, $zero, .L7F002A10 -/* 037520 7F0029F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 037524 7F0029F4 0FC14421 */ jal sub_GAME_7F051084 -/* 037528 7F0029F8 00E02025 */ move $a0, $a3 -/* 03752C 7F0029FC 10000004 */ b .L7F002A10 -/* 037530 7F002A00 8FBF0014 */ lw $ra, 0x14($sp) -.L7F002A04: -/* 037534 7F002A04 0FC00767 */ jal prepare_load_objects -/* 037538 7F002A08 00E02825 */ move $a1, $a3 -.L7F002A0C: -/* 03753C 7F002A0C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F002A10: -/* 037540 7F002A10 27BD0018 */ addiu $sp, $sp, 0x18 -/* 037544 7F002A14 03E00008 */ jr $ra -/* 037548 7F002A18 00000000 */ nop -) -#endif - - -void jmp_prepare_load_objects(void) { - prepare_load_objects(); -} - - - -#ifdef NONMATCHING -void sub_GAME_7F002A3C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8004EF50 -.word 0x40c90fdb -glabel D_8004EF54 -.word 0x40c90fdb -glabel D_8004EF58 -.word 0x3ebba866 -glabel D_8004EF5C -.word 0x3fc90fdb -glabel D_8004EF60 -.word 0x3fc90fdb -glabel D_8004EF64 -.word 0x358637bd - -.text -glabel sub_GAME_7F002A3C -/* 03756C 7F002A3C 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 037570 7F002A40 AFBF0034 */ sw $ra, 0x34($sp) -/* 037574 7F002A44 AFB00030 */ sw $s0, 0x30($sp) -/* 037578 7F002A48 0FC00767 */ jal prepare_load_objects -/* 03757C 7F002A4C 00A08025 */ move $s0, $a1 -/* 037580 7F002A50 8E020080 */ lw $v0, 0x80($s0) -/* 037584 7F002A54 0442007C */ bltzl $v0, .L7F002C48 -/* 037588 7F002A58 8FBF0034 */ lw $ra, 0x34($sp) -/* 03758C 7F002A5C 8E0E0014 */ lw $t6, 0x14($s0) -/* 037590 7F002A60 00025100 */ sll $t2, $v0, 4 -/* 037594 7F002A64 28412710 */ slti $at, $v0, 0x2710 -/* 037598 7F002A68 8DCF0008 */ lw $t7, 8($t6) -/* 03759C 7F002A6C 00024080 */ sll $t0, $v0, 2 -/* 0375A0 7F002A70 01425021 */ addu $t2, $t2, $v0 -/* 0375A4 7F002A74 8DF80008 */ lw $t8, 8($t7) -/* 0375A8 7F002A78 01024023 */ subu $t0, $t0, $v0 -/* 0375AC 7F002A7C 000A5080 */ sll $t2, $t2, 2 -/* 0375B0 7F002A80 8F190000 */ lw $t9, ($t8) -/* 0375B4 7F002A84 3C0B8007 */ lui $t3, %hi(ptr_2xxxpresets) -/* 0375B8 7F002A88 10200008 */ beqz $at, .L7F002AAC -/* 0375BC 7F002A8C 8F260004 */ lw $a2, 4($t9) -/* 0375C0 7F002A90 00084080 */ sll $t0, $t0, 2 -/* 0375C4 7F002A94 3C098007 */ lui $t1, %hi(ptr_0xxxpresets) -/* 0375C8 7F002A98 8D295D18 */ lw $t1, %lo(ptr_0xxxpresets)($t1) -/* 0375CC 7F002A9C 01024023 */ subu $t0, $t0, $v0 -/* 0375D0 7F002AA0 00084080 */ sll $t0, $t0, 2 -/* 0375D4 7F002AA4 10000006 */ b .L7F002AC0 -/* 0375D8 7F002AA8 01091821 */ addu $v1, $t0, $t1 -.L7F002AAC: -/* 0375DC 7F002AAC 8D6B5D1C */ lw $t3, %lo(ptr_2xxxpresets)($t3) -/* 0375E0 7F002AB0 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 0375E4 7F002AB4 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 0375E8 7F002AB8 014B1821 */ addu $v1, $t2, $t3 -/* 0375EC 7F002ABC 00611821 */ addu $v1, $v1, $at -.L7F002AC0: -/* 0375F0 7F002AC0 C4C40000 */ lwc1 $f4, ($a2) -/* 0375F4 7F002AC4 26040018 */ addiu $a0, $s0, 0x18 -/* 0375F8 7F002AC8 27A50044 */ addiu $a1, $sp, 0x44 -/* 0375FC 7F002ACC E7A40044 */ swc1 $f4, 0x44($sp) -/* 037600 7F002AD0 C4C60004 */ lwc1 $f6, 4($a2) -/* 037604 7F002AD4 E7A60048 */ swc1 $f6, 0x48($sp) -/* 037608 7F002AD8 C4C80008 */ lwc1 $f8, 8($a2) -/* 03760C 7F002ADC AFA30050 */ sw $v1, 0x50($sp) -/* 037610 7F002AE0 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 037614 7F002AE4 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 037618 7F002AE8 8E0C0010 */ lw $t4, 0x10($s0) -/* 03761C 7F002AEC C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 037620 7F002AF0 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 037624 7F002AF4 C5900008 */ lwc1 $f16, 8($t4) -/* 037628 7F002AF8 8FA30050 */ lw $v1, 0x50($sp) -/* 03762C 7F002AFC 44800000 */ mtc1 $zero, $f0 -/* 037630 7F002B00 46105480 */ add.s $f18, $f10, $f16 -/* 037634 7F002B04 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 037638 7F002B08 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03763C 7F002B0C 26040084 */ addiu $a0, $s0, 0x84 -/* 037640 7F002B10 E7B20044 */ swc1 $f18, 0x44($sp) -/* 037644 7F002B14 8E0D0010 */ lw $t5, 0x10($s0) -/* 037648 7F002B18 44050000 */ mfc1 $a1, $f0 -/* 03764C 7F002B1C 44060000 */ mfc1 $a2, $f0 -/* 037650 7F002B20 C5A6000C */ lwc1 $f6, 0xc($t5) -/* 037654 7F002B24 44070000 */ mfc1 $a3, $f0 -/* 037658 7F002B28 46062200 */ add.s $f8, $f4, $f6 -/* 03765C 7F002B2C E7A80048 */ swc1 $f8, 0x48($sp) -/* 037660 7F002B30 8E0E0010 */ lw $t6, 0x10($s0) -/* 037664 7F002B34 C5D00010 */ lwc1 $f16, 0x10($t6) -/* 037668 7F002B38 46105100 */ add.s $f4, $f10, $f16 -/* 03766C 7F002B3C E7A4004C */ swc1 $f4, 0x4c($sp) -/* 037670 7F002B40 C4660000 */ lwc1 $f6, ($v1) -/* 037674 7F002B44 46069281 */ sub.s $f10, $f18, $f6 -/* 037678 7F002B48 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 03767C 7F002B4C C4700004 */ lwc1 $f16, 4($v1) -/* 037680 7F002B50 46104481 */ sub.s $f18, $f8, $f16 -/* 037684 7F002B54 44814000 */ mtc1 $at, $f8 -/* 037688 7F002B58 E7B20014 */ swc1 $f18, 0x14($sp) -/* 03768C 7F002B5C C4660008 */ lwc1 $f6, 8($v1) -/* 037690 7F002B60 AFA4003C */ sw $a0, 0x3c($sp) -/* 037694 7F002B64 E7A00024 */ swc1 $f0, 0x24($sp) -/* 037698 7F002B68 46062281 */ sub.s $f10, $f4, $f6 -/* 03769C 7F002B6C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0376A0 7F002B70 E7A80020 */ swc1 $f8, 0x20($sp) -/* 0376A4 7F002B74 0FC16642 */ jal sub_GAME_7F059908 -/* 0376A8 7F002B78 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0376AC 7F002B7C 8E0F0014 */ lw $t7, 0x14($s0) -/* 0376B0 7F002B80 8FA5003C */ lw $a1, 0x3c($sp) -/* 0376B4 7F002B84 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0376B8 7F002B88 C5EC0014 */ lwc1 $f12, 0x14($t7) -/* 0376BC 7F002B8C 8E1800E4 */ lw $t8, 0xe4($s0) -/* 0376C0 7F002B90 44800000 */ mtc1 $zero, $f0 -/* 0376C4 7F002B94 8FA30050 */ lw $v1, 0x50($sp) -/* 0376C8 7F002B98 5700001E */ bnezl $t8, .L7F002C14 -/* 0376CC 7F002B9C C60400CC */ lwc1 $f4, 0xcc($s0) -/* 0376D0 7F002BA0 8E0800CC */ lw $t0, 0xcc($s0) -/* 0376D4 7F002BA4 3C018005 */ lui $at, %hi(D_8004EF50) -/* 0376D8 7F002BA8 C422EF50 */ lwc1 $f2, %lo(D_8004EF50)($at) -/* 0376DC 7F002BAC 44888000 */ mtc1 $t0, $f16 -/* 0376E0 7F002BB0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0376E4 7F002BB4 44816000 */ mtc1 $at, $f12 -/* 0376E8 7F002BB8 468084A0 */ cvt.s.w $f18, $f16 -/* 0376EC 7F002BBC 8E0900D0 */ lw $t1, 0xd0($s0) -/* 0376F0 7F002BC0 8E0A00DC */ lw $t2, 0xdc($s0) -/* 0376F4 7F002BC4 8E0B00E8 */ lw $t3, 0xe8($s0) -/* 0376F8 7F002BC8 44895000 */ mtc1 $t1, $f10 -/* 0376FC 7F002BCC 24190001 */ li $t9, 1 -/* 037700 7F002BD0 46029102 */ mul.s $f4, $f18, $f2 -/* 037704 7F002BD4 AE1900E4 */ sw $t9, 0xe4($s0) -/* 037708 7F002BD8 46805220 */ cvt.s.w $f8, $f10 -/* 03770C 7F002BDC 460C2183 */ div.s $f6, $f4, $f12 -/* 037710 7F002BE0 448A2000 */ mtc1 $t2, $f4 -/* 037714 7F002BE4 46024402 */ mul.s $f16, $f8, $f2 -/* 037718 7F002BE8 460C8483 */ div.s $f18, $f16, $f12 -/* 03771C 7F002BEC E60600CC */ swc1 $f6, 0xcc($s0) -/* 037720 7F002BF0 448B8000 */ mtc1 $t3, $f16 -/* 037724 7F002BF4 468021A0 */ cvt.s.w $f6, $f4 -/* 037728 7F002BF8 46023282 */ mul.s $f10, $f6, $f2 -/* 03772C 7F002BFC E61200D0 */ swc1 $f18, 0xd0($s0) -/* 037730 7F002C00 468084A0 */ cvt.s.w $f18, $f16 -/* 037734 7F002C04 460C5203 */ div.s $f8, $f10, $f12 -/* 037738 7F002C08 E61200E8 */ swc1 $f18, 0xe8($s0) -/* 03773C 7F002C0C E60800DC */ swc1 $f8, 0xdc($s0) -/* 037740 7F002C10 C60400CC */ lwc1 $f4, 0xcc($s0) -.L7F002C14: -/* 037744 7F002C14 AE0000D4 */ sw $zero, 0xd4($s0) -/* 037748 7F002C18 E60000D8 */ swc1 $f0, 0xd8($s0) -/* 03774C 7F002C1C E60400C8 */ swc1 $f4, 0xc8($s0) -/* 037750 7F002C20 C4700008 */ lwc1 $f16, 8($v1) -/* 037754 7F002C24 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 037758 7F002C28 C46A0000 */ lwc1 $f10, ($v1) -/* 03775C 7F002C2C C7A60044 */ lwc1 $f6, 0x44($sp) -/* 037760 7F002C30 46104381 */ sub.s $f14, $f8, $f16 -/* 037764 7F002C34 0FC16A8C */ jal convert_angle_using_inverse -/* 037768 7F002C38 460A3301 */ sub.s $f12, $f6, $f10 -/* 03776C 7F002C3C E60000C4 */ swc1 $f0, 0xc4($s0) -/* 037770 7F002C40 AE0000E0 */ sw $zero, 0xe0($s0) -/* 037774 7F002C44 8FBF0034 */ lw $ra, 0x34($sp) -.L7F002C48: -/* 037778 7F002C48 8FB00030 */ lw $s0, 0x30($sp) -/* 03777C 7F002C4C 27BD0058 */ addiu $sp, $sp, 0x58 -/* 037780 7F002C50 03E00008 */ jr $ra -/* 037784 7F002C54 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void expand_type_0D_object_autoturret(void) { - -} -#else -GLOBAL_ASM( -.text -glabel expand_type_0D_object_autoturret -/* 037788 7F002C58 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 03778C 7F002C5C AFBF001C */ sw $ra, 0x1c($sp) -/* 037790 7F002C60 AFB00018 */ sw $s0, 0x18($sp) -/* 037794 7F002C64 0FC00767 */ jal prepare_load_objects -/* 037798 7F002C68 00A08025 */ move $s0, $a1 -/* 03779C 7F002C6C 8E0E00A4 */ lw $t6, 0xa4($s0) -/* 0377A0 7F002C70 8E0F00A8 */ lw $t7, 0xa8($s0) -/* 0377A4 7F002C74 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0377A8 7F002C78 448E2000 */ mtc1 $t6, $f4 -/* 0377AC 7F002C7C 44811000 */ mtc1 $at, $f2 -/* 0377B0 7F002C80 3C018005 */ lui $at, %hi(D_8004EF54) -/* 0377B4 7F002C84 468021A0 */ cvt.s.w $f6, $f4 -/* 0377B8 7F002C88 C42CEF54 */ lwc1 $f12, %lo(D_8004EF54)($at) -/* 0377BC 7F002C8C 448F8000 */ mtc1 $t7, $f16 -/* 0377C0 7F002C90 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0377C4 7F002C94 44812000 */ mtc1 $at, $f4 -/* 0377C8 7F002C98 468084A0 */ cvt.s.w $f18, $f16 -/* 0377CC 7F002C9C 460C3202 */ mul.s $f8, $f6, $f12 -/* 0377D0 7F002CA0 8E180088 */ lw $t8, 0x88($s0) -/* 0377D4 7F002CA4 8E19008C */ lw $t9, 0x8c($s0) -/* 0377D8 7F002CA8 44800000 */ mtc1 $zero, $f0 -/* 0377DC 7F002CAC 2403FFFF */ li $v1, -1 -/* 0377E0 7F002CB0 46049182 */ mul.s $f6, $f18, $f4 -/* 0377E4 7F002CB4 AE0000AC */ sw $zero, 0xac($s0) -/* 0377E8 7F002CB8 AE0300B8 */ sw $v1, 0xb8($s0) -/* 0377EC 7F002CBC AE0300BC */ sw $v1, 0xbc($s0) -/* 0377F0 7F002CC0 AE0300C0 */ sw $v1, 0xc0($s0) -/* 0377F4 7F002CC4 AE0000C4 */ sw $zero, 0xc4($s0) -/* 0377F8 7F002CC8 46024283 */ div.s $f10, $f8, $f2 -/* 0377FC 7F002CCC AE0000C8 */ sw $zero, 0xc8($s0) -/* 037800 7F002CD0 24040030 */ li $a0, 48 -/* 037804 7F002CD4 24050004 */ li $a1, 4 -/* 037808 7F002CD8 E6000090 */ swc1 $f0, 0x90($s0) -/* 03780C 7F002CDC E6000094 */ swc1 $f0, 0x94($s0) -/* 037810 7F002CE0 E6000084 */ swc1 $f0, 0x84($s0) -/* 037814 7F002CE4 E600009C */ swc1 $f0, 0x9c($s0) -/* 037818 7F002CE8 E60000A0 */ swc1 $f0, 0xa0($s0) -/* 03781C 7F002CEC E6000098 */ swc1 $f0, 0x98($s0) -/* 037820 7F002CF0 E60000B0 */ swc1 $f0, 0xb0($s0) -/* 037824 7F002CF4 E60000B4 */ swc1 $f0, 0xb4($s0) -/* 037828 7F002CF8 46023203 */ div.s $f8, $f6, $f2 -/* 03782C 7F002CFC E60A00A4 */ swc1 $f10, 0xa4($s0) -/* 037830 7F002D00 44985000 */ mtc1 $t8, $f10 -/* 037834 7F002D04 44993000 */ mtc1 $t9, $f6 -/* 037838 7F002D08 46805420 */ cvt.s.w $f16, $f10 -/* 03783C 7F002D0C 460C8482 */ mul.s $f18, $f16, $f12 -/* 037840 7F002D10 E60800A8 */ swc1 $f8, 0xa8($s0) -/* 037844 7F002D14 46803220 */ cvt.s.w $f8, $f6 -/* 037848 7F002D18 46029103 */ div.s $f4, $f18, $f2 -/* 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 mempAllocBytesInBank -/* 03785C 7F002D2C E610008C */ swc1 $f16, 0x8c($s0) -/* 037860 7F002D30 2403FFFF */ li $v1, -1 -/* 037864 7F002D34 AE0200CC */ sw $v0, 0xcc($s0) -/* 037868 7F002D38 A0430000 */ sb $v1, ($v0) -/* 03786C 7F002D3C 8E040080 */ lw $a0, 0x80($s0) -/* 037870 7F002D40 44800000 */ mtc1 $zero, $f0 -/* 037874 7F002D44 AE0000D0 */ sw $zero, 0xd0($s0) -/* 037878 7F002D48 0480002F */ bltz $a0, .L7F002E08 -/* 03787C 7F002D4C E60000D4 */ swc1 $f0, 0xd4($s0) -/* 037880 7F002D50 28812710 */ slti $at, $a0, 0x2710 -/* 037884 7F002D54 1020000A */ beqz $at, .L7F002D80 -/* 037888 7F002D58 00045100 */ sll $t2, $a0, 4 -/* 03788C 7F002D5C 00044080 */ sll $t0, $a0, 2 -/* 037890 7F002D60 01044023 */ subu $t0, $t0, $a0 -/* 037894 7F002D64 00084080 */ sll $t0, $t0, 2 -/* 037898 7F002D68 3C098007 */ lui $t1, %hi(ptr_0xxxpresets) -/* 03789C 7F002D6C 8D295D18 */ lw $t1, %lo(ptr_0xxxpresets)($t1) -/* 0378A0 7F002D70 01044023 */ subu $t0, $t0, $a0 -/* 0378A4 7F002D74 00084080 */ sll $t0, $t0, 2 -/* 0378A8 7F002D78 10000009 */ b .L7F002DA0 -/* 0378AC 7F002D7C 01091821 */ addu $v1, $t0, $t1 -.L7F002D80: -/* 0378B0 7F002D80 3C0B8007 */ lui $t3, %hi(ptr_2xxxpresets) -/* 0378B4 7F002D84 8D6B5D1C */ lw $t3, %lo(ptr_2xxxpresets)($t3) -/* 0378B8 7F002D88 01445021 */ addu $t2, $t2, $a0 -/* 0378BC 7F002D8C 000A5080 */ sll $t2, $t2, 2 -/* 0378C0 7F002D90 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 0378C4 7F002D94 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 0378C8 7F002D98 014B1821 */ addu $v1, $t2, $t3 -/* 0378CC 7F002D9C 00611821 */ addu $v1, $v1, $at -.L7F002DA0: -/* 0378D0 7F002DA0 8E020010 */ lw $v0, 0x10($s0) -/* 0378D4 7F002DA4 C4660004 */ lwc1 $f6, 4($v1) -/* 0378D8 7F002DA8 C4720000 */ lwc1 $f18, ($v1) -/* 0378DC 7F002DAC C448000C */ lwc1 $f8, 0xc($v0) -/* 0378E0 7F002DB0 C4440008 */ lwc1 $f4, 8($v0) -/* 0378E4 7F002DB4 46083281 */ sub.s $f10, $f6, $f8 -/* 0378E8 7F002DB8 46049301 */ sub.s $f12, $f18, $f4 -/* 0378EC 7F002DBC E7AA0028 */ swc1 $f10, 0x28($sp) -/* 0378F0 7F002DC0 C4700008 */ lwc1 $f16, 8($v1) -/* 0378F4 7F002DC4 C4520010 */ lwc1 $f18, 0x10($v0) -/* 0378F8 7F002DC8 E7AC002C */ swc1 $f12, 0x2c($sp) -/* 0378FC 7F002DCC 46128381 */ sub.s $f14, $f16, $f18 -/* 037900 7F002DD0 0FC16A8C */ jal convert_angle_using_inverse -/* 037904 7F002DD4 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 037908 7F002DD8 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 03790C 7F002DDC C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 037910 7F002DE0 E6000084 */ swc1 $f0, 0x84($s0) -/* 037914 7F002DE4 46021102 */ mul.s $f4, $f2, $f2 -/* 037918 7F002DE8 00000000 */ nop -/* 03791C 7F002DEC 460E7182 */ mul.s $f6, $f14, $f14 -/* 037920 7F002DF0 0C007DF8 */ jal sqrtf -/* 037924 7F002DF4 46062300 */ add.s $f12, $f4, $f6 -/* 037928 7F002DF8 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 03792C 7F002DFC 0FC16A8C */ jal convert_angle_using_inverse -/* 037930 7F002E00 46000386 */ mov.s $f14, $f0 -/* 037934 7F002E04 E6000098 */ swc1 $f0, 0x98($s0) -.L7F002E08: -/* 037938 7F002E08 8FBF001C */ lw $ra, 0x1c($sp) -/* 03793C 7F002E0C 8FB00018 */ lw $s0, 0x18($sp) -/* 037940 7F002E10 27BD0038 */ addiu $sp, $sp, 0x38 -/* 037944 7F002E14 03E00008 */ jr $ra -/* 037948 7F002E18 00000000 */ nop -) -#endif - - -void jmp_prepare_load_objects_0(void) { - prepare_load_objects(); -} - - - -#ifdef NONMATCHING -void sub_GAME_7F002E3C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F002E3C -/* 03796C 7F002E3C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 037970 7F002E40 AFA40038 */ sw $a0, 0x38($sp) -/* 037974 7F002E44 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80075B98) -/* 037978 7F002E48 AFB10018 */ sw $s1, 0x18($sp) -/* 03797C 7F002E4C AFB00014 */ sw $s0, 0x14($sp) -/* 037980 7F002E50 25CE5B98 */ addiu $t6, %lo(dword_CODE_bss_80075B98) # addiu $t6, $t6, 0x5b98 -/* 037984 7F002E54 24A40080 */ addiu $a0, $a1, 0x80 -/* 037988 7F002E58 00A08025 */ move $s0, $a1 -/* 03798C 7F002E5C 00C08825 */ move $s1, $a2 -/* 037990 7F002E60 AFBF001C */ sw $ra, 0x1c($sp) -/* 037994 7F002E64 00804025 */ move $t0, $a0 -/* 037998 7F002E68 25D9006C */ addiu $t9, $t6, 0x6c -.L7F002E6C: -/* 03799C 7F002E6C 8DC10000 */ lw $at, ($t6) -/* 0379A0 7F002E70 25CE000C */ addiu $t6, $t6, 0xc -/* 0379A4 7F002E74 2508000C */ addiu $t0, $t0, 0xc -/* 0379A8 7F002E78 AD01FFF4 */ sw $at, -0xc($t0) -/* 0379AC 7F002E7C 8DC1FFF8 */ lw $at, -8($t6) -/* 0379B0 7F002E80 AD01FFF8 */ sw $at, -8($t0) -/* 0379B4 7F002E84 8DC1FFFC */ lw $at, -4($t6) -/* 0379B8 7F002E88 15D9FFF8 */ bne $t6, $t9, .L7F002E6C -/* 0379BC 7F002E8C AD01FFFC */ sw $at, -4($t0) -/* 0379C0 7F002E90 8DC10000 */ lw $at, ($t6) -/* 0379C4 7F002E94 AD010000 */ sw $at, ($t0) -/* 0379C8 7F002E98 8DD90004 */ lw $t9, 4($t6) -/* 0379CC 7F002E9C AD190004 */ sw $t9, 4($t0) -/* 0379D0 7F002EA0 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 0379D4 7F002EA4 8E0500FC */ lw $a1, 0xfc($s0) -/* 0379D8 7F002EA8 86090006 */ lh $t1, 6($s0) -/* 0379DC 7F002EAC 8FA40038 */ lw $a0, 0x38($sp) -/* 0379E0 7F002EB0 02002825 */ move $a1, $s0 -/* 0379E4 7F002EB4 05210075 */ bgez $t1, .L7F00308C -/* 0379E8 7F002EB8 00000000 */ nop -/* 0379EC 7F002EBC 8E0A0008 */ lw $t2, 8($s0) -/* 0379F0 7F002EC0 314B8000 */ andi $t3, $t2, 0x8000 -/* 0379F4 7F002EC4 15600071 */ bnez $t3, .L7F00308C -/* 0379F8 7F002EC8 00000000 */ nop -/* 0379FC 7F002ECC 860C0004 */ lh $t4, 4($s0) -/* 037A00 7F002ED0 AFAC002C */ sw $t4, 0x2c($sp) -/* 037A04 7F002ED4 8E0D00F4 */ lw $t5, 0xf4($s0) -/* 037A08 7F002ED8 0FC15AA2 */ jal sub_GAME_7F056A88 -/* 037A0C 7F002EDC 01B12021 */ addu $a0, $t5, $s1 -/* 037A10 7F002EE0 00408825 */ move $s1, $v0 -/* 037A14 7F002EE4 0FC15B0E */ jal load_model -/* 037A18 7F002EE8 8FA4002C */ lw $a0, 0x2c($sp) -/* 037A1C 7F002EEC 96180000 */ lhu $t8, ($s0) -/* 037A20 7F002EF0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 037A24 7F002EF4 44982000 */ mtc1 $t8, $f4 -/* 037A28 7F002EF8 07010004 */ bgez $t8, .L7F002F0C -/* 037A2C 7F002EFC 468021A0 */ cvt.s.w $f6, $f4 -/* 037A30 7F002F00 44814000 */ mtc1 $at, $f8 -/* 037A34 7F002F04 00000000 */ nop -/* 037A38 7F002F08 46083180 */ add.s $f6, $f6, $f8 -.L7F002F0C: -/* 037A3C 7F002F0C 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 037A40 7F002F10 44815000 */ mtc1 $at, $f10 -/* 037A44 7F002F14 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 037A48 7F002F18 44814000 */ mtc1 $at, $f8 -/* 037A4C 7F002F1C 460A3402 */ mul.s $f16, $f6, $f10 -/* 037A50 7F002F20 E7B00020 */ swc1 $f16, 0x20($sp) -/* 037A54 7F002F24 8E0F0074 */ lw $t7, 0x74($s0) -/* 037A58 7F002F28 448F9000 */ mtc1 $t7, $f18 -/* 037A5C 7F002F2C 00000000 */ nop -/* 037A60 7F002F30 46809120 */ cvt.s.w $f4, $f18 -/* 037A64 7F002F34 46082183 */ div.s $f6, $f4, $f8 -/* 037A68 7F002F38 0FC26919 */ jal get_num_players -/* 037A6C 7F002F3C E6060074 */ swc1 $f6, 0x74($s0) -/* 037A70 7F002F40 28410002 */ slti $at, $v0, 2 -/* 037A74 7F002F44 14200004 */ bnez $at, .L7F002F58 -/* 037A78 7F002F48 00000000 */ nop -/* 037A7C 7F002F4C 92190002 */ lbu $t9, 2($s0) -/* 037A80 7F002F50 372E0004 */ ori $t6, $t9, 4 -/* 037A84 7F002F54 A20E0002 */ sb $t6, 2($s0) -.L7F002F58: -/* 037A88 7F002F58 0FC101C7 */ jal sub_GAME_7F04071C -/* 037A8C 7F002F5C 02002025 */ move $a0, $s0 -/* 037A90 7F002F60 0FC0FFA6 */ jal sub_GAME_7F03FE98 -/* 037A94 7F002F64 AFA20024 */ sw $v0, 0x24($sp) -/* 037A98 7F002F68 AE02006C */ sw $v0, 0x6c($s0) -/* 037A9C 7F002F6C 8FA80024 */ lw $t0, 0x24($sp) -/* 037AA0 7F002F70 51000049 */ beql $t0, $zero, .L7F003098 -/* 037AA4 7F002F74 8E190008 */ lw $t9, 8($s0) -/* 037AA8 7F002F78 50400047 */ beql $v0, $zero, .L7F003098 -/* 037AAC 7F002F7C 8E190008 */ lw $t9, 8($s0) -/* 037AB0 7F002F80 8E0A0064 */ lw $t2, 0x64($s0) -/* 037AB4 7F002F84 8E040014 */ lw $a0, 0x14($s0) -/* 037AB8 7F002F88 354B0040 */ ori $t3, $t2, 0x40 -/* 037ABC 7F002F8C AE0B0064 */ sw $t3, 0x64($s0) -/* 037AC0 7F002F90 C7B00020 */ lwc1 $f16, 0x20($sp) -/* 037AC4 7F002F94 C48A0014 */ lwc1 $f10, 0x14($a0) -/* 037AC8 7F002F98 46105482 */ mul.s $f18, $f10, $f16 -/* 037ACC 7F002F9C 44059000 */ mfc1 $a1, $f18 -/* 037AD0 7F002FA0 0FC1B39E */ jal set_obj_instance_controller_scale -/* 037AD4 7F002FA4 00000000 */ nop -/* 037AD8 7F002FA8 8E2C0014 */ lw $t4, 0x14($s1) -/* 037ADC 7F002FAC 8E0D0014 */ lw $t5, 0x14($s0) -/* 037AE0 7F002FB0 24010001 */ li $at, 1 -/* 037AE4 7F002FB4 ADAC0018 */ sw $t4, 0x18($t5) -/* 037AE8 7F002FB8 8E0200F8 */ lw $v0, 0xf8($s0) -/* 037AEC 7F002FBC 14400008 */ bnez $v0, .L7F002FE0 -/* 037AF0 7F002FC0 00000000 */ nop -/* 037AF4 7F002FC4 8E380014 */ lw $t8, 0x14($s1) -/* 037AF8 7F002FC8 8E080014 */ lw $t0, 0x14($s0) -/* 037AFC 7F002FCC 8F0F0008 */ lw $t7, 8($t8) -/* 037B00 7F002FD0 8DF90008 */ lw $t9, 8($t7) -/* 037B04 7F002FD4 8F2E0000 */ lw $t6, ($t9) -/* 037B08 7F002FD8 1000001A */ b .L7F003044 -/* 037B0C 7F002FDC AD0E001C */ sw $t6, 0x1c($t0) -.L7F002FE0: -/* 037B10 7F002FE0 54410009 */ bnel $v0, $at, .L7F003008 -/* 037B14 7F002FE4 24010002 */ li $at, 2 -/* 037B18 7F002FE8 8E290014 */ lw $t1, 0x14($s1) -/* 037B1C 7F002FEC 8E0D0014 */ lw $t5, 0x14($s0) -/* 037B20 7F002FF0 8D2A0008 */ lw $t2, 8($t1) -/* 037B24 7F002FF4 8D4B0008 */ lw $t3, 8($t2) -/* 037B28 7F002FF8 8D6C0004 */ lw $t4, 4($t3) -/* 037B2C 7F002FFC 10000011 */ b .L7F003044 -/* 037B30 7F003000 ADAC001C */ sw $t4, 0x1c($t5) -/* 037B34 7F003004 24010002 */ li $at, 2 -.L7F003008: -/* 037B38 7F003008 54410009 */ bnel $v0, $at, .L7F003030 -/* 037B3C 7F00300C 8E290014 */ lw $t1, 0x14($s1) -/* 037B40 7F003010 8E380014 */ lw $t8, 0x14($s1) -/* 037B44 7F003014 8E080014 */ lw $t0, 0x14($s0) -/* 037B48 7F003018 8F0F0008 */ lw $t7, 8($t8) -/* 037B4C 7F00301C 8DF90008 */ lw $t9, 8($t7) -/* 037B50 7F003020 8F2E0008 */ lw $t6, 8($t9) -/* 037B54 7F003024 10000007 */ b .L7F003044 -/* 037B58 7F003028 AD0E001C */ sw $t6, 0x1c($t0) -/* 037B5C 7F00302C 8E290014 */ lw $t1, 0x14($s1) -.L7F003030: -/* 037B60 7F003030 8E0D0014 */ lw $t5, 0x14($s0) -/* 037B64 7F003034 8D2A0008 */ lw $t2, 8($t1) -/* 037B68 7F003038 8D4B0008 */ lw $t3, 8($t2) -/* 037B6C 7F00303C 8D6C000C */ lw $t4, 0xc($t3) -/* 037B70 7F003040 ADAC001C */ sw $t4, 0x1c($t5) -.L7F003044: -/* 037B74 7F003044 8FA40024 */ lw $a0, 0x24($sp) -/* 037B78 7F003048 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 037B7C 7F00304C 8E250010 */ lw $a1, 0x10($s1) -/* 037B80 7F003050 8E05006C */ lw $a1, 0x6c($s0) -/* 037B84 7F003054 3C018005 */ lui $at, %hi(D_8004EF58) -/* 037B88 7F003058 C42CEF58 */ lwc1 $f12, %lo(D_8004EF58)($at) -/* 037B8C 7F00305C 0FC1615C */ jal sub_GAME_7F058570 -/* 037B90 7F003060 24A50004 */ addiu $a1, $a1, 4 -/* 037B94 7F003064 8E180014 */ lw $t8, 0x14($s0) -/* 037B98 7F003068 8E2F0014 */ lw $t7, 0x14($s1) -/* 037B9C 7F00306C 8E05006C */ lw $a1, 0x6c($s0) -/* 037BA0 7F003070 C7040014 */ lwc1 $f4, 0x14($t8) -/* 037BA4 7F003074 C5E80014 */ lwc1 $f8, 0x14($t7) -/* 037BA8 7F003078 24A50004 */ addiu $a1, $a1, 4 -/* 037BAC 7F00307C 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 037BB0 7F003080 46082303 */ div.s $f12, $f4, $f8 -/* 037BB4 7F003084 10000004 */ b .L7F003098 -/* 037BB8 7F003088 8E190008 */ lw $t9, 8($s0) -.L7F00308C: -/* 037BBC 7F00308C 0FC00767 */ jal prepare_load_objects -/* 037BC0 7F003090 02203025 */ move $a2, $s1 -/* 037BC4 7F003094 8E190008 */ lw $t9, 8($s0) -.L7F003098: -/* 037BC8 7F003098 00197040 */ sll $t6, $t9, 1 -/* 037BCC 7F00309C 05C30008 */ bgezl $t6, .L7F0030C0 -/* 037BD0 7F0030A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 037BD4 7F0030A4 8E020010 */ lw $v0, 0x10($s0) -/* 037BD8 7F0030A8 50400005 */ beql $v0, $zero, .L7F0030C0 -/* 037BDC 7F0030AC 8FBF001C */ lw $ra, 0x1c($sp) -/* 037BE0 7F0030B0 90480001 */ lbu $t0, 1($v0) -/* 037BE4 7F0030B4 35090001 */ ori $t1, $t0, 1 -/* 037BE8 7F0030B8 A0490001 */ sb $t1, 1($v0) -/* 037BEC 7F0030BC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0030C0: -/* 037BF0 7F0030C0 8FB00014 */ lw $s0, 0x14($sp) -/* 037BF4 7F0030C4 8FB10018 */ lw $s1, 0x18($sp) -/* 037BF8 7F0030C8 03E00008 */ jr $ra -/* 037BFC 7F0030CC 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F0030D0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0030D0 -/* 037C00 7F0030D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 037C04 7F0030D4 AFA40020 */ sw $a0, 0x20($sp) -/* 037C08 7F0030D8 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80075B98) -/* 037C0C 7F0030DC AFB00018 */ sw $s0, 0x18($sp) -/* 037C10 7F0030E0 25CE5B98 */ addiu $t6, %lo(dword_CODE_bss_80075B98) # addiu $t6, $t6, 0x5b98 -/* 037C14 7F0030E4 24A40080 */ addiu $a0, $a1, 0x80 -/* 037C18 7F0030E8 00A08025 */ move $s0, $a1 -/* 037C1C 7F0030EC AFBF001C */ sw $ra, 0x1c($sp) -/* 037C20 7F0030F0 AFA60028 */ sw $a2, 0x28($sp) -/* 037C24 7F0030F4 00804025 */ move $t0, $a0 -/* 037C28 7F0030F8 25D9006C */ addiu $t9, $t6, 0x6c -.L7F0030FC: -/* 037C2C 7F0030FC 8DC10000 */ lw $at, ($t6) -/* 037C30 7F003100 25CE000C */ addiu $t6, $t6, 0xc -/* 037C34 7F003104 2508000C */ addiu $t0, $t0, 0xc -/* 037C38 7F003108 AD01FFF4 */ sw $at, -0xc($t0) -/* 037C3C 7F00310C 8DC1FFF8 */ lw $at, -8($t6) -/* 037C40 7F003110 AD01FFF8 */ sw $at, -8($t0) -/* 037C44 7F003114 8DC1FFFC */ lw $at, -4($t6) -/* 037C48 7F003118 15D9FFF8 */ bne $t6, $t9, .L7F0030FC -/* 037C4C 7F00311C AD01FFFC */ sw $at, -4($t0) -/* 037C50 7F003120 8DC10000 */ lw $at, ($t6) -/* 037C54 7F003124 AD010000 */ sw $at, ($t0) -/* 037C58 7F003128 8DD90004 */ lw $t9, 4($t6) -/* 037C5C 7F00312C AD190004 */ sw $t9, 4($t0) -/* 037C60 7F003130 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 037C64 7F003134 92050250 */ lbu $a1, 0x250($s0) -/* 037C68 7F003138 3C098007 */ lui $t1, %hi(dword_CODE_bss_80075B98) -/* 037C6C 7F00313C 25295B98 */ addiu $t1, %lo(dword_CODE_bss_80075B98) # addiu $t1, $t1, 0x5b98 -/* 037C70 7F003140 260400F4 */ addiu $a0, $s0, 0xf4 -/* 037C74 7F003144 00806825 */ move $t5, $a0 -/* 037C78 7F003148 252C006C */ addiu $t4, $t1, 0x6c -.L7F00314C: -/* 037C7C 7F00314C 8D210000 */ lw $at, ($t1) -/* 037C80 7F003150 2529000C */ addiu $t1, $t1, 0xc -/* 037C84 7F003154 25AD000C */ addiu $t5, $t5, 0xc -/* 037C88 7F003158 ADA1FFF4 */ sw $at, -0xc($t5) -/* 037C8C 7F00315C 8D21FFF8 */ lw $at, -8($t1) -/* 037C90 7F003160 ADA1FFF8 */ sw $at, -8($t5) -/* 037C94 7F003164 8D21FFFC */ lw $at, -4($t1) -/* 037C98 7F003168 152CFFF8 */ bne $t1, $t4, .L7F00314C -/* 037C9C 7F00316C ADA1FFFC */ sw $at, -4($t5) -/* 037CA0 7F003170 8D210000 */ lw $at, ($t1) -/* 037CA4 7F003174 ADA10000 */ sw $at, ($t5) -/* 037CA8 7F003178 8D2C0004 */ lw $t4, 4($t1) -/* 037CAC 7F00317C ADAC0004 */ sw $t4, 4($t5) -/* 037CB0 7F003180 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 037CB4 7F003184 92050251 */ lbu $a1, 0x251($s0) -/* 037CB8 7F003188 3C188007 */ lui $t8, %hi(dword_CODE_bss_80075B98) -/* 037CBC 7F00318C 27185B98 */ addiu $t8, %lo(dword_CODE_bss_80075B98) # addiu $t8, $t8, 0x5b98 -/* 037CC0 7F003190 26040168 */ addiu $a0, $s0, 0x168 -/* 037CC4 7F003194 00804025 */ move $t0, $a0 -/* 037CC8 7F003198 270E006C */ addiu $t6, $t8, 0x6c -.L7F00319C: -/* 037CCC 7F00319C 8F010000 */ lw $at, ($t8) -/* 037CD0 7F0031A0 2718000C */ addiu $t8, $t8, 0xc -/* 037CD4 7F0031A4 2508000C */ addiu $t0, $t0, 0xc -/* 037CD8 7F0031A8 AD01FFF4 */ sw $at, -0xc($t0) -/* 037CDC 7F0031AC 8F01FFF8 */ lw $at, -8($t8) -/* 037CE0 7F0031B0 AD01FFF8 */ sw $at, -8($t0) -/* 037CE4 7F0031B4 8F01FFFC */ lw $at, -4($t8) -/* 037CE8 7F0031B8 170EFFF8 */ bne $t8, $t6, .L7F00319C -/* 037CEC 7F0031BC AD01FFFC */ sw $at, -4($t0) -/* 037CF0 7F0031C0 8F010000 */ lw $at, ($t8) -/* 037CF4 7F0031C4 AD010000 */ sw $at, ($t0) -/* 037CF8 7F0031C8 8F0E0004 */ lw $t6, 4($t8) -/* 037CFC 7F0031CC AD0E0004 */ sw $t6, 4($t0) -/* 037D00 7F0031D0 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 037D04 7F0031D4 92050252 */ lbu $a1, 0x252($s0) -/* 037D08 7F0031D8 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80075B98) -/* 037D0C 7F0031DC 256B5B98 */ addiu $t3, %lo(dword_CODE_bss_80075B98) # addiu $t3, $t3, 0x5b98 -/* 037D10 7F0031E0 260401DC */ addiu $a0, $s0, 0x1dc -/* 037D14 7F0031E4 00806825 */ move $t5, $a0 -/* 037D18 7F0031E8 2569006C */ addiu $t1, $t3, 0x6c -.L7F0031EC: -/* 037D1C 7F0031EC 8D610000 */ lw $at, ($t3) -/* 037D20 7F0031F0 256B000C */ addiu $t3, $t3, 0xc -/* 037D24 7F0031F4 25AD000C */ addiu $t5, $t5, 0xc -/* 037D28 7F0031F8 ADA1FFF4 */ sw $at, -0xc($t5) -/* 037D2C 7F0031FC 8D61FFF8 */ lw $at, -8($t3) -/* 037D30 7F003200 ADA1FFF8 */ sw $at, -8($t5) -/* 037D34 7F003204 8D61FFFC */ lw $at, -4($t3) -/* 037D38 7F003208 1569FFF8 */ bne $t3, $t1, .L7F0031EC -/* 037D3C 7F00320C ADA1FFFC */ sw $at, -4($t5) -/* 037D40 7F003210 8D610000 */ lw $at, ($t3) -/* 037D44 7F003214 ADA10000 */ sw $at, ($t5) -/* 037D48 7F003218 8D690004 */ lw $t1, 4($t3) -/* 037D4C 7F00321C ADA90004 */ sw $t1, 4($t5) -/* 037D50 7F003220 0FC12726 */ jal set_ptr_monitor_img_to_obj_ani_slot -/* 037D54 7F003224 92050253 */ lbu $a1, 0x253($s0) -/* 037D58 7F003228 8FA40020 */ lw $a0, 0x20($sp) -/* 037D5C 7F00322C 02002825 */ move $a1, $s0 -/* 037D60 7F003230 0FC00767 */ jal prepare_load_objects -/* 037D64 7F003234 8FA60028 */ lw $a2, 0x28($sp) -/* 037D68 7F003238 8FBF001C */ lw $ra, 0x1c($sp) -/* 037D6C 7F00323C 8FB00018 */ lw $s0, 0x18($sp) -/* 037D70 7F003240 27BD0020 */ addiu $sp, $sp, 0x20 -/* 037D74 7F003244 03E00008 */ jr $ra -/* 037D78 7F003248 00000000 */ nop -) -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F00324C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F00324C -/* 037D7C 7F00324C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 037D80 7F003250 AFBF0024 */ sw $ra, 0x24($sp) -/* 037D84 7F003254 AFB10020 */ sw $s1, 0x20($sp) -/* 037D88 7F003258 AFB0001C */ sw $s0, 0x1c($sp) -/* 037D8C 7F00325C AFA50054 */ sw $a1, 0x54($sp) -/* 037D90 7F003260 00808025 */ move $s0, $a0 -/* 037D94 7F003264 00E08825 */ move $s1, $a3 -/* 037D98 7F003268 AFA60058 */ sw $a2, 0x58($sp) -/* 037D9C 7F00326C 0FC006F5 */ jal sub_GAME_7F001BD4 -/* 037DA0 7F003270 27A50030 */ addiu $a1, $sp, 0x30 -/* 037DA4 7F003274 8E0E0028 */ lw $t6, 0x28($s0) -/* 037DA8 7F003278 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 037DAC 7F00327C 27A4002C */ addiu $a0, $sp, 0x2c -/* 037DB0 7F003280 AFAE002C */ sw $t6, 0x2c($sp) -/* 037DB4 7F003284 8E060008 */ lw $a2, 8($s0) -/* 037DB8 7F003288 8E050000 */ lw $a1, ($s0) -/* 037DBC 7F00328C 8FA70030 */ lw $a3, 0x30($sp) -/* 037DC0 7F003290 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 037DC4 7F003294 E7A40010 */ swc1 $f4, 0x10($sp) -/* 037DC8 7F003298 5440000A */ bnezl $v0, .L7F0032C4 -/* 037DCC 7F00329C C6100010 */ lwc1 $f16, 0x10($s0) -/* 037DD0 7F0032A0 8E0F0028 */ lw $t7, 0x28($s0) -/* 037DD4 7F0032A4 AFAF002C */ sw $t7, 0x2c($sp) -/* 037DD8 7F0032A8 C6060000 */ lwc1 $f6, ($s0) -/* 037DDC 7F0032AC E7A60030 */ swc1 $f6, 0x30($sp) -/* 037DE0 7F0032B0 C6080004 */ lwc1 $f8, 4($s0) -/* 037DE4 7F0032B4 E7A80034 */ swc1 $f8, 0x34($sp) -/* 037DE8 7F0032B8 C60A0008 */ lwc1 $f10, 8($s0) -/* 037DEC 7F0032BC E7AA0038 */ swc1 $f10, 0x38($sp) -/* 037DF0 7F0032C0 C6100010 */ lwc1 $f16, 0x10($s0) -.L7F0032C4: -/* 037DF4 7F0032C4 C6120020 */ lwc1 $f18, 0x20($s0) -/* 037DF8 7F0032C8 C606001C */ lwc1 $f6, 0x1c($s0) -/* 037DFC 7F0032CC C6080014 */ lwc1 $f8, 0x14($s0) -/* 037E00 7F0032D0 46128102 */ mul.s $f4, $f16, $f18 -/* 037E04 7F0032D4 00000000 */ nop -/* 037E08 7F0032D8 46083282 */ mul.s $f10, $f6, $f8 -/* 037E0C 7F0032DC 460A2401 */ sub.s $f16, $f4, $f10 -/* 037E10 7F0032E0 E7B00040 */ swc1 $f16, 0x40($sp) -/* 037E14 7F0032E4 C6060018 */ lwc1 $f6, 0x18($s0) -/* 037E18 7F0032E8 C6120014 */ lwc1 $f18, 0x14($s0) -/* 037E1C 7F0032EC C60A000C */ lwc1 $f10, 0xc($s0) -/* 037E20 7F0032F0 C6040020 */ lwc1 $f4, 0x20($s0) -/* 037E24 7F0032F4 46069202 */ mul.s $f8, $f18, $f6 -/* 037E28 7F0032F8 00000000 */ nop -/* 037E2C 7F0032FC 460A2482 */ mul.s $f18, $f4, $f10 -/* 037E30 7F003300 46124181 */ sub.s $f6, $f8, $f18 -/* 037E34 7F003304 E7A60044 */ swc1 $f6, 0x44($sp) -/* 037E38 7F003308 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 037E3C 7F00330C C604000C */ lwc1 $f4, 0xc($s0) -/* 037E40 7F003310 C6120018 */ lwc1 $f18, 0x18($s0) -/* 037E44 7F003314 460A2202 */ mul.s $f8, $f4, $f10 -/* 037E48 7F003318 C6040010 */ lwc1 $f4, 0x10($s0) -/* 037E4C 7F00331C 46049282 */ mul.s $f10, $f18, $f4 -/* 037E50 7F003320 460A4481 */ sub.s $f18, $f8, $f10 -/* 037E54 7F003324 46108102 */ mul.s $f4, $f16, $f16 -/* 037E58 7F003328 00000000 */ nop -/* 037E5C 7F00332C 46063202 */ mul.s $f8, $f6, $f6 -/* 037E60 7F003330 E7B20048 */ swc1 $f18, 0x48($sp) -/* 037E64 7F003334 46129402 */ mul.s $f16, $f18, $f18 -/* 037E68 7F003338 46082280 */ add.s $f10, $f4, $f8 -/* 037E6C 7F00333C 0C007DF8 */ jal sqrtf -/* 037E70 7F003340 460A8300 */ add.s $f12, $f16, $f10 -/* 037E74 7F003344 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 037E78 7F003348 44816000 */ mtc1 $at, $f12 -/* 037E7C 7F00334C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 037E80 7F003350 44813000 */ mtc1 $at, $f6 -/* 037E84 7F003354 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 037E88 7F003358 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 037E8C 7F00335C 46003083 */ div.s $f2, $f6, $f0 -/* 037E90 7F003360 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 037E94 7F003364 8FB8002C */ lw $t8, 0x2c($sp) -/* 037E98 7F003368 27B0004C */ addiu $s0, $sp, 0x4c -/* 037E9C 7F00336C 02002025 */ move $a0, $s0 -/* 037EA0 7F003370 AFB8004C */ sw $t8, 0x4c($sp) -/* 037EA4 7F003374 46022202 */ mul.s $f8, $f4, $f2 -/* 037EA8 7F003378 00000000 */ nop -/* 037EAC 7F00337C 46029402 */ mul.s $f16, $f18, $f2 -/* 037EB0 7F003380 C7B20030 */ lwc1 $f18, 0x30($sp) -/* 037EB4 7F003384 46025182 */ mul.s $f6, $f10, $f2 -/* 037EB8 7F003388 E7A80040 */ swc1 $f8, 0x40($sp) -/* 037EBC 7F00338C 460C4102 */ mul.s $f4, $f8, $f12 -/* 037EC0 7F003390 E7B00044 */ swc1 $f16, 0x44($sp) -/* 037EC4 7F003394 E7A60048 */ swc1 $f6, 0x48($sp) -/* 037EC8 7F003398 46122400 */ add.s $f16, $f4, $f18 -/* 037ECC 7F00339C E6300000 */ swc1 $f16, ($s1) -/* 037ED0 7F0033A0 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 037ED4 7F0033A4 8E270000 */ lw $a3, ($s1) -/* 037ED8 7F0033A8 E62A0004 */ swc1 $f10, 4($s1) -/* 037EDC 7F0033AC C7A60048 */ lwc1 $f6, 0x48($sp) -/* 037EE0 7F0033B0 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 037EE4 7F0033B4 460C3202 */ mul.s $f8, $f6, $f12 -/* 037EE8 7F0033B8 46044480 */ add.s $f18, $f8, $f4 -/* 037EEC 7F0033BC E6320008 */ swc1 $f18, 8($s1) -/* 037EF0 7F0033C0 C6300008 */ lwc1 $f16, 8($s1) -/* 037EF4 7F0033C4 8FA60038 */ lw $a2, 0x38($sp) -/* 037EF8 7F0033C8 8FA50030 */ lw $a1, 0x30($sp) -/* 037EFC 7F0033CC 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 037F00 7F0033D0 E7B00010 */ swc1 $f16, 0x10($sp) -/* 037F04 7F0033D4 8FB9004C */ lw $t9, 0x4c($sp) -/* 037F08 7F0033D8 8FA90054 */ lw $t1, 0x54($sp) -/* 037F0C 7F0033DC 8FA20060 */ lw $v0, 0x60($sp) -/* 037F10 7F0033E0 93280003 */ lbu $t0, 3($t9) -/* 037F14 7F0033E4 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 037F18 7F0033E8 44816000 */ mtc1 $at, $f12 -/* 037F1C 7F0033EC AD280000 */ sw $t0, ($t1) -/* 037F20 7F0033F0 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 037F24 7F0033F4 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 037F28 7F0033F8 8FAA002C */ lw $t2, 0x2c($sp) -/* 037F2C 7F0033FC 460C3202 */ mul.s $f8, $f6, $f12 -/* 037F30 7F003400 02002025 */ move $a0, $s0 -/* 037F34 7F003404 AFAA004C */ sw $t2, 0x4c($sp) -/* 037F38 7F003408 46085101 */ sub.s $f4, $f10, $f8 -/* 037F3C 7F00340C E4440000 */ swc1 $f4, ($v0) -/* 037F40 7F003410 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 037F44 7F003414 8C470000 */ lw $a3, ($v0) -/* 037F48 7F003418 E4520004 */ swc1 $f18, 4($v0) -/* 037F4C 7F00341C C7A60048 */ lwc1 $f6, 0x48($sp) -/* 037F50 7F003420 C7B00038 */ lwc1 $f16, 0x38($sp) -/* 037F54 7F003424 460C3282 */ mul.s $f10, $f6, $f12 -/* 037F58 7F003428 460A8201 */ sub.s $f8, $f16, $f10 -/* 037F5C 7F00342C E4480008 */ swc1 $f8, 8($v0) -/* 037F60 7F003430 C4440008 */ lwc1 $f4, 8($v0) -/* 037F64 7F003434 8FA60038 */ lw $a2, 0x38($sp) -/* 037F68 7F003438 8FA50030 */ lw $a1, 0x30($sp) -/* 037F6C 7F00343C 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 037F70 7F003440 E7A40010 */ swc1 $f4, 0x10($sp) -/* 037F74 7F003444 8FAB004C */ lw $t3, 0x4c($sp) -/* 037F78 7F003448 8FA20058 */ lw $v0, 0x58($sp) -/* 037F7C 7F00344C 2418FFFF */ li $t8, -1 -/* 037F80 7F003450 916C0003 */ lbu $t4, 3($t3) -/* 037F84 7F003454 AC4C0000 */ sw $t4, ($v0) -/* 037F88 7F003458 8FAE0054 */ lw $t6, 0x54($sp) -/* 037F8C 7F00345C 8DCF0000 */ lw $t7, ($t6) -/* 037F90 7F003460 558F0003 */ bnel $t4, $t7, .L7F003470 -/* 037F94 7F003464 8FBF0024 */ lw $ra, 0x24($sp) -/* 037F98 7F003468 AC580000 */ sw $t8, ($v0) -/* 037F9C 7F00346C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F003470: -/* 037FA0 7F003470 8FB0001C */ lw $s0, 0x1c($sp) -/* 037FA4 7F003474 8FB10020 */ lw $s1, 0x20($sp) -/* 037FA8 7F003478 03E00008 */ jr $ra -/* 037FAC 7F00347C 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F003480(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F003480 -/* 037FB0 7F003480 27BDFE28 */ addiu $sp, $sp, -0x1d8 -/* 037FB4 7F003484 AFBF0034 */ sw $ra, 0x34($sp) -/* 037FB8 7F003488 AFB10030 */ sw $s1, 0x30($sp) -/* 037FBC 7F00348C AFB0002C */ sw $s0, 0x2c($sp) -/* 037FC0 7F003490 AFA401D8 */ sw $a0, 0x1d8($sp) -/* 037FC4 7F003494 AFA601E0 */ sw $a2, 0x1e0($sp) -/* 037FC8 7F003498 84A40004 */ lh $a0, 4($a1) -/* 037FCC 7F00349C 240DFFFF */ li $t5, -1 -/* 037FD0 7F0034A0 240EFFFF */ li $t6, -1 -/* 037FD4 7F0034A4 2418FFFF */ li $t8, -1 -/* 037FD8 7F0034A8 00A08825 */ move $s1, $a1 -/* 037FDC 7F0034AC AFAD01B4 */ sw $t5, 0x1b4($sp) -/* 037FE0 7F0034B0 AFAE01B0 */ sw $t6, 0x1b0($sp) -/* 037FE4 7F0034B4 AFB801AC */ sw $t8, 0x1ac($sp) -/* 037FE8 7F0034B8 0FC15B0E */ jal load_model -/* 037FEC 7F0034BC AFA401D0 */ sw $a0, 0x1d0($sp) -/* 037FF0 7F0034C0 86390006 */ lh $t9, 6($s1) -/* 037FF4 7F0034C4 8E230008 */ lw $v1, 8($s1) -/* 037FF8 7F0034C8 3C088007 */ lui $t0, %hi(ptr_2xxxpresets) -/* 037FFC 7F0034CC 00197900 */ sll $t7, $t9, 4 -/* 038000 7F0034D0 8D085D1C */ lw $t0, %lo(ptr_2xxxpresets)($t0) -/* 038004 7F0034D4 01F97821 */ addu $t7, $t7, $t9 -/* 038008 7F0034D8 000F7880 */ sll $t7, $t7, 2 -/* 03800C 7F0034DC 000348C0 */ sll $t1, $v1, 3 -/* 038010 7F0034E0 05200003 */ bltz $t1, .L7F0034F0 -/* 038014 7F0034E4 01E88021 */ addu $s0, $t7, $t0 -/* 038018 7F0034E8 00035040 */ sll $t2, $v1, 1 -/* 03801C 7F0034EC 05410013 */ bgez $t2, .L7F00353C -.L7F0034F0: -/* 038020 7F0034F0 27AB0194 */ addiu $t3, $sp, 0x194 -/* 038024 7F0034F4 AFAB0010 */ sw $t3, 0x10($sp) -/* 038028 7F0034F8 02002025 */ move $a0, $s0 -/* 03802C 7F0034FC 27A501B0 */ addiu $a1, $sp, 0x1b0 -/* 038030 7F003500 27A601AC */ addiu $a2, $sp, 0x1ac -/* 038034 7F003504 0FC00C93 */ jal sub_GAME_7F00324C -/* 038038 7F003508 27A701A0 */ addiu $a3, $sp, 0x1a0 -/* 03803C 7F00350C 8E2C0008 */ lw $t4, 8($s1) -/* 038040 7F003510 8FA401B0 */ lw $a0, 0x1b0($sp) -/* 038044 7F003514 000C68C0 */ sll $t5, $t4, 3 -/* 038048 7F003518 05A10008 */ bgez $t5, .L7F00353C -/* 03804C 7F00351C 00000000 */ nop -/* 038050 7F003520 04800006 */ bltz $a0, .L7F00353C -/* 038054 7F003524 8FA501AC */ lw $a1, 0x1ac($sp) -/* 038058 7F003528 04A00004 */ bltz $a1, .L7F00353C -/* 03805C 7F00352C 27A601A0 */ addiu $a2, $sp, 0x1a0 -/* 038060 7F003530 0FC2E732 */ jal sub_GAME_7F0B9CC8 -/* 038064 7F003534 27A70194 */ addiu $a3, $sp, 0x194 -/* 038068 7F003538 AFA201B4 */ sw $v0, 0x1b4($sp) -.L7F00353C: -/* 03806C 7F00353C 3C038003 */ lui $v1, %hi(scale_1_0_item_related) -/* 038070 7F003540 2463A3C0 */ addiu $v1, %lo(scale_1_0_item_related) # addiu $v1, $v1, -0x5c40 -/* 038074 7F003544 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 038078 7F003548 44814000 */ mtc1 $at, $f8 -/* 03807C 7F00354C C46C0000 */ lwc1 $f12, ($v1) -/* 038080 7F003550 8FAE01B4 */ lw $t6, 0x1b4($sp) -/* 038084 7F003554 460C4032 */ c.eq.s $f8, $f12 -/* 038088 7F003558 00000000 */ nop -/* 03808C 7F00355C 45030067 */ bc1tl .L7F0036FC -/* 038090 7F003560 8E050028 */ lw $a1, 0x28($s0) -/* 038094 7F003564 05C0005D */ bltz $t6, .L7F0036DC -/* 038098 7F003568 01C02025 */ move $a0, $t6 -/* 03809C 7F00356C 0FC2E5B3 */ jal sub_GAME_7F0B96CC -/* 0380A0 7F003570 27A50180 */ addiu $a1, $sp, 0x180 -/* 0380A4 7F003574 0FC2D20C */ jal get_room_data_float2 -/* 0380A8 7F003578 00000000 */ nop -/* 0380AC 7F00357C C7AA018C */ lwc1 $f10, 0x18c($sp) -/* 0380B0 7F003580 C7B20188 */ lwc1 $f18, 0x188($sp) -/* 0380B4 7F003584 3C038003 */ lui $v1, %hi(scale_1_0_item_related) -/* 0380B8 7F003588 46005182 */ mul.s $f6, $f10, $f0 -/* 0380BC 7F00358C 2463A3C0 */ addiu $v1, %lo(scale_1_0_item_related) # addiu $v1, $v1, -0x5c40 -/* 0380C0 7F003590 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0380C4 7F003594 44818000 */ mtc1 $at, $f16 -/* 0380C8 7F003598 C46C0000 */ lwc1 $f12, ($v1) -/* 0380CC 7F00359C 27A4016C */ addiu $a0, $sp, 0x16c -/* 0380D0 7F0035A0 E7A6018C */ swc1 $f6, 0x18c($sp) -/* 0380D4 7F0035A4 C6040008 */ lwc1 $f4, 8($s0) -/* 0380D8 7F0035A8 C60A0004 */ lwc1 $f10, 4($s0) -/* 0380DC 7F0035AC C60E0000 */ lwc1 $f14, ($s0) -/* 0380E0 7F0035B0 46049202 */ mul.s $f8, $f18, $f4 -/* 0380E4 7F0035B4 C7A40184 */ lwc1 $f4, 0x184($sp) -/* 0380E8 7F0035B8 E7A60038 */ swc1 $f6, 0x38($sp) -/* 0380EC 7F0035BC C7A60180 */ lwc1 $f6, 0x180($sp) -/* 0380F0 7F0035C0 46045282 */ mul.s $f10, $f10, $f4 -/* 0380F4 7F0035C4 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 0380F8 7F0035C8 4610603C */ c.lt.s $f12, $f16 -/* 0380FC 7F0035CC 46067482 */ mul.s $f18, $f14, $f6 -/* 038100 7F0035D0 460A9480 */ add.s $f18, $f18, $f10 -/* 038104 7F0035D4 C7AA018C */ lwc1 $f10, 0x18c($sp) -/* 038108 7F0035D8 45000013 */ bc1f .L7F003628 -/* 03810C 7F0035DC 46124080 */ add.s $f2, $f8, $f18 -/* 038110 7F0035E0 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 038114 7F0035E4 460C8481 */ sub.s $f18, $f16, $f12 -/* 038118 7F0035E8 460A1201 */ sub.s $f8, $f2, $f10 -/* 03811C 7F0035EC 46124082 */ mul.s $f2, $f8, $f18 -/* 038120 7F0035F0 00000000 */ nop -/* 038124 7F0035F4 46023282 */ mul.s $f10, $f6, $f2 -/* 038128 7F0035F8 460A7201 */ sub.s $f8, $f14, $f10 -/* 03812C 7F0035FC 46022182 */ mul.s $f6, $f4, $f2 -/* 038130 7F003600 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 038134 7F003604 E7A80170 */ swc1 $f8, 0x170($sp) -/* 038138 7F003608 C6120004 */ lwc1 $f18, 4($s0) -/* 03813C 7F00360C 46069281 */ sub.s $f10, $f18, $f6 -/* 038140 7F003610 46022482 */ mul.s $f18, $f4, $f2 -/* 038144 7F003614 E7AA0174 */ swc1 $f10, 0x174($sp) -/* 038148 7F003618 C6080008 */ lwc1 $f8, 8($s0) -/* 03814C 7F00361C 46124181 */ sub.s $f6, $f8, $f18 -/* 038150 7F003620 10000012 */ b .L7F00366C -/* 038154 7F003624 E7A60178 */ swc1 $f6, 0x178($sp) -.L7F003628: -/* 038158 7F003628 460A1101 */ sub.s $f4, $f2, $f10 -/* 03815C 7F00362C C7B20180 */ lwc1 $f18, 0x180($sp) -/* 038160 7F003630 46106201 */ sub.s $f8, $f12, $f16 -/* 038164 7F003634 46082082 */ mul.s $f2, $f4, $f8 -/* 038168 7F003638 C7A40184 */ lwc1 $f4, 0x184($sp) -/* 03816C 7F00363C 46029182 */ mul.s $f6, $f18, $f2 -/* 038170 7F003640 460E3280 */ add.s $f10, $f6, $f14 -/* 038174 7F003644 46022202 */ mul.s $f8, $f4, $f2 -/* 038178 7F003648 E7AA0170 */ swc1 $f10, 0x170($sp) -/* 03817C 7F00364C C6120004 */ lwc1 $f18, 4($s0) -/* 038180 7F003650 C7AA0188 */ lwc1 $f10, 0x188($sp) -/* 038184 7F003654 46124180 */ add.s $f6, $f8, $f18 -/* 038188 7F003658 46025102 */ mul.s $f4, $f10, $f2 -/* 03818C 7F00365C E7A60174 */ swc1 $f6, 0x174($sp) -/* 038190 7F003660 C6080008 */ lwc1 $f8, 8($s0) -/* 038194 7F003664 46082480 */ add.s $f18, $f4, $f8 -/* 038198 7F003668 E7B20178 */ swc1 $f18, 0x178($sp) -.L7F00366C: -/* 03819C 7F00366C 8E180028 */ lw $t8, 0x28($s0) -/* 0381A0 7F003670 C7A60178 */ lwc1 $f6, 0x178($sp) -/* 0381A4 7F003674 8FA70170 */ lw $a3, 0x170($sp) -/* 0381A8 7F003678 AFB8016C */ sw $t8, 0x16c($sp) -/* 0381AC 7F00367C 8E060008 */ lw $a2, 8($s0) -/* 0381B0 7F003680 8E050000 */ lw $a1, ($s0) -/* 0381B4 7F003684 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0381B8 7F003688 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0381BC 7F00368C 3C038003 */ lui $v1, %hi(scale_1_0_item_related) -/* 0381C0 7F003690 10400019 */ beqz $v0, .L7F0036F8 -/* 0381C4 7F003694 2463A3C0 */ addiu $v1, %lo(scale_1_0_item_related) # addiu $v1, $v1, -0x5c40 -/* 0381C8 7F003698 8FB9016C */ lw $t9, 0x16c($sp) -/* 0381CC 7F00369C C612002C */ lwc1 $f18, 0x2c($s0) -/* 0381D0 7F0036A0 AE190028 */ sw $t9, 0x28($s0) -/* 0381D4 7F0036A4 C7AA0170 */ lwc1 $f10, 0x170($sp) -/* 0381D8 7F0036A8 E60A0000 */ swc1 $f10, ($s0) -/* 0381DC 7F0036AC C7A40174 */ lwc1 $f4, 0x174($sp) -/* 0381E0 7F0036B0 E6040004 */ swc1 $f4, 4($s0) -/* 0381E4 7F0036B4 C7A80178 */ lwc1 $f8, 0x178($sp) -/* 0381E8 7F0036B8 C6040030 */ lwc1 $f4, 0x30($s0) -/* 0381EC 7F0036BC E6080008 */ swc1 $f8, 8($s0) -/* 0381F0 7F0036C0 C4660000 */ lwc1 $f6, ($v1) -/* 0381F4 7F0036C4 46069282 */ mul.s $f10, $f18, $f6 -/* 0381F8 7F0036C8 E60A002C */ swc1 $f10, 0x2c($s0) -/* 0381FC 7F0036CC C4680000 */ lwc1 $f8, ($v1) -/* 038200 7F0036D0 46082482 */ mul.s $f18, $f4, $f8 -/* 038204 7F0036D4 10000008 */ b .L7F0036F8 -/* 038208 7F0036D8 E6120030 */ swc1 $f18, 0x30($s0) -.L7F0036DC: -/* 03820C 7F0036DC C606002C */ lwc1 $f6, 0x2c($s0) -/* 038210 7F0036E0 C6040030 */ lwc1 $f4, 0x30($s0) -/* 038214 7F0036E4 460C3282 */ mul.s $f10, $f6, $f12 -/* 038218 7F0036E8 E60A002C */ swc1 $f10, 0x2c($s0) -/* 03821C 7F0036EC C4680000 */ lwc1 $f8, ($v1) -/* 038220 7F0036F0 46082482 */ mul.s $f18, $f4, $f8 -/* 038224 7F0036F4 E6120030 */ swc1 $f18, 0x30($s0) -.L7F0036F8: -/* 038228 7F0036F8 8E050028 */ lw $a1, 0x28($s0) -.L7F0036FC: -/* 03822C 7F0036FC 27AF01C8 */ addiu $t7, $sp, 0x1c8 -/* 038230 7F003700 AFAF0010 */ sw $t7, 0x10($sp) -/* 038234 7F003704 02002025 */ move $a0, $s0 -/* 038238 7F003708 24060000 */ li $a2, 0 -/* 03823C 7F00370C 0FC15A14 */ jal sub_GAME_7F056850 -/* 038240 7F003710 27A701B8 */ addiu $a3, $sp, 0x1b8 -/* 038244 7F003714 50400131 */ beql $v0, $zero, .L7F003BDC -/* 038248 7F003718 AE200010 */ sw $zero, 0x10($s1) -/* 03824C 7F00371C C6060018 */ lwc1 $f6, 0x18($s0) -/* 038250 7F003720 44800000 */ mtc1 $zero, $f0 -/* 038254 7F003724 27A4012C */ addiu $a0, $sp, 0x12c -/* 038258 7F003728 46003287 */ neg.s $f10, $f6 -/* 03825C 7F00372C 44050000 */ mfc1 $a1, $f0 -/* 038260 7F003730 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 038264 7F003734 C604001C */ lwc1 $f4, 0x1c($s0) -/* 038268 7F003738 44060000 */ mfc1 $a2, $f0 -/* 03826C 7F00373C 44070000 */ mfc1 $a3, $f0 -/* 038270 7F003740 46002207 */ neg.s $f8, $f4 -/* 038274 7F003744 E7A80014 */ swc1 $f8, 0x14($sp) -/* 038278 7F003748 C6120020 */ lwc1 $f18, 0x20($s0) -/* 03827C 7F00374C 46009187 */ neg.s $f6, $f18 -/* 038280 7F003750 E7A60018 */ swc1 $f6, 0x18($sp) -/* 038284 7F003754 C60A000C */ lwc1 $f10, 0xc($s0) -/* 038288 7F003758 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 03828C 7F00375C C6040010 */ lwc1 $f4, 0x10($s0) -/* 038290 7F003760 E7A40020 */ swc1 $f4, 0x20($sp) -/* 038294 7F003764 C6080014 */ lwc1 $f8, 0x14($s0) -/* 038298 7F003768 0FC16642 */ jal sub_GAME_7F059908 -/* 03829C 7F00376C E7A80024 */ swc1 $f8, 0x24($sp) -/* 0382A0 7F003770 8FA801D0 */ lw $t0, 0x1d0($sp) -/* 0382A4 7F003774 3C0A8004 */ lui $t2, %hi(PitemZ_entries) -/* 0382A8 7F003778 8FAB01C8 */ lw $t3, 0x1c8($sp) -/* 0382AC 7F00377C 00084880 */ sll $t1, $t0, 2 -/* 0382B0 7F003780 01284823 */ subu $t1, $t1, $t0 -/* 0382B4 7F003784 00094880 */ sll $t1, $t1, 2 -/* 0382B8 7F003788 01495021 */ addu $t2, $t2, $t1 -/* 0382BC 7F00378C 8D4AA228 */ lw $t2, %lo(PitemZ_entries)($t2) -/* 0382C0 7F003790 AFAB0114 */ sw $t3, 0x114($sp) -/* 0382C4 7F003794 3C018005 */ lui $at, %hi(D_8004EF5C) -/* 0382C8 7F003798 AFAA0124 */ sw $t2, 0x124($sp) -/* 0382CC 7F00379C C612002C */ lwc1 $f18, 0x2c($s0) -/* 0382D0 7F0037A0 C42CEF5C */ lwc1 $f12, %lo(D_8004EF5C)($at) -/* 0382D4 7F0037A4 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 0382D8 7F0037A8 E7B20078 */ swc1 $f18, 0x78($sp) -/* 0382DC 7F0037AC C6060030 */ lwc1 $f6, 0x30($s0) -/* 0382E0 7F0037B0 E7A60074 */ swc1 $f6, 0x74($sp) -/* 0382E4 7F0037B4 C60A0034 */ lwc1 $f10, 0x34($s0) -/* 0382E8 7F0037B8 E7AA0070 */ swc1 $f10, 0x70($sp) -/* 0382EC 7F0037BC C6040038 */ lwc1 $f4, 0x38($s0) -/* 0382F0 7F0037C0 E7A4006C */ swc1 $f4, 0x6c($sp) -/* 0382F4 7F0037C4 C608003C */ lwc1 $f8, 0x3c($s0) -/* 0382F8 7F0037C8 E7A80068 */ swc1 $f8, 0x68($sp) -/* 0382FC 7F0037CC C6120040 */ lwc1 $f18, 0x40($s0) -/* 038300 7F0037D0 0FC1615C */ jal sub_GAME_7F058570 -/* 038304 7F0037D4 E7B20064 */ swc1 $f18, 0x64($sp) -/* 038308 7F0037D8 3C018005 */ lui $at, %hi(D_8004EF60) -/* 03830C 7F0037DC C42CEF60 */ lwc1 $f12, %lo(D_8004EF60)($at) -/* 038310 7F0037E0 0FC161A2 */ jal sub_GAME_7F058688 -/* 038314 7F0037E4 27A50088 */ addiu $a1, $sp, 0x88 -/* 038318 7F0037E8 27A40088 */ addiu $a0, $sp, 0x88 -/* 03831C 7F0037EC 0FC1601A */ jal sub_GAME_7F058068 -/* 038320 7F0037F0 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 038324 7F0037F4 27A4012C */ addiu $a0, $sp, 0x12c -/* 038328 7F0037F8 0FC1601A */ jal sub_GAME_7F058068 -/* 03832C 7F0037FC 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 038330 7F003800 02002025 */ move $a0, $s0 -/* 038334 7F003804 0FC006F5 */ jal sub_GAME_7F001BD4 -/* 038338 7F003808 27A50118 */ addiu $a1, $sp, 0x118 -/* 03833C 7F00380C 8FAC0124 */ lw $t4, 0x124($sp) -/* 038340 7F003810 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 038344 7F003814 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 038348 7F003818 8D8D0000 */ lw $t5, ($t4) -/* 03834C 7F00381C 3C018005 */ lui $at, %hi(D_8004EF64) -/* 038350 7F003820 460A3101 */ sub.s $f4, $f6, $f10 -/* 038354 7F003824 8DAE0014 */ lw $t6, 0x14($t5) -/* 038358 7F003828 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 03835C 7F00382C C420EF64 */ lwc1 $f0, %lo(D_8004EF64)($at) -/* 038360 7F003830 8DC20004 */ lw $v0, 4($t6) -/* 038364 7F003834 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 038368 7F003838 C4480008 */ lwc1 $f8, 8($v0) -/* 03836C 7F00383C C4520004 */ lwc1 $f18, 4($v0) -/* 038370 7F003840 46124181 */ sub.s $f6, $f8, $f18 -/* 038374 7F003844 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 038378 7F003848 C4520010 */ lwc1 $f18, 0x10($v0) -/* 03837C 7F00384C 46062303 */ div.s $f12, $f4, $f6 -/* 038380 7F003850 C444000C */ lwc1 $f4, 0xc($v0) -/* 038384 7F003854 46085081 */ sub.s $f2, $f10, $f8 -/* 038388 7F003858 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 03838C 7F00385C C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 038390 7F003860 46049181 */ sub.s $f6, $f18, $f4 -/* 038394 7F003864 C4440018 */ lwc1 $f4, 0x18($v0) -/* 038398 7F003868 46061383 */ div.s $f14, $f2, $f6 -/* 03839C 7F00386C C4460014 */ lwc1 $f6, 0x14($v0) -/* 0383A0 7F003870 4600603E */ c.le.s $f12, $f0 -/* 0383A4 7F003874 46085481 */ sub.s $f18, $f10, $f8 -/* 0383A8 7F003878 46062281 */ sub.s $f10, $f4, $f6 -/* 0383AC 7F00387C 45010008 */ bc1t .L7F0038A0 -/* 0383B0 7F003880 460A9403 */ div.s $f16, $f18, $f10 -/* 0383B4 7F003884 4600703E */ c.le.s $f14, $f0 -/* 0383B8 7F003888 00000000 */ nop -/* 0383BC 7F00388C 45030005 */ bc1tl .L7F0038A4 -/* 0383C0 7F003890 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0383C4 7F003894 4600803E */ c.le.s $f16, $f0 -/* 0383C8 7F003898 00000000 */ nop -/* 0383CC 7F00389C 45000005 */ bc1f .L7F0038B4 -.L7F0038A0: -/* 0383D0 7F0038A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F0038A4: -/* 0383D4 7F0038A4 44818000 */ mtc1 $at, $f16 -/* 0383D8 7F0038A8 44817000 */ mtc1 $at, $f14 -/* 0383DC 7F0038AC 44816000 */ mtc1 $at, $f12 -/* 0383E0 7F0038B0 00000000 */ nop -.L7F0038B4: -/* 0383E4 7F0038B4 E7A20048 */ swc1 $f2, 0x48($sp) -/* 0383E8 7F0038B8 E7AC0060 */ swc1 $f12, 0x60($sp) -/* 0383EC 7F0038BC E7AE005C */ swc1 $f14, 0x5c($sp) -/* 0383F0 7F0038C0 0FC1626D */ jal sub_GAME_7F0589B4 -/* 0383F4 7F0038C4 E7B00058 */ swc1 $f16, 0x58($sp) -/* 0383F8 7F0038C8 C7AC005C */ lwc1 $f12, 0x5c($sp) -/* 0383FC 7F0038CC 0FC16279 */ jal sub_GAME_7F0589E4 -/* 038400 7F0038D0 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 038404 7F0038D4 C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 038408 7F0038D8 0FC16293 */ jal sub_GAME_7F058A4C -/* 03840C 7F0038DC 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 038410 7F0038E0 C7A80118 */ lwc1 $f8, 0x118($sp) -/* 038414 7F0038E4 C7A4011C */ lwc1 $f4, 0x11c($sp) -/* 038418 7F0038E8 C7A60120 */ lwc1 $f6, 0x120($sp) -/* 03841C 7F0038EC E7A800C8 */ swc1 $f8, 0xc8($sp) -/* 038420 7F0038F0 E7A400CC */ swc1 $f4, 0xcc($sp) -/* 038424 7F0038F4 E7A600D0 */ swc1 $f6, 0xd0($sp) -/* 038428 7F0038F8 8E38000C */ lw $t8, 0xc($s1) -/* 03842C 7F0038FC C7A20048 */ lwc1 $f2, 0x48($sp) -/* 038430 7F003900 27A40114 */ addiu $a0, $sp, 0x114 -/* 038434 7F003904 33190001 */ andi $t9, $t8, 1 -/* 038438 7F003908 17200016 */ bnez $t9, .L7F003964 -/* 03843C 7F00390C C7A401B8 */ lwc1 $f4, 0x1b8($sp) -/* 038440 7F003910 44074000 */ mfc1 $a3, $f8 -/* 038444 7F003914 8FA501B8 */ lw $a1, 0x1b8($sp) -/* 038448 7F003918 8FA601C0 */ lw $a2, 0x1c0($sp) -/* 03844C 7F00391C E7A60010 */ swc1 $f6, 0x10($sp) -/* 038450 7F003920 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 038454 7F003924 E7A20048 */ swc1 $f2, 0x48($sp) -/* 038458 7F003928 10400004 */ beqz $v0, .L7F00393C -/* 03845C 7F00392C C7A20048 */ lwc1 $f2, 0x48($sp) -/* 038460 7F003930 8FAF0114 */ lw $t7, 0x114($sp) -/* 038464 7F003934 10000010 */ b .L7F003978 -/* 038468 7F003938 AFAF01C8 */ sw $t7, 0x1c8($sp) -.L7F00393C: -/* 03846C 7F00393C C7B201B8 */ lwc1 $f18, 0x1b8($sp) -/* 038470 7F003940 C7AA01C0 */ lwc1 $f10, 0x1c0($sp) -/* 038474 7F003944 E7B20118 */ swc1 $f18, 0x118($sp) -/* 038478 7F003948 E7AA0120 */ swc1 $f10, 0x120($sp) -/* 03847C 7F00394C 8E280008 */ lw $t0, 8($s1) -/* 038480 7F003950 31091000 */ andi $t1, $t0, 0x1000 -/* 038484 7F003954 55200009 */ bnezl $t1, .L7F00397C -/* 038488 7F003958 9622009A */ lhu $v0, 0x9a($s1) -/* 03848C 7F00395C 10000007 */ b .L7F00397C -/* 038490 7F003960 9622009A */ lhu $v0, 0x9a($s1) -.L7F003964: -/* 038494 7F003964 C7A801BC */ lwc1 $f8, 0x1bc($sp) -/* 038498 7F003968 C7A601C0 */ lwc1 $f6, 0x1c0($sp) -/* 03849C 7F00396C E7A40118 */ swc1 $f4, 0x118($sp) -/* 0384A0 7F003970 E7A8011C */ swc1 $f8, 0x11c($sp) -/* 0384A4 7F003974 E7A60120 */ swc1 $f6, 0x120($sp) -.L7F003978: -/* 0384A8 7F003978 9622009A */ lhu $v0, 0x9a($s1) -.L7F00397C: -/* 0384AC 7F00397C 24010004 */ li $at, 4 -/* 0384B0 7F003980 10410003 */ beq $v0, $at, .L7F003990 -/* 0384B4 7F003984 24010008 */ li $at, 8 -/* 0384B8 7F003988 1441000B */ bne $v0, $at, .L7F0039B8 -/* 0384BC 7F00398C C7AA0070 */ lwc1 $f10, 0x70($sp) -.L7F003990: -/* 0384C0 7F003990 C6120018 */ lwc1 $f18, 0x18($s0) -/* 0384C4 7F003994 46029282 */ mul.s $f10, $f18, $f2 -/* 0384C8 7F003998 E7AA007C */ swc1 $f10, 0x7c($sp) -/* 0384CC 7F00399C C604001C */ lwc1 $f4, 0x1c($s0) -/* 0384D0 7F0039A0 46022202 */ mul.s $f8, $f4, $f2 -/* 0384D4 7F0039A4 E7A80080 */ swc1 $f8, 0x80($sp) -/* 0384D8 7F0039A8 C6060020 */ lwc1 $f6, 0x20($s0) -/* 0384DC 7F0039AC 46023482 */ mul.s $f18, $f6, $f2 -/* 0384E0 7F0039B0 1000000C */ b .L7F0039E4 -/* 0384E4 7F0039B4 E7B20084 */ swc1 $f18, 0x84($sp) -.L7F0039B8: -/* 0384E8 7F0039B8 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 0384EC 7F0039BC C608000C */ lwc1 $f8, 0xc($s0) -/* 0384F0 7F0039C0 46045001 */ sub.s $f0, $f10, $f4 -/* 0384F4 7F0039C4 46004182 */ mul.s $f6, $f8, $f0 -/* 0384F8 7F0039C8 E7A6007C */ swc1 $f6, 0x7c($sp) -/* 0384FC 7F0039CC C6120010 */ lwc1 $f18, 0x10($s0) -/* 038500 7F0039D0 46009282 */ mul.s $f10, $f18, $f0 -/* 038504 7F0039D4 E7AA0080 */ swc1 $f10, 0x80($sp) -/* 038508 7F0039D8 C6040014 */ lwc1 $f4, 0x14($s0) -/* 03850C 7F0039DC 46002202 */ mul.s $f8, $f4, $f0 -/* 038510 7F0039E0 E7A80084 */ swc1 $f8, 0x84($sp) -.L7F0039E4: -/* 038514 7F0039E4 8E2A0084 */ lw $t2, 0x84($s1) -/* 038518 7F0039E8 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 03851C 7F0039EC 44810000 */ mtc1 $at, $f0 -/* 038520 7F0039F0 448A3000 */ mtc1 $t2, $f6 -/* 038524 7F0039F4 8E2B0088 */ lw $t3, 0x88($s1) -/* 038528 7F0039F8 8E2C008C */ lw $t4, 0x8c($s1) -/* 03852C 7F0039FC 468034A0 */ cvt.s.w $f18, $f6 -/* 038530 7F003A00 448B2000 */ mtc1 $t3, $f4 -/* 038534 7F003A04 8E2D0090 */ lw $t5, 0x90($s1) -/* 038538 7F003A08 8E2E0094 */ lw $t6, 0x94($s1) -/* 03853C 7F003A0C 27B8007C */ addiu $t8, $sp, 0x7c -/* 038540 7F003A10 46802220 */ cvt.s.w $f8, $f4 -/* 038544 7F003A14 27B900C8 */ addiu $t9, $sp, 0xc8 -/* 038548 7F003A18 02202025 */ move $a0, $s1 -/* 03854C 7F003A1C 27A50118 */ addiu $a1, $sp, 0x118 -/* 038550 7F003A20 27A600D4 */ addiu $a2, $sp, 0xd4 -/* 038554 7F003A24 46009283 */ div.s $f10, $f18, $f0 -/* 038558 7F003A28 448C9000 */ mtc1 $t4, $f18 -/* 03855C 7F003A2C 46004183 */ div.s $f6, $f8, $f0 -/* 038560 7F003A30 E62A0084 */ swc1 $f10, 0x84($s1) -/* 038564 7F003A34 448D4000 */ mtc1 $t5, $f8 -/* 038568 7F003A38 468092A0 */ cvt.s.w $f10, $f18 -/* 03856C 7F003A3C 46005103 */ div.s $f4, $f10, $f0 -/* 038570 7F003A40 448E5000 */ mtc1 $t6, $f10 -/* 038574 7F003A44 E6260088 */ swc1 $f6, 0x88($s1) -/* 038578 7F003A48 468041A0 */ cvt.s.w $f6, $f8 -/* 03857C 7F003A4C 46003483 */ div.s $f18, $f6, $f0 -/* 038580 7F003A50 E624008C */ swc1 $f4, 0x8c($s1) -/* 038584 7F003A54 46805120 */ cvt.s.w $f4, $f10 -/* 038588 7F003A58 46002203 */ div.s $f8, $f4, $f0 -/* 03858C 7F003A5C E6320090 */ swc1 $f18, 0x90($s1) -/* 038590 7F003A60 E6280094 */ swc1 $f8, 0x94($s1) -/* 038594 7F003A64 AFB90014 */ sw $t9, 0x14($sp) -/* 038598 7F003A68 AFB80010 */ sw $t8, 0x10($sp) -/* 03859C 7F003A6C 0FC14D7C */ jal initialize_door -/* 0385A0 7F003A70 8FA701C8 */ lw $a3, 0x1c8($sp) -/* 0385A4 7F003A74 8E2F0008 */ lw $t7, 8($s1) -/* 0385A8 7F003A78 00408025 */ move $s0, $v0 -/* 0385AC 7F003A7C 8FA901B4 */ lw $t1, 0x1b4($sp) -/* 0385B0 7F003A80 000F40C0 */ sll $t0, $t7, 3 -/* 0385B4 7F003A84 0503000E */ bgezl $t0, .L7F003AC0 -/* 0385B8 7F003A88 8E020014 */ lw $v0, 0x14($s0) -/* 0385BC 7F003A8C AE2900F0 */ sw $t1, 0xf0($s1) -/* 0385C0 7F003A90 8FAA01B4 */ lw $t2, 0x1b4($sp) -/* 0385C4 7F003A94 0542000A */ bltzl $t2, .L7F003AC0 -/* 0385C8 7F003A98 8E020014 */ lw $v0, 0x14($s0) -/* 0385CC 7F003A9C 44803000 */ mtc1 $zero, $f6 -/* 0385D0 7F003AA0 C63200B4 */ lwc1 $f18, 0xb4($s1) -/* 0385D4 7F003AA4 46123032 */ c.eq.s $f6, $f18 -/* 0385D8 7F003AA8 00000000 */ nop -/* 0385DC 7F003AAC 45020004 */ bc1fl .L7F003AC0 -/* 0385E0 7F003AB0 8E020014 */ lw $v0, 0x14($s0) -/* 0385E4 7F003AB4 0FC14D71 */ jal sub_GAME_7F0535C4 -/* 0385E8 7F003AB8 02202025 */ move $a0, $s1 -/* 0385EC 7F003ABC 8E020014 */ lw $v0, 0x14($s0) -.L7F003AC0: -/* 0385F0 7F003AC0 02002025 */ move $a0, $s0 -/* 0385F4 7F003AC4 904B0003 */ lbu $t3, 3($v0) -/* 0385F8 7F003AC8 A20B002C */ sb $t3, 0x2c($s0) -/* 0385FC 7F003ACC 0FC0F767 */ jal sub_GAME_7F03DD9C -/* 038600 7F003AD0 90450003 */ lbu $a1, 3($v0) -/* 038604 7F003AD4 240200FF */ li $v0, 255 -/* 038608 7F003AD8 A202002D */ sb $v0, 0x2d($s0) -/* 03860C 7F003ADC A202002E */ sb $v0, 0x2e($s0) -/* 038610 7F003AE0 8E230008 */ lw $v1, 8($s1) -/* 038614 7F003AE4 000360C0 */ sll $t4, $v1, 3 -/* 038618 7F003AE8 05800003 */ bltz $t4, .L7F003AF8 -/* 03861C 7F003AEC 00036840 */ sll $t5, $v1, 1 -/* 038620 7F003AF0 05A3001A */ bgezl $t5, .L7F003B5C -/* 038624 7F003AF4 8E240014 */ lw $a0, 0x14($s1) -.L7F003AF8: -/* 038628 7F003AF8 8E180014 */ lw $t8, 0x14($s0) -/* 03862C 7F003AFC 8FAE01B0 */ lw $t6, 0x1b0($sp) -/* 038630 7F003B00 8FA501AC */ lw $a1, 0x1ac($sp) -/* 038634 7F003B04 93190003 */ lbu $t9, 3($t8) -/* 038638 7F003B08 11D90009 */ beq $t6, $t9, .L7F003B30 -/* 03863C 7F003B0C 00000000 */ nop -/* 038640 7F003B10 05C0000D */ bltz $t6, .L7F003B48 -/* 038644 7F003B14 8FAF01B0 */ lw $t7, 0x1b0($sp) -/* 038648 7F003B18 A20F002D */ sb $t7, 0x2d($s0) -/* 03864C 7F003B1C 87A501B2 */ lh $a1, 0x1b2($sp) -/* 038650 7F003B20 0FC0F767 */ jal sub_GAME_7F03DD9C -/* 038654 7F003B24 02002025 */ move $a0, $s0 -/* 038658 7F003B28 10000008 */ b .L7F003B4C -/* 03865C 7F003B2C 9209002D */ lbu $t1, 0x2d($s0) -.L7F003B30: -/* 038660 7F003B30 04A00005 */ bltz $a1, .L7F003B48 -/* 038664 7F003B34 8FA801AC */ lw $t0, 0x1ac($sp) -/* 038668 7F003B38 A208002D */ sb $t0, 0x2d($s0) -/* 03866C 7F003B3C 87A501AE */ lh $a1, 0x1ae($sp) -/* 038670 7F003B40 0FC0F767 */ jal sub_GAME_7F03DD9C -/* 038674 7F003B44 02002025 */ move $a0, $s0 -.L7F003B48: -/* 038678 7F003B48 9209002D */ lbu $t1, 0x2d($s0) -.L7F003B4C: -/* 03867C 7F003B4C 240100FF */ li $at, 255 -/* 038680 7F003B50 51210002 */ beql $t1, $at, .L7F003B5C -/* 038684 7F003B54 8E240014 */ lw $a0, 0x14($s1) -/* 038688 7F003B58 8E240014 */ lw $a0, 0x14($s1) -.L7F003B5C: -/* 03868C 7F003B5C C7A00060 */ lwc1 $f0, 0x60($sp) -/* 038690 7F003B60 C7AC005C */ lwc1 $f12, 0x5c($sp) -/* 038694 7F003B64 10800010 */ beqz $a0, .L7F003BA8 -/* 038698 7F003B68 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 03869C 7F003B6C 460C003C */ c.lt.s $f0, $f12 -/* 0386A0 7F003B70 00000000 */ nop -/* 0386A4 7F003B74 45020003 */ bc1fl .L7F003B84 -/* 0386A8 7F003B78 460A003C */ c.lt.s $f0, $f10 -/* 0386AC 7F003B7C 46006006 */ mov.s $f0, $f12 -/* 0386B0 7F003B80 460A003C */ c.lt.s $f0, $f10 -.L7F003B84: -/* 0386B4 7F003B84 00000000 */ nop -/* 0386B8 7F003B88 45020003 */ bc1fl .L7F003B98 -/* 0386BC 7F003B8C C4840014 */ lwc1 $f4, 0x14($a0) -/* 0386C0 7F003B90 46005006 */ mov.s $f0, $f10 -/* 0386C4 7F003B94 C4840014 */ lwc1 $f4, 0x14($a0) -.L7F003B98: -/* 0386C8 7F003B98 46002202 */ mul.s $f8, $f4, $f0 -/* 0386CC 7F003B9C 44054000 */ mfc1 $a1, $f8 -/* 0386D0 7F003BA0 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0386D4 7F003BA4 00000000 */ nop -.L7F003BA8: -/* 0386D8 7F003BA8 0FC0E929 */ jal set_current_objposdata_plus_0x28 -/* 0386DC 7F003BAC 02002025 */ move $a0, $s0 -/* 0386E0 7F003BB0 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 0386E4 7F003BB4 02002025 */ move $a0, $s0 -/* 0386E8 7F003BB8 8E220080 */ lw $v0, 0x80($s1) -/* 0386EC 7F003BBC 8FAB01E0 */ lw $t3, 0x1e0($sp) -/* 0386F0 7F003BC0 50400007 */ beql $v0, $zero, .L7F003BE0 -/* 0386F4 7F003BC4 8FBF0034 */ lw $ra, 0x34($sp) -/* 0386F8 7F003BC8 0FC15AA2 */ jal sub_GAME_7F056A88 -/* 0386FC 7F003BCC 004B2021 */ addu $a0, $v0, $t3 -/* 038700 7F003BD0 10000002 */ b .L7F003BDC -/* 038704 7F003BD4 AE2200C8 */ sw $v0, 0xc8($s1) -/* 038708 7F003BD8 AE200010 */ sw $zero, 0x10($s1) -.L7F003BDC: -/* 03870C 7F003BDC 8FBF0034 */ lw $ra, 0x34($sp) -.L7F003BE0: -/* 038710 7F003BE0 8FB0002C */ lw $s0, 0x2c($sp) -/* 038714 7F003BE4 8FB10030 */ lw $s1, 0x30($sp) -/* 038718 7F003BE8 03E00008 */ jr $ra -/* 03871C 7F003BEC 27BD01D8 */ addiu $sp, $sp, 0x1d8 -) -#endif - - -#ifdef NONMATCHING -void proplvreset2(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel jpt_object_type_expansion -.word door_expand -.word door_scale_expand -.word obj_03_expand -.word key_expand -.word obj_03_expand -.word surv_camera_expand -.word obj_03_expand -.word item_expand -.word actor_expand -.word single_screen_display_expand -.word multi_screen_display_expand -.word rack_expand -.word autogun_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word hat_expand -.word actor_attr_expand -.word other_obj_expand -.word ammo_box_expand -.word body_armor_expand -.word tag_expand -.word type17_objective_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word type1E_subobjective_expand -.word other_obj_expand -.word type20_subobjective_expand -.word type21_subobjective_expand -.word other_obj_expand -.word type23_solo_brief_text -.word obj_03_expand -.word type25_rename -.word other_obj_expand -.word type27_wheeled_vehicle -.word type28_aircraft -.word obj_03_expand -.word obj_03_expand -.word obj_03_expand -.word other_obj_expand -.word type2D_tank -.word type2E_viewport_pos -.word type2F_tinted_glass - -glabel D_8004F024 -.word 0x40c90fdb -glabel D_8004F028 -.word 0x3e2e147c - -glabel jpt_8004F02C -.word .L7F004B6C -.word .L7F004B6C -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004B6C -.word .L7F004B6C -.word .L7F004DE4 -.word .L7F004B6C -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004BD8 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004C2C -.word .L7F004B6C -.word .L7F004B6C -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004B6C -.word .L7F004DE4 -.word .L7F004D70 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004B6C -.word .L7F004B6C -.word .L7F004B6C -.word .L7F004CA4 -.word .L7F004DE4 -.word .L7F004DE4 -.word .L7F004B6C - -.text -glabel proplvreset2 -/* 038720 7F003BF0 27BDFD80 */ addiu $sp, $sp, -0x280 -/* 038724 7F003BF4 AFB50034 */ sw $s5, 0x34($sp) -/* 038728 7F003BF8 0080A825 */ move $s5, $a0 -/* 03872C 7F003BFC AFBF0044 */ sw $ra, 0x44($sp) -/* 038730 7F003C00 3C058005 */ lui $a1, %hi(aNochr) -/* 038734 7F003C04 AFBE0040 */ sw $fp, 0x40($sp) -/* 038738 7F003C08 AFB7003C */ sw $s7, 0x3c($sp) -/* 03873C 7F003C0C AFB60038 */ sw $s6, 0x38($sp) -/* 038740 7F003C10 AFB40030 */ sw $s4, 0x30($sp) -/* 038744 7F003C14 AFB3002C */ sw $s3, 0x2c($sp) -/* 038748 7F003C18 AFB20028 */ sw $s2, 0x28($sp) -/* 03874C 7F003C1C AFB10024 */ sw $s1, 0x24($sp) -/* 038750 7F003C20 AFB00020 */ sw $s0, 0x20($sp) -/* 038754 7F003C24 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 038758 7F003C28 24A5ED90 */ addiu $a1, %lo(aNochr) # addiu $a1, $a1, -0x1270 -/* 03875C 7F003C2C 0C0029A8 */ jal check_token -/* 038760 7F003C30 24040001 */ li $a0, 1 -/* 038764 7F003C34 2C460001 */ sltiu $a2, $v0, 1 -/* 038768 7F003C38 10C00005 */ beqz $a2, .L7F003C50 -/* 03876C 7F003C3C 24040001 */ li $a0, 1 -/* 038770 7F003C40 3C058005 */ lui $a1, %hi(aNoprop) -/* 038774 7F003C44 0C0029A8 */ jal check_token -/* 038778 7F003C48 24A5ED98 */ addiu $a1, %lo(aNoprop) # addiu $a1, $a1, -0x1268 -/* 03877C 7F003C4C 2C460001 */ sltiu $a2, $v0, 1 -.L7F003C50: -/* 038780 7F003C50 3C058005 */ lui $a1, %hi(aNoobj) -/* 038784 7F003C54 AFA60278 */ sw $a2, 0x278($sp) -/* 038788 7F003C58 24A5EDA0 */ addiu $a1, %lo(aNoobj) # addiu $a1, $a1, -0x1260 -/* 03878C 7F003C5C 0C0029A8 */ jal check_token -/* 038790 7F003C60 24040001 */ li $a0, 1 -/* 038794 7F003C64 2C430001 */ sltiu $v1, $v0, 1 -/* 038798 7F003C68 10600005 */ beqz $v1, .L7F003C80 -/* 03879C 7F003C6C 24040001 */ li $a0, 1 -/* 0387A0 7F003C70 3C058005 */ lui $a1, %hi(aNoprop_0) -/* 0387A4 7F003C74 0C0029A8 */ jal check_token -/* 0387A8 7F003C78 24A5EDA8 */ addiu $a1, %lo(aNoprop_0) # addiu $a1, $a1, -0x1258 -/* 0387AC 7F003C7C 2C430001 */ sltiu $v1, $v0, 1 -.L7F003C80: -/* 0387B0 7F003C80 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0387B4 7F003C84 44812000 */ mtc1 $at, $f4 -/* 0387B8 7F003C88 0060F025 */ move $fp, $v1 -/* 0387BC 7F003C8C 3C018003 */ lui $at, %hi(scale_1_0_item_related) -/* 0387C0 7F003C90 3C038004 */ lui $v1, %hi(PitemZ_entries+0xFF0) -/* 0387C4 7F003C94 3C028004 */ lui $v0, %hi(PitemZ_entries) -/* 0387C8 7F003C98 2442A228 */ addiu $v0, %lo(PitemZ_entries) # addiu $v0, $v0, -0x5dd8 -/* 0387CC 7F003C9C 2463B218 */ addiu $v1, $v1, %lo(PitemZ_entries+0xFF0) -/* 0387D0 7F003CA0 E424A3C0 */ swc1 $f4, %lo(scale_1_0_item_related)($at) -.L7F003CA4: -/* 0387D4 7F003CA4 8C4E0000 */ lw $t6, ($v0) -/* 0387D8 7F003CA8 2442000C */ addiu $v0, $v0, 0xc -/* 0387DC 7F003CAC 0043082B */ sltu $at, $v0, $v1 -/* 0387E0 7F003CB0 1420FFFC */ bnez $at, .L7F003CA4 -/* 0387E4 7F003CB4 ADC00000 */ sw $zero, ($t6) -/* 0387E8 7F003CB8 2AA1003B */ slti $at, $s5, 0x3b -/* 0387EC 7F003CBC 10200454 */ beqz $at, .L7F004E10 -/* 0387F0 7F003CC0 00157880 */ sll $t7, $s5, 2 -/* 0387F4 7F003CC4 3C188003 */ lui $t8, %hi(setup_text_pointers) -/* 0387F8 7F003CC8 271874E4 */ addiu $t8, %lo(setup_text_pointers) # addiu $t8, $t8, 0x74e4 -/* 0387FC 7F003CCC 01F88021 */ addu $s0, $t7, $t8 -/* 038800 7F003CD0 8E020000 */ lw $v0, ($s0) -/* 038804 7F003CD4 3C198005 */ lui $t9, %hi(only_read_by_stageload) -/* 038808 7F003CD8 27B10174 */ addiu $s1, $sp, 0x174 -/* 03880C 7F003CDC 1040044C */ beqz $v0, .L7F004E10 -/* 038810 7F003CE0 2739EDB0 */ addiu $t9, %lo(only_read_by_stageload) # addiu $t9, $t9, -0x1250 -/* 038814 7F003CE4 02205025 */ move $t2, $s1 -/* 038818 7F003CE8 272900FC */ addiu $t1, $t9, 0xfc -.L7F003CEC: -/* 03881C 7F003CEC 8F210000 */ lw $at, ($t9) -/* 038820 7F003CF0 2739000C */ addiu $t9, $t9, 0xc -/* 038824 7F003CF4 254A000C */ addiu $t2, $t2, 0xc -/* 038828 7F003CF8 AD41FFF4 */ sw $at, -0xc($t2) -/* 03882C 7F003CFC 8F21FFF8 */ lw $at, -8($t9) -/* 038830 7F003D00 AD41FFF8 */ sw $at, -8($t2) -/* 038834 7F003D04 8F21FFFC */ lw $at, -4($t9) -/* 038838 7F003D08 1729FFF8 */ bne $t9, $t1, .L7F003CEC -/* 03883C 7F003D0C AD41FFFC */ sw $at, -4($t2) -/* 038840 7F003D10 8F210000 */ lw $at, ($t9) -/* 038844 7F003D14 0000A025 */ move $s4, $zero -/* 038848 7F003D18 00009825 */ move $s3, $zero -/* 03884C 7F003D1C AD410000 */ sw $at, ($t2) -/* 038850 7F003D20 904B0000 */ lbu $t3, ($v0) -/* 038854 7F003D24 A3A00175 */ sb $zero, 0x175($sp) -/* 038858 7F003D28 0FC26919 */ jal get_num_players -/* 03885C 7F003D2C A3AB0174 */ sb $t3, 0x174($sp) -/* 038860 7F003D30 28410002 */ slti $at, $v0, 2 -/* 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_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_append_from_obseg_textbank -/* 038884 7F003D54 24A50001 */ addiu $a1, $a1, 1 -/* 038888 7F003D58 02202025 */ move $a0, $s1 -/* 03888C 7F003D5C 24050001 */ li $a1, 1 -/* 038890 7F003D60 24060100 */ li $a2, 256 -/* 038894 7F003D64 0FC2F341 */ jal _load_resource_named_to_membank -/* 038898 7F003D68 24070004 */ li $a3, 4 -/* 03889C 7F003D6C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075D28) -/* 0388A0 7F003D70 24635D28 */ addiu $v1, %lo(dword_CODE_bss_80075D28) # addiu $v1, $v1, 0x5d28 -/* 0388A4 7F003D74 AC620000 */ sw $v0, ($v1) -/* 0388A8 7F003D78 00408825 */ move $s1, $v0 -/* 0388AC 7F003D7C 0FC30578 */ jal get_textbank_number_for_stagenum -/* 0388B0 7F003D80 02A02025 */ move $a0, $s5 -/* 0388B4 7F003D84 0FC30742 */ jal load_mission_text_bank -/* 0388B8 7F003D88 00402025 */ move $a0, $v0 -/* 0388BC 7F003D8C 8E2C0000 */ lw $t4, ($s1) -/* 0388C0 7F003D90 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) -/* 0388C4 7F003D94 24E75D00 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d00 -/* 0388C8 7F003D98 022C6821 */ addu $t5, $s1, $t4 -/* 0388CC 7F003D9C ACED0000 */ sw $t5, ($a3) -/* 0388D0 7F003DA0 8E2E0004 */ lw $t6, 4($s1) -/* 0388D4 7F003DA4 022E7821 */ addu $t7, $s1, $t6 -/* 0388D8 7F003DA8 ACEF0004 */ sw $t7, 4($a3) -/* 0388DC 7F003DAC 8E380008 */ lw $t8, 8($s1) -/* 0388E0 7F003DB0 02384021 */ addu $t0, $s1, $t8 -/* 0388E4 7F003DB4 ACE80008 */ sw $t0, 8($a3) -/* 0388E8 7F003DB8 8E29000C */ lw $t1, 0xc($s1) -/* 0388EC 7F003DBC 0229C821 */ addu $t9, $s1, $t1 -/* 0388F0 7F003DC0 ACF9000C */ sw $t9, 0xc($a3) -/* 0388F4 7F003DC4 8E2A0010 */ lw $t2, 0x10($s1) -/* 0388F8 7F003DC8 022A5821 */ addu $t3, $s1, $t2 -/* 0388FC 7F003DCC ACEB0010 */ sw $t3, 0x10($a3) -/* 038900 7F003DD0 8E2C0014 */ lw $t4, 0x14($s1) -/* 038904 7F003DD4 022C6821 */ addu $t5, $s1, $t4 -/* 038908 7F003DD8 ACED0014 */ sw $t5, 0x14($a3) -/* 03890C 7F003DDC 8E2E0018 */ lw $t6, 0x18($s1) -/* 038910 7F003DE0 022E7821 */ addu $t7, $s1, $t6 -/* 038914 7F003DE4 ACEF0018 */ sw $t7, 0x18($a3) -/* 038918 7F003DE8 8E38001C */ lw $t8, 0x1c($s1) -/* 03891C 7F003DEC 02384021 */ addu $t0, $s1, $t8 -/* 038920 7F003DF0 ACE8001C */ sw $t0, 0x1c($a3) -/* 038924 7F003DF4 8E220020 */ lw $v0, 0x20($s1) -/* 038928 7F003DF8 10400003 */ beqz $v0, .L7F003E08 -/* 03892C 7F003DFC 02224821 */ addu $t1, $s1, $v0 -/* 038930 7F003E00 10000002 */ b .L7F003E0C -/* 038934 7F003E04 ACE90020 */ sw $t1, 0x20($a3) -.L7F003E08: -/* 038938 7F003E08 ACE00020 */ sw $zero, 0x20($a3) -.L7F003E0C: -/* 03893C 7F003E0C 8E220024 */ lw $v0, 0x24($s1) -/* 038940 7F003E10 10400003 */ beqz $v0, .L7F003E20 -/* 038944 7F003E14 0222C821 */ addu $t9, $s1, $v0 -/* 038948 7F003E18 10000002 */ b .L7F003E24 -/* 03894C 7F003E1C ACF90024 */ sw $t9, 0x24($a3) -.L7F003E20: -/* 038950 7F003E20 ACE00024 */ sw $zero, 0x24($a3) -.L7F003E24: -/* 038954 7F003E24 8CE50000 */ lw $a1, ($a3) -/* 038958 7F003E28 50A00010 */ beql $a1, $zero, .L7F003E6C -/* 03895C 7F003E2C 8CE50004 */ lw $a1, 4($a3) -/* 038960 7F003E30 8CAA0000 */ lw $t2, ($a1) -/* 038964 7F003E34 00001825 */ move $v1, $zero -/* 038968 7F003E38 00A01025 */ move $v0, $a1 -/* 03896C 7F003E3C 0542000B */ bltzl $t2, .L7F003E6C -/* 038970 7F003E40 8CE50004 */ lw $a1, 4($a3) -/* 038974 7F003E44 8C4B0004 */ lw $t3, 4($v0) -.L7F003E48: -/* 038978 7F003E48 24630010 */ addiu $v1, $v1, 0x10 -/* 03897C 7F003E4C 01716021 */ addu $t4, $t3, $s1 -/* 038980 7F003E50 AC4C0004 */ sw $t4, 4($v0) -/* 038984 7F003E54 8CED0000 */ lw $t5, ($a3) -/* 038988 7F003E58 01A31021 */ addu $v0, $t5, $v1 -/* 03898C 7F003E5C 8C4E0000 */ lw $t6, ($v0) -/* 038990 7F003E60 05C3FFF9 */ bgezl $t6, .L7F003E48 -/* 038994 7F003E64 8C4B0004 */ lw $t3, 4($v0) -/* 038998 7F003E68 8CE50004 */ lw $a1, 4($a3) -.L7F003E6C: -/* 03899C 7F003E6C 50A00015 */ beql $a1, $zero, .L7F003EC4 -/* 0389A0 7F003E70 8CE60014 */ lw $a2, 0x14($a3) -/* 0389A4 7F003E74 8CAF0000 */ lw $t7, ($a1) -/* 0389A8 7F003E78 00001825 */ move $v1, $zero -/* 0389AC 7F003E7C 00A01025 */ move $v0, $a1 -/* 0389B0 7F003E80 51E00010 */ beql $t7, $zero, .L7F003EC4 -/* 0389B4 7F003E84 8CE60014 */ lw $a2, 0x14($a3) -/* 0389B8 7F003E88 8CA40000 */ lw $a0, ($a1) -/* 0389BC 7F003E8C 0091C021 */ addu $t8, $a0, $s1 -.L7F003E90: -/* 0389C0 7F003E90 AC580000 */ sw $t8, ($v0) -/* 0389C4 7F003E94 8CE80004 */ lw $t0, 4($a3) -/* 0389C8 7F003E98 01031021 */ addu $v0, $t0, $v1 -/* 0389CC 7F003E9C 8C490004 */ lw $t1, 4($v0) -/* 0389D0 7F003EA0 2463000C */ addiu $v1, $v1, 0xc -/* 0389D4 7F003EA4 0131C821 */ addu $t9, $t1, $s1 -/* 0389D8 7F003EA8 AC590004 */ sw $t9, 4($v0) -/* 0389DC 7F003EAC 8CEA0004 */ lw $t2, 4($a3) -/* 0389E0 7F003EB0 01431021 */ addu $v0, $t2, $v1 -/* 0389E4 7F003EB4 8C440000 */ lw $a0, ($v0) -/* 0389E8 7F003EB8 5480FFF5 */ bnezl $a0, .L7F003E90 -/* 0389EC 7F003EBC 0091C021 */ addu $t8, $a0, $s1 -/* 0389F0 7F003EC0 8CE60014 */ lw $a2, 0x14($a3) -.L7F003EC4: -/* 0389F4 7F003EC4 50C00010 */ beql $a2, $zero, .L7F003F08 -/* 0389F8 7F003EC8 8CE20010 */ lw $v0, 0x10($a3) -/* 0389FC 7F003ECC 8CCB0000 */ lw $t3, ($a2) -/* 038A00 7F003ED0 00002825 */ move $a1, $zero -/* 038A04 7F003ED4 00C01025 */ move $v0, $a2 -/* 038A08 7F003ED8 5160000B */ beql $t3, $zero, .L7F003F08 -/* 038A0C 7F003EDC 8CE20010 */ lw $v0, 0x10($a3) -/* 038A10 7F003EE0 8CC30000 */ lw $v1, ($a2) -/* 038A14 7F003EE4 00716021 */ addu $t4, $v1, $s1 -.L7F003EE8: -/* 038A18 7F003EE8 AC4C0000 */ sw $t4, ($v0) -/* 038A1C 7F003EEC 8CED0014 */ lw $t5, 0x14($a3) -/* 038A20 7F003EF0 24A50008 */ addiu $a1, $a1, 8 -/* 038A24 7F003EF4 01A51021 */ addu $v0, $t5, $a1 -/* 038A28 7F003EF8 8C430000 */ lw $v1, ($v0) -/* 038A2C 7F003EFC 5460FFFA */ bnezl $v1, .L7F003EE8 -/* 038A30 7F003F00 00716021 */ addu $t4, $v1, $s1 -/* 038A34 7F003F04 8CE20010 */ lw $v0, 0x10($a3) -.L7F003F08: -/* 038A38 7F003F08 50400020 */ beql $v0, $zero, .L7F003F8C -/* 038A3C 7F003F0C 8CEA0018 */ lw $t2, 0x18($a3) -/* 038A40 7F003F10 8C4E0000 */ lw $t6, ($v0) -/* 038A44 7F003F14 00002825 */ move $a1, $zero -/* 038A48 7F003F18 00403025 */ move $a2, $v0 -/* 038A4C 7F003F1C 51C0001B */ beql $t6, $zero, .L7F003F8C -/* 038A50 7F003F20 8CEA0018 */ lw $t2, 0x18($a3) -/* 038A54 7F003F24 8C440000 */ lw $a0, ($v0) -/* 038A58 7F003F28 00917821 */ addu $t7, $a0, $s1 -.L7F003F2C: -/* 038A5C 7F003F2C ACCF0000 */ sw $t7, ($a2) -/* 038A60 7F003F30 8CF80010 */ lw $t8, 0x10($a3) -/* 038A64 7F003F34 00001825 */ move $v1, $zero -/* 038A68 7F003F38 03053021 */ addu $a2, $t8, $a1 -/* 038A6C 7F003F3C 8CC40000 */ lw $a0, ($a2) -/* 038A70 7F003F40 8C880000 */ lw $t0, ($a0) -/* 038A74 7F003F44 00801025 */ move $v0, $a0 -/* 038A78 7F003F48 05020009 */ bltzl $t0, .L7F003F70 -/* 038A7C 7F003F4C A4C30006 */ sh $v1, 6($a2) -/* 038A80 7F003F50 8C490004 */ lw $t1, 4($v0) -.L7F003F54: -/* 038A84 7F003F54 24630001 */ addiu $v1, $v1, 1 -/* 038A88 7F003F58 24420004 */ addiu $v0, $v0, 4 -/* 038A8C 7F003F5C 0523FFFD */ bgezl $t1, .L7F003F54 -/* 038A90 7F003F60 8C490004 */ lw $t1, 4($v0) -/* 038A94 7F003F64 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) -/* 038A98 7F003F68 24E75D00 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d00 -/* 038A9C 7F003F6C A4C30006 */ sh $v1, 6($a2) -.L7F003F70: -/* 038AA0 7F003F70 8CF90010 */ lw $t9, 0x10($a3) -/* 038AA4 7F003F74 24A50008 */ addiu $a1, $a1, 8 -/* 038AA8 7F003F78 03253021 */ addu $a2, $t9, $a1 -/* 038AAC 7F003F7C 8CC40000 */ lw $a0, ($a2) -/* 038AB0 7F003F80 5480FFEA */ bnezl $a0, .L7F003F2C -/* 038AB4 7F003F84 00917821 */ addu $t7, $a0, $s1 -/* 038AB8 7F003F88 8CEA0018 */ lw $t2, 0x18($a3) -.L7F003F8C: -/* 038ABC 7F003F8C 1140001D */ beqz $t2, .L7F004004 -/* 038AC0 7F003F90 00000000 */ nop -/* 038AC4 7F003F94 0FC2D20C */ jal get_room_data_float2 -/* 038AC8 7F003F98 00000000 */ nop -/* 038ACC 7F003F9C 3C108007 */ lui $s0, %hi(ptr_0xxxpresets) -/* 038AD0 7F003FA0 8E105D18 */ lw $s0, %lo(ptr_0xxxpresets)($s0) -/* 038AD4 7F003FA4 46000086 */ mov.s $f2, $f0 -/* 038AD8 7F003FA8 8E020024 */ lw $v0, 0x24($s0) -/* 038ADC 7F003FAC 10400015 */ beqz $v0, .L7F004004 -/* 038AE0 7F003FB0 00000000 */ nop -/* 038AE4 7F003FB4 C6060000 */ lwc1 $f6, ($s0) -.L7F003FB8: -/* 038AE8 7F003FB8 C60A0004 */ lwc1 $f10, 4($s0) -/* 038AEC 7F003FBC C6120008 */ lwc1 $f18, 8($s0) -/* 038AF0 7F003FC0 46023202 */ mul.s $f8, $f6, $f2 -/* 038AF4 7F003FC4 02222821 */ addu $a1, $s1, $v0 -/* 038AF8 7F003FC8 AE050024 */ sw $a1, 0x24($s0) -/* 038AFC 7F003FCC 46025402 */ mul.s $f16, $f10, $f2 -/* 038B00 7F003FD0 02002025 */ move $a0, $s0 -/* 038B04 7F003FD4 26060028 */ addiu $a2, $s0, 0x28 -/* 038B08 7F003FD8 46029102 */ mul.s $f4, $f18, $f2 -/* 038B0C 7F003FDC E6080000 */ swc1 $f8, ($s0) -/* 038B10 7F003FE0 E6100004 */ swc1 $f16, 4($s0) -/* 038B14 7F003FE4 E6040008 */ swc1 $f4, 8($s0) -/* 038B18 7F003FE8 0FC019F0 */ jal init_pathtable_something -/* 038B1C 7F003FEC E7A2015C */ swc1 $f2, 0x15c($sp) -/* 038B20 7F003FF0 8E020050 */ lw $v0, 0x50($s0) -/* 038B24 7F003FF4 2610002C */ addiu $s0, $s0, 0x2c -/* 038B28 7F003FF8 C7A2015C */ lwc1 $f2, 0x15c($sp) -/* 038B2C 7F003FFC 5440FFEE */ bnezl $v0, .L7F003FB8 -/* 038B30 7F004000 C6060000 */ lwc1 $f6, ($s0) -.L7F004004: -/* 038B34 7F004004 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) -/* 038B38 7F004008 24E75D00 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d00 -/* 038B3C 7F00400C 8CEC001C */ lw $t4, 0x1c($a3) -/* 038B40 7F004010 51800033 */ beql $t4, $zero, .L7F0040E0 -/* 038B44 7F004014 8CE50020 */ lw $a1, 0x20($a3) -/* 038B48 7F004018 0FC2D20C */ jal get_room_data_float2 -/* 038B4C 7F00401C 00000000 */ nop -/* 038B50 7F004020 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) -/* 038B54 7F004024 24E75D00 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d00 -/* 038B58 7F004028 8CF0001C */ lw $s0, 0x1c($a3) -/* 038B5C 7F00402C 46000086 */ mov.s $f2, $f0 -/* 038B60 7F004030 8E020024 */ lw $v0, 0x24($s0) -/* 038B64 7F004034 5040002A */ beql $v0, $zero, .L7F0040E0 -/* 038B68 7F004038 8CE50020 */ lw $a1, 0x20($a3) -/* 038B6C 7F00403C C6060000 */ lwc1 $f6, ($s0) -.L7F004040: -/* 038B70 7F004040 C60A0004 */ lwc1 $f10, 4($s0) -/* 038B74 7F004044 C6120008 */ lwc1 $f18, 8($s0) -/* 038B78 7F004048 46023202 */ mul.s $f8, $f6, $f2 -/* 038B7C 7F00404C C606002C */ lwc1 $f6, 0x2c($s0) -/* 038B80 7F004050 02222821 */ addu $a1, $s1, $v0 -/* 038B84 7F004054 46025402 */ mul.s $f16, $f10, $f2 -/* 038B88 7F004058 C60A0030 */ lwc1 $f10, 0x30($s0) -/* 038B8C 7F00405C AE050024 */ sw $a1, 0x24($s0) -/* 038B90 7F004060 46029102 */ mul.s $f4, $f18, $f2 -/* 038B94 7F004064 E6080000 */ swc1 $f8, ($s0) -/* 038B98 7F004068 C6120034 */ lwc1 $f18, 0x34($s0) -/* 038B9C 7F00406C 46023202 */ mul.s $f8, $f6, $f2 -/* 038BA0 7F004070 E6100004 */ swc1 $f16, 4($s0) -/* 038BA4 7F004074 C6060038 */ lwc1 $f6, 0x38($s0) -/* 038BA8 7F004078 46025402 */ mul.s $f16, $f10, $f2 -/* 038BAC 7F00407C E6040008 */ swc1 $f4, 8($s0) -/* 038BB0 7F004080 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 038BB4 7F004084 46029102 */ mul.s $f4, $f18, $f2 -/* 038BB8 7F004088 E608002C */ swc1 $f8, 0x2c($s0) -/* 038BBC 7F00408C C6120040 */ lwc1 $f18, 0x40($s0) -/* 038BC0 7F004090 46023202 */ mul.s $f8, $f6, $f2 -/* 038BC4 7F004094 E6100030 */ swc1 $f16, 0x30($s0) -/* 038BC8 7F004098 02002025 */ move $a0, $s0 -/* 038BCC 7F00409C 46025402 */ mul.s $f16, $f10, $f2 -/* 038BD0 7F0040A0 E6040034 */ swc1 $f4, 0x34($s0) -/* 038BD4 7F0040A4 26060028 */ addiu $a2, $s0, 0x28 -/* 038BD8 7F0040A8 46029102 */ mul.s $f4, $f18, $f2 -/* 038BDC 7F0040AC E6080038 */ swc1 $f8, 0x38($s0) -/* 038BE0 7F0040B0 E610003C */ swc1 $f16, 0x3c($s0) -/* 038BE4 7F0040B4 E6040040 */ swc1 $f4, 0x40($s0) -/* 038BE8 7F0040B8 0FC019F0 */ jal init_pathtable_something -/* 038BEC 7F0040BC E7A20150 */ swc1 $f2, 0x150($sp) -/* 038BF0 7F0040C0 8E020068 */ lw $v0, 0x68($s0) -/* 038BF4 7F0040C4 26100044 */ addiu $s0, $s0, 0x44 -/* 038BF8 7F0040C8 C7A20150 */ lwc1 $f2, 0x150($sp) -/* 038BFC 7F0040CC 5440FFDC */ bnezl $v0, .L7F004040 -/* 038C00 7F0040D0 C6060000 */ lwc1 $f6, ($s0) -/* 038C04 7F0040D4 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) -/* 038C08 7F0040D8 24E75D00 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d00 -/* 038C0C 7F0040DC 8CE50020 */ lw $a1, 0x20($a3) -.L7F0040E0: -/* 038C10 7F0040E0 50A00010 */ beql $a1, $zero, .L7F004124 -/* 038C14 7F0040E4 8CE50024 */ lw $a1, 0x24($a3) -/* 038C18 7F0040E8 8CAE0000 */ lw $t6, ($a1) -/* 038C1C 7F0040EC 00001025 */ move $v0, $zero -/* 038C20 7F0040F0 00A01825 */ move $v1, $a1 -/* 038C24 7F0040F4 51C0000B */ beql $t6, $zero, .L7F004124 -/* 038C28 7F0040F8 8CE50024 */ lw $a1, 0x24($a3) -/* 038C2C 7F0040FC 8CA40000 */ lw $a0, ($a1) -/* 038C30 7F004100 00917821 */ addu $t7, $a0, $s1 -.L7F004104: -/* 038C34 7F004104 AC6F0000 */ sw $t7, ($v1) -/* 038C38 7F004108 8CF80020 */ lw $t8, 0x20($a3) -/* 038C3C 7F00410C 24420004 */ addiu $v0, $v0, 4 -/* 038C40 7F004110 03021821 */ addu $v1, $t8, $v0 -/* 038C44 7F004114 8C640000 */ lw $a0, ($v1) -/* 038C48 7F004118 5480FFFA */ bnezl $a0, .L7F004104 -/* 038C4C 7F00411C 00917821 */ addu $t7, $a0, $s1 -/* 038C50 7F004120 8CE50024 */ lw $a1, 0x24($a3) -.L7F004124: -/* 038C54 7F004124 50A0000F */ beql $a1, $zero, .L7F004164 -/* 038C58 7F004128 8FAA0278 */ lw $t2, 0x278($sp) -/* 038C5C 7F00412C 8CA80000 */ lw $t0, ($a1) -/* 038C60 7F004130 00001025 */ move $v0, $zero -/* 038C64 7F004134 00A01825 */ move $v1, $a1 -/* 038C68 7F004138 11000009 */ beqz $t0, .L7F004160 -/* 038C6C 7F00413C 01002025 */ move $a0, $t0 -/* 038C70 7F004140 00914821 */ addu $t1, $a0, $s1 -.L7F004144: -/* 038C74 7F004144 AC690000 */ sw $t1, ($v1) -/* 038C78 7F004148 8CF90024 */ lw $t9, 0x24($a3) -/* 038C7C 7F00414C 24420004 */ addiu $v0, $v0, 4 -/* 038C80 7F004150 03221821 */ addu $v1, $t9, $v0 -/* 038C84 7F004154 8C640000 */ lw $a0, ($v1) -/* 038C88 7F004158 5480FFFA */ bnezl $a0, .L7F004144 -/* 038C8C 7F00415C 00914821 */ addu $t1, $a0, $s1 -.L7F004160: -/* 038C90 7F004160 8FAA0278 */ lw $t2, 0x278($sp) -.L7F004164: -/* 038C94 7F004164 11400012 */ beqz $t2, .L7F0041B0 -/* 038C98 7F004168 00000000 */ nop -/* 038C9C 7F00416C 0FC006D4 */ jal load_proptype -/* 038CA0 7F004170 24040009 */ li $a0, 9 -/* 038CA4 7F004174 0FC003AE */ jal alloc_init_GUARDdata_entries -/* 038CA8 7F004178 00402025 */ move $a0, $v0 -/* 038CAC 7F00417C 0FC006D4 */ jal load_proptype -/* 038CB0 7F004180 24040009 */ li $a0, 9 -/* 038CB4 7F004184 0040A025 */ move $s4, $v0 -/* 038CB8 7F004188 0FC006D4 */ jal load_proptype -/* 038CBC 7F00418C 24040008 */ li $a0, 8 -/* 038CC0 7F004190 00409825 */ move $s3, $v0 -/* 038CC4 7F004194 0FC006D4 */ jal load_proptype -/* 038CC8 7F004198 24040004 */ li $a0, 4 -/* 038CCC 7F00419C 02629821 */ addu $s3, $s3, $v0 -/* 038CD0 7F0041A0 0FC006D4 */ jal load_proptype -/* 038CD4 7F0041A4 24040011 */ li $a0, 17 -/* 038CD8 7F0041A8 10000003 */ b .L7F0041B8 -/* 038CDC 7F0041AC 02629821 */ addu $s3, $s3, $v0 -.L7F0041B0: -/* 038CE0 7F0041B0 0FC003AE */ jal alloc_init_GUARDdata_entries -/* 038CE4 7F0041B4 00002025 */ move $a0, $zero -.L7F0041B8: -/* 038CE8 7F0041B8 13C0003A */ beqz $fp, .L7F0042A4 -/* 038CEC 7F0041BC 00000000 */ nop -/* 038CF0 7F0041C0 0FC006D4 */ jal load_proptype -/* 038CF4 7F0041C4 24040001 */ li $a0, 1 -/* 038CF8 7F0041C8 02629821 */ addu $s3, $s3, $v0 -/* 038CFC 7F0041CC 0FC006D4 */ jal load_proptype -/* 038D00 7F0041D0 24040006 */ li $a0, 6 -/* 038D04 7F0041D4 02629821 */ addu $s3, $s3, $v0 -/* 038D08 7F0041D8 0FC006D4 */ jal load_proptype -/* 038D0C 7F0041DC 2404000D */ li $a0, 13 -/* 038D10 7F0041E0 02629821 */ addu $s3, $s3, $v0 -/* 038D14 7F0041E4 0FC006D4 */ jal load_proptype -/* 038D18 7F0041E8 2404000C */ li $a0, 12 -/* 038D1C 7F0041EC 02629821 */ addu $s3, $s3, $v0 -/* 038D20 7F0041F0 0FC006D4 */ jal load_proptype -/* 038D24 7F0041F4 2404000A */ li $a0, 10 -/* 038D28 7F0041F8 02629821 */ addu $s3, $s3, $v0 -/* 038D2C 7F0041FC 0FC006D4 */ jal load_proptype -/* 038D30 7F004200 2404000B */ li $a0, 11 -/* 038D34 7F004204 02629821 */ addu $s3, $s3, $v0 -/* 038D38 7F004208 0FC006D4 */ jal load_proptype -/* 038D3C 7F00420C 24040015 */ li $a0, 21 -/* 038D40 7F004210 02629821 */ addu $s3, $s3, $v0 -/* 038D44 7F004214 0FC006D4 */ jal load_proptype -/* 038D48 7F004218 24040003 */ li $a0, 3 -/* 038D4C 7F00421C 02629821 */ addu $s3, $s3, $v0 -/* 038D50 7F004220 0FC006D4 */ jal load_proptype -/* 038D54 7F004224 2404002A */ li $a0, 42 -/* 038D58 7F004228 02629821 */ addu $s3, $s3, $v0 -/* 038D5C 7F00422C 0FC006D4 */ jal load_proptype -/* 038D60 7F004230 2404002F */ li $a0, 47 -/* 038D64 7F004234 02629821 */ addu $s3, $s3, $v0 -/* 038D68 7F004238 0FC006D4 */ jal load_proptype -/* 038D6C 7F00423C 2404002B */ li $a0, 43 -/* 038D70 7F004240 02629821 */ addu $s3, $s3, $v0 -/* 038D74 7F004244 0FC006D4 */ jal load_proptype -/* 038D78 7F004248 24040029 */ li $a0, 41 -/* 038D7C 7F00424C 02629821 */ addu $s3, $s3, $v0 -/* 038D80 7F004250 0FC006D4 */ jal load_proptype -/* 038D84 7F004254 24040024 */ li $a0, 36 -/* 038D88 7F004258 02629821 */ addu $s3, $s3, $v0 -/* 038D8C 7F00425C 0FC006D4 */ jal load_proptype -/* 038D90 7F004260 24040005 */ li $a0, 5 -/* 038D94 7F004264 02629821 */ addu $s3, $s3, $v0 -/* 038D98 7F004268 0FC006D4 */ jal load_proptype -/* 038D9C 7F00426C 24040007 */ li $a0, 7 -/* 038DA0 7F004270 02629821 */ addu $s3, $s3, $v0 -/* 038DA4 7F004274 0FC006D4 */ jal load_proptype -/* 038DA8 7F004278 24040014 */ li $a0, 20 -/* 038DAC 7F00427C 02629821 */ addu $s3, $s3, $v0 -/* 038DB0 7F004280 0FC006D4 */ jal load_proptype -/* 038DB4 7F004284 24040027 */ li $a0, 39 -/* 038DB8 7F004288 02629821 */ addu $s3, $s3, $v0 -/* 038DBC 7F00428C 0FC006D4 */ jal load_proptype -/* 038DC0 7F004290 2404002D */ li $a0, 45 -/* 038DC4 7F004294 02629821 */ addu $s3, $s3, $v0 -/* 038DC8 7F004298 0FC006D4 */ jal load_proptype -/* 038DCC 7F00429C 24040028 */ li $a0, 40 -/* 038DD0 7F0042A0 0282A021 */ addu $s4, $s4, $v0 -.L7F0042A4: -/* 038DD4 7F0042A4 0FC01550 */ jal sub_GAME_7F005540 -/* 038DD8 7F0042A8 02602025 */ move $a0, $s3 -/* 038DDC 7F0042AC 0FC01589 */ jal sub_GAME_7F005624 -/* 038DE0 7F0042B0 02802025 */ move $a0, $s4 -/* 038DE4 7F0042B4 0FC26919 */ jal get_num_players -/* 038DE8 7F0042B8 00008025 */ move $s0, $zero -/* 038DEC 7F0042BC 1840000C */ blez $v0, .L7F0042F0 -/* 038DF0 7F0042C0 00000000 */ nop -.L7F0042C4: -/* 038DF4 7F0042C4 0FC26C43 */ jal set_cur_player -/* 038DF8 7F0042C8 02002025 */ move $a0, $s0 -/* 038DFC 7F0042CC 0FC006D4 */ jal load_proptype -/* 038E00 7F0042D0 2404000E */ li $a0, 14 -/* 038E04 7F0042D4 0FC01897 */ jal alloc_additional_item_slots -/* 038E08 7F0042D8 00402025 */ move $a0, $v0 -/* 038E0C 7F0042DC 0FC26919 */ jal get_num_players -/* 038E10 7F0042E0 26100001 */ addiu $s0, $s0, 1 -/* 038E14 7F0042E4 0202082A */ slt $at, $s0, $v0 -/* 038E18 7F0042E8 1420FFF6 */ bnez $at, .L7F0042C4 -/* 038E1C 7F0042EC 00000000 */ nop -.L7F0042F0: -/* 038E20 7F0042F0 3C0B8007 */ lui $t3, %hi(ptr_setup_objects) -/* 038E24 7F0042F4 8D6B5D0C */ lw $t3, %lo(ptr_setup_objects)($t3) -/* 038E28 7F0042F8 116002DF */ beqz $t3, .L7F004E78 -/* 038E2C 7F0042FC 00000000 */ nop -/* 038E30 7F004300 0FC2FF04 */ jal get_current_difficulty -/* 038E34 7F004304 00000000 */ nop -/* 038E38 7F004308 244C0004 */ addiu $t4, $v0, 4 -/* 038E3C 7F00430C 240D0001 */ li $t5, 1 -/* 038E40 7F004310 0FC26919 */ jal get_num_players -/* 038E44 7F004314 018DA004 */ sllv $s4, $t5, $t4 -/* 038E48 7F004318 28410002 */ slti $at, $v0, 2 -/* 038E4C 7F00431C 14200007 */ bnez $at, .L7F00433C -/* 038E50 7F004320 00000000 */ nop -/* 038E54 7F004324 0FC26919 */ jal get_num_players -/* 038E58 7F004328 00000000 */ nop -/* 038E5C 7F00432C 244E0014 */ addiu $t6, $v0, 0x14 -/* 038E60 7F004330 240F0001 */ li $t7, 1 -/* 038E64 7F004334 01CFC004 */ sllv $t8, $t7, $t6 -/* 038E68 7F004338 0298A025 */ or $s4, $s4, $t8 -.L7F00433C: -/* 038E6C 7F00433C 3C128007 */ lui $s2, %hi(ptr_setup_objects) -/* 038E70 7F004340 8E525D0C */ lw $s2, %lo(ptr_setup_objects)($s2) -/* 038E74 7F004344 24010030 */ li $at, 48 -/* 038E78 7F004348 00009825 */ move $s3, $zero -/* 038E7C 7F00434C 92430003 */ lbu $v1, 3($s2) -/* 038E80 7F004350 24170034 */ li $s7, 52 -/* 038E84 7F004354 506101F6 */ beql $v1, $at, .L7F004B30 -/* 038E88 7F004358 92430003 */ lbu $v1, 3($s2) -/* 038E8C 7F00435C 4480A000 */ mtc1 $zero, $f20 -/* 038E90 7F004360 3416FFFF */ li $s6, 65535 -/* 038E94 7F004364 2468FFFF */ addiu $t0, $v1, -1 -.L7F004368: -/* 038E98 7F004368 2D01002F */ sltiu $at, $t0, 0x2f -/* 038E9C 7F00436C 102001E3 */ beqz $at, other_obj_expand -/* 038EA0 7F004370 00084080 */ sll $t0, $t0, 2 -/* 038EA4 7F004374 3C018005 */ lui $at, %hi(jpt_object_type_expansion) -/* 038EA8 7F004378 00280821 */ addu $at, $at, $t0 -/* 038EAC 7F00437C 8C28EF68 */ lw $t0, %lo(jpt_object_type_expansion)($at) -/* 038EB0 7F004380 01000008 */ jr $t0 -/* 038EB4 7F004384 00000000 */ nop -actor_attr_expand: -/* 038EB8 7F004388 9250000B */ lbu $s0, 0xb($s2) -/* 038EBC 7F00438C 0FC08BF2 */ jal check_if_guardnum_loaded_get_ptr_GUARDdata -/* 038EC0 7F004390 8E440004 */ lw $a0, 4($s2) -/* 038EC4 7F004394 104001D9 */ beqz $v0, other_obj_expand -/* 038EC8 7F004398 00000000 */ nop -/* 038ECC 7F00439C 8C490018 */ lw $t1, 0x18($v0) -/* 038ED0 7F0043A0 112001D6 */ beqz $t1, other_obj_expand -/* 038ED4 7F0043A4 00000000 */ nop -/* 038ED8 7F0043A8 8C59001C */ lw $t9, 0x1c($v0) -/* 038EDC 7F0043AC 132001D3 */ beqz $t9, other_obj_expand -/* 038EE0 7F0043B0 00000000 */ nop -/* 038EE4 7F0043B4 100001D1 */ b other_obj_expand -/* 038EE8 7F0043B8 A0500010 */ sb $s0, 0x10($v0) -actor_expand: -/* 038EEC 7F0043BC 8FAA0278 */ lw $t2, 0x278($sp) -/* 038EF0 7F0043C0 02A02025 */ move $a0, $s5 -/* 038EF4 7F0043C4 02402825 */ move $a1, $s2 -/* 038EF8 7F0043C8 114001CC */ beqz $t2, other_obj_expand -/* 038EFC 7F0043CC 00000000 */ nop -/* 038F00 7F0043D0 0FC08DC3 */ jal expand_09_characters -/* 038F04 7F0043D4 02603025 */ move $a2, $s3 -/* 038F08 7F0043D8 100001C8 */ b other_obj_expand -/* 038F0C 7F0043DC 00000000 */ nop -door_expand: -/* 038F10 7F0043E0 13C001C6 */ beqz $fp, other_obj_expand -/* 038F14 7F0043E4 00000000 */ nop -/* 038F18 7F0043E8 8E4B000C */ lw $t3, 0xc($s2) -/* 038F1C 7F0043EC 02A02025 */ move $a0, $s5 -/* 038F20 7F0043F0 02402825 */ move $a1, $s2 -/* 038F24 7F0043F4 01746824 */ and $t5, $t3, $s4 -/* 038F28 7F0043F8 15A001C0 */ bnez $t5, other_obj_expand -/* 038F2C 7F0043FC 00000000 */ nop -/* 038F30 7F004400 0FC00D20 */ jal sub_GAME_7F003480 -/* 038F34 7F004404 02603025 */ move $a2, $s3 -/* 038F38 7F004408 100001BC */ b other_obj_expand -/* 038F3C 7F00440C 00000000 */ nop -door_scale_expand: -/* 038F40 7F004410 8E4C0004 */ lw $t4, 4($s2) -/* 038F44 7F004414 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 038F48 7F004418 44815000 */ mtc1 $at, $f10 -/* 038F4C 7F00441C 448C3000 */ mtc1 $t4, $f6 -/* 038F50 7F004420 3C018003 */ lui $at, %hi(scale_1_0_item_related) -/* 038F54 7F004424 46803220 */ cvt.s.w $f8, $f6 -/* 038F58 7F004428 460A4403 */ div.s $f16, $f8, $f10 -/* 038F5C 7F00442C 100001B3 */ b other_obj_expand -/* 038F60 7F004430 E430A3C0 */ swc1 $f16, %lo(scale_1_0_item_related)($at) -item_expand: -/* 038F64 7F004434 8FAF0278 */ lw $t7, 0x278($sp) -/* 038F68 7F004438 11E001B0 */ beqz $t7, other_obj_expand -/* 038F6C 7F00443C 00000000 */ nop -/* 038F70 7F004440 8E4E000C */ lw $t6, 0xc($s2) -/* 038F74 7F004444 02A02025 */ move $a0, $s5 -/* 038F78 7F004448 02402825 */ move $a1, $s2 -/* 038F7C 7F00444C 01D4C024 */ and $t8, $t6, $s4 -/* 038F80 7F004450 170001AA */ bnez $t8, other_obj_expand -/* 038F84 7F004454 00000000 */ nop -/* 038F88 7F004458 0FC009CE */ jal expand_08_obj_set_guard_MP_weapons -/* 038F8C 7F00445C 02603025 */ move $a2, $s3 -/* 038F90 7F004460 100001A6 */ b other_obj_expand -/* 038F94 7F004464 00000000 */ nop -key_expand: -/* 038F98 7F004468 8FA80278 */ lw $t0, 0x278($sp) -/* 038F9C 7F00446C 110001A3 */ beqz $t0, other_obj_expand -/* 038FA0 7F004470 00000000 */ nop -/* 038FA4 7F004474 8E49000C */ lw $t1, 0xc($s2) -/* 038FA8 7F004478 02A02025 */ move $a0, $s5 -/* 038FAC 7F00447C 02402825 */ move $a1, $s2 -/* 038FB0 7F004480 0134C824 */ and $t9, $t1, $s4 -/* 038FB4 7F004484 1720019D */ bnez $t9, other_obj_expand -/* 038FB8 7F004488 00000000 */ nop -/* 038FBC 7F00448C 0FC00A87 */ jal jmp_prepare_load_objects -/* 038FC0 7F004490 02603025 */ move $a2, $s3 -/* 038FC4 7F004494 10000199 */ b other_obj_expand -/* 038FC8 7F004498 00000000 */ nop -hat_expand: -/* 038FCC 7F00449C 8FAA0278 */ lw $t2, 0x278($sp) -/* 038FD0 7F0044A0 11400196 */ beqz $t2, other_obj_expand -/* 038FD4 7F0044A4 00000000 */ nop -/* 038FD8 7F0044A8 8E4B000C */ lw $t3, 0xc($s2) -/* 038FDC 7F0044AC 02A02025 */ move $a0, $s5 -/* 038FE0 7F0044B0 02402825 */ move $a1, $s2 -/* 038FE4 7F0044B4 01746824 */ and $t5, $t3, $s4 -/* 038FE8 7F0044B8 15A00190 */ bnez $t5, other_obj_expand -/* 038FEC 7F0044BC 00000000 */ nop -/* 038FF0 7F0044C0 0FC00A6A */ jal MP_weapon_expansion_routine -/* 038FF4 7F0044C4 02603025 */ move $a2, $s3 -/* 038FF8 7F0044C8 1000018C */ b other_obj_expand -/* 038FFC 7F0044CC 00000000 */ nop -surv_camera_expand: -/* 039000 7F0044D0 13C0018A */ beqz $fp, other_obj_expand -/* 039004 7F0044D4 00000000 */ nop -/* 039008 7F0044D8 8E4C000C */ lw $t4, 0xc($s2) -/* 03900C 7F0044DC 02A02025 */ move $a0, $s5 -/* 039010 7F0044E0 02402825 */ move $a1, $s2 -/* 039014 7F0044E4 01947824 */ and $t7, $t4, $s4 -/* 039018 7F0044E8 15E00184 */ bnez $t7, other_obj_expand -/* 03901C 7F0044EC 00000000 */ nop -/* 039020 7F0044F0 0FC00A8F */ jal sub_GAME_7F002A3C -/* 039024 7F0044F4 02603025 */ move $a2, $s3 -/* 039028 7F0044F8 10000180 */ b other_obj_expand -/* 03902C 7F0044FC 00000000 */ nop -autogun_expand: -/* 039030 7F004500 13C0017E */ beqz $fp, other_obj_expand -/* 039034 7F004504 00000000 */ nop -/* 039038 7F004508 8E4E000C */ lw $t6, 0xc($s2) -/* 03903C 7F00450C 02A02025 */ move $a0, $s5 -/* 039040 7F004510 02402825 */ move $a1, $s2 -/* 039044 7F004514 01D4C024 */ and $t8, $t6, $s4 -/* 039048 7F004518 17000178 */ bnez $t8, other_obj_expand -/* 03904C 7F00451C 00000000 */ nop -/* 039050 7F004520 0FC00B16 */ jal expand_type_0D_object_autoturret -/* 039054 7F004524 02603025 */ move $a2, $s3 -/* 039058 7F004528 10000174 */ b other_obj_expand -/* 03905C 7F00452C 00000000 */ nop -rack_expand: -/* 039060 7F004530 13C00172 */ beqz $fp, other_obj_expand -/* 039064 7F004534 00000000 */ nop -/* 039068 7F004538 8E48000C */ lw $t0, 0xc($s2) -/* 03906C 7F00453C 02A02025 */ move $a0, $s5 -/* 039070 7F004540 02402825 */ move $a1, $s2 -/* 039074 7F004544 01144824 */ and $t1, $t0, $s4 -/* 039078 7F004548 1520016C */ bnez $t1, other_obj_expand -/* 03907C 7F00454C 00000000 */ nop -/* 039080 7F004550 0FC00B87 */ jal jmp_prepare_load_objects_0 -/* 039084 7F004554 02603025 */ move $a2, $s3 -/* 039088 7F004558 10000168 */ b other_obj_expand -/* 03908C 7F00455C 00000000 */ nop -single_screen_display_expand: -/* 039090 7F004560 13C00166 */ beqz $fp, other_obj_expand -/* 039094 7F004564 00000000 */ nop -/* 039098 7F004568 8E59000C */ lw $t9, 0xc($s2) -/* 03909C 7F00456C 02A02025 */ move $a0, $s5 -/* 0390A0 7F004570 02402825 */ move $a1, $s2 -/* 0390A4 7F004574 03345024 */ and $t2, $t9, $s4 -/* 0390A8 7F004578 15400160 */ bnez $t2, other_obj_expand -/* 0390AC 7F00457C 00000000 */ nop -/* 0390B0 7F004580 0FC00B8F */ jal sub_GAME_7F002E3C -/* 0390B4 7F004584 02603025 */ move $a2, $s3 -/* 0390B8 7F004588 1000015C */ b other_obj_expand -/* 0390BC 7F00458C 00000000 */ nop -multi_screen_display_expand: -/* 0390C0 7F004590 13C0015A */ beqz $fp, other_obj_expand -/* 0390C4 7F004594 00000000 */ nop -/* 0390C8 7F004598 8E4B000C */ lw $t3, 0xc($s2) -/* 0390CC 7F00459C 02A02025 */ move $a0, $s5 -/* 0390D0 7F0045A0 02402825 */ move $a1, $s2 -/* 0390D4 7F0045A4 01746824 */ and $t5, $t3, $s4 -/* 0390D8 7F0045A8 15A00154 */ bnez $t5, other_obj_expand -/* 0390DC 7F0045AC 00000000 */ nop -/* 0390E0 7F0045B0 0FC00C34 */ jal sub_GAME_7F0030D0 -/* 0390E4 7F0045B4 02603025 */ move $a2, $s3 -/* 0390E8 7F0045B8 10000150 */ b other_obj_expand -/* 0390EC 7F0045BC 00000000 */ nop -body_armor_expand: -/* 0390F0 7F0045C0 13C0014E */ beqz $fp, other_obj_expand -/* 0390F4 7F0045C4 00000000 */ nop -/* 0390F8 7F0045C8 8E4C000C */ lw $t4, 0xc($s2) -/* 0390FC 7F0045CC 01947824 */ and $t7, $t4, $s4 -/* 039100 7F0045D0 15E0014A */ bnez $t7, other_obj_expand -/* 039104 7F0045D4 00000000 */ nop -/* 039108 7F0045D8 8E4E0080 */ lw $t6, 0x80($s2) -/* 03910C 7F0045DC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 039110 7F0045E0 44813000 */ mtc1 $at, $f6 -/* 039114 7F0045E4 448E9000 */ mtc1 $t6, $f18 -/* 039118 7F0045E8 02A02025 */ move $a0, $s5 -/* 03911C 7F0045EC 02402825 */ move $a1, $s2 -/* 039120 7F0045F0 46809120 */ cvt.s.w $f4, $f18 -/* 039124 7F0045F4 02603025 */ move $a2, $s3 -/* 039128 7F0045F8 46062203 */ div.s $f8, $f4, $f6 -/* 03912C 7F0045FC E6480080 */ swc1 $f8, 0x80($s2) -/* 039130 7F004600 C64A0080 */ lwc1 $f10, 0x80($s2) -/* 039134 7F004604 0FC00767 */ jal prepare_load_objects -/* 039138 7F004608 E64A0084 */ swc1 $f10, 0x84($s2) -/* 03913C 7F00460C 1000013B */ b other_obj_expand -/* 039140 7F004610 00000000 */ nop -type2F_tinted_glass: -/* 039144 7F004614 13C00139 */ beqz $fp, other_obj_expand -/* 039148 7F004618 00000000 */ nop -/* 03914C 7F00461C 8E58000C */ lw $t8, 0xc($s2) -/* 039150 7F004620 03144024 */ and $t0, $t8, $s4 -/* 039154 7F004624 15000135 */ bnez $t0, other_obj_expand -/* 039158 7F004628 00000000 */ nop -/* 03915C 7F00462C 8E490008 */ lw $t1, 8($s2) -/* 039160 7F004630 0009C8C0 */ sll $t9, $t1, 3 -/* 039164 7F004634 07230039 */ bgezl $t9, .L7F00471C -/* 039168 7F004638 02A02025 */ move $a0, $s5 -/* 03916C 7F00463C 86420006 */ lh $v0, 6($s2) -/* 039170 7F004640 3C0B8007 */ lui $t3, %hi(ptr_2xxxpresets) -/* 039174 7F004644 27A50118 */ addiu $a1, $sp, 0x118 -/* 039178 7F004648 28412710 */ slti $at, $v0, 0x2710 -/* 03917C 7F00464C 14200032 */ bnez $at, .L7F004718 -/* 039180 7F004650 00025100 */ sll $t2, $v0, 4 -/* 039184 7F004654 8D6B5D1C */ lw $t3, %lo(ptr_2xxxpresets)($t3) -/* 039188 7F004658 01425021 */ addu $t2, $t2, $v0 -/* 03918C 7F00465C 000A5080 */ sll $t2, $t2, 2 -/* 039190 7F004660 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 039194 7F004664 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 039198 7F004668 014B8021 */ addu $s0, $t2, $t3 -/* 03919C 7F00466C 02018021 */ addu $s0, $s0, $at -/* 0391A0 7F004670 0FC006F5 */ jal sub_GAME_7F001BD4 -/* 0391A4 7F004674 02002025 */ move $a0, $s0 -/* 0391A8 7F004678 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0391AC 7F00467C 44810000 */ mtc1 $at, $f0 -/* 0391B0 7F004680 C610000C */ lwc1 $f16, 0xc($s0) -/* 0391B4 7F004684 C7A40118 */ lwc1 $f4, 0x118($sp) -/* 0391B8 7F004688 27A40118 */ addiu $a0, $sp, 0x118 -/* 0391BC 7F00468C 46008482 */ mul.s $f18, $f16, $f0 -/* 0391C0 7F004690 C7B0011C */ lwc1 $f16, 0x11c($sp) -/* 0391C4 7F004694 27A5010C */ addiu $a1, $sp, 0x10c -/* 0391C8 7F004698 46049180 */ add.s $f6, $f18, $f4 -/* 0391CC 7F00469C E7A6010C */ swc1 $f6, 0x10c($sp) -/* 0391D0 7F0046A0 C6080010 */ lwc1 $f8, 0x10($s0) -/* 0391D4 7F0046A4 46004282 */ mul.s $f10, $f8, $f0 -/* 0391D8 7F0046A8 46105480 */ add.s $f18, $f10, $f16 -/* 0391DC 7F0046AC C7AA0120 */ lwc1 $f10, 0x120($sp) -/* 0391E0 7F0046B0 E7B20110 */ swc1 $f18, 0x110($sp) -/* 0391E4 7F0046B4 C6060014 */ lwc1 $f6, 0x14($s0) -/* 0391E8 7F0046B8 46003202 */ mul.s $f8, $f6, $f0 -/* 0391EC 7F0046BC 460A4480 */ add.s $f18, $f8, $f10 -/* 0391F0 7F0046C0 E7B20114 */ swc1 $f18, 0x114($sp) -/* 0391F4 7F0046C4 C606000C */ lwc1 $f6, 0xc($s0) -/* 0391F8 7F0046C8 46060202 */ mul.s $f8, $f0, $f6 -/* 0391FC 7F0046CC 46082481 */ sub.s $f18, $f4, $f8 -/* 039200 7F0046D0 E7B20118 */ swc1 $f18, 0x118($sp) -/* 039204 7F0046D4 C6060010 */ lwc1 $f6, 0x10($s0) -/* 039208 7F0046D8 46060102 */ mul.s $f4, $f0, $f6 -/* 03920C 7F0046DC 46048201 */ sub.s $f8, $f16, $f4 -/* 039210 7F0046E0 E7A8011C */ swc1 $f8, 0x11c($sp) -/* 039214 7F0046E4 C6120014 */ lwc1 $f18, 0x14($s0) -/* 039218 7F0046E8 46120182 */ mul.s $f6, $f0, $f18 -/* 03921C 7F0046EC 46065401 */ sub.s $f16, $f10, $f6 -/* 039220 7F0046F0 0FC2E781 */ jal sub_GAME_7F0B9E04 -/* 039224 7F0046F4 E7B00120 */ swc1 $f16, 0x120($sp) -/* 039228 7F0046F8 8E4D0090 */ lw $t5, 0x90($s2) -/* 03922C 7F0046FC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 039230 7F004700 44819000 */ mtc1 $at, $f18 -/* 039234 7F004704 448D2000 */ mtc1 $t5, $f4 -/* 039238 7F004708 AE42008C */ sw $v0, 0x8c($s2) -/* 03923C 7F00470C 46802220 */ cvt.s.w $f8, $f4 -/* 039240 7F004710 46124283 */ div.s $f10, $f8, $f18 -/* 039244 7F004714 E64A0090 */ swc1 $f10, 0x90($s2) -.L7F004718: -/* 039248 7F004718 02A02025 */ move $a0, $s5 -.L7F00471C: -/* 03924C 7F00471C 02402825 */ move $a1, $s2 -/* 039250 7F004720 0FC00767 */ jal prepare_load_objects -/* 039254 7F004724 02603025 */ move $a2, $s3 -/* 039258 7F004728 100000F4 */ b other_obj_expand -/* 03925C 7F00472C 00000000 */ nop -obj_03_expand: -/* 039260 7F004730 13C000F2 */ beqz $fp, other_obj_expand -/* 039264 7F004734 00000000 */ nop -/* 039268 7F004738 8E4C000C */ lw $t4, 0xc($s2) -/* 03926C 7F00473C 02A02025 */ move $a0, $s5 -/* 039270 7F004740 02402825 */ move $a1, $s2 -/* 039274 7F004744 01947824 */ and $t7, $t4, $s4 -/* 039278 7F004748 15E000EC */ bnez $t7, other_obj_expand -/* 03927C 7F00474C 00000000 */ nop -/* 039280 7F004750 0FC00767 */ jal prepare_load_objects -/* 039284 7F004754 02603025 */ move $a2, $s3 -/* 039288 7F004758 100000E8 */ b other_obj_expand -/* 03928C 7F00475C 00000000 */ nop -ammo_box_expand: -/* 039290 7F004760 0FC26919 */ jal get_num_players -/* 039294 7F004764 24100001 */ li $s0, 1 -/* 039298 7F004768 28410002 */ slti $at, $v0, 2 -/* 03929C 7F00476C 1420000E */ bnez $at, .L7F0047A8 -/* 0392A0 7F004770 00000000 */ nop -/* 0392A4 7F004774 0FC31985 */ jal get_ptr_mp_weapon_set_data -/* 0392A8 7F004778 00000000 */ nop -/* 0392AC 7F00477C 3C0E8007 */ lui $t6, %hi(lastmpweaponnum) -/* 0392B0 7F004780 8DCE9540 */ lw $t6, %lo(lastmpweaponnum)($t6) -/* 0392B4 7F004784 000EC080 */ sll $t8, $t6, 2 -/* 0392B8 7F004788 030EC023 */ subu $t8, $t8, $t6 -/* 0392BC 7F00478C 0018C0C0 */ sll $t8, $t8, 3 -/* 0392C0 7F004790 00581821 */ addu $v1, $v0, $t8 -/* 0392C4 7F004794 8C64000C */ lw $a0, 0xc($v1) -/* 0392C8 7F004798 8C700010 */ lw $s0, 0x10($v1) -/* 0392CC 7F00479C 00044080 */ sll $t0, $a0, 2 -/* 0392D0 7F0047A0 02484821 */ addu $t1, $s2, $t0 -/* 0392D4 7F0047A4 A530007E */ sh $s0, 0x7e($t1) -.L7F0047A8: -/* 0392D8 7F0047A8 1A0000D4 */ blez $s0, other_obj_expand -/* 0392DC 7F0047AC 00000000 */ nop -/* 0392E0 7F0047B0 13C000D2 */ beqz $fp, other_obj_expand -/* 0392E4 7F0047B4 00000000 */ nop -/* 0392E8 7F0047B8 8E59000C */ lw $t9, 0xc($s2) -/* 0392EC 7F0047BC 00008825 */ move $s1, $zero -/* 0392F0 7F0047C0 02408025 */ move $s0, $s2 -/* 0392F4 7F0047C4 03345024 */ and $t2, $t9, $s4 -/* 0392F8 7F0047C8 154000CC */ bnez $t2, other_obj_expand -/* 0392FC 7F0047CC 00000000 */ nop -.L7F0047D0: -/* 039300 7F0047D0 960B0082 */ lhu $t3, 0x82($s0) -/* 039304 7F0047D4 59600007 */ blezl $t3, .L7F0047F4 -/* 039308 7F0047D8 26310004 */ addiu $s1, $s1, 4 -/* 03930C 7F0047DC 96040080 */ lhu $a0, 0x80($s0) -/* 039310 7F0047E0 52C40004 */ beql $s6, $a0, .L7F0047F4 -/* 039314 7F0047E4 26310004 */ addiu $s1, $s1, 4 -/* 039318 7F0047E8 0FC15B0E */ jal load_model -/* 03931C 7F0047EC 00000000 */ nop -/* 039320 7F0047F0 26310004 */ addiu $s1, $s1, 4 -.L7F0047F4: -/* 039324 7F0047F4 1637FFF6 */ bne $s1, $s7, .L7F0047D0 -/* 039328 7F0047F8 26100004 */ addiu $s0, $s0, 4 -/* 03932C 7F0047FC 02A02025 */ move $a0, $s5 -/* 039330 7F004800 02402825 */ move $a1, $s2 -/* 039334 7F004804 0FC00767 */ jal prepare_load_objects -/* 039338 7F004808 02603025 */ move $a2, $s3 -/* 03933C 7F00480C 100000BB */ b other_obj_expand -/* 039340 7F004810 00000000 */ nop -type2D_tank: -/* 039344 7F004814 13C000B9 */ beqz $fp, other_obj_expand -/* 039348 7F004818 00000000 */ nop -/* 03934C 7F00481C 8E4D000C */ lw $t5, 0xc($s2) -/* 039350 7F004820 24040020 */ li $a0, 32 -/* 039354 7F004824 01B46024 */ and $t4, $t5, $s4 -/* 039358 7F004828 158000B4 */ bnez $t4, other_obj_expand -/* 03935C 7F00482C 00000000 */ nop -/* 039360 7F004830 0FC015C4 */ jal set_weapon_model_generated_thrown_object -/* 039364 7F004834 E7B400E8 */ swc1 $f20, 0xe8($sp) -/* 039368 7F004838 02A02025 */ move $a0, $s5 -/* 03936C 7F00483C 02402825 */ move $a1, $s2 -/* 039370 7F004840 0FC00767 */ jal prepare_load_objects -/* 039374 7F004844 02603025 */ move $a2, $s3 -/* 039378 7F004848 E65400C8 */ swc1 $f20, 0xc8($s2) -/* 03937C 7F00484C E65400CC */ swc1 $f20, 0xcc($s2) -/* 039380 7F004850 C64C0038 */ lwc1 $f12, 0x38($s2) -/* 039384 7F004854 0FC16A8C */ jal convert_angle_using_inverse -/* 039388 7F004858 C64E0040 */ lwc1 $f14, 0x40($s2) -/* 03938C 7F00485C 3C018005 */ lui $at, %hi(D_8004F024) -/* 039390 7F004860 C426F024 */ lwc1 $f6, %lo(D_8004F024)($at) -/* 039394 7F004864 8E420010 */ lw $v0, 0x10($s2) -/* 039398 7F004868 46003401 */ sub.s $f16, $f6, $f0 -/* 03939C 7F00486C 10400006 */ beqz $v0, .L7F004888 -/* 0393A0 7F004870 E65000DC */ swc1 $f16, 0xdc($s2) -/* 0393A4 7F004874 8C440014 */ lw $a0, 0x14($v0) -/* 0393A8 7F004878 8C450008 */ lw $a1, 8($v0) -/* 0393AC 7F00487C 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0393B0 7F004880 8C460010 */ lw $a2, 0x10($v0) -/* 0393B4 7F004884 E7A000E8 */ swc1 $f0, 0xe8($sp) -.L7F004888: -/* 0393B8 7F004888 C7A200E8 */ lwc1 $f2, 0xe8($sp) -/* 0393BC 7F00488C 3C018005 */ lui $at, %hi(D_8004F028) -/* 0393C0 7F004890 E64200D4 */ swc1 $f2, 0xd4($s2) -/* 0393C4 7F004894 C424F028 */ lwc1 $f4, %lo(D_8004F028)($at) -/* 0393C8 7F004898 46041203 */ div.s $f8, $f2, $f4 -/* 0393CC 7F00489C 10000097 */ b other_obj_expand -/* 0393D0 7F0048A0 E64800D0 */ swc1 $f8, 0xd0($s2) -type27_wheeled_vehicle: -/* 0393D4 7F0048A4 13C00095 */ beqz $fp, other_obj_expand -/* 0393D8 7F0048A8 00000000 */ nop -/* 0393DC 7F0048AC 8E4F000C */ lw $t7, 0xc($s2) -/* 0393E0 7F0048B0 02A02025 */ move $a0, $s5 -/* 0393E4 7F0048B4 02402825 */ move $a1, $s2 -/* 0393E8 7F0048B8 01F47024 */ and $t6, $t7, $s4 -/* 0393EC 7F0048BC 15C0008F */ bnez $t6, other_obj_expand -/* 0393F0 7F0048C0 00000000 */ nop -/* 0393F4 7F0048C4 0FC00767 */ jal prepare_load_objects -/* 0393F8 7F0048C8 02603025 */ move $a2, $s3 -/* 0393FC 7F0048CC 8E440014 */ lw $a0, 0x14($s2) -/* 039400 7F0048D0 5080000E */ beql $a0, $zero, .L7F00490C -/* 039404 7F0048D4 3C01BF80 */ lui $at, 0xbf80 -/* 039408 7F0048D8 8C980008 */ lw $t8, 8($a0) -/* 03940C 7F0048DC 8F080008 */ lw $t0, 8($t8) -/* 039410 7F0048E0 8D050014 */ lw $a1, 0x14($t0) -/* 039414 7F0048E4 50A00009 */ beql $a1, $zero, .L7F00490C -/* 039418 7F0048E8 3C01BF80 */ lui $at, 0xbf80 -/* 03941C 7F0048EC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 039420 7F0048F0 00000000 */ nop -/* 039424 7F0048F4 8E490008 */ lw $t1, 8($s2) -/* 039428 7F0048F8 3C011000 */ li $at, 0x10000000 # 0.000000 -/* 03942C 7F0048FC 0121C824 */ and $t9, $t1, $at -/* 039430 7F004900 2F2A0001 */ sltiu $t2, $t9, 1 -/* 039434 7F004904 AC4A0000 */ sw $t2, ($v0) -/* 039438 7F004908 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L7F00490C: -/* 03943C 7F00490C 44819000 */ mtc1 $at, $f18 -/* 039440 7F004910 E6540088 */ swc1 $f20, 0x88($s2) -/* 039444 7F004914 E654008C */ swc1 $f20, 0x8c($s2) -/* 039448 7F004918 E6540090 */ swc1 $f20, 0x90($s2) -/* 03944C 7F00491C E6540094 */ swc1 $f20, 0x94($s2) -/* 039450 7F004920 E654009C */ swc1 $f20, 0x9c($s2) -/* 039454 7F004924 E65400A0 */ swc1 $f20, 0xa0($s2) -/* 039458 7F004928 8E440080 */ lw $a0, 0x80($s2) -/* 03945C 7F00492C 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 039460 7F004930 E6520098 */ swc1 $f18, 0x98($s2) -/* 039464 7F004934 240BFFFF */ li $t3, -1 -/* 039468 7F004938 AE420080 */ sw $v0, 0x80($s2) -/* 03946C 7F00493C A6400084 */ sh $zero, 0x84($s2) -/* 039470 7F004940 A64B0086 */ sh $t3, 0x86($s2) -/* 039474 7F004944 AE4000A4 */ sw $zero, 0xa4($s2) -/* 039478 7F004948 AE4000A8 */ sw $zero, 0xa8($s2) -/* 03947C 7F00494C 1000006B */ b other_obj_expand -/* 039480 7F004950 AE4000AC */ sw $zero, 0xac($s2) -type28_aircraft: -/* 039484 7F004954 13C00069 */ beqz $fp, other_obj_expand -/* 039488 7F004958 00000000 */ nop -/* 03948C 7F00495C 8E4D000C */ lw $t5, 0xc($s2) -/* 039490 7F004960 02A02025 */ move $a0, $s5 -/* 039494 7F004964 02402825 */ move $a1, $s2 -/* 039498 7F004968 01B46024 */ and $t4, $t5, $s4 -/* 03949C 7F00496C 15800063 */ bnez $t4, other_obj_expand -/* 0394A0 7F004970 00000000 */ nop -/* 0394A4 7F004974 0FC00767 */ jal prepare_load_objects -/* 0394A8 7F004978 02603025 */ move $a2, $s3 -/* 0394AC 7F00497C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0394B0 7F004980 44810000 */ mtc1 $at, $f0 -/* 0394B4 7F004984 E6540098 */ swc1 $f20, 0x98($s2) -/* 0394B8 7F004988 E654009C */ swc1 $f20, 0x9c($s2) -/* 0394BC 7F00498C E6540088 */ swc1 $f20, 0x88($s2) -/* 0394C0 7F004990 E654008C */ swc1 $f20, 0x8c($s2) -/* 0394C4 7F004994 E6540090 */ swc1 $f20, 0x90($s2) -/* 0394C8 7F004998 E65400A4 */ swc1 $f20, 0xa4($s2) -/* 0394CC 7F00499C 8E440080 */ lw $a0, 0x80($s2) -/* 0394D0 7F0049A0 E64000A0 */ swc1 $f0, 0xa0($s2) -/* 0394D4 7F0049A4 0FC0D4E6 */ jal LoadNext_PrevActionBlock -/* 0394D8 7F0049A8 E6400094 */ swc1 $f0, 0x94($s2) -/* 0394DC 7F0049AC 240FFFFF */ li $t7, -1 -/* 0394E0 7F0049B0 AE420080 */ sw $v0, 0x80($s2) -/* 0394E4 7F0049B4 A6400084 */ sh $zero, 0x84($s2) -/* 0394E8 7F0049B8 A64F0086 */ sh $t7, 0x86($s2) -/* 0394EC 7F0049BC AE4000A8 */ sw $zero, 0xa8($s2) -/* 0394F0 7F0049C0 AE4000AC */ sw $zero, 0xac($s2) -/* 0394F4 7F0049C4 1000004D */ b other_obj_expand -/* 0394F8 7F0049C8 AE4000B0 */ sw $zero, 0xb0($s2) -tag_expand: -/* 0394FC 7F0049CC 864E0006 */ lh $t6, 6($s2) -/* 039500 7F0049D0 02A02025 */ move $a0, $s5 -/* 039504 7F0049D4 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 039508 7F0049D8 01D32821 */ addu $a1, $t6, $s3 -/* 03950C 7F0049DC 10400004 */ beqz $v0, .L7F0049F0 -/* 039510 7F0049E0 AE42000C */ sw $v0, 0xc($s2) -/* 039514 7F0049E4 8C580064 */ lw $t8, 0x64($v0) -/* 039518 7F0049E8 37080010 */ ori $t0, $t8, 0x10 -/* 03951C 7F0049EC AC480064 */ sw $t0, 0x64($v0) -.L7F0049F0: -/* 039520 7F0049F0 0FC013E2 */ jal set_parent_cur_tag_entry -/* 039524 7F0049F4 02402025 */ move $a0, $s2 -/* 039528 7F0049F8 10000040 */ b other_obj_expand -/* 03952C 7F0049FC 00000000 */ nop -type25_rename: -/* 039530 7F004A00 8E490004 */ lw $t1, 4($s2) -/* 039534 7F004A04 02A02025 */ move $a0, $s5 -/* 039538 7F004A08 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 03953C 7F004A0C 01332821 */ addu $a1, $t1, $s3 -/* 039540 7F004A10 10400004 */ beqz $v0, .L7F004A24 -/* 039544 7F004A14 AE420024 */ sw $v0, 0x24($s2) -/* 039548 7F004A18 8C590064 */ lw $t9, 0x64($v0) -/* 03954C 7F004A1C 372A0400 */ ori $t2, $t9, 0x400 -/* 039550 7F004A20 AC4A0064 */ sw $t2, 0x64($v0) -.L7F004A24: -/* 039554 7F004A24 0FC23628 */ jal sub_GAME_7F08D8A0 -/* 039558 7F004A28 02402025 */ move $a0, $s2 -/* 03955C 7F004A2C 10000033 */ b other_obj_expand -/* 039560 7F004A30 00000000 */ nop -type23_solo_brief_text: -/* 039564 7F004A34 0FC013E8 */ jal setup_briefing_text_entry_parent -/* 039568 7F004A38 02402025 */ move $a0, $s2 -/* 03956C 7F004A3C 1000002F */ b other_obj_expand -/* 039570 7F004A40 00000000 */ nop -type2E_viewport_pos: -/* 039574 7F004A44 8E4B0004 */ lw $t3, 4($s2) -/* 039578 7F004A48 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 03957C 7F004A4C 44810000 */ mtc1 $at, $f0 -/* 039580 7F004A50 448B5000 */ mtc1 $t3, $f10 -/* 039584 7F004A54 8E4C000C */ lw $t4, 0xc($s2) -/* 039588 7F004A58 8E4D0008 */ lw $t5, 8($s2) -/* 03958C 7F004A5C 468051A0 */ cvt.s.w $f6, $f10 -/* 039590 7F004A60 448C5000 */ mtc1 $t4, $f10 -/* 039594 7F004A64 448D2000 */ mtc1 $t5, $f4 -/* 039598 7F004A68 8E4F0010 */ lw $t7, 0x10($s2) -/* 03959C 7F004A6C 8E4E0014 */ lw $t6, 0x14($s2) -/* 0395A0 7F004A70 46802220 */ cvt.s.w $f8, $f4 -/* 0395A4 7F004A74 448F2000 */ mtc1 $t7, $f4 -/* 0395A8 7F004A78 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0395AC 7F004A7C 46003403 */ div.s $f16, $f6, $f0 -/* 0395B0 7F004A80 468051A0 */ cvt.s.w $f6, $f10 -/* 0395B4 7F004A84 46004483 */ div.s $f18, $f8, $f0 -/* 0395B8 7F004A88 E6500004 */ swc1 $f16, 4($s2) -/* 0395BC 7F004A8C 46802220 */ cvt.s.w $f8, $f4 -/* 0395C0 7F004A90 44812000 */ mtc1 $at, $f4 -/* 0395C4 7F004A94 46003403 */ div.s $f16, $f6, $f0 -/* 0395C8 7F004A98 448E3000 */ mtc1 $t6, $f6 -/* 0395CC 7F004A9C E6520008 */ swc1 $f18, 8($s2) -/* 0395D0 7F004AA0 44819000 */ mtc1 $at, $f18 -/* 0395D4 7F004AA4 00000000 */ nop -/* 0395D8 7F004AA8 46124283 */ div.s $f10, $f8, $f18 -/* 0395DC 7F004AAC E650000C */ swc1 $f16, 0xc($s2) -/* 0395E0 7F004AB0 46803420 */ cvt.s.w $f16, $f6 -/* 0395E4 7F004AB4 46048203 */ div.s $f8, $f16, $f4 -/* 0395E8 7F004AB8 E64A0010 */ swc1 $f10, 0x10($s2) -/* 0395EC 7F004ABC 1000000F */ b other_obj_expand -/* 0395F0 7F004AC0 E6480014 */ swc1 $f8, 0x14($s2) -type17_objective_expand: -/* 0395F4 7F004AC4 0FC013EE */ jal add_ptr_to_objective -/* 0395F8 7F004AC8 02402025 */ move $a0, $s2 -/* 0395FC 7F004ACC 1000000B */ b other_obj_expand -/* 039600 7F004AD0 00000000 */ nop -type20_subobjective_expand: -/* 039604 7F004AD4 0FC013FD */ jal set_parent_cur_obj_enter_room -/* 039608 7F004AD8 02402025 */ move $a0, $s2 -/* 03960C 7F004ADC 10000007 */ b other_obj_expand -/* 039610 7F004AE0 00000000 */ nop -type21_subobjective_expand: -/* 039614 7F004AE4 0FC01403 */ jal set_parent_cur_obj_deposited_in_room -/* 039618 7F004AE8 02402025 */ move $a0, $s2 -/* 03961C 7F004AEC 10000003 */ b other_obj_expand -/* 039620 7F004AF0 00000000 */ nop -type1E_subobjective_expand: -/* 039624 7F004AF4 0FC01409 */ jal set_parent_cur_obj_photograph -/* 039628 7F004AF8 02402025 */ move $a0, $s2 -other_obj_expand: -/* 03962C 7F004AFC 0FC15A3D */ jal get_size_of_setup_object_type -/* 039630 7F004B00 02402025 */ move $a0, $s2 -/* 039634 7F004B04 0002C080 */ sll $t8, $v0, 2 -/* 039638 7F004B08 03129021 */ addu $s2, $t8, $s2 -/* 03963C 7F004B0C 92430003 */ lbu $v1, 3($s2) -/* 039640 7F004B10 24010030 */ li $at, 48 -/* 039644 7F004B14 26730001 */ addiu $s3, $s3, 1 -/* 039648 7F004B18 5461FE13 */ bnel $v1, $at, .L7F004368 -/* 03964C 7F004B1C 2468FFFF */ addiu $t0, $v1, -1 -/* 039650 7F004B20 3C128007 */ lui $s2, %hi(ptr_setup_objects) -/* 039654 7F004B24 8E525D0C */ lw $s2, %lo(ptr_setup_objects)($s2) -/* 039658 7F004B28 00009825 */ move $s3, $zero -/* 03965C 7F004B2C 92430003 */ lbu $v1, 3($s2) -.L7F004B30: -/* 039660 7F004B30 24010030 */ li $at, 48 -/* 039664 7F004B34 3C170008 */ lui $s7, 8 -/* 039668 7F004B38 106100CF */ beq $v1, $at, .L7F004E78 -/* 03966C 7F004B3C 24160008 */ li $s6, 8 -/* 039670 7F004B40 241E002B */ li $fp, 43 -/* 039674 7F004B44 24140001 */ li $s4, 1 -/* 039678 7F004B48 2468FFFD */ addiu $t0, $v1, -3 -.L7F004B4C: -/* 03967C 7F004B4C 2D01002D */ sltiu $at, $t0, 0x2d -/* 039680 7F004B50 102000A4 */ beqz $at, .L7F004DE4 -/* 039684 7F004B54 00084080 */ sll $t0, $t0, 2 -/* 039688 7F004B58 3C018005 */ lui $at, %hi(jpt_8004F02C) -/* 03968C 7F004B5C 00280821 */ addu $at, $at, $t0 -/* 039690 7F004B60 8C28F02C */ lw $t0, %lo(jpt_8004F02C)($at) -/* 039694 7F004B64 01000008 */ jr $t0 -/* 039698 7F004B68 00000000 */ nop -.L7F004B6C: -/* 03969C 7F004B6C 8E490010 */ lw $t1, 0x10($s2) -/* 0396A0 7F004B70 1120009C */ beqz $t1, .L7F004DE4 -/* 0396A4 7F004B74 00000000 */ nop -/* 0396A8 7F004B78 8E590008 */ lw $t9, 8($s2) -/* 0396AC 7F004B7C 332A8000 */ andi $t2, $t9, 0x8000 -/* 0396B0 7F004B80 11400098 */ beqz $t2, .L7F004DE4 -/* 0396B4 7F004B84 00000000 */ nop -/* 0396B8 7F004B88 86420006 */ lh $v0, 6($s2) -/* 0396BC 7F004B8C 02A02025 */ move $a0, $s5 -/* 0396C0 7F004B90 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 0396C4 7F004B94 02622821 */ addu $a1, $s3, $v0 -/* 0396C8 7F004B98 10400092 */ beqz $v0, .L7F004DE4 -/* 0396CC 7F004B9C 00408025 */ move $s0, $v0 -/* 0396D0 7F004BA0 8C4B0010 */ lw $t3, 0x10($v0) -/* 0396D4 7F004BA4 1160008F */ beqz $t3, .L7F004DE4 -/* 0396D8 7F004BA8 00000000 */ nop -/* 0396DC 7F004BAC 8E4D0064 */ lw $t5, 0x64($s2) -/* 0396E0 7F004BB0 8E440014 */ lw $a0, 0x14($s2) -/* 0396E4 7F004BB4 01B76025 */ or $t4, $t5, $s7 -/* 0396E8 7F004BB8 AE4C0064 */ sw $t4, 0x64($s2) -/* 0396EC 7F004BBC 0FC1B39E */ jal set_obj_instance_controller_scale -/* 0396F0 7F004BC0 8C850014 */ lw $a1, 0x14($a0) -/* 0396F4 7F004BC4 8E440010 */ lw $a0, 0x10($s2) -/* 0396F8 7F004BC8 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 0396FC 7F004BCC 8E050010 */ lw $a1, 0x10($s0) -/* 039700 7F004BD0 10000084 */ b .L7F004DE4 -/* 039704 7F004BD4 00000000 */ nop -.L7F004BD8: -/* 039708 7F004BD8 8E4F0004 */ lw $t7, 4($s2) -/* 03970C 7F004BDC 0FC15AA2 */ jal sub_GAME_7F056A88 -/* 039710 7F004BE0 01F32021 */ addu $a0, $t7, $s3 -/* 039714 7F004BE4 8E4E0008 */ lw $t6, 8($s2) -/* 039718 7F004BE8 00408025 */ move $s0, $v0 -/* 03971C 7F004BEC 0FC15AA2 */ jal sub_GAME_7F056A88 -/* 039720 7F004BF0 01D32021 */ addu $a0, $t6, $s3 -/* 039724 7F004BF4 1200007B */ beqz $s0, .L7F004DE4 -/* 039728 7F004BF8 00402825 */ move $a1, $v0 -/* 03972C 7F004BFC 10400079 */ beqz $v0, .L7F004DE4 -/* 039730 7F004C00 00000000 */ nop -/* 039734 7F004C04 92180003 */ lbu $t8, 3($s0) -/* 039738 7F004C08 16D80076 */ bne $s6, $t8, .L7F004DE4 -/* 03973C 7F004C0C 00000000 */ nop -/* 039740 7F004C10 90480003 */ lbu $t0, 3($v0) -/* 039744 7F004C14 16C80073 */ bne $s6, $t0, .L7F004DE4 -/* 039748 7F004C18 00000000 */ nop -/* 03974C 7F004C1C 0FC1475D */ jal link_objects -/* 039750 7F004C20 02002025 */ move $a0, $s0 -/* 039754 7F004C24 1000006F */ b .L7F004DE4 -/* 039758 7F004C28 00000000 */ nop -.L7F004C2C: -/* 03975C 7F004C2C 8E420004 */ lw $v0, 4($s2) -/* 039760 7F004C30 8E510008 */ lw $s1, 8($s2) -/* 039764 7F004C34 02A02025 */ move $a0, $s5 -/* 039768 7F004C38 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 03976C 7F004C3C 02622821 */ addu $a1, $s3, $v0 -/* 039770 7F004C40 00408025 */ move $s0, $v0 -/* 039774 7F004C44 0FC15AA2 */ jal sub_GAME_7F056A88 -/* 039778 7F004C48 02712021 */ addu $a0, $s3, $s1 -/* 03977C 7F004C4C 12000065 */ beqz $s0, .L7F004DE4 -/* 039780 7F004C50 00000000 */ nop -/* 039784 7F004C54 8E030010 */ lw $v1, 0x10($s0) -/* 039788 7F004C58 10600062 */ beqz $v1, .L7F004DE4 -/* 03978C 7F004C5C 00000000 */ nop -/* 039790 7F004C60 10400060 */ beqz $v0, .L7F004DE4 -/* 039794 7F004C64 00000000 */ nop -/* 039798 7F004C68 90490003 */ lbu $t1, 3($v0) -/* 03979C 7F004C6C 1689005D */ bne $s4, $t1, .L7F004DE4 -/* 0397A0 7F004C70 00000000 */ nop -/* 0397A4 7F004C74 8C590010 */ lw $t9, 0x10($v0) -/* 0397A8 7F004C78 1320005A */ beqz $t9, .L7F004DE4 -/* 0397AC 7F004C7C 00000000 */ nop -/* 0397B0 7F004C80 AE430004 */ sw $v1, 4($s2) -/* 0397B4 7F004C84 8C4A0010 */ lw $t2, 0x10($v0) -/* 0397B8 7F004C88 02402025 */ move $a0, $s2 -/* 0397BC 7F004C8C 0FC00644 */ jal sub_GAME_7F001910 -/* 0397C0 7F004C90 AE4A0008 */ sw $t2, 8($s2) -/* 0397C4 7F004C94 8E0B0064 */ lw $t3, 0x64($s0) -/* 0397C8 7F004C98 356D0001 */ ori $t5, $t3, 1 -/* 0397CC 7F004C9C 10000051 */ b .L7F004DE4 -/* 0397D0 7F004CA0 AE0D0064 */ sw $t5, 0x64($s0) -.L7F004CA4: -/* 0397D4 7F004CA4 8E420004 */ lw $v0, 4($s2) -/* 0397D8 7F004CA8 8E4C000C */ lw $t4, 0xc($s2) -/* 0397DC 7F004CAC 8E510008 */ lw $s1, 8($s2) -/* 0397E0 7F004CB0 02A02025 */ move $a0, $s5 -/* 0397E4 7F004CB4 02622821 */ addu $a1, $s3, $v0 -/* 0397E8 7F004CB8 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 0397EC 7F004CBC AFAC0080 */ sw $t4, 0x80($sp) -/* 0397F0 7F004CC0 00408025 */ move $s0, $v0 -/* 0397F4 7F004CC4 02A02025 */ move $a0, $s5 -/* 0397F8 7F004CC8 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 0397FC 7F004CCC 02712821 */ addu $a1, $s3, $s1 -/* 039800 7F004CD0 8FAF0080 */ lw $t7, 0x80($sp) -/* 039804 7F004CD4 00408825 */ move $s1, $v0 -/* 039808 7F004CD8 02A02025 */ move $a0, $s5 -/* 03980C 7F004CDC 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 039810 7F004CE0 026F2821 */ addu $a1, $s3, $t7 -/* 039814 7F004CE4 1200003F */ beqz $s0, .L7F004DE4 -/* 039818 7F004CE8 00000000 */ nop -/* 03981C 7F004CEC 8E0E0010 */ lw $t6, 0x10($s0) -/* 039820 7F004CF0 11C0003C */ beqz $t6, .L7F004DE4 -/* 039824 7F004CF4 00000000 */ nop -/* 039828 7F004CF8 1220003A */ beqz $s1, .L7F004DE4 -/* 03982C 7F004CFC 00000000 */ nop -/* 039830 7F004D00 8E380010 */ lw $t8, 0x10($s1) -/* 039834 7F004D04 13000037 */ beqz $t8, .L7F004DE4 -/* 039838 7F004D08 00000000 */ nop -/* 03983C 7F004D0C 92280003 */ lbu $t0, 3($s1) -/* 039840 7F004D10 17C80034 */ bne $fp, $t0, .L7F004DE4 -/* 039844 7F004D14 00000000 */ nop -/* 039848 7F004D18 10400032 */ beqz $v0, .L7F004DE4 -/* 03984C 7F004D1C 00000000 */ nop -/* 039850 7F004D20 8C490010 */ lw $t1, 0x10($v0) -/* 039854 7F004D24 1120002F */ beqz $t1, .L7F004DE4 -/* 039858 7F004D28 00000000 */ nop -/* 03985C 7F004D2C 90590003 */ lbu $t9, 3($v0) -/* 039860 7F004D30 02402025 */ move $a0, $s2 -/* 039864 7F004D34 1699002B */ bne $s4, $t9, .L7F004DE4 -/* 039868 7F004D38 00000000 */ nop -/* 03986C 7F004D3C AE500004 */ sw $s0, 4($s2) -/* 039870 7F004D40 AE510008 */ sw $s1, 8($s2) -/* 039874 7F004D44 AE42000C */ sw $v0, 0xc($s2) -/* 039878 7F004D48 0FC00650 */ jal sub_GAME_7F001940 -/* 03987C 7F004D4C AFA20074 */ sw $v0, 0x74($sp) -/* 039880 7F004D50 8E0A000C */ lw $t2, 0xc($s0) -/* 039884 7F004D54 8FA30074 */ lw $v1, 0x74($sp) -/* 039888 7F004D58 354B0400 */ ori $t3, $t2, 0x400 -/* 03988C 7F004D5C AE0B000C */ sw $t3, 0xc($s0) -/* 039890 7F004D60 8C6D000C */ lw $t5, 0xc($v1) -/* 039894 7F004D64 35AC0400 */ ori $t4, $t5, 0x400 -/* 039898 7F004D68 1000001E */ b .L7F004DE4 -/* 03989C 7F004D6C AC6C000C */ sw $t4, 0xc($v1) -.L7F004D70: -/* 0398A0 7F004D70 8E420004 */ lw $v0, 4($s2) -/* 0398A4 7F004D74 8E510008 */ lw $s1, 8($s2) -/* 0398A8 7F004D78 02A02025 */ move $a0, $s5 -/* 0398AC 7F004D7C 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 0398B0 7F004D80 02622821 */ addu $a1, $s3, $v0 -/* 0398B4 7F004D84 00408025 */ move $s0, $v0 -/* 0398B8 7F004D88 02A02025 */ move $a0, $s5 -/* 0398BC 7F004D8C 0FC15BA8 */ jal sub_GAME_7F056EA0 -/* 0398C0 7F004D90 02712821 */ addu $a1, $s3, $s1 -/* 0398C4 7F004D94 12000013 */ beqz $s0, .L7F004DE4 -/* 0398C8 7F004D98 00000000 */ nop -/* 0398CC 7F004D9C 8E0F0010 */ lw $t7, 0x10($s0) -/* 0398D0 7F004DA0 11E00010 */ beqz $t7, .L7F004DE4 -/* 0398D4 7F004DA4 00000000 */ nop -/* 0398D8 7F004DA8 1040000E */ beqz $v0, .L7F004DE4 -/* 0398DC 7F004DAC 00000000 */ nop -/* 0398E0 7F004DB0 8C4E0010 */ lw $t6, 0x10($v0) -/* 0398E4 7F004DB4 11C0000B */ beqz $t6, .L7F004DE4 -/* 0398E8 7F004DB8 00000000 */ nop -/* 0398EC 7F004DBC 92180003 */ lbu $t8, 3($s0) -/* 0398F0 7F004DC0 02402025 */ move $a0, $s2 -/* 0398F4 7F004DC4 16980007 */ bne $s4, $t8, .L7F004DE4 -/* 0398F8 7F004DC8 00000000 */ nop -/* 0398FC 7F004DCC AE500004 */ sw $s0, 4($s2) -/* 039900 7F004DD0 0FC0064A */ jal sub_GAME_7F001928 -/* 039904 7F004DD4 AE420008 */ sw $v0, 8($s2) -/* 039908 7F004DD8 8E080064 */ lw $t0, 0x64($s0) -/* 03990C 7F004DDC 35092000 */ ori $t1, $t0, 0x2000 -/* 039910 7F004DE0 AE090064 */ sw $t1, 0x64($s0) -.L7F004DE4: -/* 039914 7F004DE4 0FC15A3D */ jal get_size_of_setup_object_type -/* 039918 7F004DE8 02402025 */ move $a0, $s2 -/* 03991C 7F004DEC 0002C880 */ sll $t9, $v0, 2 -/* 039920 7F004DF0 03329021 */ addu $s2, $t9, $s2 -/* 039924 7F004DF4 92430003 */ lbu $v1, 3($s2) -/* 039928 7F004DF8 24010030 */ li $at, 48 -/* 03992C 7F004DFC 26730001 */ addiu $s3, $s3, 1 -/* 039930 7F004E00 5461FF52 */ bnel $v1, $at, .L7F004B4C -/* 039934 7F004E04 2468FFFD */ addiu $t0, $v1, -3 -/* 039938 7F004E08 1000001B */ b .L7F004E78 -/* 03993C 7F004E0C 00000000 */ nop -.L7F004E10: -/* 039940 7F004E10 3C018007 */ lui $at, %hi(ptr_setup_path_tbl) -/* 039944 7F004E14 AC205D00 */ sw $zero, %lo(ptr_setup_path_tbl)($at) -/* 039948 7F004E18 3C018007 */ lui $at, %hi(ptr_setup_path_link) -/* 03994C 7F004E1C AC205D04 */ sw $zero, %lo(ptr_setup_path_link)($at) -/* 039950 7F004E20 3C018007 */ lui $at, %hi(ptr_setup_intro) -/* 039954 7F004E24 AC205D08 */ sw $zero, %lo(ptr_setup_intro)($at) -/* 039958 7F004E28 3C018007 */ lui $at, %hi(ptr_setup_objects) -/* 03995C 7F004E2C AC205D0C */ sw $zero, %lo(ptr_setup_objects)($at) -/* 039960 7F004E30 3C018007 */ lui $at, %hi(ptr_setup_path_sets) -/* 039964 7F004E34 AC205D10 */ sw $zero, %lo(ptr_setup_path_sets)($at) -/* 039968 7F004E38 3C018007 */ lui $at, %hi(ptr_setup_actions) -/* 03996C 7F004E3C AC205D14 */ sw $zero, %lo(ptr_setup_actions)($at) -/* 039970 7F004E40 3C018007 */ lui $at, %hi(ptr_0xxxpresets) -/* 039974 7F004E44 AC205D18 */ sw $zero, %lo(ptr_0xxxpresets)($at) -/* 039978 7F004E48 3C018007 */ lui $at, %hi(ptr_2xxxpresets) -/* 03997C 7F004E4C AC205D1C */ sw $zero, %lo(ptr_2xxxpresets)($at) -/* 039980 7F004E50 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D20) -/* 039984 7F004E54 AC205D20 */ sw $zero, %lo(dword_CODE_bss_80075D20)($at) -/* 039988 7F004E58 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D24) -/* 03998C 7F004E5C AC205D24 */ sw $zero, %lo(dword_CODE_bss_80075D24)($at) -/* 039990 7F004E60 0FC003AE */ jal alloc_init_GUARDdata_entries -/* 039994 7F004E64 00002025 */ move $a0, $zero -/* 039998 7F004E68 0FC01550 */ jal sub_GAME_7F005540 -/* 03999C 7F004E6C 00002025 */ move $a0, $zero -/* 0399A0 7F004E70 0FC01589 */ jal sub_GAME_7F005624 -/* 0399A4 7F004E74 00002025 */ move $a0, $zero -.L7F004E78: -/* 0399A8 7F004E78 0FC00417 */ jal alloc_false_GUARDdata_to_exec_global_action -/* 0399AC 7F004E7C 00000000 */ nop -/* 0399B0 7F004E80 8FBF0044 */ lw $ra, 0x44($sp) -/* 0399B4 7F004E84 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0399B8 7F004E88 8FB00020 */ lw $s0, 0x20($sp) -/* 0399BC 7F004E8C 8FB10024 */ lw $s1, 0x24($sp) -/* 0399C0 7F004E90 8FB20028 */ lw $s2, 0x28($sp) -/* 0399C4 7F004E94 8FB3002C */ lw $s3, 0x2c($sp) -/* 0399C8 7F004E98 8FB40030 */ lw $s4, 0x30($sp) -/* 0399CC 7F004E9C 8FB50034 */ lw $s5, 0x34($sp) -/* 0399D0 7F004EA0 8FB60038 */ lw $s6, 0x38($sp) -/* 0399D4 7F004EA4 8FB7003C */ lw $s7, 0x3c($sp) -/* 0399D8 7F004EA8 8FBE0040 */ lw $fp, 0x40($sp) -/* 0399DC 7F004EAC 03E00008 */ jr $ra -/* 0399E0 7F004EB0 27BD0280 */ addiu $sp, $sp, 0x280 -) -#endif - -#ifdef VERSION_JP - GLOBAL_ASM( -.late_rodata -glabel jpt_object_type_expansion -.word door_expand -.word door_scale_expand -.word obj_03_expand -.word key_expand -.word obj_03_expand -.word surv_camera_expand -.word obj_03_expand -.word item_expand -.word actor_expand -.word single_screen_display_expand -.word multi_screen_display_expand -.word rack_expand -.word autogun_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word hat_expand -.word actor_attr_expand -.word other_obj_expand -.word ammo_box_expand -.word body_armor_expand -.word tag_expand -.word type17_objective_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word other_obj_expand -.word type1E_subobjective_expand -.word other_obj_expand -.word type20_subobjective_expand -.word type21_subobjective_expand -.word other_obj_expand -.word type23_solo_brief_text -.word obj_03_expand -.word type25_rename -.word other_obj_expand -.word type27_wheeled_vehicle -.word type28_aircraft -.word obj_03_expand -.word obj_03_expand -.word obj_03_expand -.word other_obj_expand -.word type2D_tank -.word type2E_viewport_pos -.word type2F_tinted_glass - -glabel D_8004F024 -.word 0x40c90fdb -glabel D_8004F028 -.word 0x3e2e147c - -glabel jpt_8004F02C -.word .L7F004B7C -.word .L7F004B7C -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004B7C -.word .L7F004B7C -.word .L7F004DF4 -.word .L7F004B7C -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004BE8 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004C3C -.word .L7F004B7C -.word .L7F004B7C -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004B7C -.word .L7F004DF4 -.word .L7F004D80 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004B7C -.word .L7F004B7C -.word .L7F004B7C -.word .L7F004CB4 -.word .L7F004DF4 -.word .L7F004DF4 -.word .L7F004B7C - - - .text - glabel proplvreset2 -/* 038760 7F003BF0 27BDFD80 */ addiu $sp, $sp, -0x280 -/* 038764 7F003BF4 AFB50034 */ sw $s5, 0x34($sp) -/* 038768 7F003BF8 0080A825 */ move $s5, $a0 -/* 03876C 7F003BFC AFBF0044 */ sw $ra, 0x44($sp) -/* 038770 7F003C00 3C058005 */ lui $a1, %hi(aNochr) # $a1, 0x8005 -/* 038774 7F003C04 AFBE0040 */ sw $fp, 0x40($sp) -/* 038778 7F003C08 AFB7003C */ sw $s7, 0x3c($sp) -/* 03877C 7F003C0C AFB60038 */ sw $s6, 0x38($sp) -/* 038780 7F003C10 AFB40030 */ sw $s4, 0x30($sp) -/* 038784 7F003C14 AFB3002C */ sw $s3, 0x2c($sp) -/* 038788 7F003C18 AFB20028 */ sw $s2, 0x28($sp) -/* 03878C 7F003C1C AFB10024 */ sw $s1, 0x24($sp) -/* 038790 7F003C20 AFB00020 */ sw $s0, 0x20($sp) -/* 038794 7F003C24 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 038798 7F003C28 24A5EDC0 */ addiu $a1, %lo(aNochr) # addiu $a1, $a1, -0x1240 -/* 03879C 7F003C2C 0C0029AC */ jal check_token -/* 0387A0 7F003C30 24040001 */ li $a0, 1 -/* 0387A4 7F003C34 2C460001 */ sltiu $a2, $v0, 1 -/* 0387A8 7F003C38 10C00005 */ beqz $a2, .L7F003C50 -/* 0387AC 7F003C3C 24040001 */ li $a0, 1 -/* 0387B0 7F003C40 3C058005 */ lui $a1, %hi(aNoprop) # $a1, 0x8005 -/* 0387B4 7F003C44 0C0029AC */ jal check_token -/* 0387B8 7F003C48 24A5EDC8 */ addiu $a1, %lo(aNoprop) # addiu $a1, $a1, -0x1238 -/* 0387BC 7F003C4C 2C460001 */ sltiu $a2, $v0, 1 -.L7F003C50: -/* 0387C0 7F003C50 3C058005 */ lui $a1, %hi(aNoobj) # $a1, 0x8005 -/* 0387C4 7F003C54 AFA60278 */ sw $a2, 0x278($sp) -/* 0387C8 7F003C58 24A5EDD0 */ addiu $a1, %lo(aNoobj) # addiu $a1, $a1, -0x1230 -/* 0387CC 7F003C5C 0C0029AC */ jal check_token -/* 0387D0 7F003C60 24040001 */ li $a0, 1 -/* 0387D4 7F003C64 2C430001 */ sltiu $v1, $v0, 1 -/* 0387D8 7F003C68 10600005 */ beqz $v1, .L7F003C80 -/* 0387DC 7F003C6C 24040001 */ li $a0, 1 -/* 0387E0 7F003C70 3C058005 */ lui $a1, %hi(aNoprop_0) # $a1, 0x8005 -/* 0387E4 7F003C74 0C0029AC */ jal check_token -/* 0387E8 7F003C78 24A5EDD8 */ addiu $a1, %lo(aNoprop_0) # addiu $a1, $a1, -0x1228 -/* 0387EC 7F003C7C 2C430001 */ sltiu $v1, $v0, 1 -.L7F003C80: -/* 0387F0 7F003C80 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0387F4 7F003C84 44812000 */ mtc1 $at, $f4 -/* 0387F8 7F003C88 0060F025 */ move $fp, $v1 -/* 0387FC 7F003C8C 3C018003 */ lui $at, %hi(scale_1_0_item_related) # $at, 0x8003 -/* 038800 7F003C90 3C038004 */ lui $v1, %hi(PitemZ_entries+0xFF0) # $v1, 0x8004 -/* 038804 7F003C94 3C028004 */ lui $v0, %hi(PitemZ_entries) # $v0, 0x8004 -/* 038808 7F003C98 2442A258 */ addiu $v0, %lo(PitemZ_entries) # addiu $v0, $v0, -0x5da8 -/* 03880C 7F003C9C 2463B248 */ addiu $v1, %lo(PitemZ_entries+0xFF0) # addiu $v1, $v1, -0x4db8 -/* 038810 7F003CA0 E424A400 */ swc1 $f4, %lo(scale_1_0_item_related)($at) -.L7F003CA4: -/* 038814 7F003CA4 8C4E0000 */ lw $t6, ($v0) -/* 038818 7F003CA8 2442000C */ addiu $v0, $v0, 0xc -/* 03881C 7F003CAC 0043082B */ sltu $at, $v0, $v1 -/* 038820 7F003CB0 1420FFFC */ bnez $at, .L7F003CA4 -/* 038824 7F003CB4 ADC00000 */ sw $zero, ($t6) -/* 038828 7F003CB8 2AA1003B */ slti $at, $s5, 0x3b -/* 03882C 7F003CBC 10200458 */ beqz $at, .L7F004E20 -/* 038830 7F003CC0 00157880 */ sll $t7, $s5, 2 -/* 038834 7F003CC4 3C188003 */ lui $t8, %hi(setup_text_pointers) # $t8, 0x8003 -/* 038838 7F003CC8 27187514 */ addiu $t8, %lo(setup_text_pointers) # addiu $t8, $t8, 0x7514 -/* 03883C 7F003CCC 01F88021 */ addu $s0, $t7, $t8 -/* 038840 7F003CD0 8E020000 */ lw $v0, ($s0) -/* 038844 7F003CD4 3C198005 */ lui $t9, %hi(only_read_by_stageload) # $t9, 0x8005 -/* 038848 7F003CD8 27B10174 */ addiu $s1, $sp, 0x174 -/* 03884C 7F003CDC 10400450 */ beqz $v0, .L7F004E20 -/* 038850 7F003CE0 2739EDE0 */ addiu $t9, %lo(only_read_by_stageload) # addiu $t9, $t9, -0x1220 -/* 038854 7F003CE4 02205025 */ move $t2, $s1 -/* 038858 7F003CE8 272900FC */ addiu $t1, $t9, 0xfc -.L7F003CEC: -/* 03885C 7F003CEC 8F210000 */ lw $at, ($t9) -/* 038860 7F003CF0 2739000C */ addiu $t9, $t9, 0xc -/* 038864 7F003CF4 254A000C */ addiu $t2, $t2, 0xc -/* 038868 7F003CF8 AD41FFF4 */ sw $at, -0xc($t2) -/* 03886C 7F003CFC 8F21FFF8 */ lw $at, -8($t9) -/* 038870 7F003D00 AD41FFF8 */ sw $at, -8($t2) -/* 038874 7F003D04 8F21FFFC */ lw $at, -4($t9) -/* 038878 7F003D08 1729FFF8 */ bne $t9, $t1, .L7F003CEC -/* 03887C 7F003D0C AD41FFFC */ sw $at, -4($t2) -/* 038880 7F003D10 8F210000 */ lw $at, ($t9) -/* 038884 7F003D14 0000A025 */ move $s4, $zero -/* 038888 7F003D18 00009825 */ move $s3, $zero -/* 03888C 7F003D1C AD410000 */ sw $at, ($t2) -/* 038890 7F003D20 904B0000 */ lbu $t3, ($v0) -/* 038894 7F003D24 A3A00175 */ sb $zero, 0x175($sp) -/* 038898 7F003D28 0FC26C01 */ jal get_num_players -/* 03889C 7F003D2C A3AB0174 */ sb $t3, 0x174($sp) -/* 0388A0 7F003D30 28410002 */ slti $at, $v0, 2 -/* 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_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_append_from_obseg_textbank -/* 0388C4 7F003D54 24A50001 */ addiu $a1, $a1, 1 -/* 0388C8 7F003D58 02202025 */ move $a0, $s1 -/* 0388CC 7F003D5C 24050001 */ li $a1, 1 -/* 0388D0 7F003D60 24060100 */ li $a2, 256 -/* 0388D4 7F003D64 0FC2F62D */ jal _load_resource_named_to_membank -/* 0388D8 7F003D68 24070004 */ li $a3, 4 -/* 0388DC 7F003D6C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075D28) # $v1, 0x8007 -/* 0388E0 7F003D70 24635D68 */ addiu $v1, %lo(dword_CODE_bss_80075D28) # addiu $v1, $v1, 0x5d68 -/* 0388E4 7F003D74 AC620000 */ sw $v0, ($v1) -/* 0388E8 7F003D78 00408825 */ move $s1, $v0 -/* 0388EC 7F003D7C 0FC308A4 */ jal get_textbank_number_for_stagenum -/* 0388F0 7F003D80 02A02025 */ move $a0, $s5 -/* 0388F4 7F003D84 0FC30A6E */ jal load_mission_text_bank -/* 0388F8 7F003D88 00402025 */ move $a0, $v0 -/* 0388FC 7F003D8C 8E2C0000 */ lw $t4, ($s1) -/* 038900 7F003D90 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) # $a3, 0x8007 -/* 038904 7F003D94 24E75D40 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d40 -/* 038908 7F003D98 022C6821 */ addu $t5, $s1, $t4 -/* 03890C 7F003D9C ACED0000 */ sw $t5, ($a3) -/* 038910 7F003DA0 8E2E0004 */ lw $t6, 4($s1) -/* 038914 7F003DA4 022E7821 */ addu $t7, $s1, $t6 -/* 038918 7F003DA8 ACEF0004 */ sw $t7, 4($a3) -/* 03891C 7F003DAC 8E380008 */ lw $t8, 8($s1) -/* 038920 7F003DB0 02384021 */ addu $t0, $s1, $t8 -/* 038924 7F003DB4 ACE80008 */ sw $t0, 8($a3) -/* 038928 7F003DB8 8E29000C */ lw $t1, 0xc($s1) -/* 03892C 7F003DBC 0229C821 */ addu $t9, $s1, $t1 -/* 038930 7F003DC0 ACF9000C */ sw $t9, 0xc($a3) -/* 038934 7F003DC4 8E2A0010 */ lw $t2, 0x10($s1) -/* 038938 7F003DC8 022A5821 */ addu $t3, $s1, $t2 -/* 03893C 7F003DCC ACEB0010 */ sw $t3, 0x10($a3) -/* 038940 7F003DD0 8E2C0014 */ lw $t4, 0x14($s1) -/* 038944 7F003DD4 022C6821 */ addu $t5, $s1, $t4 -/* 038948 7F003DD8 ACED0014 */ sw $t5, 0x14($a3) -/* 03894C 7F003DDC 8E2E0018 */ lw $t6, 0x18($s1) -/* 038950 7F003DE0 022E7821 */ addu $t7, $s1, $t6 -/* 038954 7F003DE4 ACEF0018 */ sw $t7, 0x18($a3) -/* 038958 7F003DE8 8E38001C */ lw $t8, 0x1c($s1) -/* 03895C 7F003DEC 02384021 */ addu $t0, $s1, $t8 -/* 038960 7F003DF0 ACE8001C */ sw $t0, 0x1c($a3) -/* 038964 7F003DF4 8E220020 */ lw $v0, 0x20($s1) -/* 038968 7F003DF8 10400003 */ beqz $v0, .L7F003E08 -/* 03896C 7F003DFC 02224821 */ addu $t1, $s1, $v0 -/* 038970 7F003E00 10000002 */ b .L7F003E0C -/* 038974 7F003E04 ACE90020 */ sw $t1, 0x20($a3) -.L7F003E08: -/* 038978 7F003E08 ACE00020 */ sw $zero, 0x20($a3) -.L7F003E0C: -/* 03897C 7F003E0C 8E220024 */ lw $v0, 0x24($s1) -/* 038980 7F003E10 10400003 */ beqz $v0, .L7F003E20 -/* 038984 7F003E14 0222C821 */ addu $t9, $s1, $v0 -/* 038988 7F003E18 10000002 */ b .L7F003E24 -/* 03898C 7F003E1C ACF90024 */ sw $t9, 0x24($a3) -.L7F003E20: -/* 038990 7F003E20 ACE00024 */ sw $zero, 0x24($a3) -.L7F003E24: -/* 038994 7F003E24 8CE50000 */ lw $a1, ($a3) -/* 038998 7F003E28 50A00010 */ beql $a1, $zero, .L7F003E6C -/* 03899C 7F003E2C 8CE50004 */ lw $a1, 4($a3) -/* 0389A0 7F003E30 8CAA0000 */ lw $t2, ($a1) -/* 0389A4 7F003E34 00001825 */ move $v1, $zero -/* 0389A8 7F003E38 00A01025 */ move $v0, $a1 -/* 0389AC 7F003E3C 0542000B */ bltzl $t2, .L7F003E6C -/* 0389B0 7F003E40 8CE50004 */ lw $a1, 4($a3) -/* 0389B4 7F003E44 8C4B0004 */ lw $t3, 4($v0) -.L7F003E48: -/* 0389B8 7F003E48 24630010 */ addiu $v1, $v1, 0x10 -/* 0389BC 7F003E4C 01716021 */ addu $t4, $t3, $s1 -/* 0389C0 7F003E50 AC4C0004 */ sw $t4, 4($v0) -/* 0389C4 7F003E54 8CED0000 */ lw $t5, ($a3) -/* 0389C8 7F003E58 01A31021 */ addu $v0, $t5, $v1 -/* 0389CC 7F003E5C 8C4E0000 */ lw $t6, ($v0) -/* 0389D0 7F003E60 05C3FFF9 */ bgezl $t6, .L7F003E48 -/* 0389D4 7F003E64 8C4B0004 */ lw $t3, 4($v0) -/* 0389D8 7F003E68 8CE50004 */ lw $a1, 4($a3) -.L7F003E6C: -/* 0389DC 7F003E6C 50A00015 */ beql $a1, $zero, .L7F003EC4 -/* 0389E0 7F003E70 8CE60014 */ lw $a2, 0x14($a3) -/* 0389E4 7F003E74 8CAF0000 */ lw $t7, ($a1) -/* 0389E8 7F003E78 00001825 */ move $v1, $zero -/* 0389EC 7F003E7C 00A01025 */ move $v0, $a1 -/* 0389F0 7F003E80 51E00010 */ beql $t7, $zero, .L7F003EC4 -/* 0389F4 7F003E84 8CE60014 */ lw $a2, 0x14($a3) -/* 0389F8 7F003E88 8CA40000 */ lw $a0, ($a1) -/* 0389FC 7F003E8C 0091C021 */ addu $t8, $a0, $s1 -.L7F003E90: -/* 038A00 7F003E90 AC580000 */ sw $t8, ($v0) -/* 038A04 7F003E94 8CE80004 */ lw $t0, 4($a3) -/* 038A08 7F003E98 01031021 */ addu $v0, $t0, $v1 -/* 038A0C 7F003E9C 8C490004 */ lw $t1, 4($v0) -/* 038A10 7F003EA0 2463000C */ addiu $v1, $v1, 0xc -/* 038A14 7F003EA4 0131C821 */ addu $t9, $t1, $s1 -/* 038A18 7F003EA8 AC590004 */ sw $t9, 4($v0) -/* 038A1C 7F003EAC 8CEA0004 */ lw $t2, 4($a3) -/* 038A20 7F003EB0 01431021 */ addu $v0, $t2, $v1 -/* 038A24 7F003EB4 8C440000 */ lw $a0, ($v0) -/* 038A28 7F003EB8 5480FFF5 */ bnezl $a0, .L7F003E90 -/* 038A2C 7F003EBC 0091C021 */ addu $t8, $a0, $s1 -/* 038A30 7F003EC0 8CE60014 */ lw $a2, 0x14($a3) -.L7F003EC4: -/* 038A34 7F003EC4 50C00010 */ beql $a2, $zero, .L7F003F08 -/* 038A38 7F003EC8 8CE20010 */ lw $v0, 0x10($a3) -/* 038A3C 7F003ECC 8CCB0000 */ lw $t3, ($a2) -/* 038A40 7F003ED0 00002825 */ move $a1, $zero -/* 038A44 7F003ED4 00C01025 */ move $v0, $a2 -/* 038A48 7F003ED8 5160000B */ beql $t3, $zero, .L7F003F08 -/* 038A4C 7F003EDC 8CE20010 */ lw $v0, 0x10($a3) -/* 038A50 7F003EE0 8CC30000 */ lw $v1, ($a2) -/* 038A54 7F003EE4 00716021 */ addu $t4, $v1, $s1 -.L7F003EE8: -/* 038A58 7F003EE8 AC4C0000 */ sw $t4, ($v0) -/* 038A5C 7F003EEC 8CED0014 */ lw $t5, 0x14($a3) -/* 038A60 7F003EF0 24A50008 */ addiu $a1, $a1, 8 -/* 038A64 7F003EF4 01A51021 */ addu $v0, $t5, $a1 -/* 038A68 7F003EF8 8C430000 */ lw $v1, ($v0) -/* 038A6C 7F003EFC 5460FFFA */ bnezl $v1, .L7F003EE8 -/* 038A70 7F003F00 00716021 */ addu $t4, $v1, $s1 -/* 038A74 7F003F04 8CE20010 */ lw $v0, 0x10($a3) -.L7F003F08: -/* 038A78 7F003F08 50400020 */ beql $v0, $zero, .L7F003F8C -/* 038A7C 7F003F0C 8CEA0018 */ lw $t2, 0x18($a3) -/* 038A80 7F003F10 8C4E0000 */ lw $t6, ($v0) -/* 038A84 7F003F14 00002825 */ move $a1, $zero -/* 038A88 7F003F18 00403025 */ move $a2, $v0 -/* 038A8C 7F003F1C 51C0001B */ beql $t6, $zero, .L7F003F8C -/* 038A90 7F003F20 8CEA0018 */ lw $t2, 0x18($a3) -/* 038A94 7F003F24 8C440000 */ lw $a0, ($v0) -/* 038A98 7F003F28 00917821 */ addu $t7, $a0, $s1 -.L7F003F2C: -/* 038A9C 7F003F2C ACCF0000 */ sw $t7, ($a2) -/* 038AA0 7F003F30 8CF80010 */ lw $t8, 0x10($a3) -/* 038AA4 7F003F34 00001825 */ move $v1, $zero -/* 038AA8 7F003F38 03053021 */ addu $a2, $t8, $a1 -/* 038AAC 7F003F3C 8CC40000 */ lw $a0, ($a2) -/* 038AB0 7F003F40 8C880000 */ lw $t0, ($a0) -/* 038AB4 7F003F44 00801025 */ move $v0, $a0 -/* 038AB8 7F003F48 05020009 */ bltzl $t0, .L7F003F70 -/* 038ABC 7F003F4C A4C30006 */ sh $v1, 6($a2) -/* 038AC0 7F003F50 8C490004 */ lw $t1, 4($v0) -.L7F003F54: -/* 038AC4 7F003F54 24630001 */ addiu $v1, $v1, 1 -/* 038AC8 7F003F58 24420004 */ addiu $v0, $v0, 4 -/* 038ACC 7F003F5C 0523FFFD */ bgezl $t1, .L7F003F54 -/* 038AD0 7F003F60 8C490004 */ lw $t1, 4($v0) -/* 038AD4 7F003F64 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) # $a3, 0x8007 -/* 038AD8 7F003F68 24E75D40 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d40 -/* 038ADC 7F003F6C A4C30006 */ sh $v1, 6($a2) -.L7F003F70: -/* 038AE0 7F003F70 8CF90010 */ lw $t9, 0x10($a3) -/* 038AE4 7F003F74 24A50008 */ addiu $a1, $a1, 8 -/* 038AE8 7F003F78 03253021 */ addu $a2, $t9, $a1 -/* 038AEC 7F003F7C 8CC40000 */ lw $a0, ($a2) -/* 038AF0 7F003F80 5480FFEA */ bnezl $a0, .L7F003F2C -/* 038AF4 7F003F84 00917821 */ addu $t7, $a0, $s1 -/* 038AF8 7F003F88 8CEA0018 */ lw $t2, 0x18($a3) -.L7F003F8C: -/* 038AFC 7F003F8C 1140001D */ beqz $t2, .L7F004004 -/* 038B00 7F003F90 00000000 */ nop -/* 038B04 7F003F94 0FC2D4F8 */ jal get_room_data_float2 -/* 038B08 7F003F98 00000000 */ nop -/* 038B0C 7F003F9C 3C108007 */ lui $s0, %hi(ptr_0xxxpresets) # $s0, 0x8007 -/* 038B10 7F003FA0 8E105D58 */ lw $s0, %lo(ptr_0xxxpresets)($s0) -/* 038B14 7F003FA4 46000086 */ mov.s $f2, $f0 -/* 038B18 7F003FA8 8E020024 */ lw $v0, 0x24($s0) -/* 038B1C 7F003FAC 10400015 */ beqz $v0, .L7F004004 -/* 038B20 7F003FB0 00000000 */ nop -/* 038B24 7F003FB4 C6060000 */ lwc1 $f6, ($s0) -.L7F003FB8: -/* 038B28 7F003FB8 C60A0004 */ lwc1 $f10, 4($s0) -/* 038B2C 7F003FBC C6120008 */ lwc1 $f18, 8($s0) -/* 038B30 7F003FC0 46023202 */ mul.s $f8, $f6, $f2 -/* 038B34 7F003FC4 02222821 */ addu $a1, $s1, $v0 -/* 038B38 7F003FC8 AE050024 */ sw $a1, 0x24($s0) -/* 038B3C 7F003FCC 46025402 */ mul.s $f16, $f10, $f2 -/* 038B40 7F003FD0 02002025 */ move $a0, $s0 -/* 038B44 7F003FD4 26060028 */ addiu $a2, $s0, 0x28 -/* 038B48 7F003FD8 46029102 */ mul.s $f4, $f18, $f2 -/* 038B4C 7F003FDC E6080000 */ swc1 $f8, ($s0) -/* 038B50 7F003FE0 E6100004 */ swc1 $f16, 4($s0) -/* 038B54 7F003FE4 E6040008 */ swc1 $f4, 8($s0) -/* 038B58 7F003FE8 0FC019F8 */ jal init_pathtable_something -/* 038B5C 7F003FEC E7A2015C */ swc1 $f2, 0x15c($sp) -/* 038B60 7F003FF0 8E020050 */ lw $v0, 0x50($s0) -/* 038B64 7F003FF4 2610002C */ addiu $s0, $s0, 0x2c -/* 038B68 7F003FF8 C7A2015C */ lwc1 $f2, 0x15c($sp) -/* 038B6C 7F003FFC 5440FFEE */ bnezl $v0, .L7F003FB8 -/* 038B70 7F004000 C6060000 */ lwc1 $f6, ($s0) -.L7F004004: -/* 038B74 7F004004 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) # $a3, 0x8007 -/* 038B78 7F004008 24E75D40 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d40 -/* 038B7C 7F00400C 8CEC001C */ lw $t4, 0x1c($a3) -/* 038B80 7F004010 51800033 */ beql $t4, $zero, .L7F0040E0 -/* 038B84 7F004014 8CE50020 */ lw $a1, 0x20($a3) -/* 038B88 7F004018 0FC2D4F8 */ jal get_room_data_float2 -/* 038B8C 7F00401C 00000000 */ nop -/* 038B90 7F004020 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) # $a3, 0x8007 -/* 038B94 7F004024 24E75D40 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d40 -/* 038B98 7F004028 8CF0001C */ lw $s0, 0x1c($a3) -/* 038B9C 7F00402C 46000086 */ mov.s $f2, $f0 -/* 038BA0 7F004030 8E020024 */ lw $v0, 0x24($s0) -/* 038BA4 7F004034 5040002A */ beql $v0, $zero, .L7F0040E0 -/* 038BA8 7F004038 8CE50020 */ lw $a1, 0x20($a3) -/* 038BAC 7F00403C C6060000 */ lwc1 $f6, ($s0) -.L7F004040: -/* 038BB0 7F004040 C60A0004 */ lwc1 $f10, 4($s0) -/* 038BB4 7F004044 C6120008 */ lwc1 $f18, 8($s0) -/* 038BB8 7F004048 46023202 */ mul.s $f8, $f6, $f2 -/* 038BBC 7F00404C C606002C */ lwc1 $f6, 0x2c($s0) -/* 038BC0 7F004050 02222821 */ addu $a1, $s1, $v0 -/* 038BC4 7F004054 46025402 */ mul.s $f16, $f10, $f2 -/* 038BC8 7F004058 C60A0030 */ lwc1 $f10, 0x30($s0) -/* 038BCC 7F00405C AE050024 */ sw $a1, 0x24($s0) -/* 038BD0 7F004060 46029102 */ mul.s $f4, $f18, $f2 -/* 038BD4 7F004064 E6080000 */ swc1 $f8, ($s0) -/* 038BD8 7F004068 C6120034 */ lwc1 $f18, 0x34($s0) -/* 038BDC 7F00406C 46023202 */ mul.s $f8, $f6, $f2 -/* 038BE0 7F004070 E6100004 */ swc1 $f16, 4($s0) -/* 038BE4 7F004074 C6060038 */ lwc1 $f6, 0x38($s0) -/* 038BE8 7F004078 46025402 */ mul.s $f16, $f10, $f2 -/* 038BEC 7F00407C E6040008 */ swc1 $f4, 8($s0) -/* 038BF0 7F004080 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 038BF4 7F004084 46029102 */ mul.s $f4, $f18, $f2 -/* 038BF8 7F004088 E608002C */ swc1 $f8, 0x2c($s0) -/* 038BFC 7F00408C C6120040 */ lwc1 $f18, 0x40($s0) -/* 038C00 7F004090 46023202 */ mul.s $f8, $f6, $f2 -/* 038C04 7F004094 E6100030 */ swc1 $f16, 0x30($s0) -/* 038C08 7F004098 02002025 */ move $a0, $s0 -/* 038C0C 7F00409C 46025402 */ mul.s $f16, $f10, $f2 -/* 038C10 7F0040A0 E6040034 */ swc1 $f4, 0x34($s0) -/* 038C14 7F0040A4 26060028 */ addiu $a2, $s0, 0x28 -/* 038C18 7F0040A8 46029102 */ mul.s $f4, $f18, $f2 -/* 038C1C 7F0040AC E6080038 */ swc1 $f8, 0x38($s0) -/* 038C20 7F0040B0 E610003C */ swc1 $f16, 0x3c($s0) -/* 038C24 7F0040B4 E6040040 */ swc1 $f4, 0x40($s0) -/* 038C28 7F0040B8 0FC019F8 */ jal init_pathtable_something -/* 038C2C 7F0040BC E7A20150 */ swc1 $f2, 0x150($sp) -/* 038C30 7F0040C0 8E020068 */ lw $v0, 0x68($s0) -/* 038C34 7F0040C4 26100044 */ addiu $s0, $s0, 0x44 -/* 038C38 7F0040C8 C7A20150 */ lwc1 $f2, 0x150($sp) -/* 038C3C 7F0040CC 5440FFDC */ bnezl $v0, .L7F004040 -/* 038C40 7F0040D0 C6060000 */ lwc1 $f6, ($s0) -/* 038C44 7F0040D4 3C078007 */ lui $a3, %hi(ptr_setup_path_tbl) # $a3, 0x8007 -/* 038C48 7F0040D8 24E75D40 */ addiu $a3, %lo(ptr_setup_path_tbl) # addiu $a3, $a3, 0x5d40 -/* 038C4C 7F0040DC 8CE50020 */ lw $a1, 0x20($a3) -.L7F0040E0: -/* 038C50 7F0040E0 50A00010 */ beql $a1, $zero, .L7F004124 -/* 038C54 7F0040E4 8CE50024 */ lw $a1, 0x24($a3) -/* 038C58 7F0040E8 8CAE0000 */ lw $t6, ($a1) -/* 038C5C 7F0040EC 00001025 */ move $v0, $zero -/* 038C60 7F0040F0 00A01825 */ move $v1, $a1 -/* 038C64 7F0040F4 51C0000B */ beql $t6, $zero, .L7F004124 -/* 038C68 7F0040F8 8CE50024 */ lw $a1, 0x24($a3) -/* 038C6C 7F0040FC 8CA40000 */ lw $a0, ($a1) -/* 038C70 7F004100 00917821 */ addu $t7, $a0, $s1 -.L7F004104: -/* 038C74 7F004104 AC6F0000 */ sw $t7, ($v1) -/* 038C78 7F004108 8CF80020 */ lw $t8, 0x20($a3) -/* 038C7C 7F00410C 24420004 */ addiu $v0, $v0, 4 -/* 038C80 7F004110 03021821 */ addu $v1, $t8, $v0 -/* 038C84 7F004114 8C640000 */ lw $a0, ($v1) -/* 038C88 7F004118 5480FFFA */ bnezl $a0, .L7F004104 -/* 038C8C 7F00411C 00917821 */ addu $t7, $a0, $s1 -/* 038C90 7F004120 8CE50024 */ lw $a1, 0x24($a3) -.L7F004124: -/* 038C94 7F004124 50A0000F */ beql $a1, $zero, .L7F004164 -/* 038C98 7F004128 8FAA0278 */ lw $t2, 0x278($sp) -/* 038C9C 7F00412C 8CA80000 */ lw $t0, ($a1) -/* 038CA0 7F004130 00001025 */ move $v0, $zero -/* 038CA4 7F004134 00A01825 */ move $v1, $a1 -/* 038CA8 7F004138 11000009 */ beqz $t0, .L7F004160 -/* 038CAC 7F00413C 01002025 */ move $a0, $t0 -/* 038CB0 7F004140 00914821 */ addu $t1, $a0, $s1 -.L7F004144: -/* 038CB4 7F004144 AC690000 */ sw $t1, ($v1) -/* 038CB8 7F004148 8CF90024 */ lw $t9, 0x24($a3) -/* 038CBC 7F00414C 24420004 */ addiu $v0, $v0, 4 -/* 038CC0 7F004150 03221821 */ addu $v1, $t9, $v0 -/* 038CC4 7F004154 8C640000 */ lw $a0, ($v1) -/* 038CC8 7F004158 5480FFFA */ bnezl $a0, .L7F004144 -/* 038CCC 7F00415C 00914821 */ addu $t1, $a0, $s1 -.L7F004160: -/* 038CD0 7F004160 8FAA0278 */ lw $t2, 0x278($sp) -.L7F004164: -/* 038CD4 7F004164 11400012 */ beqz $t2, .L7F0041B0 -/* 038CD8 7F004168 00000000 */ nop -/* 038CDC 7F00416C 0FC006D4 */ jal load_proptype -/* 038CE0 7F004170 24040009 */ li $a0, 9 -/* 038CE4 7F004174 0FC003AE */ jal alloc_init_GUARDdata_entries -/* 038CE8 7F004178 00402025 */ move $a0, $v0 -/* 038CEC 7F00417C 0FC006D4 */ jal load_proptype -/* 038CF0 7F004180 24040009 */ li $a0, 9 -/* 038CF4 7F004184 0040A025 */ move $s4, $v0 -/* 038CF8 7F004188 0FC006D4 */ jal load_proptype -/* 038CFC 7F00418C 24040008 */ li $a0, 8 -/* 038D00 7F004190 00409825 */ move $s3, $v0 -/* 038D04 7F004194 0FC006D4 */ jal load_proptype -/* 038D08 7F004198 24040004 */ li $a0, 4 -/* 038D0C 7F00419C 02629821 */ addu $s3, $s3, $v0 -/* 038D10 7F0041A0 0FC006D4 */ jal load_proptype -/* 038D14 7F0041A4 24040011 */ li $a0, 17 -/* 038D18 7F0041A8 10000003 */ b .L7F0041B8 -/* 038D1C 7F0041AC 02629821 */ addu $s3, $s3, $v0 -.L7F0041B0: -/* 038D20 7F0041B0 0FC003AE */ jal alloc_init_GUARDdata_entries -/* 038D24 7F0041B4 00002025 */ move $a0, $zero -.L7F0041B8: -/* 038D28 7F0041B8 13C0003A */ beqz $fp, .L7F0042A4 -/* 038D2C 7F0041BC 00000000 */ nop -/* 038D30 7F0041C0 0FC006D4 */ jal load_proptype -/* 038D34 7F0041C4 24040001 */ li $a0, 1 -/* 038D38 7F0041C8 02629821 */ addu $s3, $s3, $v0 -/* 038D3C 7F0041CC 0FC006D4 */ jal load_proptype -/* 038D40 7F0041D0 24040006 */ li $a0, 6 -/* 038D44 7F0041D4 02629821 */ addu $s3, $s3, $v0 -/* 038D48 7F0041D8 0FC006D4 */ jal load_proptype -/* 038D4C 7F0041DC 2404000D */ li $a0, 13 -/* 038D50 7F0041E0 02629821 */ addu $s3, $s3, $v0 -/* 038D54 7F0041E4 0FC006D4 */ jal load_proptype -/* 038D58 7F0041E8 2404000C */ li $a0, 12 -/* 038D5C 7F0041EC 02629821 */ addu $s3, $s3, $v0 -/* 038D60 7F0041F0 0FC006D4 */ jal load_proptype -/* 038D64 7F0041F4 2404000A */ li $a0, 10 -/* 038D68 7F0041F8 02629821 */ addu $s3, $s3, $v0 -/* 038D6C 7F0041FC 0FC006D4 */ jal load_proptype -/* 038D70 7F004200 2404000B */ li $a0, 11 -/* 038D74 7F004204 02629821 */ addu $s3, $s3, $v0 -/* 038D78 7F004208 0FC006D4 */ jal load_proptype -/* 038D7C 7F00420C 24040015 */ li $a0, 21 -/* 038D80 7F004210 02629821 */ addu $s3, $s3, $v0 -/* 038D84 7F004214 0FC006D4 */ jal load_proptype -/* 038D88 7F004218 24040003 */ li $a0, 3 -/* 038D8C 7F00421C 02629821 */ addu $s3, $s3, $v0 -/* 038D90 7F004220 0FC006D4 */ jal load_proptype -/* 038D94 7F004224 2404002A */ li $a0, 42 -/* 038D98 7F004228 02629821 */ addu $s3, $s3, $v0 -/* 038D9C 7F00422C 0FC006D4 */ jal load_proptype -/* 038DA0 7F004230 2404002F */ li $a0, 47 -/* 038DA4 7F004234 02629821 */ addu $s3, $s3, $v0 -/* 038DA8 7F004238 0FC006D4 */ jal load_proptype -/* 038DAC 7F00423C 2404002B */ li $a0, 43 -/* 038DB0 7F004240 02629821 */ addu $s3, $s3, $v0 -/* 038DB4 7F004244 0FC006D4 */ jal load_proptype -/* 038DB8 7F004248 24040029 */ li $a0, 41 -/* 038DBC 7F00424C 02629821 */ addu $s3, $s3, $v0 -/* 038DC0 7F004250 0FC006D4 */ jal load_proptype -/* 038DC4 7F004254 24040024 */ li $a0, 36 -/* 038DC8 7F004258 02629821 */ addu $s3, $s3, $v0 -/* 038DCC 7F00425C 0FC006D4 */ jal load_proptype -/* 038DD0 7F004260 24040005 */ li $a0, 5 -/* 038DD4 7F004264 02629821 */ addu $s3, $s3, $v0 -/* 038DD8 7F004268 0FC006D4 */ jal load_proptype -/* 038DDC 7F00426C 24040007 */ li $a0, 7 -/* 038DE0 7F004270 02629821 */ addu $s3, $s3, $v0 -/* 038DE4 7F004274 0FC006D4 */ jal load_proptype -/* 038DE8 7F004278 24040014 */ li $a0, 20 -/* 038DEC 7F00427C 02629821 */ addu $s3, $s3, $v0 -/* 038DF0 7F004280 0FC006D4 */ jal load_proptype -/* 038DF4 7F004284 24040027 */ li $a0, 39 -/* 038DF8 7F004288 02629821 */ addu $s3, $s3, $v0 -/* 038DFC 7F00428C 0FC006D4 */ jal load_proptype -/* 038E00 7F004290 2404002D */ li $a0, 45 -/* 038E04 7F004294 02629821 */ addu $s3, $s3, $v0 -/* 038E08 7F004298 0FC006D4 */ jal load_proptype -/* 038E0C 7F00429C 24040028 */ li $a0, 40 -/* 038E10 7F0042A0 0282A021 */ addu $s4, $s4, $v0 -.L7F0042A4: -/* 038E14 7F0042A4 0FC01558 */ jal sub_GAME_7F005540 -/* 038E18 7F0042A8 02602025 */ move $a0, $s3 -/* 038E1C 7F0042AC 0FC01591 */ jal sub_GAME_7F005624 -/* 038E20 7F0042B0 02802025 */ move $a0, $s4 -/* 038E24 7F0042B4 0FC26C01 */ jal get_num_players -/* 038E28 7F0042B8 00008025 */ move $s0, $zero -/* 038E2C 7F0042BC 1840000C */ blez $v0, .L7F0042F0 -/* 038E30 7F0042C0 00000000 */ nop -.L7F0042C4: -/* 038E34 7F0042C4 0FC26F2B */ jal set_cur_player -/* 038E38 7F0042C8 02002025 */ move $a0, $s0 -/* 038E3C 7F0042CC 0FC006D4 */ jal load_proptype -/* 038E40 7F0042D0 2404000E */ li $a0, 14 -/* 038E44 7F0042D4 0FC01897 */ jal alloc_additional_item_slots -/* 038E48 7F0042D8 00402025 */ move $a0, $v0 -/* 038E4C 7F0042DC 0FC26C01 */ jal get_num_players -/* 038E50 7F0042E0 26100001 */ addiu $s0, $s0, 1 -/* 038E54 7F0042E4 0202082A */ slt $at, $s0, $v0 -/* 038E58 7F0042E8 1420FFF6 */ bnez $at, .L7F0042C4 -/* 038E5C 7F0042EC 00000000 */ nop -.L7F0042F0: -/* 038E60 7F0042F0 3C0B8007 */ lui $t3, %hi(ptr_setup_objects) # $t3, 0x8007 -/* 038E64 7F0042F4 8D6B5D4C */ lw $t3, %lo(ptr_setup_objects)($t3) -/* 038E68 7F0042F8 116002E3 */ beqz $t3, .L7F004E88 -/* 038E6C 7F0042FC 00000000 */ nop -/* 038E70 7F004300 0FC3021E */ jal get_current_difficulty -/* 038E74 7F004304 00000000 */ nop -/* 038E78 7F004308 244C0004 */ addiu $t4, $v0, 4 -/* 038E7C 7F00430C 240D0001 */ li $t5, 1 -/* 038E80 7F004310 0FC26C01 */ jal get_num_players -/* 038E84 7F004314 018DA004 */ sllv $s4, $t5, $t4 -/* 038E88 7F004318 28410002 */ slti $at, $v0, 2 -/* 038E8C 7F00431C 14200007 */ bnez $at, .L7F00433C -/* 038E90 7F004320 00000000 */ nop -/* 038E94 7F004324 0FC26C01 */ jal get_num_players -/* 038E98 7F004328 00000000 */ nop -/* 038E9C 7F00432C 244E0014 */ addiu $t6, $v0, 0x14 -/* 038EA0 7F004330 240F0001 */ li $t7, 1 -/* 038EA4 7F004334 01CFC004 */ sllv $t8, $t7, $t6 -/* 038EA8 7F004338 0298A025 */ or $s4, $s4, $t8 -.L7F00433C: -/* 038EAC 7F00433C 3C128007 */ lui $s2, %hi(ptr_setup_objects) # $s2, 0x8007 -/* 038EB0 7F004340 8E525D4C */ lw $s2, %lo(ptr_setup_objects)($s2) -/* 038EB4 7F004344 24010030 */ li $at, 48 -/* 038EB8 7F004348 00009825 */ move $s3, $zero -/* 038EBC 7F00434C 92430003 */ lbu $v1, 3($s2) -/* 038EC0 7F004350 24170034 */ li $s7, 52 -/* 038EC4 7F004354 506101FA */ beql $v1, $at, .L7F004B40 -/* 038EC8 7F004358 92430003 */ lbu $v1, 3($s2) -/* 038ECC 7F00435C 4480A000 */ mtc1 $zero, $f20 -/* 038ED0 7F004360 3416FFFF */ li $s6, 65535 -/* 038ED4 7F004364 2468FFFF */ addiu $t0, $v1, -1 -.L7F004368: -/* 038ED8 7F004368 2D01002F */ sltiu $at, $t0, 0x2f -/* 038EDC 7F00436C 102001E7 */ beqz $at, other_obj_expand -/* 038EE0 7F004370 00084080 */ sll $t0, $t0, 2 -/* 038EE4 7F004374 3C018005 */ lui $at, %hi(jpt_object_type_expansion) -/* 038EE8 7F004378 00280821 */ addu $at, $at, $t0 -/* 038EEC 7F00437C 8C28EF98 */ lw $t0, %lo(jpt_object_type_expansion)($at) -/* 038EF0 7F004380 01000008 */ jr $t0 -/* 038EF4 7F004384 00000000 */ nop -actor_attr_expand: -/* 038EF8 7F004388 9250000B */ lbu $s0, 0xb($s2) -/* 038EFC 7F00438C 0FC08CAC */ jal check_if_guardnum_loaded_get_ptr_GUARDdata -/* 038F00 7F004390 8E440004 */ lw $a0, 4($s2) -/* 038F04 7F004394 104001DD */ beqz $v0, other_obj_expand -/* 038F08 7F004398 00000000 */ nop -/* 038F0C 7F00439C 8C490018 */ lw $t1, 0x18($v0) -/* 038F10 7F0043A0 112001DA */ beqz $t1, other_obj_expand -/* 038F14 7F0043A4 00000000 */ nop -/* 038F18 7F0043A8 8C59001C */ lw $t9, 0x1c($v0) -/* 038F1C 7F0043AC 132001D7 */ beqz $t9, other_obj_expand -/* 038F20 7F0043B0 00000000 */ nop -/* 038F24 7F0043B4 100001D5 */ b other_obj_expand -/* 038F28 7F0043B8 A0500010 */ sb $s0, 0x10($v0) -actor_expand: -/* 038F2C 7F0043BC 8FAA0278 */ lw $t2, 0x278($sp) -/* 038F30 7F0043C0 02A02025 */ move $a0, $s5 -/* 038F34 7F0043C4 02402825 */ move $a1, $s2 -/* 038F38 7F0043C8 114001D0 */ beqz $t2, other_obj_expand -/* 038F3C 7F0043CC 00000000 */ nop -/* 038F40 7F0043D0 0FC08E83 */ jal expand_09_characters -/* 038F44 7F0043D4 02603025 */ move $a2, $s3 -/* 038F48 7F0043D8 100001CC */ b other_obj_expand -/* 038F4C 7F0043DC 00000000 */ nop -door_expand: -/* 038F50 7F0043E0 13C001CA */ beqz $fp, other_obj_expand -/* 038F54 7F0043E4 00000000 */ nop -/* 038F58 7F0043E8 8E4B000C */ lw $t3, 0xc($s2) -/* 038F5C 7F0043EC 02A02025 */ move $a0, $s5 -/* 038F60 7F0043F0 02402825 */ move $a1, $s2 -/* 038F64 7F0043F4 01746824 */ and $t5, $t3, $s4 -/* 038F68 7F0043F8 15A001C4 */ bnez $t5, other_obj_expand -/* 038F6C 7F0043FC 00000000 */ nop -/* 038F70 7F004400 0FC00D20 */ jal sub_GAME_7F003480 -/* 038F74 7F004404 02603025 */ move $a2, $s3 -/* 038F78 7F004408 100001C0 */ b other_obj_expand -/* 038F7C 7F00440C 00000000 */ nop -door_scale_expand: -/* 038F80 7F004410 8E4C0004 */ lw $t4, 4($s2) -/* 038F84 7F004414 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 038F88 7F004418 44815000 */ mtc1 $at, $f10 -/* 038F8C 7F00441C 448C3000 */ mtc1 $t4, $f6 -/* 038F90 7F004420 3C018003 */ lui $at, %hi(scale_1_0_item_related) # $at, 0x8003 -/* 038F94 7F004424 46803220 */ cvt.s.w $f8, $f6 -/* 038F98 7F004428 460A4403 */ div.s $f16, $f8, $f10 -/* 038F9C 7F00442C 100001B7 */ b other_obj_expand -/* 038FA0 7F004430 E430A400 */ swc1 $f16, %lo(scale_1_0_item_related)($at) -item_expand: -/* 038FA4 7F004434 8FAF0278 */ lw $t7, 0x278($sp) -/* 038FA8 7F004438 11E001B4 */ beqz $t7, other_obj_expand -/* 038FAC 7F00443C 00000000 */ nop -/* 038FB0 7F004440 8E4E000C */ lw $t6, 0xc($s2) -/* 038FB4 7F004444 02A02025 */ move $a0, $s5 -/* 038FB8 7F004448 02402825 */ move $a1, $s2 -/* 038FBC 7F00444C 01D4C024 */ and $t8, $t6, $s4 -/* 038FC0 7F004450 170001AE */ bnez $t8, other_obj_expand -/* 038FC4 7F004454 00000000 */ nop -/* 038FC8 7F004458 0FC009CE */ jal expand_08_obj_set_guard_MP_weapons -/* 038FCC 7F00445C 02603025 */ move $a2, $s3 -/* 038FD0 7F004460 100001AA */ b other_obj_expand -/* 038FD4 7F004464 00000000 */ nop -key_expand: -/* 038FD8 7F004468 8FA80278 */ lw $t0, 0x278($sp) -/* 038FDC 7F00446C 110001A7 */ beqz $t0, other_obj_expand -/* 038FE0 7F004470 00000000 */ nop -/* 038FE4 7F004474 8E49000C */ lw $t1, 0xc($s2) -/* 038FE8 7F004478 02A02025 */ move $a0, $s5 -/* 038FEC 7F00447C 02402825 */ move $a1, $s2 -/* 038FF0 7F004480 0134C824 */ and $t9, $t1, $s4 -/* 038FF4 7F004484 172001A1 */ bnez $t9, other_obj_expand -/* 038FF8 7F004488 00000000 */ nop -/* 038FFC 7F00448C 0FC00A87 */ jal jmp_prepare_load_objects -/* 039000 7F004490 02603025 */ move $a2, $s3 -/* 039004 7F004494 1000019D */ b other_obj_expand -/* 039008 7F004498 00000000 */ nop -hat_expand: -/* 03900C 7F00449C 8FAA0278 */ lw $t2, 0x278($sp) -/* 039010 7F0044A0 1140019A */ beqz $t2, other_obj_expand -/* 039014 7F0044A4 00000000 */ nop -/* 039018 7F0044A8 8E4B000C */ lw $t3, 0xc($s2) -/* 03901C 7F0044AC 02A02025 */ move $a0, $s5 -/* 039020 7F0044B0 02402825 */ move $a1, $s2 -/* 039024 7F0044B4 01746824 */ and $t5, $t3, $s4 -/* 039028 7F0044B8 15A00194 */ bnez $t5, other_obj_expand -/* 03902C 7F0044BC 00000000 */ nop -/* 039030 7F0044C0 0FC00A6A */ jal MP_weapon_expansion_routine -/* 039034 7F0044C4 02603025 */ move $a2, $s3 -/* 039038 7F0044C8 10000190 */ b other_obj_expand -/* 03903C 7F0044CC 00000000 */ nop -surv_camera_expand: -/* 039040 7F0044D0 13C0018E */ beqz $fp, other_obj_expand -/* 039044 7F0044D4 00000000 */ nop -/* 039048 7F0044D8 8E4C000C */ lw $t4, 0xc($s2) -/* 03904C 7F0044DC 02A02025 */ move $a0, $s5 -/* 039050 7F0044E0 02402825 */ move $a1, $s2 -/* 039054 7F0044E4 01947824 */ and $t7, $t4, $s4 -/* 039058 7F0044E8 15E00188 */ bnez $t7, other_obj_expand -/* 03905C 7F0044EC 00000000 */ nop -/* 039060 7F0044F0 0FC00A8F */ jal sub_GAME_7F002A3C -/* 039064 7F0044F4 02603025 */ move $a2, $s3 -/* 039068 7F0044F8 10000184 */ b other_obj_expand -/* 03906C 7F0044FC 00000000 */ nop -autogun_expand: -/* 039070 7F004500 13C00182 */ beqz $fp, other_obj_expand -/* 039074 7F004504 00000000 */ nop -/* 039078 7F004508 8E4E000C */ lw $t6, 0xc($s2) -/* 03907C 7F00450C 02A02025 */ move $a0, $s5 -/* 039080 7F004510 02402825 */ move $a1, $s2 -/* 039084 7F004514 01D4C024 */ and $t8, $t6, $s4 -/* 039088 7F004518 1700017C */ bnez $t8, other_obj_expand -/* 03908C 7F00451C 00000000 */ nop -/* 039090 7F004520 0FC00B16 */ jal expand_type_0D_object_autoturret -/* 039094 7F004524 02603025 */ move $a2, $s3 -/* 039098 7F004528 10000178 */ b other_obj_expand -/* 03909C 7F00452C 00000000 */ nop -rack_expand: -/* 0390A0 7F004530 13C00176 */ beqz $fp, other_obj_expand -/* 0390A4 7F004534 00000000 */ nop -/* 0390A8 7F004538 8E48000C */ lw $t0, 0xc($s2) -/* 0390AC 7F00453C 02A02025 */ move $a0, $s5 -/* 0390B0 7F004540 02402825 */ move $a1, $s2 -/* 0390B4 7F004544 01144824 */ and $t1, $t0, $s4 -/* 0390B8 7F004548 15200170 */ bnez $t1, other_obj_expand -/* 0390BC 7F00454C 00000000 */ nop -/* 0390C0 7F004550 0FC00B87 */ jal jmp_prepare_load_objects_0 -/* 0390C4 7F004554 02603025 */ move $a2, $s3 -/* 0390C8 7F004558 1000016C */ b other_obj_expand -/* 0390CC 7F00455C 00000000 */ nop -single_screen_display_expand: -/* 0390D0 7F004560 13C0016A */ beqz $fp, other_obj_expand -/* 0390D4 7F004564 00000000 */ nop -/* 0390D8 7F004568 8E59000C */ lw $t9, 0xc($s2) -/* 0390DC 7F00456C 02A02025 */ move $a0, $s5 -/* 0390E0 7F004570 02402825 */ move $a1, $s2 -/* 0390E4 7F004574 03345024 */ and $t2, $t9, $s4 -/* 0390E8 7F004578 15400164 */ bnez $t2, other_obj_expand -/* 0390EC 7F00457C 00000000 */ nop -/* 0390F0 7F004580 0FC00B8F */ jal sub_GAME_7F002E3C -/* 0390F4 7F004584 02603025 */ move $a2, $s3 -/* 0390F8 7F004588 10000160 */ b other_obj_expand -/* 0390FC 7F00458C 00000000 */ nop -multi_screen_display_expand: -/* 039100 7F004590 13C0015E */ beqz $fp, other_obj_expand -/* 039104 7F004594 00000000 */ nop -/* 039108 7F004598 8E4B000C */ lw $t3, 0xc($s2) -/* 03910C 7F00459C 02A02025 */ move $a0, $s5 -/* 039110 7F0045A0 02402825 */ move $a1, $s2 -/* 039114 7F0045A4 01746824 */ and $t5, $t3, $s4 -/* 039118 7F0045A8 15A00158 */ bnez $t5, other_obj_expand -/* 03911C 7F0045AC 00000000 */ nop -/* 039120 7F0045B0 0FC00C34 */ jal sub_GAME_7F0030D0 -/* 039124 7F0045B4 02603025 */ move $a2, $s3 -/* 039128 7F0045B8 10000154 */ b other_obj_expand -/* 03912C 7F0045BC 00000000 */ nop -body_armor_expand: -/* 039130 7F0045C0 13C00152 */ beqz $fp, other_obj_expand -/* 039134 7F0045C4 00000000 */ nop -/* 039138 7F0045C8 8E4C000C */ lw $t4, 0xc($s2) -/* 03913C 7F0045CC 3C0E8005 */ lui $t6, %hi(j_text_trigger) # $t6, 0x8005 -/* 039140 7F0045D0 01947824 */ and $t7, $t4, $s4 -/* 039144 7F0045D4 51E00005 */ beql $t7, $zero, .L7F0045EC -/* 039148 7F0045D8 8E580080 */ lw $t8, 0x80($s2) -/* 03914C 7F0045DC 8DCE8500 */ lw $t6, %lo(j_text_trigger)($t6) -/* 039150 7F0045E0 11C0014A */ beqz $t6, other_obj_expand -/* 039154 7F0045E4 00000000 */ nop -/* 039158 7F0045E8 8E580080 */ lw $t8, 0x80($s2) -.L7F0045EC: -/* 03915C 7F0045EC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 039160 7F0045F0 44813000 */ mtc1 $at, $f6 -/* 039164 7F0045F4 44989000 */ mtc1 $t8, $f18 -/* 039168 7F0045F8 02A02025 */ move $a0, $s5 -/* 03916C 7F0045FC 02402825 */ move $a1, $s2 -/* 039170 7F004600 46809120 */ cvt.s.w $f4, $f18 -/* 039174 7F004604 02603025 */ move $a2, $s3 -/* 039178 7F004608 46062203 */ div.s $f8, $f4, $f6 -/* 03917C 7F00460C E6480080 */ swc1 $f8, 0x80($s2) -/* 039180 7F004610 C64A0080 */ lwc1 $f10, 0x80($s2) -/* 039184 7F004614 0FC00767 */ jal prepare_load_objects -/* 039188 7F004618 E64A0084 */ swc1 $f10, 0x84($s2) -/* 03918C 7F00461C 1000013B */ b other_obj_expand -/* 039190 7F004620 00000000 */ nop -type2F_tinted_glass: -/* 039194 7F004624 13C00139 */ beqz $fp, other_obj_expand -/* 039198 7F004628 00000000 */ nop -/* 03919C 7F00462C 8E48000C */ lw $t0, 0xc($s2) -/* 0391A0 7F004630 01144824 */ and $t1, $t0, $s4 -/* 0391A4 7F004634 15200135 */ bnez $t1, other_obj_expand -/* 0391A8 7F004638 00000000 */ nop -/* 0391AC 7F00463C 8E590008 */ lw $t9, 8($s2) -/* 0391B0 7F004640 001950C0 */ sll $t2, $t9, 3 -/* 0391B4 7F004644 05430039 */ bgezl $t2, .L7F00472C -/* 0391B8 7F004648 02A02025 */ move $a0, $s5 -/* 0391BC 7F00464C 86420006 */ lh $v0, 6($s2) -/* 0391C0 7F004650 3C0D8007 */ lui $t5, %hi(ptr_2xxxpresets) # $t5, 0x8007 -/* 0391C4 7F004654 27A50118 */ addiu $a1, $sp, 0x118 -/* 0391C8 7F004658 28412710 */ slti $at, $v0, 0x2710 -/* 0391CC 7F00465C 14200032 */ bnez $at, .L7F004728 -/* 0391D0 7F004660 00025900 */ sll $t3, $v0, 4 -/* 0391D4 7F004664 8DAD5D5C */ lw $t5, %lo(ptr_2xxxpresets)($t5) -/* 0391D8 7F004668 01625821 */ addu $t3, $t3, $v0 -/* 0391DC 7F00466C 000B5880 */ sll $t3, $t3, 2 -/* 0391E0 7F004670 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 0391E4 7F004674 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 0391E8 7F004678 016D8021 */ addu $s0, $t3, $t5 -/* 0391EC 7F00467C 02018021 */ addu $s0, $s0, $at -/* 0391F0 7F004680 0FC006F5 */ jal sub_GAME_7F001BD4 -/* 0391F4 7F004684 02002025 */ move $a0, $s0 -/* 0391F8 7F004688 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0391FC 7F00468C 44810000 */ mtc1 $at, $f0 -/* 039200 7F004690 C610000C */ lwc1 $f16, 0xc($s0) -/* 039204 7F004694 C7A40118 */ lwc1 $f4, 0x118($sp) -/* 039208 7F004698 27A40118 */ addiu $a0, $sp, 0x118 -/* 03920C 7F00469C 46008482 */ mul.s $f18, $f16, $f0 -/* 039210 7F0046A0 C7B0011C */ lwc1 $f16, 0x11c($sp) -/* 039214 7F0046A4 27A5010C */ addiu $a1, $sp, 0x10c -/* 039218 7F0046A8 46049180 */ add.s $f6, $f18, $f4 -/* 03921C 7F0046AC E7A6010C */ swc1 $f6, 0x10c($sp) -/* 039220 7F0046B0 C6080010 */ lwc1 $f8, 0x10($s0) -/* 039224 7F0046B4 46004282 */ mul.s $f10, $f8, $f0 -/* 039228 7F0046B8 46105480 */ add.s $f18, $f10, $f16 -/* 03922C 7F0046BC C7AA0120 */ lwc1 $f10, 0x120($sp) -/* 039230 7F0046C0 E7B20110 */ swc1 $f18, 0x110($sp) -/* 039234 7F0046C4 C6060014 */ lwc1 $f6, 0x14($s0) -/* 039238 7F0046C8 46003202 */ mul.s $f8, $f6, $f0 -/* 03923C 7F0046CC 460A4480 */ add.s $f18, $f8, $f10 -/* 039240 7F0046D0 E7B20114 */ swc1 $f18, 0x114($sp) -/* 039244 7F0046D4 C606000C */ lwc1 $f6, 0xc($s0) -/* 039248 7F0046D8 46060202 */ mul.s $f8, $f0, $f6 -/* 03924C 7F0046DC 46082481 */ sub.s $f18, $f4, $f8 -/* 039250 7F0046E0 E7B20118 */ swc1 $f18, 0x118($sp) -/* 039254 7F0046E4 C6060010 */ lwc1 $f6, 0x10($s0) -/* 039258 7F0046E8 46060102 */ mul.s $f4, $f0, $f6 -/* 03925C 7F0046EC 46048201 */ sub.s $f8, $f16, $f4 -/* 039260 7F0046F0 E7A8011C */ swc1 $f8, 0x11c($sp) -/* 039264 7F0046F4 C6120014 */ lwc1 $f18, 0x14($s0) -/* 039268 7F0046F8 46120182 */ mul.s $f6, $f0, $f18 -/* 03926C 7F0046FC 46065401 */ sub.s $f16, $f10, $f6 -/* 039270 7F004700 0FC2EA6D */ jal sub_GAME_7F0B9E04 -/* 039274 7F004704 E7B00120 */ swc1 $f16, 0x120($sp) -/* 039278 7F004708 8E4C0090 */ lw $t4, 0x90($s2) -/* 03927C 7F00470C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 039280 7F004710 44819000 */ mtc1 $at, $f18 -/* 039284 7F004714 448C2000 */ mtc1 $t4, $f4 -/* 039288 7F004718 AE42008C */ sw $v0, 0x8c($s2) -/* 03928C 7F00471C 46802220 */ cvt.s.w $f8, $f4 -/* 039290 7F004720 46124283 */ div.s $f10, $f8, $f18 -/* 039294 7F004724 E64A0090 */ swc1 $f10, 0x90($s2) -.L7F004728: -/* 039298 7F004728 02A02025 */ move $a0, $s5 -.L7F00472C: -/* 03929C 7F00472C 02402825 */ move $a1, $s2 -/* 0392A0 7F004730 0FC00767 */ jal prepare_load_objects -/* 0392A4 7F004734 02603025 */ move $a2, $s3 -/* 0392A8 7F004738 100000F4 */ b other_obj_expand -/* 0392AC 7F00473C 00000000 */ nop -obj_03_expand: -/* 0392B0 7F004740 13C000F2 */ beqz $fp, other_obj_expand -/* 0392B4 7F004744 00000000 */ nop -/* 0392B8 7F004748 8E4F000C */ lw $t7, 0xc($s2) -/* 0392BC 7F00474C 02A02025 */ move $a0, $s5 -/* 0392C0 7F004750 02402825 */ move $a1, $s2 -/* 0392C4 7F004754 01F47024 */ and $t6, $t7, $s4 -/* 0392C8 7F004758 15C000EC */ bnez $t6, other_obj_expand -/* 0392CC 7F00475C 00000000 */ nop -/* 0392D0 7F004760 0FC00767 */ jal prepare_load_objects -/* 0392D4 7F004764 02603025 */ move $a2, $s3 -/* 0392D8 7F004768 100000E8 */ b other_obj_expand -/* 0392DC 7F00476C 00000000 */ nop -ammo_box_expand: -/* 0392E0 7F004770 0FC26C01 */ jal get_num_players -/* 0392E4 7F004774 24100001 */ li $s0, 1 -/* 0392E8 7F004778 28410002 */ slti $at, $v0, 2 -/* 0392EC 7F00477C 1420000E */ bnez $at, .L7F0047B8 -/* 0392F0 7F004780 00000000 */ nop -/* 0392F4 7F004784 0FC31CBD */ jal get_ptr_mp_weapon_set_data -/* 0392F8 7F004788 00000000 */ nop -/* 0392FC 7F00478C 3C188007 */ lui $t8, %hi(lastmpweaponnum) # $t8, 0x8007 -/* 039300 7F004790 8F189580 */ lw $t8, %lo(lastmpweaponnum)($t8) -/* 039304 7F004794 00184080 */ sll $t0, $t8, 2 -/* 039308 7F004798 01184023 */ subu $t0, $t0, $t8 -/* 03930C 7F00479C 000840C0 */ sll $t0, $t0, 3 -/* 039310 7F0047A0 00481821 */ addu $v1, $v0, $t0 -/* 039314 7F0047A4 8C64000C */ lw $a0, 0xc($v1) -/* 039318 7F0047A8 8C700010 */ lw $s0, 0x10($v1) -/* 03931C 7F0047AC 00044880 */ sll $t1, $a0, 2 -/* 039320 7F0047B0 0249C821 */ addu $t9, $s2, $t1 -/* 039324 7F0047B4 A730007E */ sh $s0, 0x7e($t9) -.L7F0047B8: -/* 039328 7F0047B8 1A0000D4 */ blez $s0, other_obj_expand -/* 03932C 7F0047BC 00000000 */ nop -/* 039330 7F0047C0 13C000D2 */ beqz $fp, other_obj_expand -/* 039334 7F0047C4 00000000 */ nop -/* 039338 7F0047C8 8E4A000C */ lw $t2, 0xc($s2) -/* 03933C 7F0047CC 00008825 */ move $s1, $zero -/* 039340 7F0047D0 02408025 */ move $s0, $s2 -/* 039344 7F0047D4 01545824 */ and $t3, $t2, $s4 -/* 039348 7F0047D8 156000CC */ bnez $t3, other_obj_expand -/* 03934C 7F0047DC 00000000 */ nop -.L7F0047E0: -/* 039350 7F0047E0 960D0082 */ lhu $t5, 0x82($s0) -/* 039354 7F0047E4 59A00007 */ blezl $t5, .L7F004804 -/* 039358 7F0047E8 26310004 */ addiu $s1, $s1, 4 -/* 03935C 7F0047EC 96040080 */ lhu $a0, 0x80($s0) -/* 039360 7F0047F0 52C40004 */ beql $s6, $a0, .L7F004804 -/* 039364 7F0047F4 26310004 */ addiu $s1, $s1, 4 -/* 039368 7F0047F8 0FC15C4E */ jal load_model -/* 03936C 7F0047FC 00000000 */ nop -/* 039370 7F004800 26310004 */ addiu $s1, $s1, 4 -.L7F004804: -/* 039374 7F004804 1637FFF6 */ bne $s1, $s7, .L7F0047E0 -/* 039378 7F004808 26100004 */ addiu $s0, $s0, 4 -/* 03937C 7F00480C 02A02025 */ move $a0, $s5 -/* 039380 7F004810 02402825 */ move $a1, $s2 -/* 039384 7F004814 0FC00767 */ jal prepare_load_objects -/* 039388 7F004818 02603025 */ move $a2, $s3 -/* 03938C 7F00481C 100000BB */ b other_obj_expand -/* 039390 7F004820 00000000 */ nop -type2D_tank: -/* 039394 7F004824 13C000B9 */ beqz $fp, other_obj_expand -/* 039398 7F004828 00000000 */ nop -/* 03939C 7F00482C 8E4C000C */ lw $t4, 0xc($s2) -/* 0393A0 7F004830 24040020 */ li $a0, 32 -/* 0393A4 7F004834 01947824 */ and $t7, $t4, $s4 -/* 0393A8 7F004838 15E000B4 */ bnez $t7, other_obj_expand -/* 0393AC 7F00483C 00000000 */ nop -/* 0393B0 7F004840 0FC015CC */ jal set_weapon_model_generated_thrown_object -/* 0393B4 7F004844 E7B400E8 */ swc1 $f20, 0xe8($sp) -/* 0393B8 7F004848 02A02025 */ move $a0, $s5 -/* 0393BC 7F00484C 02402825 */ move $a1, $s2 -/* 0393C0 7F004850 0FC00767 */ jal prepare_load_objects -/* 0393C4 7F004854 02603025 */ move $a2, $s3 -/* 0393C8 7F004858 E65400C8 */ swc1 $f20, 0xc8($s2) -/* 0393CC 7F00485C E65400CC */ swc1 $f20, 0xcc($s2) -/* 0393D0 7F004860 C64C0038 */ lwc1 $f12, 0x38($s2) -/* 0393D4 7F004864 0FC16BD4 */ jal convert_angle_using_inverse -/* 0393D8 7F004868 C64E0040 */ lwc1 $f14, 0x40($s2) -/* 0393DC 7F00486C 3C018005 */ lui $at, %hi(D_8004F024) # $at, 0x8005 -/* 0393E0 7F004870 C426F054 */ lwc1 $f6, %lo(D_8004F024)($at) -/* 0393E4 7F004874 8E420010 */ lw $v0, 0x10($s2) -/* 0393E8 7F004878 46003401 */ sub.s $f16, $f6, $f0 -/* 0393EC 7F00487C 10400006 */ beqz $v0, .L7F004898 -/* 0393F0 7F004880 E65000DC */ swc1 $f16, 0xdc($s2) -/* 0393F4 7F004884 8C440014 */ lw $a0, 0x14($v0) -/* 0393F8 7F004888 8C450008 */ lw $a1, 8($v0) -/* 0393FC 7F00488C 0FC2CD48 */ jal sub_GAME_7F0B2970 -/* 039400 7F004890 8C460010 */ lw $a2, 0x10($v0) -/* 039404 7F004894 E7A000E8 */ swc1 $f0, 0xe8($sp) -.L7F004898: -/* 039408 7F004898 C7A200E8 */ lwc1 $f2, 0xe8($sp) -/* 03940C 7F00489C 3C018005 */ lui $at, %hi(D_8004F028) # $at, 0x8005 -/* 039410 7F0048A0 E64200D4 */ swc1 $f2, 0xd4($s2) -/* 039414 7F0048A4 C424F058 */ lwc1 $f4, %lo(D_8004F028)($at) -/* 039418 7F0048A8 46041203 */ div.s $f8, $f2, $f4 -/* 03941C 7F0048AC 10000097 */ b other_obj_expand -/* 039420 7F0048B0 E64800D0 */ swc1 $f8, 0xd0($s2) -type27_wheeled_vehicle: -/* 039424 7F0048B4 13C00095 */ beqz $fp, other_obj_expand -/* 039428 7F0048B8 00000000 */ nop -/* 03942C 7F0048BC 8E4E000C */ lw $t6, 0xc($s2) -/* 039430 7F0048C0 02A02025 */ move $a0, $s5 -/* 039434 7F0048C4 02402825 */ move $a1, $s2 -/* 039438 7F0048C8 01D4C024 */ and $t8, $t6, $s4 -/* 03943C 7F0048CC 1700008F */ bnez $t8, other_obj_expand -/* 039440 7F0048D0 00000000 */ nop -/* 039444 7F0048D4 0FC00767 */ jal prepare_load_objects -/* 039448 7F0048D8 02603025 */ move $a2, $s3 -/* 03944C 7F0048DC 8E440014 */ lw $a0, 0x14($s2) -/* 039450 7F0048E0 5080000E */ beql $a0, $zero, .L7F00491C -/* 039454 7F0048E4 3C01BF80 */ lui $at, 0xbf80 -/* 039458 7F0048E8 8C880008 */ lw $t0, 8($a0) -/* 03945C 7F0048EC 8D090008 */ lw $t1, 8($t0) -/* 039460 7F0048F0 8D250014 */ lw $a1, 0x14($t1) -/* 039464 7F0048F4 50A00009 */ beql $a1, $zero, .L7F00491C -/* 039468 7F0048F8 3C01BF80 */ lui $at, 0xbf80 -/* 03946C 7F0048FC 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 039470 7F004900 00000000 */ nop -/* 039474 7F004904 8E590008 */ lw $t9, 8($s2) -/* 039478 7F004908 3C011000 */ li $at, 0x10000000 # 0.000000 -/* 03947C 7F00490C 03215024 */ and $t2, $t9, $at -/* 039480 7F004910 2D4B0001 */ sltiu $t3, $t2, 1 -/* 039484 7F004914 AC4B0000 */ sw $t3, ($v0) -/* 039488 7F004918 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L7F00491C: -/* 03948C 7F00491C 44819000 */ mtc1 $at, $f18 -/* 039490 7F004920 E6540088 */ swc1 $f20, 0x88($s2) -/* 039494 7F004924 E654008C */ swc1 $f20, 0x8c($s2) -/* 039498 7F004928 E6540090 */ swc1 $f20, 0x90($s2) -/* 03949C 7F00492C E6540094 */ swc1 $f20, 0x94($s2) -/* 0394A0 7F004930 E654009C */ swc1 $f20, 0x9c($s2) -/* 0394A4 7F004934 E65400A0 */ swc1 $f20, 0xa0($s2) -/* 0394A8 7F004938 8E440080 */ lw $a0, 0x80($s2) -/* 0394AC 7F00493C 0FC0D5A6 */ jal LoadNext_PrevActionBlock -/* 0394B0 7F004940 E6520098 */ swc1 $f18, 0x98($s2) -/* 0394B4 7F004944 240DFFFF */ li $t5, -1 -/* 0394B8 7F004948 AE420080 */ sw $v0, 0x80($s2) -/* 0394BC 7F00494C A6400084 */ sh $zero, 0x84($s2) -/* 0394C0 7F004950 A64D0086 */ sh $t5, 0x86($s2) -/* 0394C4 7F004954 AE4000A4 */ sw $zero, 0xa4($s2) -/* 0394C8 7F004958 AE4000A8 */ sw $zero, 0xa8($s2) -/* 0394CC 7F00495C 1000006B */ b other_obj_expand -/* 0394D0 7F004960 AE4000AC */ sw $zero, 0xac($s2) -type28_aircraft: -/* 0394D4 7F004964 13C00069 */ beqz $fp, other_obj_expand -/* 0394D8 7F004968 00000000 */ nop -/* 0394DC 7F00496C 8E4C000C */ lw $t4, 0xc($s2) -/* 0394E0 7F004970 02A02025 */ move $a0, $s5 -/* 0394E4 7F004974 02402825 */ move $a1, $s2 -/* 0394E8 7F004978 01947824 */ and $t7, $t4, $s4 -/* 0394EC 7F00497C 15E00063 */ bnez $t7, other_obj_expand -/* 0394F0 7F004980 00000000 */ nop -/* 0394F4 7F004984 0FC00767 */ jal prepare_load_objects -/* 0394F8 7F004988 02603025 */ move $a2, $s3 -/* 0394FC 7F00498C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 039500 7F004990 44810000 */ mtc1 $at, $f0 -/* 039504 7F004994 E6540098 */ swc1 $f20, 0x98($s2) -/* 039508 7F004998 E654009C */ swc1 $f20, 0x9c($s2) -/* 03950C 7F00499C E6540088 */ swc1 $f20, 0x88($s2) -/* 039510 7F0049A0 E654008C */ swc1 $f20, 0x8c($s2) -/* 039514 7F0049A4 E6540090 */ swc1 $f20, 0x90($s2) -/* 039518 7F0049A8 E65400A4 */ swc1 $f20, 0xa4($s2) -/* 03951C 7F0049AC 8E440080 */ lw $a0, 0x80($s2) -/* 039520 7F0049B0 E64000A0 */ swc1 $f0, 0xa0($s2) -/* 039524 7F0049B4 0FC0D5A6 */ jal LoadNext_PrevActionBlock -/* 039528 7F0049B8 E6400094 */ swc1 $f0, 0x94($s2) -/* 03952C 7F0049BC 240EFFFF */ li $t6, -1 -/* 039530 7F0049C0 AE420080 */ sw $v0, 0x80($s2) -/* 039534 7F0049C4 A6400084 */ sh $zero, 0x84($s2) -/* 039538 7F0049C8 A64E0086 */ sh $t6, 0x86($s2) -/* 03953C 7F0049CC AE4000A8 */ sw $zero, 0xa8($s2) -/* 039540 7F0049D0 AE4000AC */ sw $zero, 0xac($s2) -/* 039544 7F0049D4 1000004D */ b other_obj_expand -/* 039548 7F0049D8 AE4000B0 */ sw $zero, 0xb0($s2) -tag_expand: -/* 03954C 7F0049DC 86580006 */ lh $t8, 6($s2) -/* 039550 7F0049E0 02A02025 */ move $a0, $s5 -/* 039554 7F0049E4 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 039558 7F0049E8 03132821 */ addu $a1, $t8, $s3 -/* 03955C 7F0049EC 10400004 */ beqz $v0, .L7F004A00 -/* 039560 7F0049F0 AE42000C */ sw $v0, 0xc($s2) -/* 039564 7F0049F4 8C480064 */ lw $t0, 0x64($v0) -/* 039568 7F0049F8 35090010 */ ori $t1, $t0, 0x10 -/* 03956C 7F0049FC AC490064 */ sw $t1, 0x64($v0) -.L7F004A00: -/* 039570 7F004A00 0FC013E8 */ jal set_parent_cur_tag_entry -/* 039574 7F004A04 02402025 */ move $a0, $s2 -/* 039578 7F004A08 10000040 */ b other_obj_expand -/* 03957C 7F004A0C 00000000 */ nop -type25_rename: -/* 039580 7F004A10 8E590004 */ lw $t9, 4($s2) -/* 039584 7F004A14 02A02025 */ move $a0, $s5 -/* 039588 7F004A18 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 03958C 7F004A1C 03332821 */ addu $a1, $t9, $s3 -/* 039590 7F004A20 10400004 */ beqz $v0, .L7F004A34 -/* 039594 7F004A24 AE420024 */ sw $v0, 0x24($s2) -/* 039598 7F004A28 8C4A0064 */ lw $t2, 0x64($v0) -/* 03959C 7F004A2C 354B0400 */ ori $t3, $t2, 0x400 -/* 0395A0 7F004A30 AC4B0064 */ sw $t3, 0x64($v0) -.L7F004A34: -/* 0395A4 7F004A34 0FC238E2 */ jal sub_GAME_7F08D8A0 -/* 0395A8 7F004A38 02402025 */ move $a0, $s2 -/* 0395AC 7F004A3C 10000033 */ b other_obj_expand -/* 0395B0 7F004A40 00000000 */ nop -type23_solo_brief_text: -/* 0395B4 7F004A44 0FC013EE */ jal setup_briefing_text_entry_parent -/* 0395B8 7F004A48 02402025 */ move $a0, $s2 -/* 0395BC 7F004A4C 1000002F */ b other_obj_expand -/* 0395C0 7F004A50 00000000 */ nop -type2E_viewport_pos: -/* 0395C4 7F004A54 8E4D0004 */ lw $t5, 4($s2) -/* 0395C8 7F004A58 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0395CC 7F004A5C 44810000 */ mtc1 $at, $f0 -/* 0395D0 7F004A60 448D5000 */ mtc1 $t5, $f10 -/* 0395D4 7F004A64 8E4F000C */ lw $t7, 0xc($s2) -/* 0395D8 7F004A68 8E4C0008 */ lw $t4, 8($s2) -/* 0395DC 7F004A6C 468051A0 */ cvt.s.w $f6, $f10 -/* 0395E0 7F004A70 448F5000 */ mtc1 $t7, $f10 -/* 0395E4 7F004A74 448C2000 */ mtc1 $t4, $f4 -/* 0395E8 7F004A78 8E4E0010 */ lw $t6, 0x10($s2) -/* 0395EC 7F004A7C 8E580014 */ lw $t8, 0x14($s2) -/* 0395F0 7F004A80 46802220 */ cvt.s.w $f8, $f4 -/* 0395F4 7F004A84 448E2000 */ mtc1 $t6, $f4 -/* 0395F8 7F004A88 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0395FC 7F004A8C 46003403 */ div.s $f16, $f6, $f0 -/* 039600 7F004A90 468051A0 */ cvt.s.w $f6, $f10 -/* 039604 7F004A94 46004483 */ div.s $f18, $f8, $f0 -/* 039608 7F004A98 E6500004 */ swc1 $f16, 4($s2) -/* 03960C 7F004A9C 46802220 */ cvt.s.w $f8, $f4 -/* 039610 7F004AA0 44812000 */ mtc1 $at, $f4 -/* 039614 7F004AA4 46003403 */ div.s $f16, $f6, $f0 -/* 039618 7F004AA8 44983000 */ mtc1 $t8, $f6 -/* 03961C 7F004AAC E6520008 */ swc1 $f18, 8($s2) -/* 039620 7F004AB0 44819000 */ mtc1 $at, $f18 -/* 039624 7F004AB4 00000000 */ nop -/* 039628 7F004AB8 46124283 */ div.s $f10, $f8, $f18 -/* 03962C 7F004ABC E650000C */ swc1 $f16, 0xc($s2) -/* 039630 7F004AC0 46803420 */ cvt.s.w $f16, $f6 -/* 039634 7F004AC4 46048203 */ div.s $f8, $f16, $f4 -/* 039638 7F004AC8 E64A0010 */ swc1 $f10, 0x10($s2) -/* 03963C 7F004ACC 1000000F */ b other_obj_expand -/* 039640 7F004AD0 E6480014 */ swc1 $f8, 0x14($s2) -type17_objective_expand: -/* 039644 7F004AD4 0FC013F4 */ jal add_ptr_to_objective -/* 039648 7F004AD8 02402025 */ move $a0, $s2 -/* 03964C 7F004ADC 1000000B */ b other_obj_expand -/* 039650 7F004AE0 00000000 */ nop -type20_subobjective_expand: -/* 039654 7F004AE4 0FC01403 */ jal set_parent_cur_obj_enter_room -/* 039658 7F004AE8 02402025 */ move $a0, $s2 -/* 03965C 7F004AEC 10000007 */ b other_obj_expand -/* 039660 7F004AF0 00000000 */ nop -type21_subobjective_expand: -/* 039664 7F004AF4 0FC01409 */ jal set_parent_cur_obj_deposited_in_room -/* 039668 7F004AF8 02402025 */ move $a0, $s2 -/* 03966C 7F004AFC 10000003 */ b other_obj_expand -/* 039670 7F004B00 00000000 */ nop -type1E_subobjective_expand: -/* 039674 7F004B04 0FC0140F */ jal set_parent_cur_obj_photograph -/* 039678 7F004B08 02402025 */ move $a0, $s2 -other_obj_expand: -/* 03967C 7F004B0C 0FC15B7D */ jal get_size_of_setup_object_type -/* 039680 7F004B10 02402025 */ move $a0, $s2 -/* 039684 7F004B14 00024080 */ sll $t0, $v0, 2 -/* 039688 7F004B18 01129021 */ addu $s2, $t0, $s2 -/* 03968C 7F004B1C 92430003 */ lbu $v1, 3($s2) -/* 039690 7F004B20 24010030 */ li $at, 48 -/* 039694 7F004B24 26730001 */ addiu $s3, $s3, 1 -/* 039698 7F004B28 5461FE0F */ bnel $v1, $at, .L7F004368 -/* 03969C 7F004B2C 2468FFFF */ addiu $t0, $v1, -1 -/* 0396A0 7F004B30 3C128007 */ lui $s2, %hi(ptr_setup_objects) # $s2, 0x8007 -/* 0396A4 7F004B34 8E525D4C */ lw $s2, %lo(ptr_setup_objects)($s2) -/* 0396A8 7F004B38 00009825 */ move $s3, $zero -/* 0396AC 7F004B3C 92430003 */ lbu $v1, 3($s2) -.L7F004B40: -/* 0396B0 7F004B40 24010030 */ li $at, 48 -/* 0396B4 7F004B44 3C170008 */ lui $s7, 8 -/* 0396B8 7F004B48 106100CF */ beq $v1, $at, .L7F004E88 -/* 0396BC 7F004B4C 24160008 */ li $s6, 8 -/* 0396C0 7F004B50 241E002B */ li $fp, 43 -/* 0396C4 7F004B54 24140001 */ li $s4, 1 -/* 0396C8 7F004B58 2469FFFD */ addiu $t1, $v1, -3 -.L7F004B5C: -/* 0396CC 7F004B5C 2D21002D */ sltiu $at, $t1, 0x2d -/* 0396D0 7F004B60 102000A4 */ beqz $at, .L7F004DF4 -/* 0396D4 7F004B64 00094880 */ sll $t1, $t1, 2 -/* 0396D8 7F004B68 3C018005 */ lui $at, %hi(jpt_8004F02C) -/* 0396DC 7F004B6C 00290821 */ addu $at, $at, $t1 -/* 0396E0 7F004B70 8C29F05C */ lw $t1, %lo(jpt_8004F02C)($at) -/* 0396E4 7F004B74 01200008 */ jr $t1 -/* 0396E8 7F004B78 00000000 */ nop -.L7F004B7C: -/* 0396EC 7F004B7C 8E590010 */ lw $t9, 0x10($s2) -/* 0396F0 7F004B80 1320009C */ beqz $t9, .L7F004DF4 -/* 0396F4 7F004B84 00000000 */ nop -/* 0396F8 7F004B88 8E4A0008 */ lw $t2, 8($s2) -/* 0396FC 7F004B8C 314B8000 */ andi $t3, $t2, 0x8000 -/* 039700 7F004B90 11600098 */ beqz $t3, .L7F004DF4 -/* 039704 7F004B94 00000000 */ nop -/* 039708 7F004B98 86420006 */ lh $v0, 6($s2) -/* 03970C 7F004B9C 02A02025 */ move $a0, $s5 -/* 039710 7F004BA0 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 039714 7F004BA4 02622821 */ addu $a1, $s3, $v0 -/* 039718 7F004BA8 10400092 */ beqz $v0, .L7F004DF4 -/* 03971C 7F004BAC 00408025 */ move $s0, $v0 -/* 039720 7F004BB0 8C4D0010 */ lw $t5, 0x10($v0) -/* 039724 7F004BB4 11A0008F */ beqz $t5, .L7F004DF4 -/* 039728 7F004BB8 00000000 */ nop -/* 03972C 7F004BBC 8E4C0064 */ lw $t4, 0x64($s2) -/* 039730 7F004BC0 8E440014 */ lw $a0, 0x14($s2) -/* 039734 7F004BC4 01977825 */ or $t7, $t4, $s7 -/* 039738 7F004BC8 AE4F0064 */ sw $t7, 0x64($s2) -/* 03973C 7F004BCC 0FC1B51A */ jal set_obj_instance_controller_scale -/* 039740 7F004BD0 8C850014 */ lw $a1, 0x14($a0) -/* 039744 7F004BD4 8E440010 */ lw $a0, 0x10($s2) -/* 039748 7F004BD8 0FC0EA29 */ jal sub_GAME_7F03A5A4 -/* 03974C 7F004BDC 8E050010 */ lw $a1, 0x10($s0) -/* 039750 7F004BE0 10000084 */ b .L7F004DF4 -/* 039754 7F004BE4 00000000 */ nop -.L7F004BE8: -/* 039758 7F004BE8 8E4E0004 */ lw $t6, 4($s2) -/* 03975C 7F004BEC 0FC15BE2 */ jal sub_GAME_7F056A88 -/* 039760 7F004BF0 01D32021 */ addu $a0, $t6, $s3 -/* 039764 7F004BF4 8E580008 */ lw $t8, 8($s2) -/* 039768 7F004BF8 00408025 */ move $s0, $v0 -/* 03976C 7F004BFC 0FC15BE2 */ jal sub_GAME_7F056A88 -/* 039770 7F004C00 03132021 */ addu $a0, $t8, $s3 -/* 039774 7F004C04 1200007B */ beqz $s0, .L7F004DF4 -/* 039778 7F004C08 00402825 */ move $a1, $v0 -/* 03977C 7F004C0C 10400079 */ beqz $v0, .L7F004DF4 -/* 039780 7F004C10 00000000 */ nop -/* 039784 7F004C14 92080003 */ lbu $t0, 3($s0) -/* 039788 7F004C18 16C80076 */ bne $s6, $t0, .L7F004DF4 -/* 03978C 7F004C1C 00000000 */ nop -/* 039790 7F004C20 90490003 */ lbu $t1, 3($v0) -/* 039794 7F004C24 16C90073 */ bne $s6, $t1, .L7F004DF4 -/* 039798 7F004C28 00000000 */ nop -/* 03979C 7F004C2C 0FC1489C */ jal link_objects -/* 0397A0 7F004C30 02002025 */ move $a0, $s0 -/* 0397A4 7F004C34 1000006F */ b .L7F004DF4 -/* 0397A8 7F004C38 00000000 */ nop -.L7F004C3C: -/* 0397AC 7F004C3C 8E420004 */ lw $v0, 4($s2) -/* 0397B0 7F004C40 8E510008 */ lw $s1, 8($s2) -/* 0397B4 7F004C44 02A02025 */ move $a0, $s5 -/* 0397B8 7F004C48 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 0397BC 7F004C4C 02622821 */ addu $a1, $s3, $v0 -/* 0397C0 7F004C50 00408025 */ move $s0, $v0 -/* 0397C4 7F004C54 0FC15BE2 */ jal sub_GAME_7F056A88 -/* 0397C8 7F004C58 02712021 */ addu $a0, $s3, $s1 -/* 0397CC 7F004C5C 12000065 */ beqz $s0, .L7F004DF4 -/* 0397D0 7F004C60 00000000 */ nop -/* 0397D4 7F004C64 8E030010 */ lw $v1, 0x10($s0) -/* 0397D8 7F004C68 10600062 */ beqz $v1, .L7F004DF4 -/* 0397DC 7F004C6C 00000000 */ nop -/* 0397E0 7F004C70 10400060 */ beqz $v0, .L7F004DF4 -/* 0397E4 7F004C74 00000000 */ nop -/* 0397E8 7F004C78 90590003 */ lbu $t9, 3($v0) -/* 0397EC 7F004C7C 1699005D */ bne $s4, $t9, .L7F004DF4 -/* 0397F0 7F004C80 00000000 */ nop -/* 0397F4 7F004C84 8C4A0010 */ lw $t2, 0x10($v0) -/* 0397F8 7F004C88 1140005A */ beqz $t2, .L7F004DF4 -/* 0397FC 7F004C8C 00000000 */ nop -/* 039800 7F004C90 AE430004 */ sw $v1, 4($s2) -/* 039804 7F004C94 8C4B0010 */ lw $t3, 0x10($v0) -/* 039808 7F004C98 02402025 */ move $a0, $s2 -/* 03980C 7F004C9C 0FC00644 */ jal sub_GAME_7F001910 -/* 039810 7F004CA0 AE4B0008 */ sw $t3, 8($s2) -/* 039814 7F004CA4 8E0D0064 */ lw $t5, 0x64($s0) -/* 039818 7F004CA8 35AC0001 */ ori $t4, $t5, 1 -/* 03981C 7F004CAC 10000051 */ b .L7F004DF4 -/* 039820 7F004CB0 AE0C0064 */ sw $t4, 0x64($s0) -.L7F004CB4: -/* 039824 7F004CB4 8E420004 */ lw $v0, 4($s2) -/* 039828 7F004CB8 8E4F000C */ lw $t7, 0xc($s2) -/* 03982C 7F004CBC 8E510008 */ lw $s1, 8($s2) -/* 039830 7F004CC0 02A02025 */ move $a0, $s5 -/* 039834 7F004CC4 02622821 */ addu $a1, $s3, $v0 -/* 039838 7F004CC8 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 03983C 7F004CCC AFAF0080 */ sw $t7, 0x80($sp) -/* 039840 7F004CD0 00408025 */ move $s0, $v0 -/* 039844 7F004CD4 02A02025 */ move $a0, $s5 -/* 039848 7F004CD8 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 03984C 7F004CDC 02712821 */ addu $a1, $s3, $s1 -/* 039850 7F004CE0 8FAE0080 */ lw $t6, 0x80($sp) -/* 039854 7F004CE4 00408825 */ move $s1, $v0 -/* 039858 7F004CE8 02A02025 */ move $a0, $s5 -/* 03985C 7F004CEC 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 039860 7F004CF0 026E2821 */ addu $a1, $s3, $t6 -/* 039864 7F004CF4 1200003F */ beqz $s0, .L7F004DF4 -/* 039868 7F004CF8 00000000 */ nop -/* 03986C 7F004CFC 8E180010 */ lw $t8, 0x10($s0) -/* 039870 7F004D00 1300003C */ beqz $t8, .L7F004DF4 -/* 039874 7F004D04 00000000 */ nop -/* 039878 7F004D08 1220003A */ beqz $s1, .L7F004DF4 -/* 03987C 7F004D0C 00000000 */ nop -/* 039880 7F004D10 8E280010 */ lw $t0, 0x10($s1) -/* 039884 7F004D14 11000037 */ beqz $t0, .L7F004DF4 -/* 039888 7F004D18 00000000 */ nop -/* 03988C 7F004D1C 92290003 */ lbu $t1, 3($s1) -/* 039890 7F004D20 17C90034 */ bne $fp, $t1, .L7F004DF4 -/* 039894 7F004D24 00000000 */ nop -/* 039898 7F004D28 10400032 */ beqz $v0, .L7F004DF4 -/* 03989C 7F004D2C 00000000 */ nop -/* 0398A0 7F004D30 8C590010 */ lw $t9, 0x10($v0) -/* 0398A4 7F004D34 1320002F */ beqz $t9, .L7F004DF4 -/* 0398A8 7F004D38 00000000 */ nop -/* 0398AC 7F004D3C 904A0003 */ lbu $t2, 3($v0) -/* 0398B0 7F004D40 02402025 */ move $a0, $s2 -/* 0398B4 7F004D44 168A002B */ bne $s4, $t2, .L7F004DF4 -/* 0398B8 7F004D48 00000000 */ nop -/* 0398BC 7F004D4C AE500004 */ sw $s0, 4($s2) -/* 0398C0 7F004D50 AE510008 */ sw $s1, 8($s2) -/* 0398C4 7F004D54 AE42000C */ sw $v0, 0xc($s2) -/* 0398C8 7F004D58 0FC00650 */ jal sub_GAME_7F001940 -/* 0398CC 7F004D5C AFA20074 */ sw $v0, 0x74($sp) -/* 0398D0 7F004D60 8E0B000C */ lw $t3, 0xc($s0) -/* 0398D4 7F004D64 8FA30074 */ lw $v1, 0x74($sp) -/* 0398D8 7F004D68 356D0400 */ ori $t5, $t3, 0x400 -/* 0398DC 7F004D6C AE0D000C */ sw $t5, 0xc($s0) -/* 0398E0 7F004D70 8C6C000C */ lw $t4, 0xc($v1) -/* 0398E4 7F004D74 358F0400 */ ori $t7, $t4, 0x400 -/* 0398E8 7F004D78 1000001E */ b .L7F004DF4 -/* 0398EC 7F004D7C AC6F000C */ sw $t7, 0xc($v1) -.L7F004D80: -/* 0398F0 7F004D80 8E420004 */ lw $v0, 4($s2) -/* 0398F4 7F004D84 8E510008 */ lw $s1, 8($s2) -/* 0398F8 7F004D88 02A02025 */ move $a0, $s5 -/* 0398FC 7F004D8C 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 039900 7F004D90 02622821 */ addu $a1, $s3, $v0 -/* 039904 7F004D94 00408025 */ move $s0, $v0 -/* 039908 7F004D98 02A02025 */ move $a0, $s5 -/* 03990C 7F004D9C 0FC15CE8 */ jal sub_GAME_7F056EA0 -/* 039910 7F004DA0 02712821 */ addu $a1, $s3, $s1 -/* 039914 7F004DA4 12000013 */ beqz $s0, .L7F004DF4 -/* 039918 7F004DA8 00000000 */ nop -/* 03991C 7F004DAC 8E0E0010 */ lw $t6, 0x10($s0) -/* 039920 7F004DB0 11C00010 */ beqz $t6, .L7F004DF4 -/* 039924 7F004DB4 00000000 */ nop -/* 039928 7F004DB8 1040000E */ beqz $v0, .L7F004DF4 -/* 03992C 7F004DBC 00000000 */ nop -/* 039930 7F004DC0 8C580010 */ lw $t8, 0x10($v0) -/* 039934 7F004DC4 1300000B */ beqz $t8, .L7F004DF4 -/* 039938 7F004DC8 00000000 */ nop -/* 03993C 7F004DCC 92080003 */ lbu $t0, 3($s0) -/* 039940 7F004DD0 02402025 */ move $a0, $s2 -/* 039944 7F004DD4 16880007 */ bne $s4, $t0, .L7F004DF4 -/* 039948 7F004DD8 00000000 */ nop -/* 03994C 7F004DDC AE500004 */ sw $s0, 4($s2) -/* 039950 7F004DE0 0FC0064A */ jal sub_GAME_7F001928 -/* 039954 7F004DE4 AE420008 */ sw $v0, 8($s2) -/* 039958 7F004DE8 8E090064 */ lw $t1, 0x64($s0) -/* 03995C 7F004DEC 35392000 */ ori $t9, $t1, 0x2000 -/* 039960 7F004DF0 AE190064 */ sw $t9, 0x64($s0) -.L7F004DF4: -/* 039964 7F004DF4 0FC15B7D */ jal get_size_of_setup_object_type -/* 039968 7F004DF8 02402025 */ move $a0, $s2 -/* 03996C 7F004DFC 00025080 */ sll $t2, $v0, 2 -/* 039970 7F004E00 01529021 */ addu $s2, $t2, $s2 -/* 039974 7F004E04 92430003 */ lbu $v1, 3($s2) -/* 039978 7F004E08 24010030 */ li $at, 48 -/* 03997C 7F004E0C 26730001 */ addiu $s3, $s3, 1 -/* 039980 7F004E10 5461FF52 */ bnel $v1, $at, .L7F004B5C -/* 039984 7F004E14 2469FFFD */ addiu $t1, $v1, -3 -/* 039988 7F004E18 1000001B */ b .L7F004E88 -/* 03998C 7F004E1C 00000000 */ nop -.L7F004E20: -/* 039990 7F004E20 3C018007 */ lui $at, %hi(ptr_setup_path_tbl) # $at, 0x8007 -/* 039994 7F004E24 AC205D40 */ sw $zero, %lo(ptr_setup_path_tbl)($at) -/* 039998 7F004E28 3C018007 */ lui $at, %hi(ptr_setup_path_link) # $at, 0x8007 -/* 03999C 7F004E2C AC205D44 */ sw $zero, %lo(ptr_setup_path_link)($at) -/* 0399A0 7F004E30 3C018007 */ lui $at, %hi(ptr_setup_intro) # $at, 0x8007 -/* 0399A4 7F004E34 AC205D48 */ sw $zero, %lo(ptr_setup_intro)($at) -/* 0399A8 7F004E38 3C018007 */ lui $at, %hi(ptr_setup_objects) # $at, 0x8007 -/* 0399AC 7F004E3C AC205D4C */ sw $zero, %lo(ptr_setup_objects)($at) -/* 0399B0 7F004E40 3C018007 */ lui $at, %hi(ptr_setup_path_sets) # $at, 0x8007 -/* 0399B4 7F004E44 AC205D50 */ sw $zero, %lo(ptr_setup_path_sets)($at) -/* 0399B8 7F004E48 3C018007 */ lui $at, %hi(ptr_setup_actions) # $at, 0x8007 -/* 0399BC 7F004E4C AC205D54 */ sw $zero, %lo(ptr_setup_actions)($at) -/* 0399C0 7F004E50 3C018007 */ lui $at, %hi(ptr_0xxxpresets) # $at, 0x8007 -/* 0399C4 7F004E54 AC205D58 */ sw $zero, %lo(ptr_0xxxpresets)($at) -/* 0399C8 7F004E58 3C018007 */ lui $at, %hi(ptr_2xxxpresets) # $at, 0x8007 -/* 0399CC 7F004E5C AC205D5C */ sw $zero, %lo(ptr_2xxxpresets)($at) -/* 0399D0 7F004E60 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D20) # $at, 0x8007 -/* 0399D4 7F004E64 AC205D60 */ sw $zero, %lo(dword_CODE_bss_80075D20)($at) -/* 0399D8 7F004E68 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D24) # $at, 0x8007 -/* 0399DC 7F004E6C AC205D64 */ sw $zero, %lo(dword_CODE_bss_80075D24)($at) -/* 0399E0 7F004E70 0FC003AE */ jal alloc_init_GUARDdata_entries -/* 0399E4 7F004E74 00002025 */ move $a0, $zero -/* 0399E8 7F004E78 0FC01558 */ jal sub_GAME_7F005540 -/* 0399EC 7F004E7C 00002025 */ move $a0, $zero -/* 0399F0 7F004E80 0FC01591 */ jal sub_GAME_7F005624 -/* 0399F4 7F004E84 00002025 */ move $a0, $zero -.L7F004E88: -/* 0399F8 7F004E88 0FC00417 */ jal alloc_false_GUARDdata_to_exec_global_action -/* 0399FC 7F004E8C 00000000 */ nop -/* 039A00 7F004E90 8FBF0044 */ lw $ra, 0x44($sp) -/* 039A04 7F004E94 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 039A08 7F004E98 8FB00020 */ lw $s0, 0x20($sp) -/* 039A0C 7F004E9C 8FB10024 */ lw $s1, 0x24($sp) -/* 039A10 7F004EA0 8FB20028 */ lw $s2, 0x28($sp) -/* 039A14 7F004EA4 8FB3002C */ lw $s3, 0x2c($sp) -/* 039A18 7F004EA8 8FB40030 */ lw $s4, 0x30($sp) -/* 039A1C 7F004EAC 8FB50034 */ lw $s5, 0x34($sp) -/* 039A20 7F004EB0 8FB60038 */ lw $s6, 0x38($sp) -/* 039A24 7F004EB4 8FB7003C */ lw $s7, 0x3c($sp) -/* 039A28 7F004EB8 8FBE0040 */ lw $fp, 0x40($sp) -/* 039A2C 7F004EBC 03E00008 */ jr $ra -/* 039A30 7F004EC0 27BD0280 */ addiu $sp, $sp, 0x280 - ) -#endif - - -#endif - - diff --git a/src/game/prop.h b/src/game/prop.h deleted file mode 100644 index 9e396fd..0000000 --- a/src/game/prop.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _PROP_H_ -#define _PROP_H_ -#include "ultra64.h" - -extern u32 only_read_by_stageload[] - -#endif diff --git a/src/game/radar.c b/src/game/radar.c deleted file mode 100644 index 037dc00..0000000 --- a/src/game/radar.c +++ /dev/null @@ -1,380 +0,0 @@ -#include "ultra64.h" - - -// rodata - - -#ifdef NONMATCHING -void display_red_blue_on_radar(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005BD20 -.word 0x40490fdb /*3.1415927*/ -glabel D_8005BD24 -.word 0x3c8efa35 /*0.017453292*/ -.text -glabel display_red_blue_on_radar -/* 0FABC0 7F0C6090 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 0FABC4 7F0C6094 AFBF006C */ sw $ra, 0x6c($sp) -/* 0FABC8 7F0C6098 AFB70068 */ sw $s7, 0x68($sp) -/* 0FABCC 7F0C609C AFB60064 */ sw $s6, 0x64($sp) -/* 0FABD0 7F0C60A0 AFB50060 */ sw $s5, 0x60($sp) -/* 0FABD4 7F0C60A4 AFB4005C */ sw $s4, 0x5c($sp) -/* 0FABD8 7F0C60A8 AFB30058 */ sw $s3, 0x58($sp) -/* 0FABDC 7F0C60AC AFB20054 */ sw $s2, 0x54($sp) -/* 0FABE0 7F0C60B0 AFB10050 */ sw $s1, 0x50($sp) -/* 0FABE4 7F0C60B4 AFB0004C */ sw $s0, 0x4c($sp) -/* 0FABE8 7F0C60B8 F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 0FABEC 7F0C60BC F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 0FABF0 7F0C60C0 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0FABF4 7F0C60C4 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0FABF8 7F0C60C8 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0FABFC 7F0C60CC F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0FAC00 7F0C60D0 0FC051D6 */ jal get_scenario -/* 0FAC04 7F0C60D4 AFA40088 */ sw $a0, 0x88($sp) -/* 0FAC08 7F0C60D8 0FC26C54 */ jal get_cur_playernum -/* 0FAC0C 7F0C60DC 0040A025 */ move $s4, $v0 -/* 0FAC10 7F0C60E0 0FC26919 */ jal get_num_players -/* 0FAC14 7F0C60E4 AFA20070 */ sw $v0, 0x70($sp) -/* 0FAC18 7F0C60E8 24010001 */ li $at, 1 -/* 0FAC1C 7F0C60EC 14410003 */ bne $v0, $at, .L7F0C60FC -/* 0FAC20 7F0C60F0 AFA20074 */ sw $v0, 0x74($sp) -/* 0FAC24 7F0C60F4 10000124 */ b .L7F0C6588 -/* 0FAC28 7F0C60F8 8FA20088 */ lw $v0, 0x88($sp) -.L7F0C60FC: -/* 0FAC2C 7F0C60FC 3C178008 */ lui $s7, %hi(pPlayer) -/* 0FAC30 7F0C6100 26F7A0B0 */ addiu $s7, %lo(pPlayer) # addiu $s7, $s7, -0x5f50 -/* 0FAC34 7F0C6104 8EE20000 */ lw $v0, ($s7) -/* 0FAC38 7F0C6108 8C4E29C4 */ lw $t6, 0x29c4($v0) -/* 0FAC3C 7F0C610C 15C00004 */ bnez $t6, .L7F0C6120 -/* 0FAC40 7F0C6110 00000000 */ nop -/* 0FAC44 7F0C6114 8C4F00D8 */ lw $t7, 0xd8($v0) -/* 0FAC48 7F0C6118 11E00003 */ beqz $t7, .L7F0C6128 -/* 0FAC4C 7F0C611C 00000000 */ nop -.L7F0C6120: -/* 0FAC50 7F0C6120 10000119 */ b .L7F0C6588 -/* 0FAC54 7F0C6124 8FA20088 */ lw $v0, 0x88($sp) -.L7F0C6128: -/* 0FAC58 7F0C6128 0FC249EF */ jal cheatCheckIfOn -/* 0FAC5C 7F0C612C 24040017 */ li $a0, 23 -/* 0FAC60 7F0C6130 10400003 */ beqz $v0, .L7F0C6140 -/* 0FAC64 7F0C6134 00000000 */ nop -/* 0FAC68 7F0C6138 10000113 */ b .L7F0C6588 -/* 0FAC6C 7F0C613C 8FA20088 */ lw $v0, 0x88($sp) -.L7F0C6140: -/* 0FAC70 7F0C6140 0C001145 */ jal get_video2_settings_ulx -/* 0FAC74 7F0C6144 00000000 */ nop -/* 0FAC78 7F0C6148 00028400 */ sll $s0, $v0, 0x10 -/* 0FAC7C 7F0C614C 0010C403 */ sra $t8, $s0, 0x10 -/* 0FAC80 7F0C6150 0C001127 */ jal get_video2_settings_width -/* 0FAC84 7F0C6154 03008025 */ move $s0, $t8 -/* 0FAC88 7F0C6158 0050A821 */ addu $s5, $v0, $s0 -/* 0FAC8C 7F0C615C 0C001149 */ jal get_video2_settings_uly -/* 0FAC90 7F0C6160 26B5FFD7 */ addiu $s5, $s5, -0x29 -/* 0FAC94 7F0C6164 8FB90074 */ lw $t9, 0x74($sp) -/* 0FAC98 7F0C6168 2456001A */ addiu $s6, $v0, 0x1a -/* 0FAC9C 7F0C616C 27A40088 */ addiu $a0, $sp, 0x88 -/* 0FACA0 7F0C6170 2B210003 */ slti $at, $t9, 3 -/* 0FACA4 7F0C6174 14200006 */ bnez $at, .L7F0C6190 -/* 0FACA8 7F0C6178 3C058009 */ lui $a1, %hi(mpradarimages) -/* 0FACAC 7F0C617C 8FA90070 */ lw $t1, 0x70($sp) -/* 0FACB0 7F0C6180 312A0001 */ andi $t2, $t1, 1 -/* 0FACB4 7F0C6184 55400003 */ bnezl $t2, .L7F0C6194 -/* 0FACB8 7F0C6188 240B0002 */ li $t3, 2 -/* 0FACBC 7F0C618C 26B5000F */ addiu $s5, $s5, 0xf -.L7F0C6190: -/* 0FACC0 7F0C6190 240B0002 */ li $t3, 2 -.L7F0C6194: -/* 0FACC4 7F0C6194 AFAB0010 */ sw $t3, 0x10($sp) -/* 0FACC8 7F0C6198 8CA5D12C */ lw $a1, %lo(mpradarimages)($a1) -/* 0FACCC 7F0C619C 24060002 */ li $a2, 2 -/* 0FACD0 7F0C61A0 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0FACD4 7F0C61A4 00003825 */ move $a3, $zero -/* 0FACD8 7F0C61A8 0FC2B366 */ jal microcode_constructor -/* 0FACDC 7F0C61AC 8FA40088 */ lw $a0, 0x88($sp) -/* 0FACE0 7F0C61B0 244C0008 */ addiu $t4, $v0, 8 -/* 0FACE4 7F0C61B4 AFAC0088 */ sw $t4, 0x88($sp) -/* 0FACE8 7F0C61B8 3C0DFCFF */ lui $t5, (0xFCFFB3FF >> 16) # lui $t5, 0xfcff -/* 0FACEC 7F0C61BC 3C0EFF65 */ lui $t6, (0xFF65FEFF >> 16) # lui $t6, 0xff65 -/* 0FACF0 7F0C61C0 35CEFEFF */ ori $t6, (0xFF65FEFF & 0xFFFF) # ori $t6, $t6, 0xfeff -/* 0FACF4 7F0C61C4 35ADB3FF */ ori $t5, (0xFCFFB3FF & 0xFFFF) # ori $t5, $t5, 0xb3ff -/* 0FACF8 7F0C61C8 AC4D0000 */ sw $t5, ($v0) -/* 0FACFC 7F0C61CC AC4E0004 */ sw $t6, 4($v0) -/* 0FAD00 7F0C61D0 8FAF0088 */ lw $t7, 0x88($sp) -/* 0FAD04 7F0C61D4 3C19FA00 */ lui $t9, 0xfa00 -/* 0FAD08 7F0C61D8 240900A0 */ li $t1, 160 -/* 0FAD0C 7F0C61DC 25F80008 */ addiu $t8, $t7, 8 -/* 0FAD10 7F0C61E0 AFB80088 */ sw $t8, 0x88($sp) -/* 0FAD14 7F0C61E4 26AC0010 */ addiu $t4, $s5, 0x10 -/* 0FAD18 7F0C61E8 ADE90004 */ sw $t1, 4($t7) -/* 0FAD1C 7F0C61EC ADF90000 */ sw $t9, ($t7) -/* 0FAD20 7F0C61F0 8FA40088 */ lw $a0, 0x88($sp) -/* 0FAD24 7F0C61F4 000C6880 */ sll $t5, $t4, 2 -/* 0FAD28 7F0C61F8 31AE0FFF */ andi $t6, $t5, 0xfff -/* 0FAD2C 7F0C61FC 26D90010 */ addiu $t9, $s6, 0x10 -/* 0FAD30 7F0C6200 00194880 */ sll $t1, $t9, 2 -/* 0FAD34 7F0C6204 000E7B00 */ sll $t7, $t6, 0xc -/* 0FAD38 7F0C6208 3C01E400 */ lui $at, 0xe400 -/* 0FAD3C 7F0C620C 01E1C025 */ or $t8, $t7, $at -/* 0FAD40 7F0C6210 312A0FFF */ andi $t2, $t1, 0xfff -/* 0FAD44 7F0C6214 26ACFFF0 */ addiu $t4, $s5, -0x10 -/* 0FAD48 7F0C6218 248B0008 */ addiu $t3, $a0, 8 -/* 0FAD4C 7F0C621C AFAB0088 */ sw $t3, 0x88($sp) -/* 0FAD50 7F0C6220 000C6880 */ sll $t5, $t4, 2 -/* 0FAD54 7F0C6224 26D9FFF0 */ addiu $t9, $s6, -0x10 -/* 0FAD58 7F0C6228 00194880 */ sll $t1, $t9, 2 -/* 0FAD5C 7F0C622C 31AE0FFF */ andi $t6, $t5, 0xfff -/* 0FAD60 7F0C6230 030A5825 */ or $t3, $t8, $t2 -/* 0FAD64 7F0C6234 31380FFF */ andi $t8, $t1, 0xfff -/* 0FAD68 7F0C6238 000E7B00 */ sll $t7, $t6, 0xc -/* 0FAD6C 7F0C623C 01F85025 */ or $t2, $t7, $t8 -/* 0FAD70 7F0C6240 AC8A0004 */ sw $t2, 4($a0) -/* 0FAD74 7F0C6244 AC8B0000 */ sw $t3, ($a0) -/* 0FAD78 7F0C6248 8FAB0088 */ lw $t3, 0x88($sp) -/* 0FAD7C 7F0C624C 3C0E0010 */ lui $t6, (0x00100010 >> 16) # lui $t6, 0x10 -/* 0FAD80 7F0C6250 35CE0010 */ ori $t6, (0x00100010 & 0xFFFF) # ori $t6, $t6, 0x10 -/* 0FAD84 7F0C6254 256C0008 */ addiu $t4, $t3, 8 -/* 0FAD88 7F0C6258 AFAC0088 */ sw $t4, 0x88($sp) -/* 0FAD8C 7F0C625C 3C0DB400 */ lui $t5, 0xb400 -/* 0FAD90 7F0C6260 AD6D0000 */ sw $t5, ($t3) -/* 0FAD94 7F0C6264 AD6E0004 */ sw $t6, 4($t3) -/* 0FAD98 7F0C6268 8FB90088 */ lw $t9, 0x88($sp) -/* 0FAD9C 7F0C626C 3C180400 */ lui $t8, (0x04000400 >> 16) # lui $t8, 0x400 -/* 0FADA0 7F0C6270 37180400 */ ori $t8, (0x04000400 & 0xFFFF) # ori $t8, $t8, 0x400 -/* 0FADA4 7F0C6274 27290008 */ addiu $t1, $t9, 8 -/* 0FADA8 7F0C6278 AFA90088 */ sw $t1, 0x88($sp) -/* 0FADAC 7F0C627C 3C0FB300 */ lui $t7, 0xb300 -/* 0FADB0 7F0C6280 AF2F0000 */ sw $t7, ($t9) -/* 0FADB4 7F0C6284 AF380004 */ sw $t8, 4($t9) -/* 0FADB8 7F0C6288 240B0040 */ li $t3, 64 -/* 0FADBC 7F0C628C 26CA0002 */ addiu $t2, $s6, 2 -/* 0FADC0 7F0C6290 AFAA0010 */ sw $t2, 0x10($sp) -/* 0FADC4 7F0C6294 AFAB0014 */ sw $t3, 0x14($sp) -/* 0FADC8 7F0C6298 8FA40088 */ lw $a0, 0x88($sp) -/* 0FADCC 7F0C629C 26A5FFFE */ addiu $a1, $s5, -2 -/* 0FADD0 7F0C62A0 26C6FFFE */ addiu $a2, $s6, -2 -/* 0FADD4 7F0C62A4 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0FADD8 7F0C62A8 26A70002 */ addiu $a3, $s5, 2 -/* 0FADDC 7F0C62AC 24010005 */ li $at, 5 -/* 0FADE0 7F0C62B0 1281000A */ beq $s4, $at, .L7F0C62DC -/* 0FADE4 7F0C62B4 AFA20088 */ sw $v0, 0x88($sp) -/* 0FADE8 7F0C62B8 24010006 */ li $at, 6 -/* 0FADEC 7F0C62BC 12810007 */ beq $s4, $at, .L7F0C62DC -/* 0FADF0 7F0C62C0 24010007 */ li $at, 7 -/* 0FADF4 7F0C62C4 12810005 */ beq $s4, $at, .L7F0C62DC -/* 0FADF8 7F0C62C8 24010002 */ li $at, 2 -/* 0FADFC 7F0C62CC 12810003 */ beq $s4, $at, .L7F0C62DC -/* 0FAE00 7F0C62D0 24010003 */ li $at, 3 -/* 0FAE04 7F0C62D4 16810018 */ bne $s4, $at, .L7F0C6338 -/* 0FAE08 7F0C62D8 8FA40088 */ lw $a0, 0x88($sp) -.L7F0C62DC: -/* 0FAE0C 7F0C62DC 8FAC0070 */ lw $t4, 0x70($sp) -/* 0FAE10 7F0C62E0 3C0E8008 */ lui $t6, %hi(player1_player_data+0x69) -/* 0FAE14 7F0C62E4 8FA40088 */ lw $a0, 0x88($sp) -/* 0FAE18 7F0C62E8 000C68C0 */ sll $t5, $t4, 3 -/* 0FAE1C 7F0C62EC 01AC6823 */ subu $t5, $t5, $t4 -/* 0FAE20 7F0C62F0 000D6900 */ sll $t5, $t5, 4 -/* 0FAE24 7F0C62F4 01CD7021 */ addu $t6, $t6, $t5 -/* 0FAE28 7F0C62F8 91CE9F59 */ lbu $t6, %lo(player1_player_data+0x69)($t6) -/* 0FAE2C 7F0C62FC 26A5FFFF */ addiu $a1, $s5, -1 -/* 0FAE30 7F0C6300 26C6FFFF */ addiu $a2, $s6, -1 -/* 0FAE34 7F0C6304 15C00004 */ bnez $t6, .L7F0C6318 -/* 0FAE38 7F0C6308 26A70001 */ addiu $a3, $s5, 1 -/* 0FAE3C 7F0C630C 3C02FF77 */ lui $v0, (0xFF7777FF >> 16) # lui $v0, 0xff77 -/* 0FAE40 7F0C6310 10000003 */ b .L7F0C6320 -/* 0FAE44 7F0C6314 344277FF */ ori $v0, (0xFF7777FF & 0xFFFF) # ori $v0, $v0, 0x77ff -.L7F0C6318: -/* 0FAE48 7F0C6318 3C028888 */ lui $v0, (0x8888FFFF >> 16) # lui $v0, 0x8888 -/* 0FAE4C 7F0C631C 3442FFFF */ ori $v0, (0x8888FFFF & 0xFFFF) # ori $v0, $v0, 0xffff -.L7F0C6320: -/* 0FAE50 7F0C6320 26D90001 */ addiu $t9, $s6, 1 -/* 0FAE54 7F0C6324 AFB90010 */ sw $t9, 0x10($sp) -/* 0FAE58 7F0C6328 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0FAE5C 7F0C632C AFA20014 */ sw $v0, 0x14($sp) -/* 0FAE60 7F0C6330 1000000A */ b .L7F0C635C -/* 0FAE64 7F0C6334 AFA20088 */ sw $v0, 0x88($sp) -.L7F0C6338: -/* 0FAE68 7F0C6338 26C90001 */ addiu $t1, $s6, 1 -/* 0FAE6C 7F0C633C 240FFFA0 */ li $t7, -96 -/* 0FAE70 7F0C6340 AFAF0014 */ sw $t7, 0x14($sp) -/* 0FAE74 7F0C6344 AFA90010 */ sw $t1, 0x10($sp) -/* 0FAE78 7F0C6348 26A5FFFF */ addiu $a1, $s5, -1 -/* 0FAE7C 7F0C634C 26C6FFFF */ addiu $a2, $s6, -1 -/* 0FAE80 7F0C6350 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0FAE84 7F0C6354 26A70001 */ addiu $a3, $s5, 1 -/* 0FAE88 7F0C6358 AFA20088 */ sw $v0, 0x88($sp) -.L7F0C635C: -/* 0FAE8C 7F0C635C 8FB80074 */ lw $t8, 0x74($sp) -/* 0FAE90 7F0C6360 00009825 */ move $s3, $zero -/* 0FAE94 7F0C6364 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 0FAE98 7F0C6368 1B000085 */ blez $t8, .L7F0C6580 -/* 0FAE9C 7F0C636C 00000000 */ nop -/* 0FAEA0 7F0C6370 4481F000 */ mtc1 $at, $f30 -/* 0FAEA4 7F0C6374 00000000 */ nop -/* 0FAEA8 7F0C6378 8FAA0070 */ lw $t2, 0x70($sp) -.L7F0C637C: -/* 0FAEAC 7F0C637C 00135880 */ sll $t3, $s3, 2 -/* 0FAEB0 7F0C6380 3C048008 */ lui $a0, %hi(ptr_BONDdata_p1) -/* 0FAEB4 7F0C6384 126A007A */ beq $s3, $t2, .L7F0C6570 -/* 0FAEB8 7F0C6388 008B2021 */ addu $a0, $a0, $t3 -/* 0FAEBC 7F0C638C 8C849EE0 */ lw $a0, %lo(ptr_BONDdata_p1)($a0) -/* 0FAEC0 7F0C6390 8C8C00D8 */ lw $t4, 0xd8($a0) -/* 0FAEC4 7F0C6394 55800077 */ bnezl $t4, .L7F0C6574 -/* 0FAEC8 7F0C6398 8FB80074 */ lw $t8, 0x74($sp) -/* 0FAECC 7F0C639C 8EED0000 */ lw $t5, ($s7) -/* 0FAED0 7F0C63A0 8C8200A8 */ lw $v0, 0xa8($a0) -/* 0FAED4 7F0C63A4 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0FAED8 7F0C63A8 8DA300A8 */ lw $v1, 0xa8($t5) -/* 0FAEDC 7F0C63AC C45C0008 */ lwc1 $f28, 8($v0) -/* 0FAEE0 7F0C63B0 C4520010 */ lwc1 $f18, 0x10($v0) -/* 0FAEE4 7F0C63B4 C4700008 */ lwc1 $f16, 8($v1) -/* 0FAEE8 7F0C63B8 C46A0010 */ lwc1 $f10, 0x10($v1) -/* 0FAEEC 7F0C63BC 44814000 */ mtc1 $at, $f8 -/* 0FAEF0 7F0C63C0 4610E501 */ sub.s $f20, $f28, $f16 -/* 0FAEF4 7F0C63C4 3C01457A */ li $at, 0x457A0000 # 4000.000000 -/* 0FAEF8 7F0C63C8 44818000 */ mtc1 $at, $f16 -/* 0FAEFC 7F0C63CC 460A9581 */ sub.s $f22, $f18, $f10 -/* 0FAF00 7F0C63D0 240E0010 */ li $t6, 16 -/* 0FAF04 7F0C63D4 448E5000 */ mtc1 $t6, $f10 -/* 0FAF08 7F0C63D8 46104683 */ div.s $f26, $f8, $f16 -/* 0FAF0C 7F0C63DC 4600A306 */ mov.s $f12, $f20 -/* 0FAF10 7F0C63E0 4600B386 */ mov.s $f14, $f22 -/* 0FAF14 7F0C63E4 0FC16A8C */ jal convert_angle_using_inverse -/* 0FAF18 7F0C63E8 46805620 */ cvt.s.w $f24, $f10 -/* 0FAF1C 7F0C63EC 461E0182 */ mul.s $f6, $f0, $f30 -/* 0FAF20 7F0C63F0 3C018006 */ lui $at, %hi(D_8005BD20) -/* 0FAF24 7F0C63F4 C428BD20 */ lwc1 $f8, %lo(D_8005BD20)($at) -/* 0FAF28 7F0C63F8 4614A102 */ mul.s $f4, $f20, $f20 -/* 0FAF2C 7F0C63FC 8EF90000 */ lw $t9, ($s7) -/* 0FAF30 7F0C6400 C7300148 */ lwc1 $f16, 0x148($t9) -/* 0FAF34 7F0C6404 46083283 */ div.s $f10, $f6, $f8 -/* 0FAF38 7F0C6408 4616B182 */ mul.s $f6, $f22, $f22 -/* 0FAF3C 7F0C640C 46062300 */ add.s $f12, $f4, $f6 -/* 0FAF40 7F0C6410 46105480 */ add.s $f18, $f10, $f16 -/* 0FAF44 7F0C6414 0C007DF8 */ jal sqrtf -/* 0FAF48 7F0C6418 461E9700 */ add.s $f28, $f18, $f30 -/* 0FAF4C 7F0C641C 461A0082 */ mul.s $f2, $f0, $f26 -/* 0FAF50 7F0C6420 24010005 */ li $at, 5 -/* 0FAF54 7F0C6424 001348C0 */ sll $t1, $s3, 3 -/* 0FAF58 7F0C6428 01334823 */ subu $t1, $t1, $s3 -/* 0FAF5C 7F0C642C 1281000A */ beq $s4, $at, .L7F0C6458 -/* 0FAF60 7F0C6430 46001586 */ mov.s $f22, $f2 -/* 0FAF64 7F0C6434 24010006 */ li $at, 6 -/* 0FAF68 7F0C6438 12810007 */ beq $s4, $at, .L7F0C6458 -/* 0FAF6C 7F0C643C 24010007 */ li $at, 7 -/* 0FAF70 7F0C6440 12810005 */ beq $s4, $at, .L7F0C6458 -/* 0FAF74 7F0C6444 24010002 */ li $at, 2 -/* 0FAF78 7F0C6448 12810003 */ beq $s4, $at, .L7F0C6458 -/* 0FAF7C 7F0C644C 24010003 */ li $at, 3 -/* 0FAF80 7F0C6450 5681001B */ bnel $s4, $at, .L7F0C64C0 -/* 0FAF84 7F0C6454 4618103C */ c.lt.s $f2, $f24 -.L7F0C6458: -/* 0FAF88 7F0C6458 4618103C */ c.lt.s $f2, $f24 -/* 0FAF8C 7F0C645C 3C0F8008 */ lui $t7, %hi(player1_player_data) -/* 0FAF90 7F0C6460 25EF9EF0 */ addiu $t7, %lo(player1_player_data) # addiu $t7, $t7, -0x6110 -/* 0FAF94 7F0C6464 00094900 */ sll $t1, $t1, 4 -/* 0FAF98 7F0C6468 4500000A */ bc1f .L7F0C6494 -/* 0FAF9C 7F0C646C 012F1021 */ addu $v0, $t1, $t7 -/* 0FAFA0 7F0C6470 90580069 */ lbu $t8, 0x69($v0) -/* 0FAFA4 7F0C6474 3C112828 */ lui $s1, 0x2828 -/* 0FAFA8 7F0C6478 17000004 */ bnez $t8, .L7F0C648C -/* 0FAFAC 7F0C647C 00000000 */ nop -/* 0FAFB0 7F0C6480 3C11FF00 */ lui $s1, (0xFF00FFFF >> 16) # lui $s1, 0xff00 -/* 0FAFB4 7F0C6484 10000016 */ b .L7F0C64E0 -/* 0FAFB8 7F0C6488 363100A0 */ ori $s1, (0xFF0000A0 & 0xFFFF) # ori $s1, $s1, 0xa0 -.L7F0C648C: -/* 0FAFBC 7F0C648C 10000014 */ b .L7F0C64E0 -/* 0FAFC0 7F0C6490 3631FFFF */ ori $s1, (0xFF00FFFF & 0xFFFF) # ori $s1, $s1, 0xffff -.L7F0C6494: -/* 0FAFC4 7F0C6494 904A0069 */ lbu $t2, 0x69($v0) -/* 0FAFC8 7F0C6498 4600C586 */ mov.s $f22, $f24 -/* 0FAFCC 7F0C649C 3C112828 */ lui $s1, 0x2828 -/* 0FAFD0 7F0C64A0 15400004 */ bnez $t2, .L7F0C64B4 -/* 0FAFD4 7F0C64A4 00000000 */ nop -/* 0FAFD8 7F0C64A8 3C11FF00 */ lui $s1, (0xFF00FFB0 >> 16) # lui $s1, 0xff00 -/* 0FAFDC 7F0C64AC 1000000C */ b .L7F0C64E0 -/* 0FAFE0 7F0C64B0 36310060 */ ori $s1, (0xFF000060 & 0xFFFF) # ori $s1, $s1, 0x60 -.L7F0C64B4: -/* 0FAFE4 7F0C64B4 1000000A */ b .L7F0C64E0 -/* 0FAFE8 7F0C64B8 3631FFB0 */ ori $s1, (0xFF00FFB0 & 0xFFFF) # ori $s1, $s1, 0xffb0 -/* 0FAFEC 7F0C64BC 4618103C */ c.lt.s $f2, $f24 -.L7F0C64C0: -/* 0FAFF0 7F0C64C0 3C11FFFF */ lui $s1, (0xFFFF0060 >> 16) # lui $s1, 0xffff -/* 0FAFF4 7F0C64C4 36310060 */ ori $s1, (0xFFFF0060 & 0xFFFF) # ori $s1, $s1, 0x60 -/* 0FAFF8 7F0C64C8 45020005 */ bc1fl .L7F0C64E0 -/* 0FAFFC 7F0C64CC 4600C586 */ mov.s $f22, $f24 -/* 0FB000 7F0C64D0 3C11FFFF */ lui $s1, (0xFFFF00A0 >> 16) # lui $s1, 0xffff -/* 0FB004 7F0C64D4 10000002 */ b .L7F0C64E0 -/* 0FB008 7F0C64D8 363100A0 */ ori $s1, (0xFFFF00A0 & 0xFFFF) # ori $s1, $s1, 0xa0 -/* 0FB00C 7F0C64DC 4600C586 */ mov.s $f22, $f24 -.L7F0C64E0: -/* 0FB010 7F0C64E0 3C018006 */ lui $at, %hi(D_8005BD24) -/* 0FB014 7F0C64E4 C428BD24 */ lwc1 $f8, %lo(D_8005BD24)($at) -/* 0FB018 7F0C64E8 4608E502 */ mul.s $f20, $f28, $f8 -/* 0FB01C 7F0C64EC 0FC15FAB */ jal sinf -/* 0FB020 7F0C64F0 4600A306 */ mov.s $f12, $f20 -/* 0FB024 7F0C64F4 46160282 */ mul.s $f10, $f0, $f22 -/* 0FB028 7F0C64F8 4600A306 */ mov.s $f12, $f20 -/* 0FB02C 7F0C64FC 4600540D */ trunc.w.s $f16, $f10 -/* 0FB030 7F0C6500 440C8000 */ mfc1 $t4, $f16 -/* 0FB034 7F0C6504 0FC15FA8 */ jal cosf -/* 0FB038 7F0C6508 01958021 */ addu $s0, $t4, $s5 -/* 0FB03C 7F0C650C 46160482 */ mul.s $f18, $f0, $f22 -/* 0FB040 7F0C6510 24090040 */ li $t1, 64 -/* 0FB044 7F0C6514 AFA90014 */ sw $t1, 0x14($sp) -/* 0FB048 7F0C6518 8FA40088 */ lw $a0, 0x88($sp) -/* 0FB04C 7F0C651C 2605FFFE */ addiu $a1, $s0, -2 -/* 0FB050 7F0C6520 26070002 */ addiu $a3, $s0, 2 -/* 0FB054 7F0C6524 4600910D */ trunc.w.s $f4, $f18 -/* 0FB058 7F0C6528 440E2000 */ mfc1 $t6, $f4 -/* 0FB05C 7F0C652C 00000000 */ nop -/* 0FB060 7F0C6530 01D61021 */ addu $v0, $t6, $s6 -/* 0FB064 7F0C6534 24590002 */ addiu $t9, $v0, 2 -/* 0FB068 7F0C6538 00409025 */ move $s2, $v0 -/* 0FB06C 7F0C653C AFB90010 */ sw $t9, 0x10($sp) -/* 0FB070 7F0C6540 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0FB074 7F0C6544 2446FFFE */ addiu $a2, $v0, -2 -/* 0FB078 7F0C6548 264F0001 */ addiu $t7, $s2, 1 -/* 0FB07C 7F0C654C AFA20088 */ sw $v0, 0x88($sp) -/* 0FB080 7F0C6550 AFAF0010 */ sw $t7, 0x10($sp) -/* 0FB084 7F0C6554 00402025 */ move $a0, $v0 -/* 0FB088 7F0C6558 2605FFFF */ addiu $a1, $s0, -1 -/* 0FB08C 7F0C655C 2646FFFF */ addiu $a2, $s2, -1 -/* 0FB090 7F0C6560 26070001 */ addiu $a3, $s0, 1 -/* 0FB094 7F0C6564 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0FB098 7F0C6568 AFB10014 */ sw $s1, 0x14($sp) -/* 0FB09C 7F0C656C AFA20088 */ sw $v0, 0x88($sp) -.L7F0C6570: -/* 0FB0A0 7F0C6570 8FB80074 */ lw $t8, 0x74($sp) -.L7F0C6574: -/* 0FB0A4 7F0C6574 26730001 */ addiu $s3, $s3, 1 -/* 0FB0A8 7F0C6578 5678FF80 */ bnel $s3, $t8, .L7F0C637C -/* 0FB0AC 7F0C657C 8FAA0070 */ lw $t2, 0x70($sp) -.L7F0C6580: -/* 0FB0B0 7F0C6580 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 0FB0B4 7F0C6584 8FA40088 */ lw $a0, 0x88($sp) -.L7F0C6588: -/* 0FB0B8 7F0C6588 8FBF006C */ lw $ra, 0x6c($sp) -/* 0FB0BC 7F0C658C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0FB0C0 7F0C6590 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0FB0C4 7F0C6594 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0FB0C8 7F0C6598 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0FB0CC 7F0C659C D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0FB0D0 7F0C65A0 D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 0FB0D4 7F0C65A4 8FB0004C */ lw $s0, 0x4c($sp) -/* 0FB0D8 7F0C65A8 8FB10050 */ lw $s1, 0x50($sp) -/* 0FB0DC 7F0C65AC 8FB20054 */ lw $s2, 0x54($sp) -/* 0FB0E0 7F0C65B0 8FB30058 */ lw $s3, 0x58($sp) -/* 0FB0E4 7F0C65B4 8FB4005C */ lw $s4, 0x5c($sp) -/* 0FB0E8 7F0C65B8 8FB50060 */ lw $s5, 0x60($sp) -/* 0FB0EC 7F0C65BC 8FB60064 */ lw $s6, 0x64($sp) -/* 0FB0F0 7F0C65C0 8FB70068 */ lw $s7, 0x68($sp) -/* 0FB0F4 7F0C65C4 03E00008 */ jr $ra -/* 0FB0F8 7F0C65C8 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif - - diff --git a/src/game/room_model_buffer.c b/src/game/room_model_buffer.c deleted file mode 100644 index 794d149..0000000 --- a/src/game/room_model_buffer.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "ultra64.h" - -//TODO this is not correct size afaik, but it fills a gap this way -//shrinking slightly from 0x271CA0 to allow some room for shifting, -// eventually we will know real sizes and other buffers -u8 room_model_buffer[0x270000]; diff --git a/src/game/room_model_buffer.h b/src/game/room_model_buffer.h deleted file mode 100644 index a1d558a..0000000 --- a/src/game/room_model_buffer.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _ROOM_MODEL_BUFFER_H_ -#define _ROOM_MODEL_BUFFER_H_ -#include "ultra64.h" - -extern u8 room_model_buffer[]; - -#endif diff --git a/src/game/rsp.c b/src/game/rsp.c deleted file mode 100644 index 58ca01d..0000000 --- a/src/game/rsp.c +++ /dev/null @@ -1,179 +0,0 @@ -#include "ultra64.h" - -// bss -char dword_CODE_bss_8008D370[0x400]; -char dword_CODE_bss_8008D770[0xBA0]; - - - -s32 D_8004E9E0 = 0; -s32 D_8004E9E4 = 0; -s32 D_8004E9E8 = 0; -s32 D_8004E9EC = 0; -//make me a struct -//D:8004E9F0 -u32 fast3d_related_0[] = { - 0, 0, 0, 0, 1, 2, 0, 0, 0, 0x1000, 0, 0x800, dword_CODE_bss_8008D370,0x400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -//im another instance of above struct -//D:8004EA50 -u32 fast3d_related_1[] = { - 0, 0, 0, 0, 1, 2, 0, 0, 0, 0x1000, 0, 0x800, dword_CODE_bss_8008D370,0x400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -//D:8004EAB0 -u32 *fast3d_related_array = &fast3d_related_0; - - - - -void something_with_rsp_c_debug(void) { - get_ptr_debug_notice_list_entry(&D_8004E9E0, "rsp_c_debug"); -} - - - - - - -#ifdef NONMATCHING -void allocate_init_rsp_buffers(void) - -{ - ptr_rsp_buffer_start = mempAllocBytesInBank(0xa000,'\x06'); - ptr_rspbuffer_end = ptr_rsp_buffer_start + 0xa000; - return; -} - -#else -GLOBAL_ASM( -.text -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 mempAllocBytesInBank -/* 10491C 7F0CFDEC 24050006 */ li $a1, 6 -/* 104920 7F0CFDF0 8FBF0014 */ lw $ra, 0x14($sp) -/* 104924 7F0CFDF4 3C038005 */ lui $v1, %hi(D_8004E9E8) -/* 104928 7F0CFDF8 3401A000 */ li $at, 40960 -/* 10492C 7F0CFDFC 2463E9E8 */ addiu $v1, %lo(D_8004E9E8) # addiu $v1, $v1, -0x1618 -/* 104930 7F0CFE00 00417821 */ addu $t7, $v0, $at -/* 104934 7F0CFE04 AC620000 */ sw $v0, ($v1) -/* 104938 7F0CFE08 3C018005 */ lui $at, %hi(D_8004E9E4) -/* 10493C 7F0CFE0C AC2FE9E4 */ sw $t7, %lo(D_8004E9E4)($at) -/* 104940 7F0CFE10 03E00008 */ jr $ra -/* 104944 7F0CFE14 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void *load_rsp_microcode(s32 arg0, s32 arg1, ? arg2, ?32 arg3) { - void *temp_v0; - - // Node 0 - fast3d_related_array->unk18 = &rspbootTextStart; - fast3d_related_array->unk1C = (s32) (&gsp3DTextStart - &rspbootTextStart); - temp_v0 = (fast3d_related_array + 0x10); - temp_v0->unk10 = &gsp3DTextStart; - temp_v0->unk18 = &gsp3DDataStart; - temp_v0->unk28 = (?32) D_8004E9E8; - temp_v0->unk30 = arg0; - temp_v0->unk34 = (s32) (((s32) (arg1 - arg0) >> 3) * 8); - temp_v0->unk38 = &dword_CODE_bss_8008D770; - temp_v0->unk3C = 0xba0; - temp_v0->unk2C = (?32) D_8004E9E4; - *fast3d_related_array = 0; - fast3d_related_array->unk8 = 0x63; - fast3d_related_array->unk50 = &gfxFrameMsgQ; - fast3d_related_array->unk54 = arg3; - fast3d_related_array->unkC = (?32) fast3d_related_array->unk58; - osWritebackDCacheAll(); - osSendMesg(mq, fast3d_related_array, 1); - fast3d_related_array = (void *) (((s32) fast3d_related_array ^ &fast3d_related_0) ^ &fast3d_related_1); - return; - // (possible return value: &fast3d_related_array) -} - -#else -GLOBAL_ASM( -.text -glabel load_rsp_microcode -/* 104948 7F0CFE18 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 10494C 7F0CFE1C 3C038005 */ lui $v1, %hi(fast3d_related_array) -/* 104950 7F0CFE20 2463EAB0 */ addiu $v1, %lo(fast3d_related_array) # addiu $v1, $v1, -0x1550 -/* 104954 7F0CFE24 AFB00018 */ sw $s0, 0x18($sp) -/* 104958 7F0CFE28 8C700000 */ lw $s0, ($v1) -/* 10495C 7F0CFE2C 3C028002 */ lui $v0, %hi(rspbootTextStart) -/* 104960 7F0CFE30 3C0E8002 */ lui $t6, %hi(gsp3DTextStart) -/* 104964 7F0CFE34 24420D90 */ addiu $v0, %lo(rspbootTextStart) # addiu $v0, $v0, 0xd90 -/* 104968 7F0CFE38 25CE0E60 */ addiu $t6, %lo(gsp3DTextStart) # addiu $t6, $t6, 0xe60 -/* 10496C 7F0CFE3C AFBF001C */ sw $ra, 0x1c($sp) -/* 104970 7F0CFE40 AFA60028 */ sw $a2, 0x28($sp) -/* 104974 7F0CFE44 01C27823 */ subu $t7, $t6, $v0 -/* 104978 7F0CFE48 AE020018 */ sw $v0, 0x18($s0) -/* 10497C 7F0CFE4C 3C188002 */ lui $t8, %hi(gsp3DTextStart) -/* 104980 7F0CFE50 3C198006 */ lui $t9, %hi(gsp3DDataStart) -/* 104984 7F0CFE54 AE0F001C */ sw $t7, 0x1c($s0) -/* 104988 7F0CFE58 26020010 */ addiu $v0, $s0, 0x10 -/* 10498C 7F0CFE5C 27180E60 */ addiu $t8, %lo(gsp3DTextStart) # addiu $t8, $t8, 0xe60 -/* 104990 7F0CFE60 2739C820 */ addiu $t9, %lo(gsp3DDataStart) # addiu $t9, $t9, -0x37e0 -/* 104994 7F0CFE64 AC580010 */ sw $t8, 0x10($v0) -/* 104998 7F0CFE68 AC590018 */ sw $t9, 0x18($v0) -/* 10499C 7F0CFE6C 3C088005 */ lui $t0, %hi(D_8004E9E8) -/* 1049A0 7F0CFE70 8D08E9E8 */ lw $t0, %lo(D_8004E9E8)($t0) -/* 1049A4 7F0CFE74 3C098005 */ lui $t1, %hi(D_8004E9E4) -/* 1049A8 7F0CFE78 00A45023 */ subu $t2, $a1, $a0 -/* 1049AC 7F0CFE7C AC480028 */ sw $t0, 0x28($v0) -/* 1049B0 7F0CFE80 8D29E9E4 */ lw $t1, %lo(D_8004E9E4)($t1) -/* 1049B4 7F0CFE84 000A58C3 */ sra $t3, $t2, 3 -/* 1049B8 7F0CFE88 3C0D8009 */ lui $t5, %hi(dword_CODE_bss_8008D770) -/* 1049BC 7F0CFE8C 000B60C0 */ sll $t4, $t3, 3 -/* 1049C0 7F0CFE90 25ADD770 */ addiu $t5, %lo(dword_CODE_bss_8008D770) # addiu $t5, $t5, -0x2890 -/* 1049C4 7F0CFE94 240E0BA0 */ li $t6, 2976 -/* 1049C8 7F0CFE98 AC440030 */ sw $a0, 0x30($v0) -/* 1049CC 7F0CFE9C AC4C0034 */ sw $t4, 0x34($v0) -/* 1049D0 7F0CFEA0 AC4D0038 */ sw $t5, 0x38($v0) -/* 1049D4 7F0CFEA4 AC4E003C */ sw $t6, 0x3c($v0) -/* 1049D8 7F0CFEA8 AC49002C */ sw $t1, 0x2c($v0) -/* 1049DC 7F0CFEAC 3C188006 */ lui $t8, %hi(gfxFrameMsgQ) -/* 1049E0 7F0CFEB0 240F0063 */ li $t7, 99 -/* 1049E4 7F0CFEB4 2718D9A0 */ addiu $t8, %lo(gfxFrameMsgQ) # addiu $t8, $t8, -0x2660 -/* 1049E8 7F0CFEB8 AE000000 */ sw $zero, ($s0) -/* 1049EC 7F0CFEBC AE0F0008 */ sw $t7, 8($s0) -/* 1049F0 7F0CFEC0 AE180050 */ sw $t8, 0x50($s0) -/* 1049F4 7F0CFEC4 AE070054 */ sw $a3, 0x54($s0) -/* 1049F8 7F0CFEC8 8C790000 */ lw $t9, ($v1) -/* 1049FC 7F0CFECC 8F280058 */ lw $t0, 0x58($t9) -/* 104A00 7F0CFED0 0C0034C8 */ jal osWritebackDCacheAll -/* 104A04 7F0CFED4 AE08000C */ sw $t0, 0xc($s0) -/* 104A08 7F0CFED8 3C048006 */ lui $a0, %hi(sched_cmdQ) -/* 104A0C 7F0CFEDC 8C84DA38 */ lw $a0, %lo(sched_cmdQ)($a0) -/* 104A10 7F0CFEE0 02002825 */ move $a1, $s0 -/* 104A14 7F0CFEE4 0C0037C4 */ jal osSendMesg -/* 104A18 7F0CFEE8 24060001 */ li $a2, 1 -/* 104A1C 7F0CFEEC 3C028005 */ lui $v0, %hi(fast3d_related_array) -/* 104A20 7F0CFEF0 2442EAB0 */ addiu $v0, %lo(fast3d_related_array) # addiu $v0, $v0, -0x1550 -/* 104A24 7F0CFEF4 8C490000 */ lw $t1, ($v0) -/* 104A28 7F0CFEF8 3C0A8005 */ lui $t2, %hi(fast3d_related_0) -/* 104A2C 7F0CFEFC 8FBF001C */ lw $ra, 0x1c($sp) -/* 104A30 7F0CFF00 254AE9F0 */ addiu $t2, %lo(fast3d_related_0) # addiu $t2, $t2, -0x1610 -/* 104A34 7F0CFF04 3C0C8005 */ lui $t4, %hi(fast3d_related_1) -/* 104A38 7F0CFF08 258CEA50 */ addiu $t4, %lo(fast3d_related_1) # addiu $t4, $t4, -0x15b0 -/* 104A3C 7F0CFF0C 012A5826 */ xor $t3, $t1, $t2 -/* 104A40 7F0CFF10 016C6826 */ xor $t5, $t3, $t4 -/* 104A44 7F0CFF14 8FB00018 */ lw $s0, 0x18($sp) -/* 104A48 7F0CFF18 AC4D0000 */ sw $t5, ($v0) -/* 104A4C 7F0CFF1C 03E00008 */ jr $ra -/* 104A50 7F0CFF20 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - diff --git a/src/game/setguscale.c b/src/game/setguscale.c deleted file mode 100644 index ab33244..0000000 --- a/src/game/setguscale.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -void set_gu_scale(void) { - - guScale(&dword_CODE_bss_8007A100, default_gu_scale, default_gu_scale, default_gu_scale); - -} - -#else -GLOBAL_ASM( -.late_rodata -/*8004ed80*/ -glabel default_gu_scale -.word 0x3dcccccd -.text -glabel set_gu_scale -/* 0356B0 7F000B80 3C018005 */ lui $at, %hi(default_gu_scale) -/* 0356B4 7F000B84 C420ED80 */ lwc1 $f0, %lo(default_gu_scale)($at) -/* 0356B8 7F000B88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0356BC 7F000B8C AFBF0014 */ sw $ra, 0x14($sp) -/* 0356C0 7F000B90 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A100) -/* 0356C4 7F000B94 44050000 */ mfc1 $a1, $f0 -/* 0356C8 7F000B98 44060000 */ mfc1 $a2, $f0 -/* 0356CC 7F000B9C 44070000 */ mfc1 $a3, $f0 -/* 0356D0 7F000BA0 0C005BB9 */ jal guScale -/* 0356D4 7F000BA4 2484A100 */ addiu $a0, %lo(dword_CODE_bss_8007A100) # addiu $a0, $a0, -0x5f00 -/* 0356D8 7F000BA8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0356DC 7F000BAC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0356E0 7F000BB0 03E00008 */ jr $ra -/* 0356E4 7F000BB4 00000000 */ nop -) -#endif diff --git a/src/game/sin.c b/src/game/sin.c deleted file mode 100644 index c65e231..0000000 --- a/src/game/sin.c +++ /dev/null @@ -1,140 +0,0 @@ -#include "ultra64.h" - - -//these are actaully clever shared asm -//!FIXME move to asm file - - - - -#ifdef NONMATCHING -void cosf(void) { - -} -#else -GLOBAL_ASM( -.late_rodata - -.text -glabel cosf -/* 08C9D0 7F057EA0 3C018005 */ lui $at, %hi(D_800536C0) -/* 08C9D4 7F057EA4 C42A36C0 */ lwc1 $f10, %lo(D_800536C0)($at) -/* 08C9D8 7F057EA8 460A6300 */ add.s $f12, $f12, $f10 -) -#endif - - - - - -#ifdef NONMATCHING -void sinf(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800536C0 -.word 0x3fc90fda /*1.5707963*/ -glabel D_800536C4 -.word 0x362edef8 /*0.0000026057805*/ -glabel D_800536C8 -.word 0xb94fb7ff /*-0.00019809602*/ -glabel D_800536CC -.word 0x3c08876a /*0.0083330665*/ -glabel D_800536D0 -.word 0xbe2aaaa6 /*-0.1666666*/ -glabel D_800536D4 -.word 0x3ea2f983 /*0.31830987*/ -glabel D_800536D8 -.word 0x40490fdb /*3.1415927*/ -glabel D_800536DC -.word 0x330885a3 /*3.178650856*/ -glabel D_800536E0 -.word 0x362edef8 /*0.0000026057805*/ -glabel D_800536E4 -.word 0xb94fb7ff /*-0.00019809602*/ -glabel D_800536E8 -.word 0x3c08876a /*0.0083330665*/ -glabel D_800536EC -.word 0xbe2aaaa6 /*-0.1666666*/ -.text -glabel sinf -/* 08C9DC 7F057EAC 44086000 */ mfc1 $t0, $f12 -/* 08C9E0 7F057EB0 00000000 */ nop -/* 08C9E4 7F057EB4 00084583 */ sra $t0, $t0, 0x16 -/* 08C9E8 7F057EB8 310801FF */ andi $t0, $t0, 0x1ff -/* 08C9EC 7F057EBC 290100FF */ slti $at, $t0, 0xff -/* 08C9F0 7F057EC0 10200019 */ beqz $at, .L7F057F28 -/* 08C9F4 7F057EC4 00000000 */ nop -/* 08C9F8 7F057EC8 290100E6 */ slti $at, $t0, 0xe6 -/* 08C9FC 7F057ECC 1420003D */ bnez $at, .L7F057FC4 -/* 08CA00 7F057ED0 46006006 */ mov.s $f0, $f12 -/* 08CA04 7F057ED4 460C6402 */ mul.s $f16, $f12, $f12 -/* 08CA08 7F057ED8 3C018005 */ lui $at, %hi(D_800536C4) -/* 08CA0C 7F057EDC C43236C4 */ lwc1 $f18, %lo(D_800536C4)($at) -/* 08CA10 7F057EE0 46109482 */ mul.s $f18, $f18, $f16 -/* 08CA14 7F057EE4 3C018005 */ lui $at, %hi(D_800536C8) -/* 08CA18 7F057EE8 C42A36C8 */ lwc1 $f10, %lo(D_800536C8)($at) -/* 08CA1C 7F057EEC 46125480 */ add.s $f18, $f10, $f18 -/* 08CA20 7F057EF0 46109482 */ mul.s $f18, $f18, $f16 -/* 08CA24 7F057EF4 3C018005 */ lui $at, %hi(D_800536CC) -/* 08CA28 7F057EF8 C42A36CC */ lwc1 $f10, %lo(D_800536CC)($at) -/* 08CA2C 7F057EFC 46125480 */ add.s $f18, $f10, $f18 -/* 08CA30 7F057F00 46109482 */ mul.s $f18, $f18, $f16 -/* 08CA34 7F057F04 3C018005 */ lui $at, %hi(D_800536D0) -/* 08CA38 7F057F08 C42A36D0 */ lwc1 $f10, %lo(D_800536D0)($at) -/* 08CA3C 7F057F0C 46125480 */ add.s $f18, $f10, $f18 -/* 08CA40 7F057F10 46109482 */ mul.s $f18, $f18, $f16 -/* 08CA44 7F057F14 00000000 */ nop -/* 08CA48 7F057F18 460C9482 */ mul.s $f18, $f18, $f12 -/* 08CA4C 7F057F1C 460C9000 */ add.s $f0, $f18, $f12 -/* 08CA50 7F057F20 0BC15FF1 */ j func_7F057FC4 -/* 08CA54 7F057F24 00000000 */ nop - -.L7F057F28: -/* 08CA58 7F057F28 29010136 */ slti $at, $t0, 0x136 -/* 08CA5C 7F057F2C 50200025 */ beql $at, $zero, .L7F057FC4 -/* 08CA60 7F057F30 44800000 */ mtc1 $zero, $f0 -/* 08CA64 7F057F34 3C018005 */ lui $at, %hi(D_800536D4) -/* 08CA68 7F057F38 C43036D4 */ lwc1 $f16, %lo(D_800536D4)($at) -/* 08CA6C 7F057F3C 460C8402 */ mul.s $f16, $f16, $f12 -/* 08CA70 7F057F40 4600840C */ round.w.s $f16, $f16 -/* 08CA74 7F057F44 44098000 */ mfc1 $t1, $f16 -/* 08CA78 7F057F48 46808420 */ cvt.s.w $f16, $f16 -/* 08CA7C 7F057F4C 3C018005 */ lui $at, %hi(D_800536D8) -/* 08CA80 7F057F50 C43236D8 */ lwc1 $f18, %lo(D_800536D8)($at) -/* 08CA84 7F057F54 46109482 */ mul.s $f18, $f18, $f16 -/* 08CA88 7F057F58 46126301 */ sub.s $f12, $f12, $f18 -/* 08CA8C 7F057F5C 3C018005 */ lui $at, %hi(D_800536DC) -/* 08CA90 7F057F60 C43236DC */ lwc1 $f18, %lo(D_800536DC)($at) -/* 08CA94 7F057F64 46109482 */ mul.s $f18, $f18, $f16 -/* 08CA98 7F057F68 46126301 */ sub.s $f12, $f12, $f18 -/* 08CA9C 7F057F6C 460C6402 */ mul.s $f16, $f12, $f12 -/* 08CAA0 7F057F70 3C018005 */ lui $at, %hi(D_800536E0) -/* 08CAA4 7F057F74 C43236E0 */ lwc1 $f18, %lo(D_800536E0)($at) -/* 08CAA8 7F057F78 46109482 */ mul.s $f18, $f18, $f16 -/* 08CAAC 7F057F7C 3C018005 */ lui $at, %hi(D_800536E4) -/* 08CAB0 7F057F80 C42A36E4 */ lwc1 $f10, %lo(D_800536E4)($at) -/* 08CAB4 7F057F84 46125480 */ add.s $f18, $f10, $f18 -/* 08CAB8 7F057F88 46109482 */ mul.s $f18, $f18, $f16 -/* 08CABC 7F057F8C 3C018005 */ lui $at, %hi(D_800536E8) -/* 08CAC0 7F057F90 C42A36E8 */ lwc1 $f10, %lo(D_800536E8)($at) -/* 08CAC4 7F057F94 46125480 */ add.s $f18, $f10, $f18 -/* 08CAC8 7F057F98 46109482 */ mul.s $f18, $f18, $f16 -/* 08CACC 7F057F9C 3C018005 */ lui $at, %hi(D_800536EC) -/* 08CAD0 7F057FA0 C42A36EC */ lwc1 $f10, %lo(D_800536EC)($at) -/* 08CAD4 7F057FA4 46125480 */ add.s $f18, $f10, $f18 -/* 08CAD8 7F057FA8 46109482 */ mul.s $f18, $f18, $f16 -/* 08CADC 7F057FAC 00000000 */ nop -/* 08CAE0 7F057FB0 460C9482 */ mul.s $f18, $f18, $f12 -/* 08CAE4 7F057FB4 460C9000 */ add.s $f0, $f18, $f12 -/* 08CAE8 7F057FB8 31290001 */ andi $t1, $t1, 1 -/* 08CAEC 7F057FBC 55200001 */ bnezl $t1, .L7F057FC4 -/* 08CAF0 7F057FC0 46000007 */ neg.s $f0, $f0 -glabel func_7F057FC4 -.L7F057FC4: -/* 08CAF4 7F057FC4 03E00008 */ jr $ra -/* 08CAF8 7F057FC8 00000000 */ nop -) -#endif diff --git a/src/game/spectrum.c b/src/game/spectrum.c deleted file mode 100644 index 0983077..0000000 --- a/src/game/spectrum.c +++ /dev/null @@ -1,18561 +0,0 @@ -#include "ultra64.h" - -// bss -s32 ptr_sectrum_monitor_data_temp_buf; -s32 ptr_sectrum_game_data_temp_buf; -s32 ptr_spectrum_roms; -s32 ptr_300alloc; -s32 ptr_6000alloc; -s32 ptr_pc_keyboard_table_alloc; -s8 spectrum_header16_15; -s8 byte_CODE_bss_8008E339; -s8 byte_CODE_bss_8008E33A; -s8 byte_CODE_bss_8008E33B; -s8 off_CODE_bss_8008E33C; -s8 byte_CODE_bss_8008E33D; -s8 byte_CODE_bss_8008E33E; -s8 byte_CODE_bss_8008E33F; -s8 off_CODE_bss_8008E340; -s8 byte_CODE_bss_8008E341; -s8 byte_CODE_bss_8008E342; -s8 byte_CODE_bss_8008E343; -s8 off_CODE_bss_8008E344; -s8 byte_CODE_bss_8008E345; -s8 byte_CODE_bss_8008E346; -s8 byte_CODE_bss_8008E347; -s8 spec_I; -s8 byte_CODE_bss_8008E349; -s8 spec_IFF2_lower; -s8 spec_IFF2_upper; -s8 spec_IM; -s8 byte_CODE_bss_8008E34D; -s16 spec_IX; -s16 spec_IY; -s16 spec_SP; -s16 spec_PC; - - -// data -s8 D_8004EC30 = 0x0; -s8 D_8004EC34[] = {0xFF, 0xFF, 0xFF, 0xFF}; - -s8 D_8004EC38[] = {0xFF, 0xFF, 0xFF, 0xFF}; - -s8 D_8004EC3C[] = {0xFF, 0x0, 0x0, 0x0}; - -s16 D_8004EC40[] = { - 0, 0, 0x7FE, 0x3FE, 0x3FD, 0x3FB, 0x3F7, 0x3EF, 0x4F7, 0x3FD, - 0x4FD, 0x4FE, 0x4FB, 0x6FB, 0x7F7, 0x6F7, 0x8FB, 0xEF, 0x4FE, 0x3FE, - 0x3FD, 0x3FB, 0x3F7, 0x3EF, 0x4EF, 0x4F7, 0x4FB, 0x4FD, 0xFD, 0x5FD, - 0x7F7, 0x6FB, 0x8FB, 0xEF, 0x3FD, 0x1FE, 0x7EF, 0xF7, 0x1FB, 0x2FB, - 0x1F7, 0x1EF, 0x6EF, 0x5FB, 0x6F7, 0x6FB, 0x6FD, 0x7FB, 0x7F7, 0x5FD, - 0x5FE, 0x2FE, 0x2F7, 0x1FD, 0x2EF, 0x5F7, 0xEF, 0x2FD, 0xFB, 0x5EF, - 0xFD, 0x8FF, 0x8FF, 0x8FF, 0x4EF, 0x6F7, 0x8FF, 0x1FE, 0x7EF, 0xF7, - 0x1FB, 0x2FB, 0x1F7, 0x1EF, 0x6EF, 0x5FB, 0x6F7, 0x6FB, 0x6FD, 0x7FB, - 0x7F7, 0x5FD, 0x5FE, 0x2FE, 0x2F7, 0x1FD, 0x2EF, 0x5F7, 0xEF, 0x2FD, - 0xFB, 0x5EF, 0xFD, 0x8FF, 0x8FF, 0x8FF, 0x8FF, 0x8FF, 0, 0 -}; - -s32 D_8004ED08 = 0; - -s16 D_8004ED0C[] = { - 1, 0x21,0x8001,0x8021, 0x401, 0x421,0x8401,0x8421, - 1, 0x3F,0xF801,0xF83F, 0x7C1, 0x7FF,0xFFC1,0xFFFF -}; -// -char* romnames[] = { - "em/data/sabre.seg.rz", - "em/data/atic.seg.rz", - "em/data/jetpac.seg.rz", - "em/data/jetman.seg.rz", - "em/data/alien8.seg.rz", - "em/data/gunfright.seg.rz", - "em/data/under.seg.rz", - "em/data/knightlore.seg.rz", - "em/data/pssst.seg.rz", - "em/data/cookie.seg.rz" -}; - -u32 D_8004ED54[] = {0x7000000, 0x0,0xFF000000,0xFF000000}; - -// rodata -//8005C114 -const char aEmDataSpec_rom_seg_rz[] = "em/data/spec_rom.seg.rz"; - - - -#ifdef NONMATCHING -void sub_GAME_7F0D28E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D28E0 -/* 107410 7F0D28E0 0006C200 */ sll $t8, $a2, 8 -/* 107414 7F0D28E4 33190700 */ andi $t9, $t8, 0x700 -/* 107418 7F0D28E8 00067140 */ sll $t6, $a2, 5 -/* 10741C 7F0D28EC 31CF1800 */ andi $t7, $t6, 0x1800 -/* 107420 7F0D28F0 00061880 */ sll $v1, $a2, 2 -/* 107424 7F0D28F4 01F95825 */ or $t3, $t7, $t9 -/* 107428 7F0D28F8 000540C3 */ sra $t0, $a1, 3 -/* 10742C 7F0D28FC 307803E0 */ andi $t8, $v1, 0x3e0 -/* 107430 7F0D2900 27BDFFF8 */ addiu $sp, $sp, -8 -/* 107434 7F0D2904 03087821 */ addu $t7, $t8, $t0 -/* 107438 7F0D2908 AFB00004 */ sw $s0, 4($sp) -/* 10743C 7F0D290C 01E4C821 */ addu $t9, $t7, $a0 -/* 107440 7F0D2910 93291800 */ lbu $t1, 0x1800($t9) -/* 107444 7F0D2914 306C00E0 */ andi $t4, $v1, 0xe0 -/* 107448 7F0D2918 016C6825 */ or $t5, $t3, $t4 -/* 10744C 7F0D291C 01A87025 */ or $t6, $t5, $t0 -/* 107450 7F0D2920 312B0080 */ andi $t3, $t1, 0x80 -/* 107454 7F0D2924 00E08025 */ move $s0, $a3 -/* 107458 7F0D2928 01C41021 */ addu $v0, $t6, $a0 -/* 10745C 7F0D292C 1160000A */ beqz $t3, .L7F0D2958 -/* 107460 7F0D2930 01205025 */ move $t2, $t1 -/* 107464 7F0D2934 3C0C8005 */ lui $t4, %hi(D_8004EC40+0xC4) -/* 107468 7F0D2938 918CED04 */ lbu $t4, %lo(D_8004EC40+0xC4)($t4) -/* 10746C 7F0D293C 01201825 */ move $v1, $t1 -/* 107470 7F0D2940 306D0007 */ andi $t5, $v1, 7 -/* 107474 7F0D2944 11800004 */ beqz $t4, .L7F0D2958 -/* 107478 7F0D2948 01A01825 */ move $v1, $t5 -/* 10747C 7F0D294C 000970C3 */ sra $t6, $t1, 3 -/* 107480 7F0D2950 10000006 */ b .L7F0D296C -/* 107484 7F0D2954 31C40007 */ andi $a0, $t6, 7 -.L7F0D2958: -/* 107488 7F0D2958 01402025 */ move $a0, $t2 -/* 10748C 7F0D295C 308F0007 */ andi $t7, $a0, 7 -/* 107490 7F0D2960 000AC8C3 */ sra $t9, $t2, 3 -/* 107494 7F0D2964 01E02025 */ move $a0, $t7 -/* 107498 7F0D2968 33230007 */ andi $v1, $t9, 7 -.L7F0D296C: -/* 10749C 7F0D296C 314C0040 */ andi $t4, $t2, 0x40 -/* 1074A0 7F0D2970 15800007 */ bnez $t4, .L7F0D2990 -/* 1074A4 7F0D2974 00002825 */ move $a1, $zero -/* 1074A8 7F0D2978 24840008 */ addiu $a0, $a0, 8 -/* 1074AC 7F0D297C 24630008 */ addiu $v1, $v1, 8 -/* 1074B0 7F0D2980 308D00FF */ andi $t5, $a0, 0xff -/* 1074B4 7F0D2984 306E00FF */ andi $t6, $v1, 0xff -/* 1074B8 7F0D2988 01A02025 */ move $a0, $t5 -/* 1074BC 7F0D298C 01C01825 */ move $v1, $t6 -.L7F0D2990: -/* 1074C0 7F0D2990 24090008 */ li $t1, 8 -.L7F0D2994: -/* 1074C4 7F0D2994 90470000 */ lbu $a3, ($v0) -/* 1074C8 7F0D2998 24A50001 */ addiu $a1, $a1, 1 -/* 1074CC 7F0D299C 24420100 */ addiu $v0, $v0, 0x100 -/* 1074D0 7F0D29A0 30F80080 */ andi $t8, $a3, 0x80 -/* 1074D4 7F0D29A4 13000003 */ beqz $t8, .L7F0D29B4 -/* 1074D8 7F0D29A8 30EF0040 */ andi $t7, $a3, 0x40 -/* 1074DC 7F0D29AC 10000002 */ b .L7F0D29B8 -/* 1074E0 7F0D29B0 00803025 */ move $a2, $a0 -.L7F0D29B4: -/* 1074E4 7F0D29B4 00603025 */ move $a2, $v1 -.L7F0D29B8: -/* 1074E8 7F0D29B8 11E00003 */ beqz $t7, .L7F0D29C8 -/* 1074EC 7F0D29BC 0006C900 */ sll $t9, $a2, 4 -/* 1074F0 7F0D29C0 10000002 */ b .L7F0D29CC -/* 1074F4 7F0D29C4 00804025 */ move $t0, $a0 -.L7F0D29C8: -/* 1074F8 7F0D29C8 00604025 */ move $t0, $v1 -.L7F0D29CC: -/* 1074FC 7F0D29CC 01195825 */ or $t3, $t0, $t9 -/* 107500 7F0D29D0 30EC0020 */ andi $t4, $a3, 0x20 -/* 107504 7F0D29D4 11800003 */ beqz $t4, .L7F0D29E4 -/* 107508 7F0D29D8 A20B0000 */ sb $t3, ($s0) -/* 10750C 7F0D29DC 10000002 */ b .L7F0D29E8 -/* 107510 7F0D29E0 00803025 */ move $a2, $a0 -.L7F0D29E4: -/* 107514 7F0D29E4 00603025 */ move $a2, $v1 -.L7F0D29E8: -/* 107518 7F0D29E8 30ED0010 */ andi $t5, $a3, 0x10 -/* 10751C 7F0D29EC 11A00003 */ beqz $t5, .L7F0D29FC -/* 107520 7F0D29F0 00067100 */ sll $t6, $a2, 4 -/* 107524 7F0D29F4 10000002 */ b .L7F0D2A00 -/* 107528 7F0D29F8 00804025 */ move $t0, $a0 -.L7F0D29FC: -/* 10752C 7F0D29FC 00604025 */ move $t0, $v1 -.L7F0D2A00: -/* 107530 7F0D2A00 010EC025 */ or $t8, $t0, $t6 -/* 107534 7F0D2A04 30EF0008 */ andi $t7, $a3, 8 -/* 107538 7F0D2A08 11E00003 */ beqz $t7, .L7F0D2A18 -/* 10753C 7F0D2A0C A2180001 */ sb $t8, 1($s0) -/* 107540 7F0D2A10 10000002 */ b .L7F0D2A1C -/* 107544 7F0D2A14 00803025 */ move $a2, $a0 -.L7F0D2A18: -/* 107548 7F0D2A18 00603025 */ move $a2, $v1 -.L7F0D2A1C: -/* 10754C 7F0D2A1C 30F90004 */ andi $t9, $a3, 4 -/* 107550 7F0D2A20 13200003 */ beqz $t9, .L7F0D2A30 -/* 107554 7F0D2A24 00065900 */ sll $t3, $a2, 4 -/* 107558 7F0D2A28 10000002 */ b .L7F0D2A34 -/* 10755C 7F0D2A2C 00804025 */ move $t0, $a0 -.L7F0D2A30: -/* 107560 7F0D2A30 00604025 */ move $t0, $v1 -.L7F0D2A34: -/* 107564 7F0D2A34 010B6025 */ or $t4, $t0, $t3 -/* 107568 7F0D2A38 30ED0002 */ andi $t5, $a3, 2 -/* 10756C 7F0D2A3C 11A00003 */ beqz $t5, .L7F0D2A4C -/* 107570 7F0D2A40 A20C0002 */ sb $t4, 2($s0) -/* 107574 7F0D2A44 10000002 */ b .L7F0D2A50 -/* 107578 7F0D2A48 00803025 */ move $a2, $a0 -.L7F0D2A4C: -/* 10757C 7F0D2A4C 00603025 */ move $a2, $v1 -.L7F0D2A50: -/* 107580 7F0D2A50 30EE0001 */ andi $t6, $a3, 1 -/* 107584 7F0D2A54 11C00003 */ beqz $t6, .L7F0D2A64 -/* 107588 7F0D2A58 0006C100 */ sll $t8, $a2, 4 -/* 10758C 7F0D2A5C 10000002 */ b .L7F0D2A68 -/* 107590 7F0D2A60 00804025 */ move $t0, $a0 -.L7F0D2A64: -/* 107594 7F0D2A64 00604025 */ move $t0, $v1 -.L7F0D2A68: -/* 107598 7F0D2A68 01187825 */ or $t7, $t0, $t8 -/* 10759C 7F0D2A6C A20F0003 */ sb $t7, 3($s0) -/* 1075A0 7F0D2A70 14A9FFC8 */ bne $a1, $t1, .L7F0D2994 -/* 1075A4 7F0D2A74 26100020 */ addiu $s0, $s0, 0x20 -/* 1075A8 7F0D2A78 8FB00004 */ lw $s0, 4($sp) -/* 1075AC 7F0D2A7C 03E00008 */ jr $ra -/* 1075B0 7F0D2A80 27BD0008 */ addiu $sp, $sp, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D2A84(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D2A84 -/* 1075B4 7F0D2A84 3C028005 */ lui $v0, %hi(D_8004ED08) -/* 1075B8 7F0D2A88 2442ED08 */ addiu $v0, %lo(D_8004ED08) # addiu $v0, $v0, -0x12f8 -/* 1075BC 7F0D2A8C 904E0000 */ lbu $t6, ($v0) -/* 1075C0 7F0D2A90 24010019 */ li $at, 25 -/* 1075C4 7F0D2A94 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 1075C8 7F0D2A98 25CF0001 */ addiu $t7, $t6, 1 -/* 1075CC 7F0D2A9C 31F800FF */ andi $t8, $t7, 0xff -/* 1075D0 7F0D2AA0 0301001A */ div $zero, $t8, $at -/* 1075D4 7F0D2AA4 AFB5002C */ sw $s5, 0x2c($sp) -/* 1075D8 7F0D2AA8 0000C810 */ mfhi $t9 -/* 1075DC 7F0D2AAC 0080A825 */ move $s5, $a0 -/* 1075E0 7F0D2AB0 AFBF003C */ sw $ra, 0x3c($sp) -/* 1075E4 7F0D2AB4 AFBE0038 */ sw $fp, 0x38($sp) -/* 1075E8 7F0D2AB8 AFB70034 */ sw $s7, 0x34($sp) -/* 1075EC 7F0D2ABC AFB60030 */ sw $s6, 0x30($sp) -/* 1075F0 7F0D2AC0 AFB40028 */ sw $s4, 0x28($sp) -/* 1075F4 7F0D2AC4 AFB30024 */ sw $s3, 0x24($sp) -/* 1075F8 7F0D2AC8 AFB20020 */ sw $s2, 0x20($sp) -/* 1075FC 7F0D2ACC AFB1001C */ sw $s1, 0x1c($sp) -/* 107600 7F0D2AD0 AFB00018 */ sw $s0, 0x18($sp) -/* 107604 7F0D2AD4 AFA50064 */ sw $a1, 0x64($sp) -/* 107608 7F0D2AD8 1720001B */ bnez $t9, .L7F0D2B48 -/* 10760C 7F0D2ADC A04F0000 */ sb $t7, ($v0) -/* 107610 7F0D2AE0 A0400000 */ sb $zero, ($v0) -/* 107614 7F0D2AE4 3C168009 */ lui $s6, %hi(ptr_300alloc) -/* 107618 7F0D2AE8 26D6E32C */ addiu $s6, %lo(ptr_300alloc) # addiu $s6, $s6, -0x1cd4 -/* 10761C 7F0D2AEC 24020001 */ li $v0, 1 -/* 107620 7F0D2AF0 00001825 */ move $v1, $zero -.L7F0D2AF4: -/* 107624 7F0D2AF4 8EC80000 */ lw $t0, ($s6) -/* 107628 7F0D2AF8 24010300 */ li $at, 768 -/* 10762C 7F0D2AFC 01034821 */ addu $t1, $t0, $v1 -/* 107630 7F0D2B00 A1220000 */ sb $v0, ($t1) -/* 107634 7F0D2B04 8ECA0000 */ lw $t2, ($s6) -/* 107638 7F0D2B08 01435821 */ addu $t3, $t2, $v1 -/* 10763C 7F0D2B0C A1620001 */ sb $v0, 1($t3) -/* 107640 7F0D2B10 8ECC0000 */ lw $t4, ($s6) -/* 107644 7F0D2B14 01836821 */ addu $t5, $t4, $v1 -/* 107648 7F0D2B18 A1A20002 */ sb $v0, 2($t5) -/* 10764C 7F0D2B1C 8ECE0000 */ lw $t6, ($s6) -/* 107650 7F0D2B20 01C37821 */ addu $t7, $t6, $v1 -/* 107654 7F0D2B24 24630004 */ addiu $v1, $v1, 4 -/* 107658 7F0D2B28 1461FFF2 */ bne $v1, $at, .L7F0D2AF4 -/* 10765C 7F0D2B2C A1E20003 */ sb $v0, 3($t7) -/* 107660 7F0D2B30 3C028005 */ lui $v0, %hi(D_8004EC40+0xC4) -/* 107664 7F0D2B34 2442ED04 */ addiu $v0, %lo(D_8004EC40+0xC4) # addiu $v0, $v0, -0x12fc -/* 107668 7F0D2B38 90580000 */ lbu $t8, ($v0) -/* 10766C 7F0D2B3C 24190001 */ li $t9, 1 -/* 107670 7F0D2B40 03384023 */ subu $t0, $t9, $t8 -/* 107674 7F0D2B44 A0480000 */ sb $t0, ($v0) -.L7F0D2B48: -/* 107678 7F0D2B48 3C168009 */ lui $s6, %hi(ptr_300alloc) -/* 10767C 7F0D2B4C 26D6E32C */ addiu $s6, %lo(ptr_300alloc) # addiu $s6, $s6, -0x1cd4 -/* 107680 7F0D2B50 AFA00058 */ sw $zero, 0x58($sp) -.L7F0D2B54: -/* 107684 7F0D2B54 8FA90058 */ lw $t1, 0x58($sp) -/* 107688 7F0D2B58 0000B825 */ move $s7, $zero -/* 10768C 7F0D2B5C 00095183 */ sra $t2, $t1, 6 -/* 107690 7F0D2B60 000A5880 */ sll $t3, $t2, 2 -/* 107694 7F0D2B64 AFAB0040 */ sw $t3, 0x40($sp) -/* 107698 7F0D2B68 253E0040 */ addiu $fp, $t1, 0x40 -/* 10769C 7F0D2B6C 8FAC0040 */ lw $t4, 0x40($sp) -.L7F0D2B70: -/* 1076A0 7F0D2B70 8FB40058 */ lw $s4, 0x58($sp) -/* 1076A4 7F0D2B74 00176983 */ sra $t5, $s7, 6 -/* 1076A8 7F0D2B78 8FB90064 */ lw $t9, 0x64($sp) -/* 1076AC 7F0D2B7C 018D7021 */ addu $t6, $t4, $t5 -/* 1076B0 7F0D2B80 000E7AC0 */ sll $t7, $t6, 0xb -/* 1076B4 7F0D2B84 029E082A */ slt $at, $s4, $fp -/* 1076B8 7F0D2B88 1020001B */ beqz $at, .L7F0D2BF8 -/* 1076BC 7F0D2B8C 01F98821 */ addu $s1, $t7, $t9 -/* 1076C0 7F0D2B90 26F30040 */ addiu $s3, $s7, 0x40 -.L7F0D2B94: -/* 1076C4 7F0D2B94 02F3082A */ slt $at, $s7, $s3 -/* 1076C8 7F0D2B98 10200013 */ beqz $at, .L7F0D2BE8 -/* 1076CC 7F0D2B9C 02E08025 */ move $s0, $s7 -/* 1076D0 7F0D2BA0 001490C3 */ sra $s2, $s4, 3 -/* 1076D4 7F0D2BA4 00124140 */ sll $t0, $s2, 5 -/* 1076D8 7F0D2BA8 01009025 */ move $s2, $t0 -.L7F0D2BAC: -/* 1076DC 7F0D2BAC 8EC90000 */ lw $t1, ($s6) -/* 1076E0 7F0D2BB0 001050C3 */ sra $t2, $s0, 3 -/* 1076E4 7F0D2BB4 024A5825 */ or $t3, $s2, $t2 -/* 1076E8 7F0D2BB8 01696021 */ addu $t4, $t3, $t1 -/* 1076EC 7F0D2BBC 918D0000 */ lbu $t5, ($t4) -/* 1076F0 7F0D2BC0 02A02025 */ move $a0, $s5 -/* 1076F4 7F0D2BC4 02002825 */ move $a1, $s0 -/* 1076F8 7F0D2BC8 11A00003 */ beqz $t5, .L7F0D2BD8 -/* 1076FC 7F0D2BCC 02803025 */ move $a2, $s4 -/* 107700 7F0D2BD0 0FC34A38 */ jal sub_GAME_7F0D28E0 -/* 107704 7F0D2BD4 02203825 */ move $a3, $s1 -.L7F0D2BD8: -/* 107708 7F0D2BD8 26100008 */ addiu $s0, $s0, 8 -/* 10770C 7F0D2BDC 0213082A */ slt $at, $s0, $s3 -/* 107710 7F0D2BE0 1420FFF2 */ bnez $at, .L7F0D2BAC -/* 107714 7F0D2BE4 26310004 */ addiu $s1, $s1, 4 -.L7F0D2BE8: -/* 107718 7F0D2BE8 26940008 */ addiu $s4, $s4, 8 -/* 10771C 7F0D2BEC 029E082A */ slt $at, $s4, $fp -/* 107720 7F0D2BF0 1420FFE8 */ bnez $at, .L7F0D2B94 -/* 107724 7F0D2BF4 263100E0 */ addiu $s1, $s1, 0xe0 -.L7F0D2BF8: -/* 107728 7F0D2BF8 26F70040 */ addiu $s7, $s7, 0x40 -/* 10772C 7F0D2BFC 2AE10100 */ slti $at, $s7, 0x100 -/* 107730 7F0D2C00 5420FFDB */ bnezl $at, .L7F0D2B70 -/* 107734 7F0D2C04 8FAC0040 */ lw $t4, 0x40($sp) -/* 107738 7F0D2C08 2BC100C0 */ slti $at, $fp, 0xc0 -/* 10773C 7F0D2C0C 1420FFD1 */ bnez $at, .L7F0D2B54 -/* 107740 7F0D2C10 AFBE0058 */ sw $fp, 0x58($sp) -/* 107744 7F0D2C14 00001025 */ move $v0, $zero -.L7F0D2C18: -/* 107748 7F0D2C18 8ECF0000 */ lw $t7, ($s6) -/* 10774C 7F0D2C1C 24010300 */ li $at, 768 -/* 107750 7F0D2C20 01E2C821 */ addu $t9, $t7, $v0 -/* 107754 7F0D2C24 A3200000 */ sb $zero, ($t9) -/* 107758 7F0D2C28 8ED80000 */ lw $t8, ($s6) -/* 10775C 7F0D2C2C 03024021 */ addu $t0, $t8, $v0 -/* 107760 7F0D2C30 A1000001 */ sb $zero, 1($t0) -/* 107764 7F0D2C34 8ECA0000 */ lw $t2, ($s6) -/* 107768 7F0D2C38 01425821 */ addu $t3, $t2, $v0 -/* 10776C 7F0D2C3C A1600002 */ sb $zero, 2($t3) -/* 107770 7F0D2C40 8EC90000 */ lw $t1, ($s6) -/* 107774 7F0D2C44 01226021 */ addu $t4, $t1, $v0 -/* 107778 7F0D2C48 24420004 */ addiu $v0, $v0, 4 -/* 10777C 7F0D2C4C 1441FFF2 */ bne $v0, $at, .L7F0D2C18 -/* 107780 7F0D2C50 A1800003 */ sb $zero, 3($t4) -/* 107784 7F0D2C54 8FBF003C */ lw $ra, 0x3c($sp) -/* 107788 7F0D2C58 8FB00018 */ lw $s0, 0x18($sp) -/* 10778C 7F0D2C5C 8FB1001C */ lw $s1, 0x1c($sp) -/* 107790 7F0D2C60 8FB20020 */ lw $s2, 0x20($sp) -/* 107794 7F0D2C64 8FB30024 */ lw $s3, 0x24($sp) -/* 107798 7F0D2C68 8FB40028 */ lw $s4, 0x28($sp) -/* 10779C 7F0D2C6C 8FB5002C */ lw $s5, 0x2c($sp) -/* 1077A0 7F0D2C70 8FB60030 */ lw $s6, 0x30($sp) -/* 1077A4 7F0D2C74 8FB70034 */ lw $s7, 0x34($sp) -/* 1077A8 7F0D2C78 8FBE0038 */ lw $fp, 0x38($sp) -/* 1077AC 7F0D2C7C 03E00008 */ jr $ra -/* 1077B0 7F0D2C80 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void spectrum_p1controller_to_kempston(void) { - -} -#else -GLOBAL_ASM( -.text -glabel spectrum_p1controller_to_kempston -/* 1077B4 7F0D2C84 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 1077B8 7F0D2C88 AFBF0014 */ sw $ra, 0x14($sp) -/* 1077BC 7F0D2C8C AFA00034 */ sw $zero, 0x34($sp) -/* 1077C0 7F0D2C90 AFA00030 */ sw $zero, 0x30($sp) -/* 1077C4 7F0D2C94 AFA0002C */ sw $zero, 0x2c($sp) -/* 1077C8 7F0D2C98 AFA00028 */ sw $zero, 0x28($sp) -/* 1077CC 7F0D2C9C 0C002F43 */ jal redirect_to_ramrom_replay_and_record_handlers_if_set -/* 1077D0 7F0D2CA0 AFA00024 */ sw $zero, 0x24($sp) -/* 1077D4 7F0D2CA4 00002025 */ move $a0, $zero -/* 1077D8 7F0D2CA8 0C0030C3 */ jal get_controller_buttons_held -/* 1077DC 7F0D2CAC 3405FFFF */ li $a1, 65535 -/* 1077E0 7F0D2CB0 00002025 */ move $a0, $zero -/* 1077E4 7F0D2CB4 2405FFFD */ li $a1, -3 -/* 1077E8 7F0D2CB8 24060003 */ li $a2, 3 -/* 1077EC 7F0D2CBC 0C00312D */ jal get_controller_3dstick_L_R -/* 1077F0 7F0D2CC0 AFA20020 */ sw $v0, 0x20($sp) -/* 1077F4 7F0D2CC4 00002025 */ move $a0, $zero -/* 1077F8 7F0D2CC8 2405FFFD */ li $a1, -3 -/* 1077FC 7F0D2CCC 24060003 */ li $a2, 3 -/* 107800 7F0D2CD0 0C00314A */ jal get_controller_3dstick_U_D -/* 107804 7F0D2CD4 AFA2001C */ sw $v0, 0x1c($sp) -/* 107808 7F0D2CD8 240E00FF */ li $t6, 255 -/* 10780C 7F0D2CDC 3C018005 */ lui $at, %hi(D_8004EC34) -/* 107810 7F0D2CE0 3C048005 */ lui $a0, %hi(D_8004EC34+1) -/* 107814 7F0D2CE4 3C058005 */ lui $a1, %hi(D_8004EC3C+1) -/* 107818 7F0D2CE8 8FA70020 */ lw $a3, 0x20($sp) -/* 10781C 7F0D2CEC 8FA8001C */ lw $t0, 0x1c($sp) -/* 107820 7F0D2CF0 24A5EC3D */ addiu $a1, %lo(D_8004EC3C+1) # addiu $a1, $a1, -0x13c3 -/* 107824 7F0D2CF4 2484EC35 */ addiu $a0, %lo(D_8004EC34+1) # addiu $a0, $a0, -0x13cb -/* 107828 7F0D2CF8 A02EEC34 */ sb $t6, %lo(D_8004EC34)($at) -/* 10782C 7F0D2CFC 240300FF */ li $v1, 255 -.L7F0D2D00: -/* 107830 7F0D2D00 24840004 */ addiu $a0, $a0, 4 -/* 107834 7F0D2D04 A083FFFD */ sb $v1, -3($a0) -/* 107838 7F0D2D08 A083FFFE */ sb $v1, -2($a0) -/* 10783C 7F0D2D0C A083FFFF */ sb $v1, -1($a0) -/* 107840 7F0D2D10 1485FFFB */ bne $a0, $a1, .L7F0D2D00 -/* 107844 7F0D2D14 A083FFFC */ sb $v1, -4($a0) -/* 107848 7F0D2D18 30EF2000 */ andi $t7, $a3, 0x2000 -/* 10784C 7F0D2D1C 11E00003 */ beqz $t7, .L7F0D2D2C -/* 107850 7F0D2D20 30F90202 */ andi $t9, $a3, 0x202 -/* 107854 7F0D2D24 24180001 */ li $t8, 1 -/* 107858 7F0D2D28 AFB80024 */ sw $t8, 0x24($sp) -.L7F0D2D2C: -/* 10785C 7F0D2D2C 17200003 */ bnez $t9, .L7F0D2D3C -/* 107860 7F0D2D30 30EA0101 */ andi $t2, $a3, 0x101 -/* 107864 7F0D2D34 2901FFFF */ slti $at, $t0, -1 -/* 107868 7F0D2D38 10200002 */ beqz $at, .L7F0D2D44 -.L7F0D2D3C: -/* 10786C 7F0D2D3C 24090001 */ li $t1, 1 -/* 107870 7F0D2D40 AFA9002C */ sw $t1, 0x2c($sp) -.L7F0D2D44: -/* 107874 7F0D2D44 15400003 */ bnez $t2, .L7F0D2D54 -/* 107878 7F0D2D48 30EC0808 */ andi $t4, $a3, 0x808 -/* 10787C 7F0D2D4C 29010002 */ slti $at, $t0, 2 -/* 107880 7F0D2D50 14200002 */ bnez $at, .L7F0D2D5C -.L7F0D2D54: -/* 107884 7F0D2D54 240B0001 */ li $t3, 1 -/* 107888 7F0D2D58 AFAB0028 */ sw $t3, 0x28($sp) -.L7F0D2D5C: -/* 10788C 7F0D2D5C 15800003 */ bnez $t4, .L7F0D2D6C -/* 107890 7F0D2D60 30ED0404 */ andi $t5, $a3, 0x404 -/* 107894 7F0D2D64 28410002 */ slti $at, $v0, 2 -/* 107898 7F0D2D68 14200002 */ bnez $at, .L7F0D2D74 -.L7F0D2D6C: -/* 10789C 7F0D2D6C 24050001 */ li $a1, 1 -/* 1078A0 7F0D2D70 AFA50034 */ sw $a1, 0x34($sp) -.L7F0D2D74: -/* 1078A4 7F0D2D74 15A00003 */ bnez $t5, .L7F0D2D84 -/* 1078A8 7F0D2D78 8FA50034 */ lw $a1, 0x34($sp) -/* 1078AC 7F0D2D7C 2841FFFF */ slti $at, $v0, -1 -/* 1078B0 7F0D2D80 10200002 */ beqz $at, .L7F0D2D8C -.L7F0D2D84: -/* 1078B4 7F0D2D84 24060001 */ li $a2, 1 -/* 1078B8 7F0D2D88 AFA60030 */ sw $a2, 0x30($sp) -.L7F0D2D8C: -/* 1078BC 7F0D2D8C 3C038009 */ lui $v1, %hi(byte_CODE_bss_8008E34D) -/* 1078C0 7F0D2D90 9063E34D */ lbu $v1, %lo(byte_CODE_bss_8008E34D)($v1) -/* 1078C4 7F0D2D94 24040002 */ li $a0, 2 -/* 1078C8 7F0D2D98 8FA60030 */ lw $a2, 0x30($sp) -/* 1078CC 7F0D2D9C 14830005 */ bne $a0, $v1, .L7F0D2DB4 -/* 1078D0 7F0D2DA0 24020004 */ li $v0, 4 -/* 1078D4 7F0D2DA4 30EEC000 */ andi $t6, $a3, 0xc000 -/* 1078D8 7F0D2DA8 11C00002 */ beqz $t6, .L7F0D2DB4 -/* 1078DC 7F0D2DAC 00000000 */ nop -/* 1078E0 7F0D2DB0 24050001 */ li $a1, 1 -.L7F0D2DB4: -/* 1078E4 7F0D2DB4 10430002 */ beq $v0, $v1, .L7F0D2DC0 -/* 1078E8 7F0D2DB8 24010007 */ li $at, 7 -/* 1078EC 7F0D2DBC 14610004 */ bne $v1, $at, .L7F0D2DD0 -.L7F0D2DC0: -/* 1078F0 7F0D2DC0 30EFC000 */ andi $t7, $a3, 0xc000 -/* 1078F4 7F0D2DC4 11E00002 */ beqz $t7, .L7F0D2DD0 -/* 1078F8 7F0D2DC8 00000000 */ nop -/* 1078FC 7F0D2DCC 24060001 */ li $a2, 1 -.L7F0D2DD0: -/* 107900 7F0D2DD0 1060000A */ beqz $v1, .L7F0D2DFC -/* 107904 7F0D2DD4 24010001 */ li $at, 1 -/* 107908 7F0D2DD8 10610008 */ beq $v1, $at, .L7F0D2DFC -/* 10790C 7F0D2DDC 24010006 */ li $at, 6 -/* 107910 7F0D2DE0 10610006 */ beq $v1, $at, .L7F0D2DFC -/* 107914 7F0D2DE4 24010009 */ li $at, 9 -/* 107918 7F0D2DE8 50610005 */ beql $v1, $at, .L7F0D2E00 -/* 10791C 7F0D2DEC 30F8C000 */ andi $t8, $a3, 0xc000 -/* 107920 7F0D2DF0 10430002 */ beq $v0, $v1, .L7F0D2DFC -/* 107924 7F0D2DF4 24010007 */ li $at, 7 -/* 107928 7F0D2DF8 14610007 */ bne $v1, $at, .L7F0D2E18 -.L7F0D2DFC: -/* 10792C 7F0D2DFC 30F8C000 */ andi $t8, $a3, 0xc000 -.L7F0D2E00: -/* 107930 7F0D2E00 13000005 */ beqz $t8, .L7F0D2E18 -/* 107934 7F0D2E04 3C028005 */ lui $v0, %hi(D_8004EC34) -/* 107938 7F0D2E08 2442EC34 */ addiu $v0, %lo(D_8004EC34) # addiu $v0, $v0, -0x13cc -/* 10793C 7F0D2E0C 90590004 */ lbu $t9, 4($v0) -/* 107940 7F0D2E10 332900FE */ andi $t1, $t9, 0xfe -/* 107944 7F0D2E14 A0490004 */ sb $t1, 4($v0) -.L7F0D2E18: -/* 107948 7F0D2E18 3C028005 */ lui $v0, %hi(D_8004EC34) -/* 10794C 7F0D2E1C 10830003 */ beq $a0, $v1, .L7F0D2E2C -/* 107950 7F0D2E20 2442EC34 */ addiu $v0, %lo(D_8004EC34) # addiu $v0, $v0, -0x13cc -/* 107954 7F0D2E24 24010008 */ li $at, 8 -/* 107958 7F0D2E28 14610006 */ bne $v1, $at, .L7F0D2E44 -.L7F0D2E2C: -/* 10795C 7F0D2E2C 30EAC000 */ andi $t2, $a3, 0xc000 -/* 107960 7F0D2E30 51400005 */ beql $t2, $zero, .L7F0D2E48 -/* 107964 7F0D2E34 24010005 */ li $at, 5 -/* 107968 7F0D2E38 904B0003 */ lbu $t3, 3($v0) -/* 10796C 7F0D2E3C 316C00EF */ andi $t4, $t3, 0xef -/* 107970 7F0D2E40 A04C0003 */ sb $t4, 3($v0) -.L7F0D2E44: -/* 107974 7F0D2E44 24010005 */ li $at, 5 -.L7F0D2E48: -/* 107978 7F0D2E48 14610006 */ bne $v1, $at, .L7F0D2E64 -/* 10797C 7F0D2E4C 30EDC000 */ andi $t5, $a3, 0xc000 -/* 107980 7F0D2E50 51A00005 */ beql $t5, $zero, .L7F0D2E68 -/* 107984 7F0D2E54 24010003 */ li $at, 3 -/* 107988 7F0D2E58 904E0003 */ lbu $t6, 3($v0) -/* 10798C 7F0D2E5C 31CF00FB */ andi $t7, $t6, 0xfb -/* 107990 7F0D2E60 A04F0003 */ sb $t7, 3($v0) -.L7F0D2E64: -/* 107994 7F0D2E64 24010003 */ li $at, 3 -.L7F0D2E68: -/* 107998 7F0D2E68 14610010 */ bne $v1, $at, .L7F0D2EAC -/* 10799C 7F0D2E6C 30F8C000 */ andi $t8, $a3, 0xc000 -/* 1079A0 7F0D2E70 13000004 */ beqz $t8, .L7F0D2E84 -/* 1079A4 7F0D2E74 30EA8000 */ andi $t2, $a3, 0x8000 -/* 1079A8 7F0D2E78 90590004 */ lbu $t9, 4($v0) -/* 1079AC 7F0D2E7C 332900EF */ andi $t1, $t9, 0xef -/* 1079B0 7F0D2E80 A0490004 */ sb $t1, 4($v0) -.L7F0D2E84: -/* 1079B4 7F0D2E84 11400004 */ beqz $t2, .L7F0D2E98 -/* 1079B8 7F0D2E88 30ED4000 */ andi $t5, $a3, 0x4000 -/* 1079BC 7F0D2E8C 904B0000 */ lbu $t3, ($v0) -/* 1079C0 7F0D2E90 316C00FD */ andi $t4, $t3, 0xfd -/* 1079C4 7F0D2E94 A04C0000 */ sb $t4, ($v0) -.L7F0D2E98: -/* 1079C8 7F0D2E98 51A00005 */ beql $t5, $zero, .L7F0D2EB0 -/* 1079CC 7F0D2E9C 24010006 */ li $at, 6 -/* 1079D0 7F0D2EA0 904E0007 */ lbu $t6, 7($v0) -/* 1079D4 7F0D2EA4 31CF00FE */ andi $t7, $t6, 0xfe -/* 1079D8 7F0D2EA8 A04F0007 */ sb $t7, 7($v0) -.L7F0D2EAC: -/* 1079DC 7F0D2EAC 24010006 */ li $at, 6 -.L7F0D2EB0: -/* 1079E0 7F0D2EB0 14610009 */ bne $v1, $at, .L7F0D2ED8 -/* 1079E4 7F0D2EB4 30F88000 */ andi $t8, $a3, 0x8000 -/* 1079E8 7F0D2EB8 13000002 */ beqz $t8, .L7F0D2EC4 -/* 1079EC 7F0D2EBC 30E44000 */ andi $a0, $a3, 0x4000 -/* 1079F0 7F0D2EC0 24050001 */ li $a1, 1 -.L7F0D2EC4: -/* 1079F4 7F0D2EC4 50800005 */ beql $a0, $zero, .L7F0D2EDC -/* 1079F8 7F0D2EC8 24010001 */ li $at, 1 -/* 1079FC 7F0D2ECC 90590007 */ lbu $t9, 7($v0) -/* 107A00 7F0D2ED0 332900FE */ andi $t1, $t9, 0xfe -/* 107A04 7F0D2ED4 A0490007 */ sb $t1, 7($v0) -.L7F0D2ED8: -/* 107A08 7F0D2ED8 24010001 */ li $at, 1 -.L7F0D2EDC: -/* 107A0C 7F0D2EDC 14610015 */ bne $v1, $at, .L7F0D2F34 -/* 107A10 7F0D2EE0 30EAC000 */ andi $t2, $a3, 0xc000 -/* 107A14 7F0D2EE4 11400004 */ beqz $t2, .L7F0D2EF8 -/* 107A18 7F0D2EE8 30ED0200 */ andi $t5, $a3, 0x200 -/* 107A1C 7F0D2EEC 904B0000 */ lbu $t3, ($v0) -/* 107A20 7F0D2EF0 316C00FD */ andi $t4, $t3, 0xfd -/* 107A24 7F0D2EF4 A04C0000 */ sb $t4, ($v0) -.L7F0D2EF8: -/* 107A28 7F0D2EF8 11A00004 */ beqz $t5, .L7F0D2F0C -/* 107A2C 7F0D2EFC 30F80400 */ andi $t8, $a3, 0x400 -/* 107A30 7F0D2F00 904E0003 */ lbu $t6, 3($v0) -/* 107A34 7F0D2F04 31CF00F7 */ andi $t7, $t6, 0xf7 -/* 107A38 7F0D2F08 A04F0003 */ sb $t7, 3($v0) -.L7F0D2F0C: -/* 107A3C 7F0D2F0C 13000004 */ beqz $t8, .L7F0D2F20 -/* 107A40 7F0D2F10 30EA0100 */ andi $t2, $a3, 0x100 -/* 107A44 7F0D2F14 90590003 */ lbu $t9, 3($v0) -/* 107A48 7F0D2F18 332900EF */ andi $t1, $t9, 0xef -/* 107A4C 7F0D2F1C A0490003 */ sb $t1, 3($v0) -.L7F0D2F20: -/* 107A50 7F0D2F20 51400005 */ beql $t2, $zero, .L7F0D2F38 -/* 107A54 7F0D2F24 30ED0020 */ andi $t5, $a3, 0x20 -/* 107A58 7F0D2F28 904B0004 */ lbu $t3, 4($v0) -/* 107A5C 7F0D2F2C 316C00EF */ andi $t4, $t3, 0xef -/* 107A60 7F0D2F30 A04C0004 */ sb $t4, 4($v0) -.L7F0D2F34: -/* 107A64 7F0D2F34 30ED0020 */ andi $t5, $a3, 0x20 -.L7F0D2F38: -/* 107A68 7F0D2F38 11A00013 */ beqz $t5, .L7F0D2F88 -/* 107A6C 7F0D2F3C 3C018005 */ lui $at, %hi(D_8004EC40) -/* 107A70 7F0D2F40 3C028009 */ lui $v0, %hi(ptr_spectrum_roms) -/* 107A74 7F0D2F44 2442E328 */ addiu $v0, %lo(ptr_spectrum_roms) # addiu $v0, $v0, -0x1cd8 -/* 107A78 7F0D2F48 00001825 */ move $v1, $zero -/* 107A7C 7F0D2F4C 24044000 */ li $a0, 16384 -.L7F0D2F50: -/* 107A80 7F0D2F50 8C4E0000 */ lw $t6, ($v0) -/* 107A84 7F0D2F54 01C37821 */ addu $t7, $t6, $v1 -/* 107A88 7F0D2F58 A1E00000 */ sb $zero, ($t7) -/* 107A8C 7F0D2F5C 8C580000 */ lw $t8, ($v0) -/* 107A90 7F0D2F60 0303C821 */ addu $t9, $t8, $v1 -/* 107A94 7F0D2F64 A3200001 */ sb $zero, 1($t9) -/* 107A98 7F0D2F68 8C490000 */ lw $t1, ($v0) -/* 107A9C 7F0D2F6C 01235021 */ addu $t2, $t1, $v1 -/* 107AA0 7F0D2F70 A1400002 */ sb $zero, 2($t2) -/* 107AA4 7F0D2F74 8C4B0000 */ lw $t3, ($v0) -/* 107AA8 7F0D2F78 01636021 */ addu $t4, $t3, $v1 -/* 107AAC 7F0D2F7C 24630004 */ addiu $v1, 4 # addiu $v1, $v1, 4 -/* 107AB0 7F0D2F80 1464FFF3 */ bne $v1, $a0, .L7F0D2F50 -/* 107AB4 7F0D2F84 A1800003 */ sb $zero, 3($t4) -.L7F0D2F88: -/* 107AB8 7F0D2F88 8FAD0024 */ lw $t5, 0x24($sp) -/* 107ABC 7F0D2F8C 8FAA002C */ lw $t2, 0x2c($sp) -/* 107AC0 7F0D2F90 000578C0 */ sll $t7, $a1, 3 -/* 107AC4 7F0D2F94 000D7100 */ sll $t6, $t5, 4 -/* 107AC8 7F0D2F98 8FAD0028 */ lw $t5, 0x28($sp) -/* 107ACC 7F0D2F9C 01CFC025 */ or $t8, $t6, $t7 -/* 107AD0 7F0D2FA0 0006C880 */ sll $t9, $a2, 2 -/* 107AD4 7F0D2FA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 107AD8 7F0D2FA8 03194825 */ or $t1, $t8, $t9 -/* 107ADC 7F0D2FAC 000A5840 */ sll $t3, $t2, 1 -/* 107AE0 7F0D2FB0 012B6025 */ or $t4, $t1, $t3 -/* 107AE4 7F0D2FB4 018D7025 */ or $t6, $t4, $t5 -/* 107AE8 7F0D2FB8 A02EEC40 */ sb $t6, %lo(D_8004EC40)($at) -/* 107AEC 7F0D2FBC 03E00008 */ jr $ra -/* 107AF0 7F0D2FC0 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void init_spectrum_game(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_spectrum_game -/* 107AF4 7F0D2FC4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 107AF8 7F0D2FC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 107AFC 7F0D2FCC AFA40018 */ sw $a0, 0x18($sp) -/* 107B00 7F0D2FD0 24040100 */ li $a0, 256 -/* 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 -/* 107B14 7F0D2FE4 ACC20000 */ sw $v0, ($a2) -/* 107B18 7F0D2FE8 00002025 */ move $a0, $zero -/* 107B1C 7F0D2FEC 24070004 */ li $a3, 4 -/* 107B20 7F0D2FF0 24050008 */ li $a1, 8 -/* 107B24 7F0D2FF4 00001825 */ move $v1, $zero -.L7F0D2FF8: -/* 107B28 7F0D2FF8 00001025 */ move $v0, $zero -/* 107B2C 7F0D2FFC 00447007 */ srav $t6, $a0, $v0 -.L7F0D3000: -/* 107B30 7F0D3000 31CF0001 */ andi $t7, $t6, 1 -/* 107B34 7F0D3004 11E00002 */ beqz $t7, .L7F0D3010 -/* 107B38 7F0D3008 24420001 */ addiu $v0, $v0, 1 -/* 107B3C 7F0D300C 24630001 */ addiu $v1, $v1, 1 -.L7F0D3010: -/* 107B40 7F0D3010 5445FFFB */ bnel $v0, $a1, .L7F0D3000 -/* 107B44 7F0D3014 00447007 */ srav $t6, $a0, $v0 -/* 107B48 7F0D3018 30780001 */ andi $t8, $v1, 1 -/* 107B4C 7F0D301C 53000006 */ beql $t8, $zero, .L7F0D3038 -/* 107B50 7F0D3020 8CCA0000 */ lw $t2, ($a2) -/* 107B54 7F0D3024 8CD90000 */ lw $t9, ($a2) -/* 107B58 7F0D3028 03244821 */ addu $t1, $t9, $a0 -/* 107B5C 7F0D302C 10000004 */ b .L7F0D3040 -/* 107B60 7F0D3030 A1200000 */ sb $zero, ($t1) -/* 107B64 7F0D3034 8CCA0000 */ lw $t2, ($a2) -.L7F0D3038: -/* 107B68 7F0D3038 01445821 */ addu $t3, $t2, $a0 -/* 107B6C 7F0D303C A1670000 */ sb $a3, ($t3) -.L7F0D3040: -/* 107B70 7F0D3040 24840001 */ addiu $a0, $a0, 1 -/* 107B74 7F0D3044 28810100 */ slti $at, $a0, 0x100 -/* 107B78 7F0D3048 5420FFEB */ bnezl $at, .L7F0D2FF8 -/* 107B7C 7F0D304C 00001825 */ move $v1, $zero -/* 107B80 7F0D3050 24046000 */ li $a0, 24576 -/* 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 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 -/* 107BA8 7F0D3078 AC620000 */ sw $v0, ($v1) -/* 107BAC 7F0D307C 24020001 */ li $v0, 1 -/* 107BB0 7F0D3080 00002025 */ move $a0, $zero -.L7F0D3084: -/* 107BB4 7F0D3084 8C6C0000 */ lw $t4, ($v1) -/* 107BB8 7F0D3088 01846821 */ addu $t5, $t4, $a0 -/* 107BBC 7F0D308C 24840001 */ addiu $a0, $a0, 1 -/* 107BC0 7F0D3090 28810300 */ slti $at, $a0, 0x300 -/* 107BC4 7F0D3094 1420FFFB */ bnez $at, .L7F0D3084 -/* 107BC8 7F0D3098 A1A20000 */ sb $v0, ($t5) -/* 107BCC 7F0D309C 3C040001 */ lui $a0, 1 -/* 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 -/* 107BE0 7F0D30B0 3C048006 */ lui $a0, %hi(aEmDataSpec_rom_seg_rz) -/* 107BE4 7F0D30B4 AD020000 */ sw $v0, ($t0) -/* 107BE8 7F0D30B8 2484C114 */ addiu $a0, %lo(aEmDataSpec_rom_seg_rz) # addiu $a0, $a0, -0x3eec -/* 107BEC 7F0D30BC 24050001 */ li $a1, 1 -/* 107BF0 7F0D30C0 24060100 */ li $a2, 256 -/* 107BF4 7F0D30C4 0FC2F341 */ jal _load_resource_named_to_membank -/* 107BF8 7F0D30C8 24070004 */ li $a3, 4 -/* 107BFC 7F0D30CC 3C038009 */ lui $v1, %hi(ptr_sectrum_monitor_data_temp_buf) -/* 107C00 7F0D30D0 2463E320 */ addiu $v1, %lo(ptr_sectrum_monitor_data_temp_buf) # addiu $v1, $v1, -0x1ce0 -/* 107C04 7F0D30D4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 107C08 7F0D30D8 2508E328 */ addiu $t0, %lo(ptr_spectrum_roms) # addiu $t0, $t0, -0x1cd8 -/* 107C0C 7F0D30DC AC620000 */ sw $v0, ($v1) -/* 107C10 7F0D30E0 00002025 */ move $a0, $zero -.L7F0D30E4: -/* 107C14 7F0D30E4 8C6E0000 */ lw $t6, ($v1) -/* 107C18 7F0D30E8 8D190000 */ lw $t9, ($t0) -/* 107C1C 7F0D30EC 01C47821 */ addu $t7, $t6, $a0 -/* 107C20 7F0D30F0 03244821 */ addu $t1, $t9, $a0 -/* 107C24 7F0D30F4 91F80000 */ lbu $t8, ($t7) -/* 107C28 7F0D30F8 24840001 */ addiu $a0, $a0, 1 -/* 107C2C 7F0D30FC 28814000 */ slti $at, $a0, 0x4000 -/* 107C30 7F0D3100 1420FFF8 */ bnez $at, .L7F0D30E4 -/* 107C34 7F0D3104 A1380000 */ sb $t8, ($t1) -/* 107C38 7F0D3108 8FAA0018 */ lw $t2, 0x18($sp) -/* 107C3C 7F0D310C 3C038009 */ lui $v1, %hi(byte_CODE_bss_8008E34D) -/* 107C40 7F0D3110 2463E34D */ addiu $v1, %lo(byte_CODE_bss_8008E34D) # addiu $v1, $v1, -0x1cb3 -/* 107C44 7F0D3114 314200FF */ andi $v0, $t2, 0xff -/* 107C48 7F0D3118 28410005 */ slti $at, $v0, 5 -/* 107C4C 7F0D311C 14200003 */ bnez $at, .L7F0D312C -/* 107C50 7F0D3120 A06A0000 */ sb $t2, ($v1) -/* 107C54 7F0D3124 A0600000 */ sb $zero, ($v1) -/* 107C58 7F0D3128 300200FF */ andi $v0, $zero, 0xff -.L7F0D312C: -/* 107C5C 7F0D312C 00025880 */ sll $t3, $v0, 2 -/* 107C60 7F0D3130 3C048005 */ lui $a0, %hi(romnames) -/* 107C64 7F0D3134 008B2021 */ addu $a0, $a0, $t3 -/* 107C68 7F0D3138 8C84ED2C */ lw $a0, %lo(romnames)($a0) -/* 107C6C 7F0D313C 24050001 */ li $a1, 1 -/* 107C70 7F0D3140 24060100 */ li $a2, 256 -/* 107C74 7F0D3144 0FC2F341 */ jal _load_resource_named_to_membank -/* 107C78 7F0D3148 24070004 */ li $a3, 4 -/* 107C7C 7F0D314C 3C038009 */ lui $v1, %hi(ptr_sectrum_game_data_temp_buf) -/* 107C80 7F0D3150 2463E324 */ addiu $v1, %lo(ptr_sectrum_game_data_temp_buf) # addiu $v1, $v1, -0x1cdc -/* 107C84 7F0D3154 AC620000 */ sw $v0, ($v1) -/* 107C88 7F0D3158 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 107C8C 7F0D315C 2508E328 */ addiu $t0, %lo(ptr_spectrum_roms) # addiu $t0, $t0, -0x1cd8 -/* 107C90 7F0D3160 3402C000 */ li $v0, 49152 -/* 107C94 7F0D3164 00002025 */ move $a0, $zero -.L7F0D3168: -/* 107C98 7F0D3168 8C6C0000 */ lw $t4, ($v1) -/* 107C9C 7F0D316C 8D0F0000 */ lw $t7, ($t0) -/* 107CA0 7F0D3170 008C6821 */ addu $t5, $a0, $t4 -/* 107CA4 7F0D3174 91AE001B */ lbu $t6, 0x1b($t5) -/* 107CA8 7F0D3178 01E4C821 */ addu $t9, $t7, $a0 -/* 107CAC 7F0D317C A32E4000 */ sb $t6, 0x4000($t9) -/* 107CB0 7F0D3180 8C780000 */ lw $t8, ($v1) -/* 107CB4 7F0D3184 8D0B0000 */ lw $t3, ($t0) -/* 107CB8 7F0D3188 00984821 */ addu $t1, $a0, $t8 -/* 107CBC 7F0D318C 912A001C */ lbu $t2, 0x1c($t1) -/* 107CC0 7F0D3190 01646021 */ addu $t4, $t3, $a0 -/* 107CC4 7F0D3194 A18A4001 */ sb $t2, 0x4001($t4) -/* 107CC8 7F0D3198 8C6D0000 */ lw $t5, ($v1) -/* 107CCC 7F0D319C 8D190000 */ lw $t9, ($t0) -/* 107CD0 7F0D31A0 008D7821 */ addu $t7, $a0, $t5 -/* 107CD4 7F0D31A4 91EE001D */ lbu $t6, 0x1d($t7) -/* 107CD8 7F0D31A8 0324C021 */ addu $t8, $t9, $a0 -/* 107CDC 7F0D31AC A30E4002 */ sb $t6, 0x4002($t8) -/* 107CE0 7F0D31B0 8C690000 */ lw $t1, ($v1) -/* 107CE4 7F0D31B4 8D0C0000 */ lw $t4, ($t0) -/* 107CE8 7F0D31B8 00895821 */ addu $t3, $a0, $t1 -/* 107CEC 7F0D31BC 916A001E */ lbu $t2, 0x1e($t3) -/* 107CF0 7F0D31C0 01846821 */ addu $t5, $t4, $a0 -/* 107CF4 7F0D31C4 24840004 */ addiu $a0, $a0, 4 -/* 107CF8 7F0D31C8 1482FFE7 */ bne $a0, $v0, .L7F0D3168 -/* 107CFC 7F0D31CC A1AA4003 */ sb $t2, 0x4003($t5) -/* 107D00 7F0D31D0 8C620000 */ lw $v0, ($v1) -/* 107D04 7F0D31D4 3C018009 */ lui $at, %hi(spec_I) -/* 107D08 7F0D31D8 3C058009 */ lui $a1, %hi(spec_IFF2_upper) -/* 107D0C 7F0D31DC 904F0000 */ lbu $t7, ($v0) -/* 107D10 7F0D31E0 24A5E34B */ addiu $a1, %lo(spec_IFF2_upper) # addiu $a1, $a1, -0x1cb5 -/* 107D14 7F0D31E4 3C068009 */ lui $a2, %hi(spec_SP) -/* 107D18 7F0D31E8 A02FE348 */ sb $t7, %lo(spec_I)($at) -/* 107D1C 7F0D31EC 90590001 */ lbu $t9, 1($v0) -/* 107D20 7F0D31F0 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E347) -/* 107D24 7F0D31F4 24C6E352 */ addiu $a2, %lo(spec_SP) # addiu $a2, $a2, -0x1cae -/* 107D28 7F0D31F8 A039E347 */ sb $t9, %lo(byte_CODE_bss_8008E347)($at) -/* 107D2C 7F0D31FC 904E0002 */ lbu $t6, 2($v0) -/* 107D30 7F0D3200 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E346) -/* 107D34 7F0D3204 3C078009 */ lui $a3, %hi(spec_IM) -/* 107D38 7F0D3208 A02EE346 */ sb $t6, %lo(byte_CODE_bss_8008E346)($at) -/* 107D3C 7F0D320C 90580003 */ lbu $t8, 3($v0) -/* 107D40 7F0D3210 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E345) -/* 107D44 7F0D3214 24E7E34C */ addiu $a3, %lo(spec_IM) # addiu $a3, $a3, -0x1cb4 -/* 107D48 7F0D3218 A038E345 */ sb $t8, %lo(byte_CODE_bss_8008E345)($at) -/* 107D4C 7F0D321C 90490004 */ lbu $t1, 4($v0) -/* 107D50 7F0D3220 3C018009 */ lui $at, %hi(off_CODE_bss_8008E344) -/* 107D54 7F0D3224 A029E344 */ sb $t1, %lo(off_CODE_bss_8008E344)($at) -/* 107D58 7F0D3228 904B0005 */ lbu $t3, 5($v0) -/* 107D5C 7F0D322C 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E343) -/* 107D60 7F0D3230 A02BE343 */ sb $t3, %lo(byte_CODE_bss_8008E343)($at) -/* 107D64 7F0D3234 904C0006 */ lbu $t4, 6($v0) -/* 107D68 7F0D3238 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E342) -/* 107D6C 7F0D323C A02CE342 */ sb $t4, %lo(byte_CODE_bss_8008E342)($at) -/* 107D70 7F0D3240 904A0007 */ lbu $t2, 7($v0) -/* 107D74 7F0D3244 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E341) -/* 107D78 7F0D3248 A02AE341 */ sb $t2, %lo(byte_CODE_bss_8008E341)($at) -/* 107D7C 7F0D324C 904D0008 */ lbu $t5, 8($v0) -/* 107D80 7F0D3250 3C018009 */ lui $at, %hi(off_CODE_bss_8008E340) -/* 107D84 7F0D3254 A02DE340 */ sb $t5, %lo(off_CODE_bss_8008E340)($at) -/* 107D88 7F0D3258 904F0009 */ lbu $t7, 9($v0) -/* 107D8C 7F0D325C 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33F) -/* 107D90 7F0D3260 A02FE33F */ sb $t7, %lo(byte_CODE_bss_8008E33F)($at) -/* 107D94 7F0D3264 9059000A */ lbu $t9, 0xa($v0) -/* 107D98 7F0D3268 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33E) -/* 107D9C 7F0D326C A039E33E */ sb $t9, %lo(byte_CODE_bss_8008E33E)($at) -/* 107DA0 7F0D3270 904E000B */ lbu $t6, 0xb($v0) -/* 107DA4 7F0D3274 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33D) -/* 107DA8 7F0D3278 A02EE33D */ sb $t6, %lo(byte_CODE_bss_8008E33D)($at) -/* 107DAC 7F0D327C 9058000C */ lbu $t8, 0xc($v0) -/* 107DB0 7F0D3280 3C018009 */ lui $at, %hi(off_CODE_bss_8008E33C) -/* 107DB4 7F0D3284 A038E33C */ sb $t8, %lo(off_CODE_bss_8008E33C)($at) -/* 107DB8 7F0D3288 9049000D */ lbu $t1, 0xd($v0) -/* 107DBC 7F0D328C 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33B) -/* 107DC0 7F0D3290 A029E33B */ sb $t1, %lo(byte_CODE_bss_8008E33B)($at) -/* 107DC4 7F0D3294 904B000E */ lbu $t3, 0xe($v0) -/* 107DC8 7F0D3298 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33A) -/* 107DCC 7F0D329C A02BE33A */ sb $t3, %lo(byte_CODE_bss_8008E33A)($at) -/* 107DD0 7F0D32A0 904C0010 */ lbu $t4, 0x10($v0) -/* 107DD4 7F0D32A4 904D000F */ lbu $t5, 0xf($v0) -/* 107DD8 7F0D32A8 3C018009 */ lui $at, %hi(spec_IY) -/* 107DDC 7F0D32AC 000C5200 */ sll $t2, $t4, 8 -/* 107DE0 7F0D32B0 014D7821 */ addu $t7, $t2, $t5 -/* 107DE4 7F0D32B4 A42FE350 */ sh $t7, %lo(spec_IY)($at) -/* 107DE8 7F0D32B8 90590012 */ lbu $t9, 0x12($v0) -/* 107DEC 7F0D32BC 90580011 */ lbu $t8, 0x11($v0) -/* 107DF0 7F0D32C0 3C018009 */ lui $at, %hi(spec_IX) -/* 107DF4 7F0D32C4 00197200 */ sll $t6, $t9, 8 -/* 107DF8 7F0D32C8 01D84821 */ addu $t1, $t6, $t8 -/* 107DFC 7F0D32CC A429E34E */ sh $t1, %lo(spec_IX)($at) -/* 107E00 7F0D32D0 904B0013 */ lbu $t3, 0x13($v0) -/* 107E04 7F0D32D4 3C018009 */ lui $at, %hi(spec_IFF2_lower) -/* 107E08 7F0D32D8 000B6083 */ sra $t4, $t3, 2 -/* 107E0C 7F0D32DC 318D0001 */ andi $t5, $t4, 1 -/* 107E10 7F0D32E0 A0AD0000 */ sb $t5, ($a1) -/* 107E14 7F0D32E4 A02DE34A */ sb $t5, %lo(spec_IFF2_lower)($at) -/* 107E18 7F0D32E8 904F0014 */ lbu $t7, 0x14($v0) -/* 107E1C 7F0D32EC 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E349) -/* 107E20 7F0D32F0 A02FE349 */ sb $t7, %lo(byte_CODE_bss_8008E349)($at) -/* 107E24 7F0D32F4 90590015 */ lbu $t9, 0x15($v0) -/* 107E28 7F0D32F8 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E339) -/* 107E2C 7F0D32FC A039E339 */ sb $t9, %lo(byte_CODE_bss_8008E339)($at) -/* 107E30 7F0D3300 904E0016 */ lbu $t6, 0x16($v0) -/* 107E34 7F0D3304 3C018009 */ lui $at, %hi(spectrum_header16_15) -/* 107E38 7F0D3308 A02EE338 */ sb $t6, %lo(spectrum_header16_15)($at) -/* 107E3C 7F0D330C 90580018 */ lbu $t8, 0x18($v0) -/* 107E40 7F0D3310 904B0017 */ lbu $t3, 0x17($v0) -/* 107E44 7F0D3314 3C018009 */ lui $at, %hi(spec_PC) -/* 107E48 7F0D3318 00184A00 */ sll $t1, $t8, 8 -/* 107E4C 7F0D331C 012B6021 */ addu $t4, $t1, $t3 -/* 107E50 7F0D3320 A4CC0000 */ sh $t4, ($a2) -/* 107E54 7F0D3324 904A0019 */ lbu $t2, 0x19($v0) -/* 107E58 7F0D3328 314400FF */ andi $a0, $t2, 0xff -/* 107E5C 7F0D332C 18800003 */ blez $a0, .L7F0D333C -/* 107E60 7F0D3330 A0EA0000 */ sb $t2, ($a3) -/* 107E64 7F0D3334 248D0001 */ addiu $t5, $a0, 1 -/* 107E68 7F0D3338 A0ED0000 */ sb $t5, ($a3) -.L7F0D333C: -/* 107E6C 7F0D333C 94C30000 */ lhu $v1, ($a2) -/* 107E70 7F0D3340 8D020000 */ lw $v0, ($t0) -/* 107E74 7F0D3344 8FBF0014 */ lw $ra, 0x14($sp) -/* 107E78 7F0D3348 246C0002 */ addiu $t4, $v1, 2 -/* 107E7C 7F0D334C 00437021 */ addu $t6, $v0, $v1 -/* 107E80 7F0D3350 91D80001 */ lbu $t8, 1($t6) -/* 107E84 7F0D3354 00627821 */ addu $t7, $v1, $v0 -/* 107E88 7F0D3358 91F90000 */ lbu $t9, ($t7) -/* 107E8C 7F0D335C 00184A00 */ sll $t1, $t8, 8 -/* 107E90 7F0D3360 27BD0018 */ addiu $sp, $sp, 0x18 -/* 107E94 7F0D3364 03295825 */ or $t3, $t9, $t1 -/* 107E98 7F0D3368 A42BE354 */ sh $t3, %lo(spec_PC)($at) -/* 107E9C 7F0D336C 03E00008 */ jr $ra -/* 107EA0 7F0D3370 A4CC0000 */ sh $t4, ($a2) -) -#endif - - - - - -#ifdef NONMATCHING -void run_spectrum_game(void) { - -} -#else -GLOBAL_ASM( -.text -glabel run_spectrum_game -/* 107EA4 7F0D3374 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 107EA8 7F0D3378 AFBF0014 */ sw $ra, 0x14($sp) -/* 107EAC 7F0D337C 0FC34B21 */ jal spectrum_p1controller_to_kempston -/* 107EB0 7F0D3380 00000000 */ nop -/* 107EB4 7F0D3384 0FC34E0B */ jal spectrum_hw_emulation -/* 107EB8 7F0D3388 00000000 */ nop -/* 107EBC 7F0D338C 3C048009 */ lui $a0, %hi(ptr_spectrum_roms) -/* 107EC0 7F0D3390 8C84E328 */ lw $a0, %lo(ptr_spectrum_roms)($a0) -/* 107EC4 7F0D3394 3C058009 */ lui $a1, %hi(ptr_6000alloc) -/* 107EC8 7F0D3398 8CA5E330 */ lw $a1, %lo(ptr_6000alloc)($a1) -/* 107ECC 7F0D339C 0FC34AA1 */ jal sub_GAME_7F0D2A84 -/* 107ED0 7F0D33A0 24844000 */ addiu $a0, $a0, 0x4000 -/* 107ED4 7F0D33A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 107ED8 7F0D33A8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 107EDC 7F0D33AC 03E00008 */ jr $ra -/* 107EE0 7F0D33B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void spectrum_draw_screen(void) { - -} -#else -GLOBAL_ASM( -.text -glabel spectrum_draw_screen -/* 107EE4 7F0D33B4 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 107EE8 7F0D33B8 00801025 */ move $v0, $a0 -/* 107EEC 7F0D33BC AFBF002C */ sw $ra, 0x2c($sp) -/* 107EF0 7F0D33C0 AFBE0028 */ sw $fp, 0x28($sp) -/* 107EF4 7F0D33C4 AFB70024 */ sw $s7, 0x24($sp) -/* 107EF8 7F0D33C8 AFB60020 */ sw $s6, 0x20($sp) -/* 107EFC 7F0D33CC AFB5001C */ sw $s5, 0x1c($sp) -/* 107F00 7F0D33D0 AFB40018 */ sw $s4, 0x18($sp) -/* 107F04 7F0D33D4 AFB30014 */ sw $s3, 0x14($sp) -/* 107F08 7F0D33D8 AFB20010 */ sw $s2, 0x10($sp) -/* 107F0C 7F0D33DC AFB1000C */ sw $s1, 0xc($sp) -/* 107F10 7F0D33E0 AFB00008 */ sw $s0, 8($sp) -/* 107F14 7F0D33E4 3C0BE700 */ lui $t3, 0xe700 -/* 107F18 7F0D33E8 24840008 */ addiu $a0, $a0, 8 -/* 107F1C 7F0D33EC AC4B0000 */ sw $t3, ($v0) -/* 107F20 7F0D33F0 AC400004 */ sw $zero, 4($v0) -/* 107F24 7F0D33F4 00801825 */ move $v1, $a0 -/* 107F28 7F0D33F8 3C0E8005 */ lui $t6, %hi(D_8004ED0C) -/* 107F2C 7F0D33FC 25CEED0C */ addiu $t6, %lo(D_8004ED0C) # addiu $t6, $t6, -0x12f4 -/* 107F30 7F0D3400 24840008 */ addiu $a0, $a0, 8 -/* 107F34 7F0D3404 3C10FD10 */ lui $s0, 0xfd10 -/* 107F38 7F0D3408 AC6E0004 */ sw $t6, 4($v1) -/* 107F3C 7F0D340C 00802825 */ move $a1, $a0 -/* 107F40 7F0D3410 3C0FF500 */ lui $t7, (0xF5000300 >> 16) # lui $t7, 0xf500 -/* 107F44 7F0D3414 AC700000 */ sw $s0, ($v1) -/* 107F48 7F0D3418 35EF0300 */ ori $t7, (0xF5000300 & 0xFFFF) # ori $t7, $t7, 0x300 -/* 107F4C 7F0D341C 24840008 */ addiu $a0, $a0, 8 -/* 107F50 7F0D3420 3C110700 */ lui $s1, 0x700 -/* 107F54 7F0D3424 ACAF0000 */ sw $t7, ($a1) -/* 107F58 7F0D3428 00803025 */ move $a2, $a0 -/* 107F5C 7F0D342C ACB10004 */ sw $s1, 4($a1) -/* 107F60 7F0D3430 24840008 */ addiu $a0, $a0, 8 -/* 107F64 7F0D3434 3C12E600 */ lui $s2, 0xe600 -/* 107F68 7F0D3438 00803825 */ move $a3, $a0 -/* 107F6C 7F0D343C ACD20000 */ sw $s2, ($a2) -/* 107F70 7F0D3440 ACC00004 */ sw $zero, 4($a2) -/* 107F74 7F0D3444 3C190703 */ lui $t9, (0x0703C000 >> 16) # lui $t9, 0x703 -/* 107F78 7F0D3448 3739C000 */ ori $t9, (0x0703C000 & 0xFFFF) # ori $t9, $t9, 0xc000 -/* 107F7C 7F0D344C 24840008 */ addiu $a0, $a0, 8 -/* 107F80 7F0D3450 3C18F000 */ lui $t8, 0xf000 -/* 107F84 7F0D3454 ACF80000 */ sw $t8, ($a3) -/* 107F88 7F0D3458 ACF90004 */ sw $t9, 4($a3) -/* 107F8C 7F0D345C 00801025 */ move $v0, $a0 -/* 107F90 7F0D3460 3C0EBA00 */ lui $t6, (0xBA001301 >> 16) # lui $t6, 0xba00 -/* 107F94 7F0D3464 35CE1301 */ ori $t6, (0xBA001301 & 0xFFFF) # ori $t6, $t6, 0x1301 -/* 107F98 7F0D3468 24840008 */ addiu $a0, $a0, 8 -/* 107F9C 7F0D346C AC4E0000 */ sw $t6, ($v0) -/* 107FA0 7F0D3470 00801825 */ move $v1, $a0 -/* 107FA4 7F0D3474 AC400004 */ sw $zero, 4($v0) -/* 107FA8 7F0D3478 3C180F0A */ lui $t8, (0x0F0A4000 >> 16) # lui $t8, 0xf0a -/* 107FAC 7F0D347C 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 107FB0 7F0D3480 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 107FB4 7F0D3484 37184000 */ ori $t8, (0x0F0A4000 & 0xFFFF) # ori $t8, $t8, 0x4000 -/* 107FB8 7F0D3488 24840008 */ addiu $a0, $a0, 8 -/* 107FBC 7F0D348C AC780004 */ sw $t8, 4($v1) -/* 107FC0 7F0D3490 AC6F0000 */ sw $t7, ($v1) -/* 107FC4 7F0D3494 00802825 */ move $a1, $a0 -/* 107FC8 7F0D3498 3C19FCFF */ lui $t9, (0xFCFFFFFF >> 16) # lui $t9, 0xfcff -/* 107FCC 7F0D349C 3739FFFF */ ori $t9, (0xFCFFFFFF & 0xFFFF) # ori $t9, $t9, 0xffff -/* 107FD0 7F0D34A0 24840008 */ addiu $a0, $a0, 8 -/* 107FD4 7F0D34A4 3C0EFFFC */ lui $t6, (0xFFFCF87C >> 16) # lui $t6, 0xfffc -/* 107FD8 7F0D34A8 35CEF87C */ ori $t6, (0xFFFCF87C & 0xFFFF) # ori $t6, $t6, 0xf87c -/* 107FDC 7F0D34AC ACB90000 */ sw $t9, ($a1) -/* 107FE0 7F0D34B0 00803025 */ move $a2, $a0 -/* 107FE4 7F0D34B4 ACAE0004 */ sw $t6, 4($a1) -/* 107FE8 7F0D34B8 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00 -/* 107FEC 7F0D34BC 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02 -/* 107FF0 7F0D34C0 24840008 */ addiu $a0, $a0, 8 -/* 107FF4 7F0D34C4 ACCF0000 */ sw $t7, ($a2) -/* 107FF8 7F0D34C8 ACC00004 */ sw $zero, 4($a2) -/* 107FFC 7F0D34CC 00803825 */ move $a3, $a0 -/* 108000 7F0D34D0 3C18BB00 */ lui $t8, (0xBB000001 >> 16) # lui $t8, 0xbb00 -/* 108004 7F0D34D4 37180001 */ ori $t8, (0xBB000001 & 0xFFFF) # ori $t8, $t8, 1 -/* 108008 7F0D34D8 2419FFFF */ li $t9, -1 -/* 10800C 7F0D34DC ACF90004 */ sw $t9, 4($a3) -/* 108010 7F0D34E0 ACF80000 */ sw $t8, ($a3) -/* 108014 7F0D34E4 3C138009 */ lui $s3, %hi(ptr_6000alloc) -/* 108018 7F0D34E8 3C16073F */ lui $s6, (0x073FF200 >> 16) # lui $s6, 0x73f -/* 10801C 7F0D34EC 3C17BA00 */ lui $s7, (0xBA000E02 >> 16) # lui $s7, 0xba00 -/* 108020 7F0D34F0 3C1FF540 */ lui $ra, (0xF5400800 >> 16) # lui $ra, 0xf540 -/* 108024 7F0D34F4 24840008 */ addiu $a0, $a0, 8 -/* 108028 7F0D34F8 37FF0800 */ ori $ra, (0xF5400800 & 0xFFFF) # ori $ra, $ra, 0x800 -/* 10802C 7F0D34FC 36F70E02 */ ori $s7, (0xBA000E02 & 0xFFFF) # ori $s7, $s7, 0xe02 -/* 108030 7F0D3500 36D6F200 */ ori $s6, (0x073FF200 & 0xFFFF) # ori $s6, $s6, 0xf200 -/* 108034 7F0D3504 2673E330 */ addiu $s3, %lo(ptr_6000alloc) # addiu $s3, $s3, -0x1cd0 -/* 108038 7F0D3508 AFA0003C */ sw $zero, 0x3c($sp) -/* 10803C 7F0D350C 00001025 */ move $v0, $zero -/* 108040 7F0D3510 3C14F510 */ lui $s4, 0xf510 -/* 108044 7F0D3514 3C15F300 */ lui $s5, 0xf300 -/* 108048 7F0D3518 341E8000 */ li $fp, 32768 -.L7F0D351C: -/* 10804C 7F0D351C 8FA8003C */ lw $t0, 0x3c($sp) -/* 108050 7F0D3520 24430001 */ addiu $v1, $v0, 1 -/* 108054 7F0D3524 00036180 */ sll $t4, $v1, 6 -/* 108058 7F0D3528 00026980 */ sll $t5, $v0, 6 -/* 10805C 7F0D352C 25AD0018 */ addiu $t5, $t5, 0x18 -/* 108060 7F0D3530 258C0018 */ addiu $t4, $t4, 0x18 -/* 108064 7F0D3534 000C7880 */ sll $t7, $t4, 2 -/* 108068 7F0D3538 000DC880 */ sll $t9, $t5, 2 -/* 10806C 7F0D353C 000872C0 */ sll $t6, $t0, 0xb -/* 108070 7F0D3540 01C04025 */ move $t0, $t6 -/* 108074 7F0D3544 332D0FFF */ andi $t5, $t9, 0xfff -/* 108078 7F0D3548 31EC0FFF */ andi $t4, $t7, 0xfff -/* 10807C 7F0D354C AFA30034 */ sw $v1, 0x34($sp) -/* 108080 7F0D3550 00003825 */ move $a3, $zero -.L7F0D3554: -/* 108084 7F0D3554 00801025 */ move $v0, $a0 -/* 108088 7F0D3558 24840008 */ addiu $a0, $a0, 8 -/* 10808C 7F0D355C AC4B0000 */ sw $t3, ($v0) -/* 108090 7F0D3560 AC400004 */ sw $zero, 4($v0) -/* 108094 7F0D3564 00801825 */ move $v1, $a0 -/* 108098 7F0D3568 AC700000 */ sw $s0, ($v1) -/* 10809C 7F0D356C 8E6F0000 */ lw $t7, ($s3) -/* 1080A0 7F0D3570 24840008 */ addiu $a0, $a0, 8 -/* 1080A4 7F0D3574 00802825 */ move $a1, $a0 -/* 1080A8 7F0D3578 010FC021 */ addu $t8, $t0, $t7 -/* 1080AC 7F0D357C AC780004 */ sw $t8, 4($v1) -/* 1080B0 7F0D3580 24840008 */ addiu $a0, $a0, 8 -/* 1080B4 7F0D3584 00803025 */ move $a2, $a0 -/* 1080B8 7F0D3588 ACB10004 */ sw $s1, 4($a1) -/* 1080BC 7F0D358C ACB40000 */ sw $s4, ($a1) -/* 1080C0 7F0D3590 24840008 */ addiu $a0, $a0, 8 -/* 1080C4 7F0D3594 00804825 */ move $t1, $a0 -/* 1080C8 7F0D3598 ACC00004 */ sw $zero, 4($a2) -/* 1080CC 7F0D359C ACD20000 */ sw $s2, ($a2) -/* 1080D0 7F0D35A0 24840008 */ addiu $a0, $a0, 8 -/* 1080D4 7F0D35A4 00801025 */ move $v0, $a0 -/* 1080D8 7F0D35A8 AD360004 */ sw $s6, 4($t1) -/* 1080DC 7F0D35AC AD350000 */ sw $s5, ($t1) -/* 1080E0 7F0D35B0 24840008 */ addiu $a0, $a0, 8 -/* 1080E4 7F0D35B4 AC400004 */ sw $zero, 4($v0) -/* 1080E8 7F0D35B8 AC4B0000 */ sw $t3, ($v0) -/* 1080EC 7F0D35BC 00801825 */ move $v1, $a0 -/* 1080F0 7F0D35C0 24840008 */ addiu $a0, $a0, 8 -/* 1080F4 7F0D35C4 00802825 */ move $a1, $a0 -/* 1080F8 7F0D35C8 3C190001 */ lui $t9, (0x00018060 >> 16) # lui $t9, 1 -/* 1080FC 7F0D35CC AC770000 */ sw $s7, ($v1) -/* 108100 7F0D35D0 AC7E0004 */ sw $fp, 4($v1) -/* 108104 7F0D35D4 37398060 */ ori $t9, (0x00018060 & 0xFFFF) # ori $t9, $t9, 0x8060 -/* 108108 7F0D35D8 ACB90004 */ sw $t9, 4($a1) -/* 10810C 7F0D35DC 24840008 */ addiu $a0, $a0, 8 -/* 108110 7F0D35E0 24E20001 */ addiu $v0, $a3, 1 -/* 108114 7F0D35E4 ACBF0000 */ sw $ra, ($a1) -/* 108118 7F0D35E8 00803025 */ move $a2, $a0 -/* 10811C 7F0D35EC 3C0F007E */ lui $t7, (0x007E07E0 >> 16) # lui $t7, 0x7e -/* 108120 7F0D35F0 3C0EF200 */ lui $t6, 0xf200 -/* 108124 7F0D35F4 0002C180 */ sll $t8, $v0, 6 -/* 108128 7F0D35F8 ACCE0000 */ sw $t6, ($a2) -/* 10812C 7F0D35FC 35EF07E0 */ ori $t7, (0x007E07E0 & 0xFFFF) # ori $t7, $t7, 0x7e0 -/* 108130 7F0D3600 27190020 */ addiu $t9, $t8, 0x20 -/* 108134 7F0D3604 ACCF0004 */ sw $t7, 4($a2) -/* 108138 7F0D3608 00197080 */ sll $t6, $t9, 2 -/* 10813C 7F0D360C 31CF0FFF */ andi $t7, $t6, 0xfff -/* 108140 7F0D3610 000FC300 */ sll $t8, $t7, 0xc -/* 108144 7F0D3614 3C01E400 */ lui $at, 0xe400 -/* 108148 7F0D3618 0301C825 */ or $t9, $t8, $at -/* 10814C 7F0D361C 24840008 */ addiu $a0, $a0, 8 -/* 108150 7F0D3620 032C7025 */ or $t6, $t9, $t4 -/* 108154 7F0D3624 00077980 */ sll $t7, $a3, 6 -/* 108158 7F0D3628 25F80020 */ addiu $t8, $t7, 0x20 -/* 10815C 7F0D362C 00805025 */ move $t2, $a0 -/* 108160 7F0D3630 AD4E0000 */ sw $t6, ($t2) -/* 108164 7F0D3634 0018C880 */ sll $t9, $t8, 2 -/* 108168 7F0D3638 332E0FFF */ andi $t6, $t9, 0xfff -/* 10816C 7F0D363C 000E7B00 */ sll $t7, $t6, 0xc -/* 108170 7F0D3640 24840008 */ addiu $a0, $a0, 8 -/* 108174 7F0D3644 00801825 */ move $v1, $a0 -/* 108178 7F0D3648 01EDC025 */ or $t8, $t7, $t5 -/* 10817C 7F0D364C AD580004 */ sw $t8, 4($t2) -/* 108180 7F0D3650 24840008 */ addiu $a0, $a0, 8 -/* 108184 7F0D3654 00802825 */ move $a1, $a0 -/* 108188 7F0D3658 3C0F0400 */ lui $t7, (0x04000400 >> 16) # lui $t7, 0x400 -/* 10818C 7F0D365C 3C19B400 */ lui $t9, 0xb400 -/* 108190 7F0D3660 24010004 */ li $at, 4 -/* 108194 7F0D3664 AC790000 */ sw $t9, ($v1) -/* 108198 7F0D3668 35EF0400 */ ori $t7, (0x04000400 & 0xFFFF) # ori $t7, $t7, 0x400 -/* 10819C 7F0D366C AC600004 */ sw $zero, 4($v1) -/* 1081A0 7F0D3670 3C0EB300 */ lui $t6, 0xb300 -/* 1081A4 7F0D3674 00403825 */ move $a3, $v0 -/* 1081A8 7F0D3678 25080800 */ addiu $t0, $t0, 0x800 -/* 1081AC 7F0D367C ACAE0000 */ sw $t6, ($a1) -/* 1081B0 7F0D3680 ACAF0004 */ sw $t7, 4($a1) -/* 1081B4 7F0D3684 1441FFB3 */ bne $v0, $at, .L7F0D3554 -/* 1081B8 7F0D3688 24840008 */ addiu $a0, $a0, 8 -/* 1081BC 7F0D368C 8FB8003C */ lw $t8, 0x3c($sp) -/* 1081C0 7F0D3690 8FA20034 */ lw $v0, 0x34($sp) -/* 1081C4 7F0D3694 24010003 */ li $at, 3 -/* 1081C8 7F0D3698 27190004 */ addiu $t9, $t8, 4 -/* 1081CC 7F0D369C 1441FF9F */ bne $v0, $at, .L7F0D351C -/* 1081D0 7F0D36A0 AFB9003C */ sw $t9, 0x3c($sp) -/* 1081D4 7F0D36A4 8FBF002C */ lw $ra, 0x2c($sp) -/* 1081D8 7F0D36A8 8FB00008 */ lw $s0, 8($sp) -/* 1081DC 7F0D36AC 8FB1000C */ lw $s1, 0xc($sp) -/* 1081E0 7F0D36B0 8FB20010 */ lw $s2, 0x10($sp) -/* 1081E4 7F0D36B4 8FB30014 */ lw $s3, 0x14($sp) -/* 1081E8 7F0D36B8 8FB40018 */ lw $s4, 0x18($sp) -/* 1081EC 7F0D36BC 8FB5001C */ lw $s5, 0x1c($sp) -/* 1081F0 7F0D36C0 8FB60020 */ lw $s6, 0x20($sp) -/* 1081F4 7F0D36C4 8FB70024 */ lw $s7, 0x24($sp) -/* 1081F8 7F0D36C8 8FBE0028 */ lw $fp, 0x28($sp) -/* 1081FC 7F0D36CC 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 108200 7F0D36D0 03E00008 */ jr $ra -/* 108204 7F0D36D4 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -void spectrum_input_handling(void) { - -} -#else -GLOBAL_ASM( -.text -glabel spectrum_input_handling -/* 108208 7F0D36D8 AFA50004 */ sw $a1, 4($sp) -/* 10820C 7F0D36DC 30AE00FF */ andi $t6, $a1, 0xff -/* 108210 7F0D36E0 30C200FF */ andi $v0, $a2, 0xff -/* 108214 7F0D36E4 240100FE */ li $at, 254 -/* 108218 7F0D36E8 01C02825 */ move $a1, $t6 -/* 10821C 7F0D36EC AFA40000 */ sw $a0, ($sp) -/* 108220 7F0D36F0 14410030 */ bne $v0, $at, .L7F0D37B4 -/* 108224 7F0D36F4 AFA60008 */ sw $a2, 8($sp) -/* 108228 7F0D36F8 3C068005 */ lui $a2, %hi(D_8004EC34) -/* 10822C 7F0D36FC 240300FF */ li $v1, 255 -/* 108230 7F0D3700 24C6EC34 */ addiu $a2, %lo(D_8004EC34) # addiu $a2, $a2, -0x13cc -/* 108234 7F0D3704 00001025 */ move $v0, $zero -/* 108238 7F0D3708 24070008 */ li $a3, 8 -.L7F0D370C: -/* 10823C 7F0D370C 30B80001 */ andi $t8, $a1, 1 -/* 108240 7F0D3710 17000006 */ bnez $t8, .L7F0D372C -/* 108244 7F0D3714 00A02025 */ move $a0, $a1 -/* 108248 7F0D3718 00C2C821 */ addu $t9, $a2, $v0 -/* 10824C 7F0D371C 93280000 */ lbu $t0, ($t9) -/* 108250 7F0D3720 00681824 */ and $v1, $v1, $t0 -/* 108254 7F0D3724 306900FF */ andi $t1, $v1, 0xff -/* 108258 7F0D3728 01201825 */ move $v1, $t1 -.L7F0D372C: -/* 10825C 7F0D372C 00042842 */ srl $a1, $a0, 1 -/* 108260 7F0D3730 30A400FF */ andi $a0, $a1, 0xff -/* 108264 7F0D3734 308B0001 */ andi $t3, $a0, 1 -/* 108268 7F0D3738 15600006 */ bnez $t3, .L7F0D3754 -/* 10826C 7F0D373C 00042842 */ srl $a1, $a0, 1 -/* 108270 7F0D3740 00C26021 */ addu $t4, $a2, $v0 -/* 108274 7F0D3744 918D0001 */ lbu $t5, 1($t4) -/* 108278 7F0D3748 006D1824 */ and $v1, $v1, $t5 -/* 10827C 7F0D374C 306E00FF */ andi $t6, $v1, 0xff -/* 108280 7F0D3750 01C01825 */ move $v1, $t6 -.L7F0D3754: -/* 108284 7F0D3754 30A400FF */ andi $a0, $a1, 0xff -/* 108288 7F0D3758 30980001 */ andi $t8, $a0, 1 -/* 10828C 7F0D375C 17000006 */ bnez $t8, .L7F0D3778 -/* 108290 7F0D3760 00042842 */ srl $a1, $a0, 1 -/* 108294 7F0D3764 00C2C821 */ addu $t9, $a2, $v0 -/* 108298 7F0D3768 93280002 */ lbu $t0, 2($t9) -/* 10829C 7F0D376C 00681824 */ and $v1, $v1, $t0 -/* 1082A0 7F0D3770 306900FF */ andi $t1, $v1, 0xff -/* 1082A4 7F0D3774 01201825 */ move $v1, $t1 -.L7F0D3778: -/* 1082A8 7F0D3778 30A400FF */ andi $a0, $a1, 0xff -/* 1082AC 7F0D377C 308B0001 */ andi $t3, $a0, 1 -/* 1082B0 7F0D3780 15600006 */ bnez $t3, .L7F0D379C -/* 1082B4 7F0D3784 00042842 */ srl $a1, $a0, 1 -/* 1082B8 7F0D3788 00C26021 */ addu $t4, $a2, $v0 -/* 1082BC 7F0D378C 918D0003 */ lbu $t5, 3($t4) -/* 1082C0 7F0D3790 006D1824 */ and $v1, $v1, $t5 -/* 1082C4 7F0D3794 306E00FF */ andi $t6, $v1, 0xff -/* 1082C8 7F0D3798 01C01825 */ move $v1, $t6 -.L7F0D379C: -/* 1082CC 7F0D379C 30AF00FF */ andi $t7, $a1, 0xff -/* 1082D0 7F0D37A0 24420004 */ addiu $v0, $v0, 4 -/* 1082D4 7F0D37A4 1447FFD9 */ bne $v0, $a3, .L7F0D370C -/* 1082D8 7F0D37A8 01E02825 */ move $a1, $t7 -/* 1082DC 7F0D37AC 03E00008 */ jr $ra -/* 1082E0 7F0D37B0 00601025 */ move $v0, $v1 - -.L7F0D37B4: -/* 1082E4 7F0D37B4 2401001F */ li $at, 31 -/* 1082E8 7F0D37B8 14410003 */ bne $v0, $at, .L7F0D37C8 -/* 1082EC 7F0D37BC 3C028005 */ lui $v0, %hi(D_8004EC40) -/* 1082F0 7F0D37C0 03E00008 */ jr $ra -/* 1082F4 7F0D37C4 9042EC40 */ lbu $v0, %lo(D_8004EC40)($v0) - -.L7F0D37C8: -/* 1082F8 7F0D37C8 240200FF */ li $v0, 255 -/* 1082FC 7F0D37CC 03E00008 */ jr $ra -/* 108300 7F0D37D0 00000000 */ nop -) -#endif - - - - -void nullsub_50(void) { - return; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D37DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D37DC -/* 10830C 7F0D37DC 30CE00FF */ andi $t6, $a2, 0xff -/* 108310 7F0D37E0 240100FE */ li $at, 254 -/* 108314 7F0D37E4 AFA40000 */ sw $a0, ($sp) -/* 108318 7F0D37E8 AFA50004 */ sw $a1, 4($sp) -/* 10831C 7F0D37EC AFA60008 */ sw $a2, 8($sp) -/* 108320 7F0D37F0 AFA7000C */ sw $a3, 0xc($sp) -/* 108324 7F0D37F4 15C1000A */ bne $t6, $at, .L7F0D3820 -/* 108328 7F0D37F8 30EF00FF */ andi $t7, $a3, 0xff -/* 10832C 7F0D37FC 3C188005 */ lui $t8, %hi(D_8004ED54) -/* 108330 7F0D3800 9318ED54 */ lbu $t8, %lo(D_8004ED54)($t8) -/* 108334 7F0D3804 31E20007 */ andi $v0, $t7, 7 -/* 108338 7F0D3808 3C018005 */ lui $at, %hi(D_8004ED54) -/* 10833C 7F0D380C 10580002 */ beq $v0, $t8, .L7F0D3818 -/* 108340 7F0D3810 00000000 */ nop -/* 108344 7F0D3814 A022ED54 */ sb $v0, %lo(D_8004ED54)($at) -.L7F0D3818: -/* 108348 7F0D3818 03E00008 */ jr $ra -/* 10834C 7F0D381C 00001025 */ move $v0, $zero - -.L7F0D3820: -/* 108350 7F0D3820 00001025 */ move $v0, $zero -/* 108354 7F0D3824 03E00008 */ jr $ra -/* 108358 7F0D3828 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void spectrum_hw_emulation(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005C12C*/ -glabel spectrum_op_table -.word spectrum_op_00 -.word spectrum_op_01 -.word spectrum_op_02 -.word spectrum_op_03 -.word spectrum_op_04 -.word spectrum_op_05 -.word spectrum_op_06 -.word spectrum_op_07 -.word spectrum_op_08 -.word spectrum_op_09 -.word spectrum_op_0A -.word spectrum_op_0B -.word spectrum_op_0C -.word spectrum_op_0D -.word spectrum_op_0E -.word spectrum_op_0F -.word spectrum_op_10 -.word spectrum_op_11 -.word spectrum_op_12 -.word spectrum_op_13 -.word spectrum_op_14 -.word spectrum_op_15 -.word spectrum_op_16 -.word spectrum_op_17 -.word spectrum_op_18 -.word spectrum_op_19 -.word spectrum_op_1A -.word spectrum_op_1B -.word spectrum_op_1C -.word spectrum_op_1D -.word spectrum_op_1E -.word spectrum_op_1F -.word spectrum_op_20 -.word spectrum_op_21 -.word spectrum_op_22 -.word spectrum_op_23 -.word spectrum_op_24 -.word spectrum_op_25 -.word spectrum_op_26 -.word spectrum_op_27 -.word spectrum_op_28 -.word spectrum_op_29 -.word spectrum_op_2A -.word spectrum_op_2B -.word spectrum_op_2C -.word spectrum_op_2D -.word spectrum_op_2E -.word spectrum_op_2F -.word spectrum_op_30 -.word spectrum_op_31 -.word spectrum_op_32 -.word spectrum_op_33 -.word spectrum_op_34 -.word spectrum_op_35 -.word spectrum_op_36 -.word spectrum_op_37 -.word spectrum_op_38 -.word spectrum_op_39 -.word spectrum_op_3A -.word spectrum_op_3B -.word spectrum_op_3C -.word spectrum_op_3D -.word spectrum_op_3E -.word spectrum_op_3F -.word spectrum_op_40 -.word spectrum_op_41 -.word spectrum_op_42 -.word spectrum_op_43 -.word spectrum_op_44 -.word spectrum_op_45 -.word spectrum_op_46 -.word spectrum_op_47 -.word spectrum_op_48 -.word spectrum_op_49 -.word spectrum_op_4A -.word spectrum_op_4B -.word spectrum_op_4C -.word spectrum_op_4D -.word spectrum_op_4E -.word spectrum_op_4F -.word spectrum_op_50 -.word spectrum_op_51 -.word spectrum_op_52 -.word spectrum_op_53 -.word spectrum_op_54 -.word spectrum_op_55 -.word spectrum_op_56 -.word spectrum_op_57 -.word spectrum_op_58 -.word spectrum_op_59 -.word spectrum_op_5A -.word spectrum_op_5B -.word spectrum_op_5C -.word spectrum_op_5D -.word spectrum_op_5E -.word spectrum_op_5F -.word spectrum_op_60 -.word spectrum_op_61 -.word spectrum_op_62 -.word spectrum_op_63 -.word spectrum_op_64 -.word spectrum_op_65 -.word spectrum_op_66 -.word spectrum_op_67 -.word spectrum_op_68 -.word spectrum_op_69 -.word spectrum_op_6A -.word spectrum_op_6B -.word spectrum_op_6C -.word spectrum_op_6D -.word spectrum_op_6E -.word spectrum_op_6F -.word spectrum_op_70 -.word spectrum_op_71 -.word spectrum_op_72 -.word spectrum_op_73 -.word spectrum_op_74 -.word spectrum_op_75 -.word spectrum_op_76 -.word spectrum_op_77 -.word spectrum_op_78 -.word spectrum_op_79 -.word spectrum_op_7A -.word spectrum_op_7B -.word spectrum_op_7C -.word spectrum_op_7D -.word spectrum_op_7E -.word spectrum_op_7F -.word spectrum_op_80 -.word spectrum_op_81 -.word spectrum_op_82 -.word spectrum_op_83 -.word spectrum_op_84 -.word spectrum_op_85 -.word spectrum_op_86 -.word spectrum_op_87 -.word spectrum_op_88 -.word spectrum_op_89 -.word spectrum_op_8A -.word spectrum_op_8B -.word spectrum_op_8C -.word spectrum_op_8D -.word spectrum_op_8E -.word spectrum_op_8F -.word spectrum_op_90 -.word spectrum_op_91 -.word spectrum_op_92 -.word spectrum_op_93 -.word spectrum_op_94 -.word spectrum_op_95 -.word spectrum_op_96 -.word spectrum_op_97 -.word spectrum_op_98 -.word spectrum_op_99 -.word spectrum_op_9A -.word spectrum_op_9B -.word spectrum_op_9C -.word spectrum_op_9D -.word spectrum_op_9E -.word spectrum_op_9F -.word spectrum_op_A0 -.word spectrum_op_A1 -.word spectrum_op_A2 -.word spectrum_op_A3 -.word spectrum_op_A4 -.word spectrum_op_A5 -.word spectrum_op_A6 -.word spectrum_op_A7 -.word spectrum_op_A8 -.word spectrum_op_A9 -.word spectrum_op_AA -.word spectrum_op_AB -.word spectrum_op_AC -.word spectrum_op_AD -.word spectrum_op_AE -.word spectrum_op_AF -.word spectrum_op_B0 -.word spectrum_op_B1 -.word spectrum_op_B2 -.word spectrum_op_B3 -.word spectrum_op_B4 -.word spectrum_op_B5 -.word spectrum_op_B6 -.word spectrum_op_B7 -.word spectrum_op_B8 -.word spectrum_op_B9 -.word spectrum_op_BA -.word spectrum_op_BB -.word spectrum_op_BC -.word spectrum_op_BD -.word spectrum_op_BE -.word spectrum_op_BF -.word spectrum_op_C0 -.word spectrum_op_C1 -.word spectrum_op_C2 -.word spectrum_op_C3 -.word spectrum_op_C4 -.word spectrum_op_C5 -.word spectrum_op_C6 -.word spectrum_op_C7 -.word spectrum_op_C8 -.word spectrum_op_C9 -.word spectrum_op_CA -.word spectrum_op_CB -.word spectrum_op_CC -.word spectrum_op_CD -.word spectrum_op_CE -.word spectrum_op_CF -.word spectrum_op_D0 -.word spectrum_op_D1 -.word spectrum_op_D2 -.word spectrum_op_D3 -.word spectrum_op_D4 -.word spectrum_op_D5 -.word spectrum_op_D6 -.word spectrum_op_D7 -.word spectrum_op_D8 -.word spectrum_op_D9 -.word spectrum_op_DA -.word spectrum_op_DB -.word spectrum_op_DC -.word spectrum_op_DD -.word spectrum_op_DE -.word spectrum_op_DF -.word spectrum_op_E0 -.word spectrum_op_E1 -.word spectrum_op_E2 -.word spectrum_op_E3 -.word spectrum_op_E4 -.word spectrum_op_E5 -.word spectrum_op_E6 -.word spectrum_op_E7 -.word spectrum_op_E8 -.word spectrum_op_E9 -.word spectrum_op_EA -.word spectrum_op_EB -.word spectrum_op_EC -.word spectrum_op_ED -.word spectrum_op_EE -.word spectrum_op_EF -.word spectrum_op_F0 -.word spectrum_op_F1 -.word spectrum_op_F2 -.word spectrum_op_F3 -.word spectrum_op_F4 -.word spectrum_op_F5 -.word spectrum_op_F6 -.word spectrum_op_F7 -.word spectrum_op_F8 -.word spectrum_op_F9 -.word spectrum_op_FA -.word spectrum_op_FB -.word spectrum_op_FC -.word spectrum_op_FD -.word spectrum_op_FE -.word spectrum_op_FF - -/*D:8005C52C*/ -glabel jpt_8005C52C -.word spectrum_op_CB_00 -.word spectrum_op_CB_01 -.word spectrum_op_CB_02 -.word spectrum_op_CB_03 -.word spectrum_op_CB_04 -.word spectrum_op_CB_05 -.word spectrum_op_CB_06 -.word spectrum_op_CB_07 -.word spectrum_op_CB_08 -.word spectrum_op_CB_09 -.word spectrum_op_CB_0A -.word spectrum_op_CB_0B -.word spectrum_op_CB_0C -.word spectrum_op_CB_0D -.word spectrum_op_CB_0E -.word spectrum_op_CB_0F -.word spectrum_op_CB_10 -.word spectrum_op_CB_11 -.word spectrum_op_CB_12 -.word spectrum_op_CB_13 -.word spectrum_op_CB_14 -.word spectrum_op_CB_15 -.word spectrum_op_CB_16 -.word spectrum_op_CB_17 -.word spectrum_op_CB_18 -.word spectrum_op_CB_19 -.word spectrum_op_CB_1A -.word spectrum_op_CB_1B -.word spectrum_op_CB_1C -.word spectrum_op_CB_1D -.word spectrum_op_CB_1E -.word spectrum_op_CB_1F -.word spectrum_op_CB_20 -.word spectrum_op_CB_21 -.word spectrum_op_CB_22 -.word spectrum_op_CB_23 -.word spectrum_op_CB_24 -.word spectrum_op_CB_25 -.word spectrum_op_CB_26 -.word spectrum_op_CB_27 -.word spectrum_op_CB_28 -.word spectrum_op_CB_29 -.word spectrum_op_CB_2A -.word spectrum_op_CB_2B -.word spectrum_op_CB_2C -.word spectrum_op_CB_2D -.word spectrum_op_CB_2E -.word spectrum_op_CB_2F -.word spectrum_op_CB_30 -.word spectrum_op_CB_31 -.word spectrum_op_CB_32 -.word spectrum_op_CB_33 -.word spectrum_op_CB_34 -.word spectrum_op_CB_35 -.word spectrum_op_CB_36 -.word spectrum_op_CB_37 -.word spectrum_op_CB_38 -.word spectrum_op_CB_39 -.word spectrum_op_CB_3A -.word spectrum_op_CB_3B -.word spectrum_op_CB_3C -.word spectrum_op_CB_3D -.word spectrum_op_CB_3E -.word spectrum_op_CB_3F - -/*D:8005C62C*/ -glabel jpt_8005C62C -.word spectrum_op_SET_x_B -.word spectrum_op_SET_x_C -.word spectrum_op_SET_x_D -.word spectrum_op_SET_x_E -.word spectrum_op_SET_x_H -.word spectrum_op_SET_x_L -.word spectrum_op_SET_x_HL -.word spectrum_op_SET_x_A - -/*D:8005C64C*/ -glabel jpt_8005C64C -.word spectrum_op_RES_x_B -.word spectrum_op_RES_x_C -.word spectrum_op_RES_x_D -.word spectrum_op_RES_x_E -.word spectrum_op_RES_x_H -.word spectrum_op_RES_x_L -.word spectrum_op_RES_x_HL -.word spectrum_op_RES_x_A - -/*D:8005C66C*/ -glabel jpt_8005C66C -.word spectrum_op_BIT_x_B -.word spectrum_op_BIT_x_C -.word spectrum_op_BIT_x_D -.word spectrum_op_BIT_x_E -.word spectrum_op_BIT_x_H -.word spectrum_op_BIT_x_L -.word spectrum_op_BIT_x_HL -.word spectrum_op_BIT_x_A - -/*D:8005C68C*/ -glabel jpt_8005C68C -.word .L7F0DC5C4 -.word .L7F0DC5CC -.word .L7F0DC5D4 -.word .L7F0DC5DC -.word .L7F0DC5E4 -.word .L7F0DC5EC -.word .L7F0E27FC -.word .L7F0DC5F4 - -/*D:8005C6AC*/ -glabel jpt_8005C6AC -.word spectrum_op_ED_A0 -.word spectrum_op_ED_A1 -.word spectrum_op_ED_A2 -.word spectrum_op_ED_A3 -.word .L7F0E1A6C -.word .L7F0E1A6C -.word .L7F0E1A6C -.word .L7F0E1A6C -.word spectrum_op_ED_A8 -.word spectrum_op_ED_A9 -.word spectrum_op_ED_AA -.word spectrum_op_ED_AB -.word .L7F0E1A6C -.word .L7F0E1A6C -.word .L7F0E1A6C -.word .L7F0E1A6C -.word spectrum_op_ED_B0 -.word spectrum_op_ED_B1 -.word spectrum_op_ED_B2 -.word spectrum_op_ED_B3 -.word .L7F0E1A6C -.word .L7F0E1A6C -.word .L7F0E1A6C -.word .L7F0E1A6C -.word spectrum_op_ED_B8 -.word spectrum_op_ED_B9 -.word spectrum_op_ED_BA -.word spectrum_op_ED_BB - -/*D:8005C71C*/ -glabel jpt_8005C71C -.word spectrum_op_ED_40 -.word spectrum_op_ED_41 -.word spectrum_op_ED_42 -.word spectrum_op_ED_43 -.word spectrum_op_ED_44 -.word spectrum_op_ED_45 -.word spectrum_op_ED_46 -.word spectrum_op_ED_47 -.word spectrum_op_ED_48 -.word spectrum_op_ED_49 -.word spectrum_op_ED_4A -.word spectrum_op_ED_4B -.word spectrum_op_ED_4C -.word spectrum_op_ED_4D -.word spectrum_op_ED_4E -.word spectrum_op_ED_4F -.word spectrum_op_ED_50 -.word spectrum_op_ED_51 -.word spectrum_op_ED_52 -.word spectrum_op_ED_53 -.word spectrum_op_ED_54 -.word spectrum_op_ED_55 -.word spectrum_op_ED_56 -.word spectrum_op_ED_57 -.word spectrum_op_ED_58 -.word spectrum_op_ED_59 -.word spectrum_op_ED_5A -.word spectrum_op_ED_5B -.word spectrum_op_ED_5C -.word spectrum_op_ED_5D -.word spectrum_op_ED_5E -.word spectrum_op_ED_5F -.word spectrum_op_ED_60 -.word spectrum_op_ED_61 -.word spectrum_op_ED_62 -.word spectrum_op_ED_63 -.word spectrum_op_ED_64 -.word spectrum_op_ED_65 -.word spectrum_op_ED_66 -.word spectrum_op_ED_67 -.word spectrum_op_ED_68 -.word spectrum_op_ED_69 -.word spectrum_op_ED_6A -.word spectrum_op_ED_6B -.word spectrum_op_ED_6C -.word spectrum_op_ED_6D -.word spectrum_op_ED_6E -.word spectrum_op_ED_6F -.word spectrum_op_ED_70 -.word spectrum_op_ED_71 -.word spectrum_op_ED_72 -.word spectrum_op_ED_73 -.word spectrum_op_ED_74 -.word spectrum_op_ED_75 -.word spectrum_op_ED_76 -.word .L7F0E1A6C -.word spectrum_op_ED_78 -.word spectrum_op_ED_79 -.word spectrum_op_ED_7A -.word spectrum_op_ED_7B -.word spectrum_op_ED_7C -.word spectrum_op_ED_7D -.word spectrum_op_ED_7E - -.text -glabel spectrum_hw_emulation -/* 10835C 7F0D382C 27BDFD50 */ addiu $sp, $sp, -0x2b0 -/* 108360 7F0D3830 3C0E0001 */ lui $t6, (0x00011100 >> 16) # lui $t6, 1 -/* 108364 7F0D3834 35CE1100 */ ori $t6, (0x00011100 & 0xFFFF) # ori $t6, $t6, 0x1100 -/* 108368 7F0D3838 AFAE0280 */ sw $t6, 0x280($sp) -/* 10836C 7F0D383C 3C0E8009 */ lui $t6, %hi(byte_CODE_bss_8008E341) -/* 108370 7F0D3840 91CEE341 */ lbu $t6, %lo(byte_CODE_bss_8008E341)($t6) -/* 108374 7F0D3844 3C0D8009 */ lui $t5, %hi(off_CODE_bss_8008E340) -/* 108378 7F0D3848 3C0F8009 */ lui $t7, %hi(byte_CODE_bss_8008E342) -/* 10837C 7F0D384C 3C188009 */ lui $t8, %hi(byte_CODE_bss_8008E343) -/* 108380 7F0D3850 3C198009 */ lui $t9, %hi(off_CODE_bss_8008E344) -/* 108384 7F0D3854 3C088009 */ lui $t0, %hi(byte_CODE_bss_8008E345) -/* 108388 7F0D3858 3C098009 */ lui $t1, %hi(byte_CODE_bss_8008E346) -/* 10838C 7F0D385C 91ADE340 */ lbu $t5, %lo(off_CODE_bss_8008E340)($t5) -/* 108390 7F0D3860 91EFE342 */ lbu $t7, %lo(byte_CODE_bss_8008E342)($t7) -/* 108394 7F0D3864 9318E343 */ lbu $t8, %lo(byte_CODE_bss_8008E343)($t8) -/* 108398 7F0D3868 9339E344 */ lbu $t9, %lo(off_CODE_bss_8008E344)($t9) -/* 10839C 7F0D386C 9108E345 */ lbu $t0, %lo(byte_CODE_bss_8008E345)($t0) -/* 1083A0 7F0D3870 9129E346 */ lbu $t1, %lo(byte_CODE_bss_8008E346)($t1) -/* 1083A4 7F0D3874 A3A002A5 */ sb $zero, 0x2a5($sp) -/* 1083A8 7F0D3878 A3A002A0 */ sb $zero, 0x2a0($sp) -/* 1083AC 7F0D387C A3A002A1 */ sb $zero, 0x2a1($sp) -/* 1083B0 7F0D3880 A3A002A2 */ sb $zero, 0x2a2($sp) -/* 1083B4 7F0D3884 A3A002A3 */ sb $zero, 0x2a3($sp) -/* 1083B8 7F0D3888 A3A002A4 */ sb $zero, 0x2a4($sp) -/* 1083BC 7F0D388C A3A002A6 */ sb $zero, 0x2a6($sp) -/* 1083C0 7F0D3890 A3AE02A5 */ sb $t6, 0x2a5($sp) -/* 1083C4 7F0D3894 3C0E8009 */ lui $t6, %hi(byte_CODE_bss_8008E349) -/* 1083C8 7F0D3898 A3AD02A6 */ sb $t5, 0x2a6($sp) -/* 1083CC 7F0D389C A3AF02A4 */ sb $t7, 0x2a4($sp) -/* 1083D0 7F0D38A0 A3B802A3 */ sb $t8, 0x2a3($sp) -/* 1083D4 7F0D38A4 A3B902A2 */ sb $t9, 0x2a2($sp) -/* 1083D8 7F0D38A8 A3A802A1 */ sb $t0, 0x2a1($sp) -/* 1083DC 7F0D38AC A3A902A0 */ sb $t1, 0x2a0($sp) -/* 1083E0 7F0D38B0 91CEE349 */ lbu $t6, %lo(byte_CODE_bss_8008E349)($t6) -/* 1083E4 7F0D38B4 3C0A8009 */ lui $t2, %hi(byte_CODE_bss_8008E347) -/* 1083E8 7F0D38B8 3C0B8009 */ lui $t3, %hi(spec_IFF2_lower) -/* 1083EC 7F0D38BC 3C0C8009 */ lui $t4, %hi(spec_IFF2_upper) -/* 1083F0 7F0D38C0 3C0D8009 */ lui $t5, %hi(spec_I) -/* 1083F4 7F0D38C4 3C0F8009 */ lui $t7, %hi(spec_IM) -/* 1083F8 7F0D38C8 3C188009 */ lui $t8, %hi(spec_IX) -/* 1083FC 7F0D38CC 3C198009 */ lui $t9, %hi(spec_IY) -/* 108400 7F0D38D0 3C088009 */ lui $t0, %hi(spec_SP) -/* 108404 7F0D38D4 3C098009 */ lui $t1, %hi(spec_PC) -/* 108408 7F0D38D8 914AE347 */ lbu $t2, %lo(byte_CODE_bss_8008E347)($t2) -/* 10840C 7F0D38DC 916BE34A */ lbu $t3, %lo(spec_IFF2_lower)($t3) -/* 108410 7F0D38E0 918CE34B */ lbu $t4, %lo(spec_IFF2_upper)($t4) -/* 108414 7F0D38E4 91ADE348 */ lbu $t5, %lo(spec_I)($t5) -/* 108418 7F0D38E8 91EFE34C */ lbu $t7, %lo(spec_IM)($t7) -/* 10841C 7F0D38EC 9718E34E */ lhu $t8, %lo(spec_IX)($t8) -/* 108420 7F0D38F0 9739E350 */ lhu $t9, %lo(spec_IY)($t9) -/* 108424 7F0D38F4 9508E352 */ lhu $t0, %lo(spec_SP)($t0) -/* 108428 7F0D38F8 9529E354 */ lhu $t1, %lo(spec_PC)($t1) -/* 10842C 7F0D38FC AFB70030 */ sw $s7, 0x30($sp) -/* 108430 7F0D3900 AFB6002C */ sw $s6, 0x2c($sp) -/* 108434 7F0D3904 AFB50028 */ sw $s5, 0x28($sp) -/* 108438 7F0D3908 AFB40024 */ sw $s4, 0x24($sp) -/* 10843C 7F0D390C AFB30020 */ sw $s3, 0x20($sp) -/* 108440 7F0D3910 AFB2001C */ sw $s2, 0x1c($sp) -/* 108444 7F0D3914 AFB10018 */ sw $s1, 0x18($sp) -/* 108448 7F0D3918 AFB00014 */ sw $s0, 0x14($sp) -/* 10844C 7F0D391C 3C010001 */ lui $at, (0x00011100 >> 16) # lui $at, 1 -/* 108450 7F0D3920 A3A0029B */ sb $zero, 0x29b($sp) -/* 108454 7F0D3924 A3A0029C */ sb $zero, 0x29c($sp) -/* 108458 7F0D3928 A3A0029D */ sb $zero, 0x29d($sp) -/* 10845C 7F0D392C A3A002A7 */ sb $zero, 0x2a7($sp) -/* 108460 7F0D3930 A3A0029E */ sb $zero, 0x29e($sp) -/* 108464 7F0D3934 A3A0029F */ sb $zero, 0x29f($sp) -/* 108468 7F0D3938 A7A00298 */ sh $zero, 0x298($sp) -/* 10846C 7F0D393C A7A00292 */ sh $zero, 0x292($sp) -/* 108470 7F0D3940 A7A00294 */ sh $zero, 0x294($sp) -/* 108474 7F0D3944 A7A00296 */ sh $zero, 0x296($sp) -/* 108478 7F0D3948 AFA00288 */ sw $zero, 0x288($sp) -/* 10847C 7F0D394C 3C108009 */ lui $s0, %hi(spectrum_header16_15) -/* 108480 7F0D3950 3C118009 */ lui $s1, %hi(byte_CODE_bss_8008E339) -/* 108484 7F0D3954 3C128009 */ lui $s2, %hi(byte_CODE_bss_8008E33A) -/* 108488 7F0D3958 3C138009 */ lui $s3, %hi(byte_CODE_bss_8008E33B) -/* 10848C 7F0D395C 3C148009 */ lui $s4, %hi(off_CODE_bss_8008E33C) -/* 108490 7F0D3960 3C158009 */ lui $s5, %hi(byte_CODE_bss_8008E33D) -/* 108494 7F0D3964 3C168009 */ lui $s6, %hi(byte_CODE_bss_8008E33E) -/* 108498 7F0D3968 3C178009 */ lui $s7, %hi(byte_CODE_bss_8008E33F) -/* 10849C 7F0D396C 34211100 */ ori $at, (0x00011100 & 0xFFFF) # ori $at, $at, 0x1100 -/* 1084A0 7F0D3970 AFBF0034 */ sw $ra, 0x34($sp) -/* 1084A4 7F0D3974 A3A00286 */ sb $zero, 0x286($sp) -/* 1084A8 7F0D3978 A3A00287 */ sb $zero, 0x287($sp) -/* 1084AC 7F0D397C AFA0028C */ sw $zero, 0x28c($sp) -/* 1084B0 7F0D3980 9210E338 */ lbu $s0, %lo(spectrum_header16_15)($s0) -/* 1084B4 7F0D3984 9231E339 */ lbu $s1, %lo(byte_CODE_bss_8008E339)($s1) -/* 1084B8 7F0D3988 9252E33A */ lbu $s2, %lo(byte_CODE_bss_8008E33A)($s2) -/* 1084BC 7F0D398C 9273E33B */ lbu $s3, %lo(byte_CODE_bss_8008E33B)($s3) -/* 1084C0 7F0D3990 9294E33C */ lbu $s4, %lo(off_CODE_bss_8008E33C)($s4) -/* 1084C4 7F0D3994 92B5E33D */ lbu $s5, %lo(byte_CODE_bss_8008E33D)($s5) -/* 1084C8 7F0D3998 92D6E33E */ lbu $s6, %lo(byte_CODE_bss_8008E33E)($s6) -/* 1084CC 7F0D399C 92F7E33F */ lbu $s7, %lo(byte_CODE_bss_8008E33F)($s7) -/* 1084D0 7F0D39A0 A3AE02A7 */ sb $t6, 0x2a7($sp) -/* 1084D4 7F0D39A4 AFAE0288 */ sw $t6, 0x288($sp) -/* 1084D8 7F0D39A8 A3AA029F */ sb $t2, 0x29f($sp) -/* 1084DC 7F0D39AC A3AB029D */ sb $t3, 0x29d($sp) -/* 1084E0 7F0D39B0 A3AC029C */ sb $t4, 0x29c($sp) -/* 1084E4 7F0D39B4 A3AD029E */ sb $t5, 0x29e($sp) -/* 1084E8 7F0D39B8 A3AF029B */ sb $t7, 0x29b($sp) -/* 1084EC 7F0D39BC A7B80296 */ sh $t8, 0x296($sp) -/* 1084F0 7F0D39C0 A7B90294 */ sh $t9, 0x294($sp) -/* 1084F4 7F0D39C4 A7A80292 */ sh $t0, 0x292($sp) -/* 1084F8 7F0D39C8 14200003 */ bnez $at, .L7F0D39D8 -/* 1084FC 7F0D39CC A7A90298 */ sh $t1, 0x298($sp) -/* 108500 7F0D39D0 93AB0285 */ lbu $t3, 0x285($sp) -/* 108504 7F0D39D4 15603B91 */ bnez $t3, .L7F0E281C -.L7F0D39D8: -/* 108508 7F0D39D8 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10850C 7F0D39DC 93AC0286 */ lbu $t4, 0x286($sp) -/* 108510 7F0D39E0 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 108514 7F0D39E4 97AE0298 */ lhu $t6, 0x298($sp) -/* 108518 7F0D39E8 240D0001 */ li $t5, 1 -/* 10851C 7F0D39EC A3A00286 */ sb $zero, 0x286($sp) -/* 108520 7F0D39F0 A3AD0285 */ sb $t5, 0x285($sp) -/* 108524 7F0D39F4 A3AC0287 */ sb $t4, 0x287($sp) -/* 108528 7F0D39F8 01CFC021 */ addu $t8, $t6, $t7 -/* 10852C 7F0D39FC 93190000 */ lbu $t9, ($t8) -/* 108530 7F0D3A00 8FA90288 */ lw $t1, 0x288($sp) -/* 108534 7F0D3A04 25C80001 */ addiu $t0, $t6, 1 -/* 108538 7F0D3A08 332B00FF */ andi $t3, $t9, 0xff -/* 10853C 7F0D3A0C 2D610100 */ sltiu $at, $t3, 0x100 -/* 108540 7F0D3A10 252A0001 */ addiu $t2, $t1, 1 -/* 108544 7F0D3A14 A7A80298 */ sh $t0, 0x298($sp) -/* 108548 7F0D3A18 AFAA0288 */ sw $t2, 0x288($sp) -/* 10854C 7F0D3A1C 10203B77 */ beqz $at, .L7F0E27FC -/* 108550 7F0D3A20 A3B90284 */ sb $t9, 0x284($sp) -/* 108554 7F0D3A24 000B5880 */ sll $t3, $t3, 2 -/* 108558 7F0D3A28 3C018006 */ lui $at, %hi(spectrum_op_table) -/* 10855C 7F0D3A2C 002B0821 */ addu $at, $at, $t3 -/* 108560 7F0D3A30 8C2BC12C */ lw $t3, %lo(spectrum_op_table)($at) -/* 108564 7F0D3A34 01600008 */ jr $t3 -/* 108568 7F0D3A38 00000000 */ nop -spectrum_op_00: -/* 10856C 7F0D3A3C 8FAC028C */ lw $t4, 0x28c($sp) -/* 108570 7F0D3A40 258D0004 */ addiu $t5, $t4, 4 -/* 108574 7F0D3A44 10003B6D */ b .L7F0E27FC -/* 108578 7F0D3A48 AFAD028C */ sw $t5, 0x28c($sp) -spectrum_op_01: -/* 10857C 7F0D3A4C 8FAF028C */ lw $t7, 0x28c($sp) -/* 108580 7F0D3A50 97B90298 */ lhu $t9, 0x298($sp) -/* 108584 7F0D3A54 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 108588 7F0D3A58 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10858C 7F0D3A5C 25F8000A */ addiu $t8, $t7, 0xa -/* 108590 7F0D3A60 AFB8028C */ sw $t8, 0x28c($sp) -/* 108594 7F0D3A64 272C0001 */ addiu $t4, $t9, 1 -/* 108598 7F0D3A68 032E4021 */ addu $t0, $t9, $t6 -/* 10859C 7F0D3A6C 91130000 */ lbu $s3, ($t0) -/* 1085A0 7F0D3A70 318AFFFF */ andi $t2, $t4, 0xffff -/* 1085A4 7F0D3A74 A7AC0298 */ sh $t4, 0x298($sp) -/* 1085A8 7F0D3A78 014E5821 */ addu $t3, $t2, $t6 -/* 1085AC 7F0D3A7C 91720000 */ lbu $s2, ($t3) -/* 1085B0 7F0D3A80 258D0001 */ addiu $t5, $t4, 1 -/* 1085B4 7F0D3A84 10003B5D */ b .L7F0E27FC -/* 1085B8 7F0D3A88 A7AD0298 */ sh $t5, 0x298($sp) -spectrum_op_02: -/* 1085BC 7F0D3A8C 8FAF028C */ lw $t7, 0x28c($sp) -/* 1085C0 7F0D3A90 00124200 */ sll $t0, $s2, 8 -/* 1085C4 7F0D3A94 0113C825 */ or $t9, $t0, $s3 -/* 1085C8 7F0D3A98 2B215B00 */ slti $at, $t9, 0x5b00 -/* 1085CC 7F0D3A9C 25F80007 */ addiu $t8, $t7, 7 -/* 1085D0 7F0D3AA0 14200008 */ bnez $at, .L7F0D3AC4 -/* 1085D4 7F0D3AA4 AFB8028C */ sw $t8, 0x28c($sp) -/* 1085D8 7F0D3AA8 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 1085DC 7F0D3AAC 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 1085E0 7F0D3AB0 00127200 */ sll $t6, $s2, 8 -/* 1085E4 7F0D3AB4 01D35825 */ or $t3, $t6, $s3 -/* 1085E8 7F0D3AB8 014B4821 */ addu $t1, $t2, $t3 -/* 1085EC 7F0D3ABC 10003B4F */ b .L7F0E27FC -/* 1085F0 7F0D3AC0 A1300000 */ sb $s0, ($t1) -.L7F0D3AC4: -/* 1085F4 7F0D3AC4 00126200 */ sll $t4, $s2, 8 -/* 1085F8 7F0D3AC8 01936825 */ or $t5, $t4, $s3 -/* 1085FC 7F0D3ACC 29A15800 */ slti $at, $t5, 0x5800 -/* 108600 7F0D3AD0 1420000F */ bnez $at, .L7F0D3B10 -/* 108604 7F0D3AD4 00126A00 */ sll $t5, $s2, 8 -/* 108608 7F0D3AD8 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10860C 7F0D3ADC 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 108610 7F0D3AE0 0012C200 */ sll $t8, $s2, 8 -/* 108614 7F0D3AE4 03134025 */ or $t0, $t8, $s3 -/* 108618 7F0D3AE8 01E8C821 */ addu $t9, $t7, $t0 -/* 10861C 7F0D3AEC A3300000 */ sb $s0, ($t9) -/* 108620 7F0D3AF0 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 108624 7F0D3AF4 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 108628 7F0D3AF8 00125A00 */ sll $t3, $s2, 8 -/* 10862C 7F0D3AFC 01734825 */ or $t1, $t3, $s3 -/* 108630 7F0D3B00 240E0001 */ li $t6, 1 -/* 108634 7F0D3B04 01496021 */ addu $t4, $t2, $t1 -/* 108638 7F0D3B08 10003B3C */ b .L7F0E27FC -/* 10863C 7F0D3B0C A18EA800 */ sb $t6, -0x5800($t4) -.L7F0D3B10: -/* 108640 7F0D3B10 01B3C025 */ or $t8, $t5, $s3 -/* 108644 7F0D3B14 2B014000 */ slti $at, $t8, 0x4000 -/* 108648 7F0D3B18 14203B38 */ bnez $at, .L7F0E27FC -/* 10864C 7F0D3B1C 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 108650 7F0D3B20 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 108654 7F0D3B24 00124200 */ sll $t0, $s2, 8 -/* 108658 7F0D3B28 0113C825 */ or $t9, $t0, $s3 -/* 10865C 7F0D3B2C 01F95821 */ addu $t3, $t7, $t9 -/* 108660 7F0D3B30 A1700000 */ sb $s0, ($t3) -/* 108664 7F0D3B34 00124A00 */ sll $t1, $s2, 8 -/* 108668 7F0D3B38 01337025 */ or $t6, $t1, $s3 -/* 10866C 7F0D3B3C 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 108670 7F0D3B40 0012C200 */ sll $t8, $s2, 8 -/* 108674 7F0D3B44 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 108678 7F0D3B48 03134025 */ or $t0, $t8, $s3 -/* 10867C 7F0D3B4C 31CC1800 */ andi $t4, $t6, 0x1800 -/* 108680 7F0D3B50 000C68C3 */ sra $t5, $t4, 3 -/* 108684 7F0D3B54 310F00FF */ andi $t7, $t0, 0xff -/* 108688 7F0D3B58 01AFC825 */ or $t9, $t5, $t7 -/* 10868C 7F0D3B5C 240A0001 */ li $t2, 1 -/* 108690 7F0D3B60 01794821 */ addu $t1, $t3, $t9 -/* 108694 7F0D3B64 10003B25 */ b .L7F0E27FC -/* 108698 7F0D3B68 A12A0000 */ sb $t2, ($t1) -spectrum_op_03: -/* 10869C 7F0D3B6C 8FAE028C */ lw $t6, 0x28c($sp) -/* 1086A0 7F0D3B70 26730001 */ addiu $s3, $s3, 1 -/* 1086A4 7F0D3B74 327800FF */ andi $t8, $s3, 0xff -/* 1086A8 7F0D3B78 25CC0006 */ addiu $t4, $t6, 6 -/* 1086AC 7F0D3B7C AFAC028C */ sw $t4, 0x28c($sp) -/* 1086B0 7F0D3B80 17003B1E */ bnez $t8, .L7F0E27FC -/* 1086B4 7F0D3B84 03009825 */ move $s3, $t8 -/* 1086B8 7F0D3B88 26520001 */ addiu $s2, $s2, 1 -/* 1086BC 7F0D3B8C 324800FF */ andi $t0, $s2, 0xff -/* 1086C0 7F0D3B90 10003B1A */ b .L7F0E27FC -/* 1086C4 7F0D3B94 01009025 */ move $s2, $t0 -spectrum_op_04: -/* 1086C8 7F0D3B98 26520001 */ addiu $s2, $s2, 1 -/* 1086CC 7F0D3B9C 324B00FF */ andi $t3, $s2, 0xff -/* 1086D0 7F0D3BA0 8FAD028C */ lw $t5, 0x28c($sp) -/* 1086D4 7F0D3BA4 316A000F */ andi $t2, $t3, 0xf -/* 1086D8 7F0D3BA8 2D490001 */ sltiu $t1, $t2, 1 -/* 1086DC 7F0D3BAC 01609025 */ move $s2, $t3 -/* 1086E0 7F0D3BB0 2D790001 */ sltiu $t9, $t3, 1 -/* 1086E4 7F0D3BB4 316C00A8 */ andi $t4, $t3, 0xa8 -/* 1086E8 7F0D3BB8 322E0001 */ andi $t6, $s1, 1 -/* 1086EC 7F0D3BBC 01CCC025 */ or $t8, $t6, $t4 -/* 1086F0 7F0D3BC0 3A4A0080 */ xori $t2, $s2, 0x80 -/* 1086F4 7F0D3BC4 00094100 */ sll $t0, $t1, 4 -/* 1086F8 7F0D3BC8 25AF0004 */ addiu $t7, $t5, 4 -/* 1086FC 7F0D3BCC 03086825 */ or $t5, $t8, $t0 -/* 108700 7F0D3BD0 2D4A0001 */ sltiu $t2, $t2, 1 -/* 108704 7F0D3BD4 00195980 */ sll $t3, $t9, 6 -/* 108708 7F0D3BD8 AFB90044 */ sw $t9, 0x44($sp) -/* 10870C 7F0D3BDC 01ABC825 */ or $t9, $t5, $t3 -/* 108710 7F0D3BE0 000A7080 */ sll $t6, $t2, 2 -/* 108714 7F0D3BE4 032E8825 */ or $s1, $t9, $t6 -/* 108718 7F0D3BE8 322C00FF */ andi $t4, $s1, 0xff -/* 10871C 7F0D3BEC AFAF028C */ sw $t7, 0x28c($sp) -/* 108720 7F0D3BF0 01808825 */ move $s1, $t4 -/* 108724 7F0D3BF4 10003B01 */ b .L7F0E27FC -/* 108728 7F0D3BF8 AFA90048 */ sw $t1, 0x48($sp) -spectrum_op_05: -/* 10872C 7F0D3BFC 8FA9028C */ lw $t1, 0x28c($sp) -/* 108730 7F0D3C00 3248000F */ andi $t0, $s2, 0xf -/* 108734 7F0D3C04 2652FFFF */ addiu $s2, $s2, -1 -/* 108738 7F0D3C08 25380004 */ addiu $t8, $t1, 4 -/* 10873C 7F0D3C0C AFB8028C */ sw $t8, 0x28c($sp) -/* 108740 7F0D3C10 324E00FF */ andi $t6, $s2, 0xff -/* 108744 7F0D3C14 2D0F0001 */ sltiu $t7, $t0, 1 -/* 108748 7F0D3C18 000F5900 */ sll $t3, $t7, 4 -/* 10874C 7F0D3C1C 39D8007F */ xori $t8, $t6, 0x7f -/* 108750 7F0D3C20 2F180001 */ sltiu $t8, $t8, 1 -/* 108754 7F0D3C24 322D0001 */ andi $t5, $s1, 1 -/* 108758 7F0D3C28 01AB8825 */ or $s1, $t5, $t3 -/* 10875C 7F0D3C2C 00184080 */ sll $t0, $t8, 2 -/* 108760 7F0D3C30 AFAF0048 */ sw $t7, 0x48($sp) -/* 108764 7F0D3C34 2DCC0001 */ sltiu $t4, $t6, 1 -/* 108768 7F0D3C38 31C900A8 */ andi $t1, $t6, 0xa8 -/* 10876C 7F0D3C3C 01287825 */ or $t7, $t1, $t0 -/* 108770 7F0D3C40 000C5980 */ sll $t3, $t4, 6 -/* 108774 7F0D3C44 01EB5025 */ or $t2, $t7, $t3 -/* 108778 7F0D3C48 36390002 */ ori $t9, $s1, 2 -/* 10877C 7F0D3C4C 032A8825 */ or $s1, $t9, $t2 -/* 108780 7F0D3C50 323900FF */ andi $t9, $s1, 0xff -/* 108784 7F0D3C54 03208825 */ move $s1, $t9 -/* 108788 7F0D3C58 AFAC0044 */ sw $t4, 0x44($sp) -/* 10878C 7F0D3C5C 10003AE7 */ b .L7F0E27FC -/* 108790 7F0D3C60 01C09025 */ move $s2, $t6 -spectrum_op_06: -/* 108794 7F0D3C64 8FAE028C */ lw $t6, 0x28c($sp) -/* 108798 7F0D3C68 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10879C 7F0D3C6C 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 1087A0 7F0D3C70 97B80298 */ lhu $t8, 0x298($sp) -/* 1087A4 7F0D3C74 25CC0007 */ addiu $t4, $t6, 7 -/* 1087A8 7F0D3C78 AFAC028C */ sw $t4, 0x28c($sp) -/* 1087AC 7F0D3C7C 03094021 */ addu $t0, $t8, $t1 -/* 1087B0 7F0D3C80 91120000 */ lbu $s2, ($t0) -/* 1087B4 7F0D3C84 270D0001 */ addiu $t5, $t8, 1 -/* 1087B8 7F0D3C88 10003ADC */ b .L7F0E27FC -/* 1087BC 7F0D3C8C A7AD0298 */ sh $t5, 0x298($sp) -spectrum_op_07: -/* 1087C0 7F0D3C90 00105040 */ sll $t2, $s0, 1 -/* 1087C4 7F0D3C94 0010C9C3 */ sra $t9, $s0, 7 -/* 1087C8 7F0D3C98 01598025 */ or $s0, $t2, $t9 -/* 1087CC 7F0D3C9C 8FAF028C */ lw $t7, 0x28c($sp) -/* 1087D0 7F0D3CA0 320E00FF */ andi $t6, $s0, 0xff -/* 1087D4 7F0D3CA4 31C90029 */ andi $t1, $t6, 0x29 -/* 1087D8 7F0D3CA8 322C00C4 */ andi $t4, $s1, 0xc4 -/* 1087DC 7F0D3CAC 01898825 */ or $s1, $t4, $t1 -/* 1087E0 7F0D3CB0 322800FF */ andi $t0, $s1, 0xff -/* 1087E4 7F0D3CB4 25EB0004 */ addiu $t3, $t7, 4 -/* 1087E8 7F0D3CB8 AFAB028C */ sw $t3, 0x28c($sp) -/* 1087EC 7F0D3CBC 01C08025 */ move $s0, $t6 -/* 1087F0 7F0D3CC0 10003ACE */ b .L7F0E27FC -/* 1087F4 7F0D3CC4 01008825 */ move $s1, $t0 -spectrum_op_08: -/* 1087F8 7F0D3CC8 8FB8028C */ lw $t8, 0x28c($sp) -/* 1087FC 7F0D3CCC A3B0027F */ sb $s0, 0x27f($sp) -/* 108800 7F0D3CD0 A3B1027E */ sb $s1, 0x27e($sp) -/* 108804 7F0D3CD4 93AF027F */ lbu $t7, 0x27f($sp) -/* 108808 7F0D3CD8 93AB027E */ lbu $t3, 0x27e($sp) -/* 10880C 7F0D3CDC 93B002A6 */ lbu $s0, 0x2a6($sp) -/* 108810 7F0D3CE0 93B102A5 */ lbu $s1, 0x2a5($sp) -/* 108814 7F0D3CE4 270D0004 */ addiu $t5, $t8, 4 -/* 108818 7F0D3CE8 AFAD028C */ sw $t5, 0x28c($sp) -/* 10881C 7F0D3CEC A3AF02A6 */ sb $t7, 0x2a6($sp) -/* 108820 7F0D3CF0 10003AC2 */ b .L7F0E27FC -/* 108824 7F0D3CF4 A3AB02A5 */ sb $t3, 0x2a5($sp) -spectrum_op_09: -/* 108828 7F0D3CF8 8FAA028C */ lw $t2, 0x28c($sp) -/* 10882C 7F0D3CFC 93AE0287 */ lbu $t6, 0x287($sp) -/* 108830 7F0D3D00 93A90287 */ lbu $t1, 0x287($sp) -/* 108834 7F0D3D04 2559000B */ addiu $t9, $t2, 0xb -/* 108838 7F0D3D08 15C0001C */ bnez $t6, .L7F0D3D7C -/* 10883C 7F0D3D0C AFB9028C */ sw $t9, 0x28c($sp) -/* 108840 7F0D3D10 02F36021 */ addu $t4, $s7, $s3 -/* 108844 7F0D3D14 3189FFFF */ andi $t1, $t4, 0xffff -/* 108848 7F0D3D18 00094202 */ srl $t0, $t1, 8 -/* 10884C 7F0D3D1C 310DFFFF */ andi $t5, $t0, 0xffff -/* 108850 7F0D3D20 32D8000F */ andi $t8, $s6, 0xf -/* 108854 7F0D3D24 01B87821 */ addu $t7, $t5, $t8 -/* 108858 7F0D3D28 324B000F */ andi $t3, $s2, 0xf -/* 10885C 7F0D3D2C 01EB5021 */ addu $t2, $t7, $t3 -/* 108860 7F0D3D30 A7AC027C */ sh $t4, 0x27c($sp) -/* 108864 7F0D3D34 2401000F */ li $at, 15 -/* 108868 7F0D3D38 002AC82A */ slt $t9, $at, $t2 -/* 10886C 7F0D3D3C 93B7027D */ lbu $s7, 0x27d($sp) -/* 108870 7F0D3D40 02D26821 */ addu $t5, $s6, $s2 -/* 108874 7F0D3D44 010D5021 */ addu $t2, $t0, $t5 -/* 108878 7F0D3D48 A7A8027C */ sh $t0, 0x27c($sp) -/* 10887C 7F0D3D4C A7AA027C */ sh $t2, 0x27c($sp) -/* 108880 7F0D3D50 93B6027D */ lbu $s6, 0x27d($sp) -/* 108884 7F0D3D54 00197100 */ sll $t6, $t9, 4 -/* 108888 7F0D3D58 322C00C4 */ andi $t4, $s1, 0xc4 -/* 10888C 7F0D3D5C 01CC4825 */ or $t1, $t6, $t4 -/* 108890 7F0D3D60 000ACA03 */ sra $t9, $t2, 8 -/* 108894 7F0D3D64 32CB0028 */ andi $t3, $s6, 0x28 -/* 108898 7F0D3D68 01797025 */ or $t6, $t3, $t9 -/* 10889C 7F0D3D6C 012E8825 */ or $s1, $t1, $t6 -/* 1088A0 7F0D3D70 322C00FF */ andi $t4, $s1, 0xff -/* 1088A4 7F0D3D74 10003AA1 */ b .L7F0E27FC -/* 1088A8 7F0D3D78 01808825 */ move $s1, $t4 -.L7F0D3D7C: -/* 1088AC 7F0D3D7C 24010001 */ li $at, 1 -/* 1088B0 7F0D3D80 15210004 */ bne $t1, $at, .L7F0D3D94 -/* 1088B4 7F0D3D84 00125200 */ sll $t2, $s2, 8 -/* 1088B8 7F0D3D88 97A80296 */ lhu $t0, 0x296($sp) -/* 1088BC 7F0D3D8C 10000003 */ b .L7F0D3D9C -/* 1088C0 7F0D3D90 AFA80278 */ sw $t0, 0x278($sp) -.L7F0D3D94: -/* 1088C4 7F0D3D94 97B80294 */ lhu $t8, 0x294($sp) -/* 1088C8 7F0D3D98 AFB80278 */ sw $t8, 0x278($sp) -.L7F0D3D9C: -/* 1088CC 7F0D3D9C 8FAD0278 */ lw $t5, 0x278($sp) -/* 1088D0 7F0D3DA0 01535825 */ or $t3, $t2, $s3 -/* 1088D4 7F0D3DA4 24010FFF */ li $at, 4095 -/* 1088D8 7F0D3DA8 31AF0FFF */ andi $t7, $t5, 0xfff -/* 1088DC 7F0D3DAC 01EBC821 */ addu $t9, $t7, $t3 -/* 1088E0 7F0D3DB0 0039702B */ sltu $t6, $at, $t9 -/* 1088E4 7F0D3DB4 93AB0287 */ lbu $t3, 0x287($sp) -/* 1088E8 7F0D3DB8 000E6100 */ sll $t4, $t6, 4 -/* 1088EC 7F0D3DBC 322900C4 */ andi $t1, $s1, 0xc4 -/* 1088F0 7F0D3DC0 0012C200 */ sll $t8, $s2, 8 -/* 1088F4 7F0D3DC4 03135025 */ or $t2, $t8, $s3 -/* 1088F8 7F0D3DC8 012C8825 */ or $s1, $t1, $t4 -/* 1088FC 7F0D3DCC 322800FF */ andi $t0, $s1, 0xff -/* 108900 7F0D3DD0 24010001 */ li $at, 1 -/* 108904 7F0D3DD4 01AA7821 */ addu $t7, $t5, $t2 -/* 108908 7F0D3DD8 AFAF0278 */ sw $t7, 0x278($sp) -/* 10890C 7F0D3DDC 15610003 */ bne $t3, $at, .L7F0D3DEC -/* 108910 7F0D3DE0 01008825 */ move $s1, $t0 -/* 108914 7F0D3DE4 10000003 */ b .L7F0D3DF4 -/* 108918 7F0D3DE8 A7AF0296 */ sh $t7, 0x296($sp) -.L7F0D3DEC: -/* 10891C 7F0D3DEC 8FB90278 */ lw $t9, 0x278($sp) -/* 108920 7F0D3DF0 A7B90294 */ sh $t9, 0x294($sp) -.L7F0D3DF4: -/* 108924 7F0D3DF4 8FAE0278 */ lw $t6, 0x278($sp) -/* 108928 7F0D3DF8 000E4A02 */ srl $t1, $t6, 8 -/* 10892C 7F0D3DFC 312C0028 */ andi $t4, $t1, 0x28 -/* 108930 7F0D3E00 000E4402 */ srl $t0, $t6, 0x10 -/* 108934 7F0D3E04 0188C025 */ or $t8, $t4, $t0 -/* 108938 7F0D3E08 02388825 */ or $s1, $s1, $t8 -/* 10893C 7F0D3E0C 322D00FF */ andi $t5, $s1, 0xff -/* 108940 7F0D3E10 10003A7A */ b .L7F0E27FC -/* 108944 7F0D3E14 01A08825 */ move $s1, $t5 -spectrum_op_0A: -/* 108948 7F0D3E18 8FAA028C */ lw $t2, 0x28c($sp) -/* 10894C 7F0D3E1C 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 108950 7F0D3E20 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 108954 7F0D3E24 00127A00 */ sll $t7, $s2, 8 -/* 108958 7F0D3E28 01F3C825 */ or $t9, $t7, $s3 -/* 10895C 7F0D3E2C 254B0007 */ addiu $t3, $t2, 7 -/* 108960 7F0D3E30 AFAB028C */ sw $t3, 0x28c($sp) -/* 108964 7F0D3E34 03297021 */ addu $t6, $t9, $t1 -/* 108968 7F0D3E38 10003A70 */ b .L7F0E27FC -/* 10896C 7F0D3E3C 91D00000 */ lbu $s0, ($t6) -spectrum_op_0B: -/* 108970 7F0D3E40 8FAC028C */ lw $t4, 0x28c($sp) -/* 108974 7F0D3E44 2E780001 */ sltiu $t8, $s3, 1 -/* 108978 7F0D3E48 2673FFFF */ addiu $s3, $s3, -1 -/* 10897C 7F0D3E4C 326D00FF */ andi $t5, $s3, 0xff -/* 108980 7F0D3E50 25880006 */ addiu $t0, $t4, 6 -/* 108984 7F0D3E54 AFA8028C */ sw $t0, 0x28c($sp) -/* 108988 7F0D3E58 01A09825 */ move $s3, $t5 -/* 10898C 7F0D3E5C 13003A67 */ beqz $t8, .L7F0E27FC -/* 108990 7F0D3E60 AFB80048 */ sw $t8, 0x48($sp) -/* 108994 7F0D3E64 2652FFFF */ addiu $s2, $s2, -1 -/* 108998 7F0D3E68 324B00FF */ andi $t3, $s2, 0xff -/* 10899C 7F0D3E6C 10003A63 */ b .L7F0E27FC -/* 1089A0 7F0D3E70 01609025 */ move $s2, $t3 -spectrum_op_0C: -/* 1089A4 7F0D3E74 26730001 */ addiu $s3, $s3, 1 -/* 1089A8 7F0D3E78 326900FF */ andi $t1, $s3, 0xff -/* 1089AC 7F0D3E7C 8FAF028C */ lw $t7, 0x28c($sp) -/* 1089B0 7F0D3E80 312C000F */ andi $t4, $t1, 0xf -/* 1089B4 7F0D3E84 2D880001 */ sltiu $t0, $t4, 1 -/* 1089B8 7F0D3E88 01209825 */ move $s3, $t1 -/* 1089BC 7F0D3E8C 2D2E0001 */ sltiu $t6, $t1, 1 -/* 1089C0 7F0D3E90 312D00A8 */ andi $t5, $t1, 0xa8 -/* 1089C4 7F0D3E94 32380001 */ andi $t8, $s1, 1 -/* 1089C8 7F0D3E98 030D5025 */ or $t2, $t8, $t5 -/* 1089CC 7F0D3E9C 3A6C0080 */ xori $t4, $s3, 0x80 -/* 1089D0 7F0D3EA0 00085900 */ sll $t3, $t0, 4 -/* 1089D4 7F0D3EA4 25F90004 */ addiu $t9, $t7, 4 -/* 1089D8 7F0D3EA8 014B7825 */ or $t7, $t2, $t3 -/* 1089DC 7F0D3EAC 2D8C0001 */ sltiu $t4, $t4, 1 -/* 1089E0 7F0D3EB0 000E4980 */ sll $t1, $t6, 6 -/* 1089E4 7F0D3EB4 AFAE0044 */ sw $t6, 0x44($sp) -/* 1089E8 7F0D3EB8 01E97025 */ or $t6, $t7, $t1 -/* 1089EC 7F0D3EBC 000CC080 */ sll $t8, $t4, 2 -/* 1089F0 7F0D3EC0 01D88825 */ or $s1, $t6, $t8 -/* 1089F4 7F0D3EC4 322D00FF */ andi $t5, $s1, 0xff -/* 1089F8 7F0D3EC8 AFB9028C */ sw $t9, 0x28c($sp) -/* 1089FC 7F0D3ECC 01A08825 */ move $s1, $t5 -/* 108A00 7F0D3ED0 10003A4A */ b .L7F0E27FC -/* 108A04 7F0D3ED4 AFA80048 */ sw $t0, 0x48($sp) -spectrum_op_0D: -/* 108A08 7F0D3ED8 8FA8028C */ lw $t0, 0x28c($sp) -/* 108A0C 7F0D3EDC 326B000F */ andi $t3, $s3, 0xf -/* 108A10 7F0D3EE0 2673FFFF */ addiu $s3, $s3, -1 -/* 108A14 7F0D3EE4 250A0004 */ addiu $t2, $t0, 4 -/* 108A18 7F0D3EE8 AFAA028C */ sw $t2, 0x28c($sp) -/* 108A1C 7F0D3EEC 327800FF */ andi $t8, $s3, 0xff -/* 108A20 7F0D3EF0 2D790001 */ sltiu $t9, $t3, 1 -/* 108A24 7F0D3EF4 00194900 */ sll $t1, $t9, 4 -/* 108A28 7F0D3EF8 3B0A007F */ xori $t2, $t8, 0x7f -/* 108A2C 7F0D3EFC 2D4A0001 */ sltiu $t2, $t2, 1 -/* 108A30 7F0D3F00 322F0001 */ andi $t7, $s1, 1 -/* 108A34 7F0D3F04 01E98825 */ or $s1, $t7, $t1 -/* 108A38 7F0D3F08 000A5880 */ sll $t3, $t2, 2 -/* 108A3C 7F0D3F0C AFB90048 */ sw $t9, 0x48($sp) -/* 108A40 7F0D3F10 2F0D0001 */ sltiu $t5, $t8, 1 -/* 108A44 7F0D3F14 330800A8 */ andi $t0, $t8, 0xa8 -/* 108A48 7F0D3F18 010BC825 */ or $t9, $t0, $t3 -/* 108A4C 7F0D3F1C 000D4980 */ sll $t1, $t5, 6 -/* 108A50 7F0D3F20 03296025 */ or $t4, $t9, $t1 -/* 108A54 7F0D3F24 362E0002 */ ori $t6, $s1, 2 -/* 108A58 7F0D3F28 01CC8825 */ or $s1, $t6, $t4 -/* 108A5C 7F0D3F2C 322E00FF */ andi $t6, $s1, 0xff -/* 108A60 7F0D3F30 01C08825 */ move $s1, $t6 -/* 108A64 7F0D3F34 AFAD0044 */ sw $t5, 0x44($sp) -/* 108A68 7F0D3F38 10003A30 */ b .L7F0E27FC -/* 108A6C 7F0D3F3C 03009825 */ move $s3, $t8 -spectrum_op_0E: -/* 108A70 7F0D3F40 8FB8028C */ lw $t8, 0x28c($sp) -/* 108A74 7F0D3F44 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 108A78 7F0D3F48 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 108A7C 7F0D3F4C 97AA0298 */ lhu $t2, 0x298($sp) -/* 108A80 7F0D3F50 270D0007 */ addiu $t5, $t8, 7 -/* 108A84 7F0D3F54 AFAD028C */ sw $t5, 0x28c($sp) -/* 108A88 7F0D3F58 01485821 */ addu $t3, $t2, $t0 -/* 108A8C 7F0D3F5C 91730000 */ lbu $s3, ($t3) -/* 108A90 7F0D3F60 254F0001 */ addiu $t7, $t2, 1 -/* 108A94 7F0D3F64 10003A25 */ b .L7F0E27FC -/* 108A98 7F0D3F68 A7AF0298 */ sh $t7, 0x298($sp) -spectrum_op_0F: -/* 108A9C 7F0D3F6C 320E0001 */ andi $t6, $s0, 1 -/* 108AA0 7F0D3F70 00106843 */ sra $t5, $s0, 1 -/* 108AA4 7F0D3F74 001041C0 */ sll $t0, $s0, 7 -/* 108AA8 7F0D3F78 01A88025 */ or $s0, $t5, $t0 -/* 108AAC 7F0D3F7C 8FB9028C */ lw $t9, 0x28c($sp) -/* 108AB0 7F0D3F80 322C00C4 */ andi $t4, $s1, 0xc4 -/* 108AB4 7F0D3F84 320B00FF */ andi $t3, $s0, 0xff -/* 108AB8 7F0D3F88 018EC025 */ or $t8, $t4, $t6 -/* 108ABC 7F0D3F8C 316A0028 */ andi $t2, $t3, 0x28 -/* 108AC0 7F0D3F90 030A8825 */ or $s1, $t8, $t2 -/* 108AC4 7F0D3F94 322F00FF */ andi $t7, $s1, 0xff -/* 108AC8 7F0D3F98 27290004 */ addiu $t1, $t9, 4 -/* 108ACC 7F0D3F9C AFA9028C */ sw $t1, 0x28c($sp) -/* 108AD0 7F0D3FA0 01608025 */ move $s0, $t3 -/* 108AD4 7F0D3FA4 10003A15 */ b .L7F0E27FC -/* 108AD8 7F0D3FA8 01E08825 */ move $s1, $t7 -spectrum_op_10: -/* 108ADC 7F0D3FAC 8FB9028C */ lw $t9, 0x28c($sp) -/* 108AE0 7F0D3FB0 2652FFFF */ addiu $s2, $s2, -1 -/* 108AE4 7F0D3FB4 324C00FF */ andi $t4, $s2, 0xff -/* 108AE8 7F0D3FB8 27290008 */ addiu $t1, $t9, 8 -/* 108AEC 7F0D3FBC AFA9028C */ sw $t1, 0x28c($sp) -/* 108AF0 7F0D3FC0 15800005 */ bnez $t4, .L7F0D3FD8 -/* 108AF4 7F0D3FC4 01809025 */ move $s2, $t4 -/* 108AF8 7F0D3FC8 97AE0298 */ lhu $t6, 0x298($sp) -/* 108AFC 7F0D3FCC 25D80001 */ addiu $t8, $t6, 1 -/* 108B00 7F0D3FD0 10003A0A */ b .L7F0E27FC -/* 108B04 7F0D3FD4 A7B80298 */ sh $t8, 0x298($sp) -.L7F0D3FD8: -/* 108B08 7F0D3FD8 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 108B0C 7F0D3FDC 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 108B10 7F0D3FE0 97AD0298 */ lhu $t5, 0x298($sp) -/* 108B14 7F0D3FE4 8FA9028C */ lw $t1, 0x28c($sp) -/* 108B18 7F0D3FE8 01A85821 */ addu $t3, $t5, $t0 -/* 108B1C 7F0D3FEC 816A0000 */ lb $t2, ($t3) -/* 108B20 7F0D3FF0 252C0005 */ addiu $t4, $t1, 5 -/* 108B24 7F0D3FF4 AFAC028C */ sw $t4, 0x28c($sp) -/* 108B28 7F0D3FF8 01AA7821 */ addu $t7, $t5, $t2 -/* 108B2C 7F0D3FFC 25F90001 */ addiu $t9, $t7, 1 -/* 108B30 7F0D4000 A7B90298 */ sh $t9, 0x298($sp) -/* 108B34 7F0D4004 100039FD */ b .L7F0E27FC -/* 108B38 7F0D4008 AFAA0274 */ sw $t2, 0x274($sp) -spectrum_op_11: -/* 108B3C 7F0D400C 8FAE028C */ lw $t6, 0x28c($sp) -/* 108B40 7F0D4010 97A80298 */ lhu $t0, 0x298($sp) -/* 108B44 7F0D4014 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 108B48 7F0D4018 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 108B4C 7F0D401C 25D8000A */ addiu $t8, $t6, 0xa -/* 108B50 7F0D4020 AFB8028C */ sw $t8, 0x28c($sp) -/* 108B54 7F0D4024 25090001 */ addiu $t1, $t0, 1 -/* 108B58 7F0D4028 010B6821 */ addu $t5, $t0, $t3 -/* 108B5C 7F0D402C 91B50000 */ lbu $s5, ($t5) -/* 108B60 7F0D4030 312FFFFF */ andi $t7, $t1, 0xffff -/* 108B64 7F0D4034 A7A90298 */ sh $t1, 0x298($sp) -/* 108B68 7F0D4038 01EBC821 */ addu $t9, $t7, $t3 -/* 108B6C 7F0D403C 93340000 */ lbu $s4, ($t9) -/* 108B70 7F0D4040 252C0001 */ addiu $t4, $t1, 1 -/* 108B74 7F0D4044 100039ED */ b .L7F0E27FC -/* 108B78 7F0D4048 A7AC0298 */ sh $t4, 0x298($sp) -spectrum_op_12: -/* 108B7C 7F0D404C 8FAE028C */ lw $t6, 0x28c($sp) -/* 108B80 7F0D4050 00146A00 */ sll $t5, $s4, 8 -/* 108B84 7F0D4054 01B54025 */ or $t0, $t5, $s5 -/* 108B88 7F0D4058 29015B00 */ slti $at, $t0, 0x5b00 -/* 108B8C 7F0D405C 25D80007 */ addiu $t8, $t6, 7 -/* 108B90 7F0D4060 14200008 */ bnez $at, .L7F0D4084 -/* 108B94 7F0D4064 AFB8028C */ sw $t8, 0x28c($sp) -/* 108B98 7F0D4068 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 108B9C 7F0D406C 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 108BA0 7F0D4070 00145A00 */ sll $t3, $s4, 8 -/* 108BA4 7F0D4074 0175C825 */ or $t9, $t3, $s5 -/* 108BA8 7F0D4078 01F95021 */ addu $t2, $t7, $t9 -/* 108BAC 7F0D407C 100039DF */ b .L7F0E27FC -/* 108BB0 7F0D4080 A1500000 */ sb $s0, ($t2) -.L7F0D4084: -/* 108BB4 7F0D4084 00144A00 */ sll $t1, $s4, 8 -/* 108BB8 7F0D4088 01356025 */ or $t4, $t1, $s5 -/* 108BBC 7F0D408C 29815800 */ slti $at, $t4, 0x5800 -/* 108BC0 7F0D4090 1420000F */ bnez $at, .L7F0D40D0 -/* 108BC4 7F0D4094 00146200 */ sll $t4, $s4, 8 -/* 108BC8 7F0D4098 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 108BCC 7F0D409C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 108BD0 7F0D40A0 0014C200 */ sll $t8, $s4, 8 -/* 108BD4 7F0D40A4 03156825 */ or $t5, $t8, $s5 -/* 108BD8 7F0D40A8 01CD4021 */ addu $t0, $t6, $t5 -/* 108BDC 7F0D40AC A1100000 */ sb $s0, ($t0) -/* 108BE0 7F0D40B0 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 108BE4 7F0D40B4 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 108BE8 7F0D40B8 0014CA00 */ sll $t9, $s4, 8 -/* 108BEC 7F0D40BC 03355025 */ or $t2, $t9, $s5 -/* 108BF0 7F0D40C0 240B0001 */ li $t3, 1 -/* 108BF4 7F0D40C4 01EA4821 */ addu $t1, $t7, $t2 -/* 108BF8 7F0D40C8 100039CC */ b .L7F0E27FC -/* 108BFC 7F0D40CC A12BA800 */ sb $t3, -0x5800($t1) -.L7F0D40D0: -/* 108C00 7F0D40D0 0195C025 */ or $t8, $t4, $s5 -/* 108C04 7F0D40D4 2B014000 */ slti $at, $t8, 0x4000 -/* 108C08 7F0D40D8 142039C8 */ bnez $at, .L7F0E27FC -/* 108C0C 7F0D40DC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 108C10 7F0D40E0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 108C14 7F0D40E4 00146A00 */ sll $t5, $s4, 8 -/* 108C18 7F0D40E8 01B54025 */ or $t0, $t5, $s5 -/* 108C1C 7F0D40EC 01C8C821 */ addu $t9, $t6, $t0 -/* 108C20 7F0D40F0 A3300000 */ sb $s0, ($t9) -/* 108C24 7F0D40F4 00145200 */ sll $t2, $s4, 8 -/* 108C28 7F0D40F8 01555825 */ or $t3, $t2, $s5 -/* 108C2C 7F0D40FC 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 108C30 7F0D4100 0014C200 */ sll $t8, $s4, 8 -/* 108C34 7F0D4104 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 108C38 7F0D4108 03156825 */ or $t5, $t8, $s5 -/* 108C3C 7F0D410C 31691800 */ andi $t1, $t3, 0x1800 -/* 108C40 7F0D4110 000960C3 */ sra $t4, $t1, 3 -/* 108C44 7F0D4114 31AE00FF */ andi $t6, $t5, 0xff -/* 108C48 7F0D4118 018E4025 */ or $t0, $t4, $t6 -/* 108C4C 7F0D411C 240F0001 */ li $t7, 1 -/* 108C50 7F0D4120 03285021 */ addu $t2, $t9, $t0 -/* 108C54 7F0D4124 100039B5 */ b .L7F0E27FC -/* 108C58 7F0D4128 A14F0000 */ sb $t7, ($t2) -spectrum_op_13: -/* 108C5C 7F0D412C 8FAB028C */ lw $t3, 0x28c($sp) -/* 108C60 7F0D4130 26B50001 */ addiu $s5, $s5, 1 -/* 108C64 7F0D4134 32B800FF */ andi $t8, $s5, 0xff -/* 108C68 7F0D4138 25690006 */ addiu $t1, $t3, 6 -/* 108C6C 7F0D413C AFA9028C */ sw $t1, 0x28c($sp) -/* 108C70 7F0D4140 170039AE */ bnez $t8, .L7F0E27FC -/* 108C74 7F0D4144 0300A825 */ move $s5, $t8 -/* 108C78 7F0D4148 26940001 */ addiu $s4, $s4, 1 -/* 108C7C 7F0D414C 328D00FF */ andi $t5, $s4, 0xff -/* 108C80 7F0D4150 100039AA */ b .L7F0E27FC -/* 108C84 7F0D4154 01A0A025 */ move $s4, $t5 -spectrum_op_14: -/* 108C88 7F0D4158 26940001 */ addiu $s4, $s4, 1 -/* 108C8C 7F0D415C 329900FF */ andi $t9, $s4, 0xff -/* 108C90 7F0D4160 8FAC028C */ lw $t4, 0x28c($sp) -/* 108C94 7F0D4164 332F000F */ andi $t7, $t9, 0xf -/* 108C98 7F0D4168 2DEA0001 */ sltiu $t2, $t7, 1 -/* 108C9C 7F0D416C 0320A025 */ move $s4, $t9 -/* 108CA0 7F0D4170 2F280001 */ sltiu $t0, $t9, 1 -/* 108CA4 7F0D4174 332900A8 */ andi $t1, $t9, 0xa8 -/* 108CA8 7F0D4178 322B0001 */ andi $t3, $s1, 1 -/* 108CAC 7F0D417C 0169C025 */ or $t8, $t3, $t1 -/* 108CB0 7F0D4180 3A8F0080 */ xori $t7, $s4, 0x80 -/* 108CB4 7F0D4184 000A6900 */ sll $t5, $t2, 4 -/* 108CB8 7F0D4188 258E0004 */ addiu $t6, $t4, 4 -/* 108CBC 7F0D418C 030D6025 */ or $t4, $t8, $t5 -/* 108CC0 7F0D4190 2DEF0001 */ sltiu $t7, $t7, 1 -/* 108CC4 7F0D4194 0008C980 */ sll $t9, $t0, 6 -/* 108CC8 7F0D4198 AFA80044 */ sw $t0, 0x44($sp) -/* 108CCC 7F0D419C 01994025 */ or $t0, $t4, $t9 -/* 108CD0 7F0D41A0 000F5880 */ sll $t3, $t7, 2 -/* 108CD4 7F0D41A4 010B8825 */ or $s1, $t0, $t3 -/* 108CD8 7F0D41A8 322900FF */ andi $t1, $s1, 0xff -/* 108CDC 7F0D41AC AFAE028C */ sw $t6, 0x28c($sp) -/* 108CE0 7F0D41B0 01208825 */ move $s1, $t1 -/* 108CE4 7F0D41B4 10003991 */ b .L7F0E27FC -/* 108CE8 7F0D41B8 AFAA0048 */ sw $t2, 0x48($sp) -spectrum_op_15: -/* 108CEC 7F0D41BC 8FAA028C */ lw $t2, 0x28c($sp) -/* 108CF0 7F0D41C0 328D000F */ andi $t5, $s4, 0xf -/* 108CF4 7F0D41C4 2694FFFF */ addiu $s4, $s4, -1 -/* 108CF8 7F0D41C8 25580004 */ addiu $t8, $t2, 4 -/* 108CFC 7F0D41CC AFB8028C */ sw $t8, 0x28c($sp) -/* 108D00 7F0D41D0 328B00FF */ andi $t3, $s4, 0xff -/* 108D04 7F0D41D4 2DAE0001 */ sltiu $t6, $t5, 1 -/* 108D08 7F0D41D8 000EC900 */ sll $t9, $t6, 4 -/* 108D0C 7F0D41DC 3978007F */ xori $t8, $t3, 0x7f -/* 108D10 7F0D41E0 2F180001 */ sltiu $t8, $t8, 1 -/* 108D14 7F0D41E4 322C0001 */ andi $t4, $s1, 1 -/* 108D18 7F0D41E8 01998825 */ or $s1, $t4, $t9 -/* 108D1C 7F0D41EC 00186880 */ sll $t5, $t8, 2 -/* 108D20 7F0D41F0 AFAE0048 */ sw $t6, 0x48($sp) -/* 108D24 7F0D41F4 2D690001 */ sltiu $t1, $t3, 1 -/* 108D28 7F0D41F8 316A00A8 */ andi $t2, $t3, 0xa8 -/* 108D2C 7F0D41FC 014D7025 */ or $t6, $t2, $t5 -/* 108D30 7F0D4200 0009C980 */ sll $t9, $t1, 6 -/* 108D34 7F0D4204 01D97825 */ or $t7, $t6, $t9 -/* 108D38 7F0D4208 36280002 */ ori $t0, $s1, 2 -/* 108D3C 7F0D420C 010F8825 */ or $s1, $t0, $t7 -/* 108D40 7F0D4210 322800FF */ andi $t0, $s1, 0xff -/* 108D44 7F0D4214 01008825 */ move $s1, $t0 -/* 108D48 7F0D4218 AFA90044 */ sw $t1, 0x44($sp) -/* 108D4C 7F0D421C 10003977 */ b .L7F0E27FC -/* 108D50 7F0D4220 0160A025 */ move $s4, $t3 -spectrum_op_16: -/* 108D54 7F0D4224 8FAB028C */ lw $t3, 0x28c($sp) -/* 108D58 7F0D4228 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 108D5C 7F0D422C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 108D60 7F0D4230 97B80298 */ lhu $t8, 0x298($sp) -/* 108D64 7F0D4234 25690007 */ addiu $t1, $t3, 7 -/* 108D68 7F0D4238 AFA9028C */ sw $t1, 0x28c($sp) -/* 108D6C 7F0D423C 030A6821 */ addu $t5, $t8, $t2 -/* 108D70 7F0D4240 91B40000 */ lbu $s4, ($t5) -/* 108D74 7F0D4244 270C0001 */ addiu $t4, $t8, 1 -/* 108D78 7F0D4248 1000396C */ b .L7F0E27FC -/* 108D7C 7F0D424C A7AC0298 */ sh $t4, 0x298($sp) -spectrum_op_17: -/* 108D80 7F0D4250 001079C3 */ sra $t7, $s0, 7 -/* 108D84 7F0D4254 00104040 */ sll $t0, $s0, 1 -/* 108D88 7F0D4258 322B0001 */ andi $t3, $s1, 1 -/* 108D8C 7F0D425C 010B8025 */ or $s0, $t0, $t3 -/* 108D90 7F0D4260 8FAE028C */ lw $t6, 0x28c($sp) -/* 108D94 7F0D4264 320900FF */ andi $t1, $s0, 0xff -/* 108D98 7F0D4268 312D0028 */ andi $t5, $t1, 0x28 -/* 108D9C 7F0D426C 322A00C4 */ andi $t2, $s1, 0xc4 -/* 108DA0 7F0D4270 014DC025 */ or $t8, $t2, $t5 -/* 108DA4 7F0D4274 030F8825 */ or $s1, $t8, $t7 -/* 108DA8 7F0D4278 25D90004 */ addiu $t9, $t6, 4 -/* 108DAC 7F0D427C 322E00FF */ andi $t6, $s1, 0xff -/* 108DB0 7F0D4280 AFB9028C */ sw $t9, 0x28c($sp) -/* 108DB4 7F0D4284 AFAF0270 */ sw $t7, 0x270($sp) -/* 108DB8 7F0D4288 01208025 */ move $s0, $t1 -/* 108DBC 7F0D428C 1000395B */ b .L7F0E27FC -/* 108DC0 7F0D4290 01C08825 */ move $s1, $t6 -spectrum_op_18: -/* 108DC4 7F0D4294 8FB9028C */ lw $t9, 0x28c($sp) -/* 108DC8 7F0D4298 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 108DCC 7F0D429C 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 108DD0 7F0D42A0 97A80298 */ lhu $t0, 0x298($sp) -/* 108DD4 7F0D42A4 272F0007 */ addiu $t7, $t9, 7 -/* 108DD8 7F0D42A8 AFAF028C */ sw $t7, 0x28c($sp) -/* 108DDC 7F0D42AC 010B4821 */ addu $t1, $t0, $t3 -/* 108DE0 7F0D42B0 812A0000 */ lb $t2, ($t1) -/* 108DE4 7F0D42B4 25EE0005 */ addiu $t6, $t7, 5 -/* 108DE8 7F0D42B8 AFAE028C */ sw $t6, 0x28c($sp) -/* 108DEC 7F0D42BC 010A6821 */ addu $t5, $t0, $t2 -/* 108DF0 7F0D42C0 25B80001 */ addiu $t8, $t5, 1 -/* 108DF4 7F0D42C4 A7B80298 */ sh $t8, 0x298($sp) -/* 108DF8 7F0D42C8 1000394C */ b .L7F0E27FC -/* 108DFC 7F0D42CC AFAA026C */ sw $t2, 0x26c($sp) -spectrum_op_19: -/* 108E00 7F0D42D0 8FB9028C */ lw $t9, 0x28c($sp) -/* 108E04 7F0D42D4 93AB0287 */ lbu $t3, 0x287($sp) -/* 108E08 7F0D42D8 93A80287 */ lbu $t0, 0x287($sp) -/* 108E0C 7F0D42DC 272F000B */ addiu $t7, $t9, 0xb -/* 108E10 7F0D42E0 1560001C */ bnez $t3, .L7F0D4354 -/* 108E14 7F0D42E4 AFAF028C */ sw $t7, 0x28c($sp) -/* 108E18 7F0D42E8 02F54821 */ addu $t1, $s7, $s5 -/* 108E1C 7F0D42EC 3128FFFF */ andi $t0, $t1, 0xffff -/* 108E20 7F0D42F0 00085202 */ srl $t2, $t0, 8 -/* 108E24 7F0D42F4 3158FFFF */ andi $t8, $t2, 0xffff -/* 108E28 7F0D42F8 32CD000F */ andi $t5, $s6, 0xf -/* 108E2C 7F0D42FC 030D6021 */ addu $t4, $t8, $t5 -/* 108E30 7F0D4300 328E000F */ andi $t6, $s4, 0xf -/* 108E34 7F0D4304 018EC821 */ addu $t9, $t4, $t6 -/* 108E38 7F0D4308 A7A9026A */ sh $t1, 0x26a($sp) -/* 108E3C 7F0D430C 2401000F */ li $at, 15 -/* 108E40 7F0D4310 0039782A */ slt $t7, $at, $t9 -/* 108E44 7F0D4314 93B7026B */ lbu $s7, 0x26b($sp) -/* 108E48 7F0D4318 02D4C021 */ addu $t8, $s6, $s4 -/* 108E4C 7F0D431C 0158C821 */ addu $t9, $t2, $t8 -/* 108E50 7F0D4320 A7AA026A */ sh $t2, 0x26a($sp) -/* 108E54 7F0D4324 A7B9026A */ sh $t9, 0x26a($sp) -/* 108E58 7F0D4328 93B6026B */ lbu $s6, 0x26b($sp) -/* 108E5C 7F0D432C 000F5900 */ sll $t3, $t7, 4 -/* 108E60 7F0D4330 322900C4 */ andi $t1, $s1, 0xc4 -/* 108E64 7F0D4334 01694025 */ or $t0, $t3, $t1 -/* 108E68 7F0D4338 00197A03 */ sra $t7, $t9, 8 -/* 108E6C 7F0D433C 32CE0028 */ andi $t6, $s6, 0x28 -/* 108E70 7F0D4340 01CF5825 */ or $t3, $t6, $t7 -/* 108E74 7F0D4344 010B8825 */ or $s1, $t0, $t3 -/* 108E78 7F0D4348 322900FF */ andi $t1, $s1, 0xff -/* 108E7C 7F0D434C 1000392B */ b .L7F0E27FC -/* 108E80 7F0D4350 01208825 */ move $s1, $t1 -.L7F0D4354: -/* 108E84 7F0D4354 24010001 */ li $at, 1 -/* 108E88 7F0D4358 15010004 */ bne $t0, $at, .L7F0D436C -/* 108E8C 7F0D435C 0014CA00 */ sll $t9, $s4, 8 -/* 108E90 7F0D4360 97AA0296 */ lhu $t2, 0x296($sp) -/* 108E94 7F0D4364 10000003 */ b .L7F0D4374 -/* 108E98 7F0D4368 AFAA0264 */ sw $t2, 0x264($sp) -.L7F0D436C: -/* 108E9C 7F0D436C 97AD0294 */ lhu $t5, 0x294($sp) -/* 108EA0 7F0D4370 AFAD0264 */ sw $t5, 0x264($sp) -.L7F0D4374: -/* 108EA4 7F0D4374 8FB80264 */ lw $t8, 0x264($sp) -/* 108EA8 7F0D4378 03357025 */ or $t6, $t9, $s5 -/* 108EAC 7F0D437C 24010FFF */ li $at, 4095 -/* 108EB0 7F0D4380 330C0FFF */ andi $t4, $t8, 0xfff -/* 108EB4 7F0D4384 018E7821 */ addu $t7, $t4, $t6 -/* 108EB8 7F0D4388 002F582B */ sltu $t3, $at, $t7 -/* 108EBC 7F0D438C 93AE0287 */ lbu $t6, 0x287($sp) -/* 108EC0 7F0D4390 000B4900 */ sll $t1, $t3, 4 -/* 108EC4 7F0D4394 322800C4 */ andi $t0, $s1, 0xc4 -/* 108EC8 7F0D4398 00146A00 */ sll $t5, $s4, 8 -/* 108ECC 7F0D439C 01B5C825 */ or $t9, $t5, $s5 -/* 108ED0 7F0D43A0 01098825 */ or $s1, $t0, $t1 -/* 108ED4 7F0D43A4 322A00FF */ andi $t2, $s1, 0xff -/* 108ED8 7F0D43A8 24010001 */ li $at, 1 -/* 108EDC 7F0D43AC 03196021 */ addu $t4, $t8, $t9 -/* 108EE0 7F0D43B0 AFAC0264 */ sw $t4, 0x264($sp) -/* 108EE4 7F0D43B4 15C10003 */ bne $t6, $at, .L7F0D43C4 -/* 108EE8 7F0D43B8 01408825 */ move $s1, $t2 -/* 108EEC 7F0D43BC 10000003 */ b .L7F0D43CC -/* 108EF0 7F0D43C0 A7AC0296 */ sh $t4, 0x296($sp) -.L7F0D43C4: -/* 108EF4 7F0D43C4 8FAF0264 */ lw $t7, 0x264($sp) -/* 108EF8 7F0D43C8 A7AF0294 */ sh $t7, 0x294($sp) -.L7F0D43CC: -/* 108EFC 7F0D43CC 8FAB0264 */ lw $t3, 0x264($sp) -/* 108F00 7F0D43D0 000B4202 */ srl $t0, $t3, 8 -/* 108F04 7F0D43D4 31090028 */ andi $t1, $t0, 0x28 -/* 108F08 7F0D43D8 000B5402 */ srl $t2, $t3, 0x10 -/* 108F0C 7F0D43DC 012A6825 */ or $t5, $t1, $t2 -/* 108F10 7F0D43E0 022D8825 */ or $s1, $s1, $t5 -/* 108F14 7F0D43E4 323800FF */ andi $t8, $s1, 0xff -/* 108F18 7F0D43E8 10003904 */ b .L7F0E27FC -/* 108F1C 7F0D43EC 03008825 */ move $s1, $t8 -spectrum_op_1A: -/* 108F20 7F0D43F0 8FB9028C */ lw $t9, 0x28c($sp) -/* 108F24 7F0D43F4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 108F28 7F0D43F8 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 108F2C 7F0D43FC 00146200 */ sll $t4, $s4, 8 -/* 108F30 7F0D4400 01957825 */ or $t7, $t4, $s5 -/* 108F34 7F0D4404 272E0007 */ addiu $t6, $t9, 7 -/* 108F38 7F0D4408 AFAE028C */ sw $t6, 0x28c($sp) -/* 108F3C 7F0D440C 01E85821 */ addu $t3, $t7, $t0 -/* 108F40 7F0D4410 100038FA */ b .L7F0E27FC -/* 108F44 7F0D4414 91700000 */ lbu $s0, ($t3) -spectrum_op_1B: -/* 108F48 7F0D4418 8FA9028C */ lw $t1, 0x28c($sp) -/* 108F4C 7F0D441C 2EAD0001 */ sltiu $t5, $s5, 1 -/* 108F50 7F0D4420 26B5FFFF */ addiu $s5, $s5, -1 -/* 108F54 7F0D4424 32B800FF */ andi $t8, $s5, 0xff -/* 108F58 7F0D4428 252A0006 */ addiu $t2, $t1, 6 -/* 108F5C 7F0D442C AFAA028C */ sw $t2, 0x28c($sp) -/* 108F60 7F0D4430 0300A825 */ move $s5, $t8 -/* 108F64 7F0D4434 11A038F1 */ beqz $t5, .L7F0E27FC -/* 108F68 7F0D4438 AFAD0048 */ sw $t5, 0x48($sp) -/* 108F6C 7F0D443C 2694FFFF */ addiu $s4, $s4, -1 -/* 108F70 7F0D4440 328E00FF */ andi $t6, $s4, 0xff -/* 108F74 7F0D4444 100038ED */ b .L7F0E27FC -/* 108F78 7F0D4448 01C0A025 */ move $s4, $t6 -spectrum_op_1C: -/* 108F7C 7F0D444C 26B50001 */ addiu $s5, $s5, 1 -/* 108F80 7F0D4450 32A800FF */ andi $t0, $s5, 0xff -/* 108F84 7F0D4454 8FAC028C */ lw $t4, 0x28c($sp) -/* 108F88 7F0D4458 3109000F */ andi $t1, $t0, 0xf -/* 108F8C 7F0D445C 2D2A0001 */ sltiu $t2, $t1, 1 -/* 108F90 7F0D4460 0100A825 */ move $s5, $t0 -/* 108F94 7F0D4464 2D0B0001 */ sltiu $t3, $t0, 1 -/* 108F98 7F0D4468 311800A8 */ andi $t8, $t0, 0xa8 -/* 108F9C 7F0D446C 322D0001 */ andi $t5, $s1, 1 -/* 108FA0 7F0D4470 01B8C825 */ or $t9, $t5, $t8 -/* 108FA4 7F0D4474 3AA90080 */ xori $t1, $s5, 0x80 -/* 108FA8 7F0D4478 000A7100 */ sll $t6, $t2, 4 -/* 108FAC 7F0D447C 258F0004 */ addiu $t7, $t4, 4 -/* 108FB0 7F0D4480 032E6025 */ or $t4, $t9, $t6 -/* 108FB4 7F0D4484 2D290001 */ sltiu $t1, $t1, 1 -/* 108FB8 7F0D4488 000B4180 */ sll $t0, $t3, 6 -/* 108FBC 7F0D448C AFAB0044 */ sw $t3, 0x44($sp) -/* 108FC0 7F0D4490 01885825 */ or $t3, $t4, $t0 -/* 108FC4 7F0D4494 00096880 */ sll $t5, $t1, 2 -/* 108FC8 7F0D4498 016D8825 */ or $s1, $t3, $t5 -/* 108FCC 7F0D449C 323800FF */ andi $t8, $s1, 0xff -/* 108FD0 7F0D44A0 AFAF028C */ sw $t7, 0x28c($sp) -/* 108FD4 7F0D44A4 03008825 */ move $s1, $t8 -/* 108FD8 7F0D44A8 100038D4 */ b .L7F0E27FC -/* 108FDC 7F0D44AC AFAA0048 */ sw $t2, 0x48($sp) -spectrum_op_1D: -/* 108FE0 7F0D44B0 8FAA028C */ lw $t2, 0x28c($sp) -/* 108FE4 7F0D44B4 32AE000F */ andi $t6, $s5, 0xf -/* 108FE8 7F0D44B8 26B5FFFF */ addiu $s5, $s5, -1 -/* 108FEC 7F0D44BC 25590004 */ addiu $t9, $t2, 4 -/* 108FF0 7F0D44C0 AFB9028C */ sw $t9, 0x28c($sp) -/* 108FF4 7F0D44C4 32AD00FF */ andi $t5, $s5, 0xff -/* 108FF8 7F0D44C8 2DCF0001 */ sltiu $t7, $t6, 1 -/* 108FFC 7F0D44CC 000F4100 */ sll $t0, $t7, 4 -/* 109000 7F0D44D0 39B9007F */ xori $t9, $t5, 0x7f -/* 109004 7F0D44D4 2F390001 */ sltiu $t9, $t9, 1 -/* 109008 7F0D44D8 322C0001 */ andi $t4, $s1, 1 -/* 10900C 7F0D44DC 01888825 */ or $s1, $t4, $t0 -/* 109010 7F0D44E0 00197080 */ sll $t6, $t9, 2 -/* 109014 7F0D44E4 AFAF0048 */ sw $t7, 0x48($sp) -/* 109018 7F0D44E8 2DB80001 */ sltiu $t8, $t5, 1 -/* 10901C 7F0D44EC 31AA00A8 */ andi $t2, $t5, 0xa8 -/* 109020 7F0D44F0 014E7825 */ or $t7, $t2, $t6 -/* 109024 7F0D44F4 00184180 */ sll $t0, $t8, 6 -/* 109028 7F0D44F8 01E84825 */ or $t1, $t7, $t0 -/* 10902C 7F0D44FC 362B0002 */ ori $t3, $s1, 2 -/* 109030 7F0D4500 01698825 */ or $s1, $t3, $t1 -/* 109034 7F0D4504 322B00FF */ andi $t3, $s1, 0xff -/* 109038 7F0D4508 01608825 */ move $s1, $t3 -/* 10903C 7F0D450C AFB80044 */ sw $t8, 0x44($sp) -/* 109040 7F0D4510 100038BA */ b .L7F0E27FC -/* 109044 7F0D4514 01A0A825 */ move $s5, $t5 -spectrum_op_1E: -/* 109048 7F0D4518 8FAD028C */ lw $t5, 0x28c($sp) -/* 10904C 7F0D451C 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 109050 7F0D4520 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 109054 7F0D4524 97B90298 */ lhu $t9, 0x298($sp) -/* 109058 7F0D4528 25B80007 */ addiu $t8, $t5, 7 -/* 10905C 7F0D452C AFB8028C */ sw $t8, 0x28c($sp) -/* 109060 7F0D4530 032A7021 */ addu $t6, $t9, $t2 -/* 109064 7F0D4534 91D50000 */ lbu $s5, ($t6) -/* 109068 7F0D4538 272C0001 */ addiu $t4, $t9, 1 -/* 10906C 7F0D453C 100038AF */ b .L7F0E27FC -/* 109070 7F0D4540 A7AC0298 */ sh $t4, 0x298($sp) -spectrum_op_1F: -/* 109074 7F0D4544 32090001 */ andi $t1, $s0, 1 -/* 109078 7F0D4548 00105843 */ sra $t3, $s0, 1 -/* 10907C 7F0D454C 001169C0 */ sll $t5, $s1, 7 -/* 109080 7F0D4550 016D8025 */ or $s0, $t3, $t5 -/* 109084 7F0D4554 8FAF028C */ lw $t7, 0x28c($sp) -/* 109088 7F0D4558 321800FF */ andi $t8, $s0, 0xff -/* 10908C 7F0D455C 330E0028 */ andi $t6, $t8, 0x28 -/* 109090 7F0D4560 322A00C4 */ andi $t2, $s1, 0xc4 -/* 109094 7F0D4564 014EC825 */ or $t9, $t2, $t6 -/* 109098 7F0D4568 03298825 */ or $s1, $t9, $t1 -/* 10909C 7F0D456C 25E80004 */ addiu $t0, $t7, 4 -/* 1090A0 7F0D4570 322F00FF */ andi $t7, $s1, 0xff -/* 1090A4 7F0D4574 AFA8028C */ sw $t0, 0x28c($sp) -/* 1090A8 7F0D4578 AFA90260 */ sw $t1, 0x260($sp) -/* 1090AC 7F0D457C 03008025 */ move $s0, $t8 -/* 1090B0 7F0D4580 1000389E */ b .L7F0E27FC -/* 1090B4 7F0D4584 01E08825 */ move $s1, $t7 -spectrum_op_20: -/* 1090B8 7F0D4588 8FA8028C */ lw $t0, 0x28c($sp) -/* 1090BC 7F0D458C 322B0040 */ andi $t3, $s1, 0x40 -/* 1090C0 7F0D4590 97AA0298 */ lhu $t2, 0x298($sp) -/* 1090C4 7F0D4594 25090007 */ addiu $t1, $t0, 7 -/* 1090C8 7F0D4598 11600005 */ beqz $t3, .L7F0D45B0 -/* 1090CC 7F0D459C AFA9028C */ sw $t1, 0x28c($sp) -/* 1090D0 7F0D45A0 97AD0298 */ lhu $t5, 0x298($sp) -/* 1090D4 7F0D45A4 25B80001 */ addiu $t8, $t5, 1 -/* 1090D8 7F0D45A8 10003894 */ b .L7F0E27FC -/* 1090DC 7F0D45AC A7B80298 */ sh $t8, 0x298($sp) -.L7F0D45B0: -/* 1090E0 7F0D45B0 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1090E4 7F0D45B4 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1090E8 7F0D45B8 8FA9028C */ lw $t1, 0x28c($sp) -/* 1090EC 7F0D45BC 014EC821 */ addu $t9, $t2, $t6 -/* 1090F0 7F0D45C0 832C0000 */ lb $t4, ($t9) -/* 1090F4 7F0D45C4 252B0005 */ addiu $t3, $t1, 5 -/* 1090F8 7F0D45C8 AFAB028C */ sw $t3, 0x28c($sp) -/* 1090FC 7F0D45CC 014C7821 */ addu $t7, $t2, $t4 -/* 109100 7F0D45D0 25E80001 */ addiu $t0, $t7, 1 -/* 109104 7F0D45D4 A7A80298 */ sh $t0, 0x298($sp) -/* 109108 7F0D45D8 10003888 */ b .L7F0E27FC -/* 10910C 7F0D45DC AFAC025C */ sw $t4, 0x25c($sp) -spectrum_op_21: -/* 109110 7F0D45E0 8FAD028C */ lw $t5, 0x28c($sp) -/* 109114 7F0D45E4 93AE0287 */ lbu $t6, 0x287($sp) -/* 109118 7F0D45E8 97B90298 */ lhu $t9, 0x298($sp) -/* 10911C 7F0D45EC 25B8000A */ addiu $t8, $t5, 0xa -/* 109120 7F0D45F0 15C0000D */ bnez $t6, .L7F0D4628 -/* 109124 7F0D45F4 AFB8028C */ sw $t8, 0x28c($sp) -/* 109128 7F0D45F8 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10912C 7F0D45FC 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 109130 7F0D4600 272B0001 */ addiu $t3, $t9, 1 -/* 109134 7F0D4604 3168FFFF */ andi $t0, $t3, 0xffff -/* 109138 7F0D4608 032A6021 */ addu $t4, $t9, $t2 -/* 10913C 7F0D460C 91970000 */ lbu $s7, ($t4) -/* 109140 7F0D4610 A7AB0298 */ sh $t3, 0x298($sp) -/* 109144 7F0D4614 010A4821 */ addu $t1, $t0, $t2 -/* 109148 7F0D4618 91360000 */ lbu $s6, ($t1) -/* 10914C 7F0D461C 256D0001 */ addiu $t5, $t3, 1 -/* 109150 7F0D4620 10003876 */ b .L7F0E27FC -/* 109154 7F0D4624 A7AD0298 */ sh $t5, 0x298($sp) -.L7F0D4628: -/* 109158 7F0D4628 93B80287 */ lbu $t8, 0x287($sp) -/* 10915C 7F0D462C 24010001 */ li $at, 1 -/* 109160 7F0D4630 97AE0298 */ lhu $t6, 0x298($sp) -/* 109164 7F0D4634 1701000B */ bne $t8, $at, .L7F0D4664 -/* 109168 7F0D4638 97AD0298 */ lhu $t5, 0x298($sp) -/* 10916C 7F0D463C 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 109170 7F0D4640 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 109174 7F0D4644 018E5021 */ addu $t2, $t4, $t6 -/* 109178 7F0D4648 91490001 */ lbu $t1, 1($t2) -/* 10917C 7F0D464C 01CCC821 */ addu $t9, $t6, $t4 -/* 109180 7F0D4650 93280000 */ lbu $t0, ($t9) -/* 109184 7F0D4654 00097A00 */ sll $t7, $t1, 8 -/* 109188 7F0D4658 010F5825 */ or $t3, $t0, $t7 -/* 10918C 7F0D465C 1000000A */ b .L7F0D4688 -/* 109190 7F0D4660 A7AB0296 */ sh $t3, 0x296($sp) -.L7F0D4664: -/* 109194 7F0D4664 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 109198 7F0D4668 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10919C 7F0D466C 030D7021 */ addu $t6, $t8, $t5 -/* 1091A0 7F0D4670 91CA0001 */ lbu $t2, 1($t6) -/* 1091A4 7F0D4674 01B8C821 */ addu $t9, $t5, $t8 -/* 1091A8 7F0D4678 932C0000 */ lbu $t4, ($t9) -/* 1091AC 7F0D467C 000A4A00 */ sll $t1, $t2, 8 -/* 1091B0 7F0D4680 01894025 */ or $t0, $t4, $t1 -/* 1091B4 7F0D4684 A7A80294 */ sh $t0, 0x294($sp) -.L7F0D4688: -/* 1091B8 7F0D4688 97AF0298 */ lhu $t7, 0x298($sp) -/* 1091BC 7F0D468C 25EB0002 */ addiu $t3, $t7, 2 -/* 1091C0 7F0D4690 1000385A */ b .L7F0E27FC -/* 1091C4 7F0D4694 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_22: -/* 1091C8 7F0D4698 8FB9028C */ lw $t9, 0x28c($sp) -/* 1091CC 7F0D469C 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1091D0 7F0D46A0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1091D4 7F0D46A4 97AD0298 */ lhu $t5, 0x298($sp) -/* 1091D8 7F0D46A8 27380010 */ addiu $t8, $t9, 0x10 -/* 1091DC 7F0D46AC AFB8028C */ sw $t8, 0x28c($sp) -/* 1091E0 7F0D46B0 01CD4821 */ addu $t1, $t6, $t5 -/* 1091E4 7F0D46B4 91280001 */ lbu $t0, 1($t1) -/* 1091E8 7F0D46B8 01AE5021 */ addu $t2, $t5, $t6 -/* 1091EC 7F0D46BC 914C0000 */ lbu $t4, ($t2) -/* 1091F0 7F0D46C0 93B80287 */ lbu $t8, 0x287($sp) -/* 1091F4 7F0D46C4 00087A00 */ sll $t7, $t0, 8 -/* 1091F8 7F0D46C8 25B90002 */ addiu $t9, $t5, 2 -/* 1091FC 7F0D46CC 018F5825 */ or $t3, $t4, $t7 -/* 109200 7F0D46D0 A7AB025A */ sh $t3, 0x25a($sp) -/* 109204 7F0D46D4 17000054 */ bnez $t8, .L7F0D4828 -/* 109208 7F0D46D8 A7B90298 */ sh $t9, 0x298($sp) -/* 10920C 7F0D46DC 316AFFFF */ andi $t2, $t3, 0xffff -/* 109210 7F0D46E0 29415B00 */ slti $at, $t2, 0x5b00 -/* 109214 7F0D46E4 14200006 */ bnez $at, .L7F0D4700 -/* 109218 7F0D46E8 97A8025A */ lhu $t0, 0x25a($sp) -/* 10921C 7F0D46EC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 109220 7F0D46F0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 109224 7F0D46F4 01CA4821 */ addu $t1, $t6, $t2 -/* 109228 7F0D46F8 1000001F */ b .L7F0D4778 -/* 10922C 7F0D46FC A1370000 */ sb $s7, ($t1) -.L7F0D4700: -/* 109230 7F0D4700 29015800 */ slti $at, $t0, 0x5800 -/* 109234 7F0D4704 1420000C */ bnez $at, .L7F0D4738 -/* 109238 7F0D4708 97AE025A */ lhu $t6, 0x25a($sp) -/* 10923C 7F0D470C 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 109240 7F0D4710 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 109244 7F0D4714 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 109248 7F0D4718 240B0001 */ li $t3, 1 -/* 10924C 7F0D471C 01887821 */ addu $t7, $t4, $t0 -/* 109250 7F0D4720 A1F70000 */ sb $s7, ($t7) -/* 109254 7F0D4724 97B9025A */ lhu $t9, 0x25a($sp) -/* 109258 7F0D4728 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 10925C 7F0D472C 01B9C021 */ addu $t8, $t5, $t9 -/* 109260 7F0D4730 10000011 */ b .L7F0D4778 -/* 109264 7F0D4734 A30BA800 */ sb $t3, -0x5800($t8) -.L7F0D4738: -/* 109268 7F0D4738 29C14000 */ slti $at, $t6, 0x4000 -/* 10926C 7F0D473C 1420000E */ bnez $at, .L7F0D4778 -/* 109270 7F0D4740 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 109274 7F0D4744 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 109278 7F0D4748 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 10927C 7F0D474C 240C0001 */ li $t4, 1 -/* 109280 7F0D4750 014E4821 */ addu $t1, $t2, $t6 -/* 109284 7F0D4754 A1370000 */ sb $s7, ($t1) -/* 109288 7F0D4758 97A8025A */ lhu $t0, 0x25a($sp) -/* 10928C 7F0D475C 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 109290 7F0D4760 310F1800 */ andi $t7, $t0, 0x1800 -/* 109294 7F0D4764 000F68C3 */ sra $t5, $t7, 3 -/* 109298 7F0D4768 311900FF */ andi $t9, $t0, 0xff -/* 10929C 7F0D476C 01B95825 */ or $t3, $t5, $t9 -/* 1092A0 7F0D4770 030B5021 */ addu $t2, $t8, $t3 -/* 1092A4 7F0D4774 A14C0000 */ sb $t4, ($t2) -.L7F0D4778: -/* 1092A8 7F0D4778 97AE025A */ lhu $t6, 0x25a($sp) -/* 1092AC 7F0D477C 97AD025A */ lhu $t5, 0x25a($sp) -/* 1092B0 7F0D4780 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1092B4 7F0D4784 25C90001 */ addiu $t1, $t6, 1 -/* 1092B8 7F0D4788 29215B00 */ slti $at, $t1, 0x5b00 -/* 1092BC 7F0D478C 14200005 */ bnez $at, .L7F0D47A4 -/* 1092C0 7F0D4790 25B90001 */ addiu $t9, $t5, 1 -/* 1092C4 7F0D4794 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1092C8 7F0D4798 01EE4021 */ addu $t0, $t7, $t6 -/* 1092CC 7F0D479C 10003817 */ b .L7F0E27FC -/* 1092D0 7F0D47A0 A1160001 */ sb $s6, 1($t0) -.L7F0D47A4: -/* 1092D4 7F0D47A4 2B215800 */ slti $at, $t9, 0x5800 -/* 1092D8 7F0D47A8 1420000C */ bnez $at, .L7F0D47DC -/* 1092DC 7F0D47AC 97AE025A */ lhu $t6, 0x25a($sp) -/* 1092E0 7F0D47B0 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1092E4 7F0D47B4 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 1092E8 7F0D47B8 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 1092EC 7F0D47BC 240C0001 */ li $t4, 1 -/* 1092F0 7F0D47C0 030D5821 */ addu $t3, $t8, $t5 -/* 1092F4 7F0D47C4 A1760001 */ sb $s6, 1($t3) -/* 1092F8 7F0D47C8 97A9025A */ lhu $t1, 0x25a($sp) -/* 1092FC 7F0D47CC 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 109300 7F0D47D0 01497821 */ addu $t7, $t2, $t1 -/* 109304 7F0D47D4 10003809 */ b .L7F0E27FC -/* 109308 7F0D47D8 A1ECA801 */ sb $t4, -0x57ff($t7) -.L7F0D47DC: -/* 10930C 7F0D47DC 25C80001 */ addiu $t0, $t6, 1 -/* 109310 7F0D47E0 29014000 */ slti $at, $t0, 0x4000 -/* 109314 7F0D47E4 14203805 */ bnez $at, .L7F0E27FC -/* 109318 7F0D47E8 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10931C 7F0D47EC 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 109320 7F0D47F0 240D0001 */ li $t5, 1 -/* 109324 7F0D47F4 032EC021 */ addu $t8, $t9, $t6 -/* 109328 7F0D47F8 A3160001 */ sb $s6, 1($t8) -/* 10932C 7F0D47FC 97AB025A */ lhu $t3, 0x25a($sp) -/* 109330 7F0D4800 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 109334 7F0D4804 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 109338 7F0D4808 256A0001 */ addiu $t2, $t3, 1 -/* 10933C 7F0D480C 31491800 */ andi $t1, $t2, 0x1800 -/* 109340 7F0D4810 000960C3 */ sra $t4, $t1, 3 -/* 109344 7F0D4814 314F00FF */ andi $t7, $t2, 0xff -/* 109348 7F0D4818 018F4025 */ or $t0, $t4, $t7 -/* 10934C 7F0D481C 03287021 */ addu $t6, $t9, $t0 -/* 109350 7F0D4820 100037F6 */ b .L7F0E27FC -/* 109354 7F0D4824 A1CD0000 */ sb $t5, ($t6) -.L7F0D4828: -/* 109358 7F0D4828 93B80287 */ lbu $t8, 0x287($sp) -/* 10935C 7F0D482C 24010001 */ li $at, 1 -/* 109360 7F0D4830 97AB025A */ lhu $t3, 0x25a($sp) -/* 109364 7F0D4834 1701005B */ bne $t8, $at, .L7F0D49A4 -/* 109368 7F0D4838 29615B00 */ slti $at, $t3, 0x5b00 -/* 10936C 7F0D483C 14200007 */ bnez $at, .L7F0D485C -/* 109370 7F0D4840 97AF025A */ lhu $t7, 0x25a($sp) -/* 109374 7F0D4844 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 109378 7F0D4848 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10937C 7F0D484C 97A90296 */ lhu $t1, 0x296($sp) -/* 109380 7F0D4850 014B6021 */ addu $t4, $t2, $t3 -/* 109384 7F0D4854 10000021 */ b .L7F0D48DC -/* 109388 7F0D4858 A1890000 */ sb $t1, ($t4) -.L7F0D485C: -/* 10938C 7F0D485C 29E15800 */ slti $at, $t7, 0x5800 -/* 109390 7F0D4860 1420000D */ bnez $at, .L7F0D4898 -/* 109394 7F0D4864 97A9025A */ lhu $t1, 0x25a($sp) -/* 109398 7F0D4868 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10939C 7F0D486C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1093A0 7F0D4870 97B90296 */ lhu $t9, 0x296($sp) -/* 1093A4 7F0D4874 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 1093A8 7F0D4878 010F6821 */ addu $t5, $t0, $t7 -/* 1093AC 7F0D487C A1B90000 */ sb $t9, ($t5) -/* 1093B0 7F0D4880 97AA025A */ lhu $t2, 0x25a($sp) -/* 1093B4 7F0D4884 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 1093B8 7F0D4888 240E0001 */ li $t6, 1 -/* 1093BC 7F0D488C 030A5821 */ addu $t3, $t8, $t2 -/* 1093C0 7F0D4890 10000012 */ b .L7F0D48DC -/* 1093C4 7F0D4894 A16EA800 */ sb $t6, -0x5800($t3) -.L7F0D4898: -/* 1093C8 7F0D4898 29214000 */ slti $at, $t1, 0x4000 -/* 1093CC 7F0D489C 1420000F */ bnez $at, .L7F0D48DC -/* 1093D0 7F0D48A0 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1093D4 7F0D48A4 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1093D8 7F0D48A8 97AC0296 */ lhu $t4, 0x296($sp) -/* 1093DC 7F0D48AC 24190001 */ li $t9, 1 -/* 1093E0 7F0D48B0 01097821 */ addu $t7, $t0, $t1 -/* 1093E4 7F0D48B4 A1EC0000 */ sb $t4, ($t7) -/* 1093E8 7F0D48B8 97AD025A */ lhu $t5, 0x25a($sp) -/* 1093EC 7F0D48BC 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 1093F0 7F0D48C0 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 1093F4 7F0D48C4 31B81800 */ andi $t8, $t5, 0x1800 -/* 1093F8 7F0D48C8 001850C3 */ sra $t2, $t8, 3 -/* 1093FC 7F0D48CC 31AE00FF */ andi $t6, $t5, 0xff -/* 109400 7F0D48D0 014E5825 */ or $t3, $t2, $t6 -/* 109404 7F0D48D4 010B4821 */ addu $t1, $t0, $t3 -/* 109408 7F0D48D8 A1390000 */ sb $t9, ($t1) -.L7F0D48DC: -/* 10940C 7F0D48DC 97AC025A */ lhu $t4, 0x25a($sp) -/* 109410 7F0D48E0 97A8025A */ lhu $t0, 0x25a($sp) -/* 109414 7F0D48E4 97B80296 */ lhu $t8, 0x296($sp) -/* 109418 7F0D48E8 258F0001 */ addiu $t7, $t4, 1 -/* 10941C 7F0D48EC 29E15B00 */ slti $at, $t7, 0x5b00 -/* 109420 7F0D48F0 14200007 */ bnez $at, .L7F0D4910 -/* 109424 7F0D48F4 250B0001 */ addiu $t3, $t0, 1 -/* 109428 7F0D48F8 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10942C 7F0D48FC 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 109430 7F0D4900 00186A03 */ sra $t5, $t8, 8 -/* 109434 7F0D4904 014C7021 */ addu $t6, $t2, $t4 -/* 109438 7F0D4908 100037BC */ b .L7F0E27FC -/* 10943C 7F0D490C A1CD0001 */ sb $t5, 1($t6) -.L7F0D4910: -/* 109440 7F0D4910 29615800 */ slti $at, $t3, 0x5800 -/* 109444 7F0D4914 1420000E */ bnez $at, .L7F0D4950 -/* 109448 7F0D4918 97AB025A */ lhu $t3, 0x25a($sp) -/* 10944C 7F0D491C 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 109450 7F0D4920 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 109454 7F0D4924 97B90296 */ lhu $t9, 0x296($sp) -/* 109458 7F0D4928 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 10945C 7F0D492C 01E8C021 */ addu $t8, $t7, $t0 -/* 109460 7F0D4930 00194A03 */ sra $t1, $t9, 8 -/* 109464 7F0D4934 A3090001 */ sb $t1, 1($t8) -/* 109468 7F0D4938 97AD025A */ lhu $t5, 0x25a($sp) -/* 10946C 7F0D493C 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 109470 7F0D4940 240A0001 */ li $t2, 1 -/* 109474 7F0D4944 018D7021 */ addu $t6, $t4, $t5 -/* 109478 7F0D4948 100037AC */ b .L7F0E27FC -/* 10947C 7F0D494C A1CAA801 */ sb $t2, -0x57ff($t6) -.L7F0D4950: -/* 109480 7F0D4950 25790001 */ addiu $t9, $t3, 1 -/* 109484 7F0D4954 2B214000 */ slti $at, $t9, 0x4000 -/* 109488 7F0D4958 142037A8 */ bnez $at, .L7F0E27FC -/* 10948C 7F0D495C 97AF0296 */ lhu $t7, 0x296($sp) -/* 109490 7F0D4960 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 109494 7F0D4964 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 109498 7F0D4968 000F4203 */ sra $t0, $t7, 8 -/* 10949C 7F0D496C 240C0001 */ li $t4, 1 -/* 1094A0 7F0D4970 012BC021 */ addu $t8, $t1, $t3 -/* 1094A4 7F0D4974 A3080001 */ sb $t0, 1($t8) -/* 1094A8 7F0D4978 97AD025A */ lhu $t5, 0x25a($sp) -/* 1094AC 7F0D497C 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 1094B0 7F0D4980 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 1094B4 7F0D4984 25AA0001 */ addiu $t2, $t5, 1 -/* 1094B8 7F0D4988 314E1800 */ andi $t6, $t2, 0x1800 -/* 1094BC 7F0D498C 000EC8C3 */ sra $t9, $t6, 3 -/* 1094C0 7F0D4990 314F00FF */ andi $t7, $t2, 0xff -/* 1094C4 7F0D4994 032F4825 */ or $t1, $t9, $t7 -/* 1094C8 7F0D4998 01694021 */ addu $t0, $t3, $t1 -/* 1094CC 7F0D499C 10003797 */ b .L7F0E27FC -/* 1094D0 7F0D49A0 A10C0000 */ sb $t4, ($t0) -.L7F0D49A4: -/* 1094D4 7F0D49A4 97B8025A */ lhu $t8, 0x25a($sp) -/* 1094D8 7F0D49A8 97B9025A */ lhu $t9, 0x25a($sp) -/* 1094DC 7F0D49AC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1094E0 7F0D49B0 2B015B00 */ slti $at, $t8, 0x5b00 -/* 1094E4 7F0D49B4 54200007 */ bnezl $at, .L7F0D49D4 -/* 1094E8 7F0D49B8 2B215800 */ slti $at, $t9, 0x5800 -/* 1094EC 7F0D49BC 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1094F0 7F0D49C0 97AD0294 */ lhu $t5, 0x294($sp) -/* 1094F4 7F0D49C4 01D85021 */ addu $t2, $t6, $t8 -/* 1094F8 7F0D49C8 10000021 */ b .L7F0D4A50 -/* 1094FC 7F0D49CC A14D0000 */ sb $t5, ($t2) -/* 109500 7F0D49D0 2B215800 */ slti $at, $t9, 0x5800 -.L7F0D49D4: -/* 109504 7F0D49D4 1420000D */ bnez $at, .L7F0D4A0C -/* 109508 7F0D49D8 97AD025A */ lhu $t5, 0x25a($sp) -/* 10950C 7F0D49DC 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 109510 7F0D49E0 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 109514 7F0D49E4 97AF0294 */ lhu $t7, 0x294($sp) -/* 109518 7F0D49E8 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 10951C 7F0D49EC 01794821 */ addu $t1, $t3, $t9 -/* 109520 7F0D49F0 A12F0000 */ sb $t7, ($t1) -/* 109524 7F0D49F4 97AE025A */ lhu $t6, 0x25a($sp) -/* 109528 7F0D49F8 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 10952C 7F0D49FC 240C0001 */ li $t4, 1 -/* 109530 7F0D4A00 010EC021 */ addu $t8, $t0, $t6 -/* 109534 7F0D4A04 10000012 */ b .L7F0D4A50 -/* 109538 7F0D4A08 A30CA800 */ sb $t4, -0x5800($t8) -.L7F0D4A0C: -/* 10953C 7F0D4A0C 29A14000 */ slti $at, $t5, 0x4000 -/* 109540 7F0D4A10 1420000F */ bnez $at, .L7F0D4A50 -/* 109544 7F0D4A14 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 109548 7F0D4A18 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10954C 7F0D4A1C 97AA0294 */ lhu $t2, 0x294($sp) -/* 109550 7F0D4A20 240F0001 */ li $t7, 1 -/* 109554 7F0D4A24 016DC821 */ addu $t9, $t3, $t5 -/* 109558 7F0D4A28 A32A0000 */ sb $t2, ($t9) -/* 10955C 7F0D4A2C 97A9025A */ lhu $t1, 0x25a($sp) -/* 109560 7F0D4A30 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 109564 7F0D4A34 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 109568 7F0D4A38 31281800 */ andi $t0, $t1, 0x1800 -/* 10956C 7F0D4A3C 000870C3 */ sra $t6, $t0, 3 -/* 109570 7F0D4A40 312C00FF */ andi $t4, $t1, 0xff -/* 109574 7F0D4A44 01CCC025 */ or $t8, $t6, $t4 -/* 109578 7F0D4A48 01786821 */ addu $t5, $t3, $t8 -/* 10957C 7F0D4A4C A1AF0000 */ sb $t7, ($t5) -.L7F0D4A50: -/* 109580 7F0D4A50 97AA025A */ lhu $t2, 0x25a($sp) -/* 109584 7F0D4A54 97AB025A */ lhu $t3, 0x25a($sp) -/* 109588 7F0D4A58 97A80294 */ lhu $t0, 0x294($sp) -/* 10958C 7F0D4A5C 25590001 */ addiu $t9, $t2, 1 -/* 109590 7F0D4A60 2B215B00 */ slti $at, $t9, 0x5b00 -/* 109594 7F0D4A64 14200007 */ bnez $at, .L7F0D4A84 -/* 109598 7F0D4A68 25780001 */ addiu $t8, $t3, 1 -/* 10959C 7F0D4A6C 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1095A0 7F0D4A70 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1095A4 7F0D4A74 00084A03 */ sra $t1, $t0, 8 -/* 1095A8 7F0D4A78 01CA6021 */ addu $t4, $t6, $t2 -/* 1095AC 7F0D4A7C 1000375F */ b .L7F0E27FC -/* 1095B0 7F0D4A80 A1890001 */ sb $t1, 1($t4) -.L7F0D4A84: -/* 1095B4 7F0D4A84 2B015800 */ slti $at, $t8, 0x5800 -/* 1095B8 7F0D4A88 1420000E */ bnez $at, .L7F0D4AC4 -/* 1095BC 7F0D4A8C 97B8025A */ lhu $t8, 0x25a($sp) -/* 1095C0 7F0D4A90 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 1095C4 7F0D4A94 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 1095C8 7F0D4A98 97AF0294 */ lhu $t7, 0x294($sp) -/* 1095CC 7F0D4A9C 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 1095D0 7F0D4AA0 032B4021 */ addu $t0, $t9, $t3 -/* 1095D4 7F0D4AA4 000F6A03 */ sra $t5, $t7, 8 -/* 1095D8 7F0D4AA8 A10D0001 */ sb $t5, 1($t0) -/* 1095DC 7F0D4AAC 97A9025A */ lhu $t1, 0x25a($sp) -/* 1095E0 7F0D4AB0 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 1095E4 7F0D4AB4 240E0001 */ li $t6, 1 -/* 1095E8 7F0D4AB8 01496021 */ addu $t4, $t2, $t1 -/* 1095EC 7F0D4ABC 1000374F */ b .L7F0E27FC -/* 1095F0 7F0D4AC0 A18EA801 */ sb $t6, -0x57ff($t4) -.L7F0D4AC4: -/* 1095F4 7F0D4AC4 270F0001 */ addiu $t7, $t8, 1 -/* 1095F8 7F0D4AC8 29E14000 */ slti $at, $t7, 0x4000 -/* 1095FC 7F0D4ACC 1420374B */ bnez $at, .L7F0E27FC -/* 109600 7F0D4AD0 97B90294 */ lhu $t9, 0x294($sp) -/* 109604 7F0D4AD4 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 109608 7F0D4AD8 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10960C 7F0D4ADC 00195A03 */ sra $t3, $t9, 8 -/* 109610 7F0D4AE0 240A0001 */ li $t2, 1 -/* 109614 7F0D4AE4 01B84021 */ addu $t0, $t5, $t8 -/* 109618 7F0D4AE8 A10B0001 */ sb $t3, 1($t0) -/* 10961C 7F0D4AEC 97A9025A */ lhu $t1, 0x25a($sp) -/* 109620 7F0D4AF0 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 109624 7F0D4AF4 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 109628 7F0D4AF8 252E0001 */ addiu $t6, $t1, 1 -/* 10962C 7F0D4AFC 31CC1800 */ andi $t4, $t6, 0x1800 -/* 109630 7F0D4B00 000C78C3 */ sra $t7, $t4, 3 -/* 109634 7F0D4B04 31D900FF */ andi $t9, $t6, 0xff -/* 109638 7F0D4B08 01F96825 */ or $t5, $t7, $t9 -/* 10963C 7F0D4B0C 030D5821 */ addu $t3, $t8, $t5 -/* 109640 7F0D4B10 1000373A */ b .L7F0E27FC -/* 109644 7F0D4B14 A16A0000 */ sb $t2, ($t3) -spectrum_op_23: -/* 109648 7F0D4B18 8FA8028C */ lw $t0, 0x28c($sp) -/* 10964C 7F0D4B1C 93AC0287 */ lbu $t4, 0x287($sp) -/* 109650 7F0D4B20 93B90287 */ lbu $t9, 0x287($sp) -/* 109654 7F0D4B24 25090006 */ addiu $t1, $t0, 6 -/* 109658 7F0D4B28 15800009 */ bnez $t4, .L7F0D4B50 -/* 10965C 7F0D4B2C AFA9028C */ sw $t1, 0x28c($sp) -/* 109660 7F0D4B30 26F70001 */ addiu $s7, $s7, 1 -/* 109664 7F0D4B34 32EE00FF */ andi $t6, $s7, 0xff -/* 109668 7F0D4B38 15C03730 */ bnez $t6, .L7F0E27FC -/* 10966C 7F0D4B3C 01C0B825 */ move $s7, $t6 -/* 109670 7F0D4B40 26D60001 */ addiu $s6, $s6, 1 -/* 109674 7F0D4B44 32CF00FF */ andi $t7, $s6, 0xff -/* 109678 7F0D4B48 1000372C */ b .L7F0E27FC -/* 10967C 7F0D4B4C 01E0B025 */ move $s6, $t7 -.L7F0D4B50: -/* 109680 7F0D4B50 24010001 */ li $at, 1 -/* 109684 7F0D4B54 17210005 */ bne $t9, $at, .L7F0D4B6C -/* 109688 7F0D4B58 97AA0294 */ lhu $t2, 0x294($sp) -/* 10968C 7F0D4B5C 97B80296 */ lhu $t8, 0x296($sp) -/* 109690 7F0D4B60 270D0001 */ addiu $t5, $t8, 1 -/* 109694 7F0D4B64 10003725 */ b .L7F0E27FC -/* 109698 7F0D4B68 A7AD0296 */ sh $t5, 0x296($sp) -.L7F0D4B6C: -/* 10969C 7F0D4B6C 254B0001 */ addiu $t3, $t2, 1 -/* 1096A0 7F0D4B70 10003722 */ b .L7F0E27FC -/* 1096A4 7F0D4B74 A7AB0294 */ sh $t3, 0x294($sp) -spectrum_op_24: -/* 1096A8 7F0D4B78 8FA8028C */ lw $t0, 0x28c($sp) -/* 1096AC 7F0D4B7C 93AC0287 */ lbu $t4, 0x287($sp) -/* 1096B0 7F0D4B80 93B80287 */ lbu $t8, 0x287($sp) -/* 1096B4 7F0D4B84 25090004 */ addiu $t1, $t0, 4 -/* 1096B8 7F0D4B88 15800017 */ bnez $t4, .L7F0D4BE8 -/* 1096BC 7F0D4B8C AFA9028C */ sw $t1, 0x28c($sp) -/* 1096C0 7F0D4B90 26D60001 */ addiu $s6, $s6, 1 -/* 1096C4 7F0D4B94 32CE00FF */ andi $t6, $s6, 0xff -/* 1096C8 7F0D4B98 31D9000F */ andi $t9, $t6, 0xf -/* 1096CC 7F0D4B9C 2F380001 */ sltiu $t8, $t9, 1 -/* 1096D0 7F0D4BA0 01C0B025 */ move $s6, $t6 -/* 1096D4 7F0D4BA4 2DCF0001 */ sltiu $t7, $t6, 1 -/* 1096D8 7F0D4BA8 31CA00A8 */ andi $t2, $t6, 0xa8 -/* 1096DC 7F0D4BAC 322D0001 */ andi $t5, $s1, 1 -/* 1096E0 7F0D4BB0 01AA5825 */ or $t3, $t5, $t2 -/* 1096E4 7F0D4BB4 3AD90080 */ xori $t9, $s6, 0x80 -/* 1096E8 7F0D4BB8 00184100 */ sll $t0, $t8, 4 -/* 1096EC 7F0D4BBC 01684825 */ or $t1, $t3, $t0 -/* 1096F0 7F0D4BC0 2F390001 */ sltiu $t9, $t9, 1 -/* 1096F4 7F0D4BC4 000F7180 */ sll $t6, $t7, 6 -/* 1096F8 7F0D4BC8 AFAF0044 */ sw $t7, 0x44($sp) -/* 1096FC 7F0D4BCC 012E7825 */ or $t7, $t1, $t6 -/* 109700 7F0D4BD0 00196880 */ sll $t5, $t9, 2 -/* 109704 7F0D4BD4 01ED8825 */ or $s1, $t7, $t5 -/* 109708 7F0D4BD8 322A00FF */ andi $t2, $s1, 0xff -/* 10970C 7F0D4BDC 01408825 */ move $s1, $t2 -/* 109710 7F0D4BE0 10003706 */ b .L7F0E27FC -/* 109714 7F0D4BE4 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D4BE8: -/* 109718 7F0D4BE8 24010001 */ li $at, 1 -/* 10971C 7F0D4BEC 17010004 */ bne $t8, $at, .L7F0D4C00 -/* 109720 7F0D4BF0 97A80294 */ lhu $t0, 0x294($sp) -/* 109724 7F0D4BF4 97AB0296 */ lhu $t3, 0x296($sp) -/* 109728 7F0D4BF8 10000002 */ b .L7F0D4C04 -/* 10972C 7F0D4BFC AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D4C00: -/* 109730 7F0D4C00 AFA80048 */ sw $t0, 0x48($sp) -.L7F0D4C04: -/* 109734 7F0D4C04 8FAC0048 */ lw $t4, 0x48($sp) -/* 109738 7F0D4C08 32280001 */ andi $t0, $s1, 1 -/* 10973C 7F0D4C0C 24010001 */ li $at, 1 -/* 109740 7F0D4C10 000C7203 */ sra $t6, $t4, 8 -/* 109744 7F0D4C14 25CA0001 */ addiu $t2, $t6, 1 -/* 109748 7F0D4C18 314F00FF */ andi $t7, $t2, 0xff -/* 10974C 7F0D4C1C 2DED0001 */ sltiu $t5, $t7, 1 -/* 109750 7F0D4C20 314C00FF */ andi $t4, $t2, 0xff -/* 109754 7F0D4C24 A3AE0259 */ sb $t6, 0x259($sp) -/* 109758 7F0D4C28 318900A8 */ andi $t1, $t4, 0xa8 -/* 10975C 7F0D4C2C AFAD0044 */ sw $t5, 0x44($sp) -/* 109760 7F0D4C30 3158000F */ andi $t8, $t2, 0xf -/* 109764 7F0D4C34 8FB90044 */ lw $t9, 0x44($sp) -/* 109768 7F0D4C38 2F0B0001 */ sltiu $t3, $t8, 1 -/* 10976C 7F0D4C3C 01097025 */ or $t6, $t0, $t1 -/* 109770 7F0D4C40 000B7900 */ sll $t7, $t3, 4 -/* 109774 7F0D4C44 01CF6825 */ or $t5, $t6, $t7 -/* 109778 7F0D4C48 39880080 */ xori $t0, $t4, 0x80 -/* 10977C 7F0D4C4C A3AA0259 */ sb $t2, 0x259($sp) -/* 109780 7F0D4C50 2D080001 */ sltiu $t0, $t0, 1 -/* 109784 7F0D4C54 00195180 */ sll $t2, $t9, 6 -/* 109788 7F0D4C58 93AE0287 */ lbu $t6, 0x287($sp) -/* 10978C 7F0D4C5C 01AAC025 */ or $t8, $t5, $t2 -/* 109790 7F0D4C60 00084880 */ sll $t1, $t0, 2 -/* 109794 7F0D4C64 03098825 */ or $s1, $t8, $t1 -/* 109798 7F0D4C68 AFAB0048 */ sw $t3, 0x48($sp) -/* 10979C 7F0D4C6C 322B00FF */ andi $t3, $s1, 0xff -/* 1097A0 7F0D4C70 15C10007 */ bne $t6, $at, .L7F0D4C90 -/* 1097A4 7F0D4C74 01608825 */ move $s1, $t3 -/* 1097A8 7F0D4C78 97AF0296 */ lhu $t7, 0x296($sp) -/* 1097AC 7F0D4C7C 000C6A00 */ sll $t5, $t4, 8 -/* 1097B0 7F0D4C80 31F900FF */ andi $t9, $t7, 0xff -/* 1097B4 7F0D4C84 032D5025 */ or $t2, $t9, $t5 -/* 1097B8 7F0D4C88 100036DC */ b .L7F0E27FC -/* 1097BC 7F0D4C8C A7AA0296 */ sh $t2, 0x296($sp) -.L7F0D4C90: -/* 1097C0 7F0D4C90 97A80294 */ lhu $t0, 0x294($sp) -/* 1097C4 7F0D4C94 93A90259 */ lbu $t1, 0x259($sp) -/* 1097C8 7F0D4C98 311800FF */ andi $t8, $t0, 0xff -/* 1097CC 7F0D4C9C 00095A00 */ sll $t3, $t1, 8 -/* 1097D0 7F0D4CA0 030B7025 */ or $t6, $t8, $t3 -/* 1097D4 7F0D4CA4 100036D5 */ b .L7F0E27FC -/* 1097D8 7F0D4CA8 A7AE0294 */ sh $t6, 0x294($sp) -spectrum_op_25: -/* 1097DC 7F0D4CAC 8FAF028C */ lw $t7, 0x28c($sp) -/* 1097E0 7F0D4CB0 93B90287 */ lbu $t9, 0x287($sp) -/* 1097E4 7F0D4CB4 93AE0287 */ lbu $t6, 0x287($sp) -/* 1097E8 7F0D4CB8 25EC0004 */ addiu $t4, $t7, 4 -/* 1097EC 7F0D4CBC 17200018 */ bnez $t9, .L7F0D4D20 -/* 1097F0 7F0D4CC0 AFAC028C */ sw $t4, 0x28c($sp) -/* 1097F4 7F0D4CC4 32CD000F */ andi $t5, $s6, 0xf -/* 1097F8 7F0D4CC8 26D6FFFF */ addiu $s6, $s6, -1 -/* 1097FC 7F0D4CCC 32CE00FF */ andi $t6, $s6, 0xff -/* 109800 7F0D4CD0 2DAA0001 */ sltiu $t2, $t5, 1 -/* 109804 7F0D4CD4 000A4900 */ sll $t1, $t2, 4 -/* 109808 7F0D4CD8 39D9007F */ xori $t9, $t6, 0x7f -/* 10980C 7F0D4CDC 2F390001 */ sltiu $t9, $t9, 1 -/* 109810 7F0D4CE0 32280001 */ andi $t0, $s1, 1 -/* 109814 7F0D4CE4 01098825 */ or $s1, $t0, $t1 -/* 109818 7F0D4CE8 00196880 */ sll $t5, $t9, 2 -/* 10981C 7F0D4CEC AFAA0048 */ sw $t2, 0x48($sp) -/* 109820 7F0D4CF0 2DCF0001 */ sltiu $t7, $t6, 1 -/* 109824 7F0D4CF4 31CC00A8 */ andi $t4, $t6, 0xa8 -/* 109828 7F0D4CF8 018D5025 */ or $t2, $t4, $t5 -/* 10982C 7F0D4CFC 000F4980 */ sll $t1, $t7, 6 -/* 109830 7F0D4D00 0149C025 */ or $t8, $t2, $t1 -/* 109834 7F0D4D04 362B0002 */ ori $t3, $s1, 2 -/* 109838 7F0D4D08 01788825 */ or $s1, $t3, $t8 -/* 10983C 7F0D4D0C 322B00FF */ andi $t3, $s1, 0xff -/* 109840 7F0D4D10 01608825 */ move $s1, $t3 -/* 109844 7F0D4D14 AFAF0044 */ sw $t7, 0x44($sp) -/* 109848 7F0D4D18 100036B8 */ b .L7F0E27FC -/* 10984C 7F0D4D1C 01C0B025 */ move $s6, $t6 -.L7F0D4D20: -/* 109850 7F0D4D20 24010001 */ li $at, 1 -/* 109854 7F0D4D24 15C10004 */ bne $t6, $at, .L7F0D4D38 -/* 109858 7F0D4D28 97B90294 */ lhu $t9, 0x294($sp) -/* 10985C 7F0D4D2C 97AF0296 */ lhu $t7, 0x296($sp) -/* 109860 7F0D4D30 10000002 */ b .L7F0D4D3C -/* 109864 7F0D4D34 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D4D38: -/* 109868 7F0D4D38 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D4D3C: -/* 10986C 7F0D4D3C 8FAC0048 */ lw $t4, 0x48($sp) -/* 109870 7F0D4D40 32380001 */ andi $t8, $s1, 1 -/* 109874 7F0D4D44 24010001 */ li $at, 1 -/* 109878 7F0D4D48 000C4203 */ sra $t0, $t4, 8 -/* 10987C 7F0D4D4C 310A000F */ andi $t2, $t0, 0xf -/* 109880 7F0D4D50 2D490001 */ sltiu $t1, $t2, 1 -/* 109884 7F0D4D54 00095900 */ sll $t3, $t1, 4 -/* 109888 7F0D4D58 030B8825 */ or $s1, $t8, $t3 -/* 10988C 7F0D4D5C 311900FF */ andi $t9, $t0, 0xff -/* 109890 7F0D4D60 272CFFFF */ addiu $t4, $t9, -1 -/* 109894 7F0D4D64 319800FF */ andi $t8, $t4, 0xff -/* 109898 7F0D4D68 3B0B007F */ xori $t3, $t8, 0x7f -/* 10989C 7F0D4D6C 362E0002 */ ori $t6, $s1, 2 -/* 1098A0 7F0D4D70 A3A80258 */ sb $t0, 0x258($sp) -/* 1098A4 7F0D4D74 01C08825 */ move $s1, $t6 -/* 1098A8 7F0D4D78 2D6B0001 */ sltiu $t3, $t3, 1 -/* 1098AC 7F0D4D7C 318D00FF */ andi $t5, $t4, 0xff -/* 1098B0 7F0D4D80 AFA90048 */ sw $t1, 0x48($sp) -/* 1098B4 7F0D4D84 318900A8 */ andi $t1, $t4, 0xa8 -/* 1098B8 7F0D4D88 2DA80001 */ sltiu $t0, $t5, 1 -/* 1098BC 7F0D4D8C 000B7080 */ sll $t6, $t3, 2 -/* 1098C0 7F0D4D90 012E7825 */ or $t7, $t1, $t6 -/* 1098C4 7F0D4D94 0008C980 */ sll $t9, $t0, 6 -/* 1098C8 7F0D4D98 93B80287 */ lbu $t8, 0x287($sp) -/* 1098CC 7F0D4D9C 01F96825 */ or $t5, $t7, $t9 -/* 1098D0 7F0D4DA0 022D8825 */ or $s1, $s1, $t5 -/* 1098D4 7F0D4DA4 322A00FF */ andi $t2, $s1, 0xff -/* 1098D8 7F0D4DA8 01408825 */ move $s1, $t2 -/* 1098DC 7F0D4DAC AFA80044 */ sw $t0, 0x44($sp) -/* 1098E0 7F0D4DB0 17010007 */ bne $t8, $at, .L7F0D4DD0 -/* 1098E4 7F0D4DB4 A3AC0258 */ sb $t4, 0x258($sp) -/* 1098E8 7F0D4DB8 97AB0296 */ lhu $t3, 0x296($sp) -/* 1098EC 7F0D4DBC 000C4200 */ sll $t0, $t4, 8 -/* 1098F0 7F0D4DC0 316900FF */ andi $t1, $t3, 0xff -/* 1098F4 7F0D4DC4 01287825 */ or $t7, $t1, $t0 -/* 1098F8 7F0D4DC8 1000368C */ b .L7F0E27FC -/* 1098FC 7F0D4DCC A7AF0296 */ sh $t7, 0x296($sp) -.L7F0D4DD0: -/* 109900 7F0D4DD0 97B90294 */ lhu $t9, 0x294($sp) -/* 109904 7F0D4DD4 93AA0258 */ lbu $t2, 0x258($sp) -/* 109908 7F0D4DD8 332D00FF */ andi $t5, $t9, 0xff -/* 10990C 7F0D4DDC 000AC200 */ sll $t8, $t2, 8 -/* 109910 7F0D4DE0 01B85825 */ or $t3, $t5, $t8 -/* 109914 7F0D4DE4 10003685 */ b .L7F0E27FC -/* 109918 7F0D4DE8 A7AB0294 */ sh $t3, 0x294($sp) -spectrum_op_26: -/* 10991C 7F0D4DEC 8FAC028C */ lw $t4, 0x28c($sp) -/* 109920 7F0D4DF0 93A90287 */ lbu $t1, 0x287($sp) -/* 109924 7F0D4DF4 93AA0287 */ lbu $t2, 0x287($sp) -/* 109928 7F0D4DF8 258E0007 */ addiu $t6, $t4, 7 -/* 10992C 7F0D4DFC 15200007 */ bnez $t1, .L7F0D4E1C -/* 109930 7F0D4E00 AFAE028C */ sw $t6, 0x28c($sp) -/* 109934 7F0D4E04 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 109938 7F0D4E08 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10993C 7F0D4E0C 97A80298 */ lhu $t0, 0x298($sp) -/* 109940 7F0D4E10 010FC821 */ addu $t9, $t0, $t7 -/* 109944 7F0D4E14 10000018 */ b .L7F0D4E78 -/* 109948 7F0D4E18 93360000 */ lbu $s6, ($t9) -.L7F0D4E1C: -/* 10994C 7F0D4E1C 24010001 */ li $at, 1 -/* 109950 7F0D4E20 1541000C */ bne $t2, $at, .L7F0D4E54 -/* 109954 7F0D4E24 97B90298 */ lhu $t9, 0x298($sp) -/* 109958 7F0D4E28 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10995C 7F0D4E2C 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 109960 7F0D4E30 97AD0298 */ lhu $t5, 0x298($sp) -/* 109964 7F0D4E34 97A90296 */ lhu $t1, 0x296($sp) -/* 109968 7F0D4E38 01B85821 */ addu $t3, $t5, $t8 -/* 10996C 7F0D4E3C 916C0000 */ lbu $t4, ($t3) -/* 109970 7F0D4E40 312800FF */ andi $t0, $t1, 0xff -/* 109974 7F0D4E44 000C7200 */ sll $t6, $t4, 8 -/* 109978 7F0D4E48 01C87825 */ or $t7, $t6, $t0 -/* 10997C 7F0D4E4C 1000000A */ b .L7F0D4E78 -/* 109980 7F0D4E50 A7AF0296 */ sh $t7, 0x296($sp) -.L7F0D4E54: -/* 109984 7F0D4E54 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 109988 7F0D4E58 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10998C 7F0D4E5C 97AC0294 */ lhu $t4, 0x294($sp) -/* 109990 7F0D4E60 032A6821 */ addu $t5, $t9, $t2 -/* 109994 7F0D4E64 91B80000 */ lbu $t8, ($t5) -/* 109998 7F0D4E68 318900FF */ andi $t1, $t4, 0xff -/* 10999C 7F0D4E6C 00185A00 */ sll $t3, $t8, 8 -/* 1099A0 7F0D4E70 01697025 */ or $t6, $t3, $t1 -/* 1099A4 7F0D4E74 A7AE0294 */ sh $t6, 0x294($sp) -.L7F0D4E78: -/* 1099A8 7F0D4E78 97A80298 */ lhu $t0, 0x298($sp) -/* 1099AC 7F0D4E7C 250F0001 */ addiu $t7, $t0, 1 -/* 1099B0 7F0D4E80 1000365E */ b .L7F0E27FC -/* 1099B4 7F0D4E84 A7AF0298 */ sh $t7, 0x298($sp) -spectrum_op_27: -/* 1099B8 7F0D4E88 8FB9028C */ lw $t9, 0x28c($sp) -/* 1099BC 7F0D4E8C 322D0001 */ andi $t5, $s1, 1 -/* 1099C0 7F0D4E90 32380010 */ andi $t8, $s1, 0x10 -/* 1099C4 7F0D4E94 272A0004 */ addiu $t2, $t9, 4 -/* 1099C8 7F0D4E98 AFAA028C */ sw $t2, 0x28c($sp) -/* 1099CC 7F0D4E9C A3AD0256 */ sb $t5, 0x256($sp) -/* 1099D0 7F0D4EA0 17000004 */ bnez $t8, .L7F0D4EB4 -/* 1099D4 7F0D4EA4 A3A00257 */ sb $zero, 0x257($sp) -/* 1099D8 7F0D4EA8 320C000F */ andi $t4, $s0, 0xf -/* 1099DC 7F0D4EAC 2981000A */ slti $at, $t4, 0xa -/* 1099E0 7F0D4EB0 14200002 */ bnez $at, .L7F0D4EBC -.L7F0D4EB4: -/* 1099E4 7F0D4EB4 240B0006 */ li $t3, 6 -/* 1099E8 7F0D4EB8 A3AB0257 */ sb $t3, 0x257($sp) -.L7F0D4EBC: -/* 1099EC 7F0D4EBC 32290001 */ andi $t1, $s1, 1 -/* 1099F0 7F0D4EC0 15200005 */ bnez $t1, .L7F0D4ED8 -/* 1099F4 7F0D4EC4 32390002 */ andi $t9, $s1, 2 -/* 1099F8 7F0D4EC8 00107103 */ sra $t6, $s0, 4 -/* 1099FC 7F0D4ECC 29C1000A */ slti $at, $t6, 0xa -/* 109A00 7F0D4ED0 14200004 */ bnez $at, .L7F0D4EE4 -/* 109A04 7F0D4ED4 00000000 */ nop -.L7F0D4ED8: -/* 109A08 7F0D4ED8 93A80257 */ lbu $t0, 0x257($sp) -/* 109A0C 7F0D4EDC 350F0060 */ ori $t7, $t0, 0x60 -/* 109A10 7F0D4EE0 A3AF0257 */ sb $t7, 0x257($sp) -.L7F0D4EE4: -/* 109A14 7F0D4EE4 1320001D */ beqz $t9, .L7F0D4F5C -/* 109A18 7F0D4EE8 2A010091 */ slti $at, $s0, 0x91 -/* 109A1C 7F0D4EEC 93AA0257 */ lbu $t2, 0x257($sp) -/* 109A20 7F0D4EF0 320F000F */ andi $t7, $s0, 0xf -/* 109A24 7F0D4EF4 020A6823 */ subu $t5, $s0, $t2 -/* 109A28 7F0D4EF8 31B801FF */ andi $t8, $t5, 0x1ff -/* 109A2C 7F0D4EFC 330B00A8 */ andi $t3, $t8, 0xa8 -/* 109A30 7F0D4F00 00187203 */ sra $t6, $t8, 8 -/* 109A34 7F0D4F04 3159000F */ andi $t9, $t2, 0xf -/* 109A38 7F0D4F08 01F9682A */ slt $t5, $t7, $t9 -/* 109A3C 7F0D4F0C 016E4025 */ or $t0, $t3, $t6 -/* 109A40 7F0D4F10 020A5826 */ xor $t3, $s0, $t2 -/* 109A44 7F0D4F14 000D6100 */ sll $t4, $t5, 4 -/* 109A48 7F0D4F18 0310C826 */ xor $t9, $t8, $s0 -/* 109A4C 7F0D4F1C A7B80254 */ sh $t8, 0x254($sp) -/* 109A50 7F0D4F20 93B00255 */ lbu $s0, 0x255($sp) -/* 109A54 7F0D4F24 316E0080 */ andi $t6, $t3, 0x80 -/* 109A58 7F0D4F28 01D96824 */ and $t5, $t6, $t9 -/* 109A5C 7F0D4F2C 010C4825 */ or $t1, $t0, $t4 -/* 109A60 7F0D4F30 000D4143 */ sra $t0, $t5, 5 -/* 109A64 7F0D4F34 01288825 */ or $s1, $t1, $t0 -/* 109A68 7F0D4F38 A3AA0253 */ sb $t2, 0x253($sp) -/* 109A6C 7F0D4F3C 2E0B0001 */ sltiu $t3, $s0, 1 -/* 109A70 7F0D4F40 000B7980 */ sll $t7, $t3, 6 -/* 109A74 7F0D4F44 362A0002 */ ori $t2, $s1, 2 -/* 109A78 7F0D4F48 014F8825 */ or $s1, $t2, $t7 -/* 109A7C 7F0D4F4C 322E00FF */ andi $t6, $s1, 0xff -/* 109A80 7F0D4F50 01C08825 */ move $s1, $t6 -/* 109A84 7F0D4F54 10000024 */ b .L7F0D4FE8 -/* 109A88 7F0D4F58 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D4F5C: -/* 109A8C 7F0D4F5C 14200006 */ bnez $at, .L7F0D4F78 -/* 109A90 7F0D4F60 3219000F */ andi $t9, $s0, 0xf -/* 109A94 7F0D4F64 2B21000A */ slti $at, $t9, 0xa -/* 109A98 7F0D4F68 14200003 */ bnez $at, .L7F0D4F78 -/* 109A9C 7F0D4F6C 93AD0257 */ lbu $t5, 0x257($sp) -/* 109AA0 7F0D4F70 35A90060 */ ori $t1, $t5, 0x60 -/* 109AA4 7F0D4F74 A3A90257 */ sb $t1, 0x257($sp) -.L7F0D4F78: -/* 109AA8 7F0D4F78 93A80257 */ lbu $t0, 0x257($sp) -/* 109AAC 7F0D4F7C 320E000F */ andi $t6, $s0, 0xf -/* 109AB0 7F0D4F80 2401000F */ li $at, 15 -/* 109AB4 7F0D4F84 02085021 */ addu $t2, $s0, $t0 -/* 109AB8 7F0D4F88 314B00A8 */ andi $t3, $t2, 0xa8 -/* 109ABC 7F0D4F8C 000AC203 */ sra $t8, $t2, 8 -/* 109AC0 7F0D4F90 3119000F */ andi $t9, $t0, 0xf -/* 109AC4 7F0D4F94 01D96821 */ addu $t5, $t6, $t9 -/* 109AC8 7F0D4F98 01787825 */ or $t7, $t3, $t8 -/* 109ACC 7F0D4F9C 0200C027 */ not $t8, $s0 -/* 109AD0 7F0D4FA0 002D482A */ slt $t1, $at, $t5 -/* 109AD4 7F0D4FA4 01506826 */ xor $t5, $t2, $s0 -/* 109AD8 7F0D4FA8 A7AA0250 */ sh $t2, 0x250($sp) -/* 109ADC 7F0D4FAC 93B00251 */ lbu $s0, 0x251($sp) -/* 109AE0 7F0D4FB0 00096100 */ sll $t4, $t1, 4 -/* 109AE4 7F0D4FB4 03087026 */ xor $t6, $t8, $t0 -/* 109AE8 7F0D4FB8 31D90080 */ andi $t9, $t6, 0x80 -/* 109AEC 7F0D4FBC 032D4824 */ and $t1, $t9, $t5 -/* 109AF0 7F0D4FC0 01EC5825 */ or $t3, $t7, $t4 -/* 109AF4 7F0D4FC4 00097943 */ sra $t7, $t1, 5 -/* 109AF8 7F0D4FC8 2E180001 */ sltiu $t8, $s0, 1 -/* 109AFC 7F0D4FCC 00187180 */ sll $t6, $t8, 6 -/* 109B00 7F0D4FD0 016F6025 */ or $t4, $t3, $t7 -/* 109B04 7F0D4FD4 018E8825 */ or $s1, $t4, $t6 -/* 109B08 7F0D4FD8 322A00FF */ andi $t2, $s1, 0xff -/* 109B0C 7F0D4FDC 01408825 */ move $s1, $t2 -/* 109B10 7F0D4FE0 AFB80048 */ sw $t8, 0x48($sp) -/* 109B14 7F0D4FE4 A3A8024F */ sb $t0, 0x24f($sp) -.L7F0D4FE8: -/* 109B18 7F0D4FE8 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 109B1C 7F0D4FEC 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 109B20 7F0D4FF0 93AB0256 */ lbu $t3, 0x256($sp) -/* 109B24 7F0D4FF4 02196821 */ addu $t5, $s0, $t9 -/* 109B28 7F0D4FF8 91A90000 */ lbu $t1, ($t5) -/* 109B2C 7F0D4FFC 022B7825 */ or $t7, $s1, $t3 -/* 109B30 7F0D5000 31EC00FB */ andi $t4, $t7, 0xfb -/* 109B34 7F0D5004 012C8825 */ or $s1, $t1, $t4 -/* 109B38 7F0D5008 323800FF */ andi $t8, $s1, 0xff -/* 109B3C 7F0D500C 100035FB */ b .L7F0E27FC -/* 109B40 7F0D5010 03008825 */ move $s1, $t8 -spectrum_op_28: -/* 109B44 7F0D5014 8FA8028C */ lw $t0, 0x28c($sp) -/* 109B48 7F0D5018 322A0040 */ andi $t2, $s1, 0x40 -/* 109B4C 7F0D501C 97B90298 */ lhu $t9, 0x298($sp) -/* 109B50 7F0D5020 250E0007 */ addiu $t6, $t0, 7 -/* 109B54 7F0D5024 1140000C */ beqz $t2, .L7F0D5058 -/* 109B58 7F0D5028 AFAE028C */ sw $t6, 0x28c($sp) -/* 109B5C 7F0D502C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 109B60 7F0D5030 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 109B64 7F0D5034 25C80005 */ addiu $t0, $t6, 5 -/* 109B68 7F0D5038 032D5821 */ addu $t3, $t9, $t5 -/* 109B6C 7F0D503C 816F0000 */ lb $t7, ($t3) -/* 109B70 7F0D5040 AFA8028C */ sw $t0, 0x28c($sp) -/* 109B74 7F0D5044 032F4821 */ addu $t1, $t9, $t7 -/* 109B78 7F0D5048 252C0001 */ addiu $t4, $t1, 1 -/* 109B7C 7F0D504C A7AC0298 */ sh $t4, 0x298($sp) -/* 109B80 7F0D5050 100035EA */ b .L7F0E27FC -/* 109B84 7F0D5054 AFAF0248 */ sw $t7, 0x248($sp) -.L7F0D5058: -/* 109B88 7F0D5058 97AE0298 */ lhu $t6, 0x298($sp) -/* 109B8C 7F0D505C 25CA0001 */ addiu $t2, $t6, 1 -/* 109B90 7F0D5060 100035E6 */ b .L7F0E27FC -/* 109B94 7F0D5064 A7AA0298 */ sh $t2, 0x298($sp) -spectrum_op_29: -/* 109B98 7F0D5068 8FAD028C */ lw $t5, 0x28c($sp) -/* 109B9C 7F0D506C 93B90287 */ lbu $t9, 0x287($sp) -/* 109BA0 7F0D5070 25AB000B */ addiu $t3, $t5, 0xb -/* 109BA4 7F0D5074 17200045 */ bnez $t9, .L7F0D518C -/* 109BA8 7F0D5078 AFAB028C */ sw $t3, 0x28c($sp) -/* 109BAC 7F0D507C 1720001C */ bnez $t9, .L7F0D50F0 -/* 109BB0 7F0D5080 93A90287 */ lbu $t1, 0x287($sp) -/* 109BB4 7F0D5084 02F77821 */ addu $t7, $s7, $s7 -/* 109BB8 7F0D5088 31E9FFFF */ andi $t1, $t7, 0xffff -/* 109BBC 7F0D508C 00096202 */ srl $t4, $t1, 8 -/* 109BC0 7F0D5090 3188FFFF */ andi $t0, $t4, 0xffff -/* 109BC4 7F0D5094 32D8000F */ andi $t8, $s6, 0xf -/* 109BC8 7F0D5098 01187021 */ addu $t6, $t0, $t8 -/* 109BCC 7F0D509C 32CA000F */ andi $t2, $s6, 0xf -/* 109BD0 7F0D50A0 01CA6821 */ addu $t5, $t6, $t2 -/* 109BD4 7F0D50A4 A7AF0246 */ sh $t7, 0x246($sp) -/* 109BD8 7F0D50A8 2401000F */ li $at, 15 -/* 109BDC 7F0D50AC 002D582A */ slt $t3, $at, $t5 -/* 109BE0 7F0D50B0 93B70247 */ lbu $s7, 0x247($sp) -/* 109BE4 7F0D50B4 02D64021 */ addu $t0, $s6, $s6 -/* 109BE8 7F0D50B8 01886821 */ addu $t5, $t4, $t0 -/* 109BEC 7F0D50BC A7AC0246 */ sh $t4, 0x246($sp) -/* 109BF0 7F0D50C0 A7AD0246 */ sh $t5, 0x246($sp) -/* 109BF4 7F0D50C4 93B60247 */ lbu $s6, 0x247($sp) -/* 109BF8 7F0D50C8 000BC900 */ sll $t9, $t3, 4 -/* 109BFC 7F0D50CC 322F00C4 */ andi $t7, $s1, 0xc4 -/* 109C00 7F0D50D0 032F4825 */ or $t1, $t9, $t7 -/* 109C04 7F0D50D4 000D5A03 */ sra $t3, $t5, 8 -/* 109C08 7F0D50D8 32CA0028 */ andi $t2, $s6, 0x28 -/* 109C0C 7F0D50DC 014BC825 */ or $t9, $t2, $t3 -/* 109C10 7F0D50E0 01398825 */ or $s1, $t1, $t9 -/* 109C14 7F0D50E4 322F00FF */ andi $t7, $s1, 0xff -/* 109C18 7F0D50E8 100035C4 */ b .L7F0E27FC -/* 109C1C 7F0D50EC 01E08825 */ move $s1, $t7 -.L7F0D50F0: -/* 109C20 7F0D50F0 24010001 */ li $at, 1 -/* 109C24 7F0D50F4 15210004 */ bne $t1, $at, .L7F0D5108 -/* 109C28 7F0D50F8 00166A00 */ sll $t5, $s6, 8 -/* 109C2C 7F0D50FC 97AC0296 */ lhu $t4, 0x296($sp) -/* 109C30 7F0D5100 10000003 */ b .L7F0D5110 -/* 109C34 7F0D5104 AFAC0240 */ sw $t4, 0x240($sp) -.L7F0D5108: -/* 109C38 7F0D5108 97B80294 */ lhu $t8, 0x294($sp) -/* 109C3C 7F0D510C AFB80240 */ sw $t8, 0x240($sp) -.L7F0D5110: -/* 109C40 7F0D5110 8FA80240 */ lw $t0, 0x240($sp) -/* 109C44 7F0D5114 01B75025 */ or $t2, $t5, $s7 -/* 109C48 7F0D5118 24010FFF */ li $at, 4095 -/* 109C4C 7F0D511C 310E0FFF */ andi $t6, $t0, 0xfff -/* 109C50 7F0D5120 01CA5821 */ addu $t3, $t6, $t2 -/* 109C54 7F0D5124 002BC82B */ sltu $t9, $at, $t3 -/* 109C58 7F0D5128 93AA0287 */ lbu $t2, 0x287($sp) -/* 109C5C 7F0D512C 00197900 */ sll $t7, $t9, 4 -/* 109C60 7F0D5130 322900C4 */ andi $t1, $s1, 0xc4 -/* 109C64 7F0D5134 0016C200 */ sll $t8, $s6, 8 -/* 109C68 7F0D5138 03176825 */ or $t5, $t8, $s7 -/* 109C6C 7F0D513C 012F8825 */ or $s1, $t1, $t7 -/* 109C70 7F0D5140 322C00FF */ andi $t4, $s1, 0xff -/* 109C74 7F0D5144 24010001 */ li $at, 1 -/* 109C78 7F0D5148 010D7021 */ addu $t6, $t0, $t5 -/* 109C7C 7F0D514C AFAE0240 */ sw $t6, 0x240($sp) -/* 109C80 7F0D5150 15410003 */ bne $t2, $at, .L7F0D5160 -/* 109C84 7F0D5154 01808825 */ move $s1, $t4 -/* 109C88 7F0D5158 10000003 */ b .L7F0D5168 -/* 109C8C 7F0D515C A7AE0296 */ sh $t6, 0x296($sp) -.L7F0D5160: -/* 109C90 7F0D5160 8FAB0240 */ lw $t3, 0x240($sp) -/* 109C94 7F0D5164 A7AB0294 */ sh $t3, 0x294($sp) -.L7F0D5168: -/* 109C98 7F0D5168 8FB90240 */ lw $t9, 0x240($sp) -/* 109C9C 7F0D516C 00194A02 */ srl $t1, $t9, 8 -/* 109CA0 7F0D5170 312F0028 */ andi $t7, $t1, 0x28 -/* 109CA4 7F0D5174 00196402 */ srl $t4, $t9, 0x10 -/* 109CA8 7F0D5178 01ECC025 */ or $t8, $t7, $t4 -/* 109CAC 7F0D517C 02388825 */ or $s1, $s1, $t8 -/* 109CB0 7F0D5180 322800FF */ andi $t0, $s1, 0xff -/* 109CB4 7F0D5184 1000359D */ b .L7F0E27FC -/* 109CB8 7F0D5188 01008825 */ move $s1, $t0 -.L7F0D518C: -/* 109CBC 7F0D518C 93AD0287 */ lbu $t5, 0x287($sp) -/* 109CC0 7F0D5190 24010001 */ li $at, 1 -/* 109CC4 7F0D5194 93A90287 */ lbu $t1, 0x287($sp) -/* 109CC8 7F0D5198 15A10049 */ bne $t5, $at, .L7F0D52C0 -/* 109CCC 7F0D519C 00000000 */ nop -/* 109CD0 7F0D51A0 15A0001F */ bnez $t5, .L7F0D5220 -/* 109CD4 7F0D51A4 93A80287 */ lbu $t0, 0x287($sp) -/* 109CD8 7F0D51A8 97AA0296 */ lhu $t2, 0x296($sp) -/* 109CDC 7F0D51AC 32CF000F */ andi $t7, $s6, 0xf -/* 109CE0 7F0D51B0 2401000F */ li $at, 15 -/* 109CE4 7F0D51B4 314E00FF */ andi $t6, $t2, 0xff -/* 109CE8 7F0D51B8 02EE5821 */ addu $t3, $s7, $t6 -/* 109CEC 7F0D51BC 3169FFFF */ andi $t1, $t3, 0xffff -/* 109CF0 7F0D51C0 0009CA02 */ srl $t9, $t1, 8 -/* 109CF4 7F0D51C4 332CFFFF */ andi $t4, $t9, 0xffff -/* 109CF8 7F0D51C8 000A4203 */ sra $t0, $t2, 8 -/* 109CFC 7F0D51CC 310D000F */ andi $t5, $t0, 0xf -/* 109D00 7F0D51D0 018FC021 */ addu $t8, $t4, $t7 -/* 109D04 7F0D51D4 030D7021 */ addu $t6, $t8, $t5 -/* 109D08 7F0D51D8 A7AB023E */ sh $t3, 0x23e($sp) -/* 109D0C 7F0D51DC 002E582A */ slt $t3, $at, $t6 -/* 109D10 7F0D51E0 000B4900 */ sll $t1, $t3, 4 -/* 109D14 7F0D51E4 93B7023F */ lbu $s7, 0x23f($sp) -/* 109D18 7F0D51E8 02C85021 */ addu $t2, $s6, $t0 -/* 109D1C 7F0D51EC 032A5821 */ addu $t3, $t9, $t2 -/* 109D20 7F0D51F0 A7B9023E */ sh $t9, 0x23e($sp) -/* 109D24 7F0D51F4 A7AB023E */ sh $t3, 0x23e($sp) -/* 109D28 7F0D51F8 93B6023F */ lbu $s6, 0x23f($sp) -/* 109D2C 7F0D51FC 322C00C4 */ andi $t4, $s1, 0xc4 -/* 109D30 7F0D5200 012C7825 */ or $t7, $t1, $t4 -/* 109D34 7F0D5204 000B4A03 */ sra $t1, $t3, 8 -/* 109D38 7F0D5208 32CE0028 */ andi $t6, $s6, 0x28 -/* 109D3C 7F0D520C 01C96025 */ or $t4, $t6, $t1 -/* 109D40 7F0D5210 01EC8825 */ or $s1, $t7, $t4 -/* 109D44 7F0D5214 322F00FF */ andi $t7, $s1, 0xff -/* 109D48 7F0D5218 10003578 */ b .L7F0E27FC -/* 109D4C 7F0D521C 01E08825 */ move $s1, $t7 -.L7F0D5220: -/* 109D50 7F0D5220 24010001 */ li $at, 1 -/* 109D54 7F0D5224 15010004 */ bne $t0, $at, .L7F0D5238 -/* 109D58 7F0D5228 97B80294 */ lhu $t8, 0x294($sp) -/* 109D5C 7F0D522C 97B90296 */ lhu $t9, 0x296($sp) -/* 109D60 7F0D5230 10000002 */ b .L7F0D523C -/* 109D64 7F0D5234 AFB90238 */ sw $t9, 0x238($sp) -.L7F0D5238: -/* 109D68 7F0D5238 AFB80238 */ sw $t8, 0x238($sp) -.L7F0D523C: -/* 109D6C 7F0D523C 97AA0296 */ lhu $t2, 0x296($sp) -/* 109D70 7F0D5240 8FAC0238 */ lw $t4, 0x238($sp) -/* 109D74 7F0D5244 24010FFF */ li $at, 4095 -/* 109D78 7F0D5248 000A6A03 */ sra $t5, $t2, 8 -/* 109D7C 7F0D524C 000D5A00 */ sll $t3, $t5, 8 -/* 109D80 7F0D5250 314E00FF */ andi $t6, $t2, 0xff -/* 109D84 7F0D5254 016E4825 */ or $t1, $t3, $t6 -/* 109D88 7F0D5258 318F0FFF */ andi $t7, $t4, 0xfff -/* 109D8C 7F0D525C 01E94021 */ addu $t0, $t7, $t1 -/* 109D90 7F0D5260 0028C82B */ sltu $t9, $at, $t0 -/* 109D94 7F0D5264 93AE0287 */ lbu $t6, 0x287($sp) -/* 109D98 7F0D5268 0019C100 */ sll $t8, $t9, 4 -/* 109D9C 7F0D526C 322D00C4 */ andi $t5, $s1, 0xc4 -/* 109DA0 7F0D5270 01B88825 */ or $s1, $t5, $t8 -/* 109DA4 7F0D5274 322A00FF */ andi $t2, $s1, 0xff -/* 109DA8 7F0D5278 24010001 */ li $at, 1 -/* 109DAC 7F0D527C 01895821 */ addu $t3, $t4, $t1 -/* 109DB0 7F0D5280 AFAB0238 */ sw $t3, 0x238($sp) -/* 109DB4 7F0D5284 15C10003 */ bne $t6, $at, .L7F0D5294 -/* 109DB8 7F0D5288 01408825 */ move $s1, $t2 -/* 109DBC 7F0D528C 10000003 */ b .L7F0D529C -/* 109DC0 7F0D5290 A7AB0296 */ sh $t3, 0x296($sp) -.L7F0D5294: -/* 109DC4 7F0D5294 8FAF0238 */ lw $t7, 0x238($sp) -/* 109DC8 7F0D5298 A7AF0294 */ sh $t7, 0x294($sp) -.L7F0D529C: -/* 109DCC 7F0D529C 8FA80238 */ lw $t0, 0x238($sp) -/* 109DD0 7F0D52A0 0008CA02 */ srl $t9, $t0, 8 -/* 109DD4 7F0D52A4 332D0028 */ andi $t5, $t9, 0x28 -/* 109DD8 7F0D52A8 0008C402 */ srl $t8, $t0, 0x10 -/* 109DDC 7F0D52AC 01B85025 */ or $t2, $t5, $t8 -/* 109DE0 7F0D52B0 022A8825 */ or $s1, $s1, $t2 -/* 109DE4 7F0D52B4 322C00FF */ andi $t4, $s1, 0xff -/* 109DE8 7F0D52B8 10003550 */ b .L7F0E27FC -/* 109DEC 7F0D52BC 01808825 */ move $s1, $t4 -.L7F0D52C0: -/* 109DF0 7F0D52C0 1520001F */ bnez $t1, .L7F0D5340 -/* 109DF4 7F0D52C4 93AC0287 */ lbu $t4, 0x287($sp) -/* 109DF8 7F0D52C8 97AE0294 */ lhu $t6, 0x294($sp) -/* 109DFC 7F0D52CC 32CD000F */ andi $t5, $s6, 0xf -/* 109E00 7F0D52D0 2401000F */ li $at, 15 -/* 109E04 7F0D52D4 31CB00FF */ andi $t3, $t6, 0xff -/* 109E08 7F0D52D8 02EB7821 */ addu $t7, $s7, $t3 -/* 109E0C 7F0D52DC 31F9FFFF */ andi $t9, $t7, 0xffff -/* 109E10 7F0D52E0 00194202 */ srl $t0, $t9, 8 -/* 109E14 7F0D52E4 3118FFFF */ andi $t8, $t0, 0xffff -/* 109E18 7F0D52E8 000E6203 */ sra $t4, $t6, 8 -/* 109E1C 7F0D52EC 3189000F */ andi $t1, $t4, 0xf -/* 109E20 7F0D52F0 030D5021 */ addu $t2, $t8, $t5 -/* 109E24 7F0D52F4 01495821 */ addu $t3, $t2, $t1 -/* 109E28 7F0D52F8 A7AF0236 */ sh $t7, 0x236($sp) -/* 109E2C 7F0D52FC 002B782A */ slt $t7, $at, $t3 -/* 109E30 7F0D5300 000FC900 */ sll $t9, $t7, 4 -/* 109E34 7F0D5304 93B70237 */ lbu $s7, 0x237($sp) -/* 109E38 7F0D5308 02CC7021 */ addu $t6, $s6, $t4 -/* 109E3C 7F0D530C 010E7821 */ addu $t7, $t0, $t6 -/* 109E40 7F0D5310 A7A80236 */ sh $t0, 0x236($sp) -/* 109E44 7F0D5314 A7AF0236 */ sh $t7, 0x236($sp) -/* 109E48 7F0D5318 93B60237 */ lbu $s6, 0x237($sp) -/* 109E4C 7F0D531C 323800C4 */ andi $t8, $s1, 0xc4 -/* 109E50 7F0D5320 03386825 */ or $t5, $t9, $t8 -/* 109E54 7F0D5324 000FCA03 */ sra $t9, $t7, 8 -/* 109E58 7F0D5328 32CB0028 */ andi $t3, $s6, 0x28 -/* 109E5C 7F0D532C 0179C025 */ or $t8, $t3, $t9 -/* 109E60 7F0D5330 01B88825 */ or $s1, $t5, $t8 -/* 109E64 7F0D5334 322D00FF */ andi $t5, $s1, 0xff -/* 109E68 7F0D5338 10003530 */ b .L7F0E27FC -/* 109E6C 7F0D533C 01A08825 */ move $s1, $t5 -.L7F0D5340: -/* 109E70 7F0D5340 24010001 */ li $at, 1 -/* 109E74 7F0D5344 15810004 */ bne $t4, $at, .L7F0D5358 -/* 109E78 7F0D5348 97AA0294 */ lhu $t2, 0x294($sp) -/* 109E7C 7F0D534C 97A80296 */ lhu $t0, 0x296($sp) -/* 109E80 7F0D5350 10000002 */ b .L7F0D535C -/* 109E84 7F0D5354 AFA80230 */ sw $t0, 0x230($sp) -.L7F0D5358: -/* 109E88 7F0D5358 AFAA0230 */ sw $t2, 0x230($sp) -.L7F0D535C: -/* 109E8C 7F0D535C 97AE0294 */ lhu $t6, 0x294($sp) -/* 109E90 7F0D5360 8FB80230 */ lw $t8, 0x230($sp) -/* 109E94 7F0D5364 24010FFF */ li $at, 4095 -/* 109E98 7F0D5368 000E4A03 */ sra $t1, $t6, 8 -/* 109E9C 7F0D536C 00097A00 */ sll $t7, $t1, 8 -/* 109EA0 7F0D5370 31CB00FF */ andi $t3, $t6, 0xff -/* 109EA4 7F0D5374 01EBC825 */ or $t9, $t7, $t3 -/* 109EA8 7F0D5378 330D0FFF */ andi $t5, $t8, 0xfff -/* 109EAC 7F0D537C 01B96021 */ addu $t4, $t5, $t9 -/* 109EB0 7F0D5380 002C402B */ sltu $t0, $at, $t4 -/* 109EB4 7F0D5384 93AB0287 */ lbu $t3, 0x287($sp) -/* 109EB8 7F0D5388 00085100 */ sll $t2, $t0, 4 -/* 109EBC 7F0D538C 322900C4 */ andi $t1, $s1, 0xc4 -/* 109EC0 7F0D5390 012A8825 */ or $s1, $t1, $t2 -/* 109EC4 7F0D5394 322E00FF */ andi $t6, $s1, 0xff -/* 109EC8 7F0D5398 24010001 */ li $at, 1 -/* 109ECC 7F0D539C 03197821 */ addu $t7, $t8, $t9 -/* 109ED0 7F0D53A0 AFAF0230 */ sw $t7, 0x230($sp) -/* 109ED4 7F0D53A4 15610003 */ bne $t3, $at, .L7F0D53B4 -/* 109ED8 7F0D53A8 01C08825 */ move $s1, $t6 -/* 109EDC 7F0D53AC 10000003 */ b .L7F0D53BC -/* 109EE0 7F0D53B0 A7AF0296 */ sh $t7, 0x296($sp) -.L7F0D53B4: -/* 109EE4 7F0D53B4 8FAD0230 */ lw $t5, 0x230($sp) -/* 109EE8 7F0D53B8 A7AD0294 */ sh $t5, 0x294($sp) -.L7F0D53BC: -/* 109EEC 7F0D53BC 8FAC0230 */ lw $t4, 0x230($sp) -/* 109EF0 7F0D53C0 000C4202 */ srl $t0, $t4, 8 -/* 109EF4 7F0D53C4 31090028 */ andi $t1, $t0, 0x28 -/* 109EF8 7F0D53C8 000C5402 */ srl $t2, $t4, 0x10 -/* 109EFC 7F0D53CC 012A7025 */ or $t6, $t1, $t2 -/* 109F00 7F0D53D0 022E8825 */ or $s1, $s1, $t6 -/* 109F04 7F0D53D4 323800FF */ andi $t8, $s1, 0xff -/* 109F08 7F0D53D8 10003508 */ b .L7F0E27FC -/* 109F0C 7F0D53DC 03008825 */ move $s1, $t8 -spectrum_op_2A: -/* 109F10 7F0D53E0 8FB9028C */ lw $t9, 0x28c($sp) -/* 109F14 7F0D53E4 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 109F18 7F0D53E8 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 109F1C 7F0D53EC 97AF0298 */ lhu $t7, 0x298($sp) -/* 109F20 7F0D53F0 272B0010 */ addiu $t3, $t9, 0x10 -/* 109F24 7F0D53F4 AFAB028C */ sw $t3, 0x28c($sp) -/* 109F28 7F0D53F8 01AF4821 */ addu $t1, $t5, $t7 -/* 109F2C 7F0D53FC 912A0001 */ lbu $t2, 1($t1) -/* 109F30 7F0D5400 01ED4021 */ addu $t0, $t7, $t5 -/* 109F34 7F0D5404 910C0000 */ lbu $t4, ($t0) -/* 109F38 7F0D5408 93AB0287 */ lbu $t3, 0x287($sp) -/* 109F3C 7F0D540C 000A7200 */ sll $t6, $t2, 8 -/* 109F40 7F0D5410 25F90002 */ addiu $t9, $t7, 2 -/* 109F44 7F0D5414 018EC025 */ or $t8, $t4, $t6 -/* 109F48 7F0D5418 A7B8022E */ sh $t8, 0x22e($sp) -/* 109F4C 7F0D541C 15600006 */ bnez $t3, .L7F0D5438 -/* 109F50 7F0D5420 A7B90298 */ sh $t9, 0x298($sp) -/* 109F54 7F0D5424 3308FFFF */ andi $t0, $t8, 0xffff -/* 109F58 7F0D5428 010D4821 */ addu $t1, $t0, $t5 -/* 109F5C 7F0D542C 91370000 */ lbu $s7, ($t1) -/* 109F60 7F0D5430 100034F2 */ b .L7F0E27FC -/* 109F64 7F0D5434 91360001 */ lbu $s6, 1($t1) -.L7F0D5438: -/* 109F68 7F0D5438 93AA0287 */ lbu $t2, 0x287($sp) -/* 109F6C 7F0D543C 24010001 */ li $at, 1 -/* 109F70 7F0D5440 97AC022E */ lhu $t4, 0x22e($sp) -/* 109F74 7F0D5444 1541000B */ bne $t2, $at, .L7F0D5474 -/* 109F78 7F0D5448 97A9022E */ lhu $t1, 0x22e($sp) -/* 109F7C 7F0D544C 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 109F80 7F0D5450 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 109F84 7F0D5454 01CCC821 */ addu $t9, $t6, $t4 -/* 109F88 7F0D5458 932B0001 */ lbu $t3, 1($t9) -/* 109F8C 7F0D545C 018EC021 */ addu $t8, $t4, $t6 -/* 109F90 7F0D5460 930F0000 */ lbu $t7, ($t8) -/* 109F94 7F0D5464 000B4200 */ sll $t0, $t3, 8 -/* 109F98 7F0D5468 01E86825 */ or $t5, $t7, $t0 -/* 109F9C 7F0D546C 100034E3 */ b .L7F0E27FC -/* 109FA0 7F0D5470 A7AD0296 */ sh $t5, 0x296($sp) -.L7F0D5474: -/* 109FA4 7F0D5474 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 109FA8 7F0D5478 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 109FAC 7F0D547C 01496021 */ addu $t4, $t2, $t1 -/* 109FB0 7F0D5480 91990001 */ lbu $t9, 1($t4) -/* 109FB4 7F0D5484 012AC021 */ addu $t8, $t1, $t2 -/* 109FB8 7F0D5488 930E0000 */ lbu $t6, ($t8) -/* 109FBC 7F0D548C 00195A00 */ sll $t3, $t9, 8 -/* 109FC0 7F0D5490 01CB7825 */ or $t7, $t6, $t3 -/* 109FC4 7F0D5494 100034D9 */ b .L7F0E27FC -/* 109FC8 7F0D5498 A7AF0294 */ sh $t7, 0x294($sp) -spectrum_op_2B: -/* 109FCC 7F0D549C 8FA8028C */ lw $t0, 0x28c($sp) -/* 109FD0 7F0D54A0 93B80287 */ lbu $t8, 0x287($sp) -/* 109FD4 7F0D54A4 93AE0287 */ lbu $t6, 0x287($sp) -/* 109FD8 7F0D54A8 250D0006 */ addiu $t5, $t0, 6 -/* 109FDC 7F0D54AC 1700000B */ bnez $t8, .L7F0D54DC -/* 109FE0 7F0D54B0 AFAD028C */ sw $t5, 0x28c($sp) -/* 109FE4 7F0D54B4 2EEA0001 */ sltiu $t2, $s7, 1 -/* 109FE8 7F0D54B8 26F7FFFF */ addiu $s7, $s7, -1 -/* 109FEC 7F0D54BC 32E900FF */ andi $t1, $s7, 0xff -/* 109FF0 7F0D54C0 0120B825 */ move $s7, $t1 -/* 109FF4 7F0D54C4 114034CD */ beqz $t2, .L7F0E27FC -/* 109FF8 7F0D54C8 AFAA0048 */ sw $t2, 0x48($sp) -/* 109FFC 7F0D54CC 26D6FFFF */ addiu $s6, $s6, -1 -/* 10A000 7F0D54D0 32D900FF */ andi $t9, $s6, 0xff -/* 10A004 7F0D54D4 100034C9 */ b .L7F0E27FC -/* 10A008 7F0D54D8 0320B025 */ move $s6, $t9 -.L7F0D54DC: -/* 10A00C 7F0D54DC 24010001 */ li $at, 1 -/* 10A010 7F0D54E0 15C10005 */ bne $t6, $at, .L7F0D54F8 -/* 10A014 7F0D54E4 97A80294 */ lhu $t0, 0x294($sp) -/* 10A018 7F0D54E8 97AB0296 */ lhu $t3, 0x296($sp) -/* 10A01C 7F0D54EC 256FFFFF */ addiu $t7, $t3, -1 -/* 10A020 7F0D54F0 100034C2 */ b .L7F0E27FC -/* 10A024 7F0D54F4 A7AF0296 */ sh $t7, 0x296($sp) -.L7F0D54F8: -/* 10A028 7F0D54F8 250DFFFF */ addiu $t5, $t0, -1 -/* 10A02C 7F0D54FC 100034BF */ b .L7F0E27FC -/* 10A030 7F0D5500 A7AD0294 */ sh $t5, 0x294($sp) -spectrum_op_2C: -/* 10A034 7F0D5504 8FB8028C */ lw $t8, 0x28c($sp) -/* 10A038 7F0D5508 93A90287 */ lbu $t1, 0x287($sp) -/* 10A03C 7F0D550C 93AB0287 */ lbu $t3, 0x287($sp) -/* 10A040 7F0D5510 270A0004 */ addiu $t2, $t8, 4 -/* 10A044 7F0D5514 15200017 */ bnez $t1, .L7F0D5574 -/* 10A048 7F0D5518 AFAA028C */ sw $t2, 0x28c($sp) -/* 10A04C 7F0D551C 26F70001 */ addiu $s7, $s7, 1 -/* 10A050 7F0D5520 32EC00FF */ andi $t4, $s7, 0xff -/* 10A054 7F0D5524 318E000F */ andi $t6, $t4, 0xf -/* 10A058 7F0D5528 2DCB0001 */ sltiu $t3, $t6, 1 -/* 10A05C 7F0D552C 0180B825 */ move $s7, $t4 -/* 10A060 7F0D5530 2D990001 */ sltiu $t9, $t4, 1 -/* 10A064 7F0D5534 318800A8 */ andi $t0, $t4, 0xa8 -/* 10A068 7F0D5538 322F0001 */ andi $t7, $s1, 1 -/* 10A06C 7F0D553C 01E86825 */ or $t5, $t7, $t0 -/* 10A070 7F0D5540 3AEE0080 */ xori $t6, $s7, 0x80 -/* 10A074 7F0D5544 000BC100 */ sll $t8, $t3, 4 -/* 10A078 7F0D5548 01B85025 */ or $t2, $t5, $t8 -/* 10A07C 7F0D554C 2DCE0001 */ sltiu $t6, $t6, 1 -/* 10A080 7F0D5550 00196180 */ sll $t4, $t9, 6 -/* 10A084 7F0D5554 AFB90044 */ sw $t9, 0x44($sp) -/* 10A088 7F0D5558 014CC825 */ or $t9, $t2, $t4 -/* 10A08C 7F0D555C 000E7880 */ sll $t7, $t6, 2 -/* 10A090 7F0D5560 032F8825 */ or $s1, $t9, $t7 -/* 10A094 7F0D5564 322800FF */ andi $t0, $s1, 0xff -/* 10A098 7F0D5568 01008825 */ move $s1, $t0 -/* 10A09C 7F0D556C 100034A3 */ b .L7F0E27FC -/* 10A0A0 7F0D5570 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D5574: -/* 10A0A4 7F0D5574 24010001 */ li $at, 1 -/* 10A0A8 7F0D5578 15610004 */ bne $t3, $at, .L7F0D558C -/* 10A0AC 7F0D557C 97B80294 */ lhu $t8, 0x294($sp) -/* 10A0B0 7F0D5580 97AD0296 */ lhu $t5, 0x296($sp) -/* 10A0B4 7F0D5584 10000002 */ b .L7F0D5590 -/* 10A0B8 7F0D5588 A3AD022D */ sb $t5, 0x22d($sp) -.L7F0D558C: -/* 10A0BC 7F0D558C A3B8022D */ sb $t8, 0x22d($sp) -.L7F0D5590: -/* 10A0C0 7F0D5590 93A9022D */ lbu $t1, 0x22d($sp) -/* 10A0C4 7F0D5594 322B0001 */ andi $t3, $s1, 1 -/* 10A0C8 7F0D5598 24010001 */ li $at, 1 -/* 10A0CC 7F0D559C 252A0001 */ addiu $t2, $t1, 1 -/* 10A0D0 7F0D55A0 315800A8 */ andi $t8, $t2, 0xa8 -/* 10A0D4 7F0D55A4 01784825 */ or $t1, $t3, $t8 -/* 10A0D8 7F0D55A8 314C00FF */ andi $t4, $t2, 0xff -/* 10A0DC 7F0D55AC 314F000F */ andi $t7, $t2, 0xf -/* 10A0E0 7F0D55B0 2DE80001 */ sltiu $t0, $t7, 1 -/* 10A0E4 7F0D55B4 2D8E0001 */ sltiu $t6, $t4, 1 -/* 10A0E8 7F0D55B8 00086100 */ sll $t4, $t0, 4 -/* 10A0EC 7F0D55BC 314B00FF */ andi $t3, $t2, 0xff -/* 10A0F0 7F0D55C0 39780080 */ xori $t8, $t3, 0x80 -/* 10A0F4 7F0D55C4 012CC825 */ or $t9, $t1, $t4 -/* 10A0F8 7F0D55C8 2F180001 */ sltiu $t8, $t8, 1 -/* 10A0FC 7F0D55CC 000E7980 */ sll $t7, $t6, 6 -/* 10A100 7F0D55D0 AFA80048 */ sw $t0, 0x48($sp) -/* 10A104 7F0D55D4 93AC0287 */ lbu $t4, 0x287($sp) -/* 10A108 7F0D55D8 00184080 */ sll $t0, $t8, 2 -/* 10A10C 7F0D55DC 032F6825 */ or $t5, $t9, $t7 -/* 10A110 7F0D55E0 01A88825 */ or $s1, $t5, $t0 -/* 10A114 7F0D55E4 322900FF */ andi $t1, $s1, 0xff -/* 10A118 7F0D55E8 01208825 */ move $s1, $t1 -/* 10A11C 7F0D55EC AFAE0044 */ sw $t6, 0x44($sp) -/* 10A120 7F0D55F0 15810007 */ bne $t4, $at, .L7F0D5610 -/* 10A124 7F0D55F4 A3AA022D */ sb $t2, 0x22d($sp) -/* 10A128 7F0D55F8 97AE0296 */ lhu $t6, 0x296($sp) -/* 10A12C 7F0D55FC 314F00FF */ andi $t7, $t2, 0xff -/* 10A130 7F0D5600 31D9FF00 */ andi $t9, $t6, 0xff00 -/* 10A134 7F0D5604 032F5825 */ or $t3, $t9, $t7 -/* 10A138 7F0D5608 1000347C */ b .L7F0E27FC -/* 10A13C 7F0D560C A7AB0296 */ sh $t3, 0x296($sp) -.L7F0D5610: -/* 10A140 7F0D5610 97B80294 */ lhu $t8, 0x294($sp) -/* 10A144 7F0D5614 93A8022D */ lbu $t0, 0x22d($sp) -/* 10A148 7F0D5618 330DFF00 */ andi $t5, $t8, 0xff00 -/* 10A14C 7F0D561C 01A84825 */ or $t1, $t5, $t0 -/* 10A150 7F0D5620 10003476 */ b .L7F0E27FC -/* 10A154 7F0D5624 A7A90294 */ sh $t1, 0x294($sp) -spectrum_op_2D: -/* 10A158 7F0D5628 8FAC028C */ lw $t4, 0x28c($sp) -/* 10A15C 7F0D562C 93AA0287 */ lbu $t2, 0x287($sp) -/* 10A160 7F0D5630 93A90287 */ lbu $t1, 0x287($sp) -/* 10A164 7F0D5634 258E0004 */ addiu $t6, $t4, 4 -/* 10A168 7F0D5638 15400018 */ bnez $t2, .L7F0D569C -/* 10A16C 7F0D563C AFAE028C */ sw $t6, 0x28c($sp) -/* 10A170 7F0D5640 32F9000F */ andi $t9, $s7, 0xf -/* 10A174 7F0D5644 26F7FFFF */ addiu $s7, $s7, -1 -/* 10A178 7F0D5648 32E900FF */ andi $t1, $s7, 0xff -/* 10A17C 7F0D564C 2F2F0001 */ sltiu $t7, $t9, 1 -/* 10A180 7F0D5650 000FC100 */ sll $t8, $t7, 4 -/* 10A184 7F0D5654 392A007F */ xori $t2, $t1, 0x7f -/* 10A188 7F0D5658 2D4A0001 */ sltiu $t2, $t2, 1 -/* 10A18C 7F0D565C 322B0001 */ andi $t3, $s1, 1 -/* 10A190 7F0D5660 01788825 */ or $s1, $t3, $t8 -/* 10A194 7F0D5664 000AC880 */ sll $t9, $t2, 2 -/* 10A198 7F0D5668 AFAF0048 */ sw $t7, 0x48($sp) -/* 10A19C 7F0D566C 2D2C0001 */ sltiu $t4, $t1, 1 -/* 10A1A0 7F0D5670 312E00A8 */ andi $t6, $t1, 0xa8 -/* 10A1A4 7F0D5674 01D97825 */ or $t7, $t6, $t9 -/* 10A1A8 7F0D5678 000CC180 */ sll $t8, $t4, 6 -/* 10A1AC 7F0D567C 01F86825 */ or $t5, $t7, $t8 -/* 10A1B0 7F0D5680 36280002 */ ori $t0, $s1, 2 -/* 10A1B4 7F0D5684 010D8825 */ or $s1, $t0, $t5 -/* 10A1B8 7F0D5688 322800FF */ andi $t0, $s1, 0xff -/* 10A1BC 7F0D568C 01008825 */ move $s1, $t0 -/* 10A1C0 7F0D5690 AFAC0044 */ sw $t4, 0x44($sp) -/* 10A1C4 7F0D5694 10003459 */ b .L7F0E27FC -/* 10A1C8 7F0D5698 0120B825 */ move $s7, $t1 -.L7F0D569C: -/* 10A1CC 7F0D569C 24010001 */ li $at, 1 -/* 10A1D0 7F0D56A0 15210004 */ bne $t1, $at, .L7F0D56B4 -/* 10A1D4 7F0D56A4 97AA0294 */ lhu $t2, 0x294($sp) -/* 10A1D8 7F0D56A8 97AC0296 */ lhu $t4, 0x296($sp) -/* 10A1DC 7F0D56AC 10000002 */ b .L7F0D56B8 -/* 10A1E0 7F0D56B0 A3AC022C */ sb $t4, 0x22c($sp) -.L7F0D56B4: -/* 10A1E4 7F0D56B4 A3AA022C */ sb $t2, 0x22c($sp) -.L7F0D56B8: -/* 10A1E8 7F0D56B8 93AE022C */ lbu $t6, 0x22c($sp) -/* 10A1EC 7F0D56BC 322F0001 */ andi $t7, $s1, 1 -/* 10A1F0 7F0D56C0 24010001 */ li $at, 1 -/* 10A1F4 7F0D56C4 31D9000F */ andi $t9, $t6, 0xf -/* 10A1F8 7F0D56C8 2F2B0001 */ sltiu $t3, $t9, 1 -/* 10A1FC 7F0D56CC 000BC100 */ sll $t8, $t3, 4 -/* 10A200 7F0D56D0 01F88825 */ or $s1, $t7, $t8 -/* 10A204 7F0D56D4 25C9FFFF */ addiu $t1, $t6, -1 -/* 10A208 7F0D56D8 312F00FF */ andi $t7, $t1, 0xff -/* 10A20C 7F0D56DC 39F8007F */ xori $t8, $t7, 0x7f -/* 10A210 7F0D56E0 362D0002 */ ori $t5, $s1, 2 -/* 10A214 7F0D56E4 01A08825 */ move $s1, $t5 -/* 10A218 7F0D56E8 2F180001 */ sltiu $t8, $t8, 1 -/* 10A21C 7F0D56EC 312C00FF */ andi $t4, $t1, 0xff -/* 10A220 7F0D56F0 AFAB0048 */ sw $t3, 0x48($sp) -/* 10A224 7F0D56F4 312B00A8 */ andi $t3, $t1, 0xa8 -/* 10A228 7F0D56F8 2D8A0001 */ sltiu $t2, $t4, 1 -/* 10A22C 7F0D56FC 00186880 */ sll $t5, $t8, 2 -/* 10A230 7F0D5700 016D4025 */ or $t0, $t3, $t5 -/* 10A234 7F0D5704 000A7180 */ sll $t6, $t2, 6 -/* 10A238 7F0D5708 93AF0287 */ lbu $t7, 0x287($sp) -/* 10A23C 7F0D570C 010E6025 */ or $t4, $t0, $t6 -/* 10A240 7F0D5710 022C8825 */ or $s1, $s1, $t4 -/* 10A244 7F0D5714 323900FF */ andi $t9, $s1, 0xff -/* 10A248 7F0D5718 03208825 */ move $s1, $t9 -/* 10A24C 7F0D571C AFAA0044 */ sw $t2, 0x44($sp) -/* 10A250 7F0D5720 15E10007 */ bne $t7, $at, .L7F0D5740 -/* 10A254 7F0D5724 A3A9022C */ sb $t1, 0x22c($sp) -/* 10A258 7F0D5728 97B80296 */ lhu $t8, 0x296($sp) -/* 10A25C 7F0D572C 312D00FF */ andi $t5, $t1, 0xff -/* 10A260 7F0D5730 330BFF00 */ andi $t3, $t8, 0xff00 -/* 10A264 7F0D5734 016D5025 */ or $t2, $t3, $t5 -/* 10A268 7F0D5738 10003430 */ b .L7F0E27FC -/* 10A26C 7F0D573C A7AA0296 */ sh $t2, 0x296($sp) -.L7F0D5740: -/* 10A270 7F0D5740 97A80294 */ lhu $t0, 0x294($sp) -/* 10A274 7F0D5744 93AC022C */ lbu $t4, 0x22c($sp) -/* 10A278 7F0D5748 310EFF00 */ andi $t6, $t0, 0xff00 -/* 10A27C 7F0D574C 01CCC825 */ or $t9, $t6, $t4 -/* 10A280 7F0D5750 1000342A */ b .L7F0E27FC -/* 10A284 7F0D5754 A7B90294 */ sh $t9, 0x294($sp) -spectrum_op_2E: -/* 10A288 7F0D5758 8FAF028C */ lw $t7, 0x28c($sp) -/* 10A28C 7F0D575C 93A90287 */ lbu $t1, 0x287($sp) -/* 10A290 7F0D5760 93A80287 */ lbu $t0, 0x287($sp) -/* 10A294 7F0D5764 25F80007 */ addiu $t8, $t7, 7 -/* 10A298 7F0D5768 15200007 */ bnez $t1, .L7F0D5788 -/* 10A29C 7F0D576C AFB8028C */ sw $t8, 0x28c($sp) -/* 10A2A0 7F0D5770 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10A2A4 7F0D5774 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10A2A8 7F0D5778 97AB0298 */ lhu $t3, 0x298($sp) -/* 10A2AC 7F0D577C 016D5021 */ addu $t2, $t3, $t5 -/* 10A2B0 7F0D5780 10000016 */ b .L7F0D57DC -/* 10A2B4 7F0D5784 91570000 */ lbu $s7, ($t2) -.L7F0D5788: -/* 10A2B8 7F0D5788 24010001 */ li $at, 1 -/* 10A2BC 7F0D578C 1501000B */ bne $t0, $at, .L7F0D57BC -/* 10A2C0 7F0D5790 97AD0298 */ lhu $t5, 0x298($sp) -/* 10A2C4 7F0D5794 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 10A2C8 7F0D5798 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 10A2CC 7F0D579C 97AE0298 */ lhu $t6, 0x298($sp) -/* 10A2D0 7F0D57A0 97B80296 */ lhu $t8, 0x296($sp) -/* 10A2D4 7F0D57A4 01CCC821 */ addu $t9, $t6, $t4 -/* 10A2D8 7F0D57A8 932F0000 */ lbu $t7, ($t9) -/* 10A2DC 7F0D57AC 3309FF00 */ andi $t1, $t8, 0xff00 -/* 10A2E0 7F0D57B0 01E95825 */ or $t3, $t7, $t1 -/* 10A2E4 7F0D57B4 10000009 */ b .L7F0D57DC -/* 10A2E8 7F0D57B8 A7AB0296 */ sh $t3, 0x296($sp) -.L7F0D57BC: -/* 10A2EC 7F0D57BC 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10A2F0 7F0D57C0 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10A2F4 7F0D57C4 97AC0294 */ lhu $t4, 0x294($sp) -/* 10A2F8 7F0D57C8 01AA4021 */ addu $t0, $t5, $t2 -/* 10A2FC 7F0D57CC 910E0000 */ lbu $t6, ($t0) -/* 10A300 7F0D57D0 3199FF00 */ andi $t9, $t4, 0xff00 -/* 10A304 7F0D57D4 01D9C025 */ or $t8, $t6, $t9 -/* 10A308 7F0D57D8 A7B80294 */ sh $t8, 0x294($sp) -.L7F0D57DC: -/* 10A30C 7F0D57DC 97AF0298 */ lhu $t7, 0x298($sp) -/* 10A310 7F0D57E0 25E90001 */ addiu $t1, $t7, 1 -/* 10A314 7F0D57E4 10003405 */ b .L7F0E27FC -/* 10A318 7F0D57E8 A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_2F: -/* 10A31C 7F0D57EC 02008027 */ not $s0, $s0 -/* 10A320 7F0D57F0 8FAB028C */ lw $t3, 0x28c($sp) -/* 10A324 7F0D57F4 320A00FF */ andi $t2, $s0, 0xff -/* 10A328 7F0D57F8 314C0028 */ andi $t4, $t2, 0x28 -/* 10A32C 7F0D57FC 322800C5 */ andi $t0, $s1, 0xc5 -/* 10A330 7F0D5800 010C8825 */ or $s1, $t0, $t4 -/* 10A334 7F0D5804 362E0012 */ ori $t6, $s1, 0x12 -/* 10A338 7F0D5808 256D0004 */ addiu $t5, $t3, 4 -/* 10A33C 7F0D580C AFAD028C */ sw $t5, 0x28c($sp) -/* 10A340 7F0D5810 01408025 */ move $s0, $t2 -/* 10A344 7F0D5814 100033F9 */ b .L7F0E27FC -/* 10A348 7F0D5818 31D100FF */ andi $s1, $t6, 0xff -spectrum_op_30: -/* 10A34C 7F0D581C 8FB8028C */ lw $t8, 0x28c($sp) -/* 10A350 7F0D5820 32290001 */ andi $t1, $s1, 1 -/* 10A354 7F0D5824 97AA0298 */ lhu $t2, 0x298($sp) -/* 10A358 7F0D5828 270F0007 */ addiu $t7, $t8, 7 -/* 10A35C 7F0D582C 11200005 */ beqz $t1, .L7F0D5844 -/* 10A360 7F0D5830 AFAF028C */ sw $t7, 0x28c($sp) -/* 10A364 7F0D5834 97AB0298 */ lhu $t3, 0x298($sp) -/* 10A368 7F0D5838 256D0001 */ addiu $t5, $t3, 1 -/* 10A36C 7F0D583C 100033EF */ b .L7F0E27FC -/* 10A370 7F0D5840 A7AD0298 */ sh $t5, 0x298($sp) -.L7F0D5844: -/* 10A374 7F0D5844 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10A378 7F0D5848 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10A37C 7F0D584C 8FAF028C */ lw $t7, 0x28c($sp) -/* 10A380 7F0D5850 01486021 */ addu $t4, $t2, $t0 -/* 10A384 7F0D5854 818E0000 */ lb $t6, ($t4) -/* 10A388 7F0D5858 25E90005 */ addiu $t1, $t7, 5 -/* 10A38C 7F0D585C AFA9028C */ sw $t1, 0x28c($sp) -/* 10A390 7F0D5860 014EC821 */ addu $t9, $t2, $t6 -/* 10A394 7F0D5864 27380001 */ addiu $t8, $t9, 1 -/* 10A398 7F0D5868 A7B80298 */ sh $t8, 0x298($sp) -/* 10A39C 7F0D586C 100033E3 */ b .L7F0E27FC -/* 10A3A0 7F0D5870 AFAE0228 */ sw $t6, 0x228($sp) -spectrum_op_31: -/* 10A3A4 7F0D5874 8FAB028C */ lw $t3, 0x28c($sp) -/* 10A3A8 7F0D5878 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 10A3AC 7F0D587C 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 10A3B0 7F0D5880 97A80298 */ lhu $t0, 0x298($sp) -/* 10A3B4 7F0D5884 256D000A */ addiu $t5, $t3, 0xa -/* 10A3B8 7F0D5888 AFAD028C */ sw $t5, 0x28c($sp) -/* 10A3BC 7F0D588C 0188C821 */ addu $t9, $t4, $t0 -/* 10A3C0 7F0D5890 93380001 */ lbu $t8, 1($t9) -/* 10A3C4 7F0D5894 010C5021 */ addu $t2, $t0, $t4 -/* 10A3C8 7F0D5898 914E0000 */ lbu $t6, ($t2) -/* 10A3CC 7F0D589C 00187A00 */ sll $t7, $t8, 8 -/* 10A3D0 7F0D58A0 250B0002 */ addiu $t3, $t0, 2 -/* 10A3D4 7F0D58A4 01CF4825 */ or $t1, $t6, $t7 -/* 10A3D8 7F0D58A8 A7A90292 */ sh $t1, 0x292($sp) -/* 10A3DC 7F0D58AC 100033D3 */ b .L7F0E27FC -/* 10A3E0 7F0D58B0 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_32: -/* 10A3E4 7F0D58B4 8FAD028C */ lw $t5, 0x28c($sp) -/* 10A3E8 7F0D58B8 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10A3EC 7F0D58BC 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10A3F0 7F0D58C0 97AC0298 */ lhu $t4, 0x298($sp) -/* 10A3F4 7F0D58C4 25AA000D */ addiu $t2, $t5, 0xd -/* 10A3F8 7F0D58C8 AFAA028C */ sw $t2, 0x28c($sp) -/* 10A3FC 7F0D58CC 032C7821 */ addu $t7, $t9, $t4 -/* 10A400 7F0D58D0 91E90001 */ lbu $t1, 1($t7) -/* 10A404 7F0D58D4 0199C021 */ addu $t8, $t4, $t9 -/* 10A408 7F0D58D8 930E0000 */ lbu $t6, ($t8) -/* 10A40C 7F0D58DC 00094200 */ sll $t0, $t1, 8 -/* 10A410 7F0D58E0 258D0002 */ addiu $t5, $t4, 2 -/* 10A414 7F0D58E4 01C85825 */ or $t3, $t6, $t0 -/* 10A418 7F0D58E8 316AFFFF */ andi $t2, $t3, 0xffff -/* 10A41C 7F0D58EC 29415B00 */ slti $at, $t2, 0x5b00 -/* 10A420 7F0D58F0 A7AB0226 */ sh $t3, 0x226($sp) -/* 10A424 7F0D58F4 14200006 */ bnez $at, .L7F0D5910 -/* 10A428 7F0D58F8 A7AD0298 */ sh $t5, 0x298($sp) -/* 10A42C 7F0D58FC 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10A430 7F0D5900 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10A434 7F0D5904 030AC821 */ addu $t9, $t8, $t2 -/* 10A438 7F0D5908 100033BC */ b .L7F0E27FC -/* 10A43C 7F0D590C A3300000 */ sb $s0, ($t9) -.L7F0D5910: -/* 10A440 7F0D5910 97AF0226 */ lhu $t7, 0x226($sp) -/* 10A444 7F0D5914 97B80226 */ lhu $t8, 0x226($sp) -/* 10A448 7F0D5918 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10A44C 7F0D591C 29E15800 */ slti $at, $t7, 0x5800 -/* 10A450 7F0D5920 5420000C */ bnezl $at, .L7F0D5954 -/* 10A454 7F0D5924 2B014000 */ slti $at, $t8, 0x4000 -/* 10A458 7F0D5928 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10A45C 7F0D592C 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 10A460 7F0D5930 24080001 */ li $t0, 1 -/* 10A464 7F0D5934 012F7021 */ addu $t6, $t1, $t7 -/* 10A468 7F0D5938 A1D00000 */ sb $s0, ($t6) -/* 10A46C 7F0D593C 97AC0226 */ lhu $t4, 0x226($sp) -/* 10A470 7F0D5940 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 10A474 7F0D5944 016C6821 */ addu $t5, $t3, $t4 -/* 10A478 7F0D5948 100033AC */ b .L7F0E27FC -/* 10A47C 7F0D594C A1A8A800 */ sb $t0, -0x5800($t5) -/* 10A480 7F0D5950 2B014000 */ slti $at, $t8, 0x4000 -.L7F0D5954: -/* 10A484 7F0D5954 142033A9 */ bnez $at, .L7F0E27FC -/* 10A488 7F0D5958 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10A48C 7F0D595C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10A490 7F0D5960 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 10A494 7F0D5964 24090001 */ li $t1, 1 -/* 10A498 7F0D5968 0158C821 */ addu $t9, $t2, $t8 -/* 10A49C 7F0D596C A3300000 */ sb $s0, ($t9) -/* 10A4A0 7F0D5970 97AF0226 */ lhu $t7, 0x226($sp) -/* 10A4A4 7F0D5974 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 10A4A8 7F0D5978 31EE1800 */ andi $t6, $t7, 0x1800 -/* 10A4AC 7F0D597C 000E58C3 */ sra $t3, $t6, 3 -/* 10A4B0 7F0D5980 31EC00FF */ andi $t4, $t7, 0xff -/* 10A4B4 7F0D5984 016C4025 */ or $t0, $t3, $t4 -/* 10A4B8 7F0D5988 01A85021 */ addu $t2, $t5, $t0 -/* 10A4BC 7F0D598C 1000339B */ b .L7F0E27FC -/* 10A4C0 7F0D5990 A1490000 */ sb $t1, ($t2) -spectrum_op_33: -/* 10A4C4 7F0D5994 8FB8028C */ lw $t8, 0x28c($sp) -/* 10A4C8 7F0D5998 97AE0292 */ lhu $t6, 0x292($sp) -/* 10A4CC 7F0D599C 27190006 */ addiu $t9, $t8, 6 -/* 10A4D0 7F0D59A0 25CF0001 */ addiu $t7, $t6, 1 -/* 10A4D4 7F0D59A4 AFB9028C */ sw $t9, 0x28c($sp) -/* 10A4D8 7F0D59A8 10003394 */ b .L7F0E27FC -/* 10A4DC 7F0D59AC A7AF0292 */ sh $t7, 0x292($sp) -spectrum_op_34: -/* 10A4E0 7F0D59B0 8FAB028C */ lw $t3, 0x28c($sp) -/* 10A4E4 7F0D59B4 93AD0287 */ lbu $t5, 0x287($sp) -/* 10A4E8 7F0D59B8 00164200 */ sll $t0, $s6, 8 -/* 10A4EC 7F0D59BC 256C000B */ addiu $t4, $t3, 0xb -/* 10A4F0 7F0D59C0 15A00004 */ bnez $t5, .L7F0D59D4 -/* 10A4F4 7F0D59C4 AFAC028C */ sw $t4, 0x28c($sp) -/* 10A4F8 7F0D59C8 01174825 */ or $t1, $t0, $s7 -/* 10A4FC 7F0D59CC 10000016 */ b .L7F0D5A28 -/* 10A500 7F0D59D0 A7A90224 */ sh $t1, 0x224($sp) -.L7F0D59D4: -/* 10A504 7F0D59D4 8FAA028C */ lw $t2, 0x28c($sp) -/* 10A508 7F0D59D8 93B90287 */ lbu $t9, 0x287($sp) -/* 10A50C 7F0D59DC 24010001 */ li $at, 1 -/* 10A510 7F0D59E0 25580008 */ addiu $t8, $t2, 8 -/* 10A514 7F0D59E4 17210004 */ bne $t9, $at, .L7F0D59F8 -/* 10A518 7F0D59E8 AFB8028C */ sw $t8, 0x28c($sp) -/* 10A51C 7F0D59EC 97AE0296 */ lhu $t6, 0x296($sp) -/* 10A520 7F0D59F0 10000003 */ b .L7F0D5A00 -/* 10A524 7F0D59F4 AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D59F8: -/* 10A528 7F0D59F8 97AF0294 */ lhu $t7, 0x294($sp) -/* 10A52C 7F0D59FC AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D5A00: -/* 10A530 7F0D5A00 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 10A534 7F0D5A04 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 10A538 7F0D5A08 97AB0298 */ lhu $t3, 0x298($sp) -/* 10A53C 7F0D5A0C 8FA90048 */ lw $t1, 0x48($sp) -/* 10A540 7F0D5A10 016C6821 */ addu $t5, $t3, $t4 -/* 10A544 7F0D5A14 81A80000 */ lb $t0, ($t5) -/* 10A548 7F0D5A18 25780001 */ addiu $t8, $t3, 1 -/* 10A54C 7F0D5A1C A7B80298 */ sh $t8, 0x298($sp) -/* 10A550 7F0D5A20 01095021 */ addu $t2, $t0, $t1 -/* 10A554 7F0D5A24 A7AA0224 */ sh $t2, 0x224($sp) -.L7F0D5A28: -/* 10A558 7F0D5A28 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10A55C 7F0D5A2C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10A560 7F0D5A30 97B90224 */ lhu $t9, 0x224($sp) -/* 10A564 7F0D5A34 032E7821 */ addu $t7, $t9, $t6 -/* 10A568 7F0D5A38 91EC0000 */ lbu $t4, ($t7) -/* 10A56C 7F0D5A3C 32390001 */ andi $t9, $s1, 1 -/* 10A570 7F0D5A40 258D0001 */ addiu $t5, $t4, 1 -/* 10A574 7F0D5A44 31AF00A8 */ andi $t7, $t5, 0xa8 -/* 10A578 7F0D5A48 A3AC0223 */ sb $t4, 0x223($sp) -/* 10A57C 7F0D5A4C 032F6025 */ or $t4, $t9, $t7 -/* 10A580 7F0D5A50 31A800FF */ andi $t0, $t5, 0xff -/* 10A584 7F0D5A54 31AB000F */ andi $t3, $t5, 0xf -/* 10A588 7F0D5A58 2D780001 */ sltiu $t8, $t3, 1 -/* 10A58C 7F0D5A5C 2D090001 */ sltiu $t1, $t0, 1 -/* 10A590 7F0D5A60 00184100 */ sll $t0, $t8, 4 -/* 10A594 7F0D5A64 31B900FF */ andi $t9, $t5, 0xff -/* 10A598 7F0D5A68 3B2F0080 */ xori $t7, $t9, 0x80 -/* 10A59C 7F0D5A6C 01885025 */ or $t2, $t4, $t0 -/* 10A5A0 7F0D5A70 97A80224 */ lhu $t0, 0x224($sp) -/* 10A5A4 7F0D5A74 2DEF0001 */ sltiu $t7, $t7, 1 -/* 10A5A8 7F0D5A78 00095980 */ sll $t3, $t1, 6 -/* 10A5AC 7F0D5A7C AFB80048 */ sw $t8, 0x48($sp) -/* 10A5B0 7F0D5A80 000FC080 */ sll $t8, $t7, 2 -/* 10A5B4 7F0D5A84 014B7025 */ or $t6, $t2, $t3 -/* 10A5B8 7F0D5A88 01D88825 */ or $s1, $t6, $t8 -/* 10A5BC 7F0D5A8C 322C00FF */ andi $t4, $s1, 0xff -/* 10A5C0 7F0D5A90 29015B00 */ slti $at, $t0, 0x5b00 -/* 10A5C4 7F0D5A94 01808825 */ move $s1, $t4 -/* 10A5C8 7F0D5A98 AFA90044 */ sw $t1, 0x44($sp) -/* 10A5CC 7F0D5A9C 14200006 */ bnez $at, .L7F0D5AB8 -/* 10A5D0 7F0D5AA0 A3AD0223 */ sb $t5, 0x223($sp) -/* 10A5D4 7F0D5AA4 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10A5D8 7F0D5AA8 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10A5DC 7F0D5AAC 01485821 */ addu $t3, $t2, $t0 -/* 10A5E0 7F0D5AB0 10003352 */ b .L7F0E27FC -/* 10A5E4 7F0D5AB4 A16D0000 */ sb $t5, ($t3) -.L7F0D5AB8: -/* 10A5E8 7F0D5AB8 97AD0224 */ lhu $t5, 0x224($sp) -/* 10A5EC 7F0D5ABC 97A90224 */ lhu $t1, 0x224($sp) -/* 10A5F0 7F0D5AC0 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10A5F4 7F0D5AC4 29A15800 */ slti $at, $t5, 0x5800 -/* 10A5F8 7F0D5AC8 5420000D */ bnezl $at, .L7F0D5B00 -/* 10A5FC 7F0D5ACC 29214000 */ slti $at, $t1, 0x4000 -/* 10A600 7F0D5AD0 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10A604 7F0D5AD4 93B90223 */ lbu $t9, 0x223($sp) -/* 10A608 7F0D5AD8 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 10A60C 7F0D5ADC 01ED7021 */ addu $t6, $t7, $t5 -/* 10A610 7F0D5AE0 A1D90000 */ sb $t9, ($t6) -/* 10A614 7F0D5AE4 97AA0224 */ lhu $t2, 0x224($sp) -/* 10A618 7F0D5AE8 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 10A61C 7F0D5AEC 24180001 */ li $t8, 1 -/* 10A620 7F0D5AF0 018A4021 */ addu $t0, $t4, $t2 -/* 10A624 7F0D5AF4 10003341 */ b .L7F0E27FC -/* 10A628 7F0D5AF8 A118A800 */ sb $t8, -0x5800($t0) -/* 10A62C 7F0D5AFC 29214000 */ slti $at, $t1, 0x4000 -.L7F0D5B00: -/* 10A630 7F0D5B00 1420333E */ bnez $at, .L7F0E27FC -/* 10A634 7F0D5B04 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10A638 7F0D5B08 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10A63C 7F0D5B0C 93AB0223 */ lbu $t3, 0x223($sp) -/* 10A640 7F0D5B10 24190001 */ li $t9, 1 -/* 10A644 7F0D5B14 01E96821 */ addu $t5, $t7, $t1 -/* 10A648 7F0D5B18 A1AB0000 */ sb $t3, ($t5) -/* 10A64C 7F0D5B1C 97AE0224 */ lhu $t6, 0x224($sp) -/* 10A650 7F0D5B20 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10A654 7F0D5B24 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10A658 7F0D5B28 31CC1800 */ andi $t4, $t6, 0x1800 -/* 10A65C 7F0D5B2C 000C50C3 */ sra $t2, $t4, 3 -/* 10A660 7F0D5B30 31D800FF */ andi $t8, $t6, 0xff -/* 10A664 7F0D5B34 01584025 */ or $t0, $t2, $t8 -/* 10A668 7F0D5B38 01E84821 */ addu $t1, $t7, $t0 -/* 10A66C 7F0D5B3C 1000332F */ b .L7F0E27FC -/* 10A670 7F0D5B40 A1390000 */ sb $t9, ($t1) -spectrum_op_35: -/* 10A674 7F0D5B44 8FAB028C */ lw $t3, 0x28c($sp) -/* 10A678 7F0D5B48 93AC0287 */ lbu $t4, 0x287($sp) -/* 10A67C 7F0D5B4C 00167200 */ sll $t6, $s6, 8 -/* 10A680 7F0D5B50 256D000B */ addiu $t5, $t3, 0xb -/* 10A684 7F0D5B54 15800004 */ bnez $t4, .L7F0D5B68 -/* 10A688 7F0D5B58 AFAD028C */ sw $t5, 0x28c($sp) -/* 10A68C 7F0D5B5C 01D75025 */ or $t2, $t6, $s7 -/* 10A690 7F0D5B60 10000016 */ b .L7F0D5BBC -/* 10A694 7F0D5B64 A7AA0220 */ sh $t2, 0x220($sp) -.L7F0D5B68: -/* 10A698 7F0D5B68 8FB8028C */ lw $t8, 0x28c($sp) -/* 10A69C 7F0D5B6C 93A80287 */ lbu $t0, 0x287($sp) -/* 10A6A0 7F0D5B70 24010001 */ li $at, 1 -/* 10A6A4 7F0D5B74 270F0008 */ addiu $t7, $t8, 8 -/* 10A6A8 7F0D5B78 15010004 */ bne $t0, $at, .L7F0D5B8C -/* 10A6AC 7F0D5B7C AFAF028C */ sw $t7, 0x28c($sp) -/* 10A6B0 7F0D5B80 97B90296 */ lhu $t9, 0x296($sp) -/* 10A6B4 7F0D5B84 10000003 */ b .L7F0D5B94 -/* 10A6B8 7F0D5B88 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D5B8C: -/* 10A6BC 7F0D5B8C 97A90294 */ lhu $t1, 0x294($sp) -/* 10A6C0 7F0D5B90 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D5B94: -/* 10A6C4 7F0D5B94 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10A6C8 7F0D5B98 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10A6CC 7F0D5B9C 97AB0298 */ lhu $t3, 0x298($sp) -/* 10A6D0 7F0D5BA0 8FAA0048 */ lw $t2, 0x48($sp) -/* 10A6D4 7F0D5BA4 016D6021 */ addu $t4, $t3, $t5 -/* 10A6D8 7F0D5BA8 818E0000 */ lb $t6, ($t4) -/* 10A6DC 7F0D5BAC 256F0001 */ addiu $t7, $t3, 1 -/* 10A6E0 7F0D5BB0 A7AF0298 */ sh $t7, 0x298($sp) -/* 10A6E4 7F0D5BB4 01CAC021 */ addu $t8, $t6, $t2 -/* 10A6E8 7F0D5BB8 A7B80220 */ sh $t8, 0x220($sp) -.L7F0D5BBC: -/* 10A6EC 7F0D5BBC 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10A6F0 7F0D5BC0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10A6F4 7F0D5BC4 97A80220 */ lhu $t0, 0x220($sp) -/* 10A6F8 7F0D5BC8 32380001 */ andi $t8, $s1, 1 -/* 10A6FC 7F0D5BCC 01194821 */ addu $t1, $t0, $t9 -/* 10A700 7F0D5BD0 912D0000 */ lbu $t5, ($t1) -/* 10A704 7F0D5BD4 31AC000F */ andi $t4, $t5, 0xf -/* 10A708 7F0D5BD8 2D8E0001 */ sltiu $t6, $t4, 1 -/* 10A70C 7F0D5BDC 000E5100 */ sll $t2, $t6, 4 -/* 10A710 7F0D5BE0 030A8825 */ or $s1, $t8, $t2 -/* 10A714 7F0D5BE4 25A8FFFF */ addiu $t0, $t5, -1 -/* 10A718 7F0D5BE8 311800FF */ andi $t8, $t0, 0xff -/* 10A71C 7F0D5BEC 3B0A007F */ xori $t2, $t8, 0x7f -/* 10A720 7F0D5BF0 362B0002 */ ori $t3, $s1, 2 -/* 10A724 7F0D5BF4 AFAE0048 */ sw $t6, 0x48($sp) -/* 10A728 7F0D5BF8 310E00A8 */ andi $t6, $t0, 0xa8 -/* 10A72C 7F0D5BFC 01608825 */ move $s1, $t3 -/* 10A730 7F0D5C00 2D4A0001 */ sltiu $t2, $t2, 1 -/* 10A734 7F0D5C04 311900FF */ andi $t9, $t0, 0xff -/* 10A738 7F0D5C08 A3AD021F */ sb $t5, 0x21f($sp) -/* 10A73C 7F0D5C0C A3A8021F */ sb $t0, 0x21f($sp) -/* 10A740 7F0D5C10 2F290001 */ sltiu $t1, $t9, 1 -/* 10A744 7F0D5C14 000A5880 */ sll $t3, $t2, 2 -/* 10A748 7F0D5C18 97A80220 */ lhu $t0, 0x220($sp) -/* 10A74C 7F0D5C1C 01CB7825 */ or $t7, $t6, $t3 -/* 10A750 7F0D5C20 00096980 */ sll $t5, $t1, 6 -/* 10A754 7F0D5C24 01EDC825 */ or $t9, $t7, $t5 -/* 10A758 7F0D5C28 02398825 */ or $s1, $s1, $t9 -/* 10A75C 7F0D5C2C 322C00FF */ andi $t4, $s1, 0xff -/* 10A760 7F0D5C30 29015B00 */ slti $at, $t0, 0x5b00 -/* 10A764 7F0D5C34 01808825 */ move $s1, $t4 -/* 10A768 7F0D5C38 14200007 */ bnez $at, .L7F0D5C58 -/* 10A76C 7F0D5C3C AFA90044 */ sw $t1, 0x44($sp) -/* 10A770 7F0D5C40 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10A774 7F0D5C44 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10A778 7F0D5C48 93B8021F */ lbu $t8, 0x21f($sp) -/* 10A77C 7F0D5C4C 01487021 */ addu $t6, $t2, $t0 -/* 10A780 7F0D5C50 100032EA */ b .L7F0E27FC -/* 10A784 7F0D5C54 A1D80000 */ sb $t8, ($t6) -.L7F0D5C58: -/* 10A788 7F0D5C58 97AB0220 */ lhu $t3, 0x220($sp) -/* 10A78C 7F0D5C5C 97B80220 */ lhu $t8, 0x220($sp) -/* 10A790 7F0D5C60 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10A794 7F0D5C64 29615800 */ slti $at, $t3, 0x5800 -/* 10A798 7F0D5C68 5420000D */ bnezl $at, .L7F0D5CA0 -/* 10A79C 7F0D5C6C 2B014000 */ slti $at, $t8, 0x4000 -/* 10A7A0 7F0D5C70 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10A7A4 7F0D5C74 93A9021F */ lbu $t1, 0x21f($sp) -/* 10A7A8 7F0D5C78 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 10A7AC 7F0D5C7C 01EB6821 */ addu $t5, $t7, $t3 -/* 10A7B0 7F0D5C80 A1A90000 */ sb $t1, ($t5) -/* 10A7B4 7F0D5C84 97AA0220 */ lhu $t2, 0x220($sp) -/* 10A7B8 7F0D5C88 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 10A7BC 7F0D5C8C 24190001 */ li $t9, 1 -/* 10A7C0 7F0D5C90 018A4021 */ addu $t0, $t4, $t2 -/* 10A7C4 7F0D5C94 100032D9 */ b .L7F0E27FC -/* 10A7C8 7F0D5C98 A119A800 */ sb $t9, -0x5800($t0) -/* 10A7CC 7F0D5C9C 2B014000 */ slti $at, $t8, 0x4000 -.L7F0D5CA0: -/* 10A7D0 7F0D5CA0 142032D6 */ bnez $at, .L7F0E27FC -/* 10A7D4 7F0D5CA4 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10A7D8 7F0D5CA8 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10A7DC 7F0D5CAC 93AE021F */ lbu $t6, 0x21f($sp) -/* 10A7E0 7F0D5CB0 24090001 */ li $t1, 1 -/* 10A7E4 7F0D5CB4 01F85821 */ addu $t3, $t7, $t8 -/* 10A7E8 7F0D5CB8 A16E0000 */ sb $t6, ($t3) -/* 10A7EC 7F0D5CBC 97AD0220 */ lhu $t5, 0x220($sp) -/* 10A7F0 7F0D5CC0 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10A7F4 7F0D5CC4 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10A7F8 7F0D5CC8 31AC1800 */ andi $t4, $t5, 0x1800 -/* 10A7FC 7F0D5CCC 000C50C3 */ sra $t2, $t4, 3 -/* 10A800 7F0D5CD0 31B900FF */ andi $t9, $t5, 0xff -/* 10A804 7F0D5CD4 01594025 */ or $t0, $t2, $t9 -/* 10A808 7F0D5CD8 01E8C021 */ addu $t8, $t7, $t0 -/* 10A80C 7F0D5CDC 100032C7 */ b .L7F0E27FC -/* 10A810 7F0D5CE0 A3090000 */ sb $t1, ($t8) -spectrum_op_36: -/* 10A814 7F0D5CE4 8FAE028C */ lw $t6, 0x28c($sp) -/* 10A818 7F0D5CE8 93AC0287 */ lbu $t4, 0x287($sp) -/* 10A81C 7F0D5CEC 00166A00 */ sll $t5, $s6, 8 -/* 10A820 7F0D5CF0 25CB000A */ addiu $t3, $t6, 0xa -/* 10A824 7F0D5CF4 15800004 */ bnez $t4, .L7F0D5D08 -/* 10A828 7F0D5CF8 AFAB028C */ sw $t3, 0x28c($sp) -/* 10A82C 7F0D5CFC 01B75025 */ or $t2, $t5, $s7 -/* 10A830 7F0D5D00 10000016 */ b .L7F0D5D5C -/* 10A834 7F0D5D04 A7AA021C */ sh $t2, 0x21c($sp) -.L7F0D5D08: -/* 10A838 7F0D5D08 8FB9028C */ lw $t9, 0x28c($sp) -/* 10A83C 7F0D5D0C 93A80287 */ lbu $t0, 0x287($sp) -/* 10A840 7F0D5D10 24010001 */ li $at, 1 -/* 10A844 7F0D5D14 272F0005 */ addiu $t7, $t9, 5 -/* 10A848 7F0D5D18 15010004 */ bne $t0, $at, .L7F0D5D2C -/* 10A84C 7F0D5D1C AFAF028C */ sw $t7, 0x28c($sp) -/* 10A850 7F0D5D20 97A90296 */ lhu $t1, 0x296($sp) -/* 10A854 7F0D5D24 10000003 */ b .L7F0D5D34 -/* 10A858 7F0D5D28 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D5D2C: -/* 10A85C 7F0D5D2C 97B80294 */ lhu $t8, 0x294($sp) -/* 10A860 7F0D5D30 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D5D34: -/* 10A864 7F0D5D34 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10A868 7F0D5D38 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10A86C 7F0D5D3C 97AE0298 */ lhu $t6, 0x298($sp) -/* 10A870 7F0D5D40 8FAA0048 */ lw $t2, 0x48($sp) -/* 10A874 7F0D5D44 01CB6021 */ addu $t4, $t6, $t3 -/* 10A878 7F0D5D48 818D0000 */ lb $t5, ($t4) -/* 10A87C 7F0D5D4C 25CF0001 */ addiu $t7, $t6, 1 -/* 10A880 7F0D5D50 A7AF0298 */ sh $t7, 0x298($sp) -/* 10A884 7F0D5D54 01AAC821 */ addu $t9, $t5, $t2 -/* 10A888 7F0D5D58 A7B9021C */ sh $t9, 0x21c($sp) -.L7F0D5D5C: -/* 10A88C 7F0D5D5C 97A8021C */ lhu $t0, 0x21c($sp) -/* 10A890 7F0D5D60 97AA021C */ lhu $t2, 0x21c($sp) -/* 10A894 7F0D5D64 97A90298 */ lhu $t1, 0x298($sp) -/* 10A898 7F0D5D68 29015B00 */ slti $at, $t0, 0x5b00 -/* 10A89C 7F0D5D6C 14200007 */ bnez $at, .L7F0D5D8C -/* 10A8A0 7F0D5D70 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10A8A4 7F0D5D74 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10A8A8 7F0D5D78 01385821 */ addu $t3, $t1, $t8 -/* 10A8AC 7F0D5D7C 916C0000 */ lbu $t4, ($t3) -/* 10A8B0 7F0D5D80 03086821 */ addu $t5, $t8, $t0 -/* 10A8B4 7F0D5D84 10000025 */ b .L7F0D5E1C -/* 10A8B8 7F0D5D88 A1AC0000 */ sb $t4, ($t5) -.L7F0D5D8C: -/* 10A8BC 7F0D5D8C 29415800 */ slti $at, $t2, 0x5800 -/* 10A8C0 7F0D5D90 1420000F */ bnez $at, .L7F0D5DD0 -/* 10A8C4 7F0D5D94 97B9021C */ lhu $t9, 0x21c($sp) -/* 10A8C8 7F0D5D98 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10A8CC 7F0D5D9C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10A8D0 7F0D5DA0 97B90298 */ lhu $t9, 0x298($sp) -/* 10A8D4 7F0D5DA4 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 10A8D8 7F0D5DA8 01CA5821 */ addu $t3, $t6, $t2 -/* 10A8DC 7F0D5DAC 032E7821 */ addu $t7, $t9, $t6 -/* 10A8E0 7F0D5DB0 91E90000 */ lbu $t1, ($t7) -/* 10A8E4 7F0D5DB4 24180001 */ li $t8, 1 -/* 10A8E8 7F0D5DB8 A1690000 */ sb $t1, ($t3) -/* 10A8EC 7F0D5DBC 97AC021C */ lhu $t4, 0x21c($sp) -/* 10A8F0 7F0D5DC0 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 10A8F4 7F0D5DC4 010C6821 */ addu $t5, $t0, $t4 -/* 10A8F8 7F0D5DC8 10000014 */ b .L7F0D5E1C -/* 10A8FC 7F0D5DCC A1B8A800 */ sb $t8, -0x5800($t5) -.L7F0D5DD0: -/* 10A900 7F0D5DD0 2B214000 */ slti $at, $t9, 0x4000 -/* 10A904 7F0D5DD4 14200011 */ bnez $at, .L7F0D5E1C -/* 10A908 7F0D5DD8 97AF0298 */ lhu $t7, 0x298($sp) -/* 10A90C 7F0D5DDC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10A910 7F0D5DE0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10A914 7F0D5DE4 24080001 */ li $t0, 1 -/* 10A918 7F0D5DE8 01EE5021 */ addu $t2, $t7, $t6 -/* 10A91C 7F0D5DEC 91490000 */ lbu $t1, ($t2) -/* 10A920 7F0D5DF0 01D95821 */ addu $t3, $t6, $t9 -/* 10A924 7F0D5DF4 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 10A928 7F0D5DF8 A1690000 */ sb $t1, ($t3) -/* 10A92C 7F0D5DFC 97AC021C */ lhu $t4, 0x21c($sp) -/* 10A930 7F0D5E00 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 10A934 7F0D5E04 31981800 */ andi $t8, $t4, 0x1800 -/* 10A938 7F0D5E08 001868C3 */ sra $t5, $t8, 3 -/* 10A93C 7F0D5E0C 318F00FF */ andi $t7, $t4, 0xff -/* 10A940 7F0D5E10 01AF5025 */ or $t2, $t5, $t7 -/* 10A944 7F0D5E14 01CAC821 */ addu $t9, $t6, $t2 -/* 10A948 7F0D5E18 A3280000 */ sb $t0, ($t9) -.L7F0D5E1C: -/* 10A94C 7F0D5E1C 97A90298 */ lhu $t1, 0x298($sp) -/* 10A950 7F0D5E20 252B0001 */ addiu $t3, $t1, 1 -/* 10A954 7F0D5E24 10003275 */ b .L7F0E27FC -/* 10A958 7F0D5E28 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_37: -/* 10A95C 7F0D5E2C 8FB8028C */ lw $t8, 0x28c($sp) -/* 10A960 7F0D5E30 322D00C4 */ andi $t5, $s1, 0xc4 -/* 10A964 7F0D5E34 35AF0001 */ ori $t7, $t5, 1 -/* 10A968 7F0D5E38 320E0028 */ andi $t6, $s0, 0x28 -/* 10A96C 7F0D5E3C 01EE8825 */ or $s1, $t7, $t6 -/* 10A970 7F0D5E40 322A00FF */ andi $t2, $s1, 0xff -/* 10A974 7F0D5E44 270C0004 */ addiu $t4, $t8, 4 -/* 10A978 7F0D5E48 AFAC028C */ sw $t4, 0x28c($sp) -/* 10A97C 7F0D5E4C 1000326B */ b .L7F0E27FC -/* 10A980 7F0D5E50 01408825 */ move $s1, $t2 -spectrum_op_38: -/* 10A984 7F0D5E54 8FA8028C */ lw $t0, 0x28c($sp) -/* 10A988 7F0D5E58 32290001 */ andi $t1, $s1, 1 -/* 10A98C 7F0D5E5C 97AB0298 */ lhu $t3, 0x298($sp) -/* 10A990 7F0D5E60 25190007 */ addiu $t9, $t0, 7 -/* 10A994 7F0D5E64 1120000C */ beqz $t1, .L7F0D5E98 -/* 10A998 7F0D5E68 AFB9028C */ sw $t9, 0x28c($sp) -/* 10A99C 7F0D5E6C 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10A9A0 7F0D5E70 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10A9A4 7F0D5E74 27280005 */ addiu $t0, $t9, 5 -/* 10A9A8 7F0D5E78 01786021 */ addu $t4, $t3, $t8 -/* 10A9AC 7F0D5E7C 818D0000 */ lb $t5, ($t4) -/* 10A9B0 7F0D5E80 AFA8028C */ sw $t0, 0x28c($sp) -/* 10A9B4 7F0D5E84 016D7821 */ addu $t7, $t3, $t5 -/* 10A9B8 7F0D5E88 25EE0001 */ addiu $t6, $t7, 1 -/* 10A9BC 7F0D5E8C A7AE0298 */ sh $t6, 0x298($sp) -/* 10A9C0 7F0D5E90 1000325A */ b .L7F0E27FC -/* 10A9C4 7F0D5E94 AFAD0218 */ sw $t5, 0x218($sp) -.L7F0D5E98: -/* 10A9C8 7F0D5E98 97B90298 */ lhu $t9, 0x298($sp) -/* 10A9CC 7F0D5E9C 27290001 */ addiu $t1, $t9, 1 -/* 10A9D0 7F0D5EA0 10003256 */ b .L7F0E27FC -/* 10A9D4 7F0D5EA4 A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_39: -/* 10A9D8 7F0D5EA8 8FB8028C */ lw $t8, 0x28c($sp) -/* 10A9DC 7F0D5EAC 93AB0287 */ lbu $t3, 0x287($sp) -/* 10A9E0 7F0D5EB0 97AD0292 */ lhu $t5, 0x292($sp) -/* 10A9E4 7F0D5EB4 270C000B */ addiu $t4, $t8, 0xb -/* 10A9E8 7F0D5EB8 1560001E */ bnez $t3, .L7F0D5F34 -/* 10A9EC 7F0D5EBC AFAC028C */ sw $t4, 0x28c($sp) -/* 10A9F0 7F0D5EC0 31AF00FF */ andi $t7, $t5, 0xff -/* 10A9F4 7F0D5EC4 02EF7021 */ addu $t6, $s7, $t7 -/* 10A9F8 7F0D5EC8 31CAFFFF */ andi $t2, $t6, 0xffff -/* 10A9FC 7F0D5ECC 000A4202 */ srl $t0, $t2, 8 -/* 10AA00 7F0D5ED0 3109FFFF */ andi $t1, $t0, 0xffff -/* 10AA04 7F0D5ED4 32D9000F */ andi $t9, $s6, 0xf -/* 10AA08 7F0D5ED8 000D6203 */ sra $t4, $t5, 8 -/* 10AA0C 7F0D5EDC 318B000F */ andi $t3, $t4, 0xf -/* 10AA10 7F0D5EE0 0139C021 */ addu $t8, $t1, $t9 -/* 10AA14 7F0D5EE4 030B7821 */ addu $t7, $t8, $t3 -/* 10AA18 7F0D5EE8 A7AE0216 */ sh $t6, 0x216($sp) -/* 10AA1C 7F0D5EEC 2401000F */ li $at, 15 -/* 10AA20 7F0D5EF0 002F702A */ slt $t6, $at, $t7 -/* 10AA24 7F0D5EF4 000E5100 */ sll $t2, $t6, 4 -/* 10AA28 7F0D5EF8 93B70217 */ lbu $s7, 0x217($sp) -/* 10AA2C 7F0D5EFC 02CC6821 */ addu $t5, $s6, $t4 -/* 10AA30 7F0D5F00 010D7021 */ addu $t6, $t0, $t5 -/* 10AA34 7F0D5F04 A7A80216 */ sh $t0, 0x216($sp) -/* 10AA38 7F0D5F08 A7AE0216 */ sh $t6, 0x216($sp) -/* 10AA3C 7F0D5F0C 93B60217 */ lbu $s6, 0x217($sp) -/* 10AA40 7F0D5F10 322900C4 */ andi $t1, $s1, 0xc4 -/* 10AA44 7F0D5F14 0149C825 */ or $t9, $t2, $t1 -/* 10AA48 7F0D5F18 000E5203 */ sra $t2, $t6, 8 -/* 10AA4C 7F0D5F1C 32CF0028 */ andi $t7, $s6, 0x28 -/* 10AA50 7F0D5F20 01EA4825 */ or $t1, $t7, $t2 -/* 10AA54 7F0D5F24 03298825 */ or $s1, $t9, $t1 -/* 10AA58 7F0D5F28 323900FF */ andi $t9, $s1, 0xff -/* 10AA5C 7F0D5F2C 10003233 */ b .L7F0E27FC -/* 10AA60 7F0D5F30 03208825 */ move $s1, $t9 -.L7F0D5F34: -/* 10AA64 7F0D5F34 93AC0287 */ lbu $t4, 0x287($sp) -/* 10AA68 7F0D5F38 24010001 */ li $at, 1 -/* 10AA6C 7F0D5F3C 97B80294 */ lhu $t8, 0x294($sp) -/* 10AA70 7F0D5F40 15810003 */ bne $t4, $at, .L7F0D5F50 -/* 10AA74 7F0D5F44 97A80296 */ lhu $t0, 0x296($sp) -/* 10AA78 7F0D5F48 10000002 */ b .L7F0D5F54 -/* 10AA7C 7F0D5F4C AFA80210 */ sw $t0, 0x210($sp) -.L7F0D5F50: -/* 10AA80 7F0D5F50 AFB80210 */ sw $t8, 0x210($sp) -.L7F0D5F54: -/* 10AA84 7F0D5F54 97AD0292 */ lhu $t5, 0x292($sp) -/* 10AA88 7F0D5F58 8FA90210 */ lw $t1, 0x210($sp) -/* 10AA8C 7F0D5F5C 24010FFF */ li $at, 4095 -/* 10AA90 7F0D5F60 000D5A03 */ sra $t3, $t5, 8 -/* 10AA94 7F0D5F64 000B7200 */ sll $t6, $t3, 8 -/* 10AA98 7F0D5F68 31AF00FF */ andi $t7, $t5, 0xff -/* 10AA9C 7F0D5F6C 01CF5025 */ or $t2, $t6, $t7 -/* 10AAA0 7F0D5F70 31390FFF */ andi $t9, $t1, 0xfff -/* 10AAA4 7F0D5F74 032A6021 */ addu $t4, $t9, $t2 -/* 10AAA8 7F0D5F78 002C402B */ sltu $t0, $at, $t4 -/* 10AAAC 7F0D5F7C 93AF0287 */ lbu $t7, 0x287($sp) -/* 10AAB0 7F0D5F80 0008C100 */ sll $t8, $t0, 4 -/* 10AAB4 7F0D5F84 322B00C4 */ andi $t3, $s1, 0xc4 -/* 10AAB8 7F0D5F88 01788825 */ or $s1, $t3, $t8 -/* 10AABC 7F0D5F8C 322D00FF */ andi $t5, $s1, 0xff -/* 10AAC0 7F0D5F90 24010001 */ li $at, 1 -/* 10AAC4 7F0D5F94 012A7021 */ addu $t6, $t1, $t2 -/* 10AAC8 7F0D5F98 AFAE0210 */ sw $t6, 0x210($sp) -/* 10AACC 7F0D5F9C 15E10003 */ bne $t7, $at, .L7F0D5FAC -/* 10AAD0 7F0D5FA0 01A08825 */ move $s1, $t5 -/* 10AAD4 7F0D5FA4 10000003 */ b .L7F0D5FB4 -/* 10AAD8 7F0D5FA8 A7AE0296 */ sh $t6, 0x296($sp) -.L7F0D5FAC: -/* 10AADC 7F0D5FAC 8FB90210 */ lw $t9, 0x210($sp) -/* 10AAE0 7F0D5FB0 A7B90294 */ sh $t9, 0x294($sp) -.L7F0D5FB4: -/* 10AAE4 7F0D5FB4 8FAC0210 */ lw $t4, 0x210($sp) -/* 10AAE8 7F0D5FB8 000C4202 */ srl $t0, $t4, 8 -/* 10AAEC 7F0D5FBC 310B0028 */ andi $t3, $t0, 0x28 -/* 10AAF0 7F0D5FC0 000CC402 */ srl $t8, $t4, 0x10 -/* 10AAF4 7F0D5FC4 01786825 */ or $t5, $t3, $t8 -/* 10AAF8 7F0D5FC8 022D8825 */ or $s1, $s1, $t5 -/* 10AAFC 7F0D5FCC 322900FF */ andi $t1, $s1, 0xff -/* 10AB00 7F0D5FD0 1000320A */ b .L7F0E27FC -/* 10AB04 7F0D5FD4 01208825 */ move $s1, $t1 -spectrum_op_3A: -/* 10AB08 7F0D5FD8 8FAA028C */ lw $t2, 0x28c($sp) -/* 10AB0C 7F0D5FDC 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10AB10 7F0D5FE0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10AB14 7F0D5FE4 97AE0298 */ lhu $t6, 0x298($sp) -/* 10AB18 7F0D5FE8 254F000D */ addiu $t7, $t2, 0xd -/* 10AB1C 7F0D5FEC AFAF028C */ sw $t7, 0x28c($sp) -/* 10AB20 7F0D5FF0 032E5821 */ addu $t3, $t9, $t6 -/* 10AB24 7F0D5FF4 91780001 */ lbu $t8, 1($t3) -/* 10AB28 7F0D5FF8 01D94021 */ addu $t0, $t6, $t9 -/* 10AB2C 7F0D5FFC 910C0000 */ lbu $t4, ($t0) -/* 10AB30 7F0D6000 00186A00 */ sll $t5, $t8, 8 -/* 10AB34 7F0D6004 25CA0002 */ addiu $t2, $t6, 2 -/* 10AB38 7F0D6008 018D4825 */ or $t1, $t4, $t5 -/* 10AB3C 7F0D600C 312FFFFF */ andi $t7, $t1, 0xffff -/* 10AB40 7F0D6010 A7A9020E */ sh $t1, 0x20e($sp) -/* 10AB44 7F0D6014 A7AA0298 */ sh $t2, 0x298($sp) -/* 10AB48 7F0D6018 01F94021 */ addu $t0, $t7, $t9 -/* 10AB4C 7F0D601C 100031F7 */ b .L7F0E27FC -/* 10AB50 7F0D6020 91100000 */ lbu $s0, ($t0) -spectrum_op_3B: -/* 10AB54 7F0D6024 8FAB028C */ lw $t3, 0x28c($sp) -/* 10AB58 7F0D6028 97AC0292 */ lhu $t4, 0x292($sp) -/* 10AB5C 7F0D602C 25780006 */ addiu $t8, $t3, 6 -/* 10AB60 7F0D6030 258DFFFF */ addiu $t5, $t4, -1 -/* 10AB64 7F0D6034 AFB8028C */ sw $t8, 0x28c($sp) -/* 10AB68 7F0D6038 100031F0 */ b .L7F0E27FC -/* 10AB6C 7F0D603C A7AD0292 */ sh $t5, 0x292($sp) -spectrum_op_3C: -/* 10AB70 7F0D6040 26100001 */ addiu $s0, $s0, 1 -/* 10AB74 7F0D6044 320A00FF */ andi $t2, $s0, 0xff -/* 10AB78 7F0D6048 8FA9028C */ lw $t1, 0x28c($sp) -/* 10AB7C 7F0D604C 3159000F */ andi $t9, $t2, 0xf -/* 10AB80 7F0D6050 2F280001 */ sltiu $t0, $t9, 1 -/* 10AB84 7F0D6054 01408025 */ move $s0, $t2 -/* 10AB88 7F0D6058 2D4F0001 */ sltiu $t7, $t2, 1 -/* 10AB8C 7F0D605C 315800A8 */ andi $t8, $t2, 0xa8 -/* 10AB90 7F0D6060 322B0001 */ andi $t3, $s1, 1 -/* 10AB94 7F0D6064 01786025 */ or $t4, $t3, $t8 -/* 10AB98 7F0D6068 3A190080 */ xori $t9, $s0, 0x80 -/* 10AB9C 7F0D606C 00086900 */ sll $t5, $t0, 4 -/* 10ABA0 7F0D6070 252E0004 */ addiu $t6, $t1, 4 -/* 10ABA4 7F0D6074 018D4825 */ or $t1, $t4, $t5 -/* 10ABA8 7F0D6078 2F390001 */ sltiu $t9, $t9, 1 -/* 10ABAC 7F0D607C 000F5180 */ sll $t2, $t7, 6 -/* 10ABB0 7F0D6080 AFAF0044 */ sw $t7, 0x44($sp) -/* 10ABB4 7F0D6084 012A7825 */ or $t7, $t1, $t2 -/* 10ABB8 7F0D6088 00195880 */ sll $t3, $t9, 2 -/* 10ABBC 7F0D608C 01EB8825 */ or $s1, $t7, $t3 -/* 10ABC0 7F0D6090 323800FF */ andi $t8, $s1, 0xff -/* 10ABC4 7F0D6094 AFAE028C */ sw $t6, 0x28c($sp) -/* 10ABC8 7F0D6098 03008825 */ move $s1, $t8 -/* 10ABCC 7F0D609C 100031D7 */ b .L7F0E27FC -/* 10ABD0 7F0D60A0 AFA80048 */ sw $t0, 0x48($sp) -spectrum_op_3D: -/* 10ABD4 7F0D60A4 8FA8028C */ lw $t0, 0x28c($sp) -/* 10ABD8 7F0D60A8 320D000F */ andi $t5, $s0, 0xf -/* 10ABDC 7F0D60AC 2610FFFF */ addiu $s0, $s0, -1 -/* 10ABE0 7F0D60B0 250C0004 */ addiu $t4, $t0, 4 -/* 10ABE4 7F0D60B4 AFAC028C */ sw $t4, 0x28c($sp) -/* 10ABE8 7F0D60B8 320B00FF */ andi $t3, $s0, 0xff -/* 10ABEC 7F0D60BC 2DAE0001 */ sltiu $t6, $t5, 1 -/* 10ABF0 7F0D60C0 000E5100 */ sll $t2, $t6, 4 -/* 10ABF4 7F0D60C4 396C007F */ xori $t4, $t3, 0x7f -/* 10ABF8 7F0D60C8 2D8C0001 */ sltiu $t4, $t4, 1 -/* 10ABFC 7F0D60CC 32290001 */ andi $t1, $s1, 1 -/* 10AC00 7F0D60D0 012A8825 */ or $s1, $t1, $t2 -/* 10AC04 7F0D60D4 000C6880 */ sll $t5, $t4, 2 -/* 10AC08 7F0D60D8 AFAE0048 */ sw $t6, 0x48($sp) -/* 10AC0C 7F0D60DC 2D780001 */ sltiu $t8, $t3, 1 -/* 10AC10 7F0D60E0 316800A8 */ andi $t0, $t3, 0xa8 -/* 10AC14 7F0D60E4 010D7025 */ or $t6, $t0, $t5 -/* 10AC18 7F0D60E8 00185180 */ sll $t2, $t8, 6 -/* 10AC1C 7F0D60EC 01CAC825 */ or $t9, $t6, $t2 -/* 10AC20 7F0D60F0 362F0002 */ ori $t7, $s1, 2 -/* 10AC24 7F0D60F4 01F98825 */ or $s1, $t7, $t9 -/* 10AC28 7F0D60F8 322F00FF */ andi $t7, $s1, 0xff -/* 10AC2C 7F0D60FC 01E08825 */ move $s1, $t7 -/* 10AC30 7F0D6100 AFB80044 */ sw $t8, 0x44($sp) -/* 10AC34 7F0D6104 100031BD */ b .L7F0E27FC -/* 10AC38 7F0D6108 01608025 */ move $s0, $t3 -spectrum_op_3E: -/* 10AC3C 7F0D610C 8FAB028C */ lw $t3, 0x28c($sp) -/* 10AC40 7F0D6110 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10AC44 7F0D6114 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10AC48 7F0D6118 97AC0298 */ lhu $t4, 0x298($sp) -/* 10AC4C 7F0D611C 25780007 */ addiu $t8, $t3, 7 -/* 10AC50 7F0D6120 AFB8028C */ sw $t8, 0x28c($sp) -/* 10AC54 7F0D6124 01886821 */ addu $t5, $t4, $t0 -/* 10AC58 7F0D6128 91B00000 */ lbu $s0, ($t5) -/* 10AC5C 7F0D612C 25890001 */ addiu $t1, $t4, 1 -/* 10AC60 7F0D6130 100031B2 */ b .L7F0E27FC -/* 10AC64 7F0D6134 A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_3F: -/* 10AC68 7F0D6138 322F0001 */ andi $t7, $s1, 1 -/* 10AC6C 7F0D613C 8FAE028C */ lw $t6, 0x28c($sp) -/* 10AC70 7F0D6140 39EB0001 */ xori $t3, $t7, 1 -/* 10AC74 7F0D6144 323900C4 */ andi $t9, $s1, 0xc4 -/* 10AC78 7F0D6148 32280001 */ andi $t0, $s1, 1 -/* 10AC7C 7F0D614C 00086900 */ sll $t5, $t0, 4 -/* 10AC80 7F0D6150 032BC025 */ or $t8, $t9, $t3 -/* 10AC84 7F0D6154 030D6025 */ or $t4, $t8, $t5 -/* 10AC88 7F0D6158 32090028 */ andi $t1, $s0, 0x28 -/* 10AC8C 7F0D615C 01898825 */ or $s1, $t4, $t1 -/* 10AC90 7F0D6160 25CA0004 */ addiu $t2, $t6, 4 -/* 10AC94 7F0D6164 322E00FF */ andi $t6, $s1, 0xff -/* 10AC98 7F0D6168 AFAA028C */ sw $t2, 0x28c($sp) -/* 10AC9C 7F0D616C 100031A3 */ b .L7F0E27FC -/* 10ACA0 7F0D6170 01C08825 */ move $s1, $t6 -spectrum_op_40: -/* 10ACA4 7F0D6174 8FAA028C */ lw $t2, 0x28c($sp) -/* 10ACA8 7F0D6178 254F0004 */ addiu $t7, $t2, 4 -/* 10ACAC 7F0D617C 1000319F */ b .L7F0E27FC -/* 10ACB0 7F0D6180 AFAF028C */ sw $t7, 0x28c($sp) -spectrum_op_41: -/* 10ACB4 7F0D6184 8FB9028C */ lw $t9, 0x28c($sp) -/* 10ACB8 7F0D6188 327200FF */ andi $s2, $s3, 0xff -/* 10ACBC 7F0D618C 272B0004 */ addiu $t3, $t9, 4 -/* 10ACC0 7F0D6190 1000319A */ b .L7F0E27FC -/* 10ACC4 7F0D6194 AFAB028C */ sw $t3, 0x28c($sp) -spectrum_op_42: -/* 10ACC8 7F0D6198 8FA8028C */ lw $t0, 0x28c($sp) -/* 10ACCC 7F0D619C 329200FF */ andi $s2, $s4, 0xff -/* 10ACD0 7F0D61A0 25180004 */ addiu $t8, $t0, 4 -/* 10ACD4 7F0D61A4 10003195 */ b .L7F0E27FC -/* 10ACD8 7F0D61A8 AFB8028C */ sw $t8, 0x28c($sp) -spectrum_op_43: -/* 10ACDC 7F0D61AC 8FAD028C */ lw $t5, 0x28c($sp) -/* 10ACE0 7F0D61B0 32B200FF */ andi $s2, $s5, 0xff -/* 10ACE4 7F0D61B4 25AC0004 */ addiu $t4, $t5, 4 -/* 10ACE8 7F0D61B8 10003190 */ b .L7F0E27FC -/* 10ACEC 7F0D61BC AFAC028C */ sw $t4, 0x28c($sp) -spectrum_op_44: -/* 10ACF0 7F0D61C0 8FA9028C */ lw $t1, 0x28c($sp) -/* 10ACF4 7F0D61C4 93AA0287 */ lbu $t2, 0x287($sp) -/* 10ACF8 7F0D61C8 93AF0287 */ lbu $t7, 0x287($sp) -/* 10ACFC 7F0D61CC 252E0004 */ addiu $t6, $t1, 4 -/* 10AD00 7F0D61D0 15400003 */ bnez $t2, .L7F0D61E0 -/* 10AD04 7F0D61D4 AFAE028C */ sw $t6, 0x28c($sp) -/* 10AD08 7F0D61D8 10003188 */ b .L7F0E27FC -/* 10AD0C 7F0D61DC 32D200FF */ andi $s2, $s6, 0xff -.L7F0D61E0: -/* 10AD10 7F0D61E0 24010001 */ li $at, 1 -/* 10AD14 7F0D61E4 15E10005 */ bne $t7, $at, .L7F0D61FC -/* 10AD18 7F0D61E8 97A80294 */ lhu $t0, 0x294($sp) -/* 10AD1C 7F0D61EC 97B90296 */ lhu $t9, 0x296($sp) -/* 10AD20 7F0D61F0 00195A03 */ sra $t3, $t9, 8 -/* 10AD24 7F0D61F4 10000003 */ b .L7F0D6204 -/* 10AD28 7F0D61F8 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D61FC: -/* 10AD2C 7F0D61FC 0008C203 */ sra $t8, $t0, 8 -/* 10AD30 7F0D6200 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D6204: -/* 10AD34 7F0D6204 1000317D */ b .L7F0E27FC -/* 10AD38 7F0D6208 93B2004B */ lbu $s2, 0x4b($sp) -spectrum_op_45: -/* 10AD3C 7F0D620C 8FAD028C */ lw $t5, 0x28c($sp) -/* 10AD40 7F0D6210 93A90287 */ lbu $t1, 0x287($sp) -/* 10AD44 7F0D6214 93AE0287 */ lbu $t6, 0x287($sp) -/* 10AD48 7F0D6218 25AC0004 */ addiu $t4, $t5, 4 -/* 10AD4C 7F0D621C 15200003 */ bnez $t1, .L7F0D622C -/* 10AD50 7F0D6220 AFAC028C */ sw $t4, 0x28c($sp) -/* 10AD54 7F0D6224 10003175 */ b .L7F0E27FC -/* 10AD58 7F0D6228 32F200FF */ andi $s2, $s7, 0xff -.L7F0D622C: -/* 10AD5C 7F0D622C 24010001 */ li $at, 1 -/* 10AD60 7F0D6230 15C10005 */ bne $t6, $at, .L7F0D6248 -/* 10AD64 7F0D6234 97B90294 */ lhu $t9, 0x294($sp) -/* 10AD68 7F0D6238 97AA0296 */ lhu $t2, 0x296($sp) -/* 10AD6C 7F0D623C 314F00FF */ andi $t7, $t2, 0xff -/* 10AD70 7F0D6240 10000003 */ b .L7F0D6250 -/* 10AD74 7F0D6244 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D6248: -/* 10AD78 7F0D6248 332B00FF */ andi $t3, $t9, 0xff -/* 10AD7C 7F0D624C AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D6250: -/* 10AD80 7F0D6250 1000316A */ b .L7F0E27FC -/* 10AD84 7F0D6254 93B2004B */ lbu $s2, 0x4b($sp) -spectrum_op_46: -/* 10AD88 7F0D6258 8FA8028C */ lw $t0, 0x28c($sp) -/* 10AD8C 7F0D625C 93AD0287 */ lbu $t5, 0x287($sp) -/* 10AD90 7F0D6260 00166200 */ sll $t4, $s6, 8 -/* 10AD94 7F0D6264 25180007 */ addiu $t8, $t0, 7 -/* 10AD98 7F0D6268 15A00004 */ bnez $t5, .L7F0D627C -/* 10AD9C 7F0D626C AFB8028C */ sw $t8, 0x28c($sp) -/* 10ADA0 7F0D6270 01974825 */ or $t1, $t4, $s7 -/* 10ADA4 7F0D6274 10000016 */ b .L7F0D62D0 -/* 10ADA8 7F0D6278 A7A9020C */ sh $t1, 0x20c($sp) -.L7F0D627C: -/* 10ADAC 7F0D627C 8FAE028C */ lw $t6, 0x28c($sp) -/* 10ADB0 7F0D6280 93AF0287 */ lbu $t7, 0x287($sp) -/* 10ADB4 7F0D6284 24010001 */ li $at, 1 -/* 10ADB8 7F0D6288 25CA0008 */ addiu $t2, $t6, 8 -/* 10ADBC 7F0D628C 15E10004 */ bne $t7, $at, .L7F0D62A0 -/* 10ADC0 7F0D6290 AFAA028C */ sw $t2, 0x28c($sp) -/* 10ADC4 7F0D6294 97B90296 */ lhu $t9, 0x296($sp) -/* 10ADC8 7F0D6298 10000003 */ b .L7F0D62A8 -/* 10ADCC 7F0D629C AFB90048 */ sw $t9, 0x48($sp) -.L7F0D62A0: -/* 10ADD0 7F0D62A0 97AB0294 */ lhu $t3, 0x294($sp) -/* 10ADD4 7F0D62A4 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D62A8: -/* 10ADD8 7F0D62A8 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10ADDC 7F0D62AC 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10ADE0 7F0D62B0 97A80298 */ lhu $t0, 0x298($sp) -/* 10ADE4 7F0D62B4 8FA90048 */ lw $t1, 0x48($sp) -/* 10ADE8 7F0D62B8 01186821 */ addu $t5, $t0, $t8 -/* 10ADEC 7F0D62BC 81AC0000 */ lb $t4, ($t5) -/* 10ADF0 7F0D62C0 250A0001 */ addiu $t2, $t0, 1 -/* 10ADF4 7F0D62C4 A7AA0298 */ sh $t2, 0x298($sp) -/* 10ADF8 7F0D62C8 01897021 */ addu $t6, $t4, $t1 -/* 10ADFC 7F0D62CC A7AE020C */ sh $t6, 0x20c($sp) -.L7F0D62D0: -/* 10AE00 7F0D62D0 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10AE04 7F0D62D4 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10AE08 7F0D62D8 97AF020C */ lhu $t7, 0x20c($sp) -/* 10AE0C 7F0D62DC 01F95821 */ addu $t3, $t7, $t9 -/* 10AE10 7F0D62E0 10003146 */ b .L7F0E27FC -/* 10AE14 7F0D62E4 91720000 */ lbu $s2, ($t3) -spectrum_op_47: -/* 10AE18 7F0D62E8 8FB8028C */ lw $t8, 0x28c($sp) -/* 10AE1C 7F0D62EC 321200FF */ andi $s2, $s0, 0xff -/* 10AE20 7F0D62F0 270D0004 */ addiu $t5, $t8, 4 -/* 10AE24 7F0D62F4 10003141 */ b .L7F0E27FC -/* 10AE28 7F0D62F8 AFAD028C */ sw $t5, 0x28c($sp) -spectrum_op_48: -/* 10AE2C 7F0D62FC 8FAC028C */ lw $t4, 0x28c($sp) -/* 10AE30 7F0D6300 325300FF */ andi $s3, $s2, 0xff -/* 10AE34 7F0D6304 25890004 */ addiu $t1, $t4, 4 -/* 10AE38 7F0D6308 1000313C */ b .L7F0E27FC -/* 10AE3C 7F0D630C AFA9028C */ sw $t1, 0x28c($sp) -spectrum_op_49: -/* 10AE40 7F0D6310 8FAE028C */ lw $t6, 0x28c($sp) -/* 10AE44 7F0D6314 25C80004 */ addiu $t0, $t6, 4 -/* 10AE48 7F0D6318 10003138 */ b .L7F0E27FC -/* 10AE4C 7F0D631C AFA8028C */ sw $t0, 0x28c($sp) -spectrum_op_4A: -/* 10AE50 7F0D6320 8FAA028C */ lw $t2, 0x28c($sp) -/* 10AE54 7F0D6324 329300FF */ andi $s3, $s4, 0xff -/* 10AE58 7F0D6328 254F0004 */ addiu $t7, $t2, 4 -/* 10AE5C 7F0D632C 10003133 */ b .L7F0E27FC -/* 10AE60 7F0D6330 AFAF028C */ sw $t7, 0x28c($sp) -spectrum_op_4B: -/* 10AE64 7F0D6334 8FB9028C */ lw $t9, 0x28c($sp) -/* 10AE68 7F0D6338 32B300FF */ andi $s3, $s5, 0xff -/* 10AE6C 7F0D633C 272B0004 */ addiu $t3, $t9, 4 -/* 10AE70 7F0D6340 1000312E */ b .L7F0E27FC -/* 10AE74 7F0D6344 AFAB028C */ sw $t3, 0x28c($sp) -spectrum_op_4C: -/* 10AE78 7F0D6348 8FB8028C */ lw $t8, 0x28c($sp) -/* 10AE7C 7F0D634C 93AC0287 */ lbu $t4, 0x287($sp) -/* 10AE80 7F0D6350 93A90287 */ lbu $t1, 0x287($sp) -/* 10AE84 7F0D6354 270D0004 */ addiu $t5, $t8, 4 -/* 10AE88 7F0D6358 15800003 */ bnez $t4, .L7F0D6368 -/* 10AE8C 7F0D635C AFAD028C */ sw $t5, 0x28c($sp) -/* 10AE90 7F0D6360 10003126 */ b .L7F0E27FC -/* 10AE94 7F0D6364 32D300FF */ andi $s3, $s6, 0xff -.L7F0D6368: -/* 10AE98 7F0D6368 24010001 */ li $at, 1 -/* 10AE9C 7F0D636C 15210005 */ bne $t1, $at, .L7F0D6384 -/* 10AEA0 7F0D6370 97AA0294 */ lhu $t2, 0x294($sp) -/* 10AEA4 7F0D6374 97AE0296 */ lhu $t6, 0x296($sp) -/* 10AEA8 7F0D6378 000E4203 */ sra $t0, $t6, 8 -/* 10AEAC 7F0D637C 10000003 */ b .L7F0D638C -/* 10AEB0 7F0D6380 AFA80048 */ sw $t0, 0x48($sp) -.L7F0D6384: -/* 10AEB4 7F0D6384 000A7A03 */ sra $t7, $t2, 8 -/* 10AEB8 7F0D6388 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D638C: -/* 10AEBC 7F0D638C 1000311B */ b .L7F0E27FC -/* 10AEC0 7F0D6390 93B3004B */ lbu $s3, 0x4b($sp) -spectrum_op_4D: -/* 10AEC4 7F0D6394 8FB9028C */ lw $t9, 0x28c($sp) -/* 10AEC8 7F0D6398 93B80287 */ lbu $t8, 0x287($sp) -/* 10AECC 7F0D639C 93AD0287 */ lbu $t5, 0x287($sp) -/* 10AED0 7F0D63A0 272B0004 */ addiu $t3, $t9, 4 -/* 10AED4 7F0D63A4 17000003 */ bnez $t8, .L7F0D63B4 -/* 10AED8 7F0D63A8 AFAB028C */ sw $t3, 0x28c($sp) -/* 10AEDC 7F0D63AC 10003113 */ b .L7F0E27FC -/* 10AEE0 7F0D63B0 32F300FF */ andi $s3, $s7, 0xff -.L7F0D63B4: -/* 10AEE4 7F0D63B4 24010001 */ li $at, 1 -/* 10AEE8 7F0D63B8 15A10005 */ bne $t5, $at, .L7F0D63D0 -/* 10AEEC 7F0D63BC 97AE0294 */ lhu $t6, 0x294($sp) -/* 10AEF0 7F0D63C0 97AC0296 */ lhu $t4, 0x296($sp) -/* 10AEF4 7F0D63C4 318900FF */ andi $t1, $t4, 0xff -/* 10AEF8 7F0D63C8 10000003 */ b .L7F0D63D8 -/* 10AEFC 7F0D63CC AFA90048 */ sw $t1, 0x48($sp) -.L7F0D63D0: -/* 10AF00 7F0D63D0 31C800FF */ andi $t0, $t6, 0xff -/* 10AF04 7F0D63D4 AFA80048 */ sw $t0, 0x48($sp) -.L7F0D63D8: -/* 10AF08 7F0D63D8 10003108 */ b .L7F0E27FC -/* 10AF0C 7F0D63DC 93B3004B */ lbu $s3, 0x4b($sp) -spectrum_op_4E: -/* 10AF10 7F0D63E0 8FAA028C */ lw $t2, 0x28c($sp) -/* 10AF14 7F0D63E4 93B90287 */ lbu $t9, 0x287($sp) -/* 10AF18 7F0D63E8 00165A00 */ sll $t3, $s6, 8 -/* 10AF1C 7F0D63EC 254F0007 */ addiu $t7, $t2, 7 -/* 10AF20 7F0D63F0 17200004 */ bnez $t9, .L7F0D6404 -/* 10AF24 7F0D63F4 AFAF028C */ sw $t7, 0x28c($sp) -/* 10AF28 7F0D63F8 0177C025 */ or $t8, $t3, $s7 -/* 10AF2C 7F0D63FC 10000016 */ b .L7F0D6458 -/* 10AF30 7F0D6400 A7B8020A */ sh $t8, 0x20a($sp) -.L7F0D6404: -/* 10AF34 7F0D6404 8FAD028C */ lw $t5, 0x28c($sp) -/* 10AF38 7F0D6408 93A90287 */ lbu $t1, 0x287($sp) -/* 10AF3C 7F0D640C 24010001 */ li $at, 1 -/* 10AF40 7F0D6410 25AC0008 */ addiu $t4, $t5, 8 -/* 10AF44 7F0D6414 15210004 */ bne $t1, $at, .L7F0D6428 -/* 10AF48 7F0D6418 AFAC028C */ sw $t4, 0x28c($sp) -/* 10AF4C 7F0D641C 97AE0296 */ lhu $t6, 0x296($sp) -/* 10AF50 7F0D6420 10000003 */ b .L7F0D6430 -/* 10AF54 7F0D6424 AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D6428: -/* 10AF58 7F0D6428 97A80294 */ lhu $t0, 0x294($sp) -/* 10AF5C 7F0D642C AFA80048 */ sw $t0, 0x48($sp) -.L7F0D6430: -/* 10AF60 7F0D6430 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10AF64 7F0D6434 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10AF68 7F0D6438 97AA0298 */ lhu $t2, 0x298($sp) -/* 10AF6C 7F0D643C 8FB80048 */ lw $t8, 0x48($sp) -/* 10AF70 7F0D6440 014FC821 */ addu $t9, $t2, $t7 -/* 10AF74 7F0D6444 832B0000 */ lb $t3, ($t9) -/* 10AF78 7F0D6448 254C0001 */ addiu $t4, $t2, 1 -/* 10AF7C 7F0D644C A7AC0298 */ sh $t4, 0x298($sp) -/* 10AF80 7F0D6450 01786821 */ addu $t5, $t3, $t8 -/* 10AF84 7F0D6454 A7AD020A */ sh $t5, 0x20a($sp) -.L7F0D6458: -/* 10AF88 7F0D6458 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10AF8C 7F0D645C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10AF90 7F0D6460 97A9020A */ lhu $t1, 0x20a($sp) -/* 10AF94 7F0D6464 012E4021 */ addu $t0, $t1, $t6 -/* 10AF98 7F0D6468 100030E4 */ b .L7F0E27FC -/* 10AF9C 7F0D646C 91130000 */ lbu $s3, ($t0) -spectrum_op_4F: -/* 10AFA0 7F0D6470 8FAF028C */ lw $t7, 0x28c($sp) -/* 10AFA4 7F0D6474 321300FF */ andi $s3, $s0, 0xff -/* 10AFA8 7F0D6478 25F90004 */ addiu $t9, $t7, 4 -/* 10AFAC 7F0D647C 100030DF */ b .L7F0E27FC -/* 10AFB0 7F0D6480 AFB9028C */ sw $t9, 0x28c($sp) -spectrum_op_50: -/* 10AFB4 7F0D6484 8FAB028C */ lw $t3, 0x28c($sp) -/* 10AFB8 7F0D6488 325400FF */ andi $s4, $s2, 0xff -/* 10AFBC 7F0D648C 25780004 */ addiu $t8, $t3, 4 -/* 10AFC0 7F0D6490 100030DA */ b .L7F0E27FC -/* 10AFC4 7F0D6494 AFB8028C */ sw $t8, 0x28c($sp) -spectrum_op_51: -/* 10AFC8 7F0D6498 8FAD028C */ lw $t5, 0x28c($sp) -/* 10AFCC 7F0D649C 327400FF */ andi $s4, $s3, 0xff -/* 10AFD0 7F0D64A0 25AA0004 */ addiu $t2, $t5, 4 -/* 10AFD4 7F0D64A4 100030D5 */ b .L7F0E27FC -/* 10AFD8 7F0D64A8 AFAA028C */ sw $t2, 0x28c($sp) -spectrum_op_52: -/* 10AFDC 7F0D64AC 8FAC028C */ lw $t4, 0x28c($sp) -/* 10AFE0 7F0D64B0 25890004 */ addiu $t1, $t4, 4 -/* 10AFE4 7F0D64B4 100030D1 */ b .L7F0E27FC -/* 10AFE8 7F0D64B8 AFA9028C */ sw $t1, 0x28c($sp) -spectrum_op_53: -/* 10AFEC 7F0D64BC 8FAE028C */ lw $t6, 0x28c($sp) -/* 10AFF0 7F0D64C0 32B400FF */ andi $s4, $s5, 0xff -/* 10AFF4 7F0D64C4 25C80004 */ addiu $t0, $t6, 4 -/* 10AFF8 7F0D64C8 100030CC */ b .L7F0E27FC -/* 10AFFC 7F0D64CC AFA8028C */ sw $t0, 0x28c($sp) -spectrum_op_54: -/* 10B000 7F0D64D0 8FAF028C */ lw $t7, 0x28c($sp) -/* 10B004 7F0D64D4 93AB0287 */ lbu $t3, 0x287($sp) -/* 10B008 7F0D64D8 93B80287 */ lbu $t8, 0x287($sp) -/* 10B00C 7F0D64DC 25F90004 */ addiu $t9, $t7, 4 -/* 10B010 7F0D64E0 15600003 */ bnez $t3, .L7F0D64F0 -/* 10B014 7F0D64E4 AFB9028C */ sw $t9, 0x28c($sp) -/* 10B018 7F0D64E8 100030C4 */ b .L7F0E27FC -/* 10B01C 7F0D64EC 32D400FF */ andi $s4, $s6, 0xff -.L7F0D64F0: -/* 10B020 7F0D64F0 24010001 */ li $at, 1 -/* 10B024 7F0D64F4 17010005 */ bne $t8, $at, .L7F0D650C -/* 10B028 7F0D64F8 97AC0294 */ lhu $t4, 0x294($sp) -/* 10B02C 7F0D64FC 97AD0296 */ lhu $t5, 0x296($sp) -/* 10B030 7F0D6500 000D5203 */ sra $t2, $t5, 8 -/* 10B034 7F0D6504 10000003 */ b .L7F0D6514 -/* 10B038 7F0D6508 AFAA0048 */ sw $t2, 0x48($sp) -.L7F0D650C: -/* 10B03C 7F0D650C 000C4A03 */ sra $t1, $t4, 8 -/* 10B040 7F0D6510 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D6514: -/* 10B044 7F0D6514 100030B9 */ b .L7F0E27FC -/* 10B048 7F0D6518 93B4004B */ lbu $s4, 0x4b($sp) -spectrum_op_55: -/* 10B04C 7F0D651C 8FAE028C */ lw $t6, 0x28c($sp) -/* 10B050 7F0D6520 93AF0287 */ lbu $t7, 0x287($sp) -/* 10B054 7F0D6524 93B90287 */ lbu $t9, 0x287($sp) -/* 10B058 7F0D6528 25C80004 */ addiu $t0, $t6, 4 -/* 10B05C 7F0D652C 15E00003 */ bnez $t7, .L7F0D653C -/* 10B060 7F0D6530 AFA8028C */ sw $t0, 0x28c($sp) -/* 10B064 7F0D6534 100030B1 */ b .L7F0E27FC -/* 10B068 7F0D6538 32F400FF */ andi $s4, $s7, 0xff -.L7F0D653C: -/* 10B06C 7F0D653C 24010001 */ li $at, 1 -/* 10B070 7F0D6540 17210005 */ bne $t9, $at, .L7F0D6558 -/* 10B074 7F0D6544 97AD0294 */ lhu $t5, 0x294($sp) -/* 10B078 7F0D6548 97AB0296 */ lhu $t3, 0x296($sp) -/* 10B07C 7F0D654C 317800FF */ andi $t8, $t3, 0xff -/* 10B080 7F0D6550 10000003 */ b .L7F0D6560 -/* 10B084 7F0D6554 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D6558: -/* 10B088 7F0D6558 31AA00FF */ andi $t2, $t5, 0xff -/* 10B08C 7F0D655C AFAA0048 */ sw $t2, 0x48($sp) -.L7F0D6560: -/* 10B090 7F0D6560 100030A6 */ b .L7F0E27FC -/* 10B094 7F0D6564 93B4004B */ lbu $s4, 0x4b($sp) -spectrum_op_56: -/* 10B098 7F0D6568 8FAC028C */ lw $t4, 0x28c($sp) -/* 10B09C 7F0D656C 93AE0287 */ lbu $t6, 0x287($sp) -/* 10B0A0 7F0D6570 00164200 */ sll $t0, $s6, 8 -/* 10B0A4 7F0D6574 25890007 */ addiu $t1, $t4, 7 -/* 10B0A8 7F0D6578 15C00004 */ bnez $t6, .L7F0D658C -/* 10B0AC 7F0D657C AFA9028C */ sw $t1, 0x28c($sp) -/* 10B0B0 7F0D6580 01177825 */ or $t7, $t0, $s7 -/* 10B0B4 7F0D6584 10000016 */ b .L7F0D65E0 -/* 10B0B8 7F0D6588 A7AF0208 */ sh $t7, 0x208($sp) -.L7F0D658C: -/* 10B0BC 7F0D658C 8FB9028C */ lw $t9, 0x28c($sp) -/* 10B0C0 7F0D6590 93B80287 */ lbu $t8, 0x287($sp) -/* 10B0C4 7F0D6594 24010001 */ li $at, 1 -/* 10B0C8 7F0D6598 272B0008 */ addiu $t3, $t9, 8 -/* 10B0CC 7F0D659C 17010004 */ bne $t8, $at, .L7F0D65B0 -/* 10B0D0 7F0D65A0 AFAB028C */ sw $t3, 0x28c($sp) -/* 10B0D4 7F0D65A4 97AD0296 */ lhu $t5, 0x296($sp) -/* 10B0D8 7F0D65A8 10000003 */ b .L7F0D65B8 -/* 10B0DC 7F0D65AC AFAD0048 */ sw $t5, 0x48($sp) -.L7F0D65B0: -/* 10B0E0 7F0D65B0 97AA0294 */ lhu $t2, 0x294($sp) -/* 10B0E4 7F0D65B4 AFAA0048 */ sw $t2, 0x48($sp) -.L7F0D65B8: -/* 10B0E8 7F0D65B8 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10B0EC 7F0D65BC 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10B0F0 7F0D65C0 97AC0298 */ lhu $t4, 0x298($sp) -/* 10B0F4 7F0D65C4 8FAF0048 */ lw $t7, 0x48($sp) -/* 10B0F8 7F0D65C8 01897021 */ addu $t6, $t4, $t1 -/* 10B0FC 7F0D65CC 81C80000 */ lb $t0, ($t6) -/* 10B100 7F0D65D0 258B0001 */ addiu $t3, $t4, 1 -/* 10B104 7F0D65D4 A7AB0298 */ sh $t3, 0x298($sp) -/* 10B108 7F0D65D8 010FC821 */ addu $t9, $t0, $t7 -/* 10B10C 7F0D65DC A7B90208 */ sh $t9, 0x208($sp) -.L7F0D65E0: -/* 10B110 7F0D65E0 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10B114 7F0D65E4 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10B118 7F0D65E8 97B80208 */ lhu $t8, 0x208($sp) -/* 10B11C 7F0D65EC 030D5021 */ addu $t2, $t8, $t5 -/* 10B120 7F0D65F0 10003082 */ b .L7F0E27FC -/* 10B124 7F0D65F4 91540000 */ lbu $s4, ($t2) -spectrum_op_57: -/* 10B128 7F0D65F8 8FA9028C */ lw $t1, 0x28c($sp) -/* 10B12C 7F0D65FC 321400FF */ andi $s4, $s0, 0xff -/* 10B130 7F0D6600 252E0004 */ addiu $t6, $t1, 4 -/* 10B134 7F0D6604 1000307D */ b .L7F0E27FC -/* 10B138 7F0D6608 AFAE028C */ sw $t6, 0x28c($sp) -spectrum_op_58: -/* 10B13C 7F0D660C 8FA8028C */ lw $t0, 0x28c($sp) -/* 10B140 7F0D6610 325500FF */ andi $s5, $s2, 0xff -/* 10B144 7F0D6614 250F0004 */ addiu $t7, $t0, 4 -/* 10B148 7F0D6618 10003078 */ b .L7F0E27FC -/* 10B14C 7F0D661C AFAF028C */ sw $t7, 0x28c($sp) -spectrum_op_59: -/* 10B150 7F0D6620 8FB9028C */ lw $t9, 0x28c($sp) -/* 10B154 7F0D6624 327500FF */ andi $s5, $s3, 0xff -/* 10B158 7F0D6628 272C0004 */ addiu $t4, $t9, 4 -/* 10B15C 7F0D662C 10003073 */ b .L7F0E27FC -/* 10B160 7F0D6630 AFAC028C */ sw $t4, 0x28c($sp) -spectrum_op_5A: -/* 10B164 7F0D6634 8FAB028C */ lw $t3, 0x28c($sp) -/* 10B168 7F0D6638 329500FF */ andi $s5, $s4, 0xff -/* 10B16C 7F0D663C 25780004 */ addiu $t8, $t3, 4 -/* 10B170 7F0D6640 1000306E */ b .L7F0E27FC -/* 10B174 7F0D6644 AFB8028C */ sw $t8, 0x28c($sp) -spectrum_op_5B: -/* 10B178 7F0D6648 8FAD028C */ lw $t5, 0x28c($sp) -/* 10B17C 7F0D664C 25AA0004 */ addiu $t2, $t5, 4 -/* 10B180 7F0D6650 1000306A */ b .L7F0E27FC -/* 10B184 7F0D6654 AFAA028C */ sw $t2, 0x28c($sp) -spectrum_op_5C: -/* 10B188 7F0D6658 8FA9028C */ lw $t1, 0x28c($sp) -/* 10B18C 7F0D665C 93A80287 */ lbu $t0, 0x287($sp) -/* 10B190 7F0D6660 93AF0287 */ lbu $t7, 0x287($sp) -/* 10B194 7F0D6664 252E0004 */ addiu $t6, $t1, 4 -/* 10B198 7F0D6668 15000003 */ bnez $t0, .L7F0D6678 -/* 10B19C 7F0D666C AFAE028C */ sw $t6, 0x28c($sp) -/* 10B1A0 7F0D6670 10003062 */ b .L7F0E27FC -/* 10B1A4 7F0D6674 32D500FF */ andi $s5, $s6, 0xff -.L7F0D6678: -/* 10B1A8 7F0D6678 24010001 */ li $at, 1 -/* 10B1AC 7F0D667C 15E10005 */ bne $t7, $at, .L7F0D6694 -/* 10B1B0 7F0D6680 97AB0294 */ lhu $t3, 0x294($sp) -/* 10B1B4 7F0D6684 97B90296 */ lhu $t9, 0x296($sp) -/* 10B1B8 7F0D6688 00196203 */ sra $t4, $t9, 8 -/* 10B1BC 7F0D668C 10000003 */ b .L7F0D669C -/* 10B1C0 7F0D6690 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D6694: -/* 10B1C4 7F0D6694 000BC203 */ sra $t8, $t3, 8 -/* 10B1C8 7F0D6698 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D669C: -/* 10B1CC 7F0D669C 10003057 */ b .L7F0E27FC -/* 10B1D0 7F0D66A0 93B5004B */ lbu $s5, 0x4b($sp) -spectrum_op_5D: -/* 10B1D4 7F0D66A4 8FAD028C */ lw $t5, 0x28c($sp) -/* 10B1D8 7F0D66A8 93A90287 */ lbu $t1, 0x287($sp) -/* 10B1DC 7F0D66AC 93AE0287 */ lbu $t6, 0x287($sp) -/* 10B1E0 7F0D66B0 25AA0004 */ addiu $t2, $t5, 4 -/* 10B1E4 7F0D66B4 15200003 */ bnez $t1, .L7F0D66C4 -/* 10B1E8 7F0D66B8 AFAA028C */ sw $t2, 0x28c($sp) -/* 10B1EC 7F0D66BC 1000304F */ b .L7F0E27FC -/* 10B1F0 7F0D66C0 32F500FF */ andi $s5, $s7, 0xff -.L7F0D66C4: -/* 10B1F4 7F0D66C4 24010001 */ li $at, 1 -/* 10B1F8 7F0D66C8 15C10005 */ bne $t6, $at, .L7F0D66E0 -/* 10B1FC 7F0D66CC 97B90294 */ lhu $t9, 0x294($sp) -/* 10B200 7F0D66D0 97A80296 */ lhu $t0, 0x296($sp) -/* 10B204 7F0D66D4 310F00FF */ andi $t7, $t0, 0xff -/* 10B208 7F0D66D8 10000003 */ b .L7F0D66E8 -/* 10B20C 7F0D66DC AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D66E0: -/* 10B210 7F0D66E0 332C00FF */ andi $t4, $t9, 0xff -/* 10B214 7F0D66E4 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D66E8: -/* 10B218 7F0D66E8 10003044 */ b .L7F0E27FC -/* 10B21C 7F0D66EC 93B5004B */ lbu $s5, 0x4b($sp) -spectrum_op_5E: -/* 10B220 7F0D66F0 8FAB028C */ lw $t3, 0x28c($sp) -/* 10B224 7F0D66F4 93AD0287 */ lbu $t5, 0x287($sp) -/* 10B228 7F0D66F8 00165200 */ sll $t2, $s6, 8 -/* 10B22C 7F0D66FC 25780007 */ addiu $t8, $t3, 7 -/* 10B230 7F0D6700 15A00004 */ bnez $t5, .L7F0D6714 -/* 10B234 7F0D6704 AFB8028C */ sw $t8, 0x28c($sp) -/* 10B238 7F0D6708 01574825 */ or $t1, $t2, $s7 -/* 10B23C 7F0D670C 10000016 */ b .L7F0D6768 -/* 10B240 7F0D6710 A7A90206 */ sh $t1, 0x206($sp) -.L7F0D6714: -/* 10B244 7F0D6714 8FAE028C */ lw $t6, 0x28c($sp) -/* 10B248 7F0D6718 93AF0287 */ lbu $t7, 0x287($sp) -/* 10B24C 7F0D671C 24010001 */ li $at, 1 -/* 10B250 7F0D6720 25C80008 */ addiu $t0, $t6, 8 -/* 10B254 7F0D6724 15E10004 */ bne $t7, $at, .L7F0D6738 -/* 10B258 7F0D6728 AFA8028C */ sw $t0, 0x28c($sp) -/* 10B25C 7F0D672C 97B90296 */ lhu $t9, 0x296($sp) -/* 10B260 7F0D6730 10000003 */ b .L7F0D6740 -/* 10B264 7F0D6734 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D6738: -/* 10B268 7F0D6738 97AC0294 */ lhu $t4, 0x294($sp) -/* 10B26C 7F0D673C AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D6740: -/* 10B270 7F0D6740 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10B274 7F0D6744 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10B278 7F0D6748 97AB0298 */ lhu $t3, 0x298($sp) -/* 10B27C 7F0D674C 8FA90048 */ lw $t1, 0x48($sp) -/* 10B280 7F0D6750 01786821 */ addu $t5, $t3, $t8 -/* 10B284 7F0D6754 81AA0000 */ lb $t2, ($t5) -/* 10B288 7F0D6758 25680001 */ addiu $t0, $t3, 1 -/* 10B28C 7F0D675C A7A80298 */ sh $t0, 0x298($sp) -/* 10B290 7F0D6760 01497021 */ addu $t6, $t2, $t1 -/* 10B294 7F0D6764 A7AE0206 */ sh $t6, 0x206($sp) -.L7F0D6768: -/* 10B298 7F0D6768 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10B29C 7F0D676C 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10B2A0 7F0D6770 97AF0206 */ lhu $t7, 0x206($sp) -/* 10B2A4 7F0D6774 01F96021 */ addu $t4, $t7, $t9 -/* 10B2A8 7F0D6778 10003020 */ b .L7F0E27FC -/* 10B2AC 7F0D677C 91950000 */ lbu $s5, ($t4) -spectrum_op_5F: -/* 10B2B0 7F0D6780 8FB8028C */ lw $t8, 0x28c($sp) -/* 10B2B4 7F0D6784 321500FF */ andi $s5, $s0, 0xff -/* 10B2B8 7F0D6788 270D0004 */ addiu $t5, $t8, 4 -/* 10B2BC 7F0D678C 1000301B */ b .L7F0E27FC -/* 10B2C0 7F0D6790 AFAD028C */ sw $t5, 0x28c($sp) -spectrum_op_60: -/* 10B2C4 7F0D6794 8FAA028C */ lw $t2, 0x28c($sp) -/* 10B2C8 7F0D6798 93AE0287 */ lbu $t6, 0x287($sp) -/* 10B2CC 7F0D679C 93AB0287 */ lbu $t3, 0x287($sp) -/* 10B2D0 7F0D67A0 25490004 */ addiu $t1, $t2, 4 -/* 10B2D4 7F0D67A4 15C00003 */ bnez $t6, .L7F0D67B4 -/* 10B2D8 7F0D67A8 AFA9028C */ sw $t1, 0x28c($sp) -/* 10B2DC 7F0D67AC 10003013 */ b .L7F0E27FC -/* 10B2E0 7F0D67B0 325600FF */ andi $s6, $s2, 0xff -.L7F0D67B4: -/* 10B2E4 7F0D67B4 24010001 */ li $at, 1 -/* 10B2E8 7F0D67B8 15610007 */ bne $t3, $at, .L7F0D67D8 -/* 10B2EC 7F0D67BC 97B80294 */ lhu $t8, 0x294($sp) -/* 10B2F0 7F0D67C0 97A80296 */ lhu $t0, 0x296($sp) -/* 10B2F4 7F0D67C4 0012CA00 */ sll $t9, $s2, 8 -/* 10B2F8 7F0D67C8 310F00FF */ andi $t7, $t0, 0xff -/* 10B2FC 7F0D67CC 01F96025 */ or $t4, $t7, $t9 -/* 10B300 7F0D67D0 1000300A */ b .L7F0E27FC -/* 10B304 7F0D67D4 A7AC0296 */ sh $t4, 0x296($sp) -.L7F0D67D8: -/* 10B308 7F0D67D8 330D00FF */ andi $t5, $t8, 0xff -/* 10B30C 7F0D67DC 00125200 */ sll $t2, $s2, 8 -/* 10B310 7F0D67E0 01AA4825 */ or $t1, $t5, $t2 -/* 10B314 7F0D67E4 10003005 */ b .L7F0E27FC -/* 10B318 7F0D67E8 A7A90294 */ sh $t1, 0x294($sp) -spectrum_op_61: -/* 10B31C 7F0D67EC 8FAE028C */ lw $t6, 0x28c($sp) -/* 10B320 7F0D67F0 93A80287 */ lbu $t0, 0x287($sp) -/* 10B324 7F0D67F4 93AF0287 */ lbu $t7, 0x287($sp) -/* 10B328 7F0D67F8 25CB0004 */ addiu $t3, $t6, 4 -/* 10B32C 7F0D67FC 15000003 */ bnez $t0, .L7F0D680C -/* 10B330 7F0D6800 AFAB028C */ sw $t3, 0x28c($sp) -/* 10B334 7F0D6804 10002FFD */ b .L7F0E27FC -/* 10B338 7F0D6808 327600FF */ andi $s6, $s3, 0xff -.L7F0D680C: -/* 10B33C 7F0D680C 24010001 */ li $at, 1 -/* 10B340 7F0D6810 15E10007 */ bne $t7, $at, .L7F0D6830 -/* 10B344 7F0D6814 97AA0294 */ lhu $t2, 0x294($sp) -/* 10B348 7F0D6818 97B90296 */ lhu $t9, 0x296($sp) -/* 10B34C 7F0D681C 0013C200 */ sll $t8, $s3, 8 -/* 10B350 7F0D6820 332C00FF */ andi $t4, $t9, 0xff -/* 10B354 7F0D6824 01986825 */ or $t5, $t4, $t8 -/* 10B358 7F0D6828 10002FF4 */ b .L7F0E27FC -/* 10B35C 7F0D682C A7AD0296 */ sh $t5, 0x296($sp) -.L7F0D6830: -/* 10B360 7F0D6830 314900FF */ andi $t1, $t2, 0xff -/* 10B364 7F0D6834 00137200 */ sll $t6, $s3, 8 -/* 10B368 7F0D6838 012E5825 */ or $t3, $t1, $t6 -/* 10B36C 7F0D683C 10002FEF */ b .L7F0E27FC -/* 10B370 7F0D6840 A7AB0294 */ sh $t3, 0x294($sp) -spectrum_op_62: -/* 10B374 7F0D6844 8FA8028C */ lw $t0, 0x28c($sp) -/* 10B378 7F0D6848 93B90287 */ lbu $t9, 0x287($sp) -/* 10B37C 7F0D684C 93AC0287 */ lbu $t4, 0x287($sp) -/* 10B380 7F0D6850 250F0004 */ addiu $t7, $t0, 4 -/* 10B384 7F0D6854 17200003 */ bnez $t9, .L7F0D6864 -/* 10B388 7F0D6858 AFAF028C */ sw $t7, 0x28c($sp) -/* 10B38C 7F0D685C 10002FE7 */ b .L7F0E27FC -/* 10B390 7F0D6860 329600FF */ andi $s6, $s4, 0xff -.L7F0D6864: -/* 10B394 7F0D6864 24010001 */ li $at, 1 -/* 10B398 7F0D6868 15810007 */ bne $t4, $at, .L7F0D6888 -/* 10B39C 7F0D686C 97AE0294 */ lhu $t6, 0x294($sp) -/* 10B3A0 7F0D6870 97B80296 */ lhu $t8, 0x296($sp) -/* 10B3A4 7F0D6874 00145200 */ sll $t2, $s4, 8 -/* 10B3A8 7F0D6878 330D00FF */ andi $t5, $t8, 0xff -/* 10B3AC 7F0D687C 01AA4825 */ or $t1, $t5, $t2 -/* 10B3B0 7F0D6880 10002FDE */ b .L7F0E27FC -/* 10B3B4 7F0D6884 A7A90296 */ sh $t1, 0x296($sp) -.L7F0D6888: -/* 10B3B8 7F0D6888 31CB00FF */ andi $t3, $t6, 0xff -/* 10B3BC 7F0D688C 00144200 */ sll $t0, $s4, 8 -/* 10B3C0 7F0D6890 01687825 */ or $t7, $t3, $t0 -/* 10B3C4 7F0D6894 10002FD9 */ b .L7F0E27FC -/* 10B3C8 7F0D6898 A7AF0294 */ sh $t7, 0x294($sp) -spectrum_op_63: -/* 10B3CC 7F0D689C 8FB9028C */ lw $t9, 0x28c($sp) -/* 10B3D0 7F0D68A0 93B80287 */ lbu $t8, 0x287($sp) -/* 10B3D4 7F0D68A4 93AD0287 */ lbu $t5, 0x287($sp) -/* 10B3D8 7F0D68A8 272C0004 */ addiu $t4, $t9, 4 -/* 10B3DC 7F0D68AC 17000003 */ bnez $t8, .L7F0D68BC -/* 10B3E0 7F0D68B0 AFAC028C */ sw $t4, 0x28c($sp) -/* 10B3E4 7F0D68B4 10002FD1 */ b .L7F0E27FC -/* 10B3E8 7F0D68B8 32B600FF */ andi $s6, $s5, 0xff -.L7F0D68BC: -/* 10B3EC 7F0D68BC 24010001 */ li $at, 1 -/* 10B3F0 7F0D68C0 15A10007 */ bne $t5, $at, .L7F0D68E0 -/* 10B3F4 7F0D68C4 97A80294 */ lhu $t0, 0x294($sp) -/* 10B3F8 7F0D68C8 97AA0296 */ lhu $t2, 0x296($sp) -/* 10B3FC 7F0D68CC 00157200 */ sll $t6, $s5, 8 -/* 10B400 7F0D68D0 314900FF */ andi $t1, $t2, 0xff -/* 10B404 7F0D68D4 012E5825 */ or $t3, $t1, $t6 -/* 10B408 7F0D68D8 10002FC8 */ b .L7F0E27FC -/* 10B40C 7F0D68DC A7AB0296 */ sh $t3, 0x296($sp) -.L7F0D68E0: -/* 10B410 7F0D68E0 310F00FF */ andi $t7, $t0, 0xff -/* 10B414 7F0D68E4 0015CA00 */ sll $t9, $s5, 8 -/* 10B418 7F0D68E8 01F96025 */ or $t4, $t7, $t9 -/* 10B41C 7F0D68EC 10002FC3 */ b .L7F0E27FC -/* 10B420 7F0D68F0 A7AC0294 */ sh $t4, 0x294($sp) -spectrum_op_64: -/* 10B424 7F0D68F4 8FB8028C */ lw $t8, 0x28c($sp) -/* 10B428 7F0D68F8 270D0004 */ addiu $t5, $t8, 4 -/* 10B42C 7F0D68FC 10002FBF */ b .L7F0E27FC -/* 10B430 7F0D6900 AFAD028C */ sw $t5, 0x28c($sp) -spectrum_op_65: -/* 10B434 7F0D6904 8FAA028C */ lw $t2, 0x28c($sp) -/* 10B438 7F0D6908 93AE0287 */ lbu $t6, 0x287($sp) -/* 10B43C 7F0D690C 93AD0287 */ lbu $t5, 0x287($sp) -/* 10B440 7F0D6910 25490004 */ addiu $t1, $t2, 4 -/* 10B444 7F0D6914 2DCB0001 */ sltiu $t3, $t6, 1 -/* 10B448 7F0D6918 11600010 */ beqz $t3, .L7F0D695C -/* 10B44C 7F0D691C AFA9028C */ sw $t1, 0x28c($sp) -/* 10B450 7F0D6920 11600003 */ beqz $t3, .L7F0D6930 -/* 10B454 7F0D6924 93A80287 */ lbu $t0, 0x287($sp) -/* 10B458 7F0D6928 10002FB4 */ b .L7F0E27FC -/* 10B45C 7F0D692C 32F600FF */ andi $s6, $s7, 0xff -.L7F0D6930: -/* 10B460 7F0D6930 24010001 */ li $at, 1 -/* 10B464 7F0D6934 15010005 */ bne $t0, $at, .L7F0D694C -/* 10B468 7F0D6938 97AC0294 */ lhu $t4, 0x294($sp) -/* 10B46C 7F0D693C 97AF0296 */ lhu $t7, 0x296($sp) -/* 10B470 7F0D6940 31F900FF */ andi $t9, $t7, 0xff -/* 10B474 7F0D6944 10000003 */ b .L7F0D6954 -/* 10B478 7F0D6948 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D694C: -/* 10B47C 7F0D694C 319800FF */ andi $t8, $t4, 0xff -/* 10B480 7F0D6950 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D6954: -/* 10B484 7F0D6954 10002FA9 */ b .L7F0E27FC -/* 10B488 7F0D6958 93B6004B */ lbu $s6, 0x4b($sp) -.L7F0D695C: -/* 10B48C 7F0D695C 24010001 */ li $at, 1 -/* 10B490 7F0D6960 15A10017 */ bne $t5, $at, .L7F0D69C0 -/* 10B494 7F0D6964 93A90287 */ lbu $t1, 0x287($sp) -/* 10B498 7F0D6968 15A00003 */ bnez $t5, .L7F0D6978 -/* 10B49C 7F0D696C 93AA0287 */ lbu $t2, 0x287($sp) -/* 10B4A0 7F0D6970 1000000C */ b .L7F0D69A4 -/* 10B4A4 7F0D6974 AFB70044 */ sw $s7, 0x44($sp) -.L7F0D6978: -/* 10B4A8 7F0D6978 24010001 */ li $at, 1 -/* 10B4AC 7F0D697C 15410005 */ bne $t2, $at, .L7F0D6994 -/* 10B4B0 7F0D6980 97AB0294 */ lhu $t3, 0x294($sp) -/* 10B4B4 7F0D6984 97A90296 */ lhu $t1, 0x296($sp) -/* 10B4B8 7F0D6988 312E00FF */ andi $t6, $t1, 0xff -/* 10B4BC 7F0D698C 10000003 */ b .L7F0D699C -/* 10B4C0 7F0D6990 AFAE0040 */ sw $t6, 0x40($sp) -.L7F0D6994: -/* 10B4C4 7F0D6994 316800FF */ andi $t0, $t3, 0xff -/* 10B4C8 7F0D6998 AFA80040 */ sw $t0, 0x40($sp) -.L7F0D699C: -/* 10B4CC 7F0D699C 8FAF0040 */ lw $t7, 0x40($sp) -/* 10B4D0 7F0D69A0 AFAF0044 */ sw $t7, 0x44($sp) -.L7F0D69A4: -/* 10B4D4 7F0D69A4 8FB90044 */ lw $t9, 0x44($sp) -/* 10B4D8 7F0D69A8 97B80296 */ lhu $t8, 0x296($sp) -/* 10B4DC 7F0D69AC 00196200 */ sll $t4, $t9, 8 -/* 10B4E0 7F0D69B0 330D00FF */ andi $t5, $t8, 0xff -/* 10B4E4 7F0D69B4 018D5025 */ or $t2, $t4, $t5 -/* 10B4E8 7F0D69B8 10002F90 */ b .L7F0E27FC -/* 10B4EC 7F0D69BC A7AA0296 */ sh $t2, 0x296($sp) -.L7F0D69C0: -/* 10B4F0 7F0D69C0 15200003 */ bnez $t1, .L7F0D69D0 -/* 10B4F4 7F0D69C4 93AE0287 */ lbu $t6, 0x287($sp) -/* 10B4F8 7F0D69C8 1000000C */ b .L7F0D69FC -/* 10B4FC 7F0D69CC AFB7003C */ sw $s7, 0x3c($sp) -.L7F0D69D0: -/* 10B500 7F0D69D0 24010001 */ li $at, 1 -/* 10B504 7F0D69D4 15C10005 */ bne $t6, $at, .L7F0D69EC -/* 10B508 7F0D69D8 97AF0294 */ lhu $t7, 0x294($sp) -/* 10B50C 7F0D69DC 97AB0296 */ lhu $t3, 0x296($sp) -/* 10B510 7F0D69E0 316800FF */ andi $t0, $t3, 0xff -/* 10B514 7F0D69E4 10000003 */ b .L7F0D69F4 -/* 10B518 7F0D69E8 AFA80038 */ sw $t0, 0x38($sp) -.L7F0D69EC: -/* 10B51C 7F0D69EC 31F900FF */ andi $t9, $t7, 0xff -/* 10B520 7F0D69F0 AFB90038 */ sw $t9, 0x38($sp) -.L7F0D69F4: -/* 10B524 7F0D69F4 8FB80038 */ lw $t8, 0x38($sp) -/* 10B528 7F0D69F8 AFB8003C */ sw $t8, 0x3c($sp) -.L7F0D69FC: -/* 10B52C 7F0D69FC 8FAC003C */ lw $t4, 0x3c($sp) -/* 10B530 7F0D6A00 97AA0294 */ lhu $t2, 0x294($sp) -/* 10B534 7F0D6A04 000C6A00 */ sll $t5, $t4, 8 -/* 10B538 7F0D6A08 314900FF */ andi $t1, $t2, 0xff -/* 10B53C 7F0D6A0C 01A97025 */ or $t6, $t5, $t1 -/* 10B540 7F0D6A10 10002F7A */ b .L7F0E27FC -/* 10B544 7F0D6A14 A7AE0294 */ sh $t6, 0x294($sp) -spectrum_op_66: -/* 10B548 7F0D6A18 8FAB028C */ lw $t3, 0x28c($sp) -/* 10B54C 7F0D6A1C 93AF0287 */ lbu $t7, 0x287($sp) -/* 10B550 7F0D6A20 0016CA00 */ sll $t9, $s6, 8 -/* 10B554 7F0D6A24 25680007 */ addiu $t0, $t3, 7 -/* 10B558 7F0D6A28 15E00004 */ bnez $t7, .L7F0D6A3C -/* 10B55C 7F0D6A2C AFA8028C */ sw $t0, 0x28c($sp) -/* 10B560 7F0D6A30 0337C025 */ or $t8, $t9, $s7 -/* 10B564 7F0D6A34 10000016 */ b .L7F0D6A90 -/* 10B568 7F0D6A38 A7B80204 */ sh $t8, 0x204($sp) -.L7F0D6A3C: -/* 10B56C 7F0D6A3C 8FAC028C */ lw $t4, 0x28c($sp) -/* 10B570 7F0D6A40 93AD0287 */ lbu $t5, 0x287($sp) -/* 10B574 7F0D6A44 24010001 */ li $at, 1 -/* 10B578 7F0D6A48 258A0008 */ addiu $t2, $t4, 8 -/* 10B57C 7F0D6A4C 15A10004 */ bne $t5, $at, .L7F0D6A60 -/* 10B580 7F0D6A50 AFAA028C */ sw $t2, 0x28c($sp) -/* 10B584 7F0D6A54 97A90296 */ lhu $t1, 0x296($sp) -/* 10B588 7F0D6A58 10000003 */ b .L7F0D6A68 -/* 10B58C 7F0D6A5C AFA90048 */ sw $t1, 0x48($sp) -.L7F0D6A60: -/* 10B590 7F0D6A60 97AE0294 */ lhu $t6, 0x294($sp) -/* 10B594 7F0D6A64 AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D6A68: -/* 10B598 7F0D6A68 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10B59C 7F0D6A6C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10B5A0 7F0D6A70 97AB0298 */ lhu $t3, 0x298($sp) -/* 10B5A4 7F0D6A74 8FB80048 */ lw $t8, 0x48($sp) -/* 10B5A8 7F0D6A78 01687821 */ addu $t7, $t3, $t0 -/* 10B5AC 7F0D6A7C 81F90000 */ lb $t9, ($t7) -/* 10B5B0 7F0D6A80 256A0001 */ addiu $t2, $t3, 1 -/* 10B5B4 7F0D6A84 A7AA0298 */ sh $t2, 0x298($sp) -/* 10B5B8 7F0D6A88 03386021 */ addu $t4, $t9, $t8 -/* 10B5BC 7F0D6A8C A7AC0204 */ sh $t4, 0x204($sp) -.L7F0D6A90: -/* 10B5C0 7F0D6A90 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10B5C4 7F0D6A94 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10B5C8 7F0D6A98 97AD0204 */ lhu $t5, 0x204($sp) -/* 10B5CC 7F0D6A9C 01A97021 */ addu $t6, $t5, $t1 -/* 10B5D0 7F0D6AA0 10002F56 */ b .L7F0E27FC -/* 10B5D4 7F0D6AA4 91D60000 */ lbu $s6, ($t6) -spectrum_op_67: -/* 10B5D8 7F0D6AA8 8FA8028C */ lw $t0, 0x28c($sp) -/* 10B5DC 7F0D6AAC 93B90287 */ lbu $t9, 0x287($sp) -/* 10B5E0 7F0D6AB0 93B80287 */ lbu $t8, 0x287($sp) -/* 10B5E4 7F0D6AB4 250F0004 */ addiu $t7, $t0, 4 -/* 10B5E8 7F0D6AB8 17200003 */ bnez $t9, .L7F0D6AC8 -/* 10B5EC 7F0D6ABC AFAF028C */ sw $t7, 0x28c($sp) -/* 10B5F0 7F0D6AC0 10002F4E */ b .L7F0E27FC -/* 10B5F4 7F0D6AC4 321600FF */ andi $s6, $s0, 0xff -.L7F0D6AC8: -/* 10B5F8 7F0D6AC8 24010001 */ li $at, 1 -/* 10B5FC 7F0D6ACC 17010007 */ bne $t8, $at, .L7F0D6AEC -/* 10B600 7F0D6AD0 97A90294 */ lhu $t1, 0x294($sp) -/* 10B604 7F0D6AD4 97AC0296 */ lhu $t4, 0x296($sp) -/* 10B608 7F0D6AD8 00105200 */ sll $t2, $s0, 8 -/* 10B60C 7F0D6ADC 318B00FF */ andi $t3, $t4, 0xff -/* 10B610 7F0D6AE0 016A6825 */ or $t5, $t3, $t2 -/* 10B614 7F0D6AE4 10002F45 */ b .L7F0E27FC -/* 10B618 7F0D6AE8 A7AD0296 */ sh $t5, 0x296($sp) -.L7F0D6AEC: -/* 10B61C 7F0D6AEC 312E00FF */ andi $t6, $t1, 0xff -/* 10B620 7F0D6AF0 00104200 */ sll $t0, $s0, 8 -/* 10B624 7F0D6AF4 01C87825 */ or $t7, $t6, $t0 -/* 10B628 7F0D6AF8 10002F40 */ b .L7F0E27FC -/* 10B62C 7F0D6AFC A7AF0294 */ sh $t7, 0x294($sp) -spectrum_op_68: -/* 10B630 7F0D6B00 8FB9028C */ lw $t9, 0x28c($sp) -/* 10B634 7F0D6B04 93AC0287 */ lbu $t4, 0x287($sp) -/* 10B638 7F0D6B08 93AB0287 */ lbu $t3, 0x287($sp) -/* 10B63C 7F0D6B0C 27380004 */ addiu $t8, $t9, 4 -/* 10B640 7F0D6B10 15800003 */ bnez $t4, .L7F0D6B20 -/* 10B644 7F0D6B14 AFB8028C */ sw $t8, 0x28c($sp) -/* 10B648 7F0D6B18 10002F38 */ b .L7F0E27FC -/* 10B64C 7F0D6B1C 325700FF */ andi $s7, $s2, 0xff -.L7F0D6B20: -/* 10B650 7F0D6B20 24010001 */ li $at, 1 -/* 10B654 7F0D6B24 15610006 */ bne $t3, $at, .L7F0D6B40 -/* 10B658 7F0D6B28 97AE0294 */ lhu $t6, 0x294($sp) -/* 10B65C 7F0D6B2C 97AA0296 */ lhu $t2, 0x296($sp) -/* 10B660 7F0D6B30 314DFF00 */ andi $t5, $t2, 0xff00 -/* 10B664 7F0D6B34 01B24825 */ or $t1, $t5, $s2 -/* 10B668 7F0D6B38 10002F30 */ b .L7F0E27FC -/* 10B66C 7F0D6B3C A7A90296 */ sh $t1, 0x296($sp) -.L7F0D6B40: -/* 10B670 7F0D6B40 31C8FF00 */ andi $t0, $t6, 0xff00 -/* 10B674 7F0D6B44 01127825 */ or $t7, $t0, $s2 -/* 10B678 7F0D6B48 10002F2C */ b .L7F0E27FC -/* 10B67C 7F0D6B4C A7AF0294 */ sh $t7, 0x294($sp) -spectrum_op_69: -/* 10B680 7F0D6B50 8FB9028C */ lw $t9, 0x28c($sp) -/* 10B684 7F0D6B54 93AC0287 */ lbu $t4, 0x287($sp) -/* 10B688 7F0D6B58 93AB0287 */ lbu $t3, 0x287($sp) -/* 10B68C 7F0D6B5C 27380004 */ addiu $t8, $t9, 4 -/* 10B690 7F0D6B60 15800003 */ bnez $t4, .L7F0D6B70 -/* 10B694 7F0D6B64 AFB8028C */ sw $t8, 0x28c($sp) -/* 10B698 7F0D6B68 10002F24 */ b .L7F0E27FC -/* 10B69C 7F0D6B6C 327700FF */ andi $s7, $s3, 0xff -.L7F0D6B70: -/* 10B6A0 7F0D6B70 24010001 */ li $at, 1 -/* 10B6A4 7F0D6B74 15610006 */ bne $t3, $at, .L7F0D6B90 -/* 10B6A8 7F0D6B78 97AE0294 */ lhu $t6, 0x294($sp) -/* 10B6AC 7F0D6B7C 97AA0296 */ lhu $t2, 0x296($sp) -/* 10B6B0 7F0D6B80 314DFF00 */ andi $t5, $t2, 0xff00 -/* 10B6B4 7F0D6B84 01B34825 */ or $t1, $t5, $s3 -/* 10B6B8 7F0D6B88 10002F1C */ b .L7F0E27FC -/* 10B6BC 7F0D6B8C A7A90296 */ sh $t1, 0x296($sp) -.L7F0D6B90: -/* 10B6C0 7F0D6B90 31C8FF00 */ andi $t0, $t6, 0xff00 -/* 10B6C4 7F0D6B94 01137825 */ or $t7, $t0, $s3 -/* 10B6C8 7F0D6B98 10002F18 */ b .L7F0E27FC -/* 10B6CC 7F0D6B9C A7AF0294 */ sh $t7, 0x294($sp) -spectrum_op_6A: -/* 10B6D0 7F0D6BA0 8FB9028C */ lw $t9, 0x28c($sp) -/* 10B6D4 7F0D6BA4 93AC0287 */ lbu $t4, 0x287($sp) -/* 10B6D8 7F0D6BA8 93AB0287 */ lbu $t3, 0x287($sp) -/* 10B6DC 7F0D6BAC 27380004 */ addiu $t8, $t9, 4 -/* 10B6E0 7F0D6BB0 15800003 */ bnez $t4, .L7F0D6BC0 -/* 10B6E4 7F0D6BB4 AFB8028C */ sw $t8, 0x28c($sp) -/* 10B6E8 7F0D6BB8 10002F10 */ b .L7F0E27FC -/* 10B6EC 7F0D6BBC 329700FF */ andi $s7, $s4, 0xff -.L7F0D6BC0: -/* 10B6F0 7F0D6BC0 24010001 */ li $at, 1 -/* 10B6F4 7F0D6BC4 15610006 */ bne $t3, $at, .L7F0D6BE0 -/* 10B6F8 7F0D6BC8 97AE0294 */ lhu $t6, 0x294($sp) -/* 10B6FC 7F0D6BCC 97AA0296 */ lhu $t2, 0x296($sp) -/* 10B700 7F0D6BD0 314DFF00 */ andi $t5, $t2, 0xff00 -/* 10B704 7F0D6BD4 01B44825 */ or $t1, $t5, $s4 -/* 10B708 7F0D6BD8 10002F08 */ b .L7F0E27FC -/* 10B70C 7F0D6BDC A7A90296 */ sh $t1, 0x296($sp) -.L7F0D6BE0: -/* 10B710 7F0D6BE0 31C8FF00 */ andi $t0, $t6, 0xff00 -/* 10B714 7F0D6BE4 01147825 */ or $t7, $t0, $s4 -/* 10B718 7F0D6BE8 10002F04 */ b .L7F0E27FC -/* 10B71C 7F0D6BEC A7AF0294 */ sh $t7, 0x294($sp) -spectrum_op_6B: -/* 10B720 7F0D6BF0 8FB9028C */ lw $t9, 0x28c($sp) -/* 10B724 7F0D6BF4 93AC0287 */ lbu $t4, 0x287($sp) -/* 10B728 7F0D6BF8 93AB0287 */ lbu $t3, 0x287($sp) -/* 10B72C 7F0D6BFC 27380004 */ addiu $t8, $t9, 4 -/* 10B730 7F0D6C00 15800003 */ bnez $t4, .L7F0D6C10 -/* 10B734 7F0D6C04 AFB8028C */ sw $t8, 0x28c($sp) -/* 10B738 7F0D6C08 10002EFC */ b .L7F0E27FC -/* 10B73C 7F0D6C0C 32B700FF */ andi $s7, $s5, 0xff -.L7F0D6C10: -/* 10B740 7F0D6C10 24010001 */ li $at, 1 -/* 10B744 7F0D6C14 15610006 */ bne $t3, $at, .L7F0D6C30 -/* 10B748 7F0D6C18 97AE0294 */ lhu $t6, 0x294($sp) -/* 10B74C 7F0D6C1C 97AA0296 */ lhu $t2, 0x296($sp) -/* 10B750 7F0D6C20 314DFF00 */ andi $t5, $t2, 0xff00 -/* 10B754 7F0D6C24 01B54825 */ or $t1, $t5, $s5 -/* 10B758 7F0D6C28 10002EF4 */ b .L7F0E27FC -/* 10B75C 7F0D6C2C A7A90296 */ sh $t1, 0x296($sp) -.L7F0D6C30: -/* 10B760 7F0D6C30 31C8FF00 */ andi $t0, $t6, 0xff00 -/* 10B764 7F0D6C34 01157825 */ or $t7, $t0, $s5 -/* 10B768 7F0D6C38 10002EF0 */ b .L7F0E27FC -/* 10B76C 7F0D6C3C A7AF0294 */ sh $t7, 0x294($sp) -spectrum_op_6C: -/* 10B770 7F0D6C40 8FB9028C */ lw $t9, 0x28c($sp) -/* 10B774 7F0D6C44 93AC0287 */ lbu $t4, 0x287($sp) -/* 10B778 7F0D6C48 93AF0287 */ lbu $t7, 0x287($sp) -/* 10B77C 7F0D6C4C 27380004 */ addiu $t8, $t9, 4 -/* 10B780 7F0D6C50 2D8B0001 */ sltiu $t3, $t4, 1 -/* 10B784 7F0D6C54 11600010 */ beqz $t3, .L7F0D6C98 -/* 10B788 7F0D6C58 AFB8028C */ sw $t8, 0x28c($sp) -/* 10B78C 7F0D6C5C 11600003 */ beqz $t3, .L7F0D6C6C -/* 10B790 7F0D6C60 93AA0287 */ lbu $t2, 0x287($sp) -/* 10B794 7F0D6C64 10002EE5 */ b .L7F0E27FC -/* 10B798 7F0D6C68 32D700FF */ andi $s7, $s6, 0xff -.L7F0D6C6C: -/* 10B79C 7F0D6C6C 24010001 */ li $at, 1 -/* 10B7A0 7F0D6C70 15410005 */ bne $t2, $at, .L7F0D6C88 -/* 10B7A4 7F0D6C74 97AE0294 */ lhu $t6, 0x294($sp) -/* 10B7A8 7F0D6C78 97AD0296 */ lhu $t5, 0x296($sp) -/* 10B7AC 7F0D6C7C 000D4A03 */ sra $t1, $t5, 8 -/* 10B7B0 7F0D6C80 10000003 */ b .L7F0D6C90 -/* 10B7B4 7F0D6C84 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D6C88: -/* 10B7B8 7F0D6C88 000E4203 */ sra $t0, $t6, 8 -/* 10B7BC 7F0D6C8C AFA80048 */ sw $t0, 0x48($sp) -.L7F0D6C90: -/* 10B7C0 7F0D6C90 10002EDA */ b .L7F0E27FC -/* 10B7C4 7F0D6C94 93B7004B */ lbu $s7, 0x4b($sp) -.L7F0D6C98: -/* 10B7C8 7F0D6C98 24010001 */ li $at, 1 -/* 10B7CC 7F0D6C9C 15E10016 */ bne $t7, $at, .L7F0D6CF8 -/* 10B7D0 7F0D6CA0 93B90287 */ lbu $t9, 0x287($sp) -/* 10B7D4 7F0D6CA4 15E00003 */ bnez $t7, .L7F0D6CB4 -/* 10B7D8 7F0D6CA8 93B90287 */ lbu $t9, 0x287($sp) -/* 10B7DC 7F0D6CAC 1000000C */ b .L7F0D6CE0 -/* 10B7E0 7F0D6CB0 AFB60044 */ sw $s6, 0x44($sp) -.L7F0D6CB4: -/* 10B7E4 7F0D6CB4 24010001 */ li $at, 1 -/* 10B7E8 7F0D6CB8 17210005 */ bne $t9, $at, .L7F0D6CD0 -/* 10B7EC 7F0D6CBC 97AB0294 */ lhu $t3, 0x294($sp) -/* 10B7F0 7F0D6CC0 97B80296 */ lhu $t8, 0x296($sp) -/* 10B7F4 7F0D6CC4 00186203 */ sra $t4, $t8, 8 -/* 10B7F8 7F0D6CC8 10000003 */ b .L7F0D6CD8 -/* 10B7FC 7F0D6CCC AFAC0040 */ sw $t4, 0x40($sp) -.L7F0D6CD0: -/* 10B800 7F0D6CD0 000B5203 */ sra $t2, $t3, 8 -/* 10B804 7F0D6CD4 AFAA0040 */ sw $t2, 0x40($sp) -.L7F0D6CD8: -/* 10B808 7F0D6CD8 8FAD0040 */ lw $t5, 0x40($sp) -/* 10B80C 7F0D6CDC AFAD0044 */ sw $t5, 0x44($sp) -.L7F0D6CE0: -/* 10B810 7F0D6CE0 97AE0296 */ lhu $t6, 0x296($sp) -/* 10B814 7F0D6CE4 8FA90044 */ lw $t1, 0x44($sp) -/* 10B818 7F0D6CE8 31C8FF00 */ andi $t0, $t6, 0xff00 -/* 10B81C 7F0D6CEC 01287825 */ or $t7, $t1, $t0 -/* 10B820 7F0D6CF0 10002EC2 */ b .L7F0E27FC -/* 10B824 7F0D6CF4 A7AF0296 */ sh $t7, 0x296($sp) -.L7F0D6CF8: -/* 10B828 7F0D6CF8 17200003 */ bnez $t9, .L7F0D6D08 -/* 10B82C 7F0D6CFC 93B80287 */ lbu $t8, 0x287($sp) -/* 10B830 7F0D6D00 1000000C */ b .L7F0D6D34 -/* 10B834 7F0D6D04 AFB6003C */ sw $s6, 0x3c($sp) -.L7F0D6D08: -/* 10B838 7F0D6D08 24010001 */ li $at, 1 -/* 10B83C 7F0D6D0C 17010005 */ bne $t8, $at, .L7F0D6D24 -/* 10B840 7F0D6D10 97AA0294 */ lhu $t2, 0x294($sp) -/* 10B844 7F0D6D14 97AC0296 */ lhu $t4, 0x296($sp) -/* 10B848 7F0D6D18 000C5A03 */ sra $t3, $t4, 8 -/* 10B84C 7F0D6D1C 10000003 */ b .L7F0D6D2C -/* 10B850 7F0D6D20 AFAB0038 */ sw $t3, 0x38($sp) -.L7F0D6D24: -/* 10B854 7F0D6D24 000A6A03 */ sra $t5, $t2, 8 -/* 10B858 7F0D6D28 AFAD0038 */ sw $t5, 0x38($sp) -.L7F0D6D2C: -/* 10B85C 7F0D6D2C 8FAE0038 */ lw $t6, 0x38($sp) -/* 10B860 7F0D6D30 AFAE003C */ sw $t6, 0x3c($sp) -.L7F0D6D34: -/* 10B864 7F0D6D34 97A80294 */ lhu $t0, 0x294($sp) -/* 10B868 7F0D6D38 8FA9003C */ lw $t1, 0x3c($sp) -/* 10B86C 7F0D6D3C 310FFF00 */ andi $t7, $t0, 0xff00 -/* 10B870 7F0D6D40 012FC825 */ or $t9, $t1, $t7 -/* 10B874 7F0D6D44 10002EAD */ b .L7F0E27FC -/* 10B878 7F0D6D48 A7B90294 */ sh $t9, 0x294($sp) -spectrum_op_6D: -/* 10B87C 7F0D6D4C 8FB8028C */ lw $t8, 0x28c($sp) -/* 10B880 7F0D6D50 270C0004 */ addiu $t4, $t8, 4 -/* 10B884 7F0D6D54 10002EA9 */ b .L7F0E27FC -/* 10B888 7F0D6D58 AFAC028C */ sw $t4, 0x28c($sp) -spectrum_op_6E: -/* 10B88C 7F0D6D5C 8FAB028C */ lw $t3, 0x28c($sp) -/* 10B890 7F0D6D60 93AD0287 */ lbu $t5, 0x287($sp) -/* 10B894 7F0D6D64 00167200 */ sll $t6, $s6, 8 -/* 10B898 7F0D6D68 256A0007 */ addiu $t2, $t3, 7 -/* 10B89C 7F0D6D6C 15A00004 */ bnez $t5, .L7F0D6D80 -/* 10B8A0 7F0D6D70 AFAA028C */ sw $t2, 0x28c($sp) -/* 10B8A4 7F0D6D74 01D74025 */ or $t0, $t6, $s7 -/* 10B8A8 7F0D6D78 10000016 */ b .L7F0D6DD4 -/* 10B8AC 7F0D6D7C A7A80202 */ sh $t0, 0x202($sp) -.L7F0D6D80: -/* 10B8B0 7F0D6D80 8FA9028C */ lw $t1, 0x28c($sp) -/* 10B8B4 7F0D6D84 93B90287 */ lbu $t9, 0x287($sp) -/* 10B8B8 7F0D6D88 24010001 */ li $at, 1 -/* 10B8BC 7F0D6D8C 252F0008 */ addiu $t7, $t1, 8 -/* 10B8C0 7F0D6D90 17210004 */ bne $t9, $at, .L7F0D6DA4 -/* 10B8C4 7F0D6D94 AFAF028C */ sw $t7, 0x28c($sp) -/* 10B8C8 7F0D6D98 97B80296 */ lhu $t8, 0x296($sp) -/* 10B8CC 7F0D6D9C 10000003 */ b .L7F0D6DAC -/* 10B8D0 7F0D6DA0 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D6DA4: -/* 10B8D4 7F0D6DA4 97AC0294 */ lhu $t4, 0x294($sp) -/* 10B8D8 7F0D6DA8 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D6DAC: -/* 10B8DC 7F0D6DAC 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10B8E0 7F0D6DB0 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10B8E4 7F0D6DB4 97AB0298 */ lhu $t3, 0x298($sp) -/* 10B8E8 7F0D6DB8 8FA80048 */ lw $t0, 0x48($sp) -/* 10B8EC 7F0D6DBC 016A6821 */ addu $t5, $t3, $t2 -/* 10B8F0 7F0D6DC0 81AE0000 */ lb $t6, ($t5) -/* 10B8F4 7F0D6DC4 256F0001 */ addiu $t7, $t3, 1 -/* 10B8F8 7F0D6DC8 A7AF0298 */ sh $t7, 0x298($sp) -/* 10B8FC 7F0D6DCC 01C84821 */ addu $t1, $t6, $t0 -/* 10B900 7F0D6DD0 A7A90202 */ sh $t1, 0x202($sp) -.L7F0D6DD4: -/* 10B904 7F0D6DD4 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10B908 7F0D6DD8 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10B90C 7F0D6DDC 97B90202 */ lhu $t9, 0x202($sp) -/* 10B910 7F0D6DE0 03386021 */ addu $t4, $t9, $t8 -/* 10B914 7F0D6DE4 10002E85 */ b .L7F0E27FC -/* 10B918 7F0D6DE8 91970000 */ lbu $s7, ($t4) -spectrum_op_6F: -/* 10B91C 7F0D6DEC 8FAA028C */ lw $t2, 0x28c($sp) -/* 10B920 7F0D6DF0 93AE0287 */ lbu $t6, 0x287($sp) -/* 10B924 7F0D6DF4 93A80287 */ lbu $t0, 0x287($sp) -/* 10B928 7F0D6DF8 254D0004 */ addiu $t5, $t2, 4 -/* 10B92C 7F0D6DFC 15C00003 */ bnez $t6, .L7F0D6E0C -/* 10B930 7F0D6E00 AFAD028C */ sw $t5, 0x28c($sp) -/* 10B934 7F0D6E04 10002E7D */ b .L7F0E27FC -/* 10B938 7F0D6E08 321700FF */ andi $s7, $s0, 0xff -.L7F0D6E0C: -/* 10B93C 7F0D6E0C 24010001 */ li $at, 1 -/* 10B940 7F0D6E10 15010006 */ bne $t0, $at, .L7F0D6E2C -/* 10B944 7F0D6E14 97B90294 */ lhu $t9, 0x294($sp) -/* 10B948 7F0D6E18 97A90296 */ lhu $t1, 0x296($sp) -/* 10B94C 7F0D6E1C 312BFF00 */ andi $t3, $t1, 0xff00 -/* 10B950 7F0D6E20 01707825 */ or $t7, $t3, $s0 -/* 10B954 7F0D6E24 10002E75 */ b .L7F0E27FC -/* 10B958 7F0D6E28 A7AF0296 */ sh $t7, 0x296($sp) -.L7F0D6E2C: -/* 10B95C 7F0D6E2C 3338FF00 */ andi $t8, $t9, 0xff00 -/* 10B960 7F0D6E30 03106025 */ or $t4, $t8, $s0 -/* 10B964 7F0D6E34 10002E71 */ b .L7F0E27FC -/* 10B968 7F0D6E38 A7AC0294 */ sh $t4, 0x294($sp) -spectrum_op_70: -/* 10B96C 7F0D6E3C 8FAA028C */ lw $t2, 0x28c($sp) -/* 10B970 7F0D6E40 93AE0287 */ lbu $t6, 0x287($sp) -/* 10B974 7F0D6E44 00164200 */ sll $t0, $s6, 8 -/* 10B978 7F0D6E48 254D0007 */ addiu $t5, $t2, 7 -/* 10B97C 7F0D6E4C 15C00004 */ bnez $t6, .L7F0D6E60 -/* 10B980 7F0D6E50 AFAD028C */ sw $t5, 0x28c($sp) -/* 10B984 7F0D6E54 01174825 */ or $t1, $t0, $s7 -/* 10B988 7F0D6E58 10000016 */ b .L7F0D6EB4 -/* 10B98C 7F0D6E5C A7A90200 */ sh $t1, 0x200($sp) -.L7F0D6E60: -/* 10B990 7F0D6E60 8FAB028C */ lw $t3, 0x28c($sp) -/* 10B994 7F0D6E64 93B90287 */ lbu $t9, 0x287($sp) -/* 10B998 7F0D6E68 24010001 */ li $at, 1 -/* 10B99C 7F0D6E6C 256F0008 */ addiu $t7, $t3, 8 -/* 10B9A0 7F0D6E70 17210004 */ bne $t9, $at, .L7F0D6E84 -/* 10B9A4 7F0D6E74 AFAF028C */ sw $t7, 0x28c($sp) -/* 10B9A8 7F0D6E78 97B80296 */ lhu $t8, 0x296($sp) -/* 10B9AC 7F0D6E7C 10000003 */ b .L7F0D6E8C -/* 10B9B0 7F0D6E80 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D6E84: -/* 10B9B4 7F0D6E84 97AC0294 */ lhu $t4, 0x294($sp) -/* 10B9B8 7F0D6E88 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D6E8C: -/* 10B9BC 7F0D6E8C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10B9C0 7F0D6E90 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10B9C4 7F0D6E94 97AA0298 */ lhu $t2, 0x298($sp) -/* 10B9C8 7F0D6E98 8FA90048 */ lw $t1, 0x48($sp) -/* 10B9CC 7F0D6E9C 014D7021 */ addu $t6, $t2, $t5 -/* 10B9D0 7F0D6EA0 81C80000 */ lb $t0, ($t6) -/* 10B9D4 7F0D6EA4 254F0001 */ addiu $t7, $t2, 1 -/* 10B9D8 7F0D6EA8 A7AF0298 */ sh $t7, 0x298($sp) -/* 10B9DC 7F0D6EAC 01095821 */ addu $t3, $t0, $t1 -/* 10B9E0 7F0D6EB0 A7AB0200 */ sh $t3, 0x200($sp) -.L7F0D6EB4: -/* 10B9E4 7F0D6EB4 97B90200 */ lhu $t9, 0x200($sp) -/* 10B9E8 7F0D6EB8 97AD0200 */ lhu $t5, 0x200($sp) -/* 10B9EC 7F0D6EBC 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10B9F0 7F0D6EC0 2B215B00 */ slti $at, $t9, 0x5b00 -/* 10B9F4 7F0D6EC4 54200006 */ bnezl $at, .L7F0D6EE0 -/* 10B9F8 7F0D6EC8 29A15800 */ slti $at, $t5, 0x5800 -/* 10B9FC 7F0D6ECC 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10BA00 7F0D6ED0 03196021 */ addu $t4, $t8, $t9 -/* 10BA04 7F0D6ED4 10002E49 */ b .L7F0E27FC -/* 10BA08 7F0D6ED8 A1920000 */ sb $s2, ($t4) -/* 10BA0C 7F0D6EDC 29A15800 */ slti $at, $t5, 0x5800 -.L7F0D6EE0: -/* 10BA10 7F0D6EE0 1420000C */ bnez $at, .L7F0D6F14 -/* 10BA14 7F0D6EE4 97B80200 */ lhu $t8, 0x200($sp) -/* 10BA18 7F0D6EE8 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10BA1C 7F0D6EEC 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10BA20 7F0D6EF0 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 10BA24 7F0D6EF4 24090001 */ li $t1, 1 -/* 10BA28 7F0D6EF8 01CD4021 */ addu $t0, $t6, $t5 -/* 10BA2C 7F0D6EFC A1120000 */ sb $s2, ($t0) -/* 10BA30 7F0D6F00 97AA0200 */ lhu $t2, 0x200($sp) -/* 10BA34 7F0D6F04 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 10BA38 7F0D6F08 016A7821 */ addu $t7, $t3, $t2 -/* 10BA3C 7F0D6F0C 10002E3B */ b .L7F0E27FC -/* 10BA40 7F0D6F10 A1E9A800 */ sb $t1, -0x5800($t7) -.L7F0D6F14: -/* 10BA44 7F0D6F14 2B014000 */ slti $at, $t8, 0x4000 -/* 10BA48 7F0D6F18 14202E38 */ bnez $at, .L7F0E27FC -/* 10BA4C 7F0D6F1C 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10BA50 7F0D6F20 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10BA54 7F0D6F24 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10BA58 7F0D6F28 240E0001 */ li $t6, 1 -/* 10BA5C 7F0D6F2C 03386021 */ addu $t4, $t9, $t8 -/* 10BA60 7F0D6F30 A1920000 */ sb $s2, ($t4) -/* 10BA64 7F0D6F34 97AD0200 */ lhu $t5, 0x200($sp) -/* 10BA68 7F0D6F38 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10BA6C 7F0D6F3C 31A81800 */ andi $t0, $t5, 0x1800 -/* 10BA70 7F0D6F40 000858C3 */ sra $t3, $t0, 3 -/* 10BA74 7F0D6F44 31AA00FF */ andi $t2, $t5, 0xff -/* 10BA78 7F0D6F48 016A4825 */ or $t1, $t3, $t2 -/* 10BA7C 7F0D6F4C 01E9C821 */ addu $t9, $t7, $t1 -/* 10BA80 7F0D6F50 10002E2A */ b .L7F0E27FC -/* 10BA84 7F0D6F54 A32E0000 */ sb $t6, ($t9) -spectrum_op_71: -/* 10BA88 7F0D6F58 8FB8028C */ lw $t8, 0x28c($sp) -/* 10BA8C 7F0D6F5C 93A80287 */ lbu $t0, 0x287($sp) -/* 10BA90 7F0D6F60 00166A00 */ sll $t5, $s6, 8 -/* 10BA94 7F0D6F64 270C0007 */ addiu $t4, $t8, 7 -/* 10BA98 7F0D6F68 15000004 */ bnez $t0, .L7F0D6F7C -/* 10BA9C 7F0D6F6C AFAC028C */ sw $t4, 0x28c($sp) -/* 10BAA0 7F0D6F70 01B75825 */ or $t3, $t5, $s7 -/* 10BAA4 7F0D6F74 10000016 */ b .L7F0D6FD0 -/* 10BAA8 7F0D6F78 A7AB01FE */ sh $t3, 0x1fe($sp) -.L7F0D6F7C: -/* 10BAAC 7F0D6F7C 8FAA028C */ lw $t2, 0x28c($sp) -/* 10BAB0 7F0D6F80 93A90287 */ lbu $t1, 0x287($sp) -/* 10BAB4 7F0D6F84 24010001 */ li $at, 1 -/* 10BAB8 7F0D6F88 254F0008 */ addiu $t7, $t2, 8 -/* 10BABC 7F0D6F8C 15210004 */ bne $t1, $at, .L7F0D6FA0 -/* 10BAC0 7F0D6F90 AFAF028C */ sw $t7, 0x28c($sp) -/* 10BAC4 7F0D6F94 97AE0296 */ lhu $t6, 0x296($sp) -/* 10BAC8 7F0D6F98 10000003 */ b .L7F0D6FA8 -/* 10BACC 7F0D6F9C AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D6FA0: -/* 10BAD0 7F0D6FA0 97B90294 */ lhu $t9, 0x294($sp) -/* 10BAD4 7F0D6FA4 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D6FA8: -/* 10BAD8 7F0D6FA8 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 10BADC 7F0D6FAC 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 10BAE0 7F0D6FB0 97B80298 */ lhu $t8, 0x298($sp) -/* 10BAE4 7F0D6FB4 8FAB0048 */ lw $t3, 0x48($sp) -/* 10BAE8 7F0D6FB8 030C4021 */ addu $t0, $t8, $t4 -/* 10BAEC 7F0D6FBC 810D0000 */ lb $t5, ($t0) -/* 10BAF0 7F0D6FC0 270F0001 */ addiu $t7, $t8, 1 -/* 10BAF4 7F0D6FC4 A7AF0298 */ sh $t7, 0x298($sp) -/* 10BAF8 7F0D6FC8 01AB5021 */ addu $t2, $t5, $t3 -/* 10BAFC 7F0D6FCC A7AA01FE */ sh $t2, 0x1fe($sp) -.L7F0D6FD0: -/* 10BB00 7F0D6FD0 97A901FE */ lhu $t1, 0x1fe($sp) -/* 10BB04 7F0D6FD4 97AC01FE */ lhu $t4, 0x1fe($sp) -/* 10BB08 7F0D6FD8 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10BB0C 7F0D6FDC 29215B00 */ slti $at, $t1, 0x5b00 -/* 10BB10 7F0D6FE0 54200006 */ bnezl $at, .L7F0D6FFC -/* 10BB14 7F0D6FE4 29815800 */ slti $at, $t4, 0x5800 -/* 10BB18 7F0D6FE8 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10BB1C 7F0D6FEC 01C9C821 */ addu $t9, $t6, $t1 -/* 10BB20 7F0D6FF0 10002E02 */ b .L7F0E27FC -/* 10BB24 7F0D6FF4 A3330000 */ sb $s3, ($t9) -/* 10BB28 7F0D6FF8 29815800 */ slti $at, $t4, 0x5800 -.L7F0D6FFC: -/* 10BB2C 7F0D6FFC 1420000C */ bnez $at, .L7F0D7030 -/* 10BB30 7F0D7000 97AE01FE */ lhu $t6, 0x1fe($sp) -/* 10BB34 7F0D7004 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10BB38 7F0D7008 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10BB3C 7F0D700C 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 10BB40 7F0D7010 240B0001 */ li $t3, 1 -/* 10BB44 7F0D7014 010C6821 */ addu $t5, $t0, $t4 -/* 10BB48 7F0D7018 A1B30000 */ sb $s3, ($t5) -/* 10BB4C 7F0D701C 97B801FE */ lhu $t8, 0x1fe($sp) -/* 10BB50 7F0D7020 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 10BB54 7F0D7024 01587821 */ addu $t7, $t2, $t8 -/* 10BB58 7F0D7028 10002DF4 */ b .L7F0E27FC -/* 10BB5C 7F0D702C A1EBA800 */ sb $t3, -0x5800($t7) -.L7F0D7030: -/* 10BB60 7F0D7030 29C14000 */ slti $at, $t6, 0x4000 -/* 10BB64 7F0D7034 14202DF1 */ bnez $at, .L7F0E27FC -/* 10BB68 7F0D7038 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10BB6C 7F0D703C 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10BB70 7F0D7040 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10BB74 7F0D7044 24080001 */ li $t0, 1 -/* 10BB78 7F0D7048 012EC821 */ addu $t9, $t1, $t6 -/* 10BB7C 7F0D704C A3330000 */ sb $s3, ($t9) -/* 10BB80 7F0D7050 97AC01FE */ lhu $t4, 0x1fe($sp) -/* 10BB84 7F0D7054 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10BB88 7F0D7058 318D1800 */ andi $t5, $t4, 0x1800 -/* 10BB8C 7F0D705C 000D50C3 */ sra $t2, $t5, 3 -/* 10BB90 7F0D7060 319800FF */ andi $t8, $t4, 0xff -/* 10BB94 7F0D7064 01585825 */ or $t3, $t2, $t8 -/* 10BB98 7F0D7068 01EB4821 */ addu $t1, $t7, $t3 -/* 10BB9C 7F0D706C 10002DE3 */ b .L7F0E27FC -/* 10BBA0 7F0D7070 A1280000 */ sb $t0, ($t1) -spectrum_op_72: -/* 10BBA4 7F0D7074 8FAE028C */ lw $t6, 0x28c($sp) -/* 10BBA8 7F0D7078 93AD0287 */ lbu $t5, 0x287($sp) -/* 10BBAC 7F0D707C 00166200 */ sll $t4, $s6, 8 -/* 10BBB0 7F0D7080 25D90007 */ addiu $t9, $t6, 7 -/* 10BBB4 7F0D7084 15A00004 */ bnez $t5, .L7F0D7098 -/* 10BBB8 7F0D7088 AFB9028C */ sw $t9, 0x28c($sp) -/* 10BBBC 7F0D708C 01975025 */ or $t2, $t4, $s7 -/* 10BBC0 7F0D7090 10000016 */ b .L7F0D70EC -/* 10BBC4 7F0D7094 A7AA01FC */ sh $t2, 0x1fc($sp) -.L7F0D7098: -/* 10BBC8 7F0D7098 8FB8028C */ lw $t8, 0x28c($sp) -/* 10BBCC 7F0D709C 93AB0287 */ lbu $t3, 0x287($sp) -/* 10BBD0 7F0D70A0 24010001 */ li $at, 1 -/* 10BBD4 7F0D70A4 270F0008 */ addiu $t7, $t8, 8 -/* 10BBD8 7F0D70A8 15610004 */ bne $t3, $at, .L7F0D70BC -/* 10BBDC 7F0D70AC AFAF028C */ sw $t7, 0x28c($sp) -/* 10BBE0 7F0D70B0 97A80296 */ lhu $t0, 0x296($sp) -/* 10BBE4 7F0D70B4 10000003 */ b .L7F0D70C4 -/* 10BBE8 7F0D70B8 AFA80048 */ sw $t0, 0x48($sp) -.L7F0D70BC: -/* 10BBEC 7F0D70BC 97A90294 */ lhu $t1, 0x294($sp) -/* 10BBF0 7F0D70C0 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D70C4: -/* 10BBF4 7F0D70C4 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10BBF8 7F0D70C8 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10BBFC 7F0D70CC 97AE0298 */ lhu $t6, 0x298($sp) -/* 10BC00 7F0D70D0 8FAA0048 */ lw $t2, 0x48($sp) -/* 10BC04 7F0D70D4 01D96821 */ addu $t5, $t6, $t9 -/* 10BC08 7F0D70D8 81AC0000 */ lb $t4, ($t5) -/* 10BC0C 7F0D70DC 25CF0001 */ addiu $t7, $t6, 1 -/* 10BC10 7F0D70E0 A7AF0298 */ sh $t7, 0x298($sp) -/* 10BC14 7F0D70E4 018AC021 */ addu $t8, $t4, $t2 -/* 10BC18 7F0D70E8 A7B801FC */ sh $t8, 0x1fc($sp) -.L7F0D70EC: -/* 10BC1C 7F0D70EC 97AB01FC */ lhu $t3, 0x1fc($sp) -/* 10BC20 7F0D70F0 97B901FC */ lhu $t9, 0x1fc($sp) -/* 10BC24 7F0D70F4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10BC28 7F0D70F8 29615B00 */ slti $at, $t3, 0x5b00 -/* 10BC2C 7F0D70FC 54200006 */ bnezl $at, .L7F0D7118 -/* 10BC30 7F0D7100 2B215800 */ slti $at, $t9, 0x5800 -/* 10BC34 7F0D7104 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10BC38 7F0D7108 010B4821 */ addu $t1, $t0, $t3 -/* 10BC3C 7F0D710C 10002DBB */ b .L7F0E27FC -/* 10BC40 7F0D7110 A1340000 */ sb $s4, ($t1) -/* 10BC44 7F0D7114 2B215800 */ slti $at, $t9, 0x5800 -.L7F0D7118: -/* 10BC48 7F0D7118 1420000C */ bnez $at, .L7F0D714C -/* 10BC4C 7F0D711C 97A801FC */ lhu $t0, 0x1fc($sp) -/* 10BC50 7F0D7120 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10BC54 7F0D7124 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10BC58 7F0D7128 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 10BC5C 7F0D712C 240A0001 */ li $t2, 1 -/* 10BC60 7F0D7130 01B96021 */ addu $t4, $t5, $t9 -/* 10BC64 7F0D7134 A1940000 */ sb $s4, ($t4) -/* 10BC68 7F0D7138 97AE01FC */ lhu $t6, 0x1fc($sp) -/* 10BC6C 7F0D713C 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 10BC70 7F0D7140 030E7821 */ addu $t7, $t8, $t6 -/* 10BC74 7F0D7144 10002DAD */ b .L7F0E27FC -/* 10BC78 7F0D7148 A1EAA800 */ sb $t2, -0x5800($t7) -.L7F0D714C: -/* 10BC7C 7F0D714C 29014000 */ slti $at, $t0, 0x4000 -/* 10BC80 7F0D7150 14202DAA */ bnez $at, .L7F0E27FC -/* 10BC84 7F0D7154 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10BC88 7F0D7158 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10BC8C 7F0D715C 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10BC90 7F0D7160 240D0001 */ li $t5, 1 -/* 10BC94 7F0D7164 01684821 */ addu $t1, $t3, $t0 -/* 10BC98 7F0D7168 A1340000 */ sb $s4, ($t1) -/* 10BC9C 7F0D716C 97B901FC */ lhu $t9, 0x1fc($sp) -/* 10BCA0 7F0D7170 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10BCA4 7F0D7174 332C1800 */ andi $t4, $t9, 0x1800 -/* 10BCA8 7F0D7178 000CC0C3 */ sra $t8, $t4, 3 -/* 10BCAC 7F0D717C 332E00FF */ andi $t6, $t9, 0xff -/* 10BCB0 7F0D7180 030E5025 */ or $t2, $t8, $t6 -/* 10BCB4 7F0D7184 01EA5821 */ addu $t3, $t7, $t2 -/* 10BCB8 7F0D7188 10002D9C */ b .L7F0E27FC -/* 10BCBC 7F0D718C A16D0000 */ sb $t5, ($t3) -spectrum_op_73: -/* 10BCC0 7F0D7190 8FA8028C */ lw $t0, 0x28c($sp) -/* 10BCC4 7F0D7194 93AC0287 */ lbu $t4, 0x287($sp) -/* 10BCC8 7F0D7198 0016CA00 */ sll $t9, $s6, 8 -/* 10BCCC 7F0D719C 25090007 */ addiu $t1, $t0, 7 -/* 10BCD0 7F0D71A0 15800004 */ bnez $t4, .L7F0D71B4 -/* 10BCD4 7F0D71A4 AFA9028C */ sw $t1, 0x28c($sp) -/* 10BCD8 7F0D71A8 0337C025 */ or $t8, $t9, $s7 -/* 10BCDC 7F0D71AC 10000016 */ b .L7F0D7208 -/* 10BCE0 7F0D71B0 A7B801FA */ sh $t8, 0x1fa($sp) -.L7F0D71B4: -/* 10BCE4 7F0D71B4 8FAE028C */ lw $t6, 0x28c($sp) -/* 10BCE8 7F0D71B8 93AA0287 */ lbu $t2, 0x287($sp) -/* 10BCEC 7F0D71BC 24010001 */ li $at, 1 -/* 10BCF0 7F0D71C0 25CF0008 */ addiu $t7, $t6, 8 -/* 10BCF4 7F0D71C4 15410004 */ bne $t2, $at, .L7F0D71D8 -/* 10BCF8 7F0D71C8 AFAF028C */ sw $t7, 0x28c($sp) -/* 10BCFC 7F0D71CC 97AD0296 */ lhu $t5, 0x296($sp) -/* 10BD00 7F0D71D0 10000003 */ b .L7F0D71E0 -/* 10BD04 7F0D71D4 AFAD0048 */ sw $t5, 0x48($sp) -.L7F0D71D8: -/* 10BD08 7F0D71D8 97AB0294 */ lhu $t3, 0x294($sp) -/* 10BD0C 7F0D71DC AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D71E0: -/* 10BD10 7F0D71E0 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10BD14 7F0D71E4 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10BD18 7F0D71E8 97A80298 */ lhu $t0, 0x298($sp) -/* 10BD1C 7F0D71EC 8FB80048 */ lw $t8, 0x48($sp) -/* 10BD20 7F0D71F0 01096021 */ addu $t4, $t0, $t1 -/* 10BD24 7F0D71F4 81990000 */ lb $t9, ($t4) -/* 10BD28 7F0D71F8 250F0001 */ addiu $t7, $t0, 1 -/* 10BD2C 7F0D71FC A7AF0298 */ sh $t7, 0x298($sp) -/* 10BD30 7F0D7200 03387021 */ addu $t6, $t9, $t8 -/* 10BD34 7F0D7204 A7AE01FA */ sh $t6, 0x1fa($sp) -.L7F0D7208: -/* 10BD38 7F0D7208 97AA01FA */ lhu $t2, 0x1fa($sp) -/* 10BD3C 7F0D720C 97A901FA */ lhu $t1, 0x1fa($sp) -/* 10BD40 7F0D7210 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10BD44 7F0D7214 29415B00 */ slti $at, $t2, 0x5b00 -/* 10BD48 7F0D7218 54200006 */ bnezl $at, .L7F0D7234 -/* 10BD4C 7F0D721C 29215800 */ slti $at, $t1, 0x5800 -/* 10BD50 7F0D7220 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10BD54 7F0D7224 01AA5821 */ addu $t3, $t5, $t2 -/* 10BD58 7F0D7228 10002D74 */ b .L7F0E27FC -/* 10BD5C 7F0D722C A1750000 */ sb $s5, ($t3) -/* 10BD60 7F0D7230 29215800 */ slti $at, $t1, 0x5800 -.L7F0D7234: -/* 10BD64 7F0D7234 1420000C */ bnez $at, .L7F0D7268 -/* 10BD68 7F0D7238 97AD01FA */ lhu $t5, 0x1fa($sp) -/* 10BD6C 7F0D723C 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 10BD70 7F0D7240 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 10BD74 7F0D7244 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 10BD78 7F0D7248 24180001 */ li $t8, 1 -/* 10BD7C 7F0D724C 0189C821 */ addu $t9, $t4, $t1 -/* 10BD80 7F0D7250 A3350000 */ sb $s5, ($t9) -/* 10BD84 7F0D7254 97A801FA */ lhu $t0, 0x1fa($sp) -/* 10BD88 7F0D7258 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 10BD8C 7F0D725C 01C87821 */ addu $t7, $t6, $t0 -/* 10BD90 7F0D7260 10002D66 */ b .L7F0E27FC -/* 10BD94 7F0D7264 A1F8A800 */ sb $t8, -0x5800($t7) -.L7F0D7268: -/* 10BD98 7F0D7268 29A14000 */ slti $at, $t5, 0x4000 -/* 10BD9C 7F0D726C 14202D63 */ bnez $at, .L7F0E27FC -/* 10BDA0 7F0D7270 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10BDA4 7F0D7274 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10BDA8 7F0D7278 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10BDAC 7F0D727C 240C0001 */ li $t4, 1 -/* 10BDB0 7F0D7280 014D5821 */ addu $t3, $t2, $t5 -/* 10BDB4 7F0D7284 A1750000 */ sb $s5, ($t3) -/* 10BDB8 7F0D7288 97A901FA */ lhu $t1, 0x1fa($sp) -/* 10BDBC 7F0D728C 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10BDC0 7F0D7290 31391800 */ andi $t9, $t1, 0x1800 -/* 10BDC4 7F0D7294 001970C3 */ sra $t6, $t9, 3 -/* 10BDC8 7F0D7298 312800FF */ andi $t0, $t1, 0xff -/* 10BDCC 7F0D729C 01C8C025 */ or $t8, $t6, $t0 -/* 10BDD0 7F0D72A0 01F85021 */ addu $t2, $t7, $t8 -/* 10BDD4 7F0D72A4 10002D55 */ b .L7F0E27FC -/* 10BDD8 7F0D72A8 A14C0000 */ sb $t4, ($t2) -spectrum_op_74: -/* 10BDDC 7F0D72AC 8FAD028C */ lw $t5, 0x28c($sp) -/* 10BDE0 7F0D72B0 93B90287 */ lbu $t9, 0x287($sp) -/* 10BDE4 7F0D72B4 00164A00 */ sll $t1, $s6, 8 -/* 10BDE8 7F0D72B8 25AB0007 */ addiu $t3, $t5, 7 -/* 10BDEC 7F0D72BC 17200004 */ bnez $t9, .L7F0D72D0 -/* 10BDF0 7F0D72C0 AFAB028C */ sw $t3, 0x28c($sp) -/* 10BDF4 7F0D72C4 01377025 */ or $t6, $t1, $s7 -/* 10BDF8 7F0D72C8 10000016 */ b .L7F0D7324 -/* 10BDFC 7F0D72CC A7AE01F8 */ sh $t6, 0x1f8($sp) -.L7F0D72D0: -/* 10BE00 7F0D72D0 8FA8028C */ lw $t0, 0x28c($sp) -/* 10BE04 7F0D72D4 93B80287 */ lbu $t8, 0x287($sp) -/* 10BE08 7F0D72D8 24010001 */ li $at, 1 -/* 10BE0C 7F0D72DC 250F0008 */ addiu $t7, $t0, 8 -/* 10BE10 7F0D72E0 17010004 */ bne $t8, $at, .L7F0D72F4 -/* 10BE14 7F0D72E4 AFAF028C */ sw $t7, 0x28c($sp) -/* 10BE18 7F0D72E8 97AC0296 */ lhu $t4, 0x296($sp) -/* 10BE1C 7F0D72EC 10000003 */ b .L7F0D72FC -/* 10BE20 7F0D72F0 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D72F4: -/* 10BE24 7F0D72F4 97AA0294 */ lhu $t2, 0x294($sp) -/* 10BE28 7F0D72F8 AFAA0048 */ sw $t2, 0x48($sp) -.L7F0D72FC: -/* 10BE2C 7F0D72FC 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10BE30 7F0D7300 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10BE34 7F0D7304 97AD0298 */ lhu $t5, 0x298($sp) -/* 10BE38 7F0D7308 8FAE0048 */ lw $t6, 0x48($sp) -/* 10BE3C 7F0D730C 01ABC821 */ addu $t9, $t5, $t3 -/* 10BE40 7F0D7310 83290000 */ lb $t1, ($t9) -/* 10BE44 7F0D7314 25AF0001 */ addiu $t7, $t5, 1 -/* 10BE48 7F0D7318 A7AF0298 */ sh $t7, 0x298($sp) -/* 10BE4C 7F0D731C 012E4021 */ addu $t0, $t1, $t6 -/* 10BE50 7F0D7320 A7A801F8 */ sh $t0, 0x1f8($sp) -.L7F0D7324: -/* 10BE54 7F0D7324 97B801F8 */ lhu $t8, 0x1f8($sp) -/* 10BE58 7F0D7328 97AB01F8 */ lhu $t3, 0x1f8($sp) -/* 10BE5C 7F0D732C 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 10BE60 7F0D7330 2B015B00 */ slti $at, $t8, 0x5b00 -/* 10BE64 7F0D7334 54200006 */ bnezl $at, .L7F0D7350 -/* 10BE68 7F0D7338 29615800 */ slti $at, $t3, 0x5800 -/* 10BE6C 7F0D733C 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 10BE70 7F0D7340 01985021 */ addu $t2, $t4, $t8 -/* 10BE74 7F0D7344 10002D2D */ b .L7F0E27FC -/* 10BE78 7F0D7348 A1560000 */ sb $s6, ($t2) -/* 10BE7C 7F0D734C 29615800 */ slti $at, $t3, 0x5800 -.L7F0D7350: -/* 10BE80 7F0D7350 1420000C */ bnez $at, .L7F0D7384 -/* 10BE84 7F0D7354 97AC01F8 */ lhu $t4, 0x1f8($sp) -/* 10BE88 7F0D7358 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10BE8C 7F0D735C 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10BE90 7F0D7360 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 10BE94 7F0D7364 240E0001 */ li $t6, 1 -/* 10BE98 7F0D7368 032B4821 */ addu $t1, $t9, $t3 -/* 10BE9C 7F0D736C A1360000 */ sb $s6, ($t1) -/* 10BEA0 7F0D7370 97AD01F8 */ lhu $t5, 0x1f8($sp) -/* 10BEA4 7F0D7374 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 10BEA8 7F0D7378 010D7821 */ addu $t7, $t0, $t5 -/* 10BEAC 7F0D737C 10002D1F */ b .L7F0E27FC -/* 10BEB0 7F0D7380 A1EEA800 */ sb $t6, -0x5800($t7) -.L7F0D7384: -/* 10BEB4 7F0D7384 29814000 */ slti $at, $t4, 0x4000 -/* 10BEB8 7F0D7388 14202D1C */ bnez $at, .L7F0E27FC -/* 10BEBC 7F0D738C 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10BEC0 7F0D7390 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10BEC4 7F0D7394 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10BEC8 7F0D7398 24190001 */ li $t9, 1 -/* 10BECC 7F0D739C 030C5021 */ addu $t2, $t8, $t4 -/* 10BED0 7F0D73A0 A1560000 */ sb $s6, ($t2) -/* 10BED4 7F0D73A4 97AB01F8 */ lhu $t3, 0x1f8($sp) -/* 10BED8 7F0D73A8 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10BEDC 7F0D73AC 31691800 */ andi $t1, $t3, 0x1800 -/* 10BEE0 7F0D73B0 000940C3 */ sra $t0, $t1, 3 -/* 10BEE4 7F0D73B4 316D00FF */ andi $t5, $t3, 0xff -/* 10BEE8 7F0D73B8 010D7025 */ or $t6, $t0, $t5 -/* 10BEEC 7F0D73BC 01EEC021 */ addu $t8, $t7, $t6 -/* 10BEF0 7F0D73C0 10002D0E */ b .L7F0E27FC -/* 10BEF4 7F0D73C4 A3190000 */ sb $t9, ($t8) -spectrum_op_75: -/* 10BEF8 7F0D73C8 8FAC028C */ lw $t4, 0x28c($sp) -/* 10BEFC 7F0D73CC 93A90287 */ lbu $t1, 0x287($sp) -/* 10BF00 7F0D73D0 00165A00 */ sll $t3, $s6, 8 -/* 10BF04 7F0D73D4 258A0007 */ addiu $t2, $t4, 7 -/* 10BF08 7F0D73D8 15200004 */ bnez $t1, .L7F0D73EC -/* 10BF0C 7F0D73DC AFAA028C */ sw $t2, 0x28c($sp) -/* 10BF10 7F0D73E0 01774025 */ or $t0, $t3, $s7 -/* 10BF14 7F0D73E4 10000016 */ b .L7F0D7440 -/* 10BF18 7F0D73E8 A7A801F6 */ sh $t0, 0x1f6($sp) -.L7F0D73EC: -/* 10BF1C 7F0D73EC 8FAD028C */ lw $t5, 0x28c($sp) -/* 10BF20 7F0D73F0 93AE0287 */ lbu $t6, 0x287($sp) -/* 10BF24 7F0D73F4 24010001 */ li $at, 1 -/* 10BF28 7F0D73F8 25AF0008 */ addiu $t7, $t5, 8 -/* 10BF2C 7F0D73FC 15C10004 */ bne $t6, $at, .L7F0D7410 -/* 10BF30 7F0D7400 AFAF028C */ sw $t7, 0x28c($sp) -/* 10BF34 7F0D7404 97B90296 */ lhu $t9, 0x296($sp) -/* 10BF38 7F0D7408 10000003 */ b .L7F0D7418 -/* 10BF3C 7F0D740C AFB90048 */ sw $t9, 0x48($sp) -.L7F0D7410: -/* 10BF40 7F0D7410 97B80294 */ lhu $t8, 0x294($sp) -/* 10BF44 7F0D7414 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D7418: -/* 10BF48 7F0D7418 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10BF4C 7F0D741C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10BF50 7F0D7420 97AC0298 */ lhu $t4, 0x298($sp) -/* 10BF54 7F0D7424 8FA80048 */ lw $t0, 0x48($sp) -/* 10BF58 7F0D7428 018A4821 */ addu $t1, $t4, $t2 -/* 10BF5C 7F0D742C 812B0000 */ lb $t3, ($t1) -/* 10BF60 7F0D7430 258F0001 */ addiu $t7, $t4, 1 -/* 10BF64 7F0D7434 A7AF0298 */ sh $t7, 0x298($sp) -/* 10BF68 7F0D7438 01686821 */ addu $t5, $t3, $t0 -/* 10BF6C 7F0D743C A7AD01F6 */ sh $t5, 0x1f6($sp) -.L7F0D7440: -/* 10BF70 7F0D7440 97AE01F6 */ lhu $t6, 0x1f6($sp) -/* 10BF74 7F0D7444 97AA01F6 */ lhu $t2, 0x1f6($sp) -/* 10BF78 7F0D7448 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10BF7C 7F0D744C 29C15B00 */ slti $at, $t6, 0x5b00 -/* 10BF80 7F0D7450 54200006 */ bnezl $at, .L7F0D746C -/* 10BF84 7F0D7454 29415800 */ slti $at, $t2, 0x5800 -/* 10BF88 7F0D7458 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10BF8C 7F0D745C 032EC021 */ addu $t8, $t9, $t6 -/* 10BF90 7F0D7460 10002CE6 */ b .L7F0E27FC -/* 10BF94 7F0D7464 A3170000 */ sb $s7, ($t8) -/* 10BF98 7F0D7468 29415800 */ slti $at, $t2, 0x5800 -.L7F0D746C: -/* 10BF9C 7F0D746C 1420000C */ bnez $at, .L7F0D74A0 -/* 10BFA0 7F0D7470 97B901F6 */ lhu $t9, 0x1f6($sp) -/* 10BFA4 7F0D7474 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10BFA8 7F0D7478 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10BFAC 7F0D747C 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 10BFB0 7F0D7480 24080001 */ li $t0, 1 -/* 10BFB4 7F0D7484 012A5821 */ addu $t3, $t1, $t2 -/* 10BFB8 7F0D7488 A1770000 */ sb $s7, ($t3) -/* 10BFBC 7F0D748C 97AC01F6 */ lhu $t4, 0x1f6($sp) -/* 10BFC0 7F0D7490 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 10BFC4 7F0D7494 01AC7821 */ addu $t7, $t5, $t4 -/* 10BFC8 7F0D7498 10002CD8 */ b .L7F0E27FC -/* 10BFCC 7F0D749C A1E8A800 */ sb $t0, -0x5800($t7) -.L7F0D74A0: -/* 10BFD0 7F0D74A0 2B214000 */ slti $at, $t9, 0x4000 -/* 10BFD4 7F0D74A4 14202CD5 */ bnez $at, .L7F0E27FC -/* 10BFD8 7F0D74A8 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10BFDC 7F0D74AC 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10BFE0 7F0D74B0 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10BFE4 7F0D74B4 24090001 */ li $t1, 1 -/* 10BFE8 7F0D74B8 01D9C021 */ addu $t8, $t6, $t9 -/* 10BFEC 7F0D74BC A3170000 */ sb $s7, ($t8) -/* 10BFF0 7F0D74C0 97AA01F6 */ lhu $t2, 0x1f6($sp) -/* 10BFF4 7F0D74C4 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10BFF8 7F0D74C8 314B1800 */ andi $t3, $t2, 0x1800 -/* 10BFFC 7F0D74CC 000B68C3 */ sra $t5, $t3, 3 -/* 10C000 7F0D74D0 314C00FF */ andi $t4, $t2, 0xff -/* 10C004 7F0D74D4 01AC4025 */ or $t0, $t5, $t4 -/* 10C008 7F0D74D8 01E87021 */ addu $t6, $t7, $t0 -/* 10C00C 7F0D74DC 10002CC7 */ b .L7F0E27FC -/* 10C010 7F0D74E0 A1C90000 */ sb $t1, ($t6) -spectrum_op_76: -/* 10C014 7F0D74E4 8FB9028C */ lw $t9, 0x28c($sp) -/* 10C018 7F0D74E8 8FAB0280 */ lw $t3, 0x280($sp) -/* 10C01C 7F0D74EC 27380004 */ addiu $t8, $t9, 4 -/* 10C020 7F0D74F0 030B082B */ sltu $at, $t8, $t3 -/* 10C024 7F0D74F4 10200007 */ beqz $at, .L7F0D7514 -/* 10C028 7F0D74F8 AFB8028C */ sw $t8, 0x28c($sp) -/* 10C02C 7F0D74FC 01785023 */ subu $t2, $t3, $t8 -/* 10C030 7F0D7500 254D0003 */ addiu $t5, $t2, 3 -/* 10C034 7F0D7504 2401FFFC */ li $at, -4 -/* 10C038 7F0D7508 01A16024 */ and $t4, $t5, $at -/* 10C03C 7F0D750C 030C7821 */ addu $t7, $t8, $t4 -/* 10C040 7F0D7510 AFAF028C */ sw $t7, 0x28c($sp) -.L7F0D7514: -/* 10C044 7F0D7514 97A80298 */ lhu $t0, 0x298($sp) -/* 10C048 7F0D7518 2509FFFF */ addiu $t1, $t0, -1 -/* 10C04C 7F0D751C 10002CB7 */ b .L7F0E27FC -/* 10C050 7F0D7520 A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_77: -/* 10C054 7F0D7524 8FAE028C */ lw $t6, 0x28c($sp) -/* 10C058 7F0D7528 93AB0287 */ lbu $t3, 0x287($sp) -/* 10C05C 7F0D752C 00165200 */ sll $t2, $s6, 8 -/* 10C060 7F0D7530 25D90007 */ addiu $t9, $t6, 7 -/* 10C064 7F0D7534 15600004 */ bnez $t3, .L7F0D7548 -/* 10C068 7F0D7538 AFB9028C */ sw $t9, 0x28c($sp) -/* 10C06C 7F0D753C 01576825 */ or $t5, $t2, $s7 -/* 10C070 7F0D7540 10000016 */ b .L7F0D759C -/* 10C074 7F0D7544 A7AD01F4 */ sh $t5, 0x1f4($sp) -.L7F0D7548: -/* 10C078 7F0D7548 8FB8028C */ lw $t8, 0x28c($sp) -/* 10C07C 7F0D754C 93AF0287 */ lbu $t7, 0x287($sp) -/* 10C080 7F0D7550 24010001 */ li $at, 1 -/* 10C084 7F0D7554 270C0008 */ addiu $t4, $t8, 8 -/* 10C088 7F0D7558 15E10004 */ bne $t7, $at, .L7F0D756C -/* 10C08C 7F0D755C AFAC028C */ sw $t4, 0x28c($sp) -/* 10C090 7F0D7560 97A80296 */ lhu $t0, 0x296($sp) -/* 10C094 7F0D7564 10000003 */ b .L7F0D7574 -/* 10C098 7F0D7568 AFA80048 */ sw $t0, 0x48($sp) -.L7F0D756C: -/* 10C09C 7F0D756C 97A90294 */ lhu $t1, 0x294($sp) -/* 10C0A0 7F0D7570 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D7574: -/* 10C0A4 7F0D7574 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10C0A8 7F0D7578 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10C0AC 7F0D757C 97AE0298 */ lhu $t6, 0x298($sp) -/* 10C0B0 7F0D7580 8FAD0048 */ lw $t5, 0x48($sp) -/* 10C0B4 7F0D7584 01D95821 */ addu $t3, $t6, $t9 -/* 10C0B8 7F0D7588 816A0000 */ lb $t2, ($t3) -/* 10C0BC 7F0D758C 25CC0001 */ addiu $t4, $t6, 1 -/* 10C0C0 7F0D7590 A7AC0298 */ sh $t4, 0x298($sp) -/* 10C0C4 7F0D7594 014DC021 */ addu $t8, $t2, $t5 -/* 10C0C8 7F0D7598 A7B801F4 */ sh $t8, 0x1f4($sp) -.L7F0D759C: -/* 10C0CC 7F0D759C 97AF01F4 */ lhu $t7, 0x1f4($sp) -/* 10C0D0 7F0D75A0 97B901F4 */ lhu $t9, 0x1f4($sp) -/* 10C0D4 7F0D75A4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10C0D8 7F0D75A8 29E15B00 */ slti $at, $t7, 0x5b00 -/* 10C0DC 7F0D75AC 54200006 */ bnezl $at, .L7F0D75C8 -/* 10C0E0 7F0D75B0 2B215800 */ slti $at, $t9, 0x5800 -/* 10C0E4 7F0D75B4 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10C0E8 7F0D75B8 010F4821 */ addu $t1, $t0, $t7 -/* 10C0EC 7F0D75BC 10002C8F */ b .L7F0E27FC -/* 10C0F0 7F0D75C0 A1300000 */ sb $s0, ($t1) -/* 10C0F4 7F0D75C4 2B215800 */ slti $at, $t9, 0x5800 -.L7F0D75C8: -/* 10C0F8 7F0D75C8 1420000C */ bnez $at, .L7F0D75FC -/* 10C0FC 7F0D75CC 97A801F4 */ lhu $t0, 0x1f4($sp) -/* 10C100 7F0D75D0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10C104 7F0D75D4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10C108 7F0D75D8 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 10C10C 7F0D75DC 240D0001 */ li $t5, 1 -/* 10C110 7F0D75E0 01795021 */ addu $t2, $t3, $t9 -/* 10C114 7F0D75E4 A1500000 */ sb $s0, ($t2) -/* 10C118 7F0D75E8 97AE01F4 */ lhu $t6, 0x1f4($sp) -/* 10C11C 7F0D75EC 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 10C120 7F0D75F0 030E6021 */ addu $t4, $t8, $t6 -/* 10C124 7F0D75F4 10002C81 */ b .L7F0E27FC -/* 10C128 7F0D75F8 A18DA800 */ sb $t5, -0x5800($t4) -.L7F0D75FC: -/* 10C12C 7F0D75FC 29014000 */ slti $at, $t0, 0x4000 -/* 10C130 7F0D7600 14202C7E */ bnez $at, .L7F0E27FC -/* 10C134 7F0D7604 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10C138 7F0D7608 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10C13C 7F0D760C 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 10C140 7F0D7610 240B0001 */ li $t3, 1 -/* 10C144 7F0D7614 01E84821 */ addu $t1, $t7, $t0 -/* 10C148 7F0D7618 A1300000 */ sb $s0, ($t1) -/* 10C14C 7F0D761C 97B901F4 */ lhu $t9, 0x1f4($sp) -/* 10C150 7F0D7620 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 10C154 7F0D7624 332A1800 */ andi $t2, $t9, 0x1800 -/* 10C158 7F0D7628 000AC0C3 */ sra $t8, $t2, 3 -/* 10C15C 7F0D762C 332E00FF */ andi $t6, $t9, 0xff -/* 10C160 7F0D7630 030E6825 */ or $t5, $t8, $t6 -/* 10C164 7F0D7634 018D7821 */ addu $t7, $t4, $t5 -/* 10C168 7F0D7638 10002C70 */ b .L7F0E27FC -/* 10C16C 7F0D763C A1EB0000 */ sb $t3, ($t7) -spectrum_op_78: -/* 10C170 7F0D7640 8FA8028C */ lw $t0, 0x28c($sp) -/* 10C174 7F0D7644 325000FF */ andi $s0, $s2, 0xff -/* 10C178 7F0D7648 25090004 */ addiu $t1, $t0, 4 -/* 10C17C 7F0D764C 10002C6B */ b .L7F0E27FC -/* 10C180 7F0D7650 AFA9028C */ sw $t1, 0x28c($sp) -spectrum_op_79: -/* 10C184 7F0D7654 8FAA028C */ lw $t2, 0x28c($sp) -/* 10C188 7F0D7658 327000FF */ andi $s0, $s3, 0xff -/* 10C18C 7F0D765C 25590004 */ addiu $t9, $t2, 4 -/* 10C190 7F0D7660 10002C66 */ b .L7F0E27FC -/* 10C194 7F0D7664 AFB9028C */ sw $t9, 0x28c($sp) -spectrum_op_7A: -/* 10C198 7F0D7668 8FB8028C */ lw $t8, 0x28c($sp) -/* 10C19C 7F0D766C 329000FF */ andi $s0, $s4, 0xff -/* 10C1A0 7F0D7670 270E0004 */ addiu $t6, $t8, 4 -/* 10C1A4 7F0D7674 10002C61 */ b .L7F0E27FC -/* 10C1A8 7F0D7678 AFAE028C */ sw $t6, 0x28c($sp) -spectrum_op_7B: -/* 10C1AC 7F0D767C 8FAC028C */ lw $t4, 0x28c($sp) -/* 10C1B0 7F0D7680 32B000FF */ andi $s0, $s5, 0xff -/* 10C1B4 7F0D7684 258D0004 */ addiu $t5, $t4, 4 -/* 10C1B8 7F0D7688 10002C5C */ b .L7F0E27FC -/* 10C1BC 7F0D768C AFAD028C */ sw $t5, 0x28c($sp) -spectrum_op_7C: -/* 10C1C0 7F0D7690 8FAB028C */ lw $t3, 0x28c($sp) -/* 10C1C4 7F0D7694 93A80287 */ lbu $t0, 0x287($sp) -/* 10C1C8 7F0D7698 93A90287 */ lbu $t1, 0x287($sp) -/* 10C1CC 7F0D769C 256F0004 */ addiu $t7, $t3, 4 -/* 10C1D0 7F0D76A0 15000003 */ bnez $t0, .L7F0D76B0 -/* 10C1D4 7F0D76A4 AFAF028C */ sw $t7, 0x28c($sp) -/* 10C1D8 7F0D76A8 10002C54 */ b .L7F0E27FC -/* 10C1DC 7F0D76AC 32D000FF */ andi $s0, $s6, 0xff -.L7F0D76B0: -/* 10C1E0 7F0D76B0 24010001 */ li $at, 1 -/* 10C1E4 7F0D76B4 15210005 */ bne $t1, $at, .L7F0D76CC -/* 10C1E8 7F0D76B8 97B80294 */ lhu $t8, 0x294($sp) -/* 10C1EC 7F0D76BC 97AA0296 */ lhu $t2, 0x296($sp) -/* 10C1F0 7F0D76C0 000ACA03 */ sra $t9, $t2, 8 -/* 10C1F4 7F0D76C4 10000003 */ b .L7F0D76D4 -/* 10C1F8 7F0D76C8 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D76CC: -/* 10C1FC 7F0D76CC 00187203 */ sra $t6, $t8, 8 -/* 10C200 7F0D76D0 AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D76D4: -/* 10C204 7F0D76D4 10002C49 */ b .L7F0E27FC -/* 10C208 7F0D76D8 93B0004B */ lbu $s0, 0x4b($sp) -spectrum_op_7D: -/* 10C20C 7F0D76DC 8FAC028C */ lw $t4, 0x28c($sp) -/* 10C210 7F0D76E0 93AB0287 */ lbu $t3, 0x287($sp) -/* 10C214 7F0D76E4 93AF0287 */ lbu $t7, 0x287($sp) -/* 10C218 7F0D76E8 258D0004 */ addiu $t5, $t4, 4 -/* 10C21C 7F0D76EC 15600003 */ bnez $t3, .L7F0D76FC -/* 10C220 7F0D76F0 AFAD028C */ sw $t5, 0x28c($sp) -/* 10C224 7F0D76F4 10002C41 */ b .L7F0E27FC -/* 10C228 7F0D76F8 32F000FF */ andi $s0, $s7, 0xff -.L7F0D76FC: -/* 10C22C 7F0D76FC 24010001 */ li $at, 1 -/* 10C230 7F0D7700 15E10005 */ bne $t7, $at, .L7F0D7718 -/* 10C234 7F0D7704 97AA0294 */ lhu $t2, 0x294($sp) -/* 10C238 7F0D7708 97A80296 */ lhu $t0, 0x296($sp) -/* 10C23C 7F0D770C 310900FF */ andi $t1, $t0, 0xff -/* 10C240 7F0D7710 10000003 */ b .L7F0D7720 -/* 10C244 7F0D7714 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D7718: -/* 10C248 7F0D7718 315900FF */ andi $t9, $t2, 0xff -/* 10C24C 7F0D771C AFB90048 */ sw $t9, 0x48($sp) -.L7F0D7720: -/* 10C250 7F0D7720 10002C36 */ b .L7F0E27FC -/* 10C254 7F0D7724 93B0004B */ lbu $s0, 0x4b($sp) -spectrum_op_7E: -/* 10C258 7F0D7728 8FB8028C */ lw $t8, 0x28c($sp) -/* 10C25C 7F0D772C 93AC0287 */ lbu $t4, 0x287($sp) -/* 10C260 7F0D7730 00166A00 */ sll $t5, $s6, 8 -/* 10C264 7F0D7734 270E0007 */ addiu $t6, $t8, 7 -/* 10C268 7F0D7738 15800004 */ bnez $t4, .L7F0D774C -/* 10C26C 7F0D773C AFAE028C */ sw $t6, 0x28c($sp) -/* 10C270 7F0D7740 01B75825 */ or $t3, $t5, $s7 -/* 10C274 7F0D7744 10000016 */ b .L7F0D77A0 -/* 10C278 7F0D7748 A7AB01F2 */ sh $t3, 0x1f2($sp) -.L7F0D774C: -/* 10C27C 7F0D774C 8FAF028C */ lw $t7, 0x28c($sp) -/* 10C280 7F0D7750 93A90287 */ lbu $t1, 0x287($sp) -/* 10C284 7F0D7754 24010001 */ li $at, 1 -/* 10C288 7F0D7758 25E80008 */ addiu $t0, $t7, 8 -/* 10C28C 7F0D775C 15210004 */ bne $t1, $at, .L7F0D7770 -/* 10C290 7F0D7760 AFA8028C */ sw $t0, 0x28c($sp) -/* 10C294 7F0D7764 97AA0296 */ lhu $t2, 0x296($sp) -/* 10C298 7F0D7768 10000003 */ b .L7F0D7778 -/* 10C29C 7F0D776C AFAA0048 */ sw $t2, 0x48($sp) -.L7F0D7770: -/* 10C2A0 7F0D7770 97B90294 */ lhu $t9, 0x294($sp) -/* 10C2A4 7F0D7774 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D7778: -/* 10C2A8 7F0D7778 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10C2AC 7F0D777C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10C2B0 7F0D7780 97B80298 */ lhu $t8, 0x298($sp) -/* 10C2B4 7F0D7784 8FAB0048 */ lw $t3, 0x48($sp) -/* 10C2B8 7F0D7788 030E6021 */ addu $t4, $t8, $t6 -/* 10C2BC 7F0D778C 818D0000 */ lb $t5, ($t4) -/* 10C2C0 7F0D7790 27080001 */ addiu $t0, $t8, 1 -/* 10C2C4 7F0D7794 A7A80298 */ sh $t0, 0x298($sp) -/* 10C2C8 7F0D7798 01AB7821 */ addu $t7, $t5, $t3 -/* 10C2CC 7F0D779C A7AF01F2 */ sh $t7, 0x1f2($sp) -.L7F0D77A0: -/* 10C2D0 7F0D77A0 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10C2D4 7F0D77A4 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10C2D8 7F0D77A8 97A901F2 */ lhu $t1, 0x1f2($sp) -/* 10C2DC 7F0D77AC 012AC821 */ addu $t9, $t1, $t2 -/* 10C2E0 7F0D77B0 10002C12 */ b .L7F0E27FC -/* 10C2E4 7F0D77B4 93300000 */ lbu $s0, ($t9) -spectrum_op_7F: -/* 10C2E8 7F0D77B8 8FAE028C */ lw $t6, 0x28c($sp) -/* 10C2EC 7F0D77BC 25CC0004 */ addiu $t4, $t6, 4 -/* 10C2F0 7F0D77C0 10002C0E */ b .L7F0E27FC -/* 10C2F4 7F0D77C4 AFAC028C */ sw $t4, 0x28c($sp) -spectrum_op_80: -/* 10C2F8 7F0D77C8 8FAD028C */ lw $t5, 0x28c($sp) -/* 10C2FC 7F0D77CC 324F00FF */ andi $t7, $s2, 0xff -/* 10C300 7F0D77D0 020F4021 */ addu $t0, $s0, $t7 -/* 10C304 7F0D77D4 25AB0004 */ addiu $t3, $t5, 4 -/* 10C308 7F0D77D8 310900A8 */ andi $t1, $t0, 0xa8 -/* 10C30C 7F0D77DC 00085203 */ sra $t2, $t0, 8 -/* 10C310 7F0D77E0 31EC000F */ andi $t4, $t7, 0xf -/* 10C314 7F0D77E4 320E000F */ andi $t6, $s0, 0xf -/* 10C318 7F0D77E8 AFAB028C */ sw $t3, 0x28c($sp) -/* 10C31C 7F0D77EC 01CC6821 */ addu $t5, $t6, $t4 -/* 10C320 7F0D77F0 012AC825 */ or $t9, $t1, $t2 -/* 10C324 7F0D77F4 2401000F */ li $at, 15 -/* 10C328 7F0D77F8 002D582A */ slt $t3, $at, $t5 -/* 10C32C 7F0D77FC 02005027 */ not $t2, $s0 -/* 10C330 7F0D7800 01106826 */ xor $t5, $t0, $s0 -/* 10C334 7F0D7804 A7A801F0 */ sh $t0, 0x1f0($sp) -/* 10C338 7F0D7808 93B001F1 */ lbu $s0, 0x1f1($sp) -/* 10C33C 7F0D780C 014F7026 */ xor $t6, $t2, $t7 -/* 10C340 7F0D7810 000BC100 */ sll $t8, $t3, 4 -/* 10C344 7F0D7814 31CC0080 */ andi $t4, $t6, 0x80 -/* 10C348 7F0D7818 018D5824 */ and $t3, $t4, $t5 -/* 10C34C 7F0D781C 03384825 */ or $t1, $t9, $t8 -/* 10C350 7F0D7820 000BC943 */ sra $t9, $t3, 5 -/* 10C354 7F0D7824 2E0A0001 */ sltiu $t2, $s0, 1 -/* 10C358 7F0D7828 000A7180 */ sll $t6, $t2, 6 -/* 10C35C 7F0D782C 0139C025 */ or $t8, $t1, $t9 -/* 10C360 7F0D7830 030E8825 */ or $s1, $t8, $t6 -/* 10C364 7F0D7834 322800FF */ andi $t0, $s1, 0xff -/* 10C368 7F0D7838 01008825 */ move $s1, $t0 -/* 10C36C 7F0D783C AFAA0048 */ sw $t2, 0x48($sp) -/* 10C370 7F0D7840 10002BEE */ b .L7F0E27FC -/* 10C374 7F0D7844 A3B201EF */ sb $s2, 0x1ef($sp) -spectrum_op_81: -/* 10C378 7F0D7848 8FAC028C */ lw $t4, 0x28c($sp) -/* 10C37C 7F0D784C 326B00FF */ andi $t3, $s3, 0xff -/* 10C380 7F0D7850 020BC821 */ addu $t9, $s0, $t3 -/* 10C384 7F0D7854 258D0004 */ addiu $t5, $t4, 4 -/* 10C388 7F0D7858 333800A8 */ andi $t8, $t9, 0xa8 -/* 10C38C 7F0D785C 00195203 */ sra $t2, $t9, 8 -/* 10C390 7F0D7860 3168000F */ andi $t0, $t3, 0xf -/* 10C394 7F0D7864 320E000F */ andi $t6, $s0, 0xf -/* 10C398 7F0D7868 AFAD028C */ sw $t5, 0x28c($sp) -/* 10C39C 7F0D786C 01C86021 */ addu $t4, $t6, $t0 -/* 10C3A0 7F0D7870 030A7825 */ or $t7, $t8, $t2 -/* 10C3A4 7F0D7874 2401000F */ li $at, 15 -/* 10C3A8 7F0D7878 002C682A */ slt $t5, $at, $t4 -/* 10C3AC 7F0D787C 02005027 */ not $t2, $s0 -/* 10C3B0 7F0D7880 03306026 */ xor $t4, $t9, $s0 -/* 10C3B4 7F0D7884 A7B901EC */ sh $t9, 0x1ec($sp) -/* 10C3B8 7F0D7888 93B001ED */ lbu $s0, 0x1ed($sp) -/* 10C3BC 7F0D788C 014B7026 */ xor $t6, $t2, $t3 -/* 10C3C0 7F0D7890 000D4900 */ sll $t1, $t5, 4 -/* 10C3C4 7F0D7894 31C80080 */ andi $t0, $t6, 0x80 -/* 10C3C8 7F0D7898 010C6824 */ and $t5, $t0, $t4 -/* 10C3CC 7F0D789C 01E9C025 */ or $t8, $t7, $t1 -/* 10C3D0 7F0D78A0 000D7943 */ sra $t7, $t5, 5 -/* 10C3D4 7F0D78A4 2E0A0001 */ sltiu $t2, $s0, 1 -/* 10C3D8 7F0D78A8 000A7180 */ sll $t6, $t2, 6 -/* 10C3DC 7F0D78AC 030F4825 */ or $t1, $t8, $t7 -/* 10C3E0 7F0D78B0 012E8825 */ or $s1, $t1, $t6 -/* 10C3E4 7F0D78B4 323900FF */ andi $t9, $s1, 0xff -/* 10C3E8 7F0D78B8 03208825 */ move $s1, $t9 -/* 10C3EC 7F0D78BC AFAA0048 */ sw $t2, 0x48($sp) -/* 10C3F0 7F0D78C0 10002BCE */ b .L7F0E27FC -/* 10C3F4 7F0D78C4 A3B301EB */ sb $s3, 0x1eb($sp) -spectrum_op_82: -/* 10C3F8 7F0D78C8 8FA8028C */ lw $t0, 0x28c($sp) -/* 10C3FC 7F0D78CC 328D00FF */ andi $t5, $s4, 0xff -/* 10C400 7F0D78D0 020D7821 */ addu $t7, $s0, $t5 -/* 10C404 7F0D78D4 250C0004 */ addiu $t4, $t0, 4 -/* 10C408 7F0D78D8 31E900A8 */ andi $t1, $t7, 0xa8 -/* 10C40C 7F0D78DC 000F5203 */ sra $t2, $t7, 8 -/* 10C410 7F0D78E0 31B9000F */ andi $t9, $t5, 0xf -/* 10C414 7F0D78E4 320E000F */ andi $t6, $s0, 0xf -/* 10C418 7F0D78E8 AFAC028C */ sw $t4, 0x28c($sp) -/* 10C41C 7F0D78EC 01D94021 */ addu $t0, $t6, $t9 -/* 10C420 7F0D78F0 012A5825 */ or $t3, $t1, $t2 -/* 10C424 7F0D78F4 2401000F */ li $at, 15 -/* 10C428 7F0D78F8 0028602A */ slt $t4, $at, $t0 -/* 10C42C 7F0D78FC 02005027 */ not $t2, $s0 -/* 10C430 7F0D7900 01F04026 */ xor $t0, $t7, $s0 -/* 10C434 7F0D7904 A7AF01E8 */ sh $t7, 0x1e8($sp) -/* 10C438 7F0D7908 93B001E9 */ lbu $s0, 0x1e9($sp) -/* 10C43C 7F0D790C 014D7026 */ xor $t6, $t2, $t5 -/* 10C440 7F0D7910 000CC100 */ sll $t8, $t4, 4 -/* 10C444 7F0D7914 31D90080 */ andi $t9, $t6, 0x80 -/* 10C448 7F0D7918 03286024 */ and $t4, $t9, $t0 -/* 10C44C 7F0D791C 01784825 */ or $t1, $t3, $t8 -/* 10C450 7F0D7920 000C5943 */ sra $t3, $t4, 5 -/* 10C454 7F0D7924 2E0A0001 */ sltiu $t2, $s0, 1 -/* 10C458 7F0D7928 000A7180 */ sll $t6, $t2, 6 -/* 10C45C 7F0D792C 012BC025 */ or $t8, $t1, $t3 -/* 10C460 7F0D7930 030E8825 */ or $s1, $t8, $t6 -/* 10C464 7F0D7934 322F00FF */ andi $t7, $s1, 0xff -/* 10C468 7F0D7938 01E08825 */ move $s1, $t7 -/* 10C46C 7F0D793C AFAA0048 */ sw $t2, 0x48($sp) -/* 10C470 7F0D7940 10002BAE */ b .L7F0E27FC -/* 10C474 7F0D7944 A3B401E7 */ sb $s4, 0x1e7($sp) -spectrum_op_83: -/* 10C478 7F0D7948 8FB9028C */ lw $t9, 0x28c($sp) -/* 10C47C 7F0D794C 32AC00FF */ andi $t4, $s5, 0xff -/* 10C480 7F0D7950 020C5821 */ addu $t3, $s0, $t4 -/* 10C484 7F0D7954 27280004 */ addiu $t0, $t9, 4 -/* 10C488 7F0D7958 317800A8 */ andi $t8, $t3, 0xa8 -/* 10C48C 7F0D795C 000B5203 */ sra $t2, $t3, 8 -/* 10C490 7F0D7960 318F000F */ andi $t7, $t4, 0xf -/* 10C494 7F0D7964 320E000F */ andi $t6, $s0, 0xf -/* 10C498 7F0D7968 AFA8028C */ sw $t0, 0x28c($sp) -/* 10C49C 7F0D796C 01CFC821 */ addu $t9, $t6, $t7 -/* 10C4A0 7F0D7970 030A6825 */ or $t5, $t8, $t2 -/* 10C4A4 7F0D7974 2401000F */ li $at, 15 -/* 10C4A8 7F0D7978 0039402A */ slt $t0, $at, $t9 -/* 10C4AC 7F0D797C 02005027 */ not $t2, $s0 -/* 10C4B0 7F0D7980 0170C826 */ xor $t9, $t3, $s0 -/* 10C4B4 7F0D7984 A7AB01E4 */ sh $t3, 0x1e4($sp) -/* 10C4B8 7F0D7988 93B001E5 */ lbu $s0, 0x1e5($sp) -/* 10C4BC 7F0D798C 014C7026 */ xor $t6, $t2, $t4 -/* 10C4C0 7F0D7990 00084900 */ sll $t1, $t0, 4 -/* 10C4C4 7F0D7994 31CF0080 */ andi $t7, $t6, 0x80 -/* 10C4C8 7F0D7998 01F94024 */ and $t0, $t7, $t9 -/* 10C4CC 7F0D799C 01A9C025 */ or $t8, $t5, $t1 -/* 10C4D0 7F0D79A0 00086943 */ sra $t5, $t0, 5 -/* 10C4D4 7F0D79A4 2E0A0001 */ sltiu $t2, $s0, 1 -/* 10C4D8 7F0D79A8 000A7180 */ sll $t6, $t2, 6 -/* 10C4DC 7F0D79AC 030D4825 */ or $t1, $t8, $t5 -/* 10C4E0 7F0D79B0 012E8825 */ or $s1, $t1, $t6 -/* 10C4E4 7F0D79B4 322B00FF */ andi $t3, $s1, 0xff -/* 10C4E8 7F0D79B8 01608825 */ move $s1, $t3 -/* 10C4EC 7F0D79BC AFAA0048 */ sw $t2, 0x48($sp) -/* 10C4F0 7F0D79C0 10002B8E */ b .L7F0E27FC -/* 10C4F4 7F0D79C4 A3B501E3 */ sb $s5, 0x1e3($sp) -spectrum_op_84: -/* 10C4F8 7F0D79C8 8FAF028C */ lw $t7, 0x28c($sp) -/* 10C4FC 7F0D79CC 93A80287 */ lbu $t0, 0x287($sp) -/* 10C500 7F0D79D0 93B80287 */ lbu $t8, 0x287($sp) -/* 10C504 7F0D79D4 25F90004 */ addiu $t9, $t7, 4 -/* 10C508 7F0D79D8 15000003 */ bnez $t0, .L7F0D79E8 -/* 10C50C 7F0D79DC AFB9028C */ sw $t9, 0x28c($sp) -/* 10C510 7F0D79E0 1000000C */ b .L7F0D7A14 -/* 10C514 7F0D79E4 A3B601DF */ sb $s6, 0x1df($sp) -.L7F0D79E8: -/* 10C518 7F0D79E8 24010001 */ li $at, 1 -/* 10C51C 7F0D79EC 17010005 */ bne $t8, $at, .L7F0D7A04 -/* 10C520 7F0D79F0 97AA0294 */ lhu $t2, 0x294($sp) -/* 10C524 7F0D79F4 97AD0296 */ lhu $t5, 0x296($sp) -/* 10C528 7F0D79F8 000D4A03 */ sra $t1, $t5, 8 -/* 10C52C 7F0D79FC 10000003 */ b .L7F0D7A0C -/* 10C530 7F0D7A00 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D7A04: -/* 10C534 7F0D7A04 000A6203 */ sra $t4, $t2, 8 -/* 10C538 7F0D7A08 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D7A0C: -/* 10C53C 7F0D7A0C 8FAE0048 */ lw $t6, 0x48($sp) -/* 10C540 7F0D7A10 A3AE01DF */ sb $t6, 0x1df($sp) -.L7F0D7A14: -/* 10C544 7F0D7A14 93AB01DF */ lbu $t3, 0x1df($sp) -/* 10C548 7F0D7A18 3209000F */ andi $t1, $s0, 0xf -/* 10C54C 7F0D7A1C 2401000F */ li $at, 15 -/* 10C550 7F0D7A20 020BC821 */ addu $t9, $s0, $t3 -/* 10C554 7F0D7A24 332800A8 */ andi $t0, $t9, 0xa8 -/* 10C558 7F0D7A28 0019C203 */ sra $t8, $t9, 8 -/* 10C55C 7F0D7A2C 316A000F */ andi $t2, $t3, 0xf -/* 10C560 7F0D7A30 012A6021 */ addu $t4, $t1, $t2 -/* 10C564 7F0D7A34 01186825 */ or $t5, $t0, $t8 -/* 10C568 7F0D7A38 0200C027 */ not $t8, $s0 -/* 10C56C 7F0D7A3C 002C702A */ slt $t6, $at, $t4 -/* 10C570 7F0D7A40 03306026 */ xor $t4, $t9, $s0 -/* 10C574 7F0D7A44 A7B901E0 */ sh $t9, 0x1e0($sp) -/* 10C578 7F0D7A48 93B001E1 */ lbu $s0, 0x1e1($sp) -/* 10C57C 7F0D7A4C 000E7900 */ sll $t7, $t6, 4 -/* 10C580 7F0D7A50 030B4826 */ xor $t1, $t8, $t3 -/* 10C584 7F0D7A54 312A0080 */ andi $t2, $t1, 0x80 -/* 10C588 7F0D7A58 014C7024 */ and $t6, $t2, $t4 -/* 10C58C 7F0D7A5C 01AF4025 */ or $t0, $t5, $t7 -/* 10C590 7F0D7A60 000E6943 */ sra $t5, $t6, 5 -/* 10C594 7F0D7A64 2E180001 */ sltiu $t8, $s0, 1 -/* 10C598 7F0D7A68 00184980 */ sll $t1, $t8, 6 -/* 10C59C 7F0D7A6C 010D7825 */ or $t7, $t0, $t5 -/* 10C5A0 7F0D7A70 01E98825 */ or $s1, $t7, $t1 -/* 10C5A4 7F0D7A74 323900FF */ andi $t9, $s1, 0xff -/* 10C5A8 7F0D7A78 03208825 */ move $s1, $t9 -/* 10C5AC 7F0D7A7C 10002B5F */ b .L7F0E27FC -/* 10C5B0 7F0D7A80 AFB80048 */ sw $t8, 0x48($sp) -spectrum_op_85: -/* 10C5B4 7F0D7A84 8FAA028C */ lw $t2, 0x28c($sp) -/* 10C5B8 7F0D7A88 93AE0287 */ lbu $t6, 0x287($sp) -/* 10C5BC 7F0D7A8C 93A80287 */ lbu $t0, 0x287($sp) -/* 10C5C0 7F0D7A90 254C0004 */ addiu $t4, $t2, 4 -/* 10C5C4 7F0D7A94 15C00003 */ bnez $t6, .L7F0D7AA4 -/* 10C5C8 7F0D7A98 AFAC028C */ sw $t4, 0x28c($sp) -/* 10C5CC 7F0D7A9C 1000000C */ b .L7F0D7AD0 -/* 10C5D0 7F0D7AA0 A3B701DB */ sb $s7, 0x1db($sp) -.L7F0D7AA4: -/* 10C5D4 7F0D7AA4 24010001 */ li $at, 1 -/* 10C5D8 7F0D7AA8 15010005 */ bne $t0, $at, .L7F0D7AC0 -/* 10C5DC 7F0D7AAC 97B80294 */ lhu $t8, 0x294($sp) -/* 10C5E0 7F0D7AB0 97AD0296 */ lhu $t5, 0x296($sp) -/* 10C5E4 7F0D7AB4 31AF00FF */ andi $t7, $t5, 0xff -/* 10C5E8 7F0D7AB8 10000003 */ b .L7F0D7AC8 -/* 10C5EC 7F0D7ABC AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D7AC0: -/* 10C5F0 7F0D7AC0 330B00FF */ andi $t3, $t8, 0xff -/* 10C5F4 7F0D7AC4 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D7AC8: -/* 10C5F8 7F0D7AC8 8FA90048 */ lw $t1, 0x48($sp) -/* 10C5FC 7F0D7ACC A3A901DB */ sb $t1, 0x1db($sp) -.L7F0D7AD0: -/* 10C600 7F0D7AD0 93B901DB */ lbu $t9, 0x1db($sp) -/* 10C604 7F0D7AD4 320F000F */ andi $t7, $s0, 0xf -/* 10C608 7F0D7AD8 2401000F */ li $at, 15 -/* 10C60C 7F0D7ADC 02196021 */ addu $t4, $s0, $t9 -/* 10C610 7F0D7AE0 318E00A8 */ andi $t6, $t4, 0xa8 -/* 10C614 7F0D7AE4 000C4203 */ sra $t0, $t4, 8 -/* 10C618 7F0D7AE8 3338000F */ andi $t8, $t9, 0xf -/* 10C61C 7F0D7AEC 01F85821 */ addu $t3, $t7, $t8 -/* 10C620 7F0D7AF0 01C86825 */ or $t5, $t6, $t0 -/* 10C624 7F0D7AF4 02004027 */ not $t0, $s0 -/* 10C628 7F0D7AF8 002B482A */ slt $t1, $at, $t3 -/* 10C62C 7F0D7AFC 01905826 */ xor $t3, $t4, $s0 -/* 10C630 7F0D7B00 A7AC01DC */ sh $t4, 0x1dc($sp) -/* 10C634 7F0D7B04 93B001DD */ lbu $s0, 0x1dd($sp) -/* 10C638 7F0D7B08 00095100 */ sll $t2, $t1, 4 -/* 10C63C 7F0D7B0C 01197826 */ xor $t7, $t0, $t9 -/* 10C640 7F0D7B10 31F80080 */ andi $t8, $t7, 0x80 -/* 10C644 7F0D7B14 030B4824 */ and $t1, $t8, $t3 -/* 10C648 7F0D7B18 01AA7025 */ or $t6, $t5, $t2 -/* 10C64C 7F0D7B1C 00096943 */ sra $t5, $t1, 5 -/* 10C650 7F0D7B20 2E080001 */ sltiu $t0, $s0, 1 -/* 10C654 7F0D7B24 00087980 */ sll $t7, $t0, 6 -/* 10C658 7F0D7B28 01CD5025 */ or $t2, $t6, $t5 -/* 10C65C 7F0D7B2C 014F8825 */ or $s1, $t2, $t7 -/* 10C660 7F0D7B30 322C00FF */ andi $t4, $s1, 0xff -/* 10C664 7F0D7B34 01808825 */ move $s1, $t4 -/* 10C668 7F0D7B38 10002B30 */ b .L7F0E27FC -/* 10C66C 7F0D7B3C AFA80048 */ sw $t0, 0x48($sp) -spectrum_op_86: -/* 10C670 7F0D7B40 8FB8028C */ lw $t8, 0x28c($sp) -/* 10C674 7F0D7B44 93A90287 */ lbu $t1, 0x287($sp) -/* 10C678 7F0D7B48 00167200 */ sll $t6, $s6, 8 -/* 10C67C 7F0D7B4C 270B0007 */ addiu $t3, $t8, 7 -/* 10C680 7F0D7B50 15200004 */ bnez $t1, .L7F0D7B64 -/* 10C684 7F0D7B54 AFAB028C */ sw $t3, 0x28c($sp) -/* 10C688 7F0D7B58 01D76825 */ or $t5, $t6, $s7 -/* 10C68C 7F0D7B5C 10000016 */ b .L7F0D7BB8 -/* 10C690 7F0D7B60 A7AD01D8 */ sh $t5, 0x1d8($sp) -.L7F0D7B64: -/* 10C694 7F0D7B64 8FAA028C */ lw $t2, 0x28c($sp) -/* 10C698 7F0D7B68 93B90287 */ lbu $t9, 0x287($sp) -/* 10C69C 7F0D7B6C 24010001 */ li $at, 1 -/* 10C6A0 7F0D7B70 25480008 */ addiu $t0, $t2, 8 -/* 10C6A4 7F0D7B74 17210004 */ bne $t9, $at, .L7F0D7B88 -/* 10C6A8 7F0D7B78 AFA8028C */ sw $t0, 0x28c($sp) -/* 10C6AC 7F0D7B7C 97AF0296 */ lhu $t7, 0x296($sp) -/* 10C6B0 7F0D7B80 10000003 */ b .L7F0D7B90 -/* 10C6B4 7F0D7B84 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D7B88: -/* 10C6B8 7F0D7B88 97AC0294 */ lhu $t4, 0x294($sp) -/* 10C6BC 7F0D7B8C AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D7B90: -/* 10C6C0 7F0D7B90 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10C6C4 7F0D7B94 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10C6C8 7F0D7B98 97B80298 */ lhu $t8, 0x298($sp) -/* 10C6CC 7F0D7B9C 8FAD0048 */ lw $t5, 0x48($sp) -/* 10C6D0 7F0D7BA0 030B4821 */ addu $t1, $t8, $t3 -/* 10C6D4 7F0D7BA4 812E0000 */ lb $t6, ($t1) -/* 10C6D8 7F0D7BA8 27080001 */ addiu $t0, $t8, 1 -/* 10C6DC 7F0D7BAC A7A80298 */ sh $t0, 0x298($sp) -/* 10C6E0 7F0D7BB0 01CD5021 */ addu $t2, $t6, $t5 -/* 10C6E4 7F0D7BB4 A7AA01D8 */ sh $t2, 0x1d8($sp) -.L7F0D7BB8: -/* 10C6E8 7F0D7BB8 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10C6EC 7F0D7BBC 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10C6F0 7F0D7BC0 97B901D8 */ lhu $t9, 0x1d8($sp) -/* 10C6F4 7F0D7BC4 2401000F */ li $at, 15 -/* 10C6F8 7F0D7BC8 032F6021 */ addu $t4, $t9, $t7 -/* 10C6FC 7F0D7BCC 918B0000 */ lbu $t3, ($t4) -/* 10C700 7F0D7BD0 3219000F */ andi $t9, $s0, 0xf -/* 10C704 7F0D7BD4 020B7021 */ addu $t6, $s0, $t3 -/* 10C708 7F0D7BD8 31CD00A8 */ andi $t5, $t6, 0xa8 -/* 10C70C 7F0D7BDC 000E5203 */ sra $t2, $t6, 8 -/* 10C710 7F0D7BE0 3168000F */ andi $t0, $t3, 0xf -/* 10C714 7F0D7BE4 03287821 */ addu $t7, $t9, $t0 -/* 10C718 7F0D7BE8 01AAC025 */ or $t8, $t5, $t2 -/* 10C71C 7F0D7BEC 02005027 */ not $t2, $s0 -/* 10C720 7F0D7BF0 002F602A */ slt $t4, $at, $t7 -/* 10C724 7F0D7BF4 01D07826 */ xor $t7, $t6, $s0 -/* 10C728 7F0D7BF8 A7AE01D6 */ sh $t6, 0x1d6($sp) -/* 10C72C 7F0D7BFC 93B001D7 */ lbu $s0, 0x1d7($sp) -/* 10C730 7F0D7C00 000C4900 */ sll $t1, $t4, 4 -/* 10C734 7F0D7C04 014BC826 */ xor $t9, $t2, $t3 -/* 10C738 7F0D7C08 33280080 */ andi $t0, $t9, 0x80 -/* 10C73C 7F0D7C0C 010F6024 */ and $t4, $t0, $t7 -/* 10C740 7F0D7C10 03096825 */ or $t5, $t8, $t1 -/* 10C744 7F0D7C14 000CC143 */ sra $t8, $t4, 5 -/* 10C748 7F0D7C18 2E0A0001 */ sltiu $t2, $s0, 1 -/* 10C74C 7F0D7C1C 000AC980 */ sll $t9, $t2, 6 -/* 10C750 7F0D7C20 01B84825 */ or $t1, $t5, $t8 -/* 10C754 7F0D7C24 01398825 */ or $s1, $t1, $t9 -/* 10C758 7F0D7C28 322E00FF */ andi $t6, $s1, 0xff -/* 10C75C 7F0D7C2C 01C08825 */ move $s1, $t6 -/* 10C760 7F0D7C30 AFAA0048 */ sw $t2, 0x48($sp) -/* 10C764 7F0D7C34 10002AF1 */ b .L7F0E27FC -/* 10C768 7F0D7C38 A3AB01D5 */ sb $t3, 0x1d5($sp) -spectrum_op_87: -/* 10C76C 7F0D7C3C 8FA8028C */ lw $t0, 0x28c($sp) -/* 10C770 7F0D7C40 320C00FF */ andi $t4, $s0, 0xff -/* 10C774 7F0D7C44 020CC021 */ addu $t8, $s0, $t4 -/* 10C778 7F0D7C48 250F0004 */ addiu $t7, $t0, 4 -/* 10C77C 7F0D7C4C 330900A8 */ andi $t1, $t8, 0xa8 -/* 10C780 7F0D7C50 00185203 */ sra $t2, $t8, 8 -/* 10C784 7F0D7C54 318E000F */ andi $t6, $t4, 0xf -/* 10C788 7F0D7C58 3219000F */ andi $t9, $s0, 0xf -/* 10C78C 7F0D7C5C AFAF028C */ sw $t7, 0x28c($sp) -/* 10C790 7F0D7C60 032E4021 */ addu $t0, $t9, $t6 -/* 10C794 7F0D7C64 012A5825 */ or $t3, $t1, $t2 -/* 10C798 7F0D7C68 2401000F */ li $at, 15 -/* 10C79C 7F0D7C6C 0028782A */ slt $t7, $at, $t0 -/* 10C7A0 7F0D7C70 02005027 */ not $t2, $s0 -/* 10C7A4 7F0D7C74 03104026 */ xor $t0, $t8, $s0 -/* 10C7A8 7F0D7C78 A7B801D2 */ sh $t8, 0x1d2($sp) -/* 10C7AC 7F0D7C7C A3B001D1 */ sb $s0, 0x1d1($sp) -/* 10C7B0 7F0D7C80 93B001D3 */ lbu $s0, 0x1d3($sp) -/* 10C7B4 7F0D7C84 014CC826 */ xor $t9, $t2, $t4 -/* 10C7B8 7F0D7C88 000F6900 */ sll $t5, $t7, 4 -/* 10C7BC 7F0D7C8C 332E0080 */ andi $t6, $t9, 0x80 -/* 10C7C0 7F0D7C90 01C87824 */ and $t7, $t6, $t0 -/* 10C7C4 7F0D7C94 016D4825 */ or $t1, $t3, $t5 -/* 10C7C8 7F0D7C98 000F5943 */ sra $t3, $t7, 5 -/* 10C7CC 7F0D7C9C 2E0A0001 */ sltiu $t2, $s0, 1 -/* 10C7D0 7F0D7CA0 000AC980 */ sll $t9, $t2, 6 -/* 10C7D4 7F0D7CA4 012B6825 */ or $t5, $t1, $t3 -/* 10C7D8 7F0D7CA8 01B98825 */ or $s1, $t5, $t9 -/* 10C7DC 7F0D7CAC 323800FF */ andi $t8, $s1, 0xff -/* 10C7E0 7F0D7CB0 03008825 */ move $s1, $t8 -/* 10C7E4 7F0D7CB4 10002AD1 */ b .L7F0E27FC -/* 10C7E8 7F0D7CB8 AFAA0048 */ sw $t2, 0x48($sp) -spectrum_op_88: -/* 10C7EC 7F0D7CBC 8FAE028C */ lw $t6, 0x28c($sp) -/* 10C7F0 7F0D7CC0 324F00FF */ andi $t7, $s2, 0xff -/* 10C7F4 7F0D7CC4 020F4821 */ addu $t1, $s0, $t7 -/* 10C7F8 7F0D7CC8 322B0001 */ andi $t3, $s1, 1 -/* 10C7FC 7F0D7CCC 012B6821 */ addu $t5, $t1, $t3 -/* 10C800 7F0D7CD0 25C80004 */ addiu $t0, $t6, 4 -/* 10C804 7F0D7CD4 AFA8028C */ sw $t0, 0x28c($sp) -/* 10C808 7F0D7CD8 3208000F */ andi $t0, $s0, 0xf -/* 10C80C 7F0D7CDC 31E9000F */ andi $t1, $t7, 0xf -/* 10C810 7F0D7CE0 01095821 */ addu $t3, $t0, $t1 -/* 10C814 7F0D7CE4 31AC00A8 */ andi $t4, $t5, 0xa8 -/* 10C818 7F0D7CE8 000DC203 */ sra $t8, $t5, 8 -/* 10C81C 7F0D7CEC 322A0001 */ andi $t2, $s1, 1 -/* 10C820 7F0D7CF0 016AC821 */ addu $t9, $t3, $t2 -/* 10C824 7F0D7CF4 01987025 */ or $t6, $t4, $t8 -/* 10C828 7F0D7CF8 2401000F */ li $at, 15 -/* 10C82C 7F0D7CFC 0039602A */ slt $t4, $at, $t9 -/* 10C830 7F0D7D00 000CC100 */ sll $t8, $t4, 4 -/* 10C834 7F0D7D04 01A0C825 */ move $t9, $t5 -/* 10C838 7F0D7D08 02004827 */ not $t1, $s0 -/* 10C83C 7F0D7D0C 03306026 */ xor $t4, $t9, $s0 -/* 10C840 7F0D7D10 A7AD01CE */ sh $t5, 0x1ce($sp) -/* 10C844 7F0D7D14 93B001CF */ lbu $s0, 0x1cf($sp) -/* 10C848 7F0D7D18 012F5826 */ xor $t3, $t1, $t7 -/* 10C84C 7F0D7D1C 316A0080 */ andi $t2, $t3, 0x80 -/* 10C850 7F0D7D20 01D84025 */ or $t0, $t6, $t8 -/* 10C854 7F0D7D24 014C7024 */ and $t6, $t2, $t4 -/* 10C858 7F0D7D28 000EC143 */ sra $t8, $t6, 5 -/* 10C85C 7F0D7D2C 2E0F0001 */ sltiu $t7, $s0, 1 -/* 10C860 7F0D7D30 000F6980 */ sll $t5, $t7, 6 -/* 10C864 7F0D7D34 01184825 */ or $t1, $t0, $t8 -/* 10C868 7F0D7D38 012D8825 */ or $s1, $t1, $t5 -/* 10C86C 7F0D7D3C 323900FF */ andi $t9, $s1, 0xff -/* 10C870 7F0D7D40 03208825 */ move $s1, $t9 -/* 10C874 7F0D7D44 AFAF0048 */ sw $t7, 0x48($sp) -/* 10C878 7F0D7D48 10002AAC */ b .L7F0E27FC -/* 10C87C 7F0D7D4C A3B201CD */ sb $s2, 0x1cd($sp) -spectrum_op_89: -/* 10C880 7F0D7D50 8FAA028C */ lw $t2, 0x28c($sp) -/* 10C884 7F0D7D54 326E00FF */ andi $t6, $s3, 0xff -/* 10C888 7F0D7D58 020E4021 */ addu $t0, $s0, $t6 -/* 10C88C 7F0D7D5C 32380001 */ andi $t8, $s1, 1 -/* 10C890 7F0D7D60 01184821 */ addu $t1, $t0, $t8 -/* 10C894 7F0D7D64 254C0004 */ addiu $t4, $t2, 4 -/* 10C898 7F0D7D68 AFAC028C */ sw $t4, 0x28c($sp) -/* 10C89C 7F0D7D6C 320C000F */ andi $t4, $s0, 0xf -/* 10C8A0 7F0D7D70 31C8000F */ andi $t0, $t6, 0xf -/* 10C8A4 7F0D7D74 0188C021 */ addu $t8, $t4, $t0 -/* 10C8A8 7F0D7D78 312B00A8 */ andi $t3, $t1, 0xa8 -/* 10C8AC 7F0D7D7C 0009CA03 */ sra $t9, $t1, 8 -/* 10C8B0 7F0D7D80 322F0001 */ andi $t7, $s1, 1 -/* 10C8B4 7F0D7D84 030F6821 */ addu $t5, $t8, $t7 -/* 10C8B8 7F0D7D88 01795025 */ or $t2, $t3, $t9 -/* 10C8BC 7F0D7D8C 2401000F */ li $at, 15 -/* 10C8C0 7F0D7D90 002D582A */ slt $t3, $at, $t5 -/* 10C8C4 7F0D7D94 000BC900 */ sll $t9, $t3, 4 -/* 10C8C8 7F0D7D98 01206825 */ move $t5, $t1 -/* 10C8CC 7F0D7D9C 02004027 */ not $t0, $s0 -/* 10C8D0 7F0D7DA0 01B05826 */ xor $t3, $t5, $s0 -/* 10C8D4 7F0D7DA4 A7A901CA */ sh $t1, 0x1ca($sp) -/* 10C8D8 7F0D7DA8 93B001CB */ lbu $s0, 0x1cb($sp) -/* 10C8DC 7F0D7DAC 010EC026 */ xor $t8, $t0, $t6 -/* 10C8E0 7F0D7DB0 330F0080 */ andi $t7, $t8, 0x80 -/* 10C8E4 7F0D7DB4 01596025 */ or $t4, $t2, $t9 -/* 10C8E8 7F0D7DB8 01EB5024 */ and $t2, $t7, $t3 -/* 10C8EC 7F0D7DBC 000AC943 */ sra $t9, $t2, 5 -/* 10C8F0 7F0D7DC0 2E0E0001 */ sltiu $t6, $s0, 1 -/* 10C8F4 7F0D7DC4 000E4980 */ sll $t1, $t6, 6 -/* 10C8F8 7F0D7DC8 01994025 */ or $t0, $t4, $t9 -/* 10C8FC 7F0D7DCC 01098825 */ or $s1, $t0, $t1 -/* 10C900 7F0D7DD0 322D00FF */ andi $t5, $s1, 0xff -/* 10C904 7F0D7DD4 01A08825 */ move $s1, $t5 -/* 10C908 7F0D7DD8 AFAE0048 */ sw $t6, 0x48($sp) -/* 10C90C 7F0D7DDC 10002A87 */ b .L7F0E27FC -/* 10C910 7F0D7DE0 A3B301C9 */ sb $s3, 0x1c9($sp) -spectrum_op_8A: -/* 10C914 7F0D7DE4 8FAF028C */ lw $t7, 0x28c($sp) -/* 10C918 7F0D7DE8 328A00FF */ andi $t2, $s4, 0xff -/* 10C91C 7F0D7DEC 020A6021 */ addu $t4, $s0, $t2 -/* 10C920 7F0D7DF0 32390001 */ andi $t9, $s1, 1 -/* 10C924 7F0D7DF4 01994021 */ addu $t0, $t4, $t9 -/* 10C928 7F0D7DF8 25EB0004 */ addiu $t3, $t7, 4 -/* 10C92C 7F0D7DFC AFAB028C */ sw $t3, 0x28c($sp) -/* 10C930 7F0D7E00 320B000F */ andi $t3, $s0, 0xf -/* 10C934 7F0D7E04 314C000F */ andi $t4, $t2, 0xf -/* 10C938 7F0D7E08 016CC821 */ addu $t9, $t3, $t4 -/* 10C93C 7F0D7E0C 311800A8 */ andi $t8, $t0, 0xa8 -/* 10C940 7F0D7E10 00086A03 */ sra $t5, $t0, 8 -/* 10C944 7F0D7E14 322E0001 */ andi $t6, $s1, 1 -/* 10C948 7F0D7E18 032E4821 */ addu $t1, $t9, $t6 -/* 10C94C 7F0D7E1C 030D7825 */ or $t7, $t8, $t5 -/* 10C950 7F0D7E20 2401000F */ li $at, 15 -/* 10C954 7F0D7E24 0029C02A */ slt $t8, $at, $t1 -/* 10C958 7F0D7E28 00186900 */ sll $t5, $t8, 4 -/* 10C95C 7F0D7E2C 01004825 */ move $t1, $t0 -/* 10C960 7F0D7E30 02006027 */ not $t4, $s0 -/* 10C964 7F0D7E34 0130C026 */ xor $t8, $t1, $s0 -/* 10C968 7F0D7E38 A7A801C6 */ sh $t0, 0x1c6($sp) -/* 10C96C 7F0D7E3C 93B001C7 */ lbu $s0, 0x1c7($sp) -/* 10C970 7F0D7E40 018AC826 */ xor $t9, $t4, $t2 -/* 10C974 7F0D7E44 332E0080 */ andi $t6, $t9, 0x80 -/* 10C978 7F0D7E48 01ED5825 */ or $t3, $t7, $t5 -/* 10C97C 7F0D7E4C 01D87824 */ and $t7, $t6, $t8 -/* 10C980 7F0D7E50 000F6943 */ sra $t5, $t7, 5 -/* 10C984 7F0D7E54 2E0A0001 */ sltiu $t2, $s0, 1 -/* 10C988 7F0D7E58 000A4180 */ sll $t0, $t2, 6 -/* 10C98C 7F0D7E5C 016D6025 */ or $t4, $t3, $t5 -/* 10C990 7F0D7E60 01888825 */ or $s1, $t4, $t0 -/* 10C994 7F0D7E64 322900FF */ andi $t1, $s1, 0xff -/* 10C998 7F0D7E68 01208825 */ move $s1, $t1 -/* 10C99C 7F0D7E6C AFAA0048 */ sw $t2, 0x48($sp) -/* 10C9A0 7F0D7E70 10002A62 */ b .L7F0E27FC -/* 10C9A4 7F0D7E74 A3B401C5 */ sb $s4, 0x1c5($sp) -spectrum_op_8B: -/* 10C9A8 7F0D7E78 8FAE028C */ lw $t6, 0x28c($sp) -/* 10C9AC 7F0D7E7C 32AF00FF */ andi $t7, $s5, 0xff -/* 10C9B0 7F0D7E80 020F5821 */ addu $t3, $s0, $t7 -/* 10C9B4 7F0D7E84 322D0001 */ andi $t5, $s1, 1 -/* 10C9B8 7F0D7E88 016D6021 */ addu $t4, $t3, $t5 -/* 10C9BC 7F0D7E8C 25D80004 */ addiu $t8, $t6, 4 -/* 10C9C0 7F0D7E90 AFB8028C */ sw $t8, 0x28c($sp) -/* 10C9C4 7F0D7E94 3218000F */ andi $t8, $s0, 0xf -/* 10C9C8 7F0D7E98 31EB000F */ andi $t3, $t7, 0xf -/* 10C9CC 7F0D7E9C 030B6821 */ addu $t5, $t8, $t3 -/* 10C9D0 7F0D7EA0 319900A8 */ andi $t9, $t4, 0xa8 -/* 10C9D4 7F0D7EA4 000C4A03 */ sra $t1, $t4, 8 -/* 10C9D8 7F0D7EA8 322A0001 */ andi $t2, $s1, 1 -/* 10C9DC 7F0D7EAC 01AA4021 */ addu $t0, $t5, $t2 -/* 10C9E0 7F0D7EB0 03297025 */ or $t6, $t9, $t1 -/* 10C9E4 7F0D7EB4 2401000F */ li $at, 15 -/* 10C9E8 7F0D7EB8 0028C82A */ slt $t9, $at, $t0 -/* 10C9EC 7F0D7EBC 00194900 */ sll $t1, $t9, 4 -/* 10C9F0 7F0D7EC0 01804025 */ move $t0, $t4 -/* 10C9F4 7F0D7EC4 02005827 */ not $t3, $s0 -/* 10C9F8 7F0D7EC8 0110C826 */ xor $t9, $t0, $s0 -/* 10C9FC 7F0D7ECC A7AC01C2 */ sh $t4, 0x1c2($sp) -/* 10CA00 7F0D7ED0 93B001C3 */ lbu $s0, 0x1c3($sp) -/* 10CA04 7F0D7ED4 016F6826 */ xor $t5, $t3, $t7 -/* 10CA08 7F0D7ED8 31AA0080 */ andi $t2, $t5, 0x80 -/* 10CA0C 7F0D7EDC 01C9C025 */ or $t8, $t6, $t1 -/* 10CA10 7F0D7EE0 01597024 */ and $t6, $t2, $t9 -/* 10CA14 7F0D7EE4 000E4943 */ sra $t1, $t6, 5 -/* 10CA18 7F0D7EE8 2E0F0001 */ sltiu $t7, $s0, 1 -/* 10CA1C 7F0D7EEC 000F6180 */ sll $t4, $t7, 6 -/* 10CA20 7F0D7EF0 03095825 */ or $t3, $t8, $t1 -/* 10CA24 7F0D7EF4 016C8825 */ or $s1, $t3, $t4 -/* 10CA28 7F0D7EF8 322800FF */ andi $t0, $s1, 0xff -/* 10CA2C 7F0D7EFC 01008825 */ move $s1, $t0 -/* 10CA30 7F0D7F00 AFAF0048 */ sw $t7, 0x48($sp) -/* 10CA34 7F0D7F04 10002A3D */ b .L7F0E27FC -/* 10CA38 7F0D7F08 A3B501C1 */ sb $s5, 0x1c1($sp) -spectrum_op_8C: -/* 10CA3C 7F0D7F0C 8FAA028C */ lw $t2, 0x28c($sp) -/* 10CA40 7F0D7F10 93AE0287 */ lbu $t6, 0x287($sp) -/* 10CA44 7F0D7F14 93B80287 */ lbu $t8, 0x287($sp) -/* 10CA48 7F0D7F18 25590004 */ addiu $t9, $t2, 4 -/* 10CA4C 7F0D7F1C 15C00003 */ bnez $t6, .L7F0D7F2C -/* 10CA50 7F0D7F20 AFB9028C */ sw $t9, 0x28c($sp) -/* 10CA54 7F0D7F24 1000000C */ b .L7F0D7F58 -/* 10CA58 7F0D7F28 A3B601BD */ sb $s6, 0x1bd($sp) -.L7F0D7F2C: -/* 10CA5C 7F0D7F2C 24010001 */ li $at, 1 -/* 10CA60 7F0D7F30 17010005 */ bne $t8, $at, .L7F0D7F48 -/* 10CA64 7F0D7F34 97AF0294 */ lhu $t7, 0x294($sp) -/* 10CA68 7F0D7F38 97A90296 */ lhu $t1, 0x296($sp) -/* 10CA6C 7F0D7F3C 00095A03 */ sra $t3, $t1, 8 -/* 10CA70 7F0D7F40 10000003 */ b .L7F0D7F50 -/* 10CA74 7F0D7F44 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D7F48: -/* 10CA78 7F0D7F48 000F6A03 */ sra $t5, $t7, 8 -/* 10CA7C 7F0D7F4C AFAD0048 */ sw $t5, 0x48($sp) -.L7F0D7F50: -/* 10CA80 7F0D7F50 8FAC0048 */ lw $t4, 0x48($sp) -/* 10CA84 7F0D7F54 A3AC01BD */ sb $t4, 0x1bd($sp) -.L7F0D7F58: -/* 10CA88 7F0D7F58 93A801BD */ lbu $t0, 0x1bd($sp) -/* 10CA8C 7F0D7F5C 32390001 */ andi $t9, $s1, 1 -/* 10CA90 7F0D7F60 320C000F */ andi $t4, $s0, 0xf -/* 10CA94 7F0D7F64 02085021 */ addu $t2, $s0, $t0 -/* 10CA98 7F0D7F68 01597021 */ addu $t6, $t2, $t9 -/* 10CA9C 7F0D7F6C 310A000F */ andi $t2, $t0, 0xf -/* 10CAA0 7F0D7F70 018AC821 */ addu $t9, $t4, $t2 -/* 10CAA4 7F0D7F74 31C900A8 */ andi $t1, $t6, 0xa8 -/* 10CAA8 7F0D7F78 000E7A03 */ sra $t7, $t6, 8 -/* 10CAAC 7F0D7F7C 32380001 */ andi $t8, $s1, 1 -/* 10CAB0 7F0D7F80 03385821 */ addu $t3, $t9, $t8 -/* 10CAB4 7F0D7F84 012F6825 */ or $t5, $t1, $t7 -/* 10CAB8 7F0D7F88 2401000F */ li $at, 15 -/* 10CABC 7F0D7F8C 002B482A */ slt $t1, $at, $t3 -/* 10CAC0 7F0D7F90 00097900 */ sll $t7, $t1, 4 -/* 10CAC4 7F0D7F94 01C05825 */ move $t3, $t6 -/* 10CAC8 7F0D7F98 02005027 */ not $t2, $s0 -/* 10CACC 7F0D7F9C 01704826 */ xor $t1, $t3, $s0 -/* 10CAD0 7F0D7FA0 A7AE01BE */ sh $t6, 0x1be($sp) -/* 10CAD4 7F0D7FA4 93B001BF */ lbu $s0, 0x1bf($sp) -/* 10CAD8 7F0D7FA8 0148C826 */ xor $t9, $t2, $t0 -/* 10CADC 7F0D7FAC 33380080 */ andi $t8, $t9, 0x80 -/* 10CAE0 7F0D7FB0 01AF6025 */ or $t4, $t5, $t7 -/* 10CAE4 7F0D7FB4 03096824 */ and $t5, $t8, $t1 -/* 10CAE8 7F0D7FB8 000D7943 */ sra $t7, $t5, 5 -/* 10CAEC 7F0D7FBC 2E080001 */ sltiu $t0, $s0, 1 -/* 10CAF0 7F0D7FC0 00087180 */ sll $t6, $t0, 6 -/* 10CAF4 7F0D7FC4 018F5025 */ or $t2, $t4, $t7 -/* 10CAF8 7F0D7FC8 014E8825 */ or $s1, $t2, $t6 -/* 10CAFC 7F0D7FCC 322B00FF */ andi $t3, $s1, 0xff -/* 10CB00 7F0D7FD0 01608825 */ move $s1, $t3 -/* 10CB04 7F0D7FD4 10002A09 */ b .L7F0E27FC -/* 10CB08 7F0D7FD8 AFA80048 */ sw $t0, 0x48($sp) -spectrum_op_8D: -/* 10CB0C 7F0D7FDC 8FB8028C */ lw $t8, 0x28c($sp) -/* 10CB10 7F0D7FE0 93AD0287 */ lbu $t5, 0x287($sp) -/* 10CB14 7F0D7FE4 93AC0287 */ lbu $t4, 0x287($sp) -/* 10CB18 7F0D7FE8 27090004 */ addiu $t1, $t8, 4 -/* 10CB1C 7F0D7FEC 15A00003 */ bnez $t5, .L7F0D7FFC -/* 10CB20 7F0D7FF0 AFA9028C */ sw $t1, 0x28c($sp) -/* 10CB24 7F0D7FF4 1000000C */ b .L7F0D8028 -/* 10CB28 7F0D7FF8 A3B701B9 */ sb $s7, 0x1b9($sp) -.L7F0D7FFC: -/* 10CB2C 7F0D7FFC 24010001 */ li $at, 1 -/* 10CB30 7F0D8000 15810005 */ bne $t4, $at, .L7F0D8018 -/* 10CB34 7F0D8004 97A80294 */ lhu $t0, 0x294($sp) -/* 10CB38 7F0D8008 97AF0296 */ lhu $t7, 0x296($sp) -/* 10CB3C 7F0D800C 31EA00FF */ andi $t2, $t7, 0xff -/* 10CB40 7F0D8010 10000003 */ b .L7F0D8020 -/* 10CB44 7F0D8014 AFAA0048 */ sw $t2, 0x48($sp) -.L7F0D8018: -/* 10CB48 7F0D8018 311900FF */ andi $t9, $t0, 0xff -/* 10CB4C 7F0D801C AFB90048 */ sw $t9, 0x48($sp) -.L7F0D8020: -/* 10CB50 7F0D8020 8FAE0048 */ lw $t6, 0x48($sp) -/* 10CB54 7F0D8024 A3AE01B9 */ sb $t6, 0x1b9($sp) -.L7F0D8028: -/* 10CB58 7F0D8028 93AB01B9 */ lbu $t3, 0x1b9($sp) -/* 10CB5C 7F0D802C 32290001 */ andi $t1, $s1, 1 -/* 10CB60 7F0D8030 320E000F */ andi $t6, $s0, 0xf -/* 10CB64 7F0D8034 020BC021 */ addu $t8, $s0, $t3 -/* 10CB68 7F0D8038 03096821 */ addu $t5, $t8, $t1 -/* 10CB6C 7F0D803C 3178000F */ andi $t8, $t3, 0xf -/* 10CB70 7F0D8040 01D84821 */ addu $t1, $t6, $t8 -/* 10CB74 7F0D8044 31AF00A8 */ andi $t7, $t5, 0xa8 -/* 10CB78 7F0D8048 000D4203 */ sra $t0, $t5, 8 -/* 10CB7C 7F0D804C 322C0001 */ andi $t4, $s1, 1 -/* 10CB80 7F0D8050 012C5021 */ addu $t2, $t1, $t4 -/* 10CB84 7F0D8054 01E8C825 */ or $t9, $t7, $t0 -/* 10CB88 7F0D8058 2401000F */ li $at, 15 -/* 10CB8C 7F0D805C 002A782A */ slt $t7, $at, $t2 -/* 10CB90 7F0D8060 000F4100 */ sll $t0, $t7, 4 -/* 10CB94 7F0D8064 01A05025 */ move $t2, $t5 -/* 10CB98 7F0D8068 0200C027 */ not $t8, $s0 -/* 10CB9C 7F0D806C 01507826 */ xor $t7, $t2, $s0 -/* 10CBA0 7F0D8070 A7AD01BA */ sh $t5, 0x1ba($sp) -/* 10CBA4 7F0D8074 93B001BB */ lbu $s0, 0x1bb($sp) -/* 10CBA8 7F0D8078 030B4826 */ xor $t1, $t8, $t3 -/* 10CBAC 7F0D807C 312C0080 */ andi $t4, $t1, 0x80 -/* 10CBB0 7F0D8080 03287025 */ or $t6, $t9, $t0 -/* 10CBB4 7F0D8084 018FC824 */ and $t9, $t4, $t7 -/* 10CBB8 7F0D8088 00194143 */ sra $t0, $t9, 5 -/* 10CBBC 7F0D808C 2E0B0001 */ sltiu $t3, $s0, 1 -/* 10CBC0 7F0D8090 000B6980 */ sll $t5, $t3, 6 -/* 10CBC4 7F0D8094 01C8C025 */ or $t8, $t6, $t0 -/* 10CBC8 7F0D8098 030D8825 */ or $s1, $t8, $t5 -/* 10CBCC 7F0D809C 322A00FF */ andi $t2, $s1, 0xff -/* 10CBD0 7F0D80A0 01408825 */ move $s1, $t2 -/* 10CBD4 7F0D80A4 100029D5 */ b .L7F0E27FC -/* 10CBD8 7F0D80A8 AFAB0048 */ sw $t3, 0x48($sp) -spectrum_op_8E: -/* 10CBDC 7F0D80AC 8FAC028C */ lw $t4, 0x28c($sp) -/* 10CBE0 7F0D80B0 93B90287 */ lbu $t9, 0x287($sp) -/* 10CBE4 7F0D80B4 00167200 */ sll $t6, $s6, 8 -/* 10CBE8 7F0D80B8 258F0007 */ addiu $t7, $t4, 7 -/* 10CBEC 7F0D80BC 17200004 */ bnez $t9, .L7F0D80D0 -/* 10CBF0 7F0D80C0 AFAF028C */ sw $t7, 0x28c($sp) -/* 10CBF4 7F0D80C4 01D74025 */ or $t0, $t6, $s7 -/* 10CBF8 7F0D80C8 10000016 */ b .L7F0D8124 -/* 10CBFC 7F0D80CC A7A801B6 */ sh $t0, 0x1b6($sp) -.L7F0D80D0: -/* 10CC00 7F0D80D0 8FB8028C */ lw $t8, 0x28c($sp) -/* 10CC04 7F0D80D4 93A90287 */ lbu $t1, 0x287($sp) -/* 10CC08 7F0D80D8 24010001 */ li $at, 1 -/* 10CC0C 7F0D80DC 270B0008 */ addiu $t3, $t8, 8 -/* 10CC10 7F0D80E0 15210004 */ bne $t1, $at, .L7F0D80F4 -/* 10CC14 7F0D80E4 AFAB028C */ sw $t3, 0x28c($sp) -/* 10CC18 7F0D80E8 97AD0296 */ lhu $t5, 0x296($sp) -/* 10CC1C 7F0D80EC 10000003 */ b .L7F0D80FC -/* 10CC20 7F0D80F0 AFAD0048 */ sw $t5, 0x48($sp) -.L7F0D80F4: -/* 10CC24 7F0D80F4 97AA0294 */ lhu $t2, 0x294($sp) -/* 10CC28 7F0D80F8 AFAA0048 */ sw $t2, 0x48($sp) -.L7F0D80FC: -/* 10CC2C 7F0D80FC 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10CC30 7F0D8100 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10CC34 7F0D8104 97AC0298 */ lhu $t4, 0x298($sp) -/* 10CC38 7F0D8108 8FA80048 */ lw $t0, 0x48($sp) -/* 10CC3C 7F0D810C 018FC821 */ addu $t9, $t4, $t7 -/* 10CC40 7F0D8110 832E0000 */ lb $t6, ($t9) -/* 10CC44 7F0D8114 258B0001 */ addiu $t3, $t4, 1 -/* 10CC48 7F0D8118 A7AB0298 */ sh $t3, 0x298($sp) -/* 10CC4C 7F0D811C 01C8C021 */ addu $t8, $t6, $t0 -/* 10CC50 7F0D8120 A7B801B6 */ sh $t8, 0x1b6($sp) -.L7F0D8124: -/* 10CC54 7F0D8124 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10CC58 7F0D8128 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10CC5C 7F0D812C 97A901B6 */ lhu $t1, 0x1b6($sp) -/* 10CC60 7F0D8130 322E0001 */ andi $t6, $s1, 1 -/* 10CC64 7F0D8134 32380001 */ andi $t8, $s1, 1 -/* 10CC68 7F0D8138 012D5021 */ addu $t2, $t1, $t5 -/* 10CC6C 7F0D813C 914F0000 */ lbu $t7, ($t2) -/* 10CC70 7F0D8140 2401000F */ li $at, 15 -/* 10CC74 7F0D8144 020FC821 */ addu $t9, $s0, $t7 -/* 10CC78 7F0D8148 032E4021 */ addu $t0, $t9, $t6 -/* 10CC7C 7F0D814C 3219000F */ andi $t9, $s0, 0xf -/* 10CC80 7F0D8150 31EA000F */ andi $t2, $t7, 0xf -/* 10CC84 7F0D8154 032A7021 */ addu $t6, $t9, $t2 -/* 10CC88 7F0D8158 310C00A8 */ andi $t4, $t0, 0xa8 -/* 10CC8C 7F0D815C 00084A03 */ sra $t1, $t0, 8 -/* 10CC90 7F0D8160 01896825 */ or $t5, $t4, $t1 -/* 10CC94 7F0D8164 01D85821 */ addu $t3, $t6, $t8 -/* 10CC98 7F0D8168 002B602A */ slt $t4, $at, $t3 -/* 10CC9C 7F0D816C 000C4900 */ sll $t1, $t4, 4 -/* 10CCA0 7F0D8170 01005825 */ move $t3, $t0 -/* 10CCA4 7F0D8174 02005027 */ not $t2, $s0 -/* 10CCA8 7F0D8178 01706026 */ xor $t4, $t3, $s0 -/* 10CCAC 7F0D817C A7A801B4 */ sh $t0, 0x1b4($sp) -/* 10CCB0 7F0D8180 93B001B5 */ lbu $s0, 0x1b5($sp) -/* 10CCB4 7F0D8184 014F7026 */ xor $t6, $t2, $t7 -/* 10CCB8 7F0D8188 31D80080 */ andi $t8, $t6, 0x80 -/* 10CCBC 7F0D818C 01A9C825 */ or $t9, $t5, $t1 -/* 10CCC0 7F0D8190 030C6824 */ and $t5, $t8, $t4 -/* 10CCC4 7F0D8194 A3AF01B3 */ sb $t7, 0x1b3($sp) -/* 10CCC8 7F0D8198 000D4943 */ sra $t1, $t5, 5 -/* 10CCCC 7F0D819C 2E0F0001 */ sltiu $t7, $s0, 1 -/* 10CCD0 7F0D81A0 000F4180 */ sll $t0, $t7, 6 -/* 10CCD4 7F0D81A4 03295025 */ or $t2, $t9, $t1 -/* 10CCD8 7F0D81A8 01488825 */ or $s1, $t2, $t0 -/* 10CCDC 7F0D81AC 322B00FF */ andi $t3, $s1, 0xff -/* 10CCE0 7F0D81B0 01608825 */ move $s1, $t3 -/* 10CCE4 7F0D81B4 10002991 */ b .L7F0E27FC -/* 10CCE8 7F0D81B8 AFAF0048 */ sw $t7, 0x48($sp) -spectrum_op_8F: -/* 10CCEC 7F0D81BC 8FB8028C */ lw $t8, 0x28c($sp) -/* 10CCF0 7F0D81C0 320D00FF */ andi $t5, $s0, 0xff -/* 10CCF4 7F0D81C4 020DC821 */ addu $t9, $s0, $t5 -/* 10CCF8 7F0D81C8 32290001 */ andi $t1, $s1, 1 -/* 10CCFC 7F0D81CC 03295021 */ addu $t2, $t9, $t1 -/* 10CD00 7F0D81D0 270C0004 */ addiu $t4, $t8, 4 -/* 10CD04 7F0D81D4 AFAC028C */ sw $t4, 0x28c($sp) -/* 10CD08 7F0D81D8 320C000F */ andi $t4, $s0, 0xf -/* 10CD0C 7F0D81DC 31B9000F */ andi $t9, $t5, 0xf -/* 10CD10 7F0D81E0 01994821 */ addu $t1, $t4, $t9 -/* 10CD14 7F0D81E4 314E00A8 */ andi $t6, $t2, 0xa8 -/* 10CD18 7F0D81E8 000A5A03 */ sra $t3, $t2, 8 -/* 10CD1C 7F0D81EC 322F0001 */ andi $t7, $s1, 1 -/* 10CD20 7F0D81F0 012F4021 */ addu $t0, $t1, $t7 -/* 10CD24 7F0D81F4 01CBC025 */ or $t8, $t6, $t3 -/* 10CD28 7F0D81F8 2401000F */ li $at, 15 -/* 10CD2C 7F0D81FC 0028702A */ slt $t6, $at, $t0 -/* 10CD30 7F0D8200 000E5900 */ sll $t3, $t6, 4 -/* 10CD34 7F0D8204 01404025 */ move $t0, $t2 -/* 10CD38 7F0D8208 0200C827 */ not $t9, $s0 -/* 10CD3C 7F0D820C 01107026 */ xor $t6, $t0, $s0 -/* 10CD40 7F0D8210 A7AA01B0 */ sh $t2, 0x1b0($sp) -/* 10CD44 7F0D8214 A3B001AF */ sb $s0, 0x1af($sp) -/* 10CD48 7F0D8218 93B001B1 */ lbu $s0, 0x1b1($sp) -/* 10CD4C 7F0D821C 032D4826 */ xor $t1, $t9, $t5 -/* 10CD50 7F0D8220 312F0080 */ andi $t7, $t1, 0x80 -/* 10CD54 7F0D8224 030B6025 */ or $t4, $t8, $t3 -/* 10CD58 7F0D8228 01EEC024 */ and $t8, $t7, $t6 -/* 10CD5C 7F0D822C 00185943 */ sra $t3, $t8, 5 -/* 10CD60 7F0D8230 2E0D0001 */ sltiu $t5, $s0, 1 -/* 10CD64 7F0D8234 000D5180 */ sll $t2, $t5, 6 -/* 10CD68 7F0D8238 018BC825 */ or $t9, $t4, $t3 -/* 10CD6C 7F0D823C 032A8825 */ or $s1, $t9, $t2 -/* 10CD70 7F0D8240 322800FF */ andi $t0, $s1, 0xff -/* 10CD74 7F0D8244 01008825 */ move $s1, $t0 -/* 10CD78 7F0D8248 1000296C */ b .L7F0E27FC -/* 10CD7C 7F0D824C AFAD0048 */ sw $t5, 0x48($sp) -spectrum_op_90: -/* 10CD80 7F0D8250 8FAF028C */ lw $t7, 0x28c($sp) -/* 10CD84 7F0D8254 325800FF */ andi $t8, $s2, 0xff -/* 10CD88 7F0D8258 02186023 */ subu $t4, $s0, $t8 -/* 10CD8C 7F0D825C 25EE0004 */ addiu $t6, $t7, 4 -/* 10CD90 7F0D8260 318B01FF */ andi $t3, $t4, 0x1ff -/* 10CD94 7F0D8264 AFAE028C */ sw $t6, 0x28c($sp) -/* 10CD98 7F0D8268 330E000F */ andi $t6, $t8, 0xf -/* 10CD9C 7F0D826C 316D00A8 */ andi $t5, $t3, 0xa8 -/* 10CDA0 7F0D8270 000B5203 */ sra $t2, $t3, 8 -/* 10CDA4 7F0D8274 320F000F */ andi $t7, $s0, 0xf -/* 10CDA8 7F0D8278 01EE602A */ slt $t4, $t7, $t6 -/* 10CDAC 7F0D827C 01AA4025 */ or $t0, $t5, $t2 -/* 10CDB0 7F0D8280 02186826 */ xor $t5, $s0, $t8 -/* 10CDB4 7F0D8284 000CC900 */ sll $t9, $t4, 4 -/* 10CDB8 7F0D8288 01707026 */ xor $t6, $t3, $s0 -/* 10CDBC 7F0D828C A7AB01AC */ sh $t3, 0x1ac($sp) -/* 10CDC0 7F0D8290 93B001AD */ lbu $s0, 0x1ad($sp) -/* 10CDC4 7F0D8294 31AA0080 */ andi $t2, $t5, 0x80 -/* 10CDC8 7F0D8298 014E6024 */ and $t4, $t2, $t6 -/* 10CDCC 7F0D829C 01194825 */ or $t1, $t0, $t9 -/* 10CDD0 7F0D82A0 000C4143 */ sra $t0, $t4, 5 -/* 10CDD4 7F0D82A4 01288825 */ or $s1, $t1, $t0 -/* 10CDD8 7F0D82A8 2E0D0001 */ sltiu $t5, $s0, 1 -/* 10CDDC 7F0D82AC 000D7980 */ sll $t7, $t5, 6 -/* 10CDE0 7F0D82B0 36380002 */ ori $t8, $s1, 2 -/* 10CDE4 7F0D82B4 030F8825 */ or $s1, $t8, $t7 -/* 10CDE8 7F0D82B8 322A00FF */ andi $t2, $s1, 0xff -/* 10CDEC 7F0D82BC 01408825 */ move $s1, $t2 -/* 10CDF0 7F0D82C0 AFAD0048 */ sw $t5, 0x48($sp) -/* 10CDF4 7F0D82C4 1000294D */ b .L7F0E27FC -/* 10CDF8 7F0D82C8 A3B201AB */ sb $s2, 0x1ab($sp) -spectrum_op_91: -/* 10CDFC 7F0D82CC 8FAE028C */ lw $t6, 0x28c($sp) -/* 10CE00 7F0D82D0 326900FF */ andi $t1, $s3, 0xff -/* 10CE04 7F0D82D4 02094023 */ subu $t0, $s0, $t1 -/* 10CE08 7F0D82D8 25CC0004 */ addiu $t4, $t6, 4 -/* 10CE0C 7F0D82DC 311901FF */ andi $t9, $t0, 0x1ff -/* 10CE10 7F0D82E0 AFAC028C */ sw $t4, 0x28c($sp) -/* 10CE14 7F0D82E4 312C000F */ andi $t4, $t1, 0xf -/* 10CE18 7F0D82E8 332D00A8 */ andi $t5, $t9, 0xa8 -/* 10CE1C 7F0D82EC 00197A03 */ sra $t7, $t9, 8 -/* 10CE20 7F0D82F0 320E000F */ andi $t6, $s0, 0xf -/* 10CE24 7F0D82F4 01CC402A */ slt $t0, $t6, $t4 -/* 10CE28 7F0D82F8 01AF5025 */ or $t2, $t5, $t7 -/* 10CE2C 7F0D82FC 02096826 */ xor $t5, $s0, $t1 -/* 10CE30 7F0D8300 0008C100 */ sll $t8, $t0, 4 -/* 10CE34 7F0D8304 03306026 */ xor $t4, $t9, $s0 -/* 10CE38 7F0D8308 A7B901A8 */ sh $t9, 0x1a8($sp) -/* 10CE3C 7F0D830C 93B001A9 */ lbu $s0, 0x1a9($sp) -/* 10CE40 7F0D8310 31AF0080 */ andi $t7, $t5, 0x80 -/* 10CE44 7F0D8314 01EC4024 */ and $t0, $t7, $t4 -/* 10CE48 7F0D8318 01585825 */ or $t3, $t2, $t8 -/* 10CE4C 7F0D831C 00085143 */ sra $t2, $t0, 5 -/* 10CE50 7F0D8320 016A8825 */ or $s1, $t3, $t2 -/* 10CE54 7F0D8324 2E0D0001 */ sltiu $t5, $s0, 1 -/* 10CE58 7F0D8328 000D7180 */ sll $t6, $t5, 6 -/* 10CE5C 7F0D832C 36290002 */ ori $t1, $s1, 2 -/* 10CE60 7F0D8330 012E8825 */ or $s1, $t1, $t6 -/* 10CE64 7F0D8334 322F00FF */ andi $t7, $s1, 0xff -/* 10CE68 7F0D8338 01E08825 */ move $s1, $t7 -/* 10CE6C 7F0D833C AFAD0048 */ sw $t5, 0x48($sp) -/* 10CE70 7F0D8340 1000292E */ b .L7F0E27FC -/* 10CE74 7F0D8344 A3B301A7 */ sb $s3, 0x1a7($sp) -spectrum_op_92: -/* 10CE78 7F0D8348 8FAC028C */ lw $t4, 0x28c($sp) -/* 10CE7C 7F0D834C 328B00FF */ andi $t3, $s4, 0xff -/* 10CE80 7F0D8350 020B5023 */ subu $t2, $s0, $t3 -/* 10CE84 7F0D8354 25880004 */ addiu $t0, $t4, 4 -/* 10CE88 7F0D8358 315801FF */ andi $t8, $t2, 0x1ff -/* 10CE8C 7F0D835C AFA8028C */ sw $t0, 0x28c($sp) -/* 10CE90 7F0D8360 3168000F */ andi $t0, $t3, 0xf -/* 10CE94 7F0D8364 330D00A8 */ andi $t5, $t8, 0xa8 -/* 10CE98 7F0D8368 00187203 */ sra $t6, $t8, 8 -/* 10CE9C 7F0D836C 320C000F */ andi $t4, $s0, 0xf -/* 10CEA0 7F0D8370 0188502A */ slt $t2, $t4, $t0 -/* 10CEA4 7F0D8374 01AE7825 */ or $t7, $t5, $t6 -/* 10CEA8 7F0D8378 020B6826 */ xor $t5, $s0, $t3 -/* 10CEAC 7F0D837C 000A4900 */ sll $t1, $t2, 4 -/* 10CEB0 7F0D8380 03104026 */ xor $t0, $t8, $s0 -/* 10CEB4 7F0D8384 A7B801A4 */ sh $t8, 0x1a4($sp) -/* 10CEB8 7F0D8388 93B001A5 */ lbu $s0, 0x1a5($sp) -/* 10CEBC 7F0D838C 31AE0080 */ andi $t6, $t5, 0x80 -/* 10CEC0 7F0D8390 01C85024 */ and $t2, $t6, $t0 -/* 10CEC4 7F0D8394 01E9C825 */ or $t9, $t7, $t1 -/* 10CEC8 7F0D8398 000A7943 */ sra $t7, $t2, 5 -/* 10CECC 7F0D839C 032F8825 */ or $s1, $t9, $t7 -/* 10CED0 7F0D83A0 2E0D0001 */ sltiu $t5, $s0, 1 -/* 10CED4 7F0D83A4 000D6180 */ sll $t4, $t5, 6 -/* 10CED8 7F0D83A8 362B0002 */ ori $t3, $s1, 2 -/* 10CEDC 7F0D83AC 016C8825 */ or $s1, $t3, $t4 -/* 10CEE0 7F0D83B0 322E00FF */ andi $t6, $s1, 0xff -/* 10CEE4 7F0D83B4 01C08825 */ move $s1, $t6 -/* 10CEE8 7F0D83B8 AFAD0048 */ sw $t5, 0x48($sp) -/* 10CEEC 7F0D83BC 1000290F */ b .L7F0E27FC -/* 10CEF0 7F0D83C0 A3B401A3 */ sb $s4, 0x1a3($sp) -spectrum_op_93: -/* 10CEF4 7F0D83C4 8FA8028C */ lw $t0, 0x28c($sp) -/* 10CEF8 7F0D83C8 32B900FF */ andi $t9, $s5, 0xff -/* 10CEFC 7F0D83CC 02197823 */ subu $t7, $s0, $t9 -/* 10CF00 7F0D83D0 250A0004 */ addiu $t2, $t0, 4 -/* 10CF04 7F0D83D4 31E901FF */ andi $t1, $t7, 0x1ff -/* 10CF08 7F0D83D8 AFAA028C */ sw $t2, 0x28c($sp) -/* 10CF0C 7F0D83DC 332A000F */ andi $t2, $t9, 0xf -/* 10CF10 7F0D83E0 312D00A8 */ andi $t5, $t1, 0xa8 -/* 10CF14 7F0D83E4 00096203 */ sra $t4, $t1, 8 -/* 10CF18 7F0D83E8 3208000F */ andi $t0, $s0, 0xf -/* 10CF1C 7F0D83EC 010A782A */ slt $t7, $t0, $t2 -/* 10CF20 7F0D83F0 01AC7025 */ or $t6, $t5, $t4 -/* 10CF24 7F0D83F4 02196826 */ xor $t5, $s0, $t9 -/* 10CF28 7F0D83F8 000F5900 */ sll $t3, $t7, 4 -/* 10CF2C 7F0D83FC 01305026 */ xor $t2, $t1, $s0 -/* 10CF30 7F0D8400 A7A901A0 */ sh $t1, 0x1a0($sp) -/* 10CF34 7F0D8404 93B001A1 */ lbu $s0, 0x1a1($sp) -/* 10CF38 7F0D8408 31AC0080 */ andi $t4, $t5, 0x80 -/* 10CF3C 7F0D840C 018A7824 */ and $t7, $t4, $t2 -/* 10CF40 7F0D8410 01CBC025 */ or $t8, $t6, $t3 -/* 10CF44 7F0D8414 000F7143 */ sra $t6, $t7, 5 -/* 10CF48 7F0D8418 030E8825 */ or $s1, $t8, $t6 -/* 10CF4C 7F0D841C 2E0D0001 */ sltiu $t5, $s0, 1 -/* 10CF50 7F0D8420 000D4180 */ sll $t0, $t5, 6 -/* 10CF54 7F0D8424 36390002 */ ori $t9, $s1, 2 -/* 10CF58 7F0D8428 03288825 */ or $s1, $t9, $t0 -/* 10CF5C 7F0D842C 322C00FF */ andi $t4, $s1, 0xff -/* 10CF60 7F0D8430 01808825 */ move $s1, $t4 -/* 10CF64 7F0D8434 AFAD0048 */ sw $t5, 0x48($sp) -/* 10CF68 7F0D8438 100028F0 */ b .L7F0E27FC -/* 10CF6C 7F0D843C A3B5019F */ sb $s5, 0x19f($sp) -spectrum_op_94: -/* 10CF70 7F0D8440 8FAA028C */ lw $t2, 0x28c($sp) -/* 10CF74 7F0D8444 93B80287 */ lbu $t8, 0x287($sp) -/* 10CF78 7F0D8448 93AE0287 */ lbu $t6, 0x287($sp) -/* 10CF7C 7F0D844C 254F0004 */ addiu $t7, $t2, 4 -/* 10CF80 7F0D8450 17000003 */ bnez $t8, .L7F0D8460 -/* 10CF84 7F0D8454 AFAF028C */ sw $t7, 0x28c($sp) -/* 10CF88 7F0D8458 1000000C */ b .L7F0D848C -/* 10CF8C 7F0D845C A3B6019B */ sb $s6, 0x19b($sp) -.L7F0D8460: -/* 10CF90 7F0D8460 24010001 */ li $at, 1 -/* 10CF94 7F0D8464 15C10005 */ bne $t6, $at, .L7F0D847C -/* 10CF98 7F0D8468 97AD0294 */ lhu $t5, 0x294($sp) -/* 10CF9C 7F0D846C 97AB0296 */ lhu $t3, 0x296($sp) -/* 10CFA0 7F0D8470 000BCA03 */ sra $t9, $t3, 8 -/* 10CFA4 7F0D8474 10000003 */ b .L7F0D8484 -/* 10CFA8 7F0D8478 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D847C: -/* 10CFAC 7F0D847C 000D4A03 */ sra $t1, $t5, 8 -/* 10CFB0 7F0D8480 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D8484: -/* 10CFB4 7F0D8484 8FA80048 */ lw $t0, 0x48($sp) -/* 10CFB8 7F0D8488 A3A8019B */ sb $t0, 0x19b($sp) -.L7F0D848C: -/* 10CFBC 7F0D848C 93AC019B */ lbu $t4, 0x19b($sp) -/* 10CFC0 7F0D8490 3209000F */ andi $t1, $s0, 0xf -/* 10CFC4 7F0D8494 020C5023 */ subu $t2, $s0, $t4 -/* 10CFC8 7F0D8498 314F01FF */ andi $t7, $t2, 0x1ff -/* 10CFCC 7F0D849C 31EE00A8 */ andi $t6, $t7, 0xa8 -/* 10CFD0 7F0D84A0 000FCA03 */ sra $t9, $t7, 8 -/* 10CFD4 7F0D84A4 3188000F */ andi $t0, $t4, 0xf -/* 10CFD8 7F0D84A8 0128502A */ slt $t2, $t1, $t0 -/* 10CFDC 7F0D84AC 01D96825 */ or $t5, $t6, $t9 -/* 10CFE0 7F0D84B0 020C7026 */ xor $t6, $s0, $t4 -/* 10CFE4 7F0D84B4 000AC100 */ sll $t8, $t2, 4 -/* 10CFE8 7F0D84B8 01F04026 */ xor $t0, $t7, $s0 -/* 10CFEC 7F0D84BC A7AF019C */ sh $t7, 0x19c($sp) -/* 10CFF0 7F0D84C0 93B0019D */ lbu $s0, 0x19d($sp) -/* 10CFF4 7F0D84C4 31D90080 */ andi $t9, $t6, 0x80 -/* 10CFF8 7F0D84C8 03285024 */ and $t2, $t9, $t0 -/* 10CFFC 7F0D84CC 01B85825 */ or $t3, $t5, $t8 -/* 10D000 7F0D84D0 000A6943 */ sra $t5, $t2, 5 -/* 10D004 7F0D84D4 016D8825 */ or $s1, $t3, $t5 -/* 10D008 7F0D84D8 2E0E0001 */ sltiu $t6, $s0, 1 -/* 10D00C 7F0D84DC 000E4980 */ sll $t1, $t6, 6 -/* 10D010 7F0D84E0 362C0002 */ ori $t4, $s1, 2 -/* 10D014 7F0D84E4 01898825 */ or $s1, $t4, $t1 -/* 10D018 7F0D84E8 323900FF */ andi $t9, $s1, 0xff -/* 10D01C 7F0D84EC 03208825 */ move $s1, $t9 -/* 10D020 7F0D84F0 100028C2 */ b .L7F0E27FC -/* 10D024 7F0D84F4 AFAE0048 */ sw $t6, 0x48($sp) -spectrum_op_95: -/* 10D028 7F0D84F8 8FA8028C */ lw $t0, 0x28c($sp) -/* 10D02C 7F0D84FC 93AB0287 */ lbu $t3, 0x287($sp) -/* 10D030 7F0D8500 93AD0287 */ lbu $t5, 0x287($sp) -/* 10D034 7F0D8504 250A0004 */ addiu $t2, $t0, 4 -/* 10D038 7F0D8508 15600003 */ bnez $t3, .L7F0D8518 -/* 10D03C 7F0D850C AFAA028C */ sw $t2, 0x28c($sp) -/* 10D040 7F0D8510 1000000C */ b .L7F0D8544 -/* 10D044 7F0D8514 A3B70197 */ sb $s7, 0x197($sp) -.L7F0D8518: -/* 10D048 7F0D8518 24010001 */ li $at, 1 -/* 10D04C 7F0D851C 15A10005 */ bne $t5, $at, .L7F0D8534 -/* 10D050 7F0D8520 97AE0294 */ lhu $t6, 0x294($sp) -/* 10D054 7F0D8524 97B80296 */ lhu $t8, 0x296($sp) -/* 10D058 7F0D8528 330C00FF */ andi $t4, $t8, 0xff -/* 10D05C 7F0D852C 10000003 */ b .L7F0D853C -/* 10D060 7F0D8530 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D8534: -/* 10D064 7F0D8534 31CF00FF */ andi $t7, $t6, 0xff -/* 10D068 7F0D8538 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D853C: -/* 10D06C 7F0D853C 8FA90048 */ lw $t1, 0x48($sp) -/* 10D070 7F0D8540 A3A90197 */ sb $t1, 0x197($sp) -.L7F0D8544: -/* 10D074 7F0D8544 93B90197 */ lbu $t9, 0x197($sp) -/* 10D078 7F0D8548 320F000F */ andi $t7, $s0, 0xf -/* 10D07C 7F0D854C 02194023 */ subu $t0, $s0, $t9 -/* 10D080 7F0D8550 310A01FF */ andi $t2, $t0, 0x1ff -/* 10D084 7F0D8554 314D00A8 */ andi $t5, $t2, 0xa8 -/* 10D088 7F0D8558 000A6203 */ sra $t4, $t2, 8 -/* 10D08C 7F0D855C 3329000F */ andi $t1, $t9, 0xf -/* 10D090 7F0D8560 01E9402A */ slt $t0, $t7, $t1 -/* 10D094 7F0D8564 01AC7025 */ or $t6, $t5, $t4 -/* 10D098 7F0D8568 02196826 */ xor $t5, $s0, $t9 -/* 10D09C 7F0D856C 00085900 */ sll $t3, $t0, 4 -/* 10D0A0 7F0D8570 01504826 */ xor $t1, $t2, $s0 -/* 10D0A4 7F0D8574 A7AA0198 */ sh $t2, 0x198($sp) -/* 10D0A8 7F0D8578 93B00199 */ lbu $s0, 0x199($sp) -/* 10D0AC 7F0D857C 31AC0080 */ andi $t4, $t5, 0x80 -/* 10D0B0 7F0D8580 01894024 */ and $t0, $t4, $t1 -/* 10D0B4 7F0D8584 01CBC025 */ or $t8, $t6, $t3 -/* 10D0B8 7F0D8588 00087143 */ sra $t6, $t0, 5 -/* 10D0BC 7F0D858C 030E8825 */ or $s1, $t8, $t6 -/* 10D0C0 7F0D8590 2E0D0001 */ sltiu $t5, $s0, 1 -/* 10D0C4 7F0D8594 000D7980 */ sll $t7, $t5, 6 -/* 10D0C8 7F0D8598 36390002 */ ori $t9, $s1, 2 -/* 10D0CC 7F0D859C 032F8825 */ or $s1, $t9, $t7 -/* 10D0D0 7F0D85A0 322C00FF */ andi $t4, $s1, 0xff -/* 10D0D4 7F0D85A4 01808825 */ move $s1, $t4 -/* 10D0D8 7F0D85A8 10002894 */ b .L7F0E27FC -/* 10D0DC 7F0D85AC AFAD0048 */ sw $t5, 0x48($sp) -spectrum_op_96: -/* 10D0E0 7F0D85B0 8FA9028C */ lw $t1, 0x28c($sp) -/* 10D0E4 7F0D85B4 93B80287 */ lbu $t8, 0x287($sp) -/* 10D0E8 7F0D85B8 00167200 */ sll $t6, $s6, 8 -/* 10D0EC 7F0D85BC 25280007 */ addiu $t0, $t1, 7 -/* 10D0F0 7F0D85C0 17000004 */ bnez $t8, .L7F0D85D4 -/* 10D0F4 7F0D85C4 AFA8028C */ sw $t0, 0x28c($sp) -/* 10D0F8 7F0D85C8 01D75825 */ or $t3, $t6, $s7 -/* 10D0FC 7F0D85CC 10000016 */ b .L7F0D8628 -/* 10D100 7F0D85D0 A7AB0194 */ sh $t3, 0x194($sp) -.L7F0D85D4: -/* 10D104 7F0D85D4 8FB9028C */ lw $t9, 0x28c($sp) -/* 10D108 7F0D85D8 93AA0287 */ lbu $t2, 0x287($sp) -/* 10D10C 7F0D85DC 24010001 */ li $at, 1 -/* 10D110 7F0D85E0 272D0008 */ addiu $t5, $t9, 8 -/* 10D114 7F0D85E4 15410004 */ bne $t2, $at, .L7F0D85F8 -/* 10D118 7F0D85E8 AFAD028C */ sw $t5, 0x28c($sp) -/* 10D11C 7F0D85EC 97AF0296 */ lhu $t7, 0x296($sp) -/* 10D120 7F0D85F0 10000003 */ b .L7F0D8600 -/* 10D124 7F0D85F4 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D85F8: -/* 10D128 7F0D85F8 97AC0294 */ lhu $t4, 0x294($sp) -/* 10D12C 7F0D85FC AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D8600: -/* 10D130 7F0D8600 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10D134 7F0D8604 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10D138 7F0D8608 97A90298 */ lhu $t1, 0x298($sp) -/* 10D13C 7F0D860C 8FAB0048 */ lw $t3, 0x48($sp) -/* 10D140 7F0D8610 0128C021 */ addu $t8, $t1, $t0 -/* 10D144 7F0D8614 830E0000 */ lb $t6, ($t8) -/* 10D148 7F0D8618 252D0001 */ addiu $t5, $t1, 1 -/* 10D14C 7F0D861C A7AD0298 */ sh $t5, 0x298($sp) -/* 10D150 7F0D8620 01CBC821 */ addu $t9, $t6, $t3 -/* 10D154 7F0D8624 A7B90194 */ sh $t9, 0x194($sp) -.L7F0D8628: -/* 10D158 7F0D8628 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10D15C 7F0D862C 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10D160 7F0D8630 97AA0194 */ lhu $t2, 0x194($sp) -/* 10D164 7F0D8634 014F6021 */ addu $t4, $t2, $t7 -/* 10D168 7F0D8638 91880000 */ lbu $t0, ($t4) -/* 10D16C 7F0D863C 320C000F */ andi $t4, $s0, 0xf -/* 10D170 7F0D8640 0208C023 */ subu $t8, $s0, $t0 -/* 10D174 7F0D8644 330E01FF */ andi $t6, $t8, 0x1ff -/* 10D178 7F0D8648 31D900A8 */ andi $t9, $t6, 0xa8 -/* 10D17C 7F0D864C 000E6A03 */ sra $t5, $t6, 8 -/* 10D180 7F0D8650 310F000F */ andi $t7, $t0, 0xf -/* 10D184 7F0D8654 018FC02A */ slt $t8, $t4, $t7 -/* 10D188 7F0D8658 032D5025 */ or $t2, $t9, $t5 -/* 10D18C 7F0D865C 0208C826 */ xor $t9, $s0, $t0 -/* 10D190 7F0D8660 00185900 */ sll $t3, $t8, 4 -/* 10D194 7F0D8664 01D07826 */ xor $t7, $t6, $s0 -/* 10D198 7F0D8668 A7AE0192 */ sh $t6, 0x192($sp) -/* 10D19C 7F0D866C 93B00193 */ lbu $s0, 0x193($sp) -/* 10D1A0 7F0D8670 332D0080 */ andi $t5, $t9, 0x80 -/* 10D1A4 7F0D8674 01AFC024 */ and $t8, $t5, $t7 -/* 10D1A8 7F0D8678 014B4825 */ or $t1, $t2, $t3 -/* 10D1AC 7F0D867C 00185143 */ sra $t2, $t8, 5 -/* 10D1B0 7F0D8680 012A8825 */ or $s1, $t1, $t2 -/* 10D1B4 7F0D8684 A3A80191 */ sb $t0, 0x191($sp) -/* 10D1B8 7F0D8688 2E190001 */ sltiu $t9, $s0, 1 -/* 10D1BC 7F0D868C 00196180 */ sll $t4, $t9, 6 -/* 10D1C0 7F0D8690 36280002 */ ori $t0, $s1, 2 -/* 10D1C4 7F0D8694 010C8825 */ or $s1, $t0, $t4 -/* 10D1C8 7F0D8698 322D00FF */ andi $t5, $s1, 0xff -/* 10D1CC 7F0D869C 01A08825 */ move $s1, $t5 -/* 10D1D0 7F0D86A0 10002856 */ b .L7F0E27FC -/* 10D1D4 7F0D86A4 AFB90048 */ sw $t9, 0x48($sp) -spectrum_op_97: -/* 10D1D8 7F0D86A8 8FAF028C */ lw $t7, 0x28c($sp) -/* 10D1DC 7F0D86AC 320900FF */ andi $t1, $s0, 0xff -/* 10D1E0 7F0D86B0 02095023 */ subu $t2, $s0, $t1 -/* 10D1E4 7F0D86B4 25F80004 */ addiu $t8, $t7, 4 -/* 10D1E8 7F0D86B8 314B01FF */ andi $t3, $t2, 0x1ff -/* 10D1EC 7F0D86BC AFB8028C */ sw $t8, 0x28c($sp) -/* 10D1F0 7F0D86C0 3138000F */ andi $t8, $t1, 0xf -/* 10D1F4 7F0D86C4 317900A8 */ andi $t9, $t3, 0xa8 -/* 10D1F8 7F0D86C8 000B6203 */ sra $t4, $t3, 8 -/* 10D1FC 7F0D86CC 320F000F */ andi $t7, $s0, 0xf -/* 10D200 7F0D86D0 01F8502A */ slt $t2, $t7, $t8 -/* 10D204 7F0D86D4 032C6825 */ or $t5, $t9, $t4 -/* 10D208 7F0D86D8 0209C826 */ xor $t9, $s0, $t1 -/* 10D20C 7F0D86DC 000A4100 */ sll $t0, $t2, 4 -/* 10D210 7F0D86E0 0170C026 */ xor $t8, $t3, $s0 -/* 10D214 7F0D86E4 A7AB018E */ sh $t3, 0x18e($sp) -/* 10D218 7F0D86E8 A3B0018D */ sb $s0, 0x18d($sp) -/* 10D21C 7F0D86EC 93B0018F */ lbu $s0, 0x18f($sp) -/* 10D220 7F0D86F0 332C0080 */ andi $t4, $t9, 0x80 -/* 10D224 7F0D86F4 01985024 */ and $t2, $t4, $t8 -/* 10D228 7F0D86F8 01A87025 */ or $t6, $t5, $t0 -/* 10D22C 7F0D86FC 000A6943 */ sra $t5, $t2, 5 -/* 10D230 7F0D8700 01CD8825 */ or $s1, $t6, $t5 -/* 10D234 7F0D8704 2E190001 */ sltiu $t9, $s0, 1 -/* 10D238 7F0D8708 00197980 */ sll $t7, $t9, 6 -/* 10D23C 7F0D870C 36290002 */ ori $t1, $s1, 2 -/* 10D240 7F0D8710 012F8825 */ or $s1, $t1, $t7 -/* 10D244 7F0D8714 322C00FF */ andi $t4, $s1, 0xff -/* 10D248 7F0D8718 01808825 */ move $s1, $t4 -/* 10D24C 7F0D871C 10002837 */ b .L7F0E27FC -/* 10D250 7F0D8720 AFB90048 */ sw $t9, 0x48($sp) -spectrum_op_98: -/* 10D254 7F0D8724 324E00FF */ andi $t6, $s2, 0xff -/* 10D258 7F0D8728 8FB8028C */ lw $t8, 0x28c($sp) -/* 10D25C 7F0D872C 020E6823 */ subu $t5, $s0, $t6 -/* 10D260 7F0D8730 32280001 */ andi $t0, $s1, 1 -/* 10D264 7F0D8734 01A84823 */ subu $t1, $t5, $t0 -/* 10D268 7F0D8738 313901FF */ andi $t9, $t1, 0x1ff -/* 10D26C 7F0D873C 31CD000F */ andi $t5, $t6, 0xf -/* 10D270 7F0D8740 270A0004 */ addiu $t2, $t8, 4 -/* 10D274 7F0D8744 01A84821 */ addu $t1, $t5, $t0 -/* 10D278 7F0D8748 320B000F */ andi $t3, $s0, 0xf -/* 10D27C 7F0D874C AFAA028C */ sw $t2, 0x28c($sp) -/* 10D280 7F0D8750 0169602A */ slt $t4, $t3, $t1 -/* 10D284 7F0D8754 0019C203 */ sra $t8, $t9, 8 -/* 10D288 7F0D8758 332F00A8 */ andi $t7, $t9, 0xa8 -/* 10D28C 7F0D875C 01F85025 */ or $t2, $t7, $t8 -/* 10D290 7F0D8760 020E6826 */ xor $t5, $s0, $t6 -/* 10D294 7F0D8764 000C7900 */ sll $t7, $t4, 4 -/* 10D298 7F0D8768 03304826 */ xor $t1, $t9, $s0 -/* 10D29C 7F0D876C A7B9018A */ sh $t9, 0x18a($sp) -/* 10D2A0 7F0D8770 93B0018B */ lbu $s0, 0x18b($sp) -/* 10D2A4 7F0D8774 31A80080 */ andi $t0, $t5, 0x80 -/* 10D2A8 7F0D8778 01096024 */ and $t4, $t0, $t1 -/* 10D2AC 7F0D877C 014FC025 */ or $t8, $t2, $t7 -/* 10D2B0 7F0D8780 000C5143 */ sra $t2, $t4, 5 -/* 10D2B4 7F0D8784 030A8825 */ or $s1, $t8, $t2 -/* 10D2B8 7F0D8788 2E0D0001 */ sltiu $t5, $s0, 1 -/* 10D2BC 7F0D878C 000D5980 */ sll $t3, $t5, 6 -/* 10D2C0 7F0D8790 362E0002 */ ori $t6, $s1, 2 -/* 10D2C4 7F0D8794 01CB8825 */ or $s1, $t6, $t3 -/* 10D2C8 7F0D8798 322800FF */ andi $t0, $s1, 0xff -/* 10D2CC 7F0D879C 01008825 */ move $s1, $t0 -/* 10D2D0 7F0D87A0 AFAD0048 */ sw $t5, 0x48($sp) -/* 10D2D4 7F0D87A4 10002815 */ b .L7F0E27FC -/* 10D2D8 7F0D87A8 A3B20189 */ sb $s2, 0x189($sp) -spectrum_op_99: -/* 10D2DC 7F0D87AC 327800FF */ andi $t8, $s3, 0xff -/* 10D2E0 7F0D87B0 8FA9028C */ lw $t1, 0x28c($sp) -/* 10D2E4 7F0D87B4 02185023 */ subu $t2, $s0, $t8 -/* 10D2E8 7F0D87B8 322F0001 */ andi $t7, $s1, 1 -/* 10D2EC 7F0D87BC 014F7023 */ subu $t6, $t2, $t7 -/* 10D2F0 7F0D87C0 31CD01FF */ andi $t5, $t6, 0x1ff -/* 10D2F4 7F0D87C4 330A000F */ andi $t2, $t8, 0xf -/* 10D2F8 7F0D87C8 252C0004 */ addiu $t4, $t1, 4 -/* 10D2FC 7F0D87CC 014F7021 */ addu $t6, $t2, $t7 -/* 10D300 7F0D87D0 3219000F */ andi $t9, $s0, 0xf -/* 10D304 7F0D87D4 AFAC028C */ sw $t4, 0x28c($sp) -/* 10D308 7F0D87D8 032E402A */ slt $t0, $t9, $t6 -/* 10D30C 7F0D87DC 000D4A03 */ sra $t1, $t5, 8 -/* 10D310 7F0D87E0 31AB00A8 */ andi $t3, $t5, 0xa8 -/* 10D314 7F0D87E4 01696025 */ or $t4, $t3, $t1 -/* 10D318 7F0D87E8 02185026 */ xor $t2, $s0, $t8 -/* 10D31C 7F0D87EC 00085900 */ sll $t3, $t0, 4 -/* 10D320 7F0D87F0 01B07026 */ xor $t6, $t5, $s0 -/* 10D324 7F0D87F4 A7AD0186 */ sh $t5, 0x186($sp) -/* 10D328 7F0D87F8 93B00187 */ lbu $s0, 0x187($sp) -/* 10D32C 7F0D87FC 314F0080 */ andi $t7, $t2, 0x80 -/* 10D330 7F0D8800 01EE4024 */ and $t0, $t7, $t6 -/* 10D334 7F0D8804 018B4825 */ or $t1, $t4, $t3 -/* 10D338 7F0D8808 00086143 */ sra $t4, $t0, 5 -/* 10D33C 7F0D880C 012C8825 */ or $s1, $t1, $t4 -/* 10D340 7F0D8810 2E0A0001 */ sltiu $t2, $s0, 1 -/* 10D344 7F0D8814 000AC980 */ sll $t9, $t2, 6 -/* 10D348 7F0D8818 36380002 */ ori $t8, $s1, 2 -/* 10D34C 7F0D881C 03198825 */ or $s1, $t8, $t9 -/* 10D350 7F0D8820 322F00FF */ andi $t7, $s1, 0xff -/* 10D354 7F0D8824 01E08825 */ move $s1, $t7 -/* 10D358 7F0D8828 AFAA0048 */ sw $t2, 0x48($sp) -/* 10D35C 7F0D882C 100027F3 */ b .L7F0E27FC -/* 10D360 7F0D8830 A3B30185 */ sb $s3, 0x185($sp) -spectrum_op_9A: -/* 10D364 7F0D8834 328900FF */ andi $t1, $s4, 0xff -/* 10D368 7F0D8838 8FAE028C */ lw $t6, 0x28c($sp) -/* 10D36C 7F0D883C 02096023 */ subu $t4, $s0, $t1 -/* 10D370 7F0D8840 322B0001 */ andi $t3, $s1, 1 -/* 10D374 7F0D8844 018BC023 */ subu $t8, $t4, $t3 -/* 10D378 7F0D8848 330A01FF */ andi $t2, $t8, 0x1ff -/* 10D37C 7F0D884C 312C000F */ andi $t4, $t1, 0xf -/* 10D380 7F0D8850 25C80004 */ addiu $t0, $t6, 4 -/* 10D384 7F0D8854 018BC021 */ addu $t8, $t4, $t3 -/* 10D388 7F0D8858 320D000F */ andi $t5, $s0, 0xf -/* 10D38C 7F0D885C AFA8028C */ sw $t0, 0x28c($sp) -/* 10D390 7F0D8860 01B8782A */ slt $t7, $t5, $t8 -/* 10D394 7F0D8864 000A7203 */ sra $t6, $t2, 8 -/* 10D398 7F0D8868 315900A8 */ andi $t9, $t2, 0xa8 -/* 10D39C 7F0D886C 032E4025 */ or $t0, $t9, $t6 -/* 10D3A0 7F0D8870 02096026 */ xor $t4, $s0, $t1 -/* 10D3A4 7F0D8874 000FC900 */ sll $t9, $t7, 4 -/* 10D3A8 7F0D8878 0150C026 */ xor $t8, $t2, $s0 -/* 10D3AC 7F0D887C A7AA0182 */ sh $t2, 0x182($sp) -/* 10D3B0 7F0D8880 93B00183 */ lbu $s0, 0x183($sp) -/* 10D3B4 7F0D8884 318B0080 */ andi $t3, $t4, 0x80 -/* 10D3B8 7F0D8888 01787824 */ and $t7, $t3, $t8 -/* 10D3BC 7F0D888C 01197025 */ or $t6, $t0, $t9 -/* 10D3C0 7F0D8890 000F4143 */ sra $t0, $t7, 5 -/* 10D3C4 7F0D8894 01C88825 */ or $s1, $t6, $t0 -/* 10D3C8 7F0D8898 2E0C0001 */ sltiu $t4, $s0, 1 -/* 10D3CC 7F0D889C 000C6980 */ sll $t5, $t4, 6 -/* 10D3D0 7F0D88A0 36290002 */ ori $t1, $s1, 2 -/* 10D3D4 7F0D88A4 012D8825 */ or $s1, $t1, $t5 -/* 10D3D8 7F0D88A8 322B00FF */ andi $t3, $s1, 0xff -/* 10D3DC 7F0D88AC 01608825 */ move $s1, $t3 -/* 10D3E0 7F0D88B0 AFAC0048 */ sw $t4, 0x48($sp) -/* 10D3E4 7F0D88B4 100027D1 */ b .L7F0E27FC -/* 10D3E8 7F0D88B8 A3B40181 */ sb $s4, 0x181($sp) -spectrum_op_9B: -/* 10D3EC 7F0D88BC 32AE00FF */ andi $t6, $s5, 0xff -/* 10D3F0 7F0D88C0 8FB8028C */ lw $t8, 0x28c($sp) -/* 10D3F4 7F0D88C4 020E4023 */ subu $t0, $s0, $t6 -/* 10D3F8 7F0D88C8 32390001 */ andi $t9, $s1, 1 -/* 10D3FC 7F0D88CC 01194823 */ subu $t1, $t0, $t9 -/* 10D400 7F0D88D0 312C01FF */ andi $t4, $t1, 0x1ff -/* 10D404 7F0D88D4 31C8000F */ andi $t0, $t6, 0xf -/* 10D408 7F0D88D8 270F0004 */ addiu $t7, $t8, 4 -/* 10D40C 7F0D88DC 01194821 */ addu $t1, $t0, $t9 -/* 10D410 7F0D88E0 320A000F */ andi $t2, $s0, 0xf -/* 10D414 7F0D88E4 AFAF028C */ sw $t7, 0x28c($sp) -/* 10D418 7F0D88E8 0149582A */ slt $t3, $t2, $t1 -/* 10D41C 7F0D88EC 000CC203 */ sra $t8, $t4, 8 -/* 10D420 7F0D88F0 318D00A8 */ andi $t5, $t4, 0xa8 -/* 10D424 7F0D88F4 01B87825 */ or $t7, $t5, $t8 -/* 10D428 7F0D88F8 020E4026 */ xor $t0, $s0, $t6 -/* 10D42C 7F0D88FC 000B6900 */ sll $t5, $t3, 4 -/* 10D430 7F0D8900 01904826 */ xor $t1, $t4, $s0 -/* 10D434 7F0D8904 A7AC017E */ sh $t4, 0x17e($sp) -/* 10D438 7F0D8908 93B0017F */ lbu $s0, 0x17f($sp) -/* 10D43C 7F0D890C 31190080 */ andi $t9, $t0, 0x80 -/* 10D440 7F0D8910 03295824 */ and $t3, $t9, $t1 -/* 10D444 7F0D8914 01EDC025 */ or $t8, $t7, $t5 -/* 10D448 7F0D8918 000B7943 */ sra $t7, $t3, 5 -/* 10D44C 7F0D891C 030F8825 */ or $s1, $t8, $t7 -/* 10D450 7F0D8920 2E080001 */ sltiu $t0, $s0, 1 -/* 10D454 7F0D8924 00085180 */ sll $t2, $t0, 6 -/* 10D458 7F0D8928 362E0002 */ ori $t6, $s1, 2 -/* 10D45C 7F0D892C 01CA8825 */ or $s1, $t6, $t2 -/* 10D460 7F0D8930 323900FF */ andi $t9, $s1, 0xff -/* 10D464 7F0D8934 03208825 */ move $s1, $t9 -/* 10D468 7F0D8938 AFA80048 */ sw $t0, 0x48($sp) -/* 10D46C 7F0D893C 100027AF */ b .L7F0E27FC -/* 10D470 7F0D8940 A3B5017D */ sb $s5, 0x17d($sp) -spectrum_op_9C: -/* 10D474 7F0D8944 8FA9028C */ lw $t1, 0x28c($sp) -/* 10D478 7F0D8948 93B80287 */ lbu $t8, 0x287($sp) -/* 10D47C 7F0D894C 93AF0287 */ lbu $t7, 0x287($sp) -/* 10D480 7F0D8950 252B0004 */ addiu $t3, $t1, 4 -/* 10D484 7F0D8954 17000003 */ bnez $t8, .L7F0D8964 -/* 10D488 7F0D8958 AFAB028C */ sw $t3, 0x28c($sp) -/* 10D48C 7F0D895C 1000000C */ b .L7F0D8990 -/* 10D490 7F0D8960 A3B60179 */ sb $s6, 0x179($sp) -.L7F0D8964: -/* 10D494 7F0D8964 24010001 */ li $at, 1 -/* 10D498 7F0D8968 15E10005 */ bne $t7, $at, .L7F0D8980 -/* 10D49C 7F0D896C 97A80294 */ lhu $t0, 0x294($sp) -/* 10D4A0 7F0D8970 97AD0296 */ lhu $t5, 0x296($sp) -/* 10D4A4 7F0D8974 000D7203 */ sra $t6, $t5, 8 -/* 10D4A8 7F0D8978 10000003 */ b .L7F0D8988 -/* 10D4AC 7F0D897C AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D8980: -/* 10D4B0 7F0D8980 00086203 */ sra $t4, $t0, 8 -/* 10D4B4 7F0D8984 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D8988: -/* 10D4B8 7F0D8988 8FAA0048 */ lw $t2, 0x48($sp) -/* 10D4BC 7F0D898C A3AA0179 */ sb $t2, 0x179($sp) -.L7F0D8990: -/* 10D4C0 7F0D8990 93B90179 */ lbu $t9, 0x179($sp) -/* 10D4C4 7F0D8994 322B0001 */ andi $t3, $s1, 1 -/* 10D4C8 7F0D8998 320D000F */ andi $t5, $s0, 0xf -/* 10D4CC 7F0D899C 02194823 */ subu $t1, $s0, $t9 -/* 10D4D0 7F0D89A0 012BC023 */ subu $t8, $t1, $t3 -/* 10D4D4 7F0D89A4 330F01FF */ andi $t7, $t8, 0x1ff -/* 10D4D8 7F0D89A8 3329000F */ andi $t1, $t9, 0xf -/* 10D4DC 7F0D89AC 012BC021 */ addu $t8, $t1, $t3 -/* 10D4E0 7F0D89B0 01B8402A */ slt $t0, $t5, $t8 -/* 10D4E4 7F0D89B4 31EE00A8 */ andi $t6, $t7, 0xa8 -/* 10D4E8 7F0D89B8 000F6203 */ sra $t4, $t7, 8 -/* 10D4EC 7F0D89BC 01CC5025 */ or $t2, $t6, $t4 -/* 10D4F0 7F0D89C0 02194826 */ xor $t1, $s0, $t9 -/* 10D4F4 7F0D89C4 00087100 */ sll $t6, $t0, 4 -/* 10D4F8 7F0D89C8 01F0C026 */ xor $t8, $t7, $s0 -/* 10D4FC 7F0D89CC A7AF017A */ sh $t7, 0x17a($sp) -/* 10D500 7F0D89D0 93B0017B */ lbu $s0, 0x17b($sp) -/* 10D504 7F0D89D4 312B0080 */ andi $t3, $t1, 0x80 -/* 10D508 7F0D89D8 01784024 */ and $t0, $t3, $t8 -/* 10D50C 7F0D89DC 014E6025 */ or $t4, $t2, $t6 -/* 10D510 7F0D89E0 00085143 */ sra $t2, $t0, 5 -/* 10D514 7F0D89E4 018A8825 */ or $s1, $t4, $t2 -/* 10D518 7F0D89E8 2E090001 */ sltiu $t1, $s0, 1 -/* 10D51C 7F0D89EC 00096980 */ sll $t5, $t1, 6 -/* 10D520 7F0D89F0 36390002 */ ori $t9, $s1, 2 -/* 10D524 7F0D89F4 032D8825 */ or $s1, $t9, $t5 -/* 10D528 7F0D89F8 322B00FF */ andi $t3, $s1, 0xff -/* 10D52C 7F0D89FC 01608825 */ move $s1, $t3 -/* 10D530 7F0D8A00 1000277E */ b .L7F0E27FC -/* 10D534 7F0D8A04 AFA90048 */ sw $t1, 0x48($sp) -spectrum_op_9D: -/* 10D538 7F0D8A08 8FB8028C */ lw $t8, 0x28c($sp) -/* 10D53C 7F0D8A0C 93AC0287 */ lbu $t4, 0x287($sp) -/* 10D540 7F0D8A10 93AA0287 */ lbu $t2, 0x287($sp) -/* 10D544 7F0D8A14 27080004 */ addiu $t0, $t8, 4 -/* 10D548 7F0D8A18 15800003 */ bnez $t4, .L7F0D8A28 -/* 10D54C 7F0D8A1C AFA8028C */ sw $t0, 0x28c($sp) -/* 10D550 7F0D8A20 1000000C */ b .L7F0D8A54 -/* 10D554 7F0D8A24 A3B70175 */ sb $s7, 0x175($sp) -.L7F0D8A28: -/* 10D558 7F0D8A28 24010001 */ li $at, 1 -/* 10D55C 7F0D8A2C 15410005 */ bne $t2, $at, .L7F0D8A44 -/* 10D560 7F0D8A30 97A90294 */ lhu $t1, 0x294($sp) -/* 10D564 7F0D8A34 97AE0296 */ lhu $t6, 0x296($sp) -/* 10D568 7F0D8A38 31D900FF */ andi $t9, $t6, 0xff -/* 10D56C 7F0D8A3C 10000003 */ b .L7F0D8A4C -/* 10D570 7F0D8A40 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D8A44: -/* 10D574 7F0D8A44 312F00FF */ andi $t7, $t1, 0xff -/* 10D578 7F0D8A48 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D8A4C: -/* 10D57C 7F0D8A4C 8FAD0048 */ lw $t5, 0x48($sp) -/* 10D580 7F0D8A50 A3AD0175 */ sb $t5, 0x175($sp) -.L7F0D8A54: -/* 10D584 7F0D8A54 93AB0175 */ lbu $t3, 0x175($sp) -/* 10D588 7F0D8A58 32280001 */ andi $t0, $s1, 1 -/* 10D58C 7F0D8A5C 320E000F */ andi $t6, $s0, 0xf -/* 10D590 7F0D8A60 020BC023 */ subu $t8, $s0, $t3 -/* 10D594 7F0D8A64 03086023 */ subu $t4, $t8, $t0 -/* 10D598 7F0D8A68 318A01FF */ andi $t2, $t4, 0x1ff -/* 10D59C 7F0D8A6C 3178000F */ andi $t8, $t3, 0xf -/* 10D5A0 7F0D8A70 03086021 */ addu $t4, $t8, $t0 -/* 10D5A4 7F0D8A74 01CC482A */ slt $t1, $t6, $t4 -/* 10D5A8 7F0D8A78 315900A8 */ andi $t9, $t2, 0xa8 -/* 10D5AC 7F0D8A7C 000A7A03 */ sra $t7, $t2, 8 -/* 10D5B0 7F0D8A80 032F6825 */ or $t5, $t9, $t7 -/* 10D5B4 7F0D8A84 020BC026 */ xor $t8, $s0, $t3 -/* 10D5B8 7F0D8A88 0009C900 */ sll $t9, $t1, 4 -/* 10D5BC 7F0D8A8C 01506026 */ xor $t4, $t2, $s0 -/* 10D5C0 7F0D8A90 A7AA0176 */ sh $t2, 0x176($sp) -/* 10D5C4 7F0D8A94 93B00177 */ lbu $s0, 0x177($sp) -/* 10D5C8 7F0D8A98 33080080 */ andi $t0, $t8, 0x80 -/* 10D5CC 7F0D8A9C 010C4824 */ and $t1, $t0, $t4 -/* 10D5D0 7F0D8AA0 01B97825 */ or $t7, $t5, $t9 -/* 10D5D4 7F0D8AA4 00096943 */ sra $t5, $t1, 5 -/* 10D5D8 7F0D8AA8 01ED8825 */ or $s1, $t7, $t5 -/* 10D5DC 7F0D8AAC 2E180001 */ sltiu $t8, $s0, 1 -/* 10D5E0 7F0D8AB0 00187180 */ sll $t6, $t8, 6 -/* 10D5E4 7F0D8AB4 362B0002 */ ori $t3, $s1, 2 -/* 10D5E8 7F0D8AB8 016E8825 */ or $s1, $t3, $t6 -/* 10D5EC 7F0D8ABC 322800FF */ andi $t0, $s1, 0xff -/* 10D5F0 7F0D8AC0 01008825 */ move $s1, $t0 -/* 10D5F4 7F0D8AC4 1000274D */ b .L7F0E27FC -/* 10D5F8 7F0D8AC8 AFB80048 */ sw $t8, 0x48($sp) -spectrum_op_9E: -/* 10D5FC 7F0D8ACC 8FAC028C */ lw $t4, 0x28c($sp) -/* 10D600 7F0D8AD0 93AF0287 */ lbu $t7, 0x287($sp) -/* 10D604 7F0D8AD4 00166A00 */ sll $t5, $s6, 8 -/* 10D608 7F0D8AD8 25890007 */ addiu $t1, $t4, 7 -/* 10D60C 7F0D8ADC 15E00004 */ bnez $t7, .L7F0D8AF0 -/* 10D610 7F0D8AE0 AFA9028C */ sw $t1, 0x28c($sp) -/* 10D614 7F0D8AE4 01B7C825 */ or $t9, $t5, $s7 -/* 10D618 7F0D8AE8 10000016 */ b .L7F0D8B44 -/* 10D61C 7F0D8AEC A7B90172 */ sh $t9, 0x172($sp) -.L7F0D8AF0: -/* 10D620 7F0D8AF0 8FAB028C */ lw $t3, 0x28c($sp) -/* 10D624 7F0D8AF4 93AA0287 */ lbu $t2, 0x287($sp) -/* 10D628 7F0D8AF8 24010001 */ li $at, 1 -/* 10D62C 7F0D8AFC 25780008 */ addiu $t8, $t3, 8 -/* 10D630 7F0D8B00 15410004 */ bne $t2, $at, .L7F0D8B14 -/* 10D634 7F0D8B04 AFB8028C */ sw $t8, 0x28c($sp) -/* 10D638 7F0D8B08 97AE0296 */ lhu $t6, 0x296($sp) -/* 10D63C 7F0D8B0C 10000003 */ b .L7F0D8B1C -/* 10D640 7F0D8B10 AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D8B14: -/* 10D644 7F0D8B14 97A80294 */ lhu $t0, 0x294($sp) -/* 10D648 7F0D8B18 AFA80048 */ sw $t0, 0x48($sp) -.L7F0D8B1C: -/* 10D64C 7F0D8B1C 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10D650 7F0D8B20 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10D654 7F0D8B24 97AC0298 */ lhu $t4, 0x298($sp) -/* 10D658 7F0D8B28 8FB90048 */ lw $t9, 0x48($sp) -/* 10D65C 7F0D8B2C 01897821 */ addu $t7, $t4, $t1 -/* 10D660 7F0D8B30 81ED0000 */ lb $t5, ($t7) -/* 10D664 7F0D8B34 25980001 */ addiu $t8, $t4, 1 -/* 10D668 7F0D8B38 A7B80298 */ sh $t8, 0x298($sp) -/* 10D66C 7F0D8B3C 01B95821 */ addu $t3, $t5, $t9 -/* 10D670 7F0D8B40 A7AB0172 */ sh $t3, 0x172($sp) -.L7F0D8B44: -/* 10D674 7F0D8B44 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10D678 7F0D8B48 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10D67C 7F0D8B4C 97AA0172 */ lhu $t2, 0x172($sp) -/* 10D680 7F0D8B50 322D0001 */ andi $t5, $s1, 1 -/* 10D684 7F0D8B54 320C000F */ andi $t4, $s0, 0xf -/* 10D688 7F0D8B58 014E4021 */ addu $t0, $t2, $t6 -/* 10D68C 7F0D8B5C 91090000 */ lbu $t1, ($t0) -/* 10D690 7F0D8B60 02097823 */ subu $t7, $s0, $t1 -/* 10D694 7F0D8B64 01EDC823 */ subu $t9, $t7, $t5 -/* 10D698 7F0D8B68 332B01FF */ andi $t3, $t9, 0x1ff -/* 10D69C 7F0D8B6C 312F000F */ andi $t7, $t1, 0xf -/* 10D6A0 7F0D8B70 01EDC821 */ addu $t9, $t7, $t5 -/* 10D6A4 7F0D8B74 0199502A */ slt $t2, $t4, $t9 -/* 10D6A8 7F0D8B78 317800A8 */ andi $t8, $t3, 0xa8 -/* 10D6AC 7F0D8B7C 000B7203 */ sra $t6, $t3, 8 -/* 10D6B0 7F0D8B80 030E4025 */ or $t0, $t8, $t6 -/* 10D6B4 7F0D8B84 02097826 */ xor $t7, $s0, $t1 -/* 10D6B8 7F0D8B88 000AC100 */ sll $t8, $t2, 4 -/* 10D6BC 7F0D8B8C 0170C826 */ xor $t9, $t3, $s0 -/* 10D6C0 7F0D8B90 A7AB0170 */ sh $t3, 0x170($sp) -/* 10D6C4 7F0D8B94 93B00171 */ lbu $s0, 0x171($sp) -/* 10D6C8 7F0D8B98 31ED0080 */ andi $t5, $t7, 0x80 -/* 10D6CC 7F0D8B9C 01B95024 */ and $t2, $t5, $t9 -/* 10D6D0 7F0D8BA0 01187025 */ or $t6, $t0, $t8 -/* 10D6D4 7F0D8BA4 000A4143 */ sra $t0, $t2, 5 -/* 10D6D8 7F0D8BA8 01C88825 */ or $s1, $t6, $t0 -/* 10D6DC 7F0D8BAC A3A9016F */ sb $t1, 0x16f($sp) -/* 10D6E0 7F0D8BB0 2E0F0001 */ sltiu $t7, $s0, 1 -/* 10D6E4 7F0D8BB4 000F6180 */ sll $t4, $t7, 6 -/* 10D6E8 7F0D8BB8 36290002 */ ori $t1, $s1, 2 -/* 10D6EC 7F0D8BBC 012C8825 */ or $s1, $t1, $t4 -/* 10D6F0 7F0D8BC0 322D00FF */ andi $t5, $s1, 0xff -/* 10D6F4 7F0D8BC4 01A08825 */ move $s1, $t5 -/* 10D6F8 7F0D8BC8 1000270C */ b .L7F0E27FC -/* 10D6FC 7F0D8BCC AFAF0048 */ sw $t7, 0x48($sp) -spectrum_op_9F: -/* 10D700 7F0D8BD0 320E00FF */ andi $t6, $s0, 0xff -/* 10D704 7F0D8BD4 8FB9028C */ lw $t9, 0x28c($sp) -/* 10D708 7F0D8BD8 020E4023 */ subu $t0, $s0, $t6 -/* 10D70C 7F0D8BDC 32380001 */ andi $t8, $s1, 1 -/* 10D710 7F0D8BE0 01184823 */ subu $t1, $t0, $t8 -/* 10D714 7F0D8BE4 312F01FF */ andi $t7, $t1, 0x1ff -/* 10D718 7F0D8BE8 31C8000F */ andi $t0, $t6, 0xf -/* 10D71C 7F0D8BEC 272A0004 */ addiu $t2, $t9, 4 -/* 10D720 7F0D8BF0 01184821 */ addu $t1, $t0, $t8 -/* 10D724 7F0D8BF4 320B000F */ andi $t3, $s0, 0xf -/* 10D728 7F0D8BF8 AFAA028C */ sw $t2, 0x28c($sp) -/* 10D72C 7F0D8BFC 0169682A */ slt $t5, $t3, $t1 -/* 10D730 7F0D8C00 000FCA03 */ sra $t9, $t7, 8 -/* 10D734 7F0D8C04 31EC00A8 */ andi $t4, $t7, 0xa8 -/* 10D738 7F0D8C08 01995025 */ or $t2, $t4, $t9 -/* 10D73C 7F0D8C0C 020E4026 */ xor $t0, $s0, $t6 -/* 10D740 7F0D8C10 000D6100 */ sll $t4, $t5, 4 -/* 10D744 7F0D8C14 01F04826 */ xor $t1, $t7, $s0 -/* 10D748 7F0D8C18 A7AF016C */ sh $t7, 0x16c($sp) -/* 10D74C 7F0D8C1C A3B0016B */ sb $s0, 0x16b($sp) -/* 10D750 7F0D8C20 93B0016D */ lbu $s0, 0x16d($sp) -/* 10D754 7F0D8C24 31180080 */ andi $t8, $t0, 0x80 -/* 10D758 7F0D8C28 03096824 */ and $t5, $t8, $t1 -/* 10D75C 7F0D8C2C 014CC825 */ or $t9, $t2, $t4 -/* 10D760 7F0D8C30 000D5143 */ sra $t2, $t5, 5 -/* 10D764 7F0D8C34 032A8825 */ or $s1, $t9, $t2 -/* 10D768 7F0D8C38 2E080001 */ sltiu $t0, $s0, 1 -/* 10D76C 7F0D8C3C 00085980 */ sll $t3, $t0, 6 -/* 10D770 7F0D8C40 362E0002 */ ori $t6, $s1, 2 -/* 10D774 7F0D8C44 01CB8825 */ or $s1, $t6, $t3 -/* 10D778 7F0D8C48 323800FF */ andi $t8, $s1, 0xff -/* 10D77C 7F0D8C4C 03008825 */ move $s1, $t8 -/* 10D780 7F0D8C50 100026EA */ b .L7F0E27FC -/* 10D784 7F0D8C54 AFA80048 */ sw $t0, 0x48($sp) -spectrum_op_A0: -/* 10D788 7F0D8C58 8FA9028C */ lw $t1, 0x28c($sp) -/* 10D78C 7F0D8C5C 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 10D790 7F0D8C60 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 10D794 7F0D8C64 02128024 */ and $s0, $s0, $s2 -/* 10D798 7F0D8C68 321900FF */ andi $t9, $s0, 0xff -/* 10D79C 7F0D8C6C 252D0004 */ addiu $t5, $t1, 4 -/* 10D7A0 7F0D8C70 2F2A0001 */ sltiu $t2, $t9, 1 -/* 10D7A4 7F0D8C74 AFAD028C */ sw $t5, 0x28c($sp) -/* 10D7A8 7F0D8C78 AFAA0048 */ sw $t2, 0x48($sp) -/* 10D7AC 7F0D8C7C 03384821 */ addu $t1, $t9, $t8 -/* 10D7B0 7F0D8C80 912D0000 */ lbu $t5, ($t1) -/* 10D7B4 7F0D8C84 000A4180 */ sll $t0, $t2, 6 -/* 10D7B8 7F0D8C88 332C00A8 */ andi $t4, $t9, 0xa8 -/* 10D7BC 7F0D8C8C 01887825 */ or $t7, $t4, $t0 -/* 10D7C0 7F0D8C90 35EB0010 */ ori $t3, $t7, 0x10 -/* 10D7C4 7F0D8C94 03208025 */ move $s0, $t9 -/* 10D7C8 7F0D8C98 01AB8825 */ or $s1, $t5, $t3 -/* 10D7CC 7F0D8C9C 323900FF */ andi $t9, $s1, 0xff -/* 10D7D0 7F0D8CA0 100026D6 */ b .L7F0E27FC -/* 10D7D4 7F0D8CA4 03208825 */ move $s1, $t9 -spectrum_op_A1: -/* 10D7D8 7F0D8CA8 8FAA028C */ lw $t2, 0x28c($sp) -/* 10D7DC 7F0D8CAC 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 10D7E0 7F0D8CB0 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 10D7E4 7F0D8CB4 02138024 */ and $s0, $s0, $s3 -/* 10D7E8 7F0D8CB8 320C00FF */ andi $t4, $s0, 0xff -/* 10D7EC 7F0D8CBC 254E0004 */ addiu $t6, $t2, 4 -/* 10D7F0 7F0D8CC0 2D880001 */ sltiu $t0, $t4, 1 -/* 10D7F4 7F0D8CC4 AFAE028C */ sw $t6, 0x28c($sp) -/* 10D7F8 7F0D8CC8 AFA80048 */ sw $t0, 0x48($sp) -/* 10D7FC 7F0D8CCC 01995021 */ addu $t2, $t4, $t9 -/* 10D800 7F0D8CD0 914E0000 */ lbu $t6, ($t2) -/* 10D804 7F0D8CD4 00084980 */ sll $t1, $t0, 6 -/* 10D808 7F0D8CD8 318F00A8 */ andi $t7, $t4, 0xa8 -/* 10D80C 7F0D8CDC 01E96825 */ or $t5, $t7, $t1 -/* 10D810 7F0D8CE0 35AB0010 */ ori $t3, $t5, 0x10 -/* 10D814 7F0D8CE4 01808025 */ move $s0, $t4 -/* 10D818 7F0D8CE8 01CB8825 */ or $s1, $t6, $t3 -/* 10D81C 7F0D8CEC 322C00FF */ andi $t4, $s1, 0xff -/* 10D820 7F0D8CF0 100026C2 */ b .L7F0E27FC -/* 10D824 7F0D8CF4 01808825 */ move $s1, $t4 -spectrum_op_A2: -/* 10D828 7F0D8CF8 8FA8028C */ lw $t0, 0x28c($sp) -/* 10D82C 7F0D8CFC 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 10D830 7F0D8D00 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 10D834 7F0D8D04 02148024 */ and $s0, $s0, $s4 -/* 10D838 7F0D8D08 320F00FF */ andi $t7, $s0, 0xff -/* 10D83C 7F0D8D0C 25180004 */ addiu $t8, $t0, 4 -/* 10D840 7F0D8D10 2DE90001 */ sltiu $t1, $t7, 1 -/* 10D844 7F0D8D14 AFB8028C */ sw $t8, 0x28c($sp) -/* 10D848 7F0D8D18 AFA90048 */ sw $t1, 0x48($sp) -/* 10D84C 7F0D8D1C 01EC4021 */ addu $t0, $t7, $t4 -/* 10D850 7F0D8D20 91180000 */ lbu $t8, ($t0) -/* 10D854 7F0D8D24 00095180 */ sll $t2, $t1, 6 -/* 10D858 7F0D8D28 31ED00A8 */ andi $t5, $t7, 0xa8 -/* 10D85C 7F0D8D2C 01AA7025 */ or $t6, $t5, $t2 -/* 10D860 7F0D8D30 35CB0010 */ ori $t3, $t6, 0x10 -/* 10D864 7F0D8D34 01E08025 */ move $s0, $t7 -/* 10D868 7F0D8D38 030B8825 */ or $s1, $t8, $t3 -/* 10D86C 7F0D8D3C 322F00FF */ andi $t7, $s1, 0xff -/* 10D870 7F0D8D40 100026AE */ b .L7F0E27FC -/* 10D874 7F0D8D44 01E08825 */ move $s1, $t7 -spectrum_op_A3: -/* 10D878 7F0D8D48 8FA9028C */ lw $t1, 0x28c($sp) -/* 10D87C 7F0D8D4C 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 10D880 7F0D8D50 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 10D884 7F0D8D54 02158024 */ and $s0, $s0, $s5 -/* 10D888 7F0D8D58 320D00FF */ andi $t5, $s0, 0xff -/* 10D88C 7F0D8D5C 25390004 */ addiu $t9, $t1, 4 -/* 10D890 7F0D8D60 2DAA0001 */ sltiu $t2, $t5, 1 -/* 10D894 7F0D8D64 AFB9028C */ sw $t9, 0x28c($sp) -/* 10D898 7F0D8D68 AFAA0048 */ sw $t2, 0x48($sp) -/* 10D89C 7F0D8D6C 01AF4821 */ addu $t1, $t5, $t7 -/* 10D8A0 7F0D8D70 91390000 */ lbu $t9, ($t1) -/* 10D8A4 7F0D8D74 000A4180 */ sll $t0, $t2, 6 -/* 10D8A8 7F0D8D78 31AE00A8 */ andi $t6, $t5, 0xa8 -/* 10D8AC 7F0D8D7C 01C8C025 */ or $t8, $t6, $t0 -/* 10D8B0 7F0D8D80 370B0010 */ ori $t3, $t8, 0x10 -/* 10D8B4 7F0D8D84 01A08025 */ move $s0, $t5 -/* 10D8B8 7F0D8D88 032B8825 */ or $s1, $t9, $t3 -/* 10D8BC 7F0D8D8C 322D00FF */ andi $t5, $s1, 0xff -/* 10D8C0 7F0D8D90 1000269A */ b .L7F0E27FC -/* 10D8C4 7F0D8D94 01A08825 */ move $s1, $t5 -spectrum_op_A4: -/* 10D8C8 7F0D8D98 8FAA028C */ lw $t2, 0x28c($sp) -/* 10D8CC 7F0D8D9C 93AE0287 */ lbu $t6, 0x287($sp) -/* 10D8D0 7F0D8DA0 93A80287 */ lbu $t0, 0x287($sp) -/* 10D8D4 7F0D8DA4 254C0004 */ addiu $t4, $t2, 4 -/* 10D8D8 7F0D8DA8 15C00003 */ bnez $t6, .L7F0D8DB8 -/* 10D8DC 7F0D8DAC AFAC028C */ sw $t4, 0x28c($sp) -/* 10D8E0 7F0D8DB0 1000000C */ b .L7F0D8DE4 -/* 10D8E4 7F0D8DB4 AFB60048 */ sw $s6, 0x48($sp) -.L7F0D8DB8: -/* 10D8E8 7F0D8DB8 24010001 */ li $at, 1 -/* 10D8EC 7F0D8DBC 15010005 */ bne $t0, $at, .L7F0D8DD4 -/* 10D8F0 7F0D8DC0 97A90294 */ lhu $t1, 0x294($sp) -/* 10D8F4 7F0D8DC4 97B80296 */ lhu $t8, 0x296($sp) -/* 10D8F8 7F0D8DC8 00187A03 */ sra $t7, $t8, 8 -/* 10D8FC 7F0D8DCC 10000003 */ b .L7F0D8DDC -/* 10D900 7F0D8DD0 AFAF0044 */ sw $t7, 0x44($sp) -.L7F0D8DD4: -/* 10D904 7F0D8DD4 0009CA03 */ sra $t9, $t1, 8 -/* 10D908 7F0D8DD8 AFB90044 */ sw $t9, 0x44($sp) -.L7F0D8DDC: -/* 10D90C 7F0D8DDC 8FAB0044 */ lw $t3, 0x44($sp) -/* 10D910 7F0D8DE0 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D8DE4: -/* 10D914 7F0D8DE4 8FAD0048 */ lw $t5, 0x48($sp) -/* 10D918 7F0D8DE8 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 10D91C 7F0D8DEC 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 10D920 7F0D8DF0 020D8024 */ and $s0, $s0, $t5 -/* 10D924 7F0D8DF4 320A00FF */ andi $t2, $s0, 0xff -/* 10D928 7F0D8DF8 2D4C0001 */ sltiu $t4, $t2, 1 -/* 10D92C 7F0D8DFC AFAC0048 */ sw $t4, 0x48($sp) -/* 10D930 7F0D8E00 01595821 */ addu $t3, $t2, $t9 -/* 10D934 7F0D8E04 916D0000 */ lbu $t5, ($t3) -/* 10D938 7F0D8E08 000CC180 */ sll $t8, $t4, 6 -/* 10D93C 7F0D8E0C 314E00A8 */ andi $t6, $t2, 0xa8 -/* 10D940 7F0D8E10 01D87825 */ or $t7, $t6, $t8 -/* 10D944 7F0D8E14 35E90010 */ ori $t1, $t7, 0x10 -/* 10D948 7F0D8E18 01408025 */ move $s0, $t2 -/* 10D94C 7F0D8E1C 01A98825 */ or $s1, $t5, $t1 -/* 10D950 7F0D8E20 322A00FF */ andi $t2, $s1, 0xff -/* 10D954 7F0D8E24 10002675 */ b .L7F0E27FC -/* 10D958 7F0D8E28 01408825 */ move $s1, $t2 -spectrum_op_A5: -/* 10D95C 7F0D8E2C 8FAC028C */ lw $t4, 0x28c($sp) -/* 10D960 7F0D8E30 93AE0287 */ lbu $t6, 0x287($sp) -/* 10D964 7F0D8E34 93B80287 */ lbu $t8, 0x287($sp) -/* 10D968 7F0D8E38 25880004 */ addiu $t0, $t4, 4 -/* 10D96C 7F0D8E3C 15C00003 */ bnez $t6, .L7F0D8E4C -/* 10D970 7F0D8E40 AFA8028C */ sw $t0, 0x28c($sp) -/* 10D974 7F0D8E44 1000000C */ b .L7F0D8E78 -/* 10D978 7F0D8E48 AFB70048 */ sw $s7, 0x48($sp) -.L7F0D8E4C: -/* 10D97C 7F0D8E4C 24010001 */ li $at, 1 -/* 10D980 7F0D8E50 17010005 */ bne $t8, $at, .L7F0D8E68 -/* 10D984 7F0D8E54 97AB0294 */ lhu $t3, 0x294($sp) -/* 10D988 7F0D8E58 97AF0296 */ lhu $t7, 0x296($sp) -/* 10D98C 7F0D8E5C 31F900FF */ andi $t9, $t7, 0xff -/* 10D990 7F0D8E60 10000003 */ b .L7F0D8E70 -/* 10D994 7F0D8E64 AFB90044 */ sw $t9, 0x44($sp) -.L7F0D8E68: -/* 10D998 7F0D8E68 316D00FF */ andi $t5, $t3, 0xff -/* 10D99C 7F0D8E6C AFAD0044 */ sw $t5, 0x44($sp) -.L7F0D8E70: -/* 10D9A0 7F0D8E70 8FA90044 */ lw $t1, 0x44($sp) -/* 10D9A4 7F0D8E74 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D8E78: -/* 10D9A8 7F0D8E78 8FAA0048 */ lw $t2, 0x48($sp) -/* 10D9AC 7F0D8E7C 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 10D9B0 7F0D8E80 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 10D9B4 7F0D8E84 020A8024 */ and $s0, $s0, $t2 -/* 10D9B8 7F0D8E88 320C00FF */ andi $t4, $s0, 0xff -/* 10D9BC 7F0D8E8C 2D880001 */ sltiu $t0, $t4, 1 -/* 10D9C0 7F0D8E90 AFA80048 */ sw $t0, 0x48($sp) -/* 10D9C4 7F0D8E94 018D4821 */ addu $t1, $t4, $t5 -/* 10D9C8 7F0D8E98 912A0000 */ lbu $t2, ($t1) -/* 10D9CC 7F0D8E9C 00087980 */ sll $t7, $t0, 6 -/* 10D9D0 7F0D8EA0 318E00A8 */ andi $t6, $t4, 0xa8 -/* 10D9D4 7F0D8EA4 01CFC825 */ or $t9, $t6, $t7 -/* 10D9D8 7F0D8EA8 372B0010 */ ori $t3, $t9, 0x10 -/* 10D9DC 7F0D8EAC 01808025 */ move $s0, $t4 -/* 10D9E0 7F0D8EB0 014B8825 */ or $s1, $t2, $t3 -/* 10D9E4 7F0D8EB4 322C00FF */ andi $t4, $s1, 0xff -/* 10D9E8 7F0D8EB8 10002650 */ b .L7F0E27FC -/* 10D9EC 7F0D8EBC 01808825 */ move $s1, $t4 -spectrum_op_A6: -/* 10D9F0 7F0D8EC0 8FA8028C */ lw $t0, 0x28c($sp) -/* 10D9F4 7F0D8EC4 93AE0287 */ lbu $t6, 0x287($sp) -/* 10D9F8 7F0D8EC8 00167A00 */ sll $t7, $s6, 8 -/* 10D9FC 7F0D8ECC 25180007 */ addiu $t8, $t0, 7 -/* 10DA00 7F0D8ED0 15C00004 */ bnez $t6, .L7F0D8EE4 -/* 10DA04 7F0D8ED4 AFB8028C */ sw $t8, 0x28c($sp) -/* 10DA08 7F0D8ED8 01F7C825 */ or $t9, $t7, $s7 -/* 10DA0C 7F0D8EDC 10000016 */ b .L7F0D8F38 -/* 10DA10 7F0D8EE0 A7B90168 */ sh $t9, 0x168($sp) -.L7F0D8EE4: -/* 10DA14 7F0D8EE4 8FAD028C */ lw $t5, 0x28c($sp) -/* 10DA18 7F0D8EE8 93AA0287 */ lbu $t2, 0x287($sp) -/* 10DA1C 7F0D8EEC 24010001 */ li $at, 1 -/* 10DA20 7F0D8EF0 25A90008 */ addiu $t1, $t5, 8 -/* 10DA24 7F0D8EF4 15410004 */ bne $t2, $at, .L7F0D8F08 -/* 10DA28 7F0D8EF8 AFA9028C */ sw $t1, 0x28c($sp) -/* 10DA2C 7F0D8EFC 97AB0296 */ lhu $t3, 0x296($sp) -/* 10DA30 7F0D8F00 10000003 */ b .L7F0D8F10 -/* 10DA34 7F0D8F04 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0D8F08: -/* 10DA38 7F0D8F08 97AC0294 */ lhu $t4, 0x294($sp) -/* 10DA3C 7F0D8F0C AFAC0048 */ sw $t4, 0x48($sp) -.L7F0D8F10: -/* 10DA40 7F0D8F10 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10DA44 7F0D8F14 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10DA48 7F0D8F18 97A80298 */ lhu $t0, 0x298($sp) -/* 10DA4C 7F0D8F1C 8FB90048 */ lw $t9, 0x48($sp) -/* 10DA50 7F0D8F20 01187021 */ addu $t6, $t0, $t8 -/* 10DA54 7F0D8F24 81CF0000 */ lb $t7, ($t6) -/* 10DA58 7F0D8F28 25090001 */ addiu $t1, $t0, 1 -/* 10DA5C 7F0D8F2C A7A90298 */ sh $t1, 0x298($sp) -/* 10DA60 7F0D8F30 01F96821 */ addu $t5, $t7, $t9 -/* 10DA64 7F0D8F34 A7AD0168 */ sh $t5, 0x168($sp) -.L7F0D8F38: -/* 10DA68 7F0D8F38 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10DA6C 7F0D8F3C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10DA70 7F0D8F40 97AB0168 */ lhu $t3, 0x168($sp) -/* 10DA74 7F0D8F44 014B6021 */ addu $t4, $t2, $t3 -/* 10DA78 7F0D8F48 91980000 */ lbu $t8, ($t4) -/* 10DA7C 7F0D8F4C 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 10DA80 7F0D8F50 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 10DA84 7F0D8F54 02188024 */ and $s0, $s0, $t8 -/* 10DA88 7F0D8F58 320E00FF */ andi $t6, $s0, 0xff -/* 10DA8C 7F0D8F5C 2DCF0001 */ sltiu $t7, $t6, 1 -/* 10DA90 7F0D8F60 AFAF0048 */ sw $t7, 0x48($sp) -/* 10DA94 7F0D8F64 01CB6021 */ addu $t4, $t6, $t3 -/* 10DA98 7F0D8F68 91980000 */ lbu $t8, ($t4) -/* 10DA9C 7F0D8F6C 000F4180 */ sll $t0, $t7, 6 -/* 10DAA0 7F0D8F70 31D900A8 */ andi $t9, $t6, 0xa8 -/* 10DAA4 7F0D8F74 03284825 */ or $t1, $t9, $t0 -/* 10DAA8 7F0D8F78 352A0010 */ ori $t2, $t1, 0x10 -/* 10DAAC 7F0D8F7C 01C08025 */ move $s0, $t6 -/* 10DAB0 7F0D8F80 030A8825 */ or $s1, $t8, $t2 -/* 10DAB4 7F0D8F84 322E00FF */ andi $t6, $s1, 0xff -/* 10DAB8 7F0D8F88 1000261C */ b .L7F0E27FC -/* 10DABC 7F0D8F8C 01C08825 */ move $s1, $t6 -spectrum_op_A7: -/* 10DAC0 7F0D8F90 8FAF028C */ lw $t7, 0x28c($sp) -/* 10DAC4 7F0D8F94 3C0E8009 */ lui $t6, %hi(ptr_pc_keyboard_table_alloc) -/* 10DAC8 7F0D8F98 8DCEE334 */ lw $t6, %lo(ptr_pc_keyboard_table_alloc)($t6) -/* 10DACC 7F0D8F9C 02108024 */ and $s0, $s0, $s0 -/* 10DAD0 7F0D8FA0 321900FF */ andi $t9, $s0, 0xff -/* 10DAD4 7F0D8FA4 25ED0004 */ addiu $t5, $t7, 4 -/* 10DAD8 7F0D8FA8 2F280001 */ sltiu $t0, $t9, 1 -/* 10DADC 7F0D8FAC AFAD028C */ sw $t5, 0x28c($sp) -/* 10DAE0 7F0D8FB0 AFA80048 */ sw $t0, 0x48($sp) -/* 10DAE4 7F0D8FB4 032E7821 */ addu $t7, $t9, $t6 -/* 10DAE8 7F0D8FB8 91ED0000 */ lbu $t5, ($t7) -/* 10DAEC 7F0D8FBC 00086180 */ sll $t4, $t0, 6 -/* 10DAF0 7F0D8FC0 332900A8 */ andi $t1, $t9, 0xa8 -/* 10DAF4 7F0D8FC4 012CC025 */ or $t8, $t1, $t4 -/* 10DAF8 7F0D8FC8 370A0010 */ ori $t2, $t8, 0x10 -/* 10DAFC 7F0D8FCC 03208025 */ move $s0, $t9 -/* 10DB00 7F0D8FD0 01AA8825 */ or $s1, $t5, $t2 -/* 10DB04 7F0D8FD4 323900FF */ andi $t9, $s1, 0xff -/* 10DB08 7F0D8FD8 10002608 */ b .L7F0E27FC -/* 10DB0C 7F0D8FDC 03208825 */ move $s1, $t9 -spectrum_op_A8: -/* 10DB10 7F0D8FE0 8FA8028C */ lw $t0, 0x28c($sp) -/* 10DB14 7F0D8FE4 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 10DB18 7F0D8FE8 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 10DB1C 7F0D8FEC 02128026 */ xor $s0, $s0, $s2 -/* 10DB20 7F0D8FF0 320900FF */ andi $t1, $s0, 0xff -/* 10DB24 7F0D8FF4 2D2C0001 */ sltiu $t4, $t1, 1 -/* 10DB28 7F0D8FF8 250B0004 */ addiu $t3, $t0, 4 -/* 10DB2C 7F0D8FFC AFAB028C */ sw $t3, 0x28c($sp) -/* 10DB30 7F0D9000 AFAC0048 */ sw $t4, 0x48($sp) -/* 10DB34 7F0D9004 012AC821 */ addu $t9, $t1, $t2 -/* 10DB38 7F0D9008 93280000 */ lbu $t0, ($t9) -/* 10DB3C 7F0D900C 000C7980 */ sll $t7, $t4, 6 -/* 10DB40 7F0D9010 313800A8 */ andi $t8, $t1, 0xa8 -/* 10DB44 7F0D9014 030F6825 */ or $t5, $t8, $t7 -/* 10DB48 7F0D9018 010D8825 */ or $s1, $t0, $t5 -/* 10DB4C 7F0D901C 322B00FF */ andi $t3, $s1, 0xff -/* 10DB50 7F0D9020 01608825 */ move $s1, $t3 -/* 10DB54 7F0D9024 100025F5 */ b .L7F0E27FC -/* 10DB58 7F0D9028 01208025 */ move $s0, $t1 -spectrum_op_A9: -/* 10DB5C 7F0D902C 8FA9028C */ lw $t1, 0x28c($sp) -/* 10DB60 7F0D9030 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 10DB64 7F0D9034 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 10DB68 7F0D9038 02138026 */ xor $s0, $s0, $s3 -/* 10DB6C 7F0D903C 320E00FF */ andi $t6, $s0, 0xff -/* 10DB70 7F0D9040 2DD80001 */ sltiu $t8, $t6, 1 -/* 10DB74 7F0D9044 252C0004 */ addiu $t4, $t1, 4 -/* 10DB78 7F0D9048 AFAC028C */ sw $t4, 0x28c($sp) -/* 10DB7C 7F0D904C AFB80048 */ sw $t8, 0x48($sp) -/* 10DB80 7F0D9050 01CD5821 */ addu $t3, $t6, $t5 -/* 10DB84 7F0D9054 91690000 */ lbu $t1, ($t3) -/* 10DB88 7F0D9058 0018C980 */ sll $t9, $t8, 6 -/* 10DB8C 7F0D905C 31CF00A8 */ andi $t7, $t6, 0xa8 -/* 10DB90 7F0D9060 01F94025 */ or $t0, $t7, $t9 -/* 10DB94 7F0D9064 01288825 */ or $s1, $t1, $t0 -/* 10DB98 7F0D9068 322C00FF */ andi $t4, $s1, 0xff -/* 10DB9C 7F0D906C 01808825 */ move $s1, $t4 -/* 10DBA0 7F0D9070 100025E2 */ b .L7F0E27FC -/* 10DBA4 7F0D9074 01C08025 */ move $s0, $t6 -spectrum_op_AA: -/* 10DBA8 7F0D9078 8FAE028C */ lw $t6, 0x28c($sp) -/* 10DBAC 7F0D907C 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 10DBB0 7F0D9080 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 10DBB4 7F0D9084 02148026 */ xor $s0, $s0, $s4 -/* 10DBB8 7F0D9088 320A00FF */ andi $t2, $s0, 0xff -/* 10DBBC 7F0D908C 2D4F0001 */ sltiu $t7, $t2, 1 -/* 10DBC0 7F0D9090 25D80004 */ addiu $t8, $t6, 4 -/* 10DBC4 7F0D9094 AFB8028C */ sw $t8, 0x28c($sp) -/* 10DBC8 7F0D9098 AFAF0048 */ sw $t7, 0x48($sp) -/* 10DBCC 7F0D909C 01486021 */ addu $t4, $t2, $t0 -/* 10DBD0 7F0D90A0 918E0000 */ lbu $t6, ($t4) -/* 10DBD4 7F0D90A4 000F5980 */ sll $t3, $t7, 6 -/* 10DBD8 7F0D90A8 315900A8 */ andi $t9, $t2, 0xa8 -/* 10DBDC 7F0D90AC 032B4825 */ or $t1, $t9, $t3 -/* 10DBE0 7F0D90B0 01C98825 */ or $s1, $t6, $t1 -/* 10DBE4 7F0D90B4 323800FF */ andi $t8, $s1, 0xff -/* 10DBE8 7F0D90B8 03008825 */ move $s1, $t8 -/* 10DBEC 7F0D90BC 100025CF */ b .L7F0E27FC -/* 10DBF0 7F0D90C0 01408025 */ move $s0, $t2 -spectrum_op_AB: -/* 10DBF4 7F0D90C4 8FAA028C */ lw $t2, 0x28c($sp) -/* 10DBF8 7F0D90C8 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 10DBFC 7F0D90CC 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 10DC00 7F0D90D0 02158026 */ xor $s0, $s0, $s5 -/* 10DC04 7F0D90D4 320D00FF */ andi $t5, $s0, 0xff -/* 10DC08 7F0D90D8 2DB90001 */ sltiu $t9, $t5, 1 -/* 10DC0C 7F0D90DC 254F0004 */ addiu $t7, $t2, 4 -/* 10DC10 7F0D90E0 AFAF028C */ sw $t7, 0x28c($sp) -/* 10DC14 7F0D90E4 AFB90048 */ sw $t9, 0x48($sp) -/* 10DC18 7F0D90E8 01A9C021 */ addu $t8, $t5, $t1 -/* 10DC1C 7F0D90EC 930A0000 */ lbu $t2, ($t8) -/* 10DC20 7F0D90F0 00196180 */ sll $t4, $t9, 6 -/* 10DC24 7F0D90F4 31AB00A8 */ andi $t3, $t5, 0xa8 -/* 10DC28 7F0D90F8 016C7025 */ or $t6, $t3, $t4 -/* 10DC2C 7F0D90FC 014E8825 */ or $s1, $t2, $t6 -/* 10DC30 7F0D9100 322F00FF */ andi $t7, $s1, 0xff -/* 10DC34 7F0D9104 01E08825 */ move $s1, $t7 -/* 10DC38 7F0D9108 100025BC */ b .L7F0E27FC -/* 10DC3C 7F0D910C 01A08025 */ move $s0, $t5 -spectrum_op_AC: -/* 10DC40 7F0D9110 8FAD028C */ lw $t5, 0x28c($sp) -/* 10DC44 7F0D9114 93A80287 */ lbu $t0, 0x287($sp) -/* 10DC48 7F0D9118 93AB0287 */ lbu $t3, 0x287($sp) -/* 10DC4C 7F0D911C 25B90004 */ addiu $t9, $t5, 4 -/* 10DC50 7F0D9120 15000003 */ bnez $t0, .L7F0D9130 -/* 10DC54 7F0D9124 AFB9028C */ sw $t9, 0x28c($sp) -/* 10DC58 7F0D9128 1000000C */ b .L7F0D915C -/* 10DC5C 7F0D912C AFB60048 */ sw $s6, 0x48($sp) -.L7F0D9130: -/* 10DC60 7F0D9130 24010001 */ li $at, 1 -/* 10DC64 7F0D9134 15610005 */ bne $t3, $at, .L7F0D914C -/* 10DC68 7F0D9138 97B80294 */ lhu $t8, 0x294($sp) -/* 10DC6C 7F0D913C 97AC0296 */ lhu $t4, 0x296($sp) -/* 10DC70 7F0D9140 000C4A03 */ sra $t1, $t4, 8 -/* 10DC74 7F0D9144 10000003 */ b .L7F0D9154 -/* 10DC78 7F0D9148 AFA90044 */ sw $t1, 0x44($sp) -.L7F0D914C: -/* 10DC7C 7F0D914C 00185203 */ sra $t2, $t8, 8 -/* 10DC80 7F0D9150 AFAA0044 */ sw $t2, 0x44($sp) -.L7F0D9154: -/* 10DC84 7F0D9154 8FAE0044 */ lw $t6, 0x44($sp) -/* 10DC88 7F0D9158 AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D915C: -/* 10DC8C 7F0D915C 8FAF0048 */ lw $t7, 0x48($sp) -/* 10DC90 7F0D9160 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 10DC94 7F0D9164 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 10DC98 7F0D9168 020F8026 */ xor $s0, $s0, $t7 -/* 10DC9C 7F0D916C 320D00FF */ andi $t5, $s0, 0xff -/* 10DCA0 7F0D9170 2DB90001 */ sltiu $t9, $t5, 1 -/* 10DCA4 7F0D9174 AFB90048 */ sw $t9, 0x48($sp) -/* 10DCA8 7F0D9178 01B85021 */ addu $t2, $t5, $t8 -/* 10DCAC 7F0D917C 914E0000 */ lbu $t6, ($t2) -/* 10DCB0 7F0D9180 00196180 */ sll $t4, $t9, 6 -/* 10DCB4 7F0D9184 31A800A8 */ andi $t0, $t5, 0xa8 -/* 10DCB8 7F0D9188 010C4825 */ or $t1, $t0, $t4 -/* 10DCBC 7F0D918C 01C98825 */ or $s1, $t6, $t1 -/* 10DCC0 7F0D9190 322F00FF */ andi $t7, $s1, 0xff -/* 10DCC4 7F0D9194 01E08825 */ move $s1, $t7 -/* 10DCC8 7F0D9198 10002598 */ b .L7F0E27FC -/* 10DCCC 7F0D919C 01A08025 */ move $s0, $t5 -spectrum_op_AD: -/* 10DCD0 7F0D91A0 8FAD028C */ lw $t5, 0x28c($sp) -/* 10DCD4 7F0D91A4 93AB0287 */ lbu $t3, 0x287($sp) -/* 10DCD8 7F0D91A8 93A80287 */ lbu $t0, 0x287($sp) -/* 10DCDC 7F0D91AC 25B90004 */ addiu $t9, $t5, 4 -/* 10DCE0 7F0D91B0 15600003 */ bnez $t3, .L7F0D91C0 -/* 10DCE4 7F0D91B4 AFB9028C */ sw $t9, 0x28c($sp) -/* 10DCE8 7F0D91B8 1000000C */ b .L7F0D91EC -/* 10DCEC 7F0D91BC AFB70048 */ sw $s7, 0x48($sp) -.L7F0D91C0: -/* 10DCF0 7F0D91C0 24010001 */ li $at, 1 -/* 10DCF4 7F0D91C4 15010005 */ bne $t0, $at, .L7F0D91DC -/* 10DCF8 7F0D91C8 97AA0294 */ lhu $t2, 0x294($sp) -/* 10DCFC 7F0D91CC 97AC0296 */ lhu $t4, 0x296($sp) -/* 10DD00 7F0D91D0 319800FF */ andi $t8, $t4, 0xff -/* 10DD04 7F0D91D4 10000003 */ b .L7F0D91E4 -/* 10DD08 7F0D91D8 AFB80044 */ sw $t8, 0x44($sp) -.L7F0D91DC: -/* 10DD0C 7F0D91DC 314E00FF */ andi $t6, $t2, 0xff -/* 10DD10 7F0D91E0 AFAE0044 */ sw $t6, 0x44($sp) -.L7F0D91E4: -/* 10DD14 7F0D91E4 8FA90044 */ lw $t1, 0x44($sp) -/* 10DD18 7F0D91E8 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D91EC: -/* 10DD1C 7F0D91EC 8FAF0048 */ lw $t7, 0x48($sp) -/* 10DD20 7F0D91F0 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 10DD24 7F0D91F4 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 10DD28 7F0D91F8 020F8026 */ xor $s0, $s0, $t7 -/* 10DD2C 7F0D91FC 320D00FF */ andi $t5, $s0, 0xff -/* 10DD30 7F0D9200 2DB90001 */ sltiu $t9, $t5, 1 -/* 10DD34 7F0D9204 AFB90048 */ sw $t9, 0x48($sp) -/* 10DD38 7F0D9208 01AA7021 */ addu $t6, $t5, $t2 -/* 10DD3C 7F0D920C 91C90000 */ lbu $t1, ($t6) -/* 10DD40 7F0D9210 00196180 */ sll $t4, $t9, 6 -/* 10DD44 7F0D9214 31AB00A8 */ andi $t3, $t5, 0xa8 -/* 10DD48 7F0D9218 016CC025 */ or $t8, $t3, $t4 -/* 10DD4C 7F0D921C 01388825 */ or $s1, $t1, $t8 -/* 10DD50 7F0D9220 322F00FF */ andi $t7, $s1, 0xff -/* 10DD54 7F0D9224 01E08825 */ move $s1, $t7 -/* 10DD58 7F0D9228 10002574 */ b .L7F0E27FC -/* 10DD5C 7F0D922C 01A08025 */ move $s0, $t5 -spectrum_op_AE: -/* 10DD60 7F0D9230 8FAD028C */ lw $t5, 0x28c($sp) -/* 10DD64 7F0D9234 93A80287 */ lbu $t0, 0x287($sp) -/* 10DD68 7F0D9238 00165A00 */ sll $t3, $s6, 8 -/* 10DD6C 7F0D923C 25B90007 */ addiu $t9, $t5, 7 -/* 10DD70 7F0D9240 15000004 */ bnez $t0, .L7F0D9254 -/* 10DD74 7F0D9244 AFB9028C */ sw $t9, 0x28c($sp) -/* 10DD78 7F0D9248 01776025 */ or $t4, $t3, $s7 -/* 10DD7C 7F0D924C 10000016 */ b .L7F0D92A8 -/* 10DD80 7F0D9250 A7AC0166 */ sh $t4, 0x166($sp) -.L7F0D9254: -/* 10DD84 7F0D9254 8FAA028C */ lw $t2, 0x28c($sp) -/* 10DD88 7F0D9258 93A90287 */ lbu $t1, 0x287($sp) -/* 10DD8C 7F0D925C 24010001 */ li $at, 1 -/* 10DD90 7F0D9260 254E0008 */ addiu $t6, $t2, 8 -/* 10DD94 7F0D9264 15210004 */ bne $t1, $at, .L7F0D9278 -/* 10DD98 7F0D9268 AFAE028C */ sw $t6, 0x28c($sp) -/* 10DD9C 7F0D926C 97B80296 */ lhu $t8, 0x296($sp) -/* 10DDA0 7F0D9270 10000003 */ b .L7F0D9280 -/* 10DDA4 7F0D9274 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D9278: -/* 10DDA8 7F0D9278 97AF0294 */ lhu $t7, 0x294($sp) -/* 10DDAC 7F0D927C AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D9280: -/* 10DDB0 7F0D9280 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10DDB4 7F0D9284 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10DDB8 7F0D9288 97AD0298 */ lhu $t5, 0x298($sp) -/* 10DDBC 7F0D928C 8FAC0048 */ lw $t4, 0x48($sp) -/* 10DDC0 7F0D9290 01B94021 */ addu $t0, $t5, $t9 -/* 10DDC4 7F0D9294 810B0000 */ lb $t3, ($t0) -/* 10DDC8 7F0D9298 25AE0001 */ addiu $t6, $t5, 1 -/* 10DDCC 7F0D929C A7AE0298 */ sh $t6, 0x298($sp) -/* 10DDD0 7F0D92A0 016C5021 */ addu $t2, $t3, $t4 -/* 10DDD4 7F0D92A4 A7AA0166 */ sh $t2, 0x166($sp) -.L7F0D92A8: -/* 10DDD8 7F0D92A8 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10DDDC 7F0D92AC 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10DDE0 7F0D92B0 97B80166 */ lhu $t8, 0x166($sp) -/* 10DDE4 7F0D92B4 01387821 */ addu $t7, $t1, $t8 -/* 10DDE8 7F0D92B8 91F90000 */ lbu $t9, ($t7) -/* 10DDEC 7F0D92BC 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 10DDF0 7F0D92C0 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 10DDF4 7F0D92C4 02198026 */ xor $s0, $s0, $t9 -/* 10DDF8 7F0D92C8 320800FF */ andi $t0, $s0, 0xff -/* 10DDFC 7F0D92CC 2D0B0001 */ sltiu $t3, $t0, 1 -/* 10DE00 7F0D92D0 AFAB0048 */ sw $t3, 0x48($sp) -/* 10DE04 7F0D92D4 0109C021 */ addu $t8, $t0, $t1 -/* 10DE08 7F0D92D8 930F0000 */ lbu $t7, ($t8) -/* 10DE0C 7F0D92DC 000B6980 */ sll $t5, $t3, 6 -/* 10DE10 7F0D92E0 310C00A8 */ andi $t4, $t0, 0xa8 -/* 10DE14 7F0D92E4 018D7025 */ or $t6, $t4, $t5 -/* 10DE18 7F0D92E8 01EE8825 */ or $s1, $t7, $t6 -/* 10DE1C 7F0D92EC 323900FF */ andi $t9, $s1, 0xff -/* 10DE20 7F0D92F0 03208825 */ move $s1, $t9 -/* 10DE24 7F0D92F4 10002541 */ b .L7F0E27FC -/* 10DE28 7F0D92F8 01008025 */ move $s0, $t0 -spectrum_op_AF: -/* 10DE2C 7F0D92FC 8FA8028C */ lw $t0, 0x28c($sp) -/* 10DE30 7F0D9300 3C0E8009 */ lui $t6, %hi(ptr_pc_keyboard_table_alloc) -/* 10DE34 7F0D9304 8DCEE334 */ lw $t6, %lo(ptr_pc_keyboard_table_alloc)($t6) -/* 10DE38 7F0D9308 02108026 */ xor $s0, $s0, $s0 -/* 10DE3C 7F0D930C 320A00FF */ andi $t2, $s0, 0xff -/* 10DE40 7F0D9310 2D4C0001 */ sltiu $t4, $t2, 1 -/* 10DE44 7F0D9314 250B0004 */ addiu $t3, $t0, 4 -/* 10DE48 7F0D9318 AFAB028C */ sw $t3, 0x28c($sp) -/* 10DE4C 7F0D931C AFAC0048 */ sw $t4, 0x48($sp) -/* 10DE50 7F0D9320 014EC821 */ addu $t9, $t2, $t6 -/* 10DE54 7F0D9324 93280000 */ lbu $t0, ($t9) -/* 10DE58 7F0D9328 000CC180 */ sll $t8, $t4, 6 -/* 10DE5C 7F0D932C 314D00A8 */ andi $t5, $t2, 0xa8 -/* 10DE60 7F0D9330 01B87825 */ or $t7, $t5, $t8 -/* 10DE64 7F0D9334 010F8825 */ or $s1, $t0, $t7 -/* 10DE68 7F0D9338 322B00FF */ andi $t3, $s1, 0xff -/* 10DE6C 7F0D933C 01608825 */ move $s1, $t3 -/* 10DE70 7F0D9340 1000252E */ b .L7F0E27FC -/* 10DE74 7F0D9344 01408025 */ move $s0, $t2 -spectrum_op_B0: -/* 10DE78 7F0D9348 8FAA028C */ lw $t2, 0x28c($sp) -/* 10DE7C 7F0D934C 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 10DE80 7F0D9350 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 10DE84 7F0D9354 02128025 */ or $s0, $s0, $s2 -/* 10DE88 7F0D9358 320900FF */ andi $t1, $s0, 0xff -/* 10DE8C 7F0D935C 2D2D0001 */ sltiu $t5, $t1, 1 -/* 10DE90 7F0D9360 254C0004 */ addiu $t4, $t2, 4 -/* 10DE94 7F0D9364 AFAC028C */ sw $t4, 0x28c($sp) -/* 10DE98 7F0D9368 AFAD0048 */ sw $t5, 0x48($sp) -/* 10DE9C 7F0D936C 012F5821 */ addu $t3, $t1, $t7 -/* 10DEA0 7F0D9370 916A0000 */ lbu $t2, ($t3) -/* 10DEA4 7F0D9374 000DC980 */ sll $t9, $t5, 6 -/* 10DEA8 7F0D9378 313800A8 */ andi $t8, $t1, 0xa8 -/* 10DEAC 7F0D937C 03194025 */ or $t0, $t8, $t9 -/* 10DEB0 7F0D9380 01488825 */ or $s1, $t2, $t0 -/* 10DEB4 7F0D9384 322C00FF */ andi $t4, $s1, 0xff -/* 10DEB8 7F0D9388 01808825 */ move $s1, $t4 -/* 10DEBC 7F0D938C 1000251B */ b .L7F0E27FC -/* 10DEC0 7F0D9390 01208025 */ move $s0, $t1 -spectrum_op_B1: -/* 10DEC4 7F0D9394 8FA9028C */ lw $t1, 0x28c($sp) -/* 10DEC8 7F0D9398 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 10DECC 7F0D939C 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 10DED0 7F0D93A0 02138025 */ or $s0, $s0, $s3 -/* 10DED4 7F0D93A4 320E00FF */ andi $t6, $s0, 0xff -/* 10DED8 7F0D93A8 2DD80001 */ sltiu $t8, $t6, 1 -/* 10DEDC 7F0D93AC 252D0004 */ addiu $t5, $t1, 4 -/* 10DEE0 7F0D93B0 AFAD028C */ sw $t5, 0x28c($sp) -/* 10DEE4 7F0D93B4 AFB80048 */ sw $t8, 0x48($sp) -/* 10DEE8 7F0D93B8 01C86021 */ addu $t4, $t6, $t0 -/* 10DEEC 7F0D93BC 91890000 */ lbu $t1, ($t4) -/* 10DEF0 7F0D93C0 00185980 */ sll $t3, $t8, 6 -/* 10DEF4 7F0D93C4 31D900A8 */ andi $t9, $t6, 0xa8 -/* 10DEF8 7F0D93C8 032B5025 */ or $t2, $t9, $t3 -/* 10DEFC 7F0D93CC 012A8825 */ or $s1, $t1, $t2 -/* 10DF00 7F0D93D0 322D00FF */ andi $t5, $s1, 0xff -/* 10DF04 7F0D93D4 01A08825 */ move $s1, $t5 -/* 10DF08 7F0D93D8 10002508 */ b .L7F0E27FC -/* 10DF0C 7F0D93DC 01C08025 */ move $s0, $t6 -spectrum_op_B2: -/* 10DF10 7F0D93E0 8FAE028C */ lw $t6, 0x28c($sp) -/* 10DF14 7F0D93E4 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 10DF18 7F0D93E8 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 10DF1C 7F0D93EC 02148025 */ or $s0, $s0, $s4 -/* 10DF20 7F0D93F0 320F00FF */ andi $t7, $s0, 0xff -/* 10DF24 7F0D93F4 2DF90001 */ sltiu $t9, $t7, 1 -/* 10DF28 7F0D93F8 25D80004 */ addiu $t8, $t6, 4 -/* 10DF2C 7F0D93FC AFB8028C */ sw $t8, 0x28c($sp) -/* 10DF30 7F0D9400 AFB90048 */ sw $t9, 0x48($sp) -/* 10DF34 7F0D9404 01EA6821 */ addu $t5, $t7, $t2 -/* 10DF38 7F0D9408 91AE0000 */ lbu $t6, ($t5) -/* 10DF3C 7F0D940C 00196180 */ sll $t4, $t9, 6 -/* 10DF40 7F0D9410 31EB00A8 */ andi $t3, $t7, 0xa8 -/* 10DF44 7F0D9414 016C4825 */ or $t1, $t3, $t4 -/* 10DF48 7F0D9418 01C98825 */ or $s1, $t6, $t1 -/* 10DF4C 7F0D941C 323800FF */ andi $t8, $s1, 0xff -/* 10DF50 7F0D9420 03008825 */ move $s1, $t8 -/* 10DF54 7F0D9424 100024F5 */ b .L7F0E27FC -/* 10DF58 7F0D9428 01E08025 */ move $s0, $t7 -spectrum_op_B3: -/* 10DF5C 7F0D942C 8FAF028C */ lw $t7, 0x28c($sp) -/* 10DF60 7F0D9430 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 10DF64 7F0D9434 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 10DF68 7F0D9438 02158025 */ or $s0, $s0, $s5 -/* 10DF6C 7F0D943C 320800FF */ andi $t0, $s0, 0xff -/* 10DF70 7F0D9440 2D0B0001 */ sltiu $t3, $t0, 1 -/* 10DF74 7F0D9444 25F90004 */ addiu $t9, $t7, 4 -/* 10DF78 7F0D9448 AFB9028C */ sw $t9, 0x28c($sp) -/* 10DF7C 7F0D944C AFAB0048 */ sw $t3, 0x48($sp) -/* 10DF80 7F0D9450 0109C021 */ addu $t8, $t0, $t1 -/* 10DF84 7F0D9454 930F0000 */ lbu $t7, ($t8) -/* 10DF88 7F0D9458 000B6980 */ sll $t5, $t3, 6 -/* 10DF8C 7F0D945C 310C00A8 */ andi $t4, $t0, 0xa8 -/* 10DF90 7F0D9460 018D7025 */ or $t6, $t4, $t5 -/* 10DF94 7F0D9464 01EE8825 */ or $s1, $t7, $t6 -/* 10DF98 7F0D9468 323900FF */ andi $t9, $s1, 0xff -/* 10DF9C 7F0D946C 03208825 */ move $s1, $t9 -/* 10DFA0 7F0D9470 100024E2 */ b .L7F0E27FC -/* 10DFA4 7F0D9474 01008025 */ move $s0, $t0 -spectrum_op_B4: -/* 10DFA8 7F0D9478 8FA8028C */ lw $t0, 0x28c($sp) -/* 10DFAC 7F0D947C 93AA0287 */ lbu $t2, 0x287($sp) -/* 10DFB0 7F0D9480 93AC0287 */ lbu $t4, 0x287($sp) -/* 10DFB4 7F0D9484 250B0004 */ addiu $t3, $t0, 4 -/* 10DFB8 7F0D9488 15400003 */ bnez $t2, .L7F0D9498 -/* 10DFBC 7F0D948C AFAB028C */ sw $t3, 0x28c($sp) -/* 10DFC0 7F0D9490 1000000C */ b .L7F0D94C4 -/* 10DFC4 7F0D9494 AFB60048 */ sw $s6, 0x48($sp) -.L7F0D9498: -/* 10DFC8 7F0D9498 24010001 */ li $at, 1 -/* 10DFCC 7F0D949C 15810005 */ bne $t4, $at, .L7F0D94B4 -/* 10DFD0 7F0D94A0 97B80294 */ lhu $t8, 0x294($sp) -/* 10DFD4 7F0D94A4 97AD0296 */ lhu $t5, 0x296($sp) -/* 10DFD8 7F0D94A8 000D4A03 */ sra $t1, $t5, 8 -/* 10DFDC 7F0D94AC 10000003 */ b .L7F0D94BC -/* 10DFE0 7F0D94B0 AFA90044 */ sw $t1, 0x44($sp) -.L7F0D94B4: -/* 10DFE4 7F0D94B4 00187A03 */ sra $t7, $t8, 8 -/* 10DFE8 7F0D94B8 AFAF0044 */ sw $t7, 0x44($sp) -.L7F0D94BC: -/* 10DFEC 7F0D94BC 8FAE0044 */ lw $t6, 0x44($sp) -/* 10DFF0 7F0D94C0 AFAE0048 */ sw $t6, 0x48($sp) -.L7F0D94C4: -/* 10DFF4 7F0D94C4 8FB90048 */ lw $t9, 0x48($sp) -/* 10DFF8 7F0D94C8 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 10DFFC 7F0D94CC 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 10E000 7F0D94D0 02198025 */ or $s0, $s0, $t9 -/* 10E004 7F0D94D4 320800FF */ andi $t0, $s0, 0xff -/* 10E008 7F0D94D8 2D0B0001 */ sltiu $t3, $t0, 1 -/* 10E00C 7F0D94DC AFAB0048 */ sw $t3, 0x48($sp) -/* 10E010 7F0D94E0 01187821 */ addu $t7, $t0, $t8 -/* 10E014 7F0D94E4 91EE0000 */ lbu $t6, ($t7) -/* 10E018 7F0D94E8 000B6980 */ sll $t5, $t3, 6 -/* 10E01C 7F0D94EC 310A00A8 */ andi $t2, $t0, 0xa8 -/* 10E020 7F0D94F0 014D4825 */ or $t1, $t2, $t5 -/* 10E024 7F0D94F4 01C98825 */ or $s1, $t6, $t1 -/* 10E028 7F0D94F8 323900FF */ andi $t9, $s1, 0xff -/* 10E02C 7F0D94FC 03208825 */ move $s1, $t9 -/* 10E030 7F0D9500 100024BE */ b .L7F0E27FC -/* 10E034 7F0D9504 01008025 */ move $s0, $t0 -spectrum_op_B5: -/* 10E038 7F0D9508 8FA8028C */ lw $t0, 0x28c($sp) -/* 10E03C 7F0D950C 93AC0287 */ lbu $t4, 0x287($sp) -/* 10E040 7F0D9510 93AA0287 */ lbu $t2, 0x287($sp) -/* 10E044 7F0D9514 250B0004 */ addiu $t3, $t0, 4 -/* 10E048 7F0D9518 15800003 */ bnez $t4, .L7F0D9528 -/* 10E04C 7F0D951C AFAB028C */ sw $t3, 0x28c($sp) -/* 10E050 7F0D9520 1000000C */ b .L7F0D9554 -/* 10E054 7F0D9524 AFB70048 */ sw $s7, 0x48($sp) -.L7F0D9528: -/* 10E058 7F0D9528 24010001 */ li $at, 1 -/* 10E05C 7F0D952C 15410005 */ bne $t2, $at, .L7F0D9544 -/* 10E060 7F0D9530 97AF0294 */ lhu $t7, 0x294($sp) -/* 10E064 7F0D9534 97AD0296 */ lhu $t5, 0x296($sp) -/* 10E068 7F0D9538 31B800FF */ andi $t8, $t5, 0xff -/* 10E06C 7F0D953C 10000003 */ b .L7F0D954C -/* 10E070 7F0D9540 AFB80044 */ sw $t8, 0x44($sp) -.L7F0D9544: -/* 10E074 7F0D9544 31EE00FF */ andi $t6, $t7, 0xff -/* 10E078 7F0D9548 AFAE0044 */ sw $t6, 0x44($sp) -.L7F0D954C: -/* 10E07C 7F0D954C 8FA90044 */ lw $t1, 0x44($sp) -/* 10E080 7F0D9550 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D9554: -/* 10E084 7F0D9554 8FB90048 */ lw $t9, 0x48($sp) -/* 10E088 7F0D9558 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 10E08C 7F0D955C 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 10E090 7F0D9560 02198025 */ or $s0, $s0, $t9 -/* 10E094 7F0D9564 320800FF */ andi $t0, $s0, 0xff -/* 10E098 7F0D9568 2D0B0001 */ sltiu $t3, $t0, 1 -/* 10E09C 7F0D956C AFAB0048 */ sw $t3, 0x48($sp) -/* 10E0A0 7F0D9570 010F7021 */ addu $t6, $t0, $t7 -/* 10E0A4 7F0D9574 91C90000 */ lbu $t1, ($t6) -/* 10E0A8 7F0D9578 000B6980 */ sll $t5, $t3, 6 -/* 10E0AC 7F0D957C 310C00A8 */ andi $t4, $t0, 0xa8 -/* 10E0B0 7F0D9580 018DC025 */ or $t8, $t4, $t5 -/* 10E0B4 7F0D9584 01388825 */ or $s1, $t1, $t8 -/* 10E0B8 7F0D9588 323900FF */ andi $t9, $s1, 0xff -/* 10E0BC 7F0D958C 03208825 */ move $s1, $t9 -/* 10E0C0 7F0D9590 1000249A */ b .L7F0E27FC -/* 10E0C4 7F0D9594 01008025 */ move $s0, $t0 -spectrum_op_B6: -/* 10E0C8 7F0D9598 8FA8028C */ lw $t0, 0x28c($sp) -/* 10E0CC 7F0D959C 93AA0287 */ lbu $t2, 0x287($sp) -/* 10E0D0 7F0D95A0 00166200 */ sll $t4, $s6, 8 -/* 10E0D4 7F0D95A4 250B0007 */ addiu $t3, $t0, 7 -/* 10E0D8 7F0D95A8 15400004 */ bnez $t2, .L7F0D95BC -/* 10E0DC 7F0D95AC AFAB028C */ sw $t3, 0x28c($sp) -/* 10E0E0 7F0D95B0 01976825 */ or $t5, $t4, $s7 -/* 10E0E4 7F0D95B4 10000016 */ b .L7F0D9610 -/* 10E0E8 7F0D95B8 A7AD0164 */ sh $t5, 0x164($sp) -.L7F0D95BC: -/* 10E0EC 7F0D95BC 8FAF028C */ lw $t7, 0x28c($sp) -/* 10E0F0 7F0D95C0 93A90287 */ lbu $t1, 0x287($sp) -/* 10E0F4 7F0D95C4 24010001 */ li $at, 1 -/* 10E0F8 7F0D95C8 25EE0008 */ addiu $t6, $t7, 8 -/* 10E0FC 7F0D95CC 15210004 */ bne $t1, $at, .L7F0D95E0 -/* 10E100 7F0D95D0 AFAE028C */ sw $t6, 0x28c($sp) -/* 10E104 7F0D95D4 97B80296 */ lhu $t8, 0x296($sp) -/* 10E108 7F0D95D8 10000003 */ b .L7F0D95E8 -/* 10E10C 7F0D95DC AFB80048 */ sw $t8, 0x48($sp) -.L7F0D95E0: -/* 10E110 7F0D95E0 97B90294 */ lhu $t9, 0x294($sp) -/* 10E114 7F0D95E4 AFB90048 */ sw $t9, 0x48($sp) -.L7F0D95E8: -/* 10E118 7F0D95E8 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10E11C 7F0D95EC 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10E120 7F0D95F0 97A80298 */ lhu $t0, 0x298($sp) -/* 10E124 7F0D95F4 8FAD0048 */ lw $t5, 0x48($sp) -/* 10E128 7F0D95F8 010B5021 */ addu $t2, $t0, $t3 -/* 10E12C 7F0D95FC 814C0000 */ lb $t4, ($t2) -/* 10E130 7F0D9600 250E0001 */ addiu $t6, $t0, 1 -/* 10E134 7F0D9604 A7AE0298 */ sh $t6, 0x298($sp) -/* 10E138 7F0D9608 018D7821 */ addu $t7, $t4, $t5 -/* 10E13C 7F0D960C A7AF0164 */ sh $t7, 0x164($sp) -.L7F0D9610: -/* 10E140 7F0D9610 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10E144 7F0D9614 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10E148 7F0D9618 97B80164 */ lhu $t8, 0x164($sp) -/* 10E14C 7F0D961C 0138C821 */ addu $t9, $t1, $t8 -/* 10E150 7F0D9620 932B0000 */ lbu $t3, ($t9) -/* 10E154 7F0D9624 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 10E158 7F0D9628 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 10E15C 7F0D962C 020B8025 */ or $s0, $s0, $t3 -/* 10E160 7F0D9630 320A00FF */ andi $t2, $s0, 0xff -/* 10E164 7F0D9634 2D4C0001 */ sltiu $t4, $t2, 1 -/* 10E168 7F0D9638 AFAC0048 */ sw $t4, 0x48($sp) -/* 10E16C 7F0D963C 0149C021 */ addu $t8, $t2, $t1 -/* 10E170 7F0D9640 93190000 */ lbu $t9, ($t8) -/* 10E174 7F0D9644 000C4180 */ sll $t0, $t4, 6 -/* 10E178 7F0D9648 314D00A8 */ andi $t5, $t2, 0xa8 -/* 10E17C 7F0D964C 01A87025 */ or $t6, $t5, $t0 -/* 10E180 7F0D9650 032E8825 */ or $s1, $t9, $t6 -/* 10E184 7F0D9654 322B00FF */ andi $t3, $s1, 0xff -/* 10E188 7F0D9658 01608825 */ move $s1, $t3 -/* 10E18C 7F0D965C 10002467 */ b .L7F0E27FC -/* 10E190 7F0D9660 01408025 */ move $s0, $t2 -spectrum_op_B7: -/* 10E194 7F0D9664 8FAA028C */ lw $t2, 0x28c($sp) -/* 10E198 7F0D9668 3C0E8009 */ lui $t6, %hi(ptr_pc_keyboard_table_alloc) -/* 10E19C 7F0D966C 8DCEE334 */ lw $t6, %lo(ptr_pc_keyboard_table_alloc)($t6) -/* 10E1A0 7F0D9670 02108025 */ or $s0, $s0, $s0 -/* 10E1A4 7F0D9674 320F00FF */ andi $t7, $s0, 0xff -/* 10E1A8 7F0D9678 2DED0001 */ sltiu $t5, $t7, 1 -/* 10E1AC 7F0D967C 254C0004 */ addiu $t4, $t2, 4 -/* 10E1B0 7F0D9680 AFAC028C */ sw $t4, 0x28c($sp) -/* 10E1B4 7F0D9684 AFAD0048 */ sw $t5, 0x48($sp) -/* 10E1B8 7F0D9688 01EE5821 */ addu $t3, $t7, $t6 -/* 10E1BC 7F0D968C 916A0000 */ lbu $t2, ($t3) -/* 10E1C0 7F0D9690 000DC180 */ sll $t8, $t5, 6 -/* 10E1C4 7F0D9694 31E800A8 */ andi $t0, $t7, 0xa8 -/* 10E1C8 7F0D9698 0118C825 */ or $t9, $t0, $t8 -/* 10E1CC 7F0D969C 01598825 */ or $s1, $t2, $t9 -/* 10E1D0 7F0D96A0 322C00FF */ andi $t4, $s1, 0xff -/* 10E1D4 7F0D96A4 01808825 */ move $s1, $t4 -/* 10E1D8 7F0D96A8 10002454 */ b .L7F0E27FC -/* 10E1DC 7F0D96AC 01E08025 */ move $s0, $t7 -spectrum_op_B8: -/* 10E1E0 7F0D96B0 324900FF */ andi $t1, $s2, 0xff -/* 10E1E4 7F0D96B4 02094023 */ subu $t0, $s0, $t1 -/* 10E1E8 7F0D96B8 8FAF028C */ lw $t7, 0x28c($sp) -/* 10E1EC 7F0D96BC 311801FF */ andi $t8, $t0, 0x1ff -/* 10E1F0 7F0D96C0 330EFFFF */ andi $t6, $t8, 0xffff -/* 10E1F4 7F0D96C4 2DCB0001 */ sltiu $t3, $t6, 1 -/* 10E1F8 7F0D96C8 312E000F */ andi $t6, $t1, 0xf -/* 10E1FC 7F0D96CC 3208000F */ andi $t0, $s0, 0xf -/* 10E200 7F0D96D0 25ED0004 */ addiu $t5, $t7, 4 -/* 10E204 7F0D96D4 010E502A */ slt $t2, $t0, $t6 -/* 10E208 7F0D96D8 AFAD028C */ sw $t5, 0x28c($sp) -/* 10E20C 7F0D96DC 00187A03 */ sra $t7, $t8, 8 -/* 10E210 7F0D96E0 331900A8 */ andi $t9, $t8, 0xa8 -/* 10E214 7F0D96E4 032F6825 */ or $t5, $t9, $t7 -/* 10E218 7F0D96E8 000A6100 */ sll $t4, $t2, 4 -/* 10E21C 7F0D96EC 02097826 */ xor $t7, $s0, $t1 -/* 10E220 7F0D96F0 03007025 */ move $t6, $t8 -/* 10E224 7F0D96F4 01D05026 */ xor $t2, $t6, $s0 -/* 10E228 7F0D96F8 31E80080 */ andi $t0, $t7, 0x80 -/* 10E22C 7F0D96FC 01ACC825 */ or $t9, $t5, $t4 -/* 10E230 7F0D9700 010A6824 */ and $t5, $t0, $t2 -/* 10E234 7F0D9704 000D6143 */ sra $t4, $t5, 5 -/* 10E238 7F0D9708 032C4825 */ or $t1, $t9, $t4 -/* 10E23C 7F0D970C A7B80162 */ sh $t8, 0x162($sp) -/* 10E240 7F0D9710 000BC180 */ sll $t8, $t3, 6 -/* 10E244 7F0D9714 352F0002 */ ori $t7, $t1, 2 -/* 10E248 7F0D9718 01F88825 */ or $s1, $t7, $t8 -/* 10E24C 7F0D971C 322E00FF */ andi $t6, $s1, 0xff -/* 10E250 7F0D9720 01C08825 */ move $s1, $t6 -/* 10E254 7F0D9724 AFAB0048 */ sw $t3, 0x48($sp) -/* 10E258 7F0D9728 10002434 */ b .L7F0E27FC -/* 10E25C 7F0D972C A3B20161 */ sb $s2, 0x161($sp) -spectrum_op_B9: -/* 10E260 7F0D9730 326D00FF */ andi $t5, $s3, 0xff -/* 10E264 7F0D9734 020DC823 */ subu $t9, $s0, $t5 -/* 10E268 7F0D9738 8FA8028C */ lw $t0, 0x28c($sp) -/* 10E26C 7F0D973C 332C01FF */ andi $t4, $t9, 0x1ff -/* 10E270 7F0D9740 3189FFFF */ andi $t1, $t4, 0xffff -/* 10E274 7F0D9744 2D2B0001 */ sltiu $t3, $t1, 1 -/* 10E278 7F0D9748 31A9000F */ andi $t1, $t5, 0xf -/* 10E27C 7F0D974C 3219000F */ andi $t9, $s0, 0xf -/* 10E280 7F0D9750 250A0004 */ addiu $t2, $t0, 4 -/* 10E284 7F0D9754 0329782A */ slt $t7, $t9, $t1 -/* 10E288 7F0D9758 AFAA028C */ sw $t2, 0x28c($sp) -/* 10E28C 7F0D975C 000C4203 */ sra $t0, $t4, 8 -/* 10E290 7F0D9760 319800A8 */ andi $t8, $t4, 0xa8 -/* 10E294 7F0D9764 03085025 */ or $t2, $t8, $t0 -/* 10E298 7F0D9768 000F7100 */ sll $t6, $t7, 4 -/* 10E29C 7F0D976C 020D4026 */ xor $t0, $s0, $t5 -/* 10E2A0 7F0D9770 01804825 */ move $t1, $t4 -/* 10E2A4 7F0D9774 01307826 */ xor $t7, $t1, $s0 -/* 10E2A8 7F0D9778 31190080 */ andi $t9, $t0, 0x80 -/* 10E2AC 7F0D977C 014EC025 */ or $t8, $t2, $t6 -/* 10E2B0 7F0D9780 032F5024 */ and $t2, $t9, $t7 -/* 10E2B4 7F0D9784 000A7143 */ sra $t6, $t2, 5 -/* 10E2B8 7F0D9788 030E6825 */ or $t5, $t8, $t6 -/* 10E2BC 7F0D978C A7AC015E */ sh $t4, 0x15e($sp) -/* 10E2C0 7F0D9790 000B6180 */ sll $t4, $t3, 6 -/* 10E2C4 7F0D9794 35A80002 */ ori $t0, $t5, 2 -/* 10E2C8 7F0D9798 010C8825 */ or $s1, $t0, $t4 -/* 10E2CC 7F0D979C 322900FF */ andi $t1, $s1, 0xff -/* 10E2D0 7F0D97A0 01208825 */ move $s1, $t1 -/* 10E2D4 7F0D97A4 AFAB0048 */ sw $t3, 0x48($sp) -/* 10E2D8 7F0D97A8 10002414 */ b .L7F0E27FC -/* 10E2DC 7F0D97AC A3B3015D */ sb $s3, 0x15d($sp) -spectrum_op_BA: -/* 10E2E0 7F0D97B0 328A00FF */ andi $t2, $s4, 0xff -/* 10E2E4 7F0D97B4 020AC023 */ subu $t8, $s0, $t2 -/* 10E2E8 7F0D97B8 8FB9028C */ lw $t9, 0x28c($sp) -/* 10E2EC 7F0D97BC 330E01FF */ andi $t6, $t8, 0x1ff -/* 10E2F0 7F0D97C0 31CDFFFF */ andi $t5, $t6, 0xffff -/* 10E2F4 7F0D97C4 2DAB0001 */ sltiu $t3, $t5, 1 -/* 10E2F8 7F0D97C8 314D000F */ andi $t5, $t2, 0xf -/* 10E2FC 7F0D97CC 3218000F */ andi $t8, $s0, 0xf -/* 10E300 7F0D97D0 272F0004 */ addiu $t7, $t9, 4 -/* 10E304 7F0D97D4 030D402A */ slt $t0, $t8, $t5 -/* 10E308 7F0D97D8 AFAF028C */ sw $t7, 0x28c($sp) -/* 10E30C 7F0D97DC 000ECA03 */ sra $t9, $t6, 8 -/* 10E310 7F0D97E0 31CC00A8 */ andi $t4, $t6, 0xa8 -/* 10E314 7F0D97E4 01997825 */ or $t7, $t4, $t9 -/* 10E318 7F0D97E8 00084900 */ sll $t1, $t0, 4 -/* 10E31C 7F0D97EC 020AC826 */ xor $t9, $s0, $t2 -/* 10E320 7F0D97F0 01C06825 */ move $t5, $t6 -/* 10E324 7F0D97F4 01B04026 */ xor $t0, $t5, $s0 -/* 10E328 7F0D97F8 33380080 */ andi $t8, $t9, 0x80 -/* 10E32C 7F0D97FC 01E96025 */ or $t4, $t7, $t1 -/* 10E330 7F0D9800 03087824 */ and $t7, $t8, $t0 -/* 10E334 7F0D9804 000F4943 */ sra $t1, $t7, 5 -/* 10E338 7F0D9808 01895025 */ or $t2, $t4, $t1 -/* 10E33C 7F0D980C A7AE015A */ sh $t6, 0x15a($sp) -/* 10E340 7F0D9810 000B7180 */ sll $t6, $t3, 6 -/* 10E344 7F0D9814 35590002 */ ori $t9, $t2, 2 -/* 10E348 7F0D9818 032E8825 */ or $s1, $t9, $t6 -/* 10E34C 7F0D981C 322D00FF */ andi $t5, $s1, 0xff -/* 10E350 7F0D9820 01A08825 */ move $s1, $t5 -/* 10E354 7F0D9824 AFAB0048 */ sw $t3, 0x48($sp) -/* 10E358 7F0D9828 100023F4 */ b .L7F0E27FC -/* 10E35C 7F0D982C A3B40159 */ sb $s4, 0x159($sp) -spectrum_op_BB: -/* 10E360 7F0D9830 32AF00FF */ andi $t7, $s5, 0xff -/* 10E364 7F0D9834 020F6023 */ subu $t4, $s0, $t7 -/* 10E368 7F0D9838 8FB8028C */ lw $t8, 0x28c($sp) -/* 10E36C 7F0D983C 318901FF */ andi $t1, $t4, 0x1ff -/* 10E370 7F0D9840 312AFFFF */ andi $t2, $t1, 0xffff -/* 10E374 7F0D9844 2D4B0001 */ sltiu $t3, $t2, 1 -/* 10E378 7F0D9848 31EA000F */ andi $t2, $t7, 0xf -/* 10E37C 7F0D984C 320C000F */ andi $t4, $s0, 0xf -/* 10E380 7F0D9850 27080004 */ addiu $t0, $t8, 4 -/* 10E384 7F0D9854 018AC82A */ slt $t9, $t4, $t2 -/* 10E388 7F0D9858 AFA8028C */ sw $t0, 0x28c($sp) -/* 10E38C 7F0D985C 0009C203 */ sra $t8, $t1, 8 -/* 10E390 7F0D9860 312E00A8 */ andi $t6, $t1, 0xa8 -/* 10E394 7F0D9864 01D84025 */ or $t0, $t6, $t8 -/* 10E398 7F0D9868 00196900 */ sll $t5, $t9, 4 -/* 10E39C 7F0D986C 020FC026 */ xor $t8, $s0, $t7 -/* 10E3A0 7F0D9870 01205025 */ move $t2, $t1 -/* 10E3A4 7F0D9874 0150C826 */ xor $t9, $t2, $s0 -/* 10E3A8 7F0D9878 330C0080 */ andi $t4, $t8, 0x80 -/* 10E3AC 7F0D987C 010D7025 */ or $t6, $t0, $t5 -/* 10E3B0 7F0D9880 01994024 */ and $t0, $t4, $t9 -/* 10E3B4 7F0D9884 00086943 */ sra $t5, $t0, 5 -/* 10E3B8 7F0D9888 01CD7825 */ or $t7, $t6, $t5 -/* 10E3BC 7F0D988C A7A90156 */ sh $t1, 0x156($sp) -/* 10E3C0 7F0D9890 000B4980 */ sll $t1, $t3, 6 -/* 10E3C4 7F0D9894 35F80002 */ ori $t8, $t7, 2 -/* 10E3C8 7F0D9898 03098825 */ or $s1, $t8, $t1 -/* 10E3CC 7F0D989C 322A00FF */ andi $t2, $s1, 0xff -/* 10E3D0 7F0D98A0 01408825 */ move $s1, $t2 -/* 10E3D4 7F0D98A4 AFAB0048 */ sw $t3, 0x48($sp) -/* 10E3D8 7F0D98A8 100023D4 */ b .L7F0E27FC -/* 10E3DC 7F0D98AC A3B50155 */ sb $s5, 0x155($sp) -spectrum_op_BC: -/* 10E3E0 7F0D98B0 8FAC028C */ lw $t4, 0x28c($sp) -/* 10E3E4 7F0D98B4 93A80287 */ lbu $t0, 0x287($sp) -/* 10E3E8 7F0D98B8 93AE0287 */ lbu $t6, 0x287($sp) -/* 10E3EC 7F0D98BC 25990004 */ addiu $t9, $t4, 4 -/* 10E3F0 7F0D98C0 15000003 */ bnez $t0, .L7F0D98D0 -/* 10E3F4 7F0D98C4 AFB9028C */ sw $t9, 0x28c($sp) -/* 10E3F8 7F0D98C8 1000000C */ b .L7F0D98FC -/* 10E3FC 7F0D98CC A3B60151 */ sb $s6, 0x151($sp) -.L7F0D98D0: -/* 10E400 7F0D98D0 24010001 */ li $at, 1 -/* 10E404 7F0D98D4 15C10005 */ bne $t6, $at, .L7F0D98EC -/* 10E408 7F0D98D8 97AB0294 */ lhu $t3, 0x294($sp) -/* 10E40C 7F0D98DC 97AD0296 */ lhu $t5, 0x296($sp) -/* 10E410 7F0D98E0 000D7A03 */ sra $t7, $t5, 8 -/* 10E414 7F0D98E4 10000003 */ b .L7F0D98F4 -/* 10E418 7F0D98E8 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0D98EC: -/* 10E41C 7F0D98EC 000BC203 */ sra $t8, $t3, 8 -/* 10E420 7F0D98F0 AFB80048 */ sw $t8, 0x48($sp) -.L7F0D98F4: -/* 10E424 7F0D98F4 8FA90048 */ lw $t1, 0x48($sp) -/* 10E428 7F0D98F8 A3A90151 */ sb $t1, 0x151($sp) -.L7F0D98FC: -/* 10E42C 7F0D98FC 93AA0151 */ lbu $t2, 0x151($sp) -/* 10E430 7F0D9900 020A6023 */ subu $t4, $s0, $t2 -/* 10E434 7F0D9904 319901FF */ andi $t9, $t4, 0x1ff -/* 10E438 7F0D9908 3328FFFF */ andi $t0, $t9, 0xffff -/* 10E43C 7F0D990C 2D0E0001 */ sltiu $t6, $t0, 1 -/* 10E440 7F0D9910 320C000F */ andi $t4, $s0, 0xf -/* 10E444 7F0D9914 3148000F */ andi $t0, $t2, 0xf -/* 10E448 7F0D9918 0188682A */ slt $t5, $t4, $t0 -/* 10E44C 7F0D991C 332F00A8 */ andi $t7, $t9, 0xa8 -/* 10E450 7F0D9920 0019C203 */ sra $t8, $t9, 8 -/* 10E454 7F0D9924 01F84825 */ or $t1, $t7, $t8 -/* 10E458 7F0D9928 000D5900 */ sll $t3, $t5, 4 -/* 10E45C 7F0D992C 03204025 */ move $t0, $t9 -/* 10E460 7F0D9930 020AC026 */ xor $t8, $s0, $t2 -/* 10E464 7F0D9934 330C0080 */ andi $t4, $t8, 0x80 -/* 10E468 7F0D9938 01106826 */ xor $t5, $t0, $s0 -/* 10E46C 7F0D993C 012B7825 */ or $t7, $t1, $t3 -/* 10E470 7F0D9940 018D4824 */ and $t1, $t4, $t5 -/* 10E474 7F0D9944 00095943 */ sra $t3, $t1, 5 -/* 10E478 7F0D9948 01EB5025 */ or $t2, $t7, $t3 -/* 10E47C 7F0D994C A7B90152 */ sh $t9, 0x152($sp) -/* 10E480 7F0D9950 000EC980 */ sll $t9, $t6, 6 -/* 10E484 7F0D9954 35580002 */ ori $t8, $t2, 2 -/* 10E488 7F0D9958 03198825 */ or $s1, $t8, $t9 -/* 10E48C 7F0D995C 322800FF */ andi $t0, $s1, 0xff -/* 10E490 7F0D9960 01008825 */ move $s1, $t0 -/* 10E494 7F0D9964 100023A5 */ b .L7F0E27FC -/* 10E498 7F0D9968 AFAE0048 */ sw $t6, 0x48($sp) -spectrum_op_BD: -/* 10E49C 7F0D996C 8FAC028C */ lw $t4, 0x28c($sp) -/* 10E4A0 7F0D9970 93A90287 */ lbu $t1, 0x287($sp) -/* 10E4A4 7F0D9974 93AF0287 */ lbu $t7, 0x287($sp) -/* 10E4A8 7F0D9978 258D0004 */ addiu $t5, $t4, 4 -/* 10E4AC 7F0D997C 15200003 */ bnez $t1, .L7F0D998C -/* 10E4B0 7F0D9980 AFAD028C */ sw $t5, 0x28c($sp) -/* 10E4B4 7F0D9984 1000000C */ b .L7F0D99B8 -/* 10E4B8 7F0D9988 A3B7014D */ sb $s7, 0x14d($sp) -.L7F0D998C: -/* 10E4BC 7F0D998C 24010001 */ li $at, 1 -/* 10E4C0 7F0D9990 15E10005 */ bne $t7, $at, .L7F0D99A8 -/* 10E4C4 7F0D9994 97AE0294 */ lhu $t6, 0x294($sp) -/* 10E4C8 7F0D9998 97AB0296 */ lhu $t3, 0x296($sp) -/* 10E4CC 7F0D999C 316A00FF */ andi $t2, $t3, 0xff -/* 10E4D0 7F0D99A0 10000003 */ b .L7F0D99B0 -/* 10E4D4 7F0D99A4 AFAA0048 */ sw $t2, 0x48($sp) -.L7F0D99A8: -/* 10E4D8 7F0D99A8 31D800FF */ andi $t8, $t6, 0xff -/* 10E4DC 7F0D99AC AFB80048 */ sw $t8, 0x48($sp) -.L7F0D99B0: -/* 10E4E0 7F0D99B0 8FB90048 */ lw $t9, 0x48($sp) -/* 10E4E4 7F0D99B4 A3B9014D */ sb $t9, 0x14d($sp) -.L7F0D99B8: -/* 10E4E8 7F0D99B8 93A8014D */ lbu $t0, 0x14d($sp) -/* 10E4EC 7F0D99BC 02086023 */ subu $t4, $s0, $t0 -/* 10E4F0 7F0D99C0 318D01FF */ andi $t5, $t4, 0x1ff -/* 10E4F4 7F0D99C4 31A9FFFF */ andi $t1, $t5, 0xffff -/* 10E4F8 7F0D99C8 2D2F0001 */ sltiu $t7, $t1, 1 -/* 10E4FC 7F0D99CC 320C000F */ andi $t4, $s0, 0xf -/* 10E500 7F0D99D0 3109000F */ andi $t1, $t0, 0xf -/* 10E504 7F0D99D4 0189582A */ slt $t3, $t4, $t1 -/* 10E508 7F0D99D8 31AA00A8 */ andi $t2, $t5, 0xa8 -/* 10E50C 7F0D99DC 000DC203 */ sra $t8, $t5, 8 -/* 10E510 7F0D99E0 0158C825 */ or $t9, $t2, $t8 -/* 10E514 7F0D99E4 000B7100 */ sll $t6, $t3, 4 -/* 10E518 7F0D99E8 01A04825 */ move $t1, $t5 -/* 10E51C 7F0D99EC 0208C026 */ xor $t8, $s0, $t0 -/* 10E520 7F0D99F0 330C0080 */ andi $t4, $t8, 0x80 -/* 10E524 7F0D99F4 01305826 */ xor $t3, $t1, $s0 -/* 10E528 7F0D99F8 032E5025 */ or $t2, $t9, $t6 -/* 10E52C 7F0D99FC 018BC824 */ and $t9, $t4, $t3 -/* 10E530 7F0D9A00 00197143 */ sra $t6, $t9, 5 -/* 10E534 7F0D9A04 014E4025 */ or $t0, $t2, $t6 -/* 10E538 7F0D9A08 A7AD014E */ sh $t5, 0x14e($sp) -/* 10E53C 7F0D9A0C 000F6980 */ sll $t5, $t7, 6 -/* 10E540 7F0D9A10 35180002 */ ori $t8, $t0, 2 -/* 10E544 7F0D9A14 030D8825 */ or $s1, $t8, $t5 -/* 10E548 7F0D9A18 322900FF */ andi $t1, $s1, 0xff -/* 10E54C 7F0D9A1C 01208825 */ move $s1, $t1 -/* 10E550 7F0D9A20 10002376 */ b .L7F0E27FC -/* 10E554 7F0D9A24 AFAF0048 */ sw $t7, 0x48($sp) -spectrum_op_BE: -/* 10E558 7F0D9A28 8FAC028C */ lw $t4, 0x28c($sp) -/* 10E55C 7F0D9A2C 93B90287 */ lbu $t9, 0x287($sp) -/* 10E560 7F0D9A30 00165200 */ sll $t2, $s6, 8 -/* 10E564 7F0D9A34 258B0007 */ addiu $t3, $t4, 7 -/* 10E568 7F0D9A38 17200004 */ bnez $t9, .L7F0D9A4C -/* 10E56C 7F0D9A3C AFAB028C */ sw $t3, 0x28c($sp) -/* 10E570 7F0D9A40 01577025 */ or $t6, $t2, $s7 -/* 10E574 7F0D9A44 10000016 */ b .L7F0D9AA0 -/* 10E578 7F0D9A48 A7AE014A */ sh $t6, 0x14a($sp) -.L7F0D9A4C: -/* 10E57C 7F0D9A4C 8FA8028C */ lw $t0, 0x28c($sp) -/* 10E580 7F0D9A50 93B80287 */ lbu $t8, 0x287($sp) -/* 10E584 7F0D9A54 24010001 */ li $at, 1 -/* 10E588 7F0D9A58 250F0008 */ addiu $t7, $t0, 8 -/* 10E58C 7F0D9A5C 17010004 */ bne $t8, $at, .L7F0D9A70 -/* 10E590 7F0D9A60 AFAF028C */ sw $t7, 0x28c($sp) -/* 10E594 7F0D9A64 97AD0296 */ lhu $t5, 0x296($sp) -/* 10E598 7F0D9A68 10000003 */ b .L7F0D9A78 -/* 10E59C 7F0D9A6C AFAD0048 */ sw $t5, 0x48($sp) -.L7F0D9A70: -/* 10E5A0 7F0D9A70 97A90294 */ lhu $t1, 0x294($sp) -/* 10E5A4 7F0D9A74 AFA90048 */ sw $t1, 0x48($sp) -.L7F0D9A78: -/* 10E5A8 7F0D9A78 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10E5AC 7F0D9A7C 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10E5B0 7F0D9A80 97AC0298 */ lhu $t4, 0x298($sp) -/* 10E5B4 7F0D9A84 8FAE0048 */ lw $t6, 0x48($sp) -/* 10E5B8 7F0D9A88 018BC821 */ addu $t9, $t4, $t3 -/* 10E5BC 7F0D9A8C 832A0000 */ lb $t2, ($t9) -/* 10E5C0 7F0D9A90 258F0001 */ addiu $t7, $t4, 1 -/* 10E5C4 7F0D9A94 A7AF0298 */ sh $t7, 0x298($sp) -/* 10E5C8 7F0D9A98 014E4021 */ addu $t0, $t2, $t6 -/* 10E5CC 7F0D9A9C A7A8014A */ sh $t0, 0x14a($sp) -.L7F0D9AA0: -/* 10E5D0 7F0D9AA0 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10E5D4 7F0D9AA4 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10E5D8 7F0D9AA8 97B8014A */ lhu $t8, 0x14a($sp) -/* 10E5DC 7F0D9AAC 030D4821 */ addu $t1, $t8, $t5 -/* 10E5E0 7F0D9AB0 912B0000 */ lbu $t3, ($t1) -/* 10E5E4 7F0D9AB4 020BC823 */ subu $t9, $s0, $t3 -/* 10E5E8 7F0D9AB8 332A01FF */ andi $t2, $t9, 0x1ff -/* 10E5EC 7F0D9ABC 314EFFFF */ andi $t6, $t2, 0xffff -/* 10E5F0 7F0D9AC0 2DC80001 */ sltiu $t0, $t6, 1 -/* 10E5F4 7F0D9AC4 320E000F */ andi $t6, $s0, 0xf -/* 10E5F8 7F0D9AC8 3179000F */ andi $t9, $t3, 0xf -/* 10E5FC 7F0D9ACC 01D9602A */ slt $t4, $t6, $t9 -/* 10E600 7F0D9AD0 314F00A8 */ andi $t7, $t2, 0xa8 -/* 10E604 7F0D9AD4 000A6A03 */ sra $t5, $t2, 8 -/* 10E608 7F0D9AD8 01ED4825 */ or $t1, $t7, $t5 -/* 10E60C 7F0D9ADC 000CC100 */ sll $t8, $t4, 4 -/* 10E610 7F0D9AE0 0140C825 */ move $t9, $t2 -/* 10E614 7F0D9AE4 020B6826 */ xor $t5, $s0, $t3 -/* 10E618 7F0D9AE8 31AE0080 */ andi $t6, $t5, 0x80 -/* 10E61C 7F0D9AEC 03306026 */ xor $t4, $t9, $s0 -/* 10E620 7F0D9AF0 01387825 */ or $t7, $t1, $t8 -/* 10E624 7F0D9AF4 01CC4824 */ and $t1, $t6, $t4 -/* 10E628 7F0D9AF8 0009C143 */ sra $t8, $t1, 5 -/* 10E62C 7F0D9AFC A3AB0147 */ sb $t3, 0x147($sp) -/* 10E630 7F0D9B00 01F85825 */ or $t3, $t7, $t8 -/* 10E634 7F0D9B04 A7AA0148 */ sh $t2, 0x148($sp) -/* 10E638 7F0D9B08 00085180 */ sll $t2, $t0, 6 -/* 10E63C 7F0D9B0C 356D0002 */ ori $t5, $t3, 2 -/* 10E640 7F0D9B10 01AA8825 */ or $s1, $t5, $t2 -/* 10E644 7F0D9B14 323900FF */ andi $t9, $s1, 0xff -/* 10E648 7F0D9B18 03208825 */ move $s1, $t9 -/* 10E64C 7F0D9B1C 10002337 */ b .L7F0E27FC -/* 10E650 7F0D9B20 AFA80048 */ sw $t0, 0x48($sp) -spectrum_op_BF: -/* 10E654 7F0D9B24 320900FF */ andi $t1, $s0, 0xff -/* 10E658 7F0D9B28 02097823 */ subu $t7, $s0, $t1 -/* 10E65C 7F0D9B2C 8FAE028C */ lw $t6, 0x28c($sp) -/* 10E660 7F0D9B30 31F801FF */ andi $t8, $t7, 0x1ff -/* 10E664 7F0D9B34 330BFFFF */ andi $t3, $t8, 0xffff -/* 10E668 7F0D9B38 2D680001 */ sltiu $t0, $t3, 1 -/* 10E66C 7F0D9B3C 312B000F */ andi $t3, $t1, 0xf -/* 10E670 7F0D9B40 320F000F */ andi $t7, $s0, 0xf -/* 10E674 7F0D9B44 25CC0004 */ addiu $t4, $t6, 4 -/* 10E678 7F0D9B48 01EB682A */ slt $t5, $t7, $t3 -/* 10E67C 7F0D9B4C AFAC028C */ sw $t4, 0x28c($sp) -/* 10E680 7F0D9B50 00187203 */ sra $t6, $t8, 8 -/* 10E684 7F0D9B54 330A00A8 */ andi $t2, $t8, 0xa8 -/* 10E688 7F0D9B58 014E6025 */ or $t4, $t2, $t6 -/* 10E68C 7F0D9B5C 000DC900 */ sll $t9, $t5, 4 -/* 10E690 7F0D9B60 02097026 */ xor $t6, $s0, $t1 -/* 10E694 7F0D9B64 03005825 */ move $t3, $t8 -/* 10E698 7F0D9B68 01706826 */ xor $t5, $t3, $s0 -/* 10E69C 7F0D9B6C 31CF0080 */ andi $t7, $t6, 0x80 -/* 10E6A0 7F0D9B70 01995025 */ or $t2, $t4, $t9 -/* 10E6A4 7F0D9B74 01ED6024 */ and $t4, $t7, $t5 -/* 10E6A8 7F0D9B78 000CC943 */ sra $t9, $t4, 5 -/* 10E6AC 7F0D9B7C 01594825 */ or $t1, $t2, $t9 -/* 10E6B0 7F0D9B80 A7B80144 */ sh $t8, 0x144($sp) -/* 10E6B4 7F0D9B84 0008C180 */ sll $t8, $t0, 6 -/* 10E6B8 7F0D9B88 352E0002 */ ori $t6, $t1, 2 -/* 10E6BC 7F0D9B8C 01D88825 */ or $s1, $t6, $t8 -/* 10E6C0 7F0D9B90 322B00FF */ andi $t3, $s1, 0xff -/* 10E6C4 7F0D9B94 01608825 */ move $s1, $t3 -/* 10E6C8 7F0D9B98 AFA80048 */ sw $t0, 0x48($sp) -/* 10E6CC 7F0D9B9C 10002317 */ b .L7F0E27FC -/* 10E6D0 7F0D9BA0 A3B00143 */ sb $s0, 0x143($sp) -spectrum_op_C0: -/* 10E6D4 7F0D9BA4 8FAF028C */ lw $t7, 0x28c($sp) -/* 10E6D8 7F0D9BA8 322C0040 */ andi $t4, $s1, 0x40 -/* 10E6DC 7F0D9BAC 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10E6E0 7F0D9BB0 25ED0005 */ addiu $t5, $t7, 5 -/* 10E6E4 7F0D9BB4 15802311 */ bnez $t4, .L7F0E27FC -/* 10E6E8 7F0D9BB8 AFAD028C */ sw $t5, 0x28c($sp) -/* 10E6EC 7F0D9BBC 97A90292 */ lhu $t1, 0x292($sp) -/* 10E6F0 7F0D9BC0 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10E6F4 7F0D9BC4 25B90006 */ addiu $t9, $t5, 6 -/* 10E6F8 7F0D9BC8 AFB9028C */ sw $t9, 0x28c($sp) -/* 10E6FC 7F0D9BCC 01095821 */ addu $t3, $t0, $t1 -/* 10E700 7F0D9BD0 916F0001 */ lbu $t7, 1($t3) -/* 10E704 7F0D9BD4 01287021 */ addu $t6, $t1, $t0 -/* 10E708 7F0D9BD8 91D80000 */ lbu $t8, ($t6) -/* 10E70C 7F0D9BDC 000F6A00 */ sll $t5, $t7, 8 -/* 10E710 7F0D9BE0 252A0002 */ addiu $t2, $t1, 2 -/* 10E714 7F0D9BE4 030D6025 */ or $t4, $t8, $t5 -/* 10E718 7F0D9BE8 A7AC0298 */ sh $t4, 0x298($sp) -/* 10E71C 7F0D9BEC 10002303 */ b .L7F0E27FC -/* 10E720 7F0D9BF0 A7AA0292 */ sh $t2, 0x292($sp) -spectrum_op_C1: -/* 10E724 7F0D9BF4 8FB9028C */ lw $t9, 0x28c($sp) -/* 10E728 7F0D9BF8 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10E72C 7F0D9BFC 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10E730 7F0D9C00 97A80292 */ lhu $t0, 0x292($sp) -/* 10E734 7F0D9C04 272E000A */ addiu $t6, $t9, 0xa -/* 10E738 7F0D9C08 AFAE028C */ sw $t6, 0x28c($sp) -/* 10E73C 7F0D9C0C 010B7821 */ addu $t7, $t0, $t3 -/* 10E740 7F0D9C10 91F30000 */ lbu $s3, ($t7) -/* 10E744 7F0D9C14 91F20001 */ lbu $s2, 1($t7) -/* 10E748 7F0D9C18 25180002 */ addiu $t8, $t0, 2 -/* 10E74C 7F0D9C1C 100022F7 */ b .L7F0E27FC -/* 10E750 7F0D9C20 A7B80292 */ sh $t8, 0x292($sp) -spectrum_op_C2: -/* 10E754 7F0D9C24 8FAD028C */ lw $t5, 0x28c($sp) -/* 10E758 7F0D9C28 32290040 */ andi $t1, $s1, 0x40 -/* 10E75C 7F0D9C2C 97AA0298 */ lhu $t2, 0x298($sp) -/* 10E760 7F0D9C30 25AC000A */ addiu $t4, $t5, 0xa -/* 10E764 7F0D9C34 1520000B */ bnez $t1, .L7F0D9C64 -/* 10E768 7F0D9C38 AFAC028C */ sw $t4, 0x28c($sp) -/* 10E76C 7F0D9C3C 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10E770 7F0D9C40 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10E774 7F0D9C44 032A7821 */ addu $t7, $t9, $t2 -/* 10E778 7F0D9C48 91E80001 */ lbu $t0, 1($t7) -/* 10E77C 7F0D9C4C 01597021 */ addu $t6, $t2, $t9 -/* 10E780 7F0D9C50 91CB0000 */ lbu $t3, ($t6) -/* 10E784 7F0D9C54 0008C200 */ sll $t8, $t0, 8 -/* 10E788 7F0D9C58 01786825 */ or $t5, $t3, $t8 -/* 10E78C 7F0D9C5C 100022E7 */ b .L7F0E27FC -/* 10E790 7F0D9C60 A7AD0298 */ sh $t5, 0x298($sp) -.L7F0D9C64: -/* 10E794 7F0D9C64 97AC0298 */ lhu $t4, 0x298($sp) -/* 10E798 7F0D9C68 25890002 */ addiu $t1, $t4, 2 -/* 10E79C 7F0D9C6C 100022E3 */ b .L7F0E27FC -/* 10E7A0 7F0D9C70 A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_C3: -/* 10E7A4 7F0D9C74 8FAE028C */ lw $t6, 0x28c($sp) -/* 10E7A8 7F0D9C78 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10E7AC 7F0D9C7C 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10E7B0 7F0D9C80 97AA0298 */ lhu $t2, 0x298($sp) -/* 10E7B4 7F0D9C84 25D9000A */ addiu $t9, $t6, 0xa -/* 10E7B8 7F0D9C88 AFB9028C */ sw $t9, 0x28c($sp) -/* 10E7BC 7F0D9C8C 01EAC021 */ addu $t8, $t7, $t2 -/* 10E7C0 7F0D9C90 930D0001 */ lbu $t5, 1($t8) -/* 10E7C4 7F0D9C94 014F4021 */ addu $t0, $t2, $t7 -/* 10E7C8 7F0D9C98 910B0000 */ lbu $t3, ($t0) -/* 10E7CC 7F0D9C9C 000D6200 */ sll $t4, $t5, 8 -/* 10E7D0 7F0D9CA0 016C4825 */ or $t1, $t3, $t4 -/* 10E7D4 7F0D9CA4 100022D5 */ b .L7F0E27FC -/* 10E7D8 7F0D9CA8 A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_C4: -/* 10E7DC 7F0D9CAC 8FAE028C */ lw $t6, 0x28c($sp) -/* 10E7E0 7F0D9CB0 32280040 */ andi $t0, $s1, 0x40 -/* 10E7E4 7F0D9CB4 25D9000A */ addiu $t9, $t6, 0xa -/* 10E7E8 7F0D9CB8 15000072 */ bnez $t0, .L7F0D9E84 -/* 10E7EC 7F0D9CBC AFB9028C */ sw $t9, 0x28c($sp) -/* 10E7F0 7F0D9CC0 97B80292 */ lhu $t8, 0x292($sp) -/* 10E7F4 7F0D9CC4 272A0007 */ addiu $t2, $t9, 7 -/* 10E7F8 7F0D9CC8 AFAA028C */ sw $t2, 0x28c($sp) -/* 10E7FC 7F0D9CCC 270DFFFE */ addiu $t5, $t8, -2 -/* 10E800 7F0D9CD0 31ABFFFF */ andi $t3, $t5, 0xffff -/* 10E804 7F0D9CD4 29615B00 */ slti $at, $t3, 0x5b00 -/* 10E808 7F0D9CD8 14200008 */ bnez $at, .L7F0D9CFC -/* 10E80C 7F0D9CDC A7AD0292 */ sh $t5, 0x292($sp) -/* 10E810 7F0D9CE0 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10E814 7F0D9CE4 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10E818 7F0D9CE8 97AC0298 */ lhu $t4, 0x298($sp) -/* 10E81C 7F0D9CEC 01CBC821 */ addu $t9, $t6, $t3 -/* 10E820 7F0D9CF0 25890002 */ addiu $t1, $t4, 2 -/* 10E824 7F0D9CF4 10000024 */ b .L7F0D9D88 -/* 10E828 7F0D9CF8 A3290000 */ sb $t1, ($t9) -.L7F0D9CFC: -/* 10E82C 7F0D9CFC 97A80292 */ lhu $t0, 0x292($sp) -/* 10E830 7F0D9D00 97B90292 */ lhu $t9, 0x292($sp) -/* 10E834 7F0D9D04 97AF0298 */ lhu $t7, 0x298($sp) -/* 10E838 7F0D9D08 29015800 */ slti $at, $t0, 0x5800 -/* 10E83C 7F0D9D0C 1420000C */ bnez $at, .L7F0D9D40 -/* 10E840 7F0D9D10 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10E844 7F0D9D14 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10E848 7F0D9D18 25EA0002 */ addiu $t2, $t7, 2 -/* 10E84C 7F0D9D1C 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 10E850 7F0D9D20 03086821 */ addu $t5, $t8, $t0 -/* 10E854 7F0D9D24 A1AA0000 */ sb $t2, ($t5) -/* 10E858 7F0D9D28 97AB0292 */ lhu $t3, 0x292($sp) -/* 10E85C 7F0D9D2C 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 10E860 7F0D9D30 240C0001 */ li $t4, 1 -/* 10E864 7F0D9D34 01CB4821 */ addu $t1, $t6, $t3 -/* 10E868 7F0D9D38 10000013 */ b .L7F0D9D88 -/* 10E86C 7F0D9D3C A12CA800 */ sb $t4, -0x5800($t1) -.L7F0D9D40: -/* 10E870 7F0D9D40 2B214000 */ slti $at, $t9, 0x4000 -/* 10E874 7F0D9D44 14200010 */ bnez $at, .L7F0D9D88 -/* 10E878 7F0D9D48 97AF0298 */ lhu $t7, 0x298($sp) -/* 10E87C 7F0D9D4C 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10E880 7F0D9D50 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10E884 7F0D9D54 25F80002 */ addiu $t8, $t7, 2 -/* 10E888 7F0D9D58 240D0001 */ li $t5, 1 -/* 10E88C 7F0D9D5C 01195021 */ addu $t2, $t0, $t9 -/* 10E890 7F0D9D60 A1580000 */ sb $t8, ($t2) -/* 10E894 7F0D9D64 97AE0292 */ lhu $t6, 0x292($sp) -/* 10E898 7F0D9D68 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 10E89C 7F0D9D6C 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 10E8A0 7F0D9D70 31CB1800 */ andi $t3, $t6, 0x1800 -/* 10E8A4 7F0D9D74 000B60C3 */ sra $t4, $t3, 3 -/* 10E8A8 7F0D9D78 31C900FF */ andi $t1, $t6, 0xff -/* 10E8AC 7F0D9D7C 01897825 */ or $t7, $t4, $t1 -/* 10E8B0 7F0D9D80 010FC821 */ addu $t9, $t0, $t7 -/* 10E8B4 7F0D9D84 A32D0000 */ sb $t5, ($t9) -.L7F0D9D88: -/* 10E8B8 7F0D9D88 97B80292 */ lhu $t8, 0x292($sp) -/* 10E8BC 7F0D9D8C 97AF0292 */ lhu $t7, 0x292($sp) -/* 10E8C0 7F0D9D90 97AB0298 */ lhu $t3, 0x298($sp) -/* 10E8C4 7F0D9D94 270A0001 */ addiu $t2, $t8, 1 -/* 10E8C8 7F0D9D98 29415B00 */ slti $at, $t2, 0x5b00 -/* 10E8CC 7F0D9D9C 14200008 */ bnez $at, .L7F0D9DC0 -/* 10E8D0 7F0D9DA0 25ED0001 */ addiu $t5, $t7, 1 -/* 10E8D4 7F0D9DA4 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10E8D8 7F0D9DA8 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10E8DC 7F0D9DAC 256E0002 */ addiu $t6, $t3, 2 -/* 10E8E0 7F0D9DB0 000E6203 */ sra $t4, $t6, 8 -/* 10E8E4 7F0D9DB4 01384021 */ addu $t0, $t1, $t8 -/* 10E8E8 7F0D9DB8 10000027 */ b .L7F0D9E58 -/* 10E8EC 7F0D9DBC A10C0001 */ sb $t4, 1($t0) -.L7F0D9DC0: -/* 10E8F0 7F0D9DC0 29A15800 */ slti $at, $t5, 0x5800 -/* 10E8F4 7F0D9DC4 1420000F */ bnez $at, .L7F0D9E04 -/* 10E8F8 7F0D9DC8 97B90292 */ lhu $t9, 0x292($sp) -/* 10E8FC 7F0D9DCC 97B90298 */ lhu $t9, 0x298($sp) -/* 10E900 7F0D9DD0 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10E904 7F0D9DD4 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10E908 7F0D9DD8 272A0002 */ addiu $t2, $t9, 2 -/* 10E90C 7F0D9DDC 000A5A03 */ sra $t3, $t2, 8 -/* 10E910 7F0D9DE0 01CF4821 */ addu $t1, $t6, $t7 -/* 10E914 7F0D9DE4 A12B0001 */ sb $t3, 1($t1) -/* 10E918 7F0D9DE8 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 10E91C 7F0D9DEC 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 10E920 7F0D9DF0 97A80292 */ lhu $t0, 0x292($sp) -/* 10E924 7F0D9DF4 24180001 */ li $t8, 1 -/* 10E928 7F0D9DF8 01886821 */ addu $t5, $t4, $t0 -/* 10E92C 7F0D9DFC 10000016 */ b .L7F0D9E58 -/* 10E930 7F0D9E00 A1B8A801 */ sb $t8, -0x57ff($t5) -.L7F0D9E04: -/* 10E934 7F0D9E04 272A0001 */ addiu $t2, $t9, 1 -/* 10E938 7F0D9E08 29414000 */ slti $at, $t2, 0x4000 -/* 10E93C 7F0D9E0C 14200012 */ bnez $at, .L7F0D9E58 -/* 10E940 7F0D9E10 97AE0298 */ lhu $t6, 0x298($sp) -/* 10E944 7F0D9E14 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10E948 7F0D9E18 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10E94C 7F0D9E1C 25CF0002 */ addiu $t7, $t6, 2 -/* 10E950 7F0D9E20 000F5A03 */ sra $t3, $t7, 8 -/* 10E954 7F0D9E24 01396021 */ addu $t4, $t1, $t9 -/* 10E958 7F0D9E28 A18B0001 */ sb $t3, 1($t4) -/* 10E95C 7F0D9E2C 97B80292 */ lhu $t8, 0x292($sp) -/* 10E960 7F0D9E30 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 10E964 7F0D9E34 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 10E968 7F0D9E38 270D0001 */ addiu $t5, $t8, 1 -/* 10E96C 7F0D9E3C 31AA1800 */ andi $t2, $t5, 0x1800 -/* 10E970 7F0D9E40 000A70C3 */ sra $t6, $t2, 3 -/* 10E974 7F0D9E44 31AF00FF */ andi $t7, $t5, 0xff -/* 10E978 7F0D9E48 01CF4825 */ or $t1, $t6, $t7 -/* 10E97C 7F0D9E4C 24080001 */ li $t0, 1 -/* 10E980 7F0D9E50 03295821 */ addu $t3, $t9, $t1 -/* 10E984 7F0D9E54 A1680000 */ sb $t0, ($t3) -.L7F0D9E58: -/* 10E988 7F0D9E58 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10E98C 7F0D9E5C 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10E990 7F0D9E60 97AC0298 */ lhu $t4, 0x298($sp) -/* 10E994 7F0D9E64 030C7021 */ addu $t6, $t8, $t4 -/* 10E998 7F0D9E68 91CF0001 */ lbu $t7, 1($t6) -/* 10E99C 7F0D9E6C 01985021 */ addu $t2, $t4, $t8 -/* 10E9A0 7F0D9E70 914D0000 */ lbu $t5, ($t2) -/* 10E9A4 7F0D9E74 000FCA00 */ sll $t9, $t7, 8 -/* 10E9A8 7F0D9E78 01B94825 */ or $t1, $t5, $t9 -/* 10E9AC 7F0D9E7C 1000225F */ b .L7F0E27FC -/* 10E9B0 7F0D9E80 A7A90298 */ sh $t1, 0x298($sp) -.L7F0D9E84: -/* 10E9B4 7F0D9E84 97A80298 */ lhu $t0, 0x298($sp) -/* 10E9B8 7F0D9E88 250B0002 */ addiu $t3, $t0, 2 -/* 10E9BC 7F0D9E8C 1000225B */ b .L7F0E27FC -/* 10E9C0 7F0D9E90 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_C5: -/* 10E9C4 7F0D9E94 97AC0292 */ lhu $t4, 0x292($sp) -/* 10E9C8 7F0D9E98 8FAA028C */ lw $t2, 0x28c($sp) -/* 10E9CC 7F0D9E9C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10E9D0 7F0D9EA0 258EFFFE */ addiu $t6, $t4, -2 -/* 10E9D4 7F0D9EA4 31CFFFFF */ andi $t7, $t6, 0xffff -/* 10E9D8 7F0D9EA8 29E15B00 */ slti $at, $t7, 0x5b00 -/* 10E9DC 7F0D9EAC 2558000B */ addiu $t8, $t2, 0xb -/* 10E9E0 7F0D9EB0 AFB8028C */ sw $t8, 0x28c($sp) -/* 10E9E4 7F0D9EB4 14200005 */ bnez $at, .L7F0D9ECC -/* 10E9E8 7F0D9EB8 A7AE0292 */ sh $t6, 0x292($sp) -/* 10E9EC 7F0D9EBC 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10E9F0 7F0D9EC0 01AFC821 */ addu $t9, $t5, $t7 -/* 10E9F4 7F0D9EC4 10000021 */ b .L7F0D9F4C -/* 10E9F8 7F0D9EC8 A3330000 */ sb $s3, ($t9) -.L7F0D9ECC: -/* 10E9FC 7F0D9ECC 97A90292 */ lhu $t1, 0x292($sp) -/* 10EA00 7F0D9ED0 97AD0292 */ lhu $t5, 0x292($sp) -/* 10EA04 7F0D9ED4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10EA08 7F0D9ED8 29215800 */ slti $at, $t1, 0x5800 -/* 10EA0C 7F0D9EDC 5420000C */ bnezl $at, .L7F0D9F10 -/* 10EA10 7F0D9EE0 29A14000 */ slti $at, $t5, 0x4000 -/* 10EA14 7F0D9EE4 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10EA18 7F0D9EE8 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 10EA1C 7F0D9EEC 240A0001 */ li $t2, 1 -/* 10EA20 7F0D9EF0 01095821 */ addu $t3, $t0, $t1 -/* 10EA24 7F0D9EF4 A1730000 */ sb $s3, ($t3) -/* 10EA28 7F0D9EF8 97AC0292 */ lhu $t4, 0x292($sp) -/* 10EA2C 7F0D9EFC 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 10EA30 7F0D9F00 030C7021 */ addu $t6, $t8, $t4 -/* 10EA34 7F0D9F04 10000011 */ b .L7F0D9F4C -/* 10EA38 7F0D9F08 A1CAA800 */ sb $t2, -0x5800($t6) -/* 10EA3C 7F0D9F0C 29A14000 */ slti $at, $t5, 0x4000 -.L7F0D9F10: -/* 10EA40 7F0D9F10 1420000E */ bnez $at, .L7F0D9F4C -/* 10EA44 7F0D9F14 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10EA48 7F0D9F18 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10EA4C 7F0D9F1C 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 10EA50 7F0D9F20 24080001 */ li $t0, 1 -/* 10EA54 7F0D9F24 01EDC821 */ addu $t9, $t7, $t5 -/* 10EA58 7F0D9F28 A3330000 */ sb $s3, ($t9) -/* 10EA5C 7F0D9F2C 97A90292 */ lhu $t1, 0x292($sp) -/* 10EA60 7F0D9F30 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 10EA64 7F0D9F34 312B1800 */ andi $t3, $t1, 0x1800 -/* 10EA68 7F0D9F38 000BC0C3 */ sra $t8, $t3, 3 -/* 10EA6C 7F0D9F3C 312C00FF */ andi $t4, $t1, 0xff -/* 10EA70 7F0D9F40 030C5025 */ or $t2, $t8, $t4 -/* 10EA74 7F0D9F44 01CA7821 */ addu $t7, $t6, $t2 -/* 10EA78 7F0D9F48 A1E80000 */ sb $t0, ($t7) -.L7F0D9F4C: -/* 10EA7C 7F0D9F4C 97AD0292 */ lhu $t5, 0x292($sp) -/* 10EA80 7F0D9F50 97B80292 */ lhu $t8, 0x292($sp) -/* 10EA84 7F0D9F54 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10EA88 7F0D9F58 25B90001 */ addiu $t9, $t5, 1 -/* 10EA8C 7F0D9F5C 2B215B00 */ slti $at, $t9, 0x5b00 -/* 10EA90 7F0D9F60 14200005 */ bnez $at, .L7F0D9F78 -/* 10EA94 7F0D9F64 270C0001 */ addiu $t4, $t8, 1 -/* 10EA98 7F0D9F68 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10EA9C 7F0D9F6C 016D4821 */ addu $t1, $t3, $t5 -/* 10EAA0 7F0D9F70 10002222 */ b .L7F0E27FC -/* 10EAA4 7F0D9F74 A1320001 */ sb $s2, 1($t1) -.L7F0D9F78: -/* 10EAA8 7F0D9F78 29815800 */ slti $at, $t4, 0x5800 -/* 10EAAC 7F0D9F7C 1420000C */ bnez $at, .L7F0D9FB0 -/* 10EAB0 7F0D9F80 97AD0292 */ lhu $t5, 0x292($sp) -/* 10EAB4 7F0D9F84 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10EAB8 7F0D9F88 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10EABC 7F0D9F8C 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 10EAC0 7F0D9F90 24080001 */ li $t0, 1 -/* 10EAC4 7F0D9F94 01D85021 */ addu $t2, $t6, $t8 -/* 10EAC8 7F0D9F98 A1520001 */ sb $s2, 1($t2) -/* 10EACC 7F0D9F9C 97B90292 */ lhu $t9, 0x292($sp) -/* 10EAD0 7F0D9FA0 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 10EAD4 7F0D9FA4 01F95821 */ addu $t3, $t7, $t9 -/* 10EAD8 7F0D9FA8 10002214 */ b .L7F0E27FC -/* 10EADC 7F0D9FAC A168A801 */ sb $t0, -0x57ff($t3) -.L7F0D9FB0: -/* 10EAE0 7F0D9FB0 25A90001 */ addiu $t1, $t5, 1 -/* 10EAE4 7F0D9FB4 29214000 */ slti $at, $t1, 0x4000 -/* 10EAE8 7F0D9FB8 14202210 */ bnez $at, .L7F0E27FC -/* 10EAEC 7F0D9FBC 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 10EAF0 7F0D9FC0 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 10EAF4 7F0D9FC4 24180001 */ li $t8, 1 -/* 10EAF8 7F0D9FC8 018D7021 */ addu $t6, $t4, $t5 -/* 10EAFC 7F0D9FCC A1D20001 */ sb $s2, 1($t6) -/* 10EB00 7F0D9FD0 97AA0292 */ lhu $t2, 0x292($sp) -/* 10EB04 7F0D9FD4 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 10EB08 7F0D9FD8 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 10EB0C 7F0D9FDC 254F0001 */ addiu $t7, $t2, 1 -/* 10EB10 7F0D9FE0 31F91800 */ andi $t9, $t7, 0x1800 -/* 10EB14 7F0D9FE4 001940C3 */ sra $t0, $t9, 3 -/* 10EB18 7F0D9FE8 31EB00FF */ andi $t3, $t7, 0xff -/* 10EB1C 7F0D9FEC 010B4825 */ or $t1, $t0, $t3 -/* 10EB20 7F0D9FF0 01896821 */ addu $t5, $t4, $t1 -/* 10EB24 7F0D9FF4 10002201 */ b .L7F0E27FC -/* 10EB28 7F0D9FF8 A1B80000 */ sb $t8, ($t5) -spectrum_op_C6: -/* 10EB2C 7F0D9FFC 8FAE028C */ lw $t6, 0x28c($sp) -/* 10EB30 7F0DA000 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 10EB34 7F0DA004 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 10EB38 7F0DA008 97B90298 */ lhu $t9, 0x298($sp) -/* 10EB3C 7F0DA00C 25CA0007 */ addiu $t2, $t6, 7 -/* 10EB40 7F0DA010 AFAA028C */ sw $t2, 0x28c($sp) -/* 10EB44 7F0DA014 032F4021 */ addu $t0, $t9, $t7 -/* 10EB48 7F0DA018 910B0000 */ lbu $t3, ($t0) -/* 10EB4C 7F0DA01C 3219000F */ andi $t9, $s0, 0xf -/* 10EB50 7F0DA020 2401000F */ li $at, 15 -/* 10EB54 7F0DA024 020B4821 */ addu $t1, $s0, $t3 -/* 10EB58 7F0DA028 316A000F */ andi $t2, $t3, 0xf -/* 10EB5C 7F0DA02C 032A7821 */ addu $t7, $t9, $t2 -/* 10EB60 7F0DA030 313800A8 */ andi $t8, $t1, 0xa8 -/* 10EB64 7F0DA034 00096A03 */ sra $t5, $t1, 8 -/* 10EB68 7F0DA038 030D7025 */ or $t6, $t8, $t5 -/* 10EB6C 7F0DA03C 02006827 */ not $t5, $s0 -/* 10EB70 7F0DA040 002F402A */ slt $t0, $at, $t7 -/* 10EB74 7F0DA044 01307826 */ xor $t7, $t1, $s0 -/* 10EB78 7F0DA048 A7A90140 */ sh $t1, 0x140($sp) -/* 10EB7C 7F0DA04C 01ABC826 */ xor $t9, $t5, $t3 -/* 10EB80 7F0DA050 93B00141 */ lbu $s0, 0x141($sp) -/* 10EB84 7F0DA054 332A0080 */ andi $t2, $t9, 0x80 -/* 10EB88 7F0DA058 00086100 */ sll $t4, $t0, 4 -/* 10EB8C 7F0DA05C 014F4024 */ and $t0, $t2, $t7 -/* 10EB90 7F0DA060 01CCC025 */ or $t8, $t6, $t4 -/* 10EB94 7F0DA064 97AA0298 */ lhu $t2, 0x298($sp) -/* 10EB98 7F0DA068 00087143 */ sra $t6, $t0, 5 -/* 10EB9C 7F0DA06C 2E0D0001 */ sltiu $t5, $s0, 1 -/* 10EBA0 7F0DA070 000DC980 */ sll $t9, $t5, 6 -/* 10EBA4 7F0DA074 030E6025 */ or $t4, $t8, $t6 -/* 10EBA8 7F0DA078 01998825 */ or $s1, $t4, $t9 -/* 10EBAC 7F0DA07C 322900FF */ andi $t1, $s1, 0xff -/* 10EBB0 7F0DA080 254F0001 */ addiu $t7, $t2, 1 -/* 10EBB4 7F0DA084 01208825 */ move $s1, $t1 -/* 10EBB8 7F0DA088 AFAD0048 */ sw $t5, 0x48($sp) -/* 10EBBC 7F0DA08C A7AF0298 */ sh $t7, 0x298($sp) -/* 10EBC0 7F0DA090 100021DA */ b .L7F0E27FC -/* 10EBC4 7F0DA094 A3AB013F */ sb $t3, 0x13f($sp) -spectrum_op_C7: -/* 10EBC8 7F0DA098 97AE0292 */ lhu $t6, 0x292($sp) -/* 10EBCC 7F0DA09C 8FA8028C */ lw $t0, 0x28c($sp) -/* 10EBD0 7F0DA0A0 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10EBD4 7F0DA0A4 25CCFFFE */ addiu $t4, $t6, -2 -/* 10EBD8 7F0DA0A8 318DFFFF */ andi $t5, $t4, 0xffff -/* 10EBDC 7F0DA0AC 29A15B00 */ slti $at, $t5, 0x5b00 -/* 10EBE0 7F0DA0B0 2518000B */ addiu $t8, $t0, 0xb -/* 10EBE4 7F0DA0B4 AFB8028C */ sw $t8, 0x28c($sp) -/* 10EBE8 7F0DA0B8 14200006 */ bnez $at, .L7F0DA0D4 -/* 10EBEC 7F0DA0BC A7AC0292 */ sh $t4, 0x292($sp) -/* 10EBF0 7F0DA0C0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10EBF4 7F0DA0C4 97AB0298 */ lhu $t3, 0x298($sp) -/* 10EBF8 7F0DA0C8 032D4821 */ addu $t1, $t9, $t5 -/* 10EBFC 7F0DA0CC 10000023 */ b .L7F0DA15C -/* 10EC00 7F0DA0D0 A12B0000 */ sb $t3, ($t1) -.L7F0DA0D4: -/* 10EC04 7F0DA0D4 97AA0292 */ lhu $t2, 0x292($sp) -/* 10EC08 7F0DA0D8 97AB0292 */ lhu $t3, 0x292($sp) -/* 10EC0C 7F0DA0DC 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10EC10 7F0DA0E0 29415800 */ slti $at, $t2, 0x5800 -/* 10EC14 7F0DA0E4 5420000D */ bnezl $at, .L7F0DA11C -/* 10EC18 7F0DA0E8 29614000 */ slti $at, $t3, 0x4000 -/* 10EC1C 7F0DA0EC 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10EC20 7F0DA0F0 97AF0298 */ lhu $t7, 0x298($sp) -/* 10EC24 7F0DA0F4 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 10EC28 7F0DA0F8 010AC021 */ addu $t8, $t0, $t2 -/* 10EC2C 7F0DA0FC A30F0000 */ sb $t7, ($t8) -/* 10EC30 7F0DA100 97B90292 */ lhu $t9, 0x292($sp) -/* 10EC34 7F0DA104 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 10EC38 7F0DA108 240E0001 */ li $t6, 1 -/* 10EC3C 7F0DA10C 01996821 */ addu $t5, $t4, $t9 -/* 10EC40 7F0DA110 10000012 */ b .L7F0DA15C -/* 10EC44 7F0DA114 A1AEA800 */ sb $t6, -0x5800($t5) -/* 10EC48 7F0DA118 29614000 */ slti $at, $t3, 0x4000 -.L7F0DA11C: -/* 10EC4C 7F0DA11C 1420000F */ bnez $at, .L7F0DA15C -/* 10EC50 7F0DA120 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10EC54 7F0DA124 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10EC58 7F0DA128 97A90298 */ lhu $t1, 0x298($sp) -/* 10EC5C 7F0DA12C 240F0001 */ li $t7, 1 -/* 10EC60 7F0DA130 010B5021 */ addu $t2, $t0, $t3 -/* 10EC64 7F0DA134 A1490000 */ sb $t1, ($t2) -/* 10EC68 7F0DA138 97B80292 */ lhu $t8, 0x292($sp) -/* 10EC6C 7F0DA13C 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 10EC70 7F0DA140 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 10EC74 7F0DA144 330C1800 */ andi $t4, $t8, 0x1800 -/* 10EC78 7F0DA148 000CC8C3 */ sra $t9, $t4, 3 -/* 10EC7C 7F0DA14C 330E00FF */ andi $t6, $t8, 0xff -/* 10EC80 7F0DA150 032E6825 */ or $t5, $t9, $t6 -/* 10EC84 7F0DA154 010D5821 */ addu $t3, $t0, $t5 -/* 10EC88 7F0DA158 A16F0000 */ sb $t7, ($t3) -.L7F0DA15C: -/* 10EC8C 7F0DA15C 97A90292 */ lhu $t1, 0x292($sp) -/* 10EC90 7F0DA160 97A80292 */ lhu $t0, 0x292($sp) -/* 10EC94 7F0DA164 97AC0298 */ lhu $t4, 0x298($sp) -/* 10EC98 7F0DA168 252A0001 */ addiu $t2, $t1, 1 -/* 10EC9C 7F0DA16C 29415B00 */ slti $at, $t2, 0x5b00 -/* 10ECA0 7F0DA170 14200007 */ bnez $at, .L7F0DA190 -/* 10ECA4 7F0DA174 250D0001 */ addiu $t5, $t0, 1 -/* 10ECA8 7F0DA178 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10ECAC 7F0DA17C 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10ECB0 7F0DA180 000CC203 */ sra $t8, $t4, 8 -/* 10ECB4 7F0DA184 03297021 */ addu $t6, $t9, $t1 -/* 10ECB8 7F0DA188 10000025 */ b .L7F0DA220 -/* 10ECBC 7F0DA18C A1D80001 */ sb $t8, 1($t6) -.L7F0DA190: -/* 10ECC0 7F0DA190 29A15800 */ slti $at, $t5, 0x5800 -/* 10ECC4 7F0DA194 1420000E */ bnez $at, .L7F0DA1D0 -/* 10ECC8 7F0DA198 97AD0292 */ lhu $t5, 0x292($sp) -/* 10ECCC 7F0DA19C 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 10ECD0 7F0DA1A0 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 10ECD4 7F0DA1A4 97AF0298 */ lhu $t7, 0x298($sp) -/* 10ECD8 7F0DA1A8 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 10ECDC 7F0DA1AC 01486021 */ addu $t4, $t2, $t0 -/* 10ECE0 7F0DA1B0 000F5A03 */ sra $t3, $t7, 8 -/* 10ECE4 7F0DA1B4 A18B0001 */ sb $t3, 1($t4) -/* 10ECE8 7F0DA1B8 97B80292 */ lhu $t8, 0x292($sp) -/* 10ECEC 7F0DA1BC 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 10ECF0 7F0DA1C0 24190001 */ li $t9, 1 -/* 10ECF4 7F0DA1C4 01387021 */ addu $t6, $t1, $t8 -/* 10ECF8 7F0DA1C8 10000015 */ b .L7F0DA220 -/* 10ECFC 7F0DA1CC A1D9A801 */ sb $t9, -0x57ff($t6) -.L7F0DA1D0: -/* 10ED00 7F0DA1D0 25AF0001 */ addiu $t7, $t5, 1 -/* 10ED04 7F0DA1D4 29E14000 */ slti $at, $t7, 0x4000 -/* 10ED08 7F0DA1D8 14200011 */ bnez $at, .L7F0DA220 -/* 10ED0C 7F0DA1DC 97AA0298 */ lhu $t2, 0x298($sp) -/* 10ED10 7F0DA1E0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10ED14 7F0DA1E4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10ED18 7F0DA1E8 000A4203 */ sra $t0, $t2, 8 -/* 10ED1C 7F0DA1EC 24090001 */ li $t1, 1 -/* 10ED20 7F0DA1F0 016D6021 */ addu $t4, $t3, $t5 -/* 10ED24 7F0DA1F4 A1880001 */ sb $t0, 1($t4) -/* 10ED28 7F0DA1F8 97B80292 */ lhu $t8, 0x292($sp) -/* 10ED2C 7F0DA1FC 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 10ED30 7F0DA200 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 10ED34 7F0DA204 27190001 */ addiu $t9, $t8, 1 -/* 10ED38 7F0DA208 332E1800 */ andi $t6, $t9, 0x1800 -/* 10ED3C 7F0DA20C 000E78C3 */ sra $t7, $t6, 3 -/* 10ED40 7F0DA210 332A00FF */ andi $t2, $t9, 0xff -/* 10ED44 7F0DA214 01EA5825 */ or $t3, $t7, $t2 -/* 10ED48 7F0DA218 01AB4021 */ addu $t0, $t5, $t3 -/* 10ED4C 7F0DA21C A1090000 */ sb $t1, ($t0) -.L7F0DA220: -/* 10ED50 7F0DA220 10002176 */ b .L7F0E27FC -/* 10ED54 7F0DA224 A7A00298 */ sh $zero, 0x298($sp) -spectrum_op_C8: -/* 10ED58 7F0DA228 8FAC028C */ lw $t4, 0x28c($sp) -/* 10ED5C 7F0DA22C 322E0040 */ andi $t6, $s1, 0x40 -/* 10ED60 7F0DA230 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10ED64 7F0DA234 25980005 */ addiu $t8, $t4, 5 -/* 10ED68 7F0DA238 11C02170 */ beqz $t6, .L7F0E27FC -/* 10ED6C 7F0DA23C AFB8028C */ sw $t8, 0x28c($sp) -/* 10ED70 7F0DA240 97AA0292 */ lhu $t2, 0x292($sp) -/* 10ED74 7F0DA244 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10ED78 7F0DA248 270F0006 */ addiu $t7, $t8, 6 -/* 10ED7C 7F0DA24C AFAF028C */ sw $t7, 0x28c($sp) -/* 10ED80 7F0DA250 01AA4021 */ addu $t0, $t5, $t2 -/* 10ED84 7F0DA254 910C0001 */ lbu $t4, 1($t0) -/* 10ED88 7F0DA258 014D5821 */ addu $t3, $t2, $t5 -/* 10ED8C 7F0DA25C 91690000 */ lbu $t1, ($t3) -/* 10ED90 7F0DA260 000CC200 */ sll $t8, $t4, 8 -/* 10ED94 7F0DA264 25590002 */ addiu $t9, $t2, 2 -/* 10ED98 7F0DA268 01387025 */ or $t6, $t1, $t8 -/* 10ED9C 7F0DA26C A7AE0298 */ sh $t6, 0x298($sp) -/* 10EDA0 7F0DA270 10002162 */ b .L7F0E27FC -/* 10EDA4 7F0DA274 A7B90292 */ sh $t9, 0x292($sp) -spectrum_op_C9: -/* 10EDA8 7F0DA278 8FAF028C */ lw $t7, 0x28c($sp) -/* 10EDAC 7F0DA27C 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10EDB0 7F0DA280 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10EDB4 7F0DA284 97AC0292 */ lhu $t4, 0x292($sp) -/* 10EDB8 7F0DA288 25EB0004 */ addiu $t3, $t7, 4 -/* 10EDBC 7F0DA28C AFAB028C */ sw $t3, 0x28c($sp) -/* 10EDC0 7F0DA290 25680006 */ addiu $t0, $t3, 6 -/* 10EDC4 7F0DA294 AFA8028C */ sw $t0, 0x28c($sp) -/* 10EDC8 7F0DA298 012C5021 */ addu $t2, $t1, $t4 -/* 10EDCC 7F0DA29C 91590001 */ lbu $t9, 1($t2) -/* 10EDD0 7F0DA2A0 0189C021 */ addu $t8, $t4, $t1 -/* 10EDD4 7F0DA2A4 930E0000 */ lbu $t6, ($t8) -/* 10EDD8 7F0DA2A8 00197A00 */ sll $t7, $t9, 8 -/* 10EDDC 7F0DA2AC 258D0002 */ addiu $t5, $t4, 2 -/* 10EDE0 7F0DA2B0 01CF5825 */ or $t3, $t6, $t7 -/* 10EDE4 7F0DA2B4 A7AB0298 */ sh $t3, 0x298($sp) -/* 10EDE8 7F0DA2B8 10002150 */ b .L7F0E27FC -/* 10EDEC 7F0DA2BC A7AD0292 */ sh $t5, 0x292($sp) -spectrum_op_CA: -/* 10EDF0 7F0DA2C0 8FA8028C */ lw $t0, 0x28c($sp) -/* 10EDF4 7F0DA2C4 32290040 */ andi $t1, $s1, 0x40 -/* 10EDF8 7F0DA2C8 97AA0298 */ lhu $t2, 0x298($sp) -/* 10EDFC 7F0DA2CC 2518000A */ addiu $t8, $t0, 0xa -/* 10EE00 7F0DA2D0 1120000B */ beqz $t1, .L7F0DA300 -/* 10EE04 7F0DA2D4 AFB8028C */ sw $t8, 0x28c($sp) -/* 10EE08 7F0DA2D8 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10EE0C 7F0DA2DC 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10EE10 7F0DA2E0 032A5821 */ addu $t3, $t9, $t2 -/* 10EE14 7F0DA2E4 916C0001 */ lbu $t4, 1($t3) -/* 10EE18 7F0DA2E8 01597021 */ addu $t6, $t2, $t9 -/* 10EE1C 7F0DA2EC 91CF0000 */ lbu $t7, ($t6) -/* 10EE20 7F0DA2F0 000C6A00 */ sll $t5, $t4, 8 -/* 10EE24 7F0DA2F4 01ED4025 */ or $t0, $t7, $t5 -/* 10EE28 7F0DA2F8 10002140 */ b .L7F0E27FC -/* 10EE2C 7F0DA2FC A7A80298 */ sh $t0, 0x298($sp) -.L7F0DA300: -/* 10EE30 7F0DA300 97B80298 */ lhu $t8, 0x298($sp) -/* 10EE34 7F0DA304 27090002 */ addiu $t1, $t8, 2 -/* 10EE38 7F0DA308 1000213C */ b .L7F0E27FC -/* 10EE3C 7F0DA30C A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_CB: -/* 10EE40 7F0DA310 8FAE028C */ lw $t6, 0x28c($sp) -/* 10EE44 7F0DA314 93AA0287 */ lbu $t2, 0x287($sp) -/* 10EE48 7F0DA318 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10EE4C 7F0DA31C 25D90004 */ addiu $t9, $t6, 4 -/* 10EE50 7F0DA320 1140001F */ beqz $t2, .L7F0DA3A0 -/* 10EE54 7F0DA324 AFB9028C */ sw $t9, 0x28c($sp) -/* 10EE58 7F0DA328 24010001 */ li $at, 1 -/* 10EE5C 7F0DA32C 15410004 */ bne $t2, $at, .L7F0DA340 -/* 10EE60 7F0DA330 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10EE64 7F0DA334 97AB0296 */ lhu $t3, 0x296($sp) -/* 10EE68 7F0DA338 10000003 */ b .L7F0DA348 -/* 10EE6C 7F0DA33C AFAB0048 */ sw $t3, 0x48($sp) -.L7F0DA340: -/* 10EE70 7F0DA340 97AC0294 */ lhu $t4, 0x294($sp) -/* 10EE74 7F0DA344 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0DA348: -/* 10EE78 7F0DA348 97AF0298 */ lhu $t7, 0x298($sp) -/* 10EE7C 7F0DA34C 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10EE80 7F0DA350 8FA90048 */ lw $t1, 0x48($sp) -/* 10EE84 7F0DA354 8FAA028C */ lw $t2, 0x28c($sp) -/* 10EE88 7F0DA358 01ED4021 */ addu $t0, $t7, $t5 -/* 10EE8C 7F0DA35C 81180000 */ lb $t8, ($t0) -/* 10EE90 7F0DA360 25F90001 */ addiu $t9, $t7, 1 -/* 10EE94 7F0DA364 332CFFFF */ andi $t4, $t9, 0xffff -/* 10EE98 7F0DA368 254B0008 */ addiu $t3, $t2, 8 -/* 10EE9C 7F0DA36C 03097021 */ addu $t6, $t8, $t1 -/* 10EEA0 7F0DA370 A7AE013C */ sh $t6, 0x13c($sp) -/* 10EEA4 7F0DA374 A7B90298 */ sh $t9, 0x298($sp) -/* 10EEA8 7F0DA378 AFAB028C */ sw $t3, 0x28c($sp) -/* 10EEAC 7F0DA37C 018D4021 */ addu $t0, $t4, $t5 -/* 10EEB0 7F0DA380 91180000 */ lbu $t8, ($t0) -/* 10EEB4 7F0DA384 330E00F8 */ andi $t6, $t8, 0xf8 -/* 10EEB8 7F0DA388 35CF0006 */ ori $t7, $t6, 6 -/* 10EEBC 7F0DA38C A3B8013B */ sb $t8, 0x13b($sp) -/* 10EEC0 7F0DA390 33090007 */ andi $t1, $t8, 7 -/* 10EEC4 7F0DA394 A3A9013A */ sb $t1, 0x13a($sp) -/* 10EEC8 7F0DA398 1000000F */ b .L7F0DA3D8 -/* 10EECC 7F0DA39C A3AF013B */ sb $t7, 0x13b($sp) -.L7F0DA3A0: -/* 10EED0 7F0DA3A0 97AA0298 */ lhu $t2, 0x298($sp) -/* 10EED4 7F0DA3A4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10EED8 7F0DA3A8 8FAD028C */ lw $t5, 0x28c($sp) -/* 10EEDC 7F0DA3AC 8FA90288 */ lw $t1, 0x288($sp) -/* 10EEE0 7F0DA3B0 014BC821 */ addu $t9, $t2, $t3 -/* 10EEE4 7F0DA3B4 932C0000 */ lbu $t4, ($t9) -/* 10EEE8 7F0DA3B8 00167200 */ sll $t6, $s6, 8 -/* 10EEEC 7F0DA3BC 01D77825 */ or $t7, $t6, $s7 -/* 10EEF0 7F0DA3C0 25A80004 */ addiu $t0, $t5, 4 -/* 10EEF4 7F0DA3C4 25380001 */ addiu $t8, $t1, 1 -/* 10EEF8 7F0DA3C8 AFA8028C */ sw $t0, 0x28c($sp) -/* 10EEFC 7F0DA3CC AFB80288 */ sw $t8, 0x288($sp) -/* 10EF00 7F0DA3D0 A7AF013C */ sh $t7, 0x13c($sp) -/* 10EF04 7F0DA3D4 A3AC013B */ sb $t4, 0x13b($sp) -.L7F0DA3D8: -/* 10EF08 7F0DA3D8 97AA0298 */ lhu $t2, 0x298($sp) -/* 10EF0C 7F0DA3DC 93B9013B */ lbu $t9, 0x13b($sp) -/* 10EF10 7F0DA3E0 93AF013B */ lbu $t7, 0x13b($sp) -/* 10EF14 7F0DA3E4 254B0001 */ addiu $t3, $t2, 1 -/* 10EF18 7F0DA3E8 2B210040 */ slti $at, $t9, 0x40 -spectrum_op_CB_40_FF: -/* 10EF1C 7F0DA3EC 102006A4 */ beqz $at, .L7F0DBE80 -/* 10EF20 7F0DA3F0 A7AB0298 */ sh $t3, 0x298($sp) -/* 10EF24 7F0DA3F4 2F210040 */ sltiu $at, $t9, 0x40 -def_7F0DBF10: -/* 10EF28 7F0DA3F8 10200867 */ beqz $at, .L7F0DC598 -/* 10EF2C 7F0DA3FC 0019C880 */ sll $t9, $t9, 2 -/* 10EF30 7F0DA400 3C018006 */ lui $at, %hi(jpt_8005C52C) -/* 10EF34 7F0DA404 00390821 */ addu $at, $at, $t9 -/* 10EF38 7F0DA408 8C39C52C */ lw $t9, %lo(jpt_8005C52C)($at) -/* 10EF3C 7F0DA40C 03200008 */ jr $t9 -/* 10EF40 7F0DA410 00000000 */ nop -spectrum_op_CB_00: -/* 10EF44 7F0DA414 00126040 */ sll $t4, $s2, 1 -/* 10EF48 7F0DA418 001269C3 */ sra $t5, $s2, 7 -/* 10EF4C 7F0DA41C 018D9025 */ or $s2, $t4, $t5 -/* 10EF50 7F0DA420 324800FF */ andi $t0, $s2, 0xff -/* 10EF54 7F0DA424 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 10EF58 7F0DA428 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 10EF5C 7F0DA42C 2D090001 */ sltiu $t1, $t0, 1 -/* 10EF60 7F0DA430 AFA90048 */ sw $t1, 0x48($sp) -/* 10EF64 7F0DA434 01009025 */ move $s2, $t0 -/* 10EF68 7F0DA438 31180001 */ andi $t8, $t0, 1 -/* 10EF6C 7F0DA43C 310E00A8 */ andi $t6, $t0, 0xa8 -/* 10EF70 7F0DA440 010C6821 */ addu $t5, $t0, $t4 -/* 10EF74 7F0DA444 91A80000 */ lbu $t0, ($t5) -/* 10EF78 7F0DA448 030E7825 */ or $t7, $t8, $t6 -/* 10EF7C 7F0DA44C 00095980 */ sll $t3, $t1, 6 -/* 10EF80 7F0DA450 01EBC825 */ or $t9, $t7, $t3 -/* 10EF84 7F0DA454 01198825 */ or $s1, $t0, $t9 -/* 10EF88 7F0DA458 322900FF */ andi $t1, $s1, 0xff -/* 10EF8C 7F0DA45C 1000084E */ b .L7F0DC598 -/* 10EF90 7F0DA460 01208825 */ move $s1, $t1 -spectrum_op_CB_01: -/* 10EF94 7F0DA464 0013C040 */ sll $t8, $s3, 1 -/* 10EF98 7F0DA468 001371C3 */ sra $t6, $s3, 7 -/* 10EF9C 7F0DA46C 030E9825 */ or $s3, $t8, $t6 -/* 10EFA0 7F0DA470 326A00FF */ andi $t2, $s3, 0xff -/* 10EFA4 7F0DA474 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 10EFA8 7F0DA478 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 10EFAC 7F0DA47C 2D4F0001 */ sltiu $t7, $t2, 1 -/* 10EFB0 7F0DA480 AFAF0048 */ sw $t7, 0x48($sp) -/* 10EFB4 7F0DA484 01409825 */ move $s3, $t2 -/* 10EFB8 7F0DA488 314B0001 */ andi $t3, $t2, 1 -/* 10EFBC 7F0DA48C 314C00A8 */ andi $t4, $t2, 0xa8 -/* 10EFC0 7F0DA490 01587021 */ addu $t6, $t2, $t8 -/* 10EFC4 7F0DA494 91CA0000 */ lbu $t2, ($t6) -/* 10EFC8 7F0DA498 016C6825 */ or $t5, $t3, $t4 -/* 10EFCC 7F0DA49C 000FC980 */ sll $t9, $t7, 6 -/* 10EFD0 7F0DA4A0 01B94825 */ or $t1, $t5, $t9 -/* 10EFD4 7F0DA4A4 01498825 */ or $s1, $t2, $t1 -/* 10EFD8 7F0DA4A8 322F00FF */ andi $t7, $s1, 0xff -/* 10EFDC 7F0DA4AC 1000083A */ b .L7F0DC598 -/* 10EFE0 7F0DA4B0 01E08825 */ move $s1, $t7 -spectrum_op_CB_02: -/* 10EFE4 7F0DA4B4 00145840 */ sll $t3, $s4, 1 -/* 10EFE8 7F0DA4B8 001461C3 */ sra $t4, $s4, 7 -/* 10EFEC 7F0DA4BC 016CA025 */ or $s4, $t3, $t4 -/* 10EFF0 7F0DA4C0 328800FF */ andi $t0, $s4, 0xff -/* 10EFF4 7F0DA4C4 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 10EFF8 7F0DA4C8 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 10EFFC 7F0DA4CC 2D0D0001 */ sltiu $t5, $t0, 1 -/* 10F000 7F0DA4D0 AFAD0048 */ sw $t5, 0x48($sp) -/* 10F004 7F0DA4D4 0100A025 */ move $s4, $t0 -/* 10F008 7F0DA4D8 31190001 */ andi $t9, $t0, 1 -/* 10F00C 7F0DA4DC 311800A8 */ andi $t8, $t0, 0xa8 -/* 10F010 7F0DA4E0 010B6021 */ addu $t4, $t0, $t3 -/* 10F014 7F0DA4E4 91880000 */ lbu $t0, ($t4) -/* 10F018 7F0DA4E8 03387025 */ or $t6, $t9, $t8 -/* 10F01C 7F0DA4EC 000D4980 */ sll $t1, $t5, 6 -/* 10F020 7F0DA4F0 01C97825 */ or $t7, $t6, $t1 -/* 10F024 7F0DA4F4 010F8825 */ or $s1, $t0, $t7 -/* 10F028 7F0DA4F8 322D00FF */ andi $t5, $s1, 0xff -/* 10F02C 7F0DA4FC 10000826 */ b .L7F0DC598 -/* 10F030 7F0DA500 01A08825 */ move $s1, $t5 -spectrum_op_CB_03: -/* 10F034 7F0DA504 0015C840 */ sll $t9, $s5, 1 -/* 10F038 7F0DA508 0015C1C3 */ sra $t8, $s5, 7 -/* 10F03C 7F0DA50C 0338A825 */ or $s5, $t9, $t8 -/* 10F040 7F0DA510 32AA00FF */ andi $t2, $s5, 0xff -/* 10F044 7F0DA514 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 10F048 7F0DA518 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 10F04C 7F0DA51C 2D4E0001 */ sltiu $t6, $t2, 1 -/* 10F050 7F0DA520 AFAE0048 */ sw $t6, 0x48($sp) -/* 10F054 7F0DA524 0140A825 */ move $s5, $t2 -/* 10F058 7F0DA528 31490001 */ andi $t1, $t2, 1 -/* 10F05C 7F0DA52C 314B00A8 */ andi $t3, $t2, 0xa8 -/* 10F060 7F0DA530 0159C021 */ addu $t8, $t2, $t9 -/* 10F064 7F0DA534 930A0000 */ lbu $t2, ($t8) -/* 10F068 7F0DA538 012B6025 */ or $t4, $t1, $t3 -/* 10F06C 7F0DA53C 000E7980 */ sll $t7, $t6, 6 -/* 10F070 7F0DA540 018F6825 */ or $t5, $t4, $t7 -/* 10F074 7F0DA544 014D8825 */ or $s1, $t2, $t5 -/* 10F078 7F0DA548 322E00FF */ andi $t6, $s1, 0xff -/* 10F07C 7F0DA54C 10000812 */ b .L7F0DC598 -/* 10F080 7F0DA550 01C08825 */ move $s1, $t6 -spectrum_op_CB_04: -/* 10F084 7F0DA554 00164840 */ sll $t1, $s6, 1 -/* 10F088 7F0DA558 001659C3 */ sra $t3, $s6, 7 -/* 10F08C 7F0DA55C 012BB025 */ or $s6, $t1, $t3 -/* 10F090 7F0DA560 32C800FF */ andi $t0, $s6, 0xff -/* 10F094 7F0DA564 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 10F098 7F0DA568 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 10F09C 7F0DA56C 2D0C0001 */ sltiu $t4, $t0, 1 -/* 10F0A0 7F0DA570 AFAC0048 */ sw $t4, 0x48($sp) -/* 10F0A4 7F0DA574 0100B025 */ move $s6, $t0 -/* 10F0A8 7F0DA578 310F0001 */ andi $t7, $t0, 1 -/* 10F0AC 7F0DA57C 311900A8 */ andi $t9, $t0, 0xa8 -/* 10F0B0 7F0DA580 01095821 */ addu $t3, $t0, $t1 -/* 10F0B4 7F0DA584 91680000 */ lbu $t0, ($t3) -/* 10F0B8 7F0DA588 01F9C025 */ or $t8, $t7, $t9 -/* 10F0BC 7F0DA58C 000C6980 */ sll $t5, $t4, 6 -/* 10F0C0 7F0DA590 030D7025 */ or $t6, $t8, $t5 -/* 10F0C4 7F0DA594 010E8825 */ or $s1, $t0, $t6 -/* 10F0C8 7F0DA598 322C00FF */ andi $t4, $s1, 0xff -/* 10F0CC 7F0DA59C 100007FE */ b .L7F0DC598 -/* 10F0D0 7F0DA5A0 01808825 */ move $s1, $t4 -spectrum_op_CB_05: -/* 10F0D4 7F0DA5A4 00177840 */ sll $t7, $s7, 1 -/* 10F0D8 7F0DA5A8 0017C9C3 */ sra $t9, $s7, 7 -/* 10F0DC 7F0DA5AC 01F9B825 */ or $s7, $t7, $t9 -/* 10F0E0 7F0DA5B0 32EA00FF */ andi $t2, $s7, 0xff -/* 10F0E4 7F0DA5B4 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 10F0E8 7F0DA5B8 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 10F0EC 7F0DA5BC 2D580001 */ sltiu $t8, $t2, 1 -/* 10F0F0 7F0DA5C0 AFB80048 */ sw $t8, 0x48($sp) -/* 10F0F4 7F0DA5C4 0140B825 */ move $s7, $t2 -/* 10F0F8 7F0DA5C8 314D0001 */ andi $t5, $t2, 1 -/* 10F0FC 7F0DA5CC 314900A8 */ andi $t1, $t2, 0xa8 -/* 10F100 7F0DA5D0 014FC821 */ addu $t9, $t2, $t7 -/* 10F104 7F0DA5D4 932A0000 */ lbu $t2, ($t9) -/* 10F108 7F0DA5D8 01A95825 */ or $t3, $t5, $t1 -/* 10F10C 7F0DA5DC 00187180 */ sll $t6, $t8, 6 -/* 10F110 7F0DA5E0 016E6025 */ or $t4, $t3, $t6 -/* 10F114 7F0DA5E4 014C8825 */ or $s1, $t2, $t4 -/* 10F118 7F0DA5E8 323800FF */ andi $t8, $s1, 0xff -/* 10F11C 7F0DA5EC 100007EA */ b .L7F0DC598 -/* 10F120 7F0DA5F0 03008825 */ move $s1, $t8 -spectrum_op_CB_06: -/* 10F124 7F0DA5F4 8FAD028C */ lw $t5, 0x28c($sp) -/* 10F128 7F0DA5F8 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10F12C 7F0DA5FC 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10F130 7F0DA600 97A8013C */ lhu $t0, 0x13c($sp) -/* 10F134 7F0DA604 25A90007 */ addiu $t1, $t5, 7 -/* 10F138 7F0DA608 AFA9028C */ sw $t1, 0x28c($sp) -/* 10F13C 7F0DA60C 010B7021 */ addu $t6, $t0, $t3 -/* 10F140 7F0DA610 91CF0000 */ lbu $t7, ($t6) -/* 10F144 7F0DA614 000FC840 */ sll $t9, $t7, 1 -/* 10F148 7F0DA618 000F51C3 */ sra $t2, $t7, 7 -/* 10F14C 7F0DA61C 032A6025 */ or $t4, $t9, $t2 -/* 10F150 7F0DA620 319800FF */ andi $t8, $t4, 0xff -/* 10F154 7F0DA624 2F0D0001 */ sltiu $t5, $t8, 1 -/* 10F158 7F0DA628 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 10F15C 7F0DA62C 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 10F160 7F0DA630 318900FF */ andi $t1, $t4, 0xff -/* 10F164 7F0DA634 A3AF0139 */ sb $t7, 0x139($sp) -/* 10F168 7F0DA638 31280001 */ andi $t0, $t1, 1 -/* 10F16C 7F0DA63C 318E00A8 */ andi $t6, $t4, 0xa8 -/* 10F170 7F0DA640 010E7825 */ or $t7, $t0, $t6 -/* 10F174 7F0DA644 A3AC0139 */ sb $t4, 0x139($sp) -/* 10F178 7F0DA648 AFAD0048 */ sw $t5, 0x48($sp) -/* 10F17C 7F0DA64C 01385821 */ addu $t3, $t1, $t8 -/* 10F180 7F0DA650 91680000 */ lbu $t0, ($t3) -/* 10F184 7F0DA654 000DC980 */ sll $t9, $t5, 6 -/* 10F188 7F0DA658 97AD013C */ lhu $t5, 0x13c($sp) -/* 10F18C 7F0DA65C 01F95025 */ or $t2, $t7, $t9 -/* 10F190 7F0DA660 010A8825 */ or $s1, $t0, $t2 -/* 10F194 7F0DA664 322E00FF */ andi $t6, $s1, 0xff -/* 10F198 7F0DA668 29A15B00 */ slti $at, $t5, 0x5b00 -/* 10F19C 7F0DA66C 14200007 */ bnez $at, .L7F0DA68C -/* 10F1A0 7F0DA670 01C08825 */ move $s1, $t6 -/* 10F1A4 7F0DA674 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10F1A8 7F0DA678 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10F1AC 7F0DA67C 01807825 */ move $t7, $t4 -/* 10F1B0 7F0DA680 032D6021 */ addu $t4, $t9, $t5 -/* 10F1B4 7F0DA684 100007C4 */ b .L7F0DC598 -/* 10F1B8 7F0DA688 A18F0000 */ sb $t7, ($t4) -.L7F0DA68C: -/* 10F1BC 7F0DA68C 97A9013C */ lhu $t1, 0x13c($sp) -/* 10F1C0 7F0DA690 97AF013C */ lhu $t7, 0x13c($sp) -/* 10F1C4 7F0DA694 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10F1C8 7F0DA698 29215800 */ slti $at, $t1, 0x5800 -/* 10F1CC 7F0DA69C 5420000D */ bnezl $at, .L7F0DA6D4 -/* 10F1D0 7F0DA6A0 29E14000 */ slti $at, $t7, 0x4000 -/* 10F1D4 7F0DA6A4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10F1D8 7F0DA6A8 93B80139 */ lbu $t8, 0x139($sp) -/* 10F1DC 7F0DA6AC 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 10F1E0 7F0DA6B0 01694021 */ addu $t0, $t3, $t1 -/* 10F1E4 7F0DA6B4 A1180000 */ sb $t8, ($t0) -/* 10F1E8 7F0DA6B8 97B9013C */ lhu $t9, 0x13c($sp) -/* 10F1EC 7F0DA6BC 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 10F1F0 7F0DA6C0 240A0001 */ li $t2, 1 -/* 10F1F4 7F0DA6C4 01D96821 */ addu $t5, $t6, $t9 -/* 10F1F8 7F0DA6C8 100007B3 */ b .L7F0DC598 -/* 10F1FC 7F0DA6CC A1AAA800 */ sb $t2, -0x5800($t5) -/* 10F200 7F0DA6D0 29E14000 */ slti $at, $t7, 0x4000 -.L7F0DA6D4: -/* 10F204 7F0DA6D4 142007B0 */ bnez $at, .L7F0DC598 -/* 10F208 7F0DA6D8 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10F20C 7F0DA6DC 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10F210 7F0DA6E0 93AC0139 */ lbu $t4, 0x139($sp) -/* 10F214 7F0DA6E4 24180001 */ li $t8, 1 -/* 10F218 7F0DA6E8 016F4821 */ addu $t1, $t3, $t7 -/* 10F21C 7F0DA6EC A12C0000 */ sb $t4, ($t1) -/* 10F220 7F0DA6F0 97A8013C */ lhu $t0, 0x13c($sp) -/* 10F224 7F0DA6F4 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 10F228 7F0DA6F8 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 10F22C 7F0DA6FC 310E1800 */ andi $t6, $t0, 0x1800 -/* 10F230 7F0DA700 000EC8C3 */ sra $t9, $t6, 3 -/* 10F234 7F0DA704 310A00FF */ andi $t2, $t0, 0xff -/* 10F238 7F0DA708 032A6825 */ or $t5, $t9, $t2 -/* 10F23C 7F0DA70C 016D7821 */ addu $t7, $t3, $t5 -/* 10F240 7F0DA710 100007A1 */ b .L7F0DC598 -/* 10F244 7F0DA714 A1F80000 */ sb $t8, ($t7) -spectrum_op_CB_07: -/* 10F248 7F0DA718 00106040 */ sll $t4, $s0, 1 -/* 10F24C 7F0DA71C 001049C3 */ sra $t1, $s0, 7 -/* 10F250 7F0DA720 01898025 */ or $s0, $t4, $t1 -/* 10F254 7F0DA724 320E00FF */ andi $t6, $s0, 0xff -/* 10F258 7F0DA728 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 10F25C 7F0DA72C 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 10F260 7F0DA730 2DC80001 */ sltiu $t0, $t6, 1 -/* 10F264 7F0DA734 AFA80048 */ sw $t0, 0x48($sp) -/* 10F268 7F0DA738 01C08025 */ move $s0, $t6 -/* 10F26C 7F0DA73C 31D90001 */ andi $t9, $t6, 1 -/* 10F270 7F0DA740 31CA00A8 */ andi $t2, $t6, 0xa8 -/* 10F274 7F0DA744 01CC4821 */ addu $t1, $t6, $t4 -/* 10F278 7F0DA748 912E0000 */ lbu $t6, ($t1) -/* 10F27C 7F0DA74C 032A5825 */ or $t3, $t9, $t2 -/* 10F280 7F0DA750 0008C180 */ sll $t8, $t0, 6 -/* 10F284 7F0DA754 01787825 */ or $t7, $t3, $t8 -/* 10F288 7F0DA758 01CF8825 */ or $s1, $t6, $t7 -/* 10F28C 7F0DA75C 322800FF */ andi $t0, $s1, 0xff -/* 10F290 7F0DA760 1000078D */ b .L7F0DC598 -/* 10F294 7F0DA764 01008825 */ move $s1, $t0 -spectrum_op_CB_08: -/* 10F298 7F0DA768 324D0001 */ andi $t5, $s2, 1 -/* 10F29C 7F0DA76C 000D59C0 */ sll $t3, $t5, 7 -/* 10F2A0 7F0DA770 00125043 */ sra $t2, $s2, 1 -/* 10F2A4 7F0DA774 014B9025 */ or $s2, $t2, $t3 -/* 10F2A8 7F0DA778 325800FF */ andi $t8, $s2, 0xff -/* 10F2AC 7F0DA77C 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 10F2B0 7F0DA780 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 10F2B4 7F0DA784 2F0C0001 */ sltiu $t4, $t8, 1 -/* 10F2B8 7F0DA788 AFAC0048 */ sw $t4, 0x48($sp) -/* 10F2BC 7F0DA78C 03009025 */ move $s2, $t8 -/* 10F2C0 7F0DA790 330900A8 */ andi $t1, $t8, 0xa8 -/* 10F2C4 7F0DA794 A3AD0138 */ sb $t5, 0x138($sp) -/* 10F2C8 7F0DA798 030A5821 */ addu $t3, $t8, $t2 -/* 10F2CC 7F0DA79C 91780000 */ lbu $t8, ($t3) -/* 10F2D0 7F0DA7A0 01A97025 */ or $t6, $t5, $t1 -/* 10F2D4 7F0DA7A4 000C4180 */ sll $t0, $t4, 6 -/* 10F2D8 7F0DA7A8 01C8C825 */ or $t9, $t6, $t0 -/* 10F2DC 7F0DA7AC 03198825 */ or $s1, $t8, $t9 -/* 10F2E0 7F0DA7B0 322C00FF */ andi $t4, $s1, 0xff -/* 10F2E4 7F0DA7B4 10000778 */ b .L7F0DC598 -/* 10F2E8 7F0DA7B8 01808825 */ move $s1, $t4 -spectrum_op_CB_09: -/* 10F2EC 7F0DA7BC 326F0001 */ andi $t7, $s3, 1 -/* 10F2F0 7F0DA7C0 000F71C0 */ sll $t6, $t7, 7 -/* 10F2F4 7F0DA7C4 00134843 */ sra $t1, $s3, 1 -/* 10F2F8 7F0DA7C8 012E9825 */ or $s3, $t1, $t6 -/* 10F2FC 7F0DA7CC 326800FF */ andi $t0, $s3, 0xff -/* 10F300 7F0DA7D0 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 10F304 7F0DA7D4 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 10F308 7F0DA7D8 2D0A0001 */ sltiu $t2, $t0, 1 -/* 10F30C 7F0DA7DC AFAA0048 */ sw $t2, 0x48($sp) -/* 10F310 7F0DA7E0 01009825 */ move $s3, $t0 -/* 10F314 7F0DA7E4 310B00A8 */ andi $t3, $t0, 0xa8 -/* 10F318 7F0DA7E8 A3AF0137 */ sb $t7, 0x137($sp) -/* 10F31C 7F0DA7EC 01097021 */ addu $t6, $t0, $t1 -/* 10F320 7F0DA7F0 91C80000 */ lbu $t0, ($t6) -/* 10F324 7F0DA7F4 01EBC025 */ or $t8, $t7, $t3 -/* 10F328 7F0DA7F8 000A6180 */ sll $t4, $t2, 6 -/* 10F32C 7F0DA7FC 030C6825 */ or $t5, $t8, $t4 -/* 10F330 7F0DA800 010D8825 */ or $s1, $t0, $t5 -/* 10F334 7F0DA804 322A00FF */ andi $t2, $s1, 0xff -/* 10F338 7F0DA808 10000763 */ b .L7F0DC598 -/* 10F33C 7F0DA80C 01408825 */ move $s1, $t2 -spectrum_op_CB_0A: -/* 10F340 7F0DA810 32990001 */ andi $t9, $s4, 1 -/* 10F344 7F0DA814 0019C1C0 */ sll $t8, $t9, 7 -/* 10F348 7F0DA818 00145843 */ sra $t3, $s4, 1 -/* 10F34C 7F0DA81C 0178A025 */ or $s4, $t3, $t8 -/* 10F350 7F0DA820 328C00FF */ andi $t4, $s4, 0xff -/* 10F354 7F0DA824 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 10F358 7F0DA828 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 10F35C 7F0DA82C 2D890001 */ sltiu $t1, $t4, 1 -/* 10F360 7F0DA830 AFA90048 */ sw $t1, 0x48($sp) -/* 10F364 7F0DA834 0180A025 */ move $s4, $t4 -/* 10F368 7F0DA838 318E00A8 */ andi $t6, $t4, 0xa8 -/* 10F36C 7F0DA83C A3B90136 */ sb $t9, 0x136($sp) -/* 10F370 7F0DA840 018BC021 */ addu $t8, $t4, $t3 -/* 10F374 7F0DA844 930C0000 */ lbu $t4, ($t8) -/* 10F378 7F0DA848 032E4025 */ or $t0, $t9, $t6 -/* 10F37C 7F0DA84C 00095180 */ sll $t2, $t1, 6 -/* 10F380 7F0DA850 010A7825 */ or $t7, $t0, $t2 -/* 10F384 7F0DA854 018F8825 */ or $s1, $t4, $t7 -/* 10F388 7F0DA858 322900FF */ andi $t1, $s1, 0xff -/* 10F38C 7F0DA85C 1000074E */ b .L7F0DC598 -/* 10F390 7F0DA860 01208825 */ move $s1, $t1 -spectrum_op_CB_0B: -/* 10F394 7F0DA864 32AD0001 */ andi $t5, $s5, 1 -/* 10F398 7F0DA868 000D41C0 */ sll $t0, $t5, 7 -/* 10F39C 7F0DA86C 00157043 */ sra $t6, $s5, 1 -/* 10F3A0 7F0DA870 01C8A825 */ or $s5, $t6, $t0 -/* 10F3A4 7F0DA874 32AA00FF */ andi $t2, $s5, 0xff -/* 10F3A8 7F0DA878 3C0E8009 */ lui $t6, %hi(ptr_pc_keyboard_table_alloc) -/* 10F3AC 7F0DA87C 8DCEE334 */ lw $t6, %lo(ptr_pc_keyboard_table_alloc)($t6) -/* 10F3B0 7F0DA880 2D4B0001 */ sltiu $t3, $t2, 1 -/* 10F3B4 7F0DA884 AFAB0048 */ sw $t3, 0x48($sp) -/* 10F3B8 7F0DA888 0140A825 */ move $s5, $t2 -/* 10F3BC 7F0DA88C 315800A8 */ andi $t8, $t2, 0xa8 -/* 10F3C0 7F0DA890 A3AD0135 */ sb $t5, 0x135($sp) -/* 10F3C4 7F0DA894 014E4021 */ addu $t0, $t2, $t6 -/* 10F3C8 7F0DA898 910A0000 */ lbu $t2, ($t0) -/* 10F3CC 7F0DA89C 01B86025 */ or $t4, $t5, $t8 -/* 10F3D0 7F0DA8A0 000B4980 */ sll $t1, $t3, 6 -/* 10F3D4 7F0DA8A4 0189C825 */ or $t9, $t4, $t1 -/* 10F3D8 7F0DA8A8 01598825 */ or $s1, $t2, $t9 -/* 10F3DC 7F0DA8AC 322B00FF */ andi $t3, $s1, 0xff -/* 10F3E0 7F0DA8B0 10000739 */ b .L7F0DC598 -/* 10F3E4 7F0DA8B4 01608825 */ move $s1, $t3 -spectrum_op_CB_0C: -/* 10F3E8 7F0DA8B8 32CF0001 */ andi $t7, $s6, 1 -/* 10F3EC 7F0DA8BC 000F61C0 */ sll $t4, $t7, 7 -/* 10F3F0 7F0DA8C0 0016C043 */ sra $t8, $s6, 1 -/* 10F3F4 7F0DA8C4 030CB025 */ or $s6, $t8, $t4 -/* 10F3F8 7F0DA8C8 32C900FF */ andi $t1, $s6, 0xff -/* 10F3FC 7F0DA8CC 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 10F400 7F0DA8D0 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 10F404 7F0DA8D4 2D2E0001 */ sltiu $t6, $t1, 1 -/* 10F408 7F0DA8D8 AFAE0048 */ sw $t6, 0x48($sp) -/* 10F40C 7F0DA8DC 0120B025 */ move $s6, $t1 -/* 10F410 7F0DA8E0 312800A8 */ andi $t0, $t1, 0xa8 -/* 10F414 7F0DA8E4 A3AF0134 */ sb $t7, 0x134($sp) -/* 10F418 7F0DA8E8 01386021 */ addu $t4, $t1, $t8 -/* 10F41C 7F0DA8EC 91890000 */ lbu $t1, ($t4) -/* 10F420 7F0DA8F0 01E85025 */ or $t2, $t7, $t0 -/* 10F424 7F0DA8F4 000E5980 */ sll $t3, $t6, 6 -/* 10F428 7F0DA8F8 014B6825 */ or $t5, $t2, $t3 -/* 10F42C 7F0DA8FC 012D8825 */ or $s1, $t1, $t5 -/* 10F430 7F0DA900 322E00FF */ andi $t6, $s1, 0xff -/* 10F434 7F0DA904 10000724 */ b .L7F0DC598 -/* 10F438 7F0DA908 01C08825 */ move $s1, $t6 -spectrum_op_CB_0D: -/* 10F43C 7F0DA90C 32F90001 */ andi $t9, $s7, 1 -/* 10F440 7F0DA910 001951C0 */ sll $t2, $t9, 7 -/* 10F444 7F0DA914 00174043 */ sra $t0, $s7, 1 -/* 10F448 7F0DA918 010AB825 */ or $s7, $t0, $t2 -/* 10F44C 7F0DA91C 32EB00FF */ andi $t3, $s7, 0xff -/* 10F450 7F0DA920 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 10F454 7F0DA924 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 10F458 7F0DA928 2D780001 */ sltiu $t8, $t3, 1 -/* 10F45C 7F0DA92C AFB80048 */ sw $t8, 0x48($sp) -/* 10F460 7F0DA930 0160B825 */ move $s7, $t3 -/* 10F464 7F0DA934 316C00A8 */ andi $t4, $t3, 0xa8 -/* 10F468 7F0DA938 A3B90133 */ sb $t9, 0x133($sp) -/* 10F46C 7F0DA93C 01685021 */ addu $t2, $t3, $t0 -/* 10F470 7F0DA940 914B0000 */ lbu $t3, ($t2) -/* 10F474 7F0DA944 032C4825 */ or $t1, $t9, $t4 -/* 10F478 7F0DA948 00187180 */ sll $t6, $t8, 6 -/* 10F47C 7F0DA94C 012E7825 */ or $t7, $t1, $t6 -/* 10F480 7F0DA950 016F8825 */ or $s1, $t3, $t7 -/* 10F484 7F0DA954 323800FF */ andi $t8, $s1, 0xff -/* 10F488 7F0DA958 1000070F */ b .L7F0DC598 -/* 10F48C 7F0DA95C 03008825 */ move $s1, $t8 -spectrum_op_CB_0E: -/* 10F490 7F0DA960 8FB9028C */ lw $t9, 0x28c($sp) -/* 10F494 7F0DA964 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10F498 7F0DA968 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10F49C 7F0DA96C 97AD013C */ lhu $t5, 0x13c($sp) -/* 10F4A0 7F0DA970 272C0007 */ addiu $t4, $t9, 7 -/* 10F4A4 7F0DA974 AFAC028C */ sw $t4, 0x28c($sp) -/* 10F4A8 7F0DA978 01A97021 */ addu $t6, $t5, $t1 -/* 10F4AC 7F0DA97C 91C80000 */ lbu $t0, ($t6) -/* 10F4B0 7F0DA980 310A00FF */ andi $t2, $t0, 0xff -/* 10F4B4 7F0DA984 314E0001 */ andi $t6, $t2, 1 -/* 10F4B8 7F0DA988 31D800FF */ andi $t8, $t6, 0xff -/* 10F4BC 7F0DA98C 0018C9C0 */ sll $t9, $t8, 7 -/* 10F4C0 7F0DA990 000A7843 */ sra $t7, $t2, 1 -/* 10F4C4 7F0DA994 01F96025 */ or $t4, $t7, $t9 -/* 10F4C8 7F0DA998 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 10F4CC 7F0DA99C 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 10F4D0 7F0DA9A0 318D00FF */ andi $t5, $t4, 0xff -/* 10F4D4 7F0DA9A4 A3A80139 */ sb $t0, 0x139($sp) -/* 10F4D8 7F0DA9A8 2DA90001 */ sltiu $t1, $t5, 1 -/* 10F4DC 7F0DA9AC 318A00A8 */ andi $t2, $t4, 0xa8 -/* 10F4E0 7F0DA9B0 01CA5825 */ or $t3, $t6, $t2 -/* 10F4E4 7F0DA9B4 AFA90048 */ sw $t1, 0x48($sp) -/* 10F4E8 7F0DA9B8 A3AC0139 */ sb $t4, 0x139($sp) -/* 10F4EC 7F0DA9BC A3AE0132 */ sb $t6, 0x132($sp) -/* 10F4F0 7F0DA9C0 01B94021 */ addu $t0, $t5, $t9 -/* 10F4F4 7F0DA9C4 910E0000 */ lbu $t6, ($t0) -/* 10F4F8 7F0DA9C8 0009C180 */ sll $t8, $t1, 6 -/* 10F4FC 7F0DA9CC 97A9013C */ lhu $t1, 0x13c($sp) -/* 10F500 7F0DA9D0 01787825 */ or $t7, $t3, $t8 -/* 10F504 7F0DA9D4 01CF8825 */ or $s1, $t6, $t7 -/* 10F508 7F0DA9D8 322A00FF */ andi $t2, $s1, 0xff -/* 10F50C 7F0DA9DC 29215B00 */ slti $at, $t1, 0x5b00 -/* 10F510 7F0DA9E0 14200007 */ bnez $at, .L7F0DAA00 -/* 10F514 7F0DA9E4 01408825 */ move $s1, $t2 -/* 10F518 7F0DA9E8 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10F51C 7F0DA9EC 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10F520 7F0DA9F0 01805825 */ move $t3, $t4 -/* 10F524 7F0DA9F4 03096021 */ addu $t4, $t8, $t1 -/* 10F528 7F0DA9F8 100006E7 */ b .L7F0DC598 -/* 10F52C 7F0DA9FC A18B0000 */ sb $t3, ($t4) -.L7F0DAA00: -/* 10F530 7F0DAA00 97AD013C */ lhu $t5, 0x13c($sp) -/* 10F534 7F0DAA04 97AB013C */ lhu $t3, 0x13c($sp) -/* 10F538 7F0DAA08 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10F53C 7F0DAA0C 29A15800 */ slti $at, $t5, 0x5800 -/* 10F540 7F0DAA10 5420000D */ bnezl $at, .L7F0DAA48 -/* 10F544 7F0DAA14 29614000 */ slti $at, $t3, 0x4000 -/* 10F548 7F0DAA18 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10F54C 7F0DAA1C 93B90139 */ lbu $t9, 0x139($sp) -/* 10F550 7F0DAA20 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 10F554 7F0DAA24 010D7021 */ addu $t6, $t0, $t5 -/* 10F558 7F0DAA28 A1D90000 */ sb $t9, ($t6) -/* 10F55C 7F0DAA2C 97B8013C */ lhu $t8, 0x13c($sp) -/* 10F560 7F0DAA30 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 10F564 7F0DAA34 240F0001 */ li $t7, 1 -/* 10F568 7F0DAA38 01584821 */ addu $t1, $t2, $t8 -/* 10F56C 7F0DAA3C 100006D6 */ b .L7F0DC598 -/* 10F570 7F0DAA40 A12FA800 */ sb $t7, -0x5800($t1) -/* 10F574 7F0DAA44 29614000 */ slti $at, $t3, 0x4000 -.L7F0DAA48: -/* 10F578 7F0DAA48 142006D3 */ bnez $at, .L7F0DC598 -/* 10F57C 7F0DAA4C 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10F580 7F0DAA50 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10F584 7F0DAA54 93AC0139 */ lbu $t4, 0x139($sp) -/* 10F588 7F0DAA58 24190001 */ li $t9, 1 -/* 10F58C 7F0DAA5C 010B6821 */ addu $t5, $t0, $t3 -/* 10F590 7F0DAA60 A1AC0000 */ sb $t4, ($t5) -/* 10F594 7F0DAA64 97AE013C */ lhu $t6, 0x13c($sp) -/* 10F598 7F0DAA68 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 10F59C 7F0DAA6C 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 10F5A0 7F0DAA70 31CA1800 */ andi $t2, $t6, 0x1800 -/* 10F5A4 7F0DAA74 000AC0C3 */ sra $t8, $t2, 3 -/* 10F5A8 7F0DAA78 31CF00FF */ andi $t7, $t6, 0xff -/* 10F5AC 7F0DAA7C 030F4825 */ or $t1, $t8, $t7 -/* 10F5B0 7F0DAA80 01095821 */ addu $t3, $t0, $t1 -/* 10F5B4 7F0DAA84 100006C4 */ b .L7F0DC598 -/* 10F5B8 7F0DAA88 A1790000 */ sb $t9, ($t3) -spectrum_op_CB_0F: -/* 10F5BC 7F0DAA8C 320A0001 */ andi $t2, $s0, 1 -/* 10F5C0 7F0DAA90 000A71C0 */ sll $t6, $t2, 7 -/* 10F5C4 7F0DAA94 00106843 */ sra $t5, $s0, 1 -/* 10F5C8 7F0DAA98 01AE8025 */ or $s0, $t5, $t6 -/* 10F5CC 7F0DAA9C 321800FF */ andi $t8, $s0, 0xff -/* 10F5D0 7F0DAAA0 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 10F5D4 7F0DAAA4 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 10F5D8 7F0DAAA8 2F0F0001 */ sltiu $t7, $t8, 1 -/* 10F5DC 7F0DAAAC AFAF0048 */ sw $t7, 0x48($sp) -/* 10F5E0 7F0DAAB0 03008025 */ move $s0, $t8 -/* 10F5E4 7F0DAAB4 330800A8 */ andi $t0, $t8, 0xa8 -/* 10F5E8 7F0DAAB8 A3AA0131 */ sb $t2, 0x131($sp) -/* 10F5EC 7F0DAABC 030D7021 */ addu $t6, $t8, $t5 -/* 10F5F0 7F0DAAC0 91D80000 */ lbu $t8, ($t6) -/* 10F5F4 7F0DAAC4 01484825 */ or $t1, $t2, $t0 -/* 10F5F8 7F0DAAC8 000F5980 */ sll $t3, $t7, 6 -/* 10F5FC 7F0DAACC 012B6025 */ or $t4, $t1, $t3 -/* 10F600 7F0DAAD0 030C8825 */ or $s1, $t8, $t4 -/* 10F604 7F0DAAD4 322F00FF */ andi $t7, $s1, 0xff -/* 10F608 7F0DAAD8 100006AF */ b .L7F0DC598 -/* 10F60C 7F0DAADC 01E08825 */ move $s1, $t7 -spectrum_op_CB_10: -/* 10F610 7F0DAAE0 001269C3 */ sra $t5, $s2, 7 -/* 10F614 7F0DAAE4 00124040 */ sll $t0, $s2, 1 -/* 10F618 7F0DAAE8 32390001 */ andi $t9, $s1, 1 -/* 10F61C 7F0DAAEC 01199025 */ or $s2, $t0, $t9 -/* 10F620 7F0DAAF0 324900FF */ andi $t1, $s2, 0xff -/* 10F624 7F0DAAF4 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 10F628 7F0DAAF8 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 10F62C 7F0DAAFC 2D2B0001 */ sltiu $t3, $t1, 1 -/* 10F630 7F0DAB00 AFAB0048 */ sw $t3, 0x48($sp) -/* 10F634 7F0DAB04 01209025 */ move $s2, $t1 -/* 10F638 7F0DAB08 312E00A8 */ andi $t6, $t1, 0xa8 -/* 10F63C 7F0DAB0C A3AD0130 */ sb $t5, 0x130($sp) -/* 10F640 7F0DAB10 0128C821 */ addu $t9, $t1, $t0 -/* 10F644 7F0DAB14 93290000 */ lbu $t1, ($t9) -/* 10F648 7F0DAB18 01AEC025 */ or $t8, $t5, $t6 -/* 10F64C 7F0DAB1C 000B7980 */ sll $t7, $t3, 6 -/* 10F650 7F0DAB20 030F5025 */ or $t2, $t8, $t7 -/* 10F654 7F0DAB24 012A8825 */ or $s1, $t1, $t2 -/* 10F658 7F0DAB28 322B00FF */ andi $t3, $s1, 0xff -/* 10F65C 7F0DAB2C 1000069A */ b .L7F0DC598 -/* 10F660 7F0DAB30 01608825 */ move $s1, $t3 -spectrum_op_CB_11: -/* 10F664 7F0DAB34 001341C3 */ sra $t0, $s3, 7 -/* 10F668 7F0DAB38 00137040 */ sll $t6, $s3, 1 -/* 10F66C 7F0DAB3C 322C0001 */ andi $t4, $s1, 1 -/* 10F670 7F0DAB40 01CC9825 */ or $s3, $t6, $t4 -/* 10F674 7F0DAB44 327800FF */ andi $t8, $s3, 0xff -/* 10F678 7F0DAB48 3C0E8009 */ lui $t6, %hi(ptr_pc_keyboard_table_alloc) -/* 10F67C 7F0DAB4C 8DCEE334 */ lw $t6, %lo(ptr_pc_keyboard_table_alloc)($t6) -/* 10F680 7F0DAB50 2F0F0001 */ sltiu $t7, $t8, 1 -/* 10F684 7F0DAB54 AFAF0048 */ sw $t7, 0x48($sp) -/* 10F688 7F0DAB58 03009825 */ move $s3, $t8 -/* 10F68C 7F0DAB5C 331900A8 */ andi $t9, $t8, 0xa8 -/* 10F690 7F0DAB60 A3A8012F */ sb $t0, 0x12f($sp) -/* 10F694 7F0DAB64 030E6021 */ addu $t4, $t8, $t6 -/* 10F698 7F0DAB68 91980000 */ lbu $t8, ($t4) -/* 10F69C 7F0DAB6C 01194825 */ or $t1, $t0, $t9 -/* 10F6A0 7F0DAB70 000F5980 */ sll $t3, $t7, 6 -/* 10F6A4 7F0DAB74 012B6825 */ or $t5, $t1, $t3 -/* 10F6A8 7F0DAB78 030D8825 */ or $s1, $t8, $t5 -/* 10F6AC 7F0DAB7C 322F00FF */ andi $t7, $s1, 0xff -/* 10F6B0 7F0DAB80 10000685 */ b .L7F0DC598 -/* 10F6B4 7F0DAB84 01E08825 */ move $s1, $t7 -spectrum_op_CB_12: -/* 10F6B8 7F0DAB88 001471C3 */ sra $t6, $s4, 7 -/* 10F6BC 7F0DAB8C 0014C840 */ sll $t9, $s4, 1 -/* 10F6C0 7F0DAB90 322A0001 */ andi $t2, $s1, 1 -/* 10F6C4 7F0DAB94 032AA025 */ or $s4, $t9, $t2 -/* 10F6C8 7F0DAB98 328900FF */ andi $t1, $s4, 0xff -/* 10F6CC 7F0DAB9C 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 10F6D0 7F0DABA0 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 10F6D4 7F0DABA4 2D2B0001 */ sltiu $t3, $t1, 1 -/* 10F6D8 7F0DABA8 AFAB0048 */ sw $t3, 0x48($sp) -/* 10F6DC 7F0DABAC 0120A025 */ move $s4, $t1 -/* 10F6E0 7F0DABB0 312C00A8 */ andi $t4, $t1, 0xa8 -/* 10F6E4 7F0DABB4 A3AE012E */ sb $t6, 0x12e($sp) -/* 10F6E8 7F0DABB8 01395021 */ addu $t2, $t1, $t9 -/* 10F6EC 7F0DABBC 91490000 */ lbu $t1, ($t2) -/* 10F6F0 7F0DABC0 01CCC025 */ or $t8, $t6, $t4 -/* 10F6F4 7F0DABC4 000B7980 */ sll $t7, $t3, 6 -/* 10F6F8 7F0DABC8 030F4025 */ or $t0, $t8, $t7 -/* 10F6FC 7F0DABCC 01288825 */ or $s1, $t1, $t0 -/* 10F700 7F0DABD0 322B00FF */ andi $t3, $s1, 0xff -/* 10F704 7F0DABD4 10000670 */ b .L7F0DC598 -/* 10F708 7F0DABD8 01608825 */ move $s1, $t3 -spectrum_op_CB_13: -/* 10F70C 7F0DABDC 0015C9C3 */ sra $t9, $s5, 7 -/* 10F710 7F0DABE0 00156040 */ sll $t4, $s5, 1 -/* 10F714 7F0DABE4 322D0001 */ andi $t5, $s1, 1 -/* 10F718 7F0DABE8 018DA825 */ or $s5, $t4, $t5 -/* 10F71C 7F0DABEC 32B800FF */ andi $t8, $s5, 0xff -/* 10F720 7F0DABF0 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 10F724 7F0DABF4 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 10F728 7F0DABF8 2F0F0001 */ sltiu $t7, $t8, 1 -/* 10F72C 7F0DABFC AFAF0048 */ sw $t7, 0x48($sp) -/* 10F730 7F0DAC00 0300A825 */ move $s5, $t8 -/* 10F734 7F0DAC04 330A00A8 */ andi $t2, $t8, 0xa8 -/* 10F738 7F0DAC08 A3B9012D */ sb $t9, 0x12d($sp) -/* 10F73C 7F0DAC0C 030C6821 */ addu $t5, $t8, $t4 -/* 10F740 7F0DAC10 91B80000 */ lbu $t8, ($t5) -/* 10F744 7F0DAC14 032A4825 */ or $t1, $t9, $t2 -/* 10F748 7F0DAC18 000F5980 */ sll $t3, $t7, 6 -/* 10F74C 7F0DAC1C 012B7025 */ or $t6, $t1, $t3 -/* 10F750 7F0DAC20 030E8825 */ or $s1, $t8, $t6 -/* 10F754 7F0DAC24 322F00FF */ andi $t7, $s1, 0xff -/* 10F758 7F0DAC28 1000065B */ b .L7F0DC598 -/* 10F75C 7F0DAC2C 01E08825 */ move $s1, $t7 -spectrum_op_CB_14: -/* 10F760 7F0DAC30 001661C3 */ sra $t4, $s6, 7 -/* 10F764 7F0DAC34 00165040 */ sll $t2, $s6, 1 -/* 10F768 7F0DAC38 32280001 */ andi $t0, $s1, 1 -/* 10F76C 7F0DAC3C 0148B025 */ or $s6, $t2, $t0 -/* 10F770 7F0DAC40 32C900FF */ andi $t1, $s6, 0xff -/* 10F774 7F0DAC44 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 10F778 7F0DAC48 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 10F77C 7F0DAC4C 2D2B0001 */ sltiu $t3, $t1, 1 -/* 10F780 7F0DAC50 AFAB0048 */ sw $t3, 0x48($sp) -/* 10F784 7F0DAC54 0120B025 */ move $s6, $t1 -/* 10F788 7F0DAC58 312D00A8 */ andi $t5, $t1, 0xa8 -/* 10F78C 7F0DAC5C A3AC012C */ sb $t4, 0x12c($sp) -/* 10F790 7F0DAC60 012A4021 */ addu $t0, $t1, $t2 -/* 10F794 7F0DAC64 91090000 */ lbu $t1, ($t0) -/* 10F798 7F0DAC68 018DC025 */ or $t8, $t4, $t5 -/* 10F79C 7F0DAC6C 000B7980 */ sll $t7, $t3, 6 -/* 10F7A0 7F0DAC70 030FC825 */ or $t9, $t8, $t7 -/* 10F7A4 7F0DAC74 01398825 */ or $s1, $t1, $t9 -/* 10F7A8 7F0DAC78 322B00FF */ andi $t3, $s1, 0xff -/* 10F7AC 7F0DAC7C 10000646 */ b .L7F0DC598 -/* 10F7B0 7F0DAC80 01608825 */ move $s1, $t3 -spectrum_op_CB_15: -/* 10F7B4 7F0DAC84 001751C3 */ sra $t2, $s7, 7 -/* 10F7B8 7F0DAC88 00176840 */ sll $t5, $s7, 1 -/* 10F7BC 7F0DAC8C 322E0001 */ andi $t6, $s1, 1 -/* 10F7C0 7F0DAC90 01AEB825 */ or $s7, $t5, $t6 -/* 10F7C4 7F0DAC94 32F800FF */ andi $t8, $s7, 0xff -/* 10F7C8 7F0DAC98 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 10F7CC 7F0DAC9C 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 10F7D0 7F0DACA0 2F0F0001 */ sltiu $t7, $t8, 1 -/* 10F7D4 7F0DACA4 AFAF0048 */ sw $t7, 0x48($sp) -/* 10F7D8 7F0DACA8 0300B825 */ move $s7, $t8 -/* 10F7DC 7F0DACAC 330800A8 */ andi $t0, $t8, 0xa8 -/* 10F7E0 7F0DACB0 A3AA012B */ sb $t2, 0x12b($sp) -/* 10F7E4 7F0DACB4 030D7021 */ addu $t6, $t8, $t5 -/* 10F7E8 7F0DACB8 91D80000 */ lbu $t8, ($t6) -/* 10F7EC 7F0DACBC 01484825 */ or $t1, $t2, $t0 -/* 10F7F0 7F0DACC0 000F5980 */ sll $t3, $t7, 6 -/* 10F7F4 7F0DACC4 012B6025 */ or $t4, $t1, $t3 -/* 10F7F8 7F0DACC8 030C8825 */ or $s1, $t8, $t4 -/* 10F7FC 7F0DACCC 322F00FF */ andi $t7, $s1, 0xff -/* 10F800 7F0DACD0 10000631 */ b .L7F0DC598 -/* 10F804 7F0DACD4 01E08825 */ move $s1, $t7 -spectrum_op_CB_16: -/* 10F808 7F0DACD8 8FAA028C */ lw $t2, 0x28c($sp) -/* 10F80C 7F0DACDC 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 10F810 7F0DACE0 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 10F814 7F0DACE4 97B9013C */ lhu $t9, 0x13c($sp) -/* 10F818 7F0DACE8 25480007 */ addiu $t0, $t2, 7 -/* 10F81C 7F0DACEC AFA8028C */ sw $t0, 0x28c($sp) -/* 10F820 7F0DACF0 03295821 */ addu $t3, $t9, $t1 -/* 10F824 7F0DACF4 916D0000 */ lbu $t5, ($t3) -/* 10F828 7F0DACF8 322F0001 */ andi $t7, $s1, 1 -/* 10F82C 7F0DACFC 31AE00FF */ andi $t6, $t5, 0xff -/* 10F830 7F0DAD00 000E6040 */ sll $t4, $t6, 1 -/* 10F834 7F0DAD04 018F5025 */ or $t2, $t4, $t7 -/* 10F838 7F0DAD08 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 10F83C 7F0DAD0C 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 10F840 7F0DAD10 000E49C3 */ sra $t1, $t6, 7 -/* 10F844 7F0DAD14 314800FF */ andi $t0, $t2, 0xff -/* 10F848 7F0DAD18 A3AD0139 */ sb $t5, 0x139($sp) -/* 10F84C 7F0DAD1C 314D00A8 */ andi $t5, $t2, 0xa8 -/* 10F850 7F0DAD20 2D190001 */ sltiu $t9, $t0, 1 -/* 10F854 7F0DAD24 AFB90048 */ sw $t9, 0x48($sp) -/* 10F858 7F0DAD28 012DC025 */ or $t8, $t1, $t5 -/* 10F85C 7F0DAD2C A3AA0139 */ sb $t2, 0x139($sp) -/* 10F860 7F0DAD30 A3A9012A */ sb $t1, 0x12a($sp) -/* 10F864 7F0DAD34 010F5821 */ addu $t3, $t0, $t7 -/* 10F868 7F0DAD38 91690000 */ lbu $t1, ($t3) -/* 10F86C 7F0DAD3C 00197180 */ sll $t6, $t9, 6 -/* 10F870 7F0DAD40 97B9013C */ lhu $t9, 0x13c($sp) -/* 10F874 7F0DAD44 030E6025 */ or $t4, $t8, $t6 -/* 10F878 7F0DAD48 012C8825 */ or $s1, $t1, $t4 -/* 10F87C 7F0DAD4C 322D00FF */ andi $t5, $s1, 0xff -/* 10F880 7F0DAD50 2B215B00 */ slti $at, $t9, 0x5b00 -/* 10F884 7F0DAD54 14200007 */ bnez $at, .L7F0DAD74 -/* 10F888 7F0DAD58 01A08825 */ move $s1, $t5 -/* 10F88C 7F0DAD5C 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10F890 7F0DAD60 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10F894 7F0DAD64 0140C025 */ move $t8, $t2 -/* 10F898 7F0DAD68 01D95021 */ addu $t2, $t6, $t9 -/* 10F89C 7F0DAD6C 1000060A */ b .L7F0DC598 -/* 10F8A0 7F0DAD70 A1580000 */ sb $t8, ($t2) -.L7F0DAD74: -/* 10F8A4 7F0DAD74 97A8013C */ lhu $t0, 0x13c($sp) -/* 10F8A8 7F0DAD78 97B8013C */ lhu $t8, 0x13c($sp) -/* 10F8AC 7F0DAD7C 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10F8B0 7F0DAD80 29015800 */ slti $at, $t0, 0x5800 -/* 10F8B4 7F0DAD84 5420000D */ bnezl $at, .L7F0DADBC -/* 10F8B8 7F0DAD88 2B014000 */ slti $at, $t8, 0x4000 -/* 10F8BC 7F0DAD8C 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10F8C0 7F0DAD90 93AF0139 */ lbu $t7, 0x139($sp) -/* 10F8C4 7F0DAD94 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 10F8C8 7F0DAD98 01684821 */ addu $t1, $t3, $t0 -/* 10F8CC 7F0DAD9C A12F0000 */ sb $t7, ($t1) -/* 10F8D0 7F0DADA0 97AE013C */ lhu $t6, 0x13c($sp) -/* 10F8D4 7F0DADA4 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 10F8D8 7F0DADA8 240C0001 */ li $t4, 1 -/* 10F8DC 7F0DADAC 01AEC821 */ addu $t9, $t5, $t6 -/* 10F8E0 7F0DADB0 100005F9 */ b .L7F0DC598 -/* 10F8E4 7F0DADB4 A32CA800 */ sb $t4, -0x5800($t9) -/* 10F8E8 7F0DADB8 2B014000 */ slti $at, $t8, 0x4000 -.L7F0DADBC: -/* 10F8EC 7F0DADBC 142005F6 */ bnez $at, .L7F0DC598 -/* 10F8F0 7F0DADC0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 10F8F4 7F0DADC4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 10F8F8 7F0DADC8 93AA0139 */ lbu $t2, 0x139($sp) -/* 10F8FC 7F0DADCC 240F0001 */ li $t7, 1 -/* 10F900 7F0DADD0 01784021 */ addu $t0, $t3, $t8 -/* 10F904 7F0DADD4 A10A0000 */ sb $t2, ($t0) -/* 10F908 7F0DADD8 97A9013C */ lhu $t1, 0x13c($sp) -/* 10F90C 7F0DADDC 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 10F910 7F0DADE0 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 10F914 7F0DADE4 312D1800 */ andi $t5, $t1, 0x1800 -/* 10F918 7F0DADE8 000D70C3 */ sra $t6, $t5, 3 -/* 10F91C 7F0DADEC 312C00FF */ andi $t4, $t1, 0xff -/* 10F920 7F0DADF0 01CCC825 */ or $t9, $t6, $t4 -/* 10F924 7F0DADF4 0179C021 */ addu $t8, $t3, $t9 -/* 10F928 7F0DADF8 100005E7 */ b .L7F0DC598 -/* 10F92C 7F0DADFC A30F0000 */ sb $t7, ($t8) -spectrum_op_CB_17: -/* 10F930 7F0DAE00 001061C3 */ sra $t4, $s0, 7 -/* 10F934 7F0DAE04 00104040 */ sll $t0, $s0, 1 -/* 10F938 7F0DAE08 322D0001 */ andi $t5, $s1, 1 -/* 10F93C 7F0DAE0C 010D8025 */ or $s0, $t0, $t5 -/* 10F940 7F0DAE10 320900FF */ andi $t1, $s0, 0xff -/* 10F944 7F0DAE14 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 10F948 7F0DAE18 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 10F94C 7F0DAE1C 2D2E0001 */ sltiu $t6, $t1, 1 -/* 10F950 7F0DAE20 AFAE0048 */ sw $t6, 0x48($sp) -/* 10F954 7F0DAE24 01208025 */ move $s0, $t1 -/* 10F958 7F0DAE28 312B00A8 */ andi $t3, $t1, 0xa8 -/* 10F95C 7F0DAE2C A3AC0129 */ sb $t4, 0x129($sp) -/* 10F960 7F0DAE30 01286821 */ addu $t5, $t1, $t0 -/* 10F964 7F0DAE34 91A90000 */ lbu $t1, ($t5) -/* 10F968 7F0DAE38 018BC825 */ or $t9, $t4, $t3 -/* 10F96C 7F0DAE3C 000EC180 */ sll $t8, $t6, 6 -/* 10F970 7F0DAE40 03385025 */ or $t2, $t9, $t8 -/* 10F974 7F0DAE44 012A8825 */ or $s1, $t1, $t2 -/* 10F978 7F0DAE48 322E00FF */ andi $t6, $s1, 0xff -/* 10F97C 7F0DAE4C 100005D2 */ b .L7F0DC598 -/* 10F980 7F0DAE50 01C08825 */ move $s1, $t6 -spectrum_op_CB_18: -/* 10F984 7F0DAE54 32480001 */ andi $t0, $s2, 1 -/* 10F988 7F0DAE58 00125843 */ sra $t3, $s2, 1 -/* 10F98C 7F0DAE5C 001179C0 */ sll $t7, $s1, 7 -/* 10F990 7F0DAE60 016F9025 */ or $s2, $t3, $t7 -/* 10F994 7F0DAE64 325900FF */ andi $t9, $s2, 0xff -/* 10F998 7F0DAE68 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 10F99C 7F0DAE6C 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 10F9A0 7F0DAE70 2F380001 */ sltiu $t8, $t9, 1 -/* 10F9A4 7F0DAE74 AFB80048 */ sw $t8, 0x48($sp) -/* 10F9A8 7F0DAE78 03209025 */ move $s2, $t9 -/* 10F9AC 7F0DAE7C 332D00A8 */ andi $t5, $t9, 0xa8 -/* 10F9B0 7F0DAE80 A3A80128 */ sb $t0, 0x128($sp) -/* 10F9B4 7F0DAE84 032B7821 */ addu $t7, $t9, $t3 -/* 10F9B8 7F0DAE88 91F90000 */ lbu $t9, ($t7) -/* 10F9BC 7F0DAE8C 010D4825 */ or $t1, $t0, $t5 -/* 10F9C0 7F0DAE90 00187180 */ sll $t6, $t8, 6 -/* 10F9C4 7F0DAE94 012E6025 */ or $t4, $t1, $t6 -/* 10F9C8 7F0DAE98 032C8825 */ or $s1, $t9, $t4 -/* 10F9CC 7F0DAE9C 323800FF */ andi $t8, $s1, 0xff -/* 10F9D0 7F0DAEA0 100005BD */ b .L7F0DC598 -/* 10F9D4 7F0DAEA4 03008825 */ move $s1, $t8 -spectrum_op_CB_19: -/* 10F9D8 7F0DAEA8 326B0001 */ andi $t3, $s3, 1 -/* 10F9DC 7F0DAEAC 00136843 */ sra $t5, $s3, 1 -/* 10F9E0 7F0DAEB0 001151C0 */ sll $t2, $s1, 7 -/* 10F9E4 7F0DAEB4 01AA9825 */ or $s3, $t5, $t2 -/* 10F9E8 7F0DAEB8 326900FF */ andi $t1, $s3, 0xff -/* 10F9EC 7F0DAEBC 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 10F9F0 7F0DAEC0 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 10F9F4 7F0DAEC4 2D2E0001 */ sltiu $t6, $t1, 1 -/* 10F9F8 7F0DAEC8 AFAE0048 */ sw $t6, 0x48($sp) -/* 10F9FC 7F0DAECC 01209825 */ move $s3, $t1 -/* 10FA00 7F0DAED0 312F00A8 */ andi $t7, $t1, 0xa8 -/* 10FA04 7F0DAED4 A3AB0127 */ sb $t3, 0x127($sp) -/* 10FA08 7F0DAED8 012D5021 */ addu $t2, $t1, $t5 -/* 10FA0C 7F0DAEDC 91490000 */ lbu $t1, ($t2) -/* 10FA10 7F0DAEE0 016FC825 */ or $t9, $t3, $t7 -/* 10FA14 7F0DAEE4 000EC180 */ sll $t8, $t6, 6 -/* 10FA18 7F0DAEE8 03384025 */ or $t0, $t9, $t8 -/* 10FA1C 7F0DAEEC 01288825 */ or $s1, $t1, $t0 -/* 10FA20 7F0DAEF0 322E00FF */ andi $t6, $s1, 0xff -/* 10FA24 7F0DAEF4 100005A8 */ b .L7F0DC598 -/* 10FA28 7F0DAEF8 01C08825 */ move $s1, $t6 -spectrum_op_CB_1A: -/* 10FA2C 7F0DAEFC 328D0001 */ andi $t5, $s4, 1 -/* 10FA30 7F0DAF00 00147843 */ sra $t7, $s4, 1 -/* 10FA34 7F0DAF04 001161C0 */ sll $t4, $s1, 7 -/* 10FA38 7F0DAF08 01ECA025 */ or $s4, $t7, $t4 -/* 10FA3C 7F0DAF0C 329900FF */ andi $t9, $s4, 0xff -/* 10FA40 7F0DAF10 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 10FA44 7F0DAF14 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 10FA48 7F0DAF18 2F380001 */ sltiu $t8, $t9, 1 -/* 10FA4C 7F0DAF1C AFB80048 */ sw $t8, 0x48($sp) -/* 10FA50 7F0DAF20 0320A025 */ move $s4, $t9 -/* 10FA54 7F0DAF24 332A00A8 */ andi $t2, $t9, 0xa8 -/* 10FA58 7F0DAF28 A3AD0126 */ sb $t5, 0x126($sp) -/* 10FA5C 7F0DAF2C 032F6021 */ addu $t4, $t9, $t7 -/* 10FA60 7F0DAF30 91990000 */ lbu $t9, ($t4) -/* 10FA64 7F0DAF34 01AA4825 */ or $t1, $t5, $t2 -/* 10FA68 7F0DAF38 00187180 */ sll $t6, $t8, 6 -/* 10FA6C 7F0DAF3C 012E5825 */ or $t3, $t1, $t6 -/* 10FA70 7F0DAF40 032B8825 */ or $s1, $t9, $t3 -/* 10FA74 7F0DAF44 323800FF */ andi $t8, $s1, 0xff -/* 10FA78 7F0DAF48 10000593 */ b .L7F0DC598 -/* 10FA7C 7F0DAF4C 03008825 */ move $s1, $t8 -spectrum_op_CB_1B: -/* 10FA80 7F0DAF50 32AF0001 */ andi $t7, $s5, 1 -/* 10FA84 7F0DAF54 00155043 */ sra $t2, $s5, 1 -/* 10FA88 7F0DAF58 001141C0 */ sll $t0, $s1, 7 -/* 10FA8C 7F0DAF5C 0148A825 */ or $s5, $t2, $t0 -/* 10FA90 7F0DAF60 32A900FF */ andi $t1, $s5, 0xff -/* 10FA94 7F0DAF64 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 10FA98 7F0DAF68 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 10FA9C 7F0DAF6C 2D2E0001 */ sltiu $t6, $t1, 1 -/* 10FAA0 7F0DAF70 AFAE0048 */ sw $t6, 0x48($sp) -/* 10FAA4 7F0DAF74 0120A825 */ move $s5, $t1 -/* 10FAA8 7F0DAF78 312C00A8 */ andi $t4, $t1, 0xa8 -/* 10FAAC 7F0DAF7C A3AF0125 */ sb $t7, 0x125($sp) -/* 10FAB0 7F0DAF80 012A4021 */ addu $t0, $t1, $t2 -/* 10FAB4 7F0DAF84 91090000 */ lbu $t1, ($t0) -/* 10FAB8 7F0DAF88 01ECC825 */ or $t9, $t7, $t4 -/* 10FABC 7F0DAF8C 000EC180 */ sll $t8, $t6, 6 -/* 10FAC0 7F0DAF90 03386825 */ or $t5, $t9, $t8 -/* 10FAC4 7F0DAF94 012D8825 */ or $s1, $t1, $t5 -/* 10FAC8 7F0DAF98 322E00FF */ andi $t6, $s1, 0xff -/* 10FACC 7F0DAF9C 1000057E */ b .L7F0DC598 -/* 10FAD0 7F0DAFA0 01C08825 */ move $s1, $t6 -spectrum_op_CB_1C: -/* 10FAD4 7F0DAFA4 32CA0001 */ andi $t2, $s6, 1 -/* 10FAD8 7F0DAFA8 00166043 */ sra $t4, $s6, 1 -/* 10FADC 7F0DAFAC 001159C0 */ sll $t3, $s1, 7 -/* 10FAE0 7F0DAFB0 018BB025 */ or $s6, $t4, $t3 -/* 10FAE4 7F0DAFB4 32D900FF */ andi $t9, $s6, 0xff -/* 10FAE8 7F0DAFB8 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 10FAEC 7F0DAFBC 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 10FAF0 7F0DAFC0 2F380001 */ sltiu $t8, $t9, 1 -/* 10FAF4 7F0DAFC4 AFB80048 */ sw $t8, 0x48($sp) -/* 10FAF8 7F0DAFC8 0320B025 */ move $s6, $t9 -/* 10FAFC 7F0DAFCC 332800A8 */ andi $t0, $t9, 0xa8 -/* 10FB00 7F0DAFD0 A3AA0124 */ sb $t2, 0x124($sp) -/* 10FB04 7F0DAFD4 032C5821 */ addu $t3, $t9, $t4 -/* 10FB08 7F0DAFD8 91790000 */ lbu $t9, ($t3) -/* 10FB0C 7F0DAFDC 01484825 */ or $t1, $t2, $t0 -/* 10FB10 7F0DAFE0 00187180 */ sll $t6, $t8, 6 -/* 10FB14 7F0DAFE4 012E7825 */ or $t7, $t1, $t6 -/* 10FB18 7F0DAFE8 032F8825 */ or $s1, $t9, $t7 -/* 10FB1C 7F0DAFEC 323800FF */ andi $t8, $s1, 0xff -/* 10FB20 7F0DAFF0 10000569 */ b .L7F0DC598 -/* 10FB24 7F0DAFF4 03008825 */ move $s1, $t8 -spectrum_op_CB_1D: -/* 10FB28 7F0DAFF8 32EC0001 */ andi $t4, $s7, 1 -/* 10FB2C 7F0DAFFC 00174043 */ sra $t0, $s7, 1 -/* 10FB30 7F0DB000 001169C0 */ sll $t5, $s1, 7 -/* 10FB34 7F0DB004 010DB825 */ or $s7, $t0, $t5 -/* 10FB38 7F0DB008 32E900FF */ andi $t1, $s7, 0xff -/* 10FB3C 7F0DB00C 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 10FB40 7F0DB010 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 10FB44 7F0DB014 2D2E0001 */ sltiu $t6, $t1, 1 -/* 10FB48 7F0DB018 AFAE0048 */ sw $t6, 0x48($sp) -/* 10FB4C 7F0DB01C 0120B825 */ move $s7, $t1 -/* 10FB50 7F0DB020 312B00A8 */ andi $t3, $t1, 0xa8 -/* 10FB54 7F0DB024 A3AC0123 */ sb $t4, 0x123($sp) -/* 10FB58 7F0DB028 01286821 */ addu $t5, $t1, $t0 -/* 10FB5C 7F0DB02C 91A90000 */ lbu $t1, ($t5) -/* 10FB60 7F0DB030 018BC825 */ or $t9, $t4, $t3 -/* 10FB64 7F0DB034 000EC180 */ sll $t8, $t6, 6 -/* 10FB68 7F0DB038 03385025 */ or $t2, $t9, $t8 -/* 10FB6C 7F0DB03C 012A8825 */ or $s1, $t1, $t2 -/* 10FB70 7F0DB040 322E00FF */ andi $t6, $s1, 0xff -/* 10FB74 7F0DB044 10000554 */ b .L7F0DC598 -/* 10FB78 7F0DB048 01C08825 */ move $s1, $t6 -spectrum_op_CB_1E: -/* 10FB7C 7F0DB04C 8FAC028C */ lw $t4, 0x28c($sp) -/* 10FB80 7F0DB050 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 10FB84 7F0DB054 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 10FB88 7F0DB058 97AF013C */ lhu $t7, 0x13c($sp) -/* 10FB8C 7F0DB05C 258B0007 */ addiu $t3, $t4, 7 -/* 10FB90 7F0DB060 AFAB028C */ sw $t3, 0x28c($sp) -/* 10FB94 7F0DB064 01F9C021 */ addu $t8, $t7, $t9 -/* 10FB98 7F0DB068 93080000 */ lbu $t0, ($t8) -/* 10FB9C 7F0DB06C 001171C0 */ sll $t6, $s1, 7 -/* 10FBA0 7F0DB070 310D00FF */ andi $t5, $t0, 0xff -/* 10FBA4 7F0DB074 000D5043 */ sra $t2, $t5, 1 -/* 10FBA8 7F0DB078 014E6025 */ or $t4, $t2, $t6 -/* 10FBAC 7F0DB07C 3C0E8009 */ lui $t6, %hi(ptr_pc_keyboard_table_alloc) -/* 10FBB0 7F0DB080 8DCEE334 */ lw $t6, %lo(ptr_pc_keyboard_table_alloc)($t6) -/* 10FBB4 7F0DB084 31B90001 */ andi $t9, $t5, 1 -/* 10FBB8 7F0DB088 318B00FF */ andi $t3, $t4, 0xff -/* 10FBBC 7F0DB08C A3A80139 */ sb $t0, 0x139($sp) -/* 10FBC0 7F0DB090 318800A8 */ andi $t0, $t4, 0xa8 -/* 10FBC4 7F0DB094 2D6F0001 */ sltiu $t7, $t3, 1 -/* 10FBC8 7F0DB098 AFAF0048 */ sw $t7, 0x48($sp) -/* 10FBCC 7F0DB09C 03284825 */ or $t1, $t9, $t0 -/* 10FBD0 7F0DB0A0 A3AC0139 */ sb $t4, 0x139($sp) -/* 10FBD4 7F0DB0A4 A3B90122 */ sb $t9, 0x122($sp) -/* 10FBD8 7F0DB0A8 016EC021 */ addu $t8, $t3, $t6 -/* 10FBDC 7F0DB0AC 93190000 */ lbu $t9, ($t8) -/* 10FBE0 7F0DB0B0 000F6980 */ sll $t5, $t7, 6 -/* 10FBE4 7F0DB0B4 97AF013C */ lhu $t7, 0x13c($sp) -/* 10FBE8 7F0DB0B8 012D5025 */ or $t2, $t1, $t5 -/* 10FBEC 7F0DB0BC 032A8825 */ or $s1, $t9, $t2 -/* 10FBF0 7F0DB0C0 322800FF */ andi $t0, $s1, 0xff -/* 10FBF4 7F0DB0C4 29E15B00 */ slti $at, $t7, 0x5b00 -/* 10FBF8 7F0DB0C8 14200007 */ bnez $at, .L7F0DB0E8 -/* 10FBFC 7F0DB0CC 01008825 */ move $s1, $t0 -/* 10FC00 7F0DB0D0 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 10FC04 7F0DB0D4 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 10FC08 7F0DB0D8 01804825 */ move $t1, $t4 -/* 10FC0C 7F0DB0DC 01AF6021 */ addu $t4, $t5, $t7 -/* 10FC10 7F0DB0E0 1000052D */ b .L7F0DC598 -/* 10FC14 7F0DB0E4 A1890000 */ sb $t1, ($t4) -.L7F0DB0E8: -/* 10FC18 7F0DB0E8 97AB013C */ lhu $t3, 0x13c($sp) -/* 10FC1C 7F0DB0EC 97A9013C */ lhu $t1, 0x13c($sp) -/* 10FC20 7F0DB0F0 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10FC24 7F0DB0F4 29615800 */ slti $at, $t3, 0x5800 -/* 10FC28 7F0DB0F8 5420000D */ bnezl $at, .L7F0DB130 -/* 10FC2C 7F0DB0FC 29214000 */ slti $at, $t1, 0x4000 -/* 10FC30 7F0DB100 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10FC34 7F0DB104 93AE0139 */ lbu $t6, 0x139($sp) -/* 10FC38 7F0DB108 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 10FC3C 7F0DB10C 030BC821 */ addu $t9, $t8, $t3 -/* 10FC40 7F0DB110 A32E0000 */ sb $t6, ($t9) -/* 10FC44 7F0DB114 97AD013C */ lhu $t5, 0x13c($sp) -/* 10FC48 7F0DB118 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 10FC4C 7F0DB11C 240A0001 */ li $t2, 1 -/* 10FC50 7F0DB120 010D7821 */ addu $t7, $t0, $t5 -/* 10FC54 7F0DB124 1000051C */ b .L7F0DC598 -/* 10FC58 7F0DB128 A1EAA800 */ sb $t2, -0x5800($t7) -/* 10FC5C 7F0DB12C 29214000 */ slti $at, $t1, 0x4000 -.L7F0DB130: -/* 10FC60 7F0DB130 14200519 */ bnez $at, .L7F0DC598 -/* 10FC64 7F0DB134 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 10FC68 7F0DB138 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 10FC6C 7F0DB13C 93AC0139 */ lbu $t4, 0x139($sp) -/* 10FC70 7F0DB140 240E0001 */ li $t6, 1 -/* 10FC74 7F0DB144 03095821 */ addu $t3, $t8, $t1 -/* 10FC78 7F0DB148 A16C0000 */ sb $t4, ($t3) -/* 10FC7C 7F0DB14C 97B9013C */ lhu $t9, 0x13c($sp) -/* 10FC80 7F0DB150 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 10FC84 7F0DB154 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 10FC88 7F0DB158 33281800 */ andi $t0, $t9, 0x1800 -/* 10FC8C 7F0DB15C 000868C3 */ sra $t5, $t0, 3 -/* 10FC90 7F0DB160 332A00FF */ andi $t2, $t9, 0xff -/* 10FC94 7F0DB164 01AA7825 */ or $t7, $t5, $t2 -/* 10FC98 7F0DB168 030F4821 */ addu $t1, $t8, $t7 -/* 10FC9C 7F0DB16C 1000050A */ b .L7F0DC598 -/* 10FCA0 7F0DB170 A12E0000 */ sb $t6, ($t1) -spectrum_op_CB_1F: -/* 10FCA4 7F0DB174 320A0001 */ andi $t2, $s0, 1 -/* 10FCA8 7F0DB178 00105843 */ sra $t3, $s0, 1 -/* 10FCAC 7F0DB17C 001141C0 */ sll $t0, $s1, 7 -/* 10FCB0 7F0DB180 01688025 */ or $s0, $t3, $t0 -/* 10FCB4 7F0DB184 321900FF */ andi $t9, $s0, 0xff -/* 10FCB8 7F0DB188 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 10FCBC 7F0DB18C 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 10FCC0 7F0DB190 2F2D0001 */ sltiu $t5, $t9, 1 -/* 10FCC4 7F0DB194 AFAD0048 */ sw $t5, 0x48($sp) -/* 10FCC8 7F0DB198 03208025 */ move $s0, $t9 -/* 10FCCC 7F0DB19C 333800A8 */ andi $t8, $t9, 0xa8 -/* 10FCD0 7F0DB1A0 A3AA0121 */ sb $t2, 0x121($sp) -/* 10FCD4 7F0DB1A4 032B4021 */ addu $t0, $t9, $t3 -/* 10FCD8 7F0DB1A8 91190000 */ lbu $t9, ($t0) -/* 10FCDC 7F0DB1AC 01587825 */ or $t7, $t2, $t8 -/* 10FCE0 7F0DB1B0 000D4980 */ sll $t1, $t5, 6 -/* 10FCE4 7F0DB1B4 01E96025 */ or $t4, $t7, $t1 -/* 10FCE8 7F0DB1B8 032C8825 */ or $s1, $t9, $t4 -/* 10FCEC 7F0DB1BC 322D00FF */ andi $t5, $s1, 0xff -/* 10FCF0 7F0DB1C0 100004F5 */ b .L7F0DC598 -/* 10FCF4 7F0DB1C4 01A08825 */ move $s1, $t5 -spectrum_op_CB_20: -/* 10FCF8 7F0DB1C8 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 10FCFC 7F0DB1CC 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 10FD00 7F0DB1D0 001249C3 */ sra $t1, $s2, 7 -/* 10FD04 7F0DB1D4 0012C040 */ sll $t8, $s2, 1 -/* 10FD08 7F0DB1D8 331200FF */ andi $s2, $t8, 0xff -/* 10FD0C 7F0DB1DC 2E4F0001 */ sltiu $t7, $s2, 1 -/* 10FD10 7F0DB1E0 AFAF0048 */ sw $t7, 0x48($sp) -/* 10FD14 7F0DB1E4 A3A90120 */ sb $t1, 0x120($sp) -/* 10FD18 7F0DB1E8 024AC021 */ addu $t8, $s2, $t2 -/* 10FD1C 7F0DB1EC 930E0000 */ lbu $t6, ($t8) -/* 10FD20 7F0DB1F0 324B00A8 */ andi $t3, $s2, 0xa8 -/* 10FD24 7F0DB1F4 012B4025 */ or $t0, $t1, $t3 -/* 10FD28 7F0DB1F8 000F6180 */ sll $t4, $t7, 6 -/* 10FD2C 7F0DB1FC 010C6825 */ or $t5, $t0, $t4 -/* 10FD30 7F0DB200 01CD8825 */ or $s1, $t6, $t5 -/* 10FD34 7F0DB204 322F00FF */ andi $t7, $s1, 0xff -/* 10FD38 7F0DB208 100004E3 */ b .L7F0DC598 -/* 10FD3C 7F0DB20C 01E08825 */ move $s1, $t7 -spectrum_op_CB_21: -/* 10FD40 7F0DB210 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 10FD44 7F0DB214 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 10FD48 7F0DB218 001361C3 */ sra $t4, $s3, 7 -/* 10FD4C 7F0DB21C 00135840 */ sll $t3, $s3, 1 -/* 10FD50 7F0DB220 317300FF */ andi $s3, $t3, 0xff -/* 10FD54 7F0DB224 2E680001 */ sltiu $t0, $s3, 1 -/* 10FD58 7F0DB228 AFA80048 */ sw $t0, 0x48($sp) -/* 10FD5C 7F0DB22C A3AC011F */ sb $t4, 0x11f($sp) -/* 10FD60 7F0DB230 02695821 */ addu $t3, $s3, $t1 -/* 10FD64 7F0DB234 91790000 */ lbu $t9, ($t3) -/* 10FD68 7F0DB238 326A00A8 */ andi $t2, $s3, 0xa8 -/* 10FD6C 7F0DB23C 018AC025 */ or $t8, $t4, $t2 -/* 10FD70 7F0DB240 00086980 */ sll $t5, $t0, 6 -/* 10FD74 7F0DB244 030D7825 */ or $t7, $t8, $t5 -/* 10FD78 7F0DB248 032F8825 */ or $s1, $t9, $t7 -/* 10FD7C 7F0DB24C 322800FF */ andi $t0, $s1, 0xff -/* 10FD80 7F0DB250 100004D1 */ b .L7F0DC598 -/* 10FD84 7F0DB254 01008825 */ move $s1, $t0 -spectrum_op_CB_22: -/* 10FD88 7F0DB258 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 10FD8C 7F0DB25C 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 10FD90 7F0DB260 001469C3 */ sra $t5, $s4, 7 -/* 10FD94 7F0DB264 00145040 */ sll $t2, $s4, 1 -/* 10FD98 7F0DB268 315400FF */ andi $s4, $t2, 0xff -/* 10FD9C 7F0DB26C 2E980001 */ sltiu $t8, $s4, 1 -/* 10FDA0 7F0DB270 AFB80048 */ sw $t8, 0x48($sp) -/* 10FDA4 7F0DB274 A3AD011E */ sb $t5, 0x11e($sp) -/* 10FDA8 7F0DB278 028C5021 */ addu $t2, $s4, $t4 -/* 10FDAC 7F0DB27C 914E0000 */ lbu $t6, ($t2) -/* 10FDB0 7F0DB280 328900A8 */ andi $t1, $s4, 0xa8 -/* 10FDB4 7F0DB284 01A95825 */ or $t3, $t5, $t1 -/* 10FDB8 7F0DB288 00187980 */ sll $t7, $t8, 6 -/* 10FDBC 7F0DB28C 016F4025 */ or $t0, $t3, $t7 -/* 10FDC0 7F0DB290 01C88825 */ or $s1, $t6, $t0 -/* 10FDC4 7F0DB294 323800FF */ andi $t8, $s1, 0xff -/* 10FDC8 7F0DB298 100004BF */ b .L7F0DC598 -/* 10FDCC 7F0DB29C 03008825 */ move $s1, $t8 -spectrum_op_CB_23: -/* 10FDD0 7F0DB2A0 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 10FDD4 7F0DB2A4 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 10FDD8 7F0DB2A8 001579C3 */ sra $t7, $s5, 7 -/* 10FDDC 7F0DB2AC 00154840 */ sll $t1, $s5, 1 -/* 10FDE0 7F0DB2B0 313500FF */ andi $s5, $t1, 0xff -/* 10FDE4 7F0DB2B4 2EAB0001 */ sltiu $t3, $s5, 1 -/* 10FDE8 7F0DB2B8 AFAB0048 */ sw $t3, 0x48($sp) -/* 10FDEC 7F0DB2BC A3AF011D */ sb $t7, 0x11d($sp) -/* 10FDF0 7F0DB2C0 02AD4821 */ addu $t1, $s5, $t5 -/* 10FDF4 7F0DB2C4 91390000 */ lbu $t9, ($t1) -/* 10FDF8 7F0DB2C8 32AC00A8 */ andi $t4, $s5, 0xa8 -/* 10FDFC 7F0DB2CC 01EC5025 */ or $t2, $t7, $t4 -/* 10FE00 7F0DB2D0 000B4180 */ sll $t0, $t3, 6 -/* 10FE04 7F0DB2D4 0148C025 */ or $t8, $t2, $t0 -/* 10FE08 7F0DB2D8 03388825 */ or $s1, $t9, $t8 -/* 10FE0C 7F0DB2DC 322B00FF */ andi $t3, $s1, 0xff -/* 10FE10 7F0DB2E0 100004AD */ b .L7F0DC598 -/* 10FE14 7F0DB2E4 01608825 */ move $s1, $t3 -spectrum_op_CB_24: -/* 10FE18 7F0DB2E8 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 10FE1C 7F0DB2EC 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 10FE20 7F0DB2F0 001641C3 */ sra $t0, $s6, 7 -/* 10FE24 7F0DB2F4 00166040 */ sll $t4, $s6, 1 -/* 10FE28 7F0DB2F8 319600FF */ andi $s6, $t4, 0xff -/* 10FE2C 7F0DB2FC 2ECA0001 */ sltiu $t2, $s6, 1 -/* 10FE30 7F0DB300 AFAA0048 */ sw $t2, 0x48($sp) -/* 10FE34 7F0DB304 A3A8011C */ sb $t0, 0x11c($sp) -/* 10FE38 7F0DB308 02CF6021 */ addu $t4, $s6, $t7 -/* 10FE3C 7F0DB30C 918E0000 */ lbu $t6, ($t4) -/* 10FE40 7F0DB310 32CD00A8 */ andi $t5, $s6, 0xa8 -/* 10FE44 7F0DB314 010D4825 */ or $t1, $t0, $t5 -/* 10FE48 7F0DB318 000AC180 */ sll $t8, $t2, 6 -/* 10FE4C 7F0DB31C 01385825 */ or $t3, $t1, $t8 -/* 10FE50 7F0DB320 01CB8825 */ or $s1, $t6, $t3 -/* 10FE54 7F0DB324 322A00FF */ andi $t2, $s1, 0xff -/* 10FE58 7F0DB328 1000049B */ b .L7F0DC598 -/* 10FE5C 7F0DB32C 01408825 */ move $s1, $t2 -spectrum_op_CB_25: -/* 10FE60 7F0DB330 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 10FE64 7F0DB334 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 10FE68 7F0DB338 0017C1C3 */ sra $t8, $s7, 7 -/* 10FE6C 7F0DB33C 00176840 */ sll $t5, $s7, 1 -/* 10FE70 7F0DB340 31B700FF */ andi $s7, $t5, 0xff -/* 10FE74 7F0DB344 2EE90001 */ sltiu $t1, $s7, 1 -/* 10FE78 7F0DB348 AFA90048 */ sw $t1, 0x48($sp) -/* 10FE7C 7F0DB34C A3B8011B */ sb $t8, 0x11b($sp) -/* 10FE80 7F0DB350 02E86821 */ addu $t5, $s7, $t0 -/* 10FE84 7F0DB354 91B90000 */ lbu $t9, ($t5) -/* 10FE88 7F0DB358 32EF00A8 */ andi $t7, $s7, 0xa8 -/* 10FE8C 7F0DB35C 030F6025 */ or $t4, $t8, $t7 -/* 10FE90 7F0DB360 00095980 */ sll $t3, $t1, 6 -/* 10FE94 7F0DB364 018B5025 */ or $t2, $t4, $t3 -/* 10FE98 7F0DB368 032A8825 */ or $s1, $t9, $t2 -/* 10FE9C 7F0DB36C 322900FF */ andi $t1, $s1, 0xff -/* 10FEA0 7F0DB370 10000489 */ b .L7F0DC598 -/* 10FEA4 7F0DB374 01208825 */ move $s1, $t1 -spectrum_op_CB_26: -/* 10FEA8 7F0DB378 8FB8028C */ lw $t8, 0x28c($sp) -/* 10FEAC 7F0DB37C 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 10FEB0 7F0DB380 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 10FEB4 7F0DB384 97AE013C */ lhu $t6, 0x13c($sp) -/* 10FEB8 7F0DB388 270F0007 */ addiu $t7, $t8, 7 -/* 10FEBC 7F0DB38C AFAF028C */ sw $t7, 0x28c($sp) -/* 10FEC0 7F0DB390 01CC5821 */ addu $t3, $t6, $t4 -/* 10FEC4 7F0DB394 91680000 */ lbu $t0, ($t3) -/* 10FEC8 7F0DB398 310D00FF */ andi $t5, $t0, 0xff -/* 10FECC 7F0DB39C 000D79C3 */ sra $t7, $t5, 7 -/* 10FED0 7F0DB3A0 000D5040 */ sll $t2, $t5, 1 -/* 10FED4 7F0DB3A4 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 10FED8 7F0DB3A8 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 10FEDC 7F0DB3AC 314900FF */ andi $t1, $t2, 0xff -/* 10FEE0 7F0DB3B0 A3A80139 */ sb $t0, 0x139($sp) -/* 10FEE4 7F0DB3B4 2D380001 */ sltiu $t8, $t1, 1 -/* 10FEE8 7F0DB3B8 314C00A8 */ andi $t4, $t2, 0xa8 -/* 10FEEC 7F0DB3BC 01EC5825 */ or $t3, $t7, $t4 -/* 10FEF0 7F0DB3C0 AFB80048 */ sw $t8, 0x48($sp) -/* 10FEF4 7F0DB3C4 A3AA0139 */ sb $t2, 0x139($sp) -/* 10FEF8 7F0DB3C8 A3AF011A */ sb $t7, 0x11a($sp) -/* 10FEFC 7F0DB3CC 012D7021 */ addu $t6, $t1, $t5 -/* 10FF00 7F0DB3D0 91CF0000 */ lbu $t7, ($t6) -/* 10FF04 7F0DB3D4 00184180 */ sll $t0, $t8, 6 -/* 10FF08 7F0DB3D8 97B8013C */ lhu $t8, 0x13c($sp) -/* 10FF0C 7F0DB3DC 0168C825 */ or $t9, $t3, $t0 -/* 10FF10 7F0DB3E0 01F98825 */ or $s1, $t7, $t9 -/* 10FF14 7F0DB3E4 322C00FF */ andi $t4, $s1, 0xff -/* 10FF18 7F0DB3E8 2B015B00 */ slti $at, $t8, 0x5b00 -/* 10FF1C 7F0DB3EC 14200007 */ bnez $at, .L7F0DB40C -/* 10FF20 7F0DB3F0 01808825 */ move $s1, $t4 -/* 10FF24 7F0DB3F4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 10FF28 7F0DB3F8 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 10FF2C 7F0DB3FC 01405825 */ move $t3, $t2 -/* 10FF30 7F0DB400 01185021 */ addu $t2, $t0, $t8 -/* 10FF34 7F0DB404 10000464 */ b .L7F0DC598 -/* 10FF38 7F0DB408 A14B0000 */ sb $t3, ($t2) -.L7F0DB40C: -/* 10FF3C 7F0DB40C 97A9013C */ lhu $t1, 0x13c($sp) -/* 10FF40 7F0DB410 97AB013C */ lhu $t3, 0x13c($sp) -/* 10FF44 7F0DB414 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10FF48 7F0DB418 29215800 */ slti $at, $t1, 0x5800 -/* 10FF4C 7F0DB41C 5420000D */ bnezl $at, .L7F0DB454 -/* 10FF50 7F0DB420 29614000 */ slti $at, $t3, 0x4000 -/* 10FF54 7F0DB424 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10FF58 7F0DB428 93AD0139 */ lbu $t5, 0x139($sp) -/* 10FF5C 7F0DB42C 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 10FF60 7F0DB430 01C97821 */ addu $t7, $t6, $t1 -/* 10FF64 7F0DB434 A1ED0000 */ sb $t5, ($t7) -/* 10FF68 7F0DB438 97A8013C */ lhu $t0, 0x13c($sp) -/* 10FF6C 7F0DB43C 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 10FF70 7F0DB440 24190001 */ li $t9, 1 -/* 10FF74 7F0DB444 0188C021 */ addu $t8, $t4, $t0 -/* 10FF78 7F0DB448 10000453 */ b .L7F0DC598 -/* 10FF7C 7F0DB44C A319A800 */ sb $t9, -0x5800($t8) -/* 10FF80 7F0DB450 29614000 */ slti $at, $t3, 0x4000 -.L7F0DB454: -/* 10FF84 7F0DB454 14200450 */ bnez $at, .L7F0DC598 -/* 10FF88 7F0DB458 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 10FF8C 7F0DB45C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 10FF90 7F0DB460 93AA0139 */ lbu $t2, 0x139($sp) -/* 10FF94 7F0DB464 240D0001 */ li $t5, 1 -/* 10FF98 7F0DB468 01CB4821 */ addu $t1, $t6, $t3 -/* 10FF9C 7F0DB46C A12A0000 */ sb $t2, ($t1) -/* 10FFA0 7F0DB470 97AF013C */ lhu $t7, 0x13c($sp) -/* 10FFA4 7F0DB474 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 10FFA8 7F0DB478 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 10FFAC 7F0DB47C 31EC1800 */ andi $t4, $t7, 0x1800 -/* 10FFB0 7F0DB480 000C40C3 */ sra $t0, $t4, 3 -/* 10FFB4 7F0DB484 31F900FF */ andi $t9, $t7, 0xff -/* 10FFB8 7F0DB488 0119C025 */ or $t8, $t0, $t9 -/* 10FFBC 7F0DB48C 01D85821 */ addu $t3, $t6, $t8 -/* 10FFC0 7F0DB490 10000441 */ b .L7F0DC598 -/* 10FFC4 7F0DB494 A16D0000 */ sb $t5, ($t3) -spectrum_op_CB_27: -/* 10FFC8 7F0DB498 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 10FFCC 7F0DB49C 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 10FFD0 7F0DB4A0 001041C3 */ sra $t0, $s0, 7 -/* 10FFD4 7F0DB4A4 00104840 */ sll $t1, $s0, 1 -/* 10FFD8 7F0DB4A8 313000FF */ andi $s0, $t1, 0xff -/* 10FFDC 7F0DB4AC 2E0F0001 */ sltiu $t7, $s0, 1 -/* 10FFE0 7F0DB4B0 AFAF0048 */ sw $t7, 0x48($sp) -/* 10FFE4 7F0DB4B4 A3A80119 */ sb $t0, 0x119($sp) -/* 10FFE8 7F0DB4B8 020A4821 */ addu $t1, $s0, $t2 -/* 10FFEC 7F0DB4BC 912C0000 */ lbu $t4, ($t1) -/* 10FFF0 7F0DB4C0 321900A8 */ andi $t9, $s0, 0xa8 -/* 10FFF4 7F0DB4C4 01197025 */ or $t6, $t0, $t9 -/* 10FFF8 7F0DB4C8 000F6980 */ sll $t5, $t7, 6 -/* 10FFFC 7F0DB4CC 01CD5825 */ or $t3, $t6, $t5 -/* 110000 7F0DB4D0 018B8825 */ or $s1, $t4, $t3 -/* 110004 7F0DB4D4 322F00FF */ andi $t7, $s1, 0xff -/* 110008 7F0DB4D8 1000042F */ b .L7F0DC598 -/* 11000C 7F0DB4DC 01E08825 */ move $s1, $t7 -spectrum_op_CB_28: -/* 110010 7F0DB4E0 0012CE00 */ sll $t9, $s2, 0x18 -/* 110014 7F0DB4E4 0019C603 */ sra $t8, $t9, 0x18 -/* 110018 7F0DB4E8 00187043 */ sra $t6, $t8, 1 -/* 11001C 7F0DB4EC 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 110020 7F0DB4F0 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 110024 7F0DB4F4 32490001 */ andi $t1, $s2, 1 -/* 110028 7F0DB4F8 31D200FF */ andi $s2, $t6, 0xff -/* 11002C 7F0DB4FC 2E4A0001 */ sltiu $t2, $s2, 1 -/* 110030 7F0DB500 AFAA0048 */ sw $t2, 0x48($sp) -/* 110034 7F0DB504 A3A90118 */ sb $t1, 0x118($sp) -/* 110038 7F0DB508 02587021 */ addu $t6, $s2, $t8 -/* 11003C 7F0DB50C 91CD0000 */ lbu $t5, ($t6) -/* 110040 7F0DB510 324C00A8 */ andi $t4, $s2, 0xa8 -/* 110044 7F0DB514 012C5825 */ or $t3, $t1, $t4 -/* 110048 7F0DB518 000A4180 */ sll $t0, $t2, 6 -/* 11004C 7F0DB51C 0168C825 */ or $t9, $t3, $t0 -/* 110050 7F0DB520 01B98825 */ or $s1, $t5, $t9 -/* 110054 7F0DB524 322A00FF */ andi $t2, $s1, 0xff -/* 110058 7F0DB528 1000041B */ b .L7F0DC598 -/* 11005C 7F0DB52C 01408825 */ move $s1, $t2 -spectrum_op_CB_29: -/* 110060 7F0DB530 00136600 */ sll $t4, $s3, 0x18 -/* 110064 7F0DB534 000C7E03 */ sra $t7, $t4, 0x18 -/* 110068 7F0DB538 000F5843 */ sra $t3, $t7, 1 -/* 11006C 7F0DB53C 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 110070 7F0DB540 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 110074 7F0DB544 326E0001 */ andi $t6, $s3, 1 -/* 110078 7F0DB548 317300FF */ andi $s3, $t3, 0xff -/* 11007C 7F0DB54C 2E780001 */ sltiu $t8, $s3, 1 -/* 110080 7F0DB550 AFB80048 */ sw $t8, 0x48($sp) -/* 110084 7F0DB554 A3AE0117 */ sb $t6, 0x117($sp) -/* 110088 7F0DB558 026F5821 */ addu $t3, $s3, $t7 -/* 11008C 7F0DB55C 91680000 */ lbu $t0, ($t3) -/* 110090 7F0DB560 326D00A8 */ andi $t5, $s3, 0xa8 -/* 110094 7F0DB564 01CDC825 */ or $t9, $t6, $t5 -/* 110098 7F0DB568 00184980 */ sll $t1, $t8, 6 -/* 11009C 7F0DB56C 03296025 */ or $t4, $t9, $t1 -/* 1100A0 7F0DB570 010C8825 */ or $s1, $t0, $t4 -/* 1100A4 7F0DB574 323800FF */ andi $t8, $s1, 0xff -/* 1100A8 7F0DB578 10000407 */ b .L7F0DC598 -/* 1100AC 7F0DB57C 03008825 */ move $s1, $t8 -spectrum_op_CB_2A: -/* 1100B0 7F0DB580 00146E00 */ sll $t5, $s4, 0x18 -/* 1100B4 7F0DB584 000D5603 */ sra $t2, $t5, 0x18 -/* 1100B8 7F0DB588 000AC843 */ sra $t9, $t2, 1 -/* 1100BC 7F0DB58C 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 1100C0 7F0DB590 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 1100C4 7F0DB594 328B0001 */ andi $t3, $s4, 1 -/* 1100C8 7F0DB598 333400FF */ andi $s4, $t9, 0xff -/* 1100CC 7F0DB59C 2E8F0001 */ sltiu $t7, $s4, 1 -/* 1100D0 7F0DB5A0 AFAF0048 */ sw $t7, 0x48($sp) -/* 1100D4 7F0DB5A4 A3AB0116 */ sb $t3, 0x116($sp) -/* 1100D8 7F0DB5A8 028AC821 */ addu $t9, $s4, $t2 -/* 1100DC 7F0DB5AC 93290000 */ lbu $t1, ($t9) -/* 1100E0 7F0DB5B0 328800A8 */ andi $t0, $s4, 0xa8 -/* 1100E4 7F0DB5B4 01686025 */ or $t4, $t3, $t0 -/* 1100E8 7F0DB5B8 000F7180 */ sll $t6, $t7, 6 -/* 1100EC 7F0DB5BC 018E6825 */ or $t5, $t4, $t6 -/* 1100F0 7F0DB5C0 012D8825 */ or $s1, $t1, $t5 -/* 1100F4 7F0DB5C4 322F00FF */ andi $t7, $s1, 0xff -/* 1100F8 7F0DB5C8 100003F3 */ b .L7F0DC598 -/* 1100FC 7F0DB5CC 01E08825 */ move $s1, $t7 -spectrum_op_CB_2B: -/* 110100 7F0DB5D0 00154600 */ sll $t0, $s5, 0x18 -/* 110104 7F0DB5D4 0008C603 */ sra $t8, $t0, 0x18 -/* 110108 7F0DB5D8 00186043 */ sra $t4, $t8, 1 -/* 11010C 7F0DB5DC 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 110110 7F0DB5E0 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 110114 7F0DB5E4 32B90001 */ andi $t9, $s5, 1 -/* 110118 7F0DB5E8 319500FF */ andi $s5, $t4, 0xff -/* 11011C 7F0DB5EC 2EAA0001 */ sltiu $t2, $s5, 1 -/* 110120 7F0DB5F0 AFAA0048 */ sw $t2, 0x48($sp) -/* 110124 7F0DB5F4 A3B90115 */ sb $t9, 0x115($sp) -/* 110128 7F0DB5F8 02B86021 */ addu $t4, $s5, $t8 -/* 11012C 7F0DB5FC 918E0000 */ lbu $t6, ($t4) -/* 110130 7F0DB600 32A900A8 */ andi $t1, $s5, 0xa8 -/* 110134 7F0DB604 03296825 */ or $t5, $t9, $t1 -/* 110138 7F0DB608 000A5980 */ sll $t3, $t2, 6 -/* 11013C 7F0DB60C 01AB4025 */ or $t0, $t5, $t3 -/* 110140 7F0DB610 01C88825 */ or $s1, $t6, $t0 -/* 110144 7F0DB614 322A00FF */ andi $t2, $s1, 0xff -/* 110148 7F0DB618 100003DF */ b .L7F0DC598 -/* 11014C 7F0DB61C 01408825 */ move $s1, $t2 -spectrum_op_CB_2C: -/* 110150 7F0DB620 00164E00 */ sll $t1, $s6, 0x18 -/* 110154 7F0DB624 00097E03 */ sra $t7, $t1, 0x18 -/* 110158 7F0DB628 000F6843 */ sra $t5, $t7, 1 -/* 11015C 7F0DB62C 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 110160 7F0DB630 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 110164 7F0DB634 32CC0001 */ andi $t4, $s6, 1 -/* 110168 7F0DB638 31B600FF */ andi $s6, $t5, 0xff -/* 11016C 7F0DB63C 2ED80001 */ sltiu $t8, $s6, 1 -/* 110170 7F0DB640 AFB80048 */ sw $t8, 0x48($sp) -/* 110174 7F0DB644 A3AC0114 */ sb $t4, 0x114($sp) -/* 110178 7F0DB648 02CF6821 */ addu $t5, $s6, $t7 -/* 11017C 7F0DB64C 91AB0000 */ lbu $t3, ($t5) -/* 110180 7F0DB650 32CE00A8 */ andi $t6, $s6, 0xa8 -/* 110184 7F0DB654 018E4025 */ or $t0, $t4, $t6 -/* 110188 7F0DB658 0018C980 */ sll $t9, $t8, 6 -/* 11018C 7F0DB65C 01194825 */ or $t1, $t0, $t9 -/* 110190 7F0DB660 01698825 */ or $s1, $t3, $t1 -/* 110194 7F0DB664 323800FF */ andi $t8, $s1, 0xff -/* 110198 7F0DB668 100003CB */ b .L7F0DC598 -/* 11019C 7F0DB66C 03008825 */ move $s1, $t8 -spectrum_op_CB_2D: -/* 1101A0 7F0DB670 00177600 */ sll $t6, $s7, 0x18 -/* 1101A4 7F0DB674 000E5603 */ sra $t2, $t6, 0x18 -/* 1101A8 7F0DB678 000A4043 */ sra $t0, $t2, 1 -/* 1101AC 7F0DB67C 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 1101B0 7F0DB680 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 1101B4 7F0DB684 32ED0001 */ andi $t5, $s7, 1 -/* 1101B8 7F0DB688 311700FF */ andi $s7, $t0, 0xff -/* 1101BC 7F0DB68C 2EEF0001 */ sltiu $t7, $s7, 1 -/* 1101C0 7F0DB690 AFAF0048 */ sw $t7, 0x48($sp) -/* 1101C4 7F0DB694 A3AD0113 */ sb $t5, 0x113($sp) -/* 1101C8 7F0DB698 02EA4021 */ addu $t0, $s7, $t2 -/* 1101CC 7F0DB69C 91190000 */ lbu $t9, ($t0) -/* 1101D0 7F0DB6A0 32EB00A8 */ andi $t3, $s7, 0xa8 -/* 1101D4 7F0DB6A4 01AB4825 */ or $t1, $t5, $t3 -/* 1101D8 7F0DB6A8 000F6180 */ sll $t4, $t7, 6 -/* 1101DC 7F0DB6AC 012C7025 */ or $t6, $t1, $t4 -/* 1101E0 7F0DB6B0 032E8825 */ or $s1, $t9, $t6 -/* 1101E4 7F0DB6B4 322F00FF */ andi $t7, $s1, 0xff -/* 1101E8 7F0DB6B8 100003B7 */ b .L7F0DC598 -/* 1101EC 7F0DB6BC 01E08825 */ move $s1, $t7 -spectrum_op_CB_2E: -/* 1101F0 7F0DB6C0 8FAD028C */ lw $t5, 0x28c($sp) -/* 1101F4 7F0DB6C4 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 1101F8 7F0DB6C8 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 1101FC 7F0DB6CC 97B8013C */ lhu $t8, 0x13c($sp) -/* 110200 7F0DB6D0 25AB0007 */ addiu $t3, $t5, 7 -/* 110204 7F0DB6D4 AFAB028C */ sw $t3, 0x28c($sp) -/* 110208 7F0DB6D8 03096021 */ addu $t4, $t8, $t1 -/* 11020C 7F0DB6DC 91880000 */ lbu $t0, ($t4) -/* 110210 7F0DB6E0 A3A80139 */ sb $t0, 0x139($sp) -/* 110214 7F0DB6E4 83AE0139 */ lb $t6, 0x139($sp) -/* 110218 7F0DB6E8 31180001 */ andi $t8, $t0, 1 -/* 11021C 7F0DB6EC A3B80112 */ sb $t8, 0x112($sp) -/* 110220 7F0DB6F0 000E7843 */ sra $t7, $t6, 1 -/* 110224 7F0DB6F4 3C0E8009 */ lui $t6, %hi(ptr_pc_keyboard_table_alloc) -/* 110228 7F0DB6F8 8DCEE334 */ lw $t6, %lo(ptr_pc_keyboard_table_alloc)($t6) -/* 11022C 7F0DB6FC 31ED00FF */ andi $t5, $t7, 0xff -/* 110230 7F0DB700 2DAB0001 */ sltiu $t3, $t5, 1 -/* 110234 7F0DB704 31EC00A8 */ andi $t4, $t7, 0xa8 -/* 110238 7F0DB708 030C5025 */ or $t2, $t8, $t4 -/* 11023C 7F0DB70C AFAB0048 */ sw $t3, 0x48($sp) -/* 110240 7F0DB710 A3AF0139 */ sb $t7, 0x139($sp) -/* 110244 7F0DB714 01AE4821 */ addu $t1, $t5, $t6 -/* 110248 7F0DB718 91380000 */ lbu $t8, ($t1) -/* 11024C 7F0DB71C 000B4180 */ sll $t0, $t3, 6 -/* 110250 7F0DB720 97AB013C */ lhu $t3, 0x13c($sp) -/* 110254 7F0DB724 0148C825 */ or $t9, $t2, $t0 -/* 110258 7F0DB728 03198825 */ or $s1, $t8, $t9 -/* 11025C 7F0DB72C 322C00FF */ andi $t4, $s1, 0xff -/* 110260 7F0DB730 29615B00 */ slti $at, $t3, 0x5b00 -/* 110264 7F0DB734 14200007 */ bnez $at, .L7F0DB754 -/* 110268 7F0DB738 01808825 */ move $s1, $t4 -/* 11026C 7F0DB73C 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 110270 7F0DB740 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 110274 7F0DB744 01E05025 */ move $t2, $t7 -/* 110278 7F0DB748 010B7821 */ addu $t7, $t0, $t3 -/* 11027C 7F0DB74C 10000392 */ b .L7F0DC598 -/* 110280 7F0DB750 A1EA0000 */ sb $t2, ($t7) -.L7F0DB754: -/* 110284 7F0DB754 97AD013C */ lhu $t5, 0x13c($sp) -/* 110288 7F0DB758 97AA013C */ lhu $t2, 0x13c($sp) -/* 11028C 7F0DB75C 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 110290 7F0DB760 29A15800 */ slti $at, $t5, 0x5800 -/* 110294 7F0DB764 5420000D */ bnezl $at, .L7F0DB79C -/* 110298 7F0DB768 29414000 */ slti $at, $t2, 0x4000 -/* 11029C 7F0DB76C 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 1102A0 7F0DB770 93AE0139 */ lbu $t6, 0x139($sp) -/* 1102A4 7F0DB774 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 1102A8 7F0DB778 012DC021 */ addu $t8, $t1, $t5 -/* 1102AC 7F0DB77C A30E0000 */ sb $t6, ($t8) -/* 1102B0 7F0DB780 97A8013C */ lhu $t0, 0x13c($sp) -/* 1102B4 7F0DB784 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 1102B8 7F0DB788 24190001 */ li $t9, 1 -/* 1102BC 7F0DB78C 01885821 */ addu $t3, $t4, $t0 -/* 1102C0 7F0DB790 10000381 */ b .L7F0DC598 -/* 1102C4 7F0DB794 A179A800 */ sb $t9, -0x5800($t3) -/* 1102C8 7F0DB798 29414000 */ slti $at, $t2, 0x4000 -.L7F0DB79C: -/* 1102CC 7F0DB79C 1420037E */ bnez $at, .L7F0DC598 -/* 1102D0 7F0DB7A0 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 1102D4 7F0DB7A4 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 1102D8 7F0DB7A8 93AF0139 */ lbu $t7, 0x139($sp) -/* 1102DC 7F0DB7AC 240E0001 */ li $t6, 1 -/* 1102E0 7F0DB7B0 012A6821 */ addu $t5, $t1, $t2 -/* 1102E4 7F0DB7B4 A1AF0000 */ sb $t7, ($t5) -/* 1102E8 7F0DB7B8 97B8013C */ lhu $t8, 0x13c($sp) -/* 1102EC 7F0DB7BC 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 1102F0 7F0DB7C0 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 1102F4 7F0DB7C4 330C1800 */ andi $t4, $t8, 0x1800 -/* 1102F8 7F0DB7C8 000C40C3 */ sra $t0, $t4, 3 -/* 1102FC 7F0DB7CC 331900FF */ andi $t9, $t8, 0xff -/* 110300 7F0DB7D0 01195825 */ or $t3, $t0, $t9 -/* 110304 7F0DB7D4 012B5021 */ addu $t2, $t1, $t3 -/* 110308 7F0DB7D8 1000036F */ b .L7F0DC598 -/* 11030C 7F0DB7DC A14E0000 */ sb $t6, ($t2) -spectrum_op_CB_2F: -/* 110310 7F0DB7E0 00106E00 */ sll $t5, $s0, 0x18 -/* 110314 7F0DB7E4 000D6603 */ sra $t4, $t5, 0x18 -/* 110318 7F0DB7E8 000CC043 */ sra $t8, $t4, 1 -/* 11031C 7F0DB7EC 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 110320 7F0DB7F0 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 110324 7F0DB7F4 32090001 */ andi $t1, $s0, 1 -/* 110328 7F0DB7F8 331000FF */ andi $s0, $t8, 0xff -/* 11032C 7F0DB7FC 2E190001 */ sltiu $t9, $s0, 1 -/* 110330 7F0DB800 AFB90048 */ sw $t9, 0x48($sp) -/* 110334 7F0DB804 A3A90111 */ sb $t1, 0x111($sp) -/* 110338 7F0DB808 020CC021 */ addu $t8, $s0, $t4 -/* 11033C 7F0DB80C 93080000 */ lbu $t0, ($t8) -/* 110340 7F0DB810 320B00A8 */ andi $t3, $s0, 0xa8 -/* 110344 7F0DB814 012B7025 */ or $t6, $t1, $t3 -/* 110348 7F0DB818 00197980 */ sll $t7, $t9, 6 -/* 11034C 7F0DB81C 01CF6825 */ or $t5, $t6, $t7 -/* 110350 7F0DB820 010D8825 */ or $s1, $t0, $t5 -/* 110354 7F0DB824 323900FF */ andi $t9, $s1, 0xff -/* 110358 7F0DB828 1000035B */ b .L7F0DC598 -/* 11035C 7F0DB82C 03208825 */ move $s1, $t9 -spectrum_op_CB_30: -/* 110360 7F0DB830 00125840 */ sll $t3, $s2, 1 -/* 110364 7F0DB834 356A0001 */ ori $t2, $t3, 1 -/* 110368 7F0DB838 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 11036C 7F0DB83C 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 110370 7F0DB840 001261C3 */ sra $t4, $s2, 7 -/* 110374 7F0DB844 315200FF */ andi $s2, $t2, 0xff -/* 110378 7F0DB848 2E4F0001 */ sltiu $t7, $s2, 1 -/* 11037C 7F0DB84C AFAF0048 */ sw $t7, 0x48($sp) -/* 110380 7F0DB850 A3AC0110 */ sb $t4, 0x110($sp) -/* 110384 7F0DB854 024B5021 */ addu $t2, $s2, $t3 -/* 110388 7F0DB858 914E0000 */ lbu $t6, ($t2) -/* 11038C 7F0DB85C 325800A8 */ andi $t8, $s2, 0xa8 -/* 110390 7F0DB860 01984025 */ or $t0, $t4, $t8 -/* 110394 7F0DB864 000FC980 */ sll $t9, $t7, 6 -/* 110398 7F0DB868 01194825 */ or $t1, $t0, $t9 -/* 11039C 7F0DB86C 01C98825 */ or $s1, $t6, $t1 -/* 1103A0 7F0DB870 322F00FF */ andi $t7, $s1, 0xff -/* 1103A4 7F0DB874 10000348 */ b .L7F0DC598 -/* 1103A8 7F0DB878 01E08825 */ move $s1, $t7 -spectrum_op_CB_31: -/* 1103AC 7F0DB87C 0013C040 */ sll $t8, $s3, 1 -/* 1103B0 7F0DB880 370D0001 */ ori $t5, $t8, 1 -/* 1103B4 7F0DB884 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 1103B8 7F0DB888 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 1103BC 7F0DB88C 001359C3 */ sra $t3, $s3, 7 -/* 1103C0 7F0DB890 31B300FF */ andi $s3, $t5, 0xff -/* 1103C4 7F0DB894 2E790001 */ sltiu $t9, $s3, 1 -/* 1103C8 7F0DB898 AFB90048 */ sw $t9, 0x48($sp) -/* 1103CC 7F0DB89C A3AB010F */ sb $t3, 0x10f($sp) -/* 1103D0 7F0DB8A0 02786821 */ addu $t5, $s3, $t8 -/* 1103D4 7F0DB8A4 91A80000 */ lbu $t0, ($t5) -/* 1103D8 7F0DB8A8 326A00A8 */ andi $t2, $s3, 0xa8 -/* 1103DC 7F0DB8AC 016A7025 */ or $t6, $t3, $t2 -/* 1103E0 7F0DB8B0 00197980 */ sll $t7, $t9, 6 -/* 1103E4 7F0DB8B4 01CF6025 */ or $t4, $t6, $t7 -/* 1103E8 7F0DB8B8 010C8825 */ or $s1, $t0, $t4 -/* 1103EC 7F0DB8BC 323900FF */ andi $t9, $s1, 0xff -/* 1103F0 7F0DB8C0 10000335 */ b .L7F0DC598 -/* 1103F4 7F0DB8C4 03208825 */ move $s1, $t9 -spectrum_op_CB_32: -/* 1103F8 7F0DB8C8 00145040 */ sll $t2, $s4, 1 -/* 1103FC 7F0DB8CC 35490001 */ ori $t1, $t2, 1 -/* 110400 7F0DB8D0 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 110404 7F0DB8D4 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 110408 7F0DB8D8 0014C1C3 */ sra $t8, $s4, 7 -/* 11040C 7F0DB8DC 313400FF */ andi $s4, $t1, 0xff -/* 110410 7F0DB8E0 2E8F0001 */ sltiu $t7, $s4, 1 -/* 110414 7F0DB8E4 AFAF0048 */ sw $t7, 0x48($sp) -/* 110418 7F0DB8E8 A3B8010E */ sb $t8, 0x10e($sp) -/* 11041C 7F0DB8EC 028A4821 */ addu $t1, $s4, $t2 -/* 110420 7F0DB8F0 912E0000 */ lbu $t6, ($t1) -/* 110424 7F0DB8F4 328D00A8 */ andi $t5, $s4, 0xa8 -/* 110428 7F0DB8F8 030D4025 */ or $t0, $t8, $t5 -/* 11042C 7F0DB8FC 000FC980 */ sll $t9, $t7, 6 -/* 110430 7F0DB900 01195825 */ or $t3, $t0, $t9 -/* 110434 7F0DB904 01CB8825 */ or $s1, $t6, $t3 -/* 110438 7F0DB908 322F00FF */ andi $t7, $s1, 0xff -/* 11043C 7F0DB90C 10000322 */ b .L7F0DC598 -/* 110440 7F0DB910 01E08825 */ move $s1, $t7 -spectrum_op_CB_33: -/* 110444 7F0DB914 00156840 */ sll $t5, $s5, 1 -/* 110448 7F0DB918 35AC0001 */ ori $t4, $t5, 1 -/* 11044C 7F0DB91C 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 110450 7F0DB920 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 110454 7F0DB924 001551C3 */ sra $t2, $s5, 7 -/* 110458 7F0DB928 319500FF */ andi $s5, $t4, 0xff -/* 11045C 7F0DB92C 2EB90001 */ sltiu $t9, $s5, 1 -/* 110460 7F0DB930 AFB90048 */ sw $t9, 0x48($sp) -/* 110464 7F0DB934 A3AA010D */ sb $t2, 0x10d($sp) -/* 110468 7F0DB938 02AD6021 */ addu $t4, $s5, $t5 -/* 11046C 7F0DB93C 91880000 */ lbu $t0, ($t4) -/* 110470 7F0DB940 32A900A8 */ andi $t1, $s5, 0xa8 -/* 110474 7F0DB944 01497025 */ or $t6, $t2, $t1 -/* 110478 7F0DB948 00197980 */ sll $t7, $t9, 6 -/* 11047C 7F0DB94C 01CFC025 */ or $t8, $t6, $t7 -/* 110480 7F0DB950 01188825 */ or $s1, $t0, $t8 -/* 110484 7F0DB954 323900FF */ andi $t9, $s1, 0xff -/* 110488 7F0DB958 1000030F */ b .L7F0DC598 -/* 11048C 7F0DB95C 03208825 */ move $s1, $t9 -spectrum_op_CB_34: -/* 110490 7F0DB960 00164840 */ sll $t1, $s6, 1 -/* 110494 7F0DB964 352B0001 */ ori $t3, $t1, 1 -/* 110498 7F0DB968 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 11049C 7F0DB96C 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 1104A0 7F0DB970 001669C3 */ sra $t5, $s6, 7 -/* 1104A4 7F0DB974 317600FF */ andi $s6, $t3, 0xff -/* 1104A8 7F0DB978 2ECF0001 */ sltiu $t7, $s6, 1 -/* 1104AC 7F0DB97C AFAF0048 */ sw $t7, 0x48($sp) -/* 1104B0 7F0DB980 A3AD010C */ sb $t5, 0x10c($sp) -/* 1104B4 7F0DB984 02C95821 */ addu $t3, $s6, $t1 -/* 1104B8 7F0DB988 916E0000 */ lbu $t6, ($t3) -/* 1104BC 7F0DB98C 32CC00A8 */ andi $t4, $s6, 0xa8 -/* 1104C0 7F0DB990 01AC4025 */ or $t0, $t5, $t4 -/* 1104C4 7F0DB994 000FC980 */ sll $t9, $t7, 6 -/* 1104C8 7F0DB998 01195025 */ or $t2, $t0, $t9 -/* 1104CC 7F0DB99C 01CA8825 */ or $s1, $t6, $t2 -/* 1104D0 7F0DB9A0 322F00FF */ andi $t7, $s1, 0xff -/* 1104D4 7F0DB9A4 100002FC */ b .L7F0DC598 -/* 1104D8 7F0DB9A8 01E08825 */ move $s1, $t7 -spectrum_op_CB_35: -/* 1104DC 7F0DB9AC 00176040 */ sll $t4, $s7, 1 -/* 1104E0 7F0DB9B0 35980001 */ ori $t8, $t4, 1 -/* 1104E4 7F0DB9B4 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 1104E8 7F0DB9B8 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 1104EC 7F0DB9BC 001749C3 */ sra $t1, $s7, 7 -/* 1104F0 7F0DB9C0 331700FF */ andi $s7, $t8, 0xff -/* 1104F4 7F0DB9C4 2EF90001 */ sltiu $t9, $s7, 1 -/* 1104F8 7F0DB9C8 AFB90048 */ sw $t9, 0x48($sp) -/* 1104FC 7F0DB9CC A3A9010B */ sb $t1, 0x10b($sp) -/* 110500 7F0DB9D0 02ECC021 */ addu $t8, $s7, $t4 -/* 110504 7F0DB9D4 93080000 */ lbu $t0, ($t8) -/* 110508 7F0DB9D8 32EB00A8 */ andi $t3, $s7, 0xa8 -/* 11050C 7F0DB9DC 012B7025 */ or $t6, $t1, $t3 -/* 110510 7F0DB9E0 00197980 */ sll $t7, $t9, 6 -/* 110514 7F0DB9E4 01CF6825 */ or $t5, $t6, $t7 -/* 110518 7F0DB9E8 010D8825 */ or $s1, $t0, $t5 -/* 11051C 7F0DB9EC 323900FF */ andi $t9, $s1, 0xff -/* 110520 7F0DB9F0 100002E9 */ b .L7F0DC598 -/* 110524 7F0DB9F4 03208825 */ move $s1, $t9 -spectrum_op_CB_36: -/* 110528 7F0DB9F8 8FA9028C */ lw $t1, 0x28c($sp) -/* 11052C 7F0DB9FC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 110530 7F0DBA00 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 110534 7F0DBA04 97AA013C */ lhu $t2, 0x13c($sp) -/* 110538 7F0DBA08 252B0007 */ addiu $t3, $t1, 7 -/* 11053C 7F0DBA0C AFAB028C */ sw $t3, 0x28c($sp) -/* 110540 7F0DBA10 014E7821 */ addu $t7, $t2, $t6 -/* 110544 7F0DBA14 91EC0000 */ lbu $t4, ($t7) -/* 110548 7F0DBA18 319800FF */ andi $t8, $t4, 0xff -/* 11054C 7F0DBA1C 00186840 */ sll $t5, $t8, 1 -/* 110550 7F0DBA20 35B90001 */ ori $t9, $t5, 1 -/* 110554 7F0DBA24 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 110558 7F0DBA28 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 11055C 7F0DBA2C 332900FF */ andi $t1, $t9, 0xff -/* 110560 7F0DBA30 001851C3 */ sra $t2, $t8, 7 -/* 110564 7F0DBA34 A3AC0139 */ sb $t4, 0x139($sp) -/* 110568 7F0DBA38 2D2B0001 */ sltiu $t3, $t1, 1 -/* 11056C 7F0DBA3C 332F00A8 */ andi $t7, $t9, 0xa8 -/* 110570 7F0DBA40 014F6025 */ or $t4, $t2, $t7 -/* 110574 7F0DBA44 AFAB0048 */ sw $t3, 0x48($sp) -/* 110578 7F0DBA48 A3B90139 */ sb $t9, 0x139($sp) -/* 11057C 7F0DBA4C A3AA010A */ sb $t2, 0x10a($sp) -/* 110580 7F0DBA50 012D7021 */ addu $t6, $t1, $t5 -/* 110584 7F0DBA54 91CA0000 */ lbu $t2, ($t6) -/* 110588 7F0DBA58 000B4180 */ sll $t0, $t3, 6 -/* 11058C 7F0DBA5C 97AB013C */ lhu $t3, 0x13c($sp) -/* 110590 7F0DBA60 0188C025 */ or $t8, $t4, $t0 -/* 110594 7F0DBA64 01588825 */ or $s1, $t2, $t8 -/* 110598 7F0DBA68 322F00FF */ andi $t7, $s1, 0xff -/* 11059C 7F0DBA6C 29615B00 */ slti $at, $t3, 0x5b00 -/* 1105A0 7F0DBA70 14200007 */ bnez $at, .L7F0DBA90 -/* 1105A4 7F0DBA74 01E08825 */ move $s1, $t7 -/* 1105A8 7F0DBA78 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1105AC 7F0DBA7C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1105B0 7F0DBA80 03206025 */ move $t4, $t9 -/* 1105B4 7F0DBA84 010BC821 */ addu $t9, $t0, $t3 -/* 1105B8 7F0DBA88 100002C3 */ b .L7F0DC598 -/* 1105BC 7F0DBA8C A32C0000 */ sb $t4, ($t9) -.L7F0DBA90: -/* 1105C0 7F0DBA90 97A9013C */ lhu $t1, 0x13c($sp) -/* 1105C4 7F0DBA94 97AC013C */ lhu $t4, 0x13c($sp) -/* 1105C8 7F0DBA98 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1105CC 7F0DBA9C 29215800 */ slti $at, $t1, 0x5800 -/* 1105D0 7F0DBAA0 5420000D */ bnezl $at, .L7F0DBAD8 -/* 1105D4 7F0DBAA4 29814000 */ slti $at, $t4, 0x4000 -/* 1105D8 7F0DBAA8 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1105DC 7F0DBAAC 93AD0139 */ lbu $t5, 0x139($sp) -/* 1105E0 7F0DBAB0 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 1105E4 7F0DBAB4 01C95021 */ addu $t2, $t6, $t1 -/* 1105E8 7F0DBAB8 A14D0000 */ sb $t5, ($t2) -/* 1105EC 7F0DBABC 97A8013C */ lhu $t0, 0x13c($sp) -/* 1105F0 7F0DBAC0 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 1105F4 7F0DBAC4 24180001 */ li $t8, 1 -/* 1105F8 7F0DBAC8 01E85821 */ addu $t3, $t7, $t0 -/* 1105FC 7F0DBACC 100002B2 */ b .L7F0DC598 -/* 110600 7F0DBAD0 A178A800 */ sb $t8, -0x5800($t3) -/* 110604 7F0DBAD4 29814000 */ slti $at, $t4, 0x4000 -.L7F0DBAD8: -/* 110608 7F0DBAD8 142002AF */ bnez $at, .L7F0DC598 -/* 11060C 7F0DBADC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 110610 7F0DBAE0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 110614 7F0DBAE4 93B90139 */ lbu $t9, 0x139($sp) -/* 110618 7F0DBAE8 240D0001 */ li $t5, 1 -/* 11061C 7F0DBAEC 01CC4821 */ addu $t1, $t6, $t4 -/* 110620 7F0DBAF0 A1390000 */ sb $t9, ($t1) -/* 110624 7F0DBAF4 97AA013C */ lhu $t2, 0x13c($sp) -/* 110628 7F0DBAF8 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 11062C 7F0DBAFC 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 110630 7F0DBB00 314F1800 */ andi $t7, $t2, 0x1800 -/* 110634 7F0DBB04 000F40C3 */ sra $t0, $t7, 3 -/* 110638 7F0DBB08 315800FF */ andi $t8, $t2, 0xff -/* 11063C 7F0DBB0C 01185825 */ or $t3, $t0, $t8 -/* 110640 7F0DBB10 01CB6021 */ addu $t4, $t6, $t3 -/* 110644 7F0DBB14 100002A0 */ b .L7F0DC598 -/* 110648 7F0DBB18 A18D0000 */ sb $t5, ($t4) -spectrum_op_CB_37: -/* 11064C 7F0DBB1C 00104840 */ sll $t1, $s0, 1 -/* 110650 7F0DBB20 352F0001 */ ori $t7, $t1, 1 -/* 110654 7F0DBB24 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 110658 7F0DBB28 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 11065C 7F0DBB2C 0010C1C3 */ sra $t8, $s0, 7 -/* 110660 7F0DBB30 31F000FF */ andi $s0, $t7, 0xff -/* 110664 7F0DBB34 2E080001 */ sltiu $t0, $s0, 1 -/* 110668 7F0DBB38 AFA80048 */ sw $t0, 0x48($sp) -/* 11066C 7F0DBB3C A3B80109 */ sb $t8, 0x109($sp) -/* 110670 7F0DBB40 02097821 */ addu $t7, $s0, $t1 -/* 110674 7F0DBB44 91EA0000 */ lbu $t2, ($t7) -/* 110678 7F0DBB48 320E00A8 */ andi $t6, $s0, 0xa8 -/* 11067C 7F0DBB4C 030E5825 */ or $t3, $t8, $t6 -/* 110680 7F0DBB50 00086180 */ sll $t4, $t0, 6 -/* 110684 7F0DBB54 016CC825 */ or $t9, $t3, $t4 -/* 110688 7F0DBB58 01598825 */ or $s1, $t2, $t9 -/* 11068C 7F0DBB5C 322800FF */ andi $t0, $s1, 0xff -/* 110690 7F0DBB60 1000028D */ b .L7F0DC598 -/* 110694 7F0DBB64 01008825 */ move $s1, $t0 -spectrum_op_CB_38: -/* 110698 7F0DBB68 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 11069C 7F0DBB6C 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 1106A0 7F0DBB70 324C0001 */ andi $t4, $s2, 1 -/* 1106A4 7F0DBB74 00127042 */ srl $t6, $s2, 1 -/* 1106A8 7F0DBB78 31D200FF */ andi $s2, $t6, 0xff -/* 1106AC 7F0DBB7C 2E4B0001 */ sltiu $t3, $s2, 1 -/* 1106B0 7F0DBB80 AFAB0048 */ sw $t3, 0x48($sp) -/* 1106B4 7F0DBB84 A3AC0108 */ sb $t4, 0x108($sp) -/* 1106B8 7F0DBB88 02587021 */ addu $t6, $s2, $t8 -/* 1106BC 7F0DBB8C 91CD0000 */ lbu $t5, ($t6) -/* 1106C0 7F0DBB90 324900A8 */ andi $t1, $s2, 0xa8 -/* 1106C4 7F0DBB94 01897825 */ or $t7, $t4, $t1 -/* 1106C8 7F0DBB98 000BC980 */ sll $t9, $t3, 6 -/* 1106CC 7F0DBB9C 01F94025 */ or $t0, $t7, $t9 -/* 1106D0 7F0DBBA0 01A88825 */ or $s1, $t5, $t0 -/* 1106D4 7F0DBBA4 322B00FF */ andi $t3, $s1, 0xff -/* 1106D8 7F0DBBA8 1000027B */ b .L7F0DC598 -/* 1106DC 7F0DBBAC 01608825 */ move $s1, $t3 -spectrum_op_CB_39: -/* 1106E0 7F0DBBB0 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 1106E4 7F0DBBB4 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 1106E8 7F0DBBB8 32790001 */ andi $t9, $s3, 1 -/* 1106EC 7F0DBBBC 00134842 */ srl $t1, $s3, 1 -/* 1106F0 7F0DBBC0 313300FF */ andi $s3, $t1, 0xff -/* 1106F4 7F0DBBC4 2E6F0001 */ sltiu $t7, $s3, 1 -/* 1106F8 7F0DBBC8 AFAF0048 */ sw $t7, 0x48($sp) -/* 1106FC 7F0DBBCC A3B90107 */ sb $t9, 0x107($sp) -/* 110700 7F0DBBD0 026C4821 */ addu $t1, $s3, $t4 -/* 110704 7F0DBBD4 912A0000 */ lbu $t2, ($t1) -/* 110708 7F0DBBD8 327800A8 */ andi $t8, $s3, 0xa8 -/* 11070C 7F0DBBDC 03387025 */ or $t6, $t9, $t8 -/* 110710 7F0DBBE0 000F4180 */ sll $t0, $t7, 6 -/* 110714 7F0DBBE4 01C85825 */ or $t3, $t6, $t0 -/* 110718 7F0DBBE8 014B8825 */ or $s1, $t2, $t3 -/* 11071C 7F0DBBEC 322F00FF */ andi $t7, $s1, 0xff -/* 110720 7F0DBBF0 10000269 */ b .L7F0DC598 -/* 110724 7F0DBBF4 01E08825 */ move $s1, $t7 -spectrum_op_CB_3A: -/* 110728 7F0DBBF8 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 11072C 7F0DBBFC 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 110730 7F0DBC00 32880001 */ andi $t0, $s4, 1 -/* 110734 7F0DBC04 0014C042 */ srl $t8, $s4, 1 -/* 110738 7F0DBC08 331400FF */ andi $s4, $t8, 0xff -/* 11073C 7F0DBC0C 2E8E0001 */ sltiu $t6, $s4, 1 -/* 110740 7F0DBC10 AFAE0048 */ sw $t6, 0x48($sp) -/* 110744 7F0DBC14 A3A80106 */ sb $t0, 0x106($sp) -/* 110748 7F0DBC18 0299C021 */ addu $t8, $s4, $t9 -/* 11074C 7F0DBC1C 930D0000 */ lbu $t5, ($t8) -/* 110750 7F0DBC20 328C00A8 */ andi $t4, $s4, 0xa8 -/* 110754 7F0DBC24 010C4825 */ or $t1, $t0, $t4 -/* 110758 7F0DBC28 000E5980 */ sll $t3, $t6, 6 -/* 11075C 7F0DBC2C 012B7825 */ or $t7, $t1, $t3 -/* 110760 7F0DBC30 01AF8825 */ or $s1, $t5, $t7 -/* 110764 7F0DBC34 322E00FF */ andi $t6, $s1, 0xff -/* 110768 7F0DBC38 10000257 */ b .L7F0DC598 -/* 11076C 7F0DBC3C 01C08825 */ move $s1, $t6 -spectrum_op_CB_3B: -/* 110770 7F0DBC40 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 110774 7F0DBC44 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 110778 7F0DBC48 32AB0001 */ andi $t3, $s5, 1 -/* 11077C 7F0DBC4C 00156042 */ srl $t4, $s5, 1 -/* 110780 7F0DBC50 319500FF */ andi $s5, $t4, 0xff -/* 110784 7F0DBC54 2EA90001 */ sltiu $t1, $s5, 1 -/* 110788 7F0DBC58 AFA90048 */ sw $t1, 0x48($sp) -/* 11078C 7F0DBC5C A3AB0105 */ sb $t3, 0x105($sp) -/* 110790 7F0DBC60 02A86021 */ addu $t4, $s5, $t0 -/* 110794 7F0DBC64 918A0000 */ lbu $t2, ($t4) -/* 110798 7F0DBC68 32B900A8 */ andi $t9, $s5, 0xa8 -/* 11079C 7F0DBC6C 0179C025 */ or $t8, $t3, $t9 -/* 1107A0 7F0DBC70 00097980 */ sll $t7, $t1, 6 -/* 1107A4 7F0DBC74 030F7025 */ or $t6, $t8, $t7 -/* 1107A8 7F0DBC78 014E8825 */ or $s1, $t2, $t6 -/* 1107AC 7F0DBC7C 322900FF */ andi $t1, $s1, 0xff -/* 1107B0 7F0DBC80 10000245 */ b .L7F0DC598 -/* 1107B4 7F0DBC84 01208825 */ move $s1, $t1 -spectrum_op_CB_3C: -/* 1107B8 7F0DBC88 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 1107BC 7F0DBC8C 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 1107C0 7F0DBC90 32CF0001 */ andi $t7, $s6, 1 -/* 1107C4 7F0DBC94 0016C842 */ srl $t9, $s6, 1 -/* 1107C8 7F0DBC98 333600FF */ andi $s6, $t9, 0xff -/* 1107CC 7F0DBC9C 2ED80001 */ sltiu $t8, $s6, 1 -/* 1107D0 7F0DBCA0 AFB80048 */ sw $t8, 0x48($sp) -/* 1107D4 7F0DBCA4 A3AF0104 */ sb $t7, 0x104($sp) -/* 1107D8 7F0DBCA8 02CBC821 */ addu $t9, $s6, $t3 -/* 1107DC 7F0DBCAC 932D0000 */ lbu $t5, ($t9) -/* 1107E0 7F0DBCB0 32C800A8 */ andi $t0, $s6, 0xa8 -/* 1107E4 7F0DBCB4 01E86025 */ or $t4, $t7, $t0 -/* 1107E8 7F0DBCB8 00187180 */ sll $t6, $t8, 6 -/* 1107EC 7F0DBCBC 018E4825 */ or $t1, $t4, $t6 -/* 1107F0 7F0DBCC0 01A98825 */ or $s1, $t5, $t1 -/* 1107F4 7F0DBCC4 323800FF */ andi $t8, $s1, 0xff -/* 1107F8 7F0DBCC8 10000233 */ b .L7F0DC598 -/* 1107FC 7F0DBCCC 03008825 */ move $s1, $t8 -spectrum_op_CB_3D: -/* 110800 7F0DBCD0 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 110804 7F0DBCD4 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 110808 7F0DBCD8 32EE0001 */ andi $t6, $s7, 1 -/* 11080C 7F0DBCDC 00174042 */ srl $t0, $s7, 1 -/* 110810 7F0DBCE0 311700FF */ andi $s7, $t0, 0xff -/* 110814 7F0DBCE4 2EEC0001 */ sltiu $t4, $s7, 1 -/* 110818 7F0DBCE8 AFAC0048 */ sw $t4, 0x48($sp) -/* 11081C 7F0DBCEC A3AE0103 */ sb $t6, 0x103($sp) -/* 110820 7F0DBCF0 02EF4021 */ addu $t0, $s7, $t7 -/* 110824 7F0DBCF4 910A0000 */ lbu $t2, ($t0) -/* 110828 7F0DBCF8 32EB00A8 */ andi $t3, $s7, 0xa8 -/* 11082C 7F0DBCFC 01CBC825 */ or $t9, $t6, $t3 -/* 110830 7F0DBD00 000C4980 */ sll $t1, $t4, 6 -/* 110834 7F0DBD04 0329C025 */ or $t8, $t9, $t1 -/* 110838 7F0DBD08 01588825 */ or $s1, $t2, $t8 -/* 11083C 7F0DBD0C 322C00FF */ andi $t4, $s1, 0xff -/* 110840 7F0DBD10 10000221 */ b .L7F0DC598 -/* 110844 7F0DBD14 01808825 */ move $s1, $t4 -spectrum_op_CB_3E: -/* 110848 7F0DBD18 8FAE028C */ lw $t6, 0x28c($sp) -/* 11084C 7F0DBD1C 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 110850 7F0DBD20 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 110854 7F0DBD24 97AD013C */ lhu $t5, 0x13c($sp) -/* 110858 7F0DBD28 25CB0007 */ addiu $t3, $t6, 7 -/* 11085C 7F0DBD2C AFAB028C */ sw $t3, 0x28c($sp) -/* 110860 7F0DBD30 01B94821 */ addu $t1, $t5, $t9 -/* 110864 7F0DBD34 912F0000 */ lbu $t7, ($t1) -/* 110868 7F0DBD38 31E800FF */ andi $t0, $t7, 0xff -/* 11086C 7F0DBD3C 310B0001 */ andi $t3, $t0, 1 -/* 110870 7F0DBD40 0008C042 */ srl $t8, $t0, 1 -/* 110874 7F0DBD44 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 110878 7F0DBD48 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 11087C 7F0DBD4C 330C00FF */ andi $t4, $t8, 0xff -/* 110880 7F0DBD50 A3AF0139 */ sb $t7, 0x139($sp) -/* 110884 7F0DBD54 2D8E0001 */ sltiu $t6, $t4, 1 -/* 110888 7F0DBD58 331900A8 */ andi $t9, $t8, 0xa8 -/* 11088C 7F0DBD5C 01794825 */ or $t1, $t3, $t9 -/* 110890 7F0DBD60 AFAE0048 */ sw $t6, 0x48($sp) -/* 110894 7F0DBD64 A3B80139 */ sb $t8, 0x139($sp) -/* 110898 7F0DBD68 A3AB0102 */ sb $t3, 0x102($sp) -/* 11089C 7F0DBD6C 01886821 */ addu $t5, $t4, $t0 -/* 1108A0 7F0DBD70 91AB0000 */ lbu $t3, ($t5) -/* 1108A4 7F0DBD74 000E7980 */ sll $t7, $t6, 6 -/* 1108A8 7F0DBD78 97AE013C */ lhu $t6, 0x13c($sp) -/* 1108AC 7F0DBD7C 012F5025 */ or $t2, $t1, $t7 -/* 1108B0 7F0DBD80 016A8825 */ or $s1, $t3, $t2 -/* 1108B4 7F0DBD84 323900FF */ andi $t9, $s1, 0xff -/* 1108B8 7F0DBD88 29C15B00 */ slti $at, $t6, 0x5b00 -/* 1108BC 7F0DBD8C 14200007 */ bnez $at, .L7F0DBDAC -/* 1108C0 7F0DBD90 03208825 */ move $s1, $t9 -/* 1108C4 7F0DBD94 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1108C8 7F0DBD98 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1108CC 7F0DBD9C 03004825 */ move $t1, $t8 -/* 1108D0 7F0DBDA0 01EEC021 */ addu $t8, $t7, $t6 -/* 1108D4 7F0DBDA4 100001FC */ b .L7F0DC598 -/* 1108D8 7F0DBDA8 A3090000 */ sb $t1, ($t8) -.L7F0DBDAC: -/* 1108DC 7F0DBDAC 97AC013C */ lhu $t4, 0x13c($sp) -/* 1108E0 7F0DBDB0 97A9013C */ lhu $t1, 0x13c($sp) -/* 1108E4 7F0DBDB4 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1108E8 7F0DBDB8 29815800 */ slti $at, $t4, 0x5800 -/* 1108EC 7F0DBDBC 5420000D */ bnezl $at, .L7F0DBDF4 -/* 1108F0 7F0DBDC0 29214000 */ slti $at, $t1, 0x4000 -/* 1108F4 7F0DBDC4 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1108F8 7F0DBDC8 93A80139 */ lbu $t0, 0x139($sp) -/* 1108FC 7F0DBDCC 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 110900 7F0DBDD0 01AC5821 */ addu $t3, $t5, $t4 -/* 110904 7F0DBDD4 A1680000 */ sb $t0, ($t3) -/* 110908 7F0DBDD8 97AF013C */ lhu $t7, 0x13c($sp) -/* 11090C 7F0DBDDC 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 110910 7F0DBDE0 240A0001 */ li $t2, 1 -/* 110914 7F0DBDE4 032F7021 */ addu $t6, $t9, $t7 -/* 110918 7F0DBDE8 100001EB */ b .L7F0DC598 -/* 11091C 7F0DBDEC A1CAA800 */ sb $t2, -0x5800($t6) -/* 110920 7F0DBDF0 29214000 */ slti $at, $t1, 0x4000 -.L7F0DBDF4: -/* 110924 7F0DBDF4 142001E8 */ bnez $at, .L7F0DC598 -/* 110928 7F0DBDF8 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 11092C 7F0DBDFC 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 110930 7F0DBE00 93B80139 */ lbu $t8, 0x139($sp) -/* 110934 7F0DBE04 24080001 */ li $t0, 1 -/* 110938 7F0DBE08 01A96021 */ addu $t4, $t5, $t1 -/* 11093C 7F0DBE0C A1980000 */ sb $t8, ($t4) -/* 110940 7F0DBE10 97AB013C */ lhu $t3, 0x13c($sp) -/* 110944 7F0DBE14 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 110948 7F0DBE18 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 11094C 7F0DBE1C 31791800 */ andi $t9, $t3, 0x1800 -/* 110950 7F0DBE20 001978C3 */ sra $t7, $t9, 3 -/* 110954 7F0DBE24 316A00FF */ andi $t2, $t3, 0xff -/* 110958 7F0DBE28 01EA7025 */ or $t6, $t7, $t2 -/* 11095C 7F0DBE2C 01AE4821 */ addu $t1, $t5, $t6 -/* 110960 7F0DBE30 100001D9 */ b .L7F0DC598 -/* 110964 7F0DBE34 A1280000 */ sb $t0, ($t1) -spectrum_op_CB_3F: -/* 110968 7F0DBE38 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 11096C 7F0DBE3C 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 110970 7F0DBE40 320F0001 */ andi $t7, $s0, 1 -/* 110974 7F0DBE44 00106042 */ srl $t4, $s0, 1 -/* 110978 7F0DBE48 319000FF */ andi $s0, $t4, 0xff -/* 11097C 7F0DBE4C 2E0B0001 */ sltiu $t3, $s0, 1 -/* 110980 7F0DBE50 AFAB0048 */ sw $t3, 0x48($sp) -/* 110984 7F0DBE54 A3AF0101 */ sb $t7, 0x101($sp) -/* 110988 7F0DBE58 02186021 */ addu $t4, $s0, $t8 -/* 11098C 7F0DBE5C 91990000 */ lbu $t9, ($t4) -/* 110990 7F0DBE60 320A00A8 */ andi $t2, $s0, 0xa8 -/* 110994 7F0DBE64 01EA6825 */ or $t5, $t7, $t2 -/* 110998 7F0DBE68 000B4180 */ sll $t0, $t3, 6 -/* 11099C 7F0DBE6C 01A84825 */ or $t1, $t5, $t0 -/* 1109A0 7F0DBE70 03298825 */ or $s1, $t9, $t1 -/* 1109A4 7F0DBE74 322B00FF */ andi $t3, $s1, 0xff -/* 1109A8 7F0DBE78 100001C7 */ b .L7F0DC598 -/* 1109AC 7F0DBE7C 01608825 */ move $s1, $t3 -.L7F0DBE80: -/* 1109B0 7F0DBE80 000F50C3 */ sra $t2, $t7, 3 -/* 1109B4 7F0DBE84 31ED00C7 */ andi $t5, $t7, 0xc7 -/* 1109B8 7F0DBE88 314E0007 */ andi $t6, $t2, 7 -/* 1109BC 7F0DBE8C 29A10088 */ slti $at, $t5, 0x88 -/* 1109C0 7F0DBE90 A3AE0100 */ sb $t6, 0x100($sp) -/* 1109C4 7F0DBE94 1420000A */ bnez $at, .L7F0DBEC0 -/* 1109C8 7F0DBE98 AFAD0048 */ sw $t5, 0x48($sp) -/* 1109CC 7F0DBE9C 25A8FF40 */ addiu $t0, $t5, -0xc0 -/* 1109D0 7F0DBEA0 2D010008 */ sltiu $at, $t0, 8 -/* 1109D4 7F0DBEA4 102001BC */ beqz $at, .L7F0DC598 -/* 1109D8 7F0DBEA8 00084080 */ sll $t0, $t0, 2 -/* 1109DC 7F0DBEAC 3C018006 */ lui $at, %hi(jpt_8005C62C) -/* 1109E0 7F0DBEB0 00280821 */ addu $at, $at, $t0 -/* 1109E4 7F0DBEB4 8C28C62C */ lw $t0, %lo(jpt_8005C62C)($at) -/* 1109E8 7F0DBEB8 01000008 */ jr $t0 -/* 1109EC 7F0DBEBC 00000000 */ nop -.L7F0DBEC0: -/* 1109F0 7F0DBEC0 8FB80048 */ lw $t8, 0x48($sp) -/* 1109F4 7F0DBEC4 8FB90048 */ lw $t9, 0x48($sp) -/* 1109F8 7F0DBEC8 2B010048 */ slti $at, $t8, 0x48 -/* 1109FC 7F0DBECC 1420000A */ bnez $at, .L7F0DBEF8 -/* 110A00 7F0DBED0 2729FFC0 */ addiu $t1, $t9, -0x40 -/* 110A04 7F0DBED4 270CFF80 */ addiu $t4, $t8, -0x80 -/* 110A08 7F0DBED8 2D810008 */ sltiu $at, $t4, 8 -/* 110A0C 7F0DBEDC 102001AE */ beqz $at, .L7F0DC598 -/* 110A10 7F0DBEE0 000C6080 */ sll $t4, $t4, 2 -/* 110A14 7F0DBEE4 3C018006 */ lui $at, %hi(jpt_8005C64C) -/* 110A18 7F0DBEE8 002C0821 */ addu $at, $at, $t4 -/* 110A1C 7F0DBEEC 8C2CC64C */ lw $t4, %lo(jpt_8005C64C)($at) -/* 110A20 7F0DBEF0 01800008 */ jr $t4 -/* 110A24 7F0DBEF4 00000000 */ nop -.L7F0DBEF8: -/* 110A28 7F0DBEF8 2D210008 */ sltiu $at, $t1, 8 -/* 110A2C 7F0DBEFC 102001A6 */ beqz $at, .L7F0DC598 -/* 110A30 7F0DBF00 00094880 */ sll $t1, $t1, 2 -/* 110A34 7F0DBF04 3C018006 */ lui $at, %hi(jpt_8005C66C) -/* 110A38 7F0DBF08 00290821 */ addu $at, $at, $t1 -/* 110A3C 7F0DBF0C 8C29C66C */ lw $t1, %lo(jpt_8005C66C)($at) -/* 110A40 7F0DBF10 01200008 */ jr $t1 -/* 110A44 7F0DBF14 00000000 */ nop -spectrum_op_BIT_x_B: -/* 110A48 7F0DBF18 93AB0100 */ lbu $t3, 0x100($sp) -/* 110A4C 7F0DBF1C 240A0001 */ li $t2, 1 -/* 110A50 7F0DBF20 24080054 */ li $t0, 84 -/* 110A54 7F0DBF24 016A7004 */ sllv $t6, $t2, $t3 -/* 110A58 7F0DBF28 024E7824 */ and $t7, $s2, $t6 -/* 110A5C 7F0DBF2C 11E00003 */ beqz $t7, .L7F0DBF3C -/* 110A60 7F0DBF30 240D0010 */ li $t5, 16 -/* 110A64 7F0DBF34 10000002 */ b .L7F0DBF40 -/* 110A68 7F0DBF38 AFAD0044 */ sw $t5, 0x44($sp) -.L7F0DBF3C: -/* 110A6C 7F0DBF3C AFA80044 */ sw $t0, 0x44($sp) -.L7F0DBF40: -/* 110A70 7F0DBF40 8FB80044 */ lw $t8, 0x44($sp) -/* 110A74 7F0DBF44 322C0001 */ andi $t4, $s1, 1 -/* 110A78 7F0DBF48 32490028 */ andi $t1, $s2, 0x28 -/* 110A7C 7F0DBF4C 030CC825 */ or $t9, $t8, $t4 -/* 110A80 7F0DBF50 03298825 */ or $s1, $t9, $t1 -/* 110A84 7F0DBF54 322A00FF */ andi $t2, $s1, 0xff -/* 110A88 7F0DBF58 1000018F */ b .L7F0DC598 -/* 110A8C 7F0DBF5C 01408825 */ move $s1, $t2 -spectrum_op_BIT_x_C: -/* 110A90 7F0DBF60 93AB0100 */ lbu $t3, 0x100($sp) -/* 110A94 7F0DBF64 240E0001 */ li $t6, 1 -/* 110A98 7F0DBF68 24180054 */ li $t8, 84 -/* 110A9C 7F0DBF6C 016E7804 */ sllv $t7, $t6, $t3 -/* 110AA0 7F0DBF70 026F6824 */ and $t5, $s3, $t7 -/* 110AA4 7F0DBF74 11A00003 */ beqz $t5, .L7F0DBF84 -/* 110AA8 7F0DBF78 24080010 */ li $t0, 16 -/* 110AAC 7F0DBF7C 10000002 */ b .L7F0DBF88 -/* 110AB0 7F0DBF80 AFA80048 */ sw $t0, 0x48($sp) -.L7F0DBF84: -/* 110AB4 7F0DBF84 AFB80048 */ sw $t8, 0x48($sp) -.L7F0DBF88: -/* 110AB8 7F0DBF88 8FAC0048 */ lw $t4, 0x48($sp) -/* 110ABC 7F0DBF8C 32390001 */ andi $t9, $s1, 1 -/* 110AC0 7F0DBF90 326A0028 */ andi $t2, $s3, 0x28 -/* 110AC4 7F0DBF94 01994825 */ or $t1, $t4, $t9 -/* 110AC8 7F0DBF98 012A8825 */ or $s1, $t1, $t2 -/* 110ACC 7F0DBF9C 322E00FF */ andi $t6, $s1, 0xff -/* 110AD0 7F0DBFA0 1000017D */ b .L7F0DC598 -/* 110AD4 7F0DBFA4 01C08825 */ move $s1, $t6 -spectrum_op_BIT_x_D: -/* 110AD8 7F0DBFA8 93AB0100 */ lbu $t3, 0x100($sp) -/* 110ADC 7F0DBFAC 240F0001 */ li $t7, 1 -/* 110AE0 7F0DBFB0 240C0054 */ li $t4, 84 -/* 110AE4 7F0DBFB4 016F6804 */ sllv $t5, $t7, $t3 -/* 110AE8 7F0DBFB8 028D4024 */ and $t0, $s4, $t5 -/* 110AEC 7F0DBFBC 11000003 */ beqz $t0, .L7F0DBFCC -/* 110AF0 7F0DBFC0 24180010 */ li $t8, 16 -/* 110AF4 7F0DBFC4 10000002 */ b .L7F0DBFD0 -/* 110AF8 7F0DBFC8 AFB80048 */ sw $t8, 0x48($sp) -.L7F0DBFCC: -/* 110AFC 7F0DBFCC AFAC0048 */ sw $t4, 0x48($sp) -.L7F0DBFD0: -/* 110B00 7F0DBFD0 8FB90048 */ lw $t9, 0x48($sp) -/* 110B04 7F0DBFD4 32290001 */ andi $t1, $s1, 1 -/* 110B08 7F0DBFD8 328E0028 */ andi $t6, $s4, 0x28 -/* 110B0C 7F0DBFDC 03295025 */ or $t2, $t9, $t1 -/* 110B10 7F0DBFE0 014E8825 */ or $s1, $t2, $t6 -/* 110B14 7F0DBFE4 322F00FF */ andi $t7, $s1, 0xff -/* 110B18 7F0DBFE8 1000016B */ b .L7F0DC598 -/* 110B1C 7F0DBFEC 01E08825 */ move $s1, $t7 -spectrum_op_BIT_x_E: -/* 110B20 7F0DBFF0 93AB0100 */ lbu $t3, 0x100($sp) -/* 110B24 7F0DBFF4 240D0001 */ li $t5, 1 -/* 110B28 7F0DBFF8 24190054 */ li $t9, 84 -/* 110B2C 7F0DBFFC 016D4004 */ sllv $t0, $t5, $t3 -/* 110B30 7F0DC000 02A8C024 */ and $t8, $s5, $t0 -/* 110B34 7F0DC004 13000003 */ beqz $t8, .L7F0DC014 -/* 110B38 7F0DC008 240C0010 */ li $t4, 16 -/* 110B3C 7F0DC00C 10000002 */ b .L7F0DC018 -/* 110B40 7F0DC010 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0DC014: -/* 110B44 7F0DC014 AFB90048 */ sw $t9, 0x48($sp) -.L7F0DC018: -/* 110B48 7F0DC018 8FA90048 */ lw $t1, 0x48($sp) -/* 110B4C 7F0DC01C 322A0001 */ andi $t2, $s1, 1 -/* 110B50 7F0DC020 32AF0028 */ andi $t7, $s5, 0x28 -/* 110B54 7F0DC024 012A7025 */ or $t6, $t1, $t2 -/* 110B58 7F0DC028 01CF8825 */ or $s1, $t6, $t7 -/* 110B5C 7F0DC02C 322D00FF */ andi $t5, $s1, 0xff -/* 110B60 7F0DC030 10000159 */ b .L7F0DC598 -/* 110B64 7F0DC034 01A08825 */ move $s1, $t5 -spectrum_op_BIT_x_H: -/* 110B68 7F0DC038 93AB0100 */ lbu $t3, 0x100($sp) -/* 110B6C 7F0DC03C 24080001 */ li $t0, 1 -/* 110B70 7F0DC040 24090054 */ li $t1, 84 -/* 110B74 7F0DC044 0168C004 */ sllv $t8, $t0, $t3 -/* 110B78 7F0DC048 02D86024 */ and $t4, $s6, $t8 -/* 110B7C 7F0DC04C 11800003 */ beqz $t4, .L7F0DC05C -/* 110B80 7F0DC050 24190010 */ li $t9, 16 -/* 110B84 7F0DC054 10000002 */ b .L7F0DC060 -/* 110B88 7F0DC058 AFB90048 */ sw $t9, 0x48($sp) -.L7F0DC05C: -/* 110B8C 7F0DC05C AFA90048 */ sw $t1, 0x48($sp) -.L7F0DC060: -/* 110B90 7F0DC060 8FAA0048 */ lw $t2, 0x48($sp) -/* 110B94 7F0DC064 322E0001 */ andi $t6, $s1, 1 -/* 110B98 7F0DC068 32CD0028 */ andi $t5, $s6, 0x28 -/* 110B9C 7F0DC06C 014E7825 */ or $t7, $t2, $t6 -/* 110BA0 7F0DC070 01ED8825 */ or $s1, $t7, $t5 -/* 110BA4 7F0DC074 322800FF */ andi $t0, $s1, 0xff -/* 110BA8 7F0DC078 10000147 */ b .L7F0DC598 -/* 110BAC 7F0DC07C 01008825 */ move $s1, $t0 -spectrum_op_BIT_x_L: -/* 110BB0 7F0DC080 93AB0100 */ lbu $t3, 0x100($sp) -/* 110BB4 7F0DC084 24180001 */ li $t8, 1 -/* 110BB8 7F0DC088 240A0054 */ li $t2, 84 -/* 110BBC 7F0DC08C 01786004 */ sllv $t4, $t8, $t3 -/* 110BC0 7F0DC090 02ECC824 */ and $t9, $s7, $t4 -/* 110BC4 7F0DC094 13200003 */ beqz $t9, .L7F0DC0A4 -/* 110BC8 7F0DC098 24090010 */ li $t1, 16 -/* 110BCC 7F0DC09C 10000002 */ b .L7F0DC0A8 -/* 110BD0 7F0DC0A0 AFA90048 */ sw $t1, 0x48($sp) -.L7F0DC0A4: -/* 110BD4 7F0DC0A4 AFAA0048 */ sw $t2, 0x48($sp) -.L7F0DC0A8: -/* 110BD8 7F0DC0A8 8FAE0048 */ lw $t6, 0x48($sp) -/* 110BDC 7F0DC0AC 322F0001 */ andi $t7, $s1, 1 -/* 110BE0 7F0DC0B0 32E80028 */ andi $t0, $s7, 0x28 -/* 110BE4 7F0DC0B4 01CF6825 */ or $t5, $t6, $t7 -/* 110BE8 7F0DC0B8 01A88825 */ or $s1, $t5, $t0 -/* 110BEC 7F0DC0BC 323800FF */ andi $t8, $s1, 0xff -/* 110BF0 7F0DC0C0 10000135 */ b .L7F0DC598 -/* 110BF4 7F0DC0C4 03008825 */ move $s1, $t8 -spectrum_op_BIT_x_HL: -/* 110BF8 7F0DC0C8 8FAB028C */ lw $t3, 0x28c($sp) -/* 110BFC 7F0DC0CC 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 110C00 7F0DC0D0 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 110C04 7F0DC0D4 97B9013C */ lhu $t9, 0x13c($sp) -/* 110C08 7F0DC0D8 256C0004 */ addiu $t4, $t3, 4 -/* 110C0C 7F0DC0DC 93AF0100 */ lbu $t7, 0x100($sp) -/* 110C10 7F0DC0E0 AFAC028C */ sw $t4, 0x28c($sp) -/* 110C14 7F0DC0E4 03295021 */ addu $t2, $t9, $t1 -/* 110C18 7F0DC0E8 914E0000 */ lbu $t6, ($t2) -/* 110C1C 7F0DC0EC 240D0001 */ li $t5, 1 -/* 110C20 7F0DC0F0 01ED4004 */ sllv $t0, $t5, $t7 -/* 110C24 7F0DC0F4 01C8C024 */ and $t8, $t6, $t0 -/* 110C28 7F0DC0F8 13000004 */ beqz $t8, .L7F0DC10C -/* 110C2C 7F0DC0FC A3AE0139 */ sb $t6, 0x139($sp) -/* 110C30 7F0DC100 240B0010 */ li $t3, 16 -/* 110C34 7F0DC104 10000003 */ b .L7F0DC114 -/* 110C38 7F0DC108 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0DC10C: -/* 110C3C 7F0DC10C 240C0054 */ li $t4, 84 -/* 110C40 7F0DC110 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0DC114: -/* 110C44 7F0DC114 8FB90048 */ lw $t9, 0x48($sp) -/* 110C48 7F0DC118 93AD0139 */ lbu $t5, 0x139($sp) -/* 110C4C 7F0DC11C 97A8013C */ lhu $t0, 0x13c($sp) -/* 110C50 7F0DC120 32290001 */ andi $t1, $s1, 1 -/* 110C54 7F0DC124 03295025 */ or $t2, $t9, $t1 -/* 110C58 7F0DC128 31AF0028 */ andi $t7, $t5, 0x28 -/* 110C5C 7F0DC12C 014F8825 */ or $s1, $t2, $t7 -/* 110C60 7F0DC130 322E00FF */ andi $t6, $s1, 0xff -/* 110C64 7F0DC134 29015B00 */ slti $at, $t0, 0x5b00 -/* 110C68 7F0DC138 14200007 */ bnez $at, .L7F0DC158 -/* 110C6C 7F0DC13C 01C08825 */ move $s1, $t6 -/* 110C70 7F0DC140 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 110C74 7F0DC144 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 110C78 7F0DC148 93B80139 */ lbu $t8, 0x139($sp) -/* 110C7C 7F0DC14C 01686021 */ addu $t4, $t3, $t0 -/* 110C80 7F0DC150 10000111 */ b .L7F0DC598 -/* 110C84 7F0DC154 A1980000 */ sb $t8, ($t4) -.L7F0DC158: -/* 110C88 7F0DC158 97B9013C */ lhu $t9, 0x13c($sp) -/* 110C8C 7F0DC15C 97B8013C */ lhu $t8, 0x13c($sp) -/* 110C90 7F0DC160 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 110C94 7F0DC164 2B215800 */ slti $at, $t9, 0x5800 -/* 110C98 7F0DC168 5420000D */ bnezl $at, .L7F0DC1A0 -/* 110C9C 7F0DC16C 2B014000 */ slti $at, $t8, 0x4000 -/* 110CA0 7F0DC170 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 110CA4 7F0DC174 93A90139 */ lbu $t1, 0x139($sp) -/* 110CA8 7F0DC178 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 110CAC 7F0DC17C 01B95021 */ addu $t2, $t5, $t9 -/* 110CB0 7F0DC180 A1490000 */ sb $t1, ($t2) -/* 110CB4 7F0DC184 97AB013C */ lhu $t3, 0x13c($sp) -/* 110CB8 7F0DC188 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 110CBC 7F0DC18C 240F0001 */ li $t7, 1 -/* 110CC0 7F0DC190 01CB4021 */ addu $t0, $t6, $t3 -/* 110CC4 7F0DC194 10000100 */ b .L7F0DC598 -/* 110CC8 7F0DC198 A10FA800 */ sb $t7, -0x5800($t0) -/* 110CCC 7F0DC19C 2B014000 */ slti $at, $t8, 0x4000 -.L7F0DC1A0: -/* 110CD0 7F0DC1A0 142000FD */ bnez $at, .L7F0DC598 -/* 110CD4 7F0DC1A4 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 110CD8 7F0DC1A8 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 110CDC 7F0DC1AC 93AC0139 */ lbu $t4, 0x139($sp) -/* 110CE0 7F0DC1B0 24090001 */ li $t1, 1 -/* 110CE4 7F0DC1B4 01B8C821 */ addu $t9, $t5, $t8 -/* 110CE8 7F0DC1B8 A32C0000 */ sb $t4, ($t9) -/* 110CEC 7F0DC1BC 97AA013C */ lhu $t2, 0x13c($sp) -/* 110CF0 7F0DC1C0 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 110CF4 7F0DC1C4 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 110CF8 7F0DC1C8 314E1800 */ andi $t6, $t2, 0x1800 -/* 110CFC 7F0DC1CC 000E58C3 */ sra $t3, $t6, 3 -/* 110D00 7F0DC1D0 314F00FF */ andi $t7, $t2, 0xff -/* 110D04 7F0DC1D4 016F4025 */ or $t0, $t3, $t7 -/* 110D08 7F0DC1D8 01A8C021 */ addu $t8, $t5, $t0 -/* 110D0C 7F0DC1DC 100000EE */ b .L7F0DC598 -/* 110D10 7F0DC1E0 A3090000 */ sb $t1, ($t8) -spectrum_op_BIT_x_A: -/* 110D14 7F0DC1E4 93AC0100 */ lbu $t4, 0x100($sp) -/* 110D18 7F0DC1E8 24190001 */ li $t9, 1 -/* 110D1C 7F0DC1EC 240F0054 */ li $t7, 84 -/* 110D20 7F0DC1F0 01997004 */ sllv $t6, $t9, $t4 -/* 110D24 7F0DC1F4 020E5024 */ and $t2, $s0, $t6 -/* 110D28 7F0DC1F8 11400003 */ beqz $t2, .L7F0DC208 -/* 110D2C 7F0DC1FC 240B0010 */ li $t3, 16 -/* 110D30 7F0DC200 10000002 */ b .L7F0DC20C -/* 110D34 7F0DC204 AFAB0048 */ sw $t3, 0x48($sp) -.L7F0DC208: -/* 110D38 7F0DC208 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0DC20C: -/* 110D3C 7F0DC20C 8FAD0048 */ lw $t5, 0x48($sp) -/* 110D40 7F0DC210 32280001 */ andi $t0, $s1, 1 -/* 110D44 7F0DC214 32180028 */ andi $t8, $s0, 0x28 -/* 110D48 7F0DC218 01A84825 */ or $t1, $t5, $t0 -/* 110D4C 7F0DC21C 01388825 */ or $s1, $t1, $t8 -/* 110D50 7F0DC220 323900FF */ andi $t9, $s1, 0xff -/* 110D54 7F0DC224 100000DC */ b .L7F0DC598 -/* 110D58 7F0DC228 03208825 */ move $s1, $t9 -spectrum_op_RES_x_B: -/* 110D5C 7F0DC22C 93AC0100 */ lbu $t4, 0x100($sp) -/* 110D60 7F0DC230 240E0001 */ li $t6, 1 -/* 110D64 7F0DC234 018E5004 */ sllv $t2, $t6, $t4 -/* 110D68 7F0DC238 01405827 */ not $t3, $t2 -/* 110D6C 7F0DC23C 024B9024 */ and $s2, $s2, $t3 -/* 110D70 7F0DC240 324F00FF */ andi $t7, $s2, 0xff -/* 110D74 7F0DC244 100000D4 */ b .L7F0DC598 -/* 110D78 7F0DC248 01E09025 */ move $s2, $t7 -spectrum_op_RES_x_C: -/* 110D7C 7F0DC24C 93AD0100 */ lbu $t5, 0x100($sp) -/* 110D80 7F0DC250 24080001 */ li $t0, 1 -/* 110D84 7F0DC254 01A84804 */ sllv $t1, $t0, $t5 -/* 110D88 7F0DC258 0120C027 */ not $t8, $t1 -/* 110D8C 7F0DC25C 02789824 */ and $s3, $s3, $t8 -/* 110D90 7F0DC260 327900FF */ andi $t9, $s3, 0xff -/* 110D94 7F0DC264 100000CC */ b .L7F0DC598 -/* 110D98 7F0DC268 03209825 */ move $s3, $t9 -spectrum_op_RES_x_D: -/* 110D9C 7F0DC26C 93AE0100 */ lbu $t6, 0x100($sp) -/* 110DA0 7F0DC270 240C0001 */ li $t4, 1 -/* 110DA4 7F0DC274 01CC5004 */ sllv $t2, $t4, $t6 -/* 110DA8 7F0DC278 01405827 */ not $t3, $t2 -/* 110DAC 7F0DC27C 028BA024 */ and $s4, $s4, $t3 -/* 110DB0 7F0DC280 328F00FF */ andi $t7, $s4, 0xff -/* 110DB4 7F0DC284 100000C4 */ b .L7F0DC598 -/* 110DB8 7F0DC288 01E0A025 */ move $s4, $t7 -spectrum_op_RES_x_E: -/* 110DBC 7F0DC28C 93A80100 */ lbu $t0, 0x100($sp) -/* 110DC0 7F0DC290 240D0001 */ li $t5, 1 -/* 110DC4 7F0DC294 010D4804 */ sllv $t1, $t5, $t0 -/* 110DC8 7F0DC298 0120C027 */ not $t8, $t1 -/* 110DCC 7F0DC29C 02B8A824 */ and $s5, $s5, $t8 -/* 110DD0 7F0DC2A0 32B900FF */ andi $t9, $s5, 0xff -/* 110DD4 7F0DC2A4 100000BC */ b .L7F0DC598 -/* 110DD8 7F0DC2A8 0320A825 */ move $s5, $t9 -spectrum_op_RES_x_H: -/* 110DDC 7F0DC2AC 93AC0100 */ lbu $t4, 0x100($sp) -/* 110DE0 7F0DC2B0 240E0001 */ li $t6, 1 -/* 110DE4 7F0DC2B4 018E5004 */ sllv $t2, $t6, $t4 -/* 110DE8 7F0DC2B8 01405827 */ not $t3, $t2 -/* 110DEC 7F0DC2BC 02CBB024 */ and $s6, $s6, $t3 -/* 110DF0 7F0DC2C0 32CF00FF */ andi $t7, $s6, 0xff -/* 110DF4 7F0DC2C4 100000B4 */ b .L7F0DC598 -/* 110DF8 7F0DC2C8 01E0B025 */ move $s6, $t7 -spectrum_op_RES_x_L: -/* 110DFC 7F0DC2CC 93AD0100 */ lbu $t5, 0x100($sp) -/* 110E00 7F0DC2D0 24080001 */ li $t0, 1 -/* 110E04 7F0DC2D4 01A84804 */ sllv $t1, $t0, $t5 -/* 110E08 7F0DC2D8 0120C027 */ not $t8, $t1 -/* 110E0C 7F0DC2DC 02F8B824 */ and $s7, $s7, $t8 -/* 110E10 7F0DC2E0 32F900FF */ andi $t9, $s7, 0xff -/* 110E14 7F0DC2E4 100000AC */ b .L7F0DC598 -/* 110E18 7F0DC2E8 0320B825 */ move $s7, $t9 -spectrum_op_RES_x_HL: -/* 110E1C 7F0DC2EC 8FAE028C */ lw $t6, 0x28c($sp) -/* 110E20 7F0DC2F0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 110E24 7F0DC2F4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 110E28 7F0DC2F8 97AA013C */ lhu $t2, 0x13c($sp) -/* 110E2C 7F0DC2FC 25CC0004 */ addiu $t4, $t6, 4 -/* 110E30 7F0DC300 93AD0100 */ lbu $t5, 0x100($sp) -/* 110E34 7F0DC304 AFAC028C */ sw $t4, 0x28c($sp) -/* 110E38 7F0DC308 014B7821 */ addu $t7, $t2, $t3 -/* 110E3C 7F0DC30C 91E80000 */ lbu $t0, ($t7) -/* 110E40 7F0DC310 97AC013C */ lhu $t4, 0x13c($sp) -/* 110E44 7F0DC314 24090001 */ li $t1, 1 -/* 110E48 7F0DC318 01A9C004 */ sllv $t8, $t1, $t5 -/* 110E4C 7F0DC31C 0300C827 */ not $t9, $t8 -/* 110E50 7F0DC320 01197024 */ and $t6, $t0, $t9 -/* 110E54 7F0DC324 A3A80139 */ sb $t0, 0x139($sp) -/* 110E58 7F0DC328 29815B00 */ slti $at, $t4, 0x5b00 -/* 110E5C 7F0DC32C 14200006 */ bnez $at, .L7F0DC348 -/* 110E60 7F0DC330 A3AE0139 */ sb $t6, 0x139($sp) -/* 110E64 7F0DC334 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 110E68 7F0DC338 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 110E6C 7F0DC33C 016C7821 */ addu $t7, $t3, $t4 -/* 110E70 7F0DC340 10000095 */ b .L7F0DC598 -/* 110E74 7F0DC344 A1EE0000 */ sb $t6, ($t7) -.L7F0DC348: -/* 110E78 7F0DC348 97A9013C */ lhu $t1, 0x13c($sp) -/* 110E7C 7F0DC34C 97AA013C */ lhu $t2, 0x13c($sp) -/* 110E80 7F0DC350 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 110E84 7F0DC354 29215800 */ slti $at, $t1, 0x5800 -/* 110E88 7F0DC358 5420000D */ bnezl $at, .L7F0DC390 -/* 110E8C 7F0DC35C 29414000 */ slti $at, $t2, 0x4000 -/* 110E90 7F0DC360 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 110E94 7F0DC364 93AD0139 */ lbu $t5, 0x139($sp) -/* 110E98 7F0DC368 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 110E9C 7F0DC36C 03094021 */ addu $t0, $t8, $t1 -/* 110EA0 7F0DC370 A10D0000 */ sb $t5, ($t0) -/* 110EA4 7F0DC374 97AB013C */ lhu $t3, 0x13c($sp) -/* 110EA8 7F0DC378 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 110EAC 7F0DC37C 24190001 */ li $t9, 1 -/* 110EB0 7F0DC380 01CB6021 */ addu $t4, $t6, $t3 -/* 110EB4 7F0DC384 10000084 */ b .L7F0DC598 -/* 110EB8 7F0DC388 A199A800 */ sb $t9, -0x5800($t4) -/* 110EBC 7F0DC38C 29414000 */ slti $at, $t2, 0x4000 -.L7F0DC390: -/* 110EC0 7F0DC390 14200081 */ bnez $at, .L7F0DC598 -/* 110EC4 7F0DC394 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 110EC8 7F0DC398 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 110ECC 7F0DC39C 93AF0139 */ lbu $t7, 0x139($sp) -/* 110ED0 7F0DC3A0 240D0001 */ li $t5, 1 -/* 110ED4 7F0DC3A4 030A4821 */ addu $t1, $t8, $t2 -/* 110ED8 7F0DC3A8 A12F0000 */ sb $t7, ($t1) -/* 110EDC 7F0DC3AC 97A8013C */ lhu $t0, 0x13c($sp) -/* 110EE0 7F0DC3B0 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 110EE4 7F0DC3B4 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 110EE8 7F0DC3B8 310E1800 */ andi $t6, $t0, 0x1800 -/* 110EEC 7F0DC3BC 000E58C3 */ sra $t3, $t6, 3 -/* 110EF0 7F0DC3C0 311900FF */ andi $t9, $t0, 0xff -/* 110EF4 7F0DC3C4 01796025 */ or $t4, $t3, $t9 -/* 110EF8 7F0DC3C8 030C5021 */ addu $t2, $t8, $t4 -/* 110EFC 7F0DC3CC 10000072 */ b .L7F0DC598 -/* 110F00 7F0DC3D0 A14D0000 */ sb $t5, ($t2) -spectrum_op_RES_x_A: -/* 110F04 7F0DC3D4 93AF0100 */ lbu $t7, 0x100($sp) -/* 110F08 7F0DC3D8 24090001 */ li $t1, 1 -/* 110F0C 7F0DC3DC 01E97004 */ sllv $t6, $t1, $t7 -/* 110F10 7F0DC3E0 01C04027 */ not $t0, $t6 -/* 110F14 7F0DC3E4 02088024 */ and $s0, $s0, $t0 -/* 110F18 7F0DC3E8 320B00FF */ andi $t3, $s0, 0xff -/* 110F1C 7F0DC3EC 1000006A */ b .L7F0DC598 -/* 110F20 7F0DC3F0 01608025 */ move $s0, $t3 -spectrum_op_SET_x_B: -/* 110F24 7F0DC3F4 93B90100 */ lbu $t9, 0x100($sp) -/* 110F28 7F0DC3F8 24180001 */ li $t8, 1 -/* 110F2C 7F0DC3FC 03386004 */ sllv $t4, $t8, $t9 -/* 110F30 7F0DC400 024C9025 */ or $s2, $s2, $t4 -/* 110F34 7F0DC404 324D00FF */ andi $t5, $s2, 0xff -/* 110F38 7F0DC408 10000063 */ b .L7F0DC598 -/* 110F3C 7F0DC40C 01A09025 */ move $s2, $t5 -spectrum_op_SET_x_C: -/* 110F40 7F0DC410 93AA0100 */ lbu $t2, 0x100($sp) -/* 110F44 7F0DC414 24090001 */ li $t1, 1 -/* 110F48 7F0DC418 01497804 */ sllv $t7, $t1, $t2 -/* 110F4C 7F0DC41C 026F9825 */ or $s3, $s3, $t7 -/* 110F50 7F0DC420 326E00FF */ andi $t6, $s3, 0xff -/* 110F54 7F0DC424 1000005C */ b .L7F0DC598 -/* 110F58 7F0DC428 01C09825 */ move $s3, $t6 -spectrum_op_SET_x_D: -/* 110F5C 7F0DC42C 93A80100 */ lbu $t0, 0x100($sp) -/* 110F60 7F0DC430 240B0001 */ li $t3, 1 -/* 110F64 7F0DC434 010BC004 */ sllv $t8, $t3, $t0 -/* 110F68 7F0DC438 0298A025 */ or $s4, $s4, $t8 -/* 110F6C 7F0DC43C 329900FF */ andi $t9, $s4, 0xff -/* 110F70 7F0DC440 10000055 */ b .L7F0DC598 -/* 110F74 7F0DC444 0320A025 */ move $s4, $t9 -spectrum_op_SET_x_E: -/* 110F78 7F0DC448 93AC0100 */ lbu $t4, 0x100($sp) -/* 110F7C 7F0DC44C 240D0001 */ li $t5, 1 -/* 110F80 7F0DC450 018D4804 */ sllv $t1, $t5, $t4 -/* 110F84 7F0DC454 02A9A825 */ or $s5, $s5, $t1 -/* 110F88 7F0DC458 32AA00FF */ andi $t2, $s5, 0xff -/* 110F8C 7F0DC45C 1000004E */ b .L7F0DC598 -/* 110F90 7F0DC460 0140A825 */ move $s5, $t2 -spectrum_op_SET_x_H: -/* 110F94 7F0DC464 93AF0100 */ lbu $t7, 0x100($sp) -/* 110F98 7F0DC468 240E0001 */ li $t6, 1 -/* 110F9C 7F0DC46C 01EE5804 */ sllv $t3, $t6, $t7 -/* 110FA0 7F0DC470 02CBB025 */ or $s6, $s6, $t3 -/* 110FA4 7F0DC474 32C800FF */ andi $t0, $s6, 0xff -/* 110FA8 7F0DC478 10000047 */ b .L7F0DC598 -/* 110FAC 7F0DC47C 0100B025 */ move $s6, $t0 -spectrum_op_SET_x_L: -/* 110FB0 7F0DC480 93B80100 */ lbu $t8, 0x100($sp) -/* 110FB4 7F0DC484 24190001 */ li $t9, 1 -/* 110FB8 7F0DC488 03196804 */ sllv $t5, $t9, $t8 -/* 110FBC 7F0DC48C 02EDB825 */ or $s7, $s7, $t5 -/* 110FC0 7F0DC490 32EC00FF */ andi $t4, $s7, 0xff -/* 110FC4 7F0DC494 10000040 */ b .L7F0DC598 -/* 110FC8 7F0DC498 0180B825 */ move $s7, $t4 -spectrum_op_SET_x_HL: -/* 110FCC 7F0DC49C 8FA9028C */ lw $t1, 0x28c($sp) -/* 110FD0 7F0DC4A0 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 110FD4 7F0DC4A4 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 110FD8 7F0DC4A8 97AE013C */ lhu $t6, 0x13c($sp) -/* 110FDC 7F0DC4AC 252A0004 */ addiu $t2, $t1, 4 -/* 110FE0 7F0DC4B0 AFAA028C */ sw $t2, 0x28c($sp) -/* 110FE4 7F0DC4B4 01CF5821 */ addu $t3, $t6, $t7 -/* 110FE8 7F0DC4B8 91680000 */ lbu $t0, ($t3) -/* 110FEC 7F0DC4BC 93B90100 */ lbu $t9, 0x100($sp) -/* 110FF0 7F0DC4C0 97A9013C */ lhu $t1, 0x13c($sp) -/* 110FF4 7F0DC4C4 24180001 */ li $t8, 1 -/* 110FF8 7F0DC4C8 03386804 */ sllv $t5, $t8, $t9 -/* 110FFC 7F0DC4CC 010D6025 */ or $t4, $t0, $t5 -/* 111000 7F0DC4D0 A3A80139 */ sb $t0, 0x139($sp) -/* 111004 7F0DC4D4 29215B00 */ slti $at, $t1, 0x5b00 -/* 111008 7F0DC4D8 14200006 */ bnez $at, .L7F0DC4F4 -/* 11100C 7F0DC4DC A3AC0139 */ sb $t4, 0x139($sp) -/* 111010 7F0DC4E0 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 111014 7F0DC4E4 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 111018 7F0DC4E8 01C97821 */ addu $t7, $t6, $t1 -/* 11101C 7F0DC4EC 1000002A */ b .L7F0DC598 -/* 111020 7F0DC4F0 A1EC0000 */ sb $t4, ($t7) -.L7F0DC4F4: -/* 111024 7F0DC4F4 97AB013C */ lhu $t3, 0x13c($sp) -/* 111028 7F0DC4F8 97AA013C */ lhu $t2, 0x13c($sp) -/* 11102C 7F0DC4FC 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 111030 7F0DC500 29615800 */ slti $at, $t3, 0x5800 -/* 111034 7F0DC504 5420000D */ bnezl $at, .L7F0DC53C -/* 111038 7F0DC508 29414000 */ slti $at, $t2, 0x4000 -/* 11103C 7F0DC50C 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 111040 7F0DC510 93B80139 */ lbu $t8, 0x139($sp) -/* 111044 7F0DC514 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 111048 7F0DC518 032B4021 */ addu $t0, $t9, $t3 -/* 11104C 7F0DC51C A1180000 */ sb $t8, ($t0) -/* 111050 7F0DC520 97AE013C */ lhu $t6, 0x13c($sp) -/* 111054 7F0DC524 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 111058 7F0DC528 240D0001 */ li $t5, 1 -/* 11105C 7F0DC52C 018E4821 */ addu $t1, $t4, $t6 -/* 111060 7F0DC530 10000019 */ b .L7F0DC598 -/* 111064 7F0DC534 A12DA800 */ sb $t5, -0x5800($t1) -/* 111068 7F0DC538 29414000 */ slti $at, $t2, 0x4000 -.L7F0DC53C: -/* 11106C 7F0DC53C 14200016 */ bnez $at, .L7F0DC598 -/* 111070 7F0DC540 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 111074 7F0DC544 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 111078 7F0DC548 93AF0139 */ lbu $t7, 0x139($sp) -/* 11107C 7F0DC54C 24180001 */ li $t8, 1 -/* 111080 7F0DC550 032A5821 */ addu $t3, $t9, $t2 -/* 111084 7F0DC554 A16F0000 */ sb $t7, ($t3) -/* 111088 7F0DC558 97A8013C */ lhu $t0, 0x13c($sp) -/* 11108C 7F0DC55C 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 111090 7F0DC560 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 111094 7F0DC564 310C1800 */ andi $t4, $t0, 0x1800 -/* 111098 7F0DC568 000C70C3 */ sra $t6, $t4, 3 -/* 11109C 7F0DC56C 310D00FF */ andi $t5, $t0, 0xff -/* 1110A0 7F0DC570 01CD4825 */ or $t1, $t6, $t5 -/* 1110A4 7F0DC574 03295021 */ addu $t2, $t9, $t1 -/* 1110A8 7F0DC578 10000007 */ b .L7F0DC598 -/* 1110AC 7F0DC57C A1580000 */ sb $t8, ($t2) -spectrum_op_SET_x_A: -/* 1110B0 7F0DC580 93AF0100 */ lbu $t7, 0x100($sp) -/* 1110B4 7F0DC584 240B0001 */ li $t3, 1 -/* 1110B8 7F0DC588 01EB6004 */ sllv $t4, $t3, $t7 -/* 1110BC 7F0DC58C 020C8025 */ or $s0, $s0, $t4 -/* 1110C0 7F0DC590 320800FF */ andi $t0, $s0, 0xff -/* 1110C4 7F0DC594 01008025 */ move $s0, $t0 -.L7F0DC598: -/* 1110C8 7F0DC598 93AE0287 */ lbu $t6, 0x287($sp) -/* 1110CC 7F0DC59C 93AD013A */ lbu $t5, 0x13a($sp) -/* 1110D0 7F0DC5A0 11C01896 */ beqz $t6, .L7F0E27FC -/* 1110D4 7F0DC5A4 2DA10008 */ sltiu $at, $t5, 8 -/* 1110D8 7F0DC5A8 10201894 */ beqz $at, .L7F0E27FC -/* 1110DC 7F0DC5AC 000D6880 */ sll $t5, $t5, 2 -/* 1110E0 7F0DC5B0 3C018006 */ lui $at, %hi(jpt_8005C68C) -/* 1110E4 7F0DC5B4 002D0821 */ addu $at, $at, $t5 -/* 1110E8 7F0DC5B8 8C2DC68C */ lw $t5, %lo(jpt_8005C68C)($at) -.L7F0DC5BC: -/* 1110EC 7F0DC5BC 01A00008 */ jr $t5 -/* 1110F0 7F0DC5C0 00000000 */ nop -.L7F0DC5C4: -/* 1110F4 7F0DC5C4 1000188D */ b .L7F0E27FC -/* 1110F8 7F0DC5C8 93B20139 */ lbu $s2, 0x139($sp) -.L7F0DC5CC: -/* 1110FC 7F0DC5CC 1000188B */ b .L7F0E27FC -/* 111100 7F0DC5D0 93B30139 */ lbu $s3, 0x139($sp) -.L7F0DC5D4: -/* 111104 7F0DC5D4 10001889 */ b .L7F0E27FC -/* 111108 7F0DC5D8 93B40139 */ lbu $s4, 0x139($sp) -.L7F0DC5DC: -/* 11110C 7F0DC5DC 10001887 */ b .L7F0E27FC -/* 111110 7F0DC5E0 93B50139 */ lbu $s5, 0x139($sp) -.L7F0DC5E4: -/* 111114 7F0DC5E4 10001885 */ b .L7F0E27FC -/* 111118 7F0DC5E8 93B60139 */ lbu $s6, 0x139($sp) -.L7F0DC5EC: -/* 11111C 7F0DC5EC 10001883 */ b .L7F0E27FC -/* 111120 7F0DC5F0 93B70139 */ lbu $s7, 0x139($sp) -.L7F0DC5F4: -/* 111124 7F0DC5F4 10001881 */ b .L7F0E27FC -/* 111128 7F0DC5F8 93B00139 */ lbu $s0, 0x139($sp) -spectrum_op_CC: -/* 11112C 7F0DC5FC 8FB9028C */ lw $t9, 0x28c($sp) -/* 111130 7F0DC600 32380040 */ andi $t8, $s1, 0x40 -/* 111134 7F0DC604 2729000A */ addiu $t1, $t9, 0xa -/* 111138 7F0DC608 13000072 */ beqz $t8, .L7F0DC7D4 -/* 11113C 7F0DC60C AFA9028C */ sw $t1, 0x28c($sp) -/* 111140 7F0DC610 97AF0292 */ lhu $t7, 0x292($sp) -/* 111144 7F0DC614 252B0007 */ addiu $t3, $t1, 7 -/* 111148 7F0DC618 AFAB028C */ sw $t3, 0x28c($sp) -/* 11114C 7F0DC61C 25ECFFFE */ addiu $t4, $t7, -2 -/* 111150 7F0DC620 3188FFFF */ andi $t0, $t4, 0xffff -/* 111154 7F0DC624 29015B00 */ slti $at, $t0, 0x5b00 -/* 111158 7F0DC628 14200008 */ bnez $at, .L7F0DC64C -/* 11115C 7F0DC62C A7AC0292 */ sh $t4, 0x292($sp) -/* 111160 7F0DC630 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 111164 7F0DC634 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 111168 7F0DC638 97AE0298 */ lhu $t6, 0x298($sp) -/* 11116C 7F0DC63C 03284821 */ addu $t1, $t9, $t0 -/* 111170 7F0DC640 25CD0002 */ addiu $t5, $t6, 2 -/* 111174 7F0DC644 10000024 */ b .L7F0DC6D8 -/* 111178 7F0DC648 A12D0000 */ sb $t5, ($t1) -.L7F0DC64C: -/* 11117C 7F0DC64C 97B80292 */ lhu $t8, 0x292($sp) -/* 111180 7F0DC650 97A90292 */ lhu $t1, 0x292($sp) -/* 111184 7F0DC654 97AA0298 */ lhu $t2, 0x298($sp) -/* 111188 7F0DC658 2B015800 */ slti $at, $t8, 0x5800 -/* 11118C 7F0DC65C 1420000C */ bnez $at, .L7F0DC690 -/* 111190 7F0DC660 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 111194 7F0DC664 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 111198 7F0DC668 254B0002 */ addiu $t3, $t2, 2 -/* 11119C 7F0DC66C 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 1111A0 7F0DC670 01F86021 */ addu $t4, $t7, $t8 -/* 1111A4 7F0DC674 A18B0000 */ sb $t3, ($t4) -/* 1111A8 7F0DC678 97A80292 */ lhu $t0, 0x292($sp) -/* 1111AC 7F0DC67C 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 1111B0 7F0DC680 240E0001 */ li $t6, 1 -/* 1111B4 7F0DC684 03286821 */ addu $t5, $t9, $t0 -/* 1111B8 7F0DC688 10000013 */ b .L7F0DC6D8 -/* 1111BC 7F0DC68C A1AEA800 */ sb $t6, -0x5800($t5) -.L7F0DC690: -/* 1111C0 7F0DC690 29214000 */ slti $at, $t1, 0x4000 -/* 1111C4 7F0DC694 14200010 */ bnez $at, .L7F0DC6D8 -/* 1111C8 7F0DC698 97AA0298 */ lhu $t2, 0x298($sp) -/* 1111CC 7F0DC69C 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1111D0 7F0DC6A0 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 1111D4 7F0DC6A4 254F0002 */ addiu $t7, $t2, 2 -/* 1111D8 7F0DC6A8 240C0001 */ li $t4, 1 -/* 1111DC 7F0DC6AC 03095821 */ addu $t3, $t8, $t1 -/* 1111E0 7F0DC6B0 A16F0000 */ sb $t7, ($t3) -/* 1111E4 7F0DC6B4 97B90292 */ lhu $t9, 0x292($sp) -/* 1111E8 7F0DC6B8 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 1111EC 7F0DC6BC 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 1111F0 7F0DC6C0 33281800 */ andi $t0, $t9, 0x1800 -/* 1111F4 7F0DC6C4 000870C3 */ sra $t6, $t0, 3 -/* 1111F8 7F0DC6C8 332D00FF */ andi $t5, $t9, 0xff -/* 1111FC 7F0DC6CC 01CD5025 */ or $t2, $t6, $t5 -/* 111200 7F0DC6D0 030A4821 */ addu $t1, $t8, $t2 -/* 111204 7F0DC6D4 A12C0000 */ sb $t4, ($t1) -.L7F0DC6D8: -/* 111208 7F0DC6D8 97AF0292 */ lhu $t7, 0x292($sp) -/* 11120C 7F0DC6DC 97AA0292 */ lhu $t2, 0x292($sp) -/* 111210 7F0DC6E0 97A80298 */ lhu $t0, 0x298($sp) -/* 111214 7F0DC6E4 25EB0001 */ addiu $t3, $t7, 1 -/* 111218 7F0DC6E8 29615B00 */ slti $at, $t3, 0x5b00 -/* 11121C 7F0DC6EC 14200008 */ bnez $at, .L7F0DC710 -/* 111220 7F0DC6F0 254C0001 */ addiu $t4, $t2, 1 -/* 111224 7F0DC6F4 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 111228 7F0DC6F8 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 11122C 7F0DC6FC 25190002 */ addiu $t9, $t0, 2 -/* 111230 7F0DC700 00197203 */ sra $t6, $t9, 8 -/* 111234 7F0DC704 01AFC021 */ addu $t8, $t5, $t7 -/* 111238 7F0DC708 10000027 */ b .L7F0DC7A8 -/* 11123C 7F0DC70C A30E0001 */ sb $t6, 1($t8) -.L7F0DC710: -/* 111240 7F0DC710 29815800 */ slti $at, $t4, 0x5800 -/* 111244 7F0DC714 1420000F */ bnez $at, .L7F0DC754 -/* 111248 7F0DC718 97A90292 */ lhu $t1, 0x292($sp) -/* 11124C 7F0DC71C 97A90298 */ lhu $t1, 0x298($sp) -/* 111250 7F0DC720 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 111254 7F0DC724 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 111258 7F0DC728 252B0002 */ addiu $t3, $t1, 2 -/* 11125C 7F0DC72C 000B4203 */ sra $t0, $t3, 8 -/* 111260 7F0DC730 032A6821 */ addu $t5, $t9, $t2 -/* 111264 7F0DC734 A1A80001 */ sb $t0, 1($t5) -/* 111268 7F0DC738 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 11126C 7F0DC73C 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 111270 7F0DC740 97B80292 */ lhu $t8, 0x292($sp) -/* 111274 7F0DC744 240F0001 */ li $t7, 1 -/* 111278 7F0DC748 01D86021 */ addu $t4, $t6, $t8 -/* 11127C 7F0DC74C 10000016 */ b .L7F0DC7A8 -/* 111280 7F0DC750 A18FA801 */ sb $t7, -0x57ff($t4) -.L7F0DC754: -/* 111284 7F0DC754 252B0001 */ addiu $t3, $t1, 1 -/* 111288 7F0DC758 29614000 */ slti $at, $t3, 0x4000 -/* 11128C 7F0DC75C 14200012 */ bnez $at, .L7F0DC7A8 -/* 111290 7F0DC760 97B90298 */ lhu $t9, 0x298($sp) -/* 111294 7F0DC764 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 111298 7F0DC768 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 11129C 7F0DC76C 272A0002 */ addiu $t2, $t9, 2 -/* 1112A0 7F0DC770 000A4203 */ sra $t0, $t2, 8 -/* 1112A4 7F0DC774 01A97021 */ addu $t6, $t5, $t1 -/* 1112A8 7F0DC778 A1C80001 */ sb $t0, 1($t6) -/* 1112AC 7F0DC77C 97AF0292 */ lhu $t7, 0x292($sp) -/* 1112B0 7F0DC780 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 1112B4 7F0DC784 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 1112B8 7F0DC788 25EC0001 */ addiu $t4, $t7, 1 -/* 1112BC 7F0DC78C 318B1800 */ andi $t3, $t4, 0x1800 -/* 1112C0 7F0DC790 000BC8C3 */ sra $t9, $t3, 3 -/* 1112C4 7F0DC794 318A00FF */ andi $t2, $t4, 0xff -/* 1112C8 7F0DC798 032A6825 */ or $t5, $t9, $t2 -/* 1112CC 7F0DC79C 24180001 */ li $t8, 1 -/* 1112D0 7F0DC7A0 012D4021 */ addu $t0, $t1, $t5 -/* 1112D4 7F0DC7A4 A1180000 */ sb $t8, ($t0) -.L7F0DC7A8: -/* 1112D8 7F0DC7A8 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1112DC 7F0DC7AC 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1112E0 7F0DC7B0 97AE0298 */ lhu $t6, 0x298($sp) -/* 1112E4 7F0DC7B4 01EEC821 */ addu $t9, $t7, $t6 -/* 1112E8 7F0DC7B8 932A0001 */ lbu $t2, 1($t9) -/* 1112EC 7F0DC7BC 01CF5821 */ addu $t3, $t6, $t7 -/* 1112F0 7F0DC7C0 916C0000 */ lbu $t4, ($t3) -/* 1112F4 7F0DC7C4 000A4A00 */ sll $t1, $t2, 8 -/* 1112F8 7F0DC7C8 01896825 */ or $t5, $t4, $t1 -/* 1112FC 7F0DC7CC 1000180B */ b .L7F0E27FC -/* 111300 7F0DC7D0 A7AD0298 */ sh $t5, 0x298($sp) -.L7F0DC7D4: -/* 111304 7F0DC7D4 97B80298 */ lhu $t8, 0x298($sp) -/* 111308 7F0DC7D8 27080002 */ addiu $t0, $t8, 2 -/* 11130C 7F0DC7DC 10001807 */ b .L7F0E27FC -/* 111310 7F0DC7E0 A7A80298 */ sh $t0, 0x298($sp) -spectrum_op_CD: -/* 111314 7F0DC7E4 8FAB028C */ lw $t3, 0x28c($sp) -/* 111318 7F0DC7E8 97AA0292 */ lhu $t2, 0x292($sp) -/* 11131C 7F0DC7EC 97AD0298 */ lhu $t5, 0x298($sp) -/* 111320 7F0DC7F0 256F000A */ addiu $t7, $t3, 0xa -/* 111324 7F0DC7F4 254CFFFE */ addiu $t4, $t2, -2 -/* 111328 7F0DC7F8 3189FFFF */ andi $t1, $t4, 0xffff -/* 11132C 7F0DC7FC AFAF028C */ sw $t7, 0x28c($sp) -/* 111330 7F0DC800 29215B00 */ slti $at, $t1, 0x5b00 -/* 111334 7F0DC804 25F90007 */ addiu $t9, $t7, 7 -/* 111338 7F0DC808 AFB9028C */ sw $t9, 0x28c($sp) -/* 11133C 7F0DC80C 14200007 */ bnez $at, .L7F0DC82C -/* 111340 7F0DC810 A7AC0292 */ sh $t4, 0x292($sp) -/* 111344 7F0DC814 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 111348 7F0DC818 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 11134C 7F0DC81C 25B80002 */ addiu $t8, $t5, 2 -/* 111350 7F0DC820 01095821 */ addu $t3, $t0, $t1 -/* 111354 7F0DC824 10000024 */ b .L7F0DC8B8 -/* 111358 7F0DC828 A1780000 */ sb $t8, ($t3) -.L7F0DC82C: -/* 11135C 7F0DC82C 97AF0292 */ lhu $t7, 0x292($sp) -/* 111360 7F0DC830 97AB0292 */ lhu $t3, 0x292($sp) -/* 111364 7F0DC834 97AE0298 */ lhu $t6, 0x298($sp) -/* 111368 7F0DC838 29E15800 */ slti $at, $t7, 0x5800 -/* 11136C 7F0DC83C 1420000C */ bnez $at, .L7F0DC870 -/* 111370 7F0DC840 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 111374 7F0DC844 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 111378 7F0DC848 25D90002 */ addiu $t9, $t6, 2 -/* 11137C 7F0DC84C 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 111380 7F0DC850 014F6021 */ addu $t4, $t2, $t7 -/* 111384 7F0DC854 A1990000 */ sb $t9, ($t4) -/* 111388 7F0DC858 97A90292 */ lhu $t1, 0x292($sp) -/* 11138C 7F0DC85C 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 111390 7F0DC860 240D0001 */ li $t5, 1 -/* 111394 7F0DC864 0109C021 */ addu $t8, $t0, $t1 -/* 111398 7F0DC868 10000013 */ b .L7F0DC8B8 -/* 11139C 7F0DC86C A30DA800 */ sb $t5, -0x5800($t8) -.L7F0DC870: -/* 1113A0 7F0DC870 29614000 */ slti $at, $t3, 0x4000 -/* 1113A4 7F0DC874 14200010 */ bnez $at, .L7F0DC8B8 -/* 1113A8 7F0DC878 97AE0298 */ lhu $t6, 0x298($sp) -/* 1113AC 7F0DC87C 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1113B0 7F0DC880 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1113B4 7F0DC884 25CA0002 */ addiu $t2, $t6, 2 -/* 1113B8 7F0DC888 240C0001 */ li $t4, 1 -/* 1113BC 7F0DC88C 01EBC821 */ addu $t9, $t7, $t3 -/* 1113C0 7F0DC890 A32A0000 */ sb $t2, ($t9) -/* 1113C4 7F0DC894 97A80292 */ lhu $t0, 0x292($sp) -/* 1113C8 7F0DC898 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 1113CC 7F0DC89C 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 1113D0 7F0DC8A0 31091800 */ andi $t1, $t0, 0x1800 -/* 1113D4 7F0DC8A4 000968C3 */ sra $t5, $t1, 3 -/* 1113D8 7F0DC8A8 311800FF */ andi $t8, $t0, 0xff -/* 1113DC 7F0DC8AC 01B87025 */ or $t6, $t5, $t8 -/* 1113E0 7F0DC8B0 01EE5821 */ addu $t3, $t7, $t6 -/* 1113E4 7F0DC8B4 A16C0000 */ sb $t4, ($t3) -.L7F0DC8B8: -/* 1113E8 7F0DC8B8 97AA0292 */ lhu $t2, 0x292($sp) -/* 1113EC 7F0DC8BC 97AE0292 */ lhu $t6, 0x292($sp) -/* 1113F0 7F0DC8C0 97A90298 */ lhu $t1, 0x298($sp) -/* 1113F4 7F0DC8C4 25590001 */ addiu $t9, $t2, 1 -/* 1113F8 7F0DC8C8 2B215B00 */ slti $at, $t9, 0x5b00 -/* 1113FC 7F0DC8CC 14200008 */ bnez $at, .L7F0DC8F0 -/* 111400 7F0DC8D0 25CC0001 */ addiu $t4, $t6, 1 -/* 111404 7F0DC8D4 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 111408 7F0DC8D8 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 11140C 7F0DC8DC 25280002 */ addiu $t0, $t1, 2 -/* 111410 7F0DC8E0 00086A03 */ sra $t5, $t0, 8 -/* 111414 7F0DC8E4 030A7821 */ addu $t7, $t8, $t2 -/* 111418 7F0DC8E8 10000027 */ b .L7F0DC988 -/* 11141C 7F0DC8EC A1ED0001 */ sb $t5, 1($t7) -.L7F0DC8F0: -/* 111420 7F0DC8F0 29815800 */ slti $at, $t4, 0x5800 -/* 111424 7F0DC8F4 1420000F */ bnez $at, .L7F0DC934 -/* 111428 7F0DC8F8 97AB0292 */ lhu $t3, 0x292($sp) -/* 11142C 7F0DC8FC 97AB0298 */ lhu $t3, 0x298($sp) -/* 111430 7F0DC900 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 111434 7F0DC904 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 111438 7F0DC908 25790002 */ addiu $t9, $t3, 2 -/* 11143C 7F0DC90C 00194A03 */ sra $t1, $t9, 8 -/* 111440 7F0DC910 010EC021 */ addu $t8, $t0, $t6 -/* 111444 7F0DC914 A3090001 */ sb $t1, 1($t8) -/* 111448 7F0DC918 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 11144C 7F0DC91C 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 111450 7F0DC920 97AF0292 */ lhu $t7, 0x292($sp) -/* 111454 7F0DC924 240A0001 */ li $t2, 1 -/* 111458 7F0DC928 01AF6021 */ addu $t4, $t5, $t7 -/* 11145C 7F0DC92C 10000016 */ b .L7F0DC988 -/* 111460 7F0DC930 A18AA801 */ sb $t2, -0x57ff($t4) -.L7F0DC934: -/* 111464 7F0DC934 25790001 */ addiu $t9, $t3, 1 -/* 111468 7F0DC938 2B214000 */ slti $at, $t9, 0x4000 -/* 11146C 7F0DC93C 14200012 */ bnez $at, .L7F0DC988 -/* 111470 7F0DC940 97A80298 */ lhu $t0, 0x298($sp) -/* 111474 7F0DC944 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 111478 7F0DC948 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 11147C 7F0DC94C 250E0002 */ addiu $t6, $t0, 2 -/* 111480 7F0DC950 000E4A03 */ sra $t1, $t6, 8 -/* 111484 7F0DC954 030B6821 */ addu $t5, $t8, $t3 -/* 111488 7F0DC958 A1A90001 */ sb $t1, 1($t5) -/* 11148C 7F0DC95C 97AA0292 */ lhu $t2, 0x292($sp) -/* 111490 7F0DC960 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 111494 7F0DC964 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 111498 7F0DC968 254C0001 */ addiu $t4, $t2, 1 -/* 11149C 7F0DC96C 31991800 */ andi $t9, $t4, 0x1800 -/* 1114A0 7F0DC970 001940C3 */ sra $t0, $t9, 3 -/* 1114A4 7F0DC974 318E00FF */ andi $t6, $t4, 0xff -/* 1114A8 7F0DC978 010EC025 */ or $t8, $t0, $t6 -/* 1114AC 7F0DC97C 240F0001 */ li $t7, 1 -/* 1114B0 7F0DC980 01784821 */ addu $t1, $t3, $t8 -/* 1114B4 7F0DC984 A12F0000 */ sb $t7, ($t1) -.L7F0DC988: -/* 1114B8 7F0DC988 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 1114BC 7F0DC98C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 1114C0 7F0DC990 97AD0298 */ lhu $t5, 0x298($sp) -/* 1114C4 7F0DC994 014D4021 */ addu $t0, $t2, $t5 -/* 1114C8 7F0DC998 910E0001 */ lbu $t6, 1($t0) -/* 1114CC 7F0DC99C 01AAC821 */ addu $t9, $t5, $t2 -/* 1114D0 7F0DC9A0 932C0000 */ lbu $t4, ($t9) -/* 1114D4 7F0DC9A4 000E5A00 */ sll $t3, $t6, 8 -/* 1114D8 7F0DC9A8 018BC025 */ or $t8, $t4, $t3 -/* 1114DC 7F0DC9AC 10001793 */ b .L7F0E27FC -/* 1114E0 7F0DC9B0 A7B80298 */ sh $t8, 0x298($sp) -spectrum_op_CE: -/* 1114E4 7F0DC9B4 8FAF028C */ lw $t7, 0x28c($sp) -/* 1114E8 7F0DC9B8 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 1114EC 7F0DC9BC 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 1114F0 7F0DC9C0 97B90298 */ lhu $t9, 0x298($sp) -/* 1114F4 7F0DC9C4 25E90007 */ addiu $t1, $t7, 7 -/* 1114F8 7F0DC9C8 AFA9028C */ sw $t1, 0x28c($sp) -/* 1114FC 7F0DC9CC 032A6821 */ addu $t5, $t9, $t2 -/* 111500 7F0DC9D0 91A80000 */ lbu $t0, ($t5) -/* 111504 7F0DC9D4 322C0001 */ andi $t4, $s1, 1 -/* 111508 7F0DC9D8 32380001 */ andi $t8, $s1, 1 -/* 11150C 7F0DC9DC 02087021 */ addu $t6, $s0, $t0 -/* 111510 7F0DC9E0 01CC5821 */ addu $t3, $t6, $t4 -/* 111514 7F0DC9E4 320E000F */ andi $t6, $s0, 0xf -/* 111518 7F0DC9E8 310D000F */ andi $t5, $t0, 0xf -/* 11151C 7F0DC9EC 01CD6021 */ addu $t4, $t6, $t5 -/* 111520 7F0DC9F0 316F00A8 */ andi $t7, $t3, 0xa8 -/* 111524 7F0DC9F4 000BCA03 */ sra $t9, $t3, 8 -/* 111528 7F0DC9F8 01F95025 */ or $t2, $t7, $t9 -/* 11152C 7F0DC9FC 01984821 */ addu $t1, $t4, $t8 -/* 111530 7F0DCA00 2401000F */ li $at, 15 -/* 111534 7F0DCA04 0029782A */ slt $t7, $at, $t1 -/* 111538 7F0DCA08 000FC900 */ sll $t9, $t7, 4 -/* 11153C 7F0DCA0C 01604825 */ move $t1, $t3 -/* 111540 7F0DCA10 02006827 */ not $t5, $s0 -/* 111544 7F0DCA14 01307826 */ xor $t7, $t1, $s0 -/* 111548 7F0DCA18 A7AB00FE */ sh $t3, 0xfe($sp) -/* 11154C 7F0DCA1C 01A86026 */ xor $t4, $t5, $t0 -/* 111550 7F0DCA20 93B000FF */ lbu $s0, 0xff($sp) -/* 111554 7F0DCA24 31980080 */ andi $t8, $t4, 0x80 -/* 111558 7F0DCA28 01597025 */ or $t6, $t2, $t9 -/* 11155C 7F0DCA2C 030F5024 */ and $t2, $t8, $t7 -/* 111560 7F0DCA30 A3A800FD */ sb $t0, 0xfd($sp) -/* 111564 7F0DCA34 97B80298 */ lhu $t8, 0x298($sp) -/* 111568 7F0DCA38 000AC943 */ sra $t9, $t2, 5 -/* 11156C 7F0DCA3C 2E080001 */ sltiu $t0, $s0, 1 -/* 111570 7F0DCA40 00085980 */ sll $t3, $t0, 6 -/* 111574 7F0DCA44 01D96825 */ or $t5, $t6, $t9 -/* 111578 7F0DCA48 01AB8825 */ or $s1, $t5, $t3 -/* 11157C 7F0DCA4C 322900FF */ andi $t1, $s1, 0xff -/* 111580 7F0DCA50 270F0001 */ addiu $t7, $t8, 1 -/* 111584 7F0DCA54 01208825 */ move $s1, $t1 -/* 111588 7F0DCA58 AFA80048 */ sw $t0, 0x48($sp) -/* 11158C 7F0DCA5C 10001767 */ b .L7F0E27FC -/* 111590 7F0DCA60 A7AF0298 */ sh $t7, 0x298($sp) -spectrum_op_CF: -/* 111594 7F0DCA64 97B90292 */ lhu $t9, 0x292($sp) -/* 111598 7F0DCA68 8FAA028C */ lw $t2, 0x28c($sp) -/* 11159C 7F0DCA6C 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1115A0 7F0DCA70 272DFFFE */ addiu $t5, $t9, -2 -/* 1115A4 7F0DCA74 31A8FFFF */ andi $t0, $t5, 0xffff -/* 1115A8 7F0DCA78 29015B00 */ slti $at, $t0, 0x5b00 -/* 1115AC 7F0DCA7C 254E000B */ addiu $t6, $t2, 0xb -/* 1115B0 7F0DCA80 AFAE028C */ sw $t6, 0x28c($sp) -/* 1115B4 7F0DCA84 14200006 */ bnez $at, .L7F0DCAA0 -/* 1115B8 7F0DCA88 A7AD0292 */ sh $t5, 0x292($sp) -/* 1115BC 7F0DCA8C 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1115C0 7F0DCA90 97AC0298 */ lhu $t4, 0x298($sp) -/* 1115C4 7F0DCA94 01684821 */ addu $t1, $t3, $t0 -/* 1115C8 7F0DCA98 10000023 */ b .L7F0DCB28 -/* 1115CC 7F0DCA9C A12C0000 */ sb $t4, ($t1) -.L7F0DCAA0: -/* 1115D0 7F0DCAA0 97B80292 */ lhu $t8, 0x292($sp) -/* 1115D4 7F0DCAA4 97AC0292 */ lhu $t4, 0x292($sp) -/* 1115D8 7F0DCAA8 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 1115DC 7F0DCAAC 2B015800 */ slti $at, $t8, 0x5800 -/* 1115E0 7F0DCAB0 5420000D */ bnezl $at, .L7F0DCAE8 -/* 1115E4 7F0DCAB4 29814000 */ slti $at, $t4, 0x4000 -/* 1115E8 7F0DCAB8 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 1115EC 7F0DCABC 97AF0298 */ lhu $t7, 0x298($sp) -/* 1115F0 7F0DCAC0 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 1115F4 7F0DCAC4 01587021 */ addu $t6, $t2, $t8 -/* 1115F8 7F0DCAC8 A1CF0000 */ sb $t7, ($t6) -/* 1115FC 7F0DCACC 97AB0292 */ lhu $t3, 0x292($sp) -/* 111600 7F0DCAD0 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 111604 7F0DCAD4 24190001 */ li $t9, 1 -/* 111608 7F0DCAD8 01AB4021 */ addu $t0, $t5, $t3 -/* 11160C 7F0DCADC 10000012 */ b .L7F0DCB28 -/* 111610 7F0DCAE0 A119A800 */ sb $t9, -0x5800($t0) -/* 111614 7F0DCAE4 29814000 */ slti $at, $t4, 0x4000 -.L7F0DCAE8: -/* 111618 7F0DCAE8 1420000F */ bnez $at, .L7F0DCB28 -/* 11161C 7F0DCAEC 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 111620 7F0DCAF0 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 111624 7F0DCAF4 97A90298 */ lhu $t1, 0x298($sp) -/* 111628 7F0DCAF8 240F0001 */ li $t7, 1 -/* 11162C 7F0DCAFC 014CC021 */ addu $t8, $t2, $t4 -/* 111630 7F0DCB00 A3090000 */ sb $t1, ($t8) -/* 111634 7F0DCB04 97AE0292 */ lhu $t6, 0x292($sp) -/* 111638 7F0DCB08 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 11163C 7F0DCB0C 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 111640 7F0DCB10 31CD1800 */ andi $t5, $t6, 0x1800 -/* 111644 7F0DCB14 000D58C3 */ sra $t3, $t5, 3 -/* 111648 7F0DCB18 31D900FF */ andi $t9, $t6, 0xff -/* 11164C 7F0DCB1C 01794025 */ or $t0, $t3, $t9 -/* 111650 7F0DCB20 01486021 */ addu $t4, $t2, $t0 -/* 111654 7F0DCB24 A18F0000 */ sb $t7, ($t4) -.L7F0DCB28: -/* 111658 7F0DCB28 97A90292 */ lhu $t1, 0x292($sp) -/* 11165C 7F0DCB2C 97AA0292 */ lhu $t2, 0x292($sp) -/* 111660 7F0DCB30 97AD0298 */ lhu $t5, 0x298($sp) -/* 111664 7F0DCB34 25380001 */ addiu $t8, $t1, 1 -/* 111668 7F0DCB38 2B015B00 */ slti $at, $t8, 0x5b00 -/* 11166C 7F0DCB3C 14200007 */ bnez $at, .L7F0DCB5C -/* 111670 7F0DCB40 25480001 */ addiu $t0, $t2, 1 -/* 111674 7F0DCB44 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 111678 7F0DCB48 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 11167C 7F0DCB4C 000D7203 */ sra $t6, $t5, 8 -/* 111680 7F0DCB50 0169C821 */ addu $t9, $t3, $t1 -/* 111684 7F0DCB54 10000025 */ b .L7F0DCBEC -/* 111688 7F0DCB58 A32E0001 */ sb $t6, 1($t9) -.L7F0DCB5C: -/* 11168C 7F0DCB5C 29015800 */ slti $at, $t0, 0x5800 -/* 111690 7F0DCB60 1420000E */ bnez $at, .L7F0DCB9C -/* 111694 7F0DCB64 97A80292 */ lhu $t0, 0x292($sp) -/* 111698 7F0DCB68 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 11169C 7F0DCB6C 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 1116A0 7F0DCB70 97AF0298 */ lhu $t7, 0x298($sp) -/* 1116A4 7F0DCB74 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 1116A8 7F0DCB78 030A6821 */ addu $t5, $t8, $t2 -/* 1116AC 7F0DCB7C 000F6203 */ sra $t4, $t7, 8 -/* 1116B0 7F0DCB80 A1AC0001 */ sb $t4, 1($t5) -/* 1116B4 7F0DCB84 97AE0292 */ lhu $t6, 0x292($sp) -/* 1116B8 7F0DCB88 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 1116BC 7F0DCB8C 240B0001 */ li $t3, 1 -/* 1116C0 7F0DCB90 012EC821 */ addu $t9, $t1, $t6 -/* 1116C4 7F0DCB94 10000015 */ b .L7F0DCBEC -/* 1116C8 7F0DCB98 A32BA801 */ sb $t3, -0x57ff($t9) -.L7F0DCB9C: -/* 1116CC 7F0DCB9C 250F0001 */ addiu $t7, $t0, 1 -/* 1116D0 7F0DCBA0 29E14000 */ slti $at, $t7, 0x4000 -/* 1116D4 7F0DCBA4 14200011 */ bnez $at, .L7F0DCBEC -/* 1116D8 7F0DCBA8 97B80298 */ lhu $t8, 0x298($sp) -/* 1116DC 7F0DCBAC 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 1116E0 7F0DCBB0 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 1116E4 7F0DCBB4 00185203 */ sra $t2, $t8, 8 -/* 1116E8 7F0DCBB8 24090001 */ li $t1, 1 -/* 1116EC 7F0DCBBC 01886821 */ addu $t5, $t4, $t0 -/* 1116F0 7F0DCBC0 A1AA0001 */ sb $t2, 1($t5) -/* 1116F4 7F0DCBC4 97AE0292 */ lhu $t6, 0x292($sp) -/* 1116F8 7F0DCBC8 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 1116FC 7F0DCBCC 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 111700 7F0DCBD0 25CB0001 */ addiu $t3, $t6, 1 -/* 111704 7F0DCBD4 31791800 */ andi $t9, $t3, 0x1800 -/* 111708 7F0DCBD8 001978C3 */ sra $t7, $t9, 3 -/* 11170C 7F0DCBDC 317800FF */ andi $t8, $t3, 0xff -/* 111710 7F0DCBE0 01F86025 */ or $t4, $t7, $t8 -/* 111714 7F0DCBE4 010C5021 */ addu $t2, $t0, $t4 -/* 111718 7F0DCBE8 A1490000 */ sb $t1, ($t2) -.L7F0DCBEC: -/* 11171C 7F0DCBEC 240D0008 */ li $t5, 8 -/* 111720 7F0DCBF0 10001702 */ b .L7F0E27FC -/* 111724 7F0DCBF4 A7AD0298 */ sh $t5, 0x298($sp) -spectrum_op_D0: -/* 111728 7F0DCBF8 8FAE028C */ lw $t6, 0x28c($sp) -/* 11172C 7F0DCBFC 322B0001 */ andi $t3, $s1, 1 -/* 111730 7F0DCC00 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 111734 7F0DCC04 25D90005 */ addiu $t9, $t6, 5 -/* 111738 7F0DCC08 156016FC */ bnez $t3, .L7F0E27FC -/* 11173C 7F0DCC0C AFB9028C */ sw $t9, 0x28c($sp) -/* 111740 7F0DCC10 97A80292 */ lhu $t0, 0x292($sp) -/* 111744 7F0DCC14 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 111748 7F0DCC18 27380006 */ addiu $t8, $t9, 6 -/* 11174C 7F0DCC1C AFB8028C */ sw $t8, 0x28c($sp) -/* 111750 7F0DCC20 01886821 */ addu $t5, $t4, $t0 -/* 111754 7F0DCC24 91AE0001 */ lbu $t6, 1($t5) -/* 111758 7F0DCC28 010C4821 */ addu $t1, $t0, $t4 -/* 11175C 7F0DCC2C 912A0000 */ lbu $t2, ($t1) -/* 111760 7F0DCC30 000ECA00 */ sll $t9, $t6, 8 -/* 111764 7F0DCC34 250F0002 */ addiu $t7, $t0, 2 -/* 111768 7F0DCC38 01595825 */ or $t3, $t2, $t9 -/* 11176C 7F0DCC3C A7AB0298 */ sh $t3, 0x298($sp) -/* 111770 7F0DCC40 100016EE */ b .L7F0E27FC -/* 111774 7F0DCC44 A7AF0292 */ sh $t7, 0x292($sp) -spectrum_op_D1: -/* 111778 7F0DCC48 8FB8028C */ lw $t8, 0x28c($sp) -/* 11177C 7F0DCC4C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 111780 7F0DCC50 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 111784 7F0DCC54 97AC0292 */ lhu $t4, 0x292($sp) -/* 111788 7F0DCC58 2709000A */ addiu $t1, $t8, 0xa -/* 11178C 7F0DCC5C AFA9028C */ sw $t1, 0x28c($sp) -/* 111790 7F0DCC60 018D7021 */ addu $t6, $t4, $t5 -/* 111794 7F0DCC64 91D50000 */ lbu $s5, ($t6) -/* 111798 7F0DCC68 91D40001 */ lbu $s4, 1($t6) -/* 11179C 7F0DCC6C 258A0002 */ addiu $t2, $t4, 2 -/* 1117A0 7F0DCC70 100016E2 */ b .L7F0E27FC -/* 1117A4 7F0DCC74 A7AA0292 */ sh $t2, 0x292($sp) -spectrum_op_D2: -/* 1117A8 7F0DCC78 8FB9028C */ lw $t9, 0x28c($sp) -/* 1117AC 7F0DCC7C 32280001 */ andi $t0, $s1, 1 -/* 1117B0 7F0DCC80 97AF0298 */ lhu $t7, 0x298($sp) -/* 1117B4 7F0DCC84 272B000A */ addiu $t3, $t9, 0xa -/* 1117B8 7F0DCC88 1500000B */ bnez $t0, .L7F0DCCB8 -/* 1117BC 7F0DCC8C AFAB028C */ sw $t3, 0x28c($sp) -/* 1117C0 7F0DCC90 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1117C4 7F0DCC94 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 1117C8 7F0DCC98 030F7021 */ addu $t6, $t8, $t7 -/* 1117CC 7F0DCC9C 91CC0001 */ lbu $t4, 1($t6) -/* 1117D0 7F0DCCA0 01F84821 */ addu $t1, $t7, $t8 -/* 1117D4 7F0DCCA4 912D0000 */ lbu $t5, ($t1) -/* 1117D8 7F0DCCA8 000C5200 */ sll $t2, $t4, 8 -/* 1117DC 7F0DCCAC 01AAC825 */ or $t9, $t5, $t2 -/* 1117E0 7F0DCCB0 100016D2 */ b .L7F0E27FC -/* 1117E4 7F0DCCB4 A7B90298 */ sh $t9, 0x298($sp) -.L7F0DCCB8: -/* 1117E8 7F0DCCB8 97AB0298 */ lhu $t3, 0x298($sp) -/* 1117EC 7F0DCCBC 25680002 */ addiu $t0, $t3, 2 -/* 1117F0 7F0DCCC0 100016CE */ b .L7F0E27FC -/* 1117F4 7F0DCCC4 A7A80298 */ sh $t0, 0x298($sp) -spectrum_op_D3: -/* 1117F8 7F0DCCC8 8FA9028C */ lw $t1, 0x28c($sp) -/* 1117FC 7F0DCCCC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 111800 7F0DCCD0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 111804 7F0DCCD4 97AF0298 */ lhu $t7, 0x298($sp) -/* 111808 7F0DCCD8 2524000B */ addiu $a0, $t1, 0xb -/* 11180C 7F0DCCDC AFA4028C */ sw $a0, 0x28c($sp) -/* 111810 7F0DCCE0 01EE6021 */ addu $t4, $t7, $t6 -/* 111814 7F0DCCE4 91860000 */ lbu $a2, ($t4) -/* 111818 7F0DCCE8 02002825 */ move $a1, $s0 -/* 11181C 7F0DCCEC 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 111820 7F0DCCF0 02003825 */ move $a3, $s0 -/* 111824 7F0DCCF4 8FAD028C */ lw $t5, 0x28c($sp) -/* 111828 7F0DCCF8 97AB0298 */ lhu $t3, 0x298($sp) -/* 11182C 7F0DCCFC AFA20048 */ sw $v0, 0x48($sp) -/* 111830 7F0DCD00 01A2C821 */ addu $t9, $t5, $v0 -/* 111834 7F0DCD04 25680001 */ addiu $t0, $t3, 1 -/* 111838 7F0DCD08 AFB9028C */ sw $t9, 0x28c($sp) -/* 11183C 7F0DCD0C 100016BB */ b .L7F0E27FC -/* 111840 7F0DCD10 A7A80298 */ sh $t0, 0x298($sp) -spectrum_op_D4: -/* 111844 7F0DCD14 8FA9028C */ lw $t1, 0x28c($sp) -/* 111848 7F0DCD18 322F0001 */ andi $t7, $s1, 1 -/* 11184C 7F0DCD1C 2538000A */ addiu $t8, $t1, 0xa -/* 111850 7F0DCD20 15E00072 */ bnez $t7, .L7F0DCEEC -/* 111854 7F0DCD24 AFB8028C */ sw $t8, 0x28c($sp) -/* 111858 7F0DCD28 97AD0292 */ lhu $t5, 0x292($sp) -/* 11185C 7F0DCD2C 270C0007 */ addiu $t4, $t8, 7 -/* 111860 7F0DCD30 AFAC028C */ sw $t4, 0x28c($sp) -/* 111864 7F0DCD34 25AAFFFE */ addiu $t2, $t5, -2 -/* 111868 7F0DCD38 3159FFFF */ andi $t9, $t2, 0xffff -/* 11186C 7F0DCD3C 2B215B00 */ slti $at, $t9, 0x5b00 -/* 111870 7F0DCD40 14200008 */ bnez $at, .L7F0DCD64 -/* 111874 7F0DCD44 A7AA0292 */ sh $t2, 0x292($sp) -/* 111878 7F0DCD48 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 11187C 7F0DCD4C 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 111880 7F0DCD50 97AB0298 */ lhu $t3, 0x298($sp) -/* 111884 7F0DCD54 0139C021 */ addu $t8, $t1, $t9 -/* 111888 7F0DCD58 25680002 */ addiu $t0, $t3, 2 -/* 11188C 7F0DCD5C 10000024 */ b .L7F0DCDF0 -/* 111890 7F0DCD60 A3080000 */ sb $t0, ($t8) -.L7F0DCD64: -/* 111894 7F0DCD64 97AF0292 */ lhu $t7, 0x292($sp) -/* 111898 7F0DCD68 97B80292 */ lhu $t8, 0x292($sp) -/* 11189C 7F0DCD6C 97AE0298 */ lhu $t6, 0x298($sp) -/* 1118A0 7F0DCD70 29E15800 */ slti $at, $t7, 0x5800 -/* 1118A4 7F0DCD74 1420000C */ bnez $at, .L7F0DCDA8 -/* 1118A8 7F0DCD78 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1118AC 7F0DCD7C 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1118B0 7F0DCD80 25CC0002 */ addiu $t4, $t6, 2 -/* 1118B4 7F0DCD84 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 1118B8 7F0DCD88 01AF5021 */ addu $t2, $t5, $t7 -/* 1118BC 7F0DCD8C A14C0000 */ sb $t4, ($t2) -/* 1118C0 7F0DCD90 97B90292 */ lhu $t9, 0x292($sp) -/* 1118C4 7F0DCD94 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 1118C8 7F0DCD98 240B0001 */ li $t3, 1 -/* 1118CC 7F0DCD9C 01394021 */ addu $t0, $t1, $t9 -/* 1118D0 7F0DCDA0 10000013 */ b .L7F0DCDF0 -/* 1118D4 7F0DCDA4 A10BA800 */ sb $t3, -0x5800($t0) -.L7F0DCDA8: -/* 1118D8 7F0DCDA8 2B014000 */ slti $at, $t8, 0x4000 -/* 1118DC 7F0DCDAC 14200010 */ bnez $at, .L7F0DCDF0 -/* 1118E0 7F0DCDB0 97AE0298 */ lhu $t6, 0x298($sp) -/* 1118E4 7F0DCDB4 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1118E8 7F0DCDB8 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1118EC 7F0DCDBC 25CD0002 */ addiu $t5, $t6, 2 -/* 1118F0 7F0DCDC0 240A0001 */ li $t2, 1 -/* 1118F4 7F0DCDC4 01F86021 */ addu $t4, $t7, $t8 -/* 1118F8 7F0DCDC8 A18D0000 */ sb $t5, ($t4) -/* 1118FC 7F0DCDCC 97A90292 */ lhu $t1, 0x292($sp) -/* 111900 7F0DCDD0 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 111904 7F0DCDD4 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 111908 7F0DCDD8 31391800 */ andi $t9, $t1, 0x1800 -/* 11190C 7F0DCDDC 001958C3 */ sra $t3, $t9, 3 -/* 111910 7F0DCDE0 312800FF */ andi $t0, $t1, 0xff -/* 111914 7F0DCDE4 01687025 */ or $t6, $t3, $t0 -/* 111918 7F0DCDE8 01EEC021 */ addu $t8, $t7, $t6 -/* 11191C 7F0DCDEC A30A0000 */ sb $t2, ($t8) -.L7F0DCDF0: -/* 111920 7F0DCDF0 97AD0292 */ lhu $t5, 0x292($sp) -/* 111924 7F0DCDF4 97AE0292 */ lhu $t6, 0x292($sp) -/* 111928 7F0DCDF8 97B90298 */ lhu $t9, 0x298($sp) -/* 11192C 7F0DCDFC 25AC0001 */ addiu $t4, $t5, 1 -/* 111930 7F0DCE00 29815B00 */ slti $at, $t4, 0x5b00 -/* 111934 7F0DCE04 14200008 */ bnez $at, .L7F0DCE28 -/* 111938 7F0DCE08 25CA0001 */ addiu $t2, $t6, 1 -/* 11193C 7F0DCE0C 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 111940 7F0DCE10 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 111944 7F0DCE14 27290002 */ addiu $t1, $t9, 2 -/* 111948 7F0DCE18 00095A03 */ sra $t3, $t1, 8 -/* 11194C 7F0DCE1C 010D7821 */ addu $t7, $t0, $t5 -/* 111950 7F0DCE20 10000027 */ b .L7F0DCEC0 -/* 111954 7F0DCE24 A1EB0001 */ sb $t3, 1($t7) -.L7F0DCE28: -/* 111958 7F0DCE28 29415800 */ slti $at, $t2, 0x5800 -/* 11195C 7F0DCE2C 1420000F */ bnez $at, .L7F0DCE6C -/* 111960 7F0DCE30 97B80292 */ lhu $t8, 0x292($sp) -/* 111964 7F0DCE34 97B80298 */ lhu $t8, 0x298($sp) -/* 111968 7F0DCE38 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 11196C 7F0DCE3C 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 111970 7F0DCE40 270C0002 */ addiu $t4, $t8, 2 -/* 111974 7F0DCE44 000CCA03 */ sra $t9, $t4, 8 -/* 111978 7F0DCE48 012E4021 */ addu $t0, $t1, $t6 -/* 11197C 7F0DCE4C A1190001 */ sb $t9, 1($t0) -/* 111980 7F0DCE50 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 111984 7F0DCE54 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 111988 7F0DCE58 97AF0292 */ lhu $t7, 0x292($sp) -/* 11198C 7F0DCE5C 240D0001 */ li $t5, 1 -/* 111990 7F0DCE60 016F5021 */ addu $t2, $t3, $t7 -/* 111994 7F0DCE64 10000016 */ b .L7F0DCEC0 -/* 111998 7F0DCE68 A14DA801 */ sb $t5, -0x57ff($t2) -.L7F0DCE6C: -/* 11199C 7F0DCE6C 270C0001 */ addiu $t4, $t8, 1 -/* 1119A0 7F0DCE70 29814000 */ slti $at, $t4, 0x4000 -/* 1119A4 7F0DCE74 14200012 */ bnez $at, .L7F0DCEC0 -/* 1119A8 7F0DCE78 97A90298 */ lhu $t1, 0x298($sp) -/* 1119AC 7F0DCE7C 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1119B0 7F0DCE80 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1119B4 7F0DCE84 252E0002 */ addiu $t6, $t1, 2 -/* 1119B8 7F0DCE88 000ECA03 */ sra $t9, $t6, 8 -/* 1119BC 7F0DCE8C 01185821 */ addu $t3, $t0, $t8 -/* 1119C0 7F0DCE90 A1790001 */ sb $t9, 1($t3) -/* 1119C4 7F0DCE94 97AD0292 */ lhu $t5, 0x292($sp) -/* 1119C8 7F0DCE98 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 1119CC 7F0DCE9C 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 1119D0 7F0DCEA0 25AA0001 */ addiu $t2, $t5, 1 -/* 1119D4 7F0DCEA4 314C1800 */ andi $t4, $t2, 0x1800 -/* 1119D8 7F0DCEA8 000C48C3 */ sra $t1, $t4, 3 -/* 1119DC 7F0DCEAC 314E00FF */ andi $t6, $t2, 0xff -/* 1119E0 7F0DCEB0 012E4025 */ or $t0, $t1, $t6 -/* 1119E4 7F0DCEB4 240F0001 */ li $t7, 1 -/* 1119E8 7F0DCEB8 0308C821 */ addu $t9, $t8, $t0 -/* 1119EC 7F0DCEBC A32F0000 */ sb $t7, ($t9) -.L7F0DCEC0: -/* 1119F0 7F0DCEC0 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1119F4 7F0DCEC4 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1119F8 7F0DCEC8 97AB0298 */ lhu $t3, 0x298($sp) -/* 1119FC 7F0DCECC 01AB4821 */ addu $t1, $t5, $t3 -/* 111A00 7F0DCED0 912E0001 */ lbu $t6, 1($t1) -/* 111A04 7F0DCED4 016D6021 */ addu $t4, $t3, $t5 -/* 111A08 7F0DCED8 918A0000 */ lbu $t2, ($t4) -/* 111A0C 7F0DCEDC 000EC200 */ sll $t8, $t6, 8 -/* 111A10 7F0DCEE0 01584025 */ or $t0, $t2, $t8 -/* 111A14 7F0DCEE4 10001645 */ b .L7F0E27FC -/* 111A18 7F0DCEE8 A7A80298 */ sh $t0, 0x298($sp) -.L7F0DCEEC: -/* 111A1C 7F0DCEEC 97AF0298 */ lhu $t7, 0x298($sp) -/* 111A20 7F0DCEF0 25F90002 */ addiu $t9, $t7, 2 -/* 111A24 7F0DCEF4 10001641 */ b .L7F0E27FC -/* 111A28 7F0DCEF8 A7B90298 */ sh $t9, 0x298($sp) -spectrum_op_D5: -/* 111A2C 7F0DCEFC 97AB0292 */ lhu $t3, 0x292($sp) -/* 111A30 7F0DCF00 8FAC028C */ lw $t4, 0x28c($sp) -/* 111A34 7F0DCF04 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 111A38 7F0DCF08 2569FFFE */ addiu $t1, $t3, -2 -/* 111A3C 7F0DCF0C 312EFFFF */ andi $t6, $t1, 0xffff -/* 111A40 7F0DCF10 29C15B00 */ slti $at, $t6, 0x5b00 -/* 111A44 7F0DCF14 258D000B */ addiu $t5, $t4, 0xb -/* 111A48 7F0DCF18 AFAD028C */ sw $t5, 0x28c($sp) -/* 111A4C 7F0DCF1C 14200005 */ bnez $at, .L7F0DCF34 -/* 111A50 7F0DCF20 A7A90292 */ sh $t1, 0x292($sp) -/* 111A54 7F0DCF24 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 111A58 7F0DCF28 014EC021 */ addu $t8, $t2, $t6 -/* 111A5C 7F0DCF2C 10000021 */ b .L7F0DCFB4 -/* 111A60 7F0DCF30 A3150000 */ sb $s5, ($t8) -.L7F0DCF34: -/* 111A64 7F0DCF34 97A80292 */ lhu $t0, 0x292($sp) -/* 111A68 7F0DCF38 97AA0292 */ lhu $t2, 0x292($sp) -/* 111A6C 7F0DCF3C 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 111A70 7F0DCF40 29015800 */ slti $at, $t0, 0x5800 -/* 111A74 7F0DCF44 5420000C */ bnezl $at, .L7F0DCF78 -/* 111A78 7F0DCF48 29414000 */ slti $at, $t2, 0x4000 -/* 111A7C 7F0DCF4C 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 111A80 7F0DCF50 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 111A84 7F0DCF54 240C0001 */ li $t4, 1 -/* 111A88 7F0DCF58 01E8C821 */ addu $t9, $t7, $t0 -/* 111A8C 7F0DCF5C A3350000 */ sb $s5, ($t9) -/* 111A90 7F0DCF60 97AB0292 */ lhu $t3, 0x292($sp) -/* 111A94 7F0DCF64 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 111A98 7F0DCF68 01AB4821 */ addu $t1, $t5, $t3 -/* 111A9C 7F0DCF6C 10000011 */ b .L7F0DCFB4 -/* 111AA0 7F0DCF70 A12CA800 */ sb $t4, -0x5800($t1) -/* 111AA4 7F0DCF74 29414000 */ slti $at, $t2, 0x4000 -.L7F0DCF78: -/* 111AA8 7F0DCF78 1420000E */ bnez $at, .L7F0DCFB4 -/* 111AAC 7F0DCF7C 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 111AB0 7F0DCF80 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 111AB4 7F0DCF84 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 111AB8 7F0DCF88 240F0001 */ li $t7, 1 -/* 111ABC 7F0DCF8C 01CAC021 */ addu $t8, $t6, $t2 -/* 111AC0 7F0DCF90 A3150000 */ sb $s5, ($t8) -/* 111AC4 7F0DCF94 97A80292 */ lhu $t0, 0x292($sp) -/* 111AC8 7F0DCF98 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 111ACC 7F0DCF9C 31191800 */ andi $t9, $t0, 0x1800 -/* 111AD0 7F0DCFA0 001968C3 */ sra $t5, $t9, 3 -/* 111AD4 7F0DCFA4 310B00FF */ andi $t3, $t0, 0xff -/* 111AD8 7F0DCFA8 01AB6025 */ or $t4, $t5, $t3 -/* 111ADC 7F0DCFAC 012C7021 */ addu $t6, $t1, $t4 -/* 111AE0 7F0DCFB0 A1CF0000 */ sb $t7, ($t6) -.L7F0DCFB4: -/* 111AE4 7F0DCFB4 97AA0292 */ lhu $t2, 0x292($sp) -/* 111AE8 7F0DCFB8 97AD0292 */ lhu $t5, 0x292($sp) -/* 111AEC 7F0DCFBC 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 111AF0 7F0DCFC0 25580001 */ addiu $t8, $t2, 1 -/* 111AF4 7F0DCFC4 2B015B00 */ slti $at, $t8, 0x5b00 -/* 111AF8 7F0DCFC8 14200005 */ bnez $at, .L7F0DCFE0 -/* 111AFC 7F0DCFCC 25AB0001 */ addiu $t3, $t5, 1 -/* 111B00 7F0DCFD0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 111B04 7F0DCFD4 032A4021 */ addu $t0, $t9, $t2 -/* 111B08 7F0DCFD8 10001608 */ b .L7F0E27FC -/* 111B0C 7F0DCFDC A1140001 */ sb $s4, 1($t0) -.L7F0DCFE0: -/* 111B10 7F0DCFE0 29615800 */ slti $at, $t3, 0x5800 -/* 111B14 7F0DCFE4 1420000C */ bnez $at, .L7F0DD018 -/* 111B18 7F0DCFE8 97AA0292 */ lhu $t2, 0x292($sp) -/* 111B1C 7F0DCFEC 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 111B20 7F0DCFF0 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 111B24 7F0DCFF4 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 111B28 7F0DCFF8 240F0001 */ li $t7, 1 -/* 111B2C 7F0DCFFC 012D6021 */ addu $t4, $t1, $t5 -/* 111B30 7F0DD000 A1940001 */ sb $s4, 1($t4) -/* 111B34 7F0DD004 97B80292 */ lhu $t8, 0x292($sp) -/* 111B38 7F0DD008 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 111B3C 7F0DD00C 01D8C821 */ addu $t9, $t6, $t8 -/* 111B40 7F0DD010 100015FA */ b .L7F0E27FC -/* 111B44 7F0DD014 A32FA801 */ sb $t7, -0x57ff($t9) -.L7F0DD018: -/* 111B48 7F0DD018 25480001 */ addiu $t0, $t2, 1 -/* 111B4C 7F0DD01C 29014000 */ slti $at, $t0, 0x4000 -/* 111B50 7F0DD020 142015F6 */ bnez $at, .L7F0E27FC -/* 111B54 7F0DD024 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 111B58 7F0DD028 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 111B5C 7F0DD02C 240D0001 */ li $t5, 1 -/* 111B60 7F0DD030 016A4821 */ addu $t1, $t3, $t2 -/* 111B64 7F0DD034 A1340001 */ sb $s4, 1($t1) -/* 111B68 7F0DD038 97AC0292 */ lhu $t4, 0x292($sp) -/* 111B6C 7F0DD03C 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 111B70 7F0DD040 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 111B74 7F0DD044 258E0001 */ addiu $t6, $t4, 1 -/* 111B78 7F0DD048 31D81800 */ andi $t8, $t6, 0x1800 -/* 111B7C 7F0DD04C 001878C3 */ sra $t7, $t8, 3 -/* 111B80 7F0DD050 31D900FF */ andi $t9, $t6, 0xff -/* 111B84 7F0DD054 01F94025 */ or $t0, $t7, $t9 -/* 111B88 7F0DD058 01685021 */ addu $t2, $t3, $t0 -/* 111B8C 7F0DD05C 100015E7 */ b .L7F0E27FC -/* 111B90 7F0DD060 A14D0000 */ sb $t5, ($t2) -spectrum_op_D6: -/* 111B94 7F0DD064 8FA9028C */ lw $t1, 0x28c($sp) -/* 111B98 7F0DD068 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 111B9C 7F0DD06C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 111BA0 7F0DD070 97B80298 */ lhu $t8, 0x298($sp) -/* 111BA4 7F0DD074 252C0007 */ addiu $t4, $t1, 7 -/* 111BA8 7F0DD078 AFAC028C */ sw $t4, 0x28c($sp) -/* 111BAC 7F0DD07C 030E7821 */ addu $t7, $t8, $t6 -/* 111BB0 7F0DD080 91F90000 */ lbu $t9, ($t7) -/* 111BB4 7F0DD084 320F000F */ andi $t7, $s0, 0xf -/* 111BB8 7F0DD088 02195823 */ subu $t3, $s0, $t9 -/* 111BBC 7F0DD08C 316801FF */ andi $t0, $t3, 0x1ff -/* 111BC0 7F0DD090 310A00A8 */ andi $t2, $t0, 0xa8 -/* 111BC4 7F0DD094 00086203 */ sra $t4, $t0, 8 -/* 111BC8 7F0DD098 332E000F */ andi $t6, $t9, 0xf -/* 111BCC 7F0DD09C 01EE582A */ slt $t3, $t7, $t6 -/* 111BD0 7F0DD0A0 014CC025 */ or $t8, $t2, $t4 -/* 111BD4 7F0DD0A4 02195026 */ xor $t2, $s0, $t9 -/* 111BD8 7F0DD0A8 000B6900 */ sll $t5, $t3, 4 -/* 111BDC 7F0DD0AC 01107026 */ xor $t6, $t0, $s0 -/* 111BE0 7F0DD0B0 A7A800FA */ sh $t0, 0xfa($sp) -/* 111BE4 7F0DD0B4 93B000FB */ lbu $s0, 0xfb($sp) -/* 111BE8 7F0DD0B8 314C0080 */ andi $t4, $t2, 0x80 -/* 111BEC 7F0DD0BC 018E5824 */ and $t3, $t4, $t6 -/* 111BF0 7F0DD0C0 030D4825 */ or $t1, $t8, $t5 -/* 111BF4 7F0DD0C4 000BC143 */ sra $t8, $t3, 5 -/* 111BF8 7F0DD0C8 97AE0298 */ lhu $t6, 0x298($sp) -/* 111BFC 7F0DD0CC 01388825 */ or $s1, $t1, $t8 -/* 111C00 7F0DD0D0 A3B900F9 */ sb $t9, 0xf9($sp) -/* 111C04 7F0DD0D4 2E0A0001 */ sltiu $t2, $s0, 1 -/* 111C08 7F0DD0D8 000A7980 */ sll $t7, $t2, 6 -/* 111C0C 7F0DD0DC 36390002 */ ori $t9, $s1, 2 -/* 111C10 7F0DD0E0 032F8825 */ or $s1, $t9, $t7 -/* 111C14 7F0DD0E4 322C00FF */ andi $t4, $s1, 0xff -/* 111C18 7F0DD0E8 25CB0001 */ addiu $t3, $t6, 1 -/* 111C1C 7F0DD0EC 01808825 */ move $s1, $t4 -/* 111C20 7F0DD0F0 AFAA0048 */ sw $t2, 0x48($sp) -/* 111C24 7F0DD0F4 100015C1 */ b .L7F0E27FC -/* 111C28 7F0DD0F8 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_D7: -/* 111C2C 7F0DD0FC 97AD0292 */ lhu $t5, 0x292($sp) -/* 111C30 7F0DD100 8FA9028C */ lw $t1, 0x28c($sp) -/* 111C34 7F0DD104 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 111C38 7F0DD108 25B9FFFE */ addiu $t9, $t5, -2 -/* 111C3C 7F0DD10C 332AFFFF */ andi $t2, $t9, 0xffff -/* 111C40 7F0DD110 29415B00 */ slti $at, $t2, 0x5b00 -/* 111C44 7F0DD114 2538000B */ addiu $t8, $t1, 0xb -/* 111C48 7F0DD118 AFB8028C */ sw $t8, 0x28c($sp) -/* 111C4C 7F0DD11C 14200006 */ bnez $at, .L7F0DD138 -/* 111C50 7F0DD120 A7B90292 */ sh $t9, 0x292($sp) -/* 111C54 7F0DD124 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 111C58 7F0DD128 97A80298 */ lhu $t0, 0x298($sp) -/* 111C5C 7F0DD12C 01EA6021 */ addu $t4, $t7, $t2 -/* 111C60 7F0DD130 10000023 */ b .L7F0DD1C0 -/* 111C64 7F0DD134 A1880000 */ sb $t0, ($t4) -.L7F0DD138: -/* 111C68 7F0DD138 97AE0292 */ lhu $t6, 0x292($sp) -/* 111C6C 7F0DD13C 97A80292 */ lhu $t0, 0x292($sp) -/* 111C70 7F0DD140 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 111C74 7F0DD144 29C15800 */ slti $at, $t6, 0x5800 -/* 111C78 7F0DD148 5420000D */ bnezl $at, .L7F0DD180 -/* 111C7C 7F0DD14C 29014000 */ slti $at, $t0, 0x4000 -/* 111C80 7F0DD150 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 111C84 7F0DD154 97AB0298 */ lhu $t3, 0x298($sp) -/* 111C88 7F0DD158 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 111C8C 7F0DD15C 012EC021 */ addu $t8, $t1, $t6 -/* 111C90 7F0DD160 A30B0000 */ sb $t3, ($t8) -/* 111C94 7F0DD164 97AF0292 */ lhu $t7, 0x292($sp) -/* 111C98 7F0DD168 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 111C9C 7F0DD16C 240D0001 */ li $t5, 1 -/* 111CA0 7F0DD170 032F5021 */ addu $t2, $t9, $t7 -/* 111CA4 7F0DD174 10000012 */ b .L7F0DD1C0 -/* 111CA8 7F0DD178 A14DA800 */ sb $t5, -0x5800($t2) -/* 111CAC 7F0DD17C 29014000 */ slti $at, $t0, 0x4000 -.L7F0DD180: -/* 111CB0 7F0DD180 1420000F */ bnez $at, .L7F0DD1C0 -/* 111CB4 7F0DD184 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 111CB8 7F0DD188 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 111CBC 7F0DD18C 97AC0298 */ lhu $t4, 0x298($sp) -/* 111CC0 7F0DD190 240B0001 */ li $t3, 1 -/* 111CC4 7F0DD194 01287021 */ addu $t6, $t1, $t0 -/* 111CC8 7F0DD198 A1CC0000 */ sb $t4, ($t6) -/* 111CCC 7F0DD19C 97B80292 */ lhu $t8, 0x292($sp) -/* 111CD0 7F0DD1A0 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 111CD4 7F0DD1A4 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 111CD8 7F0DD1A8 33191800 */ andi $t9, $t8, 0x1800 -/* 111CDC 7F0DD1AC 001978C3 */ sra $t7, $t9, 3 -/* 111CE0 7F0DD1B0 330D00FF */ andi $t5, $t8, 0xff -/* 111CE4 7F0DD1B4 01ED5025 */ or $t2, $t7, $t5 -/* 111CE8 7F0DD1B8 012A4021 */ addu $t0, $t1, $t2 -/* 111CEC 7F0DD1BC A10B0000 */ sb $t3, ($t0) -.L7F0DD1C0: -/* 111CF0 7F0DD1C0 97AC0292 */ lhu $t4, 0x292($sp) -/* 111CF4 7F0DD1C4 97A90292 */ lhu $t1, 0x292($sp) -/* 111CF8 7F0DD1C8 97B90298 */ lhu $t9, 0x298($sp) -/* 111CFC 7F0DD1CC 258E0001 */ addiu $t6, $t4, 1 -/* 111D00 7F0DD1D0 29C15B00 */ slti $at, $t6, 0x5b00 -/* 111D04 7F0DD1D4 14200007 */ bnez $at, .L7F0DD1F4 -/* 111D08 7F0DD1D8 252A0001 */ addiu $t2, $t1, 1 -/* 111D0C 7F0DD1DC 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 111D10 7F0DD1E0 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 111D14 7F0DD1E4 0019C203 */ sra $t8, $t9, 8 -/* 111D18 7F0DD1E8 01EC6821 */ addu $t5, $t7, $t4 -/* 111D1C 7F0DD1EC 10000025 */ b .L7F0DD284 -/* 111D20 7F0DD1F0 A1B80001 */ sb $t8, 1($t5) -.L7F0DD1F4: -/* 111D24 7F0DD1F4 29415800 */ slti $at, $t2, 0x5800 -/* 111D28 7F0DD1F8 1420000E */ bnez $at, .L7F0DD234 -/* 111D2C 7F0DD1FC 97AA0292 */ lhu $t2, 0x292($sp) -/* 111D30 7F0DD200 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 111D34 7F0DD204 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 111D38 7F0DD208 97AB0298 */ lhu $t3, 0x298($sp) -/* 111D3C 7F0DD20C 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 111D40 7F0DD210 01C9C821 */ addu $t9, $t6, $t1 -/* 111D44 7F0DD214 000B4203 */ sra $t0, $t3, 8 -/* 111D48 7F0DD218 A3280001 */ sb $t0, 1($t9) -/* 111D4C 7F0DD21C 97B80292 */ lhu $t8, 0x292($sp) -/* 111D50 7F0DD220 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 111D54 7F0DD224 240F0001 */ li $t7, 1 -/* 111D58 7F0DD228 01986821 */ addu $t5, $t4, $t8 -/* 111D5C 7F0DD22C 10000015 */ b .L7F0DD284 -/* 111D60 7F0DD230 A1AFA801 */ sb $t7, -0x57ff($t5) -.L7F0DD234: -/* 111D64 7F0DD234 254B0001 */ addiu $t3, $t2, 1 -/* 111D68 7F0DD238 29614000 */ slti $at, $t3, 0x4000 -/* 111D6C 7F0DD23C 14200011 */ bnez $at, .L7F0DD284 -/* 111D70 7F0DD240 97AE0298 */ lhu $t6, 0x298($sp) -/* 111D74 7F0DD244 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 111D78 7F0DD248 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 111D7C 7F0DD24C 000E4A03 */ sra $t1, $t6, 8 -/* 111D80 7F0DD250 240C0001 */ li $t4, 1 -/* 111D84 7F0DD254 010AC821 */ addu $t9, $t0, $t2 -/* 111D88 7F0DD258 A3290001 */ sb $t1, 1($t9) -/* 111D8C 7F0DD25C 97B80292 */ lhu $t8, 0x292($sp) -/* 111D90 7F0DD260 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 111D94 7F0DD264 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 111D98 7F0DD268 270F0001 */ addiu $t7, $t8, 1 -/* 111D9C 7F0DD26C 31ED1800 */ andi $t5, $t7, 0x1800 -/* 111DA0 7F0DD270 000D58C3 */ sra $t3, $t5, 3 -/* 111DA4 7F0DD274 31EE00FF */ andi $t6, $t7, 0xff -/* 111DA8 7F0DD278 016E4025 */ or $t0, $t3, $t6 -/* 111DAC 7F0DD27C 01484821 */ addu $t1, $t2, $t0 -/* 111DB0 7F0DD280 A12C0000 */ sb $t4, ($t1) -.L7F0DD284: -/* 111DB4 7F0DD284 24190010 */ li $t9, 16 -/* 111DB8 7F0DD288 1000155C */ b .L7F0E27FC -/* 111DBC 7F0DD28C A7B90298 */ sh $t9, 0x298($sp) -spectrum_op_D8: -/* 111DC0 7F0DD290 8FB8028C */ lw $t8, 0x28c($sp) -/* 111DC4 7F0DD294 322F0001 */ andi $t7, $s1, 1 -/* 111DC8 7F0DD298 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 111DCC 7F0DD29C 270D0005 */ addiu $t5, $t8, 5 -/* 111DD0 7F0DD2A0 11E01556 */ beqz $t7, .L7F0E27FC -/* 111DD4 7F0DD2A4 AFAD028C */ sw $t5, 0x28c($sp) -/* 111DD8 7F0DD2A8 97AA0292 */ lhu $t2, 0x292($sp) -/* 111DDC 7F0DD2AC 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 111DE0 7F0DD2B0 25AE0006 */ addiu $t6, $t5, 6 -/* 111DE4 7F0DD2B4 AFAE028C */ sw $t6, 0x28c($sp) -/* 111DE8 7F0DD2B8 010AC821 */ addu $t9, $t0, $t2 -/* 111DEC 7F0DD2BC 93380001 */ lbu $t8, 1($t9) -/* 111DF0 7F0DD2C0 01486021 */ addu $t4, $t2, $t0 -/* 111DF4 7F0DD2C4 91890000 */ lbu $t1, ($t4) -/* 111DF8 7F0DD2C8 00186A00 */ sll $t5, $t8, 8 -/* 111DFC 7F0DD2CC 254B0002 */ addiu $t3, $t2, 2 -/* 111E00 7F0DD2D0 012D7825 */ or $t7, $t1, $t5 -/* 111E04 7F0DD2D4 A7AF0298 */ sh $t7, 0x298($sp) -/* 111E08 7F0DD2D8 10001548 */ b .L7F0E27FC -/* 111E0C 7F0DD2DC A7AB0292 */ sh $t3, 0x292($sp) -spectrum_op_D9: -/* 111E10 7F0DD2E0 8FAE028C */ lw $t6, 0x28c($sp) -/* 111E14 7F0DD2E4 A3B200F8 */ sb $s2, 0xf8($sp) -/* 111E18 7F0DD2E8 A3B300F7 */ sb $s3, 0xf7($sp) -/* 111E1C 7F0DD2EC A3B400F6 */ sb $s4, 0xf6($sp) -/* 111E20 7F0DD2F0 A3B500F5 */ sb $s5, 0xf5($sp) -/* 111E24 7F0DD2F4 A3B600F4 */ sb $s6, 0xf4($sp) -/* 111E28 7F0DD2F8 A3B700F3 */ sb $s7, 0xf3($sp) -/* 111E2C 7F0DD2FC 93A800F8 */ lbu $t0, 0xf8($sp) -/* 111E30 7F0DD300 93B900F7 */ lbu $t9, 0xf7($sp) -/* 111E34 7F0DD304 93B800F6 */ lbu $t8, 0xf6($sp) -/* 111E38 7F0DD308 93A900F5 */ lbu $t1, 0xf5($sp) -/* 111E3C 7F0DD30C 93AD00F4 */ lbu $t5, 0xf4($sp) -/* 111E40 7F0DD310 93AF00F3 */ lbu $t7, 0xf3($sp) -/* 111E44 7F0DD314 93B202A4 */ lbu $s2, 0x2a4($sp) -/* 111E48 7F0DD318 93B302A3 */ lbu $s3, 0x2a3($sp) -/* 111E4C 7F0DD31C 93B402A2 */ lbu $s4, 0x2a2($sp) -/* 111E50 7F0DD320 93B502A1 */ lbu $s5, 0x2a1($sp) -/* 111E54 7F0DD324 93B602A0 */ lbu $s6, 0x2a0($sp) -/* 111E58 7F0DD328 93B7029F */ lbu $s7, 0x29f($sp) -/* 111E5C 7F0DD32C 25CC0004 */ addiu $t4, $t6, 4 -/* 111E60 7F0DD330 AFAC028C */ sw $t4, 0x28c($sp) -/* 111E64 7F0DD334 A3A802A4 */ sb $t0, 0x2a4($sp) -/* 111E68 7F0DD338 A3B902A3 */ sb $t9, 0x2a3($sp) -/* 111E6C 7F0DD33C A3B802A2 */ sb $t8, 0x2a2($sp) -/* 111E70 7F0DD340 A3A902A1 */ sb $t1, 0x2a1($sp) -/* 111E74 7F0DD344 A3AD02A0 */ sb $t5, 0x2a0($sp) -/* 111E78 7F0DD348 1000152C */ b .L7F0E27FC -/* 111E7C 7F0DD34C A3AF029F */ sb $t7, 0x29f($sp) -spectrum_op_DA: -/* 111E80 7F0DD350 8FAA028C */ lw $t2, 0x28c($sp) -/* 111E84 7F0DD354 322E0001 */ andi $t6, $s1, 1 -/* 111E88 7F0DD358 97AC0298 */ lhu $t4, 0x298($sp) -/* 111E8C 7F0DD35C 254B000A */ addiu $t3, $t2, 0xa -/* 111E90 7F0DD360 11C0000B */ beqz $t6, .L7F0DD390 -/* 111E94 7F0DD364 AFAB028C */ sw $t3, 0x28c($sp) -/* 111E98 7F0DD368 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 111E9C 7F0DD36C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 111EA0 7F0DD370 010C4821 */ addu $t1, $t0, $t4 -/* 111EA4 7F0DD374 912D0001 */ lbu $t5, 1($t1) -/* 111EA8 7F0DD378 0188C821 */ addu $t9, $t4, $t0 -/* 111EAC 7F0DD37C 93380000 */ lbu $t8, ($t9) -/* 111EB0 7F0DD380 000D7A00 */ sll $t7, $t5, 8 -/* 111EB4 7F0DD384 030F5025 */ or $t2, $t8, $t7 -/* 111EB8 7F0DD388 1000151C */ b .L7F0E27FC -/* 111EBC 7F0DD38C A7AA0298 */ sh $t2, 0x298($sp) -.L7F0DD390: -/* 111EC0 7F0DD390 97AB0298 */ lhu $t3, 0x298($sp) -/* 111EC4 7F0DD394 256E0002 */ addiu $t6, $t3, 2 -/* 111EC8 7F0DD398 10001518 */ b .L7F0E27FC -/* 111ECC 7F0DD39C A7AE0298 */ sh $t6, 0x298($sp) -spectrum_op_DB: -/* 111ED0 7F0DD3A0 8FB9028C */ lw $t9, 0x28c($sp) -/* 111ED4 7F0DD3A4 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 111ED8 7F0DD3A8 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 111EDC 7F0DD3AC 97AC0298 */ lhu $t4, 0x298($sp) -/* 111EE0 7F0DD3B0 2724000B */ addiu $a0, $t9, 0xb -/* 111EE4 7F0DD3B4 AFA4028C */ sw $a0, 0x28c($sp) -/* 111EE8 7F0DD3B8 01896821 */ addu $t5, $t4, $t1 -/* 111EEC 7F0DD3BC 91A60000 */ lbu $a2, ($t5) -/* 111EF0 7F0DD3C0 0FC34DB6 */ jal spectrum_input_handling -/* 111EF4 7F0DD3C4 02002825 */ move $a1, $s0 -/* 111EF8 7F0DD3C8 8FB8028C */ lw $t8, 0x28c($sp) -/* 111EFC 7F0DD3CC 97AE0298 */ lhu $t6, 0x298($sp) -/* 111F00 7F0DD3D0 304FFFFF */ andi $t7, $v0, 0xffff -/* 111F04 7F0DD3D4 000F5203 */ sra $t2, $t7, 8 -/* 111F08 7F0DD3D8 A7A200F0 */ sh $v0, 0xf0($sp) -/* 111F0C 7F0DD3DC 030A5821 */ addu $t3, $t8, $t2 -/* 111F10 7F0DD3E0 25D90001 */ addiu $t9, $t6, 1 -/* 111F14 7F0DD3E4 93B000F1 */ lbu $s0, 0xf1($sp) -/* 111F18 7F0DD3E8 AFAB028C */ sw $t3, 0x28c($sp) -/* 111F1C 7F0DD3EC 10001503 */ b .L7F0E27FC -/* 111F20 7F0DD3F0 A7B90298 */ sh $t9, 0x298($sp) -spectrum_op_DC: -/* 111F24 7F0DD3F4 8FA8028C */ lw $t0, 0x28c($sp) -/* 111F28 7F0DD3F8 32290001 */ andi $t1, $s1, 1 -/* 111F2C 7F0DD3FC 250C000A */ addiu $t4, $t0, 0xa -/* 111F30 7F0DD400 11200072 */ beqz $t1, .L7F0DD5CC -/* 111F34 7F0DD404 AFAC028C */ sw $t4, 0x28c($sp) -/* 111F38 7F0DD408 97B80292 */ lhu $t8, 0x292($sp) -/* 111F3C 7F0DD40C 258F0007 */ addiu $t7, $t4, 7 -/* 111F40 7F0DD410 AFAF028C */ sw $t7, 0x28c($sp) -/* 111F44 7F0DD414 270AFFFE */ addiu $t2, $t8, -2 -/* 111F48 7F0DD418 314BFFFF */ andi $t3, $t2, 0xffff -/* 111F4C 7F0DD41C 29615B00 */ slti $at, $t3, 0x5b00 -/* 111F50 7F0DD420 14200008 */ bnez $at, .L7F0DD444 -/* 111F54 7F0DD424 A7AA0292 */ sh $t2, 0x292($sp) -/* 111F58 7F0DD428 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 111F5C 7F0DD42C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 111F60 7F0DD430 97AE0298 */ lhu $t6, 0x298($sp) -/* 111F64 7F0DD434 010B6021 */ addu $t4, $t0, $t3 -/* 111F68 7F0DD438 25D90002 */ addiu $t9, $t6, 2 -/* 111F6C 7F0DD43C 10000024 */ b .L7F0DD4D0 -/* 111F70 7F0DD440 A1990000 */ sb $t9, ($t4) -.L7F0DD444: -/* 111F74 7F0DD444 97A90292 */ lhu $t1, 0x292($sp) -/* 111F78 7F0DD448 97AC0292 */ lhu $t4, 0x292($sp) -/* 111F7C 7F0DD44C 97AD0298 */ lhu $t5, 0x298($sp) -/* 111F80 7F0DD450 29215800 */ slti $at, $t1, 0x5800 -/* 111F84 7F0DD454 1420000C */ bnez $at, .L7F0DD488 -/* 111F88 7F0DD458 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 111F8C 7F0DD45C 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 111F90 7F0DD460 25AF0002 */ addiu $t7, $t5, 2 -/* 111F94 7F0DD464 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 111F98 7F0DD468 03095021 */ addu $t2, $t8, $t1 -/* 111F9C 7F0DD46C A14F0000 */ sb $t7, ($t2) -/* 111FA0 7F0DD470 97AB0292 */ lhu $t3, 0x292($sp) -/* 111FA4 7F0DD474 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 111FA8 7F0DD478 240E0001 */ li $t6, 1 -/* 111FAC 7F0DD47C 010BC821 */ addu $t9, $t0, $t3 -/* 111FB0 7F0DD480 10000013 */ b .L7F0DD4D0 -/* 111FB4 7F0DD484 A32EA800 */ sb $t6, -0x5800($t9) -.L7F0DD488: -/* 111FB8 7F0DD488 29814000 */ slti $at, $t4, 0x4000 -/* 111FBC 7F0DD48C 14200010 */ bnez $at, .L7F0DD4D0 -/* 111FC0 7F0DD490 97AD0298 */ lhu $t5, 0x298($sp) -/* 111FC4 7F0DD494 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 111FC8 7F0DD498 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 111FCC 7F0DD49C 25B80002 */ addiu $t8, $t5, 2 -/* 111FD0 7F0DD4A0 240A0001 */ li $t2, 1 -/* 111FD4 7F0DD4A4 012C7821 */ addu $t7, $t1, $t4 -/* 111FD8 7F0DD4A8 A1F80000 */ sb $t8, ($t7) -/* 111FDC 7F0DD4AC 97A80292 */ lhu $t0, 0x292($sp) -/* 111FE0 7F0DD4B0 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 111FE4 7F0DD4B4 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 111FE8 7F0DD4B8 310B1800 */ andi $t3, $t0, 0x1800 -/* 111FEC 7F0DD4BC 000B70C3 */ sra $t6, $t3, 3 -/* 111FF0 7F0DD4C0 311900FF */ andi $t9, $t0, 0xff -/* 111FF4 7F0DD4C4 01D96825 */ or $t5, $t6, $t9 -/* 111FF8 7F0DD4C8 012D6021 */ addu $t4, $t1, $t5 -/* 111FFC 7F0DD4CC A18A0000 */ sb $t2, ($t4) -.L7F0DD4D0: -/* 112000 7F0DD4D0 97B80292 */ lhu $t8, 0x292($sp) -/* 112004 7F0DD4D4 97AD0292 */ lhu $t5, 0x292($sp) -/* 112008 7F0DD4D8 97AB0298 */ lhu $t3, 0x298($sp) -/* 11200C 7F0DD4DC 270F0001 */ addiu $t7, $t8, 1 -/* 112010 7F0DD4E0 29E15B00 */ slti $at, $t7, 0x5b00 -/* 112014 7F0DD4E4 14200008 */ bnez $at, .L7F0DD508 -/* 112018 7F0DD4E8 25AA0001 */ addiu $t2, $t5, 1 -/* 11201C 7F0DD4EC 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 112020 7F0DD4F0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 112024 7F0DD4F4 25680002 */ addiu $t0, $t3, 2 -/* 112028 7F0DD4F8 00087203 */ sra $t6, $t0, 8 -/* 11202C 7F0DD4FC 03384821 */ addu $t1, $t9, $t8 -/* 112030 7F0DD500 10000027 */ b .L7F0DD5A0 -/* 112034 7F0DD504 A12E0001 */ sb $t6, 1($t1) -.L7F0DD508: -/* 112038 7F0DD508 29415800 */ slti $at, $t2, 0x5800 -/* 11203C 7F0DD50C 1420000F */ bnez $at, .L7F0DD54C -/* 112040 7F0DD510 97AC0292 */ lhu $t4, 0x292($sp) -/* 112044 7F0DD514 97AC0298 */ lhu $t4, 0x298($sp) -/* 112048 7F0DD518 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 11204C 7F0DD51C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 112050 7F0DD520 258F0002 */ addiu $t7, $t4, 2 -/* 112054 7F0DD524 000F5A03 */ sra $t3, $t7, 8 -/* 112058 7F0DD528 010DC821 */ addu $t9, $t0, $t5 -/* 11205C 7F0DD52C A32B0001 */ sb $t3, 1($t9) -/* 112060 7F0DD530 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 112064 7F0DD534 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 112068 7F0DD538 97A90292 */ lhu $t1, 0x292($sp) -/* 11206C 7F0DD53C 24180001 */ li $t8, 1 -/* 112070 7F0DD540 01C95021 */ addu $t2, $t6, $t1 -/* 112074 7F0DD544 10000016 */ b .L7F0DD5A0 -/* 112078 7F0DD548 A158A801 */ sb $t8, -0x57ff($t2) -.L7F0DD54C: -/* 11207C 7F0DD54C 258F0001 */ addiu $t7, $t4, 1 -/* 112080 7F0DD550 29E14000 */ slti $at, $t7, 0x4000 -/* 112084 7F0DD554 14200012 */ bnez $at, .L7F0DD5A0 -/* 112088 7F0DD558 97A80298 */ lhu $t0, 0x298($sp) -/* 11208C 7F0DD55C 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 112090 7F0DD560 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 112094 7F0DD564 250D0002 */ addiu $t5, $t0, 2 -/* 112098 7F0DD568 000D5A03 */ sra $t3, $t5, 8 -/* 11209C 7F0DD56C 032C7021 */ addu $t6, $t9, $t4 -/* 1120A0 7F0DD570 A1CB0001 */ sb $t3, 1($t6) -/* 1120A4 7F0DD574 97B80292 */ lhu $t8, 0x292($sp) -/* 1120A8 7F0DD578 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 1120AC 7F0DD57C 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 1120B0 7F0DD580 270A0001 */ addiu $t2, $t8, 1 -/* 1120B4 7F0DD584 314F1800 */ andi $t7, $t2, 0x1800 -/* 1120B8 7F0DD588 000F40C3 */ sra $t0, $t7, 3 -/* 1120BC 7F0DD58C 314D00FF */ andi $t5, $t2, 0xff -/* 1120C0 7F0DD590 010DC825 */ or $t9, $t0, $t5 -/* 1120C4 7F0DD594 24090001 */ li $t1, 1 -/* 1120C8 7F0DD598 01995821 */ addu $t3, $t4, $t9 -/* 1120CC 7F0DD59C A1690000 */ sb $t1, ($t3) -.L7F0DD5A0: -/* 1120D0 7F0DD5A0 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1120D4 7F0DD5A4 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 1120D8 7F0DD5A8 97AE0298 */ lhu $t6, 0x298($sp) -/* 1120DC 7F0DD5AC 030E4021 */ addu $t0, $t8, $t6 -/* 1120E0 7F0DD5B0 910D0001 */ lbu $t5, 1($t0) -/* 1120E4 7F0DD5B4 01D87821 */ addu $t7, $t6, $t8 -/* 1120E8 7F0DD5B8 91EA0000 */ lbu $t2, ($t7) -/* 1120EC 7F0DD5BC 000D6200 */ sll $t4, $t5, 8 -/* 1120F0 7F0DD5C0 014CC825 */ or $t9, $t2, $t4 -/* 1120F4 7F0DD5C4 1000148D */ b .L7F0E27FC -/* 1120F8 7F0DD5C8 A7B90298 */ sh $t9, 0x298($sp) -.L7F0DD5CC: -/* 1120FC 7F0DD5CC 97A90298 */ lhu $t1, 0x298($sp) -/* 112100 7F0DD5D0 252B0002 */ addiu $t3, $t1, 2 -/* 112104 7F0DD5D4 10001489 */ b .L7F0E27FC -/* 112108 7F0DD5D8 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_DD: -/* 11210C 7F0DD5DC 8FAF028C */ lw $t7, 0x28c($sp) -/* 112110 7F0DD5E0 240E0001 */ li $t6, 1 -/* 112114 7F0DD5E4 A3AE0286 */ sb $t6, 0x286($sp) -/* 112118 7F0DD5E8 25F80004 */ addiu $t8, $t7, 4 -/* 11211C 7F0DD5EC AFB8028C */ sw $t8, 0x28c($sp) -/* 112120 7F0DD5F0 10001482 */ b .L7F0E27FC -/* 112124 7F0DD5F4 A3A00285 */ sb $zero, 0x285($sp) -spectrum_op_DE: -/* 112128 7F0DD5F8 8FA8028C */ lw $t0, 0x28c($sp) -/* 11212C 7F0DD5FC 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 112130 7F0DD600 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 112134 7F0DD604 97AA0298 */ lhu $t2, 0x298($sp) -/* 112138 7F0DD608 250D0007 */ addiu $t5, $t0, 7 -/* 11213C 7F0DD60C AFAD028C */ sw $t5, 0x28c($sp) -/* 112140 7F0DD610 014CC821 */ addu $t9, $t2, $t4 -/* 112144 7F0DD614 93290000 */ lbu $t1, ($t9) -/* 112148 7F0DD618 322F0001 */ andi $t7, $s1, 1 -/* 11214C 7F0DD61C 3208000F */ andi $t0, $s0, 0xf -/* 112150 7F0DD620 02095823 */ subu $t3, $s0, $t1 -/* 112154 7F0DD624 016FC023 */ subu $t8, $t3, $t7 -/* 112158 7F0DD628 330E01FF */ andi $t6, $t8, 0x1ff -/* 11215C 7F0DD62C 312B000F */ andi $t3, $t1, 0xf -/* 112160 7F0DD630 016FC021 */ addu $t8, $t3, $t7 -/* 112164 7F0DD634 0118502A */ slt $t2, $t0, $t8 -/* 112168 7F0DD638 31CD00A8 */ andi $t5, $t6, 0xa8 -/* 11216C 7F0DD63C 000E6203 */ sra $t4, $t6, 8 -/* 112170 7F0DD640 01ACC825 */ or $t9, $t5, $t4 -/* 112174 7F0DD644 02095826 */ xor $t3, $s0, $t1 -/* 112178 7F0DD648 000A6900 */ sll $t5, $t2, 4 -/* 11217C 7F0DD64C 01D0C026 */ xor $t8, $t6, $s0 -/* 112180 7F0DD650 A7AE00EE */ sh $t6, 0xee($sp) -/* 112184 7F0DD654 93B000EF */ lbu $s0, 0xef($sp) -/* 112188 7F0DD658 316F0080 */ andi $t7, $t3, 0x80 -/* 11218C 7F0DD65C 01F85024 */ and $t2, $t7, $t8 -/* 112190 7F0DD660 032D6025 */ or $t4, $t9, $t5 -/* 112194 7F0DD664 000AC943 */ sra $t9, $t2, 5 -/* 112198 7F0DD668 97B80298 */ lhu $t8, 0x298($sp) -/* 11219C 7F0DD66C 01998825 */ or $s1, $t4, $t9 -/* 1121A0 7F0DD670 A3A900ED */ sb $t1, 0xed($sp) -/* 1121A4 7F0DD674 2E0B0001 */ sltiu $t3, $s0, 1 -/* 1121A8 7F0DD678 000B4180 */ sll $t0, $t3, 6 -/* 1121AC 7F0DD67C 36290002 */ ori $t1, $s1, 2 -/* 1121B0 7F0DD680 01288825 */ or $s1, $t1, $t0 -/* 1121B4 7F0DD684 322F00FF */ andi $t7, $s1, 0xff -/* 1121B8 7F0DD688 270A0001 */ addiu $t2, $t8, 1 -/* 1121BC 7F0DD68C 01E08825 */ move $s1, $t7 -/* 1121C0 7F0DD690 AFAB0048 */ sw $t3, 0x48($sp) -/* 1121C4 7F0DD694 10001459 */ b .L7F0E27FC -/* 1121C8 7F0DD698 A7AA0298 */ sh $t2, 0x298($sp) -spectrum_op_DF: -/* 1121CC 7F0DD69C 97AD0292 */ lhu $t5, 0x292($sp) -/* 1121D0 7F0DD6A0 8FAC028C */ lw $t4, 0x28c($sp) -/* 1121D4 7F0DD6A4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1121D8 7F0DD6A8 25A9FFFE */ addiu $t1, $t5, -2 -/* 1121DC 7F0DD6AC 312BFFFF */ andi $t3, $t1, 0xffff -/* 1121E0 7F0DD6B0 29615B00 */ slti $at, $t3, 0x5b00 -/* 1121E4 7F0DD6B4 2599000B */ addiu $t9, $t4, 0xb -/* 1121E8 7F0DD6B8 AFB9028C */ sw $t9, 0x28c($sp) -/* 1121EC 7F0DD6BC 14200006 */ bnez $at, .L7F0DD6D8 -/* 1121F0 7F0DD6C0 A7A90292 */ sh $t1, 0x292($sp) -/* 1121F4 7F0DD6C4 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1121F8 7F0DD6C8 97AE0298 */ lhu $t6, 0x298($sp) -/* 1121FC 7F0DD6CC 010B7821 */ addu $t7, $t0, $t3 -/* 112200 7F0DD6D0 10000023 */ b .L7F0DD760 -/* 112204 7F0DD6D4 A1EE0000 */ sb $t6, ($t7) -.L7F0DD6D8: -/* 112208 7F0DD6D8 97B80292 */ lhu $t8, 0x292($sp) -/* 11220C 7F0DD6DC 97AE0292 */ lhu $t6, 0x292($sp) -/* 112210 7F0DD6E0 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 112214 7F0DD6E4 2B015800 */ slti $at, $t8, 0x5800 -/* 112218 7F0DD6E8 5420000D */ bnezl $at, .L7F0DD720 -/* 11221C 7F0DD6EC 29C14000 */ slti $at, $t6, 0x4000 -/* 112220 7F0DD6F0 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 112224 7F0DD6F4 97AA0298 */ lhu $t2, 0x298($sp) -/* 112228 7F0DD6F8 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 11222C 7F0DD6FC 0198C821 */ addu $t9, $t4, $t8 -/* 112230 7F0DD700 A32A0000 */ sb $t2, ($t9) -/* 112234 7F0DD704 97A80292 */ lhu $t0, 0x292($sp) -/* 112238 7F0DD708 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 11223C 7F0DD70C 240D0001 */ li $t5, 1 -/* 112240 7F0DD710 01285821 */ addu $t3, $t1, $t0 -/* 112244 7F0DD714 10000012 */ b .L7F0DD760 -/* 112248 7F0DD718 A16DA800 */ sb $t5, -0x5800($t3) -/* 11224C 7F0DD71C 29C14000 */ slti $at, $t6, 0x4000 -.L7F0DD720: -/* 112250 7F0DD720 1420000F */ bnez $at, .L7F0DD760 -/* 112254 7F0DD724 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 112258 7F0DD728 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 11225C 7F0DD72C 97AF0298 */ lhu $t7, 0x298($sp) -/* 112260 7F0DD730 240A0001 */ li $t2, 1 -/* 112264 7F0DD734 018EC021 */ addu $t8, $t4, $t6 -/* 112268 7F0DD738 A30F0000 */ sb $t7, ($t8) -/* 11226C 7F0DD73C 97B90292 */ lhu $t9, 0x292($sp) -/* 112270 7F0DD740 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 112274 7F0DD744 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 112278 7F0DD748 33291800 */ andi $t1, $t9, 0x1800 -/* 11227C 7F0DD74C 000940C3 */ sra $t0, $t1, 3 -/* 112280 7F0DD750 332D00FF */ andi $t5, $t9, 0xff -/* 112284 7F0DD754 010D5825 */ or $t3, $t0, $t5 -/* 112288 7F0DD758 018B7021 */ addu $t6, $t4, $t3 -/* 11228C 7F0DD75C A1CA0000 */ sb $t2, ($t6) -.L7F0DD760: -/* 112290 7F0DD760 97AF0292 */ lhu $t7, 0x292($sp) -/* 112294 7F0DD764 97AC0292 */ lhu $t4, 0x292($sp) -/* 112298 7F0DD768 97A90298 */ lhu $t1, 0x298($sp) -/* 11229C 7F0DD76C 25F80001 */ addiu $t8, $t7, 1 -/* 1122A0 7F0DD770 2B015B00 */ slti $at, $t8, 0x5b00 -/* 1122A4 7F0DD774 14200007 */ bnez $at, .L7F0DD794 -/* 1122A8 7F0DD778 258B0001 */ addiu $t3, $t4, 1 -/* 1122AC 7F0DD77C 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1122B0 7F0DD780 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1122B4 7F0DD784 0009CA03 */ sra $t9, $t1, 8 -/* 1122B8 7F0DD788 010F6821 */ addu $t5, $t0, $t7 -/* 1122BC 7F0DD78C 10000025 */ b .L7F0DD824 -/* 1122C0 7F0DD790 A1B90001 */ sb $t9, 1($t5) -.L7F0DD794: -/* 1122C4 7F0DD794 29615800 */ slti $at, $t3, 0x5800 -/* 1122C8 7F0DD798 1420000E */ bnez $at, .L7F0DD7D4 -/* 1122CC 7F0DD79C 97AB0292 */ lhu $t3, 0x292($sp) -/* 1122D0 7F0DD7A0 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1122D4 7F0DD7A4 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 1122D8 7F0DD7A8 97AA0298 */ lhu $t2, 0x298($sp) -/* 1122DC 7F0DD7AC 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 1122E0 7F0DD7B0 030C4821 */ addu $t1, $t8, $t4 -/* 1122E4 7F0DD7B4 000A7203 */ sra $t6, $t2, 8 -/* 1122E8 7F0DD7B8 A12E0001 */ sb $t6, 1($t1) -/* 1122EC 7F0DD7BC 97B90292 */ lhu $t9, 0x292($sp) -/* 1122F0 7F0DD7C0 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 1122F4 7F0DD7C4 24080001 */ li $t0, 1 -/* 1122F8 7F0DD7C8 01F96821 */ addu $t5, $t7, $t9 -/* 1122FC 7F0DD7CC 10000015 */ b .L7F0DD824 -/* 112300 7F0DD7D0 A1A8A801 */ sb $t0, -0x57ff($t5) -.L7F0DD7D4: -/* 112304 7F0DD7D4 256A0001 */ addiu $t2, $t3, 1 -/* 112308 7F0DD7D8 29414000 */ slti $at, $t2, 0x4000 -/* 11230C 7F0DD7DC 14200011 */ bnez $at, .L7F0DD824 -/* 112310 7F0DD7E0 97B80298 */ lhu $t8, 0x298($sp) -/* 112314 7F0DD7E4 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 112318 7F0DD7E8 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 11231C 7F0DD7EC 00186203 */ sra $t4, $t8, 8 -/* 112320 7F0DD7F0 240F0001 */ li $t7, 1 -/* 112324 7F0DD7F4 01CB4821 */ addu $t1, $t6, $t3 -/* 112328 7F0DD7F8 A12C0001 */ sb $t4, 1($t1) -/* 11232C 7F0DD7FC 97B90292 */ lhu $t9, 0x292($sp) -/* 112330 7F0DD800 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 112334 7F0DD804 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 112338 7F0DD808 27280001 */ addiu $t0, $t9, 1 -/* 11233C 7F0DD80C 310D1800 */ andi $t5, $t0, 0x1800 -/* 112340 7F0DD810 000D50C3 */ sra $t2, $t5, 3 -/* 112344 7F0DD814 311800FF */ andi $t8, $t0, 0xff -/* 112348 7F0DD818 01587025 */ or $t6, $t2, $t8 -/* 11234C 7F0DD81C 016E6021 */ addu $t4, $t3, $t6 -/* 112350 7F0DD820 A18F0000 */ sb $t7, ($t4) -.L7F0DD824: -/* 112354 7F0DD824 24090018 */ li $t1, 24 -/* 112358 7F0DD828 100013F4 */ b .L7F0E27FC -/* 11235C 7F0DD82C A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_E0: -/* 112360 7F0DD830 8FB9028C */ lw $t9, 0x28c($sp) -/* 112364 7F0DD834 32280004 */ andi $t0, $s1, 4 -/* 112368 7F0DD838 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 11236C 7F0DD83C 272D0005 */ addiu $t5, $t9, 5 -/* 112370 7F0DD840 150013EE */ bnez $t0, .L7F0E27FC -/* 112374 7F0DD844 AFAD028C */ sw $t5, 0x28c($sp) -/* 112378 7F0DD848 97AB0292 */ lhu $t3, 0x292($sp) -/* 11237C 7F0DD84C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 112380 7F0DD850 25B80006 */ addiu $t8, $t5, 6 -/* 112384 7F0DD854 AFB8028C */ sw $t8, 0x28c($sp) -/* 112388 7F0DD858 01CB4821 */ addu $t1, $t6, $t3 -/* 11238C 7F0DD85C 91390001 */ lbu $t9, 1($t1) -/* 112390 7F0DD860 016E7821 */ addu $t7, $t3, $t6 -/* 112394 7F0DD864 91EC0000 */ lbu $t4, ($t7) -/* 112398 7F0DD868 00196A00 */ sll $t5, $t9, 8 -/* 11239C 7F0DD86C 256A0002 */ addiu $t2, $t3, 2 -/* 1123A0 7F0DD870 018D4025 */ or $t0, $t4, $t5 -/* 1123A4 7F0DD874 A7A80298 */ sh $t0, 0x298($sp) -/* 1123A8 7F0DD878 100013E0 */ b .L7F0E27FC -/* 1123AC 7F0DD87C A7AA0292 */ sh $t2, 0x292($sp) -spectrum_op_E1: -/* 1123B0 7F0DD880 8FB8028C */ lw $t8, 0x28c($sp) -/* 1123B4 7F0DD884 93AE0287 */ lbu $t6, 0x287($sp) -/* 1123B8 7F0DD888 93A80287 */ lbu $t0, 0x287($sp) -/* 1123BC 7F0DD88C 270F000A */ addiu $t7, $t8, 0xa -/* 1123C0 7F0DD890 15C0000A */ bnez $t6, .L7F0DD8BC -/* 1123C4 7F0DD894 AFAF028C */ sw $t7, 0x28c($sp) -/* 1123C8 7F0DD898 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 1123CC 7F0DD89C 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 1123D0 7F0DD8A0 97A90292 */ lhu $t1, 0x292($sp) -/* 1123D4 7F0DD8A4 01396021 */ addu $t4, $t1, $t9 -/* 1123D8 7F0DD8A8 91970000 */ lbu $s7, ($t4) -/* 1123DC 7F0DD8AC 91960001 */ lbu $s6, 1($t4) -/* 1123E0 7F0DD8B0 252D0002 */ addiu $t5, $t1, 2 -/* 1123E4 7F0DD8B4 100013D1 */ b .L7F0E27FC -/* 1123E8 7F0DD8B8 A7AD0292 */ sh $t5, 0x292($sp) -.L7F0DD8BC: -/* 1123EC 7F0DD8BC 24010001 */ li $at, 1 -/* 1123F0 7F0DD8C0 1501000E */ bne $t0, $at, .L7F0DD8FC -/* 1123F4 7F0DD8C4 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1123F8 7F0DD8C8 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 1123FC 7F0DD8CC 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 112400 7F0DD8D0 97AB0292 */ lhu $t3, 0x292($sp) -/* 112404 7F0DD8D4 014B7021 */ addu $t6, $t2, $t3 -/* 112408 7F0DD8D8 91D90001 */ lbu $t9, 1($t6) -/* 11240C 7F0DD8DC 016AC021 */ addu $t8, $t3, $t2 -/* 112410 7F0DD8E0 930F0000 */ lbu $t7, ($t8) -/* 112414 7F0DD8E4 00196200 */ sll $t4, $t9, 8 -/* 112418 7F0DD8E8 256D0002 */ addiu $t5, $t3, 2 -/* 11241C 7F0DD8EC 01EC4825 */ or $t1, $t7, $t4 -/* 112420 7F0DD8F0 A7A90296 */ sh $t1, 0x296($sp) -/* 112424 7F0DD8F4 100013C1 */ b .L7F0E27FC -/* 112428 7F0DD8F8 A7AD0292 */ sh $t5, 0x292($sp) -.L7F0DD8FC: -/* 11242C 7F0DD8FC 97A80292 */ lhu $t0, 0x292($sp) -/* 112430 7F0DD900 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 112434 7F0DD904 250B0002 */ addiu $t3, $t0, 2 -/* 112438 7F0DD908 0308C821 */ addu $t9, $t8, $t0 -/* 11243C 7F0DD90C 932F0001 */ lbu $t7, 1($t9) -/* 112440 7F0DD910 01185021 */ addu $t2, $t0, $t8 -/* 112444 7F0DD914 914E0000 */ lbu $t6, ($t2) -/* 112448 7F0DD918 000F6200 */ sll $t4, $t7, 8 -/* 11244C 7F0DD91C A7AB0292 */ sh $t3, 0x292($sp) -/* 112450 7F0DD920 01CC4825 */ or $t1, $t6, $t4 -/* 112454 7F0DD924 100013B5 */ b .L7F0E27FC -/* 112458 7F0DD928 A7A90294 */ sh $t1, 0x294($sp) -spectrum_op_E2: -/* 11245C 7F0DD92C 8FAD028C */ lw $t5, 0x28c($sp) -/* 112460 7F0DD930 32380004 */ andi $t8, $s1, 4 -/* 112464 7F0DD934 97B90298 */ lhu $t9, 0x298($sp) -/* 112468 7F0DD938 25AA000A */ addiu $t2, $t5, 0xa -/* 11246C 7F0DD93C 1700000B */ bnez $t8, .L7F0DD96C -/* 112470 7F0DD940 AFAA028C */ sw $t2, 0x28c($sp) -/* 112474 7F0DD944 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 112478 7F0DD948 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 11247C 7F0DD94C 01F94821 */ addu $t1, $t7, $t9 -/* 112480 7F0DD950 91280001 */ lbu $t0, 1($t1) -/* 112484 7F0DD954 032F7021 */ addu $t6, $t9, $t7 -/* 112488 7F0DD958 91CC0000 */ lbu $t4, ($t6) -/* 11248C 7F0DD95C 00085A00 */ sll $t3, $t0, 8 -/* 112490 7F0DD960 018B6825 */ or $t5, $t4, $t3 -/* 112494 7F0DD964 100013A5 */ b .L7F0E27FC -/* 112498 7F0DD968 A7AD0298 */ sh $t5, 0x298($sp) -.L7F0DD96C: -/* 11249C 7F0DD96C 97AA0298 */ lhu $t2, 0x298($sp) -/* 1124A0 7F0DD970 25580002 */ addiu $t8, $t2, 2 -/* 1124A4 7F0DD974 100013A1 */ b .L7F0E27FC -/* 1124A8 7F0DD978 A7B80298 */ sh $t8, 0x298($sp) -spectrum_op_E3: -/* 1124AC 7F0DD97C 8FAE028C */ lw $t6, 0x28c($sp) -/* 1124B0 7F0DD980 93B90287 */ lbu $t9, 0x287($sp) -/* 1124B4 7F0DD984 93AC0287 */ lbu $t4, 0x287($sp) -/* 1124B8 7F0DD988 25CF0013 */ addiu $t7, $t6, 0x13 -/* 1124BC 7F0DD98C 17200063 */ bnez $t9, .L7F0DDB1C -/* 1124C0 7F0DD990 AFAF028C */ sw $t7, 0x28c($sp) -/* 1124C4 7F0DD994 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1124C8 7F0DD998 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1124CC 7F0DD99C 97A90292 */ lhu $t1, 0x292($sp) -/* 1124D0 7F0DD9A0 97AF0292 */ lhu $t7, 0x292($sp) -/* 1124D4 7F0DD9A4 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 1124D8 7F0DD9A8 01096821 */ addu $t5, $t0, $t1 -/* 1124DC 7F0DD9AC 91AA0001 */ lbu $t2, 1($t5) -/* 1124E0 7F0DD9B0 01286021 */ addu $t4, $t1, $t0 -/* 1124E4 7F0DD9B4 918B0000 */ lbu $t3, ($t4) -/* 1124E8 7F0DD9B8 000AC200 */ sll $t8, $t2, 8 -/* 1124EC 7F0DD9BC 29E15B00 */ slti $at, $t7, 0x5b00 -/* 1124F0 7F0DD9C0 01787025 */ or $t6, $t3, $t8 -/* 1124F4 7F0DD9C4 14200005 */ bnez $at, .L7F0DD9DC -/* 1124F8 7F0DD9C8 A7AE00EA */ sh $t6, 0xea($sp) -/* 1124FC 7F0DD9CC 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 112500 7F0DD9D0 032F6021 */ addu $t4, $t9, $t7 -/* 112504 7F0DD9D4 10000021 */ b .L7F0DDA5C -/* 112508 7F0DD9D8 A1970000 */ sb $s7, ($t4) -.L7F0DD9DC: -/* 11250C 7F0DD9DC 97A80292 */ lhu $t0, 0x292($sp) -/* 112510 7F0DD9E0 97B90292 */ lhu $t9, 0x292($sp) -/* 112514 7F0DD9E4 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 112518 7F0DD9E8 29015800 */ slti $at, $t0, 0x5800 -/* 11251C 7F0DD9EC 5420000C */ bnezl $at, .L7F0DDA20 -/* 112520 7F0DD9F0 2B214000 */ slti $at, $t9, 0x4000 -/* 112524 7F0DD9F4 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 112528 7F0DD9F8 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 11252C 7F0DD9FC 240A0001 */ li $t2, 1 -/* 112530 7F0DDA00 01286821 */ addu $t5, $t1, $t0 -/* 112534 7F0DDA04 A1B70000 */ sb $s7, ($t5) -/* 112538 7F0DDA08 97B80292 */ lhu $t8, 0x292($sp) -/* 11253C 7F0DDA0C 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 112540 7F0DDA10 01787021 */ addu $t6, $t3, $t8 -/* 112544 7F0DDA14 10000011 */ b .L7F0DDA5C -/* 112548 7F0DDA18 A1CAA800 */ sb $t2, -0x5800($t6) -/* 11254C 7F0DDA1C 2B214000 */ slti $at, $t9, 0x4000 -.L7F0DDA20: -/* 112550 7F0DDA20 1420000E */ bnez $at, .L7F0DDA5C -/* 112554 7F0DDA24 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 112558 7F0DDA28 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 11255C 7F0DDA2C 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 112560 7F0DDA30 24090001 */ li $t1, 1 -/* 112564 7F0DDA34 01F96021 */ addu $t4, $t7, $t9 -/* 112568 7F0DDA38 A1970000 */ sb $s7, ($t4) -/* 11256C 7F0DDA3C 97A80292 */ lhu $t0, 0x292($sp) -/* 112570 7F0DDA40 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 112574 7F0DDA44 310D1800 */ andi $t5, $t0, 0x1800 -/* 112578 7F0DDA48 000D58C3 */ sra $t3, $t5, 3 -/* 11257C 7F0DDA4C 311800FF */ andi $t8, $t0, 0xff -/* 112580 7F0DDA50 01785025 */ or $t2, $t3, $t8 -/* 112584 7F0DDA54 01CA7821 */ addu $t7, $t6, $t2 -/* 112588 7F0DDA58 A1E90000 */ sb $t1, ($t7) -.L7F0DDA5C: -/* 11258C 7F0DDA5C 97B90292 */ lhu $t9, 0x292($sp) -/* 112590 7F0DDA60 97AB0292 */ lhu $t3, 0x292($sp) -/* 112594 7F0DDA64 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 112598 7F0DDA68 272C0001 */ addiu $t4, $t9, 1 -/* 11259C 7F0DDA6C 29815B00 */ slti $at, $t4, 0x5b00 -/* 1125A0 7F0DDA70 14200005 */ bnez $at, .L7F0DDA88 -/* 1125A4 7F0DDA74 25780001 */ addiu $t8, $t3, 1 -/* 1125A8 7F0DDA78 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1125AC 7F0DDA7C 01B94021 */ addu $t0, $t5, $t9 -/* 1125B0 7F0DDA80 10000021 */ b .L7F0DDB08 -/* 1125B4 7F0DDA84 A1160001 */ sb $s6, 1($t0) -.L7F0DDA88: -/* 1125B8 7F0DDA88 2B015800 */ slti $at, $t8, 0x5800 -/* 1125BC 7F0DDA8C 1420000C */ bnez $at, .L7F0DDAC0 -/* 1125C0 7F0DDA90 97B90292 */ lhu $t9, 0x292($sp) -/* 1125C4 7F0DDA94 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1125C8 7F0DDA98 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1125CC 7F0DDA9C 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 1125D0 7F0DDAA0 24090001 */ li $t1, 1 -/* 1125D4 7F0DDAA4 01CB5021 */ addu $t2, $t6, $t3 -/* 1125D8 7F0DDAA8 A1560001 */ sb $s6, 1($t2) -/* 1125DC 7F0DDAAC 97AC0292 */ lhu $t4, 0x292($sp) -/* 1125E0 7F0DDAB0 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 1125E4 7F0DDAB4 01EC6821 */ addu $t5, $t7, $t4 -/* 1125E8 7F0DDAB8 10000013 */ b .L7F0DDB08 -/* 1125EC 7F0DDABC A1A9A801 */ sb $t1, -0x57ff($t5) -.L7F0DDAC0: -/* 1125F0 7F0DDAC0 27280001 */ addiu $t0, $t9, 1 -/* 1125F4 7F0DDAC4 29014000 */ slti $at, $t0, 0x4000 -/* 1125F8 7F0DDAC8 1420000F */ bnez $at, .L7F0DDB08 -/* 1125FC 7F0DDACC 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 112600 7F0DDAD0 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 112604 7F0DDAD4 240B0001 */ li $t3, 1 -/* 112608 7F0DDAD8 03197021 */ addu $t6, $t8, $t9 -/* 11260C 7F0DDADC A1D60001 */ sb $s6, 1($t6) -/* 112610 7F0DDAE0 97AA0292 */ lhu $t2, 0x292($sp) -/* 112614 7F0DDAE4 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 112618 7F0DDAE8 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 11261C 7F0DDAEC 254F0001 */ addiu $t7, $t2, 1 -/* 112620 7F0DDAF0 31EC1800 */ andi $t4, $t7, 0x1800 -/* 112624 7F0DDAF4 000C48C3 */ sra $t1, $t4, 3 -/* 112628 7F0DDAF8 31ED00FF */ andi $t5, $t7, 0xff -/* 11262C 7F0DDAFC 012D4025 */ or $t0, $t1, $t5 -/* 112630 7F0DDB00 0308C821 */ addu $t9, $t8, $t0 -/* 112634 7F0DDB04 A32B0000 */ sb $t3, ($t9) -.L7F0DDB08: -/* 112638 7F0DDB08 97B600EA */ lhu $s6, 0xea($sp) -/* 11263C 7F0DDB0C 93B700EB */ lbu $s7, 0xeb($sp) -/* 112640 7F0DDB10 00167203 */ sra $t6, $s6, 8 -/* 112644 7F0DDB14 10001339 */ b .L7F0E27FC -/* 112648 7F0DDB18 31D600FF */ andi $s6, $t6, 0xff -.L7F0DDB1C: -/* 11264C 7F0DDB1C 24010001 */ li $at, 1 -/* 112650 7F0DDB20 1581006A */ bne $t4, $at, .L7F0DDCCC -/* 112654 7F0DDB24 97B80292 */ lhu $t8, 0x292($sp) -/* 112658 7F0DDB28 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 11265C 7F0DDB2C 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 112660 7F0DDB30 97AF0292 */ lhu $t7, 0x292($sp) -/* 112664 7F0DDB34 97AA0292 */ lhu $t2, 0x292($sp) -/* 112668 7F0DDB38 012F4021 */ addu $t0, $t1, $t7 -/* 11266C 7F0DDB3C 910B0001 */ lbu $t3, 1($t0) -/* 112670 7F0DDB40 01E96821 */ addu $t5, $t7, $t1 -/* 112674 7F0DDB44 91B80000 */ lbu $t8, ($t5) -/* 112678 7F0DDB48 000BCA00 */ sll $t9, $t3, 8 -/* 11267C 7F0DDB4C 29415B00 */ slti $at, $t2, 0x5b00 -/* 112680 7F0DDB50 03197025 */ or $t6, $t8, $t9 -/* 112684 7F0DDB54 14200007 */ bnez $at, .L7F0DDB74 -/* 112688 7F0DDB58 A7AE00E8 */ sh $t6, 0xe8($sp) -/* 11268C 7F0DDB5C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 112690 7F0DDB60 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 112694 7F0DDB64 97AC0296 */ lhu $t4, 0x296($sp) -/* 112698 7F0DDB68 01AA4821 */ addu $t1, $t5, $t2 -/* 11269C 7F0DDB6C 10000023 */ b .L7F0DDBFC -/* 1126A0 7F0DDB70 A12C0000 */ sb $t4, ($t1) -.L7F0DDB74: -/* 1126A4 7F0DDB74 97AF0292 */ lhu $t7, 0x292($sp) -/* 1126A8 7F0DDB78 97AC0292 */ lhu $t4, 0x292($sp) -/* 1126AC 7F0DDB7C 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1126B0 7F0DDB80 29E15800 */ slti $at, $t7, 0x5800 -/* 1126B4 7F0DDB84 5420000D */ bnezl $at, .L7F0DDBBC -/* 1126B8 7F0DDB88 29814000 */ slti $at, $t4, 0x4000 -/* 1126BC 7F0DDB8C 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1126C0 7F0DDB90 97A80296 */ lhu $t0, 0x296($sp) -/* 1126C4 7F0DDB94 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 1126C8 7F0DDB98 016FC021 */ addu $t8, $t3, $t7 -/* 1126CC 7F0DDB9C A3080000 */ sb $t0, ($t8) -/* 1126D0 7F0DDBA0 97AD0292 */ lhu $t5, 0x292($sp) -/* 1126D4 7F0DDBA4 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 1126D8 7F0DDBA8 24190001 */ li $t9, 1 -/* 1126DC 7F0DDBAC 01CD5021 */ addu $t2, $t6, $t5 -/* 1126E0 7F0DDBB0 10000012 */ b .L7F0DDBFC -/* 1126E4 7F0DDBB4 A159A800 */ sb $t9, -0x5800($t2) -/* 1126E8 7F0DDBB8 29814000 */ slti $at, $t4, 0x4000 -.L7F0DDBBC: -/* 1126EC 7F0DDBBC 1420000F */ bnez $at, .L7F0DDBFC -/* 1126F0 7F0DDBC0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1126F4 7F0DDBC4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1126F8 7F0DDBC8 97A90296 */ lhu $t1, 0x296($sp) -/* 1126FC 7F0DDBCC 24080001 */ li $t0, 1 -/* 112700 7F0DDBD0 016C7821 */ addu $t7, $t3, $t4 -/* 112704 7F0DDBD4 A1E90000 */ sb $t1, ($t7) -/* 112708 7F0DDBD8 97B80292 */ lhu $t8, 0x292($sp) -/* 11270C 7F0DDBDC 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 112710 7F0DDBE0 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 112714 7F0DDBE4 330E1800 */ andi $t6, $t8, 0x1800 -/* 112718 7F0DDBE8 000E68C3 */ sra $t5, $t6, 3 -/* 11271C 7F0DDBEC 331900FF */ andi $t9, $t8, 0xff -/* 112720 7F0DDBF0 01B95025 */ or $t2, $t5, $t9 -/* 112724 7F0DDBF4 016A6021 */ addu $t4, $t3, $t2 -/* 112728 7F0DDBF8 A1880000 */ sb $t0, ($t4) -.L7F0DDBFC: -/* 11272C 7F0DDBFC 97A90292 */ lhu $t1, 0x292($sp) -/* 112730 7F0DDC00 97AB0292 */ lhu $t3, 0x292($sp) -/* 112734 7F0DDC04 97AE0296 */ lhu $t6, 0x296($sp) -/* 112738 7F0DDC08 252F0001 */ addiu $t7, $t1, 1 -/* 11273C 7F0DDC0C 29E15B00 */ slti $at, $t7, 0x5b00 -/* 112740 7F0DDC10 14200007 */ bnez $at, .L7F0DDC30 -/* 112744 7F0DDC14 256A0001 */ addiu $t2, $t3, 1 -/* 112748 7F0DDC18 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 11274C 7F0DDC1C 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 112750 7F0DDC20 000EC203 */ sra $t8, $t6, 8 -/* 112754 7F0DDC24 01A9C821 */ addu $t9, $t5, $t1 -/* 112758 7F0DDC28 10000025 */ b .L7F0DDCC0 -/* 11275C 7F0DDC2C A3380001 */ sb $t8, 1($t9) -.L7F0DDC30: -/* 112760 7F0DDC30 29415800 */ slti $at, $t2, 0x5800 -/* 112764 7F0DDC34 1420000E */ bnez $at, .L7F0DDC70 -/* 112768 7F0DDC38 97AA0292 */ lhu $t2, 0x292($sp) -/* 11276C 7F0DDC3C 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 112770 7F0DDC40 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 112774 7F0DDC44 97A80296 */ lhu $t0, 0x296($sp) -/* 112778 7F0DDC48 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 11277C 7F0DDC4C 01EB7021 */ addu $t6, $t7, $t3 -/* 112780 7F0DDC50 00086203 */ sra $t4, $t0, 8 -/* 112784 7F0DDC54 A1CC0001 */ sb $t4, 1($t6) -/* 112788 7F0DDC58 97B80292 */ lhu $t8, 0x292($sp) -/* 11278C 7F0DDC5C 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 112790 7F0DDC60 240D0001 */ li $t5, 1 -/* 112794 7F0DDC64 0138C821 */ addu $t9, $t1, $t8 -/* 112798 7F0DDC68 10000015 */ b .L7F0DDCC0 -/* 11279C 7F0DDC6C A32DA801 */ sb $t5, -0x57ff($t9) -.L7F0DDC70: -/* 1127A0 7F0DDC70 25480001 */ addiu $t0, $t2, 1 -/* 1127A4 7F0DDC74 29014000 */ slti $at, $t0, 0x4000 -/* 1127A8 7F0DDC78 14200011 */ bnez $at, .L7F0DDCC0 -/* 1127AC 7F0DDC7C 97AF0296 */ lhu $t7, 0x296($sp) -/* 1127B0 7F0DDC80 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 1127B4 7F0DDC84 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 1127B8 7F0DDC88 000F5A03 */ sra $t3, $t7, 8 -/* 1127BC 7F0DDC8C 24090001 */ li $t1, 1 -/* 1127C0 7F0DDC90 018A7021 */ addu $t6, $t4, $t2 -/* 1127C4 7F0DDC94 A1CB0001 */ sb $t3, 1($t6) -/* 1127C8 7F0DDC98 97B80292 */ lhu $t8, 0x292($sp) -/* 1127CC 7F0DDC9C 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 1127D0 7F0DDCA0 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 1127D4 7F0DDCA4 270D0001 */ addiu $t5, $t8, 1 -/* 1127D8 7F0DDCA8 31B91800 */ andi $t9, $t5, 0x1800 -/* 1127DC 7F0DDCAC 001940C3 */ sra $t0, $t9, 3 -/* 1127E0 7F0DDCB0 31AF00FF */ andi $t7, $t5, 0xff -/* 1127E4 7F0DDCB4 010F6025 */ or $t4, $t0, $t7 -/* 1127E8 7F0DDCB8 014C5821 */ addu $t3, $t2, $t4 -/* 1127EC 7F0DDCBC A1690000 */ sb $t1, ($t3) -.L7F0DDCC0: -/* 1127F0 7F0DDCC0 97AE00E8 */ lhu $t6, 0xe8($sp) -/* 1127F4 7F0DDCC4 100012CD */ b .L7F0E27FC -/* 1127F8 7F0DDCC8 A7AE0296 */ sh $t6, 0x296($sp) -.L7F0DDCCC: -/* 1127FC 7F0DDCCC 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 112800 7F0DDCD0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 112804 7F0DDCD4 97AB0292 */ lhu $t3, 0x292($sp) -/* 112808 7F0DDCD8 03387821 */ addu $t7, $t9, $t8 -/* 11280C 7F0DDCDC 91EA0001 */ lbu $t2, 1($t7) -/* 112810 7F0DDCE0 03196821 */ addu $t5, $t8, $t9 -/* 112814 7F0DDCE4 91A80000 */ lbu $t0, ($t5) -/* 112818 7F0DDCE8 000A6200 */ sll $t4, $t2, 8 -/* 11281C 7F0DDCEC 29615B00 */ slti $at, $t3, 0x5b00 -/* 112820 7F0DDCF0 010C4825 */ or $t1, $t0, $t4 -/* 112824 7F0DDCF4 14200007 */ bnez $at, .L7F0DDD14 -/* 112828 7F0DDCF8 A7A900E6 */ sh $t1, 0xe6($sp) -/* 11282C 7F0DDCFC 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 112830 7F0DDD00 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 112834 7F0DDD04 97AE0294 */ lhu $t6, 0x294($sp) -/* 112838 7F0DDD08 01ABC821 */ addu $t9, $t5, $t3 -/* 11283C 7F0DDD0C 10000023 */ b .L7F0DDD9C -/* 112840 7F0DDD10 A32E0000 */ sb $t6, ($t9) -.L7F0DDD14: -/* 112844 7F0DDD14 97B80292 */ lhu $t8, 0x292($sp) -/* 112848 7F0DDD18 97AE0292 */ lhu $t6, 0x292($sp) -/* 11284C 7F0DDD1C 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 112850 7F0DDD20 2B015800 */ slti $at, $t8, 0x5800 -/* 112854 7F0DDD24 5420000D */ bnezl $at, .L7F0DDD5C -/* 112858 7F0DDD28 29C14000 */ slti $at, $t6, 0x4000 -/* 11285C 7F0DDD2C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 112860 7F0DDD30 97AF0294 */ lhu $t7, 0x294($sp) -/* 112864 7F0DDD34 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 112868 7F0DDD38 01584021 */ addu $t0, $t2, $t8 -/* 11286C 7F0DDD3C A10F0000 */ sb $t7, ($t0) -/* 112870 7F0DDD40 97AD0292 */ lhu $t5, 0x292($sp) -/* 112874 7F0DDD44 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 112878 7F0DDD48 240C0001 */ li $t4, 1 -/* 11287C 7F0DDD4C 012D5821 */ addu $t3, $t1, $t5 -/* 112880 7F0DDD50 10000012 */ b .L7F0DDD9C -/* 112884 7F0DDD54 A16CA800 */ sb $t4, -0x5800($t3) -/* 112888 7F0DDD58 29C14000 */ slti $at, $t6, 0x4000 -.L7F0DDD5C: -/* 11288C 7F0DDD5C 1420000F */ bnez $at, .L7F0DDD9C -/* 112890 7F0DDD60 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 112894 7F0DDD64 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 112898 7F0DDD68 97B90294 */ lhu $t9, 0x294($sp) -/* 11289C 7F0DDD6C 240F0001 */ li $t7, 1 -/* 1128A0 7F0DDD70 014EC021 */ addu $t8, $t2, $t6 -/* 1128A4 7F0DDD74 A3190000 */ sb $t9, ($t8) -/* 1128A8 7F0DDD78 97A80292 */ lhu $t0, 0x292($sp) -/* 1128AC 7F0DDD7C 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 1128B0 7F0DDD80 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 1128B4 7F0DDD84 31091800 */ andi $t1, $t0, 0x1800 -/* 1128B8 7F0DDD88 000968C3 */ sra $t5, $t1, 3 -/* 1128BC 7F0DDD8C 310C00FF */ andi $t4, $t0, 0xff -/* 1128C0 7F0DDD90 01AC5825 */ or $t3, $t5, $t4 -/* 1128C4 7F0DDD94 014B7021 */ addu $t6, $t2, $t3 -/* 1128C8 7F0DDD98 A1CF0000 */ sb $t7, ($t6) -.L7F0DDD9C: -/* 1128CC 7F0DDD9C 97B90292 */ lhu $t9, 0x292($sp) -/* 1128D0 7F0DDDA0 97AA0292 */ lhu $t2, 0x292($sp) -/* 1128D4 7F0DDDA4 97A90294 */ lhu $t1, 0x294($sp) -/* 1128D8 7F0DDDA8 27380001 */ addiu $t8, $t9, 1 -/* 1128DC 7F0DDDAC 2B015B00 */ slti $at, $t8, 0x5b00 -/* 1128E0 7F0DDDB0 14200007 */ bnez $at, .L7F0DDDD0 -/* 1128E4 7F0DDDB4 254B0001 */ addiu $t3, $t2, 1 -/* 1128E8 7F0DDDB8 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1128EC 7F0DDDBC 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1128F0 7F0DDDC0 00094203 */ sra $t0, $t1, 8 -/* 1128F4 7F0DDDC4 01B96021 */ addu $t4, $t5, $t9 -/* 1128F8 7F0DDDC8 10000025 */ b .L7F0DDE60 -/* 1128FC 7F0DDDCC A1880001 */ sb $t0, 1($t4) -.L7F0DDDD0: -/* 112900 7F0DDDD0 29615800 */ slti $at, $t3, 0x5800 -/* 112904 7F0DDDD4 1420000E */ bnez $at, .L7F0DDE10 -/* 112908 7F0DDDD8 97AB0292 */ lhu $t3, 0x292($sp) -/* 11290C 7F0DDDDC 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 112910 7F0DDDE0 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 112914 7F0DDDE4 97AF0294 */ lhu $t7, 0x294($sp) -/* 112918 7F0DDDE8 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 11291C 7F0DDDEC 030A4821 */ addu $t1, $t8, $t2 -/* 112920 7F0DDDF0 000F7203 */ sra $t6, $t7, 8 -/* 112924 7F0DDDF4 A12E0001 */ sb $t6, 1($t1) -/* 112928 7F0DDDF8 97A80292 */ lhu $t0, 0x292($sp) -/* 11292C 7F0DDDFC 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 112930 7F0DDE00 240D0001 */ li $t5, 1 -/* 112934 7F0DDE04 03286021 */ addu $t4, $t9, $t0 -/* 112938 7F0DDE08 10000015 */ b .L7F0DDE60 -/* 11293C 7F0DDE0C A18DA801 */ sb $t5, -0x57ff($t4) -.L7F0DDE10: -/* 112940 7F0DDE10 256F0001 */ addiu $t7, $t3, 1 -/* 112944 7F0DDE14 29E14000 */ slti $at, $t7, 0x4000 -/* 112948 7F0DDE18 14200011 */ bnez $at, .L7F0DDE60 -/* 11294C 7F0DDE1C 97B80294 */ lhu $t8, 0x294($sp) -/* 112950 7F0DDE20 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 112954 7F0DDE24 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 112958 7F0DDE28 00185203 */ sra $t2, $t8, 8 -/* 11295C 7F0DDE2C 24190001 */ li $t9, 1 -/* 112960 7F0DDE30 01CB4821 */ addu $t1, $t6, $t3 -/* 112964 7F0DDE34 A12A0001 */ sb $t2, 1($t1) -/* 112968 7F0DDE38 97A80292 */ lhu $t0, 0x292($sp) -/* 11296C 7F0DDE3C 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 112970 7F0DDE40 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 112974 7F0DDE44 250D0001 */ addiu $t5, $t0, 1 -/* 112978 7F0DDE48 31AC1800 */ andi $t4, $t5, 0x1800 -/* 11297C 7F0DDE4C 000C78C3 */ sra $t7, $t4, 3 -/* 112980 7F0DDE50 31B800FF */ andi $t8, $t5, 0xff -/* 112984 7F0DDE54 01F87025 */ or $t6, $t7, $t8 -/* 112988 7F0DDE58 016E5021 */ addu $t2, $t3, $t6 -/* 11298C 7F0DDE5C A1590000 */ sb $t9, ($t2) -.L7F0DDE60: -/* 112990 7F0DDE60 97A900E6 */ lhu $t1, 0xe6($sp) -/* 112994 7F0DDE64 10001265 */ b .L7F0E27FC -/* 112998 7F0DDE68 A7A90294 */ sh $t1, 0x294($sp) -spectrum_op_E4: -/* 11299C 7F0DDE6C 8FA8028C */ lw $t0, 0x28c($sp) -/* 1129A0 7F0DDE70 322D0004 */ andi $t5, $s1, 4 -/* 1129A4 7F0DDE74 250C000A */ addiu $t4, $t0, 0xa -/* 1129A8 7F0DDE78 15A00072 */ bnez $t5, .L7F0DE044 -/* 1129AC 7F0DDE7C AFAC028C */ sw $t4, 0x28c($sp) -/* 1129B0 7F0DDE80 97AB0292 */ lhu $t3, 0x292($sp) -/* 1129B4 7F0DDE84 25980007 */ addiu $t8, $t4, 7 -/* 1129B8 7F0DDE88 AFB8028C */ sw $t8, 0x28c($sp) -/* 1129BC 7F0DDE8C 256EFFFE */ addiu $t6, $t3, -2 -/* 1129C0 7F0DDE90 31D9FFFF */ andi $t9, $t6, 0xffff -/* 1129C4 7F0DDE94 2B215B00 */ slti $at, $t9, 0x5b00 -/* 1129C8 7F0DDE98 14200008 */ bnez $at, .L7F0DDEBC -/* 1129CC 7F0DDE9C A7AE0292 */ sh $t6, 0x292($sp) -/* 1129D0 7F0DDEA0 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1129D4 7F0DDEA4 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1129D8 7F0DDEA8 97AA0298 */ lhu $t2, 0x298($sp) -/* 1129DC 7F0DDEAC 01196021 */ addu $t4, $t0, $t9 -/* 1129E0 7F0DDEB0 25490002 */ addiu $t1, $t2, 2 -/* 1129E4 7F0DDEB4 10000024 */ b .L7F0DDF48 -/* 1129E8 7F0DDEB8 A1890000 */ sb $t1, ($t4) -.L7F0DDEBC: -/* 1129EC 7F0DDEBC 97AD0292 */ lhu $t5, 0x292($sp) -/* 1129F0 7F0DDEC0 97AC0292 */ lhu $t4, 0x292($sp) -/* 1129F4 7F0DDEC4 97AF0298 */ lhu $t7, 0x298($sp) -/* 1129F8 7F0DDEC8 29A15800 */ slti $at, $t5, 0x5800 -/* 1129FC 7F0DDECC 1420000C */ bnez $at, .L7F0DDF00 -/* 112A00 7F0DDED0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 112A04 7F0DDED4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 112A08 7F0DDED8 25F80002 */ addiu $t8, $t7, 2 -/* 112A0C 7F0DDEDC 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 112A10 7F0DDEE0 016D7021 */ addu $t6, $t3, $t5 -/* 112A14 7F0DDEE4 A1D80000 */ sb $t8, ($t6) -/* 112A18 7F0DDEE8 97B90292 */ lhu $t9, 0x292($sp) -/* 112A1C 7F0DDEEC 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 112A20 7F0DDEF0 240A0001 */ li $t2, 1 -/* 112A24 7F0DDEF4 01194821 */ addu $t1, $t0, $t9 -/* 112A28 7F0DDEF8 10000013 */ b .L7F0DDF48 -/* 112A2C 7F0DDEFC A12AA800 */ sb $t2, -0x5800($t1) -.L7F0DDF00: -/* 112A30 7F0DDF00 29814000 */ slti $at, $t4, 0x4000 -/* 112A34 7F0DDF04 14200010 */ bnez $at, .L7F0DDF48 -/* 112A38 7F0DDF08 97AF0298 */ lhu $t7, 0x298($sp) -/* 112A3C 7F0DDF0C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 112A40 7F0DDF10 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 112A44 7F0DDF14 25EB0002 */ addiu $t3, $t7, 2 -/* 112A48 7F0DDF18 240E0001 */ li $t6, 1 -/* 112A4C 7F0DDF1C 01ACC021 */ addu $t8, $t5, $t4 -/* 112A50 7F0DDF20 A30B0000 */ sb $t3, ($t8) -/* 112A54 7F0DDF24 97A80292 */ lhu $t0, 0x292($sp) -/* 112A58 7F0DDF28 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 112A5C 7F0DDF2C 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 112A60 7F0DDF30 31191800 */ andi $t9, $t0, 0x1800 -/* 112A64 7F0DDF34 001950C3 */ sra $t2, $t9, 3 -/* 112A68 7F0DDF38 310900FF */ andi $t1, $t0, 0xff -/* 112A6C 7F0DDF3C 01497825 */ or $t7, $t2, $t1 -/* 112A70 7F0DDF40 01AF6021 */ addu $t4, $t5, $t7 -/* 112A74 7F0DDF44 A18E0000 */ sb $t6, ($t4) -.L7F0DDF48: -/* 112A78 7F0DDF48 97AB0292 */ lhu $t3, 0x292($sp) -/* 112A7C 7F0DDF4C 97AF0292 */ lhu $t7, 0x292($sp) -/* 112A80 7F0DDF50 97B90298 */ lhu $t9, 0x298($sp) -/* 112A84 7F0DDF54 25780001 */ addiu $t8, $t3, 1 -/* 112A88 7F0DDF58 2B015B00 */ slti $at, $t8, 0x5b00 -/* 112A8C 7F0DDF5C 14200008 */ bnez $at, .L7F0DDF80 -/* 112A90 7F0DDF60 25EE0001 */ addiu $t6, $t7, 1 -/* 112A94 7F0DDF64 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 112A98 7F0DDF68 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 112A9C 7F0DDF6C 27280002 */ addiu $t0, $t9, 2 -/* 112AA0 7F0DDF70 00085203 */ sra $t2, $t0, 8 -/* 112AA4 7F0DDF74 012B6821 */ addu $t5, $t1, $t3 -/* 112AA8 7F0DDF78 10000027 */ b .L7F0DE018 -/* 112AAC 7F0DDF7C A1AA0001 */ sb $t2, 1($t5) -.L7F0DDF80: -/* 112AB0 7F0DDF80 29C15800 */ slti $at, $t6, 0x5800 -/* 112AB4 7F0DDF84 1420000F */ bnez $at, .L7F0DDFC4 -/* 112AB8 7F0DDF88 97AC0292 */ lhu $t4, 0x292($sp) -/* 112ABC 7F0DDF8C 97AC0298 */ lhu $t4, 0x298($sp) -/* 112AC0 7F0DDF90 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 112AC4 7F0DDF94 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 112AC8 7F0DDF98 25980002 */ addiu $t8, $t4, 2 -/* 112ACC 7F0DDF9C 0018CA03 */ sra $t9, $t8, 8 -/* 112AD0 7F0DDFA0 010F4821 */ addu $t1, $t0, $t7 -/* 112AD4 7F0DDFA4 A1390001 */ sb $t9, 1($t1) -/* 112AD8 7F0DDFA8 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 112ADC 7F0DDFAC 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 112AE0 7F0DDFB0 97AD0292 */ lhu $t5, 0x292($sp) -/* 112AE4 7F0DDFB4 240B0001 */ li $t3, 1 -/* 112AE8 7F0DDFB8 014D7021 */ addu $t6, $t2, $t5 -/* 112AEC 7F0DDFBC 10000016 */ b .L7F0DE018 -/* 112AF0 7F0DDFC0 A1CBA801 */ sb $t3, -0x57ff($t6) -.L7F0DDFC4: -/* 112AF4 7F0DDFC4 25980001 */ addiu $t8, $t4, 1 -/* 112AF8 7F0DDFC8 2B014000 */ slti $at, $t8, 0x4000 -/* 112AFC 7F0DDFCC 14200012 */ bnez $at, .L7F0DE018 -/* 112B00 7F0DDFD0 97A80298 */ lhu $t0, 0x298($sp) -/* 112B04 7F0DDFD4 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 112B08 7F0DDFD8 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 112B0C 7F0DDFDC 250F0002 */ addiu $t7, $t0, 2 -/* 112B10 7F0DDFE0 000FCA03 */ sra $t9, $t7, 8 -/* 112B14 7F0DDFE4 012C5021 */ addu $t2, $t1, $t4 -/* 112B18 7F0DDFE8 A1590001 */ sb $t9, 1($t2) -/* 112B1C 7F0DDFEC 97AB0292 */ lhu $t3, 0x292($sp) -/* 112B20 7F0DDFF0 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 112B24 7F0DDFF4 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 112B28 7F0DDFF8 256E0001 */ addiu $t6, $t3, 1 -/* 112B2C 7F0DDFFC 31D81800 */ andi $t8, $t6, 0x1800 -/* 112B30 7F0DE000 001840C3 */ sra $t0, $t8, 3 -/* 112B34 7F0DE004 31CF00FF */ andi $t7, $t6, 0xff -/* 112B38 7F0DE008 010F4825 */ or $t1, $t0, $t7 -/* 112B3C 7F0DE00C 240D0001 */ li $t5, 1 -/* 112B40 7F0DE010 0189C821 */ addu $t9, $t4, $t1 -/* 112B44 7F0DE014 A32D0000 */ sb $t5, ($t9) -.L7F0DE018: -/* 112B48 7F0DE018 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 112B4C 7F0DE01C 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 112B50 7F0DE020 97AA0298 */ lhu $t2, 0x298($sp) -/* 112B54 7F0DE024 016A4021 */ addu $t0, $t3, $t2 -/* 112B58 7F0DE028 910F0001 */ lbu $t7, 1($t0) -/* 112B5C 7F0DE02C 014BC021 */ addu $t8, $t2, $t3 -/* 112B60 7F0DE030 930E0000 */ lbu $t6, ($t8) -/* 112B64 7F0DE034 000F6200 */ sll $t4, $t7, 8 -/* 112B68 7F0DE038 01CC4825 */ or $t1, $t6, $t4 -/* 112B6C 7F0DE03C 100011EF */ b .L7F0E27FC -/* 112B70 7F0DE040 A7A90298 */ sh $t1, 0x298($sp) -.L7F0DE044: -/* 112B74 7F0DE044 97AD0298 */ lhu $t5, 0x298($sp) -/* 112B78 7F0DE048 25B90002 */ addiu $t9, $t5, 2 -/* 112B7C 7F0DE04C 100011EB */ b .L7F0E27FC -/* 112B80 7F0DE050 A7B90298 */ sh $t9, 0x298($sp) -spectrum_op_E5: -/* 112B84 7F0DE054 8FB8028C */ lw $t8, 0x28c($sp) -/* 112B88 7F0DE058 93AA0287 */ lbu $t2, 0x287($sp) -/* 112B8C 7F0DE05C 93AF0287 */ lbu $t7, 0x287($sp) -/* 112B90 7F0DE060 270B000B */ addiu $t3, $t8, 0xb -/* 112B94 7F0DE064 15400058 */ bnez $t2, .L7F0DE1C8 -/* 112B98 7F0DE068 AFAB028C */ sw $t3, 0x28c($sp) -/* 112B9C 7F0DE06C 97A80292 */ lhu $t0, 0x292($sp) -/* 112BA0 7F0DE070 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 112BA4 7F0DE074 250FFFFE */ addiu $t7, $t0, -2 -/* 112BA8 7F0DE078 31EEFFFF */ andi $t6, $t7, 0xffff -/* 112BAC 7F0DE07C 29C15B00 */ slti $at, $t6, 0x5b00 -/* 112BB0 7F0DE080 14200005 */ bnez $at, .L7F0DE098 -/* 112BB4 7F0DE084 A7AF0292 */ sh $t7, 0x292($sp) -/* 112BB8 7F0DE088 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 112BBC 7F0DE08C 018E4821 */ addu $t1, $t4, $t6 -/* 112BC0 7F0DE090 10000021 */ b .L7F0DE118 -/* 112BC4 7F0DE094 A1370000 */ sb $s7, ($t1) -.L7F0DE098: -/* 112BC8 7F0DE098 97AD0292 */ lhu $t5, 0x292($sp) -/* 112BCC 7F0DE09C 97AC0292 */ lhu $t4, 0x292($sp) -/* 112BD0 7F0DE0A0 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 112BD4 7F0DE0A4 29A15800 */ slti $at, $t5, 0x5800 -/* 112BD8 7F0DE0A8 5420000C */ bnezl $at, .L7F0DE0DC -/* 112BDC 7F0DE0AC 29814000 */ slti $at, $t4, 0x4000 -/* 112BE0 7F0DE0B0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 112BE4 7F0DE0B4 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 112BE8 7F0DE0B8 240B0001 */ li $t3, 1 -/* 112BEC 7F0DE0BC 032DC021 */ addu $t8, $t9, $t5 -/* 112BF0 7F0DE0C0 A3170000 */ sb $s7, ($t8) -/* 112BF4 7F0DE0C4 97A80292 */ lhu $t0, 0x292($sp) -/* 112BF8 7F0DE0C8 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 112BFC 7F0DE0CC 01487821 */ addu $t7, $t2, $t0 -/* 112C00 7F0DE0D0 10000011 */ b .L7F0DE118 -/* 112C04 7F0DE0D4 A1EBA800 */ sb $t3, -0x5800($t7) -/* 112C08 7F0DE0D8 29814000 */ slti $at, $t4, 0x4000 -.L7F0DE0DC: -/* 112C0C 7F0DE0DC 1420000E */ bnez $at, .L7F0DE118 -/* 112C10 7F0DE0E0 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 112C14 7F0DE0E4 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 112C18 7F0DE0E8 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 112C1C 7F0DE0EC 24190001 */ li $t9, 1 -/* 112C20 7F0DE0F0 01CC4821 */ addu $t1, $t6, $t4 -/* 112C24 7F0DE0F4 A1370000 */ sb $s7, ($t1) -/* 112C28 7F0DE0F8 97AD0292 */ lhu $t5, 0x292($sp) -/* 112C2C 7F0DE0FC 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 112C30 7F0DE100 31B81800 */ andi $t8, $t5, 0x1800 -/* 112C34 7F0DE104 001850C3 */ sra $t2, $t8, 3 -/* 112C38 7F0DE108 31A800FF */ andi $t0, $t5, 0xff -/* 112C3C 7F0DE10C 01485825 */ or $t3, $t2, $t0 -/* 112C40 7F0DE110 01EB7021 */ addu $t6, $t7, $t3 -/* 112C44 7F0DE114 A1D90000 */ sb $t9, ($t6) -.L7F0DE118: -/* 112C48 7F0DE118 97AC0292 */ lhu $t4, 0x292($sp) -/* 112C4C 7F0DE11C 97AA0292 */ lhu $t2, 0x292($sp) -/* 112C50 7F0DE120 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 112C54 7F0DE124 25890001 */ addiu $t1, $t4, 1 -/* 112C58 7F0DE128 29215B00 */ slti $at, $t1, 0x5b00 -/* 112C5C 7F0DE12C 14200005 */ bnez $at, .L7F0DE144 -/* 112C60 7F0DE130 25480001 */ addiu $t0, $t2, 1 -/* 112C64 7F0DE134 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 112C68 7F0DE138 030C6821 */ addu $t5, $t8, $t4 -/* 112C6C 7F0DE13C 100011AF */ b .L7F0E27FC -/* 112C70 7F0DE140 A1B60001 */ sb $s6, 1($t5) -.L7F0DE144: -/* 112C74 7F0DE144 29015800 */ slti $at, $t0, 0x5800 -/* 112C78 7F0DE148 1420000C */ bnez $at, .L7F0DE17C -/* 112C7C 7F0DE14C 97AC0292 */ lhu $t4, 0x292($sp) -/* 112C80 7F0DE150 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 112C84 7F0DE154 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 112C88 7F0DE158 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 112C8C 7F0DE15C 24190001 */ li $t9, 1 -/* 112C90 7F0DE160 01EA5821 */ addu $t3, $t7, $t2 -/* 112C94 7F0DE164 A1760001 */ sb $s6, 1($t3) -/* 112C98 7F0DE168 97A90292 */ lhu $t1, 0x292($sp) -/* 112C9C 7F0DE16C 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 112CA0 7F0DE170 01C9C021 */ addu $t8, $t6, $t1 -/* 112CA4 7F0DE174 100011A1 */ b .L7F0E27FC -/* 112CA8 7F0DE178 A319A801 */ sb $t9, -0x57ff($t8) -.L7F0DE17C: -/* 112CAC 7F0DE17C 258D0001 */ addiu $t5, $t4, 1 -/* 112CB0 7F0DE180 29A14000 */ slti $at, $t5, 0x4000 -/* 112CB4 7F0DE184 1420119D */ bnez $at, .L7F0E27FC -/* 112CB8 7F0DE188 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 112CBC 7F0DE18C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 112CC0 7F0DE190 240A0001 */ li $t2, 1 -/* 112CC4 7F0DE194 010C7821 */ addu $t7, $t0, $t4 -/* 112CC8 7F0DE198 A1F60001 */ sb $s6, 1($t7) -/* 112CCC 7F0DE19C 97AB0292 */ lhu $t3, 0x292($sp) -/* 112CD0 7F0DE1A0 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 112CD4 7F0DE1A4 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 112CD8 7F0DE1A8 256E0001 */ addiu $t6, $t3, 1 -/* 112CDC 7F0DE1AC 31C91800 */ andi $t1, $t6, 0x1800 -/* 112CE0 7F0DE1B0 0009C8C3 */ sra $t9, $t1, 3 -/* 112CE4 7F0DE1B4 31D800FF */ andi $t8, $t6, 0xff -/* 112CE8 7F0DE1B8 03386825 */ or $t5, $t9, $t8 -/* 112CEC 7F0DE1BC 010D6021 */ addu $t4, $t0, $t5 -/* 112CF0 7F0DE1C0 1000118E */ b .L7F0E27FC -/* 112CF4 7F0DE1C4 A18A0000 */ sb $t2, ($t4) -.L7F0DE1C8: -/* 112CF8 7F0DE1C8 24010001 */ li $at, 1 -/* 112CFC 7F0DE1CC 15E10061 */ bne $t7, $at, .L7F0DE354 -/* 112D00 7F0DE1D0 97A90292 */ lhu $t1, 0x292($sp) -/* 112D04 7F0DE1D4 97AB0292 */ lhu $t3, 0x292($sp) -/* 112D08 7F0DE1D8 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 112D0C 7F0DE1DC 2569FFFE */ addiu $t1, $t3, -2 -/* 112D10 7F0DE1E0 312EFFFF */ andi $t6, $t1, 0xffff -/* 112D14 7F0DE1E4 29C15B00 */ slti $at, $t6, 0x5b00 -/* 112D18 7F0DE1E8 14200006 */ bnez $at, .L7F0DE204 -/* 112D1C 7F0DE1EC A7A90292 */ sh $t1, 0x292($sp) -/* 112D20 7F0DE1F0 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 112D24 7F0DE1F4 97B90296 */ lhu $t9, 0x296($sp) -/* 112D28 7F0DE1F8 030E4021 */ addu $t0, $t8, $t6 -/* 112D2C 7F0DE1FC 10000023 */ b .L7F0DE28C -/* 112D30 7F0DE200 A1190000 */ sb $t9, ($t0) -.L7F0DE204: -/* 112D34 7F0DE204 97AD0292 */ lhu $t5, 0x292($sp) -/* 112D38 7F0DE208 97B90292 */ lhu $t9, 0x292($sp) -/* 112D3C 7F0DE20C 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 112D40 7F0DE210 29A15800 */ slti $at, $t5, 0x5800 -/* 112D44 7F0DE214 5420000D */ bnezl $at, .L7F0DE24C -/* 112D48 7F0DE218 2B214000 */ slti $at, $t9, 0x4000 -/* 112D4C 7F0DE21C 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 112D50 7F0DE220 97AA0296 */ lhu $t2, 0x296($sp) -/* 112D54 7F0DE224 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 112D58 7F0DE228 018D7821 */ addu $t7, $t4, $t5 -/* 112D5C 7F0DE22C A1EA0000 */ sb $t2, ($t7) -/* 112D60 7F0DE230 97B80292 */ lhu $t8, 0x292($sp) -/* 112D64 7F0DE234 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 112D68 7F0DE238 240B0001 */ li $t3, 1 -/* 112D6C 7F0DE23C 01387021 */ addu $t6, $t1, $t8 -/* 112D70 7F0DE240 10000012 */ b .L7F0DE28C -/* 112D74 7F0DE244 A1CBA800 */ sb $t3, -0x5800($t6) -/* 112D78 7F0DE248 2B214000 */ slti $at, $t9, 0x4000 -.L7F0DE24C: -/* 112D7C 7F0DE24C 1420000F */ bnez $at, .L7F0DE28C -/* 112D80 7F0DE250 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 112D84 7F0DE254 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 112D88 7F0DE258 97A80296 */ lhu $t0, 0x296($sp) -/* 112D8C 7F0DE25C 240A0001 */ li $t2, 1 -/* 112D90 7F0DE260 01996821 */ addu $t5, $t4, $t9 -/* 112D94 7F0DE264 A1A80000 */ sb $t0, ($t5) -/* 112D98 7F0DE268 97AF0292 */ lhu $t7, 0x292($sp) -/* 112D9C 7F0DE26C 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 112DA0 7F0DE270 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 112DA4 7F0DE274 31E91800 */ andi $t1, $t7, 0x1800 -/* 112DA8 7F0DE278 0009C0C3 */ sra $t8, $t1, 3 -/* 112DAC 7F0DE27C 31EB00FF */ andi $t3, $t7, 0xff -/* 112DB0 7F0DE280 030B7025 */ or $t6, $t8, $t3 -/* 112DB4 7F0DE284 018EC821 */ addu $t9, $t4, $t6 -/* 112DB8 7F0DE288 A32A0000 */ sb $t2, ($t9) -.L7F0DE28C: -/* 112DBC 7F0DE28C 97A80292 */ lhu $t0, 0x292($sp) -/* 112DC0 7F0DE290 97AC0292 */ lhu $t4, 0x292($sp) -/* 112DC4 7F0DE294 97A90296 */ lhu $t1, 0x296($sp) -/* 112DC8 7F0DE298 250D0001 */ addiu $t5, $t0, 1 -/* 112DCC 7F0DE29C 29A15B00 */ slti $at, $t5, 0x5b00 -/* 112DD0 7F0DE2A0 14200007 */ bnez $at, .L7F0DE2C0 -/* 112DD4 7F0DE2A4 258E0001 */ addiu $t6, $t4, 1 -/* 112DD8 7F0DE2A8 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 112DDC 7F0DE2AC 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 112DE0 7F0DE2B0 00097A03 */ sra $t7, $t1, 8 -/* 112DE4 7F0DE2B4 03085821 */ addu $t3, $t8, $t0 -/* 112DE8 7F0DE2B8 10001150 */ b .L7F0E27FC -/* 112DEC 7F0DE2BC A16F0001 */ sb $t7, 1($t3) -.L7F0DE2C0: -/* 112DF0 7F0DE2C0 29C15800 */ slti $at, $t6, 0x5800 -/* 112DF4 7F0DE2C4 1420000E */ bnez $at, .L7F0DE300 -/* 112DF8 7F0DE2C8 97AE0292 */ lhu $t6, 0x292($sp) -/* 112DFC 7F0DE2CC 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 112E00 7F0DE2D0 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 112E04 7F0DE2D4 97AA0296 */ lhu $t2, 0x296($sp) -/* 112E08 7F0DE2D8 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 112E0C 7F0DE2DC 01AC4821 */ addu $t1, $t5, $t4 -/* 112E10 7F0DE2E0 000ACA03 */ sra $t9, $t2, 8 -/* 112E14 7F0DE2E4 A1390001 */ sb $t9, 1($t1) -/* 112E18 7F0DE2E8 97AF0292 */ lhu $t7, 0x292($sp) -/* 112E1C 7F0DE2EC 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 112E20 7F0DE2F0 24180001 */ li $t8, 1 -/* 112E24 7F0DE2F4 010F5821 */ addu $t3, $t0, $t7 -/* 112E28 7F0DE2F8 10001140 */ b .L7F0E27FC -/* 112E2C 7F0DE2FC A178A801 */ sb $t8, -0x57ff($t3) -.L7F0DE300: -/* 112E30 7F0DE300 25CA0001 */ addiu $t2, $t6, 1 -/* 112E34 7F0DE304 29414000 */ slti $at, $t2, 0x4000 -/* 112E38 7F0DE308 1420113C */ bnez $at, .L7F0E27FC -/* 112E3C 7F0DE30C 97AD0296 */ lhu $t5, 0x296($sp) -/* 112E40 7F0DE310 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 112E44 7F0DE314 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 112E48 7F0DE318 000D6203 */ sra $t4, $t5, 8 -/* 112E4C 7F0DE31C 24080001 */ li $t0, 1 -/* 112E50 7F0DE320 032E4821 */ addu $t1, $t9, $t6 -/* 112E54 7F0DE324 A12C0001 */ sb $t4, 1($t1) -/* 112E58 7F0DE328 97AF0292 */ lhu $t7, 0x292($sp) -/* 112E5C 7F0DE32C 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 112E60 7F0DE330 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 112E64 7F0DE334 25F80001 */ addiu $t8, $t7, 1 -/* 112E68 7F0DE338 330B1800 */ andi $t3, $t8, 0x1800 -/* 112E6C 7F0DE33C 000B50C3 */ sra $t2, $t3, 3 -/* 112E70 7F0DE340 330D00FF */ andi $t5, $t8, 0xff -/* 112E74 7F0DE344 014DC825 */ or $t9, $t2, $t5 -/* 112E78 7F0DE348 01D96021 */ addu $t4, $t6, $t9 -/* 112E7C 7F0DE34C 1000112B */ b .L7F0E27FC -/* 112E80 7F0DE350 A1880000 */ sb $t0, ($t4) -.L7F0DE354: -/* 112E84 7F0DE354 252FFFFE */ addiu $t7, $t1, -2 -/* 112E88 7F0DE358 31EBFFFF */ andi $t3, $t7, 0xffff -/* 112E8C 7F0DE35C 29615B00 */ slti $at, $t3, 0x5b00 -/* 112E90 7F0DE360 14200007 */ bnez $at, .L7F0DE380 -/* 112E94 7F0DE364 A7AF0292 */ sh $t7, 0x292($sp) -/* 112E98 7F0DE368 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 112E9C 7F0DE36C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 112EA0 7F0DE370 97B80294 */ lhu $t8, 0x294($sp) -/* 112EA4 7F0DE374 014B6821 */ addu $t5, $t2, $t3 -/* 112EA8 7F0DE378 10000023 */ b .L7F0DE408 -/* 112EAC 7F0DE37C A1B80000 */ sb $t8, ($t5) -.L7F0DE380: -/* 112EB0 7F0DE380 97AE0292 */ lhu $t6, 0x292($sp) -/* 112EB4 7F0DE384 97B80292 */ lhu $t8, 0x292($sp) -/* 112EB8 7F0DE388 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 112EBC 7F0DE38C 29C15800 */ slti $at, $t6, 0x5800 -/* 112EC0 7F0DE390 5420000D */ bnezl $at, .L7F0DE3C8 -/* 112EC4 7F0DE394 2B014000 */ slti $at, $t8, 0x4000 -/* 112EC8 7F0DE398 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 112ECC 7F0DE39C 97B90294 */ lhu $t9, 0x294($sp) -/* 112ED0 7F0DE3A0 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 112ED4 7F0DE3A4 010E6021 */ addu $t4, $t0, $t6 -/* 112ED8 7F0DE3A8 A1990000 */ sb $t9, ($t4) -/* 112EDC 7F0DE3AC 97AA0292 */ lhu $t2, 0x292($sp) -/* 112EE0 7F0DE3B0 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 112EE4 7F0DE3B4 24090001 */ li $t1, 1 -/* 112EE8 7F0DE3B8 01EA5821 */ addu $t3, $t7, $t2 -/* 112EEC 7F0DE3BC 10000012 */ b .L7F0DE408 -/* 112EF0 7F0DE3C0 A169A800 */ sb $t1, -0x5800($t3) -/* 112EF4 7F0DE3C4 2B014000 */ slti $at, $t8, 0x4000 -.L7F0DE3C8: -/* 112EF8 7F0DE3C8 1420000F */ bnez $at, .L7F0DE408 -/* 112EFC 7F0DE3CC 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 112F00 7F0DE3D0 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 112F04 7F0DE3D4 97AD0294 */ lhu $t5, 0x294($sp) -/* 112F08 7F0DE3D8 24190001 */ li $t9, 1 -/* 112F0C 7F0DE3DC 01187021 */ addu $t6, $t0, $t8 -/* 112F10 7F0DE3E0 A1CD0000 */ sb $t5, ($t6) -/* 112F14 7F0DE3E4 97AC0292 */ lhu $t4, 0x292($sp) -/* 112F18 7F0DE3E8 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 112F1C 7F0DE3EC 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 112F20 7F0DE3F0 318F1800 */ andi $t7, $t4, 0x1800 -/* 112F24 7F0DE3F4 000F50C3 */ sra $t2, $t7, 3 -/* 112F28 7F0DE3F8 318900FF */ andi $t1, $t4, 0xff -/* 112F2C 7F0DE3FC 01495825 */ or $t3, $t2, $t1 -/* 112F30 7F0DE400 010BC021 */ addu $t8, $t0, $t3 -/* 112F34 7F0DE404 A3190000 */ sb $t9, ($t8) -.L7F0DE408: -/* 112F38 7F0DE408 97AD0292 */ lhu $t5, 0x292($sp) -/* 112F3C 7F0DE40C 97A80292 */ lhu $t0, 0x292($sp) -/* 112F40 7F0DE410 97AF0294 */ lhu $t7, 0x294($sp) -/* 112F44 7F0DE414 25AE0001 */ addiu $t6, $t5, 1 -/* 112F48 7F0DE418 29C15B00 */ slti $at, $t6, 0x5b00 -/* 112F4C 7F0DE41C 14200007 */ bnez $at, .L7F0DE43C -/* 112F50 7F0DE420 250B0001 */ addiu $t3, $t0, 1 -/* 112F54 7F0DE424 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 112F58 7F0DE428 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 112F5C 7F0DE42C 000F6203 */ sra $t4, $t7, 8 -/* 112F60 7F0DE430 014D4821 */ addu $t1, $t2, $t5 -/* 112F64 7F0DE434 100010F1 */ b .L7F0E27FC -/* 112F68 7F0DE438 A12C0001 */ sb $t4, 1($t1) -.L7F0DE43C: -/* 112F6C 7F0DE43C 29615800 */ slti $at, $t3, 0x5800 -/* 112F70 7F0DE440 1420000E */ bnez $at, .L7F0DE47C -/* 112F74 7F0DE444 97AB0292 */ lhu $t3, 0x292($sp) -/* 112F78 7F0DE448 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 112F7C 7F0DE44C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 112F80 7F0DE450 97B90294 */ lhu $t9, 0x294($sp) -/* 112F84 7F0DE454 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 112F88 7F0DE458 01C87821 */ addu $t7, $t6, $t0 -/* 112F8C 7F0DE45C 0019C203 */ sra $t8, $t9, 8 -/* 112F90 7F0DE460 A1F80001 */ sb $t8, 1($t7) -/* 112F94 7F0DE464 97AC0292 */ lhu $t4, 0x292($sp) -/* 112F98 7F0DE468 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 112F9C 7F0DE46C 240A0001 */ li $t2, 1 -/* 112FA0 7F0DE470 01AC4821 */ addu $t1, $t5, $t4 -/* 112FA4 7F0DE474 100010E1 */ b .L7F0E27FC -/* 112FA8 7F0DE478 A12AA801 */ sb $t2, -0x57ff($t1) -.L7F0DE47C: -/* 112FAC 7F0DE47C 25790001 */ addiu $t9, $t3, 1 -/* 112FB0 7F0DE480 2B214000 */ slti $at, $t9, 0x4000 -/* 112FB4 7F0DE484 142010DD */ bnez $at, .L7F0E27FC -/* 112FB8 7F0DE488 97AE0294 */ lhu $t6, 0x294($sp) -/* 112FBC 7F0DE48C 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 112FC0 7F0DE490 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 112FC4 7F0DE494 000E4203 */ sra $t0, $t6, 8 -/* 112FC8 7F0DE498 240D0001 */ li $t5, 1 -/* 112FCC 7F0DE49C 030B7821 */ addu $t7, $t8, $t3 -/* 112FD0 7F0DE4A0 A1E80001 */ sb $t0, 1($t7) -/* 112FD4 7F0DE4A4 97AC0292 */ lhu $t4, 0x292($sp) -/* 112FD8 7F0DE4A8 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 112FDC 7F0DE4AC 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 112FE0 7F0DE4B0 258A0001 */ addiu $t2, $t4, 1 -/* 112FE4 7F0DE4B4 31491800 */ andi $t1, $t2, 0x1800 -/* 112FE8 7F0DE4B8 0009C8C3 */ sra $t9, $t1, 3 -/* 112FEC 7F0DE4BC 314E00FF */ andi $t6, $t2, 0xff -/* 112FF0 7F0DE4C0 032EC025 */ or $t8, $t9, $t6 -/* 112FF4 7F0DE4C4 01784021 */ addu $t0, $t3, $t8 -/* 112FF8 7F0DE4C8 100010CC */ b .L7F0E27FC -/* 112FFC 7F0DE4CC A10D0000 */ sb $t5, ($t0) -spectrum_op_E6: -/* 113000 7F0DE4D0 8FAF028C */ lw $t7, 0x28c($sp) -/* 113004 7F0DE4D4 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 113008 7F0DE4D8 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 11300C 7F0DE4DC 97AA0298 */ lhu $t2, 0x298($sp) -/* 113010 7F0DE4E0 25EC0007 */ addiu $t4, $t7, 7 -/* 113014 7F0DE4E4 AFAC028C */ sw $t4, 0x28c($sp) -/* 113018 7F0DE4E8 012AC821 */ addu $t9, $t1, $t2 -/* 11301C 7F0DE4EC 932E0000 */ lbu $t6, ($t9) -/* 113020 7F0DE4F0 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 113024 7F0DE4F4 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 113028 7F0DE4F8 020E8024 */ and $s0, $s0, $t6 -/* 11302C 7F0DE4FC 320B00FF */ andi $t3, $s0, 0xff -/* 113030 7F0DE500 2D780001 */ sltiu $t8, $t3, 1 -/* 113034 7F0DE504 AFB80048 */ sw $t8, 0x48($sp) -/* 113038 7F0DE508 00187980 */ sll $t7, $t8, 6 -/* 11303C 7F0DE50C 016AC821 */ addu $t9, $t3, $t2 -/* 113040 7F0DE510 932E0000 */ lbu $t6, ($t9) -/* 113044 7F0DE514 316D00A8 */ andi $t5, $t3, 0xa8 -/* 113048 7F0DE518 97B80298 */ lhu $t8, 0x298($sp) -/* 11304C 7F0DE51C 01AF6025 */ or $t4, $t5, $t7 -/* 113050 7F0DE520 35890010 */ ori $t1, $t4, 0x10 -/* 113054 7F0DE524 01608025 */ move $s0, $t3 -/* 113058 7F0DE528 01C98825 */ or $s1, $t6, $t1 -/* 11305C 7F0DE52C 322B00FF */ andi $t3, $s1, 0xff -/* 113060 7F0DE530 27080001 */ addiu $t0, $t8, 1 -/* 113064 7F0DE534 01608825 */ move $s1, $t3 -/* 113068 7F0DE538 100010B0 */ b .L7F0E27FC -/* 11306C 7F0DE53C A7A80298 */ sh $t0, 0x298($sp) -spectrum_op_E7: -/* 113070 7F0DE540 97AC0292 */ lhu $t4, 0x292($sp) -/* 113074 7F0DE544 8FAD028C */ lw $t5, 0x28c($sp) -/* 113078 7F0DE548 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 11307C 7F0DE54C 258AFFFE */ addiu $t2, $t4, -2 -/* 113080 7F0DE550 3159FFFF */ andi $t9, $t2, 0xffff -/* 113084 7F0DE554 2B215B00 */ slti $at, $t9, 0x5b00 -/* 113088 7F0DE558 25AF000B */ addiu $t7, $t5, 0xb -/* 11308C 7F0DE55C AFAF028C */ sw $t7, 0x28c($sp) -/* 113090 7F0DE560 14200006 */ bnez $at, .L7F0DE57C -/* 113094 7F0DE564 A7AA0292 */ sh $t2, 0x292($sp) -/* 113098 7F0DE568 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 11309C 7F0DE56C 97AE0298 */ lhu $t6, 0x298($sp) -/* 1130A0 7F0DE570 01395821 */ addu $t3, $t1, $t9 -/* 1130A4 7F0DE574 10000023 */ b .L7F0DE604 -/* 1130A8 7F0DE578 A16E0000 */ sb $t6, ($t3) -.L7F0DE57C: -/* 1130AC 7F0DE57C 97B80292 */ lhu $t8, 0x292($sp) -/* 1130B0 7F0DE580 97AE0292 */ lhu $t6, 0x292($sp) -/* 1130B4 7F0DE584 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1130B8 7F0DE588 2B015800 */ slti $at, $t8, 0x5800 -/* 1130BC 7F0DE58C 5420000D */ bnezl $at, .L7F0DE5C4 -/* 1130C0 7F0DE590 29C14000 */ slti $at, $t6, 0x4000 -/* 1130C4 7F0DE594 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1130C8 7F0DE598 97A80298 */ lhu $t0, 0x298($sp) -/* 1130CC 7F0DE59C 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 1130D0 7F0DE5A0 01B87821 */ addu $t7, $t5, $t8 -/* 1130D4 7F0DE5A4 A1E80000 */ sb $t0, ($t7) -/* 1130D8 7F0DE5A8 97A90292 */ lhu $t1, 0x292($sp) -/* 1130DC 7F0DE5AC 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 1130E0 7F0DE5B0 240C0001 */ li $t4, 1 -/* 1130E4 7F0DE5B4 0149C821 */ addu $t9, $t2, $t1 -/* 1130E8 7F0DE5B8 10000012 */ b .L7F0DE604 -/* 1130EC 7F0DE5BC A32CA800 */ sb $t4, -0x5800($t9) -/* 1130F0 7F0DE5C0 29C14000 */ slti $at, $t6, 0x4000 -.L7F0DE5C4: -/* 1130F4 7F0DE5C4 1420000F */ bnez $at, .L7F0DE604 -/* 1130F8 7F0DE5C8 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1130FC 7F0DE5CC 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 113100 7F0DE5D0 97AB0298 */ lhu $t3, 0x298($sp) -/* 113104 7F0DE5D4 24080001 */ li $t0, 1 -/* 113108 7F0DE5D8 01AEC021 */ addu $t8, $t5, $t6 -/* 11310C 7F0DE5DC A30B0000 */ sb $t3, ($t8) -/* 113110 7F0DE5E0 97AF0292 */ lhu $t7, 0x292($sp) -/* 113114 7F0DE5E4 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 113118 7F0DE5E8 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 11311C 7F0DE5EC 31EA1800 */ andi $t2, $t7, 0x1800 -/* 113120 7F0DE5F0 000A48C3 */ sra $t1, $t2, 3 -/* 113124 7F0DE5F4 31EC00FF */ andi $t4, $t7, 0xff -/* 113128 7F0DE5F8 012CC825 */ or $t9, $t1, $t4 -/* 11312C 7F0DE5FC 01B97021 */ addu $t6, $t5, $t9 -/* 113130 7F0DE600 A1C80000 */ sb $t0, ($t6) -.L7F0DE604: -/* 113134 7F0DE604 97AB0292 */ lhu $t3, 0x292($sp) -/* 113138 7F0DE608 97AD0292 */ lhu $t5, 0x292($sp) -/* 11313C 7F0DE60C 97AA0298 */ lhu $t2, 0x298($sp) -/* 113140 7F0DE610 25780001 */ addiu $t8, $t3, 1 -/* 113144 7F0DE614 2B015B00 */ slti $at, $t8, 0x5b00 -/* 113148 7F0DE618 14200007 */ bnez $at, .L7F0DE638 -/* 11314C 7F0DE61C 25B90001 */ addiu $t9, $t5, 1 -/* 113150 7F0DE620 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 113154 7F0DE624 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 113158 7F0DE628 000A7A03 */ sra $t7, $t2, 8 -/* 11315C 7F0DE62C 012B6021 */ addu $t4, $t1, $t3 -/* 113160 7F0DE630 10000025 */ b .L7F0DE6C8 -/* 113164 7F0DE634 A18F0001 */ sb $t7, 1($t4) -.L7F0DE638: -/* 113168 7F0DE638 2B215800 */ slti $at, $t9, 0x5800 -/* 11316C 7F0DE63C 1420000E */ bnez $at, .L7F0DE678 -/* 113170 7F0DE640 97B90292 */ lhu $t9, 0x292($sp) -/* 113174 7F0DE644 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 113178 7F0DE648 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 11317C 7F0DE64C 97A80298 */ lhu $t0, 0x298($sp) -/* 113180 7F0DE650 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 113184 7F0DE654 030D5021 */ addu $t2, $t8, $t5 -/* 113188 7F0DE658 00087203 */ sra $t6, $t0, 8 -/* 11318C 7F0DE65C A14E0001 */ sb $t6, 1($t2) -/* 113190 7F0DE660 97AF0292 */ lhu $t7, 0x292($sp) -/* 113194 7F0DE664 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 113198 7F0DE668 24090001 */ li $t1, 1 -/* 11319C 7F0DE66C 016F6021 */ addu $t4, $t3, $t7 -/* 1131A0 7F0DE670 10000015 */ b .L7F0DE6C8 -/* 1131A4 7F0DE674 A189A801 */ sb $t1, -0x57ff($t4) -.L7F0DE678: -/* 1131A8 7F0DE678 27280001 */ addiu $t0, $t9, 1 -/* 1131AC 7F0DE67C 29014000 */ slti $at, $t0, 0x4000 -/* 1131B0 7F0DE680 14200011 */ bnez $at, .L7F0DE6C8 -/* 1131B4 7F0DE684 97B80298 */ lhu $t8, 0x298($sp) -/* 1131B8 7F0DE688 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1131BC 7F0DE68C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1131C0 7F0DE690 00186A03 */ sra $t5, $t8, 8 -/* 1131C4 7F0DE694 240B0001 */ li $t3, 1 -/* 1131C8 7F0DE698 01D95021 */ addu $t2, $t6, $t9 -/* 1131CC 7F0DE69C A14D0001 */ sb $t5, 1($t2) -/* 1131D0 7F0DE6A0 97AF0292 */ lhu $t7, 0x292($sp) -/* 1131D4 7F0DE6A4 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 1131D8 7F0DE6A8 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 1131DC 7F0DE6AC 25E90001 */ addiu $t1, $t7, 1 -/* 1131E0 7F0DE6B0 312C1800 */ andi $t4, $t1, 0x1800 -/* 1131E4 7F0DE6B4 000C40C3 */ sra $t0, $t4, 3 -/* 1131E8 7F0DE6B8 313800FF */ andi $t8, $t1, 0xff -/* 1131EC 7F0DE6BC 01187025 */ or $t6, $t0, $t8 -/* 1131F0 7F0DE6C0 032E6821 */ addu $t5, $t9, $t6 -/* 1131F4 7F0DE6C4 A1AB0000 */ sb $t3, ($t5) -.L7F0DE6C8: -/* 1131F8 7F0DE6C8 240A0020 */ li $t2, 32 -/* 1131FC 7F0DE6CC 1000104B */ b .L7F0E27FC -/* 113200 7F0DE6D0 A7AA0298 */ sh $t2, 0x298($sp) -spectrum_op_E8: -/* 113204 7F0DE6D4 8FAF028C */ lw $t7, 0x28c($sp) -/* 113208 7F0DE6D8 32290004 */ andi $t1, $s1, 4 -/* 11320C 7F0DE6DC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 113210 7F0DE6E0 25EC0005 */ addiu $t4, $t7, 5 -/* 113214 7F0DE6E4 11201045 */ beqz $t1, .L7F0E27FC -/* 113218 7F0DE6E8 AFAC028C */ sw $t4, 0x28c($sp) -/* 11321C 7F0DE6EC 97B90292 */ lhu $t9, 0x292($sp) -/* 113220 7F0DE6F0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 113224 7F0DE6F4 25980006 */ addiu $t8, $t4, 6 -/* 113228 7F0DE6F8 AFB8028C */ sw $t8, 0x28c($sp) -/* 11322C 7F0DE6FC 01D95021 */ addu $t2, $t6, $t9 -/* 113230 7F0DE700 914F0001 */ lbu $t7, 1($t2) -/* 113234 7F0DE704 032E5821 */ addu $t3, $t9, $t6 -/* 113238 7F0DE708 916D0000 */ lbu $t5, ($t3) -/* 11323C 7F0DE70C 000F6200 */ sll $t4, $t7, 8 -/* 113240 7F0DE710 27280002 */ addiu $t0, $t9, 2 -/* 113244 7F0DE714 01AC4825 */ or $t1, $t5, $t4 -/* 113248 7F0DE718 A7A90298 */ sh $t1, 0x298($sp) -/* 11324C 7F0DE71C 10001037 */ b .L7F0E27FC -/* 113250 7F0DE720 A7A80292 */ sh $t0, 0x292($sp) -spectrum_op_E9: -/* 113254 7F0DE724 8FB8028C */ lw $t8, 0x28c($sp) -/* 113258 7F0DE728 93AE0287 */ lbu $t6, 0x287($sp) -/* 11325C 7F0DE72C 93AD0287 */ lbu $t5, 0x287($sp) -/* 113260 7F0DE730 270B0004 */ addiu $t3, $t8, 4 -/* 113264 7F0DE734 15C00005 */ bnez $t6, .L7F0DE74C -/* 113268 7F0DE738 AFAB028C */ sw $t3, 0x28c($sp) -/* 11326C 7F0DE73C 00165200 */ sll $t2, $s6, 8 -/* 113270 7F0DE740 01577825 */ or $t7, $t2, $s7 -/* 113274 7F0DE744 1000102D */ b .L7F0E27FC -/* 113278 7F0DE748 A7AF0298 */ sh $t7, 0x298($sp) -.L7F0DE74C: -/* 11327C 7F0DE74C 24010001 */ li $at, 1 -/* 113280 7F0DE750 15A10004 */ bne $t5, $at, .L7F0DE764 -/* 113284 7F0DE754 97A90294 */ lhu $t1, 0x294($sp) -/* 113288 7F0DE758 97AC0296 */ lhu $t4, 0x296($sp) -/* 11328C 7F0DE75C 10000002 */ b .L7F0DE768 -/* 113290 7F0DE760 AFAC0048 */ sw $t4, 0x48($sp) -.L7F0DE764: -/* 113294 7F0DE764 AFA90048 */ sw $t1, 0x48($sp) -.L7F0DE768: -/* 113298 7F0DE768 8FB90048 */ lw $t9, 0x48($sp) -/* 11329C 7F0DE76C 10001023 */ b .L7F0E27FC -/* 1132A0 7F0DE770 A7B90298 */ sh $t9, 0x298($sp) -spectrum_op_EA: -/* 1132A4 7F0DE774 8FA8028C */ lw $t0, 0x28c($sp) -/* 1132A8 7F0DE778 322B0004 */ andi $t3, $s1, 4 -/* 1132AC 7F0DE77C 97AE0298 */ lhu $t6, 0x298($sp) -/* 1132B0 7F0DE780 2518000A */ addiu $t8, $t0, 0xa -/* 1132B4 7F0DE784 1160000B */ beqz $t3, .L7F0DE7B4 -/* 1132B8 7F0DE788 AFB8028C */ sw $t8, 0x28c($sp) -/* 1132BC 7F0DE78C 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 1132C0 7F0DE790 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 1132C4 7F0DE794 014E6021 */ addu $t4, $t2, $t6 -/* 1132C8 7F0DE798 91890001 */ lbu $t1, 1($t4) -/* 1132CC 7F0DE79C 01CA7821 */ addu $t7, $t6, $t2 -/* 1132D0 7F0DE7A0 91ED0000 */ lbu $t5, ($t7) -/* 1132D4 7F0DE7A4 0009CA00 */ sll $t9, $t1, 8 -/* 1132D8 7F0DE7A8 01B94025 */ or $t0, $t5, $t9 -/* 1132DC 7F0DE7AC 10001013 */ b .L7F0E27FC -/* 1132E0 7F0DE7B0 A7A80298 */ sh $t0, 0x298($sp) -.L7F0DE7B4: -/* 1132E4 7F0DE7B4 97B80298 */ lhu $t8, 0x298($sp) -/* 1132E8 7F0DE7B8 270B0002 */ addiu $t3, $t8, 2 -/* 1132EC 7F0DE7BC 1000100F */ b .L7F0E27FC -/* 1132F0 7F0DE7C0 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_EB: -/* 1132F4 7F0DE7C4 8FAF028C */ lw $t7, 0x28c($sp) -/* 1132F8 7F0DE7C8 A3B600E5 */ sb $s6, 0xe5($sp) -/* 1132FC 7F0DE7CC A3B500E4 */ sb $s5, 0xe4($sp) -/* 113300 7F0DE7D0 329600FF */ andi $s6, $s4, 0xff -/* 113304 7F0DE7D4 32F500FF */ andi $s5, $s7, 0xff -/* 113308 7F0DE7D8 25EA0004 */ addiu $t2, $t7, 4 -/* 11330C 7F0DE7DC AFAA028C */ sw $t2, 0x28c($sp) -/* 113310 7F0DE7E0 93B400E5 */ lbu $s4, 0xe5($sp) -/* 113314 7F0DE7E4 10001005 */ b .L7F0E27FC -/* 113318 7F0DE7E8 93B700E4 */ lbu $s7, 0xe4($sp) -spectrum_op_EC: -/* 11331C 7F0DE7EC 8FAE028C */ lw $t6, 0x28c($sp) -/* 113320 7F0DE7F0 32290004 */ andi $t1, $s1, 4 -/* 113324 7F0DE7F4 25CC000A */ addiu $t4, $t6, 0xa -/* 113328 7F0DE7F8 11200072 */ beqz $t1, .L7F0DE9C4 -/* 11332C 7F0DE7FC AFAC028C */ sw $t4, 0x28c($sp) -/* 113330 7F0DE800 97A80292 */ lhu $t0, 0x292($sp) -/* 113334 7F0DE804 25990007 */ addiu $t9, $t4, 7 -/* 113338 7F0DE808 AFB9028C */ sw $t9, 0x28c($sp) -/* 11333C 7F0DE80C 2518FFFE */ addiu $t8, $t0, -2 -/* 113340 7F0DE810 330BFFFF */ andi $t3, $t8, 0xffff -/* 113344 7F0DE814 29615B00 */ slti $at, $t3, 0x5b00 -/* 113348 7F0DE818 14200008 */ bnez $at, .L7F0DE83C -/* 11334C 7F0DE81C A7B80292 */ sh $t8, 0x292($sp) -/* 113350 7F0DE820 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 113354 7F0DE824 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 113358 7F0DE828 97AF0298 */ lhu $t7, 0x298($sp) -/* 11335C 7F0DE82C 01CB6021 */ addu $t4, $t6, $t3 -/* 113360 7F0DE830 25EA0002 */ addiu $t2, $t7, 2 -/* 113364 7F0DE834 10000024 */ b .L7F0DE8C8 -/* 113368 7F0DE838 A18A0000 */ sb $t2, ($t4) -.L7F0DE83C: -/* 11336C 7F0DE83C 97A90292 */ lhu $t1, 0x292($sp) -/* 113370 7F0DE840 97AC0292 */ lhu $t4, 0x292($sp) -/* 113374 7F0DE844 97AD0298 */ lhu $t5, 0x298($sp) -/* 113378 7F0DE848 29215800 */ slti $at, $t1, 0x5800 -/* 11337C 7F0DE84C 1420000C */ bnez $at, .L7F0DE880 -/* 113380 7F0DE850 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 113384 7F0DE854 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 113388 7F0DE858 25B90002 */ addiu $t9, $t5, 2 -/* 11338C 7F0DE85C 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 113390 7F0DE860 0109C021 */ addu $t8, $t0, $t1 -/* 113394 7F0DE864 A3190000 */ sb $t9, ($t8) -/* 113398 7F0DE868 97AB0292 */ lhu $t3, 0x292($sp) -/* 11339C 7F0DE86C 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 1133A0 7F0DE870 240F0001 */ li $t7, 1 -/* 1133A4 7F0DE874 01CB5021 */ addu $t2, $t6, $t3 -/* 1133A8 7F0DE878 10000013 */ b .L7F0DE8C8 -/* 1133AC 7F0DE87C A14FA800 */ sb $t7, -0x5800($t2) -.L7F0DE880: -/* 1133B0 7F0DE880 29814000 */ slti $at, $t4, 0x4000 -/* 1133B4 7F0DE884 14200010 */ bnez $at, .L7F0DE8C8 -/* 1133B8 7F0DE888 97AD0298 */ lhu $t5, 0x298($sp) -/* 1133BC 7F0DE88C 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 1133C0 7F0DE890 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 1133C4 7F0DE894 25A80002 */ addiu $t0, $t5, 2 -/* 1133C8 7F0DE898 24180001 */ li $t8, 1 -/* 1133CC 7F0DE89C 012CC821 */ addu $t9, $t1, $t4 -/* 1133D0 7F0DE8A0 A3280000 */ sb $t0, ($t9) -/* 1133D4 7F0DE8A4 97AE0292 */ lhu $t6, 0x292($sp) -/* 1133D8 7F0DE8A8 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 1133DC 7F0DE8AC 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 1133E0 7F0DE8B0 31CB1800 */ andi $t3, $t6, 0x1800 -/* 1133E4 7F0DE8B4 000B78C3 */ sra $t7, $t3, 3 -/* 1133E8 7F0DE8B8 31CA00FF */ andi $t2, $t6, 0xff -/* 1133EC 7F0DE8BC 01EA6825 */ or $t5, $t7, $t2 -/* 1133F0 7F0DE8C0 012D6021 */ addu $t4, $t1, $t5 -/* 1133F4 7F0DE8C4 A1980000 */ sb $t8, ($t4) -.L7F0DE8C8: -/* 1133F8 7F0DE8C8 97A80292 */ lhu $t0, 0x292($sp) -/* 1133FC 7F0DE8CC 97AD0292 */ lhu $t5, 0x292($sp) -/* 113400 7F0DE8D0 97AB0298 */ lhu $t3, 0x298($sp) -/* 113404 7F0DE8D4 25190001 */ addiu $t9, $t0, 1 -/* 113408 7F0DE8D8 2B215B00 */ slti $at, $t9, 0x5b00 -/* 11340C 7F0DE8DC 14200008 */ bnez $at, .L7F0DE900 -/* 113410 7F0DE8E0 25B80001 */ addiu $t8, $t5, 1 -/* 113414 7F0DE8E4 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 113418 7F0DE8E8 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 11341C 7F0DE8EC 256E0002 */ addiu $t6, $t3, 2 -/* 113420 7F0DE8F0 000E7A03 */ sra $t7, $t6, 8 -/* 113424 7F0DE8F4 01484821 */ addu $t1, $t2, $t0 -/* 113428 7F0DE8F8 10000027 */ b .L7F0DE998 -/* 11342C 7F0DE8FC A12F0001 */ sb $t7, 1($t1) -.L7F0DE900: -/* 113430 7F0DE900 2B015800 */ slti $at, $t8, 0x5800 -/* 113434 7F0DE904 1420000F */ bnez $at, .L7F0DE944 -/* 113438 7F0DE908 97AC0292 */ lhu $t4, 0x292($sp) -/* 11343C 7F0DE90C 97AC0298 */ lhu $t4, 0x298($sp) -/* 113440 7F0DE910 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 113444 7F0DE914 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 113448 7F0DE918 25990002 */ addiu $t9, $t4, 2 -/* 11344C 7F0DE91C 00195A03 */ sra $t3, $t9, 8 -/* 113450 7F0DE920 01CD5021 */ addu $t2, $t6, $t5 -/* 113454 7F0DE924 A14B0001 */ sb $t3, 1($t2) -/* 113458 7F0DE928 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 11345C 7F0DE92C 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 113460 7F0DE930 97A90292 */ lhu $t1, 0x292($sp) -/* 113464 7F0DE934 24080001 */ li $t0, 1 -/* 113468 7F0DE938 01E9C021 */ addu $t8, $t7, $t1 -/* 11346C 7F0DE93C 10000016 */ b .L7F0DE998 -/* 113470 7F0DE940 A308A801 */ sb $t0, -0x57ff($t8) -.L7F0DE944: -/* 113474 7F0DE944 25990001 */ addiu $t9, $t4, 1 -/* 113478 7F0DE948 2B214000 */ slti $at, $t9, 0x4000 -/* 11347C 7F0DE94C 14200012 */ bnez $at, .L7F0DE998 -/* 113480 7F0DE950 97AE0298 */ lhu $t6, 0x298($sp) -/* 113484 7F0DE954 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 113488 7F0DE958 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 11348C 7F0DE95C 25CD0002 */ addiu $t5, $t6, 2 -/* 113490 7F0DE960 000D5A03 */ sra $t3, $t5, 8 -/* 113494 7F0DE964 014C7821 */ addu $t7, $t2, $t4 -/* 113498 7F0DE968 A1EB0001 */ sb $t3, 1($t7) -/* 11349C 7F0DE96C 97A80292 */ lhu $t0, 0x292($sp) -/* 1134A0 7F0DE970 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 1134A4 7F0DE974 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 1134A8 7F0DE978 25180001 */ addiu $t8, $t0, 1 -/* 1134AC 7F0DE97C 33191800 */ andi $t9, $t8, 0x1800 -/* 1134B0 7F0DE980 001970C3 */ sra $t6, $t9, 3 -/* 1134B4 7F0DE984 330D00FF */ andi $t5, $t8, 0xff -/* 1134B8 7F0DE988 01CD5025 */ or $t2, $t6, $t5 -/* 1134BC 7F0DE98C 24090001 */ li $t1, 1 -/* 1134C0 7F0DE990 018A5821 */ addu $t3, $t4, $t2 -/* 1134C4 7F0DE994 A1690000 */ sb $t1, ($t3) -.L7F0DE998: -/* 1134C8 7F0DE998 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1134CC 7F0DE99C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1134D0 7F0DE9A0 97AF0298 */ lhu $t7, 0x298($sp) -/* 1134D4 7F0DE9A4 010F7021 */ addu $t6, $t0, $t7 -/* 1134D8 7F0DE9A8 91CD0001 */ lbu $t5, 1($t6) -/* 1134DC 7F0DE9AC 01E8C821 */ addu $t9, $t7, $t0 -/* 1134E0 7F0DE9B0 93380000 */ lbu $t8, ($t9) -/* 1134E4 7F0DE9B4 000D6200 */ sll $t4, $t5, 8 -/* 1134E8 7F0DE9B8 030C5025 */ or $t2, $t8, $t4 -/* 1134EC 7F0DE9BC 10000F8F */ b .L7F0E27FC -/* 1134F0 7F0DE9C0 A7AA0298 */ sh $t2, 0x298($sp) -.L7F0DE9C4: -/* 1134F4 7F0DE9C4 97A90298 */ lhu $t1, 0x298($sp) -/* 1134F8 7F0DE9C8 252B0002 */ addiu $t3, $t1, 2 -/* 1134FC 7F0DE9CC 10000F8B */ b .L7F0E27FC -/* 113500 7F0DE9D0 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_ED: -/* 113504 7F0DE9D4 8FB9028C */ lw $t9, 0x28c($sp) -/* 113508 7F0DE9D8 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 11350C 7F0DE9DC 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 113510 7F0DE9E0 97AF0298 */ lhu $t7, 0x298($sp) -/* 113514 7F0DE9E4 27280004 */ addiu $t0, $t9, 4 -/* 113518 7F0DE9E8 AFA8028C */ sw $t0, 0x28c($sp) -/* 11351C 7F0DE9EC 01EE6821 */ addu $t5, $t7, $t6 -/* 113520 7F0DE9F0 91B80000 */ lbu $t8, ($t5) -/* 113524 7F0DE9F4 8FAA0288 */ lw $t2, 0x288($sp) -/* 113528 7F0DE9F8 25EC0001 */ addiu $t4, $t7, 1 -/* 11352C 7F0DE9FC 330B00FF */ andi $t3, $t8, 0xff -/* 113530 7F0DEA00 2961007F */ slti $at, $t3, 0x7f -/* 113534 7F0DEA04 25490001 */ addiu $t1, $t2, 1 -/* 113538 7F0DEA08 A7AC0298 */ sh $t4, 0x298($sp) -/* 11353C 7F0DEA0C AFA90288 */ sw $t1, 0x288($sp) -/* 113540 7F0DEA10 AFAB0048 */ sw $t3, 0x48($sp) -/* 113544 7F0DEA14 1420000A */ bnez $at, .L7F0DEA40 -/* 113548 7F0DEA18 A3B800E3 */ sb $t8, 0xe3($sp) -/* 11354C 7F0DEA1C 2579FF60 */ addiu $t9, $t3, -0xa0 -/* 113550 7F0DEA20 2F21001C */ sltiu $at, $t9, 0x1c -/* 113554 7F0DEA24 10200C11 */ beqz $at, .L7F0E1A6C -/* 113558 7F0DEA28 0019C880 */ sll $t9, $t9, 2 -/* 11355C 7F0DEA2C 3C018006 */ lui $at, %hi(jpt_8005C6AC) -/* 113560 7F0DEA30 00390821 */ addu $at, $at, $t9 -/* 113564 7F0DEA34 8C39C6AC */ lw $t9, %lo(jpt_8005C6AC)($at) -/* 113568 7F0DEA38 03200008 */ jr $t9 -/* 11356C 7F0DEA3C 00000000 */ nop -.L7F0DEA40: -/* 113570 7F0DEA40 8FA80048 */ lw $t0, 0x48($sp) -/* 113574 7F0DEA44 250EFFC0 */ addiu $t6, $t0, -0x40 -/* 113578 7F0DEA48 2DC1003F */ sltiu $at, $t6, 0x3f -/* 11357C 7F0DEA4C 10200C07 */ beqz $at, .L7F0E1A6C -/* 113580 7F0DEA50 000E7080 */ sll $t6, $t6, 2 -/* 113584 7F0DEA54 3C018006 */ lui $at, %hi(jpt_8005C71C) -/* 113588 7F0DEA58 002E0821 */ addu $at, $at, $t6 -/* 11358C 7F0DEA5C 8C2EC71C */ lw $t6, %lo(jpt_8005C71C)($at) -/* 113590 7F0DEA60 01C00008 */ jr $t6 -/* 113594 7F0DEA64 00000000 */ nop -spectrum_op_ED_40: -/* 113598 7F0DEA68 8FAD028C */ lw $t5, 0x28c($sp) -/* 11359C 7F0DEA6C 02402825 */ move $a1, $s2 -/* 1135A0 7F0DEA70 02603025 */ move $a2, $s3 -/* 1135A4 7F0DEA74 25A40008 */ addiu $a0, $t5, 8 -/* 1135A8 7F0DEA78 0FC34DB6 */ jal spectrum_input_handling -/* 1135AC 7F0DEA7C AFA4028C */ sw $a0, 0x28c($sp) -/* 1135B0 7F0DEA80 8FAF028C */ lw $t7, 0x28c($sp) -/* 1135B4 7F0DEA84 304CFFFF */ andi $t4, $v0, 0xffff -/* 1135B8 7F0DEA88 000C5203 */ sra $t2, $t4, 8 -/* 1135BC 7F0DEA8C A7A200E0 */ sh $v0, 0xe0($sp) -/* 1135C0 7F0DEA90 01EA4821 */ addu $t1, $t7, $t2 -/* 1135C4 7F0DEA94 93B200E1 */ lbu $s2, 0xe1($sp) -/* 1135C8 7F0DEA98 3C0F8009 */ lui $t7, %hi(ptr_pc_keyboard_table_alloc) -/* 1135CC 7F0DEA9C 8DEFE334 */ lw $t7, %lo(ptr_pc_keyboard_table_alloc)($t7) -/* 1135D0 7F0DEAA0 2E4B0001 */ sltiu $t3, $s2, 1 -/* 1135D4 7F0DEAA4 AFAB0048 */ sw $t3, 0x48($sp) -/* 1135D8 7F0DEAA8 AFA9028C */ sw $t1, 0x28c($sp) -/* 1135DC 7F0DEAAC 024F5021 */ addu $t2, $s2, $t7 -/* 1135E0 7F0DEAB0 91490000 */ lbu $t1, ($t2) -/* 1135E4 7F0DEAB4 32390001 */ andi $t9, $s1, 1 -/* 1135E8 7F0DEAB8 324800A8 */ andi $t0, $s2, 0xa8 -/* 1135EC 7F0DEABC 03287025 */ or $t6, $t9, $t0 -/* 1135F0 7F0DEAC0 000BC180 */ sll $t8, $t3, 6 -/* 1135F4 7F0DEAC4 01D86025 */ or $t4, $t6, $t8 -/* 1135F8 7F0DEAC8 012C8825 */ or $s1, $t1, $t4 -/* 1135FC 7F0DEACC 322B00FF */ andi $t3, $s1, 0xff -/* 113600 7F0DEAD0 10000F4A */ b .L7F0E27FC -/* 113604 7F0DEAD4 01608825 */ move $s1, $t3 -spectrum_op_ED_41: -/* 113608 7F0DEAD8 8FB9028C */ lw $t9, 0x28c($sp) -/* 11360C 7F0DEADC 02402825 */ move $a1, $s2 -/* 113610 7F0DEAE0 02603025 */ move $a2, $s3 -/* 113614 7F0DEAE4 27240008 */ addiu $a0, $t9, 8 -/* 113618 7F0DEAE8 AFA4028C */ sw $a0, 0x28c($sp) -/* 11361C 7F0DEAEC 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 113620 7F0DEAF0 02403825 */ move $a3, $s2 -/* 113624 7F0DEAF4 8FAD028C */ lw $t5, 0x28c($sp) -/* 113628 7F0DEAF8 AFA20048 */ sw $v0, 0x48($sp) -/* 11362C 7F0DEAFC 01A2C021 */ addu $t8, $t5, $v0 -/* 113630 7F0DEB00 10000F3E */ b .L7F0E27FC -/* 113634 7F0DEB04 AFB8028C */ sw $t8, 0x28c($sp) -spectrum_op_ED_42: -/* 113638 7F0DEB08 00124A00 */ sll $t1, $s2, 8 -/* 11363C 7F0DEB0C 8FAF028C */ lw $t7, 0x28c($sp) -/* 113640 7F0DEB10 01336025 */ or $t4, $t1, $s3 -/* 113644 7F0DEB14 00165A00 */ sll $t3, $s6, 8 -/* 113648 7F0DEB18 0177C825 */ or $t9, $t3, $s7 -/* 11364C 7F0DEB1C 3188FFFF */ andi $t0, $t4, 0xffff -/* 113650 7F0DEB20 03286823 */ subu $t5, $t9, $t0 -/* 113654 7F0DEB24 322E0001 */ andi $t6, $s1, 1 -/* 113658 7F0DEB28 3C010001 */ lui $at, (0x0001FFFF >> 16) # lui $at, 1 -/* 11365C 7F0DEB2C 3421FFFF */ ori $at, (0x0001FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 113660 7F0DEB30 01AEC023 */ subu $t8, $t5, $t6 -/* 113664 7F0DEB34 25EA000B */ addiu $t2, $t7, 0xb -/* 113668 7F0DEB38 03017824 */ and $t7, $t8, $at -/* 11366C 7F0DEB3C 000F5A02 */ srl $t3, $t7, 8 -/* 113670 7F0DEB40 317900A8 */ andi $t9, $t3, 0xa8 -/* 113674 7F0DEB44 000F4402 */ srl $t0, $t7, 0x10 -/* 113678 7F0DEB48 AFAA028C */ sw $t2, 0x28c($sp) -/* 11367C 7F0DEB4C 03286825 */ or $t5, $t9, $t0 -/* 113680 7F0DEB50 31EAFFFF */ andi $t2, $t7, 0xffff -/* 113684 7F0DEB54 2D490001 */ sltiu $t1, $t2, 1 -/* 113688 7F0DEB58 35AE0002 */ ori $t6, $t5, 2 -/* 11368C 7F0DEB5C 00164200 */ sll $t0, $s6, 8 -/* 113690 7F0DEB60 01176825 */ or $t5, $t0, $s7 -/* 113694 7F0DEB64 318A0FFF */ andi $t2, $t4, 0xfff -/* 113698 7F0DEB68 322B0001 */ andi $t3, $s1, 1 -/* 11369C 7F0DEB6C 014BC821 */ addu $t9, $t2, $t3 -/* 1136A0 7F0DEB70 31B80FFF */ andi $t8, $t5, 0xfff -/* 1136A4 7F0DEB74 0319502A */ slt $t2, $t8, $t9 -/* 1136A8 7F0DEB78 000A5900 */ sll $t3, $t2, 4 -/* 1136AC 7F0DEB7C 01CB4025 */ or $t0, $t6, $t3 -/* 1136B0 7F0DEB80 00166A00 */ sll $t5, $s6, 8 -/* 1136B4 7F0DEB84 01B7C025 */ or $t8, $t5, $s7 -/* 1136B8 7F0DEB88 00165200 */ sll $t2, $s6, 8 -/* 1136BC 7F0DEB8C 01577025 */ or $t6, $t2, $s7 -/* 1136C0 7F0DEB90 01805825 */ move $t3, $t4 -/* 1136C4 7F0DEB94 01CB6826 */ xor $t5, $t6, $t3 -/* 1136C8 7F0DEB98 030FC826 */ xor $t9, $t8, $t7 -/* 1136CC 7F0DEB9C 01B9C024 */ and $t8, $t5, $t9 -/* 1136D0 7F0DEBA0 330A8000 */ andi $t2, $t8, 0x8000 -/* 1136D4 7F0DEBA4 A7AC00DE */ sh $t4, 0xde($sp) -/* 1136D8 7F0DEBA8 000A6342 */ srl $t4, $t2, 0xd -/* 1136DC 7F0DEBAC 010C7025 */ or $t6, $t0, $t4 -/* 1136E0 7F0DEBB0 00095980 */ sll $t3, $t1, 6 -/* 1136E4 7F0DEBB4 01CB8825 */ or $s1, $t6, $t3 -/* 1136E8 7F0DEBB8 000FB202 */ srl $s6, $t7, 8 -/* 1136EC 7F0DEBBC 32D800FF */ andi $t8, $s6, 0xff -/* 1136F0 7F0DEBC0 362D0002 */ ori $t5, $s1, 2 -/* 1136F4 7F0DEBC4 AFAF00D8 */ sw $t7, 0xd8($sp) -/* 1136F8 7F0DEBC8 93B700DB */ lbu $s7, 0xdb($sp) -/* 1136FC 7F0DEBCC 31B100FF */ andi $s1, $t5, 0xff -/* 113700 7F0DEBD0 0300B025 */ move $s6, $t8 -/* 113704 7F0DEBD4 10000F09 */ b .L7F0E27FC -/* 113708 7F0DEBD8 AFA90048 */ sw $t1, 0x48($sp) -spectrum_op_ED_43: -/* 11370C 7F0DEBDC 8FAA028C */ lw $t2, 0x28c($sp) -/* 113710 7F0DEBE0 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 113714 7F0DEBE4 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 113718 7F0DEBE8 97AC0298 */ lhu $t4, 0x298($sp) -/* 11371C 7F0DEBEC 25480010 */ addiu $t0, $t2, 0x10 -/* 113720 7F0DEBF0 AFA8028C */ sw $t0, 0x28c($sp) -/* 113724 7F0DEBF4 012C6821 */ addu $t5, $t1, $t4 -/* 113728 7F0DEBF8 91B90001 */ lbu $t9, 1($t5) -/* 11372C 7F0DEBFC 01897021 */ addu $t6, $t4, $t1 -/* 113730 7F0DEC00 91CB0000 */ lbu $t3, ($t6) -/* 113734 7F0DEC04 00197A00 */ sll $t7, $t9, 8 -/* 113738 7F0DEC08 258A0002 */ addiu $t2, $t4, 2 -/* 11373C 7F0DEC0C 016FC025 */ or $t8, $t3, $t7 -/* 113740 7F0DEC10 3308FFFF */ andi $t0, $t8, 0xffff -/* 113744 7F0DEC14 29015B00 */ slti $at, $t0, 0x5b00 -/* 113748 7F0DEC18 A7B800D6 */ sh $t8, 0xd6($sp) -/* 11374C 7F0DEC1C 14200006 */ bnez $at, .L7F0DEC38 -/* 113750 7F0DEC20 A7AA0298 */ sh $t2, 0x298($sp) -/* 113754 7F0DEC24 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 113758 7F0DEC28 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 11375C 7F0DEC2C 01C84821 */ addu $t1, $t6, $t0 -/* 113760 7F0DEC30 10000021 */ b .L7F0DECB8 -/* 113764 7F0DEC34 A1330000 */ sb $s3, ($t1) -.L7F0DEC38: -/* 113768 7F0DEC38 97AD00D6 */ lhu $t5, 0xd6($sp) -/* 11376C 7F0DEC3C 97AE00D6 */ lhu $t6, 0xd6($sp) -/* 113770 7F0DEC40 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 113774 7F0DEC44 29A15800 */ slti $at, $t5, 0x5800 -/* 113778 7F0DEC48 5420000C */ bnezl $at, .L7F0DEC7C -/* 11377C 7F0DEC4C 29C14000 */ slti $at, $t6, 0x4000 -/* 113780 7F0DEC50 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 113784 7F0DEC54 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 113788 7F0DEC58 240F0001 */ li $t7, 1 -/* 11378C 7F0DEC5C 032D5821 */ addu $t3, $t9, $t5 -/* 113790 7F0DEC60 A1730000 */ sb $s3, ($t3) -/* 113794 7F0DEC64 97AC00D6 */ lhu $t4, 0xd6($sp) -/* 113798 7F0DEC68 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 11379C 7F0DEC6C 030C5021 */ addu $t2, $t8, $t4 -/* 1137A0 7F0DEC70 10000011 */ b .L7F0DECB8 -/* 1137A4 7F0DEC74 A14FA800 */ sb $t7, -0x5800($t2) -/* 1137A8 7F0DEC78 29C14000 */ slti $at, $t6, 0x4000 -.L7F0DEC7C: -/* 1137AC 7F0DEC7C 1420000E */ bnez $at, .L7F0DECB8 -/* 1137B0 7F0DEC80 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1137B4 7F0DEC84 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1137B8 7F0DEC88 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 1137BC 7F0DEC8C 24190001 */ li $t9, 1 -/* 1137C0 7F0DEC90 010E4821 */ addu $t1, $t0, $t6 -/* 1137C4 7F0DEC94 A1330000 */ sb $s3, ($t1) -/* 1137C8 7F0DEC98 97AD00D6 */ lhu $t5, 0xd6($sp) -/* 1137CC 7F0DEC9C 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 1137D0 7F0DECA0 31AB1800 */ andi $t3, $t5, 0x1800 -/* 1137D4 7F0DECA4 000BC0C3 */ sra $t8, $t3, 3 -/* 1137D8 7F0DECA8 31AC00FF */ andi $t4, $t5, 0xff -/* 1137DC 7F0DECAC 030C7825 */ or $t7, $t8, $t4 -/* 1137E0 7F0DECB0 014F4021 */ addu $t0, $t2, $t7 -/* 1137E4 7F0DECB4 A1190000 */ sb $t9, ($t0) -.L7F0DECB8: -/* 1137E8 7F0DECB8 97AE00D6 */ lhu $t6, 0xd6($sp) -/* 1137EC 7F0DECBC 97B800D6 */ lhu $t8, 0xd6($sp) -/* 1137F0 7F0DECC0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1137F4 7F0DECC4 25C90001 */ addiu $t1, $t6, 1 -/* 1137F8 7F0DECC8 29215B00 */ slti $at, $t1, 0x5b00 -/* 1137FC 7F0DECCC 14200005 */ bnez $at, .L7F0DECE4 -/* 113800 7F0DECD0 270C0001 */ addiu $t4, $t8, 1 -/* 113804 7F0DECD4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 113808 7F0DECD8 016E6821 */ addu $t5, $t3, $t6 -/* 11380C 7F0DECDC 10000EC7 */ b .L7F0E27FC -/* 113810 7F0DECE0 A1B20001 */ sb $s2, 1($t5) -.L7F0DECE4: -/* 113814 7F0DECE4 29815800 */ slti $at, $t4, 0x5800 -/* 113818 7F0DECE8 1420000C */ bnez $at, .L7F0DED1C -/* 11381C 7F0DECEC 97AE00D6 */ lhu $t6, 0xd6($sp) -/* 113820 7F0DECF0 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 113824 7F0DECF4 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 113828 7F0DECF8 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 11382C 7F0DECFC 24190001 */ li $t9, 1 -/* 113830 7F0DED00 01587821 */ addu $t7, $t2, $t8 -/* 113834 7F0DED04 A1F20001 */ sb $s2, 1($t7) -/* 113838 7F0DED08 97A900D6 */ lhu $t1, 0xd6($sp) -/* 11383C 7F0DED0C 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 113840 7F0DED10 01095821 */ addu $t3, $t0, $t1 -/* 113844 7F0DED14 10000EB9 */ b .L7F0E27FC -/* 113848 7F0DED18 A179A801 */ sb $t9, -0x57ff($t3) -.L7F0DED1C: -/* 11384C 7F0DED1C 25CD0001 */ addiu $t5, $t6, 1 -/* 113850 7F0DED20 29A14000 */ slti $at, $t5, 0x4000 -/* 113854 7F0DED24 14200EB5 */ bnez $at, .L7F0E27FC -/* 113858 7F0DED28 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 11385C 7F0DED2C 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 113860 7F0DED30 24180001 */ li $t8, 1 -/* 113864 7F0DED34 018E5021 */ addu $t2, $t4, $t6 -/* 113868 7F0DED38 A1520001 */ sb $s2, 1($t2) -/* 11386C 7F0DED3C 97AF00D6 */ lhu $t7, 0xd6($sp) -/* 113870 7F0DED40 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 113874 7F0DED44 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 113878 7F0DED48 25E80001 */ addiu $t0, $t7, 1 -/* 11387C 7F0DED4C 31091800 */ andi $t1, $t0, 0x1800 -/* 113880 7F0DED50 0009C8C3 */ sra $t9, $t1, 3 -/* 113884 7F0DED54 310B00FF */ andi $t3, $t0, 0xff -/* 113888 7F0DED58 032B6825 */ or $t5, $t9, $t3 -/* 11388C 7F0DED5C 018D7021 */ addu $t6, $t4, $t5 -/* 113890 7F0DED60 10000EA6 */ b .L7F0E27FC -/* 113894 7F0DED64 A1D80000 */ sb $t8, ($t6) -spectrum_op_ED_44: -/* 113898 7F0DED68 00108023 */ negu $s0, $s0 -/* 11389C 7F0DED6C 320900FF */ andi $t1, $s0, 0xff -/* 1138A0 7F0DED70 8FAA028C */ lw $t2, 0x28c($sp) -/* 1138A4 7F0DED74 2D280001 */ sltiu $t0, $t1, 1 -/* 1138A8 7F0DED78 3138000F */ andi $t8, $t1, 0xf -/* 1138AC 7F0DED7C 01208025 */ move $s0, $t1 -/* 1138B0 7F0DED80 313900A8 */ andi $t9, $t1, 0xa8 -/* 1138B4 7F0DED84 254F0004 */ addiu $t7, $t2, 4 -/* 1138B8 7F0DED88 39290080 */ xori $t1, $t1, 0x80 -/* 1138BC 7F0DED8C 0018702A */ slt $t6, $zero, $t8 -/* 1138C0 7F0DED90 00086180 */ sll $t4, $t0, 6 -/* 1138C4 7F0DED94 AFAF028C */ sw $t7, 0x28c($sp) -/* 1138C8 7F0DED98 032C6825 */ or $t5, $t9, $t4 -/* 1138CC 7F0DED9C 000E5100 */ sll $t2, $t6, 4 -/* 1138D0 7F0DEDA0 2D290001 */ sltiu $t1, $t1, 1 -/* 1138D4 7F0DEDA4 AFA80048 */ sw $t0, 0x48($sp) -/* 1138D8 7F0DEDA8 00094080 */ sll $t0, $t1, 2 -/* 1138DC 7F0DEDAC 01AA7825 */ or $t7, $t5, $t2 -/* 1138E0 7F0DEDB0 01E85825 */ or $t3, $t7, $t0 -/* 1138E4 7F0DEDB4 35790002 */ ori $t9, $t3, 2 -/* 1138E8 7F0DEDB8 0010602A */ slt $t4, $zero, $s0 -/* 1138EC 7F0DEDBC 032C8825 */ or $s1, $t9, $t4 -/* 1138F0 7F0DEDC0 323800FF */ andi $t8, $s1, 0xff -/* 1138F4 7F0DEDC4 10000E8D */ b .L7F0E27FC -/* 1138F8 7F0DEDC8 03008825 */ move $s1, $t8 -spectrum_op_ED_45: -/* 1138FC 7F0DEDCC 8FAE028C */ lw $t6, 0x28c($sp) -/* 113900 7F0DEDD0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 113904 7F0DEDD4 93AA029C */ lbu $t2, 0x29c($sp) -/* 113908 7F0DEDD8 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 11390C 7F0DEDDC 97A80292 */ lhu $t0, 0x292($sp) -/* 113910 7F0DEDE0 25CD0004 */ addiu $t5, $t6, 4 -/* 113914 7F0DEDE4 AFAD028C */ sw $t5, 0x28c($sp) -/* 113918 7F0DEDE8 25AF0006 */ addiu $t7, $t5, 6 -/* 11391C 7F0DEDEC AFAF028C */ sw $t7, 0x28c($sp) -/* 113920 7F0DEDF0 A3AA029D */ sb $t2, 0x29d($sp) -/* 113924 7F0DEDF4 0168C021 */ addu $t8, $t3, $t0 -/* 113928 7F0DEDF8 930E0001 */ lbu $t6, 1($t8) -/* 11392C 7F0DEDFC 010BC821 */ addu $t9, $t0, $t3 -/* 113930 7F0DEE00 932C0000 */ lbu $t4, ($t9) -/* 113934 7F0DEE04 000E6A00 */ sll $t5, $t6, 8 -/* 113938 7F0DEE08 25090002 */ addiu $t1, $t0, 2 -/* 11393C 7F0DEE0C 018D5025 */ or $t2, $t4, $t5 -/* 113940 7F0DEE10 A7AA0298 */ sh $t2, 0x298($sp) -/* 113944 7F0DEE14 10000E79 */ b .L7F0E27FC -/* 113948 7F0DEE18 A7A90292 */ sh $t1, 0x292($sp) -spectrum_op_ED_46: -/* 11394C 7F0DEE1C 8FAF028C */ lw $t7, 0x28c($sp) -/* 113950 7F0DEE20 A3A0029B */ sb $zero, 0x29b($sp) -/* 113954 7F0DEE24 25F90004 */ addiu $t9, $t7, 4 -/* 113958 7F0DEE28 10000E74 */ b .L7F0E27FC -/* 11395C 7F0DEE2C AFB9028C */ sw $t9, 0x28c($sp) -spectrum_op_ED_47: -/* 113960 7F0DEE30 8FAB028C */ lw $t3, 0x28c($sp) -/* 113964 7F0DEE34 A3B0029E */ sb $s0, 0x29e($sp) -/* 113968 7F0DEE38 25780005 */ addiu $t8, $t3, 5 -/* 11396C 7F0DEE3C 10000E6F */ b .L7F0E27FC -/* 113970 7F0DEE40 AFB8028C */ sw $t8, 0x28c($sp) -spectrum_op_ED_48: -/* 113974 7F0DEE44 8FAE028C */ lw $t6, 0x28c($sp) -/* 113978 7F0DEE48 02402825 */ move $a1, $s2 -/* 11397C 7F0DEE4C 02603025 */ move $a2, $s3 -/* 113980 7F0DEE50 25C40008 */ addiu $a0, $t6, 8 -/* 113984 7F0DEE54 0FC34DB6 */ jal spectrum_input_handling -/* 113988 7F0DEE58 AFA4028C */ sw $a0, 0x28c($sp) -/* 11398C 7F0DEE5C 8FAD028C */ lw $t5, 0x28c($sp) -/* 113990 7F0DEE60 304AFFFF */ andi $t2, $v0, 0xffff -/* 113994 7F0DEE64 000A4203 */ sra $t0, $t2, 8 -/* 113998 7F0DEE68 A7A200D4 */ sh $v0, 0xd4($sp) -/* 11399C 7F0DEE6C 01A84821 */ addu $t1, $t5, $t0 -/* 1139A0 7F0DEE70 93B300D5 */ lbu $s3, 0xd5($sp) -/* 1139A4 7F0DEE74 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 1139A8 7F0DEE78 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 1139AC 7F0DEE7C 2E6F0001 */ sltiu $t7, $s3, 1 -/* 1139B0 7F0DEE80 AFAF0048 */ sw $t7, 0x48($sp) -/* 1139B4 7F0DEE84 AFA9028C */ sw $t1, 0x28c($sp) -/* 1139B8 7F0DEE88 026D4021 */ addu $t0, $s3, $t5 -/* 1139BC 7F0DEE8C 91090000 */ lbu $t1, ($t0) -/* 1139C0 7F0DEE90 32390001 */ andi $t9, $s1, 1 -/* 1139C4 7F0DEE94 326B00A8 */ andi $t3, $s3, 0xa8 -/* 1139C8 7F0DEE98 032BC025 */ or $t8, $t9, $t3 -/* 1139CC 7F0DEE9C 000F6180 */ sll $t4, $t7, 6 -/* 1139D0 7F0DEEA0 030C5025 */ or $t2, $t8, $t4 -/* 1139D4 7F0DEEA4 012A8825 */ or $s1, $t1, $t2 -/* 1139D8 7F0DEEA8 322F00FF */ andi $t7, $s1, 0xff -/* 1139DC 7F0DEEAC 10000E53 */ b .L7F0E27FC -/* 1139E0 7F0DEEB0 01E08825 */ move $s1, $t7 -spectrum_op_ED_49: -/* 1139E4 7F0DEEB4 8FB9028C */ lw $t9, 0x28c($sp) -/* 1139E8 7F0DEEB8 02402825 */ move $a1, $s2 -/* 1139EC 7F0DEEBC 02603025 */ move $a2, $s3 -/* 1139F0 7F0DEEC0 27240008 */ addiu $a0, $t9, 8 -/* 1139F4 7F0DEEC4 AFA4028C */ sw $a0, 0x28c($sp) -/* 1139F8 7F0DEEC8 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 1139FC 7F0DEECC 02603825 */ move $a3, $s3 -/* 113A00 7F0DEED0 8FAE028C */ lw $t6, 0x28c($sp) -/* 113A04 7F0DEED4 AFA20048 */ sw $v0, 0x48($sp) -/* 113A08 7F0DEED8 01C26021 */ addu $t4, $t6, $v0 -/* 113A0C 7F0DEEDC 10000E47 */ b .L7F0E27FC -/* 113A10 7F0DEEE0 AFAC028C */ sw $t4, 0x28c($sp) -spectrum_op_ED_4A: -/* 113A14 7F0DEEE4 00124A00 */ sll $t1, $s2, 8 -/* 113A18 7F0DEEE8 01335025 */ or $t2, $t1, $s3 -/* 113A1C 7F0DEEEC 00167A00 */ sll $t7, $s6, 8 -/* 113A20 7F0DEEF0 01F7C825 */ or $t9, $t7, $s7 -/* 113A24 7F0DEEF4 314BFFFF */ andi $t3, $t2, 0xffff -/* 113A28 7F0DEEF8 8FAD028C */ lw $t5, 0x28c($sp) -/* 113A2C 7F0DEEFC 032B7021 */ addu $t6, $t9, $t3 -/* 113A30 7F0DEF00 32380001 */ andi $t8, $s1, 1 -/* 113A34 7F0DEF04 01D86021 */ addu $t4, $t6, $t8 -/* 113A38 7F0DEF08 25A8000B */ addiu $t0, $t5, 0xb -/* 113A3C 7F0DEF0C 000C4A02 */ srl $t1, $t4, 8 -/* 113A40 7F0DEF10 AFA8028C */ sw $t0, 0x28c($sp) -/* 113A44 7F0DEF14 312F00A8 */ andi $t7, $t1, 0xa8 -/* 113A48 7F0DEF18 318DFFFF */ andi $t5, $t4, 0xffff -/* 113A4C 7F0DEF1C 000CCC02 */ srl $t9, $t4, 0x10 -/* 113A50 7F0DEF20 00167200 */ sll $t6, $s6, 8 -/* 113A54 7F0DEF24 01D7C025 */ or $t8, $t6, $s7 -/* 113A58 7F0DEF28 01F95825 */ or $t3, $t7, $t9 -/* 113A5C 7F0DEF2C 2DA80001 */ sltiu $t0, $t5, 1 -/* 113A60 7F0DEF30 330D0FFF */ andi $t5, $t8, 0xfff -/* 113A64 7F0DEF34 314F0FFF */ andi $t7, $t2, 0xfff -/* 113A68 7F0DEF38 01AFC821 */ addu $t9, $t5, $t7 -/* 113A6C 7F0DEF3C 322E0001 */ andi $t6, $s1, 1 -/* 113A70 7F0DEF40 032EC021 */ addu $t8, $t9, $t6 -/* 113A74 7F0DEF44 24010FFF */ li $at, 4095 -/* 113A78 7F0DEF48 0038482A */ slt $t1, $at, $t8 -/* 113A7C 7F0DEF4C 00096900 */ sll $t5, $t1, 4 -/* 113A80 7F0DEF50 016D7825 */ or $t7, $t3, $t5 -/* 113A84 7F0DEF54 0016CA00 */ sll $t9, $s6, 8 -/* 113A88 7F0DEF58 03377025 */ or $t6, $t9, $s7 -/* 113A8C 7F0DEF5C 00164A00 */ sll $t1, $s6, 8 -/* 113A90 7F0DEF60 01375827 */ nor $t3, $t1, $s7 -/* 113A94 7F0DEF64 01406825 */ move $t5, $t2 -/* 113A98 7F0DEF68 016DC826 */ xor $t9, $t3, $t5 -/* 113A9C 7F0DEF6C 01CCC026 */ xor $t8, $t6, $t4 -/* 113AA0 7F0DEF70 03387024 */ and $t6, $t9, $t8 -/* 113AA4 7F0DEF74 31C98000 */ andi $t1, $t6, 0x8000 -/* 113AA8 7F0DEF78 A7AA00D2 */ sh $t2, 0xd2($sp) -/* 113AAC 7F0DEF7C 00095342 */ srl $t2, $t1, 0xd -/* 113AB0 7F0DEF80 01EA5825 */ or $t3, $t7, $t2 -/* 113AB4 7F0DEF84 00086980 */ sll $t5, $t0, 6 -/* 113AB8 7F0DEF88 016D8825 */ or $s1, $t3, $t5 -/* 113ABC 7F0DEF8C 000CB202 */ srl $s6, $t4, 8 -/* 113AC0 7F0DEF90 32CE00FF */ andi $t6, $s6, 0xff -/* 113AC4 7F0DEF94 36390002 */ ori $t9, $s1, 2 -/* 113AC8 7F0DEF98 AFAC00CC */ sw $t4, 0xcc($sp) -/* 113ACC 7F0DEF9C 93B700CF */ lbu $s7, 0xcf($sp) -/* 113AD0 7F0DEFA0 333100FF */ andi $s1, $t9, 0xff -/* 113AD4 7F0DEFA4 01C0B025 */ move $s6, $t6 -/* 113AD8 7F0DEFA8 10000E14 */ b .L7F0E27FC -/* 113ADC 7F0DEFAC AFA80048 */ sw $t0, 0x48($sp) -spectrum_op_ED_4B: -/* 113AE0 7F0DEFB0 8FA9028C */ lw $t1, 0x28c($sp) -/* 113AE4 7F0DEFB4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 113AE8 7F0DEFB8 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 113AEC 7F0DEFBC 97AA0298 */ lhu $t2, 0x298($sp) -/* 113AF0 7F0DEFC0 252F0010 */ addiu $t7, $t1, 0x10 -/* 113AF4 7F0DEFC4 AFAF028C */ sw $t7, 0x28c($sp) -/* 113AF8 7F0DEFC8 010AC821 */ addu $t9, $t0, $t2 -/* 113AFC 7F0DEFCC 93380001 */ lbu $t8, 1($t9) -/* 113B00 7F0DEFD0 01485821 */ addu $t3, $t2, $t0 -/* 113B04 7F0DEFD4 916D0000 */ lbu $t5, ($t3) -/* 113B08 7F0DEFD8 00186200 */ sll $t4, $t8, 8 -/* 113B0C 7F0DEFDC 25490002 */ addiu $t1, $t2, 2 -/* 113B10 7F0DEFE0 01AC7025 */ or $t6, $t5, $t4 -/* 113B14 7F0DEFE4 31CFFFFF */ andi $t7, $t6, 0xffff -/* 113B18 7F0DEFE8 A7AE00CA */ sh $t6, 0xca($sp) -/* 113B1C 7F0DEFEC A7A90298 */ sh $t1, 0x298($sp) -/* 113B20 7F0DEFF0 01E85821 */ addu $t3, $t7, $t0 -/* 113B24 7F0DEFF4 91730000 */ lbu $s3, ($t3) -/* 113B28 7F0DEFF8 10000E00 */ b .L7F0E27FC -/* 113B2C 7F0DEFFC 91720001 */ lbu $s2, 1($t3) -spectrum_op_ED_4C: -/* 113B30 7F0DF000 00108023 */ negu $s0, $s0 -/* 113B34 7F0DF004 320D00FF */ andi $t5, $s0, 0xff -/* 113B38 7F0DF008 8FB9028C */ lw $t9, 0x28c($sp) -/* 113B3C 7F0DF00C 2DAC0001 */ sltiu $t4, $t5, 1 -/* 113B40 7F0DF010 31A8000F */ andi $t0, $t5, 0xf -/* 113B44 7F0DF014 01A08025 */ move $s0, $t5 -/* 113B48 7F0DF018 31AE00A8 */ andi $t6, $t5, 0xa8 -/* 113B4C 7F0DF01C 27380004 */ addiu $t8, $t9, 4 -/* 113B50 7F0DF020 39AD0080 */ xori $t5, $t5, 0x80 -/* 113B54 7F0DF024 0008582A */ slt $t3, $zero, $t0 -/* 113B58 7F0DF028 000C4980 */ sll $t1, $t4, 6 -/* 113B5C 7F0DF02C AFB8028C */ sw $t8, 0x28c($sp) -/* 113B60 7F0DF030 01C97825 */ or $t7, $t6, $t1 -/* 113B64 7F0DF034 000BC900 */ sll $t9, $t3, 4 -/* 113B68 7F0DF038 2DAD0001 */ sltiu $t5, $t5, 1 -/* 113B6C 7F0DF03C AFAC0048 */ sw $t4, 0x48($sp) -/* 113B70 7F0DF040 000D6080 */ sll $t4, $t5, 2 -/* 113B74 7F0DF044 01F9C025 */ or $t8, $t7, $t9 -/* 113B78 7F0DF048 030C5025 */ or $t2, $t8, $t4 -/* 113B7C 7F0DF04C 354E0002 */ ori $t6, $t2, 2 -/* 113B80 7F0DF050 0010482A */ slt $t1, $zero, $s0 -/* 113B84 7F0DF054 01C98825 */ or $s1, $t6, $t1 -/* 113B88 7F0DF058 322800FF */ andi $t0, $s1, 0xff -/* 113B8C 7F0DF05C 10000DE7 */ b .L7F0E27FC -/* 113B90 7F0DF060 01008825 */ move $s1, $t0 -spectrum_op_ED_4D: -/* 113B94 7F0DF064 8FAB028C */ lw $t3, 0x28c($sp) -/* 113B98 7F0DF068 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 113B9C 7F0DF06C 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 113BA0 7F0DF070 97B80292 */ lhu $t8, 0x292($sp) -/* 113BA4 7F0DF074 256F0004 */ addiu $t7, $t3, 4 -/* 113BA8 7F0DF078 AFAF028C */ sw $t7, 0x28c($sp) -/* 113BAC 7F0DF07C 25ED0006 */ addiu $t5, $t7, 6 -/* 113BB0 7F0DF080 AFAD028C */ sw $t5, 0x28c($sp) -/* 113BB4 7F0DF084 01984821 */ addu $t1, $t4, $t8 -/* 113BB8 7F0DF088 91280001 */ lbu $t0, 1($t1) -/* 113BBC 7F0DF08C 030C5021 */ addu $t2, $t8, $t4 -/* 113BC0 7F0DF090 914E0000 */ lbu $t6, ($t2) -/* 113BC4 7F0DF094 00085A00 */ sll $t3, $t0, 8 -/* 113BC8 7F0DF098 27190002 */ addiu $t9, $t8, 2 -/* 113BCC 7F0DF09C 01CB7825 */ or $t7, $t6, $t3 -/* 113BD0 7F0DF0A0 A7AF0298 */ sh $t7, 0x298($sp) -/* 113BD4 7F0DF0A4 10000DD5 */ b .L7F0E27FC -/* 113BD8 7F0DF0A8 A7B90292 */ sh $t9, 0x292($sp) -spectrum_op_ED_4E: -/* 113BDC 7F0DF0AC 8FAD028C */ lw $t5, 0x28c($sp) -/* 113BE0 7F0DF0B0 240C0001 */ li $t4, 1 -/* 113BE4 7F0DF0B4 A3AC029B */ sb $t4, 0x29b($sp) -/* 113BE8 7F0DF0B8 25AA0004 */ addiu $t2, $t5, 4 -/* 113BEC 7F0DF0BC 10000DCF */ b .L7F0E27FC -/* 113BF0 7F0DF0C0 AFAA028C */ sw $t2, 0x28c($sp) -spectrum_op_ED_4F: -/* 113BF4 7F0DF0C4 8FA9028C */ lw $t1, 0x28c($sp) -/* 113BF8 7F0DF0C8 320E00FF */ andi $t6, $s0, 0xff -/* 113BFC 7F0DF0CC A3B002A7 */ sb $s0, 0x2a7($sp) -/* 113C00 7F0DF0D0 25280005 */ addiu $t0, $t1, 5 -/* 113C04 7F0DF0D4 AFA8028C */ sw $t0, 0x28c($sp) -/* 113C08 7F0DF0D8 10000DC8 */ b .L7F0E27FC -/* 113C0C 7F0DF0DC AFAE0288 */ sw $t6, 0x288($sp) -spectrum_op_ED_50: -/* 113C10 7F0DF0E0 8FAB028C */ lw $t3, 0x28c($sp) -/* 113C14 7F0DF0E4 02402825 */ move $a1, $s2 -/* 113C18 7F0DF0E8 02603025 */ move $a2, $s3 -/* 113C1C 7F0DF0EC 25640008 */ addiu $a0, $t3, 8 -/* 113C20 7F0DF0F0 0FC34DB6 */ jal spectrum_input_handling -/* 113C24 7F0DF0F4 AFA4028C */ sw $a0, 0x28c($sp) -/* 113C28 7F0DF0F8 8FB8028C */ lw $t8, 0x28c($sp) -/* 113C2C 7F0DF0FC 3059FFFF */ andi $t9, $v0, 0xffff -/* 113C30 7F0DF100 00196A03 */ sra $t5, $t9, 8 -/* 113C34 7F0DF104 A7A200C8 */ sh $v0, 0xc8($sp) -/* 113C38 7F0DF108 030D5021 */ addu $t2, $t8, $t5 -/* 113C3C 7F0DF10C 93B400C9 */ lbu $s4, 0xc9($sp) -/* 113C40 7F0DF110 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 113C44 7F0DF114 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 113C48 7F0DF118 2E8C0001 */ sltiu $t4, $s4, 1 -/* 113C4C 7F0DF11C AFAC0048 */ sw $t4, 0x48($sp) -/* 113C50 7F0DF120 AFAA028C */ sw $t2, 0x28c($sp) -/* 113C54 7F0DF124 02986821 */ addu $t5, $s4, $t8 -/* 113C58 7F0DF128 91AA0000 */ lbu $t2, ($t5) -/* 113C5C 7F0DF12C 32290001 */ andi $t1, $s1, 1 -/* 113C60 7F0DF130 328800A8 */ andi $t0, $s4, 0xa8 -/* 113C64 7F0DF134 01287025 */ or $t6, $t1, $t0 -/* 113C68 7F0DF138 000C7980 */ sll $t7, $t4, 6 -/* 113C6C 7F0DF13C 01CFC825 */ or $t9, $t6, $t7 -/* 113C70 7F0DF140 01598825 */ or $s1, $t2, $t9 -/* 113C74 7F0DF144 322C00FF */ andi $t4, $s1, 0xff -/* 113C78 7F0DF148 10000DAC */ b .L7F0E27FC -/* 113C7C 7F0DF14C 01808825 */ move $s1, $t4 -spectrum_op_ED_51: -/* 113C80 7F0DF150 8FA9028C */ lw $t1, 0x28c($sp) -/* 113C84 7F0DF154 02402825 */ move $a1, $s2 -/* 113C88 7F0DF158 02603025 */ move $a2, $s3 -/* 113C8C 7F0DF15C 25240008 */ addiu $a0, $t1, 8 -/* 113C90 7F0DF160 AFA4028C */ sw $a0, 0x28c($sp) -/* 113C94 7F0DF164 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 113C98 7F0DF168 02803825 */ move $a3, $s4 -/* 113C9C 7F0DF16C 8FAB028C */ lw $t3, 0x28c($sp) -/* 113CA0 7F0DF170 AFA20048 */ sw $v0, 0x48($sp) -/* 113CA4 7F0DF174 01627821 */ addu $t7, $t3, $v0 -/* 113CA8 7F0DF178 10000DA0 */ b .L7F0E27FC -/* 113CAC 7F0DF17C AFAF028C */ sw $t7, 0x28c($sp) -spectrum_op_ED_52: -/* 113CB0 7F0DF180 00145200 */ sll $t2, $s4, 8 -/* 113CB4 7F0DF184 8FB8028C */ lw $t8, 0x28c($sp) -/* 113CB8 7F0DF188 0155C825 */ or $t9, $t2, $s5 -/* 113CBC 7F0DF18C 00166200 */ sll $t4, $s6, 8 -/* 113CC0 7F0DF190 01974825 */ or $t1, $t4, $s7 -/* 113CC4 7F0DF194 3328FFFF */ andi $t0, $t9, 0xffff -/* 113CC8 7F0DF198 01285823 */ subu $t3, $t1, $t0 -/* 113CCC 7F0DF19C 322E0001 */ andi $t6, $s1, 1 -/* 113CD0 7F0DF1A0 3C010001 */ lui $at, (0x0001FFFF >> 16) # lui $at, 1 -/* 113CD4 7F0DF1A4 3421FFFF */ ori $at, (0x0001FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 113CD8 7F0DF1A8 016E7823 */ subu $t7, $t3, $t6 -/* 113CDC 7F0DF1AC 270D000B */ addiu $t5, $t8, 0xb -/* 113CE0 7F0DF1B0 01E1C024 */ and $t8, $t7, $at -/* 113CE4 7F0DF1B4 00186202 */ srl $t4, $t8, 8 -/* 113CE8 7F0DF1B8 318900A8 */ andi $t1, $t4, 0xa8 -/* 113CEC 7F0DF1BC 00184402 */ srl $t0, $t8, 0x10 -/* 113CF0 7F0DF1C0 AFAD028C */ sw $t5, 0x28c($sp) -/* 113CF4 7F0DF1C4 01285825 */ or $t3, $t1, $t0 -/* 113CF8 7F0DF1C8 330DFFFF */ andi $t5, $t8, 0xffff -/* 113CFC 7F0DF1CC 2DAA0001 */ sltiu $t2, $t5, 1 -/* 113D00 7F0DF1D0 356E0002 */ ori $t6, $t3, 2 -/* 113D04 7F0DF1D4 00164200 */ sll $t0, $s6, 8 -/* 113D08 7F0DF1D8 01175825 */ or $t3, $t0, $s7 -/* 113D0C 7F0DF1DC 332D0FFF */ andi $t5, $t9, 0xfff -/* 113D10 7F0DF1E0 322C0001 */ andi $t4, $s1, 1 -/* 113D14 7F0DF1E4 01AC4821 */ addu $t1, $t5, $t4 -/* 113D18 7F0DF1E8 316F0FFF */ andi $t7, $t3, 0xfff -/* 113D1C 7F0DF1EC 01E9682A */ slt $t5, $t7, $t1 -/* 113D20 7F0DF1F0 000D6100 */ sll $t4, $t5, 4 -/* 113D24 7F0DF1F4 01CC4025 */ or $t0, $t6, $t4 -/* 113D28 7F0DF1F8 00165A00 */ sll $t3, $s6, 8 -/* 113D2C 7F0DF1FC 01777825 */ or $t7, $t3, $s7 -/* 113D30 7F0DF200 00166A00 */ sll $t5, $s6, 8 -/* 113D34 7F0DF204 01B77025 */ or $t6, $t5, $s7 -/* 113D38 7F0DF208 03206025 */ move $t4, $t9 -/* 113D3C 7F0DF20C 01CC5826 */ xor $t3, $t6, $t4 -/* 113D40 7F0DF210 01F84826 */ xor $t1, $t7, $t8 -/* 113D44 7F0DF214 01697824 */ and $t7, $t3, $t1 -/* 113D48 7F0DF218 31ED8000 */ andi $t5, $t7, 0x8000 -/* 113D4C 7F0DF21C A7B900C6 */ sh $t9, 0xc6($sp) -/* 113D50 7F0DF220 000DCB42 */ srl $t9, $t5, 0xd -/* 113D54 7F0DF224 01197025 */ or $t6, $t0, $t9 -/* 113D58 7F0DF228 000A6180 */ sll $t4, $t2, 6 -/* 113D5C 7F0DF22C 01CC8825 */ or $s1, $t6, $t4 -/* 113D60 7F0DF230 0018B202 */ srl $s6, $t8, 8 -/* 113D64 7F0DF234 32CF00FF */ andi $t7, $s6, 0xff -/* 113D68 7F0DF238 362B0002 */ ori $t3, $s1, 2 -/* 113D6C 7F0DF23C AFB800C0 */ sw $t8, 0xc0($sp) -/* 113D70 7F0DF240 93B700C3 */ lbu $s7, 0xc3($sp) -/* 113D74 7F0DF244 317100FF */ andi $s1, $t3, 0xff -/* 113D78 7F0DF248 01E0B025 */ move $s6, $t7 -/* 113D7C 7F0DF24C 10000D6B */ b .L7F0E27FC -/* 113D80 7F0DF250 AFAA0048 */ sw $t2, 0x48($sp) -spectrum_op_ED_53: -/* 113D84 7F0DF254 8FAD028C */ lw $t5, 0x28c($sp) -/* 113D88 7F0DF258 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 113D8C 7F0DF25C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 113D90 7F0DF260 97B90298 */ lhu $t9, 0x298($sp) -/* 113D94 7F0DF264 25A80010 */ addiu $t0, $t5, 0x10 -/* 113D98 7F0DF268 AFA8028C */ sw $t0, 0x28c($sp) -/* 113D9C 7F0DF26C 01595821 */ addu $t3, $t2, $t9 -/* 113DA0 7F0DF270 91690001 */ lbu $t1, 1($t3) -/* 113DA4 7F0DF274 032A7021 */ addu $t6, $t9, $t2 -/* 113DA8 7F0DF278 91CC0000 */ lbu $t4, ($t6) -/* 113DAC 7F0DF27C 0009C200 */ sll $t8, $t1, 8 -/* 113DB0 7F0DF280 272D0002 */ addiu $t5, $t9, 2 -/* 113DB4 7F0DF284 01987825 */ or $t7, $t4, $t8 -/* 113DB8 7F0DF288 31E8FFFF */ andi $t0, $t7, 0xffff -/* 113DBC 7F0DF28C 29015B00 */ slti $at, $t0, 0x5b00 -/* 113DC0 7F0DF290 A7AF00BE */ sh $t7, 0xbe($sp) -/* 113DC4 7F0DF294 14200006 */ bnez $at, .L7F0DF2B0 -/* 113DC8 7F0DF298 A7AD0298 */ sh $t5, 0x298($sp) -/* 113DCC 7F0DF29C 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 113DD0 7F0DF2A0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 113DD4 7F0DF2A4 01C85021 */ addu $t2, $t6, $t0 -/* 113DD8 7F0DF2A8 10000021 */ b .L7F0DF330 -/* 113DDC 7F0DF2AC A1550000 */ sb $s5, ($t2) -.L7F0DF2B0: -/* 113DE0 7F0DF2B0 97AB00BE */ lhu $t3, 0xbe($sp) -/* 113DE4 7F0DF2B4 97AE00BE */ lhu $t6, 0xbe($sp) -/* 113DE8 7F0DF2B8 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 113DEC 7F0DF2BC 29615800 */ slti $at, $t3, 0x5800 -/* 113DF0 7F0DF2C0 5420000C */ bnezl $at, .L7F0DF2F4 -/* 113DF4 7F0DF2C4 29C14000 */ slti $at, $t6, 0x4000 -/* 113DF8 7F0DF2C8 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 113DFC 7F0DF2CC 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 113E00 7F0DF2D0 24180001 */ li $t8, 1 -/* 113E04 7F0DF2D4 012B6021 */ addu $t4, $t1, $t3 -/* 113E08 7F0DF2D8 A1950000 */ sb $s5, ($t4) -/* 113E0C 7F0DF2DC 97B900BE */ lhu $t9, 0xbe($sp) -/* 113E10 7F0DF2E0 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 113E14 7F0DF2E4 01F96821 */ addu $t5, $t7, $t9 -/* 113E18 7F0DF2E8 10000011 */ b .L7F0DF330 -/* 113E1C 7F0DF2EC A1B8A800 */ sb $t8, -0x5800($t5) -/* 113E20 7F0DF2F0 29C14000 */ slti $at, $t6, 0x4000 -.L7F0DF2F4: -/* 113E24 7F0DF2F4 1420000E */ bnez $at, .L7F0DF330 -/* 113E28 7F0DF2F8 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 113E2C 7F0DF2FC 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 113E30 7F0DF300 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 113E34 7F0DF304 24090001 */ li $t1, 1 -/* 113E38 7F0DF308 010E5021 */ addu $t2, $t0, $t6 -/* 113E3C 7F0DF30C A1550000 */ sb $s5, ($t2) -/* 113E40 7F0DF310 97AB00BE */ lhu $t3, 0xbe($sp) -/* 113E44 7F0DF314 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 113E48 7F0DF318 316C1800 */ andi $t4, $t3, 0x1800 -/* 113E4C 7F0DF31C 000C78C3 */ sra $t7, $t4, 3 -/* 113E50 7F0DF320 317900FF */ andi $t9, $t3, 0xff -/* 113E54 7F0DF324 01F9C025 */ or $t8, $t7, $t9 -/* 113E58 7F0DF328 01B84021 */ addu $t0, $t5, $t8 -/* 113E5C 7F0DF32C A1090000 */ sb $t1, ($t0) -.L7F0DF330: -/* 113E60 7F0DF330 97AE00BE */ lhu $t6, 0xbe($sp) -/* 113E64 7F0DF334 97AF00BE */ lhu $t7, 0xbe($sp) -/* 113E68 7F0DF338 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 113E6C 7F0DF33C 25CA0001 */ addiu $t2, $t6, 1 -/* 113E70 7F0DF340 29415B00 */ slti $at, $t2, 0x5b00 -/* 113E74 7F0DF344 14200005 */ bnez $at, .L7F0DF35C -/* 113E78 7F0DF348 25F90001 */ addiu $t9, $t7, 1 -/* 113E7C 7F0DF34C 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 113E80 7F0DF350 018E5821 */ addu $t3, $t4, $t6 -/* 113E84 7F0DF354 10000D29 */ b .L7F0E27FC -/* 113E88 7F0DF358 A1740001 */ sb $s4, 1($t3) -.L7F0DF35C: -/* 113E8C 7F0DF35C 2B215800 */ slti $at, $t9, 0x5800 -/* 113E90 7F0DF360 1420000C */ bnez $at, .L7F0DF394 -/* 113E94 7F0DF364 97AE00BE */ lhu $t6, 0xbe($sp) -/* 113E98 7F0DF368 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 113E9C 7F0DF36C 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 113EA0 7F0DF370 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 113EA4 7F0DF374 24090001 */ li $t1, 1 -/* 113EA8 7F0DF378 01AFC021 */ addu $t8, $t5, $t7 -/* 113EAC 7F0DF37C A3140001 */ sb $s4, 1($t8) -/* 113EB0 7F0DF380 97AA00BE */ lhu $t2, 0xbe($sp) -/* 113EB4 7F0DF384 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 113EB8 7F0DF388 010A6021 */ addu $t4, $t0, $t2 -/* 113EBC 7F0DF38C 10000D1B */ b .L7F0E27FC -/* 113EC0 7F0DF390 A189A801 */ sb $t1, -0x57ff($t4) -.L7F0DF394: -/* 113EC4 7F0DF394 25CB0001 */ addiu $t3, $t6, 1 -/* 113EC8 7F0DF398 29614000 */ slti $at, $t3, 0x4000 -/* 113ECC 7F0DF39C 14200D17 */ bnez $at, .L7F0E27FC -/* 113ED0 7F0DF3A0 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 113ED4 7F0DF3A4 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 113ED8 7F0DF3A8 240F0001 */ li $t7, 1 -/* 113EDC 7F0DF3AC 032E6821 */ addu $t5, $t9, $t6 -/* 113EE0 7F0DF3B0 A1B40001 */ sb $s4, 1($t5) -/* 113EE4 7F0DF3B4 97B800BE */ lhu $t8, 0xbe($sp) -/* 113EE8 7F0DF3B8 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 113EEC 7F0DF3BC 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 113EF0 7F0DF3C0 27080001 */ addiu $t0, $t8, 1 -/* 113EF4 7F0DF3C4 310A1800 */ andi $t2, $t0, 0x1800 -/* 113EF8 7F0DF3C8 000A48C3 */ sra $t1, $t2, 3 -/* 113EFC 7F0DF3CC 310C00FF */ andi $t4, $t0, 0xff -/* 113F00 7F0DF3D0 012C5825 */ or $t3, $t1, $t4 -/* 113F04 7F0DF3D4 032B7021 */ addu $t6, $t9, $t3 -/* 113F08 7F0DF3D8 10000D08 */ b .L7F0E27FC -/* 113F0C 7F0DF3DC A1CF0000 */ sb $t7, ($t6) -spectrum_op_ED_54: -/* 113F10 7F0DF3E0 00108023 */ negu $s0, $s0 -/* 113F14 7F0DF3E4 320A00FF */ andi $t2, $s0, 0xff -/* 113F18 7F0DF3E8 8FAD028C */ lw $t5, 0x28c($sp) -/* 113F1C 7F0DF3EC 2D480001 */ sltiu $t0, $t2, 1 -/* 113F20 7F0DF3F0 314F000F */ andi $t7, $t2, 0xf -/* 113F24 7F0DF3F4 01408025 */ move $s0, $t2 -/* 113F28 7F0DF3F8 314900A8 */ andi $t1, $t2, 0xa8 -/* 113F2C 7F0DF3FC 25B80004 */ addiu $t8, $t5, 4 -/* 113F30 7F0DF400 394A0080 */ xori $t2, $t2, 0x80 -/* 113F34 7F0DF404 000F702A */ slt $t6, $zero, $t7 -/* 113F38 7F0DF408 0008C980 */ sll $t9, $t0, 6 -/* 113F3C 7F0DF40C AFB8028C */ sw $t8, 0x28c($sp) -/* 113F40 7F0DF410 01395825 */ or $t3, $t1, $t9 -/* 113F44 7F0DF414 000E6900 */ sll $t5, $t6, 4 -/* 113F48 7F0DF418 2D4A0001 */ sltiu $t2, $t2, 1 -/* 113F4C 7F0DF41C AFA80048 */ sw $t0, 0x48($sp) -/* 113F50 7F0DF420 000A4080 */ sll $t0, $t2, 2 -/* 113F54 7F0DF424 016DC025 */ or $t8, $t3, $t5 -/* 113F58 7F0DF428 03086025 */ or $t4, $t8, $t0 -/* 113F5C 7F0DF42C 35890002 */ ori $t1, $t4, 2 -/* 113F60 7F0DF430 0010C82A */ slt $t9, $zero, $s0 -/* 113F64 7F0DF434 01398825 */ or $s1, $t1, $t9 -/* 113F68 7F0DF438 322F00FF */ andi $t7, $s1, 0xff -/* 113F6C 7F0DF43C 10000CEF */ b .L7F0E27FC -/* 113F70 7F0DF440 01E08825 */ move $s1, $t7 -spectrum_op_ED_55: -/* 113F74 7F0DF444 8FAE028C */ lw $t6, 0x28c($sp) -/* 113F78 7F0DF448 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 113F7C 7F0DF44C 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 113F80 7F0DF450 97B80292 */ lhu $t8, 0x292($sp) -/* 113F84 7F0DF454 25CB0004 */ addiu $t3, $t6, 4 -/* 113F88 7F0DF458 AFAB028C */ sw $t3, 0x28c($sp) -/* 113F8C 7F0DF45C 256A0006 */ addiu $t2, $t3, 6 -/* 113F90 7F0DF460 AFAA028C */ sw $t2, 0x28c($sp) -/* 113F94 7F0DF464 0118C821 */ addu $t9, $t0, $t8 -/* 113F98 7F0DF468 932F0001 */ lbu $t7, 1($t9) -/* 113F9C 7F0DF46C 03086021 */ addu $t4, $t8, $t0 -/* 113FA0 7F0DF470 91890000 */ lbu $t1, ($t4) -/* 113FA4 7F0DF474 000F7200 */ sll $t6, $t7, 8 -/* 113FA8 7F0DF478 270D0002 */ addiu $t5, $t8, 2 -/* 113FAC 7F0DF47C 012E5825 */ or $t3, $t1, $t6 -/* 113FB0 7F0DF480 A7AB0298 */ sh $t3, 0x298($sp) -/* 113FB4 7F0DF484 10000CDD */ b .L7F0E27FC -/* 113FB8 7F0DF488 A7AD0292 */ sh $t5, 0x292($sp) -spectrum_op_ED_56: -/* 113FBC 7F0DF48C 8FAA028C */ lw $t2, 0x28c($sp) -/* 113FC0 7F0DF490 24080002 */ li $t0, 2 -/* 113FC4 7F0DF494 A3A8029B */ sb $t0, 0x29b($sp) -/* 113FC8 7F0DF498 254C0004 */ addiu $t4, $t2, 4 -/* 113FCC 7F0DF49C 10000CD7 */ b .L7F0E27FC -/* 113FD0 7F0DF4A0 AFAC028C */ sw $t4, 0x28c($sp) -spectrum_op_ED_57: -/* 113FD4 7F0DF4A4 93B0029E */ lbu $s0, 0x29e($sp) -/* 113FD8 7F0DF4A8 8FB9028C */ lw $t9, 0x28c($sp) -/* 113FDC 7F0DF4AC 93A8029C */ lbu $t0, 0x29c($sp) -/* 113FE0 7F0DF4B0 322E0001 */ andi $t6, $s1, 1 -/* 113FE4 7F0DF4B4 2E090001 */ sltiu $t1, $s0, 1 -/* 113FE8 7F0DF4B8 320B00A8 */ andi $t3, $s0, 0xa8 -/* 113FEC 7F0DF4BC 01CBC025 */ or $t8, $t6, $t3 -/* 113FF0 7F0DF4C0 00095180 */ sll $t2, $t1, 6 -/* 113FF4 7F0DF4C4 272F0005 */ addiu $t7, $t9, 5 -/* 113FF8 7F0DF4C8 030A6025 */ or $t4, $t8, $t2 -/* 113FFC 7F0DF4CC 0008C880 */ sll $t9, $t0, 2 -/* 114000 7F0DF4D0 AFAF028C */ sw $t7, 0x28c($sp) -/* 114004 7F0DF4D4 01998825 */ or $s1, $t4, $t9 -/* 114008 7F0DF4D8 322F00FF */ andi $t7, $s1, 0xff -/* 11400C 7F0DF4DC 01E08825 */ move $s1, $t7 -/* 114010 7F0DF4E0 10000CC6 */ b .L7F0E27FC -/* 114014 7F0DF4E4 AFA90048 */ sw $t1, 0x48($sp) -spectrum_op_ED_58: -/* 114018 7F0DF4E8 8FA9028C */ lw $t1, 0x28c($sp) -/* 11401C 7F0DF4EC 02402825 */ move $a1, $s2 -/* 114020 7F0DF4F0 02603025 */ move $a2, $s3 -/* 114024 7F0DF4F4 25240008 */ addiu $a0, $t1, 8 -/* 114028 7F0DF4F8 0FC34DB6 */ jal spectrum_input_handling -/* 11402C 7F0DF4FC AFA4028C */ sw $a0, 0x28c($sp) -/* 114030 7F0DF500 8FAB028C */ lw $t3, 0x28c($sp) -/* 114034 7F0DF504 304DFFFF */ andi $t5, $v0, 0xffff -/* 114038 7F0DF508 000DC203 */ sra $t8, $t5, 8 -/* 11403C 7F0DF50C A7A200BC */ sh $v0, 0xbc($sp) -/* 114040 7F0DF510 01785021 */ addu $t2, $t3, $t8 -/* 114044 7F0DF514 93B500BD */ lbu $s5, 0xbd($sp) -/* 114048 7F0DF518 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 11404C 7F0DF51C 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 114050 7F0DF520 2EA80001 */ sltiu $t0, $s5, 1 -/* 114054 7F0DF524 AFA80048 */ sw $t0, 0x48($sp) -/* 114058 7F0DF528 AFAA028C */ sw $t2, 0x28c($sp) -/* 11405C 7F0DF52C 02ABC021 */ addu $t8, $s5, $t3 -/* 114060 7F0DF530 930A0000 */ lbu $t2, ($t8) -/* 114064 7F0DF534 322C0001 */ andi $t4, $s1, 1 -/* 114068 7F0DF538 32B900A8 */ andi $t9, $s5, 0xa8 -/* 11406C 7F0DF53C 01997825 */ or $t7, $t4, $t9 -/* 114070 7F0DF540 00087180 */ sll $t6, $t0, 6 -/* 114074 7F0DF544 01EE6825 */ or $t5, $t7, $t6 -/* 114078 7F0DF548 014D8825 */ or $s1, $t2, $t5 -/* 11407C 7F0DF54C 322800FF */ andi $t0, $s1, 0xff -/* 114080 7F0DF550 10000CAA */ b .L7F0E27FC -/* 114084 7F0DF554 01008825 */ move $s1, $t0 -spectrum_op_ED_59: -/* 114088 7F0DF558 8FAC028C */ lw $t4, 0x28c($sp) -/* 11408C 7F0DF55C 02402825 */ move $a1, $s2 -/* 114090 7F0DF560 02603025 */ move $a2, $s3 -/* 114094 7F0DF564 25840008 */ addiu $a0, $t4, 8 -/* 114098 7F0DF568 AFA4028C */ sw $a0, 0x28c($sp) -/* 11409C 7F0DF56C 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 1140A0 7F0DF570 02A03825 */ move $a3, $s5 -/* 1140A4 7F0DF574 8FA9028C */ lw $t1, 0x28c($sp) -/* 1140A8 7F0DF578 AFA20048 */ sw $v0, 0x48($sp) -/* 1140AC 7F0DF57C 01227021 */ addu $t6, $t1, $v0 -/* 1140B0 7F0DF580 10000C9E */ b .L7F0E27FC -/* 1140B4 7F0DF584 AFAE028C */ sw $t6, 0x28c($sp) -spectrum_op_ED_5A: -/* 1140B8 7F0DF588 00145200 */ sll $t2, $s4, 8 -/* 1140BC 7F0DF58C 01556825 */ or $t5, $t2, $s5 -/* 1140C0 7F0DF590 00164200 */ sll $t0, $s6, 8 -/* 1140C4 7F0DF594 01176025 */ or $t4, $t0, $s7 -/* 1140C8 7F0DF598 31B9FFFF */ andi $t9, $t5, 0xffff -/* 1140CC 7F0DF59C 8FAB028C */ lw $t3, 0x28c($sp) -/* 1140D0 7F0DF5A0 01994821 */ addu $t1, $t4, $t9 -/* 1140D4 7F0DF5A4 322F0001 */ andi $t7, $s1, 1 -/* 1140D8 7F0DF5A8 012F7021 */ addu $t6, $t1, $t7 -/* 1140DC 7F0DF5AC 2578000B */ addiu $t8, $t3, 0xb -/* 1140E0 7F0DF5B0 000E5202 */ srl $t2, $t6, 8 -/* 1140E4 7F0DF5B4 AFB8028C */ sw $t8, 0x28c($sp) -/* 1140E8 7F0DF5B8 314800A8 */ andi $t0, $t2, 0xa8 -/* 1140EC 7F0DF5BC 31CBFFFF */ andi $t3, $t6, 0xffff -/* 1140F0 7F0DF5C0 000E6402 */ srl $t4, $t6, 0x10 -/* 1140F4 7F0DF5C4 00164A00 */ sll $t1, $s6, 8 -/* 1140F8 7F0DF5C8 01377825 */ or $t7, $t1, $s7 -/* 1140FC 7F0DF5CC 010CC825 */ or $t9, $t0, $t4 -/* 114100 7F0DF5D0 2D780001 */ sltiu $t8, $t3, 1 -/* 114104 7F0DF5D4 31EB0FFF */ andi $t3, $t7, 0xfff -/* 114108 7F0DF5D8 31A80FFF */ andi $t0, $t5, 0xfff -/* 11410C 7F0DF5DC 01686021 */ addu $t4, $t3, $t0 -/* 114110 7F0DF5E0 32290001 */ andi $t1, $s1, 1 -/* 114114 7F0DF5E4 01897821 */ addu $t7, $t4, $t1 -/* 114118 7F0DF5E8 24010FFF */ li $at, 4095 -/* 11411C 7F0DF5EC 002F502A */ slt $t2, $at, $t7 -/* 114120 7F0DF5F0 000A5900 */ sll $t3, $t2, 4 -/* 114124 7F0DF5F4 032B4025 */ or $t0, $t9, $t3 -/* 114128 7F0DF5F8 00166200 */ sll $t4, $s6, 8 -/* 11412C 7F0DF5FC 01974825 */ or $t1, $t4, $s7 -/* 114130 7F0DF600 00165200 */ sll $t2, $s6, 8 -/* 114134 7F0DF604 0157C827 */ nor $t9, $t2, $s7 -/* 114138 7F0DF608 01A05825 */ move $t3, $t5 -/* 11413C 7F0DF60C 032B6026 */ xor $t4, $t9, $t3 -/* 114140 7F0DF610 012E7826 */ xor $t7, $t1, $t6 -/* 114144 7F0DF614 018F4824 */ and $t1, $t4, $t7 -/* 114148 7F0DF618 312A8000 */ andi $t2, $t1, 0x8000 -/* 11414C 7F0DF61C A7AD00BA */ sh $t5, 0xba($sp) -/* 114150 7F0DF620 000A6B42 */ srl $t5, $t2, 0xd -/* 114154 7F0DF624 010DC825 */ or $t9, $t0, $t5 -/* 114158 7F0DF628 00185980 */ sll $t3, $t8, 6 -/* 11415C 7F0DF62C 032B8825 */ or $s1, $t9, $t3 -/* 114160 7F0DF630 000EB202 */ srl $s6, $t6, 8 -/* 114164 7F0DF634 32C900FF */ andi $t1, $s6, 0xff -/* 114168 7F0DF638 362C0002 */ ori $t4, $s1, 2 -/* 11416C 7F0DF63C AFAE00B4 */ sw $t6, 0xb4($sp) -/* 114170 7F0DF640 93B700B7 */ lbu $s7, 0xb7($sp) -/* 114174 7F0DF644 319100FF */ andi $s1, $t4, 0xff -/* 114178 7F0DF648 0120B025 */ move $s6, $t1 -/* 11417C 7F0DF64C 10000C6B */ b .L7F0E27FC -/* 114180 7F0DF650 AFB80048 */ sw $t8, 0x48($sp) -spectrum_op_ED_5B: -/* 114184 7F0DF654 8FAA028C */ lw $t2, 0x28c($sp) -/* 114188 7F0DF658 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 11418C 7F0DF65C 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 114190 7F0DF660 97AD0298 */ lhu $t5, 0x298($sp) -/* 114194 7F0DF664 25480010 */ addiu $t0, $t2, 0x10 -/* 114198 7F0DF668 AFA8028C */ sw $t0, 0x28c($sp) -/* 11419C 7F0DF66C 030D6021 */ addu $t4, $t8, $t5 -/* 1141A0 7F0DF670 918F0001 */ lbu $t7, 1($t4) -/* 1141A4 7F0DF674 01B8C821 */ addu $t9, $t5, $t8 -/* 1141A8 7F0DF678 932B0000 */ lbu $t3, ($t9) -/* 1141AC 7F0DF67C 000F7200 */ sll $t6, $t7, 8 -/* 1141B0 7F0DF680 25AA0002 */ addiu $t2, $t5, 2 -/* 1141B4 7F0DF684 016E4825 */ or $t1, $t3, $t6 -/* 1141B8 7F0DF688 3128FFFF */ andi $t0, $t1, 0xffff -/* 1141BC 7F0DF68C A7A900B2 */ sh $t1, 0xb2($sp) -/* 1141C0 7F0DF690 A7AA0298 */ sh $t2, 0x298($sp) -/* 1141C4 7F0DF694 0118C821 */ addu $t9, $t0, $t8 -/* 1141C8 7F0DF698 93350000 */ lbu $s5, ($t9) -/* 1141CC 7F0DF69C 10000C57 */ b .L7F0E27FC -/* 1141D0 7F0DF6A0 93340001 */ lbu $s4, 1($t9) -spectrum_op_ED_5C: -/* 1141D4 7F0DF6A4 00108023 */ negu $s0, $s0 -/* 1141D8 7F0DF6A8 320B00FF */ andi $t3, $s0, 0xff -/* 1141DC 7F0DF6AC 8FAC028C */ lw $t4, 0x28c($sp) -/* 1141E0 7F0DF6B0 2D6E0001 */ sltiu $t6, $t3, 1 -/* 1141E4 7F0DF6B4 3178000F */ andi $t8, $t3, 0xf -/* 1141E8 7F0DF6B8 01608025 */ move $s0, $t3 -/* 1141EC 7F0DF6BC 316900A8 */ andi $t1, $t3, 0xa8 -/* 1141F0 7F0DF6C0 258F0004 */ addiu $t7, $t4, 4 -/* 1141F4 7F0DF6C4 396B0080 */ xori $t3, $t3, 0x80 -/* 1141F8 7F0DF6C8 0018C82A */ slt $t9, $zero, $t8 -/* 1141FC 7F0DF6CC 000E5180 */ sll $t2, $t6, 6 -/* 114200 7F0DF6D0 AFAF028C */ sw $t7, 0x28c($sp) -/* 114204 7F0DF6D4 012A4025 */ or $t0, $t1, $t2 -/* 114208 7F0DF6D8 00196100 */ sll $t4, $t9, 4 -/* 11420C 7F0DF6DC 2D6B0001 */ sltiu $t3, $t3, 1 -/* 114210 7F0DF6E0 AFAE0048 */ sw $t6, 0x48($sp) -/* 114214 7F0DF6E4 000B7080 */ sll $t6, $t3, 2 -/* 114218 7F0DF6E8 010C7825 */ or $t7, $t0, $t4 -/* 11421C 7F0DF6EC 01EE6825 */ or $t5, $t7, $t6 -/* 114220 7F0DF6F0 35A90002 */ ori $t1, $t5, 2 -/* 114224 7F0DF6F4 0010502A */ slt $t2, $zero, $s0 -/* 114228 7F0DF6F8 012A8825 */ or $s1, $t1, $t2 -/* 11422C 7F0DF6FC 323800FF */ andi $t8, $s1, 0xff -/* 114230 7F0DF700 10000C3E */ b .L7F0E27FC -/* 114234 7F0DF704 03008825 */ move $s1, $t8 -spectrum_op_ED_5D: -/* 114238 7F0DF708 8FB9028C */ lw $t9, 0x28c($sp) -/* 11423C 7F0DF70C 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 114240 7F0DF710 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 114244 7F0DF714 97AF0292 */ lhu $t7, 0x292($sp) -/* 114248 7F0DF718 27280004 */ addiu $t0, $t9, 4 -/* 11424C 7F0DF71C AFA8028C */ sw $t0, 0x28c($sp) -/* 114250 7F0DF720 250B0006 */ addiu $t3, $t0, 6 -/* 114254 7F0DF724 AFAB028C */ sw $t3, 0x28c($sp) -/* 114258 7F0DF728 01CF5021 */ addu $t2, $t6, $t7 -/* 11425C 7F0DF72C 91580001 */ lbu $t8, 1($t2) -/* 114260 7F0DF730 01EE6821 */ addu $t5, $t7, $t6 -/* 114264 7F0DF734 91A90000 */ lbu $t1, ($t5) -/* 114268 7F0DF738 0018CA00 */ sll $t9, $t8, 8 -/* 11426C 7F0DF73C 25EC0002 */ addiu $t4, $t7, 2 -/* 114270 7F0DF740 01394025 */ or $t0, $t1, $t9 -/* 114274 7F0DF744 A7A80298 */ sh $t0, 0x298($sp) -/* 114278 7F0DF748 10000C2C */ b .L7F0E27FC -/* 11427C 7F0DF74C A7AC0292 */ sh $t4, 0x292($sp) -spectrum_op_ED_5E: -/* 114280 7F0DF750 8FAB028C */ lw $t3, 0x28c($sp) -/* 114284 7F0DF754 240E0003 */ li $t6, 3 -/* 114288 7F0DF758 A3AE029B */ sb $t6, 0x29b($sp) -/* 11428C 7F0DF75C 256D0004 */ addiu $t5, $t3, 4 -/* 114290 7F0DF760 10000C26 */ b .L7F0E27FC -/* 114294 7F0DF764 AFAD028C */ sw $t5, 0x28c($sp) -spectrum_op_ED_5F: -/* 114298 7F0DF768 93A902A7 */ lbu $t1, 0x2a7($sp) -/* 11429C 7F0DF76C 8FA80288 */ lw $t0, 0x288($sp) -/* 1142A0 7F0DF770 8FAA028C */ lw $t2, 0x28c($sp) -/* 1142A4 7F0DF774 31390080 */ andi $t9, $t1, 0x80 -/* 1142A8 7F0DF778 310F007F */ andi $t7, $t0, 0x7f -/* 1142AC 7F0DF77C 032F8025 */ or $s0, $t9, $t7 -/* 1142B0 7F0DF780 320B00FF */ andi $t3, $s0, 0xff -/* 1142B4 7F0DF784 25580005 */ addiu $t8, $t2, 5 -/* 1142B8 7F0DF788 93AF029C */ lbu $t7, 0x29c($sp) -/* 1142BC 7F0DF78C AFB8028C */ sw $t8, 0x28c($sp) -/* 1142C0 7F0DF790 316A00A8 */ andi $t2, $t3, 0xa8 -/* 1142C4 7F0DF794 2D6D0001 */ sltiu $t5, $t3, 1 -/* 1142C8 7F0DF798 322E0001 */ andi $t6, $s1, 1 -/* 1142CC 7F0DF79C 01CAC025 */ or $t8, $t6, $t2 -/* 1142D0 7F0DF7A0 000D4180 */ sll $t0, $t5, 6 -/* 1142D4 7F0DF7A4 A3B002A7 */ sb $s0, 0x2a7($sp) -/* 1142D8 7F0DF7A8 0308C825 */ or $t9, $t8, $t0 -/* 1142DC 7F0DF7AC 000F6080 */ sll $t4, $t7, 2 -/* 1142E0 7F0DF7B0 01608025 */ move $s0, $t3 -/* 1142E4 7F0DF7B4 032C8825 */ or $s1, $t9, $t4 -/* 1142E8 7F0DF7B8 322B00FF */ andi $t3, $s1, 0xff -/* 1142EC 7F0DF7BC 01608825 */ move $s1, $t3 -/* 1142F0 7F0DF7C0 10000C0E */ b .L7F0E27FC -/* 1142F4 7F0DF7C4 AFAD0048 */ sw $t5, 0x48($sp) -spectrum_op_ED_60: -/* 1142F8 7F0DF7C8 8FAD028C */ lw $t5, 0x28c($sp) -/* 1142FC 7F0DF7CC 02402825 */ move $a1, $s2 -/* 114300 7F0DF7D0 02603025 */ move $a2, $s3 -/* 114304 7F0DF7D4 25A40008 */ addiu $a0, $t5, 8 -/* 114308 7F0DF7D8 0FC34DB6 */ jal spectrum_input_handling -/* 11430C 7F0DF7DC AFA4028C */ sw $a0, 0x28c($sp) -/* 114310 7F0DF7E0 8FAA028C */ lw $t2, 0x28c($sp) -/* 114314 7F0DF7E4 3049FFFF */ andi $t1, $v0, 0xffff -/* 114318 7F0DF7E8 0009C203 */ sra $t8, $t1, 8 -/* 11431C 7F0DF7EC A7A200B0 */ sh $v0, 0xb0($sp) -/* 114320 7F0DF7F0 01584021 */ addu $t0, $t2, $t8 -/* 114324 7F0DF7F4 93B600B1 */ lbu $s6, 0xb1($sp) -/* 114328 7F0DF7F8 3C0A8009 */ lui $t2, %hi(ptr_pc_keyboard_table_alloc) -/* 11432C 7F0DF7FC 8D4AE334 */ lw $t2, %lo(ptr_pc_keyboard_table_alloc)($t2) -/* 114330 7F0DF800 2ECF0001 */ sltiu $t7, $s6, 1 -/* 114334 7F0DF804 AFAF0048 */ sw $t7, 0x48($sp) -/* 114338 7F0DF808 AFA8028C */ sw $t0, 0x28c($sp) -/* 11433C 7F0DF80C 02CAC021 */ addu $t8, $s6, $t2 -/* 114340 7F0DF810 93080000 */ lbu $t0, ($t8) -/* 114344 7F0DF814 32390001 */ andi $t9, $s1, 1 -/* 114348 7F0DF818 32CC00A8 */ andi $t4, $s6, 0xa8 -/* 11434C 7F0DF81C 032C5825 */ or $t3, $t9, $t4 -/* 114350 7F0DF820 000F7180 */ sll $t6, $t7, 6 -/* 114354 7F0DF824 016E4825 */ or $t1, $t3, $t6 -/* 114358 7F0DF828 01098825 */ or $s1, $t0, $t1 -/* 11435C 7F0DF82C 322F00FF */ andi $t7, $s1, 0xff -/* 114360 7F0DF830 10000BF2 */ b .L7F0E27FC -/* 114364 7F0DF834 01E08825 */ move $s1, $t7 -spectrum_op_ED_61: -/* 114368 7F0DF838 8FB9028C */ lw $t9, 0x28c($sp) -/* 11436C 7F0DF83C 02402825 */ move $a1, $s2 -/* 114370 7F0DF840 02603025 */ move $a2, $s3 -/* 114374 7F0DF844 27240008 */ addiu $a0, $t9, 8 -/* 114378 7F0DF848 AFA4028C */ sw $a0, 0x28c($sp) -/* 11437C 7F0DF84C 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 114380 7F0DF850 02C03825 */ move $a3, $s6 -/* 114384 7F0DF854 8FAD028C */ lw $t5, 0x28c($sp) -/* 114388 7F0DF858 AFA20048 */ sw $v0, 0x48($sp) -/* 11438C 7F0DF85C 01A27021 */ addu $t6, $t5, $v0 -/* 114390 7F0DF860 10000BE6 */ b .L7F0E27FC -/* 114394 7F0DF864 AFAE028C */ sw $t6, 0x28c($sp) -spectrum_op_ED_62: -/* 114398 7F0DF868 00164200 */ sll $t0, $s6, 8 -/* 11439C 7F0DF86C 8FAA028C */ lw $t2, 0x28c($sp) -/* 1143A0 7F0DF870 01174825 */ or $t1, $t0, $s7 -/* 1143A4 7F0DF874 00167A00 */ sll $t7, $s6, 8 -/* 1143A8 7F0DF878 01F7C825 */ or $t9, $t7, $s7 -/* 1143AC 7F0DF87C 312CFFFF */ andi $t4, $t1, 0xffff -/* 1143B0 7F0DF880 032C6823 */ subu $t5, $t9, $t4 -/* 1143B4 7F0DF884 322B0001 */ andi $t3, $s1, 1 -/* 1143B8 7F0DF888 3C010001 */ lui $at, (0x0001FFFF >> 16) # lui $at, 1 -/* 1143BC 7F0DF88C 3421FFFF */ ori $at, (0x0001FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 1143C0 7F0DF890 01AB7023 */ subu $t6, $t5, $t3 -/* 1143C4 7F0DF894 2558000B */ addiu $t8, $t2, 0xb -/* 1143C8 7F0DF898 01C15024 */ and $t2, $t6, $at -/* 1143CC 7F0DF89C 000A7A02 */ srl $t7, $t2, 8 -/* 1143D0 7F0DF8A0 31F900A8 */ andi $t9, $t7, 0xa8 -/* 1143D4 7F0DF8A4 000A6402 */ srl $t4, $t2, 0x10 -/* 1143D8 7F0DF8A8 AFB8028C */ sw $t8, 0x28c($sp) -/* 1143DC 7F0DF8AC 032C6825 */ or $t5, $t9, $t4 -/* 1143E0 7F0DF8B0 3158FFFF */ andi $t8, $t2, 0xffff -/* 1143E4 7F0DF8B4 2F080001 */ sltiu $t0, $t8, 1 -/* 1143E8 7F0DF8B8 35AB0002 */ ori $t3, $t5, 2 -/* 1143EC 7F0DF8BC 00166200 */ sll $t4, $s6, 8 -/* 1143F0 7F0DF8C0 01976825 */ or $t5, $t4, $s7 -/* 1143F4 7F0DF8C4 31380FFF */ andi $t8, $t1, 0xfff -/* 1143F8 7F0DF8C8 322F0001 */ andi $t7, $s1, 1 -/* 1143FC 7F0DF8CC 030FC821 */ addu $t9, $t8, $t7 -/* 114400 7F0DF8D0 31AE0FFF */ andi $t6, $t5, 0xfff -/* 114404 7F0DF8D4 01D9C02A */ slt $t8, $t6, $t9 -/* 114408 7F0DF8D8 00187900 */ sll $t7, $t8, 4 -/* 11440C 7F0DF8DC 016F6025 */ or $t4, $t3, $t7 -/* 114410 7F0DF8E0 00166A00 */ sll $t5, $s6, 8 -/* 114414 7F0DF8E4 01B77025 */ or $t6, $t5, $s7 -/* 114418 7F0DF8E8 0016C200 */ sll $t8, $s6, 8 -/* 11441C 7F0DF8EC 03175825 */ or $t3, $t8, $s7 -/* 114420 7F0DF8F0 01207825 */ move $t7, $t1 -/* 114424 7F0DF8F4 016F6826 */ xor $t5, $t3, $t7 -/* 114428 7F0DF8F8 01CAC826 */ xor $t9, $t6, $t2 -/* 11442C 7F0DF8FC 01B97024 */ and $t6, $t5, $t9 -/* 114430 7F0DF900 31D88000 */ andi $t8, $t6, 0x8000 -/* 114434 7F0DF904 A7A900AE */ sh $t1, 0xae($sp) -/* 114438 7F0DF908 00184B42 */ srl $t1, $t8, 0xd -/* 11443C 7F0DF90C 01895825 */ or $t3, $t4, $t1 -/* 114440 7F0DF910 00087980 */ sll $t7, $t0, 6 -/* 114444 7F0DF914 016F8825 */ or $s1, $t3, $t7 -/* 114448 7F0DF918 000AB202 */ srl $s6, $t2, 8 -/* 11444C 7F0DF91C 32CE00FF */ andi $t6, $s6, 0xff -/* 114450 7F0DF920 362D0002 */ ori $t5, $s1, 2 -/* 114454 7F0DF924 AFAA00A8 */ sw $t2, 0xa8($sp) -/* 114458 7F0DF928 93B700AB */ lbu $s7, 0xab($sp) -/* 11445C 7F0DF92C 31B100FF */ andi $s1, $t5, 0xff -/* 114460 7F0DF930 01C0B025 */ move $s6, $t6 -/* 114464 7F0DF934 10000BB1 */ b .L7F0E27FC -/* 114468 7F0DF938 AFA80048 */ sw $t0, 0x48($sp) -spectrum_op_ED_63: -/* 11446C 7F0DF93C 8FB8028C */ lw $t8, 0x28c($sp) -/* 114470 7F0DF940 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 114474 7F0DF944 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 114478 7F0DF948 97A90298 */ lhu $t1, 0x298($sp) -/* 11447C 7F0DF94C 270C0010 */ addiu $t4, $t8, 0x10 -/* 114480 7F0DF950 AFAC028C */ sw $t4, 0x28c($sp) -/* 114484 7F0DF954 01096821 */ addu $t5, $t0, $t1 -/* 114488 7F0DF958 91B90001 */ lbu $t9, 1($t5) -/* 11448C 7F0DF95C 01285821 */ addu $t3, $t1, $t0 -/* 114490 7F0DF960 916F0000 */ lbu $t7, ($t3) -/* 114494 7F0DF964 00195200 */ sll $t2, $t9, 8 -/* 114498 7F0DF968 25380002 */ addiu $t8, $t1, 2 -/* 11449C 7F0DF96C 01EA7025 */ or $t6, $t7, $t2 -/* 1144A0 7F0DF970 31CCFFFF */ andi $t4, $t6, 0xffff -/* 1144A4 7F0DF974 29815B00 */ slti $at, $t4, 0x5b00 -/* 1144A8 7F0DF978 A7AE00A6 */ sh $t6, 0xa6($sp) -/* 1144AC 7F0DF97C 14200006 */ bnez $at, .L7F0DF998 -/* 1144B0 7F0DF980 A7B80298 */ sh $t8, 0x298($sp) -/* 1144B4 7F0DF984 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1144B8 7F0DF988 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1144BC 7F0DF98C 016C4021 */ addu $t0, $t3, $t4 -/* 1144C0 7F0DF990 10000021 */ b .L7F0DFA18 -/* 1144C4 7F0DF994 A1170000 */ sb $s7, ($t0) -.L7F0DF998: -/* 1144C8 7F0DF998 97AD00A6 */ lhu $t5, 0xa6($sp) -/* 1144CC 7F0DF99C 97AB00A6 */ lhu $t3, 0xa6($sp) -/* 1144D0 7F0DF9A0 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 1144D4 7F0DF9A4 29A15800 */ slti $at, $t5, 0x5800 -/* 1144D8 7F0DF9A8 5420000C */ bnezl $at, .L7F0DF9DC -/* 1144DC 7F0DF9AC 29614000 */ slti $at, $t3, 0x4000 -/* 1144E0 7F0DF9B0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 1144E4 7F0DF9B4 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 1144E8 7F0DF9B8 240A0001 */ li $t2, 1 -/* 1144EC 7F0DF9BC 032D7821 */ addu $t7, $t9, $t5 -/* 1144F0 7F0DF9C0 A1F70000 */ sb $s7, ($t7) -/* 1144F4 7F0DF9C4 97A900A6 */ lhu $t1, 0xa6($sp) -/* 1144F8 7F0DF9C8 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 1144FC 7F0DF9CC 01C9C021 */ addu $t8, $t6, $t1 -/* 114500 7F0DF9D0 10000011 */ b .L7F0DFA18 -/* 114504 7F0DF9D4 A30AA800 */ sb $t2, -0x5800($t8) -/* 114508 7F0DF9D8 29614000 */ slti $at, $t3, 0x4000 -.L7F0DF9DC: -/* 11450C 7F0DF9DC 1420000E */ bnez $at, .L7F0DFA18 -/* 114510 7F0DF9E0 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 114514 7F0DF9E4 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 114518 7F0DF9E8 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 11451C 7F0DF9EC 24190001 */ li $t9, 1 -/* 114520 7F0DF9F0 018B4021 */ addu $t0, $t4, $t3 -/* 114524 7F0DF9F4 A1170000 */ sb $s7, ($t0) -/* 114528 7F0DF9F8 97AD00A6 */ lhu $t5, 0xa6($sp) -/* 11452C 7F0DF9FC 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 114530 7F0DFA00 31AF1800 */ andi $t7, $t5, 0x1800 -/* 114534 7F0DFA04 000F70C3 */ sra $t6, $t7, 3 -/* 114538 7F0DFA08 31A900FF */ andi $t1, $t5, 0xff -/* 11453C 7F0DFA0C 01C95025 */ or $t2, $t6, $t1 -/* 114540 7F0DFA10 030A6021 */ addu $t4, $t8, $t2 -/* 114544 7F0DFA14 A1990000 */ sb $t9, ($t4) -.L7F0DFA18: -/* 114548 7F0DFA18 97AB00A6 */ lhu $t3, 0xa6($sp) -/* 11454C 7F0DFA1C 97AE00A6 */ lhu $t6, 0xa6($sp) -/* 114550 7F0DFA20 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 114554 7F0DFA24 25680001 */ addiu $t0, $t3, 1 -/* 114558 7F0DFA28 29015B00 */ slti $at, $t0, 0x5b00 -/* 11455C 7F0DFA2C 14200005 */ bnez $at, .L7F0DFA44 -/* 114560 7F0DFA30 25C90001 */ addiu $t1, $t6, 1 -/* 114564 7F0DFA34 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 114568 7F0DFA38 01EB6821 */ addu $t5, $t7, $t3 -/* 11456C 7F0DFA3C 10000B6F */ b .L7F0E27FC -/* 114570 7F0DFA40 A1B60001 */ sb $s6, 1($t5) -.L7F0DFA44: -/* 114574 7F0DFA44 29215800 */ slti $at, $t1, 0x5800 -/* 114578 7F0DFA48 1420000C */ bnez $at, .L7F0DFA7C -/* 11457C 7F0DFA4C 97AB00A6 */ lhu $t3, 0xa6($sp) -/* 114580 7F0DFA50 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 114584 7F0DFA54 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 114588 7F0DFA58 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 11458C 7F0DFA5C 24190001 */ li $t9, 1 -/* 114590 7F0DFA60 030E5021 */ addu $t2, $t8, $t6 -/* 114594 7F0DFA64 A1560001 */ sb $s6, 1($t2) -/* 114598 7F0DFA68 97A800A6 */ lhu $t0, 0xa6($sp) -/* 11459C 7F0DFA6C 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 1145A0 7F0DFA70 01887821 */ addu $t7, $t4, $t0 -/* 1145A4 7F0DFA74 10000B61 */ b .L7F0E27FC -/* 1145A8 7F0DFA78 A1F9A801 */ sb $t9, -0x57ff($t7) -.L7F0DFA7C: -/* 1145AC 7F0DFA7C 256D0001 */ addiu $t5, $t3, 1 -/* 1145B0 7F0DFA80 29A14000 */ slti $at, $t5, 0x4000 -/* 1145B4 7F0DFA84 14200B5D */ bnez $at, .L7F0E27FC -/* 1145B8 7F0DFA88 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 1145BC 7F0DFA8C 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 1145C0 7F0DFA90 240E0001 */ li $t6, 1 -/* 1145C4 7F0DFA94 012BC021 */ addu $t8, $t1, $t3 -/* 1145C8 7F0DFA98 A3160001 */ sb $s6, 1($t8) -/* 1145CC 7F0DFA9C 97AA00A6 */ lhu $t2, 0xa6($sp) -/* 1145D0 7F0DFAA0 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 1145D4 7F0DFAA4 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 1145D8 7F0DFAA8 254C0001 */ addiu $t4, $t2, 1 -/* 1145DC 7F0DFAAC 31881800 */ andi $t0, $t4, 0x1800 -/* 1145E0 7F0DFAB0 0008C8C3 */ sra $t9, $t0, 3 -/* 1145E4 7F0DFAB4 318F00FF */ andi $t7, $t4, 0xff -/* 1145E8 7F0DFAB8 032F6825 */ or $t5, $t9, $t7 -/* 1145EC 7F0DFABC 012D5821 */ addu $t3, $t1, $t5 -/* 1145F0 7F0DFAC0 10000B4E */ b .L7F0E27FC -/* 1145F4 7F0DFAC4 A16E0000 */ sb $t6, ($t3) -spectrum_op_ED_64: -/* 1145F8 7F0DFAC8 00108023 */ negu $s0, $s0 -/* 1145FC 7F0DFACC 320800FF */ andi $t0, $s0, 0xff -/* 114600 7F0DFAD0 8FB8028C */ lw $t8, 0x28c($sp) -/* 114604 7F0DFAD4 2D0C0001 */ sltiu $t4, $t0, 1 -/* 114608 7F0DFAD8 310E000F */ andi $t6, $t0, 0xf -/* 11460C 7F0DFADC 01008025 */ move $s0, $t0 -/* 114610 7F0DFAE0 311900A8 */ andi $t9, $t0, 0xa8 -/* 114614 7F0DFAE4 270A0004 */ addiu $t2, $t8, 4 -/* 114618 7F0DFAE8 39080080 */ xori $t0, $t0, 0x80 -/* 11461C 7F0DFAEC 000E582A */ slt $t3, $zero, $t6 -/* 114620 7F0DFAF0 000C4980 */ sll $t1, $t4, 6 -/* 114624 7F0DFAF4 AFAA028C */ sw $t2, 0x28c($sp) -/* 114628 7F0DFAF8 03296825 */ or $t5, $t9, $t1 -/* 11462C 7F0DFAFC 000BC100 */ sll $t8, $t3, 4 -/* 114630 7F0DFB00 2D080001 */ sltiu $t0, $t0, 1 -/* 114634 7F0DFB04 AFAC0048 */ sw $t4, 0x48($sp) -/* 114638 7F0DFB08 00086080 */ sll $t4, $t0, 2 -/* 11463C 7F0DFB0C 01B85025 */ or $t2, $t5, $t8 -/* 114640 7F0DFB10 014C7825 */ or $t7, $t2, $t4 -/* 114644 7F0DFB14 35F90002 */ ori $t9, $t7, 2 -/* 114648 7F0DFB18 0010482A */ slt $t1, $zero, $s0 -/* 11464C 7F0DFB1C 03298825 */ or $s1, $t9, $t1 -/* 114650 7F0DFB20 322E00FF */ andi $t6, $s1, 0xff -/* 114654 7F0DFB24 10000B35 */ b .L7F0E27FC -/* 114658 7F0DFB28 01C08825 */ move $s1, $t6 -spectrum_op_ED_65: -/* 11465C 7F0DFB2C 8FAB028C */ lw $t3, 0x28c($sp) -/* 114660 7F0DFB30 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 114664 7F0DFB34 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 114668 7F0DFB38 97AA0292 */ lhu $t2, 0x292($sp) -/* 11466C 7F0DFB3C 256D0004 */ addiu $t5, $t3, 4 -/* 114670 7F0DFB40 AFAD028C */ sw $t5, 0x28c($sp) -/* 114674 7F0DFB44 25A80006 */ addiu $t0, $t5, 6 -/* 114678 7F0DFB48 AFA8028C */ sw $t0, 0x28c($sp) -/* 11467C 7F0DFB4C 018A4821 */ addu $t1, $t4, $t2 -/* 114680 7F0DFB50 912E0001 */ lbu $t6, 1($t1) -/* 114684 7F0DFB54 014C7821 */ addu $t7, $t2, $t4 -/* 114688 7F0DFB58 91F90000 */ lbu $t9, ($t7) -/* 11468C 7F0DFB5C 000E5A00 */ sll $t3, $t6, 8 -/* 114690 7F0DFB60 25580002 */ addiu $t8, $t2, 2 -/* 114694 7F0DFB64 032B6825 */ or $t5, $t9, $t3 -/* 114698 7F0DFB68 A7AD0298 */ sh $t5, 0x298($sp) -/* 11469C 7F0DFB6C 10000B23 */ b .L7F0E27FC -/* 1146A0 7F0DFB70 A7B80292 */ sh $t8, 0x292($sp) -spectrum_op_ED_66: -/* 1146A4 7F0DFB74 8FA8028C */ lw $t0, 0x28c($sp) -/* 1146A8 7F0DFB78 A3A0029B */ sb $zero, 0x29b($sp) -/* 1146AC 7F0DFB7C 250F0004 */ addiu $t7, $t0, 4 -/* 1146B0 7F0DFB80 10000B1E */ b .L7F0E27FC -/* 1146B4 7F0DFB84 AFAF028C */ sw $t7, 0x28c($sp) -spectrum_op_ED_67: -/* 1146B8 7F0DFB88 8FAC028C */ lw $t4, 0x28c($sp) -/* 1146BC 7F0DFB8C 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1146C0 7F0DFB90 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1146C4 7F0DFB94 00167200 */ sll $t6, $s6, 8 -/* 1146C8 7F0DFB98 01D7C825 */ or $t9, $t6, $s7 -/* 1146CC 7F0DFB9C 2589000E */ addiu $t1, $t4, 0xe -/* 1146D0 7F0DFBA0 AFA9028C */ sw $t1, 0x28c($sp) -/* 1146D4 7F0DFBA4 032B6821 */ addu $t5, $t9, $t3 -/* 1146D8 7F0DFBA8 91AA0000 */ lbu $t2, ($t5) -/* 1146DC 7F0DFBAC 00104100 */ sll $t0, $s0, 4 -/* 1146E0 7F0DFBB0 320900F0 */ andi $t1, $s0, 0xf0 -/* 1146E4 7F0DFBB4 0016CA00 */ sll $t9, $s6, 8 -/* 1146E8 7F0DFBB8 314C000F */ andi $t4, $t2, 0xf -/* 1146EC 7F0DFBBC 012C8025 */ or $s0, $t1, $t4 -/* 1146F0 7F0DFBC0 03375825 */ or $t3, $t9, $s7 -/* 1146F4 7F0DFBC4 000AC103 */ sra $t8, $t2, 4 -/* 1146F8 7F0DFBC8 01187825 */ or $t7, $t0, $t8 -/* 1146FC 7F0DFBCC 320E00FF */ andi $t6, $s0, 0xff -/* 114700 7F0DFBD0 29615B00 */ slti $at, $t3, 0x5b00 -/* 114704 7F0DFBD4 A3AF00A4 */ sb $t7, 0xa4($sp) -/* 114708 7F0DFBD8 01C08025 */ move $s0, $t6 -/* 11470C 7F0DFBDC 14200009 */ bnez $at, .L7F0DFC04 -/* 114710 7F0DFBE0 A3AA00A5 */ sb $t2, 0xa5($sp) -/* 114714 7F0DFBE4 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 114718 7F0DFBE8 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 11471C 7F0DFBEC 01E06825 */ move $t5, $t7 -/* 114720 7F0DFBF0 0016C200 */ sll $t8, $s6, 8 -/* 114724 7F0DFBF4 03177825 */ or $t7, $t8, $s7 -/* 114728 7F0DFBF8 010F5021 */ addu $t2, $t0, $t7 -/* 11472C 7F0DFBFC 1000002B */ b .L7F0DFCAC -/* 114730 7F0DFC00 A14D0000 */ sb $t5, ($t2) -.L7F0DFC04: -/* 114734 7F0DFC04 00164A00 */ sll $t1, $s6, 8 -/* 114738 7F0DFC08 01376025 */ or $t4, $t1, $s7 -/* 11473C 7F0DFC0C 29815800 */ slti $at, $t4, 0x5800 -/* 114740 7F0DFC10 14200010 */ bnez $at, .L7F0DFC54 -/* 114744 7F0DFC14 00165A00 */ sll $t3, $s6, 8 -/* 114748 7F0DFC18 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 11474C 7F0DFC1C 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 114750 7F0DFC20 93AE00A4 */ lbu $t6, 0xa4($sp) -/* 114754 7F0DFC24 00165A00 */ sll $t3, $s6, 8 -/* 114758 7F0DFC28 0177C025 */ or $t8, $t3, $s7 -/* 11475C 7F0DFC2C 03384021 */ addu $t0, $t9, $t8 -/* 114760 7F0DFC30 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 114764 7F0DFC34 A10E0000 */ sb $t6, ($t0) -/* 114768 7F0DFC38 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 11476C 7F0DFC3C 00165200 */ sll $t2, $s6, 8 -/* 114770 7F0DFC40 01574825 */ or $t1, $t2, $s7 -/* 114774 7F0DFC44 240F0001 */ li $t7, 1 -/* 114778 7F0DFC48 01A96021 */ addu $t4, $t5, $t1 -/* 11477C 7F0DFC4C 10000017 */ b .L7F0DFCAC -/* 114780 7F0DFC50 A18FA800 */ sb $t7, -0x5800($t4) -.L7F0DFC54: -/* 114784 7F0DFC54 0177C825 */ or $t9, $t3, $s7 -/* 114788 7F0DFC58 2B214000 */ slti $at, $t9, 0x4000 -/* 11478C 7F0DFC5C 14200013 */ bnez $at, .L7F0DFCAC -/* 114790 7F0DFC60 93B800A4 */ lbu $t8, 0xa4($sp) -/* 114794 7F0DFC64 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 114798 7F0DFC68 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 11479C 7F0DFC6C 00164200 */ sll $t0, $s6, 8 -/* 1147A0 7F0DFC70 01175025 */ or $t2, $t0, $s7 -/* 1147A4 7F0DFC74 01CA6821 */ addu $t5, $t6, $t2 -/* 1147A8 7F0DFC78 A1B80000 */ sb $t8, ($t5) -/* 1147AC 7F0DFC7C 00167A00 */ sll $t7, $s6, 8 -/* 1147B0 7F0DFC80 01F76025 */ or $t4, $t7, $s7 -/* 1147B4 7F0DFC84 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 1147B8 7F0DFC88 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 1147BC 7F0DFC8C 318B1800 */ andi $t3, $t4, 0x1800 -/* 1147C0 7F0DFC90 01177025 */ or $t6, $t0, $s7 -/* 1147C4 7F0DFC94 31CA00FF */ andi $t2, $t6, 0xff -/* 1147C8 7F0DFC98 000BC8C3 */ sra $t9, $t3, 3 -/* 1147CC 7F0DFC9C 032AC025 */ or $t8, $t9, $t2 -/* 1147D0 7F0DFCA0 24090001 */ li $t1, 1 -/* 1147D4 7F0DFCA4 01B87821 */ addu $t7, $t5, $t8 -/* 1147D8 7F0DFCA8 A1E90000 */ sb $t1, ($t7) -.L7F0DFCAC: -/* 1147DC 7F0DFCAC 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 1147E0 7F0DFCB0 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 1147E4 7F0DFCB4 2E0C0001 */ sltiu $t4, $s0, 1 -/* 1147E8 7F0DFCB8 AFAC0048 */ sw $t4, 0x48($sp) -/* 1147EC 7F0DFCBC 02184821 */ addu $t1, $s0, $t8 -/* 1147F0 7F0DFCC0 912F0000 */ lbu $t7, ($t1) -/* 1147F4 7F0DFCC4 322B0001 */ andi $t3, $s1, 1 -/* 1147F8 7F0DFCC8 320800A8 */ andi $t0, $s0, 0xa8 -/* 1147FC 7F0DFCCC 01687025 */ or $t6, $t3, $t0 -/* 114800 7F0DFCD0 000C5180 */ sll $t2, $t4, 6 -/* 114804 7F0DFCD4 01CA6825 */ or $t5, $t6, $t2 -/* 114808 7F0DFCD8 01ED8825 */ or $s1, $t7, $t5 -/* 11480C 7F0DFCDC 322C00FF */ andi $t4, $s1, 0xff -/* 114810 7F0DFCE0 10000AC6 */ b .L7F0E27FC -/* 114814 7F0DFCE4 01808825 */ move $s1, $t4 -spectrum_op_ED_68: -/* 114818 7F0DFCE8 8FAB028C */ lw $t3, 0x28c($sp) -/* 11481C 7F0DFCEC 02402825 */ move $a1, $s2 -/* 114820 7F0DFCF0 02603025 */ move $a2, $s3 -/* 114824 7F0DFCF4 25640008 */ addiu $a0, $t3, 8 -/* 114828 7F0DFCF8 0FC34DB6 */ jal spectrum_input_handling -/* 11482C 7F0DFCFC AFA4028C */ sw $a0, 0x28c($sp) -/* 114830 7F0DFD00 8FB9028C */ lw $t9, 0x28c($sp) -/* 114834 7F0DFD04 304EFFFF */ andi $t6, $v0, 0xffff -/* 114838 7F0DFD08 000E5203 */ sra $t2, $t6, 8 -/* 11483C 7F0DFD0C A7A200A2 */ sh $v0, 0xa2($sp) -/* 114840 7F0DFD10 032AC021 */ addu $t8, $t9, $t2 -/* 114844 7F0DFD14 93B700A3 */ lbu $s7, 0xa3($sp) -/* 114848 7F0DFD18 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 11484C 7F0DFD1C 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 114850 7F0DFD20 2EE90001 */ sltiu $t1, $s7, 1 -/* 114854 7F0DFD24 AFA90048 */ sw $t1, 0x48($sp) -/* 114858 7F0DFD28 AFB8028C */ sw $t8, 0x28c($sp) -/* 11485C 7F0DFD2C 02F95021 */ addu $t2, $s7, $t9 -/* 114860 7F0DFD30 91580000 */ lbu $t8, ($t2) -/* 114864 7F0DFD34 322F0001 */ andi $t7, $s1, 1 -/* 114868 7F0DFD38 32ED00A8 */ andi $t5, $s7, 0xa8 -/* 11486C 7F0DFD3C 01ED6025 */ or $t4, $t7, $t5 -/* 114870 7F0DFD40 00094180 */ sll $t0, $t1, 6 -/* 114874 7F0DFD44 01887025 */ or $t6, $t4, $t0 -/* 114878 7F0DFD48 030E8825 */ or $s1, $t8, $t6 -/* 11487C 7F0DFD4C 322900FF */ andi $t1, $s1, 0xff -/* 114880 7F0DFD50 10000AAA */ b .L7F0E27FC -/* 114884 7F0DFD54 01208825 */ move $s1, $t1 -spectrum_op_ED_69: -/* 114888 7F0DFD58 8FAF028C */ lw $t7, 0x28c($sp) -/* 11488C 7F0DFD5C 02402825 */ move $a1, $s2 -/* 114890 7F0DFD60 02603025 */ move $a2, $s3 -/* 114894 7F0DFD64 25E40008 */ addiu $a0, $t7, 8 -/* 114898 7F0DFD68 AFA4028C */ sw $a0, 0x28c($sp) -/* 11489C 7F0DFD6C 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 1148A0 7F0DFD70 02E03825 */ move $a3, $s7 -/* 1148A4 7F0DFD74 8FAB028C */ lw $t3, 0x28c($sp) -/* 1148A8 7F0DFD78 AFA20048 */ sw $v0, 0x48($sp) -/* 1148AC 7F0DFD7C 01624021 */ addu $t0, $t3, $v0 -/* 1148B0 7F0DFD80 10000A9E */ b .L7F0E27FC -/* 1148B4 7F0DFD84 AFA8028C */ sw $t0, 0x28c($sp) -spectrum_op_ED_6A: -/* 1148B8 7F0DFD88 0016C200 */ sll $t8, $s6, 8 -/* 1148BC 7F0DFD8C 03177025 */ or $t6, $t8, $s7 -/* 1148C0 7F0DFD90 00164A00 */ sll $t1, $s6, 8 -/* 1148C4 7F0DFD94 01377825 */ or $t7, $t1, $s7 -/* 1148C8 7F0DFD98 31CDFFFF */ andi $t5, $t6, 0xffff -/* 1148CC 7F0DFD9C 8FB9028C */ lw $t9, 0x28c($sp) -/* 1148D0 7F0DFDA0 01ED5821 */ addu $t3, $t7, $t5 -/* 1148D4 7F0DFDA4 322C0001 */ andi $t4, $s1, 1 -/* 1148D8 7F0DFDA8 016C4021 */ addu $t0, $t3, $t4 -/* 1148DC 7F0DFDAC 272A000B */ addiu $t2, $t9, 0xb -/* 1148E0 7F0DFDB0 0008C202 */ srl $t8, $t0, 8 -/* 1148E4 7F0DFDB4 AFAA028C */ sw $t2, 0x28c($sp) -/* 1148E8 7F0DFDB8 330900A8 */ andi $t1, $t8, 0xa8 -/* 1148EC 7F0DFDBC 3119FFFF */ andi $t9, $t0, 0xffff -/* 1148F0 7F0DFDC0 00087C02 */ srl $t7, $t0, 0x10 -/* 1148F4 7F0DFDC4 00165A00 */ sll $t3, $s6, 8 -/* 1148F8 7F0DFDC8 01776025 */ or $t4, $t3, $s7 -/* 1148FC 7F0DFDCC 012F6825 */ or $t5, $t1, $t7 -/* 114900 7F0DFDD0 2F2A0001 */ sltiu $t2, $t9, 1 -/* 114904 7F0DFDD4 31990FFF */ andi $t9, $t4, 0xfff -/* 114908 7F0DFDD8 31C90FFF */ andi $t1, $t6, 0xfff -/* 11490C 7F0DFDDC 03297821 */ addu $t7, $t9, $t1 -/* 114910 7F0DFDE0 322B0001 */ andi $t3, $s1, 1 -/* 114914 7F0DFDE4 01EB6021 */ addu $t4, $t7, $t3 -/* 114918 7F0DFDE8 24010FFF */ li $at, 4095 -/* 11491C 7F0DFDEC 002CC02A */ slt $t8, $at, $t4 -/* 114920 7F0DFDF0 0018C900 */ sll $t9, $t8, 4 -/* 114924 7F0DFDF4 01B94825 */ or $t1, $t5, $t9 -/* 114928 7F0DFDF8 00167A00 */ sll $t7, $s6, 8 -/* 11492C 7F0DFDFC 01F75825 */ or $t3, $t7, $s7 -/* 114930 7F0DFE00 0016C200 */ sll $t8, $s6, 8 -/* 114934 7F0DFE04 03176827 */ nor $t5, $t8, $s7 -/* 114938 7F0DFE08 01C0C825 */ move $t9, $t6 -/* 11493C 7F0DFE0C 01B97826 */ xor $t7, $t5, $t9 -/* 114940 7F0DFE10 01686026 */ xor $t4, $t3, $t0 -/* 114944 7F0DFE14 01EC5824 */ and $t3, $t7, $t4 -/* 114948 7F0DFE18 31788000 */ andi $t8, $t3, 0x8000 -/* 11494C 7F0DFE1C A7AE00A0 */ sh $t6, 0xa0($sp) -/* 114950 7F0DFE20 00187342 */ srl $t6, $t8, 0xd -/* 114954 7F0DFE24 012E6825 */ or $t5, $t1, $t6 -/* 114958 7F0DFE28 000AC980 */ sll $t9, $t2, 6 -/* 11495C 7F0DFE2C 01B98825 */ or $s1, $t5, $t9 -/* 114960 7F0DFE30 0008B202 */ srl $s6, $t0, 8 -/* 114964 7F0DFE34 32CB00FF */ andi $t3, $s6, 0xff -/* 114968 7F0DFE38 362F0002 */ ori $t7, $s1, 2 -/* 11496C 7F0DFE3C AFA8009C */ sw $t0, 0x9c($sp) -/* 114970 7F0DFE40 93B7009F */ lbu $s7, 0x9f($sp) -/* 114974 7F0DFE44 31F100FF */ andi $s1, $t7, 0xff -/* 114978 7F0DFE48 0160B025 */ move $s6, $t3 -/* 11497C 7F0DFE4C 10000A6B */ b .L7F0E27FC -/* 114980 7F0DFE50 AFAA0048 */ sw $t2, 0x48($sp) -spectrum_op_ED_6B: -/* 114984 7F0DFE54 8FB8028C */ lw $t8, 0x28c($sp) -/* 114988 7F0DFE58 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 11498C 7F0DFE5C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 114990 7F0DFE60 97AE0298 */ lhu $t6, 0x298($sp) -/* 114994 7F0DFE64 27090010 */ addiu $t1, $t8, 0x10 -/* 114998 7F0DFE68 AFA9028C */ sw $t1, 0x28c($sp) -/* 11499C 7F0DFE6C 014E7821 */ addu $t7, $t2, $t6 -/* 1149A0 7F0DFE70 91EC0001 */ lbu $t4, 1($t7) -/* 1149A4 7F0DFE74 01CA6821 */ addu $t5, $t6, $t2 -/* 1149A8 7F0DFE78 91B90000 */ lbu $t9, ($t5) -/* 1149AC 7F0DFE7C 000C4200 */ sll $t0, $t4, 8 -/* 1149B0 7F0DFE80 25D80002 */ addiu $t8, $t6, 2 -/* 1149B4 7F0DFE84 03285825 */ or $t3, $t9, $t0 -/* 1149B8 7F0DFE88 3169FFFF */ andi $t1, $t3, 0xffff -/* 1149BC 7F0DFE8C A7AB009A */ sh $t3, 0x9a($sp) -/* 1149C0 7F0DFE90 A7B80298 */ sh $t8, 0x298($sp) -/* 1149C4 7F0DFE94 012A6821 */ addu $t5, $t1, $t2 -/* 1149C8 7F0DFE98 91B70000 */ lbu $s7, ($t5) -/* 1149CC 7F0DFE9C 10000A57 */ b .L7F0E27FC -/* 1149D0 7F0DFEA0 91B60001 */ lbu $s6, 1($t5) -spectrum_op_ED_6C: -/* 1149D4 7F0DFEA4 00108023 */ negu $s0, $s0 -/* 1149D8 7F0DFEA8 321900FF */ andi $t9, $s0, 0xff -/* 1149DC 7F0DFEAC 8FAF028C */ lw $t7, 0x28c($sp) -/* 1149E0 7F0DFEB0 2F280001 */ sltiu $t0, $t9, 1 -/* 1149E4 7F0DFEB4 332A000F */ andi $t2, $t9, 0xf -/* 1149E8 7F0DFEB8 03208025 */ move $s0, $t9 -/* 1149EC 7F0DFEBC 332B00A8 */ andi $t3, $t9, 0xa8 -/* 1149F0 7F0DFEC0 25EC0004 */ addiu $t4, $t7, 4 -/* 1149F4 7F0DFEC4 3B390080 */ xori $t9, $t9, 0x80 -/* 1149F8 7F0DFEC8 000A682A */ slt $t5, $zero, $t2 -/* 1149FC 7F0DFECC 0008C180 */ sll $t8, $t0, 6 -/* 114A00 7F0DFED0 AFAC028C */ sw $t4, 0x28c($sp) -/* 114A04 7F0DFED4 01784825 */ or $t1, $t3, $t8 -/* 114A08 7F0DFED8 000D7900 */ sll $t7, $t5, 4 -/* 114A0C 7F0DFEDC 2F390001 */ sltiu $t9, $t9, 1 -/* 114A10 7F0DFEE0 AFA80048 */ sw $t0, 0x48($sp) -/* 114A14 7F0DFEE4 00194080 */ sll $t0, $t9, 2 -/* 114A18 7F0DFEE8 012F6025 */ or $t4, $t1, $t7 -/* 114A1C 7F0DFEEC 01887025 */ or $t6, $t4, $t0 -/* 114A20 7F0DFEF0 35CB0002 */ ori $t3, $t6, 2 -/* 114A24 7F0DFEF4 0010C02A */ slt $t8, $zero, $s0 -/* 114A28 7F0DFEF8 01788825 */ or $s1, $t3, $t8 -/* 114A2C 7F0DFEFC 322A00FF */ andi $t2, $s1, 0xff -/* 114A30 7F0DFF00 10000A3E */ b .L7F0E27FC -/* 114A34 7F0DFF04 01408825 */ move $s1, $t2 -spectrum_op_ED_6D: -/* 114A38 7F0DFF08 8FAD028C */ lw $t5, 0x28c($sp) -/* 114A3C 7F0DFF0C 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 114A40 7F0DFF10 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 114A44 7F0DFF14 97AC0292 */ lhu $t4, 0x292($sp) -/* 114A48 7F0DFF18 25A90004 */ addiu $t1, $t5, 4 -/* 114A4C 7F0DFF1C AFA9028C */ sw $t1, 0x28c($sp) -/* 114A50 7F0DFF20 25390006 */ addiu $t9, $t1, 6 -/* 114A54 7F0DFF24 AFB9028C */ sw $t9, 0x28c($sp) -/* 114A58 7F0DFF28 010CC021 */ addu $t8, $t0, $t4 -/* 114A5C 7F0DFF2C 930A0001 */ lbu $t2, 1($t8) -/* 114A60 7F0DFF30 01887021 */ addu $t6, $t4, $t0 -/* 114A64 7F0DFF34 91CB0000 */ lbu $t3, ($t6) -/* 114A68 7F0DFF38 000A6A00 */ sll $t5, $t2, 8 -/* 114A6C 7F0DFF3C 258F0002 */ addiu $t7, $t4, 2 -/* 114A70 7F0DFF40 016D4825 */ or $t1, $t3, $t5 -/* 114A74 7F0DFF44 A7A90298 */ sh $t1, 0x298($sp) -/* 114A78 7F0DFF48 10000A2C */ b .L7F0E27FC -/* 114A7C 7F0DFF4C A7AF0292 */ sh $t7, 0x292($sp) -spectrum_op_ED_6E: -/* 114A80 7F0DFF50 8FB9028C */ lw $t9, 0x28c($sp) -/* 114A84 7F0DFF54 24080001 */ li $t0, 1 -/* 114A88 7F0DFF58 A3A8029B */ sb $t0, 0x29b($sp) -/* 114A8C 7F0DFF5C 272E0004 */ addiu $t6, $t9, 4 -/* 114A90 7F0DFF60 10000A26 */ b .L7F0E27FC -/* 114A94 7F0DFF64 AFAE028C */ sw $t6, 0x28c($sp) -spectrum_op_ED_6F: -/* 114A98 7F0DFF68 8FB8028C */ lw $t8, 0x28c($sp) -/* 114A9C 7F0DFF6C 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 114AA0 7F0DFF70 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 114AA4 7F0DFF74 00165A00 */ sll $t3, $s6, 8 -/* 114AA8 7F0DFF78 01776825 */ or $t5, $t3, $s7 -/* 114AAC 7F0DFF7C 270A0005 */ addiu $t2, $t8, 5 -/* 114AB0 7F0DFF80 AFAA028C */ sw $t2, 0x28c($sp) -/* 114AB4 7F0DFF84 01A96021 */ addu $t4, $t5, $t1 -/* 114AB8 7F0DFF88 918F0000 */ lbu $t7, ($t4) -/* 114ABC 7F0DFF8C 320E000F */ andi $t6, $s0, 0xf -/* 114AC0 7F0DFF90 320A00F0 */ andi $t2, $s0, 0xf0 -/* 114AC4 7F0DFF94 00166A00 */ sll $t5, $s6, 8 -/* 114AC8 7F0DFF98 000FC103 */ sra $t8, $t7, 4 -/* 114ACC 7F0DFF9C 01588025 */ or $s0, $t2, $t8 -/* 114AD0 7F0DFFA0 01B74825 */ or $t1, $t5, $s7 -/* 114AD4 7F0DFFA4 000FC900 */ sll $t9, $t7, 4 -/* 114AD8 7F0DFFA8 01D94025 */ or $t0, $t6, $t9 -/* 114ADC 7F0DFFAC 320B00FF */ andi $t3, $s0, 0xff -/* 114AE0 7F0DFFB0 29215B00 */ slti $at, $t1, 0x5b00 -/* 114AE4 7F0DFFB4 A3A80098 */ sb $t0, 0x98($sp) -/* 114AE8 7F0DFFB8 01608025 */ move $s0, $t3 -/* 114AEC 7F0DFFBC 14200009 */ bnez $at, .L7F0DFFE4 -/* 114AF0 7F0DFFC0 A3AF0099 */ sb $t7, 0x99($sp) -/* 114AF4 7F0DFFC4 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 114AF8 7F0DFFC8 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 114AFC 7F0DFFCC 01006025 */ move $t4, $t0 -/* 114B00 7F0DFFD0 0016CA00 */ sll $t9, $s6, 8 -/* 114B04 7F0DFFD4 03374025 */ or $t0, $t9, $s7 -/* 114B08 7F0DFFD8 01C87821 */ addu $t7, $t6, $t0 -/* 114B0C 7F0DFFDC 1000002B */ b .L7F0E008C -/* 114B10 7F0DFFE0 A1EC0000 */ sb $t4, ($t7) -.L7F0DFFE4: -/* 114B14 7F0DFFE4 00165200 */ sll $t2, $s6, 8 -/* 114B18 7F0DFFE8 0157C025 */ or $t8, $t2, $s7 -/* 114B1C 7F0DFFEC 2B015800 */ slti $at, $t8, 0x5800 -/* 114B20 7F0DFFF0 14200010 */ bnez $at, .L7F0E0034 -/* 114B24 7F0DFFF4 00164A00 */ sll $t1, $s6, 8 -/* 114B28 7F0DFFF8 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 114B2C 7F0DFFFC 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 114B30 7F0E0000 93AB0098 */ lbu $t3, 0x98($sp) -/* 114B34 7F0E0004 00164A00 */ sll $t1, $s6, 8 -/* 114B38 7F0E0008 0137C825 */ or $t9, $t1, $s7 -/* 114B3C 7F0E000C 01B97021 */ addu $t6, $t5, $t9 -/* 114B40 7F0E0010 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 114B44 7F0E0014 A1CB0000 */ sb $t3, ($t6) -/* 114B48 7F0E0018 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 114B4C 7F0E001C 00167A00 */ sll $t7, $s6, 8 -/* 114B50 7F0E0020 01F75025 */ or $t2, $t7, $s7 -/* 114B54 7F0E0024 24080001 */ li $t0, 1 -/* 114B58 7F0E0028 018AC021 */ addu $t8, $t4, $t2 -/* 114B5C 7F0E002C 10000017 */ b .L7F0E008C -/* 114B60 7F0E0030 A308A800 */ sb $t0, -0x5800($t8) -.L7F0E0034: -/* 114B64 7F0E0034 01376825 */ or $t5, $t1, $s7 -/* 114B68 7F0E0038 29A14000 */ slti $at, $t5, 0x4000 -/* 114B6C 7F0E003C 14200013 */ bnez $at, .L7F0E008C -/* 114B70 7F0E0040 93B90098 */ lbu $t9, 0x98($sp) -/* 114B74 7F0E0044 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 114B78 7F0E0048 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 114B7C 7F0E004C 00167200 */ sll $t6, $s6, 8 -/* 114B80 7F0E0050 01D77825 */ or $t7, $t6, $s7 -/* 114B84 7F0E0054 016F6021 */ addu $t4, $t3, $t7 -/* 114B88 7F0E0058 A1990000 */ sb $t9, ($t4) -/* 114B8C 7F0E005C 00164200 */ sll $t0, $s6, 8 -/* 114B90 7F0E0060 0117C025 */ or $t8, $t0, $s7 -/* 114B94 7F0E0064 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 114B98 7F0E0068 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 114B9C 7F0E006C 33091800 */ andi $t1, $t8, 0x1800 -/* 114BA0 7F0E0070 01D75825 */ or $t3, $t6, $s7 -/* 114BA4 7F0E0074 316F00FF */ andi $t7, $t3, 0xff -/* 114BA8 7F0E0078 000968C3 */ sra $t5, $t1, 3 -/* 114BAC 7F0E007C 01AFC825 */ or $t9, $t5, $t7 -/* 114BB0 7F0E0080 240A0001 */ li $t2, 1 -/* 114BB4 7F0E0084 01994021 */ addu $t0, $t4, $t9 -/* 114BB8 7F0E0088 A10A0000 */ sb $t2, ($t0) -.L7F0E008C: -/* 114BBC 7F0E008C 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 114BC0 7F0E0090 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 114BC4 7F0E0094 2E180001 */ sltiu $t8, $s0, 1 -/* 114BC8 7F0E0098 AFB80048 */ sw $t8, 0x48($sp) -/* 114BCC 7F0E009C 02195021 */ addu $t2, $s0, $t9 -/* 114BD0 7F0E00A0 91480000 */ lbu $t0, ($t2) -/* 114BD4 7F0E00A4 32290001 */ andi $t1, $s1, 1 -/* 114BD8 7F0E00A8 320E00A8 */ andi $t6, $s0, 0xa8 -/* 114BDC 7F0E00AC 012E5825 */ or $t3, $t1, $t6 -/* 114BE0 7F0E00B0 00187980 */ sll $t7, $t8, 6 -/* 114BE4 7F0E00B4 016F6025 */ or $t4, $t3, $t7 -/* 114BE8 7F0E00B8 010C8825 */ or $s1, $t0, $t4 -/* 114BEC 7F0E00BC 323800FF */ andi $t8, $s1, 0xff -/* 114BF0 7F0E00C0 100009CE */ b .L7F0E27FC -/* 114BF4 7F0E00C4 03008825 */ move $s1, $t8 -spectrum_op_ED_70: -/* 114BF8 7F0E00C8 8FA9028C */ lw $t1, 0x28c($sp) -/* 114BFC 7F0E00CC 02402825 */ move $a1, $s2 -/* 114C00 7F0E00D0 02603025 */ move $a2, $s3 -/* 114C04 7F0E00D4 25240008 */ addiu $a0, $t1, 8 -/* 114C08 7F0E00D8 0FC34DB6 */ jal spectrum_input_handling -/* 114C0C 7F0E00DC AFA4028C */ sw $a0, 0x28c($sp) -/* 114C10 7F0E00E0 8FAB028C */ lw $t3, 0x28c($sp) -/* 114C14 7F0E00E4 3058FFFF */ andi $t8, $v0, 0xffff -/* 114C18 7F0E00E8 00187A03 */ sra $t7, $t8, 8 -/* 114C1C 7F0E00EC 016FC821 */ addu $t9, $t3, $t7 -/* 114C20 7F0E00F0 AFB9028C */ sw $t9, 0x28c($sp) -/* 114C24 7F0E00F4 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 114C28 7F0E00F8 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 114C2C 7F0E00FC 330A00FF */ andi $t2, $t8, 0xff -/* 114C30 7F0E0100 330900A8 */ andi $t1, $t8, 0xa8 -/* 114C34 7F0E0104 2D480001 */ sltiu $t0, $t2, 1 -/* 114C38 7F0E0108 A3B80097 */ sb $t8, 0x97($sp) -/* 114C3C 7F0E010C 322C0001 */ andi $t4, $s1, 1 -/* 114C40 7F0E0110 01897025 */ or $t6, $t4, $t1 -/* 114C44 7F0E0114 AFA80048 */ sw $t0, 0x48($sp) -/* 114C48 7F0E0118 A7A20094 */ sh $v0, 0x94($sp) -/* 114C4C 7F0E011C 0159C021 */ addu $t8, $t2, $t9 -/* 114C50 7F0E0120 930C0000 */ lbu $t4, ($t8) -/* 114C54 7F0E0124 00085980 */ sll $t3, $t0, 6 -/* 114C58 7F0E0128 01CB7825 */ or $t7, $t6, $t3 -/* 114C5C 7F0E012C 018F8825 */ or $s1, $t4, $t7 -/* 114C60 7F0E0130 322900FF */ andi $t1, $s1, 0xff -/* 114C64 7F0E0134 100009B1 */ b .L7F0E27FC -/* 114C68 7F0E0138 01208825 */ move $s1, $t1 -spectrum_op_ED_71: -/* 114C6C 7F0E013C 8FA8028C */ lw $t0, 0x28c($sp) -/* 114C70 7F0E0140 02402825 */ move $a1, $s2 -/* 114C74 7F0E0144 02603025 */ move $a2, $s3 -/* 114C78 7F0E0148 25040008 */ addiu $a0, $t0, 8 -/* 114C7C 7F0E014C AFA4028C */ sw $a0, 0x28c($sp) -/* 114C80 7F0E0150 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 114C84 7F0E0154 00003825 */ move $a3, $zero -/* 114C88 7F0E0158 8FAB028C */ lw $t3, 0x28c($sp) -/* 114C8C 7F0E015C AFA20048 */ sw $v0, 0x48($sp) -/* 114C90 7F0E0160 01625021 */ addu $t2, $t3, $v0 -/* 114C94 7F0E0164 100009A5 */ b .L7F0E27FC -/* 114C98 7F0E0168 AFAA028C */ sw $t2, 0x28c($sp) -spectrum_op_ED_72: -/* 114C9C 7F0E016C 97AC0292 */ lhu $t4, 0x292($sp) -/* 114CA0 7F0E0170 8FB9028C */ lw $t9, 0x28c($sp) -/* 114CA4 7F0E0174 00167A00 */ sll $t7, $s6, 8 -/* 114CA8 7F0E0178 01F74825 */ or $t1, $t7, $s7 -/* 114CAC 7F0E017C 322E0001 */ andi $t6, $s1, 1 -/* 114CB0 7F0E0180 3C010001 */ lui $at, (0x0001FFFF >> 16) # lui $at, 1 -/* 114CB4 7F0E0184 012C4023 */ subu $t0, $t1, $t4 -/* 114CB8 7F0E0188 010E5823 */ subu $t3, $t0, $t6 -/* 114CBC 7F0E018C 3421FFFF */ ori $at, (0x0001FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 114CC0 7F0E0190 2738000B */ addiu $t8, $t9, 0xb -/* 114CC4 7F0E0194 AFB8028C */ sw $t8, 0x28c($sp) -/* 114CC8 7F0E0198 01616824 */ and $t5, $t3, $at -/* 114CCC 7F0E019C 000DC202 */ srl $t8, $t5, 8 -/* 114CD0 7F0E01A0 330F00A8 */ andi $t7, $t8, 0xa8 -/* 114CD4 7F0E01A4 000D4C02 */ srl $t1, $t5, 0x10 -/* 114CD8 7F0E01A8 01E94025 */ or $t0, $t7, $t1 -/* 114CDC 7F0E01AC 31AAFFFF */ andi $t2, $t5, 0xffff -/* 114CE0 7F0E01B0 2D590001 */ sltiu $t9, $t2, 1 -/* 114CE4 7F0E01B4 322A0001 */ andi $t2, $s1, 1 -/* 114CE8 7F0E01B8 350E0002 */ ori $t6, $t0, 2 -/* 114CEC 7F0E01BC 00164A00 */ sll $t1, $s6, 8 -/* 114CF0 7F0E01C0 318B0FFF */ andi $t3, $t4, 0xfff -/* 114CF4 7F0E01C4 016A7821 */ addu $t7, $t3, $t2 -/* 114CF8 7F0E01C8 01374025 */ or $t0, $t1, $s7 -/* 114CFC 7F0E01CC 310B0FFF */ andi $t3, $t0, 0xfff -/* 114D00 7F0E01D0 016F502A */ slt $t2, $t3, $t7 -/* 114D04 7F0E01D4 000A4900 */ sll $t1, $t2, 4 -/* 114D08 7F0E01D8 01C94025 */ or $t0, $t6, $t1 -/* 114D0C 7F0E01DC 00165A00 */ sll $t3, $s6, 8 -/* 114D10 7F0E01E0 01777825 */ or $t7, $t3, $s7 -/* 114D14 7F0E01E4 00167200 */ sll $t6, $s6, 8 -/* 114D18 7F0E01E8 01D74825 */ or $t1, $t6, $s7 -/* 114D1C 7F0E01EC 012D5826 */ xor $t3, $t1, $t5 -/* 114D20 7F0E01F0 01EC5026 */ xor $t2, $t7, $t4 -/* 114D24 7F0E01F4 014B7824 */ and $t7, $t2, $t3 -/* 114D28 7F0E01F8 A7AC0092 */ sh $t4, 0x92($sp) -/* 114D2C 7F0E01FC 31EC8000 */ andi $t4, $t7, 0x8000 -/* 114D30 7F0E0200 000C7342 */ srl $t6, $t4, 0xd -/* 114D34 7F0E0204 AFAD008C */ sw $t5, 0x8c($sp) -/* 114D38 7F0E0208 00196980 */ sll $t5, $t9, 6 -/* 114D3C 7F0E020C 010E4825 */ or $t1, $t0, $t6 -/* 114D40 7F0E0210 012D8825 */ or $s1, $t1, $t5 -/* 114D44 7F0E0214 362A0002 */ ori $t2, $s1, 2 -/* 114D48 7F0E0218 315100FF */ andi $s1, $t2, 0xff -/* 114D4C 7F0E021C 93B7008F */ lbu $s7, 0x8f($sp) -/* 114D50 7F0E0220 331600FF */ andi $s6, $t8, 0xff -/* 114D54 7F0E0224 10000975 */ b .L7F0E27FC -/* 114D58 7F0E0228 AFB90048 */ sw $t9, 0x48($sp) -spectrum_op_ED_73: -/* 114D5C 7F0E022C 8FAF028C */ lw $t7, 0x28c($sp) -/* 114D60 7F0E0230 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 114D64 7F0E0234 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 114D68 7F0E0238 97A80298 */ lhu $t0, 0x298($sp) -/* 114D6C 7F0E023C 25EC0010 */ addiu $t4, $t7, 0x10 -/* 114D70 7F0E0240 AFAC028C */ sw $t4, 0x28c($sp) -/* 114D74 7F0E0244 01C86821 */ addu $t5, $t6, $t0 -/* 114D78 7F0E0248 91AA0001 */ lbu $t2, 1($t5) -/* 114D7C 7F0E024C 010EC821 */ addu $t9, $t0, $t6 -/* 114D80 7F0E0250 93290000 */ lbu $t1, ($t9) -/* 114D84 7F0E0254 000A5A00 */ sll $t3, $t2, 8 -/* 114D88 7F0E0258 250F0002 */ addiu $t7, $t0, 2 -/* 114D8C 7F0E025C 012BC025 */ or $t8, $t1, $t3 -/* 114D90 7F0E0260 330CFFFF */ andi $t4, $t8, 0xffff -/* 114D94 7F0E0264 29815B00 */ slti $at, $t4, 0x5b00 -/* 114D98 7F0E0268 A7B8008A */ sh $t8, 0x8a($sp) -/* 114D9C 7F0E026C 14200007 */ bnez $at, .L7F0E028C -/* 114DA0 7F0E0270 A7AF0298 */ sh $t7, 0x298($sp) -/* 114DA4 7F0E0274 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 114DA8 7F0E0278 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 114DAC 7F0E027C 97B90292 */ lhu $t9, 0x292($sp) -/* 114DB0 7F0E0280 01CC6821 */ addu $t5, $t6, $t4 -/* 114DB4 7F0E0284 10000023 */ b .L7F0E0314 -/* 114DB8 7F0E0288 A1B90000 */ sb $t9, ($t5) -.L7F0E028C: -/* 114DBC 7F0E028C 97AA008A */ lhu $t2, 0x8a($sp) -/* 114DC0 7F0E0290 97B9008A */ lhu $t9, 0x8a($sp) -/* 114DC4 7F0E0294 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 114DC8 7F0E0298 29415800 */ slti $at, $t2, 0x5800 -/* 114DCC 7F0E029C 5420000D */ bnezl $at, .L7F0E02D4 -/* 114DD0 7F0E02A0 2B214000 */ slti $at, $t9, 0x4000 -/* 114DD4 7F0E02A4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 114DD8 7F0E02A8 97A90292 */ lhu $t1, 0x292($sp) -/* 114DDC 7F0E02AC 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 114DE0 7F0E02B0 016AC021 */ addu $t8, $t3, $t2 -/* 114DE4 7F0E02B4 A3090000 */ sb $t1, ($t8) -/* 114DE8 7F0E02B8 97AE008A */ lhu $t6, 0x8a($sp) -/* 114DEC 7F0E02BC 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 114DF0 7F0E02C0 24080001 */ li $t0, 1 -/* 114DF4 7F0E02C4 01EE6021 */ addu $t4, $t7, $t6 -/* 114DF8 7F0E02C8 10000012 */ b .L7F0E0314 -/* 114DFC 7F0E02CC A188A800 */ sb $t0, -0x5800($t4) -/* 114E00 7F0E02D0 2B214000 */ slti $at, $t9, 0x4000 -.L7F0E02D4: -/* 114E04 7F0E02D4 1420000F */ bnez $at, .L7F0E0314 -/* 114E08 7F0E02D8 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 114E0C 7F0E02DC 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 114E10 7F0E02E0 97AD0292 */ lhu $t5, 0x292($sp) -/* 114E14 7F0E02E4 24090001 */ li $t1, 1 -/* 114E18 7F0E02E8 01795021 */ addu $t2, $t3, $t9 -/* 114E1C 7F0E02EC A14D0000 */ sb $t5, ($t2) -/* 114E20 7F0E02F0 97B8008A */ lhu $t8, 0x8a($sp) -/* 114E24 7F0E02F4 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 114E28 7F0E02F8 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 114E2C 7F0E02FC 330F1800 */ andi $t7, $t8, 0x1800 -/* 114E30 7F0E0300 000F70C3 */ sra $t6, $t7, 3 -/* 114E34 7F0E0304 330800FF */ andi $t0, $t8, 0xff -/* 114E38 7F0E0308 01C86025 */ or $t4, $t6, $t0 -/* 114E3C 7F0E030C 016CC821 */ addu $t9, $t3, $t4 -/* 114E40 7F0E0310 A3290000 */ sb $t1, ($t9) -.L7F0E0314: -/* 114E44 7F0E0314 97AD008A */ lhu $t5, 0x8a($sp) -/* 114E48 7F0E0318 97AB008A */ lhu $t3, 0x8a($sp) -/* 114E4C 7F0E031C 97AF0292 */ lhu $t7, 0x292($sp) -/* 114E50 7F0E0320 25AA0001 */ addiu $t2, $t5, 1 -/* 114E54 7F0E0324 29415B00 */ slti $at, $t2, 0x5b00 -/* 114E58 7F0E0328 14200007 */ bnez $at, .L7F0E0348 -/* 114E5C 7F0E032C 256C0001 */ addiu $t4, $t3, 1 -/* 114E60 7F0E0330 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 114E64 7F0E0334 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 114E68 7F0E0338 000FC203 */ sra $t8, $t7, 8 -/* 114E6C 7F0E033C 01CD4021 */ addu $t0, $t6, $t5 -/* 114E70 7F0E0340 1000092E */ b .L7F0E27FC -/* 114E74 7F0E0344 A1180001 */ sb $t8, 1($t0) -.L7F0E0348: -/* 114E78 7F0E0348 29815800 */ slti $at, $t4, 0x5800 -/* 114E7C 7F0E034C 1420000E */ bnez $at, .L7F0E0388 -/* 114E80 7F0E0350 97AC008A */ lhu $t4, 0x8a($sp) -/* 114E84 7F0E0354 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 114E88 7F0E0358 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 114E8C 7F0E035C 97A90292 */ lhu $t1, 0x292($sp) -/* 114E90 7F0E0360 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 114E94 7F0E0364 014B7821 */ addu $t7, $t2, $t3 -/* 114E98 7F0E0368 0009CA03 */ sra $t9, $t1, 8 -/* 114E9C 7F0E036C A1F90001 */ sb $t9, 1($t7) -/* 114EA0 7F0E0370 97B8008A */ lhu $t8, 0x8a($sp) -/* 114EA4 7F0E0374 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 114EA8 7F0E0378 240E0001 */ li $t6, 1 -/* 114EAC 7F0E037C 01B84021 */ addu $t0, $t5, $t8 -/* 114EB0 7F0E0380 1000091E */ b .L7F0E27FC -/* 114EB4 7F0E0384 A10EA801 */ sb $t6, -0x57ff($t0) -.L7F0E0388: -/* 114EB8 7F0E0388 25890001 */ addiu $t1, $t4, 1 -/* 114EBC 7F0E038C 29214000 */ slti $at, $t1, 0x4000 -/* 114EC0 7F0E0390 1420091A */ bnez $at, .L7F0E27FC -/* 114EC4 7F0E0394 97AA0292 */ lhu $t2, 0x292($sp) -/* 114EC8 7F0E0398 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 114ECC 7F0E039C 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 114ED0 7F0E03A0 000A5A03 */ sra $t3, $t2, 8 -/* 114ED4 7F0E03A4 240D0001 */ li $t5, 1 -/* 114ED8 7F0E03A8 032C7821 */ addu $t7, $t9, $t4 -/* 114EDC 7F0E03AC A1EB0001 */ sb $t3, 1($t7) -/* 114EE0 7F0E03B0 97B8008A */ lhu $t8, 0x8a($sp) -/* 114EE4 7F0E03B4 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 114EE8 7F0E03B8 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 114EEC 7F0E03BC 270E0001 */ addiu $t6, $t8, 1 -/* 114EF0 7F0E03C0 31C81800 */ andi $t0, $t6, 0x1800 -/* 114EF4 7F0E03C4 000848C3 */ sra $t1, $t0, 3 -/* 114EF8 7F0E03C8 31CA00FF */ andi $t2, $t6, 0xff -/* 114EFC 7F0E03CC 012AC825 */ or $t9, $t1, $t2 -/* 114F00 7F0E03D0 01995821 */ addu $t3, $t4, $t9 -/* 114F04 7F0E03D4 10000909 */ b .L7F0E27FC -/* 114F08 7F0E03D8 A16D0000 */ sb $t5, ($t3) -spectrum_op_ED_74: -/* 114F0C 7F0E03DC 00108023 */ negu $s0, $s0 -/* 114F10 7F0E03E0 320800FF */ andi $t0, $s0, 0xff -/* 114F14 7F0E03E4 8FAF028C */ lw $t7, 0x28c($sp) -/* 114F18 7F0E03E8 2D0E0001 */ sltiu $t6, $t0, 1 -/* 114F1C 7F0E03EC 310D000F */ andi $t5, $t0, 0xf -/* 114F20 7F0E03F0 01008025 */ move $s0, $t0 -/* 114F24 7F0E03F4 310900A8 */ andi $t1, $t0, 0xa8 -/* 114F28 7F0E03F8 25F80004 */ addiu $t8, $t7, 4 -/* 114F2C 7F0E03FC 39080080 */ xori $t0, $t0, 0x80 -/* 114F30 7F0E0400 000D582A */ slt $t3, $zero, $t5 -/* 114F34 7F0E0404 000E6180 */ sll $t4, $t6, 6 -/* 114F38 7F0E0408 AFB8028C */ sw $t8, 0x28c($sp) -/* 114F3C 7F0E040C 012CC825 */ or $t9, $t1, $t4 -/* 114F40 7F0E0410 000B7900 */ sll $t7, $t3, 4 -/* 114F44 7F0E0414 2D080001 */ sltiu $t0, $t0, 1 -/* 114F48 7F0E0418 AFAE0048 */ sw $t6, 0x48($sp) -/* 114F4C 7F0E041C 00087080 */ sll $t6, $t0, 2 -/* 114F50 7F0E0420 032FC025 */ or $t8, $t9, $t7 -/* 114F54 7F0E0424 030E5025 */ or $t2, $t8, $t6 -/* 114F58 7F0E0428 35490002 */ ori $t1, $t2, 2 -/* 114F5C 7F0E042C 0010602A */ slt $t4, $zero, $s0 -/* 114F60 7F0E0430 012C8825 */ or $s1, $t1, $t4 -/* 114F64 7F0E0434 322D00FF */ andi $t5, $s1, 0xff -/* 114F68 7F0E0438 100008F0 */ b .L7F0E27FC -/* 114F6C 7F0E043C 01A08825 */ move $s1, $t5 -spectrum_op_ED_75: -/* 114F70 7F0E0440 8FAB028C */ lw $t3, 0x28c($sp) -/* 114F74 7F0E0444 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 114F78 7F0E0448 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 114F7C 7F0E044C 97B80292 */ lhu $t8, 0x292($sp) -/* 114F80 7F0E0450 25790004 */ addiu $t9, $t3, 4 -/* 114F84 7F0E0454 AFB9028C */ sw $t9, 0x28c($sp) -/* 114F88 7F0E0458 27280006 */ addiu $t0, $t9, 6 -/* 114F8C 7F0E045C AFA8028C */ sw $t0, 0x28c($sp) -/* 114F90 7F0E0460 01D86021 */ addu $t4, $t6, $t8 -/* 114F94 7F0E0464 918D0001 */ lbu $t5, 1($t4) -/* 114F98 7F0E0468 030E5021 */ addu $t2, $t8, $t6 -/* 114F9C 7F0E046C 91490000 */ lbu $t1, ($t2) -/* 114FA0 7F0E0470 000D5A00 */ sll $t3, $t5, 8 -/* 114FA4 7F0E0474 270F0002 */ addiu $t7, $t8, 2 -/* 114FA8 7F0E0478 012BC825 */ or $t9, $t1, $t3 -/* 114FAC 7F0E047C A7B90298 */ sh $t9, 0x298($sp) -/* 114FB0 7F0E0480 100008DE */ b .L7F0E27FC -/* 114FB4 7F0E0484 A7AF0292 */ sh $t7, 0x292($sp) -spectrum_op_ED_76: -/* 114FB8 7F0E0488 8FA8028C */ lw $t0, 0x28c($sp) -/* 114FBC 7F0E048C 240E0002 */ li $t6, 2 -/* 114FC0 7F0E0490 A3AE029B */ sb $t6, 0x29b($sp) -/* 114FC4 7F0E0494 250A0004 */ addiu $t2, $t0, 4 -/* 114FC8 7F0E0498 100008D8 */ b .L7F0E27FC -/* 114FCC 7F0E049C AFAA028C */ sw $t2, 0x28c($sp) -spectrum_op_ED_78: -/* 114FD0 7F0E04A0 8FAC028C */ lw $t4, 0x28c($sp) -/* 114FD4 7F0E04A4 02402825 */ move $a1, $s2 -/* 114FD8 7F0E04A8 02603025 */ move $a2, $s3 -/* 114FDC 7F0E04AC 25840008 */ addiu $a0, $t4, 8 -/* 114FE0 7F0E04B0 0FC34DB6 */ jal spectrum_input_handling -/* 114FE4 7F0E04B4 AFA4028C */ sw $a0, 0x28c($sp) -/* 114FE8 7F0E04B8 8FA9028C */ lw $t1, 0x28c($sp) -/* 114FEC 7F0E04BC 304BFFFF */ andi $t3, $v0, 0xffff -/* 114FF0 7F0E04C0 000BCA03 */ sra $t9, $t3, 8 -/* 114FF4 7F0E04C4 A7A20088 */ sh $v0, 0x88($sp) -/* 114FF8 7F0E04C8 0139C021 */ addu $t8, $t1, $t9 -/* 114FFC 7F0E04CC 93B00089 */ lbu $s0, 0x89($sp) -/* 115000 7F0E04D0 3C098009 */ lui $t1, %hi(ptr_pc_keyboard_table_alloc) -/* 115004 7F0E04D4 8D29E334 */ lw $t1, %lo(ptr_pc_keyboard_table_alloc)($t1) -/* 115008 7F0E04D8 2E0F0001 */ sltiu $t7, $s0, 1 -/* 11500C 7F0E04DC AFAF0048 */ sw $t7, 0x48($sp) -/* 115010 7F0E04E0 AFB8028C */ sw $t8, 0x28c($sp) -/* 115014 7F0E04E4 0209C821 */ addu $t9, $s0, $t1 -/* 115018 7F0E04E8 93380000 */ lbu $t8, ($t9) -/* 11501C 7F0E04EC 32280001 */ andi $t0, $s1, 1 -/* 115020 7F0E04F0 320A00A8 */ andi $t2, $s0, 0xa8 -/* 115024 7F0E04F4 010A7025 */ or $t6, $t0, $t2 -/* 115028 7F0E04F8 000F6980 */ sll $t5, $t7, 6 -/* 11502C 7F0E04FC 01CD5825 */ or $t3, $t6, $t5 -/* 115030 7F0E0500 030B8825 */ or $s1, $t8, $t3 -/* 115034 7F0E0504 322F00FF */ andi $t7, $s1, 0xff -/* 115038 7F0E0508 100008BC */ b .L7F0E27FC -/* 11503C 7F0E050C 01E08825 */ move $s1, $t7 -spectrum_op_ED_79: -/* 115040 7F0E0510 8FA8028C */ lw $t0, 0x28c($sp) -/* 115044 7F0E0514 02402825 */ move $a1, $s2 -/* 115048 7F0E0518 02603025 */ move $a2, $s3 -/* 11504C 7F0E051C 25040008 */ addiu $a0, $t0, 8 -/* 115050 7F0E0520 AFA4028C */ sw $a0, 0x28c($sp) -/* 115054 7F0E0524 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 115058 7F0E0528 02003825 */ move $a3, $s0 -/* 11505C 7F0E052C 8FAC028C */ lw $t4, 0x28c($sp) -/* 115060 7F0E0530 AFA20048 */ sw $v0, 0x48($sp) -/* 115064 7F0E0534 01826821 */ addu $t5, $t4, $v0 -/* 115068 7F0E0538 100008B0 */ b .L7F0E27FC -/* 11506C 7F0E053C AFAD028C */ sw $t5, 0x28c($sp) -spectrum_op_ED_7A: -/* 115070 7F0E0540 97B80292 */ lhu $t8, 0x292($sp) -/* 115074 7F0E0544 00165A00 */ sll $t3, $s6, 8 -/* 115078 7F0E0548 8FA9028C */ lw $t1, 0x28c($sp) -/* 11507C 7F0E054C 01777825 */ or $t7, $t3, $s7 -/* 115080 7F0E0550 322A0001 */ andi $t2, $s1, 1 -/* 115084 7F0E0554 01F84021 */ addu $t0, $t7, $t8 -/* 115088 7F0E0558 010A6021 */ addu $t4, $t0, $t2 -/* 11508C 7F0E055C 2539000B */ addiu $t9, $t1, 0xb -/* 115090 7F0E0560 AFB9028C */ sw $t9, 0x28c($sp) -/* 115094 7F0E0564 000C4A02 */ srl $t1, $t4, 8 -/* 115098 7F0E0568 313900A8 */ andi $t9, $t1, 0xa8 -/* 11509C 7F0E056C 318EFFFF */ andi $t6, $t4, 0xffff -/* 1150A0 7F0E0570 000C5C02 */ srl $t3, $t4, 0x10 -/* 1150A4 7F0E0574 00164200 */ sll $t0, $s6, 8 -/* 1150A8 7F0E0578 01175025 */ or $t2, $t0, $s7 -/* 1150AC 7F0E057C 032B7825 */ or $t7, $t9, $t3 -/* 1150B0 7F0E0580 2DCD0001 */ sltiu $t5, $t6, 1 -/* 1150B4 7F0E0584 314E0FFF */ andi $t6, $t2, 0xfff -/* 1150B8 7F0E0588 33190FFF */ andi $t9, $t8, 0xfff -/* 1150BC 7F0E058C 01D95821 */ addu $t3, $t6, $t9 -/* 1150C0 7F0E0590 32280001 */ andi $t0, $s1, 1 -/* 1150C4 7F0E0594 01685021 */ addu $t2, $t3, $t0 -/* 1150C8 7F0E0598 24010FFF */ li $at, 4095 -/* 1150CC 7F0E059C 002A702A */ slt $t6, $at, $t2 -/* 1150D0 7F0E05A0 000EC900 */ sll $t9, $t6, 4 -/* 1150D4 7F0E05A4 01F95825 */ or $t3, $t7, $t9 -/* 1150D8 7F0E05A8 00164200 */ sll $t0, $s6, 8 -/* 1150DC 7F0E05AC 01175027 */ nor $t2, $t0, $s7 -/* 1150E0 7F0E05B0 00167A00 */ sll $t7, $s6, 8 -/* 1150E4 7F0E05B4 01F7C825 */ or $t9, $t7, $s7 -/* 1150E8 7F0E05B8 032C4026 */ xor $t0, $t9, $t4 -/* 1150EC 7F0E05BC 01587026 */ xor $t6, $t2, $t8 -/* 1150F0 7F0E05C0 01C85024 */ and $t2, $t6, $t0 -/* 1150F4 7F0E05C4 A7B80086 */ sh $t8, 0x86($sp) -/* 1150F8 7F0E05C8 31588000 */ andi $t8, $t2, 0x8000 -/* 1150FC 7F0E05CC 00187B42 */ srl $t7, $t8, 0xd -/* 115100 7F0E05D0 AFAC0080 */ sw $t4, 0x80($sp) -/* 115104 7F0E05D4 000D6180 */ sll $t4, $t5, 6 -/* 115108 7F0E05D8 016FC825 */ or $t9, $t3, $t7 -/* 11510C 7F0E05DC 032C8825 */ or $s1, $t9, $t4 -/* 115110 7F0E05E0 362E0002 */ ori $t6, $s1, 2 -/* 115114 7F0E05E4 31D100FF */ andi $s1, $t6, 0xff -/* 115118 7F0E05E8 93B70083 */ lbu $s7, 0x83($sp) -/* 11511C 7F0E05EC 313600FF */ andi $s6, $t1, 0xff -/* 115120 7F0E05F0 10000882 */ b .L7F0E27FC -/* 115124 7F0E05F4 AFAD0048 */ sw $t5, 0x48($sp) -spectrum_op_ED_7B: -/* 115128 7F0E05F8 8FAA028C */ lw $t2, 0x28c($sp) -/* 11512C 7F0E05FC 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 115130 7F0E0600 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 115134 7F0E0604 97AB0298 */ lhu $t3, 0x298($sp) -/* 115138 7F0E0608 25580010 */ addiu $t8, $t2, 0x10 -/* 11513C 7F0E060C AFB8028C */ sw $t8, 0x28c($sp) -/* 115140 7F0E0610 01EB6021 */ addu $t4, $t7, $t3 -/* 115144 7F0E0614 918E0001 */ lbu $t6, 1($t4) -/* 115148 7F0E0618 016F6821 */ addu $t5, $t3, $t7 -/* 11514C 7F0E061C 91B90000 */ lbu $t9, ($t5) -/* 115150 7F0E0620 000E4200 */ sll $t0, $t6, 8 -/* 115154 7F0E0624 256A0002 */ addiu $t2, $t3, 2 -/* 115158 7F0E0628 03284825 */ or $t1, $t9, $t0 -/* 11515C 7F0E062C 3138FFFF */ andi $t8, $t1, 0xffff -/* 115160 7F0E0630 A7A9007E */ sh $t1, 0x7e($sp) -/* 115164 7F0E0634 A7AA0298 */ sh $t2, 0x298($sp) -/* 115168 7F0E0638 01F87021 */ addu $t6, $t7, $t8 -/* 11516C 7F0E063C 91D90001 */ lbu $t9, 1($t6) -/* 115170 7F0E0640 030F6821 */ addu $t5, $t8, $t7 -/* 115174 7F0E0644 91AC0000 */ lbu $t4, ($t5) -/* 115178 7F0E0648 00194200 */ sll $t0, $t9, 8 -/* 11517C 7F0E064C 01884825 */ or $t1, $t4, $t0 -/* 115180 7F0E0650 1000086A */ b .L7F0E27FC -/* 115184 7F0E0654 A7A90292 */ sh $t1, 0x292($sp) -spectrum_op_ED_7C: -/* 115188 7F0E0658 00108023 */ negu $s0, $s0 -/* 11518C 7F0E065C 320D00FF */ andi $t5, $s0, 0xff -/* 115190 7F0E0660 8FAB028C */ lw $t3, 0x28c($sp) -/* 115194 7F0E0664 2DAF0001 */ sltiu $t7, $t5, 1 -/* 115198 7F0E0668 31A8000F */ andi $t0, $t5, 0xf -/* 11519C 7F0E066C 01A08025 */ move $s0, $t5 -/* 1151A0 7F0E0670 31B800A8 */ andi $t8, $t5, 0xa8 -/* 1151A4 7F0E0674 256A0004 */ addiu $t2, $t3, 4 -/* 1151A8 7F0E0678 39AD0080 */ xori $t5, $t5, 0x80 -/* 1151AC 7F0E067C 0008482A */ slt $t1, $zero, $t0 -/* 1151B0 7F0E0680 000FC980 */ sll $t9, $t7, 6 -/* 1151B4 7F0E0684 AFAA028C */ sw $t2, 0x28c($sp) -/* 1151B8 7F0E0688 03196025 */ or $t4, $t8, $t9 -/* 1151BC 7F0E068C 00095900 */ sll $t3, $t1, 4 -/* 1151C0 7F0E0690 2DAD0001 */ sltiu $t5, $t5, 1 -/* 1151C4 7F0E0694 AFAF0048 */ sw $t7, 0x48($sp) -/* 1151C8 7F0E0698 000D7880 */ sll $t7, $t5, 2 -/* 1151CC 7F0E069C 018B5025 */ or $t2, $t4, $t3 -/* 1151D0 7F0E06A0 014F7025 */ or $t6, $t2, $t7 -/* 1151D4 7F0E06A4 35D80002 */ ori $t8, $t6, 2 -/* 1151D8 7F0E06A8 0010C82A */ slt $t9, $zero, $s0 -/* 1151DC 7F0E06AC 03198825 */ or $s1, $t8, $t9 -/* 1151E0 7F0E06B0 322800FF */ andi $t0, $s1, 0xff -/* 1151E4 7F0E06B4 10000851 */ b .L7F0E27FC -/* 1151E8 7F0E06B8 01008825 */ move $s1, $t0 -spectrum_op_ED_7D: -/* 1151EC 7F0E06BC 8FA9028C */ lw $t1, 0x28c($sp) -/* 1151F0 7F0E06C0 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1151F4 7F0E06C4 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1151F8 7F0E06C8 97AA0292 */ lhu $t2, 0x292($sp) -/* 1151FC 7F0E06CC 252C0004 */ addiu $t4, $t1, 4 -/* 115200 7F0E06D0 AFAC028C */ sw $t4, 0x28c($sp) -/* 115204 7F0E06D4 258D0006 */ addiu $t5, $t4, 6 -/* 115208 7F0E06D8 AFAD028C */ sw $t5, 0x28c($sp) -/* 11520C 7F0E06DC 01EAC821 */ addu $t9, $t7, $t2 -/* 115210 7F0E06E0 93280001 */ lbu $t0, 1($t9) -/* 115214 7F0E06E4 014F7021 */ addu $t6, $t2, $t7 -/* 115218 7F0E06E8 91D80000 */ lbu $t8, ($t6) -/* 11521C 7F0E06EC 00084A00 */ sll $t1, $t0, 8 -/* 115220 7F0E06F0 254B0002 */ addiu $t3, $t2, 2 -/* 115224 7F0E06F4 03096025 */ or $t4, $t8, $t1 -/* 115228 7F0E06F8 A7AC0298 */ sh $t4, 0x298($sp) -/* 11522C 7F0E06FC 1000083F */ b .L7F0E27FC -/* 115230 7F0E0700 A7AB0292 */ sh $t3, 0x292($sp) -spectrum_op_ED_7E: -/* 115234 7F0E0704 8FAD028C */ lw $t5, 0x28c($sp) -/* 115238 7F0E0708 240F0003 */ li $t7, 3 -/* 11523C 7F0E070C A3AF029B */ sb $t7, 0x29b($sp) -/* 115240 7F0E0710 25AE0004 */ addiu $t6, $t5, 4 -/* 115244 7F0E0714 10000839 */ b .L7F0E27FC -/* 115248 7F0E0718 AFAE028C */ sw $t6, 0x28c($sp) -spectrum_op_ED_A0: -/* 11524C 7F0E071C 8FB9028C */ lw $t9, 0x28c($sp) -/* 115250 7F0E0720 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 115254 7F0E0724 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 115258 7F0E0728 0016C200 */ sll $t8, $s6, 8 -/* 11525C 7F0E072C 03174825 */ or $t1, $t8, $s7 -/* 115260 7F0E0730 2728000C */ addiu $t0, $t9, 0xc -/* 115264 7F0E0734 AFA8028C */ sw $t0, 0x28c($sp) -/* 115268 7F0E0738 00146A00 */ sll $t5, $s4, 8 -/* 11526C 7F0E073C 012C5021 */ addu $t2, $t1, $t4 -/* 115270 7F0E0740 914B0000 */ lbu $t3, ($t2) -/* 115274 7F0E0744 01B57025 */ or $t6, $t5, $s5 -/* 115278 7F0E0748 29C15B00 */ slti $at, $t6, 0x5b00 -/* 11527C 7F0E074C 14200008 */ bnez $at, .L7F0E0770 -/* 115280 7F0E0750 A3AB007D */ sb $t3, 0x7d($sp) -/* 115284 7F0E0754 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 115288 7F0E0758 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 11528C 7F0E075C 00144200 */ sll $t0, $s4, 8 -/* 115290 7F0E0760 0115C025 */ or $t8, $t0, $s5 -/* 115294 7F0E0764 03384821 */ addu $t1, $t9, $t8 -/* 115298 7F0E0768 1000002B */ b .L7F0E0818 -/* 11529C 7F0E076C A12B0000 */ sb $t3, ($t1) -.L7F0E0770: -/* 1152A0 7F0E0770 00146200 */ sll $t4, $s4, 8 -/* 1152A4 7F0E0774 01955025 */ or $t2, $t4, $s5 -/* 1152A8 7F0E0778 29415800 */ slti $at, $t2, 0x5800 -/* 1152AC 7F0E077C 14200010 */ bnez $at, .L7F0E07C0 -/* 1152B0 7F0E0780 00147200 */ sll $t6, $s4, 8 -/* 1152B4 7F0E0784 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1152B8 7F0E0788 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1152BC 7F0E078C 93AB007D */ lbu $t3, 0x7d($sp) -/* 1152C0 7F0E0790 00147200 */ sll $t6, $s4, 8 -/* 1152C4 7F0E0794 01D54025 */ or $t0, $t6, $s5 -/* 1152C8 7F0E0798 01A8C821 */ addu $t9, $t5, $t0 -/* 1152CC 7F0E079C 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 1152D0 7F0E07A0 A32B0000 */ sb $t3, ($t9) -/* 1152D4 7F0E07A4 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 1152D8 7F0E07A8 00144A00 */ sll $t1, $s4, 8 -/* 1152DC 7F0E07AC 01356025 */ or $t4, $t1, $s5 -/* 1152E0 7F0E07B0 24180001 */ li $t8, 1 -/* 1152E4 7F0E07B4 01EC5021 */ addu $t2, $t7, $t4 -/* 1152E8 7F0E07B8 10000017 */ b .L7F0E0818 -/* 1152EC 7F0E07BC A158A800 */ sb $t8, -0x5800($t2) -.L7F0E07C0: -/* 1152F0 7F0E07C0 01D56825 */ or $t5, $t6, $s5 -/* 1152F4 7F0E07C4 29A14000 */ slti $at, $t5, 0x4000 -/* 1152F8 7F0E07C8 14200013 */ bnez $at, .L7F0E0818 -/* 1152FC 7F0E07CC 93A8007D */ lbu $t0, 0x7d($sp) -/* 115300 7F0E07D0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 115304 7F0E07D4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 115308 7F0E07D8 0014CA00 */ sll $t9, $s4, 8 -/* 11530C 7F0E07DC 03354825 */ or $t1, $t9, $s5 -/* 115310 7F0E07E0 01697821 */ addu $t7, $t3, $t1 -/* 115314 7F0E07E4 A1E80000 */ sb $t0, ($t7) -/* 115318 7F0E07E8 0014C200 */ sll $t8, $s4, 8 -/* 11531C 7F0E07EC 03155025 */ or $t2, $t8, $s5 -/* 115320 7F0E07F0 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 115324 7F0E07F4 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 115328 7F0E07F8 314E1800 */ andi $t6, $t2, 0x1800 -/* 11532C 7F0E07FC 03355825 */ or $t3, $t9, $s5 -/* 115330 7F0E0800 316900FF */ andi $t1, $t3, 0xff -/* 115334 7F0E0804 000E68C3 */ sra $t5, $t6, 3 -/* 115338 7F0E0808 01A94025 */ or $t0, $t5, $t1 -/* 11533C 7F0E080C 240C0001 */ li $t4, 1 -/* 115340 7F0E0810 01E8C021 */ addu $t8, $t7, $t0 -/* 115344 7F0E0814 A30C0000 */ sb $t4, ($t8) -.L7F0E0818: -/* 115348 7F0E0818 26F70001 */ addiu $s7, $s7, 1 -/* 11534C 7F0E081C 32EA00FF */ andi $t2, $s7, 0xff -/* 115350 7F0E0820 15400004 */ bnez $t2, .L7F0E0834 -/* 115354 7F0E0824 0140B825 */ move $s7, $t2 -/* 115358 7F0E0828 26D60001 */ addiu $s6, $s6, 1 -/* 11535C 7F0E082C 32CE00FF */ andi $t6, $s6, 0xff -/* 115360 7F0E0830 01C0B025 */ move $s6, $t6 -.L7F0E0834: -/* 115364 7F0E0834 26B50001 */ addiu $s5, $s5, 1 -/* 115368 7F0E0838 32B900FF */ andi $t9, $s5, 0xff -/* 11536C 7F0E083C 17200004 */ bnez $t9, .L7F0E0850 -/* 115370 7F0E0840 0320A825 */ move $s5, $t9 -/* 115374 7F0E0844 26940001 */ addiu $s4, $s4, 1 -/* 115378 7F0E0848 328B00FF */ andi $t3, $s4, 0xff -/* 11537C 7F0E084C 0160A025 */ move $s4, $t3 -.L7F0E0850: -/* 115380 7F0E0850 2E6D0001 */ sltiu $t5, $s3, 1 -/* 115384 7F0E0854 2673FFFF */ addiu $s3, $s3, -1 -/* 115388 7F0E0858 326900FF */ andi $t1, $s3, 0xff -/* 11538C 7F0E085C 01209825 */ move $s3, $t1 -/* 115390 7F0E0860 11A00004 */ beqz $t5, .L7F0E0874 -/* 115394 7F0E0864 AFAD0048 */ sw $t5, 0x48($sp) -/* 115398 7F0E0868 2652FFFF */ addiu $s2, $s2, -1 -/* 11539C 7F0E086C 324800FF */ andi $t0, $s2, 0xff -/* 1153A0 7F0E0870 01009025 */ move $s2, $t0 -.L7F0E0874: -/* 1153A4 7F0E0874 93B8007D */ lbu $t8, 0x7d($sp) -/* 1153A8 7F0E0878 0253C825 */ or $t9, $s2, $s3 -/* 1153AC 7F0E087C 0019582A */ slt $t3, $zero, $t9 -/* 1153B0 7F0E0880 322C00C1 */ andi $t4, $s1, 0xc1 -/* 1153B4 7F0E0884 330A0028 */ andi $t2, $t8, 0x28 -/* 1153B8 7F0E0888 018A7025 */ or $t6, $t4, $t2 -/* 1153BC 7F0E088C 000B6880 */ sll $t5, $t3, 2 -/* 1153C0 7F0E0890 01CD8825 */ or $s1, $t6, $t5 -/* 1153C4 7F0E0894 322900FF */ andi $t1, $s1, 0xff -/* 1153C8 7F0E0898 100007D8 */ b .L7F0E27FC -/* 1153CC 7F0E089C 01208825 */ move $s1, $t1 -spectrum_op_ED_A1: -/* 1153D0 7F0E08A0 8FAF028C */ lw $t7, 0x28c($sp) -/* 1153D4 7F0E08A4 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 1153D8 7F0E08A8 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 1153DC 7F0E08AC 00166200 */ sll $t4, $s6, 8 -/* 1153E0 7F0E08B0 32380001 */ andi $t8, $s1, 1 -/* 1153E4 7F0E08B4 01975025 */ or $t2, $t4, $s7 -/* 1153E8 7F0E08B8 25E8000C */ addiu $t0, $t7, 0xc -/* 1153EC 7F0E08BC AFA8028C */ sw $t0, 0x28c($sp) -/* 1153F0 7F0E08C0 A3B8007C */ sb $t8, 0x7c($sp) -/* 1153F4 7F0E08C4 01595821 */ addu $t3, $t2, $t9 -/* 1153F8 7F0E08C8 916E0000 */ lbu $t6, ($t3) -/* 1153FC 7F0E08CC 26F70001 */ addiu $s7, $s7, 1 -/* 115400 7F0E08D0 020E6823 */ subu $t5, $s0, $t6 -/* 115404 7F0E08D4 31A901FF */ andi $t1, $t5, 0x1ff -/* 115408 7F0E08D8 312FFFFF */ andi $t7, $t1, 0xffff -/* 11540C 7F0E08DC 2DE80001 */ sltiu $t0, $t7, 1 -/* 115410 7F0E08E0 320F000F */ andi $t7, $s0, 0xf -/* 115414 7F0E08E4 31CD000F */ andi $t5, $t6, 0xf -/* 115418 7F0E08E8 01EDC02A */ slt $t8, $t7, $t5 -/* 11541C 7F0E08EC 312C00A8 */ andi $t4, $t1, 0xa8 -/* 115420 7F0E08F0 0009CA03 */ sra $t9, $t1, 8 -/* 115424 7F0E08F4 01995825 */ or $t3, $t4, $t9 -/* 115428 7F0E08F8 00185100 */ sll $t2, $t8, 4 -/* 11542C 7F0E08FC 01206825 */ move $t5, $t1 -/* 115430 7F0E0900 020EC826 */ xor $t9, $s0, $t6 -/* 115434 7F0E0904 332F0080 */ andi $t7, $t9, 0x80 -/* 115438 7F0E0908 01B0C026 */ xor $t8, $t5, $s0 -/* 11543C 7F0E090C 016A6025 */ or $t4, $t3, $t2 -/* 115440 7F0E0910 01F85824 */ and $t3, $t7, $t8 -/* 115444 7F0E0914 000B5143 */ sra $t2, $t3, 5 -/* 115448 7F0E0918 A3AE0079 */ sb $t6, 0x79($sp) -/* 11544C 7F0E091C 018A7025 */ or $t6, $t4, $t2 -/* 115450 7F0E0920 A7A9007A */ sh $t1, 0x7a($sp) -/* 115454 7F0E0924 00084980 */ sll $t1, $t0, 6 -/* 115458 7F0E0928 35D90002 */ ori $t9, $t6, 2 -/* 11545C 7F0E092C 03298825 */ or $s1, $t9, $t1 -/* 115460 7F0E0930 322D00FF */ andi $t5, $s1, 0xff -/* 115464 7F0E0934 32EF00FF */ andi $t7, $s7, 0xff -/* 115468 7F0E0938 01A08825 */ move $s1, $t5 -/* 11546C 7F0E093C AFA80048 */ sw $t0, 0x48($sp) -/* 115470 7F0E0940 15E00004 */ bnez $t7, .L7F0E0954 -/* 115474 7F0E0944 01E0B825 */ move $s7, $t7 -/* 115478 7F0E0948 26D60001 */ addiu $s6, $s6, 1 -/* 11547C 7F0E094C 32D800FF */ andi $t8, $s6, 0xff -/* 115480 7F0E0950 0300B025 */ move $s6, $t8 -.L7F0E0954: -/* 115484 7F0E0954 2E6B0001 */ sltiu $t3, $s3, 1 -/* 115488 7F0E0958 2673FFFF */ addiu $s3, $s3, -1 -/* 11548C 7F0E095C 326C00FF */ andi $t4, $s3, 0xff -/* 115490 7F0E0960 01809825 */ move $s3, $t4 -/* 115494 7F0E0964 11600004 */ beqz $t3, .L7F0E0978 -/* 115498 7F0E0968 AFAB0048 */ sw $t3, 0x48($sp) -/* 11549C 7F0E096C 2652FFFF */ addiu $s2, $s2, -1 -/* 1154A0 7F0E0970 324E00FF */ andi $t6, $s2, 0xff -/* 1154A4 7F0E0974 01C09025 */ move $s2, $t6 -.L7F0E0978: -/* 1154A8 7F0E0978 93B9007C */ lbu $t9, 0x7c($sp) -/* 1154AC 7F0E097C 02536825 */ or $t5, $s2, $s3 -/* 1154B0 7F0E0980 000D782A */ slt $t7, $zero, $t5 -/* 1154B4 7F0E0984 322800FA */ andi $t0, $s1, 0xfa -/* 1154B8 7F0E0988 000FC080 */ sll $t8, $t7, 2 -/* 1154BC 7F0E098C 01194825 */ or $t1, $t0, $t9 -/* 1154C0 7F0E0990 01388825 */ or $s1, $t1, $t8 -/* 1154C4 7F0E0994 322B00FF */ andi $t3, $s1, 0xff -/* 1154C8 7F0E0998 10000798 */ b .L7F0E27FC -/* 1154CC 7F0E099C 01608825 */ move $s1, $t3 -spectrum_op_ED_A2: -/* 1154D0 7F0E09A0 8FAC028C */ lw $t4, 0x28c($sp) -/* 1154D4 7F0E09A4 02402825 */ move $a1, $s2 -/* 1154D8 7F0E09A8 02603025 */ move $a2, $s3 -/* 1154DC 7F0E09AC 2584000C */ addiu $a0, $t4, 0xc -/* 1154E0 7F0E09B0 0FC34DB6 */ jal spectrum_input_handling -/* 1154E4 7F0E09B4 AFA4028C */ sw $a0, 0x28c($sp) -/* 1154E8 7F0E09B8 00167200 */ sll $t6, $s6, 8 -/* 1154EC 7F0E09BC 01D74025 */ or $t0, $t6, $s7 -/* 1154F0 7F0E09C0 29015B00 */ slti $at, $t0, 0x5b00 -/* 1154F4 7F0E09C4 14200008 */ bnez $at, .L7F0E09E8 -/* 1154F8 7F0E09C8 A7A20076 */ sh $v0, 0x76($sp) -/* 1154FC 7F0E09CC 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 115500 7F0E09D0 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 115504 7F0E09D4 00167A00 */ sll $t7, $s6, 8 -/* 115508 7F0E09D8 01F74825 */ or $t1, $t7, $s7 -/* 11550C 7F0E09DC 01A9C021 */ addu $t8, $t5, $t1 -/* 115510 7F0E09E0 1000002B */ b .L7F0E0A90 -/* 115514 7F0E09E4 A3020000 */ sb $v0, ($t8) -.L7F0E09E8: -/* 115518 7F0E09E8 00165A00 */ sll $t3, $s6, 8 -/* 11551C 7F0E09EC 01776025 */ or $t4, $t3, $s7 -/* 115520 7F0E09F0 29815800 */ slti $at, $t4, 0x5800 -/* 115524 7F0E09F4 14200010 */ bnez $at, .L7F0E0A38 -/* 115528 7F0E09F8 00164200 */ sll $t0, $s6, 8 -/* 11552C 7F0E09FC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 115530 7F0E0A00 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 115534 7F0E0A04 97AA0076 */ lhu $t2, 0x76($sp) -/* 115538 7F0E0A08 00164200 */ sll $t0, $s6, 8 -/* 11553C 7F0E0A0C 01177825 */ or $t7, $t0, $s7 -/* 115540 7F0E0A10 01CF6821 */ addu $t5, $t6, $t7 -/* 115544 7F0E0A14 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 115548 7F0E0A18 A1AA0000 */ sb $t2, ($t5) -/* 11554C 7F0E0A1C 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 115550 7F0E0A20 0016C200 */ sll $t8, $s6, 8 -/* 115554 7F0E0A24 03175825 */ or $t3, $t8, $s7 -/* 115558 7F0E0A28 24090001 */ li $t1, 1 -/* 11555C 7F0E0A2C 032B6021 */ addu $t4, $t9, $t3 -/* 115560 7F0E0A30 10000017 */ b .L7F0E0A90 -/* 115564 7F0E0A34 A189A800 */ sb $t1, -0x5800($t4) -.L7F0E0A38: -/* 115568 7F0E0A38 01177025 */ or $t6, $t0, $s7 -/* 11556C 7F0E0A3C 29C14000 */ slti $at, $t6, 0x4000 -/* 115570 7F0E0A40 14200013 */ bnez $at, .L7F0E0A90 -/* 115574 7F0E0A44 97AF0076 */ lhu $t7, 0x76($sp) -/* 115578 7F0E0A48 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 11557C 7F0E0A4C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 115580 7F0E0A50 00166A00 */ sll $t5, $s6, 8 -/* 115584 7F0E0A54 01B7C025 */ or $t8, $t5, $s7 -/* 115588 7F0E0A58 0158C821 */ addu $t9, $t2, $t8 -/* 11558C 7F0E0A5C A32F0000 */ sb $t7, ($t9) -/* 115590 7F0E0A60 00164A00 */ sll $t1, $s6, 8 -/* 115594 7F0E0A64 01376025 */ or $t4, $t1, $s7 -/* 115598 7F0E0A68 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 11559C 7F0E0A6C 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 1155A0 7F0E0A70 31881800 */ andi $t0, $t4, 0x1800 -/* 1155A4 7F0E0A74 01B75025 */ or $t2, $t5, $s7 -/* 1155A8 7F0E0A78 315800FF */ andi $t8, $t2, 0xff -/* 1155AC 7F0E0A7C 000870C3 */ sra $t6, $t0, 3 -/* 1155B0 7F0E0A80 01D87825 */ or $t7, $t6, $t8 -/* 1155B4 7F0E0A84 240B0001 */ li $t3, 1 -/* 1155B8 7F0E0A88 032F4821 */ addu $t1, $t9, $t7 -/* 1155BC 7F0E0A8C A12B0000 */ sb $t3, ($t1) -.L7F0E0A90: -/* 1155C0 7F0E0A90 97A80076 */ lhu $t0, 0x76($sp) -/* 1155C4 7F0E0A94 8FAC028C */ lw $t4, 0x28c($sp) -/* 1155C8 7F0E0A98 26F70001 */ addiu $s7, $s7, 1 -/* 1155CC 7F0E0A9C 00086A03 */ sra $t5, $t0, 8 -/* 1155D0 7F0E0AA0 32EE00FF */ andi $t6, $s7, 0xff -/* 1155D4 7F0E0AA4 018D5021 */ addu $t2, $t4, $t5 -/* 1155D8 7F0E0AA8 AFAA028C */ sw $t2, 0x28c($sp) -/* 1155DC 7F0E0AAC 15C00004 */ bnez $t6, .L7F0E0AC0 -/* 1155E0 7F0E0AB0 01C0B825 */ move $s7, $t6 -/* 1155E4 7F0E0AB4 26D60001 */ addiu $s6, $s6, 1 -/* 1155E8 7F0E0AB8 32D800FF */ andi $t8, $s6, 0xff -/* 1155EC 7F0E0ABC 0300B025 */ move $s6, $t8 -.L7F0E0AC0: -/* 1155F0 7F0E0AC0 3C0D8009 */ lui $t5, %hi(ptr_pc_keyboard_table_alloc) -/* 1155F4 7F0E0AC4 8DADE334 */ lw $t5, %lo(ptr_pc_keyboard_table_alloc)($t5) -/* 1155F8 7F0E0AC8 2652FFFF */ addiu $s2, $s2, -1 -/* 1155FC 7F0E0ACC 325900FF */ andi $t9, $s2, 0xff -/* 115600 7F0E0AD0 032D5021 */ addu $t2, $t9, $t5 -/* 115604 7F0E0AD4 914E0000 */ lbu $t6, ($t2) -/* 115608 7F0E0AD8 0019582A */ slt $t3, $zero, $t9 -/* 11560C 7F0E0ADC 000B4980 */ sll $t1, $t3, 6 -/* 115610 7F0E0AE0 332F00A8 */ andi $t7, $t9, 0xa8 -/* 115614 7F0E0AE4 03209025 */ move $s2, $t9 -/* 115618 7F0E0AE8 01E94025 */ or $t0, $t7, $t1 -/* 11561C 7F0E0AEC 01D3C026 */ xor $t8, $t6, $s3 -/* 115620 7F0E0AF0 33190004 */ andi $t9, $t8, 4 -/* 115624 7F0E0AF4 350C0002 */ ori $t4, $t0, 2 -/* 115628 7F0E0AF8 032C8825 */ or $s1, $t9, $t4 -/* 11562C 7F0E0AFC 322B00FF */ andi $t3, $s1, 0xff -/* 115630 7F0E0B00 1000073E */ b .L7F0E27FC -/* 115634 7F0E0B04 01608825 */ move $s1, $t3 -spectrum_op_ED_A3: -/* 115638 7F0E0B08 8FAF028C */ lw $t7, 0x28c($sp) -/* 11563C 7F0E0B0C 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 115640 7F0E0B10 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 115644 7F0E0B14 00164200 */ sll $t0, $s6, 8 -/* 115648 7F0E0B18 01176825 */ or $t5, $t0, $s7 -/* 11564C 7F0E0B1C 25E4000C */ addiu $a0, $t7, 0xc -/* 115650 7F0E0B20 AFA4028C */ sw $a0, 0x28c($sp) -/* 115654 7F0E0B24 01AA7021 */ addu $t6, $t5, $t2 -/* 115658 7F0E0B28 91C70000 */ lbu $a3, ($t6) -/* 11565C 7F0E0B2C 02402825 */ move $a1, $s2 -/* 115660 7F0E0B30 02603025 */ move $a2, $s3 -/* 115664 7F0E0B34 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 115668 7F0E0B38 A3A70075 */ sb $a3, 0x75($sp) -/* 11566C 7F0E0B3C 8FB9028C */ lw $t9, 0x28c($sp) -/* 115670 7F0E0B40 26F70001 */ addiu $s7, $s7, 1 -/* 115674 7F0E0B44 32EF00FF */ andi $t7, $s7, 0xff -/* 115678 7F0E0B48 03225821 */ addu $t3, $t9, $v0 -/* 11567C 7F0E0B4C AFAB028C */ sw $t3, 0x28c($sp) -/* 115680 7F0E0B50 AFA20048 */ sw $v0, 0x48($sp) -/* 115684 7F0E0B54 15E00004 */ bnez $t7, .L7F0E0B68 -/* 115688 7F0E0B58 01E0B825 */ move $s7, $t7 -/* 11568C 7F0E0B5C 26D60001 */ addiu $s6, $s6, 1 -/* 115690 7F0E0B60 32C800FF */ andi $t0, $s6, 0xff -/* 115694 7F0E0B64 0100B025 */ move $s6, $t0 -.L7F0E0B68: -/* 115698 7F0E0B68 2652FFFF */ addiu $s2, $s2, -1 -/* 11569C 7F0E0B6C 324D00FF */ andi $t5, $s2, 0xff -/* 1156A0 7F0E0B70 322A0001 */ andi $t2, $s1, 1 -/* 1156A4 7F0E0B74 354E0012 */ ori $t6, $t2, 0x12 -/* 1156A8 7F0E0B78 31A900A8 */ andi $t1, $t5, 0xa8 -/* 1156AC 7F0E0B7C 2DB90001 */ sltiu $t9, $t5, 1 -/* 1156B0 7F0E0B80 00196180 */ sll $t4, $t9, 6 -/* 1156B4 7F0E0B84 01C9C025 */ or $t8, $t6, $t1 -/* 1156B8 7F0E0B88 030C8825 */ or $s1, $t8, $t4 -/* 1156BC 7F0E0B8C 322B00FF */ andi $t3, $s1, 0xff -/* 1156C0 7F0E0B90 01A09025 */ move $s2, $t5 -/* 1156C4 7F0E0B94 10000719 */ b .L7F0E27FC -/* 1156C8 7F0E0B98 01608825 */ move $s1, $t3 -spectrum_op_ED_A8: -/* 1156CC 7F0E0B9C 8FAF028C */ lw $t7, 0x28c($sp) -/* 1156D0 7F0E0BA0 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1156D4 7F0E0BA4 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1156D8 7F0E0BA8 00166A00 */ sll $t5, $s6, 8 -/* 1156DC 7F0E0BAC 01B75025 */ or $t2, $t5, $s7 -/* 1156E0 7F0E0BB0 25E8000C */ addiu $t0, $t7, 0xc -/* 1156E4 7F0E0BB4 AFA8028C */ sw $t0, 0x28c($sp) -/* 1156E8 7F0E0BB8 0014C200 */ sll $t8, $s4, 8 -/* 1156EC 7F0E0BBC 014E4821 */ addu $t1, $t2, $t6 -/* 1156F0 7F0E0BC0 91390000 */ lbu $t9, ($t1) -/* 1156F4 7F0E0BC4 03156025 */ or $t4, $t8, $s5 -/* 1156F8 7F0E0BC8 29815B00 */ slti $at, $t4, 0x5b00 -/* 1156FC 7F0E0BCC 14200008 */ bnez $at, .L7F0E0BF0 -/* 115700 7F0E0BD0 A3B90074 */ sb $t9, 0x74($sp) -/* 115704 7F0E0BD4 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 115708 7F0E0BD8 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 11570C 7F0E0BDC 00144200 */ sll $t0, $s4, 8 -/* 115710 7F0E0BE0 01156825 */ or $t5, $t0, $s5 -/* 115714 7F0E0BE4 01ED5021 */ addu $t2, $t7, $t5 -/* 115718 7F0E0BE8 1000002B */ b .L7F0E0C98 -/* 11571C 7F0E0BEC A1590000 */ sb $t9, ($t2) -.L7F0E0BF0: -/* 115720 7F0E0BF0 00147200 */ sll $t6, $s4, 8 -/* 115724 7F0E0BF4 01D54825 */ or $t1, $t6, $s5 -/* 115728 7F0E0BF8 29215800 */ slti $at, $t1, 0x5800 -/* 11572C 7F0E0BFC 14200010 */ bnez $at, .L7F0E0C40 -/* 115730 7F0E0C00 00146200 */ sll $t4, $s4, 8 -/* 115734 7F0E0C04 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 115738 7F0E0C08 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 11573C 7F0E0C0C 93B90074 */ lbu $t9, 0x74($sp) -/* 115740 7F0E0C10 00146200 */ sll $t4, $s4, 8 -/* 115744 7F0E0C14 01954025 */ or $t0, $t4, $s5 -/* 115748 7F0E0C18 03087821 */ addu $t7, $t8, $t0 -/* 11574C 7F0E0C1C 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 115750 7F0E0C20 A1F90000 */ sb $t9, ($t7) -/* 115754 7F0E0C24 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 115758 7F0E0C28 00145200 */ sll $t2, $s4, 8 -/* 11575C 7F0E0C2C 01557025 */ or $t6, $t2, $s5 -/* 115760 7F0E0C30 240D0001 */ li $t5, 1 -/* 115764 7F0E0C34 016E4821 */ addu $t1, $t3, $t6 -/* 115768 7F0E0C38 10000017 */ b .L7F0E0C98 -/* 11576C 7F0E0C3C A12DA800 */ sb $t5, -0x5800($t1) -.L7F0E0C40: -/* 115770 7F0E0C40 0195C025 */ or $t8, $t4, $s5 -/* 115774 7F0E0C44 2B014000 */ slti $at, $t8, 0x4000 -/* 115778 7F0E0C48 14200013 */ bnez $at, .L7F0E0C98 -/* 11577C 7F0E0C4C 93A80074 */ lbu $t0, 0x74($sp) -/* 115780 7F0E0C50 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 115784 7F0E0C54 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 115788 7F0E0C58 00147A00 */ sll $t7, $s4, 8 -/* 11578C 7F0E0C5C 01F55025 */ or $t2, $t7, $s5 -/* 115790 7F0E0C60 032A5821 */ addu $t3, $t9, $t2 -/* 115794 7F0E0C64 A1680000 */ sb $t0, ($t3) -/* 115798 7F0E0C68 00146A00 */ sll $t5, $s4, 8 -/* 11579C 7F0E0C6C 01B54825 */ or $t1, $t5, $s5 -/* 1157A0 7F0E0C70 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 1157A4 7F0E0C74 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 1157A8 7F0E0C78 312C1800 */ andi $t4, $t1, 0x1800 -/* 1157AC 7F0E0C7C 01F5C825 */ or $t9, $t7, $s5 -/* 1157B0 7F0E0C80 332A00FF */ andi $t2, $t9, 0xff -/* 1157B4 7F0E0C84 000CC0C3 */ sra $t8, $t4, 3 -/* 1157B8 7F0E0C88 030A4025 */ or $t0, $t8, $t2 -/* 1157BC 7F0E0C8C 240E0001 */ li $t6, 1 -/* 1157C0 7F0E0C90 01686821 */ addu $t5, $t3, $t0 -/* 1157C4 7F0E0C94 A1AE0000 */ sb $t6, ($t5) -.L7F0E0C98: -/* 1157C8 7F0E0C98 2EE90001 */ sltiu $t1, $s7, 1 -/* 1157CC 7F0E0C9C 26F7FFFF */ addiu $s7, $s7, -1 -/* 1157D0 7F0E0CA0 32EC00FF */ andi $t4, $s7, 0xff -/* 1157D4 7F0E0CA4 0180B825 */ move $s7, $t4 -/* 1157D8 7F0E0CA8 11200004 */ beqz $t1, .L7F0E0CBC -/* 1157DC 7F0E0CAC AFA90048 */ sw $t1, 0x48($sp) -/* 1157E0 7F0E0CB0 26D6FFFF */ addiu $s6, $s6, -1 -/* 1157E4 7F0E0CB4 32D900FF */ andi $t9, $s6, 0xff -/* 1157E8 7F0E0CB8 0320B025 */ move $s6, $t9 -.L7F0E0CBC: -/* 1157EC 7F0E0CBC 2EB80001 */ sltiu $t8, $s5, 1 -/* 1157F0 7F0E0CC0 26B5FFFF */ addiu $s5, $s5, -1 -/* 1157F4 7F0E0CC4 32AA00FF */ andi $t2, $s5, 0xff -/* 1157F8 7F0E0CC8 0140A825 */ move $s5, $t2 -/* 1157FC 7F0E0CCC 13000004 */ beqz $t8, .L7F0E0CE0 -/* 115800 7F0E0CD0 AFB80048 */ sw $t8, 0x48($sp) -/* 115804 7F0E0CD4 2694FFFF */ addiu $s4, $s4, -1 -/* 115808 7F0E0CD8 328800FF */ andi $t0, $s4, 0xff -/* 11580C 7F0E0CDC 0100A025 */ move $s4, $t0 -.L7F0E0CE0: -/* 115810 7F0E0CE0 2E6E0001 */ sltiu $t6, $s3, 1 -/* 115814 7F0E0CE4 2673FFFF */ addiu $s3, $s3, -1 -/* 115818 7F0E0CE8 326D00FF */ andi $t5, $s3, 0xff -/* 11581C 7F0E0CEC 01A09825 */ move $s3, $t5 -/* 115820 7F0E0CF0 11C00004 */ beqz $t6, .L7F0E0D04 -/* 115824 7F0E0CF4 AFAE0048 */ sw $t6, 0x48($sp) -/* 115828 7F0E0CF8 2652FFFF */ addiu $s2, $s2, -1 -/* 11582C 7F0E0CFC 324C00FF */ andi $t4, $s2, 0xff -/* 115830 7F0E0D00 01809025 */ move $s2, $t4 -.L7F0E0D04: -/* 115834 7F0E0D04 93B90074 */ lbu $t9, 0x74($sp) -/* 115838 7F0E0D08 02535825 */ or $t3, $s2, $s3 -/* 11583C 7F0E0D0C 000B402A */ slt $t0, $zero, $t3 -/* 115840 7F0E0D10 322F00C1 */ andi $t7, $s1, 0xc1 -/* 115844 7F0E0D14 33380028 */ andi $t8, $t9, 0x28 -/* 115848 7F0E0D18 01F85025 */ or $t2, $t7, $t8 -/* 11584C 7F0E0D1C 00087080 */ sll $t6, $t0, 2 -/* 115850 7F0E0D20 014E8825 */ or $s1, $t2, $t6 -/* 115854 7F0E0D24 322D00FF */ andi $t5, $s1, 0xff -/* 115858 7F0E0D28 100006B4 */ b .L7F0E27FC -/* 11585C 7F0E0D2C 01A08825 */ move $s1, $t5 -spectrum_op_ED_A9: -/* 115860 7F0E0D30 8FA9028C */ lw $t1, 0x28c($sp) -/* 115864 7F0E0D34 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 115868 7F0E0D38 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 11586C 7F0E0D3C 00167A00 */ sll $t7, $s6, 8 -/* 115870 7F0E0D40 32390001 */ andi $t9, $s1, 1 -/* 115874 7F0E0D44 01F7C025 */ or $t8, $t7, $s7 -/* 115878 7F0E0D48 252C000C */ addiu $t4, $t1, 0xc -/* 11587C 7F0E0D4C AFAC028C */ sw $t4, 0x28c($sp) -/* 115880 7F0E0D50 A3B90073 */ sb $t9, 0x73($sp) -/* 115884 7F0E0D54 030B4021 */ addu $t0, $t8, $t3 -/* 115888 7F0E0D58 910A0000 */ lbu $t2, ($t0) -/* 11588C 7F0E0D5C 020A7023 */ subu $t6, $s0, $t2 -/* 115890 7F0E0D60 31CD01FF */ andi $t5, $t6, 0x1ff -/* 115894 7F0E0D64 31A9FFFF */ andi $t1, $t5, 0xffff -/* 115898 7F0E0D68 2D2C0001 */ sltiu $t4, $t1, 1 -/* 11589C 7F0E0D6C 3209000F */ andi $t1, $s0, 0xf -/* 1158A0 7F0E0D70 314E000F */ andi $t6, $t2, 0xf -/* 1158A4 7F0E0D74 012EC82A */ slt $t9, $t1, $t6 -/* 1158A8 7F0E0D78 31AF00A8 */ andi $t7, $t5, 0xa8 -/* 1158AC 7F0E0D7C 000D5A03 */ sra $t3, $t5, 8 -/* 1158B0 7F0E0D80 01EB4025 */ or $t0, $t7, $t3 -/* 1158B4 7F0E0D84 0019C100 */ sll $t8, $t9, 4 -/* 1158B8 7F0E0D88 01A07025 */ move $t6, $t5 -/* 1158BC 7F0E0D8C 020A5826 */ xor $t3, $s0, $t2 -/* 1158C0 7F0E0D90 31690080 */ andi $t1, $t3, 0x80 -/* 1158C4 7F0E0D94 01D0C826 */ xor $t9, $t6, $s0 -/* 1158C8 7F0E0D98 01187825 */ or $t7, $t0, $t8 -/* 1158CC 7F0E0D9C 01394024 */ and $t0, $t1, $t9 -/* 1158D0 7F0E0DA0 0008C143 */ sra $t8, $t0, 5 -/* 1158D4 7F0E0DA4 A3AA006F */ sb $t2, 0x6f($sp) -/* 1158D8 7F0E0DA8 01F85025 */ or $t2, $t7, $t8 -/* 1158DC 7F0E0DAC A7AD0070 */ sh $t5, 0x70($sp) -/* 1158E0 7F0E0DB0 000C6980 */ sll $t5, $t4, 6 -/* 1158E4 7F0E0DB4 354B0002 */ ori $t3, $t2, 2 -/* 1158E8 7F0E0DB8 2EE90001 */ sltiu $t1, $s7, 1 -/* 1158EC 7F0E0DBC 016D8825 */ or $s1, $t3, $t5 -/* 1158F0 7F0E0DC0 26F7FFFF */ addiu $s7, $s7, -1 -/* 1158F4 7F0E0DC4 322E00FF */ andi $t6, $s1, 0xff -/* 1158F8 7F0E0DC8 AFAC0048 */ sw $t4, 0x48($sp) -/* 1158FC 7F0E0DCC 32F900FF */ andi $t9, $s7, 0xff -/* 115900 7F0E0DD0 01C08825 */ move $s1, $t6 -/* 115904 7F0E0DD4 0320B825 */ move $s7, $t9 -/* 115908 7F0E0DD8 11200004 */ beqz $t1, .L7F0E0DEC -/* 11590C 7F0E0DDC AFA90048 */ sw $t1, 0x48($sp) -/* 115910 7F0E0DE0 26D6FFFF */ addiu $s6, $s6, -1 -/* 115914 7F0E0DE4 32CF00FF */ andi $t7, $s6, 0xff -/* 115918 7F0E0DE8 01E0B025 */ move $s6, $t7 -.L7F0E0DEC: -/* 11591C 7F0E0DEC 2E780001 */ sltiu $t8, $s3, 1 -/* 115920 7F0E0DF0 2673FFFF */ addiu $s3, $s3, -1 -/* 115924 7F0E0DF4 326A00FF */ andi $t2, $s3, 0xff -/* 115928 7F0E0DF8 01409825 */ move $s3, $t2 -/* 11592C 7F0E0DFC 13000004 */ beqz $t8, .L7F0E0E10 -/* 115930 7F0E0E00 AFB80048 */ sw $t8, 0x48($sp) -/* 115934 7F0E0E04 2652FFFF */ addiu $s2, $s2, -1 -/* 115938 7F0E0E08 324B00FF */ andi $t3, $s2, 0xff -/* 11593C 7F0E0E0C 01609025 */ move $s2, $t3 -.L7F0E0E10: -/* 115940 7F0E0E10 93AE0073 */ lbu $t6, 0x73($sp) -/* 115944 7F0E0E14 0253C825 */ or $t9, $s2, $s3 -/* 115948 7F0E0E18 0019402A */ slt $t0, $zero, $t9 -/* 11594C 7F0E0E1C 322D00FA */ andi $t5, $s1, 0xfa -/* 115950 7F0E0E20 00087880 */ sll $t7, $t0, 2 -/* 115954 7F0E0E24 01AE4825 */ or $t1, $t5, $t6 -/* 115958 7F0E0E28 012F8825 */ or $s1, $t1, $t7 -/* 11595C 7F0E0E2C 323800FF */ andi $t8, $s1, 0xff -/* 115960 7F0E0E30 10000672 */ b .L7F0E27FC -/* 115964 7F0E0E34 03008825 */ move $s1, $t8 -spectrum_op_ED_AA: -/* 115968 7F0E0E38 8FAA028C */ lw $t2, 0x28c($sp) -/* 11596C 7F0E0E3C 02402825 */ move $a1, $s2 -/* 115970 7F0E0E40 02603025 */ move $a2, $s3 -/* 115974 7F0E0E44 2544000C */ addiu $a0, $t2, 0xc -/* 115978 7F0E0E48 0FC34DB6 */ jal spectrum_input_handling -/* 11597C 7F0E0E4C AFA4028C */ sw $a0, 0x28c($sp) -/* 115980 7F0E0E50 00165A00 */ sll $t3, $s6, 8 -/* 115984 7F0E0E54 01776825 */ or $t5, $t3, $s7 -/* 115988 7F0E0E58 29A15B00 */ slti $at, $t5, 0x5b00 -/* 11598C 7F0E0E5C 14200008 */ bnez $at, .L7F0E0E80 -/* 115990 7F0E0E60 A7A2006C */ sh $v0, 0x6c($sp) -/* 115994 7F0E0E64 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 115998 7F0E0E68 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 11599C 7F0E0E6C 00164200 */ sll $t0, $s6, 8 -/* 1159A0 7F0E0E70 01174825 */ or $t1, $t0, $s7 -/* 1159A4 7F0E0E74 03297821 */ addu $t7, $t9, $t1 -/* 1159A8 7F0E0E78 1000002B */ b .L7F0E0F28 -/* 1159AC 7F0E0E7C A1E20000 */ sb $v0, ($t7) -.L7F0E0E80: -/* 1159B0 7F0E0E80 0016C200 */ sll $t8, $s6, 8 -/* 1159B4 7F0E0E84 03175025 */ or $t2, $t8, $s7 -/* 1159B8 7F0E0E88 29415800 */ slti $at, $t2, 0x5800 -/* 1159BC 7F0E0E8C 14200010 */ bnez $at, .L7F0E0ED0 -/* 1159C0 7F0E0E90 00166A00 */ sll $t5, $s6, 8 -/* 1159C4 7F0E0E94 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1159C8 7F0E0E98 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1159CC 7F0E0E9C 97AC006C */ lhu $t4, 0x6c($sp) -/* 1159D0 7F0E0EA0 00166A00 */ sll $t5, $s6, 8 -/* 1159D4 7F0E0EA4 01B74025 */ or $t0, $t5, $s7 -/* 1159D8 7F0E0EA8 0168C821 */ addu $t9, $t3, $t0 -/* 1159DC 7F0E0EAC 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 1159E0 7F0E0EB0 A32C0000 */ sb $t4, ($t9) -/* 1159E4 7F0E0EB4 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 1159E8 7F0E0EB8 00167A00 */ sll $t7, $s6, 8 -/* 1159EC 7F0E0EBC 01F7C025 */ or $t8, $t7, $s7 -/* 1159F0 7F0E0EC0 24090001 */ li $t1, 1 -/* 1159F4 7F0E0EC4 01D85021 */ addu $t2, $t6, $t8 -/* 1159F8 7F0E0EC8 10000017 */ b .L7F0E0F28 -/* 1159FC 7F0E0ECC A149A800 */ sb $t1, -0x5800($t2) -.L7F0E0ED0: -/* 115A00 7F0E0ED0 01B75825 */ or $t3, $t5, $s7 -/* 115A04 7F0E0ED4 29614000 */ slti $at, $t3, 0x4000 -/* 115A08 7F0E0ED8 14200013 */ bnez $at, .L7F0E0F28 -/* 115A0C 7F0E0EDC 97A8006C */ lhu $t0, 0x6c($sp) -/* 115A10 7F0E0EE0 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 115A14 7F0E0EE4 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 115A18 7F0E0EE8 0016CA00 */ sll $t9, $s6, 8 -/* 115A1C 7F0E0EEC 03377825 */ or $t7, $t9, $s7 -/* 115A20 7F0E0EF0 018F7021 */ addu $t6, $t4, $t7 -/* 115A24 7F0E0EF4 A1C80000 */ sb $t0, ($t6) -/* 115A28 7F0E0EF8 00164A00 */ sll $t1, $s6, 8 -/* 115A2C 7F0E0EFC 01375025 */ or $t2, $t1, $s7 -/* 115A30 7F0E0F00 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 115A34 7F0E0F04 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 115A38 7F0E0F08 314D1800 */ andi $t5, $t2, 0x1800 -/* 115A3C 7F0E0F0C 03376025 */ or $t4, $t9, $s7 -/* 115A40 7F0E0F10 318F00FF */ andi $t7, $t4, 0xff -/* 115A44 7F0E0F14 000D58C3 */ sra $t3, $t5, 3 -/* 115A48 7F0E0F18 016F4025 */ or $t0, $t3, $t7 -/* 115A4C 7F0E0F1C 24180001 */ li $t8, 1 -/* 115A50 7F0E0F20 01C84821 */ addu $t1, $t6, $t0 -/* 115A54 7F0E0F24 A1380000 */ sb $t8, ($t1) -.L7F0E0F28: -/* 115A58 7F0E0F28 97AD006C */ lhu $t5, 0x6c($sp) -/* 115A5C 7F0E0F2C 8FAA028C */ lw $t2, 0x28c($sp) -/* 115A60 7F0E0F30 2EEB0001 */ sltiu $t3, $s7, 1 -/* 115A64 7F0E0F34 26F7FFFF */ addiu $s7, $s7, -1 -/* 115A68 7F0E0F38 000DCA03 */ sra $t9, $t5, 8 -/* 115A6C 7F0E0F3C 32EF00FF */ andi $t7, $s7, 0xff -/* 115A70 7F0E0F40 01596021 */ addu $t4, $t2, $t9 -/* 115A74 7F0E0F44 AFAC028C */ sw $t4, 0x28c($sp) -/* 115A78 7F0E0F48 01E0B825 */ move $s7, $t7 -/* 115A7C 7F0E0F4C 11600004 */ beqz $t3, .L7F0E0F60 -/* 115A80 7F0E0F50 AFAB0048 */ sw $t3, 0x48($sp) -/* 115A84 7F0E0F54 26D6FFFF */ addiu $s6, $s6, -1 -/* 115A88 7F0E0F58 32C800FF */ andi $t0, $s6, 0xff -/* 115A8C 7F0E0F5C 0100B025 */ move $s6, $t0 -.L7F0E0F60: -/* 115A90 7F0E0F60 3C0B8009 */ lui $t3, %hi(ptr_pc_keyboard_table_alloc) -/* 115A94 7F0E0F64 8D6BE334 */ lw $t3, %lo(ptr_pc_keyboard_table_alloc)($t3) -/* 115A98 7F0E0F68 2652FFFF */ addiu $s2, $s2, -1 -/* 115A9C 7F0E0F6C 325800FF */ andi $t8, $s2, 0xff -/* 115AA0 7F0E0F70 030B7821 */ addu $t7, $t8, $t3 -/* 115AA4 7F0E0F74 91EE0000 */ lbu $t6, ($t7) -/* 115AA8 7F0E0F78 330900A8 */ andi $t1, $t8, 0xa8 -/* 115AAC 7F0E0F7C 0018682A */ slt $t5, $zero, $t8 -/* 115AB0 7F0E0F80 03009025 */ move $s2, $t8 -/* 115AB4 7F0E0F84 000D5180 */ sll $t2, $t5, 6 -/* 115AB8 7F0E0F88 01D34026 */ xor $t0, $t6, $s3 -/* 115ABC 7F0E0F8C 39180004 */ xori $t8, $t0, 4 -/* 115AC0 7F0E0F90 012AC825 */ or $t9, $t1, $t2 -/* 115AC4 7F0E0F94 372C0002 */ ori $t4, $t9, 2 -/* 115AC8 7F0E0F98 330D0004 */ andi $t5, $t8, 4 -/* 115ACC 7F0E0F9C 01AC8825 */ or $s1, $t5, $t4 -/* 115AD0 7F0E0FA0 322900FF */ andi $t1, $s1, 0xff -/* 115AD4 7F0E0FA4 10000615 */ b .L7F0E27FC -/* 115AD8 7F0E0FA8 01208825 */ move $s1, $t1 -spectrum_op_ED_AB: -/* 115ADC 7F0E0FAC 8FAA028C */ lw $t2, 0x28c($sp) -/* 115AE0 7F0E0FB0 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 115AE4 7F0E0FB4 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 115AE8 7F0E0FB8 00165A00 */ sll $t3, $s6, 8 -/* 115AEC 7F0E0FBC 01777825 */ or $t7, $t3, $s7 -/* 115AF0 7F0E0FC0 2544000C */ addiu $a0, $t2, 0xc -/* 115AF4 7F0E0FC4 AFA4028C */ sw $a0, 0x28c($sp) -/* 115AF8 7F0E0FC8 01EE4021 */ addu $t0, $t7, $t6 -/* 115AFC 7F0E0FCC 91070000 */ lbu $a3, ($t0) -/* 115B00 7F0E0FD0 02402825 */ move $a1, $s2 -/* 115B04 7F0E0FD4 02603025 */ move $a2, $s3 -/* 115B08 7F0E0FD8 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 115B0C 7F0E0FDC A3A7006B */ sb $a3, 0x6b($sp) -/* 115B10 7F0E0FE0 8FAD028C */ lw $t5, 0x28c($sp) -/* 115B14 7F0E0FE4 2EEA0001 */ sltiu $t2, $s7, 1 -/* 115B18 7F0E0FE8 26F7FFFF */ addiu $s7, $s7, -1 -/* 115B1C 7F0E0FEC AFA20048 */ sw $v0, 0x48($sp) -/* 115B20 7F0E0FF0 32EB00FF */ andi $t3, $s7, 0xff -/* 115B24 7F0E0FF4 01A24821 */ addu $t1, $t5, $v0 -/* 115B28 7F0E0FF8 AFA9028C */ sw $t1, 0x28c($sp) -/* 115B2C 7F0E0FFC 0160B825 */ move $s7, $t3 -/* 115B30 7F0E1000 11400004 */ beqz $t2, .L7F0E1014 -/* 115B34 7F0E1004 AFAA0048 */ sw $t2, 0x48($sp) -/* 115B38 7F0E1008 26D6FFFF */ addiu $s6, $s6, -1 -/* 115B3C 7F0E100C 32CE00FF */ andi $t6, $s6, 0xff -/* 115B40 7F0E1010 01C0B025 */ move $s6, $t6 -.L7F0E1014: -/* 115B44 7F0E1014 2652FFFF */ addiu $s2, $s2, -1 -/* 115B48 7F0E1018 324800FF */ andi $t0, $s2, 0xff -/* 115B4C 7F0E101C 32390001 */ andi $t9, $s1, 1 -/* 115B50 7F0E1020 37380012 */ ori $t8, $t9, 0x12 -/* 115B54 7F0E1024 310D00A8 */ andi $t5, $t0, 0xa8 -/* 115B58 7F0E1028 2D090001 */ sltiu $t1, $t0, 1 -/* 115B5C 7F0E102C 00095180 */ sll $t2, $t1, 6 -/* 115B60 7F0E1030 030D6025 */ or $t4, $t8, $t5 -/* 115B64 7F0E1034 018A8825 */ or $s1, $t4, $t2 -/* 115B68 7F0E1038 322B00FF */ andi $t3, $s1, 0xff -/* 115B6C 7F0E103C 01009025 */ move $s2, $t0 -/* 115B70 7F0E1040 100005EE */ b .L7F0E27FC -/* 115B74 7F0E1044 01608825 */ move $s1, $t3 -spectrum_op_ED_B0: -/* 115B78 7F0E1048 8FAF028C */ lw $t7, 0x28c($sp) -/* 115B7C 7F0E104C 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 115B80 7F0E1050 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 115B84 7F0E1054 00164200 */ sll $t0, $s6, 8 -/* 115B88 7F0E1058 0117C825 */ or $t9, $t0, $s7 -/* 115B8C 7F0E105C 25EE000C */ addiu $t6, $t7, 0xc -/* 115B90 7F0E1060 AFAE028C */ sw $t6, 0x28c($sp) -/* 115B94 7F0E1064 00146200 */ sll $t4, $s4, 8 -/* 115B98 7F0E1068 03386821 */ addu $t5, $t9, $t8 -/* 115B9C 7F0E106C 91A90000 */ lbu $t1, ($t5) -/* 115BA0 7F0E1070 01955025 */ or $t2, $t4, $s5 -/* 115BA4 7F0E1074 29415B00 */ slti $at, $t2, 0x5b00 -/* 115BA8 7F0E1078 14200008 */ bnez $at, .L7F0E109C -/* 115BAC 7F0E107C A3A9006A */ sb $t1, 0x6a($sp) -/* 115BB0 7F0E1080 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 115BB4 7F0E1084 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 115BB8 7F0E1088 00147200 */ sll $t6, $s4, 8 -/* 115BBC 7F0E108C 01D54025 */ or $t0, $t6, $s5 -/* 115BC0 7F0E1090 01E8C821 */ addu $t9, $t7, $t0 -/* 115BC4 7F0E1094 1000002B */ b .L7F0E1144 -/* 115BC8 7F0E1098 A3290000 */ sb $t1, ($t9) -.L7F0E109C: -/* 115BCC 7F0E109C 0014C200 */ sll $t8, $s4, 8 -/* 115BD0 7F0E10A0 03156825 */ or $t5, $t8, $s5 -/* 115BD4 7F0E10A4 29A15800 */ slti $at, $t5, 0x5800 -/* 115BD8 7F0E10A8 14200010 */ bnez $at, .L7F0E10EC -/* 115BDC 7F0E10AC 00145200 */ sll $t2, $s4, 8 -/* 115BE0 7F0E10B0 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 115BE4 7F0E10B4 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 115BE8 7F0E10B8 93A9006A */ lbu $t1, 0x6a($sp) -/* 115BEC 7F0E10BC 00145200 */ sll $t2, $s4, 8 -/* 115BF0 7F0E10C0 01557025 */ or $t6, $t2, $s5 -/* 115BF4 7F0E10C4 018E7821 */ addu $t7, $t4, $t6 -/* 115BF8 7F0E10C8 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 115BFC 7F0E10CC A1E90000 */ sb $t1, ($t7) -/* 115C00 7F0E10D0 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 115C04 7F0E10D4 0014CA00 */ sll $t9, $s4, 8 -/* 115C08 7F0E10D8 0335C025 */ or $t8, $t9, $s5 -/* 115C0C 7F0E10DC 24080001 */ li $t0, 1 -/* 115C10 7F0E10E0 01786821 */ addu $t5, $t3, $t8 -/* 115C14 7F0E10E4 10000017 */ b .L7F0E1144 -/* 115C18 7F0E10E8 A1A8A800 */ sb $t0, -0x5800($t5) -.L7F0E10EC: -/* 115C1C 7F0E10EC 01556025 */ or $t4, $t2, $s5 -/* 115C20 7F0E10F0 29814000 */ slti $at, $t4, 0x4000 -/* 115C24 7F0E10F4 14200013 */ bnez $at, .L7F0E1144 -/* 115C28 7F0E10F8 93AE006A */ lbu $t6, 0x6a($sp) -/* 115C2C 7F0E10FC 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 115C30 7F0E1100 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 115C34 7F0E1104 00147A00 */ sll $t7, $s4, 8 -/* 115C38 7F0E1108 01F5C825 */ or $t9, $t7, $s5 -/* 115C3C 7F0E110C 01395821 */ addu $t3, $t1, $t9 -/* 115C40 7F0E1110 A16E0000 */ sb $t6, ($t3) -/* 115C44 7F0E1114 00144200 */ sll $t0, $s4, 8 -/* 115C48 7F0E1118 01156825 */ or $t5, $t0, $s5 -/* 115C4C 7F0E111C 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 115C50 7F0E1120 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 115C54 7F0E1124 31AA1800 */ andi $t2, $t5, 0x1800 -/* 115C58 7F0E1128 01F54825 */ or $t1, $t7, $s5 -/* 115C5C 7F0E112C 313900FF */ andi $t9, $t1, 0xff -/* 115C60 7F0E1130 000A60C3 */ sra $t4, $t2, 3 -/* 115C64 7F0E1134 01997025 */ or $t6, $t4, $t9 -/* 115C68 7F0E1138 24180001 */ li $t8, 1 -/* 115C6C 7F0E113C 016E4021 */ addu $t0, $t3, $t6 -/* 115C70 7F0E1140 A1180000 */ sb $t8, ($t0) -.L7F0E1144: -/* 115C74 7F0E1144 26F70001 */ addiu $s7, $s7, 1 -/* 115C78 7F0E1148 32ED00FF */ andi $t5, $s7, 0xff -/* 115C7C 7F0E114C 15A00004 */ bnez $t5, .L7F0E1160 -/* 115C80 7F0E1150 01A0B825 */ move $s7, $t5 -/* 115C84 7F0E1154 26D60001 */ addiu $s6, $s6, 1 -/* 115C88 7F0E1158 32CA00FF */ andi $t2, $s6, 0xff -/* 115C8C 7F0E115C 0140B025 */ move $s6, $t2 -.L7F0E1160: -/* 115C90 7F0E1160 26B50001 */ addiu $s5, $s5, 1 -/* 115C94 7F0E1164 32AF00FF */ andi $t7, $s5, 0xff -/* 115C98 7F0E1168 15E00004 */ bnez $t7, .L7F0E117C -/* 115C9C 7F0E116C 01E0A825 */ move $s5, $t7 -/* 115CA0 7F0E1170 26940001 */ addiu $s4, $s4, 1 -/* 115CA4 7F0E1174 328900FF */ andi $t1, $s4, 0xff -/* 115CA8 7F0E1178 0120A025 */ move $s4, $t1 -.L7F0E117C: -/* 115CAC 7F0E117C 2E6C0001 */ sltiu $t4, $s3, 1 -/* 115CB0 7F0E1180 2673FFFF */ addiu $s3, $s3, -1 -/* 115CB4 7F0E1184 327900FF */ andi $t9, $s3, 0xff -/* 115CB8 7F0E1188 03209825 */ move $s3, $t9 -/* 115CBC 7F0E118C 11800004 */ beqz $t4, .L7F0E11A0 -/* 115CC0 7F0E1190 AFAC0048 */ sw $t4, 0x48($sp) -/* 115CC4 7F0E1194 2652FFFF */ addiu $s2, $s2, -1 -/* 115CC8 7F0E1198 324E00FF */ andi $t6, $s2, 0xff -/* 115CCC 7F0E119C 01C09025 */ move $s2, $t6 -.L7F0E11A0: -/* 115CD0 7F0E11A0 93A8006A */ lbu $t0, 0x6a($sp) -/* 115CD4 7F0E11A4 02537825 */ or $t7, $s2, $s3 -/* 115CD8 7F0E11A8 000F482A */ slt $t1, $zero, $t7 -/* 115CDC 7F0E11AC 323800C1 */ andi $t8, $s1, 0xc1 -/* 115CE0 7F0E11B0 310D0028 */ andi $t5, $t0, 0x28 -/* 115CE4 7F0E11B4 030D5025 */ or $t2, $t8, $t5 -/* 115CE8 7F0E11B8 00096080 */ sll $t4, $t1, 2 -/* 115CEC 7F0E11BC 014C8825 */ or $s1, $t2, $t4 -/* 115CF0 7F0E11C0 323900FF */ andi $t9, $s1, 0xff -/* 115CF4 7F0E11C4 02535825 */ or $t3, $s2, $s3 -/* 115CF8 7F0E11C8 1160058C */ beqz $t3, .L7F0E27FC -/* 115CFC 7F0E11CC 03208825 */ move $s1, $t9 -/* 115D00 7F0E11D0 97AE0298 */ lhu $t6, 0x298($sp) -/* 115D04 7F0E11D4 8FB8028C */ lw $t8, 0x28c($sp) -/* 115D08 7F0E11D8 25C8FFFE */ addiu $t0, $t6, -2 -/* 115D0C 7F0E11DC 270D0005 */ addiu $t5, $t8, 5 -/* 115D10 7F0E11E0 AFAD028C */ sw $t5, 0x28c($sp) -/* 115D14 7F0E11E4 10000585 */ b .L7F0E27FC -/* 115D18 7F0E11E8 A7A80298 */ sh $t0, 0x298($sp) -spectrum_op_ED_B1: -/* 115D1C 7F0E11EC 8FAF028C */ lw $t7, 0x28c($sp) -/* 115D20 7F0E11F0 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 115D24 7F0E11F4 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 115D28 7F0E11F8 00166200 */ sll $t4, $s6, 8 -/* 115D2C 7F0E11FC 322A0001 */ andi $t2, $s1, 1 -/* 115D30 7F0E1200 0197C825 */ or $t9, $t4, $s7 -/* 115D34 7F0E1204 25E9000C */ addiu $t1, $t7, 0xc -/* 115D38 7F0E1208 AFA9028C */ sw $t1, 0x28c($sp) -/* 115D3C 7F0E120C A3AA0069 */ sb $t2, 0x69($sp) -/* 115D40 7F0E1210 032B7021 */ addu $t6, $t9, $t3 -/* 115D44 7F0E1214 91C80000 */ lbu $t0, ($t6) -/* 115D48 7F0E1218 26F70001 */ addiu $s7, $s7, 1 -/* 115D4C 7F0E121C 24010004 */ li $at, 4 -/* 115D50 7F0E1220 0208C023 */ subu $t8, $s0, $t0 -/* 115D54 7F0E1224 330D01FF */ andi $t5, $t8, 0x1ff -/* 115D58 7F0E1228 31AFFFFF */ andi $t7, $t5, 0xffff -/* 115D5C 7F0E122C 2DE90001 */ sltiu $t1, $t7, 1 -/* 115D60 7F0E1230 320F000F */ andi $t7, $s0, 0xf -/* 115D64 7F0E1234 3118000F */ andi $t8, $t0, 0xf -/* 115D68 7F0E1238 01F8502A */ slt $t2, $t7, $t8 -/* 115D6C 7F0E123C 31AC00A8 */ andi $t4, $t5, 0xa8 -/* 115D70 7F0E1240 000D5A03 */ sra $t3, $t5, 8 -/* 115D74 7F0E1244 018B7025 */ or $t6, $t4, $t3 -/* 115D78 7F0E1248 000AC900 */ sll $t9, $t2, 4 -/* 115D7C 7F0E124C 01A0C025 */ move $t8, $t5 -/* 115D80 7F0E1250 02085826 */ xor $t3, $s0, $t0 -/* 115D84 7F0E1254 316F0080 */ andi $t7, $t3, 0x80 -/* 115D88 7F0E1258 03105026 */ xor $t2, $t8, $s0 -/* 115D8C 7F0E125C 01D96025 */ or $t4, $t6, $t9 -/* 115D90 7F0E1260 01EA7024 */ and $t6, $t7, $t2 -/* 115D94 7F0E1264 000EC943 */ sra $t9, $t6, 5 -/* 115D98 7F0E1268 A3A80065 */ sb $t0, 0x65($sp) -/* 115D9C 7F0E126C 01994025 */ or $t0, $t4, $t9 -/* 115DA0 7F0E1270 A7AD0066 */ sh $t5, 0x66($sp) -/* 115DA4 7F0E1274 00096980 */ sll $t5, $t1, 6 -/* 115DA8 7F0E1278 350B0002 */ ori $t3, $t0, 2 -/* 115DAC 7F0E127C 016D8825 */ or $s1, $t3, $t5 -/* 115DB0 7F0E1280 323800FF */ andi $t8, $s1, 0xff -/* 115DB4 7F0E1284 32EF00FF */ andi $t7, $s7, 0xff -/* 115DB8 7F0E1288 03008825 */ move $s1, $t8 -/* 115DBC 7F0E128C AFA90048 */ sw $t1, 0x48($sp) -/* 115DC0 7F0E1290 15E00004 */ bnez $t7, .L7F0E12A4 -/* 115DC4 7F0E1294 01E0B825 */ move $s7, $t7 -/* 115DC8 7F0E1298 26D60001 */ addiu $s6, $s6, 1 -/* 115DCC 7F0E129C 32CA00FF */ andi $t2, $s6, 0xff -/* 115DD0 7F0E12A0 0140B025 */ move $s6, $t2 -.L7F0E12A4: -/* 115DD4 7F0E12A4 2E6E0001 */ sltiu $t6, $s3, 1 -/* 115DD8 7F0E12A8 2673FFFF */ addiu $s3, $s3, -1 -/* 115DDC 7F0E12AC 326C00FF */ andi $t4, $s3, 0xff -/* 115DE0 7F0E12B0 01809825 */ move $s3, $t4 -/* 115DE4 7F0E12B4 11C00004 */ beqz $t6, .L7F0E12C8 -/* 115DE8 7F0E12B8 AFAE0048 */ sw $t6, 0x48($sp) -/* 115DEC 7F0E12BC 2652FFFF */ addiu $s2, $s2, -1 -/* 115DF0 7F0E12C0 324800FF */ andi $t0, $s2, 0xff -/* 115DF4 7F0E12C4 01009025 */ move $s2, $t0 -.L7F0E12C8: -/* 115DF8 7F0E12C8 93AB0069 */ lbu $t3, 0x69($sp) -/* 115DFC 7F0E12CC 0253C025 */ or $t8, $s2, $s3 -/* 115E00 7F0E12D0 0018782A */ slt $t7, $zero, $t8 -/* 115E04 7F0E12D4 322900FA */ andi $t1, $s1, 0xfa -/* 115E08 7F0E12D8 000F5080 */ sll $t2, $t7, 2 -/* 115E0C 7F0E12DC 012B6825 */ or $t5, $t1, $t3 -/* 115E10 7F0E12E0 01AA8825 */ or $s1, $t5, $t2 -/* 115E14 7F0E12E4 322E00FF */ andi $t6, $s1, 0xff -/* 115E18 7F0E12E8 31CC0044 */ andi $t4, $t6, 0x44 -/* 115E1C 7F0E12EC 15810543 */ bne $t4, $at, .L7F0E27FC -/* 115E20 7F0E12F0 01C08825 */ move $s1, $t6 -/* 115E24 7F0E12F4 97B90298 */ lhu $t9, 0x298($sp) -/* 115E28 7F0E12F8 8FA9028C */ lw $t1, 0x28c($sp) -/* 115E2C 7F0E12FC 2728FFFE */ addiu $t0, $t9, -2 -/* 115E30 7F0E1300 252B0005 */ addiu $t3, $t1, 5 -/* 115E34 7F0E1304 AFAB028C */ sw $t3, 0x28c($sp) -/* 115E38 7F0E1308 1000053C */ b .L7F0E27FC -/* 115E3C 7F0E130C A7A80298 */ sh $t0, 0x298($sp) -spectrum_op_ED_B2: -/* 115E40 7F0E1310 8FB8028C */ lw $t8, 0x28c($sp) -/* 115E44 7F0E1314 02402825 */ move $a1, $s2 -/* 115E48 7F0E1318 02603025 */ move $a2, $s3 -/* 115E4C 7F0E131C 2704000C */ addiu $a0, $t8, 0xc -/* 115E50 7F0E1320 0FC34DB6 */ jal spectrum_input_handling -/* 115E54 7F0E1324 AFA4028C */ sw $a0, 0x28c($sp) -/* 115E58 7F0E1328 00166A00 */ sll $t5, $s6, 8 -/* 115E5C 7F0E132C 01B75025 */ or $t2, $t5, $s7 -/* 115E60 7F0E1330 29415B00 */ slti $at, $t2, 0x5b00 -/* 115E64 7F0E1334 14200008 */ bnez $at, .L7F0E1358 -/* 115E68 7F0E1338 A7A20062 */ sh $v0, 0x62($sp) -/* 115E6C 7F0E133C 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 115E70 7F0E1340 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 115E74 7F0E1344 0016CA00 */ sll $t9, $s6, 8 -/* 115E78 7F0E1348 03374025 */ or $t0, $t9, $s7 -/* 115E7C 7F0E134C 01884821 */ addu $t1, $t4, $t0 -/* 115E80 7F0E1350 1000002B */ b .L7F0E1400 -/* 115E84 7F0E1354 A1220000 */ sb $v0, ($t1) -.L7F0E1358: -/* 115E88 7F0E1358 00165A00 */ sll $t3, $s6, 8 -/* 115E8C 7F0E135C 0177C025 */ or $t8, $t3, $s7 -/* 115E90 7F0E1360 2B015800 */ slti $at, $t8, 0x5800 -/* 115E94 7F0E1364 14200010 */ bnez $at, .L7F0E13A8 -/* 115E98 7F0E1368 00165200 */ sll $t2, $s6, 8 -/* 115E9C 7F0E136C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 115EA0 7F0E1370 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 115EA4 7F0E1374 97AF0062 */ lhu $t7, 0x62($sp) -/* 115EA8 7F0E1378 00165200 */ sll $t2, $s6, 8 -/* 115EAC 7F0E137C 0157C825 */ or $t9, $t2, $s7 -/* 115EB0 7F0E1380 01B96021 */ addu $t4, $t5, $t9 -/* 115EB4 7F0E1384 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 115EB8 7F0E1388 A18F0000 */ sb $t7, ($t4) -/* 115EBC 7F0E138C 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 115EC0 7F0E1390 00164A00 */ sll $t1, $s6, 8 -/* 115EC4 7F0E1394 01375825 */ or $t3, $t1, $s7 -/* 115EC8 7F0E1398 24080001 */ li $t0, 1 -/* 115ECC 7F0E139C 01CBC021 */ addu $t8, $t6, $t3 -/* 115ED0 7F0E13A0 10000017 */ b .L7F0E1400 -/* 115ED4 7F0E13A4 A308A800 */ sb $t0, -0x5800($t8) -.L7F0E13A8: -/* 115ED8 7F0E13A8 01576825 */ or $t5, $t2, $s7 -/* 115EDC 7F0E13AC 29A14000 */ slti $at, $t5, 0x4000 -/* 115EE0 7F0E13B0 14200013 */ bnez $at, .L7F0E1400 -/* 115EE4 7F0E13B4 97B90062 */ lhu $t9, 0x62($sp) -/* 115EE8 7F0E13B8 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 115EEC 7F0E13BC 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 115EF0 7F0E13C0 00166200 */ sll $t4, $s6, 8 -/* 115EF4 7F0E13C4 01974825 */ or $t1, $t4, $s7 -/* 115EF8 7F0E13C8 01E97021 */ addu $t6, $t7, $t1 -/* 115EFC 7F0E13CC A1D90000 */ sb $t9, ($t6) -/* 115F00 7F0E13D0 00164200 */ sll $t0, $s6, 8 -/* 115F04 7F0E13D4 0117C025 */ or $t8, $t0, $s7 -/* 115F08 7F0E13D8 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 115F0C 7F0E13DC 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 115F10 7F0E13E0 330A1800 */ andi $t2, $t8, 0x1800 -/* 115F14 7F0E13E4 01977825 */ or $t7, $t4, $s7 -/* 115F18 7F0E13E8 31E900FF */ andi $t1, $t7, 0xff -/* 115F1C 7F0E13EC 000A68C3 */ sra $t5, $t2, 3 -/* 115F20 7F0E13F0 01A9C825 */ or $t9, $t5, $t1 -/* 115F24 7F0E13F4 240B0001 */ li $t3, 1 -/* 115F28 7F0E13F8 01D94021 */ addu $t0, $t6, $t9 -/* 115F2C 7F0E13FC A10B0000 */ sb $t3, ($t0) -.L7F0E1400: -/* 115F30 7F0E1400 97AA0062 */ lhu $t2, 0x62($sp) -/* 115F34 7F0E1404 8FB8028C */ lw $t8, 0x28c($sp) -/* 115F38 7F0E1408 26F70001 */ addiu $s7, $s7, 1 -/* 115F3C 7F0E140C 000A6203 */ sra $t4, $t2, 8 -/* 115F40 7F0E1410 32ED00FF */ andi $t5, $s7, 0xff -/* 115F44 7F0E1414 030C7821 */ addu $t7, $t8, $t4 -/* 115F48 7F0E1418 AFAF028C */ sw $t7, 0x28c($sp) -/* 115F4C 7F0E141C 15A00004 */ bnez $t5, .L7F0E1430 -/* 115F50 7F0E1420 01A0B825 */ move $s7, $t5 -/* 115F54 7F0E1424 26D60001 */ addiu $s6, $s6, 1 -/* 115F58 7F0E1428 32C900FF */ andi $t1, $s6, 0xff -/* 115F5C 7F0E142C 0120B025 */ move $s6, $t1 -.L7F0E1430: -/* 115F60 7F0E1430 3C0C8009 */ lui $t4, %hi(ptr_pc_keyboard_table_alloc) -/* 115F64 7F0E1434 8D8CE334 */ lw $t4, %lo(ptr_pc_keyboard_table_alloc)($t4) -/* 115F68 7F0E1438 2652FFFF */ addiu $s2, $s2, -1 -/* 115F6C 7F0E143C 324E00FF */ andi $t6, $s2, 0xff -/* 115F70 7F0E1440 01CC7821 */ addu $t7, $t6, $t4 -/* 115F74 7F0E1444 91ED0000 */ lbu $t5, ($t7) -/* 115F78 7F0E1448 000E582A */ slt $t3, $zero, $t6 -/* 115F7C 7F0E144C 000B4180 */ sll $t0, $t3, 6 -/* 115F80 7F0E1450 31D900A8 */ andi $t9, $t6, 0xa8 -/* 115F84 7F0E1454 01C09025 */ move $s2, $t6 -/* 115F88 7F0E1458 03285025 */ or $t2, $t9, $t0 -/* 115F8C 7F0E145C 01B34826 */ xor $t1, $t5, $s3 -/* 115F90 7F0E1460 312E0004 */ andi $t6, $t1, 4 -/* 115F94 7F0E1464 35580002 */ ori $t8, $t2, 2 -/* 115F98 7F0E1468 01D88825 */ or $s1, $t6, $t8 -/* 115F9C 7F0E146C 322B00FF */ andi $t3, $s1, 0xff -/* 115FA0 7F0E1470 124004E2 */ beqz $s2, .L7F0E27FC -/* 115FA4 7F0E1474 01608825 */ move $s1, $t3 -/* 115FA8 7F0E1478 97B90298 */ lhu $t9, 0x298($sp) -/* 115FAC 7F0E147C 8FAA028C */ lw $t2, 0x28c($sp) -/* 115FB0 7F0E1480 2728FFFE */ addiu $t0, $t9, -2 -/* 115FB4 7F0E1484 254C0005 */ addiu $t4, $t2, 5 -/* 115FB8 7F0E1488 AFAC028C */ sw $t4, 0x28c($sp) -/* 115FBC 7F0E148C 100004DB */ b .L7F0E27FC -/* 115FC0 7F0E1490 A7A80298 */ sh $t0, 0x298($sp) -spectrum_op_ED_B3: -/* 115FC4 7F0E1494 8FAF028C */ lw $t7, 0x28c($sp) -/* 115FC8 7F0E1498 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 115FCC 7F0E149C 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 115FD0 7F0E14A0 00164A00 */ sll $t1, $s6, 8 -/* 115FD4 7F0E14A4 01377025 */ or $t6, $t1, $s7 -/* 115FD8 7F0E14A8 25E4000C */ addiu $a0, $t7, 0xc -/* 115FDC 7F0E14AC AFA4028C */ sw $a0, 0x28c($sp) -/* 115FE0 7F0E14B0 01D85821 */ addu $t3, $t6, $t8 -/* 115FE4 7F0E14B4 91670000 */ lbu $a3, ($t3) -/* 115FE8 7F0E14B8 02402825 */ move $a1, $s2 -/* 115FEC 7F0E14BC 02603025 */ move $a2, $s3 -/* 115FF0 7F0E14C0 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 115FF4 7F0E14C4 A3A70061 */ sb $a3, 0x61($sp) -/* 115FF8 7F0E14C8 8FA8028C */ lw $t0, 0x28c($sp) -/* 115FFC 7F0E14CC 26F70001 */ addiu $s7, $s7, 1 -/* 116000 7F0E14D0 32EF00FF */ andi $t7, $s7, 0xff -/* 116004 7F0E14D4 01026021 */ addu $t4, $t0, $v0 -/* 116008 7F0E14D8 AFAC028C */ sw $t4, 0x28c($sp) -/* 11600C 7F0E14DC AFA20048 */ sw $v0, 0x48($sp) -/* 116010 7F0E14E0 15E00004 */ bnez $t7, .L7F0E14F4 -/* 116014 7F0E14E4 01E0B825 */ move $s7, $t7 -/* 116018 7F0E14E8 26D60001 */ addiu $s6, $s6, 1 -/* 11601C 7F0E14EC 32C900FF */ andi $t1, $s6, 0xff -/* 116020 7F0E14F0 0120B025 */ move $s6, $t1 -.L7F0E14F4: -/* 116024 7F0E14F4 2652FFFF */ addiu $s2, $s2, -1 -/* 116028 7F0E14F8 324E00FF */ andi $t6, $s2, 0xff -/* 11602C 7F0E14FC 32380001 */ andi $t8, $s1, 1 -/* 116030 7F0E1500 370B0012 */ ori $t3, $t8, 0x12 -/* 116034 7F0E1504 31CD00A8 */ andi $t5, $t6, 0xa8 -/* 116038 7F0E1508 2DC80001 */ sltiu $t0, $t6, 1 -/* 11603C 7F0E150C 00085180 */ sll $t2, $t0, 6 -/* 116040 7F0E1510 016DC825 */ or $t9, $t3, $t5 -/* 116044 7F0E1514 032A8825 */ or $s1, $t9, $t2 -/* 116048 7F0E1518 322C00FF */ andi $t4, $s1, 0xff -/* 11604C 7F0E151C 01C09025 */ move $s2, $t6 -/* 116050 7F0E1520 11C004B6 */ beqz $t6, .L7F0E27FC -/* 116054 7F0E1524 01808825 */ move $s1, $t4 -/* 116058 7F0E1528 97AF0298 */ lhu $t7, 0x298($sp) -/* 11605C 7F0E152C 8FAE028C */ lw $t6, 0x28c($sp) -/* 116060 7F0E1530 25E9FFFE */ addiu $t1, $t7, -2 -/* 116064 7F0E1534 25D80005 */ addiu $t8, $t6, 5 -/* 116068 7F0E1538 AFB8028C */ sw $t8, 0x28c($sp) -/* 11606C 7F0E153C 100004AF */ b .L7F0E27FC -/* 116070 7F0E1540 A7A90298 */ sh $t1, 0x298($sp) -spectrum_op_ED_B8: -/* 116074 7F0E1544 8FAB028C */ lw $t3, 0x28c($sp) -/* 116078 7F0E1548 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 11607C 7F0E154C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 116080 7F0E1550 00164200 */ sll $t0, $s6, 8 -/* 116084 7F0E1554 0117C825 */ or $t9, $t0, $s7 -/* 116088 7F0E1558 256D000C */ addiu $t5, $t3, 0xc -/* 11608C 7F0E155C AFAD028C */ sw $t5, 0x28c($sp) -/* 116090 7F0E1560 00144A00 */ sll $t1, $s4, 8 -/* 116094 7F0E1564 032A6021 */ addu $t4, $t9, $t2 -/* 116098 7F0E1568 918F0000 */ lbu $t7, ($t4) -/* 11609C 7F0E156C 01357025 */ or $t6, $t1, $s5 -/* 1160A0 7F0E1570 29C15B00 */ slti $at, $t6, 0x5b00 -/* 1160A4 7F0E1574 14200008 */ bnez $at, .L7F0E1598 -/* 1160A8 7F0E1578 A3AF0060 */ sb $t7, 0x60($sp) -/* 1160AC 7F0E157C 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1160B0 7F0E1580 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1160B4 7F0E1584 00146A00 */ sll $t5, $s4, 8 -/* 1160B8 7F0E1588 01B54025 */ or $t0, $t5, $s5 -/* 1160BC 7F0E158C 0168C821 */ addu $t9, $t3, $t0 -/* 1160C0 7F0E1590 1000002B */ b .L7F0E1640 -/* 1160C4 7F0E1594 A32F0000 */ sb $t7, ($t9) -.L7F0E1598: -/* 1160C8 7F0E1598 00145200 */ sll $t2, $s4, 8 -/* 1160CC 7F0E159C 01556025 */ or $t4, $t2, $s5 -/* 1160D0 7F0E15A0 29815800 */ slti $at, $t4, 0x5800 -/* 1160D4 7F0E15A4 14200010 */ bnez $at, .L7F0E15E8 -/* 1160D8 7F0E15A8 00147200 */ sll $t6, $s4, 8 -/* 1160DC 7F0E15AC 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 1160E0 7F0E15B0 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 1160E4 7F0E15B4 93AF0060 */ lbu $t7, 0x60($sp) -/* 1160E8 7F0E15B8 00147200 */ sll $t6, $s4, 8 -/* 1160EC 7F0E15BC 01D56825 */ or $t5, $t6, $s5 -/* 1160F0 7F0E15C0 012D5821 */ addu $t3, $t1, $t5 -/* 1160F4 7F0E15C4 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 1160F8 7F0E15C8 A16F0000 */ sb $t7, ($t3) -/* 1160FC 7F0E15CC 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 116100 7F0E15D0 0014CA00 */ sll $t9, $s4, 8 -/* 116104 7F0E15D4 03355025 */ or $t2, $t9, $s5 -/* 116108 7F0E15D8 24080001 */ li $t0, 1 -/* 11610C 7F0E15DC 030A6021 */ addu $t4, $t8, $t2 -/* 116110 7F0E15E0 10000017 */ b .L7F0E1640 -/* 116114 7F0E15E4 A188A800 */ sb $t0, -0x5800($t4) -.L7F0E15E8: -/* 116118 7F0E15E8 01D54825 */ or $t1, $t6, $s5 -/* 11611C 7F0E15EC 29214000 */ slti $at, $t1, 0x4000 -/* 116120 7F0E15F0 14200013 */ bnez $at, .L7F0E1640 -/* 116124 7F0E15F4 93AD0060 */ lbu $t5, 0x60($sp) -/* 116128 7F0E15F8 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 11612C 7F0E15FC 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 116130 7F0E1600 00145A00 */ sll $t3, $s4, 8 -/* 116134 7F0E1604 0175C825 */ or $t9, $t3, $s5 -/* 116138 7F0E1608 01F9C021 */ addu $t8, $t7, $t9 -/* 11613C 7F0E160C A30D0000 */ sb $t5, ($t8) -/* 116140 7F0E1610 00144200 */ sll $t0, $s4, 8 -/* 116144 7F0E1614 01156025 */ or $t4, $t0, $s5 -/* 116148 7F0E1618 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 11614C 7F0E161C 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 116150 7F0E1620 318E1800 */ andi $t6, $t4, 0x1800 -/* 116154 7F0E1624 01757825 */ or $t7, $t3, $s5 -/* 116158 7F0E1628 31F900FF */ andi $t9, $t7, 0xff -/* 11615C 7F0E162C 000E48C3 */ sra $t1, $t6, 3 -/* 116160 7F0E1630 01396825 */ or $t5, $t1, $t9 -/* 116164 7F0E1634 240A0001 */ li $t2, 1 -/* 116168 7F0E1638 030D4021 */ addu $t0, $t8, $t5 -/* 11616C 7F0E163C A10A0000 */ sb $t2, ($t0) -.L7F0E1640: -/* 116170 7F0E1640 2EEC0001 */ sltiu $t4, $s7, 1 -/* 116174 7F0E1644 26F7FFFF */ addiu $s7, $s7, -1 -/* 116178 7F0E1648 32EE00FF */ andi $t6, $s7, 0xff -/* 11617C 7F0E164C 01C0B825 */ move $s7, $t6 -/* 116180 7F0E1650 11800004 */ beqz $t4, .L7F0E1664 -/* 116184 7F0E1654 AFAC0048 */ sw $t4, 0x48($sp) -/* 116188 7F0E1658 26D6FFFF */ addiu $s6, $s6, -1 -/* 11618C 7F0E165C 32CF00FF */ andi $t7, $s6, 0xff -/* 116190 7F0E1660 01E0B025 */ move $s6, $t7 -.L7F0E1664: -/* 116194 7F0E1664 2EA90001 */ sltiu $t1, $s5, 1 -/* 116198 7F0E1668 26B5FFFF */ addiu $s5, $s5, -1 -/* 11619C 7F0E166C 32B900FF */ andi $t9, $s5, 0xff -/* 1161A0 7F0E1670 0320A825 */ move $s5, $t9 -/* 1161A4 7F0E1674 11200004 */ beqz $t1, .L7F0E1688 -/* 1161A8 7F0E1678 AFA90048 */ sw $t1, 0x48($sp) -/* 1161AC 7F0E167C 2694FFFF */ addiu $s4, $s4, -1 -/* 1161B0 7F0E1680 328D00FF */ andi $t5, $s4, 0xff -/* 1161B4 7F0E1684 01A0A025 */ move $s4, $t5 -.L7F0E1688: -/* 1161B8 7F0E1688 2E6A0001 */ sltiu $t2, $s3, 1 -/* 1161BC 7F0E168C 2673FFFF */ addiu $s3, $s3, -1 -/* 1161C0 7F0E1690 326800FF */ andi $t0, $s3, 0xff -/* 1161C4 7F0E1694 01009825 */ move $s3, $t0 -/* 1161C8 7F0E1698 11400004 */ beqz $t2, .L7F0E16AC -/* 1161CC 7F0E169C AFAA0048 */ sw $t2, 0x48($sp) -/* 1161D0 7F0E16A0 2652FFFF */ addiu $s2, $s2, -1 -/* 1161D4 7F0E16A4 324E00FF */ andi $t6, $s2, 0xff -/* 1161D8 7F0E16A8 01C09025 */ move $s2, $t6 -.L7F0E16AC: -/* 1161DC 7F0E16AC 93AF0060 */ lbu $t7, 0x60($sp) -/* 1161E0 7F0E16B0 0253C025 */ or $t8, $s2, $s3 -/* 1161E4 7F0E16B4 0018682A */ slt $t5, $zero, $t8 -/* 1161E8 7F0E16B8 322B00C1 */ andi $t3, $s1, 0xc1 -/* 1161EC 7F0E16BC 31E90028 */ andi $t1, $t7, 0x28 -/* 1161F0 7F0E16C0 0169C825 */ or $t9, $t3, $t1 -/* 1161F4 7F0E16C4 000D5080 */ sll $t2, $t5, 2 -/* 1161F8 7F0E16C8 032A8825 */ or $s1, $t9, $t2 -/* 1161FC 7F0E16CC 322800FF */ andi $t0, $s1, 0xff -/* 116200 7F0E16D0 02536025 */ or $t4, $s2, $s3 -/* 116204 7F0E16D4 11800449 */ beqz $t4, .L7F0E27FC -/* 116208 7F0E16D8 01008825 */ move $s1, $t0 -/* 11620C 7F0E16DC 97AE0298 */ lhu $t6, 0x298($sp) -/* 116210 7F0E16E0 8FAB028C */ lw $t3, 0x28c($sp) -/* 116214 7F0E16E4 25CFFFFE */ addiu $t7, $t6, -2 -/* 116218 7F0E16E8 25690005 */ addiu $t1, $t3, 5 -/* 11621C 7F0E16EC AFA9028C */ sw $t1, 0x28c($sp) -/* 116220 7F0E16F0 10000442 */ b .L7F0E27FC -/* 116224 7F0E16F4 A7AF0298 */ sh $t7, 0x298($sp) -spectrum_op_ED_B9: -/* 116228 7F0E16F8 8FB8028C */ lw $t8, 0x28c($sp) -/* 11622C 7F0E16FC 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 116230 7F0E1700 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 116234 7F0E1704 00165200 */ sll $t2, $s6, 8 -/* 116238 7F0E1708 32390001 */ andi $t9, $s1, 1 -/* 11623C 7F0E170C 01574025 */ or $t0, $t2, $s7 -/* 116240 7F0E1710 270D000C */ addiu $t5, $t8, 0xc -/* 116244 7F0E1714 AFAD028C */ sw $t5, 0x28c($sp) -/* 116248 7F0E1718 A3B9005F */ sb $t9, 0x5f($sp) -/* 11624C 7F0E171C 010C7021 */ addu $t6, $t0, $t4 -/* 116250 7F0E1720 91CF0000 */ lbu $t7, ($t6) -/* 116254 7F0E1724 24010004 */ li $at, 4 -/* 116258 7F0E1728 020F5823 */ subu $t3, $s0, $t7 -/* 11625C 7F0E172C 316901FF */ andi $t1, $t3, 0x1ff -/* 116260 7F0E1730 3138FFFF */ andi $t8, $t1, 0xffff -/* 116264 7F0E1734 2F0D0001 */ sltiu $t5, $t8, 1 -/* 116268 7F0E1738 3218000F */ andi $t8, $s0, 0xf -/* 11626C 7F0E173C 31EB000F */ andi $t3, $t7, 0xf -/* 116270 7F0E1740 030BC82A */ slt $t9, $t8, $t3 -/* 116274 7F0E1744 312A00A8 */ andi $t2, $t1, 0xa8 -/* 116278 7F0E1748 00096203 */ sra $t4, $t1, 8 -/* 11627C 7F0E174C 014C7025 */ or $t6, $t2, $t4 -/* 116280 7F0E1750 00194100 */ sll $t0, $t9, 4 -/* 116284 7F0E1754 01205825 */ move $t3, $t1 -/* 116288 7F0E1758 020F6026 */ xor $t4, $s0, $t7 -/* 11628C 7F0E175C 31980080 */ andi $t8, $t4, 0x80 -/* 116290 7F0E1760 0170C826 */ xor $t9, $t3, $s0 -/* 116294 7F0E1764 01C85025 */ or $t2, $t6, $t0 -/* 116298 7F0E1768 03197024 */ and $t6, $t8, $t9 -/* 11629C 7F0E176C 000E4143 */ sra $t0, $t6, 5 -/* 1162A0 7F0E1770 A3AF005B */ sb $t7, 0x5b($sp) -/* 1162A4 7F0E1774 01487825 */ or $t7, $t2, $t0 -/* 1162A8 7F0E1778 A7A9005C */ sh $t1, 0x5c($sp) -/* 1162AC 7F0E177C 000D4980 */ sll $t1, $t5, 6 -/* 1162B0 7F0E1780 35EC0002 */ ori $t4, $t7, 2 -/* 1162B4 7F0E1784 2EF80001 */ sltiu $t8, $s7, 1 -/* 1162B8 7F0E1788 01898825 */ or $s1, $t4, $t1 -/* 1162BC 7F0E178C 26F7FFFF */ addiu $s7, $s7, -1 -/* 1162C0 7F0E1790 322B00FF */ andi $t3, $s1, 0xff -/* 1162C4 7F0E1794 AFAD0048 */ sw $t5, 0x48($sp) -/* 1162C8 7F0E1798 32F900FF */ andi $t9, $s7, 0xff -/* 1162CC 7F0E179C 01608825 */ move $s1, $t3 -/* 1162D0 7F0E17A0 0320B825 */ move $s7, $t9 -/* 1162D4 7F0E17A4 13000004 */ beqz $t8, .L7F0E17B8 -/* 1162D8 7F0E17A8 AFB80048 */ sw $t8, 0x48($sp) -/* 1162DC 7F0E17AC 26D6FFFF */ addiu $s6, $s6, -1 -/* 1162E0 7F0E17B0 32CA00FF */ andi $t2, $s6, 0xff -/* 1162E4 7F0E17B4 0140B025 */ move $s6, $t2 -.L7F0E17B8: -/* 1162E8 7F0E17B8 2E680001 */ sltiu $t0, $s3, 1 -/* 1162EC 7F0E17BC 2673FFFF */ addiu $s3, $s3, -1 -/* 1162F0 7F0E17C0 326F00FF */ andi $t7, $s3, 0xff -/* 1162F4 7F0E17C4 01E09825 */ move $s3, $t7 -/* 1162F8 7F0E17C8 11000004 */ beqz $t0, .L7F0E17DC -/* 1162FC 7F0E17CC AFA80048 */ sw $t0, 0x48($sp) -/* 116300 7F0E17D0 2652FFFF */ addiu $s2, $s2, -1 -/* 116304 7F0E17D4 324C00FF */ andi $t4, $s2, 0xff -/* 116308 7F0E17D8 01809025 */ move $s2, $t4 -.L7F0E17DC: -/* 11630C 7F0E17DC 93AB005F */ lbu $t3, 0x5f($sp) -/* 116310 7F0E17E0 0253C825 */ or $t9, $s2, $s3 -/* 116314 7F0E17E4 0019702A */ slt $t6, $zero, $t9 -/* 116318 7F0E17E8 322900FA */ andi $t1, $s1, 0xfa -/* 11631C 7F0E17EC 000E5080 */ sll $t2, $t6, 2 -/* 116320 7F0E17F0 012BC025 */ or $t8, $t1, $t3 -/* 116324 7F0E17F4 030A8825 */ or $s1, $t8, $t2 -/* 116328 7F0E17F8 322800FF */ andi $t0, $s1, 0xff -/* 11632C 7F0E17FC 310F0044 */ andi $t7, $t0, 0x44 -/* 116330 7F0E1800 15E103FE */ bne $t7, $at, .L7F0E27FC -/* 116334 7F0E1804 01008825 */ move $s1, $t0 -/* 116338 7F0E1808 97AD0298 */ lhu $t5, 0x298($sp) -/* 11633C 7F0E180C 8FA9028C */ lw $t1, 0x28c($sp) -/* 116340 7F0E1810 25ACFFFE */ addiu $t4, $t5, -2 -/* 116344 7F0E1814 252B0005 */ addiu $t3, $t1, 5 -/* 116348 7F0E1818 AFAB028C */ sw $t3, 0x28c($sp) -/* 11634C 7F0E181C 100003F7 */ b .L7F0E27FC -/* 116350 7F0E1820 A7AC0298 */ sh $t4, 0x298($sp) -spectrum_op_ED_BA: -/* 116354 7F0E1824 8FB9028C */ lw $t9, 0x28c($sp) -/* 116358 7F0E1828 02402825 */ move $a1, $s2 -/* 11635C 7F0E182C 02603025 */ move $a2, $s3 -/* 116360 7F0E1830 2724000C */ addiu $a0, $t9, 0xc -/* 116364 7F0E1834 0FC34DB6 */ jal spectrum_input_handling -/* 116368 7F0E1838 AFA4028C */ sw $a0, 0x28c($sp) -/* 11636C 7F0E183C 0016C200 */ sll $t8, $s6, 8 -/* 116370 7F0E1840 03175025 */ or $t2, $t8, $s7 -/* 116374 7F0E1844 29415B00 */ slti $at, $t2, 0x5b00 -/* 116378 7F0E1848 14200008 */ bnez $at, .L7F0E186C -/* 11637C 7F0E184C A7A20058 */ sh $v0, 0x58($sp) -/* 116380 7F0E1850 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 116384 7F0E1854 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 116388 7F0E1858 00166A00 */ sll $t5, $s6, 8 -/* 11638C 7F0E185C 01B76025 */ or $t4, $t5, $s7 -/* 116390 7F0E1860 01EC4821 */ addu $t1, $t7, $t4 -/* 116394 7F0E1864 1000002B */ b .L7F0E1914 -/* 116398 7F0E1868 A1220000 */ sb $v0, ($t1) -.L7F0E186C: -/* 11639C 7F0E186C 00165A00 */ sll $t3, $s6, 8 -/* 1163A0 7F0E1870 0177C825 */ or $t9, $t3, $s7 -/* 1163A4 7F0E1874 2B215800 */ slti $at, $t9, 0x5800 -/* 1163A8 7F0E1878 14200010 */ bnez $at, .L7F0E18BC -/* 1163AC 7F0E187C 00165200 */ sll $t2, $s6, 8 -/* 1163B0 7F0E1880 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1163B4 7F0E1884 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 1163B8 7F0E1888 97AE0058 */ lhu $t6, 0x58($sp) -/* 1163BC 7F0E188C 00165200 */ sll $t2, $s6, 8 -/* 1163C0 7F0E1890 01576825 */ or $t5, $t2, $s7 -/* 1163C4 7F0E1894 030D7821 */ addu $t7, $t8, $t5 -/* 1163C8 7F0E1898 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 1163CC 7F0E189C A1EE0000 */ sb $t6, ($t7) -/* 1163D0 7F0E18A0 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 1163D4 7F0E18A4 00164A00 */ sll $t1, $s6, 8 -/* 1163D8 7F0E18A8 01375825 */ or $t3, $t1, $s7 -/* 1163DC 7F0E18AC 240C0001 */ li $t4, 1 -/* 1163E0 7F0E18B0 010BC821 */ addu $t9, $t0, $t3 -/* 1163E4 7F0E18B4 10000017 */ b .L7F0E1914 -/* 1163E8 7F0E18B8 A32CA800 */ sb $t4, -0x5800($t9) -.L7F0E18BC: -/* 1163EC 7F0E18BC 0157C025 */ or $t8, $t2, $s7 -/* 1163F0 7F0E18C0 2B014000 */ slti $at, $t8, 0x4000 -/* 1163F4 7F0E18C4 14200013 */ bnez $at, .L7F0E1914 -/* 1163F8 7F0E18C8 97AD0058 */ lhu $t5, 0x58($sp) -/* 1163FC 7F0E18CC 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 116400 7F0E18D0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 116404 7F0E18D4 00167A00 */ sll $t7, $s6, 8 -/* 116408 7F0E18D8 01F74825 */ or $t1, $t7, $s7 -/* 11640C 7F0E18DC 01C94021 */ addu $t0, $t6, $t1 -/* 116410 7F0E18E0 A10D0000 */ sb $t5, ($t0) -/* 116414 7F0E18E4 00166200 */ sll $t4, $s6, 8 -/* 116418 7F0E18E8 0197C825 */ or $t9, $t4, $s7 -/* 11641C 7F0E18EC 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 116420 7F0E18F0 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 116424 7F0E18F4 332A1800 */ andi $t2, $t9, 0x1800 -/* 116428 7F0E18F8 01F77025 */ or $t6, $t7, $s7 -/* 11642C 7F0E18FC 31C900FF */ andi $t1, $t6, 0xff -/* 116430 7F0E1900 000AC0C3 */ sra $t8, $t2, 3 -/* 116434 7F0E1904 03096825 */ or $t5, $t8, $t1 -/* 116438 7F0E1908 240B0001 */ li $t3, 1 -/* 11643C 7F0E190C 010D6021 */ addu $t4, $t0, $t5 -/* 116440 7F0E1910 A18B0000 */ sb $t3, ($t4) -.L7F0E1914: -/* 116444 7F0E1914 97AA0058 */ lhu $t2, 0x58($sp) -/* 116448 7F0E1918 8FB9028C */ lw $t9, 0x28c($sp) -/* 11644C 7F0E191C 2EF80001 */ sltiu $t8, $s7, 1 -/* 116450 7F0E1920 26F7FFFF */ addiu $s7, $s7, -1 -/* 116454 7F0E1924 000A7A03 */ sra $t7, $t2, 8 -/* 116458 7F0E1928 32E900FF */ andi $t1, $s7, 0xff -/* 11645C 7F0E192C 032F7021 */ addu $t6, $t9, $t7 -/* 116460 7F0E1930 AFAE028C */ sw $t6, 0x28c($sp) -/* 116464 7F0E1934 0120B825 */ move $s7, $t1 -/* 116468 7F0E1938 13000004 */ beqz $t8, .L7F0E194C -/* 11646C 7F0E193C AFB80048 */ sw $t8, 0x48($sp) -/* 116470 7F0E1940 26D6FFFF */ addiu $s6, $s6, -1 -/* 116474 7F0E1944 32CD00FF */ andi $t5, $s6, 0xff -/* 116478 7F0E1948 01A0B025 */ move $s6, $t5 -.L7F0E194C: -/* 11647C 7F0E194C 3C188009 */ lui $t8, %hi(ptr_pc_keyboard_table_alloc) -/* 116480 7F0E1950 8F18E334 */ lw $t8, %lo(ptr_pc_keyboard_table_alloc)($t8) -/* 116484 7F0E1954 2652FFFF */ addiu $s2, $s2, -1 -/* 116488 7F0E1958 324B00FF */ andi $t3, $s2, 0xff -/* 11648C 7F0E195C 01784821 */ addu $t1, $t3, $t8 -/* 116490 7F0E1960 91280000 */ lbu $t0, ($t1) -/* 116494 7F0E1964 316C00A8 */ andi $t4, $t3, 0xa8 -/* 116498 7F0E1968 000B502A */ slt $t2, $zero, $t3 -/* 11649C 7F0E196C 01609025 */ move $s2, $t3 -/* 1164A0 7F0E1970 000AC980 */ sll $t9, $t2, 6 -/* 1164A4 7F0E1974 01136826 */ xor $t5, $t0, $s3 -/* 1164A8 7F0E1978 39AB0004 */ xori $t3, $t5, 4 -/* 1164AC 7F0E197C 01997825 */ or $t7, $t4, $t9 -/* 1164B0 7F0E1980 35EE0002 */ ori $t6, $t7, 2 -/* 1164B4 7F0E1984 316A0004 */ andi $t2, $t3, 4 -/* 1164B8 7F0E1988 014E8825 */ or $s1, $t2, $t6 -/* 1164BC 7F0E198C 322C00FF */ andi $t4, $s1, 0xff -/* 1164C0 7F0E1990 1240039A */ beqz $s2, .L7F0E27FC -/* 1164C4 7F0E1994 01808825 */ move $s1, $t4 -/* 1164C8 7F0E1998 97B90298 */ lhu $t9, 0x298($sp) -/* 1164CC 7F0E199C 8FB8028C */ lw $t8, 0x28c($sp) -/* 1164D0 7F0E19A0 272FFFFE */ addiu $t7, $t9, -2 -/* 1164D4 7F0E19A4 27090005 */ addiu $t1, $t8, 5 -/* 1164D8 7F0E19A8 AFA9028C */ sw $t1, 0x28c($sp) -/* 1164DC 7F0E19AC 10000393 */ b .L7F0E27FC -/* 1164E0 7F0E19B0 A7AF0298 */ sh $t7, 0x298($sp) -spectrum_op_ED_BB: -/* 1164E4 7F0E19B4 8FA8028C */ lw $t0, 0x28c($sp) -/* 1164E8 7F0E19B8 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1164EC 7F0E19BC 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1164F0 7F0E19C0 00165A00 */ sll $t3, $s6, 8 -/* 1164F4 7F0E19C4 01775025 */ or $t2, $t3, $s7 -/* 1164F8 7F0E19C8 2504000C */ addiu $a0, $t0, 0xc -/* 1164FC 7F0E19CC AFA4028C */ sw $a0, 0x28c($sp) -/* 116500 7F0E19D0 014E6021 */ addu $t4, $t2, $t6 -/* 116504 7F0E19D4 91870000 */ lbu $a3, ($t4) -/* 116508 7F0E19D8 02402825 */ move $a1, $s2 -/* 11650C 7F0E19DC 02603025 */ move $a2, $s3 -/* 116510 7F0E19E0 0FC34DF7 */ jal sub_GAME_7F0D37DC -/* 116514 7F0E19E4 A3A70057 */ sb $a3, 0x57($sp) -/* 116518 7F0E19E8 8FAF028C */ lw $t7, 0x28c($sp) -/* 11651C 7F0E19EC 2EE80001 */ sltiu $t0, $s7, 1 -/* 116520 7F0E19F0 26F7FFFF */ addiu $s7, $s7, -1 -/* 116524 7F0E19F4 AFA20048 */ sw $v0, 0x48($sp) -/* 116528 7F0E19F8 32EB00FF */ andi $t3, $s7, 0xff -/* 11652C 7F0E19FC 01E24821 */ addu $t1, $t7, $v0 -/* 116530 7F0E1A00 AFA9028C */ sw $t1, 0x28c($sp) -/* 116534 7F0E1A04 0160B825 */ move $s7, $t3 -/* 116538 7F0E1A08 11000004 */ beqz $t0, .L7F0E1A1C -/* 11653C 7F0E1A0C AFA80048 */ sw $t0, 0x48($sp) -/* 116540 7F0E1A10 26D6FFFF */ addiu $s6, $s6, -1 -/* 116544 7F0E1A14 32CE00FF */ andi $t6, $s6, 0xff -/* 116548 7F0E1A18 01C0B025 */ move $s6, $t6 -.L7F0E1A1C: -/* 11654C 7F0E1A1C 2652FFFF */ addiu $s2, $s2, -1 -/* 116550 7F0E1A20 324C00FF */ andi $t4, $s2, 0xff -/* 116554 7F0E1A24 322D0001 */ andi $t5, $s1, 1 -/* 116558 7F0E1A28 35B90012 */ ori $t9, $t5, 0x12 -/* 11655C 7F0E1A2C 318F00A8 */ andi $t7, $t4, 0xa8 -/* 116560 7F0E1A30 2D890001 */ sltiu $t1, $t4, 1 -/* 116564 7F0E1A34 00094180 */ sll $t0, $t1, 6 -/* 116568 7F0E1A38 032FC025 */ or $t8, $t9, $t7 -/* 11656C 7F0E1A3C 03088825 */ or $s1, $t8, $t0 -/* 116570 7F0E1A40 322B00FF */ andi $t3, $s1, 0xff -/* 116574 7F0E1A44 01809025 */ move $s2, $t4 -/* 116578 7F0E1A48 1180036C */ beqz $t4, .L7F0E27FC -/* 11657C 7F0E1A4C 01608825 */ move $s1, $t3 -/* 116580 7F0E1A50 97AA0298 */ lhu $t2, 0x298($sp) -/* 116584 7F0E1A54 8FAC028C */ lw $t4, 0x28c($sp) -/* 116588 7F0E1A58 254EFFFE */ addiu $t6, $t2, -2 -/* 11658C 7F0E1A5C 258D0005 */ addiu $t5, $t4, 5 -/* 116590 7F0E1A60 AFAD028C */ sw $t5, 0x28c($sp) -/* 116594 7F0E1A64 10000365 */ b .L7F0E27FC -/* 116598 7F0E1A68 A7AE0298 */ sh $t6, 0x298($sp) -.L7F0E1A6C: -/* 11659C 7F0E1A6C 8FB9028C */ lw $t9, 0x28c($sp) -/* 1165A0 7F0E1A70 272F0004 */ addiu $t7, $t9, 4 -/* 1165A4 7F0E1A74 10000361 */ b .L7F0E27FC -/* 1165A8 7F0E1A78 AFAF028C */ sw $t7, 0x28c($sp) -spectrum_op_EE: -/* 1165AC 7F0E1A7C 8FA9028C */ lw $t1, 0x28c($sp) -/* 1165B0 7F0E1A80 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 1165B4 7F0E1A84 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 1165B8 7F0E1A88 97AB0298 */ lhu $t3, 0x298($sp) -/* 1165BC 7F0E1A8C 25380007 */ addiu $t8, $t1, 7 -/* 1165C0 7F0E1A90 AFB8028C */ sw $t8, 0x28c($sp) -/* 1165C4 7F0E1A94 010B5021 */ addu $t2, $t0, $t3 -/* 1165C8 7F0E1A98 914E0000 */ lbu $t6, ($t2) -/* 1165CC 7F0E1A9C 3C088009 */ lui $t0, %hi(ptr_pc_keyboard_table_alloc) -/* 1165D0 7F0E1AA0 8D08E334 */ lw $t0, %lo(ptr_pc_keyboard_table_alloc)($t0) -/* 1165D4 7F0E1AA4 020E8026 */ xor $s0, $s0, $t6 -/* 1165D8 7F0E1AA8 320C00FF */ andi $t4, $s0, 0xff -/* 1165DC 7F0E1AAC 2D8D0001 */ sltiu $t5, $t4, 1 -/* 1165E0 7F0E1AB0 AFAD0048 */ sw $t5, 0x48($sp) -/* 1165E4 7F0E1AB4 01885821 */ addu $t3, $t4, $t0 -/* 1165E8 7F0E1AB8 916A0000 */ lbu $t2, ($t3) -/* 1165EC 7F0E1ABC 01808025 */ move $s0, $t4 -/* 1165F0 7F0E1AC0 319900A8 */ andi $t9, $t4, 0xa8 -/* 1165F4 7F0E1AC4 97AC0298 */ lhu $t4, 0x298($sp) -/* 1165F8 7F0E1AC8 000D4980 */ sll $t1, $t5, 6 -/* 1165FC 7F0E1ACC 0329C025 */ or $t8, $t9, $t1 -/* 116600 7F0E1AD0 01588825 */ or $s1, $t2, $t8 -/* 116604 7F0E1AD4 322E00FF */ andi $t6, $s1, 0xff -/* 116608 7F0E1AD8 258D0001 */ addiu $t5, $t4, 1 -/* 11660C 7F0E1ADC 01C08825 */ move $s1, $t6 -/* 116610 7F0E1AE0 10000346 */ b .L7F0E27FC -/* 116614 7F0E1AE4 A7AD0298 */ sh $t5, 0x298($sp) -spectrum_op_EF: -/* 116618 7F0E1AE8 97A90292 */ lhu $t1, 0x292($sp) -/* 11661C 7F0E1AEC 8FAF028C */ lw $t7, 0x28c($sp) -/* 116620 7F0E1AF0 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 116624 7F0E1AF4 2528FFFE */ addiu $t0, $t1, -2 -/* 116628 7F0E1AF8 310BFFFF */ andi $t3, $t0, 0xffff -/* 11662C 7F0E1AFC 29615B00 */ slti $at, $t3, 0x5b00 -/* 116630 7F0E1B00 25F9000B */ addiu $t9, $t7, 0xb -/* 116634 7F0E1B04 AFB9028C */ sw $t9, 0x28c($sp) -/* 116638 7F0E1B08 14200006 */ bnez $at, .L7F0E1B24 -/* 11663C 7F0E1B0C A7A80292 */ sh $t0, 0x292($sp) -/* 116640 7F0E1B10 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 116644 7F0E1B14 97AA0298 */ lhu $t2, 0x298($sp) -/* 116648 7F0E1B18 030B7021 */ addu $t6, $t8, $t3 -/* 11664C 7F0E1B1C 10000023 */ b .L7F0E1BAC -/* 116650 7F0E1B20 A1CA0000 */ sb $t2, ($t6) -.L7F0E1B24: -/* 116654 7F0E1B24 97AC0292 */ lhu $t4, 0x292($sp) -/* 116658 7F0E1B28 97AA0292 */ lhu $t2, 0x292($sp) -/* 11665C 7F0E1B2C 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 116660 7F0E1B30 29815800 */ slti $at, $t4, 0x5800 -/* 116664 7F0E1B34 5420000D */ bnezl $at, .L7F0E1B6C -/* 116668 7F0E1B38 29414000 */ slti $at, $t2, 0x4000 -/* 11666C 7F0E1B3C 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 116670 7F0E1B40 97AD0298 */ lhu $t5, 0x298($sp) -/* 116674 7F0E1B44 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 116678 7F0E1B48 01ECC821 */ addu $t9, $t7, $t4 -/* 11667C 7F0E1B4C A32D0000 */ sb $t5, ($t9) -/* 116680 7F0E1B50 97B80292 */ lhu $t8, 0x292($sp) -/* 116684 7F0E1B54 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 116688 7F0E1B58 24090001 */ li $t1, 1 -/* 11668C 7F0E1B5C 01185821 */ addu $t3, $t0, $t8 -/* 116690 7F0E1B60 10000012 */ b .L7F0E1BAC -/* 116694 7F0E1B64 A169A800 */ sb $t1, -0x5800($t3) -/* 116698 7F0E1B68 29414000 */ slti $at, $t2, 0x4000 -.L7F0E1B6C: -/* 11669C 7F0E1B6C 1420000F */ bnez $at, .L7F0E1BAC -/* 1166A0 7F0E1B70 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1166A4 7F0E1B74 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1166A8 7F0E1B78 97AE0298 */ lhu $t6, 0x298($sp) -/* 1166AC 7F0E1B7C 240D0001 */ li $t5, 1 -/* 1166B0 7F0E1B80 01EA6021 */ addu $t4, $t7, $t2 -/* 1166B4 7F0E1B84 A18E0000 */ sb $t6, ($t4) -/* 1166B8 7F0E1B88 97B90292 */ lhu $t9, 0x292($sp) -/* 1166BC 7F0E1B8C 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 1166C0 7F0E1B90 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 1166C4 7F0E1B94 33281800 */ andi $t0, $t9, 0x1800 -/* 1166C8 7F0E1B98 0008C0C3 */ sra $t8, $t0, 3 -/* 1166CC 7F0E1B9C 332900FF */ andi $t1, $t9, 0xff -/* 1166D0 7F0E1BA0 03095825 */ or $t3, $t8, $t1 -/* 1166D4 7F0E1BA4 01EB5021 */ addu $t2, $t7, $t3 -/* 1166D8 7F0E1BA8 A14D0000 */ sb $t5, ($t2) -.L7F0E1BAC: -/* 1166DC 7F0E1BAC 97AE0292 */ lhu $t6, 0x292($sp) -/* 1166E0 7F0E1BB0 97AF0292 */ lhu $t7, 0x292($sp) -/* 1166E4 7F0E1BB4 97A80298 */ lhu $t0, 0x298($sp) -/* 1166E8 7F0E1BB8 25CC0001 */ addiu $t4, $t6, 1 -/* 1166EC 7F0E1BBC 29815B00 */ slti $at, $t4, 0x5b00 -/* 1166F0 7F0E1BC0 14200007 */ bnez $at, .L7F0E1BE0 -/* 1166F4 7F0E1BC4 25EB0001 */ addiu $t3, $t7, 1 -/* 1166F8 7F0E1BC8 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1166FC 7F0E1BCC 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 116700 7F0E1BD0 0008CA03 */ sra $t9, $t0, 8 -/* 116704 7F0E1BD4 030E4821 */ addu $t1, $t8, $t6 -/* 116708 7F0E1BD8 10000025 */ b .L7F0E1C70 -/* 11670C 7F0E1BDC A1390001 */ sb $t9, 1($t1) -.L7F0E1BE0: -/* 116710 7F0E1BE0 29615800 */ slti $at, $t3, 0x5800 -/* 116714 7F0E1BE4 1420000E */ bnez $at, .L7F0E1C20 -/* 116718 7F0E1BE8 97AB0292 */ lhu $t3, 0x292($sp) -/* 11671C 7F0E1BEC 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 116720 7F0E1BF0 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 116724 7F0E1BF4 97AD0298 */ lhu $t5, 0x298($sp) -/* 116728 7F0E1BF8 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 11672C 7F0E1BFC 018F4021 */ addu $t0, $t4, $t7 -/* 116730 7F0E1C00 000D5203 */ sra $t2, $t5, 8 -/* 116734 7F0E1C04 A10A0001 */ sb $t2, 1($t0) -/* 116738 7F0E1C08 97B90292 */ lhu $t9, 0x292($sp) -/* 11673C 7F0E1C0C 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 116740 7F0E1C10 24180001 */ li $t8, 1 -/* 116744 7F0E1C14 01D94821 */ addu $t1, $t6, $t9 -/* 116748 7F0E1C18 10000015 */ b .L7F0E1C70 -/* 11674C 7F0E1C1C A138A801 */ sb $t8, -0x57ff($t1) -.L7F0E1C20: -/* 116750 7F0E1C20 256D0001 */ addiu $t5, $t3, 1 -/* 116754 7F0E1C24 29A14000 */ slti $at, $t5, 0x4000 -/* 116758 7F0E1C28 14200011 */ bnez $at, .L7F0E1C70 -/* 11675C 7F0E1C2C 97AC0298 */ lhu $t4, 0x298($sp) -/* 116760 7F0E1C30 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 116764 7F0E1C34 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 116768 7F0E1C38 000C7A03 */ sra $t7, $t4, 8 -/* 11676C 7F0E1C3C 240E0001 */ li $t6, 1 -/* 116770 7F0E1C40 014B4021 */ addu $t0, $t2, $t3 -/* 116774 7F0E1C44 A10F0001 */ sb $t7, 1($t0) -/* 116778 7F0E1C48 97B90292 */ lhu $t9, 0x292($sp) -/* 11677C 7F0E1C4C 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 116780 7F0E1C50 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 116784 7F0E1C54 27380001 */ addiu $t8, $t9, 1 -/* 116788 7F0E1C58 33091800 */ andi $t1, $t8, 0x1800 -/* 11678C 7F0E1C5C 000968C3 */ sra $t5, $t1, 3 -/* 116790 7F0E1C60 330C00FF */ andi $t4, $t8, 0xff -/* 116794 7F0E1C64 01AC5025 */ or $t2, $t5, $t4 -/* 116798 7F0E1C68 016A7821 */ addu $t7, $t3, $t2 -/* 11679C 7F0E1C6C A1EE0000 */ sb $t6, ($t7) -.L7F0E1C70: -/* 1167A0 7F0E1C70 24080028 */ li $t0, 40 -/* 1167A4 7F0E1C74 100002E1 */ b .L7F0E27FC -/* 1167A8 7F0E1C78 A7A80298 */ sh $t0, 0x298($sp) -spectrum_op_F0: -/* 1167AC 7F0E1C7C 8FB9028C */ lw $t9, 0x28c($sp) -/* 1167B0 7F0E1C80 32380080 */ andi $t8, $s1, 0x80 -/* 1167B4 7F0E1C84 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 1167B8 7F0E1C88 27290005 */ addiu $t1, $t9, 5 -/* 1167BC 7F0E1C8C 170002DB */ bnez $t8, .L7F0E27FC -/* 1167C0 7F0E1C90 AFA9028C */ sw $t1, 0x28c($sp) -/* 1167C4 7F0E1C94 97AB0292 */ lhu $t3, 0x292($sp) -/* 1167C8 7F0E1C98 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 1167CC 7F0E1C9C 252C0006 */ addiu $t4, $t1, 6 -/* 1167D0 7F0E1CA0 AFAC028C */ sw $t4, 0x28c($sp) -/* 1167D4 7F0E1CA4 014B4021 */ addu $t0, $t2, $t3 -/* 1167D8 7F0E1CA8 91190001 */ lbu $t9, 1($t0) -/* 1167DC 7F0E1CAC 016A7021 */ addu $t6, $t3, $t2 -/* 1167E0 7F0E1CB0 91CF0000 */ lbu $t7, ($t6) -/* 1167E4 7F0E1CB4 00194A00 */ sll $t1, $t9, 8 -/* 1167E8 7F0E1CB8 256D0002 */ addiu $t5, $t3, 2 -/* 1167EC 7F0E1CBC 01E9C025 */ or $t8, $t7, $t1 -/* 1167F0 7F0E1CC0 A7B80298 */ sh $t8, 0x298($sp) -/* 1167F4 7F0E1CC4 100002CD */ b .L7F0E27FC -/* 1167F8 7F0E1CC8 A7AD0292 */ sh $t5, 0x292($sp) -spectrum_op_F1: -/* 1167FC 7F0E1CCC 8FAC028C */ lw $t4, 0x28c($sp) -/* 116800 7F0E1CD0 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 116804 7F0E1CD4 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 116808 7F0E1CD8 97AA0292 */ lhu $t2, 0x292($sp) -/* 11680C 7F0E1CDC 258E000A */ addiu $t6, $t4, 0xa -/* 116810 7F0E1CE0 AFAE028C */ sw $t6, 0x28c($sp) -/* 116814 7F0E1CE4 0148C821 */ addu $t9, $t2, $t0 -/* 116818 7F0E1CE8 93310000 */ lbu $s1, ($t9) -/* 11681C 7F0E1CEC 93300001 */ lbu $s0, 1($t9) -/* 116820 7F0E1CF0 254F0002 */ addiu $t7, $t2, 2 -/* 116824 7F0E1CF4 100002C1 */ b .L7F0E27FC -/* 116828 7F0E1CF8 A7AF0292 */ sh $t7, 0x292($sp) -spectrum_op_F2: -/* 11682C 7F0E1CFC 8FA9028C */ lw $t1, 0x28c($sp) -/* 116830 7F0E1D00 322B0080 */ andi $t3, $s1, 0x80 -/* 116834 7F0E1D04 97AD0298 */ lhu $t5, 0x298($sp) -/* 116838 7F0E1D08 2538000A */ addiu $t8, $t1, 0xa -/* 11683C 7F0E1D0C 1560000B */ bnez $t3, .L7F0E1D3C -/* 116840 7F0E1D10 AFB8028C */ sw $t8, 0x28c($sp) -/* 116844 7F0E1D14 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 116848 7F0E1D18 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 11684C 7F0E1D1C 018DC821 */ addu $t9, $t4, $t5 -/* 116850 7F0E1D20 932A0001 */ lbu $t2, 1($t9) -/* 116854 7F0E1D24 01AC7021 */ addu $t6, $t5, $t4 -/* 116858 7F0E1D28 91C80000 */ lbu $t0, ($t6) -/* 11685C 7F0E1D2C 000A7A00 */ sll $t7, $t2, 8 -/* 116860 7F0E1D30 010F4825 */ or $t1, $t0, $t7 -/* 116864 7F0E1D34 100002B1 */ b .L7F0E27FC -/* 116868 7F0E1D38 A7A90298 */ sh $t1, 0x298($sp) -.L7F0E1D3C: -/* 11686C 7F0E1D3C 97B80298 */ lhu $t8, 0x298($sp) -/* 116870 7F0E1D40 270B0002 */ addiu $t3, $t8, 2 -/* 116874 7F0E1D44 100002AD */ b .L7F0E27FC -/* 116878 7F0E1D48 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_F3: -/* 11687C 7F0E1D4C 8FAE028C */ lw $t6, 0x28c($sp) -/* 116880 7F0E1D50 A3A0029C */ sb $zero, 0x29c($sp) -/* 116884 7F0E1D54 A3A0029D */ sb $zero, 0x29d($sp) -/* 116888 7F0E1D58 25CC0004 */ addiu $t4, $t6, 4 -/* 11688C 7F0E1D5C AFAC028C */ sw $t4, 0x28c($sp) -/* 116890 7F0E1D60 100002A6 */ b .L7F0E27FC -/* 116894 7F0E1D64 A3A00285 */ sb $zero, 0x285($sp) -spectrum_op_F4: -/* 116898 7F0E1D68 8FAD028C */ lw $t5, 0x28c($sp) -/* 11689C 7F0E1D6C 322A0080 */ andi $t2, $s1, 0x80 -/* 1168A0 7F0E1D70 25B9000A */ addiu $t9, $t5, 0xa -/* 1168A4 7F0E1D74 15400072 */ bnez $t2, .L7F0E1F40 -/* 1168A8 7F0E1D78 AFB9028C */ sw $t9, 0x28c($sp) -/* 1168AC 7F0E1D7C 97A90292 */ lhu $t1, 0x292($sp) -/* 1168B0 7F0E1D80 272F0007 */ addiu $t7, $t9, 7 -/* 1168B4 7F0E1D84 AFAF028C */ sw $t7, 0x28c($sp) -/* 1168B8 7F0E1D88 2538FFFE */ addiu $t8, $t1, -2 -/* 1168BC 7F0E1D8C 330BFFFF */ andi $t3, $t8, 0xffff -/* 1168C0 7F0E1D90 29615B00 */ slti $at, $t3, 0x5b00 -/* 1168C4 7F0E1D94 14200008 */ bnez $at, .L7F0E1DB8 -/* 1168C8 7F0E1D98 A7B80292 */ sh $t8, 0x292($sp) -/* 1168CC 7F0E1D9C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1168D0 7F0E1DA0 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1168D4 7F0E1DA4 97AE0298 */ lhu $t6, 0x298($sp) -/* 1168D8 7F0E1DA8 01ABC821 */ addu $t9, $t5, $t3 -/* 1168DC 7F0E1DAC 25CC0002 */ addiu $t4, $t6, 2 -/* 1168E0 7F0E1DB0 10000024 */ b .L7F0E1E44 -/* 1168E4 7F0E1DB4 A32C0000 */ sb $t4, ($t9) -.L7F0E1DB8: -/* 1168E8 7F0E1DB8 97AA0292 */ lhu $t2, 0x292($sp) -/* 1168EC 7F0E1DBC 97B90292 */ lhu $t9, 0x292($sp) -/* 1168F0 7F0E1DC0 97A80298 */ lhu $t0, 0x298($sp) -/* 1168F4 7F0E1DC4 29415800 */ slti $at, $t2, 0x5800 -/* 1168F8 7F0E1DC8 1420000C */ bnez $at, .L7F0E1DFC -/* 1168FC 7F0E1DCC 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 116900 7F0E1DD0 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 116904 7F0E1DD4 250F0002 */ addiu $t7, $t0, 2 -/* 116908 7F0E1DD8 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 11690C 7F0E1DDC 012AC021 */ addu $t8, $t1, $t2 -/* 116910 7F0E1DE0 A30F0000 */ sb $t7, ($t8) -/* 116914 7F0E1DE4 97AB0292 */ lhu $t3, 0x292($sp) -/* 116918 7F0E1DE8 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 11691C 7F0E1DEC 240E0001 */ li $t6, 1 -/* 116920 7F0E1DF0 01AB6021 */ addu $t4, $t5, $t3 -/* 116924 7F0E1DF4 10000013 */ b .L7F0E1E44 -/* 116928 7F0E1DF8 A18EA800 */ sb $t6, -0x5800($t4) -.L7F0E1DFC: -/* 11692C 7F0E1DFC 2B214000 */ slti $at, $t9, 0x4000 -/* 116930 7F0E1E00 14200010 */ bnez $at, .L7F0E1E44 -/* 116934 7F0E1E04 97A80298 */ lhu $t0, 0x298($sp) -/* 116938 7F0E1E08 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 11693C 7F0E1E0C 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 116940 7F0E1E10 25090002 */ addiu $t1, $t0, 2 -/* 116944 7F0E1E14 24180001 */ li $t8, 1 -/* 116948 7F0E1E18 01597821 */ addu $t7, $t2, $t9 -/* 11694C 7F0E1E1C A1E90000 */ sb $t1, ($t7) -/* 116950 7F0E1E20 97AD0292 */ lhu $t5, 0x292($sp) -/* 116954 7F0E1E24 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 116958 7F0E1E28 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 11695C 7F0E1E2C 31AB1800 */ andi $t3, $t5, 0x1800 -/* 116960 7F0E1E30 000B70C3 */ sra $t6, $t3, 3 -/* 116964 7F0E1E34 31AC00FF */ andi $t4, $t5, 0xff -/* 116968 7F0E1E38 01CC4025 */ or $t0, $t6, $t4 -/* 11696C 7F0E1E3C 0148C821 */ addu $t9, $t2, $t0 -/* 116970 7F0E1E40 A3380000 */ sb $t8, ($t9) -.L7F0E1E44: -/* 116974 7F0E1E44 97A90292 */ lhu $t1, 0x292($sp) -/* 116978 7F0E1E48 97A80292 */ lhu $t0, 0x292($sp) -/* 11697C 7F0E1E4C 97AB0298 */ lhu $t3, 0x298($sp) -/* 116980 7F0E1E50 252F0001 */ addiu $t7, $t1, 1 -/* 116984 7F0E1E54 29E15B00 */ slti $at, $t7, 0x5b00 -/* 116988 7F0E1E58 14200008 */ bnez $at, .L7F0E1E7C -/* 11698C 7F0E1E5C 25180001 */ addiu $t8, $t0, 1 -/* 116990 7F0E1E60 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 116994 7F0E1E64 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 116998 7F0E1E68 256D0002 */ addiu $t5, $t3, 2 -/* 11699C 7F0E1E6C 000D7203 */ sra $t6, $t5, 8 -/* 1169A0 7F0E1E70 01895021 */ addu $t2, $t4, $t1 -/* 1169A4 7F0E1E74 10000027 */ b .L7F0E1F14 -/* 1169A8 7F0E1E78 A14E0001 */ sb $t6, 1($t2) -.L7F0E1E7C: -/* 1169AC 7F0E1E7C 2B015800 */ slti $at, $t8, 0x5800 -/* 1169B0 7F0E1E80 1420000F */ bnez $at, .L7F0E1EC0 -/* 1169B4 7F0E1E84 97B90292 */ lhu $t9, 0x292($sp) -/* 1169B8 7F0E1E88 97B90298 */ lhu $t9, 0x298($sp) -/* 1169BC 7F0E1E8C 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1169C0 7F0E1E90 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1169C4 7F0E1E94 272F0002 */ addiu $t7, $t9, 2 -/* 1169C8 7F0E1E98 000F5A03 */ sra $t3, $t7, 8 -/* 1169CC 7F0E1E9C 01A86021 */ addu $t4, $t5, $t0 -/* 1169D0 7F0E1EA0 A18B0001 */ sb $t3, 1($t4) -/* 1169D4 7F0E1EA4 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 1169D8 7F0E1EA8 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 1169DC 7F0E1EAC 97AA0292 */ lhu $t2, 0x292($sp) -/* 1169E0 7F0E1EB0 24090001 */ li $t1, 1 -/* 1169E4 7F0E1EB4 01CAC021 */ addu $t8, $t6, $t2 -/* 1169E8 7F0E1EB8 10000016 */ b .L7F0E1F14 -/* 1169EC 7F0E1EBC A309A801 */ sb $t1, -0x57ff($t8) -.L7F0E1EC0: -/* 1169F0 7F0E1EC0 272F0001 */ addiu $t7, $t9, 1 -/* 1169F4 7F0E1EC4 29E14000 */ slti $at, $t7, 0x4000 -/* 1169F8 7F0E1EC8 14200012 */ bnez $at, .L7F0E1F14 -/* 1169FC 7F0E1ECC 97AD0298 */ lhu $t5, 0x298($sp) -/* 116A00 7F0E1ED0 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 116A04 7F0E1ED4 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 116A08 7F0E1ED8 25A80002 */ addiu $t0, $t5, 2 -/* 116A0C 7F0E1EDC 00085A03 */ sra $t3, $t0, 8 -/* 116A10 7F0E1EE0 01997021 */ addu $t6, $t4, $t9 -/* 116A14 7F0E1EE4 A1CB0001 */ sb $t3, 1($t6) -/* 116A18 7F0E1EE8 97A90292 */ lhu $t1, 0x292($sp) -/* 116A1C 7F0E1EEC 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 116A20 7F0E1EF0 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 116A24 7F0E1EF4 25380001 */ addiu $t8, $t1, 1 -/* 116A28 7F0E1EF8 330F1800 */ andi $t7, $t8, 0x1800 -/* 116A2C 7F0E1EFC 000F68C3 */ sra $t5, $t7, 3 -/* 116A30 7F0E1F00 330800FF */ andi $t0, $t8, 0xff -/* 116A34 7F0E1F04 01A86025 */ or $t4, $t5, $t0 -/* 116A38 7F0E1F08 240A0001 */ li $t2, 1 -/* 116A3C 7F0E1F0C 032C5821 */ addu $t3, $t9, $t4 -/* 116A40 7F0E1F10 A16A0000 */ sb $t2, ($t3) -.L7F0E1F14: -/* 116A44 7F0E1F14 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 116A48 7F0E1F18 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 116A4C 7F0E1F1C 97AE0298 */ lhu $t6, 0x298($sp) -/* 116A50 7F0E1F20 012E6821 */ addu $t5, $t1, $t6 -/* 116A54 7F0E1F24 91A80001 */ lbu $t0, 1($t5) -/* 116A58 7F0E1F28 01C97821 */ addu $t7, $t6, $t1 -/* 116A5C 7F0E1F2C 91F80000 */ lbu $t8, ($t7) -/* 116A60 7F0E1F30 0008CA00 */ sll $t9, $t0, 8 -/* 116A64 7F0E1F34 03196025 */ or $t4, $t8, $t9 -/* 116A68 7F0E1F38 10000230 */ b .L7F0E27FC -/* 116A6C 7F0E1F3C A7AC0298 */ sh $t4, 0x298($sp) -.L7F0E1F40: -/* 116A70 7F0E1F40 97AA0298 */ lhu $t2, 0x298($sp) -/* 116A74 7F0E1F44 254B0002 */ addiu $t3, $t2, 2 -/* 116A78 7F0E1F48 1000022C */ b .L7F0E27FC -/* 116A7C 7F0E1F4C A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_F5: -/* 116A80 7F0E1F50 97AE0292 */ lhu $t6, 0x292($sp) -/* 116A84 7F0E1F54 8FAF028C */ lw $t7, 0x28c($sp) -/* 116A88 7F0E1F58 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 116A8C 7F0E1F5C 25CDFFFE */ addiu $t5, $t6, -2 -/* 116A90 7F0E1F60 31A8FFFF */ andi $t0, $t5, 0xffff -/* 116A94 7F0E1F64 29015B00 */ slti $at, $t0, 0x5b00 -/* 116A98 7F0E1F68 25E9000B */ addiu $t1, $t7, 0xb -/* 116A9C 7F0E1F6C AFA9028C */ sw $t1, 0x28c($sp) -/* 116AA0 7F0E1F70 14200005 */ bnez $at, .L7F0E1F88 -/* 116AA4 7F0E1F74 A7AD0292 */ sh $t5, 0x292($sp) -/* 116AA8 7F0E1F78 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 116AAC 7F0E1F7C 0308C821 */ addu $t9, $t8, $t0 -/* 116AB0 7F0E1F80 10000021 */ b .L7F0E2008 -/* 116AB4 7F0E1F84 A3310000 */ sb $s1, ($t9) -.L7F0E1F88: -/* 116AB8 7F0E1F88 97AC0292 */ lhu $t4, 0x292($sp) -/* 116ABC 7F0E1F8C 97B80292 */ lhu $t8, 0x292($sp) -/* 116AC0 7F0E1F90 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 116AC4 7F0E1F94 29815800 */ slti $at, $t4, 0x5800 -/* 116AC8 7F0E1F98 5420000C */ bnezl $at, .L7F0E1FCC -/* 116ACC 7F0E1F9C 2B014000 */ slti $at, $t8, 0x4000 -/* 116AD0 7F0E1FA0 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 116AD4 7F0E1FA4 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 116AD8 7F0E1FA8 240F0001 */ li $t7, 1 -/* 116ADC 7F0E1FAC 014C5821 */ addu $t3, $t2, $t4 -/* 116AE0 7F0E1FB0 A1710000 */ sb $s1, ($t3) -/* 116AE4 7F0E1FB4 97AE0292 */ lhu $t6, 0x292($sp) -/* 116AE8 7F0E1FB8 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 116AEC 7F0E1FBC 012E6821 */ addu $t5, $t1, $t6 -/* 116AF0 7F0E1FC0 10000011 */ b .L7F0E2008 -/* 116AF4 7F0E1FC4 A1AFA800 */ sb $t7, -0x5800($t5) -/* 116AF8 7F0E1FC8 2B014000 */ slti $at, $t8, 0x4000 -.L7F0E1FCC: -/* 116AFC 7F0E1FCC 1420000E */ bnez $at, .L7F0E2008 -/* 116B00 7F0E1FD0 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 116B04 7F0E1FD4 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 116B08 7F0E1FD8 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 116B0C 7F0E1FDC 240A0001 */ li $t2, 1 -/* 116B10 7F0E1FE0 0118C821 */ addu $t9, $t0, $t8 -/* 116B14 7F0E1FE4 A3310000 */ sb $s1, ($t9) -/* 116B18 7F0E1FE8 97AC0292 */ lhu $t4, 0x292($sp) -/* 116B1C 7F0E1FEC 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 116B20 7F0E1FF0 318B1800 */ andi $t3, $t4, 0x1800 -/* 116B24 7F0E1FF4 000B48C3 */ sra $t1, $t3, 3 -/* 116B28 7F0E1FF8 318E00FF */ andi $t6, $t4, 0xff -/* 116B2C 7F0E1FFC 012E7825 */ or $t7, $t1, $t6 -/* 116B30 7F0E2000 01AF4021 */ addu $t0, $t5, $t7 -/* 116B34 7F0E2004 A10A0000 */ sb $t2, ($t0) -.L7F0E2008: -/* 116B38 7F0E2008 97B80292 */ lhu $t8, 0x292($sp) -/* 116B3C 7F0E200C 97A90292 */ lhu $t1, 0x292($sp) -/* 116B40 7F0E2010 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 116B44 7F0E2014 27190001 */ addiu $t9, $t8, 1 -/* 116B48 7F0E2018 2B215B00 */ slti $at, $t9, 0x5b00 -/* 116B4C 7F0E201C 14200005 */ bnez $at, .L7F0E2034 -/* 116B50 7F0E2020 252E0001 */ addiu $t6, $t1, 1 -/* 116B54 7F0E2024 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 116B58 7F0E2028 01786021 */ addu $t4, $t3, $t8 -/* 116B5C 7F0E202C 100001F3 */ b .L7F0E27FC -/* 116B60 7F0E2030 A1900001 */ sb $s0, 1($t4) -.L7F0E2034: -/* 116B64 7F0E2034 29C15800 */ slti $at, $t6, 0x5800 -/* 116B68 7F0E2038 1420000C */ bnez $at, .L7F0E206C -/* 116B6C 7F0E203C 97B80292 */ lhu $t8, 0x292($sp) -/* 116B70 7F0E2040 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 116B74 7F0E2044 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 116B78 7F0E2048 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 116B7C 7F0E204C 240A0001 */ li $t2, 1 -/* 116B80 7F0E2050 01A97821 */ addu $t7, $t5, $t1 -/* 116B84 7F0E2054 A1F00001 */ sb $s0, 1($t7) -/* 116B88 7F0E2058 97B90292 */ lhu $t9, 0x292($sp) -/* 116B8C 7F0E205C 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 116B90 7F0E2060 01195821 */ addu $t3, $t0, $t9 -/* 116B94 7F0E2064 100001E5 */ b .L7F0E27FC -/* 116B98 7F0E2068 A16AA801 */ sb $t2, -0x57ff($t3) -.L7F0E206C: -/* 116B9C 7F0E206C 270C0001 */ addiu $t4, $t8, 1 -/* 116BA0 7F0E2070 29814000 */ slti $at, $t4, 0x4000 -/* 116BA4 7F0E2074 142001E1 */ bnez $at, .L7F0E27FC -/* 116BA8 7F0E2078 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 116BAC 7F0E207C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 116BB0 7F0E2080 24090001 */ li $t1, 1 -/* 116BB4 7F0E2084 01D86821 */ addu $t5, $t6, $t8 -/* 116BB8 7F0E2088 A1B00001 */ sb $s0, 1($t5) -/* 116BBC 7F0E208C 97AF0292 */ lhu $t7, 0x292($sp) -/* 116BC0 7F0E2090 3C0E8009 */ lui $t6, %hi(ptr_300alloc) -/* 116BC4 7F0E2094 8DCEE32C */ lw $t6, %lo(ptr_300alloc)($t6) -/* 116BC8 7F0E2098 25E80001 */ addiu $t0, $t7, 1 -/* 116BCC 7F0E209C 31191800 */ andi $t9, $t0, 0x1800 -/* 116BD0 7F0E20A0 001950C3 */ sra $t2, $t9, 3 -/* 116BD4 7F0E20A4 310B00FF */ andi $t3, $t0, 0xff -/* 116BD8 7F0E20A8 014B6025 */ or $t4, $t2, $t3 -/* 116BDC 7F0E20AC 01CCC021 */ addu $t8, $t6, $t4 -/* 116BE0 7F0E20B0 100001D2 */ b .L7F0E27FC -/* 116BE4 7F0E20B4 A3090000 */ sb $t1, ($t8) -spectrum_op_F6: -/* 116BE8 7F0E20B8 8FAD028C */ lw $t5, 0x28c($sp) -/* 116BEC 7F0E20BC 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 116BF0 7F0E20C0 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 116BF4 7F0E20C4 97A80298 */ lhu $t0, 0x298($sp) -/* 116BF8 7F0E20C8 25AF0007 */ addiu $t7, $t5, 7 -/* 116BFC 7F0E20CC AFAF028C */ sw $t7, 0x28c($sp) -/* 116C00 7F0E20D0 03285021 */ addu $t2, $t9, $t0 -/* 116C04 7F0E20D4 914B0000 */ lbu $t3, ($t2) -/* 116C08 7F0E20D8 3C198009 */ lui $t9, %hi(ptr_pc_keyboard_table_alloc) -/* 116C0C 7F0E20DC 8F39E334 */ lw $t9, %lo(ptr_pc_keyboard_table_alloc)($t9) -/* 116C10 7F0E20E0 020B8025 */ or $s0, $s0, $t3 -/* 116C14 7F0E20E4 320E00FF */ andi $t6, $s0, 0xff -/* 116C18 7F0E20E8 2DCC0001 */ sltiu $t4, $t6, 1 -/* 116C1C 7F0E20EC AFAC0048 */ sw $t4, 0x48($sp) -/* 116C20 7F0E20F0 01D94021 */ addu $t0, $t6, $t9 -/* 116C24 7F0E20F4 910A0000 */ lbu $t2, ($t0) -/* 116C28 7F0E20F8 01C08025 */ move $s0, $t6 -/* 116C2C 7F0E20FC 31C900A8 */ andi $t1, $t6, 0xa8 -/* 116C30 7F0E2100 97AE0298 */ lhu $t6, 0x298($sp) -/* 116C34 7F0E2104 000C6980 */ sll $t5, $t4, 6 -/* 116C38 7F0E2108 012D7825 */ or $t7, $t1, $t5 -/* 116C3C 7F0E210C 014F8825 */ or $s1, $t2, $t7 -/* 116C40 7F0E2110 322B00FF */ andi $t3, $s1, 0xff -/* 116C44 7F0E2114 25CC0001 */ addiu $t4, $t6, 1 -/* 116C48 7F0E2118 01608825 */ move $s1, $t3 -/* 116C4C 7F0E211C 100001B7 */ b .L7F0E27FC -/* 116C50 7F0E2120 A7AC0298 */ sh $t4, 0x298($sp) -spectrum_op_F7: -/* 116C54 7F0E2124 97AD0292 */ lhu $t5, 0x292($sp) -/* 116C58 7F0E2128 8FB8028C */ lw $t8, 0x28c($sp) -/* 116C5C 7F0E212C 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 116C60 7F0E2130 25B9FFFE */ addiu $t9, $t5, -2 -/* 116C64 7F0E2134 3328FFFF */ andi $t0, $t9, 0xffff -/* 116C68 7F0E2138 29015B00 */ slti $at, $t0, 0x5b00 -/* 116C6C 7F0E213C 2709000B */ addiu $t1, $t8, 0xb -/* 116C70 7F0E2140 AFA9028C */ sw $t1, 0x28c($sp) -/* 116C74 7F0E2144 14200006 */ bnez $at, .L7F0E2160 -/* 116C78 7F0E2148 A7B90292 */ sh $t9, 0x292($sp) -/* 116C7C 7F0E214C 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 116C80 7F0E2150 97AA0298 */ lhu $t2, 0x298($sp) -/* 116C84 7F0E2154 01E85821 */ addu $t3, $t7, $t0 -/* 116C88 7F0E2158 10000023 */ b .L7F0E21E8 -/* 116C8C 7F0E215C A16A0000 */ sb $t2, ($t3) -.L7F0E2160: -/* 116C90 7F0E2160 97AE0292 */ lhu $t6, 0x292($sp) -/* 116C94 7F0E2164 97AA0292 */ lhu $t2, 0x292($sp) -/* 116C98 7F0E2168 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 116C9C 7F0E216C 29C15800 */ slti $at, $t6, 0x5800 -/* 116CA0 7F0E2170 5420000D */ bnezl $at, .L7F0E21A8 -/* 116CA4 7F0E2174 29414000 */ slti $at, $t2, 0x4000 -/* 116CA8 7F0E2178 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 116CAC 7F0E217C 97AC0298 */ lhu $t4, 0x298($sp) -/* 116CB0 7F0E2180 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 116CB4 7F0E2184 030E4821 */ addu $t1, $t8, $t6 -/* 116CB8 7F0E2188 A12C0000 */ sb $t4, ($t1) -/* 116CBC 7F0E218C 97AF0292 */ lhu $t7, 0x292($sp) -/* 116CC0 7F0E2190 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 116CC4 7F0E2194 240D0001 */ li $t5, 1 -/* 116CC8 7F0E2198 032F4021 */ addu $t0, $t9, $t7 -/* 116CCC 7F0E219C 10000012 */ b .L7F0E21E8 -/* 116CD0 7F0E21A0 A10DA800 */ sb $t5, -0x5800($t0) -/* 116CD4 7F0E21A4 29414000 */ slti $at, $t2, 0x4000 -.L7F0E21A8: -/* 116CD8 7F0E21A8 1420000F */ bnez $at, .L7F0E21E8 -/* 116CDC 7F0E21AC 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 116CE0 7F0E21B0 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 116CE4 7F0E21B4 97AB0298 */ lhu $t3, 0x298($sp) -/* 116CE8 7F0E21B8 240C0001 */ li $t4, 1 -/* 116CEC 7F0E21BC 030A7021 */ addu $t6, $t8, $t2 -/* 116CF0 7F0E21C0 A1CB0000 */ sb $t3, ($t6) -/* 116CF4 7F0E21C4 97A90292 */ lhu $t1, 0x292($sp) -/* 116CF8 7F0E21C8 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 116CFC 7F0E21CC 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 116D00 7F0E21D0 31391800 */ andi $t9, $t1, 0x1800 -/* 116D04 7F0E21D4 001978C3 */ sra $t7, $t9, 3 -/* 116D08 7F0E21D8 312D00FF */ andi $t5, $t1, 0xff -/* 116D0C 7F0E21DC 01ED4025 */ or $t0, $t7, $t5 -/* 116D10 7F0E21E0 03085021 */ addu $t2, $t8, $t0 -/* 116D14 7F0E21E4 A14C0000 */ sb $t4, ($t2) -.L7F0E21E8: -/* 116D18 7F0E21E8 97AB0292 */ lhu $t3, 0x292($sp) -/* 116D1C 7F0E21EC 97B80292 */ lhu $t8, 0x292($sp) -/* 116D20 7F0E21F0 97B90298 */ lhu $t9, 0x298($sp) -/* 116D24 7F0E21F4 256E0001 */ addiu $t6, $t3, 1 -/* 116D28 7F0E21F8 29C15B00 */ slti $at, $t6, 0x5b00 -/* 116D2C 7F0E21FC 14200007 */ bnez $at, .L7F0E221C -/* 116D30 7F0E2200 27080001 */ addiu $t0, $t8, 1 -/* 116D34 7F0E2204 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 116D38 7F0E2208 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 116D3C 7F0E220C 00194A03 */ sra $t1, $t9, 8 -/* 116D40 7F0E2210 01EB6821 */ addu $t5, $t7, $t3 -/* 116D44 7F0E2214 10000025 */ b .L7F0E22AC -/* 116D48 7F0E2218 A1A90001 */ sb $t1, 1($t5) -.L7F0E221C: -/* 116D4C 7F0E221C 29015800 */ slti $at, $t0, 0x5800 -/* 116D50 7F0E2220 1420000E */ bnez $at, .L7F0E225C -/* 116D54 7F0E2224 97A80292 */ lhu $t0, 0x292($sp) -/* 116D58 7F0E2228 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 116D5C 7F0E222C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 116D60 7F0E2230 97AC0298 */ lhu $t4, 0x298($sp) -/* 116D64 7F0E2234 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 116D68 7F0E2238 01D8C821 */ addu $t9, $t6, $t8 -/* 116D6C 7F0E223C 000C5203 */ sra $t2, $t4, 8 -/* 116D70 7F0E2240 A32A0001 */ sb $t2, 1($t9) -/* 116D74 7F0E2244 97A90292 */ lhu $t1, 0x292($sp) -/* 116D78 7F0E2248 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 116D7C 7F0E224C 240F0001 */ li $t7, 1 -/* 116D80 7F0E2250 01696821 */ addu $t5, $t3, $t1 -/* 116D84 7F0E2254 10000015 */ b .L7F0E22AC -/* 116D88 7F0E2258 A1AFA801 */ sb $t7, -0x57ff($t5) -.L7F0E225C: -/* 116D8C 7F0E225C 250C0001 */ addiu $t4, $t0, 1 -/* 116D90 7F0E2260 29814000 */ slti $at, $t4, 0x4000 -/* 116D94 7F0E2264 14200011 */ bnez $at, .L7F0E22AC -/* 116D98 7F0E2268 97AE0298 */ lhu $t6, 0x298($sp) -/* 116D9C 7F0E226C 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 116DA0 7F0E2270 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 116DA4 7F0E2274 000EC203 */ sra $t8, $t6, 8 -/* 116DA8 7F0E2278 240B0001 */ li $t3, 1 -/* 116DAC 7F0E227C 0148C821 */ addu $t9, $t2, $t0 -/* 116DB0 7F0E2280 A3380001 */ sb $t8, 1($t9) -/* 116DB4 7F0E2284 97A90292 */ lhu $t1, 0x292($sp) -/* 116DB8 7F0E2288 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 116DBC 7F0E228C 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 116DC0 7F0E2290 252F0001 */ addiu $t7, $t1, 1 -/* 116DC4 7F0E2294 31ED1800 */ andi $t5, $t7, 0x1800 -/* 116DC8 7F0E2298 000D60C3 */ sra $t4, $t5, 3 -/* 116DCC 7F0E229C 31EE00FF */ andi $t6, $t7, 0xff -/* 116DD0 7F0E22A0 018E5025 */ or $t2, $t4, $t6 -/* 116DD4 7F0E22A4 010AC021 */ addu $t8, $t0, $t2 -/* 116DD8 7F0E22A8 A30B0000 */ sb $t3, ($t8) -.L7F0E22AC: -/* 116DDC 7F0E22AC 24190030 */ li $t9, 48 -/* 116DE0 7F0E22B0 10000152 */ b .L7F0E27FC -/* 116DE4 7F0E22B4 A7B90298 */ sh $t9, 0x298($sp) -spectrum_op_F8: -/* 116DE8 7F0E22B8 8FA9028C */ lw $t1, 0x28c($sp) -/* 116DEC 7F0E22BC 322F0080 */ andi $t7, $s1, 0x80 -/* 116DF0 7F0E22C0 3C0A8009 */ lui $t2, %hi(ptr_spectrum_roms) -/* 116DF4 7F0E22C4 252D0005 */ addiu $t5, $t1, 5 -/* 116DF8 7F0E22C8 11E0014C */ beqz $t7, .L7F0E27FC -/* 116DFC 7F0E22CC AFAD028C */ sw $t5, 0x28c($sp) -/* 116E00 7F0E22D0 97A80292 */ lhu $t0, 0x292($sp) -/* 116E04 7F0E22D4 8D4AE328 */ lw $t2, %lo(ptr_spectrum_roms)($t2) -/* 116E08 7F0E22D8 25AE0006 */ addiu $t6, $t5, 6 -/* 116E0C 7F0E22DC AFAE028C */ sw $t6, 0x28c($sp) -/* 116E10 7F0E22E0 0148C821 */ addu $t9, $t2, $t0 -/* 116E14 7F0E22E4 93290001 */ lbu $t1, 1($t9) -/* 116E18 7F0E22E8 010A5821 */ addu $t3, $t0, $t2 -/* 116E1C 7F0E22EC 91780000 */ lbu $t8, ($t3) -/* 116E20 7F0E22F0 00096A00 */ sll $t5, $t1, 8 -/* 116E24 7F0E22F4 250C0002 */ addiu $t4, $t0, 2 -/* 116E28 7F0E22F8 030D7825 */ or $t7, $t8, $t5 -/* 116E2C 7F0E22FC A7AF0298 */ sh $t7, 0x298($sp) -/* 116E30 7F0E2300 1000013E */ b .L7F0E27FC -/* 116E34 7F0E2304 A7AC0292 */ sh $t4, 0x292($sp) -spectrum_op_F9: -/* 116E38 7F0E2308 8FAE028C */ lw $t6, 0x28c($sp) -/* 116E3C 7F0E230C 93AA0287 */ lbu $t2, 0x287($sp) -/* 116E40 7F0E2310 93B80287 */ lbu $t8, 0x287($sp) -/* 116E44 7F0E2314 25CB0006 */ addiu $t3, $t6, 6 -/* 116E48 7F0E2318 15400005 */ bnez $t2, .L7F0E2330 -/* 116E4C 7F0E231C AFAB028C */ sw $t3, 0x28c($sp) -/* 116E50 7F0E2320 0016CA00 */ sll $t9, $s6, 8 -/* 116E54 7F0E2324 03374825 */ or $t1, $t9, $s7 -/* 116E58 7F0E2328 10000134 */ b .L7F0E27FC -/* 116E5C 7F0E232C A7A90292 */ sh $t1, 0x292($sp) -.L7F0E2330: -/* 116E60 7F0E2330 24010001 */ li $at, 1 -/* 116E64 7F0E2334 17010004 */ bne $t8, $at, .L7F0E2348 -/* 116E68 7F0E2338 97AF0294 */ lhu $t7, 0x294($sp) -/* 116E6C 7F0E233C 97AD0296 */ lhu $t5, 0x296($sp) -/* 116E70 7F0E2340 10000002 */ b .L7F0E234C -/* 116E74 7F0E2344 AFAD0048 */ sw $t5, 0x48($sp) -.L7F0E2348: -/* 116E78 7F0E2348 AFAF0048 */ sw $t7, 0x48($sp) -.L7F0E234C: -/* 116E7C 7F0E234C 8FA80048 */ lw $t0, 0x48($sp) -/* 116E80 7F0E2350 1000012A */ b .L7F0E27FC -/* 116E84 7F0E2354 A7A80292 */ sh $t0, 0x292($sp) -spectrum_op_FA: -/* 116E88 7F0E2358 8FAC028C */ lw $t4, 0x28c($sp) -/* 116E8C 7F0E235C 322B0080 */ andi $t3, $s1, 0x80 -/* 116E90 7F0E2360 97AA0298 */ lhu $t2, 0x298($sp) -/* 116E94 7F0E2364 258E000A */ addiu $t6, $t4, 0xa -/* 116E98 7F0E2368 1160000B */ beqz $t3, .L7F0E2398 -/* 116E9C 7F0E236C AFAE028C */ sw $t6, 0x28c($sp) -/* 116EA0 7F0E2370 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 116EA4 7F0E2374 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 116EA8 7F0E2378 032A6821 */ addu $t5, $t9, $t2 -/* 116EAC 7F0E237C 91AF0001 */ lbu $t7, 1($t5) -/* 116EB0 7F0E2380 01594821 */ addu $t1, $t2, $t9 -/* 116EB4 7F0E2384 91380000 */ lbu $t8, ($t1) -/* 116EB8 7F0E2388 000F4200 */ sll $t0, $t7, 8 -/* 116EBC 7F0E238C 03086025 */ or $t4, $t8, $t0 -/* 116EC0 7F0E2390 1000011A */ b .L7F0E27FC -/* 116EC4 7F0E2394 A7AC0298 */ sh $t4, 0x298($sp) -.L7F0E2398: -/* 116EC8 7F0E2398 97AE0298 */ lhu $t6, 0x298($sp) -/* 116ECC 7F0E239C 25CB0002 */ addiu $t3, $t6, 2 -/* 116ED0 7F0E23A0 10000116 */ b .L7F0E27FC -/* 116ED4 7F0E23A4 A7AB0298 */ sh $t3, 0x298($sp) -spectrum_op_FB: -/* 116ED8 7F0E23A8 8FA9028C */ lw $t1, 0x28c($sp) -/* 116EDC 7F0E23AC 240A0001 */ li $t2, 1 -/* 116EE0 7F0E23B0 240D0001 */ li $t5, 1 -/* 116EE4 7F0E23B4 25390004 */ addiu $t9, $t1, 4 -/* 116EE8 7F0E23B8 AFB9028C */ sw $t9, 0x28c($sp) -/* 116EEC 7F0E23BC A3AD029D */ sb $t5, 0x29d($sp) -/* 116EF0 7F0E23C0 A3AA029C */ sb $t2, 0x29c($sp) -/* 116EF4 7F0E23C4 1000010D */ b .L7F0E27FC -/* 116EF8 7F0E23C8 A3A00285 */ sb $zero, 0x285($sp) -spectrum_op_FC: -/* 116EFC 7F0E23CC 8FAF028C */ lw $t7, 0x28c($sp) -/* 116F00 7F0E23D0 32280080 */ andi $t0, $s1, 0x80 -/* 116F04 7F0E23D4 25F8000A */ addiu $t8, $t7, 0xa -/* 116F08 7F0E23D8 11000072 */ beqz $t0, .L7F0E25A4 -/* 116F0C 7F0E23DC AFB8028C */ sw $t8, 0x28c($sp) -/* 116F10 7F0E23E0 97AB0292 */ lhu $t3, 0x292($sp) -/* 116F14 7F0E23E4 270E0007 */ addiu $t6, $t8, 7 -/* 116F18 7F0E23E8 AFAE028C */ sw $t6, 0x28c($sp) -/* 116F1C 7F0E23EC 2569FFFE */ addiu $t1, $t3, -2 -/* 116F20 7F0E23F0 3139FFFF */ andi $t9, $t1, 0xffff -/* 116F24 7F0E23F4 2B215B00 */ slti $at, $t9, 0x5b00 -/* 116F28 7F0E23F8 14200008 */ bnez $at, .L7F0E241C -/* 116F2C 7F0E23FC A7A90292 */ sh $t1, 0x292($sp) -/* 116F30 7F0E2400 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 116F34 7F0E2404 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 116F38 7F0E2408 97AA0298 */ lhu $t2, 0x298($sp) -/* 116F3C 7F0E240C 01F9C021 */ addu $t8, $t7, $t9 -/* 116F40 7F0E2410 254D0002 */ addiu $t5, $t2, 2 -/* 116F44 7F0E2414 10000024 */ b .L7F0E24A8 -/* 116F48 7F0E2418 A30D0000 */ sb $t5, ($t8) -.L7F0E241C: -/* 116F4C 7F0E241C 97A80292 */ lhu $t0, 0x292($sp) -/* 116F50 7F0E2420 97B80292 */ lhu $t8, 0x292($sp) -/* 116F54 7F0E2424 97AC0298 */ lhu $t4, 0x298($sp) -/* 116F58 7F0E2428 29015800 */ slti $at, $t0, 0x5800 -/* 116F5C 7F0E242C 1420000C */ bnez $at, .L7F0E2460 -/* 116F60 7F0E2430 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 116F64 7F0E2434 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 116F68 7F0E2438 258E0002 */ addiu $t6, $t4, 2 -/* 116F6C 7F0E243C 3C0F8009 */ lui $t7, %hi(ptr_300alloc) -/* 116F70 7F0E2440 01684821 */ addu $t1, $t3, $t0 -/* 116F74 7F0E2444 A12E0000 */ sb $t6, ($t1) -/* 116F78 7F0E2448 97B90292 */ lhu $t9, 0x292($sp) -/* 116F7C 7F0E244C 8DEFE32C */ lw $t7, %lo(ptr_300alloc)($t7) -/* 116F80 7F0E2450 240A0001 */ li $t2, 1 -/* 116F84 7F0E2454 01F96821 */ addu $t5, $t7, $t9 -/* 116F88 7F0E2458 10000013 */ b .L7F0E24A8 -/* 116F8C 7F0E245C A1AAA800 */ sb $t2, -0x5800($t5) -.L7F0E2460: -/* 116F90 7F0E2460 2B014000 */ slti $at, $t8, 0x4000 -/* 116F94 7F0E2464 14200010 */ bnez $at, .L7F0E24A8 -/* 116F98 7F0E2468 97AC0298 */ lhu $t4, 0x298($sp) -/* 116F9C 7F0E246C 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 116FA0 7F0E2470 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 116FA4 7F0E2474 258B0002 */ addiu $t3, $t4, 2 -/* 116FA8 7F0E2478 24090001 */ li $t1, 1 -/* 116FAC 7F0E247C 01187021 */ addu $t6, $t0, $t8 -/* 116FB0 7F0E2480 A1CB0000 */ sb $t3, ($t6) -/* 116FB4 7F0E2484 97AF0292 */ lhu $t7, 0x292($sp) -/* 116FB8 7F0E2488 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 116FBC 7F0E248C 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 116FC0 7F0E2490 31F91800 */ andi $t9, $t7, 0x1800 -/* 116FC4 7F0E2494 001950C3 */ sra $t2, $t9, 3 -/* 116FC8 7F0E2498 31ED00FF */ andi $t5, $t7, 0xff -/* 116FCC 7F0E249C 014D6025 */ or $t4, $t2, $t5 -/* 116FD0 7F0E24A0 010CC021 */ addu $t8, $t0, $t4 -/* 116FD4 7F0E24A4 A3090000 */ sb $t1, ($t8) -.L7F0E24A8: -/* 116FD8 7F0E24A8 97AB0292 */ lhu $t3, 0x292($sp) -/* 116FDC 7F0E24AC 97AC0292 */ lhu $t4, 0x292($sp) -/* 116FE0 7F0E24B0 97B90298 */ lhu $t9, 0x298($sp) -/* 116FE4 7F0E24B4 256E0001 */ addiu $t6, $t3, 1 -/* 116FE8 7F0E24B8 29C15B00 */ slti $at, $t6, 0x5b00 -/* 116FEC 7F0E24BC 14200008 */ bnez $at, .L7F0E24E0 -/* 116FF0 7F0E24C0 25890001 */ addiu $t1, $t4, 1 -/* 116FF4 7F0E24C4 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 116FF8 7F0E24C8 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 116FFC 7F0E24CC 272F0002 */ addiu $t7, $t9, 2 -/* 117000 7F0E24D0 000F5203 */ sra $t2, $t7, 8 -/* 117004 7F0E24D4 01AB4021 */ addu $t0, $t5, $t3 -/* 117008 7F0E24D8 10000027 */ b .L7F0E2578 -/* 11700C 7F0E24DC A10A0001 */ sb $t2, 1($t0) -.L7F0E24E0: -/* 117010 7F0E24E0 29215800 */ slti $at, $t1, 0x5800 -/* 117014 7F0E24E4 1420000F */ bnez $at, .L7F0E2524 -/* 117018 7F0E24E8 97B80292 */ lhu $t8, 0x292($sp) -/* 11701C 7F0E24EC 97B80298 */ lhu $t8, 0x298($sp) -/* 117020 7F0E24F0 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 117024 7F0E24F4 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 117028 7F0E24F8 270E0002 */ addiu $t6, $t8, 2 -/* 11702C 7F0E24FC 000ECA03 */ sra $t9, $t6, 8 -/* 117030 7F0E2500 01EC6821 */ addu $t5, $t7, $t4 -/* 117034 7F0E2504 A1B90001 */ sb $t9, 1($t5) -/* 117038 7F0E2508 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 11703C 7F0E250C 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 117040 7F0E2510 97A80292 */ lhu $t0, 0x292($sp) -/* 117044 7F0E2514 240B0001 */ li $t3, 1 -/* 117048 7F0E2518 01484821 */ addu $t1, $t2, $t0 -/* 11704C 7F0E251C 10000016 */ b .L7F0E2578 -/* 117050 7F0E2520 A12BA801 */ sb $t3, -0x57ff($t1) -.L7F0E2524: -/* 117054 7F0E2524 270E0001 */ addiu $t6, $t8, 1 -/* 117058 7F0E2528 29C14000 */ slti $at, $t6, 0x4000 -/* 11705C 7F0E252C 14200012 */ bnez $at, .L7F0E2578 -/* 117060 7F0E2530 97AF0298 */ lhu $t7, 0x298($sp) -/* 117064 7F0E2534 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 117068 7F0E2538 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 11706C 7F0E253C 25EC0002 */ addiu $t4, $t7, 2 -/* 117070 7F0E2540 000CCA03 */ sra $t9, $t4, 8 -/* 117074 7F0E2544 01B85021 */ addu $t2, $t5, $t8 -/* 117078 7F0E2548 A1590001 */ sb $t9, 1($t2) -/* 11707C 7F0E254C 97AB0292 */ lhu $t3, 0x292($sp) -/* 117080 7F0E2550 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 117084 7F0E2554 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 117088 7F0E2558 25690001 */ addiu $t1, $t3, 1 -/* 11708C 7F0E255C 312E1800 */ andi $t6, $t1, 0x1800 -/* 117090 7F0E2560 000E78C3 */ sra $t7, $t6, 3 -/* 117094 7F0E2564 312C00FF */ andi $t4, $t1, 0xff -/* 117098 7F0E2568 01EC6825 */ or $t5, $t7, $t4 -/* 11709C 7F0E256C 24080001 */ li $t0, 1 -/* 1170A0 7F0E2570 030DC821 */ addu $t9, $t8, $t5 -/* 1170A4 7F0E2574 A3280000 */ sb $t0, ($t9) -.L7F0E2578: -/* 1170A8 7F0E2578 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1170AC 7F0E257C 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1170B0 7F0E2580 97AA0298 */ lhu $t2, 0x298($sp) -/* 1170B4 7F0E2584 016A7821 */ addu $t7, $t3, $t2 -/* 1170B8 7F0E2588 91EC0001 */ lbu $t4, 1($t7) -/* 1170BC 7F0E258C 014B7021 */ addu $t6, $t2, $t3 -/* 1170C0 7F0E2590 91C90000 */ lbu $t1, ($t6) -/* 1170C4 7F0E2594 000CC200 */ sll $t8, $t4, 8 -/* 1170C8 7F0E2598 01386825 */ or $t5, $t1, $t8 -/* 1170CC 7F0E259C 10000097 */ b .L7F0E27FC -/* 1170D0 7F0E25A0 A7AD0298 */ sh $t5, 0x298($sp) -.L7F0E25A4: -/* 1170D4 7F0E25A4 97A80298 */ lhu $t0, 0x298($sp) -/* 1170D8 7F0E25A8 25190002 */ addiu $t9, $t0, 2 -/* 1170DC 7F0E25AC 10000093 */ b .L7F0E27FC -/* 1170E0 7F0E25B0 A7B90298 */ sh $t9, 0x298($sp) -spectrum_op_FD: -/* 1170E4 7F0E25B4 8FAE028C */ lw $t6, 0x28c($sp) -/* 1170E8 7F0E25B8 240A0002 */ li $t2, 2 -/* 1170EC 7F0E25BC A3AA0286 */ sb $t2, 0x286($sp) -/* 1170F0 7F0E25C0 25CB0004 */ addiu $t3, $t6, 4 -/* 1170F4 7F0E25C4 AFAB028C */ sw $t3, 0x28c($sp) -/* 1170F8 7F0E25C8 1000008C */ b .L7F0E27FC -/* 1170FC 7F0E25CC A3A00285 */ sb $zero, 0x285($sp) -spectrum_op_FE: -/* 117100 7F0E25D0 8FAF028C */ lw $t7, 0x28c($sp) -/* 117104 7F0E25D4 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 117108 7F0E25D8 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 11710C 7F0E25DC 97A90298 */ lhu $t1, 0x298($sp) -/* 117110 7F0E25E0 25EC0007 */ addiu $t4, $t7, 7 -/* 117114 7F0E25E4 AFAC028C */ sw $t4, 0x28c($sp) -/* 117118 7F0E25E8 01386821 */ addu $t5, $t1, $t8 -/* 11711C 7F0E25EC 91A80000 */ lbu $t0, ($t5) -/* 117120 7F0E25F0 0208C823 */ subu $t9, $s0, $t0 -/* 117124 7F0E25F4 332E01FF */ andi $t6, $t9, 0x1ff -/* 117128 7F0E25F8 31CBFFFF */ andi $t3, $t6, 0xffff -/* 11712C 7F0E25FC 2D6A0001 */ sltiu $t2, $t3, 1 -/* 117130 7F0E2600 320B000F */ andi $t3, $s0, 0xf -/* 117134 7F0E2604 3119000F */ andi $t9, $t0, 0xf -/* 117138 7F0E2608 0179782A */ slt $t7, $t3, $t9 -/* 11713C 7F0E260C 31CC00A8 */ andi $t4, $t6, 0xa8 -/* 117140 7F0E2610 000EC203 */ sra $t8, $t6, 8 -/* 117144 7F0E2614 01986825 */ or $t5, $t4, $t8 -/* 117148 7F0E2618 000F4900 */ sll $t1, $t7, 4 -/* 11714C 7F0E261C 01C0C825 */ move $t9, $t6 -/* 117150 7F0E2620 0208C026 */ xor $t8, $s0, $t0 -/* 117154 7F0E2624 330B0080 */ andi $t3, $t8, 0x80 -/* 117158 7F0E2628 03307826 */ xor $t7, $t9, $s0 -/* 11715C 7F0E262C 01A96025 */ or $t4, $t5, $t1 -/* 117160 7F0E2630 016F6824 */ and $t5, $t3, $t7 -/* 117164 7F0E2634 000D4943 */ sra $t1, $t5, 5 -/* 117168 7F0E2638 A3A80053 */ sb $t0, 0x53($sp) -/* 11716C 7F0E263C 97AB0298 */ lhu $t3, 0x298($sp) -/* 117170 7F0E2640 01894025 */ or $t0, $t4, $t1 -/* 117174 7F0E2644 A7AE0054 */ sh $t6, 0x54($sp) -/* 117178 7F0E2648 000A7180 */ sll $t6, $t2, 6 -/* 11717C 7F0E264C 35180002 */ ori $t8, $t0, 2 -/* 117180 7F0E2650 030E8825 */ or $s1, $t8, $t6 -/* 117184 7F0E2654 323900FF */ andi $t9, $s1, 0xff -/* 117188 7F0E2658 256F0001 */ addiu $t7, $t3, 1 -/* 11718C 7F0E265C 03208825 */ move $s1, $t9 -/* 117190 7F0E2660 AFAA0048 */ sw $t2, 0x48($sp) -/* 117194 7F0E2664 10000065 */ b .L7F0E27FC -/* 117198 7F0E2668 A7AF0298 */ sh $t7, 0x298($sp) -spectrum_op_FF: -/* 11719C 7F0E266C 97A90292 */ lhu $t1, 0x292($sp) -/* 1171A0 7F0E2670 8FAD028C */ lw $t5, 0x28c($sp) -/* 1171A4 7F0E2674 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1171A8 7F0E2678 2528FFFE */ addiu $t0, $t1, -2 -/* 1171AC 7F0E267C 310AFFFF */ andi $t2, $t0, 0xffff -/* 1171B0 7F0E2680 29415B00 */ slti $at, $t2, 0x5b00 -/* 1171B4 7F0E2684 25AC000B */ addiu $t4, $t5, 0xb -/* 1171B8 7F0E2688 AFAC028C */ sw $t4, 0x28c($sp) -/* 1171BC 7F0E268C 14200006 */ bnez $at, .L7F0E26A8 -/* 1171C0 7F0E2690 A7A80292 */ sh $t0, 0x292($sp) -/* 1171C4 7F0E2694 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1171C8 7F0E2698 97B80298 */ lhu $t8, 0x298($sp) -/* 1171CC 7F0E269C 01CAC821 */ addu $t9, $t6, $t2 -/* 1171D0 7F0E26A0 10000023 */ b .L7F0E2730 -/* 1171D4 7F0E26A4 A3380000 */ sb $t8, ($t9) -.L7F0E26A8: -/* 1171D8 7F0E26A8 97AB0292 */ lhu $t3, 0x292($sp) -/* 1171DC 7F0E26AC 97B80292 */ lhu $t8, 0x292($sp) -/* 1171E0 7F0E26B0 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 1171E4 7F0E26B4 29615800 */ slti $at, $t3, 0x5800 -/* 1171E8 7F0E26B8 5420000D */ bnezl $at, .L7F0E26F0 -/* 1171EC 7F0E26BC 2B014000 */ slti $at, $t8, 0x4000 -/* 1171F0 7F0E26C0 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 1171F4 7F0E26C4 97AF0298 */ lhu $t7, 0x298($sp) -/* 1171F8 7F0E26C8 3C088009 */ lui $t0, %hi(ptr_300alloc) -/* 1171FC 7F0E26CC 01AB6021 */ addu $t4, $t5, $t3 -/* 117200 7F0E26D0 A18F0000 */ sb $t7, ($t4) -/* 117204 7F0E26D4 97AE0292 */ lhu $t6, 0x292($sp) -/* 117208 7F0E26D8 8D08E32C */ lw $t0, %lo(ptr_300alloc)($t0) -/* 11720C 7F0E26DC 24090001 */ li $t1, 1 -/* 117210 7F0E26E0 010E5021 */ addu $t2, $t0, $t6 -/* 117214 7F0E26E4 10000012 */ b .L7F0E2730 -/* 117218 7F0E26E8 A149A800 */ sb $t1, -0x5800($t2) -/* 11721C 7F0E26EC 2B014000 */ slti $at, $t8, 0x4000 -.L7F0E26F0: -/* 117220 7F0E26F0 1420000F */ bnez $at, .L7F0E2730 -/* 117224 7F0E26F4 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 117228 7F0E26F8 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 11722C 7F0E26FC 97B90298 */ lhu $t9, 0x298($sp) -/* 117230 7F0E2700 240F0001 */ li $t7, 1 -/* 117234 7F0E2704 01B85821 */ addu $t3, $t5, $t8 -/* 117238 7F0E2708 A1790000 */ sb $t9, ($t3) -/* 11723C 7F0E270C 97AC0292 */ lhu $t4, 0x292($sp) -/* 117240 7F0E2710 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 117244 7F0E2714 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 117248 7F0E2718 31881800 */ andi $t0, $t4, 0x1800 -/* 11724C 7F0E271C 000870C3 */ sra $t6, $t0, 3 -/* 117250 7F0E2720 318900FF */ andi $t1, $t4, 0xff -/* 117254 7F0E2724 01C95025 */ or $t2, $t6, $t1 -/* 117258 7F0E2728 01AAC021 */ addu $t8, $t5, $t2 -/* 11725C 7F0E272C A30F0000 */ sb $t7, ($t8) -.L7F0E2730: -/* 117260 7F0E2730 97B90292 */ lhu $t9, 0x292($sp) -/* 117264 7F0E2734 97AD0292 */ lhu $t5, 0x292($sp) -/* 117268 7F0E2738 97A80298 */ lhu $t0, 0x298($sp) -/* 11726C 7F0E273C 272B0001 */ addiu $t3, $t9, 1 -/* 117270 7F0E2740 29615B00 */ slti $at, $t3, 0x5b00 -/* 117274 7F0E2744 14200007 */ bnez $at, .L7F0E2764 -/* 117278 7F0E2748 25AA0001 */ addiu $t2, $t5, 1 -/* 11727C 7F0E274C 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 117280 7F0E2750 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 117284 7F0E2754 00086203 */ sra $t4, $t0, 8 -/* 117288 7F0E2758 01D94821 */ addu $t1, $t6, $t9 -/* 11728C 7F0E275C 10000025 */ b .L7F0E27F4 -/* 117290 7F0E2760 A12C0001 */ sb $t4, 1($t1) -.L7F0E2764: -/* 117294 7F0E2764 29415800 */ slti $at, $t2, 0x5800 -/* 117298 7F0E2768 1420000E */ bnez $at, .L7F0E27A4 -/* 11729C 7F0E276C 97AA0292 */ lhu $t2, 0x292($sp) -/* 1172A0 7F0E2770 3C0B8009 */ lui $t3, %hi(ptr_spectrum_roms) -/* 1172A4 7F0E2774 8D6BE328 */ lw $t3, %lo(ptr_spectrum_roms)($t3) -/* 1172A8 7F0E2778 97AF0298 */ lhu $t7, 0x298($sp) -/* 1172AC 7F0E277C 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 1172B0 7F0E2780 016D4021 */ addu $t0, $t3, $t5 -/* 1172B4 7F0E2784 000FC203 */ sra $t8, $t7, 8 -/* 1172B8 7F0E2788 A1180001 */ sb $t8, 1($t0) -/* 1172BC 7F0E278C 97AC0292 */ lhu $t4, 0x292($sp) -/* 1172C0 7F0E2790 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 1172C4 7F0E2794 240E0001 */ li $t6, 1 -/* 1172C8 7F0E2798 032C4821 */ addu $t1, $t9, $t4 -/* 1172CC 7F0E279C 10000015 */ b .L7F0E27F4 -/* 1172D0 7F0E27A0 A12EA801 */ sb $t6, -0x57ff($t1) -.L7F0E27A4: -/* 1172D4 7F0E27A4 254F0001 */ addiu $t7, $t2, 1 -/* 1172D8 7F0E27A8 29E14000 */ slti $at, $t7, 0x4000 -/* 1172DC 7F0E27AC 14200011 */ bnez $at, .L7F0E27F4 -/* 1172E0 7F0E27B0 97AB0298 */ lhu $t3, 0x298($sp) -/* 1172E4 7F0E27B4 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 1172E8 7F0E27B8 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 1172EC 7F0E27BC 000B6A03 */ sra $t5, $t3, 8 -/* 1172F0 7F0E27C0 24190001 */ li $t9, 1 -/* 1172F4 7F0E27C4 030A4021 */ addu $t0, $t8, $t2 -/* 1172F8 7F0E27C8 A10D0001 */ sb $t5, 1($t0) -/* 1172FC 7F0E27CC 97AC0292 */ lhu $t4, 0x292($sp) -/* 117300 7F0E27D0 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 117304 7F0E27D4 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 117308 7F0E27D8 258E0001 */ addiu $t6, $t4, 1 -/* 11730C 7F0E27DC 31C91800 */ andi $t1, $t6, 0x1800 -/* 117310 7F0E27E0 000978C3 */ sra $t7, $t1, 3 -/* 117314 7F0E27E4 31CB00FF */ andi $t3, $t6, 0xff -/* 117318 7F0E27E8 01EBC025 */ or $t8, $t7, $t3 -/* 11731C 7F0E27EC 01586821 */ addu $t5, $t2, $t8 -/* 117320 7F0E27F0 A1B90000 */ sb $t9, ($t5) -.L7F0E27F4: -/* 117324 7F0E27F4 24080038 */ li $t0, 56 -/* 117328 7F0E27F8 A7A80298 */ sh $t0, 0x298($sp) -.L7F0E27FC: -/* 11732C 7F0E27FC 8FAC028C */ lw $t4, 0x28c($sp) -/* 117330 7F0E2800 8FA90280 */ lw $t1, 0x280($sp) -/* 117334 7F0E2804 0189082B */ sltu $at, $t4, $t1 -/* 117338 7F0E2808 1420C473 */ bnez $at, .L7F0D39D8 -/* 11733C 7F0E280C 00000000 */ nop -/* 117340 7F0E2810 93AE0285 */ lbu $t6, 0x285($sp) -/* 117344 7F0E2814 11C0C470 */ beqz $t6, .L7F0D39D8 -/* 117348 7F0E2818 00000000 */ nop -.L7F0E281C: -/* 11734C 7F0E281C 8FAF028C */ lw $t7, 0x28c($sp) -/* 117350 7F0E2820 8FAB0280 */ lw $t3, 0x280($sp) -/* 117354 7F0E2824 93AA0285 */ lbu $t2, 0x285($sp) -/* 117358 7F0E2828 01EB082B */ sltu $at, $t7, $t3 -/* 11735C 7F0E282C 142000F6 */ bnez $at, .L7F0E2C08 -/* 117360 7F0E2830 00000000 */ nop -/* 117364 7F0E2834 114000F4 */ beqz $t2, .L7F0E2C08 -/* 117368 7F0E2838 00000000 */ nop -/* 11736C 7F0E283C 93B9029D */ lbu $t9, 0x29d($sp) -/* 117370 7F0E2840 01EBC023 */ subu $t8, $t7, $t3 -/* 117374 7F0E2844 AFB8028C */ sw $t8, 0x28c($sp) -/* 117378 7F0E2848 132000EF */ beqz $t9, .L7F0E2C08 -/* 11737C 7F0E284C 97AD0298 */ lhu $t5, 0x298($sp) -/* 117380 7F0E2850 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) -/* 117384 7F0E2854 8D08E328 */ lw $t0, %lo(ptr_spectrum_roms)($t0) -/* 117388 7F0E2858 24010076 */ li $at, 118 -/* 11738C 7F0E285C 25AE0001 */ addiu $t6, $t5, 1 -/* 117390 7F0E2860 01A86021 */ addu $t4, $t5, $t0 -/* 117394 7F0E2864 91890000 */ lbu $t1, ($t4) -/* 117398 7F0E2868 55210003 */ bnel $t1, $at, .L7F0E2878 -/* 11739C 7F0E286C 8FAA028C */ lw $t2, 0x28c($sp) -/* 1173A0 7F0E2870 A7AE0298 */ sh $t6, 0x298($sp) -/* 1173A4 7F0E2874 8FAA028C */ lw $t2, 0x28c($sp) -.L7F0E2878: -/* 1173A8 7F0E2878 93AB029B */ lbu $t3, 0x29b($sp) -/* 1173AC 7F0E287C A3A0029C */ sb $zero, 0x29c($sp) -/* 1173B0 7F0E2880 254F0005 */ addiu $t7, $t2, 5 -/* 1173B4 7F0E2884 A3A0029D */ sb $zero, 0x29d($sp) -/* 1173B8 7F0E2888 AFAF028C */ sw $t7, 0x28c($sp) -/* 1173BC 7F0E288C 1160000A */ beqz $t3, .L7F0E28B8 -/* 1173C0 7F0E2890 AFAB0048 */ sw $t3, 0x48($sp) -/* 1173C4 7F0E2894 24010001 */ li $at, 1 -/* 1173C8 7F0E2898 11610007 */ beq $t3, $at, .L7F0E28B8 -/* 1173CC 7F0E289C 24010002 */ li $at, 2 -/* 1173D0 7F0E28A0 11610005 */ beq $t3, $at, .L7F0E28B8 -/* 1173D4 7F0E28A4 24010003 */ li $at, 3 -/* 1173D8 7F0E28A8 11610068 */ beq $t3, $at, .L7F0E2A4C -/* 1173DC 7F0E28AC 8FB9028C */ lw $t9, 0x28c($sp) -/* 1173E0 7F0E28B0 100000D5 */ b .L7F0E2C08 -/* 1173E4 7F0E28B4 00000000 */ nop -.L7F0E28B8: -/* 1173E8 7F0E28B8 97A80292 */ lhu $t0, 0x292($sp) -/* 1173EC 7F0E28BC 8FB8028C */ lw $t8, 0x28c($sp) -/* 1173F0 7F0E28C0 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1173F4 7F0E28C4 250CFFFE */ addiu $t4, $t0, -2 -/* 1173F8 7F0E28C8 3189FFFF */ andi $t1, $t4, 0xffff -/* 1173FC 7F0E28CC 29215B00 */ slti $at, $t1, 0x5b00 -/* 117400 7F0E28D0 27190008 */ addiu $t9, $t8, 8 -/* 117404 7F0E28D4 AFB9028C */ sw $t9, 0x28c($sp) -/* 117408 7F0E28D8 14200006 */ bnez $at, .L7F0E28F4 -/* 11740C 7F0E28DC A7AC0292 */ sh $t4, 0x292($sp) -/* 117410 7F0E28E0 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 117414 7F0E28E4 97AD0298 */ lhu $t5, 0x298($sp) -/* 117418 7F0E28E8 01C95021 */ addu $t2, $t6, $t1 -/* 11741C 7F0E28EC 10000023 */ b .L7F0E297C -/* 117420 7F0E28F0 A14D0000 */ sb $t5, ($t2) -.L7F0E28F4: -/* 117424 7F0E28F4 97AF0292 */ lhu $t7, 0x292($sp) -/* 117428 7F0E28F8 97AD0292 */ lhu $t5, 0x292($sp) -/* 11742C 7F0E28FC 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 117430 7F0E2900 29E15800 */ slti $at, $t7, 0x5800 -/* 117434 7F0E2904 5420000D */ bnezl $at, .L7F0E293C -/* 117438 7F0E2908 29A14000 */ slti $at, $t5, 0x4000 -/* 11743C 7F0E290C 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 117440 7F0E2910 97AB0298 */ lhu $t3, 0x298($sp) -/* 117444 7F0E2914 3C0C8009 */ lui $t4, %hi(ptr_300alloc) -/* 117448 7F0E2918 030FC821 */ addu $t9, $t8, $t7 -/* 11744C 7F0E291C A32B0000 */ sb $t3, ($t9) -/* 117450 7F0E2920 97AE0292 */ lhu $t6, 0x292($sp) -/* 117454 7F0E2924 8D8CE32C */ lw $t4, %lo(ptr_300alloc)($t4) -/* 117458 7F0E2928 24080001 */ li $t0, 1 -/* 11745C 7F0E292C 018E4821 */ addu $t1, $t4, $t6 -/* 117460 7F0E2930 10000012 */ b .L7F0E297C -/* 117464 7F0E2934 A128A800 */ sb $t0, -0x5800($t1) -/* 117468 7F0E2938 29A14000 */ slti $at, $t5, 0x4000 -.L7F0E293C: -/* 11746C 7F0E293C 1420000F */ bnez $at, .L7F0E297C -/* 117470 7F0E2940 3C188009 */ lui $t8, %hi(ptr_spectrum_roms) -/* 117474 7F0E2944 8F18E328 */ lw $t8, %lo(ptr_spectrum_roms)($t8) -/* 117478 7F0E2948 97AA0298 */ lhu $t2, 0x298($sp) -/* 11747C 7F0E294C 240B0001 */ li $t3, 1 -/* 117480 7F0E2950 030D7821 */ addu $t7, $t8, $t5 -/* 117484 7F0E2954 A1EA0000 */ sb $t2, ($t7) -/* 117488 7F0E2958 97B90292 */ lhu $t9, 0x292($sp) -/* 11748C 7F0E295C 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 117490 7F0E2960 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 117494 7F0E2964 332C1800 */ andi $t4, $t9, 0x1800 -/* 117498 7F0E2968 000C70C3 */ sra $t6, $t4, 3 -/* 11749C 7F0E296C 332800FF */ andi $t0, $t9, 0xff -/* 1174A0 7F0E2970 01C84825 */ or $t1, $t6, $t0 -/* 1174A4 7F0E2974 03096821 */ addu $t5, $t8, $t1 -/* 1174A8 7F0E2978 A1AB0000 */ sb $t3, ($t5) -.L7F0E297C: -/* 1174AC 7F0E297C 97AA0292 */ lhu $t2, 0x292($sp) -/* 1174B0 7F0E2980 97B80292 */ lhu $t8, 0x292($sp) -/* 1174B4 7F0E2984 97AC0298 */ lhu $t4, 0x298($sp) -/* 1174B8 7F0E2988 254F0001 */ addiu $t7, $t2, 1 -/* 1174BC 7F0E298C 29E15B00 */ slti $at, $t7, 0x5b00 -/* 1174C0 7F0E2990 14200007 */ bnez $at, .L7F0E29B0 -/* 1174C4 7F0E2994 27090001 */ addiu $t1, $t8, 1 -/* 1174C8 7F0E2998 3C0E8009 */ lui $t6, %hi(ptr_spectrum_roms) -/* 1174CC 7F0E299C 8DCEE328 */ lw $t6, %lo(ptr_spectrum_roms)($t6) -/* 1174D0 7F0E29A0 000CCA03 */ sra $t9, $t4, 8 -/* 1174D4 7F0E29A4 01CA4021 */ addu $t0, $t6, $t2 -/* 1174D8 7F0E29A8 10000025 */ b .L7F0E2A40 -/* 1174DC 7F0E29AC A1190001 */ sb $t9, 1($t0) -.L7F0E29B0: -/* 1174E0 7F0E29B0 29215800 */ slti $at, $t1, 0x5800 -/* 1174E4 7F0E29B4 1420000E */ bnez $at, .L7F0E29F0 -/* 1174E8 7F0E29B8 97A90292 */ lhu $t1, 0x292($sp) -/* 1174EC 7F0E29BC 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1174F0 7F0E29C0 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1174F4 7F0E29C4 97AB0298 */ lhu $t3, 0x298($sp) -/* 1174F8 7F0E29C8 3C0A8009 */ lui $t2, %hi(ptr_300alloc) -/* 1174FC 7F0E29CC 01F86021 */ addu $t4, $t7, $t8 -/* 117500 7F0E29D0 000B6A03 */ sra $t5, $t3, 8 -/* 117504 7F0E29D4 A18D0001 */ sb $t5, 1($t4) -/* 117508 7F0E29D8 97B90292 */ lhu $t9, 0x292($sp) -/* 11750C 7F0E29DC 8D4AE32C */ lw $t2, %lo(ptr_300alloc)($t2) -/* 117510 7F0E29E0 240E0001 */ li $t6, 1 -/* 117514 7F0E29E4 01594021 */ addu $t0, $t2, $t9 -/* 117518 7F0E29E8 10000015 */ b .L7F0E2A40 -/* 11751C 7F0E29EC A10EA801 */ sb $t6, -0x57ff($t0) -.L7F0E29F0: -/* 117520 7F0E29F0 252B0001 */ addiu $t3, $t1, 1 -/* 117524 7F0E29F4 29614000 */ slti $at, $t3, 0x4000 -/* 117528 7F0E29F8 14200011 */ bnez $at, .L7F0E2A40 -/* 11752C 7F0E29FC 97AF0298 */ lhu $t7, 0x298($sp) -/* 117530 7F0E2A00 3C0D8009 */ lui $t5, %hi(ptr_spectrum_roms) -/* 117534 7F0E2A04 8DADE328 */ lw $t5, %lo(ptr_spectrum_roms)($t5) -/* 117538 7F0E2A08 000FC203 */ sra $t8, $t7, 8 -/* 11753C 7F0E2A0C 240A0001 */ li $t2, 1 -/* 117540 7F0E2A10 01A96021 */ addu $t4, $t5, $t1 -/* 117544 7F0E2A14 A1980001 */ sb $t8, 1($t4) -/* 117548 7F0E2A18 97B90292 */ lhu $t9, 0x292($sp) -/* 11754C 7F0E2A1C 3C098009 */ lui $t1, %hi(ptr_300alloc) -/* 117550 7F0E2A20 8D29E32C */ lw $t1, %lo(ptr_300alloc)($t1) -/* 117554 7F0E2A24 272E0001 */ addiu $t6, $t9, 1 -/* 117558 7F0E2A28 31C81800 */ andi $t0, $t6, 0x1800 -/* 11755C 7F0E2A2C 000858C3 */ sra $t3, $t0, 3 -/* 117560 7F0E2A30 31CF00FF */ andi $t7, $t6, 0xff -/* 117564 7F0E2A34 016F6825 */ or $t5, $t3, $t7 -/* 117568 7F0E2A38 012DC021 */ addu $t8, $t1, $t5 -/* 11756C 7F0E2A3C A30A0000 */ sb $t2, ($t8) -.L7F0E2A40: -/* 117570 7F0E2A40 240C0038 */ li $t4, 56 -/* 117574 7F0E2A44 10000070 */ b .L7F0E2C08 -/* 117578 7F0E2A48 A7AC0298 */ sh $t4, 0x298($sp) -.L7F0E2A4C: -/* 11757C 7F0E2A4C 93AE029E */ lbu $t6, 0x29e($sp) -/* 117580 7F0E2A50 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 117584 7F0E2A54 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 117588 7F0E2A58 000E5A00 */ sll $t3, $t6, 8 -/* 11758C 7F0E2A5C 2728000E */ addiu $t0, $t9, 0xe -/* 117590 7F0E2A60 356F00FF */ ori $t7, $t3, 0xff -/* 117594 7F0E2A64 97AE0292 */ lhu $t6, 0x292($sp) -/* 117598 7F0E2A68 AFA8028C */ sw $t0, 0x28c($sp) -/* 11759C 7F0E2A6C 012FC021 */ addu $t8, $t1, $t7 -/* 1175A0 7F0E2A70 930C0001 */ lbu $t4, 1($t8) -/* 1175A4 7F0E2A74 01E96821 */ addu $t5, $t7, $t1 -/* 1175A8 7F0E2A78 91AA0000 */ lbu $t2, ($t5) -/* 1175AC 7F0E2A7C 25CBFFFE */ addiu $t3, $t6, -2 -/* 1175B0 7F0E2A80 316DFFFF */ andi $t5, $t3, 0xffff -/* 1175B4 7F0E2A84 000CCA00 */ sll $t9, $t4, 8 -/* 1175B8 7F0E2A88 29A15B00 */ slti $at, $t5, 0x5b00 -/* 1175BC 7F0E2A8C 01594025 */ or $t0, $t2, $t9 -/* 1175C0 7F0E2A90 AFA8004C */ sw $t0, 0x4c($sp) -/* 1175C4 7F0E2A94 14200007 */ bnez $at, .L7F0E2AB4 -/* 1175C8 7F0E2A98 A7AB0292 */ sh $t3, 0x292($sp) -/* 1175CC 7F0E2A9C 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 1175D0 7F0E2AA0 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 1175D4 7F0E2AA4 97A90298 */ lhu $t1, 0x298($sp) -/* 1175D8 7F0E2AA8 01EDC021 */ addu $t8, $t7, $t5 -/* 1175DC 7F0E2AAC 10000023 */ b .L7F0E2B3C -/* 1175E0 7F0E2AB0 A3090000 */ sb $t1, ($t8) -.L7F0E2AB4: -/* 1175E4 7F0E2AB4 97AC0292 */ lhu $t4, 0x292($sp) -/* 1175E8 7F0E2AB8 97A90292 */ lhu $t1, 0x292($sp) -/* 1175EC 7F0E2ABC 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 1175F0 7F0E2AC0 29815800 */ slti $at, $t4, 0x5800 -/* 1175F4 7F0E2AC4 5420000D */ bnezl $at, .L7F0E2AFC -/* 1175F8 7F0E2AC8 29214000 */ slti $at, $t1, 0x4000 -/* 1175FC 7F0E2ACC 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 117600 7F0E2AD0 97AA0298 */ lhu $t2, 0x298($sp) -/* 117604 7F0E2AD4 3C0B8009 */ lui $t3, %hi(ptr_300alloc) -/* 117608 7F0E2AD8 032C4021 */ addu $t0, $t9, $t4 -/* 11760C 7F0E2ADC A10A0000 */ sb $t2, ($t0) -/* 117610 7F0E2AE0 97AF0292 */ lhu $t7, 0x292($sp) -/* 117614 7F0E2AE4 8D6BE32C */ lw $t3, %lo(ptr_300alloc)($t3) -/* 117618 7F0E2AE8 240E0001 */ li $t6, 1 -/* 11761C 7F0E2AEC 016F6821 */ addu $t5, $t3, $t7 -/* 117620 7F0E2AF0 10000012 */ b .L7F0E2B3C -/* 117624 7F0E2AF4 A1AEA800 */ sb $t6, -0x5800($t5) -/* 117628 7F0E2AF8 29214000 */ slti $at, $t1, 0x4000 -.L7F0E2AFC: -/* 11762C 7F0E2AFC 1420000F */ bnez $at, .L7F0E2B3C -/* 117630 7F0E2B00 3C198009 */ lui $t9, %hi(ptr_spectrum_roms) -/* 117634 7F0E2B04 8F39E328 */ lw $t9, %lo(ptr_spectrum_roms)($t9) -/* 117638 7F0E2B08 97B80298 */ lhu $t8, 0x298($sp) -/* 11763C 7F0E2B0C 240A0001 */ li $t2, 1 -/* 117640 7F0E2B10 03296021 */ addu $t4, $t9, $t1 -/* 117644 7F0E2B14 A1980000 */ sb $t8, ($t4) -/* 117648 7F0E2B18 97A80292 */ lhu $t0, 0x292($sp) -/* 11764C 7F0E2B1C 3C198009 */ lui $t9, %hi(ptr_300alloc) -/* 117650 7F0E2B20 8F39E32C */ lw $t9, %lo(ptr_300alloc)($t9) -/* 117654 7F0E2B24 310B1800 */ andi $t3, $t0, 0x1800 -/* 117658 7F0E2B28 000B78C3 */ sra $t7, $t3, 3 -/* 11765C 7F0E2B2C 310E00FF */ andi $t6, $t0, 0xff -/* 117660 7F0E2B30 01EE6825 */ or $t5, $t7, $t6 -/* 117664 7F0E2B34 032D4821 */ addu $t1, $t9, $t5 -/* 117668 7F0E2B38 A12A0000 */ sb $t2, ($t1) -.L7F0E2B3C: -/* 11766C 7F0E2B3C 97B80292 */ lhu $t8, 0x292($sp) -/* 117670 7F0E2B40 97B90292 */ lhu $t9, 0x292($sp) -/* 117674 7F0E2B44 97AB0298 */ lhu $t3, 0x298($sp) -/* 117678 7F0E2B48 270C0001 */ addiu $t4, $t8, 1 -/* 11767C 7F0E2B4C 29815B00 */ slti $at, $t4, 0x5b00 -/* 117680 7F0E2B50 14200007 */ bnez $at, .L7F0E2B70 -/* 117684 7F0E2B54 272D0001 */ addiu $t5, $t9, 1 -/* 117688 7F0E2B58 3C0F8009 */ lui $t7, %hi(ptr_spectrum_roms) -/* 11768C 7F0E2B5C 8DEFE328 */ lw $t7, %lo(ptr_spectrum_roms)($t7) -/* 117690 7F0E2B60 000B4203 */ sra $t0, $t3, 8 -/* 117694 7F0E2B64 01F87021 */ addu $t6, $t7, $t8 -/* 117698 7F0E2B68 10000025 */ b .L7F0E2C00 -/* 11769C 7F0E2B6C A1C80001 */ sb $t0, 1($t6) -.L7F0E2B70: -/* 1176A0 7F0E2B70 29A15800 */ slti $at, $t5, 0x5800 -/* 1176A4 7F0E2B74 1420000E */ bnez $at, .L7F0E2BB0 -/* 1176A8 7F0E2B78 97AD0292 */ lhu $t5, 0x292($sp) -/* 1176AC 7F0E2B7C 3C0C8009 */ lui $t4, %hi(ptr_spectrum_roms) -/* 1176B0 7F0E2B80 8D8CE328 */ lw $t4, %lo(ptr_spectrum_roms)($t4) -/* 1176B4 7F0E2B84 97AA0298 */ lhu $t2, 0x298($sp) -/* 1176B8 7F0E2B88 3C188009 */ lui $t8, %hi(ptr_300alloc) -/* 1176BC 7F0E2B8C 01995821 */ addu $t3, $t4, $t9 -/* 1176C0 7F0E2B90 000A4A03 */ sra $t1, $t2, 8 -/* 1176C4 7F0E2B94 A1690001 */ sb $t1, 1($t3) -/* 1176C8 7F0E2B98 97A80292 */ lhu $t0, 0x292($sp) -/* 1176CC 7F0E2B9C 8F18E32C */ lw $t8, %lo(ptr_300alloc)($t8) -/* 1176D0 7F0E2BA0 240F0001 */ li $t7, 1 -/* 1176D4 7F0E2BA4 03087021 */ addu $t6, $t8, $t0 -/* 1176D8 7F0E2BA8 10000015 */ b .L7F0E2C00 -/* 1176DC 7F0E2BAC A1CFA801 */ sb $t7, -0x57ff($t6) -.L7F0E2BB0: -/* 1176E0 7F0E2BB0 25AA0001 */ addiu $t2, $t5, 1 -/* 1176E4 7F0E2BB4 29414000 */ slti $at, $t2, 0x4000 -/* 1176E8 7F0E2BB8 14200011 */ bnez $at, .L7F0E2C00 -/* 1176EC 7F0E2BBC 97AC0298 */ lhu $t4, 0x298($sp) -/* 1176F0 7F0E2BC0 3C098009 */ lui $t1, %hi(ptr_spectrum_roms) -/* 1176F4 7F0E2BC4 8D29E328 */ lw $t1, %lo(ptr_spectrum_roms)($t1) -/* 1176F8 7F0E2BC8 000CCA03 */ sra $t9, $t4, 8 -/* 1176FC 7F0E2BCC 24180001 */ li $t8, 1 -/* 117700 7F0E2BD0 012D5821 */ addu $t3, $t1, $t5 -/* 117704 7F0E2BD4 A1790001 */ sb $t9, 1($t3) -/* 117708 7F0E2BD8 97A80292 */ lhu $t0, 0x292($sp) -/* 11770C 7F0E2BDC 3C0D8009 */ lui $t5, %hi(ptr_300alloc) -/* 117710 7F0E2BE0 8DADE32C */ lw $t5, %lo(ptr_300alloc)($t5) -/* 117714 7F0E2BE4 250F0001 */ addiu $t7, $t0, 1 -/* 117718 7F0E2BE8 31EE1800 */ andi $t6, $t7, 0x1800 -/* 11771C 7F0E2BEC 000E50C3 */ sra $t2, $t6, 3 -/* 117720 7F0E2BF0 31EC00FF */ andi $t4, $t7, 0xff -/* 117724 7F0E2BF4 014C4825 */ or $t1, $t2, $t4 -/* 117728 7F0E2BF8 01A9C821 */ addu $t9, $t5, $t1 -/* 11772C 7F0E2BFC A3380000 */ sb $t8, ($t9) -.L7F0E2C00: -/* 117730 7F0E2C00 8FAB004C */ lw $t3, 0x4c($sp) -/* 117734 7F0E2C04 A7AB0298 */ sh $t3, 0x298($sp) -.L7F0E2C08: -/* 117738 7F0E2C08 3C018009 */ lui $at, %hi(spectrum_header16_15) -/* 11773C 7F0E2C0C A030E338 */ sb $s0, %lo(spectrum_header16_15)($at) -/* 117740 7F0E2C10 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E339) -/* 117744 7F0E2C14 A031E339 */ sb $s1, %lo(byte_CODE_bss_8008E339)($at) -/* 117748 7F0E2C18 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33A) -/* 11774C 7F0E2C1C A032E33A */ sb $s2, %lo(byte_CODE_bss_8008E33A)($at) -/* 117750 7F0E2C20 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33B) -/* 117754 7F0E2C24 A033E33B */ sb $s3, %lo(byte_CODE_bss_8008E33B)($at) -/* 117758 7F0E2C28 3C018009 */ lui $at, %hi(off_CODE_bss_8008E33C) -/* 11775C 7F0E2C2C A034E33C */ sb $s4, %lo(off_CODE_bss_8008E33C)($at) -/* 117760 7F0E2C30 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33D) -/* 117764 7F0E2C34 A035E33D */ sb $s5, %lo(byte_CODE_bss_8008E33D)($at) -/* 117768 7F0E2C38 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33E) -/* 11776C 7F0E2C3C A036E33E */ sb $s6, %lo(byte_CODE_bss_8008E33E)($at) -/* 117770 7F0E2C40 93A802A6 */ lbu $t0, 0x2a6($sp) -/* 117774 7F0E2C44 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E33F) -/* 117778 7F0E2C48 A037E33F */ sb $s7, %lo(byte_CODE_bss_8008E33F)($at) -/* 11777C 7F0E2C4C 93AE02A5 */ lbu $t6, 0x2a5($sp) -/* 117780 7F0E2C50 3C018009 */ lui $at, %hi(off_CODE_bss_8008E340) -/* 117784 7F0E2C54 A028E340 */ sb $t0, %lo(off_CODE_bss_8008E340)($at) -/* 117788 7F0E2C58 93AF02A4 */ lbu $t7, 0x2a4($sp) -/* 11778C 7F0E2C5C 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E341) -/* 117790 7F0E2C60 A02EE341 */ sb $t6, %lo(byte_CODE_bss_8008E341)($at) -/* 117794 7F0E2C64 93AA02A3 */ lbu $t2, 0x2a3($sp) -/* 117798 7F0E2C68 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E342) -/* 11779C 7F0E2C6C A02FE342 */ sb $t7, %lo(byte_CODE_bss_8008E342)($at) -/* 1177A0 7F0E2C70 93AC02A2 */ lbu $t4, 0x2a2($sp) -/* 1177A4 7F0E2C74 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E343) -/* 1177A8 7F0E2C78 A02AE343 */ sb $t2, %lo(byte_CODE_bss_8008E343)($at) -/* 1177AC 7F0E2C7C 93AD02A1 */ lbu $t5, 0x2a1($sp) -/* 1177B0 7F0E2C80 3C018009 */ lui $at, %hi(off_CODE_bss_8008E344) -/* 1177B4 7F0E2C84 A02CE344 */ sb $t4, %lo(off_CODE_bss_8008E344)($at) -/* 1177B8 7F0E2C88 93A902A0 */ lbu $t1, 0x2a0($sp) -/* 1177BC 7F0E2C8C 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E345) -/* 1177C0 7F0E2C90 A02DE345 */ sb $t5, %lo(byte_CODE_bss_8008E345)($at) -/* 1177C4 7F0E2C94 93B8029F */ lbu $t8, 0x29f($sp) -/* 1177C8 7F0E2C98 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E346) -/* 1177CC 7F0E2C9C A029E346 */ sb $t1, %lo(byte_CODE_bss_8008E346)($at) -/* 1177D0 7F0E2CA0 93B9029D */ lbu $t9, 0x29d($sp) -/* 1177D4 7F0E2CA4 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E347) -/* 1177D8 7F0E2CA8 A038E347 */ sb $t8, %lo(byte_CODE_bss_8008E347)($at) -/* 1177DC 7F0E2CAC 93AB029C */ lbu $t3, 0x29c($sp) -/* 1177E0 7F0E2CB0 3C018009 */ lui $at, %hi(spec_IFF2_lower) -/* 1177E4 7F0E2CB4 A039E34A */ sb $t9, %lo(spec_IFF2_lower)($at) -/* 1177E8 7F0E2CB8 93A8029E */ lbu $t0, 0x29e($sp) -/* 1177EC 7F0E2CBC 3C018009 */ lui $at, %hi(spec_IFF2_upper) -/* 1177F0 7F0E2CC0 A02BE34B */ sb $t3, %lo(spec_IFF2_upper)($at) -/* 1177F4 7F0E2CC4 93AE02A7 */ lbu $t6, 0x2a7($sp) -/* 1177F8 7F0E2CC8 3C018009 */ lui $at, %hi(spec_I) -/* 1177FC 7F0E2CCC A028E348 */ sb $t0, %lo(spec_I)($at) -/* 117800 7F0E2CD0 93AA029B */ lbu $t2, 0x29b($sp) -/* 117804 7F0E2CD4 3C018009 */ lui $at, %hi(byte_CODE_bss_8008E349) -/* 117808 7F0E2CD8 A02EE349 */ sb $t6, %lo(byte_CODE_bss_8008E349)($at) -/* 11780C 7F0E2CDC 97AC0296 */ lhu $t4, 0x296($sp) -/* 117810 7F0E2CE0 3C018009 */ lui $at, %hi(spec_IM) -/* 117814 7F0E2CE4 A02AE34C */ sb $t2, %lo(spec_IM)($at) -/* 117818 7F0E2CE8 97AD0294 */ lhu $t5, 0x294($sp) -/* 11781C 7F0E2CEC 3C018009 */ lui $at, %hi(spec_IX) -/* 117820 7F0E2CF0 A42CE34E */ sh $t4, %lo(spec_IX)($at) -/* 117824 7F0E2CF4 97A90292 */ lhu $t1, 0x292($sp) -/* 117828 7F0E2CF8 3C018009 */ lui $at, %hi(spec_IY) -/* 11782C 7F0E2CFC 8FAF0288 */ lw $t7, 0x288($sp) -/* 117830 7F0E2D00 A42DE350 */ sh $t5, %lo(spec_IY)($at) -/* 117834 7F0E2D04 8FBF0034 */ lw $ra, 0x34($sp) -/* 117838 7F0E2D08 3C018009 */ lui $at, %hi(spec_SP) -/* 11783C 7F0E2D0C 97B80298 */ lhu $t8, 0x298($sp) -/* 117840 7F0E2D10 A429E352 */ sh $t1, %lo(spec_SP)($at) -/* 117844 7F0E2D14 3C018009 */ lui $at, %hi(spec_PC) -/* 117848 7F0E2D18 8FB70030 */ lw $s7, 0x30($sp) -/* 11784C 7F0E2D1C 8FB6002C */ lw $s6, 0x2c($sp) -/* 117850 7F0E2D20 8FB50028 */ lw $s5, 0x28($sp) -/* 117854 7F0E2D24 8FB40024 */ lw $s4, 0x24($sp) -/* 117858 7F0E2D28 8FB30020 */ lw $s3, 0x20($sp) -/* 11785C 7F0E2D2C 8FB2001C */ lw $s2, 0x1c($sp) -/* 117860 7F0E2D30 8FB10018 */ lw $s1, 0x18($sp) -/* 117864 7F0E2D34 8FB00014 */ lw $s0, 0x14($sp) -/* 117868 7F0E2D38 A3AF02A7 */ sb $t7, 0x2a7($sp) -/* 11786C 7F0E2D3C 27BD02B0 */ addiu $sp, $sp, 0x2b0 -/* 117870 7F0E2D40 03E00008 */ jr $ra -/* 117874 7F0E2D44 A438E354 */ sh $t8, %lo(spec_PC)($at) -) -#endif - diff --git a/src/game/spectrum.h b/src/game/spectrum.h deleted file mode 100644 index 3d3bb9d..0000000 --- a/src/game/spectrum.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _SPECTRUM_H_ -#define _SPECTRUM_H_ -#include "ultra64.h" - -extern void init_spectrum_game(u32 game); -extern void run_spectrum_game(void); -extern void spectrum_draw_screen(u32); - -#endif diff --git a/src/game/stan.c b/src/game/stan.c deleted file mode 100644 index 804ca61..0000000 --- a/src/game/stan.c +++ /dev/null @@ -1,7061 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:8007B120 -s32 clippingfile; -//CODE.bss:8007B124 -s32 ptr_firstroom; -//CODE.bss:8007B128 -s32 dword_CODE_bss_8007B128; -//CODE.bss:8007B12C -s32 dword_CODE_bss_8007B12C; -//CODE.bss:8007B130 -s32 dword_CODE_bss_8007B130; -//CODE.bss:8007B134 -char dword_CODE_bss_8007B134; -char dword_CODE_bss_8007B135; -char dword_CODE_bss_8007B136; -char dword_CODE_bss_8007B137; -char dword_CODE_bss_8007B138[0x21C]; -//CODE.bss:8007B354 -s32 dword_CODE_bss_8007B354; -//CODE.bss:8007B358 -s32 dword_CODE_bss_8007B358[0x1a1]; -//CODE.bss:8007B9DC -s32 dword_CODE_bss_8007B9DC; -//CODE.bss:8007B9E0 -s32 dword_CODE_bss_8007B9E0; -//CODE.bss:8007B9E4 -s32 dword_CODE_bss_8007B9E4; -//CODE.bss:8007B9E8 -s32 dword_CODE_bss_8007B9E8; -//CODE.bss:8007B9EC -s32 dword_CODE_bss_8007B9EC; -//CODE.bss:8007B9F0 -f32 flt_CODE_bss_8007B9F0; -//CODE.bss:8007B9F4 -f32 flt_CODE_bss_8007B9F4; -//CODE.bss:8007B9F8 -f32 flt_CODE_bss_8007B9F8; -//CODE.bss:8007B9FC -f32 flt_CODE_bss_8007B9FC; -//CODE.bss:8007BA00 -f32 flt_CODE_bss_8007BA00; -//CODE.bss:8007BA04 -s32 dword_CODE_bss_8007BA04; -//CODE.bss:8007BA08 -s32 dword_CODE_bss_8007BA08; -//CODE.bss:8007BA0C -s32 dword_CODE_bss_8007BA0C; -//CODE.bss:8007BA10 -char dword_CODE_bss_8007BA10[0x580]; - - -// data -//D:80040F30 -s32 D_80040F30[] = {0x8D8604C5, 0x9DA40000, 0, 0}; -s32 stan_c_debug_notice_list_entry = 0; -//D:80040F44 -f32 D_80040F44 = 1.0; -//D:80040F48 -f32 D_80040F48 = 1.0; -//D:80040F4C -u8 list_of_tilesizes[] = { - 0x20,0x20,0x20,0x20, - 0x28,0x30,0x38,0x40, - 0x48,0x50,0x58,0x00 -}; -//D:80040F58 -s32 base_ptr_connection_vals = 0; -//D:80040F5C -s32 ptr_firstroom_0 = 0; -//D:80040F60 -s32 D_80040F60 = 0; -//D:80040F64 -s32 D_80040F64[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:80040FAC -s32 D_80040FAC = 0; -//D:80040FB0 -s32 stanLoaded = 0; -//D:80040FB4 -s32 stanlinelog_flag[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 -}; -//D:800413BC -s32 D_800413BC = 0; -//D:800413C0 -f32 D_800413C0 = 0.0; -//D:800413C4 -f32 D_800413C4 = 0.0; -//D:800413C8 -s32 D_800413C8 = 1; -//D:800413CC -s32 D_800413CC = 1; -//D:800413D0 -s32 D_800413D0[] = {0, 0, 0, 0, 0, 0, 0, 0}; - - -// rodata -//D:800585A0 -const char aCDCC[] = "%c%d%c%c"; -//D:800585AC -const char aStan_c_debug[] = "stan_c_debug"; -//D:800585BC -const char aStanlinelog[] = "-stanlinelog"; - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0AEF30(f32 arg0) { - // Node 0 - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AEF30 -/* 0E3A60 7F0AEF30 E7AC0000 */ swc1 $f12, ($sp) -/* 0E3A64 7F0AEF34 03E00008 */ jr $ra -/* 0E3A68 7F0AEF38 8FA20000 */ lw $v0, ($sp) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0AEF3C(void *arg0) { - s32 sp24; - s32 temp_a1; - s32 phi_v0; - - // Node 0 - sp24 = (s32) ((D_80040FAC * 9) + &D_80040F64); - temp_a1 = (arg0->unk2 & 7); - D_80040FAC = (s32) ((D_80040FAC + 1) & 7); - if (temp_a1 == 0) - { - // Node 1 - phi_v0 = 0; - } - else - { - // Node 2 - phi_v0 = (temp_a1 + 0x30); - } - // Node 3 - sprintf(sp24, &aCDCC, ((((s32) *arg0 >> 0xf) & 1) + 0x70), (*arg0 & 0x7fff), (s32) ((((s32) arg0->unk2 >> 3) & 0x1f) + 0x61), (s32) phi_v0); - return sp24; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AEF3C -/* 0E3A6C 7F0AEF3C 3C068004 */ lui $a2, %hi(D_80040FAC) -/* 0E3A70 7F0AEF40 8CC60FAC */ lw $a2, %lo(D_80040FAC)($a2) -/* 0E3A74 7F0AEF44 3C0F8004 */ lui $t7, %hi(D_80040F64) -/* 0E3A78 7F0AEF48 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E3A7C 7F0AEF4C 000670C0 */ sll $t6, $a2, 3 -/* 0E3A80 7F0AEF50 25EF0F64 */ addiu $t7, %lo(D_80040F64) # addiu $t7, $t7, 0xf64 -/* 0E3A84 7F0AEF54 01C67021 */ addu $t6, $t6, $a2 -/* 0E3A88 7F0AEF58 01CFC021 */ addu $t8, $t6, $t7 -/* 0E3A8C 7F0AEF5C AFBF001C */ sw $ra, 0x1c($sp) -/* 0E3A90 7F0AEF60 AFB80024 */ sw $t8, 0x24($sp) -/* 0E3A94 7F0AEF64 94820000 */ lhu $v0, ($a0) -/* 0E3A98 7F0AEF68 90830002 */ lbu $v1, 2($a0) -/* 0E3A9C 7F0AEF6C 24C60001 */ addiu $a2, $a2, 1 -/* 0E3AA0 7F0AEF70 000243C3 */ sra $t0, $v0, 0xf -/* 0E3AA4 7F0AEF74 000348C3 */ sra $t1, $v1, 3 -/* 0E3AA8 7F0AEF78 30D90007 */ andi $t9, $a2, 7 -/* 0E3AAC 7F0AEF7C 310A0001 */ andi $t2, $t0, 1 -/* 0E3AB0 7F0AEF80 312B001F */ andi $t3, $t1, 0x1f -/* 0E3AB4 7F0AEF84 3C018004 */ lui $at, %hi(D_80040FAC) -/* 0E3AB8 7F0AEF88 30650007 */ andi $a1, $v1, 7 -/* 0E3ABC 7F0AEF8C 01404025 */ move $t0, $t2 -/* 0E3AC0 7F0AEF90 01604825 */ move $t1, $t3 -/* 0E3AC4 7F0AEF94 AC390FAC */ sw $t9, %lo(D_80040FAC)($at) -/* 0E3AC8 7F0AEF98 14A00003 */ bnez $a1, .L7F0AEFA8 -/* 0E3ACC 7F0AEF9C 30477FFF */ andi $a3, $v0, 0x7fff -/* 0E3AD0 7F0AEFA0 10000002 */ b .L7F0AEFAC -/* 0E3AD4 7F0AEFA4 00001025 */ move $v0, $zero -.L7F0AEFA8: -/* 0E3AD8 7F0AEFA8 24A20030 */ addiu $v0, $a1, 0x30 -.L7F0AEFAC: -/* 0E3ADC 7F0AEFAC 3C058006 */ lui $a1, %hi(aCDCC) -/* 0E3AE0 7F0AEFB0 252C0061 */ addiu $t4, $t1, 0x61 -/* 0E3AE4 7F0AEFB4 AFAC0010 */ sw $t4, 0x10($sp) -/* 0E3AE8 7F0AEFB8 24A585A0 */ addiu $a1, %lo(aCDCC) # addiu $a1, $a1, -0x7a60 -/* 0E3AEC 7F0AEFBC 8FA40024 */ lw $a0, 0x24($sp) -/* 0E3AF0 7F0AEFC0 25060070 */ addiu $a2, $t0, 0x70 -/* 0E3AF4 7F0AEFC4 0C002B25 */ jal sprintf -/* 0E3AF8 7F0AEFC8 AFA20014 */ sw $v0, 0x14($sp) -/* 0E3AFC 7F0AEFCC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E3B00 7F0AEFD0 8FA20024 */ lw $v0, 0x24($sp) -/* 0E3B04 7F0AEFD4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E3B08 7F0AEFD8 03E00008 */ jr $ra -/* 0E3B0C 7F0AEFDC 00000000 */ nop -) -#endif - - - - -void sub_GAME_7F0AEFE0(void) { - sub_GAME_7F0AEF3C(); -} - -u32 stanRemovedAnimationRoutine(s32 arg0) { - return 0; -} - -void something_stan_c_debug_related(void) { - get_ptr_debug_notice_list_entry(&stan_c_debug_notice_list_entry, &aStan_c_debug);//"stan_c_debug"); -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AF038(void) { - void *temp_v1; - s32 temp_s0; - s32 temp_a2; - void *temp_s0_2; - s32 temp_s0_4; - s16 temp_s0_3; - s32 temp_s2; - s32 temp_v1_2; - s32 temp_s0_5; - void *temp_a0; - void *phi_v1; - s32 phi_a1; - void *phi_a0; - void *phi_s3; - void *phi_s5; - s16 phi_s0; - s32 phi_s2; - s32 phi_v1_2; - s32 phi_s0_2; - void *phi_s1; - s32 phi_a2; - - // Node 0 - dword_CODE_bss_8007B9DC = 0; - dword_CODE_bss_8007B12C = 0; - dword_CODE_bss_8007B12C = 0; - dword_CODE_bss_8007B130 = 0; - phi_v1 = &dword_CODE_bss_8007B134; -loop_1: - // Node 1 - temp_v1 = (phi_v1 + 0x10); - temp_v1->unk-10 = 0; - temp_v1->unk-C = 0; - temp_v1->unk-8 = 0; - temp_v1->unk-4 = 0; - phi_v1 = temp_v1; - if (temp_v1 != &dword_CODE_bss_8007B354) - { - goto loop_1; - } - // Node 2 - if (*clippingfile->unk4 != 0) - { - // Node 3 - phi_a1 = 0xff; - phi_a0 = clippingfile->unk4; - phi_a2 = 0xff; -loop_4: - // Node 4 - temp_s0 = phi_a0->unk3; - phi_a1 = phi_a1; - if (phi_a1 != temp_s0) - { - // Node 5 - temp_a2 = (temp_s0 & 0xff); - if (temp_a2 >= dword_CODE_bss_8007B9DC) - { - // Node 6 - dword_CODE_bss_8007B9DC = (s32) (temp_a2 + 1); - } - // Node 7 - *(&dword_CODE_bss_8007B128 + (temp_a2 * 4)) = (void *) phi_a0; - temp_s0_2 = (&dword_CODE_bss_8007B358 + (temp_a2 * 0xc)); - temp_s0_2->unk4 = (u16)0x7fff; - temp_s0_2->unkA = (u16)-0x8000; - temp_s0_2->unk2 = (s16) temp_s0_2->unk4; - *temp_s0_2 = (s16) temp_s0_2->unk4; - temp_s0_2->unk8 = (s16) temp_s0_2->unkA; - temp_s0_2->unk6 = (s16) temp_s0_2->unkA; - phi_a1 = temp_a2; - phi_a2 = temp_a2; - } - // Node 8 - temp_s0_4 = (((s32) phi_a0->unk6 >> 0xc) & 0xf); - phi_s0_2 = temp_s0_4; - if (temp_s0_4 > 0) - { - // Node 9 - phi_v1_2 = 0; - phi_s1 = phi_a0; -loop_10: - // Node 10 - phi_s3 = phi_s1; - phi_s5 = (&dword_CODE_bss_8007B358 + (((phi_a2 * 4) - phi_a2) * 4)); - phi_s2 = 0; -loop_11: - // Node 11 - temp_s0_3 = phi_s3->unk8; - temp_s2 = (phi_s2 + 2); - phi_s0 = temp_s0_3; - if (temp_s0_3 < *phi_s5) - { - // Node 12 - *phi_s5 = temp_s0_3; - phi_s0 = phi_s3->unk8; - } - // Node 13 - if (phi_s5->unk6 < phi_s0) - { - // Node 14 - phi_s5->unk6 = (s16) phi_s0; - } - // Node 15 - phi_s3 = (phi_s3 + 2); - phi_s5 = (phi_s5 + 2); - phi_s2 = temp_s2; - if (temp_s2 != 6) - { - goto loop_11; - } - // Node 16 - temp_v1_2 = (phi_v1_2 + 1); - temp_s0_5 = (((s32) phi_a0->unk6 >> 0xc) & 0xf); - phi_v1_2 = temp_v1_2; - phi_s0_2 = temp_s0_5; - phi_s1 = (phi_s1 + 8); - if (temp_v1_2 < temp_s0_5) - { - goto loop_10; - } - } - // Node 17 - temp_a0 = (*(&list_of_tilesizes + phi_s0_2) + phi_a0); - phi_a0 = temp_a0; - phi_a2 = phi_a2; - if (*temp_a0 != 0) - { - goto loop_4; - } - } - // Node 18 - // Error: assert not self.is_leaf - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AF038 -/* 0E3B68 7F0AF038 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E3B6C 7F0AF03C 3C078008 */ lui $a3, %hi(dword_CODE_bss_8007B9DC) -/* 0E3B70 7F0AF040 24E7B9DC */ addiu $a3, %lo(dword_CODE_bss_8007B9DC) # addiu $a3, $a3, -0x4624 -/* 0E3B74 7F0AF044 ACE00000 */ sw $zero, ($a3) -/* 0E3B78 7F0AF048 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B12C) -/* 0E3B7C 7F0AF04C AC20B128 */ sw $zero, %lo(dword_CODE_bss_8007B128)($at) -/* 0E3B80 7F0AF050 AC20B12C */ sw $zero, %lo(dword_CODE_bss_8007B12C)($at) -/* 0E3B84 7F0AF054 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B130) -/* 0E3B88 7F0AF058 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007B134) -/* 0E3B8C 7F0AF05C 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007B354) -/* 0E3B90 7F0AF060 AFB5001C */ sw $s5, 0x1c($sp) -/* 0E3B94 7F0AF064 AFB40018 */ sw $s4, 0x18($sp) -/* 0E3B98 7F0AF068 AFB30014 */ sw $s3, 0x14($sp) -/* 0E3B9C 7F0AF06C AFB20010 */ sw $s2, 0x10($sp) -/* 0E3BA0 7F0AF070 AFB1000C */ sw $s1, 0xc($sp) -/* 0E3BA4 7F0AF074 AFB00008 */ sw $s0, 8($sp) -/* 0E3BA8 7F0AF078 240600FF */ li $a2, 255 -/* 0E3BAC 7F0AF07C 2442B354 */ addiu $v0, %lo(dword_CODE_bss_8007B354) # addiu $v0, $v0, -0x4cac -/* 0E3BB0 7F0AF080 2463B134 */ addiu $v1, %lo(dword_CODE_bss_8007B134) # addiu $v1, $v1, -0x4ecc -/* 0E3BB4 7F0AF084 AC20B130 */ sw $zero, %lo(dword_CODE_bss_8007B130)($at) -.L7F0AF088: -/* 0E3BB8 7F0AF088 24630010 */ addiu $v1, $v1, 0x10 -/* 0E3BBC 7F0AF08C AC60FFF0 */ sw $zero, -0x10($v1) -/* 0E3BC0 7F0AF090 AC60FFF4 */ sw $zero, -0xc($v1) -/* 0E3BC4 7F0AF094 AC60FFF8 */ sw $zero, -8($v1) -/* 0E3BC8 7F0AF098 1462FFFB */ bne $v1, $v0, .L7F0AF088 -/* 0E3BCC 7F0AF09C AC60FFFC */ sw $zero, -4($v1) -/* 0E3BD0 7F0AF0A0 3C0E8008 */ lui $t6, %hi(clippingfile) -/* 0E3BD4 7F0AF0A4 8DCEB120 */ lw $t6, %lo(clippingfile)($t6) -/* 0E3BD8 7F0AF0A8 3C0D8004 */ lui $t5, %hi(list_of_tilesizes) -/* 0E3BDC 7F0AF0AC 25AD0F4C */ addiu $t5, %lo(list_of_tilesizes) # addiu $t5, $t5, 0xf4c -/* 0E3BE0 7F0AF0B0 8DC40004 */ lw $a0, 4($t6) -/* 0E3BE4 7F0AF0B4 00C02825 */ move $a1, $a2 -/* 0E3BE8 7F0AF0B8 240C8000 */ li $t4, -32768 -/* 0E3BEC 7F0AF0BC 8C8F0000 */ lw $t7, ($a0) -/* 0E3BF0 7F0AF0C0 240B7FFF */ li $t3, 32767 -/* 0E3BF4 7F0AF0C4 240A000C */ li $t2, 12 -/* 0E3BF8 7F0AF0C8 11E00048 */ beqz $t7, .L7F0AF1EC -/* 0E3BFC 7F0AF0CC 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007B358) -/* 0E3C00 7F0AF0D0 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007B128) -/* 0E3C04 7F0AF0D4 2508B128 */ addiu $t0, %lo(dword_CODE_bss_8007B128) # addiu $t0, $t0, -0x4ed8 -/* 0E3C08 7F0AF0D8 2529B358 */ addiu $t1, %lo(dword_CODE_bss_8007B358) # addiu $t1, $t1, -0x4ca8 -/* 0E3C0C 7F0AF0DC 24020006 */ li $v0, 6 -/* 0E3C10 7F0AF0E0 90900003 */ lbu $s0, 3($a0) -.L7F0AF0E4: -/* 0E3C14 7F0AF0E4 00001825 */ move $v1, $zero -/* 0E3C18 7F0AF0E8 50B00017 */ beql $a1, $s0, .L7F0AF148 -/* 0E3C1C 7F0AF0EC 84900006 */ lh $s0, 6($a0) -/* 0E3C20 7F0AF0F0 8CF80000 */ lw $t8, ($a3) -/* 0E3C24 7F0AF0F4 320600FF */ andi $a2, $s0, 0xff -/* 0E3C28 7F0AF0F8 00C02825 */ move $a1, $a2 -/* 0E3C2C 7F0AF0FC 00D8082A */ slt $at, $a2, $t8 -/* 0E3C30 7F0AF100 14200002 */ bnez $at, .L7F0AF10C -/* 0E3C34 7F0AF104 24B90001 */ addiu $t9, $a1, 1 -/* 0E3C38 7F0AF108 ACF90000 */ sw $t9, ($a3) -.L7F0AF10C: -/* 0E3C3C 7F0AF10C 00CA0019 */ multu $a2, $t2 -/* 0E3C40 7F0AF110 00067080 */ sll $t6, $a2, 2 -/* 0E3C44 7F0AF114 010E7821 */ addu $t7, $t0, $t6 -/* 0E3C48 7F0AF118 ADE40000 */ sw $a0, ($t7) -/* 0E3C4C 7F0AF11C 0000C012 */ mflo $t8 -/* 0E3C50 7F0AF120 01388021 */ addu $s0, $t1, $t8 -/* 0E3C54 7F0AF124 A60B0004 */ sh $t3, 4($s0) -/* 0E3C58 7F0AF128 86110004 */ lh $s1, 4($s0) -/* 0E3C5C 7F0AF12C A60C000A */ sh $t4, 0xa($s0) -/* 0E3C60 7F0AF130 A6110002 */ sh $s1, 2($s0) -/* 0E3C64 7F0AF134 A6110000 */ sh $s1, ($s0) -/* 0E3C68 7F0AF138 8611000A */ lh $s1, 0xa($s0) -/* 0E3C6C 7F0AF13C A6110008 */ sh $s1, 8($s0) -/* 0E3C70 7F0AF140 A6110006 */ sh $s1, 6($s0) -/* 0E3C74 7F0AF144 84900006 */ lh $s0, 6($a0) -.L7F0AF148: -/* 0E3C78 7F0AF148 00067880 */ sll $t7, $a2, 2 -/* 0E3C7C 7F0AF14C 01E67823 */ subu $t7, $t7, $a2 -/* 0E3C80 7F0AF150 0010CB03 */ sra $t9, $s0, 0xc -/* 0E3C84 7F0AF154 3330000F */ andi $s0, $t9, 0xf -/* 0E3C88 7F0AF158 1A00001E */ blez $s0, .L7F0AF1D4 -/* 0E3C8C 7F0AF15C 00808825 */ move $s1, $a0 -/* 0E3C90 7F0AF160 000F7880 */ sll $t7, $t7, 2 -/* 0E3C94 7F0AF164 012FA021 */ addu $s4, $t1, $t7 -/* 0E3C98 7F0AF168 00009025 */ move $s2, $zero -.L7F0AF16C: -/* 0E3C9C 7F0AF16C 02209825 */ move $s3, $s1 -/* 0E3CA0 7F0AF170 0280A825 */ move $s5, $s4 -.L7F0AF174: -/* 0E3CA4 7F0AF174 86700008 */ lh $s0, 8($s3) -/* 0E3CA8 7F0AF178 86B80000 */ lh $t8, ($s5) -/* 0E3CAC 7F0AF17C 26520002 */ addiu $s2, $s2, 2 -/* 0E3CB0 7F0AF180 0218082A */ slt $at, $s0, $t8 -/* 0E3CB4 7F0AF184 50200004 */ beql $at, $zero, .L7F0AF198 -/* 0E3CB8 7F0AF188 86B90006 */ lh $t9, 6($s5) -/* 0E3CBC 7F0AF18C A6B00000 */ sh $s0, ($s5) -/* 0E3CC0 7F0AF190 86700008 */ lh $s0, 8($s3) -/* 0E3CC4 7F0AF194 86B90006 */ lh $t9, 6($s5) -.L7F0AF198: -/* 0E3CC8 7F0AF198 26730002 */ addiu $s3, $s3, 2 -/* 0E3CCC 7F0AF19C 0330082A */ slt $at, $t9, $s0 -/* 0E3CD0 7F0AF1A0 10200002 */ beqz $at, .L7F0AF1AC -/* 0E3CD4 7F0AF1A4 00000000 */ nop -/* 0E3CD8 7F0AF1A8 A6B00006 */ sh $s0, 6($s5) -.L7F0AF1AC: -/* 0E3CDC 7F0AF1AC 1642FFF1 */ bne $s2, $v0, .L7F0AF174 -/* 0E3CE0 7F0AF1B0 26B50002 */ addiu $s5, $s5, 2 -/* 0E3CE4 7F0AF1B4 84900006 */ lh $s0, 6($a0) -/* 0E3CE8 7F0AF1B8 24630001 */ addiu $v1, $v1, 1 -/* 0E3CEC 7F0AF1BC 26310008 */ addiu $s1, $s1, 8 -/* 0E3CF0 7F0AF1C0 00107303 */ sra $t6, $s0, 0xc -/* 0E3CF4 7F0AF1C4 31D0000F */ andi $s0, $t6, 0xf -/* 0E3CF8 7F0AF1C8 0070082A */ slt $at, $v1, $s0 -/* 0E3CFC 7F0AF1CC 5420FFE7 */ bnezl $at, .L7F0AF16C -/* 0E3D00 7F0AF1D0 00009025 */ move $s2, $zero -.L7F0AF1D4: -/* 0E3D04 7F0AF1D4 01B0C021 */ addu $t8, $t5, $s0 -/* 0E3D08 7F0AF1D8 93190000 */ lbu $t9, ($t8) -/* 0E3D0C 7F0AF1DC 03242021 */ addu $a0, $t9, $a0 -/* 0E3D10 7F0AF1E0 8C8E0000 */ lw $t6, ($a0) -/* 0E3D14 7F0AF1E4 55C0FFBF */ bnezl $t6, .L7F0AF0E4 -/* 0E3D18 7F0AF1E8 90900003 */ lbu $s0, 3($a0) -.L7F0AF1EC: -/* 0E3D1C 7F0AF1EC 8FB00008 */ lw $s0, 8($sp) -/* 0E3D20 7F0AF1F0 8FB1000C */ lw $s1, 0xc($sp) -/* 0E3D24 7F0AF1F4 8FB20010 */ lw $s2, 0x10($sp) -/* 0E3D28 7F0AF1F8 8FB30014 */ lw $s3, 0x14($sp) -/* 0E3D2C 7F0AF1FC 8FB40018 */ lw $s4, 0x18($sp) -/* 0E3D30 7F0AF200 8FB5001C */ lw $s5, 0x1c($sp) -/* 0E3D34 7F0AF204 03E00008 */ jr $ra -/* 0E3D38 7F0AF208 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AF20C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800585CC -.word 0x46fffe00 /*32767.0*/ -glabel D_800585D0 -.word 0xff7fffff /*-3.4028235e38*/ -glabel D_800585D4 -.word 0xc6fffe00 /*-32767.0*/ -.text -glabel sub_GAME_7F0AF20C -/* 0E3D3C 7F0AF20C 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 0E3D40 7F0AF210 3C018006 */ lui $at, %hi(D_800585CC) -/* 0E3D44 7F0AF214 C42285CC */ lwc1 $f2, %lo(D_800585CC)($at) -/* 0E3D48 7F0AF218 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 0E3D4C 7F0AF21C 3C018006 */ lui $at, %hi(D_800585D0) -/* 0E3D50 7F0AF220 C43885D0 */ lwc1 $f24, %lo(D_800585D0)($at) -/* 0E3D54 7F0AF224 AFBF005C */ sw $ra, 0x5c($sp) -/* 0E3D58 7F0AF228 AFBE0058 */ sw $fp, 0x58($sp) -/* 0E3D5C 7F0AF22C AFB70054 */ sw $s7, 0x54($sp) -/* 0E3D60 7F0AF230 AFB60050 */ sw $s6, 0x50($sp) -/* 0E3D64 7F0AF234 AFB5004C */ sw $s5, 0x4c($sp) -/* 0E3D68 7F0AF238 AFB40048 */ sw $s4, 0x48($sp) -/* 0E3D6C 7F0AF23C AFB30044 */ sw $s3, 0x44($sp) -/* 0E3D70 7F0AF240 AFB20040 */ sw $s2, 0x40($sp) -/* 0E3D74 7F0AF244 AFB1003C */ sw $s1, 0x3c($sp) -/* 0E3D78 7F0AF248 AFB00038 */ sw $s0, 0x38($sp) -/* 0E3D7C 7F0AF24C F7B60028 */ sdc1 $f22, 0x28($sp) -/* 0E3D80 7F0AF250 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0E3D84 7F0AF254 AFA500CC */ sw $a1, 0xcc($sp) -/* 0E3D88 7F0AF258 AFA600D0 */ sw $a2, 0xd0($sp) -/* 0E3D8C 7F0AF25C AFA0009C */ sw $zero, 0x9c($sp) -/* 0E3D90 7F0AF260 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E3D94 7F0AF264 C4200F44 */ lwc1 $f0, %lo(D_80040F44)($at) -/* 0E3D98 7F0AF268 C4840000 */ lwc1 $f4, ($a0) -/* 0E3D9C 7F0AF26C 0080A025 */ move $s4, $a0 -/* 0E3DA0 7F0AF270 3C178004 */ lui $s7, %hi(list_of_tilesizes) -/* 0E3DA4 7F0AF274 46002182 */ mul.s $f6, $f4, $f0 -/* 0E3DA8 7F0AF278 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_8007B128) -/* 0E3DAC 7F0AF27C 3C018006 */ lui $at, %hi(D_800585D4) -/* 0E3DB0 7F0AF280 254AB128 */ addiu $t2, %lo(dword_CODE_bss_8007B128) # addiu $t2, $t2, -0x4ed8 -/* 0E3DB4 7F0AF284 26F70F4C */ addiu $s7, %lo(list_of_tilesizes) # addiu $s7, $s7, 0xf4c -/* 0E3DB8 7F0AF288 24130003 */ li $s3, 3 -/* 0E3DBC 7F0AF28C 241600FF */ li $s6, 255 -/* 0E3DC0 7F0AF290 E7A600B8 */ swc1 $f6, 0xb8($sp) -/* 0E3DC4 7F0AF294 C4880004 */ lwc1 $f8, 4($a0) -/* 0E3DC8 7F0AF298 27BE007C */ addiu $fp, $sp, 0x7c -/* 0E3DCC 7F0AF29C 46004282 */ mul.s $f10, $f8, $f0 -/* 0E3DD0 7F0AF2A0 E7AA00BC */ swc1 $f10, 0xbc($sp) -/* 0E3DD4 7F0AF2A4 C4900008 */ lwc1 $f16, 8($a0) -/* 0E3DD8 7F0AF2A8 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 0E3DDC 7F0AF2AC 24040004 */ li $a0, 4 -/* 0E3DE0 7F0AF2B0 46008482 */ mul.s $f18, $f16, $f0 -/* 0E3DE4 7F0AF2B4 4604103C */ c.lt.s $f2, $f4 -/* 0E3DE8 7F0AF2B8 00000000 */ nop -/* 0E3DEC 7F0AF2BC 45000002 */ bc1f .L7F0AF2C8 -/* 0E3DF0 7F0AF2C0 E7B200C0 */ swc1 $f18, 0xc0($sp) -/* 0E3DF4 7F0AF2C4 E7A200BC */ swc1 $f2, 0xbc($sp) -.L7F0AF2C8: -/* 0E3DF8 7F0AF2C8 C42085D4 */ lwc1 $f0, %lo(D_800585D4)($at) -/* 0E3DFC 7F0AF2CC C7AC00BC */ lwc1 $f12, 0xbc($sp) -/* 0E3E00 7F0AF2D0 C7A200C0 */ lwc1 $f2, 0xc0($sp) -/* 0E3E04 7F0AF2D4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0E3E08 7F0AF2D8 4600603C */ c.lt.s $f12, $f0 -/* 0E3E0C 7F0AF2DC 0000A825 */ move $s5, $zero -/* 0E3E10 7F0AF2E0 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007B9DC) -/* 0E3E14 7F0AF2E4 4600128D */ trunc.w.s $f10, $f2 -/* 0E3E18 7F0AF2E8 45020003 */ bc1fl .L7F0AF2F8 -/* 0E3E1C 7F0AF2EC C7A000B8 */ lwc1 $f0, 0xb8($sp) -/* 0E3E20 7F0AF2F0 46000306 */ mov.s $f12, $f0 -/* 0E3E24 7F0AF2F4 C7A000B8 */ lwc1 $f0, 0xb8($sp) -.L7F0AF2F8: -/* 0E3E28 7F0AF2F8 4600620D */ trunc.w.s $f8, $f12 -/* 0E3E2C 7F0AF2FC 8CC6B9DC */ lw $a2, %lo(dword_CODE_bss_8007B9DC)($a2) -/* 0E3E30 7F0AF300 44095000 */ mfc1 $t1, $f10 -/* 0E3E34 7F0AF304 4600018D */ trunc.w.s $f6, $f0 -/* 0E3E38 7F0AF308 44194000 */ mfc1 $t9, $f8 -/* 0E3E3C 7F0AF30C E7AC00BC */ swc1 $f12, 0xbc($sp) -/* 0E3E40 7F0AF310 A7A900B0 */ sh $t1, 0xb0($sp) -/* 0E3E44 7F0AF314 440F3000 */ mfc1 $t7, $f6 -/* 0E3E48 7F0AF318 A7B900AE */ sh $t9, 0xae($sp) -/* 0E3E4C 7F0AF31C 18C0008F */ blez $a2, .L7F0AF55C -/* 0E3E50 7F0AF320 A7AF00AC */ sh $t7, 0xac($sp) -/* 0E3E54 7F0AF324 4481B000 */ mtc1 $at, $f22 -/* 0E3E58 7F0AF328 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 0E3E5C 7F0AF32C 4481A000 */ mtc1 $at, $f20 -/* 0E3E60 7F0AF330 AFAA0070 */ sw $t2, 0x70($sp) -/* 0E3E64 7F0AF334 8FB20088 */ lw $s2, 0x88($sp) -.L7F0AF338: -/* 0E3E68 7F0AF338 8FAB0070 */ lw $t3, 0x70($sp) -/* 0E3E6C 7F0AF33C 00156080 */ sll $t4, $s5, 2 -/* 0E3E70 7F0AF340 01956023 */ subu $t4, $t4, $s5 -/* 0E3E74 7F0AF344 8D650000 */ lw $a1, ($t3) -/* 0E3E78 7F0AF348 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_8007B358) -/* 0E3E7C 7F0AF34C 25ADB358 */ addiu $t5, %lo(dword_CODE_bss_8007B358) # addiu $t5, $t5, -0x4ca8 -/* 0E3E80 7F0AF350 10A0007B */ beqz $a1, .L7F0AF540 -/* 0E3E84 7F0AF354 000C6080 */ sll $t4, $t4, 2 -/* 0E3E88 7F0AF358 018D1021 */ addu $v0, $t4, $t5 -/* 0E3E8C 7F0AF35C 844F0000 */ lh $t7, ($v0) -/* 0E3E90 7F0AF360 87AE00AC */ lh $t6, 0xac($sp) -/* 0E3E94 7F0AF364 87B900AC */ lh $t9, 0xac($sp) -/* 0E3E98 7F0AF368 01CF082A */ slt $at, $t6, $t7 -/* 0E3E9C 7F0AF36C 54200075 */ bnezl $at, .L7F0AF544 -/* 0E3EA0 7F0AF370 8FAE0070 */ lw $t6, 0x70($sp) -/* 0E3EA4 7F0AF374 84580006 */ lh $t8, 6($v0) -/* 0E3EA8 7F0AF378 87A800B0 */ lh $t0, 0xb0($sp) -/* 0E3EAC 7F0AF37C 0319082A */ slt $at, $t8, $t9 -/* 0E3EB0 7F0AF380 54200070 */ bnezl $at, .L7F0AF544 -/* 0E3EB4 7F0AF384 8FAE0070 */ lw $t6, 0x70($sp) -/* 0E3EB8 7F0AF388 84490004 */ lh $t1, 4($v0) -/* 0E3EBC 7F0AF38C 87AB00B0 */ lh $t3, 0xb0($sp) -/* 0E3EC0 7F0AF390 0109082A */ slt $at, $t0, $t1 -/* 0E3EC4 7F0AF394 5420006B */ bnezl $at, .L7F0AF544 -/* 0E3EC8 7F0AF398 8FAE0070 */ lw $t6, 0x70($sp) -/* 0E3ECC 7F0AF39C 844A000A */ lh $t2, 0xa($v0) -/* 0E3ED0 7F0AF3A0 87AC00AE */ lh $t4, 0xae($sp) -/* 0E3ED4 7F0AF3A4 014B082A */ slt $at, $t2, $t3 -/* 0E3ED8 7F0AF3A8 54200066 */ bnezl $at, .L7F0AF544 -/* 0E3EDC 7F0AF3AC 8FAE0070 */ lw $t6, 0x70($sp) -/* 0E3EE0 7F0AF3B0 844D0002 */ lh $t5, 2($v0) -/* 0E3EE4 7F0AF3B4 8FAE00CC */ lw $t6, 0xcc($sp) -/* 0E3EE8 7F0AF3B8 018D082A */ slt $at, $t4, $t5 -/* 0E3EEC 7F0AF3BC 54200061 */ bnezl $at, .L7F0AF544 -/* 0E3EF0 7F0AF3C0 8FAE0070 */ lw $t6, 0x70($sp) -/* 0E3EF4 7F0AF3C4 51C00015 */ beql $t6, $zero, .L7F0AF41C -/* 0E3EF8 7F0AF3C8 8CB80000 */ lw $t8, ($a1) -/* 0E3EFC 7F0AF3CC 91CF0000 */ lbu $t7, ($t6) -/* 0E3F00 7F0AF3D0 00008025 */ move $s0, $zero -/* 0E3F04 7F0AF3D4 01C01021 */ addu $v0, $t6, $zero -/* 0E3F08 7F0AF3D8 12CF000D */ beq $s6, $t7, .L7F0AF410 -/* 0E3F0C 7F0AF3DC 00000000 */ nop -/* 0E3F10 7F0AF3E0 91C30000 */ lbu $v1, ($t6) -.L7F0AF3E4: -/* 0E3F14 7F0AF3E4 56A30004 */ bnel $s5, $v1, .L7F0AF3F8 -/* 0E3F18 7F0AF3E8 90430001 */ lbu $v1, 1($v0) -/* 0E3F1C 7F0AF3EC 1000000B */ b .L7F0AF41C -/* 0E3F20 7F0AF3F0 8CB80000 */ lw $t8, ($a1) -/* 0E3F24 7F0AF3F4 90430001 */ lbu $v1, 1($v0) -.L7F0AF3F8: -/* 0E3F28 7F0AF3F8 26100001 */ addiu $s0, $s0, 1 -/* 0E3F2C 7F0AF3FC 24420001 */ addiu $v0, $v0, 1 -/* 0E3F30 7F0AF400 12C30003 */ beq $s6, $v1, .L7F0AF410 -/* 0E3F34 7F0AF404 00000000 */ nop -/* 0E3F38 7F0AF408 1604FFF6 */ bne $s0, $a0, .L7F0AF3E4 -/* 0E3F3C 7F0AF40C 00000000 */ nop -.L7F0AF410: -/* 0E3F40 7F0AF410 1000004C */ b .L7F0AF544 -/* 0E3F44 7F0AF414 8FAE0070 */ lw $t6, 0x70($sp) -/* 0E3F48 7F0AF418 8CB80000 */ lw $t8, ($a1) -.L7F0AF41C: -/* 0E3F4C 7F0AF41C 00A08825 */ move $s1, $a1 -/* 0E3F50 7F0AF420 13000044 */ beqz $t8, .L7F0AF534 -/* 0E3F54 7F0AF424 00000000 */ nop -/* 0E3F58 7F0AF428 90B90003 */ lbu $t9, 3($a1) -/* 0E3F5C 7F0AF42C 16B90041 */ bne $s5, $t9, .L7F0AF534 -/* 0E3F60 7F0AF430 00008025 */ move $s0, $zero -.L7F0AF434: -/* 0E3F64 7F0AF434 C7A000B8 */ lwc1 $f0, 0xb8($sp) -.L7F0AF438: -/* 0E3F68 7F0AF438 C7A200C0 */ lwc1 $f2, 0xc0($sp) -/* 0E3F6C 7F0AF43C 02202025 */ move $a0, $s1 -/* 0E3F70 7F0AF440 44060000 */ mfc1 $a2, $f0 -/* 0E3F74 7F0AF444 44071000 */ mfc1 $a3, $f2 -/* 0E3F78 7F0AF448 0FC2BF9C */ jal sub_GAME_7F0AFE70 -/* 0E3F7C 7F0AF44C 02002825 */ move $a1, $s0 -/* 0E3F80 7F0AF450 4614003C */ c.lt.s $f0, $f20 -/* 0E3F84 7F0AF454 26100001 */ addiu $s0, $s0, 1 -/* 0E3F88 7F0AF458 4503002B */ bc1tl .L7F0AF508 -/* 0E3F8C 7F0AF45C 86220006 */ lh $v0, 6($s1) -/* 0E3F90 7F0AF460 4616003C */ c.lt.s $f0, $f22 -/* 0E3F94 7F0AF464 00000000 */ nop -/* 0E3F98 7F0AF468 45000002 */ bc1f .L7F0AF474 -/* 0E3F9C 7F0AF46C 00000000 */ nop -/* 0E3FA0 7F0AF470 24120001 */ li $s2, 1 -.L7F0AF474: -/* 0E3FA4 7F0AF474 5613FFF0 */ bnel $s0, $s3, .L7F0AF438 -/* 0E3FA8 7F0AF478 C7A000B8 */ lwc1 $f0, 0xb8($sp) -/* 0E3FAC 7F0AF47C 0FC2BDD8 */ jal sub_GAME_7F0AF760 -/* 0E3FB0 7F0AF480 02202025 */ move $a0, $s1 -/* 0E3FB4 7F0AF484 54400020 */ bnezl $v0, .L7F0AF508 -/* 0E3FB8 7F0AF488 86220006 */ lh $v0, 6($s1) -/* 0E3FBC 7F0AF48C 1240000E */ beqz $s2, .L7F0AF4C8 -/* 0E3FC0 7F0AF490 02202025 */ move $a0, $s1 -/* 0E3FC4 7F0AF494 0FC2BE49 */ jal sub_GAME_7F0AF924 -/* 0E3FC8 7F0AF498 03C02825 */ move $a1, $fp -/* 0E3FCC 7F0AF49C AFB100A0 */ sw $s1, 0xa0($sp) -/* 0E3FD0 7F0AF4A0 C6900008 */ lwc1 $f16, 8($s4) -/* 0E3FD4 7F0AF4A4 8E870000 */ lw $a3, ($s4) -/* 0E3FD8 7F0AF4A8 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 0E3FDC 7F0AF4AC 8FA5007C */ lw $a1, 0x7c($sp) -/* 0E3FE0 7F0AF4B0 8FA60084 */ lw $a2, 0x84($sp) -/* 0E3FE4 7F0AF4B4 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0E3FE8 7F0AF4B8 E7B00010 */ swc1 $f16, 0x10($sp) -/* 0E3FEC 7F0AF4BC 10400011 */ beqz $v0, .L7F0AF504 -/* 0E3FF0 7F0AF4C0 8FA800A0 */ lw $t0, 0xa0($sp) -/* 0E3FF4 7F0AF4C4 1511000F */ bne $t0, $s1, .L7F0AF504 -.L7F0AF4C8: -/* 0E3FF8 7F0AF4C8 02202025 */ move $a0, $s1 -/* 0E3FFC 7F0AF4CC 8E850000 */ lw $a1, ($s4) -/* 0E4000 7F0AF4D0 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0E4004 7F0AF4D4 8E860008 */ lw $a2, 8($s4) -/* 0E4008 7F0AF4D8 C6920004 */ lwc1 $f18, 4($s4) -/* 0E400C 7F0AF4DC 4600903C */ c.lt.s $f18, $f0 -/* 0E4010 7F0AF4E0 00000000 */ nop -/* 0E4014 7F0AF4E4 45030008 */ bc1tl .L7F0AF508 -/* 0E4018 7F0AF4E8 86220006 */ lh $v0, 6($s1) -/* 0E401C 7F0AF4EC 4600C03C */ c.lt.s $f24, $f0 -/* 0E4020 7F0AF4F0 00000000 */ nop -/* 0E4024 7F0AF4F4 45020004 */ bc1fl .L7F0AF508 -/* 0E4028 7F0AF4F8 86220006 */ lh $v0, 6($s1) -/* 0E402C 7F0AF4FC AFB1009C */ sw $s1, 0x9c($sp) -/* 0E4030 7F0AF500 46000606 */ mov.s $f24, $f0 -.L7F0AF504: -/* 0E4034 7F0AF504 86220006 */ lh $v0, 6($s1) -.L7F0AF508: -/* 0E4038 7F0AF508 00024B03 */ sra $t1, $v0, 0xc -/* 0E403C 7F0AF50C 312A000F */ andi $t2, $t1, 0xf -/* 0E4040 7F0AF510 02EA5821 */ addu $t3, $s7, $t2 -/* 0E4044 7F0AF514 916C0000 */ lbu $t4, ($t3) -/* 0E4048 7F0AF518 01918821 */ addu $s1, $t4, $s1 -/* 0E404C 7F0AF51C 8E2D0000 */ lw $t5, ($s1) -/* 0E4050 7F0AF520 11A00004 */ beqz $t5, .L7F0AF534 -/* 0E4054 7F0AF524 00000000 */ nop -/* 0E4058 7F0AF528 922F0003 */ lbu $t7, 3($s1) -/* 0E405C 7F0AF52C 52AFFFC1 */ beql $s5, $t7, .L7F0AF434 -/* 0E4060 7F0AF530 00008025 */ move $s0, $zero -.L7F0AF534: -/* 0E4064 7F0AF534 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007B9DC) -/* 0E4068 7F0AF538 8CC6B9DC */ lw $a2, %lo(dword_CODE_bss_8007B9DC)($a2) -/* 0E406C 7F0AF53C 24040004 */ li $a0, 4 -.L7F0AF540: -/* 0E4070 7F0AF540 8FAE0070 */ lw $t6, 0x70($sp) -.L7F0AF544: -/* 0E4074 7F0AF544 26B50001 */ addiu $s5, $s5, 1 -/* 0E4078 7F0AF548 02A6082A */ slt $at, $s5, $a2 -/* 0E407C 7F0AF54C 25D80004 */ addiu $t8, $t6, 4 -/* 0E4080 7F0AF550 1420FF79 */ bnez $at, .L7F0AF338 -/* 0E4084 7F0AF554 AFB80070 */ sw $t8, 0x70($sp) -/* 0E4088 7F0AF558 AFB20088 */ sw $s2, 0x88($sp) -.L7F0AF55C: -/* 0E408C 7F0AF55C 8FB9009C */ lw $t9, 0x9c($sp) -/* 0E4090 7F0AF560 8FA800D0 */ lw $t0, 0xd0($sp) -/* 0E4094 7F0AF564 53200005 */ beql $t9, $zero, .L7F0AF57C -/* 0E4098 7F0AF568 8FBF005C */ lw $ra, 0x5c($sp) -/* 0E409C 7F0AF56C 51000003 */ beql $t0, $zero, .L7F0AF57C -/* 0E40A0 7F0AF570 8FBF005C */ lw $ra, 0x5c($sp) -/* 0E40A4 7F0AF574 E5180000 */ swc1 $f24, ($t0) -/* 0E40A8 7F0AF578 8FBF005C */ lw $ra, 0x5c($sp) -.L7F0AF57C: -/* 0E40AC 7F0AF57C 8FA2009C */ lw $v0, 0x9c($sp) -/* 0E40B0 7F0AF580 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0E40B4 7F0AF584 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 0E40B8 7F0AF588 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 0E40BC 7F0AF58C 8FB00038 */ lw $s0, 0x38($sp) -/* 0E40C0 7F0AF590 8FB1003C */ lw $s1, 0x3c($sp) -/* 0E40C4 7F0AF594 8FB20040 */ lw $s2, 0x40($sp) -/* 0E40C8 7F0AF598 8FB30044 */ lw $s3, 0x44($sp) -/* 0E40CC 7F0AF59C 8FB40048 */ lw $s4, 0x48($sp) -/* 0E40D0 7F0AF5A0 8FB5004C */ lw $s5, 0x4c($sp) -/* 0E40D4 7F0AF5A4 8FB60050 */ lw $s6, 0x50($sp) -/* 0E40D8 7F0AF5A8 8FB70054 */ lw $s7, 0x54($sp) -/* 0E40DC 7F0AF5AC 8FBE0058 */ lw $fp, 0x58($sp) -/* 0E40E0 7F0AF5B0 03E00008 */ jr $ra -/* 0E40E4 7F0AF5B4 27BD00C8 */ addiu $sp, $sp, 0xc8 -) -#endif - - - - - -#ifdef NONMATCHING -void stanLoadFile(void *arg0) { - stanLoaded = 1; - clippingfile = arg0; - base_ptr_connection_vals = (s32) (arg0->unk4 + -0x80); - if (check_token(1, "-stanlinelog") != 0) - { - stanlinelog_flag = 1; - } - sub_GAME_7F0AF038(); - sub_GAME_7F0B2950(1.0); -} - -#else -GLOBAL_ASM( -.text -glabel stanLoadFile -/* 0E40E8 7F0AF5B8 3C028008 */ lui $v0, %hi(clippingfile) -/* 0E40EC 7F0AF5BC 240E0001 */ li $t6, 1 -/* 0E40F0 7F0AF5C0 3C018004 */ lui $at, %hi(stanLoaded) -/* 0E40F4 7F0AF5C4 2442B120 */ addiu $v0, %lo(clippingfile) # addiu $v0, $v0, -0x4ee0 -/* 0E40F8 7F0AF5C8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E40FC 7F0AF5CC AC2E0FB0 */ sw $t6, %lo(stanLoaded)($at) -/* 0E4100 7F0AF5D0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E4104 7F0AF5D4 AC440000 */ sw $a0, ($v0) -/* 0E4108 7F0AF5D8 8C980004 */ lw $t8, 4($a0) -/* 0E410C 7F0AF5DC 3C018004 */ lui $at, %hi(base_ptr_connection_vals) -/* 0E4110 7F0AF5E0 3C058006 */ lui $a1, %hi(aStanlinelog) -/* 0E4114 7F0AF5E4 2719FF80 */ addiu $t9, $t8, -0x80 -/* 0E4118 7F0AF5E8 AC390F58 */ sw $t9, %lo(base_ptr_connection_vals)($at) -/* 0E411C 7F0AF5EC 24A585BC */ addiu $a1, %lo(aStanlinelog) # addiu $a1, $a1, -0x7a44 -/* 0E4120 7F0AF5F0 0C0029A8 */ jal check_token -/* 0E4124 7F0AF5F4 24040001 */ li $a0, 1 -/* 0E4128 7F0AF5F8 10400003 */ beqz $v0, .L7F0AF608 -/* 0E412C 7F0AF5FC 24080001 */ li $t0, 1 -/* 0E4130 7F0AF600 3C018004 */ lui $at, %hi(stanlinelog_flag) -/* 0E4134 7F0AF604 AC280FB4 */ sw $t0, %lo(stanlinelog_flag)($at) -.L7F0AF608: -/* 0E4138 7F0AF608 0FC2BC0E */ jal sub_GAME_7F0AF038 -/* 0E413C 7F0AF60C 00000000 */ nop -/* 0E4140 7F0AF610 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E4144 7F0AF614 44816000 */ mtc1 $at, $f12 -/* 0E4148 7F0AF618 0FC2CA54 */ jal sub_GAME_7F0B2950 -/* 0E414C 7F0AF61C 00000000 */ nop -/* 0E4150 7F0AF620 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E4154 7F0AF624 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E4158 7F0AF628 03E00008 */ jr $ra -/* 0E415C 7F0AF62C 00000000 */ nop -) -#endif - - - - - - -void sub_GAME_7F0AF630(s32 arg0) { - return; -} - - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0AF638(s32 arg0, s32 arg1, void *arg2) { - s32 temp_s4; - void *temp_s3; - s32 temp_s1; - void *temp_s2; - s32 temp_a1; - s32 temp_v0; - s32 temp_s0; - void *temp_v1; - void *phi_s2; - s32 phi_a1; - void *phi_a0; - void *phi_s2_2; - s32 phi_s0; - s32 phi_a1_2; - s32 phi_s1; - s32 phi_s7; - void *phi_s2_3; - s32 phi_a1_3; - s32 phi_s1_2; - s32 phi_s1_3; - s32 phi_s7_2; - s32 phi_s7_3; - s32 phi_s1_4; - - // Node 0 - temp_s4 = (arg1 & 0xff); - *arg2 = arg0; - phi_s2 = (arg2 + 4); - phi_a1 = arg1; - phi_s1_3 = 1; - phi_s7_3 = 0; -loop_1: - // Node 1 - temp_s3 = phi_s2->unk-4; - temp_s1 = (phi_s1_3 + -1); - temp_s2 = (phi_s2 + -4); - phi_s1 = temp_s1; - phi_s7 = phi_s7_3; - phi_s2 = temp_s2; - phi_a1 = phi_a1; - if (temp_s4 != (((s32) *temp_s3 >> 0xf) & 1)) - { - // Node 2 - *temp_s3 = (s16) (*temp_s3 ^ 0x8000); - phi_s7_2 = phi_s7_3; - if (sub_GAME_7F0AF760(temp_s3, phi_a1) == 0) - { - // Node 3 - phi_s7_2 = (phi_s7_3 + 1); - } - // Node 4 - temp_a1 = (((s32) temp_s3->unk6 >> 0xc) & 0xf); - phi_a0 = temp_s3; - phi_s2_2 = temp_s2; - phi_s0 = 0; - phi_s1 = temp_s1; - phi_s7 = phi_s7_2; - phi_s2 = temp_s2; - phi_a1 = temp_a1; - phi_a1_3 = temp_a1; - phi_s1_4 = temp_s1; - if (temp_a1 > 0) - { -loop_5: - // Node 5 - temp_v0 = phi_a0->unkE; - temp_s0 = (phi_s0 + 1); - phi_a1_2 = phi_a1_3; - phi_s2_3 = phi_s2_2; - phi_s1_2 = phi_s1_4; - if ((temp_v0 >> 4) != 0) - { - // Node 6 - temp_v1 = ((temp_v0 * 8) + base_ptr_connection_vals); - phi_a1_2 = phi_a1_3; - phi_s2_3 = phi_s2_2; - phi_s1_2 = phi_s1_4; - if (temp_s4 != (((s32) *temp_v1 >> 0xf) & 1)) - { - // Node 7 - *phi_s2_2 = temp_v1; - phi_a1_2 = (((s32) temp_s3->unk6 >> 0xc) & 0xf); - phi_s2_3 = (phi_s2_2 + 4); - phi_s1_2 = (phi_s1_4 + 1); - } - } - // Node 8 - phi_a0 = (phi_a0 + 8); - phi_s2_2 = phi_s2_3; - phi_s0 = temp_s0; - phi_s1 = phi_s1_2; - phi_s7 = phi_s7_2; - phi_s2 = phi_s2_3; - phi_a1 = phi_a1_2; - phi_a1_3 = phi_a1_2; - phi_s1_4 = phi_s1_2; - if (temp_s0 < phi_a1_2) - { - goto loop_5; - } - } - } - // Node 9 - phi_s1_3 = phi_s1; - phi_s7_3 = phi_s7; - if (phi_s1 != 0) - { - goto loop_1; - } - // Node 10 - return phi_s7; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AF638 -/* 0E4168 7F0AF638 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0E416C 7F0AF63C AFB70030 */ sw $s7, 0x30($sp) -/* 0E4170 7F0AF640 AFB6002C */ sw $s6, 0x2c($sp) -/* 0E4174 7F0AF644 AFB40024 */ sw $s4, 0x24($sp) -/* 0E4178 7F0AF648 AFB2001C */ sw $s2, 0x1c($sp) -/* 0E417C 7F0AF64C AFB10018 */ sw $s1, 0x18($sp) -/* 0E4180 7F0AF650 AFBF0034 */ sw $ra, 0x34($sp) -/* 0E4184 7F0AF654 AFB50028 */ sw $s5, 0x28($sp) -/* 0E4188 7F0AF658 AFB30020 */ sw $s3, 0x20($sp) -/* 0E418C 7F0AF65C AFB00014 */ sw $s0, 0x14($sp) -/* 0E4190 7F0AF660 AFA5003C */ sw $a1, 0x3c($sp) -/* 0E4194 7F0AF664 3C168004 */ lui $s6, %hi(base_ptr_connection_vals) -/* 0E4198 7F0AF668 30B400FF */ andi $s4, $a1, 0xff -/* 0E419C 7F0AF66C 0000B825 */ move $s7, $zero -/* 0E41A0 7F0AF670 ACC40000 */ sw $a0, ($a2) -/* 0E41A4 7F0AF674 24110001 */ li $s1, 1 -/* 0E41A8 7F0AF678 26D60F58 */ addiu $s6, %lo(base_ptr_connection_vals) # addiu $s6, $s6, 0xf58 -/* 0E41AC 7F0AF67C 24D20004 */ addiu $s2, $a2, 4 -/* 0E41B0 7F0AF680 8E53FFFC */ lw $s3, -4($s2) -.L7F0AF684: -/* 0E41B4 7F0AF684 2631FFFF */ addiu $s1, $s1, -1 -/* 0E41B8 7F0AF688 2652FFFC */ addiu $s2, $s2, -4 -/* 0E41BC 7F0AF68C 96620000 */ lhu $v0, ($s3) -/* 0E41C0 7F0AF690 00008025 */ move $s0, $zero -/* 0E41C4 7F0AF694 02602025 */ move $a0, $s3 -/* 0E41C8 7F0AF698 00027BC3 */ sra $t7, $v0, 0xf -/* 0E41CC 7F0AF69C 31F80001 */ andi $t8, $t7, 1 -/* 0E41D0 7F0AF6A0 12980021 */ beq $s4, $t8, .L7F0AF728 -/* 0E41D4 7F0AF6A4 38598000 */ xori $t9, $v0, 0x8000 -/* 0E41D8 7F0AF6A8 0FC2BDD8 */ jal sub_GAME_7F0AF760 -/* 0E41DC 7F0AF6AC A6790000 */ sh $t9, ($s3) -/* 0E41E0 7F0AF6B0 14400002 */ bnez $v0, .L7F0AF6BC -/* 0E41E4 7F0AF6B4 02602025 */ move $a0, $s3 -/* 0E41E8 7F0AF6B8 26F70001 */ addiu $s7, $s7, 1 -.L7F0AF6BC: -/* 0E41EC 7F0AF6BC 86650006 */ lh $a1, 6($s3) -/* 0E41F0 7F0AF6C0 00054303 */ sra $t0, $a1, 0xc -/* 0E41F4 7F0AF6C4 3105000F */ andi $a1, $t0, 0xf -/* 0E41F8 7F0AF6C8 18A00017 */ blez $a1, .L7F0AF728 -/* 0E41FC 7F0AF6CC 00000000 */ nop -.L7F0AF6D0: -/* 0E4200 7F0AF6D0 9482000E */ lhu $v0, 0xe($a0) -/* 0E4204 7F0AF6D4 26100001 */ addiu $s0, $s0, 1 -/* 0E4208 7F0AF6D8 00025103 */ sra $t2, $v0, 4 -/* 0E420C 7F0AF6DC 51400010 */ beql $t2, $zero, .L7F0AF720 -/* 0E4210 7F0AF6E0 0205082A */ slt $at, $s0, $a1 -/* 0E4214 7F0AF6E4 8ECC0000 */ lw $t4, ($s6) -/* 0E4218 7F0AF6E8 000258C0 */ sll $t3, $v0, 3 -/* 0E421C 7F0AF6EC 016C1821 */ addu $v1, $t3, $t4 -/* 0E4220 7F0AF6F0 946D0000 */ lhu $t5, ($v1) -/* 0E4224 7F0AF6F4 000D73C3 */ sra $t6, $t5, 0xf -/* 0E4228 7F0AF6F8 31CF0001 */ andi $t7, $t6, 1 -/* 0E422C 7F0AF6FC 528F0008 */ beql $s4, $t7, .L7F0AF720 -/* 0E4230 7F0AF700 0205082A */ slt $at, $s0, $a1 -/* 0E4234 7F0AF704 AE430000 */ sw $v1, ($s2) -/* 0E4238 7F0AF708 86650006 */ lh $a1, 6($s3) -/* 0E423C 7F0AF70C 26310001 */ addiu $s1, $s1, 1 -/* 0E4240 7F0AF710 26520004 */ addiu $s2, $s2, 4 -/* 0E4244 7F0AF714 0005C303 */ sra $t8, $a1, 0xc -/* 0E4248 7F0AF718 3305000F */ andi $a1, $t8, 0xf -/* 0E424C 7F0AF71C 0205082A */ slt $at, $s0, $a1 -.L7F0AF720: -/* 0E4250 7F0AF720 1420FFEB */ bnez $at, .L7F0AF6D0 -/* 0E4254 7F0AF724 24840008 */ addiu $a0, $a0, 8 -.L7F0AF728: -/* 0E4258 7F0AF728 5620FFD6 */ bnezl $s1, .L7F0AF684 -/* 0E425C 7F0AF72C 8E53FFFC */ lw $s3, -4($s2) -/* 0E4260 7F0AF730 8FBF0034 */ lw $ra, 0x34($sp) -/* 0E4264 7F0AF734 02E01025 */ move $v0, $s7 -/* 0E4268 7F0AF738 8FB70030 */ lw $s7, 0x30($sp) -/* 0E426C 7F0AF73C 8FB00014 */ lw $s0, 0x14($sp) -/* 0E4270 7F0AF740 8FB10018 */ lw $s1, 0x18($sp) -/* 0E4274 7F0AF744 8FB2001C */ lw $s2, 0x1c($sp) -/* 0E4278 7F0AF748 8FB30020 */ lw $s3, 0x20($sp) -/* 0E427C 7F0AF74C 8FB40024 */ lw $s4, 0x24($sp) -/* 0E4280 7F0AF750 8FB50028 */ lw $s5, 0x28($sp) -/* 0E4284 7F0AF754 8FB6002C */ lw $s6, 0x2c($sp) -/* 0E4288 7F0AF758 03E00008 */ jr $ra -/* 0E428C 7F0AF75C 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0AF760(void *arg0) { - u32 sp0; - s32 sp8; - s32 sp10; - s32 sp14; - s32 sp1C; - void *temp_t1; - void *temp_t0; - void *temp_t2; - s32 temp_t5; - s32 temp_t8; - u32 temp_t8_2; - - // Node 0 - temp_t1 = (arg0 + ((((s32) arg0->unk6 >> 8) & 0xf) * 8)); - temp_t0 = (arg0 + ((((s32) arg0->unk6 >> 4) & 0xf) * 8)); - sp14 = (s32) (temp_t0->unk8 - temp_t1->unk8); - temp_t2 = (arg0 + ((arg0->unk6 & 0xf) * 8)); - sp1C = (s32) (temp_t0->unkC - temp_t1->unkC); - temp_t5 = (temp_t2->unk8 - temp_t1->unk8); - sp8 = temp_t5; - temp_t8 = (temp_t2->unkC - temp_t1->unkC); - sp10 = temp_t8; - temp_t8_2 = ((sp1C * temp_t5) - (temp_t8 * sp14)); - sp0 = temp_t8_2; - return (temp_t8_2 < 1U); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AF760 -/* 0E4290 7F0AF760 84850006 */ lh $a1, 6($a0) -/* 0E4294 7F0AF764 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E4298 7F0AF768 00051A03 */ sra $v1, $a1, 8 -/* 0E429C 7F0AF76C 00053103 */ sra $a2, $a1, 4 -/* 0E42A0 7F0AF770 306E000F */ andi $t6, $v1, 0xf -/* 0E42A4 7F0AF774 30CF000F */ andi $t7, $a2, 0xf -/* 0E42A8 7F0AF778 000FC0C0 */ sll $t8, $t7, 3 -/* 0E42AC 7F0AF77C 000EC8C0 */ sll $t9, $t6, 3 -/* 0E42B0 7F0AF780 00994821 */ addu $t1, $a0, $t9 -/* 0E42B4 7F0AF784 00984021 */ addu $t0, $a0, $t8 -/* 0E42B8 7F0AF788 850B0008 */ lh $t3, 8($t0) -/* 0E42BC 7F0AF78C 852C0008 */ lh $t4, 8($t1) -/* 0E42C0 7F0AF790 30A7000F */ andi $a3, $a1, 0xf -/* 0E42C4 7F0AF794 0007C8C0 */ sll $t9, $a3, 3 -/* 0E42C8 7F0AF798 016C6823 */ subu $t5, $t3, $t4 -/* 0E42CC 7F0AF79C AFAD0014 */ sw $t5, 0x14($sp) -/* 0E42D0 7F0AF7A0 852F000C */ lh $t7, 0xc($t1) -/* 0E42D4 7F0AF7A4 850E000C */ lh $t6, 0xc($t0) -/* 0E42D8 7F0AF7A8 00995021 */ addu $t2, $a0, $t9 -/* 0E42DC 7F0AF7AC 01CFC023 */ subu $t8, $t6, $t7 -/* 0E42E0 7F0AF7B0 AFB8001C */ sw $t8, 0x1c($sp) -/* 0E42E4 7F0AF7B4 852C0008 */ lh $t4, 8($t1) -/* 0E42E8 7F0AF7B8 854B0008 */ lh $t3, 8($t2) -/* 0E42EC 7F0AF7BC 8FB9001C */ lw $t9, 0x1c($sp) -/* 0E42F0 7F0AF7C0 016C6823 */ subu $t5, $t3, $t4 -/* 0E42F4 7F0AF7C4 032D0019 */ multu $t9, $t5 -/* 0E42F8 7F0AF7C8 AFAD0008 */ sw $t5, 8($sp) -/* 0E42FC 7F0AF7CC 852F000C */ lh $t7, 0xc($t1) -/* 0E4300 7F0AF7D0 854E000C */ lh $t6, 0xc($t2) -/* 0E4304 7F0AF7D4 01CFC023 */ subu $t8, $t6, $t7 -/* 0E4308 7F0AF7D8 8FAE0014 */ lw $t6, 0x14($sp) -/* 0E430C 7F0AF7DC AFB80010 */ sw $t8, 0x10($sp) -/* 0E4310 7F0AF7E0 00006012 */ mflo $t4 -/* 0E4314 7F0AF7E4 00000000 */ nop -/* 0E4318 7F0AF7E8 00000000 */ nop -/* 0E431C 7F0AF7EC 030E0019 */ multu $t8, $t6 -/* 0E4320 7F0AF7F0 00007812 */ mflo $t7 -/* 0E4324 7F0AF7F4 018FC023 */ subu $t8, $t4, $t7 -/* 0E4328 7F0AF7F8 AFB80000 */ sw $t8, ($sp) -/* 0E432C 7F0AF7FC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0E4330 7F0AF800 03E00008 */ jr $ra -/* 0E4334 7F0AF804 2F020001 */ sltiu $v0, $t8, 1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AF808(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AF808 -/* 0E4338 7F0AF808 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0E433C 7F0AF80C 3C0E8008 */ lui $t6, %hi(clippingfile) -/* 0E4340 7F0AF810 8DCEB120 */ lw $t6, %lo(clippingfile)($t6) -/* 0E4344 7F0AF814 AFBF0044 */ sw $ra, 0x44($sp) -/* 0E4348 7F0AF818 AFB20040 */ sw $s2, 0x40($sp) -/* 0E434C 7F0AF81C AFB1003C */ sw $s1, 0x3c($sp) -/* 0E4350 7F0AF820 AFB00038 */ sw $s0, 0x38($sp) -/* 0E4354 7F0AF824 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0E4358 7F0AF828 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0E435C 7F0AF82C F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0E4360 7F0AF830 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0E4364 7F0AF834 8DD00004 */ lw $s0, 4($t6) -/* 0E4368 7F0AF838 4486B000 */ mtc1 $a2, $f22 -/* 0E436C 7F0AF83C 4487C000 */ mtc1 $a3, $f24 -/* 0E4370 7F0AF840 8E0F0000 */ lw $t7, ($s0) -/* 0E4374 7F0AF844 46006506 */ mov.s $f20, $f12 -/* 0E4378 7F0AF848 46007686 */ mov.s $f26, $f14 -/* 0E437C 7F0AF84C 11E0002A */ beqz $t7, .L7F0AF8F8 -/* 0E4380 7F0AF850 3C128004 */ lui $s2, %hi(list_of_tilesizes) -/* 0E4384 7F0AF854 26520F4C */ addiu $s2, %lo(list_of_tilesizes) # addiu $s2, $s2, 0xf4c -/* 0E4388 7F0AF858 27B10050 */ addiu $s1, $sp, 0x50 -/* 0E438C 7F0AF85C AFB00050 */ sw $s0, 0x50($sp) -.L7F0AF860: -/* 0E4390 7F0AF860 0FC2BDD8 */ jal sub_GAME_7F0AF760 -/* 0E4394 7F0AF864 02002025 */ move $a0, $s0 -/* 0E4398 7F0AF868 5440001B */ bnezl $v0, .L7F0AF8D8 -/* 0E439C 7F0AF86C 86020006 */ lh $v0, 6($s0) -/* 0E43A0 7F0AF870 4405A000 */ mfc1 $a1, $f20 -/* 0E43A4 7F0AF874 4406B000 */ mfc1 $a2, $f22 -/* 0E43A8 7F0AF878 0FC2C0DB */ jal sub_GAME_7F0B036C -/* 0E43AC 7F0AF87C 02002025 */ move $a0, $s0 -/* 0E43B0 7F0AF880 50400015 */ beql $v0, $zero, .L7F0AF8D8 -/* 0E43B4 7F0AF884 86020006 */ lh $v0, 6($s0) -/* 0E43B8 7F0AF888 4405A000 */ mfc1 $a1, $f20 -/* 0E43BC 7F0AF88C 4406B000 */ mfc1 $a2, $f22 -/* 0E43C0 7F0AF890 4407C000 */ mfc1 $a3, $f24 -/* 0E43C4 7F0AF894 0FC2C834 */ jal sub_GAME_7F0B20D0 -/* 0E43C8 7F0AF898 02202025 */ move $a0, $s1 -/* 0E43CC 7F0AF89C 1040000D */ beqz $v0, .L7F0AF8D4 -/* 0E43D0 7F0AF8A0 8FB80050 */ lw $t8, 0x50($sp) -/* 0E43D4 7F0AF8A4 5618000C */ bnel $s0, $t8, .L7F0AF8D8 -/* 0E43D8 7F0AF8A8 86020006 */ lh $v0, 6($s0) -/* 0E43DC 7F0AF8AC 4405A000 */ mfc1 $a1, $f20 -/* 0E43E0 7F0AF8B0 4406B000 */ mfc1 $a2, $f22 -/* 0E43E4 7F0AF8B4 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0E43E8 7F0AF8B8 02002025 */ move $a0, $s0 -/* 0E43EC 7F0AF8BC 461A003C */ c.lt.s $f0, $f26 -/* 0E43F0 7F0AF8C0 00000000 */ nop -/* 0E43F4 7F0AF8C4 45020004 */ bc1fl .L7F0AF8D8 -/* 0E43F8 7F0AF8C8 86020006 */ lh $v0, 6($s0) -/* 0E43FC 7F0AF8CC 1000000B */ b .L7F0AF8FC -/* 0E4400 7F0AF8D0 02001025 */ move $v0, $s0 -.L7F0AF8D4: -/* 0E4404 7F0AF8D4 86020006 */ lh $v0, 6($s0) -.L7F0AF8D8: -/* 0E4408 7F0AF8D8 0002CB03 */ sra $t9, $v0, 0xc -/* 0E440C 7F0AF8DC 3328000F */ andi $t0, $t9, 0xf -/* 0E4410 7F0AF8E0 02484821 */ addu $t1, $s2, $t0 -/* 0E4414 7F0AF8E4 912A0000 */ lbu $t2, ($t1) -/* 0E4418 7F0AF8E8 01508021 */ addu $s0, $t2, $s0 -/* 0E441C 7F0AF8EC 8E0B0000 */ lw $t3, ($s0) -/* 0E4420 7F0AF8F0 5560FFDB */ bnezl $t3, .L7F0AF860 -/* 0E4424 7F0AF8F4 AFB00050 */ sw $s0, 0x50($sp) -.L7F0AF8F8: -/* 0E4428 7F0AF8F8 00001025 */ move $v0, $zero -.L7F0AF8FC: -/* 0E442C 7F0AF8FC 8FBF0044 */ lw $ra, 0x44($sp) -/* 0E4430 7F0AF900 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0E4434 7F0AF904 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0E4438 7F0AF908 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0E443C 7F0AF90C D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0E4440 7F0AF910 8FB00038 */ lw $s0, 0x38($sp) -/* 0E4444 7F0AF914 8FB1003C */ lw $s1, 0x3c($sp) -/* 0E4448 7F0AF918 8FB20040 */ lw $s2, 0x40($sp) -/* 0E444C 7F0AF91C 03E00008 */ jr $ra -/* 0E4450 7F0AF920 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0AF924(void *arg0, void *arg1) { - void *temp_t2; - void *temp_t1; - void *temp_t0; - - // Node 0 - temp_t2 = (arg0 + ((((s32) arg0->unk6 >> 4) & 0xf) * 8)); - temp_t1 = (arg0 + ((((s32) arg0->unk6 >> 8) & 0xf) * 8)); - temp_t0 = (arg0 + ((arg0->unk6 & 0xf) * 8)); - *arg1 = (f32) ((((f32) temp_t0->unk8 + ((f32) temp_t1->unk8 + (f32) temp_t2->unk8)) / 3.0f) * D_80040F48); - arg1->unk4 = (f32) ((((f32) temp_t0->unkA + ((f32) temp_t1->unkA + (f32) temp_t2->unkA)) / 3.0f) * D_80040F48); - arg1->unk8 = (f32) ((((f32) temp_t0->unkC + ((f32) temp_t1->unkC + (f32) temp_t2->unkC)) / 3.0f) * D_80040F48); - return 3.0f; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AF924 -/* 0E4454 7F0AF924 84870006 */ lh $a3, 6($a0) -/* 0E4458 7F0AF928 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 0E445C 7F0AF92C 44810000 */ mtc1 $at, $f0 -/* 0E4460 7F0AF930 00077203 */ sra $t6, $a3, 8 -/* 0E4464 7F0AF934 31CF000F */ andi $t7, $t6, 0xf -/* 0E4468 7F0AF938 0007C103 */ sra $t8, $a3, 4 -/* 0E446C 7F0AF93C 3319000F */ andi $t9, $t8, 0xf -/* 0E4470 7F0AF940 000F70C0 */ sll $t6, $t7, 3 -/* 0E4474 7F0AF944 001978C0 */ sll $t7, $t9, 3 -/* 0E4478 7F0AF948 008F5021 */ addu $t2, $a0, $t7 -/* 0E447C 7F0AF94C 008E4821 */ addu $t1, $a0, $t6 -/* 0E4480 7F0AF950 85380008 */ lh $t8, 8($t1) -/* 0E4484 7F0AF954 85590008 */ lh $t9, 8($t2) -/* 0E4488 7F0AF958 30EC000F */ andi $t4, $a3, 0xf -/* 0E448C 7F0AF95C 000C68C0 */ sll $t5, $t4, 3 -/* 0E4490 7F0AF960 44982000 */ mtc1 $t8, $f4 -/* 0E4494 7F0AF964 44994000 */ mtc1 $t9, $f8 -/* 0E4498 7F0AF968 008D4021 */ addu $t0, $a0, $t5 -/* 0E449C 7F0AF96C 850C0008 */ lh $t4, 8($t0) -/* 0E44A0 7F0AF970 468021A0 */ cvt.s.w $f6, $f4 -/* 0E44A4 7F0AF974 3C0B8004 */ lui $t3, %hi(D_80040F48) -/* 0E44A8 7F0AF978 448C9000 */ mtc1 $t4, $f18 -/* 0E44AC 7F0AF97C 256B0F48 */ addiu $t3, %lo(D_80040F48) # addiu $t3, $t3, 0xf48 -/* 0E44B0 7F0AF980 468042A0 */ cvt.s.w $f10, $f8 -/* 0E44B4 7F0AF984 46809120 */ cvt.s.w $f4, $f18 -/* 0E44B8 7F0AF988 460A3400 */ add.s $f16, $f6, $f10 -/* 0E44BC 7F0AF98C C56A0000 */ lwc1 $f10, ($t3) -/* 0E44C0 7F0AF990 46102200 */ add.s $f8, $f4, $f16 -/* 0E44C4 7F0AF994 46004183 */ div.s $f6, $f8, $f0 -/* 0E44C8 7F0AF998 460A3482 */ mul.s $f18, $f6, $f10 -/* 0E44CC 7F0AF99C E4B20000 */ swc1 $f18, ($a1) -/* 0E44D0 7F0AF9A0 854E000A */ lh $t6, 0xa($t2) -/* 0E44D4 7F0AF9A4 852D000A */ lh $t5, 0xa($t1) -/* 0E44D8 7F0AF9A8 850F000A */ lh $t7, 0xa($t0) -/* 0E44DC 7F0AF9AC 448E4000 */ mtc1 $t6, $f8 -/* 0E44E0 7F0AF9B0 448D2000 */ mtc1 $t5, $f4 -/* 0E44E4 7F0AF9B4 448F9000 */ mtc1 $t7, $f18 -/* 0E44E8 7F0AF9B8 468041A0 */ cvt.s.w $f6, $f8 -/* 0E44EC 7F0AF9BC 46802420 */ cvt.s.w $f16, $f4 -/* 0E44F0 7F0AF9C0 46809120 */ cvt.s.w $f4, $f18 -/* 0E44F4 7F0AF9C4 46068280 */ add.s $f10, $f16, $f6 -/* 0E44F8 7F0AF9C8 C5660000 */ lwc1 $f6, ($t3) -/* 0E44FC 7F0AF9CC 460A2200 */ add.s $f8, $f4, $f10 -/* 0E4500 7F0AF9D0 46004403 */ div.s $f16, $f8, $f0 -/* 0E4504 7F0AF9D4 46068482 */ mul.s $f18, $f16, $f6 -/* 0E4508 7F0AF9D8 E4B20004 */ swc1 $f18, 4($a1) -/* 0E450C 7F0AF9DC 8559000C */ lh $t9, 0xc($t2) -/* 0E4510 7F0AF9E0 8538000C */ lh $t8, 0xc($t1) -/* 0E4514 7F0AF9E4 850C000C */ lh $t4, 0xc($t0) -/* 0E4518 7F0AF9E8 44994000 */ mtc1 $t9, $f8 -/* 0E451C 7F0AF9EC 44982000 */ mtc1 $t8, $f4 -/* 0E4520 7F0AF9F0 448C9000 */ mtc1 $t4, $f18 -/* 0E4524 7F0AF9F4 46804420 */ cvt.s.w $f16, $f8 -/* 0E4528 7F0AF9F8 468022A0 */ cvt.s.w $f10, $f4 -/* 0E452C 7F0AF9FC 46809120 */ cvt.s.w $f4, $f18 -/* 0E4530 7F0AFA00 46105180 */ add.s $f6, $f10, $f16 -/* 0E4534 7F0AFA04 C5700000 */ lwc1 $f16, ($t3) -/* 0E4538 7F0AFA08 46062200 */ add.s $f8, $f4, $f6 -/* 0E453C 7F0AFA0C 46004283 */ div.s $f10, $f8, $f0 -/* 0E4540 7F0AFA10 46105482 */ mul.s $f18, $f10, $f16 -/* 0E4544 7F0AFA14 03E00008 */ jr $ra -/* 0E4548 7F0AFA18 E4B20008 */ swc1 $f18, 8($a1) -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0AFA1C(void *arg0, s32 arg1, void *arg2) { - f32 sp1C; - s32 temp_a3; - void *temp_v0; - - // Node 0 - temp_a3 = ((s32) arg0->unk6 >> (8 - (arg1 * 4))); - temp_v0 = (arg0 + ((temp_a3 & 0xf) * 8)); - *arg2 = (f32) ((f32) temp_v0->unk8 * D_80040F48); - arg2->unk4 = (f32) ((f32) temp_v0->unkA * D_80040F48); - arg2->unk8 = (f32) ((f32) temp_v0->unkC * D_80040F48); - sub_GAME_7F0AF924(&sp1C, temp_a3); - *arg2 = (f32) ((sp1C * D_800585D8) + (D_800585DC * *arg2)); - arg2->unk4 = (f32) ((sp20 * D_800585D8) + (D_800585DC * arg2->unk4)); - arg2->unk8 = (f32) ((sp24 * D_800585D8) + (D_800585DC * arg2->unk8)); - return D_800585D8; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800585D8 -.word 0x3dcccccd /*0.1*/ -glabel D_800585DC -.word 0x3f666666 /*0.89999998*/ -.text -glabel sub_GAME_7F0AFA1C -/* 0E454C 7F0AFA1C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E4550 7F0AFA20 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E4554 7F0AFA24 848E0006 */ lh $t6, 6($a0) -/* 0E4558 7F0AFA28 00057880 */ sll $t7, $a1, 2 -/* 0E455C 7F0AFA2C 24180008 */ li $t8, 8 -/* 0E4560 7F0AFA30 030FC823 */ subu $t9, $t8, $t7 -/* 0E4564 7F0AFA34 032E3807 */ srav $a3, $t6, $t9 -/* 0E4568 7F0AFA38 30E8000F */ andi $t0, $a3, 0xf -/* 0E456C 7F0AFA3C 000848C0 */ sll $t1, $t0, 3 -/* 0E4570 7F0AFA40 00891021 */ addu $v0, $a0, $t1 -/* 0E4574 7F0AFA44 844A0008 */ lh $t2, 8($v0) -/* 0E4578 7F0AFA48 3C038004 */ lui $v1, %hi(D_80040F48) -/* 0E457C 7F0AFA4C 24630F48 */ addiu $v1, %lo(D_80040F48) # addiu $v1, $v1, 0xf48 -/* 0E4580 7F0AFA50 448A2000 */ mtc1 $t2, $f4 -/* 0E4584 7F0AFA54 C4680000 */ lwc1 $f8, ($v1) -/* 0E4588 7F0AFA58 27A5001C */ addiu $a1, $sp, 0x1c -/* 0E458C 7F0AFA5C 468021A0 */ cvt.s.w $f6, $f4 -/* 0E4590 7F0AFA60 46083282 */ mul.s $f10, $f6, $f8 -/* 0E4594 7F0AFA64 E4CA0000 */ swc1 $f10, ($a2) -/* 0E4598 7F0AFA68 844B000A */ lh $t3, 0xa($v0) -/* 0E459C 7F0AFA6C C4640000 */ lwc1 $f4, ($v1) -/* 0E45A0 7F0AFA70 448B8000 */ mtc1 $t3, $f16 -/* 0E45A4 7F0AFA74 00000000 */ nop -/* 0E45A8 7F0AFA78 468084A0 */ cvt.s.w $f18, $f16 -/* 0E45AC 7F0AFA7C 46049182 */ mul.s $f6, $f18, $f4 -/* 0E45B0 7F0AFA80 E4C60004 */ swc1 $f6, 4($a2) -/* 0E45B4 7F0AFA84 844C000C */ lh $t4, 0xc($v0) -/* 0E45B8 7F0AFA88 C4700000 */ lwc1 $f16, ($v1) -/* 0E45BC 7F0AFA8C 448C4000 */ mtc1 $t4, $f8 -/* 0E45C0 7F0AFA90 00000000 */ nop -/* 0E45C4 7F0AFA94 468042A0 */ cvt.s.w $f10, $f8 -/* 0E45C8 7F0AFA98 46105482 */ mul.s $f18, $f10, $f16 -/* 0E45CC 7F0AFA9C E4D20008 */ swc1 $f18, 8($a2) -/* 0E45D0 7F0AFAA0 0FC2BE49 */ jal sub_GAME_7F0AF924 -/* 0E45D4 7F0AFAA4 AFA60030 */ sw $a2, 0x30($sp) -/* 0E45D8 7F0AFAA8 3C018006 */ lui $at, %hi(D_800585D8) -/* 0E45DC 7F0AFAAC C42085D8 */ lwc1 $f0, %lo(D_800585D8)($at) -/* 0E45E0 7F0AFAB0 8FA60030 */ lw $a2, 0x30($sp) -/* 0E45E4 7F0AFAB4 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0E45E8 7F0AFAB8 3C018006 */ lui $at, %hi(D_800585DC) -/* 0E45EC 7F0AFABC C42285DC */ lwc1 $f2, %lo(D_800585DC)($at) -/* 0E45F0 7F0AFAC0 46002182 */ mul.s $f6, $f4, $f0 -/* 0E45F4 7F0AFAC4 C4C80000 */ lwc1 $f8, ($a2) -/* 0E45F8 7F0AFAC8 46081282 */ mul.s $f10, $f2, $f8 -/* 0E45FC 7F0AFACC C4C80004 */ lwc1 $f8, 4($a2) -/* 0E4600 7F0AFAD0 460A3400 */ add.s $f16, $f6, $f10 -/* 0E4604 7F0AFAD4 E4D00000 */ swc1 $f16, ($a2) -/* 0E4608 7F0AFAD8 C7B20020 */ lwc1 $f18, 0x20($sp) -/* 0E460C 7F0AFADC 46009102 */ mul.s $f4, $f18, $f0 -/* 0E4610 7F0AFAE0 00000000 */ nop -/* 0E4614 7F0AFAE4 46081182 */ mul.s $f6, $f2, $f8 -/* 0E4618 7F0AFAE8 C4C80008 */ lwc1 $f8, 8($a2) -/* 0E461C 7F0AFAEC 46062280 */ add.s $f10, $f4, $f6 -/* 0E4620 7F0AFAF0 E4CA0004 */ swc1 $f10, 4($a2) -/* 0E4624 7F0AFAF4 C7B00024 */ lwc1 $f16, 0x24($sp) -/* 0E4628 7F0AFAF8 46008482 */ mul.s $f18, $f16, $f0 -/* 0E462C 7F0AFAFC 00000000 */ nop -/* 0E4630 7F0AFB00 46081102 */ mul.s $f4, $f2, $f8 -/* 0E4634 7F0AFB04 46049180 */ add.s $f6, $f18, $f4 -/* 0E4638 7F0AFB08 E4C60008 */ swc1 $f6, 8($a2) -/* 0E463C 7F0AFB0C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E4640 7F0AFB10 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E4644 7F0AFB14 03E00008 */ jr $ra -/* 0E4648 7F0AFB18 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0AFB1C(void *arg0, void *arg1) { - f32 sp4; - f32 sp8; - f32 spC; - f32 temp_f18; - f32 temp_f8; - - // Node 0 - sp4 = (f32) (*arg1 - *arg0); - temp_f18 = (arg1->unk4 - arg0->unk4); - sp8 = temp_f18; - temp_f8 = (arg1->unk8 - arg0->unk8); - spC = temp_f8; - return ((temp_f8 * temp_f8) + ((sp4 * sp4) + (temp_f18 * temp_f18))); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AFB1C -/* 0E464C 7F0AFB1C C4A40000 */ lwc1 $f4, ($a1) -/* 0E4650 7F0AFB20 C4860000 */ lwc1 $f6, ($a0) -/* 0E4654 7F0AFB24 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0E4658 7F0AFB28 46062201 */ sub.s $f8, $f4, $f6 -/* 0E465C 7F0AFB2C E7A80004 */ swc1 $f8, 4($sp) -/* 0E4660 7F0AFB30 C4900004 */ lwc1 $f16, 4($a0) -/* 0E4664 7F0AFB34 C4AA0004 */ lwc1 $f10, 4($a1) -/* 0E4668 7F0AFB38 46105481 */ sub.s $f18, $f10, $f16 -/* 0E466C 7F0AFB3C C7AA0004 */ lwc1 $f10, 4($sp) -/* 0E4670 7F0AFB40 E7B20008 */ swc1 $f18, 8($sp) -/* 0E4674 7F0AFB44 C4860008 */ lwc1 $f6, 8($a0) -/* 0E4678 7F0AFB48 C4A40008 */ lwc1 $f4, 8($a1) -/* 0E467C 7F0AFB4C 460A5402 */ mul.s $f16, $f10, $f10 -/* 0E4680 7F0AFB50 C7B20008 */ lwc1 $f18, 8($sp) -/* 0E4684 7F0AFB54 46062201 */ sub.s $f8, $f4, $f6 -/* 0E4688 7F0AFB58 46129102 */ mul.s $f4, $f18, $f18 -/* 0E468C 7F0AFB5C E7A8000C */ swc1 $f8, 0xc($sp) -/* 0E4690 7F0AFB60 C7A8000C */ lwc1 $f8, 0xc($sp) -/* 0E4694 7F0AFB64 27BD0010 */ addiu $sp, $sp, 0x10 -/* 0E4698 7F0AFB68 46084282 */ mul.s $f10, $f8, $f8 -/* 0E469C 7F0AFB6C 46048180 */ add.s $f6, $f16, $f4 -/* 0E46A0 7F0AFB70 03E00008 */ jr $ra -/* 0E46A4 7F0AFB74 46065000 */ add.s $f0, $f10, $f6 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AFB78(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AFB78 -/* 0E46A8 7F0AFB78 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 0E46AC 7F0AFB7C AFBF004C */ sw $ra, 0x4c($sp) -/* 0E46B0 7F0AFB80 AFBE0048 */ sw $fp, 0x48($sp) -/* 0E46B4 7F0AFB84 AFB70044 */ sw $s7, 0x44($sp) -/* 0E46B8 7F0AFB88 AFB60040 */ sw $s6, 0x40($sp) -/* 0E46BC 7F0AFB8C AFB5003C */ sw $s5, 0x3c($sp) -/* 0E46C0 7F0AFB90 AFB40038 */ sw $s4, 0x38($sp) -/* 0E46C4 7F0AFB94 AFB30034 */ sw $s3, 0x34($sp) -/* 0E46C8 7F0AFB98 AFB20030 */ sw $s2, 0x30($sp) -/* 0E46CC 7F0AFB9C AFB1002C */ sw $s1, 0x2c($sp) -/* 0E46D0 7F0AFBA0 AFB00028 */ sw $s0, 0x28($sp) -/* 0E46D4 7F0AFBA4 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0E46D8 7F0AFBA8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0E46DC 7F0AFBAC AFA00078 */ sw $zero, 0x78($sp) -/* 0E46E0 7F0AFBB0 C4840000 */ lwc1 $f4, ($a0) -/* 0E46E4 7F0AFBB4 3C0E8008 */ lui $t6, %hi(clippingfile) -/* 0E46E8 7F0AFBB8 8DCEB120 */ lw $t6, %lo(clippingfile)($t6) -/* 0E46EC 7F0AFBBC E7A40064 */ swc1 $f4, 0x64($sp) -/* 0E46F0 7F0AFBC0 C4A60000 */ lwc1 $f6, ($a1) -/* 0E46F4 7F0AFBC4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0E46F8 7F0AFBC8 4487B000 */ mtc1 $a3, $f22 -/* 0E46FC 7F0AFBCC E7A60068 */ swc1 $f6, 0x68($sp) -/* 0E4700 7F0AFBD0 C4C80000 */ lwc1 $f8, ($a2) -/* 0E4704 7F0AFBD4 4481A000 */ mtc1 $at, $f20 -/* 0E4708 7F0AFBD8 00809825 */ move $s3, $a0 -/* 0E470C 7F0AFBDC E7A8006C */ swc1 $f8, 0x6c($sp) -/* 0E4710 7F0AFBE0 8DD10004 */ lw $s1, 4($t6) -/* 0E4714 7F0AFBE4 00A0A025 */ move $s4, $a1 -/* 0E4718 7F0AFBE8 00C0A825 */ move $s5, $a2 -/* 0E471C 7F0AFBEC 8E2F0000 */ lw $t7, ($s1) -/* 0E4720 7F0AFBF0 24160003 */ li $s6, 3 -/* 0E4724 7F0AFBF4 27B7007C */ addiu $s7, $sp, 0x7c -/* 0E4728 7F0AFBF8 11E00039 */ beqz $t7, .L7F0AFCE0 -/* 0E472C 7F0AFBFC 241E0004 */ li $fp, 4 -/* 0E4730 7F0AFC00 27B20058 */ addiu $s2, $sp, 0x58 -/* 0E4734 7F0AFC04 96380000 */ lhu $t8, ($s1) -.L7F0AFC08: -/* 0E4738 7F0AFC08 24010001 */ li $at, 1 -/* 0E473C 7F0AFC0C 0018CBC3 */ sra $t9, $t8, 0xf -/* 0E4740 7F0AFC10 33280001 */ andi $t0, $t9, 1 -/* 0E4744 7F0AFC14 51010029 */ beql $t0, $at, .L7F0AFCBC -/* 0E4748 7F0AFC18 86220006 */ lh $v0, 6($s1) -/* 0E474C 7F0AFC1C 0FC2BDD8 */ jal sub_GAME_7F0AF760 -/* 0E4750 7F0AFC20 02202025 */ move $a0, $s1 -/* 0E4754 7F0AFC24 14400024 */ bnez $v0, .L7F0AFCB8 -/* 0E4758 7F0AFC28 00008025 */ move $s0, $zero -.L7F0AFC2C: -/* 0E475C 7F0AFC2C 16160006 */ bne $s0, $s6, .L7F0AFC48 -/* 0E4760 7F0AFC30 02202025 */ move $a0, $s1 -/* 0E4764 7F0AFC34 02202025 */ move $a0, $s1 -/* 0E4768 7F0AFC38 0FC2BE49 */ jal sub_GAME_7F0AF924 -/* 0E476C 7F0AFC3C 02402825 */ move $a1, $s2 -/* 0E4770 7F0AFC40 10000005 */ b .L7F0AFC58 -/* 0E4774 7F0AFC44 4407B000 */ mfc1 $a3, $f22 -.L7F0AFC48: -/* 0E4778 7F0AFC48 02002825 */ move $a1, $s0 -/* 0E477C 7F0AFC4C 0FC2BE87 */ jal sub_GAME_7F0AFA1C -/* 0E4780 7F0AFC50 02403025 */ move $a2, $s2 -/* 0E4784 7F0AFC54 4407B000 */ mfc1 $a3, $f22 -.L7F0AFC58: -/* 0E4788 7F0AFC58 AFB1007C */ sw $s1, 0x7c($sp) -/* 0E478C 7F0AFC5C 02E02025 */ move $a0, $s7 -/* 0E4790 7F0AFC60 8FA50058 */ lw $a1, 0x58($sp) -/* 0E4794 7F0AFC64 0FC2C834 */ jal sub_GAME_7F0B20D0 -/* 0E4798 7F0AFC68 8FA60060 */ lw $a2, 0x60($sp) -/* 0E479C 7F0AFC6C 0441000F */ bgez $v0, .L7F0AFCAC -/* 0E47A0 7F0AFC70 02402025 */ move $a0, $s2 -/* 0E47A4 7F0AFC74 0FC2BEC7 */ jal sub_GAME_7F0AFB1C -/* 0E47A8 7F0AFC78 27A50064 */ addiu $a1, $sp, 0x64 -/* 0E47AC 7F0AFC7C 4614003C */ c.lt.s $f0, $f20 -/* 0E47B0 7F0AFC80 00000000 */ nop -/* 0E47B4 7F0AFC84 4502000A */ bc1fl .L7F0AFCB0 -/* 0E47B8 7F0AFC88 26100001 */ addiu $s0, $s0, 1 -/* 0E47BC 7F0AFC8C C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 0E47C0 7F0AFC90 AFB10078 */ sw $s1, 0x78($sp) -/* 0E47C4 7F0AFC94 46000506 */ mov.s $f20, $f0 -/* 0E47C8 7F0AFC98 E66A0000 */ swc1 $f10, ($s3) -/* 0E47CC 7F0AFC9C C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 0E47D0 7F0AFCA0 E6900000 */ swc1 $f16, ($s4) -/* 0E47D4 7F0AFCA4 C7B20060 */ lwc1 $f18, 0x60($sp) -/* 0E47D8 7F0AFCA8 E6B20000 */ swc1 $f18, ($s5) -.L7F0AFCAC: -/* 0E47DC 7F0AFCAC 26100001 */ addiu $s0, $s0, 1 -.L7F0AFCB0: -/* 0E47E0 7F0AFCB0 161EFFDE */ bne $s0, $fp, .L7F0AFC2C -/* 0E47E4 7F0AFCB4 00000000 */ nop -.L7F0AFCB8: -/* 0E47E8 7F0AFCB8 86220006 */ lh $v0, 6($s1) -.L7F0AFCBC: -/* 0E47EC 7F0AFCBC 3C0B8004 */ lui $t3, %hi(list_of_tilesizes) -/* 0E47F0 7F0AFCC0 00024B03 */ sra $t1, $v0, 0xc -/* 0E47F4 7F0AFCC4 312A000F */ andi $t2, $t1, 0xf -/* 0E47F8 7F0AFCC8 016A5821 */ addu $t3, $t3, $t2 -/* 0E47FC 7F0AFCCC 916B0F4C */ lbu $t3, %lo(list_of_tilesizes)($t3) -/* 0E4800 7F0AFCD0 01718821 */ addu $s1, $t3, $s1 -/* 0E4804 7F0AFCD4 8E2C0000 */ lw $t4, ($s1) -/* 0E4808 7F0AFCD8 5580FFCB */ bnezl $t4, .L7F0AFC08 -/* 0E480C 7F0AFCDC 96380000 */ lhu $t8, ($s1) -.L7F0AFCE0: -/* 0E4810 7F0AFCE0 8FBF004C */ lw $ra, 0x4c($sp) -/* 0E4814 7F0AFCE4 8FA20078 */ lw $v0, 0x78($sp) -/* 0E4818 7F0AFCE8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0E481C 7F0AFCEC D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0E4820 7F0AFCF0 8FB00028 */ lw $s0, 0x28($sp) -/* 0E4824 7F0AFCF4 8FB1002C */ lw $s1, 0x2c($sp) -/* 0E4828 7F0AFCF8 8FB20030 */ lw $s2, 0x30($sp) -/* 0E482C 7F0AFCFC 8FB30034 */ lw $s3, 0x34($sp) -/* 0E4830 7F0AFD00 8FB40038 */ lw $s4, 0x38($sp) -/* 0E4834 7F0AFD04 8FB5003C */ lw $s5, 0x3c($sp) -/* 0E4838 7F0AFD08 8FB60040 */ lw $s6, 0x40($sp) -/* 0E483C 7F0AFD0C 8FB70044 */ lw $s7, 0x44($sp) -/* 0E4840 7F0AFD10 8FBE0048 */ lw $fp, 0x48($sp) -/* 0E4844 7F0AFD14 03E00008 */ jr $ra -/* 0E4848 7F0AFD18 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0AFD1C(void *arg0, s32 arg1, f32 arg2, f32 arg3) { - void *sp18; - void *sp1C; - f32 sp40; - s32 temp_hi; - void *temp_v0; - void *temp_v1; - f32 temp_f2; - f32 temp_f14; - ? temp_ret; - f32 temp_f0; - f32 temp_f2_2; - - // Node 0 - temp_hi = ((s32) (arg1 + 1) % (s32) (((s32) arg0->unk6 >> 0xc) & 0xf)); - temp_v0 = (arg0 + (temp_hi * 8)); - temp_v1 = (arg0 + (arg1 * 8)); - temp_f2 = (f32) (temp_v0->unk8 - temp_v1->unk8); - temp_f14 = (f32) (temp_v0->unkC - temp_v1->unkC); - sp40 = temp_f2; - sp18 = temp_v1; - sp1C = temp_v0; - temp_ret = sqrtf(((temp_f2 * temp_f2) + (temp_f14 * temp_f14)), temp_f14, temp_hi); - if (temp_ret != 0.0f) - { - // Node 2 - // Node 3 - return ((((arg3 - (f32) temp_v1->unkC) * -temp_f2) + (sp3C * (arg2 - (f32) temp_v1->unk8))) / temp_ret); - } - // Node 1 - temp_f0 = (arg2 - (f32) temp_v0->unk8); - temp_f2_2 = (arg3 - (f32) temp_v0->unkC); - return ((((arg3 - (f32) temp_v1->unkC) * -temp_f2) + (sp3C * (arg2 - (f32) temp_v1->unk8))) / temp_ret); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AFD1C -/* 0E484C 7F0AFD1C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0E4850 7F0AFD20 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E4854 7F0AFD24 AFA60050 */ sw $a2, 0x50($sp) -/* 0E4858 7F0AFD28 AFA70054 */ sw $a3, 0x54($sp) -/* 0E485C 7F0AFD2C 848F0006 */ lh $t7, 6($a0) -/* 0E4860 7F0AFD30 24AE0001 */ addiu $t6, $a1, 1 -/* 0E4864 7F0AFD34 000548C0 */ sll $t1, $a1, 3 -/* 0E4868 7F0AFD38 000FC303 */ sra $t8, $t7, 0xc -/* 0E486C 7F0AFD3C 3319000F */ andi $t9, $t8, 0xf -/* 0E4870 7F0AFD40 01D9001A */ div $zero, $t6, $t9 -/* 0E4874 7F0AFD44 00003010 */ mfhi $a2 -/* 0E4878 7F0AFD48 000640C0 */ sll $t0, $a2, 3 -/* 0E487C 7F0AFD4C 00881021 */ addu $v0, $a0, $t0 -/* 0E4880 7F0AFD50 00891821 */ addu $v1, $a0, $t1 -/* 0E4884 7F0AFD54 846B0008 */ lh $t3, 8($v1) -/* 0E4888 7F0AFD58 844A0008 */ lh $t2, 8($v0) -/* 0E488C 7F0AFD5C 846F000C */ lh $t7, 0xc($v1) -/* 0E4890 7F0AFD60 844D000C */ lh $t5, 0xc($v0) -/* 0E4894 7F0AFD64 014B6023 */ subu $t4, $t2, $t3 -/* 0E4898 7F0AFD68 448C2000 */ mtc1 $t4, $f4 -/* 0E489C 7F0AFD6C 01AFC023 */ subu $t8, $t5, $t7 -/* 0E48A0 7F0AFD70 44983000 */ mtc1 $t8, $f6 -/* 0E48A4 7F0AFD74 468020A0 */ cvt.s.w $f2, $f4 -/* 0E48A8 7F0AFD78 17200002 */ bnez $t9, .L7F0AFD84 -/* 0E48AC 7F0AFD7C 00000000 */ nop -/* 0E48B0 7F0AFD80 0007000D */ break 7 -.L7F0AFD84: -/* 0E48B4 7F0AFD84 2401FFFF */ li $at, -1 -/* 0E48B8 7F0AFD88 17210004 */ bne $t9, $at, .L7F0AFD9C -/* 0E48BC 7F0AFD8C 3C018000 */ lui $at, 0x8000 -/* 0E48C0 7F0AFD90 15C10002 */ bne $t6, $at, .L7F0AFD9C -/* 0E48C4 7F0AFD94 00000000 */ nop -/* 0E48C8 7F0AFD98 0006000D */ break 6 -.L7F0AFD9C: -/* 0E48CC 7F0AFD9C 468033A0 */ cvt.s.w $f14, $f6 -/* 0E48D0 7F0AFDA0 46021202 */ mul.s $f8, $f2, $f2 -/* 0E48D4 7F0AFDA4 E7A20040 */ swc1 $f2, 0x40($sp) -/* 0E48D8 7F0AFDA8 AFA30018 */ sw $v1, 0x18($sp) -/* 0E48DC 7F0AFDAC AFA2001C */ sw $v0, 0x1c($sp) -/* 0E48E0 7F0AFDB0 460E7282 */ mul.s $f10, $f14, $f14 -/* 0E48E4 7F0AFDB4 E7AE003C */ swc1 $f14, 0x3c($sp) -/* 0E48E8 7F0AFDB8 0C007DF8 */ jal sqrtf -/* 0E48EC 7F0AFDBC 460A4300 */ add.s $f12, $f8, $f10 -/* 0E48F0 7F0AFDC0 44802000 */ mtc1 $zero, $f4 -/* 0E48F4 7F0AFDC4 8FA2001C */ lw $v0, 0x1c($sp) -/* 0E48F8 7F0AFDC8 8FA30018 */ lw $v1, 0x18($sp) -/* 0E48FC 7F0AFDCC 46040032 */ c.eq.s $f0, $f4 -/* 0E4900 7F0AFDD0 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 0E4904 7F0AFDD4 C7AE003C */ lwc1 $f14, 0x3c($sp) -/* 0E4908 7F0AFDD8 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 0E490C 7F0AFDDC 45000011 */ bc1f .L7F0AFE24 -/* 0E4910 7F0AFDE0 46000406 */ mov.s $f16, $f0 -/* 0E4914 7F0AFDE4 844E0008 */ lh $t6, 8($v0) -/* 0E4918 7F0AFDE8 8459000C */ lh $t9, 0xc($v0) -/* 0E491C 7F0AFDEC C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 0E4920 7F0AFDF0 448E3000 */ mtc1 $t6, $f6 -/* 0E4924 7F0AFDF4 44992000 */ mtc1 $t9, $f4 -/* 0E4928 7F0AFDF8 46803220 */ cvt.s.w $f8, $f6 -/* 0E492C 7F0AFDFC 468021A0 */ cvt.s.w $f6, $f4 -/* 0E4930 7F0AFE00 46089001 */ sub.s $f0, $f18, $f8 -/* 0E4934 7F0AFE04 46065081 */ sub.s $f2, $f10, $f6 -/* 0E4938 7F0AFE08 46000202 */ mul.s $f8, $f0, $f0 -/* 0E493C 7F0AFE0C 00000000 */ nop -/* 0E4940 7F0AFE10 46021102 */ mul.s $f4, $f2, $f2 -/* 0E4944 7F0AFE14 0C007DF8 */ jal sqrtf -/* 0E4948 7F0AFE18 46044300 */ add.s $f12, $f8, $f4 -/* 0E494C 7F0AFE1C 10000011 */ b .L7F0AFE64 -/* 0E4950 7F0AFE20 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0AFE24: -/* 0E4954 7F0AFE24 8468000C */ lh $t0, 0xc($v1) -/* 0E4958 7F0AFE28 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 0E495C 7F0AFE2C 84690008 */ lh $t1, 8($v1) -/* 0E4960 7F0AFE30 44883000 */ mtc1 $t0, $f6 -/* 0E4964 7F0AFE34 00000000 */ nop -/* 0E4968 7F0AFE38 46803220 */ cvt.s.w $f8, $f6 -/* 0E496C 7F0AFE3C 46001187 */ neg.s $f6, $f2 -/* 0E4970 7F0AFE40 46085101 */ sub.s $f4, $f10, $f8 -/* 0E4974 7F0AFE44 44894000 */ mtc1 $t1, $f8 -/* 0E4978 7F0AFE48 46062282 */ mul.s $f10, $f4, $f6 -/* 0E497C 7F0AFE4C 46804120 */ cvt.s.w $f4, $f8 -/* 0E4980 7F0AFE50 46049181 */ sub.s $f6, $f18, $f4 -/* 0E4984 7F0AFE54 46067202 */ mul.s $f8, $f14, $f6 -/* 0E4988 7F0AFE58 46085300 */ add.s $f12, $f10, $f8 -/* 0E498C 7F0AFE5C 46106003 */ div.s $f0, $f12, $f16 -/* 0E4990 7F0AFE60 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0AFE64: -/* 0E4994 7F0AFE64 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0E4998 7F0AFE68 03E00008 */ jr $ra -/* 0E499C 7F0AFE6C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0AFE70(void *arg0, s32 arg1, f32 arg2, f32 arg3) { - f32 sp40; - s32 temp_a1; - void *temp_a2; - void *temp_a0; - f32 temp_f2; - f32 temp_f14; - ? temp_ret; - f32 temp_f0; - f32 temp_f2_2; - s32 phi_v1; - - // Node 0 - if (arg1 != 2) - { - // Node 1 - phi_v1 = (arg1 + 1); - } - else - { - // Node 2 - phi_v1 = 0; - } - // Node 3 - temp_a1 = ((s32) arg0->unk6 >> (8 - (arg1 * 4))); - temp_a2 = (arg0 + ((temp_a1 & 0xf) * 8)); - temp_a0 = (arg0 + ((((s32) arg0->unk6 >> (8 - (phi_v1 * 4))) & 0xf) * 8)); - temp_f2 = (f32) (temp_a0->unk8 - temp_a2->unk8); - temp_f14 = (f32) (temp_a0->unkC - temp_a2->unkC); - sp40 = temp_f2; - temp_ret = sqrtf(((temp_f2 * temp_f2) + (temp_f14 * temp_f14)), temp_f14, temp_a0, temp_a1, temp_a2, arg0); - if (temp_ret != 0.0f) - { - // Node 5 - // Node 6 - return ((((arg3 - (f32) sp18->unkC) * -temp_f2) + (sp3C * (arg2 - (f32) sp18->unk8))) / temp_ret); - } - // Node 4 - temp_f0 = (arg2 - (f32) sp1C->unk8); - temp_f2_2 = (arg3 - (f32) sp1C->unkC); - return ((((arg3 - (f32) sp18->unkC) * -temp_f2) + (sp3C * (arg2 - (f32) sp18->unk8))) / temp_ret); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AFE70 -/* 0E49A0 7F0AFE70 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0E49A4 7F0AFE74 AFA70054 */ sw $a3, 0x54($sp) -/* 0E49A8 7F0AFE78 24010002 */ li $at, 2 -/* 0E49AC 7F0AFE7C 00803825 */ move $a3, $a0 -/* 0E49B0 7F0AFE80 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E49B4 7F0AFE84 AFA40048 */ sw $a0, 0x48($sp) -/* 0E49B8 7F0AFE88 10A10003 */ beq $a1, $at, .L7F0AFE98 -/* 0E49BC 7F0AFE8C AFA60050 */ sw $a2, 0x50($sp) -/* 0E49C0 7F0AFE90 10000002 */ b .L7F0AFE9C -/* 0E49C4 7F0AFE94 24A30001 */ addiu $v1, $a1, 1 -.L7F0AFE98: -/* 0E49C8 7F0AFE98 00001825 */ move $v1, $zero -.L7F0AFE9C: -/* 0E49CC 7F0AFE9C 84E20006 */ lh $v0, 6($a3) -/* 0E49D0 7F0AFEA0 24080008 */ li $t0, 8 -/* 0E49D4 7F0AFEA4 00057080 */ sll $t6, $a1, 2 -/* 0E49D8 7F0AFEA8 0003C880 */ sll $t9, $v1, 2 -/* 0E49DC 7F0AFEAC 010E7823 */ subu $t7, $t0, $t6 -/* 0E49E0 7F0AFEB0 01194823 */ subu $t1, $t0, $t9 -/* 0E49E4 7F0AFEB4 01E22807 */ srav $a1, $v0, $t7 -/* 0E49E8 7F0AFEB8 01221807 */ srav $v1, $v0, $t1 -/* 0E49EC 7F0AFEBC 30B8000F */ andi $t8, $a1, 0xf -/* 0E49F0 7F0AFEC0 306A000F */ andi $t2, $v1, 0xf -/* 0E49F4 7F0AFEC4 000A58C0 */ sll $t3, $t2, 3 -/* 0E49F8 7F0AFEC8 001860C0 */ sll $t4, $t8, 3 -/* 0E49FC 7F0AFECC 00EC3021 */ addu $a2, $a3, $t4 -/* 0E4A00 7F0AFED0 00EB2021 */ addu $a0, $a3, $t3 -/* 0E4A04 7F0AFED4 848D0008 */ lh $t5, 8($a0) -/* 0E4A08 7F0AFED8 84CE0008 */ lh $t6, 8($a2) -/* 0E4A0C 7F0AFEDC 8498000C */ lh $t8, 0xc($a0) -/* 0E4A10 7F0AFEE0 84D9000C */ lh $t9, 0xc($a2) -/* 0E4A14 7F0AFEE4 01AE7823 */ subu $t7, $t5, $t6 -/* 0E4A18 7F0AFEE8 448F2000 */ mtc1 $t7, $f4 -/* 0E4A1C 7F0AFEEC 03194823 */ subu $t1, $t8, $t9 -/* 0E4A20 7F0AFEF0 44893000 */ mtc1 $t1, $f6 -/* 0E4A24 7F0AFEF4 468020A0 */ cvt.s.w $f2, $f4 -/* 0E4A28 7F0AFEF8 AFA60018 */ sw $a2, 0x18($sp) -/* 0E4A2C 7F0AFEFC AFA4001C */ sw $a0, 0x1c($sp) -/* 0E4A30 7F0AFF00 468033A0 */ cvt.s.w $f14, $f6 -/* 0E4A34 7F0AFF04 46021202 */ mul.s $f8, $f2, $f2 -/* 0E4A38 7F0AFF08 E7A20040 */ swc1 $f2, 0x40($sp) -/* 0E4A3C 7F0AFF0C 460E7282 */ mul.s $f10, $f14, $f14 -/* 0E4A40 7F0AFF10 E7AE003C */ swc1 $f14, 0x3c($sp) -/* 0E4A44 7F0AFF14 0C007DF8 */ jal sqrtf -/* 0E4A48 7F0AFF18 460A4300 */ add.s $f12, $f8, $f10 -/* 0E4A4C 7F0AFF1C 44802000 */ mtc1 $zero, $f4 -/* 0E4A50 7F0AFF20 8FA4001C */ lw $a0, 0x1c($sp) -/* 0E4A54 7F0AFF24 8FA60018 */ lw $a2, 0x18($sp) -/* 0E4A58 7F0AFF28 46040032 */ c.eq.s $f0, $f4 -/* 0E4A5C 7F0AFF2C C7A20040 */ lwc1 $f2, 0x40($sp) -/* 0E4A60 7F0AFF30 C7AE003C */ lwc1 $f14, 0x3c($sp) -/* 0E4A64 7F0AFF34 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 0E4A68 7F0AFF38 45000011 */ bc1f .L7F0AFF80 -/* 0E4A6C 7F0AFF3C 46000406 */ mov.s $f16, $f0 -/* 0E4A70 7F0AFF40 848A0008 */ lh $t2, 8($a0) -/* 0E4A74 7F0AFF44 848B000C */ lh $t3, 0xc($a0) -/* 0E4A78 7F0AFF48 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 0E4A7C 7F0AFF4C 448A3000 */ mtc1 $t2, $f6 -/* 0E4A80 7F0AFF50 448B2000 */ mtc1 $t3, $f4 -/* 0E4A84 7F0AFF54 46803220 */ cvt.s.w $f8, $f6 -/* 0E4A88 7F0AFF58 468021A0 */ cvt.s.w $f6, $f4 -/* 0E4A8C 7F0AFF5C 46089001 */ sub.s $f0, $f18, $f8 -/* 0E4A90 7F0AFF60 46065081 */ sub.s $f2, $f10, $f6 -/* 0E4A94 7F0AFF64 46000202 */ mul.s $f8, $f0, $f0 -/* 0E4A98 7F0AFF68 00000000 */ nop -/* 0E4A9C 7F0AFF6C 46021102 */ mul.s $f4, $f2, $f2 -/* 0E4AA0 7F0AFF70 0C007DF8 */ jal sqrtf -/* 0E4AA4 7F0AFF74 46044300 */ add.s $f12, $f8, $f4 -/* 0E4AA8 7F0AFF78 10000011 */ b .L7F0AFFC0 -/* 0E4AAC 7F0AFF7C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0AFF80: -/* 0E4AB0 7F0AFF80 84CC000C */ lh $t4, 0xc($a2) -/* 0E4AB4 7F0AFF84 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 0E4AB8 7F0AFF88 84CD0008 */ lh $t5, 8($a2) -/* 0E4ABC 7F0AFF8C 448C3000 */ mtc1 $t4, $f6 -/* 0E4AC0 7F0AFF90 00000000 */ nop -/* 0E4AC4 7F0AFF94 46803220 */ cvt.s.w $f8, $f6 -/* 0E4AC8 7F0AFF98 46001187 */ neg.s $f6, $f2 -/* 0E4ACC 7F0AFF9C 46085101 */ sub.s $f4, $f10, $f8 -/* 0E4AD0 7F0AFFA0 448D4000 */ mtc1 $t5, $f8 -/* 0E4AD4 7F0AFFA4 46062282 */ mul.s $f10, $f4, $f6 -/* 0E4AD8 7F0AFFA8 46804120 */ cvt.s.w $f4, $f8 -/* 0E4ADC 7F0AFFAC 46049181 */ sub.s $f6, $f18, $f4 -/* 0E4AE0 7F0AFFB0 46067202 */ mul.s $f8, $f14, $f6 -/* 0E4AE4 7F0AFFB4 46085300 */ add.s $f12, $f10, $f8 -/* 0E4AE8 7F0AFFB8 46106003 */ div.s $f0, $f12, $f16 -/* 0E4AEC 7F0AFFBC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0AFFC0: -/* 0E4AF0 7F0AFFC0 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0E4AF4 7F0AFFC4 03E00008 */ jr $ra -/* 0E4AF8 7F0AFFC8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0AFFCC(f32 arg2, f32 arg3) { - // Node 0 - return (sub_GAME_7F0AFD1C(arg2, arg3, (arg2 * D_80040F44), (arg3 * D_80040F44)) * D_80040F48); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AFFCC -/* 0E4AFC 7F0AFFCC 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E4B00 7F0AFFD0 44866000 */ mtc1 $a2, $f12 -/* 0E4B04 7F0AFFD4 C4200F44 */ lwc1 $f0, %lo(D_80040F44)($at) -/* 0E4B08 7F0AFFD8 44877000 */ mtc1 $a3, $f14 -/* 0E4B0C 7F0AFFDC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E4B10 7F0AFFE0 46006102 */ mul.s $f4, $f12, $f0 -/* 0E4B14 7F0AFFE4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E4B18 7F0AFFE8 46007182 */ mul.s $f6, $f14, $f0 -/* 0E4B1C 7F0AFFEC 44062000 */ mfc1 $a2, $f4 -/* 0E4B20 7F0AFFF0 44073000 */ mfc1 $a3, $f6 -/* 0E4B24 7F0AFFF4 0FC2BF47 */ jal sub_GAME_7F0AFD1C -/* 0E4B28 7F0AFFF8 00000000 */ nop -/* 0E4B2C 7F0AFFFC 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E4B30 7F0B0000 C4280F48 */ lwc1 $f8, %lo(D_80040F48)($at) -/* 0E4B34 7F0B0004 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E4B38 7F0B0008 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E4B3C 7F0B000C 46080002 */ mul.s $f0, $f0, $f8 -/* 0E4B40 7F0B0010 03E00008 */ jr $ra -/* 0E4B44 7F0B0014 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B0018(f32 arg2, f32 arg3) { - // Node 0 - return (sub_GAME_7F0AFE70(arg2, arg3, (arg2 * D_80040F44), (arg3 * D_80040F44)) * D_80040F48); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0018 -/* 0E4B48 7F0B0018 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E4B4C 7F0B001C 44866000 */ mtc1 $a2, $f12 -/* 0E4B50 7F0B0020 C4200F44 */ lwc1 $f0, %lo(D_80040F44)($at) -/* 0E4B54 7F0B0024 44877000 */ mtc1 $a3, $f14 -/* 0E4B58 7F0B0028 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E4B5C 7F0B002C 46006102 */ mul.s $f4, $f12, $f0 -/* 0E4B60 7F0B0030 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E4B64 7F0B0034 46007182 */ mul.s $f6, $f14, $f0 -/* 0E4B68 7F0B0038 44062000 */ mfc1 $a2, $f4 -/* 0E4B6C 7F0B003C 44073000 */ mfc1 $a3, $f6 -/* 0E4B70 7F0B0040 0FC2BF9C */ jal sub_GAME_7F0AFE70 -/* 0E4B74 7F0B0044 00000000 */ nop -/* 0E4B78 7F0B0048 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E4B7C 7F0B004C C4280F48 */ lwc1 $f8, %lo(D_80040F48)($at) -/* 0E4B80 7F0B0050 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E4B84 7F0B0054 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E4B88 7F0B0058 46080002 */ mul.s $f0, $f0, $f8 -/* 0E4B8C 7F0B005C 03E00008 */ jr $ra -/* 0E4B90 7F0B0060 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B0064(s32 arg0, s32 arg1, f32 arg2, f32 arg3) { - void *temp_v0; - f32 temp_f18; - f32 temp_f14; - - // Node 0 - temp_v0 = (arg0 + (arg1 * 8)); - temp_f18 = (arg3 - (f32) temp_v0->unkC); - temp_f14 = (arg2 - (f32) temp_v0->unk8); - arg3 = temp_f18; - return sqrtf(((temp_f14 * temp_f14) + (temp_f18 * temp_f18)), temp_f14); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0064 -/* 0E4B94 7F0B0064 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E4B98 7F0B0068 000570C0 */ sll $t6, $a1, 3 -/* 0E4B9C 7F0B006C AFBF0014 */ sw $ra, 0x14($sp) -/* 0E4BA0 7F0B0070 AFA70024 */ sw $a3, 0x24($sp) -/* 0E4BA4 7F0B0074 008E1021 */ addu $v0, $a0, $t6 -/* 0E4BA8 7F0B0078 8458000C */ lh $t8, 0xc($v0) -/* 0E4BAC 7F0B007C 844F0008 */ lh $t7, 8($v0) -/* 0E4BB0 7F0B0080 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 0E4BB4 7F0B0084 44985000 */ mtc1 $t8, $f10 -/* 0E4BB8 7F0B0088 448F2000 */ mtc1 $t7, $f4 -/* 0E4BBC 7F0B008C 44867000 */ mtc1 $a2, $f14 -/* 0E4BC0 7F0B0090 46805420 */ cvt.s.w $f16, $f10 -/* 0E4BC4 7F0B0094 468021A0 */ cvt.s.w $f6, $f4 -/* 0E4BC8 7F0B0098 46104481 */ sub.s $f18, $f8, $f16 -/* 0E4BCC 7F0B009C 46067381 */ sub.s $f14, $f14, $f6 -/* 0E4BD0 7F0B00A0 46129102 */ mul.s $f4, $f18, $f18 -/* 0E4BD4 7F0B00A4 E7B20024 */ swc1 $f18, 0x24($sp) -/* 0E4BD8 7F0B00A8 460E7182 */ mul.s $f6, $f14, $f14 -/* 0E4BDC 7F0B00AC 0C007DF8 */ jal sqrtf -/* 0E4BE0 7F0B00B0 46043300 */ add.s $f12, $f6, $f4 -/* 0E4BE4 7F0B00B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E4BE8 7F0B00B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E4BEC 7F0B00BC 03E00008 */ jr $ra -/* 0E4BF0 7F0B00C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B00C4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B00C4 -/* 0E4BF4 7F0B00C4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E4BF8 7F0B00C8 000570C0 */ sll $t6, $a1, 3 -/* 0E4BFC 7F0B00CC AFBF001C */ sw $ra, 0x1c($sp) -/* 0E4C00 7F0B00D0 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0E4C04 7F0B00D4 008E1021 */ addu $v0, $a0, $t6 -/* 0E4C08 7F0B00D8 844F0008 */ lh $t7, 8($v0) -/* 0E4C0C 7F0B00DC 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E4C10 7F0B00E0 44867000 */ mtc1 $a2, $f14 -/* 0E4C14 7F0B00E4 C4200F44 */ lwc1 $f0, %lo(D_80040F44)($at) -/* 0E4C18 7F0B00E8 8458000C */ lh $t8, 0xc($v0) -/* 0E4C1C 7F0B00EC 448F2000 */ mtc1 $t7, $f4 -/* 0E4C20 7F0B00F0 46007382 */ mul.s $f14, $f14, $f0 -/* 0E4C24 7F0B00F4 4487A000 */ mtc1 $a3, $f20 -/* 0E4C28 7F0B00F8 44984000 */ mtc1 $t8, $f8 -/* 0E4C2C 7F0B00FC 4600A502 */ mul.s $f20, $f20, $f0 -/* 0E4C30 7F0B0100 468021A0 */ cvt.s.w $f6, $f4 -/* 0E4C34 7F0B0104 468042A0 */ cvt.s.w $f10, $f8 -/* 0E4C38 7F0B0108 46067381 */ sub.s $f14, $f14, $f6 -/* 0E4C3C 7F0B010C 460AA501 */ sub.s $f20, $f20, $f10 -/* 0E4C40 7F0B0110 460E7402 */ mul.s $f16, $f14, $f14 -/* 0E4C44 7F0B0114 00000000 */ nop -/* 0E4C48 7F0B0118 4614A482 */ mul.s $f18, $f20, $f20 -/* 0E4C4C 7F0B011C 0C007DF8 */ jal sqrtf -/* 0E4C50 7F0B0120 46128300 */ add.s $f12, $f16, $f18 -/* 0E4C54 7F0B0124 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E4C58 7F0B0128 C4240F48 */ lwc1 $f4, %lo(D_80040F48)($at) -/* 0E4C5C 7F0B012C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E4C60 7F0B0130 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0E4C64 7F0B0134 46040002 */ mul.s $f0, $f0, $f4 -/* 0E4C68 7F0B0138 03E00008 */ jr $ra -/* 0E4C6C 7F0B013C 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B0140(s32 arg0, s32 arg1, f32 arg2, f32 arg3) { - void *temp_v0; - - // Node 0 - temp_v0 = (arg0 + (arg1 * 8)); - return ((((f32) temp_v0->unkC * (arg3 * D_80040F44)) + ((arg2 * D_80040F44) * (f32) temp_v0->unk8)) * D_80040F48); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0140 -/* 0E4C70 7F0B0140 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E4C74 7F0B0144 000570C0 */ sll $t6, $a1, 3 -/* 0E4C78 7F0B0148 44866000 */ mtc1 $a2, $f12 -/* 0E4C7C 7F0B014C C4220F44 */ lwc1 $f2, %lo(D_80040F44)($at) -/* 0E4C80 7F0B0150 008E1021 */ addu $v0, $a0, $t6 -/* 0E4C84 7F0B0154 844F000C */ lh $t7, 0xc($v0) -/* 0E4C88 7F0B0158 46026302 */ mul.s $f12, $f12, $f2 -/* 0E4C8C 7F0B015C 44877000 */ mtc1 $a3, $f14 -/* 0E4C90 7F0B0160 84580008 */ lh $t8, 8($v0) -/* 0E4C94 7F0B0164 448F2000 */ mtc1 $t7, $f4 -/* 0E4C98 7F0B0168 46027382 */ mul.s $f14, $f14, $f2 -/* 0E4C9C 7F0B016C 44985000 */ mtc1 $t8, $f10 -/* 0E4CA0 7F0B0170 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E4CA4 7F0B0174 468021A0 */ cvt.s.w $f6, $f4 -/* 0E4CA8 7F0B0178 46805420 */ cvt.s.w $f16, $f10 -/* 0E4CAC 7F0B017C 460E3202 */ mul.s $f8, $f6, $f14 -/* 0E4CB0 7F0B0180 C4260F48 */ lwc1 $f6, %lo(D_80040F48)($at) -/* 0E4CB4 7F0B0184 46106482 */ mul.s $f18, $f12, $f16 -/* 0E4CB8 7F0B0188 46124100 */ add.s $f4, $f8, $f18 -/* 0E4CBC 7F0B018C 46062002 */ mul.s $f0, $f4, $f6 -/* 0E4CC0 7F0B0190 03E00008 */ jr $ra -/* 0E4CC4 7F0B0194 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B0198(void *arg0, s32 arg1, f32 arg2, f32 arg3) { - void *temp_v0; - void *temp_v0_2; - f32 temp_f0; - f32 temp_f2; - f32 temp_f12; - f32 temp_f14; - f32 temp_f18; - f32 temp_f6; - f32 temp_f2_2; - f32 temp_f0_2; - s32 phi_v0; - s32 phi_v0_2; - s32 phi_v0_3; - - // Node 0 - temp_v0 = (arg0 + (arg1 * 8)); - temp_v0_2 = (arg0 + (((s32) (arg1 + 1) % (s32) (((s32) arg0->unk6 >> 0xc) & 0xf)) * 8)); - temp_f0 = (f32) temp_v0->unk8; - temp_f2 = (f32) temp_v0->unkC; - temp_f12 = ((f32) temp_v0_2->unk8 - temp_f0); - temp_f14 = ((f32) temp_v0_2->unkC - temp_f2); - temp_f18 = (arg2 - temp_f0); - temp_f6 = (arg3 - temp_f2); - arg2 = temp_f18; - arg3 = temp_f6; - temp_f2_2 = ((temp_f12 * temp_f12) + (temp_f14 * temp_f14)); - temp_f0_2 = ((temp_f18 * temp_f12) + (temp_f6 * temp_f14)); - phi_v0 = 0; - if (temp_f2_2 < temp_f0_2) - { - // Node 1 - phi_v0 = 1; - } - // Node 2 - if ((phi_v0 != 0) && (temp_f0_2 < 0.0f)) - { - // Node 4 - phi_v0_2 = 1; - // Node 5 - if (phi_v0_2 == 0) - { - // Node 6 - phi_v0_3 = 0; - if (0.0f < temp_f0_2) - { - // Node 7 - phi_v0_3 = 1; - } - // Node 8 - if (phi_v0_3 != 0) - { - // Node 9 - if (temp_f0_2 < temp_f2_2) - { - // Node 10 - } - } - } - } - else - { - // Node 6 - phi_v0_3 = 0; - if (0.0f < temp_f0_2) - { - // Node 7 - phi_v0_3 = 1; - } - // Node 8 - if (phi_v0_3 != 0) - { - // Node 9 - if (temp_f0_2 < temp_f2_2) - { - // Node 10 - } - } - } - // Node 11 - return temp_f0_2; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0198 -/* 0E4CC8 7F0B0198 AFA60008 */ sw $a2, 8($sp) -/* 0E4CCC 7F0B019C AFA7000C */ sw $a3, 0xc($sp) -/* 0E4CD0 7F0B01A0 84880006 */ lh $t0, 6($a0) -/* 0E4CD4 7F0B01A4 24B90001 */ addiu $t9, $a1, 1 -/* 0E4CD8 7F0B01A8 000570C0 */ sll $t6, $a1, 3 -/* 0E4CDC 7F0B01AC 00084B03 */ sra $t1, $t0, 0xc -/* 0E4CE0 7F0B01B0 312A000F */ andi $t2, $t1, 0xf -/* 0E4CE4 7F0B01B4 032A001A */ div $zero, $t9, $t2 -/* 0E4CE8 7F0B01B8 008E1021 */ addu $v0, $a0, $t6 -/* 0E4CEC 7F0B01BC 00002810 */ mfhi $a1 -/* 0E4CF0 7F0B01C0 844F0008 */ lh $t7, 8($v0) -/* 0E4CF4 7F0B01C4 8458000C */ lh $t8, 0xc($v0) -/* 0E4CF8 7F0B01C8 000558C0 */ sll $t3, $a1, 3 -/* 0E4CFC 7F0B01CC 008B1021 */ addu $v0, $a0, $t3 -/* 0E4D00 7F0B01D0 844C0008 */ lh $t4, 8($v0) -/* 0E4D04 7F0B01D4 844D000C */ lh $t5, 0xc($v0) -/* 0E4D08 7F0B01D8 448F2000 */ mtc1 $t7, $f4 -/* 0E4D0C 7F0B01DC 448C4000 */ mtc1 $t4, $f8 -/* 0E4D10 7F0B01E0 44983000 */ mtc1 $t8, $f6 -/* 0E4D14 7F0B01E4 46802020 */ cvt.s.w $f0, $f4 -/* 0E4D18 7F0B01E8 448D5000 */ mtc1 $t5, $f10 -/* 0E4D1C 7F0B01EC C7B00008 */ lwc1 $f16, 8($sp) -/* 0E4D20 7F0B01F0 C7A4000C */ lwc1 $f4, 0xc($sp) -/* 0E4D24 7F0B01F4 00001025 */ move $v0, $zero -/* 0E4D28 7F0B01F8 46804320 */ cvt.s.w $f12, $f8 -/* 0E4D2C 7F0B01FC 468030A0 */ cvt.s.w $f2, $f6 -/* 0E4D30 7F0B0200 15400002 */ bnez $t2, .L7F0B020C -/* 0E4D34 7F0B0204 00000000 */ nop -/* 0E4D38 7F0B0208 0007000D */ break 7 -.L7F0B020C: -/* 0E4D3C 7F0B020C 2401FFFF */ li $at, -1 -/* 0E4D40 7F0B0210 15410004 */ bne $t2, $at, .L7F0B0224 -/* 0E4D44 7F0B0214 3C018000 */ lui $at, 0x8000 -/* 0E4D48 7F0B0218 17210002 */ bne $t9, $at, .L7F0B0224 -/* 0E4D4C 7F0B021C 00000000 */ nop -/* 0E4D50 7F0B0220 0006000D */ break 6 -.L7F0B0224: -/* 0E4D54 7F0B0224 468053A0 */ cvt.s.w $f14, $f10 -/* 0E4D58 7F0B0228 46006301 */ sub.s $f12, $f12, $f0 -/* 0E4D5C 7F0B022C 46027381 */ sub.s $f14, $f14, $f2 -/* 0E4D60 7F0B0230 460C6202 */ mul.s $f8, $f12, $f12 -/* 0E4D64 7F0B0234 46008481 */ sub.s $f18, $f16, $f0 -/* 0E4D68 7F0B0238 460E7282 */ mul.s $f10, $f14, $f14 -/* 0E4D6C 7F0B023C 46022181 */ sub.s $f6, $f4, $f2 -/* 0E4D70 7F0B0240 460C9402 */ mul.s $f16, $f18, $f12 -/* 0E4D74 7F0B0244 E7B20008 */ swc1 $f18, 8($sp) -/* 0E4D78 7F0B0248 460E3102 */ mul.s $f4, $f6, $f14 -/* 0E4D7C 7F0B024C E7A6000C */ swc1 $f6, 0xc($sp) -/* 0E4D80 7F0B0250 460A4080 */ add.s $f2, $f8, $f10 -/* 0E4D84 7F0B0254 46048000 */ add.s $f0, $f16, $f4 -/* 0E4D88 7F0B0258 4600103C */ c.lt.s $f2, $f0 -/* 0E4D8C 7F0B025C 00000000 */ nop -/* 0E4D90 7F0B0260 45000002 */ bc1f .L7F0B026C -/* 0E4D94 7F0B0264 00000000 */ nop -/* 0E4D98 7F0B0268 24020001 */ li $v0, 1 -.L7F0B026C: -/* 0E4D9C 7F0B026C 5040000B */ beql $v0, $zero, .L7F0B029C -/* 0E4DA0 7F0B0270 44805000 */ mtc1 $zero, $f10 -/* 0E4DA4 7F0B0274 44804000 */ mtc1 $zero, $f8 -/* 0E4DA8 7F0B0278 00001025 */ move $v0, $zero -/* 0E4DAC 7F0B027C 4608003C */ c.lt.s $f0, $f8 -/* 0E4DB0 7F0B0280 00000000 */ nop -/* 0E4DB4 7F0B0284 45000002 */ bc1f .L7F0B0290 -/* 0E4DB8 7F0B0288 00000000 */ nop -/* 0E4DBC 7F0B028C 24020001 */ li $v0, 1 -.L7F0B0290: -/* 0E4DC0 7F0B0290 1440000F */ bnez $v0, .L7F0B02D0 -/* 0E4DC4 7F0B0294 00000000 */ nop -/* 0E4DC8 7F0B0298 44805000 */ mtc1 $zero, $f10 -.L7F0B029C: -/* 0E4DCC 7F0B029C 00001025 */ move $v0, $zero -/* 0E4DD0 7F0B02A0 4600503C */ c.lt.s $f10, $f0 -/* 0E4DD4 7F0B02A4 00000000 */ nop -/* 0E4DD8 7F0B02A8 45000002 */ bc1f .L7F0B02B4 -/* 0E4DDC 7F0B02AC 00000000 */ nop -/* 0E4DE0 7F0B02B0 24020001 */ li $v0, 1 -.L7F0B02B4: -/* 0E4DE4 7F0B02B4 10400006 */ beqz $v0, .L7F0B02D0 -/* 0E4DE8 7F0B02B8 00000000 */ nop -/* 0E4DEC 7F0B02BC 4602003C */ c.lt.s $f0, $f2 -/* 0E4DF0 7F0B02C0 00001025 */ move $v0, $zero -/* 0E4DF4 7F0B02C4 45000002 */ bc1f .L7F0B02D0 -/* 0E4DF8 7F0B02C8 00000000 */ nop -/* 0E4DFC 7F0B02CC 24020001 */ li $v0, 1 -.L7F0B02D0: -/* 0E4E00 7F0B02D0 03E00008 */ jr $ra -/* 0E4E04 7F0B02D4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B02D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B02D8 -/* 0E4E08 7F0B02D8 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0E4E0C 7F0B02DC F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0E4E10 7F0B02E0 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0E4E14 7F0B02E4 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0E4E18 7F0B02E8 AFB20038 */ sw $s2, 0x38($sp) -/* 0E4E1C 7F0B02EC AFB10034 */ sw $s1, 0x34($sp) -/* 0E4E20 7F0B02F0 AFB00030 */ sw $s0, 0x30($sp) -/* 0E4E24 7F0B02F4 4485A000 */ mtc1 $a1, $f20 -/* 0E4E28 7F0B02F8 4486B000 */ mtc1 $a2, $f22 -/* 0E4E2C 7F0B02FC 4480C000 */ mtc1 $zero, $f24 -/* 0E4E30 7F0B0300 00808825 */ move $s1, $a0 -/* 0E4E34 7F0B0304 AFBF003C */ sw $ra, 0x3c($sp) -/* 0E4E38 7F0B0308 00008025 */ move $s0, $zero -/* 0E4E3C 7F0B030C 24120003 */ li $s2, 3 -/* 0E4E40 7F0B0310 4406A000 */ mfc1 $a2, $f20 -.L7F0B0314: -/* 0E4E44 7F0B0314 4407B000 */ mfc1 $a3, $f22 -/* 0E4E48 7F0B0318 02202025 */ move $a0, $s1 -/* 0E4E4C 7F0B031C 0FC2BF9C */ jal sub_GAME_7F0AFE70 -/* 0E4E50 7F0B0320 02002825 */ move $a1, $s0 -/* 0E4E54 7F0B0324 4618003C */ c.lt.s $f0, $f24 -/* 0E4E58 7F0B0328 26100001 */ addiu $s0, $s0, 1 -/* 0E4E5C 7F0B032C 45000003 */ bc1f .L7F0B033C -/* 0E4E60 7F0B0330 00000000 */ nop -/* 0E4E64 7F0B0334 10000004 */ b .L7F0B0348 -/* 0E4E68 7F0B0338 00001025 */ move $v0, $zero -.L7F0B033C: -/* 0E4E6C 7F0B033C 5612FFF5 */ bnel $s0, $s2, .L7F0B0314 -/* 0E4E70 7F0B0340 4406A000 */ mfc1 $a2, $f20 -/* 0E4E74 7F0B0344 24020001 */ li $v0, 1 -.L7F0B0348: -/* 0E4E78 7F0B0348 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E4E7C 7F0B034C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0E4E80 7F0B0350 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0E4E84 7F0B0354 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0E4E88 7F0B0358 8FB00030 */ lw $s0, 0x30($sp) -/* 0E4E8C 7F0B035C 8FB10034 */ lw $s1, 0x34($sp) -/* 0E4E90 7F0B0360 8FB20038 */ lw $s2, 0x38($sp) -/* 0E4E94 7F0B0364 03E00008 */ jr $ra -/* 0E4E98 7F0B0368 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B036C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B036C -/* 0E4E9C 7F0B036C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0E4EA0 7F0B0370 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0E4EA4 7F0B0374 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0E4EA8 7F0B0378 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0E4EAC 7F0B037C AFB20038 */ sw $s2, 0x38($sp) -/* 0E4EB0 7F0B0380 AFB10034 */ sw $s1, 0x34($sp) -/* 0E4EB4 7F0B0384 AFB00030 */ sw $s0, 0x30($sp) -/* 0E4EB8 7F0B0388 4485A000 */ mtc1 $a1, $f20 -/* 0E4EBC 7F0B038C 4486B000 */ mtc1 $a2, $f22 -/* 0E4EC0 7F0B0390 4480C000 */ mtc1 $zero, $f24 -/* 0E4EC4 7F0B0394 00808825 */ move $s1, $a0 -/* 0E4EC8 7F0B0398 AFBF003C */ sw $ra, 0x3c($sp) -/* 0E4ECC 7F0B039C 00008025 */ move $s0, $zero -/* 0E4ED0 7F0B03A0 24120003 */ li $s2, 3 -/* 0E4ED4 7F0B03A4 4406A000 */ mfc1 $a2, $f20 -.L7F0B03A8: -/* 0E4ED8 7F0B03A8 4407B000 */ mfc1 $a3, $f22 -/* 0E4EDC 7F0B03AC 02202025 */ move $a0, $s1 -/* 0E4EE0 7F0B03B0 0FC2C006 */ jal sub_GAME_7F0B0018 -/* 0E4EE4 7F0B03B4 02002825 */ move $a1, $s0 -/* 0E4EE8 7F0B03B8 4618003C */ c.lt.s $f0, $f24 -/* 0E4EEC 7F0B03BC 26100001 */ addiu $s0, $s0, 1 -/* 0E4EF0 7F0B03C0 45000003 */ bc1f .L7F0B03D0 -/* 0E4EF4 7F0B03C4 00000000 */ nop -/* 0E4EF8 7F0B03C8 10000004 */ b .L7F0B03DC -/* 0E4EFC 7F0B03CC 00001025 */ move $v0, $zero -.L7F0B03D0: -/* 0E4F00 7F0B03D0 5612FFF5 */ bnel $s0, $s2, .L7F0B03A8 -/* 0E4F04 7F0B03D4 4406A000 */ mfc1 $a2, $f20 -/* 0E4F08 7F0B03D8 24020001 */ li $v0, 1 -.L7F0B03DC: -/* 0E4F0C 7F0B03DC 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E4F10 7F0B03E0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0E4F14 7F0B03E4 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0E4F18 7F0B03E8 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0E4F1C 7F0B03EC 8FB00030 */ lw $s0, 0x30($sp) -/* 0E4F20 7F0B03F0 8FB10034 */ lw $s1, 0x34($sp) -/* 0E4F24 7F0B03F4 8FB20038 */ lw $s2, 0x38($sp) -/* 0E4F28 7F0B03F8 03E00008 */ jr $ra -/* 0E4F2C 7F0B03FC 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B0400(void *arg0, s32 arg1, f32 arg2, f32 arg3) { - f32 sp38; - s32 temp_a1; - s32 temp_a0; - void *temp_a2; - void *temp_v1; - f32 temp_f2; - f32 temp_f14; - ? temp_ret; - s32 phi_a0; - - // Node 0 - if (arg1 != 2) - { - // Node 1 - phi_a0 = (arg1 + 1); - } - else - { - // Node 2 - phi_a0 = 0; - } - // Node 3 - temp_a1 = ((s32) arg0->unk6 >> (8 - (arg1 * 4))); - temp_a0 = ((s32) arg0->unk6 >> (8 - (phi_a0 * 4))); - temp_a2 = (arg0 + ((temp_a1 & 0xf) * 8)); - temp_v1 = (arg0 + ((temp_a0 & 0xf) * 8)); - temp_f2 = (f32) (temp_v1->unk8 - temp_a2->unk8); - temp_f14 = (f32) (temp_v1->unkC - temp_a2->unkC); - sp38 = temp_f2; - temp_ret = sqrtf(((temp_f2 * temp_f2) + (temp_f14 * temp_f14)), temp_f14, temp_a0, temp_a1, temp_a2, arg0); - if (temp_ret != 0.0f) - { - // Node 5 - // Node 6 - return ((((arg3 - (f32) sp1C->unkC) * -temp_f2) + (sp34 * (arg2 - (f32) sp1C->unk8))) / temp_ret); - } - // Node 4 - return ((((arg3 - (f32) sp1C->unkC) * -temp_f2) + (sp34 * (arg2 - (f32) sp1C->unk8))) / temp_ret); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0400 -/* 0E4F30 7F0B0400 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0E4F34 7F0B0404 AFA7004C */ sw $a3, 0x4c($sp) -/* 0E4F38 7F0B0408 24010002 */ li $at, 2 -/* 0E4F3C 7F0B040C 00803825 */ move $a3, $a0 -/* 0E4F40 7F0B0410 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E4F44 7F0B0414 AFA40040 */ sw $a0, 0x40($sp) -/* 0E4F48 7F0B0418 10A10003 */ beq $a1, $at, .L7F0B0428 -/* 0E4F4C 7F0B041C AFA60048 */ sw $a2, 0x48($sp) -/* 0E4F50 7F0B0420 10000002 */ b .L7F0B042C -/* 0E4F54 7F0B0424 24A40001 */ addiu $a0, $a1, 1 -.L7F0B0428: -/* 0E4F58 7F0B0428 00002025 */ move $a0, $zero -.L7F0B042C: -/* 0E4F5C 7F0B042C 84E20006 */ lh $v0, 6($a3) -/* 0E4F60 7F0B0430 24080008 */ li $t0, 8 -/* 0E4F64 7F0B0434 00057080 */ sll $t6, $a1, 2 -/* 0E4F68 7F0B0438 0004C880 */ sll $t9, $a0, 2 -/* 0E4F6C 7F0B043C 010E7823 */ subu $t7, $t0, $t6 -/* 0E4F70 7F0B0440 01194823 */ subu $t1, $t0, $t9 -/* 0E4F74 7F0B0444 01E22807 */ srav $a1, $v0, $t7 -/* 0E4F78 7F0B0448 01222007 */ srav $a0, $v0, $t1 -/* 0E4F7C 7F0B044C 30B8000F */ andi $t8, $a1, 0xf -/* 0E4F80 7F0B0450 308A000F */ andi $t2, $a0, 0xf -/* 0E4F84 7F0B0454 000A58C0 */ sll $t3, $t2, 3 -/* 0E4F88 7F0B0458 001860C0 */ sll $t4, $t8, 3 -/* 0E4F8C 7F0B045C 00EC3021 */ addu $a2, $a3, $t4 -/* 0E4F90 7F0B0460 00EB1821 */ addu $v1, $a3, $t3 -/* 0E4F94 7F0B0464 846D0008 */ lh $t5, 8($v1) -/* 0E4F98 7F0B0468 84CE0008 */ lh $t6, 8($a2) -/* 0E4F9C 7F0B046C 8478000C */ lh $t8, 0xc($v1) -/* 0E4FA0 7F0B0470 84D9000C */ lh $t9, 0xc($a2) -/* 0E4FA4 7F0B0474 01AE7823 */ subu $t7, $t5, $t6 -/* 0E4FA8 7F0B0478 448F2000 */ mtc1 $t7, $f4 -/* 0E4FAC 7F0B047C 03194823 */ subu $t1, $t8, $t9 -/* 0E4FB0 7F0B0480 44893000 */ mtc1 $t1, $f6 -/* 0E4FB4 7F0B0484 468020A0 */ cvt.s.w $f2, $f4 -/* 0E4FB8 7F0B0488 AFA6001C */ sw $a2, 0x1c($sp) -/* 0E4FBC 7F0B048C 468033A0 */ cvt.s.w $f14, $f6 -/* 0E4FC0 7F0B0490 46021202 */ mul.s $f8, $f2, $f2 -/* 0E4FC4 7F0B0494 E7A20038 */ swc1 $f2, 0x38($sp) -/* 0E4FC8 7F0B0498 460E7282 */ mul.s $f10, $f14, $f14 -/* 0E4FCC 7F0B049C E7AE0034 */ swc1 $f14, 0x34($sp) -/* 0E4FD0 7F0B04A0 0C007DF8 */ jal sqrtf -/* 0E4FD4 7F0B04A4 460A4300 */ add.s $f12, $f8, $f10 -/* 0E4FD8 7F0B04A8 44806000 */ mtc1 $zero, $f12 -/* 0E4FDC 7F0B04AC 8FA6001C */ lw $a2, 0x1c($sp) -/* 0E4FE0 7F0B04B0 C7A20038 */ lwc1 $f2, 0x38($sp) -/* 0E4FE4 7F0B04B4 460C0032 */ c.eq.s $f0, $f12 -/* 0E4FE8 7F0B04B8 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 0E4FEC 7F0B04BC 46000406 */ mov.s $f16, $f0 -/* 0E4FF0 7F0B04C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E4FF4 7F0B04C4 45020004 */ bc1fl .L7F0B04D8 -/* 0E4FF8 7F0B04C8 84CA000C */ lh $t2, 0xc($a2) -/* 0E4FFC 7F0B04CC 10000010 */ b .L7F0B0510 -/* 0E5000 7F0B04D0 46006006 */ mov.s $f0, $f12 -/* 0E5004 7F0B04D4 84CA000C */ lh $t2, 0xc($a2) -.L7F0B04D8: -/* 0E5008 7F0B04D8 C7B2004C */ lwc1 $f18, 0x4c($sp) -/* 0E500C 7F0B04DC 84CB0008 */ lh $t3, 8($a2) -/* 0E5010 7F0B04E0 448A2000 */ mtc1 $t2, $f4 -/* 0E5014 7F0B04E4 46001287 */ neg.s $f10, $f2 -/* 0E5018 7F0B04E8 468021A0 */ cvt.s.w $f6, $f4 -/* 0E501C 7F0B04EC 46069201 */ sub.s $f8, $f18, $f6 -/* 0E5020 7F0B04F0 448B3000 */ mtc1 $t3, $f6 -/* 0E5024 7F0B04F4 C7B20048 */ lwc1 $f18, 0x48($sp) -/* 0E5028 7F0B04F8 460A4102 */ mul.s $f4, $f8, $f10 -/* 0E502C 7F0B04FC 46803220 */ cvt.s.w $f8, $f6 -/* 0E5030 7F0B0500 46089281 */ sub.s $f10, $f18, $f8 -/* 0E5034 7F0B0504 460A7182 */ mul.s $f6, $f14, $f10 -/* 0E5038 7F0B0508 46062300 */ add.s $f12, $f4, $f6 -/* 0E503C 7F0B050C 46106003 */ div.s $f0, $f12, $f16 -.L7F0B0510: -/* 0E5040 7F0B0510 03E00008 */ jr $ra -/* 0E5044 7F0B0514 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B0518(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0518 -/* 0E5048 7F0B0518 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0E504C 7F0B051C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0E5050 7F0B0520 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E5054 7F0B0524 4485A000 */ mtc1 $a1, $f20 -/* 0E5058 7F0B0528 C4200F44 */ lwc1 $f0, %lo(D_80040F44)($at) -/* 0E505C 7F0B052C F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0E5060 7F0B0530 4486B000 */ mtc1 $a2, $f22 -/* 0E5064 7F0B0534 4600A502 */ mul.s $f20, $f20, $f0 -/* 0E5068 7F0B0538 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0E506C 7F0B053C 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 0E5070 7F0B0540 AFB20038 */ sw $s2, 0x38($sp) -/* 0E5074 7F0B0544 AFB10034 */ sw $s1, 0x34($sp) -/* 0E5078 7F0B0548 AFB00030 */ sw $s0, 0x30($sp) -/* 0E507C 7F0B054C 4481C000 */ mtc1 $at, $f24 -/* 0E5080 7F0B0550 4600B582 */ mul.s $f22, $f22, $f0 -/* 0E5084 7F0B0554 00808825 */ move $s1, $a0 -/* 0E5088 7F0B0558 AFBF003C */ sw $ra, 0x3c($sp) -/* 0E508C 7F0B055C 00008025 */ move $s0, $zero -/* 0E5090 7F0B0560 24120003 */ li $s2, 3 -/* 0E5094 7F0B0564 4406A000 */ mfc1 $a2, $f20 -.L7F0B0568: -/* 0E5098 7F0B0568 4407B000 */ mfc1 $a3, $f22 -/* 0E509C 7F0B056C 02202025 */ move $a0, $s1 -/* 0E50A0 7F0B0570 0FC2C100 */ jal sub_GAME_7F0B0400 -/* 0E50A4 7F0B0574 02002825 */ move $a1, $s0 -/* 0E50A8 7F0B0578 4618003C */ c.lt.s $f0, $f24 -/* 0E50AC 7F0B057C 26100001 */ addiu $s0, $s0, 1 -/* 0E50B0 7F0B0580 45000003 */ bc1f .L7F0B0590 -/* 0E50B4 7F0B0584 00000000 */ nop -/* 0E50B8 7F0B0588 10000004 */ b .L7F0B059C -/* 0E50BC 7F0B058C 00001025 */ move $v0, $zero -.L7F0B0590: -/* 0E50C0 7F0B0590 5612FFF5 */ bnel $s0, $s2, .L7F0B0568 -/* 0E50C4 7F0B0594 4406A000 */ mfc1 $a2, $f20 -/* 0E50C8 7F0B0598 24020001 */ li $v0, 1 -.L7F0B059C: -/* 0E50CC 7F0B059C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E50D0 7F0B05A0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0E50D4 7F0B05A4 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0E50D8 7F0B05A8 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0E50DC 7F0B05AC 8FB00030 */ lw $s0, 0x30($sp) -/* 0E50E0 7F0B05B0 8FB10034 */ lw $s1, 0x34($sp) -/* 0E50E4 7F0B05B4 8FB20038 */ lw $s2, 0x38($sp) -/* 0E50E8 7F0B05B8 03E00008 */ jr $ra -/* 0E50EC 7F0B05BC 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B05C0(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - f32 temp_f0; - f32 temp_f2; - - // Node 0 - temp_f0 = (arg1 * arg2); - temp_f2 = (arg0 * arg3); - if (temp_f0 < temp_f2) - { - // Node 1 - return 1; - } - // Node 2 - if (temp_f2 < temp_f0) - { - // Node 3 - return -1; - } - // Node 4 - if ((arg0 * arg2) < 0.0f) - { - // Node 6 - return -1; - } - // Node 5 - if ((arg1 * arg3) < 0.0f) - { - // Node 6 - return -1; - } - // Node 7 - if (((arg0 * arg0) + (arg1 * arg1)) < ((arg2 * arg2) + (arg3 * arg3))) - { - // Node 8 - return 1; - } - // Node 9 - return 0; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B05C0 -/* 0E50F0 7F0B05C0 AFA60008 */ sw $a2, 8($sp) -/* 0E50F4 7F0B05C4 C7A40008 */ lwc1 $f4, 8($sp) -/* 0E50F8 7F0B05C8 AFA7000C */ sw $a3, 0xc($sp) -/* 0E50FC 7F0B05CC C7A6000C */ lwc1 $f6, 0xc($sp) -/* 0E5100 7F0B05D0 46047002 */ mul.s $f0, $f14, $f4 -/* 0E5104 7F0B05D4 00000000 */ nop -/* 0E5108 7F0B05D8 46066082 */ mul.s $f2, $f12, $f6 -/* 0E510C 7F0B05DC 4602003C */ c.lt.s $f0, $f2 -/* 0E5110 7F0B05E0 00000000 */ nop -/* 0E5114 7F0B05E4 45000003 */ bc1f .L7F0B05F4 -/* 0E5118 7F0B05E8 00000000 */ nop -/* 0E511C 7F0B05EC 03E00008 */ jr $ra -/* 0E5120 7F0B05F0 24020001 */ li $v0, 1 - -.L7F0B05F4: -/* 0E5124 7F0B05F4 4600103C */ c.lt.s $f2, $f0 -/* 0E5128 7F0B05F8 C7A80008 */ lwc1 $f8, 8($sp) -/* 0E512C 7F0B05FC 45000003 */ bc1f .L7F0B060C -/* 0E5130 7F0B0600 00000000 */ nop -/* 0E5134 7F0B0604 03E00008 */ jr $ra -/* 0E5138 7F0B0608 2402FFFF */ li $v0, -1 - -.L7F0B060C: -/* 0E513C 7F0B060C 46086282 */ mul.s $f10, $f12, $f8 -/* 0E5140 7F0B0610 44800000 */ mtc1 $zero, $f0 -/* 0E5144 7F0B0614 C7B0000C */ lwc1 $f16, 0xc($sp) -/* 0E5148 7F0B0618 4600503C */ c.lt.s $f10, $f0 -/* 0E514C 7F0B061C 00000000 */ nop -/* 0E5150 7F0B0620 45010006 */ bc1t .L7F0B063C -/* 0E5154 7F0B0624 00000000 */ nop -/* 0E5158 7F0B0628 46107482 */ mul.s $f18, $f14, $f16 -/* 0E515C 7F0B062C 4600903C */ c.lt.s $f18, $f0 -/* 0E5160 7F0B0630 00000000 */ nop -/* 0E5164 7F0B0634 45000003 */ bc1f .L7F0B0644 -/* 0E5168 7F0B0638 00000000 */ nop -.L7F0B063C: -/* 0E516C 7F0B063C 03E00008 */ jr $ra -/* 0E5170 7F0B0640 2402FFFF */ li $v0, -1 - -.L7F0B0644: -/* 0E5174 7F0B0644 460C6102 */ mul.s $f4, $f12, $f12 -/* 0E5178 7F0B0648 C7AA0008 */ lwc1 $f10, 8($sp) -/* 0E517C 7F0B064C C7B2000C */ lwc1 $f18, 0xc($sp) -/* 0E5180 7F0B0650 460E7182 */ mul.s $f6, $f14, $f14 -/* 0E5184 7F0B0654 00001025 */ move $v0, $zero -/* 0E5188 7F0B0658 460A5402 */ mul.s $f16, $f10, $f10 -/* 0E518C 7F0B065C 46062200 */ add.s $f8, $f4, $f6 -/* 0E5190 7F0B0660 46129102 */ mul.s $f4, $f18, $f18 -/* 0E5194 7F0B0664 46048180 */ add.s $f6, $f16, $f4 -/* 0E5198 7F0B0668 4606403C */ c.lt.s $f8, $f6 -/* 0E519C 7F0B066C 00000000 */ nop -/* 0E51A0 7F0B0670 45000003 */ bc1f .L7F0B0680 -/* 0E51A4 7F0B0674 00000000 */ nop -/* 0E51A8 7F0B0678 03E00008 */ jr $ra -/* 0E51AC 7F0B067C 24020001 */ li $v0, 1 - -.L7F0B0680: -/* 0E51B0 7F0B0680 03E00008 */ jr $ra -/* 0E51B4 7F0B0684 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B0688(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) { - f32 sp20; - f32 sp24; - s32 sp28; - s32 sp2C; - f32 temp_f0; - f32 temp_f2; - s32 temp_t7; - s32 phi_return; - - // Node 0 - temp_f0 = (arg0 - arg4); - temp_f2 = (arg1 - arg5); - sp24 = temp_f0; - sp20 = temp_f2; - sp2C = sub_GAME_7F0B05C0((arg2 - arg0), (arg3 - arg1), -temp_f0, -temp_f2); - temp_t7 = ((sub_GAME_7F0B05C0(sp1C, sp18, (arg6 - arg0), (arg7 - arg1)) * sp2C) < 1); - phi_return = temp_t7; - if (temp_t7 != 0) - { - // Node 1 - sp28 = sub_GAME_7F0B05C0((arg6 - arg4), (arg7 - arg5), sp24, sp20); - phi_return = ((sub_GAME_7F0B05C0(sp1C, sp18, (arg2 - arg4), (arg3 - arg5)) * sp28) < 1); - } - // Node 2 - return phi_return; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0688 -/* 0E51B8 7F0B0688 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0E51BC 7F0B068C C7B20058 */ lwc1 $f18, 0x58($sp) -/* 0E51C0 7F0B0690 C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 0E51C4 7F0B0694 E7AC0048 */ swc1 $f12, 0x48($sp) -/* 0E51C8 7F0B0698 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 0E51CC 7F0B069C E7AE004C */ swc1 $f14, 0x4c($sp) -/* 0E51D0 7F0B06A0 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 0E51D4 7F0B06A4 46125001 */ sub.s $f0, $f10, $f18 -/* 0E51D8 7F0B06A8 AFA60050 */ sw $a2, 0x50($sp) -/* 0E51DC 7F0B06AC C7B20050 */ lwc1 $f18, 0x50($sp) -/* 0E51E0 7F0B06B0 46104081 */ sub.s $f2, $f8, $f16 -/* 0E51E4 7F0B06B4 AFA70054 */ sw $a3, 0x54($sp) -/* 0E51E8 7F0B06B8 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 0E51EC 7F0B06BC 460A9301 */ sub.s $f12, $f18, $f10 -/* 0E51F0 7F0B06C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E51F4 7F0B06C4 E7A00024 */ swc1 $f0, 0x24($sp) -/* 0E51F8 7F0B06C8 46088381 */ sub.s $f14, $f16, $f8 -/* 0E51FC 7F0B06CC E7A20020 */ swc1 $f2, 0x20($sp) -/* 0E5200 7F0B06D0 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 0E5204 7F0B06D4 46000207 */ neg.s $f8, $f0 -/* 0E5208 7F0B06D8 46001407 */ neg.s $f16, $f2 -/* 0E520C 7F0B06DC 44064000 */ mfc1 $a2, $f8 -/* 0E5210 7F0B06E0 44078000 */ mfc1 $a3, $f16 -/* 0E5214 7F0B06E4 0FC2C170 */ jal sub_GAME_7F0B05C0 -/* 0E5218 7F0B06E8 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 0E521C 7F0B06EC C7A60060 */ lwc1 $f6, 0x60($sp) -/* 0E5220 7F0B06F0 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 0E5224 7F0B06F4 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 0E5228 7F0B06F8 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0E522C 7F0B06FC 46103481 */ sub.s $f18, $f6, $f16 -/* 0E5230 7F0B0700 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 0E5234 7F0B0704 C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 0E5238 7F0B0708 46045201 */ sub.s $f8, $f10, $f4 -/* 0E523C 7F0B070C 44069000 */ mfc1 $a2, $f18 -/* 0E5240 7F0B0710 AFA2002C */ sw $v0, 0x2c($sp) -/* 0E5244 7F0B0714 44074000 */ mfc1 $a3, $f8 -/* 0E5248 7F0B0718 0FC2C170 */ jal sub_GAME_7F0B05C0 -/* 0E524C 7F0B071C 00000000 */ nop -/* 0E5250 7F0B0720 8FAE002C */ lw $t6, 0x2c($sp) -/* 0E5254 7F0B0724 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 0E5258 7F0B0728 C7B00058 */ lwc1 $f16, 0x58($sp) -/* 0E525C 7F0B072C 004E0019 */ multu $v0, $t6 -/* 0E5260 7F0B0730 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 0E5264 7F0B0734 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0E5268 7F0B0738 00001012 */ mflo $v0 -/* 0E526C 7F0B073C 284F0001 */ slti $t7, $v0, 1 -/* 0E5270 7F0B0740 11E0001A */ beqz $t7, .L7F0B07AC -/* 0E5274 7F0B0744 01E01025 */ move $v0, $t7 -/* 0E5278 7F0B0748 46103301 */ sub.s $f12, $f6, $f16 -/* 0E527C 7F0B074C 8FA60024 */ lw $a2, 0x24($sp) -/* 0E5280 7F0B0750 8FA70020 */ lw $a3, 0x20($sp) -/* 0E5284 7F0B0754 460A9381 */ sub.s $f14, $f18, $f10 -/* 0E5288 7F0B0758 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 0E528C 7F0B075C 0FC2C170 */ jal sub_GAME_7F0B05C0 -/* 0E5290 7F0B0760 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 0E5294 7F0B0764 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 0E5298 7F0B0768 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0E529C 7F0B076C C7B00054 */ lwc1 $f16, 0x54($sp) -/* 0E52A0 7F0B0770 C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 0E52A4 7F0B0774 46082181 */ sub.s $f6, $f4, $f8 -/* 0E52A8 7F0B0778 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 0E52AC 7F0B077C C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 0E52B0 7F0B0780 46128281 */ sub.s $f10, $f16, $f18 -/* 0E52B4 7F0B0784 44063000 */ mfc1 $a2, $f6 -/* 0E52B8 7F0B0788 AFA20028 */ sw $v0, 0x28($sp) -/* 0E52BC 7F0B078C 44075000 */ mfc1 $a3, $f10 -/* 0E52C0 7F0B0790 0FC2C170 */ jal sub_GAME_7F0B05C0 -/* 0E52C4 7F0B0794 00000000 */ nop -/* 0E52C8 7F0B0798 8FB80028 */ lw $t8, 0x28($sp) -/* 0E52CC 7F0B079C 00580019 */ multu $v0, $t8 -/* 0E52D0 7F0B07A0 00001012 */ mflo $v0 -/* 0E52D4 7F0B07A4 28590001 */ slti $t9, $v0, 1 -/* 0E52D8 7F0B07A8 03201025 */ move $v0, $t9 -.L7F0B07AC: -/* 0E52DC 7F0B07AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E52E0 7F0B07B0 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0E52E4 7F0B07B4 03E00008 */ jr $ra -/* 0E52E8 7F0B07B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -?32 sub_GAME_7F0B07BC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 arg8) { - f32 sp24; - f32 sp28; - s32 sp2C; - ?32 sp44; - s32 sp4C; - f32 temp_f2; - f32 temp_f0; - ?32 phi_a0; - - // Node 0 - temp_f2 = (arg1 - arg5); - temp_f0 = (arg0 - arg4); - sp44 = 1; - sp28 = temp_f0; - sp24 = temp_f2; - sp2C = sub_GAME_7F0B05C0((arg2 - arg0), (arg3 - arg1), -temp_f0, -temp_f2); - sp4C = (s32) (sub_GAME_7F0B05C0(sp20, sp1C, (arg6 - arg0), (arg7 - arg1)) * sp2C); - sp2C = sub_GAME_7F0B05C0((arg6 - arg4), (arg7 - arg5), sp28, sp24); - if (sp4C >= arg8) - { - // Node 1 - sp44 = 0; - } - // Node 2 - phi_a0 = sp44; - if ((sub_GAME_7F0B05C0(sp20, sp1C, (arg2 - arg4), (arg3 - arg5)) * sp2C) >= arg8) - { - // Node 3 - phi_a0 = 0; - } - // Node 4 - return phi_a0; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B07BC -/* 0E52EC 7F0B07BC 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0E52F0 7F0B07C0 E7AC0068 */ swc1 $f12, 0x68($sp) -/* 0E52F4 7F0B07C4 AFA60070 */ sw $a2, 0x70($sp) -/* 0E52F8 7F0B07C8 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0E52FC 7F0B07CC C7A60068 */ lwc1 $f6, 0x68($sp) -/* 0E5300 7F0B07D0 E7AE006C */ swc1 $f14, 0x6c($sp) -/* 0E5304 7F0B07D4 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0E5308 7F0B07D8 46062301 */ sub.s $f12, $f4, $f6 -/* 0E530C 7F0B07DC C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 0E5310 7F0B07E0 C7B00078 */ lwc1 $f16, 0x78($sp) -/* 0E5314 7F0B07E4 AFA70074 */ sw $a3, 0x74($sp) -/* 0E5318 7F0B07E8 46045081 */ sub.s $f2, $f10, $f4 -/* 0E531C 7F0B07EC C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0E5320 7F0B07F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E5324 7F0B07F4 46103001 */ sub.s $f0, $f6, $f16 -/* 0E5328 7F0B07F8 240E0001 */ li $t6, 1 -/* 0E532C 7F0B07FC AFAE0044 */ sw $t6, 0x44($sp) -/* 0E5330 7F0B0800 460A4381 */ sub.s $f14, $f8, $f10 -/* 0E5334 7F0B0804 E7A00028 */ swc1 $f0, 0x28($sp) -/* 0E5338 7F0B0808 E7A20024 */ swc1 $f2, 0x24($sp) -/* 0E533C 7F0B080C 46001207 */ neg.s $f8, $f2 -/* 0E5340 7F0B0810 46000487 */ neg.s $f18, $f0 -/* 0E5344 7F0B0814 44074000 */ mfc1 $a3, $f8 -/* 0E5348 7F0B0818 44069000 */ mfc1 $a2, $f18 -/* 0E534C 7F0B081C E7AE001C */ swc1 $f14, 0x1c($sp) -/* 0E5350 7F0B0820 0FC2C170 */ jal sub_GAME_7F0B05C0 -/* 0E5354 7F0B0824 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 0E5358 7F0B0828 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 0E535C 7F0B082C C7B00068 */ lwc1 $f16, 0x68($sp) -/* 0E5360 7F0B0830 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 0E5364 7F0B0834 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 0E5368 7F0B0838 46103481 */ sub.s $f18, $f6, $f16 -/* 0E536C 7F0B083C C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 0E5370 7F0B0840 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 0E5374 7F0B0844 46045201 */ sub.s $f8, $f10, $f4 -/* 0E5378 7F0B0848 44069000 */ mfc1 $a2, $f18 -/* 0E537C 7F0B084C AFA2002C */ sw $v0, 0x2c($sp) -/* 0E5380 7F0B0850 44074000 */ mfc1 $a3, $f8 -/* 0E5384 7F0B0854 0FC2C170 */ jal sub_GAME_7F0B05C0 -/* 0E5388 7F0B0858 00000000 */ nop -/* 0E538C 7F0B085C 8FAF002C */ lw $t7, 0x2c($sp) -/* 0E5390 7F0B0860 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 0E5394 7F0B0864 C7B00078 */ lwc1 $f16, 0x78($sp) -/* 0E5398 7F0B0868 004F0019 */ multu $v0, $t7 -/* 0E539C 7F0B086C C7B20084 */ lwc1 $f18, 0x84($sp) -/* 0E53A0 7F0B0870 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0E53A4 7F0B0874 46103301 */ sub.s $f12, $f6, $f16 -/* 0E53A8 7F0B0878 8FA60028 */ lw $a2, 0x28($sp) -/* 0E53AC 7F0B087C 8FA70024 */ lw $a3, 0x24($sp) -/* 0E53B0 7F0B0880 460A9381 */ sub.s $f14, $f18, $f10 -/* 0E53B4 7F0B0884 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 0E53B8 7F0B0888 0000C012 */ mflo $t8 -/* 0E53BC 7F0B088C AFB8004C */ sw $t8, 0x4c($sp) -/* 0E53C0 7F0B0890 0FC2C170 */ jal sub_GAME_7F0B05C0 -/* 0E53C4 7F0B0894 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 0E53C8 7F0B0898 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0E53CC 7F0B089C C7A80078 */ lwc1 $f8, 0x78($sp) -/* 0E53D0 7F0B08A0 C7B00074 */ lwc1 $f16, 0x74($sp) -/* 0E53D4 7F0B08A4 C7B2007C */ lwc1 $f18, 0x7c($sp) -/* 0E53D8 7F0B08A8 46082181 */ sub.s $f6, $f4, $f8 -/* 0E53DC 7F0B08AC C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 0E53E0 7F0B08B0 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 0E53E4 7F0B08B4 46128281 */ sub.s $f10, $f16, $f18 -/* 0E53E8 7F0B08B8 44063000 */ mfc1 $a2, $f6 -/* 0E53EC 7F0B08BC AFA2002C */ sw $v0, 0x2c($sp) -/* 0E53F0 7F0B08C0 44075000 */ mfc1 $a3, $f10 -/* 0E53F4 7F0B08C4 0FC2C170 */ jal sub_GAME_7F0B05C0 -/* 0E53F8 7F0B08C8 00000000 */ nop -/* 0E53FC 7F0B08CC 8FA30088 */ lw $v1, 0x88($sp) -/* 0E5400 7F0B08D0 8FB9004C */ lw $t9, 0x4c($sp) -/* 0E5404 7F0B08D4 0323082A */ slt $at, $t9, $v1 -/* 0E5408 7F0B08D8 54200003 */ bnezl $at, .L7F0B08E8 -/* 0E540C 7F0B08DC 8FA8002C */ lw $t0, 0x2c($sp) -/* 0E5410 7F0B08E0 AFA00044 */ sw $zero, 0x44($sp) -/* 0E5414 7F0B08E4 8FA8002C */ lw $t0, 0x2c($sp) -.L7F0B08E8: -/* 0E5418 7F0B08E8 8FA40044 */ lw $a0, 0x44($sp) -/* 0E541C 7F0B08EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E5420 7F0B08F0 00480019 */ multu $v0, $t0 -/* 0E5424 7F0B08F4 27BD0068 */ addiu $sp, $sp, 0x68 -/* 0E5428 7F0B08F8 00004812 */ mflo $t1 -/* 0E542C 7F0B08FC 0123082A */ slt $at, $t1, $v1 -/* 0E5430 7F0B0900 14200002 */ bnez $at, .L7F0B090C -/* 0E5434 7F0B0904 00000000 */ nop -/* 0E5438 7F0B0908 00002025 */ move $a0, $zero -.L7F0B090C: -/* 0E543C 7F0B090C 03E00008 */ jr $ra -/* 0E5440 7F0B0910 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B0914(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0914 -/* 0E5444 7F0B0914 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0E5448 7F0B0918 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0E544C 7F0B091C 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E5450 7F0B0920 4485A000 */ mtc1 $a1, $f20 -/* 0E5454 7F0B0924 C4200F44 */ lwc1 $f0, %lo(D_80040F44)($at) -/* 0E5458 7F0B0928 F7B60038 */ sdc1 $f22, 0x38($sp) -/* 0E545C 7F0B092C 4486B000 */ mtc1 $a2, $f22 -/* 0E5460 7F0B0930 4600A502 */ mul.s $f20, $f20, $f0 -/* 0E5464 7F0B0934 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 0E5468 7F0B0938 4487C000 */ mtc1 $a3, $f24 -/* 0E546C 7F0B093C 4600B582 */ mul.s $f22, $f22, $f0 -/* 0E5470 7F0B0940 F7BA0048 */ sdc1 $f26, 0x48($sp) -/* 0E5474 7F0B0944 C7BA00C8 */ lwc1 $f26, 0xc8($sp) -/* 0E5478 7F0B0948 4600C602 */ mul.s $f24, $f24, $f0 -/* 0E547C 7F0B094C AFBF0084 */ sw $ra, 0x84($sp) -/* 0E5480 7F0B0950 AFBE0080 */ sw $fp, 0x80($sp) -/* 0E5484 7F0B0954 4600D682 */ mul.s $f26, $f26, $f0 -/* 0E5488 7F0B0958 AFB7007C */ sw $s7, 0x7c($sp) -/* 0E548C 7F0B095C AFB60078 */ sw $s6, 0x78($sp) -/* 0E5490 7F0B0960 AFB50074 */ sw $s5, 0x74($sp) -/* 0E5494 7F0B0964 AFB40070 */ sw $s4, 0x70($sp) -/* 0E5498 7F0B0968 AFB3006C */ sw $s3, 0x6c($sp) -/* 0E549C 7F0B096C AFB20068 */ sw $s2, 0x68($sp) -/* 0E54A0 7F0B0970 AFB10064 */ sw $s1, 0x64($sp) -/* 0E54A4 7F0B0974 AFB00060 */ sw $s0, 0x60($sp) -/* 0E54A8 7F0B0978 F7BE0058 */ sdc1 $f30, 0x58($sp) -/* 0E54AC 7F0B097C F7BC0050 */ sdc1 $f28, 0x50($sp) -/* 0E54B0 7F0B0980 AFA400B8 */ sw $a0, 0xb8($sp) -/* 0E54B4 7F0B0984 8C820000 */ lw $v0, ($a0) -/* 0E54B8 7F0B0988 4616D701 */ sub.s $f28, $f26, $f22 -/* 0E54BC 7F0B098C 00807025 */ move $t6, $a0 -/* 0E54C0 7F0B0990 0000A825 */ move $s5, $zero -/* 0E54C4 7F0B0994 AFA0008C */ sw $zero, 0x8c($sp) -/* 0E54C8 7F0B0998 4600E707 */ neg.s $f28, $f28 -/* 0E54CC 7F0B099C 4614C781 */ sub.s $f30, $f24, $f20 -/* 0E54D0 7F0B09A0 00008825 */ move $s1, $zero -/* 0E54D4 7F0B09A4 0000A025 */ move $s4, $zero -/* 0E54D8 7F0B09A8 8FBE0098 */ lw $fp, 0x98($sp) -/* 0E54DC 7F0B09AC 00409825 */ move $s3, $v0 -/* 0E54E0 7F0B09B0 0040B025 */ move $s6, $v0 -/* 0E54E4 7F0B09B4 0040B825 */ move $s7, $v0 -.L7F0B09B8: -/* 0E54E8 7F0B09B8 8FAF00CC */ lw $t7, 0xcc($sp) -/* 0E54EC 7F0B09BC 02602025 */ move $a0, $s3 -/* 0E54F0 7F0B09C0 51E00005 */ beql $t7, $zero, .L7F0B09D8 -/* 0E54F4 7F0B09C4 86640006 */ lh $a0, 6($s3) -/* 0E54F8 7F0B09C8 02C02825 */ move $a1, $s6 -/* 0E54FC 7F0B09CC 01E0F809 */ jalr $t7 -/* 0E5500 7F0B09D0 8FA600D0 */ lw $a2, 0xd0($sp) -/* 0E5504 7F0B09D4 86640006 */ lh $a0, 6($s3) -.L7F0B09D8: -/* 0E5508 7F0B09D8 02608025 */ move $s0, $s3 -/* 0E550C 7F0B09DC 0004C303 */ sra $t8, $a0, 0xc -/* 0E5510 7F0B09E0 3319000F */ andi $t9, $t8, 0xf -/* 0E5514 7F0B09E4 1B200051 */ blez $t9, .L7F0B0B2C -/* 0E5518 7F0B09E8 03202025 */ move $a0, $t9 -.L7F0B09EC: -/* 0E551C 7F0B09EC 26320001 */ addiu $s2, $s1, 1 -/* 0E5520 7F0B09F0 0244001A */ div $zero, $s2, $a0 -/* 0E5524 7F0B09F4 00001810 */ mfhi $v1 -/* 0E5528 7F0B09F8 000358C0 */ sll $t3, $v1, 3 -/* 0E552C 7F0B09FC 026B1021 */ addu $v0, $s3, $t3 -/* 0E5530 7F0B0A00 8445000C */ lh $a1, 0xc($v0) -/* 0E5534 7F0B0A04 8608000C */ lh $t0, 0xc($s0) -/* 0E5538 7F0B0A08 84490008 */ lh $t1, 8($v0) -/* 0E553C 7F0B0A0C 860A0008 */ lh $t2, 8($s0) -/* 0E5540 7F0B0A10 00A86023 */ subu $t4, $a1, $t0 -/* 0E5544 7F0B0A14 448C3000 */ mtc1 $t4, $f6 -/* 0E5548 7F0B0A18 012A6823 */ subu $t5, $t1, $t2 -/* 0E554C 7F0B0A1C 448D8000 */ mtc1 $t5, $f16 -/* 0E5550 7F0B0A20 46803220 */ cvt.s.w $f8, $f6 -/* 0E5554 7F0B0A24 44802000 */ mtc1 $zero, $f4 -/* 0E5558 7F0B0A28 14800002 */ bnez $a0, .L7F0B0A34 -/* 0E555C 7F0B0A2C 00000000 */ nop -/* 0E5560 7F0B0A30 0007000D */ break 7 -.L7F0B0A34: -/* 0E5564 7F0B0A34 2401FFFF */ li $at, -1 -/* 0E5568 7F0B0A38 14810004 */ bne $a0, $at, .L7F0B0A4C -/* 0E556C 7F0B0A3C 3C018000 */ lui $at, 0x8000 -/* 0E5570 7F0B0A40 16410002 */ bne $s2, $at, .L7F0B0A4C -/* 0E5574 7F0B0A44 00000000 */ nop -/* 0E5578 7F0B0A48 0006000D */ break 6 -.L7F0B0A4C: -/* 0E557C 7F0B0A4C 468084A0 */ cvt.s.w $f18, $f16 -/* 0E5580 7F0B0A50 461E4282 */ mul.s $f10, $f8, $f30 -/* 0E5584 7F0B0A54 00000000 */ nop -/* 0E5588 7F0B0A58 4612E182 */ mul.s $f6, $f28, $f18 -/* 0E558C 7F0B0A5C 46065200 */ add.s $f8, $f10, $f6 -/* 0E5590 7F0B0A60 4604403E */ c.le.s $f8, $f4 -/* 0E5594 7F0B0A64 00000000 */ nop -/* 0E5598 7F0B0A68 45000028 */ bc1f .L7F0B0B0C -/* 0E559C 7F0B0A6C 00000000 */ nop -/* 0E55A0 7F0B0A70 448A8000 */ mtc1 $t2, $f16 -/* 0E55A4 7F0B0A74 44885000 */ mtc1 $t0, $f10 -/* 0E55A8 7F0B0A78 44892000 */ mtc1 $t1, $f4 -/* 0E55AC 7F0B0A7C 468084A0 */ cvt.s.w $f18, $f16 -/* 0E55B0 7F0B0A80 44858000 */ mtc1 $a1, $f16 -/* 0E55B4 7F0B0A84 9602000E */ lhu $v0, 0xe($s0) -/* 0E55B8 7F0B0A88 4406C000 */ mfc1 $a2, $f24 -/* 0E55BC 7F0B0A8C 4407D000 */ mfc1 $a3, $f26 -/* 0E55C0 7F0B0A90 468051A0 */ cvt.s.w $f6, $f10 -/* 0E55C4 7F0B0A94 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0E55C8 7F0B0A98 00027103 */ sra $t6, $v0, 4 -/* 0E55CC 7F0B0A9C 000E782B */ sltu $t7, $zero, $t6 -/* 0E55D0 7F0B0AA0 AFAF0020 */ sw $t7, 0x20($sp) -/* 0E55D4 7F0B0AA4 46802220 */ cvt.s.w $f8, $f4 -/* 0E55D8 7F0B0AA8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0E55DC 7F0B0AAC 4600A306 */ mov.s $f12, $f20 -/* 0E55E0 7F0B0AB0 4600B386 */ mov.s $f14, $f22 -/* 0E55E4 7F0B0AB4 468084A0 */ cvt.s.w $f18, $f16 -/* 0E55E8 7F0B0AB8 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0E55EC 7F0B0ABC 0FC2C1EF */ jal sub_GAME_7F0B07BC -/* 0E55F0 7F0B0AC0 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 0E55F4 7F0B0AC4 50400012 */ beql $v0, $zero, .L7F0B0B10 -/* 0E55F8 7F0B0AC8 86640006 */ lh $a0, 6($s3) -/* 0E55FC 7F0B0ACC 9603000E */ lhu $v1, 0xe($s0) -/* 0E5600 7F0B0AD0 3C198004 */ lui $t9, %hi(base_ptr_connection_vals) -/* 0E5604 7F0B0AD4 8F390F58 */ lw $t9, %lo(base_ptr_connection_vals)($t9) -/* 0E5608 7F0B0AD8 0003C0C0 */ sll $t8, $v1, 3 -/* 0E560C 7F0B0ADC 26940001 */ addiu $s4, $s4, 1 -/* 0E5610 7F0B0AE0 03191021 */ addu $v0, $t8, $t9 -/* 0E5614 7F0B0AE4 12C20009 */ beq $s6, $v0, .L7F0B0B0C -/* 0E5618 7F0B0AE8 00000000 */ nop -/* 0E561C 7F0B0AEC 12E20007 */ beq $s7, $v0, .L7F0B0B0C -/* 0E5620 7F0B0AF0 00000000 */ nop -/* 0E5624 7F0B0AF4 00035903 */ sra $t3, $v1, 4 -/* 0E5628 7F0B0AF8 11600003 */ beqz $t3, .L7F0B0B08 -/* 0E562C 7F0B0AFC 0220F025 */ move $fp, $s1 -/* 0E5630 7F0B0B00 10000002 */ b .L7F0B0B0C -/* 0E5634 7F0B0B04 0040A825 */ move $s5, $v0 -.L7F0B0B08: -/* 0E5638 7F0B0B08 0000A825 */ move $s5, $zero -.L7F0B0B0C: -/* 0E563C 7F0B0B0C 86640006 */ lh $a0, 6($s3) -.L7F0B0B10: -/* 0E5640 7F0B0B10 02408825 */ move $s1, $s2 -/* 0E5644 7F0B0B14 26100008 */ addiu $s0, $s0, 8 -/* 0E5648 7F0B0B18 00046303 */ sra $t4, $a0, 0xc -/* 0E564C 7F0B0B1C 318D000F */ andi $t5, $t4, 0xf -/* 0E5650 7F0B0B20 024D082A */ slt $at, $s2, $t5 -/* 0E5654 7F0B0B24 1420FFB1 */ bnez $at, .L7F0B09EC -/* 0E5658 7F0B0B28 01A02025 */ move $a0, $t5 -.L7F0B0B2C: -/* 0E565C 7F0B0B2C 02C0B825 */ move $s7, $s6 -/* 0E5660 7F0B0B30 0260B025 */ move $s6, $s3 -/* 0E5664 7F0B0B34 02751026 */ xor $v0, $s3, $s5 -/* 0E5668 7F0B0B38 14400002 */ bnez $v0, .L7F0B0B44 -/* 0E566C 7F0B0B3C 02A09825 */ move $s3, $s5 -/* 0E5670 7F0B0B40 0000A025 */ move $s4, $zero -.L7F0B0B44: -/* 0E5674 7F0B0B44 16800003 */ bnez $s4, .L7F0B0B54 -/* 0E5678 7F0B0B48 8FAE008C */ lw $t6, 0x8c($sp) -/* 0E567C 7F0B0B4C 10000013 */ b .L7F0B0B9C -/* 0E5680 7F0B0B50 24020001 */ li $v0, 1 -.L7F0B0B54: -/* 0E5684 7F0B0B54 29C201F5 */ slti $v0, $t6, 0x1f5 -/* 0E5688 7F0B0B58 38420001 */ xori $v0, $v0, 1 -/* 0E568C 7F0B0B5C 25CF0001 */ addiu $t7, $t6, 1 -/* 0E5690 7F0B0B60 14400005 */ bnez $v0, .L7F0B0B78 -/* 0E5694 7F0B0B64 AFAF008C */ sw $t7, 0x8c($sp) -/* 0E5698 7F0B0B68 12A00003 */ beqz $s5, .L7F0B0B78 -/* 0E569C 7F0B0B6C 8FB800B8 */ lw $t8, 0xb8($sp) -/* 0E56A0 7F0B0B70 16800007 */ bnez $s4, .L7F0B0B90 -/* 0E56A4 7F0B0B74 00008825 */ move $s1, $zero -.L7F0B0B78: -/* 0E56A8 7F0B0B78 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B9E4) -/* 0E56AC 7F0B0B7C AC36B9E4 */ sw $s6, %lo(dword_CODE_bss_8007B9E4)($at) -/* 0E56B0 7F0B0B80 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B9E8) -/* 0E56B4 7F0B0B84 AC3EB9E8 */ sw $fp, %lo(dword_CODE_bss_8007B9E8)($at) -/* 0E56B8 7F0B0B88 10000004 */ b .L7F0B0B9C -/* 0E56BC 7F0B0B8C 00001025 */ move $v0, $zero -.L7F0B0B90: -/* 0E56C0 7F0B0B90 AF150000 */ sw $s5, ($t8) -/* 0E56C4 7F0B0B94 1000FF88 */ b .L7F0B09B8 -/* 0E56C8 7F0B0B98 0000A025 */ move $s4, $zero -.L7F0B0B9C: -/* 0E56CC 7F0B0B9C 8FBF0084 */ lw $ra, 0x84($sp) -/* 0E56D0 7F0B0BA0 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 0E56D4 7F0B0BA4 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 0E56D8 7F0B0BA8 D7B80040 */ ldc1 $f24, 0x40($sp) -/* 0E56DC 7F0B0BAC D7BA0048 */ ldc1 $f26, 0x48($sp) -/* 0E56E0 7F0B0BB0 D7BC0050 */ ldc1 $f28, 0x50($sp) -/* 0E56E4 7F0B0BB4 D7BE0058 */ ldc1 $f30, 0x58($sp) -/* 0E56E8 7F0B0BB8 8FB00060 */ lw $s0, 0x60($sp) -/* 0E56EC 7F0B0BBC 8FB10064 */ lw $s1, 0x64($sp) -/* 0E56F0 7F0B0BC0 8FB20068 */ lw $s2, 0x68($sp) -/* 0E56F4 7F0B0BC4 8FB3006C */ lw $s3, 0x6c($sp) -/* 0E56F8 7F0B0BC8 8FB40070 */ lw $s4, 0x70($sp) -/* 0E56FC 7F0B0BCC 8FB50074 */ lw $s5, 0x74($sp) -/* 0E5700 7F0B0BD0 8FB60078 */ lw $s6, 0x78($sp) -/* 0E5704 7F0B0BD4 8FB7007C */ lw $s7, 0x7c($sp) -/* 0E5708 7F0B0BD8 8FBE0080 */ lw $fp, 0x80($sp) -/* 0E570C 7F0B0BDC 03E00008 */ jr $ra -/* 0E5710 7F0B0BE0 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B0BE4(s32 arg1, ? arg2, ? arg3, f32 arg4) { - sub_GAME_7F0B0914(arg1, arg2, arg1, arg2, arg4, 0, 0); -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0BE4 -/* 0E5714 7F0B0BE4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E5718 7F0B0BE8 44856000 */ mtc1 $a1, $f12 -/* 0E571C 7F0B0BEC 44867000 */ mtc1 $a2, $f14 -/* 0E5720 7F0B0BF0 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0E5724 7F0B0BF4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0E5728 7F0B0BF8 44056000 */ mfc1 $a1, $f12 -/* 0E572C 7F0B0BFC 44067000 */ mfc1 $a2, $f14 -/* 0E5730 7F0B0C00 AFA70034 */ sw $a3, 0x34($sp) -/* 0E5734 7F0B0C04 AFA00014 */ sw $zero, 0x14($sp) -/* 0E5738 7F0B0C08 AFA00018 */ sw $zero, 0x18($sp) -/* 0E573C 7F0B0C0C 0FC2C245 */ jal sub_GAME_7F0B0914 -/* 0E5740 7F0B0C10 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0E5744 7F0B0C14 8FBF0024 */ lw $ra, 0x24($sp) -/* 0E5748 7F0B0C18 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E574C 7F0B0C1C 03E00008 */ jr $ra -/* 0E5750 7F0B0C20 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B0C24(s32 arg1, ? arg2, ? arg3, f32 arg4, ?32 arg5, void *arg6, ?32 arg7) { - ?32 sp30; - ?32 sp34; - ?32 sp38; - ?32 sp3C; - - // Node 0 - sp34 = 0; - sp3C = -1; - sp30 = arg5; - sp38 = arg7; - *arg6 = sp34; - return sub_GAME_7F0B0914(arg1, arg2, arg1, arg2, arg4, &sub_GAME_7F0B0C98, &sp30); -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0C24 -/* 0E5754 7F0B0C24 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0E5758 7F0B0C28 44856000 */ mtc1 $a1, $f12 -/* 0E575C 7F0B0C2C 44867000 */ mtc1 $a2, $f14 -/* 0E5760 7F0B0C30 8FAE0054 */ lw $t6, 0x54($sp) -/* 0E5764 7F0B0C34 8FAF005C */ lw $t7, 0x5c($sp) -/* 0E5768 7F0B0C38 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 0E576C 7F0B0C3C 3C197F0B */ lui $t9, %hi(sub_GAME_7F0B0C98) # $t9, 0x7f0b -/* 0E5770 7F0B0C40 AFBF0024 */ sw $ra, 0x24($sp) -/* 0E5774 7F0B0C44 2418FFFF */ li $t8, -1 -/* 0E5778 7F0B0C48 27390C98 */ addiu $t9, %lo(sub_GAME_7F0B0C98) # addiu $t9, $t9, 0xc98 -/* 0E577C 7F0B0C4C 27A80030 */ addiu $t0, $sp, 0x30 -/* 0E5780 7F0B0C50 44056000 */ mfc1 $a1, $f12 -/* 0E5784 7F0B0C54 44067000 */ mfc1 $a2, $f14 -/* 0E5788 7F0B0C58 AFA7004C */ sw $a3, 0x4c($sp) -/* 0E578C 7F0B0C5C AFA00034 */ sw $zero, 0x34($sp) -/* 0E5790 7F0B0C60 AFB8003C */ sw $t8, 0x3c($sp) -/* 0E5794 7F0B0C64 AFA80018 */ sw $t0, 0x18($sp) -/* 0E5798 7F0B0C68 AFB90014 */ sw $t9, 0x14($sp) -/* 0E579C 7F0B0C6C AFAE0030 */ sw $t6, 0x30($sp) -/* 0E57A0 7F0B0C70 AFAF0038 */ sw $t7, 0x38($sp) -/* 0E57A4 7F0B0C74 0FC2C245 */ jal sub_GAME_7F0B0914 -/* 0E57A8 7F0B0C78 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0E57AC 7F0B0C7C 8FA90034 */ lw $t1, 0x34($sp) -/* 0E57B0 7F0B0C80 8FAA0058 */ lw $t2, 0x58($sp) -/* 0E57B4 7F0B0C84 AD490000 */ sw $t1, ($t2) -/* 0E57B8 7F0B0C88 8FBF0024 */ lw $ra, 0x24($sp) -/* 0E57BC 7F0B0C8C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0E57C0 7F0B0C90 03E00008 */ jr $ra -/* 0E57C4 7F0B0C94 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B0C98(void *arg0, s32 arg1, void *arg2) { - // Node 0 - if (arg2->unkC != arg0->unk3) - { - // Node 1 - if (arg2->unk4 < arg2->unk8) - { - // Node 2 - **arg2 = (s32) arg0->unk3; - arg2->unkC = (s32) arg0->unk3; - *arg2 = (void *) (*arg2 + 4); - arg2->unk4 = (s32) (arg2->unk4 + 1); - } - } - // Node 3 - return arg0->unk3; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0C98 -/* 0E57C8 7F0B0C98 AFA50004 */ sw $a1, 4($sp) -/* 0E57CC 7F0B0C9C 8CCE000C */ lw $t6, 0xc($a2) -/* 0E57D0 7F0B0CA0 90820003 */ lbu $v0, 3($a0) -/* 0E57D4 7F0B0CA4 11C2000F */ beq $t6, $v0, .L7F0B0CE4 -/* 0E57D8 7F0B0CA8 00000000 */ nop -/* 0E57DC 7F0B0CAC 8CCF0004 */ lw $t7, 4($a2) -/* 0E57E0 7F0B0CB0 8CD80008 */ lw $t8, 8($a2) -/* 0E57E4 7F0B0CB4 01F8082A */ slt $at, $t7, $t8 -/* 0E57E8 7F0B0CB8 1020000A */ beqz $at, .L7F0B0CE4 -/* 0E57EC 7F0B0CBC 00000000 */ nop -/* 0E57F0 7F0B0CC0 8CD90000 */ lw $t9, ($a2) -/* 0E57F4 7F0B0CC4 AF220000 */ sw $v0, ($t9) -/* 0E57F8 7F0B0CC8 8CC80000 */ lw $t0, ($a2) -/* 0E57FC 7F0B0CCC 8CCA0004 */ lw $t2, 4($a2) -/* 0E5800 7F0B0CD0 ACC2000C */ sw $v0, 0xc($a2) -/* 0E5804 7F0B0CD4 25090004 */ addiu $t1, $t0, 4 -/* 0E5808 7F0B0CD8 254B0001 */ addiu $t3, $t2, 1 -/* 0E580C 7F0B0CDC ACC90000 */ sw $t1, ($a2) -/* 0E5810 7F0B0CE0 ACCB0004 */ sw $t3, 4($a2) -.L7F0B0CE4: -/* 0E5814 7F0B0CE4 03E00008 */ jr $ra -/* 0E5818 7F0B0CE8 00000000 */ nop -) -#endif - - - - - -void sub_GAME_7F0B0CEC(void) { - sub_GAME_7F0B0C98(); -} - - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B0D0C(void *arg0, s32 arg1, ? arg2, void *arg3, ? arg4, f32 arg5, void *arg6, s32 arg7) { - s32 sp40; - void *sp44; - void *phi_v0; - - // Node 0 - sp40 = 0; - if (*arg3 != 0) - { - // Node 1 - if (arg0->unk3 == *arg3->unk3) - { - // Node 2 - *arg6 = (s32) arg0->unk3; - return sp40; - } - // Node 3 - if (sub_GAME_7F0B8FD0((arg0->unk3 & 0xff), (*arg3->unk3 & 0xff), arg0->unk3, *arg3->unk3) != 0) - { - // Node 4 - *arg6 = (s32) arg0->unk3; - arg6->unk4 = (s32) *arg3->unk3; - return sp40; - } - } - // Node 5 - if (sub_GAME_7F0B0C24(&sp44, arg1, arg2, arg4, arg5, arg6, &sp40, arg7) == 0) - { - // Node 6 - return sp40; - } - // Node 7 - if (arg7 < sp40) - { - // Node 8 - sp40 = arg7; - } - // Node 9 - phi_v0 = *arg3; - if (*arg3 == 0) - { - // Node 10 - *arg3 = sp44; - phi_v0 = sp44; - } - // Node 11 - if (sp44 == phi_v0) - { - // Node 13 - // Node 14 - return sp40; - } - // Node 12 - return sp40; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0D0C -/* 0E583C 7F0B0D0C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0E5840 7F0B0D10 AFBF002C */ sw $ra, 0x2c($sp) -/* 0E5844 7F0B0D14 AFB00028 */ sw $s0, 0x28($sp) -/* 0E5848 7F0B0D18 AFA40048 */ sw $a0, 0x48($sp) -/* 0E584C 7F0B0D1C AFA5004C */ sw $a1, 0x4c($sp) -/* 0E5850 7F0B0D20 AFA60050 */ sw $a2, 0x50($sp) -/* 0E5854 7F0B0D24 AFA40044 */ sw $a0, 0x44($sp) -/* 0E5858 7F0B0D28 AFA00040 */ sw $zero, 0x40($sp) -/* 0E585C 7F0B0D2C 8CE20000 */ lw $v0, ($a3) -/* 0E5860 7F0B0D30 00E08025 */ move $s0, $a3 -/* 0E5864 7F0B0D34 50400016 */ beql $v0, $zero, .L7F0B0D90 -/* 0E5868 7F0B0D38 8FA30060 */ lw $v1, 0x60($sp) -/* 0E586C 7F0B0D3C 90860003 */ lbu $a2, 3($a0) -/* 0E5870 7F0B0D40 90470003 */ lbu $a3, 3($v0) -/* 0E5874 7F0B0D44 8FA30060 */ lw $v1, 0x60($sp) -/* 0E5878 7F0B0D48 24020001 */ li $v0, 1 -/* 0E587C 7F0B0D4C 14C70003 */ bne $a2, $a3, .L7F0B0D5C -/* 0E5880 7F0B0D50 30C400FF */ andi $a0, $a2, 0xff -/* 0E5884 7F0B0D54 1000002E */ b .L7F0B0E10 -/* 0E5888 7F0B0D58 AC660000 */ sw $a2, ($v1) -.L7F0B0D5C: -/* 0E588C 7F0B0D5C 0FC2E3F4 */ jal sub_GAME_7F0B8FD0 -/* 0E5890 7F0B0D60 30E500FF */ andi $a1, $a3, 0xff -/* 0E5894 7F0B0D64 10400009 */ beqz $v0, .L7F0B0D8C -/* 0E5898 7F0B0D68 8FAF0048 */ lw $t7, 0x48($sp) -/* 0E589C 7F0B0D6C 8FA30060 */ lw $v1, 0x60($sp) -/* 0E58A0 7F0B0D70 91F80003 */ lbu $t8, 3($t7) -/* 0E58A4 7F0B0D74 24020002 */ li $v0, 2 -/* 0E58A8 7F0B0D78 AC780000 */ sw $t8, ($v1) -/* 0E58AC 7F0B0D7C 8E190000 */ lw $t9, ($s0) -/* 0E58B0 7F0B0D80 93280003 */ lbu $t0, 3($t9) -/* 0E58B4 7F0B0D84 10000022 */ b .L7F0B0E10 -/* 0E58B8 7F0B0D88 AC680004 */ sw $t0, 4($v1) -.L7F0B0D8C: -/* 0E58BC 7F0B0D8C 8FA30060 */ lw $v1, 0x60($sp) -.L7F0B0D90: -/* 0E58C0 7F0B0D90 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 0E58C4 7F0B0D94 8FAA0064 */ lw $t2, 0x64($sp) -/* 0E58C8 7F0B0D98 27A90040 */ addiu $t1, $sp, 0x40 -/* 0E58CC 7F0B0D9C AFA90018 */ sw $t1, 0x18($sp) -/* 0E58D0 7F0B0DA0 27A40044 */ addiu $a0, $sp, 0x44 -/* 0E58D4 7F0B0DA4 8FA5004C */ lw $a1, 0x4c($sp) -/* 0E58D8 7F0B0DA8 8FA60050 */ lw $a2, 0x50($sp) -/* 0E58DC 7F0B0DAC 8FA70058 */ lw $a3, 0x58($sp) -/* 0E58E0 7F0B0DB0 AFA30014 */ sw $v1, 0x14($sp) -/* 0E58E4 7F0B0DB4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0E58E8 7F0B0DB8 0FC2C309 */ jal sub_GAME_7F0B0C24 -/* 0E58EC 7F0B0DBC AFAA001C */ sw $t2, 0x1c($sp) -/* 0E58F0 7F0B0DC0 14400003 */ bnez $v0, .L7F0B0DD0 -/* 0E58F4 7F0B0DC4 8FA30064 */ lw $v1, 0x64($sp) -/* 0E58F8 7F0B0DC8 10000011 */ b .L7F0B0E10 -/* 0E58FC 7F0B0DCC 00001025 */ move $v0, $zero -.L7F0B0DD0: -/* 0E5900 7F0B0DD0 8FAB0040 */ lw $t3, 0x40($sp) -/* 0E5904 7F0B0DD4 006B082A */ slt $at, $v1, $t3 -/* 0E5908 7F0B0DD8 50200003 */ beql $at, $zero, .L7F0B0DE8 -/* 0E590C 7F0B0DDC 8E020000 */ lw $v0, ($s0) -/* 0E5910 7F0B0DE0 AFA30040 */ sw $v1, 0x40($sp) -/* 0E5914 7F0B0DE4 8E020000 */ lw $v0, ($s0) -.L7F0B0DE8: -/* 0E5918 7F0B0DE8 54400004 */ bnezl $v0, .L7F0B0DFC -/* 0E591C 7F0B0DEC 8FAD0044 */ lw $t5, 0x44($sp) -/* 0E5920 7F0B0DF0 8FA20044 */ lw $v0, 0x44($sp) -/* 0E5924 7F0B0DF4 AE020000 */ sw $v0, ($s0) -/* 0E5928 7F0B0DF8 8FAD0044 */ lw $t5, 0x44($sp) -.L7F0B0DFC: -/* 0E592C 7F0B0DFC 51A20004 */ beql $t5, $v0, .L7F0B0E10 -/* 0E5930 7F0B0E00 8FA20040 */ lw $v0, 0x40($sp) -/* 0E5934 7F0B0E04 10000002 */ b .L7F0B0E10 -/* 0E5938 7F0B0E08 00001025 */ move $v0, $zero -/* 0E593C 7F0B0E0C 8FA20040 */ lw $v0, 0x40($sp) -.L7F0B0E10: -/* 0E5940 7F0B0E10 8FBF002C */ lw $ra, 0x2c($sp) -/* 0E5944 7F0B0E14 8FB00028 */ lw $s0, 0x28($sp) -/* 0E5948 7F0B0E18 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0E594C 7F0B0E1C 03E00008 */ jr $ra -/* 0E5950 7F0B0E20 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B0E24(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B0E24 -/* 0E5954 7F0B0E24 27BDFEA0 */ addiu $sp, $sp, -0x160 -/* 0E5958 7F0B0E28 C7A40178 */ lwc1 $f4, 0x178($sp) -/* 0E595C 7F0B0E2C C7A6017C */ lwc1 $f6, 0x17c($sp) -/* 0E5960 7F0B0E30 F7BC0048 */ sdc1 $f28, 0x48($sp) -/* 0E5964 7F0B0E34 F7B80038 */ sdc1 $f24, 0x38($sp) -/* 0E5968 7F0B0E38 4604303E */ c.le.s $f6, $f4 -/* 0E596C 7F0B0E3C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E5970 7F0B0E40 4487C000 */ mtc1 $a3, $f24 -/* 0E5974 7F0B0E44 AFB00058 */ sw $s0, 0x58($sp) -/* 0E5978 7F0B0E48 F7BA0040 */ sdc1 $f26, 0x40($sp) -/* 0E597C 7F0B0E4C 44856000 */ mtc1 $a1, $f12 -/* 0E5980 7F0B0E50 44867000 */ mtc1 $a2, $f14 -/* 0E5984 7F0B0E54 4481E000 */ mtc1 $at, $f28 -/* 0E5988 7F0B0E58 C7BA0170 */ lwc1 $f26, 0x170($sp) -/* 0E598C 7F0B0E5C 27B000D0 */ addiu $s0, $sp, 0xd0 -/* 0E5990 7F0B0E60 AFBF007C */ sw $ra, 0x7c($sp) -/* 0E5994 7F0B0E64 AFBE0078 */ sw $fp, 0x78($sp) -/* 0E5998 7F0B0E68 AFB70074 */ sw $s7, 0x74($sp) -/* 0E599C 7F0B0E6C AFB60070 */ sw $s6, 0x70($sp) -/* 0E59A0 7F0B0E70 AFB5006C */ sw $s5, 0x6c($sp) -/* 0E59A4 7F0B0E74 AFB40068 */ sw $s4, 0x68($sp) -/* 0E59A8 7F0B0E78 AFB30064 */ sw $s3, 0x64($sp) -/* 0E59AC 7F0B0E7C AFB20060 */ sw $s2, 0x60($sp) -/* 0E59B0 7F0B0E80 AFB1005C */ sw $s1, 0x5c($sp) -/* 0E59B4 7F0B0E84 F7BE0050 */ sdc1 $f30, 0x50($sp) -/* 0E59B8 7F0B0E88 F7B60030 */ sdc1 $f22, 0x30($sp) -/* 0E59BC 7F0B0E8C F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0E59C0 7F0B0E90 AFA40160 */ sw $a0, 0x160($sp) -/* 0E59C4 7F0B0E94 AFA00124 */ sw $zero, 0x124($sp) -/* 0E59C8 7F0B0E98 45000002 */ bc1f .L7F0B0EA4 -/* 0E59CC 7F0B0E9C 00007025 */ move $t6, $zero -/* 0E59D0 7F0B0EA0 240E0001 */ li $t6, 1 -.L7F0B0EA4: -/* 0E59D4 7F0B0EA4 8FAF0160 */ lw $t7, 0x160($sp) -/* 0E59D8 7F0B0EA8 AFAE00CC */ sw $t6, 0xcc($sp) -/* 0E59DC 7F0B0EAC 44056000 */ mfc1 $a1, $f12 -/* 0E59E0 7F0B0EB0 8DF80000 */ lw $t8, ($t7) -/* 0E59E4 7F0B0EB4 44067000 */ mfc1 $a2, $f14 -/* 0E59E8 7F0B0EB8 4407C000 */ mfc1 $a3, $f24 -/* 0E59EC 7F0B0EBC 27B90124 */ addiu $t9, $sp, 0x124 -/* 0E59F0 7F0B0EC0 240B0014 */ li $t3, 20 -/* 0E59F4 7F0B0EC4 0000A825 */ move $s5, $zero -/* 0E59F8 7F0B0EC8 E7AC014C */ swc1 $f12, 0x14c($sp) -/* 0E59FC 7F0B0ECC E7AE0150 */ swc1 $f14, 0x150($sp) -/* 0E5A00 7F0B0ED0 E7B80144 */ swc1 $f24, 0x144($sp) -/* 0E5A04 7F0B0ED4 E7BA0148 */ swc1 $f26, 0x148($sp) -/* 0E5A08 7F0B0ED8 AFAB001C */ sw $t3, 0x1c($sp) -/* 0E5A0C 7F0B0EDC AFB90018 */ sw $t9, 0x18($sp) -/* 0E5A10 7F0B0EE0 E7AE0168 */ swc1 $f14, 0x168($sp) -/* 0E5A14 7F0B0EE4 E7AC0164 */ swc1 $f12, 0x164($sp) -/* 0E5A18 7F0B0EE8 AFB00014 */ sw $s0, 0x14($sp) -/* 0E5A1C 7F0B0EEC E7BA0010 */ swc1 $f26, 0x10($sp) -/* 0E5A20 7F0B0EF0 27A40154 */ addiu $a0, $sp, 0x154 -/* 0E5A24 7F0B0EF4 0FC2C309 */ jal sub_GAME_7F0B0C24 -/* 0E5A28 7F0B0EF8 AFB80154 */ sw $t8, 0x154($sp) -/* 0E5A2C 7F0B0EFC 8FAC0124 */ lw $t4, 0x124($sp) -/* 0E5A30 7F0B0F00 3C078008 */ lui $a3, %hi(flt_CODE_bss_8007B9F8) -/* 0E5A34 7F0B0F04 AFA20158 */ sw $v0, 0x158($sp) -/* 0E5A38 7F0B0F08 29810015 */ slti $at, $t4, 0x15 -/* 0E5A3C 7F0B0F0C 14200003 */ bnez $at, .L7F0B0F1C -/* 0E5A40 7F0B0F10 24E7B9F8 */ addiu $a3, %lo(flt_CODE_bss_8007B9F8) # addiu $a3, $a3, -0x4608 -/* 0E5A44 7F0B0F14 240D0014 */ li $t5, 20 -/* 0E5A48 7F0B0F18 AFAD0124 */ sw $t5, 0x124($sp) -.L7F0B0F1C: -/* 0E5A4C 7F0B0F1C 1440003B */ bnez $v0, .L7F0B100C -/* 0E5A50 7F0B0F20 3C1E8008 */ lui $fp, %hi(flt_CODE_bss_8007B9F0) -/* 0E5A54 7F0B0F24 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007B9E4) -/* 0E5A58 7F0B0F28 8C42B9E4 */ lw $v0, %lo(dword_CODE_bss_8007B9E4)($v0) -/* 0E5A5C 7F0B0F2C 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007B9E8) -/* 0E5A60 7F0B0F30 8C63B9E8 */ lw $v1, %lo(dword_CODE_bss_8007B9E8)($v1) -/* 0E5A64 7F0B0F34 844F0006 */ lh $t7, 6($v0) -/* 0E5A68 7F0B0F38 240B0001 */ li $t3, 1 -/* 0E5A6C 7F0B0F3C 246E0001 */ addiu $t6, $v1, 1 -/* 0E5A70 7F0B0F40 000FC303 */ sra $t8, $t7, 0xc -/* 0E5A74 7F0B0F44 3319000F */ andi $t9, $t8, 0xf -/* 0E5A78 7F0B0F48 01D9001A */ div $zero, $t6, $t9 -/* 0E5A7C 7F0B0F4C 000360C0 */ sll $t4, $v1, 3 -/* 0E5A80 7F0B0F50 004C4021 */ addu $t0, $v0, $t4 -/* 0E5A84 7F0B0F54 27DEB9F0 */ addiu $fp, %lo(flt_CODE_bss_8007B9F0) # addiu $fp, $fp, -0x4610 -/* 0E5A88 7F0B0F58 17200002 */ bnez $t9, .L7F0B0F64 -/* 0E5A8C 7F0B0F5C 00000000 */ nop -/* 0E5A90 7F0B0F60 0007000D */ break 7 -.L7F0B0F64: -/* 0E5A94 7F0B0F64 2401FFFF */ li $at, -1 -/* 0E5A98 7F0B0F68 17210004 */ bne $t9, $at, .L7F0B0F7C -/* 0E5A9C 7F0B0F6C 3C018000 */ lui $at, 0x8000 -/* 0E5AA0 7F0B0F70 15C10002 */ bne $t6, $at, .L7F0B0F7C -/* 0E5AA4 7F0B0F74 00000000 */ nop -/* 0E5AA8 7F0B0F78 0006000D */ break 6 -.L7F0B0F7C: -/* 0E5AAC 7F0B0F7C 3C018004 */ lui $at, %hi(D_800413BC) -/* 0E5AB0 7F0B0F80 AC2B13BC */ sw $t3, %lo(D_800413BC)($at) -/* 0E5AB4 7F0B0F84 850D0008 */ lh $t5, 8($t0) -/* 0E5AB8 7F0B0F88 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E5ABC 7F0B0F8C C4200F48 */ lwc1 $f0, %lo(D_80040F48)($at) -/* 0E5AC0 7F0B0F90 448D4000 */ mtc1 $t5, $f8 -/* 0E5AC4 7F0B0F94 00005010 */ mfhi $t2 -/* 0E5AC8 7F0B0F98 000AC0C0 */ sll $t8, $t2, 3 -/* 0E5ACC 7F0B0F9C 468042A0 */ cvt.s.w $f10, $f8 -/* 0E5AD0 7F0B0FA0 00584821 */ addu $t1, $v0, $t8 -/* 0E5AD4 7F0B0FA4 03C03025 */ move $a2, $fp -/* 0E5AD8 7F0B0FA8 27A4014C */ addiu $a0, $sp, 0x14c -/* 0E5ADC 7F0B0FAC 27A50144 */ addiu $a1, $sp, 0x144 -/* 0E5AE0 7F0B0FB0 46005482 */ mul.s $f18, $f10, $f0 -/* 0E5AE4 7F0B0FB4 E7D20000 */ swc1 $f18, ($fp) -/* 0E5AE8 7F0B0FB8 850F000C */ lh $t7, 0xc($t0) -/* 0E5AEC 7F0B0FBC 448F2000 */ mtc1 $t7, $f4 -/* 0E5AF0 7F0B0FC0 00000000 */ nop -/* 0E5AF4 7F0B0FC4 468021A0 */ cvt.s.w $f6, $f4 -/* 0E5AF8 7F0B0FC8 46003202 */ mul.s $f8, $f6, $f0 -/* 0E5AFC 7F0B0FCC E7C80004 */ swc1 $f8, 4($fp) -/* 0E5B00 7F0B0FD0 852E0008 */ lh $t6, 8($t1) -/* 0E5B04 7F0B0FD4 448E5000 */ mtc1 $t6, $f10 -/* 0E5B08 7F0B0FD8 00000000 */ nop -/* 0E5B0C 7F0B0FDC 468054A0 */ cvt.s.w $f18, $f10 -/* 0E5B10 7F0B0FE0 46009102 */ mul.s $f4, $f18, $f0 -/* 0E5B14 7F0B0FE4 E4E40000 */ swc1 $f4, ($a3) -/* 0E5B18 7F0B0FE8 8539000C */ lh $t9, 0xc($t1) -/* 0E5B1C 7F0B0FEC 44993000 */ mtc1 $t9, $f6 -/* 0E5B20 7F0B0FF0 00000000 */ nop -/* 0E5B24 7F0B0FF4 46803220 */ cvt.s.w $f8, $f6 -/* 0E5B28 7F0B0FF8 46004282 */ mul.s $f10, $f8, $f0 -/* 0E5B2C 7F0B0FFC 0FC2CC80 */ jal sub_GAME_7F0B3200 -/* 0E5B30 7F0B1000 E4EA0004 */ swc1 $f10, 4($a3) -/* 0E5B34 7F0B1004 10000003 */ b .L7F0B1014 -/* 0E5B38 7F0B1008 46000706 */ mov.s $f28, $f0 -.L7F0B100C: -/* 0E5B3C 7F0B100C 3C1E8008 */ lui $fp, %hi(flt_CODE_bss_8007B9F0) -/* 0E5B40 7F0B1010 27DEB9F0 */ addiu $fp, %lo(flt_CODE_bss_8007B9F0) # addiu $fp, $fp, -0x4610 -.L7F0B1014: -/* 0E5B44 7F0B1014 8FAB0174 */ lw $t3, 0x174($sp) -/* 0E5B48 7F0B1018 3C178008 */ lui $s7, %hi(dword_CODE_bss_8007BA04) -/* 0E5B4C 7F0B101C 26F7BA04 */ addiu $s7, %lo(dword_CODE_bss_8007BA04) # addiu $s7, $s7, -0x45fc -/* 0E5B50 7F0B1020 116000CF */ beqz $t3, .L7F0B1360 -/* 0E5B54 7F0B1024 AEE00000 */ sw $zero, ($s7) -/* 0E5B58 7F0B1028 8FAD0124 */ lw $t5, 0x124($sp) -/* 0E5B5C 7F0B102C 240CFFFF */ li $t4, -1 -/* 0E5B60 7F0B1030 02002025 */ move $a0, $s0 -/* 0E5B64 7F0B1034 000D7880 */ sll $t7, $t5, 2 -/* 0E5B68 7F0B1038 020FC021 */ addu $t8, $s0, $t7 -/* 0E5B6C 7F0B103C 0FC0F8FF */ jal sub_GAME_7F03E3FC -/* 0E5B70 7F0B1040 AF0C0000 */ sw $t4, ($t8) -/* 0E5B74 7F0B1044 3C038007 */ lui $v1, %hi(ptr_list_object_lookup_indices) -/* 0E5B78 7F0B1048 8C639C30 */ lw $v1, %lo(ptr_list_object_lookup_indices)($v1) -/* 0E5B7C 7F0B104C 27B4012C */ addiu $s4, $sp, 0x12c -/* 0E5B80 7F0B1050 27B30134 */ addiu $s3, $sp, 0x134 -/* 0E5B84 7F0B1054 84620000 */ lh $v0, ($v1) -/* 0E5B88 7F0B1058 044200C2 */ bltzl $v0, .L7F0B1364 -/* 0E5B8C 7F0B105C 8FAC0154 */ lw $t4, 0x154($sp) -/* 0E5B90 7F0B1060 AFA300B8 */ sw $v1, 0xb8($sp) -/* 0E5B94 7F0B1064 C7BE00C4 */ lwc1 $f30, 0xc4($sp) -.L7F0B1068: -/* 0E5B98 7F0B1068 00027080 */ sll $t6, $v0, 2 -/* 0E5B9C 7F0B106C 01C27023 */ subu $t6, $t6, $v0 -/* 0E5BA0 7F0B1070 000E7080 */ sll $t6, $t6, 2 -/* 0E5BA4 7F0B1074 01C27021 */ addu $t6, $t6, $v0 -/* 0E5BA8 7F0B1078 3C198007 */ lui $t9, %hi(pos_data_entry) -/* 0E5BAC 7F0B107C 27399C38 */ addiu $t9, %lo(pos_data_entry) # addiu $t9, $t9, -0x63c8 -/* 0E5BB0 7F0B1080 000E7080 */ sll $t6, $t6, 2 -/* 0E5BB4 7F0B1084 01D9B021 */ addu $s6, $t6, $t9 -/* 0E5BB8 7F0B1088 02C02025 */ move $a0, $s6 -/* 0E5BBC 7F0B108C 0FC0F694 */ jal sub_GAME_7F03DA50 -/* 0E5BC0 7F0B1090 8FA50174 */ lw $a1, 0x174($sp) -/* 0E5BC4 7F0B1094 104000AB */ beqz $v0, .L7F0B1344 -/* 0E5BC8 7F0B1098 C7B000C0 */ lwc1 $f16, 0xc0($sp) -/* 0E5BCC 7F0B109C 27AB00A0 */ addiu $t3, $sp, 0xa0 -/* 0E5BD0 7F0B10A0 AFAB0010 */ sw $t3, 0x10($sp) -/* 0E5BD4 7F0B10A4 02C02025 */ move $a0, $s6 -/* 0E5BD8 7F0B10A8 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 0E5BDC 7F0B10AC 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 0E5BE0 7F0B10B0 27A700A4 */ addiu $a3, $sp, 0xa4 -/* 0E5BE4 7F0B10B4 0FC0F308 */ jal sub_GAME_7F03CC20 -/* 0E5BE8 7F0B10B8 E7B000C0 */ swc1 $f16, 0xc0($sp) -/* 0E5BEC 7F0B10BC 8FA200B0 */ lw $v0, 0xb0($sp) -/* 0E5BF0 7F0B10C0 C7B000C0 */ lwc1 $f16, 0xc0($sp) -/* 0E5BF4 7F0B10C4 584000A0 */ blezl $v0, .L7F0B1348 -/* 0E5BF8 7F0B10C8 8FA300B8 */ lw $v1, 0xb8($sp) -/* 0E5BFC 7F0B10CC 1840009D */ blez $v0, .L7F0B1344 -/* 0E5C00 7F0B10D0 00002825 */ move $a1, $zero -/* 0E5C04 7F0B10D4 00008825 */ move $s1, $zero -/* 0E5C08 7F0B10D8 8FAD00B0 */ lw $t5, 0xb0($sp) -.L7F0B10DC: -/* 0E5C0C 7F0B10DC 24B20001 */ addiu $s2, $a1, 1 -/* 0E5C10 7F0B10E0 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 0E5C14 7F0B10E4 024D001A */ div $zero, $s2, $t5 -/* 0E5C18 7F0B10E8 01F11821 */ addu $v1, $t7, $s1 -/* 0E5C1C 7F0B10EC C4720000 */ lwc1 $f18, ($v1) -/* 0E5C20 7F0B10F0 00001010 */ mfhi $v0 -/* 0E5C24 7F0B10F4 000260C0 */ sll $t4, $v0, 3 -/* 0E5C28 7F0B10F8 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0E5C2C 7F0B10FC C4640004 */ lwc1 $f4, 4($v1) -/* 0E5C30 7F0B1100 01EC2021 */ addu $a0, $t7, $t4 -/* 0E5C34 7F0B1104 4406C000 */ mfc1 $a2, $f24 -/* 0E5C38 7F0B1108 E7A40014 */ swc1 $f4, 0x14($sp) -/* 0E5C3C 7F0B110C C4860000 */ lwc1 $f6, ($a0) -/* 0E5C40 7F0B1110 4407D000 */ mfc1 $a3, $f26 -/* 0E5C44 7F0B1114 15A00002 */ bnez $t5, .L7F0B1120 -/* 0E5C48 7F0B1118 00000000 */ nop -/* 0E5C4C 7F0B111C 0007000D */ break 7 -.L7F0B1120: -/* 0E5C50 7F0B1120 2401FFFF */ li $at, -1 -/* 0E5C54 7F0B1124 15A10004 */ bne $t5, $at, .L7F0B1138 -/* 0E5C58 7F0B1128 3C018000 */ li $at, 0x80000000 # -0.000000 -/* 0E5C5C 7F0B112C 16410002 */ bne $s2, $at, .L7F0B1138 -/* 0E5C60 7F0B1130 00000000 */ nop -/* 0E5C64 7F0B1134 0006000D */ break 6 -.L7F0B1138: -/* 0E5C68 7F0B1138 E7A60018 */ swc1 $f6, 0x18($sp) -/* 0E5C6C 7F0B113C C4880004 */ lwc1 $f8, 4($a0) -/* 0E5C70 7F0B1140 00408025 */ move $s0, $v0 -/* 0E5C74 7F0B1144 E7B000C0 */ swc1 $f16, 0xc0($sp) -/* 0E5C78 7F0B1148 C7AC0164 */ lwc1 $f12, 0x164($sp) -/* 0E5C7C 7F0B114C C7AE0168 */ lwc1 $f14, 0x168($sp) -/* 0E5C80 7F0B1150 0FC2C1A2 */ jal sub_GAME_7F0B0688 -/* 0E5C84 7F0B1154 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 0E5C88 7F0B1158 10400074 */ beqz $v0, .L7F0B132C -/* 0E5C8C 7F0B115C C7B000C0 */ lwc1 $f16, 0xc0($sp) -/* 0E5C90 7F0B1160 8FB800B4 */ lw $t8, 0xb4($sp) -/* 0E5C94 7F0B1164 001070C0 */ sll $t6, $s0, 3 -/* 0E5C98 7F0B1168 27A4014C */ addiu $a0, $sp, 0x14c -/* 0E5C9C 7F0B116C 03111821 */ addu $v1, $t8, $s1 -/* 0E5CA0 7F0B1170 C46A0000 */ lwc1 $f10, ($v1) -/* 0E5CA4 7F0B1174 030E1021 */ addu $v0, $t8, $t6 -/* 0E5CA8 7F0B1178 27A50144 */ addiu $a1, $sp, 0x144 -/* 0E5CAC 7F0B117C E7AA0134 */ swc1 $f10, 0x134($sp) -/* 0E5CB0 7F0B1180 C4720004 */ lwc1 $f18, 4($v1) -/* 0E5CB4 7F0B1184 02603025 */ move $a2, $s3 -/* 0E5CB8 7F0B1188 02803825 */ move $a3, $s4 -/* 0E5CBC 7F0B118C E7B20138 */ swc1 $f18, 0x138($sp) -/* 0E5CC0 7F0B1190 C4440000 */ lwc1 $f4, ($v0) -/* 0E5CC4 7F0B1194 E7A4012C */ swc1 $f4, 0x12c($sp) -/* 0E5CC8 7F0B1198 C4460004 */ lwc1 $f6, 4($v0) -/* 0E5CCC 7F0B119C E7B000C0 */ swc1 $f16, 0xc0($sp) -/* 0E5CD0 7F0B11A0 0FC2CC80 */ jal sub_GAME_7F0B3200 -/* 0E5CD4 7F0B11A4 E7A60130 */ swc1 $f6, 0x130($sp) -/* 0E5CD8 7F0B11A8 461C003C */ c.lt.s $f0, $f28 -/* 0E5CDC 7F0B11AC C7B000C0 */ lwc1 $f16, 0xc0($sp) -/* 0E5CE0 7F0B11B0 46000586 */ mov.s $f22, $f0 -/* 0E5CE4 7F0B11B4 4502005E */ bc1fl .L7F0B1330 -/* 0E5CE8 7F0B11B8 8FA200B0 */ lw $v0, 0xb0($sp) -/* 0E5CEC 7F0B11BC 8FB900CC */ lw $t9, 0xcc($sp) -/* 0E5CF0 7F0B11C0 24100001 */ li $s0, 1 -/* 0E5CF4 7F0B11C4 13200043 */ beqz $t9, .L7F0B12D4 -/* 0E5CF8 7F0B11C8 00000000 */ nop -/* 0E5CFC 7F0B11CC 16A00030 */ bnez $s5, .L7F0B1290 -/* 0E5D00 7F0B11D0 C7A80180 */ lwc1 $f8, 0x180($sp) -/* 0E5D04 7F0B11D4 C7AA0184 */ lwc1 $f10, 0x184($sp) -/* 0E5D08 7F0B11D8 24150001 */ li $s5, 1 -/* 0E5D0C 7F0B11DC C7B20178 */ lwc1 $f18, 0x178($sp) -/* 0E5D10 7F0B11E0 4608503E */ c.le.s $f10, $f8 -/* 0E5D14 7F0B11E4 C7A4017C */ lwc1 $f4, 0x17c($sp) -/* 0E5D18 7F0B11E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E5D1C 7F0B11EC 45020005 */ bc1fl .L7F0B1204 -/* 0E5D20 7F0B11F0 44813000 */ mtc1 $at, $f6 -/* 0E5D24 7F0B11F4 46124781 */ sub.s $f30, $f8, $f18 -/* 0E5D28 7F0B11F8 10000025 */ b .L7F0B1290 -/* 0E5D2C 7F0B11FC 46045401 */ sub.s $f16, $f10, $f4 -/* 0E5D30 7F0B1200 44813000 */ mtc1 $at, $f6 -.L7F0B1204: -/* 0E5D34 7F0B1204 C7A00164 */ lwc1 $f0, 0x164($sp) -/* 0E5D38 7F0B1208 C7A20168 */ lwc1 $f2, 0x168($sp) -/* 0E5D3C 7F0B120C 4606E03C */ c.lt.s $f28, $f6 -/* 0E5D40 7F0B1210 00000000 */ nop -/* 0E5D44 7F0B1214 45020009 */ bc1fl .L7F0B123C -/* 0E5D48 7F0B1218 C7A00164 */ lwc1 $f0, 0x164($sp) -/* 0E5D4C 7F0B121C 4600C601 */ sub.s $f24, $f24, $f0 -/* 0E5D50 7F0B1220 4602D681 */ sub.s $f26, $f26, $f2 -/* 0E5D54 7F0B1224 461CC602 */ mul.s $f24, $f24, $f28 -/* 0E5D58 7F0B1228 00000000 */ nop -/* 0E5D5C 7F0B122C 461CD682 */ mul.s $f26, $f26, $f28 -/* 0E5D60 7F0B1230 46180600 */ add.s $f24, $f0, $f24 -/* 0E5D64 7F0B1234 461A1680 */ add.s $f26, $f2, $f26 -/* 0E5D68 7F0B1238 C7A00164 */ lwc1 $f0, 0x164($sp) -.L7F0B123C: -/* 0E5D6C 7F0B123C C7A20168 */ lwc1 $f2, 0x168($sp) -/* 0E5D70 7F0B1240 8FAB0160 */ lw $t3, 0x160($sp) -/* 0E5D74 7F0B1244 44050000 */ mfc1 $a1, $f0 -/* 0E5D78 7F0B1248 44061000 */ mfc1 $a2, $f2 -/* 0E5D7C 7F0B124C 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0E5D80 7F0B1250 8D640000 */ lw $a0, ($t3) -/* 0E5D84 7F0B1254 C7A80178 */ lwc1 $f8, 0x178($sp) -/* 0E5D88 7F0B1258 C7AA017C */ lwc1 $f10, 0x17c($sp) -/* 0E5D8C 7F0B125C 4405C000 */ mfc1 $a1, $f24 -/* 0E5D90 7F0B1260 46004480 */ add.s $f18, $f8, $f0 -/* 0E5D94 7F0B1264 4406D000 */ mfc1 $a2, $f26 -/* 0E5D98 7F0B1268 46000506 */ mov.s $f20, $f0 -/* 0E5D9C 7F0B126C 46005100 */ add.s $f4, $f10, $f0 -/* 0E5DA0 7F0B1270 E7B20178 */ swc1 $f18, 0x178($sp) -/* 0E5DA4 7F0B1274 8FA40154 */ lw $a0, 0x154($sp) -/* 0E5DA8 7F0B1278 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0E5DAC 7F0B127C E7A4017C */ swc1 $f4, 0x17c($sp) -/* 0E5DB0 7F0B1280 46140181 */ sub.s $f6, $f0, $f20 -/* 0E5DB4 7F0B1284 461C3083 */ div.s $f2, $f6, $f28 -/* 0E5DB8 7F0B1288 46001406 */ mov.s $f16, $f2 -/* 0E5DBC 7F0B128C 46001786 */ mov.s $f30, $f2 -.L7F0B1290: -/* 0E5DC0 7F0B1290 46168202 */ mul.s $f8, $f16, $f22 -/* 0E5DC4 7F0B1294 C7B2017C */ lwc1 $f18, 0x17c($sp) -/* 0E5DC8 7F0B1298 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 0E5DCC 7F0B129C 46124280 */ add.s $f10, $f8, $f18 -/* 0E5DD0 7F0B12A0 460A203E */ c.le.s $f4, $f10 -/* 0E5DD4 7F0B12A4 00000000 */ nop -/* 0E5DD8 7F0B12A8 4503000A */ bc1tl .L7F0B12D4 -/* 0E5DDC 7F0B12AC 00008025 */ move $s0, $zero -/* 0E5DE0 7F0B12B0 4616F202 */ mul.s $f8, $f30, $f22 -/* 0E5DE4 7F0B12B4 C7B20178 */ lwc1 $f18, 0x178($sp) -/* 0E5DE8 7F0B12B8 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 0E5DEC 7F0B12BC 46124280 */ add.s $f10, $f8, $f18 -/* 0E5DF0 7F0B12C0 4606503E */ c.le.s $f10, $f6 -/* 0E5DF4 7F0B12C4 00000000 */ nop -/* 0E5DF8 7F0B12C8 45000002 */ bc1f .L7F0B12D4 -/* 0E5DFC 7F0B12CC 00000000 */ nop -/* 0E5E00 7F0B12D0 00008025 */ move $s0, $zero -.L7F0B12D4: -/* 0E5E04 7F0B12D4 12000015 */ beqz $s0, .L7F0B132C -/* 0E5E08 7F0B12D8 240D0001 */ li $t5, 1 -/* 0E5E0C 7F0B12DC 3C018004 */ lui $at, %hi(D_800413BC) -/* 0E5E10 7F0B12E0 AFA00158 */ sw $zero, 0x158($sp) -/* 0E5E14 7F0B12E4 AC2D13BC */ sw $t5, %lo(D_800413BC)($at) -/* 0E5E18 7F0B12E8 8E610000 */ lw $at, ($s3) -/* 0E5E1C 7F0B12EC 8E780004 */ lw $t8, 4($s3) -/* 0E5E20 7F0B12F0 3C0E8008 */ lui $t6, %hi(flt_CODE_bss_8007B9F8) -/* 0E5E24 7F0B12F4 AFC10000 */ sw $at, ($fp) -/* 0E5E28 7F0B12F8 8E810000 */ lw $at, ($s4) -/* 0E5E2C 7F0B12FC 25CEB9F8 */ addiu $t6, %lo(flt_CODE_bss_8007B9F8) # addiu $t6, $t6, -0x4608 -/* 0E5E30 7F0B1300 AFD80004 */ sw $t8, 4($fp) -/* 0E5E34 7F0B1304 ADC10000 */ sw $at, ($t6) -/* 0E5E38 7F0B1308 8E8D0004 */ lw $t5, 4($s4) -/* 0E5E3C 7F0B130C 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B9E4) -/* 0E5E40 7F0B1310 4600B706 */ mov.s $f28, $f22 -/* 0E5E44 7F0B1314 ADCD0004 */ sw $t5, 4($t6) -/* 0E5E48 7F0B1318 AC20B9E4 */ sw $zero, %lo(dword_CODE_bss_8007B9E4)($at) -/* 0E5E4C 7F0B131C 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B9E8) -/* 0E5E50 7F0B1320 AC20B9E8 */ sw $zero, %lo(dword_CODE_bss_8007B9E8)($at) -/* 0E5E54 7F0B1324 AEF60000 */ sw $s6, ($s7) -/* 0E5E58 7F0B1328 AFA00154 */ sw $zero, 0x154($sp) -.L7F0B132C: -/* 0E5E5C 7F0B132C 8FA200B0 */ lw $v0, 0xb0($sp) -.L7F0B1330: -/* 0E5E60 7F0B1330 02402825 */ move $a1, $s2 -/* 0E5E64 7F0B1334 26310008 */ addiu $s1, $s1, 8 -/* 0E5E68 7F0B1338 0242082A */ slt $at, $s2, $v0 -/* 0E5E6C 7F0B133C 5420FF67 */ bnezl $at, .L7F0B10DC -/* 0E5E70 7F0B1340 8FAD00B0 */ lw $t5, 0xb0($sp) -.L7F0B1344: -/* 0E5E74 7F0B1344 8FA300B8 */ lw $v1, 0xb8($sp) -.L7F0B1348: -/* 0E5E78 7F0B1348 84620002 */ lh $v0, 2($v1) -/* 0E5E7C 7F0B134C 24630002 */ addiu $v1, $v1, 2 -/* 0E5E80 7F0B1350 AFA300B8 */ sw $v1, 0xb8($sp) -/* 0E5E84 7F0B1354 0441FF44 */ bgez $v0, .L7F0B1068 -/* 0E5E88 7F0B1358 E7B000C0 */ swc1 $f16, 0xc0($sp) -/* 0E5E8C 7F0B135C E7BE00C4 */ swc1 $f30, 0xc4($sp) -.L7F0B1360: -/* 0E5E90 7F0B1360 8FAC0154 */ lw $t4, 0x154($sp) -.L7F0B1364: -/* 0E5E94 7F0B1364 C7A00164 */ lwc1 $f0, 0x164($sp) -/* 0E5E98 7F0B1368 C7A20168 */ lwc1 $f2, 0x168($sp) -/* 0E5E9C 7F0B136C 55800011 */ bnezl $t4, .L7F0B13B4 -/* 0E5EA0 7F0B1370 8FAB0154 */ lw $t3, 0x154($sp) -/* 0E5EA4 7F0B1374 4600C601 */ sub.s $f24, $f24, $f0 -/* 0E5EA8 7F0B1378 8FAF0160 */ lw $t7, 0x160($sp) -/* 0E5EAC 7F0B137C 44050000 */ mfc1 $a1, $f0 -/* 0E5EB0 7F0B1380 4602D681 */ sub.s $f26, $f26, $f2 -/* 0E5EB4 7F0B1384 461CC602 */ mul.s $f24, $f24, $f28 -/* 0E5EB8 7F0B1388 8DF80000 */ lw $t8, ($t7) -/* 0E5EBC 7F0B138C 44061000 */ mfc1 $a2, $f2 -/* 0E5EC0 7F0B1390 461CD682 */ mul.s $f26, $f26, $f28 -/* 0E5EC4 7F0B1394 27A40154 */ addiu $a0, $sp, 0x154 -/* 0E5EC8 7F0B1398 AFB80154 */ sw $t8, 0x154($sp) -/* 0E5ECC 7F0B139C 46180600 */ add.s $f24, $f0, $f24 -/* 0E5ED0 7F0B13A0 461A1680 */ add.s $f26, $f2, $f26 -/* 0E5ED4 7F0B13A4 4407C000 */ mfc1 $a3, $f24 -/* 0E5ED8 7F0B13A8 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0E5EDC 7F0B13AC E7BA0010 */ swc1 $f26, 0x10($sp) -/* 0E5EE0 7F0B13B0 8FAB0154 */ lw $t3, 0x154($sp) -.L7F0B13B4: -/* 0E5EE4 7F0B13B4 8FB90160 */ lw $t9, 0x160($sp) -/* 0E5EE8 7F0B13B8 3C018008 */ lui $at, %hi(flt_CODE_bss_8007BA00) -/* 0E5EEC 7F0B13BC AF2B0000 */ sw $t3, ($t9) -/* 0E5EF0 7F0B13C0 8FBF007C */ lw $ra, 0x7c($sp) -/* 0E5EF4 7F0B13C4 E43CBA00 */ swc1 $f28, %lo(flt_CODE_bss_8007BA00)($at) -/* 0E5EF8 7F0B13C8 D7BC0048 */ ldc1 $f28, 0x48($sp) -/* 0E5EFC 7F0B13CC 8FBE0078 */ lw $fp, 0x78($sp) -/* 0E5F00 7F0B13D0 8FB70074 */ lw $s7, 0x74($sp) -/* 0E5F04 7F0B13D4 8FB60070 */ lw $s6, 0x70($sp) -/* 0E5F08 7F0B13D8 8FB5006C */ lw $s5, 0x6c($sp) -/* 0E5F0C 7F0B13DC 8FB40068 */ lw $s4, 0x68($sp) -/* 0E5F10 7F0B13E0 8FB30064 */ lw $s3, 0x64($sp) -/* 0E5F14 7F0B13E4 8FB20060 */ lw $s2, 0x60($sp) -/* 0E5F18 7F0B13E8 8FB1005C */ lw $s1, 0x5c($sp) -/* 0E5F1C 7F0B13EC 8FB00058 */ lw $s0, 0x58($sp) -/* 0E5F20 7F0B13F0 D7BE0050 */ ldc1 $f30, 0x50($sp) -/* 0E5F24 7F0B13F4 D7BA0040 */ ldc1 $f26, 0x40($sp) -/* 0E5F28 7F0B13F8 D7B80038 */ ldc1 $f24, 0x38($sp) -/* 0E5F2C 7F0B13FC D7B60030 */ ldc1 $f22, 0x30($sp) -/* 0E5F30 7F0B1400 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0E5F34 7F0B1404 8FA20158 */ lw $v0, 0x158($sp) -/* 0E5F38 7F0B1408 03E00008 */ jr $ra -/* 0E5F3C 7F0B140C 27BD0160 */ addiu $sp, $sp, 0x160 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B1410(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B1410 -/* 0E5F40 7F0B1410 27BDFED8 */ addiu $sp, $sp, -0x128 -/* 0E5F44 7F0B1414 F7BA0040 */ sdc1 $f26, 0x40($sp) -/* 0E5F48 7F0B1418 F7B80038 */ sdc1 $f24, 0x38($sp) -/* 0E5F4C 7F0B141C F7B60030 */ sdc1 $f22, 0x30($sp) -/* 0E5F50 7F0B1420 4485B000 */ mtc1 $a1, $f22 -/* 0E5F54 7F0B1424 4486C000 */ mtc1 $a2, $f24 -/* 0E5F58 7F0B1428 4487D000 */ mtc1 $a3, $f26 -/* 0E5F5C 7F0B142C F7BC0048 */ sdc1 $f28, 0x48($sp) -/* 0E5F60 7F0B1430 C7BC0138 */ lwc1 $f28, 0x138($sp) -/* 0E5F64 7F0B1434 AFB10054 */ sw $s1, 0x54($sp) -/* 0E5F68 7F0B1438 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0E5F6C 7F0B143C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E5F70 7F0B1440 27B10098 */ addiu $s1, $sp, 0x98 -/* 0E5F74 7F0B1444 AFBF0074 */ sw $ra, 0x74($sp) -/* 0E5F78 7F0B1448 AFBE0070 */ sw $fp, 0x70($sp) -/* 0E5F7C 7F0B144C 4481A000 */ mtc1 $at, $f20 -/* 0E5F80 7F0B1450 AFA400F0 */ sw $a0, 0xf0($sp) -/* 0E5F84 7F0B1454 27AE00EC */ addiu $t6, $sp, 0xec -/* 0E5F88 7F0B1458 240F0014 */ li $t7, 20 -/* 0E5F8C 7F0B145C 4405B000 */ mfc1 $a1, $f22 -/* 0E5F90 7F0B1460 4406C000 */ mfc1 $a2, $f24 -/* 0E5F94 7F0B1464 4407D000 */ mfc1 $a3, $f26 -/* 0E5F98 7F0B1468 AFB7006C */ sw $s7, 0x6c($sp) -/* 0E5F9C 7F0B146C AFB60068 */ sw $s6, 0x68($sp) -/* 0E5FA0 7F0B1470 AFB50064 */ sw $s5, 0x64($sp) -/* 0E5FA4 7F0B1474 AFB40060 */ sw $s4, 0x60($sp) -/* 0E5FA8 7F0B1478 AFB3005C */ sw $s3, 0x5c($sp) -/* 0E5FAC 7F0B147C AFB20058 */ sw $s2, 0x58($sp) -/* 0E5FB0 7F0B1480 AFB00050 */ sw $s0, 0x50($sp) -/* 0E5FB4 7F0B1484 0000F025 */ move $fp, $zero -/* 0E5FB8 7F0B1488 AFAF001C */ sw $t7, 0x1c($sp) -/* 0E5FBC 7F0B148C AFAE0018 */ sw $t6, 0x18($sp) -/* 0E5FC0 7F0B1490 27A400F0 */ addiu $a0, $sp, 0xf0 -/* 0E5FC4 7F0B1494 AFB10014 */ sw $s1, 0x14($sp) -/* 0E5FC8 7F0B1498 AFA000EC */ sw $zero, 0xec($sp) -/* 0E5FCC 7F0B149C 0FC2C309 */ jal sub_GAME_7F0B0C24 -/* 0E5FD0 7F0B14A0 E7BC0010 */ swc1 $f28, 0x10($sp) -/* 0E5FD4 7F0B14A4 8FA300EC */ lw $v1, 0xec($sp) -/* 0E5FD8 7F0B14A8 2419FFFF */ li $t9, -1 -/* 0E5FDC 7F0B14AC 02202025 */ move $a0, $s1 -/* 0E5FE0 7F0B14B0 28610015 */ slti $at, $v1, 0x15 -/* 0E5FE4 7F0B14B4 54200003 */ bnezl $at, .L7F0B14C4 -/* 0E5FE8 7F0B14B8 8FB8013C */ lw $t8, 0x13c($sp) -/* 0E5FEC 7F0B14BC 24030014 */ li $v1, 20 -/* 0E5FF0 7F0B14C0 8FB8013C */ lw $t8, 0x13c($sp) -.L7F0B14C4: -/* 0E5FF4 7F0B14C4 E7B60118 */ swc1 $f22, 0x118($sp) -/* 0E5FF8 7F0B14C8 E7B8011C */ swc1 $f24, 0x11c($sp) -/* 0E5FFC 7F0B14CC E7BA0110 */ swc1 $f26, 0x110($sp) -/* 0E6000 7F0B14D0 1300006A */ beqz $t8, .L7F0B167C -/* 0E6004 7F0B14D4 E7BC0114 */ swc1 $f28, 0x114($sp) -/* 0E6008 7F0B14D8 00034080 */ sll $t0, $v1, 2 -/* 0E600C 7F0B14DC 02284821 */ addu $t1, $s1, $t0 -/* 0E6010 7F0B14E0 AD390000 */ sw $t9, ($t1) -/* 0E6014 7F0B14E4 0FC0F8FF */ jal sub_GAME_7F03E3FC -/* 0E6018 7F0B14E8 AFA300EC */ sw $v1, 0xec($sp) -/* 0E601C 7F0B14EC 3C038007 */ lui $v1, %hi(ptr_list_object_lookup_indices) -/* 0E6020 7F0B14F0 8C639C30 */ lw $v1, %lo(ptr_list_object_lookup_indices)($v1) -/* 0E6024 7F0B14F4 27B700F8 */ addiu $s7, $sp, 0xf8 -/* 0E6028 7F0B14F8 27B60100 */ addiu $s6, $sp, 0x100 -/* 0E602C 7F0B14FC 84620000 */ lh $v0, ($v1) -/* 0E6030 7F0B1500 27B50110 */ addiu $s5, $sp, 0x110 -/* 0E6034 7F0B1504 27B40118 */ addiu $s4, $sp, 0x118 -/* 0E6038 7F0B1508 0442005D */ bltzl $v0, .L7F0B1680 -/* 0E603C 7F0B150C 8FBF0074 */ lw $ra, 0x74($sp) -/* 0E6040 7F0B1510 AFA30094 */ sw $v1, 0x94($sp) -/* 0E6044 7F0B1514 00025080 */ sll $t2, $v0, 2 -.L7F0B1518: -/* 0E6048 7F0B1518 01425023 */ subu $t2, $t2, $v0 -/* 0E604C 7F0B151C 000A5080 */ sll $t2, $t2, 2 -/* 0E6050 7F0B1520 01425021 */ addu $t2, $t2, $v0 -/* 0E6054 7F0B1524 3C0B8007 */ lui $t3, %hi(pos_data_entry) -/* 0E6058 7F0B1528 256B9C38 */ addiu $t3, %lo(pos_data_entry) # addiu $t3, $t3, -0x63c8 -/* 0E605C 7F0B152C 000A5080 */ sll $t2, $t2, 2 -/* 0E6060 7F0B1530 014B9821 */ addu $s3, $t2, $t3 -/* 0E6064 7F0B1534 02602025 */ move $a0, $s3 -/* 0E6068 7F0B1538 0FC0F694 */ jal sub_GAME_7F03DA50 -/* 0E606C 7F0B153C 8FA5013C */ lw $a1, 0x13c($sp) -/* 0E6070 7F0B1540 10400048 */ beqz $v0, .L7F0B1664 -/* 0E6074 7F0B1544 02602025 */ move $a0, $s3 -/* 0E6078 7F0B1548 27A50090 */ addiu $a1, $sp, 0x90 -/* 0E607C 7F0B154C 0FC0F32C */ jal sub_GAME_7F03CCB0 -/* 0E6080 7F0B1550 27A6008C */ addiu $a2, $sp, 0x8c -/* 0E6084 7F0B1554 8FA2008C */ lw $v0, 0x8c($sp) -/* 0E6088 7F0B1558 58400043 */ blezl $v0, .L7F0B1668 -/* 0E608C 7F0B155C 8FA30094 */ lw $v1, 0x94($sp) -/* 0E6090 7F0B1560 18400040 */ blez $v0, .L7F0B1664 -/* 0E6094 7F0B1564 00002825 */ move $a1, $zero -/* 0E6098 7F0B1568 00008025 */ move $s0, $zero -/* 0E609C 7F0B156C 8FAC008C */ lw $t4, 0x8c($sp) -.L7F0B1570: -/* 0E60A0 7F0B1570 24B20001 */ addiu $s2, $a1, 1 -/* 0E60A4 7F0B1574 8FAD0090 */ lw $t5, 0x90($sp) -/* 0E60A8 7F0B1578 024C001A */ div $zero, $s2, $t4 -/* 0E60AC 7F0B157C 01B01821 */ addu $v1, $t5, $s0 -/* 0E60B0 7F0B1580 C4640000 */ lwc1 $f4, ($v1) -/* 0E60B4 7F0B1584 00001010 */ mfhi $v0 -/* 0E60B8 7F0B1588 000270C0 */ sll $t6, $v0, 3 -/* 0E60BC 7F0B158C E7A40010 */ swc1 $f4, 0x10($sp) -/* 0E60C0 7F0B1590 C4660004 */ lwc1 $f6, 4($v1) -/* 0E60C4 7F0B1594 01AE2021 */ addu $a0, $t5, $t6 -/* 0E60C8 7F0B1598 4406D000 */ mfc1 $a2, $f26 -/* 0E60CC 7F0B159C E7A60014 */ swc1 $f6, 0x14($sp) -/* 0E60D0 7F0B15A0 C4880000 */ lwc1 $f8, ($a0) -/* 0E60D4 7F0B15A4 4407E000 */ mfc1 $a3, $f28 -/* 0E60D8 7F0B15A8 15800002 */ bnez $t4, .L7F0B15B4 -/* 0E60DC 7F0B15AC 00000000 */ nop -/* 0E60E0 7F0B15B0 0007000D */ break 7 -.L7F0B15B4: -/* 0E60E4 7F0B15B4 2401FFFF */ li $at, -1 -/* 0E60E8 7F0B15B8 15810004 */ bne $t4, $at, .L7F0B15CC -/* 0E60EC 7F0B15BC 3C018000 */ lui $at, 0x8000 -/* 0E60F0 7F0B15C0 16410002 */ bne $s2, $at, .L7F0B15CC -/* 0E60F4 7F0B15C4 00000000 */ nop -/* 0E60F8 7F0B15C8 0006000D */ break 6 -.L7F0B15CC: -/* 0E60FC 7F0B15CC E7A80018 */ swc1 $f8, 0x18($sp) -/* 0E6100 7F0B15D0 C48A0004 */ lwc1 $f10, 4($a0) -/* 0E6104 7F0B15D4 00408825 */ move $s1, $v0 -/* 0E6108 7F0B15D8 4600B306 */ mov.s $f12, $f22 -/* 0E610C 7F0B15DC 4600C386 */ mov.s $f14, $f24 -/* 0E6110 7F0B15E0 0FC2C1A2 */ jal sub_GAME_7F0B0688 -/* 0E6114 7F0B15E4 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0E6118 7F0B15E8 50400019 */ beql $v0, $zero, .L7F0B1650 -/* 0E611C 7F0B15EC 8FA2008C */ lw $v0, 0x8c($sp) -/* 0E6120 7F0B15F0 8FAF0090 */ lw $t7, 0x90($sp) -/* 0E6124 7F0B15F4 0011C0C0 */ sll $t8, $s1, 3 -/* 0E6128 7F0B15F8 02802025 */ move $a0, $s4 -/* 0E612C 7F0B15FC 01F01821 */ addu $v1, $t7, $s0 -/* 0E6130 7F0B1600 C4700000 */ lwc1 $f16, ($v1) -/* 0E6134 7F0B1604 01F81021 */ addu $v0, $t7, $t8 -/* 0E6138 7F0B1608 02A02825 */ move $a1, $s5 -/* 0E613C 7F0B160C E7B00100 */ swc1 $f16, 0x100($sp) -/* 0E6140 7F0B1610 C4720004 */ lwc1 $f18, 4($v1) -/* 0E6144 7F0B1614 02C03025 */ move $a2, $s6 -/* 0E6148 7F0B1618 02E03825 */ move $a3, $s7 -/* 0E614C 7F0B161C E7B20104 */ swc1 $f18, 0x104($sp) -/* 0E6150 7F0B1620 C4440000 */ lwc1 $f4, ($v0) -/* 0E6154 7F0B1624 E7A400F8 */ swc1 $f4, 0xf8($sp) -/* 0E6158 7F0B1628 C4460004 */ lwc1 $f6, 4($v0) -/* 0E615C 7F0B162C 0FC2CC80 */ jal sub_GAME_7F0B3200 -/* 0E6160 7F0B1630 E7A600FC */ swc1 $f6, 0xfc($sp) -/* 0E6164 7F0B1634 4614003C */ c.lt.s $f0, $f20 -/* 0E6168 7F0B1638 00000000 */ nop -/* 0E616C 7F0B163C 45020004 */ bc1fl .L7F0B1650 -/* 0E6170 7F0B1640 8FA2008C */ lw $v0, 0x8c($sp) -/* 0E6174 7F0B1644 46000506 */ mov.s $f20, $f0 -/* 0E6178 7F0B1648 0260F025 */ move $fp, $s3 -/* 0E617C 7F0B164C 8FA2008C */ lw $v0, 0x8c($sp) -.L7F0B1650: -/* 0E6180 7F0B1650 02402825 */ move $a1, $s2 -/* 0E6184 7F0B1654 26100008 */ addiu $s0, $s0, 8 -/* 0E6188 7F0B1658 0242082A */ slt $at, $s2, $v0 -/* 0E618C 7F0B165C 5420FFC4 */ bnezl $at, .L7F0B1570 -/* 0E6190 7F0B1660 8FAC008C */ lw $t4, 0x8c($sp) -.L7F0B1664: -/* 0E6194 7F0B1664 8FA30094 */ lw $v1, 0x94($sp) -.L7F0B1668: -/* 0E6198 7F0B1668 84620002 */ lh $v0, 2($v1) -/* 0E619C 7F0B166C 24630002 */ addiu $v1, $v1, 2 -/* 0E61A0 7F0B1670 AFA30094 */ sw $v1, 0x94($sp) -/* 0E61A4 7F0B1674 0443FFA8 */ bgezl $v0, .L7F0B1518 -/* 0E61A8 7F0B1678 00025080 */ sll $t2, $v0, 2 -.L7F0B167C: -/* 0E61AC 7F0B167C 8FBF0074 */ lw $ra, 0x74($sp) -.L7F0B1680: -/* 0E61B0 7F0B1680 03C01025 */ move $v0, $fp -/* 0E61B4 7F0B1684 8FBE0070 */ lw $fp, 0x70($sp) -/* 0E61B8 7F0B1688 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0E61BC 7F0B168C D7B60030 */ ldc1 $f22, 0x30($sp) -/* 0E61C0 7F0B1690 D7B80038 */ ldc1 $f24, 0x38($sp) -/* 0E61C4 7F0B1694 D7BA0040 */ ldc1 $f26, 0x40($sp) -/* 0E61C8 7F0B1698 D7BC0048 */ ldc1 $f28, 0x48($sp) -/* 0E61CC 7F0B169C 8FB00050 */ lw $s0, 0x50($sp) -/* 0E61D0 7F0B16A0 8FB10054 */ lw $s1, 0x54($sp) -/* 0E61D4 7F0B16A4 8FB20058 */ lw $s2, 0x58($sp) -/* 0E61D8 7F0B16A8 8FB3005C */ lw $s3, 0x5c($sp) -/* 0E61DC 7F0B16AC 8FB40060 */ lw $s4, 0x60($sp) -/* 0E61E0 7F0B16B0 8FB50064 */ lw $s5, 0x64($sp) -/* 0E61E4 7F0B16B4 8FB60068 */ lw $s6, 0x68($sp) -/* 0E61E8 7F0B16B8 8FB7006C */ lw $s7, 0x6c($sp) -/* 0E61EC 7F0B16BC 03E00008 */ jr $ra -/* 0E61F0 7F0B16C0 27BD0128 */ addiu $sp, $sp, 0x128 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B16C4(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) { - f32 sp1C; - f32 sp20; - f32 temp_f2; - f32 temp_f16; - ? temp_ret; - f32 temp_f0; - f32 temp_f2_2; - - // Node 0 - temp_f2 = (arg2 - arg0); - temp_f16 = (arg3 - arg1); - sp20 = temp_f2; - sp1C = temp_f16; - temp_ret = sqrtf(((temp_f2 * temp_f2) + (temp_f16 * temp_f16))); - if (temp_ret != 0.0f) - { - // Node 2 - // Node 3 - return (((temp_f16 * (arg4 - arg0)) + (-temp_f2 * (arg5 - arg1))) / temp_ret); - } - // Node 1 - temp_f0 = (arg4 - arg2); - temp_f2_2 = (arg5 - arg3); - return (((temp_f16 * (arg4 - arg0)) + (-temp_f2 * (arg5 - arg1))) / temp_ret); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B16C4 -/* 0E61F4 7F0B16C4 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0E61F8 7F0B16C8 E7AC0048 */ swc1 $f12, 0x48($sp) -/* 0E61FC 7F0B16CC AFA60050 */ sw $a2, 0x50($sp) -/* 0E6200 7F0B16D0 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 0E6204 7F0B16D4 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 0E6208 7F0B16D8 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 0E620C 7F0B16DC AFA70054 */ sw $a3, 0x54($sp) -/* 0E6210 7F0B16E0 46062081 */ sub.s $f2, $f4, $f6 -/* 0E6214 7F0B16E4 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 0E6218 7F0B16E8 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0E621C 7F0B16EC AFBF0014 */ sw $ra, 0x14($sp) -/* 0E6220 7F0B16F0 46021482 */ mul.s $f18, $f2, $f2 -/* 0E6224 7F0B16F4 460A4401 */ sub.s $f16, $f8, $f10 -/* 0E6228 7F0B16F8 E7A20020 */ swc1 $f2, 0x20($sp) -/* 0E622C 7F0B16FC 46108102 */ mul.s $f4, $f16, $f16 -/* 0E6230 7F0B1700 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 0E6234 7F0B1704 0C007DF8 */ jal sqrtf -/* 0E6238 7F0B1708 46049300 */ add.s $f12, $f18, $f4 -/* 0E623C 7F0B170C 44803000 */ mtc1 $zero, $f6 -/* 0E6240 7F0B1710 C7A20020 */ lwc1 $f2, 0x20($sp) -/* 0E6244 7F0B1714 C7B0001C */ lwc1 $f16, 0x1c($sp) -/* 0E6248 7F0B1718 46060032 */ c.eq.s $f0, $f6 -/* 0E624C 7F0B171C 46000306 */ mov.s $f12, $f0 -/* 0E6250 7F0B1720 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0E6254 7F0B1724 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 0E6258 7F0B1728 4500000D */ bc1f .L7F0B1760 -/* 0E625C 7F0B172C C7B20048 */ lwc1 $f18, 0x48($sp) -/* 0E6260 7F0B1730 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 0E6264 7F0B1734 C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 0E6268 7F0B1738 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 0E626C 7F0B173C 460A4001 */ sub.s $f0, $f8, $f10 -/* 0E6270 7F0B1740 46049081 */ sub.s $f2, $f18, $f4 -/* 0E6274 7F0B1744 46000182 */ mul.s $f6, $f0, $f0 -/* 0E6278 7F0B1748 00000000 */ nop -/* 0E627C 7F0B174C 46021202 */ mul.s $f8, $f2, $f2 -/* 0E6280 7F0B1750 0C007DF8 */ jal sqrtf -/* 0E6284 7F0B1754 46083300 */ add.s $f12, $f6, $f8 -/* 0E6288 7F0B1758 1000000B */ b .L7F0B1788 -/* 0E628C 7F0B175C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0B1760: -/* 0E6290 7F0B1760 46125101 */ sub.s $f4, $f10, $f18 -/* 0E6294 7F0B1764 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0E6298 7F0B1768 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0E629C 7F0B176C 46048182 */ mul.s $f6, $f16, $f4 -/* 0E62A0 7F0B1770 460A4481 */ sub.s $f18, $f8, $f10 -/* 0E62A4 7F0B1774 46001107 */ neg.s $f4, $f2 -/* 0E62A8 7F0B1778 46122202 */ mul.s $f8, $f4, $f18 -/* 0E62AC 7F0B177C 46083280 */ add.s $f10, $f6, $f8 -/* 0E62B0 7F0B1780 460C5003 */ div.s $f0, $f10, $f12 -/* 0E62B4 7F0B1784 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0B1788: -/* 0E62B8 7F0B1788 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0E62BC 7F0B178C 03E00008 */ jr $ra -/* 0E62C0 7F0B1790 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B1794(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - f32 temp_f8; - f32 temp_f16; - - // Node 0 - temp_f8 = (arg2 - arg0); - temp_f16 = (arg3 - arg1); - arg2 = temp_f8; - arg3 = temp_f16; - sqrtf(((temp_f8 * temp_f8) + (temp_f16 * temp_f16))); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B1794 -/* 0E62C4 7F0B1794 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E62C8 7F0B1798 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0E62CC 7F0B179C AFA60020 */ sw $a2, 0x20($sp) -/* 0E62D0 7F0B17A0 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0E62D4 7F0B17A4 C7A60018 */ lwc1 $f6, 0x18($sp) -/* 0E62D8 7F0B17A8 AFA70024 */ sw $a3, 0x24($sp) -/* 0E62DC 7F0B17AC C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 0E62E0 7F0B17B0 46062201 */ sub.s $f8, $f4, $f6 -/* 0E62E4 7F0B17B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E62E8 7F0B17B8 460E5401 */ sub.s $f16, $f10, $f14 -/* 0E62EC 7F0B17BC 46084482 */ mul.s $f18, $f8, $f8 -/* 0E62F0 7F0B17C0 E7A80020 */ swc1 $f8, 0x20($sp) -/* 0E62F4 7F0B17C4 46108102 */ mul.s $f4, $f16, $f16 -/* 0E62F8 7F0B17C8 E7B00024 */ swc1 $f16, 0x24($sp) -/* 0E62FC 7F0B17CC 0C007DF8 */ jal sqrtf -/* 0E6300 7F0B17D0 46049300 */ add.s $f12, $f18, $f4 -/* 0E6304 7F0B17D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E6308 7F0B17D8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E630C 7F0B17DC 03E00008 */ jr $ra -/* 0E6310 7F0B17E0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B17E4(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) { - f32 temp_f6; - f32 temp_f10; - f32 temp_f0; - f32 temp_f2; - f32 temp_f18; - f32 temp_f16; - s32 phi_v0; - s32 phi_v0_2; - s32 phi_v0_3; - - // Node 0 - temp_f6 = (arg4 - arg0); - temp_f10 = (arg5 - arg1); - arg4 = temp_f6; - temp_f0 = (arg2 - arg0); - arg5 = temp_f10; - temp_f2 = (arg3 - arg1); - temp_f18 = ((temp_f0 * temp_f0) + (temp_f2 * temp_f2)); - temp_f16 = ((temp_f6 * temp_f0) + (temp_f10 * temp_f2)); - phi_v0 = 0; - if (temp_f18 < temp_f16) - { - // Node 1 - phi_v0 = 1; - } - // Node 2 - if ((phi_v0 != 0) && (temp_f16 < 0.0f)) - { - // Node 4 - phi_v0_2 = 1; - // Node 5 - if (phi_v0_2 == 0) - { - // Node 6 - phi_v0_3 = 0; - if (0.0f < temp_f16) - { - // Node 7 - phi_v0_3 = 1; - } - // Node 8 - if (phi_v0_3 != 0) - { - // Node 9 - if (temp_f16 < temp_f18) - { - // Node 10 - } - } - } - } - else - { - // Node 6 - phi_v0_3 = 0; - if (0.0f < temp_f16) - { - // Node 7 - phi_v0_3 = 1; - } - // Node 8 - if (phi_v0_3 != 0) - { - // Node 9 - if (temp_f16 < temp_f18) - { - // Node 10 - } - } - } - // Node 11 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B17E4 -/* 0E6314 7F0B17E4 C7A40010 */ lwc1 $f4, 0x10($sp) -/* 0E6318 7F0B17E8 C7A80014 */ lwc1 $f8, 0x14($sp) -/* 0E631C 7F0B17EC AFA60008 */ sw $a2, 8($sp) -/* 0E6320 7F0B17F0 460C2181 */ sub.s $f6, $f4, $f12 -/* 0E6324 7F0B17F4 C7A40008 */ lwc1 $f4, 8($sp) -/* 0E6328 7F0B17F8 AFA7000C */ sw $a3, 0xc($sp) -/* 0E632C 7F0B17FC 460E4281 */ sub.s $f10, $f8, $f14 -/* 0E6330 7F0B1800 C7A8000C */ lwc1 $f8, 0xc($sp) -/* 0E6334 7F0B1804 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0E6338 7F0B1808 460C2001 */ sub.s $f0, $f4, $f12 -/* 0E633C 7F0B180C E7AA0014 */ swc1 $f10, 0x14($sp) -/* 0E6340 7F0B1810 00001025 */ move $v0, $zero -/* 0E6344 7F0B1814 460E4081 */ sub.s $f2, $f8, $f14 -/* 0E6348 7F0B1818 46000102 */ mul.s $f4, $f0, $f0 -/* 0E634C 7F0B181C 00000000 */ nop -/* 0E6350 7F0B1820 46021202 */ mul.s $f8, $f2, $f2 -/* 0E6354 7F0B1824 46082480 */ add.s $f18, $f4, $f8 -/* 0E6358 7F0B1828 46003102 */ mul.s $f4, $f6, $f0 -/* 0E635C 7F0B182C 00000000 */ nop -/* 0E6360 7F0B1830 46025202 */ mul.s $f8, $f10, $f2 -/* 0E6364 7F0B1834 46082400 */ add.s $f16, $f4, $f8 -/* 0E6368 7F0B1838 4610903C */ c.lt.s $f18, $f16 -/* 0E636C 7F0B183C 00000000 */ nop -/* 0E6370 7F0B1840 45000002 */ bc1f .L7F0B184C -/* 0E6374 7F0B1844 00000000 */ nop -/* 0E6378 7F0B1848 24020001 */ li $v0, 1 -.L7F0B184C: -/* 0E637C 7F0B184C 5040000B */ beql $v0, $zero, .L7F0B187C -/* 0E6380 7F0B1850 44805000 */ mtc1 $zero, $f10 -/* 0E6384 7F0B1854 44803000 */ mtc1 $zero, $f6 -/* 0E6388 7F0B1858 00001025 */ move $v0, $zero -/* 0E638C 7F0B185C 4606803C */ c.lt.s $f16, $f6 -/* 0E6390 7F0B1860 00000000 */ nop -/* 0E6394 7F0B1864 45000002 */ bc1f .L7F0B1870 -/* 0E6398 7F0B1868 00000000 */ nop -/* 0E639C 7F0B186C 24020001 */ li $v0, 1 -.L7F0B1870: -/* 0E63A0 7F0B1870 1440000F */ bnez $v0, .L7F0B18B0 -/* 0E63A4 7F0B1874 00000000 */ nop -/* 0E63A8 7F0B1878 44805000 */ mtc1 $zero, $f10 -.L7F0B187C: -/* 0E63AC 7F0B187C 00001025 */ move $v0, $zero -/* 0E63B0 7F0B1880 4610503C */ c.lt.s $f10, $f16 -/* 0E63B4 7F0B1884 00000000 */ nop -/* 0E63B8 7F0B1888 45000002 */ bc1f .L7F0B1894 -/* 0E63BC 7F0B188C 00000000 */ nop -/* 0E63C0 7F0B1890 24020001 */ li $v0, 1 -.L7F0B1894: -/* 0E63C4 7F0B1894 10400006 */ beqz $v0, .L7F0B18B0 -/* 0E63C8 7F0B1898 00000000 */ nop -/* 0E63CC 7F0B189C 4612803C */ c.lt.s $f16, $f18 -/* 0E63D0 7F0B18A0 00001025 */ move $v0, $zero -/* 0E63D4 7F0B18A4 45000002 */ bc1f .L7F0B18B0 -/* 0E63D8 7F0B18A8 00000000 */ nop -/* 0E63DC 7F0B18AC 24020001 */ li $v0, 1 -.L7F0B18B0: -/* 0E63E0 7F0B18B0 03E00008 */ jr $ra -/* 0E63E4 7F0B18B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B18B8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B18B8 -/* 0E63E8 7F0B18B8 27BDFEE0 */ addiu $sp, $sp, -0x120 -/* 0E63EC 7F0B18BC C7A40134 */ lwc1 $f4, 0x134($sp) -/* 0E63F0 7F0B18C0 C7A60138 */ lwc1 $f6, 0x138($sp) -/* 0E63F4 7F0B18C4 F7BE0050 */ sdc1 $f30, 0x50($sp) -/* 0E63F8 7F0B18C8 F7BC0048 */ sdc1 $f28, 0x48($sp) -/* 0E63FC 7F0B18CC 4604303E */ c.le.s $f6, $f4 -/* 0E6400 7F0B18D0 F7BA0040 */ sdc1 $f26, 0x40($sp) -/* 0E6404 7F0B18D4 4485D000 */ mtc1 $a1, $f26 -/* 0E6408 7F0B18D8 4486E000 */ mtc1 $a2, $f28 -/* 0E640C 7F0B18DC 4487F000 */ mtc1 $a3, $f30 -/* 0E6410 7F0B18E0 AFB20060 */ sw $s2, 0x60($sp) -/* 0E6414 7F0B18E4 AFB1005C */ sw $s1, 0x5c($sp) -/* 0E6418 7F0B18E8 AFB00058 */ sw $s0, 0x58($sp) -/* 0E641C 7F0B18EC 00808825 */ move $s1, $a0 -/* 0E6420 7F0B18F0 27B200A8 */ addiu $s2, $sp, 0xa8 -/* 0E6424 7F0B18F4 AFBF007C */ sw $ra, 0x7c($sp) -/* 0E6428 7F0B18F8 AFBE0078 */ sw $fp, 0x78($sp) -/* 0E642C 7F0B18FC AFB70074 */ sw $s7, 0x74($sp) -/* 0E6430 7F0B1900 AFB60070 */ sw $s6, 0x70($sp) -/* 0E6434 7F0B1904 AFB5006C */ sw $s5, 0x6c($sp) -/* 0E6438 7F0B1908 AFB40068 */ sw $s4, 0x68($sp) -/* 0E643C 7F0B190C AFB30064 */ sw $s3, 0x64($sp) -/* 0E6440 7F0B1910 F7B80038 */ sdc1 $f24, 0x38($sp) -/* 0E6444 7F0B1914 F7B60030 */ sdc1 $f22, 0x30($sp) -/* 0E6448 7F0B1918 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0E644C 7F0B191C 45000002 */ bc1f .L7F0B1928 -/* 0E6450 7F0B1920 00008025 */ move $s0, $zero -/* 0E6454 7F0B1924 24100001 */ li $s0, 1 -.L7F0B1928: -/* 0E6458 7F0B1928 4405D000 */ mfc1 $a1, $f26 -/* 0E645C 7F0B192C 4406E000 */ mfc1 $a2, $f28 -/* 0E6460 7F0B1930 4407F000 */ mfc1 $a3, $f30 -/* 0E6464 7F0B1934 27AE00FC */ addiu $t6, $sp, 0xfc -/* 0E6468 7F0B1938 240F0014 */ li $t7, 20 -/* 0E646C 7F0B193C AFB00108 */ sw $s0, 0x108($sp) -/* 0E6470 7F0B1940 AFA000FC */ sw $zero, 0xfc($sp) -/* 0E6474 7F0B1944 AFAF0018 */ sw $t7, 0x18($sp) -/* 0E6478 7F0B1948 AFAE0014 */ sw $t6, 0x14($sp) -/* 0E647C 7F0B194C 02202025 */ move $a0, $s1 -/* 0E6480 7F0B1950 0FC2C86C */ jal sub_GAME_7F0B21B0 -/* 0E6484 7F0B1954 AFB20010 */ sw $s2, 0x10($sp) -/* 0E6488 7F0B1958 04400003 */ bltz $v0, .L7F0B1968 -/* 0E648C 7F0B195C 8FB800FC */ lw $t8, 0xfc($sp) -/* 0E6490 7F0B1960 100000C7 */ b .L7F0B1C80 -/* 0E6494 7F0B1964 8FBF007C */ lw $ra, 0x7c($sp) -.L7F0B1968: -/* 0E6498 7F0B1968 2B010015 */ slti $at, $t8, 0x15 -/* 0E649C 7F0B196C 14200002 */ bnez $at, .L7F0B1978 -/* 0E64A0 7F0B1970 24190014 */ li $t9, 20 -/* 0E64A4 7F0B1974 AFB900FC */ sw $t9, 0xfc($sp) -.L7F0B1978: -/* 0E64A8 7F0B1978 8FA80130 */ lw $t0, 0x130($sp) -/* 0E64AC 7F0B197C 3C018008 */ lui $at, %hi(dword_CODE_bss_8007BA04) -/* 0E64B0 7F0B1980 AC20BA04 */ sw $zero, %lo(dword_CODE_bss_8007BA04)($at) -/* 0E64B4 7F0B1984 510000BD */ beql $t0, $zero, .L7F0B1C7C -/* 0E64B8 7F0B1988 2402FFFE */ li $v0, -2 -/* 0E64BC 7F0B198C 5200000C */ beql $s0, $zero, .L7F0B19C0 -/* 0E64C0 7F0B1990 8FAA00FC */ lw $t2, 0xfc($sp) -/* 0E64C4 7F0B1994 4405D000 */ mfc1 $a1, $f26 -/* 0E64C8 7F0B1998 4406E000 */ mfc1 $a2, $f28 -/* 0E64CC 7F0B199C 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0E64D0 7F0B19A0 8E240000 */ lw $a0, ($s1) -/* 0E64D4 7F0B19A4 C7A80134 */ lwc1 $f8, 0x134($sp) -/* 0E64D8 7F0B19A8 C7B00138 */ lwc1 $f16, 0x138($sp) -/* 0E64DC 7F0B19AC 46004280 */ add.s $f10, $f8, $f0 -/* 0E64E0 7F0B19B0 46008480 */ add.s $f18, $f16, $f0 -/* 0E64E4 7F0B19B4 E7AA0134 */ swc1 $f10, 0x134($sp) -/* 0E64E8 7F0B19B8 E7B20138 */ swc1 $f18, 0x138($sp) -/* 0E64EC 7F0B19BC 8FAA00FC */ lw $t2, 0xfc($sp) -.L7F0B19C0: -/* 0E64F0 7F0B19C0 2409FFFF */ li $t1, -1 -/* 0E64F4 7F0B19C4 02402025 */ move $a0, $s2 -/* 0E64F8 7F0B19C8 000A5880 */ sll $t3, $t2, 2 -/* 0E64FC 7F0B19CC 024B6021 */ addu $t4, $s2, $t3 -/* 0E6500 7F0B19D0 0FC0F8FF */ jal sub_GAME_7F03E3FC -/* 0E6504 7F0B19D4 AD890000 */ sw $t1, ($t4) -/* 0E6508 7F0B19D8 3C038007 */ lui $v1, %hi(ptr_list_object_lookup_indices) -/* 0E650C 7F0B19DC 8C639C30 */ lw $v1, %lo(ptr_list_object_lookup_indices)($v1) -/* 0E6510 7F0B19E0 3C1E8008 */ lui $fp, %hi(dword_CODE_bss_8007B9E4) -/* 0E6514 7F0B19E4 3C168004 */ lui $s6, %hi(D_800413BC) -/* 0E6518 7F0B19E8 84620000 */ lh $v0, ($v1) -/* 0E651C 7F0B19EC 26D613BC */ addiu $s6, %lo(D_800413BC) # addiu $s6, $s6, 0x13bc -/* 0E6520 7F0B19F0 27DEB9E4 */ addiu $fp, %lo(dword_CODE_bss_8007B9E4) # addiu $fp, $fp, -0x461c -/* 0E6524 7F0B19F4 044000A0 */ bltz $v0, .L7F0B1C78 -/* 0E6528 7F0B19F8 24170001 */ li $s7, 1 -/* 0E652C 7F0B19FC 3C148008 */ lui $s4, %hi(flt_CODE_bss_8007B9F8) -/* 0E6530 7F0B1A00 3C138008 */ lui $s3, %hi(flt_CODE_bss_8007B9F0) -/* 0E6534 7F0B1A04 2673B9F0 */ addiu $s3, %lo(flt_CODE_bss_8007B9F0) # addiu $s3, $s3, -0x4610 -/* 0E6538 7F0B1A08 2694B9F8 */ addiu $s4, %lo(flt_CODE_bss_8007B9F8) # addiu $s4, $s4, -0x4608 -/* 0E653C 7F0B1A0C AFA30100 */ sw $v1, 0x100($sp) -/* 0E6540 7F0B1A10 00026880 */ sll $t5, $v0, 2 -.L7F0B1A14: -/* 0E6544 7F0B1A14 01A26823 */ subu $t5, $t5, $v0 -/* 0E6548 7F0B1A18 000D6880 */ sll $t5, $t5, 2 -/* 0E654C 7F0B1A1C 01A26821 */ addu $t5, $t5, $v0 -/* 0E6550 7F0B1A20 3C0E8007 */ lui $t6, %hi(pos_data_entry) -/* 0E6554 7F0B1A24 25CE9C38 */ addiu $t6, %lo(pos_data_entry) # addiu $t6, $t6, -0x63c8 -/* 0E6558 7F0B1A28 000D6880 */ sll $t5, $t5, 2 -/* 0E655C 7F0B1A2C 01AEA821 */ addu $s5, $t5, $t6 -/* 0E6560 7F0B1A30 02A02025 */ move $a0, $s5 -/* 0E6564 7F0B1A34 0FC0F694 */ jal sub_GAME_7F03DA50 -/* 0E6568 7F0B1A38 8FA50130 */ lw $a1, 0x130($sp) -/* 0E656C 7F0B1A3C 10400088 */ beqz $v0, .L7F0B1C60 -/* 0E6570 7F0B1A40 02A02025 */ move $a0, $s5 -/* 0E6574 7F0B1A44 27AF0090 */ addiu $t7, $sp, 0x90 -/* 0E6578 7F0B1A48 AFAF0010 */ sw $t7, 0x10($sp) -/* 0E657C 7F0B1A4C 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 0E6580 7F0B1A50 27A600A0 */ addiu $a2, $sp, 0xa0 -/* 0E6584 7F0B1A54 0FC0F308 */ jal sub_GAME_7F03CC20 -/* 0E6588 7F0B1A58 27A70094 */ addiu $a3, $sp, 0x94 -/* 0E658C 7F0B1A5C 8FB800A0 */ lw $t8, 0xa0($sp) -/* 0E6590 7F0B1A60 8FB90108 */ lw $t9, 0x108($sp) -/* 0E6594 7F0B1A64 5B00007F */ blezl $t8, .L7F0B1C64 -/* 0E6598 7F0B1A68 8FA30100 */ lw $v1, 0x100($sp) -/* 0E659C 7F0B1A6C 1320000D */ beqz $t9, .L7F0B1AA4 -/* 0E65A0 7F0B1A70 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0E65A4 7F0B1A74 C7A40134 */ lwc1 $f4, 0x134($sp) -/* 0E65A8 7F0B1A78 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 0E65AC 7F0B1A7C C7A80094 */ lwc1 $f8, 0x94($sp) -/* 0E65B0 7F0B1A80 C7AA0138 */ lwc1 $f10, 0x138($sp) -/* 0E65B4 7F0B1A84 4604303E */ c.le.s $f6, $f4 -/* 0E65B8 7F0B1A88 00000000 */ nop -/* 0E65BC 7F0B1A8C 45020075 */ bc1fl .L7F0B1C64 -/* 0E65C0 7F0B1A90 8FA30100 */ lw $v1, 0x100($sp) -/* 0E65C4 7F0B1A94 4608503E */ c.le.s $f10, $f8 -/* 0E65C8 7F0B1A98 00000000 */ nop -/* 0E65CC 7F0B1A9C 45020071 */ bc1fl .L7F0B1C64 -/* 0E65D0 7F0B1AA0 8FA30100 */ lw $v1, 0x100($sp) -.L7F0B1AA4: -/* 0E65D4 7F0B1AA4 4481C000 */ mtc1 $at, $f24 -/* 0E65D8 7F0B1AA8 00002825 */ move $a1, $zero -.L7F0B1AAC: -/* 0E65DC 7F0B1AAC 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 0E65E0 7F0B1AB0 24A80001 */ addiu $t0, $a1, 1 -/* 0E65E4 7F0B1AB4 8FAB00A4 */ lw $t3, 0xa4($sp) -/* 0E65E8 7F0B1AB8 010A001A */ div $zero, $t0, $t2 -/* 0E65EC 7F0B1ABC 00001810 */ mfhi $v1 -/* 0E65F0 7F0B1AC0 000348C0 */ sll $t1, $v1, 3 -/* 0E65F4 7F0B1AC4 000588C0 */ sll $s1, $a1, 3 -/* 0E65F8 7F0B1AC8 01711021 */ addu $v0, $t3, $s1 -/* 0E65FC 7F0B1ACC 01692021 */ addu $a0, $t3, $t1 -/* 0E6600 7F0B1AD0 8C860000 */ lw $a2, ($a0) -/* 0E6604 7F0B1AD4 8C870004 */ lw $a3, 4($a0) -/* 0E6608 7F0B1AD8 C44C0000 */ lwc1 $f12, ($v0) -/* 0E660C 7F0B1ADC C44E0004 */ lwc1 $f14, 4($v0) -/* 0E6610 7F0B1AE0 15400002 */ bnez $t2, .L7F0B1AEC -/* 0E6614 7F0B1AE4 00000000 */ nop -/* 0E6618 7F0B1AE8 0007000D */ break 7 -.L7F0B1AEC: -/* 0E661C 7F0B1AEC 2401FFFF */ li $at, -1 -/* 0E6620 7F0B1AF0 15410004 */ bne $t2, $at, .L7F0B1B04 -/* 0E6624 7F0B1AF4 3C018000 */ lui $at, 0x8000 -/* 0E6628 7F0B1AF8 15010002 */ bne $t0, $at, .L7F0B1B04 -/* 0E662C 7F0B1AFC 00000000 */ nop -/* 0E6630 7F0B1B00 0006000D */ break 6 -.L7F0B1B04: -/* 0E6634 7F0B1B04 00609025 */ move $s2, $v1 -/* 0E6638 7F0B1B08 E7BC0014 */ swc1 $f28, 0x14($sp) -/* 0E663C 7F0B1B0C 0FC2C5B1 */ jal sub_GAME_7F0B16C4 -/* 0E6640 7F0B1B10 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 0E6644 7F0B1B14 44808000 */ mtc1 $zero, $f16 -/* 0E6648 7F0B1B18 46000506 */ mov.s $f20, $f0 -/* 0E664C 7F0B1B1C 4610003C */ c.lt.s $f0, $f16 -/* 0E6650 7F0B1B20 00000000 */ nop -/* 0E6654 7F0B1B24 45020003 */ bc1fl .L7F0B1B34 -/* 0E6658 7F0B1B28 4614C03C */ c.lt.s $f24, $f20 -/* 0E665C 7F0B1B2C 46000507 */ neg.s $f20, $f0 -/* 0E6660 7F0B1B30 4614C03C */ c.lt.s $f24, $f20 -.L7F0B1B34: -/* 0E6664 7F0B1B34 00000000 */ nop -/* 0E6668 7F0B1B38 4500003C */ bc1f .L7F0B1C2C -/* 0E666C 7F0B1B3C 00000000 */ nop -/* 0E6670 7F0B1B40 8FAC00A4 */ lw $t4, 0xa4($sp) -/* 0E6674 7F0B1B44 4406D000 */ mfc1 $a2, $f26 -/* 0E6678 7F0B1B48 4407E000 */ mfc1 $a3, $f28 -/* 0E667C 7F0B1B4C 01911021 */ addu $v0, $t4, $s1 -/* 0E6680 7F0B1B50 C44C0000 */ lwc1 $f12, ($v0) -/* 0E6684 7F0B1B54 0FC2C5E5 */ jal sub_GAME_7F0B1794 -/* 0E6688 7F0B1B58 C44E0004 */ lwc1 $f14, 4($v0) -/* 0E668C 7F0B1B5C 8FAD00A4 */ lw $t5, 0xa4($sp) -/* 0E6690 7F0B1B60 001280C0 */ sll $s0, $s2, 3 -/* 0E6694 7F0B1B64 4406D000 */ mfc1 $a2, $f26 -/* 0E6698 7F0B1B68 4407E000 */ mfc1 $a3, $f28 -/* 0E669C 7F0B1B6C 01B01821 */ addu $v1, $t5, $s0 -/* 0E66A0 7F0B1B70 46000586 */ mov.s $f22, $f0 -/* 0E66A4 7F0B1B74 C46C0000 */ lwc1 $f12, ($v1) -/* 0E66A8 7F0B1B78 0FC2C5E5 */ jal sub_GAME_7F0B1794 -/* 0E66AC 7F0B1B7C C46E0004 */ lwc1 $f14, 4($v1) -/* 0E66B0 7F0B1B80 461EA03C */ c.lt.s $f20, $f30 -/* 0E66B4 7F0B1B84 00000000 */ nop -/* 0E66B8 7F0B1B88 45000028 */ bc1f .L7F0B1C2C -/* 0E66BC 7F0B1B8C 00000000 */ nop -/* 0E66C0 7F0B1B90 461EB03C */ c.lt.s $f22, $f30 -/* 0E66C4 7F0B1B94 00000000 */ nop -/* 0E66C8 7F0B1B98 45030012 */ bc1tl .L7F0B1BE4 -/* 0E66CC 7F0B1B9C 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 0E66D0 7F0B1BA0 461E003C */ c.lt.s $f0, $f30 -/* 0E66D4 7F0B1BA4 00000000 */ nop -/* 0E66D8 7F0B1BA8 4503000E */ bc1tl .L7F0B1BE4 -/* 0E66DC 7F0B1BAC 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 0E66E0 7F0B1BB0 8FAE00A4 */ lw $t6, 0xa4($sp) -/* 0E66E4 7F0B1BB4 01D11021 */ addu $v0, $t6, $s1 -/* 0E66E8 7F0B1BB8 01D01821 */ addu $v1, $t6, $s0 -/* 0E66EC 7F0B1BBC 8C660000 */ lw $a2, ($v1) -/* 0E66F0 7F0B1BC0 8C670004 */ lw $a3, 4($v1) -/* 0E66F4 7F0B1BC4 C44C0000 */ lwc1 $f12, ($v0) -/* 0E66F8 7F0B1BC8 C44E0004 */ lwc1 $f14, 4($v0) -/* 0E66FC 7F0B1BCC E7BC0014 */ swc1 $f28, 0x14($sp) -/* 0E6700 7F0B1BD0 0FC2C5F9 */ jal sub_GAME_7F0B17E4 -/* 0E6704 7F0B1BD4 E7BA0010 */ swc1 $f26, 0x10($sp) -/* 0E6708 7F0B1BD8 10400014 */ beqz $v0, .L7F0B1C2C -/* 0E670C 7F0B1BDC 00000000 */ nop -/* 0E6710 7F0B1BE0 8FAF00A4 */ lw $t7, 0xa4($sp) -.L7F0B1BE4: -/* 0E6714 7F0B1BE4 AED70000 */ sw $s7, ($s6) -/* 0E6718 7F0B1BE8 8FB800A4 */ lw $t8, 0xa4($sp) -/* 0E671C 7F0B1BEC 01F11021 */ addu $v0, $t7, $s1 -/* 0E6720 7F0B1BF0 C4520000 */ lwc1 $f18, ($v0) -/* 0E6724 7F0B1BF4 03101821 */ addu $v1, $t8, $s0 -/* 0E6728 7F0B1BF8 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B9E8) -/* 0E672C 7F0B1BFC E6720000 */ swc1 $f18, ($s3) -/* 0E6730 7F0B1C00 C4440004 */ lwc1 $f4, 4($v0) -/* 0E6734 7F0B1C04 4600A606 */ mov.s $f24, $f20 -/* 0E6738 7F0B1C08 E6640004 */ swc1 $f4, 4($s3) -/* 0E673C 7F0B1C0C C4660000 */ lwc1 $f6, ($v1) -/* 0E6740 7F0B1C10 E6860000 */ swc1 $f6, ($s4) -/* 0E6744 7F0B1C14 C4680004 */ lwc1 $f8, 4($v1) -/* 0E6748 7F0B1C18 AFC00000 */ sw $zero, ($fp) -/* 0E674C 7F0B1C1C E6880004 */ swc1 $f8, 4($s4) -/* 0E6750 7F0B1C20 AC20B9E8 */ sw $zero, %lo(dword_CODE_bss_8007B9E8)($at) -/* 0E6754 7F0B1C24 3C018008 */ lui $at, %hi(dword_CODE_bss_8007BA04) -/* 0E6758 7F0B1C28 AC35BA04 */ sw $s5, %lo(dword_CODE_bss_8007BA04)($at) -.L7F0B1C2C: -/* 0E675C 7F0B1C2C 52400004 */ beql $s2, $zero, .L7F0B1C40 -/* 0E6760 7F0B1C30 3C01BF80 */ lui $at, 0xbf80 -/* 0E6764 7F0B1C34 1000FF9D */ b .L7F0B1AAC -/* 0E6768 7F0B1C38 02402825 */ move $a1, $s2 -/* 0E676C 7F0B1C3C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L7F0B1C40: -/* 0E6770 7F0B1C40 44815000 */ mtc1 $at, $f10 -/* 0E6774 7F0B1C44 00000000 */ nop -/* 0E6778 7F0B1C48 4618503C */ c.lt.s $f10, $f24 -/* 0E677C 7F0B1C4C 00000000 */ nop -/* 0E6780 7F0B1C50 45020004 */ bc1fl .L7F0B1C64 -/* 0E6784 7F0B1C54 8FA30100 */ lw $v1, 0x100($sp) -/* 0E6788 7F0B1C58 10000008 */ b .L7F0B1C7C -/* 0E678C 7F0B1C5C 24020002 */ li $v0, 2 -.L7F0B1C60: -/* 0E6790 7F0B1C60 8FA30100 */ lw $v1, 0x100($sp) -.L7F0B1C64: -/* 0E6794 7F0B1C64 84620002 */ lh $v0, 2($v1) -/* 0E6798 7F0B1C68 24630002 */ addiu $v1, $v1, 2 -/* 0E679C 7F0B1C6C AFA30100 */ sw $v1, 0x100($sp) -/* 0E67A0 7F0B1C70 0443FF68 */ bgezl $v0, .L7F0B1A14 -/* 0E67A4 7F0B1C74 00026880 */ sll $t5, $v0, 2 -.L7F0B1C78: -/* 0E67A8 7F0B1C78 2402FFFE */ li $v0, -2 -.L7F0B1C7C: -/* 0E67AC 7F0B1C7C 8FBF007C */ lw $ra, 0x7c($sp) -.L7F0B1C80: -/* 0E67B0 7F0B1C80 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0E67B4 7F0B1C84 D7B60030 */ ldc1 $f22, 0x30($sp) -/* 0E67B8 7F0B1C88 D7B80038 */ ldc1 $f24, 0x38($sp) -/* 0E67BC 7F0B1C8C D7BA0040 */ ldc1 $f26, 0x40($sp) -/* 0E67C0 7F0B1C90 D7BC0048 */ ldc1 $f28, 0x48($sp) -/* 0E67C4 7F0B1C94 D7BE0050 */ ldc1 $f30, 0x50($sp) -/* 0E67C8 7F0B1C98 8FB00058 */ lw $s0, 0x58($sp) -/* 0E67CC 7F0B1C9C 8FB1005C */ lw $s1, 0x5c($sp) -/* 0E67D0 7F0B1CA0 8FB20060 */ lw $s2, 0x60($sp) -/* 0E67D4 7F0B1CA4 8FB30064 */ lw $s3, 0x64($sp) -/* 0E67D8 7F0B1CA8 8FB40068 */ lw $s4, 0x68($sp) -/* 0E67DC 7F0B1CAC 8FB5006C */ lw $s5, 0x6c($sp) -/* 0E67E0 7F0B1CB0 8FB60070 */ lw $s6, 0x70($sp) -/* 0E67E4 7F0B1CB4 8FB70074 */ lw $s7, 0x74($sp) -/* 0E67E8 7F0B1CB8 8FBE0078 */ lw $fp, 0x78($sp) -/* 0E67EC 7F0B1CBC 03E00008 */ jr $ra -/* 0E67F0 7F0B1CC0 27BD0120 */ addiu $sp, $sp, 0x120 -) -#endif - - - - - -void sub_GAME_7F0B1CC4(void) { - dword_CODE_bss_8007B9E4 = 0; - dword_CODE_bss_8007B9E8 = 0; - D_800413BC = 0; -} - -s32 sub_GAME_7F0B1CE0(void) { - return dword_CODE_bss_8007B9E4; -} - -s32 sub_GAME_7F0B1CEC(void) { - return dword_CODE_bss_8007B9E8; -} - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0B1CF8(void *arg0, s32 arg1, void *arg2, void *arg3) { - void *temp_v0; - void *temp_v0_2; - - // Node 0 - temp_v0 = (arg0 + (arg1 * 8)); - *arg2 = (f32) ((f32) temp_v0->unk8 * D_80040F48); - arg2->unk4 = (f32) ((f32) temp_v0->unkA * D_80040F48); - arg2->unk8 = (f32) ((f32) temp_v0->unkC * D_80040F48); - temp_v0_2 = (arg0 + (((s32) (arg1 + 1) % (s32) (((s32) arg0->unk6 >> 0xc) & 0xf)) * 8)); - *arg3 = (f32) ((f32) temp_v0_2->unk8 * D_80040F48); - arg3->unk4 = (f32) ((f32) temp_v0_2->unkA * D_80040F48); - arg3->unk8 = (f32) ((f32) temp_v0_2->unkC * D_80040F48); - return temp_v0_2; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B1CF8 -/* 0E6828 7F0B1CF8 000570C0 */ sll $t6, $a1, 3 -/* 0E682C 7F0B1CFC 008E1021 */ addu $v0, $a0, $t6 -/* 0E6830 7F0B1D00 844F0008 */ lh $t7, 8($v0) -/* 0E6834 7F0B1D04 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E6838 7F0B1D08 C4200F48 */ lwc1 $f0, %lo(D_80040F48)($at) -/* 0E683C 7F0B1D0C 448F2000 */ mtc1 $t7, $f4 -/* 0E6840 7F0B1D10 24A80001 */ addiu $t0, $a1, 1 -/* 0E6844 7F0B1D14 468021A0 */ cvt.s.w $f6, $f4 -/* 0E6848 7F0B1D18 46003202 */ mul.s $f8, $f6, $f0 -/* 0E684C 7F0B1D1C E4C80000 */ swc1 $f8, ($a2) -/* 0E6850 7F0B1D20 8458000A */ lh $t8, 0xa($v0) -/* 0E6854 7F0B1D24 44985000 */ mtc1 $t8, $f10 -/* 0E6858 7F0B1D28 00000000 */ nop -/* 0E685C 7F0B1D2C 46805420 */ cvt.s.w $f16, $f10 -/* 0E6860 7F0B1D30 46008482 */ mul.s $f18, $f16, $f0 -/* 0E6864 7F0B1D34 E4D20004 */ swc1 $f18, 4($a2) -/* 0E6868 7F0B1D38 8459000C */ lh $t9, 0xc($v0) -/* 0E686C 7F0B1D3C 44992000 */ mtc1 $t9, $f4 -/* 0E6870 7F0B1D40 00000000 */ nop -/* 0E6874 7F0B1D44 468021A0 */ cvt.s.w $f6, $f4 -/* 0E6878 7F0B1D48 46003202 */ mul.s $f8, $f6, $f0 -/* 0E687C 7F0B1D4C E4C80008 */ swc1 $f8, 8($a2) -/* 0E6880 7F0B1D50 84890006 */ lh $t1, 6($a0) -/* 0E6884 7F0B1D54 00095303 */ sra $t2, $t1, 0xc -/* 0E6888 7F0B1D58 314B000F */ andi $t3, $t2, 0xf -/* 0E688C 7F0B1D5C 010B001A */ div $zero, $t0, $t3 -/* 0E6890 7F0B1D60 00002810 */ mfhi $a1 -/* 0E6894 7F0B1D64 000560C0 */ sll $t4, $a1, 3 -/* 0E6898 7F0B1D68 008C1021 */ addu $v0, $a0, $t4 -/* 0E689C 7F0B1D6C 844D0008 */ lh $t5, 8($v0) -/* 0E68A0 7F0B1D70 15600002 */ bnez $t3, .L7F0B1D7C -/* 0E68A4 7F0B1D74 00000000 */ nop -/* 0E68A8 7F0B1D78 0007000D */ break 7 -.L7F0B1D7C: -/* 0E68AC 7F0B1D7C 2401FFFF */ li $at, -1 -/* 0E68B0 7F0B1D80 15610004 */ bne $t3, $at, .L7F0B1D94 -/* 0E68B4 7F0B1D84 3C018000 */ lui $at, 0x8000 -/* 0E68B8 7F0B1D88 15010002 */ bne $t0, $at, .L7F0B1D94 -/* 0E68BC 7F0B1D8C 00000000 */ nop -/* 0E68C0 7F0B1D90 0006000D */ break 6 -.L7F0B1D94: -/* 0E68C4 7F0B1D94 448D5000 */ mtc1 $t5, $f10 -/* 0E68C8 7F0B1D98 00000000 */ nop -/* 0E68CC 7F0B1D9C 46805420 */ cvt.s.w $f16, $f10 -/* 0E68D0 7F0B1DA0 46008482 */ mul.s $f18, $f16, $f0 -/* 0E68D4 7F0B1DA4 E4F20000 */ swc1 $f18, ($a3) -/* 0E68D8 7F0B1DA8 844E000A */ lh $t6, 0xa($v0) -/* 0E68DC 7F0B1DAC 448E2000 */ mtc1 $t6, $f4 -/* 0E68E0 7F0B1DB0 00000000 */ nop -/* 0E68E4 7F0B1DB4 468021A0 */ cvt.s.w $f6, $f4 -/* 0E68E8 7F0B1DB8 46003202 */ mul.s $f8, $f6, $f0 -/* 0E68EC 7F0B1DBC E4E80004 */ swc1 $f8, 4($a3) -/* 0E68F0 7F0B1DC0 844F000C */ lh $t7, 0xc($v0) -/* 0E68F4 7F0B1DC4 448F5000 */ mtc1 $t7, $f10 -/* 0E68F8 7F0B1DC8 00000000 */ nop -/* 0E68FC 7F0B1DCC 46805420 */ cvt.s.w $f16, $f10 -/* 0E6900 7F0B1DD0 46008482 */ mul.s $f18, $f16, $f0 -/* 0E6904 7F0B1DD4 03E00008 */ jr $ra -/* 0E6908 7F0B1DD8 E4F20008 */ swc1 $f18, 8($a3) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B1DDC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B1DDC -/* 0E690C 7F0B1DDC 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* 0E6910 7F0B1DE0 F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 0E6914 7F0B1DE4 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E6918 7F0B1DE8 4485D000 */ mtc1 $a1, $f26 -/* 0E691C 7F0B1DEC C4200F44 */ lwc1 $f0, %lo(D_80040F44)($at) -/* 0E6920 7F0B1DF0 F7BC0040 */ sdc1 $f28, 0x40($sp) -/* 0E6924 7F0B1DF4 4486E000 */ mtc1 $a2, $f28 -/* 0E6928 7F0B1DF8 4600D682 */ mul.s $f26, $f26, $f0 -/* 0E692C 7F0B1DFC F7BE0048 */ sdc1 $f30, 0x48($sp) -/* 0E6930 7F0B1E00 4487F000 */ mtc1 $a3, $f30 -/* 0E6934 7F0B1E04 4600E702 */ mul.s $f28, $f28, $f0 -/* 0E6938 7F0B1E08 AFBF0074 */ sw $ra, 0x74($sp) -/* 0E693C 7F0B1E0C AFBE0070 */ sw $fp, 0x70($sp) -/* 0E6940 7F0B1E10 AFB7006C */ sw $s7, 0x6c($sp) -/* 0E6944 7F0B1E14 AFB60068 */ sw $s6, 0x68($sp) -/* 0E6948 7F0B1E18 AFB50064 */ sw $s5, 0x64($sp) -/* 0E694C 7F0B1E1C AFB40060 */ sw $s4, 0x60($sp) -/* 0E6950 7F0B1E20 AFB3005C */ sw $s3, 0x5c($sp) -/* 0E6954 7F0B1E24 AFB20058 */ sw $s2, 0x58($sp) -/* 0E6958 7F0B1E28 AFB10054 */ sw $s1, 0x54($sp) -/* 0E695C 7F0B1E2C AFB00050 */ sw $s0, 0x50($sp) -/* 0E6960 7F0B1E30 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 0E6964 7F0B1E34 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 0E6968 7F0B1E38 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0E696C 7F0B1E3C AFA000A4 */ sw $zero, 0xa4($sp) -/* 0E6970 7F0B1E40 8C8E0000 */ lw $t6, ($a0) -/* 0E6974 7F0B1E44 27AF00B0 */ addiu $t7, $sp, 0xb0 -/* 0E6978 7F0B1E48 4600F782 */ mul.s $f30, $f30, $f0 -/* 0E697C 7F0B1E4C 24140001 */ li $s4, 1 -/* 0E6980 7F0B1E50 AFAF0084 */ sw $t7, 0x84($sp) -/* 0E6984 7F0B1E54 27B200B0 */ addiu $s2, $sp, 0xb0 -/* 0E6988 7F0B1E58 8FB60164 */ lw $s6, 0x164($sp) -/* 0E698C 7F0B1E5C 8FB7016C */ lw $s7, 0x16c($sp) -/* 0E6990 7F0B1E60 8FBE0168 */ lw $fp, 0x168($sp) -/* 0E6994 7F0B1E64 AFAE00B0 */ sw $t6, 0xb0($sp) -/* 0E6998 7F0B1E68 8FB80084 */ lw $t8, 0x84($sp) -.L7F0B1E6C: -/* 0E699C 7F0B1E6C 8FB900A4 */ lw $t9, 0xa4($sp) -/* 0E69A0 7F0B1E70 8FAA0160 */ lw $t2, 0x160($sp) -/* 0E69A4 7F0B1E74 8F130000 */ lw $s3, ($t8) -/* 0E69A8 7F0B1E78 27090004 */ addiu $t1, $t8, 4 -/* 0E69AC 7F0B1E7C 27280001 */ addiu $t0, $t9, 1 -/* 0E69B0 7F0B1E80 AFA800A4 */ sw $t0, 0xa4($sp) -/* 0E69B4 7F0B1E84 AFA90084 */ sw $t1, 0x84($sp) -/* 0E69B8 7F0B1E88 11400004 */ beqz $t2, .L7F0B1E9C -/* 0E69BC 7F0B1E8C 00008025 */ move $s0, $zero -/* 0E69C0 7F0B1E90 02602025 */ move $a0, $s3 -/* 0E69C4 7F0B1E94 0140F809 */ jalr $t2 -/* 0E69C8 7F0B1E98 02E02825 */ move $a1, $s7 -.L7F0B1E9C: -/* 0E69CC 7F0B1E9C 86620006 */ lh $v0, 6($s3) -/* 0E69D0 7F0B1EA0 00025B03 */ sra $t3, $v0, 0xc -/* 0E69D4 7F0B1EA4 316C000F */ andi $t4, $t3, 0xf -/* 0E69D8 7F0B1EA8 19800069 */ blez $t4, .L7F0B2050 -/* 0E69DC 7F0B1EAC 01801025 */ move $v0, $t4 -.L7F0B1EB0: -/* 0E69E0 7F0B1EB0 26150001 */ addiu $s5, $s0, 1 -/* 0E69E4 7F0B1EB4 02A2001A */ div $zero, $s5, $v0 -/* 0E69E8 7F0B1EB8 00008810 */ mfhi $s1 -/* 0E69EC 7F0B1EBC 4406D000 */ mfc1 $a2, $f26 -/* 0E69F0 7F0B1EC0 14400002 */ bnez $v0, .L7F0B1ECC -/* 0E69F4 7F0B1EC4 00000000 */ nop -/* 0E69F8 7F0B1EC8 0007000D */ break 7 -.L7F0B1ECC: -/* 0E69FC 7F0B1ECC 2401FFFF */ li $at, -1 -/* 0E6A00 7F0B1ED0 14410004 */ bne $v0, $at, .L7F0B1EE4 -/* 0E6A04 7F0B1ED4 3C018000 */ lui $at, 0x8000 -/* 0E6A08 7F0B1ED8 16A10002 */ bne $s5, $at, .L7F0B1EE4 -/* 0E6A0C 7F0B1EDC 00000000 */ nop -/* 0E6A10 7F0B1EE0 0006000D */ break 6 -.L7F0B1EE4: -/* 0E6A14 7F0B1EE4 4407E000 */ mfc1 $a3, $f28 -/* 0E6A18 7F0B1EE8 02602025 */ move $a0, $s3 -/* 0E6A1C 7F0B1EEC 0FC2BF47 */ jal sub_GAME_7F0AFD1C -/* 0E6A20 7F0B1EF0 02002825 */ move $a1, $s0 -/* 0E6A24 7F0B1EF4 4406D000 */ mfc1 $a2, $f26 -/* 0E6A28 7F0B1EF8 4407E000 */ mfc1 $a3, $f28 -/* 0E6A2C 7F0B1EFC 46000586 */ mov.s $f22, $f0 -/* 0E6A30 7F0B1F00 02602025 */ move $a0, $s3 -/* 0E6A34 7F0B1F04 0FC2C019 */ jal sub_GAME_7F0B0064 -/* 0E6A38 7F0B1F08 02002825 */ move $a1, $s0 -/* 0E6A3C 7F0B1F0C 4406D000 */ mfc1 $a2, $f26 -/* 0E6A40 7F0B1F10 4407E000 */ mfc1 $a3, $f28 -/* 0E6A44 7F0B1F14 46000506 */ mov.s $f20, $f0 -/* 0E6A48 7F0B1F18 02602025 */ move $a0, $s3 -/* 0E6A4C 7F0B1F1C 0FC2C019 */ jal sub_GAME_7F0B0064 -/* 0E6A50 7F0B1F20 02202825 */ move $a1, $s1 -/* 0E6A54 7F0B1F24 461EB03C */ c.lt.s $f22, $f30 -/* 0E6A58 7F0B1F28 46000606 */ mov.s $f24, $f0 -/* 0E6A5C 7F0B1F2C 45020042 */ bc1fl .L7F0B2038 -/* 0E6A60 7F0B1F30 86620006 */ lh $v0, 6($s3) -/* 0E6A64 7F0B1F34 461EA03C */ c.lt.s $f20, $f30 -/* 0E6A68 7F0B1F38 00000000 */ nop -/* 0E6A6C 7F0B1F3C 4501000B */ bc1t .L7F0B1F6C -/* 0E6A70 7F0B1F40 00000000 */ nop -/* 0E6A74 7F0B1F44 461E003C */ c.lt.s $f0, $f30 -/* 0E6A78 7F0B1F48 02602025 */ move $a0, $s3 -/* 0E6A7C 7F0B1F4C 45010007 */ bc1t .L7F0B1F6C -/* 0E6A80 7F0B1F50 00000000 */ nop -/* 0E6A84 7F0B1F54 4406D000 */ mfc1 $a2, $f26 -/* 0E6A88 7F0B1F58 4407E000 */ mfc1 $a3, $f28 -/* 0E6A8C 7F0B1F5C 0FC2C066 */ jal sub_GAME_7F0B0198 -/* 0E6A90 7F0B1F60 02002825 */ move $a1, $s0 -/* 0E6A94 7F0B1F64 50400034 */ beql $v0, $zero, .L7F0B2038 -/* 0E6A98 7F0B1F68 86620006 */ lh $v0, 6($s3) -.L7F0B1F6C: -/* 0E6A9C 7F0B1F6C 12C00008 */ beqz $s6, .L7F0B1F90 -/* 0E6AA0 7F0B1F70 02602025 */ move $a0, $s3 -/* 0E6AA4 7F0B1F74 4406B000 */ mfc1 $a2, $f22 -/* 0E6AA8 7F0B1F78 4407A000 */ mfc1 $a3, $f20 -/* 0E6AAC 7F0B1F7C 02002825 */ move $a1, $s0 -/* 0E6AB0 7F0B1F80 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0E6AB4 7F0B1F84 02C0F809 */ jalr $s6 -/* 0E6AB8 7F0B1F88 AFB70014 */ sw $s7, 0x14($sp) -/* 0E6ABC 7F0B1F8C 1440001B */ bnez $v0, .L7F0B1FFC -.L7F0B1F90: -/* 0E6AC0 7F0B1F90 001068C0 */ sll $t5, $s0, 3 -/* 0E6AC4 7F0B1F94 026D7021 */ addu $t6, $s3, $t5 -/* 0E6AC8 7F0B1F98 95C4000E */ lhu $a0, 0xe($t6) -/* 0E6ACC 7F0B1F9C 3C088004 */ lui $t0, %hi(base_ptr_connection_vals) -/* 0E6AD0 7F0B1FA0 2682FFFF */ addiu $v0, $s4, -1 -/* 0E6AD4 7F0B1FA4 00047903 */ sra $t7, $a0, 4 -/* 0E6AD8 7F0B1FA8 11E00014 */ beqz $t7, .L7F0B1FFC -/* 0E6ADC 7F0B1FAC 0004C8C0 */ sll $t9, $a0, 3 -/* 0E6AE0 7F0B1FB0 8D080F58 */ lw $t0, %lo(base_ptr_connection_vals)($t0) -/* 0E6AE4 7F0B1FB4 00402825 */ move $a1, $v0 -/* 0E6AE8 7F0B1FB8 0440000B */ bltz $v0, .L7F0B1FE8 -/* 0E6AEC 7F0B1FBC 03281821 */ addu $v1, $t9, $t0 -/* 0E6AF0 7F0B1FC0 0002C080 */ sll $t8, $v0, 2 -/* 0E6AF4 7F0B1FC4 27A900B0 */ addiu $t1, $sp, 0xb0 -/* 0E6AF8 7F0B1FC8 03091021 */ addu $v0, $t8, $t1 -/* 0E6AFC 7F0B1FCC 8C4A0000 */ lw $t2, ($v0) -.L7F0B1FD0: -/* 0E6B00 7F0B1FD0 2442FFFC */ addiu $v0, $v0, -4 -/* 0E6B04 7F0B1FD4 0052082B */ sltu $at, $v0, $s2 -/* 0E6B08 7F0B1FD8 506A0017 */ beql $v1, $t2, .L7F0B2038 -/* 0E6B0C 7F0B1FDC 86620006 */ lh $v0, 6($s3) -/* 0E6B10 7F0B1FE0 5020FFFB */ beql $at, $zero, .L7F0B1FD0 -/* 0E6B14 7F0B1FE4 8C4A0000 */ lw $t2, ($v0) -.L7F0B1FE8: -/* 0E6B18 7F0B1FE8 00145880 */ sll $t3, $s4, 2 -/* 0E6B1C 7F0B1FEC 03AB6021 */ addu $t4, $sp, $t3 -/* 0E6B20 7F0B1FF0 AD8300B0 */ sw $v1, 0xb0($t4) -/* 0E6B24 7F0B1FF4 1000000F */ b .L7F0B2034 -/* 0E6B28 7F0B1FF8 26940001 */ addiu $s4, $s4, 1 -.L7F0B1FFC: -/* 0E6B2C 7F0B1FFC 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B9E4) -/* 0E6B30 7F0B2000 AC33B9E4 */ sw $s3, %lo(dword_CODE_bss_8007B9E4)($at) -/* 0E6B34 7F0B2004 3C018008 */ lui $at, %hi(dword_CODE_bss_8007B9E8) -/* 0E6B38 7F0B2008 13C00008 */ beqz $fp, .L7F0B202C -/* 0E6B3C 7F0B200C AC30B9E8 */ sw $s0, %lo(dword_CODE_bss_8007B9E8)($at) -/* 0E6B40 7F0B2010 27A400B0 */ addiu $a0, $sp, 0xb0 -/* 0E6B44 7F0B2014 02802825 */ move $a1, $s4 -/* 0E6B48 7F0B2018 03C0F809 */ jalr $fp -/* 0E6B4C 7F0B201C 02E03025 */ move $a2, $s7 -/* 0E6B50 7F0B2020 24010001 */ li $at, 1 -/* 0E6B54 7F0B2024 50410004 */ beql $v0, $at, .L7F0B2038 -/* 0E6B58 7F0B2028 86620006 */ lh $v0, 6($s3) -.L7F0B202C: -/* 0E6B5C 7F0B202C 10000016 */ b .L7F0B2088 -/* 0E6B60 7F0B2030 24020002 */ li $v0, 2 -.L7F0B2034: -/* 0E6B64 7F0B2034 86620006 */ lh $v0, 6($s3) -.L7F0B2038: -/* 0E6B68 7F0B2038 02A08025 */ move $s0, $s5 -/* 0E6B6C 7F0B203C 00026B03 */ sra $t5, $v0, 0xc -/* 0E6B70 7F0B2040 31AE000F */ andi $t6, $t5, 0xf -/* 0E6B74 7F0B2044 02AE082A */ slt $at, $s5, $t6 -/* 0E6B78 7F0B2048 1420FF99 */ bnez $at, .L7F0B1EB0 -/* 0E6B7C 7F0B204C 01C01025 */ move $v0, $t6 -.L7F0B2050: -/* 0E6B80 7F0B2050 2E810029 */ sltiu $at, $s4, 0x29 -/* 0E6B84 7F0B2054 14200003 */ bnez $at, .L7F0B2064 -/* 0E6B88 7F0B2058 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 0E6B8C 7F0B205C 1000000A */ b .L7F0B2088 -/* 0E6B90 7F0B2060 24020005 */ li $v0, 5 -.L7F0B2064: -/* 0E6B94 7F0B2064 01F4082A */ slt $at, $t7, $s4 -/* 0E6B98 7F0B2068 5420FF80 */ bnezl $at, .L7F0B1E6C -/* 0E6B9C 7F0B206C 8FB80084 */ lw $t8, 0x84($sp) -/* 0E6BA0 7F0B2070 13C00004 */ beqz $fp, .L7F0B2084 -/* 0E6BA4 7F0B2074 27A400B0 */ addiu $a0, $sp, 0xb0 -/* 0E6BA8 7F0B2078 02802825 */ move $a1, $s4 -/* 0E6BAC 7F0B207C 03C0F809 */ jalr $fp -/* 0E6BB0 7F0B2080 02E03025 */ move $a2, $s7 -.L7F0B2084: -/* 0E6BB4 7F0B2084 2402FFFE */ li $v0, -2 -.L7F0B2088: -/* 0E6BB8 7F0B2088 8FBF0074 */ lw $ra, 0x74($sp) -/* 0E6BBC 7F0B208C D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0E6BC0 7F0B2090 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 0E6BC4 7F0B2094 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 0E6BC8 7F0B2098 D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 0E6BCC 7F0B209C D7BC0040 */ ldc1 $f28, 0x40($sp) -/* 0E6BD0 7F0B20A0 D7BE0048 */ ldc1 $f30, 0x48($sp) -/* 0E6BD4 7F0B20A4 8FB00050 */ lw $s0, 0x50($sp) -/* 0E6BD8 7F0B20A8 8FB10054 */ lw $s1, 0x54($sp) -/* 0E6BDC 7F0B20AC 8FB20058 */ lw $s2, 0x58($sp) -/* 0E6BE0 7F0B20B0 8FB3005C */ lw $s3, 0x5c($sp) -/* 0E6BE4 7F0B20B4 8FB40060 */ lw $s4, 0x60($sp) -/* 0E6BE8 7F0B20B8 8FB50064 */ lw $s5, 0x64($sp) -/* 0E6BEC 7F0B20BC 8FB60068 */ lw $s6, 0x68($sp) -/* 0E6BF0 7F0B20C0 8FB7006C */ lw $s7, 0x6c($sp) -/* 0E6BF4 7F0B20C4 8FBE0070 */ lw $fp, 0x70($sp) -/* 0E6BF8 7F0B20C8 03E00008 */ jr $ra -/* 0E6BFC 7F0B20CC 27BD0150 */ addiu $sp, $sp, 0x150 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B20D0(s32 arg1, ? arg2, ? arg3) { - // Node 0 - sub_GAME_7F0B1DDC(arg1, arg2, arg1, arg2, 0, 0, 0, 0); -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B20D0 -/* 0E6C00 7F0B20D0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E6C04 7F0B20D4 44856000 */ mtc1 $a1, $f12 -/* 0E6C08 7F0B20D8 44867000 */ mtc1 $a2, $f14 -/* 0E6C0C 7F0B20DC AFBF0024 */ sw $ra, 0x24($sp) -/* 0E6C10 7F0B20E0 44056000 */ mfc1 $a1, $f12 -/* 0E6C14 7F0B20E4 44067000 */ mfc1 $a2, $f14 -/* 0E6C18 7F0B20E8 AFA70034 */ sw $a3, 0x34($sp) -/* 0E6C1C 7F0B20EC AFA00010 */ sw $zero, 0x10($sp) -/* 0E6C20 7F0B20F0 AFA00014 */ sw $zero, 0x14($sp) -/* 0E6C24 7F0B20F4 AFA00018 */ sw $zero, 0x18($sp) -/* 0E6C28 7F0B20F8 0FC2C777 */ jal sub_GAME_7F0B1DDC -/* 0E6C2C 7F0B20FC AFA0001C */ sw $zero, 0x1c($sp) -/* 0E6C30 7F0B2100 8FBF0024 */ lw $ra, 0x24($sp) -/* 0E6C34 7F0B2104 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E6C38 7F0B2108 03E00008 */ jr $ra -/* 0E6C3C 7F0B210C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2110(void *arg0, void *arg1) { - s32 temp_v1; - void *phi_t0; - s32 phi_v1; - - // Node 0 - if (arg1->unk4 > 0) - { - // Node 1 - phi_t0 = *arg1; - phi_v1 = 0; -loop_2: - // Node 2 - if (arg0->unk3 == *phi_t0) - { - // Node 3 - return 0; - } - // Node 4 - temp_v1 = (phi_v1 + 1); - phi_t0 = (phi_t0 + 4); - phi_v1 = temp_v1; - if (temp_v1 < arg1->unk4) - { - goto loop_2; - } - } - // Node 5 - if (arg1->unk4 < arg1->unk8) - { - // Node 6 - *(*arg1 + (arg1->unk4 * 4)) = (s32) arg0->unk3; - arg1->unk4 = (s32) (arg1->unk4 + 1); - } - // Node 7 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2110 -/* 0E6C40 7F0B2110 8CA60004 */ lw $a2, 4($a1) -/* 0E6C44 7F0B2114 00A01025 */ move $v0, $a1 -/* 0E6C48 7F0B2118 00001825 */ move $v1, $zero -/* 0E6C4C 7F0B211C 58C0000F */ blezl $a2, .L7F0B215C -/* 0E6C50 7F0B2120 8CB80008 */ lw $t8, 8($a1) -/* 0E6C54 7F0B2124 90870003 */ lbu $a3, 3($a0) -/* 0E6C58 7F0B2128 8CA80000 */ lw $t0, ($a1) -/* 0E6C5C 7F0B212C 8D0E0000 */ lw $t6, ($t0) -.L7F0B2130: -/* 0E6C60 7F0B2130 54EE0004 */ bnel $a3, $t6, .L7F0B2144 -/* 0E6C64 7F0B2134 8C4F0004 */ lw $t7, 4($v0) -/* 0E6C68 7F0B2138 03E00008 */ jr $ra -/* 0E6C6C 7F0B213C 00001025 */ move $v0, $zero - -/* 0E6C70 7F0B2140 8C4F0004 */ lw $t7, 4($v0) -.L7F0B2144: -/* 0E6C74 7F0B2144 24630001 */ addiu $v1, $v1, 1 -/* 0E6C78 7F0B2148 25080004 */ addiu $t0, $t0, 4 -/* 0E6C7C 7F0B214C 006F082A */ slt $at, $v1, $t7 -/* 0E6C80 7F0B2150 5420FFF7 */ bnezl $at, .L7F0B2130 -/* 0E6C84 7F0B2154 8D0E0000 */ lw $t6, ($t0) -/* 0E6C88 7F0B2158 8CB80008 */ lw $t8, 8($a1) -.L7F0B215C: -/* 0E6C8C 7F0B215C 00001025 */ move $v0, $zero -/* 0E6C90 7F0B2160 00D8082A */ slt $at, $a2, $t8 -/* 0E6C94 7F0B2164 10200009 */ beqz $at, .L7F0B218C -/* 0E6C98 7F0B2168 00000000 */ nop -/* 0E6C9C 7F0B216C 8CA90000 */ lw $t1, ($a1) -/* 0E6CA0 7F0B2170 90990003 */ lbu $t9, 3($a0) -/* 0E6CA4 7F0B2174 00065080 */ sll $t2, $a2, 2 -/* 0E6CA8 7F0B2178 012A5821 */ addu $t3, $t1, $t2 -/* 0E6CAC 7F0B217C AD790000 */ sw $t9, ($t3) -/* 0E6CB0 7F0B2180 8CAC0004 */ lw $t4, 4($a1) -/* 0E6CB4 7F0B2184 258D0001 */ addiu $t5, $t4, 1 -/* 0E6CB8 7F0B2188 ACAD0004 */ sw $t5, 4($a1) -.L7F0B218C: -/* 0E6CBC 7F0B218C 03E00008 */ jr $ra -/* 0E6CC0 7F0B2190 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2194(s32 arg0, s32 arg1, void *arg2) { - // Node 0 - arg2->unkC = (s32) (arg2->unkC + 1); - return 1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2194 -/* 0E6CC4 7F0B2194 AFA40000 */ sw $a0, ($sp) -/* 0E6CC8 7F0B2198 AFA50004 */ sw $a1, 4($sp) -/* 0E6CCC 7F0B219C 8CCE000C */ lw $t6, 0xc($a2) -/* 0E6CD0 7F0B21A0 24020001 */ li $v0, 1 -/* 0E6CD4 7F0B21A4 25CF0001 */ addiu $t7, $t6, 1 -/* 0E6CD8 7F0B21A8 03E00008 */ jr $ra -/* 0E6CDC 7F0B21AC ACCF000C */ sw $t7, 0xc($a2) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B21B0(s32 arg1, ? arg2, ? arg3, ?32 arg4, void *arg5, ?32 arg6) { - ?32 sp30; - ?32 sp34; - ?32 sp38; - s32 sp3C; - - // Node 0 - sp34 = 0; - sp3C = 0; - sp30 = arg4; - sp38 = arg6; - *arg5 = sp34; - if (sp3C >= 2) - { - // Node 1 - } - // Node 2 - return sub_GAME_7F0B1DDC(arg1, arg2, arg1, arg2, &sub_GAME_7F0B2110, 0, &sub_GAME_7F0B2194, &sp30); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B21B0 -/* 0E6CE0 7F0B21B0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0E6CE4 7F0B21B4 44856000 */ mtc1 $a1, $f12 -/* 0E6CE8 7F0B21B8 44867000 */ mtc1 $a2, $f14 -/* 0E6CEC 7F0B21BC 8FAE0050 */ lw $t6, 0x50($sp) -/* 0E6CF0 7F0B21C0 8FAF0058 */ lw $t7, 0x58($sp) -/* 0E6CF4 7F0B21C4 3C187F0B */ lui $t8, %hi(sub_GAME_7F0B2110) # $t8, 0x7f0b -/* 0E6CF8 7F0B21C8 3C197F0B */ lui $t9, %hi(sub_GAME_7F0B2194) # $t9, 0x7f0b -/* 0E6CFC 7F0B21CC AFBF0024 */ sw $ra, 0x24($sp) -/* 0E6D00 7F0B21D0 27392194 */ addiu $t9, %lo(sub_GAME_7F0B2194) # addiu $t9, $t9, 0x2194 -/* 0E6D04 7F0B21D4 27182110 */ addiu $t8, %lo(sub_GAME_7F0B2110) # addiu $t8, $t8, 0x2110 -/* 0E6D08 7F0B21D8 27A80030 */ addiu $t0, $sp, 0x30 -/* 0E6D0C 7F0B21DC 44056000 */ mfc1 $a1, $f12 -/* 0E6D10 7F0B21E0 44067000 */ mfc1 $a2, $f14 -/* 0E6D14 7F0B21E4 AFA7004C */ sw $a3, 0x4c($sp) -/* 0E6D18 7F0B21E8 AFA00034 */ sw $zero, 0x34($sp) -/* 0E6D1C 7F0B21EC AFA0003C */ sw $zero, 0x3c($sp) -/* 0E6D20 7F0B21F0 AFA8001C */ sw $t0, 0x1c($sp) -/* 0E6D24 7F0B21F4 AFB80010 */ sw $t8, 0x10($sp) -/* 0E6D28 7F0B21F8 AFB90018 */ sw $t9, 0x18($sp) -/* 0E6D2C 7F0B21FC AFA00014 */ sw $zero, 0x14($sp) -/* 0E6D30 7F0B2200 AFAE0030 */ sw $t6, 0x30($sp) -/* 0E6D34 7F0B2204 0FC2C777 */ jal sub_GAME_7F0B1DDC -/* 0E6D38 7F0B2208 AFAF0038 */ sw $t7, 0x38($sp) -/* 0E6D3C 7F0B220C 8FA90034 */ lw $t1, 0x34($sp) -/* 0E6D40 7F0B2210 8FAA0054 */ lw $t2, 0x54($sp) -/* 0E6D44 7F0B2214 00401825 */ move $v1, $v0 -/* 0E6D48 7F0B2218 00601025 */ move $v0, $v1 -/* 0E6D4C 7F0B221C AD490000 */ sw $t1, ($t2) -/* 0E6D50 7F0B2220 8FAB003C */ lw $t3, 0x3c($sp) -/* 0E6D54 7F0B2224 8FBF0024 */ lw $ra, 0x24($sp) -/* 0E6D58 7F0B2228 29610002 */ slti $at, $t3, 2 -/* 0E6D5C 7F0B222C 14200003 */ bnez $at, .L7F0B223C -/* 0E6D60 7F0B2230 00000000 */ nop -/* 0E6D64 7F0B2234 10000001 */ b .L7F0B223C -/* 0E6D68 7F0B2238 24020002 */ li $v0, 2 -.L7F0B223C: -/* 0E6D6C 7F0B223C 03E00008 */ jr $ra -/* 0E6D70 7F0B2240 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2244(void *arg0, void *arg1) { - // Node 0 - if ((*(&D_80040F30 + ((s32) arg0->unk4 >> 0xc)) & 2) != 0) - { - // Node 1 - *arg1 = 1; - } - // Node 2 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2244 -/* 0E6D74 7F0B2244 84820004 */ lh $v0, 4($a0) -/* 0E6D78 7F0B2248 3C0F8004 */ lui $t7, %hi(D_80040F30) -/* 0E6D7C 7F0B224C 24190001 */ li $t9, 1 -/* 0E6D80 7F0B2250 00027303 */ sra $t6, $v0, 0xc -/* 0E6D84 7F0B2254 01EE7821 */ addu $t7, $t7, $t6 -/* 0E6D88 7F0B2258 91EF0F30 */ lbu $t7, %lo(D_80040F30)($t7) -/* 0E6D8C 7F0B225C 31F80002 */ andi $t8, $t7, 2 -/* 0E6D90 7F0B2260 13000002 */ beqz $t8, .L7F0B226C -/* 0E6D94 7F0B2264 00000000 */ nop -/* 0E6D98 7F0B2268 ACB90000 */ sw $t9, ($a1) -.L7F0B226C: -/* 0E6D9C 7F0B226C 03E00008 */ jr $ra -/* 0E6DA0 7F0B2270 00001025 */ move $v0, $zero -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2274(s32 arg0, s32 arg1, ? arg2, ? arg3, void *arg5) { - void *temp_t7; - void *temp_v1; - - // Node 0 - temp_t7 = (arg0 + (arg1 * 8)); - if (((s32) temp_t7->unkE >> 4) != 0) - { - // Node 1 - temp_v1 = ((temp_t7->unkE * 8) + base_ptr_connection_vals); - if ((*(&D_80040F30 + ((s32) temp_v1->unk4 >> 0xc)) & 2) != 0) - { - // Node 2 - *arg5 = 1; - return 1; - } - // Node 3 - if ((*(&D_80040F30 + ((s32) temp_v1->unk4 >> 0xc)) & 0x40) != 0) - { - // Node 4 - dword_CODE_bss_8007BA0C = temp_v1; - arg5->unk4 = 1; - return 0; - } - } - // Node 5 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2274 -/* 0E6DA4 7F0B2274 000570C0 */ sll $t6, $a1, 3 -/* 0E6DA8 7F0B2278 AFA60008 */ sw $a2, 8($sp) -/* 0E6DAC 7F0B227C AFA7000C */ sw $a3, 0xc($sp) -/* 0E6DB0 7F0B2280 008E7821 */ addu $t7, $a0, $t6 -/* 0E6DB4 7F0B2284 95E2000E */ lhu $v0, 0xe($t7) -/* 0E6DB8 7F0B2288 3C088004 */ lui $t0, %hi(base_ptr_connection_vals) -/* 0E6DBC 7F0B228C 0002C103 */ sra $t8, $v0, 4 -/* 0E6DC0 7F0B2290 5300001E */ beql $t8, $zero, .L7F0B230C -/* 0E6DC4 7F0B2294 00001025 */ move $v0, $zero -/* 0E6DC8 7F0B2298 8D080F58 */ lw $t0, %lo(base_ptr_connection_vals)($t0) -/* 0E6DCC 7F0B229C 0002C8C0 */ sll $t9, $v0, 3 -/* 0E6DD0 7F0B22A0 3C058004 */ lui $a1, %hi(D_80040F30) -/* 0E6DD4 7F0B22A4 03281821 */ addu $v1, $t9, $t0 -/* 0E6DD8 7F0B22A8 84640004 */ lh $a0, 4($v1) -/* 0E6DDC 7F0B22AC 24A50F30 */ addiu $a1, %lo(D_80040F30) # addiu $a1, $a1, 0xf30 -/* 0E6DE0 7F0B22B0 240D0001 */ li $t5, 1 -/* 0E6DE4 7F0B22B4 00044B03 */ sra $t1, $a0, 0xc -/* 0E6DE8 7F0B22B8 00A95021 */ addu $t2, $a1, $t1 -/* 0E6DEC 7F0B22BC 914B0000 */ lbu $t3, ($t2) -/* 0E6DF0 7F0B22C0 00047B03 */ sra $t7, $a0, 0xc -/* 0E6DF4 7F0B22C4 8FAE0014 */ lw $t6, 0x14($sp) -/* 0E6DF8 7F0B22C8 316C0002 */ andi $t4, $t3, 2 -/* 0E6DFC 7F0B22CC 11800004 */ beqz $t4, .L7F0B22E0 -/* 0E6E00 7F0B22D0 00AFC021 */ addu $t8, $a1, $t7 -/* 0E6E04 7F0B22D4 ADCD0000 */ sw $t5, ($t6) -/* 0E6E08 7F0B22D8 03E00008 */ jr $ra -/* 0E6E0C 7F0B22DC 24020001 */ li $v0, 1 - -.L7F0B22E0: -/* 0E6E10 7F0B22E0 93190000 */ lbu $t9, ($t8) -/* 0E6E14 7F0B22E4 3C018008 */ lui $at, %hi(dword_CODE_bss_8007BA0C) -/* 0E6E18 7F0B22E8 24090001 */ li $t1, 1 -/* 0E6E1C 7F0B22EC 33280040 */ andi $t0, $t9, 0x40 -/* 0E6E20 7F0B22F0 11000005 */ beqz $t0, .L7F0B2308 -/* 0E6E24 7F0B22F4 00001025 */ move $v0, $zero -/* 0E6E28 7F0B22F8 8FAA0014 */ lw $t2, 0x14($sp) -/* 0E6E2C 7F0B22FC AC23BA0C */ sw $v1, %lo(dword_CODE_bss_8007BA0C)($at) -/* 0E6E30 7F0B2300 03E00008 */ jr $ra -/* 0E6E34 7F0B2304 AD490004 */ sw $t1, 4($t2) - -.L7F0B2308: -/* 0E6E38 7F0B2308 00001025 */ move $v0, $zero -.L7F0B230C: -/* 0E6E3C 7F0B230C 03E00008 */ jr $ra -/* 0E6E40 7F0B2310 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2314(s32 arg0, s32 arg1, ? arg2, ? arg3, void *arg4) { - s32 temp_v1; - void *phi_v0; - s32 phi_v1; - - // Node 0 - phi_v0 = arg4; - phi_v1 = 0; -loop_1: - // Node 1 - temp_v1 = (phi_v1 + 4); - *phi_v0 = 0; - phi_v0->unk4 = 0; - phi_v0->unk8 = 0; - phi_v0->unkC = 0; - phi_v0 = (phi_v0 + 0x10); - phi_v1 = temp_v1; - if (temp_v1 != 0x10) - { - goto loop_1; - } - // Node 2 - return sub_GAME_7F0B1DDC(arg1, arg2, arg0, arg1, arg2, arg3, &sub_GAME_7F0B2244, &sub_GAME_7F0B2274, 0, arg4); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2314 -/* 0E6E44 7F0B2314 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E6E48 7F0B2318 AFA40028 */ sw $a0, 0x28($sp) -/* 0E6E4C 7F0B231C 44856000 */ mtc1 $a1, $f12 -/* 0E6E50 7F0B2320 44867000 */ mtc1 $a2, $f14 -/* 0E6E54 7F0B2324 AFBF0024 */ sw $ra, 0x24($sp) -/* 0E6E58 7F0B2328 AFA70034 */ sw $a3, 0x34($sp) -/* 0E6E5C 7F0B232C 24040010 */ li $a0, 16 -/* 0E6E60 7F0B2330 8FA20038 */ lw $v0, 0x38($sp) -/* 0E6E64 7F0B2334 00001825 */ move $v1, $zero -.L7F0B2338: -/* 0E6E68 7F0B2338 24630004 */ addiu $v1, $v1, 4 -/* 0E6E6C 7F0B233C AC400000 */ sw $zero, ($v0) -/* 0E6E70 7F0B2340 AC400004 */ sw $zero, 4($v0) -/* 0E6E74 7F0B2344 AC400008 */ sw $zero, 8($v0) -/* 0E6E78 7F0B2348 AC40000C */ sw $zero, 0xc($v0) -/* 0E6E7C 7F0B234C 1464FFFA */ bne $v1, $a0, .L7F0B2338 -/* 0E6E80 7F0B2350 24420010 */ addiu $v0, $v0, 0x10 -/* 0E6E84 7F0B2354 8FB80038 */ lw $t8, 0x38($sp) -/* 0E6E88 7F0B2358 3C0E7F0B */ lui $t6, %hi(sub_GAME_7F0B2244) # $t6, 0x7f0b -/* 0E6E8C 7F0B235C 3C0F7F0B */ lui $t7, %hi(sub_GAME_7F0B2274) # $t7, 0x7f0b -/* 0E6E90 7F0B2360 25EF2274 */ addiu $t7, %lo(sub_GAME_7F0B2274) # addiu $t7, $t7, 0x2274 -/* 0E6E94 7F0B2364 25CE2244 */ addiu $t6, %lo(sub_GAME_7F0B2244) # addiu $t6, $t6, 0x2244 -/* 0E6E98 7F0B2368 44056000 */ mfc1 $a1, $f12 -/* 0E6E9C 7F0B236C 44067000 */ mfc1 $a2, $f14 -/* 0E6EA0 7F0B2370 AFAE0010 */ sw $t6, 0x10($sp) -/* 0E6EA4 7F0B2374 AFAF0014 */ sw $t7, 0x14($sp) -/* 0E6EA8 7F0B2378 8FA40028 */ lw $a0, 0x28($sp) -/* 0E6EAC 7F0B237C 8FA70034 */ lw $a3, 0x34($sp) -/* 0E6EB0 7F0B2380 AFA00018 */ sw $zero, 0x18($sp) -/* 0E6EB4 7F0B2384 0FC2C777 */ jal sub_GAME_7F0B1DDC -/* 0E6EB8 7F0B2388 AFB8001C */ sw $t8, 0x1c($sp) -/* 0E6EBC 7F0B238C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0E6EC0 7F0B2390 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E6EC4 7F0B2394 03E00008 */ jr $ra -/* 0E6EC8 7F0B2398 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0B239C(void *arg0) { - // Node 0 - return *arg0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B239C -/* 0E6ECC 7F0B239C 03E00008 */ jr $ra -/* 0E6ED0 7F0B23A0 8C820000 */ lw $v0, ($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B23A4(void *arg0) { - // Node 0 - return arg0->unk4; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B23A4 -/* 0E6ED4 7F0B23A4 03E00008 */ jr $ra -/* 0E6ED8 7F0B23A8 8C820004 */ lw $v0, 4($a0) -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B23AC(void *arg0, s32 arg1, void *arg2) { - void *temp_v0; - - // Node 0 - temp_v0 = (arg0 + ((((s32) arg0->unk6 >> (8 - (arg1 * 4))) & 0xf) * 8)); - *arg2 = (f32) ((f32) temp_v0->unk8 * D_80040F48); - arg2->unk4 = (f32) ((f32) temp_v0->unkA * D_80040F48); - arg2->unk8 = (f32) ((f32) temp_v0->unkC * D_80040F48); - return D_80040F48; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B23AC -/* 0E6EDC 7F0B23AC 848E0006 */ lh $t6, 6($a0) -/* 0E6EE0 7F0B23B0 00057880 */ sll $t7, $a1, 2 -/* 0E6EE4 7F0B23B4 24180008 */ li $t8, 8 -/* 0E6EE8 7F0B23B8 030FC823 */ subu $t9, $t8, $t7 -/* 0E6EEC 7F0B23BC 032E2807 */ srav $a1, $t6, $t9 -/* 0E6EF0 7F0B23C0 30A8000F */ andi $t0, $a1, 0xf -/* 0E6EF4 7F0B23C4 000848C0 */ sll $t1, $t0, 3 -/* 0E6EF8 7F0B23C8 00891021 */ addu $v0, $a0, $t1 -/* 0E6EFC 7F0B23CC 844A0008 */ lh $t2, 8($v0) -/* 0E6F00 7F0B23D0 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E6F04 7F0B23D4 C4200F48 */ lwc1 $f0, %lo(D_80040F48)($at) -/* 0E6F08 7F0B23D8 448A2000 */ mtc1 $t2, $f4 -/* 0E6F0C 7F0B23DC 00000000 */ nop -/* 0E6F10 7F0B23E0 468021A0 */ cvt.s.w $f6, $f4 -/* 0E6F14 7F0B23E4 46003202 */ mul.s $f8, $f6, $f0 -/* 0E6F18 7F0B23E8 E4C80000 */ swc1 $f8, ($a2) -/* 0E6F1C 7F0B23EC 844B000A */ lh $t3, 0xa($v0) -/* 0E6F20 7F0B23F0 448B5000 */ mtc1 $t3, $f10 -/* 0E6F24 7F0B23F4 00000000 */ nop -/* 0E6F28 7F0B23F8 46805420 */ cvt.s.w $f16, $f10 -/* 0E6F2C 7F0B23FC 46008482 */ mul.s $f18, $f16, $f0 -/* 0E6F30 7F0B2400 E4D20004 */ swc1 $f18, 4($a2) -/* 0E6F34 7F0B2404 844C000C */ lh $t4, 0xc($v0) -/* 0E6F38 7F0B2408 448C2000 */ mtc1 $t4, $f4 -/* 0E6F3C 7F0B240C 00000000 */ nop -/* 0E6F40 7F0B2410 468021A0 */ cvt.s.w $f6, $f4 -/* 0E6F44 7F0B2414 46003202 */ mul.s $f8, $f6, $f0 -/* 0E6F48 7F0B2418 03E00008 */ jr $ra -/* 0E6F4C 7F0B241C E4C80008 */ swc1 $f8, 8($a2) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2420(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2420 -/* 0E6F50 7F0B2420 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0E6F54 7F0B2424 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007BA0C) -/* 0E6F58 7F0B2428 8D29BA0C */ lw $t1, %lo(dword_CODE_bss_8007BA0C)($t1) -/* 0E6F5C 7F0B242C AFBF003C */ sw $ra, 0x3c($sp) -/* 0E6F60 7F0B2430 AFBE0038 */ sw $fp, 0x38($sp) -/* 0E6F64 7F0B2434 AFB70034 */ sw $s7, 0x34($sp) -/* 0E6F68 7F0B2438 AFB60030 */ sw $s6, 0x30($sp) -/* 0E6F6C 7F0B243C AFB5002C */ sw $s5, 0x2c($sp) -/* 0E6F70 7F0B2440 AFB40028 */ sw $s4, 0x28($sp) -/* 0E6F74 7F0B2444 AFB30024 */ sw $s3, 0x24($sp) -/* 0E6F78 7F0B2448 AFB20020 */ sw $s2, 0x20($sp) -/* 0E6F7C 7F0B244C AFB1001C */ sw $s1, 0x1c($sp) -/* 0E6F80 7F0B2450 AFB00018 */ sw $s0, 0x18($sp) -/* 0E6F84 7F0B2454 85280006 */ lh $t0, 6($t1) -/* 0E6F88 7F0B2458 00808025 */ move $s0, $a0 -/* 0E6F8C 7F0B245C 00A08825 */ move $s1, $a1 -/* 0E6F90 7F0B2460 00087303 */ sra $t6, $t0, 0xc -/* 0E6F94 7F0B2464 31C8000F */ andi $t0, $t6, 0xf -/* 0E6F98 7F0B2468 00C0A825 */ move $s5, $a2 -/* 0E6F9C 7F0B246C 1900005B */ blez $t0, .L7F0B25DC -/* 0E6FA0 7F0B2470 00003825 */ move $a3, $zero -/* 0E6FA4 7F0B2474 3C048004 */ lui $a0, %hi(base_ptr_connection_vals) -/* 0E6FA8 7F0B2478 3C058004 */ lui $a1, %hi(D_80040F30) -/* 0E6FAC 7F0B247C 24A50F30 */ addiu $a1, %lo(D_80040F30) # addiu $a1, $a1, 0xf30 -/* 0E6FB0 7F0B2480 8C840F58 */ lw $a0, %lo(base_ptr_connection_vals)($a0) -/* 0E6FB4 7F0B2484 01201825 */ move $v1, $t1 -.L7F0B2488: -/* 0E6FB8 7F0B2488 9462000E */ lhu $v0, 0xe($v1) -/* 0E6FBC 7F0B248C 0002C0C0 */ sll $t8, $v0, 3 -/* 0E6FC0 7F0B2490 0002C903 */ sra $t9, $v0, 4 -/* 0E6FC4 7F0B2494 1320004D */ beqz $t9, .L7F0B25CC -/* 0E6FC8 7F0B2498 0304B021 */ addu $s6, $t8, $a0 -/* 0E6FCC 7F0B249C 86C20004 */ lh $v0, 4($s6) -/* 0E6FD0 7F0B24A0 00025303 */ sra $t2, $v0, 0xc -/* 0E6FD4 7F0B24A4 00AA5821 */ addu $t3, $a1, $t2 -/* 0E6FD8 7F0B24A8 916C0000 */ lbu $t4, ($t3) -/* 0E6FDC 7F0B24AC 318D0040 */ andi $t5, $t4, 0x40 -/* 0E6FE0 7F0B24B0 11A00046 */ beqz $t5, .L7F0B25CC -/* 0E6FE4 7F0B24B4 24FE0002 */ addiu $fp, $a3, 2 -/* 0E6FE8 7F0B24B8 24010003 */ li $at, 3 -/* 0E6FEC 7F0B24BC 03C1001A */ div $zero, $fp, $at -/* 0E6FF0 7F0B24C0 AE090000 */ sw $t1, ($s0) -/* 0E6FF4 7F0B24C4 00007010 */ mfhi $t6 -/* 0E6FF8 7F0B24C8 AE360000 */ sw $s6, ($s1) -/* 0E6FFC 7F0B24CC 0000B825 */ move $s7, $zero -/* 0E7000 7F0B24D0 AFA90040 */ sw $t1, 0x40($sp) -/* 0E7004 7F0B24D4 01C0F025 */ move $fp, $t6 -/* 0E7008 7F0B24D8 2414000C */ li $s4, 12 -/* 0E700C 7F0B24DC 24130003 */ li $s3, 3 -/* 0E7010 7F0B24E0 00008025 */ move $s0, $zero -.L7F0B24E4: -/* 0E7014 7F0B24E4 00179083 */ sra $s2, $s7, 2 -/* 0E7018 7F0B24E8 02E08825 */ move $s1, $s7 -.L7F0B24EC: -/* 0E701C 7F0B24EC 02507821 */ addu $t7, $s2, $s0 -/* 0E7020 7F0B24F0 01F3001A */ div $zero, $t7, $s3 -/* 0E7024 7F0B24F4 00002810 */ mfhi $a1 -/* 0E7028 7F0B24F8 32380003 */ andi $t8, $s1, 3 -/* 0E702C 7F0B24FC 02C02025 */ move $a0, $s6 -/* 0E7030 7F0B2500 03140019 */ multu $t8, $s4 -/* 0E7034 7F0B2504 16600002 */ bnez $s3, .L7F0B2510 -/* 0E7038 7F0B2508 00000000 */ nop -/* 0E703C 7F0B250C 0007000D */ break 7 -.L7F0B2510: -/* 0E7040 7F0B2510 2401FFFF */ li $at, -1 -/* 0E7044 7F0B2514 16610004 */ bne $s3, $at, .L7F0B2528 -/* 0E7048 7F0B2518 3C018000 */ lui $at, 0x8000 -/* 0E704C 7F0B251C 15E10002 */ bne $t7, $at, .L7F0B2528 -/* 0E7050 7F0B2520 00000000 */ nop -/* 0E7054 7F0B2524 0006000D */ break 6 -.L7F0B2528: -/* 0E7058 7F0B2528 0000C812 */ mflo $t9 -/* 0E705C 7F0B252C 02B93021 */ addu $a2, $s5, $t9 -/* 0E7060 7F0B2530 0FC2C8EB */ jal sub_GAME_7F0B23AC -/* 0E7064 7F0B2534 00000000 */ nop -/* 0E7068 7F0B2538 26100001 */ addiu $s0, $s0, 1 -/* 0E706C 7F0B253C 1613FFEB */ bne $s0, $s3, .L7F0B24EC -/* 0E7070 7F0B2540 26310001 */ addiu $s1, $s1, 1 -/* 0E7074 7F0B2544 26EA0003 */ addiu $t2, $s7, 3 -/* 0E7078 7F0B2548 314B0003 */ andi $t3, $t2, 3 -/* 0E707C 7F0B254C 01740019 */ multu $t3, $s4 -/* 0E7080 7F0B2550 8FA40040 */ lw $a0, 0x40($sp) -/* 0E7084 7F0B2554 03C02825 */ move $a1, $fp -/* 0E7088 7F0B2558 00006012 */ mflo $t4 -/* 0E708C 7F0B255C 02AC3021 */ addu $a2, $s5, $t4 -/* 0E7090 7F0B2560 0FC2C8EB */ jal sub_GAME_7F0B23AC -/* 0E7094 7F0B2564 00000000 */ nop -/* 0E7098 7F0B2568 26F70001 */ addiu $s7, $s7, 1 -/* 0E709C 7F0B256C 52F4001C */ beql $s7, $s4, .L7F0B25E0 -/* 0E70A0 7F0B2570 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E70A4 7F0B2574 C6A0001C */ lwc1 $f0, 0x1c($s5) -/* 0E70A8 7F0B2578 C6A20004 */ lwc1 $f2, 4($s5) -/* 0E70AC 7F0B257C 4602003C */ c.lt.s $f0, $f2 -/* 0E70B0 7F0B2580 00000000 */ nop -/* 0E70B4 7F0B2584 4503FFD7 */ bc1tl .L7F0B24E4 -/* 0E70B8 7F0B2588 00008025 */ move $s0, $zero -/* 0E70BC 7F0B258C C6AC0010 */ lwc1 $f12, 0x10($s5) -/* 0E70C0 7F0B2590 460C003C */ c.lt.s $f0, $f12 -/* 0E70C4 7F0B2594 00000000 */ nop -/* 0E70C8 7F0B2598 4503FFD2 */ bc1tl .L7F0B24E4 -/* 0E70CC 7F0B259C 00008025 */ move $s0, $zero -/* 0E70D0 7F0B25A0 C6A00028 */ lwc1 $f0, 0x28($s5) -/* 0E70D4 7F0B25A4 4602003C */ c.lt.s $f0, $f2 -/* 0E70D8 7F0B25A8 00000000 */ nop -/* 0E70DC 7F0B25AC 4503FFCD */ bc1tl .L7F0B24E4 -/* 0E70E0 7F0B25B0 00008025 */ move $s0, $zero -/* 0E70E4 7F0B25B4 460C003C */ c.lt.s $f0, $f12 -/* 0E70E8 7F0B25B8 00000000 */ nop -/* 0E70EC 7F0B25BC 4503FFC9 */ bc1tl .L7F0B24E4 -/* 0E70F0 7F0B25C0 00008025 */ move $s0, $zero -/* 0E70F4 7F0B25C4 10000006 */ b .L7F0B25E0 -/* 0E70F8 7F0B25C8 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0B25CC: -/* 0E70FC 7F0B25CC 24E70001 */ addiu $a3, $a3, 1 -/* 0E7100 7F0B25D0 00E8082A */ slt $at, $a3, $t0 -/* 0E7104 7F0B25D4 1420FFAC */ bnez $at, .L7F0B2488 -/* 0E7108 7F0B25D8 24630008 */ addiu $v1, $v1, 8 -.L7F0B25DC: -/* 0E710C 7F0B25DC 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0B25E0: -/* 0E7110 7F0B25E0 8FB00018 */ lw $s0, 0x18($sp) -/* 0E7114 7F0B25E4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0E7118 7F0B25E8 8FB20020 */ lw $s2, 0x20($sp) -/* 0E711C 7F0B25EC 8FB30024 */ lw $s3, 0x24($sp) -/* 0E7120 7F0B25F0 8FB40028 */ lw $s4, 0x28($sp) -/* 0E7124 7F0B25F4 8FB5002C */ lw $s5, 0x2c($sp) -/* 0E7128 7F0B25F8 8FB60030 */ lw $s6, 0x30($sp) -/* 0E712C 7F0B25FC 8FB70034 */ lw $s7, 0x34($sp) -/* 0E7130 7F0B2600 8FBE0038 */ lw $fp, 0x38($sp) -/* 0E7134 7F0B2604 03E00008 */ jr $ra -/* 0E7138 7F0B2608 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B260C(void *arg0, s32 arg1, ? arg2, ? arg3, void *arg5) { - // Node 0 - if (*arg5 < (f32) (arg0 + (arg1 * 8))->unkA) - { - // Node 1 - if (*arg5 < (f32) (arg0 + (((s32) (arg1 + 1) % (s32) (((s32) arg0->unk6 >> 0xc) & 0xf)) * 8))->unkA) - { - // Node 2 - return 1; - } - } - // Node 3 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B260C -/* 0E713C 7F0B260C 000570C0 */ sll $t6, $a1, 3 -/* 0E7140 7F0B2610 AFA60008 */ sw $a2, 8($sp) -/* 0E7144 7F0B2614 AFA7000C */ sw $a3, 0xc($sp) -/* 0E7148 7F0B2618 008E7821 */ addu $t7, $a0, $t6 -/* 0E714C 7F0B261C 85F8000A */ lh $t8, 0xa($t7) -/* 0E7150 7F0B2620 8FA60014 */ lw $a2, 0x14($sp) -/* 0E7154 7F0B2624 44982000 */ mtc1 $t8, $f4 -/* 0E7158 7F0B2628 C4C00000 */ lwc1 $f0, ($a2) -/* 0E715C 7F0B262C 468021A0 */ cvt.s.w $f6, $f4 -/* 0E7160 7F0B2630 4606003C */ c.lt.s $f0, $f6 -/* 0E7164 7F0B2634 00000000 */ nop -/* 0E7168 7F0B2638 4502001D */ bc1fl .L7F0B26B0 -/* 0E716C 7F0B263C 00001025 */ move $v0, $zero -/* 0E7170 7F0B2640 84880006 */ lh $t0, 6($a0) -/* 0E7174 7F0B2644 24B90001 */ addiu $t9, $a1, 1 -/* 0E7178 7F0B2648 00084B03 */ sra $t1, $t0, 0xc -/* 0E717C 7F0B264C 312A000F */ andi $t2, $t1, 0xf -/* 0E7180 7F0B2650 032A001A */ div $zero, $t9, $t2 -/* 0E7184 7F0B2654 00001010 */ mfhi $v0 -/* 0E7188 7F0B2658 000258C0 */ sll $t3, $v0, 3 -/* 0E718C 7F0B265C 008B6021 */ addu $t4, $a0, $t3 -/* 0E7190 7F0B2660 858D000A */ lh $t5, 0xa($t4) -/* 0E7194 7F0B2664 15400002 */ bnez $t2, .L7F0B2670 -/* 0E7198 7F0B2668 00000000 */ nop -/* 0E719C 7F0B266C 0007000D */ break 7 -.L7F0B2670: -/* 0E71A0 7F0B2670 2401FFFF */ li $at, -1 -/* 0E71A4 7F0B2674 15410004 */ bne $t2, $at, .L7F0B2688 -/* 0E71A8 7F0B2678 3C018000 */ lui $at, 0x8000 -/* 0E71AC 7F0B267C 17210002 */ bne $t9, $at, .L7F0B2688 -/* 0E71B0 7F0B2680 00000000 */ nop -/* 0E71B4 7F0B2684 0006000D */ break 6 -.L7F0B2688: -/* 0E71B8 7F0B2688 448D4000 */ mtc1 $t5, $f8 -/* 0E71BC 7F0B268C 00000000 */ nop -/* 0E71C0 7F0B2690 468042A0 */ cvt.s.w $f10, $f8 -/* 0E71C4 7F0B2694 460A003C */ c.lt.s $f0, $f10 -/* 0E71C8 7F0B2698 00000000 */ nop -/* 0E71CC 7F0B269C 45020004 */ bc1fl .L7F0B26B0 -/* 0E71D0 7F0B26A0 00001025 */ move $v0, $zero -/* 0E71D4 7F0B26A4 03E00008 */ jr $ra -/* 0E71D8 7F0B26A8 24020001 */ li $v0, 1 - -/* 0E71DC 7F0B26AC 00001025 */ move $v0, $zero -.L7F0B26B0: -/* 0E71E0 7F0B26B0 03E00008 */ jr $ra -/* 0E71E4 7F0B26B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B26B8(s32 arg1, ? arg2, ? arg3, f32 arg4) { - f32 sp2C; - - // Node 0 - sp2C = (f32) (arg4 * D_80040F44); - sub_GAME_7F0B1DDC(arg1, arg2, arg1, arg2, 0, &sub_GAME_7F0B260C, 0, &sp2C); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B26B8 -/* 0E71E8 7F0B26B8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0E71EC 7F0B26BC 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E71F0 7F0B26C0 C4260F44 */ lwc1 $f6, %lo(D_80040F44)($at) -/* 0E71F4 7F0B26C4 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0E71F8 7F0B26C8 44856000 */ mtc1 $a1, $f12 -/* 0E71FC 7F0B26CC 44867000 */ mtc1 $a2, $f14 -/* 0E7200 7F0B26D0 46062202 */ mul.s $f8, $f4, $f6 -/* 0E7204 7F0B26D4 3C0E7F0B */ lui $t6, %hi(sub_GAME_7F0B260C) # $t6, 0x7f0b -/* 0E7208 7F0B26D8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0E720C 7F0B26DC 25CE260C */ addiu $t6, %lo(sub_GAME_7F0B260C) # addiu $t6, $t6, 0x260c -/* 0E7210 7F0B26E0 27AF002C */ addiu $t7, $sp, 0x2c -/* 0E7214 7F0B26E4 44056000 */ mfc1 $a1, $f12 -/* 0E7218 7F0B26E8 44067000 */ mfc1 $a2, $f14 -/* 0E721C 7F0B26EC AFA7003C */ sw $a3, 0x3c($sp) -/* 0E7220 7F0B26F0 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 0E7224 7F0B26F4 AFAF001C */ sw $t7, 0x1c($sp) -/* 0E7228 7F0B26F8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0E722C 7F0B26FC AFA00010 */ sw $zero, 0x10($sp) -/* 0E7230 7F0B2700 0FC2C777 */ jal sub_GAME_7F0B1DDC -/* 0E7234 7F0B2704 AFA00018 */ sw $zero, 0x18($sp) -/* 0E7238 7F0B2708 8FBF0024 */ lw $ra, 0x24($sp) -/* 0E723C 7F0B270C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0E7240 7F0B2710 03E00008 */ jr $ra -/* 0E7244 7F0B2714 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2718(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2718 -/* 0E7248 7F0B2718 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0E724C 7F0B271C AFBF003C */ sw $ra, 0x3c($sp) -/* 0E7250 7F0B2720 AFB5002C */ sw $s5, 0x2c($sp) -/* 0E7254 7F0B2724 AFB40028 */ sw $s4, 0x28($sp) -/* 0E7258 7F0B2728 0080A025 */ move $s4, $a0 -/* 0E725C 7F0B272C 00A0A825 */ move $s5, $a1 -/* 0E7260 7F0B2730 AFBE0038 */ sw $fp, 0x38($sp) -/* 0E7264 7F0B2734 AFB70034 */ sw $s7, 0x34($sp) -/* 0E7268 7F0B2738 AFB60030 */ sw $s6, 0x30($sp) -/* 0E726C 7F0B273C AFB30024 */ sw $s3, 0x24($sp) -/* 0E7270 7F0B2740 AFB20020 */ sw $s2, 0x20($sp) -/* 0E7274 7F0B2744 AFB1001C */ sw $s1, 0x1c($sp) -/* 0E7278 7F0B2748 00A0F809 */ jalr $a1 -/* 0E727C 7F0B274C AFB00018 */ sw $s0, 0x18($sp) -/* 0E7280 7F0B2750 10400003 */ beqz $v0, .L7F0B2760 -/* 0E7284 7F0B2754 3C018008 */ lui $at, %hi(dword_CODE_bss_8007BA10) -/* 0E7288 7F0B2758 10000049 */ b .L7F0B2880 -/* 0E728C 7F0B275C 02801025 */ move $v0, $s4 -.L7F0B2760: -/* 0E7290 7F0B2760 240E0001 */ li $t6, 1 -/* 0E7294 7F0B2764 3C178008 */ lui $s7, %hi(dword_CODE_bss_8007BA10) -/* 0E7298 7F0B2768 3C168004 */ lui $s6, %hi(base_ptr_connection_vals) -/* 0E729C 7F0B276C AC34BA10 */ sw $s4, %lo(dword_CODE_bss_8007BA10)($at) -/* 0E72A0 7F0B2770 24110001 */ li $s1, 1 -/* 0E72A4 7F0B2774 26D60F58 */ addiu $s6, %lo(base_ptr_connection_vals) # addiu $s6, $s6, 0xf58 -/* 0E72A8 7F0B2778 26F7BA10 */ addiu $s7, %lo(dword_CODE_bss_8007BA10) # addiu $s7, $s7, -0x45f0 -/* 0E72AC 7F0B277C AFAE0058 */ sw $t6, 0x58($sp) -/* 0E72B0 7F0B2780 0000F025 */ move $fp, $zero -.L7F0B2784: -/* 0E72B4 7F0B2784 1A200037 */ blez $s1, .L7F0B2864 -/* 0E72B8 7F0B2788 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_8007BA10) -/* 0E72BC 7F0B278C 25EFBA10 */ addiu $t7, %lo(dword_CODE_bss_8007BA10) # addiu $t7, $t7, -0x45f0 -/* 0E72C0 7F0B2790 AFAF0044 */ sw $t7, 0x44($sp) -.L7F0B2794: -/* 0E72C4 7F0B2794 8FB80044 */ lw $t8, 0x44($sp) -/* 0E72C8 7F0B2798 00009025 */ move $s2, $zero -/* 0E72CC 7F0B279C 8F140000 */ lw $s4, ($t8) -/* 0E72D0 7F0B27A0 86840006 */ lh $a0, 6($s4) -/* 0E72D4 7F0B27A4 02809825 */ move $s3, $s4 -/* 0E72D8 7F0B27A8 0004CB03 */ sra $t9, $a0, 0xc -/* 0E72DC 7F0B27AC 3324000F */ andi $a0, $t9, 0xf -/* 0E72E0 7F0B27B0 58800026 */ blezl $a0, .L7F0B284C -/* 0E72E4 7F0B27B4 8FB90044 */ lw $t9, 0x44($sp) -.L7F0B27B8: -/* 0E72E8 7F0B27B8 9662000E */ lhu $v0, 0xe($s3) -/* 0E72EC 7F0B27BC 8ECA0000 */ lw $t2, ($s6) -/* 0E72F0 7F0B27C0 000248C0 */ sll $t1, $v0, 3 -/* 0E72F4 7F0B27C4 00025903 */ sra $t3, $v0, 4 -/* 0E72F8 7F0B27C8 1160001B */ beqz $t3, .L7F0B2838 -/* 0E72FC 7F0B27CC 012A8021 */ addu $s0, $t1, $t2 -/* 0E7300 7F0B27D0 1A200009 */ blez $s1, .L7F0B27F8 -/* 0E7304 7F0B27D4 00001025 */ move $v0, $zero -/* 0E7308 7F0B27D8 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007BA10) -/* 0E730C 7F0B27DC 2463BA10 */ addiu $v1, %lo(dword_CODE_bss_8007BA10) # addiu $v1, $v1, -0x45f0 -.L7F0B27E0: -/* 0E7310 7F0B27E0 8C6C0000 */ lw $t4, ($v1) -/* 0E7314 7F0B27E4 24420001 */ addiu $v0, $v0, 1 -/* 0E7318 7F0B27E8 520C0014 */ beql $s0, $t4, .L7F0B283C -/* 0E731C 7F0B27EC 26520001 */ addiu $s2, $s2, 1 -/* 0E7320 7F0B27F0 1451FFFB */ bne $v0, $s1, .L7F0B27E0 -/* 0E7324 7F0B27F4 24630004 */ addiu $v1, $v1, 4 -.L7F0B27F8: -/* 0E7328 7F0B27F8 02A0F809 */ jalr $s5 -/* 0E732C 7F0B27FC 02002025 */ move $a0, $s0 -/* 0E7330 7F0B2800 10400003 */ beqz $v0, .L7F0B2810 -/* 0E7334 7F0B2804 00116880 */ sll $t5, $s1, 2 -/* 0E7338 7F0B2808 1000001D */ b .L7F0B2880 -/* 0E733C 7F0B280C 02001025 */ move $v0, $s0 -.L7F0B2810: -/* 0E7340 7F0B2810 26310001 */ addiu $s1, $s1, 1 -/* 0E7344 7F0B2814 02ED7021 */ addu $t6, $s7, $t5 -/* 0E7348 7F0B2818 2E21015F */ sltiu $at, $s1, 0x15f -/* 0E734C 7F0B281C 14200003 */ bnez $at, .L7F0B282C -/* 0E7350 7F0B2820 ADD00000 */ sw $s0, ($t6) -/* 0E7354 7F0B2824 10000016 */ b .L7F0B2880 -/* 0E7358 7F0B2828 00001025 */ move $v0, $zero -.L7F0B282C: -/* 0E735C 7F0B282C 86840006 */ lh $a0, 6($s4) -/* 0E7360 7F0B2830 00047B03 */ sra $t7, $a0, 0xc -/* 0E7364 7F0B2834 31E4000F */ andi $a0, $t7, 0xf -.L7F0B2838: -/* 0E7368 7F0B2838 26520001 */ addiu $s2, $s2, 1 -.L7F0B283C: -/* 0E736C 7F0B283C 0244082A */ slt $at, $s2, $a0 -/* 0E7370 7F0B2840 1420FFDD */ bnez $at, .L7F0B27B8 -/* 0E7374 7F0B2844 26730008 */ addiu $s3, $s3, 8 -/* 0E7378 7F0B2848 8FB90044 */ lw $t9, 0x44($sp) -.L7F0B284C: -/* 0E737C 7F0B284C 8FA90058 */ lw $t1, 0x58($sp) -/* 0E7380 7F0B2850 27DE0001 */ addiu $fp, $fp, 1 -/* 0E7384 7F0B2854 27280004 */ addiu $t0, $t9, 4 -/* 0E7388 7F0B2858 03C9082A */ slt $at, $fp, $t1 -/* 0E738C 7F0B285C 1420FFCD */ bnez $at, .L7F0B2794 -/* 0E7390 7F0B2860 AFA80044 */ sw $t0, 0x44($sp) -.L7F0B2864: -/* 0E7394 7F0B2864 8FAA0058 */ lw $t2, 0x58($sp) -/* 0E7398 7F0B2868 0000F025 */ move $fp, $zero -/* 0E739C 7F0B286C 522A0004 */ beql $s1, $t2, .L7F0B2880 -/* 0E73A0 7F0B2870 00001025 */ move $v0, $zero -/* 0E73A4 7F0B2874 1000FFC3 */ b .L7F0B2784 -/* 0E73A8 7F0B2878 AFB10058 */ sw $s1, 0x58($sp) -/* 0E73AC 7F0B287C 00001025 */ move $v0, $zero -.L7F0B2880: -/* 0E73B0 7F0B2880 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E73B4 7F0B2884 8FB00018 */ lw $s0, 0x18($sp) -/* 0E73B8 7F0B2888 8FB1001C */ lw $s1, 0x1c($sp) -/* 0E73BC 7F0B288C 8FB20020 */ lw $s2, 0x20($sp) -/* 0E73C0 7F0B2890 8FB30024 */ lw $s3, 0x24($sp) -/* 0E73C4 7F0B2894 8FB40028 */ lw $s4, 0x28($sp) -/* 0E73C8 7F0B2898 8FB5002C */ lw $s5, 0x2c($sp) -/* 0E73CC 7F0B289C 8FB60030 */ lw $s6, 0x30($sp) -/* 0E73D0 7F0B28A0 8FB70034 */ lw $s7, 0x34($sp) -/* 0E73D4 7F0B28A4 8FBE0038 */ lw $fp, 0x38($sp) -/* 0E73D8 7F0B28A8 03E00008 */ jr $ra -/* 0E73DC 7F0B28AC 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B28B0(void *arg0, void *arg1) { - s32 sp1C; - - // Node 0 - sp1C = (s32) dword_CODE_bss_8007B9E4; - if (dword_CODE_bss_8007B9E4 != 0) - { - // Node 1 - sub_GAME_7F0B1CF8(dword_CODE_bss_8007B9E4, dword_CODE_bss_8007B9E8, arg0, arg1); - return 0; - } - // Node 2 - if (D_800413BC == 0) - { - // Node 4 - // Node 5 - return 0; - } - // Node 3 - arg0->unk4 = 0.0f; - *arg0 = (f32) flt_CODE_bss_8007B9F0; - arg0->unk8 = (f32) flt_CODE_bss_8007B9F0.unk4; - arg1->unk4 = 0.0f; - *arg1 = (f32) flt_CODE_bss_8007B9F8; - arg1->unk8 = (f32) flt_CODE_bss_8007B9F8.unk4; - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B28B0 -/* 0E73E0 7F0B28B0 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_8007B9E4) -/* 0E73E4 7F0B28B4 8DCEB9E4 */ lw $t6, %lo(dword_CODE_bss_8007B9E4)($t6) -/* 0E73E8 7F0B28B8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E73EC 7F0B28BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0E73F0 7F0B28C0 00803025 */ move $a2, $a0 -/* 0E73F4 7F0B28C4 00A03825 */ move $a3, $a1 -/* 0E73F8 7F0B28C8 11C00007 */ beqz $t6, .L7F0B28E8 -/* 0E73FC 7F0B28CC AFAE001C */ sw $t6, 0x1c($sp) -/* 0E7400 7F0B28D0 3C058008 */ lui $a1, %hi(dword_CODE_bss_8007B9E8) -/* 0E7404 7F0B28D4 8CA5B9E8 */ lw $a1, %lo(dword_CODE_bss_8007B9E8)($a1) -/* 0E7408 7F0B28D8 0FC2C73E */ jal sub_GAME_7F0B1CF8 -/* 0E740C 7F0B28DC 01C02025 */ move $a0, $t6 -/* 0E7410 7F0B28E0 10000017 */ b .L7F0B2940 -/* 0E7414 7F0B28E4 24020001 */ li $v0, 1 -.L7F0B28E8: -/* 0E7418 7F0B28E8 3C0F8004 */ lui $t7, %hi(D_800413BC) -/* 0E741C 7F0B28EC 8DEF13BC */ lw $t7, %lo(D_800413BC)($t7) -/* 0E7420 7F0B28F0 3C038008 */ lui $v1, %hi(flt_CODE_bss_8007B9F0) -/* 0E7424 7F0B28F4 2463B9F0 */ addiu $v1, %lo(flt_CODE_bss_8007B9F0) # addiu $v1, $v1, -0x4610 -/* 0E7428 7F0B28F8 51E00011 */ beql $t7, $zero, .L7F0B2940 -/* 0E742C 7F0B28FC 00001025 */ move $v0, $zero -/* 0E7430 7F0B2900 44800000 */ mtc1 $zero, $f0 -/* 0E7434 7F0B2904 C4640000 */ lwc1 $f4, ($v1) -/* 0E7438 7F0B2908 3C048008 */ lui $a0, %hi(flt_CODE_bss_8007B9F8) -/* 0E743C 7F0B290C E4C00004 */ swc1 $f0, 4($a2) -/* 0E7440 7F0B2910 E4C40000 */ swc1 $f4, ($a2) -/* 0E7444 7F0B2914 C4660004 */ lwc1 $f6, 4($v1) -/* 0E7448 7F0B2918 2484B9F8 */ addiu $a0, %lo(flt_CODE_bss_8007B9F8) # addiu $a0, $a0, -0x4608 -/* 0E744C 7F0B291C 24020001 */ li $v0, 1 -/* 0E7450 7F0B2920 E4C60008 */ swc1 $f6, 8($a2) -/* 0E7454 7F0B2924 C4880000 */ lwc1 $f8, ($a0) -/* 0E7458 7F0B2928 E4E00004 */ swc1 $f0, 4($a3) -/* 0E745C 7F0B292C E4E80000 */ swc1 $f8, ($a3) -/* 0E7460 7F0B2930 C48A0004 */ lwc1 $f10, 4($a0) -/* 0E7464 7F0B2934 10000002 */ b .L7F0B2940 -/* 0E7468 7F0B2938 E4EA0008 */ swc1 $f10, 8($a3) -/* 0E746C 7F0B293C 00001025 */ move $v0, $zero -.L7F0B2940: -/* 0E7470 7F0B2940 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E7474 7F0B2944 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0E7478 7F0B2948 03E00008 */ jr $ra -/* 0E747C 7F0B294C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2950(f32 arg0) { - // Node 0 - D_80040F44 = arg0; - D_80040F48 = (f32) (1.0f / arg0); - return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2950 -/* 0E7480 7F0B2950 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E7484 7F0B2954 E42C0F44 */ swc1 $f12, %lo(D_80040F44)($at) -/* 0E7488 7F0B2958 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E748C 7F0B295C 44812000 */ mtc1 $at, $f4 -/* 0E7490 7F0B2960 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E7494 7F0B2964 460C2183 */ div.s $f6, $f4, $f12 -/* 0E7498 7F0B2968 03E00008 */ jr $ra -/* 0E749C 7F0B296C E4260F48 */ swc1 $f6, %lo(D_80040F48)($at) -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B2970(void *arg0, s32 arg1, f32 arg2) { - f64 sp20; - f64 sp28; - f64 sp30; - s32 sp38; - u32 sp3C; - s32 sp40; - u32 sp44; - s32 sp58; - u32 sp5C; - s32 sp60; - u32 sp64; - s32 sp68; - u32 sp6C; - s32 sp70; - u32 sp74; - f32 sp78; - f32 sp7C; - f32 sp80; - f32 sp84; - f32 sp88; - f32 sp8C; - s32 temp_a1; - s32 temp_a2; - void *temp_s0; - void *temp_v1; - s32 temp_a3; - void *temp_t0; - f32 temp_f18; - f32 temp_f6; - f32 temp_f10; - f32 temp_f4; - f32 temp_f10_2; - ? temp_ret; - ? temp_ret_2; - ? temp_ret_3; - ? temp_ret_4; - ? temp_ret_5; - ? temp_ret_6; - u32 temp_t9; - u32 temp_t5; - - // Node 0 - temp_a1 = ((s32) arg0->unk6 >> 8); - temp_a2 = ((s32) arg0->unk6 >> 4); - arg2 = (f32) (arg2 * D_80040F44); - temp_s0 = (arg0 + ((temp_a1 & 0xf) * 8)); - temp_v1 = (arg0 + ((temp_a2 & 0xf) * 8)); - temp_a3 = (arg0->unk6 & 0xf); - temp_t0 = (arg0 + (temp_a3 * 8)); - sp84 = (f32) (temp_v1->unk8 - temp_s0->unk8); - temp_f18 = (f32) (temp_v1->unkA - temp_s0->unkA); - sp88 = temp_f18; - temp_f6 = (f32) (temp_v1->unkC - temp_s0->unkC); - sp8C = temp_f6; - temp_f10 = (f32) (temp_t0->unk8 - temp_s0->unk8); - sp78 = temp_f10; - temp_f4 = (f32) (temp_t0->unkA - temp_s0->unkA); - sp7C = temp_f4; - temp_f10_2 = (f32) (temp_t0->unkC - temp_s0->unkC); - sp80 = temp_f10_2; - temp_ret = __f_to_ll(((temp_f18 * temp_f10_2) - (temp_f4 * temp_f6)), (arg1 * D_80040F44), temp_a1, temp_a2, temp_a3); - sp60 = temp_ret; - sp64 = temp_ret; - temp_ret_2 = __f_to_ll(((sp8C * temp_f10) - (sp80 * sp84))); - sp68 = temp_ret_2; - sp6C = temp_ret_2; - temp_ret_3 = __f_to_ll(((sp84 * sp7C) - (sp78 * sp88))); - sp70 = temp_ret_3; - sp74 = temp_ret_3; - temp_ret_4 = __ll_mul(sp68, sp6C, ((s32) temp_s0->unkA >> 0x1f), temp_s0->unkA); - sp38 = temp_ret_4; - sp3C = temp_ret_4; - temp_ret_5 = __ll_mul(sp60, sp64, ((s32) temp_s0->unk8 >> 0x1f), temp_s0->unk8); - sp40 = temp_ret_5; - sp44 = temp_ret_5; - temp_ret_6 = __ll_mul(sp70, sp74, ((s32) temp_s0->unkC >> 0x1f), temp_s0->unkC); - temp_t9 = (temp_ret_6 + sp44); - temp_t5 = (temp_t9 + sp3C); - sp58 = (s32) (((temp_t5 < sp3C) + (((temp_t9 < sp44) + temp_ret_6) + sp40)) + sp38); - sp5C = temp_t5; - if (sp68 != 0) - { - // Node 3 - sp20 = __ll_to_d(sp70, sp74); - sp28 = __ll_to_d(sp60, sp64); - sp30 = __ll_to_d(sp58, sp5C); - // Node 4 - return ((f32) (((sp30 - ((f64) arg1 * sp28)) - ((f64) arg2 * sp20)) / __ll_to_d(sp68, sp6C)) * D_80040F48); - } - // Node 1 - if (sp6C != 0) - { - // Node 3 - sp20 = __ll_to_d(sp70, sp74); - sp28 = __ll_to_d(sp60, sp64); - sp30 = __ll_to_d(sp58, sp5C); - // Node 4 - return ((f32) (((sp30 - ((f64) arg1 * sp28)) - ((f64) arg2 * sp20)) / __ll_to_d(sp68, sp6C)) * D_80040F48); - } - // Node 2 - return ((f32) (((sp30 - ((f64) arg1 * sp28)) - ((f64) arg2 * sp20)) / __ll_to_d(sp68, sp6C)) * D_80040F48); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2970 -/* 0E74A0 7F0B2970 3C018004 */ lui $at, %hi(D_80040F44) -/* 0E74A4 7F0B2974 44857000 */ mtc1 $a1, $f14 -/* 0E74A8 7F0B2978 C4200F44 */ lwc1 $f0, %lo(D_80040F44)($at) -/* 0E74AC 7F0B297C 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0E74B0 7F0B2980 AFA60098 */ sw $a2, 0x98($sp) -/* 0E74B4 7F0B2984 46007382 */ mul.s $f14, $f14, $f0 -/* 0E74B8 7F0B2988 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 0E74BC 7F0B298C AFBF001C */ sw $ra, 0x1c($sp) -/* 0E74C0 7F0B2990 AFB00018 */ sw $s0, 0x18($sp) -/* 0E74C4 7F0B2994 46002182 */ mul.s $f6, $f4, $f0 -/* 0E74C8 7F0B2998 84820006 */ lh $v0, 6($a0) -/* 0E74CC 7F0B299C 00022A03 */ sra $a1, $v0, 8 -/* 0E74D0 7F0B29A0 00023103 */ sra $a2, $v0, 4 -/* 0E74D4 7F0B29A4 30AE000F */ andi $t6, $a1, 0xf -/* 0E74D8 7F0B29A8 30CF000F */ andi $t7, $a2, 0xf -/* 0E74DC 7F0B29AC E7A60098 */ swc1 $f6, 0x98($sp) -/* 0E74E0 7F0B29B0 000FC0C0 */ sll $t8, $t7, 3 -/* 0E74E4 7F0B29B4 000EC8C0 */ sll $t9, $t6, 3 -/* 0E74E8 7F0B29B8 00998021 */ addu $s0, $a0, $t9 -/* 0E74EC 7F0B29BC 00981821 */ addu $v1, $a0, $t8 -/* 0E74F0 7F0B29C0 84690008 */ lh $t1, 8($v1) -/* 0E74F4 7F0B29C4 860A0008 */ lh $t2, 8($s0) -/* 0E74F8 7F0B29C8 3047000F */ andi $a3, $v0, 0xf -/* 0E74FC 7F0B29CC 012A5823 */ subu $t3, $t1, $t2 -/* 0E7500 7F0B29D0 448B4000 */ mtc1 $t3, $f8 -/* 0E7504 7F0B29D4 000748C0 */ sll $t1, $a3, 3 -/* 0E7508 7F0B29D8 00894021 */ addu $t0, $a0, $t1 -/* 0E750C 7F0B29DC 468042A0 */ cvt.s.w $f10, $f8 -/* 0E7510 7F0B29E0 E7AA0084 */ swc1 $f10, 0x84($sp) -/* 0E7514 7F0B29E4 860D000A */ lh $t5, 0xa($s0) -/* 0E7518 7F0B29E8 846C000A */ lh $t4, 0xa($v1) -/* 0E751C 7F0B29EC 018D7023 */ subu $t6, $t4, $t5 -/* 0E7520 7F0B29F0 448E8000 */ mtc1 $t6, $f16 -/* 0E7524 7F0B29F4 00000000 */ nop -/* 0E7528 7F0B29F8 468084A0 */ cvt.s.w $f18, $f16 -/* 0E752C 7F0B29FC E7B20088 */ swc1 $f18, 0x88($sp) -/* 0E7530 7F0B2A00 8618000C */ lh $t8, 0xc($s0) -/* 0E7534 7F0B2A04 846F000C */ lh $t7, 0xc($v1) -/* 0E7538 7F0B2A08 01F8C823 */ subu $t9, $t7, $t8 -/* 0E753C 7F0B2A0C 44992000 */ mtc1 $t9, $f4 -/* 0E7540 7F0B2A10 00000000 */ nop -/* 0E7544 7F0B2A14 468021A0 */ cvt.s.w $f6, $f4 -/* 0E7548 7F0B2A18 E7A6008C */ swc1 $f6, 0x8c($sp) -/* 0E754C 7F0B2A1C 860B0008 */ lh $t3, 8($s0) -/* 0E7550 7F0B2A20 850A0008 */ lh $t2, 8($t0) -/* 0E7554 7F0B2A24 014B6023 */ subu $t4, $t2, $t3 -/* 0E7558 7F0B2A28 448C4000 */ mtc1 $t4, $f8 -/* 0E755C 7F0B2A2C 00000000 */ nop -/* 0E7560 7F0B2A30 468042A0 */ cvt.s.w $f10, $f8 -/* 0E7564 7F0B2A34 E7AA0078 */ swc1 $f10, 0x78($sp) -/* 0E7568 7F0B2A38 860E000A */ lh $t6, 0xa($s0) -/* 0E756C 7F0B2A3C 850D000A */ lh $t5, 0xa($t0) -/* 0E7570 7F0B2A40 01AE7823 */ subu $t7, $t5, $t6 -/* 0E7574 7F0B2A44 448F8000 */ mtc1 $t7, $f16 -/* 0E7578 7F0B2A48 00000000 */ nop -/* 0E757C 7F0B2A4C 46808120 */ cvt.s.w $f4, $f16 -/* 0E7580 7F0B2A50 E7A4007C */ swc1 $f4, 0x7c($sp) -/* 0E7584 7F0B2A54 8619000C */ lh $t9, 0xc($s0) -/* 0E7588 7F0B2A58 8518000C */ lh $t8, 0xc($t0) -/* 0E758C 7F0B2A5C E7AE0094 */ swc1 $f14, 0x94($sp) -/* 0E7590 7F0B2A60 03194823 */ subu $t1, $t8, $t9 -/* 0E7594 7F0B2A64 44894000 */ mtc1 $t1, $f8 -/* 0E7598 7F0B2A68 00000000 */ nop -/* 0E759C 7F0B2A6C 468042A0 */ cvt.s.w $f10, $f8 -/* 0E75A0 7F0B2A70 460A9402 */ mul.s $f16, $f18, $f10 -/* 0E75A4 7F0B2A74 E7AA0080 */ swc1 $f10, 0x80($sp) -/* 0E75A8 7F0B2A78 46062202 */ mul.s $f8, $f4, $f6 -/* 0E75AC 7F0B2A7C 0C005E4B */ jal __f_to_ll -/* 0E75B0 7F0B2A80 46088301 */ sub.s $f12, $f16, $f8 -/* 0E75B4 7F0B2A84 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 0E75B8 7F0B2A88 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 0E75BC 7F0B2A8C C7A60080 */ lwc1 $f6, 0x80($sp) -/* 0E75C0 7F0B2A90 C7B00084 */ lwc1 $f16, 0x84($sp) -/* 0E75C4 7F0B2A94 460A9102 */ mul.s $f4, $f18, $f10 -/* 0E75C8 7F0B2A98 AFA20060 */ sw $v0, 0x60($sp) -/* 0E75CC 7F0B2A9C AFA30064 */ sw $v1, 0x64($sp) -/* 0E75D0 7F0B2AA0 46103202 */ mul.s $f8, $f6, $f16 -/* 0E75D4 7F0B2AA4 0C005E4B */ jal __f_to_ll -/* 0E75D8 7F0B2AA8 46082301 */ sub.s $f12, $f4, $f8 -/* 0E75DC 7F0B2AAC C7B20084 */ lwc1 $f18, 0x84($sp) -/* 0E75E0 7F0B2AB0 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0E75E4 7F0B2AB4 C7B00078 */ lwc1 $f16, 0x78($sp) -/* 0E75E8 7F0B2AB8 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0E75EC 7F0B2ABC 460A9182 */ mul.s $f6, $f18, $f10 -/* 0E75F0 7F0B2AC0 AFA20068 */ sw $v0, 0x68($sp) -/* 0E75F4 7F0B2AC4 AFA3006C */ sw $v1, 0x6c($sp) -/* 0E75F8 7F0B2AC8 46048202 */ mul.s $f8, $f16, $f4 -/* 0E75FC 7F0B2ACC 0C005E4B */ jal __f_to_ll -/* 0E7600 7F0B2AD0 46083301 */ sub.s $f12, $f6, $f8 -/* 0E7604 7F0B2AD4 AFA20070 */ sw $v0, 0x70($sp) -/* 0E7608 7F0B2AD8 AFA30074 */ sw $v1, 0x74($sp) -/* 0E760C 7F0B2ADC 8607000A */ lh $a3, 0xa($s0) -/* 0E7610 7F0B2AE0 8FA40068 */ lw $a0, 0x68($sp) -/* 0E7614 7F0B2AE4 8FA5006C */ lw $a1, 0x6c($sp) -/* 0E7618 7F0B2AE8 0C003B6A */ jal __ll_mul -/* 0E761C 7F0B2AEC 000737C3 */ sra $a2, $a3, 0x1f -/* 0E7620 7F0B2AF0 AFA20038 */ sw $v0, 0x38($sp) -/* 0E7624 7F0B2AF4 AFA3003C */ sw $v1, 0x3c($sp) -/* 0E7628 7F0B2AF8 86070008 */ lh $a3, 8($s0) -/* 0E762C 7F0B2AFC 8FA40060 */ lw $a0, 0x60($sp) -/* 0E7630 7F0B2B00 8FA50064 */ lw $a1, 0x64($sp) -/* 0E7634 7F0B2B04 0C003B6A */ jal __ll_mul -/* 0E7638 7F0B2B08 000737C3 */ sra $a2, $a3, 0x1f -/* 0E763C 7F0B2B0C AFA20040 */ sw $v0, 0x40($sp) -/* 0E7640 7F0B2B10 AFA30044 */ sw $v1, 0x44($sp) -/* 0E7644 7F0B2B14 8607000C */ lh $a3, 0xc($s0) -/* 0E7648 7F0B2B18 8FA40070 */ lw $a0, 0x70($sp) -/* 0E764C 7F0B2B1C 8FA50074 */ lw $a1, 0x74($sp) -/* 0E7650 7F0B2B20 0C003B6A */ jal __ll_mul -/* 0E7654 7F0B2B24 000737C3 */ sra $a2, $a3, 0x1f -/* 0E7658 7F0B2B28 8FAF0044 */ lw $t7, 0x44($sp) -/* 0E765C 7F0B2B2C 8FAE0040 */ lw $t6, 0x40($sp) -/* 0E7660 7F0B2B30 8FAB003C */ lw $t3, 0x3c($sp) -/* 0E7664 7F0B2B34 006FC821 */ addu $t9, $v1, $t7 -/* 0E7668 7F0B2B38 032F082B */ sltu $at, $t9, $t7 -/* 0E766C 7F0B2B3C 0022C021 */ addu $t8, $at, $v0 -/* 0E7670 7F0B2B40 8FAA0038 */ lw $t2, 0x38($sp) -/* 0E7674 7F0B2B44 030EC021 */ addu $t8, $t8, $t6 -/* 0E7678 7F0B2B48 032B6821 */ addu $t5, $t9, $t3 -/* 0E767C 7F0B2B4C 8FAE0068 */ lw $t6, 0x68($sp) -/* 0E7680 7F0B2B50 01AB082B */ sltu $at, $t5, $t3 -/* 0E7684 7F0B2B54 00386021 */ addu $t4, $at, $t8 -/* 0E7688 7F0B2B58 018A6021 */ addu $t4, $t4, $t2 -/* 0E768C 7F0B2B5C AFAC0058 */ sw $t4, 0x58($sp) -/* 0E7690 7F0B2B60 AFAD005C */ sw $t5, 0x5c($sp) -/* 0E7694 7F0B2B64 15C0000C */ bnez $t6, .L7F0B2B98 -/* 0E7698 7F0B2B68 8FAF006C */ lw $t7, 0x6c($sp) -/* 0E769C 7F0B2B6C 55E0000B */ bnezl $t7, .L7F0B2B9C -/* 0E76A0 7F0B2B70 8FA40070 */ lw $a0, 0x70($sp) -/* 0E76A4 7F0B2B74 8609000A */ lh $t1, 0xa($s0) -/* 0E76A8 7F0B2B78 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E76AC 7F0B2B7C C4300F48 */ lwc1 $f16, %lo(D_80040F48)($at) -/* 0E76B0 7F0B2B80 44899000 */ mtc1 $t1, $f18 -/* 0E76B4 7F0B2B84 00000000 */ nop -/* 0E76B8 7F0B2B88 468092A0 */ cvt.s.w $f10, $f18 -/* 0E76BC 7F0B2B8C 46105002 */ mul.s $f0, $f10, $f16 -/* 0E76C0 7F0B2B90 10000022 */ b .L7F0B2C1C -/* 0E76C4 7F0B2B94 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0B2B98: -/* 0E76C8 7F0B2B98 8FA40070 */ lw $a0, 0x70($sp) -.L7F0B2B9C: -/* 0E76CC 7F0B2B9C 0C005EA1 */ jal __ll_to_d -/* 0E76D0 7F0B2BA0 8FA50074 */ lw $a1, 0x74($sp) -/* 0E76D4 7F0B2BA4 F7A00020 */ sdc1 $f0, 0x20($sp) -/* 0E76D8 7F0B2BA8 8FA40060 */ lw $a0, 0x60($sp) -/* 0E76DC 7F0B2BAC 0C005EA1 */ jal __ll_to_d -/* 0E76E0 7F0B2BB0 8FA50064 */ lw $a1, 0x64($sp) -/* 0E76E4 7F0B2BB4 8FA40058 */ lw $a0, 0x58($sp) -/* 0E76E8 7F0B2BB8 8FA5005C */ lw $a1, 0x5c($sp) -/* 0E76EC 7F0B2BBC 0C005EA1 */ jal __ll_to_d -/* 0E76F0 7F0B2BC0 F7A00028 */ sdc1 $f0, 0x28($sp) -/* 0E76F4 7F0B2BC4 8FA40068 */ lw $a0, 0x68($sp) -/* 0E76F8 7F0B2BC8 8FA5006C */ lw $a1, 0x6c($sp) -/* 0E76FC 7F0B2BCC 0C005EA1 */ jal __ll_to_d -/* 0E7700 7F0B2BD0 F7A00030 */ sdc1 $f0, 0x30($sp) -/* 0E7704 7F0B2BD4 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 0E7708 7F0B2BD8 D7A80020 */ ldc1 $f8, 0x20($sp) -/* 0E770C 7F0B2BDC C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0E7710 7F0B2BE0 460021A1 */ cvt.d.s $f6, $f4 -/* 0E7714 7F0B2BE4 D7A20028 */ ldc1 $f2, 0x28($sp) -/* 0E7718 7F0B2BE8 46283482 */ mul.d $f18, $f6, $f8 -/* 0E771C 7F0B2BEC 46005421 */ cvt.d.s $f16, $f10 -/* 0E7720 7F0B2BF0 D7AC0030 */ ldc1 $f12, 0x30($sp) -/* 0E7724 7F0B2BF4 3C018004 */ lui $at, %hi(D_80040F48) -/* 0E7728 7F0B2BF8 46228102 */ mul.d $f4, $f16, $f2 -/* 0E772C 7F0B2BFC 46246181 */ sub.d $f6, $f12, $f4 -/* 0E7730 7F0B2C00 C4240F48 */ lwc1 $f4, %lo(D_80040F48)($at) -/* 0E7734 7F0B2C04 46323201 */ sub.d $f8, $f6, $f18 -/* 0E7738 7F0B2C08 46204283 */ div.d $f10, $f8, $f0 -/* 0E773C 7F0B2C0C 46205420 */ cvt.s.d $f16, $f10 -/* 0E7740 7F0B2C10 46048002 */ mul.s $f0, $f16, $f4 -/* 0E7744 7F0B2C14 00000000 */ nop -/* 0E7748 7F0B2C18 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0B2C1C: -/* 0E774C 7F0B2C1C 8FB00018 */ lw $s0, 0x18($sp) -/* 0E7750 7F0B2C20 27BD0090 */ addiu $sp, $sp, 0x90 -/* 0E7754 7F0B2C24 03E00008 */ jr $ra -/* 0E7758 7F0B2C28 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 copy_tile_RGB_as_24bit(void *arg0, s32 arg1, ? arg2, void *arg3) { - s32 temp_v0; - s32 temp_t7; - s32 temp_t9; - s32 temp_t3; - - // Node 0 - temp_v0 = ((s32) arg0->unk4 >> 8); - temp_t7 = (temp_v0 & 0xf); - temp_t9 = (((s32) arg0->unk4 >> 4) & 0xf); - temp_t3 = (arg0->unk4 & 0xf); - *arg3 = (s8) ((temp_t7 * 0x10) | temp_t7); - arg3->unk1 = (s8) ((temp_t9 * 0x10) | temp_t9); - arg3->unk2 = (s8) ((temp_t3 * 0x10) | temp_t3); - return temp_v0; -} -#else -GLOBAL_ASM( -.text -glabel copy_tile_RGB_as_24bit -/* 0E775C 7F0B2C2C AFA50004 */ sw $a1, 4($sp) -/* 0E7760 7F0B2C30 AFA60008 */ sw $a2, 8($sp) -/* 0E7764 7F0B2C34 84830004 */ lh $v1, 4($a0) -/* 0E7768 7F0B2C38 00031203 */ sra $v0, $v1, 8 -/* 0E776C 7F0B2C3C 304F000F */ andi $t7, $v0, 0xf -/* 0E7770 7F0B2C40 00032903 */ sra $a1, $v1, 4 -/* 0E7774 7F0B2C44 30B9000F */ andi $t9, $a1, 0xf -/* 0E7778 7F0B2C48 000F6100 */ sll $t4, $t7, 4 -/* 0E777C 7F0B2C4C 018F6825 */ or $t5, $t4, $t7 -/* 0E7780 7F0B2C50 00197100 */ sll $t6, $t9, 4 -/* 0E7784 7F0B2C54 306B000F */ andi $t3, $v1, 0xf -/* 0E7788 7F0B2C58 01D97825 */ or $t7, $t6, $t9 -/* 0E778C 7F0B2C5C 000BC100 */ sll $t8, $t3, 4 -/* 0E7790 7F0B2C60 030BC825 */ or $t9, $t8, $t3 -/* 0E7794 7F0B2C64 A0ED0000 */ sb $t5, ($a3) -/* 0E7798 7F0B2C68 A0EF0001 */ sb $t7, 1($a3) -/* 0E779C 7F0B2C6C 03E00008 */ jr $ra -/* 0E77A0 7F0B2C70 A0F90002 */ sb $t9, 2($a3) -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0B2C74(void *arg0, void *arg1) { - f32 temp_f2; - f32 phi_f16; - f32 phi_f2; - - // Node 0 - temp_f2 = (f32) (arg0 + ((((s32) arg0->unk6 >> 8) & 0xf) * 8))->unkA; - if (temp_f2 < temp_f2) - { - // Node 1 - } - // Node 2 - phi_f16 = temp_f2; - if (temp_f2 < temp_f2) - { - // Node 3 - phi_f16 = temp_f2; - } - // Node 4 - if (temp_f2 < temp_f2) - { - // Node 5 - } - // Node 6 - phi_f2 = temp_f2; - if (temp_f2 < temp_f2) - { - // Node 7 - phi_f2 = temp_f2; - } - // Node 8 - *arg1 = (f32) (phi_f16 * D_80040F48); - arg1->unk4 = (f32) (phi_f2 * D_80040F48); - return temp_f2; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2C74 -/* 0E77A4 7F0B2C74 848E0006 */ lh $t6, 6($a0) -/* 0E77A8 7F0B2C78 3C028004 */ lui $v0, %hi(D_80040F48) -/* 0E77AC 7F0B2C7C 24420F48 */ addiu $v0, %lo(D_80040F48) # addiu $v0, $v0, 0xf48 -/* 0E77B0 7F0B2C80 000E7A03 */ sra $t7, $t6, 8 -/* 0E77B4 7F0B2C84 31F8000F */ andi $t8, $t7, 0xf -/* 0E77B8 7F0B2C88 0018C8C0 */ sll $t9, $t8, 3 -/* 0E77BC 7F0B2C8C 00994021 */ addu $t0, $a0, $t9 -/* 0E77C0 7F0B2C90 8509000A */ lh $t1, 0xa($t0) -/* 0E77C4 7F0B2C94 44892000 */ mtc1 $t1, $f4 -/* 0E77C8 7F0B2C98 00000000 */ nop -/* 0E77CC 7F0B2C9C 468020A0 */ cvt.s.w $f2, $f4 -/* 0E77D0 7F0B2CA0 4602103C */ c.lt.s $f2, $f2 -/* 0E77D4 7F0B2CA4 46001006 */ mov.s $f0, $f2 -/* 0E77D8 7F0B2CA8 46001306 */ mov.s $f12, $f2 -/* 0E77DC 7F0B2CAC 46001386 */ mov.s $f14, $f2 -/* 0E77E0 7F0B2CB0 45000002 */ bc1f .L7F0B2CBC -/* 0E77E4 7F0B2CB4 46001406 */ mov.s $f16, $f2 -/* 0E77E8 7F0B2CB8 46001406 */ mov.s $f16, $f2 -.L7F0B2CBC: -/* 0E77EC 7F0B2CBC 4610703C */ c.lt.s $f14, $f16 -/* 0E77F0 7F0B2CC0 00000000 */ nop -/* 0E77F4 7F0B2CC4 45020003 */ bc1fl .L7F0B2CD4 -/* 0E77F8 7F0B2CC8 460C003C */ c.lt.s $f0, $f12 -/* 0E77FC 7F0B2CCC 46007406 */ mov.s $f16, $f14 -/* 0E7800 7F0B2CD0 460C003C */ c.lt.s $f0, $f12 -.L7F0B2CD4: -/* 0E7804 7F0B2CD4 46000086 */ mov.s $f2, $f0 -/* 0E7808 7F0B2CD8 45020003 */ bc1fl .L7F0B2CE8 -/* 0E780C 7F0B2CDC 460E103C */ c.lt.s $f2, $f14 -/* 0E7810 7F0B2CE0 46006086 */ mov.s $f2, $f12 -/* 0E7814 7F0B2CE4 460E103C */ c.lt.s $f2, $f14 -.L7F0B2CE8: -/* 0E7818 7F0B2CE8 00000000 */ nop -/* 0E781C 7F0B2CEC 45020003 */ bc1fl .L7F0B2CFC -/* 0E7820 7F0B2CF0 C4460000 */ lwc1 $f6, ($v0) -/* 0E7824 7F0B2CF4 46007086 */ mov.s $f2, $f14 -/* 0E7828 7F0B2CF8 C4460000 */ lwc1 $f6, ($v0) -.L7F0B2CFC: -/* 0E782C 7F0B2CFC 46068202 */ mul.s $f8, $f16, $f6 -/* 0E7830 7F0B2D00 E4A80000 */ swc1 $f8, ($a1) -/* 0E7834 7F0B2D04 C44A0000 */ lwc1 $f10, ($v0) -/* 0E7838 7F0B2D08 460A1482 */ mul.s $f18, $f2, $f10 -/* 0E783C 7F0B2D0C 03E00008 */ jr $ra -/* 0E7840 7F0B2D10 E4B20004 */ swc1 $f18, 4($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2D14(void) { - ? sp18; - - // Node 0 - sub_GAME_7F0B2C74(&sp18); - return sp18; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2D14 -/* 0E7844 7F0B2D14 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E7848 7F0B2D18 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E784C 7F0B2D1C 0FC2CB1D */ jal sub_GAME_7F0B2C74 -/* 0E7850 7F0B2D20 27A50018 */ addiu $a1, $sp, 0x18 -/* 0E7854 7F0B2D24 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E7858 7F0B2D28 C7A00018 */ lwc1 $f0, 0x18($sp) -/* 0E785C 7F0B2D2C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0E7860 7F0B2D30 03E00008 */ jr $ra -/* 0E7864 7F0B2D34 00000000 */ nop -) -#endif - - - - - -void sub_GAME_7F0B2D38(s32 arg0, s32 arg1, s32 arg2) { - return; -} - -s32 sub_GAME_7F0B2D48(s32 arg0) { - return arg0; -} - - - - - - -#ifdef NONMATCHING -void stanConvertNameStringToS32(void *arg0, void *arg1, void *arg2) { - s32 sp30; - void *sp38; - s32 temp_v1; - ? temp_ret; - s32 temp_v1_2; - s32 phi_v1; - - // Node 0 - temp_v1 = (*arg0 + -0x70); - if (temp_v1 < 0) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - // Node 1 - if (temp_v1 >= 2) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - // Node 2 - sp30 = temp_v1; - temp_ret = strtol((arg0 + 1), &sp38, 0xa); - if (sp38 == sp1C) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - // Node 3 - if (temp_ret >= 0x8000U) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - // Node 4 - temp_v1_2 = (*sp38 + -0x61); - if (temp_v1_2 < 0) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - // Node 5 - if (temp_v1_2 >= 0x1a) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - // Node 6 - phi_v1 = sp38->unk1; - if (sp38->unk1 != 0) - { - // Node 7 - phi_v1 = sp38->unk1; - if (sp38->unk1 != 0x30) - { - // Node 8 - phi_v1 = (sp38->unk1 + -0x30); - } - } - // Node 9 - if (phi_v1 < 0) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - // Node 10 - if (phi_v1 >= 8) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - // Node 11 - if (sp38->unk1 != 0) - { - // Node 12 - if (sp38->unk2 != 0) - { - // Node 14 - *arg1 = (u16)0xffff; - *arg2 = (u8)0xff; - // Node 15 - return; - } - } - // Node 13 - *arg1 = (s16) ((sp30 << 0xf) | temp_ret); - *arg2 = (s8) ((temp_v1_2 * 8) | phi_v1); - return; -} -#else -GLOBAL_ASM( -.text -glabel stanConvertNameStringToS32 -/* 0E7880 7F0B2D50 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0E7884 7F0B2D54 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E7888 7F0B2D58 AFA50044 */ sw $a1, 0x44($sp) -/* 0E788C 7F0B2D5C AFA60048 */ sw $a2, 0x48($sp) -/* 0E7890 7F0B2D60 90830000 */ lbu $v1, ($a0) -/* 0E7894 7F0B2D64 2463FF90 */ addiu $v1, $v1, -0x70 -/* 0E7898 7F0B2D68 04600031 */ bltz $v1, .L7F0B2E30 -/* 0E789C 7F0B2D6C 28610002 */ slti $at, $v1, 2 -/* 0E78A0 7F0B2D70 1020002F */ beqz $at, .L7F0B2E30 -/* 0E78A4 7F0B2D74 24840001 */ addiu $a0, $a0, 1 -/* 0E78A8 7F0B2D78 AFA30030 */ sw $v1, 0x30($sp) -/* 0E78AC 7F0B2D7C 27A50038 */ addiu $a1, $sp, 0x38 -/* 0E78B0 7F0B2D80 2406000A */ li $a2, 10 -/* 0E78B4 7F0B2D84 0C002A78 */ jal strtol -/* 0E78B8 7F0B2D88 AFA4001C */ sw $a0, 0x1c($sp) -/* 0E78BC 7F0B2D8C 8FA4001C */ lw $a0, 0x1c($sp) -/* 0E78C0 7F0B2D90 8FAE0038 */ lw $t6, 0x38($sp) -/* 0E78C4 7F0B2D94 34018000 */ li $at, 32768 -/* 0E78C8 7F0B2D98 0041082B */ sltu $at, $v0, $at -/* 0E78CC 7F0B2D9C 51C40025 */ beql $t6, $a0, .L7F0B2E34 -/* 0E78D0 7F0B2DA0 8FB90044 */ lw $t9, 0x44($sp) -/* 0E78D4 7F0B2DA4 10200022 */ beqz $at, .L7F0B2E30 -/* 0E78D8 7F0B2DA8 8FAF0038 */ lw $t7, 0x38($sp) -/* 0E78DC 7F0B2DAC 91E30000 */ lbu $v1, ($t7) -/* 0E78E0 7F0B2DB0 2463FF9F */ addiu $v1, $v1, -0x61 -/* 0E78E4 7F0B2DB4 0460001E */ bltz $v1, .L7F0B2E30 -/* 0E78E8 7F0B2DB8 2861001A */ slti $at, $v1, 0x1a -/* 0E78EC 7F0B2DBC 1020001C */ beqz $at, .L7F0B2E30 -/* 0E78F0 7F0B2DC0 8FB80038 */ lw $t8, 0x38($sp) -/* 0E78F4 7F0B2DC4 93040001 */ lbu $a0, 1($t8) -/* 0E78F8 7F0B2DC8 00602825 */ move $a1, $v1 -/* 0E78FC 7F0B2DCC 24010030 */ li $at, 48 -/* 0E7900 7F0B2DD0 10800004 */ beqz $a0, .L7F0B2DE4 -/* 0E7904 7F0B2DD4 00801825 */ move $v1, $a0 -/* 0E7908 7F0B2DD8 10610002 */ beq $v1, $at, .L7F0B2DE4 -/* 0E790C 7F0B2DDC 00000000 */ nop -/* 0E7910 7F0B2DE0 2463FFD0 */ addiu $v1, $v1, -0x30 -.L7F0B2DE4: -/* 0E7914 7F0B2DE4 04600012 */ bltz $v1, .L7F0B2E30 -/* 0E7918 7F0B2DE8 28610008 */ slti $at, $v1, 8 -/* 0E791C 7F0B2DEC 50200011 */ beql $at, $zero, .L7F0B2E34 -/* 0E7920 7F0B2DF0 8FB90044 */ lw $t9, 0x44($sp) -/* 0E7924 7F0B2DF4 10800004 */ beqz $a0, .L7F0B2E08 -/* 0E7928 7F0B2DF8 8FB90038 */ lw $t9, 0x38($sp) -/* 0E792C 7F0B2DFC 93280002 */ lbu $t0, 2($t9) -/* 0E7930 7F0B2E00 5500000C */ bnezl $t0, .L7F0B2E34 -/* 0E7934 7F0B2E04 8FB90044 */ lw $t9, 0x44($sp) -.L7F0B2E08: -/* 0E7938 7F0B2E08 8FA90030 */ lw $t1, 0x30($sp) -/* 0E793C 7F0B2E0C 8FAC0044 */ lw $t4, 0x44($sp) -/* 0E7940 7F0B2E10 000568C0 */ sll $t5, $a1, 3 -/* 0E7944 7F0B2E14 000953C0 */ sll $t2, $t1, 0xf -/* 0E7948 7F0B2E18 01425825 */ or $t3, $t2, $v0 -/* 0E794C 7F0B2E1C A58B0000 */ sh $t3, ($t4) -/* 0E7950 7F0B2E20 8FAF0048 */ lw $t7, 0x48($sp) -/* 0E7954 7F0B2E24 01A37025 */ or $t6, $t5, $v1 -/* 0E7958 7F0B2E28 10000007 */ b .L7F0B2E48 -/* 0E795C 7F0B2E2C A1EE0000 */ sb $t6, ($t7) -.L7F0B2E30: -/* 0E7960 7F0B2E30 8FB90044 */ lw $t9, 0x44($sp) -.L7F0B2E34: -/* 0E7964 7F0B2E34 3418FFFF */ li $t8, 65535 -/* 0E7968 7F0B2E38 240800FF */ li $t0, 255 -/* 0E796C 7F0B2E3C A7380000 */ sh $t8, ($t9) -/* 0E7970 7F0B2E40 8FA90048 */ lw $t1, 0x48($sp) -/* 0E7974 7F0B2E44 A1280000 */ sb $t0, ($t1) -.L7F0B2E48: -/* 0E7978 7F0B2E48 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E797C 7F0B2E4C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0E7980 7F0B2E50 03E00008 */ jr $ra -/* 0E7984 7F0B2E54 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void stanMatchTileName(void) { - -} -#else -GLOBAL_ASM( -.text -glabel stanMatchTileName -/* 0E7988 7F0B2E58 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E798C 7F0B2E5C AFBF0014 */ sw $ra, 0x14($sp) -/* 0E7990 7F0B2E60 908E0000 */ lbu $t6, ($a0) -/* 0E7994 7F0B2E64 27A50022 */ addiu $a1, $sp, 0x22 -/* 0E7998 7F0B2E68 15C00003 */ bnez $t6, .L7F0B2E78 -/* 0E799C 7F0B2E6C 00000000 */ nop -/* 0E79A0 7F0B2E70 1000001F */ b .L7F0B2EF0 -/* 0E79A4 7F0B2E74 00001025 */ move $v0, $zero -.L7F0B2E78: -/* 0E79A8 7F0B2E78 0FC2CB54 */ jal stanConvertNameStringToS32 -/* 0E79AC 7F0B2E7C 27A60021 */ addiu $a2, $sp, 0x21 -/* 0E79B0 7F0B2E80 3C0F8008 */ lui $t7, %hi(clippingfile) -/* 0E79B4 7F0B2E84 8DEFB120 */ lw $t7, %lo(clippingfile)($t7) -/* 0E79B8 7F0B2E88 3C058004 */ lui $a1, %hi(list_of_tilesizes) -/* 0E79BC 7F0B2E8C 24A50F4C */ addiu $a1, %lo(list_of_tilesizes) # addiu $a1, $a1, 0xf4c -/* 0E79C0 7F0B2E90 8DE30004 */ lw $v1, 4($t7) -/* 0E79C4 7F0B2E94 97A40022 */ lhu $a0, 0x22($sp) -/* 0E79C8 7F0B2E98 8C780000 */ lw $t8, ($v1) -/* 0E79CC 7F0B2E9C 53000014 */ beql $t8, $zero, .L7F0B2EF0 -/* 0E79D0 7F0B2EA0 00001025 */ move $v0, $zero -/* 0E79D4 7F0B2EA4 94790000 */ lhu $t9, ($v1) -.L7F0B2EA8: -/* 0E79D8 7F0B2EA8 93A80021 */ lbu $t0, 0x21($sp) -/* 0E79DC 7F0B2EAC 54990007 */ bnel $a0, $t9, .L7F0B2ECC -/* 0E79E0 7F0B2EB0 84620006 */ lh $v0, 6($v1) -/* 0E79E4 7F0B2EB4 90690002 */ lbu $t1, 2($v1) -/* 0E79E8 7F0B2EB8 55090004 */ bnel $t0, $t1, .L7F0B2ECC -/* 0E79EC 7F0B2EBC 84620006 */ lh $v0, 6($v1) -/* 0E79F0 7F0B2EC0 1000000B */ b .L7F0B2EF0 -/* 0E79F4 7F0B2EC4 00601025 */ move $v0, $v1 -/* 0E79F8 7F0B2EC8 84620006 */ lh $v0, 6($v1) -.L7F0B2ECC: -/* 0E79FC 7F0B2ECC 00025303 */ sra $t2, $v0, 0xc -/* 0E7A00 7F0B2ED0 314B000F */ andi $t3, $t2, 0xf -/* 0E7A04 7F0B2ED4 00AB6021 */ addu $t4, $a1, $t3 -/* 0E7A08 7F0B2ED8 918D0000 */ lbu $t5, ($t4) -/* 0E7A0C 7F0B2EDC 01A31821 */ addu $v1, $t5, $v1 -/* 0E7A10 7F0B2EE0 8C6E0000 */ lw $t6, ($v1) -/* 0E7A14 7F0B2EE4 55C0FFF0 */ bnezl $t6, .L7F0B2EA8 -/* 0E7A18 7F0B2EE8 94790000 */ lhu $t9, ($v1) -/* 0E7A1C 7F0B2EEC 00001025 */ move $v0, $zero -.L7F0B2EF0: -/* 0E7A20 7F0B2EF0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E7A24 7F0B2EF4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E7A28 7F0B2EF8 03E00008 */ jr $ra -/* 0E7A2C 7F0B2EFC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2F00(void *arg0) { - ? temp_ret; - - // Node 0 - temp_ret = stanMatchTileName(*arg0); - *arg0 = temp_ret; - return temp_ret; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2F00 -/* 0E7A30 7F0B2F00 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E7A34 7F0B2F04 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E7A38 7F0B2F08 AFA40018 */ sw $a0, 0x18($sp) -/* 0E7A3C 7F0B2F0C 0FC2CB96 */ jal stanMatchTileName -/* 0E7A40 7F0B2F10 8C840000 */ lw $a0, ($a0) -/* 0E7A44 7F0B2F14 8FAF0018 */ lw $t7, 0x18($sp) -/* 0E7A48 7F0B2F18 ADE20000 */ sw $v0, ($t7) -/* 0E7A4C 7F0B2F1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E7A50 7F0B2F20 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E7A54 7F0B2F24 03E00008 */ jr $ra -/* 0E7A58 7F0B2F28 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void *stanDetermineEOF(void *arg0, s32 arg1, s32 arg2) { - s32 temp_v0; - void *temp_a3; - s32 temp_v1; - void *temp_a3_2; - void *temp_v0_2; - void *temp_v0_3; - s32 phi_v1; - void *phi_a3; - void *phi_a3_2; - void *phi_v0; - - // Node 0 - clippingfile = arg0; - temp_v0 = (arg2 - arg1); - base_ptr_connection_vals = (s32) ((arg0->unk4 + temp_v0) + -0x80); - ptr_firstroom_0 = (s32) (arg0->unk4 + temp_v0); - temp_a3 = (arg0 + 4); - phi_a3_2 = temp_a3; - if (arg0->unk4 != 0) - { - // Node 1 - phi_v1 = *temp_a3; - phi_a3 = temp_a3; -loop_2: - // Node 2 - temp_v1 = phi_a3->unk4; - *phi_a3 = (s32) (phi_v1 + temp_v0); - temp_a3_2 = (phi_a3 + 4); - phi_v1 = temp_v1; - phi_a3 = temp_a3_2; - phi_a3_2 = temp_a3_2; - if (temp_v1 != 0) - { - goto loop_2; - } - } - // Node 3 - temp_v0_2 = (phi_a3_2 + 4); - phi_v0 = temp_v0_2; - if (*temp_v0_2 != 0) - { -loop_4: - // Node 4 - D_80040F60 = (void *) phi_v0; - temp_v0_3 = (*(&list_of_tilesizes + (((s32) phi_v0->unk6 >> 0xc) & 0xf)) + phi_v0); - phi_v0 = temp_v0_3; - if (*temp_v0_3 != 0) - { - goto loop_4; - } - } - // Node 5 - clippingfile = arg0; - return temp_v0_2; -} -#else -GLOBAL_ASM( -.text -glabel stanDetermineEOF -/* 0E7A5C 7F0B2F2C 3C088008 */ lui $t0, %hi(clippingfile) -/* 0E7A60 7F0B2F30 2508B120 */ addiu $t0, %lo(clippingfile) # addiu $t0, $t0, -0x4ee0 -/* 0E7A64 7F0B2F34 AD040000 */ sw $a0, ($t0) -/* 0E7A68 7F0B2F38 8C8E0004 */ lw $t6, 4($a0) -/* 0E7A6C 7F0B2F3C 00C51023 */ subu $v0, $a2, $a1 -/* 0E7A70 7F0B2F40 3C018004 */ lui $at, %hi(base_ptr_connection_vals) -/* 0E7A74 7F0B2F44 01C27821 */ addu $t7, $t6, $v0 -/* 0E7A78 7F0B2F48 25F8FF80 */ addiu $t8, $t7, -0x80 -/* 0E7A7C 7F0B2F4C AC380F58 */ sw $t8, %lo(base_ptr_connection_vals)($at) -/* 0E7A80 7F0B2F50 8C990004 */ lw $t9, 4($a0) -/* 0E7A84 7F0B2F54 3C018004 */ lui $at, %hi(ptr_firstroom_0) -/* 0E7A88 7F0B2F58 3C068004 */ lui $a2, %hi(list_of_tilesizes) -/* 0E7A8C 7F0B2F5C 03224821 */ addu $t1, $t9, $v0 -/* 0E7A90 7F0B2F60 AC290F5C */ sw $t1, %lo(ptr_firstroom_0)($at) -/* 0E7A94 7F0B2F64 8C8A0004 */ lw $t2, 4($a0) -/* 0E7A98 7F0B2F68 24870004 */ addiu $a3, $a0, 4 -/* 0E7A9C 7F0B2F6C 24C60F4C */ addiu $a2, %lo(list_of_tilesizes) # addiu $a2, $a2, 0xf4c -/* 0E7AA0 7F0B2F70 11400008 */ beqz $t2, .L7F0B2F94 -/* 0E7AA4 7F0B2F74 3C058004 */ lui $a1, %hi(D_80040F60) -/* 0E7AA8 7F0B2F78 8CE30000 */ lw $v1, ($a3) -/* 0E7AAC 7F0B2F7C 00625821 */ addu $t3, $v1, $v0 -.L7F0B2F80: -/* 0E7AB0 7F0B2F80 8CE30004 */ lw $v1, 4($a3) -/* 0E7AB4 7F0B2F84 ACEB0000 */ sw $t3, ($a3) -/* 0E7AB8 7F0B2F88 24E70004 */ addiu $a3, $a3, 4 -/* 0E7ABC 7F0B2F8C 5460FFFC */ bnezl $v1, .L7F0B2F80 -/* 0E7AC0 7F0B2F90 00625821 */ addu $t3, $v1, $v0 -.L7F0B2F94: -/* 0E7AC4 7F0B2F94 24E20004 */ addiu $v0, $a3, 4 -/* 0E7AC8 7F0B2F98 8C4C0000 */ lw $t4, ($v0) -/* 0E7ACC 7F0B2F9C 24A50F60 */ addiu $a1, %lo(D_80040F60) # addiu $a1, $a1, 0xf60 -/* 0E7AD0 7F0B2FA0 1180000B */ beqz $t4, .L7F0B2FD0 -/* 0E7AD4 7F0B2FA4 00000000 */ nop -/* 0E7AD8 7F0B2FA8 ACA20000 */ sw $v0, ($a1) -.L7F0B2FAC: -/* 0E7ADC 7F0B2FAC 84430006 */ lh $v1, 6($v0) -/* 0E7AE0 7F0B2FB0 00036B03 */ sra $t5, $v1, 0xc -/* 0E7AE4 7F0B2FB4 31AE000F */ andi $t6, $t5, 0xf -/* 0E7AE8 7F0B2FB8 00CE7821 */ addu $t7, $a2, $t6 -/* 0E7AEC 7F0B2FBC 91F80000 */ lbu $t8, ($t7) -/* 0E7AF0 7F0B2FC0 03021021 */ addu $v0, $t8, $v0 -/* 0E7AF4 7F0B2FC4 8C590000 */ lw $t9, ($v0) -/* 0E7AF8 7F0B2FC8 5720FFF8 */ bnezl $t9, .L7F0B2FAC -/* 0E7AFC 7F0B2FCC ACA20000 */ sw $v0, ($a1) -.L7F0B2FD0: -/* 0E7B00 7F0B2FD0 03E00008 */ jr $ra -/* 0E7B04 7F0B2FD4 AD040000 */ sw $a0, ($t0) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B2FD8(void *arg0) { - return arg0->unk3; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2FD8 -/* 0E7B08 7F0B2FD8 03E00008 */ jr $ra -/* 0E7B0C 7F0B2FDC 90820003 */ lbu $v0, 3($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B2FE0(void *arg0) { - sub_GAME_7F0B4F9C(arg0->unk3); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B2FE0 -/* 0E7B10 7F0B2FE0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E7B14 7F0B2FE4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E7B18 7F0B2FE8 90820003 */ lbu $v0, 3($a0) -/* 0E7B1C 7F0B2FEC 0FC2D3E7 */ jal sub_GAME_7F0B4F9C -/* 0E7B20 7F0B2FF0 00402025 */ move $a0, $v0 -/* 0E7B24 7F0B2FF4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E7B28 7F0B2FF8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E7B2C 7F0B2FFC 03E00008 */ jr $ra -/* 0E7B30 7F0B3000 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B3004(void) { - sub_GAME_7F0B2D14(); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3004 -/* 0E7B34 7F0B3004 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E7B38 7F0B3008 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E7B3C 7F0B300C 0FC2CB45 */ jal sub_GAME_7F0B2D14 -/* 0E7B40 7F0B3010 00000000 */ nop -/* 0E7B44 7F0B3014 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E7B48 7F0B3018 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E7B4C 7F0B301C 03E00008 */ jr $ra -/* 0E7B50 7F0B3020 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B3024(s32 *ptrdl, s32 *ptrtile, u32 RGBAColor) { - return *ptrdl; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3024 -/* 0E7B54 7F0B3024 AFA50004 */ sw $a1, 4($sp) -/* 0E7B58 7F0B3028 AFA60008 */ sw $a2, 8($sp) -/* 0E7B5C 7F0B302C 03E00008 */ jr $ra -/* 0E7B60 7F0B3030 00801025 */ move $v0, $a0 -) -#endif - - - - - - -s32 sub_GAME_7F0B3034(s32 arg0) { - return arg0; -} - -s32 sub_GAME_7F0B303C(s32 arg0) { - return arg0; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B3044(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3044 -/* 0E7B74 7F0B3044 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E7B78 7F0B3048 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E7B7C 7F0B304C 0FC2F5DF */ jal num_microcode_cmds_that_fit -/* 0E7B80 7F0B3050 AFA0001C */ sw $zero, 0x1c($sp) -/* 0E7B84 7F0B3054 28411000 */ slti $at, $v0, 0x1000 -/* 0E7B88 7F0B3058 14200005 */ bnez $at, .L7F0B3070 -/* 0E7B8C 7F0B305C 00000000 */ nop -/* 0E7B90 7F0B3060 0FC2F5E9 */ jal sub_GAME_7F0BD7A4 -/* 0E7B94 7F0B3064 00000000 */ nop -/* 0E7B98 7F0B3068 28411000 */ slti $at, $v0, 0x1000 -/* 0E7B9C 7F0B306C 10200010 */ beqz $at, .L7F0B30B0 -.L7F0B3070: -/* 0E7BA0 7F0B3070 3C048004 */ lui $a0, %hi(D_800413D0) -/* 0E7BA4 7F0B3074 248413D0 */ addiu $a0, %lo(D_800413D0) # addiu $a0, $a0, 0x13d0 -/* 0E7BA8 7F0B3078 8C8E0000 */ lw $t6, ($a0) -/* 0E7BAC 7F0B307C 3C028004 */ lui $v0, %hi(D_800413C0) -/* 0E7BB0 7F0B3080 244213C0 */ addiu $v0, %lo(D_800413C0) # addiu $v0, $v0, 0x13c0 -/* 0E7BB4 7F0B3084 15C0000A */ bnez $t6, .L7F0B30B0 -/* 0E7BB8 7F0B3088 3C018004 */ lui $at, %hi(D_800413C4) -/* 0E7BBC 7F0B308C 44800000 */ mtc1 $zero, $f0 -/* 0E7BC0 7F0B3090 3C0F8004 */ lui $t7, %hi(D_800413CC) -/* 0E7BC4 7F0B3094 24180001 */ li $t8, 1 -/* 0E7BC8 7F0B3098 E4400000 */ swc1 $f0, ($v0) -/* 0E7BCC 7F0B309C 8DEF13CC */ lw $t7, %lo(D_800413CC)($t7) -/* 0E7BD0 7F0B30A0 E42013C4 */ swc1 $f0, %lo(D_800413C4)($at) -/* 0E7BD4 7F0B30A4 3C018004 */ lui $at, %hi(D_800413C8) -/* 0E7BD8 7F0B30A8 AC2F13C8 */ sw $t7, %lo(D_800413C8)($at) -/* 0E7BDC 7F0B30AC AC980000 */ sw $t8, ($a0) -.L7F0B30B0: -/* 0E7BE0 7F0B30B0 3C048004 */ lui $a0, %hi(D_800413D0) -/* 0E7BE4 7F0B30B4 248413D0 */ addiu $a0, %lo(D_800413D0) # addiu $a0, $a0, 0x13d0 -/* 0E7BE8 7F0B30B8 8C990000 */ lw $t9, ($a0) -/* 0E7BEC 7F0B30BC 3C028004 */ lui $v0, %hi(D_800413C0) -/* 0E7BF0 7F0B30C0 3C038004 */ lui $v1, %hi(D_800413CC) -/* 0E7BF4 7F0B30C4 244213C0 */ addiu $v0, %lo(D_800413C0) # addiu $v0, $v0, 0x13c0 -/* 0E7BF8 7F0B30C8 17200011 */ bnez $t9, .L7F0B3110 -/* 0E7BFC 7F0B30CC 8C6313CC */ lw $v1, %lo(D_800413CC)($v1) -/* 0E7C00 7F0B30D0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E7C04 7F0B30D4 44811000 */ mtc1 $at, $f2 -/* 0E7C08 7F0B30D8 3C018004 */ lui $at, %hi(D_800413C4) -/* 0E7C0C 7F0B30DC C42613C4 */ lwc1 $f6, %lo(D_800413C4)($at) -/* 0E7C10 7F0B30E0 C4440000 */ lwc1 $f4, ($v0) -/* 0E7C14 7F0B30E4 46062200 */ add.s $f8, $f4, $f6 -/* 0E7C18 7F0B30E8 E4480000 */ swc1 $f8, ($v0) -/* 0E7C1C 7F0B30EC C4400000 */ lwc1 $f0, ($v0) -/* 0E7C20 7F0B30F0 4600103C */ c.lt.s $f2, $f0 -/* 0E7C24 7F0B30F4 00000000 */ nop -/* 0E7C28 7F0B30F8 45020006 */ bc1fl .L7F0B3114 -/* 0E7C2C 7F0B30FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E7C30 7F0B3100 46020281 */ sub.s $f10, $f0, $f2 -/* 0E7C34 7F0B3104 24080001 */ li $t0, 1 -/* 0E7C38 7F0B3108 AFA8001C */ sw $t0, 0x1c($sp) -/* 0E7C3C 7F0B310C E44A0000 */ swc1 $f10, ($v0) -.L7F0B3110: -/* 0E7C40 7F0B3110 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0B3114: -/* 0E7C44 7F0B3114 24690001 */ addiu $t1, $v1, 1 -/* 0E7C48 7F0B3118 3C018004 */ lui $at, %hi(D_800413CC) -/* 0E7C4C 7F0B311C 8FA2001C */ lw $v0, 0x1c($sp) -/* 0E7C50 7F0B3120 AC2913CC */ sw $t1, %lo(D_800413CC)($at) -/* 0E7C54 7F0B3124 03E00008 */ jr $ra -/* 0E7C58 7F0B3128 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0B312C(s32 arg0, s32 arg1) { - // Node 0 - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B312C -/* 0E7C5C 7F0B312C AFA50004 */ sw $a1, 4($sp) -/* 0E7C60 7F0B3130 03E00008 */ jr $ra -/* 0E7C64 7F0B3134 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B3138(s32 arg0, s32 arg1, ? arg2, ? arg3, ? arg4, f32 arg5, ?32 arg6, f32 arg7, f32 arg8) { - // Node 0 - return sub_GAME_7F0B0E24(arg2, arg3, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, 0.0f, 1.0f); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3138 -/* 0E7C68 7F0B3138 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0E7C6C 7F0B313C 44866000 */ mtc1 $a2, $f12 -/* 0E7C70 7F0B3140 44877000 */ mtc1 $a3, $f14 -/* 0E7C74 7F0B3144 AFA40030 */ sw $a0, 0x30($sp) -/* 0E7C78 7F0B3148 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E7C7C 7F0B314C 44818000 */ mtc1 $at, $f16 -/* 0E7C80 7F0B3150 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0E7C84 7F0B3154 8FAE0048 */ lw $t6, 0x48($sp) -/* 0E7C88 7F0B3158 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 0E7C8C 7F0B315C C7A80050 */ lwc1 $f8, 0x50($sp) -/* 0E7C90 7F0B3160 44805000 */ mtc1 $zero, $f10 -/* 0E7C94 7F0B3164 00A02025 */ move $a0, $a1 -/* 0E7C98 7F0B3168 AFBF002C */ sw $ra, 0x2c($sp) -/* 0E7C9C 7F0B316C 44056000 */ mfc1 $a1, $f12 -/* 0E7CA0 7F0B3170 44067000 */ mfc1 $a2, $f14 -/* 0E7CA4 7F0B3174 8FA70040 */ lw $a3, 0x40($sp) -/* 0E7CA8 7F0B3178 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0E7CAC 7F0B317C E7B00024 */ swc1 $f16, 0x24($sp) -/* 0E7CB0 7F0B3180 AFAE0014 */ sw $t6, 0x14($sp) -/* 0E7CB4 7F0B3184 E7A60018 */ swc1 $f6, 0x18($sp) -/* 0E7CB8 7F0B3188 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 0E7CBC 7F0B318C 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0E7CC0 7F0B3190 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 0E7CC4 7F0B3194 8FBF002C */ lw $ra, 0x2c($sp) -/* 0E7CC8 7F0B3198 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0E7CCC 7F0B319C 03E00008 */ jr $ra -/* 0E7CD0 7F0B31A0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B31A4(s32 arg0, s32 arg1, ? arg2, ? arg3, ? arg4, ?32 arg5, f32 arg6, f32 arg7) { - // Node 0 - return sub_GAME_7F0B18B8(arg2, arg3, arg1, arg2, arg3, arg4, arg5, arg6, arg7); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B31A4 -/* 0E7CD4 7F0B31A4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E7CD8 7F0B31A8 44866000 */ mtc1 $a2, $f12 -/* 0E7CDC 7F0B31AC 44877000 */ mtc1 $a3, $f14 -/* 0E7CE0 7F0B31B0 AFA40028 */ sw $a0, 0x28($sp) -/* 0E7CE4 7F0B31B4 8FAE003C */ lw $t6, 0x3c($sp) -/* 0E7CE8 7F0B31B8 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0E7CEC 7F0B31BC C7A60044 */ lwc1 $f6, 0x44($sp) -/* 0E7CF0 7F0B31C0 AFA5002C */ sw $a1, 0x2c($sp) -/* 0E7CF4 7F0B31C4 00A02025 */ move $a0, $a1 -/* 0E7CF8 7F0B31C8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0E7CFC 7F0B31CC 44056000 */ mfc1 $a1, $f12 -/* 0E7D00 7F0B31D0 44067000 */ mfc1 $a2, $f14 -/* 0E7D04 7F0B31D4 8FA70038 */ lw $a3, 0x38($sp) -/* 0E7D08 7F0B31D8 AFAE0010 */ sw $t6, 0x10($sp) -/* 0E7D0C 7F0B31DC E7A40014 */ swc1 $f4, 0x14($sp) -/* 0E7D10 7F0B31E0 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 0E7D14 7F0B31E4 E7A60018 */ swc1 $f6, 0x18($sp) -/* 0E7D18 7F0B31E8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0E7D1C 7F0B31EC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E7D20 7F0B31F0 03E00008 */ jr $ra -/* 0E7D24 7F0B31F4 00000000 */ nop -) -#endif - - diff --git a/src/game/textrelated.c b/src/game/textrelated.c deleted file mode 100644 index f12a7b0..0000000 --- a/src/game/textrelated.c +++ /dev/null @@ -1,3187 +0,0 @@ -#include "ultra64.h" - - -// data -s32 D_80040E80 = 0; -s32 text_spacing = 0; -s32 text_orientation = 0; -s32 text_wordwrap = 0; -s32 overlap_correction = -1; -s32 text_bilevel_filter = 0; -s32 text_x = 0; -s32 text_y = 0; -s32 text_s = 0; -s32 text_t = 0; -s32 D_80040EA8 = 0; -s32 ptrFirstFontTableSmall = 0; -s32 ptrSecondFontTableSmall = 0; -s32 ptrFirstFontTableLarge = 0; -s32 ptrSecondFontTableLarge = 0; - -u16 D_80040EBC[] = { - 0x0000, 0x5555, 0xaaaa, 0xffff, - 0x0000, 0x5555, 0xaaaa, 0xffff, - 0x0000, 0x5555, 0xaaaa, 0xffff, - 0x0000, 0x5555, 0xaaaa, 0xffff -}; -u32 D_80040EDC = 0; -u32 D_80040EE0 = 0; - -u32 D_80040EE4[] = { - 0x55555555, 0x55555555, - 0xAAAAAAAA, 0xAAAAAAAA, - 0xFFFFFFFF, 0xFFFFFFFF -}; -u32 D_80040EFC = 0; -u32 D_80040F00 = 0; - - -s32 D_80040F04 = 0xC; -s32 D_80040F08 = 0xB; -s32 D_80040F0C = 0; -s32 D_80040F10 = 0; -s32 D_80040F14 = 0; -s32 D_80040F18 = 0; -s32 D_80040F1C = 0xC; -s32 D_80040F20 = 0xB; -s32 D_80040F24 = 0; -s32 D_80040F28 = 0; - - - -void null_init_main_7f0acb70(void) { - -} - -void setTextSpacingInverted(s32 spacing) { - text_spacing = -spacing; -} - -void setTextOrientation(s32 orientation) { - text_orientation = orientation; -} - -void setTextWordWrap(s32 flag) { - text_wordwrap = flag; -} - -void setTextOverlapCorrection(s32 flag) { - overlap_correction = flag; -} - - - - - - -#ifdef NONMATCHING -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; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - s32 i; - s32 phi_v1_2; - - text_spacing = 0; - text_orientation = 0; - text_wordwrap = 0; - overlap_correction = -1; - text_bilevel_filter = 0; - text_x = 0; - text_y = 0; - text_s = 0; - MACROSIZE = 0x24b0 - 0; - text_t = 0; - ptrFirstFontTableSmall = mempAllocBytesInBank(MACROSIZE, 4); - ptrSecondFontTableSmall = (s32) (ptrFirstFontTableSmall + 0x2a4); - romCopy(&ptrFirstFontTableSmall, &_fonttablectlsmall1SegmentRomStart, MACROSIZE); - i = 0; -loop_1: - temp_v0 = ptrSecondFontTableSmall + i; - i_next = i + 0x18; - temp_v0->unk14 = (s32) (temp_v0->unk14 + ptrFirstFontTableSmall); - i = i_next; - if (i_next < 0x8d0) - { - goto loop_1; - } - 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: - 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->unk2C = (s32) (temp_v0_3->unk2C + ptrFirstFontTableLarge); - 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->unk5C = (s32) (temp_v0_5->unk5C + ptrFirstFontTableLarge); - phi_v1_2 = temp_v1_2; - if (temp_v1_2 != 0x8d0) - { - goto loop_3; - } -} -#else -GLOBAL_ASM( -.text -glabel load_font_tables -/* 0E16DC 7F0ACBAC 3C018004 */ lui $at, %hi(text_spacing) -/* 0E16E0 7F0ACBB0 AC200E84 */ sw $zero, %lo(text_spacing)($at) -/* 0E16E4 7F0ACBB4 3C018004 */ lui $at, %hi(text_orientation) -/* 0E16E8 7F0ACBB8 AC200E88 */ sw $zero, %lo(text_orientation)($at) -/* 0E16EC 7F0ACBBC 3C018004 */ lui $at, %hi(text_wordwrap) -/* 0E16F0 7F0ACBC0 AC200E8C */ sw $zero, %lo(text_wordwrap)($at) -/* 0E16F4 7F0ACBC4 3C018004 */ lui $at, %hi(overlap_correction) -/* 0E16F8 7F0ACBC8 240EFFFF */ li $t6, -1 -/* 0E16FC 7F0ACBCC AC2E0E90 */ sw $t6, %lo(overlap_correction)($at) -/* 0E1700 7F0ACBD0 3C018004 */ lui $at, %hi(text_bilevel_filter) -/* 0E1704 7F0ACBD4 AC200E94 */ sw $zero, %lo(text_bilevel_filter)($at) -/* 0E1708 7F0ACBD8 3C018004 */ lui $at, %hi(text_x) -/* 0E170C 7F0ACBDC AC200E98 */ sw $zero, %lo(text_x)($at) -/* 0E1710 7F0ACBE0 3C018004 */ lui $at, %hi(text_y) -/* 0E1714 7F0ACBE4 AC200E9C */ sw $zero, %lo(text_y)($at) -/* 0E1718 7F0ACBE8 3C018004 */ lui $at, %hi(text_s) -/* 0E171C 7F0ACBEC 3C0F0000 */ lui $t7, %hi(0x000024B0) # $t7, 0 -/* 0E1720 7F0ACBF0 3C180000 */ lui $t8, 0 -/* 0E1724 7F0ACBF4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0E1728 7F0ACBF8 AC200EA0 */ sw $zero, %lo(text_s)($at) -/* 0E172C 7F0ACBFC 27180000 */ addiu $t8, $t8, 0 -/* 0E1730 7F0ACC00 25EF24B0 */ addiu $t7, %lo(0x000024B0) # addiu $t7, $t7, 0x24b0 -/* 0E1734 7F0ACC04 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E1738 7F0ACC08 3C018004 */ lui $at, %hi(text_t) -/* 0E173C 7F0ACC0C 01F83023 */ subu $a2, $t7, $t8 -/* 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 mempAllocBytesInBank -/* 0E1750 7F0ACC20 24050004 */ li $a1, 4 -/* 0E1754 7F0ACC24 3C078004 */ lui $a3, %hi(ptrFirstFontTableSmall) -/* 0E1758 7F0ACC28 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall) -/* 0E175C 7F0ACC2C 25080EB0 */ addiu $t0, %lo(ptrSecondFontTableSmall) # addiu $t0, $t0, 0xeb0 -/* 0E1760 7F0ACC30 24E70EAC */ addiu $a3, %lo(ptrFirstFontTableSmall) # addiu $a3, $a3, 0xeac -/* 0E1764 7F0ACC34 245902A4 */ addiu $t9, $v0, 0x2a4 -/* 0E1768 7F0ACC38 3C05002E */ lui $a1, %hi(_fonttablectlsmall1SegmentRomStart) # $a1, 0x2e -/* 0E176C 7F0ACC3C ACE20000 */ sw $v0, ($a3) -/* 0E1770 7F0ACC40 8FA6001C */ lw $a2, 0x1c($sp) -/* 0E1774 7F0ACC44 AD190000 */ sw $t9, ($t0) -/* 0E1778 7F0ACC48 00402025 */ move $a0, $v0 -/* 0E177C 7F0ACC4C 0C001707 */ jal romCopy -/* 0E1780 7F0ACC50 24A563F0 */ addiu $a1, %lo(_fonttablectlsmall1SegmentRomStart) # addiu $a1, $a1, 0x63f0 -/* 0E1784 7F0ACC54 3C078004 */ lui $a3, %hi(ptrFirstFontTableSmall) -/* 0E1788 7F0ACC58 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall) -/* 0E178C 7F0ACC5C 25080EB0 */ addiu $t0, %lo(ptrSecondFontTableSmall) # addiu $t0, $t0, 0xeb0 -/* 0E1790 7F0ACC60 24E70EAC */ addiu $a3, %lo(ptrFirstFontTableSmall) # addiu $a3, $a3, 0xeac -/* 0E1794 7F0ACC64 00001825 */ move $v1, $zero -.L7F0ACC68: -/* 0E1798 7F0ACC68 8D090000 */ lw $t1, ($t0) -/* 0E179C 7F0ACC6C 8CEB0000 */ lw $t3, ($a3) -/* 0E17A0 7F0ACC70 01231021 */ addu $v0, $t1, $v1 -/* 0E17A4 7F0ACC74 8C4A0014 */ lw $t2, 0x14($v0) -/* 0E17A8 7F0ACC78 24630018 */ addiu $v1, $v1, 0x18 -/* 0E17AC 7F0ACC7C 286108D0 */ slti $at, $v1, 0x8d0 -/* 0E17B0 7F0ACC80 014B6021 */ addu $t4, $t2, $t3 -/* 0E17B4 7F0ACC84 1420FFF8 */ bnez $at, .L7F0ACC68 -/* 0E17B8 7F0ACC88 AC4C0014 */ sw $t4, 0x14($v0) -/* 0E17BC 7F0ACC8C 3C0D0000 */ lui $t5, %hi(0x00003540) # $t5, 0 -/* 0E17C0 7F0ACC90 3C0E0000 */ lui $t6, 0 -/* 0E17C4 7F0ACC94 25CE0000 */ addiu $t6, $t6, 0 -/* 0E17C8 7F0ACC98 25AD3540 */ addiu $t5, %lo(0x00003540) # addiu $t5, $t5, 0x3540 -/* 0E17CC 7F0ACC9C 01AE3023 */ subu $a2, $t5, $t6 -/* 0E17D0 7F0ACCA0 00C02025 */ move $a0, $a2 -/* 0E17D4 7F0ACCA4 AFA6001C */ sw $a2, 0x1c($sp) -/* 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) -/* 0E17E8 7F0ACCB8 25080EB8 */ addiu $t0, %lo(ptrSecondFontTableLarge) # addiu $t0, $t0, 0xeb8 -/* 0E17EC 7F0ACCBC 24E70EB4 */ addiu $a3, %lo(ptrFirstFontTableLarge) # addiu $a3, $a3, 0xeb4 -/* 0E17F0 7F0ACCC0 244F02A4 */ addiu $t7, $v0, 0x2a4 -/* 0E17F4 7F0ACCC4 3C05002F */ lui $a1, %hi(_fonttablectllarge1SegmentRomStart) # $a1, 0x2f -/* 0E17F8 7F0ACCC8 ACE20000 */ sw $v0, ($a3) -/* 0E17FC 7F0ACCCC 8FA6001C */ lw $a2, 0x1c($sp) -/* 0E1800 7F0ACCD0 AD0F0000 */ sw $t7, ($t0) -/* 0E1804 7F0ACCD4 00402025 */ move $a0, $v0 -/* 0E1808 7F0ACCD8 0C001707 */ jal romCopy -/* 0E180C 7F0ACCDC 24A588A0 */ addiu $a1, %lo(_fonttablectllarge1SegmentRomStart) # addiu $a1, $a1, -0x7760 -/* 0E1810 7F0ACCE0 3C088004 */ lui $t0, %hi(ptrSecondFontTableLarge) -/* 0E1814 7F0ACCE4 25080EB8 */ addiu $t0, %lo(ptrSecondFontTableLarge) # addiu $t0, $t0, 0xeb8 -/* 0E1818 7F0ACCE8 8D020000 */ lw $v0, ($t0) -/* 0E181C 7F0ACCEC 3C078004 */ lui $a3, %hi(ptrFirstFontTableLarge) -/* 0E1820 7F0ACCF0 24E70EB4 */ addiu $a3, %lo(ptrFirstFontTableLarge) # addiu $a3, $a3, 0xeb4 -/* 0E1824 7F0ACCF4 8CF90000 */ lw $t9, ($a3) -/* 0E1828 7F0ACCF8 8C580014 */ lw $t8, 0x14($v0) -/* 0E182C 7F0ACCFC 24030030 */ li $v1, 48 -/* 0E1830 7F0ACD00 240408D0 */ li $a0, 2256 -/* 0E1834 7F0ACD04 03194821 */ addu $t1, $t8, $t9 -/* 0E1838 7F0ACD08 AC490014 */ sw $t1, 0x14($v0) -/* 0E183C 7F0ACD0C 8D020000 */ lw $v0, ($t0) -/* 0E1840 7F0ACD10 8CEB0000 */ lw $t3, ($a3) -/* 0E1844 7F0ACD14 8C4A002C */ lw $t2, 0x2c($v0) -/* 0E1848 7F0ACD18 014B6021 */ addu $t4, $t2, $t3 -/* 0E184C 7F0ACD1C AC4C002C */ sw $t4, 0x2c($v0) -.L7F0ACD20: -/* 0E1850 7F0ACD20 8D0D0000 */ lw $t5, ($t0) -/* 0E1854 7F0ACD24 8CEF0000 */ lw $t7, ($a3) -/* 0E1858 7F0ACD28 01A31021 */ addu $v0, $t5, $v1 -/* 0E185C 7F0ACD2C 8C4E0014 */ lw $t6, 0x14($v0) -/* 0E1860 7F0ACD30 01CFC021 */ addu $t8, $t6, $t7 -/* 0E1864 7F0ACD34 AC580014 */ sw $t8, 0x14($v0) -/* 0E1868 7F0ACD38 8D190000 */ lw $t9, ($t0) -/* 0E186C 7F0ACD3C 8CEA0000 */ lw $t2, ($a3) -/* 0E1870 7F0ACD40 03231021 */ addu $v0, $t9, $v1 -/* 0E1874 7F0ACD44 8C49002C */ lw $t1, 0x2c($v0) -/* 0E1878 7F0ACD48 012A5821 */ addu $t3, $t1, $t2 -/* 0E187C 7F0ACD4C AC4B002C */ sw $t3, 0x2c($v0) -/* 0E1880 7F0ACD50 8D0C0000 */ lw $t4, ($t0) -/* 0E1884 7F0ACD54 8CEE0000 */ lw $t6, ($a3) -/* 0E1888 7F0ACD58 01831021 */ addu $v0, $t4, $v1 -/* 0E188C 7F0ACD5C 8C4D0044 */ lw $t5, 0x44($v0) -/* 0E1890 7F0ACD60 01AE7821 */ addu $t7, $t5, $t6 -/* 0E1894 7F0ACD64 AC4F0044 */ sw $t7, 0x44($v0) -/* 0E1898 7F0ACD68 8D180000 */ lw $t8, ($t0) -/* 0E189C 7F0ACD6C 8CE90000 */ lw $t1, ($a3) -/* 0E18A0 7F0ACD70 03031021 */ addu $v0, $t8, $v1 -/* 0E18A4 7F0ACD74 8C59005C */ lw $t9, 0x5c($v0) -/* 0E18A8 7F0ACD78 24630060 */ addiu $v1, $v1, 0x60 -/* 0E18AC 7F0ACD7C 03295021 */ addu $t2, $t9, $t1 -/* 0E18B0 7F0ACD80 1464FFE7 */ bne $v1, $a0, .L7F0ACD20 -/* 0E18B4 7F0ACD84 AC4A005C */ sw $t2, 0x5c($v0) -/* 0E18B8 7F0ACD88 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E18BC 7F0ACD8C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0E18C0 7F0ACD90 03E00008 */ jr $ra -/* 0E18C4 7F0ACD94 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel microcode_constructor -/* 0E18C8 7F0ACD98 00801025 */ move $v0, $a0 -/* 0E18CC 7F0ACD9C 24840008 */ addiu $a0, $a0, 8 -/* 0E18D0 7F0ACDA0 3C0EE700 */ lui $t6, 0xe700 -/* 0E18D4 7F0ACDA4 AC4E0000 */ sw $t6, ($v0) -/* 0E18D8 7F0ACDA8 AC400004 */ sw $zero, 4($v0) -/* 0E18DC 7F0ACDAC 00801825 */ move $v1, $a0 -/* 0E18E0 7F0ACDB0 24840008 */ addiu $a0, $a0, 8 -/* 0E18E4 7F0ACDB4 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 0E18E8 7F0ACDB8 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 0E18EC 7F0ACDBC 00802825 */ move $a1, $a0 -/* 0E18F0 7F0ACDC0 AC6F0000 */ sw $t7, ($v1) -/* 0E18F4 7F0ACDC4 AC600004 */ sw $zero, 4($v1) -/* 0E18F8 7F0ACDC8 24840008 */ addiu $a0, $a0, 8 -/* 0E18FC 7F0ACDCC 3C18BA00 */ lui $t8, (0xBA000602 >> 16) # lui $t8, 0xba00 -/* 0E1900 7F0ACDD0 37180602 */ ori $t8, (0xBA000602 & 0xFFFF) # ori $t8, $t8, 0x602 -/* 0E1904 7F0ACDD4 241900C0 */ li $t9, 192 -/* 0E1908 7F0ACDD8 00803025 */ move $a2, $a0 -/* 0E190C 7F0ACDDC ACB90004 */ sw $t9, 4($a1) -/* 0E1910 7F0ACDE0 ACB80000 */ sw $t8, ($a1) -/* 0E1914 7F0ACDE4 24840008 */ addiu $a0, $a0, 8 -/* 0E1918 7F0ACDE8 3C08B900 */ lui $t0, (0xB900031D >> 16) # lui $t0, 0xb900 -/* 0E191C 7F0ACDEC 3C090050 */ lui $t1, (0x005041C8 >> 16) # lui $t1, 0x50 -/* 0E1920 7F0ACDF0 352941C8 */ ori $t1, (0x005041C8 & 0xFFFF) # ori $t1, $t1, 0x41c8 -/* 0E1924 7F0ACDF4 3508031D */ ori $t0, (0xB900031D & 0xFFFF) # ori $t0, $t0, 0x31d -/* 0E1928 7F0ACDF8 00803825 */ move $a3, $a0 -/* 0E192C 7F0ACDFC ACC80000 */ sw $t0, ($a2) -/* 0E1930 7F0ACE00 ACC90004 */ sw $t1, 4($a2) -/* 0E1934 7F0ACE04 3C0AFCFF */ lui $t2, (0xFCFF97FF >> 16) # lui $t2, 0xfcff -/* 0E1938 7F0ACE08 3C0BFF2D */ lui $t3, (0xFF2DFEFF >> 16) # lui $t3, 0xff2d -/* 0E193C 7F0ACE0C 356BFEFF */ ori $t3, (0xFF2DFEFF & 0xFFFF) # ori $t3, $t3, 0xfeff -/* 0E1940 7F0ACE10 354A97FF */ ori $t2, (0xFCFF97FF & 0xFFFF) # ori $t2, $t2, 0x97ff -/* 0E1944 7F0ACE14 24840008 */ addiu $a0, $a0, 8 -/* 0E1948 7F0ACE18 ACEA0000 */ sw $t2, ($a3) -/* 0E194C 7F0ACE1C ACEB0004 */ sw $t3, 4($a3) -/* 0E1950 7F0ACE20 00801025 */ move $v0, $a0 -/* 0E1954 7F0ACE24 24840008 */ addiu $a0, $a0, 8 -/* 0E1958 7F0ACE28 3C0CBA00 */ lui $t4, (0xBA001301 >> 16) # lui $t4, 0xba00 -/* 0E195C 7F0ACE2C 358C1301 */ ori $t4, (0xBA001301 & 0xFFFF) # ori $t4, $t4, 0x1301 -/* 0E1960 7F0ACE30 00801825 */ move $v1, $a0 -/* 0E1964 7F0ACE34 AC4C0000 */ sw $t4, ($v0) -/* 0E1968 7F0ACE38 AC400004 */ sw $zero, 4($v0) -/* 0E196C 7F0ACE3C 24840008 */ addiu $a0, $a0, 8 -/* 0E1970 7F0ACE40 3C0DB900 */ lui $t5, (0xB9000002 >> 16) # lui $t5, 0xb900 -/* 0E1974 7F0ACE44 35AD0002 */ ori $t5, (0xB9000002 & 0xFFFF) # ori $t5, $t5, 2 -/* 0E1978 7F0ACE48 00802825 */ move $a1, $a0 -/* 0E197C 7F0ACE4C AC6D0000 */ sw $t5, ($v1) -/* 0E1980 7F0ACE50 AC600004 */ sw $zero, 4($v1) -/* 0E1984 7F0ACE54 24840008 */ addiu $a0, $a0, 8 -/* 0E1988 7F0ACE58 3C0EBA00 */ lui $t6, (0xBA001001 >> 16) # lui $t6, 0xba00 -/* 0E198C 7F0ACE5C 35CE1001 */ ori $t6, (0xBA001001 & 0xFFFF) # ori $t6, $t6, 0x1001 -/* 0E1990 7F0ACE60 00803025 */ move $a2, $a0 -/* 0E1994 7F0ACE64 ACAE0000 */ sw $t6, ($a1) -/* 0E1998 7F0ACE68 ACA00004 */ sw $zero, 4($a1) -/* 0E199C 7F0ACE6C 3C0FBA00 */ lui $t7, (0xBA000903 >> 16) # lui $t7, 0xba00 -/* 0E19A0 7F0ACE70 35EF0903 */ ori $t7, (0xBA000903 & 0xFFFF) # ori $t7, $t7, 0x903 -/* 0E19A4 7F0ACE74 24840008 */ addiu $a0, $a0, 8 -/* 0E19A8 7F0ACE78 24180C00 */ li $t8, 3072 -/* 0E19AC 7F0ACE7C ACD80004 */ sw $t8, 4($a2) -/* 0E19B0 7F0ACE80 ACCF0000 */ sw $t7, ($a2) -/* 0E19B4 7F0ACE84 00803825 */ move $a3, $a0 -/* 0E19B8 7F0ACE88 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00 -/* 0E19BC 7F0ACE8C 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02 -/* 0E19C0 7F0ACE90 ACF90000 */ sw $t9, ($a3) -/* 0E19C4 7F0ACE94 ACE00004 */ sw $zero, 4($a3) -/* 0E19C8 7F0ACE98 3C088004 */ lui $t0, %hi(text_bilevel_filter) -/* 0E19CC 7F0ACE9C 8D080E94 */ lw $t0, %lo(text_bilevel_filter)($t0) -/* 0E19D0 7F0ACEA0 24840008 */ addiu $a0, $a0, 8 -/* 0E19D4 7F0ACEA4 00801025 */ move $v0, $a0 -/* 0E19D8 7F0ACEA8 1100000A */ beqz $t0, .L7F0ACED4 -/* 0E19DC 7F0ACEAC 3C0BBA00 */ lui $t3, 0xba00 -/* 0E19E0 7F0ACEB0 00801025 */ move $v0, $a0 -/* 0E19E4 7F0ACEB4 3C09BA00 */ lui $t1, (0xBA000C02 >> 16) # lui $t1, 0xba00 -/* 0E19E8 7F0ACEB8 35290C02 */ ori $t1, (0xBA000C02 & 0xFFFF) # ori $t1, $t1, 0xc02 -/* 0E19EC 7F0ACEBC 240A3000 */ li $t2, 12288 -/* 0E19F0 7F0ACEC0 AC4A0004 */ sw $t2, 4($v0) -/* 0E19F4 7F0ACEC4 AC490000 */ sw $t1, ($v0) -/* 0E19F8 7F0ACEC8 24840008 */ addiu $a0, $a0, 8 -/* 0E19FC 7F0ACECC 03E00008 */ jr $ra -/* 0E1A00 7F0ACED0 00801025 */ move $v0, $a0 - -.L7F0ACED4: -/* 0E1A04 7F0ACED4 356B0C02 */ ori $t3, $t3, 0xc02 -/* 0E1A08 7F0ACED8 240C2000 */ li $t4, 8192 -/* 0E1A0C 7F0ACEDC AC4C0004 */ sw $t4, 4($v0) -/* 0E1A10 7F0ACEE0 AC4B0000 */ sw $t3, ($v0) -/* 0E1A14 7F0ACEE4 24840008 */ addiu $a0, $a0, 8 -/* 0E1A18 7F0ACEE8 03E00008 */ jr $ra -/* 0E1A1C 7F0ACEEC 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -s32 combiner_bayer_lod_perspective(void *arg0) { - void *temp_a1; - void *temp_a2; - void *temp_a3; - - // Node 0 - temp_a1 = (arg0 + 8); - *arg0 = 0xe7000000; - arg0->unk4 = 0; - temp_a2 = (temp_a1 + 8); - temp_a1->unk4 = 0x40; - *temp_a1 = 0xba000602; - temp_a3 = (temp_a2 + 8); - temp_a2->unk4 = 0x80000; - *temp_a2 = 0xba001301; - temp_a3->unk4 = 0x10000; - *temp_a3 = 0xba001001; - return; - // (possible return value: (temp_a3 + 8)) -} - -#else -GLOBAL_ASM( -.text -glabel combiner_bayer_lod_perspective -/* 0E1A20 7F0ACEF0 24850008 */ addiu $a1, $a0, 8 -/* 0E1A24 7F0ACEF4 3C0EE700 */ lui $t6, 0xe700 -/* 0E1A28 7F0ACEF8 AC8E0000 */ sw $t6, ($a0) -/* 0E1A2C 7F0ACEFC AC800004 */ sw $zero, 4($a0) -/* 0E1A30 7F0ACF00 3C0FBA00 */ lui $t7, (0xBA000602 >> 16) # lui $t7, 0xba00 -/* 0E1A34 7F0ACF04 35EF0602 */ ori $t7, (0xBA000602 & 0xFFFF) # ori $t7, $t7, 0x602 -/* 0E1A38 7F0ACF08 24A60008 */ addiu $a2, $a1, 8 -/* 0E1A3C 7F0ACF0C 24180040 */ li $t8, 64 -/* 0E1A40 7F0ACF10 ACB80004 */ sw $t8, 4($a1) -/* 0E1A44 7F0ACF14 ACAF0000 */ sw $t7, ($a1) -/* 0E1A48 7F0ACF18 3C19BA00 */ lui $t9, (0xBA001301 >> 16) # lui $t9, 0xba00 -/* 0E1A4C 7F0ACF1C 37391301 */ ori $t9, (0xBA001301 & 0xFFFF) # ori $t9, $t9, 0x1301 -/* 0E1A50 7F0ACF20 24C70008 */ addiu $a3, $a2, 8 -/* 0E1A54 7F0ACF24 3C080008 */ lui $t0, 8 -/* 0E1A58 7F0ACF28 3C09BA00 */ lui $t1, (0xBA001001 >> 16) # lui $t1, 0xba00 -/* 0E1A5C 7F0ACF2C ACC80004 */ sw $t0, 4($a2) -/* 0E1A60 7F0ACF30 ACD90000 */ sw $t9, ($a2) -/* 0E1A64 7F0ACF34 35291001 */ ori $t1, (0xBA001001 & 0xFFFF) # ori $t1, $t1, 0x1001 -/* 0E1A68 7F0ACF38 3C0A0001 */ lui $t2, 1 -/* 0E1A6C 7F0ACF3C ACEA0004 */ sw $t2, 4($a3) -/* 0E1A70 7F0ACF40 ACE90000 */ sw $t1, ($a3) -/* 0E1A74 7F0ACF44 03E00008 */ jr $ra -/* 0E1A78 7F0ACF48 24E20008 */ addiu $v0, $a3, 8 -) -#endif - - - - - -#ifdef NONMATCHING -s32 draw_blackbox_to_screen(void *arg0, void *arg1, void *arg2, void *arg3, void *arg4) { - void *temp_a0; - void *temp_t0; - void *temp_t1; - void *temp_v1; - void *temp_a1; - - // Node 0 - *arg0 = 0xb900031d; - arg0->unk4 = 0x504240; - temp_a0 = (arg0 + 8); - *temp_a0 = 0xfcffffff; - temp_a0->unk4 = 0xfffdf6fb; - temp_t0 = (temp_a0 + 8); - *temp_t0 = 0xfa000000; - temp_t0->unk4 = 0; - temp_t1 = (temp_t0 + 8); - *temp_t1 = (s32) ((((*arg4 & 0x3ff) * 4) | 0xf6000000) | ((*arg3 & 0x3ff) << 0xe)); - temp_v1 = (temp_t1 + 8); - temp_t1->unk4 = (s32) (((*arg2 & 0x3ff) * 4) | ((*arg1 & 0x3ff) << 0xe)); - temp_a1 = (temp_v1 + 8); - temp_v1->unk4 = 0x504240; - *temp_v1 = 0xb900031d; - *temp_a1 = 0xfcff97ff; - temp_a1->unk4 = 0xff2dfeff; - return; - // (possible return value: (temp_a1 + 8)) -} - -#else -GLOBAL_ASM( -.text -glabel draw_blackbox_to_screen -/* 0E1A7C 7F0ACF4C 3C0AB900 */ lui $t2, (0xB900031D >> 16) # lui $t2, 0xb900 -/* 0E1A80 7F0ACF50 3C0B0050 */ lui $t3, (0x00504240 >> 16) # lui $t3, 0x50 -/* 0E1A84 7F0ACF54 00801025 */ move $v0, $a0 -/* 0E1A88 7F0ACF58 356B4240 */ ori $t3, (0x00504240 & 0xFFFF) # ori $t3, $t3, 0x4240 -/* 0E1A8C 7F0ACF5C 354A031D */ ori $t2, (0xB900031D & 0xFFFF) # ori $t2, $t2, 0x31d -/* 0E1A90 7F0ACF60 AC4A0000 */ sw $t2, ($v0) -/* 0E1A94 7F0ACF64 AC4B0004 */ sw $t3, 4($v0) -/* 0E1A98 7F0ACF68 3C0EFCFF */ lui $t6, (0xFCFFFFFF >> 16) # lui $t6, 0xfcff -/* 0E1A9C 7F0ACF6C 3C0FFFFD */ lui $t7, (0xFFFDF6FB >> 16) # lui $t7, 0xfffd -/* 0E1AA0 7F0ACF70 24840008 */ addiu $a0, $a0, 8 -/* 0E1AA4 7F0ACF74 35EFF6FB */ ori $t7, (0xFFFDF6FB & 0xFFFF) # ori $t7, $t7, 0xf6fb -/* 0E1AA8 7F0ACF78 35CEFFFF */ ori $t6, (0xFCFFFFFF & 0xFFFF) # ori $t6, $t6, 0xffff -/* 0E1AAC 7F0ACF7C AC8E0000 */ sw $t6, ($a0) -/* 0E1AB0 7F0ACF80 AC8F0004 */ sw $t7, 4($a0) -/* 0E1AB4 7F0ACF84 24880008 */ addiu $t0, $a0, 8 -/* 0E1AB8 7F0ACF88 3C18FA00 */ lui $t8, 0xfa00 -/* 0E1ABC 7F0ACF8C AD180000 */ sw $t8, ($t0) -/* 0E1AC0 7F0ACF90 AD000004 */ sw $zero, 4($t0) -/* 0E1AC4 7F0ACF94 8FB90010 */ lw $t9, 0x10($sp) -/* 0E1AC8 7F0ACF98 8CF80000 */ lw $t8, ($a3) -/* 0E1ACC 7F0ACF9C 3C01F600 */ lui $at, 0xf600 -/* 0E1AD0 7F0ACFA0 8F2C0000 */ lw $t4, ($t9) -/* 0E1AD4 7F0ACFA4 331903FF */ andi $t9, $t8, 0x3ff -/* 0E1AD8 7F0ACFA8 25090008 */ addiu $t1, $t0, 8 -/* 0E1ADC 7F0ACFAC 318D03FF */ andi $t5, $t4, 0x3ff -/* 0E1AE0 7F0ACFB0 000D7080 */ sll $t6, $t5, 2 -/* 0E1AE4 7F0ACFB4 01C17825 */ or $t7, $t6, $at -/* 0E1AE8 7F0ACFB8 00196380 */ sll $t4, $t9, 0xe -/* 0E1AEC 7F0ACFBC 01EC6825 */ or $t5, $t7, $t4 -/* 0E1AF0 7F0ACFC0 AD2D0000 */ sw $t5, ($t1) -/* 0E1AF4 7F0ACFC4 8CAF0000 */ lw $t7, ($a1) -/* 0E1AF8 7F0ACFC8 8CCE0000 */ lw $t6, ($a2) -/* 0E1AFC 7F0ACFCC 25230008 */ addiu $v1, $t1, 8 -/* 0E1B00 7F0ACFD0 31EC03FF */ andi $t4, $t7, 0x3ff -/* 0E1B04 7F0ACFD4 31D803FF */ andi $t8, $t6, 0x3ff -/* 0E1B08 7F0ACFD8 0018C880 */ sll $t9, $t8, 2 -/* 0E1B0C 7F0ACFDC 000C6B80 */ sll $t5, $t4, 0xe -/* 0E1B10 7F0ACFE0 032D7025 */ or $t6, $t9, $t5 -/* 0E1B14 7F0ACFE4 AD2E0004 */ sw $t6, 4($t1) -/* 0E1B18 7F0ACFE8 24650008 */ addiu $a1, $v1, 8 -/* 0E1B1C 7F0ACFEC 3C18FCFF */ lui $t8, (0xFCFF97FF >> 16) # lui $t8, 0xfcff -/* 0E1B20 7F0ACFF0 3C0FFF2D */ lui $t7, (0xFF2DFEFF >> 16) # lui $t7, 0xff2d -/* 0E1B24 7F0ACFF4 AC6B0004 */ sw $t3, 4($v1) -/* 0E1B28 7F0ACFF8 AC6A0000 */ sw $t2, ($v1) -/* 0E1B2C 7F0ACFFC 35EFFEFF */ ori $t7, (0xFF2DFEFF & 0xFFFF) # ori $t7, $t7, 0xfeff -/* 0E1B30 7F0AD000 371897FF */ ori $t8, (0xFCFF97FF & 0xFFFF) # ori $t8, $t8, 0x97ff -/* 0E1B34 7F0AD004 ACB80000 */ sw $t8, ($a1) -/* 0E1B38 7F0AD008 ACAF0004 */ sw $t7, 4($a1) -/* 0E1B3C 7F0AD00C 03E00008 */ jr $ra -/* 0E1B40 7F0AD010 24A20008 */ addiu $v0, $a1, 8 -) -#endif - - - - - -#ifdef NONMATCHING -s32 microcode_constructor_related_to_menus(void *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, u32 arg5) { - void *temp_a0; - void *temp_t0; - void *temp_t1; - void *temp_v1; - - // Node 0 - *arg0 = 0xb900031d; - arg0->unk4 = 0x504240; - temp_a0 = (arg0 + 8); - *temp_a0 = 0xfcffffff; - temp_a0->unk4 = 0xfffdf6fb; - temp_t0 = (temp_a0 + 8); - *temp_t0 = 0xfa000000; - temp_t1 = (temp_t0 + 8); - temp_t0->unk4 = (s32) (((((arg5 >> 0x18) << 0x18) | (((arg5 >> 0x10) & 0xff) << 0x10)) | (((arg5 >> 8) & 0xff) << 8)) | (arg5 & 0xff)); - temp_v1 = (temp_t1 + 8); - temp_t1->unk4 = (s32) (((arg1 & 0x3ff) << 0xe) | ((arg2 & 0x3ff) * 4)); - *temp_t1 = (s32) ((((arg3 & 0x3ff) << 0xe) | 0xf6000000) | ((arg4 & 0x3ff) * 4)); - temp_v1->unk4 = 0xff2dfeff; - *temp_v1 = 0xfcff97ff; - return; - // (possible return value: (temp_v1 + 8)) -} - -#else -GLOBAL_ASM( -.text -glabel microcode_constructor_related_to_menus -/* 0E1B44 7F0AD014 00801025 */ move $v0, $a0 -/* 0E1B48 7F0AD018 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0E1B4C 7F0AD01C 3C0F0050 */ lui $t7, (0x00504240 >> 16) # lui $t7, 0x50 -/* 0E1B50 7F0AD020 35EF4240 */ ori $t7, (0x00504240 & 0xFFFF) # ori $t7, $t7, 0x4240 -/* 0E1B54 7F0AD024 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0E1B58 7F0AD028 AC4E0000 */ sw $t6, ($v0) -/* 0E1B5C 7F0AD02C AC4F0004 */ sw $t7, 4($v0) -/* 0E1B60 7F0AD030 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff -/* 0E1B64 7F0AD034 3C19FFFD */ lui $t9, (0xFFFDF6FB >> 16) # lui $t9, 0xfffd -/* 0E1B68 7F0AD038 24840008 */ addiu $a0, $a0, 8 -/* 0E1B6C 7F0AD03C 3739F6FB */ ori $t9, (0xFFFDF6FB & 0xFFFF) # ori $t9, $t9, 0xf6fb -/* 0E1B70 7F0AD040 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff -/* 0E1B74 7F0AD044 AC980000 */ sw $t8, ($a0) -/* 0E1B78 7F0AD048 AC990004 */ sw $t9, 4($a0) -/* 0E1B7C 7F0AD04C 24880008 */ addiu $t0, $a0, 8 -/* 0E1B80 7F0AD050 3C0AFA00 */ lui $t2, 0xfa00 -/* 0E1B84 7F0AD054 AD0A0000 */ sw $t2, ($t0) -/* 0E1B88 7F0AD058 8FAB0014 */ lw $t3, 0x14($sp) -/* 0E1B8C 7F0AD05C 3C01F600 */ lui $at, 0xf600 -/* 0E1B90 7F0AD060 25090008 */ addiu $t1, $t0, 8 -/* 0E1B94 7F0AD064 000BCC02 */ srl $t9, $t3, 0x10 -/* 0E1B98 7F0AD068 332A00FF */ andi $t2, $t9, 0xff -/* 0E1B9C 7F0AD06C 000A6400 */ sll $t4, $t2, 0x10 -/* 0E1BA0 7F0AD070 000B7602 */ srl $t6, $t3, 0x18 -/* 0E1BA4 7F0AD074 000E7E00 */ sll $t7, $t6, 0x18 -/* 0E1BA8 7F0AD078 000BC202 */ srl $t8, $t3, 8 -/* 0E1BAC 7F0AD07C 331900FF */ andi $t9, $t8, 0xff -/* 0E1BB0 7F0AD080 01EC6825 */ or $t5, $t7, $t4 -/* 0E1BB4 7F0AD084 00195200 */ sll $t2, $t9, 8 -/* 0E1BB8 7F0AD088 01606025 */ move $t4, $t3 -/* 0E1BBC 7F0AD08C 318E00FF */ andi $t6, $t4, 0xff -/* 0E1BC0 7F0AD090 01AA7825 */ or $t7, $t5, $t2 -/* 0E1BC4 7F0AD094 01EEC025 */ or $t8, $t7, $t6 -/* 0E1BC8 7F0AD098 AD180004 */ sw $t8, 4($t0) -/* 0E1BCC 7F0AD09C 8FAB0010 */ lw $t3, 0x10($sp) -/* 0E1BD0 7F0AD0A0 30F903FF */ andi $t9, $a3, 0x3ff -/* 0E1BD4 7F0AD0A4 00196B80 */ sll $t5, $t9, 0xe -/* 0E1BD8 7F0AD0A8 01A15025 */ or $t2, $t5, $at -/* 0E1BDC 7F0AD0AC 316C03FF */ andi $t4, $t3, 0x3ff -/* 0E1BE0 7F0AD0B0 000C7880 */ sll $t7, $t4, 2 -/* 0E1BE4 7F0AD0B4 014F7025 */ or $t6, $t2, $t7 -/* 0E1BE8 7F0AD0B8 30CD03FF */ andi $t5, $a2, 0x3ff -/* 0E1BEC 7F0AD0BC 30B803FF */ andi $t8, $a1, 0x3ff -/* 0E1BF0 7F0AD0C0 0018CB80 */ sll $t9, $t8, 0xe -/* 0E1BF4 7F0AD0C4 000D5880 */ sll $t3, $t5, 2 -/* 0E1BF8 7F0AD0C8 032B6025 */ or $t4, $t9, $t3 -/* 0E1BFC 7F0AD0CC 25230008 */ addiu $v1, $t1, 8 -/* 0E1C00 7F0AD0D0 3C0FFF2D */ lui $t7, (0xFF2DFEFF >> 16) # lui $t7, 0xff2d -/* 0E1C04 7F0AD0D4 3C0AFCFF */ lui $t2, (0xFCFF97FF >> 16) # lui $t2, 0xfcff -/* 0E1C08 7F0AD0D8 AD2C0004 */ sw $t4, 4($t1) -/* 0E1C0C 7F0AD0DC AD2E0000 */ sw $t6, ($t1) -/* 0E1C10 7F0AD0E0 354A97FF */ ori $t2, (0xFCFF97FF & 0xFFFF) # ori $t2, $t2, 0x97ff -/* 0E1C14 7F0AD0E4 35EFFEFF */ ori $t7, (0xFF2DFEFF & 0xFFFF) # ori $t7, $t7, 0xfeff -/* 0E1C18 7F0AD0E8 AC6F0004 */ sw $t7, 4($v1) -/* 0E1C1C 7F0AD0EC AC6A0000 */ sw $t2, ($v1) -/* 0E1C20 7F0AD0F0 03E00008 */ jr $ra -/* 0E1C24 7F0AD0F4 24620008 */ addiu $v0, $v1, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AD0F8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AD0F8 -/* 0E1C28 7F0AD0F8 27BDFF10 */ addiu $sp, $sp, -0xf0 -/* 0E1C2C 7F0AD0FC 8FB90100 */ lw $t9, 0x100($sp) -/* 0E1C30 7F0AD100 AFBF001C */ sw $ra, 0x1c($sp) -/* 0E1C34 7F0AD104 AFB10018 */ sw $s1, 0x18($sp) -/* 0E1C38 7F0AD108 AFB00014 */ sw $s0, 0x14($sp) -/* 0E1C3C 7F0AD10C AFA500F4 */ sw $a1, 0xf4($sp) -/* 0E1C40 7F0AD110 8F2C0010 */ lw $t4, 0x10($t9) -/* 0E1C44 7F0AD114 8CCE0000 */ lw $t6, ($a2) -/* 0E1C48 7F0AD118 8FAF0118 */ lw $t7, 0x118($sp) -/* 0E1C4C 7F0AD11C 000C6880 */ sll $t5, $t4, 2 -/* 0E1C50 7F0AD120 01AC6823 */ subu $t5, $t5, $t4 -/* 0E1C54 7F0AD124 8FB80104 */ lw $t8, 0x104($sp) -/* 0E1C58 7F0AD128 000D6880 */ sll $t5, $t5, 2 -/* 0E1C5C 7F0AD12C 8CF90010 */ lw $t9, 0x10($a3) -/* 0E1C60 7F0AD130 01AC6821 */ addu $t5, $t5, $t4 -/* 0E1C64 7F0AD134 01CF4821 */ addu $t1, $t6, $t7 -/* 0E1C68 7F0AD138 000D7080 */ sll $t6, $t5, 2 -/* 0E1C6C 7F0AD13C 030E7821 */ addu $t7, $t8, $t6 -/* 0E1C70 7F0AD140 00196080 */ sll $t4, $t9, 2 -/* 0E1C74 7F0AD144 01EC6821 */ addu $t5, $t7, $t4 -/* 0E1C78 7F0AD148 3C0E8004 */ lui $t6, %hi(text_spacing) -/* 0E1C7C 7F0AD14C 8DCE0E84 */ lw $t6, %lo(text_spacing)($t6) -/* 0E1C80 7F0AD150 8DB80000 */ lw $t8, ($t5) -/* 0E1C84 7F0AD154 8CAF0000 */ lw $t7, ($a1) -/* 0E1C88 7F0AD158 00808025 */ move $s0, $a0 -/* 0E1C8C 7F0AD15C 030E1021 */ addu $v0, $t8, $t6 -/* 0E1C90 7F0AD160 01E26023 */ subu $t4, $t7, $v0 -/* 0E1C94 7F0AD164 258D0001 */ addiu $t5, $t4, 1 -/* 0E1C98 7F0AD168 ACAD0000 */ sw $t5, ($a1) -/* 0E1C9C 7F0AD16C 3C188004 */ lui $t8, %hi(text_orientation) -/* 0E1CA0 7F0AD170 8F180E88 */ lw $t8, %lo(text_orientation)($t8) -/* 0E1CA4 7F0AD174 00E08825 */ move $s1, $a3 -/* 0E1CA8 7F0AD178 57000014 */ bnezl $t8, .L7F0AD1CC -/* 0E1CAC 7F0AD17C 8FA40108 */ lw $a0, 0x108($sp) -/* 0E1CB0 7F0AD180 59A00244 */ blezl $t5, .L7F0ADA94 -/* 0E1CB4 7F0AD184 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E1CB8 7F0AD188 0C001107 */ jal get_video2_settings_txtClipW -/* 0E1CBC 7F0AD18C AFA900E0 */ sw $t1, 0xe0($sp) -/* 0E1CC0 7F0AD190 8FAE00F4 */ lw $t6, 0xf4($sp) -/* 0E1CC4 7F0AD194 8FA900E0 */ lw $t1, 0xe0($sp) -/* 0E1CC8 7F0AD198 8DCF0000 */ lw $t7, ($t6) -/* 0E1CCC 7F0AD19C 004F082A */ slt $at, $v0, $t7 -/* 0E1CD0 7F0AD1A0 5420023C */ bnezl $at, .L7F0ADA94 -/* 0E1CD4 7F0AD1A4 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E1CD8 7F0AD1A8 0C00110B */ jal get_video2_settings_txtClipH -/* 0E1CDC 7F0AD1AC AFA900E0 */ sw $t1, 0xe0($sp) -/* 0E1CE0 7F0AD1B0 8FA900E0 */ lw $t1, 0xe0($sp) -/* 0E1CE4 7F0AD1B4 8E2C0004 */ lw $t4, 4($s1) -/* 0E1CE8 7F0AD1B8 012CC821 */ addu $t9, $t1, $t4 -/* 0E1CEC 7F0AD1BC 0059082A */ slt $at, $v0, $t9 -/* 0E1CF0 7F0AD1C0 54200234 */ bnezl $at, .L7F0ADA94 -/* 0E1CF4 7F0AD1C4 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E1CF8 7F0AD1C8 8FA40108 */ lw $a0, 0x108($sp) -.L7F0AD1CC: -/* 0E1CFC 7F0AD1CC 8FB80110 */ lw $t8, 0x110($sp) -/* 0E1D00 7F0AD1D0 8FAE00F4 */ lw $t6, 0xf4($sp) -/* 0E1D04 7F0AD1D4 8FAA010C */ lw $t2, 0x10c($sp) -/* 0E1D08 7F0AD1D8 00986821 */ addu $t5, $a0, $t8 -/* 0E1D0C 7F0AD1DC AFAD0024 */ sw $t5, 0x24($sp) -/* 0E1D10 7F0AD1E0 8DC20000 */ lw $v0, ($t6) -/* 0E1D14 7F0AD1E4 8FAC0114 */ lw $t4, 0x114($sp) -/* 0E1D18 7F0AD1E8 01A2082A */ slt $at, $t5, $v0 -/* 0E1D1C 7F0AD1EC 54200229 */ bnezl $at, .L7F0ADA94 -/* 0E1D20 7F0AD1F0 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E1D24 7F0AD1F4 8E390004 */ lw $t9, 4($s1) -/* 0E1D28 7F0AD1F8 014C5821 */ addu $t3, $t2, $t4 -/* 0E1D2C 7F0AD1FC 03291821 */ addu $v1, $t9, $t1 -/* 0E1D30 7F0AD200 0163082A */ slt $at, $t3, $v1 -/* 0E1D34 7F0AD204 14200222 */ bnez $at, .L7F0ADA90 -/* 0E1D38 7F0AD208 0044082A */ slt $at, $v0, $a0 -/* 0E1D3C 7F0AD20C 54200221 */ bnezl $at, .L7F0ADA94 -/* 0E1D40 7F0AD210 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E1D44 7F0AD214 8E380008 */ lw $t8, 8($s1) -/* 0E1D48 7F0AD218 00786821 */ addu $t5, $v1, $t8 -/* 0E1D4C 7F0AD21C 01AA082A */ slt $at, $t5, $t2 -/* 0E1D50 7F0AD220 5420021C */ bnezl $at, .L7F0ADA94 -/* 0E1D54 7F0AD224 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E1D58 7F0AD228 8E2E0000 */ lw $t6, ($s1) -/* 0E1D5C 7F0AD22C 3C058004 */ lui $a1, %hi(D_80040EA8) -/* 0E1D60 7F0AD230 24A50EA8 */ addiu $a1, %lo(D_80040EA8) # addiu $a1, $a1, 0xea8 -/* 0E1D64 7F0AD234 29C10080 */ slti $at, $t6, 0x80 -/* 0E1D68 7F0AD238 1020006F */ beqz $at, .L7F0AD3F8 -/* 0E1D6C 7F0AD23C 02001025 */ move $v0, $s0 -/* 0E1D70 7F0AD240 02001025 */ move $v0, $s0 -/* 0E1D74 7F0AD244 3C0FBA00 */ lui $t7, (0xBA000E02 >> 16) # lui $t7, 0xba00 -/* 0E1D78 7F0AD248 35EF0E02 */ ori $t7, (0xBA000E02 & 0xFFFF) # ori $t7, $t7, 0xe02 -/* 0E1D7C 7F0AD24C 26100008 */ addiu $s0, $s0, 8 -/* 0E1D80 7F0AD250 AC4F0000 */ sw $t7, ($v0) -/* 0E1D84 7F0AD254 AC400004 */ sw $zero, 4($v0) -/* 0E1D88 7F0AD258 02001825 */ move $v1, $s0 -/* 0E1D8C 7F0AD25C 3C0CFD90 */ lui $t4, 0xfd90 -/* 0E1D90 7F0AD260 AC6C0000 */ sw $t4, ($v1) -/* 0E1D94 7F0AD264 8E390014 */ lw $t9, 0x14($s1) -/* 0E1D98 7F0AD268 26100008 */ addiu $s0, $s0, 8 -/* 0E1D9C 7F0AD26C 02002025 */ move $a0, $s0 -/* 0E1DA0 7F0AD270 26100008 */ addiu $s0, $s0, 8 -/* 0E1DA4 7F0AD274 AC790004 */ sw $t9, 4($v1) -/* 0E1DA8 7F0AD278 02002825 */ move $a1, $s0 -/* 0E1DAC 7F0AD27C 3C18F590 */ lui $t8, 0xf590 -/* 0E1DB0 7F0AD280 3C0D0700 */ lui $t5, 0x700 -/* 0E1DB4 7F0AD284 AC8D0004 */ sw $t5, 4($a0) -/* 0E1DB8 7F0AD288 AC980000 */ sw $t8, ($a0) -/* 0E1DBC 7F0AD28C 26100008 */ addiu $s0, $s0, 8 -/* 0E1DC0 7F0AD290 3C0EE600 */ lui $t6, 0xe600 -/* 0E1DC4 7F0AD294 ACAE0000 */ sw $t6, ($a1) -/* 0E1DC8 7F0AD298 02004025 */ move $t0, $s0 -/* 0E1DCC 7F0AD29C ACA00004 */ sw $zero, 4($a1) -/* 0E1DD0 7F0AD2A0 3C0FF300 */ lui $t7, 0xf300 -/* 0E1DD4 7F0AD2A4 AD0F0000 */ sw $t7, ($t0) -/* 0E1DD8 7F0AD2A8 8E23000C */ lw $v1, 0xc($s1) -/* 0E1DDC 7F0AD2AC 8E390008 */ lw $t9, 8($s1) -/* 0E1DE0 7F0AD2B0 26100008 */ addiu $s0, $s0, 8 -/* 0E1DE4 7F0AD2B4 24630007 */ addiu $v1, $v1, 7 -/* 0E1DE8 7F0AD2B8 306C00F8 */ andi $t4, $v1, 0xf8 -/* 0E1DEC 7F0AD2BC 01990019 */ multu $t4, $t9 -/* 0E1DF0 7F0AD2C0 01801825 */ move $v1, $t4 -/* 0E1DF4 7F0AD2C4 240607FF */ li $a2, 2047 -/* 0E1DF8 7F0AD2C8 00001012 */ mflo $v0 -/* 0E1DFC 7F0AD2CC 24420001 */ addiu $v0, $v0, 1 -/* 0E1E00 7F0AD2D0 0002C043 */ sra $t8, $v0, 1 -/* 0E1E04 7F0AD2D4 2702FFFF */ addiu $v0, $t8, -1 -/* 0E1E08 7F0AD2D8 284107FF */ slti $at, $v0, 0x7ff -/* 0E1E0C 7F0AD2DC 10200003 */ beqz $at, .L7F0AD2EC -/* 0E1E10 7F0AD2E0 00000000 */ nop -/* 0E1E14 7F0AD2E4 10000001 */ b .L7F0AD2EC -/* 0E1E18 7F0AD2E8 00403025 */ move $a2, $v0 -.L7F0AD2EC: -/* 0E1E1C 7F0AD2EC 04610003 */ bgez $v1, .L7F0AD2FC -/* 0E1E20 7F0AD2F0 000310C3 */ sra $v0, $v1, 3 -/* 0E1E24 7F0AD2F4 24610007 */ addiu $at, $v1, 7 -/* 0E1E28 7F0AD2F8 000110C3 */ sra $v0, $at, 3 -.L7F0AD2FC: -/* 0E1E2C 7F0AD2FC 1C400003 */ bgtz $v0, .L7F0AD30C -/* 0E1E30 7F0AD300 30D90FFF */ andi $t9, $a2, 0xfff -/* 0E1E34 7F0AD304 10000002 */ b .L7F0AD310 -/* 0E1E38 7F0AD308 24070001 */ li $a3, 1 -.L7F0AD30C: -/* 0E1E3C 7F0AD30C 00403825 */ move $a3, $v0 -.L7F0AD310: -/* 0E1E40 7F0AD310 1C400003 */ bgtz $v0, .L7F0AD320 -/* 0E1E44 7F0AD314 24ED07FF */ addiu $t5, $a3, 0x7ff -/* 0E1E48 7F0AD318 10000002 */ b .L7F0AD324 -/* 0E1E4C 7F0AD31C 24050001 */ li $a1, 1 -.L7F0AD320: -/* 0E1E50 7F0AD320 00402825 */ move $a1, $v0 -.L7F0AD324: -/* 0E1E54 7F0AD324 01A5001A */ div $zero, $t5, $a1 -/* 0E1E58 7F0AD328 14A00002 */ bnez $a1, .L7F0AD334 -/* 0E1E5C 7F0AD32C 00000000 */ nop -/* 0E1E60 7F0AD330 0007000D */ break 7 -.L7F0AD334: -/* 0E1E64 7F0AD334 2401FFFF */ li $at, -1 -/* 0E1E68 7F0AD338 14A10004 */ bne $a1, $at, .L7F0AD34C -/* 0E1E6C 7F0AD33C 3C018000 */ lui $at, 0x8000 -/* 0E1E70 7F0AD340 15A10002 */ bne $t5, $at, .L7F0AD34C -/* 0E1E74 7F0AD344 00000000 */ nop -/* 0E1E78 7F0AD348 0006000D */ break 6 -.L7F0AD34C: -/* 0E1E7C 7F0AD34C 00007012 */ mflo $t6 -/* 0E1E80 7F0AD350 31CF0FFF */ andi $t7, $t6, 0xfff -/* 0E1E84 7F0AD354 3C010700 */ lui $at, 0x700 -/* 0E1E88 7F0AD358 01E16025 */ or $t4, $t7, $at -/* 0E1E8C 7F0AD35C 0019C300 */ sll $t8, $t9, 0xc -/* 0E1E90 7F0AD360 01986825 */ or $t5, $t4, $t8 -/* 0E1E94 7F0AD364 AD0D0004 */ sw $t5, 4($t0) -/* 0E1E98 7F0AD368 02001025 */ move $v0, $s0 -/* 0E1E9C 7F0AD36C 3C0EE700 */ lui $t6, 0xe700 -/* 0E1EA0 7F0AD370 AC4E0000 */ sw $t6, ($v0) -/* 0E1EA4 7F0AD374 AC400004 */ sw $zero, 4($v0) -/* 0E1EA8 7F0AD378 8E2F000C */ lw $t7, 0xc($s1) -/* 0E1EAC 7F0AD37C 26100008 */ addiu $s0, $s0, 8 -/* 0E1EB0 7F0AD380 02001825 */ move $v1, $s0 -/* 0E1EB4 7F0AD384 25F90007 */ addiu $t9, $t7, 7 -/* 0E1EB8 7F0AD388 332C00F8 */ andi $t4, $t9, 0xf8 -/* 0E1EBC 7F0AD38C 25980007 */ addiu $t8, $t4, 7 -/* 0E1EC0 7F0AD390 001868C3 */ sra $t5, $t8, 3 -/* 0E1EC4 7F0AD394 31AE01FF */ andi $t6, $t5, 0x1ff -/* 0E1EC8 7F0AD398 000E7A40 */ sll $t7, $t6, 9 -/* 0E1ECC 7F0AD39C 3C01F588 */ lui $at, 0xf588 -/* 0E1ED0 7F0AD3A0 01E1C825 */ or $t9, $t7, $at -/* 0E1ED4 7F0AD3A4 26100008 */ addiu $s0, $s0, 8 -/* 0E1ED8 7F0AD3A8 02002025 */ move $a0, $s0 -/* 0E1EDC 7F0AD3AC AC790000 */ sw $t9, ($v1) -/* 0E1EE0 7F0AD3B0 3C0CF200 */ lui $t4, 0xf200 -/* 0E1EE4 7F0AD3B4 AC600004 */ sw $zero, 4($v1) -/* 0E1EE8 7F0AD3B8 AC8C0000 */ sw $t4, ($a0) -/* 0E1EEC 7F0AD3BC 8E38000C */ lw $t8, 0xc($s1) -/* 0E1EF0 7F0AD3C0 26100008 */ addiu $s0, $s0, 8 -/* 0E1EF4 7F0AD3C4 270D0007 */ addiu $t5, $t8, 7 -/* 0E1EF8 7F0AD3C8 31AE00F8 */ andi $t6, $t5, 0xf8 -/* 0E1EFC 7F0AD3CC 8E2D0008 */ lw $t5, 8($s1) -/* 0E1F00 7F0AD3D0 25CFFFFF */ addiu $t7, $t6, -1 -/* 0E1F04 7F0AD3D4 000FC880 */ sll $t9, $t7, 2 -/* 0E1F08 7F0AD3D8 332C0FFF */ andi $t4, $t9, 0xfff -/* 0E1F0C 7F0AD3DC 25AEFFFF */ addiu $t6, $t5, -1 -/* 0E1F10 7F0AD3E0 000E7880 */ sll $t7, $t6, 2 -/* 0E1F14 7F0AD3E4 31F90FFF */ andi $t9, $t7, 0xfff -/* 0E1F18 7F0AD3E8 000CC300 */ sll $t8, $t4, 0xc -/* 0E1F1C 7F0AD3EC 03196025 */ or $t4, $t8, $t9 -/* 0E1F20 7F0AD3F0 100000AC */ b .L7F0AD6A4 -/* 0E1F24 7F0AD3F4 AC8C0004 */ sw $t4, 4($a0) -.L7F0AD3F8: -/* 0E1F28 7F0AD3F8 26100008 */ addiu $s0, $s0, 8 -/* 0E1F2C 7F0AD3FC 3C0DE700 */ lui $t5, 0xe700 -/* 0E1F30 7F0AD400 AC4D0000 */ sw $t5, ($v0) -/* 0E1F34 7F0AD404 AC400004 */ sw $zero, 4($v0) -/* 0E1F38 7F0AD408 02001825 */ move $v1, $s0 -/* 0E1F3C 7F0AD40C 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 -/* 0E1F40 7F0AD410 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02 -/* 0E1F44 7F0AD414 340FC000 */ li $t7, 49152 -/* 0E1F48 7F0AD418 AC6F0004 */ sw $t7, 4($v1) -/* 0E1F4C 7F0AD41C AC6E0000 */ sw $t6, ($v1) -/* 0E1F50 7F0AD420 8CB80000 */ lw $t8, ($a1) -/* 0E1F54 7F0AD424 26100008 */ addiu $s0, $s0, 8 -/* 0E1F58 7F0AD428 02003825 */ move $a3, $s0 -/* 0E1F5C 7F0AD42C 13000056 */ beqz $t8, .L7F0AD588 -/* 0E1F60 7F0AD430 3C19FD10 */ lui $t9, 0xfd10 -/* 0E1F64 7F0AD434 ACA00000 */ sw $zero, ($a1) -/* 0E1F68 7F0AD438 ACF90000 */ sw $t9, ($a3) -/* 0E1F6C 7F0AD43C 3C048004 */ lui $a0, %hi(D_80040EBC) -/* 0E1F70 7F0AD440 24840EBC */ addiu $a0, %lo(D_80040EBC) # addiu $a0, $a0, 0xebc -/* 0E1F74 7F0AD444 AFAB0020 */ sw $t3, 0x20($sp) -/* 0E1F78 7F0AD448 AFA900E0 */ sw $t1, 0xe0($sp) -/* 0E1F7C 7F0AD44C AFA700B4 */ sw $a3, 0xb4($sp) -/* 0E1F80 7F0AD450 0C003A2C */ jal osVirtualToPhysical -/* 0E1F84 7F0AD454 26100008 */ addiu $s0, $s0, 8 -/* 0E1F88 7F0AD458 8FA700B4 */ lw $a3, 0xb4($sp) -/* 0E1F8C 7F0AD45C 8FA900E0 */ lw $t1, 0xe0($sp) -/* 0E1F90 7F0AD460 8FAB0020 */ lw $t3, 0x20($sp) -/* 0E1F94 7F0AD464 02001825 */ move $v1, $s0 -/* 0E1F98 7F0AD468 26100008 */ addiu $s0, $s0, 8 -/* 0E1F9C 7F0AD46C ACE20004 */ sw $v0, 4($a3) -/* 0E1FA0 7F0AD470 02002025 */ move $a0, $s0 -/* 0E1FA4 7F0AD474 3C0CE800 */ lui $t4, 0xe800 -/* 0E1FA8 7F0AD478 3C0DF500 */ lui $t5, (0xF5000100 >> 16) # lui $t5, 0xf500 -/* 0E1FAC 7F0AD47C 35AD0100 */ ori $t5, (0xF5000100 & 0xFFFF) # ori $t5, $t5, 0x100 -/* 0E1FB0 7F0AD480 AC6C0000 */ sw $t4, ($v1) -/* 0E1FB4 7F0AD484 AC600004 */ sw $zero, 4($v1) -/* 0E1FB8 7F0AD488 AC8D0000 */ sw $t5, ($a0) -/* 0E1FBC 7F0AD48C 26100008 */ addiu $s0, $s0, 8 -/* 0E1FC0 7F0AD490 3C0E0700 */ lui $t6, 0x700 -/* 0E1FC4 7F0AD494 AC8E0004 */ sw $t6, 4($a0) -/* 0E1FC8 7F0AD498 02002825 */ move $a1, $s0 -/* 0E1FCC 7F0AD49C 26100008 */ addiu $s0, $s0, 8 -/* 0E1FD0 7F0AD4A0 02003025 */ move $a2, $s0 -/* 0E1FD4 7F0AD4A4 3C0FE600 */ lui $t7, 0xe600 -/* 0E1FD8 7F0AD4A8 ACAF0000 */ sw $t7, ($a1) -/* 0E1FDC 7F0AD4AC 26100008 */ addiu $s0, $s0, 8 -/* 0E1FE0 7F0AD4B0 ACA00004 */ sw $zero, 4($a1) -/* 0E1FE4 7F0AD4B4 3C190703 */ lui $t9, (0x0703C000 >> 16) # lui $t9, 0x703 -/* 0E1FE8 7F0AD4B8 3739C000 */ ori $t9, (0x0703C000 & 0xFFFF) # ori $t9, $t9, 0xc000 -/* 0E1FEC 7F0AD4BC 02004025 */ move $t0, $s0 -/* 0E1FF0 7F0AD4C0 3C18F000 */ lui $t8, 0xf000 -/* 0E1FF4 7F0AD4C4 ACD80000 */ sw $t8, ($a2) -/* 0E1FF8 7F0AD4C8 ACD90004 */ sw $t9, 4($a2) -/* 0E1FFC 7F0AD4CC 26100008 */ addiu $s0, $s0, 8 -/* 0E2000 7F0AD4D0 3C0CE700 */ lui $t4, 0xe700 -/* 0E2004 7F0AD4D4 AD0C0000 */ sw $t4, ($t0) -/* 0E2008 7F0AD4D8 AD000004 */ sw $zero, 4($t0) -/* 0E200C 7F0AD4DC 02003825 */ move $a3, $s0 -/* 0E2010 7F0AD4E0 3C0DFD10 */ lui $t5, 0xfd10 -/* 0E2014 7F0AD4E4 ACED0000 */ sw $t5, ($a3) -/* 0E2018 7F0AD4E8 3C048004 */ lui $a0, %hi(D_80040EDC) -/* 0E201C 7F0AD4EC 24840EDC */ addiu $a0, %lo(D_80040EDC) # addiu $a0, $a0, 0xedc -/* 0E2020 7F0AD4F0 AFA7009C */ sw $a3, 0x9c($sp) -/* 0E2024 7F0AD4F4 26100008 */ addiu $s0, $s0, 8 -/* 0E2028 7F0AD4F8 AFA900E0 */ sw $t1, 0xe0($sp) -/* 0E202C 7F0AD4FC 0C003A2C */ jal osVirtualToPhysical -/* 0E2030 7F0AD500 AFAB0020 */ sw $t3, 0x20($sp) -/* 0E2034 7F0AD504 8FA7009C */ lw $a3, 0x9c($sp) -/* 0E2038 7F0AD508 8FA900E0 */ lw $t1, 0xe0($sp) -/* 0E203C 7F0AD50C 8FAB0020 */ lw $t3, 0x20($sp) -/* 0E2040 7F0AD510 02001825 */ move $v1, $s0 -/* 0E2044 7F0AD514 26100008 */ addiu $s0, $s0, 8 -/* 0E2048 7F0AD518 3C0EE800 */ lui $t6, 0xe800 -/* 0E204C 7F0AD51C ACE20004 */ sw $v0, 4($a3) -/* 0E2050 7F0AD520 AC6E0000 */ sw $t6, ($v1) -/* 0E2054 7F0AD524 02002025 */ move $a0, $s0 -/* 0E2058 7F0AD528 26100008 */ addiu $s0, $s0, 8 -/* 0E205C 7F0AD52C AC600004 */ sw $zero, 4($v1) -/* 0E2060 7F0AD530 3C0FF500 */ lui $t7, (0xF5000110 >> 16) # lui $t7, 0xf500 -/* 0E2064 7F0AD534 35EF0110 */ ori $t7, (0xF5000110 & 0xFFFF) # ori $t7, $t7, 0x110 -/* 0E2068 7F0AD538 02002825 */ move $a1, $s0 -/* 0E206C 7F0AD53C 3C180700 */ lui $t8, 0x700 -/* 0E2070 7F0AD540 AC980004 */ sw $t8, 4($a0) -/* 0E2074 7F0AD544 26100008 */ addiu $s0, $s0, 8 -/* 0E2078 7F0AD548 AC8F0000 */ sw $t7, ($a0) -/* 0E207C 7F0AD54C 02003025 */ move $a2, $s0 -/* 0E2080 7F0AD550 3C19E600 */ lui $t9, 0xe600 -/* 0E2084 7F0AD554 ACB90000 */ sw $t9, ($a1) -/* 0E2088 7F0AD558 26100008 */ addiu $s0, $s0, 8 -/* 0E208C 7F0AD55C ACA00004 */ sw $zero, 4($a1) -/* 0E2090 7F0AD560 3C0D0703 */ lui $t5, (0x0703C000 >> 16) # lui $t5, 0x703 -/* 0E2094 7F0AD564 35ADC000 */ ori $t5, (0x0703C000 & 0xFFFF) # ori $t5, $t5, 0xc000 -/* 0E2098 7F0AD568 02004025 */ move $t0, $s0 -/* 0E209C 7F0AD56C 3C0CF000 */ lui $t4, 0xf000 -/* 0E20A0 7F0AD570 ACCC0000 */ sw $t4, ($a2) -/* 0E20A4 7F0AD574 ACCD0004 */ sw $t5, 4($a2) -/* 0E20A8 7F0AD578 3C0EE700 */ lui $t6, 0xe700 -/* 0E20AC 7F0AD57C AD0E0000 */ sw $t6, ($t0) -/* 0E20B0 7F0AD580 AD000004 */ sw $zero, 4($t0) -/* 0E20B4 7F0AD584 26100008 */ addiu $s0, $s0, 8 -.L7F0AD588: -/* 0E20B8 7F0AD588 02002825 */ move $a1, $s0 -/* 0E20BC 7F0AD58C 3C0FFD50 */ lui $t7, 0xfd50 -/* 0E20C0 7F0AD590 ACAF0000 */ sw $t7, ($a1) -/* 0E20C4 7F0AD594 8E240014 */ lw $a0, 0x14($s1) -/* 0E20C8 7F0AD598 AFAB0020 */ sw $t3, 0x20($sp) -/* 0E20CC 7F0AD59C AFA900E0 */ sw $t1, 0xe0($sp) -/* 0E20D0 7F0AD5A0 AFA50084 */ sw $a1, 0x84($sp) -/* 0E20D4 7F0AD5A4 0C003A2C */ jal osVirtualToPhysical -/* 0E20D8 7F0AD5A8 26100008 */ addiu $s0, $s0, 8 -/* 0E20DC 7F0AD5AC 8FA50084 */ lw $a1, 0x84($sp) -/* 0E20E0 7F0AD5B0 8FA900E0 */ lw $t1, 0xe0($sp) -/* 0E20E4 7F0AD5B4 8FAA010C */ lw $t2, 0x10c($sp) -/* 0E20E8 7F0AD5B8 8FAB0020 */ lw $t3, 0x20($sp) -/* 0E20EC 7F0AD5BC 02001825 */ move $v1, $s0 -/* 0E20F0 7F0AD5C0 26100008 */ addiu $s0, $s0, 8 -/* 0E20F4 7F0AD5C4 ACA20004 */ sw $v0, 4($a1) -/* 0E20F8 7F0AD5C8 3C080700 */ lui $t0, 0x700 -/* 0E20FC 7F0AD5CC 3C18F550 */ lui $t8, 0xf550 -/* 0E2100 7F0AD5D0 02002025 */ move $a0, $s0 -/* 0E2104 7F0AD5D4 AC780000 */ sw $t8, ($v1) -/* 0E2108 7F0AD5D8 AC680004 */ sw $t0, 4($v1) -/* 0E210C 7F0AD5DC 26100008 */ addiu $s0, $s0, 8 -/* 0E2110 7F0AD5E0 3C19E600 */ lui $t9, 0xe600 -/* 0E2114 7F0AD5E4 AC990000 */ sw $t9, ($a0) -/* 0E2118 7F0AD5E8 AC800004 */ sw $zero, 4($a0) -/* 0E211C 7F0AD5EC 02003025 */ move $a2, $s0 -/* 0E2120 7F0AD5F0 3C0CF300 */ lui $t4, 0xf300 -/* 0E2124 7F0AD5F4 ACCC0000 */ sw $t4, ($a2) -/* 0E2128 7F0AD5F8 8E270008 */ lw $a3, 8($s1) -/* 0E212C 7F0AD5FC 26100008 */ addiu $s0, $s0, 8 -/* 0E2130 7F0AD600 02001025 */ move $v0, $s0 -/* 0E2134 7F0AD604 00076880 */ sll $t5, $a3, 2 -/* 0E2138 7F0AD608 25A7FFFF */ addiu $a3, $t5, -1 -/* 0E213C 7F0AD60C 28E107FF */ slti $at, $a3, 0x7ff -/* 0E2140 7F0AD610 10200003 */ beqz $at, .L7F0AD620 -/* 0E2144 7F0AD614 26100008 */ addiu $s0, $s0, 8 -/* 0E2148 7F0AD618 10000002 */ b .L7F0AD624 -/* 0E214C 7F0AD61C 00E02825 */ move $a1, $a3 -.L7F0AD620: -/* 0E2150 7F0AD620 240507FF */ li $a1, 2047 -.L7F0AD624: -/* 0E2154 7F0AD624 30AE0FFF */ andi $t6, $a1, 0xfff -/* 0E2158 7F0AD628 000E7B00 */ sll $t7, $t6, 0xc -/* 0E215C 7F0AD62C 01E8C025 */ or $t8, $t7, $t0 -/* 0E2160 7F0AD630 37190800 */ ori $t9, $t8, 0x800 -/* 0E2164 7F0AD634 ACD90004 */ sw $t9, 4($a2) -/* 0E2168 7F0AD638 3C0CE700 */ lui $t4, 0xe700 -/* 0E216C 7F0AD63C 3C0DF540 */ lui $t5, (0xF5400200 >> 16) # lui $t5, 0xf540 -/* 0E2170 7F0AD640 AC4C0000 */ sw $t4, ($v0) -/* 0E2174 7F0AD644 AC400004 */ sw $zero, 4($v0) -/* 0E2178 7F0AD648 35AD0200 */ ori $t5, (0xF5400200 & 0xFFFF) # ori $t5, $t5, 0x200 -/* 0E217C 7F0AD64C 02001825 */ move $v1, $s0 -/* 0E2180 7F0AD650 AC6D0000 */ sw $t5, ($v1) -/* 0E2184 7F0AD654 8E2F0000 */ lw $t7, ($s1) -/* 0E2188 7F0AD658 3C010008 */ lui $at, 8 -/* 0E218C 7F0AD65C 26100008 */ addiu $s0, $s0, 8 -/* 0E2190 7F0AD660 31F80001 */ andi $t8, $t7, 1 -/* 0E2194 7F0AD664 0018CD00 */ sll $t9, $t8, 0x14 -/* 0E2198 7F0AD668 03216025 */ or $t4, $t9, $at -/* 0E219C 7F0AD66C 358D0200 */ ori $t5, $t4, 0x200 -/* 0E21A0 7F0AD670 AC6D0004 */ sw $t5, 4($v1) -/* 0E21A4 7F0AD674 02002025 */ move $a0, $s0 -/* 0E21A8 7F0AD678 3C0EF200 */ lui $t6, 0xf200 -/* 0E21AC 7F0AD67C AC8E0000 */ sw $t6, ($a0) -/* 0E21B0 7F0AD680 8E2F0008 */ lw $t7, 8($s1) -/* 0E21B4 7F0AD684 3C010003 */ lui $at, (0x0003C000 >> 16) # lui $at, 3 -/* 0E21B8 7F0AD688 3421C000 */ ori $at, (0x0003C000 & 0xFFFF) # ori $at, $at, 0xc000 -/* 0E21BC 7F0AD68C 25F8FFFF */ addiu $t8, $t7, -1 -/* 0E21C0 7F0AD690 0018C880 */ sll $t9, $t8, 2 -/* 0E21C4 7F0AD694 332C0FFF */ andi $t4, $t9, 0xfff -/* 0E21C8 7F0AD698 01816825 */ or $t5, $t4, $at -/* 0E21CC 7F0AD69C AC8D0004 */ sw $t5, 4($a0) -/* 0E21D0 7F0AD6A0 26100008 */ addiu $s0, $s0, 8 -.L7F0AD6A4: -/* 0E21D4 7F0AD6A4 8FAE00F4 */ lw $t6, 0xf4($sp) -/* 0E21D8 7F0AD6A8 8E38000C */ lw $t8, 0xc($s1) -/* 0E21DC 7F0AD6AC 8FB90024 */ lw $t9, 0x24($sp) -/* 0E21E0 7F0AD6B0 8DCF0000 */ lw $t7, ($t6) -/* 0E21E4 7F0AD6B4 01F84021 */ addu $t0, $t7, $t8 -/* 0E21E8 7F0AD6B8 0328082A */ slt $at, $t9, $t0 -/* 0E21EC 7F0AD6BC 542000F5 */ bnezl $at, .L7F0ADA94 -/* 0E21F0 7F0AD6C0 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E21F4 7F0AD6C4 8E240004 */ lw $a0, 4($s1) -/* 0E21F8 7F0AD6C8 00891821 */ addu $v1, $a0, $t1 -/* 0E21FC 7F0AD6CC 006A082A */ slt $at, $v1, $t2 -/* 0E2200 7F0AD6D0 542000B4 */ bnezl $at, .L7F0AD9A4 -/* 0E2204 7F0AD6D4 8E2E0008 */ lw $t6, 8($s1) -/* 0E2208 7F0AD6D8 8E2C0008 */ lw $t4, 8($s1) -/* 0E220C 7F0AD6DC 3C0D8004 */ lui $t5, %hi(text_orientation) -/* 0E2210 7F0AD6E0 006C1021 */ addu $v0, $v1, $t4 -/* 0E2214 7F0AD6E4 0162082A */ slt $at, $t3, $v0 -/* 0E2218 7F0AD6E8 54200077 */ bnezl $at, .L7F0AD8C8 -/* 0E221C 7F0AD6EC 0163082A */ slt $at, $t3, $v1 -/* 0E2220 7F0AD6F0 8DAD0E88 */ lw $t5, %lo(text_orientation)($t5) -/* 0E2224 7F0AD6F4 3C068004 */ lui $a2, %hi(text_x) -/* 0E2228 7F0AD6F8 24C60E98 */ addiu $a2, %lo(text_x) # addiu $a2, $a2, 0xe98 -/* 0E222C 7F0AD6FC 11A0003E */ beqz $t5, .L7F0AD7F8 -/* 0E2230 7F0AD700 3C078004 */ lui $a3, %hi(text_y) -/* 0E2234 7F0AD704 3C068004 */ lui $a2, %hi(text_x) -/* 0E2238 7F0AD708 24C60E98 */ addiu $a2, %lo(text_x) # addiu $a2, $a2, 0xe98 -/* 0E223C 7F0AD70C 8CCF0000 */ lw $t7, ($a2) -/* 0E2240 7F0AD710 3C078004 */ lui $a3, %hi(text_y) -/* 0E2244 7F0AD714 00087080 */ sll $t6, $t0, 2 -/* 0E2248 7F0AD718 24E70E9C */ addiu $a3, %lo(text_y) # addiu $a3, $a3, 0xe9c -/* 0E224C 7F0AD71C 01CFC021 */ addu $t8, $t6, $t7 -/* 0E2250 7F0AD720 8CEF0000 */ lw $t7, ($a3) -/* 0E2254 7F0AD724 33190FFF */ andi $t9, $t8, 0xfff -/* 0E2258 7F0AD728 01246823 */ subu $t5, $t1, $a0 -/* 0E225C 7F0AD72C 000D7080 */ sll $t6, $t5, 2 -/* 0E2260 7F0AD730 3C01E500 */ lui $at, 0xe500 -/* 0E2264 7F0AD734 03216025 */ or $t4, $t9, $at -/* 0E2268 7F0AD738 01CFC021 */ addu $t8, $t6, $t7 -/* 0E226C 7F0AD73C 33190FFF */ andi $t9, $t8, 0xfff -/* 0E2270 7F0AD740 00196B00 */ sll $t5, $t9, 0xc -/* 0E2274 7F0AD744 018D7025 */ or $t6, $t4, $t5 -/* 0E2278 7F0AD748 02001025 */ move $v0, $s0 -/* 0E227C 7F0AD74C AC4E0000 */ sw $t6, ($v0) -/* 0E2280 7F0AD750 8FAF00F4 */ lw $t7, 0xf4($sp) -/* 0E2284 7F0AD754 8CCC0000 */ lw $t4, ($a2) -/* 0E2288 7F0AD758 26100008 */ addiu $s0, $s0, 8 -/* 0E228C 7F0AD75C 8DF80000 */ lw $t8, ($t7) -/* 0E2290 7F0AD760 8E2F0004 */ lw $t7, 4($s1) -/* 0E2294 7F0AD764 02001825 */ move $v1, $s0 -/* 0E2298 7F0AD768 0018C880 */ sll $t9, $t8, 2 -/* 0E229C 7F0AD76C 032C6821 */ addu $t5, $t9, $t4 -/* 0E22A0 7F0AD770 8E390008 */ lw $t9, 8($s1) -/* 0E22A4 7F0AD774 012FC023 */ subu $t8, $t1, $t7 -/* 0E22A8 7F0AD778 8CEF0000 */ lw $t7, ($a3) -/* 0E22AC 7F0AD77C 31AE0FFF */ andi $t6, $t5, 0xfff -/* 0E22B0 7F0AD780 03196023 */ subu $t4, $t8, $t9 -/* 0E22B4 7F0AD784 000C6880 */ sll $t5, $t4, 2 -/* 0E22B8 7F0AD788 01AFC021 */ addu $t8, $t5, $t7 -/* 0E22BC 7F0AD78C 33190FFF */ andi $t9, $t8, 0xfff -/* 0E22C0 7F0AD790 00196300 */ sll $t4, $t9, 0xc -/* 0E22C4 7F0AD794 01CC6825 */ or $t5, $t6, $t4 -/* 0E22C8 7F0AD798 AC4D0004 */ sw $t5, 4($v0) -/* 0E22CC 7F0AD79C 3C0FB400 */ lui $t7, 0xb400 -/* 0E22D0 7F0AD7A0 AC6F0000 */ sw $t7, ($v1) -/* 0E22D4 7F0AD7A4 8E380008 */ lw $t8, 8($s1) -/* 0E22D8 7F0AD7A8 3C0C8004 */ lui $t4, %hi(text_s) -/* 0E22DC 7F0AD7AC 8D8C0EA0 */ lw $t4, %lo(text_s)($t4) -/* 0E22E0 7F0AD7B0 2719FFFF */ addiu $t9, $t8, -1 -/* 0E22E4 7F0AD7B4 00197140 */ sll $t6, $t9, 5 -/* 0E22E8 7F0AD7B8 3C188004 */ lui $t8, %hi(text_t) -/* 0E22EC 7F0AD7BC 8F190EA4 */ lw $t9, %lo(text_t)($t8) -/* 0E22F0 7F0AD7C0 01CC6821 */ addu $t5, $t6, $t4 -/* 0E22F4 7F0AD7C4 31AFFFFF */ andi $t7, $t5, 0xffff -/* 0E22F8 7F0AD7C8 26100008 */ addiu $s0, $s0, 8 -/* 0E22FC 7F0AD7CC 00197400 */ sll $t6, $t9, 0x10 -/* 0E2300 7F0AD7D0 01CF6025 */ or $t4, $t6, $t7 -/* 0E2304 7F0AD7D4 02002825 */ move $a1, $s0 -/* 0E2308 7F0AD7D8 3C180400 */ lui $t8, (0x0400FC00 >> 16) # lui $t8, 0x400 -/* 0E230C 7F0AD7DC 3718FC00 */ ori $t8, (0x0400FC00 & 0xFFFF) # ori $t8, $t8, 0xfc00 -/* 0E2310 7F0AD7E0 AC6C0004 */ sw $t4, 4($v1) -/* 0E2314 7F0AD7E4 3C0DB300 */ lui $t5, 0xb300 -/* 0E2318 7F0AD7E8 ACAD0000 */ sw $t5, ($a1) -/* 0E231C 7F0AD7EC ACB80004 */ sw $t8, 4($a1) -/* 0E2320 7F0AD7F0 100000A7 */ b .L7F0ADA90 -/* 0E2324 7F0AD7F4 26100008 */ addiu $s0, $s0, 8 -.L7F0AD7F8: -/* 0E2328 7F0AD7F8 8CCE0000 */ lw $t6, ($a2) -/* 0E232C 7F0AD7FC 0008C880 */ sll $t9, $t0, 2 -/* 0E2330 7F0AD800 24E70E9C */ addiu $a3, $a3, %lo(text_y) -/* 0E2334 7F0AD804 032E7821 */ addu $t7, $t9, $t6 -/* 0E2338 7F0AD808 8CEE0000 */ lw $t6, ($a3) -/* 0E233C 7F0AD80C 31EC0FFF */ andi $t4, $t7, 0xfff -/* 0E2340 7F0AD810 000C6B00 */ sll $t5, $t4, 0xc -/* 0E2344 7F0AD814 0002C880 */ sll $t9, $v0, 2 -/* 0E2348 7F0AD818 3C01E400 */ lui $at, 0xe400 -/* 0E234C 7F0AD81C 032E7821 */ addu $t7, $t9, $t6 -/* 0E2350 7F0AD820 31EC0FFF */ andi $t4, $t7, 0xfff -/* 0E2354 7F0AD824 01A1C025 */ or $t8, $t5, $at -/* 0E2358 7F0AD828 030C6825 */ or $t5, $t8, $t4 -/* 0E235C 7F0AD82C 02001825 */ move $v1, $s0 -/* 0E2360 7F0AD830 AC6D0000 */ sw $t5, ($v1) -/* 0E2364 7F0AD834 8FB900F4 */ lw $t9, 0xf4($sp) -/* 0E2368 7F0AD838 8CD80000 */ lw $t8, ($a2) -/* 0E236C 7F0AD83C 26100008 */ addiu $s0, $s0, 8 -/* 0E2370 7F0AD840 8F2E0000 */ lw $t6, ($t9) -/* 0E2374 7F0AD844 02002025 */ move $a0, $s0 -/* 0E2378 7F0AD848 26100008 */ addiu $s0, $s0, 8 -/* 0E237C 7F0AD84C 000E7880 */ sll $t7, $t6, 2 -/* 0E2380 7F0AD850 8E2E0004 */ lw $t6, 4($s1) -/* 0E2384 7F0AD854 01F86021 */ addu $t4, $t7, $t8 -/* 0E2388 7F0AD858 318D0FFF */ andi $t5, $t4, 0xfff -/* 0E238C 7F0AD85C 8CEC0000 */ lw $t4, ($a3) -/* 0E2390 7F0AD860 012E7821 */ addu $t7, $t1, $t6 -/* 0E2394 7F0AD864 000FC080 */ sll $t8, $t7, 2 -/* 0E2398 7F0AD868 000DCB00 */ sll $t9, $t5, 0xc -/* 0E239C 7F0AD86C 030C6821 */ addu $t5, $t8, $t4 -/* 0E23A0 7F0AD870 31AE0FFF */ andi $t6, $t5, 0xfff -/* 0E23A4 7F0AD874 032E7825 */ or $t7, $t9, $t6 -/* 0E23A8 7F0AD878 AC6F0004 */ sw $t7, 4($v1) -/* 0E23AC 7F0AD87C 3C18B400 */ lui $t8, 0xb400 -/* 0E23B0 7F0AD880 AC980000 */ sw $t8, ($a0) -/* 0E23B4 7F0AD884 3C0C8004 */ lui $t4, %hi(text_s) -/* 0E23B8 7F0AD888 8D8D0EA0 */ lw $t5, %lo(text_s)($t4) -/* 0E23BC 7F0AD88C 3C0E8004 */ lui $t6, %hi(text_t) -/* 0E23C0 7F0AD890 8DCE0EA4 */ lw $t6, %lo(text_t)($t6) -/* 0E23C4 7F0AD894 000DCC00 */ sll $t9, $t5, 0x10 -/* 0E23C8 7F0AD898 3C0D0400 */ lui $t5, (0x04000400 >> 16) # lui $t5, 0x400 -/* 0E23CC 7F0AD89C 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0E23D0 7F0AD8A0 032FC025 */ or $t8, $t9, $t7 -/* 0E23D4 7F0AD8A4 02002825 */ move $a1, $s0 -/* 0E23D8 7F0AD8A8 AC980004 */ sw $t8, 4($a0) -/* 0E23DC 7F0AD8AC 35AD0400 */ ori $t5, (0x04000400 & 0xFFFF) # ori $t5, $t5, 0x400 -/* 0E23E0 7F0AD8B0 3C0CB300 */ lui $t4, 0xb300 -/* 0E23E4 7F0AD8B4 ACAC0000 */ sw $t4, ($a1) -/* 0E23E8 7F0AD8B8 ACAD0004 */ sw $t5, 4($a1) -/* 0E23EC 7F0AD8BC 10000074 */ b .L7F0ADA90 -/* 0E23F0 7F0AD8C0 26100008 */ addiu $s0, $s0, 8 -/* 0E23F4 7F0AD8C4 0163082A */ slt $at, $t3, $v1 -.L7F0AD8C8: -/* 0E23F8 7F0AD8C8 14200071 */ bnez $at, .L7F0ADA90 -/* 0E23FC 7F0AD8CC 3C068004 */ lui $a2, %hi(text_x) -/* 0E2400 7F0AD8D0 24C60E98 */ addiu $a2, %lo(text_x) # addiu $a2, $a2, 0xe98 -/* 0E2404 7F0AD8D4 8CD90000 */ lw $t9, ($a2) -/* 0E2408 7F0AD8D8 3C078004 */ lui $a3, %hi(text_y) -/* 0E240C 7F0AD8DC 00087080 */ sll $t6, $t0, 2 -/* 0E2410 7F0AD8E0 24E70E9C */ addiu $a3, %lo(text_y) # addiu $a3, $a3, 0xe9c -/* 0E2414 7F0AD8E4 01D97821 */ addu $t7, $t6, $t9 -/* 0E2418 7F0AD8E8 8CEE0000 */ lw $t6, ($a3) -/* 0E241C 7F0AD8EC 31F80FFF */ andi $t8, $t7, 0xfff -/* 0E2420 7F0AD8F0 00186300 */ sll $t4, $t8, 0xc -/* 0E2424 7F0AD8F4 3C01E400 */ lui $at, 0xe400 -/* 0E2428 7F0AD8F8 016EC821 */ addu $t9, $t3, $t6 -/* 0E242C 7F0AD8FC 332F0FFF */ andi $t7, $t9, 0xfff -/* 0E2430 7F0AD900 01816825 */ or $t5, $t4, $at -/* 0E2434 7F0AD904 01AFC025 */ or $t8, $t5, $t7 -/* 0E2438 7F0AD908 02001025 */ move $v0, $s0 -/* 0E243C 7F0AD90C AC580000 */ sw $t8, ($v0) -/* 0E2440 7F0AD910 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E2444 7F0AD914 8CCD0000 */ lw $t5, ($a2) -/* 0E2448 7F0AD918 26100008 */ addiu $s0, $s0, 8 -/* 0E244C 7F0AD91C 8D8E0000 */ lw $t6, ($t4) -/* 0E2450 7F0AD920 02001825 */ move $v1, $s0 -/* 0E2454 7F0AD924 26100008 */ addiu $s0, $s0, 8 -/* 0E2458 7F0AD928 000EC880 */ sll $t9, $t6, 2 -/* 0E245C 7F0AD92C 8E2E0004 */ lw $t6, 4($s1) -/* 0E2460 7F0AD930 032D7821 */ addu $t7, $t9, $t5 -/* 0E2464 7F0AD934 31F80FFF */ andi $t8, $t7, 0xfff -/* 0E2468 7F0AD938 8CEF0000 */ lw $t7, ($a3) -/* 0E246C 7F0AD93C 012EC821 */ addu $t9, $t1, $t6 -/* 0E2470 7F0AD940 00196880 */ sll $t5, $t9, 2 -/* 0E2474 7F0AD944 00186300 */ sll $t4, $t8, 0xc -/* 0E2478 7F0AD948 01AFC021 */ addu $t8, $t5, $t7 -/* 0E247C 7F0AD94C 330E0FFF */ andi $t6, $t8, 0xfff -/* 0E2480 7F0AD950 018EC825 */ or $t9, $t4, $t6 -/* 0E2484 7F0AD954 AC590004 */ sw $t9, 4($v0) -/* 0E2488 7F0AD958 3C0DB400 */ lui $t5, 0xb400 -/* 0E248C 7F0AD95C AC6D0000 */ sw $t5, ($v1) -/* 0E2490 7F0AD960 3C0F8004 */ lui $t7, %hi(text_s) -/* 0E2494 7F0AD964 8DF80EA0 */ lw $t8, %lo(text_s)($t7) -/* 0E2498 7F0AD968 3C0E8004 */ lui $t6, %hi(text_t) -/* 0E249C 7F0AD96C 8DCE0EA4 */ lw $t6, %lo(text_t)($t6) -/* 0E24A0 7F0AD970 00186400 */ sll $t4, $t8, 0x10 -/* 0E24A4 7F0AD974 3C180400 */ lui $t8, (0x04000400 >> 16) # lui $t8, 0x400 -/* 0E24A8 7F0AD978 31D9FFFF */ andi $t9, $t6, 0xffff -/* 0E24AC 7F0AD97C 01996825 */ or $t5, $t4, $t9 -/* 0E24B0 7F0AD980 02002025 */ move $a0, $s0 -/* 0E24B4 7F0AD984 AC6D0004 */ sw $t5, 4($v1) -/* 0E24B8 7F0AD988 37180400 */ ori $t8, (0x04000400 & 0xFFFF) # ori $t8, $t8, 0x400 -/* 0E24BC 7F0AD98C 3C0FB300 */ lui $t7, 0xb300 -/* 0E24C0 7F0AD990 AC8F0000 */ sw $t7, ($a0) -/* 0E24C4 7F0AD994 AC980004 */ sw $t8, 4($a0) -/* 0E24C8 7F0AD998 1000003D */ b .L7F0ADA90 -/* 0E24CC 7F0AD99C 26100008 */ addiu $s0, $s0, 8 -/* 0E24D0 7F0AD9A0 8E2E0008 */ lw $t6, 8($s1) -.L7F0AD9A4: -/* 0E24D4 7F0AD9A4 3C068004 */ lui $a2, %hi(text_x) -/* 0E24D8 7F0AD9A8 24C60E98 */ addiu $a2, %lo(text_x) # addiu $a2, $a2, 0xe98 -/* 0E24DC 7F0AD9AC 006E1021 */ addu $v0, $v1, $t6 -/* 0E24E0 7F0AD9B0 004A082A */ slt $at, $v0, $t2 -/* 0E24E4 7F0AD9B4 14200036 */ bnez $at, .L7F0ADA90 -/* 0E24E8 7F0AD9B8 3C078004 */ lui $a3, %hi(text_y) -/* 0E24EC 7F0AD9BC 8CD90000 */ lw $t9, ($a2) -/* 0E24F0 7F0AD9C0 00086080 */ sll $t4, $t0, 2 -/* 0E24F4 7F0AD9C4 24E70E9C */ addiu $a3, %lo(text_y) # addiu $a3, $a3, 0xe9c -/* 0E24F8 7F0AD9C8 01996821 */ addu $t5, $t4, $t9 -/* 0E24FC 7F0AD9CC 8CF90000 */ lw $t9, ($a3) -/* 0E2500 7F0AD9D0 31AF0FFF */ andi $t7, $t5, 0xfff -/* 0E2504 7F0AD9D4 000FC300 */ sll $t8, $t7, 0xc -/* 0E2508 7F0AD9D8 00026080 */ sll $t4, $v0, 2 -/* 0E250C 7F0AD9DC 3C01E400 */ lui $at, 0xe400 -/* 0E2510 7F0AD9E0 01996821 */ addu $t5, $t4, $t9 -/* 0E2514 7F0AD9E4 31AF0FFF */ andi $t7, $t5, 0xfff -/* 0E2518 7F0AD9E8 03017025 */ or $t6, $t8, $at -/* 0E251C 7F0AD9EC 01CFC025 */ or $t8, $t6, $t7 -/* 0E2520 7F0AD9F0 02001825 */ move $v1, $s0 -/* 0E2524 7F0AD9F4 AC780000 */ sw $t8, ($v1) -/* 0E2528 7F0AD9F8 8FAC00F4 */ lw $t4, 0xf4($sp) -/* 0E252C 7F0AD9FC 8CCE0000 */ lw $t6, ($a2) -/* 0E2530 7F0ADA00 26100008 */ addiu $s0, $s0, 8 -/* 0E2534 7F0ADA04 8D990000 */ lw $t9, ($t4) -/* 0E2538 7F0ADA08 02002025 */ move $a0, $s0 -/* 0E253C 7F0ADA0C 26100008 */ addiu $s0, $s0, 8 -/* 0E2540 7F0ADA10 00196880 */ sll $t5, $t9, 2 -/* 0E2544 7F0ADA14 01AE7821 */ addu $t7, $t5, $t6 -/* 0E2548 7F0ADA18 8CED0000 */ lw $t5, ($a3) -/* 0E254C 7F0ADA1C 31F80FFF */ andi $t8, $t7, 0xfff -/* 0E2550 7F0ADA20 000AC880 */ sll $t9, $t2, 2 -/* 0E2554 7F0ADA24 032D7021 */ addu $t6, $t9, $t5 -/* 0E2558 7F0ADA28 31CF0FFF */ andi $t7, $t6, 0xfff -/* 0E255C 7F0ADA2C 00186300 */ sll $t4, $t8, 0xc -/* 0E2560 7F0ADA30 018FC025 */ or $t8, $t4, $t7 -/* 0E2564 7F0ADA34 AC780004 */ sw $t8, 4($v1) -/* 0E2568 7F0ADA38 3C19B400 */ lui $t9, 0xb400 -/* 0E256C 7F0ADA3C AC990000 */ sw $t9, ($a0) -/* 0E2570 7F0ADA40 8E2E0004 */ lw $t6, 4($s1) -/* 0E2574 7F0ADA44 01496823 */ subu $t5, $t2, $t1 -/* 0E2578 7F0ADA48 3C188004 */ lui $t8, %hi(text_t) -/* 0E257C 7F0ADA4C 01AE6023 */ subu $t4, $t5, $t6 -/* 0E2580 7F0ADA50 8F180EA4 */ lw $t8, %lo(text_t)($t8) -/* 0E2584 7F0ADA54 000C7940 */ sll $t7, $t4, 5 -/* 0E2588 7F0ADA58 3C0E8004 */ lui $t6, %hi(text_s) -/* 0E258C 7F0ADA5C 8DCC0EA0 */ lw $t4, %lo(text_s)($t6) -/* 0E2590 7F0ADA60 01F8C821 */ addu $t9, $t7, $t8 -/* 0E2594 7F0ADA64 332DFFFF */ andi $t5, $t9, 0xffff -/* 0E2598 7F0ADA68 000C7C00 */ sll $t7, $t4, 0x10 -/* 0E259C 7F0ADA6C 01EDC025 */ or $t8, $t7, $t5 -/* 0E25A0 7F0ADA70 02002825 */ move $a1, $s0 -/* 0E25A4 7F0ADA74 AC980004 */ sw $t8, 4($a0) -/* 0E25A8 7F0ADA78 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400 -/* 0E25AC 7F0ADA7C 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400 -/* 0E25B0 7F0ADA80 3C19B300 */ lui $t9, 0xb300 -/* 0E25B4 7F0ADA84 ACB90000 */ sw $t9, ($a1) -/* 0E25B8 7F0ADA88 ACAE0004 */ sw $t6, 4($a1) -/* 0E25BC 7F0ADA8C 26100008 */ addiu $s0, $s0, 8 -.L7F0ADA90: -/* 0E25C0 7F0ADA90 8FAC00F4 */ lw $t4, 0xf4($sp) -.L7F0ADA94: -/* 0E25C4 7F0ADA94 8E2D000C */ lw $t5, 0xc($s1) -/* 0E25C8 7F0ADA98 02001025 */ move $v0, $s0 -/* 0E25CC 7F0ADA9C 8D8F0000 */ lw $t7, ($t4) -/* 0E25D0 7F0ADAA0 01EDC021 */ addu $t8, $t7, $t5 -/* 0E25D4 7F0ADAA4 AD980000 */ sw $t8, ($t4) -/* 0E25D8 7F0ADAA8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E25DC 7F0ADAAC 8FB10018 */ lw $s1, 0x18($sp) -/* 0E25E0 7F0ADAB0 8FB00014 */ lw $s0, 0x14($sp) -/* 0E25E4 7F0ADAB4 03E00008 */ jr $ra -/* 0E25E8 7F0ADAB8 27BD00F0 */ addiu $sp, $sp, 0xf0 -) -#endif - - - - - -#ifdef NONMATCHING -void en_text_write_stuff(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel en_text_write_stuff -/* 0E25EC 7F0ADABC 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 0E25F0 7F0ADAC0 240E0001 */ li $t6, 1 -/* 0E25F4 7F0ADAC4 3C018004 */ lui $at, %hi(D_80040EA8) -/* 0E25F8 7F0ADAC8 8FB800D0 */ lw $t8, 0xd0($sp) -/* 0E25FC 7F0ADACC AFBF005C */ sw $ra, 0x5c($sp) -/* 0E2600 7F0ADAD0 AFBE0058 */ sw $fp, 0x58($sp) -/* 0E2604 7F0ADAD4 AFB70054 */ sw $s7, 0x54($sp) -/* 0E2608 7F0ADAD8 AFB60050 */ sw $s6, 0x50($sp) -/* 0E260C 7F0ADADC AFB5004C */ sw $s5, 0x4c($sp) -/* 0E2610 7F0ADAE0 AFB40048 */ sw $s4, 0x48($sp) -/* 0E2614 7F0ADAE4 AFB30044 */ sw $s3, 0x44($sp) -/* 0E2618 7F0ADAE8 AFB20040 */ sw $s2, 0x40($sp) -/* 0E261C 7F0ADAEC AFB1003C */ sw $s1, 0x3c($sp) -/* 0E2620 7F0ADAF0 AFB00038 */ sw $s0, 0x38($sp) -/* 0E2624 7F0ADAF4 AC2E0EA8 */ sw $t6, %lo(D_80040EA8)($at) -/* 0E2628 7F0ADAF8 8CCF0000 */ lw $t7, ($a2) -/* 0E262C 7F0ADAFC 8CB40000 */ lw $s4, ($a1) -/* 0E2630 7F0ADB00 00E08025 */ move $s0, $a3 -/* 0E2634 7F0ADB04 00A08825 */ move $s1, $a1 -/* 0E2638 7F0ADB08 00C09025 */ move $s2, $a2 -/* 0E263C 7F0ADB0C 00809825 */ move $s3, $a0 -/* 0E2640 7F0ADB10 24150048 */ li $s5, 72 -/* 0E2644 7F0ADB14 17000006 */ bnez $t8, .L7F0ADB30 -/* 0E2648 7F0ADB18 AFAF00A0 */ sw $t7, 0xa0($sp) -/* 0E264C 7F0ADB1C 8FB900B8 */ lw $t9, 0xb8($sp) -/* 0E2650 7F0ADB20 8F28088C */ lw $t0, 0x88c($t9) -/* 0E2654 7F0ADB24 8F290890 */ lw $t1, 0x890($t9) -/* 0E2658 7F0ADB28 01095021 */ addu $t2, $t0, $t1 -/* 0E265C 7F0ADB2C AFAA00D0 */ sw $t2, 0xd0($sp) -.L7F0ADB30: -/* 0E2660 7F0ADB30 3C0B8005 */ lui $t3, %hi(j_text_trigger) -/* 0E2664 7F0ADB34 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3) -/* 0E2668 7F0ADB38 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 0E266C 7F0ADB3C 02602025 */ move $a0, $s3 -/* 0E2670 7F0ADB40 11600004 */ beqz $t3, .L7F0ADB54 -/* 0E2674 7F0ADB44 2981000E */ slti $at, $t4, 0xe -/* 0E2678 7F0ADB48 10200002 */ beqz $at, .L7F0ADB54 -/* 0E267C 7F0ADB4C 240D000E */ li $t5, 14 -/* 0E2680 7F0ADB50 AFAD00D0 */ sw $t5, 0xd0($sp) -.L7F0ADB54: -/* 0E2684 7F0ADB54 8FA300C0 */ lw $v1, 0xc0($sp) -/* 0E2688 7F0ADB58 3C0EFA00 */ lui $t6, 0xfa00 -/* 0E268C 7F0ADB5C AC8E0000 */ sw $t6, ($a0) -/* 0E2690 7F0ADB60 0003CE02 */ srl $t9, $v1, 0x18 -/* 0E2694 7F0ADB64 00035402 */ srl $t2, $v1, 0x10 -/* 0E2698 7F0ADB68 314B00FF */ andi $t3, $t2, 0xff -/* 0E269C 7F0ADB6C 00194600 */ sll $t0, $t9, 0x18 -/* 0E26A0 7F0ADB70 00037A02 */ srl $t7, $v1, 8 -/* 0E26A4 7F0ADB74 31F800FF */ andi $t8, $t7, 0xff -/* 0E26A8 7F0ADB78 000B6400 */ sll $t4, $t3, 0x10 -/* 0E26AC 7F0ADB7C 010C6825 */ or $t5, $t0, $t4 -/* 0E26B0 7F0ADB80 0018CA00 */ sll $t9, $t8, 8 -/* 0E26B4 7F0ADB84 01B94825 */ or $t1, $t5, $t9 -/* 0E26B8 7F0ADB88 306B00FF */ andi $t3, $v1, 0xff -/* 0E26BC 7F0ADB8C 012B4025 */ or $t0, $t1, $t3 -/* 0E26C0 7F0ADB90 AC880004 */ sw $t0, 4($a0) -/* 0E26C4 7F0ADB94 92020000 */ lbu $v0, ($s0) -/* 0E26C8 7F0ADB98 26730008 */ addiu $s3, $s3, 8 -/* 0E26CC 7F0ADB9C 8FB700BC */ lw $s7, 0xbc($sp) -/* 0E26D0 7F0ADBA0 10400075 */ beqz $v0, .L7F0ADD78 -/* 0E26D4 7F0ADBA4 8FBE00C4 */ lw $fp, 0xc4($sp) -/* 0E26D8 7F0ADBA8 27B6006C */ addiu $s6, $sp, 0x6c -/* 0E26DC 7F0ADBAC 24010020 */ li $at, 32 -.L7F0ADBB0: -/* 0E26E0 7F0ADBB0 54410008 */ bnel $v0, $at, .L7F0ADBD4 -/* 0E26E4 7F0ADBB4 2401000A */ li $at, 10 -/* 0E26E8 7F0ADBB8 8E2C0000 */ lw $t4, ($s1) -/* 0E26EC 7F0ADBBC 24150048 */ li $s5, 72 -/* 0E26F0 7F0ADBC0 26100001 */ addiu $s0, $s0, 1 -/* 0E26F4 7F0ADBC4 258E0005 */ addiu $t6, $t4, 5 -/* 0E26F8 7F0ADBC8 10000068 */ b .L7F0ADD6C -/* 0E26FC 7F0ADBCC AE2E0000 */ sw $t6, ($s1) -/* 0E2700 7F0ADBD0 2401000A */ li $at, 10 -.L7F0ADBD4: -/* 0E2704 7F0ADBD4 54410014 */ bnel $v0, $at, .L7F0ADC28 -/* 0E2708 7F0ADBD8 28410080 */ slti $at, $v0, 0x80 -/* 0E270C 7F0ADBDC 3C028004 */ lui $v0, %hi(overlap_correction) -/* 0E2710 7F0ADBE0 8C420E90 */ lw $v0, %lo(overlap_correction)($v0) -/* 0E2714 7F0ADBE4 24150048 */ li $s5, 72 -/* 0E2718 7F0ADBE8 8FAA00D0 */ lw $t2, 0xd0($sp) -/* 0E271C 7F0ADBEC 04400008 */ bltz $v0, .L7F0ADC10 -/* 0E2720 7F0ADBF0 26100001 */ addiu $s0, $s0, 1 -/* 0E2724 7F0ADBF4 8E2F0000 */ lw $t7, ($s1) -/* 0E2728 7F0ADBF8 568F0006 */ bnel $s4, $t7, .L7F0ADC14 -/* 0E272C 7F0ADBFC 8E590000 */ lw $t9, ($s2) -/* 0E2730 7F0ADC00 8E580000 */ lw $t8, ($s2) -/* 0E2734 7F0ADC04 03026821 */ addu $t5, $t8, $v0 -/* 0E2738 7F0ADC08 10000004 */ b .L7F0ADC1C -/* 0E273C 7F0ADC0C AE4D0000 */ sw $t5, ($s2) -.L7F0ADC10: -/* 0E2740 7F0ADC10 8E590000 */ lw $t9, ($s2) -.L7F0ADC14: -/* 0E2744 7F0ADC14 032A4821 */ addu $t1, $t9, $t2 -/* 0E2748 7F0ADC18 AE490000 */ sw $t1, ($s2) -.L7F0ADC1C: -/* 0E274C 7F0ADC1C 10000053 */ b .L7F0ADD6C -/* 0E2750 7F0ADC20 AE340000 */ sw $s4, ($s1) -/* 0E2754 7F0ADC24 28410080 */ slti $at, $v0, 0x80 -.L7F0ADC28: -/* 0E2758 7F0ADC28 1020001D */ beqz $at, .L7F0ADCA0 -/* 0E275C 7F0ADC2C 3C0E8004 */ lui $t6, %hi(D_80040EFC) -/* 0E2760 7F0ADC30 24030018 */ li $v1, 24 -/* 0E2764 7F0ADC34 00430019 */ multu $v0, $v1 -/* 0E2768 7F0ADC38 8FA800B8 */ lw $t0, 0xb8($sp) -/* 0E276C 7F0ADC3C 8FB800A0 */ lw $t8, 0xa0($sp) -/* 0E2770 7F0ADC40 8FAD00C8 */ lw $t5, 0xc8($sp) -/* 0E2774 7F0ADC44 8FB900CC */ lw $t9, 0xcc($sp) -/* 0E2778 7F0ADC48 02602025 */ move $a0, $s3 -/* 0E277C 7F0ADC4C 02202825 */ move $a1, $s1 -/* 0E2780 7F0ADC50 02403025 */ move $a2, $s2 -/* 0E2784 7F0ADC54 AFB70014 */ sw $s7, 0x14($sp) -/* 0E2788 7F0ADC58 AFB40018 */ sw $s4, 0x18($sp) -/* 0E278C 7F0ADC5C 00005812 */ mflo $t3 -/* 0E2790 7F0ADC60 01683821 */ addu $a3, $t3, $t0 -/* 0E2794 7F0ADC64 24E7FCE8 */ addiu $a3, $a3, -0x318 -/* 0E2798 7F0ADC68 02A30019 */ multu $s5, $v1 -/* 0E279C 7F0ADC6C AFBE0020 */ sw $fp, 0x20($sp) -/* 0E27A0 7F0ADC70 AFB8001C */ sw $t8, 0x1c($sp) -/* 0E27A4 7F0ADC74 AFAD0024 */ sw $t5, 0x24($sp) -/* 0E27A8 7F0ADC78 AFB90028 */ sw $t9, 0x28($sp) -/* 0E27AC 7F0ADC7C 00006012 */ mflo $t4 -/* 0E27B0 7F0ADC80 01887021 */ addu $t6, $t4, $t0 -/* 0E27B4 7F0ADC84 25CFFCE8 */ addiu $t7, $t6, -0x318 -/* 0E27B8 7F0ADC88 0FC2B43E */ jal sub_GAME_7F0AD0F8 -/* 0E27BC 7F0ADC8C AFAF0010 */ sw $t7, 0x10($sp) -/* 0E27C0 7F0ADC90 00409825 */ move $s3, $v0 -/* 0E27C4 7F0ADC94 92150000 */ lbu $s5, ($s0) -/* 0E27C8 7F0ADC98 10000034 */ b .L7F0ADD6C -/* 0E27CC 7F0ADC9C 26100001 */ addiu $s0, $s0, 1 -.L7F0ADCA0: -/* 0E27D0 7F0ADCA0 25CE0EFC */ addiu $t6, $t6, %lo(D_80040EFC) -/* 0E27D4 7F0ADCA4 8DC10000 */ lw $at, ($t6) -/* 0E27D8 7F0ADCA8 920A0001 */ lbu $t2, 1($s0) -/* 0E27DC 7F0ADCAC 304B007F */ andi $t3, $v0, 0x7f -/* 0E27E0 7F0ADCB0 AEC10000 */ sw $at, ($s6) -/* 0E27E4 7F0ADCB4 8DD80004 */ lw $t8, 4($t6) -/* 0E27E8 7F0ADCB8 000B61C0 */ sll $t4, $t3, 7 -/* 0E27EC 7F0ADCBC 3149007F */ andi $t1, $t2, 0x7f -/* 0E27F0 7F0ADCC0 AED80004 */ sw $t8, 4($s6) -/* 0E27F4 7F0ADCC4 8DC10008 */ lw $at, 8($t6) -/* 0E27F8 7F0ADCC8 012C1825 */ or $v1, $t1, $t4 -/* 0E27FC 7F0ADCCC 3064FFFF */ andi $a0, $v1, 0xffff -/* 0E2800 7F0ADCD0 AEC10008 */ sw $at, 8($s6) -/* 0E2804 7F0ADCD4 8DD8000C */ lw $t8, 0xc($t6) -/* 0E2808 7F0ADCD8 308D2000 */ andi $t5, $a0, 0x2000 -/* 0E280C 7F0ADCDC 308B1FFF */ andi $t3, $a0, 0x1fff -/* 0E2810 7F0ADCE0 AED8000C */ sw $t8, 0xc($s6) -/* 0E2814 7F0ADCE4 8DC10010 */ lw $at, 0x10($t6) -/* 0E2818 7F0ADCE8 2419000F */ li $t9, 15 -/* 0E281C 7F0ADCEC 240A0010 */ li $t2, 16 -/* 0E2820 7F0ADCF0 AEC10010 */ sw $at, 0x10($s6) -/* 0E2824 7F0ADCF4 8DD80014 */ lw $t8, 0x14($t6) -/* 0E2828 7F0ADCF8 296103C7 */ slti $at, $t3, 0x3c7 -/* 0E282C 7F0ADCFC 11A00003 */ beqz $t5, .L7F0ADD0C -/* 0E2830 7F0ADD00 AED80014 */ sw $t8, 0x14($s6) -/* 0E2834 7F0ADD04 AFB90078 */ sw $t9, 0x78($sp) -/* 0E2838 7F0ADD08 AFAA0074 */ sw $t2, 0x74($sp) -.L7F0ADD0C: -/* 0E283C 7F0ADD0C 54200003 */ bnezl $at, .L7F0ADD1C -/* 0E2840 7F0ADD10 24890080 */ addiu $t1, $a0, 0x80 -/* 0E2844 7F0ADD14 24040002 */ li $a0, 2 -/* 0E2848 7F0ADD18 24890080 */ addiu $t1, $a0, 0x80 -.L7F0ADD1C: -/* 0E284C 7F0ADD1C 0FC3068C */ jal something_with_LnameX -/* 0E2850 7F0ADD20 AFA9006C */ sw $t1, 0x6c($sp) -/* 0E2854 7F0ADD24 8FAC00A0 */ lw $t4, 0xa0($sp) -/* 0E2858 7F0ADD28 8FA800C8 */ lw $t0, 0xc8($sp) -/* 0E285C 7F0ADD2C 8FAF00CC */ lw $t7, 0xcc($sp) -/* 0E2860 7F0ADD30 AFA20080 */ sw $v0, 0x80($sp) -/* 0E2864 7F0ADD34 02602025 */ move $a0, $s3 -/* 0E2868 7F0ADD38 02202825 */ move $a1, $s1 -/* 0E286C 7F0ADD3C 02403025 */ move $a2, $s2 -/* 0E2870 7F0ADD40 02C03825 */ move $a3, $s6 -/* 0E2874 7F0ADD44 AFB60010 */ sw $s6, 0x10($sp) -/* 0E2878 7F0ADD48 AFB70014 */ sw $s7, 0x14($sp) -/* 0E287C 7F0ADD4C AFB40018 */ sw $s4, 0x18($sp) -/* 0E2880 7F0ADD50 AFBE0020 */ sw $fp, 0x20($sp) -/* 0E2884 7F0ADD54 AFAC001C */ sw $t4, 0x1c($sp) -/* 0E2888 7F0ADD58 AFA80024 */ sw $t0, 0x24($sp) -/* 0E288C 7F0ADD5C 0FC2B43E */ jal sub_GAME_7F0AD0F8 -/* 0E2890 7F0ADD60 AFAF0028 */ sw $t7, 0x28($sp) -/* 0E2894 7F0ADD64 00409825 */ move $s3, $v0 -/* 0E2898 7F0ADD68 26100002 */ addiu $s0, $s0, 2 -.L7F0ADD6C: -/* 0E289C 7F0ADD6C 92020000 */ lbu $v0, ($s0) -/* 0E28A0 7F0ADD70 5440FF8F */ bnezl $v0, .L7F0ADBB0 -/* 0E28A4 7F0ADD74 24010020 */ li $at, 32 -.L7F0ADD78: -/* 0E28A8 7F0ADD78 8FBF005C */ lw $ra, 0x5c($sp) -/* 0E28AC 7F0ADD7C 02601025 */ move $v0, $s3 -/* 0E28B0 7F0ADD80 8FB30044 */ lw $s3, 0x44($sp) -/* 0E28B4 7F0ADD84 8FB00038 */ lw $s0, 0x38($sp) -/* 0E28B8 7F0ADD88 8FB1003C */ lw $s1, 0x3c($sp) -/* 0E28BC 7F0ADD8C 8FB20040 */ lw $s2, 0x40($sp) -/* 0E28C0 7F0ADD90 8FB40048 */ lw $s4, 0x48($sp) -/* 0E28C4 7F0ADD94 8FB5004C */ lw $s5, 0x4c($sp) -/* 0E28C8 7F0ADD98 8FB60050 */ lw $s6, 0x50($sp) -/* 0E28CC 7F0ADD9C 8FB70054 */ lw $s7, 0x54($sp) -/* 0E28D0 7F0ADDA0 8FBE0058 */ lw $fp, 0x58($sp) -/* 0E28D4 7F0ADDA4 03E00008 */ jr $ra -/* 0E28D8 7F0ADDA8 27BD00A8 */ addiu $sp, $sp, 0xa8 -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel en_text_write_stuff -/* 0E25EC 7F0ADABC 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 0E25F0 7F0ADAC0 240E0001 */ li $t6, 1 -/* 0E25F4 7F0ADAC4 3C018004 */ lui $at, %hi(D_80040EA8) -/* 0E25F8 7F0ADAC8 8FB800D0 */ lw $t8, 0xd0($sp) -/* 0E25FC 7F0ADACC AFBF005C */ sw $ra, 0x5c($sp) -/* 0E2600 7F0ADAD0 AFBE0058 */ sw $fp, 0x58($sp) -/* 0E2604 7F0ADAD4 AFB70054 */ sw $s7, 0x54($sp) -/* 0E2608 7F0ADAD8 AFB60050 */ sw $s6, 0x50($sp) -/* 0E260C 7F0ADADC AFB5004C */ sw $s5, 0x4c($sp) -/* 0E2610 7F0ADAE0 AFB40048 */ sw $s4, 0x48($sp) -/* 0E2614 7F0ADAE4 AFB30044 */ sw $s3, 0x44($sp) -/* 0E2618 7F0ADAE8 AFB20040 */ sw $s2, 0x40($sp) -/* 0E261C 7F0ADAEC AFB1003C */ sw $s1, 0x3c($sp) -/* 0E2620 7F0ADAF0 AFB00038 */ sw $s0, 0x38($sp) -/* 0E2624 7F0ADAF4 AC2E0EA8 */ sw $t6, %lo(D_80040EA8)($at) -/* 0E2628 7F0ADAF8 8CCF0000 */ lw $t7, ($a2) -/* 0E262C 7F0ADAFC 8CB40000 */ lw $s4, ($a1) -/* 0E2630 7F0ADB00 00E08025 */ move $s0, $a3 -/* 0E2634 7F0ADB04 00A08825 */ move $s1, $a1 -/* 0E2638 7F0ADB08 00C09025 */ move $s2, $a2 -/* 0E263C 7F0ADB0C 00809825 */ move $s3, $a0 -/* 0E2640 7F0ADB10 24150048 */ li $s5, 72 -/* 0E2644 7F0ADB14 17000006 */ bnez $t8, .L7F0ADB30 -/* 0E2648 7F0ADB18 AFAF00A0 */ sw $t7, 0xa0($sp) -/* 0E264C 7F0ADB1C 8FB900B8 */ lw $t9, 0xb8($sp) -/* 0E2650 7F0ADB20 8F28088C */ lw $t0, 0x88c($t9) -/* 0E2654 7F0ADB24 8F290890 */ lw $t1, 0x890($t9) -/* 0E2658 7F0ADB28 01095021 */ addu $t2, $t0, $t1 -/* 0E265C 7F0ADB2C AFAA00D0 */ sw $t2, 0xd0($sp) -.L7F0ADB30: -/* 0E2660 7F0ADB30 3C0B8005 */ lui $t3, %hi(j_text_trigger) -/* 0E2664 7F0ADB34 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3) -/* 0E2668 7F0ADB38 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 0E266C 7F0ADB3C 02602025 */ move $a0, $s3 -/* 0E2670 7F0ADB40 11600004 */ beqz $t3, .L7F0ADB54 -/* 0E2674 7F0ADB44 2981000E */ slti $at, $t4, 0xe -/* 0E2678 7F0ADB48 10200002 */ beqz $at, .L7F0ADB54 -/* 0E267C 7F0ADB4C 240D000E */ li $t5, 14 -/* 0E2680 7F0ADB50 AFAD00D0 */ sw $t5, 0xd0($sp) -.L7F0ADB54: -/* 0E2684 7F0ADB54 8FA300C0 */ lw $v1, 0xc0($sp) -/* 0E2688 7F0ADB58 3C0EFA00 */ lui $t6, 0xfa00 -/* 0E268C 7F0ADB5C AC8E0000 */ sw $t6, ($a0) -/* 0E2690 7F0ADB60 0003CE02 */ srl $t9, $v1, 0x18 -/* 0E2694 7F0ADB64 00035402 */ srl $t2, $v1, 0x10 -/* 0E2698 7F0ADB68 314B00FF */ andi $t3, $t2, 0xff -/* 0E269C 7F0ADB6C 00194600 */ sll $t0, $t9, 0x18 -/* 0E26A0 7F0ADB70 00037A02 */ srl $t7, $v1, 8 -/* 0E26A4 7F0ADB74 31F800FF */ andi $t8, $t7, 0xff -/* 0E26A8 7F0ADB78 000B6400 */ sll $t4, $t3, 0x10 -/* 0E26AC 7F0ADB7C 010C6825 */ or $t5, $t0, $t4 -/* 0E26B0 7F0ADB80 0018CA00 */ sll $t9, $t8, 8 -/* 0E26B4 7F0ADB84 01B94825 */ or $t1, $t5, $t9 -/* 0E26B8 7F0ADB88 306B00FF */ andi $t3, $v1, 0xff -/* 0E26BC 7F0ADB8C 012B4025 */ or $t0, $t1, $t3 -/* 0E26C0 7F0ADB90 AC880004 */ sw $t0, 4($a0) -/* 0E26C4 7F0ADB94 92020000 */ lbu $v0, ($s0) -/* 0E26C8 7F0ADB98 26730008 */ addiu $s3, $s3, 8 -/* 0E26CC 7F0ADB9C 8FB700BC */ lw $s7, 0xbc($sp) -/* 0E26D0 7F0ADBA0 10400075 */ beqz $v0, .L7F0ADD78 -/* 0E26D4 7F0ADBA4 8FBE00C4 */ lw $fp, 0xc4($sp) -/* 0E26D8 7F0ADBA8 27B6006C */ addiu $s6, $sp, 0x6c -/* 0E26DC 7F0ADBAC 24010020 */ li $at, 32 -.L7F0ADBB0: -/* 0E26E0 7F0ADBB0 54410008 */ bnel $v0, $at, .L7F0ADBD4 -/* 0E26E4 7F0ADBB4 2401000A */ li $at, 10 -/* 0E26E8 7F0ADBB8 8E2C0000 */ lw $t4, ($s1) -/* 0E26EC 7F0ADBBC 24150048 */ li $s5, 72 -/* 0E26F0 7F0ADBC0 26100001 */ addiu $s0, $s0, 1 -/* 0E26F4 7F0ADBC4 258E0005 */ addiu $t6, $t4, 5 -/* 0E26F8 7F0ADBC8 10000068 */ b .L7F0ADD6C -/* 0E26FC 7F0ADBCC AE2E0000 */ sw $t6, ($s1) -/* 0E2700 7F0ADBD0 2401000A */ li $at, 10 -.L7F0ADBD4: -/* 0E2704 7F0ADBD4 54410014 */ bnel $v0, $at, .L7F0ADC28 -/* 0E2708 7F0ADBD8 28410080 */ slti $at, $v0, 0x80 -/* 0E270C 7F0ADBDC 3C028004 */ lui $v0, %hi(overlap_correction) -/* 0E2710 7F0ADBE0 8C420E90 */ lw $v0, %lo(overlap_correction)($v0) -/* 0E2714 7F0ADBE4 24150048 */ li $s5, 72 -/* 0E2718 7F0ADBE8 8FAA00D0 */ lw $t2, 0xd0($sp) -/* 0E271C 7F0ADBEC 04400008 */ bltz $v0, .L7F0ADC10 -/* 0E2720 7F0ADBF0 26100001 */ addiu $s0, $s0, 1 -/* 0E2724 7F0ADBF4 8E2F0000 */ lw $t7, ($s1) -/* 0E2728 7F0ADBF8 568F0006 */ bnel $s4, $t7, .L7F0ADC14 -/* 0E272C 7F0ADBFC 8E590000 */ lw $t9, ($s2) -/* 0E2730 7F0ADC00 8E580000 */ lw $t8, ($s2) -/* 0E2734 7F0ADC04 03026821 */ addu $t5, $t8, $v0 -/* 0E2738 7F0ADC08 10000004 */ b .L7F0ADC1C -/* 0E273C 7F0ADC0C AE4D0000 */ sw $t5, ($s2) -.L7F0ADC10: -/* 0E2740 7F0ADC10 8E590000 */ lw $t9, ($s2) -.L7F0ADC14: -/* 0E2744 7F0ADC14 032A4821 */ addu $t1, $t9, $t2 -/* 0E2748 7F0ADC18 AE490000 */ sw $t1, ($s2) -.L7F0ADC1C: -/* 0E274C 7F0ADC1C 10000053 */ b .L7F0ADD6C -/* 0E2750 7F0ADC20 AE340000 */ sw $s4, ($s1) -/* 0E2754 7F0ADC24 28410080 */ slti $at, $v0, 0x80 -.L7F0ADC28: -/* 0E2758 7F0ADC28 1020001D */ beqz $at, .L7F0ADCA0 -/* 0E275C 7F0ADC2C 3C0E8004 */ lui $t6, %hi(D_80040EFC) -/* 0E2760 7F0ADC30 24030018 */ li $v1, 24 -/* 0E2764 7F0ADC34 00430019 */ multu $v0, $v1 -/* 0E2768 7F0ADC38 8FA800B8 */ lw $t0, 0xb8($sp) -/* 0E276C 7F0ADC3C 8FB800A0 */ lw $t8, 0xa0($sp) -/* 0E2770 7F0ADC40 8FAD00C8 */ lw $t5, 0xc8($sp) -/* 0E2774 7F0ADC44 8FB900CC */ lw $t9, 0xcc($sp) -/* 0E2778 7F0ADC48 02602025 */ move $a0, $s3 -/* 0E277C 7F0ADC4C 02202825 */ move $a1, $s1 -/* 0E2780 7F0ADC50 02403025 */ move $a2, $s2 -/* 0E2784 7F0ADC54 AFB70014 */ sw $s7, 0x14($sp) -/* 0E2788 7F0ADC58 AFB40018 */ sw $s4, 0x18($sp) -/* 0E278C 7F0ADC5C 00005812 */ mflo $t3 -/* 0E2790 7F0ADC60 01683821 */ addu $a3, $t3, $t0 -/* 0E2794 7F0ADC64 24E7FCE8 */ addiu $a3, $a3, -0x318 -/* 0E2798 7F0ADC68 02A30019 */ multu $s5, $v1 -/* 0E279C 7F0ADC6C AFBE0020 */ sw $fp, 0x20($sp) -/* 0E27A0 7F0ADC70 AFB8001C */ sw $t8, 0x1c($sp) -/* 0E27A4 7F0ADC74 AFAD0024 */ sw $t5, 0x24($sp) -/* 0E27A8 7F0ADC78 AFB90028 */ sw $t9, 0x28($sp) -/* 0E27AC 7F0ADC7C 00006012 */ mflo $t4 -/* 0E27B0 7F0ADC80 01887021 */ addu $t6, $t4, $t0 -/* 0E27B4 7F0ADC84 25CFFCE8 */ addiu $t7, $t6, -0x318 -/* 0E27B8 7F0ADC88 0FC2B43E */ jal sub_GAME_7F0AD0F8 -/* 0E27BC 7F0ADC8C AFAF0010 */ sw $t7, 0x10($sp) -/* 0E27C0 7F0ADC90 00409825 */ move $s3, $v0 -/* 0E27C4 7F0ADC94 92150000 */ lbu $s5, ($s0) -/* 0E27C8 7F0ADC98 10000034 */ b .L7F0ADD6C -/* 0E27CC 7F0ADC9C 26100001 */ addiu $s0, $s0, 1 -.L7F0ADCA0: -/* 0E27D0 7F0ADCA0 25CE0EFC */ addiu $t6, $t6, %lo(D_80040EFC) -/* 0E27D4 7F0ADCA4 8DC10000 */ lw $at, ($t6) -/* 0E27D8 7F0ADCA8 920A0001 */ lbu $t2, 1($s0) -/* 0E27DC 7F0ADCAC 304B007F */ andi $t3, $v0, 0x7f -/* 0E27E0 7F0ADCB0 AEC10000 */ sw $at, ($s6) -/* 0E27E4 7F0ADCB4 8DD80004 */ lw $t8, 4($t6) -/* 0E27E8 7F0ADCB8 000B61C0 */ sll $t4, $t3, 7 -/* 0E27EC 7F0ADCBC 3149007F */ andi $t1, $t2, 0x7f -/* 0E27F0 7F0ADCC0 AED80004 */ sw $t8, 4($s6) -/* 0E27F4 7F0ADCC4 8DC10008 */ lw $at, 8($t6) -/* 0E27F8 7F0ADCC8 012C1825 */ or $v1, $t1, $t4 -/* 0E27FC 7F0ADCCC 3064FFFF */ andi $a0, $v1, 0xffff -/* 0E2800 7F0ADCD0 AEC10008 */ sw $at, 8($s6) -/* 0E2804 7F0ADCD4 8DD8000C */ lw $t8, 0xc($t6) -/* 0E2808 7F0ADCD8 308D2000 */ andi $t5, $a0, 0x2000 -/* 0E280C 7F0ADCDC 308B1FFF */ andi $t3, $a0, 0x1fff -/* 0E2810 7F0ADCE0 AED8000C */ sw $t8, 0xc($s6) -/* 0E2814 7F0ADCE4 8DC10010 */ lw $at, 0x10($t6) -/* 0E2818 7F0ADCE8 2419000F */ li $t9, 15 -/* 0E281C 7F0ADCEC 240A0010 */ li $t2, 16 -/* 0E2820 7F0ADCF0 AEC10010 */ sw $at, 0x10($s6) -/* 0E2824 7F0ADCF4 8DD80014 */ lw $t8, 0x14($t6) -/* 0E2828 7F0ADCF8 296103C7 */ slti $at, $t3, 0x3c8 -/* 0E282C 7F0ADCFC 11A00003 */ beqz $t5, .L7F0ADD0C -/* 0E2830 7F0ADD00 AED80014 */ sw $t8, 0x14($s6) -/* 0E2834 7F0ADD04 AFB90078 */ sw $t9, 0x78($sp) -/* 0E2838 7F0ADD08 AFAA0074 */ sw $t2, 0x74($sp) -.L7F0ADD0C: -/* 0E283C 7F0ADD0C 54200003 */ bnezl $at, .L7F0ADD1C -/* 0E2840 7F0ADD10 24890080 */ addiu $t1, $a0, 0x80 -/* 0E2844 7F0ADD14 24040002 */ li $a0, 2 -/* 0E2848 7F0ADD18 24890080 */ addiu $t1, $a0, 0x80 -.L7F0ADD1C: -/* 0E284C 7F0ADD1C 0FC3068C */ jal something_with_LnameX -/* 0E2850 7F0ADD20 AFA9006C */ sw $t1, 0x6c($sp) -/* 0E2854 7F0ADD24 8FAC00A0 */ lw $t4, 0xa0($sp) -/* 0E2858 7F0ADD28 8FA800C8 */ lw $t0, 0xc8($sp) -/* 0E285C 7F0ADD2C 8FAF00CC */ lw $t7, 0xcc($sp) -/* 0E2860 7F0ADD30 AFA20080 */ sw $v0, 0x80($sp) -/* 0E2864 7F0ADD34 02602025 */ move $a0, $s3 -/* 0E2868 7F0ADD38 02202825 */ move $a1, $s1 -/* 0E286C 7F0ADD3C 02403025 */ move $a2, $s2 -/* 0E2870 7F0ADD40 02C03825 */ move $a3, $s6 -/* 0E2874 7F0ADD44 AFB60010 */ sw $s6, 0x10($sp) -/* 0E2878 7F0ADD48 AFB70014 */ sw $s7, 0x14($sp) -/* 0E287C 7F0ADD4C AFB40018 */ sw $s4, 0x18($sp) -/* 0E2880 7F0ADD50 AFBE0020 */ sw $fp, 0x20($sp) -/* 0E2884 7F0ADD54 AFAC001C */ sw $t4, 0x1c($sp) -/* 0E2888 7F0ADD58 AFA80024 */ sw $t0, 0x24($sp) -/* 0E288C 7F0ADD5C 0FC2B43E */ jal sub_GAME_7F0AD0F8 -/* 0E2890 7F0ADD60 AFAF0028 */ sw $t7, 0x28($sp) -/* 0E2894 7F0ADD64 00409825 */ move $s3, $v0 -/* 0E2898 7F0ADD68 26100002 */ addiu $s0, $s0, 2 -.L7F0ADD6C: -/* 0E289C 7F0ADD6C 92020000 */ lbu $v0, ($s0) -/* 0E28A0 7F0ADD70 5440FF8F */ bnezl $v0, .L7F0ADBB0 -/* 0E28A4 7F0ADD74 24010020 */ li $at, 32 -.L7F0ADD78: -/* 0E28A8 7F0ADD78 8FBF005C */ lw $ra, 0x5c($sp) -/* 0E28AC 7F0ADD7C 02601025 */ move $v0, $s3 -/* 0E28B0 7F0ADD80 8FB30044 */ lw $s3, 0x44($sp) -/* 0E28B4 7F0ADD84 8FB00038 */ lw $s0, 0x38($sp) -/* 0E28B8 7F0ADD88 8FB1003C */ lw $s1, 0x3c($sp) -/* 0E28BC 7F0ADD8C 8FB20040 */ lw $s2, 0x40($sp) -/* 0E28C0 7F0ADD90 8FB40048 */ lw $s4, 0x48($sp) -/* 0E28C4 7F0ADD94 8FB5004C */ lw $s5, 0x4c($sp) -/* 0E28C8 7F0ADD98 8FB60050 */ lw $s6, 0x50($sp) -/* 0E28CC 7F0ADD9C 8FB70054 */ lw $s7, 0x54($sp) -/* 0E28D0 7F0ADDA0 8FBE0058 */ lw $fp, 0x58($sp) -/* 0E28D4 7F0ADDA4 03E00008 */ jr $ra -/* 0E28D8 7F0ADDA8 27BD00A8 */ addiu $sp, $sp, 0xa8 -) -#endif -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F0ADDAC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0ADDAC -/* 0E28DC 7F0ADDAC 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0E28E0 7F0ADDB0 AFBF004C */ sw $ra, 0x4c($sp) -/* 0E28E4 7F0ADDB4 AFBE0048 */ sw $fp, 0x48($sp) -/* 0E28E8 7F0ADDB8 AFB70044 */ sw $s7, 0x44($sp) -/* 0E28EC 7F0ADDBC AFB60040 */ sw $s6, 0x40($sp) -/* 0E28F0 7F0ADDC0 AFB5003C */ sw $s5, 0x3c($sp) -/* 0E28F4 7F0ADDC4 AFB40038 */ sw $s4, 0x38($sp) -/* 0E28F8 7F0ADDC8 AFB30034 */ sw $s3, 0x34($sp) -/* 0E28FC 7F0ADDCC AFB20030 */ sw $s2, 0x30($sp) -/* 0E2900 7F0ADDD0 AFB1002C */ sw $s1, 0x2c($sp) -/* 0E2904 7F0ADDD4 AFB00028 */ sw $s0, 0x28($sp) -/* 0E2908 7F0ADDD8 8CCE0000 */ lw $t6, ($a2) -/* 0E290C 7F0ADDDC 8FAF0090 */ lw $t7, 0x90($sp) -/* 0E2910 7F0ADDE0 8FA90070 */ lw $t1, 0x70($sp) -/* 0E2914 7F0ADDE4 8FB90074 */ lw $t9, 0x74($sp) -/* 0E2918 7F0ADDE8 01CFC021 */ addu $t8, $t6, $t7 -/* 0E291C 7F0ADDEC AFB80050 */ sw $t8, 0x50($sp) -/* 0E2920 7F0ADDF0 8D2A0010 */ lw $t2, 0x10($t1) -/* 0E2924 7F0ADDF4 8CEE0010 */ lw $t6, 0x10($a3) -/* 0E2928 7F0ADDF8 00809825 */ move $s3, $a0 -/* 0E292C 7F0ADDFC 000A5880 */ sll $t3, $t2, 2 -/* 0E2930 7F0ADE00 016A5823 */ subu $t3, $t3, $t2 -/* 0E2934 7F0ADE04 000B5880 */ sll $t3, $t3, 2 -/* 0E2938 7F0ADE08 016A5821 */ addu $t3, $t3, $t2 -/* 0E293C 7F0ADE0C 000B6080 */ sll $t4, $t3, 2 -/* 0E2940 7F0ADE10 032C6821 */ addu $t5, $t9, $t4 -/* 0E2944 7F0ADE14 000E7880 */ sll $t7, $t6, 2 -/* 0E2948 7F0ADE18 01AFC021 */ addu $t8, $t5, $t7 -/* 0E294C 7F0ADE1C 3C0A8004 */ lui $t2, %hi(text_spacing) -/* 0E2950 7F0ADE20 8D4A0E84 */ lw $t2, %lo(text_spacing)($t2) -/* 0E2954 7F0ADE24 8F090000 */ lw $t1, ($t8) -/* 0E2958 7F0ADE28 8CAB0000 */ lw $t3, ($a1) -/* 0E295C 7F0ADE2C 00E0F025 */ move $fp, $a3 -/* 0E2960 7F0ADE30 012A1021 */ addu $v0, $t1, $t2 -/* 0E2964 7F0ADE34 0162C823 */ subu $t9, $t3, $v0 -/* 0E2968 7F0ADE38 272C0001 */ addiu $t4, $t9, 1 -/* 0E296C 7F0ADE3C ACAC0000 */ sw $t4, ($a1) -/* 0E2970 7F0ADE40 AFA50064 */ sw $a1, 0x64($sp) -/* 0E2974 7F0ADE44 8CAE0000 */ lw $t6, ($a1) -/* 0E2978 7F0ADE48 59C00173 */ blezl $t6, .L7F0AE418 -/* 0E297C 7F0ADE4C 8FA50064 */ lw $a1, 0x64($sp) -/* 0E2980 7F0ADE50 0C001107 */ jal get_video2_settings_txtClipW -/* 0E2984 7F0ADE54 AFA50064 */ sw $a1, 0x64($sp) -/* 0E2988 7F0ADE58 8FAD0064 */ lw $t5, 0x64($sp) -/* 0E298C 7F0ADE5C 8DAF0000 */ lw $t7, ($t5) -/* 0E2990 7F0ADE60 004F082A */ slt $at, $v0, $t7 -/* 0E2994 7F0ADE64 5420016C */ bnezl $at, .L7F0AE418 -/* 0E2998 7F0ADE68 8FA50064 */ lw $a1, 0x64($sp) -/* 0E299C 7F0ADE6C 0C00110B */ jal get_video2_settings_txtClipH -/* 0E29A0 7F0ADE70 00000000 */ nop -/* 0E29A4 7F0ADE74 8FB80050 */ lw $t8, 0x50($sp) -/* 0E29A8 7F0ADE78 8FC90004 */ lw $t1, 4($fp) -/* 0E29AC 7F0ADE7C 8FAA0064 */ lw $t2, 0x64($sp) -/* 0E29B0 7F0ADE80 03092021 */ addu $a0, $t8, $t1 -/* 0E29B4 7F0ADE84 0044082A */ slt $at, $v0, $a0 -/* 0E29B8 7F0ADE88 54200163 */ bnezl $at, .L7F0AE418 -/* 0E29BC 7F0ADE8C 8FA50064 */ lw $a1, 0x64($sp) -/* 0E29C0 7F0ADE90 8FB40078 */ lw $s4, 0x78($sp) -/* 0E29C4 7F0ADE94 8FB60088 */ lw $s6, 0x88($sp) -/* 0E29C8 7F0ADE98 8D430000 */ lw $v1, ($t2) -/* 0E29CC 7F0ADE9C 8FB5007C */ lw $s5, 0x7c($sp) -/* 0E29D0 7F0ADEA0 02965821 */ addu $t3, $s4, $s6 -/* 0E29D4 7F0ADEA4 0163082A */ slt $at, $t3, $v1 -/* 0E29D8 7F0ADEA8 1420015A */ bnez $at, .L7F0AE414 -/* 0E29DC 7F0ADEAC 8FB7008C */ lw $s7, 0x8c($sp) -/* 0E29E0 7F0ADEB0 02B7C821 */ addu $t9, $s5, $s7 -/* 0E29E4 7F0ADEB4 0324082A */ slt $at, $t9, $a0 -/* 0E29E8 7F0ADEB8 14200156 */ bnez $at, .L7F0AE414 -/* 0E29EC 7F0ADEBC 0074082A */ slt $at, $v1, $s4 -/* 0E29F0 7F0ADEC0 54200155 */ bnezl $at, .L7F0AE418 -/* 0E29F4 7F0ADEC4 8FA50064 */ lw $a1, 0x64($sp) -/* 0E29F8 7F0ADEC8 8FCC0008 */ lw $t4, 8($fp) -/* 0E29FC 7F0ADECC 008C7021 */ addu $t6, $a0, $t4 -/* 0E2A00 7F0ADED0 01D5082A */ slt $at, $t6, $s5 -/* 0E2A04 7F0ADED4 54200150 */ bnezl $at, .L7F0AE418 -/* 0E2A08 7F0ADED8 8FA50064 */ lw $a1, 0x64($sp) -/* 0E2A0C 7F0ADEDC 8FCD0000 */ lw $t5, ($fp) -/* 0E2A10 7F0ADEE0 3C058004 */ lui $a1, %hi(D_80040EA8) -/* 0E2A14 7F0ADEE4 24A50EA8 */ addiu $a1, %lo(D_80040EA8) # addiu $a1, $a1, 0xea8 -/* 0E2A18 7F0ADEE8 29A10080 */ slti $at, $t5, 0x80 -/* 0E2A1C 7F0ADEEC 1020006E */ beqz $at, .L7F0AE0A8 -/* 0E2A20 7F0ADEF0 3C11E700 */ lui $s1, 0xe700 -/* 0E2A24 7F0ADEF4 02601025 */ move $v0, $s3 -/* 0E2A28 7F0ADEF8 3C0FBA00 */ lui $t7, (0xBA000E02 >> 16) # lui $t7, 0xba00 -/* 0E2A2C 7F0ADEFC 35EF0E02 */ ori $t7, (0xBA000E02 & 0xFFFF) # ori $t7, $t7, 0xe02 -/* 0E2A30 7F0ADF00 26730008 */ addiu $s3, $s3, 8 -/* 0E2A34 7F0ADF04 AC4F0000 */ sw $t7, ($v0) -/* 0E2A38 7F0ADF08 AC400004 */ sw $zero, 4($v0) -/* 0E2A3C 7F0ADF0C 02601825 */ move $v1, $s3 -/* 0E2A40 7F0ADF10 3C18FD90 */ lui $t8, 0xfd90 -/* 0E2A44 7F0ADF14 AC780000 */ sw $t8, ($v1) -/* 0E2A48 7F0ADF18 8FC90014 */ lw $t1, 0x14($fp) -/* 0E2A4C 7F0ADF1C 26730008 */ addiu $s3, $s3, 8 -/* 0E2A50 7F0ADF20 02602025 */ move $a0, $s3 -/* 0E2A54 7F0ADF24 26730008 */ addiu $s3, $s3, 8 -/* 0E2A58 7F0ADF28 AC690004 */ sw $t1, 4($v1) -/* 0E2A5C 7F0ADF2C 3C120700 */ lui $s2, 0x700 -/* 0E2A60 7F0ADF30 02602825 */ move $a1, $s3 -/* 0E2A64 7F0ADF34 3C0AF590 */ lui $t2, 0xf590 -/* 0E2A68 7F0ADF38 AC8A0000 */ sw $t2, ($a0) -/* 0E2A6C 7F0ADF3C AC920004 */ sw $s2, 4($a0) -/* 0E2A70 7F0ADF40 26730008 */ addiu $s3, $s3, 8 -/* 0E2A74 7F0ADF44 3C0BE600 */ lui $t3, 0xe600 -/* 0E2A78 7F0ADF48 ACAB0000 */ sw $t3, ($a1) -/* 0E2A7C 7F0ADF4C 02604025 */ move $t0, $s3 -/* 0E2A80 7F0ADF50 ACA00004 */ sw $zero, 4($a1) -/* 0E2A84 7F0ADF54 3C19F300 */ lui $t9, 0xf300 -/* 0E2A88 7F0ADF58 AD190000 */ sw $t9, ($t0) -/* 0E2A8C 7F0ADF5C 8FC3000C */ lw $v1, 0xc($fp) -/* 0E2A90 7F0ADF60 8FCE0008 */ lw $t6, 8($fp) -/* 0E2A94 7F0ADF64 26730008 */ addiu $s3, $s3, 8 -/* 0E2A98 7F0ADF68 24630007 */ addiu $v1, $v1, 7 -/* 0E2A9C 7F0ADF6C 306C00F8 */ andi $t4, $v1, 0xf8 -/* 0E2AA0 7F0ADF70 018E0019 */ multu $t4, $t6 -/* 0E2AA4 7F0ADF74 01801825 */ move $v1, $t4 -/* 0E2AA8 7F0ADF78 3C11E700 */ lui $s1, 0xe700 -/* 0E2AAC 7F0ADF7C 240607FF */ li $a2, 2047 -/* 0E2AB0 7F0ADF80 00001012 */ mflo $v0 -/* 0E2AB4 7F0ADF84 24420001 */ addiu $v0, $v0, 1 -/* 0E2AB8 7F0ADF88 00026843 */ sra $t5, $v0, 1 -/* 0E2ABC 7F0ADF8C 25A2FFFF */ addiu $v0, $t5, -1 -/* 0E2AC0 7F0ADF90 284107FF */ slti $at, $v0, 0x7ff -/* 0E2AC4 7F0ADF94 10200003 */ beqz $at, .L7F0ADFA4 -/* 0E2AC8 7F0ADF98 00000000 */ nop -/* 0E2ACC 7F0ADF9C 10000001 */ b .L7F0ADFA4 -/* 0E2AD0 7F0ADFA0 00403025 */ move $a2, $v0 -.L7F0ADFA4: -/* 0E2AD4 7F0ADFA4 04610003 */ bgez $v1, .L7F0ADFB4 -/* 0E2AD8 7F0ADFA8 000310C3 */ sra $v0, $v1, 3 -/* 0E2ADC 7F0ADFAC 24610007 */ addiu $at, $v1, 7 -/* 0E2AE0 7F0ADFB0 000110C3 */ sra $v0, $at, 3 -.L7F0ADFB4: -/* 0E2AE4 7F0ADFB4 1C400003 */ bgtz $v0, .L7F0ADFC4 -/* 0E2AE8 7F0ADFB8 30CB0FFF */ andi $t3, $a2, 0xfff -/* 0E2AEC 7F0ADFBC 10000002 */ b .L7F0ADFC8 -/* 0E2AF0 7F0ADFC0 24070001 */ li $a3, 1 -.L7F0ADFC4: -/* 0E2AF4 7F0ADFC4 00403825 */ move $a3, $v0 -.L7F0ADFC8: -/* 0E2AF8 7F0ADFC8 1C400003 */ bgtz $v0, .L7F0ADFD8 -/* 0E2AFC 7F0ADFCC 24EF07FF */ addiu $t7, $a3, 0x7ff -/* 0E2B00 7F0ADFD0 10000002 */ b .L7F0ADFDC -/* 0E2B04 7F0ADFD4 24050001 */ li $a1, 1 -.L7F0ADFD8: -/* 0E2B08 7F0ADFD8 00402825 */ move $a1, $v0 -.L7F0ADFDC: -/* 0E2B0C 7F0ADFDC 01E5001A */ div $zero, $t7, $a1 -/* 0E2B10 7F0ADFE0 0000C012 */ mflo $t8 -/* 0E2B14 7F0ADFE4 33090FFF */ andi $t1, $t8, 0xfff -/* 0E2B18 7F0ADFE8 01325025 */ or $t2, $t1, $s2 -/* 0E2B1C 7F0ADFEC 000BCB00 */ sll $t9, $t3, 0xc -/* 0E2B20 7F0ADFF0 01596025 */ or $t4, $t2, $t9 -/* 0E2B24 7F0ADFF4 AD0C0004 */ sw $t4, 4($t0) -/* 0E2B28 7F0ADFF8 02601025 */ move $v0, $s3 -/* 0E2B2C 7F0ADFFC AC510000 */ sw $s1, ($v0) -/* 0E2B30 7F0AE000 AC400004 */ sw $zero, 4($v0) -/* 0E2B34 7F0AE004 8FCE000C */ lw $t6, 0xc($fp) -/* 0E2B38 7F0AE008 14A00002 */ bnez $a1, .L7F0AE014 -/* 0E2B3C 7F0AE00C 00000000 */ nop -/* 0E2B40 7F0AE010 0007000D */ break 7 -.L7F0AE014: -/* 0E2B44 7F0AE014 2401FFFF */ li $at, -1 -/* 0E2B48 7F0AE018 14A10004 */ bne $a1, $at, .L7F0AE02C -/* 0E2B4C 7F0AE01C 3C018000 */ lui $at, 0x8000 -/* 0E2B50 7F0AE020 15E10002 */ bne $t7, $at, .L7F0AE02C -/* 0E2B54 7F0AE024 00000000 */ nop -/* 0E2B58 7F0AE028 0006000D */ break 6 -.L7F0AE02C: -/* 0E2B5C 7F0AE02C 25CD0007 */ addiu $t5, $t6, 7 -/* 0E2B60 7F0AE030 31AF00F8 */ andi $t7, $t5, 0xf8 -/* 0E2B64 7F0AE034 25F80007 */ addiu $t8, $t7, 7 -/* 0E2B68 7F0AE038 001848C3 */ sra $t1, $t8, 3 -/* 0E2B6C 7F0AE03C 26730008 */ addiu $s3, $s3, 8 -/* 0E2B70 7F0AE040 02601825 */ move $v1, $s3 -/* 0E2B74 7F0AE044 312B01FF */ andi $t3, $t1, 0x1ff -/* 0E2B78 7F0AE048 000B5240 */ sll $t2, $t3, 9 -/* 0E2B7C 7F0AE04C 3C01F588 */ lui $at, 0xf588 -/* 0E2B80 7F0AE050 0141C825 */ or $t9, $t2, $at -/* 0E2B84 7F0AE054 26730008 */ addiu $s3, $s3, 8 -/* 0E2B88 7F0AE058 02602025 */ move $a0, $s3 -/* 0E2B8C 7F0AE05C AC790000 */ sw $t9, ($v1) -/* 0E2B90 7F0AE060 AC600004 */ sw $zero, 4($v1) -/* 0E2B94 7F0AE064 3C0CF200 */ lui $t4, 0xf200 -/* 0E2B98 7F0AE068 AC8C0000 */ sw $t4, ($a0) -/* 0E2B9C 7F0AE06C 8FCE000C */ lw $t6, 0xc($fp) -/* 0E2BA0 7F0AE070 8FD90008 */ lw $t9, 8($fp) -/* 0E2BA4 7F0AE074 26730008 */ addiu $s3, $s3, 8 -/* 0E2BA8 7F0AE078 25CD0007 */ addiu $t5, $t6, 7 -/* 0E2BAC 7F0AE07C 31AF00F8 */ andi $t7, $t5, 0xf8 -/* 0E2BB0 7F0AE080 25F8FFFF */ addiu $t8, $t7, -1 -/* 0E2BB4 7F0AE084 00184880 */ sll $t1, $t8, 2 -/* 0E2BB8 7F0AE088 272CFFFF */ addiu $t4, $t9, -1 -/* 0E2BBC 7F0AE08C 000C7080 */ sll $t6, $t4, 2 -/* 0E2BC0 7F0AE090 312B0FFF */ andi $t3, $t1, 0xfff -/* 0E2BC4 7F0AE094 000B5300 */ sll $t2, $t3, 0xc -/* 0E2BC8 7F0AE098 31CD0FFF */ andi $t5, $t6, 0xfff -/* 0E2BCC 7F0AE09C 014D7825 */ or $t7, $t2, $t5 -/* 0E2BD0 7F0AE0A0 10000095 */ b .L7F0AE2F8 -/* 0E2BD4 7F0AE0A4 AC8F0004 */ sw $t7, 4($a0) -.L7F0AE0A8: -/* 0E2BD8 7F0AE0A8 02601025 */ move $v0, $s3 -/* 0E2BDC 7F0AE0AC 26730008 */ addiu $s3, $s3, 8 -/* 0E2BE0 7F0AE0B0 AC510000 */ sw $s1, ($v0) -/* 0E2BE4 7F0AE0B4 AC400004 */ sw $zero, 4($v0) -/* 0E2BE8 7F0AE0B8 02601825 */ move $v1, $s3 -/* 0E2BEC 7F0AE0BC 3C18BA00 */ lui $t8, (0xBA000E02 >> 16) # lui $t8, 0xba00 -/* 0E2BF0 7F0AE0C0 37180E02 */ ori $t8, (0xBA000E02 & 0xFFFF) # ori $t8, $t8, 0xe02 -/* 0E2BF4 7F0AE0C4 3409C000 */ li $t1, 49152 -/* 0E2BF8 7F0AE0C8 AC690004 */ sw $t1, 4($v1) -/* 0E2BFC 7F0AE0CC AC780000 */ sw $t8, ($v1) -/* 0E2C00 7F0AE0D0 8CAB0000 */ lw $t3, ($a1) -/* 0E2C04 7F0AE0D4 26730008 */ addiu $s3, $s3, 8 -/* 0E2C08 7F0AE0D8 02608025 */ move $s0, $s3 -/* 0E2C0C 7F0AE0DC 11600047 */ beqz $t3, .L7F0AE1FC -/* 0E2C10 7F0AE0E0 3C19FD10 */ lui $t9, 0xfd10 -/* 0E2C14 7F0AE0E4 ACA00000 */ sw $zero, ($a1) -/* 0E2C18 7F0AE0E8 3C048004 */ lui $a0, %hi(D_80040EBC) -/* 0E2C1C 7F0AE0EC 24840EBC */ addiu $a0, %lo(D_80040EBC) # addiu $a0, $a0, 0xebc -/* 0E2C20 7F0AE0F0 AE190000 */ sw $t9, ($s0) -/* 0E2C24 7F0AE0F4 0C003A2C */ jal osVirtualToPhysical -/* 0E2C28 7F0AE0F8 26730008 */ addiu $s3, $s3, 8 -/* 0E2C2C 7F0AE0FC 02601825 */ move $v1, $s3 -/* 0E2C30 7F0AE100 26730008 */ addiu $s3, $s3, 8 -/* 0E2C34 7F0AE104 AE020004 */ sw $v0, 4($s0) -/* 0E2C38 7F0AE108 02602025 */ move $a0, $s3 -/* 0E2C3C 7F0AE10C 3C0CE800 */ lui $t4, 0xe800 -/* 0E2C40 7F0AE110 AC6C0000 */ sw $t4, ($v1) -/* 0E2C44 7F0AE114 AC600004 */ sw $zero, 4($v1) -/* 0E2C48 7F0AE118 3C0EF500 */ lui $t6, (0xF5000100 >> 16) # lui $t6, 0xf500 -/* 0E2C4C 7F0AE11C 35CE0100 */ ori $t6, (0xF5000100 & 0xFFFF) # ori $t6, $t6, 0x100 -/* 0E2C50 7F0AE120 26730008 */ addiu $s3, $s3, 8 -/* 0E2C54 7F0AE124 3C120700 */ lui $s2, 0x700 -/* 0E2C58 7F0AE128 AC920004 */ sw $s2, 4($a0) -/* 0E2C5C 7F0AE12C 02602825 */ move $a1, $s3 -/* 0E2C60 7F0AE130 AC8E0000 */ sw $t6, ($a0) -/* 0E2C64 7F0AE134 26730008 */ addiu $s3, $s3, 8 -/* 0E2C68 7F0AE138 02603025 */ move $a2, $s3 -/* 0E2C6C 7F0AE13C 3C0AE600 */ lui $t2, 0xe600 -/* 0E2C70 7F0AE140 ACAA0000 */ sw $t2, ($a1) -/* 0E2C74 7F0AE144 26730008 */ addiu $s3, $s3, 8 -/* 0E2C78 7F0AE148 ACA00004 */ sw $zero, 4($a1) -/* 0E2C7C 7F0AE14C 3C0F0703 */ lui $t7, (0x0703C000 >> 16) # lui $t7, 0x703 -/* 0E2C80 7F0AE150 35EFC000 */ ori $t7, (0x0703C000 & 0xFFFF) # ori $t7, $t7, 0xc000 -/* 0E2C84 7F0AE154 02603825 */ move $a3, $s3 -/* 0E2C88 7F0AE158 3C0DF000 */ lui $t5, 0xf000 -/* 0E2C8C 7F0AE15C ACCD0000 */ sw $t5, ($a2) -/* 0E2C90 7F0AE160 ACCF0004 */ sw $t7, 4($a2) -/* 0E2C94 7F0AE164 26730008 */ addiu $s3, $s3, 8 -/* 0E2C98 7F0AE168 ACE00004 */ sw $zero, 4($a3) -/* 0E2C9C 7F0AE16C ACF10000 */ sw $s1, ($a3) -/* 0E2CA0 7F0AE170 02608025 */ move $s0, $s3 -/* 0E2CA4 7F0AE174 3C048004 */ lui $a0, %hi(D_80040EDC) -/* 0E2CA8 7F0AE178 3C18FD10 */ lui $t8, 0xfd10 -/* 0E2CAC 7F0AE17C AE180000 */ sw $t8, ($s0) -/* 0E2CB0 7F0AE180 24840EDC */ addiu $a0, %lo(D_80040EDC) # addiu $a0, $a0, 0xedc -/* 0E2CB4 7F0AE184 0C003A2C */ jal osVirtualToPhysical -/* 0E2CB8 7F0AE188 26730008 */ addiu $s3, $s3, 8 -/* 0E2CBC 7F0AE18C 02601825 */ move $v1, $s3 -/* 0E2CC0 7F0AE190 26730008 */ addiu $s3, $s3, 8 -/* 0E2CC4 7F0AE194 AE020004 */ sw $v0, 4($s0) -/* 0E2CC8 7F0AE198 02602025 */ move $a0, $s3 -/* 0E2CCC 7F0AE19C 3C09E800 */ lui $t1, 0xe800 -/* 0E2CD0 7F0AE1A0 AC690000 */ sw $t1, ($v1) -/* 0E2CD4 7F0AE1A4 26730008 */ addiu $s3, $s3, 8 -/* 0E2CD8 7F0AE1A8 AC600004 */ sw $zero, 4($v1) -/* 0E2CDC 7F0AE1AC 3C0BF500 */ lui $t3, (0xF5000110 >> 16) # lui $t3, 0xf500 -/* 0E2CE0 7F0AE1B0 356B0110 */ ori $t3, (0xF5000110 & 0xFFFF) # ori $t3, $t3, 0x110 -/* 0E2CE4 7F0AE1B4 02602825 */ move $a1, $s3 -/* 0E2CE8 7F0AE1B8 26730008 */ addiu $s3, $s3, 8 -/* 0E2CEC 7F0AE1BC AC8B0000 */ sw $t3, ($a0) -/* 0E2CF0 7F0AE1C0 AC920004 */ sw $s2, 4($a0) -/* 0E2CF4 7F0AE1C4 02603025 */ move $a2, $s3 -/* 0E2CF8 7F0AE1C8 3C19E600 */ lui $t9, 0xe600 -/* 0E2CFC 7F0AE1CC ACB90000 */ sw $t9, ($a1) -/* 0E2D00 7F0AE1D0 26730008 */ addiu $s3, $s3, 8 -/* 0E2D04 7F0AE1D4 ACA00004 */ sw $zero, 4($a1) -/* 0E2D08 7F0AE1D8 3C0E0703 */ lui $t6, (0x0703C000 >> 16) # lui $t6, 0x703 -/* 0E2D0C 7F0AE1DC 35CEC000 */ ori $t6, (0x0703C000 & 0xFFFF) # ori $t6, $t6, 0xc000 -/* 0E2D10 7F0AE1E0 02603825 */ move $a3, $s3 -/* 0E2D14 7F0AE1E4 3C0CF000 */ lui $t4, 0xf000 -/* 0E2D18 7F0AE1E8 ACCC0000 */ sw $t4, ($a2) -/* 0E2D1C 7F0AE1EC ACCE0004 */ sw $t6, 4($a2) -/* 0E2D20 7F0AE1F0 ACE00004 */ sw $zero, 4($a3) -/* 0E2D24 7F0AE1F4 ACF10000 */ sw $s1, ($a3) -/* 0E2D28 7F0AE1F8 26730008 */ addiu $s3, $s3, 8 -.L7F0AE1FC: -/* 0E2D2C 7F0AE1FC 02608025 */ move $s0, $s3 -/* 0E2D30 7F0AE200 3C0AFD50 */ lui $t2, 0xfd50 -/* 0E2D34 7F0AE204 AE0A0000 */ sw $t2, ($s0) -/* 0E2D38 7F0AE208 3C120700 */ lui $s2, 0x700 -/* 0E2D3C 7F0AE20C 8FC40014 */ lw $a0, 0x14($fp) -/* 0E2D40 7F0AE210 0C003A2C */ jal osVirtualToPhysical -/* 0E2D44 7F0AE214 26730008 */ addiu $s3, $s3, 8 -/* 0E2D48 7F0AE218 02601825 */ move $v1, $s3 -/* 0E2D4C 7F0AE21C AE020004 */ sw $v0, 4($s0) -/* 0E2D50 7F0AE220 26730008 */ addiu $s3, $s3, 8 -/* 0E2D54 7F0AE224 3C0DF550 */ lui $t5, 0xf550 -/* 0E2D58 7F0AE228 02602025 */ move $a0, $s3 -/* 0E2D5C 7F0AE22C AC6D0000 */ sw $t5, ($v1) -/* 0E2D60 7F0AE230 AC720004 */ sw $s2, 4($v1) -/* 0E2D64 7F0AE234 26730008 */ addiu $s3, $s3, 8 -/* 0E2D68 7F0AE238 3C0FE600 */ lui $t7, 0xe600 -/* 0E2D6C 7F0AE23C AC8F0000 */ sw $t7, ($a0) -/* 0E2D70 7F0AE240 AC800004 */ sw $zero, 4($a0) -/* 0E2D74 7F0AE244 02603025 */ move $a2, $s3 -/* 0E2D78 7F0AE248 3C18F300 */ lui $t8, 0xf300 -/* 0E2D7C 7F0AE24C ACD80000 */ sw $t8, ($a2) -/* 0E2D80 7F0AE250 8FC70008 */ lw $a3, 8($fp) -/* 0E2D84 7F0AE254 26730008 */ addiu $s3, $s3, 8 -/* 0E2D88 7F0AE258 02601025 */ move $v0, $s3 -/* 0E2D8C 7F0AE25C 00074880 */ sll $t1, $a3, 2 -/* 0E2D90 7F0AE260 2527FFFF */ addiu $a3, $t1, -1 -/* 0E2D94 7F0AE264 28E107FF */ slti $at, $a3, 0x7ff -/* 0E2D98 7F0AE268 10200003 */ beqz $at, .L7F0AE278 -/* 0E2D9C 7F0AE26C 26730008 */ addiu $s3, $s3, 8 -/* 0E2DA0 7F0AE270 10000002 */ b .L7F0AE27C -/* 0E2DA4 7F0AE274 00E02825 */ move $a1, $a3 -.L7F0AE278: -/* 0E2DA8 7F0AE278 240507FF */ li $a1, 2047 -.L7F0AE27C: -/* 0E2DAC 7F0AE27C 30AB0FFF */ andi $t3, $a1, 0xfff -/* 0E2DB0 7F0AE280 000BCB00 */ sll $t9, $t3, 0xc -/* 0E2DB4 7F0AE284 03326025 */ or $t4, $t9, $s2 -/* 0E2DB8 7F0AE288 358E0800 */ ori $t6, $t4, 0x800 -/* 0E2DBC 7F0AE28C ACCE0004 */ sw $t6, 4($a2) -/* 0E2DC0 7F0AE290 3C0AF540 */ lui $t2, (0xF5400200 >> 16) # lui $t2, 0xf540 -/* 0E2DC4 7F0AE294 AC400004 */ sw $zero, 4($v0) -/* 0E2DC8 7F0AE298 AC510000 */ sw $s1, ($v0) -/* 0E2DCC 7F0AE29C 354A0200 */ ori $t2, (0xF5400200 & 0xFFFF) # ori $t2, $t2, 0x200 -/* 0E2DD0 7F0AE2A0 02601825 */ move $v1, $s3 -/* 0E2DD4 7F0AE2A4 AC6A0000 */ sw $t2, ($v1) -/* 0E2DD8 7F0AE2A8 8FCF0000 */ lw $t7, ($fp) -/* 0E2DDC 7F0AE2AC 3C010008 */ lui $at, 8 -/* 0E2DE0 7F0AE2B0 26730008 */ addiu $s3, $s3, 8 -/* 0E2DE4 7F0AE2B4 31F80001 */ andi $t8, $t7, 1 -/* 0E2DE8 7F0AE2B8 00184D00 */ sll $t1, $t8, 0x14 -/* 0E2DEC 7F0AE2BC 01215825 */ or $t3, $t1, $at -/* 0E2DF0 7F0AE2C0 35790200 */ ori $t9, $t3, 0x200 -/* 0E2DF4 7F0AE2C4 AC790004 */ sw $t9, 4($v1) -/* 0E2DF8 7F0AE2C8 02602025 */ move $a0, $s3 -/* 0E2DFC 7F0AE2CC 3C0CF200 */ lui $t4, 0xf200 -/* 0E2E00 7F0AE2D0 AC8C0000 */ sw $t4, ($a0) -/* 0E2E04 7F0AE2D4 8FCE0008 */ lw $t6, 8($fp) -/* 0E2E08 7F0AE2D8 3C010003 */ lui $at, (0x0003C000 >> 16) # lui $at, 3 -/* 0E2E0C 7F0AE2DC 3421C000 */ ori $at, (0x0003C000 & 0xFFFF) # ori $at, $at, 0xc000 -/* 0E2E10 7F0AE2E0 25CAFFFF */ addiu $t2, $t6, -1 -/* 0E2E14 7F0AE2E4 000A6880 */ sll $t5, $t2, 2 -/* 0E2E18 7F0AE2E8 31AF0FFF */ andi $t7, $t5, 0xfff -/* 0E2E1C 7F0AE2EC 01E1C025 */ or $t8, $t7, $at -/* 0E2E20 7F0AE2F0 AC980004 */ sw $t8, 4($a0) -/* 0E2E24 7F0AE2F4 26730008 */ addiu $s3, $s3, 8 -.L7F0AE2F8: -/* 0E2E28 7F0AE2F8 8FA20084 */ lw $v0, 0x84($sp) -/* 0E2E2C 7F0AE2FC 02602025 */ move $a0, $s3 -/* 0E2E30 7F0AE300 3C09FA00 */ lui $t1, 0xfa00 -/* 0E2E34 7F0AE304 00026602 */ srl $t4, $v0, 0x18 -/* 0E2E38 7F0AE308 00026C02 */ srl $t5, $v0, 0x10 -/* 0E2E3C 7F0AE30C 31AF00FF */ andi $t7, $t5, 0xff -/* 0E2E40 7F0AE310 000C7600 */ sll $t6, $t4, 0x18 -/* 0E2E44 7F0AE314 000FC400 */ sll $t8, $t7, 0x10 -/* 0E2E48 7F0AE318 AC890000 */ sw $t1, ($a0) -/* 0E2E4C 7F0AE31C 0002CA02 */ srl $t9, $v0, 8 -/* 0E2E50 7F0AE320 332C00FF */ andi $t4, $t9, 0xff -/* 0E2E54 7F0AE324 01D84825 */ or $t1, $t6, $t8 -/* 0E2E58 7F0AE328 000C5200 */ sll $t2, $t4, 8 -/* 0E2E5C 7F0AE32C 012A6825 */ or $t5, $t1, $t2 -/* 0E2E60 7F0AE330 304E00FF */ andi $t6, $v0, 0xff -/* 0E2E64 7F0AE334 01AEC025 */ or $t8, $t5, $t6 -/* 0E2E68 7F0AE338 AC980004 */ sw $t8, 4($a0) -/* 0E2E6C 7F0AE33C 8FAB0064 */ lw $t3, 0x64($sp) -/* 0E2E70 7F0AE340 26730008 */ addiu $s3, $s3, 8 -/* 0E2E74 7F0AE344 2411FFFF */ li $s1, -1 -/* 0E2E78 7F0AE348 24120002 */ li $s2, 2 -/* 0E2E7C 7F0AE34C 8D630000 */ lw $v1, ($t3) -/* 0E2E80 7F0AE350 2410FFFF */ li $s0, -1 -.L7F0AE354: -/* 0E2E84 7F0AE354 16200003 */ bnez $s1, .L7F0AE364 -/* 0E2E88 7F0AE358 00712821 */ addu $a1, $v1, $s1 -/* 0E2E8C 7F0AE35C 5200000E */ beql $s0, $zero, .L7F0AE398 -/* 0E2E90 7F0AE360 26100001 */ addiu $s0, $s0, 1 -.L7F0AE364: -/* 0E2E94 7F0AE364 8FB90050 */ lw $t9, 0x50($sp) -/* 0E2E98 7F0AE368 02602025 */ move $a0, $s3 -/* 0E2E9C 7F0AE36C 03C03825 */ move $a3, $fp -/* 0E2EA0 7F0AE370 AFB40010 */ sw $s4, 0x10($sp) -/* 0E2EA4 7F0AE374 AFB50014 */ sw $s5, 0x14($sp) -/* 0E2EA8 7F0AE378 AFB60018 */ sw $s6, 0x18($sp) -/* 0E2EAC 7F0AE37C AFB7001C */ sw $s7, 0x1c($sp) -/* 0E2EB0 7F0AE380 0FC2B917 */ jal sub_GAME_7F0AE45C -/* 0E2EB4 7F0AE384 03303021 */ addu $a2, $t9, $s0 -/* 0E2EB8 7F0AE388 8FAC0064 */ lw $t4, 0x64($sp) -/* 0E2EBC 7F0AE38C 00409825 */ move $s3, $v0 -/* 0E2EC0 7F0AE390 8D830000 */ lw $v1, ($t4) -/* 0E2EC4 7F0AE394 26100001 */ addiu $s0, $s0, 1 -.L7F0AE398: -/* 0E2EC8 7F0AE398 1612FFEE */ bne $s0, $s2, .L7F0AE354 -/* 0E2ECC 7F0AE39C 00000000 */ nop -/* 0E2ED0 7F0AE3A0 26310001 */ addiu $s1, $s1, 1 -/* 0E2ED4 7F0AE3A4 5632FFEB */ bnel $s1, $s2, .L7F0AE354 -/* 0E2ED8 7F0AE3A8 2410FFFF */ li $s0, -1 -/* 0E2EDC 7F0AE3AC 8FA20080 */ lw $v0, 0x80($sp) -/* 0E2EE0 7F0AE3B0 3C09FA00 */ lui $t1, 0xfa00 -/* 0E2EE4 7F0AE3B4 AE690000 */ sw $t1, ($s3) -/* 0E2EE8 7F0AE3B8 00026E02 */ srl $t5, $v0, 0x18 -/* 0E2EEC 7F0AE3BC 00025C02 */ srl $t3, $v0, 0x10 -/* 0E2EF0 7F0AE3C0 317900FF */ andi $t9, $t3, 0xff -/* 0E2EF4 7F0AE3C4 000D7600 */ sll $t6, $t5, 0x18 -/* 0E2EF8 7F0AE3C8 00196400 */ sll $t4, $t9, 0x10 -/* 0E2EFC 7F0AE3CC 00027A02 */ srl $t7, $v0, 8 -/* 0E2F00 7F0AE3D0 31ED00FF */ andi $t5, $t7, 0xff -/* 0E2F04 7F0AE3D4 01CC4825 */ or $t1, $t6, $t4 -/* 0E2F08 7F0AE3D8 000DC200 */ sll $t8, $t5, 8 -/* 0E2F0C 7F0AE3DC 01385825 */ or $t3, $t1, $t8 -/* 0E2F10 7F0AE3E0 304E00FF */ andi $t6, $v0, 0xff -/* 0E2F14 7F0AE3E4 016E6025 */ or $t4, $t3, $t6 -/* 0E2F18 7F0AE3E8 AE6C0004 */ sw $t4, 4($s3) -/* 0E2F1C 7F0AE3EC 00602825 */ move $a1, $v1 -/* 0E2F20 7F0AE3F0 26640008 */ addiu $a0, $s3, 8 -/* 0E2F24 7F0AE3F4 AFB7001C */ sw $s7, 0x1c($sp) -/* 0E2F28 7F0AE3F8 AFB60018 */ sw $s6, 0x18($sp) -/* 0E2F2C 7F0AE3FC AFB50014 */ sw $s5, 0x14($sp) -/* 0E2F30 7F0AE400 AFB40010 */ sw $s4, 0x10($sp) -/* 0E2F34 7F0AE404 8FA60050 */ lw $a2, 0x50($sp) -/* 0E2F38 7F0AE408 0FC2B917 */ jal sub_GAME_7F0AE45C -/* 0E2F3C 7F0AE40C 03C03825 */ move $a3, $fp -/* 0E2F40 7F0AE410 00409825 */ move $s3, $v0 -.L7F0AE414: -/* 0E2F44 7F0AE414 8FA50064 */ lw $a1, 0x64($sp) -.L7F0AE418: -/* 0E2F48 7F0AE418 8FCF000C */ lw $t7, 0xc($fp) -/* 0E2F4C 7F0AE41C 02601025 */ move $v0, $s3 -/* 0E2F50 7F0AE420 8CAA0000 */ lw $t2, ($a1) -/* 0E2F54 7F0AE424 014F6821 */ addu $t5, $t2, $t7 -/* 0E2F58 7F0AE428 ACAD0000 */ sw $t5, ($a1) -/* 0E2F5C 7F0AE42C 8FBF004C */ lw $ra, 0x4c($sp) -/* 0E2F60 7F0AE430 8FBE0048 */ lw $fp, 0x48($sp) -/* 0E2F64 7F0AE434 8FB70044 */ lw $s7, 0x44($sp) -/* 0E2F68 7F0AE438 8FB60040 */ lw $s6, 0x40($sp) -/* 0E2F6C 7F0AE43C 8FB5003C */ lw $s5, 0x3c($sp) -/* 0E2F70 7F0AE440 8FB40038 */ lw $s4, 0x38($sp) -/* 0E2F74 7F0AE444 8FB30034 */ lw $s3, 0x34($sp) -/* 0E2F78 7F0AE448 8FB20030 */ lw $s2, 0x30($sp) -/* 0E2F7C 7F0AE44C 8FB1002C */ lw $s1, 0x2c($sp) -/* 0E2F80 7F0AE450 8FB00028 */ lw $s0, 0x28($sp) -/* 0E2F84 7F0AE454 03E00008 */ jr $ra -/* 0E2F88 7F0AE458 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AE45C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AE45C -/* 0E2F8C 7F0AE45C 8CEE000C */ lw $t6, 0xc($a3) -/* 0E2F90 7F0AE460 8FAF0010 */ lw $t7, 0x10($sp) -/* 0E2F94 7F0AE464 8FB80018 */ lw $t8, 0x18($sp) -/* 0E2F98 7F0AE468 01C51021 */ addu $v0, $t6, $a1 -/* 0E2F9C 7F0AE46C 01F8C821 */ addu $t9, $t7, $t8 -/* 0E2FA0 7F0AE470 0322082A */ slt $at, $t9, $v0 -/* 0E2FA4 7F0AE474 1420009B */ bnez $at, .L7F0AE6E4 -/* 0E2FA8 7F0AE478 00000000 */ nop -/* 0E2FAC 7F0AE47C 8CE30004 */ lw $v1, 4($a3) -/* 0E2FB0 7F0AE480 8FA90014 */ lw $t1, 0x14($sp) -/* 0E2FB4 7F0AE484 8FAC001C */ lw $t4, 0x1c($sp) -/* 0E2FB8 7F0AE488 00664021 */ addu $t0, $v1, $a2 -/* 0E2FBC 7F0AE48C 0109082A */ slt $at, $t0, $t1 -/* 0E2FC0 7F0AE490 5420006E */ bnezl $at, .L7F0AE64C -/* 0E2FC4 7F0AE494 8CEF0008 */ lw $t7, 8($a3) -/* 0E2FC8 7F0AE498 8CED0008 */ lw $t5, 8($a3) -/* 0E2FCC 7F0AE49C 012C5021 */ addu $t2, $t1, $t4 -/* 0E2FD0 7F0AE4A0 3C0E8004 */ lui $t6, %hi(text_orientation) -/* 0E2FD4 7F0AE4A4 010D5821 */ addu $t3, $t0, $t5 -/* 0E2FD8 7F0AE4A8 014B082A */ slt $at, $t2, $t3 -/* 0E2FDC 7F0AE4AC 54200047 */ bnezl $at, .L7F0AE5CC -/* 0E2FE0 7F0AE4B0 0148082A */ slt $at, $t2, $t0 -/* 0E2FE4 7F0AE4B4 8DCE0E88 */ lw $t6, %lo(text_orientation)($t6) -/* 0E2FE8 7F0AE4B8 0002C080 */ sll $t8, $v0, 2 -/* 0E2FEC 7F0AE4BC 330C0FFF */ andi $t4, $t8, 0xfff -/* 0E2FF0 7F0AE4C0 11C00026 */ beqz $t6, .L7F0AE55C -/* 0E2FF4 7F0AE4C4 24880008 */ addiu $t0, $a0, 8 -/* 0E2FF8 7F0AE4C8 00C37823 */ subu $t7, $a2, $v1 -/* 0E2FFC 7F0AE4CC 000FC080 */ sll $t8, $t7, 2 -/* 0E3000 7F0AE4D0 33190FFF */ andi $t9, $t8, 0xfff -/* 0E3004 7F0AE4D4 00196300 */ sll $t4, $t9, 0xc -/* 0E3008 7F0AE4D8 3C01E500 */ lui $at, 0xe500 -/* 0E300C 7F0AE4DC 00027080 */ sll $t6, $v0, 2 -/* 0E3010 7F0AE4E0 31CF0FFF */ andi $t7, $t6, 0xfff -/* 0E3014 7F0AE4E4 01816825 */ or $t5, $t4, $at -/* 0E3018 7F0AE4E8 01AFC025 */ or $t8, $t5, $t7 -/* 0E301C 7F0AE4EC AC980000 */ sw $t8, ($a0) -/* 0E3020 7F0AE4F0 8CF90004 */ lw $t9, 4($a3) -/* 0E3024 7F0AE4F4 8CEE0008 */ lw $t6, 8($a3) -/* 0E3028 7F0AE4F8 24890008 */ addiu $t1, $a0, 8 -/* 0E302C 7F0AE4FC 00D96023 */ subu $t4, $a2, $t9 -/* 0E3030 7F0AE500 018E6823 */ subu $t5, $t4, $t6 -/* 0E3034 7F0AE504 000D7880 */ sll $t7, $t5, 2 -/* 0E3038 7F0AE508 31F80FFF */ andi $t8, $t7, 0xfff -/* 0E303C 7F0AE50C 00056080 */ sll $t4, $a1, 2 -/* 0E3040 7F0AE510 318E0FFF */ andi $t6, $t4, 0xfff -/* 0E3044 7F0AE514 0018CB00 */ sll $t9, $t8, 0xc -/* 0E3048 7F0AE518 032E6825 */ or $t5, $t9, $t6 -/* 0E304C 7F0AE51C AC8D0004 */ sw $t5, 4($a0) -/* 0E3050 7F0AE520 3C0FB400 */ lui $t7, 0xb400 -/* 0E3054 7F0AE524 AD2F0000 */ sw $t7, ($t1) -/* 0E3058 7F0AE528 8CF80008 */ lw $t8, 8($a3) -/* 0E305C 7F0AE52C 3C0F0400 */ lui $t7, (0x0400FC00 >> 16) # lui $t7, 0x400 -/* 0E3060 7F0AE530 252A0008 */ addiu $t2, $t1, 8 -/* 0E3064 7F0AE534 270CFFFF */ addiu $t4, $t8, -1 -/* 0E3068 7F0AE538 000CC940 */ sll $t9, $t4, 5 -/* 0E306C 7F0AE53C 332EFFFF */ andi $t6, $t9, 0xffff -/* 0E3070 7F0AE540 AD2E0004 */ sw $t6, 4($t1) -/* 0E3074 7F0AE544 35EFFC00 */ ori $t7, (0x0400FC00 & 0xFFFF) # ori $t7, $t7, 0xfc00 -/* 0E3078 7F0AE548 3C0DB300 */ lui $t5, 0xb300 -/* 0E307C 7F0AE54C AD4D0000 */ sw $t5, ($t2) -/* 0E3080 7F0AE550 AD4F0004 */ sw $t7, 4($t2) -/* 0E3084 7F0AE554 03E00008 */ jr $ra -/* 0E3088 7F0AE558 25420008 */ addiu $v0, $t2, 8 - -.L7F0AE55C: -/* 0E308C 7F0AE55C 000CCB00 */ sll $t9, $t4, 0xc -/* 0E3090 7F0AE560 3C01E400 */ lui $at, 0xe400 -/* 0E3094 7F0AE564 000B6880 */ sll $t5, $t3, 2 -/* 0E3098 7F0AE568 31AF0FFF */ andi $t7, $t5, 0xfff -/* 0E309C 7F0AE56C 03217025 */ or $t6, $t9, $at -/* 0E30A0 7F0AE570 01CFC025 */ or $t8, $t6, $t7 -/* 0E30A4 7F0AE574 AC980000 */ sw $t8, ($a0) -/* 0E30A8 7F0AE578 8CEE0004 */ lw $t6, 4($a3) -/* 0E30AC 7F0AE57C 00056080 */ sll $t4, $a1, 2 -/* 0E30B0 7F0AE580 31990FFF */ andi $t9, $t4, 0xfff -/* 0E30B4 7F0AE584 00CE7821 */ addu $t7, $a2, $t6 -/* 0E30B8 7F0AE588 000FC080 */ sll $t8, $t7, 2 -/* 0E30BC 7F0AE58C 330C0FFF */ andi $t4, $t8, 0xfff -/* 0E30C0 7F0AE590 00196B00 */ sll $t5, $t9, 0xc -/* 0E30C4 7F0AE594 01ACC825 */ or $t9, $t5, $t4 -/* 0E30C8 7F0AE598 AC990004 */ sw $t9, 4($a0) -/* 0E30CC 7F0AE59C 3C180400 */ lui $t8, (0x04000400 >> 16) # lui $t8, 0x400 -/* 0E30D0 7F0AE5A0 3C0EB400 */ lui $t6, 0xb400 -/* 0E30D4 7F0AE5A4 25090008 */ addiu $t1, $t0, 8 -/* 0E30D8 7F0AE5A8 AD0E0000 */ sw $t6, ($t0) -/* 0E30DC 7F0AE5AC 37180400 */ ori $t8, (0x04000400 & 0xFFFF) # ori $t8, $t8, 0x400 -/* 0E30E0 7F0AE5B0 AD000004 */ sw $zero, 4($t0) -/* 0E30E4 7F0AE5B4 3C0FB300 */ lui $t7, 0xb300 -/* 0E30E8 7F0AE5B8 AD2F0000 */ sw $t7, ($t1) -/* 0E30EC 7F0AE5BC AD380004 */ sw $t8, 4($t1) -/* 0E30F0 7F0AE5C0 03E00008 */ jr $ra -/* 0E30F4 7F0AE5C4 25220008 */ addiu $v0, $t1, 8 - -/* 0E30F8 7F0AE5C8 0148082A */ slt $at, $t2, $t0 -.L7F0AE5CC: -/* 0E30FC 7F0AE5CC 14200045 */ bnez $at, .L7F0AE6E4 -/* 0E3100 7F0AE5D0 24880008 */ addiu $t0, $a0, 8 -/* 0E3104 7F0AE5D4 00026880 */ sll $t5, $v0, 2 -/* 0E3108 7F0AE5D8 31AC0FFF */ andi $t4, $t5, 0xfff -/* 0E310C 7F0AE5DC 000CCB00 */ sll $t9, $t4, 0xc -/* 0E3110 7F0AE5E0 3C01E400 */ lui $at, 0xe400 -/* 0E3114 7F0AE5E4 000A7880 */ sll $t7, $t2, 2 -/* 0E3118 7F0AE5E8 31F80FFF */ andi $t8, $t7, 0xfff -/* 0E311C 7F0AE5EC 03217025 */ or $t6, $t9, $at -/* 0E3120 7F0AE5F0 01D86825 */ or $t5, $t6, $t8 -/* 0E3124 7F0AE5F4 AC8D0000 */ sw $t5, ($a0) -/* 0E3128 7F0AE5F8 8CEE0004 */ lw $t6, 4($a3) -/* 0E312C 7F0AE5FC 00056080 */ sll $t4, $a1, 2 -/* 0E3130 7F0AE600 31990FFF */ andi $t9, $t4, 0xfff -/* 0E3134 7F0AE604 00CEC021 */ addu $t8, $a2, $t6 -/* 0E3138 7F0AE608 00186880 */ sll $t5, $t8, 2 -/* 0E313C 7F0AE60C 31AC0FFF */ andi $t4, $t5, 0xfff -/* 0E3140 7F0AE610 00197B00 */ sll $t7, $t9, 0xc -/* 0E3144 7F0AE614 01ECC825 */ or $t9, $t7, $t4 -/* 0E3148 7F0AE618 AC990004 */ sw $t9, 4($a0) -/* 0E314C 7F0AE61C 3C0D0400 */ lui $t5, (0x04000400 >> 16) # lui $t5, 0x400 -/* 0E3150 7F0AE620 3C0EB400 */ lui $t6, 0xb400 -/* 0E3154 7F0AE624 25090008 */ addiu $t1, $t0, 8 -/* 0E3158 7F0AE628 AD0E0000 */ sw $t6, ($t0) -/* 0E315C 7F0AE62C 35AD0400 */ ori $t5, (0x04000400 & 0xFFFF) # ori $t5, $t5, 0x400 -/* 0E3160 7F0AE630 AD000004 */ sw $zero, 4($t0) -/* 0E3164 7F0AE634 3C18B300 */ lui $t8, 0xb300 -/* 0E3168 7F0AE638 AD380000 */ sw $t8, ($t1) -/* 0E316C 7F0AE63C AD2D0004 */ sw $t5, 4($t1) -/* 0E3170 7F0AE640 03E00008 */ jr $ra -/* 0E3174 7F0AE644 25220008 */ addiu $v0, $t1, 8 - -/* 0E3178 7F0AE648 8CEF0008 */ lw $t7, 8($a3) -.L7F0AE64C: -/* 0E317C 7F0AE64C 00026080 */ sll $t4, $v0, 2 -/* 0E3180 7F0AE650 31990FFF */ andi $t9, $t4, 0xfff -/* 0E3184 7F0AE654 010F5821 */ addu $t3, $t0, $t7 -/* 0E3188 7F0AE658 0169082A */ slt $at, $t3, $t1 -/* 0E318C 7F0AE65C 14200021 */ bnez $at, .L7F0AE6E4 -/* 0E3190 7F0AE660 00801825 */ move $v1, $a0 -/* 0E3194 7F0AE664 00197300 */ sll $t6, $t9, 0xc -/* 0E3198 7F0AE668 3C01E400 */ lui $at, 0xe400 -/* 0E319C 7F0AE66C 000B6880 */ sll $t5, $t3, 2 -/* 0E31A0 7F0AE670 31AF0FFF */ andi $t7, $t5, 0xfff -/* 0E31A4 7F0AE674 01C1C025 */ or $t8, $t6, $at -/* 0E31A8 7F0AE678 030F6025 */ or $t4, $t8, $t7 -/* 0E31AC 7F0AE67C 0005C880 */ sll $t9, $a1, 2 -/* 0E31B0 7F0AE680 332E0FFF */ andi $t6, $t9, 0xfff -/* 0E31B4 7F0AE684 0009C080 */ sll $t8, $t1, 2 -/* 0E31B8 7F0AE688 330F0FFF */ andi $t7, $t8, 0xfff -/* 0E31BC 7F0AE68C 000E6B00 */ sll $t5, $t6, 0xc -/* 0E31C0 7F0AE690 AC6C0000 */ sw $t4, ($v1) -/* 0E31C4 7F0AE694 01AF6025 */ or $t4, $t5, $t7 -/* 0E31C8 7F0AE698 24840008 */ addiu $a0, $a0, 8 -/* 0E31CC 7F0AE69C 00804025 */ move $t0, $a0 -/* 0E31D0 7F0AE6A0 AC6C0004 */ sw $t4, 4($v1) -/* 0E31D4 7F0AE6A4 3C19B400 */ lui $t9, 0xb400 -/* 0E31D8 7F0AE6A8 AD190000 */ sw $t9, ($t0) -/* 0E31DC 7F0AE6AC 8CEE0004 */ lw $t6, 4($a3) -/* 0E31E0 7F0AE6B0 24840008 */ addiu $a0, $a0, 8 -/* 0E31E4 7F0AE6B4 00805025 */ move $t2, $a0 -/* 0E31E8 7F0AE6B8 012EC023 */ subu $t8, $t1, $t6 -/* 0E31EC 7F0AE6BC 03066823 */ subu $t5, $t8, $a2 -/* 0E31F0 7F0AE6C0 000D7940 */ sll $t7, $t5, 5 -/* 0E31F4 7F0AE6C4 31ECFFFF */ andi $t4, $t7, 0xffff -/* 0E31F8 7F0AE6C8 AD0C0004 */ sw $t4, 4($t0) -/* 0E31FC 7F0AE6CC 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400 -/* 0E3200 7F0AE6D0 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400 -/* 0E3204 7F0AE6D4 3C19B300 */ lui $t9, 0xb300 -/* 0E3208 7F0AE6D8 AD590000 */ sw $t9, ($t2) -/* 0E320C 7F0AE6DC AD4E0004 */ sw $t6, 4($t2) -/* 0E3210 7F0AE6E0 24840008 */ addiu $a0, $a0, 8 -.L7F0AE6E4: -/* 0E3214 7F0AE6E4 03E00008 */ jr $ra -/* 0E3218 7F0AE6E8 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -void jp_text_write_stuff(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel jp_text_write_stuff -/* 0E321C 7F0AE6EC 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 0E3220 7F0AE6F0 240E0001 */ li $t6, 1 -/* 0E3224 7F0AE6F4 3C018004 */ lui $at, %hi(D_80040EA8) -/* 0E3228 7F0AE6F8 8FB800C4 */ lw $t8, 0xc4($sp) -/* 0E322C 7F0AE6FC AFBF0064 */ sw $ra, 0x64($sp) -/* 0E3230 7F0AE700 AFBE0060 */ sw $fp, 0x60($sp) -/* 0E3234 7F0AE704 AFB7005C */ sw $s7, 0x5c($sp) -/* 0E3238 7F0AE708 AFB60058 */ sw $s6, 0x58($sp) -/* 0E323C 7F0AE70C AFB50054 */ sw $s5, 0x54($sp) -/* 0E3240 7F0AE710 AFB40050 */ sw $s4, 0x50($sp) -/* 0E3244 7F0AE714 AFB3004C */ sw $s3, 0x4c($sp) -/* 0E3248 7F0AE718 AFB20048 */ sw $s2, 0x48($sp) -/* 0E324C 7F0AE71C AFB10044 */ sw $s1, 0x44($sp) -/* 0E3250 7F0AE720 AFB00040 */ sw $s0, 0x40($sp) -/* 0E3254 7F0AE724 AC2E0EA8 */ sw $t6, %lo(D_80040EA8)($at) -/* 0E3258 7F0AE728 8CCF0000 */ lw $t7, ($a2) -/* 0E325C 7F0AE72C 8CB60000 */ lw $s6, ($a1) -/* 0E3260 7F0AE730 00E08025 */ move $s0, $a3 -/* 0E3264 7F0AE734 00A08825 */ move $s1, $a1 -/* 0E3268 7F0AE738 00C09825 */ move $s3, $a2 -/* 0E326C 7F0AE73C 0080A825 */ move $s5, $a0 -/* 0E3270 7F0AE740 24140048 */ li $s4, 72 -/* 0E3274 7F0AE744 17000006 */ bnez $t8, .L7F0AE760 -/* 0E3278 7F0AE748 AFAF0090 */ sw $t7, 0x90($sp) -/* 0E327C 7F0AE74C 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0E3280 7F0AE750 8F28088C */ lw $t0, 0x88c($t9) -/* 0E3284 7F0AE754 8F290890 */ lw $t1, 0x890($t9) -/* 0E3288 7F0AE758 01095021 */ addu $t2, $t0, $t1 -/* 0E328C 7F0AE75C AFAA00C4 */ sw $t2, 0xc4($sp) -.L7F0AE760: -/* 0E3290 7F0AE760 3C0B8005 */ lui $t3, %hi(j_text_trigger) -/* 0E3294 7F0AE764 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3) -/* 0E3298 7F0AE768 8FAC00C4 */ lw $t4, 0xc4($sp) -/* 0E329C 7F0AE76C 27B20074 */ addiu $s2, $sp, 0x74 -/* 0E32A0 7F0AE770 11600004 */ beqz $t3, .L7F0AE784 -/* 0E32A4 7F0AE774 2981000E */ slti $at, $t4, 0xe -/* 0E32A8 7F0AE778 10200002 */ beqz $at, .L7F0AE784 -/* 0E32AC 7F0AE77C 240D000E */ li $t5, 14 -/* 0E32B0 7F0AE780 AFAD00C4 */ sw $t5, 0xc4($sp) -.L7F0AE784: -/* 0E32B4 7F0AE784 92020000 */ lbu $v0, ($s0) -/* 0E32B8 7F0AE788 8FBE00B0 */ lw $fp, 0xb0($sp) -/* 0E32BC 7F0AE78C 8FB700AC */ lw $s7, 0xac($sp) -/* 0E32C0 7F0AE790 10400071 */ beqz $v0, .L7F0AE958 -/* 0E32C4 7F0AE794 24010020 */ li $at, 32 -.L7F0AE798: -/* 0E32C8 7F0AE798 54410008 */ bnel $v0, $at, .L7F0AE7BC -/* 0E32CC 7F0AE79C 2401000A */ li $at, 10 -/* 0E32D0 7F0AE7A0 8E2E0000 */ lw $t6, ($s1) -/* 0E32D4 7F0AE7A4 24140048 */ li $s4, 72 -/* 0E32D8 7F0AE7A8 26100001 */ addiu $s0, $s0, 1 -/* 0E32DC 7F0AE7AC 25CF0005 */ addiu $t7, $t6, 5 -/* 0E32E0 7F0AE7B0 10000066 */ b .L7F0AE94C -/* 0E32E4 7F0AE7B4 AE2F0000 */ sw $t7, ($s1) -/* 0E32E8 7F0AE7B8 2401000A */ li $at, 10 -.L7F0AE7BC: -/* 0E32EC 7F0AE7BC 5441000A */ bnel $v0, $at, .L7F0AE7E8 -/* 0E32F0 7F0AE7C0 28410080 */ slti $at, $v0, 0x80 -/* 0E32F4 7F0AE7C4 AE360000 */ sw $s6, ($s1) -/* 0E32F8 7F0AE7C8 8E780000 */ lw $t8, ($s3) -/* 0E32FC 7F0AE7CC 8FB900C4 */ lw $t9, 0xc4($sp) -/* 0E3300 7F0AE7D0 24140048 */ li $s4, 72 -/* 0E3304 7F0AE7D4 26100001 */ addiu $s0, $s0, 1 -/* 0E3308 7F0AE7D8 03194021 */ addu $t0, $t8, $t9 -/* 0E330C 7F0AE7DC 1000005B */ b .L7F0AE94C -/* 0E3310 7F0AE7E0 AE680000 */ sw $t0, ($s3) -/* 0E3314 7F0AE7E4 28410080 */ slti $at, $v0, 0x80 -.L7F0AE7E8: -/* 0E3318 7F0AE7E8 10200021 */ beqz $at, .L7F0AE870 -/* 0E331C 7F0AE7EC 3C0E8004 */ lui $t6, %hi(D_80040F14) -/* 0E3320 7F0AE7F0 24030018 */ li $v1, 24 -/* 0E3324 7F0AE7F4 00430019 */ multu $v0, $v1 -/* 0E3328 7F0AE7F8 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 0E332C 7F0AE7FC 8FAE0090 */ lw $t6, 0x90($sp) -/* 0E3330 7F0AE800 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 0E3334 7F0AE804 8FB800B8 */ lw $t8, 0xb8($sp) -/* 0E3338 7F0AE808 8FB900BC */ lw $t9, 0xbc($sp) -/* 0E333C 7F0AE80C 8FA800C0 */ lw $t0, 0xc0($sp) -/* 0E3340 7F0AE810 02A02025 */ move $a0, $s5 -/* 0E3344 7F0AE814 02202825 */ move $a1, $s1 -/* 0E3348 7F0AE818 02603025 */ move $a2, $s3 -/* 0E334C 7F0AE81C 00004812 */ mflo $t1 -/* 0E3350 7F0AE820 012A3821 */ addu $a3, $t1, $t2 -/* 0E3354 7F0AE824 24E7FCE8 */ addiu $a3, $a3, -0x318 -/* 0E3358 7F0AE828 02830019 */ multu $s4, $v1 -/* 0E335C 7F0AE82C AFB70014 */ sw $s7, 0x14($sp) -/* 0E3360 7F0AE830 AFB60018 */ sw $s6, 0x18($sp) -/* 0E3364 7F0AE834 AFBE0020 */ sw $fp, 0x20($sp) -/* 0E3368 7F0AE838 AFAE001C */ sw $t6, 0x1c($sp) -/* 0E336C 7F0AE83C AFAF0024 */ sw $t7, 0x24($sp) -/* 0E3370 7F0AE840 AFB80028 */ sw $t8, 0x28($sp) -/* 0E3374 7F0AE844 AFB9002C */ sw $t9, 0x2c($sp) -/* 0E3378 7F0AE848 AFA80030 */ sw $t0, 0x30($sp) -/* 0E337C 7F0AE84C 00005812 */ mflo $t3 -/* 0E3380 7F0AE850 016A6021 */ addu $t4, $t3, $t2 -/* 0E3384 7F0AE854 258DFCE8 */ addiu $t5, $t4, -0x318 -/* 0E3388 7F0AE858 0FC2B76B */ jal sub_GAME_7F0ADDAC -/* 0E338C 7F0AE85C AFAD0010 */ sw $t5, 0x10($sp) -/* 0E3390 7F0AE860 0040A825 */ move $s5, $v0 -/* 0E3394 7F0AE864 92140000 */ lbu $s4, ($s0) -/* 0E3398 7F0AE868 10000038 */ b .L7F0AE94C -/* 0E339C 7F0AE86C 26100001 */ addiu $s0, $s0, 1 -.L7F0AE870: -/* 0E33A0 7F0AE870 25CE0F14 */ addiu $t6, $t6, %lo(D_80040F14) -/* 0E33A4 7F0AE874 8DC10000 */ lw $at, ($t6) -/* 0E33A8 7F0AE878 92090001 */ lbu $t1, 1($s0) -/* 0E33AC 7F0AE87C 304A007F */ andi $t2, $v0, 0x7f -/* 0E33B0 7F0AE880 AE410000 */ sw $at, ($s2) -/* 0E33B4 7F0AE884 8DD80004 */ lw $t8, 4($t6) -/* 0E33B8 7F0AE888 000A61C0 */ sll $t4, $t2, 7 -/* 0E33BC 7F0AE88C 312B007F */ andi $t3, $t1, 0x7f -/* 0E33C0 7F0AE890 AE580004 */ sw $t8, 4($s2) -/* 0E33C4 7F0AE894 8DC10008 */ lw $at, 8($t6) -/* 0E33C8 7F0AE898 016C1825 */ or $v1, $t3, $t4 -/* 0E33CC 7F0AE89C 3064FFFF */ andi $a0, $v1, 0xffff -/* 0E33D0 7F0AE8A0 AE410008 */ sw $at, 8($s2) -/* 0E33D4 7F0AE8A4 8DD8000C */ lw $t8, 0xc($t6) -/* 0E33D8 7F0AE8A8 30992000 */ andi $t9, $a0, 0x2000 -/* 0E33DC 7F0AE8AC 308A1FFF */ andi $t2, $a0, 0x1fff -/* 0E33E0 7F0AE8B0 AE58000C */ sw $t8, 0xc($s2) -/* 0E33E4 7F0AE8B4 8DC10010 */ lw $at, 0x10($t6) -/* 0E33E8 7F0AE8B8 2408000F */ li $t0, 15 -/* 0E33EC 7F0AE8BC 24090010 */ li $t1, 16 -/* 0E33F0 7F0AE8C0 AE410010 */ sw $at, 0x10($s2) -/* 0E33F4 7F0AE8C4 8DD80014 */ lw $t8, 0x14($t6) -/* 0E33F8 7F0AE8C8 294103C7 */ slti $at, $t2, 0x3c7 -/* 0E33FC 7F0AE8CC 13200003 */ beqz $t9, .L7F0AE8DC -/* 0E3400 7F0AE8D0 AE580014 */ sw $t8, 0x14($s2) -/* 0E3404 7F0AE8D4 AFA80080 */ sw $t0, 0x80($sp) -/* 0E3408 7F0AE8D8 AFA9007C */ sw $t1, 0x7c($sp) -.L7F0AE8DC: -/* 0E340C 7F0AE8DC 54200003 */ bnezl $at, .L7F0AE8EC -/* 0E3410 7F0AE8E0 248B0080 */ addiu $t3, $a0, 0x80 -/* 0E3414 7F0AE8E4 24040002 */ li $a0, 2 -/* 0E3418 7F0AE8E8 248B0080 */ addiu $t3, $a0, 0x80 -.L7F0AE8EC: -/* 0E341C 7F0AE8EC 0FC3068C */ jal something_with_LnameX -/* 0E3420 7F0AE8F0 AFAB0074 */ sw $t3, 0x74($sp) -/* 0E3424 7F0AE8F4 8FAC0090 */ lw $t4, 0x90($sp) -/* 0E3428 7F0AE8F8 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 0E342C 7F0AE8FC 8FAF00B8 */ lw $t7, 0xb8($sp) -/* 0E3430 7F0AE900 8FAE00BC */ lw $t6, 0xbc($sp) -/* 0E3434 7F0AE904 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0E3438 7F0AE908 AFA20088 */ sw $v0, 0x88($sp) -/* 0E343C 7F0AE90C 02A02025 */ move $a0, $s5 -/* 0E3440 7F0AE910 02202825 */ move $a1, $s1 -/* 0E3444 7F0AE914 02603025 */ move $a2, $s3 -/* 0E3448 7F0AE918 02403825 */ move $a3, $s2 -/* 0E344C 7F0AE91C AFB20010 */ sw $s2, 0x10($sp) -/* 0E3450 7F0AE920 AFB70014 */ sw $s7, 0x14($sp) -/* 0E3454 7F0AE924 AFB60018 */ sw $s6, 0x18($sp) -/* 0E3458 7F0AE928 AFBE0020 */ sw $fp, 0x20($sp) -/* 0E345C 7F0AE92C AFAC001C */ sw $t4, 0x1c($sp) -/* 0E3460 7F0AE930 AFAD0024 */ sw $t5, 0x24($sp) -/* 0E3464 7F0AE934 AFAF0028 */ sw $t7, 0x28($sp) -/* 0E3468 7F0AE938 AFAE002C */ sw $t6, 0x2c($sp) -/* 0E346C 7F0AE93C 0FC2B76B */ jal sub_GAME_7F0ADDAC -/* 0E3470 7F0AE940 AFB80030 */ sw $t8, 0x30($sp) -/* 0E3474 7F0AE944 0040A825 */ move $s5, $v0 -/* 0E3478 7F0AE948 26100002 */ addiu $s0, $s0, 2 -.L7F0AE94C: -/* 0E347C 7F0AE94C 92020000 */ lbu $v0, ($s0) -/* 0E3480 7F0AE950 5440FF91 */ bnezl $v0, .L7F0AE798 -/* 0E3484 7F0AE954 24010020 */ li $at, 32 -.L7F0AE958: -/* 0E3488 7F0AE958 8FBF0064 */ lw $ra, 0x64($sp) -/* 0E348C 7F0AE95C 02A01025 */ move $v0, $s5 -/* 0E3490 7F0AE960 8FB50054 */ lw $s5, 0x54($sp) -/* 0E3494 7F0AE964 8FB00040 */ lw $s0, 0x40($sp) -/* 0E3498 7F0AE968 8FB10044 */ lw $s1, 0x44($sp) -/* 0E349C 7F0AE96C 8FB20048 */ lw $s2, 0x48($sp) -/* 0E34A0 7F0AE970 8FB3004C */ lw $s3, 0x4c($sp) -/* 0E34A4 7F0AE974 8FB40050 */ lw $s4, 0x50($sp) -/* 0E34A8 7F0AE978 8FB60058 */ lw $s6, 0x58($sp) -/* 0E34AC 7F0AE97C 8FB7005C */ lw $s7, 0x5c($sp) -/* 0E34B0 7F0AE980 8FBE0060 */ lw $fp, 0x60($sp) -/* 0E34B4 7F0AE984 03E00008 */ jr $ra -/* 0E34B8 7F0AE988 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel jp_text_write_stuff -/* 0E321C 7F0AE6EC 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 0E3220 7F0AE6F0 240E0001 */ li $t6, 1 -/* 0E3224 7F0AE6F4 3C018004 */ lui $at, %hi(D_80040EA8) -/* 0E3228 7F0AE6F8 8FB800C4 */ lw $t8, 0xc4($sp) -/* 0E322C 7F0AE6FC AFBF0064 */ sw $ra, 0x64($sp) -/* 0E3230 7F0AE700 AFBE0060 */ sw $fp, 0x60($sp) -/* 0E3234 7F0AE704 AFB7005C */ sw $s7, 0x5c($sp) -/* 0E3238 7F0AE708 AFB60058 */ sw $s6, 0x58($sp) -/* 0E323C 7F0AE70C AFB50054 */ sw $s5, 0x54($sp) -/* 0E3240 7F0AE710 AFB40050 */ sw $s4, 0x50($sp) -/* 0E3244 7F0AE714 AFB3004C */ sw $s3, 0x4c($sp) -/* 0E3248 7F0AE718 AFB20048 */ sw $s2, 0x48($sp) -/* 0E324C 7F0AE71C AFB10044 */ sw $s1, 0x44($sp) -/* 0E3250 7F0AE720 AFB00040 */ sw $s0, 0x40($sp) -/* 0E3254 7F0AE724 AC2E0EA8 */ sw $t6, %lo(D_80040EA8)($at) -/* 0E3258 7F0AE728 8CCF0000 */ lw $t7, ($a2) -/* 0E325C 7F0AE72C 8CB60000 */ lw $s6, ($a1) -/* 0E3260 7F0AE730 00E08025 */ move $s0, $a3 -/* 0E3264 7F0AE734 00A08825 */ move $s1, $a1 -/* 0E3268 7F0AE738 00C09825 */ move $s3, $a2 -/* 0E326C 7F0AE73C 0080A825 */ move $s5, $a0 -/* 0E3270 7F0AE740 24140048 */ li $s4, 72 -/* 0E3274 7F0AE744 17000006 */ bnez $t8, .L7F0AE760 -/* 0E3278 7F0AE748 AFAF0090 */ sw $t7, 0x90($sp) -/* 0E327C 7F0AE74C 8FB900A8 */ lw $t9, 0xa8($sp) -/* 0E3280 7F0AE750 8F28088C */ lw $t0, 0x88c($t9) -/* 0E3284 7F0AE754 8F290890 */ lw $t1, 0x890($t9) -/* 0E3288 7F0AE758 01095021 */ addu $t2, $t0, $t1 -/* 0E328C 7F0AE75C AFAA00C4 */ sw $t2, 0xc4($sp) -.L7F0AE760: -/* 0E3290 7F0AE760 3C0B8005 */ lui $t3, %hi(j_text_trigger) -/* 0E3294 7F0AE764 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3) -/* 0E3298 7F0AE768 8FAC00C4 */ lw $t4, 0xc4($sp) -/* 0E329C 7F0AE76C 27B20074 */ addiu $s2, $sp, 0x74 -/* 0E32A0 7F0AE770 11600004 */ beqz $t3, .L7F0AE784 -/* 0E32A4 7F0AE774 2981000E */ slti $at, $t4, 0xe -/* 0E32A8 7F0AE778 10200002 */ beqz $at, .L7F0AE784 -/* 0E32AC 7F0AE77C 240D000E */ li $t5, 14 -/* 0E32B0 7F0AE780 AFAD00C4 */ sw $t5, 0xc4($sp) -.L7F0AE784: -/* 0E32B4 7F0AE784 92020000 */ lbu $v0, ($s0) -/* 0E32B8 7F0AE788 8FBE00B0 */ lw $fp, 0xb0($sp) -/* 0E32BC 7F0AE78C 8FB700AC */ lw $s7, 0xac($sp) -/* 0E32C0 7F0AE790 10400071 */ beqz $v0, .L7F0AE958 -/* 0E32C4 7F0AE794 24010020 */ li $at, 32 -.L7F0AE798: -/* 0E32C8 7F0AE798 54410008 */ bnel $v0, $at, .L7F0AE7BC -/* 0E32CC 7F0AE79C 2401000A */ li $at, 10 -/* 0E32D0 7F0AE7A0 8E2E0000 */ lw $t6, ($s1) -/* 0E32D4 7F0AE7A4 24140048 */ li $s4, 72 -/* 0E32D8 7F0AE7A8 26100001 */ addiu $s0, $s0, 1 -/* 0E32DC 7F0AE7AC 25CF0005 */ addiu $t7, $t6, 5 -/* 0E32E0 7F0AE7B0 10000066 */ b .L7F0AE94C -/* 0E32E4 7F0AE7B4 AE2F0000 */ sw $t7, ($s1) -/* 0E32E8 7F0AE7B8 2401000A */ li $at, 10 -.L7F0AE7BC: -/* 0E32EC 7F0AE7BC 5441000A */ bnel $v0, $at, .L7F0AE7E8 -/* 0E32F0 7F0AE7C0 28410080 */ slti $at, $v0, 0x80 -/* 0E32F4 7F0AE7C4 AE360000 */ sw $s6, ($s1) -/* 0E32F8 7F0AE7C8 8E780000 */ lw $t8, ($s3) -/* 0E32FC 7F0AE7CC 8FB900C4 */ lw $t9, 0xc4($sp) -/* 0E3300 7F0AE7D0 24140048 */ li $s4, 72 -/* 0E3304 7F0AE7D4 26100001 */ addiu $s0, $s0, 1 -/* 0E3308 7F0AE7D8 03194021 */ addu $t0, $t8, $t9 -/* 0E330C 7F0AE7DC 1000005B */ b .L7F0AE94C -/* 0E3310 7F0AE7E0 AE680000 */ sw $t0, ($s3) -/* 0E3314 7F0AE7E4 28410080 */ slti $at, $v0, 0x80 -.L7F0AE7E8: -/* 0E3318 7F0AE7E8 10200021 */ beqz $at, .L7F0AE870 -/* 0E331C 7F0AE7EC 3C0E8004 */ lui $t6, %hi(D_80040F14) -/* 0E3320 7F0AE7F0 24030018 */ li $v1, 24 -/* 0E3324 7F0AE7F4 00430019 */ multu $v0, $v1 -/* 0E3328 7F0AE7F8 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 0E332C 7F0AE7FC 8FAE0090 */ lw $t6, 0x90($sp) -/* 0E3330 7F0AE800 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 0E3334 7F0AE804 8FB800B8 */ lw $t8, 0xb8($sp) -/* 0E3338 7F0AE808 8FB900BC */ lw $t9, 0xbc($sp) -/* 0E333C 7F0AE80C 8FA800C0 */ lw $t0, 0xc0($sp) -/* 0E3340 7F0AE810 02A02025 */ move $a0, $s5 -/* 0E3344 7F0AE814 02202825 */ move $a1, $s1 -/* 0E3348 7F0AE818 02603025 */ move $a2, $s3 -/* 0E334C 7F0AE81C 00004812 */ mflo $t1 -/* 0E3350 7F0AE820 012A3821 */ addu $a3, $t1, $t2 -/* 0E3354 7F0AE824 24E7FCE8 */ addiu $a3, $a3, -0x318 -/* 0E3358 7F0AE828 02830019 */ multu $s4, $v1 -/* 0E335C 7F0AE82C AFB70014 */ sw $s7, 0x14($sp) -/* 0E3360 7F0AE830 AFB60018 */ sw $s6, 0x18($sp) -/* 0E3364 7F0AE834 AFBE0020 */ sw $fp, 0x20($sp) -/* 0E3368 7F0AE838 AFAE001C */ sw $t6, 0x1c($sp) -/* 0E336C 7F0AE83C AFAF0024 */ sw $t7, 0x24($sp) -/* 0E3370 7F0AE840 AFB80028 */ sw $t8, 0x28($sp) -/* 0E3374 7F0AE844 AFB9002C */ sw $t9, 0x2c($sp) -/* 0E3378 7F0AE848 AFA80030 */ sw $t0, 0x30($sp) -/* 0E337C 7F0AE84C 00005812 */ mflo $t3 -/* 0E3380 7F0AE850 016A6021 */ addu $t4, $t3, $t2 -/* 0E3384 7F0AE854 258DFCE8 */ addiu $t5, $t4, -0x318 -/* 0E3388 7F0AE858 0FC2B76B */ jal sub_GAME_7F0ADDAC -/* 0E338C 7F0AE85C AFAD0010 */ sw $t5, 0x10($sp) -/* 0E3390 7F0AE860 0040A825 */ move $s5, $v0 -/* 0E3394 7F0AE864 92140000 */ lbu $s4, ($s0) -/* 0E3398 7F0AE868 10000038 */ b .L7F0AE94C -/* 0E339C 7F0AE86C 26100001 */ addiu $s0, $s0, 1 -.L7F0AE870: -/* 0E33A0 7F0AE870 25CE0F14 */ addiu $t6, $t6, %lo(D_80040F14) -/* 0E33A4 7F0AE874 8DC10000 */ lw $at, ($t6) -/* 0E33A8 7F0AE878 92090001 */ lbu $t1, 1($s0) -/* 0E33AC 7F0AE87C 304A007F */ andi $t2, $v0, 0x7f -/* 0E33B0 7F0AE880 AE410000 */ sw $at, ($s2) -/* 0E33B4 7F0AE884 8DD80004 */ lw $t8, 4($t6) -/* 0E33B8 7F0AE888 000A61C0 */ sll $t4, $t2, 7 -/* 0E33BC 7F0AE88C 312B007F */ andi $t3, $t1, 0x7f -/* 0E33C0 7F0AE890 AE580004 */ sw $t8, 4($s2) -/* 0E33C4 7F0AE894 8DC10008 */ lw $at, 8($t6) -/* 0E33C8 7F0AE898 016C1825 */ or $v1, $t3, $t4 -/* 0E33CC 7F0AE89C 3064FFFF */ andi $a0, $v1, 0xffff -/* 0E33D0 7F0AE8A0 AE410008 */ sw $at, 8($s2) -/* 0E33D4 7F0AE8A4 8DD8000C */ lw $t8, 0xc($t6) -/* 0E33D8 7F0AE8A8 30992000 */ andi $t9, $a0, 0x2000 -/* 0E33DC 7F0AE8AC 308A1FFF */ andi $t2, $a0, 0x1fff -/* 0E33E0 7F0AE8B0 AE58000C */ sw $t8, 0xc($s2) -/* 0E33E4 7F0AE8B4 8DC10010 */ lw $at, 0x10($t6) -/* 0E33E8 7F0AE8B8 2408000F */ li $t0, 15 -/* 0E33EC 7F0AE8BC 24090010 */ li $t1, 16 -/* 0E33F0 7F0AE8C0 AE410010 */ sw $at, 0x10($s2) -/* 0E33F4 7F0AE8C4 8DD80014 */ lw $t8, 0x14($t6) -/* 0E33F8 7F0AE8C8 294103C7 */ slti $at, $t2, 0x3c8 -/* 0E33FC 7F0AE8CC 13200003 */ beqz $t9, .L7F0AE8DC -/* 0E3400 7F0AE8D0 AE580014 */ sw $t8, 0x14($s2) -/* 0E3404 7F0AE8D4 AFA80080 */ sw $t0, 0x80($sp) -/* 0E3408 7F0AE8D8 AFA9007C */ sw $t1, 0x7c($sp) -.L7F0AE8DC: -/* 0E340C 7F0AE8DC 54200003 */ bnezl $at, .L7F0AE8EC -/* 0E3410 7F0AE8E0 248B0080 */ addiu $t3, $a0, 0x80 -/* 0E3414 7F0AE8E4 24040002 */ li $a0, 2 -/* 0E3418 7F0AE8E8 248B0080 */ addiu $t3, $a0, 0x80 -.L7F0AE8EC: -/* 0E341C 7F0AE8EC 0FC3068C */ jal something_with_LnameX -/* 0E3420 7F0AE8F0 AFAB0074 */ sw $t3, 0x74($sp) -/* 0E3424 7F0AE8F4 8FAC0090 */ lw $t4, 0x90($sp) -/* 0E3428 7F0AE8F8 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 0E342C 7F0AE8FC 8FAF00B8 */ lw $t7, 0xb8($sp) -/* 0E3430 7F0AE900 8FAE00BC */ lw $t6, 0xbc($sp) -/* 0E3434 7F0AE904 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0E3438 7F0AE908 AFA20088 */ sw $v0, 0x88($sp) -/* 0E343C 7F0AE90C 02A02025 */ move $a0, $s5 -/* 0E3440 7F0AE910 02202825 */ move $a1, $s1 -/* 0E3444 7F0AE914 02603025 */ move $a2, $s3 -/* 0E3448 7F0AE918 02403825 */ move $a3, $s2 -/* 0E344C 7F0AE91C AFB20010 */ sw $s2, 0x10($sp) -/* 0E3450 7F0AE920 AFB70014 */ sw $s7, 0x14($sp) -/* 0E3454 7F0AE924 AFB60018 */ sw $s6, 0x18($sp) -/* 0E3458 7F0AE928 AFBE0020 */ sw $fp, 0x20($sp) -/* 0E345C 7F0AE92C AFAC001C */ sw $t4, 0x1c($sp) -/* 0E3460 7F0AE930 AFAD0024 */ sw $t5, 0x24($sp) -/* 0E3464 7F0AE934 AFAF0028 */ sw $t7, 0x28($sp) -/* 0E3468 7F0AE938 AFAE002C */ sw $t6, 0x2c($sp) -/* 0E346C 7F0AE93C 0FC2B76B */ jal sub_GAME_7F0ADDAC -/* 0E3470 7F0AE940 AFB80030 */ sw $t8, 0x30($sp) -/* 0E3474 7F0AE944 0040A825 */ move $s5, $v0 -/* 0E3478 7F0AE948 26100002 */ addiu $s0, $s0, 2 -.L7F0AE94C: -/* 0E347C 7F0AE94C 92020000 */ lbu $v0, ($s0) -/* 0E3480 7F0AE950 5440FF91 */ bnezl $v0, .L7F0AE798 -/* 0E3484 7F0AE954 24010020 */ li $at, 32 -.L7F0AE958: -/* 0E3488 7F0AE958 8FBF0064 */ lw $ra, 0x64($sp) -/* 0E348C 7F0AE95C 02A01025 */ move $v0, $s5 -/* 0E3490 7F0AE960 8FB50054 */ lw $s5, 0x54($sp) -/* 0E3494 7F0AE964 8FB00040 */ lw $s0, 0x40($sp) -/* 0E3498 7F0AE968 8FB10044 */ lw $s1, 0x44($sp) -/* 0E349C 7F0AE96C 8FB20048 */ lw $s2, 0x48($sp) -/* 0E34A0 7F0AE970 8FB3004C */ lw $s3, 0x4c($sp) -/* 0E34A4 7F0AE974 8FB40050 */ lw $s4, 0x50($sp) -/* 0E34A8 7F0AE978 8FB60058 */ lw $s6, 0x58($sp) -/* 0E34AC 7F0AE97C 8FB7005C */ lw $s7, 0x5c($sp) -/* 0E34B0 7F0AE980 8FBE0060 */ lw $fp, 0x60($sp) -/* 0E34B4 7F0AE984 03E00008 */ jr $ra -/* 0E34B8 7F0AE988 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AE98C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AE98C -/* 0E34BC 7F0AE98C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E34C0 7F0AE990 AFB00008 */ sw $s0, 8($sp) -/* 0E34C4 7F0AE994 8FB0002C */ lw $s0, 0x2c($sp) -/* 0E34C8 7F0AE998 AFB30014 */ sw $s3, 0x14($sp) -/* 0E34CC 7F0AE99C AFB20010 */ sw $s2, 0x10($sp) -/* 0E34D0 7F0AE9A0 AFB1000C */ sw $s1, 0xc($sp) -/* 0E34D4 7F0AE9A4 AC800000 */ sw $zero, ($a0) -/* 0E34D8 7F0AE9A8 24020048 */ li $v0, 72 -/* 0E34DC 7F0AE9AC 00004025 */ move $t0, $zero -/* 0E34E0 7F0AE9B0 16000004 */ bnez $s0, .L7F0AE9C4 -/* 0E34E4 7F0AE9B4 ACA00000 */ sw $zero, ($a1) -/* 0E34E8 7F0AE9B8 8CEE0890 */ lw $t6, 0x890($a3) -/* 0E34EC 7F0AE9BC 8CEF088C */ lw $t7, 0x88c($a3) -/* 0E34F0 7F0AE9C0 01CF8021 */ addu $s0, $t6, $t7 -.L7F0AE9C4: -/* 0E34F4 7F0AE9C4 3C188005 */ lui $t8, %hi(j_text_trigger) -/* 0E34F8 7F0AE9C8 8F1884D0 */ lw $t8, %lo(j_text_trigger)($t8) -/* 0E34FC 7F0AE9CC 3C138004 */ lui $s3, %hi(text_spacing) -/* 0E3500 7F0AE9D0 2A01000E */ slti $at, $s0, 0xe -/* 0E3504 7F0AE9D4 13000004 */ beqz $t8, .L7F0AE9E8 -/* 0E3508 7F0AE9D8 26730E84 */ addiu $s3, %lo(text_spacing) # addiu $s3, $s3, 0xe84 -/* 0E350C 7F0AE9DC 50200003 */ beql $at, $zero, .L7F0AE9EC -/* 0E3510 7F0AE9E0 90C90000 */ lbu $t1, ($a2) -/* 0E3514 7F0AE9E4 2410000E */ li $s0, 14 -.L7F0AE9E8: -/* 0E3518 7F0AE9E8 90C90000 */ lbu $t1, ($a2) -.L7F0AE9EC: -/* 0E351C 7F0AE9EC 2412000D */ li $s2, 13 -/* 0E3520 7F0AE9F0 24110018 */ li $s1, 24 -/* 0E3524 7F0AE9F4 11200050 */ beqz $t1, .L7F0AEB38 -/* 0E3528 7F0AE9F8 240D000A */ li $t5, 10 -/* 0E352C 7F0AE9FC 240C0020 */ li $t4, 32 -/* 0E3530 7F0AEA00 8FAA0028 */ lw $t2, 0x28($sp) -.L7F0AEA04: -/* 0E3534 7F0AEA04 1589000A */ bne $t4, $t1, .L7F0AEA30 -/* 0E3538 7F0AEA08 00000000 */ nop -/* 0E353C 7F0AEA0C 90D90001 */ lbu $t9, 1($a2) -/* 0E3540 7F0AEA10 24020048 */ li $v0, 72 -/* 0E3544 7F0AEA14 11B90004 */ beq $t5, $t9, .L7F0AEA28 -/* 0E3548 7F0AEA18 00000000 */ nop -/* 0E354C 7F0AEA1C 8CAE0000 */ lw $t6, ($a1) -/* 0E3550 7F0AEA20 25CF0005 */ addiu $t7, $t6, 5 -/* 0E3554 7F0AEA24 ACAF0000 */ sw $t7, ($a1) -.L7F0AEA28: -/* 0E3558 7F0AEA28 10000040 */ b .L7F0AEB2C -/* 0E355C 7F0AEA2C 24C60001 */ addiu $a2, $a2, 1 -.L7F0AEA30: -/* 0E3560 7F0AEA30 15A9000C */ bne $t5, $t1, .L7F0AEA64 -/* 0E3564 7F0AEA34 29210080 */ slti $at, $t1, 0x80 -/* 0E3568 7F0AEA38 8CA30000 */ lw $v1, ($a1) -/* 0E356C 7F0AEA3C 0103082A */ slt $at, $t0, $v1 -/* 0E3570 7F0AEA40 50200003 */ beql $at, $zero, .L7F0AEA50 -/* 0E3574 7F0AEA44 ACA00000 */ sw $zero, ($a1) -/* 0E3578 7F0AEA48 00604025 */ move $t0, $v1 -/* 0E357C 7F0AEA4C ACA00000 */ sw $zero, ($a1) -.L7F0AEA50: -/* 0E3580 7F0AEA50 8C980000 */ lw $t8, ($a0) -/* 0E3584 7F0AEA54 24C60001 */ addiu $a2, $a2, 1 -/* 0E3588 7F0AEA58 0310C821 */ addu $t9, $t8, $s0 -/* 0E358C 7F0AEA5C 10000033 */ b .L7F0AEB2C -/* 0E3590 7F0AEA60 AC990000 */ sw $t9, ($a0) -.L7F0AEA64: -/* 0E3594 7F0AEA64 5020001C */ beql $at, $zero, .L7F0AEAD8 -/* 0E3598 7F0AEA68 292100C0 */ slti $at, $t1, 0xc0 -/* 0E359C 7F0AEA6C 01310019 */ multu $t1, $s1 -/* 0E35A0 7F0AEA70 24C60001 */ addiu $a2, $a2, 1 -/* 0E35A4 7F0AEA74 00007012 */ mflo $t6 -/* 0E35A8 7F0AEA78 00EE5821 */ addu $t3, $a3, $t6 -/* 0E35AC 7F0AEA7C 8D6FFCF8 */ lw $t7, -0x308($t3) -/* 0E35B0 7F0AEA80 00510019 */ multu $v0, $s1 -/* 0E35B4 7F0AEA84 000FC080 */ sll $t8, $t7, 2 -/* 0E35B8 7F0AEA88 0158C821 */ addu $t9, $t2, $t8 -/* 0E35BC 7F0AEA8C 00007012 */ mflo $t6 -/* 0E35C0 7F0AEA90 00EE7821 */ addu $t7, $a3, $t6 -/* 0E35C4 7F0AEA94 8DF8FCF8 */ lw $t8, -0x308($t7) -/* 0E35C8 7F0AEA98 03120019 */ multu $t8, $s2 -/* 0E35CC 7F0AEA9C 00007012 */ mflo $t6 -/* 0E35D0 7F0AEAA0 000E7880 */ sll $t7, $t6, 2 -/* 0E35D4 7F0AEAA4 032FC021 */ addu $t8, $t9, $t7 -/* 0E35D8 7F0AEAA8 8F0E0000 */ lw $t6, ($t8) -/* 0E35DC 7F0AEAAC 8E790000 */ lw $t9, ($s3) -/* 0E35E0 7F0AEAB0 8D78FCF4 */ lw $t8, -0x30c($t3) -/* 0E35E4 7F0AEAB4 8CAF0000 */ lw $t7, ($a1) -/* 0E35E8 7F0AEAB8 01D91821 */ addu $v1, $t6, $t9 -/* 0E35EC 7F0AEABC 2463FFFF */ addiu $v1, $v1, -1 -/* 0E35F0 7F0AEAC0 01F87021 */ addu $t6, $t7, $t8 -/* 0E35F4 7F0AEAC4 01C3C823 */ subu $t9, $t6, $v1 -/* 0E35F8 7F0AEAC8 ACB90000 */ sw $t9, ($a1) -/* 0E35FC 7F0AEACC 10000017 */ b .L7F0AEB2C -/* 0E3600 7F0AEAD0 90C2FFFF */ lbu $v0, -1($a2) -/* 0E3604 7F0AEAD4 292100C0 */ slti $at, $t1, 0xc0 -.L7F0AEAD8: -/* 0E3608 7F0AEAD8 5020000C */ beql $at, $zero, .L7F0AEB0C -/* 0E360C 7F0AEADC 8D580000 */ lw $t8, ($t2) -/* 0E3610 7F0AEAE0 8D4F0000 */ lw $t7, ($t2) -/* 0E3614 7F0AEAE4 8E780000 */ lw $t8, ($s3) -/* 0E3618 7F0AEAE8 8CAE0000 */ lw $t6, ($a1) -/* 0E361C 7F0AEAEC 24C60002 */ addiu $a2, $a2, 2 -/* 0E3620 7F0AEAF0 01F81821 */ addu $v1, $t7, $t8 -/* 0E3624 7F0AEAF4 2463FFFF */ addiu $v1, $v1, -1 -/* 0E3628 7F0AEAF8 01C3C823 */ subu $t9, $t6, $v1 -/* 0E362C 7F0AEAFC 272F000B */ addiu $t7, $t9, 0xb -/* 0E3630 7F0AEB00 1000000A */ b .L7F0AEB2C -/* 0E3634 7F0AEB04 ACAF0000 */ sw $t7, ($a1) -/* 0E3638 7F0AEB08 8D580000 */ lw $t8, ($t2) -.L7F0AEB0C: -/* 0E363C 7F0AEB0C 8E6E0000 */ lw $t6, ($s3) -/* 0E3640 7F0AEB10 8CB90000 */ lw $t9, ($a1) -/* 0E3644 7F0AEB14 24C60002 */ addiu $a2, $a2, 2 -/* 0E3648 7F0AEB18 030E1821 */ addu $v1, $t8, $t6 -/* 0E364C 7F0AEB1C 2463FFFF */ addiu $v1, $v1, -1 -/* 0E3650 7F0AEB20 03237823 */ subu $t7, $t9, $v1 -/* 0E3654 7F0AEB24 25F8000F */ addiu $t8, $t7, 0xf -/* 0E3658 7F0AEB28 ACB80000 */ sw $t8, ($a1) -.L7F0AEB2C: -/* 0E365C 7F0AEB2C 90C90000 */ lbu $t1, ($a2) -/* 0E3660 7F0AEB30 1520FFB4 */ bnez $t1, .L7F0AEA04 -/* 0E3664 7F0AEB34 00000000 */ nop -.L7F0AEB38: -/* 0E3668 7F0AEB38 8CAE0000 */ lw $t6, ($a1) -/* 0E366C 7F0AEB3C 01C8082A */ slt $at, $t6, $t0 -/* 0E3670 7F0AEB40 50200003 */ beql $at, $zero, .L7F0AEB50 -/* 0E3674 7F0AEB44 8FB00008 */ lw $s0, 8($sp) -/* 0E3678 7F0AEB48 ACA80000 */ sw $t0, ($a1) -/* 0E367C 7F0AEB4C 8FB00008 */ lw $s0, 8($sp) -.L7F0AEB50: -/* 0E3680 7F0AEB50 8FB1000C */ lw $s1, 0xc($sp) -/* 0E3684 7F0AEB54 8FB20010 */ lw $s2, 0x10($sp) -/* 0E3688 7F0AEB58 8FB30014 */ lw $s3, 0x14($sp) -/* 0E368C 7F0AEB5C 03E00008 */ jr $ra -/* 0E3690 7F0AEB60 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AEB64(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AEB64 -/* 0E3694 7F0AEB64 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0E3698 7F0AEB68 AFB40030 */ sw $s4, 0x30($sp) -/* 0E369C 7F0AEB6C AFB3002C */ sw $s3, 0x2c($sp) -/* 0E36A0 7F0AEB70 AFB20028 */ sw $s2, 0x28($sp) -/* 0E36A4 7F0AEB74 AFB00020 */ sw $s0, 0x20($sp) -/* 0E36A8 7F0AEB78 00C08025 */ move $s0, $a2 -/* 0E36AC 7F0AEB7C 00A09025 */ move $s2, $a1 -/* 0E36B0 7F0AEB80 00E09825 */ move $s3, $a3 -/* 0E36B4 7F0AEB84 AFBF0034 */ sw $ra, 0x34($sp) -/* 0E36B8 7F0AEB88 AFB10024 */ sw $s1, 0x24($sp) -/* 0E36BC 7F0AEB8C AFA40090 */ sw $a0, 0x90($sp) -/* 0E36C0 7F0AEB90 00005825 */ move $t3, $zero -/* 0E36C4 7F0AEB94 AFA0007C */ sw $zero, 0x7c($sp) -/* 0E36C8 7F0AEB98 240D0001 */ li $t5, 1 -/* 0E36CC 7F0AEB9C 27B4004C */ addiu $s4, $sp, 0x4c -/* 0E36D0 7F0AEBA0 240A0018 */ li $t2, 24 -.L7F0AEBA4: -/* 0E36D4 7F0AEBA4 AFA00080 */ sw $zero, 0x80($sp) -/* 0E36D8 7F0AEBA8 92440000 */ lbu $a0, ($s2) -/* 0E36DC 7F0AEBAC 00008825 */ move $s1, $zero -/* 0E36E0 7F0AEBB0 00001825 */ move $v1, $zero -/* 0E36E4 7F0AEBB4 28810021 */ slti $at, $a0, 0x21 -/* 0E36E8 7F0AEBB8 1420001E */ bnez $at, .L7F0AEC34 -/* 0E36EC 7F0AEBBC 27A50080 */ addiu $a1, $sp, 0x80 -/* 0E36F0 7F0AEBC0 27A2004C */ addiu $v0, $sp, 0x4c -/* 0E36F4 7F0AEBC4 A0440000 */ sb $a0, ($v0) -.L7F0AEBC8: -/* 0E36F8 7F0AEBC8 924E0000 */ lbu $t6, ($s2) -/* 0E36FC 7F0AEBCC 26520001 */ addiu $s2, $s2, 1 -/* 0E3700 7F0AEBD0 26310001 */ addiu $s1, $s1, 1 -/* 0E3704 7F0AEBD4 01CA0019 */ multu $t6, $t2 -/* 0E3708 7F0AEBD8 904E0000 */ lbu $t6, ($v0) -/* 0E370C 7F0AEBDC 24420001 */ addiu $v0, $v0, 1 -/* 0E3710 7F0AEBE0 29C10080 */ slti $at, $t6, 0x80 -/* 0E3714 7F0AEBE4 00007812 */ mflo $t7 -/* 0E3718 7F0AEBE8 026FC021 */ addu $t8, $s3, $t7 -/* 0E371C 7F0AEBEC 8F19FCF4 */ lw $t9, -0x30c($t8) -/* 0E3720 7F0AEBF0 1420000C */ bnez $at, .L7F0AEC24 -/* 0E3724 7F0AEBF4 00791821 */ addu $v1, $v1, $t9 -/* 0E3728 7F0AEBF8 924F0000 */ lbu $t7, ($s2) -/* 0E372C 7F0AEBFC 26520001 */ addiu $s2, $s2, 1 -/* 0E3730 7F0AEC00 26310001 */ addiu $s1, $s1, 1 -/* 0E3734 7F0AEC04 A04F0000 */ sb $t7, ($v0) -/* 0E3738 7F0AEC08 9258FFFF */ lbu $t8, -1($s2) -/* 0E373C 7F0AEC0C 24420001 */ addiu $v0, $v0, 1 -/* 0E3740 7F0AEC10 030A0019 */ multu $t8, $t2 -/* 0E3744 7F0AEC14 0000C812 */ mflo $t9 -/* 0E3748 7F0AEC18 02797021 */ addu $t6, $s3, $t9 -/* 0E374C 7F0AEC1C 8DCFFCF4 */ lw $t7, -0x30c($t6) -/* 0E3750 7F0AEC20 006F1821 */ addu $v1, $v1, $t7 -.L7F0AEC24: -/* 0E3754 7F0AEC24 92440000 */ lbu $a0, ($s2) -/* 0E3758 7F0AEC28 28810021 */ slti $at, $a0, 0x21 -/* 0E375C 7F0AEC2C 5020FFE6 */ beql $at, $zero, .L7F0AEBC8 -/* 0E3760 7F0AEC30 A0440000 */ sb $a0, ($v0) -.L7F0AEC34: -/* 0E3764 7F0AEC34 0291C021 */ addu $t8, $s4, $s1 -/* 0E3768 7F0AEC38 A3000000 */ sb $zero, ($t8) -/* 0E376C 7F0AEC3C 8FB900A0 */ lw $t9, 0xa0($sp) -/* 0E3770 7F0AEC40 AFAD0078 */ sw $t5, 0x78($sp) -/* 0E3774 7F0AEC44 AFAB008C */ sw $t3, 0x8c($sp) -/* 0E3778 7F0AEC48 AFA00014 */ sw $zero, 0x14($sp) -/* 0E377C 7F0AEC4C 27A4007C */ addiu $a0, $sp, 0x7c -/* 0E3780 7F0AEC50 02803025 */ move $a2, $s4 -/* 0E3784 7F0AEC54 02603825 */ move $a3, $s3 -/* 0E3788 7F0AEC58 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E378C 7F0AEC5C AFB90010 */ sw $t9, 0x10($sp) -/* 0E3790 7F0AEC60 8FAB008C */ lw $t3, 0x8c($sp) -/* 0E3794 7F0AEC64 8FAE0080 */ lw $t6, 0x80($sp) -/* 0E3798 7F0AEC68 8FAF0090 */ lw $t7, 0x90($sp) -/* 0E379C 7F0AEC6C 3C088004 */ lui $t0, %hi(text_wordwrap) -/* 0E37A0 7F0AEC70 016E5821 */ addu $t3, $t3, $t6 -/* 0E37A4 7F0AEC74 01EB082A */ slt $at, $t7, $t3 -/* 0E37A8 7F0AEC78 25080E8C */ addiu $t0, %lo(text_wordwrap) # addiu $t0, $t0, 0xe8c -/* 0E37AC 7F0AEC7C 24090020 */ li $t1, 32 -/* 0E37B0 7F0AEC80 240A0018 */ li $t2, 24 -/* 0E37B4 7F0AEC84 240C000A */ li $t4, 10 -/* 0E37B8 7F0AEC88 14200003 */ bnez $at, .L7F0AEC98 -/* 0E37BC 7F0AEC8C 8FAD0078 */ lw $t5, 0x78($sp) -/* 0E37C0 7F0AEC90 10000002 */ b .L7F0AEC9C -/* 0E37C4 7F0AEC94 24040001 */ li $a0, 1 -.L7F0AEC98: -/* 0E37C8 7F0AEC98 00002025 */ move $a0, $zero -.L7F0AEC9C: -/* 0E37CC 7F0AEC9C 92420000 */ lbu $v0, ($s2) -/* 0E37D0 7F0AECA0 2401000A */ li $at, 10 -/* 0E37D4 7F0AECA4 5441002F */ bnel $v0, $at, .L7F0AED64 -/* 0E37D8 7F0AECA8 24010020 */ li $at, 32 -/* 0E37DC 7F0AECAC 1480000E */ bnez $a0, .L7F0AECE8 -/* 0E37E0 7F0AECB0 00001825 */ move $v1, $zero -/* 0E37E4 7F0AECB4 A20C0000 */ sb $t4, ($s0) -/* 0E37E8 7F0AECB8 8D180000 */ lw $t8, ($t0) -/* 0E37EC 7F0AECBC 26100001 */ addiu $s0, $s0, 1 -/* 0E37F0 7F0AECC0 1B000009 */ blez $t8, .L7F0AECE8 -/* 0E37F4 7F0AECC4 00000000 */ nop -/* 0E37F8 7F0AECC8 A2090000 */ sb $t1, ($s0) -.L7F0AECCC: -/* 0E37FC 7F0AECCC 8D190000 */ lw $t9, ($t0) -/* 0E3800 7F0AECD0 24630001 */ addiu $v1, $v1, 1 -/* 0E3804 7F0AECD4 26100001 */ addiu $s0, $s0, 1 -/* 0E3808 7F0AECD8 0079082A */ slt $at, $v1, $t9 -/* 0E380C 7F0AECDC 5420FFFB */ bnezl $at, .L7F0AECCC -/* 0E3810 7F0AECE0 A2090000 */ sb $t1, ($s0) -/* 0E3814 7F0AECE4 00001825 */ move $v1, $zero -.L7F0AECE8: -/* 0E3818 7F0AECE8 1A20001A */ blez $s1, .L7F0AED54 -/* 0E381C 7F0AECEC 00005825 */ move $t3, $zero -/* 0E3820 7F0AECF0 32250003 */ andi $a1, $s1, 3 -/* 0E3824 7F0AECF4 10A00009 */ beqz $a1, .L7F0AED1C -/* 0E3828 7F0AECF8 00A02025 */ move $a0, $a1 -/* 0E382C 7F0AECFC 02831021 */ addu $v0, $s4, $v1 -.L7F0AED00: -/* 0E3830 7F0AED00 904E0000 */ lbu $t6, ($v0) -/* 0E3834 7F0AED04 24630001 */ addiu $v1, $v1, 1 -/* 0E3838 7F0AED08 26100001 */ addiu $s0, $s0, 1 -/* 0E383C 7F0AED0C 24420001 */ addiu $v0, $v0, 1 -/* 0E3840 7F0AED10 1483FFFB */ bne $a0, $v1, .L7F0AED00 -/* 0E3844 7F0AED14 A20EFFFF */ sb $t6, -1($s0) -/* 0E3848 7F0AED18 1071000E */ beq $v1, $s1, .L7F0AED54 -.L7F0AED1C: -/* 0E384C 7F0AED1C 27AF004C */ addiu $t7, $sp, 0x4c -/* 0E3850 7F0AED20 022F2021 */ addu $a0, $s1, $t7 -/* 0E3854 7F0AED24 02831021 */ addu $v0, $s4, $v1 -.L7F0AED28: -/* 0E3858 7F0AED28 90580000 */ lbu $t8, ($v0) -/* 0E385C 7F0AED2C 24420004 */ addiu $v0, $v0, 4 -/* 0E3860 7F0AED30 26100004 */ addiu $s0, $s0, 4 -/* 0E3864 7F0AED34 A218FFFC */ sb $t8, -4($s0) -/* 0E3868 7F0AED38 9059FFFD */ lbu $t9, -3($v0) -/* 0E386C 7F0AED3C A219FFFD */ sb $t9, -3($s0) -/* 0E3870 7F0AED40 904EFFFE */ lbu $t6, -2($v0) -/* 0E3874 7F0AED44 A20EFFFE */ sb $t6, -2($s0) -/* 0E3878 7F0AED48 904FFFFF */ lbu $t7, -1($v0) -/* 0E387C 7F0AED4C 1444FFF6 */ bne $v0, $a0, .L7F0AED28 -/* 0E3880 7F0AED50 A20FFFFF */ sb $t7, -1($s0) -.L7F0AED54: -/* 0E3884 7F0AED54 A20C0000 */ sb $t4, ($s0) -/* 0E3888 7F0AED58 10000061 */ b .L7F0AEEE0 -/* 0E388C 7F0AED5C 26100001 */ addiu $s0, $s0, 1 -/* 0E3890 7F0AED60 24010020 */ li $at, 32 -.L7F0AED64: -/* 0E3894 7F0AED64 14410032 */ bne $v0, $at, .L7F0AEE30 -/* 0E3898 7F0AED68 00000000 */ nop -/* 0E389C 7F0AED6C 14800012 */ bnez $a0, .L7F0AEDB8 -/* 0E38A0 7F0AED70 00001825 */ move $v1, $zero -/* 0E38A4 7F0AED74 A20C0000 */ sb $t4, ($s0) -/* 0E38A8 7F0AED78 8D020000 */ lw $v0, ($t0) -/* 0E38AC 7F0AED7C 26100001 */ addiu $s0, $s0, 1 -/* 0E38B0 7F0AED80 5840000A */ blezl $v0, .L7F0AEDAC -/* 0E38B4 7F0AED84 8FB90080 */ lw $t9, 0x80($sp) -/* 0E38B8 7F0AED88 A2090000 */ sb $t1, ($s0) -.L7F0AED8C: -/* 0E38BC 7F0AED8C 8D020000 */ lw $v0, ($t0) -/* 0E38C0 7F0AED90 24630001 */ addiu $v1, $v1, 1 -/* 0E38C4 7F0AED94 26100001 */ addiu $s0, $s0, 1 -/* 0E38C8 7F0AED98 0062082A */ slt $at, $v1, $v0 -/* 0E38CC 7F0AED9C 5420FFFB */ bnezl $at, .L7F0AED8C -/* 0E38D0 7F0AEDA0 A2090000 */ sb $t1, ($s0) -/* 0E38D4 7F0AEDA4 00001825 */ move $v1, $zero -/* 0E38D8 7F0AEDA8 8FB90080 */ lw $t9, 0x80($sp) -.L7F0AEDAC: -/* 0E38DC 7F0AEDAC 0002C080 */ sll $t8, $v0, 2 -/* 0E38E0 7F0AEDB0 0302C021 */ addu $t8, $t8, $v0 -/* 0E38E4 7F0AEDB4 03195821 */ addu $t3, $t8, $t9 -.L7F0AEDB8: -/* 0E38E8 7F0AEDB8 1A20001A */ blez $s1, .L7F0AEE24 -/* 0E38EC 7F0AEDBC 256B0005 */ addiu $t3, $t3, 5 -/* 0E38F0 7F0AEDC0 32250003 */ andi $a1, $s1, 3 -/* 0E38F4 7F0AEDC4 10A00009 */ beqz $a1, .L7F0AEDEC -/* 0E38F8 7F0AEDC8 00A02025 */ move $a0, $a1 -/* 0E38FC 7F0AEDCC 02831021 */ addu $v0, $s4, $v1 -.L7F0AEDD0: -/* 0E3900 7F0AEDD0 904E0000 */ lbu $t6, ($v0) -/* 0E3904 7F0AEDD4 24630001 */ addiu $v1, $v1, 1 -/* 0E3908 7F0AEDD8 26100001 */ addiu $s0, $s0, 1 -/* 0E390C 7F0AEDDC 24420001 */ addiu $v0, $v0, 1 -/* 0E3910 7F0AEDE0 1483FFFB */ bne $a0, $v1, .L7F0AEDD0 -/* 0E3914 7F0AEDE4 A20EFFFF */ sb $t6, -1($s0) -/* 0E3918 7F0AEDE8 1071000E */ beq $v1, $s1, .L7F0AEE24 -.L7F0AEDEC: -/* 0E391C 7F0AEDEC 27AF004C */ addiu $t7, $sp, 0x4c -/* 0E3920 7F0AEDF0 022F2021 */ addu $a0, $s1, $t7 -/* 0E3924 7F0AEDF4 02831021 */ addu $v0, $s4, $v1 -.L7F0AEDF8: -/* 0E3928 7F0AEDF8 90580000 */ lbu $t8, ($v0) -/* 0E392C 7F0AEDFC 24420004 */ addiu $v0, $v0, 4 -/* 0E3930 7F0AEE00 26100004 */ addiu $s0, $s0, 4 -/* 0E3934 7F0AEE04 A218FFFC */ sb $t8, -4($s0) -/* 0E3938 7F0AEE08 9059FFFD */ lbu $t9, -3($v0) -/* 0E393C 7F0AEE0C A219FFFD */ sb $t9, -3($s0) -/* 0E3940 7F0AEE10 904EFFFE */ lbu $t6, -2($v0) -/* 0E3944 7F0AEE14 A20EFFFE */ sb $t6, -2($s0) -/* 0E3948 7F0AEE18 904FFFFF */ lbu $t7, -1($v0) -/* 0E394C 7F0AEE1C 1444FFF6 */ bne $v0, $a0, .L7F0AEDF8 -/* 0E3950 7F0AEE20 A20FFFFF */ sb $t7, -1($s0) -.L7F0AEE24: -/* 0E3954 7F0AEE24 A2090000 */ sb $t1, ($s0) -/* 0E3958 7F0AEE28 1000002D */ b .L7F0AEEE0 -/* 0E395C 7F0AEE2C 26100001 */ addiu $s0, $s0, 1 -.L7F0AEE30: -/* 0E3960 7F0AEE30 1440002B */ bnez $v0, .L7F0AEEE0 -/* 0E3964 7F0AEE34 00001825 */ move $v1, $zero -/* 0E3968 7F0AEE38 1480000E */ bnez $a0, .L7F0AEE74 -/* 0E396C 7F0AEE3C 00006825 */ move $t5, $zero -/* 0E3970 7F0AEE40 A20C0000 */ sb $t4, ($s0) -/* 0E3974 7F0AEE44 8D180000 */ lw $t8, ($t0) -/* 0E3978 7F0AEE48 26100001 */ addiu $s0, $s0, 1 -/* 0E397C 7F0AEE4C 1B000009 */ blez $t8, .L7F0AEE74 -/* 0E3980 7F0AEE50 00000000 */ nop -/* 0E3984 7F0AEE54 A2090000 */ sb $t1, ($s0) -.L7F0AEE58: -/* 0E3988 7F0AEE58 8D190000 */ lw $t9, ($t0) -/* 0E398C 7F0AEE5C 24630001 */ addiu $v1, $v1, 1 -/* 0E3990 7F0AEE60 26100001 */ addiu $s0, $s0, 1 -/* 0E3994 7F0AEE64 0079082A */ slt $at, $v1, $t9 -/* 0E3998 7F0AEE68 5420FFFB */ bnezl $at, .L7F0AEE58 -/* 0E399C 7F0AEE6C A2090000 */ sb $t1, ($s0) -/* 0E39A0 7F0AEE70 00001825 */ move $v1, $zero -.L7F0AEE74: -/* 0E39A4 7F0AEE74 1A200019 */ blez $s1, .L7F0AEEDC -/* 0E39A8 7F0AEE78 32250003 */ andi $a1, $s1, 3 -/* 0E39AC 7F0AEE7C 10A00009 */ beqz $a1, .L7F0AEEA4 -/* 0E39B0 7F0AEE80 00A02025 */ move $a0, $a1 -/* 0E39B4 7F0AEE84 02831021 */ addu $v0, $s4, $v1 -.L7F0AEE88: -/* 0E39B8 7F0AEE88 904E0000 */ lbu $t6, ($v0) -/* 0E39BC 7F0AEE8C 24630001 */ addiu $v1, $v1, 1 -/* 0E39C0 7F0AEE90 26100001 */ addiu $s0, $s0, 1 -/* 0E39C4 7F0AEE94 24420001 */ addiu $v0, $v0, 1 -/* 0E39C8 7F0AEE98 1483FFFB */ bne $a0, $v1, .L7F0AEE88 -/* 0E39CC 7F0AEE9C A20EFFFF */ sb $t6, -1($s0) -/* 0E39D0 7F0AEEA0 1071000E */ beq $v1, $s1, .L7F0AEEDC -.L7F0AEEA4: -/* 0E39D4 7F0AEEA4 27AF004C */ addiu $t7, $sp, 0x4c -/* 0E39D8 7F0AEEA8 022F2021 */ addu $a0, $s1, $t7 -/* 0E39DC 7F0AEEAC 02831021 */ addu $v0, $s4, $v1 -.L7F0AEEB0: -/* 0E39E0 7F0AEEB0 90580000 */ lbu $t8, ($v0) -/* 0E39E4 7F0AEEB4 24420004 */ addiu $v0, $v0, 4 -/* 0E39E8 7F0AEEB8 26100004 */ addiu $s0, $s0, 4 -/* 0E39EC 7F0AEEBC A218FFFC */ sb $t8, -4($s0) -/* 0E39F0 7F0AEEC0 9059FFFD */ lbu $t9, -3($v0) -/* 0E39F4 7F0AEEC4 A219FFFD */ sb $t9, -3($s0) -/* 0E39F8 7F0AEEC8 904EFFFE */ lbu $t6, -2($v0) -/* 0E39FC 7F0AEECC A20EFFFE */ sb $t6, -2($s0) -/* 0E3A00 7F0AEED0 904FFFFF */ lbu $t7, -1($v0) -/* 0E3A04 7F0AEED4 1444FFF6 */ bne $v0, $a0, .L7F0AEEB0 -/* 0E3A08 7F0AEED8 A20FFFFF */ sb $t7, -1($s0) -.L7F0AEEDC: -/* 0E3A0C 7F0AEEDC A2000000 */ sb $zero, ($s0) -.L7F0AEEE0: -/* 0E3A10 7F0AEEE0 24010001 */ li $at, 1 -/* 0E3A14 7F0AEEE4 11A1FF2F */ beq $t5, $at, .L7F0AEBA4 -/* 0E3A18 7F0AEEE8 26520001 */ addiu $s2, $s2, 1 -/* 0E3A1C 7F0AEEEC 8FBF0034 */ lw $ra, 0x34($sp) -/* 0E3A20 7F0AEEF0 8FB00020 */ lw $s0, 0x20($sp) -/* 0E3A24 7F0AEEF4 8FB10024 */ lw $s1, 0x24($sp) -/* 0E3A28 7F0AEEF8 8FB20028 */ lw $s2, 0x28($sp) -/* 0E3A2C 7F0AEEFC 8FB3002C */ lw $s3, 0x2c($sp) -/* 0E3A30 7F0AEF00 8FB40030 */ lw $s4, 0x30($sp) -/* 0E3A34 7F0AEF04 03E00008 */ jr $ra -/* 0E3A38 7F0AEF08 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - -void sub_GAME_7F0AEF0C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - // (function likely stubbed) -} - -u32 sub_GAME_7F0AEF20(u32 param_1,u32 param_2){ - return param_1; -} - - diff --git a/src/game/textrelated.h b/src/game/textrelated.h deleted file mode 100644 index bc87952..0000000 --- a/src/game/textrelated.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _TEXTRELATED_H_ -#define _TEXTRELATED_H_ -#include "ultra64.h" - -extern s32 ptrFirstFontTableSmall; -extern s32 ptrSecondFontTableSmall; -extern s32 ptrFirstFontTableLarge; -extern s32 ptrSecondFontTableLarge; - -#endif diff --git a/src/game/truncf.c b/src/game/truncf.c deleted file mode 100644 index 40b43d5..0000000 --- a/src/game/truncf.c +++ /dev/null @@ -1,98 +0,0 @@ -#include "ultra64.h" - - - - - - - -#ifdef NONMATCHING -void truncf(void) { - -} -#else -GLOBAL_ASM( -.text -glabel truncf -/* 090E90 7F05C360 44802000 */ mtc1 $zero, $f4 -/* 090E94 7F05C364 00000000 */ nop -/* 090E98 7F05C368 460C203E */ c.le.s $f4, $f12 -/* 090E9C 7F05C36C 00000000 */ nop -/* 090EA0 7F05C370 45020008 */ bc1fl .L7F05C394 -/* 090EA4 7F05C374 4600628D */ trunc.w.s $f10, $f12 -/* 090EA8 7F05C378 4600618D */ trunc.w.s $f6, $f12 -/* 090EAC 7F05C37C 440F3000 */ mfc1 $t7, $f6 -/* 090EB0 7F05C380 00000000 */ nop -/* 090EB4 7F05C384 448F4000 */ mtc1 $t7, $f8 -/* 090EB8 7F05C388 03E00008 */ jr $ra -/* 090EBC 7F05C38C 46804020 */ cvt.s.w $f0, $f8 - -/* 090EC0 7F05C390 4600628D */ trunc.w.s $f10, $f12 -.L7F05C394: -/* 090EC4 7F05C394 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 090EC8 7F05C398 44195000 */ mfc1 $t9, $f10 -/* 090ECC 7F05C39C 00000000 */ nop -/* 090ED0 7F05C3A0 44998000 */ mtc1 $t9, $f16 -/* 090ED4 7F05C3A4 00000000 */ nop -/* 090ED8 7F05C3A8 468080A0 */ cvt.s.w $f2, $f16 -/* 090EDC 7F05C3AC 46026032 */ c.eq.s $f12, $f2 -/* 090EE0 7F05C3B0 00000000 */ nop -/* 090EE4 7F05C3B4 45020004 */ bc1fl .L7F05C3C8 -/* 090EE8 7F05C3B8 44819000 */ mtc1 $at, $f18 -/* 090EEC 7F05C3BC 03E00008 */ jr $ra -/* 090EF0 7F05C3C0 46001006 */ mov.s $f0, $f2 - -/* 090EF4 7F05C3C4 44819000 */ mtc1 $at, $f18 -.L7F05C3C8: -/* 090EF8 7F05C3C8 00000000 */ nop -/* 090EFC 7F05C3CC 46121001 */ sub.s $f0, $f2, $f18 -/* 090F00 7F05C3D0 03E00008 */ jr $ra -/* 090F04 7F05C3D4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C3D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C3D8 -/* 090F08 7F05C3D8 44802000 */ mtc1 $zero, $f4 -/* 090F0C 7F05C3DC 00000000 */ nop -/* 090F10 7F05C3E0 460C203E */ c.le.s $f4, $f12 -/* 090F14 7F05C3E4 00000000 */ nop -/* 090F18 7F05C3E8 45020006 */ bc1fl .L7F05C404 -/* 090F1C 7F05C3EC 4600620D */ trunc.w.s $f8, $f12 -/* 090F20 7F05C3F0 4600618D */ trunc.w.s $f6, $f12 -/* 090F24 7F05C3F4 44023000 */ mfc1 $v0, $f6 -/* 090F28 7F05C3F8 03E00008 */ jr $ra -/* 090F2C 7F05C3FC 00000000 */ nop - -/* 090F30 7F05C400 4600620D */ trunc.w.s $f8, $f12 -.L7F05C404: -/* 090F34 7F05C404 44034000 */ mfc1 $v1, $f8 -/* 090F38 7F05C408 00000000 */ nop -/* 090F3C 7F05C40C 44835000 */ mtc1 $v1, $f10 -/* 090F40 7F05C410 2462FFFF */ addiu $v0, $v1, -1 -/* 090F44 7F05C414 46805420 */ cvt.s.w $f16, $f10 -/* 090F48 7F05C418 46106032 */ c.eq.s $f12, $f16 -/* 090F4C 7F05C41C 00000000 */ nop -/* 090F50 7F05C420 45000003 */ bc1f .L7F05C430 -/* 090F54 7F05C424 00000000 */ nop -/* 090F58 7F05C428 03E00008 */ jr $ra -/* 090F5C 7F05C42C 00601025 */ move $v0, $v1 - -.L7F05C430: -/* 090F60 7F05C430 03E00008 */ jr $ra -/* 090F64 7F05C434 00000000 */ nop -) -#endif - - - diff --git a/src/game/unk_007800.c b/src/game/unk_007800.c deleted file mode 100644 index 32c318f..0000000 --- a/src/game/unk_007800.c +++ /dev/null @@ -1,161 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -void cleanupExplosions(void) { - ? temp_ret; - void *temp_t8; - s32 temp_s0; - void *temp_t7; - s32 temp_s0_2; - s32 phi_s0; - s32 phi_s0_2; - ? phi_return; - ? phi_return_2; - ? phi_return_3; - ? phi_return_4; - - // Node 0 - D_80040170 = 0; - temp_ret = video_related_9(0); - phi_s0 = 0; - phi_return_3 = temp_ret; - phi_return_4 = temp_ret; - if (ptr_explosion_buf != 0) - { -loop_1: - // Node 1 - temp_t8 = (ptr_explosion_buf + phi_s0); - if (*temp_t8 != 0) - { - // Node 2 - sub_GAME_7F03A538(*temp_t8); - unset_stateflag_0x04_for_posdata(*(ptr_explosion_buf + phi_s0)); - *(ptr_explosion_buf + phi_s0) = 0; - phi_return_4 = set_last_obj_pos_data(*(ptr_explosion_buf + phi_s0)); - } - // Node 3 - temp_s0 = (phi_s0 + 0x3e0); - phi_s0 = temp_s0; - phi_return_3 = phi_return_4; - phi_return_4 = phi_return_4; - if (temp_s0 != 0x1740) - { - goto loop_1; - } - } - // Node 4 - phi_s0_2 = 0; - phi_return = phi_return_3; - phi_return_2 = phi_return_3; - if (ptr_smoke_buf != 0) - { -loop_5: - // Node 5 - temp_t7 = (ptr_smoke_buf + phi_s0_2); - if (*temp_t7 != 0) - { - // Node 6 - sub_GAME_7F03A538(*temp_t7); - unset_stateflag_0x04_for_posdata(*(ptr_smoke_buf + phi_s0_2)); - *(ptr_smoke_buf + phi_s0_2) = 0; - phi_return_2 = set_last_obj_pos_data(*(ptr_smoke_buf + phi_s0_2)); - } - // Node 7 - temp_s0_2 = (phi_s0_2 + 0x198); - phi_s0_2 = temp_s0_2; - phi_return = phi_return_2; - phi_return_2 = phi_return_2; - if (temp_s0_2 != 0x1fe0) - { - goto loop_5; - } - } - // Node 8 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel cleanupExplosions -/* 03C330 7F007800 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 03C334 7F007804 AFBF0024 */ sw $ra, 0x24($sp) -/* 03C338 7F007808 3C018004 */ lui $at, %hi(D_80040170) -/* 03C33C 7F00780C 44806000 */ mtc1 $zero, $f12 -/* 03C340 7F007810 AFB20020 */ sw $s2, 0x20($sp) -/* 03C344 7F007814 AFB1001C */ sw $s1, 0x1c($sp) -/* 03C348 7F007818 AFB00018 */ sw $s0, 0x18($sp) -/* 03C34C 7F00781C 0C000EC1 */ jal video_related_9 -/* 03C350 7F007820 AC200170 */ sw $zero, %lo(D_80040170)($at) -/* 03C354 7F007824 3C118008 */ lui $s1, %hi(ptr_explosion_buf) -/* 03C358 7F007828 2631A144 */ addiu $s1, %lo(ptr_explosion_buf) # addiu $s1, $s1, -0x5ebc -/* 03C35C 7F00782C 8E2E0000 */ lw $t6, ($s1) -/* 03C360 7F007830 00008025 */ move $s0, $zero -/* 03C364 7F007834 24121740 */ li $s2, 5952 -/* 03C368 7F007838 11C00016 */ beqz $t6, .L7F007894 -/* 03C36C 7F00783C 00000000 */ nop -/* 03C370 7F007840 8E2F0000 */ lw $t7, ($s1) -.L7F007844: -/* 03C374 7F007844 01F0C021 */ addu $t8, $t7, $s0 -/* 03C378 7F007848 8F040000 */ lw $a0, ($t8) -/* 03C37C 7F00784C 5080000F */ beql $a0, $zero, .L7F00788C -/* 03C380 7F007850 261003E0 */ addiu $s0, $s0, 0x3e0 -/* 03C384 7F007854 0FC0E94E */ jal sub_GAME_7F03A538 -/* 03C388 7F007858 00000000 */ nop -/* 03C38C 7F00785C 8E390000 */ lw $t9, ($s1) -/* 03C390 7F007860 03304021 */ addu $t0, $t9, $s0 -/* 03C394 7F007864 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 03C398 7F007868 8D040000 */ lw $a0, ($t0) -/* 03C39C 7F00786C 8E290000 */ lw $t1, ($s1) -/* 03C3A0 7F007870 01305021 */ addu $t2, $t1, $s0 -/* 03C3A4 7F007874 0FC0E921 */ jal set_last_obj_pos_data -/* 03C3A8 7F007878 8D440000 */ lw $a0, ($t2) -/* 03C3AC 7F00787C 8E2B0000 */ lw $t3, ($s1) -/* 03C3B0 7F007880 01706021 */ addu $t4, $t3, $s0 -/* 03C3B4 7F007884 AD800000 */ sw $zero, ($t4) -/* 03C3B8 7F007888 261003E0 */ addiu $s0, $s0, 0x3e0 -.L7F00788C: -/* 03C3BC 7F00788C 5612FFED */ bnel $s0, $s2, .L7F007844 -/* 03C3C0 7F007890 8E2F0000 */ lw $t7, ($s1) -.L7F007894: -/* 03C3C4 7F007894 3C118008 */ lui $s1, %hi(ptr_smoke_buf) -/* 03C3C8 7F007898 2631A140 */ addiu $s1, %lo(ptr_smoke_buf) # addiu $s1, $s1, -0x5ec0 -/* 03C3CC 7F00789C 8E2D0000 */ lw $t5, ($s1) -/* 03C3D0 7F0078A0 00008025 */ move $s0, $zero -/* 03C3D4 7F0078A4 24121FE0 */ li $s2, 8160 -/* 03C3D8 7F0078A8 51A00017 */ beql $t5, $zero, .L7F007908 -/* 03C3DC 7F0078AC 8FBF0024 */ lw $ra, 0x24($sp) -/* 03C3E0 7F0078B0 8E2E0000 */ lw $t6, ($s1) -.L7F0078B4: -/* 03C3E4 7F0078B4 01D07821 */ addu $t7, $t6, $s0 -/* 03C3E8 7F0078B8 8DE40000 */ lw $a0, ($t7) -/* 03C3EC 7F0078BC 5080000F */ beql $a0, $zero, .L7F0078FC -/* 03C3F0 7F0078C0 26100198 */ addiu $s0, $s0, 0x198 -/* 03C3F4 7F0078C4 0FC0E94E */ jal sub_GAME_7F03A538 -/* 03C3F8 7F0078C8 00000000 */ nop -/* 03C3FC 7F0078CC 8E380000 */ lw $t8, ($s1) -/* 03C400 7F0078D0 0310C821 */ addu $t9, $t8, $s0 -/* 03C404 7F0078D4 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 03C408 7F0078D8 8F240000 */ lw $a0, ($t9) -/* 03C40C 7F0078DC 8E280000 */ lw $t0, ($s1) -/* 03C410 7F0078E0 01104821 */ addu $t1, $t0, $s0 -/* 03C414 7F0078E4 0FC0E921 */ jal set_last_obj_pos_data -/* 03C418 7F0078E8 8D240000 */ lw $a0, ($t1) -/* 03C41C 7F0078EC 8E2A0000 */ lw $t2, ($s1) -/* 03C420 7F0078F0 01505821 */ addu $t3, $t2, $s0 -/* 03C424 7F0078F4 AD600000 */ sw $zero, ($t3) -/* 03C428 7F0078F8 26100198 */ addiu $s0, $s0, 0x198 -.L7F0078FC: -/* 03C42C 7F0078FC 5612FFED */ bnel $s0, $s2, .L7F0078B4 -/* 03C430 7F007900 8E2E0000 */ lw $t6, ($s1) -/* 03C434 7F007904 8FBF0024 */ lw $ra, 0x24($sp) -.L7F007908: -/* 03C438 7F007908 8FB00018 */ lw $s0, 0x18($sp) -/* 03C43C 7F00790C 8FB1001C */ lw $s1, 0x1c($sp) -/* 03C440 7F007910 8FB20020 */ lw $s2, 0x20($sp) -/* 03C444 7F007914 03E00008 */ jr $ra -/* 03C448 7F007918 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - diff --git a/src/game/unk_007920.c b/src/game/unk_007920.c deleted file mode 100644 index 6d60ad4..0000000 --- a/src/game/unk_007920.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -s32 sub_GAME_7F007920(void) { - s32 temp_v0; - s32 phi_v1; - s32 phi_v0; - - // Node 0 - if (dword_CODE_bss_8007A160 > 0) - { - // Node 1 - phi_v1 = 0; - phi_v0 = 0; -loop_2: - // Node 2 - temp_v0 = (phi_v0 + 1); - *(dword_CODE_bss_8007A164 + phi_v1) = 0; - phi_v1 = (phi_v1 + 0x68); - phi_v0 = temp_v0; - if (temp_v0 < dword_CODE_bss_8007A160) - { - goto loop_2; - } - } - // Node 3 - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F007920 -/* 03C450 7F007920 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A160) -/* 03C454 7F007924 2484A160 */ addiu $a0, %lo(dword_CODE_bss_8007A160) # addiu $a0, $a0, -0x5ea0 -/* 03C458 7F007928 8C8E0000 */ lw $t6, ($a0) -/* 03C45C 7F00792C 00001025 */ move $v0, $zero -/* 03C460 7F007930 00001825 */ move $v1, $zero -/* 03C464 7F007934 19C0000B */ blez $t6, .L7F007964 -/* 03C468 7F007938 3C058008 */ lui $a1, %hi(dword_CODE_bss_8007A164) -/* 03C46C 7F00793C 24A5A164 */ addiu $a1, %lo(dword_CODE_bss_8007A164) # addiu $a1, $a1, -0x5e9c -/* 03C470 7F007940 8CAF0000 */ lw $t7, ($a1) -.L7F007944: -/* 03C474 7F007944 24420001 */ addiu $v0, $v0, 1 -/* 03C478 7F007948 01E3C021 */ addu $t8, $t7, $v1 -/* 03C47C 7F00794C AF000000 */ sw $zero, ($t8) -/* 03C480 7F007950 8C990000 */ lw $t9, ($a0) -/* 03C484 7F007954 24630068 */ addiu $v1, $v1, 0x68 -/* 03C488 7F007958 0059082A */ slt $at, $v0, $t9 -/* 03C48C 7F00795C 5420FFF9 */ bnezl $at, .L7F007944 -/* 03C490 7F007960 8CAF0000 */ lw $t7, ($a1) -.L7F007964: -/* 03C494 7F007964 03E00008 */ jr $ra -/* 03C498 7F007968 00000000 */ nop -) -#endif - diff --git a/src/game/unk_007980.c b/src/game/unk_007980.c deleted file mode 100644 index 31558a5..0000000 --- a/src/game/unk_007980.c +++ /dev/null @@ -1,118 +0,0 @@ -#include "ultra64.h" - - - - -#ifdef NONMATCHING -void cleanupplayersoundrelated(void) { - ? temp_ret; - void *temp_s0; - s32 temp_s1; - s32 temp_s4; - ? temp_ret_2; - void *phi_s2; - s32 phi_s1; - s32 phi_s4; - ? phi_return; - - // Node 0 - temp_ret = get_num_players(); - phi_return = temp_ret; - if (temp_ret > 0) - { - // Node 1 - phi_s2 = ((0 * 4) + &ptr_BONDdata_p1); - phi_s4 = 0; -loop_2: - // Node 2 - phi_s1 = 0; -loop_3: - // Node 3 - temp_s0 = (*phi_s2 + phi_s1); - if (temp_s0->unkA44 != 0) - { - // Node 4 - if (sfxGetArg0Unk3F(temp_s0->unkA44) != 0) - { - // Node 5 - sfxDeactivate((temp_s0 + 0x870)->unk1D4); - } - } - // Node 6 - temp_s1 = (phi_s1 + 0x3a8); - phi_s1 = temp_s1; - if (temp_s1 != 0x750) - { - goto loop_3; - } - // Node 7 - temp_s4 = (phi_s4 + 1); - temp_ret_2 = get_num_players(); - phi_s2 = (phi_s2 + 4); - phi_s4 = temp_s4; - phi_return = temp_ret_2; - if (temp_s4 < temp_ret_2) - { - goto loop_2; - } - } - // Node 8 - return phi_return; -} - -#else -GLOBAL_ASM( -.text -glabel cleanupplayersoundrelated -/* 03C4B0 7F007980 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 03C4B4 7F007984 AFBF002C */ sw $ra, 0x2c($sp) -/* 03C4B8 7F007988 AFB40028 */ sw $s4, 0x28($sp) -/* 03C4BC 7F00798C AFB30024 */ sw $s3, 0x24($sp) -/* 03C4C0 7F007990 AFB20020 */ sw $s2, 0x20($sp) -/* 03C4C4 7F007994 AFB1001C */ sw $s1, 0x1c($sp) -/* 03C4C8 7F007998 AFB00018 */ sw $s0, 0x18($sp) -/* 03C4CC 7F00799C 0FC26919 */ jal get_num_players -/* 03C4D0 7F0079A0 0000A025 */ move $s4, $zero -/* 03C4D4 7F0079A4 1840001B */ blez $v0, .L7F007A14 -/* 03C4D8 7F0079A8 00147080 */ sll $t6, $s4, 2 -/* 03C4DC 7F0079AC 3C0F8008 */ lui $t7, %hi(ptr_BONDdata_p1) -/* 03C4E0 7F0079B0 25EF9EE0 */ addiu $t7, %lo(ptr_BONDdata_p1) # addiu $t7, $t7, -0x6120 -/* 03C4E4 7F0079B4 01CF9021 */ addu $s2, $t6, $t7 -/* 03C4E8 7F0079B8 24130750 */ li $s3, 1872 -/* 03C4EC 7F0079BC 00008825 */ move $s1, $zero -.L7F0079C0: -/* 03C4F0 7F0079C0 8E580000 */ lw $t8, ($s2) -.L7F0079C4: -/* 03C4F4 7F0079C4 03118021 */ addu $s0, $t8, $s1 -/* 03C4F8 7F0079C8 8E040A44 */ lw $a0, 0xa44($s0) -/* 03C4FC 7F0079CC 26100870 */ addiu $s0, $s0, 0x870 -/* 03C500 7F0079D0 50800008 */ beql $a0, $zero, .L7F0079F4 -/* 03C504 7F0079D4 263103A8 */ addiu $s1, $s1, 0x3a8 -/* 03C508 7F0079D8 0C00237C */ jal sfxGetArg0Unk3F -/* 03C50C 7F0079DC 00000000 */ nop -/* 03C510 7F0079E0 50400004 */ beql $v0, $zero, .L7F0079F4 -/* 03C514 7F0079E4 263103A8 */ addiu $s1, $s1, 0x3a8 -/* 03C518 7F0079E8 0C002408 */ jal sfxDeactivate -/* 03C51C 7F0079EC 8E0401D4 */ lw $a0, 0x1d4($s0) -/* 03C520 7F0079F0 263103A8 */ addiu $s1, $s1, 0x3a8 -.L7F0079F4: -/* 03C524 7F0079F4 5633FFF3 */ bnel $s1, $s3, .L7F0079C4 -/* 03C528 7F0079F8 8E580000 */ lw $t8, ($s2) -/* 03C52C 7F0079FC 26940001 */ addiu $s4, $s4, 1 -/* 03C530 7F007A00 0FC26919 */ jal get_num_players -/* 03C534 7F007A04 26520004 */ addiu $s2, $s2, 4 -/* 03C538 7F007A08 0282082A */ slt $at, $s4, $v0 -/* 03C53C 7F007A0C 5420FFEC */ bnezl $at, .L7F0079C0 -/* 03C540 7F007A10 00008825 */ move $s1, $zero -.L7F007A14: -/* 03C544 7F007A14 8FBF002C */ lw $ra, 0x2c($sp) -/* 03C548 7F007A18 8FB00018 */ lw $s0, 0x18($sp) -/* 03C54C 7F007A1C 8FB1001C */ lw $s1, 0x1c($sp) -/* 03C550 7F007A20 8FB20020 */ lw $s2, 0x20($sp) -/* 03C554 7F007A24 8FB30024 */ lw $s3, 0x24($sp) -/* 03C558 7F007A28 8FB40028 */ lw $s4, 0x28($sp) -/* 03C55C 7F007A2C 03E00008 */ jr $ra -/* 03C560 7F007A30 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - diff --git a/src/game/unk_01B0E0.c b/src/game/unk_01B0E0.c deleted file mode 100644 index b118773..0000000 --- a/src/game/unk_01B0E0.c +++ /dev/null @@ -1,134 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -void sub_GAME_7F01B0E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01B0E0 -/* 04FC10 7F01B0E0 94820000 */ lhu $v0, ($a0) -/* 04FC14 7F01B0E4 94830002 */ lhu $v1, 2($a0) -/* 04FC18 7F01B0E8 2487000A */ addiu $a3, $a0, 0xa -/* 04FC1C 7F01B0EC 00430019 */ multu $v0, $v1 -/* 04FC20 7F01B0F0 00003012 */ mflo $a2 -/* 04FC24 7F01B0F4 00000000 */ nop -/* 04FC28 7F01B0F8 00000000 */ nop -/* 04FC2C 7F01B0FC 90E20000 */ lbu $v0, ($a3) -.L7F01B100: -/* 04FC30 7F01B100 90E30001 */ lbu $v1, 1($a3) -/* 04FC34 7F01B104 24E70002 */ addiu $a3, $a3, 2 -/* 04FC38 7F01B108 00C23023 */ subu $a2, $a2, $v0 -/* 04FC3C 7F01B10C 2442FFFF */ addiu $v0, $v0, -1 -.L7F01B110: -/* 04FC40 7F01B110 0002202A */ slt $a0, $zero, $v0 -/* 04FC44 7F01B114 2442FFFF */ addiu $v0, $v0, -1 -/* 04FC48 7F01B118 A0A30000 */ sb $v1, ($a1) -/* 04FC4C 7F01B11C 1480FFFC */ bnez $a0, .L7F01B110 -/* 04FC50 7F01B120 24A50001 */ addiu $a1, $a1, 1 -/* 04FC54 7F01B124 5CC0FFF6 */ bgtzl $a2, .L7F01B100 -/* 04FC58 7F01B128 90E20000 */ lbu $v0, ($a3) -/* 04FC5C 7F01B12C 03E00008 */ jr $ra -/* 04FC60 7F01B130 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01B134(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01B134 -/* 04FC64 7F01B134 27BDFFF8 */ addiu $sp, $sp, -8 -/* 04FC68 7F01B138 AFB00004 */ sw $s0, 4($sp) -/* 04FC6C 7F01B13C 94820000 */ lhu $v0, ($a0) -/* 04FC70 7F01B140 94830002 */ lhu $v1, 2($a0) -/* 04FC74 7F01B144 00A08025 */ move $s0, $a1 -/* 04FC78 7F01B148 2487000A */ addiu $a3, $a0, 0xa -/* 04FC7C 7F01B14C 00430019 */ multu $v0, $v1 -/* 04FC80 7F01B150 00003012 */ mflo $a2 -/* 04FC84 7F01B154 00000000 */ nop -/* 04FC88 7F01B158 00000000 */ nop -/* 04FC8C 7F01B15C 90E40002 */ lbu $a0, 2($a3) -.L7F01B160: -/* 04FC90 7F01B160 90E50003 */ lbu $a1, 3($a3) -/* 04FC94 7F01B164 90E30001 */ lbu $v1, 1($a3) -/* 04FC98 7F01B168 0004C0C3 */ sra $t8, $a0, 3 -/* 04FC9C 7F01B16C 000570C3 */ sra $t6, $a1, 3 -/* 04FCA0 7F01B170 90E20000 */ lbu $v0, ($a3) -/* 04FCA4 7F01B174 000E7AC0 */ sll $t7, $t6, 0xb -/* 04FCA8 7F01B178 0018C980 */ sll $t9, $t8, 6 -/* 04FCAC 7F01B17C 000350C3 */ sra $t2, $v1, 3 -/* 04FCB0 7F01B180 000A5840 */ sll $t3, $t2, 1 -/* 04FCB4 7F01B184 01F94825 */ or $t1, $t7, $t9 -/* 04FCB8 7F01B188 012B4025 */ or $t0, $t1, $t3 -/* 04FCBC 7F01B18C 350C0001 */ ori $t4, $t0, 1 -/* 04FCC0 7F01B190 00C23023 */ subu $a2, $a2, $v0 -/* 04FCC4 7F01B194 24E70004 */ addiu $a3, $a3, 4 -/* 04FCC8 7F01B198 01804025 */ move $t0, $t4 -/* 04FCCC 7F01B19C 2442FFFF */ addiu $v0, $v0, -1 -.L7F01B1A0: -/* 04FCD0 7F01B1A0 0002182A */ slt $v1, $zero, $v0 -/* 04FCD4 7F01B1A4 2442FFFF */ addiu $v0, $v0, -1 -/* 04FCD8 7F01B1A8 A6080000 */ sh $t0, ($s0) -/* 04FCDC 7F01B1AC 1460FFFC */ bnez $v1, .L7F01B1A0 -/* 04FCE0 7F01B1B0 26100002 */ addiu $s0, $s0, 2 -/* 04FCE4 7F01B1B4 5CC0FFEA */ bgtzl $a2, .L7F01B160 -/* 04FCE8 7F01B1B8 90E40002 */ lbu $a0, 2($a3) -/* 04FCEC 7F01B1BC 8FB00004 */ lw $s0, 4($sp) -/* 04FCF0 7F01B1C0 03E00008 */ jr $ra -/* 04FCF4 7F01B1C4 27BD0008 */ addiu $sp, $sp, 8 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01B1C8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01B1C8 -/* 04FCF8 7F01B1C8 94830000 */ lhu $v1, ($a0) -/* 04FCFC 7F01B1CC 94860002 */ lhu $a2, 2($a0) -/* 04FD00 7F01B1D0 00A01025 */ move $v0, $a1 -/* 04FD04 7F01B1D4 2488000A */ addiu $t0, $a0, 0xa -/* 04FD08 7F01B1D8 00660019 */ multu $v1, $a2 -/* 04FD0C 7F01B1DC 240A00FF */ li $t2, 255 -/* 04FD10 7F01B1E0 00003812 */ mflo $a3 -/* 04FD14 7F01B1E4 00000000 */ nop -/* 04FD18 7F01B1E8 00000000 */ nop -/* 04FD1C 7F01B1EC 91030000 */ lbu $v1, ($t0) -.L7F01B1F0: -/* 04FD20 7F01B1F0 91040001 */ lbu $a0, 1($t0) -/* 04FD24 7F01B1F4 91050002 */ lbu $a1, 2($t0) -/* 04FD28 7F01B1F8 00E33823 */ subu $a3, $a3, $v1 -/* 04FD2C 7F01B1FC 91060003 */ lbu $a2, 3($t0) -/* 04FD30 7F01B200 25080004 */ addiu $t0, $t0, 4 -/* 04FD34 7F01B204 2463FFFF */ addiu $v1, $v1, -1 -.L7F01B208: -/* 04FD38 7F01B208 0003482A */ slt $t1, $zero, $v1 -/* 04FD3C 7F01B20C A0460000 */ sb $a2, ($v0) -/* 04FD40 7F01B210 A0450001 */ sb $a1, 1($v0) -/* 04FD44 7F01B214 A0440002 */ sb $a0, 2($v0) -/* 04FD48 7F01B218 A04A0003 */ sb $t2, 3($v0) -/* 04FD4C 7F01B21C 2463FFFF */ addiu $v1, $v1, -1 -/* 04FD50 7F01B220 1520FFF9 */ bnez $t1, .L7F01B208 -/* 04FD54 7F01B224 24420004 */ addiu $v0, $v0, 4 -/* 04FD58 7F01B228 5CE0FFF1 */ bgtzl $a3, .L7F01B1F0 -/* 04FD5C 7F01B22C 91030000 */ lbu $v1, ($t0) -/* 04FD60 7F01B230 03E00008 */ jr $ra -/* 04FD64 7F01B234 00000000 */ nop -) -#endif - - diff --git a/src/game/unk_01B240.c b/src/game/unk_01B240.c deleted file mode 100644 index 79da544..0000000 --- a/src/game/unk_01B240.c +++ /dev/null @@ -1,626 +0,0 @@ -#include "ultra64.h" - - -s32 D_8002BB00 = 0; -s32 D_8002BB04 = 0; -s32 D_8002BB08 = 0; -f32 D_8002BB0C = 255.0; -f32 D_8002BB10 = 255.0; -f32 D_8002BB14 = 255.0; -s32 D_8002BB18 = 0; -s32 D_8002BB1C = 0; -s32 D_8002BB20 = 0; -s32 D_8002BB24 = 0; -s32 D_8002BB28 = 0; -s32 D_8002BB2C = 0; - - - - - - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F01B240(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80051CF0 -.word 0x43958000 -.text -glabel sub_GAME_7F01B240 -/* 04FD70 7F01B240 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 04FD74 7F01B244 AFB20028 */ sw $s2, 0x28($sp) -/* 04FD78 7F01B248 AFBF0044 */ sw $ra, 0x44($sp) -/* 04FD7C 7F01B24C AFBE0040 */ sw $fp, 0x40($sp) -/* 04FD80 7F01B250 AFB7003C */ sw $s7, 0x3c($sp) -/* 04FD84 7F01B254 AFB60038 */ sw $s6, 0x38($sp) -/* 04FD88 7F01B258 AFB50034 */ sw $s5, 0x34($sp) -/* 04FD8C 7F01B25C AFB40030 */ sw $s4, 0x30($sp) -/* 04FD90 7F01B260 AFB3002C */ sw $s3, 0x2c($sp) -/* 04FD94 7F01B264 AFB10024 */ sw $s1, 0x24($sp) -/* 04FD98 7F01B268 AFB00020 */ sw $s0, 0x20($sp) -/* 04FD9C 7F01B26C F7B80018 */ sdc1 $f24, 0x18($sp) -/* 04FDA0 7F01B270 F7B60010 */ sdc1 $f22, 0x10($sp) -/* 04FDA4 7F01B274 F7B40008 */ sdc1 $f20, 8($sp) -/* 04FDA8 7F01B278 8FB20058 */ lw $s2, 0x58($sp) -/* 04FDAC 7F01B27C 8CEE0000 */ lw $t6, ($a3) -/* 04FDB0 7F01B280 8CEF0004 */ lw $t7, 4($a3) -/* 04FDB4 7F01B284 8E590000 */ lw $t9, ($s2) -/* 04FDB8 7F01B288 448E2000 */ mtc1 $t6, $f4 -/* 04FDBC 7F01B28C 8E4E0004 */ lw $t6, 4($s2) -/* 04FDC0 7F01B290 448F3000 */ mtc1 $t7, $f6 -/* 04FDC4 7F01B294 44995000 */ mtc1 $t9, $f10 -/* 04FDC8 7F01B298 46802020 */ cvt.s.w $f0, $f4 -/* 04FDCC 7F01B29C 8E4F0008 */ lw $t7, 8($s2) -/* 04FDD0 7F01B2A0 448E2000 */ mtc1 $t6, $f4 -/* 04FDD4 7F01B2A4 8CF80008 */ lw $t8, 8($a3) -/* 04FDD8 7F01B2A8 3C018003 */ lui $at, %hi(D_8002BB0C) -/* 04FDDC 7F01B2AC 468030A0 */ cvt.s.w $f2, $f6 -/* 04FDE0 7F01B2B0 448F3000 */ mtc1 $t7, $f6 -/* 04FDE4 7F01B2B4 44984000 */ mtc1 $t8, $f8 -/* 04FDE8 7F01B2B8 3C140708 */ lui $s4, (0x07080200 >> 16) # lui $s4, 0x708 -/* 04FDEC 7F01B2BC 3C17070D */ lui $s7, (0x070DB026 >> 16) # lui $s7, 0x70d -/* 04FDF0 7F01B2C0 468053A0 */ cvt.s.w $f14, $f10 -/* 04FDF4 7F01B2C4 3C1FF588 */ lui $ra, (0xF5886E00 >> 16) # lui $ra, 0xf588 -/* 04FDF8 7F01B2C8 3C0D0400 */ lui $t5, (0x04000400 >> 16) # lui $t5, 0x400 -/* 04FDFC 7F01B2CC 3C0AE46D */ lui $t2, (0xE46DF000 >> 16) # lui $t2, 0xe46d -/* 04FE00 7F01B2D0 00A08025 */ move $s0, $a1 -/* 04FE04 7F01B2D4 46802420 */ cvt.s.w $f16, $f4 -/* 04FE08 7F01B2D8 E42EBB0C */ swc1 $f14, %lo(D_8002BB0C)($at) -/* 04FE0C 7F01B2DC 3C018003 */ lui $at, %hi(D_8002BB10) -/* 04FE10 7F01B2E0 00C08825 */ move $s1, $a2 -/* 04FE14 7F01B2E4 00004025 */ move $t0, $zero -/* 04FE18 7F01B2E8 468034A0 */ cvt.s.w $f18, $f6 -/* 04FE1C 7F01B2EC E430BB10 */ swc1 $f16, %lo(D_8002BB10)($at) -/* 04FE20 7F01B2F0 3C018003 */ lui $at, %hi(D_8002BB14) -/* 04FE24 7F01B2F4 354AF000 */ ori $t2, (0xE46DF000 & 0xFFFF) # ori $t2, $t2, 0xf000 -/* 04FE28 7F01B2F8 35AD0400 */ ori $t5, (0x04000400 & 0xFFFF) # ori $t5, $t5, 0x400 -/* 04FE2C 7F01B2FC 46804320 */ cvt.s.w $f12, $f8 -/* 04FE30 7F01B300 E432BB14 */ swc1 $f18, %lo(D_8002BB14)($at) -/* 04FE34 7F01B304 3C018005 */ lui $at, %hi(D_80051CF0) -/* 04FE38 7F01B308 37FF6E00 */ ori $ra, (0xF5886E00 & 0xFFFF) # ori $ra, $ra, 0x6e00 -/* 04FE3C 7F01B30C 36F7B026 */ ori $s7, (0x070DB026 & 0xFFFF) # ori $s7, $s7, 0xb026 -/* 04FE40 7F01B310 46028581 */ sub.s $f22, $f16, $f2 -/* 04FE44 7F01B314 C4301CF0 */ lwc1 $f16, %lo(D_80051CF0)($at) -/* 04FE48 7F01B318 36940200 */ ori $s4, (0x07080200 & 0xFFFF) # ori $s4, $s4, 0x200 -/* 04FE4C 7F01B31C 460C9601 */ sub.s $f24, $f18, $f12 -/* 04FE50 7F01B320 3C12FD90 */ lui $s2, 0xfd90 -/* 04FE54 7F01B324 3C13F590 */ lui $s3, 0xf590 -/* 04FE58 7F01B328 46007501 */ sub.s $f20, $f14, $f0 -/* 04FE5C 7F01B32C 3C15E600 */ lui $s5, 0xe600 -/* 04FE60 7F01B330 3C16F300 */ lui $s6, 0xf300 -/* 04FE64 7F01B334 3C1EE700 */ lui $fp, 0xe700 -/* 04FE68 7F01B338 24090001 */ li $t1, 1 -/* 04FE6C 7F01B33C 3C0CB300 */ lui $t4, 0xb300 -/* 04FE70 7F01B340 3C0BB400 */ lui $t3, 0xb400 -.L7F01B344: -/* 04FE74 7F01B344 44884000 */ mtc1 $t0, $f8 -/* 04FE78 7F01B348 00801025 */ move $v0, $a0 -/* 04FE7C 7F01B34C 24840008 */ addiu $a0, $a0, 8 -/* 04FE80 7F01B350 468043A0 */ cvt.s.w $f14, $f8 -/* 04FE84 7F01B354 00801825 */ move $v1, $a0 -/* 04FE88 7F01B358 AC520000 */ sw $s2, ($v0) -/* 04FE8C 7F01B35C AC500004 */ sw $s0, 4($v0) -/* 04FE90 7F01B360 24840008 */ addiu $a0, $a0, 8 -/* 04FE94 7F01B364 00802825 */ move $a1, $a0 -/* 04FE98 7F01B368 460EA282 */ mul.s $f10, $f20, $f14 -/* 04FE9C 7F01B36C AC740004 */ sw $s4, 4($v1) -/* 04FEA0 7F01B370 AC730000 */ sw $s3, ($v1) -/* 04FEA4 7F01B374 24840008 */ addiu $a0, $a0, 8 -/* 04FEA8 7F01B378 00803025 */ move $a2, $a0 -/* 04FEAC 7F01B37C 24840008 */ addiu $a0, $a0, 8 -/* 04FEB0 7F01B380 ACB50000 */ sw $s5, ($a1) -/* 04FEB4 7F01B384 46105103 */ div.s $f4, $f10, $f16 -/* 04FEB8 7F01B388 ACA00004 */ sw $zero, 4($a1) -/* 04FEBC 7F01B38C 00803825 */ move $a3, $a0 -/* 04FEC0 7F01B390 24840008 */ addiu $a0, $a0, 8 -/* 04FEC4 7F01B394 ACD70004 */ sw $s7, 4($a2) -/* 04FEC8 7F01B398 ACD60000 */ sw $s6, ($a2) -/* 04FECC 7F01B39C 00801025 */ move $v0, $a0 -/* 04FED0 7F01B3A0 ACE00004 */ sw $zero, 4($a3) -/* 04FED4 7F01B3A4 ACFE0000 */ sw $fp, ($a3) -/* 04FED8 7F01B3A8 3C180008 */ lui $t8, (0x00080200 >> 16) # lui $t8, 8 -/* 04FEDC 7F01B3AC 37180200 */ ori $t8, (0x00080200 & 0xFFFF) # ori $t8, $t8, 0x200 -/* 04FEE0 7F01B3B0 24840008 */ addiu $a0, $a0, 8 -/* 04FEE4 7F01B3B4 00801825 */ move $v1, $a0 -/* 04FEE8 7F01B3B8 AC580004 */ sw $t8, 4($v0) -/* 04FEEC 7F01B3BC AC5F0000 */ sw $ra, ($v0) -/* 04FEF0 7F01B3C0 3C19F200 */ lui $t9, 0xf200 -/* 04FEF4 7F01B3C4 AC790000 */ sw $t9, ($v1) -/* 04FEF8 7F01B3C8 24190001 */ li $t9, 1 -/* 04FEFC 7F01B3CC 24840008 */ addiu $a0, $a0, 8 -/* 04FF00 7F01B3D0 3C0E006D */ lui $t6, (0x006DC000 >> 16) # lui $t6, 0x6d -/* 04FF04 7F01B3D4 35CEC000 */ ori $t6, (0x006DC000 & 0xFFFF) # ori $t6, $t6, 0xc000 -/* 04FF08 7F01B3D8 00802825 */ move $a1, $a0 -/* 04FF0C 7F01B3DC AC6E0004 */ sw $t6, 4($v1) -/* 04FF10 7F01B3E0 46002180 */ add.s $f6, $f4, $f0 -/* 04FF14 7F01B3E4 24840008 */ addiu $a0, $a0, 8 -/* 04FF18 7F01B3E8 3C0FFA00 */ lui $t7, 0xfa00 -/* 04FF1C 7F01B3EC ACAF0000 */ sw $t7, ($a1) -/* 04FF20 7F01B3F0 4458F800 */ cfc1 $t8, $31 -/* 04FF24 7F01B3F4 44D9F800 */ ctc1 $t9, $31 -/* 04FF28 7F01B3F8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 04FF2C 7F01B3FC 00801025 */ move $v0, $a0 -/* 04FF30 7F01B400 46003224 */ cvt.w.s $f8, $f6 -/* 04FF34 7F01B404 4459F800 */ cfc1 $t9, $31 -/* 04FF38 7F01B408 00000000 */ nop -/* 04FF3C 7F01B40C 33390078 */ andi $t9, $t9, 0x78 -/* 04FF40 7F01B410 53200013 */ beql $t9, $zero, .L7F01B460 -/* 04FF44 7F01B414 44194000 */ mfc1 $t9, $f8 -/* 04FF48 7F01B418 44814000 */ mtc1 $at, $f8 -/* 04FF4C 7F01B41C 24190001 */ li $t9, 1 -/* 04FF50 7F01B420 46083201 */ sub.s $f8, $f6, $f8 -/* 04FF54 7F01B424 44D9F800 */ ctc1 $t9, $31 -/* 04FF58 7F01B428 00000000 */ nop -/* 04FF5C 7F01B42C 46004224 */ cvt.w.s $f8, $f8 -/* 04FF60 7F01B430 4459F800 */ cfc1 $t9, $31 -/* 04FF64 7F01B434 00000000 */ nop -/* 04FF68 7F01B438 33390078 */ andi $t9, $t9, 0x78 -/* 04FF6C 7F01B43C 17200005 */ bnez $t9, .L7F01B454 -/* 04FF70 7F01B440 00000000 */ nop -/* 04FF74 7F01B444 44194000 */ mfc1 $t9, $f8 -/* 04FF78 7F01B448 3C018000 */ lui $at, 0x8000 -/* 04FF7C 7F01B44C 10000007 */ b .L7F01B46C -/* 04FF80 7F01B450 0321C825 */ or $t9, $t9, $at -.L7F01B454: -/* 04FF84 7F01B454 10000005 */ b .L7F01B46C -/* 04FF88 7F01B458 2419FFFF */ li $t9, -1 -/* 04FF8C 7F01B45C 44194000 */ mfc1 $t9, $f8 -.L7F01B460: -/* 04FF90 7F01B460 00000000 */ nop -/* 04FF94 7F01B464 0720FFFB */ bltz $t9, .L7F01B454 -/* 04FF98 7F01B468 00000000 */ nop -.L7F01B46C: -/* 04FF9C 7F01B46C 44D8F800 */ ctc1 $t8, $31 -/* 04FFA0 7F01B470 03207025 */ move $t6, $t9 -/* 04FFA4 7F01B474 24190001 */ li $t9, 1 -/* 04FFA8 7F01B478 460EB282 */ mul.s $f10, $f22, $f14 -/* 04FFAC 7F01B47C 000E7E00 */ sll $t7, $t6, 0x18 -/* 04FFB0 7F01B480 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 04FFB4 7F01B484 46105103 */ div.s $f4, $f10, $f16 -/* 04FFB8 7F01B488 46041180 */ add.s $f6, $f2, $f4 -/* 04FFBC 7F01B48C 4458F800 */ cfc1 $t8, $31 -/* 04FFC0 7F01B490 44D9F800 */ ctc1 $t9, $31 -/* 04FFC4 7F01B494 00000000 */ nop -/* 04FFC8 7F01B498 46003224 */ cvt.w.s $f8, $f6 -/* 04FFCC 7F01B49C 4459F800 */ cfc1 $t9, $31 -/* 04FFD0 7F01B4A0 00000000 */ nop -/* 04FFD4 7F01B4A4 33390078 */ andi $t9, $t9, 0x78 -/* 04FFD8 7F01B4A8 53200013 */ beql $t9, $zero, .L7F01B4F8 -/* 04FFDC 7F01B4AC 44194000 */ mfc1 $t9, $f8 -/* 04FFE0 7F01B4B0 44814000 */ mtc1 $at, $f8 -/* 04FFE4 7F01B4B4 24190001 */ li $t9, 1 -/* 04FFE8 7F01B4B8 46083201 */ sub.s $f8, $f6, $f8 -/* 04FFEC 7F01B4BC 44D9F800 */ ctc1 $t9, $31 -/* 04FFF0 7F01B4C0 00000000 */ nop -/* 04FFF4 7F01B4C4 46004224 */ cvt.w.s $f8, $f8 -/* 04FFF8 7F01B4C8 4459F800 */ cfc1 $t9, $31 -/* 04FFFC 7F01B4CC 00000000 */ nop -/* 050000 7F01B4D0 33390078 */ andi $t9, $t9, 0x78 -/* 050004 7F01B4D4 17200005 */ bnez $t9, .L7F01B4EC -/* 050008 7F01B4D8 00000000 */ nop -/* 05000C 7F01B4DC 44194000 */ mfc1 $t9, $f8 -/* 050010 7F01B4E0 3C018000 */ lui $at, 0x8000 -/* 050014 7F01B4E4 10000007 */ b .L7F01B504 -/* 050018 7F01B4E8 0321C825 */ or $t9, $t9, $at -.L7F01B4EC: -/* 05001C 7F01B4EC 10000005 */ b .L7F01B504 -/* 050020 7F01B4F0 2419FFFF */ li $t9, -1 -/* 050024 7F01B4F4 44194000 */ mfc1 $t9, $f8 -.L7F01B4F8: -/* 050028 7F01B4F8 00000000 */ nop -/* 05002C 7F01B4FC 0720FFFB */ bltz $t9, .L7F01B4EC -/* 050030 7F01B500 00000000 */ nop -.L7F01B504: -/* 050034 7F01B504 44D8F800 */ ctc1 $t8, $31 -/* 050038 7F01B508 332E00FF */ andi $t6, $t9, 0xff -/* 05003C 7F01B50C 000EC400 */ sll $t8, $t6, 0x10 -/* 050040 7F01B510 460EC282 */ mul.s $f10, $f24, $f14 -/* 050044 7F01B514 01F8C825 */ or $t9, $t7, $t8 -/* 050048 7F01B518 240F0001 */ li $t7, 1 -/* 05004C 7F01B51C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 050050 7F01B520 46105103 */ div.s $f4, $f10, $f16 -/* 050054 7F01B524 46046180 */ add.s $f6, $f12, $f4 -/* 050058 7F01B528 444EF800 */ cfc1 $t6, $31 -/* 05005C 7F01B52C 44CFF800 */ ctc1 $t7, $31 -/* 050060 7F01B530 00000000 */ nop -/* 050064 7F01B534 46003224 */ cvt.w.s $f8, $f6 -/* 050068 7F01B538 444FF800 */ cfc1 $t7, $31 -/* 05006C 7F01B53C 00000000 */ nop -/* 050070 7F01B540 31EF0078 */ andi $t7, $t7, 0x78 -/* 050074 7F01B544 51E00013 */ beql $t7, $zero, .L7F01B594 -/* 050078 7F01B548 440F4000 */ mfc1 $t7, $f8 -/* 05007C 7F01B54C 44814000 */ mtc1 $at, $f8 -/* 050080 7F01B550 240F0001 */ li $t7, 1 -/* 050084 7F01B554 46083201 */ sub.s $f8, $f6, $f8 -/* 050088 7F01B558 44CFF800 */ ctc1 $t7, $31 -/* 05008C 7F01B55C 00000000 */ nop -/* 050090 7F01B560 46004224 */ cvt.w.s $f8, $f8 -/* 050094 7F01B564 444FF800 */ cfc1 $t7, $31 -/* 050098 7F01B568 00000000 */ nop -/* 05009C 7F01B56C 31EF0078 */ andi $t7, $t7, 0x78 -/* 0500A0 7F01B570 15E00005 */ bnez $t7, .L7F01B588 -/* 0500A4 7F01B574 00000000 */ nop -/* 0500A8 7F01B578 440F4000 */ mfc1 $t7, $f8 -/* 0500AC 7F01B57C 3C018000 */ lui $at, 0x8000 -/* 0500B0 7F01B580 10000007 */ b .L7F01B5A0 -/* 0500B4 7F01B584 01E17825 */ or $t7, $t7, $at -.L7F01B588: -/* 0500B8 7F01B588 10000005 */ b .L7F01B5A0 -/* 0500BC 7F01B58C 240FFFFF */ li $t7, -1 -/* 0500C0 7F01B590 440F4000 */ mfc1 $t7, $f8 -.L7F01B594: -/* 0500C4 7F01B594 00000000 */ nop -/* 0500C8 7F01B598 05E0FFFB */ bltz $t7, .L7F01B588 -/* 0500CC 7F01B59C 00000000 */ nop -.L7F01B5A0: -/* 0500D0 7F01B5A0 44CEF800 */ ctc1 $t6, $31 -/* 0500D4 7F01B5A4 31F800FF */ andi $t8, $t7, 0xff -/* 0500D8 7F01B5A8 00187200 */ sll $t6, $t8, 8 -/* 0500DC 7F01B5AC 032E7825 */ or $t7, $t9, $t6 -/* 0500E0 7F01B5B0 35F800FF */ ori $t8, $t7, 0xff -/* 0500E4 7F01B5B4 06210018 */ bgez $s1, .L7F01B618 -/* 0500E8 7F01B5B8 ACB80004 */ sw $t8, 4($a1) -/* 0500EC 7F01B5BC 25190011 */ addiu $t9, $t0, 0x11 -/* 0500F0 7F01B5C0 00197080 */ sll $t6, $t9, 2 -/* 0500F4 7F01B5C4 25CFFFFF */ addiu $t7, $t6, -1 -/* 0500F8 7F01B5C8 31F80FFF */ andi $t8, $t7, 0xfff -/* 0500FC 7F01B5CC 250E0010 */ addiu $t6, $t0, 0x10 -/* 050100 7F01B5D0 000E7880 */ sll $t7, $t6, 2 -/* 050104 7F01B5D4 030AC825 */ or $t9, $t8, $t2 -/* 050108 7F01B5D8 00801025 */ move $v0, $a0 -/* 05010C 7F01B5DC 24840008 */ addiu $a0, $a0, 8 -/* 050110 7F01B5E0 31F80FFF */ andi $t8, $t7, 0xfff -/* 050114 7F01B5E4 AC580004 */ sw $t8, 4($v0) -/* 050118 7F01B5E8 00801825 */ move $v1, $a0 -/* 05011C 7F01B5EC 24840008 */ addiu $a0, $a0, 8 -/* 050120 7F01B5F0 00117823 */ negu $t7, $s1 -/* 050124 7F01B5F4 AC590000 */ sw $t9, ($v0) -/* 050128 7F01B5F8 000FC540 */ sll $t8, $t7, 0x15 -/* 05012C 7F01B5FC 00802825 */ move $a1, $a0 -/* 050130 7F01B600 AC780004 */ sw $t8, 4($v1) -/* 050134 7F01B604 AC6B0000 */ sw $t3, ($v1) -/* 050138 7F01B608 ACAD0004 */ sw $t5, 4($a1) -/* 05013C 7F01B60C ACAC0000 */ sw $t4, ($a1) -/* 050140 7F01B610 10000018 */ b .L7F01B674 -/* 050144 7F01B614 24840008 */ addiu $a0, $a0, 8 -.L7F01B618: -/* 050148 7F01B618 25190011 */ addiu $t9, $t0, 0x11 -/* 05014C 7F01B61C 00197080 */ sll $t6, $t9, 2 -/* 050150 7F01B620 25CFFFFF */ addiu $t7, $t6, -1 -/* 050154 7F01B624 31F80FFF */ andi $t8, $t7, 0xfff -/* 050158 7F01B628 030AC825 */ or $t9, $t8, $t2 -/* 05015C 7F01B62C 00117080 */ sll $t6, $s1, 2 -/* 050160 7F01B630 31CF0FFF */ andi $t7, $t6, 0xfff -/* 050164 7F01B634 AC590000 */ sw $t9, ($v0) -/* 050168 7F01B638 25190010 */ addiu $t9, $t0, 0x10 -/* 05016C 7F01B63C 00197080 */ sll $t6, $t9, 2 -/* 050170 7F01B640 000FC300 */ sll $t8, $t7, 0xc -/* 050174 7F01B644 31CF0FFF */ andi $t7, $t6, 0xfff -/* 050178 7F01B648 24840008 */ addiu $a0, $a0, 8 -/* 05017C 7F01B64C 00801825 */ move $v1, $a0 -/* 050180 7F01B650 030FC825 */ or $t9, $t8, $t7 -/* 050184 7F01B654 AC590004 */ sw $t9, 4($v0) -/* 050188 7F01B658 24840008 */ addiu $a0, $a0, 8 -/* 05018C 7F01B65C 00802825 */ move $a1, $a0 -/* 050190 7F01B660 AC600004 */ sw $zero, 4($v1) -/* 050194 7F01B664 AC6B0000 */ sw $t3, ($v1) -/* 050198 7F01B668 ACAD0004 */ sw $t5, 4($a1) -/* 05019C 7F01B66C ACAC0000 */ sw $t4, ($a1) -/* 0501A0 7F01B670 24840008 */ addiu $a0, $a0, 8 -.L7F01B674: -/* 0501A4 7F01B674 01204025 */ move $t0, $t1 -/* 0501A8 7F01B678 25290001 */ addiu $t1, $t1, 1 -/* 0501AC 7F01B67C 2921012C */ slti $at, $t1, 0x12c -/* 0501B0 7F01B680 1420FF30 */ bnez $at, .L7F01B344 -/* 0501B4 7F01B684 261001B8 */ addiu $s0, $s0, 0x1b8 -/* 0501B8 7F01B688 3C018003 */ lui $at, %hi(D_8002BB08) -/* 0501BC 7F01B68C E42CBB08 */ swc1 $f12, %lo(D_8002BB08)($at) -/* 0501C0 7F01B690 8FBF0044 */ lw $ra, 0x44($sp) -/* 0501C4 7F01B694 3C018003 */ lui $at, %hi(D_8002BB04) -/* 0501C8 7F01B698 E422BB04 */ swc1 $f2, %lo(D_8002BB04)($at) -/* 0501CC 7F01B69C 3C018003 */ lui $at, %hi(D_8002BB00) -/* 0501D0 7F01B6A0 D7B40008 */ ldc1 $f20, 8($sp) -/* 0501D4 7F01B6A4 D7B60010 */ ldc1 $f22, 0x10($sp) -/* 0501D8 7F01B6A8 D7B80018 */ ldc1 $f24, 0x18($sp) -/* 0501DC 7F01B6AC 8FB00020 */ lw $s0, 0x20($sp) -/* 0501E0 7F01B6B0 8FB10024 */ lw $s1, 0x24($sp) -/* 0501E4 7F01B6B4 8FB20028 */ lw $s2, 0x28($sp) -/* 0501E8 7F01B6B8 8FB3002C */ lw $s3, 0x2c($sp) -/* 0501EC 7F01B6BC 8FB40030 */ lw $s4, 0x30($sp) -/* 0501F0 7F01B6C0 8FB50034 */ lw $s5, 0x34($sp) -/* 0501F4 7F01B6C4 8FB60038 */ lw $s6, 0x38($sp) -/* 0501F8 7F01B6C8 8FB7003C */ lw $s7, 0x3c($sp) -/* 0501FC 7F01B6CC 8FBE0040 */ lw $fp, 0x40($sp) -/* 050200 7F01B6D0 E420BB00 */ swc1 $f0, %lo(D_8002BB00)($at) -/* 050204 7F01B6D4 27BD0048 */ addiu $sp, $sp, 0x48 -/* 050208 7F01B6D8 03E00008 */ jr $ra -/* 05020C 7F01B6DC 00801025 */ move $v0, $a0 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01B6E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01B6E0 -/* 050210 7F01B6E0 44862000 */ mtc1 $a2, $f4 -/* 050214 7F01B6E4 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 050218 7F01B6E8 3C018003 */ lui $at, %hi(D_8002BB2C) -/* 05021C 7F01B6EC 468023A0 */ cvt.s.w $f14, $f4 -/* 050220 7F01B6F0 AFBF0044 */ sw $ra, 0x44($sp) -/* 050224 7F01B6F4 AFBE0040 */ sw $fp, 0x40($sp) -/* 050228 7F01B6F8 AFB60038 */ sw $s6, 0x38($sp) -/* 05022C 7F01B6FC AFB3002C */ sw $s3, 0x2c($sp) -/* 050230 7F01B700 AFB7003C */ sw $s7, 0x3c($sp) -/* 050234 7F01B704 E42EBB2C */ swc1 $f14, %lo(D_8002BB2C)($at) -/* 050238 7F01B708 C426BB2C */ lwc1 $f6, %lo(D_8002BB2C)($at) -/* 05023C 7F01B70C 46007406 */ mov.s $f16, $f14 -/* 050240 7F01B710 3C018003 */ lui $at, %hi(D_8002BB24) -/* 050244 7F01B714 E430BB24 */ swc1 $f16, %lo(D_8002BB24)($at) -/* 050248 7F01B718 3C018003 */ lui $at, %hi(D_8002BB28) -/* 05024C 7F01B71C E42EBB28 */ swc1 $f14, %lo(D_8002BB28)($at) -/* 050250 7F01B720 3C014359 */ li $at, 0x43590000 # 217.000000 -/* 050254 7F01B724 AFB50034 */ sw $s5, 0x34($sp) -/* 050258 7F01B728 AFB40030 */ sw $s4, 0x30($sp) -/* 05025C 7F01B72C AFB20028 */ sw $s2, 0x28($sp) -/* 050260 7F01B730 AFB10024 */ sw $s1, 0x24($sp) -/* 050264 7F01B734 AFB00020 */ sw $s0, 0x20($sp) -/* 050268 7F01B738 F7B80018 */ sdc1 $f24, 0x18($sp) -/* 05026C 7F01B73C F7B60010 */ sdc1 $f22, 0x10($sp) -/* 050270 7F01B740 F7B40008 */ sdc1 $f20, 8($sp) -/* 050274 7F01B744 3C130708 */ lui $s3, (0x07080200 >> 16) # lui $s3, 0x708 -/* 050278 7F01B748 3C160713 */ lui $s6, (0x0713F01A >> 16) # lui $s6, 0x713 -/* 05027C 7F01B74C 3C1EF510 */ lui $fp, (0xF510A000 >> 16) # lui $fp, 0xf510 -/* 050280 7F01B750 3C1F0008 */ lui $ra, (0x00080200 >> 16) # lui $ra, 8 -/* 050284 7F01B754 3C0D0400 */ lui $t5, (0x04000400 >> 16) # lui $t5, 0x400 -/* 050288 7F01B758 3C0AE44F */ lui $t2, (0xE44FF000 >> 16) # lui $t2, 0xe44f -/* 05028C 7F01B75C 44818000 */ mtc1 $at, $f16 -/* 050290 7F01B760 00A08025 */ move $s0, $a1 -/* 050294 7F01B764 00003825 */ move $a3, $zero -/* 050298 7F01B768 46007006 */ mov.s $f0, $f14 -/* 05029C 7F01B76C 46007306 */ mov.s $f12, $f14 -/* 0502A0 7F01B770 354AF000 */ ori $t2, (0xE44FF000 & 0xFFFF) # ori $t2, $t2, 0xf000 -/* 0502A4 7F01B774 35AD0400 */ ori $t5, (0x04000400 & 0xFFFF) # ori $t5, $t5, 0x400 -/* 0502A8 7F01B778 37FF0200 */ ori $ra, (0x00080200 & 0xFFFF) # ori $ra, $ra, 0x200 -/* 0502AC 7F01B77C 37DEA000 */ ori $fp, (0xF510A000 & 0xFFFF) # ori $fp, $fp, 0xa000 -/* 0502B0 7F01B780 36D6F01A */ ori $s6, (0x0713F01A & 0xFFFF) # ori $s6, $s6, 0xf01a -/* 0502B4 7F01B784 36730200 */ ori $s3, (0x07080200 & 0xFFFF) # ori $s3, $s3, 0x200 -/* 0502B8 7F01B788 460E7501 */ sub.s $f20, $f14, $f14 -/* 0502BC 7F01B78C 3C11FD10 */ lui $s1, 0xfd10 -/* 0502C0 7F01B790 3C12F510 */ lui $s2, 0xf510 -/* 0502C4 7F01B794 460E7581 */ sub.s $f22, $f14, $f14 -/* 0502C8 7F01B798 3C14E600 */ lui $s4, 0xe600 -/* 0502CC 7F01B79C 3C15F300 */ lui $s5, 0xf300 -/* 0502D0 7F01B7A0 3C17E700 */ lui $s7, 0xe700 -/* 0502D4 7F01B7A4 24090001 */ li $t1, 1 -/* 0502D8 7F01B7A8 3C0CB300 */ lui $t4, 0xb300 -/* 0502DC 7F01B7AC 3C0BB400 */ lui $t3, 0xb400 -/* 0502E0 7F01B7B0 460E3601 */ sub.s $f24, $f6, $f14 -.L7F01B7B4: -/* 0502E4 7F01B7B4 44874000 */ mtc1 $a3, $f8 -/* 0502E8 7F01B7B8 00801025 */ move $v0, $a0 -/* 0502EC 7F01B7BC 24840008 */ addiu $a0, $a0, 8 -/* 0502F0 7F01B7C0 468040A0 */ cvt.s.w $f2, $f8 -/* 0502F4 7F01B7C4 00801825 */ move $v1, $a0 -/* 0502F8 7F01B7C8 AC510000 */ sw $s1, ($v0) -/* 0502FC 7F01B7CC AC500004 */ sw $s0, 4($v0) -/* 050300 7F01B7D0 24840008 */ addiu $a0, $a0, 8 -/* 050304 7F01B7D4 00802825 */ move $a1, $a0 -/* 050308 7F01B7D8 4602A282 */ mul.s $f10, $f20, $f2 -/* 05030C 7F01B7DC AC730004 */ sw $s3, 4($v1) -/* 050310 7F01B7E0 AC720000 */ sw $s2, ($v1) -/* 050314 7F01B7E4 24840008 */ addiu $a0, $a0, 8 -/* 050318 7F01B7E8 00803025 */ move $a2, $a0 -/* 05031C 7F01B7EC 24840008 */ addiu $a0, $a0, 8 -/* 050320 7F01B7F0 ACB40000 */ sw $s4, ($a1) -/* 050324 7F01B7F4 46105103 */ div.s $f4, $f10, $f16 -/* 050328 7F01B7F8 ACA00004 */ sw $zero, 4($a1) -/* 05032C 7F01B7FC 00804025 */ move $t0, $a0 -/* 050330 7F01B800 24840008 */ addiu $a0, $a0, 8 -/* 050334 7F01B804 ACD60004 */ sw $s6, 4($a2) -/* 050338 7F01B808 ACD50000 */ sw $s5, ($a2) -/* 05033C 7F01B80C 00801025 */ move $v0, $a0 -/* 050340 7F01B810 AD000004 */ sw $zero, 4($t0) -/* 050344 7F01B814 AD170000 */ sw $s7, ($t0) -/* 050348 7F01B818 24840008 */ addiu $a0, $a0, 8 -/* 05034C 7F01B81C 00801825 */ move $v1, $a0 -/* 050350 7F01B820 AC5F0004 */ sw $ra, 4($v0) -/* 050354 7F01B824 AC5E0000 */ sw $fp, ($v0) -/* 050358 7F01B828 3C0EF200 */ lui $t6, 0xf200 -/* 05035C 7F01B82C AC6E0000 */ sw $t6, ($v1) -/* 050360 7F01B830 240E0001 */ li $t6, 1 -/* 050364 7F01B834 24840008 */ addiu $a0, $a0, 8 -/* 050368 7F01B838 00802825 */ move $a1, $a0 -/* 05036C 7F01B83C 3C0F004F */ lui $t7, (0x004FC000 >> 16) # lui $t7, 0x4f -/* 050370 7F01B840 24840008 */ addiu $a0, $a0, 8 -/* 050374 7F01B844 35EFC000 */ ori $t7, (0x004FC000 & 0xFFFF) # ori $t7, $t7, 0xc000 -/* 050378 7F01B848 00801025 */ move $v0, $a0 -/* 05037C 7F01B84C AC6F0004 */ sw $t7, 4($v1) -/* 050380 7F01B850 46002180 */ add.s $f6, $f4, $f0 -/* 050384 7F01B854 24840008 */ addiu $a0, $a0, 8 -/* 050388 7F01B858 3C18FA00 */ lui $t8, 0xfa00 -/* 05038C 7F01B85C 00801825 */ move $v1, $a0 -/* 050390 7F01B860 4459F800 */ cfc1 $t9, $31 -/* 050394 7F01B864 44CEF800 */ ctc1 $t6, $31 -/* 050398 7F01B868 ACB80000 */ sw $t8, ($a1) -/* 05039C 7F01B86C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0503A0 7F01B870 46003224 */ cvt.w.s $f8, $f6 -/* 0503A4 7F01B874 24840008 */ addiu $a0, $a0, 8 -/* 0503A8 7F01B878 26100280 */ addiu $s0, $s0, 0x280 -/* 0503AC 7F01B87C 444EF800 */ cfc1 $t6, $31 -/* 0503B0 7F01B880 00000000 */ nop -/* 0503B4 7F01B884 31CE0078 */ andi $t6, $t6, 0x78 -/* 0503B8 7F01B888 51C00013 */ beql $t6, $zero, .L7F01B8D8 -/* 0503BC 7F01B88C 440E4000 */ mfc1 $t6, $f8 -/* 0503C0 7F01B890 44814000 */ mtc1 $at, $f8 -/* 0503C4 7F01B894 240E0001 */ li $t6, 1 -/* 0503C8 7F01B898 46083201 */ sub.s $f8, $f6, $f8 -/* 0503CC 7F01B89C 44CEF800 */ ctc1 $t6, $31 -/* 0503D0 7F01B8A0 00000000 */ nop -/* 0503D4 7F01B8A4 46004224 */ cvt.w.s $f8, $f8 -/* 0503D8 7F01B8A8 444EF800 */ cfc1 $t6, $31 -/* 0503DC 7F01B8AC 00000000 */ nop -/* 0503E0 7F01B8B0 31CE0078 */ andi $t6, $t6, 0x78 -/* 0503E4 7F01B8B4 15C00005 */ bnez $t6, .L7F01B8CC -/* 0503E8 7F01B8B8 00000000 */ nop -/* 0503EC 7F01B8BC 440E4000 */ mfc1 $t6, $f8 -/* 0503F0 7F01B8C0 3C018000 */ lui $at, 0x8000 -/* 0503F4 7F01B8C4 10000007 */ b .L7F01B8E4 -/* 0503F8 7F01B8C8 01C17025 */ or $t6, $t6, $at -.L7F01B8CC: -/* 0503FC 7F01B8CC 10000005 */ b .L7F01B8E4 -/* 050400 7F01B8D0 240EFFFF */ li $t6, -1 -/* 050404 7F01B8D4 440E4000 */ mfc1 $t6, $f8 -.L7F01B8D8: -/* 050408 7F01B8D8 00000000 */ nop -/* 05040C 7F01B8DC 05C0FFFB */ bltz $t6, .L7F01B8CC -/* 050410 7F01B8E0 00000000 */ nop -.L7F01B8E4: -/* 050414 7F01B8E4 44D9F800 */ ctc1 $t9, $31 -/* 050418 7F01B8E8 01C07825 */ move $t7, $t6 -/* 05041C 7F01B8EC 240E0001 */ li $t6, 1 -/* 050420 7F01B8F0 4602B282 */ mul.s $f10, $f22, $f2 -/* 050424 7F01B8F4 000FC600 */ sll $t8, $t7, 0x18 -/* 050428 7F01B8F8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 05042C 7F01B8FC 46105103 */ div.s $f4, $f10, $f16 -/* 050430 7F01B900 46046180 */ add.s $f6, $f12, $f4 -/* 050434 7F01B904 4459F800 */ cfc1 $t9, $31 -/* 050438 7F01B908 44CEF800 */ ctc1 $t6, $31 -/* 05043C 7F01B90C 00000000 */ nop -/* 050440 7F01B910 46003224 */ cvt.w.s $f8, $f6 -/* 050444 7F01B914 444EF800 */ cfc1 $t6, $31 -/* 050448 7F01B918 00000000 */ nop -/* 05044C 7F01B91C 31CE0078 */ andi $t6, $t6, 0x78 -/* 050450 7F01B920 51C00013 */ beql $t6, $zero, .L7F01B970 -/* 050454 7F01B924 440E4000 */ mfc1 $t6, $f8 -/* 050458 7F01B928 44814000 */ mtc1 $at, $f8 -/* 05045C 7F01B92C 240E0001 */ li $t6, 1 -/* 050460 7F01B930 46083201 */ sub.s $f8, $f6, $f8 -/* 050464 7F01B934 44CEF800 */ ctc1 $t6, $31 -/* 050468 7F01B938 00000000 */ nop -/* 05046C 7F01B93C 46004224 */ cvt.w.s $f8, $f8 -/* 050470 7F01B940 444EF800 */ cfc1 $t6, $31 -/* 050474 7F01B944 00000000 */ nop -/* 050478 7F01B948 31CE0078 */ andi $t6, $t6, 0x78 -/* 05047C 7F01B94C 15C00005 */ bnez $t6, .L7F01B964 -/* 050480 7F01B950 00000000 */ nop -/* 050484 7F01B954 440E4000 */ mfc1 $t6, $f8 -/* 050488 7F01B958 3C018000 */ lui $at, 0x8000 -/* 05048C 7F01B95C 10000007 */ b .L7F01B97C -/* 050490 7F01B960 01C17025 */ or $t6, $t6, $at -.L7F01B964: -/* 050494 7F01B964 10000005 */ b .L7F01B97C -/* 050498 7F01B968 240EFFFF */ li $t6, -1 -/* 05049C 7F01B96C 440E4000 */ mfc1 $t6, $f8 -.L7F01B970: -/* 0504A0 7F01B970 00000000 */ nop -/* 0504A4 7F01B974 05C0FFFB */ bltz $t6, .L7F01B964 -/* 0504A8 7F01B978 00000000 */ nop -.L7F01B97C: -/* 0504AC 7F01B97C 44D9F800 */ ctc1 $t9, $31 -/* 0504B0 7F01B980 31CF00FF */ andi $t7, $t6, 0xff -/* 0504B4 7F01B984 000FCC00 */ sll $t9, $t7, 0x10 -/* 0504B8 7F01B988 4602C282 */ mul.s $f10, $f24, $f2 -/* 0504BC 7F01B98C 03197025 */ or $t6, $t8, $t9 -/* 0504C0 7F01B990 24180001 */ li $t8, 1 -/* 0504C4 7F01B994 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0504C8 7F01B998 46105103 */ div.s $f4, $f10, $f16 -/* 0504CC 7F01B99C 46047180 */ add.s $f6, $f14, $f4 -/* 0504D0 7F01B9A0 444FF800 */ cfc1 $t7, $31 -/* 0504D4 7F01B9A4 44D8F800 */ ctc1 $t8, $31 -/* 0504D8 7F01B9A8 00000000 */ nop -/* 0504DC 7F01B9AC 46003224 */ cvt.w.s $f8, $f6 -/* 0504E0 7F01B9B0 4458F800 */ cfc1 $t8, $31 -/* 0504E4 7F01B9B4 00000000 */ nop -/* 0504E8 7F01B9B8 33180078 */ andi $t8, $t8, 0x78 -/* 0504EC 7F01B9BC 53000013 */ beql $t8, $zero, .L7F01BA0C -/* 0504F0 7F01B9C0 44184000 */ mfc1 $t8, $f8 -/* 0504F4 7F01B9C4 44814000 */ mtc1 $at, $f8 -/* 0504F8 7F01B9C8 24180001 */ li $t8, 1 -/* 0504FC 7F01B9CC 46083201 */ sub.s $f8, $f6, $f8 -/* 050500 7F01B9D0 44D8F800 */ ctc1 $t8, $31 -/* 050504 7F01B9D4 00000000 */ nop -/* 050508 7F01B9D8 46004224 */ cvt.w.s $f8, $f8 -/* 05050C 7F01B9DC 4458F800 */ cfc1 $t8, $31 -/* 050510 7F01B9E0 00000000 */ nop -/* 050514 7F01B9E4 33180078 */ andi $t8, $t8, 0x78 -/* 050518 7F01B9E8 17000005 */ bnez $t8, .L7F01BA00 -/* 05051C 7F01B9EC 00000000 */ nop -/* 050520 7F01B9F0 44184000 */ mfc1 $t8, $f8 -/* 050524 7F01B9F4 3C018000 */ lui $at, 0x8000 -/* 050528 7F01B9F8 10000007 */ b .L7F01BA18 -/* 05052C 7F01B9FC 0301C025 */ or $t8, $t8, $at -.L7F01BA00: -/* 050530 7F01BA00 10000005 */ b .L7F01BA18 -/* 050534 7F01BA04 2418FFFF */ li $t8, -1 -/* 050538 7F01BA08 44184000 */ mfc1 $t8, $f8 -.L7F01BA0C: -/* 05053C 7F01BA0C 00000000 */ nop -/* 050540 7F01BA10 0700FFFB */ bltz $t8, .L7F01BA00 -/* 050544 7F01BA14 00000000 */ nop -.L7F01BA18: -/* 050548 7F01BA18 44CFF800 */ ctc1 $t7, $31 -/* 05054C 7F01BA1C 331900FF */ andi $t9, $t8, 0xff -/* 050550 7F01BA20 00197A00 */ sll $t7, $t9, 8 -/* 050554 7F01BA24 01CFC025 */ or $t8, $t6, $t7 -/* 050558 7F01BA28 371900FF */ ori $t9, $t8, 0xff -/* 05055C 7F01BA2C 24EE000D */ addiu $t6, $a3, 0xd -/* 050560 7F01BA30 000E7880 */ sll $t7, $t6, 2 -/* 050564 7F01BA34 ACB90004 */ sw $t9, 4($a1) -/* 050568 7F01BA38 25F8FFFF */ addiu $t8, $t7, -1 -/* 05056C 7F01BA3C 33190FFF */ andi $t9, $t8, 0xfff -/* 050570 7F01BA40 24EF000C */ addiu $t7, $a3, 0xc -/* 050574 7F01BA44 000FC080 */ sll $t8, $t7, 2 -/* 050578 7F01BA48 032A7025 */ or $t6, $t9, $t2 -/* 05057C 7F01BA4C 33190FFF */ andi $t9, $t8, 0xfff -/* 050580 7F01BA50 AC590004 */ sw $t9, 4($v0) -/* 050584 7F01BA54 AC4E0000 */ sw $t6, ($v0) -/* 050588 7F01BA58 01203825 */ move $a3, $t1 -/* 05058C 7F01BA5C 00802825 */ move $a1, $a0 -/* 050590 7F01BA60 25290001 */ addiu $t1, $t1, 1 -/* 050594 7F01BA64 AC600004 */ sw $zero, 4($v1) -/* 050598 7F01BA68 AC6B0000 */ sw $t3, ($v1) -/* 05059C 7F01BA6C 292100DA */ slti $at, $t1, 0xda -/* 0505A0 7F01BA70 ACAD0004 */ sw $t5, 4($a1) -/* 0505A4 7F01BA74 ACAC0000 */ sw $t4, ($a1) -/* 0505A8 7F01BA78 1420FF4E */ bnez $at, .L7F01B7B4 -/* 0505AC 7F01BA7C 24840008 */ addiu $a0, $a0, 8 -/* 0505B0 7F01BA80 3C018003 */ lui $at, %hi(D_8002BB20) -/* 0505B4 7F01BA84 E42EBB20 */ swc1 $f14, %lo(D_8002BB20)($at) -/* 0505B8 7F01BA88 8FBF0044 */ lw $ra, 0x44($sp) -/* 0505BC 7F01BA8C 3C018003 */ lui $at, %hi(D_8002BB1C) -/* 0505C0 7F01BA90 E42CBB1C */ swc1 $f12, %lo(D_8002BB1C)($at) -/* 0505C4 7F01BA94 3C018003 */ lui $at, %hi(D_8002BB18) -/* 0505C8 7F01BA98 D7B40008 */ ldc1 $f20, 8($sp) -/* 0505CC 7F01BA9C D7B60010 */ ldc1 $f22, 0x10($sp) -/* 0505D0 7F01BAA0 D7B80018 */ ldc1 $f24, 0x18($sp) -/* 0505D4 7F01BAA4 8FB00020 */ lw $s0, 0x20($sp) -/* 0505D8 7F01BAA8 8FB10024 */ lw $s1, 0x24($sp) -/* 0505DC 7F01BAAC 8FB20028 */ lw $s2, 0x28($sp) -/* 0505E0 7F01BAB0 8FB3002C */ lw $s3, 0x2c($sp) -/* 0505E4 7F01BAB4 8FB40030 */ lw $s4, 0x30($sp) -/* 0505E8 7F01BAB8 8FB50034 */ lw $s5, 0x34($sp) -/* 0505EC 7F01BABC 8FB60038 */ lw $s6, 0x38($sp) -/* 0505F0 7F01BAC0 8FB7003C */ lw $s7, 0x3c($sp) -/* 0505F4 7F01BAC4 8FBE0040 */ lw $fp, 0x40($sp) -/* 0505F8 7F01BAC8 E420BB18 */ swc1 $f0, %lo(D_8002BB18)($at) -/* 0505FC 7F01BACC 27BD0048 */ addiu $sp, $sp, 0x48 -/* 050600 7F01BAD0 03E00008 */ jr $ra -/* 050604 7F01BAD4 00801025 */ move $v0, $a0 -) -#endif - - diff --git a/src/game/unk_01BAE0.c b/src/game/unk_01BAE0.c deleted file mode 100644 index 861352a..0000000 --- a/src/game/unk_01BAE0.c +++ /dev/null @@ -1,440 +0,0 @@ -#include "ultra64.h" - - -#ifdef NONMATCHING -void sub_GAME_7F01BAE0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel PI_80051D00 -.word 0x40490FDB /*3.1415927*/ -.text -glabel sub_GAME_7F01BAE0 -/* 050610 7F01BAE0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 050614 7F01BAE4 AFB50058 */ sw $s5, 0x58($sp) -/* 050618 7F01BAE8 AFB2004C */ sw $s2, 0x4c($sp) -/* 05061C 7F01BAEC AFB00044 */ sw $s0, 0x44($sp) -/* 050620 7F01BAF0 00808025 */ move $s0, $a0 -/* 050624 7F01BAF4 00A0A825 */ move $s5, $a1 -/* 050628 7F01BAF8 AFBF005C */ sw $ra, 0x5c($sp) -/* 05062C 7F01BAFC AFB40054 */ sw $s4, 0x54($sp) -/* 050630 7F01BB00 AFB30050 */ sw $s3, 0x50($sp) -/* 050634 7F01BB04 AFB10048 */ sw $s1, 0x48($sp) -/* 050638 7F01BB08 F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 05063C 7F01BB0C F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 050640 7F01BB10 F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 050644 7F01BB14 F7B80020 */ sdc1 $f24, 0x20($sp) -/* 050648 7F01BB18 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 05064C 7F01BB1C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 050650 7F01BB20 04A00126 */ bltz $a1, .L7F01BFBC -/* 050654 7F01BB24 00009025 */ move $s2, $zero -/* 050658 7F01BB28 3C014280 */ li $at, 0x42800000 # 64.000000 -/* 05065C 7F01BB2C 4481F000 */ mtc1 $at, $f30 -/* 050660 7F01BB30 3C018005 */ lui $at, %hi(PI_80051D00) -/* 050664 7F01BB34 C43C1D00 */ lwc1 $f28, %lo(PI_80051D00)($at) -/* 050668 7F01BB38 3C01C2DE */ li $at, 0xC2DE0000 # -111.000000 -/* 05066C 7F01BB3C 44952000 */ mtc1 $s5, $f4 -/* 050670 7F01BB40 4481C000 */ mtc1 $at, $f24 -/* 050674 7F01BB44 3C01430F */ li $at, 0x430F0000 # 143.000000 -/* 050678 7F01BB48 4481B000 */ mtc1 $at, $f22 -/* 05067C 7F01BB4C 241100FF */ li $s1, 255 -/* 050680 7F01BB50 468026A0 */ cvt.s.w $f26, $f4 -/* 050684 7F01BB54 44923000 */ mtc1 $s2, $f6 -.L7F01BB58: -/* 050688 7F01BB58 00000000 */ nop -/* 05068C 7F01BB5C 46803220 */ cvt.s.w $f8, $f6 -/* 050690 7F01BB60 461C4282 */ mul.s $f10, $f8, $f28 -/* 050694 7F01BB64 461A5503 */ div.s $f20, $f10, $f26 -/* 050698 7F01BB68 0FC15FAB */ jal sinf -/* 05069C 7F01BB6C 4600A306 */ mov.s $f12, $f20 -/* 0506A0 7F01BB70 461E0402 */ mul.s $f16, $f0, $f30 -/* 0506A4 7F01BB74 4600A306 */ mov.s $f12, $f20 -/* 0506A8 7F01BB78 4600848D */ trunc.w.s $f18, $f16 -/* 0506AC 7F01BB7C 44139000 */ mfc1 $s3, $f18 -/* 0506B0 7F01BB80 00000000 */ nop -/* 0506B4 7F01BB84 00137C00 */ sll $t7, $s3, 0x10 -/* 0506B8 7F01BB88 0FC15FA8 */ jal cosf -/* 0506BC 7F01BB8C 000F9C03 */ sra $s3, $t7, 0x10 -/* 0506C0 7F01BB90 3C01C280 */ li $at, 0xC2800000 # -64.000000 -/* 0506C4 7F01BB94 44812000 */ mtc1 $at, $f4 -/* 0506C8 7F01BB98 A6130000 */ sh $s3, ($s0) -/* 0506CC 7F01BB9C A6000004 */ sh $zero, 4($s0) -/* 0506D0 7F01BBA0 46040182 */ mul.s $f6, $f0, $f4 -/* 0506D4 7F01BBA4 A6000006 */ sh $zero, 6($s0) -/* 0506D8 7F01BBA8 A6000008 */ sh $zero, 8($s0) -/* 0506DC 7F01BBAC A600000A */ sh $zero, 0xa($s0) -/* 0506E0 7F01BBB0 A211000C */ sb $s1, 0xc($s0) -/* 0506E4 7F01BBB4 A211000D */ sb $s1, 0xd($s0) -/* 0506E8 7F01BBB8 A211000E */ sb $s1, 0xe($s0) -/* 0506EC 7F01BBBC 4600320D */ trunc.w.s $f8, $f6 -/* 0506F0 7F01BBC0 4600A306 */ mov.s $f12, $f20 -/* 0506F4 7F01BBC4 44024000 */ mfc1 $v0, $f8 -/* 0506F8 7F01BBC8 00000000 */ nop -/* 0506FC 7F01BBCC 0002A400 */ sll $s4, $v0, 0x10 -/* 050700 7F01BBD0 00144403 */ sra $t0, $s4, 0x10 -/* 050704 7F01BBD4 0100A025 */ move $s4, $t0 -/* 050708 7F01BBD8 0FC15FA8 */ jal cosf -/* 05070C 7F01BBDC A6020002 */ sh $v0, 2($s0) -/* 050710 7F01BBE0 46180282 */ mul.s $f10, $f0, $f24 -/* 050714 7F01BBE4 240A0001 */ li $t2, 1 -/* 050718 7F01BBE8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 05071C 7F01BBEC 460AB401 */ sub.s $f16, $f22, $f10 -/* 050720 7F01BBF0 4449F800 */ cfc1 $t1, $31 -/* 050724 7F01BBF4 44CAF800 */ ctc1 $t2, $31 -/* 050728 7F01BBF8 00000000 */ nop -/* 05072C 7F01BBFC 460084A4 */ cvt.w.s $f18, $f16 -/* 050730 7F01BC00 444AF800 */ cfc1 $t2, $31 -/* 050734 7F01BC04 00000000 */ nop -/* 050738 7F01BC08 314A0078 */ andi $t2, $t2, 0x78 -/* 05073C 7F01BC0C 51400013 */ beql $t2, $zero, .L7F01BC5C -/* 050740 7F01BC10 440A9000 */ mfc1 $t2, $f18 -/* 050744 7F01BC14 44819000 */ mtc1 $at, $f18 -/* 050748 7F01BC18 240A0001 */ li $t2, 1 -/* 05074C 7F01BC1C 46128481 */ sub.s $f18, $f16, $f18 -/* 050750 7F01BC20 44CAF800 */ ctc1 $t2, $31 -/* 050754 7F01BC24 00000000 */ nop -/* 050758 7F01BC28 460094A4 */ cvt.w.s $f18, $f18 -/* 05075C 7F01BC2C 444AF800 */ cfc1 $t2, $31 -/* 050760 7F01BC30 00000000 */ nop -/* 050764 7F01BC34 314A0078 */ andi $t2, $t2, 0x78 -/* 050768 7F01BC38 15400005 */ bnez $t2, .L7F01BC50 -/* 05076C 7F01BC3C 00000000 */ nop -/* 050770 7F01BC40 440A9000 */ mfc1 $t2, $f18 -/* 050774 7F01BC44 3C018000 */ lui $at, 0x8000 -/* 050778 7F01BC48 10000007 */ b .L7F01BC68 -/* 05077C 7F01BC4C 01415025 */ or $t2, $t2, $at -.L7F01BC50: -/* 050780 7F01BC50 10000005 */ b .L7F01BC68 -/* 050784 7F01BC54 240AFFFF */ li $t2, -1 -/* 050788 7F01BC58 440A9000 */ mfc1 $t2, $f18 -.L7F01BC5C: -/* 05078C 7F01BC5C 00000000 */ nop -/* 050790 7F01BC60 0540FFFB */ bltz $t2, .L7F01BC50 -/* 050794 7F01BC64 00000000 */ nop -.L7F01BC68: -/* 050798 7F01BC68 44C9F800 */ ctc1 $t1, $31 -/* 05079C 7F01BC6C A20A000C */ sb $t2, 0xc($s0) -/* 0507A0 7F01BC70 0FC15FA8 */ jal cosf -/* 0507A4 7F01BC74 4600A306 */ mov.s $f12, $f20 -/* 0507A8 7F01BC78 46180102 */ mul.s $f4, $f0, $f24 -/* 0507AC 7F01BC7C 240C0001 */ li $t4, 1 -/* 0507B0 7F01BC80 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0507B4 7F01BC84 4604B181 */ sub.s $f6, $f22, $f4 -/* 0507B8 7F01BC88 444BF800 */ cfc1 $t3, $31 -/* 0507BC 7F01BC8C 44CCF800 */ ctc1 $t4, $31 -/* 0507C0 7F01BC90 00000000 */ nop -/* 0507C4 7F01BC94 46003224 */ cvt.w.s $f8, $f6 -/* 0507C8 7F01BC98 444CF800 */ cfc1 $t4, $31 -/* 0507CC 7F01BC9C 00000000 */ nop -/* 0507D0 7F01BCA0 318C0078 */ andi $t4, $t4, 0x78 -/* 0507D4 7F01BCA4 51800013 */ beql $t4, $zero, .L7F01BCF4 -/* 0507D8 7F01BCA8 440C4000 */ mfc1 $t4, $f8 -/* 0507DC 7F01BCAC 44814000 */ mtc1 $at, $f8 -/* 0507E0 7F01BCB0 240C0001 */ li $t4, 1 -/* 0507E4 7F01BCB4 46083201 */ sub.s $f8, $f6, $f8 -/* 0507E8 7F01BCB8 44CCF800 */ ctc1 $t4, $31 -/* 0507EC 7F01BCBC 00000000 */ nop -/* 0507F0 7F01BCC0 46004224 */ cvt.w.s $f8, $f8 -/* 0507F4 7F01BCC4 444CF800 */ cfc1 $t4, $31 -/* 0507F8 7F01BCC8 00000000 */ nop -/* 0507FC 7F01BCCC 318C0078 */ andi $t4, $t4, 0x78 -/* 050800 7F01BCD0 15800005 */ bnez $t4, .L7F01BCE8 -/* 050804 7F01BCD4 00000000 */ nop -/* 050808 7F01BCD8 440C4000 */ mfc1 $t4, $f8 -/* 05080C 7F01BCDC 3C018000 */ lui $at, 0x8000 -/* 050810 7F01BCE0 10000007 */ b .L7F01BD00 -/* 050814 7F01BCE4 01816025 */ or $t4, $t4, $at -.L7F01BCE8: -/* 050818 7F01BCE8 10000005 */ b .L7F01BD00 -/* 05081C 7F01BCEC 240CFFFF */ li $t4, -1 -/* 050820 7F01BCF0 440C4000 */ mfc1 $t4, $f8 -.L7F01BCF4: -/* 050824 7F01BCF4 00000000 */ nop -/* 050828 7F01BCF8 0580FFFB */ bltz $t4, .L7F01BCE8 -/* 05082C 7F01BCFC 00000000 */ nop -.L7F01BD00: -/* 050830 7F01BD00 44CBF800 */ ctc1 $t3, $31 -/* 050834 7F01BD04 A20C000D */ sb $t4, 0xd($s0) -/* 050838 7F01BD08 0FC15FA8 */ jal cosf -/* 05083C 7F01BD0C 4600A306 */ mov.s $f12, $f20 -/* 050840 7F01BD10 46180282 */ mul.s $f10, $f0, $f24 -/* 050844 7F01BD14 240E0001 */ li $t6, 1 -/* 050848 7F01BD18 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 05084C 7F01BD1C 460AB401 */ sub.s $f16, $f22, $f10 -/* 050850 7F01BD20 444DF800 */ cfc1 $t5, $31 -/* 050854 7F01BD24 44CEF800 */ ctc1 $t6, $31 -/* 050858 7F01BD28 00000000 */ nop -/* 05085C 7F01BD2C 460084A4 */ cvt.w.s $f18, $f16 -/* 050860 7F01BD30 444EF800 */ cfc1 $t6, $31 -/* 050864 7F01BD34 00000000 */ nop -/* 050868 7F01BD38 31CE0078 */ andi $t6, $t6, 0x78 -/* 05086C 7F01BD3C 51C00013 */ beql $t6, $zero, .L7F01BD8C -/* 050870 7F01BD40 440E9000 */ mfc1 $t6, $f18 -/* 050874 7F01BD44 44819000 */ mtc1 $at, $f18 -/* 050878 7F01BD48 240E0001 */ li $t6, 1 -/* 05087C 7F01BD4C 46128481 */ sub.s $f18, $f16, $f18 -/* 050880 7F01BD50 44CEF800 */ ctc1 $t6, $31 -/* 050884 7F01BD54 00000000 */ nop -/* 050888 7F01BD58 460094A4 */ cvt.w.s $f18, $f18 -/* 05088C 7F01BD5C 444EF800 */ cfc1 $t6, $31 -/* 050890 7F01BD60 00000000 */ nop -/* 050894 7F01BD64 31CE0078 */ andi $t6, $t6, 0x78 -/* 050898 7F01BD68 15C00005 */ bnez $t6, .L7F01BD80 -/* 05089C 7F01BD6C 00000000 */ nop -/* 0508A0 7F01BD70 440E9000 */ mfc1 $t6, $f18 -/* 0508A4 7F01BD74 3C018000 */ lui $at, 0x8000 -/* 0508A8 7F01BD78 10000007 */ b .L7F01BD98 -/* 0508AC 7F01BD7C 01C17025 */ or $t6, $t6, $at -.L7F01BD80: -/* 0508B0 7F01BD80 10000005 */ b .L7F01BD98 -/* 0508B4 7F01BD84 240EFFFF */ li $t6, -1 -/* 0508B8 7F01BD88 440E9000 */ mfc1 $t6, $f18 -.L7F01BD8C: -/* 0508BC 7F01BD8C 00000000 */ nop -/* 0508C0 7F01BD90 05C0FFFB */ bltz $t6, .L7F01BD80 -/* 0508C4 7F01BD94 00000000 */ nop -.L7F01BD98: -/* 0508C8 7F01BD98 44CDF800 */ ctc1 $t5, $31 -/* 0508CC 7F01BD9C A20E000E */ sb $t6, 0xe($s0) -/* 0508D0 7F01BDA0 A200000F */ sb $zero, 0xf($s0) -/* 0508D4 7F01BDA4 12400081 */ beqz $s2, .L7F01BFAC -/* 0508D8 7F01BDA8 26100010 */ addiu $s0, $s0, 0x10 -/* 0508DC 7F01BDAC 0255082A */ slt $at, $s2, $s5 -/* 0508E0 7F01BDB0 1020007E */ beqz $at, .L7F01BFAC -/* 0508E4 7F01BDB4 00137823 */ negu $t7, $s3 -/* 0508E8 7F01BDB8 A60F0000 */ sh $t7, ($s0) -/* 0508EC 7F01BDBC A6140002 */ sh $s4, 2($s0) -/* 0508F0 7F01BDC0 A6000004 */ sh $zero, 4($s0) -/* 0508F4 7F01BDC4 A6000006 */ sh $zero, 6($s0) -/* 0508F8 7F01BDC8 A6000008 */ sh $zero, 8($s0) -/* 0508FC 7F01BDCC A600000A */ sh $zero, 0xa($s0) -/* 050900 7F01BDD0 A211000C */ sb $s1, 0xc($s0) -/* 050904 7F01BDD4 A211000D */ sb $s1, 0xd($s0) -/* 050908 7F01BDD8 A211000E */ sb $s1, 0xe($s0) -/* 05090C 7F01BDDC 0FC15FA8 */ jal cosf -/* 050910 7F01BDE0 4600A306 */ mov.s $f12, $f20 -/* 050914 7F01BDE4 46180102 */ mul.s $f4, $f0, $f24 -/* 050918 7F01BDE8 24190001 */ li $t9, 1 -/* 05091C 7F01BDEC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 050920 7F01BDF0 4604B181 */ sub.s $f6, $f22, $f4 -/* 050924 7F01BDF4 4458F800 */ cfc1 $t8, $31 -/* 050928 7F01BDF8 44D9F800 */ ctc1 $t9, $31 -/* 05092C 7F01BDFC 00000000 */ nop -/* 050930 7F01BE00 46003224 */ cvt.w.s $f8, $f6 -/* 050934 7F01BE04 4459F800 */ cfc1 $t9, $31 -/* 050938 7F01BE08 00000000 */ nop -/* 05093C 7F01BE0C 33390078 */ andi $t9, $t9, 0x78 -/* 050940 7F01BE10 53200013 */ beql $t9, $zero, .L7F01BE60 -/* 050944 7F01BE14 44194000 */ mfc1 $t9, $f8 -/* 050948 7F01BE18 44814000 */ mtc1 $at, $f8 -/* 05094C 7F01BE1C 24190001 */ li $t9, 1 -/* 050950 7F01BE20 46083201 */ sub.s $f8, $f6, $f8 -/* 050954 7F01BE24 44D9F800 */ ctc1 $t9, $31 -/* 050958 7F01BE28 00000000 */ nop -/* 05095C 7F01BE2C 46004224 */ cvt.w.s $f8, $f8 -/* 050960 7F01BE30 4459F800 */ cfc1 $t9, $31 -/* 050964 7F01BE34 00000000 */ nop -/* 050968 7F01BE38 33390078 */ andi $t9, $t9, 0x78 -/* 05096C 7F01BE3C 17200005 */ bnez $t9, .L7F01BE54 -/* 050970 7F01BE40 00000000 */ nop -/* 050974 7F01BE44 44194000 */ mfc1 $t9, $f8 -/* 050978 7F01BE48 3C018000 */ lui $at, 0x8000 -/* 05097C 7F01BE4C 10000007 */ b .L7F01BE6C -/* 050980 7F01BE50 0321C825 */ or $t9, $t9, $at -.L7F01BE54: -/* 050984 7F01BE54 10000005 */ b .L7F01BE6C -/* 050988 7F01BE58 2419FFFF */ li $t9, -1 -/* 05098C 7F01BE5C 44194000 */ mfc1 $t9, $f8 -.L7F01BE60: -/* 050990 7F01BE60 00000000 */ nop -/* 050994 7F01BE64 0720FFFB */ bltz $t9, .L7F01BE54 -/* 050998 7F01BE68 00000000 */ nop -.L7F01BE6C: -/* 05099C 7F01BE6C 44D8F800 */ ctc1 $t8, $31 -/* 0509A0 7F01BE70 A219000C */ sb $t9, 0xc($s0) -/* 0509A4 7F01BE74 0FC15FA8 */ jal cosf -/* 0509A8 7F01BE78 4600A306 */ mov.s $f12, $f20 -/* 0509AC 7F01BE7C 46180282 */ mul.s $f10, $f0, $f24 -/* 0509B0 7F01BE80 24090001 */ li $t1, 1 -/* 0509B4 7F01BE84 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0509B8 7F01BE88 460AB401 */ sub.s $f16, $f22, $f10 -/* 0509BC 7F01BE8C 4448F800 */ cfc1 $t0, $31 -/* 0509C0 7F01BE90 44C9F800 */ ctc1 $t1, $31 -/* 0509C4 7F01BE94 00000000 */ nop -/* 0509C8 7F01BE98 460084A4 */ cvt.w.s $f18, $f16 -/* 0509CC 7F01BE9C 4449F800 */ cfc1 $t1, $31 -/* 0509D0 7F01BEA0 00000000 */ nop -/* 0509D4 7F01BEA4 31290078 */ andi $t1, $t1, 0x78 -/* 0509D8 7F01BEA8 51200013 */ beql $t1, $zero, .L7F01BEF8 -/* 0509DC 7F01BEAC 44099000 */ mfc1 $t1, $f18 -/* 0509E0 7F01BEB0 44819000 */ mtc1 $at, $f18 -/* 0509E4 7F01BEB4 24090001 */ li $t1, 1 -/* 0509E8 7F01BEB8 46128481 */ sub.s $f18, $f16, $f18 -/* 0509EC 7F01BEBC 44C9F800 */ ctc1 $t1, $31 -/* 0509F0 7F01BEC0 00000000 */ nop -/* 0509F4 7F01BEC4 460094A4 */ cvt.w.s $f18, $f18 -/* 0509F8 7F01BEC8 4449F800 */ cfc1 $t1, $31 -/* 0509FC 7F01BECC 00000000 */ nop -/* 050A00 7F01BED0 31290078 */ andi $t1, $t1, 0x78 -/* 050A04 7F01BED4 15200005 */ bnez $t1, .L7F01BEEC -/* 050A08 7F01BED8 00000000 */ nop -/* 050A0C 7F01BEDC 44099000 */ mfc1 $t1, $f18 -/* 050A10 7F01BEE0 3C018000 */ lui $at, 0x8000 -/* 050A14 7F01BEE4 10000007 */ b .L7F01BF04 -/* 050A18 7F01BEE8 01214825 */ or $t1, $t1, $at -.L7F01BEEC: -/* 050A1C 7F01BEEC 10000005 */ b .L7F01BF04 -/* 050A20 7F01BEF0 2409FFFF */ li $t1, -1 -/* 050A24 7F01BEF4 44099000 */ mfc1 $t1, $f18 -.L7F01BEF8: -/* 050A28 7F01BEF8 00000000 */ nop -/* 050A2C 7F01BEFC 0520FFFB */ bltz $t1, .L7F01BEEC -/* 050A30 7F01BF00 00000000 */ nop -.L7F01BF04: -/* 050A34 7F01BF04 44C8F800 */ ctc1 $t0, $31 -/* 050A38 7F01BF08 A209000D */ sb $t1, 0xd($s0) -/* 050A3C 7F01BF0C 0FC15FA8 */ jal cosf -/* 050A40 7F01BF10 4600A306 */ mov.s $f12, $f20 -/* 050A44 7F01BF14 46180102 */ mul.s $f4, $f0, $f24 -/* 050A48 7F01BF18 240B0001 */ li $t3, 1 -/* 050A4C 7F01BF1C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 050A50 7F01BF20 4604B181 */ sub.s $f6, $f22, $f4 -/* 050A54 7F01BF24 444AF800 */ cfc1 $t2, $31 -/* 050A58 7F01BF28 44CBF800 */ ctc1 $t3, $31 -/* 050A5C 7F01BF2C 00000000 */ nop -/* 050A60 7F01BF30 46003224 */ cvt.w.s $f8, $f6 -/* 050A64 7F01BF34 444BF800 */ cfc1 $t3, $31 -/* 050A68 7F01BF38 00000000 */ nop -/* 050A6C 7F01BF3C 316B0078 */ andi $t3, $t3, 0x78 -/* 050A70 7F01BF40 51600013 */ beql $t3, $zero, .L7F01BF90 -/* 050A74 7F01BF44 440B4000 */ mfc1 $t3, $f8 -/* 050A78 7F01BF48 44814000 */ mtc1 $at, $f8 -/* 050A7C 7F01BF4C 240B0001 */ li $t3, 1 -/* 050A80 7F01BF50 46083201 */ sub.s $f8, $f6, $f8 -/* 050A84 7F01BF54 44CBF800 */ ctc1 $t3, $31 -/* 050A88 7F01BF58 00000000 */ nop -/* 050A8C 7F01BF5C 46004224 */ cvt.w.s $f8, $f8 -/* 050A90 7F01BF60 444BF800 */ cfc1 $t3, $31 -/* 050A94 7F01BF64 00000000 */ nop -/* 050A98 7F01BF68 316B0078 */ andi $t3, $t3, 0x78 -/* 050A9C 7F01BF6C 15600005 */ bnez $t3, .L7F01BF84 -/* 050AA0 7F01BF70 00000000 */ nop -/* 050AA4 7F01BF74 440B4000 */ mfc1 $t3, $f8 -/* 050AA8 7F01BF78 3C018000 */ lui $at, 0x8000 -/* 050AAC 7F01BF7C 10000007 */ b .L7F01BF9C -/* 050AB0 7F01BF80 01615825 */ or $t3, $t3, $at -.L7F01BF84: -/* 050AB4 7F01BF84 10000005 */ b .L7F01BF9C -/* 050AB8 7F01BF88 240BFFFF */ li $t3, -1 -/* 050ABC 7F01BF8C 440B4000 */ mfc1 $t3, $f8 -.L7F01BF90: -/* 050AC0 7F01BF90 00000000 */ nop -/* 050AC4 7F01BF94 0560FFFB */ bltz $t3, .L7F01BF84 -/* 050AC8 7F01BF98 00000000 */ nop -.L7F01BF9C: -/* 050ACC 7F01BF9C 44CAF800 */ ctc1 $t2, $31 -/* 050AD0 7F01BFA0 A20B000E */ sb $t3, 0xe($s0) -/* 050AD4 7F01BFA4 A200000F */ sb $zero, 0xf($s0) -/* 050AD8 7F01BFA8 26100010 */ addiu $s0, $s0, 0x10 -.L7F01BFAC: -/* 050ADC 7F01BFAC 26520002 */ addiu $s2, $s2, 2 -/* 050AE0 7F01BFB0 02B2082A */ slt $at, $s5, $s2 -/* 050AE4 7F01BFB4 5020FEE8 */ beql $at, $zero, .L7F01BB58 -/* 050AE8 7F01BFB8 44923000 */ mtc1 $s2, $f6 -.L7F01BFBC: -/* 050AEC 7F01BFBC 8FBF005C */ lw $ra, 0x5c($sp) -/* 050AF0 7F01BFC0 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 050AF4 7F01BFC4 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 050AF8 7F01BFC8 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 050AFC 7F01BFCC D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 050B00 7F01BFD0 D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 050B04 7F01BFD4 D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 050B08 7F01BFD8 8FB00044 */ lw $s0, 0x44($sp) -/* 050B0C 7F01BFDC 8FB10048 */ lw $s1, 0x48($sp) -/* 050B10 7F01BFE0 8FB2004C */ lw $s2, 0x4c($sp) -/* 050B14 7F01BFE4 8FB30050 */ lw $s3, 0x50($sp) -/* 050B18 7F01BFE8 8FB40054 */ lw $s4, 0x54($sp) -/* 050B1C 7F01BFEC 8FB50058 */ lw $s5, 0x58($sp) -/* 050B20 7F01BFF0 03E00008 */ jr $ra -/* 050B24 7F01BFF4 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F01BFF8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F01BFF8 -/* 050B28 7F01BFF8 240A000A */ li $t2, 10 -/* 050B2C 7F01BFFC 3C09BF00 */ lui $t1, 0xbf00 -/* 050B30 7F01C000 3C080400 */ lui $t0, 0x400 -/* 050B34 7F01C004 28C10011 */ slti $at, $a2, 0x11 -.L7F01C008: -/* 050B38 7F01C008 14200003 */ bnez $at, .L7F01C018 -/* 050B3C 7F01C00C 00801825 */ move $v1, $a0 -/* 050B40 7F01C010 10000004 */ b .L7F01C024 -/* 050B44 7F01C014 24020010 */ li $v0, 16 -.L7F01C018: -/* 050B48 7F01C018 00061600 */ sll $v0, $a2, 0x18 -/* 050B4C 7F01C01C 00027603 */ sra $t6, $v0, 0x18 -/* 050B50 7F01C020 01C01025 */ move $v0, $t6 -.L7F01C024: -/* 050B54 7F01C024 244FFFFF */ addiu $t7, $v0, -1 -/* 050B58 7F01C028 000FC100 */ sll $t8, $t7, 4 -/* 050B5C 7F01C02C 331900FF */ andi $t9, $t8, 0xff -/* 050B60 7F01C030 00026900 */ sll $t5, $v0, 4 -/* 050B64 7F01C034 00195C00 */ sll $t3, $t9, 0x10 -/* 050B68 7F01C038 01686025 */ or $t4, $t3, $t0 -/* 050B6C 7F01C03C 31AEFFFF */ andi $t6, $t5, 0xffff -/* 050B70 7F01C040 2442FFFD */ addiu $v0, $v0, -3 -/* 050B74 7F01C044 018E7825 */ or $t7, $t4, $t6 -/* 050B78 7F01C048 AC650004 */ sw $a1, 4($v1) -/* 050B7C 7F01C04C 0002C600 */ sll $t8, $v0, 0x18 -/* 050B80 7F01C050 AC6F0000 */ sw $t7, ($v1) -/* 050B84 7F01C054 24840008 */ addiu $a0, $a0, 8 -/* 050B88 7F01C058 24A500E0 */ addiu $a1, $a1, 0xe0 -/* 050B8C 7F01C05C 00181603 */ sra $v0, $t8, 0x18 -.L7F01C060: -/* 050B90 7F01C060 004A0019 */ multu $v0, $t2 -/* 050B94 7F01C064 2442FFFF */ addiu $v0, $v0, -1 -/* 050B98 7F01C068 00801825 */ move $v1, $a0 -/* 050B9C 7F01C06C AC690000 */ sw $t1, ($v1) -/* 050BA0 7F01C070 24840008 */ addiu $a0, $a0, 8 -/* 050BA4 7F01C074 00003812 */ mflo $a3 -/* 050BA8 7F01C078 24EC000A */ addiu $t4, $a3, 0xa -/* 050BAC 7F01C07C 318E00FF */ andi $t6, $t4, 0xff -/* 050BB0 7F01C080 30EB00FF */ andi $t3, $a3, 0xff -/* 050BB4 7F01C084 000B6C00 */ sll $t5, $t3, 0x10 -/* 050BB8 7F01C088 000E7A00 */ sll $t7, $t6, 8 -/* 050BBC 7F01C08C 24F90014 */ addiu $t9, $a3, 0x14 -/* 050BC0 7F01C090 332B00FF */ andi $t3, $t9, 0xff -/* 050BC4 7F01C094 01AFC025 */ or $t8, $t5, $t7 -/* 050BC8 7F01C098 00027600 */ sll $t6, $v0, 0x18 -/* 050BCC 7F01C09C 000E1603 */ sra $v0, $t6, 0x18 -/* 050BD0 7F01C0A0 030B6025 */ or $t4, $t8, $t3 -/* 050BD4 7F01C0A4 0441FFEE */ bgez $v0, .L7F01C060 -/* 050BD8 7F01C0A8 AC6C0004 */ sw $t4, 4($v1) -/* 050BDC 7F01C0AC 24C6FFF2 */ addiu $a2, $a2, -0xe -/* 050BE0 7F01C0B0 28C10003 */ slti $at, $a2, 3 -/* 050BE4 7F01C0B4 5020FFD4 */ beql $at, $zero, .L7F01C008 -/* 050BE8 7F01C0B8 28C10011 */ slti $at, $a2, 0x11 -/* 050BEC 7F01C0BC 3C0FB800 */ lui $t7, 0xb800 -/* 050BF0 7F01C0C0 AC8F0000 */ sw $t7, ($a0) -/* 050BF4 7F01C0C4 24820008 */ addiu $v0, $a0, 8 -/* 050BF8 7F01C0C8 03E00008 */ jr $ra -/* 050BFC 7F01C0CC AC800004 */ sw $zero, 4($a0) -) -#endif - - - - - - diff --git a/src/game/unk_057FD0.c b/src/game/unk_057FD0.c deleted file mode 100644 index be92c2f..0000000 --- a/src/game/unk_057FD0.c +++ /dev/null @@ -1,3588 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:80075DA0 -f32 flt_CODE_bss_80075DA0; - - -// data -//D:80032310 -f32 D_80032310 = 65536.0; -//D:80032314 -f32 D_80032314 = 65536.0; - - -// rodata -//D:800536F0 - - - - - -#ifdef NONMATCHING -void reset_array_of_0x10_floats(void) { - -} -#else -GLOBAL_ASM( -.text -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 -/* 08CB0C 7F057FDC E4820004 */ swc1 $f2, 4($a0) -/* 08CB10 7F057FE0 E4820008 */ swc1 $f2, 8($a0) -/* 08CB14 7F057FE4 E482000C */ swc1 $f2, 0xc($a0) -/* 08CB18 7F057FE8 E4820010 */ swc1 $f2, 0x10($a0) -/* 08CB1C 7F057FEC E4820018 */ swc1 $f2, 0x18($a0) -/* 08CB20 7F057FF0 E482001C */ swc1 $f2, 0x1c($a0) -/* 08CB24 7F057FF4 E4820020 */ swc1 $f2, 0x20($a0) -/* 08CB28 7F057FF8 E4820024 */ swc1 $f2, 0x24($a0) -/* 08CB2C 7F057FFC E482002C */ swc1 $f2, 0x2c($a0) -/* 08CB30 7F058000 E4820030 */ swc1 $f2, 0x30($a0) -/* 08CB34 7F058004 E4820034 */ swc1 $f2, 0x34($a0) -/* 08CB38 7F058008 E4820038 */ swc1 $f2, 0x38($a0) -/* 08CB3C 7F05800C E4800000 */ swc1 $f0, ($a0) -/* 08CB40 7F058010 E4800014 */ swc1 $f0, 0x14($a0) -/* 08CB44 7F058014 E4800028 */ swc1 $f0, 0x28($a0) -/* 08CB48 7F058018 03E00008 */ jr $ra -/* 08CB4C 7F05801C E480003C */ swc1 $f0, 0x3c($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058020(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058020 -/* 08CB50 7F058020 00803025 */ move $a2, $a0 -/* 08CB54 7F058024 24040004 */ li $a0, 4 -/* 08CB58 7F058028 00001025 */ move $v0, $zero -/* 08CB5C 7F05802C 00A01825 */ move $v1, $a1 -.L7F058030: -/* 08CB60 7F058030 C4C40000 */ lwc1 $f4, ($a2) -/* 08CB64 7F058034 24420001 */ addiu $v0, $v0, 1 -/* 08CB68 7F058038 24630010 */ addiu $v1, $v1, 0x10 -/* 08CB6C 7F05803C E464FFF0 */ swc1 $f4, -0x10($v1) -/* 08CB70 7F058040 C4C60004 */ lwc1 $f6, 4($a2) -/* 08CB74 7F058044 24C60010 */ addiu $a2, $a2, 0x10 -/* 08CB78 7F058048 E466FFF4 */ swc1 $f6, -0xc($v1) -/* 08CB7C 7F05804C C4C8FFF8 */ lwc1 $f8, -8($a2) -/* 08CB80 7F058050 E468FFF8 */ swc1 $f8, -8($v1) -/* 08CB84 7F058054 C4CAFFFC */ lwc1 $f10, -4($a2) -/* 08CB88 7F058058 1444FFF5 */ bne $v0, $a0, .L7F058030 -/* 08CB8C 7F05805C E46AFFFC */ swc1 $f10, -4($v1) -/* 08CB90 7F058060 03E00008 */ jr $ra -/* 08CB94 7F058064 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058068(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058068 -/* 08CB98 7F058068 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 08CB9C 7F05806C AFBF0014 */ sw $ra, 0x14($sp) -/* 08CBA0 7F058070 AFA5005C */ sw $a1, 0x5c($sp) -/* 08CBA4 7F058074 0FC16032 */ jal sub_GAME_7F0580C8 -/* 08CBA8 7F058078 27A60018 */ addiu $a2, $sp, 0x18 -/* 08CBAC 7F05807C 27A40018 */ addiu $a0, $sp, 0x18 -/* 08CBB0 7F058080 0FC16008 */ jal sub_GAME_7F058020 -/* 08CBB4 7F058084 8FA5005C */ lw $a1, 0x5c($sp) -/* 08CBB8 7F058088 8FBF0014 */ lw $ra, 0x14($sp) -/* 08CBBC 7F05808C 27BD0058 */ addiu $sp, $sp, 0x58 -/* 08CBC0 7F058090 03E00008 */ jr $ra -/* 08CBC4 7F058094 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058098(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058098 -/* 08CBC8 7F058098 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 08CBCC 7F05809C AFBF0014 */ sw $ra, 0x14($sp) -/* 08CBD0 7F0580A0 AFA5005C */ sw $a1, 0x5c($sp) -/* 08CBD4 7F0580A4 0FC16063 */ jal sub_GAME_7F05818C -/* 08CBD8 7F0580A8 27A60018 */ addiu $a2, $sp, 0x18 -/* 08CBDC 7F0580AC 27A40018 */ addiu $a0, $sp, 0x18 -/* 08CBE0 7F0580B0 0FC16008 */ jal sub_GAME_7F058020 -/* 08CBE4 7F0580B4 8FA5005C */ lw $a1, 0x5c($sp) -/* 08CBE8 7F0580B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08CBEC 7F0580BC 27BD0058 */ addiu $sp, $sp, 0x58 -/* 08CBF0 7F0580C0 03E00008 */ jr $ra -/* 08CBF4 7F0580C4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0580C8(void *arg0, void *arg1, s32 arg2) { - s32 temp_v0; - void *temp_a0; - void *temp_a3; - s32 temp_v1; - void *phi_a3; - void *phi_t0; - void *phi_a0; - s32 phi_v0; - s32 phi_v1; - - // Node 0 - phi_t0 = arg0; - phi_v1 = 0; -loop_1: - // Node 1 - phi_a3 = arg1; - phi_a0 = (arg2 + phi_v1); - phi_v0 = 0; -loop_2: - // Node 2 - temp_v0 = (phi_v0 + 2); - temp_a0 = (phi_a0 + 0x20); - temp_a3 = (phi_a3 + 0x20); - temp_a0->unk-20 = (f32) ((phi_a3->unkC * phi_t0->unk30) + (((*phi_t0 * *phi_a3) + (phi_t0->unk10 * phi_a3->unk4)) + (phi_t0->unk20 * phi_a3->unk8))); - temp_a0->unk-10 = (f32) ((temp_a3->unk-4 * phi_t0->unk30) + (((*phi_t0 * temp_a3->unk-10) + (phi_t0->unk10 * temp_a3->unk-C)) + (phi_t0->unk20 * temp_a3->unk-8))); - phi_a3 = temp_a3; - phi_a0 = temp_a0; - phi_v0 = temp_v0; - if (temp_v0 != 4) - { - goto loop_2; - } - // Node 3 - temp_v1 = (phi_v1 + 4); - phi_t0 = (phi_t0 + 4); - phi_v1 = temp_v1; - if (temp_v1 != 0x10) - { - goto loop_1; - } - // Node 4 - return temp_v0; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0580C8 -/* 08CBF8 7F0580C8 00001825 */ move $v1, $zero -/* 08CBFC 7F0580CC 00804025 */ move $t0, $a0 -/* 08CC00 7F0580D0 240A0010 */ li $t2, 16 -/* 08CC04 7F0580D4 24090004 */ li $t1, 4 -.L7F0580D8: -/* 08CC08 7F0580D8 00001025 */ move $v0, $zero -/* 08CC0C 7F0580DC 00C32021 */ addu $a0, $a2, $v1 -/* 08CC10 7F0580E0 00A03825 */ move $a3, $a1 -.L7F0580E4: -/* 08CC14 7F0580E4 C5120000 */ lwc1 $f18, ($t0) -/* 08CC18 7F0580E8 C4F00000 */ lwc1 $f16, ($a3) -/* 08CC1C 7F0580EC C50E0010 */ lwc1 $f14, 0x10($t0) -/* 08CC20 7F0580F0 C4EC0004 */ lwc1 $f12, 4($a3) -/* 08CC24 7F0580F4 46109402 */ mul.s $f16, $f18, $f16 -/* 08CC28 7F0580F8 C5120020 */ lwc1 $f18, 0x20($t0) -/* 08CC2C 7F0580FC C4EA0008 */ lwc1 $f10, 8($a3) -/* 08CC30 7F058100 460C7302 */ mul.s $f12, $f14, $f12 -/* 08CC34 7F058104 C4EE000C */ lwc1 $f14, 0xc($a3) -/* 08CC38 7F058108 C5080030 */ lwc1 $f8, 0x30($t0) -/* 08CC3C 7F05810C 460A9282 */ mul.s $f10, $f18, $f10 -/* 08CC40 7F058110 24420002 */ addiu $v0, $v0, 2 -/* 08CC44 7F058114 24840020 */ addiu $a0, $a0, 0x20 -/* 08CC48 7F058118 46087202 */ mul.s $f8, $f14, $f8 -/* 08CC4C 7F05811C 24E70020 */ addiu $a3, $a3, 0x20 -/* 08CC50 7F058120 460C8300 */ add.s $f12, $f16, $f12 -/* 08CC54 7F058124 460A6280 */ add.s $f10, $f12, $f10 -/* 08CC58 7F058128 460A4280 */ add.s $f10, $f8, $f10 -/* 08CC5C 7F05812C E48AFFE0 */ swc1 $f10, -0x20($a0) -/* 08CC60 7F058130 C50A0000 */ lwc1 $f10, ($t0) -/* 08CC64 7F058134 C4E8FFF0 */ lwc1 $f8, -0x10($a3) -/* 08CC68 7F058138 C50C0010 */ lwc1 $f12, 0x10($t0) -/* 08CC6C 7F05813C C4F0FFF4 */ lwc1 $f16, -0xc($a3) -/* 08CC70 7F058140 46085202 */ mul.s $f8, $f10, $f8 -/* 08CC74 7F058144 C50A0020 */ lwc1 $f10, 0x20($t0) -/* 08CC78 7F058148 C4EEFFF8 */ lwc1 $f14, -8($a3) -/* 08CC7C 7F05814C 46106402 */ mul.s $f16, $f12, $f16 -/* 08CC80 7F058150 C4ECFFFC */ lwc1 $f12, -4($a3) -/* 08CC84 7F058154 C5120030 */ lwc1 $f18, 0x30($t0) -/* 08CC88 7F058158 460E5382 */ mul.s $f14, $f10, $f14 -/* 08CC8C 7F05815C 00000000 */ nop -/* 08CC90 7F058160 46126482 */ mul.s $f18, $f12, $f18 -/* 08CC94 7F058164 46104400 */ add.s $f16, $f8, $f16 -/* 08CC98 7F058168 460E8380 */ add.s $f14, $f16, $f14 -/* 08CC9C 7F05816C 460E9380 */ add.s $f14, $f18, $f14 -/* 08CCA0 7F058170 1449FFDC */ bne $v0, $t1, .L7F0580E4 -/* 08CCA4 7F058174 E48EFFF0 */ swc1 $f14, -0x10($a0) -/* 08CCA8 7F058178 24630004 */ addiu $v1, $v1, 4 -/* 08CCAC 7F05817C 146AFFD6 */ bne $v1, $t2, .L7F0580D8 -/* 08CCB0 7F058180 25080004 */ addiu $t0, $t0, 4 -/* 08CCB4 7F058184 03E00008 */ jr $ra -/* 08CCB8 7F058188 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05818C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05818C -/* 08CCBC 7F05818C 00001825 */ move $v1, $zero -/* 08CCC0 7F058190 00804025 */ move $t0, $a0 -/* 08CCC4 7F058194 240C000C */ li $t4, 12 -/* 08CCC8 7F058198 240B0004 */ li $t3, 4 -/* 08CCCC 7F05819C 240A0002 */ li $t2, 2 -/* 08CCD0 7F0581A0 24090003 */ li $t1, 3 -.L7F0581A4: -/* 08CCD4 7F0581A4 00001025 */ move $v0, $zero -/* 08CCD8 7F0581A8 00C32021 */ addu $a0, $a2, $v1 -/* 08CCDC 7F0581AC 00A03825 */ move $a3, $a1 -.L7F0581B0: -/* 08CCE0 7F0581B0 C5040000 */ lwc1 $f4, ($t0) -/* 08CCE4 7F0581B4 C4E60000 */ lwc1 $f6, ($a3) -/* 08CCE8 7F0581B8 C50A0010 */ lwc1 $f10, 0x10($t0) -/* 08CCEC 7F0581BC C4F00004 */ lwc1 $f16, 4($a3) -/* 08CCF0 7F0581C0 46062202 */ mul.s $f8, $f4, $f6 -/* 08CCF4 7F0581C4 C4E60008 */ lwc1 $f6, 8($a3) -/* 08CCF8 7F0581C8 46105482 */ mul.s $f18, $f10, $f16 -/* 08CCFC 7F0581CC C50A0020 */ lwc1 $f10, 0x20($t0) -/* 08CD00 7F0581D0 460A3402 */ mul.s $f16, $f6, $f10 -/* 08CD04 7F0581D4 46124100 */ add.s $f4, $f8, $f18 -/* 08CD08 7F0581D8 46048200 */ add.s $f8, $f16, $f4 -/* 08CD0C 7F0581DC 14490005 */ bne $v0, $t1, .L7F0581F4 -/* 08CD10 7F0581E0 E4880000 */ swc1 $f8, ($a0) -/* 08CD14 7F0581E4 C4920000 */ lwc1 $f18, ($a0) -/* 08CD18 7F0581E8 C5060030 */ lwc1 $f6, 0x30($t0) -/* 08CD1C 7F0581EC 46069280 */ add.s $f10, $f18, $f6 -/* 08CD20 7F0581F0 E48A0000 */ swc1 $f10, ($a0) -.L7F0581F4: -/* 08CD24 7F0581F4 C5100000 */ lwc1 $f16, ($t0) -/* 08CD28 7F0581F8 C4E40010 */ lwc1 $f4, 0x10($a3) -/* 08CD2C 7F0581FC C5120010 */ lwc1 $f18, 0x10($t0) -/* 08CD30 7F058200 C4E60014 */ lwc1 $f6, 0x14($a3) -/* 08CD34 7F058204 46048202 */ mul.s $f8, $f16, $f4 -/* 08CD38 7F058208 C4E40018 */ lwc1 $f4, 0x18($a3) -/* 08CD3C 7F05820C 24E70020 */ addiu $a3, $a3, 0x20 -/* 08CD40 7F058210 46069282 */ mul.s $f10, $f18, $f6 -/* 08CD44 7F058214 C5120020 */ lwc1 $f18, 0x20($t0) -/* 08CD48 7F058218 46122182 */ mul.s $f6, $f4, $f18 -/* 08CD4C 7F05821C 460A4400 */ add.s $f16, $f8, $f10 -/* 08CD50 7F058220 46103200 */ add.s $f8, $f6, $f16 -/* 08CD54 7F058224 144A0005 */ bne $v0, $t2, .L7F05823C -/* 08CD58 7F058228 E4880010 */ swc1 $f8, 0x10($a0) -/* 08CD5C 7F05822C C48A0010 */ lwc1 $f10, 0x10($a0) -/* 08CD60 7F058230 C5040030 */ lwc1 $f4, 0x30($t0) -/* 08CD64 7F058234 46045480 */ add.s $f18, $f10, $f4 -/* 08CD68 7F058238 E4920010 */ swc1 $f18, 0x10($a0) -.L7F05823C: -/* 08CD6C 7F05823C 24420002 */ addiu $v0, $v0, 2 -/* 08CD70 7F058240 144BFFDB */ bne $v0, $t3, .L7F0581B0 -/* 08CD74 7F058244 24840020 */ addiu $a0, $a0, 0x20 -/* 08CD78 7F058248 24630004 */ addiu $v1, $v1, 4 -/* 08CD7C 7F05824C 146CFFD5 */ bne $v1, $t4, .L7F0581A4 -/* 08CD80 7F058250 25080004 */ addiu $t0, $t0, 4 -/* 08CD84 7F058254 44800000 */ mtc1 $zero, $f0 -/* 08CD88 7F058258 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08CD8C 7F05825C 44813000 */ mtc1 $at, $f6 -/* 08CD90 7F058260 E4C0000C */ swc1 $f0, 0xc($a2) -/* 08CD94 7F058264 E4C0001C */ swc1 $f0, 0x1c($a2) -/* 08CD98 7F058268 E4C0002C */ swc1 $f0, 0x2c($a2) -/* 08CD9C 7F05826C 03E00008 */ jr $ra -/* 08CDA0 7F058270 E4C6003C */ swc1 $f6, 0x3c($a2) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058274(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058274 -/* 08CDA4 7F058274 C4A40000 */ lwc1 $f4, ($a1) -/* 08CDA8 7F058278 C4860000 */ lwc1 $f6, ($a0) -/* 08CDAC 7F05827C 46062202 */ mul.s $f8, $f4, $f6 -/* 08CDB0 7F058280 E4C80000 */ swc1 $f8, ($a2) -/* 08CDB4 7F058284 C4900000 */ lwc1 $f16, ($a0) -/* 08CDB8 7F058288 C4AA0010 */ lwc1 $f10, 0x10($a1) -/* 08CDBC 7F05828C 46105482 */ mul.s $f18, $f10, $f16 -/* 08CDC0 7F058290 E4D20010 */ swc1 $f18, 0x10($a2) -/* 08CDC4 7F058294 C4860000 */ lwc1 $f6, ($a0) -/* 08CDC8 7F058298 C4A40020 */ lwc1 $f4, 0x20($a1) -/* 08CDCC 7F05829C 46062202 */ mul.s $f8, $f4, $f6 -/* 08CDD0 7F0582A0 E4C80020 */ swc1 $f8, 0x20($a2) -/* 08CDD4 7F0582A4 C4900000 */ lwc1 $f16, ($a0) -/* 08CDD8 7F0582A8 C4AA0030 */ lwc1 $f10, 0x30($a1) -/* 08CDDC 7F0582AC 46105482 */ mul.s $f18, $f10, $f16 -/* 08CDE0 7F0582B0 E4D20030 */ swc1 $f18, 0x30($a2) -/* 08CDE4 7F0582B4 C4860014 */ lwc1 $f6, 0x14($a0) -/* 08CDE8 7F0582B8 C4A40004 */ lwc1 $f4, 4($a1) -/* 08CDEC 7F0582BC 46062202 */ mul.s $f8, $f4, $f6 -/* 08CDF0 7F0582C0 E4C80004 */ swc1 $f8, 4($a2) -/* 08CDF4 7F0582C4 C4900014 */ lwc1 $f16, 0x14($a0) -/* 08CDF8 7F0582C8 C4AA0014 */ lwc1 $f10, 0x14($a1) -/* 08CDFC 7F0582CC 46105482 */ mul.s $f18, $f10, $f16 -/* 08CE00 7F0582D0 E4D20014 */ swc1 $f18, 0x14($a2) -/* 08CE04 7F0582D4 C4860014 */ lwc1 $f6, 0x14($a0) -/* 08CE08 7F0582D8 C4A40024 */ lwc1 $f4, 0x24($a1) -/* 08CE0C 7F0582DC 46062202 */ mul.s $f8, $f4, $f6 -/* 08CE10 7F0582E0 E4C80024 */ swc1 $f8, 0x24($a2) -/* 08CE14 7F0582E4 C4900014 */ lwc1 $f16, 0x14($a0) -/* 08CE18 7F0582E8 C4AA0034 */ lwc1 $f10, 0x34($a1) -/* 08CE1C 7F0582EC 46105482 */ mul.s $f18, $f10, $f16 -/* 08CE20 7F0582F0 E4D20034 */ swc1 $f18, 0x34($a2) -/* 08CE24 7F0582F4 C4A40008 */ lwc1 $f4, 8($a1) -/* 08CE28 7F0582F8 C4860028 */ lwc1 $f6, 0x28($a0) -/* 08CE2C 7F0582FC 46062202 */ mul.s $f8, $f4, $f6 -/* 08CE30 7F058300 E4C80008 */ swc1 $f8, 8($a2) -/* 08CE34 7F058304 C4AA0018 */ lwc1 $f10, 0x18($a1) -/* 08CE38 7F058308 C4900028 */ lwc1 $f16, 0x28($a0) -/* 08CE3C 7F05830C 46105482 */ mul.s $f18, $f10, $f16 -/* 08CE40 7F058310 E4D20018 */ swc1 $f18, 0x18($a2) -/* 08CE44 7F058314 C4A40028 */ lwc1 $f4, 0x28($a1) -/* 08CE48 7F058318 C4860028 */ lwc1 $f6, 0x28($a0) -/* 08CE4C 7F05831C 46062202 */ mul.s $f8, $f4, $f6 -/* 08CE50 7F058320 E4C80028 */ swc1 $f8, 0x28($a2) -/* 08CE54 7F058324 C4B00038 */ lwc1 $f16, 0x38($a1) -/* 08CE58 7F058328 C48A0028 */ lwc1 $f10, 0x28($a0) -/* 08CE5C 7F05832C C4840038 */ lwc1 $f4, 0x38($a0) -/* 08CE60 7F058330 46105482 */ mul.s $f18, $f10, $f16 -/* 08CE64 7F058334 46122180 */ add.s $f6, $f4, $f18 -/* 08CE68 7F058338 E4C60038 */ swc1 $f6, 0x38($a2) -/* 08CE6C 7F05833C C48A002C */ lwc1 $f10, 0x2c($a0) -/* 08CE70 7F058340 C4A80008 */ lwc1 $f8, 8($a1) -/* 08CE74 7F058344 460A4402 */ mul.s $f16, $f8, $f10 -/* 08CE78 7F058348 E4D0000C */ swc1 $f16, 0xc($a2) -/* 08CE7C 7F05834C C492002C */ lwc1 $f18, 0x2c($a0) -/* 08CE80 7F058350 C4A40018 */ lwc1 $f4, 0x18($a1) -/* 08CE84 7F058354 46122182 */ mul.s $f6, $f4, $f18 -/* 08CE88 7F058358 E4C6001C */ swc1 $f6, 0x1c($a2) -/* 08CE8C 7F05835C C48A002C */ lwc1 $f10, 0x2c($a0) -/* 08CE90 7F058360 C4A80028 */ lwc1 $f8, 0x28($a1) -/* 08CE94 7F058364 460A4402 */ mul.s $f16, $f8, $f10 -/* 08CE98 7F058368 E4D0002C */ swc1 $f16, 0x2c($a2) -/* 08CE9C 7F05836C C492002C */ lwc1 $f18, 0x2c($a0) -/* 08CEA0 7F058370 C4A40038 */ lwc1 $f4, 0x38($a1) -/* 08CEA4 7F058374 46122182 */ mul.s $f6, $f4, $f18 -/* 08CEA8 7F058378 03E00008 */ jr $ra -/* 08CEAC 7F05837C E4C6003C */ swc1 $f6, 0x3c($a2) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058380(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058380 -/* 08CEB0 7F058380 00803825 */ move $a3, $a0 -/* 08CEB4 7F058384 24040003 */ li $a0, 3 -/* 08CEB8 7F058388 00001025 */ move $v0, $zero -/* 08CEBC 7F05838C 00C01825 */ move $v1, $a2 -.L7F058390: -/* 08CEC0 7F058390 C4F20000 */ lwc1 $f18, ($a3) -/* 08CEC4 7F058394 C4B00000 */ lwc1 $f16, ($a1) -/* 08CEC8 7F058398 C4EE0010 */ lwc1 $f14, 0x10($a3) -/* 08CECC 7F05839C C4AC0004 */ lwc1 $f12, 4($a1) -/* 08CED0 7F0583A0 46109402 */ mul.s $f16, $f18, $f16 -/* 08CED4 7F0583A4 C4B20008 */ lwc1 $f18, 8($a1) -/* 08CED8 7F0583A8 C4EA0020 */ lwc1 $f10, 0x20($a3) -/* 08CEDC 7F0583AC 460C7302 */ mul.s $f12, $f14, $f12 -/* 08CEE0 7F0583B0 24420001 */ addiu $v0, $v0, 1 -/* 08CEE4 7F0583B4 24630004 */ addiu $v1, $v1, 4 -/* 08CEE8 7F0583B8 460A9282 */ mul.s $f10, $f18, $f10 -/* 08CEEC 7F0583BC 24E70004 */ addiu $a3, $a3, 4 -/* 08CEF0 7F0583C0 460C8300 */ add.s $f12, $f16, $f12 -/* 08CEF4 7F0583C4 460C5300 */ add.s $f12, $f10, $f12 -/* 08CEF8 7F0583C8 1444FFF1 */ bne $v0, $a0, .L7F058390 -/* 08CEFC 7F0583CC E46CFFFC */ swc1 $f12, -4($v1) -/* 08CF00 7F0583D0 03E00008 */ jr $ra -/* 08CF04 7F0583D4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0583D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0583D8 -/* 08CF08 7F0583D8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08CF0C 7F0583DC AFBF0014 */ sw $ra, 0x14($sp) -/* 08CF10 7F0583E0 27A6001C */ addiu $a2, $sp, 0x1c -/* 08CF14 7F0583E4 0FC160E0 */ jal sub_GAME_7F058380 -/* 08CF18 7F0583E8 AFA5002C */ sw $a1, 0x2c($sp) -/* 08CF1C 7F0583EC 8FA5002C */ lw $a1, 0x2c($sp) -/* 08CF20 7F0583F0 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 08CF24 7F0583F4 E4A40000 */ swc1 $f4, ($a1) -/* 08CF28 7F0583F8 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 08CF2C 7F0583FC E4A60004 */ swc1 $f6, 4($a1) -/* 08CF30 7F058400 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 08CF34 7F058404 E4A80008 */ swc1 $f8, 8($a1) -/* 08CF38 7F058408 8FBF0014 */ lw $ra, 0x14($sp) -/* 08CF3C 7F05840C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08CF40 7F058410 03E00008 */ jr $ra -/* 08CF44 7F058414 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058418(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058418 -/* 08CF48 7F058418 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08CF4C 7F05841C AFBF0014 */ sw $ra, 0x14($sp) -/* 08CF50 7F058420 AFA40018 */ sw $a0, 0x18($sp) -/* 08CF54 7F058424 0FC160E0 */ jal sub_GAME_7F058380 -/* 08CF58 7F058428 AFA60020 */ sw $a2, 0x20($sp) -/* 08CF5C 7F05842C 8FA40018 */ lw $a0, 0x18($sp) -/* 08CF60 7F058430 8FA60020 */ lw $a2, 0x20($sp) -/* 08CF64 7F058434 C4860030 */ lwc1 $f6, 0x30($a0) -/* 08CF68 7F058438 C4C40000 */ lwc1 $f4, ($a2) -/* 08CF6C 7F05843C C4CA0004 */ lwc1 $f10, 4($a2) -/* 08CF70 7F058440 46062200 */ add.s $f8, $f4, $f6 -/* 08CF74 7F058444 C4C40008 */ lwc1 $f4, 8($a2) -/* 08CF78 7F058448 E4C80000 */ swc1 $f8, ($a2) -/* 08CF7C 7F05844C C4900034 */ lwc1 $f16, 0x34($a0) -/* 08CF80 7F058450 46105480 */ add.s $f18, $f10, $f16 -/* 08CF84 7F058454 E4D20004 */ swc1 $f18, 4($a2) -/* 08CF88 7F058458 C4860038 */ lwc1 $f6, 0x38($a0) -/* 08CF8C 7F05845C 46062200 */ add.s $f8, $f4, $f6 -/* 08CF90 7F058460 E4C80008 */ swc1 $f8, 8($a2) -/* 08CF94 7F058464 8FBF0014 */ lw $ra, 0x14($sp) -/* 08CF98 7F058468 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08CF9C 7F05846C 03E00008 */ jr $ra -/* 08CFA0 7F058470 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058474(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058474 -/* 08CFA4 7F058474 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08CFA8 7F058478 AFBF0014 */ sw $ra, 0x14($sp) -/* 08CFAC 7F05847C AFA40018 */ sw $a0, 0x18($sp) -/* 08CFB0 7F058480 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 08CFB4 7F058484 AFA5001C */ sw $a1, 0x1c($sp) -/* 08CFB8 7F058488 8FA40018 */ lw $a0, 0x18($sp) -/* 08CFBC 7F05848C 8FA5001C */ lw $a1, 0x1c($sp) -/* 08CFC0 7F058490 C4860030 */ lwc1 $f6, 0x30($a0) -/* 08CFC4 7F058494 C4A40000 */ lwc1 $f4, ($a1) -/* 08CFC8 7F058498 C4AA0004 */ lwc1 $f10, 4($a1) -/* 08CFCC 7F05849C 46062200 */ add.s $f8, $f4, $f6 -/* 08CFD0 7F0584A0 C4A40008 */ lwc1 $f4, 8($a1) -/* 08CFD4 7F0584A4 E4A80000 */ swc1 $f8, ($a1) -/* 08CFD8 7F0584A8 C4900034 */ lwc1 $f16, 0x34($a0) -/* 08CFDC 7F0584AC 46105480 */ add.s $f18, $f10, $f16 -/* 08CFE0 7F0584B0 E4B20004 */ swc1 $f18, 4($a1) -/* 08CFE4 7F0584B4 C4860038 */ lwc1 $f6, 0x38($a0) -/* 08CFE8 7F0584B8 46062200 */ add.s $f8, $f4, $f6 -/* 08CFEC 7F0584BC E4A80008 */ swc1 $f8, 8($a1) -/* 08CFF0 7F0584C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 08CFF4 7F0584C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08CFF8 7F0584C8 03E00008 */ jr $ra -/* 08CFFC 7F0584CC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0584D0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0584D0 -/* 08D000 7F0584D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08D004 7F0584D4 AFBF0014 */ sw $ra, 0x14($sp) -/* 08D008 7F0584D8 AFA50024 */ sw $a1, 0x24($sp) -/* 08D00C 7F0584DC AFA40020 */ sw $a0, 0x20($sp) -/* 08D010 7F0584E0 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 08D014 7F0584E4 0FC15FA8 */ jal cosf -/* 08D018 7F0584E8 AFA60028 */ sw $a2, 0x28($sp) -/* 08D01C 7F0584EC C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 08D020 7F0584F0 0FC15FAB */ jal sinf -/* 08D024 7F0584F4 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 08D028 7F0584F8 8FA60028 */ lw $a2, 0x28($sp) -/* 08D02C 7F0584FC 8FA20020 */ lw $v0, 0x20($sp) -/* 08D030 7F058500 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 08D034 7F058504 44801000 */ mtc1 $zero, $f2 -/* 08D038 7F058508 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08D03C 7F05850C 44816000 */ mtc1 $at, $f12 -/* 08D040 7F058510 46000107 */ neg.s $f4, $f0 -/* 08D044 7F058514 E4C00020 */ swc1 $f0, 0x20($a2) -/* 08D048 7F058518 E4C40008 */ swc1 $f4, 8($a2) -/* 08D04C 7F05851C E4CE0000 */ swc1 $f14, ($a2) -/* 08D050 7F058520 E4CE0028 */ swc1 $f14, 0x28($a2) -/* 08D054 7F058524 E4C20004 */ swc1 $f2, 4($a2) -/* 08D058 7F058528 E4C2000C */ swc1 $f2, 0xc($a2) -/* 08D05C 7F05852C E4C20010 */ swc1 $f2, 0x10($a2) -/* 08D060 7F058530 E4C20018 */ swc1 $f2, 0x18($a2) -/* 08D064 7F058534 E4C2001C */ swc1 $f2, 0x1c($a2) -/* 08D068 7F058538 E4C20024 */ swc1 $f2, 0x24($a2) -/* 08D06C 7F05853C E4C2002C */ swc1 $f2, 0x2c($a2) -/* 08D070 7F058540 E4CC0014 */ swc1 $f12, 0x14($a2) -/* 08D074 7F058544 C4460000 */ lwc1 $f6, ($v0) -/* 08D078 7F058548 E4C60030 */ swc1 $f6, 0x30($a2) -/* 08D07C 7F05854C C4480004 */ lwc1 $f8, 4($v0) -/* 08D080 7F058550 E4C80034 */ swc1 $f8, 0x34($a2) -/* 08D084 7F058554 C44A0008 */ lwc1 $f10, 8($v0) -/* 08D088 7F058558 E4CC003C */ swc1 $f12, 0x3c($a2) -/* 08D08C 7F05855C E4CA0038 */ swc1 $f10, 0x38($a2) -/* 08D090 7F058560 8FBF0014 */ lw $ra, 0x14($sp) -/* 08D094 7F058564 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08D098 7F058568 03E00008 */ jr $ra -/* 08D09C 7F05856C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058570(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058570 -/* 08D0A0 7F058570 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08D0A4 7F058574 AFBF0014 */ sw $ra, 0x14($sp) -/* 08D0A8 7F058578 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 08D0AC 7F05857C C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08D0B0 7F058580 0FC15FA8 */ jal cosf -/* 08D0B4 7F058584 AFA50024 */ sw $a1, 0x24($sp) -/* 08D0B8 7F058588 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08D0BC 7F05858C 0FC15FAB */ jal sinf -/* 08D0C0 7F058590 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 08D0C4 7F058594 8FA50024 */ lw $a1, 0x24($sp) -/* 08D0C8 7F058598 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 08D0CC 7F05859C 44801000 */ mtc1 $zero, $f2 -/* 08D0D0 7F0585A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08D0D4 7F0585A4 44816000 */ mtc1 $at, $f12 -/* 08D0D8 7F0585A8 46000107 */ neg.s $f4, $f0 -/* 08D0DC 7F0585AC E4A00018 */ swc1 $f0, 0x18($a1) -/* 08D0E0 7F0585B0 E4A40024 */ swc1 $f4, 0x24($a1) -/* 08D0E4 7F0585B4 E4AE0014 */ swc1 $f14, 0x14($a1) -/* 08D0E8 7F0585B8 E4AE0028 */ swc1 $f14, 0x28($a1) -/* 08D0EC 7F0585BC E4A20004 */ swc1 $f2, 4($a1) -/* 08D0F0 7F0585C0 E4A20008 */ swc1 $f2, 8($a1) -/* 08D0F4 7F0585C4 E4A2000C */ swc1 $f2, 0xc($a1) -/* 08D0F8 7F0585C8 E4A20010 */ swc1 $f2, 0x10($a1) -/* 08D0FC 7F0585CC E4A2001C */ swc1 $f2, 0x1c($a1) -/* 08D100 7F0585D0 E4A20020 */ swc1 $f2, 0x20($a1) -/* 08D104 7F0585D4 E4A2002C */ swc1 $f2, 0x2c($a1) -/* 08D108 7F0585D8 E4A20030 */ swc1 $f2, 0x30($a1) -/* 08D10C 7F0585DC E4A20034 */ swc1 $f2, 0x34($a1) -/* 08D110 7F0585E0 E4A20038 */ swc1 $f2, 0x38($a1) -/* 08D114 7F0585E4 E4AC0000 */ swc1 $f12, ($a1) -/* 08D118 7F0585E8 E4AC003C */ swc1 $f12, 0x3c($a1) -/* 08D11C 7F0585EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 08D120 7F0585F0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08D124 7F0585F4 03E00008 */ jr $ra -/* 08D128 7F0585F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0585FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0585FC -/* 08D12C 7F0585FC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08D130 7F058600 AFBF0014 */ sw $ra, 0x14($sp) -/* 08D134 7F058604 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 08D138 7F058608 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08D13C 7F05860C 0FC15FA8 */ jal cosf -/* 08D140 7F058610 AFA50024 */ sw $a1, 0x24($sp) -/* 08D144 7F058614 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08D148 7F058618 0FC15FAB */ jal sinf -/* 08D14C 7F05861C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 08D150 7F058620 8FA50024 */ lw $a1, 0x24($sp) -/* 08D154 7F058624 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 08D158 7F058628 44801000 */ mtc1 $zero, $f2 -/* 08D15C 7F05862C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08D160 7F058630 44816000 */ mtc1 $at, $f12 -/* 08D164 7F058634 46000107 */ neg.s $f4, $f0 -/* 08D168 7F058638 E4A00020 */ swc1 $f0, 0x20($a1) -/* 08D16C 7F05863C E4A40008 */ swc1 $f4, 8($a1) -/* 08D170 7F058640 E4AE0000 */ swc1 $f14, ($a1) -/* 08D174 7F058644 E4AE0028 */ swc1 $f14, 0x28($a1) -/* 08D178 7F058648 E4A20004 */ swc1 $f2, 4($a1) -/* 08D17C 7F05864C E4A2000C */ swc1 $f2, 0xc($a1) -/* 08D180 7F058650 E4A20010 */ swc1 $f2, 0x10($a1) -/* 08D184 7F058654 E4A20018 */ swc1 $f2, 0x18($a1) -/* 08D188 7F058658 E4A2001C */ swc1 $f2, 0x1c($a1) -/* 08D18C 7F05865C E4A20024 */ swc1 $f2, 0x24($a1) -/* 08D190 7F058660 E4A2002C */ swc1 $f2, 0x2c($a1) -/* 08D194 7F058664 E4A20030 */ swc1 $f2, 0x30($a1) -/* 08D198 7F058668 E4A20034 */ swc1 $f2, 0x34($a1) -/* 08D19C 7F05866C E4A20038 */ swc1 $f2, 0x38($a1) -/* 08D1A0 7F058670 E4AC0014 */ swc1 $f12, 0x14($a1) -/* 08D1A4 7F058674 E4AC003C */ swc1 $f12, 0x3c($a1) -/* 08D1A8 7F058678 8FBF0014 */ lw $ra, 0x14($sp) -/* 08D1AC 7F05867C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08D1B0 7F058680 03E00008 */ jr $ra -/* 08D1B4 7F058684 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058688(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058688 -/* 08D1B8 7F058688 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08D1BC 7F05868C AFBF0014 */ sw $ra, 0x14($sp) -/* 08D1C0 7F058690 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 08D1C4 7F058694 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08D1C8 7F058698 0FC15FA8 */ jal cosf -/* 08D1CC 7F05869C AFA50024 */ sw $a1, 0x24($sp) -/* 08D1D0 7F0586A0 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08D1D4 7F0586A4 0FC15FAB */ jal sinf -/* 08D1D8 7F0586A8 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 08D1DC 7F0586AC 8FA50024 */ lw $a1, 0x24($sp) -/* 08D1E0 7F0586B0 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 08D1E4 7F0586B4 44801000 */ mtc1 $zero, $f2 -/* 08D1E8 7F0586B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08D1EC 7F0586BC 44816000 */ mtc1 $at, $f12 -/* 08D1F0 7F0586C0 46000107 */ neg.s $f4, $f0 -/* 08D1F4 7F0586C4 E4A00004 */ swc1 $f0, 4($a1) -/* 08D1F8 7F0586C8 E4A40010 */ swc1 $f4, 0x10($a1) -/* 08D1FC 7F0586CC E4AE0000 */ swc1 $f14, ($a1) -/* 08D200 7F0586D0 E4AE0014 */ swc1 $f14, 0x14($a1) -/* 08D204 7F0586D4 E4A20008 */ swc1 $f2, 8($a1) -/* 08D208 7F0586D8 E4A2000C */ swc1 $f2, 0xc($a1) -/* 08D20C 7F0586DC E4A20018 */ swc1 $f2, 0x18($a1) -/* 08D210 7F0586E0 E4A2001C */ swc1 $f2, 0x1c($a1) -/* 08D214 7F0586E4 E4A20020 */ swc1 $f2, 0x20($a1) -/* 08D218 7F0586E8 E4A20024 */ swc1 $f2, 0x24($a1) -/* 08D21C 7F0586EC E4A2002C */ swc1 $f2, 0x2c($a1) -/* 08D220 7F0586F0 E4A20030 */ swc1 $f2, 0x30($a1) -/* 08D224 7F0586F4 E4A20034 */ swc1 $f2, 0x34($a1) -/* 08D228 7F0586F8 E4A20038 */ swc1 $f2, 0x38($a1) -/* 08D22C 7F0586FC E4AC0028 */ swc1 $f12, 0x28($a1) -/* 08D230 7F058700 E4AC003C */ swc1 $f12, 0x3c($a1) -/* 08D234 7F058704 8FBF0014 */ lw $ra, 0x14($sp) -/* 08D238 7F058708 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08D23C 7F05870C 03E00008 */ jr $ra -/* 08D240 7F058710 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058714(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058714 -/* 08D244 7F058714 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 08D248 7F058718 AFBF001C */ sw $ra, 0x1c($sp) -/* 08D24C 7F05871C AFB10018 */ sw $s1, 0x18($sp) -/* 08D250 7F058720 AFB00014 */ sw $s0, 0x14($sp) -/* 08D254 7F058724 00A08025 */ move $s0, $a1 -/* 08D258 7F058728 00808825 */ move $s1, $a0 -/* 08D25C 7F05872C 0FC15FA8 */ jal cosf -/* 08D260 7F058730 C48C0000 */ lwc1 $f12, ($a0) -/* 08D264 7F058734 E7A00054 */ swc1 $f0, 0x54($sp) -/* 08D268 7F058738 0FC15FAB */ jal sinf -/* 08D26C 7F05873C C62C0000 */ lwc1 $f12, ($s1) -/* 08D270 7F058740 E7A00050 */ swc1 $f0, 0x50($sp) -/* 08D274 7F058744 0FC15FA8 */ jal cosf -/* 08D278 7F058748 C62C0004 */ lwc1 $f12, 4($s1) -/* 08D27C 7F05874C C62C0004 */ lwc1 $f12, 4($s1) -/* 08D280 7F058750 0FC15FAB */ jal sinf -/* 08D284 7F058754 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 08D288 7F058758 C62C0008 */ lwc1 $f12, 8($s1) -/* 08D28C 7F05875C 0FC15FA8 */ jal cosf -/* 08D290 7F058760 E7A00048 */ swc1 $f0, 0x48($sp) -/* 08D294 7F058764 C62C0008 */ lwc1 $f12, 8($s1) -/* 08D298 7F058768 0FC15FAB */ jal sinf -/* 08D29C 7F05876C E7A00044 */ swc1 $f0, 0x44($sp) -/* 08D2A0 7F058770 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 08D2A4 7F058774 C7B00044 */ lwc1 $f16, 0x44($sp) -/* 08D2A8 7F058778 C7A20048 */ lwc1 $f2, 0x48($sp) -/* 08D2AC 7F05877C 44806000 */ mtc1 $zero, $f12 -/* 08D2B0 7F058780 46107102 */ mul.s $f4, $f14, $f16 -/* 08D2B4 7F058784 46001207 */ neg.s $f8, $f2 -/* 08D2B8 7F058788 E60C000C */ swc1 $f12, 0xc($s0) -/* 08D2BC 7F05878C 46007182 */ mul.s $f6, $f14, $f0 -/* 08D2C0 7F058790 E6080008 */ swc1 $f8, 8($s0) -/* 08D2C4 7F058794 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08D2C8 7F058798 E6040000 */ swc1 $f4, ($s0) -/* 08D2CC 7F05879C E6060004 */ swc1 $f6, 4($s0) -/* 08D2D0 7F0587A0 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 08D2D4 7F0587A4 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 08D2D8 7F0587A8 46105102 */ mul.s $f4, $f10, $f16 -/* 08D2DC 7F0587AC 00000000 */ nop -/* 08D2E0 7F0587B0 46003202 */ mul.s $f8, $f6, $f0 -/* 08D2E4 7F0587B4 00000000 */ nop -/* 08D2E8 7F0587B8 46022282 */ mul.s $f10, $f4, $f2 -/* 08D2EC 7F0587BC E7A40024 */ swc1 $f4, 0x24($sp) -/* 08D2F0 7F0587C0 E7A80028 */ swc1 $f8, 0x28($sp) -/* 08D2F4 7F0587C4 46085181 */ sub.s $f6, $f10, $f8 -/* 08D2F8 7F0587C8 E6060010 */ swc1 $f6, 0x10($s0) -/* 08D2FC 7F0587CC C7A40050 */ lwc1 $f4, 0x50($sp) -/* 08D300 7F0587D0 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 08D304 7F0587D4 46002482 */ mul.s $f18, $f4, $f0 -/* 08D308 7F0587D8 00000000 */ nop -/* 08D30C 7F0587DC 46105202 */ mul.s $f8, $f10, $f16 -/* 08D310 7F0587E0 00000000 */ nop -/* 08D314 7F0587E4 46029182 */ mul.s $f6, $f18, $f2 -/* 08D318 7F0587E8 E7A80020 */ swc1 $f8, 0x20($sp) -/* 08D31C 7F0587EC 46083100 */ add.s $f4, $f6, $f8 -/* 08D320 7F0587F0 E6040014 */ swc1 $f4, 0x14($s0) -/* 08D324 7F0587F4 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 08D328 7F0587F8 E60C001C */ swc1 $f12, 0x1c($s0) -/* 08D32C 7F0587FC 460E5182 */ mul.s $f6, $f10, $f14 -/* 08D330 7F058800 E6060018 */ swc1 $f6, 0x18($s0) -/* 08D334 7F058804 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 08D338 7F058808 46024102 */ mul.s $f4, $f8, $f2 -/* 08D33C 7F05880C 46122280 */ add.s $f10, $f4, $f18 -/* 08D340 7F058810 E60A0020 */ swc1 $f10, 0x20($s0) -/* 08D344 7F058814 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 08D348 7F058818 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 08D34C 7F05881C 46023202 */ mul.s $f8, $f6, $f2 -/* 08D350 7F058820 46044281 */ sub.s $f10, $f8, $f4 -/* 08D354 7F058824 44812000 */ mtc1 $at, $f4 -/* 08D358 7F058828 E60A0024 */ swc1 $f10, 0x24($s0) -/* 08D35C 7F05882C C7A60054 */ lwc1 $f6, 0x54($sp) -/* 08D360 7F058830 E60C002C */ swc1 $f12, 0x2c($s0) -/* 08D364 7F058834 E60C0030 */ swc1 $f12, 0x30($s0) -/* 08D368 7F058838 460E3202 */ mul.s $f8, $f6, $f14 -/* 08D36C 7F05883C E60C0034 */ swc1 $f12, 0x34($s0) -/* 08D370 7F058840 E60C0038 */ swc1 $f12, 0x38($s0) -/* 08D374 7F058844 E604003C */ swc1 $f4, 0x3c($s0) -/* 08D378 7F058848 E6080028 */ swc1 $f8, 0x28($s0) -/* 08D37C 7F05884C 8FBF001C */ lw $ra, 0x1c($sp) -/* 08D380 7F058850 8FB10018 */ lw $s1, 0x18($sp) -/* 08D384 7F058854 8FB00014 */ lw $s0, 0x14($sp) -/* 08D388 7F058858 03E00008 */ jr $ra -/* 08D38C 7F05885C 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058860(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058860 -/* 08D390 7F058860 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08D394 7F058864 AFBF001C */ sw $ra, 0x1c($sp) -/* 08D398 7F058868 AFB10018 */ sw $s1, 0x18($sp) -/* 08D39C 7F05886C AFB00014 */ sw $s0, 0x14($sp) -/* 08D3A0 7F058870 C4800018 */ lwc1 $f0, 0x18($a0) -/* 08D3A4 7F058874 C4820028 */ lwc1 $f2, 0x28($a0) -/* 08D3A8 7F058878 00808025 */ move $s0, $a0 -/* 08D3AC 7F05887C 46000102 */ mul.s $f4, $f0, $f0 -/* 08D3B0 7F058880 00A08825 */ move $s1, $a1 -/* 08D3B4 7F058884 46021182 */ mul.s $f6, $f2, $f2 -/* 08D3B8 7F058888 0C007DF8 */ jal sqrtf -/* 08D3BC 7F05888C 46062300 */ add.s $f12, $f4, $f6 -/* 08D3C0 7F058890 3C013600 */ li $at, 0x36000000 # 0.000002 -/* 08D3C4 7F058894 44814000 */ mtc1 $at, $f8 -/* 08D3C8 7F058898 E7A00024 */ swc1 $f0, 0x24($sp) -/* 08D3CC 7F05889C 4600403C */ c.lt.s $f8, $f0 -/* 08D3D0 7F0588A0 00000000 */ nop -/* 08D3D4 7F0588A4 45020010 */ bc1fl .L7F0588E8 -/* 08D3D8 7F0588A8 44805000 */ mtc1 $zero, $f10 -/* 08D3DC 7F0588AC C60C0018 */ lwc1 $f12, 0x18($s0) -/* 08D3E0 7F0588B0 0FC16A8C */ jal convert_angle_using_inverse -/* 08D3E4 7F0588B4 C60E0028 */ lwc1 $f14, 0x28($s0) -/* 08D3E8 7F0588B8 E6200000 */ swc1 $f0, ($s1) -/* 08D3EC 7F0588BC C60C0008 */ lwc1 $f12, 8($s0) -/* 08D3F0 7F0588C0 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 08D3F4 7F0588C4 0FC16A8C */ jal convert_angle_using_inverse -/* 08D3F8 7F0588C8 46006307 */ neg.s $f12, $f12 -/* 08D3FC 7F0588CC E6200004 */ swc1 $f0, 4($s1) -/* 08D400 7F0588D0 C60E0000 */ lwc1 $f14, ($s0) -/* 08D404 7F0588D4 0FC16A8C */ jal convert_angle_using_inverse -/* 08D408 7F0588D8 C60C0004 */ lwc1 $f12, 4($s0) -/* 08D40C 7F0588DC 1000000E */ b .L7F058918 -/* 08D410 7F0588E0 E6200008 */ swc1 $f0, 8($s1) -/* 08D414 7F0588E4 44805000 */ mtc1 $zero, $f10 -.L7F0588E8: -/* 08D418 7F0588E8 00000000 */ nop -/* 08D41C 7F0588EC E62A0000 */ swc1 $f10, ($s1) -/* 08D420 7F0588F0 C60C0008 */ lwc1 $f12, 8($s0) -/* 08D424 7F0588F4 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 08D428 7F0588F8 0FC16A8C */ jal convert_angle_using_inverse -/* 08D42C 7F0588FC 46006307 */ neg.s $f12, $f12 -/* 08D430 7F058900 E6200004 */ swc1 $f0, 4($s1) -/* 08D434 7F058904 C60C0010 */ lwc1 $f12, 0x10($s0) -/* 08D438 7F058908 C60E0014 */ lwc1 $f14, 0x14($s0) -/* 08D43C 7F05890C 0FC16A8C */ jal convert_angle_using_inverse -/* 08D440 7F058910 46006307 */ neg.s $f12, $f12 -/* 08D444 7F058914 E6200008 */ swc1 $f0, 8($s1) -.L7F058918: -/* 08D448 7F058918 8FBF001C */ lw $ra, 0x1c($sp) -/* 08D44C 7F05891C 8FB00014 */ lw $s0, 0x14($sp) -/* 08D450 7F058920 8FB10018 */ lw $s1, 0x18($sp) -/* 08D454 7F058924 03E00008 */ jr $ra -/* 08D458 7F058928 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05892C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05892C -/* 08D45C 7F05892C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08D460 7F058930 AFA40018 */ sw $a0, 0x18($sp) -/* 08D464 7F058934 AFBF0014 */ sw $ra, 0x14($sp) -/* 08D468 7F058938 00A02025 */ move $a0, $a1 -/* 08D46C 7F05893C AFA60020 */ sw $a2, 0x20($sp) -/* 08D470 7F058940 0FC161C5 */ jal sub_GAME_7F058714 -/* 08D474 7F058944 00C02825 */ move $a1, $a2 -/* 08D478 7F058948 8FA40018 */ lw $a0, 0x18($sp) -/* 08D47C 7F05894C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 08D480 7F058950 8FA50020 */ lw $a1, 0x20($sp) -/* 08D484 7F058954 8FBF0014 */ lw $ra, 0x14($sp) -/* 08D488 7F058958 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08D48C 7F05895C 03E00008 */ jr $ra -/* 08D490 7F058960 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void init_something_copy_posdata_to_it(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_something_copy_posdata_to_it -/* 08D494 7F058964 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 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 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 -/* 08D4B4 7F058984 8FA5001C */ lw $a1, 0x1c($sp) -/* 08D4B8 7F058988 8FBF0014 */ lw $ra, 0x14($sp) -/* 08D4BC 7F05898C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08D4C0 7F058990 03E00008 */ jr $ra -/* 08D4C4 7F058994 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void copies_first_3_floats_from_a0_to_a1_plus_0x30(void) { - -} -#else -GLOBAL_ASM( -.text -glabel copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 08D4C8 7F058998 C4840000 */ lwc1 $f4, ($a0) -/* 08D4CC 7F05899C E4A40030 */ swc1 $f4, 0x30($a1) -/* 08D4D0 7F0589A0 C4860004 */ lwc1 $f6, 4($a0) -/* 08D4D4 7F0589A4 E4A60034 */ swc1 $f6, 0x34($a1) -/* 08D4D8 7F0589A8 C4880008 */ lwc1 $f8, 8($a0) -/* 08D4DC 7F0589AC 03E00008 */ jr $ra -/* 08D4E0 7F0589B0 E4A80038 */ swc1 $f8, 0x38($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0589B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0589B4 -/* 08D4E4 7F0589B4 C4A40000 */ lwc1 $f4, ($a1) -/* 08D4E8 7F0589B8 C4A80004 */ lwc1 $f8, 4($a1) -/* 08D4EC 7F0589BC C4B00008 */ lwc1 $f16, 8($a1) -/* 08D4F0 7F0589C0 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D4F4 7F0589C4 00000000 */ nop -/* 08D4F8 7F0589C8 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D4FC 7F0589CC 00000000 */ nop -/* 08D500 7F0589D0 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D504 7F0589D4 E4A60000 */ swc1 $f6, ($a1) -/* 08D508 7F0589D8 E4AA0004 */ swc1 $f10, 4($a1) -/* 08D50C 7F0589DC 03E00008 */ jr $ra -/* 08D510 7F0589E0 E4B20008 */ swc1 $f18, 8($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0589E4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0589E4 -/* 08D514 7F0589E4 C4A40010 */ lwc1 $f4, 0x10($a1) -/* 08D518 7F0589E8 C4A80014 */ lwc1 $f8, 0x14($a1) -/* 08D51C 7F0589EC C4B00018 */ lwc1 $f16, 0x18($a1) -/* 08D520 7F0589F0 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D524 7F0589F4 00000000 */ nop -/* 08D528 7F0589F8 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D52C 7F0589FC 00000000 */ nop -/* 08D530 7F058A00 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D534 7F058A04 E4A60010 */ swc1 $f6, 0x10($a1) -/* 08D538 7F058A08 E4AA0014 */ swc1 $f10, 0x14($a1) -/* 08D53C 7F058A0C 03E00008 */ jr $ra -/* 08D540 7F058A10 E4B20018 */ swc1 $f18, 0x18($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058A14(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058A14 -/* 08D544 7F058A14 C4A40020 */ lwc1 $f4, 0x20($a1) -/* 08D548 7F058A18 C4A80024 */ lwc1 $f8, 0x24($a1) -/* 08D54C 7F058A1C C4B00028 */ lwc1 $f16, 0x28($a1) -/* 08D550 7F058A20 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D554 7F058A24 C4A4002C */ lwc1 $f4, 0x2c($a1) -/* 08D558 7F058A28 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D55C 7F058A2C 00000000 */ nop -/* 08D560 7F058A30 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D564 7F058A34 E4A60020 */ swc1 $f6, 0x20($a1) -/* 08D568 7F058A38 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D56C 7F058A3C E4AA0024 */ swc1 $f10, 0x24($a1) -/* 08D570 7F058A40 E4B20028 */ swc1 $f18, 0x28($a1) -/* 08D574 7F058A44 03E00008 */ jr $ra -/* 08D578 7F058A48 E4A6002C */ swc1 $f6, 0x2c($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058A4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058A4C -/* 08D57C 7F058A4C C4A40020 */ lwc1 $f4, 0x20($a1) -/* 08D580 7F058A50 C4A80024 */ lwc1 $f8, 0x24($a1) -/* 08D584 7F058A54 C4B00028 */ lwc1 $f16, 0x28($a1) -/* 08D588 7F058A58 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D58C 7F058A5C 00000000 */ nop -/* 08D590 7F058A60 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D594 7F058A64 00000000 */ nop -/* 08D598 7F058A68 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D59C 7F058A6C E4A60020 */ swc1 $f6, 0x20($a1) -/* 08D5A0 7F058A70 E4AA0024 */ swc1 $f10, 0x24($a1) -/* 08D5A4 7F058A74 03E00008 */ jr $ra -/* 08D5A8 7F058A78 E4B20028 */ swc1 $f18, 0x28($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void matrix_multiply_A1_by_F12(void) { - -} -#else -GLOBAL_ASM( -.text -glabel matrix_multiply_A1_by_F12 -/* 08D5AC 7F058A7C C4A40000 */ lwc1 $f4, ($a1) -/* 08D5B0 7F058A80 C4A80004 */ lwc1 $f8, 4($a1) -/* 08D5B4 7F058A84 C4B00008 */ lwc1 $f16, 8($a1) -/* 08D5B8 7F058A88 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D5BC 7F058A8C C4A4000C */ lwc1 $f4, 0xc($a1) -/* 08D5C0 7F058A90 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D5C4 7F058A94 C4A80010 */ lwc1 $f8, 0x10($a1) -/* 08D5C8 7F058A98 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D5CC 7F058A9C E4A60000 */ swc1 $f6, ($a1) -/* 08D5D0 7F058AA0 C4B00014 */ lwc1 $f16, 0x14($a1) -/* 08D5D4 7F058AA4 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D5D8 7F058AA8 E4AA0004 */ swc1 $f10, 4($a1) -/* 08D5DC 7F058AAC C4A40018 */ lwc1 $f4, 0x18($a1) -/* 08D5E0 7F058AB0 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D5E4 7F058AB4 E4B20008 */ swc1 $f18, 8($a1) -/* 08D5E8 7F058AB8 C4A8001C */ lwc1 $f8, 0x1c($a1) -/* 08D5EC 7F058ABC 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D5F0 7F058AC0 E4A6000C */ swc1 $f6, 0xc($a1) -/* 08D5F4 7F058AC4 C4B00020 */ lwc1 $f16, 0x20($a1) -/* 08D5F8 7F058AC8 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D5FC 7F058ACC E4AA0010 */ swc1 $f10, 0x10($a1) -/* 08D600 7F058AD0 C4A40024 */ lwc1 $f4, 0x24($a1) -/* 08D604 7F058AD4 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D608 7F058AD8 E4B20014 */ swc1 $f18, 0x14($a1) -/* 08D60C 7F058ADC C4A80028 */ lwc1 $f8, 0x28($a1) -/* 08D610 7F058AE0 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D614 7F058AE4 E4A60018 */ swc1 $f6, 0x18($a1) -/* 08D618 7F058AE8 C4B0002C */ lwc1 $f16, 0x2c($a1) -/* 08D61C 7F058AEC 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D620 7F058AF0 E4AA001C */ swc1 $f10, 0x1c($a1) -/* 08D624 7F058AF4 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D628 7F058AF8 E4B20020 */ swc1 $f18, 0x20($a1) -/* 08D62C 7F058AFC 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D630 7F058B00 E4A60024 */ swc1 $f6, 0x24($a1) -/* 08D634 7F058B04 E4AA0028 */ swc1 $f10, 0x28($a1) -/* 08D638 7F058B08 03E00008 */ jr $ra -/* 08D63C 7F058B0C E4B2002C */ swc1 $f18, 0x2c($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058B10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058B10 -/* 08D640 7F058B10 C4A40000 */ lwc1 $f4, ($a1) -/* 08D644 7F058B14 C4A80004 */ lwc1 $f8, 4($a1) -/* 08D648 7F058B18 C4B00008 */ lwc1 $f16, 8($a1) -/* 08D64C 7F058B1C 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D650 7F058B20 C4A40010 */ lwc1 $f4, 0x10($a1) -/* 08D654 7F058B24 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D658 7F058B28 C4A80014 */ lwc1 $f8, 0x14($a1) -/* 08D65C 7F058B2C 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D660 7F058B30 E4A60000 */ swc1 $f6, ($a1) -/* 08D664 7F058B34 C4B00018 */ lwc1 $f16, 0x18($a1) -/* 08D668 7F058B38 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D66C 7F058B3C E4AA0004 */ swc1 $f10, 4($a1) -/* 08D670 7F058B40 C4A40020 */ lwc1 $f4, 0x20($a1) -/* 08D674 7F058B44 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D678 7F058B48 E4B20008 */ swc1 $f18, 8($a1) -/* 08D67C 7F058B4C C4A80024 */ lwc1 $f8, 0x24($a1) -/* 08D680 7F058B50 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D684 7F058B54 E4A60010 */ swc1 $f6, 0x10($a1) -/* 08D688 7F058B58 C4B00028 */ lwc1 $f16, 0x28($a1) -/* 08D68C 7F058B5C 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D690 7F058B60 E4AA0014 */ swc1 $f10, 0x14($a1) -/* 08D694 7F058B64 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D698 7F058B68 E4B20018 */ swc1 $f18, 0x18($a1) -/* 08D69C 7F058B6C 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D6A0 7F058B70 E4A60020 */ swc1 $f6, 0x20($a1) -/* 08D6A4 7F058B74 E4AA0024 */ swc1 $f10, 0x24($a1) -/* 08D6A8 7F058B78 03E00008 */ jr $ra -/* 08D6AC 7F058B7C E4B20028 */ swc1 $f18, 0x28($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058B80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058B80 -/* 08D6B0 7F058B80 C4A40008 */ lwc1 $f4, 8($a1) -/* 08D6B4 7F058B84 C4A80018 */ lwc1 $f8, 0x18($a1) -/* 08D6B8 7F058B88 C4B00028 */ lwc1 $f16, 0x28($a1) -/* 08D6BC 7F058B8C 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D6C0 7F058B90 C4A40038 */ lwc1 $f4, 0x38($a1) -/* 08D6C4 7F058B94 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D6C8 7F058B98 00000000 */ nop -/* 08D6CC 7F058B9C 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D6D0 7F058BA0 E4A60008 */ swc1 $f6, 8($a1) -/* 08D6D4 7F058BA4 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D6D8 7F058BA8 E4AA0018 */ swc1 $f10, 0x18($a1) -/* 08D6DC 7F058BAC E4B20028 */ swc1 $f18, 0x28($a1) -/* 08D6E0 7F058BB0 03E00008 */ jr $ra -/* 08D6E4 7F058BB4 E4A60038 */ swc1 $f6, 0x38($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058BB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058BB8 -/* 08D6E8 7F058BB8 C4A40000 */ lwc1 $f4, ($a1) -/* 08D6EC 7F058BBC C4A80010 */ lwc1 $f8, 0x10($a1) -/* 08D6F0 7F058BC0 C4B00020 */ lwc1 $f16, 0x20($a1) -/* 08D6F4 7F058BC4 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D6F8 7F058BC8 C4A40030 */ lwc1 $f4, 0x30($a1) -/* 08D6FC 7F058BCC 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D700 7F058BD0 C4A80004 */ lwc1 $f8, 4($a1) -/* 08D704 7F058BD4 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D708 7F058BD8 E4A60000 */ swc1 $f6, ($a1) -/* 08D70C 7F058BDC C4B00014 */ lwc1 $f16, 0x14($a1) -/* 08D710 7F058BE0 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D714 7F058BE4 E4AA0010 */ swc1 $f10, 0x10($a1) -/* 08D718 7F058BE8 C4A40024 */ lwc1 $f4, 0x24($a1) -/* 08D71C 7F058BEC 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D720 7F058BF0 E4B20020 */ swc1 $f18, 0x20($a1) -/* 08D724 7F058BF4 C4A80034 */ lwc1 $f8, 0x34($a1) -/* 08D728 7F058BF8 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D72C 7F058BFC E4A60030 */ swc1 $f6, 0x30($a1) -/* 08D730 7F058C00 C4B00008 */ lwc1 $f16, 8($a1) -/* 08D734 7F058C04 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D738 7F058C08 E4AA0004 */ swc1 $f10, 4($a1) -/* 08D73C 7F058C0C C4A40018 */ lwc1 $f4, 0x18($a1) -/* 08D740 7F058C10 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D744 7F058C14 E4B20014 */ swc1 $f18, 0x14($a1) -/* 08D748 7F058C18 C4A80028 */ lwc1 $f8, 0x28($a1) -/* 08D74C 7F058C1C 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D750 7F058C20 E4A60024 */ swc1 $f6, 0x24($a1) -/* 08D754 7F058C24 C4B00038 */ lwc1 $f16, 0x38($a1) -/* 08D758 7F058C28 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D75C 7F058C2C E4AA0034 */ swc1 $f10, 0x34($a1) -/* 08D760 7F058C30 460C4282 */ mul.s $f10, $f8, $f12 -/* 08D764 7F058C34 E4B20008 */ swc1 $f18, 8($a1) -/* 08D768 7F058C38 460C8482 */ mul.s $f18, $f16, $f12 -/* 08D76C 7F058C3C E4A60018 */ swc1 $f6, 0x18($a1) -/* 08D770 7F058C40 E4AA0028 */ swc1 $f10, 0x28($a1) -/* 08D774 7F058C44 03E00008 */ jr $ra -/* 08D778 7F058C48 E4B20038 */ swc1 $f18, 0x38($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058C4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058C4C -/* 08D77C 7F058C4C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 08D780 7F058C50 44812000 */ mtc1 $at, $f4 -/* 08D784 7F058C54 3C018003 */ lui $at, %hi(D_80032310) -/* 08D788 7F058C58 460C2182 */ mul.s $f6, $f4, $f12 -/* 08D78C 7F058C5C 03E00008 */ jr $ra -/* 08D790 7F058C60 E4262310 */ swc1 $f6, %lo(D_80032310)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058C64(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058C64 -/* 08D794 7F058C64 3C028003 */ lui $v0, %hi(D_80032310) -/* 08D798 7F058C68 24422310 */ addiu $v0, %lo(D_80032310) # addiu $v0, $v0, 0x2310 -/* 08D79C 7F058C6C C4440000 */ lwc1 $f4, ($v0) -/* 08D7A0 7F058C70 3C018007 */ lui $at, %hi(flt_CODE_bss_80075DA0) -/* 08D7A4 7F058C74 E4245DA0 */ swc1 $f4, %lo(flt_CODE_bss_80075DA0)($at) -/* 08D7A8 7F058C78 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 08D7AC 7F058C7C 44813000 */ mtc1 $at, $f6 -/* 08D7B0 7F058C80 03E00008 */ jr $ra -/* 08D7B4 7F058C84 E4460000 */ swc1 $f6, ($v0) -) -#endif - - - - - -void sub_GAME_7F058C88(void) { - D_80032310 = flt_CODE_bss_80075DA0; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058C9C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058C9C -/* 08D7CC 7F058C9C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08D7D0 7F058CA0 AFB1000C */ sw $s1, 0xc($sp) -/* 08D7D4 7F058CA4 AFB30014 */ sw $s3, 0x14($sp) -/* 08D7D8 7F058CA8 AFB20010 */ sw $s2, 0x10($sp) -/* 08D7DC 7F058CAC 3C118003 */ lui $s1, %hi(D_80032310) -/* 08D7E0 7F058CB0 AFB00008 */ sw $s0, 8($sp) -/* 08D7E4 7F058CB4 26312310 */ addiu $s1, %lo(D_80032310) # addiu $s1, $s1, 0x2310 -/* 08D7E8 7F058CB8 3C12FFFF */ lui $s2, 0xffff -/* 08D7EC 7F058CBC 24130008 */ li $s3, 8 -/* 08D7F0 7F058CC0 00001025 */ move $v0, $zero -/* 08D7F4 7F058CC4 00A05825 */ move $t3, $a1 -.L7F058CC8: -/* 08D7F8 7F058CC8 C6320000 */ lwc1 $f18, ($s1) -/* 08D7FC 7F058CCC 000278C0 */ sll $t7, $v0, 3 -/* 08D800 7F058CD0 008F5021 */ addu $t2, $a0, $t7 -/* 08D804 7F058CD4 C5500000 */ lwc1 $f16, ($t2) -/* 08D808 7F058CD8 C54E0004 */ lwc1 $f14, 4($t2) -/* 08D80C 7F058CDC 30590001 */ andi $t9, $v0, 1 -/* 08D810 7F058CE0 46109402 */ mul.s $f16, $f18, $f16 -/* 08D814 7F058CE4 00197080 */ sll $t6, $t9, 2 -/* 08D818 7F058CE8 022E7821 */ addu $t7, $s1, $t6 -/* 08D81C 7F058CEC C5F20000 */ lwc1 $f18, ($t7) -/* 08D820 7F058CF0 24470001 */ addiu $a3, $v0, 1 -/* 08D824 7F058CF4 24480002 */ addiu $t0, $v0, 2 -/* 08D828 7F058CF8 460E9382 */ mul.s $f14, $f18, $f14 -/* 08D82C 7F058CFC 4600840D */ trunc.w.s $f16, $f16 -/* 08D830 7F058D00 24490003 */ addiu $t1, $v0, 3 -/* 08D834 7F058D04 24420004 */ addiu $v0, $v0, 4 -/* 08D838 7F058D08 256B0010 */ addiu $t3, $t3, 0x10 -/* 08D83C 7F058D0C 44038000 */ mfc1 $v1, $f16 -/* 08D840 7F058D10 4600738D */ trunc.w.s $f14, $f14 -/* 08D844 7F058D14 0072C824 */ and $t9, $v1, $s2 -/* 08D848 7F058D18 0003C400 */ sll $t8, $v1, 0x10 -/* 08D84C 7F058D1C 44067000 */ mfc1 $a2, $f14 -/* 08D850 7F058D20 00000000 */ nop -/* 08D854 7F058D24 00067402 */ srl $t6, $a2, 0x10 -/* 08D858 7F058D28 032E7825 */ or $t7, $t9, $t6 -/* 08D85C 7F058D2C AD6FFFF0 */ sw $t7, -0x10($t3) -/* 08D860 7F058D30 30D9FFFF */ andi $t9, $a2, 0xffff -/* 08D864 7F058D34 03197025 */ or $t6, $t8, $t9 -/* 08D868 7F058D38 AD6E0010 */ sw $t6, 0x10($t3) -/* 08D86C 7F058D3C C62E0000 */ lwc1 $f14, ($s1) -/* 08D870 7F058D40 0007C0C0 */ sll $t8, $a3, 3 -/* 08D874 7F058D44 00986021 */ addu $t4, $a0, $t8 -/* 08D878 7F058D48 C5900000 */ lwc1 $f16, ($t4) -/* 08D87C 7F058D4C C5920004 */ lwc1 $f18, 4($t4) -/* 08D880 7F058D50 30EE0001 */ andi $t6, $a3, 1 -/* 08D884 7F058D54 46107402 */ mul.s $f16, $f14, $f16 -/* 08D888 7F058D58 000E7880 */ sll $t7, $t6, 2 -/* 08D88C 7F058D5C 022FC021 */ addu $t8, $s1, $t7 -/* 08D890 7F058D60 C70E0000 */ lwc1 $f14, ($t8) -/* 08D894 7F058D64 46127482 */ mul.s $f18, $f14, $f18 -/* 08D898 7F058D68 4600840D */ trunc.w.s $f16, $f16 -/* 08D89C 7F058D6C 44038000 */ mfc1 $v1, $f16 -/* 08D8A0 7F058D70 4600948D */ trunc.w.s $f18, $f18 -/* 08D8A4 7F058D74 00727024 */ and $t6, $v1, $s2 -/* 08D8A8 7F058D78 0003CC00 */ sll $t9, $v1, 0x10 -/* 08D8AC 7F058D7C 44069000 */ mfc1 $a2, $f18 -/* 08D8B0 7F058D80 00000000 */ nop -/* 08D8B4 7F058D84 00067C02 */ srl $t7, $a2, 0x10 -/* 08D8B8 7F058D88 01CFC025 */ or $t8, $t6, $t7 -/* 08D8BC 7F058D8C AD78FFF4 */ sw $t8, -0xc($t3) -/* 08D8C0 7F058D90 30CEFFFF */ andi $t6, $a2, 0xffff -/* 08D8C4 7F058D94 032E7825 */ or $t7, $t9, $t6 -/* 08D8C8 7F058D98 AD6F0014 */ sw $t7, 0x14($t3) -/* 08D8CC 7F058D9C C6320000 */ lwc1 $f18, ($s1) -/* 08D8D0 7F058DA0 0008C8C0 */ sll $t9, $t0, 3 -/* 08D8D4 7F058DA4 00996821 */ addu $t5, $a0, $t9 -/* 08D8D8 7F058DA8 C5B00000 */ lwc1 $f16, ($t5) -/* 08D8DC 7F058DAC C5AE0004 */ lwc1 $f14, 4($t5) -/* 08D8E0 7F058DB0 310F0001 */ andi $t7, $t0, 1 -/* 08D8E4 7F058DB4 46109402 */ mul.s $f16, $f18, $f16 -/* 08D8E8 7F058DB8 000FC080 */ sll $t8, $t7, 2 -/* 08D8EC 7F058DBC 0238C821 */ addu $t9, $s1, $t8 -/* 08D8F0 7F058DC0 C7320000 */ lwc1 $f18, ($t9) -/* 08D8F4 7F058DC4 460E9382 */ mul.s $f14, $f18, $f14 -/* 08D8F8 7F058DC8 4600840D */ trunc.w.s $f16, $f16 -/* 08D8FC 7F058DCC 44038000 */ mfc1 $v1, $f16 -/* 08D900 7F058DD0 4600738D */ trunc.w.s $f14, $f14 -/* 08D904 7F058DD4 00727824 */ and $t7, $v1, $s2 -/* 08D908 7F058DD8 00037400 */ sll $t6, $v1, 0x10 -/* 08D90C 7F058DDC 44067000 */ mfc1 $a2, $f14 -/* 08D910 7F058DE0 00000000 */ nop -/* 08D914 7F058DE4 0006C402 */ srl $t8, $a2, 0x10 -/* 08D918 7F058DE8 01F8C825 */ or $t9, $t7, $t8 -/* 08D91C 7F058DEC 30CFFFFF */ andi $t7, $a2, 0xffff -/* 08D920 7F058DF0 AD79FFF8 */ sw $t9, -8($t3) -/* 08D924 7F058DF4 01CFC025 */ or $t8, $t6, $t7 -/* 08D928 7F058DF8 AD780018 */ sw $t8, 0x18($t3) -/* 08D92C 7F058DFC C62E0000 */ lwc1 $f14, ($s1) -/* 08D930 7F058E00 000970C0 */ sll $t6, $t1, 3 -/* 08D934 7F058E04 008E8021 */ addu $s0, $a0, $t6 -/* 08D938 7F058E08 C6100000 */ lwc1 $f16, ($s0) -/* 08D93C 7F058E0C C6120004 */ lwc1 $f18, 4($s0) -/* 08D940 7F058E10 31380001 */ andi $t8, $t1, 1 -/* 08D944 7F058E14 46107402 */ mul.s $f16, $f14, $f16 -/* 08D948 7F058E18 0018C880 */ sll $t9, $t8, 2 -/* 08D94C 7F058E1C 02397021 */ addu $t6, $s1, $t9 -/* 08D950 7F058E20 C5CE0000 */ lwc1 $f14, ($t6) -/* 08D954 7F058E24 46127482 */ mul.s $f18, $f14, $f18 -/* 08D958 7F058E28 4600840D */ trunc.w.s $f16, $f16 -/* 08D95C 7F058E2C 44038000 */ mfc1 $v1, $f16 -/* 08D960 7F058E30 4600948D */ trunc.w.s $f18, $f18 -/* 08D964 7F058E34 0072C024 */ and $t8, $v1, $s2 -/* 08D968 7F058E38 00037C00 */ sll $t7, $v1, 0x10 -/* 08D96C 7F058E3C 44069000 */ mfc1 $a2, $f18 -/* 08D970 7F058E40 00000000 */ nop -/* 08D974 7F058E44 0006CC02 */ srl $t9, $a2, 0x10 -/* 08D978 7F058E48 03197025 */ or $t6, $t8, $t9 -/* 08D97C 7F058E4C 30D8FFFF */ andi $t8, $a2, 0xffff -/* 08D980 7F058E50 01F8C825 */ or $t9, $t7, $t8 -/* 08D984 7F058E54 AD6EFFFC */ sw $t6, -4($t3) -/* 08D988 7F058E58 1453FF9B */ bne $v0, $s3, .L7F058CC8 -/* 08D98C 7F058E5C AD79001C */ sw $t9, 0x1c($t3) -/* 08D990 7F058E60 8FB00008 */ lw $s0, 8($sp) -/* 08D994 7F058E64 8FB1000C */ lw $s1, 0xc($sp) -/* 08D998 7F058E68 8FB20010 */ lw $s2, 0x10($sp) -/* 08D99C 7F058E6C 8FB30014 */ lw $s3, 0x14($sp) -/* 08D9A0 7F058E70 03E00008 */ jr $ra -/* 08D9A4 7F058E74 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F058E78(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F058E78 -/* 08D9A8 7F058E78 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08D9AC 7F058E7C AFB20010 */ sw $s2, 0x10($sp) -/* 08D9B0 7F058E80 AFB30014 */ sw $s3, 0x14($sp) -/* 08D9B4 7F058E84 AFB1000C */ sw $s1, 0xc($sp) -/* 08D9B8 7F058E88 3C128003 */ lui $s2, %hi(D_80032310) -/* 08D9BC 7F058E8C AFB00008 */ sw $s0, 8($sp) -/* 08D9C0 7F058E90 26522310 */ addiu $s2, %lo(D_80032310) # addiu $s2, $s2, 0x2310 -/* 08D9C4 7F058E94 3C11FFFF */ lui $s1, 0xffff -/* 08D9C8 7F058E98 24130008 */ li $s3, 8 -/* 08D9CC 7F058E9C 00001025 */ move $v0, $zero -/* 08D9D0 7F058EA0 00805025 */ move $t2, $a0 -.L7F058EA4: -/* 08D9D4 7F058EA4 8D430000 */ lw $v1, ($t2) -/* 08D9D8 7F058EA8 8D460020 */ lw $a2, 0x20($t2) -/* 08D9DC 7F058EAC C6480000 */ lwc1 $f8, ($s2) -/* 08D9E0 7F058EB0 0071C024 */ and $t8, $v1, $s1 -/* 08D9E4 7F058EB4 0006CC02 */ srl $t9, $a2, 0x10 -/* 08D9E8 7F058EB8 03197025 */ or $t6, $t8, $t9 -/* 08D9EC 7F058EBC 448E2000 */ mtc1 $t6, $f4 -/* 08D9F0 7F058EC0 000278C0 */ sll $t7, $v0, 3 -/* 08D9F4 7F058EC4 00AF5821 */ addu $t3, $a1, $t7 -/* 08D9F8 7F058EC8 468021A0 */ cvt.s.w $f6, $f4 -/* 08D9FC 7F058ECC 00037C00 */ sll $t7, $v1, 0x10 -/* 08DA00 7F058ED0 30D8FFFF */ andi $t8, $a2, 0xffff -/* 08DA04 7F058ED4 01F8C825 */ or $t9, $t7, $t8 -/* 08DA08 7F058ED8 44998000 */ mtc1 $t9, $f16 -/* 08DA0C 7F058EDC 304E0001 */ andi $t6, $v0, 1 -/* 08DA10 7F058EE0 46083283 */ div.s $f10, $f6, $f8 -/* 08DA14 7F058EE4 000E7880 */ sll $t7, $t6, 2 -/* 08DA18 7F058EE8 024FC021 */ addu $t8, $s2, $t7 -/* 08DA1C 7F058EEC 24470001 */ addiu $a3, $v0, 1 -/* 08DA20 7F058EF0 468084A0 */ cvt.s.w $f18, $f16 -/* 08DA24 7F058EF4 000770C0 */ sll $t6, $a3, 3 -/* 08DA28 7F058EF8 00AE6021 */ addu $t4, $a1, $t6 -/* 08DA2C 7F058EFC 24480002 */ addiu $t0, $v0, 2 -/* 08DA30 7F058F00 24490003 */ addiu $t1, $v0, 3 -/* 08DA34 7F058F04 24420004 */ addiu $v0, $v0, 4 -/* 08DA38 7F058F08 254A0010 */ addiu $t2, $t2, 0x10 -/* 08DA3C 7F058F0C E56A0000 */ swc1 $f10, ($t3) -/* 08DA40 7F058F10 C7040000 */ lwc1 $f4, ($t8) -/* 08DA44 7F058F14 46049183 */ div.s $f6, $f18, $f4 -/* 08DA48 7F058F18 E5660004 */ swc1 $f6, 4($t3) -/* 08DA4C 7F058F1C 8D460014 */ lw $a2, 0x14($t2) -/* 08DA50 7F058F20 8D43FFF4 */ lw $v1, -0xc($t2) -/* 08DA54 7F058F24 C6500000 */ lwc1 $f16, ($s2) -/* 08DA58 7F058F28 0006C402 */ srl $t8, $a2, 0x10 -/* 08DA5C 7F058F2C 00717824 */ and $t7, $v1, $s1 -/* 08DA60 7F058F30 01F8C825 */ or $t9, $t7, $t8 -/* 08DA64 7F058F34 44994000 */ mtc1 $t9, $f8 -/* 08DA68 7F058F38 30CFFFFF */ andi $t7, $a2, 0xffff -/* 08DA6C 7F058F3C 00037400 */ sll $t6, $v1, 0x10 -/* 08DA70 7F058F40 468042A0 */ cvt.s.w $f10, $f8 -/* 08DA74 7F058F44 01CFC025 */ or $t8, $t6, $t7 -/* 08DA78 7F058F48 44982000 */ mtc1 $t8, $f4 -/* 08DA7C 7F058F4C 30F90001 */ andi $t9, $a3, 1 -/* 08DA80 7F058F50 00197080 */ sll $t6, $t9, 2 -/* 08DA84 7F058F54 468021A0 */ cvt.s.w $f6, $f4 -/* 08DA88 7F058F58 024E7821 */ addu $t7, $s2, $t6 -/* 08DA8C 7F058F5C 0008C8C0 */ sll $t9, $t0, 3 -/* 08DA90 7F058F60 00B96821 */ addu $t5, $a1, $t9 -/* 08DA94 7F058F64 46105483 */ div.s $f18, $f10, $f16 -/* 08DA98 7F058F68 E5920000 */ swc1 $f18, ($t4) -/* 08DA9C 7F058F6C C5E80000 */ lwc1 $f8, ($t7) -/* 08DAA0 7F058F70 46083283 */ div.s $f10, $f6, $f8 -/* 08DAA4 7F058F74 E58A0004 */ swc1 $f10, 4($t4) -/* 08DAA8 7F058F78 8D460018 */ lw $a2, 0x18($t2) -/* 08DAAC 7F058F7C 8D43FFF8 */ lw $v1, -8($t2) -/* 08DAB0 7F058F80 C6440000 */ lwc1 $f4, ($s2) -/* 08DAB4 7F058F84 00067C02 */ srl $t7, $a2, 0x10 -/* 08DAB8 7F058F88 00717024 */ and $t6, $v1, $s1 -/* 08DABC 7F058F8C 01CFC025 */ or $t8, $t6, $t7 -/* 08DAC0 7F058F90 44988000 */ mtc1 $t8, $f16 -/* 08DAC4 7F058F94 30CEFFFF */ andi $t6, $a2, 0xffff -/* 08DAC8 7F058F98 0003CC00 */ sll $t9, $v1, 0x10 -/* 08DACC 7F058F9C 468084A0 */ cvt.s.w $f18, $f16 -/* 08DAD0 7F058FA0 032E7825 */ or $t7, $t9, $t6 -/* 08DAD4 7F058FA4 448F4000 */ mtc1 $t7, $f8 -/* 08DAD8 7F058FA8 31180001 */ andi $t8, $t0, 1 -/* 08DADC 7F058FAC 0018C880 */ sll $t9, $t8, 2 -/* 08DAE0 7F058FB0 468042A0 */ cvt.s.w $f10, $f8 -/* 08DAE4 7F058FB4 02597021 */ addu $t6, $s2, $t9 -/* 08DAE8 7F058FB8 0009C0C0 */ sll $t8, $t1, 3 -/* 08DAEC 7F058FBC 00B88021 */ addu $s0, $a1, $t8 -/* 08DAF0 7F058FC0 46049183 */ div.s $f6, $f18, $f4 -/* 08DAF4 7F058FC4 E5A60000 */ swc1 $f6, ($t5) -/* 08DAF8 7F058FC8 C5D00000 */ lwc1 $f16, ($t6) -/* 08DAFC 7F058FCC 46105483 */ div.s $f18, $f10, $f16 -/* 08DB00 7F058FD0 E5B20004 */ swc1 $f18, 4($t5) -/* 08DB04 7F058FD4 8D46001C */ lw $a2, 0x1c($t2) -/* 08DB08 7F058FD8 8D43FFFC */ lw $v1, -4($t2) -/* 08DB0C 7F058FDC C6480000 */ lwc1 $f8, ($s2) -/* 08DB10 7F058FE0 00067402 */ srl $t6, $a2, 0x10 -/* 08DB14 7F058FE4 0071C824 */ and $t9, $v1, $s1 -/* 08DB18 7F058FE8 032E7825 */ or $t7, $t9, $t6 -/* 08DB1C 7F058FEC 448F2000 */ mtc1 $t7, $f4 -/* 08DB20 7F058FF0 30D9FFFF */ andi $t9, $a2, 0xffff -/* 08DB24 7F058FF4 0003C400 */ sll $t8, $v1, 0x10 -/* 08DB28 7F058FF8 468021A0 */ cvt.s.w $f6, $f4 -/* 08DB2C 7F058FFC 03197025 */ or $t6, $t8, $t9 -/* 08DB30 7F059000 448E8000 */ mtc1 $t6, $f16 -/* 08DB34 7F059004 312F0001 */ andi $t7, $t1, 1 -/* 08DB38 7F059008 000FC080 */ sll $t8, $t7, 2 -/* 08DB3C 7F05900C 468084A0 */ cvt.s.w $f18, $f16 -/* 08DB40 7F059010 0258C821 */ addu $t9, $s2, $t8 -/* 08DB44 7F059014 46083283 */ div.s $f10, $f6, $f8 -/* 08DB48 7F059018 E60A0000 */ swc1 $f10, ($s0) -/* 08DB4C 7F05901C C7240000 */ lwc1 $f4, ($t9) -/* 08DB50 7F059020 46049183 */ div.s $f6, $f18, $f4 -/* 08DB54 7F059024 1453FF9F */ bne $v0, $s3, .L7F058EA4 -/* 08DB58 7F059028 E6060004 */ swc1 $f6, 4($s0) -/* 08DB5C 7F05902C 8FB00008 */ lw $s0, 8($sp) -/* 08DB60 7F059030 8FB1000C */ lw $s1, 0xc($sp) -/* 08DB64 7F059034 8FB20010 */ lw $s2, 0x10($sp) -/* 08DB68 7F059038 8FB30014 */ lw $s3, 0x14($sp) -/* 08DB6C 7F05903C 03E00008 */ jr $ra -/* 08DB70 7F059040 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059044(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059044 -/* 08DB74 7F059044 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 08DB78 7F059048 00803025 */ move $a2, $a0 -/* 08DB7C 7F05904C 44810000 */ mtc1 $at, $f0 -/* 08DB80 7F059050 24040004 */ li $a0, 4 -/* 08DB84 7F059054 00001025 */ move $v0, $zero -/* 08DB88 7F059058 00A01825 */ move $v1, $a1 -/* 08DB8C 7F05905C C4D00000 */ lwc1 $f16, ($a2) -/* 08DB90 7F059060 24420001 */ addiu $v0, $v0, 1 -/* 08DB94 7F059064 46008482 */ mul.s $f18, $f16, $f0 -/* 08DB98 7F059068 5044001F */ beql $v0, $a0, .L7F0590E8 -/* 08DB9C 7F05906C 4600940D */ trunc.w.s $f16, $f18 -/* 08DBA0 7F059070 4600940D */ trunc.w.s $f16, $f18 -.L7F059074: -/* 08DBA4 7F059074 24420001 */ addiu $v0, $v0, 1 -/* 08DBA8 7F059078 24630010 */ addiu $v1, $v1, 0x10 -/* 08DBAC 7F05907C 24C60010 */ addiu $a2, $a2, 0x10 -/* 08DBB0 7F059080 440F8000 */ mfc1 $t7, $f16 -/* 08DBB4 7F059084 00000000 */ nop -/* 08DBB8 7F059088 AC6FFFF0 */ sw $t7, -0x10($v1) -/* 08DBBC 7F05908C C4D0FFF4 */ lwc1 $f16, -0xc($a2) -/* 08DBC0 7F059090 46008402 */ mul.s $f16, $f16, $f0 -/* 08DBC4 7F059094 4600840D */ trunc.w.s $f16, $f16 -/* 08DBC8 7F059098 44198000 */ mfc1 $t9, $f16 -/* 08DBCC 7F05909C 00000000 */ nop -/* 08DBD0 7F0590A0 AC79FFF4 */ sw $t9, -0xc($v1) -/* 08DBD4 7F0590A4 C4D0FFF8 */ lwc1 $f16, -8($a2) -/* 08DBD8 7F0590A8 46008402 */ mul.s $f16, $f16, $f0 -/* 08DBDC 7F0590AC 4600840D */ trunc.w.s $f16, $f16 -/* 08DBE0 7F0590B0 44098000 */ mfc1 $t1, $f16 -/* 08DBE4 7F0590B4 00000000 */ nop -/* 08DBE8 7F0590B8 AC69FFF8 */ sw $t1, -8($v1) -/* 08DBEC 7F0590BC C4D0FFFC */ lwc1 $f16, -4($a2) -/* 08DBF0 7F0590C0 46008402 */ mul.s $f16, $f16, $f0 -/* 08DBF4 7F0590C4 4600840D */ trunc.w.s $f16, $f16 -/* 08DBF8 7F0590C8 440B8000 */ mfc1 $t3, $f16 -/* 08DBFC 7F0590CC 00000000 */ nop -/* 08DC00 7F0590D0 AC6BFFFC */ sw $t3, -4($v1) -/* 08DC04 7F0590D4 C4D00000 */ lwc1 $f16, ($a2) -/* 08DC08 7F0590D8 46008482 */ mul.s $f18, $f16, $f0 -/* 08DC0C 7F0590DC 5444FFE5 */ bnel $v0, $a0, .L7F059074 -/* 08DC10 7F0590E0 4600940D */ trunc.w.s $f16, $f18 -/* 08DC14 7F0590E4 4600940D */ trunc.w.s $f16, $f18 -.L7F0590E8: -/* 08DC18 7F0590E8 24630010 */ addiu $v1, $v1, 0x10 -/* 08DC1C 7F0590EC 24C60010 */ addiu $a2, $a2, 0x10 -/* 08DC20 7F0590F0 440F8000 */ mfc1 $t7, $f16 -/* 08DC24 7F0590F4 00000000 */ nop -/* 08DC28 7F0590F8 AC6FFFF0 */ sw $t7, -0x10($v1) -/* 08DC2C 7F0590FC C4D0FFF4 */ lwc1 $f16, -0xc($a2) -/* 08DC30 7F059100 46008402 */ mul.s $f16, $f16, $f0 -/* 08DC34 7F059104 4600840D */ trunc.w.s $f16, $f16 -/* 08DC38 7F059108 44198000 */ mfc1 $t9, $f16 -/* 08DC3C 7F05910C 00000000 */ nop -/* 08DC40 7F059110 AC79FFF4 */ sw $t9, -0xc($v1) -/* 08DC44 7F059114 C4D0FFF8 */ lwc1 $f16, -8($a2) -/* 08DC48 7F059118 46008402 */ mul.s $f16, $f16, $f0 -/* 08DC4C 7F05911C 4600840D */ trunc.w.s $f16, $f16 -/* 08DC50 7F059120 44098000 */ mfc1 $t1, $f16 -/* 08DC54 7F059124 00000000 */ nop -/* 08DC58 7F059128 AC69FFF8 */ sw $t1, -8($v1) -/* 08DC5C 7F05912C C4D0FFFC */ lwc1 $f16, -4($a2) -/* 08DC60 7F059130 46008402 */ mul.s $f16, $f16, $f0 -/* 08DC64 7F059134 4600840D */ trunc.w.s $f16, $f16 -/* 08DC68 7F059138 440B8000 */ mfc1 $t3, $f16 -/* 08DC6C 7F05913C 00000000 */ nop -/* 08DC70 7F059140 AC6BFFFC */ sw $t3, -4($v1) -/* 08DC74 7F059144 03E00008 */ jr $ra -/* 08DC78 7F059148 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05914C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05914C -/* 08DC7C 7F05914C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 08DC80 7F059150 00803025 */ move $a2, $a0 -/* 08DC84 7F059154 44810000 */ mtc1 $at, $f0 -/* 08DC88 7F059158 24040004 */ li $a0, 4 -/* 08DC8C 7F05915C 00001025 */ move $v0, $zero -/* 08DC90 7F059160 00A01825 */ move $v1, $a1 -/* 08DC94 7F059164 24420001 */ addiu $v0, $v0, 1 -/* 08DC98 7F059168 1044001C */ beq $v0, $a0, .L7F0591DC -/* 08DC9C 7F05916C 8CCE0000 */ lw $t6, ($a2) -.L7F059170: -/* 08DCA0 7F059170 448E9000 */ mtc1 $t6, $f18 -/* 08DCA4 7F059174 24420001 */ addiu $v0, $v0, 1 -/* 08DCA8 7F059178 24630010 */ addiu $v1, $v1, 0x10 -/* 08DCAC 7F05917C 468094A0 */ cvt.s.w $f18, $f18 -/* 08DCB0 7F059180 24C60010 */ addiu $a2, $a2, 0x10 -/* 08DCB4 7F059184 46009483 */ div.s $f18, $f18, $f0 -/* 08DCB8 7F059188 E472FFF0 */ swc1 $f18, -0x10($v1) -/* 08DCBC 7F05918C 8CCFFFF4 */ lw $t7, -0xc($a2) -/* 08DCC0 7F059190 448F9000 */ mtc1 $t7, $f18 -/* 08DCC4 7F059194 00000000 */ nop -/* 08DCC8 7F059198 468094A0 */ cvt.s.w $f18, $f18 -/* 08DCCC 7F05919C 46009483 */ div.s $f18, $f18, $f0 -/* 08DCD0 7F0591A0 E472FFF4 */ swc1 $f18, -0xc($v1) -/* 08DCD4 7F0591A4 8CD8FFF8 */ lw $t8, -8($a2) -/* 08DCD8 7F0591A8 44989000 */ mtc1 $t8, $f18 -/* 08DCDC 7F0591AC 00000000 */ nop -/* 08DCE0 7F0591B0 468094A0 */ cvt.s.w $f18, $f18 -/* 08DCE4 7F0591B4 46009483 */ div.s $f18, $f18, $f0 -/* 08DCE8 7F0591B8 E472FFF8 */ swc1 $f18, -8($v1) -/* 08DCEC 7F0591BC 8CD9FFFC */ lw $t9, -4($a2) -/* 08DCF0 7F0591C0 44999000 */ mtc1 $t9, $f18 -/* 08DCF4 7F0591C4 00000000 */ nop -/* 08DCF8 7F0591C8 468094A0 */ cvt.s.w $f18, $f18 -/* 08DCFC 7F0591CC 46009483 */ div.s $f18, $f18, $f0 -/* 08DD00 7F0591D0 E472FFFC */ swc1 $f18, -4($v1) -/* 08DD04 7F0591D4 1444FFE6 */ bne $v0, $a0, .L7F059170 -/* 08DD08 7F0591D8 8CCE0000 */ lw $t6, ($a2) -.L7F0591DC: -/* 08DD0C 7F0591DC 448E9000 */ mtc1 $t6, $f18 -/* 08DD10 7F0591E0 24630010 */ addiu $v1, $v1, 0x10 -/* 08DD14 7F0591E4 24C60010 */ addiu $a2, $a2, 0x10 -/* 08DD18 7F0591E8 468094A0 */ cvt.s.w $f18, $f18 -/* 08DD1C 7F0591EC 46009483 */ div.s $f18, $f18, $f0 -/* 08DD20 7F0591F0 E472FFF0 */ swc1 $f18, -0x10($v1) -/* 08DD24 7F0591F4 8CCFFFF4 */ lw $t7, -0xc($a2) -/* 08DD28 7F0591F8 448F9000 */ mtc1 $t7, $f18 -/* 08DD2C 7F0591FC 00000000 */ nop -/* 08DD30 7F059200 468094A0 */ cvt.s.w $f18, $f18 -/* 08DD34 7F059204 46009483 */ div.s $f18, $f18, $f0 -/* 08DD38 7F059208 E472FFF4 */ swc1 $f18, -0xc($v1) -/* 08DD3C 7F05920C 8CD8FFF8 */ lw $t8, -8($a2) -/* 08DD40 7F059210 44989000 */ mtc1 $t8, $f18 -/* 08DD44 7F059214 00000000 */ nop -/* 08DD48 7F059218 468094A0 */ cvt.s.w $f18, $f18 -/* 08DD4C 7F05921C 46009483 */ div.s $f18, $f18, $f0 -/* 08DD50 7F059220 E472FFF8 */ swc1 $f18, -8($v1) -/* 08DD54 7F059224 8CD9FFFC */ lw $t9, -4($a2) -/* 08DD58 7F059228 44999000 */ mtc1 $t9, $f18 -/* 08DD5C 7F05922C 00000000 */ nop -/* 08DD60 7F059230 468094A0 */ cvt.s.w $f18, $f18 -/* 08DD64 7F059234 46009483 */ div.s $f18, $f18, $f0 -/* 08DD68 7F059238 E472FFFC */ swc1 $f18, -4($v1) -/* 08DD6C 7F05923C 03E00008 */ jr $ra -/* 08DD70 7F059240 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059244(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059244 -/* 08DD74 7F059244 00001025 */ move $v0, $zero -/* 08DD78 7F059248 00A04025 */ move $t0, $a1 -/* 08DD7C 7F05924C 240D0008 */ li $t5, 8 -/* 08DD80 7F059250 3C0CFFFF */ lui $t4, 0xffff -.L7F059254: -/* 08DD84 7F059254 000278C0 */ sll $t7, $v0, 3 -/* 08DD88 7F059258 008F3821 */ addu $a3, $a0, $t7 -/* 08DD8C 7F05925C 8CE30000 */ lw $v1, ($a3) -/* 08DD90 7F059260 8CE60004 */ lw $a2, 4($a3) -/* 08DD94 7F059264 25080010 */ addiu $t0, $t0, 0x10 -/* 08DD98 7F059268 006CC024 */ and $t8, $v1, $t4 -/* 08DD9C 7F05926C 0006CC02 */ srl $t9, $a2, 0x10 -/* 08DDA0 7F059270 03197025 */ or $t6, $t8, $t9 -/* 08DDA4 7F059274 00037C00 */ sll $t7, $v1, 0x10 -/* 08DDA8 7F059278 30D8FFFF */ andi $t8, $a2, 0xffff -/* 08DDAC 7F05927C 01F8C825 */ or $t9, $t7, $t8 -/* 08DDB0 7F059280 244F0001 */ addiu $t7, $v0, 1 -/* 08DDB4 7F059284 000FC0C0 */ sll $t8, $t7, 3 -/* 08DDB8 7F059288 00984821 */ addu $t1, $a0, $t8 -/* 08DDBC 7F05928C AD0EFFF0 */ sw $t6, -0x10($t0) -/* 08DDC0 7F059290 AD190010 */ sw $t9, 0x10($t0) -/* 08DDC4 7F059294 8D260004 */ lw $a2, 4($t1) -/* 08DDC8 7F059298 8D230000 */ lw $v1, ($t1) -/* 08DDCC 7F05929C 00067402 */ srl $t6, $a2, 0x10 -/* 08DDD0 7F0592A0 006CC824 */ and $t9, $v1, $t4 -/* 08DDD4 7F0592A4 032E7825 */ or $t7, $t9, $t6 -/* 08DDD8 7F0592A8 30D9FFFF */ andi $t9, $a2, 0xffff -/* 08DDDC 7F0592AC 0003C400 */ sll $t8, $v1, 0x10 -/* 08DDE0 7F0592B0 03197025 */ or $t6, $t8, $t9 -/* 08DDE4 7F0592B4 24580002 */ addiu $t8, $v0, 2 -/* 08DDE8 7F0592B8 0018C8C0 */ sll $t9, $t8, 3 -/* 08DDEC 7F0592BC 00995021 */ addu $t2, $a0, $t9 -/* 08DDF0 7F0592C0 AD0E0014 */ sw $t6, 0x14($t0) -/* 08DDF4 7F0592C4 AD0FFFF4 */ sw $t7, -0xc($t0) -/* 08DDF8 7F0592C8 8D460004 */ lw $a2, 4($t2) -/* 08DDFC 7F0592CC 8D430000 */ lw $v1, ($t2) -/* 08DE00 7F0592D0 00067C02 */ srl $t7, $a2, 0x10 -/* 08DE04 7F0592D4 006C7024 */ and $t6, $v1, $t4 -/* 08DE08 7F0592D8 01CFC025 */ or $t8, $t6, $t7 -/* 08DE0C 7F0592DC 30CEFFFF */ andi $t6, $a2, 0xffff -/* 08DE10 7F0592E0 0003CC00 */ sll $t9, $v1, 0x10 -/* 08DE14 7F0592E4 032E7825 */ or $t7, $t9, $t6 -/* 08DE18 7F0592E8 24590003 */ addiu $t9, $v0, 3 -/* 08DE1C 7F0592EC 001970C0 */ sll $t6, $t9, 3 -/* 08DE20 7F0592F0 008E5821 */ addu $t3, $a0, $t6 -/* 08DE24 7F0592F4 AD0F0018 */ sw $t7, 0x18($t0) -/* 08DE28 7F0592F8 AD18FFF8 */ sw $t8, -8($t0) -/* 08DE2C 7F0592FC 8D660004 */ lw $a2, 4($t3) -/* 08DE30 7F059300 8D630000 */ lw $v1, ($t3) -/* 08DE34 7F059304 24420004 */ addiu $v0, $v0, 4 -/* 08DE38 7F059308 0006C402 */ srl $t8, $a2, 0x10 -/* 08DE3C 7F05930C 006C7824 */ and $t7, $v1, $t4 -/* 08DE40 7F059310 01F8C825 */ or $t9, $t7, $t8 -/* 08DE44 7F059314 30CFFFFF */ andi $t7, $a2, 0xffff -/* 08DE48 7F059318 00037400 */ sll $t6, $v1, 0x10 -/* 08DE4C 7F05931C 01CFC025 */ or $t8, $t6, $t7 -/* 08DE50 7F059320 AD18001C */ sw $t8, 0x1c($t0) -/* 08DE54 7F059324 144DFFCB */ bne $v0, $t5, .L7F059254 -/* 08DE58 7F059328 AD19FFFC */ sw $t9, -4($t0) -/* 08DE5C 7F05932C 03E00008 */ jr $ra -/* 08DE60 7F059330 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059334(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059334 -/* 08DE64 7F059334 00001025 */ move $v0, $zero -/* 08DE68 7F059338 00803825 */ move $a3, $a0 -/* 08DE6C 7F05933C 240D0008 */ li $t5, 8 -/* 08DE70 7F059340 3C0CFFFF */ lui $t4, 0xffff -.L7F059344: -/* 08DE74 7F059344 8CE30000 */ lw $v1, ($a3) -/* 08DE78 7F059348 8CE60020 */ lw $a2, 0x20($a3) -/* 08DE7C 7F05934C 000278C0 */ sll $t7, $v0, 3 -/* 08DE80 7F059350 006CC024 */ and $t8, $v1, $t4 -/* 08DE84 7F059354 0006CC02 */ srl $t9, $a2, 0x10 -/* 08DE88 7F059358 03197025 */ or $t6, $t8, $t9 -/* 08DE8C 7F05935C 00AF4021 */ addu $t0, $a1, $t7 -/* 08DE90 7F059360 00037C00 */ sll $t7, $v1, 0x10 -/* 08DE94 7F059364 30D8FFFF */ andi $t8, $a2, 0xffff -/* 08DE98 7F059368 01F8C825 */ or $t9, $t7, $t8 -/* 08DE9C 7F05936C AD0E0000 */ sw $t6, ($t0) -/* 08DEA0 7F059370 AD190004 */ sw $t9, 4($t0) -/* 08DEA4 7F059374 8CE60024 */ lw $a2, 0x24($a3) -/* 08DEA8 7F059378 8CE30004 */ lw $v1, 4($a3) -/* 08DEAC 7F05937C 244F0001 */ addiu $t7, $v0, 1 -/* 08DEB0 7F059380 000FC0C0 */ sll $t8, $t7, 3 -/* 08DEB4 7F059384 00067402 */ srl $t6, $a2, 0x10 -/* 08DEB8 7F059388 006CC824 */ and $t9, $v1, $t4 -/* 08DEBC 7F05938C 032E7825 */ or $t7, $t9, $t6 -/* 08DEC0 7F059390 00B84821 */ addu $t1, $a1, $t8 -/* 08DEC4 7F059394 30D9FFFF */ andi $t9, $a2, 0xffff -/* 08DEC8 7F059398 0003C400 */ sll $t8, $v1, 0x10 -/* 08DECC 7F05939C 03197025 */ or $t6, $t8, $t9 -/* 08DED0 7F0593A0 AD2E0004 */ sw $t6, 4($t1) -/* 08DED4 7F0593A4 AD2F0000 */ sw $t7, ($t1) -/* 08DED8 7F0593A8 8CE60028 */ lw $a2, 0x28($a3) -/* 08DEDC 7F0593AC 8CE30008 */ lw $v1, 8($a3) -/* 08DEE0 7F0593B0 24580002 */ addiu $t8, $v0, 2 -/* 08DEE4 7F0593B4 0018C8C0 */ sll $t9, $t8, 3 -/* 08DEE8 7F0593B8 00067C02 */ srl $t7, $a2, 0x10 -/* 08DEEC 7F0593BC 006C7024 */ and $t6, $v1, $t4 -/* 08DEF0 7F0593C0 01CFC025 */ or $t8, $t6, $t7 -/* 08DEF4 7F0593C4 00B95021 */ addu $t2, $a1, $t9 -/* 08DEF8 7F0593C8 30CEFFFF */ andi $t6, $a2, 0xffff -/* 08DEFC 7F0593CC 0003CC00 */ sll $t9, $v1, 0x10 -/* 08DF00 7F0593D0 032E7825 */ or $t7, $t9, $t6 -/* 08DF04 7F0593D4 AD4F0004 */ sw $t7, 4($t2) -/* 08DF08 7F0593D8 AD580000 */ sw $t8, ($t2) -/* 08DF0C 7F0593DC 8CE6002C */ lw $a2, 0x2c($a3) -/* 08DF10 7F0593E0 8CE3000C */ lw $v1, 0xc($a3) -/* 08DF14 7F0593E4 24590003 */ addiu $t9, $v0, 3 -/* 08DF18 7F0593E8 001970C0 */ sll $t6, $t9, 3 -/* 08DF1C 7F0593EC 0006C402 */ srl $t8, $a2, 0x10 -/* 08DF20 7F0593F0 006C7824 */ and $t7, $v1, $t4 -/* 08DF24 7F0593F4 01F8C825 */ or $t9, $t7, $t8 -/* 08DF28 7F0593F8 00AE5821 */ addu $t3, $a1, $t6 -/* 08DF2C 7F0593FC 30CFFFFF */ andi $t7, $a2, 0xffff -/* 08DF30 7F059400 00037400 */ sll $t6, $v1, 0x10 -/* 08DF34 7F059404 01CFC025 */ or $t8, $t6, $t7 -/* 08DF38 7F059408 24420004 */ addiu $v0, $v0, 4 -/* 08DF3C 7F05940C AD780004 */ sw $t8, 4($t3) -/* 08DF40 7F059410 AD790000 */ sw $t9, ($t3) -/* 08DF44 7F059414 144DFFCB */ bne $v0, $t5, .L7F059344 -/* 08DF48 7F059418 24E70010 */ addiu $a3, $a3, 0x10 -/* 08DF4C 7F05941C 03E00008 */ jr $ra -/* 08DF50 7F059420 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059424(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059424 -/* 08DF54 7F059424 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 08DF58 7F059428 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 08DF5C 7F05942C C7B40058 */ lwc1 $f20, 0x58($sp) -/* 08DF60 7F059430 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 08DF64 7F059434 C7B6005C */ lwc1 $f22, 0x5c($sp) -/* 08DF68 7F059438 4614A102 */ mul.s $f4, $f20, $f20 -/* 08DF6C 7F05943C F7B80020 */ sdc1 $f24, 0x20($sp) -/* 08DF70 7F059440 C7B80060 */ lwc1 $f24, 0x60($sp) -/* 08DF74 7F059444 4616B182 */ mul.s $f6, $f22, $f22 -/* 08DF78 7F059448 AFBF0044 */ sw $ra, 0x44($sp) -/* 08DF7C 7F05944C F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 08DF80 7F059450 4618C282 */ mul.s $f10, $f24, $f24 -/* 08DF84 7F059454 F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 08DF88 7F059458 F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 08DF8C 7F05945C AFA5004C */ sw $a1, 0x4c($sp) -/* 08DF90 7F059460 AFA60050 */ sw $a2, 0x50($sp) -/* 08DF94 7F059464 46062200 */ add.s $f8, $f4, $f6 -/* 08DF98 7F059468 AFA70054 */ sw $a3, 0x54($sp) -/* 08DF9C 7F05946C AFA40048 */ sw $a0, 0x48($sp) -/* 08DFA0 7F059470 0C007DF8 */ jal sqrtf -/* 08DFA4 7F059474 460A4300 */ add.s $f12, $f8, $f10 -/* 08DFA8 7F059478 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 08DFAC 7F05947C 44812000 */ mtc1 $at, $f4 -/* 08DFB0 7F059480 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 08DFB4 7F059484 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 08DFB8 7F059488 46002083 */ div.s $f2, $f4, $f0 -/* 08DFBC 7F05948C 4602A502 */ mul.s $f20, $f20, $f2 -/* 08DFC0 7F059490 00000000 */ nop -/* 08DFC4 7F059494 4602B582 */ mul.s $f22, $f22, $f2 -/* 08DFC8 7F059498 00000000 */ nop -/* 08DFCC 7F05949C 4602C602 */ mul.s $f24, $f24, $f2 -/* 08DFD0 7F0594A0 00000000 */ nop -/* 08DFD4 7F0594A4 46183202 */ mul.s $f8, $f6, $f24 -/* 08DFD8 7F0594A8 00000000 */ nop -/* 08DFDC 7F0594AC 46165102 */ mul.s $f4, $f10, $f22 -/* 08DFE0 7F0594B0 46044681 */ sub.s $f26, $f8, $f4 -/* 08DFE4 7F0594B4 46145202 */ mul.s $f8, $f10, $f20 -/* 08DFE8 7F0594B8 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 08DFEC 7F0594BC 46182282 */ mul.s $f10, $f4, $f24 -/* 08DFF0 7F0594C0 460A4701 */ sub.s $f28, $f8, $f10 -/* 08DFF4 7F0594C4 46162202 */ mul.s $f8, $f4, $f22 -/* 08DFF8 7F0594C8 00000000 */ nop -/* 08DFFC 7F0594CC 46143282 */ mul.s $f10, $f6, $f20 -/* 08E000 7F0594D0 460A4781 */ sub.s $f30, $f8, $f10 -/* 08E004 7F0594D4 461AD102 */ mul.s $f4, $f26, $f26 -/* 08E008 7F0594D8 00000000 */ nop -/* 08E00C 7F0594DC 461CE182 */ mul.s $f6, $f28, $f28 -/* 08E010 7F0594E0 46062200 */ add.s $f8, $f4, $f6 -/* 08E014 7F0594E4 461EF282 */ mul.s $f10, $f30, $f30 -/* 08E018 7F0594E8 0C007DF8 */ jal sqrtf -/* 08E01C 7F0594EC 460A4300 */ add.s $f12, $f8, $f10 -/* 08E020 7F0594F0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E024 7F0594F4 44812000 */ mtc1 $at, $f4 -/* 08E028 7F0594F8 00000000 */ nop -/* 08E02C 7F0594FC 46002083 */ div.s $f2, $f4, $f0 -/* 08E030 7F059500 4602D682 */ mul.s $f26, $f26, $f2 -/* 08E034 7F059504 00000000 */ nop -/* 08E038 7F059508 4602E702 */ mul.s $f28, $f28, $f2 -/* 08E03C 7F05950C 00000000 */ nop -/* 08E040 7F059510 4602F782 */ mul.s $f30, $f30, $f2 -/* 08E044 7F059514 00000000 */ nop -/* 08E048 7F059518 461EB182 */ mul.s $f6, $f22, $f30 -/* 08E04C 7F05951C 00000000 */ nop -/* 08E050 7F059520 461CC202 */ mul.s $f8, $f24, $f28 -/* 08E054 7F059524 00000000 */ nop -/* 08E058 7F059528 461AC282 */ mul.s $f10, $f24, $f26 -/* 08E05C 7F05952C 00000000 */ nop -/* 08E060 7F059530 461EA102 */ mul.s $f4, $f20, $f30 -/* 08E064 7F059534 46083381 */ sub.s $f14, $f6, $f8 -/* 08E068 7F059538 461CA182 */ mul.s $f6, $f20, $f28 -/* 08E06C 7F05953C 00000000 */ nop -/* 08E070 7F059540 461AB202 */ mul.s $f8, $f22, $f26 -/* 08E074 7F059544 E7AE0064 */ swc1 $f14, 0x64($sp) -/* 08E078 7F059548 46045401 */ sub.s $f16, $f10, $f4 -/* 08E07C 7F05954C 460E7282 */ mul.s $f10, $f14, $f14 -/* 08E080 7F059550 00000000 */ nop -/* 08E084 7F059554 46108102 */ mul.s $f4, $f16, $f16 -/* 08E088 7F059558 E7B00068 */ swc1 $f16, 0x68($sp) -/* 08E08C 7F05955C 46083481 */ sub.s $f18, $f6, $f8 -/* 08E090 7F059560 46129202 */ mul.s $f8, $f18, $f18 -/* 08E094 7F059564 46045180 */ add.s $f6, $f10, $f4 -/* 08E098 7F059568 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 08E09C 7F05956C 0C007DF8 */ jal sqrtf -/* 08E0A0 7F059570 46083300 */ add.s $f12, $f6, $f8 -/* 08E0A4 7F059574 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E0A8 7F059578 44815000 */ mtc1 $at, $f10 -/* 08E0AC 7F05957C C7AE0064 */ lwc1 $f14, 0x64($sp) -/* 08E0B0 7F059580 C7AC0068 */ lwc1 $f12, 0x68($sp) -/* 08E0B4 7F059584 46005083 */ div.s $f2, $f10, $f0 -/* 08E0B8 7F059588 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 08E0BC 7F05958C 8FA40048 */ lw $a0, 0x48($sp) -/* 08E0C0 7F059590 46027382 */ mul.s $f14, $f14, $f2 -/* 08E0C4 7F059594 00000000 */ nop -/* 08E0C8 7F059598 46026302 */ mul.s $f12, $f12, $f2 -/* 08E0CC 7F05959C 00000000 */ nop -/* 08E0D0 7F0595A0 46022182 */ mul.s $f6, $f4, $f2 -/* 08E0D4 7F0595A4 E7A6006C */ swc1 $f6, 0x6c($sp) -/* 08E0D8 7F0595A8 E49A0000 */ swc1 $f26, ($a0) -/* 08E0DC 7F0595AC E49C0010 */ swc1 $f28, 0x10($a0) -/* 08E0E0 7F0595B0 E49E0020 */ swc1 $f30, 0x20($a0) -/* 08E0E4 7F0595B4 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08E0E8 7F0595B8 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 08E0EC 7F0595BC 461A4282 */ mul.s $f10, $f8, $f26 -/* 08E0F0 7F0595C0 00000000 */ nop -/* 08E0F4 7F0595C4 461C2182 */ mul.s $f6, $f4, $f28 -/* 08E0F8 7F0595C8 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 08E0FC 7F0595CC E48E0004 */ swc1 $f14, 4($a0) -/* 08E100 7F0595D0 E48C0014 */ swc1 $f12, 0x14($a0) -/* 08E104 7F0595D4 46065200 */ add.s $f8, $f10, $f6 -/* 08E108 7F0595D8 461E2282 */ mul.s $f10, $f4, $f30 -/* 08E10C 7F0595DC 460A4180 */ add.s $f6, $f8, $f10 -/* 08E110 7F0595E0 46003107 */ neg.s $f4, $f6 -/* 08E114 7F0595E4 E4840030 */ swc1 $f4, 0x30($a0) -/* 08E118 7F0595E8 E7AE0064 */ swc1 $f14, 0x64($sp) -/* 08E11C 7F0595EC C7AE006C */ lwc1 $f14, 0x6c($sp) -/* 08E120 7F0595F0 E7AC0068 */ swc1 $f12, 0x68($sp) -/* 08E124 7F0595F4 C7AC004C */ lwc1 $f12, 0x4c($sp) -/* 08E128 7F0595F8 C7A20050 */ lwc1 $f2, 0x50($sp) -/* 08E12C 7F0595FC C7A00054 */ lwc1 $f0, 0x54($sp) -/* 08E130 7F059600 E48E0024 */ swc1 $f14, 0x24($a0) -/* 08E134 7F059604 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 08E138 7F059608 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 08E13C 7F05960C E4940008 */ swc1 $f20, 8($a0) -/* 08E140 7F059610 46086282 */ mul.s $f10, $f12, $f8 -/* 08E144 7F059614 E4960018 */ swc1 $f22, 0x18($a0) -/* 08E148 7F059618 E4980028 */ swc1 $f24, 0x28($a0) -/* 08E14C 7F05961C 46061102 */ mul.s $f4, $f2, $f6 -/* 08E150 7F059620 46045200 */ add.s $f8, $f10, $f4 -/* 08E154 7F059624 460E0182 */ mul.s $f6, $f0, $f14 -/* 08E158 7F059628 46064280 */ add.s $f10, $f8, $f6 -/* 08E15C 7F05962C 46146202 */ mul.s $f8, $f12, $f20 -/* 08E160 7F059630 00000000 */ nop -/* 08E164 7F059634 46161182 */ mul.s $f6, $f2, $f22 -/* 08E168 7F059638 46005107 */ neg.s $f4, $f10 -/* 08E16C 7F05963C E4840034 */ swc1 $f4, 0x34($a0) -/* 08E170 7F059640 46180102 */ mul.s $f4, $f0, $f24 -/* 08E174 7F059644 44800000 */ mtc1 $zero, $f0 -/* 08E178 7F059648 00000000 */ nop -/* 08E17C 7F05964C E480000C */ swc1 $f0, 0xc($a0) -/* 08E180 7F059650 46064280 */ add.s $f10, $f8, $f6 -/* 08E184 7F059654 E480001C */ swc1 $f0, 0x1c($a0) -/* 08E188 7F059658 E480002C */ swc1 $f0, 0x2c($a0) -/* 08E18C 7F05965C 46045200 */ add.s $f8, $f10, $f4 -/* 08E190 7F059660 44815000 */ mtc1 $at, $f10 -/* 08E194 7F059664 46004187 */ neg.s $f6, $f8 -/* 08E198 7F059668 E48A003C */ swc1 $f10, 0x3c($a0) -/* 08E19C 7F05966C E4860038 */ swc1 $f6, 0x38($a0) -/* 08E1A0 7F059670 8FBF0044 */ lw $ra, 0x44($sp) -/* 08E1A4 7F059674 D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 08E1A8 7F059678 D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 08E1AC 7F05967C D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 08E1B0 7F059680 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 08E1B4 7F059684 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 08E1B8 7F059688 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 08E1BC 7F05968C 03E00008 */ jr $ra -/* 08E1C0 7F059690 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059694(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059694 -/* 08E1C4 7F059694 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08E1C8 7F059698 44856000 */ mtc1 $a1, $f12 -/* 08E1CC 7F05969C 44867000 */ mtc1 $a2, $f14 -/* 08E1D0 7F0596A0 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 08E1D4 7F0596A4 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 08E1D8 7F0596A8 AFA7003C */ sw $a3, 0x3c($sp) -/* 08E1DC 7F0596AC 460C3201 */ sub.s $f8, $f6, $f12 -/* 08E1E0 7F0596B0 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 08E1E4 7F0596B4 C7B20048 */ lwc1 $f18, 0x48($sp) -/* 08E1E8 7F0596B8 460E5401 */ sub.s $f16, $f10, $f14 -/* 08E1EC 7F0596BC E7A80010 */ swc1 $f8, 0x10($sp) -/* 08E1F0 7F0596C0 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08E1F4 7F0596C4 46049181 */ sub.s $f6, $f18, $f4 -/* 08E1F8 7F0596C8 E7B00014 */ swc1 $f16, 0x14($sp) -/* 08E1FC 7F0596CC C7B00054 */ lwc1 $f16, 0x54($sp) -/* 08E200 7F0596D0 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 08E204 7F0596D4 AFBF002C */ sw $ra, 0x2c($sp) -/* 08E208 7F0596D8 44056000 */ mfc1 $a1, $f12 -/* 08E20C 7F0596DC 44067000 */ mfc1 $a2, $f14 -/* 08E210 7F0596E0 44072000 */ mfc1 $a3, $f4 -/* 08E214 7F0596E4 E7A60018 */ swc1 $f6, 0x18($sp) -/* 08E218 7F0596E8 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 08E21C 7F0596EC E7B00024 */ swc1 $f16, 0x24($sp) -/* 08E220 7F0596F0 0FC16509 */ jal sub_GAME_7F059424 -/* 08E224 7F0596F4 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 08E228 7F0596F8 8FBF002C */ lw $ra, 0x2c($sp) -/* 08E22C 7F0596FC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08E230 7F059700 03E00008 */ jr $ra -/* 08E234 7F059704 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059708(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059708 -/* 08E238 7F059708 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 08E23C 7F05970C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 08E240 7F059710 C7B40058 */ lwc1 $f20, 0x58($sp) -/* 08E244 7F059714 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 08E248 7F059718 C7B6005C */ lwc1 $f22, 0x5c($sp) -/* 08E24C 7F05971C 4614A102 */ mul.s $f4, $f20, $f20 -/* 08E250 7F059720 F7B80020 */ sdc1 $f24, 0x20($sp) -/* 08E254 7F059724 C7B80060 */ lwc1 $f24, 0x60($sp) -/* 08E258 7F059728 4616B182 */ mul.s $f6, $f22, $f22 -/* 08E25C 7F05972C AFBF0044 */ sw $ra, 0x44($sp) -/* 08E260 7F059730 F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 08E264 7F059734 4618C282 */ mul.s $f10, $f24, $f24 -/* 08E268 7F059738 F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 08E26C 7F05973C F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 08E270 7F059740 AFA5004C */ sw $a1, 0x4c($sp) -/* 08E274 7F059744 AFA60050 */ sw $a2, 0x50($sp) -/* 08E278 7F059748 46062200 */ add.s $f8, $f4, $f6 -/* 08E27C 7F05974C AFA70054 */ sw $a3, 0x54($sp) -/* 08E280 7F059750 AFA40048 */ sw $a0, 0x48($sp) -/* 08E284 7F059754 0C007DF8 */ jal sqrtf -/* 08E288 7F059758 460A4300 */ add.s $f12, $f8, $f10 -/* 08E28C 7F05975C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 08E290 7F059760 44812000 */ mtc1 $at, $f4 -/* 08E294 7F059764 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 08E298 7F059768 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 08E29C 7F05976C 46002083 */ div.s $f2, $f4, $f0 -/* 08E2A0 7F059770 4602A502 */ mul.s $f20, $f20, $f2 -/* 08E2A4 7F059774 00000000 */ nop -/* 08E2A8 7F059778 4602B582 */ mul.s $f22, $f22, $f2 -/* 08E2AC 7F05977C 00000000 */ nop -/* 08E2B0 7F059780 4602C602 */ mul.s $f24, $f24, $f2 -/* 08E2B4 7F059784 00000000 */ nop -/* 08E2B8 7F059788 46183202 */ mul.s $f8, $f6, $f24 -/* 08E2BC 7F05978C 00000000 */ nop -/* 08E2C0 7F059790 46165102 */ mul.s $f4, $f10, $f22 -/* 08E2C4 7F059794 46044681 */ sub.s $f26, $f8, $f4 -/* 08E2C8 7F059798 46145202 */ mul.s $f8, $f10, $f20 -/* 08E2CC 7F05979C C7A40064 */ lwc1 $f4, 0x64($sp) -/* 08E2D0 7F0597A0 46182282 */ mul.s $f10, $f4, $f24 -/* 08E2D4 7F0597A4 460A4701 */ sub.s $f28, $f8, $f10 -/* 08E2D8 7F0597A8 46162202 */ mul.s $f8, $f4, $f22 -/* 08E2DC 7F0597AC 00000000 */ nop -/* 08E2E0 7F0597B0 46143282 */ mul.s $f10, $f6, $f20 -/* 08E2E4 7F0597B4 460A4781 */ sub.s $f30, $f8, $f10 -/* 08E2E8 7F0597B8 461AD102 */ mul.s $f4, $f26, $f26 -/* 08E2EC 7F0597BC 00000000 */ nop -/* 08E2F0 7F0597C0 461CE182 */ mul.s $f6, $f28, $f28 -/* 08E2F4 7F0597C4 46062200 */ add.s $f8, $f4, $f6 -/* 08E2F8 7F0597C8 461EF282 */ mul.s $f10, $f30, $f30 -/* 08E2FC 7F0597CC 0C007DF8 */ jal sqrtf -/* 08E300 7F0597D0 460A4300 */ add.s $f12, $f8, $f10 -/* 08E304 7F0597D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E308 7F0597D8 44812000 */ mtc1 $at, $f4 -/* 08E30C 7F0597DC 00000000 */ nop -/* 08E310 7F0597E0 46002083 */ div.s $f2, $f4, $f0 -/* 08E314 7F0597E4 4602D682 */ mul.s $f26, $f26, $f2 -/* 08E318 7F0597E8 00000000 */ nop -/* 08E31C 7F0597EC 4602E702 */ mul.s $f28, $f28, $f2 -/* 08E320 7F0597F0 00000000 */ nop -/* 08E324 7F0597F4 4602F782 */ mul.s $f30, $f30, $f2 -/* 08E328 7F0597F8 00000000 */ nop -/* 08E32C 7F0597FC 461EB182 */ mul.s $f6, $f22, $f30 -/* 08E330 7F059800 00000000 */ nop -/* 08E334 7F059804 461CC202 */ mul.s $f8, $f24, $f28 -/* 08E338 7F059808 00000000 */ nop -/* 08E33C 7F05980C 461AC282 */ mul.s $f10, $f24, $f26 -/* 08E340 7F059810 00000000 */ nop -/* 08E344 7F059814 461EA102 */ mul.s $f4, $f20, $f30 -/* 08E348 7F059818 46083381 */ sub.s $f14, $f6, $f8 -/* 08E34C 7F05981C 461CA182 */ mul.s $f6, $f20, $f28 -/* 08E350 7F059820 00000000 */ nop -/* 08E354 7F059824 461AB202 */ mul.s $f8, $f22, $f26 -/* 08E358 7F059828 E7AE0064 */ swc1 $f14, 0x64($sp) -/* 08E35C 7F05982C 46045401 */ sub.s $f16, $f10, $f4 -/* 08E360 7F059830 460E7282 */ mul.s $f10, $f14, $f14 -/* 08E364 7F059834 00000000 */ nop -/* 08E368 7F059838 46108102 */ mul.s $f4, $f16, $f16 -/* 08E36C 7F05983C E7B00068 */ swc1 $f16, 0x68($sp) -/* 08E370 7F059840 46083481 */ sub.s $f18, $f6, $f8 -/* 08E374 7F059844 46129202 */ mul.s $f8, $f18, $f18 -/* 08E378 7F059848 46045180 */ add.s $f6, $f10, $f4 -/* 08E37C 7F05984C E7B2006C */ swc1 $f18, 0x6c($sp) -/* 08E380 7F059850 0C007DF8 */ jal sqrtf -/* 08E384 7F059854 46083300 */ add.s $f12, $f6, $f8 -/* 08E388 7F059858 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E38C 7F05985C 44815000 */ mtc1 $at, $f10 -/* 08E390 7F059860 C7AE0064 */ lwc1 $f14, 0x64($sp) -/* 08E394 7F059864 C7AC0068 */ lwc1 $f12, 0x68($sp) -/* 08E398 7F059868 46005083 */ div.s $f2, $f10, $f0 -/* 08E39C 7F05986C C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 08E3A0 7F059870 8FA40048 */ lw $a0, 0x48($sp) -/* 08E3A4 7F059874 44800000 */ mtc1 $zero, $f0 -/* 08E3A8 7F059878 46027382 */ mul.s $f14, $f14, $f2 -/* 08E3AC 7F05987C 00000000 */ nop -/* 08E3B0 7F059880 46026302 */ mul.s $f12, $f12, $f2 -/* 08E3B4 7F059884 00000000 */ nop -/* 08E3B8 7F059888 46022182 */ mul.s $f6, $f4, $f2 -/* 08E3BC 7F05988C E7A6006C */ swc1 $f6, 0x6c($sp) -/* 08E3C0 7F059890 E49A0000 */ swc1 $f26, ($a0) -/* 08E3C4 7F059894 E48E0010 */ swc1 $f14, 0x10($a0) -/* 08E3C8 7F059898 E4940020 */ swc1 $f20, 0x20($a0) -/* 08E3CC 7F05989C C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08E3D0 7F0598A0 E49C0004 */ swc1 $f28, 4($a0) -/* 08E3D4 7F0598A4 E48C0014 */ swc1 $f12, 0x14($a0) -/* 08E3D8 7F0598A8 E4960024 */ swc1 $f22, 0x24($a0) -/* 08E3DC 7F0598AC E4880030 */ swc1 $f8, 0x30($a0) -/* 08E3E0 7F0598B0 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 08E3E4 7F0598B4 E49E0008 */ swc1 $f30, 8($a0) -/* 08E3E8 7F0598B8 44814000 */ mtc1 $at, $f8 -/* 08E3EC 7F0598BC E48A0034 */ swc1 $f10, 0x34($a0) -/* 08E3F0 7F0598C0 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 08E3F4 7F0598C4 E4980028 */ swc1 $f24, 0x28($a0) -/* 08E3F8 7F0598C8 E4840018 */ swc1 $f4, 0x18($a0) -/* 08E3FC 7F0598CC C7A60054 */ lwc1 $f6, 0x54($sp) -/* 08E400 7F0598D0 E480000C */ swc1 $f0, 0xc($a0) -/* 08E404 7F0598D4 E480001C */ swc1 $f0, 0x1c($a0) -/* 08E408 7F0598D8 E480002C */ swc1 $f0, 0x2c($a0) -/* 08E40C 7F0598DC E488003C */ swc1 $f8, 0x3c($a0) -/* 08E410 7F0598E0 E4860038 */ swc1 $f6, 0x38($a0) -/* 08E414 7F0598E4 8FBF0044 */ lw $ra, 0x44($sp) -/* 08E418 7F0598E8 D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 08E41C 7F0598EC D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 08E420 7F0598F0 D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 08E424 7F0598F4 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 08E428 7F0598F8 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 08E42C 7F0598FC D7B40010 */ ldc1 $f20, 0x10($sp) -/* 08E430 7F059900 03E00008 */ jr $ra -/* 08E434 7F059904 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059908(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059908 -/* 08E438 7F059908 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08E43C 7F05990C 44856000 */ mtc1 $a1, $f12 -/* 08E440 7F059910 44867000 */ mtc1 $a2, $f14 -/* 08E444 7F059914 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 08E448 7F059918 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 08E44C 7F05991C AFA7003C */ sw $a3, 0x3c($sp) -/* 08E450 7F059920 460C3201 */ sub.s $f8, $f6, $f12 -/* 08E454 7F059924 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 08E458 7F059928 C7B20048 */ lwc1 $f18, 0x48($sp) -/* 08E45C 7F05992C 460E5401 */ sub.s $f16, $f10, $f14 -/* 08E460 7F059930 E7A80010 */ swc1 $f8, 0x10($sp) -/* 08E464 7F059934 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08E468 7F059938 46049181 */ sub.s $f6, $f18, $f4 -/* 08E46C 7F05993C E7B00014 */ swc1 $f16, 0x14($sp) -/* 08E470 7F059940 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 08E474 7F059944 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 08E478 7F059948 AFBF002C */ sw $ra, 0x2c($sp) -/* 08E47C 7F05994C 44056000 */ mfc1 $a1, $f12 -/* 08E480 7F059950 44067000 */ mfc1 $a2, $f14 -/* 08E484 7F059954 44072000 */ mfc1 $a3, $f4 -/* 08E488 7F059958 E7A60018 */ swc1 $f6, 0x18($sp) -/* 08E48C 7F05995C E7A8001C */ swc1 $f8, 0x1c($sp) -/* 08E490 7F059960 E7B00024 */ swc1 $f16, 0x24($sp) -/* 08E494 7F059964 0FC165C2 */ jal sub_GAME_7F059708 -/* 08E498 7F059968 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 08E49C 7F05996C 8FBF002C */ lw $ra, 0x2c($sp) -/* 08E4A0 7F059970 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08E4A4 7F059974 03E00008 */ jr $ra -/* 08E4A8 7F059978 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05997C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05997C -/* 08E4AC 7F05997C 460E6000 */ add.s $f0, $f12, $f14 -/* 08E4B0 7F059980 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 08E4B4 7F059984 44812000 */ mtc1 $at, $f4 -/* 08E4B8 7F059988 3C014800 */ li $at, 0x48000000 # 131072.000000 -/* 08E4BC 7F05998C 4604003E */ c.le.s $f0, $f4 -/* 08E4C0 7F059990 00000000 */ nop -/* 08E4C4 7F059994 45020004 */ bc1fl .L7F0599A8 -/* 08E4C8 7F059998 44813000 */ mtc1 $at, $f6 -/* 08E4CC 7F05999C 03E00008 */ jr $ra -/* 08E4D0 7F0599A0 3402FFFF */ li $v0, 65535 - -/* 08E4D4 7F0599A4 44813000 */ mtc1 $at, $f6 -.L7F0599A8: -/* 08E4D8 7F0599A8 24020001 */ li $v0, 1 -/* 08E4DC 7F0599AC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 08E4E0 7F0599B0 46003203 */ div.s $f8, $f6, $f0 -/* 08E4E4 7F0599B4 444EF800 */ cfc1 $t6, $31 -/* 08E4E8 7F0599B8 44C2F800 */ ctc1 $v0, $31 -/* 08E4EC 7F0599BC 00000000 */ nop -/* 08E4F0 7F0599C0 460042A4 */ cvt.w.s $f10, $f8 -/* 08E4F4 7F0599C4 4442F800 */ cfc1 $v0, $31 -/* 08E4F8 7F0599C8 00000000 */ nop -/* 08E4FC 7F0599CC 30420078 */ andi $v0, $v0, 0x78 -/* 08E500 7F0599D0 50400013 */ beql $v0, $zero, .L7F059A20 -/* 08E504 7F0599D4 44025000 */ mfc1 $v0, $f10 -/* 08E508 7F0599D8 44815000 */ mtc1 $at, $f10 -/* 08E50C 7F0599DC 24020001 */ li $v0, 1 -/* 08E510 7F0599E0 460A4281 */ sub.s $f10, $f8, $f10 -/* 08E514 7F0599E4 44C2F800 */ ctc1 $v0, $31 -/* 08E518 7F0599E8 00000000 */ nop -/* 08E51C 7F0599EC 460052A4 */ cvt.w.s $f10, $f10 -/* 08E520 7F0599F0 4442F800 */ cfc1 $v0, $31 -/* 08E524 7F0599F4 00000000 */ nop -/* 08E528 7F0599F8 30420078 */ andi $v0, $v0, 0x78 -/* 08E52C 7F0599FC 14400005 */ bnez $v0, .L7F059A14 -/* 08E530 7F059A00 00000000 */ nop -/* 08E534 7F059A04 44025000 */ mfc1 $v0, $f10 -/* 08E538 7F059A08 3C018000 */ lui $at, 0x8000 -/* 08E53C 7F059A0C 10000007 */ b .L7F059A2C -/* 08E540 7F059A10 00411025 */ or $v0, $v0, $at -.L7F059A14: -/* 08E544 7F059A14 10000005 */ b .L7F059A2C -/* 08E548 7F059A18 2402FFFF */ li $v0, -1 -/* 08E54C 7F059A1C 44025000 */ mfc1 $v0, $f10 -.L7F059A20: -/* 08E550 7F059A20 00000000 */ nop -/* 08E554 7F059A24 0440FFFB */ bltz $v0, .L7F059A14 -/* 08E558 7F059A28 00000000 */ nop -.L7F059A2C: -/* 08E55C 7F059A2C 44CEF800 */ ctc1 $t6, $31 -/* 08E560 7F059A30 304FFFFF */ andi $t7, $v0, 0xffff -/* 08E564 7F059A34 1DE00002 */ bgtz $t7, .L7F059A40 -/* 08E568 7F059A38 3043FFFF */ andi $v1, $v0, 0xffff -/* 08E56C 7F059A3C 24030001 */ li $v1, 1 -.L7F059A40: -/* 08E570 7F059A40 03E00008 */ jr $ra -/* 08E574 7F059A44 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059A48(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059A48 -/* 08E578 7F059A48 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08E57C 7F059A4C 44867000 */ mtc1 $a2, $f14 -/* 08E580 7F059A50 44812000 */ mtc1 $at, $f4 -/* 08E584 7F059A54 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08E588 7F059A58 AFBF0014 */ sw $ra, 0x14($sp) -/* 08E58C 7F059A5C 46047302 */ mul.s $f12, $f14, $f4 -/* 08E590 7F059A60 AFA5002C */ sw $a1, 0x2c($sp) -/* 08E594 7F059A64 AFA70034 */ sw $a3, 0x34($sp) -/* 08E598 7F059A68 AFA40028 */ sw $a0, 0x28($sp) -/* 08E59C 7F059A6C 0FC15FA8 */ jal cosf -/* 08E5A0 7F059A70 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 08E5A4 7F059A74 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 08E5A8 7F059A78 0FC15FAB */ jal sinf -/* 08E5AC 7F059A7C E7A00020 */ swc1 $f0, 0x20($sp) -/* 08E5B0 7F059A80 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 08E5B4 7F059A84 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 08E5B8 7F059A88 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 08E5BC 7F059A8C 46004303 */ div.s $f12, $f8, $f0 -/* 08E5C0 7F059A90 C7AE0040 */ lwc1 $f14, 0x40($sp) -/* 08E5C4 7F059A94 44813000 */ mtc1 $at, $f6 -/* 08E5C8 7F059A98 8FA40028 */ lw $a0, 0x28($sp) -/* 08E5CC 7F059A9C 44801000 */ mtc1 $zero, $f2 -/* 08E5D0 7F059AA0 46067382 */ mul.s $f14, $f14, $f6 -/* 08E5D4 7F059AA4 E4820010 */ swc1 $f2, 0x10($a0) -/* 08E5D8 7F059AA8 E4820020 */ swc1 $f2, 0x20($a0) -/* 08E5DC 7F059AAC E4820030 */ swc1 $f2, 0x30($a0) -/* 08E5E0 7F059AB0 E4820004 */ swc1 $f2, 4($a0) -/* 08E5E4 7F059AB4 E4820024 */ swc1 $f2, 0x24($a0) -/* 08E5E8 7F059AB8 E4820034 */ swc1 $f2, 0x34($a0) -/* 08E5EC 7F059ABC E4820008 */ swc1 $f2, 8($a0) -/* 08E5F0 7F059AC0 E4820018 */ swc1 $f2, 0x18($a0) -/* 08E5F4 7F059AC4 460A6483 */ div.s $f18, $f12, $f10 -/* 08E5F8 7F059AC8 460E9102 */ mul.s $f4, $f18, $f14 -/* 08E5FC 7F059ACC 00000000 */ nop -/* 08E600 7F059AD0 460E6182 */ mul.s $f6, $f12, $f14 -/* 08E604 7F059AD4 E4840000 */ swc1 $f4, ($a0) -/* 08E608 7F059AD8 E4860014 */ swc1 $f6, 0x14($a0) -/* 08E60C 7F059ADC C7A80038 */ lwc1 $f8, 0x38($sp) -/* 08E610 7F059AE0 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 08E614 7F059AE4 460A4401 */ sub.s $f16, $f8, $f10 -/* 08E618 7F059AE8 460A4480 */ add.s $f18, $f8, $f10 -/* 08E61C 7F059AEC 46109103 */ div.s $f4, $f18, $f16 -/* 08E620 7F059AF0 460E2182 */ mul.s $f6, $f4, $f14 -/* 08E624 7F059AF4 E4860028 */ swc1 $f6, 0x28($a0) -/* 08E628 7F059AF8 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 08E62C 7F059AFC C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 08E630 7F059B00 E482000C */ swc1 $f2, 0xc($a0) -/* 08E634 7F059B04 46084280 */ add.s $f10, $f8, $f8 -/* 08E638 7F059B08 E482001C */ swc1 $f2, 0x1c($a0) -/* 08E63C 7F059B0C E482003C */ swc1 $f2, 0x3c($a0) -/* 08E640 7F059B10 46125102 */ mul.s $f4, $f10, $f18 -/* 08E644 7F059B14 46007287 */ neg.s $f10, $f14 -/* 08E648 7F059B18 E48A002C */ swc1 $f10, 0x2c($a0) -/* 08E64C 7F059B1C 46102183 */ div.s $f6, $f4, $f16 -/* 08E650 7F059B20 460E3202 */ mul.s $f8, $f6, $f14 -/* 08E654 7F059B24 E4880038 */ swc1 $f8, 0x38($a0) -/* 08E658 7F059B28 8FAE002C */ lw $t6, 0x2c($sp) -/* 08E65C 7F059B2C C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 08E660 7F059B30 11C00005 */ beqz $t6, .L7F059B48 -/* 08E664 7F059B34 00000000 */ nop -/* 08E668 7F059B38 0FC1665F */ jal sub_GAME_7F05997C -/* 08E66C 7F059B3C C7AE003C */ lwc1 $f14, 0x3c($sp) -/* 08E670 7F059B40 8FAF002C */ lw $t7, 0x2c($sp) -/* 08E674 7F059B44 A5E20000 */ sh $v0, ($t7) -.L7F059B48: -/* 08E678 7F059B48 8FBF0014 */ lw $ra, 0x14($sp) -/* 08E67C 7F059B4C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08E680 7F059B50 03E00008 */ jr $ra -/* 08E684 7F059B54 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059B58(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059B58 -/* 08E688 7F059B58 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 08E68C 7F059B5C AFB00020 */ sw $s0, 0x20($sp) -/* 08E690 7F059B60 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 08E694 7F059B64 4485A000 */ mtc1 $a1, $f20 -/* 08E698 7F059B68 00808025 */ move $s0, $a0 -/* 08E69C 7F059B6C AFBF0024 */ sw $ra, 0x24($sp) -/* 08E6A0 7F059B70 AFA60050 */ sw $a2, 0x50($sp) -/* 08E6A4 7F059B74 AFA70054 */ sw $a3, 0x54($sp) -/* 08E6A8 7F059B78 27A60058 */ addiu $a2, $sp, 0x58 -/* 08E6AC 7F059B7C 27A40050 */ addiu $a0, $sp, 0x50 -/* 08E6B0 7F059B80 0C007DD4 */ jal guNormalize -/* 08E6B4 7F059B84 27A50054 */ addiu $a1, $sp, 0x54 -/* 08E6B8 7F059B88 0FC15FAB */ jal sinf -/* 08E6BC 7F059B8C 4600A306 */ mov.s $f12, $f20 -/* 08E6C0 7F059B90 E7A00044 */ swc1 $f0, 0x44($sp) -/* 08E6C4 7F059B94 0FC15FA8 */ jal cosf -/* 08E6C8 7F059B98 4600A306 */ mov.s $f12, $f20 -/* 08E6CC 7F059B9C C7A20050 */ lwc1 $f2, 0x50($sp) -/* 08E6D0 7F059BA0 C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 08E6D4 7F059BA4 E7A00040 */ swc1 $f0, 0x40($sp) -/* 08E6D8 7F059BA8 46021102 */ mul.s $f4, $f2, $f2 -/* 08E6DC 7F059BAC 00000000 */ nop -/* 08E6E0 7F059BB0 460E7182 */ mul.s $f6, $f14, $f14 -/* 08E6E4 7F059BB4 0C007DF8 */ jal sqrtf -/* 08E6E8 7F059BB8 46062300 */ add.s $f12, $f4, $f6 -/* 08E6EC 7F059BBC 4480A000 */ mtc1 $zero, $f20 -/* 08E6F0 7F059BC0 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 08E6F4 7F059BC4 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 08E6F8 7F059BC8 46140032 */ c.eq.s $f0, $f20 -/* 08E6FC 7F059BCC C7A40044 */ lwc1 $f4, 0x44($sp) -/* 08E700 7F059BD0 4501003E */ bc1t .L7F059CCC -/* 08E704 7F059BD4 00000000 */ nop -/* 08E708 7F059BD8 460A4302 */ mul.s $f12, $f8, $f10 -/* 08E70C 7F059BDC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E710 7F059BE0 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 08E714 7F059BE4 46044382 */ mul.s $f14, $f8, $f4 -/* 08E718 7F059BE8 44814000 */ mtc1 $at, $f8 -/* 08E71C 7F059BEC 460A3402 */ mul.s $f16, $f6, $f10 -/* 08E720 7F059BF0 00000000 */ nop -/* 08E724 7F059BF4 46043482 */ mul.s $f18, $f6, $f4 -/* 08E728 7F059BF8 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 08E72C 7F059BFC E7AE0030 */ swc1 $f14, 0x30($sp) -/* 08E730 7F059C00 460E3102 */ mul.s $f4, $f6, $f14 -/* 08E734 7F059C04 E7B0002C */ swc1 $f16, 0x2c($sp) -/* 08E738 7F059C08 46008287 */ neg.s $f10, $f16 -/* 08E73C 7F059C0C 46004083 */ div.s $f2, $f8, $f0 -/* 08E740 7F059C10 46045201 */ sub.s $f8, $f10, $f4 -/* 08E744 7F059C14 46024182 */ mul.s $f6, $f8, $f2 -/* 08E748 7F059C18 E7A20038 */ swc1 $f2, 0x38($sp) -/* 08E74C 7F059C1C E6060000 */ swc1 $f6, ($s0) -/* 08E750 7F059C20 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 08E754 7F059C24 46005102 */ mul.s $f4, $f10, $f0 -/* 08E758 7F059C28 E6040010 */ swc1 $f4, 0x10($s0) -/* 08E75C 7F059C2C C7A80054 */ lwc1 $f8, 0x54($sp) -/* 08E760 7F059C30 E6140030 */ swc1 $f20, 0x30($s0) -/* 08E764 7F059C34 46124182 */ mul.s $f6, $f8, $f18 -/* 08E768 7F059C38 46066281 */ sub.s $f10, $f12, $f6 -/* 08E76C 7F059C3C 46025102 */ mul.s $f4, $f10, $f2 -/* 08E770 7F059C40 E6040020 */ swc1 $f4, 0x20($s0) -/* 08E774 7F059C44 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 08E778 7F059C48 460C4182 */ mul.s $f6, $f8, $f12 -/* 08E77C 7F059C4C 46069281 */ sub.s $f10, $f18, $f6 -/* 08E780 7F059C50 46025102 */ mul.s $f4, $f10, $f2 -/* 08E784 7F059C54 E6040004 */ swc1 $f4, 4($s0) -/* 08E788 7F059C58 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 08E78C 7F059C5C 46004182 */ mul.s $f6, $f8, $f0 -/* 08E790 7F059C60 E6060014 */ swc1 $f6, 0x14($s0) -/* 08E794 7F059C64 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 08E798 7F059C68 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 08E79C 7F059C6C C7A60030 */ lwc1 $f6, 0x30($sp) -/* 08E7A0 7F059C70 46045202 */ mul.s $f8, $f10, $f4 -/* 08E7A4 7F059C74 46003287 */ neg.s $f10, $f6 -/* 08E7A8 7F059C78 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 08E7AC 7F059C7C E6140034 */ swc1 $f20, 0x34($s0) -/* 08E7B0 7F059C80 46085101 */ sub.s $f4, $f10, $f8 -/* 08E7B4 7F059C84 46062282 */ mul.s $f10, $f4, $f6 -/* 08E7B8 7F059C88 E60A0024 */ swc1 $f10, 0x24($s0) -/* 08E7BC 7F059C8C C7A80050 */ lwc1 $f8, 0x50($sp) -/* 08E7C0 7F059C90 46004107 */ neg.s $f4, $f8 -/* 08E7C4 7F059C94 E6040008 */ swc1 $f4, 8($s0) -/* 08E7C8 7F059C98 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 08E7CC 7F059C9C 46003287 */ neg.s $f10, $f6 -/* 08E7D0 7F059CA0 44813000 */ mtc1 $at, $f6 -/* 08E7D4 7F059CA4 E60A0018 */ swc1 $f10, 0x18($s0) -/* 08E7D8 7F059CA8 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 08E7DC 7F059CAC E6140038 */ swc1 $f20, 0x38($s0) -/* 08E7E0 7F059CB0 E614000C */ swc1 $f20, 0xc($s0) -/* 08E7E4 7F059CB4 46004107 */ neg.s $f4, $f8 -/* 08E7E8 7F059CB8 E614001C */ swc1 $f20, 0x1c($s0) -/* 08E7EC 7F059CBC E6040028 */ swc1 $f4, 0x28($s0) -/* 08E7F0 7F059CC0 E614002C */ swc1 $f20, 0x2c($s0) -/* 08E7F4 7F059CC4 10000003 */ b .L7F059CD4 -/* 08E7F8 7F059CC8 E606003C */ swc1 $f6, 0x3c($s0) -.L7F059CCC: -/* 08E7FC 7F059CCC 0FC15FF4 */ jal reset_array_of_0x10_floats -/* 08E800 7F059CD0 02002025 */ move $a0, $s0 -.L7F059CD4: -/* 08E804 7F059CD4 8FBF0024 */ lw $ra, 0x24($sp) -/* 08E808 7F059CD8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 08E80C 7F059CDC 8FB00020 */ lw $s0, 0x20($sp) -/* 08E810 7F059CE0 03E00008 */ jr $ra -/* 08E814 7F059CE4 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059CE8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800536F0 -.word 0x42652ee0 /*57.295776*/ -.text -glabel sub_GAME_7F059CE8 -/* 08E818 7F059CE8 3C018005 */ lui $at, %hi(D_800536F0) -/* 08E81C 7F059CEC 44856000 */ mtc1 $a1, $f12 -/* 08E820 7F059CF0 C42436F0 */ lwc1 $f4, %lo(D_800536F0)($at) -/* 08E824 7F059CF4 44867000 */ mtc1 $a2, $f14 -/* 08E828 7F059CF8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08E82C 7F059CFC 46046302 */ mul.s $f12, $f12, $f4 -/* 08E830 7F059D00 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 08E834 7F059D04 AFBF001C */ sw $ra, 0x1c($sp) -/* 08E838 7F059D08 44067000 */ mfc1 $a2, $f14 -/* 08E83C 7F059D0C AFA7002C */ sw $a3, 0x2c($sp) -/* 08E840 7F059D10 E7A60010 */ swc1 $f6, 0x10($sp) -/* 08E844 7F059D14 44056000 */ mfc1 $a1, $f12 -/* 08E848 7F059D18 0C005A18 */ jal guAlignF -/* 08E84C 7F059D1C 00000000 */ nop -/* 08E850 7F059D20 8FBF001C */ lw $ra, 0x1c($sp) -/* 08E854 7F059D24 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08E858 7F059D28 03E00008 */ jr $ra -/* 08E85C 7F059D2C 00000000 */ nop -) -#endif - - - - - -void sub_GAME_7F059D30(u32 arg0) { - return; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059D38(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059D38 -/* 08E868 7F059D38 C4840000 */ lwc1 $f4, ($a0) -/* 08E86C 7F059D3C 44800000 */ mtc1 $zero, $f0 -/* 08E870 7F059D40 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E874 7F059D44 E4A40000 */ swc1 $f4, ($a1) -/* 08E878 7F059D48 C4860010 */ lwc1 $f6, 0x10($a0) -/* 08E87C 7F059D4C E4A60004 */ swc1 $f6, 4($a1) -/* 08E880 7F059D50 C4880020 */ lwc1 $f8, 0x20($a0) -/* 08E884 7F059D54 E4A80008 */ swc1 $f8, 8($a1) -/* 08E888 7F059D58 C48A0004 */ lwc1 $f10, 4($a0) -/* 08E88C 7F059D5C E4AA0010 */ swc1 $f10, 0x10($a1) -/* 08E890 7F059D60 C4900014 */ lwc1 $f16, 0x14($a0) -/* 08E894 7F059D64 44815000 */ mtc1 $at, $f10 -/* 08E898 7F059D68 E4B00014 */ swc1 $f16, 0x14($a1) -/* 08E89C 7F059D6C C4920024 */ lwc1 $f18, 0x24($a0) -/* 08E8A0 7F059D70 E4B20018 */ swc1 $f18, 0x18($a1) -/* 08E8A4 7F059D74 C4840008 */ lwc1 $f4, 8($a0) -/* 08E8A8 7F059D78 E4A40020 */ swc1 $f4, 0x20($a1) -/* 08E8AC 7F059D7C C4860018 */ lwc1 $f6, 0x18($a0) -/* 08E8B0 7F059D80 E4A60024 */ swc1 $f6, 0x24($a1) -/* 08E8B4 7F059D84 C4880028 */ lwc1 $f8, 0x28($a0) -/* 08E8B8 7F059D88 E4A00030 */ swc1 $f0, 0x30($a1) -/* 08E8BC 7F059D8C E4A00034 */ swc1 $f0, 0x34($a1) -/* 08E8C0 7F059D90 E4A00038 */ swc1 $f0, 0x38($a1) -/* 08E8C4 7F059D94 E4A0000C */ swc1 $f0, 0xc($a1) -/* 08E8C8 7F059D98 E4A0001C */ swc1 $f0, 0x1c($a1) -/* 08E8CC 7F059D9C E4A0002C */ swc1 $f0, 0x2c($a1) -/* 08E8D0 7F059DA0 E4AA003C */ swc1 $f10, 0x3c($a1) -/* 08E8D4 7F059DA4 03E00008 */ jr $ra -/* 08E8D8 7F059DA8 E4A80028 */ swc1 $f8, 0x28($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059DAC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059DAC -/* 08E8DC 7F059DAC C48C0000 */ lwc1 $f12, ($a0) -/* 08E8E0 7F059DB0 C48E0010 */ lwc1 $f14, 0x10($a0) -/* 08E8E4 7F059DB4 C4820020 */ lwc1 $f2, 0x20($a0) -/* 08E8E8 7F059DB8 460C6102 */ mul.s $f4, $f12, $f12 -/* 08E8EC 7F059DBC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E8F0 7F059DC0 44818000 */ mtc1 $at, $f16 -/* 08E8F4 7F059DC4 460E7182 */ mul.s $f6, $f14, $f14 -/* 08E8F8 7F059DC8 46062200 */ add.s $f8, $f4, $f6 -/* 08E8FC 7F059DCC 46021282 */ mul.s $f10, $f2, $f2 -/* 08E900 7F059DD0 44801000 */ mtc1 $zero, $f2 -/* 08E904 7F059DD4 46085000 */ add.s $f0, $f10, $f8 -/* 08E908 7F059DD8 46008003 */ div.s $f0, $f16, $f0 -/* 08E90C 7F059DDC 46006482 */ mul.s $f18, $f12, $f0 -/* 08E910 7F059DE0 E4B20000 */ swc1 $f18, ($a1) -/* 08E914 7F059DE4 C4840010 */ lwc1 $f4, 0x10($a0) -/* 08E918 7F059DE8 46002182 */ mul.s $f6, $f4, $f0 -/* 08E91C 7F059DEC E4A60004 */ swc1 $f6, 4($a1) -/* 08E920 7F059DF0 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 08E924 7F059DF4 46005202 */ mul.s $f8, $f10, $f0 -/* 08E928 7F059DF8 E4A80008 */ swc1 $f8, 8($a1) -/* 08E92C 7F059DFC C4920004 */ lwc1 $f18, 4($a0) -/* 08E930 7F059E00 46009102 */ mul.s $f4, $f18, $f0 -/* 08E934 7F059E04 E4A40010 */ swc1 $f4, 0x10($a1) -/* 08E938 7F059E08 C4860014 */ lwc1 $f6, 0x14($a0) -/* 08E93C 7F059E0C 46003282 */ mul.s $f10, $f6, $f0 -/* 08E940 7F059E10 E4AA0014 */ swc1 $f10, 0x14($a1) -/* 08E944 7F059E14 C4880024 */ lwc1 $f8, 0x24($a0) -/* 08E948 7F059E18 46004482 */ mul.s $f18, $f8, $f0 -/* 08E94C 7F059E1C E4B20018 */ swc1 $f18, 0x18($a1) -/* 08E950 7F059E20 C4840008 */ lwc1 $f4, 8($a0) -/* 08E954 7F059E24 46002182 */ mul.s $f6, $f4, $f0 -/* 08E958 7F059E28 E4A60020 */ swc1 $f6, 0x20($a1) -/* 08E95C 7F059E2C C48A0018 */ lwc1 $f10, 0x18($a0) -/* 08E960 7F059E30 46005202 */ mul.s $f8, $f10, $f0 -/* 08E964 7F059E34 E4A80024 */ swc1 $f8, 0x24($a1) -/* 08E968 7F059E38 C4920028 */ lwc1 $f18, 0x28($a0) -/* 08E96C 7F059E3C E4B0003C */ swc1 $f16, 0x3c($a1) -/* 08E970 7F059E40 E4A20030 */ swc1 $f2, 0x30($a1) -/* 08E974 7F059E44 46009102 */ mul.s $f4, $f18, $f0 -/* 08E978 7F059E48 E4A20034 */ swc1 $f2, 0x34($a1) -/* 08E97C 7F059E4C E4A20038 */ swc1 $f2, 0x38($a1) -/* 08E980 7F059E50 E4A2000C */ swc1 $f2, 0xc($a1) -/* 08E984 7F059E54 E4A2001C */ swc1 $f2, 0x1c($a1) -/* 08E988 7F059E58 E4A2002C */ swc1 $f2, 0x2c($a1) -/* 08E98C 7F059E5C 03E00008 */ jr $ra -/* 08E990 7F059E60 E4A40028 */ swc1 $f4, 0x28($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059E64(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059E64 -/* 08E994 7F059E64 C48C0000 */ lwc1 $f12, ($a0) -/* 08E998 7F059E68 C48E0010 */ lwc1 $f14, 0x10($a0) -/* 08E99C 7F059E6C C4820020 */ lwc1 $f2, 0x20($a0) -/* 08E9A0 7F059E70 460C6102 */ mul.s $f4, $f12, $f12 -/* 08E9A4 7F059E74 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E9A8 7F059E78 44818000 */ mtc1 $at, $f16 -/* 08E9AC 7F059E7C 460E7182 */ mul.s $f6, $f14, $f14 -/* 08E9B0 7F059E80 46062200 */ add.s $f8, $f4, $f6 -/* 08E9B4 7F059E84 46021282 */ mul.s $f10, $f2, $f2 -/* 08E9B8 7F059E88 46085000 */ add.s $f0, $f10, $f8 -/* 08E9BC 7F059E8C 46008003 */ div.s $f0, $f16, $f0 -/* 08E9C0 7F059E90 46006482 */ mul.s $f18, $f12, $f0 -/* 08E9C4 7F059E94 E4B20000 */ swc1 $f18, ($a1) -/* 08E9C8 7F059E98 C4840010 */ lwc1 $f4, 0x10($a0) -/* 08E9CC 7F059E9C 46002182 */ mul.s $f6, $f4, $f0 -/* 08E9D0 7F059EA0 E4A60004 */ swc1 $f6, 4($a1) -/* 08E9D4 7F059EA4 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 08E9D8 7F059EA8 46005202 */ mul.s $f8, $f10, $f0 -/* 08E9DC 7F059EAC E4A80008 */ swc1 $f8, 8($a1) -/* 08E9E0 7F059EB0 C4920004 */ lwc1 $f18, 4($a0) -/* 08E9E4 7F059EB4 46009102 */ mul.s $f4, $f18, $f0 -/* 08E9E8 7F059EB8 E4A40010 */ swc1 $f4, 0x10($a1) -/* 08E9EC 7F059EBC C4860014 */ lwc1 $f6, 0x14($a0) -/* 08E9F0 7F059EC0 46003282 */ mul.s $f10, $f6, $f0 -/* 08E9F4 7F059EC4 E4AA0014 */ swc1 $f10, 0x14($a1) -/* 08E9F8 7F059EC8 C4880024 */ lwc1 $f8, 0x24($a0) -/* 08E9FC 7F059ECC 46004482 */ mul.s $f18, $f8, $f0 -/* 08EA00 7F059ED0 E4B20018 */ swc1 $f18, 0x18($a1) -/* 08EA04 7F059ED4 C4840008 */ lwc1 $f4, 8($a0) -/* 08EA08 7F059ED8 46002182 */ mul.s $f6, $f4, $f0 -/* 08EA0C 7F059EDC E4A60020 */ swc1 $f6, 0x20($a1) -/* 08EA10 7F059EE0 C48A0018 */ lwc1 $f10, 0x18($a0) -/* 08EA14 7F059EE4 C4A60000 */ lwc1 $f6, ($a1) -/* 08EA18 7F059EE8 46005202 */ mul.s $f8, $f10, $f0 -/* 08EA1C 7F059EEC E4A80024 */ swc1 $f8, 0x24($a1) -/* 08EA20 7F059EF0 C4920028 */ lwc1 $f18, 0x28($a0) -/* 08EA24 7F059EF4 46009102 */ mul.s $f4, $f18, $f0 -/* 08EA28 7F059EF8 C4B20010 */ lwc1 $f18, 0x10($a1) -/* 08EA2C 7F059EFC 44800000 */ mtc1 $zero, $f0 -/* 08EA30 7F059F00 E4A40028 */ swc1 $f4, 0x28($a1) -/* 08EA34 7F059F04 C48A0030 */ lwc1 $f10, 0x30($a0) -/* 08EA38 7F059F08 C4840034 */ lwc1 $f4, 0x34($a0) -/* 08EA3C 7F059F0C 460A3202 */ mul.s $f8, $f6, $f10 -/* 08EA40 7F059F10 00000000 */ nop -/* 08EA44 7F059F14 46049182 */ mul.s $f6, $f18, $f4 -/* 08EA48 7F059F18 C4A40020 */ lwc1 $f4, 0x20($a1) -/* 08EA4C 7F059F1C C4920038 */ lwc1 $f18, 0x38($a0) -/* 08EA50 7F059F20 46064280 */ add.s $f10, $f8, $f6 -/* 08EA54 7F059F24 46049202 */ mul.s $f8, $f18, $f4 -/* 08EA58 7F059F28 C4A40004 */ lwc1 $f4, 4($a1) -/* 08EA5C 7F059F2C 460A4180 */ add.s $f6, $f8, $f10 -/* 08EA60 7F059F30 46003487 */ neg.s $f18, $f6 -/* 08EA64 7F059F34 C4A60014 */ lwc1 $f6, 0x14($a1) -/* 08EA68 7F059F38 E4B20030 */ swc1 $f18, 0x30($a1) -/* 08EA6C 7F059F3C C4880030 */ lwc1 $f8, 0x30($a0) -/* 08EA70 7F059F40 C4920034 */ lwc1 $f18, 0x34($a0) -/* 08EA74 7F059F44 46082282 */ mul.s $f10, $f4, $f8 -/* 08EA78 7F059F48 00000000 */ nop -/* 08EA7C 7F059F4C 46123102 */ mul.s $f4, $f6, $f18 -/* 08EA80 7F059F50 C4B20024 */ lwc1 $f18, 0x24($a1) -/* 08EA84 7F059F54 C4860038 */ lwc1 $f6, 0x38($a0) -/* 08EA88 7F059F58 46045200 */ add.s $f8, $f10, $f4 -/* 08EA8C 7F059F5C 46123282 */ mul.s $f10, $f6, $f18 -/* 08EA90 7F059F60 C4B20008 */ lwc1 $f18, 8($a1) -/* 08EA94 7F059F64 46085100 */ add.s $f4, $f10, $f8 -/* 08EA98 7F059F68 46002187 */ neg.s $f6, $f4 -/* 08EA9C 7F059F6C C4A40018 */ lwc1 $f4, 0x18($a1) -/* 08EAA0 7F059F70 E4A60034 */ swc1 $f6, 0x34($a1) -/* 08EAA4 7F059F74 C48A0030 */ lwc1 $f10, 0x30($a0) -/* 08EAA8 7F059F78 C4860034 */ lwc1 $f6, 0x34($a0) -/* 08EAAC 7F059F7C 460A9202 */ mul.s $f8, $f18, $f10 -/* 08EAB0 7F059F80 00000000 */ nop -/* 08EAB4 7F059F84 46062482 */ mul.s $f18, $f4, $f6 -/* 08EAB8 7F059F88 C4A60028 */ lwc1 $f6, 0x28($a1) -/* 08EABC 7F059F8C C4840038 */ lwc1 $f4, 0x38($a0) -/* 08EAC0 7F059F90 E4B0003C */ swc1 $f16, 0x3c($a1) -/* 08EAC4 7F059F94 E4A0000C */ swc1 $f0, 0xc($a1) -/* 08EAC8 7F059F98 E4A0001C */ swc1 $f0, 0x1c($a1) -/* 08EACC 7F059F9C E4A0002C */ swc1 $f0, 0x2c($a1) -/* 08EAD0 7F059FA0 46124280 */ add.s $f10, $f8, $f18 -/* 08EAD4 7F059FA4 46062202 */ mul.s $f8, $f4, $f6 -/* 08EAD8 7F059FA8 460A4480 */ add.s $f18, $f8, $f10 -/* 08EADC 7F059FAC 46009107 */ neg.s $f4, $f18 -/* 08EAE0 7F059FB0 03E00008 */ jr $ra -/* 08EAE4 7F059FB4 E4A40038 */ swc1 $f4, 0x38($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F059FB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F059FB8 -/* 08EAE8 7F059FB8 C4820000 */ lwc1 $f2, ($a0) -/* 08EAEC 7F059FBC C48C0014 */ lwc1 $f12, 0x14($a0) -/* 08EAF0 7F059FC0 C48E0028 */ lwc1 $f14, 0x28($a0) -/* 08EAF4 7F059FC4 C4900004 */ lwc1 $f16, 4($a0) -/* 08EAF8 7F059FC8 460C1102 */ mul.s $f4, $f2, $f12 -/* 08EAFC 7F059FCC C4920018 */ lwc1 $f18, 0x18($a0) -/* 08EB00 7F059FD0 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 08EB04 7F059FD4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08EB08 7F059FD8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08EB0C 7F059FDC E7AA0010 */ swc1 $f10, 0x10($sp) -/* 08EB10 7F059FE0 C7A80010 */ lwc1 $f8, 0x10($sp) -/* 08EB14 7F059FE4 460E2002 */ mul.s $f0, $f4, $f14 -/* 08EB18 7F059FE8 C48A0008 */ lwc1 $f10, 8($a0) -/* 08EB1C 7F059FEC 46128182 */ mul.s $f6, $f16, $f18 -/* 08EB20 7F059FF0 E7AA000C */ swc1 $f10, 0xc($sp) -/* 08EB24 7F059FF4 C7AA000C */ lwc1 $f10, 0xc($sp) -/* 08EB28 7F059FF8 46083102 */ mul.s $f4, $f6, $f8 -/* 08EB2C 7F059FFC C4860010 */ lwc1 $f6, 0x10($a0) -/* 08EB30 7F05A000 E7A60008 */ swc1 $f6, 8($sp) -/* 08EB34 7F05A004 C7A60008 */ lwc1 $f6, 8($sp) -/* 08EB38 7F05A008 46040000 */ add.s $f0, $f0, $f4 -/* 08EB3C 7F05A00C C4840024 */ lwc1 $f4, 0x24($a0) -/* 08EB40 7F05A010 E7A80000 */ swc1 $f8, ($sp) -/* 08EB44 7F05A014 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 08EB48 7F05A018 46065102 */ mul.s $f4, $f10, $f6 -/* 08EB4C 7F05A01C C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 08EB50 7F05A020 46082102 */ mul.s $f4, $f4, $f8 -/* 08EB54 7F05A024 46040000 */ add.s $f0, $f0, $f4 -/* 08EB58 7F05A028 460C5102 */ mul.s $f4, $f10, $f12 -/* 08EB5C 7F05A02C C7AA0000 */ lwc1 $f10, ($sp) -/* 08EB60 7F05A030 460A2102 */ mul.s $f4, $f4, $f10 -/* 08EB64 7F05A034 00000000 */ nop -/* 08EB68 7F05A038 46068282 */ mul.s $f10, $f16, $f6 -/* 08EB6C 7F05A03C 46040001 */ sub.s $f0, $f0, $f4 -/* 08EB70 7F05A040 460E5102 */ mul.s $f4, $f10, $f14 -/* 08EB74 7F05A044 00000000 */ nop -/* 08EB78 7F05A048 46121182 */ mul.s $f6, $f2, $f18 -/* 08EB7C 7F05A04C 44811000 */ mtc1 $at, $f2 -/* 08EB80 7F05A050 46040001 */ sub.s $f0, $f0, $f4 -/* 08EB84 7F05A054 46083282 */ mul.s $f10, $f6, $f8 -/* 08EB88 7F05A058 460A0001 */ sub.s $f0, $f0, $f10 -/* 08EB8C 7F05A05C 460E6102 */ mul.s $f4, $f12, $f14 -/* 08EB90 7F05A060 00000000 */ nop -/* 08EB94 7F05A064 46124182 */ mul.s $f6, $f8, $f18 -/* 08EB98 7F05A068 46001003 */ div.s $f0, $f2, $f0 -/* 08EB9C 7F05A06C 46062281 */ sub.s $f10, $f4, $f6 -/* 08EBA0 7F05A070 46005202 */ mul.s $f8, $f10, $f0 -/* 08EBA4 7F05A074 E4A80000 */ swc1 $f8, ($a1) -/* 08EBA8 7F05A078 C4840018 */ lwc1 $f4, 0x18($a0) -/* 08EBAC 7F05A07C C4860020 */ lwc1 $f6, 0x20($a0) -/* 08EBB0 7F05A080 C4880028 */ lwc1 $f8, 0x28($a0) -/* 08EBB4 7F05A084 46062282 */ mul.s $f10, $f4, $f6 -/* 08EBB8 7F05A088 C4840010 */ lwc1 $f4, 0x10($a0) -/* 08EBBC 7F05A08C 46044182 */ mul.s $f6, $f8, $f4 -/* 08EBC0 7F05A090 46065201 */ sub.s $f8, $f10, $f6 -/* 08EBC4 7F05A094 46004102 */ mul.s $f4, $f8, $f0 -/* 08EBC8 7F05A098 E4A40010 */ swc1 $f4, 0x10($a1) -/* 08EBCC 7F05A09C C48A0010 */ lwc1 $f10, 0x10($a0) -/* 08EBD0 7F05A0A0 C4860024 */ lwc1 $f6, 0x24($a0) -/* 08EBD4 7F05A0A4 C4840020 */ lwc1 $f4, 0x20($a0) -/* 08EBD8 7F05A0A8 46065202 */ mul.s $f8, $f10, $f6 -/* 08EBDC 7F05A0AC C48A0014 */ lwc1 $f10, 0x14($a0) -/* 08EBE0 7F05A0B0 460A2182 */ mul.s $f6, $f4, $f10 -/* 08EBE4 7F05A0B4 46064101 */ sub.s $f4, $f8, $f6 -/* 08EBE8 7F05A0B8 46002282 */ mul.s $f10, $f4, $f0 -/* 08EBEC 7F05A0BC E4AA0020 */ swc1 $f10, 0x20($a1) -/* 08EBF0 7F05A0C0 C4880008 */ lwc1 $f8, 8($a0) -/* 08EBF4 7F05A0C4 C4860024 */ lwc1 $f6, 0x24($a0) -/* 08EBF8 7F05A0C8 C48A0028 */ lwc1 $f10, 0x28($a0) -/* 08EBFC 7F05A0CC 46064102 */ mul.s $f4, $f8, $f6 -/* 08EC00 7F05A0D0 C4880004 */ lwc1 $f8, 4($a0) -/* 08EC04 7F05A0D4 46085182 */ mul.s $f6, $f10, $f8 -/* 08EC08 7F05A0D8 46062281 */ sub.s $f10, $f4, $f6 -/* 08EC0C 7F05A0DC 46005202 */ mul.s $f8, $f10, $f0 -/* 08EC10 7F05A0E0 E4A80004 */ swc1 $f8, 4($a1) -/* 08EC14 7F05A0E4 C4840000 */ lwc1 $f4, ($a0) -/* 08EC18 7F05A0E8 C4860028 */ lwc1 $f6, 0x28($a0) -/* 08EC1C 7F05A0EC C4880020 */ lwc1 $f8, 0x20($a0) -/* 08EC20 7F05A0F0 46062282 */ mul.s $f10, $f4, $f6 -/* 08EC24 7F05A0F4 C4840008 */ lwc1 $f4, 8($a0) -/* 08EC28 7F05A0F8 46044182 */ mul.s $f6, $f8, $f4 -/* 08EC2C 7F05A0FC 46065201 */ sub.s $f8, $f10, $f6 -/* 08EC30 7F05A100 46004102 */ mul.s $f4, $f8, $f0 -/* 08EC34 7F05A104 E4A40014 */ swc1 $f4, 0x14($a1) -/* 08EC38 7F05A108 C48A0004 */ lwc1 $f10, 4($a0) -/* 08EC3C 7F05A10C C4860020 */ lwc1 $f6, 0x20($a0) -/* 08EC40 7F05A110 C4840024 */ lwc1 $f4, 0x24($a0) -/* 08EC44 7F05A114 46065202 */ mul.s $f8, $f10, $f6 -/* 08EC48 7F05A118 C48A0000 */ lwc1 $f10, ($a0) -/* 08EC4C 7F05A11C 460A2182 */ mul.s $f6, $f4, $f10 -/* 08EC50 7F05A120 46064101 */ sub.s $f4, $f8, $f6 -/* 08EC54 7F05A124 46002282 */ mul.s $f10, $f4, $f0 -/* 08EC58 7F05A128 E4AA0024 */ swc1 $f10, 0x24($a1) -/* 08EC5C 7F05A12C C4880004 */ lwc1 $f8, 4($a0) -/* 08EC60 7F05A130 C4860018 */ lwc1 $f6, 0x18($a0) -/* 08EC64 7F05A134 C48A0014 */ lwc1 $f10, 0x14($a0) -/* 08EC68 7F05A138 46064102 */ mul.s $f4, $f8, $f6 -/* 08EC6C 7F05A13C C4880008 */ lwc1 $f8, 8($a0) -/* 08EC70 7F05A140 46085182 */ mul.s $f6, $f10, $f8 -/* 08EC74 7F05A144 46062281 */ sub.s $f10, $f4, $f6 -/* 08EC78 7F05A148 46005202 */ mul.s $f8, $f10, $f0 -/* 08EC7C 7F05A14C E4A80008 */ swc1 $f8, 8($a1) -/* 08EC80 7F05A150 C4860010 */ lwc1 $f6, 0x10($a0) -/* 08EC84 7F05A154 C4840008 */ lwc1 $f4, 8($a0) -/* 08EC88 7F05A158 C4880018 */ lwc1 $f8, 0x18($a0) -/* 08EC8C 7F05A15C 46062282 */ mul.s $f10, $f4, $f6 -/* 08EC90 7F05A160 C4840000 */ lwc1 $f4, ($a0) -/* 08EC94 7F05A164 46044182 */ mul.s $f6, $f8, $f4 -/* 08EC98 7F05A168 46065201 */ sub.s $f8, $f10, $f6 -/* 08EC9C 7F05A16C 46004102 */ mul.s $f4, $f8, $f0 -/* 08ECA0 7F05A170 E4A40018 */ swc1 $f4, 0x18($a1) -/* 08ECA4 7F05A174 C4860014 */ lwc1 $f6, 0x14($a0) -/* 08ECA8 7F05A178 C48A0000 */ lwc1 $f10, ($a0) -/* 08ECAC 7F05A17C C4840010 */ lwc1 $f4, 0x10($a0) -/* 08ECB0 7F05A180 46065202 */ mul.s $f8, $f10, $f6 -/* 08ECB4 7F05A184 C48A0004 */ lwc1 $f10, 4($a0) -/* 08ECB8 7F05A188 460A2182 */ mul.s $f6, $f4, $f10 -/* 08ECBC 7F05A18C 46064101 */ sub.s $f4, $f8, $f6 -/* 08ECC0 7F05A190 C4A60000 */ lwc1 $f6, ($a1) -/* 08ECC4 7F05A194 46002282 */ mul.s $f10, $f4, $f0 -/* 08ECC8 7F05A198 44800000 */ mtc1 $zero, $f0 -/* 08ECCC 7F05A19C E4AA0028 */ swc1 $f10, 0x28($a1) -/* 08ECD0 7F05A1A0 C4880030 */ lwc1 $f8, 0x30($a0) -/* 08ECD4 7F05A1A4 C48A0034 */ lwc1 $f10, 0x34($a0) -/* 08ECD8 7F05A1A8 46064102 */ mul.s $f4, $f8, $f6 -/* 08ECDC 7F05A1AC C4A80010 */ lwc1 $f8, 0x10($a1) -/* 08ECE0 7F05A1B0 46085182 */ mul.s $f6, $f10, $f8 -/* 08ECE4 7F05A1B4 C4A80020 */ lwc1 $f8, 0x20($a1) -/* 08ECE8 7F05A1B8 46062280 */ add.s $f10, $f4, $f6 -/* 08ECEC 7F05A1BC C4840038 */ lwc1 $f4, 0x38($a0) -/* 08ECF0 7F05A1C0 46044182 */ mul.s $f6, $f8, $f4 -/* 08ECF4 7F05A1C4 460A3200 */ add.s $f8, $f6, $f10 -/* 08ECF8 7F05A1C8 C4AA0004 */ lwc1 $f10, 4($a1) -/* 08ECFC 7F05A1CC 46004107 */ neg.s $f4, $f8 -/* 08ED00 7F05A1D0 E4A40030 */ swc1 $f4, 0x30($a1) -/* 08ED04 7F05A1D4 C4860030 */ lwc1 $f6, 0x30($a0) -/* 08ED08 7F05A1D8 C4840034 */ lwc1 $f4, 0x34($a0) -/* 08ED0C 7F05A1DC 460A3202 */ mul.s $f8, $f6, $f10 -/* 08ED10 7F05A1E0 C4A60014 */ lwc1 $f6, 0x14($a1) -/* 08ED14 7F05A1E4 46062282 */ mul.s $f10, $f4, $f6 -/* 08ED18 7F05A1E8 C4A60024 */ lwc1 $f6, 0x24($a1) -/* 08ED1C 7F05A1EC 460A4100 */ add.s $f4, $f8, $f10 -/* 08ED20 7F05A1F0 C4880038 */ lwc1 $f8, 0x38($a0) -/* 08ED24 7F05A1F4 46083282 */ mul.s $f10, $f6, $f8 -/* 08ED28 7F05A1F8 46045180 */ add.s $f6, $f10, $f4 -/* 08ED2C 7F05A1FC C4A40008 */ lwc1 $f4, 8($a1) -/* 08ED30 7F05A200 46003207 */ neg.s $f8, $f6 -/* 08ED34 7F05A204 E4A80034 */ swc1 $f8, 0x34($a1) -/* 08ED38 7F05A208 C48A0030 */ lwc1 $f10, 0x30($a0) -/* 08ED3C 7F05A20C C4880034 */ lwc1 $f8, 0x34($a0) -/* 08ED40 7F05A210 46045182 */ mul.s $f6, $f10, $f4 -/* 08ED44 7F05A214 C4AA0018 */ lwc1 $f10, 0x18($a1) -/* 08ED48 7F05A218 460A4102 */ mul.s $f4, $f8, $f10 -/* 08ED4C 7F05A21C C4AA0028 */ lwc1 $f10, 0x28($a1) -/* 08ED50 7F05A220 46043200 */ add.s $f8, $f6, $f4 -/* 08ED54 7F05A224 C4860038 */ lwc1 $f6, 0x38($a0) -/* 08ED58 7F05A228 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08ED5C 7F05A22C E4A2003C */ swc1 $f2, 0x3c($a1) -/* 08ED60 7F05A230 46065102 */ mul.s $f4, $f10, $f6 -/* 08ED64 7F05A234 E4A0000C */ swc1 $f0, 0xc($a1) -/* 08ED68 7F05A238 E4A0001C */ swc1 $f0, 0x1c($a1) -/* 08ED6C 7F05A23C E4A0002C */ swc1 $f0, 0x2c($a1) -/* 08ED70 7F05A240 46082280 */ add.s $f10, $f4, $f8 -/* 08ED74 7F05A244 46005187 */ neg.s $f6, $f10 -/* 08ED78 7F05A248 03E00008 */ jr $ra -/* 08ED7C 7F05A24C E4A60038 */ swc1 $f6, 0x38($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05A250(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05A250 -/* 08ED80 7F05A250 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08ED84 7F05A254 AFBF0014 */ sw $ra, 0x14($sp) -/* 08ED88 7F05A258 AFA40018 */ sw $a0, 0x18($sp) -/* 08ED8C 7F05A25C 0FC168C4 */ jal sub_GAME_7F05A310 -/* 08ED90 7F05A260 AFA5001C */ sw $a1, 0x1c($sp) -/* 08ED94 7F05A264 0FC169DD */ jal sub_GAME_7F05A774 -/* 08ED98 7F05A268 8FA40018 */ lw $a0, 0x18($sp) -/* 08ED9C 7F05A26C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08EDA0 7F05A270 44812000 */ mtc1 $at, $f4 -/* 08EDA4 7F05A274 00001825 */ move $v1, $zero -/* 08EDA8 7F05A278 8FA2001C */ lw $v0, 0x1c($sp) -/* 08EDAC 7F05A27C 24040004 */ li $a0, 4 -/* 08EDB0 7F05A280 46002083 */ div.s $f2, $f4, $f0 -/* 08EDB4 7F05A284 C4480000 */ lwc1 $f8, ($v0) -/* 08EDB8 7F05A288 24630001 */ addiu $v1, $v1, 1 -/* 08EDBC 7F05A28C C44E0004 */ lwc1 $f14, 4($v0) -/* 08EDC0 7F05A290 46024402 */ mul.s $f16, $f8, $f2 -/* 08EDC4 7F05A294 C44C0008 */ lwc1 $f12, 8($v0) -/* 08EDC8 7F05A298 10640010 */ beq $v1, $a0, .L7F05A2DC -/* 08EDCC 7F05A29C C452000C */ lwc1 $f18, 0xc($v0) -.L7F05A2A0: -/* 08EDD0 7F05A2A0 46027282 */ mul.s $f10, $f14, $f2 -/* 08EDD4 7F05A2A4 C4480010 */ lwc1 $f8, 0x10($v0) -/* 08EDD8 7F05A2A8 C44E0014 */ lwc1 $f14, 0x14($v0) -/* 08EDDC 7F05A2AC 46026182 */ mul.s $f6, $f12, $f2 -/* 08EDE0 7F05A2B0 C44C0018 */ lwc1 $f12, 0x18($v0) -/* 08EDE4 7F05A2B4 24630001 */ addiu $v1, $v1, 1 -/* 08EDE8 7F05A2B8 46029102 */ mul.s $f4, $f18, $f2 -/* 08EDEC 7F05A2BC C452001C */ lwc1 $f18, 0x1c($v0) -/* 08EDF0 7F05A2C0 E4500000 */ swc1 $f16, ($v0) -/* 08EDF4 7F05A2C4 46024402 */ mul.s $f16, $f8, $f2 -/* 08EDF8 7F05A2C8 E44A0004 */ swc1 $f10, 4($v0) -/* 08EDFC 7F05A2CC E4460008 */ swc1 $f6, 8($v0) -/* 08EE00 7F05A2D0 24420010 */ addiu $v0, $v0, 0x10 -/* 08EE04 7F05A2D4 1464FFF2 */ bne $v1, $a0, .L7F05A2A0 -/* 08EE08 7F05A2D8 E444FFFC */ swc1 $f4, -4($v0) -.L7F05A2DC: -/* 08EE0C 7F05A2DC 46027282 */ mul.s $f10, $f14, $f2 -/* 08EE10 7F05A2E0 24420010 */ addiu $v0, $v0, 0x10 -/* 08EE14 7F05A2E4 E450FFF0 */ swc1 $f16, -0x10($v0) -/* 08EE18 7F05A2E8 46026182 */ mul.s $f6, $f12, $f2 -/* 08EE1C 7F05A2EC 00000000 */ nop -/* 08EE20 7F05A2F0 46029102 */ mul.s $f4, $f18, $f2 -/* 08EE24 7F05A2F4 E44AFFF4 */ swc1 $f10, -0xc($v0) -/* 08EE28 7F05A2F8 E446FFF8 */ swc1 $f6, -8($v0) -/* 08EE2C 7F05A2FC E444FFFC */ swc1 $f4, -4($v0) -/* 08EE30 7F05A300 8FBF0014 */ lw $ra, 0x14($sp) -/* 08EE34 7F05A304 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08EE38 7F05A308 03E00008 */ jr $ra -/* 08EE3C 7F05A30C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05A310(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05A310 -/* 08EE40 7F05A310 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 08EE44 7F05A314 AFBF0064 */ sw $ra, 0x64($sp) -/* 08EE48 7F05A318 AFB00060 */ sw $s0, 0x60($sp) -/* 08EE4C 7F05A31C F7BE0058 */ sdc1 $f30, 0x58($sp) -/* 08EE50 7F05A320 F7BC0050 */ sdc1 $f28, 0x50($sp) -/* 08EE54 7F05A324 F7BA0048 */ sdc1 $f26, 0x48($sp) -/* 08EE58 7F05A328 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 08EE5C 7F05A32C F7B60038 */ sdc1 $f22, 0x38($sp) -/* 08EE60 7F05A330 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 08EE64 7F05A334 C4840008 */ lwc1 $f4, 8($a0) -/* 08EE68 7F05A338 C49E0004 */ lwc1 $f30, 4($a0) -/* 08EE6C 7F05A33C C49C0000 */ lwc1 $f28, ($a0) -/* 08EE70 7F05A340 E7A40084 */ swc1 $f4, 0x84($sp) -/* 08EE74 7F05A344 C486000C */ lwc1 $f6, 0xc($a0) -/* 08EE78 7F05A348 00A08025 */ move $s0, $a1 -/* 08EE7C 7F05A34C E7A60074 */ swc1 $f6, 0x74($sp) -/* 08EE80 7F05A350 C4880010 */ lwc1 $f8, 0x10($a0) -/* 08EE84 7F05A354 E7A800A0 */ swc1 $f8, 0xa0($sp) -/* 08EE88 7F05A358 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 08EE8C 7F05A35C C48C0014 */ lwc1 $f12, 0x14($a0) -/* 08EE90 7F05A360 C482001C */ lwc1 $f2, 0x1c($a0) -/* 08EE94 7F05A364 C4800018 */ lwc1 $f0, 0x18($a0) -/* 08EE98 7F05A368 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 08EE9C 7F05A36C C4960034 */ lwc1 $f22, 0x34($a0) -/* 08EEA0 7F05A370 C48E0024 */ lwc1 $f14, 0x24($a0) -/* 08EEA4 7F05A374 C492002C */ lwc1 $f18, 0x2c($a0) -/* 08EEA8 7F05A378 C4900028 */ lwc1 $f16, 0x28($a0) -/* 08EEAC 7F05A37C C49A003C */ lwc1 $f26, 0x3c($a0) -/* 08EEB0 7F05A380 C4980038 */ lwc1 $f24, 0x38($a0) -/* 08EEB4 7F05A384 C4940030 */ lwc1 $f20, 0x30($a0) -/* 08EEB8 7F05A388 44070000 */ mfc1 $a3, $f0 -/* 08EEBC 7F05A38C 4406B000 */ mfc1 $a2, $f22 -/* 08EEC0 7F05A390 E7AC0090 */ swc1 $f12, 0x90($sp) -/* 08EEC4 7F05A394 E7A20070 */ swc1 $f2, 0x70($sp) -/* 08EEC8 7F05A398 E7A20018 */ swc1 $f2, 0x18($sp) -/* 08EECC 7F05A39C E7A00080 */ swc1 $f0, 0x80($sp) -/* 08EED0 7F05A3A0 E7AE008C */ swc1 $f14, 0x8c($sp) -/* 08EED4 7F05A3A4 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 08EED8 7F05A3A8 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 08EEDC 7F05A3AC E7B0007C */ swc1 $f16, 0x7c($sp) -/* 08EEE0 7F05A3B0 E7B00010 */ swc1 $f16, 0x10($sp) -/* 08EEE4 7F05A3B4 E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08EEE8 7F05A3B8 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08EEEC 7F05A3BC E7B80014 */ swc1 $f24, 0x14($sp) -/* 08EEF0 7F05A3C0 E6000000 */ swc1 $f0, ($s0) -/* 08EEF4 7F05A3C4 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 08EEF8 7F05A3C8 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 08EEFC 7F05A3CC C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 08EF00 7F05A3D0 4406A000 */ mfc1 $a2, $f20 -/* 08EF04 7F05A3D4 E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08EF08 7F05A3D8 E7B80014 */ swc1 $f24, 0x14($sp) -/* 08EF0C 7F05A3DC 8FA70080 */ lw $a3, 0x80($sp) -/* 08EF10 7F05A3E0 C7AE009C */ lwc1 $f14, 0x9c($sp) -/* 08EF14 7F05A3E4 C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 08EF18 7F05A3E8 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 08EF1C 7F05A3EC E7A60018 */ swc1 $f6, 0x18($sp) -/* 08EF20 7F05A3F0 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08EF24 7F05A3F4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 08EF28 7F05A3F8 46000287 */ neg.s $f10, $f0 -/* 08EF2C 7F05A3FC 4406A000 */ mfc1 $a2, $f20 -/* 08EF30 7F05A400 E60A0010 */ swc1 $f10, 0x10($s0) -/* 08EF34 7F05A404 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 08EF38 7F05A408 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 08EF3C 7F05A40C C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 08EF40 7F05A410 E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08EF44 7F05A414 E7B60014 */ swc1 $f22, 0x14($sp) -/* 08EF48 7F05A418 8FA70090 */ lw $a3, 0x90($sp) -/* 08EF4C 7F05A41C C7AE009C */ lwc1 $f14, 0x9c($sp) -/* 08EF50 7F05A420 C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 08EF54 7F05A424 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 08EF58 7F05A428 E7A60018 */ swc1 $f6, 0x18($sp) -/* 08EF5C 7F05A42C 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08EF60 7F05A430 E7A40010 */ swc1 $f4, 0x10($sp) -/* 08EF64 7F05A434 E6000020 */ swc1 $f0, 0x20($s0) -/* 08EF68 7F05A438 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 08EF6C 7F05A43C C7A40080 */ lwc1 $f4, 0x80($sp) -/* 08EF70 7F05A440 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 08EF74 7F05A444 4406A000 */ mfc1 $a2, $f20 -/* 08EF78 7F05A448 E7B80020 */ swc1 $f24, 0x20($sp) -/* 08EF7C 7F05A44C E7B60014 */ swc1 $f22, 0x14($sp) -/* 08EF80 7F05A450 8FA70090 */ lw $a3, 0x90($sp) -/* 08EF84 7F05A454 C7AE009C */ lwc1 $f14, 0x9c($sp) -/* 08EF88 7F05A458 C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 08EF8C 7F05A45C E7A6001C */ swc1 $f6, 0x1c($sp) -/* 08EF90 7F05A460 E7A40018 */ swc1 $f4, 0x18($sp) -/* 08EF94 7F05A464 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08EF98 7F05A468 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 08EF9C 7F05A46C 46000207 */ neg.s $f8, $f0 -/* 08EFA0 7F05A470 4406B000 */ mfc1 $a2, $f22 -/* 08EFA4 7F05A474 E6080030 */ swc1 $f8, 0x30($s0) -/* 08EFA8 7F05A478 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 08EFAC 7F05A47C C7A40074 */ lwc1 $f4, 0x74($sp) -/* 08EFB0 7F05A480 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 08EFB4 7F05A484 E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08EFB8 7F05A488 E7B80014 */ swc1 $f24, 0x14($sp) -/* 08EFBC 7F05A48C 8FA70084 */ lw $a3, 0x84($sp) -/* 08EFC0 7F05A490 C7AE008C */ lwc1 $f14, 0x8c($sp) -/* 08EFC4 7F05A494 4600F306 */ mov.s $f12, $f30 -/* 08EFC8 7F05A498 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 08EFCC 7F05A49C E7A40018 */ swc1 $f4, 0x18($sp) -/* 08EFD0 7F05A4A0 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08EFD4 7F05A4A4 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 08EFD8 7F05A4A8 46000207 */ neg.s $f8, $f0 -/* 08EFDC 7F05A4AC 4406A000 */ mfc1 $a2, $f20 -/* 08EFE0 7F05A4B0 E6080004 */ swc1 $f8, 4($s0) -/* 08EFE4 7F05A4B4 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 08EFE8 7F05A4B8 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 08EFEC 7F05A4BC C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 08EFF0 7F05A4C0 E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08EFF4 7F05A4C4 E7B80014 */ swc1 $f24, 0x14($sp) -/* 08EFF8 7F05A4C8 8FA70084 */ lw $a3, 0x84($sp) -/* 08EFFC 7F05A4CC C7AE009C */ lwc1 $f14, 0x9c($sp) -/* 08F000 7F05A4D0 4600E306 */ mov.s $f12, $f28 -/* 08F004 7F05A4D4 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 08F008 7F05A4D8 E7A40018 */ swc1 $f4, 0x18($sp) -/* 08F00C 7F05A4DC 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F010 7F05A4E0 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 08F014 7F05A4E4 E6000014 */ swc1 $f0, 0x14($s0) -/* 08F018 7F05A4E8 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 08F01C 7F05A4EC C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 08F020 7F05A4F0 C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 08F024 7F05A4F4 4406A000 */ mfc1 $a2, $f20 -/* 08F028 7F05A4F8 4407F000 */ mfc1 $a3, $f30 -/* 08F02C 7F05A4FC E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08F030 7F05A500 E7B60014 */ swc1 $f22, 0x14($sp) -/* 08F034 7F05A504 C7AE009C */ lwc1 $f14, 0x9c($sp) -/* 08F038 7F05A508 4600E306 */ mov.s $f12, $f28 -/* 08F03C 7F05A50C E7A4001C */ swc1 $f4, 0x1c($sp) -/* 08F040 7F05A510 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 08F044 7F05A514 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F048 7F05A518 E7A80010 */ swc1 $f8, 0x10($sp) -/* 08F04C 7F05A51C 46000187 */ neg.s $f6, $f0 -/* 08F050 7F05A520 4406A000 */ mfc1 $a2, $f20 -/* 08F054 7F05A524 E6060024 */ swc1 $f6, 0x24($s0) -/* 08F058 7F05A528 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 08F05C 7F05A52C C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 08F060 7F05A530 C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 08F064 7F05A534 4407F000 */ mfc1 $a3, $f30 -/* 08F068 7F05A538 E7B80020 */ swc1 $f24, 0x20($sp) -/* 08F06C 7F05A53C E7B60014 */ swc1 $f22, 0x14($sp) -/* 08F070 7F05A540 C7AE009C */ lwc1 $f14, 0x9c($sp) -/* 08F074 7F05A544 4600E306 */ mov.s $f12, $f28 -/* 08F078 7F05A548 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 08F07C 7F05A54C E7AA0018 */ swc1 $f10, 0x18($sp) -/* 08F080 7F05A550 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F084 7F05A554 E7A80010 */ swc1 $f8, 0x10($sp) -/* 08F088 7F05A558 E6000034 */ swc1 $f0, 0x34($s0) -/* 08F08C 7F05A55C C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 08F090 7F05A560 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 08F094 7F05A564 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 08F098 7F05A568 4406B000 */ mfc1 $a2, $f22 -/* 08F09C 7F05A56C E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08F0A0 7F05A570 E7B80014 */ swc1 $f24, 0x14($sp) -/* 08F0A4 7F05A574 8FA70084 */ lw $a3, 0x84($sp) -/* 08F0A8 7F05A578 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 08F0AC 7F05A57C 4600F306 */ mov.s $f12, $f30 -/* 08F0B0 7F05A580 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 08F0B4 7F05A584 E7A80018 */ swc1 $f8, 0x18($sp) -/* 08F0B8 7F05A588 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F0BC 7F05A58C E7A60010 */ swc1 $f6, 0x10($sp) -/* 08F0C0 7F05A590 E6000008 */ swc1 $f0, 8($s0) -/* 08F0C4 7F05A594 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 08F0C8 7F05A598 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 08F0CC 7F05A59C C7A40080 */ lwc1 $f4, 0x80($sp) -/* 08F0D0 7F05A5A0 4406A000 */ mfc1 $a2, $f20 -/* 08F0D4 7F05A5A4 E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08F0D8 7F05A5A8 E7B80014 */ swc1 $f24, 0x14($sp) -/* 08F0DC 7F05A5AC 8FA70084 */ lw $a3, 0x84($sp) -/* 08F0E0 7F05A5B0 C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 08F0E4 7F05A5B4 4600E306 */ mov.s $f12, $f28 -/* 08F0E8 7F05A5B8 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 08F0EC 7F05A5BC E7A60018 */ swc1 $f6, 0x18($sp) -/* 08F0F0 7F05A5C0 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F0F4 7F05A5C4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 08F0F8 7F05A5C8 46000287 */ neg.s $f10, $f0 -/* 08F0FC 7F05A5CC 4406A000 */ mfc1 $a2, $f20 -/* 08F100 7F05A5D0 E60A0018 */ swc1 $f10, 0x18($s0) -/* 08F104 7F05A5D4 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 08F108 7F05A5D8 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 08F10C 7F05A5DC C7A40090 */ lwc1 $f4, 0x90($sp) -/* 08F110 7F05A5E0 4407F000 */ mfc1 $a3, $f30 -/* 08F114 7F05A5E4 E7BA0020 */ swc1 $f26, 0x20($sp) -/* 08F118 7F05A5E8 E7B60014 */ swc1 $f22, 0x14($sp) -/* 08F11C 7F05A5EC C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 08F120 7F05A5F0 4600E306 */ mov.s $f12, $f28 -/* 08F124 7F05A5F4 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 08F128 7F05A5F8 E7A60018 */ swc1 $f6, 0x18($sp) -/* 08F12C 7F05A5FC 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F130 7F05A600 E7A40010 */ swc1 $f4, 0x10($sp) -/* 08F134 7F05A604 E6000028 */ swc1 $f0, 0x28($s0) -/* 08F138 7F05A608 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 08F13C 7F05A60C C7A40084 */ lwc1 $f4, 0x84($sp) -/* 08F140 7F05A610 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 08F144 7F05A614 4406A000 */ mfc1 $a2, $f20 -/* 08F148 7F05A618 4407F000 */ mfc1 $a3, $f30 -/* 08F14C 7F05A61C E7B80020 */ swc1 $f24, 0x20($sp) -/* 08F150 7F05A620 E7B60014 */ swc1 $f22, 0x14($sp) -/* 08F154 7F05A624 C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 08F158 7F05A628 4600E306 */ mov.s $f12, $f28 -/* 08F15C 7F05A62C E7A6001C */ swc1 $f6, 0x1c($sp) -/* 08F160 7F05A630 E7A40018 */ swc1 $f4, 0x18($sp) -/* 08F164 7F05A634 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F168 7F05A638 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 08F16C 7F05A63C 46000207 */ neg.s $f8, $f0 -/* 08F170 7F05A640 4600F306 */ mov.s $f12, $f30 -/* 08F174 7F05A644 E6080038 */ swc1 $f8, 0x38($s0) -/* 08F178 7F05A648 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 08F17C 7F05A64C C7A80070 */ lwc1 $f8, 0x70($sp) -/* 08F180 7F05A650 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 08F184 7F05A654 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 08F188 7F05A658 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 08F18C 7F05A65C C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 08F190 7F05A660 8FA70084 */ lw $a3, 0x84($sp) -/* 08F194 7F05A664 8FA6008C */ lw $a2, 0x8c($sp) -/* 08F198 7F05A668 C7AE0090 */ lwc1 $f14, 0x90($sp) -/* 08F19C 7F05A66C E7A8001C */ swc1 $f8, 0x1c($sp) -/* 08F1A0 7F05A670 E7A60018 */ swc1 $f6, 0x18($sp) -/* 08F1A4 7F05A674 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 08F1A8 7F05A678 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F1AC 7F05A67C E7A40014 */ swc1 $f4, 0x14($sp) -/* 08F1B0 7F05A680 46000107 */ neg.s $f4, $f0 -/* 08F1B4 7F05A684 4600E306 */ mov.s $f12, $f28 -/* 08F1B8 7F05A688 E604000C */ swc1 $f4, 0xc($s0) -/* 08F1BC 7F05A68C C7A60080 */ lwc1 $f6, 0x80($sp) -/* 08F1C0 7F05A690 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 08F1C4 7F05A694 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 08F1C8 7F05A698 E7A60010 */ swc1 $f6, 0x10($sp) -/* 08F1CC 7F05A69C C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 08F1D0 7F05A6A0 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 08F1D4 7F05A6A4 8FA70084 */ lw $a3, 0x84($sp) -/* 08F1D8 7F05A6A8 8FA6009C */ lw $a2, 0x9c($sp) -/* 08F1DC 7F05A6AC C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 08F1E0 7F05A6B0 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 08F1E4 7F05A6B4 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 08F1E8 7F05A6B8 E7A60020 */ swc1 $f6, 0x20($sp) -/* 08F1EC 7F05A6BC 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F1F0 7F05A6C0 E7A80014 */ swc1 $f8, 0x14($sp) -/* 08F1F4 7F05A6C4 E600001C */ swc1 $f0, 0x1c($s0) -/* 08F1F8 7F05A6C8 C7A80090 */ lwc1 $f8, 0x90($sp) -/* 08F1FC 7F05A6CC C7A60070 */ lwc1 $f6, 0x70($sp) -/* 08F200 7F05A6D0 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 08F204 7F05A6D4 E7A80010 */ swc1 $f8, 0x10($sp) -/* 08F208 7F05A6D8 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 08F20C 7F05A6DC C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 08F210 7F05A6E0 4407F000 */ mfc1 $a3, $f30 -/* 08F214 7F05A6E4 8FA6009C */ lw $a2, 0x9c($sp) -/* 08F218 7F05A6E8 C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 08F21C 7F05A6EC 4600E306 */ mov.s $f12, $f28 -/* 08F220 7F05A6F0 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 08F224 7F05A6F4 E7A40018 */ swc1 $f4, 0x18($sp) -/* 08F228 7F05A6F8 E7A80020 */ swc1 $f8, 0x20($sp) -/* 08F22C 7F05A6FC 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F230 7F05A700 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 08F234 7F05A704 46000287 */ neg.s $f10, $f0 -/* 08F238 7F05A708 4407F000 */ mfc1 $a3, $f30 -/* 08F23C 7F05A70C E60A002C */ swc1 $f10, 0x2c($s0) -/* 08F240 7F05A710 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 08F244 7F05A714 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 08F248 7F05A718 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 08F24C 7F05A71C E7A40010 */ swc1 $f4, 0x10($sp) -/* 08F250 7F05A720 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 08F254 7F05A724 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 08F258 7F05A728 8FA6009C */ lw $a2, 0x9c($sp) -/* 08F25C 7F05A72C C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 08F260 7F05A730 4600E306 */ mov.s $f12, $f28 -/* 08F264 7F05A734 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 08F268 7F05A738 E7A80018 */ swc1 $f8, 0x18($sp) -/* 08F26C 7F05A73C E7A40020 */ swc1 $f4, 0x20($sp) -/* 08F270 7F05A740 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F274 7F05A744 E7A60014 */ swc1 $f6, 0x14($sp) -/* 08F278 7F05A748 E600003C */ swc1 $f0, 0x3c($s0) -/* 08F27C 7F05A74C 8FBF0064 */ lw $ra, 0x64($sp) -/* 08F280 7F05A750 8FB00060 */ lw $s0, 0x60($sp) -/* 08F284 7F05A754 D7BE0058 */ ldc1 $f30, 0x58($sp) -/* 08F288 7F05A758 D7BC0050 */ ldc1 $f28, 0x50($sp) -/* 08F28C 7F05A75C D7BA0048 */ ldc1 $f26, 0x48($sp) -/* 08F290 7F05A760 D7B80040 */ ldc1 $f24, 0x40($sp) -/* 08F294 7F05A764 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 08F298 7F05A768 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 08F29C 7F05A76C 03E00008 */ jr $ra -/* 08F2A0 7F05A770 27BD00A8 */ addiu $sp, $sp, 0xa8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05A774(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05A774 -/* 08F2A4 7F05A774 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 08F2A8 7F05A778 AFBF002C */ sw $ra, 0x2c($sp) -/* 08F2AC 7F05A77C C4840000 */ lwc1 $f4, ($a0) -/* 08F2B0 7F05A780 E7A40078 */ swc1 $f4, 0x78($sp) -/* 08F2B4 7F05A784 C4860004 */ lwc1 $f6, 4($a0) -/* 08F2B8 7F05A788 E7A60068 */ swc1 $f6, 0x68($sp) -/* 08F2BC 7F05A78C C4880008 */ lwc1 $f8, 8($a0) -/* 08F2C0 7F05A790 E7A80058 */ swc1 $f8, 0x58($sp) -/* 08F2C4 7F05A794 C48A000C */ lwc1 $f10, 0xc($a0) -/* 08F2C8 7F05A798 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 08F2CC 7F05A79C C4840018 */ lwc1 $f4, 0x18($a0) -/* 08F2D0 7F05A7A0 C4800014 */ lwc1 $f0, 0x14($a0) -/* 08F2D4 7F05A7A4 C48C0010 */ lwc1 $f12, 0x10($a0) -/* 08F2D8 7F05A7A8 E7A40054 */ swc1 $f4, 0x54($sp) -/* 08F2DC 7F05A7AC C4860028 */ lwc1 $f6, 0x28($a0) -/* 08F2E0 7F05A7B0 C482001C */ lwc1 $f2, 0x1c($a0) -/* 08F2E4 7F05A7B4 C4900024 */ lwc1 $f16, 0x24($a0) -/* 08F2E8 7F05A7B8 C48E0020 */ lwc1 $f14, 0x20($a0) -/* 08F2EC 7F05A7BC E7A60050 */ swc1 $f6, 0x50($sp) -/* 08F2F0 7F05A7C0 C4880030 */ lwc1 $f8, 0x30($a0) -/* 08F2F4 7F05A7C4 C492002C */ lwc1 $f18, 0x2c($a0) -/* 08F2F8 7F05A7C8 44070000 */ mfc1 $a3, $f0 -/* 08F2FC 7F05A7CC E7A8006C */ swc1 $f8, 0x6c($sp) -/* 08F300 7F05A7D0 C48A0034 */ lwc1 $f10, 0x34($a0) -/* 08F304 7F05A7D4 8FA6006C */ lw $a2, 0x6c($sp) -/* 08F308 7F05A7D8 E7AA005C */ swc1 $f10, 0x5c($sp) -/* 08F30C 7F05A7DC C4840038 */ lwc1 $f4, 0x38($a0) -/* 08F310 7F05A7E0 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 08F314 7F05A7E4 E7A4004C */ swc1 $f4, 0x4c($sp) -/* 08F318 7F05A7E8 C486003C */ lwc1 $f6, 0x3c($a0) -/* 08F31C 7F05A7EC E7A00064 */ swc1 $f0, 0x64($sp) -/* 08F320 7F05A7F0 E7AC0074 */ swc1 $f12, 0x74($sp) -/* 08F324 7F05A7F4 E7A6003C */ swc1 $f6, 0x3c($sp) -/* 08F328 7F05A7F8 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 08F32C 7F05A7FC E7A20044 */ swc1 $f2, 0x44($sp) -/* 08F330 7F05A800 E7A20018 */ swc1 $f2, 0x18($sp) -/* 08F334 7F05A804 E7B00060 */ swc1 $f16, 0x60($sp) -/* 08F338 7F05A808 E7B00010 */ swc1 $f16, 0x10($sp) -/* 08F33C 7F05A80C E7AE0070 */ swc1 $f14, 0x70($sp) -/* 08F340 7F05A810 E7B20040 */ swc1 $f18, 0x40($sp) -/* 08F344 7F05A814 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 08F348 7F05A818 E7A80014 */ swc1 $f8, 0x14($sp) -/* 08F34C 7F05A81C 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F350 7F05A820 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 08F354 7F05A824 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 08F358 7F05A828 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 08F35C 7F05A82C C7A80044 */ lwc1 $f8, 0x44($sp) -/* 08F360 7F05A830 E7A40010 */ swc1 $f4, 0x10($sp) -/* 08F364 7F05A834 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 08F368 7F05A838 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 08F36C 7F05A83C E7A00030 */ swc1 $f0, 0x30($sp) -/* 08F370 7F05A840 C7AC0074 */ lwc1 $f12, 0x74($sp) -/* 08F374 7F05A844 C7AE0070 */ lwc1 $f14, 0x70($sp) -/* 08F378 7F05A848 8FA6006C */ lw $a2, 0x6c($sp) -/* 08F37C 7F05A84C 8FA70054 */ lw $a3, 0x54($sp) -/* 08F380 7F05A850 E7A60014 */ swc1 $f6, 0x14($sp) -/* 08F384 7F05A854 E7A80018 */ swc1 $f8, 0x18($sp) -/* 08F388 7F05A858 E7A40020 */ swc1 $f4, 0x20($sp) -/* 08F38C 7F05A85C 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F390 7F05A860 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 08F394 7F05A864 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 08F398 7F05A868 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08F39C 7F05A86C C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 08F3A0 7F05A870 E7A60010 */ swc1 $f6, 0x10($sp) -/* 08F3A4 7F05A874 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 08F3A8 7F05A878 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 08F3AC 7F05A87C E7A00034 */ swc1 $f0, 0x34($sp) -/* 08F3B0 7F05A880 C7AC0064 */ lwc1 $f12, 0x64($sp) -/* 08F3B4 7F05A884 C7AE0060 */ lwc1 $f14, 0x60($sp) -/* 08F3B8 7F05A888 8FA6005C */ lw $a2, 0x5c($sp) -/* 08F3BC 7F05A88C 8FA70054 */ lw $a3, 0x54($sp) -/* 08F3C0 7F05A890 E7A80014 */ swc1 $f8, 0x14($sp) -/* 08F3C4 7F05A894 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 08F3C8 7F05A898 E7A60020 */ swc1 $f6, 0x20($sp) -/* 08F3CC 7F05A89C 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F3D0 7F05A8A0 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 08F3D4 7F05A8A4 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 08F3D8 7F05A8A8 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 08F3DC 7F05A8AC C7A40054 */ lwc1 $f4, 0x54($sp) -/* 08F3E0 7F05A8B0 E7A80010 */ swc1 $f8, 0x10($sp) -/* 08F3E4 7F05A8B4 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08F3E8 7F05A8B8 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 08F3EC 7F05A8BC E7A00038 */ swc1 $f0, 0x38($sp) -/* 08F3F0 7F05A8C0 C7AC0074 */ lwc1 $f12, 0x74($sp) -/* 08F3F4 7F05A8C4 C7AE0070 */ lwc1 $f14, 0x70($sp) -/* 08F3F8 7F05A8C8 8FA6006C */ lw $a2, 0x6c($sp) -/* 08F3FC 7F05A8CC 8FA70064 */ lw $a3, 0x64($sp) -/* 08F400 7F05A8D0 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 08F404 7F05A8D4 E7A40018 */ swc1 $f4, 0x18($sp) -/* 08F408 7F05A8D8 E7A80020 */ swc1 $f8, 0x20($sp) -/* 08F40C 7F05A8DC 0FC16A4A */ jal sub_GAME_7F05A928 -/* 08F410 7F05A8E0 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 08F414 7F05A8E4 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 08F418 7F05A8E8 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 08F41C 7F05A8EC C7A80068 */ lwc1 $f8, 0x68($sp) -/* 08F420 7F05A8F0 8FBF002C */ lw $ra, 0x2c($sp) -/* 08F424 7F05A8F4 46045182 */ mul.s $f6, $f10, $f4 -/* 08F428 7F05A8F8 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 08F42C 7F05A8FC 460A4102 */ mul.s $f4, $f8, $f10 -/* 08F430 7F05A900 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 08F434 7F05A904 46043201 */ sub.s $f8, $f6, $f4 -/* 08F438 7F05A908 C7A60030 */ lwc1 $f6, 0x30($sp) -/* 08F43C 7F05A90C 46065102 */ mul.s $f4, $f10, $f6 -/* 08F440 7F05A910 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 08F444 7F05A914 27BD0080 */ addiu $sp, $sp, 0x80 -/* 08F448 7F05A918 46044280 */ add.s $f10, $f8, $f4 -/* 08F44C 7F05A91C 46060202 */ mul.s $f8, $f0, $f6 -/* 08F450 7F05A920 03E00008 */ jr $ra -/* 08F454 7F05A924 46085001 */ sub.s $f0, $f10, $f8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05A928(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05A928 -/* 08F458 7F05A928 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08F45C 7F05A92C AFBF0014 */ sw $ra, 0x14($sp) -/* 08F460 7F05A930 E7AC0028 */ swc1 $f12, 0x28($sp) -/* 08F464 7F05A934 E7AE002C */ swc1 $f14, 0x2c($sp) -/* 08F468 7F05A938 AFA60030 */ sw $a2, 0x30($sp) -/* 08F46C 7F05A93C AFA70034 */ sw $a3, 0x34($sp) -/* 08F470 7F05A940 8FA70048 */ lw $a3, 0x48($sp) -/* 08F474 7F05A944 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 08F478 7F05A948 8FA60044 */ lw $a2, 0x44($sp) -/* 08F47C 7F05A94C 0FC16A6E */ jal sub_GAME_7F05A9B8 -/* 08F480 7F05A950 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 08F484 7F05A954 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 08F488 7F05A958 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 08F48C 7F05A95C C7AE003C */ lwc1 $f14, 0x3c($sp) -/* 08F490 7F05A960 8FA60044 */ lw $a2, 0x44($sp) -/* 08F494 7F05A964 0FC16A6E */ jal sub_GAME_7F05A9B8 -/* 08F498 7F05A968 8FA70048 */ lw $a3, 0x48($sp) -/* 08F49C 7F05A96C E7A00020 */ swc1 $f0, 0x20($sp) -/* 08F4A0 7F05A970 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 08F4A4 7F05A974 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 08F4A8 7F05A978 8FA60038 */ lw $a2, 0x38($sp) -/* 08F4AC 7F05A97C 0FC16A6E */ jal sub_GAME_7F05A9B8 -/* 08F4B0 7F05A980 8FA7003C */ lw $a3, 0x3c($sp) -/* 08F4B4 7F05A984 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 08F4B8 7F05A988 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 08F4BC 7F05A98C C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 08F4C0 7F05A990 C7B0001C */ lwc1 $f16, 0x1c($sp) -/* 08F4C4 7F05A994 46062202 */ mul.s $f8, $f4, $f6 -/* 08F4C8 7F05A998 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 08F4CC 7F05A99C 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F4D0 7F05A9A0 46105482 */ mul.s $f18, $f10, $f16 -/* 08F4D4 7F05A9A4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08F4D8 7F05A9A8 46060282 */ mul.s $f10, $f0, $f6 -/* 08F4DC 7F05A9AC 46124101 */ sub.s $f4, $f8, $f18 -/* 08F4E0 7F05A9B0 03E00008 */ jr $ra -/* 08F4E4 7F05A9B4 46045000 */ add.s $f0, $f10, $f4 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05A9B8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05A9B8 -/* 08F4E8 7F05A9B8 AFA7000C */ sw $a3, 0xc($sp) -/* 08F4EC 7F05A9BC C7A4000C */ lwc1 $f4, 0xc($sp) -/* 08F4F0 7F05A9C0 AFA60008 */ sw $a2, 8($sp) -/* 08F4F4 7F05A9C4 C7A80008 */ lwc1 $f8, 8($sp) -/* 08F4F8 7F05A9C8 46046182 */ mul.s $f6, $f12, $f4 -/* 08F4FC 7F05A9CC 00000000 */ nop -/* 08F500 7F05A9D0 46087282 */ mul.s $f10, $f14, $f8 -/* 08F504 7F05A9D4 03E00008 */ jr $ra -/* 08F508 7F05A9D8 460A3001 */ sub.s $f0, $f6, $f10 -) -#endif - - diff --git a/src/game/unk_05A9E0.c b/src/game/unk_05A9E0.c deleted file mode 100644 index 2bd39d5..0000000 --- a/src/game/unk_05A9E0.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "ultra64.h" - - -f32 sub_GAME_7F05A9E0(f32 arg0) { - return sqrtf(((sinf(arg0) / cosf(arg0)) + 1.0f)); -} - - - diff --git a/src/game/unk_05AB70.c b/src/game/unk_05AB70.c deleted file mode 100644 index 0016a3d..0000000 --- a/src/game/unk_05AB70.c +++ /dev/null @@ -1,166 +0,0 @@ -#include "ultra64.h" - - -//data -//D:80032320 -s16 table_1[] = { - 0x8000,0x7EBA,0x7D74,0x7C2D,0x7AE7,0x79A0,0x7859,0x7711,0x75C9,0x7480, - 0x7337,0x71EC,0x70A1,0x6F55,0x6E07,0x6CB8,0x6B68,0x6A17,0x68C4,0x6770, - 0x661A,0x64C1,0x6367,0x620B,0x60AD,0x5F4C,0x5DE9,0x5C83,0x5B1A,0x59AE, - 0x583E,0x56CB,0x5555,0x53DB,0x525C,0x50D9,0x4F51,0x4DC5,0x4C32,0x4A9A, - 0x48FC,0x4757,0x45AB,0x43F7,0x423A,0x4075,0x3EA5,0x3CCB,0x3AE5,0x38F1, - 0x36EF,0x34DC,0x32B7,0x307D,0x2E2B,0x2BBD,0x292E,0x2678,0x2391,0x206C, - 0x1CF6, 0 -}; - -//D:8003239C -s16 table_2[] = { - 0x1CF6,0x1CBB,0x1C80,0x1C45,0x1C08,0x1BCC,0x1B8F,0x1B51,0x1B13,0x1AD4, - 0x1A95,0x1A55,0x1A14,0x19D3,0x1992,0x194F,0x190C,0x18C9,0x1884,0x183F, - 0x17F9,0x17B3,0x176B,0x1723,0x16DA,0x1690,0x1645,0x15F9,0x15AC,0x155E, - 0x150F,0x14BE,0x146D,0x141A,0x13C6,0x1370,0x1319,0x12C1,0x1267,0x120B, - 0x11AD,0x114E,0x10EC,0x1088,0x1022, 0xFB9, 0xF4D, 0xEDE, 0xE6C, 0xDF7, - 0xD7D, 0xD00, 0xC7D, 0xBF4, 0xB66, 0xAD0, 0xA31, 0x989, 0x8D3, 0x80E, - 0x734, 0x63D, 0x518, 0x39A -}; - -//D:8003241C -s16 table_3[] = { - 0x39A, 0x31E, 0x28C, 0x1CD, 0, 0 -}; - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05AB70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05AB70 -/* 08F6A0 7F05AB70 28817FE0 */ slti $at, $a0, 0x7fe0 -/* 08F6A4 7F05AB74 14200006 */ bnez $at, .L7F05AB90 -/* 08F6A8 7F05AB78 24030007 */ li $v1, 7 -/* 08F6AC 7F05AB7C 3C068003 */ lui $a2, %hi(table_3) -/* 08F6B0 7F05AB80 24050003 */ li $a1, 3 -/* 08F6B4 7F05AB84 24C6241C */ addiu $a2, %lo(table_3) # addiu $a2, $a2, 0x241c -/* 08F6B8 7F05AB88 1000000D */ b .L7F05ABC0 -/* 08F6BC 7F05AB8C 24848020 */ addiu $a0, $a0, -0x7fe0 -.L7F05AB90: -/* 08F6C0 7F05AB90 28817800 */ slti $at, $a0, 0x7800 -/* 08F6C4 7F05AB94 14200007 */ bnez $at, .L7F05ABB4 -/* 08F6C8 7F05AB98 240301FF */ li $v1, 511 -/* 08F6CC 7F05AB9C 3C068003 */ lui $a2, %hi(table_2) -/* 08F6D0 7F05ABA0 2403001F */ li $v1, 31 -/* 08F6D4 7F05ABA4 24050005 */ li $a1, 5 -/* 08F6D8 7F05ABA8 24C6239C */ addiu $a2, %lo(table_2) # addiu $a2, $a2, 0x239c -/* 08F6DC 7F05ABAC 10000004 */ b .L7F05ABC0 -/* 08F6E0 7F05ABB0 24848800 */ addiu $a0, $a0, -0x7800 -.L7F05ABB4: -/* 08F6E4 7F05ABB4 3C068003 */ lui $a2, %hi(table_1) -/* 08F6E8 7F05ABB8 24050009 */ li $a1, 9 -/* 08F6EC 7F05ABBC 24C62320 */ addiu $a2, %lo(table_1) # addiu $a2, $a2, 0x2320 -.L7F05ABC0: -/* 08F6F0 7F05ABC0 00A47007 */ srav $t6, $a0, $a1 -/* 08F6F4 7F05ABC4 000E7840 */ sll $t7, $t6, 1 -/* 08F6F8 7F05ABC8 00CF4021 */ addu $t0, $a2, $t7 -/* 08F6FC 7F05ABCC 95070000 */ lhu $a3, ($t0) -/* 08F700 7F05ABD0 95090002 */ lhu $t1, 2($t0) -/* 08F704 7F05ABD4 0083C824 */ and $t9, $a0, $v1 -/* 08F708 7F05ABD8 00E9C023 */ subu $t8, $a3, $t1 -/* 08F70C 7F05ABDC 03190019 */ multu $t8, $t9 -/* 08F710 7F05ABE0 00005012 */ mflo $t2 -/* 08F714 7F05ABE4 00AA5807 */ srav $t3, $t2, $a1 -/* 08F718 7F05ABE8 03E00008 */ jr $ra -/* 08F71C 7F05ABEC 00EB1023 */ subu $v0, $a3, $t3 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05ABF0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05ABF0 -/* 08F720 7F05ABF0 00042C00 */ sll $a1, $a0, 0x10 -/* 08F724 7F05ABF4 00057403 */ sra $t6, $a1, 0x10 -/* 08F728 7F05ABF8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08F72C 7F05ABFC AFBF0014 */ sw $ra, 0x14($sp) -/* 08F730 7F05AC00 AFA40018 */ sw $a0, 0x18($sp) -/* 08F734 7F05AC04 05C00003 */ bltz $t6, .L7F05AC14 -/* 08F738 7F05AC08 01C02825 */ move $a1, $t6 -/* 08F73C 7F05AC0C 10000002 */ b .L7F05AC18 -/* 08F740 7F05AC10 01C02025 */ move $a0, $t6 -.L7F05AC14: -/* 08F744 7F05AC14 00052023 */ negu $a0, $a1 -.L7F05AC18: -/* 08F748 7F05AC18 0FC16ADC */ jal sub_GAME_7F05AB70 -/* 08F74C 7F05AC1C A7A5001A */ sh $a1, 0x1a($sp) -/* 08F750 7F05AC20 87A5001A */ lh $a1, 0x1a($sp) -/* 08F754 7F05AC24 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F758 7F05AC28 00402025 */ move $a0, $v0 -/* 08F75C 7F05AC2C 04A10003 */ bgez $a1, .L7F05AC3C -/* 08F760 7F05AC30 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08F764 7F05AC34 340FFFFF */ li $t7, 65535 -/* 08F768 7F05AC38 01E22023 */ subu $a0, $t7, $v0 -.L7F05AC3C: -/* 08F76C 7F05AC3C 03E00008 */ jr $ra -/* 08F770 7F05AC40 3082FFFF */ andi $v0, $a0, 0xffff -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05AC44(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05AC44 -/* 08F774 7F05AC44 00042C00 */ sll $a1, $a0, 0x10 -/* 08F778 7F05AC48 00057403 */ sra $t6, $a1, 0x10 -/* 08F77C 7F05AC4C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08F780 7F05AC50 AFBF0014 */ sw $ra, 0x14($sp) -/* 08F784 7F05AC54 AFA40018 */ sw $a0, 0x18($sp) -/* 08F788 7F05AC58 05C00003 */ bltz $t6, .L7F05AC68 -/* 08F78C 7F05AC5C 01C02825 */ move $a1, $t6 -/* 08F790 7F05AC60 10000002 */ b .L7F05AC6C -/* 08F794 7F05AC64 01C02025 */ move $a0, $t6 -.L7F05AC68: -/* 08F798 7F05AC68 00052023 */ negu $a0, $a1 -.L7F05AC6C: -/* 08F79C 7F05AC6C 0FC16ADC */ jal sub_GAME_7F05AB70 -/* 08F7A0 7F05AC70 A7A5001A */ sh $a1, 0x1a($sp) -/* 08F7A4 7F05AC74 87A5001A */ lh $a1, 0x1a($sp) -/* 08F7A8 7F05AC78 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F7AC 7F05AC7C 24018000 */ li $at, -32768 -/* 08F7B0 7F05AC80 04A00004 */ bltz $a1, .L7F05AC94 -/* 08F7B4 7F05AC84 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08F7B8 7F05AC88 240F7FFF */ li $t7, 32767 -/* 08F7BC 7F05AC8C 10000002 */ b .L7F05AC98 -/* 08F7C0 7F05AC90 01E22023 */ subu $a0, $t7, $v0 -.L7F05AC94: -/* 08F7C4 7F05AC94 00412021 */ addu $a0, $v0, $at -.L7F05AC98: -/* 08F7C8 7F05AC98 00041400 */ sll $v0, $a0, 0x10 -/* 08F7CC 7F05AC9C 0002C403 */ sra $t8, $v0, 0x10 -/* 08F7D0 7F05ACA0 03E00008 */ jr $ra -/* 08F7D4 7F05ACA4 03001025 */ move $v0, $t8 -) -#endif - - - diff --git a/src/game/unk_05ACB0.c b/src/game/unk_05ACB0.c deleted file mode 100644 index ad1d651..0000000 --- a/src/game/unk_05ACB0.c +++ /dev/null @@ -1,140 +0,0 @@ -#include "ultra64.h" - - -// rodata - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05ACB0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053720 -.word 0x46fffe00 /*32767.0*/ -glabel D_80053724 -.word 0x40490fdb /*3.1415927*/ -glabel D_80053728 -.word 0x477fff00 /*65535.0*/ -.text -glabel sub_GAME_7F05ACB0 -/* 08F7E0 7F05ACB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08F7E4 7F05ACB4 44812000 */ mtc1 $at, $f4 -/* 08F7E8 7F05ACB8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08F7EC 7F05ACBC AFBF0014 */ sw $ra, 0x14($sp) -/* 08F7F0 7F05ACC0 460C203E */ c.le.s $f4, $f12 -/* 08F7F4 7F05ACC4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 08F7F8 7F05ACC8 45020004 */ bc1fl .L7F05ACDC -/* 08F7FC 7F05ACCC 44813000 */ mtc1 $at, $f6 -/* 08F800 7F05ACD0 10000010 */ b .L7F05AD14 -/* 08F804 7F05ACD4 24047FFF */ li $a0, 32767 -/* 08F808 7F05ACD8 44813000 */ mtc1 $at, $f6 -.L7F05ACDC: -/* 08F80C 7F05ACDC 3C018005 */ lui $at, %hi(D_80053720) -/* 08F810 7F05ACE0 4606603E */ c.le.s $f12, $f6 -/* 08F814 7F05ACE4 00000000 */ nop -/* 08F818 7F05ACE8 45000003 */ bc1f .L7F05ACF8 -/* 08F81C 7F05ACEC 00000000 */ nop -/* 08F820 7F05ACF0 10000008 */ b .L7F05AD14 -/* 08F824 7F05ACF4 24048001 */ li $a0, -32767 -.L7F05ACF8: -/* 08F828 7F05ACF8 C4283720 */ lwc1 $f8, %lo(D_80053720)($at) -/* 08F82C 7F05ACFC 46086282 */ mul.s $f10, $f12, $f8 -/* 08F830 7F05AD00 4600540D */ trunc.w.s $f16, $f10 -/* 08F834 7F05AD04 44048000 */ mfc1 $a0, $f16 -/* 08F838 7F05AD08 00000000 */ nop -/* 08F83C 7F05AD0C 00047C00 */ sll $t7, $a0, 0x10 -/* 08F840 7F05AD10 000F2403 */ sra $a0, $t7, 0x10 -.L7F05AD14: -/* 08F844 7F05AD14 0FC16AFC */ jal sub_GAME_7F05ABF0 -/* 08F848 7F05AD18 00000000 */ nop -/* 08F84C 7F05AD1C 44829000 */ mtc1 $v0, $f18 -/* 08F850 7F05AD20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08F854 7F05AD24 04410004 */ bgez $v0, .L7F05AD38 -/* 08F858 7F05AD28 46809120 */ cvt.s.w $f4, $f18 -/* 08F85C 7F05AD2C 44813000 */ mtc1 $at, $f6 -/* 08F860 7F05AD30 00000000 */ nop -/* 08F864 7F05AD34 46062100 */ add.s $f4, $f4, $f6 -.L7F05AD38: -/* 08F868 7F05AD38 3C018005 */ lui $at, %hi(D_80053724) -/* 08F86C 7F05AD3C C4283724 */ lwc1 $f8, %lo(D_80053724)($at) -/* 08F870 7F05AD40 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F874 7F05AD44 3C018005 */ lui $at, %hi(D_80053728) -/* 08F878 7F05AD48 46082282 */ mul.s $f10, $f4, $f8 -/* 08F87C 7F05AD4C C4303728 */ lwc1 $f16, %lo(D_80053728)($at) -/* 08F880 7F05AD50 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08F884 7F05AD54 03E00008 */ jr $ra -/* 08F888 7F05AD58 46105003 */ div.s $f0, $f10, $f16 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05AD5C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005372C -.word 0x46fffe00 /*32767.0*/ -glabel D_80053730 -.word 0x40490fdb /*3.1415927*/ -glabel D_80053734 -.word 0x477fff00 /*65535.0*/ -.text -glabel sub_GAME_7F05AD5C -/* 08F88C 7F05AD5C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08F890 7F05AD60 44812000 */ mtc1 $at, $f4 -/* 08F894 7F05AD64 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08F898 7F05AD68 AFBF0014 */ sw $ra, 0x14($sp) -/* 08F89C 7F05AD6C 460C203E */ c.le.s $f4, $f12 -/* 08F8A0 7F05AD70 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 08F8A4 7F05AD74 45020004 */ bc1fl .L7F05AD88 -/* 08F8A8 7F05AD78 44813000 */ mtc1 $at, $f6 -/* 08F8AC 7F05AD7C 10000010 */ b .L7F05ADC0 -/* 08F8B0 7F05AD80 24047FFF */ li $a0, 32767 -/* 08F8B4 7F05AD84 44813000 */ mtc1 $at, $f6 -.L7F05AD88: -/* 08F8B8 7F05AD88 3C018005 */ lui $at, %hi(D_8005372C) -/* 08F8BC 7F05AD8C 4606603E */ c.le.s $f12, $f6 -/* 08F8C0 7F05AD90 00000000 */ nop -/* 08F8C4 7F05AD94 45000003 */ bc1f .L7F05ADA4 -/* 08F8C8 7F05AD98 00000000 */ nop -/* 08F8CC 7F05AD9C 10000008 */ b .L7F05ADC0 -/* 08F8D0 7F05ADA0 24048001 */ li $a0, -32767 -.L7F05ADA4: -/* 08F8D4 7F05ADA4 C428372C */ lwc1 $f8, %lo(D_8005372C)($at) -/* 08F8D8 7F05ADA8 46086282 */ mul.s $f10, $f12, $f8 -/* 08F8DC 7F05ADAC 4600540D */ trunc.w.s $f16, $f10 -/* 08F8E0 7F05ADB0 44048000 */ mfc1 $a0, $f16 -/* 08F8E4 7F05ADB4 00000000 */ nop -/* 08F8E8 7F05ADB8 00047C00 */ sll $t7, $a0, 0x10 -/* 08F8EC 7F05ADBC 000F2403 */ sra $a0, $t7, 0x10 -.L7F05ADC0: -/* 08F8F0 7F05ADC0 0FC16B11 */ jal sub_GAME_7F05AC44 -/* 08F8F4 7F05ADC4 00000000 */ nop -/* 08F8F8 7F05ADC8 44829000 */ mtc1 $v0, $f18 -/* 08F8FC 7F05ADCC 3C018005 */ lui $at, %hi(D_80053730) -/* 08F900 7F05ADD0 C4263730 */ lwc1 $f6, %lo(D_80053730)($at) -/* 08F904 7F05ADD4 46809120 */ cvt.s.w $f4, $f18 -/* 08F908 7F05ADD8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F90C 7F05ADDC 3C018005 */ lui $at, %hi(D_80053734) -/* 08F910 7F05ADE0 C42A3734 */ lwc1 $f10, %lo(D_80053734)($at) -/* 08F914 7F05ADE4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08F918 7F05ADE8 46062202 */ mul.s $f8, $f4, $f6 -/* 08F91C 7F05ADEC 03E00008 */ jr $ra -/* 08F920 7F05ADF0 460A4003 */ div.s $f0, $f8, $f10 -) -#endif - - - - diff --git a/src/game/unk_05AE00.c b/src/game/unk_05AE00.c deleted file mode 100644 index 856d870..0000000 --- a/src/game/unk_05AE00.c +++ /dev/null @@ -1,321 +0,0 @@ -#include "ultra64.h" - -#ifdef NONMATCHING -void sub_GAME_7F05AE00(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05AE00 -/* 08F930 7F05AE00 C4800000 */ lwc1 $f0, ($a0) -/* 08F934 7F05AE04 C4A40000 */ lwc1 $f4, ($a1) -/* 08F938 7F05AE08 44866000 */ mtc1 $a2, $f12 -/* 08F93C 7F05AE0C 46002181 */ sub.s $f6, $f4, $f0 -/* 08F940 7F05AE10 460C3202 */ mul.s $f8, $f6, $f12 -/* 08F944 7F05AE14 46004280 */ add.s $f10, $f8, $f0 -/* 08F948 7F05AE18 E4EA0000 */ swc1 $f10, ($a3) -/* 08F94C 7F05AE1C C4B00004 */ lwc1 $f16, 4($a1) -/* 08F950 7F05AE20 C4820004 */ lwc1 $f2, 4($a0) -/* 08F954 7F05AE24 46028481 */ sub.s $f18, $f16, $f2 -/* 08F958 7F05AE28 460C9102 */ mul.s $f4, $f18, $f12 -/* 08F95C 7F05AE2C 46022180 */ add.s $f6, $f4, $f2 -/* 08F960 7F05AE30 E4E60004 */ swc1 $f6, 4($a3) -/* 08F964 7F05AE34 C4A80008 */ lwc1 $f8, 8($a1) -/* 08F968 7F05AE38 C48E0008 */ lwc1 $f14, 8($a0) -/* 08F96C 7F05AE3C 460E4281 */ sub.s $f10, $f8, $f14 -/* 08F970 7F05AE40 460C5402 */ mul.s $f16, $f10, $f12 -/* 08F974 7F05AE44 460E8480 */ add.s $f18, $f16, $f14 -/* 08F978 7F05AE48 03E00008 */ jr $ra -/* 08F97C 7F05AE4C E4F20008 */ swc1 $f18, 8($a3) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05AE50(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05AE50 -/* 08F980 7F05AE50 C7A40010 */ lwc1 $f4, 0x10($sp) -/* 08F984 7F05AE54 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08F988 7F05AE58 44819000 */ mtc1 $at, $f18 -/* 08F98C 7F05AE5C 46042082 */ mul.s $f2, $f4, $f4 -/* 08F990 7F05AE60 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 08F994 7F05AE64 44813000 */ mtc1 $at, $f6 -/* 08F998 7F05AE68 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 08F99C 7F05AE6C 44815000 */ mtc1 $at, $f10 -/* 08F9A0 7F05AE70 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08F9A4 7F05AE74 AFA60008 */ sw $a2, 8($sp) -/* 08F9A8 7F05AE78 46041402 */ mul.s $f16, $f2, $f4 -/* 08F9AC 7F05AE7C AFA7000C */ sw $a3, 0xc($sp) -/* 08F9B0 7F05AE80 46103202 */ mul.s $f8, $f6, $f16 -/* 08F9B4 7F05AE84 00000000 */ nop -/* 08F9B8 7F05AE88 46025182 */ mul.s $f6, $f10, $f2 -/* 08F9BC 7F05AE8C 46064281 */ sub.s $f10, $f8, $f6 -/* 08F9C0 7F05AE90 44814000 */ mtc1 $at, $f8 -/* 08F9C4 7F05AE94 3C01BFC0 */ li $at, 0xBFC00000 # -1.500000 -/* 08F9C8 7F05AE98 46085180 */ add.s $f6, $f10, $f8 -/* 08F9CC 7F05AE9C 46102200 */ add.s $f8, $f4, $f16 -/* 08F9D0 7F05AEA0 46067282 */ mul.s $f10, $f14, $f6 -/* 08F9D4 7F05AEA4 00000000 */ nop -/* 08F9D8 7F05AEA8 46124182 */ mul.s $f6, $f8, $f18 -/* 08F9DC 7F05AEAC 46061201 */ sub.s $f8, $f2, $f6 -/* 08F9E0 7F05AEB0 46086182 */ mul.s $f6, $f12, $f8 -/* 08F9E4 7F05AEB4 460A3200 */ add.s $f8, $f6, $f10 -/* 08F9E8 7F05AEB8 44813000 */ mtc1 $at, $f6 -/* 08F9EC 7F05AEBC 00000000 */ nop -/* 08F9F0 7F05AEC0 46103282 */ mul.s $f10, $f6, $f16 -/* 08F9F4 7F05AEC4 46021180 */ add.s $f6, $f2, $f2 -/* 08F9F8 7F05AEC8 46065280 */ add.s $f10, $f10, $f6 -/* 08F9FC 7F05AECC 46049182 */ mul.s $f6, $f18, $f4 -/* 08FA00 7F05AED0 46065100 */ add.s $f4, $f10, $f6 -/* 08FA04 7F05AED4 C7AA0008 */ lwc1 $f10, 8($sp) -/* 08FA08 7F05AED8 46045182 */ mul.s $f6, $f10, $f4 -/* 08FA0C 7F05AEDC C7A4000C */ lwc1 $f4, 0xc($sp) -/* 08FA10 7F05AEE0 46064280 */ add.s $f10, $f8, $f6 -/* 08FA14 7F05AEE4 46028201 */ sub.s $f8, $f16, $f2 -/* 08FA18 7F05AEE8 46124182 */ mul.s $f6, $f8, $f18 -/* 08FA1C 7F05AEEC 00000000 */ nop -/* 08FA20 7F05AEF0 46062202 */ mul.s $f8, $f4, $f6 -/* 08FA24 7F05AEF4 03E00008 */ jr $ra -/* 08FA28 7F05AEF8 46085000 */ add.s $f0, $f10, $f8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05AEFC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05AEFC -/* 08FA2C 7F05AEFC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08FA30 7F05AF00 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 08FA34 7F05AF04 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08FA38 7F05AF08 44813000 */ mtc1 $at, $f6 -/* 08FA3C 7F05AF0C 460C6002 */ mul.s $f0, $f12, $f12 -/* 08FA40 7F05AF10 8FAE003C */ lw $t6, 0x3c($sp) -/* 08FA44 7F05AF14 460C0082 */ mul.s $f2, $f0, $f12 -/* 08FA48 7F05AF18 46001101 */ sub.s $f4, $f2, $f0 -/* 08FA4C 7F05AF1C 46026280 */ add.s $f10, $f12, $f2 -/* 08FA50 7F05AF20 46062202 */ mul.s $f8, $f4, $f6 -/* 08FA54 7F05AF24 44812000 */ mtc1 $at, $f4 -/* 08FA58 7F05AF28 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 08FA5C 7F05AF2C 46045182 */ mul.s $f6, $f10, $f4 -/* 08FA60 7F05AF30 44815000 */ mtc1 $at, $f10 -/* 08FA64 7F05AF34 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 08FA68 7F05AF38 E7A80000 */ swc1 $f8, ($sp) -/* 08FA6C 7F05AF3C 46025102 */ mul.s $f4, $f10, $f2 -/* 08FA70 7F05AF40 46060381 */ sub.s $f14, $f0, $f6 -/* 08FA74 7F05AF44 44813000 */ mtc1 $at, $f6 -/* 08FA78 7F05AF48 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08FA7C 7F05AF4C 46003282 */ mul.s $f10, $f6, $f0 -/* 08FA80 7F05AF50 460A2181 */ sub.s $f6, $f4, $f10 -/* 08FA84 7F05AF54 44812000 */ mtc1 $at, $f4 -/* 08FA88 7F05AF58 3C01BFC0 */ li $at, 0xBFC00000 # -1.500000 -/* 08FA8C 7F05AF5C 44815000 */ mtc1 $at, $f10 -/* 08FA90 7F05AF60 46043400 */ add.s $f16, $f6, $f4 -/* 08FA94 7F05AF64 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08FA98 7F05AF68 46025182 */ mul.s $f6, $f10, $f2 -/* 08FA9C 7F05AF6C 46000100 */ add.s $f4, $f0, $f0 -/* 08FAA0 7F05AF70 46043280 */ add.s $f10, $f6, $f4 -/* 08FAA4 7F05AF74 44813000 */ mtc1 $at, $f6 -/* 08FAA8 7F05AF78 00000000 */ nop -/* 08FAAC 7F05AF7C 460C3102 */ mul.s $f4, $f6, $f12 -/* 08FAB0 7F05AF80 C4E60000 */ lwc1 $f6, ($a3) -/* 08FAB4 7F05AF84 46045480 */ add.s $f18, $f10, $f4 -/* 08FAB8 7F05AF88 46083282 */ mul.s $f10, $f6, $f8 -/* 08FABC 7F05AF8C C4840000 */ lwc1 $f4, ($a0) -/* 08FAC0 7F05AF90 46047182 */ mul.s $f6, $f14, $f4 -/* 08FAC4 7F05AF94 C4A40000 */ lwc1 $f4, ($a1) -/* 08FAC8 7F05AF98 46048102 */ mul.s $f4, $f16, $f4 -/* 08FACC 7F05AF9C 46043180 */ add.s $f6, $f6, $f4 -/* 08FAD0 7F05AFA0 C4C40000 */ lwc1 $f4, ($a2) -/* 08FAD4 7F05AFA4 46049102 */ mul.s $f4, $f18, $f4 -/* 08FAD8 7F05AFA8 46043180 */ add.s $f6, $f6, $f4 -/* 08FADC 7F05AFAC 46065100 */ add.s $f4, $f10, $f6 -/* 08FAE0 7F05AFB0 E5C40000 */ swc1 $f4, ($t6) -/* 08FAE4 7F05AFB4 C4EA0004 */ lwc1 $f10, 4($a3) -/* 08FAE8 7F05AFB8 C4840004 */ lwc1 $f4, 4($a0) -/* 08FAEC 7F05AFBC 46085182 */ mul.s $f6, $f10, $f8 -/* 08FAF0 7F05AFC0 00000000 */ nop -/* 08FAF4 7F05AFC4 46047282 */ mul.s $f10, $f14, $f4 -/* 08FAF8 7F05AFC8 C4A40004 */ lwc1 $f4, 4($a1) -/* 08FAFC 7F05AFCC 46048102 */ mul.s $f4, $f16, $f4 -/* 08FB00 7F05AFD0 46045280 */ add.s $f10, $f10, $f4 -/* 08FB04 7F05AFD4 C4C40004 */ lwc1 $f4, 4($a2) -/* 08FB08 7F05AFD8 46049102 */ mul.s $f4, $f18, $f4 -/* 08FB0C 7F05AFDC 46045280 */ add.s $f10, $f10, $f4 -/* 08FB10 7F05AFE0 460A3100 */ add.s $f4, $f6, $f10 -/* 08FB14 7F05AFE4 E5C40004 */ swc1 $f4, 4($t6) -/* 08FB18 7F05AFE8 C4E60008 */ lwc1 $f6, 8($a3) -/* 08FB1C 7F05AFEC C4840008 */ lwc1 $f4, 8($a0) -/* 08FB20 7F05AFF0 46083282 */ mul.s $f10, $f6, $f8 -/* 08FB24 7F05AFF4 C4A80008 */ lwc1 $f8, 8($a1) -/* 08FB28 7F05AFF8 46047182 */ mul.s $f6, $f14, $f4 -/* 08FB2C 7F05AFFC 00000000 */ nop -/* 08FB30 7F05B000 46088102 */ mul.s $f4, $f16, $f8 -/* 08FB34 7F05B004 46043200 */ add.s $f8, $f6, $f4 -/* 08FB38 7F05B008 C4C60008 */ lwc1 $f6, 8($a2) -/* 08FB3C 7F05B00C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08FB40 7F05B010 46069102 */ mul.s $f4, $f18, $f6 -/* 08FB44 7F05B014 46044180 */ add.s $f6, $f8, $f4 -/* 08FB48 7F05B018 46065200 */ add.s $f8, $f10, $f6 -/* 08FB4C 7F05B01C 03E00008 */ jr $ra -/* 08FB50 7F05B020 E5C80008 */ swc1 $f8, 8($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B024(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B024 -/* 08FB54 7F05B024 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08FB58 7F05B028 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 08FB5C 7F05B02C C7AE003C */ lwc1 $f14, 0x3c($sp) -/* 08FB60 7F05B030 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 08FB64 7F05B034 460C6002 */ mul.s $f0, $f12, $f12 -/* 08FB68 7F05B038 8FAE0040 */ lw $t6, 0x40($sp) -/* 08FB6C 7F05B03C 460C0082 */ mul.s $f2, $f0, $f12 -/* 08FB70 7F05B040 46000200 */ add.s $f8, $f0, $f0 -/* 08FB74 7F05B044 46001101 */ sub.s $f4, $f2, $f0 -/* 08FB78 7F05B048 46026280 */ add.s $f10, $f12, $f2 -/* 08FB7C 7F05B04C 460E2182 */ mul.s $f6, $f4, $f14 -/* 08FB80 7F05B050 460A4101 */ sub.s $f4, $f8, $f10 -/* 08FB84 7F05B054 44814000 */ mtc1 $at, $f8 -/* 08FB88 7F05B058 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 08FB8C 7F05B05C E7A60000 */ swc1 $f6, ($sp) -/* 08FB90 7F05B060 460E4281 */ sub.s $f10, $f8, $f14 -/* 08FB94 7F05B064 460E2402 */ mul.s $f16, $f4, $f14 -/* 08FB98 7F05B068 44814000 */ mtc1 $at, $f8 -/* 08FB9C 7F05B06C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08FBA0 7F05B070 46025102 */ mul.s $f4, $f10, $f2 -/* 08FBA4 7F05B074 46087281 */ sub.s $f10, $f14, $f8 -/* 08FBA8 7F05B078 460A0202 */ mul.s $f8, $f0, $f10 -/* 08FBAC 7F05B07C 46082280 */ add.s $f10, $f4, $f8 -/* 08FBB0 7F05B080 44812000 */ mtc1 $at, $f4 -/* 08FBB4 7F05B084 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 08FBB8 7F05B088 44814000 */ mtc1 $at, $f8 -/* 08FBBC 7F05B08C 46045480 */ add.s $f18, $f10, $f4 -/* 08FBC0 7F05B090 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 08FBC4 7F05B094 460E7280 */ add.s $f10, $f14, $f14 -/* 08FBC8 7F05B098 460A4101 */ sub.s $f4, $f8, $f10 -/* 08FBCC 7F05B09C 44815000 */ mtc1 $at, $f10 -/* 08FBD0 7F05B0A0 46040202 */ mul.s $f8, $f0, $f4 -/* 08FBD4 7F05B0A4 460A7101 */ sub.s $f4, $f14, $f10 -/* 08FBD8 7F05B0A8 46022282 */ mul.s $f10, $f4, $f2 -/* 08FBDC 7F05B0AC 46085100 */ add.s $f4, $f10, $f8 -/* 08FBE0 7F05B0B0 460E6282 */ mul.s $f10, $f12, $f14 -/* 08FBE4 7F05B0B4 460A2200 */ add.s $f8, $f4, $f10 -/* 08FBE8 7F05B0B8 E7A80008 */ swc1 $f8, 8($sp) -/* 08FBEC 7F05B0BC C4840000 */ lwc1 $f4, ($a0) -/* 08FBF0 7F05B0C0 46048282 */ mul.s $f10, $f16, $f4 -/* 08FBF4 7F05B0C4 C4A40000 */ lwc1 $f4, ($a1) -/* 08FBF8 7F05B0C8 46049102 */ mul.s $f4, $f18, $f4 -/* 08FBFC 7F05B0CC 46045280 */ add.s $f10, $f10, $f4 -/* 08FC00 7F05B0D0 C4C40000 */ lwc1 $f4, ($a2) -/* 08FC04 7F05B0D4 46044102 */ mul.s $f4, $f8, $f4 -/* 08FC08 7F05B0D8 46045280 */ add.s $f10, $f10, $f4 -/* 08FC0C 7F05B0DC C4E40000 */ lwc1 $f4, ($a3) -/* 08FC10 7F05B0E0 46062102 */ mul.s $f4, $f4, $f6 -/* 08FC14 7F05B0E4 460A2100 */ add.s $f4, $f4, $f10 -/* 08FC18 7F05B0E8 E5C40000 */ swc1 $f4, ($t6) -/* 08FC1C 7F05B0EC C48A0004 */ lwc1 $f10, 4($a0) -/* 08FC20 7F05B0F0 460A8102 */ mul.s $f4, $f16, $f10 -/* 08FC24 7F05B0F4 C4AA0004 */ lwc1 $f10, 4($a1) -/* 08FC28 7F05B0F8 460A9282 */ mul.s $f10, $f18, $f10 -/* 08FC2C 7F05B0FC 460A2100 */ add.s $f4, $f4, $f10 -/* 08FC30 7F05B100 C4CA0004 */ lwc1 $f10, 4($a2) -/* 08FC34 7F05B104 460A4282 */ mul.s $f10, $f8, $f10 -/* 08FC38 7F05B108 460A2100 */ add.s $f4, $f4, $f10 -/* 08FC3C 7F05B10C C4EA0004 */ lwc1 $f10, 4($a3) -/* 08FC40 7F05B110 46065282 */ mul.s $f10, $f10, $f6 -/* 08FC44 7F05B114 46045280 */ add.s $f10, $f10, $f4 -/* 08FC48 7F05B118 E5CA0004 */ swc1 $f10, 4($t6) -/* 08FC4C 7F05B11C C4840008 */ lwc1 $f4, 8($a0) -/* 08FC50 7F05B120 46048282 */ mul.s $f10, $f16, $f4 -/* 08FC54 7F05B124 C4A40008 */ lwc1 $f4, 8($a1) -/* 08FC58 7F05B128 46049102 */ mul.s $f4, $f18, $f4 -/* 08FC5C 7F05B12C 46045280 */ add.s $f10, $f10, $f4 -/* 08FC60 7F05B130 C4C40008 */ lwc1 $f4, 8($a2) -/* 08FC64 7F05B134 46044202 */ mul.s $f8, $f8, $f4 -/* 08FC68 7F05B138 46085100 */ add.s $f4, $f10, $f8 -/* 08FC6C 7F05B13C C4EA0008 */ lwc1 $f10, 8($a3) -/* 08FC70 7F05B140 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08FC74 7F05B144 46065202 */ mul.s $f8, $f10, $f6 -/* 08FC78 7F05B148 46044280 */ add.s $f10, $f8, $f4 -/* 08FC7C 7F05B14C 03E00008 */ jr $ra -/* 08FC80 7F05B150 E5CA0008 */ swc1 $f10, 8($t6) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B154(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B154 -/* 08FC84 7F05B154 C7A40010 */ lwc1 $f4, 0x10($sp) -/* 08FC88 7F05B158 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 08FC8C 7F05B15C 44814000 */ mtc1 $at, $f8 -/* 08FC90 7F05B160 46042082 */ mul.s $f2, $f4, $f4 -/* 08FC94 7F05B164 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08FC98 7F05B168 AFA60008 */ sw $a2, 8($sp) -/* 08FC9C 7F05B16C AFA7000C */ sw $a3, 0xc($sp) -/* 08FCA0 7F05B170 46041402 */ mul.s $f16, $f2, $f4 -/* 08FCA4 7F05B174 46108180 */ add.s $f6, $f16, $f16 -/* 08FCA8 7F05B178 46024282 */ mul.s $f10, $f8, $f2 -/* 08FCAC 7F05B17C 460A3201 */ sub.s $f8, $f6, $f10 -/* 08FCB0 7F05B180 44813000 */ mtc1 $at, $f6 -/* 08FCB4 7F05B184 00000000 */ nop -/* 08FCB8 7F05B188 46064480 */ add.s $f18, $f8, $f6 -/* 08FCBC 7F05B18C 44814000 */ mtc1 $at, $f8 -/* 08FCC0 7F05B190 00000000 */ nop -/* 08FCC4 7F05B194 46124181 */ sub.s $f6, $f8, $f18 -/* 08FCC8 7F05B198 46126282 */ mul.s $f10, $f12, $f18 -/* 08FCCC 7F05B19C 00000000 */ nop -/* 08FCD0 7F05B1A0 46067202 */ mul.s $f8, $f14, $f6 -/* 08FCD4 7F05B1A4 46085180 */ add.s $f6, $f10, $f8 -/* 08FCD8 7F05B1A8 46021280 */ add.s $f10, $f2, $f2 -/* 08FCDC 7F05B1AC 460A8201 */ sub.s $f8, $f16, $f10 -/* 08FCE0 7F05B1B0 46044280 */ add.s $f10, $f8, $f4 -/* 08FCE4 7F05B1B4 C7A80008 */ lwc1 $f8, 8($sp) -/* 08FCE8 7F05B1B8 460A4102 */ mul.s $f4, $f8, $f10 -/* 08FCEC 7F05B1BC C7AA000C */ lwc1 $f10, 0xc($sp) -/* 08FCF0 7F05B1C0 46043200 */ add.s $f8, $f6, $f4 -/* 08FCF4 7F05B1C4 46028181 */ sub.s $f6, $f16, $f2 -/* 08FCF8 7F05B1C8 46065102 */ mul.s $f4, $f10, $f6 -/* 08FCFC 7F05B1CC 03E00008 */ jr $ra -/* 08FD00 7F05B1D0 46044000 */ add.s $f0, $f8, $f4 -) -#endif - - - - diff --git a/src/game/unk_05B1E0.c b/src/game/unk_05B1E0.c deleted file mode 100644 index f009e94..0000000 --- a/src/game/unk_05B1E0.c +++ /dev/null @@ -1,1435 +0,0 @@ -#include "ultra64.h" - - -// data -//D:80032430 -s32 D_80032430 = 1; -//D:80032434 -s32 D_80032434 = 2; - - -// rodata - - - -#ifdef NONMATCHING -void sub_GAME_7F05B1E0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053740 -.word 0x38c90fdb /*0.000095873802*/ -glabel D_80053744 -.word 0xbf7fff58 /*-0.99998999*/ -.text -glabel sub_GAME_7F05B1E0 -/* 08FD10 7F05B1E0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 08FD14 7F05B1E4 AFBF002C */ sw $ra, 0x2c($sp) -/* 08FD18 7F05B1E8 AFB00028 */ sw $s0, 0x28($sp) -/* 08FD1C 7F05B1EC F7B60020 */ sdc1 $f22, 0x20($sp) -/* 08FD20 7F05B1F0 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 08FD24 7F05B1F4 AFA5004C */ sw $a1, 0x4c($sp) -/* 08FD28 7F05B1F8 948E0000 */ lhu $t6, ($a0) -/* 08FD2C 7F05B1FC 3C018005 */ lui $at, %hi(D_80053740) -/* 08FD30 7F05B200 C4343740 */ lwc1 $f20, %lo(D_80053740)($at) -/* 08FD34 7F05B204 448E2000 */ mtc1 $t6, $f4 -/* 08FD38 7F05B208 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08FD3C 7F05B20C 4481B000 */ mtc1 $at, $f22 -/* 08FD40 7F05B210 00808025 */ move $s0, $a0 -/* 08FD44 7F05B214 05C10005 */ bgez $t6, .L7F05B22C -/* 08FD48 7F05B218 468021A0 */ cvt.s.w $f6, $f4 -/* 08FD4C 7F05B21C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08FD50 7F05B220 44814000 */ mtc1 $at, $f8 -/* 08FD54 7F05B224 00000000 */ nop -/* 08FD58 7F05B228 46083180 */ add.s $f6, $f6, $f8 -.L7F05B22C: -/* 08FD5C 7F05B22C 46143282 */ mul.s $f10, $f6, $f20 -/* 08FD60 7F05B230 00000000 */ nop -/* 08FD64 7F05B234 46165302 */ mul.s $f12, $f10, $f22 -/* 08FD68 7F05B238 0FC15FA8 */ jal cosf -/* 08FD6C 7F05B23C 00000000 */ nop -/* 08FD70 7F05B240 E7A00044 */ swc1 $f0, 0x44($sp) -/* 08FD74 7F05B244 960F0000 */ lhu $t7, ($s0) -/* 08FD78 7F05B248 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08FD7C 7F05B24C 448F2000 */ mtc1 $t7, $f4 -/* 08FD80 7F05B250 05E10004 */ bgez $t7, .L7F05B264 -/* 08FD84 7F05B254 46802220 */ cvt.s.w $f8, $f4 -/* 08FD88 7F05B258 44813000 */ mtc1 $at, $f6 -/* 08FD8C 7F05B25C 00000000 */ nop -/* 08FD90 7F05B260 46064200 */ add.s $f8, $f8, $f6 -.L7F05B264: -/* 08FD94 7F05B264 46144282 */ mul.s $f10, $f8, $f20 -/* 08FD98 7F05B268 00000000 */ nop -/* 08FD9C 7F05B26C 46165302 */ mul.s $f12, $f10, $f22 -/* 08FDA0 7F05B270 0FC15FAB */ jal sinf -/* 08FDA4 7F05B274 00000000 */ nop -/* 08FDA8 7F05B278 E7A00040 */ swc1 $f0, 0x40($sp) -/* 08FDAC 7F05B27C 96180002 */ lhu $t8, 2($s0) -/* 08FDB0 7F05B280 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08FDB4 7F05B284 44982000 */ mtc1 $t8, $f4 -/* 08FDB8 7F05B288 07010004 */ bgez $t8, .L7F05B29C -/* 08FDBC 7F05B28C 468021A0 */ cvt.s.w $f6, $f4 -/* 08FDC0 7F05B290 44814000 */ mtc1 $at, $f8 -/* 08FDC4 7F05B294 00000000 */ nop -/* 08FDC8 7F05B298 46083180 */ add.s $f6, $f6, $f8 -.L7F05B29C: -/* 08FDCC 7F05B29C 46143282 */ mul.s $f10, $f6, $f20 -/* 08FDD0 7F05B2A0 00000000 */ nop -/* 08FDD4 7F05B2A4 46165302 */ mul.s $f12, $f10, $f22 -/* 08FDD8 7F05B2A8 0FC15FA8 */ jal cosf -/* 08FDDC 7F05B2AC 00000000 */ nop -/* 08FDE0 7F05B2B0 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 08FDE4 7F05B2B4 96190002 */ lhu $t9, 2($s0) -/* 08FDE8 7F05B2B8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08FDEC 7F05B2BC 44992000 */ mtc1 $t9, $f4 -/* 08FDF0 7F05B2C0 07210004 */ bgez $t9, .L7F05B2D4 -/* 08FDF4 7F05B2C4 46802220 */ cvt.s.w $f8, $f4 -/* 08FDF8 7F05B2C8 44813000 */ mtc1 $at, $f6 -/* 08FDFC 7F05B2CC 00000000 */ nop -/* 08FE00 7F05B2D0 46064200 */ add.s $f8, $f8, $f6 -.L7F05B2D4: -/* 08FE04 7F05B2D4 46144282 */ mul.s $f10, $f8, $f20 -/* 08FE08 7F05B2D8 00000000 */ nop -/* 08FE0C 7F05B2DC 46165302 */ mul.s $f12, $f10, $f22 -/* 08FE10 7F05B2E0 0FC15FAB */ jal sinf -/* 08FE14 7F05B2E4 00000000 */ nop -/* 08FE18 7F05B2E8 E7A00038 */ swc1 $f0, 0x38($sp) -/* 08FE1C 7F05B2EC 96080004 */ lhu $t0, 4($s0) -/* 08FE20 7F05B2F0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08FE24 7F05B2F4 44882000 */ mtc1 $t0, $f4 -/* 08FE28 7F05B2F8 05010004 */ bgez $t0, .L7F05B30C -/* 08FE2C 7F05B2FC 468021A0 */ cvt.s.w $f6, $f4 -/* 08FE30 7F05B300 44814000 */ mtc1 $at, $f8 -/* 08FE34 7F05B304 00000000 */ nop -/* 08FE38 7F05B308 46083180 */ add.s $f6, $f6, $f8 -.L7F05B30C: -/* 08FE3C 7F05B30C 46143282 */ mul.s $f10, $f6, $f20 -/* 08FE40 7F05B310 00000000 */ nop -/* 08FE44 7F05B314 46165302 */ mul.s $f12, $f10, $f22 -/* 08FE48 7F05B318 0FC15FA8 */ jal cosf -/* 08FE4C 7F05B31C 00000000 */ nop -/* 08FE50 7F05B320 96090004 */ lhu $t1, 4($s0) -/* 08FE54 7F05B324 46000486 */ mov.s $f18, $f0 -/* 08FE58 7F05B328 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08FE5C 7F05B32C 44892000 */ mtc1 $t1, $f4 -/* 08FE60 7F05B330 05210004 */ bgez $t1, .L7F05B344 -/* 08FE64 7F05B334 46802220 */ cvt.s.w $f8, $f4 -/* 08FE68 7F05B338 44813000 */ mtc1 $at, $f6 -/* 08FE6C 7F05B33C 00000000 */ nop -/* 08FE70 7F05B340 46064200 */ add.s $f8, $f8, $f6 -.L7F05B344: -/* 08FE74 7F05B344 46144282 */ mul.s $f10, $f8, $f20 -/* 08FE78 7F05B348 E7B20034 */ swc1 $f18, 0x34($sp) -/* 08FE7C 7F05B34C 46165302 */ mul.s $f12, $f10, $f22 -/* 08FE80 7F05B350 0FC15FAB */ jal sinf -/* 08FE84 7F05B354 00000000 */ nop -/* 08FE88 7F05B358 C7B6003C */ lwc1 $f22, 0x3c($sp) -/* 08FE8C 7F05B35C C7A40044 */ lwc1 $f4, 0x44($sp) -/* 08FE90 7F05B360 C7B40040 */ lwc1 $f20, 0x40($sp) -/* 08FE94 7F05B364 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 08FE98 7F05B368 46162082 */ mul.s $f2, $f4, $f22 -/* 08FE9C 7F05B36C C7B20034 */ lwc1 $f18, 0x34($sp) -/* 08FEA0 7F05B370 8FA2004C */ lw $v0, 0x4c($sp) -/* 08FEA4 7F05B374 4606A402 */ mul.s $f16, $f20, $f6 -/* 08FEA8 7F05B378 00000000 */ nop -/* 08FEAC 7F05B37C 46121202 */ mul.s $f8, $f2, $f18 -/* 08FEB0 7F05B380 00000000 */ nop -/* 08FEB4 7F05B384 46008282 */ mul.s $f10, $f16, $f0 -/* 08FEB8 7F05B388 460A4100 */ add.s $f4, $f8, $f10 -/* 08FEBC 7F05B38C 4616A382 */ mul.s $f14, $f20, $f22 -/* 08FEC0 7F05B390 E4440000 */ swc1 $f4, ($v0) -/* 08FEC4 7F05B394 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 08FEC8 7F05B398 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 08FECC 7F05B39C 46083302 */ mul.s $f12, $f6, $f8 -/* 08FED0 7F05B3A0 00000000 */ nop -/* 08FED4 7F05B3A4 46127282 */ mul.s $f10, $f14, $f18 -/* 08FED8 7F05B3A8 00000000 */ nop -/* 08FEDC 7F05B3AC 46006102 */ mul.s $f4, $f12, $f0 -/* 08FEE0 7F05B3B0 46045181 */ sub.s $f6, $f10, $f4 -/* 08FEE4 7F05B3B4 46126202 */ mul.s $f8, $f12, $f18 -/* 08FEE8 7F05B3B8 00000000 */ nop -/* 08FEEC 7F05B3BC 46007282 */ mul.s $f10, $f14, $f0 -/* 08FEF0 7F05B3C0 E4460004 */ swc1 $f6, 4($v0) -/* 08FEF4 7F05B3C4 46001182 */ mul.s $f6, $f2, $f0 -/* 08FEF8 7F05B3C8 460A4100 */ add.s $f4, $f8, $f10 -/* 08FEFC 7F05B3CC 46128202 */ mul.s $f8, $f16, $f18 -/* 08FF00 7F05B3D0 E4440008 */ swc1 $f4, 8($v0) -/* 08FF04 7F05B3D4 46083281 */ sub.s $f10, $f6, $f8 -/* 08FF08 7F05B3D8 E44A000C */ swc1 $f10, 0xc($v0) -/* 08FF0C 7F05B3DC 8FBF002C */ lw $ra, 0x2c($sp) -/* 08FF10 7F05B3E0 8FB00028 */ lw $s0, 0x28($sp) -/* 08FF14 7F05B3E4 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 08FF18 7F05B3E8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 08FF1C 7F05B3EC 03E00008 */ jr $ra -/* 08FF20 7F05B3F0 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B3F4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B3F4 -/* 08FF24 7F05B3F4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 08FF28 7F05B3F8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 08FF2C 7F05B3FC AFBF0024 */ sw $ra, 0x24($sp) -/* 08FF30 7F05B400 AFB00020 */ sw $s0, 0x20($sp) -/* 08FF34 7F05B404 AFA50044 */ sw $a1, 0x44($sp) -/* 08FF38 7F05B408 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08FF3C 7F05B40C 4481A000 */ mtc1 $at, $f20 -/* 08FF40 7F05B410 C4840000 */ lwc1 $f4, ($a0) -/* 08FF44 7F05B414 00808025 */ move $s0, $a0 -/* 08FF48 7F05B418 46142302 */ mul.s $f12, $f4, $f20 -/* 08FF4C 7F05B41C 0FC15FA8 */ jal cosf -/* 08FF50 7F05B420 00000000 */ nop -/* 08FF54 7F05B424 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 08FF58 7F05B428 C6060000 */ lwc1 $f6, ($s0) -/* 08FF5C 7F05B42C 46143302 */ mul.s $f12, $f6, $f20 -/* 08FF60 7F05B430 0FC15FAB */ jal sinf -/* 08FF64 7F05B434 00000000 */ nop -/* 08FF68 7F05B438 E7A00038 */ swc1 $f0, 0x38($sp) -/* 08FF6C 7F05B43C C6080004 */ lwc1 $f8, 4($s0) -/* 08FF70 7F05B440 46144302 */ mul.s $f12, $f8, $f20 -/* 08FF74 7F05B444 0FC15FA8 */ jal cosf -/* 08FF78 7F05B448 00000000 */ nop -/* 08FF7C 7F05B44C E7A00034 */ swc1 $f0, 0x34($sp) -/* 08FF80 7F05B450 C60A0004 */ lwc1 $f10, 4($s0) -/* 08FF84 7F05B454 46145302 */ mul.s $f12, $f10, $f20 -/* 08FF88 7F05B458 0FC15FAB */ jal sinf -/* 08FF8C 7F05B45C 00000000 */ nop -/* 08FF90 7F05B460 E7A00030 */ swc1 $f0, 0x30($sp) -/* 08FF94 7F05B464 C6040008 */ lwc1 $f4, 8($s0) -/* 08FF98 7F05B468 46142302 */ mul.s $f12, $f4, $f20 -/* 08FF9C 7F05B46C 0FC15FA8 */ jal cosf -/* 08FFA0 7F05B470 00000000 */ nop -/* 08FFA4 7F05B474 C6060008 */ lwc1 $f6, 8($s0) -/* 08FFA8 7F05B478 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08FFAC 7F05B47C 46143302 */ mul.s $f12, $f6, $f20 -/* 08FFB0 7F05B480 0FC15FAB */ jal sinf -/* 08FFB4 7F05B484 00000000 */ nop -/* 08FFB8 7F05B488 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 08FFBC 7F05B48C C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 08FFC0 7F05B490 C7B40038 */ lwc1 $f20, 0x38($sp) -/* 08FFC4 7F05B494 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 08FFC8 7F05B498 460A4082 */ mul.s $f2, $f8, $f10 -/* 08FFCC 7F05B49C C7B2002C */ lwc1 $f18, 0x2c($sp) -/* 08FFD0 7F05B4A0 8FA20044 */ lw $v0, 0x44($sp) -/* 08FFD4 7F05B4A4 4604A402 */ mul.s $f16, $f20, $f4 -/* 08FFD8 7F05B4A8 00000000 */ nop -/* 08FFDC 7F05B4AC 46121182 */ mul.s $f6, $f2, $f18 -/* 08FFE0 7F05B4B0 00000000 */ nop -/* 08FFE4 7F05B4B4 46008202 */ mul.s $f8, $f16, $f0 -/* 08FFE8 7F05B4B8 46083280 */ add.s $f10, $f6, $f8 -/* 08FFEC 7F05B4BC E44A0000 */ swc1 $f10, ($v0) -/* 08FFF0 7F05B4C0 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 08FFF4 7F05B4C4 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 08FFF8 7F05B4C8 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 08FFFC 7F05B4CC 4604A382 */ mul.s $f14, $f20, $f4 -/* 090000 7F05B4D0 00000000 */ nop -/* 090004 7F05B4D4 46083302 */ mul.s $f12, $f6, $f8 -/* 090008 7F05B4D8 00000000 */ nop -/* 09000C 7F05B4DC 46127282 */ mul.s $f10, $f14, $f18 -/* 090010 7F05B4E0 00000000 */ nop -/* 090014 7F05B4E4 46006102 */ mul.s $f4, $f12, $f0 -/* 090018 7F05B4E8 46045181 */ sub.s $f6, $f10, $f4 -/* 09001C 7F05B4EC 46126202 */ mul.s $f8, $f12, $f18 -/* 090020 7F05B4F0 00000000 */ nop -/* 090024 7F05B4F4 46007282 */ mul.s $f10, $f14, $f0 -/* 090028 7F05B4F8 E4460004 */ swc1 $f6, 4($v0) -/* 09002C 7F05B4FC 46001182 */ mul.s $f6, $f2, $f0 -/* 090030 7F05B500 460A4100 */ add.s $f4, $f8, $f10 -/* 090034 7F05B504 46128202 */ mul.s $f8, $f16, $f18 -/* 090038 7F05B508 E4440008 */ swc1 $f4, 8($v0) -/* 09003C 7F05B50C 46083281 */ sub.s $f10, $f6, $f8 -/* 090040 7F05B510 E44A000C */ swc1 $f10, 0xc($v0) -/* 090044 7F05B514 8FBF0024 */ lw $ra, 0x24($sp) -/* 090048 7F05B518 8FB00020 */ lw $s0, 0x20($sp) -/* 09004C 7F05B51C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 090050 7F05B520 03E00008 */ jr $ra -/* 090054 7F05B524 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B528(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B528 -/* 090058 7F05B528 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 09005C 7F05B52C 44812000 */ mtc1 $at, $f4 -/* 090060 7F05B530 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 090064 7F05B534 AFBF0014 */ sw $ra, 0x14($sp) -/* 090068 7F05B538 46046302 */ mul.s $f12, $f12, $f4 -/* 09006C 7F05B53C AFA50024 */ sw $a1, 0x24($sp) -/* 090070 7F05B540 0FC15FA8 */ jal cosf -/* 090074 7F05B544 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 090078 7F05B548 8FA20024 */ lw $v0, 0x24($sp) -/* 09007C 7F05B54C C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 090080 7F05B550 0FC15FAB */ jal sinf -/* 090084 7F05B554 E4400000 */ swc1 $f0, ($v0) -/* 090088 7F05B558 8FA20024 */ lw $v0, 0x24($sp) -/* 09008C 7F05B55C 44801000 */ mtc1 $zero, $f2 -/* 090090 7F05B560 E4400004 */ swc1 $f0, 4($v0) -/* 090094 7F05B564 E4420008 */ swc1 $f2, 8($v0) -/* 090098 7F05B568 E442000C */ swc1 $f2, 0xc($v0) -/* 09009C 7F05B56C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0900A0 7F05B570 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0900A4 7F05B574 03E00008 */ jr $ra -/* 0900A8 7F05B578 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B57C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B57C -/* 0900AC 7F05B57C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0900B0 7F05B580 44812000 */ mtc1 $at, $f4 -/* 0900B4 7F05B584 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0900B8 7F05B588 AFBF0014 */ sw $ra, 0x14($sp) -/* 0900BC 7F05B58C 46046302 */ mul.s $f12, $f12, $f4 -/* 0900C0 7F05B590 AFA50024 */ sw $a1, 0x24($sp) -/* 0900C4 7F05B594 0FC15FA8 */ jal cosf -/* 0900C8 7F05B598 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 0900CC 7F05B59C 8FA20024 */ lw $v0, 0x24($sp) -/* 0900D0 7F05B5A0 44803000 */ mtc1 $zero, $f6 -/* 0900D4 7F05B5A4 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 0900D8 7F05B5A8 E4400000 */ swc1 $f0, ($v0) -/* 0900DC 7F05B5AC 0FC15FAB */ jal sinf -/* 0900E0 7F05B5B0 E4460004 */ swc1 $f6, 4($v0) -/* 0900E4 7F05B5B4 8FA20024 */ lw $v0, 0x24($sp) -/* 0900E8 7F05B5B8 44804000 */ mtc1 $zero, $f8 -/* 0900EC 7F05B5BC E4400008 */ swc1 $f0, 8($v0) -/* 0900F0 7F05B5C0 E448000C */ swc1 $f8, 0xc($v0) -/* 0900F4 7F05B5C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0900F8 7F05B5C8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0900FC 7F05B5CC 03E00008 */ jr $ra -/* 090100 7F05B5D0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B5D4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B5D4 -/* 090104 7F05B5D4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 090108 7F05B5D8 44812000 */ mtc1 $at, $f4 -/* 09010C 7F05B5DC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 090110 7F05B5E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 090114 7F05B5E4 46046302 */ mul.s $f12, $f12, $f4 -/* 090118 7F05B5E8 AFA50024 */ sw $a1, 0x24($sp) -/* 09011C 7F05B5EC 0FC15FA8 */ jal cosf -/* 090120 7F05B5F0 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 090124 7F05B5F4 8FA20024 */ lw $v0, 0x24($sp) -/* 090128 7F05B5F8 44801000 */ mtc1 $zero, $f2 -/* 09012C 7F05B5FC C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 090130 7F05B600 E4400000 */ swc1 $f0, ($v0) -/* 090134 7F05B604 E4420004 */ swc1 $f2, 4($v0) -/* 090138 7F05B608 0FC15FAB */ jal sinf -/* 09013C 7F05B60C E4420008 */ swc1 $f2, 8($v0) -/* 090140 7F05B610 8FA20024 */ lw $v0, 0x24($sp) -/* 090144 7F05B614 E440000C */ swc1 $f0, 0xc($v0) -/* 090148 7F05B618 8FBF0014 */ lw $ra, 0x14($sp) -/* 09014C 7F05B61C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 090150 7F05B620 03E00008 */ jr $ra -/* 090154 7F05B624 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B628(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B628 -/* 090158 7F05B628 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 09015C 7F05B62C F7B40008 */ sdc1 $f20, 8($sp) -/* 090160 7F05B630 C4940000 */ lwc1 $f20, ($a0) -/* 090164 7F05B634 C4800004 */ lwc1 $f0, 4($a0) -/* 090168 7F05B638 C4820008 */ lwc1 $f2, 8($a0) -/* 09016C 7F05B63C 4614A102 */ mul.s $f4, $f20, $f20 -/* 090170 7F05B640 C48C000C */ lwc1 $f12, 0xc($a0) -/* 090174 7F05B644 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 090178 7F05B648 46000182 */ mul.s $f6, $f0, $f0 -/* 09017C 7F05B64C 46062200 */ add.s $f8, $f4, $f6 -/* 090180 7F05B650 46021282 */ mul.s $f10, $f2, $f2 -/* 090184 7F05B654 460A4100 */ add.s $f4, $f8, $f10 -/* 090188 7F05B658 460C6182 */ mul.s $f6, $f12, $f12 -/* 09018C 7F05B65C 44815000 */ mtc1 $at, $f10 -/* 090190 7F05B660 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 090194 7F05B664 46043200 */ add.s $f8, $f6, $f4 -/* 090198 7F05B668 46085183 */ div.s $f6, $f10, $f8 -/* 09019C 7F05B66C 46060482 */ mul.s $f18, $f0, $f6 -/* 0901A0 7F05B670 E7A60044 */ swc1 $f6, 0x44($sp) -/* 0901A4 7F05B674 46061402 */ mul.s $f16, $f2, $f6 -/* 0901A8 7F05B678 00000000 */ nop -/* 0901AC 7F05B67C 46066382 */ mul.s $f14, $f12, $f6 -/* 0901B0 7F05B680 00000000 */ nop -/* 0901B4 7F05B684 4612A102 */ mul.s $f4, $f20, $f18 -/* 0901B8 7F05B688 00000000 */ nop -/* 0901BC 7F05B68C 4610A282 */ mul.s $f10, $f20, $f16 -/* 0901C0 7F05B690 00000000 */ nop -/* 0901C4 7F05B694 460EA202 */ mul.s $f8, $f20, $f14 -/* 0901C8 7F05B698 E7A40034 */ swc1 $f4, 0x34($sp) -/* 0901CC 7F05B69C 46120182 */ mul.s $f6, $f0, $f18 -/* 0901D0 7F05B6A0 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 0901D4 7F05B6A4 46100102 */ mul.s $f4, $f0, $f16 -/* 0901D8 7F05B6A8 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 0901DC 7F05B6AC 460E0282 */ mul.s $f10, $f0, $f14 -/* 0901E0 7F05B6B0 E7A60028 */ swc1 $f6, 0x28($sp) -/* 0901E4 7F05B6B4 44800000 */ mtc1 $zero, $f0 -/* 0901E8 7F05B6B8 46101202 */ mul.s $f8, $f2, $f16 -/* 0901EC 7F05B6BC E7A40024 */ swc1 $f4, 0x24($sp) -/* 0901F0 7F05B6C0 44818000 */ mtc1 $at, $f16 -/* 0901F4 7F05B6C4 460E1182 */ mul.s $f6, $f2, $f14 -/* 0901F8 7F05B6C8 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 0901FC 7F05B6CC 460E6102 */ mul.s $f4, $f12, $f14 -/* 090200 7F05B6D0 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 090204 7F05B6D4 C7AA001C */ lwc1 $f10, 0x1c($sp) -/* 090208 7F05B6D8 E7A60018 */ swc1 $f6, 0x18($sp) -/* 09020C 7F05B6DC E7A40014 */ swc1 $f4, 0x14($sp) -/* 090210 7F05B6E0 C7A80014 */ lwc1 $f8, 0x14($sp) -/* 090214 7F05B6E4 44812000 */ mtc1 $at, $f4 -/* 090218 7F05B6E8 46085180 */ add.s $f6, $f10, $f8 -/* 09021C 7F05B6EC 46062281 */ sub.s $f10, $f4, $f6 -/* 090220 7F05B6F0 E4AA0000 */ swc1 $f10, ($a1) -/* 090224 7F05B6F4 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 090228 7F05B6F8 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 09022C 7F05B6FC 46044180 */ add.s $f6, $f8, $f4 -/* 090230 7F05B700 E4A60004 */ swc1 $f6, 4($a1) -/* 090234 7F05B704 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 090238 7F05B708 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 09023C 7F05B70C 46085101 */ sub.s $f4, $f10, $f8 -/* 090240 7F05B710 E4A40008 */ swc1 $f4, 8($a1) -/* 090244 7F05B714 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 090248 7F05B718 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 09024C 7F05B71C C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 090250 7F05B720 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 090254 7F05B724 460A3201 */ sub.s $f8, $f6, $f10 -/* 090258 7F05B728 C7A20034 */ lwc1 $f2, 0x34($sp) -/* 09025C 7F05B72C E4A80010 */ swc1 $f8, 0x10($a1) -/* 090260 7F05B730 C7A40014 */ lwc1 $f4, 0x14($sp) -/* 090264 7F05B734 46027200 */ add.s $f8, $f14, $f2 -/* 090268 7F05B738 46046180 */ add.s $f6, $f12, $f4 -/* 09026C 7F05B73C E4A80018 */ swc1 $f8, 0x18($a1) -/* 090270 7F05B740 46027201 */ sub.s $f8, $f14, $f2 -/* 090274 7F05B744 46068281 */ sub.s $f10, $f16, $f6 -/* 090278 7F05B748 E4AA0014 */ swc1 $f10, 0x14($a1) -/* 09027C 7F05B74C C7A60030 */ lwc1 $f6, 0x30($sp) -/* 090280 7F05B750 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 090284 7F05B754 E4A80024 */ swc1 $f8, 0x24($a1) -/* 090288 7F05B758 46062280 */ add.s $f10, $f4, $f6 -/* 09028C 7F05B75C E4AA0020 */ swc1 $f10, 0x20($a1) -/* 090290 7F05B760 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 090294 7F05B764 E4A00030 */ swc1 $f0, 0x30($a1) -/* 090298 7F05B768 E4A00034 */ swc1 $f0, 0x34($a1) -/* 09029C 7F05B76C 46046180 */ add.s $f6, $f12, $f4 -/* 0902A0 7F05B770 E4A00038 */ swc1 $f0, 0x38($a1) -/* 0902A4 7F05B774 E4A0000C */ swc1 $f0, 0xc($a1) -/* 0902A8 7F05B778 E4A0001C */ swc1 $f0, 0x1c($a1) -/* 0902AC 7F05B77C 46068281 */ sub.s $f10, $f16, $f6 -/* 0902B0 7F05B780 E4A0002C */ swc1 $f0, 0x2c($a1) -/* 0902B4 7F05B784 E4B0003C */ swc1 $f16, 0x3c($a1) -/* 0902B8 7F05B788 E4AA0028 */ swc1 $f10, 0x28($a1) -/* 0902BC 7F05B78C D7B40008 */ ldc1 $f20, 8($sp) -/* 0902C0 7F05B790 03E00008 */ jr $ra -/* 0902C4 7F05B794 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B798(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B798 -/* 0902C8 7F05B798 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0902CC 7F05B79C AFBF001C */ sw $ra, 0x1c($sp) -/* 0902D0 7F05B7A0 AFB00018 */ sw $s0, 0x18($sp) -/* 0902D4 7F05B7A4 C4860014 */ lwc1 $f6, 0x14($a0) -/* 0902D8 7F05B7A8 C4840000 */ lwc1 $f4, ($a0) -/* 0902DC 7F05B7AC C48A0028 */ lwc1 $f10, 0x28($a0) -/* 0902E0 7F05B7B0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0902E4 7F05B7B4 46062200 */ add.s $f8, $f4, $f6 -/* 0902E8 7F05B7B8 44811000 */ mtc1 $at, $f2 -/* 0902EC 7F05B7BC 44809000 */ mtc1 $zero, $f18 -/* 0902F0 7F05B7C0 3C0E8003 */ lui $t6, %hi(D_80032430) -/* 0902F4 7F05B7C4 46085400 */ add.s $f16, $f10, $f8 -/* 0902F8 7F05B7C8 00A08025 */ move $s0, $a1 -/* 0902FC 7F05B7CC 25CE2430 */ addiu $t6, %lo(D_80032430) # addiu $t6, $t6, 0x2430 -/* 090300 7F05B7D0 46028300 */ add.s $f12, $f16, $f2 -/* 090304 7F05B7D4 460C903C */ c.lt.s $f18, $f12 -/* 090308 7F05B7D8 00000000 */ nop -/* 09030C 7F05B7DC 4502001A */ bc1fl .L7F05B848 -/* 090310 7F05B7E0 8DC10000 */ lw $at, ($t6) -/* 090314 7F05B7E4 0C007DF8 */ jal sqrtf -/* 090318 7F05B7E8 AFA40060 */ sw $a0, 0x60($sp) -/* 09031C 7F05B7EC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 090320 7F05B7F0 44816000 */ mtc1 $at, $f12 -/* 090324 7F05B7F4 8FA40060 */ lw $a0, 0x60($sp) -/* 090328 7F05B7F8 46006083 */ div.s $f2, $f12, $f0 -/* 09032C 7F05B7FC 460C0102 */ mul.s $f4, $f0, $f12 -/* 090330 7F05B800 E6040000 */ swc1 $f4, ($s0) -/* 090334 7F05B804 C48A0024 */ lwc1 $f10, 0x24($a0) -/* 090338 7F05B808 C4860018 */ lwc1 $f6, 0x18($a0) -/* 09033C 7F05B80C 460A3201 */ sub.s $f8, $f6, $f10 -/* 090340 7F05B810 46024402 */ mul.s $f16, $f8, $f2 -/* 090344 7F05B814 E6100004 */ swc1 $f16, 4($s0) -/* 090348 7F05B818 C4840008 */ lwc1 $f4, 8($a0) -/* 09034C 7F05B81C C4920020 */ lwc1 $f18, 0x20($a0) -/* 090350 7F05B820 46049181 */ sub.s $f6, $f18, $f4 -/* 090354 7F05B824 46023282 */ mul.s $f10, $f6, $f2 -/* 090358 7F05B828 E60A0008 */ swc1 $f10, 8($s0) -/* 09035C 7F05B82C C4900010 */ lwc1 $f16, 0x10($a0) -/* 090360 7F05B830 C4880004 */ lwc1 $f8, 4($a0) -/* 090364 7F05B834 46104481 */ sub.s $f18, $f8, $f16 -/* 090368 7F05B838 46029102 */ mul.s $f4, $f18, $f2 -/* 09036C 7F05B83C 10000058 */ b .L7F05B9A0 -/* 090370 7F05B840 E604000C */ swc1 $f4, 0xc($s0) -/* 090374 7F05B844 8DC10000 */ lw $at, ($t6) -.L7F05B848: -/* 090378 7F05B848 27AB0040 */ addiu $t3, $sp, 0x40 -/* 09037C 7F05B84C 00002825 */ move $a1, $zero -/* 090380 7F05B850 AD610000 */ sw $at, ($t3) -/* 090384 7F05B854 8DD80004 */ lw $t8, 4($t6) -/* 090388 7F05B858 AD780004 */ sw $t8, 4($t3) -/* 09038C 7F05B85C 8DC10008 */ lw $at, 8($t6) -/* 090390 7F05B860 AD610008 */ sw $at, 8($t3) -/* 090394 7F05B864 C48A0014 */ lwc1 $f10, 0x14($a0) -/* 090398 7F05B868 C4860000 */ lwc1 $f6, ($a0) -/* 09039C 7F05B86C 460A303C */ c.lt.s $f6, $f10 -/* 0903A0 7F05B870 00000000 */ nop -/* 0903A4 7F05B874 45020003 */ bc1fl .L7F05B884 -/* 0903A8 7F05B878 0005C900 */ sll $t9, $a1, 4 -/* 0903AC 7F05B87C 24050001 */ li $a1, 1 -/* 0903B0 7F05B880 0005C900 */ sll $t9, $a1, 4 -.L7F05B884: -/* 0903B4 7F05B884 00991821 */ addu $v1, $a0, $t9 -/* 0903B8 7F05B888 00051080 */ sll $v0, $a1, 2 -/* 0903BC 7F05B88C 00626021 */ addu $t4, $v1, $v0 -/* 0903C0 7F05B890 C5800000 */ lwc1 $f0, ($t4) -/* 0903C4 7F05B894 C4880028 */ lwc1 $f8, 0x28($a0) -/* 0903C8 7F05B898 4608003C */ c.lt.s $f0, $f8 -/* 0903CC 7F05B89C 00000000 */ nop -/* 0903D0 7F05B8A0 45020005 */ bc1fl .L7F05B8B8 -/* 0903D4 7F05B8A4 01626821 */ addu $t5, $t3, $v0 -/* 0903D8 7F05B8A8 24830020 */ addiu $v1, $a0, 0x20 -/* 0903DC 7F05B8AC C4600008 */ lwc1 $f0, 8($v1) -/* 0903E0 7F05B8B0 24020008 */ li $v0, 8 -/* 0903E4 7F05B8B4 01626821 */ addu $t5, $t3, $v0 -.L7F05B8B8: -/* 0903E8 7F05B8B8 8DA50000 */ lw $a1, ($t5) -/* 0903EC 7F05B8BC 00053880 */ sll $a3, $a1, 2 -/* 0903F0 7F05B8C0 01677821 */ addu $t7, $t3, $a3 -/* 0903F4 7F05B8C4 00057100 */ sll $t6, $a1, 4 -/* 0903F8 7F05B8C8 8DE60000 */ lw $a2, ($t7) -/* 0903FC 7F05B8CC 008E4821 */ addu $t1, $a0, $t6 -/* 090400 7F05B8D0 0127C821 */ addu $t9, $t1, $a3 -/* 090404 7F05B8D4 C7300000 */ lwc1 $f16, ($t9) -/* 090408 7F05B8D8 0006C100 */ sll $t8, $a2, 4 -/* 09040C 7F05B8DC 00985021 */ addu $t2, $a0, $t8 -/* 090410 7F05B8E0 00064080 */ sll $t0, $a2, 2 -/* 090414 7F05B8E4 46100481 */ sub.s $f18, $f0, $f16 -/* 090418 7F05B8E8 01486021 */ addu $t4, $t2, $t0 -/* 09041C 7F05B8EC C5840000 */ lwc1 $f4, ($t4) -/* 090420 7F05B8F0 AFAA0024 */ sw $t2, 0x24($sp) -/* 090424 7F05B8F4 AFA90028 */ sw $t1, 0x28($sp) -/* 090428 7F05B8F8 46049181 */ sub.s $f6, $f18, $f4 -/* 09042C 7F05B8FC AFA80020 */ sw $t0, 0x20($sp) -/* 090430 7F05B900 AFA7002C */ sw $a3, 0x2c($sp) -/* 090434 7F05B904 AFA30038 */ sw $v1, 0x38($sp) -/* 090438 7F05B908 46023300 */ add.s $f12, $f6, $f2 -/* 09043C 7F05B90C 0C007DF8 */ jal sqrtf -/* 090440 7F05B910 AFA20034 */ sw $v0, 0x34($sp) -/* 090444 7F05B914 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 090448 7F05B918 44816000 */ mtc1 $at, $f12 -/* 09044C 7F05B91C 8FA20034 */ lw $v0, 0x34($sp) -/* 090450 7F05B920 8FA7002C */ lw $a3, 0x2c($sp) -/* 090454 7F05B924 46006083 */ div.s $f2, $f12, $f0 -/* 090458 7F05B928 8FA80020 */ lw $t0, 0x20($sp) -/* 09045C 7F05B92C 8FA90028 */ lw $t1, 0x28($sp) -/* 090460 7F05B930 8FAA0024 */ lw $t2, 0x24($sp) -/* 090464 7F05B934 460C0282 */ mul.s $f10, $f0, $f12 -/* 090468 7F05B938 8FA30038 */ lw $v1, 0x38($sp) -/* 09046C 7F05B93C 02026821 */ addu $t5, $s0, $v0 -/* 090470 7F05B940 01287821 */ addu $t7, $t1, $t0 -/* 090474 7F05B944 01477021 */ addu $t6, $t2, $a3 -/* 090478 7F05B948 0122C021 */ addu $t8, $t1, $v0 -/* 09047C 7F05B94C 0067C821 */ addu $t9, $v1, $a3 -/* 090480 7F05B950 E5AA0004 */ swc1 $f10, 4($t5) -/* 090484 7F05B954 C5E80000 */ lwc1 $f8, ($t7) -/* 090488 7F05B958 C5D00000 */ lwc1 $f16, ($t6) -/* 09048C 7F05B95C 02076021 */ addu $t4, $s0, $a3 -/* 090490 7F05B960 01426821 */ addu $t5, $t2, $v0 -/* 090494 7F05B964 00687821 */ addu $t7, $v1, $t0 -/* 090498 7F05B968 02087021 */ addu $t6, $s0, $t0 -/* 09049C 7F05B96C 46104481 */ sub.s $f18, $f8, $f16 -/* 0904A0 7F05B970 46029102 */ mul.s $f4, $f18, $f2 -/* 0904A4 7F05B974 E6040000 */ swc1 $f4, ($s0) -/* 0904A8 7F05B978 C72A0000 */ lwc1 $f10, ($t9) -/* 0904AC 7F05B97C C7060000 */ lwc1 $f6, ($t8) -/* 0904B0 7F05B980 460A3200 */ add.s $f8, $f6, $f10 -/* 0904B4 7F05B984 46024402 */ mul.s $f16, $f8, $f2 -/* 0904B8 7F05B988 E5900004 */ swc1 $f16, 4($t4) -/* 0904BC 7F05B98C C5E40000 */ lwc1 $f4, ($t7) -/* 0904C0 7F05B990 C5B20000 */ lwc1 $f18, ($t5) -/* 0904C4 7F05B994 46049180 */ add.s $f6, $f18, $f4 -/* 0904C8 7F05B998 46023282 */ mul.s $f10, $f6, $f2 -/* 0904CC 7F05B99C E5CA0004 */ swc1 $f10, 4($t6) -.L7F05B9A0: -/* 0904D0 7F05B9A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0904D4 7F05B9A4 8FB00018 */ lw $s0, 0x18($sp) -/* 0904D8 7F05B9A8 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0904DC 7F05B9AC 03E00008 */ jr $ra -/* 0904E0 7F05B9B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05B9B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05B9B4 -/* 0904E4 7F05B9B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0904E8 7F05B9B8 00803825 */ move $a3, $a0 -/* 0904EC 7F05B9BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0904F0 7F05B9C0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0904F4 7F05B9C4 00A02025 */ move $a0, $a1 -/* 0904F8 7F05B9C8 00C02825 */ move $a1, $a2 -/* 0904FC 7F05B9CC AFA70018 */ sw $a3, 0x18($sp) -/* 090500 7F05B9D0 0FC16D8A */ jal sub_GAME_7F05B628 -/* 090504 7F05B9D4 AFA60020 */ sw $a2, 0x20($sp) -/* 090508 7F05B9D8 8FA70018 */ lw $a3, 0x18($sp) -/* 09050C 7F05B9DC 8FA60020 */ lw $a2, 0x20($sp) -/* 090510 7F05B9E0 C4E40000 */ lwc1 $f4, ($a3) -/* 090514 7F05B9E4 E4C40030 */ swc1 $f4, 0x30($a2) -/* 090518 7F05B9E8 C4E60004 */ lwc1 $f6, 4($a3) -/* 09051C 7F05B9EC E4C60034 */ swc1 $f6, 0x34($a2) -/* 090520 7F05B9F0 C4E80008 */ lwc1 $f8, 8($a3) -/* 090524 7F05B9F4 E4C80038 */ swc1 $f8, 0x38($a2) -/* 090528 7F05B9F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 09052C 7F05B9FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 090530 7F05BA00 03E00008 */ jr $ra -/* 090534 7F05BA04 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05BA08(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053748 -.word 0x3f7fff58 /*0.99998999*/ -glabel D_8005374C -.word 0xbf7fff58 /*-0.99998999*/ -.text -glabel sub_GAME_7F05BA08 -/* 090538 7F05BA08 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 09053C 7F05BA0C AFBF0014 */ sw $ra, 0x14($sp) -/* 090540 7F05BA10 C4A60004 */ lwc1 $f6, 4($a1) -/* 090544 7F05BA14 C4840004 */ lwc1 $f4, 4($a0) -/* 090548 7F05BA18 C4B00000 */ lwc1 $f16, ($a1) -/* 09054C 7F05BA1C C4820000 */ lwc1 $f2, ($a0) -/* 090550 7F05BA20 46062202 */ mul.s $f8, $f4, $f6 -/* 090554 7F05BA24 C4A60008 */ lwc1 $f6, 8($a1) -/* 090558 7F05BA28 C4840008 */ lwc1 $f4, 8($a0) -/* 09055C 7F05BA2C 46101282 */ mul.s $f10, $f2, $f16 -/* 090560 7F05BA30 3C018005 */ lui $at, %hi(D_80053744) -/* 090564 7F05BA34 44867000 */ mtc1 $a2, $f14 -/* 090568 7F05BA38 46085480 */ add.s $f18, $f10, $f8 -/* 09056C 7F05BA3C 46062282 */ mul.s $f10, $f4, $f6 -/* 090570 7F05BA40 C486000C */ lwc1 $f6, 0xc($a0) -/* 090574 7F05BA44 C4A4000C */ lwc1 $f4, 0xc($a1) -/* 090578 7F05BA48 460A9200 */ add.s $f8, $f18, $f10 -/* 09057C 7F05BA4C 46062482 */ mul.s $f18, $f4, $f6 -/* 090580 7F05BA50 C42A3744 */ lwc1 $f10, %lo(D_80053744)($at) -/* 090584 7F05BA54 3C018005 */ lui $at, %hi(D_80053748) -/* 090588 7F05BA58 46089300 */ add.s $f12, $f18, $f8 -/* 09058C 7F05BA5C 460A603C */ c.lt.s $f12, $f10 -/* 090590 7F05BA60 00000000 */ nop -/* 090594 7F05BA64 45000020 */ bc1f .L7F05BAE8 -/* 090598 7F05BA68 00000000 */ nop -/* 09059C 7F05BA6C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0905A0 7F05BA70 44812000 */ mtc1 $at, $f4 -/* 0905A4 7F05BA74 00000000 */ nop -/* 0905A8 7F05BA78 460E2001 */ sub.s $f0, $f4, $f14 -/* 0905AC 7F05BA7C 46020182 */ mul.s $f6, $f0, $f2 -/* 0905B0 7F05BA80 00000000 */ nop -/* 0905B4 7F05BA84 460E8482 */ mul.s $f18, $f16, $f14 -/* 0905B8 7F05BA88 46123201 */ sub.s $f8, $f6, $f18 -/* 0905BC 7F05BA8C E4E80000 */ swc1 $f8, ($a3) -/* 0905C0 7F05BA90 C48A0004 */ lwc1 $f10, 4($a0) -/* 0905C4 7F05BA94 C4A60004 */ lwc1 $f6, 4($a1) -/* 0905C8 7F05BA98 460A0102 */ mul.s $f4, $f0, $f10 -/* 0905CC 7F05BA9C 00000000 */ nop -/* 0905D0 7F05BAA0 460E3482 */ mul.s $f18, $f6, $f14 -/* 0905D4 7F05BAA4 46122201 */ sub.s $f8, $f4, $f18 -/* 0905D8 7F05BAA8 E4E80004 */ swc1 $f8, 4($a3) -/* 0905DC 7F05BAAC C48A0008 */ lwc1 $f10, 8($a0) -/* 0905E0 7F05BAB0 C4A40008 */ lwc1 $f4, 8($a1) -/* 0905E4 7F05BAB4 460A0182 */ mul.s $f6, $f0, $f10 -/* 0905E8 7F05BAB8 00000000 */ nop -/* 0905EC 7F05BABC 460E2482 */ mul.s $f18, $f4, $f14 -/* 0905F0 7F05BAC0 46123201 */ sub.s $f8, $f6, $f18 -/* 0905F4 7F05BAC4 E4E80008 */ swc1 $f8, 8($a3) -/* 0905F8 7F05BAC8 C48A000C */ lwc1 $f10, 0xc($a0) -/* 0905FC 7F05BACC C4A6000C */ lwc1 $f6, 0xc($a1) -/* 090600 7F05BAD0 460A0102 */ mul.s $f4, $f0, $f10 -/* 090604 7F05BAD4 00000000 */ nop -/* 090608 7F05BAD8 460E3482 */ mul.s $f18, $f6, $f14 -/* 09060C 7F05BADC 46122201 */ sub.s $f8, $f4, $f18 -/* 090610 7F05BAE0 1000005D */ b .L7F05BC58 -/* 090614 7F05BAE4 E4E8000C */ swc1 $f8, 0xc($a3) -.L7F05BAE8: -/* 090618 7F05BAE8 C42A3748 */ lwc1 $f10, %lo(D_80053748)($at) -/* 09061C 7F05BAEC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 090620 7F05BAF0 460A603E */ c.le.s $f12, $f10 -/* 090624 7F05BAF4 00000000 */ nop -/* 090628 7F05BAF8 4502003D */ bc1fl .L7F05BBF0 -/* 09062C 7F05BAFC 44812000 */ mtc1 $at, $f4 -/* 090630 7F05BB00 AFA40030 */ sw $a0, 0x30($sp) -/* 090634 7F05BB04 AFA50034 */ sw $a1, 0x34($sp) -/* 090638 7F05BB08 AFA7003C */ sw $a3, 0x3c($sp) -/* 09063C 7F05BB0C 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 090640 7F05BB10 E7AE0038 */ swc1 $f14, 0x38($sp) -/* 090644 7F05BB14 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 090648 7F05BB18 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 09064C 7F05BB1C 44813000 */ mtc1 $at, $f6 -/* 090650 7F05BB20 46000306 */ mov.s $f12, $f0 -/* 090654 7F05BB24 460E3101 */ sub.s $f4, $f6, $f14 -/* 090658 7F05BB28 46002482 */ mul.s $f18, $f4, $f0 -/* 09065C 7F05BB2C 00000000 */ nop -/* 090660 7F05BB30 46007202 */ mul.s $f8, $f14, $f0 -/* 090664 7F05BB34 E7B20024 */ swc1 $f18, 0x24($sp) -/* 090668 7F05BB38 0FC15FAB */ jal sinf -/* 09066C 7F05BB3C E7A80020 */ swc1 $f8, 0x20($sp) -/* 090670 7F05BB40 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 090674 7F05BB44 0FC15FAB */ jal sinf -/* 090678 7F05BB48 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 09067C 7F05BB4C C7AA001C */ lwc1 $f10, 0x1c($sp) -/* 090680 7F05BB50 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 090684 7F05BB54 460A0383 */ div.s $f14, $f0, $f10 -/* 090688 7F05BB58 0FC15FAB */ jal sinf -/* 09068C 7F05BB5C E7AE0018 */ swc1 $f14, 0x18($sp) -/* 090690 7F05BB60 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 090694 7F05BB64 8FA50034 */ lw $a1, 0x34($sp) -/* 090698 7F05BB68 8FA40030 */ lw $a0, 0x30($sp) -/* 09069C 7F05BB6C 46060083 */ div.s $f2, $f0, $f6 -/* 0906A0 7F05BB70 C4A40000 */ lwc1 $f4, ($a1) -/* 0906A4 7F05BB74 C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 0906A8 7F05BB78 C4880000 */ lwc1 $f8, ($a0) -/* 0906AC 7F05BB7C 8FA7003C */ lw $a3, 0x3c($sp) -/* 0906B0 7F05BB80 46022482 */ mul.s $f18, $f4, $f2 -/* 0906B4 7F05BB84 00000000 */ nop -/* 0906B8 7F05BB88 46087282 */ mul.s $f10, $f14, $f8 -/* 0906BC 7F05BB8C 460A9180 */ add.s $f6, $f18, $f10 -/* 0906C0 7F05BB90 E4E60000 */ swc1 $f6, ($a3) -/* 0906C4 7F05BB94 C4A40004 */ lwc1 $f4, 4($a1) -/* 0906C8 7F05BB98 C4920004 */ lwc1 $f18, 4($a0) -/* 0906CC 7F05BB9C 46022202 */ mul.s $f8, $f4, $f2 -/* 0906D0 7F05BBA0 00000000 */ nop -/* 0906D4 7F05BBA4 46127282 */ mul.s $f10, $f14, $f18 -/* 0906D8 7F05BBA8 460A4180 */ add.s $f6, $f8, $f10 -/* 0906DC 7F05BBAC E4E60004 */ swc1 $f6, 4($a3) -/* 0906E0 7F05BBB0 C4A40008 */ lwc1 $f4, 8($a1) -/* 0906E4 7F05BBB4 C4880008 */ lwc1 $f8, 8($a0) -/* 0906E8 7F05BBB8 46022482 */ mul.s $f18, $f4, $f2 -/* 0906EC 7F05BBBC 00000000 */ nop -/* 0906F0 7F05BBC0 46087282 */ mul.s $f10, $f14, $f8 -/* 0906F4 7F05BBC4 460A9180 */ add.s $f6, $f18, $f10 -/* 0906F8 7F05BBC8 E4E60008 */ swc1 $f6, 8($a3) -/* 0906FC 7F05BBCC C4A4000C */ lwc1 $f4, 0xc($a1) -/* 090700 7F05BBD0 C492000C */ lwc1 $f18, 0xc($a0) -/* 090704 7F05BBD4 46022202 */ mul.s $f8, $f4, $f2 -/* 090708 7F05BBD8 00000000 */ nop -/* 09070C 7F05BBDC 46127282 */ mul.s $f10, $f14, $f18 -/* 090710 7F05BBE0 460A4180 */ add.s $f6, $f8, $f10 -/* 090714 7F05BBE4 1000001C */ b .L7F05BC58 -/* 090718 7F05BBE8 E4E6000C */ swc1 $f6, 0xc($a3) -/* 09071C 7F05BBEC 44812000 */ mtc1 $at, $f4 -.L7F05BBF0: -/* 090720 7F05BBF0 460E8482 */ mul.s $f18, $f16, $f14 -/* 090724 7F05BBF4 460E2001 */ sub.s $f0, $f4, $f14 -/* 090728 7F05BBF8 46020202 */ mul.s $f8, $f0, $f2 -/* 09072C 7F05BBFC 46089280 */ add.s $f10, $f18, $f8 -/* 090730 7F05BC00 E4EA0000 */ swc1 $f10, ($a3) -/* 090734 7F05BC04 C4A60004 */ lwc1 $f6, 4($a1) -/* 090738 7F05BC08 C4920004 */ lwc1 $f18, 4($a0) -/* 09073C 7F05BC0C 460E3102 */ mul.s $f4, $f6, $f14 -/* 090740 7F05BC10 00000000 */ nop -/* 090744 7F05BC14 46120202 */ mul.s $f8, $f0, $f18 -/* 090748 7F05BC18 46082280 */ add.s $f10, $f4, $f8 -/* 09074C 7F05BC1C E4EA0004 */ swc1 $f10, 4($a3) -/* 090750 7F05BC20 C4A60008 */ lwc1 $f6, 8($a1) -/* 090754 7F05BC24 C4840008 */ lwc1 $f4, 8($a0) -/* 090758 7F05BC28 460E3482 */ mul.s $f18, $f6, $f14 -/* 09075C 7F05BC2C 00000000 */ nop -/* 090760 7F05BC30 46040202 */ mul.s $f8, $f0, $f4 -/* 090764 7F05BC34 46089280 */ add.s $f10, $f18, $f8 -/* 090768 7F05BC38 E4EA0008 */ swc1 $f10, 8($a3) -/* 09076C 7F05BC3C C4A6000C */ lwc1 $f6, 0xc($a1) -/* 090770 7F05BC40 C492000C */ lwc1 $f18, 0xc($a0) -/* 090774 7F05BC44 460E3102 */ mul.s $f4, $f6, $f14 -/* 090778 7F05BC48 00000000 */ nop -/* 09077C 7F05BC4C 46120202 */ mul.s $f8, $f0, $f18 -/* 090780 7F05BC50 46082280 */ add.s $f10, $f4, $f8 -/* 090784 7F05BC54 E4EA000C */ swc1 $f10, 0xc($a3) -.L7F05BC58: -/* 090788 7F05BC58 8FBF0014 */ lw $ra, 0x14($sp) -/* 09078C 7F05BC5C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 090790 7F05BC60 03E00008 */ jr $ra -/* 090794 7F05BC64 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05BC68(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053750 -.word 0x3f7fff58 /*0.99998999*/ -.text -glabel sub_GAME_7F05BC68 -/* 090798 7F05BC68 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 09079C 7F05BC6C AFBF0014 */ sw $ra, 0x14($sp) -/* 0907A0 7F05BC70 C4800000 */ lwc1 $f0, ($a0) -/* 0907A4 7F05BC74 44802000 */ mtc1 $zero, $f4 -/* 0907A8 7F05BC78 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0907AC 7F05BC7C 44811000 */ mtc1 $at, $f2 -/* 0907B0 7F05BC80 4604003C */ c.lt.s $f0, $f4 -/* 0907B4 7F05BC84 44857000 */ mtc1 $a1, $f14 -/* 0907B8 7F05BC88 3C018005 */ lui $at, %hi(D_8005374C) -/* 0907BC 7F05BC8C 46000306 */ mov.s $f12, $f0 -/* 0907C0 7F05BC90 45000003 */ bc1f .L7F05BCA0 -/* 0907C4 7F05BC94 46001406 */ mov.s $f16, $f2 -/* 0907C8 7F05BC98 46006307 */ neg.s $f12, $f12 -/* 0907CC 7F05BC9C 46001407 */ neg.s $f16, $f2 -.L7F05BCA0: -/* 0907D0 7F05BCA0 C426374C */ lwc1 $f6, %lo(D_8005374C)($at) -/* 0907D4 7F05BCA4 3C018005 */ lui $at, %hi(D_80053750) -/* 0907D8 7F05BCA8 4606603C */ c.lt.s $f12, $f6 -/* 0907DC 7F05BCAC 00000000 */ nop -/* 0907E0 7F05BCB0 45000011 */ bc1f .L7F05BCF8 -/* 0907E4 7F05BCB4 00000000 */ nop -/* 0907E8 7F05BCB8 460E1281 */ sub.s $f10, $f2, $f14 -/* 0907EC 7F05BCBC 460E0202 */ mul.s $f8, $f0, $f14 -/* 0907F0 7F05BCC0 00000000 */ nop -/* 0907F4 7F05BCC4 46105482 */ mul.s $f18, $f10, $f16 -/* 0907F8 7F05BCC8 46124101 */ sub.s $f4, $f8, $f18 -/* 0907FC 7F05BCCC E4C40000 */ swc1 $f4, ($a2) -/* 090800 7F05BCD0 C4860004 */ lwc1 $f6, 4($a0) -/* 090804 7F05BCD4 460E3282 */ mul.s $f10, $f6, $f14 -/* 090808 7F05BCD8 E4CA0004 */ swc1 $f10, 4($a2) -/* 09080C 7F05BCDC C4880008 */ lwc1 $f8, 8($a0) -/* 090810 7F05BCE0 460E4482 */ mul.s $f18, $f8, $f14 -/* 090814 7F05BCE4 E4D20008 */ swc1 $f18, 8($a2) -/* 090818 7F05BCE8 C484000C */ lwc1 $f4, 0xc($a0) -/* 09081C 7F05BCEC 460E2182 */ mul.s $f6, $f4, $f14 -/* 090820 7F05BCF0 10000043 */ b .L7F05BE00 -/* 090824 7F05BCF4 E4C6000C */ swc1 $f6, 0xc($a2) -.L7F05BCF8: -/* 090828 7F05BCF8 C42A3750 */ lwc1 $f10, %lo(D_80053750)($at) -/* 09082C 7F05BCFC 460A603E */ c.le.s $f12, $f10 -/* 090830 7F05BD00 00000000 */ nop -/* 090834 7F05BD04 45020030 */ bc1fl .L7F05BDC8 -/* 090838 7F05BD08 460E1201 */ sub.s $f8, $f2, $f14 -/* 09083C 7F05BD0C AFA40038 */ sw $a0, 0x38($sp) -/* 090840 7F05BD10 AFA60040 */ sw $a2, 0x40($sp) -/* 090844 7F05BD14 E7AE003C */ swc1 $f14, 0x3c($sp) -/* 090848 7F05BD18 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 09084C 7F05BD1C E7B00030 */ swc1 $f16, 0x30($sp) -/* 090850 7F05BD20 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 090854 7F05BD24 44811000 */ mtc1 $at, $f2 -/* 090858 7F05BD28 C7AE003C */ lwc1 $f14, 0x3c($sp) -/* 09085C 7F05BD2C 46000306 */ mov.s $f12, $f0 -/* 090860 7F05BD30 460E1481 */ sub.s $f18, $f2, $f14 -/* 090864 7F05BD34 46007202 */ mul.s $f8, $f14, $f0 -/* 090868 7F05BD38 00000000 */ nop -/* 09086C 7F05BD3C 46009102 */ mul.s $f4, $f18, $f0 -/* 090870 7F05BD40 E7A80028 */ swc1 $f8, 0x28($sp) -/* 090874 7F05BD44 0FC15FAB */ jal sinf -/* 090878 7F05BD48 E7A40024 */ swc1 $f4, 0x24($sp) -/* 09087C 7F05BD4C E7A00020 */ swc1 $f0, 0x20($sp) -/* 090880 7F05BD50 0FC15FAB */ jal sinf -/* 090884 7F05BD54 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 090888 7F05BD58 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 09088C 7F05BD5C C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 090890 7F05BD60 46060083 */ div.s $f2, $f0, $f6 -/* 090894 7F05BD64 0FC15FAB */ jal sinf -/* 090898 7F05BD68 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 09089C 7F05BD6C C7B20020 */ lwc1 $f18, 0x20($sp) -/* 0908A0 7F05BD70 8FA40038 */ lw $a0, 0x38($sp) -/* 0908A4 7F05BD74 C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 0908A8 7F05BD78 46120103 */ div.s $f4, $f0, $f18 -/* 0908AC 7F05BD7C C48A0000 */ lwc1 $f10, ($a0) -/* 0908B0 7F05BD80 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 0908B4 7F05BD84 8FA60040 */ lw $a2, 0x40($sp) -/* 0908B8 7F05BD88 46025202 */ mul.s $f8, $f10, $f2 -/* 0908BC 7F05BD8C 00000000 */ nop -/* 0908C0 7F05BD90 46102182 */ mul.s $f6, $f4, $f16 -/* 0908C4 7F05BD94 46064280 */ add.s $f10, $f8, $f6 -/* 0908C8 7F05BD98 E4CA0000 */ swc1 $f10, ($a2) -/* 0908CC 7F05BD9C C4920004 */ lwc1 $f18, 4($a0) -/* 0908D0 7F05BDA0 46029102 */ mul.s $f4, $f18, $f2 -/* 0908D4 7F05BDA4 E4C40004 */ swc1 $f4, 4($a2) -/* 0908D8 7F05BDA8 C4880008 */ lwc1 $f8, 8($a0) -/* 0908DC 7F05BDAC 46024182 */ mul.s $f6, $f8, $f2 -/* 0908E0 7F05BDB0 E4C60008 */ swc1 $f6, 8($a2) -/* 0908E4 7F05BDB4 C48A000C */ lwc1 $f10, 0xc($a0) -/* 0908E8 7F05BDB8 46025482 */ mul.s $f18, $f10, $f2 -/* 0908EC 7F05BDBC 10000010 */ b .L7F05BE00 -/* 0908F0 7F05BDC0 E4D2000C */ swc1 $f18, 0xc($a2) -/* 0908F4 7F05BDC4 460E1201 */ sub.s $f8, $f2, $f14 -.L7F05BDC8: -/* 0908F8 7F05BDC8 460E0102 */ mul.s $f4, $f0, $f14 -/* 0908FC 7F05BDCC 00000000 */ nop -/* 090900 7F05BDD0 46104182 */ mul.s $f6, $f8, $f16 -/* 090904 7F05BDD4 46062280 */ add.s $f10, $f4, $f6 -/* 090908 7F05BDD8 E4CA0000 */ swc1 $f10, ($a2) -/* 09090C 7F05BDDC C4920004 */ lwc1 $f18, 4($a0) -/* 090910 7F05BDE0 460E9202 */ mul.s $f8, $f18, $f14 -/* 090914 7F05BDE4 E4C80004 */ swc1 $f8, 4($a2) -/* 090918 7F05BDE8 C4840008 */ lwc1 $f4, 8($a0) -/* 09091C 7F05BDEC 460E2182 */ mul.s $f6, $f4, $f14 -/* 090920 7F05BDF0 E4C60008 */ swc1 $f6, 8($a2) -/* 090924 7F05BDF4 C48A000C */ lwc1 $f10, 0xc($a0) -/* 090928 7F05BDF8 460E5482 */ mul.s $f18, $f10, $f14 -/* 09092C 7F05BDFC E4D2000C */ swc1 $f18, 0xc($a2) -.L7F05BE00: -/* 090930 7F05BE00 8FBF0014 */ lw $ra, 0x14($sp) -/* 090934 7F05BE04 27BD0038 */ addiu $sp, $sp, 0x38 -/* 090938 7F05BE08 03E00008 */ jr $ra -/* 09093C 7F05BE0C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05BE10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05BE10 -/* 090940 7F05BE10 C4AC0000 */ lwc1 $f12, ($a1) -/* 090944 7F05BE14 C4840000 */ lwc1 $f4, ($a0) -/* 090948 7F05BE18 C4AE0004 */ lwc1 $f14, 4($a1) -/* 09094C 7F05BE1C C4880004 */ lwc1 $f8, 4($a0) -/* 090950 7F05BE20 460C2182 */ mul.s $f6, $f4, $f12 -/* 090954 7F05BE24 C4840008 */ lwc1 $f4, 8($a0) -/* 090958 7F05BE28 C4B00008 */ lwc1 $f16, 8($a1) -/* 09095C 7F05BE2C 460E4282 */ mul.s $f10, $f8, $f14 -/* 090960 7F05BE30 C4A2000C */ lwc1 $f2, 0xc($a1) -/* 090964 7F05BE34 46102202 */ mul.s $f8, $f4, $f16 -/* 090968 7F05BE38 460A3480 */ add.s $f18, $f6, $f10 -/* 09096C 7F05BE3C C48A000C */ lwc1 $f10, 0xc($a0) -/* 090970 7F05BE40 460A1102 */ mul.s $f4, $f2, $f10 -/* 090974 7F05BE44 46089180 */ add.s $f6, $f18, $f8 -/* 090978 7F05BE48 44809000 */ mtc1 $zero, $f18 -/* 09097C 7F05BE4C 46062000 */ add.s $f0, $f4, $f6 -/* 090980 7F05BE50 4612003C */ c.lt.s $f0, $f18 -/* 090984 7F05BE54 00000000 */ nop -/* 090988 7F05BE58 45000009 */ bc1f .L7F05BE80 -/* 09098C 7F05BE5C 00000000 */ nop -/* 090990 7F05BE60 46006207 */ neg.s $f8, $f12 -/* 090994 7F05BE64 46007287 */ neg.s $f10, $f14 -/* 090998 7F05BE68 46008107 */ neg.s $f4, $f16 -/* 09099C 7F05BE6C 46001187 */ neg.s $f6, $f2 -/* 0909A0 7F05BE70 E4A80000 */ swc1 $f8, ($a1) -/* 0909A4 7F05BE74 E4AA0004 */ swc1 $f10, 4($a1) -/* 0909A8 7F05BE78 E4A40008 */ swc1 $f4, 8($a1) -/* 0909AC 7F05BE7C E4A6000C */ swc1 $f6, 0xc($a1) -.L7F05BE80: -/* 0909B0 7F05BE80 03E00008 */ jr $ra -/* 0909B4 7F05BE84 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05BE88(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05BE88 -/* 0909B8 7F05BE88 C4840000 */ lwc1 $f4, ($a0) -/* 0909BC 7F05BE8C C4A60000 */ lwc1 $f6, ($a1) -/* 0909C0 7F05BE90 C48A0004 */ lwc1 $f10, 4($a0) -/* 0909C4 7F05BE94 C4B00004 */ lwc1 $f16, 4($a1) -/* 0909C8 7F05BE98 46062202 */ mul.s $f8, $f4, $f6 -/* 0909CC 7F05BE9C C4860008 */ lwc1 $f6, 8($a0) -/* 0909D0 7F05BEA0 46105482 */ mul.s $f18, $f10, $f16 -/* 0909D4 7F05BEA4 C4AA0008 */ lwc1 $f10, 8($a1) -/* 0909D8 7F05BEA8 460A3402 */ mul.s $f16, $f6, $f10 -/* 0909DC 7F05BEAC C486000C */ lwc1 $f6, 0xc($a0) -/* 0909E0 7F05BEB0 46124101 */ sub.s $f4, $f8, $f18 -/* 0909E4 7F05BEB4 C4B2000C */ lwc1 $f18, 0xc($a1) -/* 0909E8 7F05BEB8 46069282 */ mul.s $f10, $f18, $f6 -/* 0909EC 7F05BEBC 46102201 */ sub.s $f8, $f4, $f16 -/* 0909F0 7F05BEC0 460A4101 */ sub.s $f4, $f8, $f10 -/* 0909F4 7F05BEC4 E4C40000 */ swc1 $f4, ($a2) -/* 0909F8 7F05BEC8 C4B20004 */ lwc1 $f18, 4($a1) -/* 0909FC 7F05BECC C4900000 */ lwc1 $f16, ($a0) -/* 090A00 7F05BED0 C48A0004 */ lwc1 $f10, 4($a0) -/* 090A04 7F05BED4 C4A80000 */ lwc1 $f8, ($a1) -/* 090A08 7F05BED8 46128182 */ mul.s $f6, $f16, $f18 -/* 090A0C 7F05BEDC C4920008 */ lwc1 $f18, 8($a0) -/* 090A10 7F05BEE0 460A4102 */ mul.s $f4, $f8, $f10 -/* 090A14 7F05BEE4 C4A8000C */ lwc1 $f8, 0xc($a1) -/* 090A18 7F05BEE8 46089282 */ mul.s $f10, $f18, $f8 -/* 090A1C 7F05BEEC C492000C */ lwc1 $f18, 0xc($a0) -/* 090A20 7F05BEF0 46043400 */ add.s $f16, $f6, $f4 -/* 090A24 7F05BEF4 C4A40008 */ lwc1 $f4, 8($a1) -/* 090A28 7F05BEF8 46122202 */ mul.s $f8, $f4, $f18 -/* 090A2C 7F05BEFC 460A8180 */ add.s $f6, $f16, $f10 -/* 090A30 7F05BF00 46083401 */ sub.s $f16, $f6, $f8 -/* 090A34 7F05BF04 E4D00004 */ swc1 $f16, 4($a2) -/* 090A38 7F05BF08 C4A40008 */ lwc1 $f4, 8($a1) -/* 090A3C 7F05BF0C C48A0000 */ lwc1 $f10, ($a0) -/* 090A40 7F05BF10 C4880008 */ lwc1 $f8, 8($a0) -/* 090A44 7F05BF14 C4A60000 */ lwc1 $f6, ($a1) -/* 090A48 7F05BF18 46045482 */ mul.s $f18, $f10, $f4 -/* 090A4C 7F05BF1C C484000C */ lwc1 $f4, 0xc($a0) -/* 090A50 7F05BF20 46083402 */ mul.s $f16, $f6, $f8 -/* 090A54 7F05BF24 C4A60004 */ lwc1 $f6, 4($a1) -/* 090A58 7F05BF28 46062202 */ mul.s $f8, $f4, $f6 -/* 090A5C 7F05BF2C C4840004 */ lwc1 $f4, 4($a0) -/* 090A60 7F05BF30 46109280 */ add.s $f10, $f18, $f16 -/* 090A64 7F05BF34 C4B0000C */ lwc1 $f16, 0xc($a1) -/* 090A68 7F05BF38 46048182 */ mul.s $f6, $f16, $f4 -/* 090A6C 7F05BF3C 46085480 */ add.s $f18, $f10, $f8 -/* 090A70 7F05BF40 46069281 */ sub.s $f10, $f18, $f6 -/* 090A74 7F05BF44 E4CA0008 */ swc1 $f10, 8($a2) -/* 090A78 7F05BF48 C4B0000C */ lwc1 $f16, 0xc($a1) -/* 090A7C 7F05BF4C C4880000 */ lwc1 $f8, ($a0) -/* 090A80 7F05BF50 C486000C */ lwc1 $f6, 0xc($a0) -/* 090A84 7F05BF54 C4B20000 */ lwc1 $f18, ($a1) -/* 090A88 7F05BF58 46104102 */ mul.s $f4, $f8, $f16 -/* 090A8C 7F05BF5C C4900004 */ lwc1 $f16, 4($a0) -/* 090A90 7F05BF60 46069282 */ mul.s $f10, $f18, $f6 -/* 090A94 7F05BF64 C4B20008 */ lwc1 $f18, 8($a1) -/* 090A98 7F05BF68 46128182 */ mul.s $f6, $f16, $f18 -/* 090A9C 7F05BF6C C4900008 */ lwc1 $f16, 8($a0) -/* 090AA0 7F05BF70 460A2200 */ add.s $f8, $f4, $f10 -/* 090AA4 7F05BF74 C4AA0004 */ lwc1 $f10, 4($a1) -/* 090AA8 7F05BF78 46105482 */ mul.s $f18, $f10, $f16 -/* 090AAC 7F05BF7C 46064100 */ add.s $f4, $f8, $f6 -/* 090AB0 7F05BF80 46122201 */ sub.s $f8, $f4, $f18 -/* 090AB4 7F05BF84 03E00008 */ jr $ra -/* 090AB8 7F05BF88 E4C8000C */ swc1 $f8, 0xc($a2) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05BF8C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05BF8C -/* 090ABC 7F05BF8C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 090AC0 7F05BF90 AFBF0014 */ sw $ra, 0x14($sp) -/* 090AC4 7F05BF94 27A60018 */ addiu $a2, $sp, 0x18 -/* 090AC8 7F05BF98 0FC16FA2 */ jal sub_GAME_7F05BE88 -/* 090ACC 7F05BF9C AFA5002C */ sw $a1, 0x2c($sp) -/* 090AD0 7F05BFA0 8FA5002C */ lw $a1, 0x2c($sp) -/* 090AD4 7F05BFA4 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 090AD8 7F05BFA8 E4A40000 */ swc1 $f4, ($a1) -/* 090ADC 7F05BFAC C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 090AE0 7F05BFB0 E4A60004 */ swc1 $f6, 4($a1) -/* 090AE4 7F05BFB4 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 090AE8 7F05BFB8 E4A80008 */ swc1 $f8, 8($a1) -/* 090AEC 7F05BFBC C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 090AF0 7F05BFC0 E4AA000C */ swc1 $f10, 0xc($a1) -/* 090AF4 7F05BFC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 090AF8 7F05BFC8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 090AFC 7F05BFCC 03E00008 */ jr $ra -/* 090B00 7F05BFD0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05BFD4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05BFD4 -/* 090B04 7F05BFD4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 090B08 7F05BFD8 AFBF0014 */ sw $ra, 0x14($sp) -/* 090B0C 7F05BFDC C48C0000 */ lwc1 $f12, ($a0) -/* 090B10 7F05BFE0 AFA50024 */ sw $a1, 0x24($sp) -/* 090B14 7F05BFE4 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 090B18 7F05BFE8 AFA40020 */ sw $a0, 0x20($sp) -/* 090B1C 7F05BFEC E7A0001C */ swc1 $f0, 0x1c($sp) -/* 090B20 7F05BFF0 0FC15FAB */ jal sinf -/* 090B24 7F05BFF4 46000306 */ mov.s $f12, $f0 -/* 090B28 7F05BFF8 44806000 */ mtc1 $zero, $f12 -/* 090B2C 7F05BFFC 8FA40020 */ lw $a0, 0x20($sp) -/* 090B30 7F05C000 8FA50024 */ lw $a1, 0x24($sp) -/* 090B34 7F05C004 460C0032 */ c.eq.s $f0, $f12 -/* 090B38 7F05C008 00000000 */ nop -/* 090B3C 7F05C00C 45020007 */ bc1fl .L7F05C02C -/* 090B40 7F05C010 E4AC0000 */ swc1 $f12, ($a1) -/* 090B44 7F05C014 E4AC0000 */ swc1 $f12, ($a1) -/* 090B48 7F05C018 E4AC0004 */ swc1 $f12, 4($a1) -/* 090B4C 7F05C01C E4AC0008 */ swc1 $f12, 8($a1) -/* 090B50 7F05C020 1000000D */ b .L7F05C058 -/* 090B54 7F05C024 E4AC000C */ swc1 $f12, 0xc($a1) -/* 090B58 7F05C028 E4AC0000 */ swc1 $f12, ($a1) -.L7F05C02C: -/* 090B5C 7F05C02C C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 090B60 7F05C030 C4860004 */ lwc1 $f6, 4($a0) -/* 090B64 7F05C034 46002083 */ div.s $f2, $f4, $f0 -/* 090B68 7F05C038 46023202 */ mul.s $f8, $f6, $f2 -/* 090B6C 7F05C03C E4A80004 */ swc1 $f8, 4($a1) -/* 090B70 7F05C040 C48A0008 */ lwc1 $f10, 8($a0) -/* 090B74 7F05C044 46025402 */ mul.s $f16, $f10, $f2 -/* 090B78 7F05C048 E4B00008 */ swc1 $f16, 8($a1) -/* 090B7C 7F05C04C C492000C */ lwc1 $f18, 0xc($a0) -/* 090B80 7F05C050 46029102 */ mul.s $f4, $f18, $f2 -/* 090B84 7F05C054 E4A4000C */ swc1 $f4, 0xc($a1) -.L7F05C058: -/* 090B88 7F05C058 8FBF0014 */ lw $ra, 0x14($sp) -/* 090B8C 7F05C05C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 090B90 7F05C060 03E00008 */ jr $ra -/* 090B94 7F05C064 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C068(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C068 -/* 090B98 7F05C068 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 090B9C 7F05C06C AFBF0014 */ sw $ra, 0x14($sp) -/* 090BA0 7F05C070 C4820004 */ lwc1 $f2, 4($a0) -/* 090BA4 7F05C074 C48E0008 */ lwc1 $f14, 8($a0) -/* 090BA8 7F05C078 C480000C */ lwc1 $f0, 0xc($a0) -/* 090BAC 7F05C07C 46021102 */ mul.s $f4, $f2, $f2 -/* 090BB0 7F05C080 AFA5002C */ sw $a1, 0x2c($sp) -/* 090BB4 7F05C084 AFA40028 */ sw $a0, 0x28($sp) -/* 090BB8 7F05C088 460E7182 */ mul.s $f6, $f14, $f14 -/* 090BBC 7F05C08C 46062200 */ add.s $f8, $f4, $f6 -/* 090BC0 7F05C090 46000282 */ mul.s $f10, $f0, $f0 -/* 090BC4 7F05C094 0C007DF8 */ jal sqrtf -/* 090BC8 7F05C098 46085300 */ add.s $f12, $f10, $f8 -/* 090BCC 7F05C09C 44801000 */ mtc1 $zero, $f2 -/* 090BD0 7F05C0A0 8FA40028 */ lw $a0, 0x28($sp) -/* 090BD4 7F05C0A4 8FA5002C */ lw $a1, 0x2c($sp) -/* 090BD8 7F05C0A8 46020032 */ c.eq.s $f0, $f2 -/* 090BDC 7F05C0AC 46000306 */ mov.s $f12, $f0 -/* 090BE0 7F05C0B0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 090BE4 7F05C0B4 45020008 */ bc1fl .L7F05C0D8 -/* 090BE8 7F05C0B8 AFA40028 */ sw $a0, 0x28($sp) -/* 090BEC 7F05C0BC 44818000 */ mtc1 $at, $f16 -/* 090BF0 7F05C0C0 E4A20004 */ swc1 $f2, 4($a1) -/* 090BF4 7F05C0C4 E4A20008 */ swc1 $f2, 8($a1) -/* 090BF8 7F05C0C8 E4A2000C */ swc1 $f2, 0xc($a1) -/* 090BFC 7F05C0CC 10000016 */ b .L7F05C128 -/* 090C00 7F05C0D0 E4B00000 */ swc1 $f16, ($a1) -/* 090C04 7F05C0D4 AFA40028 */ sw $a0, 0x28($sp) -.L7F05C0D8: -/* 090C08 7F05C0D8 AFA5002C */ sw $a1, 0x2c($sp) -/* 090C0C 7F05C0DC 0FC15FAB */ jal sinf -/* 090C10 7F05C0E0 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 090C14 7F05C0E4 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 090C18 7F05C0E8 460C0083 */ div.s $f2, $f0, $f12 -/* 090C1C 7F05C0EC 0FC15FA8 */ jal cosf -/* 090C20 7F05C0F0 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 090C24 7F05C0F4 8FA5002C */ lw $a1, 0x2c($sp) -/* 090C28 7F05C0F8 8FA40028 */ lw $a0, 0x28($sp) -/* 090C2C 7F05C0FC C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 090C30 7F05C100 E4A00000 */ swc1 $f0, ($a1) -/* 090C34 7F05C104 C4920004 */ lwc1 $f18, 4($a0) -/* 090C38 7F05C108 46029102 */ mul.s $f4, $f18, $f2 -/* 090C3C 7F05C10C E4A40004 */ swc1 $f4, 4($a1) -/* 090C40 7F05C110 C4860008 */ lwc1 $f6, 8($a0) -/* 090C44 7F05C114 46023282 */ mul.s $f10, $f6, $f2 -/* 090C48 7F05C118 E4AA0008 */ swc1 $f10, 8($a1) -/* 090C4C 7F05C11C C488000C */ lwc1 $f8, 0xc($a0) -/* 090C50 7F05C120 46024402 */ mul.s $f16, $f8, $f2 -/* 090C54 7F05C124 E4B0000C */ swc1 $f16, 0xc($a1) -.L7F05C128: -/* 090C58 7F05C128 8FBF0014 */ lw $ra, 0x14($sp) -/* 090C5C 7F05C12C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 090C60 7F05C130 03E00008 */ jr $ra -/* 090C64 7F05C134 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C138(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C138 -/* 090C68 7F05C138 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 090C6C 7F05C13C AFB00018 */ sw $s0, 0x18($sp) -/* 090C70 7F05C140 00A08025 */ move $s0, $a1 -/* 090C74 7F05C144 AFBF001C */ sw $ra, 0x1c($sp) -/* 090C78 7F05C148 AFA40070 */ sw $a0, 0x70($sp) -/* 090C7C 7F05C14C AFA60078 */ sw $a2, 0x78($sp) -/* 090C80 7F05C150 AFA7007C */ sw $a3, 0x7c($sp) -/* 090C84 7F05C154 C6040000 */ lwc1 $f4, ($s0) -/* 090C88 7F05C158 00802825 */ move $a1, $a0 -/* 090C8C 7F05C15C 27A40060 */ addiu $a0, $sp, 0x60 -/* 090C90 7F05C160 E7A40060 */ swc1 $f4, 0x60($sp) -/* 090C94 7F05C164 C6060004 */ lwc1 $f6, 4($s0) -/* 090C98 7F05C168 27A60050 */ addiu $a2, $sp, 0x50 -/* 090C9C 7F05C16C 46003207 */ neg.s $f8, $f6 -/* 090CA0 7F05C170 E7A80064 */ swc1 $f8, 0x64($sp) -/* 090CA4 7F05C174 C60A0008 */ lwc1 $f10, 8($s0) -/* 090CA8 7F05C178 46005407 */ neg.s $f16, $f10 -/* 090CAC 7F05C17C E7B00068 */ swc1 $f16, 0x68($sp) -/* 090CB0 7F05C180 C612000C */ lwc1 $f18, 0xc($s0) -/* 090CB4 7F05C184 46009107 */ neg.s $f4, $f18 -/* 090CB8 7F05C188 0FC16FA2 */ jal sub_GAME_7F05BE88 -/* 090CBC 7F05C18C E7A4006C */ swc1 $f4, 0x6c($sp) -/* 090CC0 7F05C190 27A40060 */ addiu $a0, $sp, 0x60 -/* 090CC4 7F05C194 8FA50078 */ lw $a1, 0x78($sp) -/* 090CC8 7F05C198 0FC16FA2 */ jal sub_GAME_7F05BE88 -/* 090CCC 7F05C19C 27A60040 */ addiu $a2, $sp, 0x40 -/* 090CD0 7F05C1A0 27A40050 */ addiu $a0, $sp, 0x50 -/* 090CD4 7F05C1A4 0FC16FF5 */ jal sub_GAME_7F05BFD4 -/* 090CD8 7F05C1A8 27A50030 */ addiu $a1, $sp, 0x30 -/* 090CDC 7F05C1AC 27A40040 */ addiu $a0, $sp, 0x40 -/* 090CE0 7F05C1B0 0FC16FF5 */ jal sub_GAME_7F05BFD4 -/* 090CE4 7F05C1B4 27A50020 */ addiu $a1, $sp, 0x20 -/* 090CE8 7F05C1B8 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 090CEC 7F05C1BC C7A80030 */ lwc1 $f8, 0x30($sp) -/* 090CF0 7F05C1C0 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 090CF4 7F05C1C4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 090CF8 7F05C1C8 46083280 */ add.s $f10, $f6, $f8 -/* 090CFC 7F05C1CC C7A60034 */ lwc1 $f6, 0x34($sp) -/* 090D00 7F05C1D0 44810000 */ mtc1 $at, $f0 -/* 090D04 7F05C1D4 27A40030 */ addiu $a0, $sp, 0x30 -/* 090D08 7F05C1D8 46062200 */ add.s $f8, $f4, $f6 -/* 090D0C 7F05C1DC C7A40038 */ lwc1 $f4, 0x38($sp) -/* 090D10 7F05C1E0 27A50050 */ addiu $a1, $sp, 0x50 -/* 090D14 7F05C1E4 46005407 */ neg.s $f16, $f10 -/* 090D18 7F05C1E8 46004287 */ neg.s $f10, $f8 -/* 090D1C 7F05C1EC 46008482 */ mul.s $f18, $f16, $f0 -/* 090D20 7F05C1F0 E7B20030 */ swc1 $f18, 0x30($sp) -/* 090D24 7F05C1F4 46005402 */ mul.s $f16, $f10, $f0 -/* 090D28 7F05C1F8 C7B20028 */ lwc1 $f18, 0x28($sp) -/* 090D2C 7F05C1FC 46049180 */ add.s $f6, $f18, $f4 -/* 090D30 7F05C200 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 090D34 7F05C204 E7B00034 */ swc1 $f16, 0x34($sp) -/* 090D38 7F05C208 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 090D3C 7F05C20C 46003207 */ neg.s $f8, $f6 -/* 090D40 7F05C210 46128100 */ add.s $f4, $f16, $f18 -/* 090D44 7F05C214 46004282 */ mul.s $f10, $f8, $f0 -/* 090D48 7F05C218 46002187 */ neg.s $f6, $f4 -/* 090D4C 7F05C21C 46003202 */ mul.s $f8, $f6, $f0 -/* 090D50 7F05C220 E7AA0038 */ swc1 $f10, 0x38($sp) -/* 090D54 7F05C224 0FC1701A */ jal sub_GAME_7F05C068 -/* 090D58 7F05C228 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 090D5C 7F05C22C 02002025 */ move $a0, $s0 -/* 090D60 7F05C230 27A50050 */ addiu $a1, $sp, 0x50 -/* 090D64 7F05C234 0FC16FA2 */ jal sub_GAME_7F05BE88 -/* 090D68 7F05C238 8FA6007C */ lw $a2, 0x7c($sp) -/* 090D6C 7F05C23C 8FBF001C */ lw $ra, 0x1c($sp) -/* 090D70 7F05C240 8FB00018 */ lw $s0, 0x18($sp) -/* 090D74 7F05C244 27BD0070 */ addiu $sp, $sp, 0x70 -/* 090D78 7F05C248 03E00008 */ jr $ra -/* 090D7C 7F05C24C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C250(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C250 -/* 090D80 7F05C250 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 090D84 7F05C254 AFBF0014 */ sw $ra, 0x14($sp) -/* 090D88 7F05C258 AFA50044 */ sw $a1, 0x44($sp) -/* 090D8C 7F05C25C AFA40040 */ sw $a0, 0x40($sp) -/* 090D90 7F05C260 AFA60048 */ sw $a2, 0x48($sp) -/* 090D94 7F05C264 AFA7004C */ sw $a3, 0x4c($sp) -/* 090D98 7F05C268 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 090D9C 7F05C26C 00E02825 */ move $a1, $a3 -/* 090DA0 7F05C270 8FA40040 */ lw $a0, 0x40($sp) -/* 090DA4 7F05C274 8FA5004C */ lw $a1, 0x4c($sp) -/* 090DA8 7F05C278 8FA60050 */ lw $a2, 0x50($sp) -/* 090DAC 7F05C27C 0FC16E82 */ jal sub_GAME_7F05BA08 -/* 090DB0 7F05C280 27A70030 */ addiu $a3, $sp, 0x30 -/* 090DB4 7F05C284 8FA40044 */ lw $a0, 0x44($sp) -/* 090DB8 7F05C288 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 090DBC 7F05C28C 8FA50048 */ lw $a1, 0x48($sp) -/* 090DC0 7F05C290 8FA40044 */ lw $a0, 0x44($sp) -/* 090DC4 7F05C294 8FA50048 */ lw $a1, 0x48($sp) -/* 090DC8 7F05C298 8FA60050 */ lw $a2, 0x50($sp) -/* 090DCC 7F05C29C 0FC16E82 */ jal sub_GAME_7F05BA08 -/* 090DD0 7F05C2A0 27A70020 */ addiu $a3, $sp, 0x20 -/* 090DD4 7F05C2A4 27A40030 */ addiu $a0, $sp, 0x30 -/* 090DD8 7F05C2A8 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 090DDC 7F05C2AC 27A50020 */ addiu $a1, $sp, 0x20 -/* 090DE0 7F05C2B0 C7A00050 */ lwc1 $f0, 0x50($sp) -/* 090DE4 7F05C2B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 090DE8 7F05C2B8 44813000 */ mtc1 $at, $f6 -/* 090DEC 7F05C2BC 46000100 */ add.s $f4, $f0, $f0 -/* 090DF0 7F05C2C0 27A40030 */ addiu $a0, $sp, 0x30 -/* 090DF4 7F05C2C4 27A50020 */ addiu $a1, $sp, 0x20 -/* 090DF8 7F05C2C8 46003201 */ sub.s $f8, $f6, $f0 -/* 090DFC 7F05C2CC 8FA70054 */ lw $a3, 0x54($sp) -/* 090E00 7F05C2D0 46082282 */ mul.s $f10, $f4, $f8 -/* 090E04 7F05C2D4 44065000 */ mfc1 $a2, $f10 -/* 090E08 7F05C2D8 0FC16E82 */ jal sub_GAME_7F05BA08 -/* 090E0C 7F05C2DC 00000000 */ nop -/* 090E10 7F05C2E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 090E14 7F05C2E4 27BD0040 */ addiu $sp, $sp, 0x40 -/* 090E18 7F05C2E8 03E00008 */ jr $ra -/* 090E1C 7F05C2EC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05C2F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C2F0 -/* 090E20 7F05C2F0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 090E24 7F05C2F4 AFBF001C */ sw $ra, 0x1c($sp) -/* 090E28 7F05C2F8 AFA7004C */ sw $a3, 0x4c($sp) -/* 090E2C 7F05C2FC AFA50044 */ sw $a1, 0x44($sp) -/* 090E30 7F05C300 AFA60048 */ sw $a2, 0x48($sp) -/* 090E34 7F05C304 0FC1704E */ jal sub_GAME_7F05C138 -/* 090E38 7F05C308 27A70030 */ addiu $a3, $sp, 0x30 -/* 090E3C 7F05C30C 8FA40044 */ lw $a0, 0x44($sp) -/* 090E40 7F05C310 8FA50048 */ lw $a1, 0x48($sp) -/* 090E44 7F05C314 8FA6004C */ lw $a2, 0x4c($sp) -/* 090E48 7F05C318 0FC1704E */ jal sub_GAME_7F05C138 -/* 090E4C 7F05C31C 27A70020 */ addiu $a3, $sp, 0x20 -/* 090E50 7F05C320 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 090E54 7F05C324 8FAE0054 */ lw $t6, 0x54($sp) -/* 090E58 7F05C328 8FA40044 */ lw $a0, 0x44($sp) -/* 090E5C 7F05C32C 27A50030 */ addiu $a1, $sp, 0x30 -/* 090E60 7F05C330 27A60020 */ addiu $a2, $sp, 0x20 -/* 090E64 7F05C334 8FA70048 */ lw $a3, 0x48($sp) -/* 090E68 7F05C338 E7A40010 */ swc1 $f4, 0x10($sp) -/* 090E6C 7F05C33C 0FC17094 */ jal sub_GAME_7F05C250 -/* 090E70 7F05C340 AFAE0014 */ sw $t6, 0x14($sp) -/* 090E74 7F05C344 8FBF001C */ lw $ra, 0x1c($sp) -/* 090E78 7F05C348 27BD0040 */ addiu $sp, $sp, 0x40 -/* 090E7C 7F05C34C 03E00008 */ jr $ra -/* 090E80 7F05C350 00000000 */ nop -) -#endif - - - - diff --git a/src/game/unk_05C440.c b/src/game/unk_05C440.c deleted file mode 100644 index 05dfe00..0000000 --- a/src/game/unk_05C440.c +++ /dev/null @@ -1,126 +0,0 @@ -#include "ultra64.h" - - - -#ifdef NONMATCHING -f32 sub_GAME_7F05C440(f32 arg0) { - f32 temp_f2; - - // Node 0 - if (arg0 <= 0.0f) - { - // Node 1 - return (f32) (s32) arg0; - } - // Node 2 - temp_f2 = (f32) (s32) arg0; - if (arg0 == temp_f2) - { - // Node 3 - return temp_f2; - } - // Node 4 - return (temp_f2 + 1.0f); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C440 -/* 090F70 7F05C440 44802000 */ mtc1 $zero, $f4 -/* 090F74 7F05C444 00000000 */ nop -/* 090F78 7F05C448 4604603E */ c.le.s $f12, $f4 -/* 090F7C 7F05C44C 00000000 */ nop -/* 090F80 7F05C450 45020008 */ bc1fl .L7F05C474 -/* 090F84 7F05C454 4600628D */ trunc.w.s $f10, $f12 -/* 090F88 7F05C458 4600618D */ trunc.w.s $f6, $f12 -/* 090F8C 7F05C45C 440F3000 */ mfc1 $t7, $f6 -/* 090F90 7F05C460 00000000 */ nop -/* 090F94 7F05C464 448F4000 */ mtc1 $t7, $f8 -/* 090F98 7F05C468 03E00008 */ jr $ra -/* 090F9C 7F05C46C 46804020 */ cvt.s.w $f0, $f8 - -/* 090FA0 7F05C470 4600628D */ trunc.w.s $f10, $f12 -.L7F05C474: -/* 090FA4 7F05C474 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 090FA8 7F05C478 44195000 */ mfc1 $t9, $f10 -/* 090FAC 7F05C47C 00000000 */ nop -/* 090FB0 7F05C480 44998000 */ mtc1 $t9, $f16 -/* 090FB4 7F05C484 00000000 */ nop -/* 090FB8 7F05C488 468080A0 */ cvt.s.w $f2, $f16 -/* 090FBC 7F05C48C 46026032 */ c.eq.s $f12, $f2 -/* 090FC0 7F05C490 00000000 */ nop -/* 090FC4 7F05C494 45020004 */ bc1fl .L7F05C4A8 -/* 090FC8 7F05C498 44819000 */ mtc1 $at, $f18 -/* 090FCC 7F05C49C 03E00008 */ jr $ra -/* 090FD0 7F05C4A0 46001006 */ mov.s $f0, $f2 - -/* 090FD4 7F05C4A4 44819000 */ mtc1 $at, $f18 -.L7F05C4A8: -/* 090FD8 7F05C4A8 00000000 */ nop -/* 090FDC 7F05C4AC 46121000 */ add.s $f0, $f2, $f18 -/* 090FE0 7F05C4B0 03E00008 */ jr $ra -/* 090FE4 7F05C4B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F05C4B8(f32 arg0) { - s32 temp_f8; - - // Node 0 - if (arg0 <= 0.0f) - { - // Node 1 - return (s32) arg0; - } - // Node 2 - temp_f8 = (s32) arg0; - if (arg0 == (f32) temp_f8) - { - // Node 3 - return temp_f8; - } - // Node 4 - return (temp_f8 + 1); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05C4B8 -/* 090FE8 7F05C4B8 44802000 */ mtc1 $zero, $f4 -/* 090FEC 7F05C4BC 00000000 */ nop -/* 090FF0 7F05C4C0 4604603E */ c.le.s $f12, $f4 -/* 090FF4 7F05C4C4 00000000 */ nop -/* 090FF8 7F05C4C8 45020006 */ bc1fl .L7F05C4E4 -/* 090FFC 7F05C4CC 4600620D */ trunc.w.s $f8, $f12 -/* 091000 7F05C4D0 4600618D */ trunc.w.s $f6, $f12 -/* 091004 7F05C4D4 44023000 */ mfc1 $v0, $f6 -/* 091008 7F05C4D8 03E00008 */ jr $ra -/* 09100C 7F05C4DC 00000000 */ nop - -/* 091010 7F05C4E0 4600620D */ trunc.w.s $f8, $f12 -.L7F05C4E4: -/* 091014 7F05C4E4 44034000 */ mfc1 $v1, $f8 -/* 091018 7F05C4E8 00000000 */ nop -/* 09101C 7F05C4EC 44835000 */ mtc1 $v1, $f10 -/* 091020 7F05C4F0 24620001 */ addiu $v0, $v1, 1 -/* 091024 7F05C4F4 46805420 */ cvt.s.w $f16, $f10 -/* 091028 7F05C4F8 46106032 */ c.eq.s $f12, $f16 -/* 09102C 7F05C4FC 00000000 */ nop -/* 091030 7F05C500 45000003 */ bc1f .L7F05C510 -/* 091034 7F05C504 00000000 */ nop -/* 091038 7F05C508 03E00008 */ jr $ra -/* 09103C 7F05C50C 00601025 */ move $v0, $v1 - -.L7F05C510: -/* 091040 7F05C510 03E00008 */ jr $ra -/* 091044 7F05C514 00000000 */ nop -) -#endif - - - diff --git a/src/game/unk_08DBB0.c b/src/game/unk_08DBB0.c deleted file mode 100644 index 1083d06..0000000 --- a/src/game/unk_08DBB0.c +++ /dev/null @@ -1,2930 +0,0 @@ -#include "ultra64.h" - -// data -//D:80036AD0 -u32 D_80036AD0 = 0x4144; -u32 D_80036AD4 = 0x41180000; -u32 D_80036AD8 = 0x41D80000; -u32 D_80036ADC = 0; -u32 D_80036AE0 = 0; - -//D:80036AE4 -u32 D_80036AE4 = 0x3FC00000; -u32 D_80036AE8 = 0x4070; -u32 D_80036AEC = 0x40F00000; -u32 D_80036AF0 = 0x41880000; -u32 D_80036AF4 = 0; -//D:80036AF8 -u32 D_80036AF8 = 0x3FC00000; -//D:80036AFC -u32 D_80036AFC = 0x42C80000; - -//D:80036B00 -u32 D_80036B00 = 0; -//D:80036B04 -u32 D_80036B04 = 0; -//D:80036B08 -u32 D_80036B08 = 0; -//D:80036B0C -u32 D_80036B0C = 0; -//D:80036B10 -u32 D_80036B10 = 0; -//D:80036B14 -f32 D_80036B14 = 1.0; -//D:80036B18 -u32 D_80036B18 = 0; -//D:80036B1C -f32 D_80036B1C = 1.0; -//D:80036B20 -u32 D_80036B20 = 0; -//D:80036B24 -u32 D_80036B24 = 0; -//D:80036B28 -u32 D_80036B28 = 1; -//D:80036B2C -u32 D_80036B2C = 3; -//D:80036B30 -u32 D_80036B30[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -//D:80036B60 -u32 D_80036B60 = 0; -//D:80036B64 -u32 D_80036B64 = 0; -//D:80036B68 -u32 D_80036B68 = 0; -//D:80036B6C -u32 D_80036B6C = 0; - - - -// rodata - - - -#ifdef NONMATCHING -u32 sub_GAME_7F08DBB0(void) { - // Node 0 - pPlayer->unk5BC = (s8) ((u32) pPlayer->unk5BC < 1U); - return pPlayer->unk5BC; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08DBB0 -/* 0C26E0 7F08DBB0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C26E4 7F08DBB4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0C26E8 7F08DBB8 806205BC */ lb $v0, 0x5bc($v1) -/* 0C26EC 7F08DBBC 2C4E0001 */ sltiu $t6, $v0, 1 -/* 0C26F0 7F08DBC0 03E00008 */ jr $ra -/* 0C26F4 7F08DBC4 A06E05BC */ sb $t6, 0x5bc($v1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08DBC8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800552E0 -.word 0x3ca3d70a /*0.02*/ -glabel D_800552E4 -.word 0x3ca3d70a /*0.02*/ -glabel D_800552E8 -.word 0x3c23d70a /*0.0099999998*/ -glabel D_800552EC -.word 0xbc23d70a /*-0.0099999998*/ -glabel D_800552F0 -.word 0xbc23d70a /*-0.0099999998*/ -glabel D_800552F4 -.word 0x3c23d70a /*0.0099999998*/ -.text -glabel sub_GAME_7F08DBC8 -/* 0C26F8 7F08DBC8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C26FC 7F08DBCC AFBF002C */ sw $ra, 0x2c($sp) -/* 0C2700 7F08DBD0 AFB20028 */ sw $s2, 0x28($sp) -/* 0C2704 7F08DBD4 AFB10024 */ sw $s1, 0x24($sp) -/* 0C2708 7F08DBD8 AFB00020 */ sw $s0, 0x20($sp) -/* 0C270C 7F08DBDC 0C002914 */ jal get_random_value -/* 0C2710 7F08DBE0 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0C2714 7F08DBE4 44822000 */ mtc1 $v0, $f4 -/* 0C2718 7F08DBE8 3C118008 */ lui $s1, %hi(pPlayer) -/* 0C271C 7F08DBEC 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0C2720 7F08DBF0 4481A000 */ mtc1 $at, $f20 -/* 0C2724 7F08DBF4 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50 -/* 0C2728 7F08DBF8 8E300000 */ lw $s0, ($s1) -/* 0C272C 7F08DBFC 2412000C */ li $s2, 12 -/* 0C2730 7F08DC00 04410005 */ bgez $v0, .L7F08DC18 -/* 0C2734 7F08DC04 468021A0 */ cvt.s.w $f6, $f4 -/* 0C2738 7F08DC08 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C273C 7F08DC0C 44814000 */ mtc1 $at, $f8 -/* 0C2740 7F08DC10 00000000 */ nop -/* 0C2744 7F08DC14 46083180 */ add.s $f6, $f6, $f8 -.L7F08DC18: -/* 0C2748 7F08DC18 46143282 */ mul.s $f10, $f6, $f20 -/* 0C274C 7F08DC1C 8E0E0594 */ lw $t6, 0x594($s0) -/* 0C2750 7F08DC20 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C2754 7F08DC24 44818000 */ mtc1 $at, $f16 -/* 0C2758 7F08DC28 01D20019 */ multu $t6, $s2 -/* 0C275C 7F08DC2C 3C018005 */ lui $at, %hi(D_800552E0) -/* 0C2760 7F08DC30 C42452E0 */ lwc1 $f4, %lo(D_800552E0)($at) -/* 0C2764 7F08DC34 46105481 */ sub.s $f18, $f10, $f16 -/* 0C2768 7F08DC38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C276C 7F08DC3C 44813000 */ mtc1 $at, $f6 -/* 0C2770 7F08DC40 46049202 */ mul.s $f8, $f18, $f4 -/* 0C2774 7F08DC44 00007812 */ mflo $t7 -/* 0C2778 7F08DC48 020FC021 */ addu $t8, $s0, $t7 -/* 0C277C 7F08DC4C E7080564 */ swc1 $f8, 0x564($t8) -/* 0C2780 7F08DC50 8E300000 */ lw $s0, ($s1) -/* 0C2784 7F08DC54 8E190594 */ lw $t9, 0x594($s0) -/* 0C2788 7F08DC58 03320019 */ multu $t9, $s2 -/* 0C278C 7F08DC5C 00004012 */ mflo $t0 -/* 0C2790 7F08DC60 02084821 */ addu $t1, $s0, $t0 -/* 0C2794 7F08DC64 0C002914 */ jal get_random_value -/* 0C2798 7F08DC68 E526056C */ swc1 $f6, 0x56c($t1) -/* 0C279C 7F08DC6C 44825000 */ mtc1 $v0, $f10 -/* 0C27A0 7F08DC70 8E300000 */ lw $s0, ($s1) -/* 0C27A4 7F08DC74 04410005 */ bgez $v0, .L7F08DC8C -/* 0C27A8 7F08DC78 46805420 */ cvt.s.w $f16, $f10 -/* 0C27AC 7F08DC7C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C27B0 7F08DC80 44819000 */ mtc1 $at, $f18 -/* 0C27B4 7F08DC84 00000000 */ nop -/* 0C27B8 7F08DC88 46128400 */ add.s $f16, $f16, $f18 -.L7F08DC8C: -/* 0C27BC 7F08DC8C 46148102 */ mul.s $f4, $f16, $f20 -/* 0C27C0 7F08DC90 8E0A0594 */ lw $t2, 0x594($s0) -/* 0C27C4 7F08DC94 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C27C8 7F08DC98 44814000 */ mtc1 $at, $f8 -/* 0C27CC 7F08DC9C 01520019 */ multu $t2, $s2 -/* 0C27D0 7F08DCA0 3C018005 */ lui $at, %hi(D_800552E4) -/* 0C27D4 7F08DCA4 C42A52E4 */ lwc1 $f10, %lo(D_800552E4)($at) -/* 0C27D8 7F08DCA8 46082181 */ sub.s $f6, $f4, $f8 -/* 0C27DC 7F08DCAC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C27E0 7F08DCB0 44818000 */ mtc1 $at, $f16 -/* 0C27E4 7F08DCB4 460A3482 */ mul.s $f18, $f6, $f10 -/* 0C27E8 7F08DCB8 00005812 */ mflo $t3 -/* 0C27EC 7F08DCBC 020B6021 */ addu $t4, $s0, $t3 -/* 0C27F0 7F08DCC0 E592057C */ swc1 $f18, 0x57c($t4) -/* 0C27F4 7F08DCC4 8E300000 */ lw $s0, ($s1) -/* 0C27F8 7F08DCC8 8E0D0594 */ lw $t5, 0x594($s0) -/* 0C27FC 7F08DCCC 01B20019 */ multu $t5, $s2 -/* 0C2800 7F08DCD0 00007012 */ mflo $t6 -/* 0C2804 7F08DCD4 020E7821 */ addu $t7, $s0, $t6 -/* 0C2808 7F08DCD8 E5F00580 */ swc1 $f16, 0x580($t7) -/* 0C280C 7F08DCDC 8E380000 */ lw $t8, ($s1) -/* 0C2810 7F08DCE0 8F190594 */ lw $t9, 0x594($t8) -/* 0C2814 7F08DCE4 13200027 */ beqz $t9, .L7F08DD84 -/* 0C2818 7F08DCE8 00000000 */ nop -/* 0C281C 7F08DCEC 0C002914 */ jal get_random_value -/* 0C2820 7F08DCF0 00000000 */ nop -/* 0C2824 7F08DCF4 44822000 */ mtc1 $v0, $f4 -/* 0C2828 7F08DCF8 8E300000 */ lw $s0, ($s1) -/* 0C282C 7F08DCFC 04410005 */ bgez $v0, .L7F08DD14 -/* 0C2830 7F08DD00 46802220 */ cvt.s.w $f8, $f4 -/* 0C2834 7F08DD04 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C2838 7F08DD08 44813000 */ mtc1 $at, $f6 -/* 0C283C 7F08DD0C 00000000 */ nop -/* 0C2840 7F08DD10 46064200 */ add.s $f8, $f8, $f6 -.L7F08DD14: -/* 0C2844 7F08DD14 8E080594 */ lw $t0, 0x594($s0) -/* 0C2848 7F08DD18 46144282 */ mul.s $f10, $f8, $f20 -/* 0C284C 7F08DD1C 3C018005 */ lui $at, %hi(D_800552E8) -/* 0C2850 7F08DD20 01120019 */ multu $t0, $s2 -/* 0C2854 7F08DD24 C43252E8 */ lwc1 $f18, %lo(D_800552E8)($at) -/* 0C2858 7F08DD28 46125402 */ mul.s $f16, $f10, $f18 -/* 0C285C 7F08DD2C 00004812 */ mflo $t1 -/* 0C2860 7F08DD30 02095021 */ addu $t2, $s0, $t1 -/* 0C2864 7F08DD34 0C002914 */ jal get_random_value -/* 0C2868 7F08DD38 E5500568 */ swc1 $f16, 0x568($t2) -/* 0C286C 7F08DD3C 44822000 */ mtc1 $v0, $f4 -/* 0C2870 7F08DD40 8E300000 */ lw $s0, ($s1) -/* 0C2874 7F08DD44 04410005 */ bgez $v0, .L7F08DD5C -/* 0C2878 7F08DD48 468021A0 */ cvt.s.w $f6, $f4 -/* 0C287C 7F08DD4C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C2880 7F08DD50 44814000 */ mtc1 $at, $f8 -/* 0C2884 7F08DD54 00000000 */ nop -/* 0C2888 7F08DD58 46083180 */ add.s $f6, $f6, $f8 -.L7F08DD5C: -/* 0C288C 7F08DD5C 8E0B0594 */ lw $t3, 0x594($s0) -/* 0C2890 7F08DD60 46143282 */ mul.s $f10, $f6, $f20 -/* 0C2894 7F08DD64 3C018005 */ lui $at, %hi(D_800552EC) -/* 0C2898 7F08DD68 01720019 */ multu $t3, $s2 -/* 0C289C 7F08DD6C C43252EC */ lwc1 $f18, %lo(D_800552EC)($at) -/* 0C28A0 7F08DD70 46125402 */ mul.s $f16, $f10, $f18 -/* 0C28A4 7F08DD74 00006012 */ mflo $t4 -/* 0C28A8 7F08DD78 020C6821 */ addu $t5, $s0, $t4 -/* 0C28AC 7F08DD7C 10000026 */ b .L7F08DE18 -/* 0C28B0 7F08DD80 E5B00584 */ swc1 $f16, 0x584($t5) -.L7F08DD84: -/* 0C28B4 7F08DD84 0C002914 */ jal get_random_value -/* 0C28B8 7F08DD88 00000000 */ nop -/* 0C28BC 7F08DD8C 44822000 */ mtc1 $v0, $f4 -/* 0C28C0 7F08DD90 8E300000 */ lw $s0, ($s1) -/* 0C28C4 7F08DD94 04410005 */ bgez $v0, .L7F08DDAC -/* 0C28C8 7F08DD98 46802220 */ cvt.s.w $f8, $f4 -/* 0C28CC 7F08DD9C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C28D0 7F08DDA0 44813000 */ mtc1 $at, $f6 -/* 0C28D4 7F08DDA4 00000000 */ nop -/* 0C28D8 7F08DDA8 46064200 */ add.s $f8, $f8, $f6 -.L7F08DDAC: -/* 0C28DC 7F08DDAC 8E0E0594 */ lw $t6, 0x594($s0) -/* 0C28E0 7F08DDB0 46144282 */ mul.s $f10, $f8, $f20 -/* 0C28E4 7F08DDB4 3C018005 */ lui $at, %hi(D_800552F0) -/* 0C28E8 7F08DDB8 01D20019 */ multu $t6, $s2 -/* 0C28EC 7F08DDBC C43252F0 */ lwc1 $f18, %lo(D_800552F0)($at) -/* 0C28F0 7F08DDC0 46125402 */ mul.s $f16, $f10, $f18 -/* 0C28F4 7F08DDC4 00007812 */ mflo $t7 -/* 0C28F8 7F08DDC8 020FC021 */ addu $t8, $s0, $t7 -/* 0C28FC 7F08DDCC 0C002914 */ jal get_random_value -/* 0C2900 7F08DDD0 E7100568 */ swc1 $f16, 0x568($t8) -/* 0C2904 7F08DDD4 44822000 */ mtc1 $v0, $f4 -/* 0C2908 7F08DDD8 8E300000 */ lw $s0, ($s1) -/* 0C290C 7F08DDDC 04410005 */ bgez $v0, .L7F08DDF4 -/* 0C2910 7F08DDE0 468021A0 */ cvt.s.w $f6, $f4 -/* 0C2914 7F08DDE4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C2918 7F08DDE8 44814000 */ mtc1 $at, $f8 -/* 0C291C 7F08DDEC 00000000 */ nop -/* 0C2920 7F08DDF0 46083180 */ add.s $f6, $f6, $f8 -.L7F08DDF4: -/* 0C2924 7F08DDF4 8E190594 */ lw $t9, 0x594($s0) -/* 0C2928 7F08DDF8 46143282 */ mul.s $f10, $f6, $f20 -/* 0C292C 7F08DDFC 3C018005 */ lui $at, %hi(D_800552F4) -/* 0C2930 7F08DE00 03320019 */ multu $t9, $s2 -/* 0C2934 7F08DE04 C43252F4 */ lwc1 $f18, %lo(D_800552F4)($at) -/* 0C2938 7F08DE08 46125402 */ mul.s $f16, $f10, $f18 -/* 0C293C 7F08DE0C 00004012 */ mflo $t0 -/* 0C2940 7F08DE10 02084821 */ addu $t1, $s0, $t0 -/* 0C2944 7F08DE14 E5300584 */ swc1 $f16, 0x584($t1) -.L7F08DE18: -/* 0C2948 7F08DE18 8E300000 */ lw $s0, ($s1) -/* 0C294C 7F08DE1C 240B0001 */ li $t3, 1 -/* 0C2950 7F08DE20 8E0A0594 */ lw $t2, 0x594($s0) -/* 0C2954 7F08DE24 016A6023 */ subu $t4, $t3, $t2 -/* 0C2958 7F08DE28 AE0C0594 */ sw $t4, 0x594($s0) -/* 0C295C 7F08DE2C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C2960 7F08DE30 8FB20028 */ lw $s2, 0x28($sp) -/* 0C2964 7F08DE34 8FB10024 */ lw $s1, 0x24($sp) -/* 0C2968 7F08DE38 8FB00020 */ lw $s0, 0x20($sp) -/* 0C296C 7F08DE3C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0C2970 7F08DE40 03E00008 */ jr $ra -/* 0C2974 7F08DE44 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08DE48(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800552F8 -.word 0x3d8f5c28 /*0.069999993*/ -glabel master_player_perspective -.word 0x3d8f5c28 /*0.069999993*/ -glabel D_80055300 -.word 0x3f6e147b /*0.93000001*/ -.text -glabel sub_GAME_7F08DE48 -/* 0C2978 7F08DE48 3C058008 */ lui $a1, %hi(pPlayer) -/* 0C297C 7F08DE4C 24A5A0B0 */ addiu $a1, %lo(pPlayer) # addiu $a1, $a1, -0x5f50 -/* 0C2980 7F08DE50 8CA20000 */ lw $v0, ($a1) -/* 0C2984 7F08DE54 3C068005 */ lui $a2, %hi(clock_timer) -/* 0C2988 7F08DE58 24C68374 */ addiu $a2, %lo(clock_timer) # addiu $a2, $a2, -0x7c8c -/* 0C298C 7F08DE5C 8C4E04DC */ lw $t6, 0x4dc($v0) -/* 0C2990 7F08DE60 51C0000E */ beql $t6, $zero, .L7F08DE9C -/* 0C2994 7F08DE64 8CC80000 */ lw $t0, ($a2) -/* 0C2998 7F08DE68 44800000 */ mtc1 $zero, $f0 -/* 0C299C 7F08DE6C 3C018005 */ lui $at, %hi(D_800552F8) -/* 0C29A0 7F08DE70 C42252F8 */ lwc1 $f2, %lo(D_800552F8)($at) -/* 0C29A4 7F08DE74 E4400520 */ swc1 $f0, 0x520($v0) -/* 0C29A8 7F08DE78 C4840004 */ lwc1 $f4, 4($a0) -/* 0C29AC 7F08DE7C 8CAF0000 */ lw $t7, ($a1) -/* 0C29B0 7F08DE80 46022183 */ div.s $f6, $f4, $f2 -/* 0C29B4 7F08DE84 E5E60524 */ swc1 $f6, 0x524($t7) -/* 0C29B8 7F08DE88 8CB80000 */ lw $t8, ($a1) -/* 0C29BC 7F08DE8C E7000528 */ swc1 $f0, 0x528($t8) -/* 0C29C0 7F08DE90 8CB90000 */ lw $t9, ($a1) -/* 0C29C4 7F08DE94 AF2004DC */ sw $zero, 0x4dc($t9) -/* 0C29C8 7F08DE98 8CC80000 */ lw $t0, ($a2) -.L7F08DE9C: -/* 0C29CC 7F08DE9C 3C018005 */ lui $at, %hi(master_player_perspective) -/* 0C29D0 7F08DEA0 C42252FC */ lwc1 $f2, %lo(master_player_perspective)($at) -/* 0C29D4 7F08DEA4 1900001A */ blez $t0, .L7F08DF10 -/* 0C29D8 7F08DEA8 00001825 */ move $v1, $zero -/* 0C29DC 7F08DEAC 3C018005 */ lui $at, %hi(D_80055300) -/* 0C29E0 7F08DEB0 C4205300 */ lwc1 $f0, %lo(D_80055300)($at) -/* 0C29E4 7F08DEB4 8CA20000 */ lw $v0, ($a1) -.L7F08DEB8: -/* 0C29E8 7F08DEB8 C4880000 */ lwc1 $f8, ($a0) -/* 0C29EC 7F08DEBC 24630001 */ addiu $v1, $v1, 1 -/* 0C29F0 7F08DEC0 C44A0520 */ lwc1 $f10, 0x520($v0) -/* 0C29F4 7F08DEC4 460A0402 */ mul.s $f16, $f0, $f10 -/* 0C29F8 7F08DEC8 46104480 */ add.s $f18, $f8, $f16 -/* 0C29FC 7F08DECC E4520520 */ swc1 $f18, 0x520($v0) -/* 0C2A00 7F08DED0 8CA20000 */ lw $v0, ($a1) -/* 0C2A04 7F08DED4 C4840004 */ lwc1 $f4, 4($a0) -/* 0C2A08 7F08DED8 C4460524 */ lwc1 $f6, 0x524($v0) -/* 0C2A0C 7F08DEDC 46060282 */ mul.s $f10, $f0, $f6 -/* 0C2A10 7F08DEE0 460A2200 */ add.s $f8, $f4, $f10 -/* 0C2A14 7F08DEE4 E4480524 */ swc1 $f8, 0x524($v0) -/* 0C2A18 7F08DEE8 8CA20000 */ lw $v0, ($a1) -/* 0C2A1C 7F08DEEC C4900008 */ lwc1 $f16, 8($a0) -/* 0C2A20 7F08DEF0 C4520528 */ lwc1 $f18, 0x528($v0) -/* 0C2A24 7F08DEF4 46120182 */ mul.s $f6, $f0, $f18 -/* 0C2A28 7F08DEF8 46068100 */ add.s $f4, $f16, $f6 -/* 0C2A2C 7F08DEFC E4440528 */ swc1 $f4, 0x528($v0) -/* 0C2A30 7F08DF00 8CC90000 */ lw $t1, ($a2) -/* 0C2A34 7F08DF04 0069082A */ slt $at, $v1, $t1 -/* 0C2A38 7F08DF08 5420FFEB */ bnezl $at, .L7F08DEB8 -/* 0C2A3C 7F08DF0C 8CA20000 */ lw $v0, ($a1) -.L7F08DF10: -/* 0C2A40 7F08DF10 8CA20000 */ lw $v0, ($a1) -/* 0C2A44 7F08DF14 C44A0520 */ lwc1 $f10, 0x520($v0) -/* 0C2A48 7F08DF18 46025202 */ mul.s $f8, $f10, $f2 -/* 0C2A4C 7F08DF1C E44804FC */ swc1 $f8, 0x4fc($v0) -/* 0C2A50 7F08DF20 8CA20000 */ lw $v0, ($a1) -/* 0C2A54 7F08DF24 C4520524 */ lwc1 $f18, 0x524($v0) -/* 0C2A58 7F08DF28 46029402 */ mul.s $f16, $f18, $f2 -/* 0C2A5C 7F08DF2C E4500500 */ swc1 $f16, 0x500($v0) -/* 0C2A60 7F08DF30 8CA20000 */ lw $v0, ($a1) -/* 0C2A64 7F08DF34 C4460528 */ lwc1 $f6, 0x528($v0) -/* 0C2A68 7F08DF38 46023102 */ mul.s $f4, $f6, $f2 -/* 0C2A6C 7F08DF3C 03E00008 */ jr $ra -/* 0C2A70 7F08DF40 E4440504 */ swc1 $f4, 0x504($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08DF44(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08DF44 -/* 0C2A74 7F08DF44 3C068008 */ lui $a2, %hi(pPlayer) -/* 0C2A78 7F08DF48 24C6A0B0 */ addiu $a2, %lo(pPlayer) # addiu $a2, $a2, -0x5f50 -/* 0C2A7C 7F08DF4C 8CC20000 */ lw $v0, ($a2) -/* 0C2A80 7F08DF50 3C078005 */ lui $a3, %hi(clock_timer) -/* 0C2A84 7F08DF54 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2A88 7F08DF58 8C4E04E0 */ lw $t6, 0x4e0($v0) -/* 0C2A8C 7F08DF5C 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c -/* 0C2A90 7F08DF60 51C00028 */ beql $t6, $zero, .L7F08E004 -/* 0C2A94 7F08DF64 8CF80000 */ lw $t8, ($a3) -/* 0C2A98 7F08DF68 44810000 */ mtc1 $at, $f0 -/* 0C2A9C 7F08DF6C C44604EC */ lwc1 $f6, 0x4ec($v0) -/* 0C2AA0 7F08DF70 C4840000 */ lwc1 $f4, ($a0) -/* 0C2AA4 7F08DF74 46060201 */ sub.s $f8, $f0, $f6 -/* 0C2AA8 7F08DF78 46082283 */ div.s $f10, $f4, $f8 -/* 0C2AAC 7F08DF7C E44A052C */ swc1 $f10, 0x52c($v0) -/* 0C2AB0 7F08DF80 8CC20000 */ lw $v0, ($a2) -/* 0C2AB4 7F08DF84 C4900004 */ lwc1 $f16, 4($a0) -/* 0C2AB8 7F08DF88 C45204EC */ lwc1 $f18, 0x4ec($v0) -/* 0C2ABC 7F08DF8C 46120181 */ sub.s $f6, $f0, $f18 -/* 0C2AC0 7F08DF90 46068103 */ div.s $f4, $f16, $f6 -/* 0C2AC4 7F08DF94 E4440530 */ swc1 $f4, 0x530($v0) -/* 0C2AC8 7F08DF98 8CC20000 */ lw $v0, ($a2) -/* 0C2ACC 7F08DF9C C4880008 */ lwc1 $f8, 8($a0) -/* 0C2AD0 7F08DFA0 C44A04EC */ lwc1 $f10, 0x4ec($v0) -/* 0C2AD4 7F08DFA4 460A0481 */ sub.s $f18, $f0, $f10 -/* 0C2AD8 7F08DFA8 46124403 */ div.s $f16, $f8, $f18 -/* 0C2ADC 7F08DFAC E4500534 */ swc1 $f16, 0x534($v0) -/* 0C2AE0 7F08DFB0 8CC20000 */ lw $v0, ($a2) -/* 0C2AE4 7F08DFB4 C4A60000 */ lwc1 $f6, ($a1) -/* 0C2AE8 7F08DFB8 C44404EC */ lwc1 $f4, 0x4ec($v0) -/* 0C2AEC 7F08DFBC 46040281 */ sub.s $f10, $f0, $f4 -/* 0C2AF0 7F08DFC0 460A3203 */ div.s $f8, $f6, $f10 -/* 0C2AF4 7F08DFC4 E4480538 */ swc1 $f8, 0x538($v0) -/* 0C2AF8 7F08DFC8 8CC20000 */ lw $v0, ($a2) -/* 0C2AFC 7F08DFCC C4B20004 */ lwc1 $f18, 4($a1) -/* 0C2B00 7F08DFD0 C45004EC */ lwc1 $f16, 0x4ec($v0) -/* 0C2B04 7F08DFD4 46100101 */ sub.s $f4, $f0, $f16 -/* 0C2B08 7F08DFD8 46049183 */ div.s $f6, $f18, $f4 -/* 0C2B0C 7F08DFDC E446053C */ swc1 $f6, 0x53c($v0) -/* 0C2B10 7F08DFE0 8CC20000 */ lw $v0, ($a2) -/* 0C2B14 7F08DFE4 C4AA0008 */ lwc1 $f10, 8($a1) -/* 0C2B18 7F08DFE8 C44804EC */ lwc1 $f8, 0x4ec($v0) -/* 0C2B1C 7F08DFEC 46080401 */ sub.s $f16, $f0, $f8 -/* 0C2B20 7F08DFF0 46105483 */ div.s $f18, $f10, $f16 -/* 0C2B24 7F08DFF4 E4520540 */ swc1 $f18, 0x540($v0) -/* 0C2B28 7F08DFF8 8CCF0000 */ lw $t7, ($a2) -/* 0C2B2C 7F08DFFC ADE004E0 */ sw $zero, 0x4e0($t7) -/* 0C2B30 7F08E000 8CF80000 */ lw $t8, ($a3) -.L7F08E004: -/* 0C2B34 7F08E004 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2B38 7F08E008 44810000 */ mtc1 $at, $f0 -/* 0C2B3C 7F08E00C 1B000030 */ blez $t8, .L7F08E0D0 -/* 0C2B40 7F08E010 00001825 */ move $v1, $zero -/* 0C2B44 7F08E014 8CC20000 */ lw $v0, ($a2) -.L7F08E018: -/* 0C2B48 7F08E018 C48A0000 */ lwc1 $f10, ($a0) -/* 0C2B4C 7F08E01C 24630001 */ addiu $v1, $v1, 1 -/* 0C2B50 7F08E020 C44404EC */ lwc1 $f4, 0x4ec($v0) -/* 0C2B54 7F08E024 C446052C */ lwc1 $f6, 0x52c($v0) -/* 0C2B58 7F08E028 46062202 */ mul.s $f8, $f4, $f6 -/* 0C2B5C 7F08E02C 46085400 */ add.s $f16, $f10, $f8 -/* 0C2B60 7F08E030 E450052C */ swc1 $f16, 0x52c($v0) -/* 0C2B64 7F08E034 8CC20000 */ lw $v0, ($a2) -/* 0C2B68 7F08E038 C48A0004 */ lwc1 $f10, 4($a0) -/* 0C2B6C 7F08E03C C45204EC */ lwc1 $f18, 0x4ec($v0) -/* 0C2B70 7F08E040 C4440530 */ lwc1 $f4, 0x530($v0) -/* 0C2B74 7F08E044 46049182 */ mul.s $f6, $f18, $f4 -/* 0C2B78 7F08E048 46065200 */ add.s $f8, $f10, $f6 -/* 0C2B7C 7F08E04C E4480530 */ swc1 $f8, 0x530($v0) -/* 0C2B80 7F08E050 8CC20000 */ lw $v0, ($a2) -/* 0C2B84 7F08E054 C48A0008 */ lwc1 $f10, 8($a0) -/* 0C2B88 7F08E058 C45004EC */ lwc1 $f16, 0x4ec($v0) -/* 0C2B8C 7F08E05C C4520534 */ lwc1 $f18, 0x534($v0) -/* 0C2B90 7F08E060 46128102 */ mul.s $f4, $f16, $f18 -/* 0C2B94 7F08E064 46045180 */ add.s $f6, $f10, $f4 -/* 0C2B98 7F08E068 E4460534 */ swc1 $f6, 0x534($v0) -/* 0C2B9C 7F08E06C 8CC20000 */ lw $v0, ($a2) -/* 0C2BA0 7F08E070 C4AA0000 */ lwc1 $f10, ($a1) -/* 0C2BA4 7F08E074 C44804EC */ lwc1 $f8, 0x4ec($v0) -/* 0C2BA8 7F08E078 C4500538 */ lwc1 $f16, 0x538($v0) -/* 0C2BAC 7F08E07C 46104482 */ mul.s $f18, $f8, $f16 -/* 0C2BB0 7F08E080 46125100 */ add.s $f4, $f10, $f18 -/* 0C2BB4 7F08E084 E4440538 */ swc1 $f4, 0x538($v0) -/* 0C2BB8 7F08E088 8CC20000 */ lw $v0, ($a2) -/* 0C2BBC 7F08E08C C4AA0004 */ lwc1 $f10, 4($a1) -/* 0C2BC0 7F08E090 C44604EC */ lwc1 $f6, 0x4ec($v0) -/* 0C2BC4 7F08E094 C448053C */ lwc1 $f8, 0x53c($v0) -/* 0C2BC8 7F08E098 46083402 */ mul.s $f16, $f6, $f8 -/* 0C2BCC 7F08E09C 46105480 */ add.s $f18, $f10, $f16 -/* 0C2BD0 7F08E0A0 E452053C */ swc1 $f18, 0x53c($v0) -/* 0C2BD4 7F08E0A4 8CC20000 */ lw $v0, ($a2) -/* 0C2BD8 7F08E0A8 C4AA0008 */ lwc1 $f10, 8($a1) -/* 0C2BDC 7F08E0AC C44404EC */ lwc1 $f4, 0x4ec($v0) -/* 0C2BE0 7F08E0B0 C4460540 */ lwc1 $f6, 0x540($v0) -/* 0C2BE4 7F08E0B4 46062202 */ mul.s $f8, $f4, $f6 -/* 0C2BE8 7F08E0B8 46085400 */ add.s $f16, $f10, $f8 -/* 0C2BEC 7F08E0BC E4500540 */ swc1 $f16, 0x540($v0) -/* 0C2BF0 7F08E0C0 8CF90000 */ lw $t9, ($a3) -/* 0C2BF4 7F08E0C4 0079082A */ slt $at, $v1, $t9 -/* 0C2BF8 7F08E0C8 5420FFD3 */ bnezl $at, .L7F08E018 -/* 0C2BFC 7F08E0CC 8CC20000 */ lw $v0, ($a2) -.L7F08E0D0: -/* 0C2C00 7F08E0D0 8CC20000 */ lw $v0, ($a2) -/* 0C2C04 7F08E0D4 C44404EC */ lwc1 $f4, 0x4ec($v0) -/* 0C2C08 7F08E0D8 C452052C */ lwc1 $f18, 0x52c($v0) -/* 0C2C0C 7F08E0DC 46040181 */ sub.s $f6, $f0, $f4 -/* 0C2C10 7F08E0E0 46069282 */ mul.s $f10, $f18, $f6 -/* 0C2C14 7F08E0E4 E44A0508 */ swc1 $f10, 0x508($v0) -/* 0C2C18 7F08E0E8 8CC20000 */ lw $v0, ($a2) -/* 0C2C1C 7F08E0EC C45004EC */ lwc1 $f16, 0x4ec($v0) -/* 0C2C20 7F08E0F0 C4480530 */ lwc1 $f8, 0x530($v0) -/* 0C2C24 7F08E0F4 46100101 */ sub.s $f4, $f0, $f16 -/* 0C2C28 7F08E0F8 46044482 */ mul.s $f18, $f8, $f4 -/* 0C2C2C 7F08E0FC E452050C */ swc1 $f18, 0x50c($v0) -/* 0C2C30 7F08E100 8CC20000 */ lw $v0, ($a2) -/* 0C2C34 7F08E104 C44A04EC */ lwc1 $f10, 0x4ec($v0) -/* 0C2C38 7F08E108 C4460534 */ lwc1 $f6, 0x534($v0) -/* 0C2C3C 7F08E10C 460A0401 */ sub.s $f16, $f0, $f10 -/* 0C2C40 7F08E110 46103202 */ mul.s $f8, $f6, $f16 -/* 0C2C44 7F08E114 E4480510 */ swc1 $f8, 0x510($v0) -/* 0C2C48 7F08E118 8CC20000 */ lw $v0, ($a2) -/* 0C2C4C 7F08E11C C45204EC */ lwc1 $f18, 0x4ec($v0) -/* 0C2C50 7F08E120 C4440538 */ lwc1 $f4, 0x538($v0) -/* 0C2C54 7F08E124 46120281 */ sub.s $f10, $f0, $f18 -/* 0C2C58 7F08E128 460A2182 */ mul.s $f6, $f4, $f10 -/* 0C2C5C 7F08E12C E4460514 */ swc1 $f6, 0x514($v0) -/* 0C2C60 7F08E130 8CC20000 */ lw $v0, ($a2) -/* 0C2C64 7F08E134 C44804EC */ lwc1 $f8, 0x4ec($v0) -/* 0C2C68 7F08E138 C450053C */ lwc1 $f16, 0x53c($v0) -/* 0C2C6C 7F08E13C 46080481 */ sub.s $f18, $f0, $f8 -/* 0C2C70 7F08E140 46128102 */ mul.s $f4, $f16, $f18 -/* 0C2C74 7F08E144 E4440518 */ swc1 $f4, 0x518($v0) -/* 0C2C78 7F08E148 8CC20000 */ lw $v0, ($a2) -/* 0C2C7C 7F08E14C C44604EC */ lwc1 $f6, 0x4ec($v0) -/* 0C2C80 7F08E150 C44A0540 */ lwc1 $f10, 0x540($v0) -/* 0C2C84 7F08E154 46060201 */ sub.s $f8, $f0, $f6 -/* 0C2C88 7F08E158 46085402 */ mul.s $f16, $f10, $f8 -/* 0C2C8C 7F08E15C 03E00008 */ jr $ra -/* 0C2C90 7F08E160 E450051C */ swc1 $f16, 0x51c($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08E164(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08E164 -/* 0C2C94 7F08E164 3C038008 */ lui $v1, %hi(pPlayer) -/* 0C2C98 7F08E168 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0C2C9C 7F08E16C 8C620000 */ lw $v0, ($v1) -/* 0C2CA0 7F08E170 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2CA4 7F08E174 C44004EC */ lwc1 $f0, 0x4ec($v0) -/* 0C2CA8 7F08E178 46006032 */ c.eq.s $f12, $f0 -/* 0C2CAC 7F08E17C 00000000 */ nop -/* 0C2CB0 7F08E180 4501002D */ bc1t .L7F08E238 -/* 0C2CB4 7F08E184 00000000 */ nop -/* 0C2CB8 7F08E188 44817000 */ mtc1 $at, $f14 -/* 0C2CBC 7F08E18C C444052C */ lwc1 $f4, 0x52c($v0) -/* 0C2CC0 7F08E190 46007181 */ sub.s $f6, $f14, $f0 -/* 0C2CC4 7F08E194 460C7081 */ sub.s $f2, $f14, $f12 -/* 0C2CC8 7F08E198 46062202 */ mul.s $f8, $f4, $f6 -/* 0C2CCC 7F08E19C 46024283 */ div.s $f10, $f8, $f2 -/* 0C2CD0 7F08E1A0 E44A052C */ swc1 $f10, 0x52c($v0) -/* 0C2CD4 7F08E1A4 8C620000 */ lw $v0, ($v1) -/* 0C2CD8 7F08E1A8 C45204EC */ lwc1 $f18, 0x4ec($v0) -/* 0C2CDC 7F08E1AC C4500530 */ lwc1 $f16, 0x530($v0) -/* 0C2CE0 7F08E1B0 46127101 */ sub.s $f4, $f14, $f18 -/* 0C2CE4 7F08E1B4 46048182 */ mul.s $f6, $f16, $f4 -/* 0C2CE8 7F08E1B8 46023203 */ div.s $f8, $f6, $f2 -/* 0C2CEC 7F08E1BC E4480530 */ swc1 $f8, 0x530($v0) -/* 0C2CF0 7F08E1C0 8C620000 */ lw $v0, ($v1) -/* 0C2CF4 7F08E1C4 C45204EC */ lwc1 $f18, 0x4ec($v0) -/* 0C2CF8 7F08E1C8 C44A0534 */ lwc1 $f10, 0x534($v0) -/* 0C2CFC 7F08E1CC 46127401 */ sub.s $f16, $f14, $f18 -/* 0C2D00 7F08E1D0 46105102 */ mul.s $f4, $f10, $f16 -/* 0C2D04 7F08E1D4 46022183 */ div.s $f6, $f4, $f2 -/* 0C2D08 7F08E1D8 E4460534 */ swc1 $f6, 0x534($v0) -/* 0C2D0C 7F08E1DC 8C620000 */ lw $v0, ($v1) -/* 0C2D10 7F08E1E0 C45204EC */ lwc1 $f18, 0x4ec($v0) -/* 0C2D14 7F08E1E4 C4480538 */ lwc1 $f8, 0x538($v0) -/* 0C2D18 7F08E1E8 46127281 */ sub.s $f10, $f14, $f18 -/* 0C2D1C 7F08E1EC 460A4402 */ mul.s $f16, $f8, $f10 -/* 0C2D20 7F08E1F0 46028103 */ div.s $f4, $f16, $f2 -/* 0C2D24 7F08E1F4 E4440538 */ swc1 $f4, 0x538($v0) -/* 0C2D28 7F08E1F8 8C620000 */ lw $v0, ($v1) -/* 0C2D2C 7F08E1FC C45204EC */ lwc1 $f18, 0x4ec($v0) -/* 0C2D30 7F08E200 C446053C */ lwc1 $f6, 0x53c($v0) -/* 0C2D34 7F08E204 46127201 */ sub.s $f8, $f14, $f18 -/* 0C2D38 7F08E208 46083282 */ mul.s $f10, $f6, $f8 -/* 0C2D3C 7F08E20C 46025403 */ div.s $f16, $f10, $f2 -/* 0C2D40 7F08E210 E450053C */ swc1 $f16, 0x53c($v0) -/* 0C2D44 7F08E214 8C620000 */ lw $v0, ($v1) -/* 0C2D48 7F08E218 C45204EC */ lwc1 $f18, 0x4ec($v0) -/* 0C2D4C 7F08E21C C4440540 */ lwc1 $f4, 0x540($v0) -/* 0C2D50 7F08E220 46127181 */ sub.s $f6, $f14, $f18 -/* 0C2D54 7F08E224 46062202 */ mul.s $f8, $f4, $f6 -/* 0C2D58 7F08E228 46024283 */ div.s $f10, $f8, $f2 -/* 0C2D5C 7F08E22C E44A0540 */ swc1 $f10, 0x540($v0) -/* 0C2D60 7F08E230 8C6E0000 */ lw $t6, ($v1) -/* 0C2D64 7F08E234 E5CC04EC */ swc1 $f12, 0x4ec($t6) -.L7F08E238: -/* 0C2D68 7F08E238 03E00008 */ jr $ra -/* 0C2D6C 7F08E23C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08E240(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055304 -.word 0x3f333333 /*0.69999999*/ -glabel D_80055308 -.word 0x3dcccccd /*0.1*/ -glabel D_8005530C -.word 0x3f19999a /*0.60000002*/ -glabel D_80055310 -.word 0x3f199999 /*0.59999996*/ -glabel D_80055314 -.word 0x3ecccccd /*0.40000001*/ -glabel D_80055318 -.word 0x3ecccccd /*0.40000001*/ -glabel D_8005531C -.word 0x3f666666 /*0.89999998*/ -glabel D_80055320 -.word 0x3f6e147b /*0.93000001*/ -glabel D_80055324 -.word 0x3f7d70a4 /*0.99000001*/ -glabel D_80055328 -.word 0x3f59999a /*0.85000002*/ -glabel D_8005532C -.word 0x3f7d70a4 /*0.99000001*/ -glabel D_80055330 -.word 0x3c088889 /*0.0083333338*/ -glabel D_80055334 -.word 0x3cccccce /*0.025000002*/ -.text -glabel sub_GAME_7F08E240 -/* 0C2D70 7F08E240 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 0C2D74 7F08E244 3C0F8003 */ lui $t7, %hi(D_80036B00) -/* 0C2D78 7F08E248 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C2D7C 7F08E24C AFB00018 */ sw $s0, 0x18($sp) -/* 0C2D80 7F08E250 E7AC00E8 */ swc1 $f12, 0xe8($sp) -/* 0C2D84 7F08E254 E7AE00EC */ swc1 $f14, 0xec($sp) -/* 0C2D88 7F08E258 25EF6B00 */ addiu $t7, %lo(D_80036B00) # addiu $t7, $t7, 0x6b00 -/* 0C2D8C 7F08E25C 8DE10000 */ lw $at, ($t7) -/* 0C2D90 7F08E260 27AE00DC */ addiu $t6, $sp, 0xdc -/* 0C2D94 7F08E264 8DE80004 */ lw $t0, 4($t7) -/* 0C2D98 7F08E268 ADC10000 */ sw $at, ($t6) -/* 0C2D9C 7F08E26C 8DE10008 */ lw $at, 8($t7) -/* 0C2DA0 7F08E270 3C0A8003 */ lui $t2, %hi(D_80036B0C) -/* 0C2DA4 7F08E274 254A6B0C */ addiu $t2, %lo(D_80036B0C) # addiu $t2, $t2, 0x6b0c -/* 0C2DA8 7F08E278 ADC80004 */ sw $t0, 4($t6) -/* 0C2DAC 7F08E27C ADC10008 */ sw $at, 8($t6) -/* 0C2DB0 7F08E280 8D410000 */ lw $at, ($t2) -/* 0C2DB4 7F08E284 27A900D0 */ addiu $t1, $sp, 0xd0 -/* 0C2DB8 7F08E288 8D4D0004 */ lw $t5, 4($t2) -/* 0C2DBC 7F08E28C AD210000 */ sw $at, ($t1) -/* 0C2DC0 7F08E290 8D410008 */ lw $at, 8($t2) -/* 0C2DC4 7F08E294 3C188003 */ lui $t8, %hi(D_80036B18) -/* 0C2DC8 7F08E298 27186B18 */ addiu $t8, %lo(D_80036B18) # addiu $t8, $t8, 0x6b18 -/* 0C2DCC 7F08E29C AD2D0004 */ sw $t5, 4($t1) -/* 0C2DD0 7F08E2A0 AD210008 */ sw $at, 8($t1) -/* 0C2DD4 7F08E2A4 8F010000 */ lw $at, ($t8) -/* 0C2DD8 7F08E2A8 27B900C4 */ addiu $t9, $sp, 0xc4 -/* 0C2DDC 7F08E2AC 8F080004 */ lw $t0, 4($t8) -/* 0C2DE0 7F08E2B0 AF210000 */ sw $at, ($t9) -/* 0C2DE4 7F08E2B4 8F010008 */ lw $at, 8($t8) -/* 0C2DE8 7F08E2B8 3C108008 */ lui $s0, %hi(pPlayer) -/* 0C2DEC 7F08E2BC 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 -/* 0C2DF0 7F08E2C0 AF280004 */ sw $t0, 4($t9) -/* 0C2DF4 7F08E2C4 AF210008 */ sw $at, 8($t9) -/* 0C2DF8 7F08E2C8 8E040000 */ lw $a0, ($s0) -/* 0C2DFC 7F08E2CC 0FC1BD86 */ jal sub_GAME_7F06F618 -/* 0C2E00 7F08E2D0 24840598 */ addiu $a0, $a0, 0x598 -/* 0C2E04 7F08E2D4 8E020000 */ lw $v0, ($s0) -/* 0C2E08 7F08E2D8 E7A000C0 */ swc1 $f0, 0xc0($sp) -/* 0C2E0C 7F08E2DC 3C098003 */ lui $t1, %hi(D_80036B24) -/* 0C2E10 7F08E2E0 8C4304E8 */ lw $v1, 0x4e8($v0) -/* 0C2E14 7F08E2E4 25296B24 */ addiu $t1, %lo(D_80036B24) # addiu $t1, $t1, 0x6b24 -/* 0C2E18 7F08E2E8 252D003C */ addiu $t5, $t1, 0x3c -/* 0C2E1C 7F08E2EC 14600024 */ bnez $v1, .L7F08E380 -/* 0C2E20 7F08E2F0 27AB0080 */ addiu $t3, $sp, 0x80 -/* 0C2E24 7F08E2F4 3C018005 */ lui $at, %hi(D_80055304) -/* 0C2E28 7F08E2F8 C4245304 */ lwc1 $f4, %lo(D_80055304)($at) -/* 0C2E2C 7F08E2FC 3C018005 */ lui $at, %hi(D_80055308) -/* 0C2E30 7F08E300 4600203C */ c.lt.s $f4, $f0 -/* 0C2E34 7F08E304 00000000 */ nop -/* 0C2E38 7F08E308 45000005 */ bc1f .L7F08E320 -/* 0C2E3C 7F08E30C 00000000 */ nop -/* 0C2E40 7F08E310 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2E44 7F08E314 44813000 */ mtc1 $at, $f6 -/* 0C2E48 7F08E318 10000015 */ b .L7F08E370 -/* 0C2E4C 7F08E31C E44604F4 */ swc1 $f6, 0x4f4($v0) -.L7F08E320: -/* 0C2E50 7F08E320 C4225308 */ lwc1 $f2, %lo(D_80055308)($at) -/* 0C2E54 7F08E324 3C018005 */ lui $at, %hi(D_80055318) -/* 0C2E58 7F08E328 4600103C */ c.lt.s $f2, $f0 -/* 0C2E5C 7F08E32C 00000000 */ nop -/* 0C2E60 7F08E330 4500000D */ bc1f .L7F08E368 -/* 0C2E64 7F08E334 00000000 */ nop -/* 0C2E68 7F08E338 46020201 */ sub.s $f8, $f0, $f2 -/* 0C2E6C 7F08E33C 3C018005 */ lui $at, %hi(D_8005530C) -/* 0C2E70 7F08E340 C42A530C */ lwc1 $f10, %lo(D_8005530C)($at) -/* 0C2E74 7F08E344 3C018005 */ lui $at, %hi(D_80055310) -/* 0C2E78 7F08E348 C4325310 */ lwc1 $f18, %lo(D_80055310)($at) -/* 0C2E7C 7F08E34C 460A4402 */ mul.s $f16, $f8, $f10 -/* 0C2E80 7F08E350 3C018005 */ lui $at, %hi(D_80055318) -/* 0C2E84 7F08E354 C4265314 */ lwc1 $f6, %lo(D_80055314)($at) -/* 0C2E88 7F08E358 46128103 */ div.s $f4, $f16, $f18 -/* 0C2E8C 7F08E35C 46062200 */ add.s $f8, $f4, $f6 -/* 0C2E90 7F08E360 10000003 */ b .L7F08E370 -/* 0C2E94 7F08E364 E44804F4 */ swc1 $f8, 0x4f4($v0) -.L7F08E368: -/* 0C2E98 7F08E368 C42A5318 */ lwc1 $f10, %lo(D_80055318)($at) -/* 0C2E9C 7F08E36C E44A04F4 */ swc1 $f10, 0x4f4($v0) -.L7F08E370: -/* 0C2EA0 7F08E370 8E020000 */ lw $v0, ($s0) -/* 0C2EA4 7F08E374 C45004F4 */ lwc1 $f16, 0x4f4($v0) -/* 0C2EA8 7F08E378 10000012 */ b .L7F08E3C4 -/* 0C2EAC 7F08E37C E45004F8 */ swc1 $f16, 0x4f8($v0) -.L7F08E380: -/* 0C2EB0 7F08E380 24010001 */ li $at, 1 -/* 0C2EB4 7F08E384 14610008 */ bne $v1, $at, .L7F08E3A8 -/* 0C2EB8 7F08E388 3C018005 */ lui $at, %hi(D_8005531C) -/* 0C2EBC 7F08E38C C432531C */ lwc1 $f18, %lo(D_8005531C)($at) -/* 0C2EC0 7F08E390 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C2EC4 7F08E394 44812000 */ mtc1 $at, $f4 -/* 0C2EC8 7F08E398 E45204F4 */ swc1 $f18, 0x4f4($v0) -/* 0C2ECC 7F08E39C 8E0C0000 */ lw $t4, ($s0) -/* 0C2ED0 7F08E3A0 10000008 */ b .L7F08E3C4 -/* 0C2ED4 7F08E3A4 E58404F8 */ swc1 $f4, 0x4f8($t4) -.L7F08E3A8: -/* 0C2ED8 7F08E3A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2EDC 7F08E3AC 44813000 */ mtc1 $at, $f6 -/* 0C2EE0 7F08E3B0 00000000 */ nop -/* 0C2EE4 7F08E3B4 E44604F4 */ swc1 $f6, 0x4f4($v0) -/* 0C2EE8 7F08E3B8 8E020000 */ lw $v0, ($s0) -/* 0C2EEC 7F08E3BC C44804F4 */ lwc1 $f8, 0x4f4($v0) -/* 0C2EF0 7F08E3C0 E44804F8 */ swc1 $f8, 0x4f8($v0) -.L7F08E3C4: -/* 0C2EF4 7F08E3C4 8D210000 */ lw $at, ($t1) -/* 0C2EF8 7F08E3C8 2529000C */ addiu $t1, $t1, 0xc -/* 0C2EFC 7F08E3CC 256B000C */ addiu $t3, $t3, 0xc -/* 0C2F00 7F08E3D0 AD61FFF4 */ sw $at, -0xc($t3) -/* 0C2F04 7F08E3D4 8D21FFF8 */ lw $at, -8($t1) -/* 0C2F08 7F08E3D8 AD61FFF8 */ sw $at, -8($t3) -/* 0C2F0C 7F08E3DC 8D21FFFC */ lw $at, -4($t1) -/* 0C2F10 7F08E3E0 152DFFF8 */ bne $t1, $t5, .L7F08E3C4 -/* 0C2F14 7F08E3E4 AD61FFFC */ sw $at, -4($t3) -/* 0C2F18 7F08E3E8 8D210000 */ lw $at, ($t1) -/* 0C2F1C 7F08E3EC 3C0E8003 */ lui $t6, %hi(D_80036B64) -/* 0C2F20 7F08E3F0 25CE6B64 */ addiu $t6, %lo(D_80036B64) # addiu $t6, $t6, 0x6b64 -/* 0C2F24 7F08E3F4 AD610000 */ sw $at, ($t3) -/* 0C2F28 7F08E3F8 8DC10000 */ lw $at, ($t6) -/* 0C2F2C 7F08E3FC 27AF0034 */ addiu $t7, $sp, 0x34 -/* 0C2F30 7F08E400 8DD80004 */ lw $t8, 4($t6) -/* 0C2F34 7F08E404 ADE10000 */ sw $at, ($t7) -/* 0C2F38 7F08E408 8DC10008 */ lw $at, 8($t6) -/* 0C2F3C 7F08E40C ADF80004 */ sw $t8, 4($t7) -/* 0C2F40 7F08E410 0FC1C078 */ jal sub_GAME_7F0701E0 -/* 0C2F44 7F08E414 ADE10008 */ sw $at, 8($t7) -/* 0C2F48 7F08E418 8E080000 */ lw $t0, ($s0) -/* 0C2F4C 7F08E41C AFA20030 */ sw $v0, 0x30($sp) -/* 0C2F50 7F08E420 00002025 */ move $a0, $zero -/* 0C2F54 7F08E424 0FC1C075 */ jal sub_GAME_7F0701D4 -/* 0C2F58 7F08E428 AD0004E4 */ sw $zero, 0x4e4($t0) -/* 0C2F5C 7F08E42C 8E040000 */ lw $a0, ($s0) -/* 0C2F60 7F08E430 3C058005 */ lui $a1, %hi(clock_timer) -/* 0C2F64 7F08E434 8CA58374 */ lw $a1, %lo(clock_timer)($a1) -/* 0C2F68 7F08E438 24060001 */ li $a2, 1 -/* 0C2F6C 7F08E43C 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 0C2F70 7F08E440 24840598 */ addiu $a0, $a0, 0x598 -/* 0C2F74 7F08E444 0FC1C075 */ jal sub_GAME_7F0701D4 -/* 0C2F78 7F08E448 8FA40030 */ lw $a0, 0x30($sp) -/* 0C2F7C 7F08E44C 8E040000 */ lw $a0, ($s0) -/* 0C2F80 7F08E450 0FC1B5AC */ jal subcalcpos -/* 0C2F84 7F08E454 24840598 */ addiu $a0, $a0, 0x598 -/* 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 -/* 0C2F98 7F08E468 AFAC0080 */ sw $t4, 0x80($sp) -/* 0C2F9C 7F08E46C 244A06D0 */ addiu $t2, $v0, 0x6d0 -/* 0C2FA0 7F08E470 AFAA0090 */ sw $t2, 0x90($sp) -/* 0C2FA4 7F08E474 27A40080 */ addiu $a0, $sp, 0x80 -/* 0C2FA8 7F08E478 0FC1BCBE */ jal subcalcmatrices -/* 0C2FAC 7F08E47C 24450598 */ addiu $a1, $v0, 0x598 -/* 0C2FB0 7F08E480 8E020000 */ lw $v0, ($s0) -/* 0C2FB4 7F08E484 27A50034 */ addiu $a1, $sp, 0x34 -/* 0C2FB8 7F08E488 C44A0554 */ lwc1 $f10, 0x554($v0) -/* 0C2FBC 7F08E48C E44A0544 */ swc1 $f10, 0x544($v0) -/* 0C2FC0 7F08E490 8E020000 */ lw $v0, ($s0) -/* 0C2FC4 7F08E494 C4500558 */ lwc1 $f16, 0x558($v0) -/* 0C2FC8 7F08E498 E4500548 */ swc1 $f16, 0x548($v0) -/* 0C2FCC 7F08E49C 8E020000 */ lw $v0, ($s0) -/* 0C2FD0 7F08E4A0 C452055C */ lwc1 $f18, 0x55c($v0) -/* 0C2FD4 7F08E4A4 E452054C */ swc1 $f18, 0x54c($v0) -/* 0C2FD8 7F08E4A8 8E040000 */ lw $a0, ($s0) -/* 0C2FDC 7F08E4AC 0FC1B2E6 */ jal getsuboffset -/* 0C2FE0 7F08E4B0 24840598 */ addiu $a0, $a0, 0x598 -/* 0C2FE4 7F08E4B4 8E020000 */ lw $v0, ($s0) -/* 0C2FE8 7F08E4B8 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 0C2FEC 7F08E4BC C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 0C2FF0 7F08E4C0 C4460700 */ lwc1 $f6, 0x700($v0) -/* 0C2FF4 7F08E4C4 27A50034 */ addiu $a1, $sp, 0x34 -/* 0C2FF8 7F08E4C8 24440598 */ addiu $a0, $v0, 0x598 -/* 0C2FFC 7F08E4CC 46062201 */ sub.s $f8, $f4, $f6 -/* 0C3000 7F08E4D0 E7A80034 */ swc1 $f8, 0x34($sp) -/* 0C3004 7F08E4D4 C4500708 */ lwc1 $f16, 0x708($v0) -/* 0C3008 7F08E4D8 46105481 */ sub.s $f18, $f10, $f16 -/* 0C300C 7F08E4DC 0FC1B303 */ jal setsuboffset -/* 0C3010 7F08E4E0 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 0C3014 7F08E4E4 44800000 */ mtc1 $zero, $f0 -/* 0C3018 7F08E4E8 C7A400C0 */ lwc1 $f4, 0xc0($sp) -/* 0C301C 7F08E4EC 4604003C */ c.lt.s $f0, $f4 -/* 0C3020 7F08E4F0 00000000 */ nop -/* 0C3024 7F08E4F4 45020071 */ bc1fl .L7F08E6BC -/* 0C3028 7F08E4F8 8E020000 */ lw $v0, ($s0) -/* 0C302C 7F08E4FC 8E020000 */ lw $v0, ($s0) -/* 0C3030 7F08E500 C7A800EC */ lwc1 $f8, 0xec($sp) -/* 0C3034 7F08E504 3C048005 */ lui $a0, %hi(clock_timer) -/* 0C3038 7F08E508 C4460700 */ lwc1 $f6, 0x700($v0) -/* 0C303C 7F08E50C 24848374 */ addiu $a0, %lo(clock_timer) # addiu $a0, $a0, -0x7c8c -/* 0C3040 7F08E510 3C038005 */ lui $v1, %hi(global_timer_delta) -/* 0C3044 7F08E514 46083280 */ add.s $f10, $f6, $f8 -/* 0C3048 7F08E518 E44A0700 */ swc1 $f10, 0x700($v0) -/* 0C304C 7F08E51C 8E020000 */ lw $v0, ($s0) -/* 0C3050 7F08E520 C7B200E8 */ lwc1 $f18, 0xe8($sp) -/* 0C3054 7F08E524 C4500708 */ lwc1 $f16, 0x708($v0) -/* 0C3058 7F08E528 46128102 */ mul.s $f4, $f16, $f18 -/* 0C305C 7F08E52C E4440708 */ swc1 $f4, 0x708($v0) -/* 0C3060 7F08E530 8C8D0000 */ lw $t5, ($a0) -/* 0C3064 7F08E534 59A0000D */ blezl $t5, .L7F08E56C -/* 0C3068 7F08E538 8E020000 */ lw $v0, ($s0) -/* 0C306C 7F08E53C 8E020000 */ lw $v0, ($s0) -/* 0C3070 7F08E540 24638378 */ addiu $v1, %lo(global_timer_delta) # addiu $v1, $v1, -0x7c88 -/* 0C3074 7F08E544 C4680000 */ lwc1 $f8, ($v1) -/* 0C3078 7F08E548 C4460700 */ lwc1 $f6, 0x700($v0) -/* 0C307C 7F08E54C 46083283 */ div.s $f10, $f6, $f8 -/* 0C3080 7F08E550 E44A0700 */ swc1 $f10, 0x700($v0) -/* 0C3084 7F08E554 8E020000 */ lw $v0, ($s0) -/* 0C3088 7F08E558 C4720000 */ lwc1 $f18, ($v1) -/* 0C308C 7F08E55C C4500708 */ lwc1 $f16, 0x708($v0) -/* 0C3090 7F08E560 46128103 */ div.s $f4, $f16, $f18 -/* 0C3094 7F08E564 E4440708 */ swc1 $f4, 0x708($v0) -/* 0C3098 7F08E568 8E020000 */ lw $v0, ($s0) -.L7F08E56C: -/* 0C309C 7F08E56C C4460700 */ lwc1 $f6, 0x700($v0) -/* 0C30A0 7F08E570 C44804F4 */ lwc1 $f8, 0x4f4($v0) -/* 0C30A4 7F08E574 46083282 */ mul.s $f10, $f6, $f8 -/* 0C30A8 7F08E578 E7AA00DC */ swc1 $f10, 0xdc($sp) -/* 0C30AC 7F08E57C C4500704 */ lwc1 $f16, 0x704($v0) -/* 0C30B0 7F08E580 C4400550 */ lwc1 $f0, 0x550($v0) -/* 0C30B4 7F08E584 C44404F4 */ lwc1 $f4, 0x4f4($v0) -/* 0C30B8 7F08E588 46008481 */ sub.s $f18, $f16, $f0 -/* 0C30BC 7F08E58C 46049182 */ mul.s $f6, $f18, $f4 -/* 0C30C0 7F08E590 46003200 */ add.s $f8, $f6, $f0 -/* 0C30C4 7F08E594 E7A800E0 */ swc1 $f8, 0xe0($sp) -/* 0C30C8 7F08E598 C45004F4 */ lwc1 $f16, 0x4f4($v0) -/* 0C30CC 7F08E59C C44A0708 */ lwc1 $f10, 0x708($v0) -/* 0C30D0 7F08E5A0 46105482 */ mul.s $f18, $f10, $f16 -/* 0C30D4 7F08E5A4 E7B200E4 */ swc1 $f18, 0xe4($sp) -/* 0C30D8 7F08E5A8 8C4904E8 */ lw $t1, 0x4e8($v0) -/* 0C30DC 7F08E5AC 05220032 */ bltzl $t1, .L7F08E678 -/* 0C30E0 7F08E5B0 C45006F0 */ lwc1 $f16, 0x6f0($v0) -/* 0C30E4 7F08E5B4 C44406F0 */ lwc1 $f4, 0x6f0($v0) -/* 0C30E8 7F08E5B8 C44604F8 */ lwc1 $f6, 0x4f8($v0) -/* 0C30EC 7F08E5BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C30F0 7F08E5C0 44810000 */ mtc1 $at, $f0 -/* 0C30F4 7F08E5C4 46062202 */ mul.s $f8, $f4, $f6 -/* 0C30F8 7F08E5C8 8C990000 */ lw $t9, ($a0) -/* 0C30FC 7F08E5CC E7A800D0 */ swc1 $f8, 0xd0($sp) -/* 0C3100 7F08E5D0 C45004F4 */ lwc1 $f16, 0x4f4($v0) -/* 0C3104 7F08E5D4 C44A06F4 */ lwc1 $f10, 0x6f4($v0) -/* 0C3108 7F08E5D8 46105482 */ mul.s $f18, $f10, $f16 -/* 0C310C 7F08E5DC E7B200D4 */ swc1 $f18, 0xd4($sp) -/* 0C3110 7F08E5E0 C44406F8 */ lwc1 $f4, 0x6f8($v0) -/* 0C3114 7F08E5E4 C44804F4 */ lwc1 $f8, 0x4f4($v0) -/* 0C3118 7F08E5E8 46002181 */ sub.s $f6, $f4, $f0 -/* 0C311C 7F08E5EC 46083282 */ mul.s $f10, $f6, $f8 -/* 0C3120 7F08E5F0 46005400 */ add.s $f16, $f10, $f0 -/* 0C3124 7F08E5F4 E7B000D8 */ swc1 $f16, 0xd8($sp) -/* 0C3128 7F08E5F8 C44404F4 */ lwc1 $f4, 0x4f4($v0) -/* 0C312C 7F08E5FC C45206E0 */ lwc1 $f18, 0x6e0($v0) -/* 0C3130 7F08E600 46049182 */ mul.s $f6, $f18, $f4 -/* 0C3134 7F08E604 E7A600C4 */ swc1 $f6, 0xc4($sp) -/* 0C3138 7F08E608 C44806E4 */ lwc1 $f8, 0x6e4($v0) -/* 0C313C 7F08E60C C45004F4 */ lwc1 $f16, 0x4f4($v0) -/* 0C3140 7F08E610 46004281 */ sub.s $f10, $f8, $f0 -/* 0C3144 7F08E614 46105482 */ mul.s $f18, $f10, $f16 -/* 0C3148 7F08E618 46009100 */ add.s $f4, $f18, $f0 -/* 0C314C 7F08E61C E7A400C8 */ swc1 $f4, 0xc8($sp) -/* 0C3150 7F08E620 C44804F4 */ lwc1 $f8, 0x4f4($v0) -/* 0C3154 7F08E624 C44606E8 */ lwc1 $f6, 0x6e8($v0) -/* 0C3158 7F08E628 46083282 */ mul.s $f10, $f6, $f8 -/* 0C315C 7F08E62C E7AA00CC */ swc1 $f10, 0xcc($sp) -/* 0C3160 7F08E630 8C4B04F0 */ lw $t3, 0x4f0($v0) -/* 0C3164 7F08E634 01797821 */ addu $t7, $t3, $t9 -/* 0C3168 7F08E638 AC4F04F0 */ sw $t7, 0x4f0($v0) -/* 0C316C 7F08E63C 8E0E0000 */ lw $t6, ($s0) -/* 0C3170 7F08E640 8DD804F0 */ lw $t8, 0x4f0($t6) -/* 0C3174 7F08E644 2B01003D */ slti $at, $t8, 0x3d -/* 0C3178 7F08E648 14200005 */ bnez $at, .L7F08E660 -/* 0C317C 7F08E64C 3C018005 */ lui $at, %hi(D_80055320) -/* 0C3180 7F08E650 0FC23859 */ jal sub_GAME_7F08E164 -/* 0C3184 7F08E654 C42C5320 */ lwc1 $f12, %lo(D_80055320)($at) -/* 0C3188 7F08E658 1000008E */ b .L7F08E894 -/* 0C318C 7F08E65C 00000000 */ nop -.L7F08E660: -/* 0C3190 7F08E660 3C018005 */ lui $at, %hi(D_80055324) -/* 0C3194 7F08E664 0FC23859 */ jal sub_GAME_7F08E164 -/* 0C3198 7F08E668 C42C5324 */ lwc1 $f12, %lo(D_80055324)($at) -/* 0C319C 7F08E66C 10000089 */ b .L7F08E894 -/* 0C31A0 7F08E670 00000000 */ nop -/* 0C31A4 7F08E674 C45006F0 */ lwc1 $f16, 0x6f0($v0) -.L7F08E678: -/* 0C31A8 7F08E678 3C018005 */ lui $at, %hi(D_80055328) -/* 0C31AC 7F08E67C C42C5328 */ lwc1 $f12, %lo(D_80055328)($at) -/* 0C31B0 7F08E680 E7B000D0 */ swc1 $f16, 0xd0($sp) -/* 0C31B4 7F08E684 C45206F4 */ lwc1 $f18, 0x6f4($v0) -/* 0C31B8 7F08E688 E7B200D4 */ swc1 $f18, 0xd4($sp) -/* 0C31BC 7F08E68C C44406F8 */ lwc1 $f4, 0x6f8($v0) -/* 0C31C0 7F08E690 E7A400D8 */ swc1 $f4, 0xd8($sp) -/* 0C31C4 7F08E694 C44606E0 */ lwc1 $f6, 0x6e0($v0) -/* 0C31C8 7F08E698 E7A600C4 */ swc1 $f6, 0xc4($sp) -/* 0C31CC 7F08E69C C44806E4 */ lwc1 $f8, 0x6e4($v0) -/* 0C31D0 7F08E6A0 E7A800C8 */ swc1 $f8, 0xc8($sp) -/* 0C31D4 7F08E6A4 C44A06E8 */ lwc1 $f10, 0x6e8($v0) -/* 0C31D8 7F08E6A8 0FC23859 */ jal sub_GAME_7F08E164 -/* 0C31DC 7F08E6AC E7AA00CC */ swc1 $f10, 0xcc($sp) -/* 0C31E0 7F08E6B0 10000078 */ b .L7F08E894 -/* 0C31E4 7F08E6B4 00000000 */ nop -/* 0C31E8 7F08E6B8 8E020000 */ lw $v0, ($s0) -.L7F08E6BC: -/* 0C31EC 7F08E6BC 3C018005 */ lui $at, %hi(D_8005532C) -/* 0C31F0 7F08E6C0 C4500554 */ lwc1 $f16, 0x554($v0) -/* 0C31F4 7F08E6C4 E4500544 */ swc1 $f16, 0x544($v0) -/* 0C31F8 7F08E6C8 8E020000 */ lw $v0, ($s0) -/* 0C31FC 7F08E6CC C4520558 */ lwc1 $f18, 0x558($v0) -/* 0C3200 7F08E6D0 E4520548 */ swc1 $f18, 0x548($v0) -/* 0C3204 7F08E6D4 8E020000 */ lw $v0, ($s0) -/* 0C3208 7F08E6D8 C444055C */ lwc1 $f4, 0x55c($v0) -/* 0C320C 7F08E6DC E444054C */ swc1 $f4, 0x54c($v0) -/* 0C3210 7F08E6E0 8E020000 */ lw $v0, ($s0) -/* 0C3214 7F08E6E4 E7A000DC */ swc1 $f0, 0xdc($sp) -/* 0C3218 7F08E6E8 C4460550 */ lwc1 $f6, 0x550($v0) -/* 0C321C 7F08E6EC E7A000E4 */ swc1 $f0, 0xe4($sp) -/* 0C3220 7F08E6F0 E7A600E0 */ swc1 $f6, 0xe0($sp) -/* 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_bondfadefracnew -/* 0C3234 7F08E704 00000000 */ nop -/* 0C3238 7F08E708 3C018005 */ lui $at, %hi(D_80055330) -/* 0C323C 7F08E70C C4285330 */ lwc1 $f8, %lo(D_80055330)($at) -/* 0C3240 7F08E710 3C018005 */ lui $at, %hi(D_80055334) -/* 0C3244 7F08E714 C42A5334 */ lwc1 $f10, %lo(D_80055334)($at) -/* 0C3248 7F08E718 3C038005 */ lui $v1, %hi(global_timer_delta) -/* 0C324C 7F08E71C 24638378 */ addiu $v1, %lo(global_timer_delta) # addiu $v1, $v1, -0x7c88 -/* 0C3250 7F08E720 46005402 */ mul.s $f16, $f10, $f0 -/* 0C3254 7F08E724 C4640000 */ lwc1 $f4, ($v1) -/* 0C3258 7F08E728 8E020000 */ lw $v0, ($s0) -/* 0C325C 7F08E72C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C3260 7F08E730 C44A0560 */ lwc1 $f10, 0x560($v0) -/* 0C3264 7F08E734 46104480 */ add.s $f18, $f8, $f16 -/* 0C3268 7F08E738 44818000 */ mtc1 $at, $f16 -/* 0C326C 7F08E73C 46049182 */ mul.s $f6, $f18, $f4 -/* 0C3270 7F08E740 46065200 */ add.s $f8, $f10, $f6 -/* 0C3274 7F08E744 E4480560 */ swc1 $f8, 0x560($v0) -/* 0C3278 7F08E748 8E020000 */ lw $v0, ($s0) -/* 0C327C 7F08E74C C4420560 */ lwc1 $f2, 0x560($v0) -/* 0C3280 7F08E750 4602803E */ c.le.s $f16, $f2 -/* 0C3284 7F08E754 00000000 */ nop -/* 0C3288 7F08E758 4502000C */ bc1fl .L7F08E78C -/* 0C328C 7F08E75C 8C430594 */ lw $v1, 0x594($v0) -/* 0C3290 7F08E760 0FC236F2 */ jal sub_GAME_7F08DBC8 -/* 0C3294 7F08E764 00000000 */ nop -/* 0C3298 7F08E768 8E020000 */ lw $v0, ($s0) -/* 0C329C 7F08E76C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C32A0 7F08E770 44812000 */ mtc1 $at, $f4 -/* 0C32A4 7F08E774 C4520560 */ lwc1 $f18, 0x560($v0) -/* 0C32A8 7F08E778 46049281 */ sub.s $f10, $f18, $f4 -/* 0C32AC 7F08E77C E44A0560 */ swc1 $f10, 0x560($v0) -/* 0C32B0 7F08E780 8E020000 */ lw $v0, ($s0) -/* 0C32B4 7F08E784 C4420560 */ lwc1 $f2, 0x560($v0) -/* 0C32B8 7F08E788 8C430594 */ lw $v1, 0x594($v0) -.L7F08E78C: -/* 0C32BC 7F08E78C 44061000 */ mfc1 $a2, $f2 -/* 0C32C0 7F08E790 27A700D0 */ addiu $a3, $sp, 0xd0 -/* 0C32C4 7F08E794 00034080 */ sll $t0, $v1, 2 -/* 0C32C8 7F08E798 01034023 */ subu $t0, $t0, $v1 -/* 0C32CC 7F08E79C 00081880 */ sll $v1, $t0, 2 -/* 0C32D0 7F08E7A0 00036023 */ negu $t4, $v1 -/* 0C32D4 7F08E7A4 004C2821 */ addu $a1, $v0, $t4 -/* 0C32D8 7F08E7A8 00432021 */ addu $a0, $v0, $v1 -/* 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_bondfadefracnew -/* 0C32EC 7F08E7BC 00000000 */ nop -/* 0C32F0 7F08E7C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C32F4 7F08E7C4 44813000 */ mtc1 $at, $f6 -/* 0C32F8 7F08E7C8 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C32FC 7F08E7CC 44814000 */ mtc1 $at, $f8 -/* 0C3300 7F08E7D0 C7A400D0 */ lwc1 $f4, 0xd0($sp) -/* 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_bondfadefracnew -/* 0C3314 7F08E7E4 E7AA00D0 */ swc1 $f10, 0xd0($sp) -/* 0C3318 7F08E7E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C331C 7F08E7EC 44814000 */ mtc1 $at, $f8 -/* 0C3320 7F08E7F0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C3324 7F08E7F4 44813000 */ mtc1 $at, $f6 -/* 0C3328 7F08E7F8 C7B200D4 */ lwc1 $f18, 0xd4($sp) -/* 0C332C 7F08E7FC 8E020000 */ lw $v0, ($s0) -/* 0C3330 7F08E800 46003402 */ mul.s $f16, $f6, $f0 -/* 0C3334 7F08E804 27A700C4 */ addiu $a3, $sp, 0xc4 -/* 0C3338 7F08E808 46104100 */ add.s $f4, $f8, $f16 -/* 0C333C 7F08E80C 46049282 */ mul.s $f10, $f18, $f4 -/* 0C3340 7F08E810 E7AA00D4 */ swc1 $f10, 0xd4($sp) -/* 0C3344 7F08E814 8C430594 */ lw $v1, 0x594($v0) -/* 0C3348 7F08E818 8C460560 */ lw $a2, 0x560($v0) -/* 0C334C 7F08E81C 00035080 */ sll $t2, $v1, 2 -/* 0C3350 7F08E820 01435023 */ subu $t2, $t2, $v1 -/* 0C3354 7F08E824 000A1880 */ sll $v1, $t2, 2 -/* 0C3358 7F08E828 00036823 */ negu $t5, $v1 -/* 0C335C 7F08E82C 004D2821 */ addu $a1, $v0, $t5 -/* 0C3360 7F08E830 00432021 */ addu $a0, $v0, $v1 -/* 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_bondfadefracnew -/* 0C3374 7F08E844 00000000 */ nop -/* 0C3378 7F08E848 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C337C 7F08E84C 44813000 */ mtc1 $at, $f6 -/* 0C3380 7F08E850 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C3384 7F08E854 44814000 */ mtc1 $at, $f8 -/* 0C3388 7F08E858 C7A400C4 */ lwc1 $f4, 0xc4($sp) -/* 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_bondfadefracnew -/* 0C339C 7F08E86C E7AA00C4 */ swc1 $f10, 0xc4($sp) -/* 0C33A0 7F08E870 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C33A4 7F08E874 44814000 */ mtc1 $at, $f8 -/* 0C33A8 7F08E878 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C33AC 7F08E87C 44813000 */ mtc1 $at, $f6 -/* 0C33B0 7F08E880 C7B200CC */ lwc1 $f18, 0xcc($sp) -/* 0C33B4 7F08E884 46003402 */ mul.s $f16, $f6, $f0 -/* 0C33B8 7F08E888 46104100 */ add.s $f4, $f8, $f16 -/* 0C33BC 7F08E88C 46049282 */ mul.s $f10, $f18, $f4 -/* 0C33C0 7F08E890 E7AA00CC */ swc1 $f10, 0xcc($sp) -.L7F08E894: -/* 0C33C4 7F08E894 0FC23792 */ jal sub_GAME_7F08DE48 -/* 0C33C8 7F08E898 27A400DC */ addiu $a0, $sp, 0xdc -/* 0C33CC 7F08E89C 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 0C33D0 7F08E8A0 0FC237D1 */ jal sub_GAME_7F08DF44 -/* 0C33D4 7F08E8A4 27A500C4 */ addiu $a1, $sp, 0xc4 -/* 0C33D8 7F08E8A8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C33DC 7F08E8AC 8FB00018 */ lw $s0, 0x18($sp) -/* 0C33E0 7F08E8B0 27BD00E8 */ addiu $sp, $sp, 0xe8 -/* 0C33E4 7F08E8B4 03E00008 */ jr $ra -/* 0C33E8 7F08E8B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08E8BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08E8BC -/* 0C33EC 7F08E8BC 3C058003 */ lui $a1, %hi(D_80036AD0) -/* 0C33F0 7F08E8C0 24A56AD0 */ addiu $a1, %lo(D_80036AD0) # addiu $a1, $a1, 0x6ad0 -/* 0C33F4 7F08E8C4 C4A40024 */ lwc1 $f4, 0x24($a1) -/* 0C33F8 7F08E8C8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C33FC 7F08E8CC AFB00020 */ sw $s0, 0x20($sp) -/* 0C3400 7F08E8D0 3C108003 */ lui $s0, %hi(D_80036AD0) -/* 0C3404 7F08E8D4 46046302 */ mul.s $f12, $f12, $f4 -/* 0C3408 7F08E8D8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C340C 7F08E8DC 26106AD0 */ addiu $s0, %lo(D_80036AD0) # addiu $s0, $s0, 0x6ad0 -/* 0C3410 7F08E8E0 00001025 */ move $v0, $zero -/* 0C3414 7F08E8E4 24030002 */ li $v1, 2 -.L7F08E8E8: -/* 0C3418 7F08E8E8 C600000C */ lwc1 $f0, 0xc($s0) -/* 0C341C 7F08E8EC C6060014 */ lwc1 $f6, 0x14($s0) -/* 0C3420 7F08E8F0 46060202 */ mul.s $f8, $f0, $f6 -/* 0C3424 7F08E8F4 4608603E */ c.le.s $f12, $f8 -/* 0C3428 7F08E8F8 00000000 */ nop -/* 0C342C 7F08E8FC 4500004A */ bc1f .L7F08EA28 -/* 0C3430 7F08E900 3C088008 */ lui $t0, %hi(pPlayer) -/* 0C3434 7F08E904 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0C3438 7F08E908 3C188007 */ lui $t8, %hi(ptr_animation_table) -/* 0C343C 7F08E90C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C3440 7F08E910 8D0404E8 */ lw $a0, 0x4e8($t0) -/* 0C3444 7F08E914 5044003A */ beql $v0, $a0, .L7F08EA00 -/* 0C3448 7F08E918 46006303 */ div.s $f12, $f12, $f0 -/* 0C344C 7F08E91C 44807000 */ mtc1 $zero, $f14 -/* 0C3450 7F08E920 0480000F */ bltz $a0, .L7F08E960 -/* 0C3454 7F08E924 00047080 */ sll $t6, $a0, 2 -/* 0C3458 7F08E928 01C47023 */ subu $t6, $t6, $a0 -/* 0C345C 7F08E92C 000E70C0 */ sll $t6, $t6, 3 -/* 0C3460 7F08E930 00AE1821 */ addu $v1, $a1, $t6 -/* 0C3464 7F08E934 C4600004 */ lwc1 $f0, 4($v1) -/* 0C3468 7F08E938 C4720008 */ lwc1 $f18, 8($v1) -/* 0C346C 7F08E93C C50A05C0 */ lwc1 $f10, 0x5c0($t0) -/* 0C3470 7F08E940 C6020004 */ lwc1 $f2, 4($s0) -/* 0C3474 7F08E944 46009101 */ sub.s $f4, $f18, $f0 -/* 0C3478 7F08E948 C6060008 */ lwc1 $f6, 8($s0) -/* 0C347C 7F08E94C 46005401 */ sub.s $f16, $f10, $f0 -/* 0C3480 7F08E950 46023201 */ sub.s $f8, $f6, $f2 -/* 0C3484 7F08E954 46048383 */ div.s $f14, $f16, $f4 -/* 0C3488 7F08E958 460E4282 */ mul.s $f10, $f8, $f14 -/* 0C348C 7F08E95C 46025380 */ add.s $f14, $f10, $f2 -.L7F08E960: -/* 0C3490 7F08E960 44819000 */ mtc1 $at, $f18 -/* 0C3494 7F08E964 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 0C3498 7F08E968 810605BC */ lb $a2, 0x5bc($t0) -/* 0C349C 7F08E96C 44818000 */ mtc1 $at, $f16 -/* 0C34A0 7F08E970 8E0F0000 */ lw $t7, ($s0) -/* 0C34A4 7F08E974 8F189538 */ lw $t8, %lo(ptr_animation_table)($t8) -/* 0C34A8 7F08E978 44077000 */ mfc1 $a3, $f14 -/* 0C34AC 7F08E97C E7AC0030 */ swc1 $f12, 0x30($sp) -/* 0C34B0 7F08E980 AFA2002C */ sw $v0, 0x2c($sp) -/* 0C34B4 7F08E984 25040598 */ addiu $a0, $t0, 0x598 -/* 0C34B8 7F08E988 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0C34BC 7F08E98C E7B00014 */ swc1 $f16, 0x14($sp) -/* 0C34C0 7F08E990 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0C34C4 7F08E994 01F82821 */ addu $a1, $t7, $t8 -/* 0C34C8 7F08E998 3C048008 */ lui $a0, %hi(pPlayer) -/* 0C34CC 7F08E99C 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0C34D0 7F08E9A0 8E050004 */ lw $a1, 4($s0) -/* 0C34D4 7F08E9A4 24060000 */ li $a2, 0 -/* 0C34D8 7F08E9A8 0FC1BF73 */ jal sub_GAME_7F06FDCC -/* 0C34DC 7F08E9AC 24840598 */ addiu $a0, $a0, 0x598 -/* 0C34E0 7F08E9B0 3C048008 */ lui $a0, %hi(pPlayer) -/* 0C34E4 7F08E9B4 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0C34E8 7F08E9B8 8E050008 */ lw $a1, 8($s0) -/* 0C34EC 7F08E9BC 0FC1BF7A */ jal sub_GAME_7F06FDE8 -/* 0C34F0 7F08E9C0 24840598 */ addiu $a0, $a0, 0x598 -/* 0C34F4 7F08E9C4 3C048008 */ lui $a0, %hi(pPlayer) -/* 0C34F8 7F08E9C8 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0C34FC 7F08E9CC 3C057F09 */ lui $a1, %hi(sub_GAME_7F08DBB0) # $a1, 0x7f09 -/* 0C3500 7F08E9D0 24A5DBB0 */ addiu $a1, %lo(sub_GAME_7F08DBB0) # addiu $a1, $a1, -0x2450 -/* 0C3504 7F08E9D4 0FC1BF8F */ jal sub_GAME_7F06FE3C -/* 0C3508 7F08E9D8 24840598 */ addiu $a0, $a0, 0x598 -/* 0C350C 7F08E9DC 3C198008 */ lui $t9, %hi(pPlayer) -/* 0C3510 7F08E9E0 8FA2002C */ lw $v0, 0x2c($sp) -/* 0C3514 7F08E9E4 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0C3518 7F08E9E8 C7AC0030 */ lwc1 $f12, 0x30($sp) -/* 0C351C 7F08E9EC 3C088008 */ lui $t0, %hi(pPlayer) -/* 0C3520 7F08E9F0 AF2204E8 */ sw $v0, 0x4e8($t9) -/* 0C3524 7F08E9F4 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0C3528 7F08E9F8 C600000C */ lwc1 $f0, 0xc($s0) -/* 0C352C 7F08E9FC 46006303 */ div.s $f12, $f12, $f0 -.L7F08EA00: -/* 0C3530 7F08EA00 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C3534 7F08EA04 44812000 */ mtc1 $at, $f4 -/* 0C3538 7F08EA08 25040598 */ addiu $a0, $t0, 0x598 -/* 0C353C 7F08EA0C 24060000 */ li $a2, 0 -/* 0C3540 7F08EA10 46046182 */ mul.s $f6, $f12, $f4 -/* 0C3544 7F08EA14 44053000 */ mfc1 $a1, $f6 -/* 0C3548 7F08EA18 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 0C354C 7F08EA1C 00000000 */ nop -/* 0C3550 7F08EA20 10000005 */ b .L7F08EA38 -/* 0C3554 7F08EA24 8FBF0024 */ lw $ra, 0x24($sp) -.L7F08EA28: -/* 0C3558 7F08EA28 24420001 */ addiu $v0, $v0, 1 -/* 0C355C 7F08EA2C 1443FFAE */ bne $v0, $v1, .L7F08E8E8 -/* 0C3560 7F08EA30 26100018 */ addiu $s0, $s0, 0x18 -/* 0C3564 7F08EA34 8FBF0024 */ lw $ra, 0x24($sp) -.L7F08EA38: -/* 0C3568 7F08EA38 8FB00020 */ lw $s0, 0x20($sp) -/* 0C356C 7F08EA3C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C3570 7F08EA40 03E00008 */ jr $ra -/* 0C3574 7F08EA44 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EA48(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EA48 -/* 0C3578 7F08EA48 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C357C 7F08EA4C 44877000 */ mtc1 $a3, $f14 -/* 0C3580 7F08EA50 44812000 */ mtc1 $at, $f4 -/* 0C3584 7F08EA54 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C3588 7F08EA58 AFA50024 */ sw $a1, 0x24($sp) -/* 0C358C 7F08EA5C 46047182 */ mul.s $f6, $f14, $f4 -/* 0C3590 7F08EA60 44866000 */ mtc1 $a2, $f12 -/* 0C3594 7F08EA64 00802825 */ move $a1, $a0 -/* 0C3598 7F08EA68 AFA40020 */ sw $a0, 0x20($sp) -/* 0C359C 7F08EA6C 3C048008 */ lui $a0, %hi(pPlayer) -/* 0C35A0 7F08EA70 3C014140 */ li $at, 0x41400000 # 12.000000 -/* 0C35A4 7F08EA74 44814000 */ mtc1 $at, $f8 -/* 0C35A8 7F08EA78 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0C35AC 7F08EA7C AFBF001C */ sw $ra, 0x1c($sp) -/* 0C35B0 7F08EA80 44076000 */ mfc1 $a3, $f12 -/* 0C35B4 7F08EA84 8FA60024 */ lw $a2, 0x24($sp) -/* 0C35B8 7F08EA88 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0C35BC 7F08EA8C 24840598 */ addiu $a0, $a0, 0x598 -/* 0C35C0 7F08EA90 0FC1BF2A */ jal sub_GAME_7F06FCA8 -/* 0C35C4 7F08EA94 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0C35C8 7F08EA98 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0C35CC 7F08EA9C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0C35D0 7F08EAA0 240EFFFF */ li $t6, -1 -/* 0C35D4 7F08EAA4 ADEE04E8 */ sw $t6, 0x4e8($t7) -/* 0C35D8 7F08EAA8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C35DC 7F08EAAC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C35E0 7F08EAB0 03E00008 */ jr $ra -/* 0C35E4 7F08EAB4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EAB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EAB8 -/* 0C35E8 7F08EAB8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C35EC 7F08EABC 44812000 */ mtc1 $at, $f4 -/* 0C35F0 7F08EAC0 3C048008 */ lui $a0, %hi(pPlayer) -/* 0C35F4 7F08EAC4 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0C35F8 7F08EAC8 46046182 */ mul.s $f6, $f12, $f4 -/* 0C35FC 7F08EACC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C3600 7F08EAD0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C3604 7F08EAD4 24060000 */ li $a2, 0 -/* 0C3608 7F08EAD8 24840598 */ addiu $a0, $a0, 0x598 -/* 0C360C 7F08EADC 44053000 */ mfc1 $a1, $f6 -/* 0C3610 7F08EAE0 0FC1BF93 */ jal sub_GAME_7F06FE4C -/* 0C3614 7F08EAE4 00000000 */ nop -/* 0C3618 7F08EAE8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C361C 7F08EAEC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C3620 7F08EAF0 03E00008 */ jr $ra -/* 0C3624 7F08EAF4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EAF8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055338 -.word 0x3c4cccce /*0.012500001*/ -glabel D_8005533C -.word 0x3b888889 /*0.0041666669*/ -.text -glabel sub_GAME_7F08EAF8 -/* 0C3628 7F08EAF8 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0C362C 7F08EAFC 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0C3630 7F08EB00 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C3634 7F08EB04 AFBF0014 */ sw $ra, 0x14($sp) -/* 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_bondfadefracnew -/* 0C3648 7F08EB18 00000000 */ nop -/* 0C364C 7F08EB1C 3C018005 */ lui $at, %hi(D_80055338) -/* 0C3650 7F08EB20 C4245338 */ lwc1 $f4, %lo(D_80055338)($at) -/* 0C3654 7F08EB24 3C018005 */ lui $at, %hi(D_8005533C) -/* 0C3658 7F08EB28 C428533C */ lwc1 $f8, %lo(D_8005533C)($at) -/* 0C365C 7F08EB2C 46040182 */ mul.s $f6, $f0, $f4 -/* 0C3660 7F08EB30 3C048008 */ lui $a0, %hi(pPlayer) -/* 0C3664 7F08EB34 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0C3668 7F08EB38 24840598 */ addiu $a0, $a0, 0x598 -/* 0C366C 7F08EB3C 46083080 */ add.s $f2, $f6, $f8 -/* 0C3670 7F08EB40 0FC1BD86 */ jal sub_GAME_7F06F618 -/* 0C3674 7F08EB44 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0C3678 7F08EB48 44805000 */ mtc1 $zero, $f10 -/* 0C367C 7F08EB4C C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 0C3680 7F08EB50 3C188008 */ lui $t8, %hi(pPlayer) -/* 0C3684 7F08EB54 4600503C */ c.lt.s $f10, $f0 -/* 0C3688 7F08EB58 00000000 */ nop -/* 0C368C 7F08EB5C 45000014 */ bc1f .L7F08EBB0 -/* 0C3690 7F08EB60 00000000 */ nop -/* 0C3694 7F08EB64 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0C3698 7F08EB68 3C098003 */ lui $t1, %hi(D_80036AD0) -/* 0C369C 7F08EB6C 25296AD0 */ addiu $t1, %lo(D_80036AD0) # addiu $t1, $t1, 0x6ad0 -/* 0C36A0 7F08EB70 8F1904E8 */ lw $t9, 0x4e8($t8) -/* 0C36A4 7F08EB74 00194080 */ sll $t0, $t9, 2 -/* 0C36A8 7F08EB78 01194023 */ subu $t0, $t0, $t9 -/* 0C36AC 7F08EB7C 000840C0 */ sll $t0, $t0, 3 -/* 0C36B0 7F08EB80 01091021 */ addu $v0, $t0, $t1 -/* 0C36B4 7F08EB84 C4500008 */ lwc1 $f16, 8($v0) -/* 0C36B8 7F08EB88 C4520004 */ lwc1 $f18, 4($v0) -/* 0C36BC 7F08EB8C 46128101 */ sub.s $f4, $f16, $f18 -/* 0C36C0 7F08EB90 46040303 */ div.s $f12, $f0, $f4 -/* 0C36C4 7F08EB94 4602603C */ c.lt.s $f12, $f2 -/* 0C36C8 7F08EB98 00000000 */ nop -/* 0C36CC 7F08EB9C 45000002 */ bc1f .L7F08EBA8 -/* 0C36D0 7F08EBA0 00000000 */ nop -/* 0C36D4 7F08EBA4 46001306 */ mov.s $f12, $f2 -.L7F08EBA8: -/* 0C36D8 7F08EBA8 10000005 */ b .L7F08EBC0 -/* 0C36DC 7F08EBAC 46006006 */ mov.s $f0, $f12 -.L7F08EBB0: -/* 0C36E0 7F08EBB0 10000003 */ b .L7F08EBC0 -/* 0C36E4 7F08EBB4 46001006 */ mov.s $f0, $f2 -/* 0C36E8 7F08EBB8 44800000 */ mtc1 $zero, $f0 -.L7F08EBBC: -/* 0C36EC 7F08EBBC 00000000 */ nop -.L7F08EBC0: -/* 0C36F0 7F08EBC0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C36F4 7F08EBC4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C36F8 7F08EBC8 03E00008 */ jr $ra -/* 0C36FC 7F08EBCC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EBD0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EBD0 -/* 0C3700 7F08EBD0 3C028007 */ lui $v0, %hi(ptr_setup_path_tbl) -/* 0C3704 7F08EBD4 8C425D00 */ lw $v0, %lo(ptr_setup_path_tbl)($v0) -/* 0C3708 7F08EBD8 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C370C 7F08EBDC F7B40008 */ sdc1 $f20, 8($sp) -/* 0C3710 7F08EBE0 AFA50014 */ sw $a1, 0x14($sp) -/* 0C3714 7F08EBE4 00803825 */ move $a3, $a0 -/* 0C3718 7F08EBE8 10400024 */ beqz $v0, .L7F08EC7C -/* 0C371C 7F08EBEC 00001825 */ move $v1, $zero -/* 0C3720 7F08EBF0 8C4E0000 */ lw $t6, ($v0) -/* 0C3724 7F08EBF4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0C3728 7F08EBF8 44810000 */ mtc1 $at, $f0 -/* 0C372C 7F08EBFC 05C0001F */ bltz $t6, .L7F08EC7C -/* 0C3730 7F08EC00 00402025 */ move $a0, $v0 -/* 0C3734 7F08EC04 3C068007 */ lui $a2, %hi(ptr_0xxxpresets) -/* 0C3738 7F08EC08 C4EC0008 */ lwc1 $f12, 8($a3) -/* 0C373C 7F08EC0C C4F00000 */ lwc1 $f16, ($a3) -/* 0C3740 7F08EC10 4480A000 */ mtc1 $zero, $f20 -/* 0C3744 7F08EC14 2407002C */ li $a3, 44 -/* 0C3748 7F08EC18 8CC65D18 */ lw $a2, %lo(ptr_0xxxpresets)($a2) -/* 0C374C 7F08EC1C 8C450000 */ lw $a1, ($v0) -.L7F08EC20: -/* 0C3750 7F08EC20 00A70019 */ multu $a1, $a3 -/* 0C3754 7F08EC24 4614003C */ c.lt.s $f0, $f20 -/* 0C3758 7F08EC28 00007812 */ mflo $t7 -/* 0C375C 7F08EC2C 01E61021 */ addu $v0, $t7, $a2 -/* 0C3760 7F08EC30 C4440008 */ lwc1 $f4, 8($v0) -/* 0C3764 7F08EC34 C4460000 */ lwc1 $f6, ($v0) -/* 0C3768 7F08EC38 46046381 */ sub.s $f14, $f12, $f4 -/* 0C376C 7F08EC3C 46068481 */ sub.s $f18, $f16, $f6 -/* 0C3770 7F08EC40 460E7202 */ mul.s $f8, $f14, $f14 -/* 0C3774 7F08EC44 00000000 */ nop -/* 0C3778 7F08EC48 46129282 */ mul.s $f10, $f18, $f18 -/* 0C377C 7F08EC4C 45010005 */ bc1t .L7F08EC64 -/* 0C3780 7F08EC50 460A4080 */ add.s $f2, $f8, $f10 -/* 0C3784 7F08EC54 4600103C */ c.lt.s $f2, $f0 -/* 0C3788 7F08EC58 00000000 */ nop -/* 0C378C 7F08EC5C 45020004 */ bc1fl .L7F08EC70 -/* 0C3790 7F08EC60 8C850010 */ lw $a1, 0x10($a0) -.L7F08EC64: -/* 0C3794 7F08EC64 46001006 */ mov.s $f0, $f2 -/* 0C3798 7F08EC68 00801825 */ move $v1, $a0 -/* 0C379C 7F08EC6C 8C850010 */ lw $a1, 0x10($a0) -.L7F08EC70: -/* 0C37A0 7F08EC70 24840010 */ addiu $a0, $a0, 0x10 -/* 0C37A4 7F08EC74 04A1FFEA */ bgez $a1, .L7F08EC20 -/* 0C37A8 7F08EC78 00000000 */ nop -.L7F08EC7C: -/* 0C37AC 7F08EC7C D7B40008 */ ldc1 $f20, 8($sp) -/* 0C37B0 7F08EC80 27BD0010 */ addiu $sp, $sp, 0x10 -/* 0C37B4 7F08EC84 03E00008 */ jr $ra -/* 0C37B8 7F08EC88 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EC8C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EC8C -/* 0C37BC 7F08EC8C AFA50004 */ sw $a1, 4($sp) -/* 0C37C0 7F08EC90 8CC20004 */ lw $v0, 4($a2) -/* 0C37C4 7F08EC94 00803825 */ move $a3, $a0 -/* 0C37C8 7F08EC98 00C01825 */ move $v1, $a2 -/* 0C37CC 7F08EC9C 1040002E */ beqz $v0, .L7F08ED58 -/* 0C37D0 7F08ECA0 00000000 */ nop -/* 0C37D4 7F08ECA4 8CCE0000 */ lw $t6, ($a2) -/* 0C37D8 7F08ECA8 240A002C */ li $t2, 44 -/* 0C37DC 7F08ECAC 3C0B8007 */ lui $t3, %hi(ptr_setup_path_tbl) -/* 0C37E0 7F08ECB0 01CA0019 */ multu $t6, $t2 -/* 0C37E4 7F08ECB4 256B5D00 */ addiu $t3, %lo(ptr_setup_path_tbl) # addiu $t3, $t3, 0x5d00 -/* 0C37E8 7F08ECB8 8D650018 */ lw $a1, 0x18($t3) -/* 0C37EC 7F08ECBC C4E20008 */ lwc1 $f2, 8($a3) -/* 0C37F0 7F08ECC0 C4EE0000 */ lwc1 $f14, ($a3) -/* 0C37F4 7F08ECC4 8C490000 */ lw $t1, ($v0) -/* 0C37F8 7F08ECC8 8D680000 */ lw $t0, ($t3) -/* 0C37FC 7F08ECCC 00007812 */ mflo $t7 -/* 0C3800 7F08ECD0 01E52021 */ addu $a0, $t7, $a1 -/* 0C3804 7F08ECD4 C4840008 */ lwc1 $f4, 8($a0) -/* 0C3808 7F08ECD8 C4860000 */ lwc1 $f6, ($a0) -/* 0C380C 7F08ECDC 46041301 */ sub.s $f12, $f2, $f4 -/* 0C3810 7F08ECE0 46067401 */ sub.s $f16, $f14, $f6 -/* 0C3814 7F08ECE4 460C6202 */ mul.s $f8, $f12, $f12 -/* 0C3818 7F08ECE8 00000000 */ nop -/* 0C381C 7F08ECEC 46108282 */ mul.s $f10, $f16, $f16 -/* 0C3820 7F08ECF0 05200019 */ bltz $t1, .L7F08ED58 -/* 0C3824 7F08ECF4 460A4000 */ add.s $f0, $f8, $f10 -/* 0C3828 7F08ECF8 0009C100 */ sll $t8, $t1, 4 -.L7F08ECFC: -/* 0C382C 7F08ECFC 03083021 */ addu $a2, $t8, $t0 -/* 0C3830 7F08ED00 8CD90000 */ lw $t9, ($a2) -/* 0C3834 7F08ED04 032A0019 */ multu $t9, $t2 -/* 0C3838 7F08ED08 00006012 */ mflo $t4 -/* 0C383C 7F08ED0C 01852021 */ addu $a0, $t4, $a1 -/* 0C3840 7F08ED10 C4840008 */ lwc1 $f4, 8($a0) -/* 0C3844 7F08ED14 C4860000 */ lwc1 $f6, ($a0) -/* 0C3848 7F08ED18 46041301 */ sub.s $f12, $f2, $f4 -/* 0C384C 7F08ED1C 46067401 */ sub.s $f16, $f14, $f6 -/* 0C3850 7F08ED20 460C6202 */ mul.s $f8, $f12, $f12 -/* 0C3854 7F08ED24 00000000 */ nop -/* 0C3858 7F08ED28 46108282 */ mul.s $f10, $f16, $f16 -/* 0C385C 7F08ED2C 460A4480 */ add.s $f18, $f8, $f10 -/* 0C3860 7F08ED30 4600903C */ c.lt.s $f18, $f0 -/* 0C3864 7F08ED34 00000000 */ nop -/* 0C3868 7F08ED38 45000003 */ bc1f .L7F08ED48 -/* 0C386C 7F08ED3C 00000000 */ nop -/* 0C3870 7F08ED40 46009006 */ mov.s $f0, $f18 -/* 0C3874 7F08ED44 00C01825 */ move $v1, $a2 -.L7F08ED48: -/* 0C3878 7F08ED48 8C490004 */ lw $t1, 4($v0) -/* 0C387C 7F08ED4C 24420004 */ addiu $v0, $v0, 4 -/* 0C3880 7F08ED50 0523FFEA */ bgezl $t1, .L7F08ECFC -/* 0C3884 7F08ED54 0009C100 */ sll $t8, $t1, 4 -.L7F08ED58: -/* 0C3888 7F08ED58 03E00008 */ jr $ra -/* 0C388C 7F08ED5C 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08ED60(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08ED60 -/* 0C3890 7F08ED60 8C830000 */ lw $v1, ($a0) -/* 0C3894 7F08ED64 3C028007 */ lui $v0, %hi(ptr_setup_path_link) -/* 0C3898 7F08ED68 00A03025 */ move $a2, $a1 -/* 0C389C 7F08ED6C 0460000E */ bltz $v1, .L7F08EDA8 -/* 0C38A0 7F08ED70 8C425D04 */ lw $v0, %lo(ptr_setup_path_link)($v0) -/* 0C38A4 7F08ED74 2407000C */ li $a3, 12 -.L7F08ED78: -/* 0C38A8 7F08ED78 00670019 */ multu $v1, $a3 -/* 0C38AC 7F08ED7C 00007012 */ mflo $t6 -/* 0C38B0 7F08ED80 01C22821 */ addu $a1, $t6, $v0 -/* 0C38B4 7F08ED84 8CAF0008 */ lw $t7, 8($a1) -/* 0C38B8 7F08ED88 54CF0004 */ bnel $a2, $t7, .L7F08ED9C -/* 0C38BC 7F08ED8C 8C830004 */ lw $v1, 4($a0) -/* 0C38C0 7F08ED90 03E00008 */ jr $ra -/* 0C38C4 7F08ED94 00A01025 */ move $v0, $a1 - -/* 0C38C8 7F08ED98 8C830004 */ lw $v1, 4($a0) -.L7F08ED9C: -/* 0C38CC 7F08ED9C 24840004 */ addiu $a0, $a0, 4 -/* 0C38D0 7F08EDA0 0461FFF5 */ bgez $v1, .L7F08ED78 -/* 0C38D4 7F08EDA4 00000000 */ nop -.L7F08EDA8: -/* 0C38D8 7F08EDA8 00001025 */ move $v0, $zero -/* 0C38DC 7F08EDAC 03E00008 */ jr $ra -/* 0C38E0 7F08EDB0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EDB4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EDB4 -/* 0C38E4 7F08EDB4 8C830000 */ lw $v1, ($a0) -/* 0C38E8 7F08EDB8 3C028007 */ lui $v0, %hi(ptr_setup_path_link) -/* 0C38EC 7F08EDBC 00A03025 */ move $a2, $a1 -/* 0C38F0 7F08EDC0 0460000D */ bltz $v1, .L7F08EDF8 -/* 0C38F4 7F08EDC4 8C425D04 */ lw $v0, %lo(ptr_setup_path_link)($v0) -/* 0C38F8 7F08EDC8 2407000C */ li $a3, 12 -.L7F08EDCC: -/* 0C38FC 7F08EDCC 00670019 */ multu $v1, $a3 -/* 0C3900 7F08EDD0 00007012 */ mflo $t6 -/* 0C3904 7F08EDD4 01C22821 */ addu $a1, $t6, $v0 -/* 0C3908 7F08EDD8 8CAF0008 */ lw $t7, 8($a1) -/* 0C390C 7F08EDDC 05E30003 */ bgezl $t7, .L7F08EDEC -/* 0C3910 7F08EDE0 8C830004 */ lw $v1, 4($a0) -/* 0C3914 7F08EDE4 ACA60008 */ sw $a2, 8($a1) -/* 0C3918 7F08EDE8 8C830004 */ lw $v1, 4($a0) -.L7F08EDEC: -/* 0C391C 7F08EDEC 24840004 */ addiu $a0, $a0, 4 -/* 0C3920 7F08EDF0 0461FFF6 */ bgez $v1, .L7F08EDCC -/* 0C3924 7F08EDF4 00000000 */ nop -.L7F08EDF8: -/* 0C3928 7F08EDF8 03E00008 */ jr $ra -/* 0C392C 7F08EDFC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EE00(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EE00 -/* 0C3930 7F08EE00 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C3934 7F08EE04 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C3938 7F08EE08 AFB20020 */ sw $s2, 0x20($sp) -/* 0C393C 7F08EE0C AFB1001C */ sw $s1, 0x1c($sp) -/* 0C3940 7F08EE10 AFB00018 */ sw $s0, 0x18($sp) -/* 0C3944 7F08EE14 8C860000 */ lw $a2, ($a0) -/* 0C3948 7F08EE18 00808025 */ move $s0, $a0 -/* 0C394C 7F08EE1C 00A08825 */ move $s1, $a1 -/* 0C3950 7F08EE20 10C0000C */ beqz $a2, .L7F08EE54 -/* 0C3954 7F08EE24 00009025 */ move $s2, $zero -/* 0C3958 7F08EE28 8E0E0008 */ lw $t6, 8($s0) -.L7F08EE2C: -/* 0C395C 7F08EE2C 00C02025 */ move $a0, $a2 -/* 0C3960 7F08EE30 26250001 */ addiu $a1, $s1, 1 -/* 0C3964 7F08EE34 562E0004 */ bnel $s1, $t6, .L7F08EE48 -/* 0C3968 7F08EE38 8E06000C */ lw $a2, 0xc($s0) -/* 0C396C 7F08EE3C 0FC23B6D */ jal sub_GAME_7F08EDB4 -/* 0C3970 7F08EE40 24120001 */ li $s2, 1 -/* 0C3974 7F08EE44 8E06000C */ lw $a2, 0xc($s0) -.L7F08EE48: -/* 0C3978 7F08EE48 2610000C */ addiu $s0, $s0, 0xc -/* 0C397C 7F08EE4C 54C0FFF7 */ bnezl $a2, .L7F08EE2C -/* 0C3980 7F08EE50 8E0E0008 */ lw $t6, 8($s0) -.L7F08EE54: -/* 0C3984 7F08EE54 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C3988 7F08EE58 02401025 */ move $v0, $s2 -/* 0C398C 7F08EE5C 8FB20020 */ lw $s2, 0x20($sp) -/* 0C3990 7F08EE60 8FB00018 */ lw $s0, 0x18($sp) -/* 0C3994 7F08EE64 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C3998 7F08EE68 03E00008 */ jr $ra -/* 0C399C 7F08EE6C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EE70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EE70 -/* 0C39A0 7F08EE70 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C39A4 7F08EE74 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C39A8 7F08EE78 AFB30020 */ sw $s3, 0x20($sp) -/* 0C39AC 7F08EE7C AFB2001C */ sw $s2, 0x1c($sp) -/* 0C39B0 7F08EE80 AFB10018 */ sw $s1, 0x18($sp) -/* 0C39B4 7F08EE84 AFB00014 */ sw $s0, 0x14($sp) -/* 0C39B8 7F08EE88 8CCE0000 */ lw $t6, ($a2) -/* 0C39BC 7F08EE8C 00C08825 */ move $s1, $a2 -/* 0C39C0 7F08EE90 00E09025 */ move $s2, $a3 -/* 0C39C4 7F08EE94 00A09825 */ move $s3, $a1 -/* 0C39C8 7F08EE98 24080001 */ li $t0, 1 -/* 0C39CC 7F08EE9C 11C00007 */ beqz $t6, .L7F08EEBC -/* 0C39D0 7F08EEA0 00C01025 */ move $v0, $a2 -/* 0C39D4 7F08EEA4 2403FFFF */ li $v1, -1 -/* 0C39D8 7F08EEA8 8C4F000C */ lw $t7, 0xc($v0) -.L7F08EEAC: -/* 0C39DC 7F08EEAC 2442000C */ addiu $v0, $v0, 0xc -/* 0C39E0 7F08EEB0 AC43FFFC */ sw $v1, -4($v0) -/* 0C39E4 7F08EEB4 55E0FFFD */ bnezl $t7, .L7F08EEAC -/* 0C39E8 7F08EEB8 8C4F000C */ lw $t7, 0xc($v0) -.L7F08EEBC: -/* 0C39EC 7F08EEBC AC800008 */ sw $zero, 8($a0) -/* 0C39F0 7F08EEC0 16400003 */ bnez $s2, .L7F08EED0 -/* 0C39F4 7F08EEC4 00008025 */ move $s0, $zero -/* 0C39F8 7F08EEC8 8E780008 */ lw $t8, 8($s3) -/* 0C39FC 7F08EECC 0701000B */ bgez $t8, .L7F08EEFC -.L7F08EED0: -/* 0C3A00 7F08EED0 02202025 */ move $a0, $s1 -.L7F08EED4: -/* 0C3A04 7F08EED4 0FC23B80 */ jal sub_GAME_7F08EE00 -/* 0C3A08 7F08EED8 02002825 */ move $a1, $s0 -/* 0C3A0C 7F08EEDC 26100001 */ addiu $s0, $s0, 1 -/* 0C3A10 7F08EEE0 16400004 */ bnez $s2, .L7F08EEF4 -/* 0C3A14 7F08EEE4 00404025 */ move $t0, $v0 -/* 0C3A18 7F08EEE8 8E790008 */ lw $t9, 8($s3) -/* 0C3A1C 7F08EEEC 07230004 */ bgezl $t9, .L7F08EF00 -/* 0C3A20 7F08EEF0 8FBF0024 */ lw $ra, 0x24($sp) -.L7F08EEF4: -/* 0C3A24 7F08EEF4 5500FFF7 */ bnezl $t0, .L7F08EED4 -/* 0C3A28 7F08EEF8 02202025 */ move $a0, $s1 -.L7F08EEFC: -/* 0C3A2C 7F08EEFC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F08EF00: -/* 0C3A30 7F08EF00 8FB00014 */ lw $s0, 0x14($sp) -/* 0C3A34 7F08EF04 8FB10018 */ lw $s1, 0x18($sp) -/* 0C3A38 7F08EF08 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C3A3C 7F08EF0C 8FB30020 */ lw $s3, 0x20($sp) -/* 0C3A40 7F08EF10 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0C3A44 7F08EF14 03E00008 */ jr $ra -/* 0C3A48 7F08EF18 01001025 */ move $v0, $t0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EF1C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EF1C -/* 0C3A4C 7F08EF1C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C3A50 7F08EF20 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C3A54 7F08EF24 AFB10018 */ sw $s1, 0x18($sp) -/* 0C3A58 7F08EF28 AFB00014 */ sw $s0, 0x14($sp) -/* 0C3A5C 7F08EF2C AFA50034 */ sw $a1, 0x34($sp) -/* 0C3A60 7F08EF30 0FC23B9C */ jal sub_GAME_7F08EE70 -/* 0C3A64 7F08EF34 00003825 */ move $a3, $zero -/* 0C3A68 7F08EF38 8FA50034 */ lw $a1, 0x34($sp) -/* 0C3A6C 7F08EF3C 10400012 */ beqz $v0, .L7F08EF88 -/* 0C3A70 7F08EF40 AFA20024 */ sw $v0, 0x24($sp) -/* 0C3A74 7F08EF44 8CB00008 */ lw $s0, 8($a1) -/* 0C3A78 7F08EF48 00A08825 */ move $s1, $a1 -/* 0C3A7C 7F08EF4C 2610FFFF */ addiu $s0, $s0, -1 -/* 0C3A80 7F08EF50 0602000B */ bltzl $s0, .L7F08EF80 -/* 0C3A84 7F08EF54 8E380008 */ lw $t8, 8($s1) -.L7F08EF58: -/* 0C3A88 7F08EF58 8E2E0008 */ lw $t6, 8($s1) -/* 0C3A8C 7F08EF5C 8E240000 */ lw $a0, ($s1) -/* 0C3A90 7F08EF60 02002825 */ move $a1, $s0 -/* 0C3A94 7F08EF64 25CF2710 */ addiu $t7, $t6, 0x2710 -/* 0C3A98 7F08EF68 0FC23B58 */ jal sub_GAME_7F08ED60 -/* 0C3A9C 7F08EF6C AE2F0008 */ sw $t7, 8($s1) -/* 0C3AA0 7F08EF70 2610FFFF */ addiu $s0, $s0, -1 -/* 0C3AA4 7F08EF74 0601FFF8 */ bgez $s0, .L7F08EF58 -/* 0C3AA8 7F08EF78 00408825 */ move $s1, $v0 -/* 0C3AAC 7F08EF7C 8E380008 */ lw $t8, 8($s1) -.L7F08EF80: -/* 0C3AB0 7F08EF80 27192710 */ addiu $t9, $t8, 0x2710 -/* 0C3AB4 7F08EF84 AE390008 */ sw $t9, 8($s1) -.L7F08EF88: -/* 0C3AB8 7F08EF88 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C3ABC 7F08EF8C 8FA20024 */ lw $v0, 0x24($sp) -/* 0C3AC0 7F08EF90 8FB00014 */ lw $s0, 0x14($sp) -/* 0C3AC4 7F08EF94 8FB10018 */ lw $s1, 0x18($sp) -/* 0C3AC8 7F08EF98 03E00008 */ jr $ra -/* 0C3ACC 7F08EF9C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08EFA0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08EFA0 -/* 0C3AD0 7F08EFA0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C3AD4 7F08EFA4 AFB40028 */ sw $s4, 0x28($sp) -/* 0C3AD8 7F08EFA8 AFB30024 */ sw $s3, 0x24($sp) -/* 0C3ADC 7F08EFAC AFB1001C */ sw $s1, 0x1c($sp) -/* 0C3AE0 7F08EFB0 28E10002 */ slti $at, $a3, 2 -/* 0C3AE4 7F08EFB4 00E09825 */ move $s3, $a3 -/* 0C3AE8 7F08EFB8 00A0A025 */ move $s4, $a1 -/* 0C3AEC 7F08EFBC AFBF002C */ sw $ra, 0x2c($sp) -/* 0C3AF0 7F08EFC0 AFB20020 */ sw $s2, 0x20($sp) -/* 0C3AF4 7F08EFC4 AFB00018 */ sw $s0, 0x18($sp) -/* 0C3AF8 7F08EFC8 AFA60038 */ sw $a2, 0x38($sp) -/* 0C3AFC 7F08EFCC 14200022 */ bnez $at, .L7F08F058 -/* 0C3B00 7F08EFD0 00C08825 */ move $s1, $a2 -/* 0C3B04 7F08EFD4 3C068007 */ lui $a2, %hi(ptr_setup_path_link) -/* 0C3B08 7F08EFD8 8CC65D04 */ lw $a2, %lo(ptr_setup_path_link)($a2) -/* 0C3B0C 7F08EFDC 50C0001F */ beql $a2, $zero, .L7F08F05C -/* 0C3B10 7F08EFE0 AE200000 */ sw $zero, ($s1) -/* 0C3B14 7F08EFE4 0FC23BC7 */ jal sub_GAME_7F08EF1C -/* 0C3B18 7F08EFE8 AFA40030 */ sw $a0, 0x30($sp) -/* 0C3B1C 7F08EFEC 1040001A */ beqz $v0, .L7F08F058 -/* 0C3B20 7F08EFF0 8FA40030 */ lw $a0, 0x30($sp) -/* 0C3B24 7F08EFF4 8FA20038 */ lw $v0, 0x38($sp) -/* 0C3B28 7F08EFF8 00809025 */ move $s2, $a0 -/* 0C3B2C 7F08EFFC 2673270F */ addiu $s3, $s3, 0x270f -/* 0C3B30 7F08F000 AC440000 */ sw $a0, ($v0) -/* 0C3B34 7F08F004 8E8E0008 */ lw $t6, 8($s4) -/* 0C3B38 7F08F008 24102711 */ li $s0, 10001 -/* 0C3B3C 7F08F00C 24510004 */ addiu $s1, $v0, 4 -/* 0C3B40 7F08F010 29C12711 */ slti $at, $t6, 0x2711 -/* 0C3B44 7F08F014 14200010 */ bnez $at, .L7F08F058 -/* 0C3B48 7F08F018 2A612712 */ slti $at, $s3, 0x2712 -/* 0C3B4C 7F08F01C 5420000F */ bnezl $at, .L7F08F05C -/* 0C3B50 7F08F020 AE200000 */ sw $zero, ($s1) -/* 0C3B54 7F08F024 8E440000 */ lw $a0, ($s2) -.L7F08F028: -/* 0C3B58 7F08F028 0FC23B58 */ jal sub_GAME_7F08ED60 -/* 0C3B5C 7F08F02C 02002825 */ move $a1, $s0 -/* 0C3B60 7F08F030 AE220000 */ sw $v0, ($s1) -/* 0C3B64 7F08F034 8E8F0008 */ lw $t7, 8($s4) -/* 0C3B68 7F08F038 26100001 */ addiu $s0, $s0, 1 -/* 0C3B6C 7F08F03C 00409025 */ move $s2, $v0 -/* 0C3B70 7F08F040 01F0082A */ slt $at, $t7, $s0 -/* 0C3B74 7F08F044 14200004 */ bnez $at, .L7F08F058 -/* 0C3B78 7F08F048 26310004 */ addiu $s1, $s1, 4 -/* 0C3B7C 7F08F04C 0213082A */ slt $at, $s0, $s3 -/* 0C3B80 7F08F050 5420FFF5 */ bnezl $at, .L7F08F028 -/* 0C3B84 7F08F054 8E440000 */ lw $a0, ($s2) -.L7F08F058: -/* 0C3B88 7F08F058 AE200000 */ sw $zero, ($s1) -.L7F08F05C: -/* 0C3B8C 7F08F05C 8FB80038 */ lw $t8, 0x38($sp) -/* 0C3B90 7F08F060 26310004 */ addiu $s1, $s1, 4 -/* 0C3B94 7F08F064 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C3B98 7F08F068 02381023 */ subu $v0, $s1, $t8 -/* 0C3B9C 7F08F06C 0002C883 */ sra $t9, $v0, 2 -/* 0C3BA0 7F08F070 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C3BA4 7F08F074 8FB40028 */ lw $s4, 0x28($sp) -/* 0C3BA8 7F08F078 8FB30024 */ lw $s3, 0x24($sp) -/* 0C3BAC 7F08F07C 8FB20020 */ lw $s2, 0x20($sp) -/* 0C3BB0 7F08F080 8FB00018 */ lw $s0, 0x18($sp) -/* 0C3BB4 7F08F084 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C3BB8 7F08F088 03E00008 */ jr $ra -/* 0C3BBC 7F08F08C 03201025 */ move $v0, $t9 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F090(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F090 -/* 0C3BC0 7F08F090 8C830000 */ lw $v1, ($a0) -/* 0C3BC4 7F08F094 3C028007 */ lui $v0, %hi(ptr_setup_path_tbl) -/* 0C3BC8 7F08F098 00A03825 */ move $a3, $a1 -/* 0C3BCC 7F08F09C 0460000F */ bltz $v1, .L7F08F0DC -/* 0C3BD0 7F08F0A0 8C425D00 */ lw $v0, %lo(ptr_setup_path_tbl)($v0) -/* 0C3BD4 7F08F0A4 00037100 */ sll $t6, $v1, 4 -.L7F08F0A8: -/* 0C3BD8 7F08F0A8 01C22821 */ addu $a1, $t6, $v0 -/* 0C3BDC 7F08F0AC 8CAF0008 */ lw $t7, 8($a1) -/* 0C3BE0 7F08F0B0 54CF0007 */ bnel $a2, $t7, .L7F08F0D0 -/* 0C3BE4 7F08F0B4 8C830004 */ lw $v1, 4($a0) -/* 0C3BE8 7F08F0B8 8CB8000C */ lw $t8, 0xc($a1) -/* 0C3BEC 7F08F0BC 54F80004 */ bnel $a3, $t8, .L7F08F0D0 -/* 0C3BF0 7F08F0C0 8C830004 */ lw $v1, 4($a0) -/* 0C3BF4 7F08F0C4 03E00008 */ jr $ra -/* 0C3BF8 7F08F0C8 00A01025 */ move $v0, $a1 - -/* 0C3BFC 7F08F0CC 8C830004 */ lw $v1, 4($a0) -.L7F08F0D0: -/* 0C3C00 7F08F0D0 24840004 */ addiu $a0, $a0, 4 -/* 0C3C04 7F08F0D4 0463FFF4 */ bgezl $v1, .L7F08F0A8 -/* 0C3C08 7F08F0D8 00037100 */ sll $t6, $v1, 4 -.L7F08F0DC: -/* 0C3C0C 7F08F0DC 00001025 */ move $v0, $zero -/* 0C3C10 7F08F0E0 03E00008 */ jr $ra -/* 0C3C14 7F08F0E4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F0E8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F0E8 -/* 0C3C18 7F08F0E8 8C830000 */ lw $v1, ($a0) -/* 0C3C1C 7F08F0EC 3C028007 */ lui $v0, %hi(ptr_setup_path_tbl) -/* 0C3C20 7F08F0F0 00A03825 */ move $a3, $a1 -/* 0C3C24 7F08F0F4 0460000E */ bltz $v1, .L7F08F130 -/* 0C3C28 7F08F0F8 8C425D00 */ lw $v0, %lo(ptr_setup_path_tbl)($v0) -/* 0C3C2C 7F08F0FC 00037100 */ sll $t6, $v1, 4 -.L7F08F100: -/* 0C3C30 7F08F100 01C22821 */ addu $a1, $t6, $v0 -/* 0C3C34 7F08F104 8CAF0008 */ lw $t7, 8($a1) -/* 0C3C38 7F08F108 54CF0006 */ bnel $a2, $t7, .L7F08F124 -/* 0C3C3C 7F08F10C 8C830004 */ lw $v1, 4($a0) -/* 0C3C40 7F08F110 8CB8000C */ lw $t8, 0xc($a1) -/* 0C3C44 7F08F114 07030003 */ bgezl $t8, .L7F08F124 -/* 0C3C48 7F08F118 8C830004 */ lw $v1, 4($a0) -/* 0C3C4C 7F08F11C ACA7000C */ sw $a3, 0xc($a1) -/* 0C3C50 7F08F120 8C830004 */ lw $v1, 4($a0) -.L7F08F124: -/* 0C3C54 7F08F124 24840004 */ addiu $a0, $a0, 4 -/* 0C3C58 7F08F128 0463FFF5 */ bgezl $v1, .L7F08F100 -/* 0C3C5C 7F08F12C 00037100 */ sll $t6, $v1, 4 -.L7F08F130: -/* 0C3C60 7F08F130 03E00008 */ jr $ra -/* 0C3C64 7F08F134 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F138(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F138 -/* 0C3C68 7F08F138 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C3C6C 7F08F13C AFBF002C */ sw $ra, 0x2c($sp) -/* 0C3C70 7F08F140 AFB40028 */ sw $s4, 0x28($sp) -/* 0C3C74 7F08F144 AFB30024 */ sw $s3, 0x24($sp) -/* 0C3C78 7F08F148 AFB20020 */ sw $s2, 0x20($sp) -/* 0C3C7C 7F08F14C AFB1001C */ sw $s1, 0x1c($sp) -/* 0C3C80 7F08F150 AFB00018 */ sw $s0, 0x18($sp) -/* 0C3C84 7F08F154 8C820000 */ lw $v0, ($a0) -/* 0C3C88 7F08F158 3C138007 */ lui $s3, %hi(ptr_setup_path_tbl) -/* 0C3C8C 7F08F15C 00808025 */ move $s0, $a0 -/* 0C3C90 7F08F160 00A08825 */ move $s1, $a1 -/* 0C3C94 7F08F164 00C0A025 */ move $s4, $a2 -/* 0C3C98 7F08F168 00009025 */ move $s2, $zero -/* 0C3C9C 7F08F16C 04400011 */ bltz $v0, .L7F08F1B4 -/* 0C3CA0 7F08F170 8E735D00 */ lw $s3, %lo(ptr_setup_path_tbl)($s3) -/* 0C3CA4 7F08F174 00027100 */ sll $t6, $v0, 4 -.L7F08F178: -/* 0C3CA8 7F08F178 01D31821 */ addu $v1, $t6, $s3 -/* 0C3CAC 7F08F17C 8C6F000C */ lw $t7, 0xc($v1) -/* 0C3CB0 7F08F180 562F0009 */ bnel $s1, $t7, .L7F08F1A8 -/* 0C3CB4 7F08F184 8E020004 */ lw $v0, 4($s0) -/* 0C3CB8 7F08F188 8C640004 */ lw $a0, 4($v1) -/* 0C3CBC 7F08F18C 26250001 */ addiu $a1, $s1, 1 -/* 0C3CC0 7F08F190 02803025 */ move $a2, $s4 -/* 0C3CC4 7F08F194 50800004 */ beql $a0, $zero, .L7F08F1A8 -/* 0C3CC8 7F08F198 8E020004 */ lw $v0, 4($s0) -/* 0C3CCC 7F08F19C 0FC23C3A */ jal sub_GAME_7F08F0E8 -/* 0C3CD0 7F08F1A0 24120001 */ li $s2, 1 -/* 0C3CD4 7F08F1A4 8E020004 */ lw $v0, 4($s0) -.L7F08F1A8: -/* 0C3CD8 7F08F1A8 26100004 */ addiu $s0, $s0, 4 -/* 0C3CDC 7F08F1AC 0443FFF2 */ bgezl $v0, .L7F08F178 -/* 0C3CE0 7F08F1B0 00027100 */ sll $t6, $v0, 4 -.L7F08F1B4: -/* 0C3CE4 7F08F1B4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C3CE8 7F08F1B8 02401025 */ move $v0, $s2 -/* 0C3CEC 7F08F1BC 8FB20020 */ lw $s2, 0x20($sp) -/* 0C3CF0 7F08F1C0 8FB00018 */ lw $s0, 0x18($sp) -/* 0C3CF4 7F08F1C4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C3CF8 7F08F1C8 8FB30024 */ lw $s3, 0x24($sp) -/* 0C3CFC 7F08F1CC 8FB40028 */ lw $s4, 0x28($sp) -/* 0C3D00 7F08F1D0 03E00008 */ jr $ra -/* 0C3D04 7F08F1D4 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F1D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F1D8 -/* 0C3D08 7F08F1D8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C3D0C 7F08F1DC AFBF002C */ sw $ra, 0x2c($sp) -/* 0C3D10 7F08F1E0 AFB50028 */ sw $s5, 0x28($sp) -/* 0C3D14 7F08F1E4 AFB40024 */ sw $s4, 0x24($sp) -/* 0C3D18 7F08F1E8 AFB30020 */ sw $s3, 0x20($sp) -/* 0C3D1C 7F08F1EC AFB2001C */ sw $s2, 0x1c($sp) -/* 0C3D20 7F08F1F0 AFB10018 */ sw $s1, 0x18($sp) -/* 0C3D24 7F08F1F4 AFB00014 */ sw $s0, 0x14($sp) -/* 0C3D28 7F08F1F8 8C8E0008 */ lw $t6, 8($a0) -/* 0C3D2C 7F08F1FC 2415000C */ li $s5, 12 -/* 0C3D30 7F08F200 3C028007 */ lui $v0, %hi(ptr_setup_path_tbl) -/* 0C3D34 7F08F204 01D50019 */ multu $t6, $s5 -/* 0C3D38 7F08F208 24425D00 */ addiu $v0, %lo(ptr_setup_path_tbl) # addiu $v0, $v0, 0x5d00 -/* 0C3D3C 7F08F20C 8C510004 */ lw $s1, 4($v0) -/* 0C3D40 7F08F210 00809025 */ move $s2, $a0 -/* 0C3D44 7F08F214 00C09825 */ move $s3, $a2 -/* 0C3D48 7F08F218 00A0A025 */ move $s4, $a1 -/* 0C3D4C 7F08F21C 8C480000 */ lw $t0, ($v0) -/* 0C3D50 7F08F220 2404FFFF */ li $a0, -1 -/* 0C3D54 7F08F224 00008025 */ move $s0, $zero -/* 0C3D58 7F08F228 00007812 */ mflo $t7 -/* 0C3D5C 7F08F22C 022FC021 */ addu $t8, $s1, $t7 -/* 0C3D60 7F08F230 8F030004 */ lw $v1, 4($t8) -/* 0C3D64 7F08F234 8C670000 */ lw $a3, ($v1) -/* 0C3D68 7F08F238 04E00007 */ bltz $a3, .L7F08F258 -/* 0C3D6C 7F08F23C 0007C900 */ sll $t9, $a3, 4 -.L7F08F240: -/* 0C3D70 7F08F240 03281021 */ addu $v0, $t9, $t0 -/* 0C3D74 7F08F244 AC44000C */ sw $a0, 0xc($v0) -/* 0C3D78 7F08F248 8C670004 */ lw $a3, 4($v1) -/* 0C3D7C 7F08F24C 24630004 */ addiu $v1, $v1, 4 -/* 0C3D80 7F08F250 04E3FFFB */ bgezl $a3, .L7F08F240 -/* 0C3D84 7F08F254 0007C900 */ sll $t9, $a3, 4 -.L7F08F258: -/* 0C3D88 7F08F258 16600004 */ bnez $s3, .L7F08F26C -/* 0C3D8C 7F08F25C AE40000C */ sw $zero, 0xc($s2) -/* 0C3D90 7F08F260 8E89000C */ lw $t1, 0xc($s4) -/* 0C3D94 7F08F264 05230011 */ bgezl $t1, .L7F08F2AC -/* 0C3D98 7F08F268 8FBF002C */ lw $ra, 0x2c($sp) -.L7F08F26C: -/* 0C3D9C 7F08F26C 8E460008 */ lw $a2, 8($s2) -.L7F08F270: -/* 0C3DA0 7F08F270 02002825 */ move $a1, $s0 -/* 0C3DA4 7F08F274 00D50019 */ multu $a2, $s5 -/* 0C3DA8 7F08F278 00005012 */ mflo $t2 -/* 0C3DAC 7F08F27C 022A5821 */ addu $t3, $s1, $t2 -/* 0C3DB0 7F08F280 0FC23C4E */ jal sub_GAME_7F08F138 -/* 0C3DB4 7F08F284 8D640004 */ lw $a0, 4($t3) -/* 0C3DB8 7F08F288 26100001 */ addiu $s0, $s0, 1 -/* 0C3DBC 7F08F28C 16600004 */ bnez $s3, .L7F08F2A0 -/* 0C3DC0 7F08F290 00401825 */ move $v1, $v0 -/* 0C3DC4 7F08F294 8E8C000C */ lw $t4, 0xc($s4) -/* 0C3DC8 7F08F298 05830004 */ bgezl $t4, .L7F08F2AC -/* 0C3DCC 7F08F29C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F08F2A0: -/* 0C3DD0 7F08F2A0 5460FFF3 */ bnezl $v1, .L7F08F270 -/* 0C3DD4 7F08F2A4 8E460008 */ lw $a2, 8($s2) -/* 0C3DD8 7F08F2A8 8FBF002C */ lw $ra, 0x2c($sp) -.L7F08F2AC: -/* 0C3DDC 7F08F2AC 8FB00014 */ lw $s0, 0x14($sp) -/* 0C3DE0 7F08F2B0 8FB10018 */ lw $s1, 0x18($sp) -/* 0C3DE4 7F08F2B4 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C3DE8 7F08F2B8 8FB30020 */ lw $s3, 0x20($sp) -/* 0C3DEC 7F08F2BC 8FB40024 */ lw $s4, 0x24($sp) -/* 0C3DF0 7F08F2C0 8FB50028 */ lw $s5, 0x28($sp) -/* 0C3DF4 7F08F2C4 03E00008 */ jr $ra -/* 0C3DF8 7F08F2C8 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F2CC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F2CC -/* 0C3DFC 7F08F2CC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C3E00 7F08F2D0 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C3E04 7F08F2D4 AFB20020 */ sw $s2, 0x20($sp) -/* 0C3E08 7F08F2D8 00809025 */ move $s2, $a0 -/* 0C3E0C 7F08F2DC AFB1001C */ sw $s1, 0x1c($sp) -/* 0C3E10 7F08F2E0 AFB00018 */ sw $s0, 0x18($sp) -/* 0C3E14 7F08F2E4 AFA5002C */ sw $a1, 0x2c($sp) -/* 0C3E18 7F08F2E8 0FC23C76 */ jal sub_GAME_7F08F1D8 -/* 0C3E1C 7F08F2EC 00003025 */ move $a2, $zero -/* 0C3E20 7F08F2F0 8FB1002C */ lw $s1, 0x2c($sp) -/* 0C3E24 7F08F2F4 8E30000C */ lw $s0, 0xc($s1) -/* 0C3E28 7F08F2F8 2610FFFF */ addiu $s0, $s0, -1 -/* 0C3E2C 7F08F2FC 0602000C */ bltzl $s0, .L7F08F330 -/* 0C3E30 7F08F300 8E38000C */ lw $t8, 0xc($s1) -.L7F08F304: -/* 0C3E34 7F08F304 8E2E000C */ lw $t6, 0xc($s1) -/* 0C3E38 7F08F308 8E240004 */ lw $a0, 4($s1) -/* 0C3E3C 7F08F30C 02002825 */ move $a1, $s0 -/* 0C3E40 7F08F310 25CF2710 */ addiu $t7, $t6, 0x2710 -/* 0C3E44 7F08F314 AE2F000C */ sw $t7, 0xc($s1) -/* 0C3E48 7F08F318 0FC23C24 */ jal sub_GAME_7F08F090 -/* 0C3E4C 7F08F31C 8E460008 */ lw $a2, 8($s2) -/* 0C3E50 7F08F320 2610FFFF */ addiu $s0, $s0, -1 -/* 0C3E54 7F08F324 0601FFF7 */ bgez $s0, .L7F08F304 -/* 0C3E58 7F08F328 00408825 */ move $s1, $v0 -/* 0C3E5C 7F08F32C 8E38000C */ lw $t8, 0xc($s1) -.L7F08F330: -/* 0C3E60 7F08F330 27192710 */ addiu $t9, $t8, 0x2710 -/* 0C3E64 7F08F334 AE39000C */ sw $t9, 0xc($s1) -/* 0C3E68 7F08F338 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C3E6C 7F08F33C 8FB20020 */ lw $s2, 0x20($sp) -/* 0C3E70 7F08F340 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C3E74 7F08F344 8FB00018 */ lw $s0, 0x18($sp) -/* 0C3E78 7F08F348 03E00008 */ jr $ra -/* 0C3E7C 7F08F34C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F350(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F350 -/* 0C3E80 7F08F350 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C3E84 7F08F354 AFB50028 */ sw $s5, 0x28($sp) -/* 0C3E88 7F08F358 AFB40024 */ sw $s4, 0x24($sp) -/* 0C3E8C 7F08F35C AFB30020 */ sw $s3, 0x20($sp) -/* 0C3E90 7F08F360 AFB10018 */ sw $s1, 0x18($sp) -/* 0C3E94 7F08F364 28E10002 */ slti $at, $a3, 2 -/* 0C3E98 7F08F368 00E09825 */ move $s3, $a3 -/* 0C3E9C 7F08F36C 0080A025 */ move $s4, $a0 -/* 0C3EA0 7F08F370 00A0A825 */ move $s5, $a1 -/* 0C3EA4 7F08F374 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C3EA8 7F08F378 AFB2001C */ sw $s2, 0x1c($sp) -/* 0C3EAC 7F08F37C AFB00014 */ sw $s0, 0x14($sp) -/* 0C3EB0 7F08F380 AFA60038 */ sw $a2, 0x38($sp) -/* 0C3EB4 7F08F384 1420001D */ bnez $at, .L7F08F3FC -/* 0C3EB8 7F08F388 00C08825 */ move $s1, $a2 -/* 0C3EBC 7F08F38C 0FC23CB3 */ jal sub_GAME_7F08F2CC -/* 0C3EC0 7F08F390 00000000 */ nop -/* 0C3EC4 7F08F394 8FA20038 */ lw $v0, 0x38($sp) -/* 0C3EC8 7F08F398 02809025 */ move $s2, $s4 -/* 0C3ECC 7F08F39C 2673270F */ addiu $s3, $s3, 0x270f -/* 0C3ED0 7F08F3A0 AC540000 */ sw $s4, ($v0) -/* 0C3ED4 7F08F3A4 8EAE000C */ lw $t6, 0xc($s5) -/* 0C3ED8 7F08F3A8 24102711 */ li $s0, 10001 -/* 0C3EDC 7F08F3AC 24510004 */ addiu $s1, $v0, 4 -/* 0C3EE0 7F08F3B0 29C12711 */ slti $at, $t6, 0x2711 -/* 0C3EE4 7F08F3B4 14200011 */ bnez $at, .L7F08F3FC -/* 0C3EE8 7F08F3B8 2A612712 */ slti $at, $s3, 0x2712 -/* 0C3EEC 7F08F3BC 54200010 */ bnezl $at, .L7F08F400 -/* 0C3EF0 7F08F3C0 AE200000 */ sw $zero, ($s1) -/* 0C3EF4 7F08F3C4 8E440004 */ lw $a0, 4($s2) -.L7F08F3C8: -/* 0C3EF8 7F08F3C8 02002825 */ move $a1, $s0 -/* 0C3EFC 7F08F3CC 0FC23C24 */ jal sub_GAME_7F08F090 -/* 0C3F00 7F08F3D0 8E860008 */ lw $a2, 8($s4) -/* 0C3F04 7F08F3D4 AE220000 */ sw $v0, ($s1) -/* 0C3F08 7F08F3D8 8EAF000C */ lw $t7, 0xc($s5) -/* 0C3F0C 7F08F3DC 26100001 */ addiu $s0, $s0, 1 -/* 0C3F10 7F08F3E0 00409025 */ move $s2, $v0 -/* 0C3F14 7F08F3E4 01F0082A */ slt $at, $t7, $s0 -/* 0C3F18 7F08F3E8 14200004 */ bnez $at, .L7F08F3FC -/* 0C3F1C 7F08F3EC 26310004 */ addiu $s1, $s1, 4 -/* 0C3F20 7F08F3F0 0213082A */ slt $at, $s0, $s3 -/* 0C3F24 7F08F3F4 5420FFF4 */ bnezl $at, .L7F08F3C8 -/* 0C3F28 7F08F3F8 8E440004 */ lw $a0, 4($s2) -.L7F08F3FC: -/* 0C3F2C 7F08F3FC AE200000 */ sw $zero, ($s1) -.L7F08F400: -/* 0C3F30 7F08F400 8FB80038 */ lw $t8, 0x38($sp) -/* 0C3F34 7F08F404 26310004 */ addiu $s1, $s1, 4 -/* 0C3F38 7F08F408 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C3F3C 7F08F40C 02381023 */ subu $v0, $s1, $t8 -/* 0C3F40 7F08F410 0002C883 */ sra $t9, $v0, 2 -/* 0C3F44 7F08F414 8FB10018 */ lw $s1, 0x18($sp) -/* 0C3F48 7F08F418 8FB50028 */ lw $s5, 0x28($sp) -/* 0C3F4C 7F08F41C 8FB40024 */ lw $s4, 0x24($sp) -/* 0C3F50 7F08F420 8FB30020 */ lw $s3, 0x20($sp) -/* 0C3F54 7F08F424 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C3F58 7F08F428 8FB00014 */ lw $s0, 0x14($sp) -/* 0C3F5C 7F08F42C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C3F60 7F08F430 03E00008 */ jr $ra -/* 0C3F64 7F08F434 03201025 */ move $v0, $t9 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F438(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F438 -/* 0C3F68 7F08F438 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0C3F6C 7F08F43C AFB00004 */ sw $s0, 4($sp) -/* 0C3F70 7F08F440 AFA60010 */ sw $a2, 0x10($sp) -/* 0C3F74 7F08F444 AFA70014 */ sw $a3, 0x14($sp) -/* 0C3F78 7F08F448 8C880004 */ lw $t0, 4($a0) -/* 0C3F7C 7F08F44C 3C0A8007 */ lui $t2, %hi(ptr_setup_path_tbl) -/* 0C3F80 7F08F450 254A5D00 */ addiu $t2, %lo(ptr_setup_path_tbl) # addiu $t2, $t2, 0x5d00 -/* 0C3F84 7F08F454 8D090000 */ lw $t1, ($t0) -/* 0C3F88 7F08F458 00A08025 */ move $s0, $a1 -/* 0C3F8C 7F08F45C 8D420000 */ lw $v0, ($t2) -/* 0C3F90 7F08F460 0520001C */ bltz $t1, .L7F08F4D4 -/* 0C3F94 7F08F464 8D430004 */ lw $v1, 4($t2) -/* 0C3F98 7F08F468 240A000C */ li $t2, 12 -/* 0C3F9C 7F08F46C 00097100 */ sll $t6, $t1, 4 -.L7F08F470: -/* 0C3FA0 7F08F470 01C22021 */ addu $a0, $t6, $v0 -/* 0C3FA4 7F08F474 8C850004 */ lw $a1, 4($a0) -/* 0C3FA8 7F08F478 8CA60000 */ lw $a2, ($a1) -/* 0C3FAC 7F08F47C 04C00011 */ bltz $a2, .L7F08F4C4 -/* 0C3FB0 7F08F480 00067900 */ sll $t7, $a2, 4 -.L7F08F484: -/* 0C3FB4 7F08F484 01E23821 */ addu $a3, $t7, $v0 -/* 0C3FB8 7F08F488 8CF80008 */ lw $t8, 8($a3) -/* 0C3FBC 7F08F48C 030A0019 */ multu $t8, $t2 -/* 0C3FC0 7F08F490 0000C812 */ mflo $t9 -/* 0C3FC4 7F08F494 03235821 */ addu $t3, $t9, $v1 -/* 0C3FC8 7F08F498 560B0007 */ bnel $s0, $t3, .L7F08F4B8 -/* 0C3FCC 7F08F49C 8CA60004 */ lw $a2, 4($a1) -/* 0C3FD0 7F08F4A0 8FAC0010 */ lw $t4, 0x10($sp) -/* 0C3FD4 7F08F4A4 AD840000 */ sw $a0, ($t4) -/* 0C3FD8 7F08F4A8 8FAD0014 */ lw $t5, 0x14($sp) -/* 0C3FDC 7F08F4AC 1000000D */ b .L7F08F4E4 -/* 0C3FE0 7F08F4B0 ADA70000 */ sw $a3, ($t5) -/* 0C3FE4 7F08F4B4 8CA60004 */ lw $a2, 4($a1) -.L7F08F4B8: -/* 0C3FE8 7F08F4B8 24A50004 */ addiu $a1, $a1, 4 -/* 0C3FEC 7F08F4BC 04C3FFF1 */ bgezl $a2, .L7F08F484 -/* 0C3FF0 7F08F4C0 00067900 */ sll $t7, $a2, 4 -.L7F08F4C4: -/* 0C3FF4 7F08F4C4 8D090004 */ lw $t1, 4($t0) -/* 0C3FF8 7F08F4C8 25080004 */ addiu $t0, $t0, 4 -/* 0C3FFC 7F08F4CC 0523FFE8 */ bgezl $t1, .L7F08F470 -/* 0C4000 7F08F4D0 00097100 */ sll $t6, $t1, 4 -.L7F08F4D4: -/* 0C4004 7F08F4D4 8FAE0014 */ lw $t6, 0x14($sp) -/* 0C4008 7F08F4D8 ADC00000 */ sw $zero, ($t6) -/* 0C400C 7F08F4DC 8FAF0010 */ lw $t7, 0x10($sp) -/* 0C4010 7F08F4E0 ADE00000 */ sw $zero, ($t7) -.L7F08F4E4: -/* 0C4014 7F08F4E4 8FB00004 */ lw $s0, 4($sp) -/* 0C4018 7F08F4E8 03E00008 */ jr $ra -/* 0C401C 7F08F4EC 27BD0008 */ addiu $sp, $sp, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F4F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F4F0 -/* 0C4020 7F08F4F0 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0C4024 7F08F4F4 AFB00018 */ sw $s0, 0x18($sp) -/* 0C4028 7F08F4F8 3C108007 */ lui $s0, %hi(ptr_setup_path_link) -/* 0C402C 7F08F4FC 8E105D04 */ lw $s0, %lo(ptr_setup_path_link)($s0) -/* 0C4030 7F08F500 AFB60030 */ sw $s6, 0x30($sp) -/* 0C4034 7F08F504 AFB40028 */ sw $s4, 0x28($sp) -/* 0C4038 7F08F508 AFB1001C */ sw $s1, 0x1c($sp) -/* 0C403C 7F08F50C 00E08825 */ move $s1, $a3 -/* 0C4040 7F08F510 0080B025 */ move $s6, $a0 -/* 0C4044 7F08F514 AFBF003C */ sw $ra, 0x3c($sp) -/* 0C4048 7F08F518 AFBE0038 */ sw $fp, 0x38($sp) -/* 0C404C 7F08F51C AFB70034 */ sw $s7, 0x34($sp) -/* 0C4050 7F08F520 AFB5002C */ sw $s5, 0x2c($sp) -/* 0C4054 7F08F524 AFB30024 */ sw $s3, 0x24($sp) -/* 0C4058 7F08F528 AFB20020 */ sw $s2, 0x20($sp) -/* 0C405C 7F08F52C AFA50074 */ sw $a1, 0x74($sp) -/* 0C4060 7F08F530 AFA60078 */ sw $a2, 0x78($sp) -/* 0C4064 7F08F534 1200003F */ beqz $s0, .L7F08F634 -/* 0C4068 7F08F538 00C0A025 */ move $s4, $a2 -/* 0C406C 7F08F53C 8C8E0008 */ lw $t6, 8($a0) -/* 0C4070 7F08F540 2402000C */ li $v0, 12 -/* 0C4074 7F08F544 8CB90008 */ lw $t9, 8($a1) -/* 0C4078 7F08F548 01C20019 */ multu $t6, $v0 -/* 0C407C 7F08F54C 02003025 */ move $a2, $s0 -/* 0C4080 7F08F550 00007812 */ mflo $t7 -/* 0C4084 7F08F554 01F09821 */ addu $s3, $t7, $s0 -/* 0C4088 7F08F558 02602025 */ move $a0, $s3 -/* 0C408C 7F08F55C 03220019 */ multu $t9, $v0 -/* 0C4090 7F08F560 00004012 */ mflo $t0 -/* 0C4094 7F08F564 0110F021 */ addu $fp, $t0, $s0 -/* 0C4098 7F08F568 0FC23BC7 */ jal sub_GAME_7F08EF1C -/* 0C409C 7F08F56C 03C02825 */ move $a1, $fp -/* 0C40A0 7F08F570 50400031 */ beql $v0, $zero, .L7F08F638 -/* 0C40A4 7F08F574 AE800000 */ sw $zero, ($s4) -/* 0C40A8 7F08F578 8E700008 */ lw $s0, 8($s3) -/* 0C40AC 7F08F57C 8FC90008 */ lw $t1, 8($fp) -/* 0C40B0 7F08F580 02C0A825 */ move $s5, $s6 -/* 0C40B4 7F08F584 26100001 */ addiu $s0, $s0, 1 -/* 0C40B8 7F08F588 0130082A */ slt $at, $t1, $s0 -/* 0C40BC 7F08F58C 14200021 */ bnez $at, .L7F08F614 -/* 0C40C0 7F08F590 02609025 */ move $s2, $s3 -/* 0C40C4 7F08F594 2A210002 */ slti $at, $s1, 2 -/* 0C40C8 7F08F598 1420001E */ bnez $at, .L7F08F614 -/* 0C40CC 7F08F59C 27B70044 */ addiu $s7, $sp, 0x44 -/* 0C40D0 7F08F5A0 27B60048 */ addiu $s6, $sp, 0x48 -/* 0C40D4 7F08F5A4 8E440000 */ lw $a0, ($s2) -.L7F08F5A8: -/* 0C40D8 7F08F5A8 0FC23B58 */ jal sub_GAME_7F08ED60 -/* 0C40DC 7F08F5AC 02002825 */ move $a1, $s0 -/* 0C40E0 7F08F5B0 00409825 */ move $s3, $v0 -/* 0C40E4 7F08F5B4 02402025 */ move $a0, $s2 -/* 0C40E8 7F08F5B8 00402825 */ move $a1, $v0 -/* 0C40EC 7F08F5BC 02C03025 */ move $a2, $s6 -/* 0C40F0 7F08F5C0 0FC23D0E */ jal sub_GAME_7F08F438 -/* 0C40F4 7F08F5C4 02E03825 */ move $a3, $s7 -/* 0C40F8 7F08F5C8 02A02025 */ move $a0, $s5 -/* 0C40FC 7F08F5CC 8FA50048 */ lw $a1, 0x48($sp) -/* 0C4100 7F08F5D0 02803025 */ move $a2, $s4 -/* 0C4104 7F08F5D4 0FC23CD4 */ jal sub_GAME_7F08F350 -/* 0C4108 7F08F5D8 02203825 */ move $a3, $s1 -/* 0C410C 7F08F5DC 8FCC0008 */ lw $t4, 8($fp) -/* 0C4110 7F08F5E0 26100001 */ addiu $s0, $s0, 1 -/* 0C4114 7F08F5E4 244AFFFF */ addiu $t2, $v0, -1 -/* 0C4118 7F08F5E8 02228823 */ subu $s1, $s1, $v0 -/* 0C411C 7F08F5EC 000A5880 */ sll $t3, $t2, 2 -/* 0C4120 7F08F5F0 0190082A */ slt $at, $t4, $s0 -/* 0C4124 7F08F5F4 26310001 */ addiu $s1, $s1, 1 -/* 0C4128 7F08F5F8 028BA021 */ addu $s4, $s4, $t3 -/* 0C412C 7F08F5FC 8FB50044 */ lw $s5, 0x44($sp) -/* 0C4130 7F08F600 14200004 */ bnez $at, .L7F08F614 -/* 0C4134 7F08F604 02609025 */ move $s2, $s3 -/* 0C4138 7F08F608 2A210002 */ slti $at, $s1, 2 -/* 0C413C 7F08F60C 5020FFE6 */ beql $at, $zero, .L7F08F5A8 -/* 0C4140 7F08F610 8E440000 */ lw $a0, ($s2) -.L7F08F614: -/* 0C4144 7F08F614 02A02025 */ move $a0, $s5 -/* 0C4148 7F08F618 8FA50074 */ lw $a1, 0x74($sp) -/* 0C414C 7F08F61C 02803025 */ move $a2, $s4 -/* 0C4150 7F08F620 0FC23CD4 */ jal sub_GAME_7F08F350 -/* 0C4154 7F08F624 02203825 */ move $a3, $s1 -/* 0C4158 7F08F628 244DFFFF */ addiu $t5, $v0, -1 -/* 0C415C 7F08F62C 000D7080 */ sll $t6, $t5, 2 -/* 0C4160 7F08F630 028EA021 */ addu $s4, $s4, $t6 -.L7F08F634: -/* 0C4164 7F08F634 AE800000 */ sw $zero, ($s4) -.L7F08F638: -/* 0C4168 7F08F638 8FAF0078 */ lw $t7, 0x78($sp) -/* 0C416C 7F08F63C 26940004 */ addiu $s4, $s4, 4 -/* 0C4170 7F08F640 8FBF003C */ lw $ra, 0x3c($sp) -/* 0C4174 7F08F644 028F1023 */ subu $v0, $s4, $t7 -/* 0C4178 7F08F648 0002C083 */ sra $t8, $v0, 2 -/* 0C417C 7F08F64C 8FB40028 */ lw $s4, 0x28($sp) -/* 0C4180 7F08F650 8FBE0038 */ lw $fp, 0x38($sp) -/* 0C4184 7F08F654 8FB70034 */ lw $s7, 0x34($sp) -/* 0C4188 7F08F658 8FB60030 */ lw $s6, 0x30($sp) -/* 0C418C 7F08F65C 8FB5002C */ lw $s5, 0x2c($sp) -/* 0C4190 7F08F660 8FB30024 */ lw $s3, 0x24($sp) -/* 0C4194 7F08F664 8FB20020 */ lw $s2, 0x20($sp) -/* 0C4198 7F08F668 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C419C 7F08F66C 8FB00018 */ lw $s0, 0x18($sp) -/* 0C41A0 7F08F670 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0C41A4 7F08F674 03E00008 */ jr $ra -/* 0C41A8 7F08F678 03001025 */ move $v0, $t8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F67C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F67C -/* 0C41AC 7F08F67C 3C028007 */ lui $v0, %hi(ptr_setup_path_tbl) -/* 0C41B0 7F08F680 8C425D00 */ lw $v0, %lo(ptr_setup_path_tbl)($v0) -/* 0C41B4 7F08F684 2403FFFF */ li $v1, -1 -/* 0C41B8 7F08F688 8C4E0000 */ lw $t6, ($v0) -/* 0C41BC 7F08F68C 05C00006 */ bltz $t6, .L7F08F6A8 -/* 0C41C0 7F08F690 00000000 */ nop -/* 0C41C4 7F08F694 8C4F0010 */ lw $t7, 0x10($v0) -.L7F08F698: -/* 0C41C8 7F08F698 AC43000C */ sw $v1, 0xc($v0) -/* 0C41CC 7F08F69C 24420010 */ addiu $v0, $v0, 0x10 -/* 0C41D0 7F08F6A0 05E3FFFD */ bgezl $t7, .L7F08F698 -/* 0C41D4 7F08F6A4 8C4F0010 */ lw $t7, 0x10($v0) -.L7F08F6A8: -/* 0C41D8 7F08F6A8 03E00008 */ jr $ra -/* 0C41DC 7F08F6AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F6B0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F6B0 -/* 0C41E0 7F08F6B0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C41E4 7F08F6B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C41E8 7F08F6B8 8C8E0000 */ lw $t6, ($a0) -/* 0C41EC 7F08F6BC 00A03825 */ move $a3, $a1 -/* 0C41F0 7F08F6C0 00004825 */ move $t1, $zero -/* 0C41F4 7F08F6C4 05C00006 */ bltz $t6, .L7F08F6E0 -/* 0C41F8 7F08F6C8 00801025 */ move $v0, $a0 -/* 0C41FC 7F08F6CC 8C4F0004 */ lw $t7, 4($v0) -.L7F08F6D0: -/* 0C4200 7F08F6D0 25290001 */ addiu $t1, $t1, 1 -/* 0C4204 7F08F6D4 24420004 */ addiu $v0, $v0, 4 -/* 0C4208 7F08F6D8 05E3FFFD */ bgezl $t7, .L7F08F6D0 -/* 0C420C 7F08F6DC 8C4F0004 */ lw $t7, 4($v0) -.L7F08F6E0: -/* 0C4210 7F08F6E0 AFA40020 */ sw $a0, 0x20($sp) -/* 0C4214 7F08F6E4 AFA70024 */ sw $a3, 0x24($sp) -/* 0C4218 7F08F6E8 0C002914 */ jal get_random_value -/* 0C421C 7F08F6EC AFA9001C */ sw $t1, 0x1c($sp) -/* 0C4220 7F08F6F0 8FA9001C */ lw $t1, 0x1c($sp) -/* 0C4224 7F08F6F4 8FA70024 */ lw $a3, 0x24($sp) -/* 0C4228 7F08F6F8 8FAC0020 */ lw $t4, 0x20($sp) -/* 0C422C 7F08F6FC 0049001B */ divu $zero, $v0, $t1 -/* 0C4230 7F08F700 00005810 */ mfhi $t3 -/* 0C4234 7F08F704 0169082A */ slt $at, $t3, $t1 -/* 0C4238 7F08F708 15200002 */ bnez $t1, .L7F08F714 -/* 0C423C 7F08F70C 00000000 */ nop -/* 0C4240 7F08F710 0007000D */ break 7 -.L7F08F714: -/* 0C4244 7F08F714 01605025 */ move $t2, $t3 -/* 0C4248 7F08F718 1020003C */ beqz $at, .L7F08F80C -/* 0C424C 7F08F71C 01603025 */ move $a2, $t3 -/* 0C4250 7F08F720 012B1823 */ subu $v1, $t1, $t3 -/* 0C4254 7F08F724 30780003 */ andi $t8, $v1, 3 -/* 0C4258 7F08F728 13000011 */ beqz $t8, .L7F08F770 -/* 0C425C 7F08F72C 030B4021 */ addu $t0, $t8, $t3 -/* 0C4260 7F08F730 0006C880 */ sll $t9, $a2, 2 -/* 0C4264 7F08F734 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) -/* 0C4268 7F08F738 8CA55D00 */ lw $a1, %lo(ptr_setup_path_tbl)($a1) -/* 0C426C 7F08F73C 01991021 */ addu $v0, $t4, $t9 -.L7F08F740: -/* 0C4270 7F08F740 8C4D0000 */ lw $t5, ($v0) -/* 0C4274 7F08F744 24C60001 */ addiu $a2, $a2, 1 -/* 0C4278 7F08F748 000D7100 */ sll $t6, $t5, 4 -/* 0C427C 7F08F74C 01C52021 */ addu $a0, $t6, $a1 -/* 0C4280 7F08F750 8C8F000C */ lw $t7, 0xc($a0) -/* 0C4284 7F08F754 14EF0003 */ bne $a3, $t7, .L7F08F764 -/* 0C4288 7F08F758 00000000 */ nop -/* 0C428C 7F08F75C 10000066 */ b .L7F08F8F8 -/* 0C4290 7F08F760 00801025 */ move $v0, $a0 -.L7F08F764: -/* 0C4294 7F08F764 1506FFF6 */ bne $t0, $a2, .L7F08F740 -/* 0C4298 7F08F768 24420004 */ addiu $v0, $v0, 4 -/* 0C429C 7F08F76C 10C90027 */ beq $a2, $t1, .L7F08F80C -.L7F08F770: -/* 0C42A0 7F08F770 0006C080 */ sll $t8, $a2, 2 -/* 0C42A4 7F08F774 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) -/* 0C42A8 7F08F778 8CA55D00 */ lw $a1, %lo(ptr_setup_path_tbl)($a1) -/* 0C42AC 7F08F77C 01981021 */ addu $v0, $t4, $t8 -.L7F08F780: -/* 0C42B0 7F08F780 8C590000 */ lw $t9, ($v0) -/* 0C42B4 7F08F784 24C60004 */ addiu $a2, $a2, 4 -/* 0C42B8 7F08F788 00196900 */ sll $t5, $t9, 4 -/* 0C42BC 7F08F78C 01A52021 */ addu $a0, $t5, $a1 -/* 0C42C0 7F08F790 8C8E000C */ lw $t6, 0xc($a0) -/* 0C42C4 7F08F794 54EE0004 */ bnel $a3, $t6, .L7F08F7A8 -/* 0C42C8 7F08F798 8C4F0004 */ lw $t7, 4($v0) -/* 0C42CC 7F08F79C 10000056 */ b .L7F08F8F8 -/* 0C42D0 7F08F7A0 00801025 */ move $v0, $a0 -/* 0C42D4 7F08F7A4 8C4F0004 */ lw $t7, 4($v0) -.L7F08F7A8: -/* 0C42D8 7F08F7A8 000FC100 */ sll $t8, $t7, 4 -/* 0C42DC 7F08F7AC 03051821 */ addu $v1, $t8, $a1 -/* 0C42E0 7F08F7B0 8C79000C */ lw $t9, 0xc($v1) -/* 0C42E4 7F08F7B4 54F90004 */ bnel $a3, $t9, .L7F08F7C8 -/* 0C42E8 7F08F7B8 8C4D0008 */ lw $t5, 8($v0) -/* 0C42EC 7F08F7BC 1000004E */ b .L7F08F8F8 -/* 0C42F0 7F08F7C0 00601025 */ move $v0, $v1 -/* 0C42F4 7F08F7C4 8C4D0008 */ lw $t5, 8($v0) -.L7F08F7C8: -/* 0C42F8 7F08F7C8 000D7100 */ sll $t6, $t5, 4 -/* 0C42FC 7F08F7CC 01C51821 */ addu $v1, $t6, $a1 -/* 0C4300 7F08F7D0 8C6F000C */ lw $t7, 0xc($v1) -/* 0C4304 7F08F7D4 54EF0004 */ bnel $a3, $t7, .L7F08F7E8 -/* 0C4308 7F08F7D8 8C58000C */ lw $t8, 0xc($v0) -/* 0C430C 7F08F7DC 10000046 */ b .L7F08F8F8 -/* 0C4310 7F08F7E0 00601025 */ move $v0, $v1 -/* 0C4314 7F08F7E4 8C58000C */ lw $t8, 0xc($v0) -.L7F08F7E8: -/* 0C4318 7F08F7E8 0018C900 */ sll $t9, $t8, 4 -/* 0C431C 7F08F7EC 03251821 */ addu $v1, $t9, $a1 -/* 0C4320 7F08F7F0 8C6D000C */ lw $t5, 0xc($v1) -/* 0C4324 7F08F7F4 14ED0003 */ bne $a3, $t5, .L7F08F804 -/* 0C4328 7F08F7F8 00000000 */ nop -/* 0C432C 7F08F7FC 1000003E */ b .L7F08F8F8 -/* 0C4330 7F08F800 00601025 */ move $v0, $v1 -.L7F08F804: -/* 0C4334 7F08F804 14C9FFDE */ bne $a2, $t1, .L7F08F780 -/* 0C4338 7F08F808 24420010 */ addiu $v0, $v0, 0x10 -.L7F08F80C: -/* 0C433C 7F08F80C 19600039 */ blez $t3, .L7F08F8F4 -/* 0C4340 7F08F810 00003025 */ move $a2, $zero -/* 0C4344 7F08F814 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) -/* 0C4348 7F08F818 31630003 */ andi $v1, $t3, 3 -/* 0C434C 7F08F81C 10600010 */ beqz $v1, .L7F08F860 -/* 0C4350 7F08F820 8CA55D00 */ lw $a1, %lo(ptr_setup_path_tbl)($a1) -/* 0C4354 7F08F824 00007080 */ sll $t6, $zero, 2 -/* 0C4358 7F08F828 018E1021 */ addu $v0, $t4, $t6 -/* 0C435C 7F08F82C 00604025 */ move $t0, $v1 -.L7F08F830: -/* 0C4360 7F08F830 8C4F0000 */ lw $t7, ($v0) -/* 0C4364 7F08F834 24C60001 */ addiu $a2, $a2, 1 -/* 0C4368 7F08F838 000FC100 */ sll $t8, $t7, 4 -/* 0C436C 7F08F83C 03052021 */ addu $a0, $t8, $a1 -/* 0C4370 7F08F840 8C99000C */ lw $t9, 0xc($a0) -/* 0C4374 7F08F844 14F90003 */ bne $a3, $t9, .L7F08F854 -/* 0C4378 7F08F848 00000000 */ nop -/* 0C437C 7F08F84C 1000002A */ b .L7F08F8F8 -/* 0C4380 7F08F850 00801025 */ move $v0, $a0 -.L7F08F854: -/* 0C4384 7F08F854 1506FFF6 */ bne $t0, $a2, .L7F08F830 -/* 0C4388 7F08F858 24420004 */ addiu $v0, $v0, 4 -/* 0C438C 7F08F85C 10CB0025 */ beq $a2, $t3, .L7F08F8F4 -.L7F08F860: -/* 0C4390 7F08F860 00066880 */ sll $t5, $a2, 2 -/* 0C4394 7F08F864 018D1021 */ addu $v0, $t4, $t5 -.L7F08F868: -/* 0C4398 7F08F868 8C4E0000 */ lw $t6, ($v0) -/* 0C439C 7F08F86C 24C60004 */ addiu $a2, $a2, 4 -/* 0C43A0 7F08F870 000E7900 */ sll $t7, $t6, 4 -/* 0C43A4 7F08F874 01E52021 */ addu $a0, $t7, $a1 -/* 0C43A8 7F08F878 8C98000C */ lw $t8, 0xc($a0) -/* 0C43AC 7F08F87C 54F80004 */ bnel $a3, $t8, .L7F08F890 -/* 0C43B0 7F08F880 8C590004 */ lw $t9, 4($v0) -/* 0C43B4 7F08F884 1000001C */ b .L7F08F8F8 -/* 0C43B8 7F08F888 00801025 */ move $v0, $a0 -/* 0C43BC 7F08F88C 8C590004 */ lw $t9, 4($v0) -.L7F08F890: -/* 0C43C0 7F08F890 00196900 */ sll $t5, $t9, 4 -/* 0C43C4 7F08F894 01A51821 */ addu $v1, $t5, $a1 -/* 0C43C8 7F08F898 8C6E000C */ lw $t6, 0xc($v1) -/* 0C43CC 7F08F89C 54EE0004 */ bnel $a3, $t6, .L7F08F8B0 -/* 0C43D0 7F08F8A0 8C4F0008 */ lw $t7, 8($v0) -/* 0C43D4 7F08F8A4 10000014 */ b .L7F08F8F8 -/* 0C43D8 7F08F8A8 00601025 */ move $v0, $v1 -/* 0C43DC 7F08F8AC 8C4F0008 */ lw $t7, 8($v0) -.L7F08F8B0: -/* 0C43E0 7F08F8B0 000FC100 */ sll $t8, $t7, 4 -/* 0C43E4 7F08F8B4 03051821 */ addu $v1, $t8, $a1 -/* 0C43E8 7F08F8B8 8C79000C */ lw $t9, 0xc($v1) -/* 0C43EC 7F08F8BC 54F90004 */ bnel $a3, $t9, .L7F08F8D0 -/* 0C43F0 7F08F8C0 8C4D000C */ lw $t5, 0xc($v0) -/* 0C43F4 7F08F8C4 1000000C */ b .L7F08F8F8 -/* 0C43F8 7F08F8C8 00601025 */ move $v0, $v1 -/* 0C43FC 7F08F8CC 8C4D000C */ lw $t5, 0xc($v0) -.L7F08F8D0: -/* 0C4400 7F08F8D0 000D7100 */ sll $t6, $t5, 4 -/* 0C4404 7F08F8D4 01C51821 */ addu $v1, $t6, $a1 -/* 0C4408 7F08F8D8 8C6F000C */ lw $t7, 0xc($v1) -/* 0C440C 7F08F8DC 14EF0003 */ bne $a3, $t7, .L7F08F8EC -/* 0C4410 7F08F8E0 00000000 */ nop -/* 0C4414 7F08F8E4 10000004 */ b .L7F08F8F8 -/* 0C4418 7F08F8E8 00601025 */ move $v0, $v1 -.L7F08F8EC: -/* 0C441C 7F08F8EC 14CAFFDE */ bne $a2, $t2, .L7F08F868 -/* 0C4420 7F08F8F0 24420010 */ addiu $v0, $v0, 0x10 -.L7F08F8F4: -/* 0C4424 7F08F8F4 00001025 */ move $v0, $zero -.L7F08F8F8: -/* 0C4428 7F08F8F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C442C 7F08F8FC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C4430 7F08F900 03E00008 */ jr $ra -/* 0C4434 7F08F904 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08F908(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08F908 -/* 0C4438 7F08F908 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C443C 7F08F90C AFBF001C */ sw $ra, 0x1c($sp) -/* 0C4440 7F08F910 AFB00018 */ sw $s0, 0x18($sp) -/* 0C4444 7F08F914 8C8E0000 */ lw $t6, ($a0) -/* 0C4448 7F08F918 00A08025 */ move $s0, $a1 -/* 0C444C 7F08F91C 00004825 */ move $t1, $zero -/* 0C4450 7F08F920 05C00006 */ bltz $t6, .L7F08F93C -/* 0C4454 7F08F924 00801025 */ move $v0, $a0 -/* 0C4458 7F08F928 8C4F0004 */ lw $t7, 4($v0) -.L7F08F92C: -/* 0C445C 7F08F92C 25290001 */ addiu $t1, $t1, 1 -/* 0C4460 7F08F930 24420004 */ addiu $v0, $v0, 4 -/* 0C4464 7F08F934 05E3FFFD */ bgezl $t7, .L7F08F92C -/* 0C4468 7F08F938 8C4F0004 */ lw $t7, 4($v0) -.L7F08F93C: -/* 0C446C 7F08F93C AFA40028 */ sw $a0, 0x28($sp) -/* 0C4470 7F08F940 0C002914 */ jal get_random_value -/* 0C4474 7F08F944 AFA90024 */ sw $t1, 0x24($sp) -/* 0C4478 7F08F948 8FA90024 */ lw $t1, 0x24($sp) -/* 0C447C 7F08F94C 8FAC0028 */ lw $t4, 0x28($sp) -/* 0C4480 7F08F950 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C4484 7F08F954 0049001B */ divu $zero, $v0, $t1 -/* 0C4488 7F08F958 00005810 */ mfhi $t3 -/* 0C448C 7F08F95C 0169082A */ slt $at, $t3, $t1 -/* 0C4490 7F08F960 15200002 */ bnez $t1, .L7F08F96C -/* 0C4494 7F08F964 00000000 */ nop -/* 0C4498 7F08F968 0007000D */ break 7 -.L7F08F96C: -/* 0C449C 7F08F96C 01605025 */ move $t2, $t3 -/* 0C44A0 7F08F970 10200043 */ beqz $at, .L7F08FA80 -/* 0C44A4 7F08F974 01603025 */ move $a2, $t3 -/* 0C44A8 7F08F978 012B1823 */ subu $v1, $t1, $t3 -/* 0C44AC 7F08F97C 30780003 */ andi $t8, $v1, 3 -/* 0C44B0 7F08F980 13000013 */ beqz $t8, .L7F08F9D0 -/* 0C44B4 7F08F984 030B4021 */ addu $t0, $t8, $t3 -/* 0C44B8 7F08F988 0006C880 */ sll $t9, $a2, 2 -/* 0C44BC 7F08F98C 3C058007 */ lui $a1, %hi(ptr_setup_path_link) -/* 0C44C0 7F08F990 8CA55D04 */ lw $a1, %lo(ptr_setup_path_link)($a1) -/* 0C44C4 7F08F994 01991021 */ addu $v0, $t4, $t9 -/* 0C44C8 7F08F998 2407000C */ li $a3, 12 -.L7F08F99C: -/* 0C44CC 7F08F99C 8C4D0000 */ lw $t5, ($v0) -/* 0C44D0 7F08F9A0 24C60001 */ addiu $a2, $a2, 1 -/* 0C44D4 7F08F9A4 01A70019 */ multu $t5, $a3 -/* 0C44D8 7F08F9A8 00007012 */ mflo $t6 -/* 0C44DC 7F08F9AC 01C52021 */ addu $a0, $t6, $a1 -/* 0C44E0 7F08F9B0 8C8F0008 */ lw $t7, 8($a0) -/* 0C44E4 7F08F9B4 160F0003 */ bne $s0, $t7, .L7F08F9C4 -/* 0C44E8 7F08F9B8 00000000 */ nop -/* 0C44EC 7F08F9BC 10000071 */ b .L7F08FB84 -/* 0C44F0 7F08F9C0 00801025 */ move $v0, $a0 -.L7F08F9C4: -/* 0C44F4 7F08F9C4 1506FFF5 */ bne $t0, $a2, .L7F08F99C -/* 0C44F8 7F08F9C8 24420004 */ addiu $v0, $v0, 4 -/* 0C44FC 7F08F9CC 10C9002C */ beq $a2, $t1, .L7F08FA80 -.L7F08F9D0: -/* 0C4500 7F08F9D0 0006C080 */ sll $t8, $a2, 2 -/* 0C4504 7F08F9D4 3C058007 */ lui $a1, %hi(ptr_setup_path_link) -/* 0C4508 7F08F9D8 8CA55D04 */ lw $a1, %lo(ptr_setup_path_link)($a1) -/* 0C450C 7F08F9DC 01981021 */ addu $v0, $t4, $t8 -/* 0C4510 7F08F9E0 2407000C */ li $a3, 12 -.L7F08F9E4: -/* 0C4514 7F08F9E4 8C590000 */ lw $t9, ($v0) -/* 0C4518 7F08F9E8 24C60004 */ addiu $a2, $a2, 4 -/* 0C451C 7F08F9EC 03270019 */ multu $t9, $a3 -/* 0C4520 7F08F9F0 00006812 */ mflo $t5 -/* 0C4524 7F08F9F4 01A52021 */ addu $a0, $t5, $a1 -/* 0C4528 7F08F9F8 8C8E0008 */ lw $t6, 8($a0) -/* 0C452C 7F08F9FC 560E0004 */ bnel $s0, $t6, .L7F08FA10 -/* 0C4530 7F08FA00 8C4F0004 */ lw $t7, 4($v0) -/* 0C4534 7F08FA04 1000005F */ b .L7F08FB84 -/* 0C4538 7F08FA08 00801025 */ move $v0, $a0 -/* 0C453C 7F08FA0C 8C4F0004 */ lw $t7, 4($v0) -.L7F08FA10: -/* 0C4540 7F08FA10 01E70019 */ multu $t7, $a3 -/* 0C4544 7F08FA14 0000C012 */ mflo $t8 -/* 0C4548 7F08FA18 03051821 */ addu $v1, $t8, $a1 -/* 0C454C 7F08FA1C 8C790008 */ lw $t9, 8($v1) -/* 0C4550 7F08FA20 56190004 */ bnel $s0, $t9, .L7F08FA34 -/* 0C4554 7F08FA24 8C4D0008 */ lw $t5, 8($v0) -/* 0C4558 7F08FA28 10000056 */ b .L7F08FB84 -/* 0C455C 7F08FA2C 00601025 */ move $v0, $v1 -/* 0C4560 7F08FA30 8C4D0008 */ lw $t5, 8($v0) -.L7F08FA34: -/* 0C4564 7F08FA34 01A70019 */ multu $t5, $a3 -/* 0C4568 7F08FA38 00007012 */ mflo $t6 -/* 0C456C 7F08FA3C 01C51821 */ addu $v1, $t6, $a1 -/* 0C4570 7F08FA40 8C6F0008 */ lw $t7, 8($v1) -/* 0C4574 7F08FA44 560F0004 */ bnel $s0, $t7, .L7F08FA58 -/* 0C4578 7F08FA48 8C58000C */ lw $t8, 0xc($v0) -/* 0C457C 7F08FA4C 1000004D */ b .L7F08FB84 -/* 0C4580 7F08FA50 00601025 */ move $v0, $v1 -/* 0C4584 7F08FA54 8C58000C */ lw $t8, 0xc($v0) -.L7F08FA58: -/* 0C4588 7F08FA58 03070019 */ multu $t8, $a3 -/* 0C458C 7F08FA5C 0000C812 */ mflo $t9 -/* 0C4590 7F08FA60 03251821 */ addu $v1, $t9, $a1 -/* 0C4594 7F08FA64 8C6D0008 */ lw $t5, 8($v1) -/* 0C4598 7F08FA68 160D0003 */ bne $s0, $t5, .L7F08FA78 -/* 0C459C 7F08FA6C 00000000 */ nop -/* 0C45A0 7F08FA70 10000044 */ b .L7F08FB84 -/* 0C45A4 7F08FA74 00601025 */ move $v0, $v1 -.L7F08FA78: -/* 0C45A8 7F08FA78 14C9FFDA */ bne $a2, $t1, .L7F08F9E4 -/* 0C45AC 7F08FA7C 24420010 */ addiu $v0, $v0, 0x10 -.L7F08FA80: -/* 0C45B0 7F08FA80 2407000C */ li $a3, 12 -/* 0C45B4 7F08FA84 1960003E */ blez $t3, .L7F08FB80 -/* 0C45B8 7F08FA88 00003025 */ move $a2, $zero -/* 0C45BC 7F08FA8C 3C058007 */ lui $a1, %hi(ptr_setup_path_link) -/* 0C45C0 7F08FA90 31630003 */ andi $v1, $t3, 3 -/* 0C45C4 7F08FA94 10600011 */ beqz $v1, .L7F08FADC -/* 0C45C8 7F08FA98 8CA55D04 */ lw $a1, %lo(ptr_setup_path_link)($a1) -/* 0C45CC 7F08FA9C 00007080 */ sll $t6, $zero, 2 -/* 0C45D0 7F08FAA0 018E1021 */ addu $v0, $t4, $t6 -/* 0C45D4 7F08FAA4 00604025 */ move $t0, $v1 -.L7F08FAA8: -/* 0C45D8 7F08FAA8 8C4F0000 */ lw $t7, ($v0) -/* 0C45DC 7F08FAAC 24C60001 */ addiu $a2, $a2, 1 -/* 0C45E0 7F08FAB0 01E70019 */ multu $t7, $a3 -/* 0C45E4 7F08FAB4 0000C012 */ mflo $t8 -/* 0C45E8 7F08FAB8 03052021 */ addu $a0, $t8, $a1 -/* 0C45EC 7F08FABC 8C990008 */ lw $t9, 8($a0) -/* 0C45F0 7F08FAC0 16190003 */ bne $s0, $t9, .L7F08FAD0 -/* 0C45F4 7F08FAC4 00000000 */ nop -/* 0C45F8 7F08FAC8 1000002E */ b .L7F08FB84 -/* 0C45FC 7F08FACC 00801025 */ move $v0, $a0 -.L7F08FAD0: -/* 0C4600 7F08FAD0 1506FFF5 */ bne $t0, $a2, .L7F08FAA8 -/* 0C4604 7F08FAD4 24420004 */ addiu $v0, $v0, 4 -/* 0C4608 7F08FAD8 10CB0029 */ beq $a2, $t3, .L7F08FB80 -.L7F08FADC: -/* 0C460C 7F08FADC 00066880 */ sll $t5, $a2, 2 -/* 0C4610 7F08FAE0 018D1021 */ addu $v0, $t4, $t5 -.L7F08FAE4: -/* 0C4614 7F08FAE4 8C4E0000 */ lw $t6, ($v0) -/* 0C4618 7F08FAE8 24C60004 */ addiu $a2, $a2, 4 -/* 0C461C 7F08FAEC 01C70019 */ multu $t6, $a3 -/* 0C4620 7F08FAF0 00007812 */ mflo $t7 -/* 0C4624 7F08FAF4 01E52021 */ addu $a0, $t7, $a1 -/* 0C4628 7F08FAF8 8C980008 */ lw $t8, 8($a0) -/* 0C462C 7F08FAFC 56180004 */ bnel $s0, $t8, .L7F08FB10 -/* 0C4630 7F08FB00 8C590004 */ lw $t9, 4($v0) -/* 0C4634 7F08FB04 1000001F */ b .L7F08FB84 -/* 0C4638 7F08FB08 00801025 */ move $v0, $a0 -/* 0C463C 7F08FB0C 8C590004 */ lw $t9, 4($v0) -.L7F08FB10: -/* 0C4640 7F08FB10 03270019 */ multu $t9, $a3 -/* 0C4644 7F08FB14 00006812 */ mflo $t5 -/* 0C4648 7F08FB18 01A51821 */ addu $v1, $t5, $a1 -/* 0C464C 7F08FB1C 8C6E0008 */ lw $t6, 8($v1) -/* 0C4650 7F08FB20 560E0004 */ bnel $s0, $t6, .L7F08FB34 -/* 0C4654 7F08FB24 8C4F0008 */ lw $t7, 8($v0) -/* 0C4658 7F08FB28 10000016 */ b .L7F08FB84 -/* 0C465C 7F08FB2C 00601025 */ move $v0, $v1 -/* 0C4660 7F08FB30 8C4F0008 */ lw $t7, 8($v0) -.L7F08FB34: -/* 0C4664 7F08FB34 01E70019 */ multu $t7, $a3 -/* 0C4668 7F08FB38 0000C012 */ mflo $t8 -/* 0C466C 7F08FB3C 03051821 */ addu $v1, $t8, $a1 -/* 0C4670 7F08FB40 8C790008 */ lw $t9, 8($v1) -/* 0C4674 7F08FB44 56190004 */ bnel $s0, $t9, .L7F08FB58 -/* 0C4678 7F08FB48 8C4D000C */ lw $t5, 0xc($v0) -/* 0C467C 7F08FB4C 1000000D */ b .L7F08FB84 -/* 0C4680 7F08FB50 00601025 */ move $v0, $v1 -/* 0C4684 7F08FB54 8C4D000C */ lw $t5, 0xc($v0) -.L7F08FB58: -/* 0C4688 7F08FB58 01A70019 */ multu $t5, $a3 -/* 0C468C 7F08FB5C 00007012 */ mflo $t6 -/* 0C4690 7F08FB60 01C51821 */ addu $v1, $t6, $a1 -/* 0C4694 7F08FB64 8C6F0008 */ lw $t7, 8($v1) -/* 0C4698 7F08FB68 160F0003 */ bne $s0, $t7, .L7F08FB78 -/* 0C469C 7F08FB6C 00000000 */ nop -/* 0C46A0 7F08FB70 10000004 */ b .L7F08FB84 -/* 0C46A4 7F08FB74 00601025 */ move $v0, $v1 -.L7F08FB78: -/* 0C46A8 7F08FB78 14CAFFDA */ bne $a2, $t2, .L7F08FAE4 -/* 0C46AC 7F08FB7C 24420010 */ addiu $v0, $v0, 0x10 -.L7F08FB80: -/* 0C46B0 7F08FB80 00001025 */ move $v0, $zero -.L7F08FB84: -/* 0C46B4 7F08FB84 8FB00018 */ lw $s0, 0x18($sp) -/* 0C46B8 7F08FB88 03E00008 */ jr $ra -/* 0C46BC 7F08FB8C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08FB90(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08FB90 -/* 0C46C0 7F08FB90 3C068007 */ lui $a2, %hi(ptr_setup_path_link) -/* 0C46C4 7F08FB94 8CC65D04 */ lw $a2, %lo(ptr_setup_path_link)($a2) -/* 0C46C8 7F08FB98 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0C46CC 7F08FB9C AFB10018 */ sw $s1, 0x18($sp) -/* 0C46D0 7F08FBA0 00808825 */ move $s1, $a0 -/* 0C46D4 7F08FBA4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C46D8 7F08FBA8 10C00056 */ beqz $a2, .L7F08FD04 -/* 0C46DC 7F08FBAC AFB00014 */ sw $s0, 0x14($sp) -/* 0C46E0 7F08FBB0 8C8E0008 */ lw $t6, 8($a0) -/* 0C46E4 7F08FBB4 2402000C */ li $v0, 12 -/* 0C46E8 7F08FBB8 8CB80008 */ lw $t8, 8($a1) -/* 0C46EC 7F08FBBC 01C20019 */ multu $t6, $v0 -/* 0C46F0 7F08FBC0 00003825 */ move $a3, $zero -/* 0C46F4 7F08FBC4 00007812 */ mflo $t7 -/* 0C46F8 7F08FBC8 01E68021 */ addu $s0, $t7, $a2 -/* 0C46FC 7F08FBCC 00000000 */ nop -/* 0C4700 7F08FBD0 03020019 */ multu $t8, $v0 -/* 0C4704 7F08FBD4 0000C812 */ mflo $t9 -/* 0C4708 7F08FBD8 03262021 */ addu $a0, $t9, $a2 -/* 0C470C 7F08FBDC 16040016 */ bne $s0, $a0, .L7F08FC38 -/* 0C4710 7F08FBE0 00000000 */ nop -/* 0C4714 7F08FBE4 0FC23D9F */ jal sub_GAME_7F08F67C -/* 0C4718 7F08FBE8 AFA5005C */ sw $a1, 0x5c($sp) -/* 0C471C 7F08FBEC 8FA4005C */ lw $a0, 0x5c($sp) -/* 0C4720 7F08FBF0 02202825 */ move $a1, $s1 -/* 0C4724 7F08FBF4 0FC23C76 */ jal sub_GAME_7F08F1D8 -/* 0C4728 7F08FBF8 24060001 */ li $a2, 1 -/* 0C472C 7F08FBFC 8E240004 */ lw $a0, 4($s1) -/* 0C4730 7F08FC00 0FC23DAC */ jal sub_GAME_7F08F6B0 -/* 0C4734 7F08FC04 2405FFFF */ li $a1, -1 -/* 0C4738 7F08FC08 50400004 */ beql $v0, $zero, .L7F08FC1C -/* 0C473C 7F08FC0C 8E25000C */ lw $a1, 0xc($s1) -/* 0C4740 7F08FC10 1000003E */ b .L7F08FD0C -/* 0C4744 7F08FC14 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C4748 7F08FC18 8E25000C */ lw $a1, 0xc($s1) -.L7F08FC1C: -/* 0C474C 7F08FC1C 8E240004 */ lw $a0, 4($s1) -/* 0C4750 7F08FC20 0FC23DAC */ jal sub_GAME_7F08F6B0 -/* 0C4754 7F08FC24 24A50001 */ addiu $a1, $a1, 1 -/* 0C4758 7F08FC28 50400037 */ beql $v0, $zero, .L7F08FD08 -/* 0C475C 7F08FC2C 00001025 */ move $v0, $zero -/* 0C4760 7F08FC30 10000036 */ b .L7F08FD0C -/* 0C4764 7F08FC34 8FBF001C */ lw $ra, 0x1c($sp) -.L7F08FC38: -/* 0C4768 7F08FC38 0FC23B9C */ jal sub_GAME_7F08EE70 -/* 0C476C 7F08FC3C 02002825 */ move $a1, $s0 -/* 0C4770 7F08FC40 8E080008 */ lw $t0, 8($s0) -/* 0C4774 7F08FC44 2405FFFF */ li $a1, -1 -/* 0C4778 7F08FC48 0502002F */ bltzl $t0, .L7F08FD08 -/* 0C477C 7F08FC4C 00001025 */ move $v0, $zero -/* 0C4780 7F08FC50 0FC23E42 */ jal sub_GAME_7F08F908 -/* 0C4784 7F08FC54 8E040000 */ lw $a0, ($s0) -/* 0C4788 7F08FC58 10400013 */ beqz $v0, .L7F08FCA8 -/* 0C478C 7F08FC5C 00402825 */ move $a1, $v0 -/* 0C4790 7F08FC60 02002025 */ move $a0, $s0 -/* 0C4794 7F08FC64 27A60040 */ addiu $a2, $sp, 0x40 -/* 0C4798 7F08FC68 0FC23D0E */ jal sub_GAME_7F08F438 -/* 0C479C 7F08FC6C 27A7003C */ addiu $a3, $sp, 0x3c -/* 0C47A0 7F08FC70 8FA50040 */ lw $a1, 0x40($sp) -/* 0C47A4 7F08FC74 02202025 */ move $a0, $s1 -/* 0C47A8 7F08FC78 27A60030 */ addiu $a2, $sp, 0x30 -/* 0C47AC 7F08FC7C 14B10003 */ bne $a1, $s1, .L7F08FC8C -/* 0C47B0 7F08FC80 00000000 */ nop -/* 0C47B4 7F08FC84 10000020 */ b .L7F08FD08 -/* 0C47B8 7F08FC88 8FA2003C */ lw $v0, 0x3c($sp) -.L7F08FC8C: -/* 0C47BC 7F08FC8C 0FC23CD4 */ jal sub_GAME_7F08F350 -/* 0C47C0 7F08FC90 24070003 */ li $a3, 3 -/* 0C47C4 7F08FC94 28410003 */ slti $at, $v0, 3 -/* 0C47C8 7F08FC98 5420001B */ bnezl $at, .L7F08FD08 -/* 0C47CC 7F08FC9C 00001025 */ move $v0, $zero -/* 0C47D0 7F08FCA0 10000019 */ b .L7F08FD08 -/* 0C47D4 7F08FCA4 8FA20034 */ lw $v0, 0x34($sp) -.L7F08FCA8: -/* 0C47D8 7F08FCA8 8E050008 */ lw $a1, 8($s0) -/* 0C47DC 7F08FCAC 8E040000 */ lw $a0, ($s0) -/* 0C47E0 7F08FCB0 0FC23B58 */ jal sub_GAME_7F08ED60 -/* 0C47E4 7F08FCB4 24A5FFFF */ addiu $a1, $a1, -1 -/* 0C47E8 7F08FCB8 10400012 */ beqz $v0, .L7F08FD04 -/* 0C47EC 7F08FCBC 00402825 */ move $a1, $v0 -/* 0C47F0 7F08FCC0 02002025 */ move $a0, $s0 -/* 0C47F4 7F08FCC4 27A60028 */ addiu $a2, $sp, 0x28 -/* 0C47F8 7F08FCC8 0FC23D0E */ jal sub_GAME_7F08F438 -/* 0C47FC 7F08FCCC 27A70024 */ addiu $a3, $sp, 0x24 -/* 0C4800 7F08FCD0 8FA40028 */ lw $a0, 0x28($sp) -/* 0C4804 7F08FCD4 02202825 */ move $a1, $s1 -/* 0C4808 7F08FCD8 0FC23C76 */ jal sub_GAME_7F08F1D8 -/* 0C480C 7F08FCDC 24060001 */ li $a2, 1 -/* 0C4810 7F08FCE0 8E25000C */ lw $a1, 0xc($s1) -/* 0C4814 7F08FCE4 8E240004 */ lw $a0, 4($s1) -/* 0C4818 7F08FCE8 8E260008 */ lw $a2, 8($s1) -/* 0C481C 7F08FCEC 0FC23C24 */ jal sub_GAME_7F08F090 -/* 0C4820 7F08FCF0 24A50001 */ addiu $a1, $a1, 1 -/* 0C4824 7F08FCF4 50400004 */ beql $v0, $zero, .L7F08FD08 -/* 0C4828 7F08FCF8 00001025 */ move $v0, $zero -/* 0C482C 7F08FCFC 10000003 */ b .L7F08FD0C -/* 0C4830 7F08FD00 8FBF001C */ lw $ra, 0x1c($sp) -.L7F08FD04: -/* 0C4834 7F08FD04 00001025 */ move $v0, $zero -.L7F08FD08: -/* 0C4838 7F08FD08 8FBF001C */ lw $ra, 0x1c($sp) -.L7F08FD0C: -/* 0C483C 7F08FD0C 8FB00014 */ lw $s0, 0x14($sp) -/* 0C4840 7F08FD10 8FB10018 */ lw $s1, 0x18($sp) -/* 0C4844 7F08FD14 03E00008 */ jr $ra -/* 0C4848 7F08FD18 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F08FD1C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F08FD1C -/* 0C484C 7F08FD1C 3C088007 */ lui $t0, %hi(ptr_setup_path_tbl) -/* 0C4850 7F08FD20 8D085D00 */ lw $t0, %lo(ptr_setup_path_tbl)($t0) -/* 0C4854 7F08FD24 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 0C4858 7F08FD28 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C485C 7F08FD2C 5100002F */ beql $t0, $zero, .L7F08FDEC -/* 0C4860 7F08FD30 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C4864 7F08FD34 8D0E0000 */ lw $t6, ($t0) -/* 0C4868 7F08FD38 00001825 */ move $v1, $zero -/* 0C486C 7F08FD3C 01001025 */ move $v0, $t0 -/* 0C4870 7F08FD40 05C20007 */ bltzl $t6, .L7F08FD60 -/* 0C4874 7F08FD44 AFA300F0 */ sw $v1, 0xf0($sp) -/* 0C4878 7F08FD48 8C4F0010 */ lw $t7, 0x10($v0) -.L7F08FD4C: -/* 0C487C 7F08FD4C 24420010 */ addiu $v0, $v0, 0x10 -/* 0C4880 7F08FD50 24630001 */ addiu $v1, $v1, 1 -/* 0C4884 7F08FD54 05E3FFFD */ bgezl $t7, .L7F08FD4C -/* 0C4888 7F08FD58 8C4F0010 */ lw $t7, 0x10($v0) -/* 0C488C 7F08FD5C AFA300F0 */ sw $v1, 0xf0($sp) -.L7F08FD60: -/* 0C4890 7F08FD60 0C002914 */ jal get_random_value -/* 0C4894 7F08FD64 AFA800F4 */ sw $t0, 0xf4($sp) -/* 0C4898 7F08FD68 8FA300F0 */ lw $v1, 0xf0($sp) -/* 0C489C 7F08FD6C 8FA800F4 */ lw $t0, 0xf4($sp) -/* 0C48A0 7F08FD70 0043001B */ divu $zero, $v0, $v1 -/* 0C48A4 7F08FD74 0000C010 */ mfhi $t8 -/* 0C48A8 7F08FD78 0018C900 */ sll $t9, $t8, 4 -/* 0C48AC 7F08FD7C 14600002 */ bnez $v1, .L7F08FD88 -/* 0C48B0 7F08FD80 00000000 */ nop -/* 0C48B4 7F08FD84 0007000D */ break 7 -.L7F08FD88: -/* 0C48B8 7F08FD88 03284821 */ addu $t1, $t9, $t0 -/* 0C48BC 7F08FD8C 0C002914 */ jal get_random_value -/* 0C48C0 7F08FD90 AFA900E8 */ sw $t1, 0xe8($sp) -/* 0C48C4 7F08FD94 8FA300F0 */ lw $v1, 0xf0($sp) -/* 0C48C8 7F08FD98 8FA800F4 */ lw $t0, 0xf4($sp) -/* 0C48CC 7F08FD9C 8FA400E8 */ lw $a0, 0xe8($sp) -/* 0C48D0 7F08FDA0 0043001B */ divu $zero, $v0, $v1 -/* 0C48D4 7F08FDA4 00005010 */ mfhi $t2 -/* 0C48D8 7F08FDA8 000A5900 */ sll $t3, $t2, 4 -/* 0C48DC 7F08FDAC 14600002 */ bnez $v1, .L7F08FDB8 -/* 0C48E0 7F08FDB0 00000000 */ nop -/* 0C48E4 7F08FDB4 0007000D */ break 7 -.L7F08FDB8: -/* 0C48E8 7F08FDB8 27A6001C */ addiu $a2, $sp, 0x1c -/* 0C48EC 7F08FDBC 24070032 */ li $a3, 50 -/* 0C48F0 7F08FDC0 0FC23D3C */ jal sub_GAME_7F08F4F0 -/* 0C48F4 7F08FDC4 01682821 */ addu $a1, $t3, $t0 -/* 0C48F8 7F08FDC8 10400007 */ beqz $v0, .L7F08FDE8 -/* 0C48FC 7F08FDCC 8FAC001C */ lw $t4, 0x1c($sp) -/* 0C4900 7F08FDD0 11800005 */ beqz $t4, .L7F08FDE8 -/* 0C4904 7F08FDD4 27A2001C */ addiu $v0, $sp, 0x1c -/* 0C4908 7F08FDD8 8C4D0004 */ lw $t5, 4($v0) -.L7F08FDDC: -/* 0C490C 7F08FDDC 24420004 */ addiu $v0, $v0, 4 -/* 0C4910 7F08FDE0 55A0FFFE */ bnezl $t5, .L7F08FDDC -/* 0C4914 7F08FDE4 8C4D0004 */ lw $t5, 4($v0) -.L7F08FDE8: -/* 0C4918 7F08FDE8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F08FDEC: -/* 0C491C 7F08FDEC 27BD00F8 */ addiu $sp, $sp, 0xf8 -/* 0C4920 7F08FDF0 03E00008 */ jr $ra -/* 0C4924 7F08FDF4 00000000 */ nop -) -#endif - - - diff --git a/src/game/unk_091080.c b/src/game/unk_091080.c deleted file mode 100644 index cfc205f..0000000 --- a/src/game/unk_091080.c +++ /dev/null @@ -1,637 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:80079E20 -s32 dword_CODE_bss_80079E20; - - -// data -//D:80037010 -s32 D_80037010 = 0; -//D:80037014 -f32 stanbondx = 0.0f; -//D:80037018 -s32 stanbondy = 0; -//D:8003701C -s32 stanbondz = 0; -//D:80037020 -s32 D_80037020 = 0; -//D:80037024 -s32 D_80037024 = 0; -//D:80037028 -f32 D_80037028 = -1.0; -//D:8003702C -s32 D_8003702C = 0; -//D:80037030 -f32 D_80037030 = 1.0; -//D:80037034 -s32 D_80037034 = 0; -//D:80037038 -s32 D_80037038 = 0; -//D:8003703C -f32 D_8003703C = 1.0; -//D:80037040 -s32 D_80037040 = 0; -//D:80037044 -s32 D_80037044 = 0; -//D:80037048 -f32 D_80037048 = 1.0; -//D:8003704C -s32 D_8003704C = 0; -//D:80037050 -f32 D_80037050 = 1.0; -//D:80037054 -s32 D_80037054 = 0; -//D:80037058 -f32 D_80037058 = 1.0; -//D:8003705C -f32 D_8003705C = 1.0; -//D:80037060 -s32 D_80037060 = 0; -//D:80037064 -s32 D_80037064 = 0; -//D:80037068 -s32 D_80037068 = 0; - - -// rodata - - -#ifdef NONMATCHING -void sub_GAME_7F091080(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055850 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055854 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_80055858 -.word 0x3c8efa35 /*0.017453292*/ -glabel D_8005585C -.word 0x3c8efa35 /*0.017453292*/ -.text -glabel sub_GAME_7F091080 -/* 0C5BB0 7F091080 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C5BB4 7F091084 AFA40018 */ sw $a0, 0x18($sp) -/* 0C5BB8 7F091088 83AF001B */ lb $t7, 0x1b($sp) -/* 0C5BBC 7F09108C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C5BC0 7F091090 44810000 */ mtc1 $at, $f0 -/* 0C5BC4 7F091094 00053E00 */ sll $a3, $a1, 0x18 -/* 0C5BC8 7F091098 00077603 */ sra $t6, $a3, 0x18 -/* 0C5BCC 7F09109C 29E1FFFD */ slti $at, $t7, -3 -/* 0C5BD0 7F0910A0 01C03825 */ move $a3, $t6 -/* 0C5BD4 7F0910A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C5BD8 7F0910A8 AFA5001C */ sw $a1, 0x1c($sp) -/* 0C5BDC 7F0910AC AFA60020 */ sw $a2, 0x20($sp) -/* 0C5BE0 7F0910B0 10200004 */ beqz $at, .L7F0910C4 -/* 0C5BE4 7F0910B4 46000086 */ mov.s $f2, $f0 -/* 0C5BE8 7F0910B8 25F80003 */ addiu $t8, $t7, 3 -/* 0C5BEC 7F0910BC 10000008 */ b .L7F0910E0 -/* 0C5BF0 7F0910C0 A3B8001B */ sb $t8, 0x1b($sp) -.L7F0910C4: -/* 0C5BF4 7F0910C4 83B9001B */ lb $t9, 0x1b($sp) -/* 0C5BF8 7F0910C8 2B210004 */ slti $at, $t9, 4 -/* 0C5BFC 7F0910CC 14200003 */ bnez $at, .L7F0910DC -/* 0C5C00 7F0910D0 2728FFFD */ addiu $t0, $t9, -3 -/* 0C5C04 7F0910D4 10000002 */ b .L7F0910E0 -/* 0C5C08 7F0910D8 A3A8001B */ sb $t0, 0x1b($sp) -.L7F0910DC: -/* 0C5C0C 7F0910DC A3A0001B */ sb $zero, 0x1b($sp) -.L7F0910E0: -/* 0C5C10 7F0910E0 28E1FFFD */ slti $at, $a3, -3 -/* 0C5C14 7F0910E4 10200005 */ beqz $at, .L7F0910FC -/* 0C5C18 7F0910E8 97A50022 */ lhu $a1, 0x22($sp) -/* 0C5C1C 7F0910EC 24E70003 */ addiu $a3, $a3, 3 -/* 0C5C20 7F0910F0 00074E00 */ sll $t1, $a3, 0x18 -/* 0C5C24 7F0910F4 10000008 */ b .L7F091118 -/* 0C5C28 7F0910F8 00093E03 */ sra $a3, $t1, 0x18 -.L7F0910FC: -/* 0C5C2C 7F0910FC 28E10004 */ slti $at, $a3, 4 -/* 0C5C30 7F091100 14200004 */ bnez $at, .L7F091114 -/* 0C5C34 7F091104 24E7FFFD */ addiu $a3, $a3, -3 -/* 0C5C38 7F091108 00075E00 */ sll $t3, $a3, 0x18 -/* 0C5C3C 7F09110C 10000002 */ b .L7F091118 -/* 0C5C40 7F091110 000B3E03 */ sra $a3, $t3, 0x18 -.L7F091114: -/* 0C5C44 7F091114 00003825 */ move $a3, $zero -.L7F091118: -/* 0C5C48 7F091118 30AD0030 */ andi $t5, $a1, 0x30 -/* 0C5C4C 7F09111C 15A00085 */ bnez $t5, .L7F091334 -/* 0C5C50 7F091120 30AE2000 */ andi $t6, $a1, 0x2000 -/* 0C5C54 7F091124 11C00005 */ beqz $t6, .L7F09113C -/* 0C5C58 7F091128 3C0F8003 */ lui $t7, %hi(D_80037054) -/* 0C5C5C 7F09112C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C5C60 7F091130 44812000 */ mtc1 $at, $f4 -/* 0C5C64 7F091134 00000000 */ nop -/* 0C5C68 7F091138 46040083 */ div.s $f2, $f0, $f4 -.L7F09113C: -/* 0C5C6C 7F09113C 95EF7054 */ lhu $t7, %lo(D_80037054)($t7) -/* 0C5C70 7F091140 44874000 */ mtc1 $a3, $f8 -/* 0C5C74 7F091144 30AA0101 */ andi $t2, $a1, 0x101 -/* 0C5C78 7F091148 01E0C027 */ not $t8, $t7 -/* 0C5C7C 7F09114C 00B81024 */ and $v0, $a1, $t8 -/* 0C5C80 7F091150 30598000 */ andi $t9, $v0, 0x8000 -/* 0C5C84 7F091154 30484000 */ andi $t0, $v0, 0x4000 -/* 0C5C88 7F091158 13200005 */ beqz $t9, .L7F091170 -/* 0C5C8C 7F09115C 46804020 */ cvt.s.w $f0, $f8 -/* 0C5C90 7F091160 3C018003 */ lui $at, %hi(D_80037050) -/* 0C5C94 7F091164 C42C7050 */ lwc1 $f12, %lo(D_80037050)($at) -/* 0C5C98 7F091168 460C6300 */ add.s $f12, $f12, $f12 -/* 0C5C9C 7F09116C E42C7050 */ swc1 $f12, %lo(D_80037050)($at) -.L7F091170: -/* 0C5CA0 7F091170 3C018003 */ lui $at, %hi(D_80037050) -/* 0C5CA4 7F091174 11000006 */ beqz $t0, .L7F091190 -/* 0C5CA8 7F091178 C42C7050 */ lwc1 $f12, %lo(D_80037050)($at) -/* 0C5CAC 7F09117C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C5CB0 7F091180 44813000 */ mtc1 $at, $f6 -/* 0C5CB4 7F091184 00000000 */ nop -/* 0C5CB8 7F091188 46066302 */ mul.s $f12, $f12, $f6 -/* 0C5CBC 7F09118C 00000000 */ nop -.L7F091190: -/* 0C5CC0 7F091190 3C018003 */ lui $at, %hi(D_80037040) -/* 0C5CC4 7F091194 C4307040 */ lwc1 $f16, %lo(D_80037040)($at) -/* 0C5CC8 7F091198 3C048003 */ lui $a0, %hi(stanbondx) -/* 0C5CCC 7F09119C 24847014 */ addiu $a0, %lo(stanbondx) # addiu $a0, $a0, 0x7014 -/* 0C5CD0 7F0911A0 46100102 */ mul.s $f4, $f0, $f16 -/* 0C5CD4 7F0911A4 C48A0000 */ lwc1 $f10, ($a0) -/* 0C5CD8 7F0911A8 3C018003 */ lui $at, %hi(D_8003703C) -/* 0C5CDC 7F0911AC 30A90202 */ andi $t1, $a1, 0x202 -/* 0C5CE0 7F0911B0 3C028003 */ lui $v0, %hi(D_80037044) -/* 0C5CE4 7F0911B4 24427044 */ addiu $v0, %lo(D_80037044) # addiu $v0, $v0, 0x7044 -/* 0C5CE8 7F0911B8 30AD0400 */ andi $t5, $a1, 0x400 -/* 0C5CEC 7F0911BC 46022182 */ mul.s $f6, $f4, $f2 -/* 0C5CF0 7F0911C0 30AE0008 */ andi $t6, $a1, 8 -/* 0C5CF4 7F0911C4 30AF0004 */ andi $t7, $a1, 4 -/* 0C5CF8 7F0911C8 460C3202 */ mul.s $f8, $f6, $f12 -/* 0C5CFC 7F0911CC C4860008 */ lwc1 $f6, 8($a0) -/* 0C5D00 7F0911D0 46085100 */ add.s $f4, $f10, $f8 -/* 0C5D04 7F0911D4 46000287 */ neg.s $f10, $f0 -/* 0C5D08 7F0911D8 E4840000 */ swc1 $f4, ($a0) -/* 0C5D0C 7F0911DC C432703C */ lwc1 $f18, %lo(D_8003703C)($at) -/* 0C5D10 7F0911E0 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0C5D14 7F0911E4 46125202 */ mul.s $f8, $f10, $f18 -/* 0C5D18 7F0911E8 00000000 */ nop -/* 0C5D1C 7F0911EC 46024102 */ mul.s $f4, $f8, $f2 -/* 0C5D20 7F0911F0 00000000 */ nop -/* 0C5D24 7F0911F4 460C2282 */ mul.s $f10, $f4, $f12 -/* 0C5D28 7F0911F8 460A3200 */ add.s $f8, $f6, $f10 -/* 0C5D2C 7F0911FC 11200011 */ beqz $t1, .L7F091244 -/* 0C5D30 7F091200 E4880008 */ swc1 $f8, 8($a0) -/* 0C5D34 7F091204 44810000 */ mtc1 $at, $f0 -/* 0C5D38 7F091208 C4840000 */ lwc1 $f4, ($a0) -/* 0C5D3C 7F09120C 46120182 */ mul.s $f6, $f0, $f18 -/* 0C5D40 7F091210 00000000 */ nop -/* 0C5D44 7F091214 46023282 */ mul.s $f10, $f6, $f2 -/* 0C5D48 7F091218 00000000 */ nop -/* 0C5D4C 7F09121C 460C5202 */ mul.s $f8, $f10, $f12 -/* 0C5D50 7F091220 C48A0008 */ lwc1 $f10, 8($a0) -/* 0C5D54 7F091224 46082181 */ sub.s $f6, $f4, $f8 -/* 0C5D58 7F091228 46100102 */ mul.s $f4, $f0, $f16 -/* 0C5D5C 7F09122C E4860000 */ swc1 $f6, ($a0) -/* 0C5D60 7F091230 46022202 */ mul.s $f8, $f4, $f2 -/* 0C5D64 7F091234 00000000 */ nop -/* 0C5D68 7F091238 460C4182 */ mul.s $f6, $f8, $f12 -/* 0C5D6C 7F09123C 46065101 */ sub.s $f4, $f10, $f6 -/* 0C5D70 7F091240 E4840008 */ swc1 $f4, 8($a0) -.L7F091244: -/* 0C5D74 7F091244 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0C5D78 7F091248 44810000 */ mtc1 $at, $f0 -/* 0C5D7C 7F09124C 51400010 */ beql $t2, $zero, .L7F091290 -/* 0C5D80 7F091250 83AB001B */ lb $t3, 0x1b($sp) -/* 0C5D84 7F091254 46120282 */ mul.s $f10, $f0, $f18 -/* 0C5D88 7F091258 C4880000 */ lwc1 $f8, ($a0) -/* 0C5D8C 7F09125C 46025182 */ mul.s $f6, $f10, $f2 -/* 0C5D90 7F091260 00000000 */ nop -/* 0C5D94 7F091264 460C3102 */ mul.s $f4, $f6, $f12 -/* 0C5D98 7F091268 C4860008 */ lwc1 $f6, 8($a0) -/* 0C5D9C 7F09126C 46044280 */ add.s $f10, $f8, $f4 -/* 0C5DA0 7F091270 46100202 */ mul.s $f8, $f0, $f16 -/* 0C5DA4 7F091274 E48A0000 */ swc1 $f10, ($a0) -/* 0C5DA8 7F091278 46024102 */ mul.s $f4, $f8, $f2 -/* 0C5DAC 7F09127C 00000000 */ nop -/* 0C5DB0 7F091280 460C2282 */ mul.s $f10, $f4, $f12 -/* 0C5DB4 7F091284 460A3200 */ add.s $f8, $f6, $f10 -/* 0C5DB8 7F091288 E4880008 */ swc1 $f8, 8($a0) -/* 0C5DBC 7F09128C 83AB001B */ lb $t3, 0x1b($sp) -.L7F091290: -/* 0C5DC0 7F091290 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 0C5DC4 7F091294 44814000 */ mtc1 $at, $f8 -/* 0C5DC8 7F091298 448B2000 */ mtc1 $t3, $f4 -/* 0C5DCC 7F09129C 3C038003 */ lui $v1, %hi(D_80037038) -/* 0C5DD0 7F0912A0 24637038 */ addiu $v1, %lo(D_80037038) # addiu $v1, $v1, 0x7038 -/* 0C5DD4 7F0912A4 468021A0 */ cvt.s.w $f6, $f4 -/* 0C5DD8 7F0912A8 30AC0800 */ andi $t4, $a1, 0x800 -/* 0C5DDC 7F0912AC 3C018003 */ lui $at, %hi(D_80037050) -/* 0C5DE0 7F0912B0 46023282 */ mul.s $f10, $f6, $f2 -/* 0C5DE4 7F0912B4 C4660000 */ lwc1 $f6, ($v1) -/* 0C5DE8 7F0912B8 46085102 */ mul.s $f4, $f10, $f8 -/* 0C5DEC 7F0912BC 46043280 */ add.s $f10, $f6, $f4 -/* 0C5DF0 7F0912C0 11800005 */ beqz $t4, .L7F0912D8 -/* 0C5DF4 7F0912C4 E46A0000 */ swc1 $f10, ($v1) -/* 0C5DF8 7F0912C8 46021180 */ add.s $f6, $f2, $f2 -/* 0C5DFC 7F0912CC C4480000 */ lwc1 $f8, ($v0) -/* 0C5E00 7F0912D0 46064101 */ sub.s $f4, $f8, $f6 -/* 0C5E04 7F0912D4 E4440000 */ swc1 $f4, ($v0) -.L7F0912D8: -/* 0C5E08 7F0912D8 3C028003 */ lui $v0, %hi(D_80037044) -/* 0C5E0C 7F0912DC 11A00005 */ beqz $t5, .L7F0912F4 -/* 0C5E10 7F0912E0 24427044 */ addiu $v0, %lo(D_80037044) # addiu $v0, $v0, 0x7044 -/* 0C5E14 7F0912E4 46021200 */ add.s $f8, $f2, $f2 -/* 0C5E18 7F0912E8 C44A0000 */ lwc1 $f10, ($v0) -/* 0C5E1C 7F0912EC 46085180 */ add.s $f6, $f10, $f8 -/* 0C5E20 7F0912F0 E4460000 */ swc1 $f6, ($v0) -.L7F0912F4: -/* 0C5E24 7F0912F4 11C00006 */ beqz $t6, .L7F091310 -/* 0C5E28 7F0912F8 00000000 */ nop -/* 0C5E2C 7F0912FC 46020282 */ mul.s $f10, $f0, $f2 -/* 0C5E30 7F091300 C4840004 */ lwc1 $f4, 4($a0) -/* 0C5E34 7F091304 460C5202 */ mul.s $f8, $f10, $f12 -/* 0C5E38 7F091308 46082180 */ add.s $f6, $f4, $f8 -/* 0C5E3C 7F09130C E4860004 */ swc1 $f6, 4($a0) -.L7F091310: -/* 0C5E40 7F091310 11E00008 */ beqz $t7, .L7F091334 -/* 0C5E44 7F091314 E42C7050 */ swc1 $f12, %lo(D_80037050)($at) -/* 0C5E48 7F091318 46020102 */ mul.s $f4, $f0, $f2 -/* 0C5E4C 7F09131C C48A0004 */ lwc1 $f10, 4($a0) -/* 0C5E50 7F091320 3C018003 */ lui $at, %hi(D_80037050) -/* 0C5E54 7F091324 460C2202 */ mul.s $f8, $f4, $f12 -/* 0C5E58 7F091328 46085181 */ sub.s $f6, $f10, $f8 -/* 0C5E5C 7F09132C E4860004 */ swc1 $f6, 4($a0) -/* 0C5E60 7F091330 E42C7050 */ swc1 $f12, %lo(D_80037050)($at) -.L7F091334: -/* 0C5E64 7F091334 3C038003 */ lui $v1, %hi(D_80037038) -/* 0C5E68 7F091338 24637038 */ addiu $v1, %lo(D_80037038) # addiu $v1, $v1, 0x7038 -/* 0C5E6C 7F09133C 44806000 */ mtc1 $zero, $f12 -/* 0C5E70 7F091340 C46E0000 */ lwc1 $f14, ($v1) -/* 0C5E74 7F091344 3C028003 */ lui $v0, %hi(D_80037044) -/* 0C5E78 7F091348 24427044 */ addiu $v0, %lo(D_80037044) # addiu $v0, $v0, 0x7044 -/* 0C5E7C 7F09134C 460C703C */ c.lt.s $f14, $f12 -/* 0C5E80 7F091350 3C0143B4 */ lui $at, 0x43b4 -/* 0C5E84 7F091354 4502000B */ bc1fl .L7F091384 -/* 0C5E88 7F091358 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0C5E8C 7F09135C 44811000 */ mtc1 $at, $f2 -/* 0C5E90 7F091360 00000000 */ nop -/* 0C5E94 7F091364 46027100 */ add.s $f4, $f14, $f2 -.L7F091368: -/* 0C5E98 7F091368 E4640000 */ swc1 $f4, ($v1) -/* 0C5E9C 7F09136C C46E0000 */ lwc1 $f14, ($v1) -/* 0C5EA0 7F091370 460C703C */ c.lt.s $f14, $f12 -/* 0C5EA4 7F091374 00000000 */ nop -/* 0C5EA8 7F091378 4503FFFB */ bc1tl .L7F091368 -/* 0C5EAC 7F09137C 46027100 */ add.s $f4, $f14, $f2 -/* 0C5EB0 7F091380 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -.L7F091384: -/* 0C5EB4 7F091384 44811000 */ mtc1 $at, $f2 -/* 0C5EB8 7F091388 3C018005 */ lui $at, %hi(D_80055850) -/* 0C5EBC 7F09138C 460E103E */ c.le.s $f2, $f14 -/* 0C5EC0 7F091390 00000000 */ nop -/* 0C5EC4 7F091394 45020009 */ bc1fl .L7F0913BC -/* 0C5EC8 7F091398 C4400000 */ lwc1 $f0, ($v0) -/* 0C5ECC 7F09139C 46027281 */ sub.s $f10, $f14, $f2 -.L7F0913A0: -/* 0C5ED0 7F0913A0 E46A0000 */ swc1 $f10, ($v1) -/* 0C5ED4 7F0913A4 C46E0000 */ lwc1 $f14, ($v1) -/* 0C5ED8 7F0913A8 460E103E */ c.le.s $f2, $f14 -/* 0C5EDC 7F0913AC 00000000 */ nop -/* 0C5EE0 7F0913B0 4503FFFB */ bc1tl .L7F0913A0 -/* 0C5EE4 7F0913B4 46027281 */ sub.s $f10, $f14, $f2 -/* 0C5EE8 7F0913B8 C4400000 */ lwc1 $f0, ($v0) -.L7F0913BC: -/* 0C5EEC 7F0913BC 460C003C */ c.lt.s $f0, $f12 -/* 0C5EF0 7F0913C0 00000000 */ nop -/* 0C5EF4 7F0913C4 45020009 */ bc1fl .L7F0913EC -/* 0C5EF8 7F0913C8 4600103E */ c.le.s $f2, $f0 -/* 0C5EFC 7F0913CC 46020200 */ add.s $f8, $f0, $f2 -.L7F0913D0: -/* 0C5F00 7F0913D0 E4480000 */ swc1 $f8, ($v0) -/* 0C5F04 7F0913D4 C4400000 */ lwc1 $f0, ($v0) -/* 0C5F08 7F0913D8 460C003C */ c.lt.s $f0, $f12 -/* 0C5F0C 7F0913DC 00000000 */ nop -/* 0C5F10 7F0913E0 4503FFFB */ bc1tl .L7F0913D0 -/* 0C5F14 7F0913E4 46020200 */ add.s $f8, $f0, $f2 -/* 0C5F18 7F0913E8 4600103E */ c.le.s $f2, $f0 -.L7F0913EC: -/* 0C5F1C 7F0913EC 00000000 */ nop -/* 0C5F20 7F0913F0 45000008 */ bc1f .L7F091414 -/* 0C5F24 7F0913F4 00000000 */ nop -/* 0C5F28 7F0913F8 46020181 */ sub.s $f6, $f0, $f2 -.L7F0913FC: -/* 0C5F2C 7F0913FC E4460000 */ swc1 $f6, ($v0) -/* 0C5F30 7F091400 C4400000 */ lwc1 $f0, ($v0) -/* 0C5F34 7F091404 4600103E */ c.le.s $f2, $f0 -/* 0C5F38 7F091408 00000000 */ nop -/* 0C5F3C 7F09140C 4503FFFB */ bc1tl .L7F0913FC -/* 0C5F40 7F091410 46020181 */ sub.s $f6, $f0, $f2 -.L7F091414: -/* 0C5F44 7F091414 C4245850 */ lwc1 $f4, %lo(D_80055850)($at) -/* 0C5F48 7F091418 46047302 */ mul.s $f12, $f14, $f4 -/* 0C5F4C 7F09141C 0FC15FA8 */ jal cosf -/* 0C5F50 7F091420 00000000 */ nop -/* 0C5F54 7F091424 3C018003 */ lui $at, %hi(D_8003703C) -/* 0C5F58 7F091428 E420703C */ swc1 $f0, %lo(D_8003703C)($at) -/* 0C5F5C 7F09142C 3C038003 */ lui $v1, %hi(D_80037038) -/* 0C5F60 7F091430 24637038 */ addiu $v1, %lo(D_80037038) # addiu $v1, $v1, 0x7038 -/* 0C5F64 7F091434 3C018005 */ lui $at, %hi(D_80055854) -/* 0C5F68 7F091438 C4285854 */ lwc1 $f8, %lo(D_80055854)($at) -/* 0C5F6C 7F09143C C46A0000 */ lwc1 $f10, ($v1) -/* 0C5F70 7F091440 46085302 */ mul.s $f12, $f10, $f8 -/* 0C5F74 7F091444 0FC15FAB */ jal sinf -/* 0C5F78 7F091448 00000000 */ nop -/* 0C5F7C 7F09144C 3C018003 */ lui $at, %hi(D_80037040) -/* 0C5F80 7F091450 E4207040 */ swc1 $f0, %lo(D_80037040)($at) -/* 0C5F84 7F091454 3C028003 */ lui $v0, %hi(D_80037044) -/* 0C5F88 7F091458 24427044 */ addiu $v0, %lo(D_80037044) # addiu $v0, $v0, 0x7044 -/* 0C5F8C 7F09145C 3C018005 */ lui $at, %hi(D_80055858) -/* 0C5F90 7F091460 C4245858 */ lwc1 $f4, %lo(D_80055858)($at) -/* 0C5F94 7F091464 C4460000 */ lwc1 $f6, ($v0) -/* 0C5F98 7F091468 46043302 */ mul.s $f12, $f6, $f4 -/* 0C5F9C 7F09146C 0FC15FA8 */ jal cosf -/* 0C5FA0 7F091470 00000000 */ nop -/* 0C5FA4 7F091474 3C018003 */ lui $at, %hi(D_80037048) -/* 0C5FA8 7F091478 E4207048 */ swc1 $f0, %lo(D_80037048)($at) -/* 0C5FAC 7F09147C 3C028003 */ lui $v0, %hi(D_80037044) -/* 0C5FB0 7F091480 24427044 */ addiu $v0, %lo(D_80037044) # addiu $v0, $v0, 0x7044 -/* 0C5FB4 7F091484 3C018005 */ lui $at, %hi(D_8005585C) -/* 0C5FB8 7F091488 C428585C */ lwc1 $f8, %lo(D_8005585C)($at) -/* 0C5FBC 7F09148C C44A0000 */ lwc1 $f10, ($v0) -/* 0C5FC0 7F091490 46085302 */ mul.s $f12, $f10, $f8 -/* 0C5FC4 7F091494 0FC15FAB */ jal sinf -/* 0C5FC8 7F091498 00000000 */ nop -/* 0C5FCC 7F09149C 3C048003 */ lui $a0, %hi(D_8003704C) -/* 0C5FD0 7F0914A0 2484704C */ addiu $a0, %lo(D_8003704C) # addiu $a0, $a0, 0x704c -/* 0C5FD4 7F0914A4 E4800000 */ swc1 $f0, ($a0) -/* 0C5FD8 7F0914A8 C4820000 */ lwc1 $f2, ($a0) -/* 0C5FDC 7F0914AC 3C028003 */ lui $v0, %hi(D_80037020) -/* 0C5FE0 7F0914B0 24427020 */ addiu $v0, %lo(D_80037020) # addiu $v0, $v0, 0x7020 -/* 0C5FE4 7F0914B4 3C018003 */ lui $at, %hi(D_80037048) -/* 0C5FE8 7F0914B8 E4420004 */ swc1 $f2, 4($v0) -/* 0C5FEC 7F0914BC C42E7048 */ lwc1 $f14, %lo(D_80037048)($at) -/* 0C5FF0 7F0914C0 3C018003 */ lui $at, %hi(D_80037040) -/* 0C5FF4 7F0914C4 C4307040 */ lwc1 $f16, %lo(D_80037040)($at) -/* 0C5FF8 7F0914C8 3C018003 */ lui $at, %hi(D_8003703C) -/* 0C5FFC 7F0914CC 46007107 */ neg.s $f4, $f14 -/* 0C6000 7F0914D0 46107182 */ mul.s $f6, $f14, $f16 -/* 0C6004 7F0914D4 46001207 */ neg.s $f8, $f2 -/* 0C6008 7F0914D8 3C038003 */ lui $v1, %hi(D_8003702C) -/* 0C600C 7F0914DC 2463702C */ addiu $v1, %lo(D_8003702C) # addiu $v1, $v1, 0x702c -/* 0C6010 7F0914E0 97B80022 */ lhu $t8, 0x22($sp) -/* 0C6014 7F0914E4 E4460000 */ swc1 $f6, ($v0) -/* 0C6018 7F0914E8 C432703C */ lwc1 $f18, %lo(D_8003703C)($at) -/* 0C601C 7F0914EC 3C018003 */ lui $at, %hi(D_80037054) -/* 0C6020 7F0914F0 E46E0004 */ swc1 $f14, 4($v1) -/* 0C6024 7F0914F4 46122282 */ mul.s $f10, $f4, $f18 -/* 0C6028 7F0914F8 00000000 */ nop -/* 0C602C 7F0914FC 46104182 */ mul.s $f6, $f8, $f16 -/* 0C6030 7F091500 00000000 */ nop -/* 0C6034 7F091504 46121102 */ mul.s $f4, $f2, $f18 -/* 0C6038 7F091508 E44A0008 */ swc1 $f10, 8($v0) -/* 0C603C 7F09150C E4660000 */ swc1 $f6, ($v1) -/* 0C6040 7F091510 E4640008 */ swc1 $f4, 8($v1) -/* 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 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 -/* 0C6060 7F091530 8C590000 */ lw $t9, ($v0) -/* 0C6064 7F091534 24010001 */ li $at, 1 -/* 0C6068 7F091538 27230001 */ addiu $v1, $t9, 1 -/* 0C606C 7F09153C 14610007 */ bne $v1, $at, .L7F09155C -/* 0C6070 7F091540 AC430000 */ sw $v1, ($v0) -/* 0C6074 7F091544 0FC173D7 */ jal remove_item_in_hand -/* 0C6078 7F091548 00002025 */ move $a0, $zero -/* 0C607C 7F09154C 0FC173D7 */ jal remove_item_in_hand -/* 0C6080 7F091550 24040001 */ li $a0, 1 -/* 0C6084 7F091554 10000007 */ b .L7F091574 -/* 0C6088 7F091558 8FBF0014 */ lw $ra, 0x14($sp) -.L7F09155C: -/* 0C608C 7F09155C 24010004 */ li $at, 4 -/* 0C6090 7F091560 54610004 */ bnel $v1, $at, .L7F091574 -/* 0C6094 7F091564 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6098 7F091568 0FC1E73C */ jal solo_char_load -/* 0C609C 7F09156C 00000000 */ nop -/* 0C60A0 7F091570 8FBF0014 */ lw $ra, 0x14($sp) -.L7F091574: -/* 0C60A4 7F091574 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C60A8 7F091578 03E00008 */ jr $ra -/* 0C60AC 7F09157C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F091580(s32 arg0) { - // Node 0 - sub_GAME_7F0876C4(&stanbondx, &D_80037020, &D_8003702C); - return arg0; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F091580 -/* 0C60B0 7F091580 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C60B4 7F091584 AFA40018 */ sw $a0, 0x18($sp) -/* 0C60B8 7F091588 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C60BC 7F09158C 3C048003 */ lui $a0, %hi(stanbondx) -/* 0C60C0 7F091590 3C058003 */ lui $a1, %hi(D_80037020) -/* 0C60C4 7F091594 3C068003 */ lui $a2, %hi(D_8003702C) -/* 0C60C8 7F091598 24C6702C */ addiu $a2, %lo(D_8003702C) # addiu $a2, $a2, 0x702c -/* 0C60CC 7F09159C 24A57020 */ addiu $a1, %lo(D_80037020) # addiu $a1, $a1, 0x7020 -/* 0C60D0 7F0915A0 0FC21DB1 */ jal sub_GAME_7F0876C4 -/* 0C60D4 7F0915A4 24847014 */ addiu $a0, %lo(stanbondx) # addiu $a0, $a0, 0x7014 -/* 0C60D8 7F0915A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C60DC 7F0915AC 8FA20018 */ lw $v0, 0x18($sp) -/* 0C60E0 7F0915B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C60E4 7F0915B4 03E00008 */ jr $ra -/* 0C60E8 7F0915B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0915BC(f32 arg0) { - f32 temp_f0; - - // Node 0 - temp_f0 = (D_80037058 / arg0); - D_80037058 = arg0; - stanbondx = (f32) (stanbondx * temp_f0); - stanbondx.unk4 = (f32) (stanbondx.unk4 * temp_f0); - stanbondx.unk8 = (f32) (stanbondx.unk8 * temp_f0); - D_8003705C = (f32) (1.0f / arg0); - return; - // (possible return value: temp_f0) -} - - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0915BC -/* 0C60EC 7F0915BC 3C028003 */ lui $v0, %hi(D_80037058) -/* 0C60F0 7F0915C0 24427058 */ addiu $v0, %lo(D_80037058) # addiu $v0, $v0, 0x7058 -/* 0C60F4 7F0915C4 C4440000 */ lwc1 $f4, ($v0) -/* 0C60F8 7F0915C8 3C038003 */ lui $v1, %hi(stanbondx) -/* 0C60FC 7F0915CC 24637014 */ addiu $v1, %lo(stanbondx) # addiu $v1, $v1, 0x7014 -/* 0C6100 7F0915D0 460C2003 */ div.s $f0, $f4, $f12 -/* 0C6104 7F0915D4 C4660000 */ lwc1 $f6, ($v1) -/* 0C6108 7F0915D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C610C 7F0915DC C46A0004 */ lwc1 $f10, 4($v1) -/* 0C6110 7F0915E0 C4720008 */ lwc1 $f18, 8($v1) -/* 0C6114 7F0915E4 E44C0000 */ swc1 $f12, ($v0) -/* 0C6118 7F0915E8 46003202 */ mul.s $f8, $f6, $f0 -/* 0C611C 7F0915EC 44813000 */ mtc1 $at, $f6 -/* 0C6120 7F0915F0 3C018003 */ lui $at, %hi(D_8003705C) -/* 0C6124 7F0915F4 46005402 */ mul.s $f16, $f10, $f0 -/* 0C6128 7F0915F8 00000000 */ nop -/* 0C612C 7F0915FC 46009102 */ mul.s $f4, $f18, $f0 -/* 0C6130 7F091600 E4680000 */ swc1 $f8, ($v1) -/* 0C6134 7F091604 E4700004 */ swc1 $f16, 4($v1) -/* 0C6138 7F091608 460C3203 */ div.s $f8, $f6, $f12 -/* 0C613C 7F09160C E4640008 */ swc1 $f4, 8($v1) -/* 0C6140 7F091610 03E00008 */ jr $ra -/* 0C6144 7F091614 E428705C */ swc1 $f8, %lo(D_8003705C)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F091618(void) { - // Node 0 - get_BONDdata_position(); - cosf((D_80055860 - get_curplay_horizontal_rotation_in_degrees())); - sinf(sp18); - cosf(sp18); - sinf(sp18); - return; - // (possible return value: sinf(sp18)) -} - -#else -GLOBAL_ASM( -.late_rodata -glabel D_80055860 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F091618 -/* 0C6148 7F091618 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C614C 7F09161C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C6150 7F091620 0FC227F5 */ jal get_BONDdata_position -/* 0C6154 7F091624 00000000 */ nop -/* 0C6158 7F091628 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 0C615C 7F09162C 00000000 */ nop -/* 0C6160 7F091630 3C018005 */ lui $at, %hi(D_80055860) -/* 0C6164 7F091634 C4245860 */ lwc1 $f4, %lo(D_80055860)($at) -/* 0C6168 7F091638 46002301 */ sub.s $f12, $f4, $f0 -/* 0C616C 7F09163C 0FC15FA8 */ jal cosf -/* 0C6170 7F091640 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0C6174 7F091644 0FC15FAB */ jal sinf -/* 0C6178 7F091648 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0C617C 7F09164C 0FC15FA8 */ jal cosf -/* 0C6180 7F091650 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0C6184 7F091654 0FC15FAB */ jal sinf -/* 0C6188 7F091658 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 0C618C 7F09165C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C6190 7F091660 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C6194 7F091664 03E00008 */ jr $ra -/* 0C6198 7F091668 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09166C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09166C -/* 0C619C 7F09166C 3C028003 */ lui $v0, %hi(stanbondx) -/* 0C61A0 7F091670 3C038003 */ lui $v1, %hi(D_80037060) -/* 0C61A4 7F091674 24637060 */ addiu $v1, %lo(D_80037060) # addiu $v1, $v1, 0x7060 -/* 0C61A8 7F091678 24427014 */ addiu $v0, %lo(stanbondx) # addiu $v0, $v0, 0x7014 -/* 0C61AC 7F09167C C4440000 */ lwc1 $f4, ($v0) -/* 0C61B0 7F091680 C4660000 */ lwc1 $f6, ($v1) -/* 0C61B4 7F091684 C4480004 */ lwc1 $f8, 4($v0) -/* 0C61B8 7F091688 C46A0004 */ lwc1 $f10, 4($v1) -/* 0C61BC 7F09168C 46062001 */ sub.s $f0, $f4, $f6 -/* 0C61C0 7F091690 C4500008 */ lwc1 $f16, 8($v0) -/* 0C61C4 7F091694 C4720008 */ lwc1 $f18, 8($v1) -/* 0C61C8 7F091698 460A4081 */ sub.s $f2, $f8, $f10 -/* 0C61CC 7F09169C 46000102 */ mul.s $f4, $f0, $f0 -/* 0C61D0 7F0916A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C61D4 7F0916A4 46128381 */ sub.s $f14, $f16, $f18 -/* 0C61D8 7F0916A8 46021182 */ mul.s $f6, $f2, $f2 -/* 0C61DC 7F0916AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0C61E0 7F0916B0 460E7282 */ mul.s $f10, $f14, $f14 -/* 0C61E4 7F0916B4 46062200 */ add.s $f8, $f4, $f6 -/* 0C61E8 7F0916B8 0C007DF8 */ jal sqrtf -/* 0C61EC 7F0916BC 460A4300 */ add.s $f12, $f8, $f10 -/* 0C61F0 7F0916C0 3C028003 */ lui $v0, %hi(stanbondx) -/* 0C61F4 7F0916C4 24427014 */ addiu $v0, %lo(stanbondx) # addiu $v0, $v0, 0x7014 -/* 0C61F8 7F0916C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C61FC 7F0916CC 3C038003 */ lui $v1, %hi(D_80037060) -/* 0C6200 7F0916D0 C4500000 */ lwc1 $f16, ($v0) -/* 0C6204 7F0916D4 C4520004 */ lwc1 $f18, 4($v0) -/* 0C6208 7F0916D8 C4440008 */ lwc1 $f4, 8($v0) -/* 0C620C 7F0916DC 24637060 */ addiu $v1, %lo(D_80037060) # addiu $v1, $v1, 0x7060 -/* 0C6210 7F0916E0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C6214 7F0916E4 E4700000 */ swc1 $f16, ($v1) -/* 0C6218 7F0916E8 E4720004 */ swc1 $f18, 4($v1) -/* 0C621C 7F0916EC 03E00008 */ jr $ra -/* 0C6220 7F0916F0 E4640008 */ swc1 $f4, 8($v1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0916F4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0916F4 -/* 0C6224 7F0916F4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C6228 7F0916F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C622C 7F0916FC 0FC227F5 */ jal get_BONDdata_position -/* 0C6230 7F091700 00000000 */ nop -/* 0C6234 7F091704 C4440000 */ lwc1 $f4, ($v0) -/* 0C6238 7F091708 3C038003 */ lui $v1, %hi(stanbondx) -/* 0C623C 7F09170C 24637014 */ addiu $v1, %lo(stanbondx) # addiu $v1, $v1, 0x7014 -/* 0C6240 7F091710 E4640000 */ swc1 $f4, ($v1) -/* 0C6244 7F091714 C4460004 */ lwc1 $f6, 4($v0) -/* 0C6248 7F091718 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C624C 7F09171C 3C018008 */ lui $at, %hi(dword_CODE_bss_80079E20) -/* 0C6250 7F091720 E4660004 */ swc1 $f6, 4($v1) -/* 0C6254 7F091724 C4480008 */ lwc1 $f8, 8($v0) -/* 0C6258 7F091728 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C625C 7F09172C E4680008 */ swc1 $f8, 8($v1) -/* 0C6260 7F091730 03E00008 */ jr $ra -/* 0C6264 7F091734 AC209E20 */ sw $zero, %lo(dword_CODE_bss_80079E20)($at) -) -#endif - - - diff --git a/src/game/unk_092890.c b/src/game/unk_092890.c deleted file mode 100644 index b2939d7..0000000 --- a/src/game/unk_092890.c +++ /dev/null @@ -1,391 +0,0 @@ -#include "ultra64.h" - - -#ifdef NONMATCHING -void sub_GAME_7F092890(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F092890 -/* 0C73C0 7F092890 27BDFEA8 */ addiu $sp, $sp, -0x158 -/* 0C73C4 7F092894 F7BE0030 */ sdc1 $f30, 0x30($sp) -/* 0C73C8 7F092898 F7BC0028 */ sdc1 $f28, 0x28($sp) -/* 0C73CC 7F09289C F7BA0020 */ sdc1 $f26, 0x20($sp) -/* 0C73D0 7F0928A0 F7B80018 */ sdc1 $f24, 0x18($sp) -/* 0C73D4 7F0928A4 F7B60010 */ sdc1 $f22, 0x10($sp) -/* 0C73D8 7F0928A8 F7B40008 */ sdc1 $f20, 8($sp) -/* 0C73DC 7F0928AC C4E40000 */ lwc1 $f4, ($a3) -/* 0C73E0 7F0928B0 8FA90170 */ lw $t1, 0x170($sp) -/* 0C73E4 7F0928B4 8FAA016C */ lw $t2, 0x16c($sp) -/* 0C73E8 7F0928B8 46002221 */ cvt.d.s $f8, $f4 -/* 0C73EC 7F0928BC F7A80090 */ sdc1 $f8, 0x90($sp) -/* 0C73F0 7F0928C0 C4EA0004 */ lwc1 $f10, 4($a3) -/* 0C73F4 7F0928C4 460051A1 */ cvt.d.s $f6, $f10 -/* 0C73F8 7F0928C8 F7A60098 */ sdc1 $f6, 0x98($sp) -/* 0C73FC 7F0928CC C4E40008 */ lwc1 $f4, 8($a3) -/* 0C7400 7F0928D0 46002221 */ cvt.d.s $f8, $f4 -/* 0C7404 7F0928D4 F7A800A0 */ sdc1 $f8, 0xa0($sp) -/* 0C7408 7F0928D8 C52A0000 */ lwc1 $f10, ($t1) -/* 0C740C 7F0928DC 460051A1 */ cvt.d.s $f6, $f10 -/* 0C7410 7F0928E0 F7A60078 */ sdc1 $f6, 0x78($sp) -/* 0C7414 7F0928E4 C5240004 */ lwc1 $f4, 4($t1) -/* 0C7418 7F0928E8 46002221 */ cvt.d.s $f8, $f4 -/* 0C741C 7F0928EC F7A80080 */ sdc1 $f8, 0x80($sp) -/* 0C7420 7F0928F0 C52A0008 */ lwc1 $f10, 8($t1) -/* 0C7424 7F0928F4 46005121 */ cvt.d.s $f4, $f10 -/* 0C7428 7F0928F8 F7A40088 */ sdc1 $f4, 0x88($sp) -/* 0C742C 7F0928FC C54A0000 */ lwc1 $f10, ($t2) -/* 0C7430 7F092900 460052A1 */ cvt.d.s $f10, $f10 -/* 0C7434 7F092904 F7AA0060 */ sdc1 $f10, 0x60($sp) -/* 0C7438 7F092908 C54A0004 */ lwc1 $f10, 4($t2) -/* 0C743C 7F09290C 460052A1 */ cvt.d.s $f10, $f10 -/* 0C7440 7F092910 F7AA0068 */ sdc1 $f10, 0x68($sp) -/* 0C7444 7F092914 C54A0008 */ lwc1 $f10, 8($t2) -/* 0C7448 7F092918 460052A1 */ cvt.d.s $f10, $f10 -/* 0C744C 7F09291C F7AA0070 */ sdc1 $f10, 0x70($sp) -/* 0C7450 7F092920 848C0000 */ lh $t4, ($a0) -/* 0C7454 7F092924 84AB0000 */ lh $t3, ($a1) -/* 0C7458 7F092928 016C6823 */ subu $t5, $t3, $t4 -/* 0C745C 7F09292C 448D5000 */ mtc1 $t5, $f10 -/* 0C7460 7F092930 00000000 */ nop -/* 0C7464 7F092934 468052A1 */ cvt.d.w $f10, $f10 -/* 0C7468 7F092938 F7AA0140 */ sdc1 $f10, 0x140($sp) -/* 0C746C 7F09293C 84CE0000 */ lh $t6, ($a2) -/* 0C7470 7F092940 84AF0000 */ lh $t7, ($a1) -/* 0C7474 7F092944 F7A60038 */ sdc1 $f6, 0x38($sp) -/* 0C7478 7F092948 01CFC023 */ subu $t8, $t6, $t7 -/* 0C747C 7F09294C 44983000 */ mtc1 $t8, $f6 -/* 0C7480 7F092950 00000000 */ nop -/* 0C7484 7F092954 468031A1 */ cvt.d.w $f6, $f6 -/* 0C7488 7F092958 F7A60128 */ sdc1 $f6, 0x128($sp) -/* 0C748C 7F09295C 84880002 */ lh $t0, 2($a0) -/* 0C7490 7F092960 84B90002 */ lh $t9, 2($a1) -/* 0C7494 7F092964 F7A80040 */ sdc1 $f8, 0x40($sp) -/* 0C7498 7F092968 03284823 */ subu $t1, $t9, $t0 -/* 0C749C 7F09296C 44894000 */ mtc1 $t1, $f8 -/* 0C74A0 7F092970 00000000 */ nop -/* 0C74A4 7F092974 46804221 */ cvt.d.w $f8, $f8 -/* 0C74A8 7F092978 F7A80148 */ sdc1 $f8, 0x148($sp) -/* 0C74AC 7F09297C 84CA0002 */ lh $t2, 2($a2) -/* 0C74B0 7F092980 84AB0002 */ lh $t3, 2($a1) -/* 0C74B4 7F092984 014B6023 */ subu $t4, $t2, $t3 -/* 0C74B8 7F092988 448C4000 */ mtc1 $t4, $f8 -/* 0C74BC 7F09298C 00000000 */ nop -/* 0C74C0 7F092990 46804221 */ cvt.d.w $f8, $f8 -/* 0C74C4 7F092994 F7A80130 */ sdc1 $f8, 0x130($sp) -/* 0C74C8 7F092998 848E0004 */ lh $t6, 4($a0) -/* 0C74CC 7F09299C 84AD0004 */ lh $t5, 4($a1) -/* 0C74D0 7F0929A0 01AE7823 */ subu $t7, $t5, $t6 -/* 0C74D4 7F0929A4 448F4000 */ mtc1 $t7, $f8 -/* 0C74D8 7F0929A8 00000000 */ nop -/* 0C74DC 7F0929AC 46804221 */ cvt.d.w $f8, $f8 -/* 0C74E0 7F0929B0 F7A80150 */ sdc1 $f8, 0x150($sp) -/* 0C74E4 7F0929B4 84D80004 */ lh $t8, 4($a2) -/* 0C74E8 7F0929B8 84B90004 */ lh $t9, 4($a1) -/* 0C74EC 7F0929BC 03194023 */ subu $t0, $t8, $t9 -/* 0C74F0 7F0929C0 44884000 */ mtc1 $t0, $f8 -/* 0C74F4 7F0929C4 00000000 */ nop -/* 0C74F8 7F0929C8 46804221 */ cvt.d.w $f8, $f8 -/* 0C74FC 7F0929CC F7A80138 */ sdc1 $f8, 0x138($sp) -/* 0C7500 7F0929D0 848A0000 */ lh $t2, ($a0) -/* 0C7504 7F0929D4 84C90000 */ lh $t1, ($a2) -/* 0C7508 7F0929D8 012A5823 */ subu $t3, $t1, $t2 -/* 0C750C 7F0929DC 448B4000 */ mtc1 $t3, $f8 -/* 0C7510 7F0929E0 00000000 */ nop -/* 0C7514 7F0929E4 46804221 */ cvt.d.w $f8, $f8 -/* 0C7518 7F0929E8 F7A80110 */ sdc1 $f8, 0x110($sp) -/* 0C751C 7F0929EC 848D0002 */ lh $t5, 2($a0) -/* 0C7520 7F0929F0 84CC0002 */ lh $t4, 2($a2) -/* 0C7524 7F0929F4 018D7023 */ subu $t6, $t4, $t5 -/* 0C7528 7F0929F8 448E4000 */ mtc1 $t6, $f8 -/* 0C752C 7F0929FC 00000000 */ nop -/* 0C7530 7F092A00 46804221 */ cvt.d.w $f8, $f8 -/* 0C7534 7F092A04 F7A80118 */ sdc1 $f8, 0x118($sp) -/* 0C7538 7F092A08 84980004 */ lh $t8, 4($a0) -/* 0C753C 7F092A0C 84CF0004 */ lh $t7, 4($a2) -/* 0C7540 7F092A10 F7A40048 */ sdc1 $f4, 0x48($sp) -/* 0C7544 7F092A14 D7A40138 */ ldc1 $f4, 0x138($sp) -/* 0C7548 7F092A18 01F8C823 */ subu $t9, $t7, $t8 -/* 0C754C 7F092A1C 44994000 */ mtc1 $t9, $f8 -/* 0C7550 7F092A20 00000000 */ nop -/* 0C7554 7F092A24 46804221 */ cvt.d.w $f8, $f8 -/* 0C7558 7F092A28 F7A80120 */ sdc1 $f8, 0x120($sp) -/* 0C755C 7F092A2C D7A80148 */ ldc1 $f8, 0x148($sp) -/* 0C7560 7F092A30 46244482 */ mul.d $f18, $f8, $f4 -/* 0C7564 7F092A34 D7A40130 */ ldc1 $f4, 0x130($sp) -/* 0C7568 7F092A38 D7A80150 */ ldc1 $f8, 0x150($sp) -/* 0C756C 7F092A3C 46244502 */ mul.d $f20, $f8, $f4 -/* 0C7570 7F092A40 D7A40138 */ ldc1 $f4, 0x138($sp) -/* 0C7574 7F092A44 46264582 */ mul.d $f22, $f8, $f6 -/* 0C7578 7F092A48 D7A80130 */ ldc1 $f8, 0x130($sp) -/* 0C757C 7F092A4C 46245602 */ mul.d $f24, $f10, $f4 -/* 0C7580 7F092A50 D7A40148 */ ldc1 $f4, 0x148($sp) -/* 0C7584 7F092A54 46349301 */ sub.d $f12, $f18, $f20 -/* 0C7588 7F092A58 46285682 */ mul.d $f26, $f10, $f8 -/* 0C758C 7F092A5C 00000000 */ nop -/* 0C7590 7F092A60 46262702 */ mul.d $f28, $f4, $f6 -/* 0C7594 7F092A64 D7A40090 */ ldc1 $f4, 0x90($sp) -/* 0C7598 7F092A68 4638B381 */ sub.d $f14, $f22, $f24 -/* 0C759C 7F092A6C 463CD401 */ sub.d $f16, $f26, $f28 -/* 0C75A0 7F092A70 F7B000F8 */ sdc1 $f16, 0xf8($sp) -/* 0C75A4 7F092A74 84880000 */ lh $t0, ($a0) -/* 0C75A8 7F092A78 84890002 */ lh $t1, 2($a0) -/* 0C75AC 7F092A7C 848A0004 */ lh $t2, 4($a0) -/* 0C75B0 7F092A80 44885000 */ mtc1 $t0, $f10 -/* 0C75B4 7F092A84 F7AE0100 */ sdc1 $f14, 0x100($sp) -/* 0C75B8 7F092A88 F7AC0108 */ sdc1 $f12, 0x108($sp) -/* 0C75BC 7F092A8C 46805221 */ cvt.d.w $f8, $f10 -/* 0C75C0 7F092A90 46244180 */ add.d $f6, $f8, $f4 -/* 0C75C4 7F092A94 44894000 */ mtc1 $t1, $f8 -/* 0C75C8 7F092A98 00000000 */ nop -/* 0C75CC 7F092A9C 46804121 */ cvt.d.w $f4, $f8 -/* 0C75D0 7F092AA0 46266282 */ mul.d $f10, $f12, $f6 -/* 0C75D4 7F092AA4 D7A60098 */ ldc1 $f6, 0x98($sp) -/* 0C75D8 7F092AA8 46262200 */ add.d $f8, $f4, $f6 -/* 0C75DC 7F092AAC 46287102 */ mul.d $f4, $f14, $f8 -/* 0C75E0 7F092AB0 D7A800A0 */ ldc1 $f8, 0xa0($sp) -/* 0C75E4 7F092AB4 46245180 */ add.d $f6, $f10, $f4 -/* 0C75E8 7F092AB8 448A5000 */ mtc1 $t2, $f10 -/* 0C75EC 7F092ABC 00000000 */ nop -/* 0C75F0 7F092AC0 46805121 */ cvt.d.w $f4, $f10 -/* 0C75F4 7F092AC4 46244280 */ add.d $f10, $f8, $f4 -/* 0C75F8 7F092AC8 D7A80048 */ ldc1 $f8, 0x48($sp) -/* 0C75FC 7F092ACC 46305102 */ mul.d $f4, $f10, $f16 -/* 0C7600 7F092AD0 46262280 */ add.d $f10, $f4, $f6 -/* 0C7604 7F092AD4 46304182 */ mul.d $f6, $f8, $f16 -/* 0C7608 7F092AD8 D7A40040 */ ldc1 $f4, 0x40($sp) -/* 0C760C 7F092ADC F7AA00F0 */ sdc1 $f10, 0xf0($sp) -/* 0C7610 7F092AE0 D7AA0038 */ ldc1 $f10, 0x38($sp) -/* 0C7614 7F092AE4 462A6202 */ mul.d $f8, $f12, $f10 -/* 0C7618 7F092AE8 00000000 */ nop -/* 0C761C 7F092AEC 46247282 */ mul.d $f10, $f14, $f4 -/* 0C7620 7F092AF0 462A4100 */ add.d $f4, $f8, $f10 -/* 0C7624 7F092AF4 44804000 */ mtc1 $zero, $f8 -/* 0C7628 7F092AF8 44804800 */ mtc1 $zero, $f9 -/* 0C762C 7F092AFC 46243000 */ add.d $f0, $f6, $f4 -/* 0C7630 7F092B00 D7A60060 */ ldc1 $f6, 0x60($sp) -/* 0C7634 7F092B04 46280032 */ c.eq.d $f0, $f8 -/* 0C7638 7F092B08 00000000 */ nop -/* 0C763C 7F092B0C 45000003 */ bc1f .L7F092B1C -/* 0C7640 7F092B10 00000000 */ nop -/* 0C7644 7F092B14 100000C5 */ b .L7F092E2C -/* 0C7648 7F092B18 00001025 */ move $v0, $zero -.L7F092B1C: -/* 0C764C 7F092B1C 46266102 */ mul.d $f4, $f12, $f6 -/* 0C7650 7F092B20 D7AA00F0 */ ldc1 $f10, 0xf0($sp) -/* 0C7654 7F092B24 F7A60048 */ sdc1 $f6, 0x48($sp) -/* 0C7658 7F092B28 463AE781 */ sub.d $f30, $f28, $f26 -/* 0C765C 7F092B2C 00001025 */ move $v0, $zero -/* 0C7660 7F092B30 46245201 */ sub.d $f8, $f10, $f4 -/* 0C7664 7F092B34 D7AA0068 */ ldc1 $f10, 0x68($sp) -/* 0C7668 7F092B38 462A7102 */ mul.d $f4, $f14, $f10 -/* 0C766C 7F092B3C F7AA0040 */ sdc1 $f10, 0x40($sp) -/* 0C7670 7F092B40 46244201 */ sub.d $f8, $f8, $f4 -/* 0C7674 7F092B44 D7A40070 */ ldc1 $f4, 0x70($sp) -/* 0C7678 7F092B48 46302182 */ mul.d $f6, $f4, $f16 -/* 0C767C 7F092B4C F7A40038 */ sdc1 $f4, 0x38($sp) -/* 0C7680 7F092B50 D7A40080 */ ldc1 $f4, 0x80($sp) -/* 0C7684 7F092B54 46264201 */ sub.d $f8, $f8, $f6 -/* 0C7688 7F092B58 D7A60078 */ ldc1 $f6, 0x78($sp) -/* 0C768C 7F092B5C 46266282 */ mul.d $f10, $f12, $f6 -/* 0C7690 7F092B60 F7A80050 */ sdc1 $f8, 0x50($sp) -/* 0C7694 7F092B64 F7A60058 */ sdc1 $f6, 0x58($sp) -/* 0C7698 7F092B68 46247202 */ mul.d $f8, $f14, $f4 -/* 0C769C 7F092B6C D7AE0148 */ ldc1 $f14, 0x148($sp) -/* 0C76A0 7F092B70 46285280 */ add.d $f10, $f10, $f8 -/* 0C76A4 7F092B74 D7A80088 */ ldc1 $f8, 0x88($sp) -/* 0C76A8 7F092B78 46304182 */ mul.d $f6, $f8, $f16 -/* 0C76AC 7F092B7C 44808000 */ mtc1 $zero, $f16 -/* 0C76B0 7F092B80 44808800 */ mtc1 $zero, $f17 -/* 0C76B4 7F092B84 462A3180 */ add.d $f6, $f6, $f10 -/* 0C76B8 7F092B88 D7AA0050 */ ldc1 $f10, 0x50($sp) -/* 0C76BC 7F092B8C 46265083 */ div.d $f2, $f10, $f6 -/* 0C76C0 7F092B90 D7AA0058 */ ldc1 $f10, 0x58($sp) -/* 0C76C4 7F092B94 46225182 */ mul.d $f6, $f10, $f2 -/* 0C76C8 7F092B98 D7AA0048 */ ldc1 $f10, 0x48($sp) -/* 0C76CC 7F092B9C 462A3180 */ add.d $f6, $f6, $f10 -/* 0C76D0 7F092BA0 46222282 */ mul.d $f10, $f4, $f2 -/* 0C76D4 7F092BA4 D7A40040 */ ldc1 $f4, 0x40($sp) -/* 0C76D8 7F092BA8 F7A600C8 */ sdc1 $f6, 0xc8($sp) -/* 0C76DC 7F092BAC 46245280 */ add.d $f10, $f10, $f4 -/* 0C76E0 7F092BB0 46224102 */ mul.d $f4, $f8, $f2 -/* 0C76E4 7F092BB4 D7A80038 */ ldc1 $f8, 0x38($sp) -/* 0C76E8 7F092BB8 F7AA00D0 */ sdc1 $f10, 0xd0($sp) -/* 0C76EC 7F092BBC 46282100 */ add.d $f4, $f4, $f8 -/* 0C76F0 7F092BC0 D7A80090 */ ldc1 $f8, 0x90($sp) -/* 0C76F4 7F092BC4 F7A400D8 */ sdc1 $f4, 0xd8($sp) -/* 0C76F8 7F092BC8 848B0000 */ lh $t3, ($a0) -/* 0C76FC 7F092BCC F7AA0058 */ sdc1 $f10, 0x58($sp) -/* 0C7700 7F092BD0 448B5000 */ mtc1 $t3, $f10 -/* 0C7704 7F092BD4 00000000 */ nop -/* 0C7708 7F092BD8 468052A1 */ cvt.d.w $f10, $f10 -/* 0C770C 7F092BDC 462A4200 */ add.d $f8, $f8, $f10 -/* 0C7710 7F092BE0 46283281 */ sub.d $f10, $f6, $f8 -/* 0C7714 7F092BE4 D7A80098 */ ldc1 $f8, 0x98($sp) -/* 0C7718 7F092BE8 D7A60058 */ ldc1 $f6, 0x58($sp) -/* 0C771C 7F092BEC F7AA00B0 */ sdc1 $f10, 0xb0($sp) -/* 0C7720 7F092BF0 848C0002 */ lh $t4, 2($a0) -/* 0C7724 7F092BF4 448C5000 */ mtc1 $t4, $f10 -/* 0C7728 7F092BF8 00000000 */ nop -/* 0C772C 7F092BFC 468052A1 */ cvt.d.w $f10, $f10 -/* 0C7730 7F092C00 462A4200 */ add.d $f8, $f8, $f10 -/* 0C7734 7F092C04 46283281 */ sub.d $f10, $f6, $f8 -/* 0C7738 7F092C08 D7A600A0 */ ldc1 $f6, 0xa0($sp) -/* 0C773C 7F092C0C F7AA00B8 */ sdc1 $f10, 0xb8($sp) -/* 0C7740 7F092C10 848D0004 */ lh $t5, 4($a0) -/* 0C7744 7F092C14 448D4000 */ mtc1 $t5, $f8 -/* 0C7748 7F092C18 00000000 */ nop -/* 0C774C 7F092C1C 468042A1 */ cvt.d.w $f10, $f8 -/* 0C7750 7F092C20 462A3200 */ add.d $f8, $f6, $f10 -/* 0C7754 7F092C24 44805000 */ mtc1 $zero, $f10 -/* 0C7758 7F092C28 44805800 */ mtc1 $zero, $f11 -/* 0C775C 7F092C2C 46282181 */ sub.d $f6, $f4, $f8 -/* 0C7760 7F092C30 D7A400B0 */ ldc1 $f4, 0xb0($sp) -/* 0C7764 7F092C34 462AF032 */ c.eq.d $f30, $f10 -/* 0C7768 7F092C38 F7A600C0 */ sdc1 $f6, 0xc0($sp) -/* 0C776C 7F092C3C D7A600B8 */ ldc1 $f6, 0xb8($sp) -/* 0C7770 7F092C40 45030008 */ bc1tl .L7F092C64 -/* 0C7774 7F092C44 4632A301 */ sub.d $f12, $f20, $f18 -/* 0C7778 7F092C48 462E2202 */ mul.d $f8, $f4, $f14 -/* 0C777C 7F092C4C D7AC0140 */ ldc1 $f12, 0x140($sp) -/* 0C7780 7F092C50 46266282 */ mul.d $f10, $f12, $f6 -/* 0C7784 7F092C54 462A4101 */ sub.d $f4, $f8, $f10 -/* 0C7788 7F092C58 1000001C */ b .L7F092CCC -/* 0C778C 7F092C5C 463E2083 */ div.d $f2, $f4, $f30 -/* 0C7790 7F092C60 4632A301 */ sub.d $f12, $f20, $f18 -.L7F092C64: -/* 0C7794 7F092C64 44803800 */ mtc1 $zero, $f7 -/* 0C7798 7F092C68 44803000 */ mtc1 $zero, $f6 -/* 0C779C 7F092C6C D7A800B8 */ ldc1 $f8, 0xb8($sp) -/* 0C77A0 7F092C70 D7A400B0 */ ldc1 $f4, 0xb0($sp) -/* 0C77A4 7F092C74 46266032 */ c.eq.d $f12, $f6 -/* 0C77A8 7F092C78 D7A60150 */ ldc1 $f6, 0x150($sp) -/* 0C77AC 7F092C7C D7AA00C0 */ ldc1 $f10, 0xc0($sp) -/* 0C77B0 7F092C80 4501000B */ bc1t .L7F092CB0 -/* 0C77B4 7F092C84 00000000 */ nop -/* 0C77B8 7F092C88 D7AA0150 */ ldc1 $f10, 0x150($sp) -/* 0C77BC 7F092C8C D7AE0148 */ ldc1 $f14, 0x148($sp) -/* 0C77C0 7F092C90 D7A600C0 */ ldc1 $f6, 0xc0($sp) -/* 0C77C4 7F092C94 462A4102 */ mul.d $f4, $f8, $f10 -/* 0C77C8 7F092C98 00000000 */ nop -/* 0C77CC 7F092C9C 46267202 */ mul.d $f8, $f14, $f6 -/* 0C77D0 7F092CA0 46282281 */ sub.d $f10, $f4, $f8 -/* 0C77D4 7F092CA4 462C5083 */ div.d $f2, $f10, $f12 -/* 0C77D8 7F092CA8 10000008 */ b .L7F092CCC -/* 0C77DC 7F092CAC D7AC0140 */ ldc1 $f12, 0x140($sp) -.L7F092CB0: -/* 0C77E0 7F092CB0 46243202 */ mul.d $f8, $f6, $f4 -/* 0C77E4 7F092CB4 D7AC0140 */ ldc1 $f12, 0x140($sp) -/* 0C77E8 7F092CB8 4636C001 */ sub.d $f0, $f24, $f22 -/* 0C77EC 7F092CBC D7AE0148 */ ldc1 $f14, 0x148($sp) -/* 0C77F0 7F092CC0 462C5182 */ mul.d $f6, $f10, $f12 -/* 0C77F4 7F092CC4 46283101 */ sub.d $f4, $f6, $f8 -/* 0C77F8 7F092CC8 46202083 */ div.d $f2, $f4, $f0 -.L7F092CCC: -/* 0C77FC 7F092CCC 462C8032 */ c.eq.d $f16, $f12 -/* 0C7800 7F092CD0 D7A60110 */ ldc1 $f6, 0x110($sp) -/* 0C7804 7F092CD4 45030007 */ bc1tl .L7F092CF4 -/* 0C7808 7F092CD8 462E8032 */ c.eq.d $f16, $f14 -/* 0C780C 7F092CDC 46261202 */ mul.d $f8, $f2, $f6 -/* 0C7810 7F092CE0 D7AA00B0 */ ldc1 $f10, 0xb0($sp) -/* 0C7814 7F092CE4 46285101 */ sub.d $f4, $f10, $f8 -/* 0C7818 7F092CE8 10000010 */ b .L7F092D2C -/* 0C781C 7F092CEC 462C2003 */ div.d $f0, $f4, $f12 -/* 0C7820 7F092CF0 462E8032 */ c.eq.d $f16, $f14 -.L7F092CF4: -/* 0C7824 7F092CF4 D7AA0118 */ ldc1 $f10, 0x118($sp) -/* 0C7828 7F092CF8 D7A60120 */ ldc1 $f6, 0x120($sp) -/* 0C782C 7F092CFC 45010006 */ bc1t .L7F092D18 -/* 0C7830 7F092D00 00000000 */ nop -/* 0C7834 7F092D04 462A1202 */ mul.d $f8, $f2, $f10 -/* 0C7838 7F092D08 D7A600B8 */ ldc1 $f6, 0xb8($sp) -/* 0C783C 7F092D0C 46283101 */ sub.d $f4, $f6, $f8 -/* 0C7840 7F092D10 10000006 */ b .L7F092D2C -/* 0C7844 7F092D14 462E2003 */ div.d $f0, $f4, $f14 -.L7F092D18: -/* 0C7848 7F092D18 46261202 */ mul.d $f8, $f2, $f6 -/* 0C784C 7F092D1C D7AA00C0 */ ldc1 $f10, 0xc0($sp) -/* 0C7850 7F092D20 D7A60150 */ ldc1 $f6, 0x150($sp) -/* 0C7854 7F092D24 46285101 */ sub.d $f4, $f10, $f8 -/* 0C7858 7F092D28 46262003 */ div.d $f0, $f4, $f6 -.L7F092D2C: -/* 0C785C 7F092D2C 4620803E */ c.le.d $f16, $f0 -/* 0C7860 7F092D30 00000000 */ nop -/* 0C7864 7F092D34 4500003D */ bc1f .L7F092E2C -/* 0C7868 7F092D38 00000000 */ nop -/* 0C786C 7F092D3C 4622803E */ c.le.d $f16, $f2 -/* 0C7870 7F092D40 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0C7874 7F092D44 45000039 */ bc1f .L7F092E2C -/* 0C7878 7F092D48 00000000 */ nop -/* 0C787C 7F092D4C 46220200 */ add.d $f8, $f0, $f2 -/* 0C7880 7F092D50 44815800 */ mtc1 $at, $f11 -/* 0C7884 7F092D54 44805000 */ mtc1 $zero, $f10 -/* 0C7888 7F092D58 00000000 */ nop -/* 0C788C 7F092D5C 462A403E */ c.le.d $f8, $f10 -/* 0C7890 7F092D60 00000000 */ nop -/* 0C7894 7F092D64 45000031 */ bc1f .L7F092E2C -/* 0C7898 7F092D68 00000000 */ nop -/* 0C789C 7F092D6C 8FA20168 */ lw $v0, 0x168($sp) -/* 0C78A0 7F092D70 D7A400C8 */ ldc1 $f4, 0xc8($sp) -/* 0C78A4 7F092D74 C4460000 */ lwc1 $f6, ($v0) -/* 0C78A8 7F092D78 460032A1 */ cvt.d.s $f10, $f6 -/* 0C78AC 7F092D7C D7A60078 */ ldc1 $f6, 0x78($sp) -/* 0C78B0 7F092D80 462A2201 */ sub.d $f8, $f4, $f10 -/* 0C78B4 7F092D84 46283282 */ mul.d $f10, $f6, $f8 -/* 0C78B8 7F092D88 C4480004 */ lwc1 $f8, 4($v0) -/* 0C78BC 7F092D8C D7A600D0 */ ldc1 $f6, 0xd0($sp) -/* 0C78C0 7F092D90 46004221 */ cvt.d.s $f8, $f8 -/* 0C78C4 7F092D94 46283181 */ sub.d $f6, $f6, $f8 -/* 0C78C8 7F092D98 D7A80080 */ ldc1 $f8, 0x80($sp) -/* 0C78CC 7F092D9C 46264202 */ mul.d $f8, $f8, $f6 -/* 0C78D0 7F092DA0 46285180 */ add.d $f6, $f10, $f8 -/* 0C78D4 7F092DA4 C4480008 */ lwc1 $f8, 8($v0) -/* 0C78D8 7F092DA8 D7AA00D8 */ ldc1 $f10, 0xd8($sp) -/* 0C78DC 7F092DAC 46004221 */ cvt.d.s $f8, $f8 -/* 0C78E0 7F092DB0 46285281 */ sub.d $f10, $f10, $f8 -/* 0C78E4 7F092DB4 D7A80088 */ ldc1 $f8, 0x88($sp) -/* 0C78E8 7F092DB8 46285282 */ mul.d $f10, $f10, $f8 -/* 0C78EC 7F092DBC 46265200 */ add.d $f8, $f10, $f6 -/* 0C78F0 7F092DC0 4628803E */ c.le.d $f16, $f8 -/* 0C78F4 7F092DC4 00000000 */ nop -/* 0C78F8 7F092DC8 45000016 */ bc1f .L7F092E24 -/* 0C78FC 7F092DCC 00000000 */ nop -/* 0C7900 7F092DD0 462022A0 */ cvt.s.d $f10, $f4 -/* 0C7904 7F092DD4 8FA30174 */ lw $v1, 0x174($sp) -/* 0C7908 7F092DD8 24020001 */ li $v0, 1 -/* 0C790C 7F092DDC E46A0000 */ swc1 $f10, ($v1) -/* 0C7910 7F092DE0 D7A600D0 */ ldc1 $f6, 0xd0($sp) -/* 0C7914 7F092DE4 46203220 */ cvt.s.d $f8, $f6 -/* 0C7918 7F092DE8 E4680004 */ swc1 $f8, 4($v1) -/* 0C791C 7F092DEC D7A400D8 */ ldc1 $f4, 0xd8($sp) -/* 0C7920 7F092DF0 462022A0 */ cvt.s.d $f10, $f4 -/* 0C7924 7F092DF4 E46A0008 */ swc1 $f10, 8($v1) -/* 0C7928 7F092DF8 D7A60108 */ ldc1 $f6, 0x108($sp) -/* 0C792C 7F092DFC 46203220 */ cvt.s.d $f8, $f6 -/* 0C7930 7F092E00 E468000C */ swc1 $f8, 0xc($v1) -/* 0C7934 7F092E04 D7A40100 */ ldc1 $f4, 0x100($sp) -/* 0C7938 7F092E08 462022A0 */ cvt.s.d $f10, $f4 -/* 0C793C 7F092E0C E46A0010 */ swc1 $f10, 0x10($v1) -/* 0C7940 7F092E10 D7A600F8 */ ldc1 $f6, 0xf8($sp) -/* 0C7944 7F092E14 A460002A */ sh $zero, 0x2a($v1) -/* 0C7948 7F092E18 46203220 */ cvt.s.d $f8, $f6 -/* 0C794C 7F092E1C 10000003 */ b .L7F092E2C -/* 0C7950 7F092E20 E4680014 */ swc1 $f8, 0x14($v1) -.L7F092E24: -/* 0C7954 7F092E24 10000001 */ b .L7F092E2C -/* 0C7958 7F092E28 00001025 */ move $v0, $zero -.L7F092E2C: -/* 0C795C 7F092E2C D7B40008 */ ldc1 $f20, 8($sp) -/* 0C7960 7F092E30 D7B60010 */ ldc1 $f22, 0x10($sp) -/* 0C7964 7F092E34 D7B80018 */ ldc1 $f24, 0x18($sp) -/* 0C7968 7F092E38 D7BA0020 */ ldc1 $f26, 0x20($sp) -/* 0C796C 7F092E3C D7BC0028 */ ldc1 $f28, 0x28($sp) -/* 0C7970 7F092E40 D7BE0030 */ ldc1 $f30, 0x30($sp) -/* 0C7974 7F092E44 03E00008 */ jr $ra -/* 0C7978 7F092E48 27BD0158 */ addiu $sp, $sp, 0x158 -) -#endif - - diff --git a/src/game/unk_092E50.c b/src/game/unk_092E50.c deleted file mode 100644 index 21c87a9..0000000 --- a/src/game/unk_092E50.c +++ /dev/null @@ -1,808 +0,0 @@ -#include "ultra64.h" -#include "game/unk_092E50.h" -// bss -//CODE.bss:80079E80 -f32 flt_CODE_bss_80079E80; -//CODE.bss:80079E84 -f32 flt_CODE_bss_80079E84; -//CODE.bss:80079E88 -f32 flt_CODE_bss_80079E88; - - -// data -//Gfx MipMap2C_Something_Setup[]={}; -//D:8003FCC0 -u64 MipMap2C_Something_Setup[] = { - 0xF580080000018060,0xF580080001018060,0xF200200200000000,0xF200200201000000, - 0xFA00000FFFFFFFFF,0xBA00110200000000,0xBA000C0200002000,0xFC272C041F1093FF, - 0xB900031D0C192078,0xBA00100100000000,0xBA00140200100000,0xB700000000002000, - 0xB800000000000000 -}; - -//Gfx MipMap2C_Something2_Setup[]={}; -//D:8003FD28 -u64 MipMap2C_Something2_Setup[] = { - 0xF548040000014050,0xF548040001014050,0xF200200200000000,0xF200200201000000, - 0xFA00000FFFFFFFFF,0xBA00110200000000,0xBA000C0200002000,0xFC272C041F1093FF, - 0xB900031D0C192078,0xBA00100100000000,0xBA00140200100000,0xB700000000002000, - 0xB800000000000000 -}; - -//End Dl means this gfx list cannot go any further. perhaps below is a vtx array? - -u32 D_8003FD90 = 0; -f32 D_8003FD94[] = {0, 0, 0}; -u32 D_8003FDA0 = 0; -u32 D_8003FDA4 = 0xFFFFFFFF; -//D:D_8003FDA8 -u64 D_8003FDA8[] = { - 0x100, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0x3F800000, 0, - 0,0x3F80000000000000, 0, 0x3F800000, - 0, 0,0x3F80000000000000, 0, - 0, 0xBF800000, 0x3F800000, 0, - 0, 0,0xC19FFFFE00000000,0x419FFFFE00000000, - 0, 0, 0, 0, - 0, 0, 0,0xBF80000000000000, - 0xBF800000, 0,0xBF80000000000000, 0xBF800000, - 0x3F800000, 0,0x3F80000000000000, 0x3F800000, - 0,0x3F80000000000000, 0,0x3F8000003F800000, - 0, 0, 0, 0, - 0,0x447A000000000000, 0, 0xFF000000, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0 -}; - -// rodata - - - -#ifdef NONMATCHING -void sub_GAME_7F092E50(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057510 -.word 0x3dcccccd /*0.1*/ -glabel D_80057514 -.word 0x40c90fd0 /*6.2831802*/ -glabel D_80057518 -.word 0x3d23d70a /*0.039999999*/ -.text -glabel sub_GAME_7F092E50 -/* 0C7980 7F092E50 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 0C7984 7F092E54 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 0C7988 7F092E58 3C014380 */ li $at, 0x43800000 # 256.000000 -/* 0C798C 7F092E5C 44810000 */ mtc1 $at, $f0 -/* 0C7990 7F092E60 448E2000 */ mtc1 $t6, $f4 -/* 0C7994 7F092E64 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0C7998 7F092E68 44814000 */ mtc1 $at, $f8 -/* 0C799C 7F092E6C 46802420 */ cvt.s.w $f16, $f4 -/* 0C79A0 7F092E70 3C088008 */ lui $t0, %hi(flt_CODE_bss_80079E80) -/* 0C79A4 7F092E74 25089E80 */ addiu $t0, %lo(flt_CODE_bss_80079E80) # addiu $t0, $t0, -0x6180 -/* 0C79A8 7F092E78 C5060000 */ lwc1 $f6, ($t0) -/* 0C79AC 7F092E7C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C79B0 7F092E80 44809000 */ mtc1 $zero, $f18 -/* 0C79B4 7F092E84 46088282 */ mul.s $f10, $f16, $f8 -/* 0C79B8 7F092E88 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C79BC 7F092E8C 3C018005 */ lui $at, %hi(D_80057510) -/* 0C79C0 7F092E90 24180001 */ li $t8, 1 -/* 0C79C4 7F092E94 460A3100 */ add.s $f4, $f6, $f10 -/* 0C79C8 7F092E98 E5040000 */ swc1 $f4, ($t0) -/* 0C79CC 7F092E9C C50E0000 */ lwc1 $f14, ($t0) -/* 0C79D0 7F092EA0 460E003E */ c.le.s $f0, $f14 -/* 0C79D4 7F092EA4 00000000 */ nop -/* 0C79D8 7F092EA8 45020005 */ bc1fl .L7F092EC0 -/* 0C79DC 7F092EAC 4612703C */ c.lt.s $f14, $f18 -/* 0C79E0 7F092EB0 46007201 */ sub.s $f8, $f14, $f0 -/* 0C79E4 7F092EB4 E5080000 */ swc1 $f8, ($t0) -/* 0C79E8 7F092EB8 C50E0000 */ lwc1 $f14, ($t0) -/* 0C79EC 7F092EBC 4612703C */ c.lt.s $f14, $f18 -.L7F092EC0: -/* 0C79F0 7F092EC0 00000000 */ nop -/* 0C79F4 7F092EC4 45000004 */ bc1f .L7F092ED8 -/* 0C79F8 7F092EC8 00000000 */ nop -/* 0C79FC 7F092ECC 46007180 */ add.s $f6, $f14, $f0 -/* 0C7A00 7F092ED0 E5060000 */ swc1 $f6, ($t0) -/* 0C7A04 7F092ED4 C50E0000 */ lwc1 $f14, ($t0) -.L7F092ED8: -/* 0C7A08 7F092ED8 C4247510 */ lwc1 $f4, %lo(D_80057510)($at) -/* 0C7A0C 7F092EDC 3C078008 */ lui $a3, %hi(flt_CODE_bss_80079E84) -/* 0C7A10 7F092EE0 24E79E84 */ addiu $a3, %lo(flt_CODE_bss_80079E84) # addiu $a3, $a3, -0x617c -/* 0C7A14 7F092EE4 46048202 */ mul.s $f8, $f16, $f4 -/* 0C7A18 7F092EE8 C4EA0000 */ lwc1 $f10, ($a3) -/* 0C7A1C 7F092EEC 3C018005 */ lui $at, %hi(D_80057514) -/* 0C7A20 7F092EF0 46085180 */ add.s $f6, $f10, $f8 -/* 0C7A24 7F092EF4 E4E60000 */ swc1 $f6, ($a3) -/* 0C7A28 7F092EF8 C4E20000 */ lwc1 $f2, ($a3) -/* 0C7A2C 7F092EFC 4602003E */ c.le.s $f0, $f2 -/* 0C7A30 7F092F00 00000000 */ nop -/* 0C7A34 7F092F04 45020005 */ bc1fl .L7F092F1C -/* 0C7A38 7F092F08 4612103C */ c.lt.s $f2, $f18 -/* 0C7A3C 7F092F0C 46001101 */ sub.s $f4, $f2, $f0 -/* 0C7A40 7F092F10 E4E40000 */ swc1 $f4, ($a3) -/* 0C7A44 7F092F14 C4E20000 */ lwc1 $f2, ($a3) -/* 0C7A48 7F092F18 4612103C */ c.lt.s $f2, $f18 -.L7F092F1C: -/* 0C7A4C 7F092F1C 00000000 */ nop -/* 0C7A50 7F092F20 45000004 */ bc1f .L7F092F34 -/* 0C7A54 7F092F24 00000000 */ nop -/* 0C7A58 7F092F28 46001280 */ add.s $f10, $f2, $f0 -/* 0C7A5C 7F092F2C E4EA0000 */ swc1 $f10, ($a3) -/* 0C7A60 7F092F30 C4E20000 */ lwc1 $f2, ($a3) -.L7F092F34: -/* 0C7A64 7F092F34 C4207514 */ lwc1 $f0, %lo(D_80057514)($at) -/* 0C7A68 7F092F38 3C018005 */ lui $at, %hi(D_80057518) -/* 0C7A6C 7F092F3C C4267518 */ lwc1 $f6, %lo(D_80057518)($at) -/* 0C7A70 7F092F40 3C068008 */ lui $a2, %hi(flt_CODE_bss_80079E88) -/* 0C7A74 7F092F44 24C69E88 */ addiu $a2, %lo(flt_CODE_bss_80079E88) # addiu $a2, $a2, -0x6178 -/* 0C7A78 7F092F48 46068102 */ mul.s $f4, $f16, $f6 -/* 0C7A7C 7F092F4C C4C80000 */ lwc1 $f8, ($a2) -/* 0C7A80 7F092F50 46044280 */ add.s $f10, $f8, $f4 -/* 0C7A84 7F092F54 E4CA0000 */ swc1 $f10, ($a2) -/* 0C7A88 7F092F58 C4CC0000 */ lwc1 $f12, ($a2) -/* 0C7A8C 7F092F5C 460C003E */ c.le.s $f0, $f12 -/* 0C7A90 7F092F60 00000000 */ nop -/* 0C7A94 7F092F64 45020005 */ bc1fl .L7F092F7C -/* 0C7A98 7F092F68 4612603C */ c.lt.s $f12, $f18 -/* 0C7A9C 7F092F6C 46006181 */ sub.s $f6, $f12, $f0 -/* 0C7AA0 7F092F70 E4C60000 */ swc1 $f6, ($a2) -/* 0C7AA4 7F092F74 C4CC0000 */ lwc1 $f12, ($a2) -/* 0C7AA8 7F092F78 4612603C */ c.lt.s $f12, $f18 -.L7F092F7C: -/* 0C7AAC 7F092F7C 00000000 */ nop -/* 0C7AB0 7F092F80 45020005 */ bc1fl .L7F092F98 -/* 0C7AB4 7F092F84 444FF800 */ cfc1 $t7, $31 -/* 0C7AB8 7F092F88 46006200 */ add.s $f8, $f12, $f0 -/* 0C7ABC 7F092F8C E4C80000 */ swc1 $f8, ($a2) -/* 0C7AC0 7F092F90 C4CC0000 */ lwc1 $f12, ($a2) -/* 0C7AC4 7F092F94 444FF800 */ cfc1 $t7, $31 -.L7F092F98: -/* 0C7AC8 7F092F98 44D8F800 */ ctc1 $t8, $31 -/* 0C7ACC 7F092F9C 3C028004 */ lui $v0, %hi(MipMap2C_Something_Setup) -/* 0C7AD0 7F092FA0 2442FCC0 */ addiu $v0, %lo(MipMap2C_Something_Setup) # addiu $v0, $v0, -0x340 -/* 0C7AD4 7F092FA4 46007124 */ cvt.w.s $f4, $f14 -/* 0C7AD8 7F092FA8 8C430010 */ lw $v1, 0x10($v0) -/* 0C7ADC 7F092FAC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C7AE0 7F092FB0 4458F800 */ cfc1 $t8, $31 -/* 0C7AE4 7F092FB4 00000000 */ nop -/* 0C7AE8 7F092FB8 33180078 */ andi $t8, $t8, 0x78 -/* 0C7AEC 7F092FBC 53000013 */ beql $t8, $zero, .L7F09300C -/* 0C7AF0 7F092FC0 44182000 */ mfc1 $t8, $f4 -/* 0C7AF4 7F092FC4 44812000 */ mtc1 $at, $f4 -/* 0C7AF8 7F092FC8 24180001 */ li $t8, 1 -/* 0C7AFC 7F092FCC 46047101 */ sub.s $f4, $f14, $f4 -/* 0C7B00 7F092FD0 44D8F800 */ ctc1 $t8, $31 -/* 0C7B04 7F092FD4 00000000 */ nop -/* 0C7B08 7F092FD8 46002124 */ cvt.w.s $f4, $f4 -/* 0C7B0C 7F092FDC 4458F800 */ cfc1 $t8, $31 -/* 0C7B10 7F092FE0 00000000 */ nop -/* 0C7B14 7F092FE4 33180078 */ andi $t8, $t8, 0x78 -/* 0C7B18 7F092FE8 17000005 */ bnez $t8, .L7F093000 -/* 0C7B1C 7F092FEC 00000000 */ nop -/* 0C7B20 7F092FF0 44182000 */ mfc1 $t8, $f4 -/* 0C7B24 7F092FF4 3C018000 */ lui $at, 0x8000 -/* 0C7B28 7F092FF8 10000007 */ b .L7F093018 -/* 0C7B2C 7F092FFC 0301C025 */ or $t8, $t8, $at -.L7F093000: -/* 0C7B30 7F093000 10000005 */ b .L7F093018 -/* 0C7B34 7F093004 2418FFFF */ li $t8, -1 -/* 0C7B38 7F093008 44182000 */ mfc1 $t8, $f4 -.L7F09300C: -/* 0C7B3C 7F09300C 00000000 */ nop -/* 0C7B40 7F093010 0700FFFB */ bltz $t8, .L7F093000 -/* 0C7B44 7F093014 00000000 */ nop -.L7F093018: -/* 0C7B48 7F093018 44CFF800 */ ctc1 $t7, $31 -/* 0C7B4C 7F09301C 240F0001 */ li $t7, 1 -/* 0C7B50 7F093020 00034B02 */ srl $t1, $v1, 0xc -/* 0C7B54 7F093024 03095026 */ xor $t2, $t8, $t1 -/* 0C7B58 7F093028 444EF800 */ cfc1 $t6, $31 -/* 0C7B5C 7F09302C 44CFF800 */ ctc1 $t7, $31 -/* 0C7B60 7F093030 000A5D00 */ sll $t3, $t2, 0x14 -/* 0C7B64 7F093034 000B6202 */ srl $t4, $t3, 8 -/* 0C7B68 7F093038 460012A4 */ cvt.w.s $f10, $f2 -/* 0C7B6C 7F09303C 01836826 */ xor $t5, $t4, $v1 -/* 0C7B70 7F093040 AC4D0010 */ sw $t5, 0x10($v0) -/* 0C7B74 7F093044 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C7B78 7F093048 444FF800 */ cfc1 $t7, $31 -/* 0C7B7C 7F09304C 00000000 */ nop -/* 0C7B80 7F093050 31EF0078 */ andi $t7, $t7, 0x78 -/* 0C7B84 7F093054 51E00013 */ beql $t7, $zero, .L7F0930A4 -/* 0C7B88 7F093058 440F5000 */ mfc1 $t7, $f10 -/* 0C7B8C 7F09305C 44815000 */ mtc1 $at, $f10 -/* 0C7B90 7F093060 240F0001 */ li $t7, 1 -/* 0C7B94 7F093064 460A1281 */ sub.s $f10, $f2, $f10 -/* 0C7B98 7F093068 44CFF800 */ ctc1 $t7, $31 -/* 0C7B9C 7F09306C 00000000 */ nop -/* 0C7BA0 7F093070 460052A4 */ cvt.w.s $f10, $f10 -/* 0C7BA4 7F093074 444FF800 */ cfc1 $t7, $31 -/* 0C7BA8 7F093078 00000000 */ nop -/* 0C7BAC 7F09307C 31EF0078 */ andi $t7, $t7, 0x78 -/* 0C7BB0 7F093080 15E00005 */ bnez $t7, .L7F093098 -/* 0C7BB4 7F093084 00000000 */ nop -/* 0C7BB8 7F093088 440F5000 */ mfc1 $t7, $f10 -/* 0C7BBC 7F09308C 3C018000 */ lui $at, 0x8000 -/* 0C7BC0 7F093090 10000007 */ b .L7F0930B0 -/* 0C7BC4 7F093094 01E17825 */ or $t7, $t7, $at -.L7F093098: -/* 0C7BC8 7F093098 10000005 */ b .L7F0930B0 -/* 0C7BCC 7F09309C 240FFFFF */ li $t7, -1 -/* 0C7BD0 7F0930A0 440F5000 */ mfc1 $t7, $f10 -.L7F0930A4: -/* 0C7BD4 7F0930A4 00000000 */ nop -/* 0C7BD8 7F0930A8 05E0FFFB */ bltz $t7, .L7F093098 -/* 0C7BDC 7F0930AC 00000000 */ nop -.L7F0930B0: -/* 0C7BE0 7F0930B0 44CEF800 */ ctc1 $t6, $31 -/* 0C7BE4 7F0930B4 94490012 */ lhu $t1, 0x12($v0) -/* 0C7BE8 7F0930B8 8C440018 */ lw $a0, 0x18($v0) -/* 0C7BEC 7F0930BC 4600718D */ trunc.w.s $f6, $f14 -/* 0C7BF0 7F0930C0 31F90FFF */ andi $t9, $t7, 0xfff -/* 0C7BF4 7F0930C4 312AF000 */ andi $t2, $t1, 0xf000 -/* 0C7BF8 7F0930C8 032A5825 */ or $t3, $t9, $t2 -/* 0C7BFC 7F0930CC 440D3000 */ mfc1 $t5, $f6 -/* 0C7C00 7F0930D0 00044B02 */ srl $t1, $a0, 0xc -/* 0C7C04 7F0930D4 4600120D */ trunc.w.s $f8, $f2 -/* 0C7C08 7F0930D8 25AE005A */ addiu $t6, $t5, 0x5a -/* 0C7C0C 7F0930DC 31D800FF */ andi $t8, $t6, 0xff -/* 0C7C10 7F0930E0 0309C826 */ xor $t9, $t8, $t1 -/* 0C7C14 7F0930E4 A44B0012 */ sh $t3, 0x12($v0) -/* 0C7C18 7F0930E8 00195500 */ sll $t2, $t9, 0x14 -/* 0C7C1C 7F0930EC 000A5A02 */ srl $t3, $t2, 8 -/* 0C7C20 7F0930F0 01646026 */ xor $t4, $t3, $a0 -/* 0C7C24 7F0930F4 440E4000 */ mfc1 $t6, $f8 -/* 0C7C28 7F0930F8 AC4C0018 */ sw $t4, 0x18($v0) -/* 0C7C2C 7F0930FC 944A001A */ lhu $t2, 0x1a($v0) -/* 0C7C30 7F093100 25C90096 */ addiu $t1, $t6, 0x96 -/* 0C7C34 7F093104 313900FF */ andi $t9, $t1, 0xff -/* 0C7C38 7F093108 314BF000 */ andi $t3, $t2, 0xf000 -/* 0C7C3C 7F09310C 032B6025 */ or $t4, $t9, $t3 -/* 0C7C40 7F093110 0FC15FAB */ jal sinf -/* 0C7C44 7F093114 A44C001A */ sh $t4, 0x1a($v0) -/* 0C7C48 7F093118 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C7C4C 7F09311C 44812000 */ mtc1 $at, $f4 -/* 0C7C50 7F093120 3C014300 */ li $at, 0x43000000 # 128.000000 -/* 0C7C54 7F093124 44813000 */ mtc1 $at, $f6 -/* 0C7C58 7F093128 46040282 */ mul.s $f10, $f0, $f4 -/* 0C7C5C 7F09312C 240E0001 */ li $t6, 1 -/* 0C7C60 7F093130 3C028004 */ lui $v0, %hi(MipMap2C_Something_Setup) -/* 0C7C64 7F093134 3C038004 */ lui $v1, %hi(MipMap2C_Something2_Setup) -/* 0C7C68 7F093138 3C068008 */ lui $a2, %hi(flt_CODE_bss_80079E88) -/* 0C7C6C 7F09313C 3C078008 */ lui $a3, %hi(flt_CODE_bss_80079E84) -/* 0C7C70 7F093140 3C088008 */ lui $t0, %hi(flt_CODE_bss_80079E80) -/* 0C7C74 7F093144 46065200 */ add.s $f8, $f10, $f6 -/* 0C7C78 7F093148 25089E80 */ addiu $t0, %lo(flt_CODE_bss_80079E80) # addiu $t0, $t0, -0x6180 -/* 0C7C7C 7F09314C 24E79E84 */ addiu $a3, %lo(flt_CODE_bss_80079E84) # addiu $a3, $a3, -0x617c -/* 0C7C80 7F093150 24C69E88 */ addiu $a2, %lo(flt_CODE_bss_80079E88) # addiu $a2, $a2, -0x6178 -/* 0C7C84 7F093154 444DF800 */ cfc1 $t5, $31 -/* 0C7C88 7F093158 44CEF800 */ ctc1 $t6, $31 -/* 0C7C8C 7F09315C 2463FD28 */ addiu $v1, %lo(MipMap2C_Something2_Setup) # addiu $v1, $v1, -0x2d8 -/* 0C7C90 7F093160 2442FCC0 */ addiu $v0, %lo(MipMap2C_Something_Setup) # addiu $v0, $v0, -0x340 -/* 0C7C94 7F093164 46004124 */ cvt.w.s $f4, $f8 -/* 0C7C98 7F093168 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C7C9C 7F09316C 444EF800 */ cfc1 $t6, $31 -/* 0C7CA0 7F093170 00000000 */ nop -/* 0C7CA4 7F093174 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C7CA8 7F093178 51C00013 */ beql $t6, $zero, .L7F0931C8 -/* 0C7CAC 7F09317C 440E2000 */ mfc1 $t6, $f4 -/* 0C7CB0 7F093180 44812000 */ mtc1 $at, $f4 -/* 0C7CB4 7F093184 240E0001 */ li $t6, 1 -/* 0C7CB8 7F093188 46044101 */ sub.s $f4, $f8, $f4 -/* 0C7CBC 7F09318C 44CEF800 */ ctc1 $t6, $31 -/* 0C7CC0 7F093190 00000000 */ nop -/* 0C7CC4 7F093194 46002124 */ cvt.w.s $f4, $f4 -/* 0C7CC8 7F093198 444EF800 */ cfc1 $t6, $31 -/* 0C7CCC 7F09319C 00000000 */ nop -/* 0C7CD0 7F0931A0 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C7CD4 7F0931A4 15C00005 */ bnez $t6, .L7F0931BC -/* 0C7CD8 7F0931A8 00000000 */ nop -/* 0C7CDC 7F0931AC 440E2000 */ mfc1 $t6, $f4 -/* 0C7CE0 7F0931B0 3C018000 */ lui $at, 0x8000 -/* 0C7CE4 7F0931B4 10000007 */ b .L7F0931D4 -/* 0C7CE8 7F0931B8 01C17025 */ or $t6, $t6, $at -.L7F0931BC: -/* 0C7CEC 7F0931BC 10000005 */ b .L7F0931D4 -/* 0C7CF0 7F0931C0 240EFFFF */ li $t6, -1 -/* 0C7CF4 7F0931C4 440E2000 */ mfc1 $t6, $f4 -.L7F0931C8: -/* 0C7CF8 7F0931C8 00000000 */ nop -/* 0C7CFC 7F0931CC 05C0FFFB */ bltz $t6, .L7F0931BC -/* 0C7D00 7F0931D0 00000000 */ nop -.L7F0931D4: -/* 0C7D04 7F0931D4 44CDF800 */ ctc1 $t5, $31 -/* 0C7D08 7F0931D8 24190001 */ li $t9, 1 -/* 0C7D0C 7F0931DC C50E0000 */ lwc1 $f14, ($t0) -/* 0C7D10 7F0931E0 8C4F0020 */ lw $t7, 0x20($v0) -/* 0C7D14 7F0931E4 444AF800 */ cfc1 $t2, $31 -/* 0C7D18 7F0931E8 44D9F800 */ ctc1 $t9, $31 -/* 0C7D1C 7F0931EC 2401FF00 */ li $at, -256 -/* 0C7D20 7F0931F0 01E1C024 */ and $t8, $t7, $at -/* 0C7D24 7F0931F4 460072A4 */ cvt.w.s $f10, $f14 -/* 0C7D28 7F0931F8 01D84825 */ or $t1, $t6, $t8 -/* 0C7D2C 7F0931FC AC490020 */ sw $t1, 0x20($v0) -/* 0C7D30 7F093200 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C7D34 7F093204 4459F800 */ cfc1 $t9, $31 -/* 0C7D38 7F093208 8C640010 */ lw $a0, 0x10($v1) -/* 0C7D3C 7F09320C 33390078 */ andi $t9, $t9, 0x78 -/* 0C7D40 7F093210 53200013 */ beql $t9, $zero, .L7F093260 -/* 0C7D44 7F093214 44195000 */ mfc1 $t9, $f10 -/* 0C7D48 7F093218 44815000 */ mtc1 $at, $f10 -/* 0C7D4C 7F09321C 24190001 */ li $t9, 1 -/* 0C7D50 7F093220 460A7281 */ sub.s $f10, $f14, $f10 -/* 0C7D54 7F093224 44D9F800 */ ctc1 $t9, $31 -/* 0C7D58 7F093228 00000000 */ nop -/* 0C7D5C 7F09322C 460052A4 */ cvt.w.s $f10, $f10 -/* 0C7D60 7F093230 4459F800 */ cfc1 $t9, $31 -/* 0C7D64 7F093234 00000000 */ nop -/* 0C7D68 7F093238 33390078 */ andi $t9, $t9, 0x78 -/* 0C7D6C 7F09323C 17200005 */ bnez $t9, .L7F093254 -/* 0C7D70 7F093240 00000000 */ nop -/* 0C7D74 7F093244 44195000 */ mfc1 $t9, $f10 -/* 0C7D78 7F093248 3C018000 */ lui $at, 0x8000 -/* 0C7D7C 7F09324C 10000007 */ b .L7F09326C -/* 0C7D80 7F093250 0321C825 */ or $t9, $t9, $at -.L7F093254: -/* 0C7D84 7F093254 10000005 */ b .L7F09326C -/* 0C7D88 7F093258 2419FFFF */ li $t9, -1 -/* 0C7D8C 7F09325C 44195000 */ mfc1 $t9, $f10 -.L7F093260: -/* 0C7D90 7F093260 00000000 */ nop -/* 0C7D94 7F093264 0720FFFB */ bltz $t9, .L7F093254 -/* 0C7D98 7F093268 00000000 */ nop -.L7F09326C: -/* 0C7D9C 7F09326C 44CAF800 */ ctc1 $t2, $31 -/* 0C7DA0 7F093270 240A0001 */ li $t2, 1 -/* 0C7DA4 7F093274 C4E20000 */ lwc1 $f2, ($a3) -/* 0C7DA8 7F093278 00046302 */ srl $t4, $a0, 0xc -/* 0C7DAC 7F09327C 4449F800 */ cfc1 $t1, $31 -/* 0C7DB0 7F093280 44CAF800 */ ctc1 $t2, $31 -/* 0C7DB4 7F093284 032C6826 */ xor $t5, $t9, $t4 -/* 0C7DB8 7F093288 000D7D00 */ sll $t7, $t5, 0x14 -/* 0C7DBC 7F09328C 460011A4 */ cvt.w.s $f6, $f2 -/* 0C7DC0 7F093290 000F7202 */ srl $t6, $t7, 8 -/* 0C7DC4 7F093294 01C4C026 */ xor $t8, $t6, $a0 -/* 0C7DC8 7F093298 AC780010 */ sw $t8, 0x10($v1) -/* 0C7DCC 7F09329C 444AF800 */ cfc1 $t2, $31 -/* 0C7DD0 7F0932A0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C7DD4 7F0932A4 314A0078 */ andi $t2, $t2, 0x78 -/* 0C7DD8 7F0932A8 51400013 */ beql $t2, $zero, .L7F0932F8 -/* 0C7DDC 7F0932AC 440A3000 */ mfc1 $t2, $f6 -/* 0C7DE0 7F0932B0 44813000 */ mtc1 $at, $f6 -/* 0C7DE4 7F0932B4 240A0001 */ li $t2, 1 -/* 0C7DE8 7F0932B8 46061181 */ sub.s $f6, $f2, $f6 -/* 0C7DEC 7F0932BC 44CAF800 */ ctc1 $t2, $31 -/* 0C7DF0 7F0932C0 00000000 */ nop -/* 0C7DF4 7F0932C4 460031A4 */ cvt.w.s $f6, $f6 -/* 0C7DF8 7F0932C8 444AF800 */ cfc1 $t2, $31 -/* 0C7DFC 7F0932CC 00000000 */ nop -/* 0C7E00 7F0932D0 314A0078 */ andi $t2, $t2, 0x78 -/* 0C7E04 7F0932D4 15400005 */ bnez $t2, .L7F0932EC -/* 0C7E08 7F0932D8 00000000 */ nop -/* 0C7E0C 7F0932DC 440A3000 */ mfc1 $t2, $f6 -/* 0C7E10 7F0932E0 3C018000 */ lui $at, 0x8000 -/* 0C7E14 7F0932E4 10000007 */ b .L7F093304 -/* 0C7E18 7F0932E8 01415025 */ or $t2, $t2, $at -.L7F0932EC: -/* 0C7E1C 7F0932EC 10000005 */ b .L7F093304 -/* 0C7E20 7F0932F0 240AFFFF */ li $t2, -1 -/* 0C7E24 7F0932F4 440A3000 */ mfc1 $t2, $f6 -.L7F0932F8: -/* 0C7E28 7F0932F8 00000000 */ nop -/* 0C7E2C 7F0932FC 0540FFFB */ bltz $t2, .L7F0932EC -/* 0C7E30 7F093300 00000000 */ nop -.L7F093304: -/* 0C7E34 7F093304 44C9F800 */ ctc1 $t1, $31 -/* 0C7E38 7F093308 946C0012 */ lhu $t4, 0x12($v1) -/* 0C7E3C 7F09330C 8C650018 */ lw $a1, 0x18($v1) -/* 0C7E40 7F093310 4600720D */ trunc.w.s $f8, $f14 -/* 0C7E44 7F093314 314B0FFF */ andi $t3, $t2, 0xfff -/* 0C7E48 7F093318 318DF000 */ andi $t5, $t4, 0xf000 -/* 0C7E4C 7F09331C 016D7825 */ or $t7, $t3, $t5 -/* 0C7E50 7F093320 44184000 */ mfc1 $t8, $f8 -/* 0C7E54 7F093324 00056302 */ srl $t4, $a1, 0xc -/* 0C7E58 7F093328 4600110D */ trunc.w.s $f4, $f2 -/* 0C7E5C 7F09332C 2709005A */ addiu $t1, $t8, 0x5a -/* 0C7E60 7F093330 313900FF */ andi $t9, $t1, 0xff -/* 0C7E64 7F093334 032C5826 */ xor $t3, $t9, $t4 -/* 0C7E68 7F093338 A46F0012 */ sh $t7, 0x12($v1) -/* 0C7E6C 7F09333C 000B6D00 */ sll $t5, $t3, 0x14 -/* 0C7E70 7F093340 000D7A02 */ srl $t7, $t5, 8 -/* 0C7E74 7F093344 01E57026 */ xor $t6, $t7, $a1 -/* 0C7E78 7F093348 44092000 */ mfc1 $t1, $f4 -/* 0C7E7C 7F09334C AC6E0018 */ sw $t6, 0x18($v1) -/* 0C7E80 7F093350 946D001A */ lhu $t5, 0x1a($v1) -/* 0C7E84 7F093354 252C0096 */ addiu $t4, $t1, 0x96 -/* 0C7E88 7F093358 318B00FF */ andi $t3, $t4, 0xff -/* 0C7E8C 7F09335C 31AFF000 */ andi $t7, $t5, 0xf000 -/* 0C7E90 7F093360 016F7025 */ or $t6, $t3, $t7 -/* 0C7E94 7F093364 A46E001A */ sh $t6, 0x1a($v1) -/* 0C7E98 7F093368 0FC15FAB */ jal sinf -/* 0C7E9C 7F09336C C4CC0000 */ lwc1 $f12, ($a2) -/* 0C7EA0 7F093370 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C7EA4 7F093374 44815000 */ mtc1 $at, $f10 -/* 0C7EA8 7F093378 3C014300 */ li $at, 0x43000000 # 128.000000 -/* 0C7EAC 7F09337C 44814000 */ mtc1 $at, $f8 -/* 0C7EB0 7F093380 460A0182 */ mul.s $f6, $f0, $f10 -/* 0C7EB4 7F093384 24090001 */ li $t1, 1 -/* 0C7EB8 7F093388 3C028004 */ lui $v0, %hi(MipMap2C_Something_Setup) -/* 0C7EBC 7F09338C 3C038004 */ lui $v1, %hi(MipMap2C_Something2_Setup) -/* 0C7EC0 7F093390 2463FD28 */ addiu $v1, %lo(MipMap2C_Something2_Setup) # addiu $v1, $v1, -0x2d8 -/* 0C7EC4 7F093394 2442FCC0 */ addiu $v0, %lo(MipMap2C_Something_Setup) # addiu $v0, $v0, -0x340 -/* 0C7EC8 7F093398 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C7ECC 7F09339C 46083100 */ add.s $f4, $f6, $f8 -/* 0C7ED0 7F0933A0 4458F800 */ cfc1 $t8, $31 -/* 0C7ED4 7F0933A4 44C9F800 */ ctc1 $t1, $31 -/* 0C7ED8 7F0933A8 00000000 */ nop -/* 0C7EDC 7F0933AC 460022A4 */ cvt.w.s $f10, $f4 -/* 0C7EE0 7F0933B0 4449F800 */ cfc1 $t1, $31 -/* 0C7EE4 7F0933B4 00000000 */ nop -/* 0C7EE8 7F0933B8 31290078 */ andi $t1, $t1, 0x78 -/* 0C7EEC 7F0933BC 51200013 */ beql $t1, $zero, .L7F09340C -/* 0C7EF0 7F0933C0 44095000 */ mfc1 $t1, $f10 -/* 0C7EF4 7F0933C4 44815000 */ mtc1 $at, $f10 -/* 0C7EF8 7F0933C8 24090001 */ li $t1, 1 -/* 0C7EFC 7F0933CC 460A2281 */ sub.s $f10, $f4, $f10 -/* 0C7F00 7F0933D0 44C9F800 */ ctc1 $t1, $31 -/* 0C7F04 7F0933D4 00000000 */ nop -/* 0C7F08 7F0933D8 460052A4 */ cvt.w.s $f10, $f10 -/* 0C7F0C 7F0933DC 4449F800 */ cfc1 $t1, $31 -/* 0C7F10 7F0933E0 00000000 */ nop -/* 0C7F14 7F0933E4 31290078 */ andi $t1, $t1, 0x78 -/* 0C7F18 7F0933E8 15200005 */ bnez $t1, .L7F093400 -/* 0C7F1C 7F0933EC 00000000 */ nop -/* 0C7F20 7F0933F0 44095000 */ mfc1 $t1, $f10 -/* 0C7F24 7F0933F4 3C018000 */ lui $at, 0x8000 -/* 0C7F28 7F0933F8 10000007 */ b .L7F093418 -/* 0C7F2C 7F0933FC 01214825 */ or $t1, $t1, $at -.L7F093400: -/* 0C7F30 7F093400 10000005 */ b .L7F093418 -/* 0C7F34 7F093404 2409FFFF */ li $t1, -1 -/* 0C7F38 7F093408 44095000 */ mfc1 $t1, $f10 -.L7F09340C: -/* 0C7F3C 7F09340C 00000000 */ nop -/* 0C7F40 7F093410 0520FFFB */ bltz $t1, .L7F093400 -/* 0C7F44 7F093414 00000000 */ nop -.L7F093418: -/* 0C7F48 7F093418 8C4A0020 */ lw $t2, 0x20($v0) -/* 0C7F4C 7F09341C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C7F50 7F093420 2401FF00 */ li $at, -256 -/* 0C7F54 7F093424 0141C824 */ and $t9, $t2, $at -/* 0C7F58 7F093428 01396025 */ or $t4, $t1, $t9 -/* 0C7F5C 7F09342C 44D8F800 */ ctc1 $t8, $31 -/* 0C7F60 7F093430 AC6C0020 */ sw $t4, 0x20($v1) -/* 0C7F64 7F093434 03E00008 */ jr $ra -/* 0C7F68 7F093438 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09343C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09343C -/* 0C7F6C 7F09343C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C7F70 7F093440 10A00009 */ beqz $a1, .L7F093468 -/* 0C7F74 7F093444 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C7F78 7F093448 00801025 */ move $v0, $a0 -/* 0C7F7C 7F09344C 3C0F8004 */ lui $t7, %hi(MipMap2C_Something_Setup) -/* 0C7F80 7F093450 25EFFCC0 */ addiu $t7, %lo(MipMap2C_Something_Setup) # addiu $t7, $t7, -0x340 -/* 0C7F84 7F093454 3C0E0600 */ lui $t6, 0x600 -/* 0C7F88 7F093458 AC4E0000 */ sw $t6, ($v0) -/* 0C7F8C 7F09345C AC4F0004 */ sw $t7, 4($v0) -/* 0C7F90 7F093460 10000079 */ b .L7F093648 -/* 0C7F94 7F093464 24840008 */ addiu $a0, $a0, 8 -.L7F093468: -/* 0C7F98 7F093468 3C08F510 */ lui $t0, %hi(0xF5100004) # $t0, 0xf510 -/* 0C7F9C 7F09346C 00801025 */ move $v0, $a0 -/* 0C7FA0 7F093470 3C180001 */ lui $t8, (0x00014050 >> 16) # lui $t8, 1 -/* 0C7FA4 7F093474 35080800 */ ori $t0, (0xF5100800 & 0xFFFF) # ori $t0, $t0, 0x800 -/* 0C7FA8 7F093478 37184050 */ ori $t8, (0x00014050 & 0xFFFF) # ori $t8, $t8, 0x4050 -/* 0C7FAC 7F09347C 24830008 */ addiu $v1, $a0, 8 -/* 0C7FB0 7F093480 AC580004 */ sw $t8, 4($v0) -/* 0C7FB4 7F093484 AC480000 */ sw $t0, ($v0) -/* 0C7FB8 7F093488 3C190101 */ lui $t9, (0x01014050 >> 16) # lui $t9, 0x101 -/* 0C7FBC 7F09348C 37394050 */ ori $t9, (0x01014050 & 0xFFFF) # ori $t9, $t9, 0x4050 -/* 0C7FC0 7F093490 24650008 */ addiu $a1, $v1, 8 -/* 0C7FC4 7F093494 AC790004 */ sw $t9, 4($v1) -/* 0C7FC8 7F093498 AC680000 */ sw $t0, ($v1) -/* 0C7FCC 7F09349C 24A60008 */ addiu $a2, $a1, 8 -/* 0C7FD0 7F0934A0 3C0AF200 */ lui $t2, 0xf200 -/* 0C7FD4 7F0934A4 ACAA0000 */ sw $t2, ($a1) -/* 0C7FD8 7F0934A8 ACA00004 */ sw $zero, 4($a1) -/* 0C7FDC 7F0934AC 3C0BF205 */ lui $t3, (0xF205A096 >> 16) # lui $t3, 0xf205 -/* 0C7FE0 7F0934B0 356BA096 */ ori $t3, (0xF205A096 & 0xFFFF) # ori $t3, $t3, 0xa096 -/* 0C7FE4 7F0934B4 3C0C0100 */ lui $t4, 0x100 -/* 0C7FE8 7F0934B8 ACCC0004 */ sw $t4, 4($a2) -/* 0C7FEC 7F0934BC ACCB0000 */ sw $t3, ($a2) -/* 0C7FF0 7F0934C0 24C70008 */ addiu $a3, $a2, 8 -/* 0C7FF4 7F0934C4 24E40008 */ addiu $a0, $a3, 8 -/* 0C7FF8 7F0934C8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E88) -/* 0C7FFC 7F0934CC C42C9E88 */ lwc1 $f12, %lo(flt_CODE_bss_80079E88)($at) -/* 0C8000 7F0934D0 AFA40030 */ sw $a0, 0x30($sp) -/* 0C8004 7F0934D4 0FC15FAB */ jal sinf -/* 0C8008 7F0934D8 AFA70018 */ sw $a3, 0x18($sp) -/* 0C800C 7F0934DC 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C8010 7F0934E0 44812000 */ mtc1 $at, $f4 -/* 0C8014 7F0934E4 3C014300 */ li $at, 0x43000000 # 128.000000 -/* 0C8018 7F0934E8 44814000 */ mtc1 $at, $f8 -/* 0C801C 7F0934EC 46040182 */ mul.s $f6, $f0, $f4 -/* 0C8020 7F0934F0 240E0001 */ li $t6, 1 -/* 0C8024 7F0934F4 8FA40030 */ lw $a0, 0x30($sp) -/* 0C8028 7F0934F8 3C0ABA00 */ lui $t2, (0xBA001102 >> 16) # lui $t2, 0xba00 -/* 0C802C 7F0934FC 3C0BBA00 */ lui $t3, (0xBA000C02 >> 16) # lui $t3, 0xba00 -/* 0C8030 7F093500 00801025 */ move $v0, $a0 -/* 0C8034 7F093504 24840008 */ addiu $a0, $a0, 8 -/* 0C8038 7F093508 46083280 */ add.s $f10, $f6, $f8 -/* 0C803C 7F09350C 00801825 */ move $v1, $a0 -/* 0C8040 7F093510 24840008 */ addiu $a0, $a0, 8 -/* 0C8044 7F093514 00802825 */ move $a1, $a0 -/* 0C8048 7F093518 444DF800 */ cfc1 $t5, $31 -/* 0C804C 7F09351C 44CEF800 */ ctc1 $t6, $31 -/* 0C8050 7F093520 3C0CFC27 */ lui $t4, (0xFC272C04 >> 16) # lui $t4, 0xfc27 -/* 0C8054 7F093524 8FA70018 */ lw $a3, 0x18($sp) -/* 0C8058 7F093528 46005424 */ cvt.w.s $f16, $f10 -/* 0C805C 7F09352C 24092000 */ li $t1, 8192 -/* 0C8060 7F093530 2419FFFF */ li $t9, -1 -/* 0C8064 7F093534 354A1102 */ ori $t2, (0xBA001102 & 0xFFFF) # ori $t2, $t2, 0x1102 -/* 0C8068 7F093538 444EF800 */ cfc1 $t6, $31 -/* 0C806C 7F09353C 356B0C02 */ ori $t3, (0xBA000C02 & 0xFFFF) # ori $t3, $t3, 0xc02 -/* 0C8070 7F093540 358C2C04 */ ori $t4, (0xFC272C04 & 0xFFFF) # ori $t4, $t4, 0x2c04 -/* 0C8074 7F093544 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C8078 7F093548 11C00013 */ beqz $t6, .L7F093598 -/* 0C807C 7F09354C 24840008 */ addiu $a0, $a0, 8 -/* 0C8080 7F093550 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8084 7F093554 44818000 */ mtc1 $at, $f16 -/* 0C8088 7F093558 240E0001 */ li $t6, 1 -/* 0C808C 7F09355C 46105401 */ sub.s $f16, $f10, $f16 -/* 0C8090 7F093560 44CEF800 */ ctc1 $t6, $31 -/* 0C8094 7F093564 00000000 */ nop -/* 0C8098 7F093568 46008424 */ cvt.w.s $f16, $f16 -/* 0C809C 7F09356C 444EF800 */ cfc1 $t6, $31 -/* 0C80A0 7F093570 00000000 */ nop -/* 0C80A4 7F093574 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C80A8 7F093578 15C00005 */ bnez $t6, .L7F093590 -/* 0C80AC 7F09357C 00000000 */ nop -/* 0C80B0 7F093580 440E8000 */ mfc1 $t6, $f16 -/* 0C80B4 7F093584 3C018000 */ lui $at, 0x8000 -/* 0C80B8 7F093588 10000007 */ b .L7F0935A8 -/* 0C80BC 7F09358C 01C17025 */ or $t6, $t6, $at -.L7F093590: -/* 0C80C0 7F093590 10000005 */ b .L7F0935A8 -/* 0C80C4 7F093594 240EFFFF */ li $t6, -1 -.L7F093598: -/* 0C80C8 7F093598 440E8000 */ mfc1 $t6, $f16 -/* 0C80CC 7F09359C 00000000 */ nop -/* 0C80D0 7F0935A0 05C0FFFB */ bltz $t6, .L7F093590 -/* 0C80D4 7F0935A4 00000000 */ nop -.L7F0935A8: -/* 0C80D8 7F0935A8 31CF00FF */ andi $t7, $t6, 0xff -/* 0C80DC 7F0935AC 3C01FA00 */ lui $at, 0xfa00 -/* 0C80E0 7F0935B0 01E1C025 */ or $t8, $t7, $at -/* 0C80E4 7F0935B4 ACF80000 */ sw $t8, ($a3) -/* 0C80E8 7F0935B8 ACF90004 */ sw $t9, 4($a3) -/* 0C80EC 7F0935BC AC400004 */ sw $zero, 4($v0) -/* 0C80F0 7F0935C0 AC4A0000 */ sw $t2, ($v0) -/* 0C80F4 7F0935C4 44CDF800 */ ctc1 $t5, $31 -/* 0C80F8 7F0935C8 AC690004 */ sw $t1, 4($v1) -/* 0C80FC 7F0935CC AC6B0000 */ sw $t3, ($v1) -/* 0C8100 7F0935D0 3C0D1F10 */ lui $t5, (0x1F1093FF >> 16) # lui $t5, 0x1f10 -/* 0C8104 7F0935D4 35AD93FF */ ori $t5, (0x1F1093FF & 0xFFFF) # ori $t5, $t5, 0x93ff -/* 0C8108 7F0935D8 00803025 */ move $a2, $a0 -/* 0C810C 7F0935DC ACAD0004 */ sw $t5, 4($a1) -/* 0C8110 7F0935E0 ACAC0000 */ sw $t4, ($a1) -/* 0C8114 7F0935E4 24840008 */ addiu $a0, $a0, 8 -/* 0C8118 7F0935E8 3C0F0C19 */ lui $t7, (0x0C192078 >> 16) # lui $t7, 0xc19 -/* 0C811C 7F0935EC 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0C8120 7F0935F0 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0C8124 7F0935F4 35EF2078 */ ori $t7, (0x0C192078 & 0xFFFF) # ori $t7, $t7, 0x2078 -/* 0C8128 7F0935F8 00804025 */ move $t0, $a0 -/* 0C812C 7F0935FC ACCF0004 */ sw $t7, 4($a2) -/* 0C8130 7F093600 ACCE0000 */ sw $t6, ($a2) -/* 0C8134 7F093604 24840008 */ addiu $a0, $a0, 8 -/* 0C8138 7F093608 3C18BA00 */ lui $t8, (0xBA001001 >> 16) # lui $t8, 0xba00 -/* 0C813C 7F09360C 37181001 */ ori $t8, (0xBA001001 & 0xFFFF) # ori $t8, $t8, 0x1001 -/* 0C8140 7F093610 00801025 */ move $v0, $a0 -/* 0C8144 7F093614 AD180000 */ sw $t8, ($t0) -/* 0C8148 7F093618 AD000004 */ sw $zero, %lo(0xF5100004)($t0) -/* 0C814C 7F09361C 24840008 */ addiu $a0, $a0, 8 -/* 0C8150 7F093620 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0C8154 7F093624 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0C8158 7F093628 3C0A0010 */ lui $t2, 0x10 -/* 0C815C 7F09362C 00801825 */ move $v1, $a0 -/* 0C8160 7F093630 AC4A0004 */ sw $t2, 4($v0) -/* 0C8164 7F093634 AC590000 */ sw $t9, ($v0) -/* 0C8168 7F093638 3C0BB700 */ lui $t3, 0xb700 -/* 0C816C 7F09363C AC6B0000 */ sw $t3, ($v1) -/* 0C8170 7F093640 AC690004 */ sw $t1, 4($v1) -/* 0C8174 7F093644 24840008 */ addiu $a0, $a0, 8 -.L7F093648: -/* 0C8178 7F093648 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C817C 7F09364C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C8180 7F093650 00801025 */ move $v0, $a0 -/* 0C8184 7F093654 03E00008 */ jr $ra -/* 0C8188 7F093658 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09365C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09365C -/* 0C818C 7F09365C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C8190 7F093660 10A00009 */ beqz $a1, .L7F093688 -/* 0C8194 7F093664 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C8198 7F093668 00801025 */ move $v0, $a0 -/* 0C819C 7F09366C 3C0F8004 */ lui $t7, %hi(MipMap2C_Something2_Setup) -/* 0C81A0 7F093670 25EFFD28 */ addiu $t7, %lo(MipMap2C_Something2_Setup) # addiu $t7, $t7, -0x2d8 -/* 0C81A4 7F093674 3C0E0600 */ lui $t6, 0x600 -/* 0C81A8 7F093678 AC4E0000 */ sw $t6, ($v0) -/* 0C81AC 7F09367C AC4F0004 */ sw $t7, 4($v0) -/* 0C81B0 7F093680 10000079 */ b .L7F093868 -/* 0C81B4 7F093684 24840008 */ addiu $a0, $a0, 8 -.L7F093688: -/* 0C81B8 7F093688 3C08F548 */ lui $t0, %hi(0xF5480004) # $t0, 0xf548 -/* 0C81BC 7F09368C 00801025 */ move $v0, $a0 -/* 0C81C0 7F093690 3C180001 */ lui $t8, (0x00014050 >> 16) # lui $t8, 1 -/* 0C81C4 7F093694 35080400 */ ori $t0, (0xF5480400 & 0xFFFF) # ori $t0, $t0, 0x400 -/* 0C81C8 7F093698 37184050 */ ori $t8, (0x00014050 & 0xFFFF) # ori $t8, $t8, 0x4050 -/* 0C81CC 7F09369C 24830008 */ addiu $v1, $a0, 8 -/* 0C81D0 7F0936A0 AC580004 */ sw $t8, 4($v0) -/* 0C81D4 7F0936A4 AC480000 */ sw $t0, ($v0) -/* 0C81D8 7F0936A8 3C190101 */ lui $t9, (0x01014050 >> 16) # lui $t9, 0x101 -/* 0C81DC 7F0936AC 37394050 */ ori $t9, (0x01014050 & 0xFFFF) # ori $t9, $t9, 0x4050 -/* 0C81E0 7F0936B0 24650008 */ addiu $a1, $v1, 8 -/* 0C81E4 7F0936B4 AC790004 */ sw $t9, 4($v1) -/* 0C81E8 7F0936B8 AC680000 */ sw $t0, ($v1) -/* 0C81EC 7F0936BC 24A60008 */ addiu $a2, $a1, 8 -/* 0C81F0 7F0936C0 3C0AF200 */ lui $t2, 0xf200 -/* 0C81F4 7F0936C4 ACAA0000 */ sw $t2, ($a1) -/* 0C81F8 7F0936C8 ACA00004 */ sw $zero, 4($a1) -/* 0C81FC 7F0936CC 3C0BF205 */ lui $t3, (0xF205A096 >> 16) # lui $t3, 0xf205 -/* 0C8200 7F0936D0 356BA096 */ ori $t3, (0xF205A096 & 0xFFFF) # ori $t3, $t3, 0xa096 -/* 0C8204 7F0936D4 3C0C0100 */ lui $t4, 0x100 -/* 0C8208 7F0936D8 ACCC0004 */ sw $t4, 4($a2) -/* 0C820C 7F0936DC ACCB0000 */ sw $t3, ($a2) -/* 0C8210 7F0936E0 24C70008 */ addiu $a3, $a2, 8 -/* 0C8214 7F0936E4 24E40008 */ addiu $a0, $a3, 8 -/* 0C8218 7F0936E8 3C018008 */ lui $at, %hi(flt_CODE_bss_80079E88) -/* 0C821C 7F0936EC C42C9E88 */ lwc1 $f12, %lo(flt_CODE_bss_80079E88)($at) -/* 0C8220 7F0936F0 AFA40030 */ sw $a0, 0x30($sp) -/* 0C8224 7F0936F4 0FC15FAB */ jal sinf -/* 0C8228 7F0936F8 AFA70018 */ sw $a3, 0x18($sp) -/* 0C822C 7F0936FC 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C8230 7F093700 44812000 */ mtc1 $at, $f4 -/* 0C8234 7F093704 3C014300 */ li $at, 0x43000000 # 128.000000 -/* 0C8238 7F093708 44814000 */ mtc1 $at, $f8 -/* 0C823C 7F09370C 46040182 */ mul.s $f6, $f0, $f4 -/* 0C8240 7F093710 240E0001 */ li $t6, 1 -/* 0C8244 7F093714 8FA40030 */ lw $a0, 0x30($sp) -/* 0C8248 7F093718 3C0ABA00 */ lui $t2, (0xBA001102 >> 16) # lui $t2, 0xba00 -/* 0C824C 7F09371C 3C0BBA00 */ lui $t3, (0xBA000C02 >> 16) # lui $t3, 0xba00 -/* 0C8250 7F093720 00801025 */ move $v0, $a0 -/* 0C8254 7F093724 24840008 */ addiu $a0, $a0, 8 -/* 0C8258 7F093728 46083280 */ add.s $f10, $f6, $f8 -/* 0C825C 7F09372C 00801825 */ move $v1, $a0 -/* 0C8260 7F093730 24840008 */ addiu $a0, $a0, 8 -/* 0C8264 7F093734 00802825 */ move $a1, $a0 -/* 0C8268 7F093738 444DF800 */ cfc1 $t5, $31 -/* 0C826C 7F09373C 44CEF800 */ ctc1 $t6, $31 -/* 0C8270 7F093740 3C0CFC27 */ lui $t4, (0xFC272C04 >> 16) # lui $t4, 0xfc27 -/* 0C8274 7F093744 8FA70018 */ lw $a3, 0x18($sp) -/* 0C8278 7F093748 46005424 */ cvt.w.s $f16, $f10 -/* 0C827C 7F09374C 24092000 */ li $t1, 8192 -/* 0C8280 7F093750 2419FFFF */ li $t9, -1 -/* 0C8284 7F093754 354A1102 */ ori $t2, (0xBA001102 & 0xFFFF) # ori $t2, $t2, 0x1102 -/* 0C8288 7F093758 444EF800 */ cfc1 $t6, $31 -/* 0C828C 7F09375C 356B0C02 */ ori $t3, (0xBA000C02 & 0xFFFF) # ori $t3, $t3, 0xc02 -/* 0C8290 7F093760 358C2C04 */ ori $t4, (0xFC272C04 & 0xFFFF) # ori $t4, $t4, 0x2c04 -/* 0C8294 7F093764 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C8298 7F093768 11C00013 */ beqz $t6, .L7F0937B8 -/* 0C829C 7F09376C 24840008 */ addiu $a0, $a0, 8 -/* 0C82A0 7F093770 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C82A4 7F093774 44818000 */ mtc1 $at, $f16 -/* 0C82A8 7F093778 240E0001 */ li $t6, 1 -/* 0C82AC 7F09377C 46105401 */ sub.s $f16, $f10, $f16 -/* 0C82B0 7F093780 44CEF800 */ ctc1 $t6, $31 -/* 0C82B4 7F093784 00000000 */ nop -/* 0C82B8 7F093788 46008424 */ cvt.w.s $f16, $f16 -/* 0C82BC 7F09378C 444EF800 */ cfc1 $t6, $31 -/* 0C82C0 7F093790 00000000 */ nop -/* 0C82C4 7F093794 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C82C8 7F093798 15C00005 */ bnez $t6, .L7F0937B0 -/* 0C82CC 7F09379C 00000000 */ nop -/* 0C82D0 7F0937A0 440E8000 */ mfc1 $t6, $f16 -/* 0C82D4 7F0937A4 3C018000 */ lui $at, 0x8000 -/* 0C82D8 7F0937A8 10000007 */ b .L7F0937C8 -/* 0C82DC 7F0937AC 01C17025 */ or $t6, $t6, $at -.L7F0937B0: -/* 0C82E0 7F0937B0 10000005 */ b .L7F0937C8 -/* 0C82E4 7F0937B4 240EFFFF */ li $t6, -1 -.L7F0937B8: -/* 0C82E8 7F0937B8 440E8000 */ mfc1 $t6, $f16 -/* 0C82EC 7F0937BC 00000000 */ nop -/* 0C82F0 7F0937C0 05C0FFFB */ bltz $t6, .L7F0937B0 -/* 0C82F4 7F0937C4 00000000 */ nop -.L7F0937C8: -/* 0C82F8 7F0937C8 31CF00FF */ andi $t7, $t6, 0xff -/* 0C82FC 7F0937CC 3C01FA00 */ lui $at, 0xfa00 -/* 0C8300 7F0937D0 01E1C025 */ or $t8, $t7, $at -/* 0C8304 7F0937D4 ACF80000 */ sw $t8, ($a3) -/* 0C8308 7F0937D8 ACF90004 */ sw $t9, 4($a3) -/* 0C830C 7F0937DC AC400004 */ sw $zero, 4($v0) -/* 0C8310 7F0937E0 AC4A0000 */ sw $t2, ($v0) -/* 0C8314 7F0937E4 44CDF800 */ ctc1 $t5, $31 -/* 0C8318 7F0937E8 AC690004 */ sw $t1, 4($v1) -/* 0C831C 7F0937EC AC6B0000 */ sw $t3, ($v1) -/* 0C8320 7F0937F0 3C0D1F10 */ lui $t5, (0x1F1093FF >> 16) # lui $t5, 0x1f10 -/* 0C8324 7F0937F4 35AD93FF */ ori $t5, (0x1F1093FF & 0xFFFF) # ori $t5, $t5, 0x93ff -/* 0C8328 7F0937F8 00803025 */ move $a2, $a0 -/* 0C832C 7F0937FC ACAD0004 */ sw $t5, 4($a1) -/* 0C8330 7F093800 ACAC0000 */ sw $t4, ($a1) -/* 0C8334 7F093804 24840008 */ addiu $a0, $a0, 8 -/* 0C8338 7F093808 3C0F0C19 */ lui $t7, (0x0C192078 >> 16) # lui $t7, 0xc19 -/* 0C833C 7F09380C 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0C8340 7F093810 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0C8344 7F093814 35EF2078 */ ori $t7, (0x0C192078 & 0xFFFF) # ori $t7, $t7, 0x2078 -/* 0C8348 7F093818 00804025 */ move $t0, $a0 -/* 0C834C 7F09381C ACCF0004 */ sw $t7, 4($a2) -/* 0C8350 7F093820 ACCE0000 */ sw $t6, ($a2) -/* 0C8354 7F093824 24840008 */ addiu $a0, $a0, 8 -/* 0C8358 7F093828 3C18BA00 */ lui $t8, (0xBA001001 >> 16) # lui $t8, 0xba00 -/* 0C835C 7F09382C 37181001 */ ori $t8, (0xBA001001 & 0xFFFF) # ori $t8, $t8, 0x1001 -/* 0C8360 7F093830 00801025 */ move $v0, $a0 -/* 0C8364 7F093834 AD180000 */ sw $t8, ($t0) -/* 0C8368 7F093838 AD000004 */ sw $zero, %lo(0xF5480004)($t0) -/* 0C836C 7F09383C 24840008 */ addiu $a0, $a0, 8 -/* 0C8370 7F093840 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0C8374 7F093844 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0C8378 7F093848 3C0A0010 */ lui $t2, 0x10 -/* 0C837C 7F09384C 00801825 */ move $v1, $a0 -/* 0C8380 7F093850 AC4A0004 */ sw $t2, 4($v0) -/* 0C8384 7F093854 AC590000 */ sw $t9, ($v0) -/* 0C8388 7F093858 3C0BB700 */ lui $t3, 0xb700 -/* 0C838C 7F09385C AC6B0000 */ sw $t3, ($v1) -/* 0C8390 7F093860 AC690004 */ sw $t1, 4($v1) -/* 0C8394 7F093864 24840008 */ addiu $a0, $a0, 8 -.L7F093868: -/* 0C8398 7F093868 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C839C 7F09386C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C83A0 7F093870 00801025 */ move $v0, $a0 -/* 0C83A4 7F093874 03E00008 */ jr $ra -/* 0C83A8 7F093878 00000000 */ nop -) -#endif - - diff --git a/src/game/unk_092E50.h b/src/game/unk_092E50.h deleted file mode 100644 index a8dea11..0000000 --- a/src/game/unk_092E50.h +++ /dev/null @@ -1,9 +0,0 @@ -#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 deleted file mode 100644 index 66a4a6e..0000000 --- a/src/game/unk_093880.c +++ /dev/null @@ -1,10463 +0,0 @@ -#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; -s32 dword_CODE_bss_80079E94; -char dword_CODE_bss_80079E98[0x48]; -u32 *ptr_BONDdata_p1; -u32 *ptr_BONDdata_p2; -u32 *ptr_BONDdata_p3; -u32 *ptr_BONDdata_p4; - -struct player_data player1_player_data; -struct player_data player2_player_data; -struct player_data player3_player_data; -struct player_data player4_player_data; - -struct Player *pPlayer; -struct player_data *pPlayersPerm; -s32 player_num; -s32 random_byte; -s32 dword_CODE_bss_8007A0C0; -s32 dword_CODE_bss_8007A0C4; -s32 dword_CODE_bss_8007A0C8; -s32 dword_CODE_bss_8007A0CC; - - - - -#ifdef NONMATCHING -void sub_GAME_7F093880(f32 arg0, f32 arg1, ? arg2) { - f32 sp18; - f32 sp1C; - f32 sp20; - s32 sp24; - - // Node 0 - sp24 = sub_GAME_7F078444(); - sp1C = (f32) (getPlayer_c_screenleft() + arg0); - sp18 = getPlayer_c_screentop(); - sp20 = (f32) (get_ptr_currentdata()->unk38 + (arg1 + sp18)); - sub_GAME_7F077EEC(&sp1C, arg2, 0x42c80000); - return sub_GAME_7F0583D8(sp24, arg2); -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F093880 -/* 0C83B0 7F093880 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C83B4 7F093884 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C83B8 7F093888 E7AC0028 */ swc1 $f12, 0x28($sp) -/* 0C83BC 7F09388C E7AE002C */ swc1 $f14, 0x2c($sp) -/* 0C83C0 7F093890 0FC1E111 */ jal sub_GAME_7F078444 -/* 0C83C4 7F093894 AFA60030 */ sw $a2, 0x30($sp) -/* 0C83C8 7F093898 0FC1E131 */ jal getPlayer_c_screenleft -/* 0C83CC 7F09389C AFA20024 */ sw $v0, 0x24($sp) -/* 0C83D0 7F0938A0 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 0C83D4 7F0938A4 46040180 */ add.s $f6, $f0, $f4 -/* 0C83D8 7F0938A8 0FC1E135 */ jal getPlayer_c_screentop -/* 0C83DC 7F0938AC E7A6001C */ swc1 $f6, 0x1c($sp) -/* 0C83E0 7F0938B0 0FC2E9CB */ jal get_ptr_currentdata -/* 0C83E4 7F0938B4 E7A00018 */ swc1 $f0, 0x18($sp) -/* 0C83E8 7F0938B8 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 0C83EC 7F0938BC C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 0C83F0 7F0938C0 C4520038 */ lwc1 $f18, 0x38($v0) -/* 0C83F4 7F0938C4 27A4001C */ addiu $a0, $sp, 0x1c -/* 0C83F8 7F0938C8 460A4400 */ add.s $f16, $f8, $f10 -/* 0C83FC 7F0938CC 8FA50030 */ lw $a1, 0x30($sp) -/* 0C8400 7F0938D0 3C0642C8 */ lui $a2, 0x42c8 -/* 0C8404 7F0938D4 46109100 */ add.s $f4, $f18, $f16 -/* 0C8408 7F0938D8 0FC1DFBB */ jal sub_GAME_7F077EEC -/* 0C840C 7F0938DC E7A40020 */ swc1 $f4, 0x20($sp) -/* 0C8410 7F0938E0 8FA40024 */ lw $a0, 0x24($sp) -/* 0C8414 7F0938E4 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0C8418 7F0938E8 8FA50030 */ lw $a1, 0x30($sp) -/* 0C841C 7F0938EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C8420 7F0938F0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0C8424 7F0938F4 03E00008 */ jr $ra -/* 0C8428 7F0938F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F0938FC(void *arg0, void *arg1, void *arg2) { - f32 sp24; - f32 sp2C; - s32 temp_s1; - f32 temp_f12; - f32 temp_f2; - f32 temp_f12_2; - f32 phi_f12; - f32 phi_f16; - f32 phi_f2; - f32 phi_return; - - // Node 0 - temp_s1 = get_BONDdata_position(); - temp_f12 = ((arg0->unk4 + arg0->unk4) / sqrtf((((arg0->unk8 * arg0->unk8) + (*arg0 * *arg0)) + D_80057520), *arg0)); - phi_f12 = temp_f12; - if (1.0f < temp_f12) - { - // Node 1 - phi_f12 = 1.0f; - } - // Node 2 - *arg2 = (f32) (1.0f - phi_f12); - if (0.0f == arg0->unk4) - { - // Node 3 - phi_f16 = D_80057524; - } - else - { - // Node 4 - phi_f16 = arg0->unk4; - } - // Node 5 - phi_return = 0.0f; - if (0.0f < phi_f16) - { - // Node 6 - sp24 = (f32) phi_f16; - temp_f2 = ((get_ptr_currentdata(phi_f12, 1.0f)->unkC - temp_s1->unk4) / phi_f16); - sp2C = temp_f2; - temp_f12_2 = (sqrtf(((arg0->unk8 * arg0->unk8) + (*arg0 * *arg0)), *arg0) * temp_f2); - phi_f2 = temp_f2; - if (D_80057528 < temp_f12_2) - { - // Node 7 - phi_f2 = (temp_f2 * (D_80057528 / temp_f12_2)); - } - // Node 8 - *arg1 = (f32) ((*arg0 * phi_f2) + *temp_s1); - arg1->unk4 = (f32) (temp_s1->unk4 + (phi_f2 * phi_f16)); - arg1->unk8 = (f32) ((arg0->unk8 * phi_f2) + temp_s1->unk8); - phi_return = 1.401298464324817e-45f; - } - // Node 9 - return phi_return; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057520 -.word 0x38d1b717 /*0.000099999997*/ -glabel D_80057524 -.word 0x3c23d70a /*0.0099999998*/ -glabel D_80057528 -.word 0x48927c00 /*300000.0*/ -.text -glabel sub_GAME_7F0938FC -/* 0C842C 7F0938FC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C8430 7F093900 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C8434 7F093904 AFB00014 */ sw $s0, 0x14($sp) -/* 0C8438 7F093908 00808025 */ move $s0, $a0 -/* 0C843C 7F09390C AFB10018 */ sw $s1, 0x18($sp) -/* 0C8440 7F093910 AFA5003C */ sw $a1, 0x3c($sp) -/* 0C8444 7F093914 0FC227F5 */ jal get_BONDdata_position -/* 0C8448 7F093918 AFA60040 */ sw $a2, 0x40($sp) -/* 0C844C 7F09391C C6000008 */ lwc1 $f0, 8($s0) -/* 0C8450 7F093920 C60E0000 */ lwc1 $f14, ($s0) -/* 0C8454 7F093924 3C018005 */ lui $at, %hi(D_80057520) -/* 0C8458 7F093928 46000102 */ mul.s $f4, $f0, $f0 -/* 0C845C 7F09392C C42A7520 */ lwc1 $f10, %lo(D_80057520)($at) -/* 0C8460 7F093930 00408825 */ move $s1, $v0 -/* 0C8464 7F093934 460E7182 */ mul.s $f6, $f14, $f14 -/* 0C8468 7F093938 46062200 */ add.s $f8, $f4, $f6 -/* 0C846C 7F09393C 0C007DF8 */ jal sqrtf -/* 0C8470 7F093940 460A4300 */ add.s $f12, $f8, $f10 -/* 0C8474 7F093944 C6020004 */ lwc1 $f2, 4($s0) -/* 0C8478 7F093948 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C847C 7F09394C 44817000 */ mtc1 $at, $f14 -/* 0C8480 7F093950 46021100 */ add.s $f4, $f2, $f2 -/* 0C8484 7F093954 3C018005 */ lui $at, %hi(D_80057524) -/* 0C8488 7F093958 00001025 */ move $v0, $zero -/* 0C848C 7F09395C 46002303 */ div.s $f12, $f4, $f0 -/* 0C8490 7F093960 460C703C */ c.lt.s $f14, $f12 -/* 0C8494 7F093964 00000000 */ nop -/* 0C8498 7F093968 45020003 */ bc1fl .L7F093978 -/* 0C849C 7F09396C 460C7181 */ sub.s $f6, $f14, $f12 -/* 0C84A0 7F093970 46007306 */ mov.s $f12, $f14 -/* 0C84A4 7F093974 460C7181 */ sub.s $f6, $f14, $f12 -.L7F093978: -/* 0C84A8 7F093978 8FAE0040 */ lw $t6, 0x40($sp) -/* 0C84AC 7F09397C 44800000 */ mtc1 $zero, $f0 -/* 0C84B0 7F093980 E5C60000 */ swc1 $f6, ($t6) -/* 0C84B4 7F093984 C6020004 */ lwc1 $f2, 4($s0) -/* 0C84B8 7F093988 46020032 */ c.eq.s $f0, $f2 -/* 0C84BC 7F09398C 00000000 */ nop -/* 0C84C0 7F093990 45020004 */ bc1fl .L7F0939A4 -/* 0C84C4 7F093994 46001406 */ mov.s $f16, $f2 -/* 0C84C8 7F093998 10000002 */ b .L7F0939A4 -/* 0C84CC 7F09399C C4307524 */ lwc1 $f16, %lo(D_80057524)($at) -/* 0C84D0 7F0939A0 46001406 */ mov.s $f16, $f2 -.L7F0939A4: -/* 0C84D4 7F0939A4 4610003C */ c.lt.s $f0, $f16 -/* 0C84D8 7F0939A8 00000000 */ nop -/* 0C84DC 7F0939AC 4500002D */ bc1f .L7F093A64 -/* 0C84E0 7F0939B0 00000000 */ nop -/* 0C84E4 7F0939B4 0FC2E9CB */ jal get_ptr_currentdata -/* 0C84E8 7F0939B8 E7B00024 */ swc1 $f16, 0x24($sp) -/* 0C84EC 7F0939BC C448000C */ lwc1 $f8, 0xc($v0) -/* 0C84F0 7F0939C0 C62A0004 */ lwc1 $f10, 4($s1) -/* 0C84F4 7F0939C4 C7B00024 */ lwc1 $f16, 0x24($sp) -/* 0C84F8 7F0939C8 C6000008 */ lwc1 $f0, 8($s0) -/* 0C84FC 7F0939CC 460A4101 */ sub.s $f4, $f8, $f10 -/* 0C8500 7F0939D0 C60E0000 */ lwc1 $f14, ($s0) -/* 0C8504 7F0939D4 46000182 */ mul.s $f6, $f0, $f0 -/* 0C8508 7F0939D8 00000000 */ nop -/* 0C850C 7F0939DC 460E7202 */ mul.s $f8, $f14, $f14 -/* 0C8510 7F0939E0 46102083 */ div.s $f2, $f4, $f16 -/* 0C8514 7F0939E4 46083300 */ add.s $f12, $f6, $f8 -/* 0C8518 7F0939E8 0C007DF8 */ jal sqrtf -/* 0C851C 7F0939EC E7A2002C */ swc1 $f2, 0x2c($sp) -/* 0C8520 7F0939F0 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 0C8524 7F0939F4 3C018005 */ lui $at, %hi(D_80057528) -/* 0C8528 7F0939F8 C4327528 */ lwc1 $f18, %lo(D_80057528)($at) -/* 0C852C 7F0939FC 46020302 */ mul.s $f12, $f0, $f2 -/* 0C8530 7F093A00 C7B00024 */ lwc1 $f16, 0x24($sp) -/* 0C8534 7F093A04 460C903C */ c.lt.s $f18, $f12 -/* 0C8538 7F093A08 00000000 */ nop -/* 0C853C 7F093A0C 45020005 */ bc1fl .L7F093A24 -/* 0C8540 7F093A10 C6040000 */ lwc1 $f4, ($s0) -/* 0C8544 7F093A14 460C9283 */ div.s $f10, $f18, $f12 -/* 0C8548 7F093A18 460A1082 */ mul.s $f2, $f2, $f10 -/* 0C854C 7F093A1C 00000000 */ nop -/* 0C8550 7F093A20 C6040000 */ lwc1 $f4, ($s0) -.L7F093A24: -/* 0C8554 7F093A24 C6280000 */ lwc1 $f8, ($s1) -/* 0C8558 7F093A28 8FA3003C */ lw $v1, 0x3c($sp) -/* 0C855C 7F093A2C 46022182 */ mul.s $f6, $f4, $f2 -/* 0C8560 7F093A30 24020001 */ li $v0, 1 -/* 0C8564 7F093A34 46083280 */ add.s $f10, $f6, $f8 -/* 0C8568 7F093A38 46101182 */ mul.s $f6, $f2, $f16 -/* 0C856C 7F093A3C E46A0000 */ swc1 $f10, ($v1) -/* 0C8570 7F093A40 C6240004 */ lwc1 $f4, 4($s1) -/* 0C8574 7F093A44 46062200 */ add.s $f8, $f4, $f6 -/* 0C8578 7F093A48 E4680004 */ swc1 $f8, 4($v1) -/* 0C857C 7F093A4C C60A0008 */ lwc1 $f10, 8($s0) -/* 0C8580 7F093A50 C6260008 */ lwc1 $f6, 8($s1) -/* 0C8584 7F093A54 46025102 */ mul.s $f4, $f10, $f2 -/* 0C8588 7F093A58 46062200 */ add.s $f8, $f4, $f6 -/* 0C858C 7F093A5C 10000001 */ b .L7F093A64 -/* 0C8590 7F093A60 E4680008 */ swc1 $f8, 8($v1) -.L7F093A64: -/* 0C8594 7F093A64 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C8598 7F093A68 8FB00014 */ lw $s0, 0x14($sp) -/* 0C859C 7F093A6C 8FB10018 */ lw $s1, 0x18($sp) -/* 0C85A0 7F093A70 03E00008 */ jr $ra -/* 0C85A4 7F093A74 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F093A78(void *arg0, void *arg1, void *arg2) { - f32 sp24; - f32 sp2C; - s32 temp_s1; - f32 temp_f2_2; - f32 temp_f2; - f32 temp_f12; - f32 phi_f2; - f32 phi_f16; - f32 phi_f2_2; - f32 phi_return; - - // Node 0 - temp_s1 = get_BONDdata_position(); - temp_f2_2 = ((-2.0f * arg0->unk4) / sqrtf((((arg0->unk8 * arg0->unk8) + (*arg0 * *arg0)) + D_8005752C), *arg0)); - phi_f2 = temp_f2_2; - if (1.0f < temp_f2_2) - { - // Node 1 - phi_f2 = 1.0f; - } - // Node 2 - *arg2 = (f32) (1.0f - phi_f2); - if (0.0f == arg0->unk4) - { - // Node 3 - phi_f16 = D_80057530; - } - else - { - // Node 4 - phi_f16 = arg0->unk4; - } - // Node 5 - phi_return = arg0->unk4; - if (phi_f16 < 0.0f) - { - // Node 6 - sp24 = (f32) phi_f16; - temp_f2 = ((get_ptr_currentdata(1.0f, 0.0f)->unk24 - temp_s1->unk4) / phi_f16); - sp2C = temp_f2; - temp_f12 = (sqrtf(((arg0->unk8 * arg0->unk8) + (*arg0 * *arg0)), *arg0) * temp_f2); - phi_f2_2 = temp_f2; - if (D_80057534 < temp_f12) - { - // Node 7 - phi_f2_2 = (temp_f2 * (D_80057534 / temp_f12)); - } - // Node 8 - *arg1 = (f32) ((*arg0 * phi_f2_2) + *temp_s1); - arg1->unk4 = (f32) (temp_s1->unk4 + (phi_f2_2 * phi_f16)); - arg1->unk8 = (f32) ((arg0->unk8 * phi_f2_2) + temp_s1->unk8); - phi_return = 1.401298464324817e-45f; - } - // Node 9 - return phi_return; -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005752C -.word 0x38d1b717 /*0.000099999997*/ -glabel D_80057530 -.word 0xbc23d70a /*-0.01*/ -glabel D_80057534 -.word 0x48927c00 /*300000.0*/ -.text -glabel sub_GAME_7F093A78 -/* 0C85A8 7F093A78 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C85AC 7F093A7C AFBF001C */ sw $ra, 0x1c($sp) -/* 0C85B0 7F093A80 AFB00014 */ sw $s0, 0x14($sp) -/* 0C85B4 7F093A84 00808025 */ move $s0, $a0 -/* 0C85B8 7F093A88 AFB10018 */ sw $s1, 0x18($sp) -/* 0C85BC 7F093A8C AFA5003C */ sw $a1, 0x3c($sp) -/* 0C85C0 7F093A90 0FC227F5 */ jal get_BONDdata_position -/* 0C85C4 7F093A94 AFA60040 */ sw $a2, 0x40($sp) -/* 0C85C8 7F093A98 C6000008 */ lwc1 $f0, 8($s0) -/* 0C85CC 7F093A9C C60E0000 */ lwc1 $f14, ($s0) -/* 0C85D0 7F093AA0 3C018005 */ lui $at, %hi(D_8005752C) -/* 0C85D4 7F093AA4 46000102 */ mul.s $f4, $f0, $f0 -/* 0C85D8 7F093AA8 C42A752C */ lwc1 $f10, %lo(D_8005752C)($at) -/* 0C85DC 7F093AAC 00408825 */ move $s1, $v0 -/* 0C85E0 7F093AB0 460E7182 */ mul.s $f6, $f14, $f14 -/* 0C85E4 7F093AB4 46062200 */ add.s $f8, $f4, $f6 -/* 0C85E8 7F093AB8 0C007DF8 */ jal sqrtf -/* 0C85EC 7F093ABC 460A4300 */ add.s $f12, $f8, $f10 -/* 0C85F0 7F093AC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C85F4 7F093AC4 44816000 */ mtc1 $at, $f12 -/* 0C85F8 7F093AC8 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 0C85FC 7F093ACC 44812000 */ mtc1 $at, $f4 -/* 0C8600 7F093AD0 C6060004 */ lwc1 $f6, 4($s0) -/* 0C8604 7F093AD4 3C018005 */ lui $at, %hi(D_80057530) -/* 0C8608 7F093AD8 00001025 */ move $v0, $zero -/* 0C860C 7F093ADC 46062202 */ mul.s $f8, $f4, $f6 -/* 0C8610 7F093AE0 46004083 */ div.s $f2, $f8, $f0 -/* 0C8614 7F093AE4 4602603C */ c.lt.s $f12, $f2 -/* 0C8618 7F093AE8 00000000 */ nop -/* 0C861C 7F093AEC 45020003 */ bc1fl .L7F093AFC -/* 0C8620 7F093AF0 46026281 */ sub.s $f10, $f12, $f2 -/* 0C8624 7F093AF4 46006086 */ mov.s $f2, $f12 -/* 0C8628 7F093AF8 46026281 */ sub.s $f10, $f12, $f2 -.L7F093AFC: -/* 0C862C 7F093AFC 8FAE0040 */ lw $t6, 0x40($sp) -/* 0C8630 7F093B00 44807000 */ mtc1 $zero, $f14 -/* 0C8634 7F093B04 E5CA0000 */ swc1 $f10, ($t6) -/* 0C8638 7F093B08 C6000004 */ lwc1 $f0, 4($s0) -/* 0C863C 7F093B0C 46007032 */ c.eq.s $f14, $f0 -/* 0C8640 7F093B10 00000000 */ nop -/* 0C8644 7F093B14 45020004 */ bc1fl .L7F093B28 -/* 0C8648 7F093B18 46000406 */ mov.s $f16, $f0 -/* 0C864C 7F093B1C 10000002 */ b .L7F093B28 -/* 0C8650 7F093B20 C4307530 */ lwc1 $f16, %lo(D_80057530)($at) -/* 0C8654 7F093B24 46000406 */ mov.s $f16, $f0 -.L7F093B28: -/* 0C8658 7F093B28 460E803C */ c.lt.s $f16, $f14 -/* 0C865C 7F093B2C 00000000 */ nop -/* 0C8660 7F093B30 4500002D */ bc1f .L7F093BE8 -/* 0C8664 7F093B34 00000000 */ nop -/* 0C8668 7F093B38 0FC2E9CB */ jal get_ptr_currentdata -/* 0C866C 7F093B3C E7B00024 */ swc1 $f16, 0x24($sp) -/* 0C8670 7F093B40 C4440024 */ lwc1 $f4, 0x24($v0) -/* 0C8674 7F093B44 C6260004 */ lwc1 $f6, 4($s1) -/* 0C8678 7F093B48 C7B00024 */ lwc1 $f16, 0x24($sp) -/* 0C867C 7F093B4C C6000008 */ lwc1 $f0, 8($s0) -/* 0C8680 7F093B50 46062201 */ sub.s $f8, $f4, $f6 -/* 0C8684 7F093B54 C60E0000 */ lwc1 $f14, ($s0) -/* 0C8688 7F093B58 46000282 */ mul.s $f10, $f0, $f0 -/* 0C868C 7F093B5C 00000000 */ nop -/* 0C8690 7F093B60 460E7102 */ mul.s $f4, $f14, $f14 -/* 0C8694 7F093B64 46104083 */ div.s $f2, $f8, $f16 -/* 0C8698 7F093B68 46045300 */ add.s $f12, $f10, $f4 -/* 0C869C 7F093B6C 0C007DF8 */ jal sqrtf -/* 0C86A0 7F093B70 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 0C86A4 7F093B74 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 0C86A8 7F093B78 3C018005 */ lui $at, %hi(D_80057534) -/* 0C86AC 7F093B7C C4327534 */ lwc1 $f18, %lo(D_80057534)($at) -/* 0C86B0 7F093B80 46020302 */ mul.s $f12, $f0, $f2 -/* 0C86B4 7F093B84 C7B00024 */ lwc1 $f16, 0x24($sp) -/* 0C86B8 7F093B88 460C903C */ c.lt.s $f18, $f12 -/* 0C86BC 7F093B8C 00000000 */ nop -/* 0C86C0 7F093B90 45020005 */ bc1fl .L7F093BA8 -/* 0C86C4 7F093B94 C6080000 */ lwc1 $f8, ($s0) -/* 0C86C8 7F093B98 460C9183 */ div.s $f6, $f18, $f12 -/* 0C86CC 7F093B9C 46061082 */ mul.s $f2, $f2, $f6 -/* 0C86D0 7F093BA0 00000000 */ nop -/* 0C86D4 7F093BA4 C6080000 */ lwc1 $f8, ($s0) -.L7F093BA8: -/* 0C86D8 7F093BA8 C6240000 */ lwc1 $f4, ($s1) -/* 0C86DC 7F093BAC 8FA3003C */ lw $v1, 0x3c($sp) -/* 0C86E0 7F093BB0 46024282 */ mul.s $f10, $f8, $f2 -/* 0C86E4 7F093BB4 24020001 */ li $v0, 1 -/* 0C86E8 7F093BB8 46045180 */ add.s $f6, $f10, $f4 -/* 0C86EC 7F093BBC 46101282 */ mul.s $f10, $f2, $f16 -/* 0C86F0 7F093BC0 E4660000 */ swc1 $f6, ($v1) -/* 0C86F4 7F093BC4 C6280004 */ lwc1 $f8, 4($s1) -/* 0C86F8 7F093BC8 460A4100 */ add.s $f4, $f8, $f10 -/* 0C86FC 7F093BCC E4640004 */ swc1 $f4, 4($v1) -/* 0C8700 7F093BD0 C6060008 */ lwc1 $f6, 8($s0) -/* 0C8704 7F093BD4 C62A0008 */ lwc1 $f10, 8($s1) -/* 0C8708 7F093BD8 46023202 */ mul.s $f8, $f6, $f2 -/* 0C870C 7F093BDC 460A4100 */ add.s $f4, $f8, $f10 -/* 0C8710 7F093BE0 10000001 */ b .L7F093BE8 -/* 0C8714 7F093BE4 E4640008 */ swc1 $f4, 8($v1) -.L7F093BE8: -/* 0C8718 7F093BE8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C871C 7F093BEC 8FB00014 */ lw $s0, 0x14($sp) -/* 0C8720 7F093BF0 8FB10018 */ lw $s1, 0x18($sp) -/* 0C8724 7F093BF4 03E00008 */ jr $ra -/* 0C8728 7F093BF8 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F093BFC(void *arg0, void *arg1, void *arg2) { - f32 temp_f0; - - // Node 0 - arg2->unk4 = 0.0f; - temp_f0 = (arg0->unk4 / (arg0->unk4 - arg1->unk4)); - *arg2 = (f32) (((*arg1 - *arg0) * temp_f0) + *arg0); - arg2->unk8 = (f32) (((arg1->unk8 - arg0->unk8) * temp_f0) + arg0->unk8); - return temp_f0; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F093BFC -/* 0C872C 7F093BFC C4820004 */ lwc1 $f2, 4($a0) -/* 0C8730 7F093C00 C4A40004 */ lwc1 $f4, 4($a1) -/* 0C8734 7F093C04 C48C0000 */ lwc1 $f12, ($a0) -/* 0C8738 7F093C08 C4A80000 */ lwc1 $f8, ($a1) -/* 0C873C 7F093C0C 46041181 */ sub.s $f6, $f2, $f4 -/* 0C8740 7F093C10 44802000 */ mtc1 $zero, $f4 -/* 0C8744 7F093C14 460C4281 */ sub.s $f10, $f8, $f12 -/* 0C8748 7F093C18 E4C40004 */ swc1 $f4, 4($a2) -/* 0C874C 7F093C1C 46061003 */ div.s $f0, $f2, $f6 -/* 0C8750 7F093C20 46005402 */ mul.s $f16, $f10, $f0 -/* 0C8754 7F093C24 460C8480 */ add.s $f18, $f16, $f12 -/* 0C8758 7F093C28 E4D20000 */ swc1 $f18, ($a2) -/* 0C875C 7F093C2C C4A60008 */ lwc1 $f6, 8($a1) -/* 0C8760 7F093C30 C48E0008 */ lwc1 $f14, 8($a0) -/* 0C8764 7F093C34 460E3201 */ sub.s $f8, $f6, $f14 -/* 0C8768 7F093C38 46004282 */ mul.s $f10, $f8, $f0 -/* 0C876C 7F093C3C 460E5400 */ add.s $f16, $f10, $f14 -/* 0C8770 7F093C40 03E00008 */ jr $ra -/* 0C8774 7F093C44 E4D00008 */ swc1 $f16, 8($a2) -) -#endif - - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F093C48(f32 arg0, f32 arg1, f32 arg2) { - // Node 0 - if (arg0 < arg1) - { - // Node 1 - return arg1; - } - // Node 2 - if (arg2 < arg0) - { - // Node 3 - return arg2; - } - // Node 4 - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F093C48 -/* 0C8778 7F093C48 460E603C */ c.lt.s $f12, $f14 -/* 0C877C 7F093C4C AFA60008 */ sw $a2, 8($sp) -/* 0C8780 7F093C50 C7A40008 */ lwc1 $f4, 8($sp) -/* 0C8784 7F093C54 45020004 */ bc1fl .L7F093C68 -/* 0C8788 7F093C58 460C203C */ c.lt.s $f4, $f12 -/* 0C878C 7F093C5C 03E00008 */ jr $ra -/* 0C8790 7F093C60 46007006 */ mov.s $f0, $f14 - -/* 0C8794 7F093C64 460C203C */ c.lt.s $f4, $f12 -.L7F093C68: -/* 0C8798 7F093C68 00000000 */ nop -/* 0C879C 7F093C6C 45020004 */ bc1fl .L7F093C80 -/* 0C87A0 7F093C70 46006006 */ mov.s $f0, $f12 -/* 0C87A4 7F093C74 03E00008 */ jr $ra -/* 0C87A8 7F093C78 46002006 */ mov.s $f0, $f4 - -/* 0C87AC 7F093C7C 46006006 */ mov.s $f0, $f12 -.L7F093C80: -/* 0C87B0 7F093C80 03E00008 */ jr $ra -/* 0C87B4 7F093C84 00000000 */ nop -) -#endif - - - - - -f32 addpoint5tofloat(f32 arg0) { - return (f32) (s32) (arg0 + 0.5f); -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F093CB0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F093CB0 -/* 0C87E0 7F093CB0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C87E4 7F093CB4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C87E8 7F093CB8 AFA40030 */ sw $a0, 0x30($sp) -/* 0C87EC 7F093CBC 0FC2E9CB */ jal get_ptr_currentdata -/* 0C87F0 7F093CC0 AFA50034 */ sw $a1, 0x34($sp) -/* 0C87F4 7F093CC4 904E0008 */ lbu $t6, 8($v0) -/* 0C87F8 7F093CC8 448E2000 */ mtc1 $t6, $f4 -/* 0C87FC 7F093CCC 05C10005 */ bgez $t6, .L7F093CE4 -/* 0C8800 7F093CD0 468021A0 */ cvt.s.w $f6, $f4 -/* 0C8804 7F093CD4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C8808 7F093CD8 44814000 */ mtc1 $at, $f8 -/* 0C880C 7F093CDC 00000000 */ nop -/* 0C8810 7F093CE0 46083180 */ add.s $f6, $f6, $f8 -.L7F093CE4: -/* 0C8814 7F093CE4 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8818 7F093CE8 E7A6002C */ swc1 $f6, 0x2c($sp) -/* 0C881C 7F093CEC 904F0009 */ lbu $t7, 9($v0) -/* 0C8820 7F093CF0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C8824 7F093CF4 448F5000 */ mtc1 $t7, $f10 -/* 0C8828 7F093CF8 05E10004 */ bgez $t7, .L7F093D0C -/* 0C882C 7F093CFC 46805420 */ cvt.s.w $f16, $f10 -/* 0C8830 7F093D00 44819000 */ mtc1 $at, $f18 -/* 0C8834 7F093D04 00000000 */ nop -/* 0C8838 7F093D08 46128400 */ add.s $f16, $f16, $f18 -.L7F093D0C: -/* 0C883C 7F093D0C 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8840 7F093D10 E7B00028 */ swc1 $f16, 0x28($sp) -/* 0C8844 7F093D14 9058000A */ lbu $t8, 0xa($v0) -/* 0C8848 7F093D18 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C884C 7F093D1C 44982000 */ mtc1 $t8, $f4 -/* 0C8850 7F093D20 07010004 */ bgez $t8, .L7F093D34 -/* 0C8854 7F093D24 46802220 */ cvt.s.w $f8, $f4 -/* 0C8858 7F093D28 44813000 */ mtc1 $at, $f6 -/* 0C885C 7F093D2C 00000000 */ nop -/* 0C8860 7F093D30 46064200 */ add.s $f8, $f8, $f6 -.L7F093D34: -/* 0C8864 7F093D34 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8868 7F093D38 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0C886C 7F093D3C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C8870 7F093D40 44811000 */ mtc1 $at, $f2 -/* 0C8874 7F093D44 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0C8878 7F093D48 44818000 */ mtc1 $at, $f16 -/* 0C887C 7F093D4C C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 0C8880 7F093D50 C4520014 */ lwc1 $f18, 0x14($v0) -/* 0C8884 7F093D54 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 0C8888 7F093D58 46106103 */ div.s $f4, $f12, $f16 -/* 0C888C 7F093D5C 24080001 */ li $t0, 1 -/* 0C8890 7F093D60 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8894 7F093D64 8FA90030 */ lw $t1, 0x30($sp) -/* 0C8898 7F093D68 460A1001 */ sub.s $f0, $f2, $f10 -/* 0C889C 7F093D6C 46041181 */ sub.s $f6, $f2, $f4 -/* 0C88A0 7F093D70 46069202 */ mul.s $f8, $f18, $f6 -/* 0C88A4 7F093D74 00000000 */ nop -/* 0C88A8 7F093D78 46004282 */ mul.s $f10, $f8, $f0 -/* 0C88AC 7F093D7C 460C5400 */ add.s $f16, $f10, $f12 -/* 0C88B0 7F093D80 4459F800 */ cfc1 $t9, $31 -/* 0C88B4 7F093D84 44C8F800 */ ctc1 $t0, $31 -/* 0C88B8 7F093D88 00000000 */ nop -/* 0C88BC 7F093D8C 46008124 */ cvt.w.s $f4, $f16 -/* 0C88C0 7F093D90 4448F800 */ cfc1 $t0, $31 -/* 0C88C4 7F093D94 00000000 */ nop -/* 0C88C8 7F093D98 31080078 */ andi $t0, $t0, 0x78 -/* 0C88CC 7F093D9C 11000012 */ beqz $t0, .L7F093DE8 -/* 0C88D0 7F093DA0 00000000 */ nop -/* 0C88D4 7F093DA4 44812000 */ mtc1 $at, $f4 -/* 0C88D8 7F093DA8 24080001 */ li $t0, 1 -/* 0C88DC 7F093DAC 46048101 */ sub.s $f4, $f16, $f4 -/* 0C88E0 7F093DB0 44C8F800 */ ctc1 $t0, $31 -/* 0C88E4 7F093DB4 00000000 */ nop -/* 0C88E8 7F093DB8 46002124 */ cvt.w.s $f4, $f4 -/* 0C88EC 7F093DBC 4448F800 */ cfc1 $t0, $31 -/* 0C88F0 7F093DC0 00000000 */ nop -/* 0C88F4 7F093DC4 31080078 */ andi $t0, $t0, 0x78 -/* 0C88F8 7F093DC8 15000005 */ bnez $t0, .L7F093DE0 -/* 0C88FC 7F093DCC 00000000 */ nop -/* 0C8900 7F093DD0 44082000 */ mfc1 $t0, $f4 -/* 0C8904 7F093DD4 3C018000 */ lui $at, 0x8000 -/* 0C8908 7F093DD8 10000007 */ b .L7F093DF8 -/* 0C890C 7F093DDC 01014025 */ or $t0, $t0, $at -.L7F093DE0: -/* 0C8910 7F093DE0 10000005 */ b .L7F093DF8 -/* 0C8914 7F093DE4 2408FFFF */ li $t0, -1 -.L7F093DE8: -/* 0C8918 7F093DE8 44082000 */ mfc1 $t0, $f4 -/* 0C891C 7F093DEC 00000000 */ nop -/* 0C8920 7F093DF0 0500FFFB */ bltz $t0, .L7F093DE0 -/* 0C8924 7F093DF4 00000000 */ nop -.L7F093DF8: -/* 0C8928 7F093DF8 44D9F800 */ ctc1 $t9, $31 -/* 0C892C 7F093DFC A1280014 */ sb $t0, 0x14($t1) -/* 0C8930 7F093E00 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8934 7F093E04 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0C8938 7F093E08 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C893C 7F093E0C 44819000 */ mtc1 $at, $f18 -/* 0C8940 7F093E10 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0C8944 7F093E14 44813000 */ mtc1 $at, $f6 -/* 0C8948 7F093E18 C7A00028 */ lwc1 $f0, 0x28($sp) -/* 0C894C 7F093E1C C4500018 */ lwc1 $f16, 0x18($v0) -/* 0C8950 7F093E20 240B0001 */ li $t3, 1 -/* 0C8954 7F093E24 46060203 */ div.s $f8, $f0, $f6 -/* 0C8958 7F093E28 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 0C895C 7F093E2C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8960 7F093E30 8FAC0030 */ lw $t4, 0x30($sp) -/* 0C8964 7F093E34 46089281 */ sub.s $f10, $f18, $f8 -/* 0C8968 7F093E38 460A8102 */ mul.s $f4, $f16, $f10 -/* 0C896C 7F093E3C 00000000 */ nop -/* 0C8970 7F093E40 46062482 */ mul.s $f18, $f4, $f6 -/* 0C8974 7F093E44 46009200 */ add.s $f8, $f18, $f0 -/* 0C8978 7F093E48 444AF800 */ cfc1 $t2, $31 -/* 0C897C 7F093E4C 44CBF800 */ ctc1 $t3, $31 -/* 0C8980 7F093E50 00000000 */ nop -/* 0C8984 7F093E54 46004424 */ cvt.w.s $f16, $f8 -/* 0C8988 7F093E58 444BF800 */ cfc1 $t3, $31 -/* 0C898C 7F093E5C 00000000 */ nop -/* 0C8990 7F093E60 316B0078 */ andi $t3, $t3, 0x78 -/* 0C8994 7F093E64 11600012 */ beqz $t3, .L7F093EB0 -/* 0C8998 7F093E68 00000000 */ nop -/* 0C899C 7F093E6C 44818000 */ mtc1 $at, $f16 -/* 0C89A0 7F093E70 240B0001 */ li $t3, 1 -/* 0C89A4 7F093E74 46104401 */ sub.s $f16, $f8, $f16 -/* 0C89A8 7F093E78 44CBF800 */ ctc1 $t3, $31 -/* 0C89AC 7F093E7C 00000000 */ nop -/* 0C89B0 7F093E80 46008424 */ cvt.w.s $f16, $f16 -/* 0C89B4 7F093E84 444BF800 */ cfc1 $t3, $31 -/* 0C89B8 7F093E88 00000000 */ nop -/* 0C89BC 7F093E8C 316B0078 */ andi $t3, $t3, 0x78 -/* 0C89C0 7F093E90 15600005 */ bnez $t3, .L7F093EA8 -/* 0C89C4 7F093E94 00000000 */ nop -/* 0C89C8 7F093E98 440B8000 */ mfc1 $t3, $f16 -/* 0C89CC 7F093E9C 3C018000 */ lui $at, 0x8000 -/* 0C89D0 7F093EA0 10000007 */ b .L7F093EC0 -/* 0C89D4 7F093EA4 01615825 */ or $t3, $t3, $at -.L7F093EA8: -/* 0C89D8 7F093EA8 10000005 */ b .L7F093EC0 -/* 0C89DC 7F093EAC 240BFFFF */ li $t3, -1 -.L7F093EB0: -/* 0C89E0 7F093EB0 440B8000 */ mfc1 $t3, $f16 -/* 0C89E4 7F093EB4 00000000 */ nop -/* 0C89E8 7F093EB8 0560FFFB */ bltz $t3, .L7F093EA8 -/* 0C89EC 7F093EBC 00000000 */ nop -.L7F093EC0: -/* 0C89F0 7F093EC0 44CAF800 */ ctc1 $t2, $31 -/* 0C89F4 7F093EC4 0FC2E9CB */ jal get_ptr_currentdata -/* 0C89F8 7F093EC8 A18B0015 */ sb $t3, 0x15($t4) -/* 0C89FC 7F093ECC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C8A00 7F093ED0 44815000 */ mtc1 $at, $f10 -/* 0C8A04 7F093ED4 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0C8A08 7F093ED8 44812000 */ mtc1 $at, $f4 -/* 0C8A0C 7F093EDC C7A00024 */ lwc1 $f0, 0x24($sp) -/* 0C8A10 7F093EE0 C448001C */ lwc1 $f8, 0x1c($v0) -/* 0C8A14 7F093EE4 240E0001 */ li $t6, 1 -/* 0C8A18 7F093EE8 46040183 */ div.s $f6, $f0, $f4 -/* 0C8A1C 7F093EEC C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0C8A20 7F093EF0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8A24 7F093EF4 8FAF0030 */ lw $t7, 0x30($sp) -/* 0C8A28 7F093EF8 241800FF */ li $t8, 255 -/* 0C8A2C 7F093EFC 46065481 */ sub.s $f18, $f10, $f6 -/* 0C8A30 7F093F00 46124402 */ mul.s $f16, $f8, $f18 -/* 0C8A34 7F093F04 00000000 */ nop -/* 0C8A38 7F093F08 46048282 */ mul.s $f10, $f16, $f4 -/* 0C8A3C 7F093F0C 46005180 */ add.s $f6, $f10, $f0 -/* 0C8A40 7F093F10 444DF800 */ cfc1 $t5, $31 -/* 0C8A44 7F093F14 44CEF800 */ ctc1 $t6, $31 -/* 0C8A48 7F093F18 00000000 */ nop -/* 0C8A4C 7F093F1C 46003224 */ cvt.w.s $f8, $f6 -/* 0C8A50 7F093F20 444EF800 */ cfc1 $t6, $31 -/* 0C8A54 7F093F24 00000000 */ nop -/* 0C8A58 7F093F28 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C8A5C 7F093F2C 11C00012 */ beqz $t6, .L7F093F78 -/* 0C8A60 7F093F30 00000000 */ nop -/* 0C8A64 7F093F34 44814000 */ mtc1 $at, $f8 -/* 0C8A68 7F093F38 240E0001 */ li $t6, 1 -/* 0C8A6C 7F093F3C 46083201 */ sub.s $f8, $f6, $f8 -/* 0C8A70 7F093F40 44CEF800 */ ctc1 $t6, $31 -/* 0C8A74 7F093F44 00000000 */ nop -/* 0C8A78 7F093F48 46004224 */ cvt.w.s $f8, $f8 -/* 0C8A7C 7F093F4C 444EF800 */ cfc1 $t6, $31 -/* 0C8A80 7F093F50 00000000 */ nop -/* 0C8A84 7F093F54 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C8A88 7F093F58 15C00005 */ bnez $t6, .L7F093F70 -/* 0C8A8C 7F093F5C 00000000 */ nop -/* 0C8A90 7F093F60 440E4000 */ mfc1 $t6, $f8 -/* 0C8A94 7F093F64 3C018000 */ lui $at, 0x8000 -/* 0C8A98 7F093F68 10000007 */ b .L7F093F88 -/* 0C8A9C 7F093F6C 01C17025 */ or $t6, $t6, $at -.L7F093F70: -/* 0C8AA0 7F093F70 10000005 */ b .L7F093F88 -/* 0C8AA4 7F093F74 240EFFFF */ li $t6, -1 -.L7F093F78: -/* 0C8AA8 7F093F78 440E4000 */ mfc1 $t6, $f8 -/* 0C8AAC 7F093F7C 00000000 */ nop -/* 0C8AB0 7F093F80 05C0FFFB */ bltz $t6, .L7F093F70 -/* 0C8AB4 7F093F84 00000000 */ nop -.L7F093F88: -/* 0C8AB8 7F093F88 A1EE0016 */ sb $t6, 0x16($t7) -/* 0C8ABC 7F093F8C A1F80017 */ sb $t8, 0x17($t7) -/* 0C8AC0 7F093F90 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C8AC4 7F093F94 44CDF800 */ ctc1 $t5, $31 -/* 0C8AC8 7F093F98 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C8ACC 7F093F9C 03E00008 */ jr $ra -/* 0C8AD0 7F093FA0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F093FA4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F093FA4 -/* 0C8AD4 7F093FA4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C8AD8 7F093FA8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C8ADC 7F093FAC AFA40030 */ sw $a0, 0x30($sp) -/* 0C8AE0 7F093FB0 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8AE4 7F093FB4 AFA50034 */ sw $a1, 0x34($sp) -/* 0C8AE8 7F093FB8 904E0008 */ lbu $t6, 8($v0) -/* 0C8AEC 7F093FBC 448E2000 */ mtc1 $t6, $f4 -/* 0C8AF0 7F093FC0 05C10005 */ bgez $t6, .L7F093FD8 -/* 0C8AF4 7F093FC4 468021A0 */ cvt.s.w $f6, $f4 -/* 0C8AF8 7F093FC8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C8AFC 7F093FCC 44814000 */ mtc1 $at, $f8 -/* 0C8B00 7F093FD0 00000000 */ nop -/* 0C8B04 7F093FD4 46083180 */ add.s $f6, $f6, $f8 -.L7F093FD8: -/* 0C8B08 7F093FD8 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8B0C 7F093FDC E7A6002C */ swc1 $f6, 0x2c($sp) -/* 0C8B10 7F093FE0 904F0009 */ lbu $t7, 9($v0) -/* 0C8B14 7F093FE4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C8B18 7F093FE8 448F5000 */ mtc1 $t7, $f10 -/* 0C8B1C 7F093FEC 05E10004 */ bgez $t7, .L7F094000 -/* 0C8B20 7F093FF0 46805420 */ cvt.s.w $f16, $f10 -/* 0C8B24 7F093FF4 44819000 */ mtc1 $at, $f18 -/* 0C8B28 7F093FF8 00000000 */ nop -/* 0C8B2C 7F093FFC 46128400 */ add.s $f16, $f16, $f18 -.L7F094000: -/* 0C8B30 7F094000 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8B34 7F094004 E7B00028 */ swc1 $f16, 0x28($sp) -/* 0C8B38 7F094008 9058000A */ lbu $t8, 0xa($v0) -/* 0C8B3C 7F09400C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C8B40 7F094010 44982000 */ mtc1 $t8, $f4 -/* 0C8B44 7F094014 07010004 */ bgez $t8, .L7F094028 -/* 0C8B48 7F094018 46802220 */ cvt.s.w $f8, $f4 -/* 0C8B4C 7F09401C 44813000 */ mtc1 $at, $f6 -/* 0C8B50 7F094020 00000000 */ nop -/* 0C8B54 7F094024 46064200 */ add.s $f8, $f8, $f6 -.L7F094028: -/* 0C8B58 7F094028 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8B5C 7F09402C E7A80024 */ swc1 $f8, 0x24($sp) -/* 0C8B60 7F094030 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C8B64 7F094034 44811000 */ mtc1 $at, $f2 -/* 0C8B68 7F094038 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0C8B6C 7F09403C 44818000 */ mtc1 $at, $f16 -/* 0C8B70 7F094040 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 0C8B74 7F094044 C452002C */ lwc1 $f18, 0x2c($v0) -/* 0C8B78 7F094048 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 0C8B7C 7F09404C 46106103 */ div.s $f4, $f12, $f16 -/* 0C8B80 7F094050 24080001 */ li $t0, 1 -/* 0C8B84 7F094054 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8B88 7F094058 8FA90030 */ lw $t1, 0x30($sp) -/* 0C8B8C 7F09405C 460A1001 */ sub.s $f0, $f2, $f10 -/* 0C8B90 7F094060 46041181 */ sub.s $f6, $f2, $f4 -/* 0C8B94 7F094064 46069202 */ mul.s $f8, $f18, $f6 -/* 0C8B98 7F094068 00000000 */ nop -/* 0C8B9C 7F09406C 46004282 */ mul.s $f10, $f8, $f0 -/* 0C8BA0 7F094070 460C5400 */ add.s $f16, $f10, $f12 -/* 0C8BA4 7F094074 4459F800 */ cfc1 $t9, $31 -/* 0C8BA8 7F094078 44C8F800 */ ctc1 $t0, $31 -/* 0C8BAC 7F09407C 00000000 */ nop -/* 0C8BB0 7F094080 46008124 */ cvt.w.s $f4, $f16 -/* 0C8BB4 7F094084 4448F800 */ cfc1 $t0, $31 -/* 0C8BB8 7F094088 00000000 */ nop -/* 0C8BBC 7F09408C 31080078 */ andi $t0, $t0, 0x78 -/* 0C8BC0 7F094090 11000012 */ beqz $t0, .L7F0940DC -/* 0C8BC4 7F094094 00000000 */ nop -/* 0C8BC8 7F094098 44812000 */ mtc1 $at, $f4 -/* 0C8BCC 7F09409C 24080001 */ li $t0, 1 -/* 0C8BD0 7F0940A0 46048101 */ sub.s $f4, $f16, $f4 -/* 0C8BD4 7F0940A4 44C8F800 */ ctc1 $t0, $31 -/* 0C8BD8 7F0940A8 00000000 */ nop -/* 0C8BDC 7F0940AC 46002124 */ cvt.w.s $f4, $f4 -/* 0C8BE0 7F0940B0 4448F800 */ cfc1 $t0, $31 -/* 0C8BE4 7F0940B4 00000000 */ nop -/* 0C8BE8 7F0940B8 31080078 */ andi $t0, $t0, 0x78 -/* 0C8BEC 7F0940BC 15000005 */ bnez $t0, .L7F0940D4 -/* 0C8BF0 7F0940C0 00000000 */ nop -/* 0C8BF4 7F0940C4 44082000 */ mfc1 $t0, $f4 -/* 0C8BF8 7F0940C8 3C018000 */ lui $at, 0x8000 -/* 0C8BFC 7F0940CC 10000007 */ b .L7F0940EC -/* 0C8C00 7F0940D0 01014025 */ or $t0, $t0, $at -.L7F0940D4: -/* 0C8C04 7F0940D4 10000005 */ b .L7F0940EC -/* 0C8C08 7F0940D8 2408FFFF */ li $t0, -1 -.L7F0940DC: -/* 0C8C0C 7F0940DC 44082000 */ mfc1 $t0, $f4 -/* 0C8C10 7F0940E0 00000000 */ nop -/* 0C8C14 7F0940E4 0500FFFB */ bltz $t0, .L7F0940D4 -/* 0C8C18 7F0940E8 00000000 */ nop -.L7F0940EC: -/* 0C8C1C 7F0940EC 44D9F800 */ ctc1 $t9, $31 -/* 0C8C20 7F0940F0 A1280014 */ sb $t0, 0x14($t1) -/* 0C8C24 7F0940F4 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8C28 7F0940F8 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0C8C2C 7F0940FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C8C30 7F094100 44819000 */ mtc1 $at, $f18 -/* 0C8C34 7F094104 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0C8C38 7F094108 44813000 */ mtc1 $at, $f6 -/* 0C8C3C 7F09410C C7A00028 */ lwc1 $f0, 0x28($sp) -/* 0C8C40 7F094110 C4500030 */ lwc1 $f16, 0x30($v0) -/* 0C8C44 7F094114 240B0001 */ li $t3, 1 -/* 0C8C48 7F094118 46060203 */ div.s $f8, $f0, $f6 -/* 0C8C4C 7F09411C C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 0C8C50 7F094120 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8C54 7F094124 8FAC0030 */ lw $t4, 0x30($sp) -/* 0C8C58 7F094128 46089281 */ sub.s $f10, $f18, $f8 -/* 0C8C5C 7F09412C 460A8102 */ mul.s $f4, $f16, $f10 -/* 0C8C60 7F094130 00000000 */ nop -/* 0C8C64 7F094134 46062482 */ mul.s $f18, $f4, $f6 -/* 0C8C68 7F094138 46009200 */ add.s $f8, $f18, $f0 -/* 0C8C6C 7F09413C 444AF800 */ cfc1 $t2, $31 -/* 0C8C70 7F094140 44CBF800 */ ctc1 $t3, $31 -/* 0C8C74 7F094144 00000000 */ nop -/* 0C8C78 7F094148 46004424 */ cvt.w.s $f16, $f8 -/* 0C8C7C 7F09414C 444BF800 */ cfc1 $t3, $31 -/* 0C8C80 7F094150 00000000 */ nop -/* 0C8C84 7F094154 316B0078 */ andi $t3, $t3, 0x78 -/* 0C8C88 7F094158 11600012 */ beqz $t3, .L7F0941A4 -/* 0C8C8C 7F09415C 00000000 */ nop -/* 0C8C90 7F094160 44818000 */ mtc1 $at, $f16 -/* 0C8C94 7F094164 240B0001 */ li $t3, 1 -/* 0C8C98 7F094168 46104401 */ sub.s $f16, $f8, $f16 -/* 0C8C9C 7F09416C 44CBF800 */ ctc1 $t3, $31 -/* 0C8CA0 7F094170 00000000 */ nop -/* 0C8CA4 7F094174 46008424 */ cvt.w.s $f16, $f16 -/* 0C8CA8 7F094178 444BF800 */ cfc1 $t3, $31 -/* 0C8CAC 7F09417C 00000000 */ nop -/* 0C8CB0 7F094180 316B0078 */ andi $t3, $t3, 0x78 -/* 0C8CB4 7F094184 15600005 */ bnez $t3, .L7F09419C -/* 0C8CB8 7F094188 00000000 */ nop -/* 0C8CBC 7F09418C 440B8000 */ mfc1 $t3, $f16 -/* 0C8CC0 7F094190 3C018000 */ lui $at, 0x8000 -/* 0C8CC4 7F094194 10000007 */ b .L7F0941B4 -/* 0C8CC8 7F094198 01615825 */ or $t3, $t3, $at -.L7F09419C: -/* 0C8CCC 7F09419C 10000005 */ b .L7F0941B4 -/* 0C8CD0 7F0941A0 240BFFFF */ li $t3, -1 -.L7F0941A4: -/* 0C8CD4 7F0941A4 440B8000 */ mfc1 $t3, $f16 -/* 0C8CD8 7F0941A8 00000000 */ nop -/* 0C8CDC 7F0941AC 0560FFFB */ bltz $t3, .L7F09419C -/* 0C8CE0 7F0941B0 00000000 */ nop -.L7F0941B4: -/* 0C8CE4 7F0941B4 44CAF800 */ ctc1 $t2, $31 -/* 0C8CE8 7F0941B8 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8CEC 7F0941BC A18B0015 */ sb $t3, 0x15($t4) -/* 0C8CF0 7F0941C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C8CF4 7F0941C4 44815000 */ mtc1 $at, $f10 -/* 0C8CF8 7F0941C8 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0C8CFC 7F0941CC 44812000 */ mtc1 $at, $f4 -/* 0C8D00 7F0941D0 C7A00024 */ lwc1 $f0, 0x24($sp) -/* 0C8D04 7F0941D4 C4480034 */ lwc1 $f8, 0x34($v0) -/* 0C8D08 7F0941D8 240E0001 */ li $t6, 1 -/* 0C8D0C 7F0941DC 46040183 */ div.s $f6, $f0, $f4 -/* 0C8D10 7F0941E0 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0C8D14 7F0941E4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8D18 7F0941E8 8FAF0030 */ lw $t7, 0x30($sp) -/* 0C8D1C 7F0941EC 241800FF */ li $t8, 255 -/* 0C8D20 7F0941F0 46065481 */ sub.s $f18, $f10, $f6 -/* 0C8D24 7F0941F4 46124402 */ mul.s $f16, $f8, $f18 -/* 0C8D28 7F0941F8 00000000 */ nop -/* 0C8D2C 7F0941FC 46048282 */ mul.s $f10, $f16, $f4 -/* 0C8D30 7F094200 46005180 */ add.s $f6, $f10, $f0 -/* 0C8D34 7F094204 444DF800 */ cfc1 $t5, $31 -/* 0C8D38 7F094208 44CEF800 */ ctc1 $t6, $31 -/* 0C8D3C 7F09420C 00000000 */ nop -/* 0C8D40 7F094210 46003224 */ cvt.w.s $f8, $f6 -/* 0C8D44 7F094214 444EF800 */ cfc1 $t6, $31 -/* 0C8D48 7F094218 00000000 */ nop -/* 0C8D4C 7F09421C 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C8D50 7F094220 11C00012 */ beqz $t6, .L7F09426C -/* 0C8D54 7F094224 00000000 */ nop -/* 0C8D58 7F094228 44814000 */ mtc1 $at, $f8 -/* 0C8D5C 7F09422C 240E0001 */ li $t6, 1 -/* 0C8D60 7F094230 46083201 */ sub.s $f8, $f6, $f8 -/* 0C8D64 7F094234 44CEF800 */ ctc1 $t6, $31 -/* 0C8D68 7F094238 00000000 */ nop -/* 0C8D6C 7F09423C 46004224 */ cvt.w.s $f8, $f8 -/* 0C8D70 7F094240 444EF800 */ cfc1 $t6, $31 -/* 0C8D74 7F094244 00000000 */ nop -/* 0C8D78 7F094248 31CE0078 */ andi $t6, $t6, 0x78 -/* 0C8D7C 7F09424C 15C00005 */ bnez $t6, .L7F094264 -/* 0C8D80 7F094250 00000000 */ nop -/* 0C8D84 7F094254 440E4000 */ mfc1 $t6, $f8 -/* 0C8D88 7F094258 3C018000 */ lui $at, 0x8000 -/* 0C8D8C 7F09425C 10000007 */ b .L7F09427C -/* 0C8D90 7F094260 01C17025 */ or $t6, $t6, $at -.L7F094264: -/* 0C8D94 7F094264 10000005 */ b .L7F09427C -/* 0C8D98 7F094268 240EFFFF */ li $t6, -1 -.L7F09426C: -/* 0C8D9C 7F09426C 440E4000 */ mfc1 $t6, $f8 -/* 0C8DA0 7F094270 00000000 */ nop -/* 0C8DA4 7F094274 05C0FFFB */ bltz $t6, .L7F094264 -/* 0C8DA8 7F094278 00000000 */ nop -.L7F09427C: -/* 0C8DAC 7F09427C A1EE0016 */ sb $t6, 0x16($t7) -/* 0C8DB0 7F094280 A1F80017 */ sb $t8, 0x17($t7) -/* 0C8DB4 7F094284 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C8DB8 7F094288 44CDF800 */ ctc1 $t5, $31 -/* 0C8DBC 7F09428C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C8DC0 7F094290 03E00008 */ jr $ra -/* 0C8DC4 7F094294 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F094298(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057538 -.word 0x46ffffcd /*32767.9*/ -glabel D_8005753C -.word 0xc6ffffcd /*-32767.9*/ -glabel D_80057540 -.word 0x3dcccccd /*0.1*/ -.text -glabel sub_GAME_7F094298 -/* 0C8DC8 7F094298 3C018005 */ lui $at, %hi(D_80057538) -/* 0C8DCC 7F09429C C4207538 */ lwc1 $f0, %lo(D_80057538)($at) -/* 0C8DD0 7F0942A0 44802000 */ mtc1 $zero, $f4 -/* 0C8DD4 7F0942A4 3C018005 */ lui $at, %hi(D_8005753C) -/* 0C8DD8 7F0942A8 460C003C */ c.lt.s $f0, $f12 -/* 0C8DDC 7F0942AC 00000000 */ nop -/* 0C8DE0 7F0942B0 45000002 */ bc1f .L7F0942BC -/* 0C8DE4 7F0942B4 00000000 */ nop -/* 0C8DE8 7F0942B8 46000306 */ mov.s $f12, $f0 -.L7F0942BC: -/* 0C8DEC 7F0942BC C420753C */ lwc1 $f0, %lo(D_8005753C)($at) -/* 0C8DF0 7F0942C0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0C8DF4 7F0942C4 4600603C */ c.lt.s $f12, $f0 -/* 0C8DF8 7F0942C8 00000000 */ nop -/* 0C8DFC 7F0942CC 45020003 */ bc1fl .L7F0942DC -/* 0C8E00 7F0942D0 4604603C */ c.lt.s $f12, $f4 -/* 0C8E04 7F0942D4 46000306 */ mov.s $f12, $f0 -/* 0C8E08 7F0942D8 4604603C */ c.lt.s $f12, $f4 -.L7F0942DC: -/* 0C8E0C 7F0942DC 00000000 */ nop -/* 0C8E10 7F0942E0 4502002C */ bc1fl .L7F094394 -/* 0C8E14 7F0942E4 44818000 */ mtc1 $at, $f16 -/* 0C8E18 7F0942E8 3C01C780 */ li $at, 0xC7800000 # -65536.000000 -/* 0C8E1C 7F0942EC 44813000 */ mtc1 $at, $f6 -/* 0C8E20 7F0942F0 24030001 */ li $v1, 1 -/* 0C8E24 7F0942F4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8E28 7F0942F8 46066202 */ mul.s $f8, $f12, $f6 -/* 0C8E2C 7F0942FC 444EF800 */ cfc1 $t6, $31 -/* 0C8E30 7F094300 44C3F800 */ ctc1 $v1, $31 -/* 0C8E34 7F094304 00000000 */ nop -/* 0C8E38 7F094308 460042A4 */ cvt.w.s $f10, $f8 -/* 0C8E3C 7F09430C 4443F800 */ cfc1 $v1, $31 -/* 0C8E40 7F094310 00000000 */ nop -/* 0C8E44 7F094314 30630078 */ andi $v1, $v1, 0x78 -/* 0C8E48 7F094318 50600017 */ beql $v1, $zero, .L7F094378 -/* 0C8E4C 7F09431C 44035000 */ mfc1 $v1, $f10 -/* 0C8E50 7F094320 44815000 */ mtc1 $at, $f10 -/* 0C8E54 7F094324 24030001 */ li $v1, 1 -/* 0C8E58 7F094328 460A4281 */ sub.s $f10, $f8, $f10 -/* 0C8E5C 7F09432C 44C3F800 */ ctc1 $v1, $31 -/* 0C8E60 7F094330 00000000 */ nop -/* 0C8E64 7F094334 460052A4 */ cvt.w.s $f10, $f10 -/* 0C8E68 7F094338 4443F800 */ cfc1 $v1, $31 -/* 0C8E6C 7F09433C 00000000 */ nop -/* 0C8E70 7F094340 30630078 */ andi $v1, $v1, 0x78 -/* 0C8E74 7F094344 54600008 */ bnezl $v1, .L7F094368 -/* 0C8E78 7F094348 2403FFFF */ li $v1, -1 -/* 0C8E7C 7F09434C 44035000 */ mfc1 $v1, $f10 -/* 0C8E80 7F094350 3C018000 */ lui $at, 0x8000 -/* 0C8E84 7F094354 44CEF800 */ ctc1 $t6, $31 -/* 0C8E88 7F094358 00611825 */ or $v1, $v1, $at -/* 0C8E8C 7F09435C 03E00008 */ jr $ra -/* 0C8E90 7F094360 00031023 */ negu $v0, $v1 - -/* 0C8E94 7F094364 2403FFFF */ li $v1, -1 -.L7F094368: -/* 0C8E98 7F094368 44CEF800 */ ctc1 $t6, $31 -/* 0C8E9C 7F09436C 03E00008 */ jr $ra -/* 0C8EA0 7F094370 00031023 */ negu $v0, $v1 - -/* 0C8EA4 7F094374 44035000 */ mfc1 $v1, $f10 -.L7F094378: -/* 0C8EA8 7F094378 00000000 */ nop -/* 0C8EAC 7F09437C 0462FFFA */ bltzl $v1, .L7F094368 -/* 0C8EB0 7F094380 2403FFFF */ li $v1, -1 -/* 0C8EB4 7F094384 44CEF800 */ ctc1 $t6, $31 -/* 0C8EB8 7F094388 03E00008 */ jr $ra -/* 0C8EBC 7F09438C 00031023 */ negu $v0, $v1 - -/* 0C8EC0 7F094390 44818000 */ mtc1 $at, $f16 -.L7F094394: -/* 0C8EC4 7F094394 24030001 */ li $v1, 1 -/* 0C8EC8 7F094398 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C8ECC 7F09439C 460C8482 */ mul.s $f18, $f16, $f12 -/* 0C8ED0 7F0943A0 444FF800 */ cfc1 $t7, $31 -/* 0C8ED4 7F0943A4 44C3F800 */ ctc1 $v1, $31 -/* 0C8ED8 7F0943A8 00000000 */ nop -/* 0C8EDC 7F0943AC 46009124 */ cvt.w.s $f4, $f18 -/* 0C8EE0 7F0943B0 4443F800 */ cfc1 $v1, $31 -/* 0C8EE4 7F0943B4 00000000 */ nop -/* 0C8EE8 7F0943B8 30630078 */ andi $v1, $v1, 0x78 -/* 0C8EEC 7F0943BC 50600013 */ beql $v1, $zero, .L7F09440C -/* 0C8EF0 7F0943C0 44032000 */ mfc1 $v1, $f4 -/* 0C8EF4 7F0943C4 44812000 */ mtc1 $at, $f4 -/* 0C8EF8 7F0943C8 24030001 */ li $v1, 1 -/* 0C8EFC 7F0943CC 46049101 */ sub.s $f4, $f18, $f4 -/* 0C8F00 7F0943D0 44C3F800 */ ctc1 $v1, $31 -/* 0C8F04 7F0943D4 00000000 */ nop -/* 0C8F08 7F0943D8 46002124 */ cvt.w.s $f4, $f4 -/* 0C8F0C 7F0943DC 4443F800 */ cfc1 $v1, $31 -/* 0C8F10 7F0943E0 00000000 */ nop -/* 0C8F14 7F0943E4 30630078 */ andi $v1, $v1, 0x78 -/* 0C8F18 7F0943E8 14600005 */ bnez $v1, .L7F094400 -/* 0C8F1C 7F0943EC 00000000 */ nop -/* 0C8F20 7F0943F0 44032000 */ mfc1 $v1, $f4 -/* 0C8F24 7F0943F4 3C018000 */ lui $at, 0x8000 -/* 0C8F28 7F0943F8 10000007 */ b .L7F094418 -/* 0C8F2C 7F0943FC 00611825 */ or $v1, $v1, $at -.L7F094400: -/* 0C8F30 7F094400 10000005 */ b .L7F094418 -/* 0C8F34 7F094404 2403FFFF */ li $v1, -1 -/* 0C8F38 7F094408 44032000 */ mfc1 $v1, $f4 -.L7F09440C: -/* 0C8F3C 7F09440C 00000000 */ nop -/* 0C8F40 7F094410 0460FFFB */ bltz $v1, .L7F094400 -/* 0C8F44 7F094414 00000000 */ nop -.L7F094418: -/* 0C8F48 7F094418 44CFF800 */ ctc1 $t7, $31 -/* 0C8F4C 7F09441C 00000000 */ nop -/* 0C8F50 7F094420 00000000 */ nop -/* 0C8F54 7F094424 03E00008 */ jr $ra -/* 0C8F58 7F094428 00601025 */ move $v0, $v1 -) -#endif - - - - - -void store_stagenum_to_copyof_stagenum(s32 stagenum) { - copyof_stagenum = stagenum; -} - -void sub_GAME_7F094438(void) -{ - D_8003FD94[0] = (clock_timer + D_8003FD94[0]); - if ( D_8003FD94[0] > 4096.0f) - { - D_8003FD94[0] -= 4096.0f; - } -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F094488(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80057544*/ -glabel jpt_80057544 -.word .L7F094A48 -.word .L7F095284 -.word .L7F0953CC -.word .L7F094B4C -.word .L7F095514 -.word .L7F094E60 -.word .L7F0957A4 -.word .L7F0951BC -.word .L7F09565C -.word .L7F0957A4 -.word .L7F094D5C -.word .L7F0950F4 -.word .L7F094C50 -.word .L7F09502C -.word .L7F094F64 -.word .L7F094A40 - -glabel D_80057584 -.word 0x477fff00 /*65535.0*/ -glabel D_80057588 -.word 0x449fe000 /*1279.0*/ -glabel D_8005758C -.word 0x446fc000 /*959.0*/ - -/*D:80057590*/ -glabel jpt_80057590 -.word .L7F095E14 -.word .L7F09643C -.word .L7F09652C -.word .L7F096094 -.word .L7F09661C -.word .L7F0961CC -.word .L7F096E20 -.word .L7F096C98 -.word .L7F09670C -.word .L7F096E20 -.word .L7F096304 -.word .L7F096B10 -.word .L7F095F58 -.word .L7F096984 -.word .L7F0967FC -.word .L7F095E1C - -glabel D_800575D0 -.word 0x477fff00 /*65535.0*/ -glabel D_800575D4 -.word 0x46fffe00 /*32767.0*/ -glabel D_800575D8 -.word 0x46fffe00 /*32767.0*/ -glabel D_800575DC -.word 0x43ff8000 /*511.0*/ -glabel D_800575E0 -.word 0xc57fa000 /*-4090.0*/ -glabel D_800575E4 -.word 0xc57fa000 /*-4090.0*/ -.text -glabel sub_GAME_7F094488 -/* 0C8FB8 7F094488 27BDF950 */ addiu $sp, $sp, -0x6b0 -/* 0C8FBC 7F09448C AFBF004C */ sw $ra, 0x4c($sp) -/* 0C8FC0 7F094490 AFB10048 */ sw $s1, 0x48($sp) -/* 0C8FC4 7F094494 AFB00044 */ sw $s0, 0x44($sp) -/* 0C8FC8 7F094498 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 0C8FCC 7F09449C F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0C8FD0 7F0944A0 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0C8FD4 7F0944A4 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0C8FD8 7F0944A8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0C8FDC 7F0944AC 0FC2D20F */ jal get_room_data_float1 -/* 0C8FE0 7F0944B0 AFA406B0 */ sw $a0, 0x6b0($sp) -/* 0C8FE4 7F0944B4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0C8FE8 7F0944B8 44812000 */ mtc1 $at, $f4 -/* 0C8FEC 7F0944BC AFA00430 */ sw $zero, 0x430($sp) -/* 0C8FF0 7F0944C0 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8FF4 7F0944C4 46040603 */ div.s $f24, $f0, $f4 -/* 0C8FF8 7F0944C8 0FC2E9CB */ jal get_ptr_currentdata -/* 0C8FFC 7F0944CC 00408025 */ move $s0, $v0 -/* 0C9000 7F0944D0 904E000B */ lbu $t6, 0xb($v0) -/* 0C9004 7F0944D4 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0C9008 7F0944D8 55C0007B */ bnezl $t6, .L7F0946C8 -/* 0C900C 7F0944DC 92050008 */ lbu $a1, 8($s0) -/* 0C9010 7F0944E0 0FC26919 */ jal get_num_players -/* 0C9014 7F0944E4 00000000 */ nop -/* 0C9018 7F0944E8 24010001 */ li $at, 1 -/* 0C901C 7F0944EC 1441003B */ bne $v0, $at, .L7F0945DC -/* 0C9020 7F0944F0 3C088008 */ lui $t0, %hi(pPlayer) -/* 0C9024 7F0944F4 8FAF06B0 */ lw $t7, 0x6b0($sp) -/* 0C9028 7F0944F8 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0C902C 7F0944FC 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0C9030 7F094500 25F80008 */ addiu $t8, $t7, 8 -/* 0C9034 7F094504 AFB806B0 */ sw $t8, 0x6b0($sp) -/* 0C9038 7F094508 3C0A0030 */ lui $t2, 0x30 -/* 0C903C 7F09450C ADEA0004 */ sw $t2, 4($t7) -/* 0C9040 7F094510 ADF90000 */ sw $t9, ($t7) -/* 0C9044 7F094514 9207000A */ lbu $a3, 0xa($s0) -/* 0C9048 7F094518 92060009 */ lbu $a2, 9($s0) -/* 0C904C 7F09451C 92050008 */ lbu $a1, 8($s0) -/* 0C9050 7F094520 0C0011B4 */ jal set_setfillcolor -/* 0C9054 7F094524 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0C9058 7F094528 244B0008 */ addiu $t3, $v0, 8 -/* 0C905C 7F09452C AFAB06B0 */ sw $t3, 0x6b0($sp) -/* 0C9060 7F094530 0C001127 */ jal get_video2_settings_width -/* 0C9064 7F094534 00408825 */ move $s1, $v0 -/* 0C9068 7F094538 0C001145 */ jal get_video2_settings_ulx -/* 0C906C 7F09453C A7A2007A */ sh $v0, 0x7a($sp) -/* 0C9070 7F094540 0C001149 */ jal get_video2_settings_uly -/* 0C9074 7F094544 A7A2007C */ sh $v0, 0x7c($sp) -/* 0C9078 7F094548 00028400 */ sll $s0, $v0, 0x10 -/* 0C907C 7F09454C 00106403 */ sra $t4, $s0, 0x10 -/* 0C9080 7F094550 0C00112B */ jal get_video2_settings_height -/* 0C9084 7F094554 01808025 */ move $s0, $t4 -/* 0C9088 7F094558 87AD007C */ lh $t5, 0x7c($sp) -/* 0C908C 7F09455C 87AE007A */ lh $t6, 0x7a($sp) -/* 0C9090 7F094560 00505821 */ addu $t3, $v0, $s0 -/* 0C9094 7F094564 256CFFFF */ addiu $t4, $t3, -1 -/* 0C9098 7F094568 01AE7821 */ addu $t7, $t5, $t6 -/* 0C909C 7F09456C 25F8FFFF */ addiu $t8, $t7, -1 -/* 0C90A0 7F094570 318D03FF */ andi $t5, $t4, 0x3ff -/* 0C90A4 7F094574 000D7080 */ sll $t6, $t5, 2 -/* 0C90A8 7F094578 331903FF */ andi $t9, $t8, 0x3ff -/* 0C90AC 7F09457C 3C01F600 */ lui $at, 0xf600 -/* 0C90B0 7F094580 01C17825 */ or $t7, $t6, $at -/* 0C90B4 7F094584 00195380 */ sll $t2, $t9, 0xe -/* 0C90B8 7F094588 01EAC025 */ or $t8, $t7, $t2 -/* 0C90BC 7F09458C 0C001145 */ jal get_video2_settings_ulx -/* 0C90C0 7F094590 AE380000 */ sw $t8, ($s1) -/* 0C90C4 7F094594 00028400 */ sll $s0, $v0, 0x10 -/* 0C90C8 7F094598 0010CC03 */ sra $t9, $s0, 0x10 -/* 0C90CC 7F09459C 0C001149 */ jal get_video2_settings_uly -/* 0C90D0 7F0945A0 03208025 */ move $s0, $t9 -/* 0C90D4 7F0945A4 304B03FF */ andi $t3, $v0, 0x3ff -/* 0C90D8 7F0945A8 320D03FF */ andi $t5, $s0, 0x3ff -/* 0C90DC 7F0945AC 000D7380 */ sll $t6, $t5, 0xe -/* 0C90E0 7F0945B0 000B6080 */ sll $t4, $t3, 2 -/* 0C90E4 7F0945B4 018E7825 */ or $t7, $t4, $t6 -/* 0C90E8 7F0945B8 AE2F0004 */ sw $t7, 4($s1) -/* 0C90EC 7F0945BC 8FAA06B0 */ lw $t2, 0x6b0($sp) -/* 0C90F0 7F0945C0 3C19E700 */ lui $t9, 0xe700 -/* 0C90F4 7F0945C4 25580008 */ addiu $t8, $t2, 8 -/* 0C90F8 7F0945C8 AFB806B0 */ sw $t8, 0x6b0($sp) -/* 0C90FC 7F0945CC AD400004 */ sw $zero, 4($t2) -/* 0C9100 7F0945D0 AD590000 */ sw $t9, ($t2) -/* 0C9104 7F0945D4 10000B62 */ b .L7F097360 -/* 0C9108 7F0945D8 8FA206B0 */ lw $v0, 0x6b0($sp) -.L7F0945DC: -/* 0C910C 7F0945DC 8FAB06B0 */ lw $t3, 0x6b0($sp) -/* 0C9110 7F0945E0 3C09E700 */ lui $t1, 0xe700 -/* 0C9114 7F0945E4 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 0C9118 7F0945E8 256D0008 */ addiu $t5, $t3, 8 -/* 0C911C 7F0945EC AFAD06B0 */ sw $t5, 0x6b0($sp) -/* 0C9120 7F0945F0 AD600004 */ sw $zero, 4($t3) -/* 0C9124 7F0945F4 AD690000 */ sw $t1, ($t3) -/* 0C9128 7F0945F8 8FAC06B0 */ lw $t4, 0x6b0($sp) -/* 0C912C 7F0945FC 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 0C9130 7F094600 3C0A0030 */ lui $t2, 0x30 -/* 0C9134 7F094604 258E0008 */ addiu $t6, $t4, 8 -/* 0C9138 7F094608 AFAE06B0 */ sw $t6, 0x6b0($sp) -/* 0C913C 7F09460C AD8A0004 */ sw $t2, 4($t4) -/* 0C9140 7F094610 AD8F0000 */ sw $t7, ($t4) -/* 0C9144 7F094614 8FB806B0 */ lw $t8, 0x6b0($sp) -/* 0C9148 7F094618 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 -/* 0C914C 7F09461C 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d -/* 0C9150 7F094620 27190008 */ addiu $t9, $t8, 8 -/* 0C9154 7F094624 AFB906B0 */ sw $t9, 0x6b0($sp) -/* 0C9158 7F094628 AF000004 */ sw $zero, 4($t8) -/* 0C915C 7F09462C AF0B0000 */ sw $t3, ($t8) -/* 0C9160 7F094630 8FA606B0 */ lw $a2, 0x6b0($sp) -/* 0C9164 7F094634 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0C9168 7F094638 8D020000 */ lw $v0, ($t0) -/* 0C916C 7F09463C 24CC0008 */ addiu $t4, $a2, 8 -/* 0C9170 7F094640 AFAC06B0 */ sw $t4, 0x6b0($sp) -/* 0C9174 7F094644 844E07F4 */ lh $t6, 0x7f4($v0) -/* 0C9178 7F094648 844F07F0 */ lh $t7, 0x7f0($v0) -/* 0C917C 7F09464C 844C07F6 */ lh $t4, 0x7f6($v0) -/* 0C9180 7F094650 3C01F600 */ lui $at, 0xf600 -/* 0C9184 7F094654 01CF5021 */ addu $t2, $t6, $t7 -/* 0C9188 7F094658 844E07F2 */ lh $t6, 0x7f2($v0) -/* 0C918C 7F09465C 2558FFFF */ addiu $t8, $t2, -1 -/* 0C9190 7F094660 331903FF */ andi $t9, $t8, 0x3ff -/* 0C9194 7F094664 018E7821 */ addu $t7, $t4, $t6 -/* 0C9198 7F094668 25EAFFFF */ addiu $t2, $t7, -1 -/* 0C919C 7F09466C 00195B80 */ sll $t3, $t9, 0xe -/* 0C91A0 7F094670 315803FF */ andi $t8, $t2, 0x3ff -/* 0C91A4 7F094674 0018C880 */ sll $t9, $t8, 2 -/* 0C91A8 7F094678 01616825 */ or $t5, $t3, $at -/* 0C91AC 7F09467C 01B95825 */ or $t3, $t5, $t9 -/* 0C91B0 7F094680 ACCB0000 */ sw $t3, ($a2) -/* 0C91B4 7F094684 8D020000 */ lw $v0, ($t0) -/* 0C91B8 7F094688 844C07F4 */ lh $t4, 0x7f4($v0) -/* 0C91BC 7F09468C 844A07F6 */ lh $t2, 0x7f6($v0) -/* 0C91C0 7F094690 318E03FF */ andi $t6, $t4, 0x3ff -/* 0C91C4 7F094694 315803FF */ andi $t8, $t2, 0x3ff -/* 0C91C8 7F094698 00186880 */ sll $t5, $t8, 2 -/* 0C91CC 7F09469C 000E7B80 */ sll $t7, $t6, 0xe -/* 0C91D0 7F0946A0 01EDC825 */ or $t9, $t7, $t5 -/* 0C91D4 7F0946A4 ACD90004 */ sw $t9, 4($a2) -/* 0C91D8 7F0946A8 8FAB06B0 */ lw $t3, 0x6b0($sp) -/* 0C91DC 7F0946AC 256C0008 */ addiu $t4, $t3, 8 -/* 0C91E0 7F0946B0 AFAC06B0 */ sw $t4, 0x6b0($sp) -/* 0C91E4 7F0946B4 AD600004 */ sw $zero, 4($t3) -/* 0C91E8 7F0946B8 AD690000 */ sw $t1, ($t3) -/* 0C91EC 7F0946BC 10000B28 */ b .L7F097360 -/* 0C91F0 7F0946C0 8FA206B0 */ lw $v0, 0x6b0($sp) -/* 0C91F4 7F0946C4 92050008 */ lbu $a1, 8($s0) -.L7F0946C8: -/* 0C91F8 7F0946C8 92060009 */ lbu $a2, 9($s0) -/* 0C91FC 7F0946CC 0C0011B4 */ jal set_setfillcolor -/* 0C9200 7F0946D0 9207000A */ lbu $a3, 0xa($s0) -/* 0C9204 7F0946D4 44806000 */ mtc1 $zero, $f12 -/* 0C9208 7F0946D8 27B106A4 */ addiu $s1, $sp, 0x6a4 -/* 0C920C 7F0946DC AFA206B0 */ sw $v0, 0x6b0($sp) -/* 0C9210 7F0946E0 02203025 */ move $a2, $s1 -/* 0C9214 7F0946E4 0FC24E20 */ jal sub_GAME_7F093880 -/* 0C9218 7F0946E8 46006386 */ mov.s $f14, $f12 -/* 0C921C 7F0946EC 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0C9220 7F0946F0 00000000 */ nop -/* 0C9224 7F0946F4 3C018005 */ lui $at, %hi(D_80057540) -/* 0C9228 7F0946F8 C43C7540 */ lwc1 $f28, %lo(D_80057540)($at) -/* 0C922C 7F0946FC 44807000 */ mtc1 $zero, $f14 -/* 0C9230 7F094700 27A60698 */ addiu $a2, $sp, 0x698 -/* 0C9234 7F094704 0FC24E20 */ jal sub_GAME_7F093880 -/* 0C9238 7F094708 461C0301 */ sub.s $f12, $f0, $f28 -/* 0C923C 7F09470C 0FC1E12D */ jal getPlayer_c_screenheight -/* 0C9240 7F094710 00000000 */ nop -/* 0C9244 7F094714 44806000 */ mtc1 $zero, $f12 -/* 0C9248 7F094718 461C0381 */ sub.s $f14, $f0, $f28 -/* 0C924C 7F09471C 0FC24E20 */ jal sub_GAME_7F093880 -/* 0C9250 7F094720 27A6068C */ addiu $a2, $sp, 0x68c -/* 0C9254 7F094724 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0C9258 7F094728 00000000 */ nop -/* 0C925C 7F09472C 0FC1E12D */ jal getPlayer_c_screenheight -/* 0C9260 7F094730 46000586 */ mov.s $f22, $f0 -/* 0C9264 7F094734 461CB301 */ sub.s $f12, $f22, $f28 -/* 0C9268 7F094738 27A60680 */ addiu $a2, $sp, 0x680 -/* 0C926C 7F09473C 0FC24E20 */ jal sub_GAME_7F093880 -/* 0C9270 7F094740 461C0381 */ sub.s $f14, $f0, $f28 -/* 0C9274 7F094744 02202025 */ move $a0, $s1 -/* 0C9278 7F094748 27A50644 */ addiu $a1, $sp, 0x644 -/* 0C927C 7F09474C 0FC24E3F */ jal sub_GAME_7F0938FC -/* 0C9280 7F094750 27A6058C */ addiu $a2, $sp, 0x58c -/* 0C9284 7F094754 AFA20538 */ sw $v0, 0x538($sp) -/* 0C9288 7F094758 27A40698 */ addiu $a0, $sp, 0x698 -/* 0C928C 7F09475C 27A50638 */ addiu $a1, $sp, 0x638 -/* 0C9290 7F094760 0FC24E3F */ jal sub_GAME_7F0938FC -/* 0C9294 7F094764 27A60588 */ addiu $a2, $sp, 0x588 -/* 0C9298 7F094768 AFA20534 */ sw $v0, 0x534($sp) -/* 0C929C 7F09476C 27A4068C */ addiu $a0, $sp, 0x68c -/* 0C92A0 7F094770 27A5062C */ addiu $a1, $sp, 0x62c -/* 0C92A4 7F094774 0FC24E3F */ jal sub_GAME_7F0938FC -/* 0C92A8 7F094778 27A60584 */ addiu $a2, $sp, 0x584 -/* 0C92AC 7F09477C AFA20530 */ sw $v0, 0x530($sp) -/* 0C92B0 7F094780 27A40680 */ addiu $a0, $sp, 0x680 -/* 0C92B4 7F094784 27A50620 */ addiu $a1, $sp, 0x620 -/* 0C92B8 7F094788 0FC24E3F */ jal sub_GAME_7F0938FC -/* 0C92BC 7F09478C 27A60580 */ addiu $a2, $sp, 0x580 -/* 0C92C0 7F094790 AFA2052C */ sw $v0, 0x52c($sp) -/* 0C92C4 7F094794 02202025 */ move $a0, $s1 -/* 0C92C8 7F094798 27A505E4 */ addiu $a1, $sp, 0x5e4 -/* 0C92CC 7F09479C 0FC24E9E */ jal sub_GAME_7F093A78 -/* 0C92D0 7F0947A0 27A6056C */ addiu $a2, $sp, 0x56c -/* 0C92D4 7F0947A4 27A40698 */ addiu $a0, $sp, 0x698 -/* 0C92D8 7F0947A8 27A505D8 */ addiu $a1, $sp, 0x5d8 -/* 0C92DC 7F0947AC 0FC24E9E */ jal sub_GAME_7F093A78 -/* 0C92E0 7F0947B0 27A60568 */ addiu $a2, $sp, 0x568 -/* 0C92E4 7F0947B4 27A4068C */ addiu $a0, $sp, 0x68c -/* 0C92E8 7F0947B8 27A505CC */ addiu $a1, $sp, 0x5cc -/* 0C92EC 7F0947BC 0FC24E9E */ jal sub_GAME_7F093A78 -/* 0C92F0 7F0947C0 27A60564 */ addiu $a2, $sp, 0x564 -/* 0C92F4 7F0947C4 27A40680 */ addiu $a0, $sp, 0x680 -/* 0C92F8 7F0947C8 27A505C0 */ addiu $a1, $sp, 0x5c0 -/* 0C92FC 7F0947CC 0FC24E9E */ jal sub_GAME_7F093A78 -/* 0C9300 7F0947D0 27A60560 */ addiu $a2, $sp, 0x560 -/* 0C9304 7F0947D4 8FAE0538 */ lw $t6, 0x538($sp) -/* 0C9308 7F0947D8 8FAA0530 */ lw $t2, 0x530($sp) -/* 0C930C 7F0947DC 51CA001F */ beql $t6, $t2, .L7F09485C -/* 0C9310 7F0947E0 44802000 */ mtc1 $zero, $f4 -/* 0C9314 7F0947E4 0FC1E135 */ jal getPlayer_c_screentop -/* 0C9318 7F0947E8 00000000 */ nop -/* 0C931C 7F0947EC 0FC1E12D */ jal getPlayer_c_screenheight -/* 0C9320 7F0947F0 46000586 */ mov.s $f22, $f0 -/* 0C9324 7F0947F4 C7A206A8 */ lwc1 $f2, 0x6a8($sp) -/* 0C9328 7F0947F8 C7B00690 */ lwc1 $f16, 0x690($sp) -/* 0C932C 7F0947FC 27B0065C */ addiu $s0, $sp, 0x65c -/* 0C9330 7F094800 44806000 */ mtc1 $zero, $f12 -/* 0C9334 7F094804 46101181 */ sub.s $f6, $f2, $f16 -/* 0C9338 7F094808 02003025 */ move $a2, $s0 -/* 0C933C 7F09480C 46061203 */ div.s $f8, $f2, $f6 -/* 0C9340 7F094810 46004282 */ mul.s $f10, $f8, $f0 -/* 0C9344 7F094814 46165380 */ add.s $f14, $f10, $f22 -/* 0C9348 7F094818 0FC24E20 */ jal sub_GAME_7F093880 -/* 0C934C 7F09481C E7AE054C */ swc1 $f14, 0x54c($sp) -/* 0C9350 7F094820 02202025 */ move $a0, $s1 -/* 0C9354 7F094824 27A5068C */ addiu $a1, $sp, 0x68c -/* 0C9358 7F094828 0FC24EFF */ jal sub_GAME_7F093BFC -/* 0C935C 7F09482C 02003025 */ move $a2, $s0 -/* 0C9360 7F094830 02002025 */ move $a0, $s0 -/* 0C9364 7F094834 27A505FC */ addiu $a1, $sp, 0x5fc -/* 0C9368 7F094838 0FC24E3F */ jal sub_GAME_7F0938FC -/* 0C936C 7F09483C 27A60574 */ addiu $a2, $sp, 0x574 -/* 0C9370 7F094840 02002025 */ move $a0, $s0 -/* 0C9374 7F094844 27A5059C */ addiu $a1, $sp, 0x59c -/* 0C9378 7F094848 0FC24E9E */ jal sub_GAME_7F093A78 -/* 0C937C 7F09484C 27A60554 */ addiu $a2, $sp, 0x554 -/* 0C9380 7F094850 10000005 */ b .L7F094868 -/* 0C9384 7F094854 8FB80534 */ lw $t8, 0x534($sp) -/* 0C9388 7F094858 44802000 */ mtc1 $zero, $f4 -.L7F09485C: -/* 0C938C 7F09485C 00000000 */ nop -/* 0C9390 7F094860 E7A4054C */ swc1 $f4, 0x54c($sp) -/* 0C9394 7F094864 8FB80534 */ lw $t8, 0x534($sp) -.L7F094868: -/* 0C9398 7F094868 8FAF052C */ lw $t7, 0x52c($sp) -/* 0C939C 7F09486C 530F0021 */ beql $t8, $t7, .L7F0948F4 -/* 0C93A0 7F094870 44804000 */ mtc1 $zero, $f8 -/* 0C93A4 7F094874 0FC1E135 */ jal getPlayer_c_screentop -/* 0C93A8 7F094878 00000000 */ nop -/* 0C93AC 7F09487C 0FC1E12D */ jal getPlayer_c_screenheight -/* 0C93B0 7F094880 46000586 */ mov.s $f22, $f0 -/* 0C93B4 7F094884 C7B0069C */ lwc1 $f16, 0x69c($sp) -/* 0C93B8 7F094888 C7A60684 */ lwc1 $f6, 0x684($sp) -/* 0C93BC 7F09488C 46068201 */ sub.s $f8, $f16, $f6 -/* 0C93C0 7F094890 46088283 */ div.s $f10, $f16, $f8 -/* 0C93C4 7F094894 46005102 */ mul.s $f4, $f10, $f0 -/* 0C93C8 7F094898 46162180 */ add.s $f6, $f4, $f22 -/* 0C93CC 7F09489C 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0C93D0 7F0948A0 E7A60548 */ swc1 $f6, 0x548($sp) -/* 0C93D4 7F0948A4 27B00650 */ addiu $s0, $sp, 0x650 -/* 0C93D8 7F0948A8 02003025 */ move $a2, $s0 -/* 0C93DC 7F0948AC 461C0301 */ sub.s $f12, $f0, $f28 -/* 0C93E0 7F0948B0 0FC24E20 */ jal sub_GAME_7F093880 -/* 0C93E4 7F0948B4 C7AE0548 */ lwc1 $f14, 0x548($sp) -/* 0C93E8 7F0948B8 27A40698 */ addiu $a0, $sp, 0x698 -/* 0C93EC 7F0948BC 27A50680 */ addiu $a1, $sp, 0x680 -/* 0C93F0 7F0948C0 0FC24EFF */ jal sub_GAME_7F093BFC -/* 0C93F4 7F0948C4 02003025 */ move $a2, $s0 -/* 0C93F8 7F0948C8 02002025 */ move $a0, $s0 -/* 0C93FC 7F0948CC 27A505F0 */ addiu $a1, $sp, 0x5f0 -/* 0C9400 7F0948D0 0FC24E3F */ jal sub_GAME_7F0938FC -/* 0C9404 7F0948D4 27A60570 */ addiu $a2, $sp, 0x570 -/* 0C9408 7F0948D8 02002025 */ move $a0, $s0 -/* 0C940C 7F0948DC 27A50590 */ addiu $a1, $sp, 0x590 -/* 0C9410 7F0948E0 0FC24E9E */ jal sub_GAME_7F093A78 -/* 0C9414 7F0948E4 27A60550 */ addiu $a2, $sp, 0x550 -/* 0C9418 7F0948E8 10000005 */ b .L7F094900 -/* 0C941C 7F0948EC 8FAD0538 */ lw $t5, 0x538($sp) -/* 0C9420 7F0948F0 44804000 */ mtc1 $zero, $f8 -.L7F0948F4: -/* 0C9424 7F0948F4 00000000 */ nop -/* 0C9428 7F0948F8 E7A80548 */ swc1 $f8, 0x548($sp) -/* 0C942C 7F0948FC 8FAD0538 */ lw $t5, 0x538($sp) -.L7F094900: -/* 0C9430 7F094900 8FB90534 */ lw $t9, 0x534($sp) -/* 0C9434 7F094904 51B9001C */ beql $t5, $t9, .L7F094978 -/* 0C9438 7F094908 8FAB0530 */ lw $t3, 0x530($sp) -/* 0C943C 7F09490C 0FC1E131 */ jal getPlayer_c_screenleft -/* 0C9440 7F094910 00000000 */ nop -/* 0C9444 7F094914 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0C9448 7F094918 46000586 */ mov.s $f22, $f0 -/* 0C944C 7F09491C C7A206A8 */ lwc1 $f2, 0x6a8($sp) -/* 0C9450 7F094920 C7B0069C */ lwc1 $f16, 0x69c($sp) -/* 0C9454 7F094924 27B00674 */ addiu $s0, $sp, 0x674 -/* 0C9458 7F094928 44807000 */ mtc1 $zero, $f14 -/* 0C945C 7F09492C 46101281 */ sub.s $f10, $f2, $f16 -/* 0C9460 7F094930 02003025 */ move $a2, $s0 -/* 0C9464 7F094934 460A1103 */ div.s $f4, $f2, $f10 -/* 0C9468 7F094938 46002182 */ mul.s $f6, $f4, $f0 -/* 0C946C 7F09493C 0FC24E20 */ jal sub_GAME_7F093880 -/* 0C9470 7F094940 46163300 */ add.s $f12, $f6, $f22 -/* 0C9474 7F094944 02202025 */ move $a0, $s1 -/* 0C9478 7F094948 27A50698 */ addiu $a1, $sp, 0x698 -/* 0C947C 7F09494C 0FC24EFF */ jal sub_GAME_7F093BFC -/* 0C9480 7F094950 02003025 */ move $a2, $s0 -/* 0C9484 7F094954 02002025 */ move $a0, $s0 -/* 0C9488 7F094958 27A50614 */ addiu $a1, $sp, 0x614 -/* 0C948C 7F09495C 0FC24E3F */ jal sub_GAME_7F0938FC -/* 0C9490 7F094960 27A6057C */ addiu $a2, $sp, 0x57c -/* 0C9494 7F094964 02002025 */ move $a0, $s0 -/* 0C9498 7F094968 27A505B4 */ addiu $a1, $sp, 0x5b4 -/* 0C949C 7F09496C 0FC24E9E */ jal sub_GAME_7F093A78 -/* 0C94A0 7F094970 27A6055C */ addiu $a2, $sp, 0x55c -/* 0C94A4 7F094974 8FAB0530 */ lw $t3, 0x530($sp) -.L7F094978: -/* 0C94A8 7F094978 8FAC052C */ lw $t4, 0x52c($sp) -/* 0C94AC 7F09497C 516C001E */ beql $t3, $t4, .L7F0949F8 -/* 0C94B0 7F094980 8FAE0538 */ lw $t6, 0x538($sp) -/* 0C94B4 7F094984 0FC1E131 */ jal getPlayer_c_screenleft -/* 0C94B8 7F094988 00000000 */ nop -/* 0C94BC 7F09498C 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0C94C0 7F094990 46000586 */ mov.s $f22, $f0 -/* 0C94C4 7F094994 C7B00690 */ lwc1 $f16, 0x690($sp) -/* 0C94C8 7F094998 C7A80684 */ lwc1 $f8, 0x684($sp) -/* 0C94CC 7F09499C 46088281 */ sub.s $f10, $f16, $f8 -/* 0C94D0 7F0949A0 460A8103 */ div.s $f4, $f16, $f10 -/* 0C94D4 7F0949A4 46002182 */ mul.s $f6, $f4, $f0 -/* 0C94D8 7F0949A8 0FC1E12D */ jal getPlayer_c_screenheight -/* 0C94DC 7F0949AC 46163500 */ add.s $f20, $f6, $f22 -/* 0C94E0 7F0949B0 27B00668 */ addiu $s0, $sp, 0x668 -/* 0C94E4 7F0949B4 02003025 */ move $a2, $s0 -/* 0C94E8 7F0949B8 4600A306 */ mov.s $f12, $f20 -/* 0C94EC 7F0949BC 0FC24E20 */ jal sub_GAME_7F093880 -/* 0C94F0 7F0949C0 461C0381 */ sub.s $f14, $f0, $f28 -/* 0C94F4 7F0949C4 27A4068C */ addiu $a0, $sp, 0x68c -/* 0C94F8 7F0949C8 27A50680 */ addiu $a1, $sp, 0x680 -/* 0C94FC 7F0949CC 0FC24EFF */ jal sub_GAME_7F093BFC -/* 0C9500 7F0949D0 02003025 */ move $a2, $s0 -/* 0C9504 7F0949D4 02002025 */ move $a0, $s0 -/* 0C9508 7F0949D8 27A50608 */ addiu $a1, $sp, 0x608 -/* 0C950C 7F0949DC 0FC24E3F */ jal sub_GAME_7F0938FC -/* 0C9510 7F0949E0 27A60578 */ addiu $a2, $sp, 0x578 -/* 0C9514 7F0949E4 02002025 */ move $a0, $s0 -/* 0C9518 7F0949E8 27A505A8 */ addiu $a1, $sp, 0x5a8 -/* 0C951C 7F0949EC 0FC24E9E */ jal sub_GAME_7F093A78 -/* 0C9520 7F0949F0 27A60558 */ addiu $a2, $sp, 0x558 -/* 0C9524 7F0949F4 8FAE0538 */ lw $t6, 0x538($sp) -.L7F0949F8: -/* 0C9528 7F0949F8 8FB80534 */ lw $t8, 0x534($sp) -/* 0C952C 7F0949FC 8FB90530 */ lw $t9, 0x530($sp) -/* 0C9530 7F094A00 000E50C0 */ sll $t2, $t6, 3 -/* 0C9534 7F094A04 8FAE052C */ lw $t6, 0x52c($sp) -/* 0C9538 7F094A08 00187880 */ sll $t7, $t8, 2 -/* 0C953C 7F094A0C 014F6825 */ or $t5, $t2, $t7 -/* 0C9540 7F094A10 00195840 */ sll $t3, $t9, 1 -/* 0C9544 7F094A14 01AB6025 */ or $t4, $t5, $t3 -/* 0C9548 7F094A18 018EC025 */ or $t8, $t4, $t6 -/* 0C954C 7F094A1C 2F010010 */ sltiu $at, $t8, 0x10 -/* 0C9550 7F094A20 10200360 */ beqz $at, .L7F0957A4 -/* 0C9554 7F094A24 AFB8005C */ sw $t8, 0x5c($sp) -/* 0C9558 7F094A28 00185080 */ sll $t2, $t8, 2 -/* 0C955C 7F094A2C 3C018005 */ lui $at, %hi(jpt_80057544) -/* 0C9560 7F094A30 002A0821 */ addu $at, $at, $t2 -/* 0C9564 7F094A34 8C2A7544 */ lw $t2, %lo(jpt_80057544)($at) -.L7F094A38: -/* 0C9568 7F094A38 01400008 */ jr $t2 -/* 0C956C 7F094A3C 00000000 */ nop -.L7F094A40: -/* 0C9570 7F094A40 1000035A */ b .L7F0957AC -/* 0C9574 7F094A44 00008825 */ move $s1, $zero -.L7F094A48: -/* 0C9578 7F094A48 C7A205E4 */ lwc1 $f2, 0x5e4($sp) -/* 0C957C 7F094A4C C7AA05E8 */ lwc1 $f10, 0x5e8($sp) -/* 0C9580 7F094A50 C7AC05EC */ lwc1 $f12, 0x5ec($sp) -/* 0C9584 7F094A54 46181202 */ mul.s $f8, $f2, $f24 -/* 0C9588 7F094A58 C7AE05D8 */ lwc1 $f14, 0x5d8($sp) -/* 0C958C 7F094A5C C7B005E0 */ lwc1 $f16, 0x5e0($sp) -/* 0C9590 7F094A60 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9594 7F094A64 C7AA05DC */ lwc1 $f10, 0x5dc($sp) -/* 0C9598 7F094A68 C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 0C959C 7F094A6C 46186182 */ mul.s $f6, $f12, $f24 -/* 0C95A0 7F094A70 E7A8043C */ swc1 $f8, 0x43c($sp) -/* 0C95A4 7F094A74 C7B405D4 */ lwc1 $f20, 0x5d4($sp) -/* 0C95A8 7F094A78 46187202 */ mul.s $f8, $f14, $f24 -/* 0C95AC 7F094A7C E7A40440 */ swc1 $f4, 0x440($sp) -/* 0C95B0 7F094A80 C7B605C0 */ lwc1 $f22, 0x5c0($sp) -/* 0C95B4 7F094A84 46185102 */ mul.s $f4, $f10, $f24 -/* 0C95B8 7F094A88 E7A60444 */ swc1 $f6, 0x444($sp) -/* 0C95BC 7F094A8C C7AA05D0 */ lwc1 $f10, 0x5d0($sp) -/* 0C95C0 7F094A90 46188182 */ mul.s $f6, $f16, $f24 -/* 0C95C4 7F094A94 E7A80454 */ swc1 $f8, 0x454($sp) -/* 0C95C8 7F094A98 C7BA05C8 */ lwc1 $f26, 0x5c8($sp) -/* 0C95CC 7F094A9C 46189202 */ mul.s $f8, $f18, $f24 -/* 0C95D0 7F094AA0 E7A40458 */ swc1 $f4, 0x458($sp) -/* 0C95D4 7F094AA4 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C95D8 7F094AA8 46185102 */ mul.s $f4, $f10, $f24 -/* 0C95DC 7F094AAC E7A6045C */ swc1 $f6, 0x45c($sp) -/* 0C95E0 7F094AB0 C7AA05C4 */ lwc1 $f10, 0x5c4($sp) -/* 0C95E4 7F094AB4 4618A182 */ mul.s $f6, $f20, $f24 -/* 0C95E8 7F094AB8 E7A8046C */ swc1 $f8, 0x46c($sp) -/* 0C95EC 7F094ABC C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C95F0 7F094AC0 4618B202 */ mul.s $f8, $f22, $f24 -/* 0C95F4 7F094AC4 E7A40470 */ swc1 $f4, 0x470($sp) -/* 0C95F8 7F094AC8 24110004 */ li $s1, 4 -/* 0C95FC 7F094ACC 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9600 7F094AD0 E7A60474 */ swc1 $f6, 0x474($sp) -/* 0C9604 7F094AD4 46008280 */ add.s $f10, $f16, $f0 -/* 0C9608 7F094AD8 4618D182 */ mul.s $f6, $f26, $f24 -/* 0C960C 7F094ADC E7A80484 */ swc1 $f8, 0x484($sp) -/* 0C9610 7F094AE0 46006200 */ add.s $f8, $f12, $f0 -/* 0C9614 7F094AE4 E7AA0464 */ swc1 $f10, 0x464($sp) -/* 0C9618 7F094AE8 E7A40488 */ swc1 $f4, 0x488($sp) -/* 0C961C 7F094AEC 4600A100 */ add.s $f4, $f20, $f0 -/* 0C9620 7F094AF0 E7A8044C */ swc1 $f8, 0x44c($sp) -/* 0C9624 7F094AF4 E7A6048C */ swc1 $f6, 0x48c($sp) -/* 0C9628 7F094AF8 4600D180 */ add.s $f6, $f26, $f0 -/* 0C962C 7F094AFC E7A4047C */ swc1 $f4, 0x47c($sp) -/* 0C9630 7F094B00 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9634 7F094B04 8FA5056C */ lw $a1, 0x56c($sp) -/* 0C9638 7F094B08 E7A60494 */ swc1 $f6, 0x494($sp) -/* 0C963C 7F094B0C E7A20448 */ swc1 $f2, 0x448($sp) -/* 0C9640 7F094B10 E7AE0460 */ swc1 $f14, 0x460($sp) -/* 0C9644 7F094B14 E7B20478 */ swc1 $f18, 0x478($sp) -/* 0C9648 7F094B18 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C964C 7F094B1C E7B60490 */ swc1 $f22, 0x490($sp) -/* 0C9650 7F094B20 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9654 7F094B24 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9658 7F094B28 8FA50568 */ lw $a1, 0x568($sp) -/* 0C965C 7F094B2C 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9660 7F094B30 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9664 7F094B34 8FA50564 */ lw $a1, 0x564($sp) -/* 0C9668 7F094B38 27A40484 */ addiu $a0, $sp, 0x484 -/* 0C966C 7F094B3C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9670 7F094B40 8FA50560 */ lw $a1, 0x560($sp) -/* 0C9674 7F094B44 10000319 */ b .L7F0957AC -/* 0C9678 7F094B48 00000000 */ nop -.L7F094B4C: -/* 0C967C 7F094B4C C7A205E4 */ lwc1 $f2, 0x5e4($sp) -/* 0C9680 7F094B50 C7AA05E8 */ lwc1 $f10, 0x5e8($sp) -/* 0C9684 7F094B54 C7AC05EC */ lwc1 $f12, 0x5ec($sp) -/* 0C9688 7F094B58 46181202 */ mul.s $f8, $f2, $f24 -/* 0C968C 7F094B5C C7AE05D8 */ lwc1 $f14, 0x5d8($sp) -/* 0C9690 7F094B60 C7B005E0 */ lwc1 $f16, 0x5e0($sp) -/* 0C9694 7F094B64 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9698 7F094B68 C7AA05DC */ lwc1 $f10, 0x5dc($sp) -/* 0C969C 7F094B6C C7B2059C */ lwc1 $f18, 0x59c($sp) -/* 0C96A0 7F094B70 46186182 */ mul.s $f6, $f12, $f24 -/* 0C96A4 7F094B74 E7A8043C */ swc1 $f8, 0x43c($sp) -/* 0C96A8 7F094B78 C7B405A4 */ lwc1 $f20, 0x5a4($sp) -/* 0C96AC 7F094B7C 46187202 */ mul.s $f8, $f14, $f24 -/* 0C96B0 7F094B80 E7A40440 */ swc1 $f4, 0x440($sp) -/* 0C96B4 7F094B84 C7B60590 */ lwc1 $f22, 0x590($sp) -/* 0C96B8 7F094B88 46185102 */ mul.s $f4, $f10, $f24 -/* 0C96BC 7F094B8C E7A60444 */ swc1 $f6, 0x444($sp) -/* 0C96C0 7F094B90 C7AA05A0 */ lwc1 $f10, 0x5a0($sp) -/* 0C96C4 7F094B94 46188182 */ mul.s $f6, $f16, $f24 -/* 0C96C8 7F094B98 E7A80454 */ swc1 $f8, 0x454($sp) -/* 0C96CC 7F094B9C C7BA0598 */ lwc1 $f26, 0x598($sp) -/* 0C96D0 7F094BA0 46189202 */ mul.s $f8, $f18, $f24 -/* 0C96D4 7F094BA4 E7A40458 */ swc1 $f4, 0x458($sp) -/* 0C96D8 7F094BA8 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C96DC 7F094BAC 46185102 */ mul.s $f4, $f10, $f24 -/* 0C96E0 7F094BB0 E7A6045C */ swc1 $f6, 0x45c($sp) -/* 0C96E4 7F094BB4 C7AA0594 */ lwc1 $f10, 0x594($sp) -/* 0C96E8 7F094BB8 4618A182 */ mul.s $f6, $f20, $f24 -/* 0C96EC 7F094BBC E7A8046C */ swc1 $f8, 0x46c($sp) -/* 0C96F0 7F094BC0 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C96F4 7F094BC4 4618B202 */ mul.s $f8, $f22, $f24 -/* 0C96F8 7F094BC8 E7A40470 */ swc1 $f4, 0x470($sp) -/* 0C96FC 7F094BCC 24110004 */ li $s1, 4 -/* 0C9700 7F094BD0 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9704 7F094BD4 E7A60474 */ swc1 $f6, 0x474($sp) -/* 0C9708 7F094BD8 46008280 */ add.s $f10, $f16, $f0 -/* 0C970C 7F094BDC 4618D182 */ mul.s $f6, $f26, $f24 -/* 0C9710 7F094BE0 E7A80484 */ swc1 $f8, 0x484($sp) -/* 0C9714 7F094BE4 46006200 */ add.s $f8, $f12, $f0 -/* 0C9718 7F094BE8 E7AA0464 */ swc1 $f10, 0x464($sp) -/* 0C971C 7F094BEC E7A40488 */ swc1 $f4, 0x488($sp) -/* 0C9720 7F094BF0 4600A100 */ add.s $f4, $f20, $f0 -/* 0C9724 7F094BF4 E7A8044C */ swc1 $f8, 0x44c($sp) -/* 0C9728 7F094BF8 E7A6048C */ swc1 $f6, 0x48c($sp) -/* 0C972C 7F094BFC 4600D180 */ add.s $f6, $f26, $f0 -/* 0C9730 7F094C00 E7A4047C */ swc1 $f4, 0x47c($sp) -/* 0C9734 7F094C04 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9738 7F094C08 8FA5056C */ lw $a1, 0x56c($sp) -/* 0C973C 7F094C0C E7A60494 */ swc1 $f6, 0x494($sp) -/* 0C9740 7F094C10 E7A20448 */ swc1 $f2, 0x448($sp) -/* 0C9744 7F094C14 E7AE0460 */ swc1 $f14, 0x460($sp) -/* 0C9748 7F094C18 E7B20478 */ swc1 $f18, 0x478($sp) -/* 0C974C 7F094C1C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9750 7F094C20 E7B60490 */ swc1 $f22, 0x490($sp) -/* 0C9754 7F094C24 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9758 7F094C28 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C975C 7F094C2C 8FA50568 */ lw $a1, 0x568($sp) -/* 0C9760 7F094C30 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9764 7F094C34 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9768 7F094C38 8FA50554 */ lw $a1, 0x554($sp) -/* 0C976C 7F094C3C 27A40484 */ addiu $a0, $sp, 0x484 -/* 0C9770 7F094C40 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9774 7F094C44 8FA50550 */ lw $a1, 0x550($sp) -/* 0C9778 7F094C48 100002D8 */ b .L7F0957AC -/* 0C977C 7F094C4C 00000000 */ nop -.L7F094C50: -/* 0C9780 7F094C50 C7B605C0 */ lwc1 $f22, 0x5c0($sp) -/* 0C9784 7F094C54 C7AA05C4 */ lwc1 $f10, 0x5c4($sp) -/* 0C9788 7F094C58 C7BA05C8 */ lwc1 $f26, 0x5c8($sp) -/* 0C978C 7F094C5C 4618B202 */ mul.s $f8, $f22, $f24 -/* 0C9790 7F094C60 C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 0C9794 7F094C64 C7B405D4 */ lwc1 $f20, 0x5d4($sp) -/* 0C9798 7F094C68 46185102 */ mul.s $f4, $f10, $f24 -/* 0C979C 7F094C6C C7AA05D0 */ lwc1 $f10, 0x5d0($sp) -/* 0C97A0 7F094C70 C7AE0590 */ lwc1 $f14, 0x590($sp) -/* 0C97A4 7F094C74 4618D182 */ mul.s $f6, $f26, $f24 -/* 0C97A8 7F094C78 E7A8043C */ swc1 $f8, 0x43c($sp) -/* 0C97AC 7F094C7C C7B00598 */ lwc1 $f16, 0x598($sp) -/* 0C97B0 7F094C80 46189202 */ mul.s $f8, $f18, $f24 -/* 0C97B4 7F094C84 E7A40440 */ swc1 $f4, 0x440($sp) -/* 0C97B8 7F094C88 C7A2059C */ lwc1 $f2, 0x59c($sp) -/* 0C97BC 7F094C8C 46185102 */ mul.s $f4, $f10, $f24 -/* 0C97C0 7F094C90 E7A60444 */ swc1 $f6, 0x444($sp) -/* 0C97C4 7F094C94 C7AA0594 */ lwc1 $f10, 0x594($sp) -/* 0C97C8 7F094C98 4618A182 */ mul.s $f6, $f20, $f24 -/* 0C97CC 7F094C9C E7A80454 */ swc1 $f8, 0x454($sp) -/* 0C97D0 7F094CA0 C7AC05A4 */ lwc1 $f12, 0x5a4($sp) -/* 0C97D4 7F094CA4 46187202 */ mul.s $f8, $f14, $f24 -/* 0C97D8 7F094CA8 E7A40458 */ swc1 $f4, 0x458($sp) -/* 0C97DC 7F094CAC 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C97E0 7F094CB0 46185102 */ mul.s $f4, $f10, $f24 -/* 0C97E4 7F094CB4 E7A6045C */ swc1 $f6, 0x45c($sp) -/* 0C97E8 7F094CB8 C7AA05A0 */ lwc1 $f10, 0x5a0($sp) -/* 0C97EC 7F094CBC 46188182 */ mul.s $f6, $f16, $f24 -/* 0C97F0 7F094CC0 E7A8046C */ swc1 $f8, 0x46c($sp) -/* 0C97F4 7F094CC4 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C97F8 7F094CC8 46181202 */ mul.s $f8, $f2, $f24 -/* 0C97FC 7F094CCC E7A40470 */ swc1 $f4, 0x470($sp) -/* 0C9800 7F094CD0 240F0001 */ li $t7, 1 -/* 0C9804 7F094CD4 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9808 7F094CD8 E7A60474 */ swc1 $f6, 0x474($sp) -/* 0C980C 7F094CDC 4600A280 */ add.s $f10, $f20, $f0 -/* 0C9810 7F094CE0 46186182 */ mul.s $f6, $f12, $f24 -/* 0C9814 7F094CE4 E7A80484 */ swc1 $f8, 0x484($sp) -/* 0C9818 7F094CE8 4600D200 */ add.s $f8, $f26, $f0 -/* 0C981C 7F094CEC 24110004 */ li $s1, 4 -/* 0C9820 7F094CF0 E7A40488 */ swc1 $f4, 0x488($sp) -/* 0C9824 7F094CF4 46008100 */ add.s $f4, $f16, $f0 -/* 0C9828 7F094CF8 AFAF0430 */ sw $t7, 0x430($sp) -/* 0C982C 7F094CFC E7A6048C */ swc1 $f6, 0x48c($sp) -/* 0C9830 7F094D00 46006180 */ add.s $f6, $f12, $f0 -/* 0C9834 7F094D04 E7A8044C */ swc1 $f8, 0x44c($sp) -/* 0C9838 7F094D08 E7AA0464 */ swc1 $f10, 0x464($sp) -/* 0C983C 7F094D0C E7A4047C */ swc1 $f4, 0x47c($sp) -/* 0C9840 7F094D10 E7A60494 */ swc1 $f6, 0x494($sp) -/* 0C9844 7F094D14 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9848 7F094D18 8FA50560 */ lw $a1, 0x560($sp) -/* 0C984C 7F094D1C E7B60448 */ swc1 $f22, 0x448($sp) -/* 0C9850 7F094D20 E7B20460 */ swc1 $f18, 0x460($sp) -/* 0C9854 7F094D24 E7AE0478 */ swc1 $f14, 0x478($sp) -/* 0C9858 7F094D28 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C985C 7F094D2C E7A20490 */ swc1 $f2, 0x490($sp) -/* 0C9860 7F094D30 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9864 7F094D34 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9868 7F094D38 8FA50564 */ lw $a1, 0x564($sp) -/* 0C986C 7F094D3C 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9870 7F094D40 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9874 7F094D44 8FA50550 */ lw $a1, 0x550($sp) -/* 0C9878 7F094D48 27A40484 */ addiu $a0, $sp, 0x484 -/* 0C987C 7F094D4C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9880 7F094D50 8FA50554 */ lw $a1, 0x554($sp) -/* 0C9884 7F094D54 10000295 */ b .L7F0957AC -/* 0C9888 7F094D58 00000000 */ nop -.L7F094D5C: -/* 0C988C 7F094D5C C7AE05D8 */ lwc1 $f14, 0x5d8($sp) -/* 0C9890 7F094D60 C7AA05DC */ lwc1 $f10, 0x5dc($sp) -/* 0C9894 7F094D64 C7B005E0 */ lwc1 $f16, 0x5e0($sp) -/* 0C9898 7F094D68 46187202 */ mul.s $f8, $f14, $f24 -/* 0C989C 7F094D6C C7B605C0 */ lwc1 $f22, 0x5c0($sp) -/* 0C98A0 7F094D70 C7BA05C8 */ lwc1 $f26, 0x5c8($sp) -/* 0C98A4 7F094D74 46185102 */ mul.s $f4, $f10, $f24 -/* 0C98A8 7F094D78 C7AA05C4 */ lwc1 $f10, 0x5c4($sp) -/* 0C98AC 7F094D7C C7A205B4 */ lwc1 $f2, 0x5b4($sp) -/* 0C98B0 7F094D80 46188182 */ mul.s $f6, $f16, $f24 -/* 0C98B4 7F094D84 E7A8043C */ swc1 $f8, 0x43c($sp) -/* 0C98B8 7F094D88 C7AC05BC */ lwc1 $f12, 0x5bc($sp) -/* 0C98BC 7F094D8C 4618B202 */ mul.s $f8, $f22, $f24 -/* 0C98C0 7F094D90 E7A40440 */ swc1 $f4, 0x440($sp) -/* 0C98C4 7F094D94 C7B205A8 */ lwc1 $f18, 0x5a8($sp) -/* 0C98C8 7F094D98 46185102 */ mul.s $f4, $f10, $f24 -/* 0C98CC 7F094D9C E7A60444 */ swc1 $f6, 0x444($sp) -/* 0C98D0 7F094DA0 C7AA05B8 */ lwc1 $f10, 0x5b8($sp) -/* 0C98D4 7F094DA4 4618D182 */ mul.s $f6, $f26, $f24 -/* 0C98D8 7F094DA8 E7A80454 */ swc1 $f8, 0x454($sp) -/* 0C98DC 7F094DAC C7B405B0 */ lwc1 $f20, 0x5b0($sp) -/* 0C98E0 7F094DB0 46181202 */ mul.s $f8, $f2, $f24 -/* 0C98E4 7F094DB4 E7A40458 */ swc1 $f4, 0x458($sp) -/* 0C98E8 7F094DB8 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C98EC 7F094DBC 46185102 */ mul.s $f4, $f10, $f24 -/* 0C98F0 7F094DC0 E7A6045C */ swc1 $f6, 0x45c($sp) -/* 0C98F4 7F094DC4 C7AA05AC */ lwc1 $f10, 0x5ac($sp) -/* 0C98F8 7F094DC8 46186182 */ mul.s $f6, $f12, $f24 -/* 0C98FC 7F094DCC E7A8046C */ swc1 $f8, 0x46c($sp) -/* 0C9900 7F094DD0 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C9904 7F094DD4 46189202 */ mul.s $f8, $f18, $f24 -/* 0C9908 7F094DD8 E7A40470 */ swc1 $f4, 0x470($sp) -/* 0C990C 7F094DDC 24110004 */ li $s1, 4 -/* 0C9910 7F094DE0 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9914 7F094DE4 E7A60474 */ swc1 $f6, 0x474($sp) -/* 0C9918 7F094DE8 4600D280 */ add.s $f10, $f26, $f0 -/* 0C991C 7F094DEC 4618A182 */ mul.s $f6, $f20, $f24 -/* 0C9920 7F094DF0 E7A80484 */ swc1 $f8, 0x484($sp) -/* 0C9924 7F094DF4 46008200 */ add.s $f8, $f16, $f0 -/* 0C9928 7F094DF8 E7AA0464 */ swc1 $f10, 0x464($sp) -/* 0C992C 7F094DFC E7A40488 */ swc1 $f4, 0x488($sp) -/* 0C9930 7F094E00 46006100 */ add.s $f4, $f12, $f0 -/* 0C9934 7F094E04 E7A8044C */ swc1 $f8, 0x44c($sp) -/* 0C9938 7F094E08 E7A6048C */ swc1 $f6, 0x48c($sp) -/* 0C993C 7F094E0C 4600A180 */ add.s $f6, $f20, $f0 -/* 0C9940 7F094E10 E7A4047C */ swc1 $f4, 0x47c($sp) -/* 0C9944 7F094E14 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9948 7F094E18 8FA50568 */ lw $a1, 0x568($sp) -/* 0C994C 7F094E1C E7A60494 */ swc1 $f6, 0x494($sp) -/* 0C9950 7F094E20 E7AE0448 */ swc1 $f14, 0x448($sp) -/* 0C9954 7F094E24 E7B60460 */ swc1 $f22, 0x460($sp) -/* 0C9958 7F094E28 E7A20478 */ swc1 $f2, 0x478($sp) -/* 0C995C 7F094E2C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9960 7F094E30 E7B20490 */ swc1 $f18, 0x490($sp) -/* 0C9964 7F094E34 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9968 7F094E38 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C996C 7F094E3C 8FA50560 */ lw $a1, 0x560($sp) -/* 0C9970 7F094E40 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9974 7F094E44 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9978 7F094E48 8FA5055C */ lw $a1, 0x55c($sp) -/* 0C997C 7F094E4C 27A40484 */ addiu $a0, $sp, 0x484 -/* 0C9980 7F094E50 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9984 7F094E54 8FA50558 */ lw $a1, 0x558($sp) -/* 0C9988 7F094E58 10000254 */ b .L7F0957AC -/* 0C998C 7F094E5C 00000000 */ nop -.L7F094E60: -/* 0C9990 7F094E60 C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 0C9994 7F094E64 C7AA05D0 */ lwc1 $f10, 0x5d0($sp) -/* 0C9998 7F094E68 C7B405D4 */ lwc1 $f20, 0x5d4($sp) -/* 0C999C 7F094E6C 46189202 */ mul.s $f8, $f18, $f24 -/* 0C99A0 7F094E70 C7A205E4 */ lwc1 $f2, 0x5e4($sp) -/* 0C99A4 7F094E74 C7AC05EC */ lwc1 $f12, 0x5ec($sp) -/* 0C99A8 7F094E78 46185102 */ mul.s $f4, $f10, $f24 -/* 0C99AC 7F094E7C C7AA05E8 */ lwc1 $f10, 0x5e8($sp) -/* 0C99B0 7F094E80 C7B605A8 */ lwc1 $f22, 0x5a8($sp) -/* 0C99B4 7F094E84 4618A182 */ mul.s $f6, $f20, $f24 -/* 0C99B8 7F094E88 E7A8043C */ swc1 $f8, 0x43c($sp) -/* 0C99BC 7F094E8C C7BA05B0 */ lwc1 $f26, 0x5b0($sp) -/* 0C99C0 7F094E90 46181202 */ mul.s $f8, $f2, $f24 -/* 0C99C4 7F094E94 E7A40440 */ swc1 $f4, 0x440($sp) -/* 0C99C8 7F094E98 C7AE05B4 */ lwc1 $f14, 0x5b4($sp) -/* 0C99CC 7F094E9C 46185102 */ mul.s $f4, $f10, $f24 -/* 0C99D0 7F094EA0 E7A60444 */ swc1 $f6, 0x444($sp) -/* 0C99D4 7F094EA4 C7AA05AC */ lwc1 $f10, 0x5ac($sp) -/* 0C99D8 7F094EA8 46186182 */ mul.s $f6, $f12, $f24 -/* 0C99DC 7F094EAC E7A80454 */ swc1 $f8, 0x454($sp) -/* 0C99E0 7F094EB0 C7B005BC */ lwc1 $f16, 0x5bc($sp) -/* 0C99E4 7F094EB4 4618B202 */ mul.s $f8, $f22, $f24 -/* 0C99E8 7F094EB8 E7A40458 */ swc1 $f4, 0x458($sp) -/* 0C99EC 7F094EBC 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C99F0 7F094EC0 46185102 */ mul.s $f4, $f10, $f24 -/* 0C99F4 7F094EC4 E7A6045C */ swc1 $f6, 0x45c($sp) -/* 0C99F8 7F094EC8 C7AA05B8 */ lwc1 $f10, 0x5b8($sp) -/* 0C99FC 7F094ECC 4618D182 */ mul.s $f6, $f26, $f24 -/* 0C9A00 7F094ED0 E7A8046C */ swc1 $f8, 0x46c($sp) -/* 0C9A04 7F094ED4 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C9A08 7F094ED8 46187202 */ mul.s $f8, $f14, $f24 -/* 0C9A0C 7F094EDC E7A40470 */ swc1 $f4, 0x470($sp) -/* 0C9A10 7F094EE0 24110004 */ li $s1, 4 -/* 0C9A14 7F094EE4 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9A18 7F094EE8 E7A60474 */ swc1 $f6, 0x474($sp) -/* 0C9A1C 7F094EEC 46006280 */ add.s $f10, $f12, $f0 -/* 0C9A20 7F094EF0 46188182 */ mul.s $f6, $f16, $f24 -/* 0C9A24 7F094EF4 E7A80484 */ swc1 $f8, 0x484($sp) -/* 0C9A28 7F094EF8 4600A200 */ add.s $f8, $f20, $f0 -/* 0C9A2C 7F094EFC E7AA0464 */ swc1 $f10, 0x464($sp) -/* 0C9A30 7F094F00 E7A40488 */ swc1 $f4, 0x488($sp) -/* 0C9A34 7F094F04 4600D100 */ add.s $f4, $f26, $f0 -/* 0C9A38 7F094F08 E7A8044C */ swc1 $f8, 0x44c($sp) -/* 0C9A3C 7F094F0C E7A6048C */ swc1 $f6, 0x48c($sp) -/* 0C9A40 7F094F10 46008180 */ add.s $f6, $f16, $f0 -/* 0C9A44 7F094F14 E7A4047C */ swc1 $f4, 0x47c($sp) -/* 0C9A48 7F094F18 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9A4C 7F094F1C 8FA50564 */ lw $a1, 0x564($sp) -/* 0C9A50 7F094F20 E7A60494 */ swc1 $f6, 0x494($sp) -/* 0C9A54 7F094F24 E7B20448 */ swc1 $f18, 0x448($sp) -/* 0C9A58 7F094F28 E7A20460 */ swc1 $f2, 0x460($sp) -/* 0C9A5C 7F094F2C E7B60478 */ swc1 $f22, 0x478($sp) -/* 0C9A60 7F094F30 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9A64 7F094F34 E7AE0490 */ swc1 $f14, 0x490($sp) -/* 0C9A68 7F094F38 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9A6C 7F094F3C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9A70 7F094F40 8FA5056C */ lw $a1, 0x56c($sp) -/* 0C9A74 7F094F44 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9A78 7F094F48 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9A7C 7F094F4C 8FA50558 */ lw $a1, 0x558($sp) -/* 0C9A80 7F094F50 27A40484 */ addiu $a0, $sp, 0x484 -/* 0C9A84 7F094F54 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9A88 7F094F58 8FA5055C */ lw $a1, 0x55c($sp) -/* 0C9A8C 7F094F5C 10000213 */ b .L7F0957AC -/* 0C9A90 7F094F60 00000000 */ nop -.L7F094F64: -/* 0C9A94 7F094F64 C7B605C0 */ lwc1 $f22, 0x5c0($sp) -/* 0C9A98 7F094F68 C7AA05C4 */ lwc1 $f10, 0x5c4($sp) -/* 0C9A9C 7F094F6C C7BA05C8 */ lwc1 $f26, 0x5c8($sp) -/* 0C9AA0 7F094F70 4618B202 */ mul.s $f8, $f22, $f24 -/* 0C9AA4 7F094F74 C7AE05A8 */ lwc1 $f14, 0x5a8($sp) -/* 0C9AA8 7F094F78 C7B005B0 */ lwc1 $f16, 0x5b0($sp) -/* 0C9AAC 7F094F7C 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9AB0 7F094F80 C7AA05AC */ lwc1 $f10, 0x5ac($sp) -/* 0C9AB4 7F094F84 C7A20590 */ lwc1 $f2, 0x590($sp) -/* 0C9AB8 7F094F88 4618D182 */ mul.s $f6, $f26, $f24 -/* 0C9ABC 7F094F8C E7A8043C */ swc1 $f8, 0x43c($sp) -/* 0C9AC0 7F094F90 C7AC0598 */ lwc1 $f12, 0x598($sp) -/* 0C9AC4 7F094F94 46187202 */ mul.s $f8, $f14, $f24 -/* 0C9AC8 7F094F98 E7A40440 */ swc1 $f4, 0x440($sp) -/* 0C9ACC 7F094F9C 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C9AD0 7F094FA0 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9AD4 7F094FA4 E7A60444 */ swc1 $f6, 0x444($sp) -/* 0C9AD8 7F094FA8 C7AA0594 */ lwc1 $f10, 0x594($sp) -/* 0C9ADC 7F094FAC 46188182 */ mul.s $f6, $f16, $f24 -/* 0C9AE0 7F094FB0 E7A80454 */ swc1 $f8, 0x454($sp) -/* 0C9AE4 7F094FB4 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C9AE8 7F094FB8 46181202 */ mul.s $f8, $f2, $f24 -/* 0C9AEC 7F094FBC E7A40458 */ swc1 $f4, 0x458($sp) -/* 0C9AF0 7F094FC0 24110003 */ li $s1, 3 -/* 0C9AF4 7F094FC4 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9AF8 7F094FC8 E7A6045C */ swc1 $f6, 0x45c($sp) -/* 0C9AFC 7F094FCC 46008280 */ add.s $f10, $f16, $f0 -/* 0C9B00 7F094FD0 46186182 */ mul.s $f6, $f12, $f24 -/* 0C9B04 7F094FD4 E7A8046C */ swc1 $f8, 0x46c($sp) -/* 0C9B08 7F094FD8 4600D200 */ add.s $f8, $f26, $f0 -/* 0C9B0C 7F094FDC E7AA0464 */ swc1 $f10, 0x464($sp) -/* 0C9B10 7F094FE0 E7A40470 */ swc1 $f4, 0x470($sp) -/* 0C9B14 7F094FE4 46006100 */ add.s $f4, $f12, $f0 -/* 0C9B18 7F094FE8 E7A8044C */ swc1 $f8, 0x44c($sp) -/* 0C9B1C 7F094FEC E7A60474 */ swc1 $f6, 0x474($sp) -/* 0C9B20 7F094FF0 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9B24 7F094FF4 E7A4047C */ swc1 $f4, 0x47c($sp) -/* 0C9B28 7F094FF8 8FA50560 */ lw $a1, 0x560($sp) -/* 0C9B2C 7F094FFC E7B60448 */ swc1 $f22, 0x448($sp) -/* 0C9B30 7F095000 E7AE0460 */ swc1 $f14, 0x460($sp) -/* 0C9B34 7F095004 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9B38 7F095008 E7A20478 */ swc1 $f2, 0x478($sp) -/* 0C9B3C 7F09500C 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9B40 7F095010 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9B44 7F095014 8FA50558 */ lw $a1, 0x558($sp) -/* 0C9B48 7F095018 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9B4C 7F09501C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9B50 7F095020 8FA50550 */ lw $a1, 0x550($sp) -/* 0C9B54 7F095024 100001E1 */ b .L7F0957AC -/* 0C9B58 7F095028 00000000 */ nop -.L7F09502C: -/* 0C9B5C 7F09502C C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 0C9B60 7F095030 C7A805D0 */ lwc1 $f8, 0x5d0($sp) -/* 0C9B64 7F095034 C7B405D4 */ lwc1 $f20, 0x5d4($sp) -/* 0C9B68 7F095038 46189182 */ mul.s $f6, $f18, $f24 -/* 0C9B6C 7F09503C C7A2059C */ lwc1 $f2, 0x59c($sp) -/* 0C9B70 7F095040 C7AC05A4 */ lwc1 $f12, 0x5a4($sp) -/* 0C9B74 7F095044 46184282 */ mul.s $f10, $f8, $f24 -/* 0C9B78 7F095048 C7A805A0 */ lwc1 $f8, 0x5a0($sp) -/* 0C9B7C 7F09504C C7AE05A8 */ lwc1 $f14, 0x5a8($sp) -/* 0C9B80 7F095050 4618A102 */ mul.s $f4, $f20, $f24 -/* 0C9B84 7F095054 E7A6043C */ swc1 $f6, 0x43c($sp) -/* 0C9B88 7F095058 C7B005B0 */ lwc1 $f16, 0x5b0($sp) -/* 0C9B8C 7F09505C 46181182 */ mul.s $f6, $f2, $f24 -/* 0C9B90 7F095060 E7AA0440 */ swc1 $f10, 0x440($sp) -/* 0C9B94 7F095064 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C9B98 7F095068 46184282 */ mul.s $f10, $f8, $f24 -/* 0C9B9C 7F09506C E7A40444 */ swc1 $f4, 0x444($sp) -/* 0C9BA0 7F095070 C7A805AC */ lwc1 $f8, 0x5ac($sp) -/* 0C9BA4 7F095074 46186102 */ mul.s $f4, $f12, $f24 -/* 0C9BA8 7F095078 E7A60454 */ swc1 $f6, 0x454($sp) -/* 0C9BAC 7F09507C C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C9BB0 7F095080 46187182 */ mul.s $f6, $f14, $f24 -/* 0C9BB4 7F095084 E7AA0458 */ swc1 $f10, 0x458($sp) -/* 0C9BB8 7F095088 24110003 */ li $s1, 3 -/* 0C9BBC 7F09508C 46184282 */ mul.s $f10, $f8, $f24 -/* 0C9BC0 7F095090 E7A4045C */ swc1 $f4, 0x45c($sp) -/* 0C9BC4 7F095094 46006200 */ add.s $f8, $f12, $f0 -/* 0C9BC8 7F095098 46188102 */ mul.s $f4, $f16, $f24 -/* 0C9BCC 7F09509C E7A6046C */ swc1 $f6, 0x46c($sp) -/* 0C9BD0 7F0950A0 4600A180 */ add.s $f6, $f20, $f0 -/* 0C9BD4 7F0950A4 E7A80464 */ swc1 $f8, 0x464($sp) -/* 0C9BD8 7F0950A8 E7AA0470 */ swc1 $f10, 0x470($sp) -/* 0C9BDC 7F0950AC 46008280 */ add.s $f10, $f16, $f0 -/* 0C9BE0 7F0950B0 E7A6044C */ swc1 $f6, 0x44c($sp) -/* 0C9BE4 7F0950B4 E7A40474 */ swc1 $f4, 0x474($sp) -/* 0C9BE8 7F0950B8 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9BEC 7F0950BC E7AA047C */ swc1 $f10, 0x47c($sp) -/* 0C9BF0 7F0950C0 8FA50564 */ lw $a1, 0x564($sp) -/* 0C9BF4 7F0950C4 E7B20448 */ swc1 $f18, 0x448($sp) -/* 0C9BF8 7F0950C8 E7A20460 */ swc1 $f2, 0x460($sp) -/* 0C9BFC 7F0950CC 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9C00 7F0950D0 E7AE0478 */ swc1 $f14, 0x478($sp) -/* 0C9C04 7F0950D4 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9C08 7F0950D8 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9C0C 7F0950DC 8FA50554 */ lw $a1, 0x554($sp) -/* 0C9C10 7F0950E0 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9C14 7F0950E4 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9C18 7F0950E8 8FA50558 */ lw $a1, 0x558($sp) -/* 0C9C1C 7F0950EC 100001AF */ b .L7F0957AC -/* 0C9C20 7F0950F0 00000000 */ nop -.L7F0950F4: -/* 0C9C24 7F0950F4 C7AE05D8 */ lwc1 $f14, 0x5d8($sp) -/* 0C9C28 7F0950F8 C7A605DC */ lwc1 $f6, 0x5dc($sp) -/* 0C9C2C 7F0950FC C7B005E0 */ lwc1 $f16, 0x5e0($sp) -/* 0C9C30 7F095100 46187102 */ mul.s $f4, $f14, $f24 -/* 0C9C34 7F095104 C7B20590 */ lwc1 $f18, 0x590($sp) -/* 0C9C38 7F095108 C7B40598 */ lwc1 $f20, 0x598($sp) -/* 0C9C3C 7F09510C 46183202 */ mul.s $f8, $f6, $f24 -/* 0C9C40 7F095110 C7A60594 */ lwc1 $f6, 0x594($sp) -/* 0C9C44 7F095114 C7A205B4 */ lwc1 $f2, 0x5b4($sp) -/* 0C9C48 7F095118 46188282 */ mul.s $f10, $f16, $f24 -/* 0C9C4C 7F09511C E7A4043C */ swc1 $f4, 0x43c($sp) -/* 0C9C50 7F095120 C7AC05BC */ lwc1 $f12, 0x5bc($sp) -/* 0C9C54 7F095124 46189102 */ mul.s $f4, $f18, $f24 -/* 0C9C58 7F095128 E7A80440 */ swc1 $f8, 0x440($sp) -/* 0C9C5C 7F09512C 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C9C60 7F095130 46183202 */ mul.s $f8, $f6, $f24 -/* 0C9C64 7F095134 E7AA0444 */ swc1 $f10, 0x444($sp) -/* 0C9C68 7F095138 C7A605B8 */ lwc1 $f6, 0x5b8($sp) -/* 0C9C6C 7F09513C 4618A282 */ mul.s $f10, $f20, $f24 -/* 0C9C70 7F095140 E7A40454 */ swc1 $f4, 0x454($sp) -/* 0C9C74 7F095144 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C9C78 7F095148 46181102 */ mul.s $f4, $f2, $f24 -/* 0C9C7C 7F09514C E7A80458 */ swc1 $f8, 0x458($sp) -/* 0C9C80 7F095150 24110003 */ li $s1, 3 -/* 0C9C84 7F095154 46183202 */ mul.s $f8, $f6, $f24 -/* 0C9C88 7F095158 E7AA045C */ swc1 $f10, 0x45c($sp) -/* 0C9C8C 7F09515C 4600A180 */ add.s $f6, $f20, $f0 -/* 0C9C90 7F095160 46186282 */ mul.s $f10, $f12, $f24 -/* 0C9C94 7F095164 E7A4046C */ swc1 $f4, 0x46c($sp) -/* 0C9C98 7F095168 46008100 */ add.s $f4, $f16, $f0 -/* 0C9C9C 7F09516C E7A60464 */ swc1 $f6, 0x464($sp) -/* 0C9CA0 7F095170 E7A80470 */ swc1 $f8, 0x470($sp) -/* 0C9CA4 7F095174 46006200 */ add.s $f8, $f12, $f0 -/* 0C9CA8 7F095178 E7A4044C */ swc1 $f4, 0x44c($sp) -/* 0C9CAC 7F09517C E7AA0474 */ swc1 $f10, 0x474($sp) -/* 0C9CB0 7F095180 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9CB4 7F095184 E7A8047C */ swc1 $f8, 0x47c($sp) -/* 0C9CB8 7F095188 8FA50568 */ lw $a1, 0x568($sp) -/* 0C9CBC 7F09518C E7AE0448 */ swc1 $f14, 0x448($sp) -/* 0C9CC0 7F095190 E7B20460 */ swc1 $f18, 0x460($sp) -/* 0C9CC4 7F095194 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9CC8 7F095198 E7A20478 */ swc1 $f2, 0x478($sp) -/* 0C9CCC 7F09519C 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9CD0 7F0951A0 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9CD4 7F0951A4 8FA50550 */ lw $a1, 0x550($sp) -/* 0C9CD8 7F0951A8 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9CDC 7F0951AC 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9CE0 7F0951B0 8FA5055C */ lw $a1, 0x55c($sp) -/* 0C9CE4 7F0951B4 1000017D */ b .L7F0957AC -/* 0C9CE8 7F0951B8 00000000 */ nop -.L7F0951BC: -/* 0C9CEC 7F0951BC C7A205E4 */ lwc1 $f2, 0x5e4($sp) -/* 0C9CF0 7F0951C0 C7A405E8 */ lwc1 $f4, 0x5e8($sp) -/* 0C9CF4 7F0951C4 C7AC05EC */ lwc1 $f12, 0x5ec($sp) -/* 0C9CF8 7F0951C8 46181282 */ mul.s $f10, $f2, $f24 -/* 0C9CFC 7F0951CC C7AE05B4 */ lwc1 $f14, 0x5b4($sp) -/* 0C9D00 7F0951D0 C7B005BC */ lwc1 $f16, 0x5bc($sp) -/* 0C9D04 7F0951D4 46182182 */ mul.s $f6, $f4, $f24 -/* 0C9D08 7F0951D8 C7A405B8 */ lwc1 $f4, 0x5b8($sp) -/* 0C9D0C 7F0951DC C7B2059C */ lwc1 $f18, 0x59c($sp) -/* 0C9D10 7F0951E0 46186202 */ mul.s $f8, $f12, $f24 -/* 0C9D14 7F0951E4 E7AA043C */ swc1 $f10, 0x43c($sp) -/* 0C9D18 7F0951E8 C7B405A4 */ lwc1 $f20, 0x5a4($sp) -/* 0C9D1C 7F0951EC 46187282 */ mul.s $f10, $f14, $f24 -/* 0C9D20 7F0951F0 E7A60440 */ swc1 $f6, 0x440($sp) -/* 0C9D24 7F0951F4 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C9D28 7F0951F8 46182182 */ mul.s $f6, $f4, $f24 -/* 0C9D2C 7F0951FC E7A80444 */ swc1 $f8, 0x444($sp) -/* 0C9D30 7F095200 C7A405A0 */ lwc1 $f4, 0x5a0($sp) -/* 0C9D34 7F095204 46188202 */ mul.s $f8, $f16, $f24 -/* 0C9D38 7F095208 E7AA0454 */ swc1 $f10, 0x454($sp) -/* 0C9D3C 7F09520C C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C9D40 7F095210 46189282 */ mul.s $f10, $f18, $f24 -/* 0C9D44 7F095214 E7A60458 */ swc1 $f6, 0x458($sp) -/* 0C9D48 7F095218 24110003 */ li $s1, 3 -/* 0C9D4C 7F09521C 46182182 */ mul.s $f6, $f4, $f24 -/* 0C9D50 7F095220 E7A8045C */ swc1 $f8, 0x45c($sp) -/* 0C9D54 7F095224 46008100 */ add.s $f4, $f16, $f0 -/* 0C9D58 7F095228 4618A202 */ mul.s $f8, $f20, $f24 -/* 0C9D5C 7F09522C E7AA046C */ swc1 $f10, 0x46c($sp) -/* 0C9D60 7F095230 46006280 */ add.s $f10, $f12, $f0 -/* 0C9D64 7F095234 E7A40464 */ swc1 $f4, 0x464($sp) -/* 0C9D68 7F095238 E7A60470 */ swc1 $f6, 0x470($sp) -/* 0C9D6C 7F09523C 4600A180 */ add.s $f6, $f20, $f0 -/* 0C9D70 7F095240 E7AA044C */ swc1 $f10, 0x44c($sp) -/* 0C9D74 7F095244 E7A80474 */ swc1 $f8, 0x474($sp) -/* 0C9D78 7F095248 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9D7C 7F09524C E7A6047C */ swc1 $f6, 0x47c($sp) -/* 0C9D80 7F095250 8FA5056C */ lw $a1, 0x56c($sp) -/* 0C9D84 7F095254 E7A20448 */ swc1 $f2, 0x448($sp) -/* 0C9D88 7F095258 E7AE0460 */ swc1 $f14, 0x460($sp) -/* 0C9D8C 7F09525C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9D90 7F095260 E7B20478 */ swc1 $f18, 0x478($sp) -/* 0C9D94 7F095264 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9D98 7F095268 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9D9C 7F09526C 8FA5055C */ lw $a1, 0x55c($sp) -/* 0C9DA0 7F095270 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9DA4 7F095274 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9DA8 7F095278 8FA50554 */ lw $a1, 0x554($sp) -/* 0C9DAC 7F09527C 1000014B */ b .L7F0957AC -/* 0C9DB0 7F095280 00000000 */ nop -.L7F095284: -/* 0C9DB4 7F095284 C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 0C9DB8 7F095288 C7AA05D0 */ lwc1 $f10, 0x5d0($sp) -/* 0C9DBC 7F09528C C7B405D4 */ lwc1 $f20, 0x5d4($sp) -/* 0C9DC0 7F095290 46189202 */ mul.s $f8, $f18, $f24 -/* 0C9DC4 7F095294 C7A205E4 */ lwc1 $f2, 0x5e4($sp) -/* 0C9DC8 7F095298 C7AC05EC */ lwc1 $f12, 0x5ec($sp) -/* 0C9DCC 7F09529C 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9DD0 7F0952A0 C7AA05E8 */ lwc1 $f10, 0x5e8($sp) -/* 0C9DD4 7F0952A4 C7AE05D8 */ lwc1 $f14, 0x5d8($sp) -/* 0C9DD8 7F0952A8 4618A182 */ mul.s $f6, $f20, $f24 -/* 0C9DDC 7F0952AC E7A8043C */ swc1 $f8, 0x43c($sp) -/* 0C9DE0 7F0952B0 C7B005E0 */ lwc1 $f16, 0x5e0($sp) -/* 0C9DE4 7F0952B4 46181202 */ mul.s $f8, $f2, $f24 -/* 0C9DE8 7F0952B8 E7A40440 */ swc1 $f4, 0x440($sp) -/* 0C9DEC 7F0952BC C7B60590 */ lwc1 $f22, 0x590($sp) -/* 0C9DF0 7F0952C0 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9DF4 7F0952C4 E7A60444 */ swc1 $f6, 0x444($sp) -/* 0C9DF8 7F0952C8 C7AA05DC */ lwc1 $f10, 0x5dc($sp) -/* 0C9DFC 7F0952CC 46186182 */ mul.s $f6, $f12, $f24 -/* 0C9E00 7F0952D0 E7A80454 */ swc1 $f8, 0x454($sp) -/* 0C9E04 7F0952D4 C7BA0598 */ lwc1 $f26, 0x598($sp) -/* 0C9E08 7F0952D8 46187202 */ mul.s $f8, $f14, $f24 -/* 0C9E0C 7F0952DC E7A40458 */ swc1 $f4, 0x458($sp) -/* 0C9E10 7F0952E0 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C9E14 7F0952E4 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9E18 7F0952E8 E7A6045C */ swc1 $f6, 0x45c($sp) -/* 0C9E1C 7F0952EC C7AA0594 */ lwc1 $f10, 0x594($sp) -/* 0C9E20 7F0952F0 46188182 */ mul.s $f6, $f16, $f24 -/* 0C9E24 7F0952F4 E7A8046C */ swc1 $f8, 0x46c($sp) -/* 0C9E28 7F0952F8 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0C9E2C 7F0952FC 4618B202 */ mul.s $f8, $f22, $f24 -/* 0C9E30 7F095300 E7A40470 */ swc1 $f4, 0x470($sp) -/* 0C9E34 7F095304 24110005 */ li $s1, 5 -/* 0C9E38 7F095308 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9E3C 7F09530C E7A60474 */ swc1 $f6, 0x474($sp) -/* 0C9E40 7F095310 27A4043C */ addiu $a0, $sp, 0x43c -/* 0C9E44 7F095314 4618D182 */ mul.s $f6, $f26, $f24 -/* 0C9E48 7F095318 E7A80484 */ swc1 $f8, 0x484($sp) -/* 0C9E4C 7F09531C C7A805A8 */ lwc1 $f8, 0x5a8($sp) -/* 0C9E50 7F095320 8FA50564 */ lw $a1, 0x564($sp) -/* 0C9E54 7F095324 E7A40488 */ swc1 $f4, 0x488($sp) -/* 0C9E58 7F095328 46184282 */ mul.s $f10, $f8, $f24 -/* 0C9E5C 7F09532C C7A405AC */ lwc1 $f4, 0x5ac($sp) -/* 0C9E60 7F095330 E7A6048C */ swc1 $f6, 0x48c($sp) -/* 0C9E64 7F095334 C7A805B0 */ lwc1 $f8, 0x5b0($sp) -/* 0C9E68 7F095338 46182182 */ mul.s $f6, $f4, $f24 -/* 0C9E6C 7F09533C 4600A100 */ add.s $f4, $f20, $f0 -/* 0C9E70 7F095340 E7B20448 */ swc1 $f18, 0x448($sp) -/* 0C9E74 7F095344 E7AA049C */ swc1 $f10, 0x49c($sp) -/* 0C9E78 7F095348 46184282 */ mul.s $f10, $f8, $f24 -/* 0C9E7C 7F09534C 46008200 */ add.s $f8, $f16, $f0 -/* 0C9E80 7F095350 E7A4044C */ swc1 $f4, 0x44c($sp) -/* 0C9E84 7F095354 E7A604A0 */ swc1 $f6, 0x4a0($sp) -/* 0C9E88 7F095358 C7A405A8 */ lwc1 $f4, 0x5a8($sp) -/* 0C9E8C 7F09535C 46006180 */ add.s $f6, $f12, $f0 -/* 0C9E90 7F095360 E7A8047C */ swc1 $f8, 0x47c($sp) -/* 0C9E94 7F095364 E7AA04A4 */ swc1 $f10, 0x4a4($sp) -/* 0C9E98 7F095368 4600D280 */ add.s $f10, $f26, $f0 -/* 0C9E9C 7F09536C E7A60464 */ swc1 $f6, 0x464($sp) -/* 0C9EA0 7F095370 C7A605B0 */ lwc1 $f6, 0x5b0($sp) -/* 0C9EA4 7F095374 E7A20460 */ swc1 $f2, 0x460($sp) -/* 0C9EA8 7F095378 E7AA0494 */ swc1 $f10, 0x494($sp) -/* 0C9EAC 7F09537C 46003200 */ add.s $f8, $f6, $f0 -/* 0C9EB0 7F095380 E7AE0478 */ swc1 $f14, 0x478($sp) -/* 0C9EB4 7F095384 E7B60490 */ swc1 $f22, 0x490($sp) -/* 0C9EB8 7F095388 E7A404A8 */ swc1 $f4, 0x4a8($sp) -/* 0C9EBC 7F09538C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9EC0 7F095390 E7A804AC */ swc1 $f8, 0x4ac($sp) -/* 0C9EC4 7F095394 27A40454 */ addiu $a0, $sp, 0x454 -/* 0C9EC8 7F095398 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9ECC 7F09539C 8FA5056C */ lw $a1, 0x56c($sp) -/* 0C9ED0 7F0953A0 27A4046C */ addiu $a0, $sp, 0x46c -/* 0C9ED4 7F0953A4 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9ED8 7F0953A8 8FA50568 */ lw $a1, 0x568($sp) -/* 0C9EDC 7F0953AC 27A40484 */ addiu $a0, $sp, 0x484 -/* 0C9EE0 7F0953B0 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9EE4 7F0953B4 8FA50550 */ lw $a1, 0x550($sp) -/* 0C9EE8 7F0953B8 27A4049C */ addiu $a0, $sp, 0x49c -/* 0C9EEC 7F0953BC 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0C9EF0 7F0953C0 8FA50558 */ lw $a1, 0x558($sp) -/* 0C9EF4 7F0953C4 100000F9 */ b .L7F0957AC -/* 0C9EF8 7F0953C8 00000000 */ nop -.L7F0953CC: -/* 0C9EFC 7F0953CC C7BA05E4 */ lwc1 $f26, 0x5e4($sp) -/* 0C9F00 7F0953D0 C7B605EC */ lwc1 $f22, 0x5ec($sp) -/* 0C9F04 7F0953D4 C7B405D8 */ lwc1 $f20, 0x5d8($sp) -/* 0C9F08 7F0953D8 4618D482 */ mul.s $f18, $f26, $f24 -/* 0C9F0C 7F0953DC C7B005E0 */ lwc1 $f16, 0x5e0($sp) -/* 0C9F10 7F0953E0 C7AE05C0 */ lwc1 $f14, 0x5c0($sp) -/* 0C9F14 7F0953E4 4618B302 */ mul.s $f12, $f22, $f24 -/* 0C9F18 7F0953E8 C7AA059C */ lwc1 $f10, 0x59c($sp) -/* 0C9F1C 7F0953EC C7A805E8 */ lwc1 $f8, 0x5e8($sp) -/* 0C9F20 7F0953F0 4618A182 */ mul.s $f6, $f20, $f24 -/* 0C9F24 7F0953F4 C7A405C8 */ lwc1 $f4, 0x5c8($sp) -/* 0C9F28 7F0953F8 C7A205A4 */ lwc1 $f2, 0x5a4($sp) -/* 0C9F2C 7F0953FC 46184202 */ mul.s $f8, $f8, $f24 -/* 0C9F30 7F095400 C7A005DC */ lwc1 $f0, 0x5dc($sp) -/* 0C9F34 7F095404 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0C9F38 7F095408 E7B2043C */ swc1 $f18, 0x43c($sp) -/* 0C9F3C 7F09540C 46180002 */ mul.s $f0, $f0, $f24 -/* 0C9F40 7F095410 C7B205C4 */ lwc1 $f18, 0x5c4($sp) -/* 0C9F44 7F095414 E7AC0444 */ swc1 $f12, 0x444($sp) -/* 0C9F48 7F095418 46188302 */ mul.s $f12, $f16, $f24 -/* 0C9F4C 7F09541C E7A80440 */ swc1 $f8, 0x440($sp) -/* 0C9F50 7F095420 C7A805A8 */ lwc1 $f8, 0x5a8($sp) -/* 0C9F54 7F095424 46189482 */ mul.s $f18, $f18, $f24 -/* 0C9F58 7F095428 E7A60454 */ swc1 $f6, 0x454($sp) -/* 0C9F5C 7F09542C C7A605AC */ lwc1 $f6, 0x5ac($sp) -/* 0C9F60 7F095430 46184202 */ mul.s $f8, $f8, $f24 -/* 0C9F64 7F095434 E7A00458 */ swc1 $f0, 0x458($sp) -/* 0C9F68 7F095438 C7A005B0 */ lwc1 $f0, 0x5b0($sp) -/* 0C9F6C 7F09543C 24110005 */ li $s1, 5 -/* 0C9F70 7F095440 E7AC045C */ swc1 $f12, 0x45c($sp) -/* 0C9F74 7F095444 46187302 */ mul.s $f12, $f14, $f24 -/* 0C9F78 7F095448 E7B20470 */ swc1 $f18, 0x470($sp) -/* 0C9F7C 7F09544C C7B205A0 */ lwc1 $f18, 0x5a0($sp) -/* 0C9F80 7F095450 46180002 */ mul.s $f0, $f0, $f24 -/* 0C9F84 7F095454 E7A80484 */ swc1 $f8, 0x484($sp) -/* 0C9F88 7F095458 C428FD94 */ lwc1 $f8, %lo(D_8003FD94)($at) -/* 0C9F8C 7F09545C 46189482 */ mul.s $f18, $f18, $f24 -/* 0C9F90 7F095460 E7AC046C */ swc1 $f12, 0x46c($sp) -/* 0C9F94 7F095464 46082300 */ add.s $f12, $f4, $f8 -/* 0C9F98 7F095468 46182102 */ mul.s $f4, $f4, $f24 -/* 0C9F9C 7F09546C E7A0048C */ swc1 $f0, 0x48c($sp) -/* 0C9FA0 7F095470 46081000 */ add.s $f0, $f2, $f8 -/* 0C9FA4 7F095474 46183182 */ mul.s $f6, $f6, $f24 -/* 0C9FA8 7F095478 E7B204A0 */ swc1 $f18, 0x4a0($sp) -/* 0C9FAC 7F09547C 46088400 */ add.s $f16, $f16, $f8 -/* 0C9FB0 7F095480 46181082 */ mul.s $f2, $f2, $f24 -/* 0C9FB4 7F095484 C7B205B0 */ lwc1 $f18, 0x5b0($sp) -/* 0C9FB8 7F095488 E7A40474 */ swc1 $f4, 0x474($sp) -/* 0C9FBC 7F09548C 46185102 */ mul.s $f4, $f10, $f24 -/* 0C9FC0 7F095490 E7A60488 */ swc1 $f6, 0x488($sp) -/* 0C9FC4 7F095494 4608B580 */ add.s $f22, $f22, $f8 -/* 0C9FC8 7F095498 C7A605A8 */ lwc1 $f6, 0x5a8($sp) -/* 0C9FCC 7F09549C E7A204A4 */ swc1 $f2, 0x4a4($sp) -/* 0C9FD0 7F0954A0 46089200 */ add.s $f8, $f18, $f8 -/* 0C9FD4 7F0954A4 E7BA0448 */ swc1 $f26, 0x448($sp) -/* 0C9FD8 7F0954A8 E7A4049C */ swc1 $f4, 0x49c($sp) -/* 0C9FDC 7F0954AC E7B6044C */ swc1 $f22, 0x44c($sp) -/* 0C9FE0 7F0954B0 E7B40460 */ swc1 $f20, 0x460($sp) -/* 0C9FE4 7F0954B4 E7B00464 */ swc1 $f16, 0x464($sp) -/* 0C9FE8 7F0954B8 E7AE0478 */ swc1 $f14, 0x478($sp) -/* 0C9FEC 7F0954BC E7AC047C */ swc1 $f12, 0x47c($sp) -/* 0C9FF0 7F0954C0 E7A60490 */ swc1 $f6, 0x490($sp) -/* 0C9FF4 7F0954C4 E7A80494 */ swc1 $f8, 0x494($sp) -/* 0C9FF8 7F0954C8 E7AA04A8 */ swc1 $f10, 0x4a8($sp) -/* 0C9FFC 7F0954CC E7A004AC */ swc1 $f0, 0x4ac($sp) -/* 0CA000 7F0954D0 27A4043C */ addiu $a0, $sp, 0x43c -/* 0CA004 7F0954D4 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA008 7F0954D8 8FA5056C */ lw $a1, 0x56c($sp) -/* 0CA00C 7F0954DC 27A40454 */ addiu $a0, $sp, 0x454 -/* 0CA010 7F0954E0 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA014 7F0954E4 8FA50568 */ lw $a1, 0x568($sp) -/* 0CA018 7F0954E8 27A4046C */ addiu $a0, $sp, 0x46c -/* 0CA01C 7F0954EC 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA020 7F0954F0 8FA50560 */ lw $a1, 0x560($sp) -/* 0CA024 7F0954F4 27A40484 */ addiu $a0, $sp, 0x484 -/* 0CA028 7F0954F8 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA02C 7F0954FC 8FA50558 */ lw $a1, 0x558($sp) -/* 0CA030 7F095500 27A4049C */ addiu $a0, $sp, 0x49c -/* 0CA034 7F095504 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA038 7F095508 8FA50554 */ lw $a1, 0x554($sp) -/* 0CA03C 7F09550C 100000A7 */ b .L7F0957AC -/* 0CA040 7F095510 00000000 */ nop -.L7F095514: -/* 0CA044 7F095514 C7B605C0 */ lwc1 $f22, 0x5c0($sp) -/* 0CA048 7F095518 C7A605C4 */ lwc1 $f6, 0x5c4($sp) -/* 0CA04C 7F09551C C7BA05C8 */ lwc1 $f26, 0x5c8($sp) -/* 0CA050 7F095520 4618B102 */ mul.s $f4, $f22, $f24 -/* 0CA054 7F095524 C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 0CA058 7F095528 C7B405D4 */ lwc1 $f20, 0x5d4($sp) -/* 0CA05C 7F09552C 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA060 7F095530 C7A605D0 */ lwc1 $f6, 0x5d0($sp) -/* 0CA064 7F095534 C7A205E4 */ lwc1 $f2, 0x5e4($sp) -/* 0CA068 7F095538 4618D282 */ mul.s $f10, $f26, $f24 -/* 0CA06C 7F09553C E7A4043C */ swc1 $f4, 0x43c($sp) -/* 0CA070 7F095540 C7AC05EC */ lwc1 $f12, 0x5ec($sp) -/* 0CA074 7F095544 46189102 */ mul.s $f4, $f18, $f24 -/* 0CA078 7F095548 E7A80440 */ swc1 $f8, 0x440($sp) -/* 0CA07C 7F09554C C7AE05B4 */ lwc1 $f14, 0x5b4($sp) -/* 0CA080 7F095550 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA084 7F095554 E7AA0444 */ swc1 $f10, 0x444($sp) -/* 0CA088 7F095558 C7A605E8 */ lwc1 $f6, 0x5e8($sp) -/* 0CA08C 7F09555C 4618A282 */ mul.s $f10, $f20, $f24 -/* 0CA090 7F095560 E7A40454 */ swc1 $f4, 0x454($sp) -/* 0CA094 7F095564 C7B005BC */ lwc1 $f16, 0x5bc($sp) -/* 0CA098 7F095568 46181102 */ mul.s $f4, $f2, $f24 -/* 0CA09C 7F09556C E7A80458 */ swc1 $f8, 0x458($sp) -/* 0CA0A0 7F095570 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CA0A4 7F095574 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA0A8 7F095578 E7AA045C */ swc1 $f10, 0x45c($sp) -/* 0CA0AC 7F09557C C7A605B8 */ lwc1 $f6, 0x5b8($sp) -/* 0CA0B0 7F095580 46186282 */ mul.s $f10, $f12, $f24 -/* 0CA0B4 7F095584 E7A4046C */ swc1 $f4, 0x46c($sp) -/* 0CA0B8 7F095588 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CA0BC 7F09558C 46187102 */ mul.s $f4, $f14, $f24 -/* 0CA0C0 7F095590 E7A80470 */ swc1 $f8, 0x470($sp) -/* 0CA0C4 7F095594 24110005 */ li $s1, 5 -/* 0CA0C8 7F095598 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA0CC 7F09559C E7AA0474 */ swc1 $f10, 0x474($sp) -/* 0CA0D0 7F0955A0 27A4043C */ addiu $a0, $sp, 0x43c -/* 0CA0D4 7F0955A4 46188282 */ mul.s $f10, $f16, $f24 -/* 0CA0D8 7F0955A8 E7A40484 */ swc1 $f4, 0x484($sp) -/* 0CA0DC 7F0955AC C7A40590 */ lwc1 $f4, 0x590($sp) -/* 0CA0E0 7F0955B0 8FA50560 */ lw $a1, 0x560($sp) -/* 0CA0E4 7F0955B4 E7A80488 */ swc1 $f8, 0x488($sp) -/* 0CA0E8 7F0955B8 46182182 */ mul.s $f6, $f4, $f24 -/* 0CA0EC 7F0955BC C7A80594 */ lwc1 $f8, 0x594($sp) -/* 0CA0F0 7F0955C0 E7AA048C */ swc1 $f10, 0x48c($sp) -/* 0CA0F4 7F0955C4 C7A40598 */ lwc1 $f4, 0x598($sp) -/* 0CA0F8 7F0955C8 46184282 */ mul.s $f10, $f8, $f24 -/* 0CA0FC 7F0955CC 4600D200 */ add.s $f8, $f26, $f0 -/* 0CA100 7F0955D0 E7B60448 */ swc1 $f22, 0x448($sp) -/* 0CA104 7F0955D4 E7A6049C */ swc1 $f6, 0x49c($sp) -/* 0CA108 7F0955D8 46182182 */ mul.s $f6, $f4, $f24 -/* 0CA10C 7F0955DC 46006100 */ add.s $f4, $f12, $f0 -/* 0CA110 7F0955E0 E7A8044C */ swc1 $f8, 0x44c($sp) -/* 0CA114 7F0955E4 E7AA04A0 */ swc1 $f10, 0x4a0($sp) -/* 0CA118 7F0955E8 C7A80590 */ lwc1 $f8, 0x590($sp) -/* 0CA11C 7F0955EC 4600A280 */ add.s $f10, $f20, $f0 -/* 0CA120 7F0955F0 E7A4047C */ swc1 $f4, 0x47c($sp) -/* 0CA124 7F0955F4 E7A604A4 */ swc1 $f6, 0x4a4($sp) -/* 0CA128 7F0955F8 46008180 */ add.s $f6, $f16, $f0 -/* 0CA12C 7F0955FC E7AA0464 */ swc1 $f10, 0x464($sp) -/* 0CA130 7F095600 C7AA0598 */ lwc1 $f10, 0x598($sp) -/* 0CA134 7F095604 E7B20460 */ swc1 $f18, 0x460($sp) -/* 0CA138 7F095608 E7A60494 */ swc1 $f6, 0x494($sp) -/* 0CA13C 7F09560C 46005100 */ add.s $f4, $f10, $f0 -/* 0CA140 7F095610 E7A20478 */ swc1 $f2, 0x478($sp) -/* 0CA144 7F095614 E7AE0490 */ swc1 $f14, 0x490($sp) -/* 0CA148 7F095618 E7A804A8 */ swc1 $f8, 0x4a8($sp) -/* 0CA14C 7F09561C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA150 7F095620 E7A404AC */ swc1 $f4, 0x4ac($sp) -/* 0CA154 7F095624 27A40454 */ addiu $a0, $sp, 0x454 -/* 0CA158 7F095628 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA15C 7F09562C 8FA50564 */ lw $a1, 0x564($sp) -/* 0CA160 7F095630 27A4046C */ addiu $a0, $sp, 0x46c -/* 0CA164 7F095634 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA168 7F095638 8FA5056C */ lw $a1, 0x56c($sp) -/* 0CA16C 7F09563C 27A40484 */ addiu $a0, $sp, 0x484 -/* 0CA170 7F095640 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA174 7F095644 8FA5055C */ lw $a1, 0x55c($sp) -/* 0CA178 7F095648 27A4049C */ addiu $a0, $sp, 0x49c -/* 0CA17C 7F09564C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA180 7F095650 8FA50550 */ lw $a1, 0x550($sp) -/* 0CA184 7F095654 10000055 */ b .L7F0957AC -/* 0CA188 7F095658 00000000 */ nop -.L7F09565C: -/* 0CA18C 7F09565C C7AE05D8 */ lwc1 $f14, 0x5d8($sp) -/* 0CA190 7F095660 C7A805DC */ lwc1 $f8, 0x5dc($sp) -/* 0CA194 7F095664 C7B005E0 */ lwc1 $f16, 0x5e0($sp) -/* 0CA198 7F095668 46187182 */ mul.s $f6, $f14, $f24 -/* 0CA19C 7F09566C C7B605C0 */ lwc1 $f22, 0x5c0($sp) -/* 0CA1A0 7F095670 C7BA05C8 */ lwc1 $f26, 0x5c8($sp) -/* 0CA1A4 7F095674 46184282 */ mul.s $f10, $f8, $f24 -/* 0CA1A8 7F095678 C7A805C4 */ lwc1 $f8, 0x5c4($sp) -/* 0CA1AC 7F09567C C7B205CC */ lwc1 $f18, 0x5cc($sp) -/* 0CA1B0 7F095680 46188102 */ mul.s $f4, $f16, $f24 -/* 0CA1B4 7F095684 E7A6043C */ swc1 $f6, 0x43c($sp) -/* 0CA1B8 7F095688 C7B405D4 */ lwc1 $f20, 0x5d4($sp) -/* 0CA1BC 7F09568C 4618B182 */ mul.s $f6, $f22, $f24 -/* 0CA1C0 7F095690 E7AA0440 */ swc1 $f10, 0x440($sp) -/* 0CA1C4 7F095694 C7A2059C */ lwc1 $f2, 0x59c($sp) -/* 0CA1C8 7F095698 46184282 */ mul.s $f10, $f8, $f24 -/* 0CA1CC 7F09569C E7A40444 */ swc1 $f4, 0x444($sp) -/* 0CA1D0 7F0956A0 C7A805D0 */ lwc1 $f8, 0x5d0($sp) -/* 0CA1D4 7F0956A4 4618D102 */ mul.s $f4, $f26, $f24 -/* 0CA1D8 7F0956A8 E7A60454 */ swc1 $f6, 0x454($sp) -/* 0CA1DC 7F0956AC C7AC05A4 */ lwc1 $f12, 0x5a4($sp) -/* 0CA1E0 7F0956B0 46189182 */ mul.s $f6, $f18, $f24 -/* 0CA1E4 7F0956B4 E7AA0458 */ swc1 $f10, 0x458($sp) -/* 0CA1E8 7F0956B8 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CA1EC 7F0956BC 46184282 */ mul.s $f10, $f8, $f24 -/* 0CA1F0 7F0956C0 E7A4045C */ swc1 $f4, 0x45c($sp) -/* 0CA1F4 7F0956C4 C7A805A0 */ lwc1 $f8, 0x5a0($sp) -/* 0CA1F8 7F0956C8 4618A102 */ mul.s $f4, $f20, $f24 -/* 0CA1FC 7F0956CC E7A6046C */ swc1 $f6, 0x46c($sp) -/* 0CA200 7F0956D0 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CA204 7F0956D4 46181182 */ mul.s $f6, $f2, $f24 -/* 0CA208 7F0956D8 E7AA0470 */ swc1 $f10, 0x470($sp) -/* 0CA20C 7F0956DC 24110005 */ li $s1, 5 -/* 0CA210 7F0956E0 46184282 */ mul.s $f10, $f8, $f24 -/* 0CA214 7F0956E4 E7A40474 */ swc1 $f4, 0x474($sp) -/* 0CA218 7F0956E8 27A4043C */ addiu $a0, $sp, 0x43c -/* 0CA21C 7F0956EC 46186102 */ mul.s $f4, $f12, $f24 -/* 0CA220 7F0956F0 E7A60484 */ swc1 $f6, 0x484($sp) -/* 0CA224 7F0956F4 C7A605B4 */ lwc1 $f6, 0x5b4($sp) -/* 0CA228 7F0956F8 8FA50568 */ lw $a1, 0x568($sp) -/* 0CA22C 7F0956FC E7AA0488 */ swc1 $f10, 0x488($sp) -/* 0CA230 7F095700 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA234 7F095704 C7AA05B8 */ lwc1 $f10, 0x5b8($sp) -/* 0CA238 7F095708 E7A4048C */ swc1 $f4, 0x48c($sp) -/* 0CA23C 7F09570C C7A605BC */ lwc1 $f6, 0x5bc($sp) -/* 0CA240 7F095710 46185102 */ mul.s $f4, $f10, $f24 -/* 0CA244 7F095714 46008280 */ add.s $f10, $f16, $f0 -/* 0CA248 7F095718 E7AE0448 */ swc1 $f14, 0x448($sp) -/* 0CA24C 7F09571C E7A8049C */ swc1 $f8, 0x49c($sp) -/* 0CA250 7F095720 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA254 7F095724 4600A180 */ add.s $f6, $f20, $f0 -/* 0CA258 7F095728 E7AA044C */ swc1 $f10, 0x44c($sp) -/* 0CA25C 7F09572C E7A404A0 */ swc1 $f4, 0x4a0($sp) -/* 0CA260 7F095730 C7AA05B4 */ lwc1 $f10, 0x5b4($sp) -/* 0CA264 7F095734 4600D100 */ add.s $f4, $f26, $f0 -/* 0CA268 7F095738 E7A6047C */ swc1 $f6, 0x47c($sp) -/* 0CA26C 7F09573C E7A804A4 */ swc1 $f8, 0x4a4($sp) -/* 0CA270 7F095740 46006200 */ add.s $f8, $f12, $f0 -/* 0CA274 7F095744 E7A40464 */ swc1 $f4, 0x464($sp) -/* 0CA278 7F095748 C7A405BC */ lwc1 $f4, 0x5bc($sp) -/* 0CA27C 7F09574C E7B60460 */ swc1 $f22, 0x460($sp) -/* 0CA280 7F095750 E7A80494 */ swc1 $f8, 0x494($sp) -/* 0CA284 7F095754 46002180 */ add.s $f6, $f4, $f0 -/* 0CA288 7F095758 E7B20478 */ swc1 $f18, 0x478($sp) -/* 0CA28C 7F09575C E7A20490 */ swc1 $f2, 0x490($sp) -/* 0CA290 7F095760 E7AA04A8 */ swc1 $f10, 0x4a8($sp) -/* 0CA294 7F095764 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA298 7F095768 E7A604AC */ swc1 $f6, 0x4ac($sp) -/* 0CA29C 7F09576C 27A40454 */ addiu $a0, $sp, 0x454 -/* 0CA2A0 7F095770 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA2A4 7F095774 8FA50560 */ lw $a1, 0x560($sp) -/* 0CA2A8 7F095778 27A4046C */ addiu $a0, $sp, 0x46c -/* 0CA2AC 7F09577C 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA2B0 7F095780 8FA50564 */ lw $a1, 0x564($sp) -/* 0CA2B4 7F095784 27A40484 */ addiu $a0, $sp, 0x484 -/* 0CA2B8 7F095788 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA2BC 7F09578C 8FA50554 */ lw $a1, 0x554($sp) -/* 0CA2C0 7F095790 27A4049C */ addiu $a0, $sp, 0x49c -/* 0CA2C4 7F095794 0FC24FE9 */ jal sub_GAME_7F093FA4 -/* 0CA2C8 7F095798 8FA5055C */ lw $a1, 0x55c($sp) -/* 0CA2CC 7F09579C 10000003 */ b .L7F0957AC -/* 0CA2D0 7F0957A0 00000000 */ nop -def_7F094A38: -.L7F0957A4: -/* 0CA2D4 7F0957A4 100006EE */ b .L7F097360 -/* 0CA2D8 7F0957A8 8FA206B0 */ lw $v0, 0x6b0($sp) -.L7F0957AC: -/* 0CA2DC 7F0957AC 5A20018E */ blezl $s1, .L7F095DE8 -/* 0CA2E0 7F0957B0 8FAA005C */ lw $t2, 0x5c($sp) -/* 0CA2E4 7F0957B4 0FC1E0F9 */ jal get_BONDdata_field_10DC -/* 0CA2E8 7F0957B8 00000000 */ nop -/* 0CA2EC 7F0957BC 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0CA2F0 7F0957C0 00408025 */ move $s0, $v0 -/* 0CA2F4 7F0957C4 02002025 */ move $a0, $s0 -/* 0CA2F8 7F0957C8 00402825 */ move $a1, $v0 -/* 0CA2FC 7F0957CC 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0CA300 7F0957D0 27A603CC */ addiu $a2, $sp, 0x3cc -/* 0CA304 7F0957D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CA308 7F0957D8 44814000 */ mtc1 $at, $f8 -/* 0CA30C 7F0957DC 3C048008 */ lui $a0, %hi(dword_CODE_bss_80079E98) -/* 0CA310 7F0957E0 24849E98 */ addiu $a0, %lo(dword_CODE_bss_80079E98) # addiu $a0, $a0, -0x6168 -/* 0CA314 7F0957E4 46184003 */ div.s $f0, $f8, $f24 -/* 0CA318 7F0957E8 44050000 */ mfc1 $a1, $f0 -/* 0CA31C 7F0957EC 44060000 */ mfc1 $a2, $f0 -/* 0CA320 7F0957F0 44070000 */ mfc1 $a3, $f0 -/* 0CA324 7F0957F4 0C005BA4 */ jal guScaleF -/* 0CA328 7F0957F8 00000000 */ nop -/* 0CA32C 7F0957FC 3C058008 */ lui $a1, %hi(dword_CODE_bss_80079E98) -/* 0CA330 7F095800 24A59E98 */ addiu $a1, %lo(dword_CODE_bss_80079E98) # addiu $a1, $a1, -0x6168 -/* 0CA334 7F095804 27A403CC */ addiu $a0, $sp, 0x3cc -/* 0CA338 7F095808 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0CA33C 7F09580C 27A6038C */ addiu $a2, $sp, 0x38c -/* 0CA340 7F095810 1A20004E */ blez $s1, .L7F09594C -/* 0CA344 7F095814 AFA00270 */ sw $zero, 0x270($sp) -/* 0CA348 7F095818 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0CA34C 7F09581C 27A4043C */ addiu $a0, $sp, 0x43c -/* 0CA350 7F095820 4481D000 */ mtc1 $at, $f26 -/* 0CA354 7F095824 AFA40058 */ sw $a0, 0x58($sp) -/* 0CA358 7F095828 27B00274 */ addiu $s0, $sp, 0x274 -.L7F09582C: -/* 0CA35C 7F09582C 3C018005 */ lui $at, %hi(D_80057584) -/* 0CA360 7F095830 C4207584 */ lwc1 $f0, %lo(D_80057584)($at) -/* 0CA364 7F095834 8FA40058 */ lw $a0, 0x58($sp) -/* 0CA368 7F095838 27A5038C */ addiu $a1, $sp, 0x38c -/* 0CA36C 7F09583C 44070000 */ mfc1 $a3, $f0 -/* 0CA370 7F095840 24060082 */ li $a2, 130 -/* 0CA374 7F095844 AFB00014 */ sw $s0, 0x14($sp) -/* 0CA378 7F095848 0FC25CE2 */ jal sub_GAME_7F097388 -/* 0CA37C 7F09584C E7A00010 */ swc1 $f0, 0x10($sp) -/* 0CA380 7F095850 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CA384 7F095854 00000000 */ nop -/* 0CA388 7F095858 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CA38C 7F09585C 46000506 */ mov.s $f20, $f0 -/* 0CA390 7F095860 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CA394 7F095864 46000586 */ mov.s $f22, $f0 -/* 0CA398 7F095868 46160280 */ add.s $f10, $f0, $f22 -/* 0CA39C 7F09586C 461AA382 */ mul.s $f14, $f20, $f26 -/* 0CA3A0 7F095870 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CA3A4 7F095874 44813000 */ mtc1 $at, $f6 -/* 0CA3A8 7F095878 461A5102 */ mul.s $f4, $f10, $f26 -/* 0CA3AC 7F09587C C60C0028 */ lwc1 $f12, 0x28($s0) -/* 0CA3B0 7F095880 46062201 */ sub.s $f8, $f4, $f6 -/* 0CA3B4 7F095884 44064000 */ mfc1 $a2, $f8 -/* 0CA3B8 7F095888 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CA3BC 7F09588C 00000000 */ nop -/* 0CA3C0 7F095890 0FC1E135 */ jal getPlayer_c_screentop -/* 0CA3C4 7F095894 E6000028 */ swc1 $f0, 0x28($s0) -/* 0CA3C8 7F095898 0FC1E135 */ jal getPlayer_c_screentop -/* 0CA3CC 7F09589C 46000506 */ mov.s $f20, $f0 -/* 0CA3D0 7F0958A0 0FC1E12D */ jal getPlayer_c_screenheight -/* 0CA3D4 7F0958A4 46000586 */ mov.s $f22, $f0 -/* 0CA3D8 7F0958A8 46160280 */ add.s $f10, $f0, $f22 -/* 0CA3DC 7F0958AC 461AA382 */ mul.s $f14, $f20, $f26 -/* 0CA3E0 7F0958B0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CA3E4 7F0958B4 44813000 */ mtc1 $at, $f6 -/* 0CA3E8 7F0958B8 461A5102 */ mul.s $f4, $f10, $f26 -/* 0CA3EC 7F0958BC C60C002C */ lwc1 $f12, 0x2c($s0) -/* 0CA3F0 7F0958C0 46062201 */ sub.s $f8, $f4, $f6 -/* 0CA3F4 7F0958C4 44064000 */ mfc1 $a2, $f8 -/* 0CA3F8 7F0958C8 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CA3FC 7F0958CC 00000000 */ nop -/* 0CA400 7F0958D0 0FC1E135 */ jal getPlayer_c_screentop -/* 0CA404 7F0958D4 E600002C */ swc1 $f0, 0x2c($s0) -/* 0CA408 7F0958D8 461A0282 */ mul.s $f10, $f0, $f26 -/* 0CA40C 7F0958DC C606002C */ lwc1 $f6, 0x2c($s0) -/* 0CA410 7F0958E0 461A5100 */ add.s $f4, $f10, $f26 -/* 0CA414 7F0958E4 4606203C */ c.lt.s $f4, $f6 -/* 0CA418 7F0958E8 00000000 */ nop -/* 0CA41C 7F0958EC 45020010 */ bc1fl .L7F095930 -/* 0CA420 7F0958F0 8FB90058 */ lw $t9, 0x58($sp) -/* 0CA424 7F0958F4 0FC1E135 */ jal getPlayer_c_screentop -/* 0CA428 7F0958F8 00000000 */ nop -/* 0CA42C 7F0958FC 0FC1E12D */ jal getPlayer_c_screenheight -/* 0CA430 7F095900 46000506 */ mov.s $f20, $f0 -/* 0CA434 7F095904 46140200 */ add.s $f8, $f0, $f20 -/* 0CA438 7F095908 C602002C */ lwc1 $f2, 0x2c($s0) -/* 0CA43C 7F09590C 461A4282 */ mul.s $f10, $f8, $f26 -/* 0CA440 7F095910 461A5101 */ sub.s $f4, $f10, $f26 -/* 0CA444 7F095914 4604103C */ c.lt.s $f2, $f4 -/* 0CA448 7F095918 00000000 */ nop -/* 0CA44C 7F09591C 45020004 */ bc1fl .L7F095930 -/* 0CA450 7F095920 8FB90058 */ lw $t9, 0x58($sp) -/* 0CA454 7F095924 461A1181 */ sub.s $f6, $f2, $f26 -/* 0CA458 7F095928 E606002C */ swc1 $f6, 0x2c($s0) -/* 0CA45C 7F09592C 8FB90058 */ lw $t9, 0x58($sp) -.L7F095930: -/* 0CA460 7F095930 8FA20270 */ lw $v0, 0x270($sp) -/* 0CA464 7F095934 26100038 */ addiu $s0, $s0, 0x38 -/* 0CA468 7F095938 272D0018 */ addiu $t5, $t9, 0x18 -/* 0CA46C 7F09593C 24420001 */ addiu $v0, $v0, 1 -/* 0CA470 7F095940 AFA20270 */ sw $v0, 0x270($sp) -/* 0CA474 7F095944 1451FFB9 */ bne $v0, $s1, .L7F09582C -/* 0CA478 7F095948 AFAD0058 */ sw $t5, 0x58($sp) -.L7F09594C: -/* 0CA47C 7F09594C 0FC2E9CB */ jal get_ptr_currentdata -/* 0CA480 7F095950 00000000 */ nop -/* 0CA484 7F095954 904B0020 */ lbu $t3, 0x20($v0) -/* 0CA488 7F095958 8FAE06B0 */ lw $t6, 0x6b0($sp) -/* 0CA48C 7F09595C 3C0FE700 */ lui $t7, 0xe700 -/* 0CA490 7F095960 156000A6 */ bnez $t3, .L7F095BFC -/* 0CA494 7F095964 25CA0008 */ addiu $t2, $t6, 8 -/* 0CA498 7F095968 3C018005 */ lui $at, %hi(D_80057588) -/* 0CA49C 7F09596C C4327588 */ lwc1 $f18, %lo(D_80057588)($at) -/* 0CA4A0 7F095970 3C018005 */ lui $at, %hi(D_8005758C) -/* 0CA4A4 7F095974 C434758C */ lwc1 $f20, %lo(D_8005758C)($at) -/* 0CA4A8 7F095978 44808000 */ mtc1 $zero, $f16 -/* 0CA4AC 7F09597C 00001825 */ move $v1, $zero -/* 0CA4B0 7F095980 46009086 */ mov.s $f2, $f18 -/* 0CA4B4 7F095984 4600A386 */ mov.s $f14, $f20 -/* 0CA4B8 7F095988 1A200054 */ blez $s1, .L7F095ADC -/* 0CA4BC 7F09598C 46008306 */ mov.s $f12, $f16 -/* 0CA4C0 7F095990 32220001 */ andi $v0, $s1, 1 -/* 0CA4C4 7F095994 10400019 */ beqz $v0, .L7F0959FC -/* 0CA4C8 7F095998 C7A0029C */ lwc1 $f0, 0x29c($sp) -/* 0CA4CC 7F09599C 4612003C */ c.lt.s $f0, $f18 -/* 0CA4D0 7F0959A0 44804000 */ mtc1 $zero, $f8 -/* 0CA4D4 7F0959A4 44805000 */ mtc1 $zero, $f10 -/* 0CA4D8 7F0959A8 24030001 */ li $v1, 1 -/* 0CA4DC 7F0959AC 45020003 */ bc1fl .L7F0959BC -/* 0CA4E0 7F0959B0 4600403C */ c.lt.s $f8, $f0 -/* 0CA4E4 7F0959B4 46000086 */ mov.s $f2, $f0 -/* 0CA4E8 7F0959B8 4600403C */ c.lt.s $f8, $f0 -.L7F0959BC: -/* 0CA4EC 7F0959BC 00000000 */ nop -/* 0CA4F0 7F0959C0 45020003 */ bc1fl .L7F0959D0 -/* 0CA4F4 7F0959C4 C7A002A0 */ lwc1 $f0, 0x2a0($sp) -/* 0CA4F8 7F0959C8 46000306 */ mov.s $f12, $f0 -/* 0CA4FC 7F0959CC C7A002A0 */ lwc1 $f0, 0x2a0($sp) -.L7F0959D0: -/* 0CA500 7F0959D0 4614003C */ c.lt.s $f0, $f20 -/* 0CA504 7F0959D4 00000000 */ nop -/* 0CA508 7F0959D8 45020003 */ bc1fl .L7F0959E8 -/* 0CA50C 7F0959DC 4600503C */ c.lt.s $f10, $f0 -/* 0CA510 7F0959E0 46000386 */ mov.s $f14, $f0 -/* 0CA514 7F0959E4 4600503C */ c.lt.s $f10, $f0 -.L7F0959E8: -/* 0CA518 7F0959E8 00000000 */ nop -/* 0CA51C 7F0959EC 45000002 */ bc1f .L7F0959F8 -/* 0CA520 7F0959F0 00000000 */ nop -/* 0CA524 7F0959F4 46000406 */ mov.s $f16, $f0 -.L7F0959F8: -/* 0CA528 7F0959F8 10710038 */ beq $v1, $s1, .L7F095ADC -.L7F0959FC: -/* 0CA52C 7F0959FC 000360C0 */ sll $t4, $v1, 3 -/* 0CA530 7F095A00 0011C0C0 */ sll $t8, $s1, 3 -/* 0CA534 7F095A04 0311C023 */ subu $t8, $t8, $s1 -/* 0CA538 7F095A08 01836023 */ subu $t4, $t4, $v1 -/* 0CA53C 7F095A0C 27AE0274 */ addiu $t6, $sp, 0x274 -/* 0CA540 7F095A10 000C60C0 */ sll $t4, $t4, 3 -/* 0CA544 7F095A14 0018C0C0 */ sll $t8, $t8, 3 -/* 0CA548 7F095A18 030E2021 */ addu $a0, $t8, $t6 -/* 0CA54C 7F095A1C 018E1021 */ addu $v0, $t4, $t6 -/* 0CA550 7F095A20 C4400028 */ lwc1 $f0, 0x28($v0) -.L7F095A24: -/* 0CA554 7F095A24 4602003C */ c.lt.s $f0, $f2 -/* 0CA558 7F095A28 00000000 */ nop -/* 0CA55C 7F095A2C 45020003 */ bc1fl .L7F095A3C -/* 0CA560 7F095A30 4600603C */ c.lt.s $f12, $f0 -/* 0CA564 7F095A34 46000086 */ mov.s $f2, $f0 -/* 0CA568 7F095A38 4600603C */ c.lt.s $f12, $f0 -.L7F095A3C: -/* 0CA56C 7F095A3C 00000000 */ nop -/* 0CA570 7F095A40 45020003 */ bc1fl .L7F095A50 -/* 0CA574 7F095A44 C440002C */ lwc1 $f0, 0x2c($v0) -/* 0CA578 7F095A48 46000306 */ mov.s $f12, $f0 -/* 0CA57C 7F095A4C C440002C */ lwc1 $f0, 0x2c($v0) -.L7F095A50: -/* 0CA580 7F095A50 460E003C */ c.lt.s $f0, $f14 -/* 0CA584 7F095A54 00000000 */ nop -/* 0CA588 7F095A58 45020003 */ bc1fl .L7F095A68 -/* 0CA58C 7F095A5C 4600803C */ c.lt.s $f16, $f0 -/* 0CA590 7F095A60 46000386 */ mov.s $f14, $f0 -/* 0CA594 7F095A64 4600803C */ c.lt.s $f16, $f0 -.L7F095A68: -/* 0CA598 7F095A68 00000000 */ nop -/* 0CA59C 7F095A6C 45020003 */ bc1fl .L7F095A7C -/* 0CA5A0 7F095A70 C4400060 */ lwc1 $f0, 0x60($v0) -/* 0CA5A4 7F095A74 46000406 */ mov.s $f16, $f0 -/* 0CA5A8 7F095A78 C4400060 */ lwc1 $f0, 0x60($v0) -.L7F095A7C: -/* 0CA5AC 7F095A7C 4602003C */ c.lt.s $f0, $f2 -/* 0CA5B0 7F095A80 00000000 */ nop -/* 0CA5B4 7F095A84 45020003 */ bc1fl .L7F095A94 -/* 0CA5B8 7F095A88 4600603C */ c.lt.s $f12, $f0 -/* 0CA5BC 7F095A8C 46000086 */ mov.s $f2, $f0 -/* 0CA5C0 7F095A90 4600603C */ c.lt.s $f12, $f0 -.L7F095A94: -/* 0CA5C4 7F095A94 00000000 */ nop -/* 0CA5C8 7F095A98 45020003 */ bc1fl .L7F095AA8 -/* 0CA5CC 7F095A9C C4400064 */ lwc1 $f0, 0x64($v0) -/* 0CA5D0 7F095AA0 46000306 */ mov.s $f12, $f0 -/* 0CA5D4 7F095AA4 C4400064 */ lwc1 $f0, 0x64($v0) -.L7F095AA8: -/* 0CA5D8 7F095AA8 24420070 */ addiu $v0, $v0, 0x70 -/* 0CA5DC 7F095AAC 460E003C */ c.lt.s $f0, $f14 -/* 0CA5E0 7F095AB0 00000000 */ nop -/* 0CA5E4 7F095AB4 45020003 */ bc1fl .L7F095AC4 -/* 0CA5E8 7F095AB8 4600803C */ c.lt.s $f16, $f0 -/* 0CA5EC 7F095ABC 46000386 */ mov.s $f14, $f0 -/* 0CA5F0 7F095AC0 4600803C */ c.lt.s $f16, $f0 -.L7F095AC4: -/* 0CA5F4 7F095AC4 00000000 */ nop -/* 0CA5F8 7F095AC8 45000002 */ bc1f .L7F095AD4 -/* 0CA5FC 7F095ACC 00000000 */ nop -/* 0CA600 7F095AD0 46000406 */ mov.s $f16, $f0 -.L7F095AD4: -/* 0CA604 7F095AD4 5444FFD3 */ bnel $v0, $a0, .L7F095A24 -/* 0CA608 7F095AD8 C4400028 */ lwc1 $f0, 0x28($v0) -.L7F095ADC: -/* 0CA60C 7F095ADC 8FAA06B0 */ lw $t2, 0x6b0($sp) -/* 0CA610 7F095AE0 3C19E700 */ lui $t9, 0xe700 -/* 0CA614 7F095AE4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CA618 7F095AE8 254F0008 */ addiu $t7, $t2, 8 -/* 0CA61C 7F095AEC AFAF06B0 */ sw $t7, 0x6b0($sp) -/* 0CA620 7F095AF0 AD400004 */ sw $zero, 4($t2) -/* 0CA624 7F095AF4 AD590000 */ sw $t9, ($t2) -/* 0CA628 7F095AF8 8FAD06B0 */ lw $t5, 0x6b0($sp) -/* 0CA62C 7F095AFC 44810000 */ mtc1 $at, $f0 -/* 0CA630 7F095B00 3C0CBA00 */ lui $t4, (0xBA001402 >> 16) # lui $t4, 0xba00 -/* 0CA634 7F095B04 25AB0008 */ addiu $t3, $t5, 8 -/* 0CA638 7F095B08 AFAB06B0 */ sw $t3, 0x6b0($sp) -/* 0CA63C 7F095B0C 358C1402 */ ori $t4, (0xBA001402 & 0xFFFF) # ori $t4, $t4, 0x1402 -/* 0CA640 7F095B10 3C180030 */ lui $t8, 0x30 -/* 0CA644 7F095B14 46006102 */ mul.s $f4, $f12, $f0 -/* 0CA648 7F095B18 ADB80004 */ sw $t8, 4($t5) -/* 0CA64C 7F095B1C ADAC0000 */ sw $t4, ($t5) -/* 0CA650 7F095B20 8FAE06B0 */ lw $t6, 0x6b0($sp) -/* 0CA654 7F095B24 46008202 */ mul.s $f8, $f16, $f0 -/* 0CA658 7F095B28 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 0CA65C 7F095B2C 25CA0008 */ addiu $t2, $t6, 8 -/* 0CA660 7F095B30 AFAA06B0 */ sw $t2, 0x6b0($sp) -/* 0CA664 7F095B34 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 0CA668 7F095B38 ADCF0000 */ sw $t7, ($t6) -/* 0CA66C 7F095B3C ADC00004 */ sw $zero, 4($t6) -/* 0CA670 7F095B40 4600218D */ trunc.w.s $f6, $f4 -/* 0CA674 7F095B44 8FB906B0 */ lw $t9, 0x6b0($sp) -/* 0CA678 7F095B48 46001102 */ mul.s $f4, $f2, $f0 -/* 0CA67C 7F095B4C 4600428D */ trunc.w.s $f10, $f8 -/* 0CA680 7F095B50 272D0008 */ addiu $t5, $t9, 8 -/* 0CA684 7F095B54 46007202 */ mul.s $f8, $f14, $f0 -/* 0CA688 7F095B58 3C07BA00 */ lui $a3, (0xBA001301 >> 16) # lui $a3, 0xba00 -/* 0CA68C 7F095B5C AFAD06B0 */ sw $t5, 0x6b0($sp) -/* 0CA690 7F095B60 34E71301 */ ori $a3, (0xBA001301 & 0xFFFF) # ori $a3, $a3, 0x1301 -/* 0CA694 7F095B64 AF270000 */ sw $a3, ($t9) -/* 0CA698 7F095B68 AF200004 */ sw $zero, 4($t9) -/* 0CA69C 7F095B6C 8FA606B0 */ lw $a2, 0x6b0($sp) -/* 0CA6A0 7F095B70 440E3000 */ mfc1 $t6, $f6 -/* 0CA6A4 7F095B74 440B5000 */ mfc1 $t3, $f10 -/* 0CA6A8 7F095B78 24CC0008 */ addiu $t4, $a2, 8 -/* 0CA6AC 7F095B7C 31CA03FF */ andi $t2, $t6, 0x3ff -/* 0CA6B0 7F095B80 4600428D */ trunc.w.s $f10, $f8 -/* 0CA6B4 7F095B84 000A7B80 */ sll $t7, $t2, 0xe -/* 0CA6B8 7F095B88 AFAC06B0 */ sw $t4, 0x6b0($sp) -/* 0CA6BC 7F095B8C 4600218D */ trunc.w.s $f6, $f4 -/* 0CA6C0 7F095B90 3C01F600 */ lui $at, 0xf600 -/* 0CA6C4 7F095B94 01E1C825 */ or $t9, $t7, $at -/* 0CA6C8 7F095B98 316C03FF */ andi $t4, $t3, 0x3ff -/* 0CA6CC 7F095B9C 000CC080 */ sll $t8, $t4, 2 -/* 0CA6D0 7F095BA0 03387025 */ or $t6, $t9, $t8 -/* 0CA6D4 7F095BA4 44195000 */ mfc1 $t9, $f10 -/* 0CA6D8 7F095BA8 440F3000 */ mfc1 $t7, $f6 -/* 0CA6DC 7F095BAC ACCE0000 */ sw $t6, ($a2) -/* 0CA6E0 7F095BB0 333803FF */ andi $t8, $t9, 0x3ff -/* 0CA6E4 7F095BB4 31ED03FF */ andi $t5, $t7, 0x3ff -/* 0CA6E8 7F095BB8 000D5B80 */ sll $t3, $t5, 0xe -/* 0CA6EC 7F095BBC 00187080 */ sll $t6, $t8, 2 -/* 0CA6F0 7F095BC0 016E5025 */ or $t2, $t3, $t6 -/* 0CA6F4 7F095BC4 ACCA0004 */ sw $t2, 4($a2) -/* 0CA6F8 7F095BC8 8FAF06B0 */ lw $t7, 0x6b0($sp) -/* 0CA6FC 7F095BCC 3C0CE700 */ lui $t4, 0xe700 -/* 0CA700 7F095BD0 3C0B0008 */ lui $t3, 8 -/* 0CA704 7F095BD4 25ED0008 */ addiu $t5, $t7, 8 -/* 0CA708 7F095BD8 AFAD06B0 */ sw $t5, 0x6b0($sp) -/* 0CA70C 7F095BDC ADE00004 */ sw $zero, 4($t7) -/* 0CA710 7F095BE0 ADEC0000 */ sw $t4, ($t7) -/* 0CA714 7F095BE4 8FB906B0 */ lw $t9, 0x6b0($sp) -/* 0CA718 7F095BE8 27380008 */ addiu $t8, $t9, 8 -/* 0CA71C 7F095BEC AFB806B0 */ sw $t8, 0x6b0($sp) -/* 0CA720 7F095BF0 AF2B0004 */ sw $t3, 4($t9) -/* 0CA724 7F095BF4 1000007B */ b .L7F095DE4 -/* 0CA728 7F095BF8 AF270000 */ sw $a3, ($t9) -.L7F095BFC: -/* 0CA72C 7F095BFC AFAA06B0 */ sw $t2, 0x6b0($sp) -/* 0CA730 7F095C00 ADC00004 */ sw $zero, 4($t6) -/* 0CA734 7F095C04 0FC2E9CB */ jal get_ptr_currentdata -/* 0CA738 7F095C08 ADCF0000 */ sw $t7, ($t6) -/* 0CA73C 7F095C0C 844D0028 */ lh $t5, 0x28($v0) -/* 0CA740 7F095C10 3C198009 */ lui $t9, %hi(skywaterimages) -/* 0CA744 7F095C14 8F39D124 */ lw $t9, %lo(skywaterimages)($t9) -/* 0CA748 7F095C18 000D6080 */ sll $t4, $t5, 2 -/* 0CA74C 7F095C1C 018D6023 */ subu $t4, $t4, $t5 -/* 0CA750 7F095C20 000C6080 */ sll $t4, $t4, 2 -/* 0CA754 7F095C24 24180002 */ li $t8, 2 -/* 0CA758 7F095C28 AFB80010 */ sw $t8, 0x10($sp) -/* 0CA75C 7F095C2C 27A406B0 */ addiu $a0, $sp, 0x6b0 -/* 0CA760 7F095C30 24060001 */ li $a2, 1 -/* 0CA764 7F095C34 00003825 */ move $a3, $zero -/* 0CA768 7F095C38 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0CA76C 7F095C3C 01992821 */ addu $a1, $t4, $t9 -/* 0CA770 7F095C40 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CA774 7F095C44 0FC24D0F */ jal sub_GAME_7F09343C -/* 0CA778 7F095C48 00002825 */ move $a1, $zero -/* 0CA77C 7F095C4C 244B0008 */ addiu $t3, $v0, 8 -/* 0CA780 7F095C50 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0CA784 7F095C54 3C0A0F0A */ lui $t2, (0x0F0A4000 >> 16) # lui $t2, 0xf0a -/* 0CA788 7F095C58 354A4000 */ ori $t2, (0x0F0A4000 & 0xFFFF) # ori $t2, $t2, 0x4000 -/* 0CA78C 7F095C5C 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0CA790 7F095C60 AFAB06B0 */ sw $t3, 0x6b0($sp) -/* 0CA794 7F095C64 24010004 */ li $at, 4 -/* 0CA798 7F095C68 AC4A0004 */ sw $t2, 4($v0) -/* 0CA79C 7F095C6C 1621002A */ bne $s1, $at, .L7F095D18 -/* 0CA7A0 7F095C70 AC4E0000 */ sw $t6, ($v0) -/* 0CA7A4 7F095C74 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CA7A8 7F095C78 44812000 */ mtc1 $at, $f4 -/* 0CA7AC 7F095C7C 27B00274 */ addiu $s0, $sp, 0x274 -/* 0CA7B0 7F095C80 27B1031C */ addiu $s1, $sp, 0x31c -/* 0CA7B4 7F095C84 240F0001 */ li $t7, 1 -/* 0CA7B8 7F095C88 AFAF0014 */ sw $t7, 0x14($sp) -/* 0CA7BC 7F095C8C 02203825 */ move $a3, $s1 -/* 0CA7C0 7F095C90 02002825 */ move $a1, $s0 -/* 0CA7C4 7F095C94 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CA7C8 7F095C98 27A602AC */ addiu $a2, $sp, 0x2ac -/* 0CA7CC 7F095C9C 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CA7D0 7F095CA0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0CA7D4 7F095CA4 8FAD0430 */ lw $t5, 0x430($sp) -/* 0CA7D8 7F095CA8 00402025 */ move $a0, $v0 -/* 0CA7DC 7F095CAC 02202825 */ move $a1, $s1 -/* 0CA7E0 7F095CB0 11A0000F */ beqz $t5, .L7F095CF0 -/* 0CA7E4 7F095CB4 27A602E4 */ addiu $a2, $sp, 0x2e4 -/* 0CA7E8 7F095CB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CA7EC 7F095CBC 44811000 */ mtc1 $at, $f2 -/* 0CA7F0 7F095CC0 C7A602D8 */ lwc1 $f6, 0x2d8($sp) -/* 0CA7F4 7F095CC4 C7A002A0 */ lwc1 $f0, 0x2a0($sp) -/* 0CA7F8 7F095CC8 C7AA0310 */ lwc1 $f10, 0x310($sp) -/* 0CA7FC 7F095CCC 46023200 */ add.s $f8, $f6, $f2 -/* 0CA800 7F095CD0 C7A60348 */ lwc1 $f6, 0x348($sp) -/* 0CA804 7F095CD4 46020000 */ add.s $f0, $f0, $f2 -/* 0CA808 7F095CD8 E7A802D8 */ swc1 $f8, 0x2d8($sp) -/* 0CA80C 7F095CDC 46025100 */ add.s $f4, $f10, $f2 -/* 0CA810 7F095CE0 E7A002A0 */ swc1 $f0, 0x2a0($sp) -/* 0CA814 7F095CE4 46023200 */ add.s $f8, $f6, $f2 -/* 0CA818 7F095CE8 E7A40310 */ swc1 $f4, 0x310($sp) -/* 0CA81C 7F095CEC E7A80348 */ swc1 $f8, 0x348($sp) -.L7F095CF0: -/* 0CA820 7F095CF0 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CA824 7F095CF4 44815000 */ mtc1 $at, $f10 -/* 0CA828 7F095CF8 240C0001 */ li $t4, 1 -/* 0CA82C 7F095CFC AFAC0014 */ sw $t4, 0x14($sp) -/* 0CA830 7F095D00 02003825 */ move $a3, $s0 -/* 0CA834 7F095D04 AFA406B0 */ sw $a0, 0x6b0($sp) -/* 0CA838 7F095D08 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CA83C 7F095D0C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0CA840 7F095D10 10000034 */ b .L7F095DE4 -/* 0CA844 7F095D14 AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F095D18: -/* 0CA848 7F095D18 24010005 */ li $at, 5 -/* 0CA84C 7F095D1C 16210024 */ bne $s1, $at, .L7F095DB0 -/* 0CA850 7F095D20 27B00274 */ addiu $s0, $sp, 0x274 -/* 0CA854 7F095D24 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CA858 7F095D28 44812000 */ mtc1 $at, $f4 -/* 0CA85C 7F095D2C 24190001 */ li $t9, 1 -/* 0CA860 7F095D30 AFB90014 */ sw $t9, 0x14($sp) -/* 0CA864 7F095D34 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CA868 7F095D38 02002825 */ move $a1, $s0 -/* 0CA86C 7F095D3C 27A602AC */ addiu $a2, $sp, 0x2ac -/* 0CA870 7F095D40 27A702E4 */ addiu $a3, $sp, 0x2e4 -/* 0CA874 7F095D44 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CA878 7F095D48 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0CA87C 7F095D4C 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CA880 7F095D50 44813000 */ mtc1 $at, $f6 -/* 0CA884 7F095D54 27B1031C */ addiu $s1, $sp, 0x31c -/* 0CA888 7F095D58 24180001 */ li $t8, 1 -/* 0CA88C 7F095D5C AFA206B0 */ sw $v0, 0x6b0($sp) -/* 0CA890 7F095D60 AFB80014 */ sw $t8, 0x14($sp) -/* 0CA894 7F095D64 02203825 */ move $a3, $s1 -/* 0CA898 7F095D68 00402025 */ move $a0, $v0 -/* 0CA89C 7F095D6C 02002825 */ move $a1, $s0 -/* 0CA8A0 7F095D70 27A602E4 */ addiu $a2, $sp, 0x2e4 -/* 0CA8A4 7F095D74 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CA8A8 7F095D78 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0CA8AC 7F095D7C 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CA8B0 7F095D80 44814000 */ mtc1 $at, $f8 -/* 0CA8B4 7F095D84 240B0001 */ li $t3, 1 -/* 0CA8B8 7F095D88 AFA206B0 */ sw $v0, 0x6b0($sp) -/* 0CA8BC 7F095D8C AFAB0014 */ sw $t3, 0x14($sp) -/* 0CA8C0 7F095D90 00402025 */ move $a0, $v0 -/* 0CA8C4 7F095D94 02002825 */ move $a1, $s0 -/* 0CA8C8 7F095D98 02203025 */ move $a2, $s1 -/* 0CA8CC 7F095D9C 27A70354 */ addiu $a3, $sp, 0x354 -/* 0CA8D0 7F095DA0 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CA8D4 7F095DA4 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0CA8D8 7F095DA8 1000000E */ b .L7F095DE4 -/* 0CA8DC 7F095DAC AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F095DB0: -/* 0CA8E0 7F095DB0 24010003 */ li $at, 3 -/* 0CA8E4 7F095DB4 1621000B */ bne $s1, $at, .L7F095DE4 -/* 0CA8E8 7F095DB8 27A50274 */ addiu $a1, $sp, 0x274 -/* 0CA8EC 7F095DBC 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CA8F0 7F095DC0 44815000 */ mtc1 $at, $f10 -/* 0CA8F4 7F095DC4 240E0001 */ li $t6, 1 -/* 0CA8F8 7F095DC8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0CA8FC 7F095DCC 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CA900 7F095DD0 27A602AC */ addiu $a2, $sp, 0x2ac -/* 0CA904 7F095DD4 27A702E4 */ addiu $a3, $sp, 0x2e4 -/* 0CA908 7F095DD8 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CA90C 7F095DDC E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0CA910 7F095DE0 AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F095DE4: -/* 0CA914 7F095DE4 8FAA005C */ lw $t2, 0x5c($sp) -.L7F095DE8: -/* 0CA918 7F095DE8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0CA91C 7F095DEC 4481D000 */ mtc1 $at, $f26 -/* 0CA920 7F095DF0 2D410010 */ sltiu $at, $t2, 0x10 -/* 0CA924 7F095DF4 1020040A */ beqz $at, .L7F096E20 -/* 0CA928 7F095DF8 8FA306B0 */ lw $v1, 0x6b0($sp) -/* 0CA92C 7F095DFC 000A5080 */ sll $t2, $t2, 2 -/* 0CA930 7F095E00 3C018005 */ lui $at, %hi(jpt_80057590) -/* 0CA934 7F095E04 002A0821 */ addu $at, $at, $t2 -/* 0CA938 7F095E08 8C2A7590 */ lw $t2, %lo(jpt_80057590)($at) -.L7F095E0C: -/* 0CA93C 7F095E0C 01400008 */ jr $t2 -/* 0CA940 7F095E10 00000000 */ nop -.L7F095E14: -/* 0CA944 7F095E14 10000552 */ b .L7F097360 -/* 0CA948 7F095E18 00601025 */ move $v0, $v1 -.L7F095E1C: -/* 0CA94C 7F095E1C C7A20644 */ lwc1 $f2, 0x644($sp) -/* 0CA950 7F095E20 C7A60648 */ lwc1 $f6, 0x648($sp) -/* 0CA954 7F095E24 C7AC064C */ lwc1 $f12, 0x64c($sp) -/* 0CA958 7F095E28 46181102 */ mul.s $f4, $f2, $f24 -/* 0CA95C 7F095E2C C7AE0638 */ lwc1 $f14, 0x638($sp) -/* 0CA960 7F095E30 C7B00640 */ lwc1 $f16, 0x640($sp) -/* 0CA964 7F095E34 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA968 7F095E38 C7A6063C */ lwc1 $f6, 0x63c($sp) -/* 0CA96C 7F095E3C C7B2062C */ lwc1 $f18, 0x62c($sp) -/* 0CA970 7F095E40 46186282 */ mul.s $f10, $f12, $f24 -/* 0CA974 7F095E44 E7A404B4 */ swc1 $f4, 0x4b4($sp) -/* 0CA978 7F095E48 C7B40634 */ lwc1 $f20, 0x634($sp) -/* 0CA97C 7F095E4C 46187102 */ mul.s $f4, $f14, $f24 -/* 0CA980 7F095E50 E7A804B8 */ swc1 $f8, 0x4b8($sp) -/* 0CA984 7F095E54 C7B60620 */ lwc1 $f22, 0x620($sp) -/* 0CA988 7F095E58 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA98C 7F095E5C E7AA04BC */ swc1 $f10, 0x4bc($sp) -/* 0CA990 7F095E60 C7A60630 */ lwc1 $f6, 0x630($sp) -/* 0CA994 7F095E64 46188282 */ mul.s $f10, $f16, $f24 -/* 0CA998 7F095E68 E7A404CC */ swc1 $f4, 0x4cc($sp) -/* 0CA99C 7F095E6C 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CA9A0 7F095E70 46189102 */ mul.s $f4, $f18, $f24 -/* 0CA9A4 7F095E74 E7A804D0 */ swc1 $f8, 0x4d0($sp) -/* 0CA9A8 7F095E78 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CA9AC 7F095E7C 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA9B0 7F095E80 E7AA04D4 */ swc1 $f10, 0x4d4($sp) -/* 0CA9B4 7F095E84 C7A60624 */ lwc1 $f6, 0x624($sp) -/* 0CA9B8 7F095E88 4618A282 */ mul.s $f10, $f20, $f24 -/* 0CA9BC 7F095E8C E7A404E4 */ swc1 $f4, 0x4e4($sp) -/* 0CA9C0 7F095E90 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CA9C4 7F095E94 4618B102 */ mul.s $f4, $f22, $f24 -/* 0CA9C8 7F095E98 E7A804E8 */ swc1 $f8, 0x4e8($sp) -/* 0CA9CC 7F095E9C 24110004 */ li $s1, 4 -/* 0CA9D0 7F095EA0 46183202 */ mul.s $f8, $f6, $f24 -/* 0CA9D4 7F095EA4 E7AA04EC */ swc1 $f10, 0x4ec($sp) -/* 0CA9D8 7F095EA8 C7AA0628 */ lwc1 $f10, 0x628($sp) -/* 0CA9DC 7F095EAC 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CA9E0 7F095EB0 E7A404FC */ swc1 $f4, 0x4fc($sp) -/* 0CA9E4 7F095EB4 46185102 */ mul.s $f4, $f10, $f24 -/* 0CA9E8 7F095EB8 8FA5058C */ lw $a1, 0x58c($sp) -/* 0CA9EC 7F095EBC E7A80500 */ swc1 $f8, 0x500($sp) -/* 0CA9F0 7F095EC0 461C1182 */ mul.s $f6, $f2, $f28 -/* 0CA9F4 7F095EC4 00000000 */ nop -/* 0CA9F8 7F095EC8 461C6202 */ mul.s $f8, $f12, $f28 -/* 0CA9FC 7F095ECC E7A40504 */ swc1 $f4, 0x504($sp) -/* 0CAA00 7F095ED0 461C7102 */ mul.s $f4, $f14, $f28 -/* 0CAA04 7F095ED4 E7A604C0 */ swc1 $f6, 0x4c0($sp) -/* 0CAA08 7F095ED8 461C8182 */ mul.s $f6, $f16, $f28 -/* 0CAA0C 7F095EDC 46004280 */ add.s $f10, $f8, $f0 -/* 0CAA10 7F095EE0 E7A404D8 */ swc1 $f4, 0x4d8($sp) -/* 0CAA14 7F095EE4 E7AA04C4 */ swc1 $f10, 0x4c4($sp) -/* 0CAA18 7F095EE8 461C9282 */ mul.s $f10, $f18, $f28 -/* 0CAA1C 7F095EEC 46003200 */ add.s $f8, $f6, $f0 -/* 0CAA20 7F095EF0 461CA102 */ mul.s $f4, $f20, $f28 -/* 0CAA24 7F095EF4 E7A804DC */ swc1 $f8, 0x4dc($sp) -/* 0CAA28 7F095EF8 461CB202 */ mul.s $f8, $f22, $f28 -/* 0CAA2C 7F095EFC E7AA04F0 */ swc1 $f10, 0x4f0($sp) -/* 0CAA30 7F095F00 C7AA0628 */ lwc1 $f10, 0x628($sp) -/* 0CAA34 7F095F04 46002180 */ add.s $f6, $f4, $f0 -/* 0CAA38 7F095F08 461C5102 */ mul.s $f4, $f10, $f28 -/* 0CAA3C 7F095F0C E7A80508 */ swc1 $f8, 0x508($sp) -/* 0CAA40 7F095F10 44814000 */ mtc1 $at, $f8 -/* 0CAA44 7F095F14 E7A604F4 */ swc1 $f6, 0x4f4($sp) -/* 0CAA48 7F095F18 46184283 */ div.s $f10, $f8, $f24 -/* 0CAA4C 7F095F1C 46002180 */ add.s $f6, $f4, $f0 -/* 0CAA50 7F095F20 E7A6050C */ swc1 $f6, 0x50c($sp) -/* 0CAA54 7F095F24 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAA58 7F095F28 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0CAA5C 7F095F2C 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CAA60 7F095F30 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAA64 7F095F34 8FA50588 */ lw $a1, 0x588($sp) -/* 0CAA68 7F095F38 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CAA6C 7F095F3C 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAA70 7F095F40 8FA50584 */ lw $a1, 0x584($sp) -/* 0CAA74 7F095F44 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CAA78 7F095F48 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAA7C 7F095F4C 8FA50580 */ lw $a1, 0x580($sp) -/* 0CAA80 7F095F50 100003B6 */ b .L7F096E2C -/* 0CAA84 7F095F54 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F095F58: -/* 0CAA88 7F095F58 C7A20644 */ lwc1 $f2, 0x644($sp) -/* 0CAA8C 7F095F5C C7A60648 */ lwc1 $f6, 0x648($sp) -/* 0CAA90 7F095F60 C7AC064C */ lwc1 $f12, 0x64c($sp) -/* 0CAA94 7F095F64 46181102 */ mul.s $f4, $f2, $f24 -/* 0CAA98 7F095F68 C7AE0638 */ lwc1 $f14, 0x638($sp) -/* 0CAA9C 7F095F6C C7B00640 */ lwc1 $f16, 0x640($sp) -/* 0CAAA0 7F095F70 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAAA4 7F095F74 C7A6063C */ lwc1 $f6, 0x63c($sp) -/* 0CAAA8 7F095F78 C7B205FC */ lwc1 $f18, 0x5fc($sp) -/* 0CAAAC 7F095F7C 46186282 */ mul.s $f10, $f12, $f24 -/* 0CAAB0 7F095F80 E7A404B4 */ swc1 $f4, 0x4b4($sp) -/* 0CAAB4 7F095F84 C7B40604 */ lwc1 $f20, 0x604($sp) -/* 0CAAB8 7F095F88 46187102 */ mul.s $f4, $f14, $f24 -/* 0CAABC 7F095F8C E7A804B8 */ swc1 $f8, 0x4b8($sp) -/* 0CAAC0 7F095F90 C7B605F0 */ lwc1 $f22, 0x5f0($sp) -/* 0CAAC4 7F095F94 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAAC8 7F095F98 E7AA04BC */ swc1 $f10, 0x4bc($sp) -/* 0CAACC 7F095F9C C7A60600 */ lwc1 $f6, 0x600($sp) -/* 0CAAD0 7F095FA0 46188282 */ mul.s $f10, $f16, $f24 -/* 0CAAD4 7F095FA4 E7A404CC */ swc1 $f4, 0x4cc($sp) -/* 0CAAD8 7F095FA8 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CAADC 7F095FAC 46189102 */ mul.s $f4, $f18, $f24 -/* 0CAAE0 7F095FB0 E7A804D0 */ swc1 $f8, 0x4d0($sp) -/* 0CAAE4 7F095FB4 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CAAE8 7F095FB8 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAAEC 7F095FBC E7AA04D4 */ swc1 $f10, 0x4d4($sp) -/* 0CAAF0 7F095FC0 C7A605F4 */ lwc1 $f6, 0x5f4($sp) -/* 0CAAF4 7F095FC4 4618A282 */ mul.s $f10, $f20, $f24 -/* 0CAAF8 7F095FC8 E7A404E4 */ swc1 $f4, 0x4e4($sp) -/* 0CAAFC 7F095FCC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CAB00 7F095FD0 4618B102 */ mul.s $f4, $f22, $f24 -/* 0CAB04 7F095FD4 E7A804E8 */ swc1 $f8, 0x4e8($sp) -/* 0CAB08 7F095FD8 24110004 */ li $s1, 4 -/* 0CAB0C 7F095FDC 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAB10 7F095FE0 E7AA04EC */ swc1 $f10, 0x4ec($sp) -/* 0CAB14 7F095FE4 C7AA05F8 */ lwc1 $f10, 0x5f8($sp) -/* 0CAB18 7F095FE8 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CAB1C 7F095FEC E7A404FC */ swc1 $f4, 0x4fc($sp) -/* 0CAB20 7F095FF0 46185102 */ mul.s $f4, $f10, $f24 -/* 0CAB24 7F095FF4 8FA5058C */ lw $a1, 0x58c($sp) -/* 0CAB28 7F095FF8 E7A80500 */ swc1 $f8, 0x500($sp) -/* 0CAB2C 7F095FFC 461C1182 */ mul.s $f6, $f2, $f28 -/* 0CAB30 7F096000 00000000 */ nop -/* 0CAB34 7F096004 461C6202 */ mul.s $f8, $f12, $f28 -/* 0CAB38 7F096008 E7A40504 */ swc1 $f4, 0x504($sp) -/* 0CAB3C 7F09600C 461C7102 */ mul.s $f4, $f14, $f28 -/* 0CAB40 7F096010 E7A604C0 */ swc1 $f6, 0x4c0($sp) -/* 0CAB44 7F096014 461C8182 */ mul.s $f6, $f16, $f28 -/* 0CAB48 7F096018 46004280 */ add.s $f10, $f8, $f0 -/* 0CAB4C 7F09601C E7A404D8 */ swc1 $f4, 0x4d8($sp) -/* 0CAB50 7F096020 E7AA04C4 */ swc1 $f10, 0x4c4($sp) -/* 0CAB54 7F096024 461C9282 */ mul.s $f10, $f18, $f28 -/* 0CAB58 7F096028 46003200 */ add.s $f8, $f6, $f0 -/* 0CAB5C 7F09602C 461CA102 */ mul.s $f4, $f20, $f28 -/* 0CAB60 7F096030 E7A804DC */ swc1 $f8, 0x4dc($sp) -/* 0CAB64 7F096034 461CB202 */ mul.s $f8, $f22, $f28 -/* 0CAB68 7F096038 E7AA04F0 */ swc1 $f10, 0x4f0($sp) -/* 0CAB6C 7F09603C C7AA05F8 */ lwc1 $f10, 0x5f8($sp) -/* 0CAB70 7F096040 46002180 */ add.s $f6, $f4, $f0 -/* 0CAB74 7F096044 461C5102 */ mul.s $f4, $f10, $f28 -/* 0CAB78 7F096048 E7A80508 */ swc1 $f8, 0x508($sp) -/* 0CAB7C 7F09604C 44814000 */ mtc1 $at, $f8 -/* 0CAB80 7F096050 E7A604F4 */ swc1 $f6, 0x4f4($sp) -/* 0CAB84 7F096054 46184283 */ div.s $f10, $f8, $f24 -/* 0CAB88 7F096058 46002180 */ add.s $f6, $f4, $f0 -/* 0CAB8C 7F09605C E7A6050C */ swc1 $f6, 0x50c($sp) -/* 0CAB90 7F096060 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAB94 7F096064 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0CAB98 7F096068 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CAB9C 7F09606C 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CABA0 7F096070 8FA50588 */ lw $a1, 0x588($sp) -/* 0CABA4 7F096074 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CABA8 7F096078 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CABAC 7F09607C 8FA50574 */ lw $a1, 0x574($sp) -/* 0CABB0 7F096080 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CABB4 7F096084 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CABB8 7F096088 8FA50570 */ lw $a1, 0x570($sp) -/* 0CABBC 7F09608C 10000367 */ b .L7F096E2C -/* 0CABC0 7F096090 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F096094: -/* 0CABC4 7F096094 C7B60620 */ lwc1 $f22, 0x620($sp) -/* 0CABC8 7F096098 C7A60624 */ lwc1 $f6, 0x624($sp) -/* 0CABCC 7F09609C C7A20628 */ lwc1 $f2, 0x628($sp) -/* 0CABD0 7F0960A0 4618B102 */ mul.s $f4, $f22, $f24 -/* 0CABD4 7F0960A4 C7B2062C */ lwc1 $f18, 0x62c($sp) -/* 0CABD8 7F0960A8 C7B40634 */ lwc1 $f20, 0x634($sp) -/* 0CABDC 7F0960AC 46183202 */ mul.s $f8, $f6, $f24 -/* 0CABE0 7F0960B0 C7A60630 */ lwc1 $f6, 0x630($sp) -/* 0CABE4 7F0960B4 C7B005F0 */ lwc1 $f16, 0x5f0($sp) -/* 0CABE8 7F0960B8 46181282 */ mul.s $f10, $f2, $f24 -/* 0CABEC 7F0960BC E7A404B4 */ swc1 $f4, 0x4b4($sp) -/* 0CABF0 7F0960C0 C7AC05FC */ lwc1 $f12, 0x5fc($sp) -/* 0CABF4 7F0960C4 46189102 */ mul.s $f4, $f18, $f24 -/* 0CABF8 7F0960C8 E7A804B8 */ swc1 $f8, 0x4b8($sp) -/* 0CABFC 7F0960CC C7AE0604 */ lwc1 $f14, 0x604($sp) -/* 0CAC00 7F0960D0 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAC04 7F0960D4 E7AA04BC */ swc1 $f10, 0x4bc($sp) -/* 0CAC08 7F0960D8 C7A605F4 */ lwc1 $f6, 0x5f4($sp) -/* 0CAC0C 7F0960DC 4618A282 */ mul.s $f10, $f20, $f24 -/* 0CAC10 7F0960E0 E7A404CC */ swc1 $f4, 0x4cc($sp) -/* 0CAC14 7F0960E4 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CAC18 7F0960E8 46188102 */ mul.s $f4, $f16, $f24 -/* 0CAC1C 7F0960EC E7A804D0 */ swc1 $f8, 0x4d0($sp) -/* 0CAC20 7F0960F0 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CAC24 7F0960F4 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAC28 7F0960F8 E7AA04D4 */ swc1 $f10, 0x4d4($sp) -/* 0CAC2C 7F0960FC C7AA05F8 */ lwc1 $f10, 0x5f8($sp) -/* 0CAC30 7F096100 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CAC34 7F096104 E7A404E4 */ swc1 $f4, 0x4e4($sp) -/* 0CAC38 7F096108 46185102 */ mul.s $f4, $f10, $f24 -/* 0CAC3C 7F09610C 24110004 */ li $s1, 4 -/* 0CAC40 7F096110 E7A804E8 */ swc1 $f8, 0x4e8($sp) -/* 0CAC44 7F096114 46186182 */ mul.s $f6, $f12, $f24 -/* 0CAC48 7F096118 C7A80600 */ lwc1 $f8, 0x600($sp) -/* 0CAC4C 7F09611C 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CAC50 7F096120 8FA50580 */ lw $a1, 0x580($sp) -/* 0CAC54 7F096124 46184282 */ mul.s $f10, $f8, $f24 -/* 0CAC58 7F096128 E7A404EC */ swc1 $f4, 0x4ec($sp) -/* 0CAC5C 7F09612C 46187102 */ mul.s $f4, $f14, $f24 -/* 0CAC60 7F096130 E7A604FC */ swc1 $f6, 0x4fc($sp) -/* 0CAC64 7F096134 461CB182 */ mul.s $f6, $f22, $f28 -/* 0CAC68 7F096138 E7AA0500 */ swc1 $f10, 0x500($sp) -/* 0CAC6C 7F09613C 461C1202 */ mul.s $f8, $f2, $f28 -/* 0CAC70 7F096140 E7A40504 */ swc1 $f4, 0x504($sp) -/* 0CAC74 7F096144 461C9102 */ mul.s $f4, $f18, $f28 -/* 0CAC78 7F096148 E7A604C0 */ swc1 $f6, 0x4c0($sp) -/* 0CAC7C 7F09614C 461CA182 */ mul.s $f6, $f20, $f28 -/* 0CAC80 7F096150 46004280 */ add.s $f10, $f8, $f0 -/* 0CAC84 7F096154 E7A404D8 */ swc1 $f4, 0x4d8($sp) -/* 0CAC88 7F096158 C7A405F8 */ lwc1 $f4, 0x5f8($sp) -/* 0CAC8C 7F09615C E7AA04C4 */ swc1 $f10, 0x4c4($sp) -/* 0CAC90 7F096160 461C8282 */ mul.s $f10, $f16, $f28 -/* 0CAC94 7F096164 46003200 */ add.s $f8, $f6, $f0 -/* 0CAC98 7F096168 461C2182 */ mul.s $f6, $f4, $f28 -/* 0CAC9C 7F09616C E7A804DC */ swc1 $f8, 0x4dc($sp) -/* 0CACA0 7F096170 E7AA04F0 */ swc1 $f10, 0x4f0($sp) -/* 0CACA4 7F096174 461C6282 */ mul.s $f10, $f12, $f28 -/* 0CACA8 7F096178 46003200 */ add.s $f8, $f6, $f0 -/* 0CACAC 7F09617C 461C7102 */ mul.s $f4, $f14, $f28 -/* 0CACB0 7F096180 E7A804F4 */ swc1 $f8, 0x4f4($sp) -/* 0CACB4 7F096184 44814000 */ mtc1 $at, $f8 -/* 0CACB8 7F096188 E7AA0508 */ swc1 $f10, 0x508($sp) -/* 0CACBC 7F09618C 46184283 */ div.s $f10, $f8, $f24 -/* 0CACC0 7F096190 46002180 */ add.s $f6, $f4, $f0 -/* 0CACC4 7F096194 E7A6050C */ swc1 $f6, 0x50c($sp) -/* 0CACC8 7F096198 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CACCC 7F09619C E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0CACD0 7F0961A0 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CACD4 7F0961A4 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CACD8 7F0961A8 8FA50584 */ lw $a1, 0x584($sp) -/* 0CACDC 7F0961AC 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CACE0 7F0961B0 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CACE4 7F0961B4 8FA50570 */ lw $a1, 0x570($sp) -/* 0CACE8 7F0961B8 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CACEC 7F0961BC 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CACF0 7F0961C0 8FA50574 */ lw $a1, 0x574($sp) -/* 0CACF4 7F0961C4 10000319 */ b .L7F096E2C -/* 0CACF8 7F0961C8 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F0961CC: -/* 0CACFC 7F0961CC C7AE0638 */ lwc1 $f14, 0x638($sp) -/* 0CAD00 7F0961D0 C7A6063C */ lwc1 $f6, 0x63c($sp) -/* 0CAD04 7F0961D4 C7B00640 */ lwc1 $f16, 0x640($sp) -/* 0CAD08 7F0961D8 46187102 */ mul.s $f4, $f14, $f24 -/* 0CAD0C 7F0961DC C7B60620 */ lwc1 $f22, 0x620($sp) -/* 0CAD10 7F0961E0 C7A20628 */ lwc1 $f2, 0x628($sp) -/* 0CAD14 7F0961E4 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAD18 7F0961E8 C7A60624 */ lwc1 $f6, 0x624($sp) -/* 0CAD1C 7F0961EC C7B40614 */ lwc1 $f20, 0x614($sp) -/* 0CAD20 7F0961F0 46188282 */ mul.s $f10, $f16, $f24 -/* 0CAD24 7F0961F4 E7A404B4 */ swc1 $f4, 0x4b4($sp) -/* 0CAD28 7F0961F8 C7AC0608 */ lwc1 $f12, 0x608($sp) -/* 0CAD2C 7F0961FC 4618B102 */ mul.s $f4, $f22, $f24 -/* 0CAD30 7F096200 E7A804B8 */ swc1 $f8, 0x4b8($sp) -/* 0CAD34 7F096204 C7B20610 */ lwc1 $f18, 0x610($sp) -/* 0CAD38 7F096208 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAD3C 7F09620C E7AA04BC */ swc1 $f10, 0x4bc($sp) -/* 0CAD40 7F096210 C7A60618 */ lwc1 $f6, 0x618($sp) -/* 0CAD44 7F096214 46181282 */ mul.s $f10, $f2, $f24 -/* 0CAD48 7F096218 E7A404CC */ swc1 $f4, 0x4cc($sp) -/* 0CAD4C 7F09621C 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CAD50 7F096220 4618A102 */ mul.s $f4, $f20, $f24 -/* 0CAD54 7F096224 E7A804D0 */ swc1 $f8, 0x4d0($sp) -/* 0CAD58 7F096228 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CAD5C 7F09622C 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAD60 7F096230 E7AA04D4 */ swc1 $f10, 0x4d4($sp) -/* 0CAD64 7F096234 C7AA061C */ lwc1 $f10, 0x61c($sp) -/* 0CAD68 7F096238 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CAD6C 7F09623C E7A404E4 */ swc1 $f4, 0x4e4($sp) -/* 0CAD70 7F096240 46185102 */ mul.s $f4, $f10, $f24 -/* 0CAD74 7F096244 24110004 */ li $s1, 4 -/* 0CAD78 7F096248 E7A804E8 */ swc1 $f8, 0x4e8($sp) -/* 0CAD7C 7F09624C 46186182 */ mul.s $f6, $f12, $f24 -/* 0CAD80 7F096250 C7A8060C */ lwc1 $f8, 0x60c($sp) -/* 0CAD84 7F096254 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CAD88 7F096258 8FA50588 */ lw $a1, 0x588($sp) -/* 0CAD8C 7F09625C 46184282 */ mul.s $f10, $f8, $f24 -/* 0CAD90 7F096260 E7A404EC */ swc1 $f4, 0x4ec($sp) -/* 0CAD94 7F096264 46189102 */ mul.s $f4, $f18, $f24 -/* 0CAD98 7F096268 E7A604FC */ swc1 $f6, 0x4fc($sp) -/* 0CAD9C 7F09626C 461C7182 */ mul.s $f6, $f14, $f28 -/* 0CADA0 7F096270 E7AA0500 */ swc1 $f10, 0x500($sp) -/* 0CADA4 7F096274 461C8202 */ mul.s $f8, $f16, $f28 -/* 0CADA8 7F096278 E7A40504 */ swc1 $f4, 0x504($sp) -/* 0CADAC 7F09627C 461CB102 */ mul.s $f4, $f22, $f28 -/* 0CADB0 7F096280 E7A604C0 */ swc1 $f6, 0x4c0($sp) -/* 0CADB4 7F096284 461C1182 */ mul.s $f6, $f2, $f28 -/* 0CADB8 7F096288 46004280 */ add.s $f10, $f8, $f0 -/* 0CADBC 7F09628C E7A404D8 */ swc1 $f4, 0x4d8($sp) -/* 0CADC0 7F096290 C7A4061C */ lwc1 $f4, 0x61c($sp) -/* 0CADC4 7F096294 E7AA04C4 */ swc1 $f10, 0x4c4($sp) -/* 0CADC8 7F096298 461CA282 */ mul.s $f10, $f20, $f28 -/* 0CADCC 7F09629C 46003200 */ add.s $f8, $f6, $f0 -/* 0CADD0 7F0962A0 461C2182 */ mul.s $f6, $f4, $f28 -/* 0CADD4 7F0962A4 E7A804DC */ swc1 $f8, 0x4dc($sp) -/* 0CADD8 7F0962A8 E7AA04F0 */ swc1 $f10, 0x4f0($sp) -/* 0CADDC 7F0962AC 461C6282 */ mul.s $f10, $f12, $f28 -/* 0CADE0 7F0962B0 46003200 */ add.s $f8, $f6, $f0 -/* 0CADE4 7F0962B4 461C9102 */ mul.s $f4, $f18, $f28 -/* 0CADE8 7F0962B8 E7A804F4 */ swc1 $f8, 0x4f4($sp) -/* 0CADEC 7F0962BC 44814000 */ mtc1 $at, $f8 -/* 0CADF0 7F0962C0 E7AA0508 */ swc1 $f10, 0x508($sp) -/* 0CADF4 7F0962C4 46184283 */ div.s $f10, $f8, $f24 -/* 0CADF8 7F0962C8 46002180 */ add.s $f6, $f4, $f0 -/* 0CADFC 7F0962CC E7A6050C */ swc1 $f6, 0x50c($sp) -/* 0CAE00 7F0962D0 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAE04 7F0962D4 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0CAE08 7F0962D8 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CAE0C 7F0962DC 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAE10 7F0962E0 8FA50580 */ lw $a1, 0x580($sp) -/* 0CAE14 7F0962E4 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CAE18 7F0962E8 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAE1C 7F0962EC 8FA5057C */ lw $a1, 0x57c($sp) -/* 0CAE20 7F0962F0 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CAE24 7F0962F4 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAE28 7F0962F8 8FA50578 */ lw $a1, 0x578($sp) -/* 0CAE2C 7F0962FC 100002CB */ b .L7F096E2C -/* 0CAE30 7F096300 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F096304: -/* 0CAE34 7F096304 C7B2062C */ lwc1 $f18, 0x62c($sp) -/* 0CAE38 7F096308 C7A60630 */ lwc1 $f6, 0x630($sp) -/* 0CAE3C 7F09630C C7B40634 */ lwc1 $f20, 0x634($sp) -/* 0CAE40 7F096310 46189102 */ mul.s $f4, $f18, $f24 -/* 0CAE44 7F096314 C7A20644 */ lwc1 $f2, 0x644($sp) -/* 0CAE48 7F096318 C7AC064C */ lwc1 $f12, 0x64c($sp) -/* 0CAE4C 7F09631C 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAE50 7F096320 C7A60648 */ lwc1 $f6, 0x648($sp) -/* 0CAE54 7F096324 C7B60608 */ lwc1 $f22, 0x608($sp) -/* 0CAE58 7F096328 4618A282 */ mul.s $f10, $f20, $f24 -/* 0CAE5C 7F09632C E7A404B4 */ swc1 $f4, 0x4b4($sp) -/* 0CAE60 7F096330 C7AE0614 */ lwc1 $f14, 0x614($sp) -/* 0CAE64 7F096334 46181102 */ mul.s $f4, $f2, $f24 -/* 0CAE68 7F096338 E7A804B8 */ swc1 $f8, 0x4b8($sp) -/* 0CAE6C 7F09633C C7B0061C */ lwc1 $f16, 0x61c($sp) -/* 0CAE70 7F096340 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAE74 7F096344 E7AA04BC */ swc1 $f10, 0x4bc($sp) -/* 0CAE78 7F096348 C7A6060C */ lwc1 $f6, 0x60c($sp) -/* 0CAE7C 7F09634C 46186282 */ mul.s $f10, $f12, $f24 -/* 0CAE80 7F096350 E7A404CC */ swc1 $f4, 0x4cc($sp) -/* 0CAE84 7F096354 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CAE88 7F096358 4618B102 */ mul.s $f4, $f22, $f24 -/* 0CAE8C 7F09635C E7A804D0 */ swc1 $f8, 0x4d0($sp) -/* 0CAE90 7F096360 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CAE94 7F096364 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAE98 7F096368 E7AA04D4 */ swc1 $f10, 0x4d4($sp) -/* 0CAE9C 7F09636C C7AA0610 */ lwc1 $f10, 0x610($sp) -/* 0CAEA0 7F096370 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CAEA4 7F096374 E7A404E4 */ swc1 $f4, 0x4e4($sp) -/* 0CAEA8 7F096378 46185102 */ mul.s $f4, $f10, $f24 -/* 0CAEAC 7F09637C 24110004 */ li $s1, 4 -/* 0CAEB0 7F096380 E7A804E8 */ swc1 $f8, 0x4e8($sp) -/* 0CAEB4 7F096384 46187182 */ mul.s $f6, $f14, $f24 -/* 0CAEB8 7F096388 C7A80618 */ lwc1 $f8, 0x618($sp) -/* 0CAEBC 7F09638C 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CAEC0 7F096390 8FA50584 */ lw $a1, 0x584($sp) -/* 0CAEC4 7F096394 46184282 */ mul.s $f10, $f8, $f24 -/* 0CAEC8 7F096398 E7A404EC */ swc1 $f4, 0x4ec($sp) -/* 0CAECC 7F09639C 46188102 */ mul.s $f4, $f16, $f24 -/* 0CAED0 7F0963A0 E7A604FC */ swc1 $f6, 0x4fc($sp) -/* 0CAED4 7F0963A4 461C9182 */ mul.s $f6, $f18, $f28 -/* 0CAED8 7F0963A8 E7AA0500 */ swc1 $f10, 0x500($sp) -/* 0CAEDC 7F0963AC 461CA202 */ mul.s $f8, $f20, $f28 -/* 0CAEE0 7F0963B0 E7A40504 */ swc1 $f4, 0x504($sp) -/* 0CAEE4 7F0963B4 461C1102 */ mul.s $f4, $f2, $f28 -/* 0CAEE8 7F0963B8 E7A604C0 */ swc1 $f6, 0x4c0($sp) -/* 0CAEEC 7F0963BC 461C6182 */ mul.s $f6, $f12, $f28 -/* 0CAEF0 7F0963C0 46004280 */ add.s $f10, $f8, $f0 -/* 0CAEF4 7F0963C4 E7A404D8 */ swc1 $f4, 0x4d8($sp) -/* 0CAEF8 7F0963C8 C7A40610 */ lwc1 $f4, 0x610($sp) -/* 0CAEFC 7F0963CC E7AA04C4 */ swc1 $f10, 0x4c4($sp) -/* 0CAF00 7F0963D0 461CB282 */ mul.s $f10, $f22, $f28 -/* 0CAF04 7F0963D4 46003200 */ add.s $f8, $f6, $f0 -/* 0CAF08 7F0963D8 461C2182 */ mul.s $f6, $f4, $f28 -/* 0CAF0C 7F0963DC E7A804DC */ swc1 $f8, 0x4dc($sp) -/* 0CAF10 7F0963E0 E7AA04F0 */ swc1 $f10, 0x4f0($sp) -/* 0CAF14 7F0963E4 461C7282 */ mul.s $f10, $f14, $f28 -/* 0CAF18 7F0963E8 46003200 */ add.s $f8, $f6, $f0 -/* 0CAF1C 7F0963EC 461C8102 */ mul.s $f4, $f16, $f28 -/* 0CAF20 7F0963F0 E7A804F4 */ swc1 $f8, 0x4f4($sp) -/* 0CAF24 7F0963F4 44814000 */ mtc1 $at, $f8 -/* 0CAF28 7F0963F8 E7AA0508 */ swc1 $f10, 0x508($sp) -/* 0CAF2C 7F0963FC 46184283 */ div.s $f10, $f8, $f24 -/* 0CAF30 7F096400 46002180 */ add.s $f6, $f4, $f0 -/* 0CAF34 7F096404 E7A6050C */ swc1 $f6, 0x50c($sp) -/* 0CAF38 7F096408 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAF3C 7F09640C E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0CAF40 7F096410 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CAF44 7F096414 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAF48 7F096418 8FA5058C */ lw $a1, 0x58c($sp) -/* 0CAF4C 7F09641C 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CAF50 7F096420 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAF54 7F096424 8FA50578 */ lw $a1, 0x578($sp) -/* 0CAF58 7F096428 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CAF5C 7F09642C 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CAF60 7F096430 8FA5057C */ lw $a1, 0x57c($sp) -/* 0CAF64 7F096434 1000027D */ b .L7F096E2C -/* 0CAF68 7F096438 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F09643C: -/* 0CAF6C 7F09643C C7B60620 */ lwc1 $f22, 0x620($sp) -/* 0CAF70 7F096440 C7A60624 */ lwc1 $f6, 0x624($sp) -/* 0CAF74 7F096444 C7A20628 */ lwc1 $f2, 0x628($sp) -/* 0CAF78 7F096448 4618B102 */ mul.s $f4, $f22, $f24 -/* 0CAF7C 7F09644C C7AE0608 */ lwc1 $f14, 0x608($sp) -/* 0CAF80 7F096450 C7B20610 */ lwc1 $f18, 0x610($sp) -/* 0CAF84 7F096454 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAF88 7F096458 C7A6060C */ lwc1 $f6, 0x60c($sp) -/* 0CAF8C 7F09645C C7B005F0 */ lwc1 $f16, 0x5f0($sp) -/* 0CAF90 7F096460 46181282 */ mul.s $f10, $f2, $f24 -/* 0CAF94 7F096464 E7A404B4 */ swc1 $f4, 0x4b4($sp) -/* 0CAF98 7F096468 C7AC05F8 */ lwc1 $f12, 0x5f8($sp) -/* 0CAF9C 7F09646C 46187102 */ mul.s $f4, $f14, $f24 -/* 0CAFA0 7F096470 E7A804B8 */ swc1 $f8, 0x4b8($sp) -/* 0CAFA4 7F096474 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CAFA8 7F096478 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAFAC 7F09647C E7AA04BC */ swc1 $f10, 0x4bc($sp) -/* 0CAFB0 7F096480 C7A605F4 */ lwc1 $f6, 0x5f4($sp) -/* 0CAFB4 7F096484 46189282 */ mul.s $f10, $f18, $f24 -/* 0CAFB8 7F096488 E7A404CC */ swc1 $f4, 0x4cc($sp) -/* 0CAFBC 7F09648C C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CAFC0 7F096490 46188102 */ mul.s $f4, $f16, $f24 -/* 0CAFC4 7F096494 E7A804D0 */ swc1 $f8, 0x4d0($sp) -/* 0CAFC8 7F096498 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CAFCC 7F09649C 46183202 */ mul.s $f8, $f6, $f24 -/* 0CAFD0 7F0964A0 E7AA04D4 */ swc1 $f10, 0x4d4($sp) -/* 0CAFD4 7F0964A4 24110003 */ li $s1, 3 -/* 0CAFD8 7F0964A8 46186282 */ mul.s $f10, $f12, $f24 -/* 0CAFDC 7F0964AC E7A404E4 */ swc1 $f4, 0x4e4($sp) -/* 0CAFE0 7F0964B0 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CAFE4 7F0964B4 461CB102 */ mul.s $f4, $f22, $f28 -/* 0CAFE8 7F0964B8 E7A804E8 */ swc1 $f8, 0x4e8($sp) -/* 0CAFEC 7F0964BC 8FA50580 */ lw $a1, 0x580($sp) -/* 0CAFF0 7F0964C0 461C1182 */ mul.s $f6, $f2, $f28 -/* 0CAFF4 7F0964C4 E7AA04EC */ swc1 $f10, 0x4ec($sp) -/* 0CAFF8 7F0964C8 461C7282 */ mul.s $f10, $f14, $f28 -/* 0CAFFC 7F0964CC E7A404C0 */ swc1 $f4, 0x4c0($sp) -/* 0CB000 7F0964D0 461C9102 */ mul.s $f4, $f18, $f28 -/* 0CB004 7F0964D4 46003200 */ add.s $f8, $f6, $f0 -/* 0CB008 7F0964D8 E7AA04D8 */ swc1 $f10, 0x4d8($sp) -/* 0CB00C 7F0964DC E7A804C4 */ swc1 $f8, 0x4c4($sp) -/* 0CB010 7F0964E0 461C8202 */ mul.s $f8, $f16, $f28 -/* 0CB014 7F0964E4 46002180 */ add.s $f6, $f4, $f0 -/* 0CB018 7F0964E8 461C6282 */ mul.s $f10, $f12, $f28 -/* 0CB01C 7F0964EC E7A604DC */ swc1 $f6, 0x4dc($sp) -/* 0CB020 7F0964F0 44813000 */ mtc1 $at, $f6 -/* 0CB024 7F0964F4 E7A804F0 */ swc1 $f8, 0x4f0($sp) -/* 0CB028 7F0964F8 46183203 */ div.s $f8, $f6, $f24 -/* 0CB02C 7F0964FC 46005100 */ add.s $f4, $f10, $f0 -/* 0CB030 7F096500 E7A404F4 */ swc1 $f4, 0x4f4($sp) -/* 0CB034 7F096504 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB038 7F096508 E7A80058 */ swc1 $f8, 0x58($sp) -/* 0CB03C 7F09650C 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CB040 7F096510 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB044 7F096514 8FA50578 */ lw $a1, 0x578($sp) -/* 0CB048 7F096518 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CB04C 7F09651C 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB050 7F096520 8FA50570 */ lw $a1, 0x570($sp) -/* 0CB054 7F096524 10000241 */ b .L7F096E2C -/* 0CB058 7F096528 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F09652C: -/* 0CB05C 7F09652C C7B2062C */ lwc1 $f18, 0x62c($sp) -/* 0CB060 7F096530 C7A40630 */ lwc1 $f4, 0x630($sp) -/* 0CB064 7F096534 C7B40634 */ lwc1 $f20, 0x634($sp) -/* 0CB068 7F096538 46189282 */ mul.s $f10, $f18, $f24 -/* 0CB06C 7F09653C C7AC05FC */ lwc1 $f12, 0x5fc($sp) -/* 0CB070 7F096540 C7AE0604 */ lwc1 $f14, 0x604($sp) -/* 0CB074 7F096544 46182182 */ mul.s $f6, $f4, $f24 -/* 0CB078 7F096548 C7A40600 */ lwc1 $f4, 0x600($sp) -/* 0CB07C 7F09654C C7A20608 */ lwc1 $f2, 0x608($sp) -/* 0CB080 7F096550 4618A202 */ mul.s $f8, $f20, $f24 -/* 0CB084 7F096554 E7AA04B4 */ swc1 $f10, 0x4b4($sp) -/* 0CB088 7F096558 C7B00610 */ lwc1 $f16, 0x610($sp) -/* 0CB08C 7F09655C 46186282 */ mul.s $f10, $f12, $f24 -/* 0CB090 7F096560 E7A604B8 */ swc1 $f6, 0x4b8($sp) -/* 0CB094 7F096564 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CB098 7F096568 46182182 */ mul.s $f6, $f4, $f24 -/* 0CB09C 7F09656C E7A804BC */ swc1 $f8, 0x4bc($sp) -/* 0CB0A0 7F096570 C7A4060C */ lwc1 $f4, 0x60c($sp) -/* 0CB0A4 7F096574 46187202 */ mul.s $f8, $f14, $f24 -/* 0CB0A8 7F096578 E7AA04CC */ swc1 $f10, 0x4cc($sp) -/* 0CB0AC 7F09657C C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CB0B0 7F096580 46181282 */ mul.s $f10, $f2, $f24 -/* 0CB0B4 7F096584 E7A604D0 */ swc1 $f6, 0x4d0($sp) -/* 0CB0B8 7F096588 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CB0BC 7F09658C 46182182 */ mul.s $f6, $f4, $f24 -/* 0CB0C0 7F096590 E7A804D4 */ swc1 $f8, 0x4d4($sp) -/* 0CB0C4 7F096594 24110003 */ li $s1, 3 -/* 0CB0C8 7F096598 46188202 */ mul.s $f8, $f16, $f24 -/* 0CB0CC 7F09659C E7AA04E4 */ swc1 $f10, 0x4e4($sp) -/* 0CB0D0 7F0965A0 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CB0D4 7F0965A4 461C9282 */ mul.s $f10, $f18, $f28 -/* 0CB0D8 7F0965A8 E7A604E8 */ swc1 $f6, 0x4e8($sp) -/* 0CB0DC 7F0965AC 8FA50584 */ lw $a1, 0x584($sp) -/* 0CB0E0 7F0965B0 461CA102 */ mul.s $f4, $f20, $f28 -/* 0CB0E4 7F0965B4 E7A804EC */ swc1 $f8, 0x4ec($sp) -/* 0CB0E8 7F0965B8 461C6202 */ mul.s $f8, $f12, $f28 -/* 0CB0EC 7F0965BC E7AA04C0 */ swc1 $f10, 0x4c0($sp) -/* 0CB0F0 7F0965C0 461C7282 */ mul.s $f10, $f14, $f28 -/* 0CB0F4 7F0965C4 46002180 */ add.s $f6, $f4, $f0 -/* 0CB0F8 7F0965C8 E7A804D8 */ swc1 $f8, 0x4d8($sp) -/* 0CB0FC 7F0965CC E7A604C4 */ swc1 $f6, 0x4c4($sp) -/* 0CB100 7F0965D0 461C1182 */ mul.s $f6, $f2, $f28 -/* 0CB104 7F0965D4 46005100 */ add.s $f4, $f10, $f0 -/* 0CB108 7F0965D8 461C8202 */ mul.s $f8, $f16, $f28 -/* 0CB10C 7F0965DC E7A404DC */ swc1 $f4, 0x4dc($sp) -/* 0CB110 7F0965E0 44812000 */ mtc1 $at, $f4 -/* 0CB114 7F0965E4 E7A604F0 */ swc1 $f6, 0x4f0($sp) -/* 0CB118 7F0965E8 46182183 */ div.s $f6, $f4, $f24 -/* 0CB11C 7F0965EC 46004280 */ add.s $f10, $f8, $f0 -/* 0CB120 7F0965F0 E7AA04F4 */ swc1 $f10, 0x4f4($sp) -/* 0CB124 7F0965F4 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB128 7F0965F8 E7A60058 */ swc1 $f6, 0x58($sp) -/* 0CB12C 7F0965FC 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CB130 7F096600 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB134 7F096604 8FA50574 */ lw $a1, 0x574($sp) -/* 0CB138 7F096608 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CB13C 7F09660C 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB140 7F096610 8FA50578 */ lw $a1, 0x578($sp) -/* 0CB144 7F096614 10000205 */ b .L7F096E2C -/* 0CB148 7F096618 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F09661C: -/* 0CB14C 7F09661C C7AE0638 */ lwc1 $f14, 0x638($sp) -/* 0CB150 7F096620 C7AA063C */ lwc1 $f10, 0x63c($sp) -/* 0CB154 7F096624 C7B00640 */ lwc1 $f16, 0x640($sp) -/* 0CB158 7F096628 46187202 */ mul.s $f8, $f14, $f24 -/* 0CB15C 7F09662C C7A205F0 */ lwc1 $f2, 0x5f0($sp) -/* 0CB160 7F096630 C7AC05F8 */ lwc1 $f12, 0x5f8($sp) -/* 0CB164 7F096634 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB168 7F096638 C7AA05F4 */ lwc1 $f10, 0x5f4($sp) -/* 0CB16C 7F09663C C7B40614 */ lwc1 $f20, 0x614($sp) -/* 0CB170 7F096640 46188182 */ mul.s $f6, $f16, $f24 -/* 0CB174 7F096644 E7A804B4 */ swc1 $f8, 0x4b4($sp) -/* 0CB178 7F096648 C7B2061C */ lwc1 $f18, 0x61c($sp) -/* 0CB17C 7F09664C 46181202 */ mul.s $f8, $f2, $f24 -/* 0CB180 7F096650 E7A404B8 */ swc1 $f4, 0x4b8($sp) -/* 0CB184 7F096654 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CB188 7F096658 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB18C 7F09665C E7A604BC */ swc1 $f6, 0x4bc($sp) -/* 0CB190 7F096660 C7AA0618 */ lwc1 $f10, 0x618($sp) -/* 0CB194 7F096664 46186182 */ mul.s $f6, $f12, $f24 -/* 0CB198 7F096668 E7A804CC */ swc1 $f8, 0x4cc($sp) -/* 0CB19C 7F09666C C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CB1A0 7F096670 4618A202 */ mul.s $f8, $f20, $f24 -/* 0CB1A4 7F096674 E7A404D0 */ swc1 $f4, 0x4d0($sp) -/* 0CB1A8 7F096678 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CB1AC 7F09667C 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB1B0 7F096680 E7A604D4 */ swc1 $f6, 0x4d4($sp) -/* 0CB1B4 7F096684 24110003 */ li $s1, 3 -/* 0CB1B8 7F096688 46189182 */ mul.s $f6, $f18, $f24 -/* 0CB1BC 7F09668C E7A804E4 */ swc1 $f8, 0x4e4($sp) -/* 0CB1C0 7F096690 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CB1C4 7F096694 461C7202 */ mul.s $f8, $f14, $f28 -/* 0CB1C8 7F096698 E7A404E8 */ swc1 $f4, 0x4e8($sp) -/* 0CB1CC 7F09669C 8FA50588 */ lw $a1, 0x588($sp) -/* 0CB1D0 7F0966A0 461C8282 */ mul.s $f10, $f16, $f28 -/* 0CB1D4 7F0966A4 E7A604EC */ swc1 $f6, 0x4ec($sp) -/* 0CB1D8 7F0966A8 461C1182 */ mul.s $f6, $f2, $f28 -/* 0CB1DC 7F0966AC E7A804C0 */ swc1 $f8, 0x4c0($sp) -/* 0CB1E0 7F0966B0 461C6202 */ mul.s $f8, $f12, $f28 -/* 0CB1E4 7F0966B4 46005100 */ add.s $f4, $f10, $f0 -/* 0CB1E8 7F0966B8 E7A604D8 */ swc1 $f6, 0x4d8($sp) -/* 0CB1EC 7F0966BC E7A404C4 */ swc1 $f4, 0x4c4($sp) -/* 0CB1F0 7F0966C0 461CA102 */ mul.s $f4, $f20, $f28 -/* 0CB1F4 7F0966C4 46004280 */ add.s $f10, $f8, $f0 -/* 0CB1F8 7F0966C8 461C9182 */ mul.s $f6, $f18, $f28 -/* 0CB1FC 7F0966CC E7AA04DC */ swc1 $f10, 0x4dc($sp) -/* 0CB200 7F0966D0 44815000 */ mtc1 $at, $f10 -/* 0CB204 7F0966D4 E7A404F0 */ swc1 $f4, 0x4f0($sp) -/* 0CB208 7F0966D8 46185103 */ div.s $f4, $f10, $f24 -/* 0CB20C 7F0966DC 46003200 */ add.s $f8, $f6, $f0 -/* 0CB210 7F0966E0 E7A804F4 */ swc1 $f8, 0x4f4($sp) -/* 0CB214 7F0966E4 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB218 7F0966E8 E7A40058 */ swc1 $f4, 0x58($sp) -/* 0CB21C 7F0966EC 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CB220 7F0966F0 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB224 7F0966F4 8FA50570 */ lw $a1, 0x570($sp) -/* 0CB228 7F0966F8 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CB22C 7F0966FC 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB230 7F096700 8FA5057C */ lw $a1, 0x57c($sp) -/* 0CB234 7F096704 100001C9 */ b .L7F096E2C -/* 0CB238 7F096708 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F09670C: -/* 0CB23C 7F09670C C7A20644 */ lwc1 $f2, 0x644($sp) -/* 0CB240 7F096710 C7A80648 */ lwc1 $f8, 0x648($sp) -/* 0CB244 7F096714 C7AC064C */ lwc1 $f12, 0x64c($sp) -/* 0CB248 7F096718 46181182 */ mul.s $f6, $f2, $f24 -/* 0CB24C 7F09671C C7B20614 */ lwc1 $f18, 0x614($sp) -/* 0CB250 7F096720 C7B4061C */ lwc1 $f20, 0x61c($sp) -/* 0CB254 7F096724 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB258 7F096728 C7A80618 */ lwc1 $f8, 0x618($sp) -/* 0CB25C 7F09672C C7AE05FC */ lwc1 $f14, 0x5fc($sp) -/* 0CB260 7F096730 46186102 */ mul.s $f4, $f12, $f24 -/* 0CB264 7F096734 E7A604B4 */ swc1 $f6, 0x4b4($sp) -/* 0CB268 7F096738 C7B00604 */ lwc1 $f16, 0x604($sp) -/* 0CB26C 7F09673C 46189182 */ mul.s $f6, $f18, $f24 -/* 0CB270 7F096740 E7AA04B8 */ swc1 $f10, 0x4b8($sp) -/* 0CB274 7F096744 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CB278 7F096748 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB27C 7F09674C E7A404BC */ swc1 $f4, 0x4bc($sp) -/* 0CB280 7F096750 C7A80600 */ lwc1 $f8, 0x600($sp) -/* 0CB284 7F096754 4618A102 */ mul.s $f4, $f20, $f24 -/* 0CB288 7F096758 E7A604CC */ swc1 $f6, 0x4cc($sp) -/* 0CB28C 7F09675C C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CB290 7F096760 46187182 */ mul.s $f6, $f14, $f24 -/* 0CB294 7F096764 E7AA04D0 */ swc1 $f10, 0x4d0($sp) -/* 0CB298 7F096768 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CB29C 7F09676C 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB2A0 7F096770 E7A404D4 */ swc1 $f4, 0x4d4($sp) -/* 0CB2A4 7F096774 24110003 */ li $s1, 3 -/* 0CB2A8 7F096778 46188102 */ mul.s $f4, $f16, $f24 -/* 0CB2AC 7F09677C E7A604E4 */ swc1 $f6, 0x4e4($sp) -/* 0CB2B0 7F096780 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CB2B4 7F096784 461C1182 */ mul.s $f6, $f2, $f28 -/* 0CB2B8 7F096788 E7AA04E8 */ swc1 $f10, 0x4e8($sp) -/* 0CB2BC 7F09678C 8FA5058C */ lw $a1, 0x58c($sp) -/* 0CB2C0 7F096790 461C6202 */ mul.s $f8, $f12, $f28 -/* 0CB2C4 7F096794 E7A404EC */ swc1 $f4, 0x4ec($sp) -/* 0CB2C8 7F096798 461C9102 */ mul.s $f4, $f18, $f28 -/* 0CB2CC 7F09679C E7A604C0 */ swc1 $f6, 0x4c0($sp) -/* 0CB2D0 7F0967A0 461CA182 */ mul.s $f6, $f20, $f28 -/* 0CB2D4 7F0967A4 46004280 */ add.s $f10, $f8, $f0 -/* 0CB2D8 7F0967A8 E7A404D8 */ swc1 $f4, 0x4d8($sp) -/* 0CB2DC 7F0967AC E7AA04C4 */ swc1 $f10, 0x4c4($sp) -/* 0CB2E0 7F0967B0 461C7282 */ mul.s $f10, $f14, $f28 -/* 0CB2E4 7F0967B4 46003200 */ add.s $f8, $f6, $f0 -/* 0CB2E8 7F0967B8 461C8102 */ mul.s $f4, $f16, $f28 -/* 0CB2EC 7F0967BC E7A804DC */ swc1 $f8, 0x4dc($sp) -/* 0CB2F0 7F0967C0 44814000 */ mtc1 $at, $f8 -/* 0CB2F4 7F0967C4 E7AA04F0 */ swc1 $f10, 0x4f0($sp) -/* 0CB2F8 7F0967C8 46184283 */ div.s $f10, $f8, $f24 -/* 0CB2FC 7F0967CC 46002180 */ add.s $f6, $f4, $f0 -/* 0CB300 7F0967D0 E7A604F4 */ swc1 $f6, 0x4f4($sp) -/* 0CB304 7F0967D4 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB308 7F0967D8 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 0CB30C 7F0967DC 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CB310 7F0967E0 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB314 7F0967E4 8FA5057C */ lw $a1, 0x57c($sp) -/* 0CB318 7F0967E8 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CB31C 7F0967EC 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB320 7F0967F0 8FA50574 */ lw $a1, 0x574($sp) -/* 0CB324 7F0967F4 1000018D */ b .L7F096E2C -/* 0CB328 7F0967F8 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F0967FC: -/* 0CB32C 7F0967FC C7B2062C */ lwc1 $f18, 0x62c($sp) -/* 0CB330 7F096800 C7A60630 */ lwc1 $f6, 0x630($sp) -/* 0CB334 7F096804 C7B40634 */ lwc1 $f20, 0x634($sp) -/* 0CB338 7F096808 46189102 */ mul.s $f4, $f18, $f24 -/* 0CB33C 7F09680C C7A20644 */ lwc1 $f2, 0x644($sp) -/* 0CB340 7F096810 C7AC064C */ lwc1 $f12, 0x64c($sp) -/* 0CB344 7F096814 46183202 */ mul.s $f8, $f6, $f24 -/* 0CB348 7F096818 C7A60648 */ lwc1 $f6, 0x648($sp) -/* 0CB34C 7F09681C C7AE0638 */ lwc1 $f14, 0x638($sp) -/* 0CB350 7F096820 4618A282 */ mul.s $f10, $f20, $f24 -/* 0CB354 7F096824 E7A404B4 */ swc1 $f4, 0x4b4($sp) -/* 0CB358 7F096828 C7B00640 */ lwc1 $f16, 0x640($sp) -/* 0CB35C 7F09682C 46181102 */ mul.s $f4, $f2, $f24 -/* 0CB360 7F096830 E7A804B8 */ swc1 $f8, 0x4b8($sp) -/* 0CB364 7F096834 C7B605F0 */ lwc1 $f22, 0x5f0($sp) -/* 0CB368 7F096838 46183202 */ mul.s $f8, $f6, $f24 -/* 0CB36C 7F09683C E7AA04BC */ swc1 $f10, 0x4bc($sp) -/* 0CB370 7F096840 C7A6063C */ lwc1 $f6, 0x63c($sp) -/* 0CB374 7F096844 46186282 */ mul.s $f10, $f12, $f24 -/* 0CB378 7F096848 E7A404CC */ swc1 $f4, 0x4cc($sp) -/* 0CB37C 7F09684C 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CB380 7F096850 46187102 */ mul.s $f4, $f14, $f24 -/* 0CB384 7F096854 E7A804D0 */ swc1 $f8, 0x4d0($sp) -/* 0CB388 7F096858 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CB38C 7F09685C 46183202 */ mul.s $f8, $f6, $f24 -/* 0CB390 7F096860 E7AA04D4 */ swc1 $f10, 0x4d4($sp) -/* 0CB394 7F096864 C7A605F4 */ lwc1 $f6, 0x5f4($sp) -/* 0CB398 7F096868 46188282 */ mul.s $f10, $f16, $f24 -/* 0CB39C 7F09686C E7A404E4 */ swc1 $f4, 0x4e4($sp) -/* 0CB3A0 7F096870 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CB3A4 7F096874 4618B102 */ mul.s $f4, $f22, $f24 -/* 0CB3A8 7F096878 E7A804E8 */ swc1 $f8, 0x4e8($sp) -/* 0CB3AC 7F09687C 24110005 */ li $s1, 5 -/* 0CB3B0 7F096880 46183202 */ mul.s $f8, $f6, $f24 -/* 0CB3B4 7F096884 E7AA04EC */ swc1 $f10, 0x4ec($sp) -/* 0CB3B8 7F096888 C7AA05F8 */ lwc1 $f10, 0x5f8($sp) -/* 0CB3BC 7F09688C C7A60608 */ lwc1 $f6, 0x608($sp) -/* 0CB3C0 7F096890 E7A404FC */ swc1 $f4, 0x4fc($sp) -/* 0CB3C4 7F096894 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB3C8 7F096898 C7AA060C */ lwc1 $f10, 0x60c($sp) -/* 0CB3CC 7F09689C E7A80500 */ swc1 $f8, 0x500($sp) -/* 0CB3D0 7F0968A0 46183202 */ mul.s $f8, $f6, $f24 -/* 0CB3D4 7F0968A4 C7A60610 */ lwc1 $f6, 0x610($sp) -/* 0CB3D8 7F0968A8 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CB3DC 7F0968AC 8FA50584 */ lw $a1, 0x584($sp) -/* 0CB3E0 7F0968B0 E7A40504 */ swc1 $f4, 0x504($sp) -/* 0CB3E4 7F0968B4 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB3E8 7F0968B8 E7A80514 */ swc1 $f8, 0x514($sp) -/* 0CB3EC 7F0968BC 46183202 */ mul.s $f8, $f6, $f24 -/* 0CB3F0 7F0968C0 00000000 */ nop -/* 0CB3F4 7F0968C4 461C9282 */ mul.s $f10, $f18, $f28 -/* 0CB3F8 7F0968C8 E7A40518 */ swc1 $f4, 0x518($sp) -/* 0CB3FC 7F0968CC 461CA102 */ mul.s $f4, $f20, $f28 -/* 0CB400 7F0968D0 E7A8051C */ swc1 $f8, 0x51c($sp) -/* 0CB404 7F0968D4 461C1202 */ mul.s $f8, $f2, $f28 -/* 0CB408 7F0968D8 E7AA04C0 */ swc1 $f10, 0x4c0($sp) -/* 0CB40C 7F0968DC 461C6282 */ mul.s $f10, $f12, $f28 -/* 0CB410 7F0968E0 46002180 */ add.s $f6, $f4, $f0 -/* 0CB414 7F0968E4 E7A804D8 */ swc1 $f8, 0x4d8($sp) -/* 0CB418 7F0968E8 E7A604C4 */ swc1 $f6, 0x4c4($sp) -/* 0CB41C 7F0968EC 461C7182 */ mul.s $f6, $f14, $f28 -/* 0CB420 7F0968F0 46005100 */ add.s $f4, $f10, $f0 -/* 0CB424 7F0968F4 461C8202 */ mul.s $f8, $f16, $f28 -/* 0CB428 7F0968F8 E7A404DC */ swc1 $f4, 0x4dc($sp) -/* 0CB42C 7F0968FC 461CB102 */ mul.s $f4, $f22, $f28 -/* 0CB430 7F096900 E7A604F0 */ swc1 $f6, 0x4f0($sp) -/* 0CB434 7F096904 C7A605F8 */ lwc1 $f6, 0x5f8($sp) -/* 0CB438 7F096908 46004280 */ add.s $f10, $f8, $f0 -/* 0CB43C 7F09690C 461C3202 */ mul.s $f8, $f6, $f28 -/* 0CB440 7F096910 E7A40508 */ swc1 $f4, 0x508($sp) -/* 0CB444 7F096914 C7A40608 */ lwc1 $f4, 0x608($sp) -/* 0CB448 7F096918 E7AA04F4 */ swc1 $f10, 0x4f4($sp) -/* 0CB44C 7F09691C 461C2182 */ mul.s $f6, $f4, $f28 -/* 0CB450 7F096920 46004280 */ add.s $f10, $f8, $f0 -/* 0CB454 7F096924 C7A80610 */ lwc1 $f8, 0x610($sp) -/* 0CB458 7F096928 E7AA050C */ swc1 $f10, 0x50c($sp) -/* 0CB45C 7F09692C E7A60520 */ swc1 $f6, 0x520($sp) -/* 0CB460 7F096930 44813000 */ mtc1 $at, $f6 -/* 0CB464 7F096934 461C4282 */ mul.s $f10, $f8, $f28 -/* 0CB468 7F096938 46183203 */ div.s $f8, $f6, $f24 -/* 0CB46C 7F09693C 46005100 */ add.s $f4, $f10, $f0 -/* 0CB470 7F096940 E7A40524 */ swc1 $f4, 0x524($sp) -/* 0CB474 7F096944 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB478 7F096948 E7A80058 */ swc1 $f8, 0x58($sp) -/* 0CB47C 7F09694C 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CB480 7F096950 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB484 7F096954 8FA5058C */ lw $a1, 0x58c($sp) -/* 0CB488 7F096958 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CB48C 7F09695C 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB490 7F096960 8FA50588 */ lw $a1, 0x588($sp) -/* 0CB494 7F096964 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CB498 7F096968 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB49C 7F09696C 8FA50570 */ lw $a1, 0x570($sp) -/* 0CB4A0 7F096970 27A40514 */ addiu $a0, $sp, 0x514 -/* 0CB4A4 7F096974 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB4A8 7F096978 8FA50578 */ lw $a1, 0x578($sp) -/* 0CB4AC 7F09697C 1000012B */ b .L7F096E2C -/* 0CB4B0 7F096980 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F096984: -/* 0CB4B4 7F096984 C7A20644 */ lwc1 $f2, 0x644($sp) -/* 0CB4B8 7F096988 C7A40648 */ lwc1 $f4, 0x648($sp) -/* 0CB4BC 7F09698C C7AC064C */ lwc1 $f12, 0x64c($sp) -/* 0CB4C0 7F096990 46181282 */ mul.s $f10, $f2, $f24 -/* 0CB4C4 7F096994 C7AE0638 */ lwc1 $f14, 0x638($sp) -/* 0CB4C8 7F096998 C7B00640 */ lwc1 $f16, 0x640($sp) -/* 0CB4CC 7F09699C 46182182 */ mul.s $f6, $f4, $f24 -/* 0CB4D0 7F0969A0 C7A4063C */ lwc1 $f4, 0x63c($sp) -/* 0CB4D4 7F0969A4 C7B60620 */ lwc1 $f22, 0x620($sp) -/* 0CB4D8 7F0969A8 46186202 */ mul.s $f8, $f12, $f24 -/* 0CB4DC 7F0969AC E7AA04B4 */ swc1 $f10, 0x4b4($sp) -/* 0CB4E0 7F0969B0 C7B205FC */ lwc1 $f18, 0x5fc($sp) -/* 0CB4E4 7F0969B4 46187282 */ mul.s $f10, $f14, $f24 -/* 0CB4E8 7F0969B8 E7A604B8 */ swc1 $f6, 0x4b8($sp) -/* 0CB4EC 7F0969BC C7B40604 */ lwc1 $f20, 0x604($sp) -/* 0CB4F0 7F0969C0 46182182 */ mul.s $f6, $f4, $f24 -/* 0CB4F4 7F0969C4 E7A804BC */ swc1 $f8, 0x4bc($sp) -/* 0CB4F8 7F0969C8 C7A40624 */ lwc1 $f4, 0x624($sp) -/* 0CB4FC 7F0969CC 46188202 */ mul.s $f8, $f16, $f24 -/* 0CB500 7F0969D0 E7AA04CC */ swc1 $f10, 0x4cc($sp) -/* 0CB504 7F0969D4 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CB508 7F0969D8 4618B282 */ mul.s $f10, $f22, $f24 -/* 0CB50C 7F0969DC E7A604D0 */ swc1 $f6, 0x4d0($sp) -/* 0CB510 7F0969E0 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CB514 7F0969E4 46182182 */ mul.s $f6, $f4, $f24 -/* 0CB518 7F0969E8 E7A804D4 */ swc1 $f8, 0x4d4($sp) -/* 0CB51C 7F0969EC C7A80628 */ lwc1 $f8, 0x628($sp) -/* 0CB520 7F0969F0 C7A40608 */ lwc1 $f4, 0x608($sp) -/* 0CB524 7F0969F4 E7AA04E4 */ swc1 $f10, 0x4e4($sp) -/* 0CB528 7F0969F8 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB52C 7F0969FC C7A8060C */ lwc1 $f8, 0x60c($sp) -/* 0CB530 7F096A00 E7A604E8 */ swc1 $f6, 0x4e8($sp) -/* 0CB534 7F096A04 46182182 */ mul.s $f6, $f4, $f24 -/* 0CB538 7F096A08 C7A40610 */ lwc1 $f4, 0x610($sp) -/* 0CB53C 7F096A0C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CB540 7F096A10 24110005 */ li $s1, 5 -/* 0CB544 7F096A14 E7AA04EC */ swc1 $f10, 0x4ec($sp) -/* 0CB548 7F096A18 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB54C 7F096A1C 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CB550 7F096A20 E7A604FC */ swc1 $f6, 0x4fc($sp) -/* 0CB554 7F096A24 46182182 */ mul.s $f6, $f4, $f24 -/* 0CB558 7F096A28 8FA5058C */ lw $a1, 0x58c($sp) -/* 0CB55C 7F096A2C 46189202 */ mul.s $f8, $f18, $f24 -/* 0CB560 7F096A30 E7AA0500 */ swc1 $f10, 0x500($sp) -/* 0CB564 7F096A34 C7AA0600 */ lwc1 $f10, 0x600($sp) -/* 0CB568 7F096A38 E7A60504 */ swc1 $f6, 0x504($sp) -/* 0CB56C 7F096A3C 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB570 7F096A40 E7A80514 */ swc1 $f8, 0x514($sp) -/* 0CB574 7F096A44 4618A182 */ mul.s $f6, $f20, $f24 -/* 0CB578 7F096A48 00000000 */ nop -/* 0CB57C 7F096A4C 461C1202 */ mul.s $f8, $f2, $f28 -/* 0CB580 7F096A50 E7A40518 */ swc1 $f4, 0x518($sp) -/* 0CB584 7F096A54 461C6282 */ mul.s $f10, $f12, $f28 -/* 0CB588 7F096A58 E7A6051C */ swc1 $f6, 0x51c($sp) -/* 0CB58C 7F096A5C 461C7182 */ mul.s $f6, $f14, $f28 -/* 0CB590 7F096A60 E7A804C0 */ swc1 $f8, 0x4c0($sp) -/* 0CB594 7F096A64 461C8202 */ mul.s $f8, $f16, $f28 -/* 0CB598 7F096A68 46005100 */ add.s $f4, $f10, $f0 -/* 0CB59C 7F096A6C E7A604D8 */ swc1 $f6, 0x4d8($sp) -/* 0CB5A0 7F096A70 C7A60628 */ lwc1 $f6, 0x628($sp) -/* 0CB5A4 7F096A74 E7A404C4 */ swc1 $f4, 0x4c4($sp) -/* 0CB5A8 7F096A78 461CB102 */ mul.s $f4, $f22, $f28 -/* 0CB5AC 7F096A7C 46004280 */ add.s $f10, $f8, $f0 -/* 0CB5B0 7F096A80 461C3202 */ mul.s $f8, $f6, $f28 -/* 0CB5B4 7F096A84 E7AA04DC */ swc1 $f10, 0x4dc($sp) -/* 0CB5B8 7F096A88 E7A404F0 */ swc1 $f4, 0x4f0($sp) -/* 0CB5BC 7F096A8C C7A40608 */ lwc1 $f4, 0x608($sp) -/* 0CB5C0 7F096A90 46004280 */ add.s $f10, $f8, $f0 -/* 0CB5C4 7F096A94 461C2182 */ mul.s $f6, $f4, $f28 -/* 0CB5C8 7F096A98 C7A80610 */ lwc1 $f8, 0x610($sp) -/* 0CB5CC 7F096A9C E7AA04F4 */ swc1 $f10, 0x4f4($sp) -/* 0CB5D0 7F096AA0 461C4282 */ mul.s $f10, $f8, $f28 -/* 0CB5D4 7F096AA4 E7A60508 */ swc1 $f6, 0x508($sp) -/* 0CB5D8 7F096AA8 461C9182 */ mul.s $f6, $f18, $f28 -/* 0CB5DC 7F096AAC 46005100 */ add.s $f4, $f10, $f0 -/* 0CB5E0 7F096AB0 461CA202 */ mul.s $f8, $f20, $f28 -/* 0CB5E4 7F096AB4 E7A60520 */ swc1 $f6, 0x520($sp) -/* 0CB5E8 7F096AB8 E7A4050C */ swc1 $f4, 0x50c($sp) -/* 0CB5EC 7F096ABC 44812000 */ mtc1 $at, $f4 -/* 0CB5F0 7F096AC0 00000000 */ nop -/* 0CB5F4 7F096AC4 46182183 */ div.s $f6, $f4, $f24 -/* 0CB5F8 7F096AC8 46004280 */ add.s $f10, $f8, $f0 -/* 0CB5FC 7F096ACC E7AA0524 */ swc1 $f10, 0x524($sp) -/* 0CB600 7F096AD0 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB604 7F096AD4 E7A60058 */ swc1 $f6, 0x58($sp) -/* 0CB608 7F096AD8 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CB60C 7F096ADC 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB610 7F096AE0 8FA50588 */ lw $a1, 0x588($sp) -/* 0CB614 7F096AE4 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CB618 7F096AE8 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB61C 7F096AEC 8FA50580 */ lw $a1, 0x580($sp) -/* 0CB620 7F096AF0 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CB624 7F096AF4 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB628 7F096AF8 8FA50578 */ lw $a1, 0x578($sp) -/* 0CB62C 7F096AFC 27A40514 */ addiu $a0, $sp, 0x514 -/* 0CB630 7F096B00 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB634 7F096B04 8FA50574 */ lw $a1, 0x574($sp) -/* 0CB638 7F096B08 100000C8 */ b .L7F096E2C -/* 0CB63C 7F096B0C 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F096B10: -/* 0CB640 7F096B10 C7B60620 */ lwc1 $f22, 0x620($sp) -/* 0CB644 7F096B14 C7AA0624 */ lwc1 $f10, 0x624($sp) -/* 0CB648 7F096B18 C7A60628 */ lwc1 $f6, 0x628($sp) -/* 0CB64C 7F096B1C 4618B202 */ mul.s $f8, $f22, $f24 -/* 0CB650 7F096B20 C7B2062C */ lwc1 $f18, 0x62c($sp) -/* 0CB654 7F096B24 C7B40634 */ lwc1 $f20, 0x634($sp) -/* 0CB658 7F096B28 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB65C 7F096B2C C7A20644 */ lwc1 $f2, 0x644($sp) -/* 0CB660 7F096B30 C7AC064C */ lwc1 $f12, 0x64c($sp) -/* 0CB664 7F096B34 C7AE0614 */ lwc1 $f14, 0x614($sp) -/* 0CB668 7F096B38 E7A804B4 */ swc1 $f8, 0x4b4($sp) -/* 0CB66C 7F096B3C 46183202 */ mul.s $f8, $f6, $f24 -/* 0CB670 7F096B40 C7B0061C */ lwc1 $f16, 0x61c($sp) -/* 0CB674 7F096B44 E7A404B8 */ swc1 $f4, 0x4b8($sp) -/* 0CB678 7F096B48 46189282 */ mul.s $f10, $f18, $f24 -/* 0CB67C 7F096B4C C7A40630 */ lwc1 $f4, 0x630($sp) -/* 0CB680 7F096B50 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CB684 7F096B54 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CB688 7F096B58 E7A804BC */ swc1 $f8, 0x4bc($sp) -/* 0CB68C 7F096B5C 46182202 */ mul.s $f8, $f4, $f24 -/* 0CB690 7F096B60 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CB694 7F096B64 E7AA04CC */ swc1 $f10, 0x4cc($sp) -/* 0CB698 7F096B68 4618A282 */ mul.s $f10, $f20, $f24 -/* 0CB69C 7F096B6C 24110005 */ li $s1, 5 -/* 0CB6A0 7F096B70 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CB6A4 7F096B74 46181102 */ mul.s $f4, $f2, $f24 -/* 0CB6A8 7F096B78 E7A804D0 */ swc1 $f8, 0x4d0($sp) -/* 0CB6AC 7F096B7C C7A80648 */ lwc1 $f8, 0x648($sp) -/* 0CB6B0 7F096B80 8FA50580 */ lw $a1, 0x580($sp) -/* 0CB6B4 7F096B84 E7AA04D4 */ swc1 $f10, 0x4d4($sp) -/* 0CB6B8 7F096B88 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB6BC 7F096B8C E7A404E4 */ swc1 $f4, 0x4e4($sp) -/* 0CB6C0 7F096B90 46186102 */ mul.s $f4, $f12, $f24 -/* 0CB6C4 7F096B94 E7AA04E8 */ swc1 $f10, 0x4e8($sp) -/* 0CB6C8 7F096B98 46187202 */ mul.s $f8, $f14, $f24 -/* 0CB6CC 7F096B9C C7AA0618 */ lwc1 $f10, 0x618($sp) -/* 0CB6D0 7F096BA0 E7A404EC */ swc1 $f4, 0x4ec($sp) -/* 0CB6D4 7F096BA4 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB6D8 7F096BA8 C7AA05F0 */ lwc1 $f10, 0x5f0($sp) -/* 0CB6DC 7F096BAC E7A804FC */ swc1 $f8, 0x4fc($sp) -/* 0CB6E0 7F096BB0 46188202 */ mul.s $f8, $f16, $f24 -/* 0CB6E4 7F096BB4 E7A40500 */ swc1 $f4, 0x500($sp) -/* 0CB6E8 7F096BB8 46185102 */ mul.s $f4, $f10, $f24 -/* 0CB6EC 7F096BBC E7A80504 */ swc1 $f8, 0x504($sp) -/* 0CB6F0 7F096BC0 C7A805F4 */ lwc1 $f8, 0x5f4($sp) -/* 0CB6F4 7F096BC4 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB6F8 7F096BC8 E7A40514 */ swc1 $f4, 0x514($sp) -/* 0CB6FC 7F096BCC C7A405F8 */ lwc1 $f4, 0x5f8($sp) -/* 0CB700 7F096BD0 46182202 */ mul.s $f8, $f4, $f24 -/* 0CB704 7F096BD4 E7AA0518 */ swc1 $f10, 0x518($sp) -/* 0CB708 7F096BD8 461CB282 */ mul.s $f10, $f22, $f28 -/* 0CB70C 7F096BDC 00000000 */ nop -/* 0CB710 7F096BE0 461C3102 */ mul.s $f4, $f6, $f28 -/* 0CB714 7F096BE4 E7A8051C */ swc1 $f8, 0x51c($sp) -/* 0CB718 7F096BE8 E7AA04C0 */ swc1 $f10, 0x4c0($sp) -/* 0CB71C 7F096BEC 461C9282 */ mul.s $f10, $f18, $f28 -/* 0CB720 7F096BF0 46002200 */ add.s $f8, $f4, $f0 -/* 0CB724 7F096BF4 461CA182 */ mul.s $f6, $f20, $f28 -/* 0CB728 7F096BF8 E7A804C4 */ swc1 $f8, 0x4c4($sp) -/* 0CB72C 7F096BFC 461C1202 */ mul.s $f8, $f2, $f28 -/* 0CB730 7F096C00 E7AA04D8 */ swc1 $f10, 0x4d8($sp) -/* 0CB734 7F096C04 461C6282 */ mul.s $f10, $f12, $f28 -/* 0CB738 7F096C08 46003100 */ add.s $f4, $f6, $f0 -/* 0CB73C 7F096C0C E7A804F0 */ swc1 $f8, 0x4f0($sp) -/* 0CB740 7F096C10 E7A404DC */ swc1 $f4, 0x4dc($sp) -/* 0CB744 7F096C14 461C7102 */ mul.s $f4, $f14, $f28 -/* 0CB748 7F096C18 46005180 */ add.s $f6, $f10, $f0 -/* 0CB74C 7F096C1C 461C8202 */ mul.s $f8, $f16, $f28 -/* 0CB750 7F096C20 E7A604F4 */ swc1 $f6, 0x4f4($sp) -/* 0CB754 7F096C24 C7A605F0 */ lwc1 $f6, 0x5f0($sp) -/* 0CB758 7F096C28 E7A40508 */ swc1 $f4, 0x508($sp) -/* 0CB75C 7F096C2C 461C3102 */ mul.s $f4, $f6, $f28 -/* 0CB760 7F096C30 46004280 */ add.s $f10, $f8, $f0 -/* 0CB764 7F096C34 C7A805F8 */ lwc1 $f8, 0x5f8($sp) -/* 0CB768 7F096C38 E7AA050C */ swc1 $f10, 0x50c($sp) -/* 0CB76C 7F096C3C 461C4282 */ mul.s $f10, $f8, $f28 -/* 0CB770 7F096C40 E7A40520 */ swc1 $f4, 0x520($sp) -/* 0CB774 7F096C44 44812000 */ mtc1 $at, $f4 -/* 0CB778 7F096C48 00000000 */ nop -/* 0CB77C 7F096C4C 46182203 */ div.s $f8, $f4, $f24 -/* 0CB780 7F096C50 46005180 */ add.s $f6, $f10, $f0 -/* 0CB784 7F096C54 E7A60524 */ swc1 $f6, 0x524($sp) -/* 0CB788 7F096C58 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB78C 7F096C5C E7A80058 */ swc1 $f8, 0x58($sp) -/* 0CB790 7F096C60 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CB794 7F096C64 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB798 7F096C68 8FA50584 */ lw $a1, 0x584($sp) -/* 0CB79C 7F096C6C 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CB7A0 7F096C70 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB7A4 7F096C74 8FA5058C */ lw $a1, 0x58c($sp) -/* 0CB7A8 7F096C78 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CB7AC 7F096C7C 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB7B0 7F096C80 8FA5057C */ lw $a1, 0x57c($sp) -/* 0CB7B4 7F096C84 27A40514 */ addiu $a0, $sp, 0x514 -/* 0CB7B8 7F096C88 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB7BC 7F096C8C 8FA50570 */ lw $a1, 0x570($sp) -/* 0CB7C0 7F096C90 10000066 */ b .L7F096E2C -/* 0CB7C4 7F096C94 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F096C98: -/* 0CB7C8 7F096C98 C7AE0638 */ lwc1 $f14, 0x638($sp) -/* 0CB7CC 7F096C9C C7A6063C */ lwc1 $f6, 0x63c($sp) -/* 0CB7D0 7F096CA0 C7B00640 */ lwc1 $f16, 0x640($sp) -/* 0CB7D4 7F096CA4 46187282 */ mul.s $f10, $f14, $f24 -/* 0CB7D8 7F096CA8 C7B60620 */ lwc1 $f22, 0x620($sp) -/* 0CB7DC 7F096CAC C7A20628 */ lwc1 $f2, 0x628($sp) -/* 0CB7E0 7F096CB0 46183102 */ mul.s $f4, $f6, $f24 -/* 0CB7E4 7F096CB4 C7A60624 */ lwc1 $f6, 0x624($sp) -/* 0CB7E8 7F096CB8 C7B2062C */ lwc1 $f18, 0x62c($sp) -/* 0CB7EC 7F096CBC 46188202 */ mul.s $f8, $f16, $f24 -/* 0CB7F0 7F096CC0 E7AA04B4 */ swc1 $f10, 0x4b4($sp) -/* 0CB7F4 7F096CC4 C7B40634 */ lwc1 $f20, 0x634($sp) -/* 0CB7F8 7F096CC8 4618B282 */ mul.s $f10, $f22, $f24 -/* 0CB7FC 7F096CCC E7A404B8 */ swc1 $f4, 0x4b8($sp) -/* 0CB800 7F096CD0 C7AC05FC */ lwc1 $f12, 0x5fc($sp) -/* 0CB804 7F096CD4 46183102 */ mul.s $f4, $f6, $f24 -/* 0CB808 7F096CD8 E7A804BC */ swc1 $f8, 0x4bc($sp) -/* 0CB80C 7F096CDC C7A60630 */ lwc1 $f6, 0x630($sp) -/* 0CB810 7F096CE0 46181202 */ mul.s $f8, $f2, $f24 -/* 0CB814 7F096CE4 E7AA04CC */ swc1 $f10, 0x4cc($sp) -/* 0CB818 7F096CE8 3C018004 */ lui $at, %hi(D_8003FD94) -/* 0CB81C 7F096CEC 46189282 */ mul.s $f10, $f18, $f24 -/* 0CB820 7F096CF0 E7A404D0 */ swc1 $f4, 0x4d0($sp) -/* 0CB824 7F096CF4 C420FD94 */ lwc1 $f0, %lo(D_8003FD94)($at) -/* 0CB828 7F096CF8 46183102 */ mul.s $f4, $f6, $f24 -/* 0CB82C 7F096CFC E7A804D4 */ swc1 $f8, 0x4d4($sp) -/* 0CB830 7F096D00 C7A60600 */ lwc1 $f6, 0x600($sp) -/* 0CB834 7F096D04 4618A202 */ mul.s $f8, $f20, $f24 -/* 0CB838 7F096D08 E7AA04E4 */ swc1 $f10, 0x4e4($sp) -/* 0CB83C 7F096D0C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CB840 7F096D10 46186282 */ mul.s $f10, $f12, $f24 -/* 0CB844 7F096D14 E7A404E8 */ swc1 $f4, 0x4e8($sp) -/* 0CB848 7F096D18 24110005 */ li $s1, 5 -/* 0CB84C 7F096D1C 46183102 */ mul.s $f4, $f6, $f24 -/* 0CB850 7F096D20 E7A804EC */ swc1 $f8, 0x4ec($sp) -/* 0CB854 7F096D24 C7A80604 */ lwc1 $f8, 0x604($sp) -/* 0CB858 7F096D28 C7A60614 */ lwc1 $f6, 0x614($sp) -/* 0CB85C 7F096D2C E7AA04FC */ swc1 $f10, 0x4fc($sp) -/* 0CB860 7F096D30 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB864 7F096D34 C7A80618 */ lwc1 $f8, 0x618($sp) -/* 0CB868 7F096D38 E7A40500 */ swc1 $f4, 0x500($sp) -/* 0CB86C 7F096D3C 46183102 */ mul.s $f4, $f6, $f24 -/* 0CB870 7F096D40 C7A6061C */ lwc1 $f6, 0x61c($sp) -/* 0CB874 7F096D44 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CB878 7F096D48 8FA50588 */ lw $a1, 0x588($sp) -/* 0CB87C 7F096D4C E7AA0504 */ swc1 $f10, 0x504($sp) -/* 0CB880 7F096D50 46184282 */ mul.s $f10, $f8, $f24 -/* 0CB884 7F096D54 E7A40514 */ swc1 $f4, 0x514($sp) -/* 0CB888 7F096D58 46183102 */ mul.s $f4, $f6, $f24 -/* 0CB88C 7F096D5C 00000000 */ nop -/* 0CB890 7F096D60 461C7202 */ mul.s $f8, $f14, $f28 -/* 0CB894 7F096D64 E7AA0518 */ swc1 $f10, 0x518($sp) -/* 0CB898 7F096D68 461C8282 */ mul.s $f10, $f16, $f28 -/* 0CB89C 7F096D6C E7A4051C */ swc1 $f4, 0x51c($sp) -/* 0CB8A0 7F096D70 461CB102 */ mul.s $f4, $f22, $f28 -/* 0CB8A4 7F096D74 E7A804C0 */ swc1 $f8, 0x4c0($sp) -/* 0CB8A8 7F096D78 461C1202 */ mul.s $f8, $f2, $f28 -/* 0CB8AC 7F096D7C 46005180 */ add.s $f6, $f10, $f0 -/* 0CB8B0 7F096D80 E7A404D8 */ swc1 $f4, 0x4d8($sp) -/* 0CB8B4 7F096D84 E7A604C4 */ swc1 $f6, 0x4c4($sp) -/* 0CB8B8 7F096D88 461C9182 */ mul.s $f6, $f18, $f28 -/* 0CB8BC 7F096D8C 46004280 */ add.s $f10, $f8, $f0 -/* 0CB8C0 7F096D90 461CA102 */ mul.s $f4, $f20, $f28 -/* 0CB8C4 7F096D94 E7AA04DC */ swc1 $f10, 0x4dc($sp) -/* 0CB8C8 7F096D98 461C6282 */ mul.s $f10, $f12, $f28 -/* 0CB8CC 7F096D9C E7A604F0 */ swc1 $f6, 0x4f0($sp) -/* 0CB8D0 7F096DA0 C7A60604 */ lwc1 $f6, 0x604($sp) -/* 0CB8D4 7F096DA4 46002200 */ add.s $f8, $f4, $f0 -/* 0CB8D8 7F096DA8 461C3102 */ mul.s $f4, $f6, $f28 -/* 0CB8DC 7F096DAC E7AA0508 */ swc1 $f10, 0x508($sp) -/* 0CB8E0 7F096DB0 C7AA0614 */ lwc1 $f10, 0x614($sp) -/* 0CB8E4 7F096DB4 E7A804F4 */ swc1 $f8, 0x4f4($sp) -/* 0CB8E8 7F096DB8 461C5182 */ mul.s $f6, $f10, $f28 -/* 0CB8EC 7F096DBC 46002200 */ add.s $f8, $f4, $f0 -/* 0CB8F0 7F096DC0 C7A4061C */ lwc1 $f4, 0x61c($sp) -/* 0CB8F4 7F096DC4 E7A8050C */ swc1 $f8, 0x50c($sp) -/* 0CB8F8 7F096DC8 E7A60520 */ swc1 $f6, 0x520($sp) -/* 0CB8FC 7F096DCC 44813000 */ mtc1 $at, $f6 -/* 0CB900 7F096DD0 461C2202 */ mul.s $f8, $f4, $f28 -/* 0CB904 7F096DD4 46183103 */ div.s $f4, $f6, $f24 -/* 0CB908 7F096DD8 46004280 */ add.s $f10, $f8, $f0 -/* 0CB90C 7F096DDC E7AA0524 */ swc1 $f10, 0x524($sp) -/* 0CB910 7F096DE0 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB914 7F096DE4 E7A40058 */ swc1 $f4, 0x58($sp) -/* 0CB918 7F096DE8 27A404CC */ addiu $a0, $sp, 0x4cc -/* 0CB91C 7F096DEC 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB920 7F096DF0 8FA50580 */ lw $a1, 0x580($sp) -/* 0CB924 7F096DF4 27A404E4 */ addiu $a0, $sp, 0x4e4 -/* 0CB928 7F096DF8 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB92C 7F096DFC 8FA50584 */ lw $a1, 0x584($sp) -/* 0CB930 7F096E00 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0CB934 7F096E04 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB938 7F096E08 8FA50574 */ lw $a1, 0x574($sp) -/* 0CB93C 7F096E0C 27A40514 */ addiu $a0, $sp, 0x514 -/* 0CB940 7F096E10 0FC24F2C */ jal sub_GAME_7F093CB0 -/* 0CB944 7F096E14 8FA5057C */ lw $a1, 0x57c($sp) -/* 0CB948 7F096E18 10000004 */ b .L7F096E2C -/* 0CB94C 7F096E1C 8FAF06B0 */ lw $t7, 0x6b0($sp) -def_7F095E0C: -.L7F096E20: -/* 0CB950 7F096E20 1000014F */ b .L7F097360 -/* 0CB954 7F096E24 00601025 */ move $v0, $v1 -/* 0CB958 7F096E28 8FAF06B0 */ lw $t7, 0x6b0($sp) -.L7F096E2C: -/* 0CB95C 7F096E2C 3C0CE700 */ lui $t4, 0xe700 -/* 0CB960 7F096E30 25ED0008 */ addiu $t5, $t7, 8 -/* 0CB964 7F096E34 AFAD06B0 */ sw $t5, 0x6b0($sp) -/* 0CB968 7F096E38 ADE00004 */ sw $zero, 4($t7) -/* 0CB96C 7F096E3C 0FC2E9CB */ jal get_ptr_currentdata -/* 0CB970 7F096E40 ADEC0000 */ sw $t4, ($t7) -/* 0CB974 7F096E44 84590010 */ lh $t9, 0x10($v0) -/* 0CB978 7F096E48 3C0B8009 */ lui $t3, %hi(skywaterimages) -/* 0CB97C 7F096E4C 8D6BD124 */ lw $t3, %lo(skywaterimages)($t3) -/* 0CB980 7F096E50 0019C080 */ sll $t8, $t9, 2 -/* 0CB984 7F096E54 0319C023 */ subu $t8, $t8, $t9 -/* 0CB988 7F096E58 0018C080 */ sll $t8, $t8, 2 -/* 0CB98C 7F096E5C 240E0002 */ li $t6, 2 -/* 0CB990 7F096E60 AFAE0010 */ sw $t6, 0x10($sp) -/* 0CB994 7F096E64 27A406B0 */ addiu $a0, $sp, 0x6b0 -/* 0CB998 7F096E68 24060001 */ li $a2, 1 -/* 0CB99C 7F096E6C 00003825 */ move $a3, $zero -/* 0CB9A0 7F096E70 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0CB9A4 7F096E74 030B2821 */ addu $a1, $t8, $t3 -/* 0CB9A8 7F096E78 8FAA06B0 */ lw $t2, 0x6b0($sp) -/* 0CB9AC 7F096E7C 3C0DFB00 */ lui $t5, 0xfb00 -/* 0CB9B0 7F096E80 254F0008 */ addiu $t7, $t2, 8 -/* 0CB9B4 7F096E84 AFAF06B0 */ sw $t7, 0x6b0($sp) -/* 0CB9B8 7F096E88 AD4D0000 */ sw $t5, ($t2) -/* 0CB9BC 7F096E8C 0FC2E9CB */ jal get_ptr_currentdata -/* 0CB9C0 7F096E90 AFAA0228 */ sw $t2, 0x228($sp) -/* 0CB9C4 7F096E94 0FC2E9CB */ jal get_ptr_currentdata -/* 0CB9C8 7F096E98 00408025 */ move $s0, $v0 -/* 0CB9CC 7F096E9C 0FC2E9CB */ jal get_ptr_currentdata -/* 0CB9D0 7F096EA0 AFA2006C */ sw $v0, 0x6c($sp) -/* 0CB9D4 7F096EA4 8FAB006C */ lw $t3, 0x6c($sp) -/* 0CB9D8 7F096EA8 9059000A */ lbu $t9, 0xa($v0) -/* 0CB9DC 7F096EAC 916A0008 */ lbu $t2, 8($t3) -/* 0CB9E0 7F096EB0 0019C200 */ sll $t8, $t9, 8 -/* 0CB9E4 7F096EB4 92190009 */ lbu $t9, 9($s0) -/* 0CB9E8 7F096EB8 000A7E00 */ sll $t7, $t2, 0x18 -/* 0CB9EC 7F096EBC 030F6825 */ or $t5, $t8, $t7 -/* 0CB9F0 7F096EC0 8FB80228 */ lw $t8, 0x228($sp) -/* 0CB9F4 7F096EC4 00195C00 */ sll $t3, $t9, 0x10 -/* 0CB9F8 7F096EC8 01AB7025 */ or $t6, $t5, $t3 -/* 0CB9FC 7F096ECC 35CA00FF */ ori $t2, $t6, 0xff -/* 0CBA00 7F096ED0 AF0A0004 */ sw $t2, 4($t8) -/* 0CBA04 7F096ED4 8FAF06B0 */ lw $t7, 0x6b0($sp) -/* 0CBA08 7F096ED8 3C0D55FE */ lui $t5, (0x55FEF97C >> 16) # lui $t5, 0x55fe -/* 0CBA0C 7F096EDC 3C19FC40 */ lui $t9, (0xFC40FE81 >> 16) # lui $t9, 0xfc40 -/* 0CBA10 7F096EE0 25EC0008 */ addiu $t4, $t7, 8 -/* 0CBA14 7F096EE4 AFAC06B0 */ sw $t4, 0x6b0($sp) -/* 0CBA18 7F096EE8 3739FE81 */ ori $t9, (0xFC40FE81 & 0xFFFF) # ori $t9, $t9, 0xfe81 -/* 0CBA1C 7F096EEC 35ADF97C */ ori $t5, (0x55FEF97C & 0xFFFF) # ori $t5, $t5, 0xf97c -/* 0CBA20 7F096EF0 ADED0004 */ sw $t5, 4($t7) -/* 0CBA24 7F096EF4 0FC1E0F9 */ jal get_BONDdata_field_10DC -/* 0CBA28 7F096EF8 ADF90000 */ sw $t9, ($t7) -/* 0CBA2C 7F096EFC 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0CBA30 7F096F00 00408025 */ move $s0, $v0 -/* 0CBA34 7F096F04 02002025 */ move $a0, $s0 -/* 0CBA38 7F096F08 00402825 */ move $a1, $v0 -/* 0CBA3C 7F096F0C 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0CBA40 7F096F10 27A601E4 */ addiu $a2, $sp, 0x1e4 -/* 0CBA44 7F096F14 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 0CBA48 7F096F18 3C048008 */ lui $a0, %hi(dword_CODE_bss_80079E98) -/* 0CBA4C 7F096F1C 24849E98 */ addiu $a0, %lo(dword_CODE_bss_80079E98) # addiu $a0, $a0, -0x6168 -/* 0CBA50 7F096F20 44054000 */ mfc1 $a1, $f8 -/* 0CBA54 7F096F24 44064000 */ mfc1 $a2, $f8 -/* 0CBA58 7F096F28 44074000 */ mfc1 $a3, $f8 -/* 0CBA5C 7F096F2C 0C005BA4 */ jal guScaleF -/* 0CBA60 7F096F30 00000000 */ nop -/* 0CBA64 7F096F34 3C058008 */ lui $a1, %hi(dword_CODE_bss_80079E98) -/* 0CBA68 7F096F38 24A59E98 */ addiu $a1, %lo(dword_CODE_bss_80079E98) # addiu $a1, $a1, -0x6168 -/* 0CBA6C 7F096F3C 27A401E4 */ addiu $a0, $sp, 0x1e4 -/* 0CBA70 7F096F40 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0CBA74 7F096F44 27A601A4 */ addiu $a2, $sp, 0x1a4 -/* 0CBA78 7F096F48 1A200036 */ blez $s1, .L7F097024 -/* 0CBA7C 7F096F4C AFA00088 */ sw $zero, 0x88($sp) -/* 0CBA80 7F096F50 27A404B4 */ addiu $a0, $sp, 0x4b4 -/* 0CBA84 7F096F54 AFA40058 */ sw $a0, 0x58($sp) -/* 0CBA88 7F096F58 27B0008C */ addiu $s0, $sp, 0x8c -.L7F096F5C: -/* 0CBA8C 7F096F5C 3C018005 */ lui $at, %hi(D_800575D0) -/* 0CBA90 7F096F60 C42075D0 */ lwc1 $f0, %lo(D_800575D0)($at) -/* 0CBA94 7F096F64 8FA40058 */ lw $a0, 0x58($sp) -/* 0CBA98 7F096F68 27A501A4 */ addiu $a1, $sp, 0x1a4 -/* 0CBA9C 7F096F6C 44070000 */ mfc1 $a3, $f0 -/* 0CBAA0 7F096F70 24060082 */ li $a2, 130 -/* 0CBAA4 7F096F74 AFB00014 */ sw $s0, 0x14($sp) -/* 0CBAA8 7F096F78 0FC25CE2 */ jal sub_GAME_7F097388 -/* 0CBAAC 7F096F7C E7A00010 */ swc1 $f0, 0x10($sp) -/* 0CBAB0 7F096F80 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBAB4 7F096F84 00000000 */ nop -/* 0CBAB8 7F096F88 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBABC 7F096F8C 46000506 */ mov.s $f20, $f0 -/* 0CBAC0 7F096F90 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CBAC4 7F096F94 46000586 */ mov.s $f22, $f0 -/* 0CBAC8 7F096F98 46160280 */ add.s $f10, $f0, $f22 -/* 0CBACC 7F096F9C 461AA382 */ mul.s $f14, $f20, $f26 -/* 0CBAD0 7F096FA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CBAD4 7F096FA4 44812000 */ mtc1 $at, $f4 -/* 0CBAD8 7F096FA8 461A5182 */ mul.s $f6, $f10, $f26 -/* 0CBADC 7F096FAC C60C0028 */ lwc1 $f12, 0x28($s0) -/* 0CBAE0 7F096FB0 46043201 */ sub.s $f8, $f6, $f4 -/* 0CBAE4 7F096FB4 44064000 */ mfc1 $a2, $f8 -/* 0CBAE8 7F096FB8 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CBAEC 7F096FBC 00000000 */ nop -/* 0CBAF0 7F096FC0 0FC1E135 */ jal getPlayer_c_screentop -/* 0CBAF4 7F096FC4 E6000028 */ swc1 $f0, 0x28($s0) -/* 0CBAF8 7F096FC8 0FC1E135 */ jal getPlayer_c_screentop -/* 0CBAFC 7F096FCC 46000506 */ mov.s $f20, $f0 -/* 0CBB00 7F096FD0 0FC1E12D */ jal getPlayer_c_screenheight -/* 0CBB04 7F096FD4 46000586 */ mov.s $f22, $f0 -/* 0CBB08 7F096FD8 46160280 */ add.s $f10, $f0, $f22 -/* 0CBB0C 7F096FDC 461AA382 */ mul.s $f14, $f20, $f26 -/* 0CBB10 7F096FE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CBB14 7F096FE4 44812000 */ mtc1 $at, $f4 -/* 0CBB18 7F096FE8 461A5182 */ mul.s $f6, $f10, $f26 -/* 0CBB1C 7F096FEC C60C002C */ lwc1 $f12, 0x2c($s0) -/* 0CBB20 7F096FF0 46043201 */ sub.s $f8, $f6, $f4 -/* 0CBB24 7F096FF4 44064000 */ mfc1 $a2, $f8 -/* 0CBB28 7F096FF8 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CBB2C 7F096FFC 00000000 */ nop -/* 0CBB30 7F097000 8FA20088 */ lw $v0, 0x88($sp) -/* 0CBB34 7F097004 E600002C */ swc1 $f0, 0x2c($s0) -/* 0CBB38 7F097008 8FAB0058 */ lw $t3, 0x58($sp) -/* 0CBB3C 7F09700C 24420001 */ addiu $v0, $v0, 1 -/* 0CBB40 7F097010 AFA20088 */ sw $v0, 0x88($sp) -/* 0CBB44 7F097014 256E0018 */ addiu $t6, $t3, 0x18 -/* 0CBB48 7F097018 AFAE0058 */ sw $t6, 0x58($sp) -/* 0CBB4C 7F09701C 1451FFCF */ bne $v0, $s1, .L7F096F5C -/* 0CBB50 7F097020 26100038 */ addiu $s0, $s0, 0x38 -.L7F097024: -/* 0CBB54 7F097024 24010004 */ li $at, 4 -/* 0CBB58 7F097028 16210099 */ bne $s1, $at, .L7F097290 -/* 0CBB5C 7F09702C 8FAA005C */ lw $t2, 0x5c($sp) -/* 0CBB60 7F097030 2401000C */ li $at, 12 -/* 0CBB64 7F097034 1541007E */ bne $t2, $at, .L7F097230 -/* 0CBB68 7F097038 27B0008C */ addiu $s0, $sp, 0x8c -/* 0CBB6C 7F09703C C7AA0548 */ lwc1 $f10, 0x548($sp) -/* 0CBB70 7F097040 C7A6054C */ lwc1 $f6, 0x54c($sp) -/* 0CBB74 7F097044 C7A800F0 */ lwc1 $f8, 0xf0($sp) -/* 0CBB78 7F097048 4606503C */ c.lt.s $f10, $f6 -/* 0CBB7C 7F09704C C7AA00B8 */ lwc1 $f10, 0xb8($sp) -/* 0CBB80 7F097050 4502003D */ bc1fl .L7F097148 -/* 0CBB84 7F097054 461A5180 */ add.s $f6, $f10, $f26 -/* 0CBB88 7F097058 461A4280 */ add.s $f10, $f8, $f26 -/* 0CBB8C 7F09705C C7A40160 */ lwc1 $f4, 0x160($sp) -/* 0CBB90 7F097060 27A5008C */ addiu $a1, $sp, 0x8c -/* 0CBB94 7F097064 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CBB98 7F097068 4604503E */ c.le.s $f10, $f4 -/* 0CBB9C 7F09706C 27A600C4 */ addiu $a2, $sp, 0xc4 -/* 0CBBA0 7F097070 27A700FC */ addiu $a3, $sp, 0xfc -/* 0CBBA4 7F097074 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBBA8 7F097078 4500002C */ bc1f .L7F09712C -/* 0CBBAC 7F09707C 24180001 */ li $t8, 1 -/* 0CBBB0 7F097080 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBBB4 7F097084 00000000 */ nop -/* 0CBBB8 7F097088 461A0182 */ mul.s $f6, $f0, $f26 -/* 0CBBBC 7F09708C 0FC1E135 */ jal getPlayer_c_screentop -/* 0CBBC0 7F097090 E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 0CBBC4 7F097094 461A0202 */ mul.s $f8, $f0, $f26 -/* 0CBBC8 7F097098 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBBCC 7F09709C E7A800B8 */ swc1 $f8, 0xb8($sp) -/* 0CBBD0 7F0970A0 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CBBD4 7F0970A4 46000506 */ mov.s $f20, $f0 -/* 0CBBD8 7F0970A8 46140100 */ add.s $f4, $f0, $f20 -/* 0CBBDC 7F0970AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CBBE0 7F0970B0 44813000 */ mtc1 $at, $f6 -/* 0CBBE4 7F0970B4 461A2282 */ mul.s $f10, $f4, $f26 -/* 0CBBE8 7F0970B8 46065201 */ sub.s $f8, $f10, $f6 -/* 0CBBEC 7F0970BC 0FC1E135 */ jal getPlayer_c_screentop -/* 0CBBF0 7F0970C0 E7A800EC */ swc1 $f8, 0xec($sp) -/* 0CBBF4 7F0970C4 461A0102 */ mul.s $f4, $f0, $f26 -/* 0CBBF8 7F0970C8 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBBFC 7F0970CC E7A400F0 */ swc1 $f4, 0xf0($sp) -/* 0CBC00 7F0970D0 461A0282 */ mul.s $f10, $f0, $f26 -/* 0CBC04 7F0970D4 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBC08 7F0970D8 E7AA0124 */ swc1 $f10, 0x124($sp) -/* 0CBC0C 7F0970DC 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CBC10 7F0970E0 46000506 */ mov.s $f20, $f0 -/* 0CBC14 7F0970E4 46140180 */ add.s $f6, $f0, $f20 -/* 0CBC18 7F0970E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CBC1C 7F0970EC 44812000 */ mtc1 $at, $f4 -/* 0CBC20 7F0970F0 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBC24 7F0970F4 461A3202 */ mul.s $f8, $f6, $f26 -/* 0CBC28 7F0970F8 44813000 */ mtc1 $at, $f6 -/* 0CBC2C 7F0970FC 27B10134 */ addiu $s1, $sp, 0x134 -/* 0CBC30 7F097100 27A5008C */ addiu $a1, $sp, 0x8c -/* 0CBC34 7F097104 AFB10010 */ sw $s1, 0x10($sp) -/* 0CBC38 7F097108 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CBC3C 7F09710C 27A600C4 */ addiu $a2, $sp, 0xc4 -/* 0CBC40 7F097110 46044281 */ sub.s $f10, $f8, $f4 -/* 0CBC44 7F097114 27A700FC */ addiu $a3, $sp, 0xfc -/* 0CBC48 7F097118 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0CBC4C 7F09711C 0FC2628B */ jal sub_GAME_7F098A2C -/* 0CBC50 7F097120 E7AA015C */ swc1 $f10, 0x15c($sp) -/* 0CBC54 7F097124 1000008D */ b .L7F09735C -/* 0CBC58 7F097128 AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F09712C: -/* 0CBC5C 7F09712C 44814000 */ mtc1 $at, $f8 -/* 0CBC60 7F097130 AFB80014 */ sw $t8, 0x14($sp) -/* 0CBC64 7F097134 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CBC68 7F097138 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0CBC6C 7F09713C 10000087 */ b .L7F09735C -/* 0CBC70 7F097140 AFA206B0 */ sw $v0, 0x6b0($sp) -/* 0CBC74 7F097144 461A5180 */ add.s $f6, $f10, $f26 -.L7F097148: -/* 0CBC78 7F097148 C7A40128 */ lwc1 $f4, 0x128($sp) -/* 0CBC7C 7F09714C 27A6008C */ addiu $a2, $sp, 0x8c -/* 0CBC80 7F097150 27A70134 */ addiu $a3, $sp, 0x134 -/* 0CBC84 7F097154 4604303E */ c.le.s $f6, $f4 -/* 0CBC88 7F097158 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CBC8C 7F09715C 27A500C4 */ addiu $a1, $sp, 0xc4 -/* 0CBC90 7F097160 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBC94 7F097164 4500002C */ bc1f .L7F097218 -/* 0CBC98 7F097168 240C0001 */ li $t4, 1 -/* 0CBC9C 7F09716C 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBCA0 7F097170 00000000 */ nop -/* 0CBCA4 7F097174 461A0202 */ mul.s $f8, $f0, $f26 -/* 0CBCA8 7F097178 0FC1E135 */ jal getPlayer_c_screentop -/* 0CBCAC 7F09717C E7A800B4 */ swc1 $f8, 0xb4($sp) -/* 0CBCB0 7F097180 461A0282 */ mul.s $f10, $f0, $f26 -/* 0CBCB4 7F097184 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBCB8 7F097188 E7AA00B8 */ swc1 $f10, 0xb8($sp) -/* 0CBCBC 7F09718C 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CBCC0 7F097190 46000506 */ mov.s $f20, $f0 -/* 0CBCC4 7F097194 46140100 */ add.s $f4, $f0, $f20 -/* 0CBCC8 7F097198 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CBCCC 7F09719C 44814000 */ mtc1 $at, $f8 -/* 0CBCD0 7F0971A0 461A2182 */ mul.s $f6, $f4, $f26 -/* 0CBCD4 7F0971A4 46083281 */ sub.s $f10, $f6, $f8 -/* 0CBCD8 7F0971A8 0FC1E135 */ jal getPlayer_c_screentop -/* 0CBCDC 7F0971AC E7AA00EC */ swc1 $f10, 0xec($sp) -/* 0CBCE0 7F0971B0 461A0102 */ mul.s $f4, $f0, $f26 -/* 0CBCE4 7F0971B4 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBCE8 7F0971B8 E7A400F0 */ swc1 $f4, 0xf0($sp) -/* 0CBCEC 7F0971BC 461A0182 */ mul.s $f6, $f0, $f26 -/* 0CBCF0 7F0971C0 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CBCF4 7F0971C4 E7A60124 */ swc1 $f6, 0x124($sp) -/* 0CBCF8 7F0971C8 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CBCFC 7F0971CC 46000506 */ mov.s $f20, $f0 -/* 0CBD00 7F0971D0 46140200 */ add.s $f8, $f0, $f20 -/* 0CBD04 7F0971D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CBD08 7F0971D8 44812000 */ mtc1 $at, $f4 -/* 0CBD0C 7F0971DC 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBD10 7F0971E0 461A4282 */ mul.s $f10, $f8, $f26 -/* 0CBD14 7F0971E4 44814000 */ mtc1 $at, $f8 -/* 0CBD18 7F0971E8 27AF00FC */ addiu $t7, $sp, 0xfc -/* 0CBD1C 7F0971EC 27A6008C */ addiu $a2, $sp, 0x8c -/* 0CBD20 7F0971F0 27A70134 */ addiu $a3, $sp, 0x134 -/* 0CBD24 7F0971F4 AFAF0010 */ sw $t7, 0x10($sp) -/* 0CBD28 7F0971F8 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CBD2C 7F0971FC 46045181 */ sub.s $f6, $f10, $f4 -/* 0CBD30 7F097200 27A500C4 */ addiu $a1, $sp, 0xc4 -/* 0CBD34 7F097204 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0CBD38 7F097208 0FC2628B */ jal sub_GAME_7F098A2C -/* 0CBD3C 7F09720C E7A6015C */ swc1 $f6, 0x15c($sp) -/* 0CBD40 7F097210 10000052 */ b .L7F09735C -/* 0CBD44 7F097214 AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F097218: -/* 0CBD48 7F097218 44815000 */ mtc1 $at, $f10 -/* 0CBD4C 7F09721C AFAC0014 */ sw $t4, 0x14($sp) -/* 0CBD50 7F097220 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CBD54 7F097224 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0CBD58 7F097228 1000004C */ b .L7F09735C -/* 0CBD5C 7F09722C AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F097230: -/* 0CBD60 7F097230 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBD64 7F097234 44812000 */ mtc1 $at, $f4 -/* 0CBD68 7F097238 27B10134 */ addiu $s1, $sp, 0x134 -/* 0CBD6C 7F09723C 24190001 */ li $t9, 1 -/* 0CBD70 7F097240 AFB90014 */ sw $t9, 0x14($sp) -/* 0CBD74 7F097244 02203825 */ move $a3, $s1 -/* 0CBD78 7F097248 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CBD7C 7F09724C 02002825 */ move $a1, $s0 -/* 0CBD80 7F097250 27A600C4 */ addiu $a2, $sp, 0xc4 -/* 0CBD84 7F097254 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CBD88 7F097258 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0CBD8C 7F09725C 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBD90 7F097260 44813000 */ mtc1 $at, $f6 -/* 0CBD94 7F097264 240D0001 */ li $t5, 1 -/* 0CBD98 7F097268 AFA206B0 */ sw $v0, 0x6b0($sp) -/* 0CBD9C 7F09726C AFAD0014 */ sw $t5, 0x14($sp) -/* 0CBDA0 7F097270 00402025 */ move $a0, $v0 -/* 0CBDA4 7F097274 02202825 */ move $a1, $s1 -/* 0CBDA8 7F097278 27A600FC */ addiu $a2, $sp, 0xfc -/* 0CBDAC 7F09727C 02003825 */ move $a3, $s0 -/* 0CBDB0 7F097280 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CBDB4 7F097284 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0CBDB8 7F097288 10000034 */ b .L7F09735C -/* 0CBDBC 7F09728C AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F097290: -/* 0CBDC0 7F097290 24010005 */ li $at, 5 -/* 0CBDC4 7F097294 16210024 */ bne $s1, $at, .L7F097328 -/* 0CBDC8 7F097298 27B0008C */ addiu $s0, $sp, 0x8c -/* 0CBDCC 7F09729C 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBDD0 7F0972A0 44814000 */ mtc1 $at, $f8 -/* 0CBDD4 7F0972A4 240B0001 */ li $t3, 1 -/* 0CBDD8 7F0972A8 AFAB0014 */ sw $t3, 0x14($sp) -/* 0CBDDC 7F0972AC 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CBDE0 7F0972B0 02002825 */ move $a1, $s0 -/* 0CBDE4 7F0972B4 27A600C4 */ addiu $a2, $sp, 0xc4 -/* 0CBDE8 7F0972B8 27A700FC */ addiu $a3, $sp, 0xfc -/* 0CBDEC 7F0972BC 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CBDF0 7F0972C0 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0CBDF4 7F0972C4 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBDF8 7F0972C8 44815000 */ mtc1 $at, $f10 -/* 0CBDFC 7F0972CC 27B10134 */ addiu $s1, $sp, 0x134 -/* 0CBE00 7F0972D0 240E0001 */ li $t6, 1 -/* 0CBE04 7F0972D4 AFA206B0 */ sw $v0, 0x6b0($sp) -/* 0CBE08 7F0972D8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0CBE0C 7F0972DC 02203825 */ move $a3, $s1 -/* 0CBE10 7F0972E0 00402025 */ move $a0, $v0 -/* 0CBE14 7F0972E4 02002825 */ move $a1, $s0 -/* 0CBE18 7F0972E8 27A600FC */ addiu $a2, $sp, 0xfc -/* 0CBE1C 7F0972EC 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CBE20 7F0972F0 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0CBE24 7F0972F4 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBE28 7F0972F8 44812000 */ mtc1 $at, $f4 -/* 0CBE2C 7F0972FC 240A0001 */ li $t2, 1 -/* 0CBE30 7F097300 AFA206B0 */ sw $v0, 0x6b0($sp) -/* 0CBE34 7F097304 AFAA0014 */ sw $t2, 0x14($sp) -/* 0CBE38 7F097308 00402025 */ move $a0, $v0 -/* 0CBE3C 7F09730C 02002825 */ move $a1, $s0 -/* 0CBE40 7F097310 02203025 */ move $a2, $s1 -/* 0CBE44 7F097314 27A7016C */ addiu $a3, $sp, 0x16c -/* 0CBE48 7F097318 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CBE4C 7F09731C E7A40010 */ swc1 $f4, 0x10($sp) -/* 0CBE50 7F097320 1000000E */ b .L7F09735C -/* 0CBE54 7F097324 AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F097328: -/* 0CBE58 7F097328 24010003 */ li $at, 3 -/* 0CBE5C 7F09732C 1621000B */ bne $s1, $at, .L7F09735C -/* 0CBE60 7F097330 27A5008C */ addiu $a1, $sp, 0x8c -/* 0CBE64 7F097334 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0CBE68 7F097338 44813000 */ mtc1 $at, $f6 -/* 0CBE6C 7F09733C 24180001 */ li $t8, 1 -/* 0CBE70 7F097340 AFB80014 */ sw $t8, 0x14($sp) -/* 0CBE74 7F097344 8FA406B0 */ lw $a0, 0x6b0($sp) -/* 0CBE78 7F097348 27A600C4 */ addiu $a2, $sp, 0xc4 -/* 0CBE7C 7F09734C 27A700FC */ addiu $a3, $sp, 0xfc -/* 0CBE80 7F097350 0FC25E06 */ jal sub_GAME_7F097818 -/* 0CBE84 7F097354 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0CBE88 7F097358 AFA206B0 */ sw $v0, 0x6b0($sp) -.L7F09735C: -/* 0CBE8C 7F09735C 8FA206B0 */ lw $v0, 0x6b0($sp) -.L7F097360: -/* 0CBE90 7F097360 8FBF004C */ lw $ra, 0x4c($sp) -/* 0CBE94 7F097364 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0CBE98 7F097368 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0CBE9C 7F09736C D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0CBEA0 7F097370 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0CBEA4 7F097374 D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0CBEA8 7F097378 8FB00044 */ lw $s0, 0x44($sp) -/* 0CBEAC 7F09737C 8FB10048 */ lw $s1, 0x48($sp) -/* 0CBEB0 7F097380 03E00008 */ jr $ra -/* 0CBEB4 7F097384 27BD06B0 */ addiu $sp, $sp, 0x6b0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F097388(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F097388 -/* 0CBEB8 7F097388 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0CBEBC 7F09738C 30CEFFFF */ andi $t6, $a2, 0xffff -/* 0CBEC0 7F097390 448E2000 */ mtc1 $t6, $f4 -/* 0CBEC4 7F097394 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CBEC8 7F097398 44816000 */ mtc1 $at, $f12 -/* 0CBECC 7F09739C AFB00020 */ sw $s0, 0x20($sp) -/* 0CBED0 7F0973A0 44877000 */ mtc1 $a3, $f14 -/* 0CBED4 7F0973A4 00808025 */ move $s0, $a0 -/* 0CBED8 7F0973A8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0CBEDC 7F0973AC F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0CBEE0 7F0973B0 AFA60080 */ sw $a2, 0x80($sp) -/* 0CBEE4 7F0973B4 05C10005 */ bgez $t6, .L7F0973CC -/* 0CBEE8 7F0973B8 468021A0 */ cvt.s.w $f6, $f4 -/* 0CBEEC 7F0973BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0CBEF0 7F0973C0 44814000 */ mtc1 $at, $f8 -/* 0CBEF4 7F0973C4 00000000 */ nop -/* 0CBEF8 7F0973C8 46083180 */ add.s $f6, $f6, $f8 -.L7F0973CC: -/* 0CBEFC 7F0973CC C60A0000 */ lwc1 $f10, ($s0) -/* 0CBF00 7F0973D0 C4B20000 */ lwc1 $f18, ($a1) -/* 0CBF04 7F0973D4 460C3003 */ div.s $f0, $f6, $f12 -/* 0CBF08 7F0973D8 C4A60010 */ lwc1 $f6, 0x10($a1) -/* 0CBF0C 7F0973DC C6080004 */ lwc1 $f8, 4($s0) -/* 0CBF10 7F0973E0 44808000 */ mtc1 $zero, $f16 -/* 0CBF14 7F0973E4 46125102 */ mul.s $f4, $f10, $f18 -/* 0CBF18 7F0973E8 00000000 */ nop -/* 0CBF1C 7F0973EC 46064282 */ mul.s $f10, $f8, $f6 -/* 0CBF20 7F0973F0 C4A60020 */ lwc1 $f6, 0x20($a1) -/* 0CBF24 7F0973F4 C6080008 */ lwc1 $f8, 8($s0) -/* 0CBF28 7F0973F8 460A2480 */ add.s $f18, $f4, $f10 -/* 0CBF2C 7F0973FC 46064102 */ mul.s $f4, $f8, $f6 -/* 0CBF30 7F097400 C4A80030 */ lwc1 $f8, 0x30($a1) -/* 0CBF34 7F097404 46000086 */ mov.s $f2, $f0 -/* 0CBF38 7F097408 46049280 */ add.s $f10, $f18, $f4 -/* 0CBF3C 7F09740C 460A4180 */ add.s $f6, $f8, $f10 -/* 0CBF40 7F097410 E7A60068 */ swc1 $f6, 0x68($sp) -/* 0CBF44 7F097414 C6120000 */ lwc1 $f18, ($s0) -/* 0CBF48 7F097418 C4A40004 */ lwc1 $f4, 4($a1) -/* 0CBF4C 7F09741C C60A0004 */ lwc1 $f10, 4($s0) -/* 0CBF50 7F097420 C4A60014 */ lwc1 $f6, 0x14($a1) -/* 0CBF54 7F097424 46049202 */ mul.s $f8, $f18, $f4 -/* 0CBF58 7F097428 00000000 */ nop -/* 0CBF5C 7F09742C 46065482 */ mul.s $f18, $f10, $f6 -/* 0CBF60 7F097430 C4A60024 */ lwc1 $f6, 0x24($a1) -/* 0CBF64 7F097434 C60A0008 */ lwc1 $f10, 8($s0) -/* 0CBF68 7F097438 46124100 */ add.s $f4, $f8, $f18 -/* 0CBF6C 7F09743C 46065202 */ mul.s $f8, $f10, $f6 -/* 0CBF70 7F097440 C4AA0034 */ lwc1 $f10, 0x34($a1) -/* 0CBF74 7F097444 46082480 */ add.s $f18, $f4, $f8 -/* 0CBF78 7F097448 46125180 */ add.s $f6, $f10, $f18 -/* 0CBF7C 7F09744C E7A6006C */ swc1 $f6, 0x6c($sp) -/* 0CBF80 7F097450 C6040000 */ lwc1 $f4, ($s0) -/* 0CBF84 7F097454 C4A80008 */ lwc1 $f8, 8($a1) -/* 0CBF88 7F097458 C6120004 */ lwc1 $f18, 4($s0) -/* 0CBF8C 7F09745C C4A60018 */ lwc1 $f6, 0x18($a1) -/* 0CBF90 7F097460 46082282 */ mul.s $f10, $f4, $f8 -/* 0CBF94 7F097464 00000000 */ nop -/* 0CBF98 7F097468 46069102 */ mul.s $f4, $f18, $f6 -/* 0CBF9C 7F09746C C4A60028 */ lwc1 $f6, 0x28($a1) -/* 0CBFA0 7F097470 C6120008 */ lwc1 $f18, 8($s0) -/* 0CBFA4 7F097474 46045200 */ add.s $f8, $f10, $f4 -/* 0CBFA8 7F097478 46069282 */ mul.s $f10, $f18, $f6 -/* 0CBFAC 7F09747C C4B20038 */ lwc1 $f18, 0x38($a1) -/* 0CBFB0 7F097480 460A4100 */ add.s $f4, $f8, $f10 -/* 0CBFB4 7F097484 46049180 */ add.s $f6, $f18, $f4 -/* 0CBFB8 7F097488 E7A60070 */ swc1 $f6, 0x70($sp) -/* 0CBFBC 7F09748C C4AA000C */ lwc1 $f10, 0xc($a1) -/* 0CBFC0 7F097490 C6080000 */ lwc1 $f8, ($s0) -/* 0CBFC4 7F097494 C4A6001C */ lwc1 $f6, 0x1c($a1) -/* 0CBFC8 7F097498 C6040004 */ lwc1 $f4, 4($s0) -/* 0CBFCC 7F09749C 460A4482 */ mul.s $f18, $f8, $f10 -/* 0CBFD0 7F0974A0 00000000 */ nop -/* 0CBFD4 7F0974A4 46062202 */ mul.s $f8, $f4, $f6 -/* 0CBFD8 7F0974A8 C4A6002C */ lwc1 $f6, 0x2c($a1) -/* 0CBFDC 7F0974AC C6040008 */ lwc1 $f4, 8($s0) -/* 0CBFE0 7F0974B0 46089280 */ add.s $f10, $f18, $f8 -/* 0CBFE4 7F0974B4 46062482 */ mul.s $f18, $f4, $f6 -/* 0CBFE8 7F0974B8 C4A4003C */ lwc1 $f4, 0x3c($a1) -/* 0CBFEC 7F0974BC 46125200 */ add.s $f8, $f10, $f18 -/* 0CBFF0 7F0974C0 460C7483 */ div.s $f18, $f14, $f12 -/* 0CBFF4 7F0974C4 46082180 */ add.s $f6, $f4, $f8 -/* 0CBFF8 7F0974C8 E7A60074 */ swc1 $f6, 0x74($sp) -/* 0CBFFC 7F0974CC C60A000C */ lwc1 $f10, 0xc($s0) -/* 0CC000 7F0974D0 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 0CC004 7F0974D4 46125102 */ mul.s $f4, $f10, $f18 -/* 0CC008 7F0974D8 460C3283 */ div.s $f10, $f6, $f12 -/* 0CC00C 7F0974DC E7A40060 */ swc1 $f4, 0x60($sp) -/* 0CC010 7F0974E0 C6080010 */ lwc1 $f8, 0x10($s0) -/* 0CC014 7F0974E4 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 0CC018 7F0974E8 46048032 */ c.eq.s $f16, $f4 -/* 0CC01C 7F0974EC 460A4482 */ mul.s $f18, $f8, $f10 -/* 0CC020 7F0974F0 E7B20064 */ swc1 $f18, 0x64($sp) -/* 0CC024 7F0974F4 45000004 */ bc1f .L7F097508 -/* 0CC028 7F0974F8 C7B20068 */ lwc1 $f18, 0x68($sp) -/* 0CC02C 7F0974FC 3C018005 */ lui $at, %hi(D_800575D4) -/* 0CC030 7F097500 10000006 */ b .L7F09751C -/* 0CC034 7F097504 C43475D4 */ lwc1 $f20, %lo(D_800575D4)($at) -.L7F097508: -/* 0CC038 7F097508 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0CC03C 7F09750C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CC040 7F097510 44813000 */ mtc1 $at, $f6 -/* 0CC044 7F097514 46004282 */ mul.s $f10, $f8, $f0 -/* 0CC048 7F097518 460A3503 */ div.s $f20, $f6, $f10 -.L7F09751C: -/* 0CC04C 7F09751C 4610A03C */ c.lt.s $f20, $f16 -/* 0CC050 7F097520 4600A006 */ mov.s $f0, $f20 -/* 0CC054 7F097524 45000002 */ bc1f .L7F097530 -/* 0CC058 7F097528 3C018005 */ lui $at, %hi(D_800575D8) -/* 0CC05C 7F09752C C42075D8 */ lwc1 $f0, %lo(D_800575D8)($at) -.L7F097530: -/* 0CC060 7F097530 46009102 */ mul.s $f4, $f18, $f0 -/* 0CC064 7F097534 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0CC068 7F097538 46022202 */ mul.s $f8, $f4, $f2 -/* 0CC06C 7F09753C C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0CC070 7F097540 46003282 */ mul.s $f10, $f6, $f0 -/* 0CC074 7F097544 E7A80048 */ swc1 $f8, 0x48($sp) -/* 0CC078 7F097548 46025482 */ mul.s $f18, $f10, $f2 -/* 0CC07C 7F09754C C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 0CC080 7F097550 46002202 */ mul.s $f8, $f4, $f0 -/* 0CC084 7F097554 E7B2004C */ swc1 $f18, 0x4c($sp) -/* 0CC088 7F097558 46024182 */ mul.s $f6, $f8, $f2 -/* 0CC08C 7F09755C 00000000 */ nop -/* 0CC090 7F097560 46005482 */ mul.s $f18, $f10, $f0 -/* 0CC094 7F097564 E7A60050 */ swc1 $f6, 0x50($sp) -/* 0CC098 7F097568 46029102 */ mul.s $f4, $f18, $f2 -/* 0CC09C 7F09756C 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CC0A0 7F097570 E7A40054 */ swc1 $f4, 0x54($sp) -/* 0CC0A4 7F097574 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CC0A8 7F097578 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 0CC0AC 7F09757C 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CC0B0 7F097580 E7A00030 */ swc1 $f0, 0x30($sp) -/* 0CC0B4 7F097584 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0CC0B8 7F097588 44811000 */ mtc1 $at, $f2 -/* 0CC0BC 7F09758C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0CC0C0 7F097590 44814000 */ mtc1 $at, $f8 -/* 0CC0C4 7F097594 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0CC0C8 7F097598 46080182 */ mul.s $f6, $f0, $f8 -/* 0CC0CC 7F09759C C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0CC0D0 7F0975A0 46025482 */ mul.s $f18, $f10, $f2 -/* 0CC0D4 7F0975A4 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 0CC0D8 7F0975A8 46123100 */ add.s $f4, $f6, $f18 -/* 0CC0DC 7F0975AC 46025182 */ mul.s $f6, $f10, $f2 -/* 0CC0E0 7F0975B0 00000000 */ nop -/* 0CC0E4 7F0975B4 46064482 */ mul.s $f18, $f8, $f6 -/* 0CC0E8 7F0975B8 46122280 */ add.s $f10, $f4, $f18 -/* 0CC0EC 7F0975BC 0FC1E12D */ jal getPlayer_c_screenheight -/* 0CC0F0 7F0975C0 E7AA0038 */ swc1 $f10, 0x38($sp) -/* 0CC0F4 7F0975C4 0FC1E12D */ jal getPlayer_c_screenheight -/* 0CC0F8 7F0975C8 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 0CC0FC 7F0975CC 0FC1E135 */ jal getPlayer_c_screentop -/* 0CC100 7F0975D0 E7A00030 */ swc1 $f0, 0x30($sp) -/* 0CC104 7F0975D4 3C018005 */ lui $at, %hi(D_800575DC) -/* 0CC108 7F0975D8 C42275DC */ lwc1 $f2, %lo(D_800575DC)($at) -/* 0CC10C 7F0975DC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0CC110 7F0975E0 44818000 */ mtc1 $at, $f16 -/* 0CC114 7F0975E4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0CC118 7F0975E8 44814000 */ mtc1 $at, $f8 -/* 0CC11C 7F0975EC C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0CC120 7F0975F0 3C018005 */ lui $at, %hi(D_800575E0) -/* 0CC124 7F0975F4 46080182 */ mul.s $f6, $f0, $f8 -/* 0CC128 7F0975F8 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 0CC12C 7F0975FC 3C06457F */ lui $a2, (0x457FA000 >> 16) # lui $a2, 0x457f -/* 0CC130 7F097600 46102482 */ mul.s $f18, $f4, $f16 -/* 0CC134 7F097604 46004107 */ neg.s $f4, $f8 -/* 0CC138 7F097608 34C6A000 */ ori $a2, (0x457FA000 & 0xFFFF) # ori $a2, $a2, 0xa000 -/* 0CC13C 7F09760C C42E75E0 */ lwc1 $f14, %lo(D_800575E0)($at) -/* 0CC140 7F097610 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 0CC144 7F097614 46123280 */ add.s $f10, $f6, $f18 -/* 0CC148 7F097618 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 0CC14C 7F09761C 46103482 */ mul.s $f18, $f6, $f16 -/* 0CC150 7F097620 00000000 */ nop -/* 0CC154 7F097624 46122202 */ mul.s $f8, $f4, $f18 -/* 0CC158 7F097628 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 0CC15C 7F09762C 46022482 */ mul.s $f18, $f4, $f2 -/* 0CC160 7F097630 46085180 */ add.s $f6, $f10, $f8 -/* 0CC164 7F097634 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 0CC168 7F097638 46029280 */ add.s $f10, $f18, $f2 -/* 0CC16C 7F09763C E7A6003C */ swc1 $f6, 0x3c($sp) -/* 0CC170 7F097640 44803000 */ mtc1 $zero, $f6 -/* 0CC174 7F097644 E7AA0040 */ swc1 $f10, 0x40($sp) -/* 0CC178 7F097648 46064102 */ mul.s $f4, $f8, $f6 -/* 0CC17C 7F09764C 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CC180 7F097650 E7A40044 */ swc1 $f4, 0x44($sp) -/* 0CC184 7F097654 3C018005 */ lui $at, %hi(D_800575E4) -/* 0CC188 7F097658 3C06457F */ lui $a2, (0x457FA000 >> 16) # lui $a2, 0x457f -/* 0CC18C 7F09765C E7A00038 */ swc1 $f0, 0x38($sp) -/* 0CC190 7F097660 34C6A000 */ ori $a2, (0x457FA000 & 0xFFFF) # ori $a2, $a2, 0xa000 -/* 0CC194 7F097664 C42E75E4 */ lwc1 $f14, %lo(D_800575E4)($at) -/* 0CC198 7F097668 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CC19C 7F09766C C7AC003C */ lwc1 $f12, 0x3c($sp) -/* 0CC1A0 7F097670 44807000 */ mtc1 $zero, $f14 -/* 0CC1A4 7F097674 3C0646FF */ lui $a2, (0x46FFFE00 >> 16) # lui $a2, 0x46ff -/* 0CC1A8 7F097678 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 0CC1AC 7F09767C 34C6FE00 */ ori $a2, (0x46FFFE00 & 0xFFFF) # ori $a2, $a2, 0xfe00 -/* 0CC1B0 7F097680 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CC1B4 7F097684 C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 0CC1B8 7F097688 44807000 */ mtc1 $zero, $f14 -/* 0CC1BC 7F09768C 3C0646FF */ lui $a2, (0x46FFFE00 >> 16) # lui $a2, 0x46ff -/* 0CC1C0 7F097690 E7A00040 */ swc1 $f0, 0x40($sp) -/* 0CC1C4 7F097694 34C6FE00 */ ori $a2, (0x46FFFE00 & 0xFFFF) # ori $a2, $a2, 0xfe00 -/* 0CC1C8 7F097698 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CC1CC 7F09769C C7AC0044 */ lwc1 $f12, 0x44($sp) -/* 0CC1D0 7F0976A0 8FA3008C */ lw $v1, 0x8c($sp) -/* 0CC1D4 7F0976A4 C7B20068 */ lwc1 $f18, 0x68($sp) -/* 0CC1D8 7F0976A8 E7A00044 */ swc1 $f0, 0x44($sp) -/* 0CC1DC 7F0976AC E4720000 */ swc1 $f18, ($v1) -/* 0CC1E0 7F0976B0 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0CC1E4 7F0976B4 E46A0004 */ swc1 $f10, 4($v1) -/* 0CC1E8 7F0976B8 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 0CC1EC 7F0976BC E4680008 */ swc1 $f8, 8($v1) -/* 0CC1F0 7F0976C0 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 0CC1F4 7F0976C4 E466000C */ swc1 $f6, 0xc($v1) -/* 0CC1F8 7F0976C8 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 0CC1FC 7F0976CC E4640020 */ swc1 $f4, 0x20($v1) -/* 0CC200 7F0976D0 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 0CC204 7F0976D4 E4720024 */ swc1 $f18, 0x24($v1) -/* 0CC208 7F0976D8 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 0CC20C 7F0976DC 0FC2E9CB */ jal get_ptr_currentdata -/* 0CC210 7F0976E0 E46A0028 */ swc1 $f10, 0x28($v1) -/* 0CC214 7F0976E4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0CC218 7F0976E8 44813000 */ mtc1 $at, $f6 -/* 0CC21C 7F0976EC C4480038 */ lwc1 $f8, 0x38($v0) -/* 0CC220 7F0976F0 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 0CC224 7F0976F4 8FA3008C */ lw $v1, 0x8c($sp) -/* 0CC228 7F0976F8 46064102 */ mul.s $f4, $f8, $f6 -/* 0CC22C 7F0976FC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0CC230 7F097700 46049281 */ sub.s $f10, $f18, $f4 -/* 0CC234 7F097704 E46A002C */ swc1 $f10, 0x2c($v1) -/* 0CC238 7F097708 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 0CC23C 7F09770C E4740034 */ swc1 $f20, 0x34($v1) -/* 0CC240 7F097710 E4680030 */ swc1 $f8, 0x30($v1) -/* 0CC244 7F097714 920F0014 */ lbu $t7, 0x14($s0) -/* 0CC248 7F097718 448F3000 */ mtc1 $t7, $f6 -/* 0CC24C 7F09771C 05E10004 */ bgez $t7, .L7F097730 -/* 0CC250 7F097720 468034A0 */ cvt.s.w $f18, $f6 -/* 0CC254 7F097724 44812000 */ mtc1 $at, $f4 -/* 0CC258 7F097728 00000000 */ nop -/* 0CC25C 7F09772C 46049480 */ add.s $f18, $f18, $f4 -.L7F097730: -/* 0CC260 7F097730 E4720010 */ swc1 $f18, 0x10($v1) -/* 0CC264 7F097734 92180015 */ lbu $t8, 0x15($s0) -/* 0CC268 7F097738 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0CC26C 7F09773C 44985000 */ mtc1 $t8, $f10 -/* 0CC270 7F097740 07010004 */ bgez $t8, .L7F097754 -/* 0CC274 7F097744 46805220 */ cvt.s.w $f8, $f10 -/* 0CC278 7F097748 44813000 */ mtc1 $at, $f6 -/* 0CC27C 7F09774C 00000000 */ nop -/* 0CC280 7F097750 46064200 */ add.s $f8, $f8, $f6 -.L7F097754: -/* 0CC284 7F097754 E4680014 */ swc1 $f8, 0x14($v1) -/* 0CC288 7F097758 92190016 */ lbu $t9, 0x16($s0) -/* 0CC28C 7F09775C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0CC290 7F097760 44992000 */ mtc1 $t9, $f4 -/* 0CC294 7F097764 07210004 */ bgez $t9, .L7F097778 -/* 0CC298 7F097768 468024A0 */ cvt.s.w $f18, $f4 -/* 0CC29C 7F09776C 44815000 */ mtc1 $at, $f10 -/* 0CC2A0 7F097770 00000000 */ nop -/* 0CC2A4 7F097774 460A9480 */ add.s $f18, $f18, $f10 -.L7F097778: -/* 0CC2A8 7F097778 E4720018 */ swc1 $f18, 0x18($v1) -/* 0CC2AC 7F09777C 92080017 */ lbu $t0, 0x17($s0) -/* 0CC2B0 7F097780 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0CC2B4 7F097784 44883000 */ mtc1 $t0, $f6 -/* 0CC2B8 7F097788 05010004 */ bgez $t0, .L7F09779C -/* 0CC2BC 7F09778C 46803220 */ cvt.s.w $f8, $f6 -/* 0CC2C0 7F097790 44812000 */ mtc1 $at, $f4 -/* 0CC2C4 7F097794 00000000 */ nop -/* 0CC2C8 7F097798 46044200 */ add.s $f8, $f8, $f4 -.L7F09779C: -/* 0CC2CC 7F09779C E468001C */ swc1 $f8, 0x1c($v1) -/* 0CC2D0 7F0977A0 8FBF0024 */ lw $ra, 0x24($sp) -/* 0CC2D4 7F0977A4 8FB00020 */ lw $s0, 0x20($sp) -/* 0CC2D8 7F0977A8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0CC2DC 7F0977AC 03E00008 */ jr $ra -/* 0CC2E0 7F0977B0 27BD0078 */ addiu $sp, $sp, 0x78 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0977B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0977B4 -/* 0CC2E4 7F0977B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0CC2E8 7F0977B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0CC2EC 7F0977BC C4A60028 */ lwc1 $f6, 0x28($a1) -/* 0CC2F0 7F0977C0 C4840028 */ lwc1 $f4, 0x28($a0) -/* 0CC2F4 7F0977C4 C4AA002C */ lwc1 $f10, 0x2c($a1) -/* 0CC2F8 7F0977C8 C488002C */ lwc1 $f8, 0x2c($a0) -/* 0CC2FC 7F0977CC 46062001 */ sub.s $f0, $f4, $f6 -/* 0CC300 7F0977D0 460A4081 */ sub.s $f2, $f8, $f10 -/* 0CC304 7F0977D4 46000402 */ mul.s $f16, $f0, $f0 -/* 0CC308 7F0977D8 00000000 */ nop -/* 0CC30C 7F0977DC 46021482 */ mul.s $f18, $f2, $f2 -/* 0CC310 7F0977E0 0C007DF8 */ jal sqrtf -/* 0CC314 7F0977E4 46128300 */ add.s $f12, $f16, $f18 -/* 0CC318 7F0977E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CC31C 7F0977EC 44812000 */ mtc1 $at, $f4 -/* 0CC320 7F0977F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0CC324 7F0977F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0CC328 7F0977F8 4604003C */ c.lt.s $f0, $f4 -/* 0CC32C 7F0977FC 00001825 */ move $v1, $zero -/* 0CC330 7F097800 45000003 */ bc1f .L7F097810 -/* 0CC334 7F097804 00000000 */ nop -/* 0CC338 7F097808 10000001 */ b .L7F097810 -/* 0CC33C 7F09780C 24030001 */ li $v1, 1 -.L7F097810: -/* 0CC340 7F097810 03E00008 */ jr $ra -/* 0CC344 7F097814 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F097818(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800575E8 -.word 0xc4eac000 /*-1878.0*/ -glabel D_800575EC -.word 0xc4eac000 /*-1878.0*/ -glabel D_800575F0 -.word 0xc4eac000 /*-1878.0*/ -glabel D_800575F4 -.word 0x46fffe00 /*32767.0*/ -.text -glabel sub_GAME_7F097818 -/* 0CC348 7F097818 27BDFB78 */ addiu $sp, $sp, -0x488 -/* 0CC34C 7F09781C AFB00020 */ sw $s0, 0x20($sp) -/* 0CC350 7F097820 00808025 */ move $s0, $a0 -/* 0CC354 7F097824 AFBF0024 */ sw $ra, 0x24($sp) -/* 0CC358 7F097828 AFA5048C */ sw $a1, 0x48c($sp) -/* 0CC35C 7F09782C 00A02025 */ move $a0, $a1 -/* 0CC360 7F097830 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0CC364 7F097834 00C02825 */ move $a1, $a2 -/* 0CC368 7F097838 AFA60490 */ sw $a2, 0x490($sp) -/* 0CC36C 7F09783C 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CC370 7F097840 AFA70494 */ sw $a3, 0x494($sp) -/* 0CC374 7F097844 8FA60490 */ lw $a2, 0x490($sp) -/* 0CC378 7F097848 14400013 */ bnez $v0, .L7F097898 -/* 0CC37C 7F09784C 8FA70494 */ lw $a3, 0x494($sp) -/* 0CC380 7F097850 00C02025 */ move $a0, $a2 -/* 0CC384 7F097854 00E02825 */ move $a1, $a3 -/* 0CC388 7F097858 AFA60490 */ sw $a2, 0x490($sp) -/* 0CC38C 7F09785C 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CC390 7F097860 AFA70494 */ sw $a3, 0x494($sp) -/* 0CC394 7F097864 8FAF048C */ lw $t7, 0x48c($sp) -/* 0CC398 7F097868 8FA60490 */ lw $a2, 0x490($sp) -/* 0CC39C 7F09786C 1440000A */ bnez $v0, .L7F097898 -/* 0CC3A0 7F097870 8FA70494 */ lw $a3, 0x494($sp) -/* 0CC3A4 7F097874 00E02025 */ move $a0, $a3 -/* 0CC3A8 7F097878 01E02825 */ move $a1, $t7 -/* 0CC3AC 7F09787C AFA60490 */ sw $a2, 0x490($sp) -/* 0CC3B0 7F097880 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CC3B4 7F097884 AFA70494 */ sw $a3, 0x494($sp) -/* 0CC3B8 7F097888 8FA3048C */ lw $v1, 0x48c($sp) -/* 0CC3BC 7F09788C 8FA60490 */ lw $a2, 0x490($sp) -/* 0CC3C0 7F097890 10400003 */ beqz $v0, .L7F0978A0 -/* 0CC3C4 7F097894 8FA70494 */ lw $a3, 0x494($sp) -.L7F097898: -/* 0CC3C8 7F097898 1000045F */ b .L7F098A18 -/* 0CC3CC 7F09789C 02001025 */ move $v0, $s0 -.L7F0978A0: -/* 0CC3D0 7F0978A0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CC3D4 7F0978A4 44812000 */ mtc1 $at, $f4 -/* 0CC3D8 7F0978A8 C7A80498 */ lwc1 $f8, 0x498($sp) -/* 0CC3DC 7F0978AC 4480A000 */ mtc1 $zero, $f20 -/* 0CC3E0 7F0978B0 46044183 */ div.s $f6, $f8, $f4 -/* 0CC3E4 7F0978B4 E7A60378 */ swc1 $f6, 0x378($sp) -/* 0CC3E8 7F0978B8 C4C8002C */ lwc1 $f8, 0x2c($a2) -/* 0CC3EC 7F0978BC C4CA0028 */ lwc1 $f10, 0x28($a2) -/* 0CC3F0 7F0978C0 C4600028 */ lwc1 $f0, 0x28($v1) -/* 0CC3F4 7F0978C4 E7A8005C */ swc1 $f8, 0x5c($sp) -/* 0CC3F8 7F0978C8 C4E60028 */ lwc1 $f6, 0x28($a3) -/* 0CC3FC 7F0978CC 46005301 */ sub.s $f12, $f10, $f0 -/* 0CC400 7F0978D0 C46E002C */ lwc1 $f14, 0x2c($v1) -/* 0CC404 7F0978D4 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 0CC408 7F0978D8 46003281 */ sub.s $f10, $f6, $f0 -/* 0CC40C 7F0978DC 460E2401 */ sub.s $f16, $f4, $f14 -/* 0CC410 7F0978E0 E7AA046C */ swc1 $f10, 0x46c($sp) -/* 0CC414 7F0978E4 C4E8002C */ lwc1 $f8, 0x2c($a3) -/* 0CC418 7F0978E8 C7A6046C */ lwc1 $f6, 0x46c($sp) -/* 0CC41C 7F0978EC E7A80054 */ swc1 $f8, 0x54($sp) -/* 0CC420 7F0978F0 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 0CC424 7F0978F4 46103282 */ mul.s $f10, $f6, $f16 -/* 0CC428 7F0978F8 44813000 */ mtc1 $at, $f6 -/* 0CC42C 7F0978FC 460E2481 */ sub.s $f18, $f4, $f14 -/* 0CC430 7F097900 46126202 */ mul.s $f8, $f12, $f18 -/* 0CC434 7F097904 46085101 */ sub.s $f4, $f10, $f8 -/* 0CC438 7F097908 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0CC43C 7F09790C 46062083 */ div.s $f2, $f4, $f6 -/* 0CC440 7F097910 4602A032 */ c.eq.s $f20, $f2 -/* 0CC444 7F097914 E7A20444 */ swc1 $f2, 0x444($sp) -/* 0CC448 7F097918 45020004 */ bc1fl .L7F09792C -/* 0CC44C 7F09791C 460E403C */ c.lt.s $f8, $f14 -/* 0CC450 7F097920 1000043D */ b .L7F098A18 -/* 0CC454 7F097924 02001025 */ move $v0, $s0 -/* 0CC458 7F097928 460E403C */ c.lt.s $f8, $f14 -.L7F09792C: -/* 0CC45C 7F09792C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CC460 7F097930 44815000 */ mtc1 $at, $f10 -/* 0CC464 7F097934 00604825 */ move $t1, $v1 -/* 0CC468 7F097938 00C04025 */ move $t0, $a2 -/* 0CC46C 7F09793C 00E05825 */ move $t3, $a3 -/* 0CC470 7F097940 45000009 */ bc1f .L7F097968 -/* 0CC474 7F097944 46025403 */ div.s $f16, $f10, $f2 -/* 0CC478 7F097948 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0CC47C 7F09794C 44816000 */ mtc1 $at, $f12 -/* 0CC480 7F097950 00604025 */ move $t0, $v1 -/* 0CC484 7F097954 00C04825 */ move $t1, $a2 -/* 0CC488 7F097958 460C1382 */ mul.s $f14, $f2, $f12 -/* 0CC48C 7F09795C E7AE0444 */ swc1 $f14, 0x444($sp) -/* 0CC490 7F097960 460C8402 */ mul.s $f16, $f16, $f12 -/* 0CC494 7F097964 00000000 */ nop -.L7F097968: -/* 0CC498 7F097968 C500002C */ lwc1 $f0, 0x2c($t0) -/* 0CC49C 7F09796C C7A40054 */ lwc1 $f4, 0x54($sp) -/* 0CC4A0 7F097970 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0CC4A4 7F097974 44816000 */ mtc1 $at, $f12 -/* 0CC4A8 7F097978 4600203C */ c.lt.s $f4, $f0 -/* 0CC4AC 7F09797C C7AE0444 */ lwc1 $f14, 0x444($sp) -/* 0CC4B0 7F097980 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CC4B4 7F097984 45020007 */ bc1fl .L7F0979A4 -/* 0CC4B8 7F097988 E7AE0444 */ swc1 $f14, 0x444($sp) -/* 0CC4BC 7F09798C 460C7382 */ mul.s $f14, $f14, $f12 -/* 0CC4C0 7F097990 01005825 */ move $t3, $t0 -/* 0CC4C4 7F097994 00E04025 */ move $t0, $a3 -/* 0CC4C8 7F097998 460C8402 */ mul.s $f16, $f16, $f12 -/* 0CC4CC 7F09799C C4E0002C */ lwc1 $f0, 0x2c($a3) -/* 0CC4D0 7F0979A0 E7AE0444 */ swc1 $f14, 0x444($sp) -.L7F0979A4: -/* 0CC4D4 7F0979A4 E7B00440 */ swc1 $f16, 0x440($sp) -/* 0CC4D8 7F0979A8 C526002C */ lwc1 $f6, 0x2c($t1) -/* 0CC4DC 7F0979AC 4606003C */ c.lt.s $f0, $f6 -/* 0CC4E0 7F0979B0 44810000 */ mtc1 $at, $f0 -/* 0CC4E4 7F0979B4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0CC4E8 7F0979B8 44811000 */ mtc1 $at, $f2 -/* 0CC4EC 7F0979BC 45000008 */ bc1f .L7F0979E0 -/* 0CC4F0 7F0979C0 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CC4F4 7F0979C4 460C7382 */ mul.s $f14, $f14, $f12 -/* 0CC4F8 7F0979C8 01001025 */ move $v0, $t0 -/* 0CC4FC 7F0979CC 01204025 */ move $t0, $t1 -/* 0CC500 7F0979D0 460C8402 */ mul.s $f16, $f16, $f12 -/* 0CC504 7F0979D4 00404825 */ move $t1, $v0 -/* 0CC508 7F0979D8 E7AE0444 */ swc1 $f14, 0x444($sp) -/* 0CC50C 7F0979DC E7B00440 */ swc1 $f16, 0x440($sp) -.L7F0979E0: -/* 0CC510 7F0979E0 C50A0028 */ lwc1 $f10, 0x28($t0) -/* 0CC514 7F0979E4 44814000 */ mtc1 $at, $f8 -/* 0CC518 7F0979E8 E7B40424 */ swc1 $f20, 0x424($sp) -/* 0CC51C 7F0979EC 3C0644EA */ lui $a2, (0x44EAA000 >> 16) # lui $a2, 0x44ea -/* 0CC520 7F0979F0 46085102 */ mul.s $f4, $f10, $f8 -/* 0CC524 7F0979F4 44815000 */ mtc1 $at, $f10 -/* 0CC528 7F0979F8 34C6A000 */ ori $a2, (0x44EAA000 & 0xFFFF) # ori $a2, $a2, 0xa000 -/* 0CC52C 7F0979FC E7A40420 */ swc1 $f4, 0x420($sp) -/* 0CC530 7F097A00 C5260028 */ lwc1 $f6, 0x28($t1) -/* 0CC534 7F097A04 E7B4042C */ swc1 $f20, 0x42c($sp) -/* 0CC538 7F097A08 460A3202 */ mul.s $f8, $f6, $f10 -/* 0CC53C 7F097A0C 44813000 */ mtc1 $at, $f6 -/* 0CC540 7F097A10 3C018005 */ lui $at, %hi(D_800575E8) -/* 0CC544 7F097A14 E7A80428 */ swc1 $f8, 0x428($sp) -/* 0CC548 7F097A18 C5240028 */ lwc1 $f4, 0x28($t1) -/* 0CC54C 7F097A1C E7B40434 */ swc1 $f20, 0x434($sp) -/* 0CC550 7F097A20 E7B4043C */ swc1 $f20, 0x43c($sp) -/* 0CC554 7F097A24 46062282 */ mul.s $f10, $f4, $f6 -/* 0CC558 7F097A28 E7B40438 */ swc1 $f20, 0x438($sp) -/* 0CC55C 7F097A2C E7AA0430 */ swc1 $f10, 0x430($sp) -/* 0CC560 7F097A30 C5680028 */ lwc1 $f8, 0x28($t3) -/* 0CC564 7F097A34 E7A80448 */ swc1 $f8, 0x448($sp) -/* 0CC568 7F097A38 C564002C */ lwc1 $f4, 0x2c($t3) -/* 0CC56C 7F097A3C E7A4044C */ swc1 $f4, 0x44c($sp) -/* 0CC570 7F097A40 C5060028 */ lwc1 $f6, 0x28($t0) -/* 0CC574 7F097A44 E7A60450 */ swc1 $f6, 0x450($sp) -/* 0CC578 7F097A48 C50A002C */ lwc1 $f10, 0x2c($t0) -/* 0CC57C 7F097A4C C7A60450 */ lwc1 $f6, 0x450($sp) -/* 0CC580 7F097A50 E7AA0454 */ swc1 $f10, 0x454($sp) -/* 0CC584 7F097A54 C5280028 */ lwc1 $f8, 0x28($t1) -/* 0CC588 7F097A58 E7A80458 */ swc1 $f8, 0x458($sp) -/* 0CC58C 7F097A5C C7AA0458 */ lwc1 $f10, 0x458($sp) -/* 0CC590 7F097A60 C524002C */ lwc1 $f4, 0x2c($t1) -/* 0CC594 7F097A64 E7A60028 */ swc1 $f6, 0x28($sp) -/* 0CC598 7F097A68 460A3201 */ sub.s $f8, $f6, $f10 -/* 0CC59C 7F097A6C E7A4045C */ swc1 $f4, 0x45c($sp) -/* 0CC5A0 7F097A70 C7A40454 */ lwc1 $f4, 0x454($sp) -/* 0CC5A4 7F097A74 C7A6045C */ lwc1 $f6, 0x45c($sp) -/* 0CC5A8 7F097A78 E7A80474 */ swc1 $f8, 0x474($sp) -/* 0CC5AC 7F097A7C E7A80030 */ swc1 $f8, 0x30($sp) -/* 0CC5B0 7F097A80 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 0CC5B4 7F097A84 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 0CC5B8 7F097A88 46062401 */ sub.s $f16, $f4, $f6 -/* 0CC5BC 7F097A8C E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0CC5C0 7F097A90 C7A4044C */ lwc1 $f4, 0x44c($sp) -/* 0CC5C4 7F097A94 C7AA0448 */ lwc1 $f10, 0x448($sp) -/* 0CC5C8 7F097A98 E7B403FC */ swc1 $f20, 0x3fc($sp) -/* 0CC5CC 7F097A9C 46062481 */ sub.s $f18, $f4, $f6 -/* 0CC5D0 7F097AA0 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 0CC5D4 7F097AA4 E7B403F8 */ swc1 $f20, 0x3f8($sp) -/* 0CC5D8 7F097AA8 46085201 */ sub.s $f8, $f10, $f8 -/* 0CC5DC 7F097AAC E7B403DC */ swc1 $f20, 0x3dc($sp) -/* 0CC5E0 7F097AB0 E7B403D8 */ swc1 $f20, 0x3d8($sp) -/* 0CC5E4 7F097AB4 46065301 */ sub.s $f12, $f10, $f6 -/* 0CC5E8 7F097AB8 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 0CC5EC 7F097ABC E7A8046C */ swc1 $f8, 0x46c($sp) -/* 0CC5F0 7F097AC0 E7B403A0 */ swc1 $f20, 0x3a0($sp) -/* 0CC5F4 7F097AC4 46006182 */ mul.s $f6, $f12, $f0 -/* 0CC5F8 7F097AC8 460A2381 */ sub.s $f14, $f4, $f10 -/* 0CC5FC 7F097ACC C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0CC600 7F097AD0 E7AC0464 */ swc1 $f12, 0x464($sp) -/* 0CC604 7F097AD4 E7B403A8 */ swc1 $f20, 0x3a8($sp) -/* 0CC608 7F097AD8 46007102 */ mul.s $f4, $f14, $f0 -/* 0CC60C 7F097ADC E7AE0460 */ swc1 $f14, 0x460($sp) -/* 0CC610 7F097AE0 E7A603E0 */ swc1 $f6, 0x3e0($sp) -/* 0CC614 7F097AE4 46005182 */ mul.s $f6, $f10, $f0 -/* 0CC618 7F097AE8 E7B403B0 */ swc1 $f20, 0x3b0($sp) -/* 0CC61C 7F097AEC E7B403BC */ swc1 $f20, 0x3bc($sp) -/* 0CC620 7F097AF0 E7B403B8 */ swc1 $f20, 0x3b8($sp) -/* 0CC624 7F097AF4 E7A403E4 */ swc1 $f4, 0x3e4($sp) -/* 0CC628 7F097AF8 46008102 */ mul.s $f4, $f16, $f0 -/* 0CC62C 7F097AFC E7B40380 */ swc1 $f20, 0x380($sp) -/* 0CC630 7F097B00 E7A603E8 */ swc1 $f6, 0x3e8($sp) -/* 0CC634 7F097B04 46004182 */ mul.s $f6, $f8, $f0 -/* 0CC638 7F097B08 E7B40388 */ swc1 $f20, 0x388($sp) -/* 0CC63C 7F097B0C E7B40390 */ swc1 $f20, 0x390($sp) -/* 0CC640 7F097B10 E7B4039C */ swc1 $f20, 0x39c($sp) -/* 0CC644 7F097B14 E7A403EC */ swc1 $f4, 0x3ec($sp) -/* 0CC648 7F097B18 46009102 */ mul.s $f4, $f18, $f0 -/* 0CC64C 7F097B1C C7A00460 */ lwc1 $f0, 0x460($sp) -/* 0CC650 7F097B20 E7A603F0 */ swc1 $f6, 0x3f0($sp) -/* 0CC654 7F097B24 46026182 */ mul.s $f6, $f12, $f2 -/* 0CC658 7F097B28 E7B40398 */ swc1 $f20, 0x398($sp) -/* 0CC65C 7F097B2C AFAB047C */ sw $t3, 0x47c($sp) -/* 0CC660 7F097B30 AFA90484 */ sw $t1, 0x484($sp) -/* 0CC664 7F097B34 E7A403F4 */ swc1 $f4, 0x3f4($sp) -/* 0CC668 7F097B38 46027102 */ mul.s $f4, $f14, $f2 -/* 0CC66C 7F097B3C C42E75E8 */ lwc1 $f14, %lo(D_800575E8)($at) -/* 0CC670 7F097B40 E7A603C0 */ swc1 $f6, 0x3c0($sp) -/* 0CC674 7F097B44 46025182 */ mul.s $f6, $f10, $f2 -/* 0CC678 7F097B48 AFA80480 */ sw $t0, 0x480($sp) -/* 0CC67C 7F097B4C E7A403C4 */ swc1 $f4, 0x3c4($sp) -/* 0CC680 7F097B50 46028102 */ mul.s $f4, $f16, $f2 -/* 0CC684 7F097B54 E7A603C8 */ swc1 $f6, 0x3c8($sp) -/* 0CC688 7F097B58 46024182 */ mul.s $f6, $f8, $f2 -/* 0CC68C 7F097B5C E7A403CC */ swc1 $f4, 0x3cc($sp) -/* 0CC690 7F097B60 46029102 */ mul.s $f4, $f18, $f2 -/* 0CC694 7F097B64 E7A603D0 */ swc1 $f6, 0x3d0($sp) -/* 0CC698 7F097B68 46001183 */ div.s $f6, $f2, $f0 -/* 0CC69C 7F097B6C E7A403D4 */ swc1 $f4, 0x3d4($sp) -/* 0CC6A0 7F097B70 46101103 */ div.s $f4, $f2, $f16 -/* 0CC6A4 7F097B74 E7A603A4 */ swc1 $f6, 0x3a4($sp) -/* 0CC6A8 7F097B78 46121183 */ div.s $f6, $f2, $f18 -/* 0CC6AC 7F097B7C E7A403AC */ swc1 $f4, 0x3ac($sp) -/* 0CC6B0 7F097B80 C7A40464 */ lwc1 $f4, 0x464($sp) -/* 0CC6B4 7F097B84 46002303 */ div.s $f12, $f4, $f0 -/* 0CC6B8 7F097B88 E7A603B4 */ swc1 $f6, 0x3b4($sp) -/* 0CC6BC 7F097B8C 46124103 */ div.s $f4, $f8, $f18 -/* 0CC6C0 7F097B90 E7AC0384 */ swc1 $f12, 0x384($sp) -/* 0CC6C4 7F097B94 46105183 */ div.s $f6, $f10, $f16 -/* 0CC6C8 7F097B98 E7A40394 */ swc1 $f4, 0x394($sp) -/* 0CC6CC 7F097B9C 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CC6D0 7F097BA0 E7A6038C */ swc1 $f6, 0x38c($sp) -/* 0CC6D4 7F097BA4 3C018005 */ lui $at, %hi(D_800575EC) -/* 0CC6D8 7F097BA8 3C0644EA */ lui $a2, (0x44EAA000 >> 16) # lui $a2, 0x44ea -/* 0CC6DC 7F097BAC E7A00384 */ swc1 $f0, 0x384($sp) -/* 0CC6E0 7F097BB0 34C6A000 */ ori $a2, (0x44EAA000 & 0xFFFF) # ori $a2, $a2, 0xa000 -/* 0CC6E4 7F097BB4 C42E75EC */ lwc1 $f14, %lo(D_800575EC)($at) -/* 0CC6E8 7F097BB8 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CC6EC 7F097BBC C7AC038C */ lwc1 $f12, 0x38c($sp) -/* 0CC6F0 7F097BC0 3C018005 */ lui $at, %hi(D_800575F0) -/* 0CC6F4 7F097BC4 3C0644EA */ lui $a2, (0x44EAA000 >> 16) # lui $a2, 0x44ea -/* 0CC6F8 7F097BC8 E7A0038C */ swc1 $f0, 0x38c($sp) -/* 0CC6FC 7F097BCC 34C6A000 */ ori $a2, (0x44EAA000 & 0xFFFF) # ori $a2, $a2, 0xa000 -/* 0CC700 7F097BD0 C42E75F0 */ lwc1 $f14, %lo(D_800575F0)($at) -/* 0CC704 7F097BD4 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CC708 7F097BD8 C7AC0394 */ lwc1 $f12, 0x394($sp) -/* 0CC70C 7F097BDC 8FA90484 */ lw $t1, 0x484($sp) -/* 0CC710 7F097BE0 E7A00394 */ swc1 $f0, 0x394($sp) -/* 0CC714 7F097BE4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CC718 7F097BE8 44813000 */ mtc1 $at, $f6 -/* 0CC71C 7F097BEC C52A002C */ lwc1 $f10, 0x2c($t1) -/* 0CC720 7F097BF0 3C014600 */ li $at, 0x46000000 # 8192.000000 -/* 0CC724 7F097BF4 46065082 */ mul.s $f2, $f10, $f6 -/* 0CC728 7F097BF8 4600120D */ trunc.w.s $f8, $f2 -/* 0CC72C 7F097BFC 44194000 */ mfc1 $t9, $f8 -/* 0CC730 7F097C00 C7A8038C */ lwc1 $f8, 0x38c($sp) -/* 0CC734 7F097C04 44992000 */ mtc1 $t9, $f4 -/* 0CC738 7F097C08 00000000 */ nop -/* 0CC73C 7F097C0C 468022A0 */ cvt.s.w $f10, $f4 -/* 0CC740 7F097C10 44812000 */ mtc1 $at, $f4 -/* 0CC744 7F097C14 00000000 */ nop -/* 0CC748 7F097C18 46044302 */ mul.s $f12, $f8, $f4 -/* 0CC74C 7F097C1C 460A1181 */ sub.s $f6, $f2, $f10 -/* 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 -/* 0CC760 7F097C30 C7A8037C */ lwc1 $f8, 0x37c($sp) -/* 0CC764 7F097C34 3C014600 */ li $at, 0x46000000 # 8192.000000 -/* 0CC768 7F097C38 460A0182 */ mul.s $f6, $f0, $f10 -/* 0CC76C 7F097C3C C7AA0428 */ lwc1 $f10, 0x428($sp) -/* 0CC770 7F097C40 46083102 */ mul.s $f4, $f6, $f8 -/* 0CC774 7F097C44 C7A80394 */ lwc1 $f8, 0x394($sp) -/* 0CC778 7F097C48 46045181 */ sub.s $f6, $f10, $f4 -/* 0CC77C 7F097C4C 44815000 */ mtc1 $at, $f10 -/* 0CC780 7F097C50 00000000 */ nop -/* 0CC784 7F097C54 460A4302 */ mul.s $f12, $f8, $f10 -/* 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 -/* 0CC798 7F097C68 C7A8037C */ lwc1 $f8, 0x37c($sp) -/* 0CC79C 7F097C6C 3C07B400 */ lui $a3, 0xb400 -/* 0CC7A0 7F097C70 46040182 */ mul.s $f6, $f0, $f4 -/* 0CC7A4 7F097C74 C7A40430 */ lwc1 $f4, 0x430($sp) -/* 0CC7A8 7F097C78 8FA80480 */ lw $t0, 0x480($sp) -/* 0CC7AC 7F097C7C 8FA90484 */ lw $t1, 0x484($sp) -/* 0CC7B0 7F097C80 8FAB047C */ lw $t3, 0x47c($sp) -/* 0CC7B4 7F097C84 02002825 */ move $a1, $s0 -/* 0CC7B8 7F097C88 26100008 */ addiu $s0, $s0, 8 -/* 0CC7BC 7F097C8C 46083282 */ mul.s $f10, $f6, $f8 -/* 0CC7C0 7F097C90 3C06C800 */ lui $a2, 0xc800 -/* 0CC7C4 7F097C94 00001825 */ move $v1, $zero -/* 0CC7C8 7F097C98 460A2181 */ sub.s $f6, $f4, $f10 -/* 0CC7CC 7F097C9C E7A60410 */ swc1 $f6, 0x410($sp) -/* 0CC7D0 7F097CA0 ACA70000 */ sw $a3, ($a1) -/* 0CC7D4 7F097CA4 8FB8049C */ lw $t8, 0x49c($sp) -/* 0CC7D8 7F097CA8 C7A80444 */ lwc1 $f8, 0x444($sp) -/* 0CC7DC 7F097CAC 13000003 */ beqz $t8, .L7F097CBC -/* 0CC7E0 7F097CB0 00000000 */ nop -/* 0CC7E4 7F097CB4 10000001 */ b .L7F097CBC -/* 0CC7E8 7F097CB8 3C06CE00 */ lui $a2, 0xce00 -.L7F097CBC: -/* 0CC7EC 7F097CBC 4614403C */ c.lt.s $f8, $f20 -/* 0CC7F0 7F097CC0 00000000 */ nop -/* 0CC7F4 7F097CC4 45000003 */ bc1f .L7F097CD4 -/* 0CC7F8 7F097CC8 00000000 */ nop -/* 0CC7FC 7F097CCC 10000001 */ b .L7F097CD4 -/* 0CC800 7F097CD0 3C030080 */ lui $v1, 0x80 -.L7F097CD4: -/* 0CC804 7F097CD4 C564002C */ lwc1 $f4, 0x2c($t3) -/* 0CC808 7F097CD8 00667825 */ or $t7, $v1, $a2 -/* 0CC80C 7F097CDC 02001025 */ move $v0, $s0 -/* 0CC810 7F097CE0 4600228D */ trunc.w.s $f10, $f4 -/* 0CC814 7F097CE4 3C0EB200 */ lui $t6, 0xb200 -/* 0CC818 7F097CE8 26100008 */ addiu $s0, $s0, 8 -/* 0CC81C 7F097CEC 02002025 */ move $a0, $s0 -/* 0CC820 7F097CF0 44195000 */ mfc1 $t9, $f10 -/* 0CC824 7F097CF4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CC828 7F097CF8 26100008 */ addiu $s0, $s0, 8 -/* 0CC82C 7F097CFC 01F9C025 */ or $t8, $t7, $t9 -/* 0CC830 7F097D00 ACB80004 */ sw $t8, 4($a1) -/* 0CC834 7F097D04 AC4E0000 */ sw $t6, ($v0) -/* 0CC838 7F097D08 C506002C */ lwc1 $f6, 0x2c($t0) -/* 0CC83C 7F097D0C C524002C */ lwc1 $f4, 0x2c($t1) -/* 0CC840 7F097D10 4600320D */ trunc.w.s $f8, $f6 -/* 0CC844 7F097D14 4600228D */ trunc.w.s $f10, $f4 -/* 0CC848 7F097D18 44194000 */ mfc1 $t9, $f8 -/* 0CC84C 7F097D1C 44814000 */ mtc1 $at, $f8 -/* 0CC850 7F097D20 440F5000 */ mfc1 $t7, $f10 -/* 0CC854 7F097D24 0019C400 */ sll $t8, $t9, 0x10 -/* 0CC858 7F097D28 030FC825 */ or $t9, $t8, $t7 -/* 0CC85C 7F097D2C AC590004 */ sw $t9, 4($v0) -/* 0CC860 7F097D30 AC870000 */ sw $a3, ($a0) -/* 0CC864 7F097D34 C5060028 */ lwc1 $f6, 0x28($t0) -/* 0CC868 7F097D38 AFAB047C */ sw $t3, 0x47c($sp) -/* 0CC86C 7F097D3C AFA90484 */ sw $t1, 0x484($sp) -/* 0CC870 7F097D40 46083302 */ mul.s $f12, $f6, $f8 -/* 0CC874 7F097D44 AFA80480 */ sw $t0, 0x480($sp) -/* 0CC878 7F097D48 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CC87C 7F097D4C AFA40180 */ sw $a0, 0x180($sp) -/* 0CC880 7F097D50 8FA40180 */ lw $a0, 0x180($sp) -/* 0CC884 7F097D54 02001825 */ move $v1, $s0 -/* 0CC888 7F097D58 3C0EB200 */ lui $t6, 0xb200 -/* 0CC88C 7F097D5C AC820004 */ sw $v0, 4($a0) -/* 0CC890 7F097D60 AC6E0000 */ sw $t6, ($v1) -/* 0CC894 7F097D64 AFA3017C */ sw $v1, 0x17c($sp) -/* 0CC898 7F097D68 C7AC0384 */ lwc1 $f12, 0x384($sp) -/* 0CC89C 7F097D6C 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CC8A0 7F097D70 26100008 */ addiu $s0, $s0, 8 -/* 0CC8A4 7F097D74 8FA3017C */ lw $v1, 0x17c($sp) -/* 0CC8A8 7F097D78 02002025 */ move $a0, $s0 -/* 0CC8AC 7F097D7C 3C18B400 */ lui $t8, 0xb400 -/* 0CC8B0 7F097D80 AC620004 */ sw $v0, 4($v1) -/* 0CC8B4 7F097D84 AC980000 */ sw $t8, ($a0) -/* 0CC8B8 7F097D88 AFA40178 */ sw $a0, 0x178($sp) -/* 0CC8BC 7F097D8C C7AC0410 */ lwc1 $f12, 0x410($sp) -/* 0CC8C0 7F097D90 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CC8C4 7F097D94 26100008 */ addiu $s0, $s0, 8 -/* 0CC8C8 7F097D98 8FA40178 */ lw $a0, 0x178($sp) -/* 0CC8CC 7F097D9C 02001825 */ move $v1, $s0 -/* 0CC8D0 7F097DA0 3C0FB200 */ lui $t7, 0xb200 -/* 0CC8D4 7F097DA4 AC820004 */ sw $v0, 4($a0) -/* 0CC8D8 7F097DA8 AC6F0000 */ sw $t7, ($v1) -/* 0CC8DC 7F097DAC AFA30174 */ sw $v1, 0x174($sp) -/* 0CC8E0 7F097DB0 C7AC0394 */ lwc1 $f12, 0x394($sp) -/* 0CC8E4 7F097DB4 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CC8E8 7F097DB8 26100008 */ addiu $s0, $s0, 8 -/* 0CC8EC 7F097DBC 8FA30174 */ lw $v1, 0x174($sp) -/* 0CC8F0 7F097DC0 02002025 */ move $a0, $s0 -/* 0CC8F4 7F097DC4 3C19B400 */ lui $t9, 0xb400 -/* 0CC8F8 7F097DC8 AC620004 */ sw $v0, 4($v1) -/* 0CC8FC 7F097DCC AC990000 */ sw $t9, ($a0) -/* 0CC900 7F097DD0 AFA40170 */ sw $a0, 0x170($sp) -/* 0CC904 7F097DD4 C7AC0408 */ lwc1 $f12, 0x408($sp) -/* 0CC908 7F097DD8 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CC90C 7F097DDC 26100008 */ addiu $s0, $s0, 8 -/* 0CC910 7F097DE0 8FA40170 */ lw $a0, 0x170($sp) -/* 0CC914 7F097DE4 02001825 */ move $v1, $s0 -/* 0CC918 7F097DE8 3C0EB200 */ lui $t6, 0xb200 -/* 0CC91C 7F097DEC AC820004 */ sw $v0, 4($a0) -/* 0CC920 7F097DF0 AC6E0000 */ sw $t6, ($v1) -/* 0CC924 7F097DF4 AFA3016C */ sw $v1, 0x16c($sp) -/* 0CC928 7F097DF8 C7AC038C */ lwc1 $f12, 0x38c($sp) -/* 0CC92C 7F097DFC 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CC930 7F097E00 26100008 */ addiu $s0, $s0, 8 -/* 0CC934 7F097E04 8FA3016C */ lw $v1, 0x16c($sp) -/* 0CC938 7F097E08 8FA80480 */ lw $t0, 0x480($sp) -/* 0CC93C 7F097E0C 8FA90484 */ lw $t1, 0x484($sp) -/* 0CC940 7F097E10 8FAB047C */ lw $t3, 0x47c($sp) -/* 0CC944 7F097E14 AC620004 */ sw $v0, 4($v1) -/* 0CC948 7F097E18 8FB8049C */ lw $t8, 0x49c($sp) -/* 0CC94C 7F097E1C C7A00378 */ lwc1 $f0, 0x378($sp) -/* 0CC950 7F097E20 3C018005 */ lui $at, %hi(D_800575F4) -/* 0CC954 7F097E24 57000004 */ bnezl $t8, .L7F097E38 -/* 0CC958 7F097E28 C524000C */ lwc1 $f4, 0xc($t1) -/* 0CC95C 7F097E2C 100002FA */ b .L7F098A18 -/* 0CC960 7F097E30 02001025 */ move $v0, $s0 -/* 0CC964 7F097E34 C524000C */ lwc1 $f4, 0xc($t1) -.L7F097E38: -/* 0CC968 7F097E38 46002282 */ mul.s $f10, $f4, $f0 -/* 0CC96C 7F097E3C E7AA036C */ swc1 $f10, 0x36c($sp) -/* 0CC970 7F097E40 C506000C */ lwc1 $f6, 0xc($t0) -/* 0CC974 7F097E44 C7B2036C */ lwc1 $f18, 0x36c($sp) -/* 0CC978 7F097E48 46003202 */ mul.s $f8, $f6, $f0 -/* 0CC97C 7F097E4C E7A80370 */ swc1 $f8, 0x370($sp) -/* 0CC980 7F097E50 C564000C */ lwc1 $f4, 0xc($t3) -/* 0CC984 7F097E54 C7A60370 */ lwc1 $f6, 0x370($sp) -/* 0CC988 7F097E58 46002282 */ mul.s $f10, $f4, $f0 -/* 0CC98C 7F097E5C 4612303C */ c.lt.s $f6, $f18 -/* 0CC990 7F097E60 E7AA0374 */ swc1 $f10, 0x374($sp) -/* 0CC994 7F097E64 45000002 */ bc1f .L7F097E70 -/* 0CC998 7F097E68 C7A00374 */ lwc1 $f0, 0x374($sp) -/* 0CC99C 7F097E6C 46003486 */ mov.s $f18, $f6 -.L7F097E70: -/* 0CC9A0 7F097E70 4612003C */ c.lt.s $f0, $f18 -/* 0CC9A4 7F097E74 00000000 */ nop -/* 0CC9A8 7F097E78 45000002 */ bc1f .L7F097E84 -/* 0CC9AC 7F097E7C 00000000 */ nop -/* 0CC9B0 7F097E80 46000486 */ mov.s $f18, $f0 -.L7F097E84: -/* 0CC9B4 7F097E84 C42075F4 */ lwc1 $f0, %lo(D_800575F4)($at) -/* 0CC9B8 7F097E88 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0CC9BC 7F097E8C 44811000 */ mtc1 $at, $f2 -/* 0CC9C0 7F097E90 C5280034 */ lwc1 $f8, 0x34($t1) -/* 0CC9C4 7F097E94 46029482 */ mul.s $f18, $f18, $f2 -/* 0CC9C8 7F097E98 00000000 */ nop -/* 0CC9CC 7F097E9C 46124102 */ mul.s $f4, $f8, $f18 -/* 0CC9D0 7F097EA0 E7A4035C */ swc1 $f4, 0x35c($sp) -/* 0CC9D4 7F097EA4 C50A0034 */ lwc1 $f10, 0x34($t0) -/* 0CC9D8 7F097EA8 46125182 */ mul.s $f6, $f10, $f18 -/* 0CC9DC 7F097EAC C7AA035C */ lwc1 $f10, 0x35c($sp) -/* 0CC9E0 7F097EB0 E7A60360 */ swc1 $f6, 0x360($sp) -/* 0CC9E4 7F097EB4 C5680034 */ lwc1 $f8, 0x34($t3) -/* 0CC9E8 7F097EB8 46124102 */ mul.s $f4, $f8, $f18 -/* 0CC9EC 7F097EBC E7A40364 */ swc1 $f4, 0x364($sp) -/* 0CC9F0 7F097EC0 C5260020 */ lwc1 $f6, 0x20($t1) -/* 0CC9F4 7F097EC4 46065202 */ mul.s $f8, $f10, $f6 -/* 0CC9F8 7F097EC8 E7A80338 */ swc1 $f8, 0x338($sp) -/* 0CC9FC 7F097ECC C5240024 */ lwc1 $f4, 0x24($t1) -/* 0CCA00 7F097ED0 4608A03E */ c.le.s $f20, $f8 -/* 0CCA04 7F097ED4 46045182 */ mul.s $f6, $f10, $f4 -/* 0CCA08 7F097ED8 00000000 */ nop -/* 0CCA0C 7F097EDC 46005102 */ mul.s $f4, $f10, $f0 -/* 0CCA10 7F097EE0 E7A6033C */ swc1 $f6, 0x33c($sp) -/* 0CCA14 7F097EE4 C7A60360 */ lwc1 $f6, 0x360($sp) -/* 0CCA18 7F097EE8 E7A40340 */ swc1 $f4, 0x340($sp) -/* 0CCA1C 7F097EEC C50A0020 */ lwc1 $f10, 0x20($t0) -/* 0CCA20 7F097EF0 460A3102 */ mul.s $f4, $f6, $f10 -/* 0CCA24 7F097EF4 E7A40344 */ swc1 $f4, 0x344($sp) -/* 0CCA28 7F097EF8 C50A0024 */ lwc1 $f10, 0x24($t0) -/* 0CCA2C 7F097EFC 460A3102 */ mul.s $f4, $f6, $f10 -/* 0CCA30 7F097F00 00000000 */ nop -/* 0CCA34 7F097F04 46003282 */ mul.s $f10, $f6, $f0 -/* 0CCA38 7F097F08 E7A40348 */ swc1 $f4, 0x348($sp) -/* 0CCA3C 7F097F0C C7A40364 */ lwc1 $f4, 0x364($sp) -/* 0CCA40 7F097F10 E7AA034C */ swc1 $f10, 0x34c($sp) -/* 0CCA44 7F097F14 C5660020 */ lwc1 $f6, 0x20($t3) -/* 0CCA48 7F097F18 46062282 */ mul.s $f10, $f4, $f6 -/* 0CCA4C 7F097F1C E7AA0350 */ swc1 $f10, 0x350($sp) -/* 0CCA50 7F097F20 C5660024 */ lwc1 $f6, 0x24($t3) -/* 0CCA54 7F097F24 46062282 */ mul.s $f10, $f4, $f6 -/* 0CCA58 7F097F28 00000000 */ nop -/* 0CCA5C 7F097F2C 46002182 */ mul.s $f6, $f4, $f0 -/* 0CCA60 7F097F30 C7A0033C */ lwc1 $f0, 0x33c($sp) -/* 0CCA64 7F097F34 E7AA0354 */ swc1 $f10, 0x354($sp) -/* 0CCA68 7F097F38 45000003 */ bc1f .L7F097F48 -/* 0CCA6C 7F097F3C E7A60358 */ swc1 $f6, 0x358($sp) -/* 0CCA70 7F097F40 10000003 */ b .L7F097F50 -/* 0CCA74 7F097F44 46004386 */ mov.s $f14, $f8 -.L7F097F48: -/* 0CCA78 7F097F48 C7AE0338 */ lwc1 $f14, 0x338($sp) -/* 0CCA7C 7F097F4C 46007387 */ neg.s $f14, $f14 -.L7F097F50: -/* 0CCA80 7F097F50 4600A03E */ c.le.s $f20, $f0 -/* 0CCA84 7F097F54 00000000 */ nop -/* 0CCA88 7F097F58 45020004 */ bc1fl .L7F097F6C -/* 0CCA8C 7F097F5C 46000407 */ neg.s $f16, $f0 -/* 0CCA90 7F097F60 10000002 */ b .L7F097F6C -/* 0CCA94 7F097F64 46000406 */ mov.s $f16, $f0 -/* 0CCA98 7F097F68 46000407 */ neg.s $f16, $f0 -.L7F097F6C: -/* 0CCA9C 7F097F6C C7A00344 */ lwc1 $f0, 0x344($sp) -/* 0CCAA0 7F097F70 4600A03E */ c.le.s $f20, $f0 -/* 0CCAA4 7F097F74 00000000 */ nop -/* 0CCAA8 7F097F78 45020004 */ bc1fl .L7F097F8C -/* 0CCAAC 7F097F7C 46000307 */ neg.s $f12, $f0 -/* 0CCAB0 7F097F80 10000002 */ b .L7F097F8C -/* 0CCAB4 7F097F84 46000306 */ mov.s $f12, $f0 -/* 0CCAB8 7F097F88 46000307 */ neg.s $f12, $f0 -.L7F097F8C: -/* 0CCABC 7F097F8C 460C703C */ c.lt.s $f14, $f12 -/* 0CCAC0 7F097F90 00000000 */ nop -/* 0CCAC4 7F097F94 45020009 */ bc1fl .L7F097FBC -/* 0CCAC8 7F097F98 C7A00348 */ lwc1 $f0, 0x348($sp) -/* 0CCACC 7F097F9C 4600A03E */ c.le.s $f20, $f0 -/* 0CCAD0 7F097FA0 00000000 */ nop -/* 0CCAD4 7F097FA4 45020004 */ bc1fl .L7F097FB8 -/* 0CCAD8 7F097FA8 46000387 */ neg.s $f14, $f0 -/* 0CCADC 7F097FAC 10000002 */ b .L7F097FB8 -/* 0CCAE0 7F097FB0 46000386 */ mov.s $f14, $f0 -/* 0CCAE4 7F097FB4 46000387 */ neg.s $f14, $f0 -.L7F097FB8: -/* 0CCAE8 7F097FB8 C7A00348 */ lwc1 $f0, 0x348($sp) -.L7F097FBC: -/* 0CCAEC 7F097FBC 4600A03E */ c.le.s $f20, $f0 -/* 0CCAF0 7F097FC0 00000000 */ nop -/* 0CCAF4 7F097FC4 45020004 */ bc1fl .L7F097FD8 -/* 0CCAF8 7F097FC8 46000307 */ neg.s $f12, $f0 -/* 0CCAFC 7F097FCC 10000002 */ b .L7F097FD8 -/* 0CCB00 7F097FD0 46000306 */ mov.s $f12, $f0 -/* 0CCB04 7F097FD4 46000307 */ neg.s $f12, $f0 -.L7F097FD8: -/* 0CCB08 7F097FD8 460C803C */ c.lt.s $f16, $f12 -/* 0CCB0C 7F097FDC E7B20368 */ swc1 $f18, 0x368($sp) -/* 0CCB10 7F097FE0 4502000B */ bc1fl .L7F098010 -/* 0CCB14 7F097FE4 C7A00350 */ lwc1 $f0, 0x350($sp) -/* 0CCB18 7F097FE8 4600A03E */ c.le.s $f20, $f0 -/* 0CCB1C 7F097FEC 00000000 */ nop -/* 0CCB20 7F097FF0 45020005 */ bc1fl .L7F098008 -/* 0CCB24 7F097FF4 46000407 */ neg.s $f16, $f0 -/* 0CCB28 7F097FF8 46000406 */ mov.s $f16, $f0 -/* 0CCB2C 7F097FFC 10000003 */ b .L7F09800C -/* 0CCB30 7F098000 E7B20368 */ swc1 $f18, 0x368($sp) -/* 0CCB34 7F098004 46000407 */ neg.s $f16, $f0 -.L7F098008: -/* 0CCB38 7F098008 E7B20368 */ swc1 $f18, 0x368($sp) -.L7F09800C: -/* 0CCB3C 7F09800C C7A00350 */ lwc1 $f0, 0x350($sp) -.L7F098010: -/* 0CCB40 7F098010 4600A03E */ c.le.s $f20, $f0 -/* 0CCB44 7F098014 00000000 */ nop -/* 0CCB48 7F098018 45020004 */ bc1fl .L7F09802C -/* 0CCB4C 7F09801C 46000307 */ neg.s $f12, $f0 -/* 0CCB50 7F098020 10000002 */ b .L7F09802C -/* 0CCB54 7F098024 46000306 */ mov.s $f12, $f0 -/* 0CCB58 7F098028 46000307 */ neg.s $f12, $f0 -.L7F09802C: -/* 0CCB5C 7F09802C 460C703C */ c.lt.s $f14, $f12 -/* 0CCB60 7F098030 E7AE0330 */ swc1 $f14, 0x330($sp) -/* 0CCB64 7F098034 4502000A */ bc1fl .L7F098060 -/* 0CCB68 7F098038 C7A00354 */ lwc1 $f0, 0x354($sp) -/* 0CCB6C 7F09803C 4600A03E */ c.le.s $f20, $f0 -/* 0CCB70 7F098040 00000000 */ nop -/* 0CCB74 7F098044 45020004 */ bc1fl .L7F098058 -/* 0CCB78 7F098048 46000387 */ neg.s $f14, $f0 -/* 0CCB7C 7F09804C 10000003 */ b .L7F09805C -/* 0CCB80 7F098050 E7A00330 */ swc1 $f0, 0x330($sp) -/* 0CCB84 7F098054 46000387 */ neg.s $f14, $f0 -.L7F098058: -/* 0CCB88 7F098058 E7AE0330 */ swc1 $f14, 0x330($sp) -.L7F09805C: -/* 0CCB8C 7F09805C C7A00354 */ lwc1 $f0, 0x354($sp) -.L7F098060: -/* 0CCB90 7F098060 4600A03E */ c.le.s $f20, $f0 -/* 0CCB94 7F098064 00000000 */ nop -/* 0CCB98 7F098068 45020004 */ bc1fl .L7F09807C -/* 0CCB9C 7F09806C 46000307 */ neg.s $f12, $f0 -/* 0CCBA0 7F098070 10000002 */ b .L7F09807C -/* 0CCBA4 7F098074 46000306 */ mov.s $f12, $f0 -/* 0CCBA8 7F098078 46000307 */ neg.s $f12, $f0 -.L7F09807C: -/* 0CCBAC 7F09807C 460C803C */ c.lt.s $f16, $f12 -/* 0CCBB0 7F098080 E7B00334 */ swc1 $f16, 0x334($sp) -/* 0CCBB4 7F098084 4502000A */ bc1fl .L7F0980B0 -/* 0CCBB8 7F098088 C52A0010 */ lwc1 $f10, 0x10($t1) -/* 0CCBBC 7F09808C 4600A03E */ c.le.s $f20, $f0 -/* 0CCBC0 7F098090 00000000 */ nop -/* 0CCBC4 7F098094 45020004 */ bc1fl .L7F0980A8 -/* 0CCBC8 7F098098 46000407 */ neg.s $f16, $f0 -/* 0CCBCC 7F09809C 10000003 */ b .L7F0980AC -/* 0CCBD0 7F0980A0 E7A00334 */ swc1 $f0, 0x334($sp) -/* 0CCBD4 7F0980A4 46000407 */ neg.s $f16, $f0 -.L7F0980A8: -/* 0CCBD8 7F0980A8 E7B00334 */ swc1 $f16, 0x334($sp) -.L7F0980AC: -/* 0CCBDC 7F0980AC C52A0010 */ lwc1 $f10, 0x10($t1) -.L7F0980B0: -/* 0CCBE0 7F0980B0 27A402B0 */ addiu $a0, $sp, 0x2b0 -/* 0CCBE4 7F0980B4 27A602F0 */ addiu $a2, $sp, 0x2f0 -/* 0CCBE8 7F0980B8 46025100 */ add.s $f4, $f10, $f2 -/* 0CCBEC 7F0980BC 27A20310 */ addiu $v0, $sp, 0x310 -/* 0CCBF0 7F0980C0 27A30290 */ addiu $v1, $sp, 0x290 -/* 0CCBF4 7F0980C4 27A502D0 */ addiu $a1, $sp, 0x2d0 -/* 0CCBF8 7F0980C8 E7A40310 */ swc1 $f4, 0x310($sp) -/* 0CCBFC 7F0980CC C5260014 */ lwc1 $f6, 0x14($t1) -/* 0CCC00 7F0980D0 27A702F0 */ addiu $a3, $sp, 0x2f0 -/* 0CCC04 7F0980D4 46023200 */ add.s $f8, $f6, $f2 -/* 0CCC08 7F0980D8 E7A80314 */ swc1 $f8, 0x314($sp) -/* 0CCC0C 7F0980DC C52A0018 */ lwc1 $f10, 0x18($t1) -/* 0CCC10 7F0980E0 46025100 */ add.s $f4, $f10, $f2 -/* 0CCC14 7F0980E4 E7A40318 */ swc1 $f4, 0x318($sp) -/* 0CCC18 7F0980E8 C526001C */ lwc1 $f6, 0x1c($t1) -/* 0CCC1C 7F0980EC 46023200 */ add.s $f8, $f6, $f2 -/* 0CCC20 7F0980F0 E7A8031C */ swc1 $f8, 0x31c($sp) -/* 0CCC24 7F0980F4 C50A0010 */ lwc1 $f10, 0x10($t0) -/* 0CCC28 7F0980F8 46025100 */ add.s $f4, $f10, $f2 -/* 0CCC2C 7F0980FC E7A402F0 */ swc1 $f4, 0x2f0($sp) -/* 0CCC30 7F098100 C5060014 */ lwc1 $f6, 0x14($t0) -/* 0CCC34 7F098104 46023200 */ add.s $f8, $f6, $f2 -/* 0CCC38 7F098108 E7A802F4 */ swc1 $f8, 0x2f4($sp) -/* 0CCC3C 7F09810C C50A0018 */ lwc1 $f10, 0x18($t0) -/* 0CCC40 7F098110 46025100 */ add.s $f4, $f10, $f2 -/* 0CCC44 7F098114 E7A402F8 */ swc1 $f4, 0x2f8($sp) -/* 0CCC48 7F098118 C506001C */ lwc1 $f6, 0x1c($t0) -/* 0CCC4C 7F09811C 46023200 */ add.s $f8, $f6, $f2 -/* 0CCC50 7F098120 E7A802FC */ swc1 $f8, 0x2fc($sp) -/* 0CCC54 7F098124 C56A0010 */ lwc1 $f10, 0x10($t3) -/* 0CCC58 7F098128 46025100 */ add.s $f4, $f10, $f2 -/* 0CCC5C 7F09812C E7A402D0 */ swc1 $f4, 0x2d0($sp) -/* 0CCC60 7F098130 C5660014 */ lwc1 $f6, 0x14($t3) -/* 0CCC64 7F098134 46023200 */ add.s $f8, $f6, $f2 -/* 0CCC68 7F098138 E7A802D4 */ swc1 $f8, 0x2d4($sp) -/* 0CCC6C 7F09813C C56A0018 */ lwc1 $f10, 0x18($t3) -/* 0CCC70 7F098140 46025100 */ add.s $f4, $f10, $f2 -/* 0CCC74 7F098144 C7AA0338 */ lwc1 $f10, 0x338($sp) -/* 0CCC78 7F098148 E7A402D8 */ swc1 $f4, 0x2d8($sp) -/* 0CCC7C 7F09814C C566001C */ lwc1 $f6, 0x1c($t3) -/* 0CCC80 7F098150 E7AA0320 */ swc1 $f10, 0x320($sp) -/* 0CCC84 7F098154 C7A4033C */ lwc1 $f4, 0x33c($sp) -/* 0CCC88 7F098158 46023200 */ add.s $f8, $f6, $f2 -/* 0CCC8C 7F09815C C7A60340 */ lwc1 $f6, 0x340($sp) -/* 0CCC90 7F098160 C7AA0348 */ lwc1 $f10, 0x348($sp) -/* 0CCC94 7F098164 E7A40324 */ swc1 $f4, 0x324($sp) -/* 0CCC98 7F098168 E7A802DC */ swc1 $f8, 0x2dc($sp) -/* 0CCC9C 7F09816C C7A80344 */ lwc1 $f8, 0x344($sp) -/* 0CCCA0 7F098170 E7A60328 */ swc1 $f6, 0x328($sp) -/* 0CCCA4 7F098174 E7AA0304 */ swc1 $f10, 0x304($sp) -/* 0CCCA8 7F098178 E7A80300 */ swc1 $f8, 0x300($sp) -/* 0CCCAC 7F09817C C7A4034C */ lwc1 $f4, 0x34c($sp) -/* 0CCCB0 7F098180 C7A80354 */ lwc1 $f8, 0x354($sp) -/* 0CCCB4 7F098184 C7AA0358 */ lwc1 $f10, 0x358($sp) -/* 0CCCB8 7F098188 C7A60350 */ lwc1 $f6, 0x350($sp) -/* 0CCCBC 7F09818C E7A40308 */ swc1 $f4, 0x308($sp) -/* 0CCCC0 7F098190 E7A802E4 */ swc1 $f8, 0x2e4($sp) -/* 0CCCC4 7F098194 E7AA02E8 */ swc1 $f10, 0x2e8($sp) -/* 0CCCC8 7F098198 E7A602E0 */ swc1 $f6, 0x2e0($sp) -/* 0CCCCC 7F09819C C5240030 */ lwc1 $f4, 0x30($t1) -/* 0CCCD0 7F0981A0 27A90230 */ addiu $t1, $sp, 0x230 -/* 0CCCD4 7F0981A4 E7A4032C */ swc1 $f4, 0x32c($sp) -/* 0CCCD8 7F0981A8 C5060030 */ lwc1 $f6, 0x30($t0) -/* 0CCCDC 7F0981AC 27A80230 */ addiu $t0, $sp, 0x230 -/* 0CCCE0 7F0981B0 E7A6030C */ swc1 $f6, 0x30c($sp) -/* 0CCCE4 7F0981B4 C5680030 */ lwc1 $f8, 0x30($t3) -/* 0CCCE8 7F0981B8 E7A802EC */ swc1 $f8, 0x2ec($sp) -.L7F0981BC: -/* 0CCCEC 7F0981BC C4400000 */ lwc1 $f0, ($v0) -/* 0CCCF0 7F0981C0 C4CA0000 */ lwc1 $f10, ($a2) -/* 0CCCF4 7F0981C4 C4A60000 */ lwc1 $f6, ($a1) -/* 0CCCF8 7F0981C8 24A50004 */ addiu $a1, $a1, 4 -/* 0CCCFC 7F0981CC 46005101 */ sub.s $f4, $f10, $f0 -/* 0CCD00 7F0981D0 00A7082B */ sltu $at, $a1, $a3 -/* 0CCD04 7F0981D4 24840004 */ addiu $a0, $a0, 4 -/* 0CCD08 7F0981D8 46003201 */ sub.s $f8, $f6, $f0 -/* 0CCD0C 7F0981DC 24C60004 */ addiu $a2, $a2, 4 -/* 0CCD10 7F0981E0 24420004 */ addiu $v0, $v0, 4 -/* 0CCD14 7F0981E4 24630004 */ addiu $v1, $v1, 4 -/* 0CCD18 7F0981E8 E484FFFC */ swc1 $f4, -4($a0) -/* 0CCD1C 7F0981EC 1420FFF3 */ bnez $at, .L7F0981BC -/* 0CCD20 7F0981F0 E468FFFC */ swc1 $f8, -4($v1) -/* 0CCD24 7F0981F4 27A402B0 */ addiu $a0, $sp, 0x2b0 -/* 0CCD28 7F0981F8 27A20310 */ addiu $v0, $sp, 0x310 -/* 0CCD2C 7F0981FC 27A30290 */ addiu $v1, $sp, 0x290 -/* 0CCD30 7F098200 27A70250 */ addiu $a3, $sp, 0x250 -/* 0CCD34 7F098204 27A50270 */ addiu $a1, $sp, 0x270 -/* 0CCD38 7F098208 27A60210 */ addiu $a2, $sp, 0x210 -/* 0CCD3C 7F09820C C7B203C8 */ lwc1 $f18, 0x3c8($sp) -.L7F098210: -/* 0CCD40 7F098210 C4600000 */ lwc1 $f0, ($v1) -/* 0CCD44 7F098214 C7AA03CC */ lwc1 $f10, 0x3cc($sp) -/* 0CCD48 7F098218 C4820000 */ lwc1 $f2, ($a0) -/* 0CCD4C 7F09821C C7A603D4 */ lwc1 $f6, 0x3d4($sp) -/* 0CCD50 7F098220 460A0102 */ mul.s $f4, $f0, $f10 -/* 0CCD54 7F098224 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CCD58 7F098228 24C60004 */ addiu $a2, $a2, 4 -/* 0CCD5C 7F09822C 46023202 */ mul.s $f8, $f6, $f2 -/* 0CCD60 7F098230 44813000 */ mtc1 $at, $f6 -/* 0CCD64 7F098234 24840004 */ addiu $a0, $a0, 4 -/* 0CCD68 7F098238 24420004 */ addiu $v0, $v0, 4 -/* 0CCD6C 7F09823C 24630004 */ addiu $v1, $v1, 4 -/* 0CCD70 7F098240 24E70004 */ addiu $a3, $a3, 4 -/* 0CCD74 7F098244 24A50004 */ addiu $a1, $a1, 4 -/* 0CCD78 7F098248 46082281 */ sub.s $f10, $f4, $f8 -/* 0CCD7C 7F09824C 25080004 */ addiu $t0, $t0, 4 -/* 0CCD80 7F098250 46065303 */ div.s $f12, $f10, $f6 -/* 0CCD84 7F098254 E4ECFFFC */ swc1 $f12, -4($a3) -/* 0CCD88 7F098258 C7A403D0 */ lwc1 $f4, 0x3d0($sp) -/* 0CCD8C 7F09825C 46041202 */ mul.s $f8, $f2, $f4 -/* 0CCD90 7F098260 44812000 */ mtc1 $at, $f4 -/* 0CCD94 7F098264 00C9082B */ sltu $at, $a2, $t1 -/* 0CCD98 7F098268 46009282 */ mul.s $f10, $f18, $f0 -/* 0CCD9C 7F09826C 460A4181 */ sub.s $f6, $f8, $f10 -/* 0CCDA0 7F098270 46043203 */ div.s $f8, $f6, $f4 -/* 0CCDA4 7F098274 E4A8FFFC */ swc1 $f8, -4($a1) -/* 0CCDA8 7F098278 C7AA0440 */ lwc1 $f10, 0x440($sp) -/* 0CCDAC 7F09827C C4A4FFFC */ lwc1 $f4, -4($a1) -/* 0CCDB0 7F098280 460A6182 */ mul.s $f6, $f12, $f10 -/* 0CCDB4 7F098284 E466FFFC */ swc1 $f6, -4($v1) -/* 0CCDB8 7F098288 C7A80440 */ lwc1 $f8, 0x440($sp) -/* 0CCDBC 7F09828C C466FFFC */ lwc1 $f6, -4($v1) -/* 0CCDC0 7F098290 46082382 */ mul.s $f14, $f4, $f8 -/* 0CCDC4 7F098294 C448FFFC */ lwc1 $f8, -4($v0) -/* 0CCDC8 7F098298 E48EFFFC */ swc1 $f14, -4($a0) -/* 0CCDCC 7F09829C C7AA0394 */ lwc1 $f10, 0x394($sp) -/* 0CCDD0 7F0982A0 46065102 */ mul.s $f4, $f10, $f6 -/* 0CCDD4 7F0982A4 460E2400 */ add.s $f16, $f4, $f14 -/* 0CCDD8 7F0982A8 E510FFFC */ swc1 $f16, -4($t0) -/* 0CCDDC 7F0982AC C7AA037C */ lwc1 $f10, 0x37c($sp) -/* 0CCDE0 7F0982B0 460A8182 */ mul.s $f6, $f16, $f10 -/* 0CCDE4 7F0982B4 46064101 */ sub.s $f4, $f8, $f6 -/* 0CCDE8 7F0982B8 1420FFD5 */ bnez $at, .L7F098210 -/* 0CCDEC 7F0982BC E4C4FFFC */ swc1 $f4, -4($a2) -/* 0CCDF0 7F0982C0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCDF4 7F0982C4 C7AC0210 */ lwc1 $f12, 0x210($sp) -/* 0CCDF8 7F0982C8 AFA20168 */ sw $v0, 0x168($sp) -/* 0CCDFC 7F0982CC 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE00 7F0982D0 C7AC0214 */ lwc1 $f12, 0x214($sp) -/* 0CCE04 7F0982D4 AFA20164 */ sw $v0, 0x164($sp) -/* 0CCE08 7F0982D8 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE0C 7F0982DC C7AC0218 */ lwc1 $f12, 0x218($sp) -/* 0CCE10 7F0982E0 AFA20160 */ sw $v0, 0x160($sp) -/* 0CCE14 7F0982E4 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE18 7F0982E8 C7AC021C */ lwc1 $f12, 0x21c($sp) -/* 0CCE1C 7F0982EC AFA2015C */ sw $v0, 0x15c($sp) -/* 0CCE20 7F0982F0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE24 7F0982F4 C7AC0290 */ lwc1 $f12, 0x290($sp) -/* 0CCE28 7F0982F8 AFA20158 */ sw $v0, 0x158($sp) -/* 0CCE2C 7F0982FC 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE30 7F098300 C7AC0294 */ lwc1 $f12, 0x294($sp) -/* 0CCE34 7F098304 AFA20154 */ sw $v0, 0x154($sp) -/* 0CCE38 7F098308 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE3C 7F09830C C7AC0298 */ lwc1 $f12, 0x298($sp) -/* 0CCE40 7F098310 AFA20150 */ sw $v0, 0x150($sp) -/* 0CCE44 7F098314 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE48 7F098318 C7AC029C */ lwc1 $f12, 0x29c($sp) -/* 0CCE4C 7F09831C AFA2014C */ sw $v0, 0x14c($sp) -/* 0CCE50 7F098320 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE54 7F098324 C7AC02B0 */ lwc1 $f12, 0x2b0($sp) -/* 0CCE58 7F098328 AFA20138 */ sw $v0, 0x138($sp) -/* 0CCE5C 7F09832C 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE60 7F098330 C7AC02B4 */ lwc1 $f12, 0x2b4($sp) -/* 0CCE64 7F098334 AFA20134 */ sw $v0, 0x134($sp) -/* 0CCE68 7F098338 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE6C 7F09833C C7AC02B8 */ lwc1 $f12, 0x2b8($sp) -/* 0CCE70 7F098340 AFA20130 */ sw $v0, 0x130($sp) -/* 0CCE74 7F098344 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE78 7F098348 C7AC02BC */ lwc1 $f12, 0x2bc($sp) -/* 0CCE7C 7F09834C AFA2012C */ sw $v0, 0x12c($sp) -/* 0CCE80 7F098350 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE84 7F098354 C7AC0230 */ lwc1 $f12, 0x230($sp) -/* 0CCE88 7F098358 AFA20148 */ sw $v0, 0x148($sp) -/* 0CCE8C 7F09835C 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE90 7F098360 C7AC0234 */ lwc1 $f12, 0x234($sp) -/* 0CCE94 7F098364 AFA20144 */ sw $v0, 0x144($sp) -/* 0CCE98 7F098368 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCE9C 7F09836C C7AC0238 */ lwc1 $f12, 0x238($sp) -/* 0CCEA0 7F098370 C7AC023C */ lwc1 $f12, 0x23c($sp) -/* 0CCEA4 7F098374 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CCEA8 7F098378 AFA20140 */ sw $v0, 0x140($sp) -/* 0CCEAC 7F09837C 8FAC0140 */ lw $t4, 0x140($sp) -/* 0CCEB0 7F098380 8FAD015C */ lw $t5, 0x15c($sp) -/* 0CCEB4 7F098384 8FBF0168 */ lw $ra, 0x168($sp) -/* 0CCEB8 7F098388 3C08B400 */ lui $t0, 0xb400 -/* 0CCEBC 7F09838C 02001825 */ move $v1, $s0 -/* 0CCEC0 7F098390 AC680000 */ sw $t0, ($v1) -/* 0CCEC4 7F098394 8FB90164 */ lw $t9, 0x164($sp) -/* 0CCEC8 7F098398 3C09FFFF */ lui $t1, 0xffff -/* 0CCECC 7F09839C 03E97824 */ and $t7, $ra, $t1 -/* 0CCED0 7F0983A0 03297024 */ and $t6, $t9, $t1 -/* 0CCED4 7F0983A4 000EC402 */ srl $t8, $t6, 0x10 -/* 0CCED8 7F0983A8 01F8C825 */ or $t9, $t7, $t8 -/* 0CCEDC 7F0983AC 26100008 */ addiu $s0, $s0, 8 -/* 0CCEE0 7F0983B0 3C0AB200 */ lui $t2, 0xb200 -/* 0CCEE4 7F0983B4 AC790004 */ sw $t9, 4($v1) -/* 0CCEE8 7F0983B8 02002025 */ move $a0, $s0 -/* 0CCEEC 7F0983BC AC8A0000 */ sw $t2, ($a0) -/* 0CCEF0 7F0983C0 8FAE0160 */ lw $t6, 0x160($sp) -/* 0CCEF4 7F0983C4 01A9C024 */ and $t8, $t5, $t1 -/* 0CCEF8 7F0983C8 0018CC02 */ srl $t9, $t8, 0x10 -/* 0CCEFC 7F0983CC 01C97824 */ and $t7, $t6, $t1 -/* 0CCF00 7F0983D0 01F97025 */ or $t6, $t7, $t9 -/* 0CCF04 7F0983D4 26100008 */ addiu $s0, $s0, 8 -/* 0CCF08 7F0983D8 AC8E0004 */ sw $t6, 4($a0) -/* 0CCF0C 7F0983DC 02002825 */ move $a1, $s0 -/* 0CCF10 7F0983E0 ACA80000 */ sw $t0, ($a1) -/* 0CCF14 7F0983E4 8FB90154 */ lw $t9, 0x154($sp) -/* 0CCF18 7F0983E8 8FB80158 */ lw $t8, 0x158($sp) -/* 0CCF1C 7F0983EC 26100008 */ addiu $s0, $s0, 8 -/* 0CCF20 7F0983F0 03297024 */ and $t6, $t9, $t1 -/* 0CCF24 7F0983F4 03097824 */ and $t7, $t8, $t1 -/* 0CCF28 7F0983F8 000EC402 */ srl $t8, $t6, 0x10 -/* 0CCF2C 7F0983FC 01F8C825 */ or $t9, $t7, $t8 -/* 0CCF30 7F098400 ACB90004 */ sw $t9, 4($a1) -/* 0CCF34 7F098404 8FAB014C */ lw $t3, 0x14c($sp) -/* 0CCF38 7F098408 02003025 */ move $a2, $s0 -/* 0CCF3C 7F09840C ACCA0000 */ sw $t2, ($a2) -/* 0CCF40 7F098410 8FAE0150 */ lw $t6, 0x150($sp) -/* 0CCF44 7F098414 0169C024 */ and $t8, $t3, $t1 -/* 0CCF48 7F098418 0018CC02 */ srl $t9, $t8, 0x10 -/* 0CCF4C 7F09841C 01C97824 */ and $t7, $t6, $t1 -/* 0CCF50 7F098420 01F97025 */ or $t6, $t7, $t9 -/* 0CCF54 7F098424 26100008 */ addiu $s0, $s0, 8 -/* 0CCF58 7F098428 ACCE0004 */ sw $t6, 4($a2) -/* 0CCF5C 7F09842C 02001825 */ move $v1, $s0 -/* 0CCF60 7F098430 AC680000 */ sw $t0, ($v1) -/* 0CCF64 7F098434 8FB90164 */ lw $t9, 0x164($sp) -/* 0CCF68 7F098438 001F7C00 */ sll $t7, $ra, 0x10 -/* 0CCF6C 7F09843C 26100008 */ addiu $s0, $s0, 8 -/* 0CCF70 7F098440 332EFFFF */ andi $t6, $t9, 0xffff -/* 0CCF74 7F098444 01EEC025 */ or $t8, $t7, $t6 -/* 0CCF78 7F098448 AC780004 */ sw $t8, 4($v1) -/* 0CCF7C 7F09844C 02002025 */ move $a0, $s0 -/* 0CCF80 7F098450 AC8A0000 */ sw $t2, ($a0) -/* 0CCF84 7F098454 8FAF0160 */ lw $t7, 0x160($sp) -/* 0CCF88 7F098458 31B8FFFF */ andi $t8, $t5, 0xffff -/* 0CCF8C 7F09845C 26100008 */ addiu $s0, $s0, 8 -/* 0CCF90 7F098460 000F7400 */ sll $t6, $t7, 0x10 -/* 0CCF94 7F098464 01D8C825 */ or $t9, $t6, $t8 -/* 0CCF98 7F098468 AC990004 */ sw $t9, 4($a0) -/* 0CCF9C 7F09846C 02003825 */ move $a3, $s0 -/* 0CCFA0 7F098470 ACE80000 */ sw $t0, ($a3) -/* 0CCFA4 7F098474 8FB90154 */ lw $t9, 0x154($sp) -/* 0CCFA8 7F098478 8FAE0158 */ lw $t6, 0x158($sp) -/* 0CCFAC 7F09847C 8FA80148 */ lw $t0, 0x148($sp) -/* 0CCFB0 7F098480 332FFFFF */ andi $t7, $t9, 0xffff -/* 0CCFB4 7F098484 000EC400 */ sll $t8, $t6, 0x10 -/* 0CCFB8 7F098488 8FA60144 */ lw $a2, 0x144($sp) -/* 0CCFBC 7F09848C 030F7025 */ or $t6, $t8, $t7 -/* 0CCFC0 7F098490 26100008 */ addiu $s0, $s0, 8 -/* 0CCFC4 7F098494 ACEE0004 */ sw $t6, 4($a3) -/* 0CCFC8 7F098498 02001825 */ move $v1, $s0 -/* 0CCFCC 7F09849C AC6A0000 */ sw $t2, ($v1) -/* 0CCFD0 7F0984A0 8FB80150 */ lw $t8, 0x150($sp) -/* 0CCFD4 7F0984A4 316EFFFF */ andi $t6, $t3, 0xffff -/* 0CCFD8 7F0984A8 26100008 */ addiu $s0, $s0, 8 -/* 0CCFDC 7F0984AC 00187C00 */ sll $t7, $t8, 0x10 -/* 0CCFE0 7F0984B0 01EEC825 */ or $t9, $t7, $t6 -/* 0CCFE4 7F0984B4 AC790004 */ sw $t9, 4($v1) -/* 0CCFE8 7F0984B8 3C18B400 */ lui $t8, 0xb400 -/* 0CCFEC 7F0984BC 02002025 */ move $a0, $s0 -/* 0CCFF0 7F0984C0 00C97024 */ and $t6, $a2, $t1 -/* 0CCFF4 7F0984C4 000ECC02 */ srl $t9, $t6, 0x10 -/* 0CCFF8 7F0984C8 AC980000 */ sw $t8, ($a0) -/* 0CCFFC 7F0984CC 01097824 */ and $t7, $t0, $t1 -/* 0CD000 7F0984D0 01F9C025 */ or $t8, $t7, $t9 -/* 0CD004 7F0984D4 26100008 */ addiu $s0, $s0, 8 -/* 0CD008 7F0984D8 AC980004 */ sw $t8, 4($a0) -/* 0CD00C 7F0984DC 02002825 */ move $a1, $s0 -/* 0CD010 7F0984E0 00497824 */ and $t7, $v0, $t1 -/* 0CD014 7F0984E4 000FCC02 */ srl $t9, $t7, 0x10 -/* 0CD018 7F0984E8 01897024 */ and $t6, $t4, $t1 -/* 0CD01C 7F0984EC 01D9C025 */ or $t8, $t6, $t9 -/* 0CD020 7F0984F0 ACB80004 */ sw $t8, 4($a1) -/* 0CD024 7F0984F4 ACAA0000 */ sw $t2, ($a1) -/* 0CD028 7F0984F8 26100008 */ addiu $s0, $s0, 8 -/* 0CD02C 7F0984FC 8FAD0130 */ lw $t5, 0x130($sp) -/* 0CD030 7F098500 3C07B400 */ lui $a3, %hi(0xB4000004) # $a3, 0xb400 -/* 0CD034 7F098504 02001825 */ move $v1, $s0 -/* 0CD038 7F098508 AC670000 */ sw $a3, ($v1) -/* 0CD03C 7F09850C 8FB90134 */ lw $t9, 0x134($sp) -/* 0CD040 7F098510 8FAF0138 */ lw $t7, 0x138($sp) -/* 0CD044 7F098514 26100008 */ addiu $s0, $s0, 8 -/* 0CD048 7F098518 0329C024 */ and $t8, $t9, $t1 -/* 0CD04C 7F09851C 01E97024 */ and $t6, $t7, $t1 -/* 0CD050 7F098520 00187C02 */ srl $t7, $t8, 0x10 -/* 0CD054 7F098524 01CFC825 */ or $t9, $t6, $t7 -/* 0CD058 7F098528 AC790004 */ sw $t9, 4($v1) -/* 0CD05C 7F09852C 3C18B200 */ lui $t8, 0xb200 -/* 0CD060 7F098530 02002025 */ move $a0, $s0 -/* 0CD064 7F098534 AC980000 */ sw $t8, ($a0) -/* 0CD068 7F098538 8FAF012C */ lw $t7, 0x12c($sp) -/* 0CD06C 7F09853C 01A97024 */ and $t6, $t5, $t1 -/* 0CD070 7F098540 26100008 */ addiu $s0, $s0, 8 -/* 0CD074 7F098544 01E9C824 */ and $t9, $t7, $t1 -/* 0CD078 7F098548 0019C402 */ srl $t8, $t9, 0x10 -/* 0CD07C 7F09854C 01D87825 */ or $t7, $t6, $t8 -/* 0CD080 7F098550 AC8F0004 */ sw $t7, 4($a0) -/* 0CD084 7F098554 02002825 */ move $a1, $s0 -/* 0CD088 7F098558 00087400 */ sll $t6, $t0, 0x10 -/* 0CD08C 7F09855C 30D8FFFF */ andi $t8, $a2, 0xffff -/* 0CD090 7F098560 01D87825 */ or $t7, $t6, $t8 -/* 0CD094 7F098564 26100008 */ addiu $s0, $s0, 8 -/* 0CD098 7F098568 ACAF0004 */ sw $t7, 4($a1) -/* 0CD09C 7F09856C ACA70000 */ sw $a3, ($a1) -/* 0CD0A0 7F098570 02005825 */ move $t3, $s0 -/* 0CD0A4 7F098574 3058FFFF */ andi $t8, $v0, 0xffff -/* 0CD0A8 7F098578 000C7400 */ sll $t6, $t4, 0x10 -/* 0CD0AC 7F09857C 01D87825 */ or $t7, $t6, $t8 -/* 0CD0B0 7F098580 26100008 */ addiu $s0, $s0, 8 -/* 0CD0B4 7F098584 3C1FB200 */ lui $ra, 0xb200 -/* 0CD0B8 7F098588 AD7F0000 */ sw $ra, ($t3) -/* 0CD0BC 7F09858C AD6F0004 */ sw $t7, 4($t3) -/* 0CD0C0 7F098590 02003825 */ move $a3, $s0 -/* 0CD0C4 7F098594 3C19B400 */ lui $t9, 0xb400 -/* 0CD0C8 7F098598 ACF90000 */ sw $t9, ($a3) -/* 0CD0CC 7F09859C 8FB90134 */ lw $t9, 0x134($sp) -/* 0CD0D0 7F0985A0 8FB80138 */ lw $t8, 0x138($sp) -/* 0CD0D4 7F0985A4 26100008 */ addiu $s0, $s0, 8 -/* 0CD0D8 7F0985A8 332EFFFF */ andi $t6, $t9, 0xffff -/* 0CD0DC 7F0985AC 00187C00 */ sll $t7, $t8, 0x10 -/* 0CD0E0 7F0985B0 01EEC025 */ or $t8, $t7, $t6 -/* 0CD0E4 7F0985B4 ACF80004 */ sw $t8, %lo(0xB4000004)($a3) -/* 0CD0E8 7F0985B8 02004025 */ move $t0, $s0 -/* 0CD0EC 7F0985BC AD1F0000 */ sw $ra, ($t0) -/* 0CD0F0 7F0985C0 8FAE012C */ lw $t6, 0x12c($sp) -/* 0CD0F4 7F0985C4 000D7C00 */ sll $t7, $t5, 0x10 -/* 0CD0F8 7F0985C8 3C013D00 */ li $at, 0x3D000000 # 0.031250 -/* 0CD0FC 7F0985CC 31D8FFFF */ andi $t8, $t6, 0xffff -/* 0CD100 7F0985D0 01F8C825 */ or $t9, $t7, $t8 -/* 0CD104 7F0985D4 AD190004 */ sw $t9, 4($t0) -/* 0CD108 7F0985D8 44817000 */ mtc1 $at, $f14 -/* 0CD10C 7F0985DC C7AA0330 */ lwc1 $f10, 0x330($sp) -/* 0CD110 7F0985E0 C7A60334 */ lwc1 $f6, 0x334($sp) -/* 0CD114 7F0985E4 26100008 */ addiu $s0, $s0, 8 -/* 0CD118 7F0985E8 460E5202 */ mul.s $f8, $f10, $f14 -/* 0CD11C 7F0985EC C7AA0368 */ lwc1 $f10, 0x368($sp) -/* 0CD120 7F0985F0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0CD124 7F0985F4 460E3102 */ mul.s $f4, $f6, $f14 -/* 0CD128 7F0985F8 27A201D0 */ addiu $v0, $sp, 0x1d0 -/* 0CD12C 7F0985FC 27A501B0 */ addiu $a1, $sp, 0x1b0 -/* 0CD130 7F098600 27A601D0 */ addiu $a2, $sp, 0x1d0 -/* 0CD134 7F098604 E7A80200 */ swc1 $f8, 0x200($sp) -/* 0CD138 7F098608 460E5202 */ mul.s $f8, $f10, $f14 -/* 0CD13C 7F09860C 27A402B0 */ addiu $a0, $sp, 0x2b0 -/* 0CD140 7F098610 E7A40204 */ swc1 $f4, 0x204($sp) -/* 0CD144 7F098614 27A30290 */ addiu $v1, $sp, 0x290 -/* 0CD148 7F098618 E7A80208 */ swc1 $f8, 0x208($sp) -.L7F09861C: -/* 0CD14C 7F09861C C4600000 */ lwc1 $f0, ($v1) -/* 0CD150 7F098620 4600A03E */ c.le.s $f20, $f0 -/* 0CD154 7F098624 00000000 */ nop -/* 0CD158 7F098628 45020004 */ bc1fl .L7F09863C -/* 0CD15C 7F09862C 46000307 */ neg.s $f12, $f0 -/* 0CD160 7F098630 10000002 */ b .L7F09863C -/* 0CD164 7F098634 46000306 */ mov.s $f12, $f0 -/* 0CD168 7F098638 46000307 */ neg.s $f12, $f0 -.L7F09863C: -/* 0CD16C 7F09863C C4820000 */ lwc1 $f2, ($a0) -/* 0CD170 7F098640 460E6182 */ mul.s $f6, $f12, $f14 -/* 0CD174 7F098644 4602A03E */ c.le.s $f20, $f2 -/* 0CD178 7F098648 00000000 */ nop -/* 0CD17C 7F09864C 45000003 */ bc1f .L7F09865C -/* 0CD180 7F098650 E4C60000 */ swc1 $f6, ($a2) -/* 0CD184 7F098654 10000002 */ b .L7F098660 -/* 0CD188 7F098658 46001306 */ mov.s $f12, $f2 -.L7F09865C: -/* 0CD18C 7F09865C 46001307 */ neg.s $f12, $f2 -.L7F098660: -/* 0CD190 7F098660 460E6102 */ mul.s $f4, $f12, $f14 -/* 0CD194 7F098664 24A50004 */ addiu $a1, $a1, 4 -/* 0CD198 7F098668 24840004 */ addiu $a0, $a0, 4 -/* 0CD19C 7F09866C 24630004 */ addiu $v1, $v1, 4 -/* 0CD1A0 7F098670 24C60004 */ addiu $a2, $a2, 4 -/* 0CD1A4 7F098674 14A2FFE9 */ bne $a1, $v0, .L7F09861C -/* 0CD1A8 7F098678 E4A4FFFC */ swc1 $f4, -4($a1) -/* 0CD1AC 7F09867C 44811000 */ mtc1 $at, $f2 -/* 0CD1B0 7F098680 C7A801E0 */ lwc1 $f8, 0x1e0($sp) -/* 0CD1B4 7F098684 C7AA0200 */ lwc1 $f10, 0x200($sp) -/* 0CD1B8 7F098688 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CD1BC 7F09868C 46081182 */ mul.s $f6, $f2, $f8 -/* 0CD1C0 7F098690 C7A801C0 */ lwc1 $f8, 0x1c0($sp) -/* 0CD1C4 7F098694 46065100 */ add.s $f4, $f10, $f6 -/* 0CD1C8 7F098698 C7A601E4 */ lwc1 $f6, 0x1e4($sp) -/* 0CD1CC 7F09869C C7AA0204 */ lwc1 $f10, 0x204($sp) -/* 0CD1D0 7F0986A0 46044000 */ add.s $f0, $f8, $f4 -/* 0CD1D4 7F0986A4 46061202 */ mul.s $f8, $f2, $f6 -/* 0CD1D8 7F0986A8 C7A601C4 */ lwc1 $f6, 0x1c4($sp) -/* 0CD1DC 7F0986AC 46085100 */ add.s $f4, $f10, $f8 -/* 0CD1E0 7F0986B0 C7A801E8 */ lwc1 $f8, 0x1e8($sp) -/* 0CD1E4 7F0986B4 C7AA0208 */ lwc1 $f10, 0x208($sp) -/* 0CD1E8 7F0986B8 46043300 */ add.s $f12, $f6, $f4 -/* 0CD1EC 7F0986BC 46081182 */ mul.s $f6, $f2, $f8 -/* 0CD1F0 7F0986C0 44811000 */ mtc1 $at, $f2 -/* 0CD1F4 7F0986C4 C7A801C8 */ lwc1 $f8, 0x1c8($sp) -/* 0CD1F8 7F0986C8 460C003C */ c.lt.s $f0, $f12 -/* 0CD1FC 7F0986CC 3C013A80 */ li $at, 0x3A800000 # 0.000977 -/* 0CD200 7F0986D0 E7AC01A4 */ swc1 $f12, 0x1a4($sp) -/* 0CD204 7F0986D4 46065100 */ add.s $f4, $f10, $f6 -/* 0CD208 7F0986D8 44815000 */ mtc1 $at, $f10 -/* 0CD20C 7F0986DC 45000003 */ bc1f .L7F0986EC -/* 0CD210 7F0986E0 46044380 */ add.s $f14, $f8, $f4 -/* 0CD214 7F0986E4 46006006 */ mov.s $f0, $f12 -/* 0CD218 7F0986E8 E7AC01A4 */ swc1 $f12, 0x1a4($sp) -.L7F0986EC: -/* 0CD21C 7F0986EC 460E003C */ c.lt.s $f0, $f14 -/* 0CD220 7F0986F0 E7AE01A8 */ swc1 $f14, 0x1a8($sp) -/* 0CD224 7F0986F4 45000003 */ bc1f .L7F098704 -/* 0CD228 7F0986F8 00000000 */ nop -/* 0CD22C 7F0986FC 46007006 */ mov.s $f0, $f14 -/* 0CD230 7F098700 E7AE01A8 */ swc1 $f14, 0x1a8($sp) -.L7F098704: -/* 0CD234 7F098704 460A0002 */ mul.s $f0, $f0, $f10 -/* 0CD238 7F098708 4600103C */ c.lt.s $f2, $f0 -/* 0CD23C 7F09870C 00000000 */ nop -/* 0CD240 7F098710 45020005 */ bc1fl .L7F098728 -/* 0CD244 7F098714 E7A001A0 */ swc1 $f0, 0x1a0($sp) -/* 0CD248 7F098718 46001503 */ div.s $f20, $f2, $f0 -/* 0CD24C 7F09871C 10000003 */ b .L7F09872C -/* 0CD250 7F098720 E7A001A0 */ swc1 $f0, 0x1a0($sp) -/* 0CD254 7F098724 E7A001A0 */ swc1 $f0, 0x1a0($sp) -.L7F098728: -/* 0CD258 7F098728 46001506 */ mov.s $f20, $f2 -.L7F09872C: -/* 0CD25C 7F09872C C7A60220 */ lwc1 $f6, 0x220($sp) -/* 0CD260 7F098730 E7B40190 */ swc1 $f20, 0x190($sp) -/* 0CD264 7F098734 4606A302 */ mul.s $f12, $f20, $f6 -/* 0CD268 7F098738 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD26C 7F09873C 00000000 */ nop -/* 0CD270 7F098740 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD274 7F098744 C7A80224 */ lwc1 $f8, 0x224($sp) -/* 0CD278 7F098748 AFA200E8 */ sw $v0, 0xe8($sp) -/* 0CD27C 7F09874C 4608A302 */ mul.s $f12, $f20, $f8 -/* 0CD280 7F098750 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD284 7F098754 00000000 */ nop -/* 0CD288 7F098758 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD28C 7F09875C C7A40228 */ lwc1 $f4, 0x228($sp) -/* 0CD290 7F098760 AFA200E4 */ sw $v0, 0xe4($sp) -/* 0CD294 7F098764 4604A302 */ mul.s $f12, $f20, $f4 -/* 0CD298 7F098768 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD29C 7F09876C 00000000 */ nop -/* 0CD2A0 7F098770 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD2A4 7F098774 C7AA02A0 */ lwc1 $f10, 0x2a0($sp) -/* 0CD2A8 7F098778 AFA200E0 */ sw $v0, 0xe0($sp) -/* 0CD2AC 7F09877C 460AA302 */ mul.s $f12, $f20, $f10 -/* 0CD2B0 7F098780 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD2B4 7F098784 00000000 */ nop -/* 0CD2B8 7F098788 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD2BC 7F09878C C7A602A4 */ lwc1 $f6, 0x2a4($sp) -/* 0CD2C0 7F098790 AFA200D8 */ sw $v0, 0xd8($sp) -/* 0CD2C4 7F098794 4606A302 */ mul.s $f12, $f20, $f6 -/* 0CD2C8 7F098798 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD2CC 7F09879C 00000000 */ nop -/* 0CD2D0 7F0987A0 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD2D4 7F0987A4 C7A802A8 */ lwc1 $f8, 0x2a8($sp) -/* 0CD2D8 7F0987A8 AFA200D4 */ sw $v0, 0xd4($sp) -/* 0CD2DC 7F0987AC 4608A302 */ mul.s $f12, $f20, $f8 -/* 0CD2E0 7F0987B0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD2E4 7F0987B4 00000000 */ nop -/* 0CD2E8 7F0987B8 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD2EC 7F0987BC C7A402C0 */ lwc1 $f4, 0x2c0($sp) -/* 0CD2F0 7F0987C0 AFA200D0 */ sw $v0, 0xd0($sp) -/* 0CD2F4 7F0987C4 4604A302 */ mul.s $f12, $f20, $f4 -/* 0CD2F8 7F0987C8 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD2FC 7F0987CC 00000000 */ nop -/* 0CD300 7F0987D0 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD304 7F0987D4 C7AA02C4 */ lwc1 $f10, 0x2c4($sp) -/* 0CD308 7F0987D8 AFA200B8 */ sw $v0, 0xb8($sp) -/* 0CD30C 7F0987DC 460AA302 */ mul.s $f12, $f20, $f10 -/* 0CD310 7F0987E0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD314 7F0987E4 00000000 */ nop -/* 0CD318 7F0987E8 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD31C 7F0987EC C7A602C8 */ lwc1 $f6, 0x2c8($sp) -/* 0CD320 7F0987F0 AFA200B4 */ sw $v0, 0xb4($sp) -/* 0CD324 7F0987F4 4606A302 */ mul.s $f12, $f20, $f6 -/* 0CD328 7F0987F8 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD32C 7F0987FC 00000000 */ nop -/* 0CD330 7F098800 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD334 7F098804 C7A80240 */ lwc1 $f8, 0x240($sp) -/* 0CD338 7F098808 AFA200B0 */ sw $v0, 0xb0($sp) -/* 0CD33C 7F09880C 4608A302 */ mul.s $f12, $f20, $f8 -/* 0CD340 7F098810 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD344 7F098814 00000000 */ nop -/* 0CD348 7F098818 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD34C 7F09881C C7A40244 */ lwc1 $f4, 0x244($sp) -/* 0CD350 7F098820 AFA200C8 */ sw $v0, 0xc8($sp) -/* 0CD354 7F098824 4604A302 */ mul.s $f12, $f20, $f4 -/* 0CD358 7F098828 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD35C 7F09882C 00000000 */ nop -/* 0CD360 7F098830 C7B40190 */ lwc1 $f20, 0x190($sp) -/* 0CD364 7F098834 C7AA0248 */ lwc1 $f10, 0x248($sp) -/* 0CD368 7F098838 AFA200C4 */ sw $v0, 0xc4($sp) -/* 0CD36C 7F09883C 460AA302 */ mul.s $f12, $f20, $f10 -/* 0CD370 7F098840 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CD374 7F098844 00000000 */ nop -/* 0CD378 7F098848 8FAD00E4 */ lw $t5, 0xe4($sp) -/* 0CD37C 7F09884C 8FAC00E8 */ lw $t4, 0xe8($sp) -/* 0CD380 7F098850 3C09FFFF */ lui $t1, 0xffff -/* 0CD384 7F098854 8FA600C4 */ lw $a2, 0xc4($sp) -/* 0CD388 7F098858 8FBF00E0 */ lw $ra, 0xe0($sp) -/* 0CD38C 7F09885C 3C0EB400 */ lui $t6, 0xb400 -/* 0CD390 7F098860 01A9C024 */ and $t8, $t5, $t1 -/* 0CD394 7F098864 0018CC02 */ srl $t9, $t8, 0x10 -/* 0CD398 7F098868 AE0E0000 */ sw $t6, ($s0) -/* 0CD39C 7F09886C 01897824 */ and $t7, $t4, $t1 -/* 0CD3A0 7F098870 01F97025 */ or $t6, $t7, $t9 -/* 0CD3A4 7F098874 26040008 */ addiu $a0, $s0, 8 -/* 0CD3A8 7F098878 AE0E0004 */ sw $t6, 4($s0) -/* 0CD3AC 7F09887C 3C18B200 */ lui $t8, 0xb200 -/* 0CD3B0 7F098880 03E97824 */ and $t7, $ra, $t1 -/* 0CD3B4 7F098884 AC8F0004 */ sw $t7, 4($a0) -/* 0CD3B8 7F098888 AC980000 */ sw $t8, ($a0) -/* 0CD3BC 7F09888C 24850008 */ addiu $a1, $a0, 8 -/* 0CD3C0 7F098890 3C19B400 */ lui $t9, 0xb400 -/* 0CD3C4 7F098894 ACB90000 */ sw $t9, ($a1) -/* 0CD3C8 7F098898 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 0CD3CC 7F09889C 8FAE00D8 */ lw $t6, 0xd8($sp) -/* 0CD3D0 7F0988A0 24A70008 */ addiu $a3, $a1, 8 -/* 0CD3D4 7F0988A4 01E9C824 */ and $t9, $t7, $t1 -/* 0CD3D8 7F0988A8 01C9C024 */ and $t8, $t6, $t1 -/* 0CD3DC 7F0988AC 00197402 */ srl $t6, $t9, 0x10 -/* 0CD3E0 7F0988B0 030E7825 */ or $t7, $t8, $t6 -/* 0CD3E4 7F0988B4 ACAF0004 */ sw $t7, 4($a1) -/* 0CD3E8 7F0988B8 8FAB00D0 */ lw $t3, 0xd0($sp) -/* 0CD3EC 7F0988BC 3C19B200 */ lui $t9, 0xb200 -/* 0CD3F0 7F0988C0 ACF90000 */ sw $t9, ($a3) -/* 0CD3F4 7F0988C4 0169C024 */ and $t8, $t3, $t1 -/* 0CD3F8 7F0988C8 ACF80004 */ sw $t8, 4($a3) -/* 0CD3FC 7F0988CC 24E30008 */ addiu $v1, $a3, 8 -/* 0CD400 7F0988D0 3C0EB400 */ lui $t6, 0xb400 -/* 0CD404 7F0988D4 AC6E0000 */ sw $t6, ($v1) -/* 0CD408 7F0988D8 31B8FFFF */ andi $t8, $t5, 0xffff -/* 0CD40C 7F0988DC 000CCC00 */ sll $t9, $t4, 0x10 -/* 0CD410 7F0988E0 03387025 */ or $t6, $t9, $t8 -/* 0CD414 7F0988E4 AC6E0004 */ sw $t6, 4($v1) -/* 0CD418 7F0988E8 24700008 */ addiu $s0, $v1, 8 -/* 0CD41C 7F0988EC 3C0FB200 */ lui $t7, 0xb200 -/* 0CD420 7F0988F0 001FC400 */ sll $t8, $ra, 0x10 -/* 0CD424 7F0988F4 AE180004 */ sw $t8, 4($s0) -/* 0CD428 7F0988F8 AE0F0000 */ sw $t7, ($s0) -/* 0CD42C 7F0988FC 26080008 */ addiu $t0, $s0, 8 -/* 0CD430 7F098900 3C0EB400 */ lui $t6, 0xb400 -/* 0CD434 7F098904 AD0E0000 */ sw $t6, ($t0) -/* 0CD438 7F098908 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0CD43C 7F09890C 8FB900D8 */ lw $t9, 0xd8($sp) -/* 0CD440 7F098910 8FA700C8 */ lw $a3, 0xc8($sp) -/* 0CD444 7F098914 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0CD448 7F098918 0019C400 */ sll $t8, $t9, 0x10 -/* 0CD44C 7F09891C 030FC825 */ or $t9, $t8, $t7 -/* 0CD450 7F098920 AD190004 */ sw $t9, 4($t0) -/* 0CD454 7F098924 25030008 */ addiu $v1, $t0, 8 -/* 0CD458 7F098928 3C0EB200 */ lui $t6, 0xb200 -/* 0CD45C 7F09892C 000B7C00 */ sll $t7, $t3, 0x10 -/* 0CD460 7F098930 AC6F0004 */ sw $t7, 4($v1) -/* 0CD464 7F098934 AC6E0000 */ sw $t6, ($v1) -/* 0CD468 7F098938 24640008 */ addiu $a0, $v1, 8 -/* 0CD46C 7F09893C 3C19B400 */ lui $t9, 0xb400 -/* 0CD470 7F098940 00C9C024 */ and $t8, $a2, $t1 -/* 0CD474 7F098944 00187C02 */ srl $t7, $t8, 0x10 -/* 0CD478 7F098948 AC990000 */ sw $t9, ($a0) -/* 0CD47C 7F09894C 00E97024 */ and $t6, $a3, $t1 -/* 0CD480 7F098950 01CFC825 */ or $t9, $t6, $t7 -/* 0CD484 7F098954 AC990004 */ sw $t9, 4($a0) -/* 0CD488 7F098958 24850008 */ addiu $a1, $a0, 8 -/* 0CD48C 7F09895C 00497024 */ and $t6, $v0, $t1 -/* 0CD490 7F098960 3C18B200 */ lui $t8, 0xb200 -/* 0CD494 7F098964 ACB80000 */ sw $t8, ($a1) -/* 0CD498 7F098968 ACAE0004 */ sw $t6, 4($a1) -/* 0CD49C 7F09896C 8FA800B4 */ lw $t0, 0xb4($sp) -/* 0CD4A0 7F098970 8FAC00B8 */ lw $t4, 0xb8($sp) -/* 0CD4A4 7F098974 00405025 */ move $t2, $v0 -/* 0CD4A8 7F098978 24B00008 */ addiu $s0, $a1, 8 -/* 0CD4AC 7F09897C 8FAB00B0 */ lw $t3, 0xb0($sp) -/* 0CD4B0 7F098980 02001025 */ move $v0, $s0 -/* 0CD4B4 7F098984 3C0FB400 */ lui $t7, 0xb400 -/* 0CD4B8 7F098988 0109C024 */ and $t8, $t0, $t1 -/* 0CD4BC 7F09898C 00187402 */ srl $t6, $t8, 0x10 -/* 0CD4C0 7F098990 AC4F0000 */ sw $t7, ($v0) -/* 0CD4C4 7F098994 0189C824 */ and $t9, $t4, $t1 -/* 0CD4C8 7F098998 032E7825 */ or $t7, $t9, $t6 -/* 0CD4CC 7F09899C AC4F0004 */ sw $t7, 4($v0) -/* 0CD4D0 7F0989A0 26030008 */ addiu $v1, $s0, 8 -/* 0CD4D4 7F0989A4 3C18B200 */ lui $t8, 0xb200 -/* 0CD4D8 7F0989A8 0169C824 */ and $t9, $t3, $t1 -/* 0CD4DC 7F0989AC AC790004 */ sw $t9, 4($v1) -/* 0CD4E0 7F0989B0 AC780000 */ sw $t8, ($v1) -/* 0CD4E4 7F0989B4 24700008 */ addiu $s0, $v1, 8 -/* 0CD4E8 7F0989B8 3C0EB400 */ lui $t6, 0xb400 -/* 0CD4EC 7F0989BC AE0E0000 */ sw $t6, ($s0) -/* 0CD4F0 7F0989C0 30D9FFFF */ andi $t9, $a2, 0xffff -/* 0CD4F4 7F0989C4 0007C400 */ sll $t8, $a3, 0x10 -/* 0CD4F8 7F0989C8 03197025 */ or $t6, $t8, $t9 -/* 0CD4FC 7F0989CC AE0E0004 */ sw $t6, 4($s0) -/* 0CD500 7F0989D0 26050008 */ addiu $a1, $s0, 8 -/* 0CD504 7F0989D4 000ACC00 */ sll $t9, $t2, 0x10 -/* 0CD508 7F0989D8 ACB90004 */ sw $t9, 4($a1) -/* 0CD50C 7F0989DC 3C0FB200 */ lui $t7, 0xb200 -/* 0CD510 7F0989E0 ACAF0000 */ sw $t7, ($a1) -/* 0CD514 7F0989E4 24A30008 */ addiu $v1, $a1, 8 -/* 0CD518 7F0989E8 3C0EB400 */ lui $t6, 0xb400 -/* 0CD51C 7F0989EC AC6E0000 */ sw $t6, ($v1) -/* 0CD520 7F0989F0 3119FFFF */ andi $t9, $t0, 0xffff -/* 0CD524 7F0989F4 000CC400 */ sll $t8, $t4, 0x10 -/* 0CD528 7F0989F8 03197025 */ or $t6, $t8, $t9 -/* 0CD52C 7F0989FC 24640008 */ addiu $a0, $v1, 8 -/* 0CD530 7F098A00 AC6E0004 */ sw $t6, 4($v1) -/* 0CD534 7F098A04 3C0FB300 */ lui $t7, 0xb300 -/* 0CD538 7F098A08 000BCC00 */ sll $t9, $t3, 0x10 -/* 0CD53C 7F098A0C AC990004 */ sw $t9, 4($a0) -/* 0CD540 7F098A10 AC8F0000 */ sw $t7, ($a0) -/* 0CD544 7F098A14 24820008 */ addiu $v0, $a0, 8 -.L7F098A18: -/* 0CD548 7F098A18 8FBF0024 */ lw $ra, 0x24($sp) -/* 0CD54C 7F098A1C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0CD550 7F098A20 8FB00020 */ lw $s0, 0x20($sp) -/* 0CD554 7F098A24 03E00008 */ jr $ra -/* 0CD558 7F098A28 27BD0488 */ addiu $sp, $sp, 0x488 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F098A2C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800575F8 -.word 0xc4eac000 /*-1878.0*/ -glabel D_800575FC -.word 0xc4eac000 /*-1878.0*/ -glabel D_80057600 -.word 0xc4eac000 /*-1878.0*/ -glabel D_80057604 -.word 0xc4eac000 /*-1878.0*/ -glabel D_80057608 -.word 0x44eaa000 /*1877.0*/ -glabel D_8005760C -.word 0x46fffe00 /*32767.0*/ -.text -glabel sub_GAME_7F098A2C -/* 0CD55C 7F098A2C 27BDFB30 */ addiu $sp, $sp, -0x4d0 -/* 0CD560 7F098A30 AFB00020 */ sw $s0, 0x20($sp) -/* 0CD564 7F098A34 00808025 */ move $s0, $a0 -/* 0CD568 7F098A38 AFBF0024 */ sw $ra, 0x24($sp) -/* 0CD56C 7F098A3C AFA504D4 */ sw $a1, 0x4d4($sp) -/* 0CD570 7F098A40 00A02025 */ move $a0, $a1 -/* 0CD574 7F098A44 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0CD578 7F098A48 AFA604D8 */ sw $a2, 0x4d8($sp) -/* 0CD57C 7F098A4C AFA704DC */ sw $a3, 0x4dc($sp) -/* 0CD580 7F098A50 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CD584 7F098A54 00C02825 */ move $a1, $a2 -/* 0CD588 7F098A58 14400015 */ bnez $v0, .L7F098AB0 -/* 0CD58C 7F098A5C 8FA404D8 */ lw $a0, 0x4d8($sp) -/* 0CD590 7F098A60 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CD594 7F098A64 8FA504DC */ lw $a1, 0x4dc($sp) -/* 0CD598 7F098A68 14400011 */ bnez $v0, .L7F098AB0 -/* 0CD59C 7F098A6C 8FA404DC */ lw $a0, 0x4dc($sp) -/* 0CD5A0 7F098A70 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CD5A4 7F098A74 8FA504D4 */ lw $a1, 0x4d4($sp) -/* 0CD5A8 7F098A78 1440000D */ bnez $v0, .L7F098AB0 -/* 0CD5AC 7F098A7C 8FA404E0 */ lw $a0, 0x4e0($sp) -/* 0CD5B0 7F098A80 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CD5B4 7F098A84 8FA504D4 */ lw $a1, 0x4d4($sp) -/* 0CD5B8 7F098A88 14400009 */ bnez $v0, .L7F098AB0 -/* 0CD5BC 7F098A8C 8FA404E0 */ lw $a0, 0x4e0($sp) -/* 0CD5C0 7F098A90 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CD5C4 7F098A94 8FA504D8 */ lw $a1, 0x4d8($sp) -/* 0CD5C8 7F098A98 14400005 */ bnez $v0, .L7F098AB0 -/* 0CD5CC 7F098A9C 8FA404E0 */ lw $a0, 0x4e0($sp) -/* 0CD5D0 7F098AA0 0FC25DED */ jal sub_GAME_7F0977B4 -/* 0CD5D4 7F098AA4 8FA504DC */ lw $a1, 0x4dc($sp) -/* 0CD5D8 7F098AA8 10400003 */ beqz $v0, .L7F098AB8 -/* 0CD5DC 7F098AAC C7A404E4 */ lwc1 $f4, 0x4e4($sp) -.L7F098AB0: -/* 0CD5E0 7F098AB0 10000606 */ b .L7F09A2CC -/* 0CD5E4 7F098AB4 02001025 */ move $v0, $s0 -.L7F098AB8: -/* 0CD5E8 7F098AB8 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CD5EC 7F098ABC 44813000 */ mtc1 $at, $f6 -/* 0CD5F0 7F098AC0 8FA304D4 */ lw $v1, 0x4d4($sp) -/* 0CD5F4 7F098AC4 8FA404DC */ lw $a0, 0x4dc($sp) -/* 0CD5F8 7F098AC8 46062203 */ div.s $f8, $f4, $f6 -/* 0CD5FC 7F098ACC 8FA904D8 */ lw $t1, 0x4d8($sp) -/* 0CD600 7F098AD0 00603825 */ move $a3, $v1 -/* 0CD604 7F098AD4 00804025 */ move $t0, $a0 -/* 0CD608 7F098AD8 01202825 */ move $a1, $t1 -/* 0CD60C 7F098ADC E7A803C0 */ swc1 $f8, 0x3c0($sp) -/* 0CD610 7F098AE0 C46C0028 */ lwc1 $f12, 0x28($v1) -/* 0CD614 7F098AE4 C4840028 */ lwc1 $f4, 0x28($a0) -/* 0CD618 7F098AE8 C460002C */ lwc1 $f0, 0x2c($v1) -/* 0CD61C 7F098AEC C52E002C */ lwc1 $f14, 0x2c($t1) -/* 0CD620 7F098AF0 460C2181 */ sub.s $f6, $f4, $f12 -/* 0CD624 7F098AF4 C52A0028 */ lwc1 $f10, 0x28($t1) -/* 0CD628 7F098AF8 46007081 */ sub.s $f2, $f14, $f0 -/* 0CD62C 7F098AFC E7A604B0 */ swc1 $f6, 0x4b0($sp) -/* 0CD630 7F098B00 C494002C */ lwc1 $f20, 0x2c($a0) -/* 0CD634 7F098B04 C7A804B0 */ lwc1 $f8, 0x4b0($sp) -/* 0CD638 7F098B08 460C5481 */ sub.s $f18, $f10, $f12 -/* 0CD63C 7F098B0C 46024282 */ mul.s $f10, $f8, $f2 -/* 0CD640 7F098B10 4600A401 */ sub.s $f16, $f20, $f0 -/* 0CD644 7F098B14 44814000 */ mtc1 $at, $f8 -/* 0CD648 7F098B18 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CD64C 7F098B1C 46109102 */ mul.s $f4, $f18, $f16 -/* 0CD650 7F098B20 4600703C */ c.lt.s $f14, $f0 -/* 0CD654 7F098B24 46045181 */ sub.s $f6, $f10, $f4 -/* 0CD658 7F098B28 44812000 */ mtc1 $at, $f4 -/* 0CD65C 7F098B2C 46083283 */ div.s $f10, $f6, $f8 -/* 0CD660 7F098B30 460A2183 */ div.s $f6, $f4, $f10 -/* 0CD664 7F098B34 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 0CD668 7F098B38 E7AA0488 */ swc1 $f10, 0x488($sp) -/* 0CD66C 7F098B3C E7A60050 */ swc1 $f6, 0x50($sp) -/* 0CD670 7F098B40 4500000A */ bc1f .L7F098B6C -/* 0CD674 7F098B44 E7A60484 */ swc1 $f6, 0x484($sp) -/* 0CD678 7F098B48 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0CD67C 7F098B4C 44811000 */ mtc1 $at, $f2 -/* 0CD680 7F098B50 00602825 */ move $a1, $v1 -/* 0CD684 7F098B54 01203825 */ move $a3, $t1 -/* 0CD688 7F098B58 46025302 */ mul.s $f12, $f10, $f2 -/* 0CD68C 7F098B5C 00000000 */ nop -/* 0CD690 7F098B60 46023382 */ mul.s $f14, $f6, $f2 -/* 0CD694 7F098B64 E7AC0488 */ swc1 $f12, 0x488($sp) -/* 0CD698 7F098B68 E7AE0484 */ swc1 $f14, 0x484($sp) -.L7F098B6C: -/* 0CD69C 7F098B6C C4A0002C */ lwc1 $f0, 0x2c($a1) -/* 0CD6A0 7F098B70 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0CD6A4 7F098B74 44811000 */ mtc1 $at, $f2 -/* 0CD6A8 7F098B78 4600A03C */ c.lt.s $f20, $f0 -/* 0CD6AC 7F098B7C C7AC0488 */ lwc1 $f12, 0x488($sp) -/* 0CD6B0 7F098B80 C7AE0484 */ lwc1 $f14, 0x484($sp) -/* 0CD6B4 7F098B84 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0CD6B8 7F098B88 45020006 */ bc1fl .L7F098BA4 -/* 0CD6BC 7F098B8C E7AE0484 */ swc1 $f14, 0x484($sp) -/* 0CD6C0 7F098B90 00A04025 */ move $t0, $a1 -/* 0CD6C4 7F098B94 46027382 */ mul.s $f14, $f14, $f2 -/* 0CD6C8 7F098B98 00802825 */ move $a1, $a0 -/* 0CD6CC 7F098B9C C480002C */ lwc1 $f0, 0x2c($a0) -/* 0CD6D0 7F098BA0 E7AE0484 */ swc1 $f14, 0x484($sp) -.L7F098BA4: -/* 0CD6D4 7F098BA4 C4E8002C */ lwc1 $f8, 0x2c($a3) -/* 0CD6D8 7F098BA8 4608003C */ c.lt.s $f0, $f8 -/* 0CD6DC 7F098BAC 44810000 */ mtc1 $at, $f0 -/* 0CD6E0 7F098BB0 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CD6E4 7F098BB4 44815000 */ mtc1 $at, $f10 -/* 0CD6E8 7F098BB8 45020007 */ bc1fl .L7F098BD8 -/* 0CD6EC 7F098BBC C4A40028 */ lwc1 $f4, 0x28($a1) -/* 0CD6F0 7F098BC0 46027382 */ mul.s $f14, $f14, $f2 -/* 0CD6F4 7F098BC4 00A01025 */ move $v0, $a1 -/* 0CD6F8 7F098BC8 00E02825 */ move $a1, $a3 -/* 0CD6FC 7F098BCC 00403825 */ move $a3, $v0 -/* 0CD700 7F098BD0 E7AE0484 */ swc1 $f14, 0x484($sp) -/* 0CD704 7F098BD4 C4A40028 */ lwc1 $f4, 0x28($a1) -.L7F098BD8: -/* 0CD708 7F098BD8 4480A000 */ mtc1 $zero, $f20 -/* 0CD70C 7F098BDC 3C0644EA */ lui $a2, (0x44EAA000 >> 16) # lui $a2, 0x44ea -/* 0CD710 7F098BE0 460A2182 */ mul.s $f6, $f4, $f10 -/* 0CD714 7F098BE4 E7B40468 */ swc1 $f20, 0x468($sp) -/* 0CD718 7F098BE8 44812000 */ mtc1 $at, $f4 -/* 0CD71C 7F098BEC 34C6A000 */ ori $a2, (0x44EAA000 & 0xFFFF) # ori $a2, $a2, 0xa000 -/* 0CD720 7F098BF0 E7A60464 */ swc1 $f6, 0x464($sp) -/* 0CD724 7F098BF4 C4E80028 */ lwc1 $f8, 0x28($a3) -/* 0CD728 7F098BF8 E7B40470 */ swc1 $f20, 0x470($sp) -/* 0CD72C 7F098BFC 46044282 */ mul.s $f10, $f8, $f4 -/* 0CD730 7F098C00 44814000 */ mtc1 $at, $f8 -/* 0CD734 7F098C04 E7AA046C */ swc1 $f10, 0x46c($sp) -/* 0CD738 7F098C08 C4E60028 */ lwc1 $f6, 0x28($a3) -/* 0CD73C 7F098C0C E7B40478 */ swc1 $f20, 0x478($sp) -/* 0CD740 7F098C10 E7B40480 */ swc1 $f20, 0x480($sp) -/* 0CD744 7F098C14 46083102 */ mul.s $f4, $f6, $f8 -/* 0CD748 7F098C18 E7B4047C */ swc1 $f20, 0x47c($sp) -/* 0CD74C 7F098C1C E7A40474 */ swc1 $f4, 0x474($sp) -/* 0CD750 7F098C20 C50A0028 */ lwc1 $f10, 0x28($t0) -/* 0CD754 7F098C24 E7AA048C */ swc1 $f10, 0x48c($sp) -/* 0CD758 7F098C28 C506002C */ lwc1 $f6, 0x2c($t0) -/* 0CD75C 7F098C2C E7A60490 */ swc1 $f6, 0x490($sp) -/* 0CD760 7F098C30 C4A80028 */ lwc1 $f8, 0x28($a1) -/* 0CD764 7F098C34 E7A80494 */ swc1 $f8, 0x494($sp) -/* 0CD768 7F098C38 C4A4002C */ lwc1 $f4, 0x2c($a1) -/* 0CD76C 7F098C3C C7A80494 */ lwc1 $f8, 0x494($sp) -/* 0CD770 7F098C40 E7A40498 */ swc1 $f4, 0x498($sp) -/* 0CD774 7F098C44 C4EA0028 */ lwc1 $f10, 0x28($a3) -/* 0CD778 7F098C48 E7AA049C */ swc1 $f10, 0x49c($sp) -/* 0CD77C 7F098C4C C4E6002C */ lwc1 $f6, 0x2c($a3) -/* 0CD780 7F098C50 C7AA0498 */ lwc1 $f10, 0x498($sp) -/* 0CD784 7F098C54 C7A4049C */ lwc1 $f4, 0x49c($sp) -/* 0CD788 7F098C58 E7A604A0 */ swc1 $f6, 0x4a0($sp) -/* 0CD78C 7F098C5C C7A604A0 */ lwc1 $f6, 0x4a0($sp) -/* 0CD790 7F098C60 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 0CD794 7F098C64 E7A80028 */ swc1 $f8, 0x28($sp) -/* 0CD798 7F098C68 46065081 */ sub.s $f2, $f10, $f6 -/* 0CD79C 7F098C6C C7AA0490 */ lwc1 $f10, 0x490($sp) -/* 0CD7A0 7F098C70 AFA804C4 */ sw $t0, 0x4c4($sp) -/* 0CD7A4 7F098C74 46044481 */ sub.s $f18, $f8, $f4 -/* 0CD7A8 7F098C78 C7A8048C */ lwc1 $f8, 0x48c($sp) -/* 0CD7AC 7F098C7C AFA704CC */ sw $a3, 0x4cc($sp) -/* 0CD7B0 7F098C80 46065401 */ sub.s $f16, $f10, $f6 -/* 0CD7B4 7F098C84 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 0CD7B8 7F098C88 AFA504C8 */ sw $a1, 0x4c8($sp) -/* 0CD7BC 7F098C8C 46044101 */ sub.s $f4, $f8, $f4 -/* 0CD7C0 7F098C90 E7B40440 */ swc1 $f20, 0x440($sp) -/* 0CD7C4 7F098C94 E7B4043C */ swc1 $f20, 0x43c($sp) -/* 0CD7C8 7F098C98 46064301 */ sub.s $f12, $f8, $f6 -/* 0CD7CC 7F098C9C C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 0CD7D0 7F098CA0 44813000 */ mtc1 $at, $f6 -/* 0CD7D4 7F098CA4 E7A404B0 */ swc1 $f4, 0x4b0($sp) -/* 0CD7D8 7F098CA8 46085381 */ sub.s $f14, $f10, $f8 -/* 0CD7DC 7F098CAC 46066282 */ mul.s $f10, $f12, $f6 -/* 0CD7E0 7F098CB0 44814000 */ mtc1 $at, $f8 -/* 0CD7E4 7F098CB4 E7AC04A8 */ swc1 $f12, 0x4a8($sp) -/* 0CD7E8 7F098CB8 E7AE04A4 */ swc1 $f14, 0x4a4($sp) -/* 0CD7EC 7F098CBC 46087182 */ mul.s $f6, $f14, $f8 -/* 0CD7F0 7F098CC0 E7B40420 */ swc1 $f20, 0x420($sp) -/* 0CD7F4 7F098CC4 E7B4041C */ swc1 $f20, 0x41c($sp) -/* 0CD7F8 7F098CC8 E7AA0424 */ swc1 $f10, 0x424($sp) -/* 0CD7FC 7F098CCC 44815000 */ mtc1 $at, $f10 -/* 0CD800 7F098CD0 E7B403E4 */ swc1 $f20, 0x3e4($sp) -/* 0CD804 7F098CD4 E7B403EC */ swc1 $f20, 0x3ec($sp) -/* 0CD808 7F098CD8 460A9202 */ mul.s $f8, $f18, $f10 -/* 0CD80C 7F098CDC E7A60428 */ swc1 $f6, 0x428($sp) -/* 0CD810 7F098CE0 44813000 */ mtc1 $at, $f6 -/* 0CD814 7F098CE4 E7B403F4 */ swc1 $f20, 0x3f4($sp) -/* 0CD818 7F098CE8 E7B40400 */ swc1 $f20, 0x400($sp) -/* 0CD81C 7F098CEC 46061282 */ mul.s $f10, $f2, $f6 -/* 0CD820 7F098CF0 E7B403FC */ swc1 $f20, 0x3fc($sp) -/* 0CD824 7F098CF4 E7A8042C */ swc1 $f8, 0x42c($sp) -/* 0CD828 7F098CF8 44814000 */ mtc1 $at, $f8 -/* 0CD82C 7F098CFC E7B403C4 */ swc1 $f20, 0x3c4($sp) -/* 0CD830 7F098D00 E7B403CC */ swc1 $f20, 0x3cc($sp) -/* 0CD834 7F098D04 46082182 */ mul.s $f6, $f4, $f8 -/* 0CD838 7F098D08 E7AA0430 */ swc1 $f10, 0x430($sp) -/* 0CD83C 7F098D0C 44815000 */ mtc1 $at, $f10 -/* 0CD840 7F098D10 3C018005 */ lui $at, %hi(D_800575F8) -/* 0CD844 7F098D14 E7B403D4 */ swc1 $f20, 0x3d4($sp) -/* 0CD848 7F098D18 460A8202 */ mul.s $f8, $f16, $f10 -/* 0CD84C 7F098D1C E7B403E0 */ swc1 $f20, 0x3e0($sp) -/* 0CD850 7F098D20 E7A60434 */ swc1 $f6, 0x434($sp) -/* 0CD854 7F098D24 46006182 */ mul.s $f6, $f12, $f0 -/* 0CD858 7F098D28 E7B403DC */ swc1 $f20, 0x3dc($sp) -/* 0CD85C 7F098D2C 46007282 */ mul.s $f10, $f14, $f0 -/* 0CD860 7F098D30 E7A80438 */ swc1 $f8, 0x438($sp) -/* 0CD864 7F098D34 C42E75F8 */ lwc1 $f14, %lo(D_800575F8)($at) -/* 0CD868 7F098D38 46009202 */ mul.s $f8, $f18, $f0 -/* 0CD86C 7F098D3C E7A60404 */ swc1 $f6, 0x404($sp) -/* 0CD870 7F098D40 46001182 */ mul.s $f6, $f2, $f0 -/* 0CD874 7F098D44 E7AA0408 */ swc1 $f10, 0x408($sp) -/* 0CD878 7F098D48 46002282 */ mul.s $f10, $f4, $f0 -/* 0CD87C 7F098D4C E7A8040C */ swc1 $f8, 0x40c($sp) -/* 0CD880 7F098D50 46008202 */ mul.s $f8, $f16, $f0 -/* 0CD884 7F098D54 E7A60410 */ swc1 $f6, 0x410($sp) -/* 0CD888 7F098D58 C7A604A4 */ lwc1 $f6, 0x4a4($sp) -/* 0CD88C 7F098D5C E7AA0414 */ swc1 $f10, 0x414($sp) -/* 0CD890 7F098D60 46060283 */ div.s $f10, $f0, $f6 -/* 0CD894 7F098D64 E7A80418 */ swc1 $f8, 0x418($sp) -/* 0CD898 7F098D68 46020203 */ div.s $f8, $f0, $f2 -/* 0CD89C 7F098D6C E7AA03E8 */ swc1 $f10, 0x3e8($sp) -/* 0CD8A0 7F098D70 46100283 */ div.s $f10, $f0, $f16 -/* 0CD8A4 7F098D74 E7A803F0 */ swc1 $f8, 0x3f0($sp) -/* 0CD8A8 7F098D78 C7A804A8 */ lwc1 $f8, 0x4a8($sp) -/* 0CD8AC 7F098D7C 46064303 */ div.s $f12, $f8, $f6 -/* 0CD8B0 7F098D80 E7AA03F8 */ swc1 $f10, 0x3f8($sp) -/* 0CD8B4 7F098D84 46029283 */ div.s $f10, $f18, $f2 -/* 0CD8B8 7F098D88 E7AC03C8 */ swc1 $f12, 0x3c8($sp) -/* 0CD8BC 7F098D8C 46102203 */ div.s $f8, $f4, $f16 -/* 0CD8C0 7F098D90 E7AA03D0 */ swc1 $f10, 0x3d0($sp) -/* 0CD8C4 7F098D94 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CD8C8 7F098D98 E7A803D8 */ swc1 $f8, 0x3d8($sp) -/* 0CD8CC 7F098D9C 3C018005 */ lui $at, %hi(D_800575FC) -/* 0CD8D0 7F098DA0 3C0644EA */ lui $a2, (0x44EAA000 >> 16) # lui $a2, 0x44ea -/* 0CD8D4 7F098DA4 E7A003C8 */ swc1 $f0, 0x3c8($sp) -/* 0CD8D8 7F098DA8 34C6A000 */ ori $a2, (0x44EAA000 & 0xFFFF) # ori $a2, $a2, 0xa000 -/* 0CD8DC 7F098DAC C42E75FC */ lwc1 $f14, %lo(D_800575FC)($at) -/* 0CD8E0 7F098DB0 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CD8E4 7F098DB4 C7AC03D0 */ lwc1 $f12, 0x3d0($sp) -/* 0CD8E8 7F098DB8 3C018005 */ lui $at, %hi(D_80057600) -/* 0CD8EC 7F098DBC 3C0644EA */ lui $a2, (0x44EAA000 >> 16) # lui $a2, 0x44ea -/* 0CD8F0 7F098DC0 E7A003D0 */ swc1 $f0, 0x3d0($sp) -/* 0CD8F4 7F098DC4 34C6A000 */ ori $a2, (0x44EAA000 & 0xFFFF) # ori $a2, $a2, 0xa000 -/* 0CD8F8 7F098DC8 C42E7600 */ lwc1 $f14, %lo(D_80057600)($at) -/* 0CD8FC 7F098DCC 0FC24F12 */ jal sub_GAME_7F093C48 -/* 0CD900 7F098DD0 C7AC03D8 */ lwc1 $f12, 0x3d8($sp) -/* 0CD904 7F098DD4 C7A6046C */ lwc1 $f6, 0x46c($sp) -/* 0CD908 7F098DD8 C7AA0474 */ lwc1 $f10, 0x474($sp) -/* 0CD90C 7F098DDC 8FAE04D4 */ lw $t6, 0x4d4($sp) -/* 0CD910 7F098DE0 8FB804D8 */ lw $t8, 0x4d8($sp) -/* 0CD914 7F098DE4 E7A003D8 */ swc1 $f0, 0x3d8($sp) -/* 0CD918 7F098DE8 E7A6044C */ swc1 $f6, 0x44c($sp) -/* 0CD91C 7F098DEC E7AA0454 */ swc1 $f10, 0x454($sp) -/* 0CD920 7F098DF0 C5C40028 */ lwc1 $f4, 0x28($t6) -/* 0CD924 7F098DF4 C7080028 */ lwc1 $f8, 0x28($t8) -/* 0CD928 7F098DF8 4608203C */ c.lt.s $f4, $f8 -/* 0CD92C 7F098DFC 00000000 */ nop -/* 0CD930 7F098E00 45020081 */ bc1fl .L7F099008 -/* 0CD934 7F098E04 8FAE04DC */ lw $t6, 0x4dc($sp) -/* 0CD938 7F098E08 8FB904DC */ lw $t9, 0x4dc($sp) -/* 0CD93C 7F098E0C 8FAF04E0 */ lw $t7, 0x4e0($sp) -/* 0CD940 7F098E10 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CD944 7F098E14 C726002C */ lwc1 $f6, 0x2c($t9) -/* 0CD948 7F098E18 C5EA002C */ lwc1 $f10, 0x2c($t7) -/* 0CD94C 7F098E1C 44814000 */ mtc1 $at, $f8 -/* 0CD950 7F098E20 460A3101 */ sub.s $f4, $f6, $f10 -/* 0CD954 7F098E24 4608203C */ c.lt.s $f4, $f8 -/* 0CD958 7F098E28 00000000 */ nop -/* 0CD95C 7F098E2C 45000004 */ bc1f .L7F098E40 -/* 0CD960 7F098E30 3C018005 */ lui $at, %hi(D_80057604) -/* 0CD964 7F098E34 C4267604 */ lwc1 $f6, %lo(D_80057604)($at) -/* 0CD968 7F098E38 10000010 */ b .L7F098E7C -/* 0CD96C 7F098E3C E7A601BC */ swc1 $f6, 0x1bc($sp) -.L7F098E40: -/* 0CD970 7F098E40 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CD974 7F098E44 00000000 */ nop -/* 0CD978 7F098E48 8FAE04DC */ lw $t6, 0x4dc($sp) -/* 0CD97C 7F098E4C 8FB804E0 */ lw $t8, 0x4e0($sp) -/* 0CD980 7F098E50 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CD984 7F098E54 C5CA002C */ lwc1 $f10, 0x2c($t6) -/* 0CD988 7F098E58 C704002C */ lwc1 $f4, 0x2c($t8) -/* 0CD98C 7F098E5C 44813000 */ mtc1 $at, $f6 -/* 0CD990 7F098E60 46045201 */ sub.s $f8, $f10, $f4 -/* 0CD994 7F098E64 44812000 */ mtc1 $at, $f4 -/* 0CD998 7F098E68 46064282 */ mul.s $f10, $f8, $f6 -/* 0CD99C 7F098E6C 46040201 */ sub.s $f8, $f0, $f4 -/* 0CD9A0 7F098E70 46004187 */ neg.s $f6, $f8 -/* 0CD9A4 7F098E74 460A3103 */ div.s $f4, $f6, $f10 -/* 0CD9A8 7F098E78 E7A401BC */ swc1 $f4, 0x1bc($sp) -.L7F098E7C: -/* 0CD9AC 7F098E7C 3C05B400 */ lui $a1, 0xb400 -/* 0CD9B0 7F098E80 02001025 */ move $v0, $s0 -/* 0CD9B4 7F098E84 AC450000 */ sw $a1, ($v0) -/* 0CD9B8 7F098E88 8FB904DC */ lw $t9, 0x4dc($sp) -/* 0CD9BC 7F098E8C 3C01CE80 */ lui $at, 0xce80 -/* 0CD9C0 7F098E90 26100008 */ addiu $s0, $s0, 8 -/* 0CD9C4 7F098E94 C728002C */ lwc1 $f8, 0x2c($t9) -/* 0CD9C8 7F098E98 3C19B200 */ lui $t9, 0xb200 -/* 0CD9CC 7F098E9C 02001825 */ move $v1, $s0 -/* 0CD9D0 7F098EA0 4600418D */ trunc.w.s $f6, $f8 -/* 0CD9D4 7F098EA4 26100008 */ addiu $s0, $s0, 8 -/* 0CD9D8 7F098EA8 02002025 */ move $a0, $s0 -/* 0CD9DC 7F098EAC 26100008 */ addiu $s0, $s0, 8 -/* 0CD9E0 7F098EB0 440E3000 */ mfc1 $t6, $f6 -/* 0CD9E4 7F098EB4 00000000 */ nop -/* 0CD9E8 7F098EB8 01C1C025 */ or $t8, $t6, $at -/* 0CD9EC 7F098EBC AC580004 */ sw $t8, 4($v0) -/* 0CD9F0 7F098EC0 AC790000 */ sw $t9, ($v1) -/* 0CD9F4 7F098EC4 8FAF04E0 */ lw $t7, 0x4e0($sp) -/* 0CD9F8 7F098EC8 C5EA002C */ lwc1 $f10, 0x2c($t7) -/* 0CD9FC 7F098ECC 8FAF04D4 */ lw $t7, 0x4d4($sp) -/* 0CDA00 7F098ED0 4600510D */ trunc.w.s $f4, $f10 -/* 0CDA04 7F098ED4 C5E8002C */ lwc1 $f8, 0x2c($t7) -/* 0CDA08 7F098ED8 4600418D */ trunc.w.s $f6, $f8 -/* 0CDA0C 7F098EDC 44182000 */ mfc1 $t8, $f4 -/* 0CDA10 7F098EE0 00000000 */ nop -/* 0CDA14 7F098EE4 0018CC00 */ sll $t9, $t8, 0x10 -/* 0CDA18 7F098EE8 44183000 */ mfc1 $t8, $f6 -/* 0CDA1C 7F098EEC 00000000 */ nop -/* 0CDA20 7F098EF0 03387825 */ or $t7, $t9, $t8 -/* 0CDA24 7F098EF4 AC6F0004 */ sw $t7, 4($v1) -/* 0CDA28 7F098EF8 AC850000 */ sw $a1, ($a0) -/* 0CDA2C 7F098EFC 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CDA30 7F098F00 AFA401B0 */ sw $a0, 0x1b0($sp) -/* 0CDA34 7F098F04 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CDA38 7F098F08 E7A0005C */ swc1 $f0, 0x5c($sp) -/* 0CDA3C 7F098F0C C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0CDA40 7F098F10 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CDA44 7F098F14 44814000 */ mtc1 $at, $f8 -/* 0CDA48 7F098F18 460A0100 */ add.s $f4, $f0, $f10 -/* 0CDA4C 7F098F1C 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDA50 7F098F20 46082301 */ sub.s $f12, $f4, $f8 -/* 0CDA54 7F098F24 8FAE01B0 */ lw $t6, 0x1b0($sp) -/* 0CDA58 7F098F28 02001825 */ move $v1, $s0 -/* 0CDA5C 7F098F2C 3C19B200 */ lui $t9, 0xb200 -/* 0CDA60 7F098F30 ADC20004 */ sw $v0, 4($t6) -/* 0CDA64 7F098F34 AC790000 */ sw $t9, ($v1) -/* 0CDA68 7F098F38 AFA301AC */ sw $v1, 0x1ac($sp) -/* 0CDA6C 7F098F3C C7AC01BC */ lwc1 $f12, 0x1bc($sp) -/* 0CDA70 7F098F40 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDA74 7F098F44 26100008 */ addiu $s0, $s0, 8 -/* 0CDA78 7F098F48 8FA301AC */ lw $v1, 0x1ac($sp) -/* 0CDA7C 7F098F4C 02002025 */ move $a0, $s0 -/* 0CDA80 7F098F50 3C18B400 */ lui $t8, 0xb400 -/* 0CDA84 7F098F54 AC620004 */ sw $v0, 4($v1) -/* 0CDA88 7F098F58 AC980000 */ sw $t8, ($a0) -/* 0CDA8C 7F098F5C AFA401A8 */ sw $a0, 0x1a8($sp) -/* 0CDA90 7F098F60 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CDA94 7F098F64 26100008 */ addiu $s0, $s0, 8 -/* 0CDA98 7F098F68 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDA9C 7F098F6C 46000306 */ mov.s $f12, $f0 -/* 0CDAA0 7F098F70 8FAF01A8 */ lw $t7, 0x1a8($sp) -/* 0CDAA4 7F098F74 02001825 */ move $v1, $s0 -/* 0CDAA8 7F098F78 3C0EB200 */ lui $t6, 0xb200 -/* 0CDAAC 7F098F7C ADE20004 */ sw $v0, 4($t7) -/* 0CDAB0 7F098F80 AC6E0000 */ sw $t6, ($v1) -/* 0CDAB4 7F098F84 AFA301A4 */ sw $v1, 0x1a4($sp) -/* 0CDAB8 7F098F88 26100008 */ addiu $s0, $s0, 8 -/* 0CDABC 7F098F8C 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDAC0 7F098F90 4600A306 */ mov.s $f12, $f20 -/* 0CDAC4 7F098F94 8FA301A4 */ lw $v1, 0x1a4($sp) -/* 0CDAC8 7F098F98 02002025 */ move $a0, $s0 -/* 0CDACC 7F098F9C 3C19B400 */ lui $t9, 0xb400 -/* 0CDAD0 7F098FA0 AC620004 */ sw $v0, 4($v1) -/* 0CDAD4 7F098FA4 AC990000 */ sw $t9, ($a0) -/* 0CDAD8 7F098FA8 AFA401A0 */ sw $a0, 0x1a0($sp) -/* 0CDADC 7F098FAC 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CDAE0 7F098FB0 26100008 */ addiu $s0, $s0, 8 -/* 0CDAE4 7F098FB4 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CDAE8 7F098FB8 E7A0005C */ swc1 $f0, 0x5c($sp) -/* 0CDAEC 7F098FBC C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 0CDAF0 7F098FC0 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CDAF4 7F098FC4 44812000 */ mtc1 $at, $f4 -/* 0CDAF8 7F098FC8 46060280 */ add.s $f10, $f0, $f6 -/* 0CDAFC 7F098FCC 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDB00 7F098FD0 46045301 */ sub.s $f12, $f10, $f4 -/* 0CDB04 7F098FD4 8FB801A0 */ lw $t8, 0x1a0($sp) -/* 0CDB08 7F098FD8 02001825 */ move $v1, $s0 -/* 0CDB0C 7F098FDC 3C0FB200 */ lui $t7, 0xb200 -/* 0CDB10 7F098FE0 AF020004 */ sw $v0, 4($t8) -/* 0CDB14 7F098FE4 AC6F0000 */ sw $t7, ($v1) -/* 0CDB18 7F098FE8 AFA3019C */ sw $v1, 0x19c($sp) -/* 0CDB1C 7F098FEC 26100008 */ addiu $s0, $s0, 8 -/* 0CDB20 7F098FF0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDB24 7F098FF4 4600A306 */ mov.s $f12, $f20 -/* 0CDB28 7F098FF8 8FA3019C */ lw $v1, 0x19c($sp) -/* 0CDB2C 7F098FFC 10000078 */ b .L7F0991E0 -/* 0CDB30 7F099000 AC620004 */ sw $v0, 4($v1) -/* 0CDB34 7F099004 8FAE04DC */ lw $t6, 0x4dc($sp) -.L7F099008: -/* 0CDB38 7F099008 8FB904E0 */ lw $t9, 0x4e0($sp) -/* 0CDB3C 7F09900C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CDB40 7F099010 C5C8002C */ lwc1 $f8, 0x2c($t6) -/* 0CDB44 7F099014 C726002C */ lwc1 $f6, 0x2c($t9) -/* 0CDB48 7F099018 44812000 */ mtc1 $at, $f4 -/* 0CDB4C 7F09901C 46064281 */ sub.s $f10, $f8, $f6 -/* 0CDB50 7F099020 4604503C */ c.lt.s $f10, $f4 -/* 0CDB54 7F099024 00000000 */ nop -/* 0CDB58 7F099028 45000003 */ bc1f .L7F099038 -/* 0CDB5C 7F09902C 3C018005 */ lui $at, %hi(D_80057608) -/* 0CDB60 7F099030 1000000E */ b .L7F09906C -/* 0CDB64 7F099034 C42E7608 */ lwc1 $f14, %lo(D_80057608)($at) -.L7F099038: -/* 0CDB68 7F099038 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CDB6C 7F09903C 00000000 */ nop -/* 0CDB70 7F099040 8FB804DC */ lw $t8, 0x4dc($sp) -/* 0CDB74 7F099044 8FAF04E0 */ lw $t7, 0x4e0($sp) -/* 0CDB78 7F099048 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CDB7C 7F09904C C708002C */ lwc1 $f8, 0x2c($t8) -/* 0CDB80 7F099050 C5E6002C */ lwc1 $f6, 0x2c($t7) -/* 0CDB84 7F099054 44812000 */ mtc1 $at, $f4 -/* 0CDB88 7F099058 46064281 */ sub.s $f10, $f8, $f6 -/* 0CDB8C 7F09905C 44813000 */ mtc1 $at, $f6 -/* 0CDB90 7F099060 46045202 */ mul.s $f8, $f10, $f4 -/* 0CDB94 7F099064 46060281 */ sub.s $f10, $f0, $f6 -/* 0CDB98 7F099068 46085383 */ div.s $f14, $f10, $f8 -.L7F09906C: -/* 0CDB9C 7F09906C 02001025 */ move $v0, $s0 -/* 0CDBA0 7F099070 3C0EB400 */ lui $t6, 0xb400 -/* 0CDBA4 7F099074 AC4E0000 */ sw $t6, ($v0) -/* 0CDBA8 7F099078 8FB904DC */ lw $t9, 0x4dc($sp) -/* 0CDBAC 7F09907C 3C01CE00 */ lui $at, 0xce00 -/* 0CDBB0 7F099080 26100008 */ addiu $s0, $s0, 8 -/* 0CDBB4 7F099084 C724002C */ lwc1 $f4, 0x2c($t9) -/* 0CDBB8 7F099088 3C19B200 */ lui $t9, 0xb200 -/* 0CDBBC 7F09908C 02001825 */ move $v1, $s0 -/* 0CDBC0 7F099090 4600218D */ trunc.w.s $f6, $f4 -/* 0CDBC4 7F099094 26100008 */ addiu $s0, $s0, 8 -/* 0CDBC8 7F099098 02002025 */ move $a0, $s0 -/* 0CDBCC 7F09909C 26100008 */ addiu $s0, $s0, 8 -/* 0CDBD0 7F0990A0 440F3000 */ mfc1 $t7, $f6 -/* 0CDBD4 7F0990A4 00000000 */ nop -/* 0CDBD8 7F0990A8 01E17025 */ or $t6, $t7, $at -/* 0CDBDC 7F0990AC AC4E0004 */ sw $t6, 4($v0) -/* 0CDBE0 7F0990B0 AC790000 */ sw $t9, ($v1) -/* 0CDBE4 7F0990B4 8FB804E0 */ lw $t8, 0x4e0($sp) -/* 0CDBE8 7F0990B8 3C0FB400 */ lui $t7, 0xb400 -/* 0CDBEC 7F0990BC C70A002C */ lwc1 $f10, 0x2c($t8) -/* 0CDBF0 7F0990C0 8FB804D4 */ lw $t8, 0x4d4($sp) -/* 0CDBF4 7F0990C4 4600520D */ trunc.w.s $f8, $f10 -/* 0CDBF8 7F0990C8 C704002C */ lwc1 $f4, 0x2c($t8) -/* 0CDBFC 7F0990CC 4600218D */ trunc.w.s $f6, $f4 -/* 0CDC00 7F0990D0 440E4000 */ mfc1 $t6, $f8 -/* 0CDC04 7F0990D4 00000000 */ nop -/* 0CDC08 7F0990D8 000ECC00 */ sll $t9, $t6, 0x10 -/* 0CDC0C 7F0990DC 440E3000 */ mfc1 $t6, $f6 -/* 0CDC10 7F0990E0 00000000 */ nop -/* 0CDC14 7F0990E4 032EC025 */ or $t8, $t9, $t6 -/* 0CDC18 7F0990E8 AC780004 */ sw $t8, 4($v1) -/* 0CDC1C 7F0990EC AC8F0000 */ sw $t7, ($a0) -/* 0CDC20 7F0990F0 E7AE0198 */ swc1 $f14, 0x198($sp) -/* 0CDC24 7F0990F4 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CDC28 7F0990F8 AFA4018C */ sw $a0, 0x18c($sp) -/* 0CDC2C 7F0990FC 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDC30 7F099100 46000306 */ mov.s $f12, $f0 -/* 0CDC34 7F099104 8FB9018C */ lw $t9, 0x18c($sp) -/* 0CDC38 7F099108 C7AC0198 */ lwc1 $f12, 0x198($sp) -/* 0CDC3C 7F09910C 02001825 */ move $v1, $s0 -/* 0CDC40 7F099110 3C0EB200 */ lui $t6, 0xb200 -/* 0CDC44 7F099114 AF220004 */ sw $v0, 4($t9) -/* 0CDC48 7F099118 AC6E0000 */ sw $t6, ($v1) -/* 0CDC4C 7F09911C AFA30188 */ sw $v1, 0x188($sp) -/* 0CDC50 7F099120 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDC54 7F099124 26100008 */ addiu $s0, $s0, 8 -/* 0CDC58 7F099128 8FA30188 */ lw $v1, 0x188($sp) -/* 0CDC5C 7F09912C 02002025 */ move $a0, $s0 -/* 0CDC60 7F099130 3C18B400 */ lui $t8, 0xb400 -/* 0CDC64 7F099134 AC620004 */ sw $v0, 4($v1) -/* 0CDC68 7F099138 AC980000 */ sw $t8, ($a0) -/* 0CDC6C 7F09913C AFA40184 */ sw $a0, 0x184($sp) -/* 0CDC70 7F099140 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CDC74 7F099144 26100008 */ addiu $s0, $s0, 8 -/* 0CDC78 7F099148 0FC1E129 */ jal getPlayer_c_screenwidth -/* 0CDC7C 7F09914C E7A0005C */ swc1 $f0, 0x5c($sp) -/* 0CDC80 7F099150 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0CDC84 7F099154 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CDC88 7F099158 44812000 */ mtc1 $at, $f4 -/* 0CDC8C 7F09915C 460A0200 */ add.s $f8, $f0, $f10 -/* 0CDC90 7F099160 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDC94 7F099164 46044301 */ sub.s $f12, $f8, $f4 -/* 0CDC98 7F099168 8FAF0184 */ lw $t7, 0x184($sp) -/* 0CDC9C 7F09916C 02001825 */ move $v1, $s0 -/* 0CDCA0 7F099170 3C19B200 */ lui $t9, 0xb200 -/* 0CDCA4 7F099174 ADE20004 */ sw $v0, 4($t7) -/* 0CDCA8 7F099178 AC790000 */ sw $t9, ($v1) -/* 0CDCAC 7F09917C AFA30180 */ sw $v1, 0x180($sp) -/* 0CDCB0 7F099180 26100008 */ addiu $s0, $s0, 8 -/* 0CDCB4 7F099184 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDCB8 7F099188 4600A306 */ mov.s $f12, $f20 -/* 0CDCBC 7F09918C 8FA30180 */ lw $v1, 0x180($sp) -/* 0CDCC0 7F099190 02002025 */ move $a0, $s0 -/* 0CDCC4 7F099194 3C0EB400 */ lui $t6, 0xb400 -/* 0CDCC8 7F099198 AC620004 */ sw $v0, 4($v1) -/* 0CDCCC 7F09919C AC8E0000 */ sw $t6, ($a0) -/* 0CDCD0 7F0991A0 AFA4017C */ sw $a0, 0x17c($sp) -/* 0CDCD4 7F0991A4 0FC1E131 */ jal getPlayer_c_screenleft -/* 0CDCD8 7F0991A8 26100008 */ addiu $s0, $s0, 8 -/* 0CDCDC 7F0991AC 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDCE0 7F0991B0 46000306 */ mov.s $f12, $f0 -/* 0CDCE4 7F0991B4 8FB8017C */ lw $t8, 0x17c($sp) -/* 0CDCE8 7F0991B8 02001825 */ move $v1, $s0 -/* 0CDCEC 7F0991BC 3C0FB200 */ lui $t7, 0xb200 -/* 0CDCF0 7F0991C0 AF020004 */ sw $v0, 4($t8) -/* 0CDCF4 7F0991C4 AC6F0000 */ sw $t7, ($v1) -/* 0CDCF8 7F0991C8 AFA30178 */ sw $v1, 0x178($sp) -/* 0CDCFC 7F0991CC 26100008 */ addiu $s0, $s0, 8 -/* 0CDD00 7F0991D0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CDD04 7F0991D4 4600A306 */ mov.s $f12, $f20 -/* 0CDD08 7F0991D8 8FA30178 */ lw $v1, 0x178($sp) -/* 0CDD0C 7F0991DC AC620004 */ sw $v0, 4($v1) -.L7F0991E0: -/* 0CDD10 7F0991E0 8FA804CC */ lw $t0, 0x4cc($sp) -/* 0CDD14 7F0991E4 C7A003C0 */ lwc1 $f0, 0x3c0($sp) -/* 0CDD18 7F0991E8 8FA704C8 */ lw $a3, 0x4c8($sp) -/* 0CDD1C 7F0991EC C506000C */ lwc1 $f6, 0xc($t0) -/* 0CDD20 7F0991F0 8FA904C4 */ lw $t1, 0x4c4($sp) -/* 0CDD24 7F0991F4 8FAB04E0 */ lw $t3, 0x4e0($sp) -/* 0CDD28 7F0991F8 46003282 */ mul.s $f10, $f6, $f0 -/* 0CDD2C 7F0991FC 3C018005 */ lui $at, %hi(D_8005760C) -/* 0CDD30 7F099200 E7AA03B0 */ swc1 $f10, 0x3b0($sp) -/* 0CDD34 7F099204 C4E8000C */ lwc1 $f8, 0xc($a3) -/* 0CDD38 7F099208 C7B003B0 */ lwc1 $f16, 0x3b0($sp) -/* 0CDD3C 7F09920C 46004102 */ mul.s $f4, $f8, $f0 -/* 0CDD40 7F099210 E7A403B4 */ swc1 $f4, 0x3b4($sp) -/* 0CDD44 7F099214 C526000C */ lwc1 $f6, 0xc($t1) -/* 0CDD48 7F099218 46003282 */ mul.s $f10, $f6, $f0 -/* 0CDD4C 7F09921C C7A603B4 */ lwc1 $f6, 0x3b4($sp) -/* 0CDD50 7F099220 4610303C */ c.lt.s $f6, $f16 -/* 0CDD54 7F099224 E7AA03B8 */ swc1 $f10, 0x3b8($sp) -/* 0CDD58 7F099228 C568000C */ lwc1 $f8, 0xc($t3) -/* 0CDD5C 7F09922C 46004102 */ mul.s $f4, $f8, $f0 -/* 0CDD60 7F099230 C7A003B8 */ lwc1 $f0, 0x3b8($sp) -/* 0CDD64 7F099234 45000002 */ bc1f .L7F099240 -/* 0CDD68 7F099238 E7A403BC */ swc1 $f4, 0x3bc($sp) -/* 0CDD6C 7F09923C 46003406 */ mov.s $f16, $f6 -.L7F099240: -/* 0CDD70 7F099240 4610003C */ c.lt.s $f0, $f16 -/* 0CDD74 7F099244 00000000 */ nop -/* 0CDD78 7F099248 45020003 */ bc1fl .L7F099258 -/* 0CDD7C 7F09924C C7A003BC */ lwc1 $f0, 0x3bc($sp) -/* 0CDD80 7F099250 46000406 */ mov.s $f16, $f0 -/* 0CDD84 7F099254 C7A003BC */ lwc1 $f0, 0x3bc($sp) -.L7F099258: -/* 0CDD88 7F099258 4610003C */ c.lt.s $f0, $f16 -/* 0CDD8C 7F09925C 00000000 */ nop -/* 0CDD90 7F099260 45000002 */ bc1f .L7F09926C -/* 0CDD94 7F099264 00000000 */ nop -/* 0CDD98 7F099268 46000406 */ mov.s $f16, $f0 -.L7F09926C: -/* 0CDD9C 7F09926C C420760C */ lwc1 $f0, %lo(D_8005760C)($at) -/* 0CDDA0 7F099270 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0CDDA4 7F099274 44815000 */ mtc1 $at, $f10 -/* 0CDDA8 7F099278 C5080034 */ lwc1 $f8, 0x34($t0) -/* 0CDDAC 7F09927C 460A8402 */ mul.s $f16, $f16, $f10 -/* 0CDDB0 7F099280 00000000 */ nop -/* 0CDDB4 7F099284 46104102 */ mul.s $f4, $f8, $f16 -/* 0CDDB8 7F099288 E7A4039C */ swc1 $f4, 0x39c($sp) -/* 0CDDBC 7F09928C C4E60034 */ lwc1 $f6, 0x34($a3) -/* 0CDDC0 7F099290 46103282 */ mul.s $f10, $f6, $f16 -/* 0CDDC4 7F099294 E7AA03A0 */ swc1 $f10, 0x3a0($sp) -/* 0CDDC8 7F099298 C5280034 */ lwc1 $f8, 0x34($t1) -/* 0CDDCC 7F09929C 46104102 */ mul.s $f4, $f8, $f16 -/* 0CDDD0 7F0992A0 C7A8039C */ lwc1 $f8, 0x39c($sp) -/* 0CDDD4 7F0992A4 E7A403A4 */ swc1 $f4, 0x3a4($sp) -/* 0CDDD8 7F0992A8 C5660034 */ lwc1 $f6, 0x34($t3) -/* 0CDDDC 7F0992AC 46103282 */ mul.s $f10, $f6, $f16 -/* 0CDDE0 7F0992B0 E7AA03A8 */ swc1 $f10, 0x3a8($sp) -/* 0CDDE4 7F0992B4 C5040020 */ lwc1 $f4, 0x20($t0) -/* 0CDDE8 7F0992B8 46044182 */ mul.s $f6, $f8, $f4 -/* 0CDDEC 7F0992BC E7A6036C */ swc1 $f6, 0x36c($sp) -/* 0CDDF0 7F0992C0 C50A0024 */ lwc1 $f10, 0x24($t0) -/* 0CDDF4 7F0992C4 4606A03E */ c.le.s $f20, $f6 -/* 0CDDF8 7F0992C8 460A4102 */ mul.s $f4, $f8, $f10 -/* 0CDDFC 7F0992CC 00000000 */ nop -/* 0CDE00 7F0992D0 46004282 */ mul.s $f10, $f8, $f0 -/* 0CDE04 7F0992D4 E7A40370 */ swc1 $f4, 0x370($sp) -/* 0CDE08 7F0992D8 C7A403A0 */ lwc1 $f4, 0x3a0($sp) -/* 0CDE0C 7F0992DC E7AA0374 */ swc1 $f10, 0x374($sp) -/* 0CDE10 7F0992E0 C4E80020 */ lwc1 $f8, 0x20($a3) -/* 0CDE14 7F0992E4 46082282 */ mul.s $f10, $f4, $f8 -/* 0CDE18 7F0992E8 E7AA0378 */ swc1 $f10, 0x378($sp) -/* 0CDE1C 7F0992EC C4E80024 */ lwc1 $f8, 0x24($a3) -/* 0CDE20 7F0992F0 46082282 */ mul.s $f10, $f4, $f8 -/* 0CDE24 7F0992F4 00000000 */ nop -/* 0CDE28 7F0992F8 46002202 */ mul.s $f8, $f4, $f0 -/* 0CDE2C 7F0992FC E7AA037C */ swc1 $f10, 0x37c($sp) -/* 0CDE30 7F099300 C7AA03A4 */ lwc1 $f10, 0x3a4($sp) -/* 0CDE34 7F099304 E7A80380 */ swc1 $f8, 0x380($sp) -/* 0CDE38 7F099308 C5240020 */ lwc1 $f4, 0x20($t1) -/* 0CDE3C 7F09930C 46045202 */ mul.s $f8, $f10, $f4 -/* 0CDE40 7F099310 E7A80384 */ swc1 $f8, 0x384($sp) -/* 0CDE44 7F099314 C5240024 */ lwc1 $f4, 0x24($t1) -/* 0CDE48 7F099318 46045202 */ mul.s $f8, $f10, $f4 -/* 0CDE4C 7F09931C 00000000 */ nop -/* 0CDE50 7F099320 46005102 */ mul.s $f4, $f10, $f0 -/* 0CDE54 7F099324 E7A80388 */ swc1 $f8, 0x388($sp) -/* 0CDE58 7F099328 C7A803A8 */ lwc1 $f8, 0x3a8($sp) -/* 0CDE5C 7F09932C E7A4038C */ swc1 $f4, 0x38c($sp) -/* 0CDE60 7F099330 C56A0020 */ lwc1 $f10, 0x20($t3) -/* 0CDE64 7F099334 460A4102 */ mul.s $f4, $f8, $f10 -/* 0CDE68 7F099338 C7A803A8 */ lwc1 $f8, 0x3a8($sp) -/* 0CDE6C 7F09933C E7A40390 */ swc1 $f4, 0x390($sp) -/* 0CDE70 7F099340 C56A0024 */ lwc1 $f10, 0x24($t3) -/* 0CDE74 7F099344 460A4102 */ mul.s $f4, $f8, $f10 -/* 0CDE78 7F099348 C7A803A8 */ lwc1 $f8, 0x3a8($sp) -/* 0CDE7C 7F09934C 46004282 */ mul.s $f10, $f8, $f0 -/* 0CDE80 7F099350 C7A00370 */ lwc1 $f0, 0x370($sp) -/* 0CDE84 7F099354 E7A40394 */ swc1 $f4, 0x394($sp) -/* 0CDE88 7F099358 45000003 */ bc1f .L7F099368 -/* 0CDE8C 7F09935C E7AA0398 */ swc1 $f10, 0x398($sp) -/* 0CDE90 7F099360 10000003 */ b .L7F099370 -/* 0CDE94 7F099364 46003086 */ mov.s $f2, $f6 -.L7F099368: -/* 0CDE98 7F099368 C7A2036C */ lwc1 $f2, 0x36c($sp) -/* 0CDE9C 7F09936C 46001087 */ neg.s $f2, $f2 -.L7F099370: -/* 0CDEA0 7F099370 4600A03E */ c.le.s $f20, $f0 -/* 0CDEA4 7F099374 00000000 */ nop -/* 0CDEA8 7F099378 45020004 */ bc1fl .L7F09938C -/* 0CDEAC 7F09937C 46000387 */ neg.s $f14, $f0 -/* 0CDEB0 7F099380 10000002 */ b .L7F09938C -/* 0CDEB4 7F099384 46000386 */ mov.s $f14, $f0 -/* 0CDEB8 7F099388 46000387 */ neg.s $f14, $f0 -.L7F09938C: -/* 0CDEBC 7F09938C C7A00378 */ lwc1 $f0, 0x378($sp) -/* 0CDEC0 7F099390 4600A03E */ c.le.s $f20, $f0 -/* 0CDEC4 7F099394 00000000 */ nop -/* 0CDEC8 7F099398 45020004 */ bc1fl .L7F0993AC -/* 0CDECC 7F09939C 46000307 */ neg.s $f12, $f0 -/* 0CDED0 7F0993A0 10000002 */ b .L7F0993AC -/* 0CDED4 7F0993A4 46000306 */ mov.s $f12, $f0 -/* 0CDED8 7F0993A8 46000307 */ neg.s $f12, $f0 -.L7F0993AC: -/* 0CDEDC 7F0993AC 460C103C */ c.lt.s $f2, $f12 -/* 0CDEE0 7F0993B0 00000000 */ nop -/* 0CDEE4 7F0993B4 45020009 */ bc1fl .L7F0993DC -/* 0CDEE8 7F0993B8 C7A0037C */ lwc1 $f0, 0x37c($sp) -/* 0CDEEC 7F0993BC 4600A03E */ c.le.s $f20, $f0 -/* 0CDEF0 7F0993C0 00000000 */ nop -/* 0CDEF4 7F0993C4 45020004 */ bc1fl .L7F0993D8 -/* 0CDEF8 7F0993C8 46000087 */ neg.s $f2, $f0 -/* 0CDEFC 7F0993CC 10000002 */ b .L7F0993D8 -/* 0CDF00 7F0993D0 46000086 */ mov.s $f2, $f0 -/* 0CDF04 7F0993D4 46000087 */ neg.s $f2, $f0 -.L7F0993D8: -/* 0CDF08 7F0993D8 C7A0037C */ lwc1 $f0, 0x37c($sp) -.L7F0993DC: -/* 0CDF0C 7F0993DC 4600A03E */ c.le.s $f20, $f0 -/* 0CDF10 7F0993E0 00000000 */ nop -/* 0CDF14 7F0993E4 45020004 */ bc1fl .L7F0993F8 -/* 0CDF18 7F0993E8 46000307 */ neg.s $f12, $f0 -/* 0CDF1C 7F0993EC 10000002 */ b .L7F0993F8 -/* 0CDF20 7F0993F0 46000306 */ mov.s $f12, $f0 -/* 0CDF24 7F0993F4 46000307 */ neg.s $f12, $f0 -.L7F0993F8: -/* 0CDF28 7F0993F8 460C703C */ c.lt.s $f14, $f12 -/* 0CDF2C 7F0993FC E7B003AC */ swc1 $f16, 0x3ac($sp) -/* 0CDF30 7F099400 4502000B */ bc1fl .L7F099430 -/* 0CDF34 7F099404 C7A00384 */ lwc1 $f0, 0x384($sp) -/* 0CDF38 7F099408 4600A03E */ c.le.s $f20, $f0 -/* 0CDF3C 7F09940C 00000000 */ nop -/* 0CDF40 7F099410 45020005 */ bc1fl .L7F099428 -/* 0CDF44 7F099414 46000387 */ neg.s $f14, $f0 -/* 0CDF48 7F099418 46000386 */ mov.s $f14, $f0 -/* 0CDF4C 7F09941C 10000003 */ b .L7F09942C -/* 0CDF50 7F099420 E7B003AC */ swc1 $f16, 0x3ac($sp) -/* 0CDF54 7F099424 46000387 */ neg.s $f14, $f0 -.L7F099428: -/* 0CDF58 7F099428 E7B003AC */ swc1 $f16, 0x3ac($sp) -.L7F09942C: -/* 0CDF5C 7F09942C C7A00384 */ lwc1 $f0, 0x384($sp) -.L7F099430: -/* 0CDF60 7F099430 4600A03E */ c.le.s $f20, $f0 -/* 0CDF64 7F099434 00000000 */ nop -/* 0CDF68 7F099438 45020004 */ bc1fl .L7F09944C -/* 0CDF6C 7F09943C 46000307 */ neg.s $f12, $f0 -/* 0CDF70 7F099440 10000002 */ b .L7F09944C -/* 0CDF74 7F099444 46000306 */ mov.s $f12, $f0 -/* 0CDF78 7F099448 46000307 */ neg.s $f12, $f0 -.L7F09944C: -/* 0CDF7C 7F09944C 460C103C */ c.lt.s $f2, $f12 -/* 0CDF80 7F099450 00000000 */ nop -/* 0CDF84 7F099454 45020009 */ bc1fl .L7F09947C -/* 0CDF88 7F099458 C7A00388 */ lwc1 $f0, 0x388($sp) -/* 0CDF8C 7F09945C 4600A03E */ c.le.s $f20, $f0 -/* 0CDF90 7F099460 00000000 */ nop -/* 0CDF94 7F099464 45020004 */ bc1fl .L7F099478 -/* 0CDF98 7F099468 46000087 */ neg.s $f2, $f0 -/* 0CDF9C 7F09946C 10000002 */ b .L7F099478 -/* 0CDFA0 7F099470 46000086 */ mov.s $f2, $f0 -/* 0CDFA4 7F099474 46000087 */ neg.s $f2, $f0 -.L7F099478: -/* 0CDFA8 7F099478 C7A00388 */ lwc1 $f0, 0x388($sp) -.L7F09947C: -/* 0CDFAC 7F09947C 4600A03E */ c.le.s $f20, $f0 -/* 0CDFB0 7F099480 00000000 */ nop -/* 0CDFB4 7F099484 45020004 */ bc1fl .L7F099498 -/* 0CDFB8 7F099488 46000307 */ neg.s $f12, $f0 -/* 0CDFBC 7F09948C 10000002 */ b .L7F099498 -/* 0CDFC0 7F099490 46000306 */ mov.s $f12, $f0 -/* 0CDFC4 7F099494 46000307 */ neg.s $f12, $f0 -.L7F099498: -/* 0CDFC8 7F099498 460C703C */ c.lt.s $f14, $f12 -/* 0CDFCC 7F09949C 00000000 */ nop -/* 0CDFD0 7F0994A0 45020009 */ bc1fl .L7F0994C8 -/* 0CDFD4 7F0994A4 C7A00390 */ lwc1 $f0, 0x390($sp) -/* 0CDFD8 7F0994A8 4600A03E */ c.le.s $f20, $f0 -/* 0CDFDC 7F0994AC 00000000 */ nop -/* 0CDFE0 7F0994B0 45020004 */ bc1fl .L7F0994C4 -/* 0CDFE4 7F0994B4 46000387 */ neg.s $f14, $f0 -/* 0CDFE8 7F0994B8 10000002 */ b .L7F0994C4 -/* 0CDFEC 7F0994BC 46000386 */ mov.s $f14, $f0 -/* 0CDFF0 7F0994C0 46000387 */ neg.s $f14, $f0 -.L7F0994C4: -/* 0CDFF4 7F0994C4 C7A00390 */ lwc1 $f0, 0x390($sp) -.L7F0994C8: -/* 0CDFF8 7F0994C8 4600A03E */ c.le.s $f20, $f0 -/* 0CDFFC 7F0994CC 00000000 */ nop -/* 0CE000 7F0994D0 45020004 */ bc1fl .L7F0994E4 -/* 0CE004 7F0994D4 46000307 */ neg.s $f12, $f0 -/* 0CE008 7F0994D8 10000002 */ b .L7F0994E4 -/* 0CE00C 7F0994DC 46000306 */ mov.s $f12, $f0 -/* 0CE010 7F0994E0 46000307 */ neg.s $f12, $f0 -.L7F0994E4: -/* 0CE014 7F0994E4 460C103C */ c.lt.s $f2, $f12 -/* 0CE018 7F0994E8 E7A20364 */ swc1 $f2, 0x364($sp) -/* 0CE01C 7F0994EC 4502000A */ bc1fl .L7F099518 -/* 0CE020 7F0994F0 C7A00394 */ lwc1 $f0, 0x394($sp) -/* 0CE024 7F0994F4 4600A03E */ c.le.s $f20, $f0 -/* 0CE028 7F0994F8 00000000 */ nop -/* 0CE02C 7F0994FC 45020004 */ bc1fl .L7F099510 -/* 0CE030 7F099500 46000087 */ neg.s $f2, $f0 -/* 0CE034 7F099504 10000003 */ b .L7F099514 -/* 0CE038 7F099508 E7A00364 */ swc1 $f0, 0x364($sp) -/* 0CE03C 7F09950C 46000087 */ neg.s $f2, $f0 -.L7F099510: -/* 0CE040 7F099510 E7A20364 */ swc1 $f2, 0x364($sp) -.L7F099514: -/* 0CE044 7F099514 C7A00394 */ lwc1 $f0, 0x394($sp) -.L7F099518: -/* 0CE048 7F099518 4600A03E */ c.le.s $f20, $f0 -/* 0CE04C 7F09951C 00000000 */ nop -/* 0CE050 7F099520 45020004 */ bc1fl .L7F099534 -/* 0CE054 7F099524 46000307 */ neg.s $f12, $f0 -/* 0CE058 7F099528 10000002 */ b .L7F099534 -/* 0CE05C 7F09952C 46000306 */ mov.s $f12, $f0 -/* 0CE060 7F099530 46000307 */ neg.s $f12, $f0 -.L7F099534: -/* 0CE064 7F099534 460C703C */ c.lt.s $f14, $f12 -/* 0CE068 7F099538 E7AE0368 */ swc1 $f14, 0x368($sp) -/* 0CE06C 7F09953C 4502000A */ bc1fl .L7F099568 -/* 0CE070 7F099540 C7A4036C */ lwc1 $f4, 0x36c($sp) -/* 0CE074 7F099544 4600A03E */ c.le.s $f20, $f0 -/* 0CE078 7F099548 00000000 */ nop -/* 0CE07C 7F09954C 45020004 */ bc1fl .L7F099560 -/* 0CE080 7F099550 46000387 */ neg.s $f14, $f0 -/* 0CE084 7F099554 10000003 */ b .L7F099564 -/* 0CE088 7F099558 E7A00368 */ swc1 $f0, 0x368($sp) -/* 0CE08C 7F09955C 46000387 */ neg.s $f14, $f0 -.L7F099560: -/* 0CE090 7F099560 E7AE0368 */ swc1 $f14, 0x368($sp) -.L7F099564: -/* 0CE094 7F099564 C7A4036C */ lwc1 $f4, 0x36c($sp) -.L7F099568: -/* 0CE098 7F099568 C7A80370 */ lwc1 $f8, 0x370($sp) -/* 0CE09C 7F09956C C7AA0374 */ lwc1 $f10, 0x374($sp) -/* 0CE0A0 7F099570 E7A40354 */ swc1 $f4, 0x354($sp) -/* 0CE0A4 7F099574 C7A4037C */ lwc1 $f4, 0x37c($sp) -/* 0CE0A8 7F099578 C7A60378 */ lwc1 $f6, 0x378($sp) -/* 0CE0AC 7F09957C E7A80358 */ swc1 $f8, 0x358($sp) -/* 0CE0B0 7F099580 E7AA035C */ swc1 $f10, 0x35c($sp) -/* 0CE0B4 7F099584 E7A40338 */ swc1 $f4, 0x338($sp) -/* 0CE0B8 7F099588 E7A60334 */ swc1 $f6, 0x334($sp) -/* 0CE0BC 7F09958C C7A80380 */ lwc1 $f8, 0x380($sp) -/* 0CE0C0 7F099590 C7A60388 */ lwc1 $f6, 0x388($sp) -/* 0CE0C4 7F099594 C7A4038C */ lwc1 $f4, 0x38c($sp) -/* 0CE0C8 7F099598 C7AA0384 */ lwc1 $f10, 0x384($sp) -/* 0CE0CC 7F09959C E7A8033C */ swc1 $f8, 0x33c($sp) -/* 0CE0D0 7F0995A0 E7A60318 */ swc1 $f6, 0x318($sp) -/* 0CE0D4 7F0995A4 E7A4031C */ swc1 $f4, 0x31c($sp) -/* 0CE0D8 7F0995A8 E7AA0314 */ swc1 $f10, 0x314($sp) -/* 0CE0DC 7F0995AC C5080030 */ lwc1 $f8, 0x30($t0) -/* 0CE0E0 7F0995B0 27A302F4 */ addiu $v1, $sp, 0x2f4 -/* 0CE0E4 7F0995B4 27A60334 */ addiu $a2, $sp, 0x334 -/* 0CE0E8 7F0995B8 E7A80360 */ swc1 $f8, 0x360($sp) -/* 0CE0EC 7F0995BC C4EA0030 */ lwc1 $f10, 0x30($a3) -/* 0CE0F0 7F0995C0 27A70324 */ addiu $a3, $sp, 0x324 -/* 0CE0F4 7F0995C4 27A20354 */ addiu $v0, $sp, 0x354 -/* 0CE0F8 7F0995C8 E7AA0340 */ swc1 $f10, 0x340($sp) -/* 0CE0FC 7F0995CC C5260030 */ lwc1 $f6, 0x30($t1) -/* 0CE100 7F0995D0 27A402D4 */ addiu $a0, $sp, 0x2d4 -/* 0CE104 7F0995D4 27A50314 */ addiu $a1, $sp, 0x314 -/* 0CE108 7F0995D8 E7A60320 */ swc1 $f6, 0x320($sp) -.L7F0995DC: -/* 0CE10C 7F0995DC C4400000 */ lwc1 $f0, ($v0) -/* 0CE110 7F0995E0 C4C40000 */ lwc1 $f4, ($a2) -/* 0CE114 7F0995E4 C4AA0000 */ lwc1 $f10, ($a1) -/* 0CE118 7F0995E8 24A50004 */ addiu $a1, $a1, 4 -/* 0CE11C 7F0995EC 46002201 */ sub.s $f8, $f4, $f0 -/* 0CE120 7F0995F0 00A7082B */ sltu $at, $a1, $a3 -/* 0CE124 7F0995F4 24630004 */ addiu $v1, $v1, 4 -/* 0CE128 7F0995F8 46005181 */ sub.s $f6, $f10, $f0 -/* 0CE12C 7F0995FC 24C60004 */ addiu $a2, $a2, 4 -/* 0CE130 7F099600 24420004 */ addiu $v0, $v0, 4 -/* 0CE134 7F099604 24840004 */ addiu $a0, $a0, 4 -/* 0CE138 7F099608 E468FFFC */ swc1 $f8, -4($v1) -/* 0CE13C 7F09960C 1420FFF3 */ bnez $at, .L7F0995DC -/* 0CE140 7F099610 E486FFFC */ swc1 $f6, -4($a0) -/* 0CE144 7F099614 27A302F4 */ addiu $v1, $sp, 0x2f4 -/* 0CE148 7F099618 27A20354 */ addiu $v0, $sp, 0x354 -/* 0CE14C 7F09961C 27A402D4 */ addiu $a0, $sp, 0x2d4 -/* 0CE150 7F099620 27A70294 */ addiu $a3, $sp, 0x294 -/* 0CE154 7F099624 27A502B4 */ addiu $a1, $sp, 0x2b4 -/* 0CE158 7F099628 27A80274 */ addiu $t0, $sp, 0x274 -/* 0CE15C 7F09962C 27A60254 */ addiu $a2, $sp, 0x254 -/* 0CE160 7F099630 C7B20410 */ lwc1 $f18, 0x410($sp) -/* 0CE164 7F099634 C7B0040C */ lwc1 $f16, 0x40c($sp) -/* 0CE168 7F099638 27A90264 */ addiu $t1, $sp, 0x264 -.L7F09963C: -/* 0CE16C 7F09963C C4800000 */ lwc1 $f0, ($a0) -/* 0CE170 7F099640 C4620000 */ lwc1 $f2, ($v1) -/* 0CE174 7F099644 C7A80418 */ lwc1 $f8, 0x418($sp) -/* 0CE178 7F099648 46120102 */ mul.s $f4, $f0, $f18 -/* 0CE17C 7F09964C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CE180 7F099650 24C60004 */ addiu $a2, $a2, 4 -/* 0CE184 7F099654 46024282 */ mul.s $f10, $f8, $f2 -/* 0CE188 7F099658 44814000 */ mtc1 $at, $f8 -/* 0CE18C 7F09965C 24630004 */ addiu $v1, $v1, 4 -/* 0CE190 7F099660 24420004 */ addiu $v0, $v0, 4 -/* 0CE194 7F099664 24840004 */ addiu $a0, $a0, 4 -/* 0CE198 7F099668 24E70004 */ addiu $a3, $a3, 4 -/* 0CE19C 7F09966C 24A50004 */ addiu $a1, $a1, 4 -/* 0CE1A0 7F099670 460A2181 */ sub.s $f6, $f4, $f10 -/* 0CE1A4 7F099674 25080004 */ addiu $t0, $t0, 4 -/* 0CE1A8 7F099678 46083303 */ div.s $f12, $f6, $f8 -/* 0CE1AC 7F09967C E4ECFFFC */ swc1 $f12, -4($a3) -/* 0CE1B0 7F099680 C7A40414 */ lwc1 $f4, 0x414($sp) -/* 0CE1B4 7F099684 46041282 */ mul.s $f10, $f2, $f4 -/* 0CE1B8 7F099688 44812000 */ mtc1 $at, $f4 -/* 0CE1BC 7F09968C 00C9082B */ sltu $at, $a2, $t1 -/* 0CE1C0 7F099690 46008182 */ mul.s $f6, $f16, $f0 -/* 0CE1C4 7F099694 46065201 */ sub.s $f8, $f10, $f6 -/* 0CE1C8 7F099698 46044283 */ div.s $f10, $f8, $f4 -/* 0CE1CC 7F09969C E4AAFFFC */ swc1 $f10, -4($a1) -/* 0CE1D0 7F0996A0 C7A60484 */ lwc1 $f6, 0x484($sp) -/* 0CE1D4 7F0996A4 C4A4FFFC */ lwc1 $f4, -4($a1) -/* 0CE1D8 7F0996A8 46066202 */ mul.s $f8, $f12, $f6 -/* 0CE1DC 7F0996AC C446FFFC */ lwc1 $f6, -4($v0) -/* 0CE1E0 7F0996B0 E488FFFC */ swc1 $f8, -4($a0) -/* 0CE1E4 7F0996B4 C7AA0484 */ lwc1 $f10, 0x484($sp) -/* 0CE1E8 7F0996B8 E4C6FFFC */ swc1 $f6, -4($a2) -/* 0CE1EC 7F0996BC 460A2382 */ mul.s $f14, $f4, $f10 -/* 0CE1F0 7F0996C0 E46EFFFC */ swc1 $f14, -4($v1) -/* 0CE1F4 7F0996C4 1420FFDD */ bnez $at, .L7F09963C -/* 0CE1F8 7F0996C8 E50EFFFC */ swc1 $f14, -4($t0) -/* 0CE1FC 7F0996CC 8FA304DC */ lw $v1, 0x4dc($sp) -/* 0CE200 7F0996D0 C568002C */ lwc1 $f8, 0x2c($t3) -/* 0CE204 7F0996D4 8FA204D4 */ lw $v0, 0x4d4($sp) -/* 0CE208 7F0996D8 C464002C */ lwc1 $f4, 0x2c($v1) -/* 0CE20C 7F0996DC C4660010 */ lwc1 $f6, 0x10($v1) -/* 0CE210 7F0996E0 C44E0010 */ lwc1 $f14, 0x10($v0) -/* 0CE214 7F0996E4 46044003 */ div.s $f0, $f8, $f4 -/* 0CE218 7F0996E8 C56A0010 */ lwc1 $f10, 0x10($t3) -/* 0CE21C 7F0996EC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CE220 7F0996F0 240E0001 */ li $t6, 1 -/* 0CE224 7F0996F4 46067201 */ sub.s $f8, $f14, $f6 -/* 0CE228 7F0996F8 46004102 */ mul.s $f4, $f8, $f0 -/* 0CE22C 7F0996FC 46045180 */ add.s $f6, $f10, $f4 -/* 0CE230 7F099700 E7A60170 */ swc1 $f6, 0x170($sp) -/* 0CE234 7F099704 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 0CE238 7F099708 C4420014 */ lwc1 $f2, 0x14($v0) -/* 0CE23C 7F09970C C5680014 */ lwc1 $f8, 0x14($t3) -/* 0CE240 7F099710 460A1101 */ sub.s $f4, $f2, $f10 -/* 0CE244 7F099714 46002182 */ mul.s $f6, $f4, $f0 -/* 0CE248 7F099718 46064280 */ add.s $f10, $f8, $f6 -/* 0CE24C 7F09971C E7AA016C */ swc1 $f10, 0x16c($sp) -/* 0CE250 7F099720 C4680018 */ lwc1 $f8, 0x18($v1) -/* 0CE254 7F099724 C4500018 */ lwc1 $f16, 0x18($v0) -/* 0CE258 7F099728 C5640018 */ lwc1 $f4, 0x18($t3) -/* 0CE25C 7F09972C 46088181 */ sub.s $f6, $f16, $f8 -/* 0CE260 7F099730 46003282 */ mul.s $f10, $f6, $f0 -/* 0CE264 7F099734 460A2200 */ add.s $f8, $f4, $f10 -/* 0CE268 7F099738 E7A80168 */ swc1 $f8, 0x168($sp) -/* 0CE26C 7F09973C C464001C */ lwc1 $f4, 0x1c($v1) -/* 0CE270 7F099740 C452001C */ lwc1 $f18, 0x1c($v0) -/* 0CE274 7F099744 C566001C */ lwc1 $f6, 0x1c($t3) -/* 0CE278 7F099748 46049281 */ sub.s $f10, $f18, $f4 -/* 0CE27C 7F09974C 46005202 */ mul.s $f8, $f10, $f0 -/* 0CE280 7F099750 44815000 */ mtc1 $at, $f10 -/* 0CE284 7F099754 46083100 */ add.s $f4, $f6, $f8 -/* 0CE288 7F099758 460A7182 */ mul.s $f6, $f14, $f10 -/* 0CE28C 7F09975C E7A40164 */ swc1 $f4, 0x164($sp) -/* 0CE290 7F099760 4459F800 */ cfc1 $t9, $31 -/* 0CE294 7F099764 44CEF800 */ ctc1 $t6, $31 -/* 0CE298 7F099768 00000000 */ nop -/* 0CE29C 7F09976C 46003224 */ cvt.w.s $f8, $f6 -/* 0CE2A0 7F099770 444EF800 */ cfc1 $t6, $31 -/* 0CE2A4 7F099774 00000000 */ nop -/* 0CE2A8 7F099778 31CE0078 */ andi $t6, $t6, 0x78 -/* 0CE2AC 7F09977C 11C00012 */ beqz $t6, .L7F0997C8 -/* 0CE2B0 7F099780 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0CE2B4 7F099784 44814000 */ mtc1 $at, $f8 -/* 0CE2B8 7F099788 240E0001 */ li $t6, 1 -/* 0CE2BC 7F09978C 46083201 */ sub.s $f8, $f6, $f8 -/* 0CE2C0 7F099790 44CEF800 */ ctc1 $t6, $31 -/* 0CE2C4 7F099794 00000000 */ nop -/* 0CE2C8 7F099798 46004224 */ cvt.w.s $f8, $f8 -/* 0CE2CC 7F09979C 444EF800 */ cfc1 $t6, $31 -/* 0CE2D0 7F0997A0 00000000 */ nop -/* 0CE2D4 7F0997A4 31CE0078 */ andi $t6, $t6, 0x78 -/* 0CE2D8 7F0997A8 15C00005 */ bnez $t6, .L7F0997C0 -/* 0CE2DC 7F0997AC 00000000 */ nop -/* 0CE2E0 7F0997B0 440E4000 */ mfc1 $t6, $f8 -/* 0CE2E4 7F0997B4 3C018000 */ lui $at, 0x8000 -/* 0CE2E8 7F0997B8 10000007 */ b .L7F0997D8 -/* 0CE2EC 7F0997BC 01C17025 */ or $t6, $t6, $at -.L7F0997C0: -/* 0CE2F0 7F0997C0 10000005 */ b .L7F0997D8 -/* 0CE2F4 7F0997C4 240EFFFF */ li $t6, -1 -.L7F0997C8: -/* 0CE2F8 7F0997C8 440E4000 */ mfc1 $t6, $f8 -/* 0CE2FC 7F0997CC 00000000 */ nop -/* 0CE300 7F0997D0 05C0FFFB */ bltz $t6, .L7F0997C0 -/* 0CE304 7F0997D4 00000000 */ nop -.L7F0997D8: -/* 0CE308 7F0997D8 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CE30C 7F0997DC 44D9F800 */ ctc1 $t9, $31 -/* 0CE310 7F0997E0 44812000 */ mtc1 $at, $f4 -/* 0CE314 7F0997E4 240F0001 */ li $t7, 1 -/* 0CE318 7F0997E8 AFAE0160 */ sw $t6, 0x160($sp) -/* 0CE31C 7F0997EC 46041282 */ mul.s $f10, $f2, $f4 -/* 0CE320 7F0997F0 4458F800 */ cfc1 $t8, $31 -/* 0CE324 7F0997F4 44CFF800 */ ctc1 $t7, $31 -/* 0CE328 7F0997F8 00000000 */ nop -/* 0CE32C 7F0997FC 460051A4 */ cvt.w.s $f6, $f10 -/* 0CE330 7F099800 444FF800 */ cfc1 $t7, $31 -/* 0CE334 7F099804 00000000 */ nop -/* 0CE338 7F099808 31EF0078 */ andi $t7, $t7, 0x78 -/* 0CE33C 7F09980C 11E00012 */ beqz $t7, .L7F099858 -/* 0CE340 7F099810 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0CE344 7F099814 44813000 */ mtc1 $at, $f6 -/* 0CE348 7F099818 240F0001 */ li $t7, 1 -/* 0CE34C 7F09981C 46065181 */ sub.s $f6, $f10, $f6 -/* 0CE350 7F099820 44CFF800 */ ctc1 $t7, $31 -/* 0CE354 7F099824 00000000 */ nop -/* 0CE358 7F099828 460031A4 */ cvt.w.s $f6, $f6 -/* 0CE35C 7F09982C 444FF800 */ cfc1 $t7, $31 -/* 0CE360 7F099830 00000000 */ nop -/* 0CE364 7F099834 31EF0078 */ andi $t7, $t7, 0x78 -/* 0CE368 7F099838 15E00005 */ bnez $t7, .L7F099850 -/* 0CE36C 7F09983C 00000000 */ nop -/* 0CE370 7F099840 440F3000 */ mfc1 $t7, $f6 -/* 0CE374 7F099844 3C018000 */ lui $at, 0x8000 -/* 0CE378 7F099848 10000007 */ b .L7F099868 -/* 0CE37C 7F09984C 01E17825 */ or $t7, $t7, $at -.L7F099850: -/* 0CE380 7F099850 10000005 */ b .L7F099868 -/* 0CE384 7F099854 240FFFFF */ li $t7, -1 -.L7F099858: -/* 0CE388 7F099858 440F3000 */ mfc1 $t7, $f6 -/* 0CE38C 7F09985C 00000000 */ nop -/* 0CE390 7F099860 05E0FFFB */ bltz $t7, .L7F099850 -/* 0CE394 7F099864 00000000 */ nop -.L7F099868: -/* 0CE398 7F099868 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CE39C 7F09986C 44D8F800 */ ctc1 $t8, $31 -/* 0CE3A0 7F099870 44814000 */ mtc1 $at, $f8 -/* 0CE3A4 7F099874 240E0001 */ li $t6, 1 -/* 0CE3A8 7F099878 AFAF015C */ sw $t7, 0x15c($sp) -/* 0CE3AC 7F09987C 46088102 */ mul.s $f4, $f16, $f8 -/* 0CE3B0 7F099880 4459F800 */ cfc1 $t9, $31 -/* 0CE3B4 7F099884 44CEF800 */ ctc1 $t6, $31 -/* 0CE3B8 7F099888 00000000 */ nop -/* 0CE3BC 7F09988C 460022A4 */ cvt.w.s $f10, $f4 -/* 0CE3C0 7F099890 444EF800 */ cfc1 $t6, $31 -/* 0CE3C4 7F099894 00000000 */ nop -/* 0CE3C8 7F099898 31CE0078 */ andi $t6, $t6, 0x78 -/* 0CE3CC 7F09989C 11C00012 */ beqz $t6, .L7F0998E8 -/* 0CE3D0 7F0998A0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0CE3D4 7F0998A4 44815000 */ mtc1 $at, $f10 -/* 0CE3D8 7F0998A8 240E0001 */ li $t6, 1 -/* 0CE3DC 7F0998AC 460A2281 */ sub.s $f10, $f4, $f10 -/* 0CE3E0 7F0998B0 44CEF800 */ ctc1 $t6, $31 -/* 0CE3E4 7F0998B4 00000000 */ nop -/* 0CE3E8 7F0998B8 460052A4 */ cvt.w.s $f10, $f10 -/* 0CE3EC 7F0998BC 444EF800 */ cfc1 $t6, $31 -/* 0CE3F0 7F0998C0 00000000 */ nop -/* 0CE3F4 7F0998C4 31CE0078 */ andi $t6, $t6, 0x78 -/* 0CE3F8 7F0998C8 15C00005 */ bnez $t6, .L7F0998E0 -/* 0CE3FC 7F0998CC 00000000 */ nop -/* 0CE400 7F0998D0 440E5000 */ mfc1 $t6, $f10 -/* 0CE404 7F0998D4 3C018000 */ lui $at, 0x8000 -/* 0CE408 7F0998D8 10000007 */ b .L7F0998F8 -/* 0CE40C 7F0998DC 01C17025 */ or $t6, $t6, $at -.L7F0998E0: -/* 0CE410 7F0998E0 10000005 */ b .L7F0998F8 -/* 0CE414 7F0998E4 240EFFFF */ li $t6, -1 -.L7F0998E8: -/* 0CE418 7F0998E8 440E5000 */ mfc1 $t6, $f10 -/* 0CE41C 7F0998EC 00000000 */ nop -/* 0CE420 7F0998F0 05C0FFFB */ bltz $t6, .L7F0998E0 -/* 0CE424 7F0998F4 00000000 */ nop -.L7F0998F8: -/* 0CE428 7F0998F8 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0CE42C 7F0998FC 44D9F800 */ ctc1 $t9, $31 -/* 0CE430 7F099900 44813000 */ mtc1 $at, $f6 -/* 0CE434 7F099904 240F0001 */ li $t7, 1 -/* 0CE438 7F099908 AFAE0158 */ sw $t6, 0x158($sp) -/* 0CE43C 7F09990C 46069202 */ mul.s $f8, $f18, $f6 -/* 0CE440 7F099910 4458F800 */ cfc1 $t8, $31 -/* 0CE444 7F099914 44CFF800 */ ctc1 $t7, $31 -/* 0CE448 7F099918 00000000 */ nop -/* 0CE44C 7F09991C 46004124 */ cvt.w.s $f4, $f8 -/* 0CE450 7F099920 444FF800 */ cfc1 $t7, $31 -/* 0CE454 7F099924 00000000 */ nop -/* 0CE458 7F099928 31EF0078 */ andi $t7, $t7, 0x78 -/* 0CE45C 7F09992C 11E00012 */ beqz $t7, .L7F099978 -/* 0CE460 7F099930 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0CE464 7F099934 44812000 */ mtc1 $at, $f4 -/* 0CE468 7F099938 240F0001 */ li $t7, 1 -/* 0CE46C 7F09993C 46044101 */ sub.s $f4, $f8, $f4 -/* 0CE470 7F099940 44CFF800 */ ctc1 $t7, $31 -/* 0CE474 7F099944 00000000 */ nop -/* 0CE478 7F099948 46002124 */ cvt.w.s $f4, $f4 -/* 0CE47C 7F09994C 444FF800 */ cfc1 $t7, $31 -/* 0CE480 7F099950 00000000 */ nop -/* 0CE484 7F099954 31EF0078 */ andi $t7, $t7, 0x78 -/* 0CE488 7F099958 15E00005 */ bnez $t7, .L7F099970 -/* 0CE48C 7F09995C 00000000 */ nop -/* 0CE490 7F099960 440F2000 */ mfc1 $t7, $f4 -/* 0CE494 7F099964 3C018000 */ lui $at, 0x8000 -/* 0CE498 7F099968 10000007 */ b .L7F099988 -/* 0CE49C 7F09996C 01E17825 */ or $t7, $t7, $at -.L7F099970: -/* 0CE4A0 7F099970 10000005 */ b .L7F099988 -/* 0CE4A4 7F099974 240FFFFF */ li $t7, -1 -.L7F099978: -/* 0CE4A8 7F099978 440F2000 */ mfc1 $t7, $f4 -/* 0CE4AC 7F09997C 00000000 */ nop -/* 0CE4B0 7F099980 05E0FFFB */ bltz $t7, .L7F099970 -/* 0CE4B4 7F099984 00000000 */ nop -.L7F099988: -/* 0CE4B8 7F099988 8FB904D8 */ lw $t9, 0x4d8($sp) -/* 0CE4BC 7F09998C AFAF0154 */ sw $t7, 0x154($sp) -/* 0CE4C0 7F099990 44D8F800 */ ctc1 $t8, $31 -/* 0CE4C4 7F099994 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0CE4C8 7F099998 C72A0028 */ lwc1 $f10, 0x28($t9) -/* 0CE4CC 7F09999C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CE4D0 7F0999A0 44812000 */ mtc1 $at, $f4 -/* 0CE4D4 7F0999A4 46065201 */ sub.s $f8, $f10, $f6 -/* 0CE4D8 7F0999A8 C7A60170 */ lwc1 $f6, 0x170($sp) -/* 0CE4DC 7F0999AC 46044282 */ mul.s $f10, $f8, $f4 -/* 0CE4E0 7F0999B0 460E3201 */ sub.s $f8, $f6, $f14 -/* 0CE4E4 7F0999B4 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CE4E8 7F0999B8 460A4303 */ div.s $f12, $f8, $f10 -/* 0CE4EC 7F0999BC 8FA304D4 */ lw $v1, 0x4d4($sp) -/* 0CE4F0 7F0999C0 AFA20150 */ sw $v0, 0x150($sp) -/* 0CE4F4 7F0999C4 C7A4016C */ lwc1 $f4, 0x16c($sp) -/* 0CE4F8 7F0999C8 C4660014 */ lwc1 $f6, 0x14($v1) -/* 0CE4FC 7F0999CC 8FAE04D8 */ lw $t6, 0x4d8($sp) -/* 0CE500 7F0999D0 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CE504 7F0999D4 46062201 */ sub.s $f8, $f4, $f6 -/* 0CE508 7F0999D8 C4640028 */ lwc1 $f4, 0x28($v1) -/* 0CE50C 7F0999DC C5CA0028 */ lwc1 $f10, 0x28($t6) -/* 0CE510 7F0999E0 46045181 */ sub.s $f6, $f10, $f4 -/* 0CE514 7F0999E4 44815000 */ mtc1 $at, $f10 -/* 0CE518 7F0999E8 00000000 */ nop -/* 0CE51C 7F0999EC 460A3102 */ mul.s $f4, $f6, $f10 -/* 0CE520 7F0999F0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CE524 7F0999F4 46044303 */ div.s $f12, $f8, $f4 -/* 0CE528 7F0999F8 8FA304D4 */ lw $v1, 0x4d4($sp) -/* 0CE52C 7F0999FC AFA2014C */ sw $v0, 0x14c($sp) -/* 0CE530 7F099A00 C7A60168 */ lwc1 $f6, 0x168($sp) -/* 0CE534 7F099A04 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 0CE538 7F099A08 8FB804D8 */ lw $t8, 0x4d8($sp) -/* 0CE53C 7F099A0C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CE540 7F099A10 460A3201 */ sub.s $f8, $f6, $f10 -/* 0CE544 7F099A14 C4660028 */ lwc1 $f6, 0x28($v1) -/* 0CE548 7F099A18 C7040028 */ lwc1 $f4, 0x28($t8) -/* 0CE54C 7F099A1C 46062281 */ sub.s $f10, $f4, $f6 -/* 0CE550 7F099A20 44812000 */ mtc1 $at, $f4 -/* 0CE554 7F099A24 00000000 */ nop -/* 0CE558 7F099A28 46045182 */ mul.s $f6, $f10, $f4 -/* 0CE55C 7F099A2C 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CE560 7F099A30 46064303 */ div.s $f12, $f8, $f6 -/* 0CE564 7F099A34 8FA304D4 */ lw $v1, 0x4d4($sp) -/* 0CE568 7F099A38 AFA20148 */ sw $v0, 0x148($sp) -/* 0CE56C 7F099A3C C7AA0164 */ lwc1 $f10, 0x164($sp) -/* 0CE570 7F099A40 C464001C */ lwc1 $f4, 0x1c($v1) -/* 0CE574 7F099A44 8FAF04D8 */ lw $t7, 0x4d8($sp) -/* 0CE578 7F099A48 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CE57C 7F099A4C 46045201 */ sub.s $f8, $f10, $f4 -/* 0CE580 7F099A50 C46A0028 */ lwc1 $f10, 0x28($v1) -/* 0CE584 7F099A54 C5E60028 */ lwc1 $f6, 0x28($t7) -/* 0CE588 7F099A58 460A3101 */ sub.s $f4, $f6, $f10 -/* 0CE58C 7F099A5C 44813000 */ mtc1 $at, $f6 -/* 0CE590 7F099A60 00000000 */ nop -/* 0CE594 7F099A64 46062282 */ mul.s $f10, $f4, $f6 -/* 0CE598 7F099A68 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CE59C 7F099A6C 460A4303 */ div.s $f12, $f8, $f10 -/* 0CE5A0 7F099A70 8FA304DC */ lw $v1, 0x4dc($sp) -/* 0CE5A4 7F099A74 8FB904D4 */ lw $t9, 0x4d4($sp) -/* 0CE5A8 7F099A78 AFA20144 */ sw $v0, 0x144($sp) -/* 0CE5AC 7F099A7C C4640010 */ lwc1 $f4, 0x10($v1) -/* 0CE5B0 7F099A80 C7260010 */ lwc1 $f6, 0x10($t9) -/* 0CE5B4 7F099A84 C46A002C */ lwc1 $f10, 0x2c($v1) -/* 0CE5B8 7F099A88 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CE5BC 7F099A8C 46062201 */ sub.s $f8, $f4, $f6 -/* 0CE5C0 7F099A90 C724002C */ lwc1 $f4, 0x2c($t9) -/* 0CE5C4 7F099A94 46045181 */ sub.s $f6, $f10, $f4 -/* 0CE5C8 7F099A98 44815000 */ mtc1 $at, $f10 -/* 0CE5CC 7F099A9C 00000000 */ nop -/* 0CE5D0 7F099AA0 460A3102 */ mul.s $f4, $f6, $f10 -/* 0CE5D4 7F099AA4 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CE5D8 7F099AA8 46044303 */ div.s $f12, $f8, $f4 -/* 0CE5DC 7F099AAC 8FA304DC */ lw $v1, 0x4dc($sp) -/* 0CE5E0 7F099AB0 8FAE04D4 */ lw $t6, 0x4d4($sp) -/* 0CE5E4 7F099AB4 AFA20130 */ sw $v0, 0x130($sp) -/* 0CE5E8 7F099AB8 AFA20140 */ sw $v0, 0x140($sp) -/* 0CE5EC 7F099ABC C4660014 */ lwc1 $f6, 0x14($v1) -/* 0CE5F0 7F099AC0 C5CA0014 */ lwc1 $f10, 0x14($t6) -/* 0CE5F4 7F099AC4 C464002C */ lwc1 $f4, 0x2c($v1) -/* 0CE5F8 7F099AC8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CE5FC 7F099ACC 460A3201 */ sub.s $f8, $f6, $f10 -/* 0CE600 7F099AD0 C5C6002C */ lwc1 $f6, 0x2c($t6) -/* 0CE604 7F099AD4 46062281 */ sub.s $f10, $f4, $f6 -/* 0CE608 7F099AD8 44812000 */ mtc1 $at, $f4 -/* 0CE60C 7F099ADC 00000000 */ nop -/* 0CE610 7F099AE0 46045182 */ mul.s $f6, $f10, $f4 -/* 0CE614 7F099AE4 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CE618 7F099AE8 46064303 */ div.s $f12, $f8, $f6 -/* 0CE61C 7F099AEC 8FB804DC */ lw $t8, 0x4dc($sp) -/* 0CE620 7F099AF0 8FAF04D4 */ lw $t7, 0x4d4($sp) -/* 0CE624 7F099AF4 AFA2012C */ sw $v0, 0x12c($sp) -/* 0CE628 7F099AF8 AFA2013C */ sw $v0, 0x13c($sp) -/* 0CE62C 7F099AFC C70A0018 */ lwc1 $f10, 0x18($t8) -/* 0CE630 7F099B00 C5E40018 */ lwc1 $f4, 0x18($t7) -/* 0CE634 7F099B04 C706002C */ lwc1 $f6, 0x2c($t8) -/* 0CE638 7F099B08 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CE63C 7F099B0C 46045201 */ sub.s $f8, $f10, $f4 -/* 0CE640 7F099B10 C5EA002C */ lwc1 $f10, 0x2c($t7) -/* 0CE644 7F099B14 460A3101 */ sub.s $f4, $f6, $f10 -/* 0CE648 7F099B18 44813000 */ mtc1 $at, $f6 -/* 0CE64C 7F099B1C 00000000 */ nop -/* 0CE650 7F099B20 46062282 */ mul.s $f10, $f4, $f6 -/* 0CE654 7F099B24 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CE658 7F099B28 460A4303 */ div.s $f12, $f8, $f10 -/* 0CE65C 7F099B2C 8FB904DC */ lw $t9, 0x4dc($sp) -/* 0CE660 7F099B30 8FAE04D4 */ lw $t6, 0x4d4($sp) -/* 0CE664 7F099B34 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0CE668 7F099B38 C724001C */ lwc1 $f4, 0x1c($t9) -/* 0CE66C 7F099B3C C5C6001C */ lwc1 $f6, 0x1c($t6) -/* 0CE670 7F099B40 C72A002C */ lwc1 $f10, 0x2c($t9) -/* 0CE674 7F099B44 46062201 */ sub.s $f8, $f4, $f6 -/* 0CE678 7F099B48 C5C4002C */ lwc1 $f4, 0x2c($t6) -/* 0CE67C 7F099B4C AFA20138 */ sw $v0, 0x138($sp) -/* 0CE680 7F099B50 AFA20128 */ sw $v0, 0x128($sp) -/* 0CE684 7F099B54 46045181 */ sub.s $f6, $f10, $f4 -/* 0CE688 7F099B58 44815000 */ mtc1 $at, $f10 -/* 0CE68C 7F099B5C 00000000 */ nop -/* 0CE690 7F099B60 460A3102 */ mul.s $f4, $f6, $f10 -/* 0CE694 7F099B64 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CE698 7F099B68 46044303 */ div.s $f12, $f8, $f4 -/* 0CE69C 7F099B6C 8FAB015C */ lw $t3, 0x15c($sp) -/* 0CE6A0 7F099B70 8FAA0160 */ lw $t2, 0x160($sp) -/* 0CE6A4 7F099B74 3C09FFFF */ lui $t1, 0xffff -/* 0CE6A8 7F099B78 02001825 */ move $v1, $s0 -/* 0CE6AC 7F099B7C 01697824 */ and $t7, $t3, $t1 -/* 0CE6B0 7F099B80 8FAC0128 */ lw $t4, 0x128($sp) -/* 0CE6B4 7F099B84 8FAD0138 */ lw $t5, 0x138($sp) -/* 0CE6B8 7F099B88 8FBF0158 */ lw $ra, 0x158($sp) -/* 0CE6BC 7F099B8C 000FCC02 */ srl $t9, $t7, 0x10 -/* 0CE6C0 7F099B90 0149C024 */ and $t8, $t2, $t1 -/* 0CE6C4 7F099B94 3C08B400 */ lui $t0, 0xb400 -/* 0CE6C8 7F099B98 03197025 */ or $t6, $t8, $t9 -/* 0CE6CC 7F099B9C 26100008 */ addiu $s0, $s0, 8 -/* 0CE6D0 7F099BA0 AC6E0004 */ sw $t6, 4($v1) -/* 0CE6D4 7F099BA4 AC680000 */ sw $t0, ($v1) -/* 0CE6D8 7F099BA8 02002025 */ move $a0, $s0 -/* 0CE6DC 7F099BAC 3C0FB200 */ lui $t7, 0xb200 -/* 0CE6E0 7F099BB0 AC8F0000 */ sw $t7, ($a0) -/* 0CE6E4 7F099BB4 8FB90154 */ lw $t9, 0x154($sp) -/* 0CE6E8 7F099BB8 03E9C024 */ and $t8, $ra, $t1 -/* 0CE6EC 7F099BBC 26100008 */ addiu $s0, $s0, 8 -/* 0CE6F0 7F099BC0 03297024 */ and $t6, $t9, $t1 -/* 0CE6F4 7F099BC4 000E7C02 */ srl $t7, $t6, 0x10 -/* 0CE6F8 7F099BC8 030FC825 */ or $t9, $t8, $t7 -/* 0CE6FC 7F099BCC AC990004 */ sw $t9, 4($a0) -/* 0CE700 7F099BD0 02002825 */ move $a1, $s0 -/* 0CE704 7F099BD4 ACA80000 */ sw $t0, ($a1) -/* 0CE708 7F099BD8 8FAF014C */ lw $t7, 0x14c($sp) -/* 0CE70C 7F099BDC 8FAE0150 */ lw $t6, 0x150($sp) -/* 0CE710 7F099BE0 26100008 */ addiu $s0, $s0, 8 -/* 0CE714 7F099BE4 01E9C824 */ and $t9, $t7, $t1 -/* 0CE718 7F099BE8 01C9C024 */ and $t8, $t6, $t1 -/* 0CE71C 7F099BEC 00197402 */ srl $t6, $t9, 0x10 -/* 0CE720 7F099BF0 030E7825 */ or $t7, $t8, $t6 -/* 0CE724 7F099BF4 ACAF0004 */ sw $t7, 4($a1) -/* 0CE728 7F099BF8 3C05B200 */ lui $a1, %hi(0xB2000004) # $a1, 0xb200 -/* 0CE72C 7F099BFC 02003025 */ move $a2, $s0 -/* 0CE730 7F099C00 ACC50000 */ sw $a1, ($a2) -/* 0CE734 7F099C04 8FAE0144 */ lw $t6, 0x144($sp) -/* 0CE738 7F099C08 8FB90148 */ lw $t9, 0x148($sp) -/* 0CE73C 7F099C0C 26100008 */ addiu $s0, $s0, 8 -/* 0CE740 7F099C10 01C97824 */ and $t7, $t6, $t1 -/* 0CE744 7F099C14 0329C024 */ and $t8, $t9, $t1 -/* 0CE748 7F099C18 000FCC02 */ srl $t9, $t7, 0x10 -/* 0CE74C 7F099C1C 03197025 */ or $t6, $t8, $t9 -/* 0CE750 7F099C20 ACCE0004 */ sw $t6, 4($a2) -/* 0CE754 7F099C24 02001825 */ move $v1, $s0 -/* 0CE758 7F099C28 3179FFFF */ andi $t9, $t3, 0xffff -/* 0CE75C 7F099C2C 000AC400 */ sll $t8, $t2, 0x10 -/* 0CE760 7F099C30 03197025 */ or $t6, $t8, $t9 -/* 0CE764 7F099C34 26100008 */ addiu $s0, $s0, 8 -/* 0CE768 7F099C38 AC6E0004 */ sw $t6, 4($v1) -/* 0CE76C 7F099C3C AC680000 */ sw $t0, ($v1) -/* 0CE770 7F099C40 02002025 */ move $a0, $s0 -/* 0CE774 7F099C44 AC850000 */ sw $a1, ($a0) -/* 0CE778 7F099C48 8FB90154 */ lw $t9, 0x154($sp) -/* 0CE77C 7F099C4C 001FC400 */ sll $t8, $ra, 0x10 -/* 0CE780 7F099C50 26100008 */ addiu $s0, $s0, 8 -/* 0CE784 7F099C54 332EFFFF */ andi $t6, $t9, 0xffff -/* 0CE788 7F099C58 030E7825 */ or $t7, $t8, $t6 -/* 0CE78C 7F099C5C AC8F0004 */ sw $t7, 4($a0) -/* 0CE790 7F099C60 02003825 */ move $a3, $s0 -/* 0CE794 7F099C64 ACE80000 */ sw $t0, ($a3) -/* 0CE798 7F099C68 8FAF014C */ lw $t7, 0x14c($sp) -/* 0CE79C 7F099C6C 8FB80150 */ lw $t8, 0x150($sp) -/* 0CE7A0 7F099C70 8FAA0140 */ lw $t2, 0x140($sp) -/* 0CE7A4 7F099C74 31F9FFFF */ andi $t9, $t7, 0xffff -/* 0CE7A8 7F099C78 00187400 */ sll $t6, $t8, 0x10 -/* 0CE7AC 7F099C7C 8FA8013C */ lw $t0, 0x13c($sp) -/* 0CE7B0 7F099C80 01D9C025 */ or $t8, $t6, $t9 -/* 0CE7B4 7F099C84 26100008 */ addiu $s0, $s0, 8 -/* 0CE7B8 7F099C88 ACF80004 */ sw $t8, 4($a3) -/* 0CE7BC 7F099C8C 02001825 */ move $v1, $s0 -/* 0CE7C0 7F099C90 3C0FB200 */ lui $t7, 0xb200 -/* 0CE7C4 7F099C94 AC6F0000 */ sw $t7, ($v1) -/* 0CE7C8 7F099C98 8FAF0144 */ lw $t7, 0x144($sp) -/* 0CE7CC 7F099C9C 8FB90148 */ lw $t9, 0x148($sp) -/* 0CE7D0 7F099CA0 26100008 */ addiu $s0, $s0, 8 -/* 0CE7D4 7F099CA4 31EEFFFF */ andi $t6, $t7, 0xffff -/* 0CE7D8 7F099CA8 0019C400 */ sll $t8, $t9, 0x10 -/* 0CE7DC 7F099CAC 030EC825 */ or $t9, $t8, $t6 -/* 0CE7E0 7F099CB0 0109C024 */ and $t8, $t0, $t1 -/* 0CE7E4 7F099CB4 AC790004 */ sw $t9, 4($v1) -/* 0CE7E8 7F099CB8 00187402 */ srl $t6, $t8, 0x10 -/* 0CE7EC 7F099CBC 01497824 */ and $t7, $t2, $t1 -/* 0CE7F0 7F099CC0 01EEC825 */ or $t9, $t7, $t6 -/* 0CE7F4 7F099CC4 02002025 */ move $a0, $s0 -/* 0CE7F8 7F099CC8 26100008 */ addiu $s0, $s0, 8 -/* 0CE7FC 7F099CCC 3C1FB400 */ lui $ra, 0xb400 -/* 0CE800 7F099CD0 AC990004 */ sw $t9, 4($a0) -/* 0CE804 7F099CD4 02002825 */ move $a1, $s0 -/* 0CE808 7F099CD8 00493024 */ and $a2, $v0, $t1 -/* 0CE80C 7F099CDC AC9F0000 */ sw $ra, ($a0) -/* 0CE810 7F099CE0 00067C02 */ srl $t7, $a2, 0x10 -/* 0CE814 7F099CE4 01A97024 */ and $t6, $t5, $t1 -/* 0CE818 7F099CE8 01CFC825 */ or $t9, $t6, $t7 -/* 0CE81C 7F099CEC 26100008 */ addiu $s0, $s0, 8 -/* 0CE820 7F099CF0 3C18B200 */ lui $t8, 0xb200 -/* 0CE824 7F099CF4 ACB80000 */ sw $t8, ($a1) -/* 0CE828 7F099CF8 ACB90004 */ sw $t9, %lo(0xB2000004)($a1) -/* 0CE82C 7F099CFC 02001825 */ move $v1, $s0 -/* 0CE830 7F099D00 AC7F0000 */ sw $ra, ($v1) -/* 0CE834 7F099D04 8FAE012C */ lw $t6, 0x12c($sp) -/* 0CE838 7F099D08 8FB80130 */ lw $t8, 0x130($sp) -/* 0CE83C 7F099D0C 01E03025 */ move $a2, $t7 -/* 0CE840 7F099D10 01C9C824 */ and $t9, $t6, $t1 -/* 0CE844 7F099D14 03097824 */ and $t7, $t8, $t1 -/* 0CE848 7F099D18 0019C402 */ srl $t8, $t9, 0x10 -/* 0CE84C 7F099D1C 01F87025 */ or $t6, $t7, $t8 -/* 0CE850 7F099D20 26100008 */ addiu $s0, $s0, 8 -/* 0CE854 7F099D24 02002025 */ move $a0, $s0 -/* 0CE858 7F099D28 01897824 */ and $t7, $t4, $t1 -/* 0CE85C 7F099D2C AC6E0004 */ sw $t6, 4($v1) -/* 0CE860 7F099D30 01E6C025 */ or $t8, $t7, $a2 -/* 0CE864 7F099D34 3C19B200 */ lui $t9, 0xb200 -/* 0CE868 7F099D38 AC990000 */ sw $t9, ($a0) -/* 0CE86C 7F099D3C 26100008 */ addiu $s0, $s0, 8 -/* 0CE870 7F099D40 AC980004 */ sw $t8, 4($a0) -/* 0CE874 7F099D44 02002825 */ move $a1, $s0 -/* 0CE878 7F099D48 000ACC00 */ sll $t9, $t2, 0x10 -/* 0CE87C 7F099D4C 310FFFFF */ andi $t7, $t0, 0xffff -/* 0CE880 7F099D50 032FC025 */ or $t8, $t9, $t7 -/* 0CE884 7F099D54 26100008 */ addiu $s0, $s0, 8 -/* 0CE888 7F099D58 ACB80004 */ sw $t8, %lo(0xB2000004)($a1) -/* 0CE88C 7F099D5C ACBF0000 */ sw $ra, ($a1) -/* 0CE890 7F099D60 02005825 */ move $t3, $s0 -/* 0CE894 7F099D64 304FFFFF */ andi $t7, $v0, 0xffff -/* 0CE898 7F099D68 000DCC00 */ sll $t9, $t5, 0x10 -/* 0CE89C 7F099D6C 032FC025 */ or $t8, $t9, $t7 -/* 0CE8A0 7F099D70 26100008 */ addiu $s0, $s0, 8 -/* 0CE8A4 7F099D74 3C1FB200 */ lui $ra, 0xb200 -/* 0CE8A8 7F099D78 AD7F0000 */ sw $ra, ($t3) -/* 0CE8AC 7F099D7C AD780004 */ sw $t8, 4($t3) -/* 0CE8B0 7F099D80 02003825 */ move $a3, $s0 -/* 0CE8B4 7F099D84 3C0EB400 */ lui $t6, 0xb400 -/* 0CE8B8 7F099D88 ACEE0000 */ sw $t6, ($a3) -/* 0CE8BC 7F099D8C 8FAE012C */ lw $t6, 0x12c($sp) -/* 0CE8C0 7F099D90 8FAF0130 */ lw $t7, 0x130($sp) -/* 0CE8C4 7F099D94 26100008 */ addiu $s0, $s0, 8 -/* 0CE8C8 7F099D98 31D9FFFF */ andi $t9, $t6, 0xffff -/* 0CE8CC 7F099D9C 000FC400 */ sll $t8, $t7, 0x10 -/* 0CE8D0 7F099DA0 03197825 */ or $t7, $t8, $t9 -/* 0CE8D4 7F099DA4 ACEF0004 */ sw $t7, 4($a3) -/* 0CE8D8 7F099DA8 3059FFFF */ andi $t9, $v0, 0xffff -/* 0CE8DC 7F099DAC 02004025 */ move $t0, $s0 -/* 0CE8E0 7F099DB0 000CC400 */ sll $t8, $t4, 0x10 -/* 0CE8E4 7F099DB4 03197825 */ or $t7, $t8, $t9 -/* 0CE8E8 7F099DB8 3C013D00 */ li $at, 0x3D000000 # 0.031250 -/* 0CE8EC 7F099DBC AD0F0004 */ sw $t7, 4($t0) -/* 0CE8F0 7F099DC0 AD1F0000 */ sw $ra, ($t0) -/* 0CE8F4 7F099DC4 44817000 */ mtc1 $at, $f14 -/* 0CE8F8 7F099DC8 C7A60364 */ lwc1 $f6, 0x364($sp) -/* 0CE8FC 7F099DCC C7A80368 */ lwc1 $f8, 0x368($sp) -/* 0CE900 7F099DD0 26100008 */ addiu $s0, $s0, 8 -/* 0CE904 7F099DD4 460E3282 */ mul.s $f10, $f6, $f14 -/* 0CE908 7F099DD8 C7A603AC */ lwc1 $f6, 0x3ac($sp) -/* 0CE90C 7F099DDC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0CE910 7F099DE0 460E4102 */ mul.s $f4, $f8, $f14 -/* 0CE914 7F099DE4 27A20204 */ addiu $v0, $sp, 0x204 -/* 0CE918 7F099DE8 27A501F4 */ addiu $a1, $sp, 0x1f4 -/* 0CE91C 7F099DEC 27A402D4 */ addiu $a0, $sp, 0x2d4 -/* 0CE920 7F099DF0 E7AA0234 */ swc1 $f10, 0x234($sp) -/* 0CE924 7F099DF4 460E3282 */ mul.s $f10, $f6, $f14 -/* 0CE928 7F099DF8 27A60214 */ addiu $a2, $sp, 0x214 -/* 0CE92C 7F099DFC E7A40238 */ swc1 $f4, 0x238($sp) -/* 0CE930 7F099E00 27A302F4 */ addiu $v1, $sp, 0x2f4 -/* 0CE934 7F099E04 E7AA023C */ swc1 $f10, 0x23c($sp) -.L7F099E08: -/* 0CE938 7F099E08 C4800000 */ lwc1 $f0, ($a0) -/* 0CE93C 7F099E0C 4600A03E */ c.le.s $f20, $f0 -/* 0CE940 7F099E10 00000000 */ nop -/* 0CE944 7F099E14 45020004 */ bc1fl .L7F099E28 -/* 0CE948 7F099E18 46000307 */ neg.s $f12, $f0 -/* 0CE94C 7F099E1C 10000002 */ b .L7F099E28 -/* 0CE950 7F099E20 46000306 */ mov.s $f12, $f0 -/* 0CE954 7F099E24 46000307 */ neg.s $f12, $f0 -.L7F099E28: -/* 0CE958 7F099E28 C4620000 */ lwc1 $f2, ($v1) -/* 0CE95C 7F099E2C 460E6202 */ mul.s $f8, $f12, $f14 -/* 0CE960 7F099E30 4602A03E */ c.le.s $f20, $f2 -/* 0CE964 7F099E34 00000000 */ nop -/* 0CE968 7F099E38 45000003 */ bc1f .L7F099E48 -/* 0CE96C 7F099E3C E4C80000 */ swc1 $f8, ($a2) -/* 0CE970 7F099E40 10000002 */ b .L7F099E4C -/* 0CE974 7F099E44 46001306 */ mov.s $f12, $f2 -.L7F099E48: -/* 0CE978 7F099E48 46001307 */ neg.s $f12, $f2 -.L7F099E4C: -/* 0CE97C 7F099E4C 460E6102 */ mul.s $f4, $f12, $f14 -/* 0CE980 7F099E50 24A50004 */ addiu $a1, $a1, 4 -/* 0CE984 7F099E54 24630004 */ addiu $v1, $v1, 4 -/* 0CE988 7F099E58 24840004 */ addiu $a0, $a0, 4 -/* 0CE98C 7F099E5C 24C60004 */ addiu $a2, $a2, 4 -/* 0CE990 7F099E60 14A2FFE9 */ bne $a1, $v0, .L7F099E08 -/* 0CE994 7F099E64 E4A4FFFC */ swc1 $f4, -4($a1) -/* 0CE998 7F099E68 44811000 */ mtc1 $at, $f2 -/* 0CE99C 7F099E6C C7AA0214 */ lwc1 $f10, 0x214($sp) -/* 0CE9A0 7F099E70 C7A60234 */ lwc1 $f6, 0x234($sp) -/* 0CE9A4 7F099E74 3C013A80 */ li $at, 0x3A800000 # 0.000977 -/* 0CE9A8 7F099E78 460A1202 */ mul.s $f8, $f2, $f10 -/* 0CE9AC 7F099E7C C7AA01F4 */ lwc1 $f10, 0x1f4($sp) -/* 0CE9B0 7F099E80 46083100 */ add.s $f4, $f6, $f8 -/* 0CE9B4 7F099E84 C7A80218 */ lwc1 $f8, 0x218($sp) -/* 0CE9B8 7F099E88 C7A60238 */ lwc1 $f6, 0x238($sp) -/* 0CE9BC 7F099E8C 46045000 */ add.s $f0, $f10, $f4 -/* 0CE9C0 7F099E90 46081282 */ mul.s $f10, $f2, $f8 -/* 0CE9C4 7F099E94 C7A801F8 */ lwc1 $f8, 0x1f8($sp) -/* 0CE9C8 7F099E98 460A3100 */ add.s $f4, $f6, $f10 -/* 0CE9CC 7F099E9C C7AA021C */ lwc1 $f10, 0x21c($sp) -/* 0CE9D0 7F099EA0 C7A6023C */ lwc1 $f6, 0x23c($sp) -/* 0CE9D4 7F099EA4 46044300 */ add.s $f12, $f8, $f4 -/* 0CE9D8 7F099EA8 460A1202 */ mul.s $f8, $f2, $f10 -/* 0CE9DC 7F099EAC C7AA01FC */ lwc1 $f10, 0x1fc($sp) -/* 0CE9E0 7F099EB0 460C003C */ c.lt.s $f0, $f12 -/* 0CE9E4 7F099EB4 E7AC01D8 */ swc1 $f12, 0x1d8($sp) -/* 0CE9E8 7F099EB8 46083100 */ add.s $f4, $f6, $f8 -/* 0CE9EC 7F099EBC 44813000 */ mtc1 $at, $f6 -/* 0CE9F0 7F099EC0 45000003 */ bc1f .L7F099ED0 -/* 0CE9F4 7F099EC4 46045380 */ add.s $f14, $f10, $f4 -/* 0CE9F8 7F099EC8 46006006 */ mov.s $f0, $f12 -/* 0CE9FC 7F099ECC E7AC01D8 */ swc1 $f12, 0x1d8($sp) -.L7F099ED0: -/* 0CEA00 7F099ED0 460E003C */ c.lt.s $f0, $f14 -/* 0CEA04 7F099ED4 E7AE01DC */ swc1 $f14, 0x1dc($sp) -/* 0CEA08 7F099ED8 45000003 */ bc1f .L7F099EE8 -/* 0CEA0C 7F099EDC 00000000 */ nop -/* 0CEA10 7F099EE0 46007006 */ mov.s $f0, $f14 -/* 0CEA14 7F099EE4 E7AE01DC */ swc1 $f14, 0x1dc($sp) -.L7F099EE8: -/* 0CEA18 7F099EE8 46060002 */ mul.s $f0, $f0, $f6 -/* 0CEA1C 7F099EEC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CEA20 7F099EF0 44814000 */ mtc1 $at, $f8 -/* 0CEA24 7F099EF4 00000000 */ nop -/* 0CEA28 7F099EF8 4600403C */ c.lt.s $f8, $f0 -/* 0CEA2C 7F099EFC 00000000 */ nop -/* 0CEA30 7F099F00 45000005 */ bc1f .L7F099F18 -/* 0CEA34 7F099F04 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CEA38 7F099F08 44815000 */ mtc1 $at, $f10 -/* 0CEA3C 7F099F0C E7A001D4 */ swc1 $f0, 0x1d4($sp) -/* 0CEA40 7F099F10 10000004 */ b .L7F099F24 -/* 0CEA44 7F099F14 46005503 */ div.s $f20, $f10, $f0 -.L7F099F18: -/* 0CEA48 7F099F18 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CEA4C 7F099F1C 4481A000 */ mtc1 $at, $f20 -/* 0CEA50 7F099F20 E7A001D4 */ swc1 $f0, 0x1d4($sp) -.L7F099F24: -/* 0CEA54 7F099F24 C7A40254 */ lwc1 $f4, 0x254($sp) -/* 0CEA58 7F099F28 E7B401C4 */ swc1 $f20, 0x1c4($sp) -/* 0CEA5C 7F099F2C 4604A302 */ mul.s $f12, $f20, $f4 -/* 0CEA60 7F099F30 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEA64 7F099F34 00000000 */ nop -/* 0CEA68 7F099F38 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEA6C 7F099F3C C7A60258 */ lwc1 $f6, 0x258($sp) -/* 0CEA70 7F099F40 AFA200E0 */ sw $v0, 0xe0($sp) -/* 0CEA74 7F099F44 4606A302 */ mul.s $f12, $f20, $f6 -/* 0CEA78 7F099F48 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEA7C 7F099F4C 00000000 */ nop -/* 0CEA80 7F099F50 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEA84 7F099F54 C7A8025C */ lwc1 $f8, 0x25c($sp) -/* 0CEA88 7F099F58 AFA200DC */ sw $v0, 0xdc($sp) -/* 0CEA8C 7F099F5C 4608A302 */ mul.s $f12, $f20, $f8 -/* 0CEA90 7F099F60 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEA94 7F099F64 00000000 */ nop -/* 0CEA98 7F099F68 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEA9C 7F099F6C C7AA0260 */ lwc1 $f10, 0x260($sp) -/* 0CEAA0 7F099F70 AFA200D8 */ sw $v0, 0xd8($sp) -/* 0CEAA4 7F099F74 460AA302 */ mul.s $f12, $f20, $f10 -/* 0CEAA8 7F099F78 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEAAC 7F099F7C 00000000 */ nop -/* 0CEAB0 7F099F80 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEAB4 7F099F84 C7A402D4 */ lwc1 $f4, 0x2d4($sp) -/* 0CEAB8 7F099F88 AFA200D4 */ sw $v0, 0xd4($sp) -/* 0CEABC 7F099F8C 4604A302 */ mul.s $f12, $f20, $f4 -/* 0CEAC0 7F099F90 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEAC4 7F099F94 00000000 */ nop -/* 0CEAC8 7F099F98 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEACC 7F099F9C C7A602D8 */ lwc1 $f6, 0x2d8($sp) -/* 0CEAD0 7F099FA0 AFA200D0 */ sw $v0, 0xd0($sp) -/* 0CEAD4 7F099FA4 4606A302 */ mul.s $f12, $f20, $f6 -/* 0CEAD8 7F099FA8 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEADC 7F099FAC 00000000 */ nop -/* 0CEAE0 7F099FB0 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEAE4 7F099FB4 C7A802DC */ lwc1 $f8, 0x2dc($sp) -/* 0CEAE8 7F099FB8 AFA200CC */ sw $v0, 0xcc($sp) -/* 0CEAEC 7F099FBC 4608A302 */ mul.s $f12, $f20, $f8 -/* 0CEAF0 7F099FC0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEAF4 7F099FC4 00000000 */ nop -/* 0CEAF8 7F099FC8 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEAFC 7F099FCC C7AA02E0 */ lwc1 $f10, 0x2e0($sp) -/* 0CEB00 7F099FD0 AFA200C8 */ sw $v0, 0xc8($sp) -/* 0CEB04 7F099FD4 460AA302 */ mul.s $f12, $f20, $f10 -/* 0CEB08 7F099FD8 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEB0C 7F099FDC 00000000 */ nop -/* 0CEB10 7F099FE0 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEB14 7F099FE4 C7A402F4 */ lwc1 $f4, 0x2f4($sp) -/* 0CEB18 7F099FE8 AFA200C4 */ sw $v0, 0xc4($sp) -/* 0CEB1C 7F099FEC 4604A302 */ mul.s $f12, $f20, $f4 -/* 0CEB20 7F099FF0 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEB24 7F099FF4 00000000 */ nop -/* 0CEB28 7F099FF8 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEB2C 7F099FFC C7A602F8 */ lwc1 $f6, 0x2f8($sp) -/* 0CEB30 7F09A000 AFA200B0 */ sw $v0, 0xb0($sp) -/* 0CEB34 7F09A004 4606A302 */ mul.s $f12, $f20, $f6 -/* 0CEB38 7F09A008 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEB3C 7F09A00C 00000000 */ nop -/* 0CEB40 7F09A010 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEB44 7F09A014 C7A802FC */ lwc1 $f8, 0x2fc($sp) -/* 0CEB48 7F09A018 AFA200AC */ sw $v0, 0xac($sp) -/* 0CEB4C 7F09A01C 4608A302 */ mul.s $f12, $f20, $f8 -/* 0CEB50 7F09A020 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEB54 7F09A024 00000000 */ nop -/* 0CEB58 7F09A028 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEB5C 7F09A02C C7AA0300 */ lwc1 $f10, 0x300($sp) -/* 0CEB60 7F09A030 AFA200A8 */ sw $v0, 0xa8($sp) -/* 0CEB64 7F09A034 460AA302 */ mul.s $f12, $f20, $f10 -/* 0CEB68 7F09A038 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEB6C 7F09A03C 00000000 */ nop -/* 0CEB70 7F09A040 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEB74 7F09A044 C7A40274 */ lwc1 $f4, 0x274($sp) -/* 0CEB78 7F09A048 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0CEB7C 7F09A04C 4604A302 */ mul.s $f12, $f20, $f4 -/* 0CEB80 7F09A050 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEB84 7F09A054 00000000 */ nop -/* 0CEB88 7F09A058 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEB8C 7F09A05C C7A60278 */ lwc1 $f6, 0x278($sp) -/* 0CEB90 7F09A060 AFA200C0 */ sw $v0, 0xc0($sp) -/* 0CEB94 7F09A064 4606A302 */ mul.s $f12, $f20, $f6 -/* 0CEB98 7F09A068 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEB9C 7F09A06C 00000000 */ nop -/* 0CEBA0 7F09A070 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEBA4 7F09A074 C7A8027C */ lwc1 $f8, 0x27c($sp) -/* 0CEBA8 7F09A078 AFA200BC */ sw $v0, 0xbc($sp) -/* 0CEBAC 7F09A07C 4608A302 */ mul.s $f12, $f20, $f8 -/* 0CEBB0 7F09A080 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEBB4 7F09A084 00000000 */ nop -/* 0CEBB8 7F09A088 C7B401C4 */ lwc1 $f20, 0x1c4($sp) -/* 0CEBBC 7F09A08C C7AA0280 */ lwc1 $f10, 0x280($sp) -/* 0CEBC0 7F09A090 AFA200B8 */ sw $v0, 0xb8($sp) -/* 0CEBC4 7F09A094 460AA302 */ mul.s $f12, $f20, $f10 -/* 0CEBC8 7F09A098 0FC250A6 */ jal sub_GAME_7F094298 -/* 0CEBCC 7F09A09C 00000000 */ nop -/* 0CEBD0 7F09A0A0 8FA800B8 */ lw $t0, 0xb8($sp) -/* 0CEBD4 7F09A0A4 8FAB00D4 */ lw $t3, 0xd4($sp) -/* 0CEBD8 7F09A0A8 8FBF00E0 */ lw $ra, 0xe0($sp) -/* 0CEBDC 7F09A0AC 3C0DB400 */ lui $t5, 0xb400 -/* 0CEBE0 7F09A0B0 AE0D0000 */ sw $t5, ($s0) -/* 0CEBE4 7F09A0B4 8FB800DC */ lw $t8, 0xdc($sp) -/* 0CEBE8 7F09A0B8 3C09FFFF */ lui $t1, 0xffff -/* 0CEBEC 7F09A0BC 03E97024 */ and $t6, $ra, $t1 -/* 0CEBF0 7F09A0C0 0309C824 */ and $t9, $t8, $t1 -/* 0CEBF4 7F09A0C4 00197C02 */ srl $t7, $t9, 0x10 -/* 0CEBF8 7F09A0C8 01CFC025 */ or $t8, $t6, $t7 -/* 0CEBFC 7F09A0CC AE180004 */ sw $t8, 4($s0) -/* 0CEC00 7F09A0D0 26040008 */ addiu $a0, $s0, 8 -/* 0CEC04 7F09A0D4 3C19B200 */ lui $t9, 0xb200 -/* 0CEC08 7F09A0D8 AC990000 */ sw $t9, ($a0) -/* 0CEC0C 7F09A0DC 8FAE00D8 */ lw $t6, 0xd8($sp) -/* 0CEC10 7F09A0E0 0169C024 */ and $t8, $t3, $t1 -/* 0CEC14 7F09A0E4 0018CC02 */ srl $t9, $t8, 0x10 -/* 0CEC18 7F09A0E8 01C97824 */ and $t7, $t6, $t1 -/* 0CEC1C 7F09A0EC 01F97025 */ or $t6, $t7, $t9 -/* 0CEC20 7F09A0F0 AC8E0004 */ sw $t6, 4($a0) -/* 0CEC24 7F09A0F4 24850008 */ addiu $a1, $a0, 8 -/* 0CEC28 7F09A0F8 ACAD0000 */ sw $t5, ($a1) -/* 0CEC2C 7F09A0FC 8FB900CC */ lw $t9, 0xcc($sp) -/* 0CEC30 7F09A100 8FB800D0 */ lw $t8, 0xd0($sp) -/* 0CEC34 7F09A104 24A60008 */ addiu $a2, $a1, 8 -/* 0CEC38 7F09A108 03297024 */ and $t6, $t9, $t1 -/* 0CEC3C 7F09A10C 03097824 */ and $t7, $t8, $t1 -/* 0CEC40 7F09A110 000EC402 */ srl $t8, $t6, 0x10 -/* 0CEC44 7F09A114 01F8C825 */ or $t9, $t7, $t8 -/* 0CEC48 7F09A118 ACB90004 */ sw $t9, 4($a1) -/* 0CEC4C 7F09A11C 8FAC00C4 */ lw $t4, 0xc4($sp) -/* 0CEC50 7F09A120 3C0EB200 */ lui $t6, 0xb200 -/* 0CEC54 7F09A124 ACCE0000 */ sw $t6, ($a2) -/* 0CEC58 7F09A128 8FAF00C8 */ lw $t7, 0xc8($sp) -/* 0CEC5C 7F09A12C 0189C824 */ and $t9, $t4, $t1 -/* 0CEC60 7F09A130 00197402 */ srl $t6, $t9, 0x10 -/* 0CEC64 7F09A134 01E9C024 */ and $t8, $t7, $t1 -/* 0CEC68 7F09A138 030E7825 */ or $t7, $t8, $t6 -/* 0CEC6C 7F09A13C ACCF0004 */ sw $t7, 4($a2) -/* 0CEC70 7F09A140 24C30008 */ addiu $v1, $a2, 8 -/* 0CEC74 7F09A144 AC6D0000 */ sw $t5, ($v1) -/* 0CEC78 7F09A148 8FAE00DC */ lw $t6, 0xdc($sp) -/* 0CEC7C 7F09A14C 001FC400 */ sll $t8, $ra, 0x10 -/* 0CEC80 7F09A150 24700008 */ addiu $s0, $v1, 8 -/* 0CEC84 7F09A154 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0CEC88 7F09A158 030FC825 */ or $t9, $t8, $t7 -/* 0CEC8C 7F09A15C AC790004 */ sw $t9, 4($v1) -/* 0CEC90 7F09A160 3C0EB200 */ lui $t6, 0xb200 -/* 0CEC94 7F09A164 AE0E0000 */ sw $t6, ($s0) -/* 0CEC98 7F09A168 8FAF00D8 */ lw $t7, 0xd8($sp) -/* 0CEC9C 7F09A16C 316EFFFF */ andi $t6, $t3, 0xffff -/* 0CECA0 7F09A170 26070008 */ addiu $a3, $s0, 8 -/* 0CECA4 7F09A174 000FCC00 */ sll $t9, $t7, 0x10 -/* 0CECA8 7F09A178 032EC025 */ or $t8, $t9, $t6 -/* 0CECAC 7F09A17C AE180004 */ sw $t8, 4($s0) -/* 0CECB0 7F09A180 ACED0000 */ sw $t5, ($a3) -/* 0CECB4 7F09A184 8FB800CC */ lw $t8, 0xcc($sp) -/* 0CECB8 7F09A188 8FB900D0 */ lw $t9, 0xd0($sp) -/* 0CECBC 7F09A18C 8FAB00C0 */ lw $t3, 0xc0($sp) -/* 0CECC0 7F09A190 330FFFFF */ andi $t7, $t8, 0xffff -/* 0CECC4 7F09A194 00197400 */ sll $t6, $t9, 0x10 -/* 0CECC8 7F09A198 8FA600BC */ lw $a2, 0xbc($sp) -/* 0CECCC 7F09A19C 01CFC825 */ or $t9, $t6, $t7 -/* 0CECD0 7F09A1A0 ACF90004 */ sw $t9, 4($a3) -/* 0CECD4 7F09A1A4 3C0DB200 */ lui $t5, 0xb200 -/* 0CECD8 7F09A1A8 24E30008 */ addiu $v1, $a3, 8 -/* 0CECDC 7F09A1AC AC6D0000 */ sw $t5, ($v1) -/* 0CECE0 7F09A1B0 8FAE00C8 */ lw $t6, 0xc8($sp) -/* 0CECE4 7F09A1B4 3199FFFF */ andi $t9, $t4, 0xffff -/* 0CECE8 7F09A1B8 24640008 */ addiu $a0, $v1, 8 -/* 0CECEC 7F09A1BC 000E7C00 */ sll $t7, $t6, 0x10 -/* 0CECF0 7F09A1C0 01F9C025 */ or $t8, $t7, $t9 -/* 0CECF4 7F09A1C4 AC780004 */ sw $t8, 4($v1) -/* 0CECF8 7F09A1C8 3C0EB400 */ lui $t6, 0xb400 -/* 0CECFC 7F09A1CC 00C9C824 */ and $t9, $a2, $t1 -/* 0CED00 7F09A1D0 0019C402 */ srl $t8, $t9, 0x10 -/* 0CED04 7F09A1D4 AC8E0000 */ sw $t6, ($a0) -/* 0CED08 7F09A1D8 01697824 */ and $t7, $t3, $t1 -/* 0CED0C 7F09A1DC 01F87025 */ or $t6, $t7, $t8 -/* 0CED10 7F09A1E0 00497824 */ and $t7, $v0, $t1 -/* 0CED14 7F09A1E4 AC8E0004 */ sw $t6, 4($a0) -/* 0CED18 7F09A1E8 000FC402 */ srl $t8, $t7, 0x10 -/* 0CED1C 7F09A1EC 0109C824 */ and $t9, $t0, $t1 -/* 0CED20 7F09A1F0 24850008 */ addiu $a1, $a0, 8 -/* 0CED24 7F09A1F4 03387025 */ or $t6, $t9, $t8 -/* 0CED28 7F09A1F8 ACAE0004 */ sw $t6, 4($a1) -/* 0CED2C 7F09A1FC ACAD0000 */ sw $t5, ($a1) -/* 0CED30 7F09A200 8FBF00AC */ lw $ra, 0xac($sp) -/* 0CED34 7F09A204 8FAD00B0 */ lw $t5, 0xb0($sp) -/* 0CED38 7F09A208 00405025 */ move $t2, $v0 -/* 0CED3C 7F09A20C 24B00008 */ addiu $s0, $a1, 8 -/* 0CED40 7F09A210 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 0CED44 7F09A214 8FA700A4 */ lw $a3, 0xa4($sp) -/* 0CED48 7F09A218 02001025 */ move $v0, $s0 -/* 0CED4C 7F09A21C 3C0FB400 */ lui $t7, 0xb400 -/* 0CED50 7F09A220 03E9C024 */ and $t8, $ra, $t1 -/* 0CED54 7F09A224 00187402 */ srl $t6, $t8, 0x10 -/* 0CED58 7F09A228 AC4F0000 */ sw $t7, ($v0) -/* 0CED5C 7F09A22C 01A9C824 */ and $t9, $t5, $t1 -/* 0CED60 7F09A230 032E7825 */ or $t7, $t9, $t6 -/* 0CED64 7F09A234 AC4F0004 */ sw $t7, 4($v0) -/* 0CED68 7F09A238 26030008 */ addiu $v1, $s0, 8 -/* 0CED6C 7F09A23C 3C18B200 */ lui $t8, 0xb200 -/* 0CED70 7F09A240 00E97024 */ and $t6, $a3, $t1 -/* 0CED74 7F09A244 000E7C02 */ srl $t7, $t6, 0x10 -/* 0CED78 7F09A248 AC780000 */ sw $t8, ($v1) -/* 0CED7C 7F09A24C 0189C824 */ and $t9, $t4, $t1 -/* 0CED80 7F09A250 032FC025 */ or $t8, $t9, $t7 -/* 0CED84 7F09A254 AC780004 */ sw $t8, 4($v1) -/* 0CED88 7F09A258 24700008 */ addiu $s0, $v1, 8 -/* 0CED8C 7F09A25C 3C0EB400 */ lui $t6, 0xb400 -/* 0CED90 7F09A260 AE0E0000 */ sw $t6, ($s0) -/* 0CED94 7F09A264 000B7C00 */ sll $t7, $t3, 0x10 -/* 0CED98 7F09A268 30D8FFFF */ andi $t8, $a2, 0xffff -/* 0CED9C 7F09A26C 01F87025 */ or $t6, $t7, $t8 -/* 0CEDA0 7F09A270 AE0E0004 */ sw $t6, 4($s0) -/* 0CEDA4 7F09A274 26050008 */ addiu $a1, $s0, 8 -/* 0CEDA8 7F09A278 3C19B200 */ lui $t9, 0xb200 -/* 0CEDAC 7F09A27C ACB90000 */ sw $t9, ($a1) -/* 0CEDB0 7F09A280 314EFFFF */ andi $t6, $t2, 0xffff -/* 0CEDB4 7F09A284 0008C400 */ sll $t8, $t0, 0x10 -/* 0CEDB8 7F09A288 030EC825 */ or $t9, $t8, $t6 -/* 0CEDBC 7F09A28C ACB90004 */ sw $t9, 4($a1) -/* 0CEDC0 7F09A290 24A30008 */ addiu $v1, $a1, 8 -/* 0CEDC4 7F09A294 3C0FB400 */ lui $t7, 0xb400 -/* 0CEDC8 7F09A298 AC6F0000 */ sw $t7, ($v1) -/* 0CEDCC 7F09A29C 33F9FFFF */ andi $t9, $ra, 0xffff -/* 0CEDD0 7F09A2A0 000D7400 */ sll $t6, $t5, 0x10 -/* 0CEDD4 7F09A2A4 01D97825 */ or $t7, $t6, $t9 -/* 0CEDD8 7F09A2A8 AC6F0004 */ sw $t7, 4($v1) -/* 0CEDDC 7F09A2AC 24640008 */ addiu $a0, $v1, 8 -/* 0CEDE0 7F09A2B0 3C18B300 */ lui $t8, 0xb300 -/* 0CEDE4 7F09A2B4 AC980000 */ sw $t8, ($a0) -/* 0CEDE8 7F09A2B8 000CCC00 */ sll $t9, $t4, 0x10 -/* 0CEDEC 7F09A2BC 30EFFFFF */ andi $t7, $a3, 0xffff -/* 0CEDF0 7F09A2C0 032FC025 */ or $t8, $t9, $t7 -/* 0CEDF4 7F09A2C4 AC980004 */ sw $t8, 4($a0) -/* 0CEDF8 7F09A2C8 24820008 */ addiu $v0, $a0, 8 -.L7F09A2CC: -/* 0CEDFC 7F09A2CC 8FBF0024 */ lw $ra, 0x24($sp) -/* 0CEE00 7F09A2D0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0CEE04 7F09A2D4 8FB00020 */ lw $s0, 0x20($sp) -/* 0CEE08 7F09A2D8 03E00008 */ jr $ra -/* 0CEE0C 7F09A2DC 27BD04D0 */ addiu $sp, $sp, 0x4d0 -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel default_player_perspective_and_height -/* 0CEE10 7F09A2E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CEE14 7F09A2E4 44810000 */ mtc1 $at, $f0 -/* 0CEE18 7F09A2E8 3C018008 */ lui $at, %hi(player1_player_data+0x64) -/* 0CEE1C 7F09A2EC E4209F54 */ swc1 $f0, %lo(player1_player_data+0x64)($at) -/* 0CEE20 7F09A2F0 3C018008 */ lui $at, %hi(player1_player_data+0x5c) -/* 0CEE24 7F09A2F4 E4209F4C */ swc1 $f0, %lo(player1_player_data+0x5c)($at) -/* 0CEE28 7F09A2F8 3C018008 */ lui $at, %hi(player2_player_data+0x64) -/* 0CEE2C 7F09A2FC E4209FC4 */ swc1 $f0, %lo(player2_player_data+0x64)($at) -/* 0CEE30 7F09A300 3C018008 */ lui $at, %hi(player2_player_data+0x5C) -/* 0CEE34 7F09A304 E4209FBC */ swc1 $f0, %lo(player2_player_data+0x5C)($at) -/* 0CEE38 7F09A308 3C018008 */ lui $at, %hi(player3_player_data+0x64) -/* 0CEE3C 7F09A30C E420A034 */ swc1 $f0, %lo(player3_player_data+0x64)($at) -/* 0CEE40 7F09A310 3C018008 */ lui $at, %hi(player3_player_data+0x5C) -/* 0CEE44 7F09A314 E420A02C */ swc1 $f0, %lo(player3_player_data+0x5C)($at) -/* 0CEE48 7F09A318 3C018008 */ lui $at, %hi(player4_player_data+0x64) -/* 0CEE4C 7F09A31C E420A0A4 */ swc1 $f0, %lo(player4_player_data+0x64)($at) -/* 0CEE50 7F09A320 3C018008 */ lui $at, %hi(player4_player_data+92) -/* 0CEE54 7F09A324 03E00008 */ jr $ra -/* 0CEE58 7F09A328 E420A09C */ swc1 $f0, %lo(player4_player_data+92)($at) -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel reset_play_data_ptrs -/* 0CEE5C 7F09A32C 3C028008 */ lui $v0, %hi(ptr_BONDdata_p1) -/* 0CEE60 7F09A330 24429EE0 */ addiu $v0, %lo(ptr_BONDdata_p1) # addiu $v0, $v0, -0x6120 -/* 0CEE64 7F09A334 AC400000 */ sw $zero, ($v0) -/* 0CEE68 7F09A338 AC400004 */ sw $zero, 4($v0) -/* 0CEE6C 7F09A33C AC400008 */ sw $zero, 8($v0) -/* 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(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) -/* 0CEE90 7F09A360 3C018008 */ lui $at, %hi(random_byte) -/* 0CEE94 7F09A364 2463A0C0 */ addiu $v1, %lo(dword_CODE_bss_8007A0C0) # addiu $v1, $v1, -0x5f40 -/* 0CEE98 7F09A368 AC20A0BC */ sw $zero, %lo(random_byte)($at) -/* 0CEE9C 7F09A36C 240E0001 */ li $t6, 1 -/* 0CEEA0 7F09A370 240F0002 */ li $t7, 2 -/* 0CEEA4 7F09A374 24180003 */ li $t8, 3 -/* 0CEEA8 7F09A378 AC600000 */ sw $zero, ($v1) -/* 0CEEAC 7F09A37C AC6E0004 */ sw $t6, 4($v1) -/* 0CEEB0 7F09A380 AC6F0008 */ sw $t7, 8($v1) -/* 0CEEB4 7F09A384 03E00008 */ jr $ra -/* 0CEEB8 7F09A388 AC78000C */ sw $t8, 0xc($v1) -) -#endif - - - - -#ifdef NONMATCHING -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( -.text -glabel init_player_data_ptrs_construct_viewports -/* 0CEEBC 7F09A38C 3C028008 */ lui $v0, %hi(ptr_BONDdata_p1) -/* 0CEEC0 7F09A390 24429EE0 */ addiu $v0, %lo(ptr_BONDdata_p1) # addiu $v0, $v0, -0x6120 -/* 0CEEC4 7F09A394 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0CEEC8 7F09A398 AFBF001C */ sw $ra, 0x1c($sp) -/* 0CEECC 7F09A39C AFB10018 */ sw $s1, 0x18($sp) -/* 0CEED0 7F09A3A0 00808825 */ move $s1, $a0 -/* 0CEED4 7F09A3A4 AFB00014 */ sw $s0, 0x14($sp) -/* 0CEED8 7F09A3A8 AC400000 */ sw $zero, ($v0) -/* 0CEEDC 7F09A3AC AC400004 */ sw $zero, 4($v0) -/* 0CEEE0 7F09A3B0 AC400008 */ sw $zero, 8($v0) -/* 0CEEE4 7F09A3B4 0C002914 */ jal get_random_value -/* 0CEEE8 7F09A3B8 AC40000C */ sw $zero, 0xc($v0) -/* 0CEEEC 7F09A3BC 304E00FF */ andi $t6, $v0, 0xff -/* 0CEEF0 7F09A3C0 3C018008 */ lui $at, %hi(random_byte) -/* 0CEEF4 7F09A3C4 1A20000C */ blez $s1, .L7F09A3F8 -/* 0CEEF8 7F09A3C8 AC2EA0BC */ sw $t6, %lo(random_byte)($at) -/* 0CEEFC 7F09A3CC 1A200006 */ blez $s1, .L7F09A3E8 -/* 0CEF00 7F09A3D0 00008025 */ move $s0, $zero -.L7F09A3D4: -/* 0CEF04 7F09A3D4 0FC2692F */ jal initBONDdataforPlayer -/* 0CEF08 7F09A3D8 02002025 */ move $a0, $s0 -/* 0CEF0C 7F09A3DC 26100001 */ addiu $s0, $s0, 1 -/* 0CEF10 7F09A3E0 1611FFFC */ bne $s0, $s1, .L7F09A3D4 -/* 0CEF14 7F09A3E4 00000000 */ nop -.L7F09A3E8: -/* 0CEF18 7F09A3E8 0FC26C43 */ jal set_cur_player -/* 0CEF1C 7F09A3EC 00002025 */ move $a0, $zero -/* 0CEF20 7F09A3F0 10000018 */ b .L7F09A454 -/* 0CEF24 7F09A3F4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F09A3F8: -/* 0CEF28 7F09A3F8 0FC2692F */ jal initBONDdataforPlayer -/* 0CEF2C 7F09A3FC 00002025 */ move $a0, $zero -/* 0CEF30 7F09A400 0FC26C43 */ jal set_cur_player -/* 0CEF34 7F09A404 00002025 */ move $a0, $zero -/* 0CEF38 7F09A408 0C001127 */ jal get_video2_settings_width -/* 0CEF3C 7F09A40C 00000000 */ nop -/* 0CEF40 7F09A410 00028400 */ sll $s0, $v0, 0x10 -/* 0CEF44 7F09A414 00107C03 */ sra $t7, $s0, 0x10 -/* 0CEF48 7F09A418 0C00112B */ jal get_video2_settings_height -/* 0CEF4C 7F09A41C 01E08025 */ move $s0, $t7 -/* 0CEF50 7F09A420 02002025 */ move $a0, $s0 -/* 0CEF54 7F09A424 0FC26C77 */ jal set_cur_player_screen_size -/* 0CEF58 7F09A428 00402825 */ move $a1, $v0 -/* 0CEF5C 7F09A42C 0C001145 */ jal get_video2_settings_ulx -/* 0CEF60 7F09A430 00000000 */ nop -/* 0CEF64 7F09A434 00028400 */ sll $s0, $v0, 0x10 -/* 0CEF68 7F09A438 0010C403 */ sra $t8, $s0, 0x10 -/* 0CEF6C 7F09A43C 0C001149 */ jal get_video2_settings_uly -/* 0CEF70 7F09A440 03008025 */ move $s0, $t8 -/* 0CEF74 7F09A444 02002025 */ move $a0, $s0 -/* 0CEF78 7F09A448 0FC26C7E */ jal set_cur_player_viewport_size -/* 0CEF7C 7F09A44C 00402825 */ move $a1, $v0 -/* 0CEF80 7F09A450 8FBF001C */ lw $ra, 0x1c($sp) -.L7F09A454: -/* 0CEF84 7F09A454 8FB00014 */ lw $s0, 0x14($sp) -/* 0CEF88 7F09A458 8FB10018 */ lw $s1, 0x18($sp) -/* 0CEF8C 7F09A45C 03E00008 */ jr $ra -/* 0CEF90 7F09A460 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel get_num_players -/* 0CEF94 7F09A464 3C0E8008 */ lui $t6, %hi(ptr_BONDdata_p1) -/* 0CEF98 7F09A468 8DCE9EE0 */ lw $t6, %lo(ptr_BONDdata_p1)($t6) -/* 0CEF9C 7F09A46C 00001825 */ move $v1, $zero -/* 0CEFA0 7F09A470 3C0F8008 */ lui $t7, %hi(ptr_BONDdata_p2) -/* 0CEFA4 7F09A474 11C00002 */ beqz $t6, .L7F09A480 -/* 0CEFA8 7F09A478 3C188008 */ lui $t8, %hi(ptr_BONDdata_p3) -/* 0CEFAC 7F09A47C 24030001 */ li $v1, 1 -.L7F09A480: -/* 0CEFB0 7F09A480 8DEF9EE4 */ lw $t7, %lo(ptr_BONDdata_p2)($t7) -/* 0CEFB4 7F09A484 3C198008 */ lui $t9, %hi(ptr_BONDdata_p4) -/* 0CEFB8 7F09A488 11E00002 */ beqz $t7, .L7F09A494 -/* 0CEFBC 7F09A48C 00000000 */ nop -/* 0CEFC0 7F09A490 24630001 */ addiu $v1, $v1, 1 -.L7F09A494: -/* 0CEFC4 7F09A494 8F189EE8 */ lw $t8, %lo(ptr_BONDdata_p3)($t8) -/* 0CEFC8 7F09A498 13000002 */ beqz $t8, .L7F09A4A4 -/* 0CEFCC 7F09A49C 00000000 */ nop -/* 0CEFD0 7F09A4A0 24630001 */ addiu $v1, $v1, 1 -.L7F09A4A4: -/* 0CEFD4 7F09A4A4 8F399EEC */ lw $t9, %lo(ptr_BONDdata_p4)($t9) -/* 0CEFD8 7F09A4A8 13200002 */ beqz $t9, .L7F09A4B4 -/* 0CEFDC 7F09A4AC 00000000 */ nop -/* 0CEFE0 7F09A4B0 24630001 */ addiu $v1, $v1, 1 -.L7F09A4B4: -/* 0CEFE4 7F09A4B4 03E00008 */ jr $ra -/* 0CEFE8 7F09A4B8 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -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 -GLOBAL_ASM( -.late_rodata -glabel D_80057610 -.word 0xc3652ee0 /*-229.18311*/ -glabel D_80057614 -.word 0x411ffffe /*9.9999981*/ -glabel D_80057618 -.word 0x3f6e147b /*0.93000001*/ -glabel D_8005761C -.word 0x4164924b /*14.285716*/ -glabel D_80057620 -.word 0x3f666666 /*0.89999998*/ -glabel D_80057624 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80057628 -.word 0x3faaaaab /*1.3333334*/ -.text -glabel initBONDdataforPlayer -/* 0CEFEC 7F09A4BC 27BDFC30 */ addiu $sp, $sp, -0x3d0 -/* 0CEFF0 7F09A4C0 3C0F8004 */ lui $t7, %hi(D_8003FD94+0xC) -/* 0CEFF4 7F09A4C4 25EFFDA0 */ addiu $t7, %lo(D_8003FD94+0xC) # addiu $t7, $t7, -0x260 -/* 0CEFF8 7F09A4C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0CEFFC 7F09A4CC AFA403D0 */ sw $a0, 0x3d0($sp) -/* 0CF000 7F09A4D0 25EB03A8 */ addiu $t3, $t7, 0x3a8 -/* 0CF004 7F09A4D4 27AE0024 */ addiu $t6, $sp, 0x24 -.L7F09A4D8: -/* 0CF008 7F09A4D8 8DE10000 */ lw $at, ($t7) -/* 0CF00C 7F09A4DC 25EF000C */ addiu $t7, $t7, 0xc -/* 0CF010 7F09A4E0 25CE000C */ addiu $t6, $t6, 0xc -/* 0CF014 7F09A4E4 ADC1FFF4 */ sw $at, -0xc($t6) -/* 0CF018 7F09A4E8 8DE1FFF8 */ lw $at, -8($t7) -/* 0CF01C 7F09A4EC ADC1FFF8 */ sw $at, -8($t6) -/* 0CF020 7F09A4F0 8DE1FFFC */ lw $at, -4($t7) -/* 0CF024 7F09A4F4 15EBFFF8 */ bne $t7, $t3, .L7F09A4D8 -/* 0CF028 7F09A4F8 ADC1FFFC */ sw $at, -4($t6) -/* 0CF02C 7F09A4FC 24042A80 */ li $a0, 10880 -/* 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) -/* 0CF040 7F09A510 27399EE0 */ addiu $t9, %lo(ptr_BONDdata_p1) # addiu $t9, $t9, -0x6120 -/* 0CF044 7F09A514 000C6880 */ sll $t5, $t4, 2 -/* 0CF048 7F09A518 01B91821 */ addu $v1, $t5, $t9 -/* 0CF04C 7F09A51C AC620000 */ sw $v0, ($v1) -/* 0CF050 7F09A520 AC400000 */ sw $zero, ($v0) -/* 0CF054 7F09A524 44800000 */ mtc1 $zero, $f0 -/* 0CF058 7F09A528 8C780000 */ lw $t8, ($v1) -/* 0CF05C 7F09A52C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CF060 7F09A530 44811000 */ mtc1 $at, $f2 -/* 0CF064 7F09A534 E7000004 */ swc1 $f0, 4($t8) -/* 0CF068 7F09A538 8C6B0000 */ lw $t3, ($v1) -/* 0CF06C 7F09A53C 24040002 */ li $a0, 2 -/* 0CF070 7F09A540 24080001 */ li $t0, 1 -/* 0CF074 7F09A544 E5600008 */ swc1 $f0, 8($t3) -/* 0CF078 7F09A548 8C6F0000 */ lw $t7, ($v1) -/* 0CF07C 7F09A54C 2409FFFF */ li $t1, -1 -/* 0CF080 7F09A550 3C01C080 */ li $at, 0xC0800000 # -4.000000 -/* 0CF084 7F09A554 E5E0000C */ swc1 $f0, 0xc($t7) -/* 0CF088 7F09A558 8C6E0000 */ lw $t6, ($v1) -/* 0CF08C 7F09A55C 44812000 */ mtc1 $at, $f4 -/* 0CF090 7F09A560 3C018005 */ lui $at, %hi(D_80057610) -/* 0CF094 7F09A564 E5C00010 */ swc1 $f0, 0x10($t6) -/* 0CF098 7F09A568 8C6C0000 */ lw $t4, ($v1) -/* 0CF09C 7F09A56C 240200FF */ li $v0, 255 -/* 0CF0A0 7F09A570 27AA0024 */ addiu $t2, $sp, 0x24 -/* 0CF0A4 7F09A574 E5800014 */ swc1 $f0, 0x14($t4) -/* 0CF0A8 7F09A578 8C6D0000 */ lw $t5, ($v1) -/* 0CF0AC 7F09A57C E5A20018 */ swc1 $f2, 0x18($t5) -/* 0CF0B0 7F09A580 8C790000 */ lw $t9, ($v1) -/* 0CF0B4 7F09A584 E720001C */ swc1 $f0, 0x1c($t9) -/* 0CF0B8 7F09A588 8C780000 */ lw $t8, ($v1) -/* 0CF0BC 7F09A58C E7020020 */ swc1 $f2, 0x20($t8) -/* 0CF0C0 7F09A590 8C6B0000 */ lw $t3, ($v1) -/* 0CF0C4 7F09A594 E5600024 */ swc1 $f0, 0x24($t3) -/* 0CF0C8 7F09A598 8C6F0000 */ lw $t7, ($v1) -/* 0CF0CC 7F09A59C E5E00028 */ swc1 $f0, 0x28($t7) -/* 0CF0D0 7F09A5A0 8C6E0000 */ lw $t6, ($v1) -/* 0CF0D4 7F09A5A4 E5C0002C */ swc1 $f0, 0x2c($t6) -/* 0CF0D8 7F09A5A8 8C6C0000 */ lw $t4, ($v1) -/* 0CF0DC 7F09A5AC E5800030 */ swc1 $f0, 0x30($t4) -/* 0CF0E0 7F09A5B0 8C6D0000 */ lw $t5, ($v1) -/* 0CF0E4 7F09A5B4 ADA00034 */ sw $zero, 0x34($t5) -/* 0CF0E8 7F09A5B8 8C790000 */ lw $t9, ($v1) -/* 0CF0EC 7F09A5BC E7200038 */ swc1 $f0, 0x38($t9) -/* 0CF0F0 7F09A5C0 8C780000 */ lw $t8, ($v1) -/* 0CF0F4 7F09A5C4 E700003C */ swc1 $f0, 0x3c($t8) -/* 0CF0F8 7F09A5C8 8C6B0000 */ lw $t3, ($v1) -/* 0CF0FC 7F09A5CC E5600040 */ swc1 $f0, 0x40($t3) -/* 0CF100 7F09A5D0 8C6F0000 */ lw $t7, ($v1) -/* 0CF104 7F09A5D4 E5E00044 */ swc1 $f0, 0x44($t7) -/* 0CF108 7F09A5D8 8C6E0000 */ lw $t6, ($v1) -/* 0CF10C 7F09A5DC E5C00048 */ swc1 $f0, 0x48($t6) -/* 0CF110 7F09A5E0 8C6C0000 */ lw $t4, ($v1) -/* 0CF114 7F09A5E4 E580004C */ swc1 $f0, 0x4c($t4) -/* 0CF118 7F09A5E8 8C6D0000 */ lw $t5, ($v1) -/* 0CF11C 7F09A5EC E5A00050 */ swc1 $f0, 0x50($t5) -/* 0CF120 7F09A5F0 8C790000 */ lw $t9, ($v1) -/* 0CF124 7F09A5F4 E7200054 */ swc1 $f0, 0x54($t9) -/* 0CF128 7F09A5F8 8C780000 */ lw $t8, ($v1) -/* 0CF12C 7F09A5FC E7000058 */ swc1 $f0, 0x58($t8) -/* 0CF130 7F09A600 8C6B0000 */ lw $t3, ($v1) -/* 0CF134 7F09A604 E560006C */ swc1 $f0, 0x6c($t3) -/* 0CF138 7F09A608 8C6F0000 */ lw $t7, ($v1) -/* 0CF13C 7F09A60C E5E00070 */ swc1 $f0, 0x70($t7) -/* 0CF140 7F09A610 8C6E0000 */ lw $t6, ($v1) -/* 0CF144 7F09A614 E5C00074 */ swc1 $f0, 0x74($t6) -/* 0CF148 7F09A618 8C6C0000 */ lw $t4, ($v1) -/* 0CF14C 7F09A61C E5800078 */ swc1 $f0, 0x78($t4) -/* 0CF150 7F09A620 8C6D0000 */ lw $t5, ($v1) -/* 0CF154 7F09A624 E5A0007C */ swc1 $f0, 0x7c($t5) -/* 0CF158 7F09A628 8C790000 */ lw $t9, ($v1) -/* 0CF15C 7F09A62C E7200080 */ swc1 $f0, 0x80($t9) -/* 0CF160 7F09A630 8C780000 */ lw $t8, ($v1) -/* 0CF164 7F09A634 E7000084 */ swc1 $f0, 0x84($t8) -/* 0CF168 7F09A638 8C6B0000 */ lw $t3, ($v1) -/* 0CF16C 7F09A63C E5600088 */ swc1 $f0, 0x88($t3) -/* 0CF170 7F09A640 8C6F0000 */ lw $t7, ($v1) -/* 0CF174 7F09A644 ADE0008C */ sw $zero, 0x8c($t7) -/* 0CF178 7F09A648 8C6E0000 */ lw $t6, ($v1) -/* 0CF17C 7F09A64C E5C00090 */ swc1 $f0, 0x90($t6) -/* 0CF180 7F09A650 8C6C0000 */ lw $t4, ($v1) -/* 0CF184 7F09A654 AD800094 */ sw $zero, 0x94($t4) -/* 0CF188 7F09A658 8C6D0000 */ lw $t5, ($v1) -/* 0CF18C 7F09A65C E5A00098 */ swc1 $f0, 0x98($t5) -/* 0CF190 7F09A660 8C790000 */ lw $t9, ($v1) -/* 0CF194 7F09A664 E7201274 */ swc1 $f0, 0x1274($t9) -/* 0CF198 7F09A668 8C780000 */ lw $t8, ($v1) -/* 0CF19C 7F09A66C E7001278 */ swc1 $f0, 0x1278($t8) -/* 0CF1A0 7F09A670 8C6B0000 */ lw $t3, ($v1) -/* 0CF1A4 7F09A674 E560127C */ swc1 $f0, 0x127c($t3) -/* 0CF1A8 7F09A678 8C6F0000 */ lw $t7, ($v1) -/* 0CF1AC 7F09A67C ADE4009C */ sw $a0, 0x9c($t7) -/* 0CF1B0 7F09A680 8C6E0000 */ lw $t6, ($v1) -/* 0CF1B4 7F09A684 ADC429FC */ sw $a0, 0x29fc($t6) -/* 0CF1B8 7F09A688 8C6C0000 */ lw $t4, ($v1) -/* 0CF1BC 7F09A68C E58000A0 */ swc1 $f0, 0xa0($t4) -/* 0CF1C0 7F09A690 8C6D0000 */ lw $t5, ($v1) -/* 0CF1C4 7F09A694 E5A000A4 */ swc1 $f0, 0xa4($t5) -/* 0CF1C8 7F09A698 8C790000 */ lw $t9, ($v1) -/* 0CF1CC 7F09A69C AF2000A8 */ sw $zero, 0xa8($t9) -/* 0CF1D0 7F09A6A0 8C780000 */ lw $t8, ($v1) -/* 0CF1D4 7F09A6A4 AF0800AC */ sw $t0, 0xac($t8) -/* 0CF1D8 7F09A6A8 8C6B0000 */ lw $t3, ($v1) -/* 0CF1DC 7F09A6AC AD6000D0 */ sw $zero, 0xd0($t3) -/* 0CF1E0 7F09A6B0 8C6F0000 */ lw $t7, ($v1) -/* 0CF1E4 7F09A6B4 ADE000D4 */ sw $zero, 0xd4($t7) -/* 0CF1E8 7F09A6B8 8C6E0000 */ lw $t6, ($v1) -/* 0CF1EC 7F09A6BC ADC000D8 */ sw $zero, 0xd8($t6) -/* 0CF1F0 7F09A6C0 8C6C0000 */ lw $t4, ($v1) -/* 0CF1F4 7F09A6C4 E58200DC */ swc1 $f2, 0xdc($t4) -/* 0CF1F8 7F09A6C8 8C6D0000 */ lw $t5, ($v1) -/* 0CF1FC 7F09A6CC E5A000E0 */ swc1 $f0, 0xe0($t5) -/* 0CF200 7F09A6D0 8C790000 */ lw $t9, ($v1) -/* 0CF204 7F09A6D4 E72200E4 */ swc1 $f2, 0xe4($t9) -/* 0CF208 7F09A6D8 8C780000 */ lw $t8, ($v1) -/* 0CF20C 7F09A6DC E70000E8 */ swc1 $f0, 0xe8($t8) -/* 0CF210 7F09A6E0 8C6B0000 */ lw $t3, ($v1) -/* 0CF214 7F09A6E4 E56200EC */ swc1 $f2, 0xec($t3) -/* 0CF218 7F09A6E8 8C6F0000 */ lw $t7, ($v1) -/* 0CF21C 7F09A6EC E5E000F0 */ swc1 $f0, 0xf0($t7) -/* 0CF220 7F09A6F0 8C6E0000 */ lw $t6, ($v1) -/* 0CF224 7F09A6F4 ADC900F4 */ sw $t1, 0xf4($t6) -/* 0CF228 7F09A6F8 8C6C0000 */ lw $t4, ($v1) -/* 0CF22C 7F09A6FC AD8900F8 */ sw $t1, 0xf8($t4) -/* 0CF230 7F09A700 8C6D0000 */ lw $t5, ($v1) -/* 0CF234 7F09A704 ADA00104 */ sw $zero, 0x104($t5) -/* 0CF238 7F09A708 8C790000 */ lw $t9, ($v1) -/* 0CF23C 7F09A70C AF200108 */ sw $zero, 0x108($t9) -/* 0CF240 7F09A710 8C780000 */ lw $t8, ($v1) -/* 0CF244 7F09A714 AF00010C */ sw $zero, 0x10c($t8) -/* 0CF248 7F09A718 8C6B0000 */ lw $t3, ($v1) -/* 0CF24C 7F09A71C AD600110 */ sw $zero, 0x110($t3) -/* 0CF250 7F09A720 8C6F0000 */ lw $t7, ($v1) -/* 0CF254 7F09A724 ADE80114 */ sw $t0, 0x114($t7) -/* 0CF258 7F09A728 8C6E0000 */ lw $t6, ($v1) -/* 0CF25C 7F09A72C ADC80118 */ sw $t0, 0x118($t6) -/* 0CF260 7F09A730 8C6C0000 */ lw $t4, ($v1) -/* 0CF264 7F09A734 AD80011C */ sw $zero, 0x11c($t4) -/* 0CF268 7F09A738 8C6D0000 */ lw $t5, ($v1) -/* 0CF26C 7F09A73C ADA80120 */ sw $t0, 0x120($t5) -/* 0CF270 7F09A740 8C790000 */ lw $t9, ($v1) -/* 0CF274 7F09A744 AF200124 */ sw $zero, 0x124($t9) -/* 0CF278 7F09A748 8C780000 */ lw $t8, ($v1) -/* 0CF27C 7F09A74C AF080128 */ sw $t0, 0x128($t8) -/* 0CF280 7F09A750 8C6B0000 */ lw $t3, ($v1) -/* 0CF284 7F09A754 E560012C */ swc1 $f0, 0x12c($t3) -/* 0CF288 7F09A758 8C6F0000 */ lw $t7, ($v1) -/* 0CF28C 7F09A75C ADE00130 */ sw $zero, 0x130($t7) -/* 0CF290 7F09A760 8C6E0000 */ lw $t6, ($v1) -/* 0CF294 7F09A764 ADC90134 */ sw $t1, 0x134($t6) -/* 0CF298 7F09A768 8C6C0000 */ lw $t4, ($v1) -/* 0CF29C 7F09A76C AD880138 */ sw $t0, 0x138($t4) -/* 0CF2A0 7F09A770 8C6D0000 */ lw $t5, ($v1) -/* 0CF2A4 7F09A774 E5A0013C */ swc1 $f0, 0x13c($t5) -/* 0CF2A8 7F09A778 8C790000 */ lw $t9, ($v1) -/* 0CF2AC 7F09A77C AF200140 */ sw $zero, 0x140($t9) -/* 0CF2B0 7F09A780 8C780000 */ lw $t8, ($v1) -/* 0CF2B4 7F09A784 AF090144 */ sw $t1, 0x144($t8) -/* 0CF2B8 7F09A788 8C6B0000 */ lw $t3, ($v1) -/* 0CF2BC 7F09A78C E5600148 */ swc1 $f0, 0x148($t3) -/* 0CF2C0 7F09A790 8C6F0000 */ lw $t7, ($v1) -/* 0CF2C4 7F09A794 E5E0014C */ swc1 $f0, 0x14c($t7) -/* 0CF2C8 7F09A798 8C6E0000 */ lw $t6, ($v1) -/* 0CF2CC 7F09A79C E5C20150 */ swc1 $f2, 0x150($t6) -/* 0CF2D0 7F09A7A0 8C6C0000 */ lw $t4, ($v1) -/* 0CF2D4 7F09A7A4 E5800154 */ swc1 $f0, 0x154($t4) -/* 0CF2D8 7F09A7A8 8C6D0000 */ lw $t5, ($v1) -/* 0CF2DC 7F09A7AC E5A40158 */ swc1 $f4, 0x158($t5) -/* 0CF2E0 7F09A7B0 8C790000 */ lw $t9, ($v1) -/* 0CF2E4 7F09A7B4 C4267610 */ lwc1 $f6, %lo(D_80057610)($at) -/* 0CF2E8 7F09A7B8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0CF2EC 7F09A7BC 44816000 */ mtc1 $at, $f12 -/* 0CF2F0 7F09A7C0 E726015C */ swc1 $f6, 0x15c($t9) -/* 0CF2F4 7F09A7C4 8C780000 */ lw $t8, ($v1) -/* 0CF2F8 7F09A7C8 3C01C1C8 */ li $at, 0xC1C80000 # -25.000000 -/* 0CF2FC 7F09A7CC 44814000 */ mtc1 $at, $f8 -/* 0CF300 7F09A7D0 E7000160 */ swc1 $f0, 0x160($t8) -/* 0CF304 7F09A7D4 8C6B0000 */ lw $t3, ($v1) -/* 0CF308 7F09A7D8 3C018005 */ lui $at, %hi(D_80057614) -/* 0CF30C 7F09A7DC E5620164 */ swc1 $f2, 0x164($t3) -/* 0CF310 7F09A7E0 8C6F0000 */ lw $t7, ($v1) -/* 0CF314 7F09A7E4 E5E00168 */ swc1 $f0, 0x168($t7) -/* 0CF318 7F09A7E8 8C6E0000 */ lw $t6, ($v1) -/* 0CF31C 7F09A7EC E5C0016C */ swc1 $f0, 0x16c($t6) -/* 0CF320 7F09A7F0 8C6C0000 */ lw $t4, ($v1) -/* 0CF324 7F09A7F4 E5800170 */ swc1 $f0, 0x170($t4) -/* 0CF328 7F09A7F8 8C6D0000 */ lw $t5, ($v1) -/* 0CF32C 7F09A7FC E5A00174 */ swc1 $f0, 0x174($t5) -/* 0CF330 7F09A800 8C790000 */ lw $t9, ($v1) -/* 0CF334 7F09A804 E7202A4C */ swc1 $f0, 0x2a4c($t9) -/* 0CF338 7F09A808 8C780000 */ lw $t8, ($v1) -/* 0CF33C 7F09A80C E7020178 */ swc1 $f2, 0x178($t8) -/* 0CF340 7F09A810 8C6B0000 */ lw $t3, ($v1) -/* 0CF344 7F09A814 E5600180 */ swc1 $f0, 0x180($t3) -/* 0CF348 7F09A818 8C6F0000 */ lw $t7, ($v1) -/* 0CF34C 7F09A81C E5E00184 */ swc1 $f0, 0x184($t7) -/* 0CF350 7F09A820 8C6E0000 */ lw $t6, ($v1) -/* 0CF354 7F09A824 E5C00188 */ swc1 $f0, 0x188($t6) -/* 0CF358 7F09A828 8C6C0000 */ lw $t4, ($v1) -/* 0CF35C 7F09A82C E58C018C */ swc1 $f12, 0x18c($t4) -/* 0CF360 7F09A830 8C6D0000 */ lw $t5, ($v1) -/* 0CF364 7F09A834 E5AC0190 */ swc1 $f12, 0x190($t5) -/* 0CF368 7F09A838 8C790000 */ lw $t9, ($v1) -/* 0CF36C 7F09A83C E7200194 */ swc1 $f0, 0x194($t9) -/* 0CF370 7F09A840 8C780000 */ lw $t8, ($v1) -/* 0CF374 7F09A844 E7000198 */ swc1 $f0, 0x198($t8) -/* 0CF378 7F09A848 8C6B0000 */ lw $t3, ($v1) -/* 0CF37C 7F09A84C E560019C */ swc1 $f0, 0x19c($t3) -/* 0CF380 7F09A850 8C6F0000 */ lw $t7, ($v1) -/* 0CF384 7F09A854 ADE001A0 */ sw $zero, 0x1a0($t7) -/* 0CF388 7F09A858 8C6E0000 */ lw $t6, ($v1) -/* 0CF38C 7F09A85C ADC001C0 */ sw $zero, 0x1c0($t6) -/* 0CF390 7F09A860 8C6C0000 */ lw $t4, ($v1) -/* 0CF394 7F09A864 AD8001C4 */ sw $zero, 0x1c4($t4) -/* 0CF398 7F09A868 8C6D0000 */ lw $t5, ($v1) -/* 0CF39C 7F09A86C ADA001C8 */ sw $zero, 0x1c8($t5) -/* 0CF3A0 7F09A870 8C790000 */ lw $t9, ($v1) -/* 0CF3A4 7F09A874 AF2801CC */ sw $t0, 0x1cc($t9) -/* 0CF3A8 7F09A878 8C780000 */ lw $t8, ($v1) -/* 0CF3AC 7F09A87C AF0001D0 */ sw $zero, 0x1d0($t8) -/* 0CF3B0 7F09A880 8C6B0000 */ lw $t3, ($v1) -/* 0CF3B4 7F09A884 E56001D4 */ swc1 $f0, 0x1d4($t3) -/* 0CF3B8 7F09A888 8C6F0000 */ lw $t7, ($v1) -/* 0CF3BC 7F09A88C E5E001D8 */ swc1 $f0, 0x1d8($t7) -/* 0CF3C0 7F09A890 8C6E0000 */ lw $t6, ($v1) -/* 0CF3C4 7F09A894 E5C801DC */ swc1 $f8, 0x1dc($t6) -/* 0CF3C8 7F09A898 8C6C0000 */ lw $t4, ($v1) -/* 0CF3CC 7F09A89C E58001E0 */ swc1 $f0, 0x1e0($t4) -/* 0CF3D0 7F09A8A0 8C6D0000 */ lw $t5, ($v1) -/* 0CF3D4 7F09A8A4 E5A201E4 */ swc1 $f2, 0x1e4($t5) -/* 0CF3D8 7F09A8A8 8C790000 */ lw $t9, ($v1) -/* 0CF3DC 7F09A8AC E72001E8 */ swc1 $f0, 0x1e8($t9) -/* 0CF3E0 7F09A8B0 8C780000 */ lw $t8, ($v1) -/* 0CF3E4 7F09A8B4 E70001EC */ swc1 $f0, 0x1ec($t8) -/* 0CF3E8 7F09A8B8 8C6B0000 */ lw $t3, ($v1) -/* 0CF3EC 7F09A8BC E56001F0 */ swc1 $f0, 0x1f0($t3) -/* 0CF3F0 7F09A8C0 8C6F0000 */ lw $t7, ($v1) -/* 0CF3F4 7F09A8C4 E5E201F4 */ swc1 $f2, 0x1f4($t7) -/* 0CF3F8 7F09A8C8 8C6E0000 */ lw $t6, ($v1) -/* 0CF3FC 7F09A8CC ADC00200 */ sw $zero, 0x200($t6) -/* 0CF400 7F09A8D0 8C6C0000 */ lw $t4, ($v1) -/* 0CF404 7F09A8D4 E5800204 */ swc1 $f0, 0x204($t4) -/* 0CF408 7F09A8D8 8C6D0000 */ lw $t5, ($v1) -/* 0CF40C 7F09A8DC E5A00208 */ swc1 $f0, 0x208($t5) -/* 0CF410 7F09A8E0 8C790000 */ lw $t9, ($v1) -/* 0CF414 7F09A8E4 E720020C */ swc1 $f0, 0x20c($t9) -/* 0CF418 7F09A8E8 8C780000 */ lw $t8, ($v1) -/* 0CF41C 7F09A8EC E7000210 */ swc1 $f0, 0x210($t8) -/* 0CF420 7F09A8F0 8C6B0000 */ lw $t3, ($v1) -/* 0CF424 7F09A8F4 E5600214 */ swc1 $f0, 0x214($t3) -/* 0CF428 7F09A8F8 8C6F0000 */ lw $t7, ($v1) -/* 0CF42C 7F09A8FC ADE00218 */ sw $zero, 0x218($t7) -/* 0CF430 7F09A900 8C6E0000 */ lw $t6, ($v1) -/* 0CF434 7F09A904 ADC8021C */ sw $t0, 0x21c($t6) -/* 0CF438 7F09A908 8C6C0000 */ lw $t4, ($v1) -/* 0CF43C 7F09A90C AD800220 */ sw $zero, 0x220($t4) -/* 0CF440 7F09A910 8C6D0000 */ lw $t5, ($v1) -/* 0CF444 7F09A914 E5A00224 */ swc1 $f0, 0x224($t5) -/* 0CF448 7F09A918 8C790000 */ lw $t9, ($v1) -/* 0CF44C 7F09A91C A72003B4 */ sh $zero, 0x3b4($t9) -/* 0CF450 7F09A920 8C780000 */ lw $t8, ($v1) -/* 0CF454 7F09A924 A70003B6 */ sh $zero, 0x3b6($t8) -/* 0CF458 7F09A928 8C6B0000 */ lw $t3, ($v1) -/* 0CF45C 7F09A92C E56003B8 */ swc1 $f0, 0x3b8($t3) -/* 0CF460 7F09A930 8C6F0000 */ lw $t7, ($v1) -/* 0CF464 7F09A934 E5E003BC */ swc1 $f0, 0x3bc($t7) -/* 0CF468 7F09A938 8C6E0000 */ lw $t6, ($v1) -/* 0CF46C 7F09A93C C42A7614 */ lwc1 $f10, %lo(D_80057614)($at) -/* 0CF470 7F09A940 E5CA03C0 */ swc1 $f10, 0x3c0($t6) -/* 0CF474 7F09A944 8C6C0000 */ lw $t4, ($v1) -/* 0CF478 7F09A948 E58003C4 */ swc1 $f0, 0x3c4($t4) -/* 0CF47C 7F09A94C 8C6D0000 */ lw $t5, ($v1) -/* 0CF480 7F09A950 E5A003C8 */ swc1 $f0, 0x3c8($t5) -/* 0CF484 7F09A954 8C790000 */ lw $t9, ($v1) -/* 0CF488 7F09A958 E72203CC */ swc1 $f2, 0x3cc($t9) -/* 0CF48C 7F09A95C 8C780000 */ lw $t8, ($v1) -/* 0CF490 7F09A960 AF0203D0 */ sw $v0, 0x3d0($t8) -/* 0CF494 7F09A964 8C6B0000 */ lw $t3, ($v1) -/* 0CF498 7F09A968 AD6203D4 */ sw $v0, 0x3d4($t3) -/* 0CF49C 7F09A96C 8C6F0000 */ lw $t7, ($v1) -/* 0CF4A0 7F09A970 3C018005 */ lui $at, %hi(D_80057618) -/* 0CF4A4 7F09A974 24070020 */ li $a3, 32 -/* 0CF4A8 7F09A978 ADE203D8 */ sw $v0, 0x3d8($t7) -/* 0CF4AC 7F09A97C 8C6E0000 */ lw $t6, ($v1) -/* 0CF4B0 7F09A980 240601FF */ li $a2, 511 -/* 0CF4B4 7F09A984 240501E0 */ li $a1, 480 -/* 0CF4B8 7F09A988 E5C003DC */ swc1 $f0, 0x3dc($t6) -/* 0CF4BC 7F09A98C 8C6C0000 */ lw $t4, ($v1) -/* 0CF4C0 7F09A990 E58C03E0 */ swc1 $f12, 0x3e0($t4) -/* 0CF4C4 7F09A994 8C6D0000 */ lw $t5, ($v1) -/* 0CF4C8 7F09A998 E5AC03E4 */ swc1 $f12, 0x3e4($t5) -/* 0CF4CC 7F09A99C 8C790000 */ lw $t9, ($v1) -/* 0CF4D0 7F09A9A0 AF2203E8 */ sw $v0, 0x3e8($t9) -/* 0CF4D4 7F09A9A4 8C780000 */ lw $t8, ($v1) -/* 0CF4D8 7F09A9A8 AF0203EC */ sw $v0, 0x3ec($t8) -/* 0CF4DC 7F09A9AC 8C6B0000 */ lw $t3, ($v1) -/* 0CF4E0 7F09A9B0 AD6203F0 */ sw $v0, 0x3f0($t3) -/* 0CF4E4 7F09A9B4 8C6F0000 */ lw $t7, ($v1) -/* 0CF4E8 7F09A9B8 ADE203F4 */ sw $v0, 0x3f4($t7) -/* 0CF4EC 7F09A9BC 8C6E0000 */ lw $t6, ($v1) -/* 0CF4F0 7F09A9C0 ADC203F8 */ sw $v0, 0x3f8($t6) -/* 0CF4F4 7F09A9C4 8C6C0000 */ lw $t4, ($v1) -/* 0CF4F8 7F09A9C8 AD8203FC */ sw $v0, 0x3fc($t4) -/* 0CF4FC 7F09A9CC 8C6D0000 */ lw $t5, ($v1) -/* 0CF500 7F09A9D0 00001025 */ move $v0, $zero -/* 0CF504 7F09A9D4 E5A00400 */ swc1 $f0, 0x400($t5) -/* 0CF508 7F09A9D8 8C790000 */ lw $t9, ($v1) -/* 0CF50C 7F09A9DC E7200404 */ swc1 $f0, 0x404($t9) -/* 0CF510 7F09A9E0 8C780000 */ lw $t8, ($v1) -/* 0CF514 7F09A9E4 AF00041C */ sw $zero, 0x41c($t8) -/* 0CF518 7F09A9E8 8C6B0000 */ lw $t3, ($v1) -/* 0CF51C 7F09A9EC AD680420 */ sw $t0, 0x420($t3) -/* 0CF520 7F09A9F0 8C6F0000 */ lw $t7, ($v1) -/* 0CF524 7F09A9F4 ADE00424 */ sw $zero, 0x424($t7) -/* 0CF528 7F09A9F8 8C6E0000 */ lw $t6, ($v1) -/* 0CF52C 7F09A9FC ADC00428 */ sw $zero, 0x428($t6) -/* 0CF530 7F09AA00 8C6C0000 */ lw $t4, ($v1) -/* 0CF534 7F09AA04 AD84042C */ sw $a0, 0x42c($t4) -/* 0CF538 7F09AA08 8C6D0000 */ lw $t5, ($v1) -/* 0CF53C 7F09AA0C 24040280 */ li $a0, 640 -/* 0CF540 7F09AA10 ADA00430 */ sw $zero, 0x430($t5) -/* 0CF544 7F09AA14 8C790000 */ lw $t9, ($v1) -/* 0CF548 7F09AA18 AF2804DC */ sw $t0, 0x4dc($t9) -/* 0CF54C 7F09AA1C 8C780000 */ lw $t8, ($v1) -/* 0CF550 7F09AA20 AF0804E0 */ sw $t0, 0x4e0($t8) -/* 0CF554 7F09AA24 8C6B0000 */ lw $t3, ($v1) -/* 0CF558 7F09AA28 AD6804E4 */ sw $t0, 0x4e4($t3) -/* 0CF55C 7F09AA2C 8C6F0000 */ lw $t7, ($v1) -/* 0CF560 7F09AA30 ADE004E8 */ sw $zero, 0x4e8($t7) -/* 0CF564 7F09AA34 8C6E0000 */ lw $t6, ($v1) -/* 0CF568 7F09AA38 C4327618 */ lwc1 $f18, %lo(D_80057618)($at) -/* 0CF56C 7F09AA3C 3C018005 */ lui $at, %hi(D_8005761C) -/* 0CF570 7F09AA40 E5D204EC */ swc1 $f18, 0x4ec($t6) -/* 0CF574 7F09AA44 8C6C0000 */ lw $t4, ($v1) -/* 0CF578 7F09AA48 AD8004F0 */ sw $zero, 0x4f0($t4) -/* 0CF57C 7F09AA4C 8C6D0000 */ lw $t5, ($v1) -/* 0CF580 7F09AA50 E5A204F4 */ swc1 $f2, 0x4f4($t5) -/* 0CF584 7F09AA54 8C790000 */ lw $t9, ($v1) -/* 0CF588 7F09AA58 E72204F8 */ swc1 $f2, 0x4f8($t9) -/* 0CF58C 7F09AA5C 8C780000 */ lw $t8, ($v1) -/* 0CF590 7F09AA60 E70004FC */ swc1 $f0, 0x4fc($t8) -/* 0CF594 7F09AA64 8C6B0000 */ lw $t3, ($v1) -/* 0CF598 7F09AA68 E5600500 */ swc1 $f0, 0x500($t3) -/* 0CF59C 7F09AA6C 8C6F0000 */ lw $t7, ($v1) -/* 0CF5A0 7F09AA70 E5E00504 */ swc1 $f0, 0x504($t7) -/* 0CF5A4 7F09AA74 8C6E0000 */ lw $t6, ($v1) -/* 0CF5A8 7F09AA78 C42C761C */ lwc1 $f12, %lo(D_8005761C)($at) -/* 0CF5AC 7F09AA7C E5C00508 */ swc1 $f0, 0x508($t6) -/* 0CF5B0 7F09AA80 8C6C0000 */ lw $t4, ($v1) -/* 0CF5B4 7F09AA84 E580050C */ swc1 $f0, 0x50c($t4) -/* 0CF5B8 7F09AA88 8C6D0000 */ lw $t5, ($v1) -/* 0CF5BC 7F09AA8C E5A20510 */ swc1 $f2, 0x510($t5) -/* 0CF5C0 7F09AA90 8C790000 */ lw $t9, ($v1) -/* 0CF5C4 7F09AA94 E7200514 */ swc1 $f0, 0x514($t9) -/* 0CF5C8 7F09AA98 8C780000 */ lw $t8, ($v1) -/* 0CF5CC 7F09AA9C E7020518 */ swc1 $f2, 0x518($t8) -/* 0CF5D0 7F09AAA0 8C6B0000 */ lw $t3, ($v1) -/* 0CF5D4 7F09AAA4 E560051C */ swc1 $f0, 0x51c($t3) -/* 0CF5D8 7F09AAA8 8C6F0000 */ lw $t7, ($v1) -/* 0CF5DC 7F09AAAC E5E00520 */ swc1 $f0, 0x520($t7) -/* 0CF5E0 7F09AAB0 8C6E0000 */ lw $t6, ($v1) -/* 0CF5E4 7F09AAB4 E5C00524 */ swc1 $f0, 0x524($t6) -/* 0CF5E8 7F09AAB8 8C6C0000 */ lw $t4, ($v1) -/* 0CF5EC 7F09AABC E5800528 */ swc1 $f0, 0x528($t4) -/* 0CF5F0 7F09AAC0 8C6D0000 */ lw $t5, ($v1) -/* 0CF5F4 7F09AAC4 E5A0052C */ swc1 $f0, 0x52c($t5) -/* 0CF5F8 7F09AAC8 8C790000 */ lw $t9, ($v1) -/* 0CF5FC 7F09AACC E7200530 */ swc1 $f0, 0x530($t9) -/* 0CF600 7F09AAD0 8C780000 */ lw $t8, ($v1) -/* 0CF604 7F09AAD4 E70C0534 */ swc1 $f12, 0x534($t8) -/* 0CF608 7F09AAD8 8C6B0000 */ lw $t3, ($v1) -/* 0CF60C 7F09AADC E5600538 */ swc1 $f0, 0x538($t3) -/* 0CF610 7F09AAE0 8C6F0000 */ lw $t7, ($v1) -/* 0CF614 7F09AAE4 E5EC053C */ swc1 $f12, 0x53c($t7) -/* 0CF618 7F09AAE8 8C6E0000 */ lw $t6, ($v1) -/* 0CF61C 7F09AAEC E5C00540 */ swc1 $f0, 0x540($t6) -/* 0CF620 7F09AAF0 8C6C0000 */ lw $t4, ($v1) -/* 0CF624 7F09AAF4 E5800544 */ swc1 $f0, 0x544($t4) -/* 0CF628 7F09AAF8 8C6D0000 */ lw $t5, ($v1) -/* 0CF62C 7F09AAFC E5A00548 */ swc1 $f0, 0x548($t5) -/* 0CF630 7F09AB00 8C790000 */ lw $t9, ($v1) -/* 0CF634 7F09AB04 E720054C */ swc1 $f0, 0x54c($t9) -/* 0CF638 7F09AB08 8C780000 */ lw $t8, ($v1) -/* 0CF63C 7F09AB0C E7000550 */ swc1 $f0, 0x550($t8) -/* 0CF640 7F09AB10 8C6B0000 */ lw $t3, ($v1) -/* 0CF644 7F09AB14 E5600554 */ swc1 $f0, 0x554($t3) -/* 0CF648 7F09AB18 8C6F0000 */ lw $t7, ($v1) -/* 0CF64C 7F09AB1C E5E00558 */ swc1 $f0, 0x558($t7) -/* 0CF650 7F09AB20 8C6E0000 */ lw $t6, ($v1) -/* 0CF654 7F09AB24 E5C0055C */ swc1 $f0, 0x55c($t6) -/* 0CF658 7F09AB28 8C6C0000 */ lw $t4, ($v1) -/* 0CF65C 7F09AB2C E5800560 */ swc1 $f0, 0x560($t4) -/* 0CF660 7F09AB30 8C6D0000 */ lw $t5, ($v1) -/* 0CF664 7F09AB34 E5A00564 */ swc1 $f0, 0x564($t5) -/* 0CF668 7F09AB38 8C790000 */ lw $t9, ($v1) -/* 0CF66C 7F09AB3C E7200568 */ swc1 $f0, 0x568($t9) -/* 0CF670 7F09AB40 8C780000 */ lw $t8, ($v1) -/* 0CF674 7F09AB44 E702056C */ swc1 $f2, 0x56c($t8) -/* 0CF678 7F09AB48 8C6B0000 */ lw $t3, ($v1) -/* 0CF67C 7F09AB4C E5600570 */ swc1 $f0, 0x570($t3) -/* 0CF680 7F09AB50 8C6F0000 */ lw $t7, ($v1) -/* 0CF684 7F09AB54 E5E00574 */ swc1 $f0, 0x574($t7) -/* 0CF688 7F09AB58 8C6E0000 */ lw $t6, ($v1) -/* 0CF68C 7F09AB5C E5C20578 */ swc1 $f2, 0x578($t6) -/* 0CF690 7F09AB60 8C6C0000 */ lw $t4, ($v1) -/* 0CF694 7F09AB64 E580057C */ swc1 $f0, 0x57c($t4) -/* 0CF698 7F09AB68 8C6D0000 */ lw $t5, ($v1) -/* 0CF69C 7F09AB6C E5A20580 */ swc1 $f2, 0x580($t5) -/* 0CF6A0 7F09AB70 8C790000 */ lw $t9, ($v1) -/* 0CF6A4 7F09AB74 E7200584 */ swc1 $f0, 0x584($t9) -/* 0CF6A8 7F09AB78 8C780000 */ lw $t8, ($v1) -/* 0CF6AC 7F09AB7C E7000588 */ swc1 $f0, 0x588($t8) -/* 0CF6B0 7F09AB80 8C6B0000 */ lw $t3, ($v1) -/* 0CF6B4 7F09AB84 E562058C */ swc1 $f2, 0x58c($t3) -/* 0CF6B8 7F09AB88 8C6F0000 */ lw $t7, ($v1) -/* 0CF6BC 7F09AB8C E5E00590 */ swc1 $f0, 0x590($t7) -/* 0CF6C0 7F09AB90 8C6E0000 */ lw $t6, ($v1) -/* 0CF6C4 7F09AB94 ADC00594 */ sw $zero, 0x594($t6) -.L7F09AB98: -/* 0CF6C8 7F09AB98 8C6C0000 */ lw $t4, ($v1) -/* 0CF6CC 7F09AB9C 01826821 */ addu $t5, $t4, $v0 -/* 0CF6D0 7F09ABA0 A5A407D0 */ sh $a0, 0x7d0($t5) -/* 0CF6D4 7F09ABA4 8C790000 */ lw $t9, ($v1) -/* 0CF6D8 7F09ABA8 0322C021 */ addu $t8, $t9, $v0 -/* 0CF6DC 7F09ABAC A70507D2 */ sh $a1, 0x7d2($t8) -/* 0CF6E0 7F09ABB0 8C6B0000 */ lw $t3, ($v1) -/* 0CF6E4 7F09ABB4 01627821 */ addu $t7, $t3, $v0 -/* 0CF6E8 7F09ABB8 A5E607D4 */ sh $a2, 0x7d4($t7) -/* 0CF6EC 7F09ABBC 8C6E0000 */ lw $t6, ($v1) -/* 0CF6F0 7F09ABC0 01C26021 */ addu $t4, $t6, $v0 -/* 0CF6F4 7F09ABC4 A58007D6 */ sh $zero, 0x7d6($t4) -/* 0CF6F8 7F09ABC8 8C6D0000 */ lw $t5, ($v1) -/* 0CF6FC 7F09ABCC 01A2C821 */ addu $t9, $t5, $v0 -/* 0CF700 7F09ABD0 A72407D8 */ sh $a0, 0x7d8($t9) -/* 0CF704 7F09ABD4 8C780000 */ lw $t8, ($v1) -/* 0CF708 7F09ABD8 03025821 */ addu $t3, $t8, $v0 -/* 0CF70C 7F09ABDC A56507DA */ sh $a1, 0x7da($t3) -/* 0CF710 7F09ABE0 8C6F0000 */ lw $t7, ($v1) -/* 0CF714 7F09ABE4 01E27021 */ addu $t6, $t7, $v0 -/* 0CF718 7F09ABE8 A5C607DC */ sh $a2, 0x7dc($t6) -/* 0CF71C 7F09ABEC 8C6C0000 */ lw $t4, ($v1) -/* 0CF720 7F09ABF0 01826821 */ addu $t5, $t4, $v0 -/* 0CF724 7F09ABF4 24420010 */ addiu $v0, $v0, 0x10 -/* 0CF728 7F09ABF8 1447FFE7 */ bne $v0, $a3, .L7F09AB98 -/* 0CF72C 7F09ABFC A5A007DE */ sh $zero, 0x7de($t5) -/* 0CF730 7F09AC00 8C790000 */ lw $t9, ($v1) -/* 0CF734 7F09AC04 24020064 */ li $v0, 100 -/* 0CF738 7F09AC08 A72207F0 */ sh $v0, 0x7f0($t9) -/* 0CF73C 7F09AC0C 8C780000 */ lw $t8, ($v1) -/* 0CF740 7F09AC10 A70207F2 */ sh $v0, 0x7f2($t8) -/* 0CF744 7F09AC14 8C6B0000 */ lw $t3, ($v1) -/* 0CF748 7F09AC18 A56007F4 */ sh $zero, 0x7f4($t3) -/* 0CF74C 7F09AC1C 8C6F0000 */ lw $t7, ($v1) -/* 0CF750 7F09AC20 A5E007F6 */ sh $zero, 0x7f6($t7) -/* 0CF754 7F09AC24 8C6E0000 */ lw $t6, ($v1) -/* 0CF758 7F09AC28 ADC007F8 */ sw $zero, 0x7f8($t6) -/* 0CF75C 7F09AC2C 8C6C0000 */ lw $t4, ($v1) -/* 0CF760 7F09AC30 AD8007FC */ sw $zero, 0x7fc($t4) -/* 0CF764 7F09AC34 8C6D0000 */ lw $t5, ($v1) -/* 0CF768 7F09AC38 ADA00800 */ sw $zero, 0x800($t5) -/* 0CF76C 7F09AC3C 8C790000 */ lw $t9, ($v1) -/* 0CF770 7F09AC40 AF200804 */ sw $zero, 0x804($t9) -/* 0CF774 7F09AC44 8C780000 */ lw $t8, ($v1) -/* 0CF778 7F09AC48 AF092A44 */ sw $t1, 0x2a44($t8) -/* 0CF77C 7F09AC4C 8C6B0000 */ lw $t3, ($v1) -/* 0CF780 7F09AC50 0140C025 */ move $t8, $t2 -/* 0CF784 7F09AC54 AD692A48 */ sw $t1, 0x2a48($t3) -/* 0CF788 7F09AC58 8C6F0000 */ lw $t7, ($v1) -/* 0CF78C 7F09AC5C 254B03A8 */ addiu $t3, $t2, 0x3a8 -/* 0CF790 7F09AC60 ADE02A50 */ sw $zero, 0x2a50($t7) -/* 0CF794 7F09AC64 8C6E0000 */ lw $t6, ($v1) -/* 0CF798 7F09AC68 01407825 */ move $t7, $t2 -/* 0CF79C 7F09AC6C ADC02A54 */ sw $zero, 0x2a54($t6) -/* 0CF7A0 7F09AC70 8C6C0000 */ lw $t4, ($v1) -/* 0CF7A4 7F09AC74 AD800808 */ sw $zero, 0x808($t4) -/* 0CF7A8 7F09AC78 8C6D0000 */ lw $t5, ($v1) -/* 0CF7AC 7F09AC7C ADA0080C */ sw $zero, 0x80c($t5) -/* 0CF7B0 7F09AC80 8C790000 */ lw $t9, ($v1) -.L7F09AC84: -/* 0CF7B4 7F09AC84 8DE10000 */ lw $at, ($t7) -/* 0CF7B8 7F09AC88 25EF000C */ addiu $t7, $t7, 0xc -/* 0CF7BC 7F09AC8C 2739000C */ addiu $t9, $t9, 0xc -/* 0CF7C0 7F09AC90 AF210864 */ sw $at, 0x864($t9) -/* 0CF7C4 7F09AC94 8DE1FFF8 */ lw $at, -8($t7) -/* 0CF7C8 7F09AC98 AF210868 */ sw $at, 0x868($t9) -/* 0CF7CC 7F09AC9C 8DE1FFFC */ lw $at, -4($t7) -/* 0CF7D0 7F09ACA0 15EBFFF8 */ bne $t7, $t3, .L7F09AC84 -/* 0CF7D4 7F09ACA4 AF21086C */ sw $at, 0x86c($t9) -/* 0CF7D8 7F09ACA8 8C6E0000 */ lw $t6, ($v1) -/* 0CF7DC 7F09ACAC 254D03A8 */ addiu $t5, $t2, 0x3a8 -.L7F09ACB0: -/* 0CF7E0 7F09ACB0 8F010000 */ lw $at, ($t8) -/* 0CF7E4 7F09ACB4 2718000C */ addiu $t8, $t8, 0xc -/* 0CF7E8 7F09ACB8 25CE000C */ addiu $t6, $t6, 0xc -/* 0CF7EC 7F09ACBC ADC10C0C */ sw $at, 0xc0c($t6) -/* 0CF7F0 7F09ACC0 8F01FFF8 */ lw $at, -8($t8) -/* 0CF7F4 7F09ACC4 ADC10C10 */ sw $at, 0xc10($t6) -/* 0CF7F8 7F09ACC8 8F01FFFC */ lw $at, -4($t8) -/* 0CF7FC 7F09ACCC 170DFFF8 */ bne $t8, $t5, .L7F09ACB0 -/* 0CF800 7F09ACD0 ADC10C14 */ sw $at, 0xc14($t6) -/* 0CF804 7F09ACD4 8C6B0000 */ lw $t3, ($v1) -/* 0CF808 7F09ACD8 3C018005 */ lui $at, %hi(D_80057620) -/* 0CF80C 7F09ACDC 240200FF */ li $v0, 255 -/* 0CF810 7F09ACE0 E5620FC0 */ swc1 $f2, 0xfc0($t3) -/* 0CF814 7F09ACE4 8C6F0000 */ lw $t7, ($v1) -/* 0CF818 7F09ACE8 24040007 */ li $a0, 7 -/* 0CF81C 7F09ACEC E5E20FC4 */ swc1 $f2, 0xfc4($t7) -/* 0CF820 7F09ACF0 8C790000 */ lw $t9, ($v1) -/* 0CF824 7F09ACF4 AF200FC8 */ sw $zero, 0xfc8($t9) -/* 0CF828 7F09ACF8 8C6C0000 */ lw $t4, ($v1) -/* 0CF82C 7F09ACFC AD800FCC */ sw $zero, 0xfcc($t4) -/* 0CF830 7F09AD00 8C6D0000 */ lw $t5, ($v1) -/* 0CF834 7F09AD04 C42C7620 */ lwc1 $f12, %lo(D_80057620)($at) -/* 0CF838 7F09AD08 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0CF83C 7F09AD0C ADA00FD0 */ sw $zero, 0xfd0($t5) -/* 0CF840 7F09AD10 8C780000 */ lw $t8, ($v1) -/* 0CF844 7F09AD14 AF000FD4 */ sw $zero, 0xfd4($t8) -/* 0CF848 7F09AD18 8C6E0000 */ lw $t6, ($v1) -/* 0CF84C 7F09AD1C ADC00FD8 */ sw $zero, 0xfd8($t6) -/* 0CF850 7F09AD20 8C6B0000 */ lw $t3, ($v1) -/* 0CF854 7F09AD24 A1620FDC */ sb $v0, 0xfdc($t3) -/* 0CF858 7F09AD28 8C6F0000 */ lw $t7, ($v1) -/* 0CF85C 7F09AD2C A1E20FDD */ sb $v0, 0xfdd($t7) -/* 0CF860 7F09AD30 8C790000 */ lw $t9, ($v1) -/* 0CF864 7F09AD34 A3220FDE */ sb $v0, 0xfde($t9) -/* 0CF868 7F09AD38 8C6C0000 */ lw $t4, ($v1) -/* 0CF86C 7F09AD3C 3C028008 */ lui $v0, %hi(random_byte) -/* 0CF870 7F09AD40 2442A0BC */ addiu $v0, %lo(random_byte) # addiu $v0, $v0, -0x5f44 -/* 0CF874 7F09AD44 A1800FDF */ sb $zero, 0xfdf($t4) -/* 0CF878 7F09AD48 8C6D0000 */ lw $t5, ($v1) -/* 0CF87C 7F09AD4C ADA80FE0 */ sw $t0, 0xfe0($t5) -/* 0CF880 7F09AD50 8C780000 */ lw $t8, ($v1) -/* 0CF884 7F09AD54 AF000FE4 */ sw $zero, 0xfe4($t8) -/* 0CF888 7F09AD58 8C6E0000 */ lw $t6, ($v1) -/* 0CF88C 7F09AD5C E5C00FE8 */ swc1 $f0, 0xfe8($t6) -/* 0CF890 7F09AD60 8C6B0000 */ lw $t3, ($v1) -/* 0CF894 7F09AD64 E5600FEC */ swc1 $f0, 0xfec($t3) -/* 0CF898 7F09AD68 8C6F0000 */ lw $t7, ($v1) -/* 0CF89C 7F09AD6C E5E00FF0 */ swc1 $f0, 0xff0($t7) -/* 0CF8A0 7F09AD70 8C790000 */ lw $t9, ($v1) -/* 0CF8A4 7F09AD74 E7200FF4 */ swc1 $f0, 0xff4($t9) -/* 0CF8A8 7F09AD78 8C6C0000 */ lw $t4, ($v1) -/* 0CF8AC 7F09AD7C E58C0FF8 */ swc1 $f12, 0xff8($t4) -/* 0CF8B0 7F09AD80 8C6D0000 */ lw $t5, ($v1) -/* 0CF8B4 7F09AD84 E5A00FFC */ swc1 $f0, 0xffc($t5) -/* 0CF8B8 7F09AD88 8C780000 */ lw $t8, ($v1) -/* 0CF8BC 7F09AD8C E7001000 */ swc1 $f0, 0x1000($t8) -/* 0CF8C0 7F09AD90 8C6E0000 */ lw $t6, ($v1) -/* 0CF8C4 7F09AD94 E5C01004 */ swc1 $f0, 0x1004($t6) -/* 0CF8C8 7F09AD98 8C6B0000 */ lw $t3, ($v1) -/* 0CF8CC 7F09AD9C E5601008 */ swc1 $f0, 0x1008($t3) -/* 0CF8D0 7F09ADA0 8C6F0000 */ lw $t7, ($v1) -/* 0CF8D4 7F09ADA4 E5EC100C */ swc1 $f12, 0x100c($t7) -/* 0CF8D8 7F09ADA8 44816000 */ mtc1 $at, $f12 -/* 0CF8DC 7F09ADAC 8C790000 */ lw $t9, ($v1) -/* 0CF8E0 7F09ADB0 3C0143A0 */ li $at, 0x43A00000 # 320.000000 -/* 0CF8E4 7F09ADB4 44817000 */ mtc1 $at, $f14 -/* 0CF8E8 7F09ADB8 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 0CF8EC 7F09ADBC 44818000 */ mtc1 $at, $f16 -/* 0CF8F0 7F09ADC0 E7201010 */ swc1 $f0, 0x1010($t9) -/* 0CF8F4 7F09ADC4 3C018005 */ lui $at, %hi(D_80057624) -/* 0CF8F8 7F09ADC8 C4247624 */ lwc1 $f4, %lo(D_80057624)($at) -/* 0CF8FC 7F09ADCC 8C6C0000 */ lw $t4, ($v1) -/* 0CF900 7F09ADD0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0CF904 7F09ADD4 44813000 */ mtc1 $at, $f6 -/* 0CF908 7F09ADD8 E5841014 */ swc1 $f4, 0x1014($t4) -/* 0CF90C 7F09ADDC 8C6D0000 */ lw $t5, ($v1) -/* 0CF910 7F09ADE0 3C014238 */ li $at, 0x42380000 # 46.000000 -/* 0CF914 7F09ADE4 44814000 */ mtc1 $at, $f8 -/* 0CF918 7F09ADE8 E5A01018 */ swc1 $f0, 0x1018($t5) -/* 0CF91C 7F09ADEC 8C780000 */ lw $t8, ($v1) -/* 0CF920 7F09ADF0 3C014320 */ li $at, 0x43200000 # 160.000000 -/* 0CF924 7F09ADF4 44815000 */ mtc1 $at, $f10 -/* 0CF928 7F09ADF8 AF00105C */ sw $zero, 0x105c($t8) -/* 0CF92C 7F09ADFC 8C6E0000 */ lw $t6, ($v1) -/* 0CF930 7F09AE00 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0CF934 7F09AE04 44819000 */ mtc1 $at, $f18 -/* 0CF938 7F09AE08 ADC01060 */ sw $zero, 0x1060($t6) -/* 0CF93C 7F09AE0C 8C6B0000 */ lw $t3, ($v1) -/* 0CF940 7F09AE10 3C018005 */ lui $at, %hi(D_80057628) -/* 0CF944 7F09AE14 AD601064 */ sw $zero, 0x1064($t3) -/* 0CF948 7F09AE18 8C6F0000 */ lw $t7, ($v1) -/* 0CF94C 7F09AE1C E5E0106C */ swc1 $f0, 0x106c($t7) -/* 0CF950 7F09AE20 8C790000 */ lw $t9, ($v1) -/* 0CF954 7F09AE24 E7201070 */ swc1 $f0, 0x1070($t9) -/* 0CF958 7F09AE28 8C6C0000 */ lw $t4, ($v1) -/* 0CF95C 7F09AE2C E5801074 */ swc1 $f0, 0x1074($t4) -/* 0CF960 7F09AE30 8C6D0000 */ lw $t5, ($v1) -/* 0CF964 7F09AE34 ADA01078 */ sw $zero, 0x1078($t5) -/* 0CF968 7F09AE38 8C780000 */ lw $t8, ($v1) -/* 0CF96C 7F09AE3C E700107C */ swc1 $f0, 0x107c($t8) -/* 0CF970 7F09AE40 8C6E0000 */ lw $t6, ($v1) -/* 0CF974 7F09AE44 E5C01080 */ swc1 $f0, 0x1080($t6) -/* 0CF978 7F09AE48 8C6B0000 */ lw $t3, ($v1) -/* 0CF97C 7F09AE4C E56C1084 */ swc1 $f12, 0x1084($t3) -/* 0CF980 7F09AE50 8C6F0000 */ lw $t7, ($v1) -/* 0CF984 7F09AE54 E5EC1088 */ swc1 $f12, 0x1088($t7) -/* 0CF988 7F09AE58 8C790000 */ lw $t9, ($v1) -/* 0CF98C 7F09AE5C AF29108C */ sw $t1, 0x108c($t9) -/* 0CF990 7F09AE60 8C6C0000 */ lw $t4, ($v1) -/* 0CF994 7F09AE64 E58E1090 */ swc1 $f14, 0x1090($t4) -/* 0CF998 7F09AE68 8C6D0000 */ lw $t5, ($v1) -/* 0CF99C 7F09AE6C E5B01094 */ swc1 $f16, 0x1094($t5) -/* 0CF9A0 7F09AE70 8C780000 */ lw $t8, ($v1) -/* 0CF9A4 7F09AE74 E7001098 */ swc1 $f0, 0x1098($t8) -/* 0CF9A8 7F09AE78 8C6E0000 */ lw $t6, ($v1) -/* 0CF9AC 7F09AE7C E5C0109C */ swc1 $f0, 0x109c($t6) -/* 0CF9B0 7F09AE80 8C6B0000 */ lw $t3, ($v1) -/* 0CF9B4 7F09AE84 E56610A0 */ swc1 $f6, 0x10a0($t3) -/* 0CF9B8 7F09AE88 8C6F0000 */ lw $t7, ($v1) -/* 0CF9BC 7F09AE8C E5E810A4 */ swc1 $f8, 0x10a4($t7) -/* 0CF9C0 7F09AE90 8C790000 */ lw $t9, ($v1) -/* 0CF9C4 7F09AE94 E72210A8 */ swc1 $f2, 0x10a8($t9) -/* 0CF9C8 7F09AE98 8C6C0000 */ lw $t4, ($v1) -/* 0CF9CC 7F09AE9C E58A10AC */ swc1 $f10, 0x10ac($t4) -/* 0CF9D0 7F09AEA0 8C6D0000 */ lw $t5, ($v1) -/* 0CF9D4 7F09AEA4 E5B210B0 */ swc1 $f18, 0x10b0($t5) -/* 0CF9D8 7F09AEA8 8C780000 */ lw $t8, ($v1) -/* 0CF9DC 7F09AEAC E70210B4 */ swc1 $f2, 0x10b4($t8) -/* 0CF9E0 7F09AEB0 8C6E0000 */ lw $t6, ($v1) -/* 0CF9E4 7F09AEB4 E5C210B8 */ swc1 $f2, 0x10b8($t6) -/* 0CF9E8 7F09AEB8 8C6B0000 */ lw $t3, ($v1) -/* 0CF9EC 7F09AEBC E56210BC */ swc1 $f2, 0x10bc($t3) -/* 0CF9F0 7F09AEC0 8C6F0000 */ lw $t7, ($v1) -/* 0CF9F4 7F09AEC4 E5E210C0 */ swc1 $f2, 0x10c0($t7) -/* 0CF9F8 7F09AEC8 8C790000 */ lw $t9, ($v1) -/* 0CF9FC 7F09AECC AF2010C4 */ sw $zero, 0x10c4($t9) -/* 0CFA00 7F09AED0 8C6C0000 */ lw $t4, ($v1) -/* 0CFA04 7F09AED4 AD8010C8 */ sw $zero, 0x10c8($t4) -/* 0CFA08 7F09AED8 8C6D0000 */ lw $t5, ($v1) -/* 0CFA0C 7F09AEDC ADA010CC */ sw $zero, 0x10cc($t5) -/* 0CFA10 7F09AEE0 8C780000 */ lw $t8, ($v1) -/* 0CFA14 7F09AEE4 AF0010D0 */ sw $zero, 0x10d0($t8) -/* 0CFA18 7F09AEE8 8C6E0000 */ lw $t6, ($v1) -/* 0CFA1C 7F09AEEC ADC010D4 */ sw $zero, 0x10d4($t6) -/* 0CFA20 7F09AEF0 8C6B0000 */ lw $t3, ($v1) -/* 0CFA24 7F09AEF4 AD6010D8 */ sw $zero, 0x10d8($t3) -/* 0CFA28 7F09AEF8 8C6F0000 */ lw $t7, ($v1) -/* 0CFA2C 7F09AEFC ADE010DC */ sw $zero, 0x10dc($t7) -/* 0CFA30 7F09AF00 8C790000 */ lw $t9, ($v1) -/* 0CFA34 7F09AF04 AF2010E0 */ sw $zero, 0x10e0($t9) -/* 0CFA38 7F09AF08 8C6C0000 */ lw $t4, ($v1) -/* 0CFA3C 7F09AF0C 3C190001 */ lui $t9, 1 -/* 0CFA40 7F09AF10 AD8010E4 */ sw $zero, 0x10e4($t4) -/* 0CFA44 7F09AF14 8C6D0000 */ lw $t5, ($v1) -/* 0CFA48 7F09AF18 ADA010E8 */ sw $zero, 0x10e8($t5) -/* 0CFA4C 7F09AF1C 8C780000 */ lw $t8, ($v1) -/* 0CFA50 7F09AF20 AF0010EC */ sw $zero, 0x10ec($t8) -/* 0CFA54 7F09AF24 8C6E0000 */ lw $t6, ($v1) -/* 0CFA58 7F09AF28 E5C210F0 */ swc1 $f2, 0x10f0($t6) -/* 0CFA5C 7F09AF2C 8C6B0000 */ lw $t3, ($v1) -/* 0CFA60 7F09AF30 E56210F4 */ swc1 $f2, 0x10f4($t3) -/* 0CFA64 7F09AF34 8C6F0000 */ lw $t7, ($v1) -/* 0CFA68 7F09AF38 E5E210F8 */ swc1 $f2, 0x10f8($t7) -/* 0CFA6C 7F09AF3C 8C6C0000 */ lw $t4, ($v1) -/* 0CFA70 7F09AF40 AD9910FC */ sw $t9, 0x10fc($t4) -/* 0CFA74 7F09AF44 8C6D0000 */ lw $t5, ($v1) -/* 0CFA78 7F09AF48 E5A01118 */ swc1 $f0, 0x1118($t5) -/* 0CFA7C 7F09AF4C 8C780000 */ lw $t8, ($v1) -/* 0CFA80 7F09AF50 E700111C */ swc1 $f0, 0x111c($t8) -/* 0CFA84 7F09AF54 8C6E0000 */ lw $t6, ($v1) -/* 0CFA88 7F09AF58 E5CE1120 */ swc1 $f14, 0x1120($t6) -/* 0CFA8C 7F09AF5C 8C6B0000 */ lw $t3, ($v1) -/* 0CFA90 7F09AF60 E5701124 */ swc1 $f16, 0x1124($t3) -/* 0CFA94 7F09AF64 8C6F0000 */ lw $t7, ($v1) -/* 0CFA98 7F09AF68 ADE01128 */ sw $zero, 0x1128($t7) -/* 0CFA9C 7F09AF6C 8C790000 */ lw $t9, ($v1) -/* 0CFAA0 7F09AF70 AF2011B0 */ sw $zero, 0x11b0($t9) -/* 0CFAA4 7F09AF74 8C6C0000 */ lw $t4, ($v1) -/* 0CFAA8 7F09AF78 AD8011B4 */ sw $zero, 0x11b4($t4) -/* 0CFAAC 7F09AF7C 8C6D0000 */ lw $t5, ($v1) -/* 0CFAB0 7F09AF80 ADA011B8 */ sw $zero, 0x11b8($t5) -/* 0CFAB4 7F09AF84 8C780000 */ lw $t8, ($v1) -/* 0CFAB8 7F09AF88 E70011BC */ swc1 $f0, 0x11bc($t8) -/* 0CFABC 7F09AF8C 8C6E0000 */ lw $t6, ($v1) -/* 0CFAC0 7F09AF90 E5C011C0 */ swc1 $f0, 0x11c0($t6) -/* 0CFAC4 7F09AF94 8C6B0000 */ lw $t3, ($v1) -/* 0CFAC8 7F09AF98 E56C11C4 */ swc1 $f12, 0x11c4($t3) -/* 0CFACC 7F09AF9C 8C6F0000 */ lw $t7, ($v1) -/* 0CFAD0 7F09AFA0 E5EC11C8 */ swc1 $f12, 0x11c8($t7) -/* 0CFAD4 7F09AFA4 8C790000 */ lw $t9, ($v1) -/* 0CFAD8 7F09AFA8 E72C11CC */ swc1 $f12, 0x11cc($t9) -/* 0CFADC 7F09AFAC 8C6C0000 */ lw $t4, ($v1) -/* 0CFAE0 7F09AFB0 E58C11D0 */ swc1 $f12, 0x11d0($t4) -/* 0CFAE4 7F09AFB4 8C6D0000 */ lw $t5, ($v1) -/* 0CFAE8 7F09AFB8 C4247628 */ lwc1 $f4, %lo(D_80057628)($at) -/* 0CFAEC 7F09AFBC 3C018003 */ lui $at, %hi(invisible_to_guards_flag) -/* 0CFAF0 7F09AFC0 E5A411D4 */ swc1 $f4, 0x11d4($t5) -/* 0CFAF4 7F09AFC4 8C780000 */ lw $t8, ($v1) -/* 0CFAF8 7F09AFC8 AF0011D8 */ sw $zero, 0x11d8($t8) -/* 0CFAFC 7F09AFCC 8C6E0000 */ lw $t6, ($v1) -/* 0CFB00 7F09AFD0 ADC911DC */ sw $t1, 0x11dc($t6) -/* 0CFB04 7F09AFD4 8C6B0000 */ lw $t3, ($v1) -/* 0CFB08 7F09AFD8 AD6011E0 */ sw $zero, 0x11e0($t3) -/* 0CFB0C 7F09AFDC 8C6F0000 */ lw $t7, ($v1) -/* 0CFB10 7F09AFE0 ADE011E4 */ sw $zero, 0x11e4($t7) -/* 0CFB14 7F09AFE4 8C790000 */ lw $t9, ($v1) -/* 0CFB18 7F09AFE8 AF2011E8 */ sw $zero, 0x11e8($t9) -/* 0CFB1C 7F09AFEC 8C6C0000 */ lw $t4, ($v1) -/* 0CFB20 7F09AFF0 AD8011EC */ sw $zero, 0x11ec($t4) -/* 0CFB24 7F09AFF4 8C6D0000 */ lw $t5, ($v1) -/* 0CFB28 7F09AFF8 ADA011F0 */ sw $zero, 0x11f0($t5) -/* 0CFB2C 7F09AFFC 8C780000 */ lw $t8, ($v1) -/* 0CFB30 7F09B000 AF0011F4 */ sw $zero, 0x11f4($t8) -/* 0CFB34 7F09B004 8C6E0000 */ lw $t6, ($v1) -/* 0CFB38 7F09B008 E5C01280 */ swc1 $f0, 0x1280($t6) -/* 0CFB3C 7F09B00C 8C6B0000 */ lw $t3, ($v1) -/* 0CFB40 7F09B010 AD601284 */ sw $zero, 0x1284($t3) -/* 0CFB44 7F09B014 8C6F0000 */ lw $t7, ($v1) -/* 0CFB48 7F09B018 E5E01288 */ swc1 $f0, 0x1288($t7) -/* 0CFB4C 7F09B01C 8C790000 */ lw $t9, ($v1) -/* 0CFB50 7F09B020 A32012B6 */ sb $zero, 0x12b6($t9) -/* 0CFB54 7F09B024 8C6C0000 */ lw $t4, ($v1) -/* 0CFB58 7F09B028 AD8429B8 */ sw $a0, 0x29b8($t4) -/* 0CFB5C 7F09B02C 8C6D0000 */ lw $t5, ($v1) -/* 0CFB60 7F09B030 E5A229BC */ swc1 $f2, 0x29bc($t5) -/* 0CFB64 7F09B034 8C780000 */ lw $t8, ($v1) -/* 0CFB68 7F09B038 E70029C0 */ swc1 $f0, 0x29c0($t8) -/* 0CFB6C 7F09B03C 8C6E0000 */ lw $t6, ($v1) -/* 0CFB70 7F09B040 ADC029C4 */ sw $zero, 0x29c4($t6) -/* 0CFB74 7F09B044 8C6B0000 */ lw $t3, ($v1) -/* 0CFB78 7F09B048 AD6429D4 */ sw $a0, 0x29d4($t3) -/* 0CFB7C 7F09B04C 8C6F0000 */ lw $t7, ($v1) -/* 0CFB80 7F09B050 ADE029D8 */ sw $zero, 0x29d8($t7) -/* 0CFB84 7F09B054 8C6C0000 */ lw $t4, ($v1) -/* 0CFB88 7F09B058 8C590000 */ lw $t9, ($v0) -/* 0CFB8C 7F09B05C AD9929E0 */ sw $t9, 0x29e0($t4) -/* 0CFB90 7F09B060 8C4D0000 */ lw $t5, ($v0) -/* 0CFB94 7F09B064 8C6E0000 */ lw $t6, ($v1) -/* 0CFB98 7F09B068 25B80001 */ addiu $t8, $t5, 1 -/* 0CFB9C 7F09B06C AC580000 */ sw $t8, ($v0) -/* 0CFBA0 7F09B070 ADC929E4 */ sw $t1, 0x29e4($t6) -/* 0CFBA4 7F09B074 8C6B0000 */ lw $t3, ($v1) -/* 0CFBA8 7F09B078 AD6929E8 */ sw $t1, 0x29e8($t3) -/* 0CFBAC 7F09B07C 8C6F0000 */ lw $t7, ($v1) -/* 0CFBB0 7F09B080 ADE929EC */ sw $t1, 0x29ec($t7) -/* 0CFBB4 7F09B084 8C790000 */ lw $t9, ($v1) -/* 0CFBB8 7F09B088 AF2929F0 */ sw $t1, 0x29f0($t9) -/* 0CFBBC 7F09B08C 8C6C0000 */ lw $t4, ($v1) -/* 0CFBC0 7F09B090 AD802A00 */ sw $zero, 0x2a00($t4) -/* 0CFBC4 7F09B094 8C6D0000 */ lw $t5, ($v1) -/* 0CFBC8 7F09B098 ADA02A30 */ sw $zero, 0x2a30($t5) -/* 0CFBCC 7F09B09C 8C780000 */ lw $t8, ($v1) -/* 0CFBD0 7F09B0A0 AF002A34 */ sw $zero, 0x2a34($t8) -/* 0CFBD4 7F09B0A4 8C6E0000 */ lw $t6, ($v1) -/* 0CFBD8 7F09B0A8 ADC82A38 */ sw $t0, 0x2a38($t6) -/* 0CFBDC 7F09B0AC 8C6B0000 */ lw $t3, ($v1) -/* 0CFBE0 7F09B0B0 E5622A3C */ swc1 $f2, 0x2a3c($t3) -/* 0CFBE4 7F09B0B4 8C6F0000 */ lw $t7, ($v1) -/* 0CFBE8 7F09B0B8 E5E22A40 */ swc1 $f2, 0x2a40($t7) -/* 0CFBEC 7F09B0BC 8C790000 */ lw $t9, ($v1) -/* 0CFBF0 7F09B0C0 AF202A58 */ sw $zero, 0x2a58($t9) -/* 0CFBF4 7F09B0C4 8C6C0000 */ lw $t4, ($v1) -/* 0CFBF8 7F09B0C8 AD802A5C */ sw $zero, 0x2a5c($t4) -/* 0CFBFC 7F09B0CC 8C6D0000 */ lw $t5, ($v1) -/* 0CFC00 7F09B0D0 E5A02A60 */ swc1 $f0, 0x2a60($t5) -/* 0CFC04 7F09B0D4 8C780000 */ lw $t8, ($v1) -/* 0CFC08 7F09B0D8 AF002A64 */ sw $zero, 0x2a64($t8) -/* 0CFC0C 7F09B0DC 8C6E0000 */ lw $t6, ($v1) -/* 0CFC10 7F09B0E0 ADC82A68 */ sw $t0, 0x2a68($t6) -/* 0CFC14 7F09B0E4 8C6B0000 */ lw $t3, ($v1) -/* 0CFC18 7F09B0E8 AD602A6C */ sw $zero, 0x2a6c($t3) -/* 0CFC1C 7F09B0EC 8C6F0000 */ lw $t7, ($v1) -/* 0CFC20 7F09B0F0 ADE02A70 */ sw $zero, 0x2a70($t7) -/* 0CFC24 7F09B0F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0CFC28 7F09B0F8 AC2864C4 */ sw $t0, %lo(invisible_to_guards_flag)($at) -/* 0CFC2C 7F09B0FC 3C018003 */ lui $at, %hi(obj_collision_flag) -/* 0CFC30 7F09B100 AC2864C8 */ sw $t0, %lo(obj_collision_flag)($at) -/* 0CFC34 7F09B104 03E00008 */ jr $ra -/* 0CFC38 7F09B108 27BD03D0 */ addiu $sp, $sp, 0x3d0 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80057610 -.word 0xc3652ee0 /*-229.18311*/ -glabel D_80057614 -.word 0x411ffffe /*9.9999981*/ -glabel D_80057618 -.word 0x3f6e147b /*0.93000001*/ -glabel D_8005761C -.word 0x4164924b /*14.285716*/ -glabel D_80057620 -.word 0x3f666666 /*0.89999998*/ -glabel D_80057624 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80057628 -.word 0x3faaaaab /*1.3333334*/ -.text -glabel initBONDdataforPlayer -/* 0CFBCC 7F09B05C 27BDFC30 */ addiu $sp, $sp, -0x3d0 -/* 0CFBD0 7F09B060 3C0F8004 */ lui $t7, %hi(D_8003FD94+0xC) # $t7, 0x8004 -/* 0CFBD4 7F09B064 25EFFDD0 */ addiu $t7, %lo(D_8003FD94+0xC) # addiu $t7, $t7, -0x230 -/* 0CFBD8 7F09B068 AFBF0014 */ sw $ra, 0x14($sp) -/* 0CFBDC 7F09B06C AFA403D0 */ sw $a0, 0x3d0($sp) -/* 0CFBE0 7F09B070 25EB03A8 */ addiu $t3, $t7, 0x3a8 -/* 0CFBE4 7F09B074 27AE0024 */ addiu $t6, $sp, 0x24 -.L7F09B078: -/* 0CFBE8 7F09B078 8DE10000 */ lw $at, ($t7) -/* 0CFBEC 7F09B07C 25EF000C */ addiu $t7, $t7, 0xc -/* 0CFBF0 7F09B080 25CE000C */ addiu $t6, $t6, 0xc -/* 0CFBF4 7F09B084 ADC1FFF4 */ sw $at, -0xc($t6) -/* 0CFBF8 7F09B088 8DE1FFF8 */ lw $at, -8($t7) -/* 0CFBFC 7F09B08C ADC1FFF8 */ sw $at, -8($t6) -/* 0CFC00 7F09B090 8DE1FFFC */ lw $at, -4($t7) -/* 0CFC04 7F09B094 15EBFFF8 */ bne $t7, $t3, .L7F09B078 -/* 0CFC08 7F09B098 ADC1FFFC */ sw $at, -4($t6) -/* 0CFC0C 7F09B09C 24042A80 */ li $a0, 10880 -/* 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 -/* 0CFC20 7F09B0B0 27399F50 */ addiu $t9, %lo(ptr_BONDdata_p1) # addiu $t9, $t9, -0x60b0 -/* 0CFC24 7F09B0B4 000C6880 */ sll $t5, $t4, 2 -/* 0CFC28 7F09B0B8 01B91821 */ addu $v1, $t5, $t9 -/* 0CFC2C 7F09B0BC AC620000 */ sw $v0, ($v1) -/* 0CFC30 7F09B0C0 AC400000 */ sw $zero, ($v0) -/* 0CFC34 7F09B0C4 44800000 */ mtc1 $zero, $f0 -/* 0CFC38 7F09B0C8 8C780000 */ lw $t8, ($v1) -/* 0CFC3C 7F09B0CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CFC40 7F09B0D0 44811000 */ mtc1 $at, $f2 -/* 0CFC44 7F09B0D4 E7000004 */ swc1 $f0, 4($t8) -/* 0CFC48 7F09B0D8 8C6B0000 */ lw $t3, ($v1) -/* 0CFC4C 7F09B0DC 24040002 */ li $a0, 2 -/* 0CFC50 7F09B0E0 24080001 */ li $t0, 1 -/* 0CFC54 7F09B0E4 E5600008 */ swc1 $f0, 8($t3) -/* 0CFC58 7F09B0E8 8C6F0000 */ lw $t7, ($v1) -/* 0CFC5C 7F09B0EC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0CFC60 7F09B0F0 44816000 */ mtc1 $at, $f12 -/* 0CFC64 7F09B0F4 E5E0000C */ swc1 $f0, 0xc($t7) -/* 0CFC68 7F09B0F8 8C6E0000 */ lw $t6, ($v1) -/* 0CFC6C 7F09B0FC 2409FFFF */ li $t1, -1 -/* 0CFC70 7F09B100 3C01C080 */ li $at, 0xC0800000 # -4.000000 -/* 0CFC74 7F09B104 E5C00010 */ swc1 $f0, 0x10($t6) -/* 0CFC78 7F09B108 8C6C0000 */ lw $t4, ($v1) -/* 0CFC7C 7F09B10C 44812000 */ mtc1 $at, $f4 -/* 0CFC80 7F09B110 3C018005 */ lui $at, %hi(D_80057610) -/* 0CFC84 7F09B114 E5800014 */ swc1 $f0, 0x14($t4) -/* 0CFC88 7F09B118 8C6D0000 */ lw $t5, ($v1) -/* 0CFC8C 7F09B11C 240200FF */ li $v0, 255 -/* 0CFC90 7F09B120 27AA0024 */ addiu $t2, $sp, 0x24 -/* 0CFC94 7F09B124 E5A20018 */ swc1 $f2, 0x18($t5) -/* 0CFC98 7F09B128 8C790000 */ lw $t9, ($v1) -/* 0CFC9C 7F09B12C E720001C */ swc1 $f0, 0x1c($t9) -/* 0CFCA0 7F09B130 8C780000 */ lw $t8, ($v1) -/* 0CFCA4 7F09B134 E7020020 */ swc1 $f2, 0x20($t8) -/* 0CFCA8 7F09B138 8C6B0000 */ lw $t3, ($v1) -/* 0CFCAC 7F09B13C E5600024 */ swc1 $f0, 0x24($t3) -/* 0CFCB0 7F09B140 8C6F0000 */ lw $t7, ($v1) -/* 0CFCB4 7F09B144 E5E00028 */ swc1 $f0, 0x28($t7) -/* 0CFCB8 7F09B148 8C6E0000 */ lw $t6, ($v1) -/* 0CFCBC 7F09B14C E5C0002C */ swc1 $f0, 0x2c($t6) -/* 0CFCC0 7F09B150 8C6C0000 */ lw $t4, ($v1) -/* 0CFCC4 7F09B154 E5800030 */ swc1 $f0, 0x30($t4) -/* 0CFCC8 7F09B158 8C6D0000 */ lw $t5, ($v1) -/* 0CFCCC 7F09B15C ADA00034 */ sw $zero, 0x34($t5) -/* 0CFCD0 7F09B160 8C790000 */ lw $t9, ($v1) -/* 0CFCD4 7F09B164 E7200038 */ swc1 $f0, 0x38($t9) -/* 0CFCD8 7F09B168 8C780000 */ lw $t8, ($v1) -/* 0CFCDC 7F09B16C E700003C */ swc1 $f0, 0x3c($t8) -/* 0CFCE0 7F09B170 8C6B0000 */ lw $t3, ($v1) -/* 0CFCE4 7F09B174 E5600040 */ swc1 $f0, 0x40($t3) -/* 0CFCE8 7F09B178 8C6F0000 */ lw $t7, ($v1) -/* 0CFCEC 7F09B17C E5E00044 */ swc1 $f0, 0x44($t7) -/* 0CFCF0 7F09B180 8C6E0000 */ lw $t6, ($v1) -/* 0CFCF4 7F09B184 E5C00048 */ swc1 $f0, 0x48($t6) -/* 0CFCF8 7F09B188 8C6C0000 */ lw $t4, ($v1) -/* 0CFCFC 7F09B18C E580004C */ swc1 $f0, 0x4c($t4) -/* 0CFD00 7F09B190 8C6D0000 */ lw $t5, ($v1) -/* 0CFD04 7F09B194 E5A00050 */ swc1 $f0, 0x50($t5) -/* 0CFD08 7F09B198 8C790000 */ lw $t9, ($v1) -/* 0CFD0C 7F09B19C E7200054 */ swc1 $f0, 0x54($t9) -/* 0CFD10 7F09B1A0 8C780000 */ lw $t8, ($v1) -/* 0CFD14 7F09B1A4 E7000058 */ swc1 $f0, 0x58($t8) -/* 0CFD18 7F09B1A8 8C6B0000 */ lw $t3, ($v1) -/* 0CFD1C 7F09B1AC E560006C */ swc1 $f0, 0x6c($t3) -/* 0CFD20 7F09B1B0 8C6F0000 */ lw $t7, ($v1) -/* 0CFD24 7F09B1B4 E5E00070 */ swc1 $f0, 0x70($t7) -/* 0CFD28 7F09B1B8 8C6E0000 */ lw $t6, ($v1) -/* 0CFD2C 7F09B1BC E5C00074 */ swc1 $f0, 0x74($t6) -/* 0CFD30 7F09B1C0 8C6C0000 */ lw $t4, ($v1) -/* 0CFD34 7F09B1C4 E5800078 */ swc1 $f0, 0x78($t4) -/* 0CFD38 7F09B1C8 8C6D0000 */ lw $t5, ($v1) -/* 0CFD3C 7F09B1CC E5A0007C */ swc1 $f0, 0x7c($t5) -/* 0CFD40 7F09B1D0 8C790000 */ lw $t9, ($v1) -/* 0CFD44 7F09B1D4 E7200080 */ swc1 $f0, 0x80($t9) -/* 0CFD48 7F09B1D8 8C780000 */ lw $t8, ($v1) -/* 0CFD4C 7F09B1DC E7000084 */ swc1 $f0, 0x84($t8) -/* 0CFD50 7F09B1E0 8C6B0000 */ lw $t3, ($v1) -/* 0CFD54 7F09B1E4 E5600088 */ swc1 $f0, 0x88($t3) -/* 0CFD58 7F09B1E8 8C6F0000 */ lw $t7, ($v1) -/* 0CFD5C 7F09B1EC ADE0008C */ sw $zero, 0x8c($t7) -/* 0CFD60 7F09B1F0 8C6E0000 */ lw $t6, ($v1) -/* 0CFD64 7F09B1F4 E5C00090 */ swc1 $f0, 0x90($t6) -/* 0CFD68 7F09B1F8 8C6C0000 */ lw $t4, ($v1) -/* 0CFD6C 7F09B1FC AD800094 */ sw $zero, 0x94($t4) -/* 0CFD70 7F09B200 8C6D0000 */ lw $t5, ($v1) -/* 0CFD74 7F09B204 E5A00098 */ swc1 $f0, 0x98($t5) -/* 0CFD78 7F09B208 8C790000 */ lw $t9, ($v1) -/* 0CFD7C 7F09B20C E7201274 */ swc1 $f0, 0x1274($t9) -/* 0CFD80 7F09B210 8C780000 */ lw $t8, ($v1) -/* 0CFD84 7F09B214 E7001278 */ swc1 $f0, 0x1278($t8) -/* 0CFD88 7F09B218 8C6B0000 */ lw $t3, ($v1) -/* 0CFD8C 7F09B21C E560127C */ swc1 $f0, 0x127c($t3) -/* 0CFD90 7F09B220 8C6F0000 */ lw $t7, ($v1) -/* 0CFD94 7F09B224 ADE4009C */ sw $a0, 0x9c($t7) -/* 0CFD98 7F09B228 8C6E0000 */ lw $t6, ($v1) -/* 0CFD9C 7F09B22C ADC429FC */ sw $a0, 0x29fc($t6) -/* 0CFDA0 7F09B230 8C6C0000 */ lw $t4, ($v1) -/* 0CFDA4 7F09B234 E58000A0 */ swc1 $f0, 0xa0($t4) -/* 0CFDA8 7F09B238 8C6D0000 */ lw $t5, ($v1) -/* 0CFDAC 7F09B23C E5A000A4 */ swc1 $f0, 0xa4($t5) -/* 0CFDB0 7F09B240 8C790000 */ lw $t9, ($v1) -/* 0CFDB4 7F09B244 AF2000A8 */ sw $zero, 0xa8($t9) -/* 0CFDB8 7F09B248 8C780000 */ lw $t8, ($v1) -/* 0CFDBC 7F09B24C AF0800AC */ sw $t0, 0xac($t8) -/* 0CFDC0 7F09B250 8C6B0000 */ lw $t3, ($v1) -/* 0CFDC4 7F09B254 AD6000D0 */ sw $zero, 0xd0($t3) -/* 0CFDC8 7F09B258 8C6F0000 */ lw $t7, ($v1) -/* 0CFDCC 7F09B25C ADE000D4 */ sw $zero, 0xd4($t7) -/* 0CFDD0 7F09B260 8C6E0000 */ lw $t6, ($v1) -/* 0CFDD4 7F09B264 ADC000D8 */ sw $zero, 0xd8($t6) -/* 0CFDD8 7F09B268 8C6C0000 */ lw $t4, ($v1) -/* 0CFDDC 7F09B26C E58200DC */ swc1 $f2, 0xdc($t4) -/* 0CFDE0 7F09B270 8C6D0000 */ lw $t5, ($v1) -/* 0CFDE4 7F09B274 E5A000E0 */ swc1 $f0, 0xe0($t5) -/* 0CFDE8 7F09B278 8C790000 */ lw $t9, ($v1) -/* 0CFDEC 7F09B27C E72200E4 */ swc1 $f2, 0xe4($t9) -/* 0CFDF0 7F09B280 8C780000 */ lw $t8, ($v1) -/* 0CFDF4 7F09B284 E70000E8 */ swc1 $f0, 0xe8($t8) -/* 0CFDF8 7F09B288 8C6B0000 */ lw $t3, ($v1) -/* 0CFDFC 7F09B28C E56200EC */ swc1 $f2, 0xec($t3) -/* 0CFE00 7F09B290 8C6F0000 */ lw $t7, ($v1) -/* 0CFE04 7F09B294 E5E000F0 */ swc1 $f0, 0xf0($t7) -/* 0CFE08 7F09B298 8C6E0000 */ lw $t6, ($v1) -/* 0CFE0C 7F09B29C E5CC00F4 */ swc1 $f12, 0xf4($t6) -/* 0CFE10 7F09B2A0 8C6C0000 */ lw $t4, ($v1) -/* 0CFE14 7F09B2A4 E58C00F8 */ swc1 $f12, 0xf8($t4) -/* 0CFE18 7F09B2A8 8C6D0000 */ lw $t5, ($v1) -/* 0CFE1C 7F09B2AC ADA00104 */ sw $zero, 0x104($t5) -/* 0CFE20 7F09B2B0 8C790000 */ lw $t9, ($v1) -/* 0CFE24 7F09B2B4 AF200108 */ sw $zero, 0x108($t9) -/* 0CFE28 7F09B2B8 8C780000 */ lw $t8, ($v1) -/* 0CFE2C 7F09B2BC AF00010C */ sw $zero, 0x10c($t8) -/* 0CFE30 7F09B2C0 8C6B0000 */ lw $t3, ($v1) -/* 0CFE34 7F09B2C4 AD600110 */ sw $zero, 0x110($t3) -/* 0CFE38 7F09B2C8 8C6F0000 */ lw $t7, ($v1) -/* 0CFE3C 7F09B2CC ADE80114 */ sw $t0, 0x114($t7) -/* 0CFE40 7F09B2D0 8C6E0000 */ lw $t6, ($v1) -/* 0CFE44 7F09B2D4 ADC80118 */ sw $t0, 0x118($t6) -/* 0CFE48 7F09B2D8 8C6C0000 */ lw $t4, ($v1) -/* 0CFE4C 7F09B2DC AD80011C */ sw $zero, 0x11c($t4) -/* 0CFE50 7F09B2E0 8C6D0000 */ lw $t5, ($v1) -/* 0CFE54 7F09B2E4 ADA80120 */ sw $t0, 0x120($t5) -/* 0CFE58 7F09B2E8 8C790000 */ lw $t9, ($v1) -/* 0CFE5C 7F09B2EC AF200124 */ sw $zero, 0x124($t9) -/* 0CFE60 7F09B2F0 8C780000 */ lw $t8, ($v1) -/* 0CFE64 7F09B2F4 AF080128 */ sw $t0, 0x128($t8) -/* 0CFE68 7F09B2F8 8C6B0000 */ lw $t3, ($v1) -/* 0CFE6C 7F09B2FC E560012C */ swc1 $f0, 0x12c($t3) -/* 0CFE70 7F09B300 8C6F0000 */ lw $t7, ($v1) -/* 0CFE74 7F09B304 ADE00130 */ sw $zero, 0x130($t7) -/* 0CFE78 7F09B308 8C6E0000 */ lw $t6, ($v1) -/* 0CFE7C 7F09B30C ADC90134 */ sw $t1, 0x134($t6) -/* 0CFE80 7F09B310 8C6C0000 */ lw $t4, ($v1) -/* 0CFE84 7F09B314 AD880138 */ sw $t0, 0x138($t4) -/* 0CFE88 7F09B318 8C6D0000 */ lw $t5, ($v1) -/* 0CFE8C 7F09B31C E5A0013C */ swc1 $f0, 0x13c($t5) -/* 0CFE90 7F09B320 8C790000 */ lw $t9, ($v1) -/* 0CFE94 7F09B324 AF200140 */ sw $zero, 0x140($t9) -/* 0CFE98 7F09B328 8C780000 */ lw $t8, ($v1) -/* 0CFE9C 7F09B32C AF090144 */ sw $t1, 0x144($t8) -/* 0CFEA0 7F09B330 8C6B0000 */ lw $t3, ($v1) -/* 0CFEA4 7F09B334 E5600148 */ swc1 $f0, 0x148($t3) -/* 0CFEA8 7F09B338 8C6F0000 */ lw $t7, ($v1) -/* 0CFEAC 7F09B33C E5E0014C */ swc1 $f0, 0x14c($t7) -/* 0CFEB0 7F09B340 8C6E0000 */ lw $t6, ($v1) -/* 0CFEB4 7F09B344 E5C20150 */ swc1 $f2, 0x150($t6) -/* 0CFEB8 7F09B348 8C6C0000 */ lw $t4, ($v1) -/* 0CFEBC 7F09B34C E5800154 */ swc1 $f0, 0x154($t4) -/* 0CFEC0 7F09B350 8C6D0000 */ lw $t5, ($v1) -/* 0CFEC4 7F09B354 E5A40158 */ swc1 $f4, 0x158($t5) -/* 0CFEC8 7F09B358 8C790000 */ lw $t9, ($v1) -/* 0CFECC 7F09B35C C4267640 */ lwc1 $f6, %lo(D_80057610)($at) -/* 0CFED0 7F09B360 3C01C1C8 */ li $at, 0xC1C80000 # -25.000000 -/* 0CFED4 7F09B364 44814000 */ mtc1 $at, $f8 -/* 0CFED8 7F09B368 E726015C */ swc1 $f6, 0x15c($t9) -/* 0CFEDC 7F09B36C 8C780000 */ lw $t8, ($v1) -/* 0CFEE0 7F09B370 3C018005 */ lui $at, %hi(D_80057614) # $at, 0x8005 -/* 0CFEE4 7F09B374 E7000160 */ swc1 $f0, 0x160($t8) -/* 0CFEE8 7F09B378 8C6B0000 */ lw $t3, ($v1) -/* 0CFEEC 7F09B37C E5620164 */ swc1 $f2, 0x164($t3) -/* 0CFEF0 7F09B380 8C6F0000 */ lw $t7, ($v1) -/* 0CFEF4 7F09B384 E5E00168 */ swc1 $f0, 0x168($t7) -/* 0CFEF8 7F09B388 8C6E0000 */ lw $t6, ($v1) -/* 0CFEFC 7F09B38C E5C0016C */ swc1 $f0, 0x16c($t6) -/* 0CFF00 7F09B390 8C6C0000 */ lw $t4, ($v1) -/* 0CFF04 7F09B394 E5800170 */ swc1 $f0, 0x170($t4) -/* 0CFF08 7F09B398 8C6D0000 */ lw $t5, ($v1) -/* 0CFF0C 7F09B39C E5A00174 */ swc1 $f0, 0x174($t5) -/* 0CFF10 7F09B3A0 8C790000 */ lw $t9, ($v1) -/* 0CFF14 7F09B3A4 E7202A4C */ swc1 $f0, 0x2a4c($t9) -/* 0CFF18 7F09B3A8 8C780000 */ lw $t8, ($v1) -/* 0CFF1C 7F09B3AC E7020178 */ swc1 $f2, 0x178($t8) -/* 0CFF20 7F09B3B0 8C6B0000 */ lw $t3, ($v1) -/* 0CFF24 7F09B3B4 E5600180 */ swc1 $f0, 0x180($t3) -/* 0CFF28 7F09B3B8 8C6F0000 */ lw $t7, ($v1) -/* 0CFF2C 7F09B3BC E5E00184 */ swc1 $f0, 0x184($t7) -/* 0CFF30 7F09B3C0 8C6E0000 */ lw $t6, ($v1) -/* 0CFF34 7F09B3C4 E5C00188 */ swc1 $f0, 0x188($t6) -/* 0CFF38 7F09B3C8 8C6C0000 */ lw $t4, ($v1) -/* 0CFF3C 7F09B3CC E58C018C */ swc1 $f12, 0x18c($t4) -/* 0CFF40 7F09B3D0 8C6D0000 */ lw $t5, ($v1) -/* 0CFF44 7F09B3D4 E5AC0190 */ swc1 $f12, 0x190($t5) -/* 0CFF48 7F09B3D8 8C790000 */ lw $t9, ($v1) -/* 0CFF4C 7F09B3DC E7200194 */ swc1 $f0, 0x194($t9) -/* 0CFF50 7F09B3E0 8C780000 */ lw $t8, ($v1) -/* 0CFF54 7F09B3E4 E7000198 */ swc1 $f0, 0x198($t8) -/* 0CFF58 7F09B3E8 8C6B0000 */ lw $t3, ($v1) -/* 0CFF5C 7F09B3EC E560019C */ swc1 $f0, 0x19c($t3) -/* 0CFF60 7F09B3F0 8C6F0000 */ lw $t7, ($v1) -/* 0CFF64 7F09B3F4 ADE001A0 */ sw $zero, 0x1a0($t7) -/* 0CFF68 7F09B3F8 8C6E0000 */ lw $t6, ($v1) -/* 0CFF6C 7F09B3FC ADC001C0 */ sw $zero, 0x1c0($t6) -/* 0CFF70 7F09B400 8C6C0000 */ lw $t4, ($v1) -/* 0CFF74 7F09B404 AD8001C4 */ sw $zero, 0x1c4($t4) -/* 0CFF78 7F09B408 8C6D0000 */ lw $t5, ($v1) -/* 0CFF7C 7F09B40C ADA001C8 */ sw $zero, 0x1c8($t5) -/* 0CFF80 7F09B410 8C790000 */ lw $t9, ($v1) -/* 0CFF84 7F09B414 AF2801CC */ sw $t0, 0x1cc($t9) -/* 0CFF88 7F09B418 8C780000 */ lw $t8, ($v1) -/* 0CFF8C 7F09B41C AF0001D0 */ sw $zero, 0x1d0($t8) -/* 0CFF90 7F09B420 8C6B0000 */ lw $t3, ($v1) -/* 0CFF94 7F09B424 E56001D4 */ swc1 $f0, 0x1d4($t3) -/* 0CFF98 7F09B428 8C6F0000 */ lw $t7, ($v1) -/* 0CFF9C 7F09B42C E5E001D8 */ swc1 $f0, 0x1d8($t7) -/* 0CFFA0 7F09B430 8C6E0000 */ lw $t6, ($v1) -/* 0CFFA4 7F09B434 E5C801DC */ swc1 $f8, 0x1dc($t6) -/* 0CFFA8 7F09B438 8C6C0000 */ lw $t4, ($v1) -/* 0CFFAC 7F09B43C E58001E0 */ swc1 $f0, 0x1e0($t4) -/* 0CFFB0 7F09B440 8C6D0000 */ lw $t5, ($v1) -/* 0CFFB4 7F09B444 E5A201E4 */ swc1 $f2, 0x1e4($t5) -/* 0CFFB8 7F09B448 8C790000 */ lw $t9, ($v1) -/* 0CFFBC 7F09B44C E72001E8 */ swc1 $f0, 0x1e8($t9) -/* 0CFFC0 7F09B450 8C780000 */ lw $t8, ($v1) -/* 0CFFC4 7F09B454 E70001EC */ swc1 $f0, 0x1ec($t8) -/* 0CFFC8 7F09B458 8C6B0000 */ lw $t3, ($v1) -/* 0CFFCC 7F09B45C E56001F0 */ swc1 $f0, 0x1f0($t3) -/* 0CFFD0 7F09B460 8C6F0000 */ lw $t7, ($v1) -/* 0CFFD4 7F09B464 E5E201F4 */ swc1 $f2, 0x1f4($t7) -/* 0CFFD8 7F09B468 8C6E0000 */ lw $t6, ($v1) -/* 0CFFDC 7F09B46C ADC00200 */ sw $zero, 0x200($t6) -/* 0CFFE0 7F09B470 8C6C0000 */ lw $t4, ($v1) -/* 0CFFE4 7F09B474 E5800204 */ swc1 $f0, 0x204($t4) -/* 0CFFE8 7F09B478 8C6D0000 */ lw $t5, ($v1) -/* 0CFFEC 7F09B47C E5A00208 */ swc1 $f0, 0x208($t5) -/* 0CFFF0 7F09B480 8C790000 */ lw $t9, ($v1) -/* 0CFFF4 7F09B484 E720020C */ swc1 $f0, 0x20c($t9) -/* 0CFFF8 7F09B488 8C780000 */ lw $t8, ($v1) -/* 0CFFFC 7F09B48C E7000210 */ swc1 $f0, 0x210($t8) -/* 0D0000 7F09B490 8C6B0000 */ lw $t3, ($v1) -/* 0D0004 7F09B494 E5600214 */ swc1 $f0, 0x214($t3) -/* 0D0008 7F09B498 8C6F0000 */ lw $t7, ($v1) -/* 0D000C 7F09B49C ADE00218 */ sw $zero, 0x218($t7) -/* 0D0010 7F09B4A0 8C6E0000 */ lw $t6, ($v1) -/* 0D0014 7F09B4A4 ADC8021C */ sw $t0, 0x21c($t6) -/* 0D0018 7F09B4A8 8C6C0000 */ lw $t4, ($v1) -/* 0D001C 7F09B4AC AD800220 */ sw $zero, 0x220($t4) -/* 0D0020 7F09B4B0 8C6D0000 */ lw $t5, ($v1) -/* 0D0024 7F09B4B4 E5A00224 */ swc1 $f0, 0x224($t5) -/* 0D0028 7F09B4B8 8C790000 */ lw $t9, ($v1) -/* 0D002C 7F09B4BC A72003B4 */ sh $zero, 0x3b4($t9) -/* 0D0030 7F09B4C0 8C780000 */ lw $t8, ($v1) -/* 0D0034 7F09B4C4 A70003B6 */ sh $zero, 0x3b6($t8) -/* 0D0038 7F09B4C8 8C6B0000 */ lw $t3, ($v1) -/* 0D003C 7F09B4CC E56003B8 */ swc1 $f0, 0x3b8($t3) -/* 0D0040 7F09B4D0 8C6F0000 */ lw $t7, ($v1) -/* 0D0044 7F09B4D4 E5E003BC */ swc1 $f0, 0x3bc($t7) -/* 0D0048 7F09B4D8 8C6E0000 */ lw $t6, ($v1) -/* 0D004C 7F09B4DC C42A7644 */ lwc1 $f10, %lo(D_80057614)($at) -/* 0D0050 7F09B4E0 E5CA03C0 */ swc1 $f10, 0x3c0($t6) -/* 0D0054 7F09B4E4 8C6C0000 */ lw $t4, ($v1) -/* 0D0058 7F09B4E8 E58003C4 */ swc1 $f0, 0x3c4($t4) -/* 0D005C 7F09B4EC 8C6D0000 */ lw $t5, ($v1) -/* 0D0060 7F09B4F0 E5A003C8 */ swc1 $f0, 0x3c8($t5) -/* 0D0064 7F09B4F4 8C790000 */ lw $t9, ($v1) -/* 0D0068 7F09B4F8 E72203CC */ swc1 $f2, 0x3cc($t9) -/* 0D006C 7F09B4FC 8C780000 */ lw $t8, ($v1) -/* 0D0070 7F09B500 AF0203D0 */ sw $v0, 0x3d0($t8) -/* 0D0074 7F09B504 8C6B0000 */ lw $t3, ($v1) -/* 0D0078 7F09B508 AD6203D4 */ sw $v0, 0x3d4($t3) -/* 0D007C 7F09B50C 8C6F0000 */ lw $t7, ($v1) -/* 0D0080 7F09B510 3C018005 */ lui $at, %hi(D_80057618) # $at, 0x8005 -/* 0D0084 7F09B514 24070020 */ li $a3, 32 -/* 0D0088 7F09B518 ADE203D8 */ sw $v0, 0x3d8($t7) -/* 0D008C 7F09B51C 8C6E0000 */ lw $t6, ($v1) -/* 0D0090 7F09B520 240601FF */ li $a2, 511 -/* 0D0094 7F09B524 240501E0 */ li $a1, 480 -/* 0D0098 7F09B528 E5C003DC */ swc1 $f0, 0x3dc($t6) -/* 0D009C 7F09B52C 8C6C0000 */ lw $t4, ($v1) -/* 0D00A0 7F09B530 E58C03E0 */ swc1 $f12, 0x3e0($t4) -/* 0D00A4 7F09B534 8C6D0000 */ lw $t5, ($v1) -/* 0D00A8 7F09B538 E5AC03E4 */ swc1 $f12, 0x3e4($t5) -/* 0D00AC 7F09B53C 8C790000 */ lw $t9, ($v1) -/* 0D00B0 7F09B540 AF2203E8 */ sw $v0, 0x3e8($t9) -/* 0D00B4 7F09B544 8C780000 */ lw $t8, ($v1) -/* 0D00B8 7F09B548 AF0203EC */ sw $v0, 0x3ec($t8) -/* 0D00BC 7F09B54C 8C6B0000 */ lw $t3, ($v1) -/* 0D00C0 7F09B550 AD6203F0 */ sw $v0, 0x3f0($t3) -/* 0D00C4 7F09B554 8C6F0000 */ lw $t7, ($v1) -/* 0D00C8 7F09B558 ADE203F4 */ sw $v0, 0x3f4($t7) -/* 0D00CC 7F09B55C 8C6E0000 */ lw $t6, ($v1) -/* 0D00D0 7F09B560 ADC203F8 */ sw $v0, 0x3f8($t6) -/* 0D00D4 7F09B564 8C6C0000 */ lw $t4, ($v1) -/* 0D00D8 7F09B568 AD8203FC */ sw $v0, 0x3fc($t4) -/* 0D00DC 7F09B56C 8C6D0000 */ lw $t5, ($v1) -/* 0D00E0 7F09B570 00001025 */ move $v0, $zero -/* 0D00E4 7F09B574 E5A00400 */ swc1 $f0, 0x400($t5) -/* 0D00E8 7F09B578 8C790000 */ lw $t9, ($v1) -/* 0D00EC 7F09B57C E7200404 */ swc1 $f0, 0x404($t9) -/* 0D00F0 7F09B580 8C780000 */ lw $t8, ($v1) -/* 0D00F4 7F09B584 AF00041C */ sw $zero, 0x41c($t8) -/* 0D00F8 7F09B588 8C6B0000 */ lw $t3, ($v1) -/* 0D00FC 7F09B58C AD680420 */ sw $t0, 0x420($t3) -/* 0D0100 7F09B590 8C6F0000 */ lw $t7, ($v1) -/* 0D0104 7F09B594 ADE00424 */ sw $zero, 0x424($t7) -/* 0D0108 7F09B598 8C6E0000 */ lw $t6, ($v1) -/* 0D010C 7F09B59C ADC00428 */ sw $zero, 0x428($t6) -/* 0D0110 7F09B5A0 8C6C0000 */ lw $t4, ($v1) -/* 0D0114 7F09B5A4 AD84042C */ sw $a0, 0x42c($t4) -/* 0D0118 7F09B5A8 8C6D0000 */ lw $t5, ($v1) -/* 0D011C 7F09B5AC 24040280 */ li $a0, 640 -/* 0D0120 7F09B5B0 ADA00430 */ sw $zero, 0x430($t5) -/* 0D0124 7F09B5B4 8C790000 */ lw $t9, ($v1) -/* 0D0128 7F09B5B8 AF2804DC */ sw $t0, 0x4dc($t9) -/* 0D012C 7F09B5BC 8C780000 */ lw $t8, ($v1) -/* 0D0130 7F09B5C0 AF0804E0 */ sw $t0, 0x4e0($t8) -/* 0D0134 7F09B5C4 8C6B0000 */ lw $t3, ($v1) -/* 0D0138 7F09B5C8 AD6804E4 */ sw $t0, 0x4e4($t3) -/* 0D013C 7F09B5CC 8C6F0000 */ lw $t7, ($v1) -/* 0D0140 7F09B5D0 ADE004E8 */ sw $zero, 0x4e8($t7) -/* 0D0144 7F09B5D4 8C6E0000 */ lw $t6, ($v1) -/* 0D0148 7F09B5D8 C4327648 */ lwc1 $f18, %lo(D_80057618)($at) -/* 0D014C 7F09B5DC 3C018005 */ lui $at, %hi(D_8005761C) # $at, 0x8005 -/* 0D0150 7F09B5E0 E5D204EC */ swc1 $f18, 0x4ec($t6) -/* 0D0154 7F09B5E4 8C6C0000 */ lw $t4, ($v1) -/* 0D0158 7F09B5E8 AD8004F0 */ sw $zero, 0x4f0($t4) -/* 0D015C 7F09B5EC 8C6D0000 */ lw $t5, ($v1) -/* 0D0160 7F09B5F0 E5A204F4 */ swc1 $f2, 0x4f4($t5) -/* 0D0164 7F09B5F4 8C790000 */ lw $t9, ($v1) -/* 0D0168 7F09B5F8 E72204F8 */ swc1 $f2, 0x4f8($t9) -/* 0D016C 7F09B5FC 8C780000 */ lw $t8, ($v1) -/* 0D0170 7F09B600 E70004FC */ swc1 $f0, 0x4fc($t8) -/* 0D0174 7F09B604 8C6B0000 */ lw $t3, ($v1) -/* 0D0178 7F09B608 E5600500 */ swc1 $f0, 0x500($t3) -/* 0D017C 7F09B60C 8C6F0000 */ lw $t7, ($v1) -/* 0D0180 7F09B610 E5E00504 */ swc1 $f0, 0x504($t7) -/* 0D0184 7F09B614 8C6E0000 */ lw $t6, ($v1) -/* 0D0188 7F09B618 C42C764C */ lwc1 $f12, %lo(D_8005761C)($at) -/* 0D018C 7F09B61C E5C00508 */ swc1 $f0, 0x508($t6) -/* 0D0190 7F09B620 8C6C0000 */ lw $t4, ($v1) -/* 0D0194 7F09B624 E580050C */ swc1 $f0, 0x50c($t4) -/* 0D0198 7F09B628 8C6D0000 */ lw $t5, ($v1) -/* 0D019C 7F09B62C E5A20510 */ swc1 $f2, 0x510($t5) -/* 0D01A0 7F09B630 8C790000 */ lw $t9, ($v1) -/* 0D01A4 7F09B634 E7200514 */ swc1 $f0, 0x514($t9) -/* 0D01A8 7F09B638 8C780000 */ lw $t8, ($v1) -/* 0D01AC 7F09B63C E7020518 */ swc1 $f2, 0x518($t8) -/* 0D01B0 7F09B640 8C6B0000 */ lw $t3, ($v1) -/* 0D01B4 7F09B644 E560051C */ swc1 $f0, 0x51c($t3) -/* 0D01B8 7F09B648 8C6F0000 */ lw $t7, ($v1) -/* 0D01BC 7F09B64C E5E00520 */ swc1 $f0, 0x520($t7) -/* 0D01C0 7F09B650 8C6E0000 */ lw $t6, ($v1) -/* 0D01C4 7F09B654 E5C00524 */ swc1 $f0, 0x524($t6) -/* 0D01C8 7F09B658 8C6C0000 */ lw $t4, ($v1) -/* 0D01CC 7F09B65C E5800528 */ swc1 $f0, 0x528($t4) -/* 0D01D0 7F09B660 8C6D0000 */ lw $t5, ($v1) -/* 0D01D4 7F09B664 E5A0052C */ swc1 $f0, 0x52c($t5) -/* 0D01D8 7F09B668 8C790000 */ lw $t9, ($v1) -/* 0D01DC 7F09B66C E7200530 */ swc1 $f0, 0x530($t9) -/* 0D01E0 7F09B670 8C780000 */ lw $t8, ($v1) -/* 0D01E4 7F09B674 E70C0534 */ swc1 $f12, 0x534($t8) -/* 0D01E8 7F09B678 8C6B0000 */ lw $t3, ($v1) -/* 0D01EC 7F09B67C E5600538 */ swc1 $f0, 0x538($t3) -/* 0D01F0 7F09B680 8C6F0000 */ lw $t7, ($v1) -/* 0D01F4 7F09B684 E5EC053C */ swc1 $f12, 0x53c($t7) -/* 0D01F8 7F09B688 8C6E0000 */ lw $t6, ($v1) -/* 0D01FC 7F09B68C E5C00540 */ swc1 $f0, 0x540($t6) -/* 0D0200 7F09B690 8C6C0000 */ lw $t4, ($v1) -/* 0D0204 7F09B694 E5800544 */ swc1 $f0, 0x544($t4) -/* 0D0208 7F09B698 8C6D0000 */ lw $t5, ($v1) -/* 0D020C 7F09B69C E5A00548 */ swc1 $f0, 0x548($t5) -/* 0D0210 7F09B6A0 8C790000 */ lw $t9, ($v1) -/* 0D0214 7F09B6A4 E720054C */ swc1 $f0, 0x54c($t9) -/* 0D0218 7F09B6A8 8C780000 */ lw $t8, ($v1) -/* 0D021C 7F09B6AC E7000550 */ swc1 $f0, 0x550($t8) -/* 0D0220 7F09B6B0 8C6B0000 */ lw $t3, ($v1) -/* 0D0224 7F09B6B4 E5600554 */ swc1 $f0, 0x554($t3) -/* 0D0228 7F09B6B8 8C6F0000 */ lw $t7, ($v1) -/* 0D022C 7F09B6BC E5E00558 */ swc1 $f0, 0x558($t7) -/* 0D0230 7F09B6C0 8C6E0000 */ lw $t6, ($v1) -/* 0D0234 7F09B6C4 E5C0055C */ swc1 $f0, 0x55c($t6) -/* 0D0238 7F09B6C8 8C6C0000 */ lw $t4, ($v1) -/* 0D023C 7F09B6CC E5800560 */ swc1 $f0, 0x560($t4) -/* 0D0240 7F09B6D0 8C6D0000 */ lw $t5, ($v1) -/* 0D0244 7F09B6D4 E5A00564 */ swc1 $f0, 0x564($t5) -/* 0D0248 7F09B6D8 8C790000 */ lw $t9, ($v1) -/* 0D024C 7F09B6DC E7200568 */ swc1 $f0, 0x568($t9) -/* 0D0250 7F09B6E0 8C780000 */ lw $t8, ($v1) -/* 0D0254 7F09B6E4 E702056C */ swc1 $f2, 0x56c($t8) -/* 0D0258 7F09B6E8 8C6B0000 */ lw $t3, ($v1) -/* 0D025C 7F09B6EC E5600570 */ swc1 $f0, 0x570($t3) -/* 0D0260 7F09B6F0 8C6F0000 */ lw $t7, ($v1) -/* 0D0264 7F09B6F4 E5E00574 */ swc1 $f0, 0x574($t7) -/* 0D0268 7F09B6F8 8C6E0000 */ lw $t6, ($v1) -/* 0D026C 7F09B6FC E5C20578 */ swc1 $f2, 0x578($t6) -/* 0D0270 7F09B700 8C6C0000 */ lw $t4, ($v1) -/* 0D0274 7F09B704 E580057C */ swc1 $f0, 0x57c($t4) -/* 0D0278 7F09B708 8C6D0000 */ lw $t5, ($v1) -/* 0D027C 7F09B70C E5A20580 */ swc1 $f2, 0x580($t5) -/* 0D0280 7F09B710 8C790000 */ lw $t9, ($v1) -/* 0D0284 7F09B714 E7200584 */ swc1 $f0, 0x584($t9) -/* 0D0288 7F09B718 8C780000 */ lw $t8, ($v1) -/* 0D028C 7F09B71C E7000588 */ swc1 $f0, 0x588($t8) -/* 0D0290 7F09B720 8C6B0000 */ lw $t3, ($v1) -/* 0D0294 7F09B724 E562058C */ swc1 $f2, 0x58c($t3) -/* 0D0298 7F09B728 8C6F0000 */ lw $t7, ($v1) -/* 0D029C 7F09B72C E5E00590 */ swc1 $f0, 0x590($t7) -/* 0D02A0 7F09B730 8C6E0000 */ lw $t6, ($v1) -/* 0D02A4 7F09B734 ADC00594 */ sw $zero, 0x594($t6) -.L7F09B738: -/* 0D02A8 7F09B738 8C6C0000 */ lw $t4, ($v1) -/* 0D02AC 7F09B73C 01826821 */ addu $t5, $t4, $v0 -/* 0D02B0 7F09B740 A5A407D0 */ sh $a0, 0x7d0($t5) -/* 0D02B4 7F09B744 8C790000 */ lw $t9, ($v1) -/* 0D02B8 7F09B748 0322C021 */ addu $t8, $t9, $v0 -/* 0D02BC 7F09B74C A70507D2 */ sh $a1, 0x7d2($t8) -/* 0D02C0 7F09B750 8C6B0000 */ lw $t3, ($v1) -/* 0D02C4 7F09B754 01627821 */ addu $t7, $t3, $v0 -/* 0D02C8 7F09B758 A5E607D4 */ sh $a2, 0x7d4($t7) -/* 0D02CC 7F09B75C 8C6E0000 */ lw $t6, ($v1) -/* 0D02D0 7F09B760 01C26021 */ addu $t4, $t6, $v0 -/* 0D02D4 7F09B764 A58007D6 */ sh $zero, 0x7d6($t4) -/* 0D02D8 7F09B768 8C6D0000 */ lw $t5, ($v1) -/* 0D02DC 7F09B76C 01A2C821 */ addu $t9, $t5, $v0 -/* 0D02E0 7F09B770 A72407D8 */ sh $a0, 0x7d8($t9) -/* 0D02E4 7F09B774 8C780000 */ lw $t8, ($v1) -/* 0D02E8 7F09B778 03025821 */ addu $t3, $t8, $v0 -/* 0D02EC 7F09B77C A56507DA */ sh $a1, 0x7da($t3) -/* 0D02F0 7F09B780 8C6F0000 */ lw $t7, ($v1) -/* 0D02F4 7F09B784 01E27021 */ addu $t6, $t7, $v0 -/* 0D02F8 7F09B788 A5C607DC */ sh $a2, 0x7dc($t6) -/* 0D02FC 7F09B78C 8C6C0000 */ lw $t4, ($v1) -/* 0D0300 7F09B790 01826821 */ addu $t5, $t4, $v0 -/* 0D0304 7F09B794 24420010 */ addiu $v0, $v0, 0x10 -/* 0D0308 7F09B798 1447FFE7 */ bne $v0, $a3, .L7F09B738 -/* 0D030C 7F09B79C A5A007DE */ sh $zero, 0x7de($t5) -/* 0D0310 7F09B7A0 8C790000 */ lw $t9, ($v1) -/* 0D0314 7F09B7A4 24020064 */ li $v0, 100 -/* 0D0318 7F09B7A8 A72207F0 */ sh $v0, 0x7f0($t9) -/* 0D031C 7F09B7AC 8C780000 */ lw $t8, ($v1) -/* 0D0320 7F09B7B0 A70207F2 */ sh $v0, 0x7f2($t8) -/* 0D0324 7F09B7B4 8C6B0000 */ lw $t3, ($v1) -/* 0D0328 7F09B7B8 A56007F4 */ sh $zero, 0x7f4($t3) -/* 0D032C 7F09B7BC 8C6F0000 */ lw $t7, ($v1) -/* 0D0330 7F09B7C0 A5E007F6 */ sh $zero, 0x7f6($t7) -/* 0D0334 7F09B7C4 8C6E0000 */ lw $t6, ($v1) -/* 0D0338 7F09B7C8 ADC007F8 */ sw $zero, 0x7f8($t6) -/* 0D033C 7F09B7CC 8C6C0000 */ lw $t4, ($v1) -/* 0D0340 7F09B7D0 AD8007FC */ sw $zero, 0x7fc($t4) -/* 0D0344 7F09B7D4 8C6D0000 */ lw $t5, ($v1) -/* 0D0348 7F09B7D8 ADA00800 */ sw $zero, 0x800($t5) -/* 0D034C 7F09B7DC 8C790000 */ lw $t9, ($v1) -/* 0D0350 7F09B7E0 AF200804 */ sw $zero, 0x804($t9) -/* 0D0354 7F09B7E4 8C780000 */ lw $t8, ($v1) -/* 0D0358 7F09B7E8 AF092A44 */ sw $t1, 0x2a44($t8) -/* 0D035C 7F09B7EC 8C6B0000 */ lw $t3, ($v1) -/* 0D0360 7F09B7F0 0140C025 */ move $t8, $t2 -/* 0D0364 7F09B7F4 AD692A48 */ sw $t1, 0x2a48($t3) -/* 0D0368 7F09B7F8 8C6F0000 */ lw $t7, ($v1) -/* 0D036C 7F09B7FC 254B03A8 */ addiu $t3, $t2, 0x3a8 -/* 0D0370 7F09B800 ADE02A50 */ sw $zero, 0x2a50($t7) -/* 0D0374 7F09B804 8C6E0000 */ lw $t6, ($v1) -/* 0D0378 7F09B808 01407825 */ move $t7, $t2 -/* 0D037C 7F09B80C ADC02A54 */ sw $zero, 0x2a54($t6) -/* 0D0380 7F09B810 8C6C0000 */ lw $t4, ($v1) -/* 0D0384 7F09B814 AD800808 */ sw $zero, 0x808($t4) -/* 0D0388 7F09B818 8C6D0000 */ lw $t5, ($v1) -/* 0D038C 7F09B81C ADA0080C */ sw $zero, 0x80c($t5) -/* 0D0390 7F09B820 8C790000 */ lw $t9, ($v1) -.L7F09B824: -/* 0D0394 7F09B824 8DE10000 */ lw $at, ($t7) -/* 0D0398 7F09B828 25EF000C */ addiu $t7, $t7, 0xc -/* 0D039C 7F09B82C 2739000C */ addiu $t9, $t9, 0xc -/* 0D03A0 7F09B830 AF210864 */ sw $at, 0x864($t9) -/* 0D03A4 7F09B834 8DE1FFF8 */ lw $at, -8($t7) -/* 0D03A8 7F09B838 AF210868 */ sw $at, 0x868($t9) -/* 0D03AC 7F09B83C 8DE1FFFC */ lw $at, -4($t7) -/* 0D03B0 7F09B840 15EBFFF8 */ bne $t7, $t3, .L7F09B824 -/* 0D03B4 7F09B844 AF21086C */ sw $at, 0x86c($t9) -/* 0D03B8 7F09B848 8C6E0000 */ lw $t6, ($v1) -/* 0D03BC 7F09B84C 254D03A8 */ addiu $t5, $t2, 0x3a8 -.L7F09B850: -/* 0D03C0 7F09B850 8F010000 */ lw $at, ($t8) -/* 0D03C4 7F09B854 2718000C */ addiu $t8, $t8, 0xc -/* 0D03C8 7F09B858 25CE000C */ addiu $t6, $t6, 0xc -/* 0D03CC 7F09B85C ADC10C0C */ sw $at, 0xc0c($t6) -/* 0D03D0 7F09B860 8F01FFF8 */ lw $at, -8($t8) -/* 0D03D4 7F09B864 ADC10C10 */ sw $at, 0xc10($t6) -/* 0D03D8 7F09B868 8F01FFFC */ lw $at, -4($t8) -/* 0D03DC 7F09B86C 170DFFF8 */ bne $t8, $t5, .L7F09B850 -/* 0D03E0 7F09B870 ADC10C14 */ sw $at, 0xc14($t6) -/* 0D03E4 7F09B874 8C6B0000 */ lw $t3, ($v1) -/* 0D03E8 7F09B878 3C018005 */ lui $at, %hi(D_80057620) # $at, 0x8005 -/* 0D03EC 7F09B87C 240200FF */ li $v0, 255 -/* 0D03F0 7F09B880 E5620FC0 */ swc1 $f2, 0xfc0($t3) -/* 0D03F4 7F09B884 8C6F0000 */ lw $t7, ($v1) -/* 0D03F8 7F09B888 24040007 */ li $a0, 7 -/* 0D03FC 7F09B88C E5E20FC4 */ swc1 $f2, 0xfc4($t7) -/* 0D0400 7F09B890 8C790000 */ lw $t9, ($v1) -/* 0D0404 7F09B894 AF200FC8 */ sw $zero, 0xfc8($t9) -/* 0D0408 7F09B898 8C6C0000 */ lw $t4, ($v1) -/* 0D040C 7F09B89C AD800FCC */ sw $zero, 0xfcc($t4) -/* 0D0410 7F09B8A0 8C6D0000 */ lw $t5, ($v1) -/* 0D0414 7F09B8A4 C42C7650 */ lwc1 $f12, %lo(D_80057620)($at) -/* 0D0418 7F09B8A8 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0D041C 7F09B8AC ADA00FD0 */ sw $zero, 0xfd0($t5) -/* 0D0420 7F09B8B0 8C780000 */ lw $t8, ($v1) -/* 0D0424 7F09B8B4 AF000FD4 */ sw $zero, 0xfd4($t8) -/* 0D0428 7F09B8B8 8C6E0000 */ lw $t6, ($v1) -/* 0D042C 7F09B8BC ADC00FD8 */ sw $zero, 0xfd8($t6) -/* 0D0430 7F09B8C0 8C6B0000 */ lw $t3, ($v1) -/* 0D0434 7F09B8C4 A1620FDC */ sb $v0, 0xfdc($t3) -/* 0D0438 7F09B8C8 8C6F0000 */ lw $t7, ($v1) -/* 0D043C 7F09B8CC A1E20FDD */ sb $v0, 0xfdd($t7) -/* 0D0440 7F09B8D0 8C790000 */ lw $t9, ($v1) -/* 0D0444 7F09B8D4 A3220FDE */ sb $v0, 0xfde($t9) -/* 0D0448 7F09B8D8 8C6C0000 */ lw $t4, ($v1) -/* 0D044C 7F09B8DC 3C028008 */ lui $v0, %hi(random_byte) # $v0, 0x8008 -/* 0D0450 7F09B8E0 2442A12C */ addiu $v0, %lo(random_byte) # addiu $v0, $v0, -0x5ed4 -/* 0D0454 7F09B8E4 A1800FDF */ sb $zero, 0xfdf($t4) -/* 0D0458 7F09B8E8 8C6D0000 */ lw $t5, ($v1) -/* 0D045C 7F09B8EC ADA80FE0 */ sw $t0, 0xfe0($t5) -/* 0D0460 7F09B8F0 8C780000 */ lw $t8, ($v1) -/* 0D0464 7F09B8F4 AF000FE4 */ sw $zero, 0xfe4($t8) -/* 0D0468 7F09B8F8 8C6E0000 */ lw $t6, ($v1) -/* 0D046C 7F09B8FC E5C00FE8 */ swc1 $f0, 0xfe8($t6) -/* 0D0470 7F09B900 8C6B0000 */ lw $t3, ($v1) -/* 0D0474 7F09B904 E5600FEC */ swc1 $f0, 0xfec($t3) -/* 0D0478 7F09B908 8C6F0000 */ lw $t7, ($v1) -/* 0D047C 7F09B90C E5E00FF0 */ swc1 $f0, 0xff0($t7) -/* 0D0480 7F09B910 8C790000 */ lw $t9, ($v1) -/* 0D0484 7F09B914 E7200FF4 */ swc1 $f0, 0xff4($t9) -/* 0D0488 7F09B918 8C6C0000 */ lw $t4, ($v1) -/* 0D048C 7F09B91C E58C0FF8 */ swc1 $f12, 0xff8($t4) -/* 0D0490 7F09B920 8C6D0000 */ lw $t5, ($v1) -/* 0D0494 7F09B924 E5A00FFC */ swc1 $f0, 0xffc($t5) -/* 0D0498 7F09B928 8C780000 */ lw $t8, ($v1) -/* 0D049C 7F09B92C E7001000 */ swc1 $f0, 0x1000($t8) -/* 0D04A0 7F09B930 8C6E0000 */ lw $t6, ($v1) -/* 0D04A4 7F09B934 E5C01004 */ swc1 $f0, 0x1004($t6) -/* 0D04A8 7F09B938 8C6B0000 */ lw $t3, ($v1) -/* 0D04AC 7F09B93C E5601008 */ swc1 $f0, 0x1008($t3) -/* 0D04B0 7F09B940 8C6F0000 */ lw $t7, ($v1) -/* 0D04B4 7F09B944 E5EC100C */ swc1 $f12, 0x100c($t7) -/* 0D04B8 7F09B948 44816000 */ mtc1 $at, $f12 -/* 0D04BC 7F09B94C 8C790000 */ lw $t9, ($v1) -/* 0D04C0 7F09B950 3C0143A0 */ li $at, 0x43A00000 # 320.000000 -/* 0D04C4 7F09B954 44817000 */ mtc1 $at, $f14 -/* 0D04C8 7F09B958 3C014370 */ li $at, 0x43700000 # 240.000000 -/* 0D04CC 7F09B95C 44818000 */ mtc1 $at, $f16 -/* 0D04D0 7F09B960 E7201010 */ swc1 $f0, 0x1010($t9) -/* 0D04D4 7F09B964 3C018005 */ lui $at, %hi(D_80057624) # $at, 0x8005 -/* 0D04D8 7F09B968 C4247654 */ lwc1 $f4, %lo(D_80057624)($at) -/* 0D04DC 7F09B96C 8C6C0000 */ lw $t4, ($v1) -/* 0D04E0 7F09B970 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0D04E4 7F09B974 44813000 */ mtc1 $at, $f6 -/* 0D04E8 7F09B978 E5841014 */ swc1 $f4, 0x1014($t4) -/* 0D04EC 7F09B97C 8C6D0000 */ lw $t5, ($v1) -/* 0D04F0 7F09B980 3C014238 */ li $at, 0x42380000 # 46.000000 -/* 0D04F4 7F09B984 44814000 */ mtc1 $at, $f8 -/* 0D04F8 7F09B988 E5A01018 */ swc1 $f0, 0x1018($t5) -/* 0D04FC 7F09B98C 8C780000 */ lw $t8, ($v1) -/* 0D0500 7F09B990 3C014320 */ li $at, 0x43200000 # 160.000000 -/* 0D0504 7F09B994 44815000 */ mtc1 $at, $f10 -/* 0D0508 7F09B998 AF00105C */ sw $zero, 0x105c($t8) -/* 0D050C 7F09B99C 8C6E0000 */ lw $t6, ($v1) -/* 0D0510 7F09B9A0 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0D0514 7F09B9A4 44819000 */ mtc1 $at, $f18 -/* 0D0518 7F09B9A8 ADC01060 */ sw $zero, 0x1060($t6) -/* 0D051C 7F09B9AC 8C6B0000 */ lw $t3, ($v1) -/* 0D0520 7F09B9B0 3C018005 */ lui $at, %hi(D_80057628) # $at, 0x8005 -/* 0D0524 7F09B9B4 AD601064 */ sw $zero, 0x1064($t3) -/* 0D0528 7F09B9B8 8C6F0000 */ lw $t7, ($v1) -/* 0D052C 7F09B9BC E5E0106C */ swc1 $f0, 0x106c($t7) -/* 0D0530 7F09B9C0 8C790000 */ lw $t9, ($v1) -/* 0D0534 7F09B9C4 E7201070 */ swc1 $f0, 0x1070($t9) -/* 0D0538 7F09B9C8 8C6C0000 */ lw $t4, ($v1) -/* 0D053C 7F09B9CC E5801074 */ swc1 $f0, 0x1074($t4) -/* 0D0540 7F09B9D0 8C6D0000 */ lw $t5, ($v1) -/* 0D0544 7F09B9D4 ADA01078 */ sw $zero, 0x1078($t5) -/* 0D0548 7F09B9D8 8C780000 */ lw $t8, ($v1) -/* 0D054C 7F09B9DC E700107C */ swc1 $f0, 0x107c($t8) -/* 0D0550 7F09B9E0 8C6E0000 */ lw $t6, ($v1) -/* 0D0554 7F09B9E4 E5C01080 */ swc1 $f0, 0x1080($t6) -/* 0D0558 7F09B9E8 8C6B0000 */ lw $t3, ($v1) -/* 0D055C 7F09B9EC E56C1084 */ swc1 $f12, 0x1084($t3) -/* 0D0560 7F09B9F0 8C6F0000 */ lw $t7, ($v1) -/* 0D0564 7F09B9F4 E5EC1088 */ swc1 $f12, 0x1088($t7) -/* 0D0568 7F09B9F8 8C790000 */ lw $t9, ($v1) -/* 0D056C 7F09B9FC AF29108C */ sw $t1, 0x108c($t9) -/* 0D0570 7F09BA00 8C6C0000 */ lw $t4, ($v1) -/* 0D0574 7F09BA04 E58E1090 */ swc1 $f14, 0x1090($t4) -/* 0D0578 7F09BA08 8C6D0000 */ lw $t5, ($v1) -/* 0D057C 7F09BA0C E5B01094 */ swc1 $f16, 0x1094($t5) -/* 0D0580 7F09BA10 8C780000 */ lw $t8, ($v1) -/* 0D0584 7F09BA14 E7001098 */ swc1 $f0, 0x1098($t8) -/* 0D0588 7F09BA18 8C6E0000 */ lw $t6, ($v1) -/* 0D058C 7F09BA1C E5C0109C */ swc1 $f0, 0x109c($t6) -/* 0D0590 7F09BA20 8C6B0000 */ lw $t3, ($v1) -/* 0D0594 7F09BA24 E56610A0 */ swc1 $f6, 0x10a0($t3) -/* 0D0598 7F09BA28 8C6F0000 */ lw $t7, ($v1) -/* 0D059C 7F09BA2C E5E810A4 */ swc1 $f8, 0x10a4($t7) -/* 0D05A0 7F09BA30 8C790000 */ lw $t9, ($v1) -/* 0D05A4 7F09BA34 E72210A8 */ swc1 $f2, 0x10a8($t9) -/* 0D05A8 7F09BA38 8C6C0000 */ lw $t4, ($v1) -/* 0D05AC 7F09BA3C E58A10AC */ swc1 $f10, 0x10ac($t4) -/* 0D05B0 7F09BA40 8C6D0000 */ lw $t5, ($v1) -/* 0D05B4 7F09BA44 E5B210B0 */ swc1 $f18, 0x10b0($t5) -/* 0D05B8 7F09BA48 8C780000 */ lw $t8, ($v1) -/* 0D05BC 7F09BA4C E70210B4 */ swc1 $f2, 0x10b4($t8) -/* 0D05C0 7F09BA50 8C6E0000 */ lw $t6, ($v1) -/* 0D05C4 7F09BA54 E5C210B8 */ swc1 $f2, 0x10b8($t6) -/* 0D05C8 7F09BA58 8C6B0000 */ lw $t3, ($v1) -/* 0D05CC 7F09BA5C E56210BC */ swc1 $f2, 0x10bc($t3) -/* 0D05D0 7F09BA60 8C6F0000 */ lw $t7, ($v1) -/* 0D05D4 7F09BA64 E5E210C0 */ swc1 $f2, 0x10c0($t7) -/* 0D05D8 7F09BA68 8C790000 */ lw $t9, ($v1) -/* 0D05DC 7F09BA6C AF2010C4 */ sw $zero, 0x10c4($t9) -/* 0D05E0 7F09BA70 8C6C0000 */ lw $t4, ($v1) -/* 0D05E4 7F09BA74 AD8010C8 */ sw $zero, 0x10c8($t4) -/* 0D05E8 7F09BA78 8C6D0000 */ lw $t5, ($v1) -/* 0D05EC 7F09BA7C ADA010CC */ sw $zero, 0x10cc($t5) -/* 0D05F0 7F09BA80 8C780000 */ lw $t8, ($v1) -/* 0D05F4 7F09BA84 AF0010D0 */ sw $zero, 0x10d0($t8) -/* 0D05F8 7F09BA88 8C6E0000 */ lw $t6, ($v1) -/* 0D05FC 7F09BA8C ADC010D4 */ sw $zero, 0x10d4($t6) -/* 0D0600 7F09BA90 8C6B0000 */ lw $t3, ($v1) -/* 0D0604 7F09BA94 AD6010D8 */ sw $zero, 0x10d8($t3) -/* 0D0608 7F09BA98 8C6F0000 */ lw $t7, ($v1) -/* 0D060C 7F09BA9C ADE010DC */ sw $zero, 0x10dc($t7) -/* 0D0610 7F09BAA0 8C790000 */ lw $t9, ($v1) -/* 0D0614 7F09BAA4 AF2010E0 */ sw $zero, 0x10e0($t9) -/* 0D0618 7F09BAA8 8C6C0000 */ lw $t4, ($v1) -/* 0D061C 7F09BAAC 3C190001 */ lui $t9, 1 -/* 0D0620 7F09BAB0 AD8010E4 */ sw $zero, 0x10e4($t4) -/* 0D0624 7F09BAB4 8C6D0000 */ lw $t5, ($v1) -/* 0D0628 7F09BAB8 ADA010E8 */ sw $zero, 0x10e8($t5) -/* 0D062C 7F09BABC 8C780000 */ lw $t8, ($v1) -/* 0D0630 7F09BAC0 AF0010EC */ sw $zero, 0x10ec($t8) -/* 0D0634 7F09BAC4 8C6E0000 */ lw $t6, ($v1) -/* 0D0638 7F09BAC8 E5C210F0 */ swc1 $f2, 0x10f0($t6) -/* 0D063C 7F09BACC 8C6B0000 */ lw $t3, ($v1) -/* 0D0640 7F09BAD0 E56210F4 */ swc1 $f2, 0x10f4($t3) -/* 0D0644 7F09BAD4 8C6F0000 */ lw $t7, ($v1) -/* 0D0648 7F09BAD8 E5E210F8 */ swc1 $f2, 0x10f8($t7) -/* 0D064C 7F09BADC 8C6C0000 */ lw $t4, ($v1) -/* 0D0650 7F09BAE0 AD9910FC */ sw $t9, 0x10fc($t4) -/* 0D0654 7F09BAE4 8C6D0000 */ lw $t5, ($v1) -/* 0D0658 7F09BAE8 E5A01118 */ swc1 $f0, 0x1118($t5) -/* 0D065C 7F09BAEC 8C780000 */ lw $t8, ($v1) -/* 0D0660 7F09BAF0 E700111C */ swc1 $f0, 0x111c($t8) -/* 0D0664 7F09BAF4 8C6E0000 */ lw $t6, ($v1) -/* 0D0668 7F09BAF8 E5CE1120 */ swc1 $f14, 0x1120($t6) -/* 0D066C 7F09BAFC 8C6B0000 */ lw $t3, ($v1) -/* 0D0670 7F09BB00 E5701124 */ swc1 $f16, 0x1124($t3) -/* 0D0674 7F09BB04 8C6F0000 */ lw $t7, ($v1) -/* 0D0678 7F09BB08 ADE01128 */ sw $zero, 0x1128($t7) -/* 0D067C 7F09BB0C 8C790000 */ lw $t9, ($v1) -/* 0D0680 7F09BB10 AF2011B0 */ sw $zero, 0x11b0($t9) -/* 0D0684 7F09BB14 8C6C0000 */ lw $t4, ($v1) -/* 0D0688 7F09BB18 AD8011B4 */ sw $zero, 0x11b4($t4) -/* 0D068C 7F09BB1C 8C6D0000 */ lw $t5, ($v1) -/* 0D0690 7F09BB20 ADA011B8 */ sw $zero, 0x11b8($t5) -/* 0D0694 7F09BB24 8C780000 */ lw $t8, ($v1) -/* 0D0698 7F09BB28 E70011BC */ swc1 $f0, 0x11bc($t8) -/* 0D069C 7F09BB2C 8C6E0000 */ lw $t6, ($v1) -/* 0D06A0 7F09BB30 E5C011C0 */ swc1 $f0, 0x11c0($t6) -/* 0D06A4 7F09BB34 8C6B0000 */ lw $t3, ($v1) -/* 0D06A8 7F09BB38 E56C11C4 */ swc1 $f12, 0x11c4($t3) -/* 0D06AC 7F09BB3C 8C6F0000 */ lw $t7, ($v1) -/* 0D06B0 7F09BB40 E5EC11C8 */ swc1 $f12, 0x11c8($t7) -/* 0D06B4 7F09BB44 8C790000 */ lw $t9, ($v1) -/* 0D06B8 7F09BB48 E72C11CC */ swc1 $f12, 0x11cc($t9) -/* 0D06BC 7F09BB4C 8C6C0000 */ lw $t4, ($v1) -/* 0D06C0 7F09BB50 E58C11D0 */ swc1 $f12, 0x11d0($t4) -/* 0D06C4 7F09BB54 8C6D0000 */ lw $t5, ($v1) -/* 0D06C8 7F09BB58 C4247658 */ lwc1 $f4, %lo(D_80057628)($at) -/* 0D06CC 7F09BB5C 3C018003 */ lui $at, %hi(invisible_to_guards_flag) # $at, 0x8003 -/* 0D06D0 7F09BB60 E5A411D4 */ swc1 $f4, 0x11d4($t5) -/* 0D06D4 7F09BB64 8C780000 */ lw $t8, ($v1) -/* 0D06D8 7F09BB68 AF0011D8 */ sw $zero, 0x11d8($t8) -/* 0D06DC 7F09BB6C 8C6E0000 */ lw $t6, ($v1) -/* 0D06E0 7F09BB70 ADC911DC */ sw $t1, 0x11dc($t6) -/* 0D06E4 7F09BB74 8C6B0000 */ lw $t3, ($v1) -/* 0D06E8 7F09BB78 AD6011E0 */ sw $zero, 0x11e0($t3) -/* 0D06EC 7F09BB7C 8C6F0000 */ lw $t7, ($v1) -/* 0D06F0 7F09BB80 ADE011E4 */ sw $zero, 0x11e4($t7) -/* 0D06F4 7F09BB84 8C790000 */ lw $t9, ($v1) -/* 0D06F8 7F09BB88 AF2011E8 */ sw $zero, 0x11e8($t9) -/* 0D06FC 7F09BB8C 8C6C0000 */ lw $t4, ($v1) -/* 0D0700 7F09BB90 AD8011EC */ sw $zero, 0x11ec($t4) -/* 0D0704 7F09BB94 8C6D0000 */ lw $t5, ($v1) -/* 0D0708 7F09BB98 ADA011F0 */ sw $zero, 0x11f0($t5) -/* 0D070C 7F09BB9C 8C780000 */ lw $t8, ($v1) -/* 0D0710 7F09BBA0 AF0011F4 */ sw $zero, 0x11f4($t8) -/* 0D0714 7F09BBA4 8C6E0000 */ lw $t6, ($v1) -/* 0D0718 7F09BBA8 E5C01280 */ swc1 $f0, 0x1280($t6) -/* 0D071C 7F09BBAC 8C6B0000 */ lw $t3, ($v1) -/* 0D0720 7F09BBB0 AD601284 */ sw $zero, 0x1284($t3) -/* 0D0724 7F09BBB4 8C6F0000 */ lw $t7, ($v1) -/* 0D0728 7F09BBB8 E5E01288 */ swc1 $f0, 0x1288($t7) -/* 0D072C 7F09BBBC 8C790000 */ lw $t9, ($v1) -/* 0D0730 7F09BBC0 A32012B6 */ sb $zero, 0x12b6($t9) -/* 0D0734 7F09BBC4 8C6C0000 */ lw $t4, ($v1) -/* 0D0738 7F09BBC8 AD8429B8 */ sw $a0, 0x29b8($t4) -/* 0D073C 7F09BBCC 8C6D0000 */ lw $t5, ($v1) -/* 0D0740 7F09BBD0 E5A229BC */ swc1 $f2, 0x29bc($t5) -/* 0D0744 7F09BBD4 8C780000 */ lw $t8, ($v1) -/* 0D0748 7F09BBD8 E70029C0 */ swc1 $f0, 0x29c0($t8) -/* 0D074C 7F09BBDC 8C6E0000 */ lw $t6, ($v1) -/* 0D0750 7F09BBE0 ADC029C4 */ sw $zero, 0x29c4($t6) -/* 0D0754 7F09BBE4 8C6B0000 */ lw $t3, ($v1) -/* 0D0758 7F09BBE8 AD6429D4 */ sw $a0, 0x29d4($t3) -/* 0D075C 7F09BBEC 8C6F0000 */ lw $t7, ($v1) -/* 0D0760 7F09BBF0 ADE029D8 */ sw $zero, 0x29d8($t7) -/* 0D0764 7F09BBF4 8C6C0000 */ lw $t4, ($v1) -/* 0D0768 7F09BBF8 8C590000 */ lw $t9, ($v0) -/* 0D076C 7F09BBFC AD9929E0 */ sw $t9, 0x29e0($t4) -/* 0D0770 7F09BC00 8C4D0000 */ lw $t5, ($v0) -/* 0D0774 7F09BC04 8C6E0000 */ lw $t6, ($v1) -/* 0D0778 7F09BC08 25B80001 */ addiu $t8, $t5, 1 -/* 0D077C 7F09BC0C AC580000 */ sw $t8, ($v0) -/* 0D0780 7F09BC10 ADC929E4 */ sw $t1, 0x29e4($t6) -/* 0D0784 7F09BC14 8C6B0000 */ lw $t3, ($v1) -/* 0D0788 7F09BC18 AD6929E8 */ sw $t1, 0x29e8($t3) -/* 0D078C 7F09BC1C 8C6F0000 */ lw $t7, ($v1) -/* 0D0790 7F09BC20 ADE929EC */ sw $t1, 0x29ec($t7) -/* 0D0794 7F09BC24 8C790000 */ lw $t9, ($v1) -/* 0D0798 7F09BC28 AF2929F0 */ sw $t1, 0x29f0($t9) -/* 0D079C 7F09BC2C 8C6C0000 */ lw $t4, ($v1) -/* 0D07A0 7F09BC30 AD802A00 */ sw $zero, 0x2a00($t4) -/* 0D07A4 7F09BC34 8C6D0000 */ lw $t5, ($v1) -/* 0D07A8 7F09BC38 ADA02A30 */ sw $zero, 0x2a30($t5) -/* 0D07AC 7F09BC3C 8C780000 */ lw $t8, ($v1) -/* 0D07B0 7F09BC40 AF002A34 */ sw $zero, 0x2a34($t8) -/* 0D07B4 7F09BC44 8C6E0000 */ lw $t6, ($v1) -/* 0D07B8 7F09BC48 ADC82A38 */ sw $t0, 0x2a38($t6) -/* 0D07BC 7F09BC4C 8C6B0000 */ lw $t3, ($v1) -/* 0D07C0 7F09BC50 E5622A3C */ swc1 $f2, 0x2a3c($t3) -/* 0D07C4 7F09BC54 8C6F0000 */ lw $t7, ($v1) -/* 0D07C8 7F09BC58 E5E22A40 */ swc1 $f2, 0x2a40($t7) -/* 0D07CC 7F09BC5C 8C790000 */ lw $t9, ($v1) -/* 0D07D0 7F09BC60 AF202A58 */ sw $zero, 0x2a58($t9) -/* 0D07D4 7F09BC64 8C6C0000 */ lw $t4, ($v1) -/* 0D07D8 7F09BC68 AD802A5C */ sw $zero, 0x2a5c($t4) -/* 0D07DC 7F09BC6C 8C6D0000 */ lw $t5, ($v1) -/* 0D07E0 7F09BC70 E5A02A60 */ swc1 $f0, 0x2a60($t5) -/* 0D07E4 7F09BC74 8C780000 */ lw $t8, ($v1) -/* 0D07E8 7F09BC78 AF002A64 */ sw $zero, 0x2a64($t8) -/* 0D07EC 7F09BC7C 8C6E0000 */ lw $t6, ($v1) -/* 0D07F0 7F09BC80 ADC82A68 */ sw $t0, 0x2a68($t6) -/* 0D07F4 7F09BC84 8C6B0000 */ lw $t3, ($v1) -/* 0D07F8 7F09BC88 AD602A6C */ sw $zero, 0x2a6c($t3) -/* 0D07FC 7F09BC8C 8C6F0000 */ lw $t7, ($v1) -/* 0D0800 7F09BC90 ADE02A70 */ sw $zero, 0x2a70($t7) -/* 0D0804 7F09BC94 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D0808 7F09BC98 AC286504 */ sw $t0, %lo(invisible_to_guards_flag)($at) -/* 0D080C 7F09BC9C 3C018003 */ lui $at, %hi(obj_collision_flag) # $at, 0x8003 -/* 0D0810 7F09BCA0 AC286508 */ sw $t0, %lo(obj_collision_flag)($at) -/* 0D0814 7F09BCA4 03E00008 */ jr $ra -/* 0D0818 7F09BCA8 27BD03D0 */ addiu $sp, $sp, 0x3d0 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void set_cur_player(PLAYER_ID playernum) -{ - pPlayer = ptr_BONDdata_p1[playernum]; - pPlayersPerm = player1_playerdata[playernum]; - player_num = playernum; - return; -} -#else -GLOBAL_ASM( -.text -glabel set_cur_player -/* 0CFC3C 7F09B10C 00047080 */ sll $t6, $a0, 2 -/* 0CFC40 7F09B110 3C0F8008 */ lui $t7, %hi(ptr_BONDdata_p1) -/* 0CFC44 7F09B114 01EE7821 */ addu $t7, $t7, $t6 -/* 0CFC48 7F09B118 8DEF9EE0 */ lw $t7, %lo(ptr_BONDdata_p1)($t7) -/* 0CFC4C 7F09B11C 3C018008 */ lui $at, %hi(player_num) -/* 0CFC50 7F09B120 AC24A0B8 */ sw $a0, %lo(player_num)($at) -/* 0CFC54 7F09B124 0004C0C0 */ sll $t8, $a0, 3 -/* 0CFC58 7F09B128 3C018008 */ lui $at, %hi(pPlayer) -/* 0CFC5C 7F09B12C 0304C023 */ subu $t8, $t8, $a0 -/* 0CFC60 7F09B130 3C198008 */ lui $t9, %hi(player1_player_data) -/* 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(pPlayersPerm) -/* 0CFC74 7F09B144 03194021 */ addu $t0, $t8, $t9 -/* 0CFC78 7F09B148 03E00008 */ jr $ra -/* 0CFC7C 7F09B14C AC28A0B4 */ sw $t0, %lo(pPlayersPerm)($at) -) -#endif - - - - -s32 get_cur_playernum(void) { - return player_num; -} - - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F09B15C -/* 0CFC8C 7F09B15C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0CFC90 7F09B160 AFBF0024 */ sw $ra, 0x24($sp) -/* 0CFC94 7F09B164 AFB20020 */ sw $s2, 0x20($sp) -/* 0CFC98 7F09B168 AFB1001C */ sw $s1, 0x1c($sp) -/* 0CFC9C 7F09B16C 00809025 */ move $s2, $a0 -/* 0CFCA0 7F09B170 AFB00018 */ sw $s0, 0x18($sp) -/* 0CFCA4 7F09B174 0FC26919 */ jal get_num_players -/* 0CFCA8 7F09B178 00008825 */ move $s1, $zero -/* 0CFCAC 7F09B17C 18400010 */ blez $v0, .L7F09B1C0 -/* 0CFCB0 7F09B180 00117080 */ sll $t6, $s1, 2 -/* 0CFCB4 7F09B184 3C0F8008 */ lui $t7, %hi(ptr_BONDdata_p1) -/* 0CFCB8 7F09B188 25EF9EE0 */ addiu $t7, %lo(ptr_BONDdata_p1) # addiu $t7, $t7, -0x6120 -/* 0CFCBC 7F09B18C 01CF8021 */ addu $s0, $t6, $t7 -/* 0CFCC0 7F09B190 8E180000 */ lw $t8, ($s0) -.L7F09B194: -/* 0CFCC4 7F09B194 26100004 */ addiu $s0, $s0, 4 -/* 0CFCC8 7F09B198 8F1900A8 */ lw $t9, 0xa8($t8) -/* 0CFCCC 7F09B19C 16590003 */ bne $s2, $t9, .L7F09B1AC -/* 0CFCD0 7F09B1A0 00000000 */ nop -/* 0CFCD4 7F09B1A4 10000007 */ b .L7F09B1C4 -/* 0CFCD8 7F09B1A8 02201025 */ move $v0, $s1 -.L7F09B1AC: -/* 0CFCDC 7F09B1AC 0FC26919 */ jal get_num_players -/* 0CFCE0 7F09B1B0 26310001 */ addiu $s1, $s1, 1 -/* 0CFCE4 7F09B1B4 0222082A */ slt $at, $s1, $v0 -/* 0CFCE8 7F09B1B8 5420FFF6 */ bnezl $at, .L7F09B194 -/* 0CFCEC 7F09B1BC 8E180000 */ lw $t8, ($s0) -.L7F09B1C0: -/* 0CFCF0 7F09B1C0 2402FFFF */ li $v0, -1 -.L7F09B1C4: -/* 0CFCF4 7F09B1C4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0CFCF8 7F09B1C8 8FB00018 */ lw $s0, 0x18($sp) -/* 0CFCFC 7F09B1CC 8FB1001C */ lw $s1, 0x1c($sp) -/* 0CFD00 7F09B1D0 8FB20020 */ lw $s2, 0x20($sp) -/* 0CFD04 7F09B1D4 03E00008 */ jr $ra -/* 0CFD08 7F09B1D8 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -void set_cur_player_screen_size(u32 width, u32 height) { - pPlayer->viewx = width; - pPlayer->viewy = height; -} - -void set_cur_player_viewport_size(u32 ulx, u32 uly) { - pPlayer->viewleft = ulx; - pPlayer->viewtop = uly; -} - -void set_cur_player_fovy(f32 fovy) { - pPlayer->fovy = fovy; -} - -void set_cur_player_aspect(f32 aspect) { - pPlayer->aspect = aspect; -} - -f32 get_cur_player_fovy(void) { - return pPlayer->fovy; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09B244(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005762C*/ -glabel jpt_weapon_multi -.word weapon_multi_none -.word weapon_multi_none -.word weapon_multi_hunting_knife -.word weapon_multi_throwing_knife -.word weapon_multi_pp7 -.word weapon_multi_pp7_silent -.word weapon_multi_dd44 -.word weapon_multi_klobb -.word weapon_multi_kf7 -.word weapon_multi_zmg -.word weapon_multi_d5k -.word weapon_multi_d5k_silent -.word weapon_multi_phantom -.word weapon_multi_ar33 -.word weapon_multi_rcp90 -.word weapon_multi_shotgun -.word weapon_multi_auto_shot -.word weapon_multi_sniper -.word weapon_multi_cougar -.word weapon_multi_goldengun -.word weapon_multi_pp7_special1 -.word weapon_multi_pp7_special2 -.word weapon_multi_moonraker -/*.word weapon_multi_none*/ -/*.word weapon_multi_grenade_laun*/ -/*.word weapon_multi_rocket_launch*/ -/*.word weapon_multi_hand*/ -/*.word weapon_multi_timed*/ -/*.word weapon_multi_prox*/ -/*.word weapon_multi_remote*/ -/*.word weapon_multi_none*/ -/*.word weapon_multi_none*/ - -.text -glabel sub_GAME_7F09B244 -/* 0CFD74 7F09B244 28810020 */ slti $at, $a0, 0x20 -/* 0CFD78 7F09B248 14200006 */ bnez $at, .L7F09B264 -/* 0CFD7C 7F09B24C 2403FFFF */ li $v1, -1 -/* 0CFD80 7F09B250 24010058 */ li $at, 88 -/* 0CFD84 7F09B254 50810042 */ beql $a0, $at, .L7F09B360 -/* 0CFD88 7F09B258 2403014D */ li $v1, 333 -/* 0CFD8C 7F09B25C 03E00008 */ jr $ra -/* 0CFD90 7F09B260 00601025 */ move $v0, $v1 - -.L7F09B264: -/* 0CFD94 7F09B264 2C810020 */ sltiu $at, $a0, 0x20 -/* 0CFD98 7F09B268 1020003D */ beqz $at, .L7F09B360 -/* 0CFD9C 7F09B26C 00047080 */ sll $t6, $a0, 2 -/* 0CFDA0 7F09B270 3C018005 */ lui $at, %hi(jpt_weapon_multi) -/* 0CFDA4 7F09B274 002E0821 */ addu $at, $at, $t6 -/* 0CFDA8 7F09B278 8C2E762C */ lw $t6, %lo(jpt_weapon_multi)($at) -/* 0CFDAC 7F09B27C 01C00008 */ jr $t6 -/* 0CFDB0 7F09B280 00000000 */ nop -weapon_multi_hunting_knife: -/* 0CFDB4 7F09B284 03E00008 */ jr $ra -/* 0CFDB8 7F09B288 240200BA */ li $v0, 186 - -weapon_multi_pp7: -/* 0CFDBC 7F09B28C 03E00008 */ jr $ra -/* 0CFDC0 7F09B290 240200BF */ li $v0, 191 - -weapon_multi_klobb: -/* 0CFDC4 7F09B294 03E00008 */ jr $ra -/* 0CFDC8 7F09B298 240200C1 */ li $v0, 193 - -weapon_multi_kf7: -/* 0CFDCC 7F09B29C 03E00008 */ jr $ra -/* 0CFDD0 7F09B2A0 240200B8 */ li $v0, 184 - -weapon_multi_zmg: -/* 0CFDD4 7F09B2A4 03E00008 */ jr $ra -/* 0CFDD8 7F09B2A8 240200C3 */ li $v0, 195 - -weapon_multi_d5k: -/* 0CFDDC 7F09B2AC 03E00008 */ jr $ra -/* 0CFDE0 7F09B2B0 240200BD */ li $v0, 189 - -weapon_multi_phantom: -/* 0CFDE4 7F09B2B4 03E00008 */ jr $ra -/* 0CFDE8 7F09B2B8 240200C2 */ li $v0, 194 - -weapon_multi_ar33: -/* 0CFDEC 7F09B2BC 03E00008 */ jr $ra -/* 0CFDF0 7F09B2C0 240200BC */ li $v0, 188 - -weapon_multi_rcp90: -/* 0CFDF4 7F09B2C4 03E00008 */ jr $ra -/* 0CFDF8 7F09B2C8 240200C5 */ li $v0, 197 - -weapon_multi_shotgun: -/* 0CFDFC 7F09B2CC 03E00008 */ jr $ra -/* 0CFE00 7F09B2D0 240200C0 */ li $v0, 192 - -weapon_multi_grenade_laun: -/* 0CFE04 7F09B2D4 03E00008 */ jr $ra -/* 0CFE08 7F09B2D8 240200B9 */ li $v0, 185 - -weapon_multi_hand: -/* 0CFE0C 7F09B2DC 03E00008 */ jr $ra -/* 0CFE10 7F09B2E0 240200C4 */ li $v0, 196 - -weapon_multi_remote: -/* 0CFE14 7F09B2E4 03E00008 */ jr $ra -/* 0CFE18 7F09B2E8 240200C7 */ li $v0, 199 - -weapon_multi_prox: -/* 0CFE1C 7F09B2EC 03E00008 */ jr $ra -/* 0CFE20 7F09B2F0 240200C8 */ li $v0, 200 - -weapon_multi_timed: -/* 0CFE24 7F09B2F4 03E00008 */ jr $ra -/* 0CFE28 7F09B2F8 240200C9 */ li $v0, 201 - -weapon_multi_cougar: -/* 0CFE2C 7F09B2FC 03E00008 */ jr $ra -/* 0CFE30 7F09B300 240200BE */ li $v0, 190 - -weapon_multi_moonraker: -/* 0CFE34 7F09B304 03E00008 */ jr $ra -/* 0CFE38 7F09B308 240200BB */ li $v0, 187 - -weapon_multi_sniper: -/* 0CFE3C 7F09B30C 03E00008 */ jr $ra -/* 0CFE40 7F09B310 240200D2 */ li $v0, 210 - -weapon_multi_d5k_silent: -/* 0CFE44 7F09B314 03E00008 */ jr $ra -/* 0CFE48 7F09B318 240200CE */ li $v0, 206 - -weapon_multi_dd44: -/* 0CFE4C 7F09B31C 03E00008 */ jr $ra -/* 0CFE50 7F09B320 240200CD */ li $v0, 205 - -weapon_multi_pp7_silent: -/* 0CFE54 7F09B324 03E00008 */ jr $ra -/* 0CFE58 7F09B328 240200CC */ li $v0, 204 - -weapon_multi_throwing_knife: -/* 0CFE5C 7F09B32C 03E00008 */ jr $ra -/* 0CFE60 7F09B330 240200D1 */ li $v0, 209 - -weapon_multi_auto_shot: -/* 0CFE64 7F09B334 03E00008 */ jr $ra -/* 0CFE68 7F09B338 240200CF */ li $v0, 207 - -weapon_multi_rocket_launch: -/* 0CFE6C 7F09B33C 03E00008 */ jr $ra -/* 0CFE70 7F09B340 240200D3 */ li $v0, 211 - -weapon_multi_goldengun: -/* 0CFE74 7F09B344 03E00008 */ jr $ra -/* 0CFE78 7F09B348 240200D0 */ li $v0, 208 - -weapon_multi_pp7_special1: -/* 0CFE7C 7F09B34C 03E00008 */ jr $ra -/* 0CFE80 7F09B350 240200BF */ li $v0, 191 - -weapon_multi_pp7_special2: -/* 0CFE84 7F09B354 03E00008 */ jr $ra -/* 0CFE88 7F09B358 240200BF */ li $v0, 191 - -/* 0CFE8C 7F09B35C 2403014D */ li $v1, 333 -weapon_multi_none: -.L7F09B360: -/* 0CFE90 7F09B360 03E00008 */ jr $ra -/* 0CFE94 7F09B364 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09B368(s32 arg0) { - // Node 0 - return set_0x4_in_runtime_flags_for_item_in_guards_hand(pPlayer->unkA8->unk4, arg0); -} - -#else -GLOBAL_ASM( -.late_rodata -/*hack for jtbl*/ -.word weapon_multi_none -.word weapon_multi_grenade_laun -.word weapon_multi_rocket_launch -/*.word weapon_multi_hand*/ -/*.word weapon_multi_timed*/ -/*.word weapon_multi_prox*/ -/*.word weapon_multi_remote*/ -/*.word weapon_multi_none*/ -/*.word weapon_multi_none*/ -.text -glabel sub_GAME_7F09B368 -/* 0CFE98 7F09B368 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0CFE9C 7F09B36C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0CFEA0 7F09B370 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0CFEA4 7F09B374 AFBF0014 */ sw $ra, 0x14($sp) -/* 0CFEA8 7F09B378 8DCF00A8 */ lw $t7, 0xa8($t6) -/* 0CFEAC 7F09B37C 00802825 */ move $a1, $a0 -/* 0CFEB0 7F09B380 0FC1487A */ jal set_0x4_in_runtime_flags_for_item_in_guards_hand -/* 0CFEB4 7F09B384 8DE40004 */ lw $a0, 4($t7) -/* 0CFEB8 7F09B388 8FBF0014 */ lw $ra, 0x14($sp) -/* 0CFEBC 7F09B38C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0CFEC0 7F09B390 03E00008 */ jr $ra -/* 0CFEC4 7F09B394 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F09B398(s32 arg0) { - s32 sp24; - s32 sp30; - s32 sp34; - s32 temp_v1; - ? temp_ret; - s32 temp_ret_2; - ? phi_a3; - s32 phi_return; - - // Node 0 - temp_v1 = (arg0 * 4); - phi_return = pPlayer->unkA8->unk4; - if ((pPlayer->unkA8->unk4 + temp_v1)->unk160 == 0) - { - // Node 1 - sp34 = (s32) pPlayer->unkA8->unk4; - sp24 = temp_v1; - temp_ret = get_item_in_hand(); - sp30 = temp_ret; - temp_ret_2 = sub_GAME_7F09B244(temp_ret); - phi_return = temp_ret_2; - if (temp_ret_2 >= 0) - { - // Node 2 - if (temp_v1 == 0) - { - // Node 3 - phi_a3 = 0; - } - else - { - // Node 4 - phi_a3 = 0x10000000; - } - // Node 5 - phi_return = something_with_generating_object(sp34, temp_ret_2, sp30, phi_a3, 0, 0); - } - } - // Node 6 - return phi_return; -} -#else -GLOBAL_ASM( -.late_rodata -/*hack for jtbl*/ -.word weapon_multi_hand -.word weapon_multi_timed -.word weapon_multi_prox -.word weapon_multi_remote -.word weapon_multi_none -.word weapon_multi_none - -.text -glabel sub_GAME_7F09B398 -/* 0CFEC8 7F09B398 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0CFECC 7F09B39C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0CFED0 7F09B3A0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CFED4 7F09B3A4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0CFED8 7F09B3A8 8DCF00A8 */ lw $t7, 0xa8($t6) -/* 0CFEDC 7F09B3AC 00041880 */ sll $v1, $a0, 2 -/* 0CFEE0 7F09B3B0 8DE20004 */ lw $v0, 4($t7) -/* 0CFEE4 7F09B3B4 0043C021 */ addu $t8, $v0, $v1 -/* 0CFEE8 7F09B3B8 8F190160 */ lw $t9, 0x160($t8) -/* 0CFEEC 7F09B3BC 57200014 */ bnezl $t9, .L7F09B410 -/* 0CFEF0 7F09B3C0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0CFEF4 7F09B3C4 AFA20034 */ sw $v0, 0x34($sp) -/* 0CFEF8 7F09B3C8 0FC17674 */ jal get_item_in_hand -/* 0CFEFC 7F09B3CC AFA30024 */ sw $v1, 0x24($sp) -/* 0CFF00 7F09B3D0 AFA20030 */ sw $v0, 0x30($sp) -/* 0CFF04 7F09B3D4 0FC26C91 */ jal sub_GAME_7F09B244 -/* 0CFF08 7F09B3D8 00402025 */ move $a0, $v0 -/* 0CFF0C 7F09B3DC 8FA30024 */ lw $v1, 0x24($sp) -/* 0CFF10 7F09B3E0 0440000A */ bltz $v0, .L7F09B40C -/* 0CFF14 7F09B3E4 00402825 */ move $a1, $v0 -/* 0CFF18 7F09B3E8 14600003 */ bnez $v1, .L7F09B3F8 -/* 0CFF1C 7F09B3EC 8FA40034 */ lw $a0, 0x34($sp) -/* 0CFF20 7F09B3F0 10000002 */ b .L7F09B3FC -/* 0CFF24 7F09B3F4 00003825 */ move $a3, $zero -.L7F09B3F8: -/* 0CFF28 7F09B3F8 3C071000 */ lui $a3, 0x1000 -.L7F09B3FC: -/* 0CFF2C 7F09B3FC 8FA60030 */ lw $a2, 0x30($sp) -/* 0CFF30 7F09B400 AFA00010 */ sw $zero, 0x10($sp) -/* 0CFF34 7F09B404 0FC14885 */ jal something_with_generating_object -/* 0CFF38 7F09B408 AFA00014 */ sw $zero, 0x14($sp) -.L7F09B40C: -/* 0CFF3C 7F09B40C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F09B410: -/* 0CFF40 7F09B410 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0CFF44 7F09B414 03E00008 */ jr $ra -/* 0CFF48 7F09B418 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09B41C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B41C -/* 0CFF4C 7F09B41C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CFF50 7F09B420 AFB1001C */ sw $s1, 0x1c($sp) -/* 0CFF54 7F09B424 AFB00018 */ sw $s0, 0x18($sp) -/* 0CFF58 7F09B428 3C118008 */ lui $s1, %hi(dword_CODE_bss_8007A0C0) -/* 0CFF5C 7F09B42C AFBF002C */ sw $ra, 0x2c($sp) -/* 0CFF60 7F09B430 AFB40028 */ sw $s4, 0x28($sp) -/* 0CFF64 7F09B434 AFB30024 */ sw $s3, 0x24($sp) -/* 0CFF68 7F09B438 AFB20020 */ sw $s2, 0x20($sp) -/* 0CFF6C 7F09B43C 2631A0C0 */ addiu $s1, %lo(dword_CODE_bss_8007A0C0) # addiu $s1, $s1, -0x5f40 -/* 0CFF70 7F09B440 00008025 */ move $s0, $zero -.L7F09B444: -/* 0CFF74 7F09B444 AE300000 */ sw $s0, ($s1) -/* 0CFF78 7F09B448 26100001 */ addiu $s0, $s0, 1 -/* 0CFF7C 7F09B44C 2A010004 */ slti $at, $s0, 4 -/* 0CFF80 7F09B450 1420FFFC */ bnez $at, .L7F09B444 -/* 0CFF84 7F09B454 26310004 */ addiu $s1, $s1, 4 -/* 0CFF88 7F09B458 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_8007A0C0) -/* 0CFF8C 7F09B45C 25D2A0C0 */ addiu $s2, $t6, %lo(dword_CODE_bss_8007A0C0) -/* 0CFF90 7F09B460 02408825 */ move $s1, $s2 -/* 0CFF94 7F09B464 00008025 */ move $s0, $zero -/* 0CFF98 7F09B468 24140003 */ li $s4, 3 -/* 0CFF9C 7F09B46C 24130004 */ li $s3, 4 -.L7F09B470: -/* 0CFFA0 7F09B470 0C002914 */ jal get_random_value -/* 0CFFA4 7F09B474 00000000 */ nop -/* 0CFFA8 7F09B478 02707823 */ subu $t7, $s3, $s0 -/* 0CFFAC 7F09B47C 004F001B */ divu $zero, $v0, $t7 -/* 0CFFB0 7F09B480 0000C010 */ mfhi $t8 -/* 0CFFB4 7F09B484 0018C880 */ sll $t9, $t8, 2 -/* 0CFFB8 7F09B488 02591821 */ addu $v1, $s2, $t9 -/* 0CFFBC 7F09B48C 8C680000 */ lw $t0, ($v1) -/* 0CFFC0 7F09B490 8E240000 */ lw $a0, ($s1) -/* 0CFFC4 7F09B494 26100001 */ addiu $s0, $s0, 1 -/* 0CFFC8 7F09B498 15E00002 */ bnez $t7, .L7F09B4A4 -/* 0CFFCC 7F09B49C 00000000 */ nop -/* 0CFFD0 7F09B4A0 0007000D */ break 7 -.L7F09B4A4: -/* 0CFFD4 7F09B4A4 AE280000 */ sw $t0, ($s1) -/* 0CFFD8 7F09B4A8 26520004 */ addiu $s2, $s2, 4 -/* 0CFFDC 7F09B4AC 26310004 */ addiu $s1, $s1, 4 -/* 0CFFE0 7F09B4B0 1614FFEF */ bne $s0, $s4, .L7F09B470 -/* 0CFFE4 7F09B4B4 AC640000 */ sw $a0, ($v1) -/* 0CFFE8 7F09B4B8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0CFFEC 7F09B4BC 8FB00018 */ lw $s0, 0x18($sp) -/* 0CFFF0 7F09B4C0 8FB1001C */ lw $s1, 0x1c($sp) -/* 0CFFF4 7F09B4C4 8FB20020 */ lw $s2, 0x20($sp) -/* 0CFFF8 7F09B4C8 8FB30024 */ lw $s3, 0x24($sp) -/* 0CFFFC 7F09B4CC 8FB40028 */ lw $s4, 0x28($sp) -/* 0D0000 7F09B4D0 03E00008 */ jr $ra -/* 0D0004 7F09B4D4 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F09B4D8(s32 arg0) { - s32 temp_v0; - void *temp_a1; - void *phi_a1; - s32 phi_v1; - s32 phi_v1_2; - s32 phi_v1_3; - - // Node 0 - phi_a1 = &dword_CODE_bss_8007A0C0; - phi_v1_3 = 0; -loop_1: - // Node 1 - temp_v0 = *phi_a1; - temp_a1 = (phi_a1 + 4); - phi_v1 = phi_v1_3; - if (arg0 != temp_v0) - { - // Node 2 - phi_v1_2 = phi_v1_3; - if (*(&ptr_BONDdata_p1 + (temp_v0 * 4)) != 0) - { - // Node 3 - phi_v1_2 = (phi_v1_3 + 1); - } - // Node 4 - phi_a1 = temp_a1; - phi_v1 = phi_v1_2; - phi_v1_3 = phi_v1_2; - if (temp_a1 != &dword_CODE_bss_8007A0D0) - { - goto loop_1; - } - } - // Node 5 - return phi_v1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B4D8 -/* 0D0008 7F09B4D8 3C058008 */ lui $a1, %hi(dword_CODE_bss_8007A0C0) -/* 0D000C 7F09B4DC 3C078008 */ lui $a3, %hi(dword_CODE_bss_8007A0D0) -/* 0D0010 7F09B4E0 3C068008 */ lui $a2, %hi(ptr_BONDdata_p1) -/* 0D0014 7F09B4E4 00001825 */ move $v1, $zero -/* 0D0018 7F09B4E8 24C69EE0 */ addiu $a2, %lo(ptr_BONDdata_p1) # addiu $a2, $a2, -0x6120 -/* 0D001C 7F09B4EC 24E7A0D0 */ addiu $a3, %lo(dword_CODE_bss_8007A0D0) # addiu $a3, $a3, -0x5f30 -/* 0D0020 7F09B4F0 24A5A0C0 */ addiu $a1, %lo(dword_CODE_bss_8007A0C0) # addiu $a1, $a1, -0x5f40 -/* 0D0024 7F09B4F4 8CA20000 */ lw $v0, ($a1) -.L7F09B4F8: -/* 0D0028 7F09B4F8 24A50004 */ addiu $a1, $a1, 4 -/* 0D002C 7F09B4FC 10820008 */ beq $a0, $v0, .L7F09B520 -/* 0D0030 7F09B500 00027080 */ sll $t6, $v0, 2 -/* 0D0034 7F09B504 00CE7821 */ addu $t7, $a2, $t6 -/* 0D0038 7F09B508 8DF80000 */ lw $t8, ($t7) -/* 0D003C 7F09B50C 13000002 */ beqz $t8, .L7F09B518 -/* 0D0040 7F09B510 00000000 */ nop -/* 0D0044 7F09B514 24630001 */ addiu $v1, $v1, 1 -.L7F09B518: -/* 0D0048 7F09B518 54A7FFF7 */ bnel $a1, $a3, .L7F09B4F8 -/* 0D004C 7F09B51C 8CA20000 */ lw $v0, ($a1) -.L7F09B520: -/* 0D0050 7F09B520 03E00008 */ jr $ra -/* 0D0054 7F09B524 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -int proc_7F09B528(int param_1) -{ - if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C0] != NULL) { - if (param_1 == 0) { - return dword_CODE_bss_8007A0C0; - } - param_1--; - } - if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C4] != NULL) { - if (param_1 == 0) { - return dword_CODE_bss_8007A0C4; - } - param_1--; - } - if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C8] != NULL) { - if (param_1 == 0) { - return dword_CODE_bss_8007A0C8; - } - param_1--; - } - if ((ptr_BONDdata_p1[dword_CODE_bss_8007A0CC] != NULL) && (param_1 == 0)) { - return dword_CODE_bss_8007A0CC; - } - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B528 -/* 0D0058 7F09B528 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0C0) -/* 0D005C 7F09B52C 8C63A0C0 */ lw $v1, %lo(dword_CODE_bss_8007A0C0)($v1) -/* 0D0060 7F09B530 3C028008 */ lui $v0, %hi(ptr_BONDdata_p1) -/* 0D0064 7F09B534 24429EE0 */ addiu $v0, %lo(ptr_BONDdata_p1) # addiu $v0, $v0, -0x6120 -/* 0D0068 7F09B538 00037080 */ sll $t6, $v1, 2 -/* 0D006C 7F09B53C 004E7821 */ addu $t7, $v0, $t6 -/* 0D0070 7F09B540 8DF80000 */ lw $t8, ($t7) -/* 0D0074 7F09B544 13000006 */ beqz $t8, .L7F09B560 -/* 0D0078 7F09B548 00000000 */ nop -/* 0D007C 7F09B54C 54800004 */ bnezl $a0, .L7F09B560 -/* 0D0080 7F09B550 2484FFFF */ addiu $a0, $a0, -1 -/* 0D0084 7F09B554 03E00008 */ jr $ra -/* 0D0088 7F09B558 00601025 */ move $v0, $v1 - -/* 0D008C 7F09B55C 2484FFFF */ addiu $a0, $a0, -1 -.L7F09B560: -/* 0D0090 7F09B560 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0C4) -/* 0D0094 7F09B564 8C63A0C4 */ lw $v1, %lo(dword_CODE_bss_8007A0C4)($v1) -/* 0D0098 7F09B568 0003C880 */ sll $t9, $v1, 2 -/* 0D009C 7F09B56C 00594021 */ addu $t0, $v0, $t9 -/* 0D00A0 7F09B570 8D090000 */ lw $t1, ($t0) -/* 0D00A4 7F09B574 11200006 */ beqz $t1, .L7F09B590 -/* 0D00A8 7F09B578 00000000 */ nop -/* 0D00AC 7F09B57C 54800004 */ bnezl $a0, .L7F09B590 -/* 0D00B0 7F09B580 2484FFFF */ addiu $a0, $a0, -1 -/* 0D00B4 7F09B584 03E00008 */ jr $ra -/* 0D00B8 7F09B588 00601025 */ move $v0, $v1 - -/* 0D00BC 7F09B58C 2484FFFF */ addiu $a0, $a0, -1 -.L7F09B590: -/* 0D00C0 7F09B590 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0C8) -/* 0D00C4 7F09B594 8C63A0C8 */ lw $v1, %lo(dword_CODE_bss_8007A0C8)($v1) -/* 0D00C8 7F09B598 00035080 */ sll $t2, $v1, 2 -/* 0D00CC 7F09B59C 004A5821 */ addu $t3, $v0, $t2 -/* 0D00D0 7F09B5A0 8D6C0000 */ lw $t4, ($t3) -/* 0D00D4 7F09B5A4 11800006 */ beqz $t4, .L7F09B5C0 -/* 0D00D8 7F09B5A8 00000000 */ nop -/* 0D00DC 7F09B5AC 54800004 */ bnezl $a0, .L7F09B5C0 -/* 0D00E0 7F09B5B0 2484FFFF */ addiu $a0, $a0, -1 -/* 0D00E4 7F09B5B4 03E00008 */ jr $ra -/* 0D00E8 7F09B5B8 00601025 */ move $v0, $v1 - -/* 0D00EC 7F09B5BC 2484FFFF */ addiu $a0, $a0, -1 -.L7F09B5C0: -/* 0D00F0 7F09B5C0 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0CC) -/* 0D00F4 7F09B5C4 8C63A0CC */ lw $v1, %lo(dword_CODE_bss_8007A0CC)($v1) -/* 0D00F8 7F09B5C8 00036880 */ sll $t5, $v1, 2 -/* 0D00FC 7F09B5CC 004D7021 */ addu $t6, $v0, $t5 -/* 0D0100 7F09B5D0 8DCF0000 */ lw $t7, ($t6) -/* 0D0104 7F09B5D4 00001025 */ move $v0, $zero -/* 0D0108 7F09B5D8 11E00005 */ beqz $t7, .L7F09B5F0 -/* 0D010C 7F09B5DC 00000000 */ nop -/* 0D0110 7F09B5E0 14800003 */ bnez $a0, .L7F09B5F0 -/* 0D0114 7F09B5E4 00000000 */ nop -/* 0D0118 7F09B5E8 03E00008 */ jr $ra -/* 0D011C 7F09B5EC 00601025 */ move $v0, $v1 - -.L7F09B5F0: -/* 0D0120 7F09B5F0 03E00008 */ jr $ra -/* 0D0124 7F09B5F4 00000000 */ nop -) -#endif - - - diff --git a/src/game/unk_093880.h b/src/game/unk_093880.h deleted file mode 100644 index 61e3374..0000000 --- a/src/game/unk_093880.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _UNK_093880_H_ -#define _UNK_093880_H_ -#include "ultra64.h" -#include "game/bond.h" - -struct player_data { - int shots_fired; - int head_hits; - int body_hits; - int leg_hits; - int other_hit_weapon; - int other_hit_hat; - int other_hit_objects; - int kill_count; - int killed_gg_owner_count; - int killed_p1; - int killed_p2; - int killed_p3; - int killed_p4; - int time_other_players_on_screen; - float distance_traveled; - int damage_to_backside; - float body_armor_pickups; - int min_time_between_kills; - int max_time_between_kills; - int longest_inning; - s32 shortest_inning; - int most_killed_one_life; - int most_killed_one_time; - float handicap; - int flag_counter; - float player_perspective_height; - char order_out_in_yolt; - char have_token_or_goldengun; - char autoaim; - char sight; - int killed_civilians; -}; - -extern struct player_data player1_player_data; -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 *pPlayersPerm; -#endif diff --git a/src/game/unk_09B600.c b/src/game/unk_09B600.c deleted file mode 100644 index 6461979..0000000 --- a/src/game/unk_09B600.c +++ /dev/null @@ -1,101 +0,0 @@ -#include "ultra64.h" - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09B600(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B600 -/* 0D0130 7F09B600 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0D0134 7F09B604 3C0E8F80 */ lui $t6, (0x8F809F47 >> 16) # lui $t6, 0x8f80 # seed for save profile checksum confirmation -/* 0D0138 7F09B608 3C0F3108 */ lui $t7, (0x3108B3C1 >> 16) # lui $t7, 0x3108 -/* 0D013C 7F09B60C AFB50028 */ sw $s5, 0x28($sp) -/* 0D0140 7F09B610 AFB40024 */ sw $s4, 0x24($sp) -/* 0D0144 7F09B614 AFB30020 */ sw $s3, 0x20($sp) -/* 0D0148 7F09B618 AFB10018 */ sw $s1, 0x18($sp) -/* 0D014C 7F09B61C AFB00014 */ sw $s0, 0x14($sp) -/* 0D0150 7F09B620 35EFB3C1 */ ori $t7, (0x3108B3C1 & 0xFFFF) # ori $t7, $t7, 0xb3c1 -/* 0D0154 7F09B624 35CE9F47 */ ori $t6, (0x8F809F47 & 0xFFFF) # ori $t6, $t6, 0x9f47 -/* 0D0158 7F09B628 0085082B */ sltu $at, $a0, $a1 # -/* 0D015C 7F09B62C 00A0A825 */ move $s5, $a1 -/* 0D0160 7F09B630 AFBF002C */ sw $ra, 0x2c($sp) -/* 0D0164 7F09B634 AFB2001C */ sw $s2, 0x1c($sp) -/* 0D0168 7F09B638 AFA60060 */ sw $a2, 0x60($sp) -/* 0D016C 7F09B63C 00803825 */ move $a3, $a0 -/* 0D0170 7F09B640 00008825 */ move $s1, $zero -/* 0D0174 7F09B644 AFAE0048 */ sw $t6, 0x48($sp) -/* 0D0178 7F09B648 AFAF004C */ sw $t7, 0x4c($sp) -/* 0D017C 7F09B64C 00009825 */ move $s3, $zero -/* 0D0180 7F09B650 0000A025 */ move $s4, $zero -/* 0D0184 7F09B654 10200016 */ beqz $at, .L7F09B6B0 -/* 0D0188 7F09B658 00808025 */ move $s0, $a0 -/* 0D018C 7F09B65C AFA40058 */ sw $a0, 0x58($sp) -/* 0D0190 7F09B660 27B20048 */ addiu $s2, $sp, 0x48 -.L7F09B664: -/* 0D0194 7F09B664 92180000 */ lbu $t8, ($s0) -/* 0D0198 7F09B668 8FAD004C */ lw $t5, 0x4c($sp) -/* 0D019C 7F09B66C 3239000F */ andi $t9, $s1, 0xf -/* 0D01A0 7F09B670 03384004 */ sllv $t0, $t8, $t9 -/* 0D01A4 7F09B674 8FAC0048 */ lw $t4, 0x48($sp) -/* 0D01A8 7F09B678 010D7821 */ addu $t7, $t0, $t5 -/* 0D01AC 7F09B67C 000857C3 */ sra $t2, $t0, 0x1f -/* 0D01B0 7F09B680 01ED082B */ sltu $at, $t7, $t5 -/* 0D01B4 7F09B684 002A7021 */ addu $t6, $at, $t2 -/* 0D01B8 7F09B688 01CC7021 */ addu $t6, $t6, $t4 -/* 0D01BC 7F09B68C AFAE0048 */ sw $t6, 0x48($sp) -/* 0D01C0 7F09B690 AFAF004C */ sw $t7, 0x4c($sp) -/* 0D01C4 7F09B694 0C00292B */ jal lotsa_shifting_randomizer_related -/* 0D01C8 7F09B698 02402025 */ move $a0, $s2 -/* 0D01CC 7F09B69C 26100001 */ addiu $s0, $s0, 1 -/* 0D01D0 7F09B6A0 26310007 */ addiu $s1, $s1, 7 -/* 0D01D4 7F09B6A4 1615FFEF */ bne $s0, $s5, .L7F09B664 -/* 0D01D8 7F09B6A8 02629826 */ xor $s3, $s3, $v0 -/* 0D01DC 7F09B6AC 8FA70058 */ lw $a3, 0x58($sp) -.L7F09B6B0: -/* 0D01E0 7F09B6B0 26B0FFFF */ addiu $s0, $s5, -1 -/* 0D01E4 7F09B6B4 0207082B */ sltu $at, $s0, $a3 -/* 0D01E8 7F09B6B8 14200014 */ bnez $at, .L7F09B70C -/* 0D01EC 7F09B6BC 27B20048 */ addiu $s2, $sp, 0x48 -/* 0D01F0 7F09B6C0 24F5FFFF */ addiu $s5, $a3, -1 -.L7F09B6C4: -/* 0D01F4 7F09B6C4 92090000 */ lbu $t1, ($s0) -/* 0D01F8 7F09B6C8 8FAB004C */ lw $t3, 0x4c($sp) -/* 0D01FC 7F09B6CC 3238000F */ andi $t8, $s1, 0xf -/* 0D0200 7F09B6D0 0309C804 */ sllv $t9, $t1, $t8 -/* 0D0204 7F09B6D4 8FAA0048 */ lw $t2, 0x48($sp) -/* 0D0208 7F09B6D8 032B6821 */ addu $t5, $t9, $t3 -/* 0D020C 7F09B6DC 001947C3 */ sra $t0, $t9, 0x1f -/* 0D0210 7F09B6E0 01AB082B */ sltu $at, $t5, $t3 -/* 0D0214 7F09B6E4 00286021 */ addu $t4, $at, $t0 -/* 0D0218 7F09B6E8 018A6021 */ addu $t4, $t4, $t2 -/* 0D021C 7F09B6EC AFAC0048 */ sw $t4, 0x48($sp) -/* 0D0220 7F09B6F0 AFAD004C */ sw $t5, 0x4c($sp) -/* 0D0224 7F09B6F4 0C00292B */ jal lotsa_shifting_randomizer_related -/* 0D0228 7F09B6F8 02402025 */ move $a0, $s2 -/* 0D022C 7F09B6FC 2610FFFF */ addiu $s0, $s0, -1 -/* 0D0230 7F09B700 26310003 */ addiu $s1, $s1, 3 -/* 0D0234 7F09B704 1615FFEF */ bne $s0, $s5, .L7F09B6C4 -/* 0D0238 7F09B708 0282A026 */ xor $s4, $s4, $v0 -.L7F09B70C: -/* 0D023C 7F09B70C 8FAE0060 */ lw $t6, 0x60($sp) -/* 0D0240 7F09B710 ADD30000 */ sw $s3, ($t6) -/* 0D0244 7F09B714 ADD40004 */ sw $s4, 4($t6) -/* 0D0248 7F09B718 8FBF002C */ lw $ra, 0x2c($sp) -/* 0D024C 7F09B71C 8FB50028 */ lw $s5, 0x28($sp) -/* 0D0250 7F09B720 8FB40024 */ lw $s4, 0x24($sp) -/* 0D0254 7F09B724 8FB30020 */ lw $s3, 0x20($sp) -/* 0D0258 7F09B728 8FB2001C */ lw $s2, 0x1c($sp) -/* 0D025C 7F09B72C 8FB10018 */ lw $s1, 0x18($sp) -/* 0D0260 7F09B730 8FB00014 */ lw $s0, 0x14($sp) -/* 0D0264 7F09B734 03E00008 */ jr $ra -/* 0D0268 7F09B738 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - diff --git a/src/game/unk_09B740.c b/src/game/unk_09B740.c deleted file mode 100644 index f661619..0000000 --- a/src/game/unk_09B740.c +++ /dev/null @@ -1,59 +0,0 @@ -#include "ultra64.h" - - -// data -//D:80040160 -u64 random_val = 0xAB8D9F7781280783; - - - -#ifdef NONMATCHING -void sub_GAME_7F09B740(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B740 -/* 0D0270 7F09B740 3C048004 */ lui $a0, %hi(random_val) -/* 0D0274 7F09B744 DC840160 */ ld $a0, %lo(random_val)($a0) -/* 0D0278 7F09B748 3C018004 */ lui $at, %hi(random_val) -/* 0D027C 7F09B74C 000437FC */ dsll32 $a2, $a0, 0x1f -/* 0D0280 7F09B750 00042FF8 */ dsll $a1, $a0, 0x1f -/* 0D0284 7F09B754 000637FA */ dsrl $a2, $a2, 0x1f -/* 0D0288 7F09B758 0005283E */ dsrl32 $a1, $a1, 0 -/* 0D028C 7F09B75C 0004233C */ dsll32 $a0, $a0, 0xc -/* 0D0290 7F09B760 00C53025 */ or $a2, $a2, $a1 -/* 0D0294 7F09B764 0004203E */ dsrl32 $a0, $a0, 0 -/* 0D0298 7F09B768 00C43026 */ xor $a2, $a2, $a0 -/* 0D029C 7F09B76C 0006253A */ dsrl $a0, $a2, 0x14 -/* 0D02A0 7F09B770 30840FFF */ andi $a0, $a0, 0xfff -/* 0D02A4 7F09B774 00862026 */ xor $a0, $a0, $a2 -/* 0D02A8 7F09B778 0004103C */ dsll32 $v0, $a0, 0 -/* 0D02AC 7F09B77C FC240160 */ sd $a0, %lo(random_val)($at) -/* 0D02B0 7F09B780 03E00008 */ jr $ra -/* 0D02B4 7F09B784 0002103F */ dsra32 $v0, $v0, 0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09B788(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B788 -/* 0D02B8 7F09B788 64840001 */ daddiu $a0, $a0, 1 -/* 0D02BC 7F09B78C 3C018004 */ lui $at, %hi(random_val) -/* 0D02C0 7F09B790 FC240160 */ sd $a0, %lo(random_val)($at) -/* 0D02C4 7F09B794 03E00008 */ jr $ra -/* 0D02C8 7F09B798 24040000 */ li $a0, 0 -) -#endif - - diff --git a/src/game/unk_09B7A0.c b/src/game/unk_09B7A0.c deleted file mode 100644 index d322af8..0000000 --- a/src/game/unk_09B7A0.c +++ /dev/null @@ -1,871 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:8007A0D0 -s32 dword_CODE_bss_8007A0D0; -//CODE.bss:8007A0D4 -s32 dword_CODE_bss_8007A0D4; -//CODE.bss:8007A0D8 -s32 dword_CODE_bss_8007A0D8; -//CODE.bss:8007A0DC -s32 dword_CODE_bss_8007A0DC; -//CODE.bss:8007A0E0 -s32 dword_CODE_bss_8007A0E0; -//CODE.bss:8007A0E4 -s32 dword_CODE_bss_8007A0E4; -//CODE.bss:8007A0E8 -s32 dword_CODE_bss_8007A0E8; -//CODE.bss:8007A0EC -s32 dword_CODE_bss_8007A0EC; -//CODE.bss:8007A0F0 -s16 word_CODE_bss_8007A0F0; -//CODE.bss:8007A0F2 -s16 word_CODE_bss_8007A0F2; - - - -void null_init_main_1(void) { - return; -} - - - - -#ifdef NONMATCHING -void sub_GAME_7F09B7A8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B7A8 -/* 0D02D8 7F09B7A8 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0D4) -/* 0D02DC 7F09B7AC 8C63A0D4 */ lw $v1, %lo(dword_CODE_bss_8007A0D4)($v1) -/* 0D02E0 7F09B7B0 00001025 */ move $v0, $zero -/* 0D02E4 7F09B7B4 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A0E8) -/* 0D02E8 7F09B7B8 18600008 */ blez $v1, .L7F09B7DC -/* 0D02EC 7F09B7BC 00032880 */ sll $a1, $v1, 2 -/* 0D02F0 7F09B7C0 00A32821 */ addu $a1, $a1, $v1 -/* 0D02F4 7F09B7C4 00052880 */ sll $a1, $a1, 2 -/* 0D02F8 7F09B7C8 8C84A0E8 */ lw $a0, %lo(dword_CODE_bss_8007A0E8)($a0) -.L7F09B7CC: -/* 0D02FC 7F09B7CC 24420014 */ addiu $v0, $v0, 0x14 -/* 0D0300 7F09B7D0 0045082A */ slt $at, $v0, $a1 -/* 0D0304 7F09B7D4 1420FFFD */ bnez $at, .L7F09B7CC -/* 0D0308 7F09B7D8 24840014 */ addiu $a0, $a0, 0x14 -.L7F09B7DC: -/* 0D030C 7F09B7DC 03E00008 */ jr $ra -/* 0D0310 7F09B7E0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09B7E4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B7E4 -/* 0D0314 7F09B7E4 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0DC) -/* 0D0318 7F09B7E8 8C63A0DC */ lw $v1, %lo(dword_CODE_bss_8007A0DC)($v1) -/* 0D031C 7F09B7EC 00001025 */ move $v0, $zero -/* 0D0320 7F09B7F0 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A0EC) -/* 0D0324 7F09B7F4 18600008 */ blez $v1, .L7F09B818 -/* 0D0328 7F09B7F8 00032880 */ sll $a1, $v1, 2 -/* 0D032C 7F09B7FC 00A32821 */ addu $a1, $a1, $v1 -/* 0D0330 7F09B800 00052880 */ sll $a1, $a1, 2 -/* 0D0334 7F09B804 8C84A0EC */ lw $a0, %lo(dword_CODE_bss_8007A0EC)($a0) -.L7F09B808: -/* 0D0338 7F09B808 24420014 */ addiu $v0, $v0, 0x14 -/* 0D033C 7F09B80C 0045082A */ slt $at, $v0, $a1 -/* 0D0340 7F09B810 1420FFFD */ bnez $at, .L7F09B808 -/* 0D0344 7F09B814 24840014 */ addiu $a0, $a0, 0x14 -.L7F09B818: -/* 0D0348 7F09B818 03E00008 */ jr $ra -/* 0D034C 7F09B81C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09B820(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09B820 -/* 0D0350 7F09B820 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D0354 7F09B824 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D0358 7F09B828 0FC26919 */ jal get_num_players -/* 0D035C 7F09B82C 00000000 */ nop -/* 0D0360 7F09B830 28410002 */ slti $at, $v0, 2 -/* 0D0364 7F09B834 1420000F */ bnez $at, .L7F09B874 -/* 0D0368 7F09B838 240201F4 */ li $v0, 500 -/* 0D036C 7F09B83C 240E0BB8 */ li $t6, 3000 -/* 0D0370 7F09B840 3C018008 */ lui $at, %hi(dword_CODE_bss_8007A0D0) -/* 0D0374 7F09B844 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007A0D4) -/* 0D0378 7F09B848 AC2EA0D0 */ sw $t6, %lo(dword_CODE_bss_8007A0D0)($at) -/* 0D037C 7F09B84C 2508A0D4 */ addiu $t0, %lo(dword_CODE_bss_8007A0D4) # addiu $t0, $t0, -0x5f2c -/* 0D0380 7F09B850 240F0050 */ li $t7, 80 -/* 0D0384 7F09B854 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007A0DC) -/* 0D0388 7F09B858 AD0F0000 */ sw $t7, ($t0) -/* 0D038C 7F09B85C 3C018008 */ lui $at, %hi(dword_CODE_bss_8007A0D8) -/* 0D0390 7F09B860 2529A0DC */ addiu $t1, %lo(dword_CODE_bss_8007A0DC) # addiu $t1, $t1, -0x5f24 -/* 0D0394 7F09B864 24030014 */ li $v1, 20 -/* 0D0398 7F09B868 AC22A0D8 */ sw $v0, %lo(dword_CODE_bss_8007A0D8)($at) -/* 0D039C 7F09B86C 10000022 */ b .L7F09B8F8 -/* 0D03A0 7F09B870 AD230000 */ sw $v1, ($t1) -.L7F09B874: -/* 0D03A4 7F09B874 0FC2F7C1 */ jal sub_GAME_7F0BDF04 -/* 0D03A8 7F09B878 00000000 */ nop -/* 0D03AC 7F09B87C 2401001E */ li $at, 30 -/* 0D03B0 7F09B880 10410011 */ beq $v0, $at, .L7F09B8C8 -/* 0D03B4 7F09B884 2401001D */ li $at, 29 -/* 0D03B8 7F09B888 1041000F */ beq $v0, $at, .L7F09B8C8 -/* 0D03BC 7F09B88C 24030014 */ li $v1, 20 -/* 0D03C0 7F09B890 240201F4 */ li $v0, 500 -/* 0D03C4 7F09B894 3C018008 */ lui $at, %hi(dword_CODE_bss_8007A0D0) -/* 0D03C8 7F09B898 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007A0D4) -/* 0D03CC 7F09B89C AC22A0D0 */ sw $v0, %lo(dword_CODE_bss_8007A0D0)($at) -/* 0D03D0 7F09B8A0 2508A0D4 */ addiu $t0, %lo(dword_CODE_bss_8007A0D4) # addiu $t0, $t0, -0x5f2c -/* 0D03D4 7F09B8A4 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007A0DC) -/* 0D03D8 7F09B8A8 AD030000 */ sw $v1, ($t0) -/* 0D03DC 7F09B8AC 3C018008 */ lui $at, %hi(dword_CODE_bss_8007A0D8) -/* 0D03E0 7F09B8B0 241805DC */ li $t8, 1500 -/* 0D03E4 7F09B8B4 2529A0DC */ addiu $t1, %lo(dword_CODE_bss_8007A0DC) # addiu $t1, $t1, -0x5f24 -/* 0D03E8 7F09B8B8 AC38A0D8 */ sw $t8, %lo(dword_CODE_bss_8007A0D8)($at) -/* 0D03EC 7F09B8BC 24190028 */ li $t9, 40 -/* 0D03F0 7F09B8C0 1000000D */ b .L7F09B8F8 -/* 0D03F4 7F09B8C4 AD390000 */ sw $t9, ($t1) -.L7F09B8C8: -/* 0D03F8 7F09B8C8 240201F4 */ li $v0, 500 -/* 0D03FC 7F09B8CC 3C018008 */ lui $at, %hi(dword_CODE_bss_8007A0D0) -/* 0D0400 7F09B8D0 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007A0D4) -/* 0D0404 7F09B8D4 AC22A0D0 */ sw $v0, %lo(dword_CODE_bss_8007A0D0)($at) -/* 0D0408 7F09B8D8 2508A0D4 */ addiu $t0, %lo(dword_CODE_bss_8007A0D4) # addiu $t0, $t0, -0x5f2c -/* 0D040C 7F09B8DC 24030014 */ li $v1, 20 -/* 0D0410 7F09B8E0 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007A0DC) -/* 0D0414 7F09B8E4 AD030000 */ sw $v1, ($t0) -/* 0D0418 7F09B8E8 3C018008 */ lui $at, %hi(dword_CODE_bss_8007A0D8) -/* 0D041C 7F09B8EC 2529A0DC */ addiu $t1, %lo(dword_CODE_bss_8007A0DC) # addiu $t1, $t1, -0x5f24 -/* 0D0420 7F09B8F0 AC22A0D8 */ sw $v0, %lo(dword_CODE_bss_8007A0D8)($at) -/* 0D0424 7F09B8F4 AD230000 */ sw $v1, ($t1) -.L7F09B8F8: -/* 0D0428 7F09B8F8 8D040000 */ lw $a0, ($t0) -/* 0D042C 7F09B8FC 24050004 */ li $a1, 4 -/* 0D0430 7F09B900 00045880 */ sll $t3, $a0, 2 -/* 0D0434 7F09B904 01645821 */ addu $t3, $t3, $a0 -/* 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 -/* 0D0448 7F09B918 ACC20000 */ sw $v0, ($a2) -/* 0D044C 7F09B91C 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A0D0) -/* 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 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) -/* 0D046C 7F09B93C AC22A0E0 */ sw $v0, %lo(dword_CODE_bss_8007A0E0)($at) -/* 0D0470 7F09B940 2529A0DC */ addiu $t1, %lo(dword_CODE_bss_8007A0DC) # addiu $t1, $t1, -0x5f24 -/* 0D0474 7F09B944 8D240000 */ lw $a0, ($t1) -/* 0D0478 7F09B948 24050004 */ li $a1, 4 -/* 0D047C 7F09B94C 00046880 */ sll $t5, $a0, 2 -/* 0D0480 7F09B950 01A46821 */ addu $t5, $t5, $a0 -/* 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 -/* 0D0494 7F09B964 ACE20000 */ sw $v0, ($a3) -/* 0D0498 7F09B968 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A0D8) -/* 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 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 -/* 0D04B8 7F09B988 8D4F0000 */ lw $t7, ($t2) -/* 0D04BC 7F09B98C 3C058008 */ lui $a1, %hi(dword_CODE_bss_8007A0E4) -/* 0D04C0 7F09B990 24A5A0E4 */ addiu $a1, %lo(dword_CODE_bss_8007A0E4) # addiu $a1, $a1, -0x5f1c -/* 0D04C4 7F09B994 ACA20000 */ sw $v0, ($a1) -/* 0D04C8 7F09B998 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007A0E8) -/* 0D04CC 7F09B99C 3C018008 */ lui $at, %hi(word_CODE_bss_8007A0F0) -/* 0D04D0 7F09B9A0 24C6A0E8 */ addiu $a2, %lo(dword_CODE_bss_8007A0E8) # addiu $a2, $a2, -0x5f18 -/* 0D04D4 7F09B9A4 3C188008 */ lui $t8, %hi(dword_CODE_bss_8007A0E0) -/* 0D04D8 7F09B9A8 A42FA0F0 */ sh $t7, %lo(word_CODE_bss_8007A0F0)($at) -/* 0D04DC 7F09B9AC 8CD90000 */ lw $t9, ($a2) -/* 0D04E0 7F09B9B0 8F18A0E0 */ lw $t8, %lo(dword_CODE_bss_8007A0E0)($t8) -/* 0D04E4 7F09B9B4 2404FFFF */ li $a0, -1 -/* 0D04E8 7F09B9B8 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007A0D4) -/* 0D04EC 7F09B9BC AF380000 */ sw $t8, ($t9) -/* 0D04F0 7F09B9C0 8CCC0000 */ lw $t4, ($a2) -/* 0D04F4 7F09B9C4 8D4B0000 */ lw $t3, ($t2) -/* 0D04F8 7F09B9C8 2508A0D4 */ addiu $t0, %lo(dword_CODE_bss_8007A0D4) # addiu $t0, $t0, -0x5f2c -/* 0D04FC 7F09B9CC 3C078008 */ lui $a3, %hi(dword_CODE_bss_8007A0EC) -/* 0D0500 7F09B9D0 A58B000C */ sh $t3, 0xc($t4) -/* 0D0504 7F09B9D4 8CCD0000 */ lw $t5, ($a2) -/* 0D0508 7F09B9D8 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007A0DC) -/* 0D050C 7F09B9DC 2529A0DC */ addiu $t1, %lo(dword_CODE_bss_8007A0DC) # addiu $t1, $t1, -0x5f24 -/* 0D0510 7F09B9E0 A5A0000E */ sh $zero, 0xe($t5) -/* 0D0514 7F09B9E4 8CCE0000 */ lw $t6, ($a2) -/* 0D0518 7F09B9E8 24E7A0EC */ addiu $a3, %lo(dword_CODE_bss_8007A0EC) # addiu $a3, $a3, -0x5f14 -/* 0D051C 7F09B9EC 24020014 */ li $v0, 20 -/* 0D0520 7F09B9F0 A5C40010 */ sh $a0, 0x10($t6) -/* 0D0524 7F09B9F4 8CCF0000 */ lw $t7, ($a2) -/* 0D0528 7F09B9F8 24030001 */ li $v1, 1 -/* 0D052C 7F09B9FC 3C0D8008 */ lui $t5, %hi(dword_CODE_bss_8007A0D8) -/* 0D0530 7F09BA00 A5E40012 */ sh $a0, 0x12($t7) -/* 0D0534 7F09BA04 8D180000 */ lw $t8, ($t0) -/* 0D0538 7F09BA08 2B010002 */ slti $at, $t8, 2 -/* 0D053C 7F09BA0C 1420000B */ bnez $at, .L7F09BA3C -/* 0D0540 7F09BA10 00000000 */ nop -/* 0D0544 7F09BA14 8CD90000 */ lw $t9, ($a2) -.L7F09BA18: -/* 0D0548 7F09BA18 24630001 */ addiu $v1, $v1, 1 -/* 0D054C 7F09BA1C 03225821 */ addu $t3, $t9, $v0 -/* 0D0550 7F09BA20 A564000E */ sh $a0, 0xe($t3) -/* 0D0554 7F09BA24 8D0C0000 */ lw $t4, ($t0) -/* 0D0558 7F09BA28 24420014 */ addiu $v0, $v0, 0x14 -/* 0D055C 7F09BA2C 006C082A */ slt $at, $v1, $t4 -/* 0D0560 7F09BA30 5420FFF9 */ bnezl $at, .L7F09BA18 -/* 0D0564 7F09BA34 8CD90000 */ lw $t9, ($a2) -/* 0D0568 7F09BA38 24030001 */ li $v1, 1 -.L7F09BA3C: -/* 0D056C 7F09BA3C 8DADA0D8 */ lw $t5, %lo(dword_CODE_bss_8007A0D8)($t5) -/* 0D0570 7F09BA40 3C018008 */ lui $at, %hi(word_CODE_bss_8007A0F2) -/* 0D0574 7F09BA44 3C188008 */ lui $t8, %hi(dword_CODE_bss_8007A0D8) -/* 0D0578 7F09BA48 A42DA0F2 */ sh $t5, %lo(word_CODE_bss_8007A0F2)($at) -/* 0D057C 7F09BA4C 8CEF0000 */ lw $t7, ($a3) -/* 0D0580 7F09BA50 8CAE0000 */ lw $t6, ($a1) -/* 0D0584 7F09BA54 24020014 */ li $v0, 20 -/* 0D0588 7F09BA58 ADEE0000 */ sw $t6, ($t7) -/* 0D058C 7F09BA5C 8CF90000 */ lw $t9, ($a3) -/* 0D0590 7F09BA60 8F18A0D8 */ lw $t8, %lo(dword_CODE_bss_8007A0D8)($t8) -/* 0D0594 7F09BA64 A738000C */ sh $t8, 0xc($t9) -/* 0D0598 7F09BA68 8CEB0000 */ lw $t3, ($a3) -/* 0D059C 7F09BA6C A560000E */ sh $zero, 0xe($t3) -/* 0D05A0 7F09BA70 8CEC0000 */ lw $t4, ($a3) -/* 0D05A4 7F09BA74 A5840010 */ sh $a0, 0x10($t4) -/* 0D05A8 7F09BA78 8CED0000 */ lw $t5, ($a3) -/* 0D05AC 7F09BA7C A5A40012 */ sh $a0, 0x12($t5) -/* 0D05B0 7F09BA80 8D2E0000 */ lw $t6, ($t1) -/* 0D05B4 7F09BA84 29C10002 */ slti $at, $t6, 2 -/* 0D05B8 7F09BA88 5420000B */ bnezl $at, .L7F09BAB8 -/* 0D05BC 7F09BA8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D05C0 7F09BA90 8CEF0000 */ lw $t7, ($a3) -.L7F09BA94: -/* 0D05C4 7F09BA94 24630001 */ addiu $v1, $v1, 1 -/* 0D05C8 7F09BA98 01E2C021 */ addu $t8, $t7, $v0 -/* 0D05CC 7F09BA9C A704000E */ sh $a0, 0xe($t8) -/* 0D05D0 7F09BAA0 8D390000 */ lw $t9, ($t1) -/* 0D05D4 7F09BAA4 24420014 */ addiu $v0, $v0, 0x14 -/* 0D05D8 7F09BAA8 0079082A */ slt $at, $v1, $t9 -/* 0D05DC 7F09BAAC 5420FFF9 */ bnezl $at, .L7F09BA94 -/* 0D05E0 7F09BAB0 8CEF0000 */ lw $t7, ($a3) -/* 0D05E4 7F09BAB4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F09BAB8: -/* 0D05E8 7F09BAB8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D05EC 7F09BABC 03E00008 */ jr $ra -/* 0D05F0 7F09BAC0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09BAC4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09BAC4 -/* 0D05F4 7F09BAC4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0D05F8 7F09BAC8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0D05FC 7F09BACC AFB40028 */ sw $s4, 0x28($sp) -/* 0D0600 7F09BAD0 AFB30024 */ sw $s3, 0x24($sp) -/* 0D0604 7F09BAD4 00809825 */ move $s3, $a0 -/* 0D0608 7F09BAD8 00A0A025 */ move $s4, $a1 -/* 0D060C 7F09BADC AFB20020 */ sw $s2, 0x20($sp) -/* 0D0610 7F09BAE0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0D0614 7F09BAE4 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 0D0618 7F09BAE8 AFB00018 */ sw $s0, 0x18($sp) -/* 0D061C 7F09BAEC 1040002B */ beqz $v0, .L7F09BB9C -/* 0D0620 7F09BAF0 00408825 */ move $s1, $v0 -/* 0D0624 7F09BAF4 24120001 */ li $s2, 1 -/* 0D0628 7F09BAF8 24100018 */ li $s0, 24 -/* 0D062C 7F09BAFC 922E0000 */ lbu $t6, ($s1) -.L7F09BB00: -/* 0D0630 7F09BB00 564E0024 */ bnel $s2, $t6, .L7F09BB94 -/* 0D0634 7F09BB04 8E310024 */ lw $s1, 0x24($s1) -/* 0D0638 7F09BB08 8E220004 */ lw $v0, 4($s1) -/* 0D063C 7F09BB0C 8C440014 */ lw $a0, 0x14($v0) -/* 0D0640 7F09BB10 8C830008 */ lw $v1, 8($a0) -/* 0D0644 7F09BB14 8C650000 */ lw $a1, ($v1) -/* 0D0648 7F09BB18 50A0001E */ beql $a1, $zero, .L7F09BB94 -/* 0D064C 7F09BB1C 8E310024 */ lw $s1, 0x24($s1) -/* 0D0650 7F09BB20 94A20000 */ lhu $v0, ($a1) -.L7F09BB24: -/* 0D0654 7F09BB24 304F00FF */ andi $t7, $v0, 0xff -/* 0D0658 7F09BB28 55F00009 */ bnel $t7, $s0, .L7F09BB50 -/* 0D065C 7F09BB2C 8CA20014 */ lw $v0, 0x14($a1) -/* 0D0660 7F09BB30 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0D0664 7F09BB34 00000000 */ nop -/* 0D0668 7F09BB38 8C580000 */ lw $t8, ($v0) -/* 0D066C 7F09BB3C 56780015 */ bnel $s3, $t8, .L7F09BB94 -/* 0D0670 7F09BB40 8E310024 */ lw $s1, 0x24($s1) -/* 0D0674 7F09BB44 10000012 */ b .L7F09BB90 -/* 0D0678 7F09BB48 AC540000 */ sw $s4, ($v0) -/* 0D067C 7F09BB4C 8CA20014 */ lw $v0, 0x14($a1) -.L7F09BB50: -/* 0D0680 7F09BB50 10400003 */ beqz $v0, .L7F09BB60 -/* 0D0684 7F09BB54 00000000 */ nop -/* 0D0688 7F09BB58 1000000B */ b .L7F09BB88 -/* 0D068C 7F09BB5C 00402825 */ move $a1, $v0 -.L7F09BB60: -/* 0D0690 7F09BB60 10A00009 */ beqz $a1, .L7F09BB88 -/* 0D0694 7F09BB64 00000000 */ nop -/* 0D0698 7F09BB68 8CA2000C */ lw $v0, 0xc($a1) -.L7F09BB6C: -/* 0D069C 7F09BB6C 50400004 */ beql $v0, $zero, .L7F09BB80 -/* 0D06A0 7F09BB70 8CA50008 */ lw $a1, 8($a1) -/* 0D06A4 7F09BB74 10000004 */ b .L7F09BB88 -/* 0D06A8 7F09BB78 00402825 */ move $a1, $v0 -/* 0D06AC 7F09BB7C 8CA50008 */ lw $a1, 8($a1) -.L7F09BB80: -/* 0D06B0 7F09BB80 54A0FFFA */ bnezl $a1, .L7F09BB6C -/* 0D06B4 7F09BB84 8CA2000C */ lw $v0, 0xc($a1) -.L7F09BB88: -/* 0D06B8 7F09BB88 54A0FFE6 */ bnezl $a1, .L7F09BB24 -/* 0D06BC 7F09BB8C 94A20000 */ lhu $v0, ($a1) -.L7F09BB90: -/* 0D06C0 7F09BB90 8E310024 */ lw $s1, 0x24($s1) -.L7F09BB94: -/* 0D06C4 7F09BB94 5620FFDA */ bnezl $s1, .L7F09BB00 -/* 0D06C8 7F09BB98 922E0000 */ lbu $t6, ($s1) -.L7F09BB9C: -/* 0D06CC 7F09BB9C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0D06D0 7F09BBA0 8FB00018 */ lw $s0, 0x18($sp) -/* 0D06D4 7F09BBA4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0D06D8 7F09BBA8 8FB20020 */ lw $s2, 0x20($sp) -/* 0D06DC 7F09BBAC 8FB30024 */ lw $s3, 0x24($sp) -/* 0D06E0 7F09BBB0 8FB40028 */ lw $s4, 0x28($sp) -/* 0D06E4 7F09BBB4 03E00008 */ jr $ra -/* 0D06E8 7F09BBB8 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09BBBC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09BBBC -/* 0D06EC 7F09BBBC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0D06F0 7F09BBC0 AFB5002C */ sw $s5, 0x2c($sp) -/* 0D06F4 7F09BBC4 3C158008 */ lui $s5, %hi(word_CODE_bss_8007A0F2) -/* 0D06F8 7F09BBC8 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_8007A0D8) -/* 0D06FC 7F09BBCC 8DEFA0D8 */ lw $t7, %lo(dword_CODE_bss_8007A0D8)($t7) -/* 0D0700 7F09BBD0 26B5A0F2 */ addiu $s5, %lo(word_CODE_bss_8007A0F2) # addiu $s5, $s5, -0x5f0e -/* 0D0704 7F09BBD4 86AE0000 */ lh $t6, ($s5) -/* 0D0708 7F09BBD8 000FC083 */ sra $t8, $t7, 2 -/* 0D070C 7F09BBDC AFB60030 */ sw $s6, 0x30($sp) -/* 0D0710 7F09BBE0 01D8082A */ slt $at, $t6, $t8 -/* 0D0714 7F09BBE4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0D0718 7F09BBE8 AFBE0038 */ sw $fp, 0x38($sp) -/* 0D071C 7F09BBEC AFB70034 */ sw $s7, 0x34($sp) -/* 0D0720 7F09BBF0 AFB40028 */ sw $s4, 0x28($sp) -/* 0D0724 7F09BBF4 AFB30024 */ sw $s3, 0x24($sp) -/* 0D0728 7F09BBF8 AFB20020 */ sw $s2, 0x20($sp) -/* 0D072C 7F09BBFC AFB1001C */ sw $s1, 0x1c($sp) -/* 0D0730 7F09BC00 AFB00018 */ sw $s0, 0x18($sp) -/* 0D0734 7F09BC04 1020004B */ beqz $at, .L7F09BD34 -/* 0D0738 7F09BC08 0000B025 */ move $s6, $zero -/* 0D073C 7F09BC0C 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A0DC) -/* 0D0740 7F09BC10 8C84A0DC */ lw $a0, %lo(dword_CODE_bss_8007A0DC)($a0) -/* 0D0744 7F09BC14 0000F025 */ move $fp, $zero -/* 0D0748 7F09BC18 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0EC) -/* 0D074C 7F09BC1C 2485FFFF */ addiu $a1, $a0, -1 -/* 0D0750 7F09BC20 18A00044 */ blez $a1, .L7F09BD34 -/* 0D0754 7F09BC24 24170014 */ li $s7, 20 -/* 0D0758 7F09BC28 3C148008 */ lui $s4, %hi(dword_CODE_bss_8007A0EC) -/* 0D075C 7F09BC2C 2694A0EC */ addiu $s4, %lo(dword_CODE_bss_8007A0EC) # addiu $s4, $s4, -0x5f14 -/* 0D0760 7F09BC30 8C63A0EC */ lw $v1, %lo(dword_CODE_bss_8007A0EC)($v1) -.L7F09BC34: -/* 0D0764 7F09BC34 03D70019 */ multu $fp, $s7 -/* 0D0768 7F09BC38 27C20001 */ addiu $v0, $fp, 1 -/* 0D076C 7F09BC3C 00025400 */ sll $t2, $v0, 0x10 -/* 0D0770 7F09BC40 000A5C03 */ sra $t3, $t2, 0x10 -/* 0D0774 7F09BC44 00029400 */ sll $s2, $v0, 0x10 -/* 0D0778 7F09BC48 00124C03 */ sra $t1, $s2, 0x10 -/* 0D077C 7F09BC4C 0164082A */ slt $at, $t3, $a0 -/* 0D0780 7F09BC50 00009812 */ mflo $s3 -/* 0D0784 7F09BC54 0073C821 */ addu $t9, $v1, $s3 -/* 0D0788 7F09BC58 8728000E */ lh $t0, 0xe($t9) -/* 0D078C 7F09BC5C 59000030 */ blezl $t0, .L7F09BD20 -/* 0D0790 7F09BC60 27DE0001 */ addiu $fp, $fp, 1 -/* 0D0794 7F09BC64 1020002D */ beqz $at, .L7F09BD1C -/* 0D0798 7F09BC68 01209025 */ move $s2, $t1 -.L7F09BC6C: -/* 0D079C 7F09BC6C 02570019 */ multu $s2, $s7 -/* 0D07A0 7F09BC70 00738021 */ addu $s0, $v1, $s3 -/* 0D07A4 7F09BC74 00008812 */ mflo $s1 -/* 0D07A8 7F09BC78 00711021 */ addu $v0, $v1, $s1 -/* 0D07AC 7F09BC7C 844C000E */ lh $t4, 0xe($v0) -/* 0D07B0 7F09BC80 59800020 */ blezl $t4, .L7F09BD04 -/* 0D07B4 7F09BC84 26520001 */ addiu $s2, $s2, 1 -/* 0D07B8 7F09BC88 8E0D0004 */ lw $t5, 4($s0) -/* 0D07BC 7F09BC8C 8C4F0004 */ lw $t7, 4($v0) -/* 0D07C0 7F09BC90 55AF001C */ bnel $t5, $t7, .L7F09BD04 -/* 0D07C4 7F09BC94 26520001 */ addiu $s2, $s2, 1 -/* 0D07C8 7F09BC98 8E0E0008 */ lw $t6, 8($s0) -/* 0D07CC 7F09BC9C 8C580008 */ lw $t8, 8($v0) -/* 0D07D0 7F09BCA0 55D80018 */ bnel $t6, $t8, .L7F09BD04 -/* 0D07D4 7F09BCA4 26520001 */ addiu $s2, $s2, 1 -/* 0D07D8 7F09BCA8 8C440000 */ lw $a0, ($v0) -/* 0D07DC 7F09BCAC 8E050000 */ lw $a1, ($s0) -/* 0D07E0 7F09BCB0 0FC26EB1 */ jal sub_GAME_7F09BAC4 -/* 0D07E4 7F09BCB4 24160001 */ li $s6, 1 -/* 0D07E8 7F09BCB8 8E830000 */ lw $v1, ($s4) -/* 0D07EC 7F09BCBC 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A0DC) -/* 0D07F0 7F09BCC0 00738021 */ addu $s0, $v1, $s3 -/* 0D07F4 7F09BCC4 00714021 */ addu $t0, $v1, $s1 -/* 0D07F8 7F09BCC8 8509000E */ lh $t1, 0xe($t0) -/* 0D07FC 7F09BCCC 8619000E */ lh $t9, 0xe($s0) -/* 0D0800 7F09BCD0 03295021 */ addu $t2, $t9, $t1 -/* 0D0804 7F09BCD4 A60A000E */ sh $t2, 0xe($s0) -/* 0D0808 7F09BCD8 8E8B0000 */ lw $t3, ($s4) -/* 0D080C 7F09BCDC 01716021 */ addu $t4, $t3, $s1 -/* 0D0810 7F09BCE0 A580000E */ sh $zero, 0xe($t4) -/* 0D0814 7F09BCE4 8E830000 */ lw $v1, ($s4) -/* 0D0818 7F09BCE8 86AD0000 */ lh $t5, ($s5) -/* 0D081C 7F09BCEC 00717821 */ addu $t7, $v1, $s1 -/* 0D0820 7F09BCF0 85EE000C */ lh $t6, 0xc($t7) -/* 0D0824 7F09BCF4 01AEC021 */ addu $t8, $t5, $t6 -/* 0D0828 7F09BCF8 A6B80000 */ sh $t8, ($s5) -/* 0D082C 7F09BCFC 8C84A0DC */ lw $a0, %lo(dword_CODE_bss_8007A0DC)($a0) -/* 0D0830 7F09BD00 26520001 */ addiu $s2, $s2, 1 -.L7F09BD04: -/* 0D0834 7F09BD04 00124400 */ sll $t0, $s2, 0x10 -/* 0D0838 7F09BD08 00089403 */ sra $s2, $t0, 0x10 -/* 0D083C 7F09BD0C 0244082A */ slt $at, $s2, $a0 -/* 0D0840 7F09BD10 1420FFD6 */ bnez $at, .L7F09BC6C -/* 0D0844 7F09BD14 00000000 */ nop -/* 0D0848 7F09BD18 2485FFFF */ addiu $a1, $a0, -1 -.L7F09BD1C: -/* 0D084C 7F09BD1C 27DE0001 */ addiu $fp, $fp, 1 -.L7F09BD20: -/* 0D0850 7F09BD20 001E4C00 */ sll $t1, $fp, 0x10 -/* 0D0854 7F09BD24 0009F403 */ sra $fp, $t1, 0x10 -/* 0D0858 7F09BD28 03C5082A */ slt $at, $fp, $a1 -/* 0D085C 7F09BD2C 1420FFC1 */ bnez $at, .L7F09BC34 -/* 0D0860 7F09BD30 00000000 */ nop -.L7F09BD34: -/* 0D0864 7F09BD34 3C148008 */ lui $s4, %hi(dword_CODE_bss_8007A0EC) -/* 0D0868 7F09BD38 2694A0EC */ addiu $s4, %lo(dword_CODE_bss_8007A0EC) # addiu $s4, $s4, -0x5f14 -/* 0D086C 7F09BD3C 12C0002E */ beqz $s6, .L7F09BDF8 -/* 0D0870 7F09BD40 24170014 */ li $s7, 20 -/* 0D0874 7F09BD44 00002025 */ move $a0, $zero -/* 0D0878 7F09BD48 0000F025 */ move $fp, $zero -/* 0D087C 7F09BD4C 2405FFFF */ li $a1, -1 -.L7F09BD50: -/* 0D0880 7F09BD50 03D70019 */ multu $fp, $s7 -/* 0D0884 7F09BD54 8E830000 */ lw $v1, ($s4) -/* 0D0888 7F09BD58 00009812 */ mflo $s3 -/* 0D088C 7F09BD5C 00738021 */ addu $s0, $v1, $s3 -/* 0D0890 7F09BD60 86120010 */ lh $s2, 0x10($s0) -/* 0D0894 7F09BD64 06420022 */ bltzl $s2, .L7F09BDF0 -/* 0D0898 7F09BD68 24040001 */ li $a0, 1 -/* 0D089C 7F09BD6C 860B000E */ lh $t3, 0xe($s0) -/* 0D08A0 7F09BD70 5560001B */ bnezl $t3, .L7F09BDE0 -/* 0D08A4 7F09BD74 0012F400 */ sll $fp, $s2, 0x10 -/* 0D08A8 7F09BD78 02570019 */ multu $s2, $s7 -/* 0D08AC 7F09BD7C 00008812 */ mflo $s1 -/* 0D08B0 7F09BD80 00711021 */ addu $v0, $v1, $s1 -/* 0D08B4 7F09BD84 844C000E */ lh $t4, 0xe($v0) -/* 0D08B8 7F09BD88 55800015 */ bnezl $t4, .L7F09BDE0 -/* 0D08BC 7F09BD8C 0012F400 */ sll $fp, $s2, 0x10 -/* 0D08C0 7F09BD90 860F000C */ lh $t7, 0xc($s0) -/* 0D08C4 7F09BD94 844D000C */ lh $t5, 0xc($v0) -/* 0D08C8 7F09BD98 01ED7021 */ addu $t6, $t7, $t5 -/* 0D08CC 7F09BD9C A60E000C */ sh $t6, 0xc($s0) -/* 0D08D0 7F09BDA0 8E980000 */ lw $t8, ($s4) -/* 0D08D4 7F09BDA4 03114021 */ addu $t0, $t8, $s1 -/* 0D08D8 7F09BDA8 A505000E */ sh $a1, 0xe($t0) -/* 0D08DC 7F09BDAC 8E830000 */ lw $v1, ($s4) -/* 0D08E0 7F09BDB0 0071C821 */ addu $t9, $v1, $s1 -/* 0D08E4 7F09BDB4 87320010 */ lh $s2, 0x10($t9) -/* 0D08E8 7F09BDB8 00734821 */ addu $t1, $v1, $s3 -/* 0D08EC 7F09BDBC 0640000C */ bltz $s2, .L7F09BDF0 -/* 0D08F0 7F09BDC0 A5320010 */ sh $s2, 0x10($t1) -/* 0D08F4 7F09BDC4 02570019 */ multu $s2, $s7 -/* 0D08F8 7F09BDC8 8E8A0000 */ lw $t2, ($s4) -/* 0D08FC 7F09BDCC 00005812 */ mflo $t3 -/* 0D0900 7F09BDD0 014B6021 */ addu $t4, $t2, $t3 -/* 0D0904 7F09BDD4 10000006 */ b .L7F09BDF0 -/* 0D0908 7F09BDD8 A59E0012 */ sh $fp, 0x12($t4) -/* 0D090C 7F09BDDC 0012F400 */ sll $fp, $s2, 0x10 -.L7F09BDE0: -/* 0D0910 7F09BDE0 001E7C03 */ sra $t7, $fp, 0x10 -/* 0D0914 7F09BDE4 10000002 */ b .L7F09BDF0 -/* 0D0918 7F09BDE8 01E0F025 */ move $fp, $t7 -/* 0D091C 7F09BDEC 24040001 */ li $a0, 1 -.L7F09BDF0: -/* 0D0920 7F09BDF0 1080FFD7 */ beqz $a0, .L7F09BD50 -/* 0D0924 7F09BDF4 00000000 */ nop -.L7F09BDF8: -/* 0D0928 7F09BDF8 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_8007A0D8) -/* 0D092C 7F09BDFC 8DCEA0D8 */ lw $t6, %lo(dword_CODE_bss_8007A0D8)($t6) -/* 0D0930 7F09BE00 86AD0000 */ lh $t5, ($s5) -/* 0D0934 7F09BE04 000EC083 */ sra $t8, $t6, 2 -/* 0D0938 7F09BE08 01B8082A */ slt $at, $t5, $t8 -/* 0D093C 7F09BE0C 50200004 */ beql $at, $zero, .L7F09BE20 -/* 0D0940 7F09BE10 8FBF003C */ lw $ra, 0x3c($sp) -/* 0D0944 7F09BE14 0FC159A4 */ jal sub_GAME_7F056690 -/* 0D0948 7F09BE18 00000000 */ nop -/* 0D094C 7F09BE1C 8FBF003C */ lw $ra, 0x3c($sp) -.L7F09BE20: -/* 0D0950 7F09BE20 8FB00018 */ lw $s0, 0x18($sp) -/* 0D0954 7F09BE24 8FB1001C */ lw $s1, 0x1c($sp) -/* 0D0958 7F09BE28 8FB20020 */ lw $s2, 0x20($sp) -/* 0D095C 7F09BE2C 8FB30024 */ lw $s3, 0x24($sp) -/* 0D0960 7F09BE30 8FB40028 */ lw $s4, 0x28($sp) -/* 0D0964 7F09BE34 8FB5002C */ lw $s5, 0x2c($sp) -/* 0D0968 7F09BE38 8FB60030 */ lw $s6, 0x30($sp) -/* 0D096C 7F09BE3C 8FB70034 */ lw $s7, 0x34($sp) -/* 0D0970 7F09BE40 8FBE0038 */ lw $fp, 0x38($sp) -/* 0D0974 7F09BE44 03E00008 */ jr $ra -/* 0D0978 7F09BE48 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09BE4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09BE4C -/* 0D097C 7F09BE4C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0D0980 7F09BE50 AFB00018 */ sw $s0, 0x18($sp) -/* 0D0984 7F09BE54 24010B0B */ li $at, 2827 -/* 0D0988 7F09BE58 00808025 */ move $s0, $a0 -/* 0D098C 7F09BE5C AFBF001C */ sw $ra, 0x1c($sp) -/* 0D0990 7F09BE60 AFA60028 */ sw $a2, 0x28($sp) -/* 0D0994 7F09BE64 10A1000A */ beq $a1, $at, .L7F09BE90 -/* 0D0998 7F09BE68 AFA7002C */ sw $a3, 0x2c($sp) -/* 0D099C 7F09BE6C 3401CCCC */ li $at, 52428 -/* 0D09A0 7F09BE70 14A1000E */ bne $a1, $at, .L7F09BEAC -/* 0D09A4 7F09BE74 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007A0E8) -/* 0D09A8 7F09BE78 3C0B8008 */ lui $t3, %hi(word_CODE_bss_8007A0F0) -/* 0D09AC 7F09BE7C 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007A0D4+2) -/* 0D09B0 7F09BE80 8D08A0E8 */ lw $t0, %lo(dword_CODE_bss_8007A0E8)($t0) -/* 0D09B4 7F09BE84 256BA0F0 */ addiu $t3, %lo(word_CODE_bss_8007A0F0) # addiu $t3, $t3, -0x5f10 -/* 0D09B8 7F09BE88 1000000A */ b .L7F09BEB4 -/* 0D09BC 7F09BE8C 84C6A0D6 */ lh $a2, %lo(dword_CODE_bss_8007A0D4+2)($a2) -.L7F09BE90: -/* 0D09C0 7F09BE90 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007A0EC) -/* 0D09C4 7F09BE94 3C0B8008 */ lui $t3, %hi(word_CODE_bss_8007A0F2) -/* 0D09C8 7F09BE98 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007A0DC+0x2) -/* 0D09CC 7F09BE9C 8D08A0EC */ lw $t0, %lo(dword_CODE_bss_8007A0EC)($t0) -/* 0D09D0 7F09BEA0 256BA0F2 */ addiu $t3, %lo(word_CODE_bss_8007A0F2) # addiu $t3, $t3, -0x5f0e -/* 0D09D4 7F09BEA4 10000003 */ b .L7F09BEB4 -/* 0D09D8 7F09BEA8 84C6A0DE */ lh $a2, %lo(dword_CODE_bss_8007A0DC+0x2)($a2) -.L7F09BEAC: -/* 0D09DC 7F09BEAC 10000060 */ b .L7F09C030 -/* 0D09E0 7F09BEB0 00001025 */ move $v0, $zero -.L7F09BEB4: -/* 0D09E4 7F09BEB4 00001825 */ move $v1, $zero -/* 0D09E8 7F09BEB8 00001025 */ move $v0, $zero -/* 0D09EC 7F09BEBC 00002825 */ move $a1, $zero -/* 0D09F0 7F09BEC0 24090014 */ li $t1, 20 -/* 0D09F4 7F09BEC4 2407FFFF */ li $a3, -1 -.L7F09BEC8: -/* 0D09F8 7F09BEC8 00A90019 */ multu $a1, $t1 -/* 0D09FC 7F09BECC 00007012 */ mflo $t6 -/* 0D0A00 7F09BED0 010E2021 */ addu $a0, $t0, $t6 -/* 0D0A04 7F09BED4 848F000E */ lh $t7, 0xe($a0) -/* 0D0A08 7F09BED8 55E00008 */ bnezl $t7, .L7F09BEFC -/* 0D0A0C 7F09BEDC 84850010 */ lh $a1, 0x10($a0) -/* 0D0A10 7F09BEE0 8498000C */ lh $t8, 0xc($a0) -/* 0D0A14 7F09BEE4 0310082A */ slt $at, $t8, $s0 -/* 0D0A18 7F09BEE8 54200004 */ bnezl $at, .L7F09BEFC -/* 0D0A1C 7F09BEEC 84850010 */ lh $a1, 0x10($a0) -/* 0D0A20 7F09BEF0 1000000B */ b .L7F09BF20 -/* 0D0A24 7F09BEF4 24030001 */ li $v1, 1 -/* 0D0A28 7F09BEF8 84850010 */ lh $a1, 0x10($a0) -.L7F09BEFC: -/* 0D0A2C 7F09BEFC 24420001 */ addiu $v0, $v0, 1 -/* 0D0A30 7F09BF00 00C2082A */ slt $at, $a2, $v0 -/* 0D0A34 7F09BF04 50A70004 */ beql $a1, $a3, .L7F09BF18 -/* 0D0A38 7F09BF08 00071C00 */ sll $v1, $a3, 0x10 -/* 0D0A3C 7F09BF0C 10200004 */ beqz $at, .L7F09BF20 -/* 0D0A40 7F09BF10 00000000 */ nop -/* 0D0A44 7F09BF14 00071C00 */ sll $v1, $a3, 0x10 -.L7F09BF18: -/* 0D0A48 7F09BF18 0003CC03 */ sra $t9, $v1, 0x10 -/* 0D0A4C 7F09BF1C 03201825 */ move $v1, $t9 -.L7F09BF20: -/* 0D0A50 7F09BF20 1060FFE9 */ beqz $v1, .L7F09BEC8 -/* 0D0A54 7F09BF24 00000000 */ nop -/* 0D0A58 7F09BF28 00C2082A */ slt $at, $a2, $v0 -/* 0D0A5C 7F09BF2C 50200008 */ beql $at, $zero, .L7F09BF50 -/* 0D0A60 7F09BF30 24010001 */ li $at, 1 -/* 0D0A64 7F09BF34 0FC26DEA */ jal sub_GAME_7F09B7A8 -/* 0D0A68 7F09BF38 00000000 */ nop -/* 0D0A6C 7F09BF3C 0FC26DF9 */ jal sub_GAME_7F09B7E4 -/* 0D0A70 7F09BF40 00000000 */ nop -/* 0D0A74 7F09BF44 1000003A */ b .L7F09C030 -/* 0D0A78 7F09BF48 00001025 */ move $v0, $zero -/* 0D0A7C 7F09BF4C 24010001 */ li $at, 1 -.L7F09BF50: -/* 0D0A80 7F09BF50 14610037 */ bne $v1, $at, .L7F09C030 -/* 0D0A84 7F09BF54 00001025 */ move $v0, $zero -/* 0D0A88 7F09BF58 00A90019 */ multu $a1, $t1 -/* 0D0A8C 7F09BF5C 8FAE0028 */ lw $t6, 0x28($sp) -/* 0D0A90 7F09BF60 00006025 */ move $t4, $zero -/* 0D0A94 7F09BF64 00006812 */ mflo $t5 -/* 0D0A98 7F09BF68 010D2021 */ addu $a0, $t0, $t5 -/* 0D0A9C 7F09BF6C 8498000E */ lh $t8, 0xe($a0) -/* 0D0AA0 7F09BF70 848A000C */ lh $t2, 0xc($a0) -/* 0D0AA4 7F09BF74 AC8E0004 */ sw $t6, 4($a0) -/* 0D0AA8 7F09BF78 8FAF002C */ lw $t7, 0x2c($sp) -/* 0D0AAC 7F09BF7C 27190001 */ addiu $t9, $t8, 1 -/* 0D0AB0 7F09BF80 A499000E */ sh $t9, 0xe($a0) -/* 0D0AB4 7F09BF84 1150001F */ beq $t2, $s0, .L7F09C004 -/* 0D0AB8 7F09BF88 AC8F0008 */ sw $t7, 8($a0) -/* 0D0ABC 7F09BF8C 18C0001D */ blez $a2, .L7F09C004 -/* 0D0AC0 7F09BF90 00001825 */ move $v1, $zero -/* 0D0AC4 7F09BF94 01001025 */ move $v0, $t0 -.L7F09BF98: -/* 0D0AC8 7F09BF98 844D000E */ lh $t5, 0xe($v0) -/* 0D0ACC 7F09BF9C 54ED0017 */ bnel $a3, $t5, .L7F09BFFC -/* 0D0AD0 7F09BFA0 24630001 */ addiu $v1, $v1, 1 -/* 0D0AD4 7F09BFA4 8C8E0000 */ lw $t6, ($a0) -/* 0D0AD8 7F09BFA8 A490000C */ sh $s0, 0xc($a0) -/* 0D0ADC 7F09BFAC 00107900 */ sll $t7, $s0, 4 -/* 0D0AE0 7F09BFB0 0150C823 */ subu $t9, $t2, $s0 -/* 0D0AE4 7F09BFB4 01CFC021 */ addu $t8, $t6, $t7 -/* 0D0AE8 7F09BFB8 AC580000 */ sw $t8, ($v0) -/* 0D0AEC 7F09BFBC A459000C */ sh $t9, 0xc($v0) -/* 0D0AF0 7F09BFC0 A440000E */ sh $zero, 0xe($v0) -/* 0D0AF4 7F09BFC4 A4450012 */ sh $a1, 0x12($v0) -/* 0D0AF8 7F09BFC8 848D0010 */ lh $t5, 0x10($a0) -/* 0D0AFC 7F09BFCC 240C0001 */ li $t4, 1 -/* 0D0B00 7F09BFD0 A44D0010 */ sh $t5, 0x10($v0) -/* 0D0B04 7F09BFD4 84820010 */ lh $v0, 0x10($a0) -/* 0D0B08 7F09BFD8 04400005 */ bltz $v0, .L7F09BFF0 -/* 0D0B0C 7F09BFDC 00000000 */ nop -/* 0D0B10 7F09BFE0 00490019 */ multu $v0, $t1 -/* 0D0B14 7F09BFE4 00007012 */ mflo $t6 -/* 0D0B18 7F09BFE8 010E7821 */ addu $t7, $t0, $t6 -/* 0D0B1C 7F09BFEC A5E30012 */ sh $v1, 0x12($t7) -.L7F09BFF0: -/* 0D0B20 7F09BFF0 10000004 */ b .L7F09C004 -/* 0D0B24 7F09BFF4 A4830010 */ sh $v1, 0x10($a0) -/* 0D0B28 7F09BFF8 24630001 */ addiu $v1, $v1, 1 -.L7F09BFFC: -/* 0D0B2C 7F09BFFC 1466FFE6 */ bne $v1, $a2, .L7F09BF98 -/* 0D0B30 7F09C000 24420014 */ addiu $v0, $v0, 0x14 -.L7F09C004: -/* 0D0B34 7F09C004 51800006 */ beql $t4, $zero, .L7F09C020 -/* 0D0B38 7F09C008 856D0000 */ lh $t5, ($t3) -/* 0D0B3C 7F09C00C 85780000 */ lh $t8, ($t3) -/* 0D0B40 7F09C010 0310C823 */ subu $t9, $t8, $s0 -/* 0D0B44 7F09C014 10000004 */ b .L7F09C028 -/* 0D0B48 7F09C018 A5790000 */ sh $t9, ($t3) -/* 0D0B4C 7F09C01C 856D0000 */ lh $t5, ($t3) -.L7F09C020: -/* 0D0B50 7F09C020 01AA7023 */ subu $t6, $t5, $t2 -/* 0D0B54 7F09C024 A56E0000 */ sh $t6, ($t3) -.L7F09C028: -/* 0D0B58 7F09C028 10000001 */ b .L7F09C030 -/* 0D0B5C 7F09C02C 8C820000 */ lw $v0, ($a0) -.L7F09C030: -/* 0D0B60 7F09C030 8FBF001C */ lw $ra, 0x1c($sp) -/* 0D0B64 7F09C034 8FB00018 */ lw $s0, 0x18($sp) -/* 0D0B68 7F09C038 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0D0B6C 7F09C03C 03E00008 */ jr $ra -/* 0D0B70 7F09C040 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09C044(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09C044 -/* 0D0B74 7F09C044 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007A0E0) -/* 0D0B78 7F09C048 8C42A0E0 */ lw $v0, %lo(dword_CODE_bss_8007A0E0)($v0) -/* 0D0B7C 7F09C04C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0D0B80 7F09C050 AFB00018 */ sw $s0, 0x18($sp) -/* 0D0B84 7F09C054 0082082B */ sltu $at, $a0, $v0 -/* 0D0B88 7F09C058 00808025 */ move $s0, $a0 -/* 0D0B8C 7F09C05C 1420000D */ bnez $at, .L7F09C094 -/* 0D0B90 7F09C060 AFBF001C */ sw $ra, 0x1c($sp) -/* 0D0B94 7F09C064 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_8007A0D0) -/* 0D0B98 7F09C068 8DCEA0D0 */ lw $t6, %lo(dword_CODE_bss_8007A0D0)($t6) -/* 0D0B9C 7F09C06C 3C0A8008 */ lui $t2, %hi(word_CODE_bss_8007A0F0) -/* 0D0BA0 7F09C070 3C078008 */ lui $a3, %hi(dword_CODE_bss_8007A0E8) -/* 0D0BA4 7F09C074 25CFFFFF */ addiu $t7, $t6, -1 -/* 0D0BA8 7F09C078 000FC100 */ sll $t8, $t7, 4 -/* 0D0BAC 7F09C07C 0302C821 */ addu $t9, $t8, $v0 -/* 0D0BB0 7F09C080 0324082B */ sltu $at, $t9, $a0 -/* 0D0BB4 7F09C084 14200003 */ bnez $at, .L7F09C094 -/* 0D0BB8 7F09C088 254AA0F0 */ addiu $t2, %lo(word_CODE_bss_8007A0F0) # addiu $t2, $t2, -0x5f10 -/* 0D0BBC 7F09C08C 10000018 */ b .L7F09C0F0 -/* 0D0BC0 7F09C090 8CE7A0E8 */ lw $a3, %lo(dword_CODE_bss_8007A0E8)($a3) -.L7F09C094: -/* 0D0BC4 7F09C094 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007A0E4) -/* 0D0BC8 7F09C098 8C42A0E4 */ lw $v0, %lo(dword_CODE_bss_8007A0E4)($v0) -/* 0D0BCC 7F09C09C 3C0B8008 */ lui $t3, %hi(dword_CODE_bss_8007A0D8) -/* 0D0BD0 7F09C0A0 0202082B */ sltu $at, $s0, $v0 -/* 0D0BD4 7F09C0A4 1420000C */ bnez $at, .L7F09C0D8 -/* 0D0BD8 7F09C0A8 00000000 */ nop -/* 0D0BDC 7F09C0AC 8D6BA0D8 */ lw $t3, %lo(dword_CODE_bss_8007A0D8)($t3) -/* 0D0BE0 7F09C0B0 3C0A8008 */ lui $t2, %hi(word_CODE_bss_8007A0F2) -/* 0D0BE4 7F09C0B4 3C078008 */ lui $a3, %hi(dword_CODE_bss_8007A0EC) -/* 0D0BE8 7F09C0B8 256CFFFF */ addiu $t4, $t3, -1 -/* 0D0BEC 7F09C0BC 000C6900 */ sll $t5, $t4, 4 -/* 0D0BF0 7F09C0C0 01A27021 */ addu $t6, $t5, $v0 -/* 0D0BF4 7F09C0C4 01D0082B */ sltu $at, $t6, $s0 -/* 0D0BF8 7F09C0C8 14200003 */ bnez $at, .L7F09C0D8 -/* 0D0BFC 7F09C0CC 254AA0F2 */ addiu $t2, %lo(word_CODE_bss_8007A0F2) # addiu $t2, $t2, -0x5f0e -/* 0D0C00 7F09C0D0 10000007 */ b .L7F09C0F0 -/* 0D0C04 7F09C0D4 8CE7A0EC */ lw $a3, %lo(dword_CODE_bss_8007A0EC)($a3) -.L7F09C0D8: -/* 0D0C08 7F09C0D8 0FC26DEA */ jal sub_GAME_7F09B7A8 -/* 0D0C0C 7F09C0DC 00000000 */ nop -/* 0D0C10 7F09C0E0 0FC26DF9 */ jal sub_GAME_7F09B7E4 -/* 0D0C14 7F09C0E4 00000000 */ nop -/* 0D0C18 7F09C0E8 10000053 */ b .L7F09C238 -/* 0D0C1C 7F09C0EC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F09C0F0: -/* 0D0C20 7F09C0F0 00002825 */ move $a1, $zero -/* 0D0C24 7F09C0F4 00004025 */ move $t0, $zero -/* 0D0C28 7F09C0F8 2409FFFF */ li $t1, -1 -/* 0D0C2C 7F09C0FC 24060014 */ li $a2, 20 -.L7F09C100: -/* 0D0C30 7F09C100 00A60019 */ multu $a1, $a2 -/* 0D0C34 7F09C104 00007812 */ mflo $t7 -/* 0D0C38 7F09C108 00EF2021 */ addu $a0, $a3, $t7 -/* 0D0C3C 7F09C10C 8C980000 */ lw $t8, ($a0) -/* 0D0C40 7F09C110 56180043 */ bnel $s0, $t8, .L7F09C220 -/* 0D0C44 7F09C114 84850010 */ lh $a1, 0x10($a0) -/* 0D0C48 7F09C118 8482000E */ lh $v0, 0xe($a0) -/* 0D0C4C 7F09C11C 24080001 */ li $t0, 1 -/* 0D0C50 7F09C120 2459FFFF */ addiu $t9, $v0, -1 -/* 0D0C54 7F09C124 A499000E */ sh $t9, 0xe($a0) -/* 0D0C58 7F09C128 848B000E */ lh $t3, 0xe($a0) -/* 0D0C5C 7F09C12C 1560003F */ bnez $t3, .L7F09C22C -/* 0D0C60 7F09C130 00000000 */ nop -/* 0D0C64 7F09C134 854C0000 */ lh $t4, ($t2) -/* 0D0C68 7F09C138 848D000C */ lh $t5, 0xc($a0) -/* 0D0C6C 7F09C13C 018D7021 */ addu $t6, $t4, $t5 -/* 0D0C70 7F09C140 A54E0000 */ sh $t6, ($t2) -/* 0D0C74 7F09C144 84830010 */ lh $v1, 0x10($a0) -/* 0D0C78 7F09C148 04620016 */ bltzl $v1, .L7F09C1A4 -/* 0D0C7C 7F09C14C 84830012 */ lh $v1, 0x12($a0) -/* 0D0C80 7F09C150 00660019 */ multu $v1, $a2 -/* 0D0C84 7F09C154 00007812 */ mflo $t7 -/* 0D0C88 7F09C158 00EF1021 */ addu $v0, $a3, $t7 -/* 0D0C8C 7F09C15C 8458000E */ lh $t8, 0xe($v0) -/* 0D0C90 7F09C160 57000010 */ bnezl $t8, .L7F09C1A4 -/* 0D0C94 7F09C164 84830012 */ lh $v1, 0x12($a0) -/* 0D0C98 7F09C168 8499000C */ lh $t9, 0xc($a0) -/* 0D0C9C 7F09C16C 844B000C */ lh $t3, 0xc($v0) -/* 0D0CA0 7F09C170 032B6021 */ addu $t4, $t9, $t3 -/* 0D0CA4 7F09C174 A48C000C */ sh $t4, 0xc($a0) -/* 0D0CA8 7F09C178 844D0010 */ lh $t5, 0x10($v0) -/* 0D0CAC 7F09C17C A48D0010 */ sh $t5, 0x10($a0) -/* 0D0CB0 7F09C180 A449000E */ sh $t1, 0xe($v0) -/* 0D0CB4 7F09C184 84830010 */ lh $v1, 0x10($a0) -/* 0D0CB8 7F09C188 04620006 */ bltzl $v1, .L7F09C1A4 -/* 0D0CBC 7F09C18C 84830012 */ lh $v1, 0x12($a0) -/* 0D0CC0 7F09C190 00660019 */ multu $v1, $a2 -/* 0D0CC4 7F09C194 00007012 */ mflo $t6 -/* 0D0CC8 7F09C198 00EE7821 */ addu $t7, $a3, $t6 -/* 0D0CCC 7F09C19C A5E50012 */ sh $a1, 0x12($t7) -/* 0D0CD0 7F09C1A0 84830012 */ lh $v1, 0x12($a0) -.L7F09C1A4: -/* 0D0CD4 7F09C1A4 04600021 */ bltz $v1, .L7F09C22C -/* 0D0CD8 7F09C1A8 00000000 */ nop -/* 0D0CDC 7F09C1AC 00660019 */ multu $v1, $a2 -/* 0D0CE0 7F09C1B0 0000C012 */ mflo $t8 -/* 0D0CE4 7F09C1B4 00F81021 */ addu $v0, $a3, $t8 -/* 0D0CE8 7F09C1B8 8459000E */ lh $t9, 0xe($v0) -/* 0D0CEC 7F09C1BC 0003C400 */ sll $t8, $v1, 0x10 -/* 0D0CF0 7F09C1C0 1720001A */ bnez $t9, .L7F09C22C -/* 0D0CF4 7F09C1C4 0018CC03 */ sra $t9, $t8, 0x10 -/* 0D0CF8 7F09C1C8 03260019 */ multu $t9, $a2 -/* 0D0CFC 7F09C1CC 844B000C */ lh $t3, 0xc($v0) -/* 0D0D00 7F09C1D0 848C000C */ lh $t4, 0xc($a0) -/* 0D0D04 7F09C1D4 00032C00 */ sll $a1, $v1, 0x10 -/* 0D0D08 7F09C1D8 00057C03 */ sra $t7, $a1, 0x10 -/* 0D0D0C 7F09C1DC 016C6821 */ addu $t5, $t3, $t4 -/* 0D0D10 7F09C1E0 A44D000C */ sh $t5, 0xc($v0) -/* 0D0D14 7F09C1E4 848E0010 */ lh $t6, 0x10($a0) -/* 0D0D18 7F09C1E8 01E02825 */ move $a1, $t7 -/* 0D0D1C 7F09C1EC 00005812 */ mflo $t3 -/* 0D0D20 7F09C1F0 A44E0010 */ sh $t6, 0x10($v0) -/* 0D0D24 7F09C1F4 A489000E */ sh $t1, 0xe($a0) -/* 0D0D28 7F09C1F8 00EB6021 */ addu $t4, $a3, $t3 -/* 0D0D2C 7F09C1FC 85830010 */ lh $v1, 0x10($t4) -/* 0D0D30 7F09C200 0460000A */ bltz $v1, .L7F09C22C -/* 0D0D34 7F09C204 00000000 */ nop -/* 0D0D38 7F09C208 00660019 */ multu $v1, $a2 -/* 0D0D3C 7F09C20C 00006812 */ mflo $t5 -/* 0D0D40 7F09C210 00ED7021 */ addu $t6, $a3, $t5 -/* 0D0D44 7F09C214 10000005 */ b .L7F09C22C -/* 0D0D48 7F09C218 A5CF0012 */ sh $t7, 0x12($t6) -/* 0D0D4C 7F09C21C 84850010 */ lh $a1, 0x10($a0) -.L7F09C220: -/* 0D0D50 7F09C220 14A90002 */ bne $a1, $t1, .L7F09C22C -/* 0D0D54 7F09C224 00000000 */ nop -/* 0D0D58 7F09C228 24080001 */ li $t0, 1 -.L7F09C22C: -/* 0D0D5C 7F09C22C 1100FFB4 */ beqz $t0, .L7F09C100 -/* 0D0D60 7F09C230 00000000 */ nop -/* 0D0D64 7F09C234 8FBF001C */ lw $ra, 0x1c($sp) -.L7F09C238: -/* 0D0D68 7F09C238 8FB00018 */ lw $s0, 0x18($sp) -/* 0D0D6C 7F09C23C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0D0D70 7F09C240 03E00008 */ jr $ra -/* 0D0D74 7F09C244 00000000 */ nop -) -#endif - - - diff --git a/src/game/unk_09C250.c b/src/game/unk_09C250.c deleted file mode 100644 index 625f132..0000000 --- a/src/game/unk_09C250.c +++ /dev/null @@ -1,7221 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:8007A100 -char dword_CODE_bss_8007A100[0x40]; -//CODE.bss:8007A140 -u32 *ptr_smoke_buf; -//CODE.bss:8007A144 -u32 *ptr_explosion_buf; -//CODE.bss:8007A148 -s32 max_casings; -//CODE.bss:8007A14C -u32 *ptr_ejected_casing_buf; -//CODE.bss:8007A150 -u32 *ptr_scorch_buf; -//CODE.bss:8007A154 -u32 *ptr_bullet_impact_buf; - -// data -//D:80040170 -s32 D_80040170 = 0; -//D:80040174 -s32 D_80040174 = 0; -//D:80040178 -f32 D_80040178 = 1.0; -//D:8004017C -u32 D_8004017C[] = { - 0x1003C, 0x630000, 0,0x80808000, - 0x3E99999A, 0xB40000, 0x1E0003C, 0x2D003C, - 0x3CA3D70A,0x50506000,0x3E99999A, 0xB40000, - 0x1E0003C, 0x320014,0x3C23D70A,0x80808000, - 0x3E99999A, 0xB40000, 0x280003C, 0x780064, - 0x3C23D70A,0xC0C0C000,0x3E99999A, 0xB40000, - 0x280003C, 0x3C0050,0x3CA3D70A,0x40404000, - 0x3E99999A, 0xB40000, 0x302003C, 0x3200BE, - 0x3E19999A,0x40404000,0x3E99999A, 0xB40000, - 0x384003C, 0x46012C,0x3C23D70A,0x40404000, - 0x3E99999A, 0xB40000, 0x3C003C, 0x8000F, - 0x3CF5C28F,0xFFFFFF00,0x3E99999A, 0xB40000, - 0x140001, 0x6001E,0x3CF5C28F,0xFFFFFF00, - 0x40000000, 0x1E0000, 0x190001, 0x70010, - 0x3CF5C28F,0xE0E0E000,0x40400000, 0x1E0000, - 0x384003C, 0x460384,0x3C23D70A,0x40404000, - 0x3E99999A, 0xB40000,0x3DCCCCCD,0x3DCCCCCD, - 0, 0,0x3DCCCCCD, 0, - 0, 0x10001,0x3F800000, 0, - 0x3DCCCCCD, 0, 0, 0, - 0, 0,0x3F800000,0x3F800000, - 0, 0,0x3F800000, 0, - 0, 0x1E0001,0x3F800000, 0xA0000, - 0x40A00000, 0,0x40000000,0x40C00000, - 0x7000000, 0,0x41A00000,0x41A00000, - 0, 0,0x41F00000,0x42480000, - 0x42480000, 0x500001,0x40400000, 0x280000, - 0x40C00000,0x40A00000,0x3F333333,0x40C00000, - 0x2B50000,0x3E000000,0x42480000,0x42480000, - 0, 0,0x42480000,0x42C80000, - 0x42C80000, 0x5A0001,0x40800000, 0x320000, - 0x40C00000,0x41200000,0x3F800000,0x40C00000, - 0x2B60000,0x3F000000,0x42700000,0x42A00000, - 0x3F800000,0x3E99999A,0x42C80000,0x43160000, - 0x438C0000, 0x780002,0x40A00000, 0x500000, - 0x41000000,0x41F00000,0x40000000,0x40C00000, - 0x1AC0000,0x3F800000,0x42700000,0x42F00000, - 0x3F800000,0x3E99999A,0x43160000,0x43480000, - 0x439B0000, 0x780002,0x40A00000, 0x500000, - 0x41000000,0x41F00000,0x40000000,0x40C00000, - 0x1AC0000,0x40000000,0x41A00000,0x41A00000, - 0, 0,0x41B00000,0x42200000, - 0x42200000, 0x500001,0x40400000, 0x280000, - 0x40C00000,0x40A00000,0x3F333333,0x40C00000, - 0x2B50000,0x3F000000,0x420C0000,0x42200000, - 0, 0,0x420C0000,0x428C0000, - 0x428C0000, 0x5A0001,0x40800000, 0x320000, - 0x40C00000,0x41200000,0x3F800000,0x40C00000, - 0x2B60000,0x3F800000,0x42480000,0x42A00000, - 0x3F800000,0x3E99999A,0x42480000,0x42C80000, - 0x435C0000, 0x780002,0x40A00000, 0x500000, - 0x41000000,0x41F00000,0x40000000,0x40C00000, - 0x1AC0000,0x40000000,0x42700000,0x42F00000, - 0x3F800000,0x3E99999A,0x42480000,0x43020000, - 0x43660000, 0x780002,0x40A00000, 0x500000, - 0x41000000,0x41F00000,0x40000000,0x40C00000, - 0x1AC0000,0x40000000,0x42200000,0x42200000, - 0x3ECCCCCD,0x3E4CCCCD,0x428C0000,0x42C80000, - 0x43340000, 0xAA0004,0x40A00000, 0x780000, - 0x40C00000,0x41F00000,0x40200000,0x40C00000, - 0x4AE0000,0x3F800000,0x42480000,0x42480000, - 0x3F19999A,0x3ECCCCCD,0x42C80000,0x43160000, - 0x43820000, 0xB40001,0x40800000, 0x960000, - 0x40C00000,0x41F00000,0x40400000,0x40C00000, - 0x4AC0000,0x40000000,0x428C0000,0x42700000, - 0x3F800000,0x3F19999A,0x43160000,0x43610000, - 0x43A00000, 0xB40002,0x40A00000, 0x960000, - 0x40C00000,0x41F00000,0x40800000,0x41400000, - 0x5AC0000,0x40800000,0x42A00000,0x42700000, - 0x40000000,0x3F333333,0x43480000,0x43960000, - 0x43F00000, 0xB40002,0x40A00000, 0xC80000, - 0x40C00000,0x41F00000,0x40C00000,0x41700000, - 0x6AD0000,0x40800000,0x42480000,0x42480000, - 0, 0,0x42F00000,0x43480000, - 0x43C80000, 0x960004,0x40800000, 0x960000, - 0x40C00000,0x41F00000,0x40400000,0x40C00000, - 0x4AD0000,0x40800000,0x3F800000,0x3F800000, - 0, 0,0x3F800000, 0, - 0, 0x10001,0x3F800000, 0x960000, - 0x40C00000,0x41F00000,0x40200000,0x40C00000, - 0x7AA0000, 0,0x3F800000,0x3F800000, - 0, 0,0x3F800000, 0, - 0, 0x10001,0x3F800000, 0x640000, - 0x40C00000,0x41F00000,0x40200000,0x40C00000, - 0x7AA0000, 0,0x42A00000,0x42700000, - 0x41700000,0x40A00000,0x44BB8000,0x45098000, - 0x45610000, 0x12C0001,0x40000000, 0, - 0, 0, 0, 0, - 0xAD0000,0x40800000,0x42A00000,0x42700000, - 0x40400000,0x3F800000,0x43960000,0x43E10000, - 0x44200000, 0x3C0001,0x40000000, 0, - 0, 0, 0, 0, - 0xAD0000,0x40800000,0x42B40000,0x42960000, - 0x40200000,0x3F5EB852,0x437A0000,0x43BB8000, - 0x44160000, 0xB40002,0x40A00000, 0xC80000, - 0x40C00000,0x41F00000,0x40C00000,0x41700000, - 0x6AD0000,0x40800000,0x43200000,0x42F00000, - 0x40C00000,0x40000000,0x44160000,0x43E10000, - 0x44200000, 0x3C0001,0x40000000, 0, - 0, 0, 0, 0, - 0xAD0000,0x40800000, 0x2000078, 0x2000120, - 0x20001C8, 0x2000270, 0x2000318, 0x20003C0, - 0x2000468, 0x2000510, 0x20005B8, 0x2000660, - 0x2000708, 0x20007B0, 0x2000858, 0x2000900, - 0x20009A8, 0, 0, 0 -}; -//D:8004080C -u32 D_8004080C[] = { - 0x41200000, 0x41200000, 0x1020800, 0x40C00000, 0x40C00000, 0x1020800, - 0x41000000, 0x41000000, 0x20800, 0x41A00000, 0x41A00000, 0x1020800, 0x40C00000, - 0x40C00000, 0x1020800, 0x41000000, 0x41000000, 0x1020800, 0x41400000, - 0x41400000, 0x1020800, 0x40C00000, 0x40C00000, 0x1020800, 0x41A00000, - 0x41A00000, 0x1020800, 0x41A00000, 0x41A00000, 0x1020800, 0x41A00000, - 0x41A00000, 0x1020800, 0x41A00000, 0x41A00000, 0x1020800, 0x41A00000, - 0x41A00000, 0x1020800, 0x41C00000, 0x41C00000, 0x1020800, 0x40C00000, - 0x40C00000, 0x1020100, 0x40C00000, 0x40C00000, 0x1020100, 0x41C00000, - 0x41C00000, 0x2020800, 0x40C00000, 0x40C00000, 0x1020100, 0x41000000, - 0x41000000, 0x1020100, 0x41400000, 0x41400000, 0x1020100, 0, 0, 0, 0 -}; - -//D:8004090C -u32 D_8004090C = 0xFFFFFFFF; -//D:80040910 -u32 D_80040910 = 0; -//D:80040914 -u32 D_80040914 = 0; -//D:80040918 -u32 D_80040918 = 0; -//D:8004091C -u32 D_8004091C = 0; -//D:80040920 -u32 D_80040920 = 0; -//D:80040924 -u32 D_80040924 = 0; -//D:80040928 -u32 D_80040928 = 0; -//D:8004092C -u32 D_8004092C = 0xDC; -//D:80040930 -u32 D_80040930 = 0; -//D:80040934 -u32 D_80040934 = 0; -//D:80040938 -u32 D_80040938 = 0; -//D:8004093C -u32 D_8004093C = 0xDC; - - -// rodata - - -#ifdef NONMATCHING -void sub_GAME_7F09C250(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_800576B0 -.word 0x497423fe /*999999.88*/ -glabel D_800576B4 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F09C250 -/* 0D0D80 7F09C250 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0D0D84 7F09C254 00077400 */ sll $t6, $a3, 0x10 -/* 0D0D88 7F09C258 000E7C03 */ sra $t7, $t6, 0x10 -/* 0D0D8C 7F09C25C 3C198004 */ lui $t9, %hi(D_8004017C+0x108) -/* 0D0D90 7F09C260 AFB10020 */ sw $s1, 0x20($sp) -/* 0D0D94 7F09C264 27390284 */ addiu $t9, %lo(D_8004017C+0x108) # addiu $t9, $t9, 0x284 -/* 0D0D98 7F09C268 000FC180 */ sll $t8, $t7, 6 -/* 0D0D9C 7F09C26C AFB30028 */ sw $s3, 0x28($sp) -/* 0D0DA0 7F09C270 AFA70054 */ sw $a3, 0x54($sp) -/* 0D0DA4 7F09C274 03198821 */ addu $s1, $t8, $t9 -/* 0D0DA8 7F09C278 24010010 */ li $at, 16 -/* 0D0DAC 7F09C27C 01E03825 */ move $a3, $t7 -/* 0D0DB0 7F09C280 00A09825 */ move $s3, $a1 -/* 0D0DB4 7F09C284 AFBF002C */ sw $ra, 0x2c($sp) -/* 0D0DB8 7F09C288 AFB20024 */ sw $s2, 0x24($sp) -/* 0D0DBC 7F09C28C AFB0001C */ sw $s0, 0x1c($sp) -/* 0D0DC0 7F09C290 AFA40048 */ sw $a0, 0x48($sp) -/* 0D0DC4 7F09C294 AFA60050 */ sw $a2, 0x50($sp) -/* 0D0DC8 7F09C298 AFB10044 */ sw $s1, 0x44($sp) -/* 0D0DCC 7F09C29C 11E10006 */ beq $t7, $at, .L7F09C2B8 -/* 0D0DD0 7F09C2A0 00004025 */ move $t0, $zero -/* 0D0DD4 7F09C2A4 24010001 */ li $at, 1 -/* 0D0DD8 7F09C2A8 11E10003 */ beq $t7, $at, .L7F09C2B8 -/* 0D0DDC 7F09C2AC 240E0006 */ li $t6, 6 -/* 0D0DE0 7F09C2B0 3C018004 */ lui $at, %hi(D_80040170) -/* 0D0DE4 7F09C2B4 AC2E0170 */ sw $t6, %lo(D_80040170)($at) -.L7F09C2B8: -/* 0D0DE8 7F09C2B8 3C048008 */ lui $a0, %hi(ptr_explosion_buf) -/* 0D0DEC 7F09C2BC 8C84A144 */ lw $a0, %lo(ptr_explosion_buf)($a0) -/* 0D0DF0 7F09C2C0 00001025 */ move $v0, $zero -/* 0D0DF4 7F09C2C4 00801825 */ move $v1, $a0 -.L7F09C2C8: -/* 0D0DF8 7F09C2C8 8C6F0000 */ lw $t7, ($v1) -/* 0D0DFC 7F09C2CC 55E00004 */ bnezl $t7, .L7F09C2E0 -/* 0D0E00 7F09C2D0 244203E0 */ addiu $v0, $v0, 0x3e0 -/* 0D0E04 7F09C2D4 10000005 */ b .L7F09C2EC -/* 0D0E08 7F09C2D8 00444021 */ addu $t0, $v0, $a0 -/* 0D0E0C 7F09C2DC 244203E0 */ addiu $v0, $v0, 0x3e0 -.L7F09C2E0: -/* 0D0E10 7F09C2E0 28411740 */ slti $at, $v0, 0x1740 -/* 0D0E14 7F09C2E4 1420FFF8 */ bnez $at, .L7F09C2C8 -/* 0D0E18 7F09C2E8 246303E0 */ addiu $v1, $v1, 0x3e0 -.L7F09C2EC: -/* 0D0E1C 7F09C2EC 51000129 */ beql $t0, $zero, .L7F09C794 -/* 0D0E20 7F09C2F0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0D0E24 7F09C2F4 A7A70056 */ sh $a3, 0x56($sp) -/* 0D0E28 7F09C2F8 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 0D0E2C 7F09C2FC AFA80040 */ sw $t0, 0x40($sp) -/* 0D0E30 7F09C300 92230039 */ lbu $v1, 0x39($s1) -/* 0D0E34 7F09C304 8FA80040 */ lw $t0, 0x40($sp) -/* 0D0E38 7F09C308 00403825 */ move $a3, $v0 -/* 0D0E3C 7F09C30C 1860000E */ blez $v1, .L7F09C348 -/* 0D0E40 7F09C310 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0D0E44 7F09C314 00032C00 */ sll $a1, $v1, 0x10 -/* 0D0E48 7F09C318 0005C403 */ sra $t8, $a1, 0x10 -/* 0D0E4C 7F09C31C 03002825 */ move $a1, $t8 -/* 0D0E50 7F09C320 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0D0E54 7F09C324 00003025 */ move $a2, $zero -/* 0D0E58 7F09C328 AFA20030 */ sw $v0, 0x30($sp) -/* 0D0E5C 7F09C32C 0C002382 */ jal play_sfx_a1 -/* 0D0E60 7F09C330 AFA80040 */ sw $t0, 0x40($sp) -/* 0D0E64 7F09C334 00402025 */ move $a0, $v0 -/* 0D0E68 7F09C338 0FC14E84 */ jal sub_GAME_7F053A10 -/* 0D0E6C 7F09C33C 02602825 */ move $a1, $s3 -/* 0D0E70 7F09C340 8FA70030 */ lw $a3, 0x30($sp) -/* 0D0E74 7F09C344 8FA80040 */ lw $t0, 0x40($sp) -.L7F09C348: -/* 0D0E78 7F09C348 10E00111 */ beqz $a3, .L7F09C790 -/* 0D0E7C 7F09C34C 8FA60060 */ lw $a2, 0x60($sp) -/* 0D0E80 7F09C350 90EE0001 */ lbu $t6, 1($a3) -/* 0D0E84 7F09C354 24190007 */ li $t9, 7 -/* 0D0E88 7F09C358 A0F90000 */ sb $t9, ($a3) -/* 0D0E8C 7F09C35C 35CF0002 */ ori $t7, $t6, 2 -/* 0D0E90 7F09C360 A0EF0001 */ sb $t7, 1($a3) -/* 0D0E94 7F09C364 ACE80004 */ sw $t0, 4($a3) -/* 0D0E98 7F09C368 8FB80050 */ lw $t8, 0x50($sp) -/* 0D0E9C 7F09C36C 240500FF */ li $a1, 255 -/* 0D0EA0 7F09C370 00008025 */ move $s0, $zero -/* 0D0EA4 7F09C374 ACF80014 */ sw $t8, 0x14($a3) -/* 0D0EA8 7F09C378 C6640000 */ lwc1 $f4, ($s3) -/* 0D0EAC 7F09C37C 240E00FF */ li $t6, 255 -/* 0D0EB0 7F09C380 E4E40008 */ swc1 $f4, 8($a3) -/* 0D0EB4 7F09C384 C6660004 */ lwc1 $f6, 4($s3) -/* 0D0EB8 7F09C388 E4E6000C */ swc1 $f6, 0xc($a3) -/* 0D0EBC 7F09C38C C6680008 */ lwc1 $f8, 8($s3) -/* 0D0EC0 7F09C390 E4E80010 */ swc1 $f8, 0x10($a3) -/* 0D0EC4 7F09C394 90D90000 */ lbu $t9, ($a2) -/* 0D0EC8 7F09C398 10B9000C */ beq $a1, $t9, .L7F09C3CC -/* 0D0ECC 7F09C39C 00E01821 */ addu $v1, $a3, $zero -/* 0D0ED0 7F09C3A0 00C01021 */ addu $v0, $a2, $zero -/* 0D0ED4 7F09C3A4 90C40000 */ lbu $a0, ($a2) -/* 0D0ED8 7F09C3A8 24120007 */ li $s2, 7 -/* 0D0EDC 7F09C3AC A064002C */ sb $a0, 0x2c($v1) -.L7F09C3B0: -/* 0D0EE0 7F09C3B0 90440001 */ lbu $a0, 1($v0) -/* 0D0EE4 7F09C3B4 26100001 */ addiu $s0, $s0, 1 -/* 0D0EE8 7F09C3B8 24630001 */ addiu $v1, $v1, 1 -/* 0D0EEC 7F09C3BC 10A40003 */ beq $a1, $a0, .L7F09C3CC -/* 0D0EF0 7F09C3C0 24420001 */ addiu $v0, $v0, 1 -/* 0D0EF4 7F09C3C4 5612FFFA */ bnel $s0, $s2, .L7F09C3B0 -/* 0D0EF8 7F09C3C8 A064002C */ sb $a0, 0x2c($v1) -.L7F09C3CC: -/* 0D0EFC 7F09C3CC 00F07821 */ addu $t7, $a3, $s0 -/* 0D0F00 7F09C3D0 A1EE002C */ sb $t6, 0x2c($t7) -/* 0D0F04 7F09C3D4 8FB80064 */ lw $t8, 0x64($sp) -/* 0D0F08 7F09C3D8 24120007 */ li $s2, 7 -/* 0D0F0C 7F09C3DC 00008025 */ move $s0, $zero -/* 0D0F10 7F09C3E0 13000004 */ beqz $t8, .L7F09C3F4 -/* 0D0F14 7F09C3E4 00E02025 */ move $a0, $a3 -/* 0D0F18 7F09C3E8 90F90001 */ lbu $t9, 1($a3) -/* 0D0F1C 7F09C3EC 372E0008 */ ori $t6, $t9, 8 -/* 0D0F20 7F09C3F0 A0EE0001 */ sb $t6, 1($a3) -.L7F09C3F4: -/* 0D0F24 7F09C3F4 AFA70030 */ sw $a3, 0x30($sp) -/* 0D0F28 7F09C3F8 0FC0E93C */ jal sub_GAME_7F03A4F0 -/* 0D0F2C 7F09C3FC AFA80040 */ sw $t0, 0x40($sp) -/* 0D0F30 7F09C400 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 0D0F34 7F09C404 8FA40030 */ lw $a0, 0x30($sp) -/* 0D0F38 7F09C408 8FA80040 */ lw $t0, 0x40($sp) -/* 0D0F3C 7F09C40C 8FA20058 */ lw $v0, 0x58($sp) -/* 0D0F40 7F09C410 8FA70030 */ lw $a3, 0x30($sp) -/* 0D0F44 7F09C414 8FA90048 */ lw $t1, 0x48($sp) -/* 0D0F48 7F09C418 87AF0056 */ lh $t7, 0x56($sp) -/* 0D0F4C 7F09C41C 2418FFFF */ li $t8, -1 -/* 0D0F50 7F09C420 A50003C8 */ sh $zero, 0x3c8($t0) -/* 0D0F54 7F09C424 A51803CA */ sh $t8, 0x3ca($t0) -/* 0D0F58 7F09C428 A10203CD */ sb $v0, 0x3cd($t0) -/* 0D0F5C 7F09C42C AD070000 */ sw $a3, ($t0) -/* 0D0F60 7F09C430 AD090004 */ sw $t1, 4($t0) -/* 0D0F64 7F09C434 A10F03CC */ sb $t7, 0x3cc($t0) -/* 0D0F68 7F09C438 8FB9005C */ lw $t9, 0x5c($sp) -/* 0D0F6C 7F09C43C 3C018005 */ lui $at, %hi(D_800576B0) -/* 0D0F70 7F09C440 1040002D */ beqz $v0, .L7F09C4F8 -/* 0D0F74 7F09C444 A11903CE */ sb $t9, 0x3ce($t0) -/* 0D0F78 7F09C448 51200019 */ beql $t1, $zero, .L7F09C4B0 -/* 0D0F7C 7F09C44C C6660000 */ lwc1 $f6, ($s3) -/* 0D0F80 7F09C450 8D2E0014 */ lw $t6, 0x14($t1) -/* 0D0F84 7F09C454 51C00016 */ beql $t6, $zero, .L7F09C4B0 -/* 0D0F88 7F09C458 C6660000 */ lwc1 $f6, ($s3) -/* 0D0F8C 7F09C45C C52A0008 */ lwc1 $f10, 8($t1) -/* 0D0F90 7F09C460 E50A03D0 */ swc1 $f10, 0x3d0($t0) -/* 0D0F94 7F09C464 8D260010 */ lw $a2, 0x10($t1) -/* 0D0F98 7F09C468 8D250008 */ lw $a1, 8($t1) -/* 0D0F9C 7F09C46C 8D240014 */ lw $a0, 0x14($t1) -/* 0D0FA0 7F09C470 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0D0FA4 7F09C474 AFA80040 */ sw $t0, 0x40($sp) -/* 0D0FA8 7F09C478 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0D0FAC 7F09C47C 44818000 */ mtc1 $at, $f16 -/* 0D0FB0 7F09C480 8FA80040 */ lw $t0, 0x40($sp) -/* 0D0FB4 7F09C484 8FA90048 */ lw $t1, 0x48($sp) -/* 0D0FB8 7F09C488 46100480 */ add.s $f18, $f0, $f16 -/* 0D0FBC 7F09C48C E51203D4 */ swc1 $f18, 0x3d4($t0) -/* 0D0FC0 7F09C490 C5240010 */ lwc1 $f4, 0x10($t1) -/* 0D0FC4 7F09C494 E50403D8 */ swc1 $f4, 0x3d8($t0) -/* 0D0FC8 7F09C498 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 0D0FCC 7F09C49C 8D240014 */ lw $a0, 0x14($t1) -/* 0D0FD0 7F09C4A0 8FA80040 */ lw $t0, 0x40($sp) -/* 0D0FD4 7F09C4A4 10000016 */ b .L7F09C500 -/* 0D0FD8 7F09C4A8 A50203DC */ sh $v0, 0x3dc($t0) -/* 0D0FDC 7F09C4AC C6660000 */ lwc1 $f6, ($s3) -.L7F09C4B0: -/* 0D0FE0 7F09C4B0 E50603D0 */ swc1 $f6, 0x3d0($t0) -/* 0D0FE4 7F09C4B4 8E660008 */ lw $a2, 8($s3) -/* 0D0FE8 7F09C4B8 8E650000 */ lw $a1, ($s3) -/* 0D0FEC 7F09C4BC AFA80040 */ sw $t0, 0x40($sp) -/* 0D0FF0 7F09C4C0 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0D0FF4 7F09C4C4 8FA40050 */ lw $a0, 0x50($sp) -/* 0D0FF8 7F09C4C8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0D0FFC 7F09C4CC 44814000 */ mtc1 $at, $f8 -/* 0D1000 7F09C4D0 8FA80040 */ lw $t0, 0x40($sp) -/* 0D1004 7F09C4D4 46080280 */ add.s $f10, $f0, $f8 -/* 0D1008 7F09C4D8 E50A03D4 */ swc1 $f10, 0x3d4($t0) -/* 0D100C 7F09C4DC C6700008 */ lwc1 $f16, 8($s3) -/* 0D1010 7F09C4E0 E51003D8 */ swc1 $f16, 0x3d8($t0) -/* 0D1014 7F09C4E4 0FC2CBF6 */ jal sub_GAME_7F0B2FD8 -/* 0D1018 7F09C4E8 8FA40050 */ lw $a0, 0x50($sp) -/* 0D101C 7F09C4EC 8FA80040 */ lw $t0, 0x40($sp) -/* 0D1020 7F09C4F0 10000003 */ b .L7F09C500 -/* 0D1024 7F09C4F4 A50203DC */ sh $v0, 0x3dc($t0) -.L7F09C4F8: -/* 0D1028 7F09C4F8 C43276B0 */ lwc1 $f18, %lo(D_800576B0)($at) -/* 0D102C 7F09C4FC E51203D0 */ swc1 $f18, 0x3d0($t0) -.L7F09C500: -/* 0D1030 7F09C500 0C002914 */ jal get_random_value -/* 0D1034 7F09C504 AFA80040 */ sw $t0, 0x40($sp) -/* 0D1038 7F09C508 44822000 */ mtc1 $v0, $f4 -/* 0D103C 7F09C50C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1040 7F09C510 04410004 */ bgez $v0, .L7F09C524 -/* 0D1044 7F09C514 468021A0 */ cvt.s.w $f6, $f4 -/* 0D1048 7F09C518 44814000 */ mtc1 $at, $f8 -/* 0D104C 7F09C51C 00000000 */ nop -/* 0D1050 7F09C520 46083180 */ add.s $f6, $f6, $f8 -.L7F09C524: -/* 0D1054 7F09C524 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D1058 7F09C528 44815000 */ mtc1 $at, $f10 -/* 0D105C 7F09C52C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D1060 7F09C530 44819000 */ mtc1 $at, $f18 -/* 0D1064 7F09C534 460A3402 */ mul.s $f16, $f6, $f10 -/* 0D1068 7F09C538 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D106C 7F09C53C 44814000 */ mtc1 $at, $f8 -/* 0D1070 7F09C540 C62A0010 */ lwc1 $f10, 0x10($s1) -/* 0D1074 7F09C544 46128102 */ mul.s $f4, $f16, $f18 -/* 0D1078 7F09C548 46082180 */ add.s $f6, $f4, $f8 -/* 0D107C 7F09C54C 460A3402 */ mul.s $f16, $f6, $f10 -/* 0D1080 7F09C550 0C002914 */ jal get_random_value -/* 0D1084 7F09C554 E7B0003C */ swc1 $f16, 0x3c($sp) -/* 0D1088 7F09C558 44829000 */ mtc1 $v0, $f18 -/* 0D108C 7F09C55C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1090 7F09C560 04410004 */ bgez $v0, .L7F09C574 -/* 0D1094 7F09C564 46809120 */ cvt.s.w $f4, $f18 -/* 0D1098 7F09C568 44814000 */ mtc1 $at, $f8 -/* 0D109C 7F09C56C 00000000 */ nop -/* 0D10A0 7F09C570 46082100 */ add.s $f4, $f4, $f8 -.L7F09C574: -/* 0D10A4 7F09C574 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D10A8 7F09C578 44813000 */ mtc1 $at, $f6 -/* 0D10AC 7F09C57C 3C018005 */ lui $at, %hi(D_800576B4) -/* 0D10B0 7F09C580 C43076B4 */ lwc1 $f16, %lo(D_800576B4)($at) -/* 0D10B4 7F09C584 46062282 */ mul.s $f10, $f4, $f6 -/* 0D10B8 7F09C588 00000000 */ nop -/* 0D10BC 7F09C58C 46105302 */ mul.s $f12, $f10, $f16 -/* 0D10C0 7F09C590 0FC15FA8 */ jal cosf -/* 0D10C4 7F09C594 E7AC0038 */ swc1 $f12, 0x38($sp) -/* 0D10C8 7F09C598 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 0D10CC 7F09C59C 8FA80040 */ lw $t0, 0x40($sp) -/* 0D10D0 7F09C5A0 46120202 */ mul.s $f8, $f0, $f18 -/* 0D10D4 7F09C5A4 E5080014 */ swc1 $f8, 0x14($t0) -/* 0D10D8 7F09C5A8 0FC15FAB */ jal sinf -/* 0D10DC 7F09C5AC C7AC0038 */ lwc1 $f12, 0x38($sp) -/* 0D10E0 7F09C5B0 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0D10E4 7F09C5B4 8FA80040 */ lw $t0, 0x40($sp) -/* 0D10E8 7F09C5B8 240F0001 */ li $t7, 1 -/* 0D10EC 7F09C5BC 46040182 */ mul.s $f6, $f0, $f4 -/* 0D10F0 7F09C5C0 A50F001C */ sh $t7, 0x1c($t0) -/* 0D10F4 7F09C5C4 E5060018 */ swc1 $f6, 0x18($t0) -/* 0D10F8 7F09C5C8 C66A0000 */ lwc1 $f10, ($s3) -/* 0D10FC 7F09C5CC E50A0008 */ swc1 $f10, 8($t0) -/* 0D1100 7F09C5D0 C6700004 */ lwc1 $f16, 4($s3) -/* 0D1104 7F09C5D4 E510000C */ swc1 $f16, 0xc($t0) -/* 0D1108 7F09C5D8 C6720008 */ lwc1 $f18, 8($s3) -/* 0D110C 7F09C5DC E5120010 */ swc1 $f18, 0x10($t0) -/* 0D1110 7F09C5E0 86380024 */ lh $t8, 0x24($s1) -/* 0D1114 7F09C5E4 1B00000E */ blez $t8, .L7F09C620 -/* 0D1118 7F09C5E8 00000000 */ nop -/* 0D111C 7F09C5EC C6280028 */ lwc1 $f8, 0x28($s1) -.L7F09C5F0: -/* 0D1120 7F09C5F0 8E25002C */ lw $a1, 0x2c($s1) -/* 0D1124 7F09C5F4 8E260030 */ lw $a2, 0x30($s1) -/* 0D1128 7F09C5F8 8E270034 */ lw $a3, 0x34($s1) -/* 0D112C 7F09C5FC 02602025 */ move $a0, $s3 -/* 0D1130 7F09C600 0FC27C95 */ jal sub_GAME_7F09F254 -/* 0D1134 7F09C604 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0D1138 7F09C608 8FB90044 */ lw $t9, 0x44($sp) -/* 0D113C 7F09C60C 26100001 */ addiu $s0, $s0, 1 -/* 0D1140 7F09C610 872E0024 */ lh $t6, 0x24($t9) -/* 0D1144 7F09C614 020E082A */ slt $at, $s0, $t6 -/* 0D1148 7F09C618 5420FFF5 */ bnezl $at, .L7F09C5F0 -/* 0D114C 7F09C61C C6280028 */ lwc1 $f8, 0x28($s1) -.L7F09C620: -/* 0D1150 7F09C620 0FC26919 */ jal get_num_players -/* 0D1154 7F09C624 00000000 */ nop -/* 0D1158 7F09C628 28410002 */ slti $at, $v0, 2 -/* 0D115C 7F09C62C 14200058 */ bnez $at, .L7F09C790 -/* 0D1160 7F09C630 00003025 */ move $a2, $zero -/* 0D1164 7F09C634 3C0D8008 */ lui $t5, %hi(ptr_smoke_buf) -/* 0D1168 7F09C638 3C0B8004 */ lui $t3, %hi(D_8004017C) -/* 0D116C 7F09C63C 256B017C */ addiu $t3, %lo(D_8004017C) # addiu $t3, $t3, 0x17c -/* 0D1170 7F09C640 25ADA140 */ addiu $t5, %lo(ptr_smoke_buf) # addiu $t5, $t5, -0x5ec0 -/* 0D1174 7F09C644 241F1FE0 */ li $ra, 8160 -/* 0D1178 7F09C648 240C0018 */ li $t4, 24 -/* 0D117C 7F09C64C 240A0009 */ li $t2, 9 -/* 0D1180 7F09C650 24090008 */ li $t1, 8 -/* 0D1184 7F09C654 8DA30000 */ lw $v1, ($t5) -.L7F09C658: -/* 0D1188 7F09C658 00662821 */ addu $a1, $v1, $a2 -/* 0D118C 7F09C65C 8CAF0000 */ lw $t7, ($a1) -/* 0D1190 7F09C660 00C33821 */ addu $a3, $a2, $v1 -/* 0D1194 7F09C664 51E00011 */ beql $t7, $zero, .L7F09C6AC -/* 0D1198 7F09C668 8CAF0198 */ lw $t7, 0x198($a1) -/* 0D119C 7F09C66C 84E20006 */ lh $v0, 6($a3) -/* 0D11A0 7F09C670 5242000E */ beql $s2, $v0, .L7F09C6AC -/* 0D11A4 7F09C674 8CAF0198 */ lw $t7, 0x198($a1) -/* 0D11A8 7F09C678 84E80006 */ lh $t0, 6($a3) -/* 0D11AC 7F09C67C 5128000B */ beql $t1, $t0, .L7F09C6AC -/* 0D11B0 7F09C680 8CAF0198 */ lw $t7, 0x198($a1) -/* 0D11B4 7F09C684 51480009 */ beql $t2, $t0, .L7F09C6AC -/* 0D11B8 7F09C688 8CAF0198 */ lw $t7, 0x198($a1) -/* 0D11BC 7F09C68C 004C0019 */ multu $v0, $t4 -/* 0D11C0 7F09C690 0000C012 */ mflo $t8 -/* 0D11C4 7F09C694 0178C821 */ addu $t9, $t3, $t8 -/* 0D11C8 7F09C698 872E0000 */ lh $t6, ($t9) -/* 0D11CC 7F09C69C A4EE0004 */ sh $t6, 4($a3) -/* 0D11D0 7F09C6A0 8DA30000 */ lw $v1, ($t5) -/* 0D11D4 7F09C6A4 00662821 */ addu $a1, $v1, $a2 -/* 0D11D8 7F09C6A8 8CAF0198 */ lw $t7, 0x198($a1) -.L7F09C6AC: -/* 0D11DC 7F09C6AC 00C32021 */ addu $a0, $a2, $v1 -/* 0D11E0 7F09C6B0 51E00011 */ beql $t7, $zero, .L7F09C6F8 -/* 0D11E4 7F09C6B4 8CAF0330 */ lw $t7, 0x330($a1) -/* 0D11E8 7F09C6B8 8482019E */ lh $v0, 0x19e($a0) -/* 0D11EC 7F09C6BC 24840198 */ addiu $a0, $a0, 0x198 -/* 0D11F0 7F09C6C0 5242000D */ beql $s2, $v0, .L7F09C6F8 -/* 0D11F4 7F09C6C4 8CAF0330 */ lw $t7, 0x330($a1) -/* 0D11F8 7F09C6C8 5122000B */ beql $t1, $v0, .L7F09C6F8 -/* 0D11FC 7F09C6CC 8CAF0330 */ lw $t7, 0x330($a1) -/* 0D1200 7F09C6D0 51420009 */ beql $t2, $v0, .L7F09C6F8 -/* 0D1204 7F09C6D4 8CAF0330 */ lw $t7, 0x330($a1) -/* 0D1208 7F09C6D8 004C0019 */ multu $v0, $t4 -/* 0D120C 7F09C6DC 0000C012 */ mflo $t8 -/* 0D1210 7F09C6E0 0178C821 */ addu $t9, $t3, $t8 -/* 0D1214 7F09C6E4 872E0000 */ lh $t6, ($t9) -/* 0D1218 7F09C6E8 A48E0004 */ sh $t6, 4($a0) -/* 0D121C 7F09C6EC 8DA30000 */ lw $v1, ($t5) -/* 0D1220 7F09C6F0 00662821 */ addu $a1, $v1, $a2 -/* 0D1224 7F09C6F4 8CAF0330 */ lw $t7, 0x330($a1) -.L7F09C6F8: -/* 0D1228 7F09C6F8 00C32021 */ addu $a0, $a2, $v1 -/* 0D122C 7F09C6FC 51E00011 */ beql $t7, $zero, .L7F09C744 -/* 0D1230 7F09C700 8CAF04C8 */ lw $t7, 0x4c8($a1) -/* 0D1234 7F09C704 84820336 */ lh $v0, 0x336($a0) -/* 0D1238 7F09C708 24840330 */ addiu $a0, $a0, 0x330 -/* 0D123C 7F09C70C 5242000D */ beql $s2, $v0, .L7F09C744 -/* 0D1240 7F09C710 8CAF04C8 */ lw $t7, 0x4c8($a1) -/* 0D1244 7F09C714 5122000B */ beql $t1, $v0, .L7F09C744 -/* 0D1248 7F09C718 8CAF04C8 */ lw $t7, 0x4c8($a1) -/* 0D124C 7F09C71C 51420009 */ beql $t2, $v0, .L7F09C744 -/* 0D1250 7F09C720 8CAF04C8 */ lw $t7, 0x4c8($a1) -/* 0D1254 7F09C724 004C0019 */ multu $v0, $t4 -/* 0D1258 7F09C728 0000C012 */ mflo $t8 -/* 0D125C 7F09C72C 0178C821 */ addu $t9, $t3, $t8 -/* 0D1260 7F09C730 872E0000 */ lh $t6, ($t9) -/* 0D1264 7F09C734 A48E0004 */ sh $t6, 4($a0) -/* 0D1268 7F09C738 8DA30000 */ lw $v1, ($t5) -/* 0D126C 7F09C73C 00662821 */ addu $a1, $v1, $a2 -/* 0D1270 7F09C740 8CAF04C8 */ lw $t7, 0x4c8($a1) -.L7F09C744: -/* 0D1274 7F09C744 00C32021 */ addu $a0, $a2, $v1 -/* 0D1278 7F09C748 51E0000F */ beql $t7, $zero, .L7F09C788 -/* 0D127C 7F09C74C 24C60660 */ addiu $a2, $a2, 0x660 -/* 0D1280 7F09C750 848204CE */ lh $v0, 0x4ce($a0) -/* 0D1284 7F09C754 248404C8 */ addiu $a0, $a0, 0x4c8 -/* 0D1288 7F09C758 5242000B */ beql $s2, $v0, .L7F09C788 -/* 0D128C 7F09C75C 24C60660 */ addiu $a2, $a2, 0x660 -/* 0D1290 7F09C760 51220009 */ beql $t1, $v0, .L7F09C788 -/* 0D1294 7F09C764 24C60660 */ addiu $a2, $a2, 0x660 -/* 0D1298 7F09C768 51420007 */ beql $t2, $v0, .L7F09C788 -/* 0D129C 7F09C76C 24C60660 */ addiu $a2, $a2, 0x660 -/* 0D12A0 7F09C770 004C0019 */ multu $v0, $t4 -/* 0D12A4 7F09C774 0000C012 */ mflo $t8 -/* 0D12A8 7F09C778 0178C821 */ addu $t9, $t3, $t8 -/* 0D12AC 7F09C77C 872E0000 */ lh $t6, ($t9) -/* 0D12B0 7F09C780 A48E0004 */ sh $t6, 4($a0) -/* 0D12B4 7F09C784 24C60660 */ addiu $a2, $a2, 0x660 -.L7F09C788: -/* 0D12B8 7F09C788 54DFFFB3 */ bnel $a2, $ra, .L7F09C658 -/* 0D12BC 7F09C78C 8DA30000 */ lw $v1, ($t5) -.L7F09C790: -/* 0D12C0 7F09C790 8FBF002C */ lw $ra, 0x2c($sp) -.L7F09C794: -/* 0D12C4 7F09C794 8FB0001C */ lw $s0, 0x1c($sp) -/* 0D12C8 7F09C798 8FB10020 */ lw $s1, 0x20($sp) -/* 0D12CC 7F09C79C 8FB20024 */ lw $s2, 0x24($sp) -/* 0D12D0 7F09C7A0 8FB30028 */ lw $s3, 0x28($sp) -/* 0D12D4 7F09C7A4 03E00008 */ jr $ra -/* 0D12D8 7F09C7A8 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_800576B0 -.word 0x497423fe /*999999.88*/ -glabel D_800576B4 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F09C250 -/* 0D1960 7F09CDF0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0D1964 7F09CDF4 AFA7005C */ sw $a3, 0x5c($sp) -/* 0D1968 7F09CDF8 87AE005E */ lh $t6, 0x5e($sp) -/* 0D196C 7F09CDFC 3C088008 */ lui $t0, %hi(ptr_explosion_buf) # $t0, 0x8008 -/* 0D1970 7F09CE00 8D08A1B4 */ lw $t0, %lo(ptr_explosion_buf)($t0) -/* 0D1974 7F09CE04 3C188004 */ lui $t8, %hi(D_8004017C+0x108) # $t8, 0x8004 -/* 0D1978 7F09CE08 AFB10024 */ sw $s1, 0x24($sp) -/* 0D197C 7F09CE0C 271802B4 */ addiu $t8, %lo(D_8004017C+0x108) # addiu $t8, $t8, 0x2b4 -/* 0D1980 7F09CE10 000E7980 */ sll $t7, $t6, 6 -/* 0D1984 7F09CE14 AFB40030 */ sw $s4, 0x30($sp) -/* 0D1988 7F09CE18 AFB3002C */ sw $s3, 0x2c($sp) -/* 0D198C 7F09CE1C 01F88821 */ addu $s1, $t7, $t8 -/* 0D1990 7F09CE20 00A09825 */ move $s3, $a1 -/* 0D1994 7F09CE24 AFBF0034 */ sw $ra, 0x34($sp) -/* 0D1998 7F09CE28 AFB20028 */ sw $s2, 0x28($sp) -/* 0D199C 7F09CE2C AFB00020 */ sw $s0, 0x20($sp) -/* 0D19A0 7F09CE30 AFA40050 */ sw $a0, 0x50($sp) -/* 0D19A4 7F09CE34 AFA60058 */ sw $a2, 0x58($sp) -/* 0D19A8 7F09CE38 AFB1004C */ sw $s1, 0x4c($sp) -/* 0D19AC 7F09CE3C 0000A025 */ move $s4, $zero -/* 0D19B0 7F09CE40 00001025 */ move $v0, $zero -/* 0D19B4 7F09CE44 01001825 */ move $v1, $t0 -.Ljp7F09CE48: -/* 0D19B8 7F09CE48 8C790000 */ lw $t9, ($v1) -/* 0D19BC 7F09CE4C 57200004 */ bnezl $t9, .Ljp7F09CE60 -/* 0D19C0 7F09CE50 244203E0 */ addiu $v0, $v0, 0x3e0 -/* 0D19C4 7F09CE54 10000005 */ b .Ljp7F09CE6C -/* 0D19C8 7F09CE58 0048A021 */ addu $s4, $v0, $t0 -/* 0D19CC 7F09CE5C 244203E0 */ addiu $v0, $v0, 0x3e0 -.Ljp7F09CE60: -/* 0D19D0 7F09CE60 28411740 */ slti $at, $v0, 0x1740 -/* 0D19D4 7F09CE64 1420FFF8 */ bnez $at, .Ljp7F09CE48 -/* 0D19D8 7F09CE68 246303E0 */ addiu $v1, $v1, 0x3e0 -.Ljp7F09CE6C: -/* 0D19DC 7F09CE6C 52800124 */ beql $s4, $zero, .Ljp7F09D300 -/* 0D19E0 7F09CE70 8FBF0034 */ lw $ra, 0x34($sp) -/* 0D19E4 7F09CE74 0FC0E9CC */ jal remove_last_obj_pos_data_entry -/* 0D19E8 7F09CE78 00000000 */ nop -/* 0D19EC 7F09CE7C 87AE005E */ lh $t6, 0x5e($sp) -/* 0D19F0 7F09CE80 24010010 */ li $at, 16 -/* 0D19F4 7F09CE84 00403825 */ move $a3, $v0 -/* 0D19F8 7F09CE88 11C10006 */ beq $t6, $at, .Ljp7F09CEA4 -/* 0D19FC 7F09CE8C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 0D1A00 7F09CE90 24010001 */ li $at, 1 -/* 0D1A04 7F09CE94 11C10003 */ beq $t6, $at, .Ljp7F09CEA4 -/* 0D1A08 7F09CE98 240F0006 */ li $t7, 6 -/* 0D1A0C 7F09CE9C 3C018004 */ lui $at, %hi(D_80040170) # $at, 0x8004 -/* 0D1A10 7F09CEA0 AC2F01A0 */ sw $t7, %lo(D_80040170)($at) -.Ljp7F09CEA4: -/* 0D1A14 7F09CEA4 92220039 */ lbu $v0, 0x39($s1) -/* 0D1A18 7F09CEA8 00003025 */ move $a2, $zero -/* 0D1A1C 7F09CEAC 1840000A */ blez $v0, .Ljp7F09CED8 -/* 0D1A20 7F09CEB0 00022C00 */ sll $a1, $v0, 0x10 -/* 0D1A24 7F09CEB4 0005C403 */ sra $t8, $a1, 0x10 -/* 0D1A28 7F09CEB8 03002825 */ move $a1, $t8 -/* 0D1A2C 7F09CEBC 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0D1A30 7F09CEC0 0C002386 */ jal play_sfx_a1 -/* 0D1A34 7F09CEC4 AFA70038 */ sw $a3, 0x38($sp) -/* 0D1A38 7F09CEC8 00402025 */ move $a0, $v0 -/* 0D1A3C 7F09CECC 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 0D1A40 7F09CED0 02602825 */ move $a1, $s3 -/* 0D1A44 7F09CED4 8FA70038 */ lw $a3, 0x38($sp) -.Ljp7F09CED8: -/* 0D1A48 7F09CED8 10E00108 */ beqz $a3, .Ljp7F09D2FC -/* 0D1A4C 7F09CEDC 8FA60068 */ lw $a2, 0x68($sp) -/* 0D1A50 7F09CEE0 90EE0001 */ lbu $t6, 1($a3) -/* 0D1A54 7F09CEE4 24190007 */ li $t9, 7 -/* 0D1A58 7F09CEE8 A0F90000 */ sb $t9, ($a3) -/* 0D1A5C 7F09CEEC 35CF0002 */ ori $t7, $t6, 2 -/* 0D1A60 7F09CEF0 A0EF0001 */ sb $t7, 1($a3) -/* 0D1A64 7F09CEF4 ACF40004 */ sw $s4, 4($a3) -/* 0D1A68 7F09CEF8 8FB80058 */ lw $t8, 0x58($sp) -/* 0D1A6C 7F09CEFC 240500FF */ li $a1, 255 -/* 0D1A70 7F09CF00 00008025 */ move $s0, $zero -/* 0D1A74 7F09CF04 ACF80014 */ sw $t8, 0x14($a3) -/* 0D1A78 7F09CF08 C6640000 */ lwc1 $f4, ($s3) -/* 0D1A7C 7F09CF0C 240E00FF */ li $t6, 255 -/* 0D1A80 7F09CF10 E4E40008 */ swc1 $f4, 8($a3) -/* 0D1A84 7F09CF14 C6660004 */ lwc1 $f6, 4($s3) -/* 0D1A88 7F09CF18 E4E6000C */ swc1 $f6, 0xc($a3) -/* 0D1A8C 7F09CF1C C6680008 */ lwc1 $f8, 8($s3) -/* 0D1A90 7F09CF20 E4E80010 */ swc1 $f8, 0x10($a3) -/* 0D1A94 7F09CF24 90D90000 */ lbu $t9, ($a2) -/* 0D1A98 7F09CF28 10B9000C */ beq $a1, $t9, .Ljp7F09CF5C -/* 0D1A9C 7F09CF2C 00E01821 */ addu $v1, $a3, $zero -/* 0D1AA0 7F09CF30 00C01021 */ addu $v0, $a2, $zero -/* 0D1AA4 7F09CF34 90C40000 */ lbu $a0, ($a2) -/* 0D1AA8 7F09CF38 24120007 */ li $s2, 7 -/* 0D1AAC 7F09CF3C A064002C */ sb $a0, 0x2c($v1) -.Ljp7F09CF40: -/* 0D1AB0 7F09CF40 90440001 */ lbu $a0, 1($v0) -/* 0D1AB4 7F09CF44 26100001 */ addiu $s0, $s0, 1 -/* 0D1AB8 7F09CF48 24630001 */ addiu $v1, $v1, 1 -/* 0D1ABC 7F09CF4C 10A40003 */ beq $a1, $a0, .Ljp7F09CF5C -/* 0D1AC0 7F09CF50 24420001 */ addiu $v0, $v0, 1 -/* 0D1AC4 7F09CF54 5612FFFA */ bnel $s0, $s2, .Ljp7F09CF40 -/* 0D1AC8 7F09CF58 A064002C */ sb $a0, 0x2c($v1) -.Ljp7F09CF5C: -/* 0D1ACC 7F09CF5C 00F07821 */ addu $t7, $a3, $s0 -/* 0D1AD0 7F09CF60 A1EE002C */ sb $t6, 0x2c($t7) -/* 0D1AD4 7F09CF64 8FB8006C */ lw $t8, 0x6c($sp) -/* 0D1AD8 7F09CF68 24120007 */ li $s2, 7 -/* 0D1ADC 7F09CF6C 00008025 */ move $s0, $zero -/* 0D1AE0 7F09CF70 13000004 */ beqz $t8, .Ljp7F09CF84 -/* 0D1AE4 7F09CF74 00E02025 */ move $a0, $a3 -/* 0D1AE8 7F09CF78 90F90001 */ lbu $t9, 1($a3) -/* 0D1AEC 7F09CF7C 372E0008 */ ori $t6, $t9, 8 -/* 0D1AF0 7F09CF80 A0EE0001 */ sb $t6, 1($a3) -.Ljp7F09CF84: -/* 0D1AF4 7F09CF84 0FC0E9FC */ jal sub_GAME_7F03A4F0 -/* 0D1AF8 7F09CF88 AFA70038 */ sw $a3, 0x38($sp) -/* 0D1AFC 7F09CF8C 0FC0E9C1 */ jal set_stateflag_0x04_for_posdata -/* 0D1B00 7F09CF90 8FA40038 */ lw $a0, 0x38($sp) -/* 0D1B04 7F09CF94 8FA20060 */ lw $v0, 0x60($sp) -/* 0D1B08 7F09CF98 8FA70038 */ lw $a3, 0x38($sp) -/* 0D1B0C 7F09CF9C 8FA80050 */ lw $t0, 0x50($sp) -/* 0D1B10 7F09CFA0 87AF005E */ lh $t7, 0x5e($sp) -/* 0D1B14 7F09CFA4 2418FFFF */ li $t8, -1 -/* 0D1B18 7F09CFA8 A68003C8 */ sh $zero, 0x3c8($s4) -/* 0D1B1C 7F09CFAC A69803CA */ sh $t8, 0x3ca($s4) -/* 0D1B20 7F09CFB0 A28203CD */ sb $v0, 0x3cd($s4) -/* 0D1B24 7F09CFB4 AE870000 */ sw $a3, ($s4) -/* 0D1B28 7F09CFB8 AE880004 */ sw $t0, 4($s4) -/* 0D1B2C 7F09CFBC A28F03CC */ sb $t7, 0x3cc($s4) -/* 0D1B30 7F09CFC0 8FB90064 */ lw $t9, 0x64($sp) -/* 0D1B34 7F09CFC4 3C018005 */ lui $at, %hi(D_800576B0) # $at, 0x8005 -/* 0D1B38 7F09CFC8 10400028 */ beqz $v0, .Ljp7F09D06C -/* 0D1B3C 7F09CFCC A29903CE */ sb $t9, 0x3ce($s4) -/* 0D1B40 7F09CFD0 51000016 */ beql $t0, $zero, .Ljp7F09D02C -/* 0D1B44 7F09CFD4 C6660000 */ lwc1 $f6, ($s3) -/* 0D1B48 7F09CFD8 8D0E0014 */ lw $t6, 0x14($t0) -/* 0D1B4C 7F09CFDC 51C00013 */ beql $t6, $zero, .Ljp7F09D02C -/* 0D1B50 7F09CFE0 C6660000 */ lwc1 $f6, ($s3) -/* 0D1B54 7F09CFE4 C50A0008 */ lwc1 $f10, 8($t0) -/* 0D1B58 7F09CFE8 E68A03D0 */ swc1 $f10, 0x3d0($s4) -/* 0D1B5C 7F09CFEC 8D060010 */ lw $a2, 0x10($t0) -/* 0D1B60 7F09CFF0 8D050008 */ lw $a1, 8($t0) -/* 0D1B64 7F09CFF4 0FC2CD48 */ jal sub_GAME_7F0B2970 -/* 0D1B68 7F09CFF8 8D040014 */ lw $a0, 0x14($t0) -/* 0D1B6C 7F09CFFC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0D1B70 7F09D000 44818000 */ mtc1 $at, $f16 -/* 0D1B74 7F09D004 8FA80050 */ lw $t0, 0x50($sp) -/* 0D1B78 7F09D008 46100480 */ add.s $f18, $f0, $f16 -/* 0D1B7C 7F09D00C E69203D4 */ swc1 $f18, 0x3d4($s4) -/* 0D1B80 7F09D010 C5040010 */ lwc1 $f4, 0x10($t0) -/* 0D1B84 7F09D014 E68403D8 */ swc1 $f4, 0x3d8($s4) -/* 0D1B88 7F09D018 0FC2CEE2 */ jal sub_GAME_7F0B2FD8 -/* 0D1B8C 7F09D01C 8D040014 */ lw $a0, 0x14($t0) -/* 0D1B90 7F09D020 10000014 */ b .Ljp7F09D074 -/* 0D1B94 7F09D024 A68203DC */ sh $v0, 0x3dc($s4) -/* 0D1B98 7F09D028 C6660000 */ lwc1 $f6, ($s3) -.Ljp7F09D02C: -/* 0D1B9C 7F09D02C E68603D0 */ swc1 $f6, 0x3d0($s4) -/* 0D1BA0 7F09D030 8E660008 */ lw $a2, 8($s3) -/* 0D1BA4 7F09D034 8E650000 */ lw $a1, ($s3) -/* 0D1BA8 7F09D038 0FC2CD48 */ jal sub_GAME_7F0B2970 -/* 0D1BAC 7F09D03C 8FA40058 */ lw $a0, 0x58($sp) -/* 0D1BB0 7F09D040 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0D1BB4 7F09D044 44814000 */ mtc1 $at, $f8 -/* 0D1BB8 7F09D048 00000000 */ nop -/* 0D1BBC 7F09D04C 46080280 */ add.s $f10, $f0, $f8 -/* 0D1BC0 7F09D050 E68A03D4 */ swc1 $f10, 0x3d4($s4) -/* 0D1BC4 7F09D054 C6700008 */ lwc1 $f16, 8($s3) -/* 0D1BC8 7F09D058 E69003D8 */ swc1 $f16, 0x3d8($s4) -/* 0D1BCC 7F09D05C 0FC2CEE2 */ jal sub_GAME_7F0B2FD8 -/* 0D1BD0 7F09D060 8FA40058 */ lw $a0, 0x58($sp) -/* 0D1BD4 7F09D064 10000003 */ b .Ljp7F09D074 -/* 0D1BD8 7F09D068 A68203DC */ sh $v0, 0x3dc($s4) -.Ljp7F09D06C: -/* 0D1BDC 7F09D06C C43276E0 */ lwc1 $f18, %lo(D_800576B0)($at) -/* 0D1BE0 7F09D070 E69203D0 */ swc1 $f18, 0x3d0($s4) -.Ljp7F09D074: -/* 0D1BE4 7F09D074 0C002918 */ jal get_random_value -/* 0D1BE8 7F09D078 00000000 */ nop -/* 0D1BEC 7F09D07C 44822000 */ mtc1 $v0, $f4 -/* 0D1BF0 7F09D080 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1BF4 7F09D084 04410004 */ bgez $v0, .Ljp7F09D098 -/* 0D1BF8 7F09D088 468021A0 */ cvt.s.w $f6, $f4 -/* 0D1BFC 7F09D08C 44814000 */ mtc1 $at, $f8 -/* 0D1C00 7F09D090 00000000 */ nop -/* 0D1C04 7F09D094 46083180 */ add.s $f6, $f6, $f8 -.Ljp7F09D098: -/* 0D1C08 7F09D098 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D1C0C 7F09D09C 44815000 */ mtc1 $at, $f10 -/* 0D1C10 7F09D0A0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D1C14 7F09D0A4 44819000 */ mtc1 $at, $f18 -/* 0D1C18 7F09D0A8 460A3402 */ mul.s $f16, $f6, $f10 -/* 0D1C1C 7F09D0AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D1C20 7F09D0B0 44814000 */ mtc1 $at, $f8 -/* 0D1C24 7F09D0B4 C62A0010 */ lwc1 $f10, 0x10($s1) -/* 0D1C28 7F09D0B8 46128102 */ mul.s $f4, $f16, $f18 -/* 0D1C2C 7F09D0BC 46082180 */ add.s $f6, $f4, $f8 -/* 0D1C30 7F09D0C0 460A3402 */ mul.s $f16, $f6, $f10 -/* 0D1C34 7F09D0C4 0C002918 */ jal get_random_value -/* 0D1C38 7F09D0C8 E7B00044 */ swc1 $f16, 0x44($sp) -/* 0D1C3C 7F09D0CC 44829000 */ mtc1 $v0, $f18 -/* 0D1C40 7F09D0D0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1C44 7F09D0D4 04410004 */ bgez $v0, .Ljp7F09D0E8 -/* 0D1C48 7F09D0D8 46809120 */ cvt.s.w $f4, $f18 -/* 0D1C4C 7F09D0DC 44814000 */ mtc1 $at, $f8 -/* 0D1C50 7F09D0E0 00000000 */ nop -/* 0D1C54 7F09D0E4 46082100 */ add.s $f4, $f4, $f8 -.Ljp7F09D0E8: -/* 0D1C58 7F09D0E8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D1C5C 7F09D0EC 44813000 */ mtc1 $at, $f6 -/* 0D1C60 7F09D0F0 3C018005 */ lui $at, %hi(D_800576B4) # $at, 0x8005 -/* 0D1C64 7F09D0F4 C43076E4 */ lwc1 $f16, %lo(D_800576B4)($at) -/* 0D1C68 7F09D0F8 46062282 */ mul.s $f10, $f4, $f6 -/* 0D1C6C 7F09D0FC 00000000 */ nop -/* 0D1C70 7F09D100 46105302 */ mul.s $f12, $f10, $f16 -/* 0D1C74 7F09D104 0FC160F0 */ jal cosf -/* 0D1C78 7F09D108 E7AC0040 */ swc1 $f12, 0x40($sp) -/* 0D1C7C 7F09D10C C7B20044 */ lwc1 $f18, 0x44($sp) -/* 0D1C80 7F09D110 46120202 */ mul.s $f8, $f0, $f18 -/* 0D1C84 7F09D114 E6880014 */ swc1 $f8, 0x14($s4) -/* 0D1C88 7F09D118 0FC160F3 */ jal sinf -/* 0D1C8C 7F09D11C C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 0D1C90 7F09D120 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0D1C94 7F09D124 240F0001 */ li $t7, 1 -/* 0D1C98 7F09D128 A68F001C */ sh $t7, 0x1c($s4) -/* 0D1C9C 7F09D12C 46040182 */ mul.s $f6, $f0, $f4 -/* 0D1CA0 7F09D130 E6860018 */ swc1 $f6, 0x18($s4) -/* 0D1CA4 7F09D134 C66A0000 */ lwc1 $f10, ($s3) -/* 0D1CA8 7F09D138 E68A0008 */ swc1 $f10, 8($s4) -/* 0D1CAC 7F09D13C C6700004 */ lwc1 $f16, 4($s3) -/* 0D1CB0 7F09D140 E690000C */ swc1 $f16, 0xc($s4) -/* 0D1CB4 7F09D144 C6720008 */ lwc1 $f18, 8($s3) -/* 0D1CB8 7F09D148 E6920010 */ swc1 $f18, 0x10($s4) -/* 0D1CBC 7F09D14C 86380024 */ lh $t8, 0x24($s1) -/* 0D1CC0 7F09D150 1B00000E */ blez $t8, .Ljp7F09D18C -/* 0D1CC4 7F09D154 00000000 */ nop -/* 0D1CC8 7F09D158 C6280028 */ lwc1 $f8, 0x28($s1) -.Ljp7F09D15C: -/* 0D1CCC 7F09D15C 8E25002C */ lw $a1, 0x2c($s1) -/* 0D1CD0 7F09D160 8E260030 */ lw $a2, 0x30($s1) -/* 0D1CD4 7F09D164 8E270034 */ lw $a3, 0x34($s1) -/* 0D1CD8 7F09D168 02602025 */ move $a0, $s3 -/* 0D1CDC 7F09D16C 0FC27F7E */ jal sub_GAME_7F09F254 -/* 0D1CE0 7F09D170 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0D1CE4 7F09D174 8FB9004C */ lw $t9, 0x4c($sp) -/* 0D1CE8 7F09D178 26100001 */ addiu $s0, $s0, 1 -/* 0D1CEC 7F09D17C 872E0024 */ lh $t6, 0x24($t9) -/* 0D1CF0 7F09D180 020E082A */ slt $at, $s0, $t6 -/* 0D1CF4 7F09D184 5420FFF5 */ bnezl $at, .Ljp7F09D15C -/* 0D1CF8 7F09D188 C6280028 */ lwc1 $f8, 0x28($s1) -.Ljp7F09D18C: -/* 0D1CFC 7F09D18C 0FC26C01 */ jal get_num_players -/* 0D1D00 7F09D190 00000000 */ nop -/* 0D1D04 7F09D194 28410002 */ slti $at, $v0, 2 -/* 0D1D08 7F09D198 14200058 */ bnez $at, .Ljp7F09D2FC -/* 0D1D0C 7F09D19C 00003025 */ move $a2, $zero -/* 0D1D10 7F09D1A0 3C0D8008 */ lui $t5, %hi(ptr_smoke_buf) # $t5, 0x8008 -/* 0D1D14 7F09D1A4 3C0B8004 */ lui $t3, %hi(D_8004017C) # $t3, 0x8004 -/* 0D1D18 7F09D1A8 256B01AC */ addiu $t3, %lo(D_8004017C) # addiu $t3, $t3, 0x1ac -/* 0D1D1C 7F09D1AC 25ADA1B0 */ addiu $t5, %lo(ptr_smoke_buf) # addiu $t5, $t5, -0x5e50 -/* 0D1D20 7F09D1B0 241F1FE0 */ li $ra, 8160 -/* 0D1D24 7F09D1B4 240C0018 */ li $t4, 24 -/* 0D1D28 7F09D1B8 240A0009 */ li $t2, 9 -/* 0D1D2C 7F09D1BC 24090008 */ li $t1, 8 -/* 0D1D30 7F09D1C0 8DA30000 */ lw $v1, ($t5) -.Ljp7F09D1C4: -/* 0D1D34 7F09D1C4 00662821 */ addu $a1, $v1, $a2 -/* 0D1D38 7F09D1C8 8CAF0000 */ lw $t7, ($a1) -/* 0D1D3C 7F09D1CC 00C33821 */ addu $a3, $a2, $v1 -/* 0D1D40 7F09D1D0 51E00011 */ beql $t7, $zero, .Ljp7F09D218 -/* 0D1D44 7F09D1D4 8CAF0198 */ lw $t7, 0x198($a1) -/* 0D1D48 7F09D1D8 84E20006 */ lh $v0, 6($a3) -/* 0D1D4C 7F09D1DC 5242000E */ beql $s2, $v0, .Ljp7F09D218 -/* 0D1D50 7F09D1E0 8CAF0198 */ lw $t7, 0x198($a1) -/* 0D1D54 7F09D1E4 84E80006 */ lh $t0, 6($a3) -/* 0D1D58 7F09D1E8 5128000B */ beql $t1, $t0, .Ljp7F09D218 -/* 0D1D5C 7F09D1EC 8CAF0198 */ lw $t7, 0x198($a1) -/* 0D1D60 7F09D1F0 51480009 */ beql $t2, $t0, .Ljp7F09D218 -/* 0D1D64 7F09D1F4 8CAF0198 */ lw $t7, 0x198($a1) -/* 0D1D68 7F09D1F8 004C0019 */ multu $v0, $t4 -/* 0D1D6C 7F09D1FC 0000C012 */ mflo $t8 -/* 0D1D70 7F09D200 0178C821 */ addu $t9, $t3, $t8 -/* 0D1D74 7F09D204 872E0000 */ lh $t6, ($t9) -/* 0D1D78 7F09D208 A4EE0004 */ sh $t6, 4($a3) -/* 0D1D7C 7F09D20C 8DA30000 */ lw $v1, ($t5) -/* 0D1D80 7F09D210 00662821 */ addu $a1, $v1, $a2 -/* 0D1D84 7F09D214 8CAF0198 */ lw $t7, 0x198($a1) -.Ljp7F09D218: -/* 0D1D88 7F09D218 00C32021 */ addu $a0, $a2, $v1 -/* 0D1D8C 7F09D21C 51E00011 */ beql $t7, $zero, .Ljp7F09D264 -/* 0D1D90 7F09D220 8CAF0330 */ lw $t7, 0x330($a1) -/* 0D1D94 7F09D224 8482019E */ lh $v0, 0x19e($a0) -/* 0D1D98 7F09D228 24840198 */ addiu $a0, $a0, 0x198 -/* 0D1D9C 7F09D22C 5242000D */ beql $s2, $v0, .Ljp7F09D264 -/* 0D1DA0 7F09D230 8CAF0330 */ lw $t7, 0x330($a1) -/* 0D1DA4 7F09D234 5122000B */ beql $t1, $v0, .Ljp7F09D264 -/* 0D1DA8 7F09D238 8CAF0330 */ lw $t7, 0x330($a1) -/* 0D1DAC 7F09D23C 51420009 */ beql $t2, $v0, .Ljp7F09D264 -/* 0D1DB0 7F09D240 8CAF0330 */ lw $t7, 0x330($a1) -/* 0D1DB4 7F09D244 004C0019 */ multu $v0, $t4 -/* 0D1DB8 7F09D248 0000C012 */ mflo $t8 -/* 0D1DBC 7F09D24C 0178C821 */ addu $t9, $t3, $t8 -/* 0D1DC0 7F09D250 872E0000 */ lh $t6, ($t9) -/* 0D1DC4 7F09D254 A48E0004 */ sh $t6, 4($a0) -/* 0D1DC8 7F09D258 8DA30000 */ lw $v1, ($t5) -/* 0D1DCC 7F09D25C 00662821 */ addu $a1, $v1, $a2 -/* 0D1DD0 7F09D260 8CAF0330 */ lw $t7, 0x330($a1) -.Ljp7F09D264: -/* 0D1DD4 7F09D264 00C32021 */ addu $a0, $a2, $v1 -/* 0D1DD8 7F09D268 51E00011 */ beql $t7, $zero, .Ljp7F09D2B0 -/* 0D1DDC 7F09D26C 8CAF04C8 */ lw $t7, 0x4c8($a1) -/* 0D1DE0 7F09D270 84820336 */ lh $v0, 0x336($a0) -/* 0D1DE4 7F09D274 24840330 */ addiu $a0, $a0, 0x330 -/* 0D1DE8 7F09D278 5242000D */ beql $s2, $v0, .Ljp7F09D2B0 -/* 0D1DEC 7F09D27C 8CAF04C8 */ lw $t7, 0x4c8($a1) -/* 0D1DF0 7F09D280 5122000B */ beql $t1, $v0, .Ljp7F09D2B0 -/* 0D1DF4 7F09D284 8CAF04C8 */ lw $t7, 0x4c8($a1) -/* 0D1DF8 7F09D288 51420009 */ beql $t2, $v0, .Ljp7F09D2B0 -/* 0D1DFC 7F09D28C 8CAF04C8 */ lw $t7, 0x4c8($a1) -/* 0D1E00 7F09D290 004C0019 */ multu $v0, $t4 -/* 0D1E04 7F09D294 0000C012 */ mflo $t8 -/* 0D1E08 7F09D298 0178C821 */ addu $t9, $t3, $t8 -/* 0D1E0C 7F09D29C 872E0000 */ lh $t6, ($t9) -/* 0D1E10 7F09D2A0 A48E0004 */ sh $t6, 4($a0) -/* 0D1E14 7F09D2A4 8DA30000 */ lw $v1, ($t5) -/* 0D1E18 7F09D2A8 00662821 */ addu $a1, $v1, $a2 -/* 0D1E1C 7F09D2AC 8CAF04C8 */ lw $t7, 0x4c8($a1) -.Ljp7F09D2B0: -/* 0D1E20 7F09D2B0 00C32021 */ addu $a0, $a2, $v1 -/* 0D1E24 7F09D2B4 51E0000F */ beql $t7, $zero, .Ljp7F09D2F4 -/* 0D1E28 7F09D2B8 24C60660 */ addiu $a2, $a2, 0x660 -/* 0D1E2C 7F09D2BC 848204CE */ lh $v0, 0x4ce($a0) -/* 0D1E30 7F09D2C0 248404C8 */ addiu $a0, $a0, 0x4c8 -/* 0D1E34 7F09D2C4 5242000B */ beql $s2, $v0, .Ljp7F09D2F4 -/* 0D1E38 7F09D2C8 24C60660 */ addiu $a2, $a2, 0x660 -/* 0D1E3C 7F09D2CC 51220009 */ beql $t1, $v0, .Ljp7F09D2F4 -/* 0D1E40 7F09D2D0 24C60660 */ addiu $a2, $a2, 0x660 -/* 0D1E44 7F09D2D4 51420007 */ beql $t2, $v0, .Ljp7F09D2F4 -/* 0D1E48 7F09D2D8 24C60660 */ addiu $a2, $a2, 0x660 -/* 0D1E4C 7F09D2DC 004C0019 */ multu $v0, $t4 -/* 0D1E50 7F09D2E0 0000C012 */ mflo $t8 -/* 0D1E54 7F09D2E4 0178C821 */ addu $t9, $t3, $t8 -/* 0D1E58 7F09D2E8 872E0000 */ lh $t6, ($t9) -/* 0D1E5C 7F09D2EC A48E0004 */ sh $t6, 4($a0) -/* 0D1E60 7F09D2F0 24C60660 */ addiu $a2, $a2, 0x660 -.Ljp7F09D2F4: -/* 0D1E64 7F09D2F4 54DFFFB3 */ bnel $a2, $ra, .Ljp7F09D1C4 -/* 0D1E68 7F09D2F8 8DA30000 */ lw $v1, ($t5) -.Ljp7F09D2FC: -/* 0D1E6C 7F09D2FC 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F09D300: -/* 0D1E70 7F09D300 0014102B */ sltu $v0, $zero, $s4 -/* 0D1E74 7F09D304 8FB40030 */ lw $s4, 0x30($sp) -/* 0D1E78 7F09D308 8FB00020 */ lw $s0, 0x20($sp) -/* 0D1E7C 7F09D30C 8FB10024 */ lw $s1, 0x24($sp) -/* 0D1E80 7F09D310 8FB20028 */ lw $s2, 0x28($sp) -/* 0D1E84 7F09D314 8FB3002C */ lw $s3, 0x2c($sp) -/* 0D1E88 7F09D318 03E00008 */ jr $ra -/* 0D1E8C 7F09D31C 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - -#endif - - -void sub_GAME_7F09C7AC(void) { - D_80040170 = 6; - D_80040174 = 6; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09C7C4(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_800576B8 -.word 0x3f4ccccd /*0.80000001*/ -.text -glabel sub_GAME_7F09C7C4 -/* 0D12F4 7F09C7C4 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0D12F8 7F09C7C8 3C0E8004 */ lui $t6, %hi(D_80040170) -/* 0D12FC 7F09C7CC 8DCE0170 */ lw $t6, %lo(D_80040170)($t6) -/* 0D1300 7F09C7D0 AFB20030 */ sw $s2, 0x30($sp) -/* 0D1304 7F09C7D4 AFB1002C */ sw $s1, 0x2c($sp) -/* 0D1308 7F09C7D8 00808825 */ move $s1, $a0 -/* 0D130C 7F09C7DC 00A09025 */ move $s2, $a1 -/* 0D1310 7F09C7E0 AFBF003C */ sw $ra, 0x3c($sp) -/* 0D1314 7F09C7E4 AFB40038 */ sw $s4, 0x38($sp) -/* 0D1318 7F09C7E8 AFB30034 */ sw $s3, 0x34($sp) -/* 0D131C 7F09C7EC AFB00028 */ sw $s0, 0x28($sp) -/* 0D1320 7F09C7F0 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D1324 7F09C7F4 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D1328 7F09C7F8 15C00006 */ bnez $t6, .L7F09C814 -/* 0D132C 7F09C7FC AFA60060 */ sw $a2, 0x60($sp) -/* 0D1330 7F09C800 44806000 */ mtc1 $zero, $f12 -/* 0D1334 7F09C804 0C000EC1 */ jal video_related_9 -/* 0D1338 7F09C808 00000000 */ nop -/* 0D133C 7F09C80C 10000069 */ b .L7F09C9B4 -/* 0D1340 7F09C810 8FBF003C */ lw $ra, 0x3c($sp) -.L7F09C814: -/* 0D1344 7F09C814 3C018005 */ lui $at, %hi(D_800576B8) -/* 0D1348 7F09C818 C43476B8 */ lwc1 $f20, %lo(D_800576B8)($at) -/* 0D134C 7F09C81C 0FC15FA8 */ jal cosf -/* 0D1350 7F09C820 4600A306 */ mov.s $f12, $f20 -/* 0D1354 7F09C824 46000586 */ mov.s $f22, $f0 -/* 0D1358 7F09C828 0FC15FAB */ jal sinf -/* 0D135C 7F09C82C 4600A306 */ mov.s $f12, $f20 -/* 0D1360 7F09C830 C6440000 */ lwc1 $f4, ($s2) -/* 0D1364 7F09C834 C6480008 */ lwc1 $f8, 8($s2) -/* 0D1368 7F09C838 4600A306 */ mov.s $f12, $f20 -/* 0D136C 7F09C83C 4604B182 */ mul.s $f6, $f22, $f4 -/* 0D1370 7F09C840 00000000 */ nop -/* 0D1374 7F09C844 46004282 */ mul.s $f10, $f8, $f0 -/* 0D1378 7F09C848 460A3401 */ sub.s $f16, $f6, $f10 -/* 0D137C 7F09C84C 0FC15FAB */ jal sinf -/* 0D1380 7F09C850 E7B00044 */ swc1 $f16, 0x44($sp) -/* 0D1384 7F09C854 46000586 */ mov.s $f22, $f0 -/* 0D1388 7F09C858 0FC15FA8 */ jal cosf -/* 0D138C 7F09C85C 4600A306 */ mov.s $f12, $f20 -/* 0D1390 7F09C860 C6520008 */ lwc1 $f18, 8($s2) -/* 0D1394 7F09C864 C6480000 */ lwc1 $f8, ($s2) -/* 0D1398 7F09C868 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0D139C 7F09C86C 46009102 */ mul.s $f4, $f18, $f0 -/* 0D13A0 7F09C870 3C128004 */ lui $s2, %hi(D_8004017C+0x108) -/* 0D13A4 7F09C874 3C028008 */ lui $v0, %hi(ptr_explosion_buf) -/* 0D13A8 7F09C878 4608B182 */ mul.s $f6, $f22, $f8 -/* 0D13AC 7F09C87C 3C138008 */ lui $s3, %hi(ptr_explosion_buf) -/* 0D13B0 7F09C880 4480A000 */ mtc1 $zero, $f20 -/* 0D13B4 7F09C884 4481B000 */ mtc1 $at, $f22 -/* 0D13B8 7F09C888 2673A144 */ addiu $s3, %lo(ptr_explosion_buf) # addiu $s3, $s3, -0x5ebc -/* 0D13BC 7F09C88C 8C42A144 */ lw $v0, %lo(ptr_explosion_buf)($v0) -/* 0D13C0 7F09C890 26520284 */ addiu $s2, %lo(D_8004017C+0x108) # addiu $s2, $s2, 0x284 -/* 0D13C4 7F09C894 46062280 */ add.s $f10, $f4, $f6 -/* 0D13C8 7F09C898 00008025 */ move $s0, $zero -/* 0D13CC 7F09C89C 24141740 */ li $s4, 5952 -/* 0D13D0 7F09C8A0 E7AA0040 */ swc1 $f10, 0x40($sp) -.L7F09C8A4: -/* 0D13D4 7F09C8A4 8C430000 */ lw $v1, ($v0) -/* 0D13D8 7F09C8A8 5060001A */ beql $v1, $zero, .L7F09C914 -/* 0D13DC 7F09C8AC 261003E0 */ addiu $s0, $s0, 0x3e0 -/* 0D13E0 7F09C8B0 C4700008 */ lwc1 $f16, 8($v1) -/* 0D13E4 7F09C8B4 C6320000 */ lwc1 $f18, ($s1) -/* 0D13E8 7F09C8B8 C468000C */ lwc1 $f8, 0xc($v1) -/* 0D13EC 7F09C8BC C6240004 */ lwc1 $f4, 4($s1) -/* 0D13F0 7F09C8C0 46128001 */ sub.s $f0, $f16, $f18 -/* 0D13F4 7F09C8C4 C4660010 */ lwc1 $f6, 0x10($v1) -/* 0D13F8 7F09C8C8 C62A0008 */ lwc1 $f10, 8($s1) -/* 0D13FC 7F09C8CC 46044081 */ sub.s $f2, $f8, $f4 -/* 0D1400 7F09C8D0 46000402 */ mul.s $f16, $f0, $f0 -/* 0D1404 7F09C8D4 460A3381 */ sub.s $f14, $f6, $f10 -/* 0D1408 7F09C8D8 46021482 */ mul.s $f18, $f2, $f2 -/* 0D140C 7F09C8DC 46128200 */ add.s $f8, $f16, $f18 -/* 0D1410 7F09C8E0 460E7102 */ mul.s $f4, $f14, $f14 -/* 0D1414 7F09C8E4 0C007DF8 */ jal sqrtf -/* 0D1418 7F09C8E8 46044300 */ add.s $f12, $f8, $f4 -/* 0D141C 7F09C8EC 8E6F0000 */ lw $t7, ($s3) -/* 0D1420 7F09C8F0 01F01021 */ addu $v0, $t7, $s0 -/* 0D1424 7F09C8F4 805803CC */ lb $t8, 0x3cc($v0) -/* 0D1428 7F09C8F8 0018C980 */ sll $t9, $t8, 6 -/* 0D142C 7F09C8FC 02594021 */ addu $t0, $s2, $t9 -/* 0D1430 7F09C900 C5060010 */ lwc1 $f6, 0x10($t0) -/* 0D1434 7F09C904 46003083 */ div.s $f2, $f6, $f0 -/* 0D1438 7F09C908 46161282 */ mul.s $f10, $f2, $f22 -/* 0D143C 7F09C90C 460AA500 */ add.s $f20, $f20, $f10 -/* 0D1440 7F09C910 261003E0 */ addiu $s0, $s0, 0x3e0 -.L7F09C914: -/* 0D1444 7F09C914 1614FFE3 */ bne $s0, $s4, .L7F09C8A4 -/* 0D1448 7F09C918 244203E0 */ addiu $v0, $v0, 0x3e0 -/* 0D144C 7F09C91C 3C038004 */ lui $v1, %hi(D_80040174) -/* 0D1450 7F09C920 24630174 */ addiu $v1, %lo(D_80040174) # addiu $v1, $v1, 0x174 -/* 0D1454 7F09C924 8C620000 */ lw $v0, ($v1) -/* 0D1458 7F09C928 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D145C 7F09C92C 18400005 */ blez $v0, .L7F09C944 -/* 0D1460 7F09C930 00000000 */ nop -/* 0D1464 7F09C934 44818000 */ mtc1 $at, $f16 -/* 0D1468 7F09C938 2449FFFF */ addiu $t1, $v0, -1 -/* 0D146C 7F09C93C AC690000 */ sw $t1, ($v1) -/* 0D1470 7F09C940 4610A500 */ add.s $f20, $f20, $f16 -.L7F09C944: -/* 0D1474 7F09C944 3C028004 */ lui $v0, %hi(D_80040170) -/* 0D1478 7F09C948 24420170 */ addiu $v0, %lo(D_80040170) # addiu $v0, $v0, 0x170 -/* 0D147C 7F09C94C 8C4A0000 */ lw $t2, ($v0) -/* 0D1480 7F09C950 254BFFFF */ addiu $t3, $t2, -1 -/* 0D1484 7F09C954 316D0002 */ andi $t5, $t3, 2 -/* 0D1488 7F09C958 11A00005 */ beqz $t5, .L7F09C970 -/* 0D148C 7F09C95C AC4B0000 */ sw $t3, ($v0) -/* 0D1490 7F09C960 8FA30060 */ lw $v1, 0x60($sp) -/* 0D1494 7F09C964 E4740004 */ swc1 $f20, 4($v1) -/* 0D1498 7F09C968 10000004 */ b .L7F09C97C -/* 0D149C 7F09C96C 4600A507 */ neg.s $f20, $f20 -.L7F09C970: -/* 0D14A0 7F09C970 8FA30060 */ lw $v1, 0x60($sp) -/* 0D14A4 7F09C974 4600A487 */ neg.s $f18, $f20 -/* 0D14A8 7F09C978 E4720004 */ swc1 $f18, 4($v1) -.L7F09C97C: -/* 0D14AC 7F09C97C C7A80044 */ lwc1 $f8, 0x44($sp) -/* 0D14B0 7F09C980 4608A102 */ mul.s $f4, $f20, $f8 -/* 0D14B4 7F09C984 E4640000 */ swc1 $f4, ($v1) -/* 0D14B8 7F09C988 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 0D14BC 7F09C98C 4606A282 */ mul.s $f10, $f20, $f6 -/* 0D14C0 7F09C990 E46A0008 */ swc1 $f10, 8($v1) -/* 0D14C4 7F09C994 8C4F0000 */ lw $t7, ($v0) -/* 0D14C8 7F09C998 448F8000 */ mtc1 $t7, $f16 -/* 0D14CC 7F09C99C 00000000 */ nop -/* 0D14D0 7F09C9A0 468084A0 */ cvt.s.w $f18, $f16 -/* 0D14D4 7F09C9A4 46149302 */ mul.s $f12, $f18, $f20 -/* 0D14D8 7F09C9A8 0C000EC1 */ jal video_related_9 -/* 0D14DC 7F09C9AC 00000000 */ nop -/* 0D14E0 7F09C9B0 8FBF003C */ lw $ra, 0x3c($sp) -.L7F09C9B4: -/* 0D14E4 7F09C9B4 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D14E8 7F09C9B8 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D14EC 7F09C9BC 8FB00028 */ lw $s0, 0x28($sp) -/* 0D14F0 7F09C9C0 8FB1002C */ lw $s1, 0x2c($sp) -/* 0D14F4 7F09C9C4 8FB20030 */ lw $s2, 0x30($sp) -/* 0D14F8 7F09C9C8 8FB30034 */ lw $s3, 0x34($sp) -/* 0D14FC 7F09C9CC 8FB40038 */ lw $s4, 0x38($sp) -/* 0D1500 7F09C9D0 03E00008 */ jr $ra -/* 0D1504 7F09C9D4 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_800576B8 -.word 0x3f4ccccd /*0.80000001*/ -.word 0x38d1b717 -.text -glabel sub_GAME_7F09C7C4 -/* 0D1EA8 7F09D338 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0D1EAC 7F09D33C 3C0E8004 */ lui $t6, %hi(D_80040170) # $t6, 0x8004 -/* 0D1EB0 7F09D340 8DCE01A0 */ lw $t6, %lo(D_80040170)($t6) -/* 0D1EB4 7F09D344 AFB20040 */ sw $s2, 0x40($sp) -/* 0D1EB8 7F09D348 AFB1003C */ sw $s1, 0x3c($sp) -/* 0D1EBC 7F09D34C 00808825 */ move $s1, $a0 -/* 0D1EC0 7F09D350 00A09025 */ move $s2, $a1 -/* 0D1EC4 7F09D354 AFBF004C */ sw $ra, 0x4c($sp) -/* 0D1EC8 7F09D358 AFB40048 */ sw $s4, 0x48($sp) -/* 0D1ECC 7F09D35C AFB30044 */ sw $s3, 0x44($sp) -/* 0D1ED0 7F09D360 AFB00038 */ sw $s0, 0x38($sp) -/* 0D1ED4 7F09D364 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0D1ED8 7F09D368 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0D1EDC 7F09D36C F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D1EE0 7F09D370 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D1EE4 7F09D374 15C00006 */ bnez $t6, .Ljp7F09D390 -/* 0D1EE8 7F09D378 AFA60070 */ sw $a2, 0x70($sp) -/* 0D1EEC 7F09D37C 44806000 */ mtc1 $zero, $f12 -/* 0D1EF0 7F09D380 0C000EC1 */ jal video_related_9 -/* 0D1EF4 7F09D384 00000000 */ nop -/* 0D1EF8 7F09D388 10000071 */ b .Ljp7F09D550 -/* 0D1EFC 7F09D38C 8FBF004C */ lw $ra, 0x4c($sp) -.Ljp7F09D390: -/* 0D1F00 7F09D390 3C018005 */ lui $at, %hi(D_800576B8) # $at, 0x8005 -/* 0D1F04 7F09D394 C43476E8 */ lwc1 $f20, %lo(D_800576B8)($at) -/* 0D1F08 7F09D398 0FC160F0 */ jal cosf -/* 0D1F0C 7F09D39C 4600A306 */ mov.s $f12, $f20 -/* 0D1F10 7F09D3A0 46000606 */ mov.s $f24, $f0 -/* 0D1F14 7F09D3A4 0FC160F3 */ jal sinf -/* 0D1F18 7F09D3A8 4600A306 */ mov.s $f12, $f20 -/* 0D1F1C 7F09D3AC C6440000 */ lwc1 $f4, ($s2) -/* 0D1F20 7F09D3B0 C6480008 */ lwc1 $f8, 8($s2) -/* 0D1F24 7F09D3B4 4600A306 */ mov.s $f12, $f20 -/* 0D1F28 7F09D3B8 4604C182 */ mul.s $f6, $f24, $f4 -/* 0D1F2C 7F09D3BC 00000000 */ nop -/* 0D1F30 7F09D3C0 46004282 */ mul.s $f10, $f8, $f0 -/* 0D1F34 7F09D3C4 460A3401 */ sub.s $f16, $f6, $f10 -/* 0D1F38 7F09D3C8 0FC160F3 */ jal sinf -/* 0D1F3C 7F09D3CC E7B00054 */ swc1 $f16, 0x54($sp) -/* 0D1F40 7F09D3D0 46000606 */ mov.s $f24, $f0 -/* 0D1F44 7F09D3D4 0FC160F0 */ jal cosf -/* 0D1F48 7F09D3D8 4600A306 */ mov.s $f12, $f20 -/* 0D1F4C 7F09D3DC C6520008 */ lwc1 $f18, 8($s2) -/* 0D1F50 7F09D3E0 C6480000 */ lwc1 $f8, ($s2) -/* 0D1F54 7F09D3E4 4480B000 */ mtc1 $zero, $f22 -/* 0D1F58 7F09D3E8 46009102 */ mul.s $f4, $f18, $f0 -/* 0D1F5C 7F09D3EC 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0D1F60 7F09D3F0 4481D000 */ mtc1 $at, $f26 -/* 0D1F64 7F09D3F4 4608C182 */ mul.s $f6, $f24, $f8 -/* 0D1F68 7F09D3F8 3C018005 */ lui $at, %hi(D_800576B8+0x4) # $at, 0x8005 -/* 0D1F6C 7F09D3FC 3C128004 */ lui $s2, %hi(D_8004017C+0x108) # $s2, 0x8004 -/* 0D1F70 7F09D400 3C028008 */ lui $v0, %hi(ptr_explosion_buf) # $v0, 0x8008 -/* 0D1F74 7F09D404 3C138008 */ lui $s3, %hi(ptr_explosion_buf) # $s3, 0x8008 -/* 0D1F78 7F09D408 2673A1B4 */ addiu $s3, %lo(ptr_explosion_buf) # addiu $s3, $s3, -0x5e4c -/* 0D1F7C 7F09D40C 8C42A1B4 */ lw $v0, %lo(ptr_explosion_buf)($v0) -/* 0D1F80 7F09D410 46062280 */ add.s $f10, $f4, $f6 -/* 0D1F84 7F09D414 265202B4 */ addiu $s2, %lo(D_8004017C+0x108) # addiu $s2, $s2, 0x2b4 -/* 0D1F88 7F09D418 C43876EC */ lwc1 $f24, %lo(D_800576B8+0x4)($at) -/* 0D1F8C 7F09D41C 00008025 */ move $s0, $zero -/* 0D1F90 7F09D420 E7AA0050 */ swc1 $f10, 0x50($sp) -/* 0D1F94 7F09D424 24141740 */ li $s4, 5952 -/* 0D1F98 7F09D428 4600B506 */ mov.s $f20, $f22 -.Ljp7F09D42C: -/* 0D1F9C 7F09D42C 8C430000 */ lw $v1, ($v0) -/* 0D1FA0 7F09D430 5060001F */ beql $v1, $zero, .Ljp7F09D4B0 -/* 0D1FA4 7F09D434 261003E0 */ addiu $s0, $s0, 0x3e0 -/* 0D1FA8 7F09D438 C4700008 */ lwc1 $f16, 8($v1) -/* 0D1FAC 7F09D43C C6320000 */ lwc1 $f18, ($s1) -/* 0D1FB0 7F09D440 C468000C */ lwc1 $f8, 0xc($v1) -/* 0D1FB4 7F09D444 C6240004 */ lwc1 $f4, 4($s1) -/* 0D1FB8 7F09D448 46128001 */ sub.s $f0, $f16, $f18 -/* 0D1FBC 7F09D44C C4660010 */ lwc1 $f6, 0x10($v1) -/* 0D1FC0 7F09D450 C62A0008 */ lwc1 $f10, 8($s1) -/* 0D1FC4 7F09D454 46044081 */ sub.s $f2, $f8, $f4 -/* 0D1FC8 7F09D458 46000402 */ mul.s $f16, $f0, $f0 -/* 0D1FCC 7F09D45C 460A3381 */ sub.s $f14, $f6, $f10 -/* 0D1FD0 7F09D460 46021482 */ mul.s $f18, $f2, $f2 -/* 0D1FD4 7F09D464 46128200 */ add.s $f8, $f16, $f18 -/* 0D1FD8 7F09D468 460E7102 */ mul.s $f4, $f14, $f14 -/* 0D1FDC 7F09D46C 0C007E08 */ jal sqrtf -/* 0D1FE0 7F09D470 46044300 */ add.s $f12, $f8, $f4 -/* 0D1FE4 7F09D474 46160032 */ c.eq.s $f0, $f22 -/* 0D1FE8 7F09D478 46000086 */ mov.s $f2, $f0 -/* 0D1FEC 7F09D47C 45020003 */ bc1fl .Ljp7F09D48C -/* 0D1FF0 7F09D480 8E6F0000 */ lw $t7, ($s3) -/* 0D1FF4 7F09D484 4600C086 */ mov.s $f2, $f24 -/* 0D1FF8 7F09D488 8E6F0000 */ lw $t7, ($s3) -.Ljp7F09D48C: -/* 0D1FFC 7F09D48C 01F01021 */ addu $v0, $t7, $s0 -/* 0D2000 7F09D490 805803CC */ lb $t8, 0x3cc($v0) -/* 0D2004 7F09D494 0018C980 */ sll $t9, $t8, 6 -/* 0D2008 7F09D498 02594021 */ addu $t0, $s2, $t9 -/* 0D200C 7F09D49C C5060010 */ lwc1 $f6, 0x10($t0) -/* 0D2010 7F09D4A0 46023003 */ div.s $f0, $f6, $f2 -/* 0D2014 7F09D4A4 461A0282 */ mul.s $f10, $f0, $f26 -/* 0D2018 7F09D4A8 460AA500 */ add.s $f20, $f20, $f10 -/* 0D201C 7F09D4AC 261003E0 */ addiu $s0, $s0, 0x3e0 -.Ljp7F09D4B0: -/* 0D2020 7F09D4B0 1614FFDE */ bne $s0, $s4, .Ljp7F09D42C -/* 0D2024 7F09D4B4 244203E0 */ addiu $v0, $v0, 0x3e0 -/* 0D2028 7F09D4B8 3C038004 */ lui $v1, %hi(D_80040174) # $v1, 0x8004 -/* 0D202C 7F09D4BC 246301A4 */ addiu $v1, %lo(D_80040174) # addiu $v1, $v1, 0x1a4 -/* 0D2030 7F09D4C0 8C620000 */ lw $v0, ($v1) -/* 0D2034 7F09D4C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D2038 7F09D4C8 18400005 */ blez $v0, .Ljp7F09D4E0 -/* 0D203C 7F09D4CC 00000000 */ nop -/* 0D2040 7F09D4D0 44818000 */ mtc1 $at, $f16 -/* 0D2044 7F09D4D4 2449FFFF */ addiu $t1, $v0, -1 -/* 0D2048 7F09D4D8 AC690000 */ sw $t1, ($v1) -/* 0D204C 7F09D4DC 4610A500 */ add.s $f20, $f20, $f16 -.Ljp7F09D4E0: -/* 0D2050 7F09D4E0 3C028004 */ lui $v0, %hi(D_80040170) # $v0, 0x8004 -/* 0D2054 7F09D4E4 244201A0 */ addiu $v0, %lo(D_80040170) # addiu $v0, $v0, 0x1a0 -/* 0D2058 7F09D4E8 8C4A0000 */ lw $t2, ($v0) -/* 0D205C 7F09D4EC 254BFFFF */ addiu $t3, $t2, -1 -/* 0D2060 7F09D4F0 316D0002 */ andi $t5, $t3, 2 -/* 0D2064 7F09D4F4 11A00005 */ beqz $t5, .Ljp7F09D50C -/* 0D2068 7F09D4F8 AC4B0000 */ sw $t3, ($v0) -/* 0D206C 7F09D4FC 8FA30070 */ lw $v1, 0x70($sp) -/* 0D2070 7F09D500 E4740004 */ swc1 $f20, 4($v1) -/* 0D2074 7F09D504 10000004 */ b .Ljp7F09D518 -/* 0D2078 7F09D508 4600A507 */ neg.s $f20, $f20 -.Ljp7F09D50C: -/* 0D207C 7F09D50C 8FA30070 */ lw $v1, 0x70($sp) -/* 0D2080 7F09D510 4600A487 */ neg.s $f18, $f20 -/* 0D2084 7F09D514 E4720004 */ swc1 $f18, 4($v1) -.Ljp7F09D518: -/* 0D2088 7F09D518 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 0D208C 7F09D51C 4608A102 */ mul.s $f4, $f20, $f8 -/* 0D2090 7F09D520 E4640000 */ swc1 $f4, ($v1) -/* 0D2094 7F09D524 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 0D2098 7F09D528 4606A282 */ mul.s $f10, $f20, $f6 -/* 0D209C 7F09D52C E46A0008 */ swc1 $f10, 8($v1) -/* 0D20A0 7F09D530 8C4F0000 */ lw $t7, ($v0) -/* 0D20A4 7F09D534 448F8000 */ mtc1 $t7, $f16 -/* 0D20A8 7F09D538 00000000 */ nop -/* 0D20AC 7F09D53C 468084A0 */ cvt.s.w $f18, $f16 -/* 0D20B0 7F09D540 46149302 */ mul.s $f12, $f18, $f20 -/* 0D20B4 7F09D544 0C000EC1 */ jal video_related_9 -/* 0D20B8 7F09D548 00000000 */ nop -/* 0D20BC 7F09D54C 8FBF004C */ lw $ra, 0x4c($sp) -.Ljp7F09D550: -/* 0D20C0 7F09D550 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D20C4 7F09D554 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D20C8 7F09D558 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0D20CC 7F09D55C D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0D20D0 7F09D560 8FB00038 */ lw $s0, 0x38($sp) -/* 0D20D4 7F09D564 8FB1003C */ lw $s1, 0x3c($sp) -/* 0D20D8 7F09D568 8FB20040 */ lw $s2, 0x40($sp) -/* 0D20DC 7F09D56C 8FB30044 */ lw $s3, 0x44($sp) -/* 0D20E0 7F09D570 8FB40048 */ lw $s4, 0x48($sp) -/* 0D20E4 7F09D574 03E00008 */ jr $ra -/* 0D20E8 7F09D578 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F09C9D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09C9D8 -/* 0D1508 7F09C9D8 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 0D150C 7F09C9DC AFBF006C */ sw $ra, 0x6c($sp) -/* 0D1510 7F09C9E0 AFB60068 */ sw $s6, 0x68($sp) -/* 0D1514 7F09C9E4 AFB50064 */ sw $s5, 0x64($sp) -/* 0D1518 7F09C9E8 AFB40060 */ sw $s4, 0x60($sp) -/* 0D151C 7F09C9EC AFB3005C */ sw $s3, 0x5c($sp) -/* 0D1520 7F09C9F0 AFB20058 */ sw $s2, 0x58($sp) -/* 0D1524 7F09C9F4 AFB10054 */ sw $s1, 0x54($sp) -/* 0D1528 7F09C9F8 AFB00050 */ sw $s0, 0x50($sp) -/* 0D152C 7F09C9FC F7BE0048 */ sdc1 $f30, 0x48($sp) -/* 0D1530 7F09CA00 F7BC0040 */ sdc1 $f28, 0x40($sp) -/* 0D1534 7F09CA04 F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 0D1538 7F09CA08 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 0D153C 7F09CA0C F7B60028 */ sdc1 $f22, 0x28($sp) -/* 0D1540 7F09CA10 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0D1544 7F09CA14 AFA60108 */ sw $a2, 0x108($sp) -/* 0D1548 7F09CA18 8C920004 */ lw $s2, 4($a0) -/* 0D154C 7F09CA1C 3C188004 */ lui $t8, %hi(D_8004017C+0x108) -/* 0D1550 7F09CA20 4485E000 */ mtc1 $a1, $f28 -/* 0D1554 7F09CA24 824E03CC */ lb $t6, 0x3cc($s2) -/* 0D1558 7F09CA28 865903C8 */ lh $t9, 0x3c8($s2) -/* 0D155C 7F09CA2C 864803CA */ lh $t0, 0x3ca($s2) -/* 0D1560 7F09CA30 27180284 */ addiu $t8, %lo(D_8004017C+0x108) # addiu $t8, $t8, 0x284 -/* 0D1564 7F09CA34 000E7980 */ sll $t7, $t6, 6 -/* 0D1568 7F09CA38 0328082A */ slt $at, $t9, $t0 -/* 0D156C 7F09CA3C 00808825 */ move $s1, $a0 -/* 0D1570 7F09CA40 14200119 */ bnez $at, .L7F09CEA8 -/* 0D1574 7F09CA44 01F8B021 */ addu $s6, $t7, $t8 -/* 0D1578 7F09CA48 27B000E0 */ addiu $s0, $sp, 0xe0 -/* 0D157C 7F09CA4C 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 0D1580 7F09CA50 02002825 */ move $a1, $s0 -/* 0D1584 7F09CA54 0FC0F8FF */ jal sub_GAME_7F03E3FC -/* 0D1588 7F09CA58 02002025 */ move $a0, $s0 -/* 0D158C 7F09CA5C 3C138007 */ lui $s3, %hi(ptr_list_object_lookup_indices) -/* 0D1590 7F09CA60 8E739C30 */ lw $s3, %lo(ptr_list_object_lookup_indices)($s3) -/* 0D1594 7F09CA64 24150003 */ li $s5, 3 -/* 0D1598 7F09CA68 86620000 */ lh $v0, ($s3) -/* 0D159C 7F09CA6C 0442010A */ bltzl $v0, .L7F09CE98 -/* 0D15A0 7F09CA70 86C9001C */ lh $t1, 0x1c($s6) -/* 0D15A4 7F09CA74 4480F000 */ mtc1 $zero, $f30 -/* 0D15A8 7F09CA78 24140001 */ li $s4, 1 -/* 0D15AC 7F09CA7C 00024880 */ sll $t1, $v0, 2 -.L7F09CA80: -/* 0D15B0 7F09CA80 01224823 */ subu $t1, $t1, $v0 -/* 0D15B4 7F09CA84 00094880 */ sll $t1, $t1, 2 -/* 0D15B8 7F09CA88 8E4B0004 */ lw $t3, 4($s2) -/* 0D15BC 7F09CA8C 01224821 */ addu $t1, $t1, $v0 -/* 0D15C0 7F09CA90 3C0A8007 */ lui $t2, %hi(pos_data_entry) -/* 0D15C4 7F09CA94 254A9C38 */ addiu $t2, %lo(pos_data_entry) # addiu $t2, $t2, -0x63c8 -/* 0D15C8 7F09CA98 00094880 */ sll $t1, $t1, 2 -/* 0D15CC 7F09CA9C 012A8021 */ addu $s0, $t1, $t2 -/* 0D15D0 7F09CAA0 520B00F9 */ beql $s0, $t3, .L7F09CE88 -/* 0D15D4 7F09CAA4 86620002 */ lh $v0, 2($s3) -/* 0D15D8 7F09CAA8 860C0002 */ lh $t4, 2($s0) -/* 0D15DC 7F09CAAC 558000F6 */ bnezl $t4, .L7F09CE88 -/* 0D15E0 7F09CAB0 86620002 */ lh $v0, 2($s3) -/* 0D15E4 7F09CAB4 92020000 */ lbu $v0, ($s0) -/* 0D15E8 7F09CAB8 24010004 */ li $at, 4 -/* 0D15EC 7F09CABC 52820006 */ beql $s4, $v0, .L7F09CAD8 -/* 0D15F0 7F09CAC0 8E030004 */ lw $v1, 4($s0) -/* 0D15F4 7F09CAC4 10410003 */ beq $v0, $at, .L7F09CAD4 -/* 0D15F8 7F09CAC8 24010002 */ li $at, 2 -/* 0D15FC 7F09CACC 1441006B */ bne $v0, $at, .L7F09CC7C -/* 0D1600 7F09CAD0 00000000 */ nop -.L7F09CAD4: -/* 0D1604 7F09CAD4 8E030004 */ lw $v1, 4($s0) -.L7F09CAD8: -/* 0D1608 7F09CAD8 C6260008 */ lwc1 $f6, 8($s1) -/* 0D160C 7F09CADC C62A000C */ lwc1 $f10, 0xc($s1) -/* 0D1610 7F09CAE0 C4640058 */ lwc1 $f4, 0x58($v1) -/* 0D1614 7F09CAE4 C468005C */ lwc1 $f8, 0x5c($v1) -/* 0D1618 7F09CAE8 46062481 */ sub.s $f18, $f4, $f6 -/* 0D161C 7F09CAEC C6260010 */ lwc1 $f6, 0x10($s1) -/* 0D1620 7F09CAF0 C4640060 */ lwc1 $f4, 0x60($v1) -/* 0D1624 7F09CAF4 460A4501 */ sub.s $f20, $f8, $f10 -/* 0D1628 7F09CAF8 461C903E */ c.le.s $f18, $f28 -/* 0D162C 7F09CAFC 46062581 */ sub.s $f22, $f4, $f6 -/* 0D1630 7F09CB00 4500005C */ bc1f .L7F09CC74 -/* 0D1634 7F09CB04 00000000 */ nop -/* 0D1638 7F09CB08 4600E007 */ neg.s $f0, $f28 -/* 0D163C 7F09CB0C C7A80108 */ lwc1 $f8, 0x108($sp) -/* 0D1640 7F09CB10 4612003E */ c.le.s $f0, $f18 -/* 0D1644 7F09CB14 00000000 */ nop -/* 0D1648 7F09CB18 45000056 */ bc1f .L7F09CC74 -/* 0D164C 7F09CB1C 00000000 */ nop -/* 0D1650 7F09CB20 4608A03E */ c.le.s $f20, $f8 -/* 0D1654 7F09CB24 00000000 */ nop -/* 0D1658 7F09CB28 45000052 */ bc1f .L7F09CC74 -/* 0D165C 7F09CB2C 00000000 */ nop -/* 0D1660 7F09CB30 46004287 */ neg.s $f10, $f8 -/* 0D1664 7F09CB34 4614503E */ c.le.s $f10, $f20 -/* 0D1668 7F09CB38 00000000 */ nop -/* 0D166C 7F09CB3C 4500004D */ bc1f .L7F09CC74 -/* 0D1670 7F09CB40 00000000 */ nop -/* 0D1674 7F09CB44 461CB03E */ c.le.s $f22, $f28 -/* 0D1678 7F09CB48 00000000 */ nop -/* 0D167C 7F09CB4C 45000049 */ bc1f .L7F09CC74 -/* 0D1680 7F09CB50 00000000 */ nop -/* 0D1684 7F09CB54 4616003E */ c.le.s $f0, $f22 -/* 0D1688 7F09CB58 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D168C 7F09CB5C 45000045 */ bc1f .L7F09CC74 -/* 0D1690 7F09CB60 00000000 */ nop -/* 0D1694 7F09CB64 461C9083 */ div.s $f2, $f18, $f28 -/* 0D1698 7F09CB68 C6DA003C */ lwc1 $f26, 0x3c($s6) -/* 0D169C 7F09CB6C 4608A383 */ div.s $f14, $f20, $f8 -/* 0D16A0 7F09CB70 46001006 */ mov.s $f0, $f2 -/* 0D16A4 7F09CB74 461E103C */ c.lt.s $f2, $f30 -/* 0D16A8 7F09CB78 461CB603 */ div.s $f24, $f22, $f28 -/* 0D16AC 7F09CB7C 4481B000 */ mtc1 $at, $f22 -/* 0D16B0 7F09CB80 46007306 */ mov.s $f12, $f14 -/* 0D16B4 7F09CB84 45000002 */ bc1f .L7F09CB90 -/* 0D16B8 7F09CB88 4600C406 */ mov.s $f16, $f24 -/* 0D16BC 7F09CB8C 46001007 */ neg.s $f0, $f2 -.L7F09CB90: -/* 0D16C0 7F09CB90 461E703C */ c.lt.s $f14, $f30 -/* 0D16C4 7F09CB94 4600B501 */ sub.s $f20, $f22, $f0 -/* 0D16C8 7F09CB98 45020003 */ bc1fl .L7F09CBA8 -/* 0D16CC 7F09CB9C 461EC03C */ c.lt.s $f24, $f30 -/* 0D16D0 7F09CBA0 46007307 */ neg.s $f12, $f14 -/* 0D16D4 7F09CBA4 461EC03C */ c.lt.s $f24, $f30 -.L7F09CBA8: -/* 0D16D8 7F09CBA8 460CB301 */ sub.s $f12, $f22, $f12 -/* 0D16DC 7F09CBAC 45020003 */ bc1fl .L7F09CBBC -/* 0D16E0 7F09CBB0 4614603C */ c.lt.s $f12, $f20 -/* 0D16E4 7F09CBB4 4600C407 */ neg.s $f16, $f24 -/* 0D16E8 7F09CBB8 4614603C */ c.lt.s $f12, $f20 -.L7F09CBBC: -/* 0D16EC 7F09CBBC 4610B401 */ sub.s $f16, $f22, $f16 -/* 0D16F0 7F09CBC0 45020003 */ bc1fl .L7F09CBD0 -/* 0D16F4 7F09CBC4 4614803C */ c.lt.s $f16, $f20 -/* 0D16F8 7F09CBC8 46006506 */ mov.s $f20, $f12 -/* 0D16FC 7F09CBCC 4614803C */ c.lt.s $f16, $f20 -.L7F09CBD0: -/* 0D1700 7F09CBD0 00000000 */ nop -/* 0D1704 7F09CBD4 45020003 */ bc1fl .L7F09CBE4 -/* 0D1708 7F09CBD8 8C6D0064 */ lw $t5, 0x64($v1) -/* 0D170C 7F09CBDC 46008506 */ mov.s $f20, $f16 -/* 0D1710 7F09CBE0 8C6D0064 */ lw $t5, 0x64($v1) -.L7F09CBE4: -/* 0D1714 7F09CBE4 461AA502 */ mul.s $f20, $f20, $f26 -/* 0D1718 7F09CBE8 31AE1000 */ andi $t6, $t5, 0x1000 -/* 0D171C 7F09CBEC 15C00021 */ bnez $t6, .L7F09CC74 -/* 0D1720 7F09CBF0 00000000 */ nop -/* 0D1724 7F09CBF4 8C6F000C */ lw $t7, 0xc($v1) -/* 0D1728 7F09CBF8 3C010020 */ lui $at, (0x00200400 >> 16) # lui $at, 0x20 -/* 0D172C 7F09CBFC 34210400 */ ori $at, (0x00200400 & 0xFFFF) # ori $at, $at, 0x400 -/* 0D1730 7F09CC00 01E1C024 */ and $t8, $t7, $at -/* 0D1734 7F09CC04 1700001B */ bnez $t8, .L7F09CC74 -/* 0D1738 7F09CC08 00000000 */ nop -/* 0D173C 7F09CC0C 0C002914 */ jal get_random_value -/* 0D1740 7F09CC10 AFA300CC */ sw $v1, 0xcc($sp) -/* 0D1744 7F09CC14 44822000 */ mtc1 $v0, $f4 -/* 0D1748 7F09CC18 8FA300CC */ lw $v1, 0xcc($sp) -/* 0D174C 7F09CC1C 02002025 */ move $a0, $s0 -/* 0D1750 7F09CC20 04410005 */ bgez $v0, .L7F09CC38 -/* 0D1754 7F09CC24 468021A0 */ cvt.s.w $f6, $f4 -/* 0D1758 7F09CC28 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D175C 7F09CC2C 44815000 */ mtc1 $at, $f10 -/* 0D1760 7F09CC30 00000000 */ nop -/* 0D1764 7F09CC34 460A3180 */ add.s $f6, $f6, $f10 -.L7F09CC38: -/* 0D1768 7F09CC38 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D176C 7F09CC3C 44814000 */ mtc1 $at, $f8 -/* 0D1770 7F09CC40 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D1774 7F09CC44 44815000 */ mtc1 $at, $f10 -/* 0D1778 7F09CC48 46083102 */ mul.s $f4, $f6, $f8 -/* 0D177C 7F09CC4C 825903CE */ lb $t9, 0x3ce($s2) -/* 0D1780 7F09CC50 24660058 */ addiu $a2, $v1, 0x58 -/* 0D1784 7F09CC54 2407001D */ li $a3, 29 -/* 0D1788 7F09CC58 AFB90010 */ sw $t9, 0x10($sp) -/* 0D178C 7F09CC5C 460A2182 */ mul.s $f6, $f4, $f10 -/* 0D1790 7F09CC60 46163200 */ add.s $f8, $f6, $f22 -/* 0D1794 7F09CC64 46144102 */ mul.s $f4, $f8, $f20 -/* 0D1798 7F09CC68 44052000 */ mfc1 $a1, $f4 -/* 0D179C 7F09CC6C 0FC137BF */ jal sub_GAME_7F04DEFC -/* 0D17A0 7F09CC70 00000000 */ nop -.L7F09CC74: -/* 0D17A4 7F09CC74 10000084 */ b .L7F09CE88 -/* 0D17A8 7F09CC78 86620002 */ lh $v0, 2($s3) -.L7F09CC7C: -/* 0D17AC 7F09CC7C 12A20003 */ beq $s5, $v0, .L7F09CC8C -/* 0D17B0 7F09CC80 24010006 */ li $at, 6 -/* 0D17B4 7F09CC84 54410080 */ bnel $v0, $at, .L7F09CE88 -/* 0D17B8 7F09CC88 86620002 */ lh $v0, 2($s3) -.L7F09CC8C: -/* 0D17BC 7F09CC8C C60A0008 */ lwc1 $f10, 8($s0) -/* 0D17C0 7F09CC90 C6260008 */ lwc1 $f6, 8($s1) -/* 0D17C4 7F09CC94 C608000C */ lwc1 $f8, 0xc($s0) -/* 0D17C8 7F09CC98 C624000C */ lwc1 $f4, 0xc($s1) -/* 0D17CC 7F09CC9C 46065581 */ sub.s $f22, $f10, $f6 -/* 0D17D0 7F09CCA0 C6260010 */ lwc1 $f6, 0x10($s1) -/* 0D17D4 7F09CCA4 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 0D17D8 7F09CCA8 46044481 */ sub.s $f18, $f8, $f4 -/* 0D17DC 7F09CCAC 461CB03E */ c.le.s $f22, $f28 -/* 0D17E0 7F09CCB0 46065601 */ sub.s $f24, $f10, $f6 -/* 0D17E4 7F09CCB4 45020074 */ bc1fl .L7F09CE88 -/* 0D17E8 7F09CCB8 86620002 */ lh $v0, 2($s3) -/* 0D17EC 7F09CCBC 4600E007 */ neg.s $f0, $f28 -/* 0D17F0 7F09CCC0 C7A80108 */ lwc1 $f8, 0x108($sp) -/* 0D17F4 7F09CCC4 4616003E */ c.le.s $f0, $f22 -/* 0D17F8 7F09CCC8 00000000 */ nop -/* 0D17FC 7F09CCCC 4502006E */ bc1fl .L7F09CE88 -/* 0D1800 7F09CCD0 86620002 */ lh $v0, 2($s3) -/* 0D1804 7F09CCD4 4608903E */ c.le.s $f18, $f8 -/* 0D1808 7F09CCD8 00000000 */ nop -/* 0D180C 7F09CCDC 4502006A */ bc1fl .L7F09CE88 -/* 0D1810 7F09CCE0 86620002 */ lh $v0, 2($s3) -/* 0D1814 7F09CCE4 46004107 */ neg.s $f4, $f8 -/* 0D1818 7F09CCE8 4612203E */ c.le.s $f4, $f18 -/* 0D181C 7F09CCEC 00000000 */ nop -/* 0D1820 7F09CCF0 45020065 */ bc1fl .L7F09CE88 -/* 0D1824 7F09CCF4 86620002 */ lh $v0, 2($s3) -/* 0D1828 7F09CCF8 461CC03E */ c.le.s $f24, $f28 -/* 0D182C 7F09CCFC 00000000 */ nop -/* 0D1830 7F09CD00 45020061 */ bc1fl .L7F09CE88 -/* 0D1834 7F09CD04 86620002 */ lh $v0, 2($s3) -/* 0D1838 7F09CD08 4618003E */ c.le.s $f0, $f24 -/* 0D183C 7F09CD0C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D1840 7F09CD10 4502005D */ bc1fl .L7F09CE88 -/* 0D1844 7F09CD14 86620002 */ lh $v0, 2($s3) -/* 0D1848 7F09CD18 461CB083 */ div.s $f2, $f22, $f28 -/* 0D184C 7F09CD1C C6DA003C */ lwc1 $f26, 0x3c($s6) -/* 0D1850 7F09CD20 26250008 */ addiu $a1, $s1, 8 -/* 0D1854 7F09CD24 02803825 */ move $a3, $s4 -/* 0D1858 7F09CD28 46089383 */ div.s $f14, $f18, $f8 -/* 0D185C 7F09CD2C 46001006 */ mov.s $f0, $f2 -/* 0D1860 7F09CD30 461E103C */ c.lt.s $f2, $f30 -/* 0D1864 7F09CD34 461CC503 */ div.s $f20, $f24, $f28 -/* 0D1868 7F09CD38 46007306 */ mov.s $f12, $f14 -/* 0D186C 7F09CD3C 45000002 */ bc1f .L7F09CD48 -/* 0D1870 7F09CD40 4600A406 */ mov.s $f16, $f20 -/* 0D1874 7F09CD44 46001007 */ neg.s $f0, $f2 -.L7F09CD48: -/* 0D1878 7F09CD48 461E703C */ c.lt.s $f14, $f30 -/* 0D187C 7F09CD4C 44811000 */ mtc1 $at, $f2 -/* 0D1880 7F09CD50 45020003 */ bc1fl .L7F09CD60 -/* 0D1884 7F09CD54 461EA03C */ c.lt.s $f20, $f30 -/* 0D1888 7F09CD58 46007307 */ neg.s $f12, $f14 -/* 0D188C 7F09CD5C 461EA03C */ c.lt.s $f20, $f30 -.L7F09CD60: -/* 0D1890 7F09CD60 460C1301 */ sub.s $f12, $f2, $f12 -/* 0D1894 7F09CD64 45020003 */ bc1fl .L7F09CD74 -/* 0D1898 7F09CD68 46001501 */ sub.s $f20, $f2, $f0 -/* 0D189C 7F09CD6C 4600A407 */ neg.s $f16, $f20 -/* 0D18A0 7F09CD70 46001501 */ sub.s $f20, $f2, $f0 -.L7F09CD74: -/* 0D18A4 7F09CD74 46101401 */ sub.s $f16, $f2, $f16 -/* 0D18A8 7F09CD78 4614603C */ c.lt.s $f12, $f20 -/* 0D18AC 7F09CD7C 00000000 */ nop -/* 0D18B0 7F09CD80 45020003 */ bc1fl .L7F09CD90 -/* 0D18B4 7F09CD84 4614803C */ c.lt.s $f16, $f20 -/* 0D18B8 7F09CD88 46006506 */ mov.s $f20, $f12 -/* 0D18BC 7F09CD8C 4614803C */ c.lt.s $f16, $f20 -.L7F09CD90: -/* 0D18C0 7F09CD90 00000000 */ nop -/* 0D18C4 7F09CD94 45000002 */ bc1f .L7F09CDA0 -/* 0D18C8 7F09CD98 00000000 */ nop -/* 0D18CC 7F09CD9C 46008506 */ mov.s $f20, $f16 -.L7F09CDA0: -/* 0D18D0 7F09CDA0 4614A502 */ mul.s $f20, $f20, $f20 -/* 0D18D4 7F09CDA4 00000000 */ nop -/* 0D18D8 7F09CDA8 461AA502 */ mul.s $f20, $f20, $f26 -/* 0D18DC 7F09CDAC 16A20006 */ bne $s5, $v0, .L7F09CDC8 -/* 0D18E0 7F09CDB0 00000000 */ nop -/* 0D18E4 7F09CDB4 4406A000 */ mfc1 $a2, $f20 -/* 0D18E8 7F09CDB8 0FC09E01 */ jal sub_GAME_7F027804 -/* 0D18EC 7F09CDBC 8E040004 */ lw $a0, 4($s0) -/* 0D18F0 7F09CDC0 10000031 */ b .L7F09CE88 -/* 0D18F4 7F09CDC4 86620002 */ lh $v0, 2($s3) -.L7F09CDC8: -/* 0D18F8 7F09CDC8 461EB032 */ c.eq.s $f22, $f30 -/* 0D18FC 7F09CDCC 00000000 */ nop -/* 0D1900 7F09CDD0 45000005 */ bc1f .L7F09CDE8 -/* 0D1904 7F09CDD4 00000000 */ nop -/* 0D1908 7F09CDD8 461EC032 */ c.eq.s $f24, $f30 -/* 0D190C 7F09CDDC 00000000 */ nop -/* 0D1910 7F09CDE0 4501000E */ bc1t .L7F09CE1C -/* 0D1914 7F09CDE4 00000000 */ nop -.L7F09CDE8: -/* 0D1918 7F09CDE8 4616B282 */ mul.s $f10, $f22, $f22 -/* 0D191C 7F09CDEC 00000000 */ nop -/* 0D1920 7F09CDF0 4618C182 */ mul.s $f6, $f24, $f24 -/* 0D1924 7F09CDF4 0C007DF8 */ jal sqrtf -/* 0D1928 7F09CDF8 46065300 */ add.s $f12, $f10, $f6 -/* 0D192C 7F09CDFC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D1930 7F09CE00 44812000 */ mtc1 $at, $f4 -/* 0D1934 7F09CE04 00000000 */ nop -/* 0D1938 7F09CE08 46002083 */ div.s $f2, $f4, $f0 -/* 0D193C 7F09CE0C 4602B582 */ mul.s $f22, $f22, $f2 -/* 0D1940 7F09CE10 00000000 */ nop -/* 0D1944 7F09CE14 4602C602 */ mul.s $f24, $f24, $f2 -/* 0D1948 7F09CE18 00000000 */ nop -.L7F09CE1C: -/* 0D194C 7F09CE1C 0FC26C54 */ jal get_cur_playernum -/* 0D1950 7F09CE20 00000000 */ nop -/* 0D1954 7F09CE24 AFA20090 */ sw $v0, 0x90($sp) -/* 0D1958 7F09CE28 0FC26C57 */ jal sub_GAME_7F09B15C -/* 0D195C 7F09CE2C 02002025 */ move $a0, $s0 -/* 0D1960 7F09CE30 0FC26C43 */ jal set_cur_player -/* 0D1964 7F09CE34 00402025 */ move $a0, $v0 -/* 0D1968 7F09CE38 0FC26919 */ jal get_num_players -/* 0D196C 7F09CE3C 00000000 */ nop -/* 0D1970 7F09CE40 14540004 */ bne $v0, $s4, .L7F09CE54 -/* 0D1974 7F09CE44 3C018004 */ lui $at, %hi(D_80040178) -/* 0D1978 7F09CE48 C4280178 */ lwc1 $f8, %lo(D_80040178)($at) -/* 0D197C 7F09CE4C 4608A502 */ mul.s $f20, $f20, $f8 -/* 0D1980 7F09CE50 00000000 */ nop -.L7F09CE54: -/* 0D1984 7F09CE54 0FC1F39E */ jal get_intank_flag -/* 0D1988 7F09CE58 00000000 */ nop -/* 0D198C 7F09CE5C 14540002 */ bne $v0, $s4, .L7F09CE68 -/* 0D1990 7F09CE60 4600B386 */ mov.s $f14, $f22 -/* 0D1994 7F09CE64 4614A500 */ add.s $f20, $f20, $f20 -.L7F09CE68: -/* 0D1998 7F09CE68 4406C000 */ mfc1 $a2, $f24 -/* 0D199C 7F09CE6C 824703CE */ lb $a3, 0x3ce($s2) -/* 0D19A0 7F09CE70 AFB40010 */ sw $s4, 0x10($sp) -/* 0D19A4 7F09CE74 0FC22647 */ jal record_damage_kills -/* 0D19A8 7F09CE78 4600A306 */ mov.s $f12, $f20 -/* 0D19AC 7F09CE7C 0FC26C43 */ jal set_cur_player -/* 0D19B0 7F09CE80 8FA40090 */ lw $a0, 0x90($sp) -/* 0D19B4 7F09CE84 86620002 */ lh $v0, 2($s3) -.L7F09CE88: -/* 0D19B8 7F09CE88 26730002 */ addiu $s3, $s3, 2 -/* 0D19BC 7F09CE8C 0443FEFC */ bgezl $v0, .L7F09CA80 -/* 0D19C0 7F09CE90 00024880 */ sll $t1, $v0, 2 -/* 0D19C4 7F09CE94 86C9001C */ lh $t1, 0x1c($s6) -.L7F09CE98: -/* 0D19C8 7F09CE98 864803C8 */ lh $t0, 0x3c8($s2) -/* 0D19CC 7F09CE9C 00095083 */ sra $t2, $t1, 2 -/* 0D19D0 7F09CEA0 010A5821 */ addu $t3, $t0, $t2 -/* 0D19D4 7F09CEA4 A64B03CA */ sh $t3, 0x3ca($s2) -.L7F09CEA8: -/* 0D19D8 7F09CEA8 8FBF006C */ lw $ra, 0x6c($sp) -/* 0D19DC 7F09CEAC D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0D19E0 7F09CEB0 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 0D19E4 7F09CEB4 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 0D19E8 7F09CEB8 D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 0D19EC 7F09CEBC D7BC0040 */ ldc1 $f28, 0x40($sp) -/* 0D19F0 7F09CEC0 D7BE0048 */ ldc1 $f30, 0x48($sp) -/* 0D19F4 7F09CEC4 8FB00050 */ lw $s0, 0x50($sp) -/* 0D19F8 7F09CEC8 8FB10054 */ lw $s1, 0x54($sp) -/* 0D19FC 7F09CECC 8FB20058 */ lw $s2, 0x58($sp) -/* 0D1A00 7F09CED0 8FB3005C */ lw $s3, 0x5c($sp) -/* 0D1A04 7F09CED4 8FB40060 */ lw $s4, 0x60($sp) -/* 0D1A08 7F09CED8 8FB50064 */ lw $s5, 0x64($sp) -/* 0D1A0C 7F09CEDC 8FB60068 */ lw $s6, 0x68($sp) -/* 0D1A10 7F09CEE0 03E00008 */ jr $ra -/* 0D1A14 7F09CEE4 27BD0100 */ addiu $sp, $sp, 0x100 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09CEE8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800576BC -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F09CEE8 -/* 0D1A18 7F09CEE8 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 0D1A1C 7F09CEEC AFBF006C */ sw $ra, 0x6c($sp) -/* 0D1A20 7F09CEF0 AFB70068 */ sw $s7, 0x68($sp) -/* 0D1A24 7F09CEF4 AFB60064 */ sw $s6, 0x64($sp) -/* 0D1A28 7F09CEF8 AFB50060 */ sw $s5, 0x60($sp) -/* 0D1A2C 7F09CEFC AFB4005C */ sw $s4, 0x5c($sp) -/* 0D1A30 7F09CF00 AFB30058 */ sw $s3, 0x58($sp) -/* 0D1A34 7F09CF04 AFB20054 */ sw $s2, 0x54($sp) -/* 0D1A38 7F09CF08 AFB10050 */ sw $s1, 0x50($sp) -/* 0D1A3C 7F09CF0C AFB0004C */ sw $s0, 0x4c($sp) -/* 0D1A40 7F09CF10 F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 0D1A44 7F09CF14 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 0D1A48 7F09CF18 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0D1A4C 7F09CF1C F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0D1A50 7F09CF20 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D1A54 7F09CF24 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D1A58 7F09CF28 8C920004 */ lw $s2, 4($a0) -/* 0D1A5C 7F09CF2C 3C028005 */ lui $v0, %hi(clock_timer) -/* 0D1A60 7F09CF30 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0D1A64 7F09CF34 824503CC */ lb $a1, 0x3cc($s2) -/* 0D1A68 7F09CF38 3C0F8004 */ lui $t7, %hi(D_8004017C+0x108) -/* 0D1A6C 7F09CF3C 25EF0284 */ addiu $t7, %lo(D_8004017C+0x108) # addiu $t7, $t7, 0x284 -/* 0D1A70 7F09CF40 00057180 */ sll $t6, $a1, 6 -/* 0D1A74 7F09CF44 00809825 */ move $s3, $a0 -/* 0D1A78 7F09CF48 14400003 */ bnez $v0, .L7F09CF58 -/* 0D1A7C 7F09CF4C 01CFA821 */ addu $s5, $t6, $t7 -/* 0D1A80 7F09CF50 10000155 */ b .L7F09D4A8 -/* 0D1A84 7F09CF54 00001025 */ move $v0, $zero -.L7F09CF58: -/* 0D1A88 7F09CF58 2841000F */ slti $at, $v0, 0xf -/* 0D1A8C 7F09CF5C 50200007 */ beql $at, $zero, .L7F09CF7C -/* 0D1A90 7F09CF60 3C014170 */ lui $at, 0x4170 -/* 0D1A94 7F09CF64 44822000 */ mtc1 $v0, $f4 -/* 0D1A98 7F09CF68 00000000 */ nop -/* 0D1A9C 7F09CF6C 468021A0 */ cvt.s.w $f6, $f4 -/* 0D1AA0 7F09CF70 10000005 */ b .L7F09CF88 -/* 0D1AA4 7F09CF74 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0D1AA8 7F09CF78 3C014170 */ li $at, 0x41700000 # 15.000000 -.L7F09CF7C: -/* 0D1AAC 7F09CF7C 44814000 */ mtc1 $at, $f8 -/* 0D1AB0 7F09CF80 00000000 */ nop -/* 0D1AB4 7F09CF84 E7A800A0 */ swc1 $f8, 0xa0($sp) -.L7F09CF88: -/* 0D1AB8 7F09CF88 864303C8 */ lh $v1, 0x3c8($s2) -/* 0D1ABC 7F09CF8C 28610008 */ slti $at, $v1, 8 -/* 0D1AC0 7F09CF90 542000D5 */ bnezl $at, .L7F09D2E8 -/* 0D1AC4 7F09CF94 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 0D1AC8 7F09CF98 86A2001C */ lh $v0, 0x1c($s5) -/* 0D1ACC 7F09CF9C 0062082A */ slt $at, $v1, $v0 -/* 0D1AD0 7F09CFA0 502000D1 */ beql $at, $zero, .L7F09D2E8 -/* 0D1AD4 7F09CFA4 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 0D1AD8 7F09CFA8 44835000 */ mtc1 $v1, $f10 -/* 0D1ADC 7F09CFAC C6B20008 */ lwc1 $f18, 8($s5) -/* 0D1AE0 7F09CFB0 C6A8000C */ lwc1 $f8, 0xc($s5) -/* 0D1AE4 7F09CFB4 46805020 */ cvt.s.w $f0, $f10 -/* 0D1AE8 7F09CFB8 C6B00000 */ lwc1 $f16, ($s5) -/* 0D1AEC 7F09CFBC C6A60004 */ lwc1 $f6, 4($s5) -/* 0D1AF0 7F09CFC0 2417000E */ li $s7, 14 -/* 0D1AF4 7F09CFC4 28610020 */ slti $at, $v1, 0x20 -/* 0D1AF8 7F09CFC8 24160001 */ li $s6, 1 -/* 0D1AFC 7F09CFCC 46009102 */ mul.s $f4, $f18, $f0 -/* 0D1B00 7F09CFD0 00000000 */ nop -/* 0D1B04 7F09CFD4 46004282 */ mul.s $f10, $f8, $f0 -/* 0D1B08 7F09CFD8 46048700 */ add.s $f28, $f16, $f4 -/* 0D1B0C 7F09CFDC 16E5001F */ bne $s7, $a1, .L7F09D05C -/* 0D1B10 7F09CFE0 460A3780 */ add.s $f30, $f6, $f10 -/* 0D1B14 7F09CFE4 1020000C */ beqz $at, .L7F09D018 -/* 0D1B18 7F09CFE8 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 0D1B1C 7F09CFEC 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0D1B20 7F09CFF0 44819000 */ mtc1 $at, $f18 -/* 0D1B24 7F09CFF4 C668000C */ lwc1 $f8, 0xc($s3) -/* 0D1B28 7F09CFF8 46109102 */ mul.s $f4, $f18, $f16 -/* 0D1B2C 7F09CFFC 46044180 */ add.s $f6, $f8, $f4 -/* 0D1B30 7F09D000 E666000C */ swc1 $f6, 0xc($s3) -/* 0D1B34 7F09D004 864303C8 */ lh $v1, 0x3c8($s2) -/* 0D1B38 7F09D008 86A2001C */ lh $v0, 0x1c($s5) -/* 0D1B3C 7F09D00C 44835000 */ mtc1 $v1, $f10 -/* 0D1B40 7F09D010 00000000 */ nop -/* 0D1B44 7F09D014 46805020 */ cvt.s.w $f0, $f10 -.L7F09D018: -/* 0D1B48 7F09D018 28610021 */ slti $at, $v1, 0x21 -/* 0D1B4C 7F09D01C 1420000F */ bnez $at, .L7F09D05C -/* 0D1B50 7F09D020 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0D1B54 7F09D024 44811000 */ mtc1 $at, $f2 -/* 0D1B58 7F09D028 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 0D1B5C 7F09D02C 44819000 */ mtc1 $at, $f18 -/* 0D1B60 7F09D030 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0D1B64 7F09D034 44814000 */ mtc1 $at, $f8 -/* 0D1B68 7F09D038 46120402 */ mul.s $f16, $f0, $f18 -/* 0D1B6C 7F09D03C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0D1B70 7F09D040 4481F000 */ mtc1 $at, $f30 -/* 0D1B74 7F09D044 46088700 */ add.s $f28, $f16, $f8 -/* 0D1B78 7F09D048 461C103C */ c.lt.s $f2, $f28 -/* 0D1B7C 7F09D04C 00000000 */ nop -/* 0D1B80 7F09D050 45000002 */ bc1f .L7F09D05C -/* 0D1B84 7F09D054 00000000 */ nop -/* 0D1B88 7F09D058 46001706 */ mov.s $f28, $f2 -.L7F09D05C: -/* 0D1B8C 7F09D05C 86B8001E */ lh $t8, 0x1e($s5) -/* 0D1B90 7F09D060 44829000 */ mtc1 $v0, $f18 -/* 0D1B94 7F09D064 0000A025 */ move $s4, $zero -/* 0D1B98 7F09D068 44982000 */ mtc1 $t8, $f4 -/* 0D1B9C 7F09D06C 46809420 */ cvt.s.w $f16, $f18 -/* 0D1BA0 7F09D070 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D1BA4 7F09D074 468021A0 */ cvt.s.w $f6, $f4 -/* 0D1BA8 7F09D078 46003282 */ mul.s $f10, $f6, $f0 -/* 0D1BAC 7F09D07C 46105203 */ div.s $f8, $f10, $f16 -/* 0D1BB0 7F09D080 4600410D */ trunc.w.s $f4, $f8 -/* 0D1BB4 7F09D084 44082000 */ mfc1 $t0, $f4 -/* 0D1BB8 7F09D088 00000000 */ nop -/* 0D1BBC 7F09D08C 25090001 */ addiu $t1, $t0, 1 -/* 0D1BC0 7F09D090 19200061 */ blez $t1, .L7F09D218 -/* 0D1BC4 7F09D094 AFA9009C */ sw $t1, 0x9c($sp) -/* 0D1BC8 7F09D098 4481D000 */ mtc1 $at, $f26 -/* 0D1BCC 7F09D09C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D1BD0 7F09D0A0 4481B000 */ mtc1 $at, $f22 -/* 0D1BD4 7F09D0A4 241103C0 */ li $s1, 960 -/* 0D1BD8 7F09D0A8 00001025 */ move $v0, $zero -.L7F09D0AC: -/* 0D1BDC 7F09D0AC 02408025 */ move $s0, $s2 -.L7F09D0B0: -/* 0D1BE0 7F09D0B0 860A001C */ lh $t2, 0x1c($s0) -/* 0D1BE4 7F09D0B4 24420018 */ addiu $v0, $v0, 0x18 -/* 0D1BE8 7F09D0B8 15400051 */ bnez $t2, .L7F09D200 -/* 0D1BEC 7F09D0BC 00000000 */ nop -/* 0D1BF0 7F09D0C0 0C002914 */ jal get_random_value -/* 0D1BF4 7F09D0C4 A616001C */ sh $s6, 0x1c($s0) -/* 0D1BF8 7F09D0C8 44823000 */ mtc1 $v0, $f6 -/* 0D1BFC 7F09D0CC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1C00 7F09D0D0 04410004 */ bgez $v0, .L7F09D0E4 -/* 0D1C04 7F09D0D4 468034A0 */ cvt.s.w $f18, $f6 -/* 0D1C08 7F09D0D8 44815000 */ mtc1 $at, $f10 -/* 0D1C0C 7F09D0DC 00000000 */ nop -/* 0D1C10 7F09D0E0 460A9480 */ add.s $f18, $f18, $f10 -.L7F09D0E4: -/* 0D1C14 7F09D0E4 46169402 */ mul.s $f16, $f18, $f22 -/* 0D1C18 7F09D0E8 C6660008 */ lwc1 $f6, 8($s3) -/* 0D1C1C 7F09D0EC 461A8201 */ sub.s $f8, $f16, $f26 -/* 0D1C20 7F09D0F0 461C4102 */ mul.s $f4, $f8, $f28 -/* 0D1C24 7F09D0F4 46062280 */ add.s $f10, $f4, $f6 -/* 0D1C28 7F09D0F8 0C002914 */ jal get_random_value -/* 0D1C2C 7F09D0FC E60A0008 */ swc1 $f10, 8($s0) -/* 0D1C30 7F09D100 44829000 */ mtc1 $v0, $f18 -/* 0D1C34 7F09D104 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1C38 7F09D108 04410004 */ bgez $v0, .L7F09D11C -/* 0D1C3C 7F09D10C 46809420 */ cvt.s.w $f16, $f18 -/* 0D1C40 7F09D110 44814000 */ mtc1 $at, $f8 -/* 0D1C44 7F09D114 00000000 */ nop -/* 0D1C48 7F09D118 46088400 */ add.s $f16, $f16, $f8 -.L7F09D11C: -/* 0D1C4C 7F09D11C 46168102 */ mul.s $f4, $f16, $f22 -/* 0D1C50 7F09D120 C672000C */ lwc1 $f18, 0xc($s3) -/* 0D1C54 7F09D124 461A2181 */ sub.s $f6, $f4, $f26 -/* 0D1C58 7F09D128 461E3282 */ mul.s $f10, $f6, $f30 -/* 0D1C5C 7F09D12C 46125200 */ add.s $f8, $f10, $f18 -/* 0D1C60 7F09D130 0C002914 */ jal get_random_value -/* 0D1C64 7F09D134 E608000C */ swc1 $f8, 0xc($s0) -/* 0D1C68 7F09D138 44828000 */ mtc1 $v0, $f16 -/* 0D1C6C 7F09D13C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1C70 7F09D140 04410004 */ bgez $v0, .L7F09D154 -/* 0D1C74 7F09D144 46808120 */ cvt.s.w $f4, $f16 -/* 0D1C78 7F09D148 44813000 */ mtc1 $at, $f6 -/* 0D1C7C 7F09D14C 00000000 */ nop -/* 0D1C80 7F09D150 46062100 */ add.s $f4, $f4, $f6 -.L7F09D154: -/* 0D1C84 7F09D154 46162282 */ mul.s $f10, $f4, $f22 -/* 0D1C88 7F09D158 C6700010 */ lwc1 $f16, 0x10($s3) -/* 0D1C8C 7F09D15C 461A5481 */ sub.s $f18, $f10, $f26 -/* 0D1C90 7F09D160 461C9202 */ mul.s $f8, $f18, $f28 -/* 0D1C94 7F09D164 46104180 */ add.s $f6, $f8, $f16 -/* 0D1C98 7F09D168 0C002914 */ jal get_random_value -/* 0D1C9C 7F09D16C E6060010 */ swc1 $f6, 0x10($s0) -/* 0D1CA0 7F09D170 44822000 */ mtc1 $v0, $f4 -/* 0D1CA4 7F09D174 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1CA8 7F09D178 04410004 */ bgez $v0, .L7F09D18C -/* 0D1CAC 7F09D17C 468022A0 */ cvt.s.w $f10, $f4 -/* 0D1CB0 7F09D180 44819000 */ mtc1 $at, $f18 -/* 0D1CB4 7F09D184 00000000 */ nop -/* 0D1CB8 7F09D188 46125280 */ add.s $f10, $f10, $f18 -.L7F09D18C: -/* 0D1CBC 7F09D18C 46165202 */ mul.s $f8, $f10, $f22 -/* 0D1CC0 7F09D190 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D1CC4 7F09D194 44813000 */ mtc1 $at, $f6 -/* 0D1CC8 7F09D198 C6B20010 */ lwc1 $f18, 0x10($s5) -/* 0D1CCC 7F09D19C 461A4402 */ mul.s $f16, $f8, $f26 -/* 0D1CD0 7F09D1A0 46068100 */ add.s $f4, $f16, $f6 -/* 0D1CD4 7F09D1A4 46122502 */ mul.s $f20, $f4, $f18 -/* 0D1CD8 7F09D1A8 0C002914 */ jal get_random_value -/* 0D1CDC 7F09D1AC 00000000 */ nop -/* 0D1CE0 7F09D1B0 44825000 */ mtc1 $v0, $f10 -/* 0D1CE4 7F09D1B4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D1CE8 7F09D1B8 04410004 */ bgez $v0, .L7F09D1CC -/* 0D1CEC 7F09D1BC 46805220 */ cvt.s.w $f8, $f10 -/* 0D1CF0 7F09D1C0 44818000 */ mtc1 $at, $f16 -/* 0D1CF4 7F09D1C4 00000000 */ nop -/* 0D1CF8 7F09D1C8 46104200 */ add.s $f8, $f8, $f16 -.L7F09D1CC: -/* 0D1CFC 7F09D1CC 46164182 */ mul.s $f6, $f8, $f22 -/* 0D1D00 7F09D1D0 3C018005 */ lui $at, %hi(D_800576BC) -/* 0D1D04 7F09D1D4 C42476BC */ lwc1 $f4, %lo(D_800576BC)($at) -/* 0D1D08 7F09D1D8 46043302 */ mul.s $f12, $f6, $f4 -/* 0D1D0C 7F09D1DC 0FC15FA8 */ jal cosf -/* 0D1D10 7F09D1E0 46006606 */ mov.s $f24, $f12 -/* 0D1D14 7F09D1E4 46140482 */ mul.s $f18, $f0, $f20 -/* 0D1D18 7F09D1E8 4600C306 */ mov.s $f12, $f24 -/* 0D1D1C 7F09D1EC 0FC15FAB */ jal sinf -/* 0D1D20 7F09D1F0 E6120014 */ swc1 $f18, 0x14($s0) -/* 0D1D24 7F09D1F4 46140282 */ mul.s $f10, $f0, $f20 -/* 0D1D28 7F09D1F8 10000003 */ b .L7F09D208 -/* 0D1D2C 7F09D1FC E60A0018 */ swc1 $f10, 0x18($s0) -.L7F09D200: -/* 0D1D30 7F09D200 1451FFAB */ bne $v0, $s1, .L7F09D0B0 -/* 0D1D34 7F09D204 26100018 */ addiu $s0, $s0, 0x18 -.L7F09D208: -/* 0D1D38 7F09D208 8FAB009C */ lw $t3, 0x9c($sp) -/* 0D1D3C 7F09D20C 26940001 */ addiu $s4, $s4, 1 -/* 0D1D40 7F09D210 568BFFA6 */ bnel $s4, $t3, .L7F09D0AC -/* 0D1D44 7F09D214 00001025 */ move $v0, $zero -.L7F09D218: -/* 0D1D48 7F09D218 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D1D4C 7F09D21C 4481D000 */ mtc1 $at, $f26 -/* 0D1D50 7F09D220 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0D1D54 7F09D224 44814000 */ mtc1 $at, $f8 -/* 0D1D58 7F09D228 C6B00010 */ lwc1 $f16, 0x10($s5) -/* 0D1D5C 7F09D22C C6720008 */ lwc1 $f18, 8($s3) -/* 0D1D60 7F09D230 02602025 */ move $a0, $s3 -/* 0D1D64 7F09D234 46088002 */ mul.s $f0, $f16, $f8 -/* 0D1D68 7F09D238 27A50090 */ addiu $a1, $sp, 0x90 -/* 0D1D6C 7F09D23C 27A60084 */ addiu $a2, $sp, 0x84 -/* 0D1D70 7F09D240 461AE182 */ mul.s $f6, $f28, $f26 -/* 0D1D74 7F09D244 46003700 */ add.s $f28, $f6, $f0 -/* 0D1D78 7F09D248 461AF102 */ mul.s $f4, $f30, $f26 -/* 0D1D7C 7F09D24C 4407E000 */ mfc1 $a3, $f28 -/* 0D1D80 7F09D250 461C9281 */ sub.s $f10, $f18, $f28 -/* 0D1D84 7F09D254 46002780 */ add.s $f30, $f4, $f0 -/* 0D1D88 7F09D258 E7AA0090 */ swc1 $f10, 0x90($sp) -/* 0D1D8C 7F09D25C C670000C */ lwc1 $f16, 0xc($s3) -/* 0D1D90 7F09D260 461E8201 */ sub.s $f8, $f16, $f30 -/* 0D1D94 7F09D264 E7A80094 */ swc1 $f8, 0x94($sp) -/* 0D1D98 7F09D268 C6660010 */ lwc1 $f6, 0x10($s3) -/* 0D1D9C 7F09D26C 461C3101 */ sub.s $f4, $f6, $f28 -/* 0D1DA0 7F09D270 E7A40098 */ swc1 $f4, 0x98($sp) -/* 0D1DA4 7F09D274 C6720008 */ lwc1 $f18, 8($s3) -/* 0D1DA8 7F09D278 461C9280 */ add.s $f10, $f18, $f28 -/* 0D1DAC 7F09D27C E7AA0084 */ swc1 $f10, 0x84($sp) -/* 0D1DB0 7F09D280 C670000C */ lwc1 $f16, 0xc($s3) -/* 0D1DB4 7F09D284 461E8200 */ add.s $f8, $f16, $f30 -/* 0D1DB8 7F09D288 E7A80088 */ swc1 $f8, 0x88($sp) -/* 0D1DBC 7F09D28C C6660010 */ lwc1 $f6, 0x10($s3) -/* 0D1DC0 7F09D290 461C3100 */ add.s $f4, $f6, $f28 -/* 0D1DC4 7F09D294 0FC0F89F */ jal sub_GAME_7F03E27C -/* 0D1DC8 7F09D298 E7A4008C */ swc1 $f4, 0x8c($sp) -/* 0D1DCC 7F09D29C 864C03C8 */ lh $t4, 0x3c8($s2) -/* 0D1DD0 7F09D2A0 C6A00014 */ lwc1 $f0, 0x14($s5) -/* 0D1DD4 7F09D2A4 C6B20018 */ lwc1 $f18, 0x18($s5) -/* 0D1DD8 7F09D2A8 448C8000 */ mtc1 $t4, $f16 -/* 0D1DDC 7F09D2AC 86AD001C */ lh $t5, 0x1c($s5) -/* 0D1DE0 7F09D2B0 46009281 */ sub.s $f10, $f18, $f0 -/* 0D1DE4 7F09D2B4 02602025 */ move $a0, $s3 -/* 0D1DE8 7F09D2B8 448D2000 */ mtc1 $t5, $f4 -/* 0D1DEC 7F09D2BC 46808220 */ cvt.s.w $f8, $f16 -/* 0D1DF0 7F09D2C0 468024A0 */ cvt.s.w $f18, $f4 -/* 0D1DF4 7F09D2C4 46085182 */ mul.s $f6, $f10, $f8 -/* 0D1DF8 7F09D2C8 46123403 */ div.s $f16, $f6, $f18 -/* 0D1DFC 7F09D2CC 46100780 */ add.s $f30, $f0, $f16 -/* 0D1E00 7F09D2D0 4405F000 */ mfc1 $a1, $f30 -/* 0D1E04 7F09D2D4 4406F000 */ mfc1 $a2, $f30 -/* 0D1E08 7F09D2D8 0FC27276 */ jal sub_GAME_7F09C9D8 -/* 0D1E0C 7F09D2DC 00000000 */ nop -/* 0D1E10 7F09D2E0 864303C8 */ lh $v1, 0x3c8($s2) -/* 0D1E14 7F09D2E4 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -.L7F09D2E8: -/* 0D1E18 7F09D2E8 24160001 */ li $s6, 1 -/* 0D1E1C 7F09D2EC 2417000E */ li $s7, 14 -/* 0D1E20 7F09D2F0 4600520D */ trunc.w.s $f8, $f10 -/* 0D1E24 7F09D2F4 0000A025 */ move $s4, $zero -/* 0D1E28 7F09D2F8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0D1E2C 7F09D2FC 440F4000 */ mfc1 $t7, $f8 -/* 0D1E30 7F09D300 00000000 */ nop -/* 0D1E34 7F09D304 19E00058 */ blez $t7, .L7F09D468 -/* 0D1E38 7F09D308 AFAF0070 */ sw $t7, 0x70($sp) -/* 0D1E3C 7F09D30C 4481A000 */ mtc1 $at, $f20 -/* 0D1E40 7F09D310 241103C0 */ li $s1, 960 -/* 0D1E44 7F09D314 24780001 */ addiu $t8, $v1, 1 -.L7F09D318: -/* 0D1E48 7F09D318 A65803C8 */ sh $t8, 0x3c8($s2) -/* 0D1E4C 7F09D31C 00001025 */ move $v0, $zero -/* 0D1E50 7F09D320 02408025 */ move $s0, $s2 -.L7F09D324: -/* 0D1E54 7F09D324 8603001C */ lh $v1, 0x1c($s0) -/* 0D1E58 7F09D328 24420018 */ addiu $v0, $v0, 0x18 -/* 0D1E5C 7F09D32C 18600002 */ blez $v1, .L7F09D338 -/* 0D1E60 7F09D330 24790001 */ addiu $t9, $v1, 1 -/* 0D1E64 7F09D334 A619001C */ sh $t9, 0x1c($s0) -.L7F09D338: -/* 0D1E68 7F09D338 1451FFFA */ bne $v0, $s1, .L7F09D324 -/* 0D1E6C 7F09D33C 26100018 */ addiu $s0, $s0, 0x18 -/* 0D1E70 7F09D340 864303C8 */ lh $v1, 0x3c8($s2) -/* 0D1E74 7F09D344 2401000F */ li $at, 15 -/* 0D1E78 7F09D348 54610005 */ bnel $v1, $at, .L7F09D360 -/* 0D1E7C 7F09D34C 86A2001C */ lh $v0, 0x1c($s5) -/* 0D1E80 7F09D350 824803CC */ lb $t0, 0x3cc($s2) -/* 0D1E84 7F09D354 52E80009 */ beql $s7, $t0, .L7F09D37C -/* 0D1E88 7F09D358 8E420004 */ lw $v0, 4($s2) -/* 0D1E8C 7F09D35C 86A2001C */ lh $v0, 0x1c($s5) -.L7F09D360: -/* 0D1E90 7F09D360 24690014 */ addiu $t1, $v1, 0x14 -/* 0D1E94 7F09D364 5449002F */ bnel $v0, $t1, .L7F09D424 -/* 0D1E98 7F09D368 00025843 */ sra $t3, $v0, 1 -/* 0D1E9C 7F09D36C 824A03CC */ lb $t2, 0x3cc($s2) -/* 0D1EA0 7F09D370 52EA002C */ beql $s7, $t2, .L7F09D424 -/* 0D1EA4 7F09D374 00025843 */ sra $t3, $v0, 1 -/* 0D1EA8 7F09D378 8E420004 */ lw $v0, 4($s2) -.L7F09D37C: -/* 0D1EAC 7F09D37C 26640008 */ addiu $a0, $s3, 8 -/* 0D1EB0 7F09D380 2667002C */ addiu $a3, $s3, 0x2c -/* 0D1EB4 7F09D384 5040001E */ beql $v0, $zero, .L7F09D400 -/* 0D1EB8 7F09D388 92680001 */ lbu $t0, 1($s3) -/* 0D1EBC 7F09D38C 8C450014 */ lw $a1, 0x14($v0) -/* 0D1EC0 7F09D390 50A0001B */ beql $a1, $zero, .L7F09D400 -/* 0D1EC4 7F09D394 92680001 */ lbu $t0, 1($s3) -/* 0D1EC8 7F09D398 904B0000 */ lbu $t3, ($v0) -/* 0D1ECC 7F09D39C 2447002C */ addiu $a3, $v0, 0x2c -/* 0D1ED0 7F09D3A0 24440008 */ addiu $a0, $v0, 8 -/* 0D1ED4 7F09D3A4 56CB000C */ bnel $s6, $t3, .L7F09D3D8 -/* 0D1ED8 7F09D3A8 926F0001 */ lbu $t7, 1($s3) -/* 0D1EDC 7F09D3AC 926C0001 */ lbu $t4, 1($s3) -/* 0D1EE0 7F09D3B0 8C430004 */ lw $v1, 4($v0) -/* 0D1EE4 7F09D3B4 92A60038 */ lbu $a2, 0x38($s5) -/* 0D1EE8 7F09D3B8 318D0008 */ andi $t5, $t4, 8 -/* 0D1EEC 7F09D3BC 000D702B */ sltu $t6, $zero, $t5 -/* 0D1EF0 7F09D3C0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0D1EF4 7F09D3C4 0FC279C0 */ jal sub_GAME_7F09E700 -/* 0D1EF8 7F09D3C8 24640058 */ addiu $a0, $v1, 0x58 -/* 0D1EFC 7F09D3CC 10000009 */ b .L7F09D3F4 -/* 0D1F00 7F09D3D0 864303C8 */ lh $v1, 0x3c8($s2) -/* 0D1F04 7F09D3D4 926F0001 */ lbu $t7, 1($s3) -.L7F09D3D8: -/* 0D1F08 7F09D3D8 92A60038 */ lbu $a2, 0x38($s5) -/* 0D1F0C 7F09D3DC 2447002C */ addiu $a3, $v0, 0x2c -/* 0D1F10 7F09D3E0 31F80008 */ andi $t8, $t7, 8 -/* 0D1F14 7F09D3E4 0018C82B */ sltu $t9, $zero, $t8 -/* 0D1F18 7F09D3E8 0FC279C0 */ jal sub_GAME_7F09E700 -/* 0D1F1C 7F09D3EC AFB90010 */ sw $t9, 0x10($sp) -/* 0D1F20 7F09D3F0 864303C8 */ lh $v1, 0x3c8($s2) -.L7F09D3F4: -/* 0D1F24 7F09D3F4 1000000A */ b .L7F09D420 -/* 0D1F28 7F09D3F8 86A2001C */ lh $v0, 0x1c($s5) -/* 0D1F2C 7F09D3FC 92680001 */ lbu $t0, 1($s3) -.L7F09D400: -/* 0D1F30 7F09D400 8E650014 */ lw $a1, 0x14($s3) -/* 0D1F34 7F09D404 92A60038 */ lbu $a2, 0x38($s5) -/* 0D1F38 7F09D408 31090008 */ andi $t1, $t0, 8 -/* 0D1F3C 7F09D40C 0009502B */ sltu $t2, $zero, $t1 -/* 0D1F40 7F09D410 0FC279C0 */ jal sub_GAME_7F09E700 -/* 0D1F44 7F09D414 AFAA0010 */ sw $t2, 0x10($sp) -/* 0D1F48 7F09D418 864303C8 */ lh $v1, 0x3c8($s2) -/* 0D1F4C 7F09D41C 86A2001C */ lh $v0, 0x1c($s5) -.L7F09D420: -/* 0D1F50 7F09D420 00025843 */ sra $t3, $v0, 1 -.L7F09D424: -/* 0D1F54 7F09D424 5563000D */ bnel $t3, $v1, .L7F09D45C -/* 0D1F58 7F09D428 8FAD0070 */ lw $t5, 0x70($sp) -/* 0D1F5C 7F09D42C 824C03CD */ lb $t4, 0x3cd($s2) -/* 0D1F60 7F09D430 5180000A */ beql $t4, $zero, .L7F09D45C -/* 0D1F64 7F09D434 8FAD0070 */ lw $t5, 0x70($sp) -/* 0D1F68 7F09D438 C6A40010 */ lwc1 $f4, 0x10($s5) -/* 0D1F6C 7F09D43C 264403D0 */ addiu $a0, $s2, 0x3d0 -/* 0D1F70 7F09D440 864603DC */ lh $a2, 0x3dc($s2) -/* 0D1F74 7F09D444 46142182 */ mul.s $f6, $f4, $f20 -/* 0D1F78 7F09D448 44053000 */ mfc1 $a1, $f6 -/* 0D1F7C 7F09D44C 0FC2809F */ jal sub_GAME_7F0A027C -/* 0D1F80 7F09D450 00000000 */ nop -/* 0D1F84 7F09D454 864303C8 */ lh $v1, 0x3c8($s2) -/* 0D1F88 7F09D458 8FAD0070 */ lw $t5, 0x70($sp) -.L7F09D45C: -/* 0D1F8C 7F09D45C 26940001 */ addiu $s4, $s4, 1 -/* 0D1F90 7F09D460 568DFFAD */ bnel $s4, $t5, .L7F09D318 -/* 0D1F94 7F09D464 24780001 */ addiu $t8, $v1, 1 -.L7F09D468: -/* 0D1F98 7F09D468 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0D1F9C 7F09D46C 44819000 */ mtc1 $at, $f18 -/* 0D1FA0 7F09D470 C6B00020 */ lwc1 $f16, 0x20($s5) -/* 0D1FA4 7F09D474 86B8001C */ lh $t8, 0x1c($s5) -/* 0D1FA8 7F09D478 00001025 */ move $v0, $zero -/* 0D1FAC 7F09D47C 46109282 */ mul.s $f10, $f18, $f16 -/* 0D1FB0 7F09D480 4600520D */ trunc.w.s $f8, $f10 -/* 0D1FB4 7F09D484 440F4000 */ mfc1 $t7, $f8 -/* 0D1FB8 7F09D488 00000000 */ nop -/* 0D1FBC 7F09D48C 030FC821 */ addu $t9, $t8, $t7 -/* 0D1FC0 7F09D490 0079082A */ slt $at, $v1, $t9 -/* 0D1FC4 7F09D494 14200004 */ bnez $at, .L7F09D4A8 -/* 0D1FC8 7F09D498 00000000 */ nop -/* 0D1FCC 7F09D49C AE400000 */ sw $zero, ($s2) -/* 0D1FD0 7F09D4A0 10000001 */ b .L7F09D4A8 -/* 0D1FD4 7F09D4A4 24020001 */ li $v0, 1 -.L7F09D4A8: -/* 0D1FD8 7F09D4A8 8FBF006C */ lw $ra, 0x6c($sp) -/* 0D1FDC 7F09D4AC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D1FE0 7F09D4B0 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D1FE4 7F09D4B4 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0D1FE8 7F09D4B8 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0D1FEC 7F09D4BC D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0D1FF0 7F09D4C0 D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 0D1FF4 7F09D4C4 8FB0004C */ lw $s0, 0x4c($sp) -/* 0D1FF8 7F09D4C8 8FB10050 */ lw $s1, 0x50($sp) -/* 0D1FFC 7F09D4CC 8FB20054 */ lw $s2, 0x54($sp) -/* 0D2000 7F09D4D0 8FB30058 */ lw $s3, 0x58($sp) -/* 0D2004 7F09D4D4 8FB4005C */ lw $s4, 0x5c($sp) -/* 0D2008 7F09D4D8 8FB50060 */ lw $s5, 0x60($sp) -/* 0D200C 7F09D4DC 8FB60064 */ lw $s6, 0x64($sp) -/* 0D2010 7F09D4E0 8FB70068 */ lw $s7, 0x68($sp) -/* 0D2014 7F09D4E4 03E00008 */ jr $ra -/* 0D2018 7F09D4E8 27BD00C8 */ addiu $sp, $sp, 0xc8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09D4EC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09D4EC -/* 0D201C 7F09D4EC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D2020 7F09D4F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D2024 7F09D4F4 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0D2028 7F09D4F8 AFA40018 */ sw $a0, 0x18($sp) -/* 0D202C 7F09D4FC 8FA40018 */ lw $a0, 0x18($sp) -/* 0D2030 7F09D500 C4440008 */ lwc1 $f4, 8($v0) -/* 0D2034 7F09D504 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 0D2038 7F09D508 C4860008 */ lwc1 $f6, 8($a0) -/* 0D203C 7F09D50C C490000C */ lwc1 $f16, 0xc($a0) -/* 0D2040 7F09D510 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0D2044 7F09D514 46062202 */ mul.s $f8, $f4, $f6 -/* 0D2048 7F09D518 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0D204C 7F09D51C 44811000 */ mtc1 $at, $f2 -/* 0D2050 7F09D520 46105482 */ mul.s $f18, $f10, $f16 -/* 0D2054 7F09D524 C48A0010 */ lwc1 $f10, 0x10($a0) -/* 0D2058 7F09D528 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D205C 7F09D52C 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 0D2060 7F09D530 460A3402 */ mul.s $f16, $f6, $f10 -/* 0D2064 7F09D534 46124100 */ add.s $f4, $f8, $f18 -/* 0D2068 7F09D538 C4520038 */ lwc1 $f18, 0x38($v0) -/* 0D206C 7F09D53C 00001025 */ move $v0, $zero -/* 0D2070 7F09D540 46102200 */ add.s $f8, $f4, $f16 -/* 0D2074 7F09D544 46089180 */ add.s $f6, $f18, $f8 -/* 0D2078 7F09D548 46003287 */ neg.s $f10, $f6 -/* 0D207C 7F09D54C E48A0018 */ swc1 $f10, 0x18($a0) -/* 0D2080 7F09D550 C4800018 */ lwc1 $f0, 0x18($a0) -/* 0D2084 7F09D554 4602003C */ c.lt.s $f0, $f2 -/* 0D2088 7F09D558 00000000 */ nop -/* 0D208C 7F09D55C 45020007 */ bc1fl .L7F09D57C -/* 0D2090 7F09D560 46020481 */ sub.s $f18, $f0, $f2 -/* 0D2094 7F09D564 44812000 */ mtc1 $at, $f4 -/* 0D2098 7F09D568 00000000 */ nop -/* 0D209C 7F09D56C 46040402 */ mul.s $f16, $f0, $f4 -/* 0D20A0 7F09D570 10000003 */ b .L7F09D580 -/* 0D20A4 7F09D574 E4900018 */ swc1 $f16, 0x18($a0) -/* 0D20A8 7F09D578 46020481 */ sub.s $f18, $f0, $f2 -.L7F09D57C: -/* 0D20AC 7F09D57C E4920018 */ swc1 $f18, 0x18($a0) -.L7F09D580: -/* 0D20B0 7F09D580 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 0D20B4 7F09D584 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D20B8 7F09D588 15C00003 */ bnez $t6, .L7F09D598 -/* 0D20BC 7F09D58C 00000000 */ nop -/* 0D20C0 7F09D590 10000001 */ b .L7F09D598 -/* 0D20C4 7F09D594 00001025 */ move $v0, $zero -.L7F09D598: -/* 0D20C8 7F09D598 03E00008 */ jr $ra -/* 0D20CC 7F09D59C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09D5A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09D5A0 -/* 0D20D0 7F09D5A0 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0D20D4 7F09D5A4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0D20D8 7F09D5A8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0D20DC 7F09D5AC AFB70038 */ sw $s7, 0x38($sp) -/* 0D20E0 7F09D5B0 AFB60034 */ sw $s6, 0x34($sp) -/* 0D20E4 7F09D5B4 AFB50030 */ sw $s5, 0x30($sp) -/* 0D20E8 7F09D5B8 AFB4002C */ sw $s4, 0x2c($sp) -/* 0D20EC 7F09D5BC AFB30028 */ sw $s3, 0x28($sp) -/* 0D20F0 7F09D5C0 AFB20024 */ sw $s2, 0x24($sp) -/* 0D20F4 7F09D5C4 AFB10020 */ sw $s1, 0x20($sp) -/* 0D20F8 7F09D5C8 9091002C */ lbu $s1, 0x2c($a0) -/* 0D20FC 7F09D5CC 00808025 */ move $s0, $a0 -/* 0D2100 7F09D5D0 8C950004 */ lw $s5, 4($a0) -/* 0D2104 7F09D5D4 00C09025 */ move $s2, $a2 -/* 0D2108 7F09D5D8 00A0A025 */ move $s4, $a1 -/* 0D210C 7F09D5DC 0FC2F285 */ jal sub_GAME_7F0BCA14 -/* 0D2110 7F09D5E0 02202025 */ move $a0, $s1 -/* 0D2114 7F09D5E4 16400003 */ bnez $s2, .L7F09D5F4 -/* 0D2118 7F09D5E8 0040B025 */ move $s6, $v0 -/* 0D211C 7F09D5EC 10000084 */ b .L7F09D800 -/* 0D2120 7F09D5F0 02801025 */ move $v0, $s4 -.L7F09D5F4: -/* 0D2124 7F09D5F4 02002025 */ move $a0, $s0 -/* 0D2128 7F09D5F8 0FC15299 */ jal sub_GAME_7F054A64 -/* 0D212C 7F09D5FC 27A50070 */ addiu $a1, $sp, 0x70 -/* 0D2130 7F09D600 1840000A */ blez $v0, .L7F09D62C -/* 0D2134 7F09D604 00000000 */ nop -/* 0D2138 7F09D608 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 0D213C 7F09D60C 02802025 */ move $a0, $s4 -/* 0D2140 7F09D610 8FA50070 */ lw $a1, 0x70($sp) -/* 0D2144 7F09D614 8FA60074 */ lw $a2, 0x74($sp) -/* 0D2148 7F09D618 8FA70078 */ lw $a3, 0x78($sp) -/* 0D214C 7F09D61C 0FC2D3FD */ jal sub_GAME_7F0B4FF4 -/* 0D2150 7F09D620 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0D2154 7F09D624 10000004 */ b .L7F09D638 -/* 0D2158 7F09D628 0040A025 */ move $s4, $v0 -.L7F09D62C: -/* 0D215C 7F09D62C 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 0D2160 7F09D630 02802025 */ move $a0, $s4 -/* 0D2164 7F09D634 0040A025 */ move $s4, $v0 -.L7F09D638: -/* 0D2168 7F09D638 02801025 */ move $v0, $s4 -/* 0D216C 7F09D63C 3C0F0001 */ lui $t7, (0x00013000 >> 16) # lui $t7, 1 -/* 0D2170 7F09D640 35EF3000 */ ori $t7, (0x00013000 & 0xFFFF) # ori $t7, $t7, 0x3000 -/* 0D2174 7F09D644 26940008 */ addiu $s4, $s4, 8 -/* 0D2178 7F09D648 3C0EB600 */ lui $t6, 0xb600 -/* 0D217C 7F09D64C 3C180103 */ lui $t8, (0x01030040 >> 16) # lui $t8, 0x103 -/* 0D2180 7F09D650 AC4E0000 */ sw $t6, ($v0) -/* 0D2184 7F09D654 AC4F0004 */ sw $t7, 4($v0) -/* 0D2188 7F09D658 37180040 */ ori $t8, (0x01030040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0D218C 7F09D65C 02808025 */ move $s0, $s4 -/* 0D2190 7F09D660 AE180000 */ sw $t8, ($s0) -/* 0D2194 7F09D664 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 0D2198 7F09D668 26940008 */ addiu $s4, $s4, 8 -/* 0D219C 7F09D66C 0C003A2C */ jal osVirtualToPhysical -/* 0D21A0 7F09D670 00402025 */ move $a0, $v0 -/* 0D21A4 7F09D674 AE020004 */ sw $v0, 4($s0) -/* 0D21A8 7F09D678 02802025 */ move $a0, $s4 -/* 0D21AC 7F09D67C 0FC2F271 */ jal sub_GAME_7F0BC9C4 -/* 0D21B0 7F09D680 02202825 */ move $a1, $s1 -/* 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(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 -/* 0D21D4 7F09D6A4 3C178004 */ lui $s7, %hi(D_8004017C+0x680) -/* 0D21D8 7F09D6A8 3C138004 */ lui $s3, %hi(D_8004017C+0x108) -/* 0D21DC 7F09D6AC AE020004 */ sw $v0, 4($s0) -/* 0D21E0 7F09D6B0 26730284 */ addiu $s3, %lo(D_8004017C+0x108) # addiu $s3, $s3, 0x284 -/* 0D21E4 7F09D6B4 26F707FC */ addiu $s7, %lo(D_8004017C+0x680) # addiu $s7, $s7, 0x7fc -/* 0D21E8 7F09D6B8 2412000E */ li $s2, 14 -.L7F09D6BC: -/* 0D21EC 7F09D6BC 02801025 */ move $v0, $s4 -/* 0D21F0 7F09D6C0 3C080600 */ lui $t0, 0x600 -/* 0D21F4 7F09D6C4 AC480000 */ sw $t0, ($v0) -/* 0D21F8 7F09D6C8 8EE90000 */ lw $t1, ($s7) -/* 0D21FC 7F09D6CC 26940008 */ addiu $s4, $s4, 8 -/* 0D2200 7F09D6D0 00008825 */ move $s1, $zero -/* 0D2204 7F09D6D4 02A08025 */ move $s0, $s5 -/* 0D2208 7F09D6D8 AC490004 */ sw $t1, 4($v0) -.L7F09D6DC: -/* 0D220C 7F09D6DC 8602001C */ lh $v0, 0x1c($s0) -/* 0D2210 7F09D6E0 18400012 */ blez $v0, .L7F09D72C -/* 0D2214 7F09D6E4 244AFFFF */ addiu $t2, $v0, -1 -/* 0D2218 7F09D6E8 448A3000 */ mtc1 $t2, $f6 -/* 0D221C 7F09D6EC 82AB03CC */ lb $t3, 0x3cc($s5) -/* 0D2220 7F09D6F0 26040008 */ addiu $a0, $s0, 8 -/* 0D2224 7F09D6F4 46803220 */ cvt.s.w $f8, $f6 -/* 0D2228 7F09D6F8 000B6180 */ sll $t4, $t3, 6 -/* 0D222C 7F09D6FC 026C6821 */ addu $t5, $s3, $t4 -/* 0D2230 7F09D700 C5AA0020 */ lwc1 $f10, 0x20($t5) -/* 0D2234 7F09D704 02802825 */ move $a1, $s4 -/* 0D2238 7F09D708 460A4403 */ div.s $f16, $f8, $f10 -/* 0D223C 7F09D70C 4600848D */ trunc.w.s $f18, $f16 -/* 0D2240 7F09D710 440F9000 */ mfc1 $t7, $f18 -/* 0D2244 7F09D714 00000000 */ nop -/* 0D2248 7F09D718 564F0005 */ bnel $s2, $t7, .L7F09D730 -/* 0D224C 7F09D71C 26310018 */ addiu $s1, $s1, 0x18 -/* 0D2250 7F09D720 0FC2760B */ jal sub_GAME_7F09D82C -/* 0D2254 7F09D724 02C03025 */ move $a2, $s6 -/* 0D2258 7F09D728 0040A025 */ move $s4, $v0 -.L7F09D72C: -/* 0D225C 7F09D72C 26310018 */ addiu $s1, $s1, 0x18 -.L7F09D730: -/* 0D2260 7F09D730 2A2103C0 */ slti $at, $s1, 0x3c0 -/* 0D2264 7F09D734 1420FFE9 */ bnez $at, .L7F09D6DC -/* 0D2268 7F09D738 26100018 */ addiu $s0, $s0, 0x18 -/* 0D226C 7F09D73C 2652FFFF */ addiu $s2, $s2, -1 -/* 0D2270 7F09D740 0641FFDE */ bgez $s2, .L7F09D6BC -/* 0D2274 7F09D744 26F7FFFC */ addiu $s7, $s7, -4 -/* 0D2278 7F09D748 3C180103 */ lui $t8, (0x01030040 >> 16) # lui $t8, 0x103 -/* 0D227C 7F09D74C 37180040 */ ori $t8, (0x01030040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0D2280 7F09D750 02809025 */ move $s2, $s4 -/* 0D2284 7F09D754 AE580000 */ sw $t8, ($s2) -/* 0D2288 7F09D758 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 0D228C 7F09D75C 26940008 */ addiu $s4, $s4, 8 -/* 0D2290 7F09D760 0C003A2C */ jal osVirtualToPhysical -/* 0D2294 7F09D764 00402025 */ move $a0, $v0 -/* 0D2298 7F09D768 AE420004 */ sw $v0, 4($s2) -/* 0D229C 7F09D76C 82B903CC */ lb $t9, 0x3cc($s5) -/* 0D22A0 7F09D770 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0D22A4 7F09D774 44813000 */ mtc1 $at, $f6 -/* 0D22A8 7F09D778 00194180 */ sll $t0, $t9, 6 -/* 0D22AC 7F09D77C 02684821 */ addu $t1, $s3, $t0 -/* 0D22B0 7F09D780 C5240020 */ lwc1 $f4, 0x20($t1) -/* 0D22B4 7F09D784 240203C0 */ li $v0, 960 -/* 0D22B8 7F09D788 00008825 */ move $s1, $zero -/* 0D22BC 7F09D78C 46062202 */ mul.s $f8, $f4, $f6 -/* 0D22C0 7F09D790 02A08025 */ move $s0, $s5 -/* 0D22C4 7F09D794 4600428D */ trunc.w.s $f10, $f8 -/* 0D22C8 7F09D798 44035000 */ mfc1 $v1, $f10 -/* 0D22CC 7F09D79C 00000000 */ nop -.L7F09D7A0: -/* 0D22D0 7F09D7A0 860B001C */ lh $t3, 0x1c($s0) -/* 0D22D4 7F09D7A4 26310060 */ addiu $s1, $s1, 0x60 -/* 0D22D8 7F09D7A8 006B082A */ slt $at, $v1, $t3 -/* 0D22DC 7F09D7AC 50200003 */ beql $at, $zero, .L7F09D7BC -/* 0D22E0 7F09D7B0 860C0034 */ lh $t4, 0x34($s0) -/* 0D22E4 7F09D7B4 A600001C */ sh $zero, 0x1c($s0) -/* 0D22E8 7F09D7B8 860C0034 */ lh $t4, 0x34($s0) -.L7F09D7BC: -/* 0D22EC 7F09D7BC 006C082A */ slt $at, $v1, $t4 -/* 0D22F0 7F09D7C0 50200003 */ beql $at, $zero, .L7F09D7D0 -/* 0D22F4 7F09D7C4 860D004C */ lh $t5, 0x4c($s0) -/* 0D22F8 7F09D7C8 A6000034 */ sh $zero, 0x34($s0) -/* 0D22FC 7F09D7CC 860D004C */ lh $t5, 0x4c($s0) -.L7F09D7D0: -/* 0D2300 7F09D7D0 006D082A */ slt $at, $v1, $t5 -/* 0D2304 7F09D7D4 50200003 */ beql $at, $zero, .L7F09D7E4 -/* 0D2308 7F09D7D8 860E0064 */ lh $t6, 0x64($s0) -/* 0D230C 7F09D7DC A600004C */ sh $zero, 0x4c($s0) -/* 0D2310 7F09D7E0 860E0064 */ lh $t6, 0x64($s0) -.L7F09D7E4: -/* 0D2314 7F09D7E4 006E082A */ slt $at, $v1, $t6 -/* 0D2318 7F09D7E8 10200002 */ beqz $at, .L7F09D7F4 -/* 0D231C 7F09D7EC 00000000 */ nop -/* 0D2320 7F09D7F0 A6000064 */ sh $zero, 0x64($s0) -.L7F09D7F4: -/* 0D2324 7F09D7F4 1622FFEA */ bne $s1, $v0, .L7F09D7A0 -/* 0D2328 7F09D7F8 26100060 */ addiu $s0, $s0, 0x60 -/* 0D232C 7F09D7FC 02801025 */ move $v0, $s4 -.L7F09D800: -/* 0D2330 7F09D800 8FBF003C */ lw $ra, 0x3c($sp) -/* 0D2334 7F09D804 8FB0001C */ lw $s0, 0x1c($sp) -/* 0D2338 7F09D808 8FB10020 */ lw $s1, 0x20($sp) -/* 0D233C 7F09D80C 8FB20024 */ lw $s2, 0x24($sp) -/* 0D2340 7F09D810 8FB30028 */ lw $s3, 0x28($sp) -/* 0D2344 7F09D814 8FB4002C */ lw $s4, 0x2c($sp) -/* 0D2348 7F09D818 8FB50030 */ lw $s5, 0x30($sp) -/* 0D234C 7F09D81C 8FB60034 */ lw $s6, 0x34($sp) -/* 0D2350 7F09D820 8FB70038 */ lw $s7, 0x38($sp) -/* 0D2354 7F09D824 03E00008 */ jr $ra -/* 0D2358 7F09D828 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09D82C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09D82C -/* 0D235C 7F09D82C 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0D2360 7F09D830 3C0F8004 */ lui $t7, %hi(D_8004080C+0xF4) -/* 0D2364 7F09D834 AFBF0024 */ sw $ra, 0x24($sp) -/* 0D2368 7F09D838 AFB20020 */ sw $s2, 0x20($sp) -/* 0D236C 7F09D83C AFB1001C */ sw $s1, 0x1c($sp) -/* 0D2370 7F09D840 AFB00018 */ sw $s0, 0x18($sp) -/* 0D2374 7F09D844 25EF0900 */ addiu $t7, %lo(D_8004080C+0xF4) # addiu $t7, $t7, 0x900 -/* 0D2378 7F09D848 8DE10000 */ lw $at, ($t7) -/* 0D237C 7F09D84C 8DE80004 */ lw $t0, 4($t7) -/* 0D2380 7F09D850 27AE00A0 */ addiu $t6, $sp, 0xa0 -/* 0D2384 7F09D854 ADC10000 */ sw $at, ($t6) -/* 0D2388 7F09D858 ADC80004 */ sw $t0, 4($t6) -/* 0D238C 7F09D85C 8DE8000C */ lw $t0, 0xc($t7) -/* 0D2390 7F09D860 8DE10008 */ lw $at, 8($t7) -/* 0D2394 7F09D864 00808025 */ move $s0, $a0 -/* 0D2398 7F09D868 00C08825 */ move $s1, $a2 -/* 0D239C 7F09D86C 00A09025 */ move $s2, $a1 -/* 0D23A0 7F09D870 ADC8000C */ sw $t0, 0xc($t6) -/* 0D23A4 7F09D874 0FC1E111 */ jal sub_GAME_7F078444 -/* 0D23A8 7F09D878 ADC10008 */ sw $at, 8($t6) -/* 0D23AC 7F09D87C 0FC227F5 */ jal get_BONDdata_position -/* 0D23B0 7F09D880 AFA2009C */ sw $v0, 0x9c($sp) -/* 0D23B4 7F09D884 C6040000 */ lwc1 $f4, ($s0) -/* 0D23B8 7F09D888 C4460000 */ lwc1 $f6, ($v0) -/* 0D23BC 7F09D88C C6080004 */ lwc1 $f8, 4($s0) -/* 0D23C0 7F09D890 C44A0004 */ lwc1 $f10, 4($v0) -/* 0D23C4 7F09D894 46062381 */ sub.s $f14, $f4, $f6 -/* 0D23C8 7F09D898 C4460008 */ lwc1 $f6, 8($v0) -/* 0D23CC 7F09D89C C6040008 */ lwc1 $f4, 8($s0) -/* 0D23D0 7F09D8A0 460A4401 */ sub.s $f16, $f8, $f10 -/* 0D23D4 7F09D8A4 460E7202 */ mul.s $f8, $f14, $f14 -/* 0D23D8 7F09D8A8 E7AE0064 */ swc1 $f14, 0x64($sp) -/* 0D23DC 7F09D8AC 46062481 */ sub.s $f18, $f4, $f6 -/* 0D23E0 7F09D8B0 46108282 */ mul.s $f10, $f16, $f16 -/* 0D23E4 7F09D8B4 E7B00060 */ swc1 $f16, 0x60($sp) -/* 0D23E8 7F09D8B8 AFA20098 */ sw $v0, 0x98($sp) -/* 0D23EC 7F09D8BC 46129182 */ mul.s $f6, $f18, $f18 -/* 0D23F0 7F09D8C0 E7B2005C */ swc1 $f18, 0x5c($sp) -/* 0D23F4 7F09D8C4 460A4100 */ add.s $f4, $f8, $f10 -/* 0D23F8 7F09D8C8 0C007DF8 */ jal sqrtf -/* 0D23FC 7F09D8CC 46062300 */ add.s $f12, $f4, $f6 -/* 0D2400 7F09D8D0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D2404 7F09D8D4 44814000 */ mtc1 $at, $f8 -/* 0D2408 7F09D8D8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0D240C 7F09D8DC 44815000 */ mtc1 $at, $f10 -/* 0D2410 7F09D8E0 46080302 */ mul.s $f12, $f0, $f8 -/* 0D2414 7F09D8E4 44802000 */ mtc1 $zero, $f4 -/* 0D2418 7F09D8E8 8FA3009C */ lw $v1, 0x9c($sp) -/* 0D241C 7F09D8EC 8FA50098 */ lw $a1, 0x98($sp) -/* 0D2420 7F09D8F0 C7AE0064 */ lwc1 $f14, 0x64($sp) -/* 0D2424 7F09D8F4 C7B00060 */ lwc1 $f16, 0x60($sp) -/* 0D2428 7F09D8F8 C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 0D242C 7F09D8FC 460C503C */ c.lt.s $f10, $f12 -/* 0D2430 7F09D900 00000000 */ nop -/* 0D2434 7F09D904 45000003 */ bc1f .L7F09D914 -/* 0D2438 7F09D908 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0D243C 7F09D90C 44816000 */ mtc1 $at, $f12 -/* 0D2440 7F09D910 00000000 */ nop -.L7F09D914: -/* 0D2444 7F09D914 46040032 */ c.eq.s $f0, $f4 -/* 0D2448 7F09D918 00000000 */ nop -/* 0D244C 7F09D91C 45020005 */ bc1fl .L7F09D934 -/* 0D2450 7F09D920 460C0181 */ sub.s $f6, $f0, $f12 -/* 0D2454 7F09D924 44801000 */ mtc1 $zero, $f2 -/* 0D2458 7F09D928 10000004 */ b .L7F09D93C -/* 0D245C 7F09D92C C608000C */ lwc1 $f8, 0xc($s0) -/* 0D2460 7F09D930 460C0181 */ sub.s $f6, $f0, $f12 -.L7F09D934: -/* 0D2464 7F09D934 46003083 */ div.s $f2, $f6, $f0 -/* 0D2468 7F09D938 C608000C */ lwc1 $f8, 0xc($s0) -.L7F09D93C: -/* 0D246C 7F09D93C C60A0010 */ lwc1 $f10, 0x10($s0) -/* 0D2470 7F09D940 C4A40000 */ lwc1 $f4, ($a1) -/* 0D2474 7F09D944 46024002 */ mul.s $f0, $f8, $f2 -/* 0D2478 7F09D948 24040004 */ li $a0, 4 -/* 0D247C 7F09D94C 46025302 */ mul.s $f12, $f10, $f2 -/* 0D2480 7F09D950 00000000 */ nop -/* 0D2484 7F09D954 46027182 */ mul.s $f6, $f14, $f2 -/* 0D2488 7F09D958 46062200 */ add.s $f8, $f4, $f6 -/* 0D248C 7F09D95C 46028102 */ mul.s $f4, $f16, $f2 -/* 0D2490 7F09D960 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 0D2494 7F09D964 C4AA0004 */ lwc1 $f10, 4($a1) -/* 0D2498 7F09D968 46045180 */ add.s $f6, $f10, $f4 -/* 0D249C 7F09D96C 46029282 */ mul.s $f10, $f18, $f2 -/* 0D24A0 7F09D970 E7A60048 */ swc1 $f6, 0x48($sp) -/* 0D24A4 7F09D974 C4A80008 */ lwc1 $f8, 8($a1) -/* 0D24A8 7F09D978 E7AC0050 */ swc1 $f12, 0x50($sp) -/* 0D24AC 7F09D97C E7A00054 */ swc1 $f0, 0x54($sp) -/* 0D24B0 7F09D980 460A4100 */ add.s $f4, $f8, $f10 -/* 0D24B4 7F09D984 AFA3009C */ sw $v1, 0x9c($sp) -/* 0D24B8 7F09D988 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 0D24BC 7F09D98C E7A40044 */ swc1 $f4, 0x44($sp) -/* 0D24C0 7F09D990 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 0D24C4 7F09D994 8C810000 */ lw $at, ($a0) -/* 0D24C8 7F09D998 8FA3009C */ lw $v1, 0x9c($sp) -/* 0D24CC 7F09D99C C7A00054 */ lwc1 $f0, 0x54($sp) -/* 0D24D0 7F09D9A0 C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 0D24D4 7F09D9A4 AC410000 */ sw $at, ($v0) -/* 0D24D8 7F09D9A8 8C8B0004 */ lw $t3, 4($a0) -/* 0D24DC 7F09D9AC 00408025 */ move $s0, $v0 -/* 0D24E0 7F09D9B0 AC4B0004 */ sw $t3, 4($v0) -/* 0D24E4 7F09D9B4 8C810008 */ lw $at, 8($a0) -/* 0D24E8 7F09D9B8 AC410008 */ sw $at, 8($v0) -/* 0D24EC 7F09D9BC 8C8B000C */ lw $t3, 0xc($a0) -/* 0D24F0 7F09D9C0 AC4B000C */ sw $t3, 0xc($v0) -/* 0D24F4 7F09D9C4 8C810000 */ lw $at, ($a0) -/* 0D24F8 7F09D9C8 AC410010 */ sw $at, 0x10($v0) -/* 0D24FC 7F09D9CC 8C990004 */ lw $t9, 4($a0) -/* 0D2500 7F09D9D0 AC590014 */ sw $t9, 0x14($v0) -/* 0D2504 7F09D9D4 8C810008 */ lw $at, 8($a0) -/* 0D2508 7F09D9D8 AC410018 */ sw $at, 0x18($v0) -/* 0D250C 7F09D9DC 8C99000C */ lw $t9, 0xc($a0) -/* 0D2510 7F09D9E0 AC59001C */ sw $t9, 0x1c($v0) -/* 0D2514 7F09D9E4 8C810000 */ lw $at, ($a0) -/* 0D2518 7F09D9E8 AC410020 */ sw $at, 0x20($v0) -/* 0D251C 7F09D9EC 8C8F0004 */ lw $t7, 4($a0) -/* 0D2520 7F09D9F0 AC4F0024 */ sw $t7, 0x24($v0) -/* 0D2524 7F09D9F4 8C810008 */ lw $at, 8($a0) -/* 0D2528 7F09D9F8 AC410028 */ sw $at, 0x28($v0) -/* 0D252C 7F09D9FC 8C8F000C */ lw $t7, 0xc($a0) -/* 0D2530 7F09DA00 AC4F002C */ sw $t7, 0x2c($v0) -/* 0D2534 7F09DA04 8C810000 */ lw $at, ($a0) -/* 0D2538 7F09DA08 AC410030 */ sw $at, 0x30($v0) -/* 0D253C 7F09DA0C 8C890004 */ lw $t1, 4($a0) -/* 0D2540 7F09DA10 AC490034 */ sw $t1, 0x34($v0) -/* 0D2544 7F09DA14 8C810008 */ lw $at, 8($a0) -/* 0D2548 7F09DA18 AC410038 */ sw $at, 0x38($v0) -/* 0D254C 7F09DA1C 8C89000C */ lw $t1, 0xc($a0) -/* 0D2550 7F09DA20 AC49003C */ sw $t1, 0x3c($v0) -/* 0D2554 7F09DA24 8C810000 */ lw $at, ($a0) -/* 0D2558 7F09DA28 AC410040 */ sw $at, 0x40($v0) -/* 0D255C 7F09DA2C 8C8C0004 */ lw $t4, 4($a0) -/* 0D2560 7F09DA30 AC4C0044 */ sw $t4, 0x44($v0) -/* 0D2564 7F09DA34 8C810008 */ lw $at, 8($a0) -/* 0D2568 7F09DA38 AC410048 */ sw $at, 0x48($v0) -/* 0D256C 7F09DA3C 8C8C000C */ lw $t4, 0xc($a0) -/* 0D2570 7F09DA40 AC4C004C */ sw $t4, 0x4c($v0) -/* 0D2574 7F09DA44 C4660000 */ lwc1 $f6, ($v1) -/* 0D2578 7F09DA48 46003202 */ mul.s $f8, $f6, $f0 -/* 0D257C 7F09DA4C E7A8008C */ swc1 $f8, 0x8c($sp) -/* 0D2580 7F09DA50 C46A0004 */ lwc1 $f10, 4($v1) -/* 0D2584 7F09DA54 46005102 */ mul.s $f4, $f10, $f0 -/* 0D2588 7F09DA58 E7A40090 */ swc1 $f4, 0x90($sp) -/* 0D258C 7F09DA5C C4660008 */ lwc1 $f6, 8($v1) -/* 0D2590 7F09DA60 46003202 */ mul.s $f8, $f6, $f0 -/* 0D2594 7F09DA64 E7A80094 */ swc1 $f8, 0x94($sp) -/* 0D2598 7F09DA68 C46A0000 */ lwc1 $f10, ($v1) -/* 0D259C 7F09DA6C 460C5102 */ mul.s $f4, $f10, $f12 -/* 0D25A0 7F09DA70 E7A40080 */ swc1 $f4, 0x80($sp) -/* 0D25A4 7F09DA74 C4660004 */ lwc1 $f6, 4($v1) -/* 0D25A8 7F09DA78 460C3202 */ mul.s $f8, $f6, $f12 -/* 0D25AC 7F09DA7C E7A80084 */ swc1 $f8, 0x84($sp) -/* 0D25B0 7F09DA80 C46A0008 */ lwc1 $f10, 8($v1) -/* 0D25B4 7F09DA84 460C5102 */ mul.s $f4, $f10, $f12 -/* 0D25B8 7F09DA88 E7A40088 */ swc1 $f4, 0x88($sp) -/* 0D25BC 7F09DA8C C4660010 */ lwc1 $f6, 0x10($v1) -/* 0D25C0 7F09DA90 46003202 */ mul.s $f8, $f6, $f0 -/* 0D25C4 7F09DA94 E7A80074 */ swc1 $f8, 0x74($sp) -/* 0D25C8 7F09DA98 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 0D25CC 7F09DA9C 46005102 */ mul.s $f4, $f10, $f0 -/* 0D25D0 7F09DAA0 E7A40078 */ swc1 $f4, 0x78($sp) -/* 0D25D4 7F09DAA4 C4660018 */ lwc1 $f6, 0x18($v1) -/* 0D25D8 7F09DAA8 46003202 */ mul.s $f8, $f6, $f0 -/* 0D25DC 7F09DAAC E7A8007C */ swc1 $f8, 0x7c($sp) -/* 0D25E0 7F09DAB0 C46A0010 */ lwc1 $f10, 0x10($v1) -/* 0D25E4 7F09DAB4 460C5102 */ mul.s $f4, $f10, $f12 -/* 0D25E8 7F09DAB8 E7A40068 */ swc1 $f4, 0x68($sp) -/* 0D25EC 7F09DABC C4660014 */ lwc1 $f6, 0x14($v1) -/* 0D25F0 7F09DAC0 460C3202 */ mul.s $f8, $f6, $f12 -/* 0D25F4 7F09DAC4 E7A8006C */ swc1 $f8, 0x6c($sp) -/* 0D25F8 7F09DAC8 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 0D25FC 7F09DACC 460C5102 */ mul.s $f4, $f10, $f12 -/* 0D2600 7F09DAD0 0FC2D20F */ jal get_room_data_float1 -/* 0D2604 7F09DAD4 E7A40070 */ swc1 $f4, 0x70($sp) -/* 0D2608 7F09DAD8 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 0D260C 7F09DADC C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 0D2610 7F09DAE0 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 0D2614 7F09DAE4 46083281 */ sub.s $f10, $f6, $f8 -/* 0D2618 7F09DAE8 46045181 */ sub.s $f6, $f10, $f4 -/* 0D261C 7F09DAEC C62A0000 */ lwc1 $f10, ($s1) -/* 0D2620 7F09DAF0 46003202 */ mul.s $f8, $f6, $f0 -/* 0D2624 7F09DAF4 460A4101 */ sub.s $f4, $f8, $f10 -/* 0D2628 7F09DAF8 4600218D */ trunc.w.s $f6, $f4 -/* 0D262C 7F09DAFC 440E3000 */ mfc1 $t6, $f6 -/* 0D2630 7F09DB00 0FC2D20F */ jal get_room_data_float1 -/* 0D2634 7F09DB04 A60E0000 */ sh $t6, ($s0) -/* 0D2638 7F09DB08 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0D263C 7F09DB0C C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0D2640 7F09DB10 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0D2644 7F09DB14 460A4101 */ sub.s $f4, $f8, $f10 -/* 0D2648 7F09DB18 46062201 */ sub.s $f8, $f4, $f6 -/* 0D264C 7F09DB1C C6240004 */ lwc1 $f4, 4($s1) -/* 0D2650 7F09DB20 46004282 */ mul.s $f10, $f8, $f0 -/* 0D2654 7F09DB24 46045181 */ sub.s $f6, $f10, $f4 -/* 0D2658 7F09DB28 4600320D */ trunc.w.s $f8, $f6 -/* 0D265C 7F09DB2C 440F4000 */ mfc1 $t7, $f8 -/* 0D2660 7F09DB30 0FC2D20F */ jal get_room_data_float1 -/* 0D2664 7F09DB34 A60F0002 */ sh $t7, 2($s0) -/* 0D2668 7F09DB38 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 0D266C 7F09DB3C C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0D2670 7F09DB40 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 0D2674 7F09DB44 240906E0 */ li $t1, 1760 -/* 0D2678 7F09DB48 46045181 */ sub.s $f6, $f10, $f4 -/* 0D267C 7F09DB4C 46083281 */ sub.s $f10, $f6, $f8 -/* 0D2680 7F09DB50 C6260008 */ lwc1 $f6, 8($s1) -/* 0D2684 7F09DB54 A6090008 */ sh $t1, 8($s0) -/* 0D2688 7F09DB58 A600000A */ sh $zero, 0xa($s0) -/* 0D268C 7F09DB5C 46005102 */ mul.s $f4, $f10, $f0 -/* 0D2690 7F09DB60 46062201 */ sub.s $f8, $f4, $f6 -/* 0D2694 7F09DB64 4600428D */ trunc.w.s $f10, $f8 -/* 0D2698 7F09DB68 44085000 */ mfc1 $t0, $f10 -/* 0D269C 7F09DB6C 0FC2D20F */ jal get_room_data_float1 -/* 0D26A0 7F09DB70 A6080004 */ sh $t0, 4($s0) -/* 0D26A4 7F09DB74 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0D26A8 7F09DB78 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 0D26AC 7F09DB7C C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 0D26B0 7F09DB80 46062200 */ add.s $f8, $f4, $f6 -/* 0D26B4 7F09DB84 460A4101 */ sub.s $f4, $f8, $f10 -/* 0D26B8 7F09DB88 C6280000 */ lwc1 $f8, ($s1) -/* 0D26BC 7F09DB8C 46002182 */ mul.s $f6, $f4, $f0 -/* 0D26C0 7F09DB90 46083281 */ sub.s $f10, $f6, $f8 -/* 0D26C4 7F09DB94 4600510D */ trunc.w.s $f4, $f10 -/* 0D26C8 7F09DB98 440B2000 */ mfc1 $t3, $f4 -/* 0D26CC 7F09DB9C 0FC2D20F */ jal get_room_data_float1 -/* 0D26D0 7F09DBA0 A60B0010 */ sh $t3, 0x10($s0) -/* 0D26D4 7F09DBA4 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 0D26D8 7F09DBA8 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 0D26DC 7F09DBAC C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0D26E0 7F09DBB0 46083280 */ add.s $f10, $f6, $f8 -/* 0D26E4 7F09DBB4 46045181 */ sub.s $f6, $f10, $f4 -/* 0D26E8 7F09DBB8 C62A0004 */ lwc1 $f10, 4($s1) -/* 0D26EC 7F09DBBC 46003202 */ mul.s $f8, $f6, $f0 -/* 0D26F0 7F09DBC0 460A4101 */ sub.s $f4, $f8, $f10 -/* 0D26F4 7F09DBC4 4600218D */ trunc.w.s $f6, $f4 -/* 0D26F8 7F09DBC8 44193000 */ mfc1 $t9, $f6 -/* 0D26FC 7F09DBCC 0FC2D20F */ jal get_room_data_float1 -/* 0D2700 7F09DBD0 A6190012 */ sh $t9, 0x12($s0) -/* 0D2704 7F09DBD4 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 0D2708 7F09DBD8 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 0D270C 7F09DBDC C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 0D2710 7F09DBE0 460A4100 */ add.s $f4, $f8, $f10 -/* 0D2714 7F09DBE4 46062201 */ sub.s $f8, $f4, $f6 -/* 0D2718 7F09DBE8 C6240008 */ lwc1 $f4, 8($s1) -/* 0D271C 7F09DBEC A6000018 */ sh $zero, 0x18($s0) -/* 0D2720 7F09DBF0 A600001A */ sh $zero, 0x1a($s0) -/* 0D2724 7F09DBF4 46004282 */ mul.s $f10, $f8, $f0 -/* 0D2728 7F09DBF8 46045181 */ sub.s $f6, $f10, $f4 -/* 0D272C 7F09DBFC 4600320D */ trunc.w.s $f8, $f6 -/* 0D2730 7F09DC00 44184000 */ mfc1 $t8, $f8 -/* 0D2734 7F09DC04 0FC2D20F */ jal get_room_data_float1 -/* 0D2738 7F09DC08 A6180014 */ sh $t8, 0x14($s0) -/* 0D273C 7F09DC0C C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0D2740 7F09DC10 C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 0D2744 7F09DC14 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 0D2748 7F09DC18 46045180 */ add.s $f6, $f10, $f4 -/* 0D274C 7F09DC1C 46083280 */ add.s $f10, $f6, $f8 -/* 0D2750 7F09DC20 C6260000 */ lwc1 $f6, ($s1) -/* 0D2754 7F09DC24 46005102 */ mul.s $f4, $f10, $f0 -/* 0D2758 7F09DC28 46062201 */ sub.s $f8, $f4, $f6 -/* 0D275C 7F09DC2C 4600428D */ trunc.w.s $f10, $f8 -/* 0D2760 7F09DC30 440A5000 */ mfc1 $t2, $f10 -/* 0D2764 7F09DC34 0FC2D20F */ jal get_room_data_float1 -/* 0D2768 7F09DC38 A60A0020 */ sh $t2, 0x20($s0) -/* 0D276C 7F09DC3C C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0D2770 7F09DC40 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 0D2774 7F09DC44 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0D2778 7F09DC48 46062200 */ add.s $f8, $f4, $f6 -/* 0D277C 7F09DC4C 460A4100 */ add.s $f4, $f8, $f10 -/* 0D2780 7F09DC50 C6280004 */ lwc1 $f8, 4($s1) -/* 0D2784 7F09DC54 46002182 */ mul.s $f6, $f4, $f0 -/* 0D2788 7F09DC58 46083281 */ sub.s $f10, $f6, $f8 -/* 0D278C 7F09DC5C 4600510D */ trunc.w.s $f4, $f10 -/* 0D2790 7F09DC60 44092000 */ mfc1 $t1, $f4 -/* 0D2794 7F09DC64 0FC2D20F */ jal get_room_data_float1 -/* 0D2798 7F09DC68 A6090022 */ sh $t1, 0x22($s0) -/* 0D279C 7F09DC6C C7A60044 */ lwc1 $f6, 0x44($sp) -/* 0D27A0 7F09DC70 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 0D27A4 7F09DC74 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0D27A8 7F09DC78 240C06E0 */ li $t4, 1760 -/* 0D27AC 7F09DC7C 46083280 */ add.s $f10, $f6, $f8 -/* 0D27B0 7F09DC80 46045180 */ add.s $f6, $f10, $f4 -/* 0D27B4 7F09DC84 C62A0008 */ lwc1 $f10, 8($s1) -/* 0D27B8 7F09DC88 A6000028 */ sh $zero, 0x28($s0) -/* 0D27BC 7F09DC8C A60C002A */ sh $t4, 0x2a($s0) -/* 0D27C0 7F09DC90 46003202 */ mul.s $f8, $f6, $f0 -/* 0D27C4 7F09DC94 460A4101 */ sub.s $f4, $f8, $f10 -/* 0D27C8 7F09DC98 4600218D */ trunc.w.s $f6, $f4 -/* 0D27CC 7F09DC9C 440B3000 */ mfc1 $t3, $f6 -/* 0D27D0 7F09DCA0 0FC2D20F */ jal get_room_data_float1 -/* 0D27D4 7F09DCA4 A60B0024 */ sh $t3, 0x24($s0) -/* 0D27D8 7F09DCA8 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 0D27DC 7F09DCAC C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 0D27E0 7F09DCB0 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 0D27E4 7F09DCB4 460A4101 */ sub.s $f4, $f8, $f10 -/* 0D27E8 7F09DCB8 46062200 */ add.s $f8, $f4, $f6 -/* 0D27EC 7F09DCBC C6240000 */ lwc1 $f4, ($s1) -/* 0D27F0 7F09DCC0 46004282 */ mul.s $f10, $f8, $f0 -/* 0D27F4 7F09DCC4 46045181 */ sub.s $f6, $f10, $f4 -/* 0D27F8 7F09DCC8 4600320D */ trunc.w.s $f8, $f6 -/* 0D27FC 7F09DCCC 440E4000 */ mfc1 $t6, $f8 -/* 0D2800 7F09DCD0 0FC2D20F */ jal get_room_data_float1 -/* 0D2804 7F09DCD4 A60E0030 */ sh $t6, 0x30($s0) -/* 0D2808 7F09DCD8 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 0D280C 7F09DCDC C7A40084 */ lwc1 $f4, 0x84($sp) -/* 0D2810 7F09DCE0 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 0D2814 7F09DCE4 46045181 */ sub.s $f6, $f10, $f4 -/* 0D2818 7F09DCE8 46083280 */ add.s $f10, $f6, $f8 -/* 0D281C 7F09DCEC C6260004 */ lwc1 $f6, 4($s1) -/* 0D2820 7F09DCF0 46005102 */ mul.s $f4, $f10, $f0 -/* 0D2824 7F09DCF4 46062201 */ sub.s $f8, $f4, $f6 -/* 0D2828 7F09DCF8 4600428D */ trunc.w.s $f10, $f8 -/* 0D282C 7F09DCFC 440F5000 */ mfc1 $t7, $f10 -/* 0D2830 7F09DD00 0FC2D20F */ jal get_room_data_float1 -/* 0D2834 7F09DD04 A60F0032 */ sh $t7, 0x32($s0) -/* 0D2838 7F09DD08 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0D283C 7F09DD0C C7A60088 */ lwc1 $f6, 0x88($sp) -/* 0D2840 7F09DD10 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0D2844 7F09DD14 240906E0 */ li $t1, 1760 -/* 0D2848 7F09DD18 46062201 */ sub.s $f8, $f4, $f6 -/* 0D284C 7F09DD1C 240D06E0 */ li $t5, 1760 -/* 0D2850 7F09DD20 3C0B0430 */ lui $t3, (0x04300040 >> 16) # lui $t3, 0x430 -/* 0D2854 7F09DD24 356B0040 */ ori $t3, (0x04300040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 0D2858 7F09DD28 460A4100 */ add.s $f4, $f8, $f10 -/* 0D285C 7F09DD2C C6280008 */ lwc1 $f8, 8($s1) -/* 0D2860 7F09DD30 A6090038 */ sh $t1, 0x38($s0) -/* 0D2864 7F09DD34 A60D003A */ sh $t5, 0x3a($s0) -/* 0D2868 7F09DD38 46002182 */ mul.s $f6, $f4, $f0 -/* 0D286C 7F09DD3C 02402825 */ move $a1, $s2 -/* 0D2870 7F09DD40 26520008 */ addiu $s2, $s2, 8 -/* 0D2874 7F09DD44 02002025 */ move $a0, $s0 -/* 0D2878 7F09DD48 46083281 */ sub.s $f10, $f6, $f8 -/* 0D287C 7F09DD4C 4600510D */ trunc.w.s $f4, $f10 -/* 0D2880 7F09DD50 44082000 */ mfc1 $t0, $f4 -/* 0D2884 7F09DD54 00000000 */ nop -/* 0D2888 7F09DD58 A6080034 */ sh $t0, 0x34($s0) -/* 0D288C 7F09DD5C ACAB0000 */ sw $t3, ($a1) -/* 0D2890 7F09DD60 0C003A2C */ jal osVirtualToPhysical -/* 0D2894 7F09DD64 AFA50038 */ sw $a1, 0x38($sp) -/* 0D2898 7F09DD68 8FA50038 */ lw $a1, 0x38($sp) -/* 0D289C 7F09DD6C 02401825 */ move $v1, $s2 -/* 0D28A0 7F09DD70 3C0CB100 */ lui $t4, (0xB1000032 >> 16) # lui $t4, 0xb100 -/* 0D28A4 7F09DD74 ACA20004 */ sw $v0, 4($a1) -/* 0D28A8 7F09DD78 358C0032 */ ori $t4, (0xB1000032 & 0xFFFF) # ori $t4, $t4, 0x32 -/* 0D28AC 7F09DD7C 24192010 */ li $t9, 8208 -/* 0D28B0 7F09DD80 AC790004 */ sw $t9, 4($v1) -/* 0D28B4 7F09DD84 AC6C0000 */ sw $t4, ($v1) -/* 0D28B8 7F09DD88 8FBF0024 */ lw $ra, 0x24($sp) -/* 0D28BC 7F09DD8C 26420008 */ addiu $v0, $s2, 8 -/* 0D28C0 7F09DD90 8FB20020 */ lw $s2, 0x20($sp) -/* 0D28C4 7F09DD94 8FB1001C */ lw $s1, 0x1c($sp) -/* 0D28C8 7F09DD98 8FB00018 */ lw $s0, 0x18($sp) -/* 0D28CC 7F09DD9C 03E00008 */ jr $ra -/* 0D28D0 7F09DDA0 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09DDA4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800576C0 -.word 0x46ea6000 /*30000.0*/ -glabel D_800576C4 -.word 0x46ea6000 /*30000.0*/ -glabel D_800576C8 -.word 0xc6ea6000 /*-30000.0*/ -.text -glabel sub_GAME_7F09DDA4 -/* 0D28D4 7F09DDA4 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 0D28D8 7F09DDA8 3C0F8004 */ lui $t7, %hi(D_80040910) -/* 0D28DC 7F09DDAC AFBF0034 */ sw $ra, 0x34($sp) -/* 0D28E0 7F09DDB0 AFB50030 */ sw $s5, 0x30($sp) -/* 0D28E4 7F09DDB4 AFB4002C */ sw $s4, 0x2c($sp) -/* 0D28E8 7F09DDB8 AFB30028 */ sw $s3, 0x28($sp) -/* 0D28EC 7F09DDBC AFB20024 */ sw $s2, 0x24($sp) -/* 0D28F0 7F09DDC0 AFB10020 */ sw $s1, 0x20($sp) -/* 0D28F4 7F09DDC4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0D28F8 7F09DDC8 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0D28FC 7F09DDCC AFA600E0 */ sw $a2, 0xe0($sp) -/* 0D2900 7F09DDD0 25EF0910 */ addiu $t7, %lo(D_80040910) # addiu $t7, $t7, 0x910 -/* 0D2904 7F09DDD4 8DE10000 */ lw $at, ($t7) -/* 0D2908 7F09DDD8 8DE80004 */ lw $t0, 4($t7) -/* 0D290C 7F09DDDC 27AE00C0 */ addiu $t6, $sp, 0xc0 -/* 0D2910 7F09DDE0 ADC10000 */ sw $at, ($t6) -/* 0D2914 7F09DDE4 ADC80004 */ sw $t0, 4($t6) -/* 0D2918 7F09DDE8 8DE8000C */ lw $t0, 0xc($t7) -/* 0D291C 7F09DDEC 8DE10008 */ lw $at, 8($t7) -/* 0D2920 7F09DDF0 00A08825 */ move $s1, $a1 -/* 0D2924 7F09DDF4 00809025 */ move $s2, $a0 -/* 0D2928 7F09DDF8 00E09825 */ move $s3, $a3 -/* 0D292C 7F09DDFC ADC8000C */ sw $t0, 0xc($t6) -/* 0D2930 7F09DE00 0FC1E111 */ jal sub_GAME_7F078444 -/* 0D2934 7F09DE04 ADC10008 */ sw $at, 8($t6) -/* 0D2938 7F09DE08 0FC227F5 */ jal get_BONDdata_position -/* 0D293C 7F09DE0C AFA200BC */ sw $v0, 0xbc($sp) -/* 0D2940 7F09DE10 AFA20070 */ sw $v0, 0x70($sp) -/* 0D2944 7F09DE14 86490006 */ lh $t1, 6($s2) -/* 0D2948 7F09DE18 24150018 */ li $s5, 24 -/* 0D294C 7F09DE1C 3C148004 */ lui $s4, %hi(D_8004017C) -/* 0D2950 7F09DE20 01350019 */ multu $t1, $s5 -/* 0D2954 7F09DE24 2694017C */ addiu $s4, %lo(D_8004017C) # addiu $s4, $s4, 0x17c -/* 0D2958 7F09DE28 86250024 */ lh $a1, 0x24($s1) -/* 0D295C 7F09DE2C 8FA300BC */ lw $v1, 0xbc($sp) -/* 0D2960 7F09DE30 24180001 */ li $t8, 1 -/* 0D2964 7F09DE34 00005012 */ mflo $t2 -/* 0D2968 7F09DE38 028A5821 */ addu $t3, $s4, $t2 -/* 0D296C 7F09DE3C 85640002 */ lh $a0, 2($t3) -/* 0D2970 7F09DE40 0085082A */ slt $at, $a0, $a1 -/* 0D2974 7F09DE44 5420002C */ bnezl $at, .L7F09DEF8 -/* 0D2978 7F09DE48 4459F800 */ cfc1 $t9, $31 -/* 0D297C 7F09DE4C 44843000 */ mtc1 $a0, $f6 -/* 0D2980 7F09DE50 C6240020 */ lwc1 $f4, 0x20($s1) -/* 0D2984 7F09DE54 240D0001 */ li $t5, 1 -/* 0D2988 7F09DE58 46803220 */ cvt.s.w $f8, $f6 -/* 0D298C 7F09DE5C 44853000 */ mtc1 $a1, $f6 -/* 0D2990 7F09DE60 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D2994 7F09DE64 46082283 */ div.s $f10, $f4, $f8 -/* 0D2998 7F09DE68 46803120 */ cvt.s.w $f4, $f6 -/* 0D299C 7F09DE6C 46045202 */ mul.s $f8, $f10, $f4 -/* 0D29A0 7F09DE70 444CF800 */ cfc1 $t4, $31 -/* 0D29A4 7F09DE74 44CDF800 */ ctc1 $t5, $31 -/* 0D29A8 7F09DE78 00000000 */ nop -/* 0D29AC 7F09DE7C 460041A4 */ cvt.w.s $f6, $f8 -/* 0D29B0 7F09DE80 444DF800 */ cfc1 $t5, $31 -/* 0D29B4 7F09DE84 00000000 */ nop -/* 0D29B8 7F09DE88 31AD0078 */ andi $t5, $t5, 0x78 -/* 0D29BC 7F09DE8C 51A00013 */ beql $t5, $zero, .L7F09DEDC -/* 0D29C0 7F09DE90 440D3000 */ mfc1 $t5, $f6 -/* 0D29C4 7F09DE94 44813000 */ mtc1 $at, $f6 -/* 0D29C8 7F09DE98 240D0001 */ li $t5, 1 -/* 0D29CC 7F09DE9C 46064181 */ sub.s $f6, $f8, $f6 -/* 0D29D0 7F09DEA0 44CDF800 */ ctc1 $t5, $31 -/* 0D29D4 7F09DEA4 00000000 */ nop -/* 0D29D8 7F09DEA8 460031A4 */ cvt.w.s $f6, $f6 -/* 0D29DC 7F09DEAC 444DF800 */ cfc1 $t5, $31 -/* 0D29E0 7F09DEB0 00000000 */ nop -/* 0D29E4 7F09DEB4 31AD0078 */ andi $t5, $t5, 0x78 -/* 0D29E8 7F09DEB8 15A00005 */ bnez $t5, .L7F09DED0 -/* 0D29EC 7F09DEBC 00000000 */ nop -/* 0D29F0 7F09DEC0 440D3000 */ mfc1 $t5, $f6 -/* 0D29F4 7F09DEC4 3C018000 */ lui $at, 0x8000 -/* 0D29F8 7F09DEC8 10000007 */ b .L7F09DEE8 -/* 0D29FC 7F09DECC 01A16825 */ or $t5, $t5, $at -.L7F09DED0: -/* 0D2A00 7F09DED0 10000005 */ b .L7F09DEE8 -/* 0D2A04 7F09DED4 240DFFFF */ li $t5, -1 -/* 0D2A08 7F09DED8 440D3000 */ mfc1 $t5, $f6 -.L7F09DEDC: -/* 0D2A0C 7F09DEDC 00000000 */ nop -/* 0D2A10 7F09DEE0 05A0FFFB */ bltz $t5, .L7F09DED0 -/* 0D2A14 7F09DEE4 00000000 */ nop -.L7F09DEE8: -/* 0D2A18 7F09DEE8 44CCF800 */ ctc1 $t4, $31 -/* 0D2A1C 7F09DEEC 10000023 */ b .L7F09DF7C -/* 0D2A20 7F09DEF0 A3AD0077 */ sb $t5, 0x77($sp) -/* 0D2A24 7F09DEF4 4459F800 */ cfc1 $t9, $31 -.L7F09DEF8: -/* 0D2A28 7F09DEF8 44D8F800 */ ctc1 $t8, $31 -/* 0D2A2C 7F09DEFC C62A0020 */ lwc1 $f10, 0x20($s1) -/* 0D2A30 7F09DF00 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D2A34 7F09DF04 46005124 */ cvt.w.s $f4, $f10 -/* 0D2A38 7F09DF08 4458F800 */ cfc1 $t8, $31 -/* 0D2A3C 7F09DF0C 00000000 */ nop -/* 0D2A40 7F09DF10 33180078 */ andi $t8, $t8, 0x78 -/* 0D2A44 7F09DF14 53000013 */ beql $t8, $zero, .L7F09DF64 -/* 0D2A48 7F09DF18 44182000 */ mfc1 $t8, $f4 -/* 0D2A4C 7F09DF1C 44812000 */ mtc1 $at, $f4 -/* 0D2A50 7F09DF20 24180001 */ li $t8, 1 -/* 0D2A54 7F09DF24 46045101 */ sub.s $f4, $f10, $f4 -/* 0D2A58 7F09DF28 44D8F800 */ ctc1 $t8, $31 -/* 0D2A5C 7F09DF2C 00000000 */ nop -/* 0D2A60 7F09DF30 46002124 */ cvt.w.s $f4, $f4 -/* 0D2A64 7F09DF34 4458F800 */ cfc1 $t8, $31 -/* 0D2A68 7F09DF38 00000000 */ nop -/* 0D2A6C 7F09DF3C 33180078 */ andi $t8, $t8, 0x78 -/* 0D2A70 7F09DF40 17000005 */ bnez $t8, .L7F09DF58 -/* 0D2A74 7F09DF44 00000000 */ nop -/* 0D2A78 7F09DF48 44182000 */ mfc1 $t8, $f4 -/* 0D2A7C 7F09DF4C 3C018000 */ lui $at, 0x8000 -/* 0D2A80 7F09DF50 10000007 */ b .L7F09DF70 -/* 0D2A84 7F09DF54 0301C025 */ or $t8, $t8, $at -.L7F09DF58: -/* 0D2A88 7F09DF58 10000005 */ b .L7F09DF70 -/* 0D2A8C 7F09DF5C 2418FFFF */ li $t8, -1 -/* 0D2A90 7F09DF60 44182000 */ mfc1 $t8, $f4 -.L7F09DF64: -/* 0D2A94 7F09DF64 00000000 */ nop -/* 0D2A98 7F09DF68 0700FFFB */ bltz $t8, .L7F09DF58 -/* 0D2A9C 7F09DF6C 00000000 */ nop -.L7F09DF70: -/* 0D2AA0 7F09DF70 44D9F800 */ ctc1 $t9, $31 -/* 0D2AA4 7F09DF74 A3B80077 */ sb $t8, 0x77($sp) -/* 0D2AA8 7F09DF78 00000000 */ nop -.L7F09DF7C: -/* 0D2AAC 7F09DF7C 24040004 */ li $a0, 4 -/* 0D2AB0 7F09DF80 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 0D2AB4 7F09DF84 AFA300BC */ sw $v1, 0xbc($sp) -/* 0D2AB8 7F09DF88 27A400C0 */ addiu $a0, $sp, 0xc0 -/* 0D2ABC 7F09DF8C 8C810000 */ lw $at, ($a0) -/* 0D2AC0 7F09DF90 00408025 */ move $s0, $v0 -/* 0D2AC4 7F09DF94 AC410000 */ sw $at, ($v0) -/* 0D2AC8 7F09DF98 8C880004 */ lw $t0, 4($a0) -/* 0D2ACC 7F09DF9C AC480004 */ sw $t0, 4($v0) -/* 0D2AD0 7F09DFA0 8C810008 */ lw $at, 8($a0) -/* 0D2AD4 7F09DFA4 AC410008 */ sw $at, 8($v0) -/* 0D2AD8 7F09DFA8 8C88000C */ lw $t0, 0xc($a0) -/* 0D2ADC 7F09DFAC AC48000C */ sw $t0, 0xc($v0) -/* 0D2AE0 7F09DFB0 8C810000 */ lw $at, ($a0) -/* 0D2AE4 7F09DFB4 AC410010 */ sw $at, 0x10($v0) -/* 0D2AE8 7F09DFB8 8C8B0004 */ lw $t3, 4($a0) -/* 0D2AEC 7F09DFBC AC4B0014 */ sw $t3, 0x14($v0) -/* 0D2AF0 7F09DFC0 8C810008 */ lw $at, 8($a0) -/* 0D2AF4 7F09DFC4 AC410018 */ sw $at, 0x18($v0) -/* 0D2AF8 7F09DFC8 8C8B000C */ lw $t3, 0xc($a0) -/* 0D2AFC 7F09DFCC AC4B001C */ sw $t3, 0x1c($v0) -/* 0D2B00 7F09DFD0 8C810000 */ lw $at, ($a0) -/* 0D2B04 7F09DFD4 AC410020 */ sw $at, 0x20($v0) -/* 0D2B08 7F09DFD8 8C990004 */ lw $t9, 4($a0) -/* 0D2B0C 7F09DFDC AC590024 */ sw $t9, 0x24($v0) -/* 0D2B10 7F09DFE0 8C810008 */ lw $at, 8($a0) -/* 0D2B14 7F09DFE4 AC410028 */ sw $at, 0x28($v0) -/* 0D2B18 7F09DFE8 8C99000C */ lw $t9, 0xc($a0) -/* 0D2B1C 7F09DFEC AC59002C */ sw $t9, 0x2c($v0) -/* 0D2B20 7F09DFF0 8C810000 */ lw $at, ($a0) -/* 0D2B24 7F09DFF4 AC410030 */ sw $at, 0x30($v0) -/* 0D2B28 7F09DFF8 8C8E0004 */ lw $t6, 4($a0) -/* 0D2B2C 7F09DFFC AC4E0034 */ sw $t6, 0x34($v0) -/* 0D2B30 7F09E000 8C810008 */ lw $at, 8($a0) -/* 0D2B34 7F09E004 AC410038 */ sw $at, 0x38($v0) -/* 0D2B38 7F09E008 8C8E000C */ lw $t6, 0xc($a0) -/* 0D2B3C 7F09E00C AC4E003C */ sw $t6, 0x3c($v0) -/* 0D2B40 7F09E010 0FC15FA8 */ jal cosf -/* 0D2B44 7F09E014 C62C0010 */ lwc1 $f12, 0x10($s1) -/* 0D2B48 7F09E018 C628000C */ lwc1 $f8, 0xc($s1) -/* 0D2B4C 7F09E01C C62C0010 */ lwc1 $f12, 0x10($s1) -/* 0D2B50 7F09E020 46080382 */ mul.s $f14, $f0, $f8 -/* 0D2B54 7F09E024 0FC15FAB */ jal sinf -/* 0D2B58 7F09E028 E7AE0088 */ swc1 $f14, 0x88($sp) -/* 0D2B5C 7F09E02C C626000C */ lwc1 $f6, 0xc($s1) -/* 0D2B60 7F09E030 C62C0018 */ lwc1 $f12, 0x18($s1) -/* 0D2B64 7F09E034 46060402 */ mul.s $f16, $f0, $f6 -/* 0D2B68 7F09E038 0FC15FAB */ jal sinf -/* 0D2B6C 7F09E03C E7B00084 */ swc1 $f16, 0x84($sp) -/* 0D2B70 7F09E040 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 0D2B74 7F09E044 44815000 */ mtc1 $at, $f10 -/* 0D2B78 7F09E048 C6280000 */ lwc1 $f8, ($s1) -/* 0D2B7C 7F09E04C 460A0102 */ mul.s $f4, $f0, $f10 -/* 0D2B80 7F09E050 46082180 */ add.s $f6, $f4, $f8 -/* 0D2B84 7F09E054 E7A60080 */ swc1 $f6, 0x80($sp) -/* 0D2B88 7F09E058 C62A0004 */ lwc1 $f10, 4($s1) -/* 0D2B8C 7F09E05C E7AA007C */ swc1 $f10, 0x7c($sp) -/* 0D2B90 7F09E060 0FC15FAB */ jal sinf -/* 0D2B94 7F09E064 C62C001C */ lwc1 $f12, 0x1c($s1) -/* 0D2B98 7F09E068 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 0D2B9C 7F09E06C 44812000 */ mtc1 $at, $f4 -/* 0D2BA0 7F09E070 C6260008 */ lwc1 $f6, 8($s1) -/* 0D2BA4 7F09E074 8FA20070 */ lw $v0, 0x70($sp) -/* 0D2BA8 7F09E078 46040202 */ mul.s $f8, $f0, $f4 -/* 0D2BAC 7F09E07C C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0D2BB0 7F09E080 46064280 */ add.s $f10, $f8, $f6 -/* 0D2BB4 7F09E084 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 0D2BB8 7F09E088 E7AA0078 */ swc1 $f10, 0x78($sp) -/* 0D2BBC 7F09E08C C4480000 */ lwc1 $f8, ($v0) -/* 0D2BC0 7F09E090 46082501 */ sub.s $f20, $f4, $f8 -/* 0D2BC4 7F09E094 C4440004 */ lwc1 $f4, 4($v0) -/* 0D2BC8 7F09E098 C4480008 */ lwc1 $f8, 8($v0) -/* 0D2BCC 7F09E09C 46043481 */ sub.s $f18, $f6, $f4 -/* 0D2BD0 7F09E0A0 4614A182 */ mul.s $f6, $f20, $f20 -/* 0D2BD4 7F09E0A4 46085081 */ sub.s $f2, $f10, $f8 -/* 0D2BD8 7F09E0A8 46129102 */ mul.s $f4, $f18, $f18 -/* 0D2BDC 7F09E0AC E7B20068 */ swc1 $f18, 0x68($sp) -/* 0D2BE0 7F09E0B0 46021202 */ mul.s $f8, $f2, $f2 -/* 0D2BE4 7F09E0B4 E7A20064 */ swc1 $f2, 0x64($sp) -/* 0D2BE8 7F09E0B8 46043280 */ add.s $f10, $f6, $f4 -/* 0D2BEC 7F09E0BC 0C007DF8 */ jal sqrtf -/* 0D2BF0 7F09E0C0 46085300 */ add.s $f12, $f10, $f8 -/* 0D2BF4 7F09E0C4 3C018005 */ lui $at, %hi(D_800576C0) -/* 0D2BF8 7F09E0C8 C42676C0 */ lwc1 $f6, %lo(D_800576C0)($at) -/* 0D2BFC 7F09E0CC 8FA300BC */ lw $v1, 0xbc($sp) -/* 0D2C00 7F09E0D0 C7AE0088 */ lwc1 $f14, 0x88($sp) -/* 0D2C04 7F09E0D4 4600303C */ c.lt.s $f6, $f0 -/* 0D2C08 7F09E0D8 C7B00084 */ lwc1 $f16, 0x84($sp) -/* 0D2C0C 7F09E0DC C7B20068 */ lwc1 $f18, 0x68($sp) -/* 0D2C10 7F09E0E0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D2C14 7F09E0E4 45020004 */ bc1fl .L7F09E0F8 -/* 0D2C18 7F09E0E8 44812000 */ mtc1 $at, $f4 -/* 0D2C1C 7F09E0EC 1000017A */ b .L7F09E6D8 -/* 0D2C20 7F09E0F0 8FA200E0 */ lw $v0, 0xe0($sp) -/* 0D2C24 7F09E0F4 44812000 */ mtc1 $at, $f4 -.L7F09E0F8: -/* 0D2C28 7F09E0F8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0D2C2C 7F09E0FC 44815000 */ mtc1 $at, $f10 -/* 0D2C30 7F09E100 46040302 */ mul.s $f12, $f0, $f4 -/* 0D2C34 7F09E104 44804000 */ mtc1 $zero, $f8 -/* 0D2C38 7F09E108 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0D2C3C 7F09E10C 460C503C */ c.lt.s $f10, $f12 -/* 0D2C40 7F09E110 00000000 */ nop -/* 0D2C44 7F09E114 45020004 */ bc1fl .L7F09E128 -/* 0D2C48 7F09E118 46080032 */ c.eq.s $f0, $f8 -/* 0D2C4C 7F09E11C 44816000 */ mtc1 $at, $f12 -/* 0D2C50 7F09E120 00000000 */ nop -/* 0D2C54 7F09E124 46080032 */ c.eq.s $f0, $f8 -.L7F09E128: -/* 0D2C58 7F09E128 00000000 */ nop -/* 0D2C5C 7F09E12C 45020005 */ bc1fl .L7F09E144 -/* 0D2C60 7F09E130 460C0181 */ sub.s $f6, $f0, $f12 -/* 0D2C64 7F09E134 44801000 */ mtc1 $zero, $f2 -/* 0D2C68 7F09E138 10000003 */ b .L7F09E148 -/* 0D2C6C 7F09E13C 00000000 */ nop -/* 0D2C70 7F09E140 460C0181 */ sub.s $f6, $f0, $f12 -.L7F09E144: -/* 0D2C74 7F09E144 46003083 */ div.s $f2, $f6, $f0 -.L7F09E148: -/* 0D2C78 7F09E148 46027382 */ mul.s $f14, $f14, $f2 -/* 0D2C7C 7F09E14C 8FA20070 */ lw $v0, 0x70($sp) -/* 0D2C80 7F09E150 46028402 */ mul.s $f16, $f16, $f2 -/* 0D2C84 7F09E154 C4440000 */ lwc1 $f4, ($v0) -/* 0D2C88 7F09E158 4602A282 */ mul.s $f10, $f20, $f2 -/* 0D2C8C 7F09E15C 460A2200 */ add.s $f8, $f4, $f10 -/* 0D2C90 7F09E160 46029102 */ mul.s $f4, $f18, $f2 -/* 0D2C94 7F09E164 E7A80080 */ swc1 $f8, 0x80($sp) -/* 0D2C98 7F09E168 C4460004 */ lwc1 $f6, 4($v0) -/* 0D2C9C 7F09E16C 46043280 */ add.s $f10, $f6, $f4 -/* 0D2CA0 7F09E170 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 0D2CA4 7F09E174 46023102 */ mul.s $f4, $f6, $f2 -/* 0D2CA8 7F09E178 E7AA007C */ swc1 $f10, 0x7c($sp) -/* 0D2CAC 7F09E17C C4480008 */ lwc1 $f8, 8($v0) -/* 0D2CB0 7F09E180 46044280 */ add.s $f10, $f8, $f4 -/* 0D2CB4 7F09E184 E7AA0078 */ swc1 $f10, 0x78($sp) -/* 0D2CB8 7F09E188 C4660000 */ lwc1 $f6, ($v1) -/* 0D2CBC 7F09E18C 460E3202 */ mul.s $f8, $f6, $f14 -/* 0D2CC0 7F09E190 E7A800B0 */ swc1 $f8, 0xb0($sp) -/* 0D2CC4 7F09E194 C4640004 */ lwc1 $f4, 4($v1) -/* 0D2CC8 7F09E198 460E2282 */ mul.s $f10, $f4, $f14 -/* 0D2CCC 7F09E19C E7AA00B4 */ swc1 $f10, 0xb4($sp) -/* 0D2CD0 7F09E1A0 C4660008 */ lwc1 $f6, 8($v1) -/* 0D2CD4 7F09E1A4 460E3202 */ mul.s $f8, $f6, $f14 -/* 0D2CD8 7F09E1A8 E7A800B8 */ swc1 $f8, 0xb8($sp) -/* 0D2CDC 7F09E1AC C4640000 */ lwc1 $f4, ($v1) -/* 0D2CE0 7F09E1B0 46102282 */ mul.s $f10, $f4, $f16 -/* 0D2CE4 7F09E1B4 E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 0D2CE8 7F09E1B8 C4660004 */ lwc1 $f6, 4($v1) -/* 0D2CEC 7F09E1BC 46103202 */ mul.s $f8, $f6, $f16 -/* 0D2CF0 7F09E1C0 E7A800A8 */ swc1 $f8, 0xa8($sp) -/* 0D2CF4 7F09E1C4 C4640008 */ lwc1 $f4, 8($v1) -/* 0D2CF8 7F09E1C8 46102282 */ mul.s $f10, $f4, $f16 -/* 0D2CFC 7F09E1CC E7AA00AC */ swc1 $f10, 0xac($sp) -/* 0D2D00 7F09E1D0 C4660010 */ lwc1 $f6, 0x10($v1) -/* 0D2D04 7F09E1D4 460E3202 */ mul.s $f8, $f6, $f14 -/* 0D2D08 7F09E1D8 E7A80098 */ swc1 $f8, 0x98($sp) -/* 0D2D0C 7F09E1DC C4640014 */ lwc1 $f4, 0x14($v1) -/* 0D2D10 7F09E1E0 460E2282 */ mul.s $f10, $f4, $f14 -/* 0D2D14 7F09E1E4 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 0D2D18 7F09E1E8 C4660018 */ lwc1 $f6, 0x18($v1) -/* 0D2D1C 7F09E1EC 460E3202 */ mul.s $f8, $f6, $f14 -/* 0D2D20 7F09E1F0 E7A800A0 */ swc1 $f8, 0xa0($sp) -/* 0D2D24 7F09E1F4 C4640010 */ lwc1 $f4, 0x10($v1) -/* 0D2D28 7F09E1F8 46102282 */ mul.s $f10, $f4, $f16 -/* 0D2D2C 7F09E1FC E7AA008C */ swc1 $f10, 0x8c($sp) -/* 0D2D30 7F09E200 C4660014 */ lwc1 $f6, 0x14($v1) -/* 0D2D34 7F09E204 46103202 */ mul.s $f8, $f6, $f16 -/* 0D2D38 7F09E208 E7A80090 */ swc1 $f8, 0x90($sp) -/* 0D2D3C 7F09E20C C4640018 */ lwc1 $f4, 0x18($v1) -/* 0D2D40 7F09E210 46102282 */ mul.s $f10, $f4, $f16 -/* 0D2D44 7F09E214 0FC2D20F */ jal get_room_data_float1 -/* 0D2D48 7F09E218 E7AA0094 */ swc1 $f10, 0x94($sp) -/* 0D2D4C 7F09E21C C7A60080 */ lwc1 $f6, 0x80($sp) -/* 0D2D50 7F09E220 C7A800B0 */ lwc1 $f8, 0xb0($sp) -/* 0D2D54 7F09E224 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0D2D58 7F09E228 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0D2D5C 7F09E22C 46083101 */ sub.s $f4, $f6, $f8 -/* 0D2D60 7F09E230 4481A000 */ mtc1 $at, $f20 -/* 0D2D64 7F09E234 460A2181 */ sub.s $f6, $f4, $f10 -/* 0D2D68 7F09E238 C6640000 */ lwc1 $f4, ($s3) -/* 0D2D6C 7F09E23C 46003202 */ mul.s $f8, $f6, $f0 -/* 0D2D70 7F09E240 46044281 */ sub.s $f10, $f8, $f4 -/* 0D2D74 7F09E244 46145082 */ mul.s $f2, $f10, $f20 -/* 0D2D78 7F09E248 0FC2D20F */ jal get_room_data_float1 -/* 0D2D7C 7F09E24C E7A20054 */ swc1 $f2, 0x54($sp) -/* 0D2D80 7F09E250 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 0D2D84 7F09E254 C7A800B4 */ lwc1 $f8, 0xb4($sp) -/* 0D2D88 7F09E258 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0D2D8C 7F09E25C 46083101 */ sub.s $f4, $f6, $f8 -/* 0D2D90 7F09E260 460A2181 */ sub.s $f6, $f4, $f10 -/* 0D2D94 7F09E264 C6640004 */ lwc1 $f4, 4($s3) -/* 0D2D98 7F09E268 46003202 */ mul.s $f8, $f6, $f0 -/* 0D2D9C 7F09E26C 46044281 */ sub.s $f10, $f8, $f4 -/* 0D2DA0 7F09E270 46145302 */ mul.s $f12, $f10, $f20 -/* 0D2DA4 7F09E274 0FC2D20F */ jal get_room_data_float1 -/* 0D2DA8 7F09E278 E7AC0050 */ swc1 $f12, 0x50($sp) -/* 0D2DAC 7F09E27C C7A60078 */ lwc1 $f6, 0x78($sp) -/* 0D2DB0 7F09E280 C7A800B8 */ lwc1 $f8, 0xb8($sp) -/* 0D2DB4 7F09E284 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0D2DB8 7F09E288 3C018005 */ lui $at, %hi(D_800576C4) -/* 0D2DBC 7F09E28C 46083101 */ sub.s $f4, $f6, $f8 -/* 0D2DC0 7F09E290 C43076C4 */ lwc1 $f16, %lo(D_800576C4)($at) -/* 0D2DC4 7F09E294 C7A20054 */ lwc1 $f2, 0x54($sp) -/* 0D2DC8 7F09E298 C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 0D2DCC 7F09E29C 460A2181 */ sub.s $f6, $f4, $f10 -/* 0D2DD0 7F09E2A0 C6640008 */ lwc1 $f4, 8($s3) -/* 0D2DD4 7F09E2A4 3C018005 */ lui $at, %hi(D_800576C8) -/* 0D2DD8 7F09E2A8 4602803C */ c.lt.s $f16, $f2 -/* 0D2DDC 7F09E2AC 46003202 */ mul.s $f8, $f6, $f0 -/* 0D2DE0 7F09E2B0 46044281 */ sub.s $f10, $f8, $f4 -/* 0D2DE4 7F09E2B4 46145382 */ mul.s $f14, $f10, $f20 -/* 0D2DE8 7F09E2B8 45010016 */ bc1t .L7F09E314 -/* 0D2DEC 7F09E2BC 00000000 */ nop -/* 0D2DF0 7F09E2C0 C42076C8 */ lwc1 $f0, %lo(D_800576C8)($at) -/* 0D2DF4 7F09E2C4 4600103C */ c.lt.s $f2, $f0 -/* 0D2DF8 7F09E2C8 00000000 */ nop -/* 0D2DFC 7F09E2CC 45010011 */ bc1t .L7F09E314 -/* 0D2E00 7F09E2D0 00000000 */ nop -/* 0D2E04 7F09E2D4 460C803C */ c.lt.s $f16, $f12 -/* 0D2E08 7F09E2D8 00000000 */ nop -/* 0D2E0C 7F09E2DC 4501000D */ bc1t .L7F09E314 -/* 0D2E10 7F09E2E0 00000000 */ nop -/* 0D2E14 7F09E2E4 4600603C */ c.lt.s $f12, $f0 -/* 0D2E18 7F09E2E8 00000000 */ nop -/* 0D2E1C 7F09E2EC 45010009 */ bc1t .L7F09E314 -/* 0D2E20 7F09E2F0 00000000 */ nop -/* 0D2E24 7F09E2F4 460E803C */ c.lt.s $f16, $f14 -/* 0D2E28 7F09E2F8 00000000 */ nop -/* 0D2E2C 7F09E2FC 45010005 */ bc1t .L7F09E314 -/* 0D2E30 7F09E300 00000000 */ nop -/* 0D2E34 7F09E304 4600703C */ c.lt.s $f14, $f0 -/* 0D2E38 7F09E308 00000000 */ nop -/* 0D2E3C 7F09E30C 45020004 */ bc1fl .L7F09E320 -/* 0D2E40 7F09E310 4600118D */ trunc.w.s $f6, $f2 -.L7F09E314: -/* 0D2E44 7F09E314 100000F0 */ b .L7F09E6D8 -/* 0D2E48 7F09E318 8FA200E0 */ lw $v0, 0xe0($sp) -/* 0D2E4C 7F09E31C 4600118D */ trunc.w.s $f6, $f2 -.L7F09E320: -/* 0D2E50 7F09E320 241906E0 */ li $t9, 1760 -/* 0D2E54 7F09E324 A6190008 */ sh $t9, 8($s0) -/* 0D2E58 7F09E328 4600620D */ trunc.w.s $f8, $f12 -/* 0D2E5C 7F09E32C 440A3000 */ mfc1 $t2, $f6 -/* 0D2E60 7F09E330 A600000A */ sh $zero, 0xa($s0) -/* 0D2E64 7F09E334 4600710D */ trunc.w.s $f4, $f14 -/* 0D2E68 7F09E338 440B4000 */ mfc1 $t3, $f8 -/* 0D2E6C 7F09E33C A60A0000 */ sh $t2, ($s0) -/* 0D2E70 7F09E340 440C2000 */ mfc1 $t4, $f4 -/* 0D2E74 7F09E344 A60B0002 */ sh $t3, 2($s0) -/* 0D2E78 7F09E348 A60C0004 */ sh $t4, 4($s0) -/* 0D2E7C 7F09E34C 864F0006 */ lh $t7, 6($s2) -/* 0D2E80 7F09E350 01F50019 */ multu $t7, $s5 -/* 0D2E84 7F09E354 0000C012 */ mflo $t8 -/* 0D2E88 7F09E358 02987021 */ addu $t6, $s4, $t8 -/* 0D2E8C 7F09E35C 91C8000C */ lbu $t0, 0xc($t6) -/* 0D2E90 7F09E360 A208000C */ sb $t0, 0xc($s0) -/* 0D2E94 7F09E364 864A0006 */ lh $t2, 6($s2) -/* 0D2E98 7F09E368 01550019 */ multu $t2, $s5 -/* 0D2E9C 7F09E36C 00004812 */ mflo $t1 -/* 0D2EA0 7F09E370 02895821 */ addu $t3, $s4, $t1 -/* 0D2EA4 7F09E374 916D000D */ lbu $t5, 0xd($t3) -/* 0D2EA8 7F09E378 A20D000D */ sb $t5, 0xd($s0) -/* 0D2EAC 7F09E37C 864C0006 */ lh $t4, 6($s2) -/* 0D2EB0 7F09E380 01950019 */ multu $t4, $s5 -/* 0D2EB4 7F09E384 0000C812 */ mflo $t9 -/* 0D2EB8 7F09E388 02997821 */ addu $t7, $s4, $t9 -/* 0D2EBC 7F09E38C 91F8000E */ lbu $t8, 0xe($t7) -/* 0D2EC0 7F09E390 A218000E */ sb $t8, 0xe($s0) -/* 0D2EC4 7F09E394 93AE0077 */ lbu $t6, 0x77($sp) -/* 0D2EC8 7F09E398 0FC2D20F */ jal get_room_data_float1 -/* 0D2ECC 7F09E39C A20E000F */ sb $t6, 0xf($s0) -/* 0D2ED0 7F09E3A0 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 0D2ED4 7F09E3A4 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0D2ED8 7F09E3A8 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 0D2EDC 7F09E3AC 46065200 */ add.s $f8, $f10, $f6 -/* 0D2EE0 7F09E3B0 46044281 */ sub.s $f10, $f8, $f4 -/* 0D2EE4 7F09E3B4 C6680000 */ lwc1 $f8, ($s3) -/* 0D2EE8 7F09E3B8 46005182 */ mul.s $f6, $f10, $f0 -/* 0D2EEC 7F09E3BC 46083101 */ sub.s $f4, $f6, $f8 -/* 0D2EF0 7F09E3C0 46142282 */ mul.s $f10, $f4, $f20 -/* 0D2EF4 7F09E3C4 4600518D */ trunc.w.s $f6, $f10 -/* 0D2EF8 7F09E3C8 440A3000 */ mfc1 $t2, $f6 -/* 0D2EFC 7F09E3CC 0FC2D20F */ jal get_room_data_float1 -/* 0D2F00 7F09E3D0 A60A0010 */ sh $t2, 0x10($s0) -/* 0D2F04 7F09E3D4 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 0D2F08 7F09E3D8 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 0D2F0C 7F09E3DC C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0D2F10 7F09E3E0 46044280 */ add.s $f10, $f8, $f4 -/* 0D2F14 7F09E3E4 46065201 */ sub.s $f8, $f10, $f6 -/* 0D2F18 7F09E3E8 C66A0004 */ lwc1 $f10, 4($s3) -/* 0D2F1C 7F09E3EC 46004102 */ mul.s $f4, $f8, $f0 -/* 0D2F20 7F09E3F0 460A2181 */ sub.s $f6, $f4, $f10 -/* 0D2F24 7F09E3F4 46143202 */ mul.s $f8, $f6, $f20 -/* 0D2F28 7F09E3F8 4600410D */ trunc.w.s $f4, $f8 -/* 0D2F2C 7F09E3FC 440B2000 */ mfc1 $t3, $f4 -/* 0D2F30 7F09E400 0FC2D20F */ jal get_room_data_float1 -/* 0D2F34 7F09E404 A60B0012 */ sh $t3, 0x12($s0) -/* 0D2F38 7F09E408 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 0D2F3C 7F09E40C C7A600AC */ lwc1 $f6, 0xac($sp) -/* 0D2F40 7F09E410 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0D2F44 7F09E414 46065200 */ add.s $f8, $f10, $f6 -/* 0D2F48 7F09E418 46044281 */ sub.s $f10, $f8, $f4 -/* 0D2F4C 7F09E41C C6680008 */ lwc1 $f8, 8($s3) -/* 0D2F50 7F09E420 A6000018 */ sh $zero, 0x18($s0) -/* 0D2F54 7F09E424 A600001A */ sh $zero, 0x1a($s0) -/* 0D2F58 7F09E428 46005182 */ mul.s $f6, $f10, $f0 -/* 0D2F5C 7F09E42C 46083101 */ sub.s $f4, $f6, $f8 -/* 0D2F60 7F09E430 46142282 */ mul.s $f10, $f4, $f20 -/* 0D2F64 7F09E434 4600518D */ trunc.w.s $f6, $f10 -/* 0D2F68 7F09E438 440C3000 */ mfc1 $t4, $f6 -/* 0D2F6C 7F09E43C 00000000 */ nop -/* 0D2F70 7F09E440 A60C0014 */ sh $t4, 0x14($s0) -/* 0D2F74 7F09E444 86590006 */ lh $t9, 6($s2) -/* 0D2F78 7F09E448 03350019 */ multu $t9, $s5 -/* 0D2F7C 7F09E44C 00007812 */ mflo $t7 -/* 0D2F80 7F09E450 028FC021 */ addu $t8, $s4, $t7 -/* 0D2F84 7F09E454 930E000C */ lbu $t6, 0xc($t8) -/* 0D2F88 7F09E458 A20E001C */ sb $t6, 0x1c($s0) -/* 0D2F8C 7F09E45C 86480006 */ lh $t0, 6($s2) -/* 0D2F90 7F09E460 01150019 */ multu $t0, $s5 -/* 0D2F94 7F09E464 00005012 */ mflo $t2 -/* 0D2F98 7F09E468 028A4821 */ addu $t1, $s4, $t2 -/* 0D2F9C 7F09E46C 912B000D */ lbu $t3, 0xd($t1) -/* 0D2FA0 7F09E470 A20B001D */ sb $t3, 0x1d($s0) -/* 0D2FA4 7F09E474 864D0006 */ lh $t5, 6($s2) -/* 0D2FA8 7F09E478 01B50019 */ multu $t5, $s5 -/* 0D2FAC 7F09E47C 00006012 */ mflo $t4 -/* 0D2FB0 7F09E480 028CC821 */ addu $t9, $s4, $t4 -/* 0D2FB4 7F09E484 932F000E */ lbu $t7, 0xe($t9) -/* 0D2FB8 7F09E488 A20F001E */ sb $t7, 0x1e($s0) -/* 0D2FBC 7F09E48C 93B80077 */ lbu $t8, 0x77($sp) -/* 0D2FC0 7F09E490 0FC2D20F */ jal get_room_data_float1 -/* 0D2FC4 7F09E494 A218001F */ sb $t8, 0x1f($s0) -/* 0D2FC8 7F09E498 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 0D2FCC 7F09E49C C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0D2FD0 7F09E4A0 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 0D2FD4 7F09E4A4 46044280 */ add.s $f10, $f8, $f4 -/* 0D2FD8 7F09E4A8 46065200 */ add.s $f8, $f10, $f6 -/* 0D2FDC 7F09E4AC C66A0000 */ lwc1 $f10, ($s3) -/* 0D2FE0 7F09E4B0 46004102 */ mul.s $f4, $f8, $f0 -/* 0D2FE4 7F09E4B4 460A2181 */ sub.s $f6, $f4, $f10 -/* 0D2FE8 7F09E4B8 46143202 */ mul.s $f8, $f6, $f20 -/* 0D2FEC 7F09E4BC 4600410D */ trunc.w.s $f4, $f8 -/* 0D2FF0 7F09E4C0 44082000 */ mfc1 $t0, $f4 -/* 0D2FF4 7F09E4C4 0FC2D20F */ jal get_room_data_float1 -/* 0D2FF8 7F09E4C8 A6080020 */ sh $t0, 0x20($s0) -/* 0D2FFC 7F09E4CC C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0D3000 7F09E4D0 C7A600B4 */ lwc1 $f6, 0xb4($sp) -/* 0D3004 7F09E4D4 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 0D3008 7F09E4D8 46065200 */ add.s $f8, $f10, $f6 -/* 0D300C 7F09E4DC 46044280 */ add.s $f10, $f8, $f4 -/* 0D3010 7F09E4E0 C6680004 */ lwc1 $f8, 4($s3) -/* 0D3014 7F09E4E4 46005182 */ mul.s $f6, $f10, $f0 -/* 0D3018 7F09E4E8 46083101 */ sub.s $f4, $f6, $f8 -/* 0D301C 7F09E4EC 46142282 */ mul.s $f10, $f4, $f20 -/* 0D3020 7F09E4F0 4600518D */ trunc.w.s $f6, $f10 -/* 0D3024 7F09E4F4 44093000 */ mfc1 $t1, $f6 -/* 0D3028 7F09E4F8 0FC2D20F */ jal get_room_data_float1 -/* 0D302C 7F09E4FC A6090022 */ sh $t1, 0x22($s0) -/* 0D3030 7F09E500 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 0D3034 7F09E504 C7A400B8 */ lwc1 $f4, 0xb8($sp) -/* 0D3038 7F09E508 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 0D303C 7F09E50C 240C06E0 */ li $t4, 1760 -/* 0D3040 7F09E510 46044280 */ add.s $f10, $f8, $f4 -/* 0D3044 7F09E514 46065200 */ add.s $f8, $f10, $f6 -/* 0D3048 7F09E518 C66A0008 */ lwc1 $f10, 8($s3) -/* 0D304C 7F09E51C A6000028 */ sh $zero, 0x28($s0) -/* 0D3050 7F09E520 A60C002A */ sh $t4, 0x2a($s0) -/* 0D3054 7F09E524 46004102 */ mul.s $f4, $f8, $f0 -/* 0D3058 7F09E528 460A2181 */ sub.s $f6, $f4, $f10 -/* 0D305C 7F09E52C 46143202 */ mul.s $f8, $f6, $f20 -/* 0D3060 7F09E530 4600410D */ trunc.w.s $f4, $f8 -/* 0D3064 7F09E534 440D2000 */ mfc1 $t5, $f4 -/* 0D3068 7F09E538 00000000 */ nop -/* 0D306C 7F09E53C A60D0024 */ sh $t5, 0x24($s0) -/* 0D3070 7F09E540 86590006 */ lh $t9, 6($s2) -/* 0D3074 7F09E544 03350019 */ multu $t9, $s5 -/* 0D3078 7F09E548 00007812 */ mflo $t7 -/* 0D307C 7F09E54C 028FC021 */ addu $t8, $s4, $t7 -/* 0D3080 7F09E550 930E000C */ lbu $t6, 0xc($t8) -/* 0D3084 7F09E554 A20E002C */ sb $t6, 0x2c($s0) -/* 0D3088 7F09E558 86480006 */ lh $t0, 6($s2) -/* 0D308C 7F09E55C 01150019 */ multu $t0, $s5 -/* 0D3090 7F09E560 00005012 */ mflo $t2 -/* 0D3094 7F09E564 028A4821 */ addu $t1, $s4, $t2 -/* 0D3098 7F09E568 912B000D */ lbu $t3, 0xd($t1) -/* 0D309C 7F09E56C A20B002D */ sb $t3, 0x2d($s0) -/* 0D30A0 7F09E570 864D0006 */ lh $t5, 6($s2) -/* 0D30A4 7F09E574 01B50019 */ multu $t5, $s5 -/* 0D30A8 7F09E578 00006012 */ mflo $t4 -/* 0D30AC 7F09E57C 028CC821 */ addu $t9, $s4, $t4 -/* 0D30B0 7F09E580 932F000E */ lbu $t7, 0xe($t9) -/* 0D30B4 7F09E584 A20F002E */ sb $t7, 0x2e($s0) -/* 0D30B8 7F09E588 93B80077 */ lbu $t8, 0x77($sp) -/* 0D30BC 7F09E58C 0FC2D20F */ jal get_room_data_float1 -/* 0D30C0 7F09E590 A218002F */ sb $t8, 0x2f($s0) -/* 0D30C4 7F09E594 C7AA0080 */ lwc1 $f10, 0x80($sp) -/* 0D30C8 7F09E598 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0D30CC 7F09E59C C7A40098 */ lwc1 $f4, 0x98($sp) -/* 0D30D0 7F09E5A0 46065201 */ sub.s $f8, $f10, $f6 -/* 0D30D4 7F09E5A4 46044280 */ add.s $f10, $f8, $f4 -/* 0D30D8 7F09E5A8 C6680000 */ lwc1 $f8, ($s3) -/* 0D30DC 7F09E5AC 46005182 */ mul.s $f6, $f10, $f0 -/* 0D30E0 7F09E5B0 46083101 */ sub.s $f4, $f6, $f8 -/* 0D30E4 7F09E5B4 46142282 */ mul.s $f10, $f4, $f20 -/* 0D30E8 7F09E5B8 4600518D */ trunc.w.s $f6, $f10 -/* 0D30EC 7F09E5BC 44083000 */ mfc1 $t0, $f6 -/* 0D30F0 7F09E5C0 0FC2D20F */ jal get_room_data_float1 -/* 0D30F4 7F09E5C4 A6080030 */ sh $t0, 0x30($s0) -/* 0D30F8 7F09E5C8 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 0D30FC 7F09E5CC C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 0D3100 7F09E5D0 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0D3104 7F09E5D4 46044281 */ sub.s $f10, $f8, $f4 -/* 0D3108 7F09E5D8 46065200 */ add.s $f8, $f10, $f6 -/* 0D310C 7F09E5DC C66A0004 */ lwc1 $f10, 4($s3) -/* 0D3110 7F09E5E0 46004102 */ mul.s $f4, $f8, $f0 -/* 0D3114 7F09E5E4 460A2181 */ sub.s $f6, $f4, $f10 -/* 0D3118 7F09E5E8 46143202 */ mul.s $f8, $f6, $f20 -/* 0D311C 7F09E5EC 4600410D */ trunc.w.s $f4, $f8 -/* 0D3120 7F09E5F0 44092000 */ mfc1 $t1, $f4 -/* 0D3124 7F09E5F4 0FC2D20F */ jal get_room_data_float1 -/* 0D3128 7F09E5F8 A6090032 */ sh $t1, 0x32($s0) -/* 0D312C 7F09E5FC C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 0D3130 7F09E600 C7A600AC */ lwc1 $f6, 0xac($sp) -/* 0D3134 7F09E604 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0D3138 7F09E608 240C06E0 */ li $t4, 1760 -/* 0D313C 7F09E60C 46065201 */ sub.s $f8, $f10, $f6 -/* 0D3140 7F09E610 241906E0 */ li $t9, 1760 -/* 0D3144 7F09E614 02002025 */ move $a0, $s0 -/* 0D3148 7F09E618 46044280 */ add.s $f10, $f8, $f4 -/* 0D314C 7F09E61C C6680008 */ lwc1 $f8, 8($s3) -/* 0D3150 7F09E620 A60C0038 */ sh $t4, 0x38($s0) -/* 0D3154 7F09E624 A619003A */ sh $t9, 0x3a($s0) -/* 0D3158 7F09E628 46005182 */ mul.s $f6, $f10, $f0 -/* 0D315C 7F09E62C 46083101 */ sub.s $f4, $f6, $f8 -/* 0D3160 7F09E630 46142282 */ mul.s $f10, $f4, $f20 -/* 0D3164 7F09E634 4600518D */ trunc.w.s $f6, $f10 -/* 0D3168 7F09E638 440D3000 */ mfc1 $t5, $f6 -/* 0D316C 7F09E63C 00000000 */ nop -/* 0D3170 7F09E640 A60D0034 */ sh $t5, 0x34($s0) -/* 0D3174 7F09E644 864F0006 */ lh $t7, 6($s2) -/* 0D3178 7F09E648 01F50019 */ multu $t7, $s5 -/* 0D317C 7F09E64C 0000C012 */ mflo $t8 -/* 0D3180 7F09E650 02987021 */ addu $t6, $s4, $t8 -/* 0D3184 7F09E654 91C8000C */ lbu $t0, 0xc($t6) -/* 0D3188 7F09E658 A208003C */ sb $t0, 0x3c($s0) -/* 0D318C 7F09E65C 864A0006 */ lh $t2, 6($s2) -/* 0D3190 7F09E660 01550019 */ multu $t2, $s5 -/* 0D3194 7F09E664 00004812 */ mflo $t1 -/* 0D3198 7F09E668 02895821 */ addu $t3, $s4, $t1 -/* 0D319C 7F09E66C 916D000D */ lbu $t5, 0xd($t3) -/* 0D31A0 7F09E670 3C090430 */ lui $t1, (0x04300040 >> 16) # lui $t1, 0x430 -/* 0D31A4 7F09E674 35290040 */ ori $t1, (0x04300040 & 0xFFFF) # ori $t1, $t1, 0x40 -/* 0D31A8 7F09E678 A20D003D */ sb $t5, 0x3d($s0) -/* 0D31AC 7F09E67C 864C0006 */ lh $t4, 6($s2) -/* 0D31B0 7F09E680 01950019 */ multu $t4, $s5 -/* 0D31B4 7F09E684 0000C812 */ mflo $t9 -/* 0D31B8 7F09E688 02997821 */ addu $t7, $s4, $t9 -/* 0D31BC 7F09E68C 91F8000E */ lbu $t8, 0xe($t7) -/* 0D31C0 7F09E690 A218003E */ sb $t8, 0x3e($s0) -/* 0D31C4 7F09E694 93AE0077 */ lbu $t6, 0x77($sp) -/* 0D31C8 7F09E698 A20E003F */ sb $t6, 0x3f($s0) -/* 0D31CC 7F09E69C 8FB100E0 */ lw $s1, 0xe0($sp) -/* 0D31D0 7F09E6A0 262A0008 */ addiu $t2, $s1, 8 -/* 0D31D4 7F09E6A4 AFAA00E0 */ sw $t2, 0xe0($sp) -/* 0D31D8 7F09E6A8 0C003A2C */ jal osVirtualToPhysical -/* 0D31DC 7F09E6AC AE290000 */ sw $t1, ($s1) -/* 0D31E0 7F09E6B0 AE220004 */ sw $v0, 4($s1) -/* 0D31E4 7F09E6B4 8FAB00E0 */ lw $t3, 0xe0($sp) -/* 0D31E8 7F09E6B8 3C0CB100 */ lui $t4, (0xB1000032 >> 16) # lui $t4, 0xb100 -/* 0D31EC 7F09E6BC 358C0032 */ ori $t4, (0xB1000032 & 0xFFFF) # ori $t4, $t4, 0x32 -/* 0D31F0 7F09E6C0 256D0008 */ addiu $t5, $t3, 8 -/* 0D31F4 7F09E6C4 AFAD00E0 */ sw $t5, 0xe0($sp) -/* 0D31F8 7F09E6C8 24192010 */ li $t9, 8208 -/* 0D31FC 7F09E6CC AD790004 */ sw $t9, 4($t3) -/* 0D3200 7F09E6D0 AD6C0000 */ sw $t4, ($t3) -/* 0D3204 7F09E6D4 8FA200E0 */ lw $v0, 0xe0($sp) -.L7F09E6D8: -/* 0D3208 7F09E6D8 8FBF0034 */ lw $ra, 0x34($sp) -/* 0D320C 7F09E6DC D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0D3210 7F09E6E0 8FB0001C */ lw $s0, 0x1c($sp) -/* 0D3214 7F09E6E4 8FB10020 */ lw $s1, 0x20($sp) -/* 0D3218 7F09E6E8 8FB20024 */ lw $s2, 0x24($sp) -/* 0D321C 7F09E6EC 8FB30028 */ lw $s3, 0x28($sp) -/* 0D3220 7F09E6F0 8FB4002C */ lw $s4, 0x2c($sp) -/* 0D3224 7F09E6F4 8FB50030 */ lw $s5, 0x30($sp) -/* 0D3228 7F09E6F8 03E00008 */ jr $ra -/* 0D322C 7F09E6FC 27BD00D8 */ addiu $sp, $sp, 0xd8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09E700(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09E700 -/* 0D3230 7F09E700 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0D3234 7F09E704 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D3238 7F09E708 AFA40030 */ sw $a0, 0x30($sp) -/* 0D323C 7F09E70C AFA50034 */ sw $a1, 0x34($sp) -/* 0D3240 7F09E710 AFA60038 */ sw $a2, 0x38($sp) -/* 0D3244 7F09E714 AFA7003C */ sw $a3, 0x3c($sp) -/* 0D3248 7F09E718 0FC26919 */ jal get_num_players -/* 0D324C 7F09E71C AFA0002C */ sw $zero, 0x2c($sp) -/* 0D3250 7F09E720 3C0B8004 */ lui $t3, %hi(D_8004017C) -/* 0D3254 7F09E724 3C078008 */ lui $a3, %hi(ptr_smoke_buf) -/* 0D3258 7F09E728 8FAD002C */ lw $t5, 0x2c($sp) -/* 0D325C 7F09E72C 24E7A140 */ addiu $a3, %lo(ptr_smoke_buf) # addiu $a3, $a3, -0x5ec0 -/* 0D3260 7F09E730 256B017C */ addiu $t3, %lo(D_8004017C) # addiu $t3, $t3, 0x17c -/* 0D3264 7F09E734 00002025 */ move $a0, $zero -/* 0D3268 7F09E738 240C0018 */ li $t4, 24 -/* 0D326C 7F09E73C 240A0009 */ li $t2, 9 -/* 0D3270 7F09E740 24090008 */ li $t1, 8 -/* 0D3274 7F09E744 24080007 */ li $t0, 7 -/* 0D3278 7F09E748 8CE50000 */ lw $a1, ($a3) -.L7F09E74C: -/* 0D327C 7F09E74C 28410002 */ slti $at, $v0, 2 -/* 0D3280 7F09E750 00A47021 */ addu $t6, $a1, $a0 -/* 0D3284 7F09E754 8DCF0000 */ lw $t7, ($t6) -/* 0D3288 7F09E758 00853021 */ addu $a2, $a0, $a1 -/* 0D328C 7F09E75C 15E00003 */ bnez $t7, .L7F09E76C -/* 0D3290 7F09E760 00000000 */ nop -/* 0D3294 7F09E764 10000012 */ b .L7F09E7B0 -/* 0D3298 7F09E768 00856821 */ addu $t5, $a0, $a1 -.L7F09E76C: -/* 0D329C 7F09E76C 1420000D */ bnez $at, .L7F09E7A4 -/* 0D32A0 7F09E770 24840198 */ addiu $a0, $a0, 0x198 -/* 0D32A4 7F09E774 84C30006 */ lh $v1, 6($a2) -/* 0D32A8 7F09E778 5103000B */ beql $t0, $v1, .L7F09E7A8 -/* 0D32AC 7F09E77C 28811FE0 */ slti $at, $a0, 0x1fe0 -/* 0D32B0 7F09E780 51230009 */ beql $t1, $v1, .L7F09E7A8 -/* 0D32B4 7F09E784 28811FE0 */ slti $at, $a0, 0x1fe0 -/* 0D32B8 7F09E788 51430007 */ beql $t2, $v1, .L7F09E7A8 -/* 0D32BC 7F09E78C 28811FE0 */ slti $at, $a0, 0x1fe0 -/* 0D32C0 7F09E790 006C0019 */ multu $v1, $t4 -/* 0D32C4 7F09E794 0000C012 */ mflo $t8 -/* 0D32C8 7F09E798 0178C821 */ addu $t9, $t3, $t8 -/* 0D32CC 7F09E79C 872E0000 */ lh $t6, ($t9) -/* 0D32D0 7F09E7A0 A4CE0004 */ sh $t6, 4($a2) -.L7F09E7A4: -/* 0D32D4 7F09E7A4 28811FE0 */ slti $at, $a0, 0x1fe0 -.L7F09E7A8: -/* 0D32D8 7F09E7A8 5420FFE8 */ bnezl $at, .L7F09E74C -/* 0D32DC 7F09E7AC 8CE50000 */ lw $a1, ($a3) -.L7F09E7B0: -/* 0D32E0 7F09E7B0 51A0003B */ beql $t5, $zero, .L7F09E8A0 -/* 0D32E4 7F09E7B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D32E8 7F09E7B8 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 0D32EC 7F09E7BC AFAD002C */ sw $t5, 0x2c($sp) -/* 0D32F0 7F09E7C0 24080007 */ li $t0, 7 -/* 0D32F4 7F09E7C4 8FAD002C */ lw $t5, 0x2c($sp) -/* 0D32F8 7F09E7C8 8FBF0030 */ lw $ra, 0x30($sp) -/* 0D32FC 7F09E7CC 10400033 */ beqz $v0, .L7F09E89C -/* 0D3300 7F09E7D0 AFA2001C */ sw $v0, 0x1c($sp) -/* 0D3304 7F09E7D4 90580001 */ lbu $t8, 1($v0) -/* 0D3308 7F09E7D8 8FA9003C */ lw $t1, 0x3c($sp) -/* 0D330C 7F09E7DC 240F0008 */ li $t7, 8 -/* 0D3310 7F09E7E0 37190002 */ ori $t9, $t8, 2 -/* 0D3314 7F09E7E4 A04F0000 */ sb $t7, ($v0) -/* 0D3318 7F09E7E8 A0590001 */ sb $t9, 1($v0) -/* 0D331C 7F09E7EC AC4D0004 */ sw $t5, 4($v0) -/* 0D3320 7F09E7F0 8FAE0034 */ lw $t6, 0x34($sp) -/* 0D3324 7F09E7F4 240700FF */ li $a3, 255 -/* 0D3328 7F09E7F8 00003025 */ move $a2, $zero -/* 0D332C 7F09E7FC AC4E0014 */ sw $t6, 0x14($v0) -/* 0D3330 7F09E800 C7E40000 */ lwc1 $f4, ($ra) -/* 0D3334 7F09E804 00402821 */ addu $a1, $v0, $zero -/* 0D3338 7F09E808 241800FF */ li $t8, 255 -/* 0D333C 7F09E80C E4440008 */ swc1 $f4, 8($v0) -/* 0D3340 7F09E810 C7E60004 */ lwc1 $f6, 4($ra) -/* 0D3344 7F09E814 01201821 */ addu $v1, $t1, $zero -/* 0D3348 7F09E818 E446000C */ swc1 $f6, 0xc($v0) -/* 0D334C 7F09E81C C7E80008 */ lwc1 $f8, 8($ra) -/* 0D3350 7F09E820 E4480010 */ swc1 $f8, 0x10($v0) -/* 0D3354 7F09E824 912F0000 */ lbu $t7, ($t1) -/* 0D3358 7F09E828 10EF0009 */ beq $a3, $t7, .L7F09E850 -/* 0D335C 7F09E82C 31E400FF */ andi $a0, $t7, 0xff -/* 0D3360 7F09E830 A0A4002C */ sb $a0, 0x2c($a1) -.L7F09E834: -/* 0D3364 7F09E834 90640001 */ lbu $a0, 1($v1) -/* 0D3368 7F09E838 24C60001 */ addiu $a2, $a2, 1 -/* 0D336C 7F09E83C 24630001 */ addiu $v1, $v1, 1 -/* 0D3370 7F09E840 10E40003 */ beq $a3, $a0, .L7F09E850 -/* 0D3374 7F09E844 24A50001 */ addiu $a1, $a1, 1 -/* 0D3378 7F09E848 54C8FFFA */ bnel $a2, $t0, .L7F09E834 -/* 0D337C 7F09E84C A0A4002C */ sb $a0, 0x2c($a1) -.L7F09E850: -/* 0D3380 7F09E850 0046C821 */ addu $t9, $v0, $a2 -/* 0D3384 7F09E854 A338002C */ sb $t8, 0x2c($t9) -/* 0D3388 7F09E858 8FAE0040 */ lw $t6, 0x40($sp) -/* 0D338C 7F09E85C 51C00005 */ beql $t6, $zero, .L7F09E874 -/* 0D3390 7F09E860 8FA4001C */ lw $a0, 0x1c($sp) -/* 0D3394 7F09E864 904F0001 */ lbu $t7, 1($v0) -/* 0D3398 7F09E868 35F80008 */ ori $t8, $t7, 8 -/* 0D339C 7F09E86C A0580001 */ sb $t8, 1($v0) -/* 0D33A0 7F09E870 8FA4001C */ lw $a0, 0x1c($sp) -.L7F09E874: -/* 0D33A4 7F09E874 0FC0E93C */ jal sub_GAME_7F03A4F0 -/* 0D33A8 7F09E878 AFAD002C */ sw $t5, 0x2c($sp) -/* 0D33AC 7F09E87C 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 0D33B0 7F09E880 8FA4001C */ lw $a0, 0x1c($sp) -/* 0D33B4 7F09E884 8FAD002C */ lw $t5, 0x2c($sp) -/* 0D33B8 7F09E888 8FB9001C */ lw $t9, 0x1c($sp) -/* 0D33BC 7F09E88C A5A00004 */ sh $zero, 4($t5) -/* 0D33C0 7F09E890 ADB90000 */ sw $t9, ($t5) -/* 0D33C4 7F09E894 87AE003A */ lh $t6, 0x3a($sp) -/* 0D33C8 7F09E898 A5AE0006 */ sh $t6, 6($t5) -.L7F09E89C: -/* 0D33CC 7F09E89C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F09E8A0: -/* 0D33D0 7F09E8A0 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0D33D4 7F09E8A4 03E00008 */ jr $ra -/* 0D33D8 7F09E8A8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09E8AC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800576CC -.word 0x3e19999a /*0.15000001*/ -glabel D_800576D0 -.word 0x3e99999a /*0.30000001*/ -glabel D_800576D4 -.word 0x3c23d70a /*0.0099999998*/ -glabel D_800576D8 -.word 0x3ca3d70a /*0.02*/ -glabel D_800576DC -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F09E8AC -/* 0D33DC 7F09E8AC 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 0D33E0 7F09E8B0 3C028005 */ lui $v0, %hi(clock_timer) -/* 0D33E4 7F09E8B4 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0D33E8 7F09E8B8 AFBF006C */ sw $ra, 0x6c($sp) -/* 0D33EC 7F09E8BC AFBE0068 */ sw $fp, 0x68($sp) -/* 0D33F0 7F09E8C0 AFB70064 */ sw $s7, 0x64($sp) -/* 0D33F4 7F09E8C4 AFB60060 */ sw $s6, 0x60($sp) -/* 0D33F8 7F09E8C8 AFB5005C */ sw $s5, 0x5c($sp) -/* 0D33FC 7F09E8CC AFB40058 */ sw $s4, 0x58($sp) -/* 0D3400 7F09E8D0 AFB30054 */ sw $s3, 0x54($sp) -/* 0D3404 7F09E8D4 AFB20050 */ sw $s2, 0x50($sp) -/* 0D3408 7F09E8D8 AFB1004C */ sw $s1, 0x4c($sp) -/* 0D340C 7F09E8DC AFB00048 */ sw $s0, 0x48($sp) -/* 0D3410 7F09E8E0 F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 0D3414 7F09E8E4 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 0D3418 7F09E8E8 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0D341C 7F09E8EC F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0D3420 7F09E8F0 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D3424 7F09E8F4 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D3428 7F09E8F8 0080B825 */ move $s7, $a0 -/* 0D342C 7F09E8FC 14400003 */ bnez $v0, .L7F09E90C -/* 0D3430 7F09E900 8C930004 */ lw $s3, 4($a0) -/* 0D3434 7F09E904 10000193 */ b .L7F09EF54 -/* 0D3438 7F09E908 00001025 */ move $v0, $zero -.L7F09E90C: -/* 0D343C 7F09E90C 2841000F */ slti $at, $v0, 0xf -/* 0D3440 7F09E910 50200005 */ beql $at, $zero, .L7F09E928 -/* 0D3444 7F09E914 3C014170 */ lui $at, 0x4170 -/* 0D3448 7F09E918 44822000 */ mtc1 $v0, $f4 -/* 0D344C 7F09E91C 10000004 */ b .L7F09E930 -/* 0D3450 7F09E920 46802020 */ cvt.s.w $f0, $f4 -/* 0D3454 7F09E924 3C014170 */ li $at, 0x41700000 # 15.000000 -.L7F09E928: -/* 0D3458 7F09E928 44810000 */ mtc1 $at, $f0 -/* 0D345C 7F09E92C 00000000 */ nop -.L7F09E930: -/* 0D3460 7F09E930 4600018D */ trunc.w.s $f6, $f0 -/* 0D3464 7F09E934 3C158004 */ lui $s5, %hi(D_8004017C) -/* 0D3468 7F09E938 26B5017C */ addiu $s5, %lo(D_8004017C) # addiu $s5, $s5, 0x17c -/* 0D346C 7F09E93C 0000F025 */ move $fp, $zero -/* 0D3470 7F09E940 440F3000 */ mfc1 $t7, $f6 -/* 0D3474 7F09E944 3C018005 */ lui $at, %hi(D_800576CC) -/* 0D3478 7F09E948 24160018 */ li $s6, 24 -/* 0D347C 7F09E94C 19E000FD */ blez $t7, .L7F09ED44 -/* 0D3480 7F09E950 AFAF008C */ sw $t7, 0x8c($sp) -/* 0D3484 7F09E954 C43E76CC */ lwc1 $f30, %lo(D_800576CC)($at) -/* 0D3488 7F09E958 3C018005 */ lui $at, %hi(D_800576D0) -/* 0D348C 7F09E95C C43C76D0 */ lwc1 $f28, %lo(D_800576D0)($at) -/* 0D3490 7F09E960 3C018005 */ lui $at, %hi(D_800576D4) -/* 0D3494 7F09E964 C43876D4 */ lwc1 $f24, %lo(D_800576D4)($at) -/* 0D3498 7F09E968 3C018005 */ lui $at, %hi(D_800576D8) -/* 0D349C 7F09E96C C43676D8 */ lwc1 $f22, %lo(D_800576D8)($at) -/* 0D34A0 7F09E970 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D34A4 7F09E974 4481A000 */ mtc1 $at, $f20 -/* 0D34A8 7F09E978 4480D000 */ mtc1 $zero, $f26 -/* 0D34AC 7F09E97C 24140190 */ li $s4, 400 -/* 0D34B0 7F09E980 86790004 */ lh $t9, 4($s3) -.L7F09E984: -/* 0D34B4 7F09E984 00001025 */ move $v0, $zero -/* 0D34B8 7F09E988 00009025 */ move $s2, $zero -/* 0D34BC 7F09E98C 27280001 */ addiu $t0, $t9, 1 -/* 0D34C0 7F09E990 A6680004 */ sh $t0, 4($s3) -/* 0D34C4 7F09E994 02608825 */ move $s1, $s3 -.L7F09E998: -/* 0D34C8 7F09E998 C6280014 */ lwc1 $f8, 0x14($s1) -/* 0D34CC 7F09E99C 4608D032 */ c.eq.s $f26, $f8 -/* 0D34D0 7F09E9A0 00000000 */ nop -/* 0D34D4 7F09E9A4 4503003C */ bc1tl .L7F09EA98 -/* 0D34D8 7F09E9A8 26520028 */ addiu $s2, $s2, 0x28 -/* 0D34DC 7F09E9AC 26300008 */ addiu $s0, $s1, 8 -/* 0D34E0 7F09E9B0 C60A0004 */ lwc1 $f10, 4($s0) -/* 0D34E4 7F09E9B4 C612000C */ lwc1 $f18, 0xc($s0) -/* 0D34E8 7F09E9B8 C6060020 */ lwc1 $f6, 0x20($s0) -/* 0D34EC 7F09E9BC 461C5400 */ add.s $f16, $f10, $f28 -/* 0D34F0 7F09E9C0 860C0024 */ lh $t4, 0x24($s0) -/* 0D34F4 7F09E9C4 461E9100 */ add.s $f4, $f18, $f30 -/* 0D34F8 7F09E9C8 E6100004 */ swc1 $f16, 4($s0) -/* 0D34FC 7F09E9CC C6100010 */ lwc1 $f16, 0x10($s0) -/* 0D3500 7F09E9D0 C6120014 */ lwc1 $f18, 0x14($s0) -/* 0D3504 7F09E9D4 E604000C */ swc1 $f4, 0xc($s0) -/* 0D3508 7F09E9D8 86690006 */ lh $t1, 6($s3) -/* 0D350C 7F09E9DC 46128100 */ add.s $f4, $f16, $f18 -/* 0D3510 7F09E9E0 258D0001 */ addiu $t5, $t4, 1 -/* 0D3514 7F09E9E4 01360019 */ multu $t1, $s6 -/* 0D3518 7F09E9E8 00005012 */ mflo $t2 -/* 0D351C 7F09E9EC 02AA5821 */ addu $t3, $s5, $t2 -/* 0D3520 7F09E9F0 C5680010 */ lwc1 $f8, 0x10($t3) -/* 0D3524 7F09E9F4 A60D0024 */ sh $t5, 0x24($s0) -/* 0D3528 7F09E9F8 E6040010 */ swc1 $f4, 0x10($s0) -/* 0D352C 7F09E9FC 46083281 */ sub.s $f10, $f6, $f8 -/* 0D3530 7F09EA00 0C002914 */ jal get_random_value -/* 0D3534 7F09EA04 E60A0020 */ swc1 $f10, 0x20($s0) -/* 0D3538 7F09EA08 44824000 */ mtc1 $v0, $f8 -/* 0D353C 7F09EA0C C6060018 */ lwc1 $f6, 0x18($s0) -/* 0D3540 7F09EA10 04410005 */ bgez $v0, .L7F09EA28 -/* 0D3544 7F09EA14 468042A0 */ cvt.s.w $f10, $f8 -/* 0D3548 7F09EA18 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D354C 7F09EA1C 44818000 */ mtc1 $at, $f16 -/* 0D3550 7F09EA20 00000000 */ nop -/* 0D3554 7F09EA24 46105280 */ add.s $f10, $f10, $f16 -.L7F09EA28: -/* 0D3558 7F09EA28 46145482 */ mul.s $f18, $f10, $f20 -/* 0D355C 7F09EA2C 00000000 */ nop -/* 0D3560 7F09EA30 46189102 */ mul.s $f4, $f18, $f24 -/* 0D3564 7F09EA34 4604B200 */ add.s $f8, $f22, $f4 -/* 0D3568 7F09EA38 46083400 */ add.s $f16, $f6, $f8 -/* 0D356C 7F09EA3C 0C002914 */ jal get_random_value -/* 0D3570 7F09EA40 E6100018 */ swc1 $f16, 0x18($s0) -/* 0D3574 7F09EA44 44829000 */ mtc1 $v0, $f18 -/* 0D3578 7F09EA48 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 0D357C 7F09EA4C 04410005 */ bgez $v0, .L7F09EA64 -/* 0D3580 7F09EA50 46809120 */ cvt.s.w $f4, $f18 -/* 0D3584 7F09EA54 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D3588 7F09EA58 44813000 */ mtc1 $at, $f6 -/* 0D358C 7F09EA5C 00000000 */ nop -/* 0D3590 7F09EA60 46062100 */ add.s $f4, $f4, $f6 -.L7F09EA64: -/* 0D3594 7F09EA64 46142202 */ mul.s $f8, $f4, $f20 -/* 0D3598 7F09EA68 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0D359C 7F09EA6C C6040020 */ lwc1 $f4, 0x20($s0) -/* 0D35A0 7F09EA70 46184402 */ mul.s $f16, $f8, $f24 -/* 0D35A4 7F09EA74 44814000 */ mtc1 $at, $f8 -/* 0D35A8 7F09EA78 00000000 */ nop -/* 0D35AC 7F09EA7C 4608203C */ c.lt.s $f4, $f8 -/* 0D35B0 7F09EA80 4610B480 */ add.s $f18, $f22, $f16 -/* 0D35B4 7F09EA84 46125180 */ add.s $f6, $f10, $f18 -/* 0D35B8 7F09EA88 45000002 */ bc1f .L7F09EA94 -/* 0D35BC 7F09EA8C E606001C */ swc1 $f6, 0x1c($s0) -/* 0D35C0 7F09EA90 E61A000C */ swc1 $f26, 0xc($s0) -.L7F09EA94: -/* 0D35C4 7F09EA94 26520028 */ addiu $s2, $s2, 0x28 -.L7F09EA98: -/* 0D35C8 7F09EA98 2A410190 */ slti $at, $s2, 0x190 -/* 0D35CC 7F09EA9C 1420FFBE */ bnez $at, .L7F09E998 -/* 0D35D0 7F09EAA0 26310028 */ addiu $s1, $s1, 0x28 -/* 0D35D4 7F09EAA4 866E0006 */ lh $t6, 6($s3) -/* 0D35D8 7F09EAA8 86630004 */ lh $v1, 4($s3) -/* 0D35DC 7F09EAAC 01D60019 */ multu $t6, $s6 -/* 0D35E0 7F09EAB0 00007812 */ mflo $t7 -/* 0D35E4 7F09EAB4 02AF2021 */ addu $a0, $s5, $t7 -/* 0D35E8 7F09EAB8 84980000 */ lh $t8, ($a0) -/* 0D35EC 7F09EABC 0078082A */ slt $at, $v1, $t8 -/* 0D35F0 7F09EAC0 5020009D */ beql $at, $zero, .L7F09ED38 -/* 0D35F4 7F09EAC4 8FAB008C */ lw $t3, 0x8c($sp) -/* 0D35F8 7F09EAC8 84990004 */ lh $t9, 4($a0) -/* 0D35FC 7F09EACC 00009025 */ move $s2, $zero -/* 0D3600 7F09EAD0 02608825 */ move $s1, $s3 -/* 0D3604 7F09EAD4 0079001A */ div $zero, $v1, $t9 -/* 0D3608 7F09EAD8 17200002 */ bnez $t9, .L7F09EAE4 -/* 0D360C 7F09EADC 00000000 */ nop -/* 0D3610 7F09EAE0 0007000D */ break 7 -.L7F09EAE4: -/* 0D3614 7F09EAE4 2401FFFF */ li $at, -1 -/* 0D3618 7F09EAE8 17210004 */ bne $t9, $at, .L7F09EAFC -/* 0D361C 7F09EAEC 3C018000 */ li $at, 0x80000000 # -0.000000 -/* 0D3620 7F09EAF0 14610002 */ bne $v1, $at, .L7F09EAFC -/* 0D3624 7F09EAF4 00000000 */ nop -/* 0D3628 7F09EAF8 0006000D */ break 6 -.L7F09EAFC: -/* 0D362C 7F09EAFC 24010001 */ li $at, 1 -/* 0D3630 7F09EB00 00004010 */ mfhi $t0 -/* 0D3634 7F09EB04 5501008C */ bnel $t0, $at, .L7F09ED38 -/* 0D3638 7F09EB08 8FAB008C */ lw $t3, 0x8c($sp) -.L7F09EB0C: -/* 0D363C 7F09EB0C C6300014 */ lwc1 $f16, 0x14($s1) -/* 0D3640 7F09EB10 26520028 */ addiu $s2, $s2, 0x28 -/* 0D3644 7F09EB14 4610D032 */ c.eq.s $f26, $f16 -/* 0D3648 7F09EB18 00000000 */ nop -/* 0D364C 7F09EB1C 45000083 */ bc1f .L7F09ED2C -/* 0D3650 7F09EB20 00000000 */ nop -/* 0D3654 7F09EB24 0C002914 */ jal get_random_value -/* 0D3658 7F09EB28 00000000 */ nop -/* 0D365C 7F09EB2C 44825000 */ mtc1 $v0, $f10 -/* 0D3660 7F09EB30 26300008 */ addiu $s0, $s1, 8 -/* 0D3664 7F09EB34 04410005 */ bgez $v0, .L7F09EB4C -/* 0D3668 7F09EB38 468054A0 */ cvt.s.w $f18, $f10 -/* 0D366C 7F09EB3C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D3670 7F09EB40 44813000 */ mtc1 $at, $f6 -/* 0D3674 7F09EB44 00000000 */ nop -/* 0D3678 7F09EB48 46069480 */ add.s $f18, $f18, $f6 -.L7F09EB4C: -/* 0D367C 7F09EB4C 86690006 */ lh $t1, 6($s3) -/* 0D3680 7F09EB50 46149102 */ mul.s $f4, $f18, $f20 -/* 0D3684 7F09EB54 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D3688 7F09EB58 01360019 */ multu $t1, $s6 -/* 0D368C 7F09EB5C 44814000 */ mtc1 $at, $f8 -/* 0D3690 7F09EB60 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D3694 7F09EB64 44815000 */ mtc1 $at, $f10 -/* 0D3698 7F09EB68 46082402 */ mul.s $f16, $f4, $f8 -/* 0D369C 7F09EB6C 00005012 */ mflo $t2 -/* 0D36A0 7F09EB70 02AA5821 */ addu $t3, $s5, $t2 -/* 0D36A4 7F09EB74 856C0006 */ lh $t4, 6($t3) -/* 0D36A8 7F09EB78 460A8180 */ add.s $f6, $f16, $f10 -/* 0D36AC 7F09EB7C 448C9000 */ mtc1 $t4, $f18 -/* 0D36B0 7F09EB80 00000000 */ nop -/* 0D36B4 7F09EB84 46809120 */ cvt.s.w $f4, $f18 -/* 0D36B8 7F09EB88 46043202 */ mul.s $f8, $f6, $f4 -/* 0D36BC 7F09EB8C 0C002914 */ jal get_random_value -/* 0D36C0 7F09EB90 E608000C */ swc1 $f8, 0xc($s0) -/* 0D36C4 7F09EB94 24010046 */ li $at, 70 -/* 0D36C8 7F09EB98 0041001B */ divu $zero, $v0, $at -/* 0D36CC 7F09EB9C 00006810 */ mfhi $t5 -/* 0D36D0 7F09EBA0 448D8000 */ mtc1 $t5, $f16 -/* 0D36D4 7F09EBA4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D36D8 7F09EBA8 05A10004 */ bgez $t5, .L7F09EBBC -/* 0D36DC 7F09EBAC 468082A0 */ cvt.s.w $f10, $f16 -/* 0D36E0 7F09EBB0 44819000 */ mtc1 $at, $f18 -/* 0D36E4 7F09EBB4 00000000 */ nop -/* 0D36E8 7F09EBB8 46125280 */ add.s $f10, $f10, $f18 -.L7F09EBBC: -/* 0D36EC 7F09EBBC 3C0142DC */ li $at, 0x42DC0000 # 110.000000 -/* 0D36F0 7F09EBC0 44813000 */ mtc1 $at, $f6 -/* 0D36F4 7F09EBC4 A6000024 */ sh $zero, 0x24($s0) -/* 0D36F8 7F09EBC8 46065100 */ add.s $f4, $f10, $f6 -/* 0D36FC 7F09EBCC 0C002914 */ jal get_random_value -/* 0D3700 7F09EBD0 E6040020 */ swc1 $f4, 0x20($s0) -/* 0D3704 7F09EBD4 44824000 */ mtc1 $v0, $f8 -/* 0D3708 7F09EBD8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D370C 7F09EBDC 04410004 */ bgez $v0, .L7F09EBF0 -/* 0D3710 7F09EBE0 46804420 */ cvt.s.w $f16, $f8 -/* 0D3714 7F09EBE4 44819000 */ mtc1 $at, $f18 -/* 0D3718 7F09EBE8 00000000 */ nop -/* 0D371C 7F09EBEC 46128400 */ add.s $f16, $f16, $f18 -.L7F09EBF0: -/* 0D3720 7F09EBF0 46148282 */ mul.s $f10, $f16, $f20 -/* 0D3724 7F09EBF4 3C018005 */ lui $at, %hi(D_800576DC) -/* 0D3728 7F09EBF8 C42676DC */ lwc1 $f6, %lo(D_800576DC)($at) -/* 0D372C 7F09EBFC 46065102 */ mul.s $f4, $f10, $f6 -/* 0D3730 7F09EC00 0C002914 */ jal get_random_value -/* 0D3734 7F09EC04 E6040010 */ swc1 $f4, 0x10($s0) -/* 0D3738 7F09EC08 44829000 */ mtc1 $v0, $f18 -/* 0D373C 7F09EC0C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D3740 7F09EC10 44814000 */ mtc1 $at, $f8 -/* 0D3744 7F09EC14 04410005 */ bgez $v0, .L7F09EC2C -/* 0D3748 7F09EC18 46809420 */ cvt.s.w $f16, $f18 -/* 0D374C 7F09EC1C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D3750 7F09EC20 44815000 */ mtc1 $at, $f10 -/* 0D3754 7F09EC24 00000000 */ nop -/* 0D3758 7F09EC28 460A8400 */ add.s $f16, $f16, $f10 -.L7F09EC2C: -/* 0D375C 7F09EC2C 866E0006 */ lh $t6, 6($s3) -/* 0D3760 7F09EC30 46148182 */ mul.s $f6, $f16, $f20 -/* 0D3764 7F09EC34 46064101 */ sub.s $f4, $f8, $f6 -/* 0D3768 7F09EC38 01D60019 */ multu $t6, $s6 -/* 0D376C 7F09EC3C 00007812 */ mflo $t7 -/* 0D3770 7F09EC40 02AFC021 */ addu $t8, $s5, $t7 -/* 0D3774 7F09EC44 C7120008 */ lwc1 $f18, 8($t8) -/* 0D3778 7F09EC48 46049282 */ mul.s $f10, $f18, $f4 -/* 0D377C 7F09EC4C E60A0014 */ swc1 $f10, 0x14($s0) -/* 0D3780 7F09EC50 C6F00008 */ lwc1 $f16, 8($s7) -/* 0D3784 7F09EC54 E6100000 */ swc1 $f16, ($s0) -/* 0D3788 7F09EC58 C6E8000C */ lwc1 $f8, 0xc($s7) -/* 0D378C 7F09EC5C E6080004 */ swc1 $f8, 4($s0) -/* 0D3790 7F09EC60 C6E60010 */ lwc1 $f6, 0x10($s7) -/* 0D3794 7F09EC64 0C002914 */ jal get_random_value -/* 0D3798 7F09EC68 E6060008 */ swc1 $f6, 8($s0) -/* 0D379C 7F09EC6C 44829000 */ mtc1 $v0, $f18 -/* 0D37A0 7F09EC70 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D37A4 7F09EC74 04410004 */ bgez $v0, .L7F09EC88 -/* 0D37A8 7F09EC78 46809120 */ cvt.s.w $f4, $f18 -/* 0D37AC 7F09EC7C 44815000 */ mtc1 $at, $f10 -/* 0D37B0 7F09EC80 00000000 */ nop -/* 0D37B4 7F09EC84 460A2100 */ add.s $f4, $f4, $f10 -.L7F09EC88: -/* 0D37B8 7F09EC88 46142402 */ mul.s $f16, $f4, $f20 -/* 0D37BC 7F09EC8C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D37C0 7F09EC90 44814000 */ mtc1 $at, $f8 -/* 0D37C4 7F09EC94 00000000 */ nop -/* 0D37C8 7F09EC98 46088182 */ mul.s $f6, $f16, $f8 -/* 0D37CC 7F09EC9C 0C002914 */ jal get_random_value -/* 0D37D0 7F09ECA0 E6060018 */ swc1 $f6, 0x18($s0) -/* 0D37D4 7F09ECA4 44829000 */ mtc1 $v0, $f18 -/* 0D37D8 7F09ECA8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D37DC 7F09ECAC 04410004 */ bgez $v0, .L7F09ECC0 -/* 0D37E0 7F09ECB0 468092A0 */ cvt.s.w $f10, $f18 -/* 0D37E4 7F09ECB4 44812000 */ mtc1 $at, $f4 -/* 0D37E8 7F09ECB8 00000000 */ nop -/* 0D37EC 7F09ECBC 46045280 */ add.s $f10, $f10, $f4 -.L7F09ECC0: -/* 0D37F0 7F09ECC0 46145402 */ mul.s $f16, $f10, $f20 -/* 0D37F4 7F09ECC4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D37F8 7F09ECC8 44814000 */ mtc1 $at, $f8 -/* 0D37FC 7F09ECCC 00000000 */ nop -/* 0D3800 7F09ECD0 46088182 */ mul.s $f6, $f16, $f8 -/* 0D3804 7F09ECD4 E606001C */ swc1 $f6, 0x1c($s0) -/* 0D3808 7F09ECD8 86790006 */ lh $t9, 6($s3) -/* 0D380C 7F09ECDC 86630004 */ lh $v1, 4($s3) -/* 0D3810 7F09ECE0 03360019 */ multu $t9, $s6 -/* 0D3814 7F09ECE4 00004012 */ mflo $t0 -/* 0D3818 7F09ECE8 02A82021 */ addu $a0, $s5, $t0 -/* 0D381C 7F09ECEC 84850000 */ lh $a1, ($a0) -/* 0D3820 7F09ECF0 84860014 */ lh $a2, 0x14($a0) -/* 0D3824 7F09ECF4 00A64823 */ subu $t1, $a1, $a2 -/* 0D3828 7F09ECF8 0123082A */ slt $at, $t1, $v1 -/* 0D382C 7F09ECFC 5020000E */ beql $at, $zero, .L7F09ED38 -/* 0D3830 7F09ED00 8FAB008C */ lw $t3, 0x8c($sp) -/* 0D3834 7F09ED04 00A35023 */ subu $t2, $a1, $v1 -/* 0D3838 7F09ED08 448A9000 */ mtc1 $t2, $f18 -/* 0D383C 7F09ED0C 44865000 */ mtc1 $a2, $f10 -/* 0D3840 7F09ED10 C6060020 */ lwc1 $f6, 0x20($s0) -/* 0D3844 7F09ED14 46809120 */ cvt.s.w $f4, $f18 -/* 0D3848 7F09ED18 46805420 */ cvt.s.w $f16, $f10 -/* 0D384C 7F09ED1C 46102203 */ div.s $f8, $f4, $f16 -/* 0D3850 7F09ED20 46083482 */ mul.s $f18, $f6, $f8 -/* 0D3854 7F09ED24 10000003 */ b .L7F09ED34 -/* 0D3858 7F09ED28 E6120020 */ swc1 $f18, 0x20($s0) -.L7F09ED2C: -/* 0D385C 7F09ED2C 1654FF77 */ bne $s2, $s4, .L7F09EB0C -/* 0D3860 7F09ED30 26310028 */ addiu $s1, $s1, 0x28 -.L7F09ED34: -/* 0D3864 7F09ED34 8FAB008C */ lw $t3, 0x8c($sp) -.L7F09ED38: -/* 0D3868 7F09ED38 27DE0001 */ addiu $fp, $fp, 1 -/* 0D386C 7F09ED3C 57CBFF11 */ bnel $fp, $t3, .L7F09E984 -/* 0D3870 7F09ED40 86790004 */ lh $t9, 4($s3) -.L7F09ED44: -/* 0D3874 7F09ED44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D3878 7F09ED48 44812000 */ mtc1 $at, $f4 -/* 0D387C 7F09ED4C C6EA0008 */ lwc1 $f10, 8($s7) -/* 0D3880 7F09ED50 44814000 */ mtc1 $at, $f8 -/* 0D3884 7F09ED54 4480D000 */ mtc1 $zero, $f26 -/* 0D3888 7F09ED58 46045401 */ sub.s $f16, $f10, $f4 -/* 0D388C 7F09ED5C 44812000 */ mtc1 $at, $f4 -/* 0D3890 7F09ED60 3C158004 */ lui $s5, %hi(D_8004017C) -/* 0D3894 7F09ED64 26B5017C */ addiu $s5, %lo(D_8004017C) # addiu $s5, $s5, 0x17c -/* 0D3898 7F09ED68 E7B000A8 */ swc1 $f16, 0xa8($sp) -/* 0D389C 7F09ED6C C6E6000C */ lwc1 $f6, 0xc($s7) -/* 0D38A0 7F09ED70 24160018 */ li $s6, 24 -/* 0D38A4 7F09ED74 00009025 */ move $s2, $zero -/* 0D38A8 7F09ED78 46083481 */ sub.s $f18, $f6, $f8 -/* 0D38AC 7F09ED7C 44814000 */ mtc1 $at, $f8 -/* 0D38B0 7F09ED80 02608825 */ move $s1, $s3 -/* 0D38B4 7F09ED84 27B0009C */ addiu $s0, $sp, 0x9c -/* 0D38B8 7F09ED88 E7B200AC */ swc1 $f18, 0xac($sp) -/* 0D38BC 7F09ED8C C6EA0010 */ lwc1 $f10, 0x10($s7) -/* 0D38C0 7F09ED90 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 0D38C4 7F09ED94 4600D386 */ mov.s $f14, $f26 -/* 0D38C8 7F09ED98 46045401 */ sub.s $f16, $f10, $f4 -/* 0D38CC 7F09ED9C 44812000 */ mtc1 $at, $f4 -/* 0D38D0 7F09EDA0 E7B000B0 */ swc1 $f16, 0xb0($sp) -/* 0D38D4 7F09EDA4 C6E60008 */ lwc1 $f6, 8($s7) -/* 0D38D8 7F09EDA8 46083480 */ add.s $f18, $f6, $f8 -/* 0D38DC 7F09EDAC 44814000 */ mtc1 $at, $f8 -/* 0D38E0 7F09EDB0 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 0D38E4 7F09EDB4 C6EA000C */ lwc1 $f10, 0xc($s7) -/* 0D38E8 7F09EDB8 46045400 */ add.s $f16, $f10, $f4 -/* 0D38EC 7F09EDBC E7B000A0 */ swc1 $f16, 0xa0($sp) -/* 0D38F0 7F09EDC0 C6E60010 */ lwc1 $f6, 0x10($s7) -/* 0D38F4 7F09EDC4 46083480 */ add.s $f18, $f6, $f8 -/* 0D38F8 7F09EDC8 E7B200A4 */ swc1 $f18, 0xa4($sp) -.L7F09EDCC: -/* 0D38FC 7F09EDCC C62A0014 */ lwc1 $f10, 0x14($s1) -/* 0D3900 7F09EDD0 26520028 */ addiu $s2, $s2, 0x28 -/* 0D3904 7F09EDD4 2A410190 */ slti $at, $s2, 0x190 -/* 0D3908 7F09EDD8 460AD032 */ c.eq.s $f26, $f10 -/* 0D390C 7F09EDDC 00002025 */ move $a0, $zero -/* 0D3910 7F09EDE0 02202825 */ move $a1, $s1 -/* 0D3914 7F09EDE4 27A200A8 */ addiu $v0, $sp, 0xa8 -/* 0D3918 7F09EDE8 45010016 */ bc1t .L7F09EE44 -/* 0D391C 7F09EDEC 00000000 */ nop -.L7F09EDF0: -/* 0D3920 7F09EDF0 C4A40008 */ lwc1 $f4, 8($a1) -/* 0D3924 7F09EDF4 C6300014 */ lwc1 $f16, 0x14($s1) -/* 0D3928 7F09EDF8 C4460000 */ lwc1 $f6, ($v0) -/* 0D392C 7F09EDFC 24A50004 */ addiu $a1, $a1, 4 -/* 0D3930 7F09EE00 46102001 */ sub.s $f0, $f4, $f16 -/* 0D3934 7F09EE04 02041821 */ addu $v1, $s0, $a0 -/* 0D3938 7F09EE08 4606003C */ c.lt.s $f0, $f6 -/* 0D393C 7F09EE0C 00000000 */ nop -/* 0D3940 7F09EE10 45020004 */ bc1fl .L7F09EE24 -/* 0D3944 7F09EE14 C4680000 */ lwc1 $f8, ($v1) -/* 0D3948 7F09EE18 10000007 */ b .L7F09EE38 -/* 0D394C 7F09EE1C E4400000 */ swc1 $f0, ($v0) -/* 0D3950 7F09EE20 C4680000 */ lwc1 $f8, ($v1) -.L7F09EE24: -/* 0D3954 7F09EE24 4600403C */ c.lt.s $f8, $f0 -/* 0D3958 7F09EE28 00000000 */ nop -/* 0D395C 7F09EE2C 45020003 */ bc1fl .L7F09EE3C -/* 0D3960 7F09EE30 24420004 */ addiu $v0, $v0, 4 -/* 0D3964 7F09EE34 E4600000 */ swc1 $f0, ($v1) -.L7F09EE38: -/* 0D3968 7F09EE38 24420004 */ addiu $v0, $v0, 4 -.L7F09EE3C: -/* 0D396C 7F09EE3C 1446FFEC */ bne $v0, $a2, .L7F09EDF0 -/* 0D3970 7F09EE40 24840004 */ addiu $a0, $a0, 4 -.L7F09EE44: -/* 0D3974 7F09EE44 1420FFE1 */ bnez $at, .L7F09EDCC -/* 0D3978 7F09EE48 26310028 */ addiu $s1, $s1, 0x28 -/* 0D397C 7F09EE4C C6E00008 */ lwc1 $f0, 8($s7) -/* 0D3980 7F09EE50 C7B200A8 */ lwc1 $f18, 0xa8($sp) -/* 0D3984 7F09EE54 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 0D3988 7F09EE58 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0D398C 7F09EE5C 46120081 */ sub.s $f2, $f0, $f18 -/* 0D3990 7F09EE60 C7B000A4 */ lwc1 $f16, 0xa4($sp) -/* 0D3994 7F09EE64 02E02025 */ move $a0, $s7 -/* 0D3998 7F09EE68 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 0D399C 7F09EE6C 4602D03C */ c.lt.s $f26, $f2 -/* 0D39A0 7F09EE70 00000000 */ nop -/* 0D39A4 7F09EE74 45020003 */ bc1fl .L7F09EE84 -/* 0D39A8 7F09EE78 C6E20010 */ lwc1 $f2, 0x10($s7) -/* 0D39AC 7F09EE7C 46001386 */ mov.s $f14, $f2 -/* 0D39B0 7F09EE80 C6E20010 */ lwc1 $f2, 0x10($s7) -.L7F09EE84: -/* 0D39B4 7F09EE84 460A1301 */ sub.s $f12, $f2, $f10 -/* 0D39B8 7F09EE88 460C703C */ c.lt.s $f14, $f12 -/* 0D39BC 7F09EE8C 00000000 */ nop -/* 0D39C0 7F09EE90 45020003 */ bc1fl .L7F09EEA0 -/* 0D39C4 7F09EE94 46002301 */ sub.s $f12, $f4, $f0 -/* 0D39C8 7F09EE98 46006386 */ mov.s $f14, $f12 -/* 0D39CC 7F09EE9C 46002301 */ sub.s $f12, $f4, $f0 -.L7F09EEA0: -/* 0D39D0 7F09EEA0 46028001 */ sub.s $f0, $f16, $f2 -/* 0D39D4 7F09EEA4 460C703C */ c.lt.s $f14, $f12 -/* 0D39D8 7F09EEA8 00000000 */ nop -/* 0D39DC 7F09EEAC 45020003 */ bc1fl .L7F09EEBC -/* 0D39E0 7F09EEB0 4600703C */ c.lt.s $f14, $f0 -/* 0D39E4 7F09EEB4 46006386 */ mov.s $f14, $f12 -/* 0D39E8 7F09EEB8 4600703C */ c.lt.s $f14, $f0 -.L7F09EEBC: -/* 0D39EC 7F09EEBC 00000000 */ nop -/* 0D39F0 7F09EEC0 45020003 */ bc1fl .L7F09EED0 -/* 0D39F4 7F09EEC4 44077000 */ mfc1 $a3, $f14 -/* 0D39F8 7F09EEC8 46000386 */ mov.s $f14, $f0 -/* 0D39FC 7F09EECC 44077000 */ mfc1 $a3, $f14 -.L7F09EED0: -/* 0D3A00 7F09EED0 0FC0F89F */ jal sub_GAME_7F03E27C -/* 0D3A04 7F09EED4 02003025 */ move $a2, $s0 -/* 0D3A08 7F09EED8 866C0006 */ lh $t4, 6($s3) -/* 0D3A0C 7F09EEDC 86780004 */ lh $t8, 4($s3) -/* 0D3A10 7F09EEE0 00009025 */ move $s2, $zero -/* 0D3A14 7F09EEE4 01960019 */ multu $t4, $s6 -/* 0D3A18 7F09EEE8 02608825 */ move $s1, $s3 -/* 0D3A1C 7F09EEEC 24020190 */ li $v0, 400 -/* 0D3A20 7F09EEF0 00001825 */ move $v1, $zero -/* 0D3A24 7F09EEF4 00006812 */ mflo $t5 -/* 0D3A28 7F09EEF8 02AD7021 */ addu $t6, $s5, $t5 -/* 0D3A2C 7F09EEFC 85CF0004 */ lh $t7, 4($t6) -/* 0D3A30 7F09EF00 01F8082A */ slt $at, $t7, $t8 -/* 0D3A34 7F09EF04 1020000E */ beqz $at, .L7F09EF40 -/* 0D3A38 7F09EF08 00000000 */ nop -/* 0D3A3C 7F09EF0C 24030001 */ li $v1, 1 -.L7F09EF10: -/* 0D3A40 7F09EF10 C6260014 */ lwc1 $f6, 0x14($s1) -/* 0D3A44 7F09EF14 26520028 */ addiu $s2, $s2, 0x28 -/* 0D3A48 7F09EF18 4606D03C */ c.lt.s $f26, $f6 -/* 0D3A4C 7F09EF1C 00000000 */ nop -/* 0D3A50 7F09EF20 45000003 */ bc1f .L7F09EF30 -/* 0D3A54 7F09EF24 00000000 */ nop -/* 0D3A58 7F09EF28 10000005 */ b .L7F09EF40 -/* 0D3A5C 7F09EF2C 00001825 */ move $v1, $zero -.L7F09EF30: -/* 0D3A60 7F09EF30 1642FFF7 */ bne $s2, $v0, .L7F09EF10 -/* 0D3A64 7F09EF34 26310028 */ addiu $s1, $s1, 0x28 -/* 0D3A68 7F09EF38 10000001 */ b .L7F09EF40 -/* 0D3A6C 7F09EF3C 00000000 */ nop -.L7F09EF40: -/* 0D3A70 7F09EF40 10600004 */ beqz $v1, .L7F09EF54 -/* 0D3A74 7F09EF44 00001025 */ move $v0, $zero -/* 0D3A78 7F09EF48 AE600000 */ sw $zero, ($s3) -/* 0D3A7C 7F09EF4C 10000001 */ b .L7F09EF54 -/* 0D3A80 7F09EF50 24020001 */ li $v0, 1 -.L7F09EF54: -/* 0D3A84 7F09EF54 8FBF006C */ lw $ra, 0x6c($sp) -/* 0D3A88 7F09EF58 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D3A8C 7F09EF5C D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D3A90 7F09EF60 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0D3A94 7F09EF64 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0D3A98 7F09EF68 D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0D3A9C 7F09EF6C D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 0D3AA0 7F09EF70 8FB00048 */ lw $s0, 0x48($sp) -/* 0D3AA4 7F09EF74 8FB1004C */ lw $s1, 0x4c($sp) -/* 0D3AA8 7F09EF78 8FB20050 */ lw $s2, 0x50($sp) -/* 0D3AAC 7F09EF7C 8FB30054 */ lw $s3, 0x54($sp) -/* 0D3AB0 7F09EF80 8FB40058 */ lw $s4, 0x58($sp) -/* 0D3AB4 7F09EF84 8FB5005C */ lw $s5, 0x5c($sp) -/* 0D3AB8 7F09EF88 8FB60060 */ lw $s6, 0x60($sp) -/* 0D3ABC 7F09EF8C 8FB70064 */ lw $s7, 0x64($sp) -/* 0D3AC0 7F09EF90 8FBE0068 */ lw $fp, 0x68($sp) -/* 0D3AC4 7F09EF94 03E00008 */ jr $ra -/* 0D3AC8 7F09EF98 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09EF9C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09EF9C -/* 0D3ACC 7F09EF9C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D3AD0 7F09EFA0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D3AD4 7F09EFA4 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0D3AD8 7F09EFA8 AFA40018 */ sw $a0, 0x18($sp) -/* 0D3ADC 7F09EFAC 8FA40018 */ lw $a0, 0x18($sp) -/* 0D3AE0 7F09EFB0 C4440008 */ lwc1 $f4, 8($v0) -/* 0D3AE4 7F09EFB4 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 0D3AE8 7F09EFB8 C4860008 */ lwc1 $f6, 8($a0) -/* 0D3AEC 7F09EFBC C490000C */ lwc1 $f16, 0xc($a0) -/* 0D3AF0 7F09EFC0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0D3AF4 7F09EFC4 46062202 */ mul.s $f8, $f4, $f6 -/* 0D3AF8 7F09EFC8 C4460028 */ lwc1 $f6, 0x28($v0) -/* 0D3AFC 7F09EFCC 44811000 */ mtc1 $at, $f2 -/* 0D3B00 7F09EFD0 46105482 */ mul.s $f18, $f10, $f16 -/* 0D3B04 7F09EFD4 C48A0010 */ lwc1 $f10, 0x10($a0) -/* 0D3B08 7F09EFD8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D3B0C 7F09EFDC 460A3402 */ mul.s $f16, $f6, $f10 -/* 0D3B10 7F09EFE0 46124100 */ add.s $f4, $f8, $f18 -/* 0D3B14 7F09EFE4 C4520038 */ lwc1 $f18, 0x38($v0) -/* 0D3B18 7F09EFE8 46102200 */ add.s $f8, $f4, $f16 -/* 0D3B1C 7F09EFEC 46089180 */ add.s $f6, $f18, $f8 -/* 0D3B20 7F09EFF0 46003287 */ neg.s $f10, $f6 -/* 0D3B24 7F09EFF4 E48A0018 */ swc1 $f10, 0x18($a0) -/* 0D3B28 7F09EFF8 C4800018 */ lwc1 $f0, 0x18($a0) -/* 0D3B2C 7F09EFFC 4602003C */ c.lt.s $f0, $f2 -/* 0D3B30 7F09F000 00000000 */ nop -/* 0D3B34 7F09F004 45020007 */ bc1fl .L7F09F024 -/* 0D3B38 7F09F008 46020481 */ sub.s $f18, $f0, $f2 -/* 0D3B3C 7F09F00C 44812000 */ mtc1 $at, $f4 -/* 0D3B40 7F09F010 00000000 */ nop -/* 0D3B44 7F09F014 46040402 */ mul.s $f16, $f0, $f4 -/* 0D3B48 7F09F018 10000003 */ b .L7F09F028 -/* 0D3B4C 7F09F01C E4900018 */ swc1 $f16, 0x18($a0) -/* 0D3B50 7F09F020 46020481 */ sub.s $f18, $f0, $f2 -.L7F09F024: -/* 0D3B54 7F09F024 E4920018 */ swc1 $f18, 0x18($a0) -.L7F09F028: -/* 0D3B58 7F09F028 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D3B5C 7F09F02C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D3B60 7F09F030 00001025 */ move $v0, $zero -/* 0D3B64 7F09F034 03E00008 */ jr $ra -/* 0D3B68 7F09F038 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09F03C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F09F03C -/* 0D3B6C 7F09F03C 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0D3B70 7F09F040 AFB00024 */ sw $s0, 0x24($sp) -/* 0D3B74 7F09F044 AFBF003C */ sw $ra, 0x3c($sp) -/* 0D3B78 7F09F048 AFB50038 */ sw $s5, 0x38($sp) -/* 0D3B7C 7F09F04C AFB40034 */ sw $s4, 0x34($sp) -/* 0D3B80 7F09F050 AFB30030 */ sw $s3, 0x30($sp) -/* 0D3B84 7F09F054 AFB2002C */ sw $s2, 0x2c($sp) -/* 0D3B88 7F09F058 AFB10028 */ sw $s1, 0x28($sp) -/* 0D3B8C 7F09F05C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D3B90 7F09F060 9091002C */ lbu $s1, 0x2c($a0) -/* 0D3B94 7F09F064 00808025 */ move $s0, $a0 -/* 0D3B98 7F09F068 8C940004 */ lw $s4, 4($a0) -/* 0D3B9C 7F09F06C 00A09025 */ move $s2, $a1 -/* 0D3BA0 7F09F070 00C09825 */ move $s3, $a2 -/* 0D3BA4 7F09F074 0FC2F285 */ jal sub_GAME_7F0BCA14 -/* 0D3BA8 7F09F078 02202025 */ move $a0, $s1 -/* 0D3BAC 7F09F07C 16600003 */ bnez $s3, .L7F09F08C -/* 0D3BB0 7F09F080 0040A825 */ move $s5, $v0 -/* 0D3BB4 7F09F084 10000069 */ b .L7F09F22C -/* 0D3BB8 7F09F088 02401025 */ move $v0, $s2 -.L7F09F08C: -/* 0D3BBC 7F09F08C 02002025 */ move $a0, $s0 -/* 0D3BC0 7F09F090 0FC15299 */ jal sub_GAME_7F054A64 -/* 0D3BC4 7F09F094 27A50078 */ addiu $a1, $sp, 0x78 -/* 0D3BC8 7F09F098 1840000A */ blez $v0, .L7F09F0C4 -/* 0D3BCC 7F09F09C 00000000 */ nop -/* 0D3BD0 7F09F0A0 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 0D3BD4 7F09F0A4 02402025 */ move $a0, $s2 -/* 0D3BD8 7F09F0A8 8FA50078 */ lw $a1, 0x78($sp) -/* 0D3BDC 7F09F0AC 8FA6007C */ lw $a2, 0x7c($sp) -/* 0D3BE0 7F09F0B0 8FA70080 */ lw $a3, 0x80($sp) -/* 0D3BE4 7F09F0B4 0FC2D3FD */ jal sub_GAME_7F0B4FF4 -/* 0D3BE8 7F09F0B8 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0D3BEC 7F09F0BC 10000004 */ b .L7F09F0D0 -/* 0D3BF0 7F09F0C0 00409025 */ move $s2, $v0 -.L7F09F0C4: -/* 0D3BF4 7F09F0C4 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 0D3BF8 7F09F0C8 02402025 */ move $a0, $s2 -/* 0D3BFC 7F09F0CC 00409025 */ move $s2, $v0 -.L7F09F0D0: -/* 0D3C00 7F09F0D0 02401025 */ move $v0, $s2 -/* 0D3C04 7F09F0D4 3C0F0001 */ lui $t7, (0x00013000 >> 16) # lui $t7, 1 -/* 0D3C08 7F09F0D8 35EF3000 */ ori $t7, (0x00013000 & 0xFFFF) # ori $t7, $t7, 0x3000 -/* 0D3C0C 7F09F0DC 26520008 */ addiu $s2, $s2, 8 -/* 0D3C10 7F09F0E0 3C0EB600 */ lui $t6, 0xb600 -/* 0D3C14 7F09F0E4 3C180103 */ lui $t8, (0x01030040 >> 16) # lui $t8, 0x103 -/* 0D3C18 7F09F0E8 AC4E0000 */ sw $t6, ($v0) -/* 0D3C1C 7F09F0EC AC4F0004 */ sw $t7, 4($v0) -/* 0D3C20 7F09F0F0 37180040 */ ori $t8, (0x01030040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0D3C24 7F09F0F4 02408025 */ move $s0, $s2 -/* 0D3C28 7F09F0F8 AE180000 */ sw $t8, ($s0) -/* 0D3C2C 7F09F0FC 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 0D3C30 7F09F100 26520008 */ addiu $s2, $s2, 8 -/* 0D3C34 7F09F104 0C003A2C */ jal osVirtualToPhysical -/* 0D3C38 7F09F108 00402025 */ move $a0, $v0 -/* 0D3C3C 7F09F10C AE020004 */ sw $v0, 4($s0) -/* 0D3C40 7F09F110 02402025 */ move $a0, $s2 -/* 0D3C44 7F09F114 0FC2F271 */ jal sub_GAME_7F0BC9C4 -/* 0D3C48 7F09F118 02202825 */ move $a1, $s1 -/* 0D3C4C 7F09F11C 3C190100 */ lui $t9, (0x01000040 >> 16) # lui $t9, 0x100 -/* 0D3C50 7F09F120 37390040 */ ori $t9, (0x01000040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 0D3C54 7F09F124 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A100) -/* 0D3C58 7F09F128 2484A100 */ addiu $a0, %lo(dword_CODE_bss_8007A100) # addiu $a0, $a0, -0x5f00 -/* 0D3C5C 7F09F12C AC590000 */ sw $t9, ($v0) -/* 0D3C60 7F09F130 00408025 */ move $s0, $v0 -/* 0D3C64 7F09F134 0C003A2C */ jal osVirtualToPhysical -/* 0D3C68 7F09F138 24520008 */ addiu $s2, $v0, 8 -/* 0D3C6C 7F09F13C 3C08BC00 */ lui $t0, (0xBC000806 >> 16) # lui $t0, 0xbc00 -/* 0D3C70 7F09F140 AE020004 */ sw $v0, 4($s0) -/* 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(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) -/* 0D3C94 7F09F164 02401825 */ move $v1, $s2 -/* 0D3C98 7F09F168 26520008 */ addiu $s2, $s2, 8 -/* 0D3C9C 7F09F16C 3C0A0200 */ lui $t2, 0x200 -/* 0D3CA0 7F09F170 254A0000 */ addiu $t2, $t2, 0 -/* 0D3CA4 7F09F174 3C090600 */ lui $t1, 0x600 -/* 0D3CA8 7F09F178 02402025 */ move $a0, $s2 -/* 0D3CAC 7F09F17C AC690000 */ sw $t1, ($v1) -/* 0D3CB0 7F09F180 AC6A0004 */ sw $t2, 4($v1) -/* 0D3CB4 7F09F184 3C0BBA00 */ lui $t3, (0xBA000602 >> 16) # lui $t3, 0xba00 -/* 0D3CB8 7F09F188 356B0602 */ ori $t3, (0xBA000602 & 0xFFFF) # ori $t3, $t3, 0x602 -/* 0D3CBC 7F09F18C 240C0080 */ li $t4, 128 -/* 0D3CC0 7F09F190 4480A000 */ mtc1 $zero, $f20 -/* 0D3CC4 7F09F194 AC8C0004 */ sw $t4, 4($a0) -/* 0D3CC8 7F09F198 AC8B0000 */ sw $t3, ($a0) -/* 0D3CCC 7F09F19C 26520008 */ addiu $s2, $s2, 8 -/* 0D3CD0 7F09F1A0 24130190 */ li $s3, 400 -/* 0D3CD4 7F09F1A4 00008825 */ move $s1, $zero -/* 0D3CD8 7F09F1A8 02808025 */ move $s0, $s4 -.L7F09F1AC: -/* 0D3CDC 7F09F1AC C6060014 */ lwc1 $f6, 0x14($s0) -/* 0D3CE0 7F09F1B0 02802025 */ move $a0, $s4 -/* 0D3CE4 7F09F1B4 26050008 */ addiu $a1, $s0, 8 -/* 0D3CE8 7F09F1B8 4606A03C */ c.lt.s $f20, $f6 -/* 0D3CEC 7F09F1BC 02403025 */ move $a2, $s2 -/* 0D3CF0 7F09F1C0 45020006 */ bc1fl .L7F09F1DC -/* 0D3CF4 7F09F1C4 E6140014 */ swc1 $f20, 0x14($s0) -/* 0D3CF8 7F09F1C8 0FC27769 */ jal sub_GAME_7F09DDA4 -/* 0D3CFC 7F09F1CC 02A03825 */ move $a3, $s5 -/* 0D3D00 7F09F1D0 10000002 */ b .L7F09F1DC -/* 0D3D04 7F09F1D4 00409025 */ move $s2, $v0 -/* 0D3D08 7F09F1D8 E6140014 */ swc1 $f20, 0x14($s0) -.L7F09F1DC: -/* 0D3D0C 7F09F1DC 26310028 */ addiu $s1, $s1, 0x28 -/* 0D3D10 7F09F1E0 1633FFF2 */ bne $s1, $s3, .L7F09F1AC -/* 0D3D14 7F09F1E4 26100028 */ addiu $s0, $s0, 0x28 -/* 0D3D18 7F09F1E8 02401025 */ move $v0, $s2 -/* 0D3D1C 7F09F1EC 3C0DBA00 */ lui $t5, (0xBA000602 >> 16) # lui $t5, 0xba00 -/* 0D3D20 7F09F1F0 35AD0602 */ ori $t5, (0xBA000602 & 0xFFFF) # ori $t5, $t5, 0x602 -/* 0D3D24 7F09F1F4 26520008 */ addiu $s2, $s2, 8 -/* 0D3D28 7F09F1F8 240E0040 */ li $t6, 64 -/* 0D3D2C 7F09F1FC 3C0F0103 */ lui $t7, (0x01030040 >> 16) # lui $t7, 0x103 -/* 0D3D30 7F09F200 AC4E0004 */ sw $t6, 4($v0) -/* 0D3D34 7F09F204 AC4D0000 */ sw $t5, ($v0) -/* 0D3D38 7F09F208 35EF0040 */ ori $t7, (0x01030040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 0D3D3C 7F09F20C 02408025 */ move $s0, $s2 -/* 0D3D40 7F09F210 AE0F0000 */ sw $t7, ($s0) -/* 0D3D44 7F09F214 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 0D3D48 7F09F218 26520008 */ addiu $s2, $s2, 8 -/* 0D3D4C 7F09F21C 0C003A2C */ jal osVirtualToPhysical -/* 0D3D50 7F09F220 00402025 */ move $a0, $v0 -/* 0D3D54 7F09F224 AE020004 */ sw $v0, 4($s0) -/* 0D3D58 7F09F228 02401025 */ move $v0, $s2 -.L7F09F22C: -/* 0D3D5C 7F09F22C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0D3D60 7F09F230 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D3D64 7F09F234 8FB00024 */ lw $s0, 0x24($sp) -/* 0D3D68 7F09F238 8FB10028 */ lw $s1, 0x28($sp) -/* 0D3D6C 7F09F23C 8FB2002C */ lw $s2, 0x2c($sp) -/* 0D3D70 7F09F240 8FB30030 */ lw $s3, 0x30($sp) -/* 0D3D74 7F09F244 8FB40034 */ lw $s4, 0x34($sp) -/* 0D3D78 7F09F248 8FB50038 */ lw $s5, 0x38($sp) -/* 0D3D7C 7F09F24C 03E00008 */ jr $ra -/* 0D3D80 7F09F250 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09F254(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800576E0 -.word 0x3f8f5c29 /*1.12*/ -glabel D_800576E4 -.word 0x3df5c28f /*0.12*/ -glabel D_800576E8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_800576EC -.word 0x3dcccccd /*0.1*/ -.text -glabel sub_GAME_7F09F254 -/* 0D3D84 7F09F254 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0D3D88 7F09F258 AFBF0034 */ sw $ra, 0x34($sp) -/* 0D3D8C 7F09F25C AFB20030 */ sw $s2, 0x30($sp) -/* 0D3D90 7F09F260 AFB1002C */ sw $s1, 0x2c($sp) -/* 0D3D94 7F09F264 AFB00028 */ sw $s0, 0x28($sp) -/* 0D3D98 7F09F268 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D3D9C 7F09F26C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D3DA0 7F09F270 AFA40050 */ sw $a0, 0x50($sp) -/* 0D3DA4 7F09F274 AFA50054 */ sw $a1, 0x54($sp) -/* 0D3DA8 7F09F278 AFA60058 */ sw $a2, 0x58($sp) -/* 0D3DAC 7F09F27C 0C002914 */ jal get_random_value -/* 0D3DB0 7F09F280 AFA7005C */ sw $a3, 0x5c($sp) -/* 0D3DB4 7F09F284 44822000 */ mtc1 $v0, $f4 -/* 0D3DB8 7F09F288 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D3DBC 7F09F28C 4481B000 */ mtc1 $at, $f22 -/* 0D3DC0 7F09F290 04410005 */ bgez $v0, .L7F09F2A8 -/* 0D3DC4 7F09F294 468021A0 */ cvt.s.w $f6, $f4 -/* 0D3DC8 7F09F298 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D3DCC 7F09F29C 44814000 */ mtc1 $at, $f8 -/* 0D3DD0 7F09F2A0 00000000 */ nop -/* 0D3DD4 7F09F2A4 46083180 */ add.s $f6, $f6, $f8 -.L7F09F2A8: -/* 0D3DD8 7F09F2A8 46163002 */ mul.s $f0, $f6, $f22 -/* 0D3DDC 7F09F2AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D3DE0 7F09F2B0 44819000 */ mtc1 $at, $f18 -/* 0D3DE4 7F09F2B4 46000280 */ add.s $f10, $f0, $f0 -/* 0D3DE8 7F09F2B8 0C002914 */ jal get_random_value -/* 0D3DEC 7F09F2BC 46125501 */ sub.s $f20, $f10, $f18 -/* 0D3DF0 7F09F2C0 44822000 */ mtc1 $v0, $f4 -/* 0D3DF4 7F09F2C4 04410005 */ bgez $v0, .L7F09F2DC -/* 0D3DF8 7F09F2C8 46802220 */ cvt.s.w $f8, $f4 -/* 0D3DFC 7F09F2CC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D3E00 7F09F2D0 44813000 */ mtc1 $at, $f6 -/* 0D3E04 7F09F2D4 00000000 */ nop -/* 0D3E08 7F09F2D8 46064200 */ add.s $f8, $f8, $f6 -.L7F09F2DC: -/* 0D3E0C 7F09F2DC 46164282 */ mul.s $f10, $f8, $f22 -/* 0D3E10 7F09F2E0 3C018005 */ lui $at, %hi(D_800576E0) -/* 0D3E14 7F09F2E4 C43276E0 */ lwc1 $f18, %lo(D_800576E0)($at) -/* 0D3E18 7F09F2E8 3C018005 */ lui $at, %hi(D_800576E4) -/* 0D3E1C 7F09F2EC C42676E4 */ lwc1 $f6, %lo(D_800576E4)($at) -/* 0D3E20 7F09F2F0 46125102 */ mul.s $f4, $f10, $f18 -/* 0D3E24 7F09F2F4 46062301 */ sub.s $f12, $f4, $f6 -/* 0D3E28 7F09F2F8 0C002914 */ jal get_random_value -/* 0D3E2C 7F09F2FC E7AC0048 */ swc1 $f12, 0x48($sp) -/* 0D3E30 7F09F300 3C128004 */ lui $s2, %hi(D_8004017C+0x684) -/* 0D3E34 7F09F304 26520800 */ addiu $s2, %lo(D_8004017C+0x684) # addiu $s2, $s2, 0x800 -/* 0D3E38 7F09F308 8E580000 */ lw $t8, ($s2) -/* 0D3E3C 7F09F30C 24110078 */ li $s1, 120 -/* 0D3E40 7F09F310 3C108008 */ lui $s0, %hi(ptr_ejected_casing_buf) -/* 0D3E44 7F09F314 03110019 */ multu $t8, $s1 -/* 0D3E48 7F09F318 2610A14C */ addiu $s0, %lo(ptr_ejected_casing_buf) # addiu $s0, $s0, -0x5eb4 -/* 0D3E4C 7F09F31C 8E0F0000 */ lw $t7, ($s0) -/* 0D3E50 7F09F320 8FA30050 */ lw $v1, 0x50($sp) -/* 0D3E54 7F09F324 C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 0D3E58 7F09F328 C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 0D3E5C 7F09F32C C7B00058 */ lwc1 $f16, 0x58($sp) -/* 0D3E60 7F09F330 240E0001 */ li $t6, 1 -/* 0D3E64 7F09F334 46147282 */ mul.s $f10, $f14, $f20 -/* 0D3E68 7F09F338 0000C812 */ mflo $t9 -/* 0D3E6C 7F09F33C 01F94021 */ addu $t0, $t7, $t9 -/* 0D3E70 7F09F340 AD0E0000 */ sw $t6, ($t0) -/* 0D3E74 7F09F344 8E4A0000 */ lw $t2, ($s2) -/* 0D3E78 7F09F348 C4680000 */ lwc1 $f8, ($v1) -/* 0D3E7C 7F09F34C 8E090000 */ lw $t1, ($s0) -/* 0D3E80 7F09F350 01510019 */ multu $t2, $s1 -/* 0D3E84 7F09F354 460A4480 */ add.s $f18, $f8, $f10 -/* 0D3E88 7F09F358 460C7182 */ mul.s $f6, $f14, $f12 -/* 0D3E8C 7F09F35C 44825000 */ mtc1 $v0, $f10 -/* 0D3E90 7F09F360 00005812 */ mflo $t3 -/* 0D3E94 7F09F364 012B6021 */ addu $t4, $t1, $t3 -/* 0D3E98 7F09F368 E5920004 */ swc1 $f18, 4($t4) -/* 0D3E9C 7F09F36C 8E580000 */ lw $t8, ($s2) -/* 0D3EA0 7F09F370 C4640004 */ lwc1 $f4, 4($v1) -/* 0D3EA4 7F09F374 8E0D0000 */ lw $t5, ($s0) -/* 0D3EA8 7F09F378 03110019 */ multu $t8, $s1 -/* 0D3EAC 7F09F37C 46062200 */ add.s $f8, $f4, $f6 -/* 0D3EB0 7F09F380 468054A0 */ cvt.s.w $f18, $f10 -/* 0D3EB4 7F09F384 00007812 */ mflo $t7 -/* 0D3EB8 7F09F388 01AFC821 */ addu $t9, $t5, $t7 -/* 0D3EBC 7F09F38C 04410005 */ bgez $v0, .L7F09F3A4 -/* 0D3EC0 7F09F390 E7280008 */ swc1 $f8, 8($t9) -/* 0D3EC4 7F09F394 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D3EC8 7F09F398 44812000 */ mtc1 $at, $f4 -/* 0D3ECC 7F09F39C 00000000 */ nop -/* 0D3ED0 7F09F3A0 46049480 */ add.s $f18, $f18, $f4 -.L7F09F3A4: -/* 0D3ED4 7F09F3A4 46169002 */ mul.s $f0, $f18, $f22 -/* 0D3ED8 7F09F3A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D3EDC 7F09F3AC 44814000 */ mtc1 $at, $f8 -/* 0D3EE0 7F09F3B0 8E480000 */ lw $t0, ($s2) -/* 0D3EE4 7F09F3B4 C46A0008 */ lwc1 $f10, 8($v1) -/* 0D3EE8 7F09F3B8 8E0E0000 */ lw $t6, ($s0) -/* 0D3EEC 7F09F3BC 01110019 */ multu $t0, $s1 -/* 0D3EF0 7F09F3C0 46000180 */ add.s $f6, $f0, $f0 -/* 0D3EF4 7F09F3C4 46083081 */ sub.s $f2, $f6, $f8 -/* 0D3EF8 7F09F3C8 46027102 */ mul.s $f4, $f14, $f2 -/* 0D3EFC 7F09F3CC 00005012 */ mflo $t2 -/* 0D3F00 7F09F3D0 01CA4821 */ addu $t1, $t6, $t2 -/* 0D3F04 7F09F3D4 4610A182 */ mul.s $f6, $f20, $f16 -/* 0D3F08 7F09F3D8 46045480 */ add.s $f18, $f10, $f4 -/* 0D3F0C 7F09F3DC E532000C */ swc1 $f18, 0xc($t1) -/* 0D3F10 7F09F3E0 8E4C0000 */ lw $t4, ($s2) -/* 0D3F14 7F09F3E4 8E0B0000 */ lw $t3, ($s0) -/* 0D3F18 7F09F3E8 01910019 */ multu $t4, $s1 -/* 0D3F1C 7F09F3EC 0000C012 */ mflo $t8 -/* 0D3F20 7F09F3F0 01786821 */ addu $t5, $t3, $t8 -/* 0D3F24 7F09F3F4 E5A6001C */ swc1 $f6, 0x1c($t5) -/* 0D3F28 7F09F3F8 8E590000 */ lw $t9, ($s2) -/* 0D3F2C 7F09F3FC C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0D3F30 7F09F400 8E0F0000 */ lw $t7, ($s0) -/* 0D3F34 7F09F404 03310019 */ multu $t9, $s1 -/* 0D3F38 7F09F408 46086282 */ mul.s $f10, $f12, $f8 -/* 0D3F3C 7F09F40C 00000000 */ nop -/* 0D3F40 7F09F410 46101102 */ mul.s $f4, $f2, $f16 -/* 0D3F44 7F09F414 00004012 */ mflo $t0 -/* 0D3F48 7F09F418 01E87021 */ addu $t6, $t7, $t0 -/* 0D3F4C 7F09F41C E5CA0020 */ swc1 $f10, 0x20($t6) -/* 0D3F50 7F09F420 8E490000 */ lw $t1, ($s2) -/* 0D3F54 7F09F424 8E0A0000 */ lw $t2, ($s0) -/* 0D3F58 7F09F428 01310019 */ multu $t1, $s1 -/* 0D3F5C 7F09F42C 00006012 */ mflo $t4 -/* 0D3F60 7F09F430 014C5821 */ addu $t3, $t2, $t4 -/* 0D3F64 7F09F434 0C002914 */ jal get_random_value -/* 0D3F68 7F09F438 E5640024 */ swc1 $f4, 0x24($t3) -/* 0D3F6C 7F09F43C 44829000 */ mtc1 $v0, $f18 -/* 0D3F70 7F09F440 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0D3F74 7F09F444 4481A000 */ mtc1 $at, $f20 -/* 0D3F78 7F09F448 04410005 */ bgez $v0, .L7F09F460 -/* 0D3F7C 7F09F44C 468091A0 */ cvt.s.w $f6, $f18 -/* 0D3F80 7F09F450 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D3F84 7F09F454 44814000 */ mtc1 $at, $f8 -/* 0D3F88 7F09F458 00000000 */ nop -/* 0D3F8C 7F09F45C 46083180 */ add.s $f6, $f6, $f8 -.L7F09F460: -/* 0D3F90 7F09F460 46163282 */ mul.s $f10, $f6, $f22 -/* 0D3F94 7F09F464 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0D3F98 7F09F468 8E4F0000 */ lw $t7, ($s2) -/* 0D3F9C 7F09F46C 8E190000 */ lw $t9, ($s0) -/* 0D3FA0 7F09F470 01F10019 */ multu $t7, $s1 -/* 0D3FA4 7F09F474 46145102 */ mul.s $f4, $f10, $f20 -/* 0D3FA8 7F09F478 46142480 */ add.s $f18, $f4, $f20 -/* 0D3FAC 7F09F47C 00004012 */ mflo $t0 -/* 0D3FB0 7F09F480 03287021 */ addu $t6, $t9, $t0 -/* 0D3FB4 7F09F484 46089182 */ mul.s $f6, $f18, $f8 -/* 0D3FB8 7F09F488 4600328D */ trunc.w.s $f10, $f6 -/* 0D3FBC 7F09F48C 440D5000 */ mfc1 $t5, $f10 -/* 0D3FC0 7F09F490 00000000 */ nop -/* 0D3FC4 7F09F494 A5CD0038 */ sh $t5, 0x38($t6) -/* 0D3FC8 7F09F498 8E4A0000 */ lw $t2, ($s2) -/* 0D3FCC 7F09F49C 8E090000 */ lw $t1, ($s0) -/* 0D3FD0 7F09F4A0 01510019 */ multu $t2, $s1 -/* 0D3FD4 7F09F4A4 00006012 */ mflo $t4 -/* 0D3FD8 7F09F4A8 012C5821 */ addu $t3, $t1, $t4 -/* 0D3FDC 7F09F4AC 0C002914 */ jal get_random_value -/* 0D3FE0 7F09F4B0 A560003A */ sh $zero, 0x3a($t3) -/* 0D3FE4 7F09F4B4 44822000 */ mtc1 $v0, $f4 -/* 0D3FE8 7F09F4B8 04410005 */ bgez $v0, .L7F09F4D0 -/* 0D3FEC 7F09F4BC 468024A0 */ cvt.s.w $f18, $f4 -/* 0D3FF0 7F09F4C0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D3FF4 7F09F4C4 44814000 */ mtc1 $at, $f8 -/* 0D3FF8 7F09F4C8 00000000 */ nop -/* 0D3FFC 7F09F4CC 46089480 */ add.s $f18, $f18, $f8 -.L7F09F4D0: -/* 0D4000 7F09F4D0 46169182 */ mul.s $f6, $f18, $f22 -/* 0D4004 7F09F4D4 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0D4008 7F09F4D8 8E480000 */ lw $t0, ($s2) -/* 0D400C 7F09F4DC 8E190000 */ lw $t9, ($s0) -/* 0D4010 7F09F4E0 01110019 */ multu $t0, $s1 -/* 0D4014 7F09F4E4 46143282 */ mul.s $f10, $f6, $f20 -/* 0D4018 7F09F4E8 46145100 */ add.s $f4, $f10, $f20 -/* 0D401C 7F09F4EC 00006812 */ mflo $t5 -/* 0D4020 7F09F4F0 032D7021 */ addu $t6, $t9, $t5 -/* 0D4024 7F09F4F4 46082482 */ mul.s $f18, $f4, $f8 -/* 0D4028 7F09F4F8 4600918D */ trunc.w.s $f6, $f18 -/* 0D402C 7F09F4FC 440F3000 */ mfc1 $t7, $f6 -/* 0D4030 7F09F500 0C002914 */ jal get_random_value -/* 0D4034 7F09F504 A5CF003C */ sh $t7, 0x3c($t6) -/* 0D4038 7F09F508 44825000 */ mtc1 $v0, $f10 -/* 0D403C 7F09F50C 04410005 */ bgez $v0, .L7F09F524 -/* 0D4040 7F09F510 46805120 */ cvt.s.w $f4, $f10 -/* 0D4044 7F09F514 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D4048 7F09F518 44814000 */ mtc1 $at, $f8 -/* 0D404C 7F09F51C 00000000 */ nop -/* 0D4050 7F09F520 46082100 */ add.s $f4, $f4, $f8 -.L7F09F524: -/* 0D4054 7F09F524 46162482 */ mul.s $f18, $f4, $f22 -/* 0D4058 7F09F528 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0D405C 7F09F52C 8E4B0000 */ lw $t3, ($s2) -/* 0D4060 7F09F530 8E0C0000 */ lw $t4, ($s0) -/* 0D4064 7F09F534 01710019 */ multu $t3, $s1 -/* 0D4068 7F09F538 46149182 */ mul.s $f6, $f18, $f20 -/* 0D406C 7F09F53C 46143280 */ add.s $f10, $f6, $f20 -/* 0D4070 7F09F540 0000C012 */ mflo $t8 -/* 0D4074 7F09F544 01984021 */ addu $t0, $t4, $t8 -/* 0D4078 7F09F548 46085102 */ mul.s $f4, $f10, $f8 -/* 0D407C 7F09F54C 4600248D */ trunc.w.s $f18, $f4 -/* 0D4080 7F09F550 44099000 */ mfc1 $t1, $f18 -/* 0D4084 7F09F554 00000000 */ nop -/* 0D4088 7F09F558 A5090048 */ sh $t1, 0x48($t0) -/* 0D408C 7F09F55C 8E4D0000 */ lw $t5, ($s2) -/* 0D4090 7F09F560 8E190000 */ lw $t9, ($s0) -/* 0D4094 7F09F564 01B10019 */ multu $t5, $s1 -/* 0D4098 7F09F568 00007812 */ mflo $t7 -/* 0D409C 7F09F56C 032F7021 */ addu $t6, $t9, $t7 -/* 0D40A0 7F09F570 0C002914 */ jal get_random_value -/* 0D40A4 7F09F574 A5C0004A */ sh $zero, 0x4a($t6) -/* 0D40A8 7F09F578 C7A00060 */ lwc1 $f0, 0x60($sp) -/* 0D40AC 7F09F57C 44823000 */ mtc1 $v0, $f6 -/* 0D40B0 7F09F580 46000007 */ neg.s $f0, $f0 -/* 0D40B4 7F09F584 04410005 */ bgez $v0, .L7F09F59C -/* 0D40B8 7F09F588 468032A0 */ cvt.s.w $f10, $f6 -/* 0D40BC 7F09F58C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D40C0 7F09F590 44814000 */ mtc1 $at, $f8 -/* 0D40C4 7F09F594 00000000 */ nop -/* 0D40C8 7F09F598 46085280 */ add.s $f10, $f10, $f8 -.L7F09F59C: -/* 0D40CC 7F09F59C 46165102 */ mul.s $f4, $f10, $f22 -/* 0D40D0 7F09F5A0 8E580000 */ lw $t8, ($s2) -/* 0D40D4 7F09F5A4 8E0C0000 */ lw $t4, ($s0) -/* 0D40D8 7F09F5A8 03110019 */ multu $t8, $s1 -/* 0D40DC 7F09F5AC 46142482 */ mul.s $f18, $f4, $f20 -/* 0D40E0 7F09F5B0 46149180 */ add.s $f6, $f18, $f20 -/* 0D40E4 7F09F5B4 00004812 */ mflo $t1 -/* 0D40E8 7F09F5B8 01894021 */ addu $t0, $t4, $t1 -/* 0D40EC 7F09F5BC 46003202 */ mul.s $f8, $f6, $f0 -/* 0D40F0 7F09F5C0 4600428D */ trunc.w.s $f10, $f8 -/* 0D40F4 7F09F5C4 440B5000 */ mfc1 $t3, $f10 -/* 0D40F8 7F09F5C8 00000000 */ nop -/* 0D40FC 7F09F5CC A50B004C */ sh $t3, 0x4c($t0) -/* 0D4100 7F09F5D0 0C002914 */ jal get_random_value -/* 0D4104 7F09F5D4 E7A00038 */ swc1 $f0, 0x38($sp) -/* 0D4108 7F09F5D8 44822000 */ mtc1 $v0, $f4 -/* 0D410C 7F09F5DC 04410005 */ bgez $v0, .L7F09F5F4 -/* 0D4110 7F09F5E0 468024A0 */ cvt.s.w $f18, $f4 -/* 0D4114 7F09F5E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D4118 7F09F5E8 44813000 */ mtc1 $at, $f6 -/* 0D411C 7F09F5EC 00000000 */ nop -/* 0D4120 7F09F5F0 46069480 */ add.s $f18, $f18, $f6 -.L7F09F5F4: -/* 0D4124 7F09F5F4 46169202 */ mul.s $f8, $f18, $f22 -/* 0D4128 7F09F5F8 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 0D412C 7F09F5FC 8E4E0000 */ lw $t6, ($s2) -/* 0D4130 7F09F600 8E0F0000 */ lw $t7, ($s0) -/* 0D4134 7F09F604 01D10019 */ multu $t6, $s1 -/* 0D4138 7F09F608 46144282 */ mul.s $f10, $f8, $f20 -/* 0D413C 7F09F60C 46145100 */ add.s $f4, $f10, $f20 -/* 0D4140 7F09F610 00005012 */ mflo $t2 -/* 0D4144 7F09F614 01EAC021 */ addu $t8, $t7, $t2 -/* 0D4148 7F09F618 46062482 */ mul.s $f18, $f4, $f6 -/* 0D414C 7F09F61C 4600920D */ trunc.w.s $f8, $f18 -/* 0D4150 7F09F620 44194000 */ mfc1 $t9, $f8 -/* 0D4154 7F09F624 00000000 */ nop -/* 0D4158 7F09F628 A7190058 */ sh $t9, 0x58($t8) -/* 0D415C 7F09F62C 8E490000 */ lw $t1, ($s2) -/* 0D4160 7F09F630 8E0C0000 */ lw $t4, ($s0) -/* 0D4164 7F09F634 01310019 */ multu $t1, $s1 -/* 0D4168 7F09F638 00005812 */ mflo $t3 -/* 0D416C 7F09F63C 018B4021 */ addu $t0, $t4, $t3 -/* 0D4170 7F09F640 0C002914 */ jal get_random_value -/* 0D4174 7F09F644 A500005A */ sh $zero, 0x5a($t0) -/* 0D4178 7F09F648 44825000 */ mtc1 $v0, $f10 -/* 0D417C 7F09F64C 04410005 */ bgez $v0, .L7F09F664 -/* 0D4180 7F09F650 46805120 */ cvt.s.w $f4, $f10 -/* 0D4184 7F09F654 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D4188 7F09F658 44813000 */ mtc1 $at, $f6 -/* 0D418C 7F09F65C 00000000 */ nop -/* 0D4190 7F09F660 46062100 */ add.s $f4, $f4, $f6 -.L7F09F664: -/* 0D4194 7F09F664 46162482 */ mul.s $f18, $f4, $f22 -/* 0D4198 7F09F668 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 0D419C 7F09F66C 8E4A0000 */ lw $t2, ($s2) -/* 0D41A0 7F09F670 8E0F0000 */ lw $t7, ($s0) -/* 0D41A4 7F09F674 01510019 */ multu $t2, $s1 -/* 0D41A8 7F09F678 46149202 */ mul.s $f8, $f18, $f20 -/* 0D41AC 7F09F67C 46144280 */ add.s $f10, $f8, $f20 -/* 0D41B0 7F09F680 0000C812 */ mflo $t9 -/* 0D41B4 7F09F684 01F9C021 */ addu $t8, $t7, $t9 -/* 0D41B8 7F09F688 46065102 */ mul.s $f4, $f10, $f6 -/* 0D41BC 7F09F68C 4600248D */ trunc.w.s $f18, $f4 -/* 0D41C0 7F09F690 440E9000 */ mfc1 $t6, $f18 -/* 0D41C4 7F09F694 0C002914 */ jal get_random_value -/* 0D41C8 7F09F698 A70E005C */ sh $t6, 0x5c($t8) -/* 0D41CC 7F09F69C 44824000 */ mtc1 $v0, $f8 -/* 0D41D0 7F09F6A0 04410005 */ bgez $v0, .L7F09F6B8 -/* 0D41D4 7F09F6A4 468042A0 */ cvt.s.w $f10, $f8 -/* 0D41D8 7F09F6A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D41DC 7F09F6AC 44813000 */ mtc1 $at, $f6 -/* 0D41E0 7F09F6B0 00000000 */ nop -/* 0D41E4 7F09F6B4 46065280 */ add.s $f10, $f10, $f6 -.L7F09F6B8: -/* 0D41E8 7F09F6B8 46165102 */ mul.s $f4, $f10, $f22 -/* 0D41EC 7F09F6BC C7A60038 */ lwc1 $f6, 0x38($sp) -/* 0D41F0 7F09F6C0 8E480000 */ lw $t0, ($s2) -/* 0D41F4 7F09F6C4 8E0B0000 */ lw $t3, ($s0) -/* 0D41F8 7F09F6C8 01110019 */ multu $t0, $s1 -/* 0D41FC 7F09F6CC 46142482 */ mul.s $f18, $f4, $f20 -/* 0D4200 7F09F6D0 46149200 */ add.s $f8, $f18, $f20 -/* 0D4204 7F09F6D4 00006812 */ mflo $t5 -/* 0D4208 7F09F6D8 016D5021 */ addu $t2, $t3, $t5 -/* 0D420C 7F09F6DC 46064282 */ mul.s $f10, $f8, $f6 -/* 0D4210 7F09F6E0 4600510D */ trunc.w.s $f4, $f10 -/* 0D4214 7F09F6E4 440C2000 */ mfc1 $t4, $f4 -/* 0D4218 7F09F6E8 00000000 */ nop -/* 0D421C 7F09F6EC A54C0068 */ sh $t4, 0x68($t2) -/* 0D4220 7F09F6F0 8E590000 */ lw $t9, ($s2) -/* 0D4224 7F09F6F4 8E0F0000 */ lw $t7, ($s0) -/* 0D4228 7F09F6F8 03310019 */ multu $t9, $s1 -/* 0D422C 7F09F6FC 00007012 */ mflo $t6 -/* 0D4230 7F09F700 01EEC021 */ addu $t8, $t7, $t6 -/* 0D4234 7F09F704 0C002914 */ jal get_random_value -/* 0D4238 7F09F708 A700006A */ sh $zero, 0x6a($t8) -/* 0D423C 7F09F70C 44829000 */ mtc1 $v0, $f18 -/* 0D4240 7F09F710 04410005 */ bgez $v0, .L7F09F728 -/* 0D4244 7F09F714 46809220 */ cvt.s.w $f8, $f18 -/* 0D4248 7F09F718 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D424C 7F09F71C 44813000 */ mtc1 $at, $f6 -/* 0D4250 7F09F720 00000000 */ nop -/* 0D4254 7F09F724 46064200 */ add.s $f8, $f8, $f6 -.L7F09F728: -/* 0D4258 7F09F728 46164282 */ mul.s $f10, $f8, $f22 -/* 0D425C 7F09F72C C7A60060 */ lwc1 $f6, 0x60($sp) -/* 0D4260 7F09F730 8E4D0000 */ lw $t5, ($s2) -/* 0D4264 7F09F734 8E0B0000 */ lw $t3, ($s0) -/* 0D4268 7F09F738 01B10019 */ multu $t5, $s1 -/* 0D426C 7F09F73C 46145102 */ mul.s $f4, $f10, $f20 -/* 0D4270 7F09F740 46142480 */ add.s $f18, $f4, $f20 -/* 0D4274 7F09F744 00006012 */ mflo $t4 -/* 0D4278 7F09F748 016C5021 */ addu $t2, $t3, $t4 -/* 0D427C 7F09F74C 46069202 */ mul.s $f8, $f18, $f6 -/* 0D4280 7F09F750 4600428D */ trunc.w.s $f10, $f8 -/* 0D4284 7F09F754 44085000 */ mfc1 $t0, $f10 -/* 0D4288 7F09F758 0C002914 */ jal get_random_value -/* 0D428C 7F09F75C A548006C */ sh $t0, 0x6c($t2) -/* 0D4290 7F09F760 30460003 */ andi $a2, $v0, 3 -/* 0D4294 7F09F764 00067200 */ sll $t6, $a2, 8 -/* 0D4298 7F09F768 0C002914 */ jal get_random_value -/* 0D429C 7F09F76C A7AE0042 */ sh $t6, 0x42($sp) -/* 0D42A0 7F09F770 8E490000 */ lw $t1, ($s2) -/* 0D42A4 7F09F774 87A60042 */ lh $a2, 0x42($sp) -/* 0D42A8 7F09F778 8E180000 */ lw $t8, ($s0) -/* 0D42AC 7F09F77C 01310019 */ multu $t1, $s1 -/* 0D42B0 7F09F780 24C400E0 */ addiu $a0, $a2, 0xe0 -/* 0D42B4 7F09F784 30430003 */ andi $v1, $v0, 3 -/* 0D42B8 7F09F788 00034200 */ sll $t0, $v1, 8 -/* 0D42BC 7F09F78C 250500E0 */ addiu $a1, $t0, 0xe0 -/* 0D42C0 7F09F790 01001825 */ move $v1, $t0 -/* 0D42C4 7F09F794 00006812 */ mflo $t5 -/* 0D42C8 7F09F798 030D5821 */ addu $t3, $t8, $t5 -/* 0D42CC 7F09F79C A5640040 */ sh $a0, 0x40($t3) -/* 0D42D0 7F09F7A0 8E590000 */ lw $t9, ($s2) -/* 0D42D4 7F09F7A4 8E0A0000 */ lw $t2, ($s0) -/* 0D42D8 7F09F7A8 03310019 */ multu $t9, $s1 -/* 0D42DC 7F09F7AC 00007812 */ mflo $t7 -/* 0D42E0 7F09F7B0 014F7021 */ addu $t6, $t2, $t7 -/* 0D42E4 7F09F7B4 A5C50042 */ sh $a1, 0x42($t6) -/* 0D42E8 7F09F7B8 8E580000 */ lw $t8, ($s2) -/* 0D42EC 7F09F7BC 8E090000 */ lw $t1, ($s0) -/* 0D42F0 7F09F7C0 03110019 */ multu $t8, $s1 -/* 0D42F4 7F09F7C4 00006812 */ mflo $t5 -/* 0D42F8 7F09F7C8 012D5821 */ addu $t3, $t1, $t5 -/* 0D42FC 7F09F7CC A5640050 */ sh $a0, 0x50($t3) -/* 0D4300 7F09F7D0 8E480000 */ lw $t0, ($s2) -/* 0D4304 7F09F7D4 8E0C0000 */ lw $t4, ($s0) -/* 0D4308 7F09F7D8 01110019 */ multu $t0, $s1 -/* 0D430C 7F09F7DC 0000C812 */ mflo $t9 -/* 0D4310 7F09F7E0 01995021 */ addu $t2, $t4, $t9 -/* 0D4314 7F09F7E4 A5430052 */ sh $v1, 0x52($t2) -/* 0D4318 7F09F7E8 8E4E0000 */ lw $t6, ($s2) -/* 0D431C 7F09F7EC 8E0F0000 */ lw $t7, ($s0) -/* 0D4320 7F09F7F0 01D10019 */ multu $t6, $s1 -/* 0D4324 7F09F7F4 0000C012 */ mflo $t8 -/* 0D4328 7F09F7F8 01F84821 */ addu $t1, $t7, $t8 -/* 0D432C 7F09F7FC A5260060 */ sh $a2, 0x60($t1) -/* 0D4330 7F09F800 8E4B0000 */ lw $t3, ($s2) -/* 0D4334 7F09F804 8E0D0000 */ lw $t5, ($s0) -/* 0D4338 7F09F808 01710019 */ multu $t3, $s1 -/* 0D433C 7F09F80C 00004012 */ mflo $t0 -/* 0D4340 7F09F810 01A86021 */ addu $t4, $t5, $t0 -/* 0D4344 7F09F814 A5830062 */ sh $v1, 0x62($t4) -/* 0D4348 7F09F818 8E4A0000 */ lw $t2, ($s2) -/* 0D434C 7F09F81C 8E190000 */ lw $t9, ($s0) -/* 0D4350 7F09F820 01510019 */ multu $t2, $s1 -/* 0D4354 7F09F824 00007012 */ mflo $t6 -/* 0D4358 7F09F828 032E7821 */ addu $t7, $t9, $t6 -/* 0D435C 7F09F82C A5E60070 */ sh $a2, 0x70($t7) -/* 0D4360 7F09F830 8E490000 */ lw $t1, ($s2) -/* 0D4364 7F09F834 8E180000 */ lw $t8, ($s0) -/* 0D4368 7F09F838 01310019 */ multu $t1, $s1 -/* 0D436C 7F09F83C 00005812 */ mflo $t3 -/* 0D4370 7F09F840 030B6821 */ addu $t5, $t8, $t3 -/* 0D4374 7F09F844 0C002914 */ jal get_random_value -/* 0D4378 7F09F848 A5A50072 */ sh $a1, 0x72($t5) -/* 0D437C 7F09F84C 30480001 */ andi $t0, $v0, 1 -/* 0D4380 7F09F850 1100005B */ beqz $t0, .L7F09F9C0 -/* 0D4384 7F09F854 00000000 */ nop -/* 0D4388 7F09F858 0C002914 */ jal get_random_value -/* 0D438C 7F09F85C 00000000 */ nop -/* 0D4390 7F09F860 8E4E0000 */ lw $t6, ($s2) -/* 0D4394 7F09F864 8E190000 */ lw $t9, ($s0) -/* 0D4398 7F09F868 304C003F */ andi $t4, $v0, 0x3f -/* 0D439C 7F09F86C 01D10019 */ multu $t6, $s1 -/* 0D43A0 7F09F870 240A00FF */ li $t2, 255 -/* 0D43A4 7F09F874 014C1823 */ subu $v1, $t2, $t4 -/* 0D43A8 7F09F878 00007812 */ mflo $t7 -/* 0D43AC 7F09F87C 032F4821 */ addu $t1, $t9, $t7 -/* 0D43B0 7F09F880 A1230046 */ sb $v1, 0x46($t1) -/* 0D43B4 7F09F884 8E4B0000 */ lw $t3, ($s2) -/* 0D43B8 7F09F888 8E180000 */ lw $t8, ($s0) -/* 0D43BC 7F09F88C 01710019 */ multu $t3, $s1 -/* 0D43C0 7F09F890 00006812 */ mflo $t5 -/* 0D43C4 7F09F894 030D4021 */ addu $t0, $t8, $t5 -/* 0D43C8 7F09F898 A1030045 */ sb $v1, 0x45($t0) -/* 0D43CC 7F09F89C 8E4C0000 */ lw $t4, ($s2) -/* 0D43D0 7F09F8A0 8E0A0000 */ lw $t2, ($s0) -/* 0D43D4 7F09F8A4 01910019 */ multu $t4, $s1 -/* 0D43D8 7F09F8A8 00007012 */ mflo $t6 -/* 0D43DC 7F09F8AC 014EC821 */ addu $t9, $t2, $t6 -/* 0D43E0 7F09F8B0 0C002914 */ jal get_random_value -/* 0D43E4 7F09F8B4 A3230044 */ sb $v1, 0x44($t9) -/* 0D43E8 7F09F8B8 8E580000 */ lw $t8, ($s2) -/* 0D43EC 7F09F8BC 8E0B0000 */ lw $t3, ($s0) -/* 0D43F0 7F09F8C0 304F003F */ andi $t7, $v0, 0x3f -/* 0D43F4 7F09F8C4 03110019 */ multu $t8, $s1 -/* 0D43F8 7F09F8C8 240900FF */ li $t1, 255 -/* 0D43FC 7F09F8CC 012F1823 */ subu $v1, $t1, $t7 -/* 0D4400 7F09F8D0 00006812 */ mflo $t5 -/* 0D4404 7F09F8D4 016D4021 */ addu $t0, $t3, $t5 -/* 0D4408 7F09F8D8 A1030056 */ sb $v1, 0x56($t0) -/* 0D440C 7F09F8DC 8E4A0000 */ lw $t2, ($s2) -/* 0D4410 7F09F8E0 8E0C0000 */ lw $t4, ($s0) -/* 0D4414 7F09F8E4 01510019 */ multu $t2, $s1 -/* 0D4418 7F09F8E8 00007012 */ mflo $t6 -/* 0D441C 7F09F8EC 018EC821 */ addu $t9, $t4, $t6 -/* 0D4420 7F09F8F0 A3230055 */ sb $v1, 0x55($t9) -/* 0D4424 7F09F8F4 8E4F0000 */ lw $t7, ($s2) -/* 0D4428 7F09F8F8 8E090000 */ lw $t1, ($s0) -/* 0D442C 7F09F8FC 01F10019 */ multu $t7, $s1 -/* 0D4430 7F09F900 0000C012 */ mflo $t8 -/* 0D4434 7F09F904 01385821 */ addu $t3, $t1, $t8 -/* 0D4438 7F09F908 0C002914 */ jal get_random_value -/* 0D443C 7F09F90C A1630054 */ sb $v1, 0x54($t3) -/* 0D4440 7F09F910 8E4C0000 */ lw $t4, ($s2) -/* 0D4444 7F09F914 8E0A0000 */ lw $t2, ($s0) -/* 0D4448 7F09F918 304D003F */ andi $t5, $v0, 0x3f -/* 0D444C 7F09F91C 01910019 */ multu $t4, $s1 -/* 0D4450 7F09F920 240800FF */ li $t0, 255 -/* 0D4454 7F09F924 010D1823 */ subu $v1, $t0, $t5 -/* 0D4458 7F09F928 00007012 */ mflo $t6 -/* 0D445C 7F09F92C 014EC821 */ addu $t9, $t2, $t6 -/* 0D4460 7F09F930 A3230066 */ sb $v1, 0x66($t9) -/* 0D4464 7F09F934 8E490000 */ lw $t1, ($s2) -/* 0D4468 7F09F938 8E0F0000 */ lw $t7, ($s0) -/* 0D446C 7F09F93C 01310019 */ multu $t1, $s1 -/* 0D4470 7F09F940 0000C012 */ mflo $t8 -/* 0D4474 7F09F944 01F85821 */ addu $t3, $t7, $t8 -/* 0D4478 7F09F948 A1630065 */ sb $v1, 0x65($t3) -/* 0D447C 7F09F94C 8E4D0000 */ lw $t5, ($s2) -/* 0D4480 7F09F950 8E080000 */ lw $t0, ($s0) -/* 0D4484 7F09F954 01B10019 */ multu $t5, $s1 -/* 0D4488 7F09F958 00006012 */ mflo $t4 -/* 0D448C 7F09F95C 010C5021 */ addu $t2, $t0, $t4 -/* 0D4490 7F09F960 0C002914 */ jal get_random_value -/* 0D4494 7F09F964 A1430064 */ sb $v1, 0x64($t2) -/* 0D4498 7F09F968 8E4F0000 */ lw $t7, ($s2) -/* 0D449C 7F09F96C 8E090000 */ lw $t1, ($s0) -/* 0D44A0 7F09F970 304E003F */ andi $t6, $v0, 0x3f -/* 0D44A4 7F09F974 01F10019 */ multu $t7, $s1 -/* 0D44A8 7F09F978 241900FF */ li $t9, 255 -/* 0D44AC 7F09F97C 032E1823 */ subu $v1, $t9, $t6 -/* 0D44B0 7F09F980 0000C012 */ mflo $t8 -/* 0D44B4 7F09F984 01385821 */ addu $t3, $t1, $t8 -/* 0D44B8 7F09F988 A1630076 */ sb $v1, 0x76($t3) -/* 0D44BC 7F09F98C 8E480000 */ lw $t0, ($s2) -/* 0D44C0 7F09F990 8E0D0000 */ lw $t5, ($s0) -/* 0D44C4 7F09F994 01110019 */ multu $t0, $s1 -/* 0D44C8 7F09F998 00006012 */ mflo $t4 -/* 0D44CC 7F09F99C 01AC5021 */ addu $t2, $t5, $t4 -/* 0D44D0 7F09F9A0 A1430075 */ sb $v1, 0x75($t2) -/* 0D44D4 7F09F9A4 8E4E0000 */ lw $t6, ($s2) -/* 0D44D8 7F09F9A8 8E190000 */ lw $t9, ($s0) -/* 0D44DC 7F09F9AC 01D10019 */ multu $t6, $s1 -/* 0D44E0 7F09F9B0 00007812 */ mflo $t7 -/* 0D44E4 7F09F9B4 032F4821 */ addu $t1, $t9, $t7 -/* 0D44E8 7F09F9B8 10000052 */ b .L7F09FB04 -/* 0D44EC 7F09F9BC A1230074 */ sb $v1, 0x74($t1) -.L7F09F9C0: -/* 0D44F0 7F09F9C0 0C002914 */ jal get_random_value -/* 0D44F4 7F09F9C4 00000000 */ nop -/* 0D44F8 7F09F9C8 8E4B0000 */ lw $t3, ($s2) -/* 0D44FC 7F09F9CC 8E180000 */ lw $t8, ($s0) -/* 0D4500 7F09F9D0 3043003F */ andi $v1, $v0, 0x3f -/* 0D4504 7F09F9D4 01710019 */ multu $t3, $s1 -/* 0D4508 7F09F9D8 00004012 */ mflo $t0 -/* 0D450C 7F09F9DC 03086821 */ addu $t5, $t8, $t0 -/* 0D4510 7F09F9E0 A1A30046 */ sb $v1, 0x46($t5) -/* 0D4514 7F09F9E4 8E4A0000 */ lw $t2, ($s2) -/* 0D4518 7F09F9E8 8E0C0000 */ lw $t4, ($s0) -/* 0D451C 7F09F9EC 01510019 */ multu $t2, $s1 -/* 0D4520 7F09F9F0 00007012 */ mflo $t6 -/* 0D4524 7F09F9F4 018EC821 */ addu $t9, $t4, $t6 -/* 0D4528 7F09F9F8 A3230045 */ sb $v1, 0x45($t9) -/* 0D452C 7F09F9FC 8E490000 */ lw $t1, ($s2) -/* 0D4530 7F09FA00 8E0F0000 */ lw $t7, ($s0) -/* 0D4534 7F09FA04 01310019 */ multu $t1, $s1 -/* 0D4538 7F09FA08 00005812 */ mflo $t3 -/* 0D453C 7F09FA0C 01EBC021 */ addu $t8, $t7, $t3 -/* 0D4540 7F09FA10 0C002914 */ jal get_random_value -/* 0D4544 7F09FA14 A3030044 */ sb $v1, 0x44($t8) -/* 0D4548 7F09FA18 8E4D0000 */ lw $t5, ($s2) -/* 0D454C 7F09FA1C 8E080000 */ lw $t0, ($s0) -/* 0D4550 7F09FA20 3043003F */ andi $v1, $v0, 0x3f -/* 0D4554 7F09FA24 01B10019 */ multu $t5, $s1 -/* 0D4558 7F09FA28 00005012 */ mflo $t2 -/* 0D455C 7F09FA2C 010A6021 */ addu $t4, $t0, $t2 -/* 0D4560 7F09FA30 A1830056 */ sb $v1, 0x56($t4) -/* 0D4564 7F09FA34 8E590000 */ lw $t9, ($s2) -/* 0D4568 7F09FA38 8E0E0000 */ lw $t6, ($s0) -/* 0D456C 7F09FA3C 03310019 */ multu $t9, $s1 -/* 0D4570 7F09FA40 00004812 */ mflo $t1 -/* 0D4574 7F09FA44 01C97821 */ addu $t7, $t6, $t1 -/* 0D4578 7F09FA48 A1E30055 */ sb $v1, 0x55($t7) -/* 0D457C 7F09FA4C 8E580000 */ lw $t8, ($s2) -/* 0D4580 7F09FA50 8E0B0000 */ lw $t3, ($s0) -/* 0D4584 7F09FA54 03110019 */ multu $t8, $s1 -/* 0D4588 7F09FA58 00006812 */ mflo $t5 -/* 0D458C 7F09FA5C 016D4021 */ addu $t0, $t3, $t5 -/* 0D4590 7F09FA60 0C002914 */ jal get_random_value -/* 0D4594 7F09FA64 A1030054 */ sb $v1, 0x54($t0) -/* 0D4598 7F09FA68 8E4C0000 */ lw $t4, ($s2) -/* 0D459C 7F09FA6C 8E0A0000 */ lw $t2, ($s0) -/* 0D45A0 7F09FA70 3043003F */ andi $v1, $v0, 0x3f -/* 0D45A4 7F09FA74 01910019 */ multu $t4, $s1 -/* 0D45A8 7F09FA78 0000C812 */ mflo $t9 -/* 0D45AC 7F09FA7C 01597021 */ addu $t6, $t2, $t9 -/* 0D45B0 7F09FA80 A1C30066 */ sb $v1, 0x66($t6) -/* 0D45B4 7F09FA84 8E4F0000 */ lw $t7, ($s2) -/* 0D45B8 7F09FA88 8E090000 */ lw $t1, ($s0) -/* 0D45BC 7F09FA8C 01F10019 */ multu $t7, $s1 -/* 0D45C0 7F09FA90 0000C012 */ mflo $t8 -/* 0D45C4 7F09FA94 01385821 */ addu $t3, $t1, $t8 -/* 0D45C8 7F09FA98 A1630065 */ sb $v1, 0x65($t3) -/* 0D45CC 7F09FA9C 8E480000 */ lw $t0, ($s2) -/* 0D45D0 7F09FAA0 8E0D0000 */ lw $t5, ($s0) -/* 0D45D4 7F09FAA4 01110019 */ multu $t0, $s1 -/* 0D45D8 7F09FAA8 00006012 */ mflo $t4 -/* 0D45DC 7F09FAAC 01AC5021 */ addu $t2, $t5, $t4 -/* 0D45E0 7F09FAB0 0C002914 */ jal get_random_value -/* 0D45E4 7F09FAB4 A1430064 */ sb $v1, 0x64($t2) -/* 0D45E8 7F09FAB8 8E4E0000 */ lw $t6, ($s2) -/* 0D45EC 7F09FABC 8E190000 */ lw $t9, ($s0) -/* 0D45F0 7F09FAC0 3043003F */ andi $v1, $v0, 0x3f -/* 0D45F4 7F09FAC4 01D10019 */ multu $t6, $s1 -/* 0D45F8 7F09FAC8 00007812 */ mflo $t7 -/* 0D45FC 7F09FACC 032F4821 */ addu $t1, $t9, $t7 -/* 0D4600 7F09FAD0 A1230076 */ sb $v1, 0x76($t1) -/* 0D4604 7F09FAD4 8E4B0000 */ lw $t3, ($s2) -/* 0D4608 7F09FAD8 8E180000 */ lw $t8, ($s0) -/* 0D460C 7F09FADC 01710019 */ multu $t3, $s1 -/* 0D4610 7F09FAE0 00004012 */ mflo $t0 -/* 0D4614 7F09FAE4 03086821 */ addu $t5, $t8, $t0 -/* 0D4618 7F09FAE8 A1A30075 */ sb $v1, 0x75($t5) -/* 0D461C 7F09FAEC 8E4A0000 */ lw $t2, ($s2) -/* 0D4620 7F09FAF0 8E0C0000 */ lw $t4, ($s0) -/* 0D4624 7F09FAF4 01510019 */ multu $t2, $s1 -/* 0D4628 7F09FAF8 00007012 */ mflo $t6 -/* 0D462C 7F09FAFC 018EC821 */ addu $t9, $t4, $t6 -/* 0D4630 7F09FB00 A3230074 */ sb $v1, 0x74($t9) -.L7F09FB04: -/* 0D4634 7F09FB04 8E490000 */ lw $t1, ($s2) -/* 0D4638 7F09FB08 8E0F0000 */ lw $t7, ($s0) -/* 0D463C 7F09FB0C 240200DC */ li $v0, 220 -/* 0D4640 7F09FB10 01310019 */ multu $t1, $s1 -/* 0D4644 7F09FB14 00005812 */ mflo $t3 -/* 0D4648 7F09FB18 01EBC021 */ addu $t8, $t7, $t3 -/* 0D464C 7F09FB1C A3020047 */ sb $v0, 0x47($t8) -/* 0D4650 7F09FB20 8E4D0000 */ lw $t5, ($s2) -/* 0D4654 7F09FB24 8E080000 */ lw $t0, ($s0) -/* 0D4658 7F09FB28 01B10019 */ multu $t5, $s1 -/* 0D465C 7F09FB2C 00005012 */ mflo $t2 -/* 0D4660 7F09FB30 010A6021 */ addu $t4, $t0, $t2 -/* 0D4664 7F09FB34 A1820057 */ sb $v0, 0x57($t4) -/* 0D4668 7F09FB38 8E590000 */ lw $t9, ($s2) -/* 0D466C 7F09FB3C 8E0E0000 */ lw $t6, ($s0) -/* 0D4670 7F09FB40 03310019 */ multu $t9, $s1 -/* 0D4674 7F09FB44 00004812 */ mflo $t1 -/* 0D4678 7F09FB48 01C97821 */ addu $t7, $t6, $t1 -/* 0D467C 7F09FB4C A1E20067 */ sb $v0, 0x67($t7) -/* 0D4680 7F09FB50 8E580000 */ lw $t8, ($s2) -/* 0D4684 7F09FB54 8E0B0000 */ lw $t3, ($s0) -/* 0D4688 7F09FB58 03110019 */ multu $t8, $s1 -/* 0D468C 7F09FB5C 00006812 */ mflo $t5 -/* 0D4690 7F09FB60 016D4021 */ addu $t0, $t3, $t5 -/* 0D4694 7F09FB64 0C002914 */ jal get_random_value -/* 0D4698 7F09FB68 A1020077 */ sb $v0, 0x77($t0) -/* 0D469C 7F09FB6C 44822000 */ mtc1 $v0, $f4 -/* 0D46A0 7F09FB70 3C018005 */ lui $at, %hi(D_800576E8) -/* 0D46A4 7F09FB74 C43476E8 */ lwc1 $f20, %lo(D_800576E8)($at) -/* 0D46A8 7F09FB78 04410005 */ bgez $v0, .L7F09FB90 -/* 0D46AC 7F09FB7C 468024A0 */ cvt.s.w $f18, $f4 -/* 0D46B0 7F09FB80 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D46B4 7F09FB84 44813000 */ mtc1 $at, $f6 -/* 0D46B8 7F09FB88 00000000 */ nop -/* 0D46BC 7F09FB8C 46069480 */ add.s $f18, $f18, $f6 -.L7F09FB90: -/* 0D46C0 7F09FB90 8E4C0000 */ lw $t4, ($s2) -/* 0D46C4 7F09FB94 46169202 */ mul.s $f8, $f18, $f22 -/* 0D46C8 7F09FB98 8E0A0000 */ lw $t2, ($s0) -/* 0D46CC 7F09FB9C 01910019 */ multu $t4, $s1 -/* 0D46D0 7F09FBA0 46144282 */ mul.s $f10, $f8, $f20 -/* 0D46D4 7F09FBA4 0000C812 */ mflo $t9 -/* 0D46D8 7F09FBA8 01597021 */ addu $t6, $t2, $t9 -/* 0D46DC 7F09FBAC 0C002914 */ jal get_random_value -/* 0D46E0 7F09FBB0 E5CA0010 */ swc1 $f10, 0x10($t6) -/* 0D46E4 7F09FBB4 44822000 */ mtc1 $v0, $f4 -/* 0D46E8 7F09FBB8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D46EC 7F09FBBC 04410004 */ bgez $v0, .L7F09FBD0 -/* 0D46F0 7F09FBC0 468021A0 */ cvt.s.w $f6, $f4 -/* 0D46F4 7F09FBC4 44819000 */ mtc1 $at, $f18 -/* 0D46F8 7F09FBC8 00000000 */ nop -/* 0D46FC 7F09FBCC 46123180 */ add.s $f6, $f6, $f18 -.L7F09FBD0: -/* 0D4700 7F09FBD0 8E4F0000 */ lw $t7, ($s2) -/* 0D4704 7F09FBD4 46163202 */ mul.s $f8, $f6, $f22 -/* 0D4708 7F09FBD8 8E090000 */ lw $t1, ($s0) -/* 0D470C 7F09FBDC 01F10019 */ multu $t7, $s1 -/* 0D4710 7F09FBE0 46144282 */ mul.s $f10, $f8, $f20 -/* 0D4714 7F09FBE4 0000C012 */ mflo $t8 -/* 0D4718 7F09FBE8 01385821 */ addu $t3, $t1, $t8 -/* 0D471C 7F09FBEC 0C002914 */ jal get_random_value -/* 0D4720 7F09FBF0 E56A0014 */ swc1 $f10, 0x14($t3) -/* 0D4724 7F09FBF4 44822000 */ mtc1 $v0, $f4 -/* 0D4728 7F09FBF8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D472C 7F09FBFC 04410004 */ bgez $v0, .L7F09FC10 -/* 0D4730 7F09FC00 468024A0 */ cvt.s.w $f18, $f4 -/* 0D4734 7F09FC04 44813000 */ mtc1 $at, $f6 -/* 0D4738 7F09FC08 00000000 */ nop -/* 0D473C 7F09FC0C 46069480 */ add.s $f18, $f18, $f6 -.L7F09FC10: -/* 0D4740 7F09FC10 8E480000 */ lw $t0, ($s2) -/* 0D4744 7F09FC14 46169202 */ mul.s $f8, $f18, $f22 -/* 0D4748 7F09FC18 8E0D0000 */ lw $t5, ($s0) -/* 0D474C 7F09FC1C 01110019 */ multu $t0, $s1 -/* 0D4750 7F09FC20 46144282 */ mul.s $f10, $f8, $f20 -/* 0D4754 7F09FC24 00006012 */ mflo $t4 -/* 0D4758 7F09FC28 01AC5021 */ addu $t2, $t5, $t4 -/* 0D475C 7F09FC2C 0C002914 */ jal get_random_value -/* 0D4760 7F09FC30 E54A0018 */ swc1 $f10, 0x18($t2) -/* 0D4764 7F09FC34 44822000 */ mtc1 $v0, $f4 -/* 0D4768 7F09FC38 3C018005 */ lui $at, %hi(D_800576EC) -/* 0D476C 7F09FC3C C43476EC */ lwc1 $f20, %lo(D_800576EC)($at) -/* 0D4770 7F09FC40 04410005 */ bgez $v0, .L7F09FC58 -/* 0D4774 7F09FC44 468021A0 */ cvt.s.w $f6, $f4 -/* 0D4778 7F09FC48 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D477C 7F09FC4C 44819000 */ mtc1 $at, $f18 -/* 0D4780 7F09FC50 00000000 */ nop -/* 0D4784 7F09FC54 46123180 */ add.s $f6, $f6, $f18 -.L7F09FC58: -/* 0D4788 7F09FC58 8E4E0000 */ lw $t6, ($s2) -/* 0D478C 7F09FC5C 46163202 */ mul.s $f8, $f6, $f22 -/* 0D4790 7F09FC60 8E190000 */ lw $t9, ($s0) -/* 0D4794 7F09FC64 01D10019 */ multu $t6, $s1 -/* 0D4798 7F09FC68 46144282 */ mul.s $f10, $f8, $f20 -/* 0D479C 7F09FC6C 00007812 */ mflo $t7 -/* 0D47A0 7F09FC70 032F4821 */ addu $t1, $t9, $t7 -/* 0D47A4 7F09FC74 0C002914 */ jal get_random_value -/* 0D47A8 7F09FC78 E52A0028 */ swc1 $f10, 0x28($t1) -/* 0D47AC 7F09FC7C 44822000 */ mtc1 $v0, $f4 -/* 0D47B0 7F09FC80 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D47B4 7F09FC84 04410004 */ bgez $v0, .L7F09FC98 -/* 0D47B8 7F09FC88 468024A0 */ cvt.s.w $f18, $f4 -/* 0D47BC 7F09FC8C 44813000 */ mtc1 $at, $f6 -/* 0D47C0 7F09FC90 00000000 */ nop -/* 0D47C4 7F09FC94 46069480 */ add.s $f18, $f18, $f6 -.L7F09FC98: -/* 0D47C8 7F09FC98 8E4B0000 */ lw $t3, ($s2) -/* 0D47CC 7F09FC9C 46169202 */ mul.s $f8, $f18, $f22 -/* 0D47D0 7F09FCA0 8E180000 */ lw $t8, ($s0) -/* 0D47D4 7F09FCA4 01710019 */ multu $t3, $s1 -/* 0D47D8 7F09FCA8 46144282 */ mul.s $f10, $f8, $f20 -/* 0D47DC 7F09FCAC 00004012 */ mflo $t0 -/* 0D47E0 7F09FCB0 03086821 */ addu $t5, $t8, $t0 -/* 0D47E4 7F09FCB4 0C002914 */ jal get_random_value -/* 0D47E8 7F09FCB8 E5AA002C */ swc1 $f10, 0x2c($t5) -/* 0D47EC 7F09FCBC 44822000 */ mtc1 $v0, $f4 -/* 0D47F0 7F09FCC0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D47F4 7F09FCC4 04410004 */ bgez $v0, .L7F09FCD8 -/* 0D47F8 7F09FCC8 468021A0 */ cvt.s.w $f6, $f4 -/* 0D47FC 7F09FCCC 44819000 */ mtc1 $at, $f18 -/* 0D4800 7F09FCD0 00000000 */ nop -/* 0D4804 7F09FCD4 46123180 */ add.s $f6, $f6, $f18 -.L7F09FCD8: -/* 0D4808 7F09FCD8 8E4A0000 */ lw $t2, ($s2) -/* 0D480C 7F09FCDC 46163202 */ mul.s $f8, $f6, $f22 -/* 0D4810 7F09FCE0 8E0C0000 */ lw $t4, ($s0) -/* 0D4814 7F09FCE4 01510019 */ multu $t2, $s1 -/* 0D4818 7F09FCE8 3C188008 */ lui $t8, %hi(max_casings) -/* 0D481C 7F09FCEC 46144282 */ mul.s $f10, $f8, $f20 -/* 0D4820 7F09FCF0 00007012 */ mflo $t6 -/* 0D4824 7F09FCF4 018EC821 */ addu $t9, $t4, $t6 -/* 0D4828 7F09FCF8 E72A0030 */ swc1 $f10, 0x30($t9) -/* 0D482C 7F09FCFC 8E4F0000 */ lw $t7, ($s2) -/* 0D4830 7F09FD00 25E90001 */ addiu $t1, $t7, 1 -/* 0D4834 7F09FD04 AE490000 */ sw $t1, ($s2) -/* 0D4838 7F09FD08 8F18A148 */ lw $t8, %lo(max_casings)($t8) -/* 0D483C 7F09FD0C 0138082A */ slt $at, $t1, $t8 -/* 0D4840 7F09FD10 54200003 */ bnezl $at, .L7F09FD20 -/* 0D4844 7F09FD14 8FBF0034 */ lw $ra, 0x34($sp) -/* 0D4848 7F09FD18 AE400000 */ sw $zero, ($s2) -/* 0D484C 7F09FD1C 8FBF0034 */ lw $ra, 0x34($sp) -.L7F09FD20: -/* 0D4850 7F09FD20 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D4854 7F09FD24 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D4858 7F09FD28 8FB00028 */ lw $s0, 0x28($sp) -/* 0D485C 7F09FD2C 8FB1002C */ lw $s1, 0x2c($sp) -/* 0D4860 7F09FD30 8FB20030 */ lw $s2, 0x30($sp) -/* 0D4864 7F09FD34 03E00008 */ jr $ra -/* 0D4868 7F09FD38 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F09FD3C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800576F0 -.word 0x46ea6000 /*30000.0*/ -glabel D_800576F4 -.word 0xc6ea6000 /*-30000.0*/ -glabel D_800576F8 -.word 0x3e4ccccd /*0.2*/ -.text -glabel sub_GAME_7F09FD3C -/* 0D486C 7F09FD3C 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0D4870 7F09FD40 3C028005 */ lui $v0, %hi(clock_timer) -/* 0D4874 7F09FD44 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0D4878 7F09FD48 AFBF0054 */ sw $ra, 0x54($sp) -/* 0D487C 7F09FD4C AFB40050 */ sw $s4, 0x50($sp) -/* 0D4880 7F09FD50 2841000F */ slti $at, $v0, 0xf -/* 0D4884 7F09FD54 AFB3004C */ sw $s3, 0x4c($sp) -/* 0D4888 7F09FD58 AFB20048 */ sw $s2, 0x48($sp) -/* 0D488C 7F09FD5C AFB10044 */ sw $s1, 0x44($sp) -/* 0D4890 7F09FD60 AFB00040 */ sw $s0, 0x40($sp) -/* 0D4894 7F09FD64 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 0D4898 7F09FD68 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0D489C 7F09FD6C F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0D48A0 7F09FD70 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D48A4 7F09FD74 10200004 */ beqz $at, .L7F09FD88 -/* 0D48A8 7F09FD78 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D48AC 7F09FD7C 44822000 */ mtc1 $v0, $f4 -/* 0D48B0 7F09FD80 10000004 */ b .L7F09FD94 -/* 0D48B4 7F09FD84 46802620 */ cvt.s.w $f24, $f4 -.L7F09FD88: -/* 0D48B8 7F09FD88 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0D48BC 7F09FD8C 4481C000 */ mtc1 $at, $f24 -/* 0D48C0 7F09FD90 00000000 */ nop -.L7F09FD94: -/* 0D48C4 7F09FD94 3C148008 */ lui $s4, %hi(max_casings) -/* 0D48C8 7F09FD98 2694A148 */ addiu $s4, %lo(max_casings) # addiu $s4, $s4, -0x5eb8 -/* 0D48CC 7F09FD9C 8E8E0000 */ lw $t6, ($s4) -/* 0D48D0 7F09FDA0 00009025 */ move $s2, $zero -/* 0D48D4 7F09FDA4 00008025 */ move $s0, $zero -/* 0D48D8 7F09FDA8 19C00095 */ blez $t6, .L7F0A0000 -/* 0D48DC 7F09FDAC 3C018005 */ lui $at, %hi(D_800576F0) -/* 0D48E0 7F09FDB0 C43C76F0 */ lwc1 $f28, %lo(D_800576F0)($at) -/* 0D48E4 7F09FDB4 3C018005 */ lui $at, %hi(D_800576F4) -/* 0D48E8 7F09FDB8 C43A76F4 */ lwc1 $f26, %lo(D_800576F4)($at) -/* 0D48EC 7F09FDBC 3C018005 */ lui $at, %hi(D_800576F8) -/* 0D48F0 7F09FDC0 C43676F8 */ lwc1 $f22, %lo(D_800576F8)($at) -/* 0D48F4 7F09FDC4 3C01C070 */ li $at, 0xC0700000 # -3.750000 -/* 0D48F8 7F09FDC8 3C118008 */ lui $s1, %hi(ptr_ejected_casing_buf) -/* 0D48FC 7F09FDCC 4481A000 */ mtc1 $at, $f20 -/* 0D4900 7F09FDD0 2631A14C */ addiu $s1, %lo(ptr_ejected_casing_buf) # addiu $s1, $s1, -0x5eb4 -/* 0D4904 7F09FDD4 2413012C */ li $s3, 300 -/* 0D4908 7F09FDD8 8E2F0000 */ lw $t7, ($s1) -.L7F09FDDC: -/* 0D490C 7F09FDDC 01F01021 */ addu $v0, $t7, $s0 -/* 0D4910 7F09FDE0 8C450000 */ lw $a1, ($v0) -/* 0D4914 7F09FDE4 58A00081 */ blezl $a1, .L7F09FFEC -/* 0D4918 7F09FDE8 8E990000 */ lw $t9, ($s4) -/* 0D491C 7F09FDEC 4600C18D */ trunc.w.s $f6, $f24 -/* 0D4920 7F09FDF0 00001825 */ move $v1, $zero -/* 0D4924 7F09FDF4 44043000 */ mfc1 $a0, $f6 -/* 0D4928 7F09FDF8 00000000 */ nop -/* 0D492C 7F09FDFC 00A4C821 */ addu $t9, $a1, $a0 -/* 0D4930 7F09FE00 AC590000 */ sw $t9, ($v0) -/* 0D4934 7F09FE04 8E280000 */ lw $t0, ($s1) -/* 0D4938 7F09FE08 01101021 */ addu $v0, $t0, $s0 -/* 0D493C 7F09FE0C C44A0028 */ lwc1 $f10, 0x28($v0) -/* 0D4940 7F09FE10 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0D4944 7F09FE14 46185402 */ mul.s $f16, $f10, $f24 -/* 0D4948 7F09FE18 46104480 */ add.s $f18, $f8, $f16 -/* 0D494C 7F09FE1C E4520010 */ swc1 $f18, 0x10($v0) -/* 0D4950 7F09FE20 8E290000 */ lw $t1, ($s1) -/* 0D4954 7F09FE24 01301021 */ addu $v0, $t1, $s0 -/* 0D4958 7F09FE28 C446002C */ lwc1 $f6, 0x2c($v0) -/* 0D495C 7F09FE2C C4440014 */ lwc1 $f4, 0x14($v0) -/* 0D4960 7F09FE30 46183282 */ mul.s $f10, $f6, $f24 -/* 0D4964 7F09FE34 460A2200 */ add.s $f8, $f4, $f10 -/* 0D4968 7F09FE38 E4480014 */ swc1 $f8, 0x14($v0) -/* 0D496C 7F09FE3C 8E2A0000 */ lw $t2, ($s1) -/* 0D4970 7F09FE40 01501021 */ addu $v0, $t2, $s0 -/* 0D4974 7F09FE44 C4520030 */ lwc1 $f18, 0x30($v0) -/* 0D4978 7F09FE48 C4500018 */ lwc1 $f16, 0x18($v0) -/* 0D497C 7F09FE4C 46189182 */ mul.s $f6, $f18, $f24 -/* 0D4980 7F09FE50 46068100 */ add.s $f4, $f16, $f6 -/* 0D4984 7F09FE54 E4440018 */ swc1 $f4, 0x18($v0) -/* 0D4988 7F09FE58 8E2B0000 */ lw $t3, ($s1) -/* 0D498C 7F09FE5C 01701021 */ addu $v0, $t3, $s0 -/* 0D4990 7F09FE60 C448001C */ lwc1 $f8, 0x1c($v0) -/* 0D4994 7F09FE64 C44A0004 */ lwc1 $f10, 4($v0) -/* 0D4998 7F09FE68 46184482 */ mul.s $f18, $f8, $f24 -/* 0D499C 7F09FE6C 46125400 */ add.s $f16, $f10, $f18 -/* 0D49A0 7F09FE70 E4500004 */ swc1 $f16, 4($v0) -/* 0D49A4 7F09FE74 8E2C0000 */ lw $t4, ($s1) -/* 0D49A8 7F09FE78 01901021 */ addu $v0, $t4, $s0 -/* 0D49AC 7F09FE7C C4440024 */ lwc1 $f4, 0x24($v0) -/* 0D49B0 7F09FE80 C446000C */ lwc1 $f6, 0xc($v0) -/* 0D49B4 7F09FE84 46182202 */ mul.s $f8, $f4, $f24 -/* 0D49B8 7F09FE88 46083280 */ add.s $f10, $f6, $f8 -/* 0D49BC 7F09FE8C 18800037 */ blez $a0, .L7F09FF6C -/* 0D49C0 7F09FE90 E44A000C */ swc1 $f10, 0xc($v0) -/* 0D49C4 7F09FE94 30820001 */ andi $v0, $a0, 1 -/* 0D49C8 7F09FE98 50400014 */ beql $v0, $zero, .L7F09FEEC -/* 0D49CC 7F09FE9C 8E2F0000 */ lw $t7, ($s1) -/* 0D49D0 7F09FEA0 8E2D0000 */ lw $t5, ($s1) -/* 0D49D4 7F09FEA4 24030001 */ li $v1, 1 -/* 0D49D8 7F09FEA8 01B01021 */ addu $v0, $t5, $s0 -/* 0D49DC 7F09FEAC C4520008 */ lwc1 $f18, 8($v0) -/* 0D49E0 7F09FEB0 C4500020 */ lwc1 $f16, 0x20($v0) -/* 0D49E4 7F09FEB4 46109100 */ add.s $f4, $f18, $f16 -/* 0D49E8 7F09FEB8 E4440008 */ swc1 $f4, 8($v0) -/* 0D49EC 7F09FEBC 8E2E0000 */ lw $t6, ($s1) -/* 0D49F0 7F09FEC0 01D01021 */ addu $v0, $t6, $s0 -/* 0D49F4 7F09FEC4 C4400020 */ lwc1 $f0, 0x20($v0) -/* 0D49F8 7F09FEC8 4600A03C */ c.lt.s $f20, $f0 -/* 0D49FC 7F09FECC 00000000 */ nop -/* 0D4A00 7F09FED0 45000003 */ bc1f .L7F09FEE0 -/* 0D4A04 7F09FED4 00000000 */ nop -/* 0D4A08 7F09FED8 46160181 */ sub.s $f6, $f0, $f22 -/* 0D4A0C 7F09FEDC E4460020 */ swc1 $f6, 0x20($v0) -.L7F09FEE0: -/* 0D4A10 7F09FEE0 50640023 */ beql $v1, $a0, .L7F09FF70 -/* 0D4A14 7F09FEE4 8E290000 */ lw $t1, ($s1) -/* 0D4A18 7F09FEE8 8E2F0000 */ lw $t7, ($s1) -.L7F09FEEC: -/* 0D4A1C 7F09FEEC 24630002 */ addiu $v1, $v1, 2 -/* 0D4A20 7F09FEF0 01F01021 */ addu $v0, $t7, $s0 -/* 0D4A24 7F09FEF4 C4480008 */ lwc1 $f8, 8($v0) -/* 0D4A28 7F09FEF8 C44A0020 */ lwc1 $f10, 0x20($v0) -/* 0D4A2C 7F09FEFC 460A4480 */ add.s $f18, $f8, $f10 -/* 0D4A30 7F09FF00 E4520008 */ swc1 $f18, 8($v0) -/* 0D4A34 7F09FF04 8E380000 */ lw $t8, ($s1) -/* 0D4A38 7F09FF08 03101021 */ addu $v0, $t8, $s0 -/* 0D4A3C 7F09FF0C C4400020 */ lwc1 $f0, 0x20($v0) -/* 0D4A40 7F09FF10 4600A03C */ c.lt.s $f20, $f0 -/* 0D4A44 7F09FF14 00000000 */ nop -/* 0D4A48 7F09FF18 45020007 */ bc1fl .L7F09FF38 -/* 0D4A4C 7F09FF1C C4440008 */ lwc1 $f4, 8($v0) -/* 0D4A50 7F09FF20 46160401 */ sub.s $f16, $f0, $f22 -/* 0D4A54 7F09FF24 E4500020 */ swc1 $f16, 0x20($v0) -/* 0D4A58 7F09FF28 8E390000 */ lw $t9, ($s1) -/* 0D4A5C 7F09FF2C 03301021 */ addu $v0, $t9, $s0 -/* 0D4A60 7F09FF30 C4400020 */ lwc1 $f0, 0x20($v0) -/* 0D4A64 7F09FF34 C4440008 */ lwc1 $f4, 8($v0) -.L7F09FF38: -/* 0D4A68 7F09FF38 46002180 */ add.s $f6, $f4, $f0 -/* 0D4A6C 7F09FF3C E4460008 */ swc1 $f6, 8($v0) -/* 0D4A70 7F09FF40 8E280000 */ lw $t0, ($s1) -/* 0D4A74 7F09FF44 01101021 */ addu $v0, $t0, $s0 -/* 0D4A78 7F09FF48 C4400020 */ lwc1 $f0, 0x20($v0) -/* 0D4A7C 7F09FF4C 4600A03C */ c.lt.s $f20, $f0 -/* 0D4A80 7F09FF50 00000000 */ nop -/* 0D4A84 7F09FF54 45000003 */ bc1f .L7F09FF64 -/* 0D4A88 7F09FF58 00000000 */ nop -/* 0D4A8C 7F09FF5C 46160201 */ sub.s $f8, $f0, $f22 -/* 0D4A90 7F09FF60 E4480020 */ swc1 $f8, 0x20($v0) -.L7F09FF64: -/* 0D4A94 7F09FF64 5464FFE1 */ bnel $v1, $a0, .L7F09FEEC -/* 0D4A98 7F09FF68 8E2F0000 */ lw $t7, ($s1) -.L7F09FF6C: -/* 0D4A9C 7F09FF6C 8E290000 */ lw $t1, ($s1) -.L7F09FF70: -/* 0D4AA0 7F09FF70 01301021 */ addu $v0, $t1, $s0 -/* 0D4AA4 7F09FF74 8C4A0000 */ lw $t2, ($v0) -/* 0D4AA8 7F09FF78 29410065 */ slti $at, $t2, 0x65 -/* 0D4AAC 7F09FF7C 54200011 */ bnezl $at, .L7F09FFC4 -/* 0D4AB0 7F09FF80 C4400008 */ lwc1 $f0, 8($v0) -/* 0D4AB4 7F09FF84 0C002914 */ jal get_random_value -/* 0D4AB8 7F09FF88 00000000 */ nop -/* 0D4ABC 7F09FF8C 304B001F */ andi $t3, $v0, 0x1f -/* 0D4AC0 7F09FF90 51600007 */ beql $t3, $zero, .L7F09FFB0 -/* 0D4AC4 7F09FF94 8E2E0000 */ lw $t6, ($s1) -/* 0D4AC8 7F09FF98 8E2C0000 */ lw $t4, ($s1) -/* 0D4ACC 7F09FF9C 01901021 */ addu $v0, $t4, $s0 -/* 0D4AD0 7F09FFA0 8C4D0000 */ lw $t5, ($v0) -/* 0D4AD4 7F09FFA4 566D0007 */ bnel $s3, $t5, .L7F09FFC4 -/* 0D4AD8 7F09FFA8 C4400008 */ lwc1 $f0, 8($v0) -/* 0D4ADC 7F09FFAC 8E2E0000 */ lw $t6, ($s1) -.L7F09FFB0: -/* 0D4AE0 7F09FFB0 01D07821 */ addu $t7, $t6, $s0 -/* 0D4AE4 7F09FFB4 ADE00000 */ sw $zero, ($t7) -/* 0D4AE8 7F09FFB8 8E380000 */ lw $t8, ($s1) -/* 0D4AEC 7F09FFBC 03101021 */ addu $v0, $t8, $s0 -/* 0D4AF0 7F09FFC0 C4400008 */ lwc1 $f0, 8($v0) -.L7F09FFC4: -/* 0D4AF4 7F09FFC4 461A003C */ c.lt.s $f0, $f26 -/* 0D4AF8 7F09FFC8 00000000 */ nop -/* 0D4AFC 7F09FFCC 45030006 */ bc1tl .L7F09FFE8 -/* 0D4B00 7F09FFD0 AC400000 */ sw $zero, ($v0) -/* 0D4B04 7F09FFD4 4600E03C */ c.lt.s $f28, $f0 -/* 0D4B08 7F09FFD8 00000000 */ nop -/* 0D4B0C 7F09FFDC 45020003 */ bc1fl .L7F09FFEC -/* 0D4B10 7F09FFE0 8E990000 */ lw $t9, ($s4) -/* 0D4B14 7F09FFE4 AC400000 */ sw $zero, ($v0) -.L7F09FFE8: -/* 0D4B18 7F09FFE8 8E990000 */ lw $t9, ($s4) -.L7F09FFEC: -/* 0D4B1C 7F09FFEC 26520001 */ addiu $s2, $s2, 1 -/* 0D4B20 7F09FFF0 26100078 */ addiu $s0, $s0, 0x78 -/* 0D4B24 7F09FFF4 0259082A */ slt $at, $s2, $t9 -/* 0D4B28 7F09FFF8 5420FF78 */ bnezl $at, .L7F09FDDC -/* 0D4B2C 7F09FFFC 8E2F0000 */ lw $t7, ($s1) -.L7F0A0000: -/* 0D4B30 7F0A0000 8FBF0054 */ lw $ra, 0x54($sp) -/* 0D4B34 7F0A0004 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D4B38 7F0A0008 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D4B3C 7F0A000C D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0D4B40 7F0A0010 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0D4B44 7F0A0014 D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0D4B48 7F0A0018 8FB00040 */ lw $s0, 0x40($sp) -/* 0D4B4C 7F0A001C 8FB10044 */ lw $s1, 0x44($sp) -/* 0D4B50 7F0A0020 8FB20048 */ lw $s2, 0x48($sp) -/* 0D4B54 7F0A0024 8FB3004C */ lw $s3, 0x4c($sp) -/* 0D4B58 7F0A0028 8FB40050 */ lw $s4, 0x50($sp) -/* 0D4B5C 7F0A002C 03E00008 */ jr $ra -/* 0D4B60 7F0A0030 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A0034(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800576FC -.word 0xc69c4000 /*-20000.0*/ -glabel D_80057700 -.word 0x469c4000 /*20000.0*/ -.text -glabel sub_GAME_7F0A0034 -/* 0D4B64 7F0A0034 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0D4B68 7F0A0038 AFB00028 */ sw $s0, 0x28($sp) -/* 0D4B6C 7F0A003C AFBF004C */ sw $ra, 0x4c($sp) -/* 0D4B70 7F0A0040 AFBE0048 */ sw $fp, 0x48($sp) -/* 0D4B74 7F0A0044 AFB70044 */ sw $s7, 0x44($sp) -/* 0D4B78 7F0A0048 AFB60040 */ sw $s6, 0x40($sp) -/* 0D4B7C 7F0A004C AFB5003C */ sw $s5, 0x3c($sp) -/* 0D4B80 7F0A0050 AFB40038 */ sw $s4, 0x38($sp) -/* 0D4B84 7F0A0054 AFB30034 */ sw $s3, 0x34($sp) -/* 0D4B88 7F0A0058 AFB20030 */ sw $s2, 0x30($sp) -/* 0D4B8C 7F0A005C AFB1002C */ sw $s1, 0x2c($sp) -/* 0D4B90 7F0A0060 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D4B94 7F0A0064 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D4B98 7F0A0068 3C0EB600 */ lui $t6, 0xb600 -/* 0D4B9C 7F0A006C 240F3000 */ li $t7, 12288 -/* 0D4BA0 7F0A0070 AC8F0004 */ sw $t7, 4($a0) -/* 0D4BA4 7F0A0074 AC8E0000 */ sw $t6, ($a0) -/* 0D4BA8 7F0A0078 24900008 */ addiu $s0, $a0, 8 -/* 0D4BAC 7F0A007C 3C18BC00 */ lui $t8, (0xBC000806 >> 16) # lui $t8, 0xbc00 -/* 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(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 -/* 0D4BD0 7F0A00A0 AE220004 */ sw $v0, 4($s1) -/* 0D4BD4 7F0A00A4 3C080200 */ lui $t0, 0x200 -/* 0D4BD8 7F0A00A8 25080A50 */ addiu $t0, $t0, 0xa50 -/* 0D4BDC 7F0A00AC 26100008 */ addiu $s0, $s0, 8 -/* 0D4BE0 7F0A00B0 3C190600 */ lui $t9, 0x600 -/* 0D4BE4 7F0A00B4 AC790000 */ sw $t9, ($v1) -/* 0D4BE8 7F0A00B8 AC680004 */ sw $t0, 4($v1) -/* 0D4BEC 7F0A00BC 02002025 */ move $a0, $s0 -/* 0D4BF0 7F0A00C0 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900 -/* 0D4BF4 7F0A00C4 3C0A0050 */ lui $t2, (0x005049D8 >> 16) # lui $t2, 0x50 -/* 0D4BF8 7F0A00C8 354A49D8 */ ori $t2, (0x005049D8 & 0xFFFF) # ori $t2, $t2, 0x49d8 -/* 0D4BFC 7F0A00CC 3529031D */ ori $t1, (0xB900031D & 0xFFFF) # ori $t1, $t1, 0x31d -/* 0D4C00 7F0A00D0 AC890000 */ sw $t1, ($a0) -/* 0D4C04 7F0A00D4 AC8A0004 */ sw $t2, 4($a0) -/* 0D4C08 7F0A00D8 3C0B8008 */ lui $t3, %hi(max_casings) -/* 0D4C0C 7F0A00DC 8D6BA148 */ lw $t3, %lo(max_casings)($t3) -/* 0D4C10 7F0A00E0 26100008 */ addiu $s0, $s0, 8 -/* 0D4C14 7F0A00E4 0000A825 */ move $s5, $zero -/* 0D4C18 7F0A00E8 19600055 */ blez $t3, .L7F0A0240 -/* 0D4C1C 7F0A00EC 00009825 */ move $s3, $zero -/* 0D4C20 7F0A00F0 3C018005 */ lui $at, %hi(D_800576FC) -/* 0D4C24 7F0A00F4 C43676FC */ lwc1 $f22, %lo(D_800576FC)($at) -/* 0D4C28 7F0A00F8 3C018005 */ lui $at, %hi(D_80057700) -/* 0D4C2C 7F0A00FC 3C1E0430 */ lui $fp, (0x04300040 >> 16) # lui $fp, 0x430 -/* 0D4C30 7F0A0100 3C170102 */ lui $s7, (0x01020040 >> 16) # lui $s7, 0x102 -/* 0D4C34 7F0A0104 3C168008 */ lui $s6, %hi(ptr_ejected_casing_buf) -/* 0D4C38 7F0A0108 26D6A14C */ addiu $s6, %lo(ptr_ejected_casing_buf) # addiu $s6, $s6, -0x5eb4 -/* 0D4C3C 7F0A010C 36F70040 */ ori $s7, (0x01020040 & 0xFFFF) # ori $s7, $s7, 0x40 -/* 0D4C40 7F0A0110 37DE0040 */ ori $fp, (0x04300040 & 0xFFFF) # ori $fp, $fp, 0x40 -/* 0D4C44 7F0A0114 C4347700 */ lwc1 $f20, %lo(D_80057700)($at) -/* 0D4C48 7F0A0118 27B40080 */ addiu $s4, $sp, 0x80 -/* 0D4C4C 7F0A011C 8ECC0000 */ lw $t4, ($s6) -.L7F0A0120: -/* 0D4C50 7F0A0120 01931021 */ addu $v0, $t4, $s3 -/* 0D4C54 7F0A0124 8C4D0000 */ lw $t5, ($v0) -/* 0D4C58 7F0A0128 24440004 */ addiu $a0, $v0, 4 -/* 0D4C5C 7F0A012C 24450010 */ addiu $a1, $v0, 0x10 -/* 0D4C60 7F0A0130 19A0003C */ blez $t5, .L7F0A0224 -/* 0D4C64 7F0A0134 00000000 */ nop -/* 0D4C68 7F0A0138 0FC1624B */ jal sub_GAME_7F05892C -/* 0D4C6C 7F0A013C 02803025 */ move $a2, $s4 -/* 0D4C70 7F0A0140 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0D4C74 7F0A0144 00000000 */ nop -/* 0D4C78 7F0A0148 00402025 */ move $a0, $v0 -/* 0D4C7C 7F0A014C 0FC16026 */ jal sub_GAME_7F058098 -/* 0D4C80 7F0A0150 02802825 */ move $a1, $s4 -/* 0D4C84 7F0A0154 C7A000B0 */ lwc1 $f0, 0xb0($sp) -/* 0D4C88 7F0A0158 4614003C */ c.lt.s $f0, $f20 -/* 0D4C8C 7F0A015C 00000000 */ nop -/* 0D4C90 7F0A0160 45000030 */ bc1f .L7F0A0224 -/* 0D4C94 7F0A0164 00000000 */ nop -/* 0D4C98 7F0A0168 4600B03C */ c.lt.s $f22, $f0 -/* 0D4C9C 7F0A016C C7A000B4 */ lwc1 $f0, 0xb4($sp) -/* 0D4CA0 7F0A0170 4500002C */ bc1f .L7F0A0224 -/* 0D4CA4 7F0A0174 00000000 */ nop -/* 0D4CA8 7F0A0178 4614003C */ c.lt.s $f0, $f20 -/* 0D4CAC 7F0A017C 00000000 */ nop -/* 0D4CB0 7F0A0180 45000028 */ bc1f .L7F0A0224 -/* 0D4CB4 7F0A0184 00000000 */ nop -/* 0D4CB8 7F0A0188 4600B03C */ c.lt.s $f22, $f0 -/* 0D4CBC 7F0A018C C7A000B8 */ lwc1 $f0, 0xb8($sp) -/* 0D4CC0 7F0A0190 45000024 */ bc1f .L7F0A0224 -/* 0D4CC4 7F0A0194 00000000 */ nop -/* 0D4CC8 7F0A0198 4614003C */ c.lt.s $f0, $f20 -/* 0D4CCC 7F0A019C 00000000 */ nop -/* 0D4CD0 7F0A01A0 45000020 */ bc1f .L7F0A0224 -/* 0D4CD4 7F0A01A4 00000000 */ nop -/* 0D4CD8 7F0A01A8 4600B03C */ c.lt.s $f22, $f0 -/* 0D4CDC 7F0A01AC 00000000 */ nop -/* 0D4CE0 7F0A01B0 4500001C */ bc1f .L7F0A0224 -/* 0D4CE4 7F0A01B4 00000000 */ nop -/* 0D4CE8 7F0A01B8 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0D4CEC 7F0A01BC 00000000 */ nop -/* 0D4CF0 7F0A01C0 00409025 */ move $s2, $v0 -/* 0D4CF4 7F0A01C4 02802025 */ move $a0, $s4 -/* 0D4CF8 7F0A01C8 0FC16327 */ jal sub_GAME_7F058C9C -/* 0D4CFC 7F0A01CC 00402825 */ move $a1, $v0 -/* 0D4D00 7F0A01D0 02008825 */ move $s1, $s0 -/* 0D4D04 7F0A01D4 AE370000 */ sw $s7, ($s1) -/* 0D4D08 7F0A01D8 26100008 */ addiu $s0, $s0, 8 -/* 0D4D0C 7F0A01DC 0C003A2C */ jal osVirtualToPhysical -/* 0D4D10 7F0A01E0 02402025 */ move $a0, $s2 -/* 0D4D14 7F0A01E4 AE220004 */ sw $v0, 4($s1) -/* 0D4D18 7F0A01E8 02009025 */ move $s2, $s0 -/* 0D4D1C 7F0A01EC AE5E0000 */ sw $fp, ($s2) -/* 0D4D20 7F0A01F0 8ECE0000 */ lw $t6, ($s6) -/* 0D4D24 7F0A01F4 26100008 */ addiu $s0, $s0, 8 -/* 0D4D28 7F0A01F8 01D32021 */ addu $a0, $t6, $s3 -/* 0D4D2C 7F0A01FC 0C003A2C */ jal osVirtualToPhysical -/* 0D4D30 7F0A0200 24840038 */ addiu $a0, $a0, 0x38 -/* 0D4D34 7F0A0204 02001825 */ move $v1, $s0 -/* 0D4D38 7F0A0208 AE420004 */ sw $v0, 4($s2) -/* 0D4D3C 7F0A020C 3C0FB100 */ lui $t7, (0xB1000032 >> 16) # lui $t7, 0xb100 -/* 0D4D40 7F0A0210 35EF0032 */ ori $t7, (0xB1000032 & 0xFFFF) # ori $t7, $t7, 0x32 -/* 0D4D44 7F0A0214 24182010 */ li $t8, 8208 -/* 0D4D48 7F0A0218 AC780004 */ sw $t8, 4($v1) -/* 0D4D4C 7F0A021C AC6F0000 */ sw $t7, ($v1) -/* 0D4D50 7F0A0220 26100008 */ addiu $s0, $s0, 8 -.L7F0A0224: -/* 0D4D54 7F0A0224 3C198008 */ lui $t9, %hi(max_casings) -/* 0D4D58 7F0A0228 8F39A148 */ lw $t9, %lo(max_casings)($t9) -/* 0D4D5C 7F0A022C 26B50001 */ addiu $s5, $s5, 1 -/* 0D4D60 7F0A0230 26730078 */ addiu $s3, $s3, 0x78 -/* 0D4D64 7F0A0234 02B9082A */ slt $at, $s5, $t9 -/* 0D4D68 7F0A0238 5420FFB9 */ bnezl $at, .L7F0A0120 -/* 0D4D6C 7F0A023C 8ECC0000 */ lw $t4, ($s6) -.L7F0A0240: -/* 0D4D70 7F0A0240 8FBF004C */ lw $ra, 0x4c($sp) -/* 0D4D74 7F0A0244 02001025 */ move $v0, $s0 -/* 0D4D78 7F0A0248 8FB00028 */ lw $s0, 0x28($sp) -/* 0D4D7C 7F0A024C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D4D80 7F0A0250 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D4D84 7F0A0254 8FB1002C */ lw $s1, 0x2c($sp) -/* 0D4D88 7F0A0258 8FB20030 */ lw $s2, 0x30($sp) -/* 0D4D8C 7F0A025C 8FB30034 */ lw $s3, 0x34($sp) -/* 0D4D90 7F0A0260 8FB40038 */ lw $s4, 0x38($sp) -/* 0D4D94 7F0A0264 8FB5003C */ lw $s5, 0x3c($sp) -/* 0D4D98 7F0A0268 8FB60040 */ lw $s6, 0x40($sp) -/* 0D4D9C 7F0A026C 8FB70044 */ lw $s7, 0x44($sp) -/* 0D4DA0 7F0A0270 8FBE0048 */ lw $fp, 0x48($sp) -/* 0D4DA4 7F0A0274 03E00008 */ jr $ra -/* 0D4DA8 7F0A0278 27BD00C0 */ addiu $sp, $sp, 0xc0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A027C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057704 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80057708 -.word 0x3e4ccccd /*0.2*/ -glabel D_8005770C -.word 0x3f4ccccd /*0.80000001*/ -.text -glabel sub_GAME_7F0A027C -/* 0D4DAC 7F0A027C 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0D4DB0 7F0A0280 3C0E8004 */ lui $t6, %hi(D_80040920) -/* 0D4DB4 7F0A0284 AFBF0034 */ sw $ra, 0x34($sp) -/* 0D4DB8 7F0A0288 AFB40030 */ sw $s4, 0x30($sp) -/* 0D4DBC 7F0A028C AFB3002C */ sw $s3, 0x2c($sp) -/* 0D4DC0 7F0A0290 AFB20028 */ sw $s2, 0x28($sp) -/* 0D4DC4 7F0A0294 AFB10024 */ sw $s1, 0x24($sp) -/* 0D4DC8 7F0A0298 AFB00020 */ sw $s0, 0x20($sp) -/* 0D4DCC 7F0A029C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D4DD0 7F0A02A0 AFA60070 */ sw $a2, 0x70($sp) -/* 0D4DD4 7F0A02A4 25CE0920 */ addiu $t6, %lo(D_80040920) # addiu $t6, $t6, 0x920 -/* 0D4DD8 7F0A02A8 8DC10000 */ lw $at, ($t6) -/* 0D4DDC 7F0A02AC 27B30058 */ addiu $s3, $sp, 0x58 -/* 0D4DE0 7F0A02B0 4485A000 */ mtc1 $a1, $f20 -/* 0D4DE4 7F0A02B4 AE610000 */ sw $at, ($s3) -/* 0D4DE8 7F0A02B8 8DD90004 */ lw $t9, 4($t6) -/* 0D4DEC 7F0A02BC 0080A025 */ move $s4, $a0 -/* 0D4DF0 7F0A02C0 AE790004 */ sw $t9, 4($s3) -/* 0D4DF4 7F0A02C4 8DC10008 */ lw $at, 8($t6) -/* 0D4DF8 7F0A02C8 AE610008 */ sw $at, 8($s3) -/* 0D4DFC 7F0A02CC 8DD9000C */ lw $t9, 0xc($t6) -/* 0D4E00 7F0A02D0 0C002914 */ jal get_random_value -/* 0D4E04 7F0A02D4 AE79000C */ sw $t9, 0xc($s3) -/* 0D4E08 7F0A02D8 44822000 */ mtc1 $v0, $f4 -/* 0D4E0C 7F0A02DC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D4E10 7F0A02E0 04410004 */ bgez $v0, .L7F0A02F4 -/* 0D4E14 7F0A02E4 468021A0 */ cvt.s.w $f6, $f4 -/* 0D4E18 7F0A02E8 44814000 */ mtc1 $at, $f8 -/* 0D4E1C 7F0A02EC 00000000 */ nop -/* 0D4E20 7F0A02F0 46083180 */ add.s $f6, $f6, $f8 -.L7F0A02F4: -/* 0D4E24 7F0A02F4 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D4E28 7F0A02F8 44815000 */ mtc1 $at, $f10 -/* 0D4E2C 7F0A02FC 3C018005 */ lui $at, %hi(D_80057704) -/* 0D4E30 7F0A0300 C4327704 */ lwc1 $f18, %lo(D_80057704)($at) -/* 0D4E34 7F0A0304 460A3402 */ mul.s $f16, $f6, $f10 -/* 0D4E38 7F0A0308 00000000 */ nop -/* 0D4E3C 7F0A030C 46128102 */ mul.s $f4, $f16, $f18 -/* 0D4E40 7F0A0310 0C002914 */ jal get_random_value -/* 0D4E44 7F0A0314 E7A40054 */ swc1 $f4, 0x54($sp) -/* 0D4E48 7F0A0318 24010050 */ li $at, 80 -/* 0D4E4C 7F0A031C 0041001B */ divu $zero, $v0, $at -/* 0D4E50 7F0A0320 00004010 */ mfhi $t0 -/* 0D4E54 7F0A0324 240900FF */ li $t1, 255 -/* 0D4E58 7F0A0328 01285023 */ subu $t2, $t1, $t0 -/* 0D4E5C 7F0A032C A3AA004B */ sb $t2, 0x4b($sp) -/* 0D4E60 7F0A0330 0FC2F285 */ jal sub_GAME_7F0BCA14 -/* 0D4E64 7F0A0334 87A40072 */ lh $a0, 0x72($sp) -/* 0D4E68 7F0A0338 0FC26919 */ jal get_num_players -/* 0D4E6C 7F0A033C 00408025 */ move $s0, $v0 -/* 0D4E70 7F0A0340 28410002 */ slti $at, $v0, 2 -/* 0D4E74 7F0A0344 102001D2 */ beqz $at, .L7F0A0A90 -/* 0D4E78 7F0A0348 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0D4E7C 7F0A034C 44810000 */ mtc1 $at, $f0 -/* 0D4E80 7F0A0350 00000000 */ nop -/* 0D4E84 7F0A0354 4614003C */ c.lt.s $f0, $f20 -/* 0D4E88 7F0A0358 00000000 */ nop -/* 0D4E8C 7F0A035C 45000002 */ bc1f .L7F0A0368 -/* 0D4E90 7F0A0360 00000000 */ nop -/* 0D4E94 7F0A0364 46000506 */ mov.s $f20, $f0 -.L7F0A0368: -/* 0D4E98 7F0A0368 0C002914 */ jal get_random_value -/* 0D4E9C 7F0A036C 00000000 */ nop -/* 0D4EA0 7F0A0370 44824000 */ mtc1 $v0, $f8 -/* 0D4EA4 7F0A0374 04410005 */ bgez $v0, .L7F0A038C -/* 0D4EA8 7F0A0378 468041A0 */ cvt.s.w $f6, $f8 -/* 0D4EAC 7F0A037C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D4EB0 7F0A0380 44815000 */ mtc1 $at, $f10 -/* 0D4EB4 7F0A0384 00000000 */ nop -/* 0D4EB8 7F0A0388 460A3180 */ add.s $f6, $f6, $f10 -.L7F0A038C: -/* 0D4EBC 7F0A038C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D4EC0 7F0A0390 44818000 */ mtc1 $at, $f16 -/* 0D4EC4 7F0A0394 3C018005 */ lui $at, %hi(D_80057708) -/* 0D4EC8 7F0A0398 C4247708 */ lwc1 $f4, %lo(D_80057708)($at) -/* 0D4ECC 7F0A039C 46103482 */ mul.s $f18, $f6, $f16 -/* 0D4ED0 7F0A03A0 3C018005 */ lui $at, %hi(D_8005770C) -/* 0D4ED4 7F0A03A4 C42A770C */ lwc1 $f10, %lo(D_8005770C)($at) -/* 0D4ED8 7F0A03A8 46122202 */ mul.s $f8, $f4, $f18 -/* 0D4EDC 7F0A03AC 46085180 */ add.s $f6, $f10, $f8 -/* 0D4EE0 7F0A03B0 4606A502 */ mul.s $f20, $f20, $f6 -/* 0D4EE4 7F0A03B4 0FC2D20F */ jal get_room_data_float1 -/* 0D4EE8 7F0A03B8 00000000 */ nop -/* 0D4EEC 7F0A03BC C6900000 */ lwc1 $f16, ($s4) -/* 0D4EF0 7F0A03C0 C6120000 */ lwc1 $f18, ($s0) -/* 0D4EF4 7F0A03C4 46008102 */ mul.s $f4, $f16, $f0 -/* 0D4EF8 7F0A03C8 46122281 */ sub.s $f10, $f4, $f18 -/* 0D4EFC 7F0A03CC 0FC2D20F */ jal get_room_data_float1 -/* 0D4F00 7F0A03D0 E68A0000 */ swc1 $f10, ($s4) -/* 0D4F04 7F0A03D4 C6880004 */ lwc1 $f8, 4($s4) -/* 0D4F08 7F0A03D8 C6100004 */ lwc1 $f16, 4($s0) -/* 0D4F0C 7F0A03DC 46004182 */ mul.s $f6, $f8, $f0 -/* 0D4F10 7F0A03E0 46103101 */ sub.s $f4, $f6, $f16 -/* 0D4F14 7F0A03E4 0FC2D20F */ jal get_room_data_float1 -/* 0D4F18 7F0A03E8 E6840004 */ swc1 $f4, 4($s4) -/* 0D4F1C 7F0A03EC C6920008 */ lwc1 $f18, 8($s4) -/* 0D4F20 7F0A03F0 C6080008 */ lwc1 $f8, 8($s0) -/* 0D4F24 7F0A03F4 46009282 */ mul.s $f10, $f18, $f0 -/* 0D4F28 7F0A03F8 46085181 */ sub.s $f6, $f10, $f8 -/* 0D4F2C 7F0A03FC 0FC2D20F */ jal get_room_data_float1 -/* 0D4F30 7F0A0400 E6860008 */ swc1 $f6, 8($s4) -/* 0D4F34 7F0A0404 4600A502 */ mul.s $f20, $f20, $f0 -/* 0D4F38 7F0A0408 0FC15FA8 */ jal cosf -/* 0D4F3C 7F0A040C C7AC0054 */ lwc1 $f12, 0x54($sp) -/* 0D4F40 7F0A0410 46140402 */ mul.s $f16, $f0, $f20 -/* 0D4F44 7F0A0414 C7AC0054 */ lwc1 $f12, 0x54($sp) -/* 0D4F48 7F0A0418 0FC15FAB */ jal sinf -/* 0D4F4C 7F0A041C E7B00050 */ swc1 $f16, 0x50($sp) -/* 0D4F50 7F0A0420 3C128004 */ lui $s2, %hi(D_8004017C+0x688) -/* 0D4F54 7F0A0424 26520804 */ addiu $s2, %lo(D_8004017C+0x688) # addiu $s2, $s2, 0x804 -/* 0D4F58 7F0A0428 8E4D0000 */ lw $t5, ($s2) -/* 0D4F5C 7F0A042C 24110058 */ li $s1, 88 -/* 0D4F60 7F0A0430 46140082 */ mul.s $f2, $f0, $f20 -/* 0D4F64 7F0A0434 3C108008 */ lui $s0, %hi(ptr_scorch_buf) -/* 0D4F68 7F0A0438 01B10019 */ multu $t5, $s1 -/* 0D4F6C 7F0A043C 2610A150 */ addiu $s0, %lo(ptr_scorch_buf) # addiu $s0, $s0, -0x5eb0 -/* 0D4F70 7F0A0440 8E0C0000 */ lw $t4, ($s0) -/* 0D4F74 7F0A0444 87AB0072 */ lh $t3, 0x72($sp) -/* 0D4F78 7F0A0448 E7A2004C */ swc1 $f2, 0x4c($sp) -/* 0D4F7C 7F0A044C 0000C012 */ mflo $t8 -/* 0D4F80 7F0A0450 01987821 */ addu $t7, $t4, $t8 -/* 0D4F84 7F0A0454 A5EB0000 */ sh $t3, ($t7) -/* 0D4F88 7F0A0458 8E590000 */ lw $t9, ($s2) -/* 0D4F8C 7F0A045C 8E0E0000 */ lw $t6, ($s0) -/* 0D4F90 7F0A0460 C6840000 */ lwc1 $f4, ($s4) -/* 0D4F94 7F0A0464 03310019 */ multu $t9, $s1 -/* 0D4F98 7F0A0468 00004812 */ mflo $t1 -/* 0D4F9C 7F0A046C 01C94021 */ addu $t0, $t6, $t1 -/* 0D4FA0 7F0A0470 E5040004 */ swc1 $f4, 4($t0) -/* 0D4FA4 7F0A0474 8E4D0000 */ lw $t5, ($s2) -/* 0D4FA8 7F0A0478 8E0A0000 */ lw $t2, ($s0) -/* 0D4FAC 7F0A047C C6920004 */ lwc1 $f18, 4($s4) -/* 0D4FB0 7F0A0480 01B10019 */ multu $t5, $s1 -/* 0D4FB4 7F0A0484 00006012 */ mflo $t4 -/* 0D4FB8 7F0A0488 014CC021 */ addu $t8, $t2, $t4 -/* 0D4FBC 7F0A048C E7120008 */ swc1 $f18, 8($t8) -/* 0D4FC0 7F0A0490 8E4F0000 */ lw $t7, ($s2) -/* 0D4FC4 7F0A0494 8E0B0000 */ lw $t3, ($s0) -/* 0D4FC8 7F0A0498 C68A0008 */ lwc1 $f10, 8($s4) -/* 0D4FCC 7F0A049C 01F10019 */ multu $t7, $s1 -/* 0D4FD0 7F0A04A0 0000C812 */ mflo $t9 -/* 0D4FD4 7F0A04A4 01797021 */ addu $t6, $t3, $t9 -/* 0D4FD8 7F0A04A8 E5CA000C */ swc1 $f10, 0xc($t6) -/* 0D4FDC 7F0A04AC 8E480000 */ lw $t0, ($s2) -/* 0D4FE0 7F0A04B0 8E090000 */ lw $t1, ($s0) -/* 0D4FE4 7F0A04B4 01110019 */ multu $t0, $s1 -/* 0D4FE8 7F0A04B8 00006812 */ mflo $t5 -/* 0D4FEC 7F0A04BC 012D5021 */ addu $t2, $t1, $t5 -/* 0D4FF0 7F0A04C0 E5540010 */ swc1 $f20, 0x10($t2) -/* 0D4FF4 7F0A04C4 8E580000 */ lw $t8, ($s2) -/* 0D4FF8 7F0A04C8 8E0C0000 */ lw $t4, ($s0) -/* 0D4FFC 7F0A04CC 8E610000 */ lw $at, ($s3) -/* 0D5000 7F0A04D0 03110019 */ multu $t8, $s1 -/* 0D5004 7F0A04D4 00007812 */ mflo $t7 -/* 0D5008 7F0A04D8 018F5821 */ addu $t3, $t4, $t7 -/* 0D500C 7F0A04DC AD610018 */ sw $at, 0x18($t3) -/* 0D5010 7F0A04E0 8E6E0004 */ lw $t6, 4($s3) -/* 0D5014 7F0A04E4 AD6E001C */ sw $t6, 0x1c($t3) -/* 0D5018 7F0A04E8 8E610008 */ lw $at, 8($s3) -/* 0D501C 7F0A04EC AD610020 */ sw $at, 0x20($t3) -/* 0D5020 7F0A04F0 8E6E000C */ lw $t6, 0xc($s3) -/* 0D5024 7F0A04F4 AD6E0024 */ sw $t6, 0x24($t3) -/* 0D5028 7F0A04F8 8E490000 */ lw $t1, ($s2) -/* 0D502C 7F0A04FC 8E080000 */ lw $t0, ($s0) -/* 0D5030 7F0A0500 8E610000 */ lw $at, ($s3) -/* 0D5034 7F0A0504 01310019 */ multu $t1, $s1 -/* 0D5038 7F0A0508 00006812 */ mflo $t5 -/* 0D503C 7F0A050C 010D5021 */ addu $t2, $t0, $t5 -/* 0D5040 7F0A0510 AD410028 */ sw $at, 0x28($t2) -/* 0D5044 7F0A0514 8E6C0004 */ lw $t4, 4($s3) -/* 0D5048 7F0A0518 AD4C002C */ sw $t4, 0x2c($t2) -/* 0D504C 7F0A051C 8E610008 */ lw $at, 8($s3) -/* 0D5050 7F0A0520 AD410030 */ sw $at, 0x30($t2) -/* 0D5054 7F0A0524 8E6C000C */ lw $t4, 0xc($s3) -/* 0D5058 7F0A0528 AD4C0034 */ sw $t4, 0x34($t2) -/* 0D505C 7F0A052C 8E590000 */ lw $t9, ($s2) -/* 0D5060 7F0A0530 8E0F0000 */ lw $t7, ($s0) -/* 0D5064 7F0A0534 8E610000 */ lw $at, ($s3) -/* 0D5068 7F0A0538 03310019 */ multu $t9, $s1 -/* 0D506C 7F0A053C 00005812 */ mflo $t3 -/* 0D5070 7F0A0540 01EB7021 */ addu $t6, $t7, $t3 -/* 0D5074 7F0A0544 ADC10038 */ sw $at, 0x38($t6) -/* 0D5078 7F0A0548 8E680004 */ lw $t0, 4($s3) -/* 0D507C 7F0A054C ADC8003C */ sw $t0, 0x3c($t6) -/* 0D5080 7F0A0550 8E610008 */ lw $at, 8($s3) -/* 0D5084 7F0A0554 ADC10040 */ sw $at, 0x40($t6) -/* 0D5088 7F0A0558 8E68000C */ lw $t0, 0xc($s3) -/* 0D508C 7F0A055C ADC80044 */ sw $t0, 0x44($t6) -/* 0D5090 7F0A0560 8E580000 */ lw $t8, ($s2) -/* 0D5094 7F0A0564 8E0D0000 */ lw $t5, ($s0) -/* 0D5098 7F0A0568 8E610000 */ lw $at, ($s3) -/* 0D509C 7F0A056C 03110019 */ multu $t8, $s1 -/* 0D50A0 7F0A0570 00005012 */ mflo $t2 -/* 0D50A4 7F0A0574 01AA6021 */ addu $t4, $t5, $t2 -/* 0D50A8 7F0A0578 AD810048 */ sw $at, 0x48($t4) -/* 0D50AC 7F0A057C 8E6F0004 */ lw $t7, 4($s3) -/* 0D50B0 7F0A0580 AD8F004C */ sw $t7, 0x4c($t4) -/* 0D50B4 7F0A0584 8E610008 */ lw $at, 8($s3) -/* 0D50B8 7F0A0588 AD810050 */ sw $at, 0x50($t4) -/* 0D50BC 7F0A058C 8E6F000C */ lw $t7, 0xc($s3) -/* 0D50C0 7F0A0590 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D50C4 7F0A0594 44815000 */ mtc1 $at, $f10 -/* 0D50C8 7F0A0598 AD8F0054 */ sw $t7, 0x54($t4) -/* 0D50CC 7F0A059C 8E480000 */ lw $t0, ($s2) -/* 0D50D0 7F0A05A0 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 0D50D4 7F0A05A4 C6880000 */ lwc1 $f8, ($s4) -/* 0D50D8 7F0A05A8 01110019 */ multu $t0, $s1 -/* 0D50DC 7F0A05AC 8E0E0000 */ lw $t6, ($s0) -/* 0D50E0 7F0A05B0 46064400 */ add.s $f16, $f8, $f6 -/* 0D50E4 7F0A05B4 4600810D */ trunc.w.s $f4, $f16 -/* 0D50E8 7F0A05B8 44092000 */ mfc1 $t1, $f4 -/* 0D50EC 7F0A05BC 0000C012 */ mflo $t8 -/* 0D50F0 7F0A05C0 01D86821 */ addu $t5, $t6, $t8 -/* 0D50F4 7F0A05C4 A5A90018 */ sh $t1, 0x18($t5) -/* 0D50F8 7F0A05C8 8E4F0000 */ lw $t7, ($s2) -/* 0D50FC 7F0A05CC C6920004 */ lwc1 $f18, 4($s4) -/* 0D5100 7F0A05D0 8E0C0000 */ lw $t4, ($s0) -/* 0D5104 7F0A05D4 01F10019 */ multu $t7, $s1 -/* 0D5108 7F0A05D8 460A9200 */ add.s $f8, $f18, $f10 -/* 0D510C 7F0A05DC 3C0E8009 */ lui $t6, %hi(genericimage) -/* 0D5110 7F0A05E0 4600418D */ trunc.w.s $f6, $f8 -/* 0D5114 7F0A05E4 44193000 */ mfc1 $t9, $f6 -/* 0D5118 7F0A05E8 00005812 */ mflo $t3 -/* 0D511C 7F0A05EC 018B4021 */ addu $t0, $t4, $t3 -/* 0D5120 7F0A05F0 A519001A */ sh $t9, 0x1a($t0) -/* 0D5124 7F0A05F4 8E4D0000 */ lw $t5, ($s2) -/* 0D5128 7F0A05F8 C6900008 */ lwc1 $f16, 8($s4) -/* 0D512C 7F0A05FC 8E090000 */ lw $t1, ($s0) -/* 0D5130 7F0A0600 01B10019 */ multu $t5, $s1 -/* 0D5134 7F0A0604 46028100 */ add.s $f4, $f16, $f2 -/* 0D5138 7F0A0608 4600248D */ trunc.w.s $f18, $f4 -/* 0D513C 7F0A060C 44189000 */ mfc1 $t8, $f18 -/* 0D5140 7F0A0610 00005012 */ mflo $t2 -/* 0D5144 7F0A0614 012A7821 */ addu $t7, $t1, $t2 -/* 0D5148 7F0A0618 A5F8001C */ sh $t8, 0x1c($t7) -/* 0D514C 7F0A061C 8E4B0000 */ lw $t3, ($s2) -/* 0D5150 7F0A0620 8E0C0000 */ lw $t4, ($s0) -/* 0D5154 7F0A0624 01710019 */ multu $t3, $s1 -/* 0D5158 7F0A0628 0000C812 */ mflo $t9 -/* 0D515C 7F0A062C 01994021 */ addu $t0, $t4, $t9 -/* 0D5160 7F0A0630 A5000020 */ sh $zero, 0x20($t0) -/* 0D5164 7F0A0634 8E580000 */ lw $t8, ($s2) -/* 0D5168 7F0A0638 8DCED0B8 */ lw $t6, %lo(genericimage)($t6) -/* 0D516C 7F0A063C 8E0A0000 */ lw $t2, ($s0) -/* 0D5170 7F0A0640 03110019 */ multu $t8, $s1 -/* 0D5174 7F0A0644 91CD0004 */ lbu $t5, 4($t6) -/* 0D5178 7F0A0648 000D4940 */ sll $t1, $t5, 5 -/* 0D517C 7F0A064C 00007812 */ mflo $t7 -/* 0D5180 7F0A0650 014F5821 */ addu $t3, $t2, $t7 -/* 0D5184 7F0A0654 0C002914 */ jal get_random_value -/* 0D5188 7F0A0658 A5690022 */ sh $t1, 0x22($t3) -/* 0D518C 7F0A065C 24010032 */ li $at, 50 -/* 0D5190 7F0A0660 0041001B */ divu $zero, $v0, $at -/* 0D5194 7F0A0664 00009810 */ mfhi $s3 -/* 0D5198 7F0A0668 8E590000 */ lw $t9, ($s2) -/* 0D519C 7F0A066C 8E0C0000 */ lw $t4, ($s0) -/* 0D51A0 7F0A0670 C7B4004C */ lwc1 $f20, 0x4c($sp) -/* 0D51A4 7F0A0674 03310019 */ multu $t9, $s1 -/* 0D51A8 7F0A0678 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D51AC 7F0A067C 44812000 */ mtc1 $at, $f4 -/* 0D51B0 7F0A0680 00004012 */ mflo $t0 -/* 0D51B4 7F0A0684 01887021 */ addu $t6, $t4, $t0 -/* 0D51B8 7F0A0688 A1D30026 */ sb $s3, 0x26($t6) -/* 0D51BC 7F0A068C 8E580000 */ lw $t8, ($s2) -/* 0D51C0 7F0A0690 8E0D0000 */ lw $t5, ($s0) -/* 0D51C4 7F0A0694 03110019 */ multu $t8, $s1 -/* 0D51C8 7F0A0698 00005012 */ mflo $t2 -/* 0D51CC 7F0A069C 01AA7821 */ addu $t7, $t5, $t2 -/* 0D51D0 7F0A06A0 A1F30025 */ sb $s3, 0x25($t7) -/* 0D51D4 7F0A06A4 8E4B0000 */ lw $t3, ($s2) -/* 0D51D8 7F0A06A8 8E090000 */ lw $t1, ($s0) -/* 0D51DC 7F0A06AC 01710019 */ multu $t3, $s1 -/* 0D51E0 7F0A06B0 0000C812 */ mflo $t9 -/* 0D51E4 7F0A06B4 01396021 */ addu $t4, $t1, $t9 -/* 0D51E8 7F0A06B8 A1930024 */ sb $s3, 0x24($t4) -/* 0D51EC 7F0A06BC 8E580000 */ lw $t8, ($s2) -/* 0D51F0 7F0A06C0 8E0E0000 */ lw $t6, ($s0) -/* 0D51F4 7F0A06C4 93A8004B */ lbu $t0, 0x4b($sp) -/* 0D51F8 7F0A06C8 03110019 */ multu $t8, $s1 -/* 0D51FC 7F0A06CC 00006812 */ mflo $t5 -/* 0D5200 7F0A06D0 01CD5021 */ addu $t2, $t6, $t5 -/* 0D5204 7F0A06D4 A1480027 */ sb $t0, 0x27($t2) -/* 0D5208 7F0A06D8 8E590000 */ lw $t9, ($s2) -/* 0D520C 7F0A06DC C68A0000 */ lwc1 $f10, ($s4) -/* 0D5210 7F0A06E0 8E090000 */ lw $t1, ($s0) -/* 0D5214 7F0A06E4 03310019 */ multu $t9, $s1 -/* 0D5218 7F0A06E8 46145200 */ add.s $f8, $f10, $f20 -/* 0D521C 7F0A06EC 4600418D */ trunc.w.s $f6, $f8 -/* 0D5220 7F0A06F0 440B3000 */ mfc1 $t3, $f6 -/* 0D5224 7F0A06F4 00006012 */ mflo $t4 -/* 0D5228 7F0A06F8 012CC021 */ addu $t8, $t1, $t4 -/* 0D522C 7F0A06FC A70B0028 */ sh $t3, 0x28($t8) -/* 0D5230 7F0A0700 8E4A0000 */ lw $t2, ($s2) -/* 0D5234 7F0A0704 C6900004 */ lwc1 $f16, 4($s4) -/* 0D5238 7F0A0708 8E080000 */ lw $t0, ($s0) -/* 0D523C 7F0A070C 01510019 */ multu $t2, $s1 -/* 0D5240 7F0A0710 46048480 */ add.s $f18, $f16, $f4 -/* 0D5244 7F0A0714 4600928D */ trunc.w.s $f10, $f18 -/* 0D5248 7F0A0718 440D5000 */ mfc1 $t5, $f10 -/* 0D524C 7F0A071C 00007812 */ mflo $t7 -/* 0D5250 7F0A0720 010FC821 */ addu $t9, $t0, $t7 -/* 0D5254 7F0A0724 A72D002A */ sh $t5, 0x2a($t9) -/* 0D5258 7F0A0728 8E580000 */ lw $t8, ($s2) -/* 0D525C 7F0A072C C7A60050 */ lwc1 $f6, 0x50($sp) -/* 0D5260 7F0A0730 C6880008 */ lwc1 $f8, 8($s4) -/* 0D5264 7F0A0734 03110019 */ multu $t8, $s1 -/* 0D5268 7F0A0738 8E0B0000 */ lw $t3, ($s0) -/* 0D526C 7F0A073C 46064401 */ sub.s $f16, $f8, $f6 -/* 0D5270 7F0A0740 4600810D */ trunc.w.s $f4, $f16 -/* 0D5274 7F0A0744 440C2000 */ mfc1 $t4, $f4 -/* 0D5278 7F0A0748 00007012 */ mflo $t6 -/* 0D527C 7F0A074C 016E5021 */ addu $t2, $t3, $t6 -/* 0D5280 7F0A0750 A54C002C */ sh $t4, 0x2c($t2) -/* 0D5284 7F0A0754 8E4F0000 */ lw $t7, ($s2) -/* 0D5288 7F0A0758 8E080000 */ lw $t0, ($s0) -/* 0D528C 7F0A075C 01F10019 */ multu $t7, $s1 -/* 0D5290 7F0A0760 00006812 */ mflo $t5 -/* 0D5294 7F0A0764 010DC821 */ addu $t9, $t0, $t5 -/* 0D5298 7F0A0768 A7200030 */ sh $zero, 0x30($t9) -/* 0D529C 7F0A076C 8E580000 */ lw $t8, ($s2) -/* 0D52A0 7F0A0770 8E090000 */ lw $t1, ($s0) -/* 0D52A4 7F0A0774 03110019 */ multu $t8, $s1 -/* 0D52A8 7F0A0778 00005812 */ mflo $t3 -/* 0D52AC 7F0A077C 012B7021 */ addu $t6, $t1, $t3 -/* 0D52B0 7F0A0780 0C002914 */ jal get_random_value -/* 0D52B4 7F0A0784 A5C00032 */ sh $zero, 0x32($t6) -/* 0D52B8 7F0A0788 24010032 */ li $at, 50 -/* 0D52BC 7F0A078C 0041001B */ divu $zero, $v0, $at -/* 0D52C0 7F0A0790 00009810 */ mfhi $s3 -/* 0D52C4 7F0A0794 8E4A0000 */ lw $t2, ($s2) -/* 0D52C8 7F0A0798 8E0C0000 */ lw $t4, ($s0) -/* 0D52CC 7F0A079C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D52D0 7F0A07A0 01510019 */ multu $t2, $s1 -/* 0D52D4 7F0A07A4 44812000 */ mtc1 $at, $f4 -/* 0D52D8 7F0A07A8 00007812 */ mflo $t7 -/* 0D52DC 7F0A07AC 018F4021 */ addu $t0, $t4, $t7 -/* 0D52E0 7F0A07B0 A1130036 */ sb $s3, 0x36($t0) -/* 0D52E4 7F0A07B4 8E590000 */ lw $t9, ($s2) -/* 0D52E8 7F0A07B8 8E0D0000 */ lw $t5, ($s0) -/* 0D52EC 7F0A07BC 03310019 */ multu $t9, $s1 -/* 0D52F0 7F0A07C0 0000C012 */ mflo $t8 -/* 0D52F4 7F0A07C4 01B84821 */ addu $t1, $t5, $t8 -/* 0D52F8 7F0A07C8 A1330035 */ sb $s3, 0x35($t1) -/* 0D52FC 7F0A07CC 8E4E0000 */ lw $t6, ($s2) -/* 0D5300 7F0A07D0 8E0B0000 */ lw $t3, ($s0) -/* 0D5304 7F0A07D4 01D10019 */ multu $t6, $s1 -/* 0D5308 7F0A07D8 00005012 */ mflo $t2 -/* 0D530C 7F0A07DC 016A6021 */ addu $t4, $t3, $t2 -/* 0D5310 7F0A07E0 A1930034 */ sb $s3, 0x34($t4) -/* 0D5314 7F0A07E4 8E590000 */ lw $t9, ($s2) -/* 0D5318 7F0A07E8 8E080000 */ lw $t0, ($s0) -/* 0D531C 7F0A07EC 93AF004B */ lbu $t7, 0x4b($sp) -/* 0D5320 7F0A07F0 03310019 */ multu $t9, $s1 -/* 0D5324 7F0A07F4 00006812 */ mflo $t5 -/* 0D5328 7F0A07F8 010DC021 */ addu $t8, $t0, $t5 -/* 0D532C 7F0A07FC A30F0037 */ sb $t7, 0x37($t8) -/* 0D5330 7F0A0800 8E4A0000 */ lw $t2, ($s2) -/* 0D5334 7F0A0804 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 0D5338 7F0A0808 C6920000 */ lwc1 $f18, ($s4) -/* 0D533C 7F0A080C 01510019 */ multu $t2, $s1 -/* 0D5340 7F0A0810 8E0B0000 */ lw $t3, ($s0) -/* 0D5344 7F0A0814 460A9201 */ sub.s $f8, $f18, $f10 -/* 0D5348 7F0A0818 4600418D */ trunc.w.s $f6, $f8 -/* 0D534C 7F0A081C 440E3000 */ mfc1 $t6, $f6 -/* 0D5350 7F0A0820 00006012 */ mflo $t4 -/* 0D5354 7F0A0824 016CC821 */ addu $t9, $t3, $t4 -/* 0D5358 7F0A0828 A72E0038 */ sh $t6, 0x38($t9) -/* 0D535C 7F0A082C 8E580000 */ lw $t8, ($s2) -/* 0D5360 7F0A0830 C6900004 */ lwc1 $f16, 4($s4) -/* 0D5364 7F0A0834 8E0F0000 */ lw $t7, ($s0) -/* 0D5368 7F0A0838 03110019 */ multu $t8, $s1 -/* 0D536C 7F0A083C 46048480 */ add.s $f18, $f16, $f4 -/* 0D5370 7F0A0840 4600928D */ trunc.w.s $f10, $f18 -/* 0D5374 7F0A0844 440D5000 */ mfc1 $t5, $f10 -/* 0D5378 7F0A0848 00004812 */ mflo $t1 -/* 0D537C 7F0A084C 01E95021 */ addu $t2, $t7, $t1 -/* 0D5380 7F0A0850 A54D003A */ sh $t5, 0x3a($t2) -/* 0D5384 7F0A0854 8E590000 */ lw $t9, ($s2) -/* 0D5388 7F0A0858 C6880008 */ lwc1 $f8, 8($s4) -/* 0D538C 7F0A085C 8E0E0000 */ lw $t6, ($s0) -/* 0D5390 7F0A0860 03310019 */ multu $t9, $s1 -/* 0D5394 7F0A0864 46144181 */ sub.s $f6, $f8, $f20 -/* 0D5398 7F0A0868 3C0F8009 */ lui $t7, %hi(genericimage) -/* 0D539C 7F0A086C 4600340D */ trunc.w.s $f16, $f6 -/* 0D53A0 7F0A0870 440C8000 */ mfc1 $t4, $f16 -/* 0D53A4 7F0A0874 00004012 */ mflo $t0 -/* 0D53A8 7F0A0878 01C8C021 */ addu $t8, $t6, $t0 -/* 0D53AC 7F0A087C A70C003C */ sh $t4, 0x3c($t8) -/* 0D53B0 7F0A0880 8E4B0000 */ lw $t3, ($s2) -/* 0D53B4 7F0A0884 8DEFD0B8 */ lw $t7, %lo(genericimage)($t7) -/* 0D53B8 7F0A0888 8E0A0000 */ lw $t2, ($s0) -/* 0D53BC 7F0A088C 01710019 */ multu $t3, $s1 -/* 0D53C0 7F0A0890 91E90005 */ lbu $t1, 5($t7) -/* 0D53C4 7F0A0894 00096940 */ sll $t5, $t1, 5 -/* 0D53C8 7F0A0898 0000C812 */ mflo $t9 -/* 0D53CC 7F0A089C 01597021 */ addu $t6, $t2, $t9 -/* 0D53D0 7F0A08A0 A5CD0040 */ sh $t5, 0x40($t6) -/* 0D53D4 7F0A08A4 8E4C0000 */ lw $t4, ($s2) -/* 0D53D8 7F0A08A8 8E080000 */ lw $t0, ($s0) -/* 0D53DC 7F0A08AC 01910019 */ multu $t4, $s1 -/* 0D53E0 7F0A08B0 0000C012 */ mflo $t8 -/* 0D53E4 7F0A08B4 01187821 */ addu $t7, $t0, $t8 -/* 0D53E8 7F0A08B8 0C002914 */ jal get_random_value -/* 0D53EC 7F0A08BC A5E00042 */ sh $zero, 0x42($t7) -/* 0D53F0 7F0A08C0 24010032 */ li $at, 50 -/* 0D53F4 7F0A08C4 0041001B */ divu $zero, $v0, $at -/* 0D53F8 7F0A08C8 00009810 */ mfhi $s3 -/* 0D53FC 7F0A08CC 8E4B0000 */ lw $t3, ($s2) -/* 0D5400 7F0A08D0 8E090000 */ lw $t1, ($s0) -/* 0D5404 7F0A08D4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D5408 7F0A08D8 01710019 */ multu $t3, $s1 -/* 0D540C 7F0A08DC 44813000 */ mtc1 $at, $f6 -/* 0D5410 7F0A08E0 00005012 */ mflo $t2 -/* 0D5414 7F0A08E4 012AC821 */ addu $t9, $t1, $t2 -/* 0D5418 7F0A08E8 A3330046 */ sb $s3, 0x46($t9) -/* 0D541C 7F0A08EC 8E4E0000 */ lw $t6, ($s2) -/* 0D5420 7F0A08F0 8E0D0000 */ lw $t5, ($s0) -/* 0D5424 7F0A08F4 01D10019 */ multu $t6, $s1 -/* 0D5428 7F0A08F8 00006012 */ mflo $t4 -/* 0D542C 7F0A08FC 01AC4021 */ addu $t0, $t5, $t4 -/* 0D5430 7F0A0900 A1130045 */ sb $s3, 0x45($t0) -/* 0D5434 7F0A0904 8E4F0000 */ lw $t7, ($s2) -/* 0D5438 7F0A0908 8E180000 */ lw $t8, ($s0) -/* 0D543C 7F0A090C 01F10019 */ multu $t7, $s1 -/* 0D5440 7F0A0910 00005812 */ mflo $t3 -/* 0D5444 7F0A0914 030B4821 */ addu $t1, $t8, $t3 -/* 0D5448 7F0A0918 A1330044 */ sb $s3, 0x44($t1) -/* 0D544C 7F0A091C 8E4E0000 */ lw $t6, ($s2) -/* 0D5450 7F0A0920 8E190000 */ lw $t9, ($s0) -/* 0D5454 7F0A0924 93AA004B */ lbu $t2, 0x4b($sp) -/* 0D5458 7F0A0928 01D10019 */ multu $t6, $s1 -/* 0D545C 7F0A092C 00006812 */ mflo $t5 -/* 0D5460 7F0A0930 032D6021 */ addu $t4, $t9, $t5 -/* 0D5464 7F0A0934 A18A0047 */ sb $t2, 0x47($t4) -/* 0D5468 7F0A0938 8E4B0000 */ lw $t3, ($s2) -/* 0D546C 7F0A093C C6840000 */ lwc1 $f4, ($s4) -/* 0D5470 7F0A0940 8E180000 */ lw $t8, ($s0) -/* 0D5474 7F0A0944 01710019 */ multu $t3, $s1 -/* 0D5478 7F0A0948 46142481 */ sub.s $f18, $f4, $f20 -/* 0D547C 7F0A094C 4600928D */ trunc.w.s $f10, $f18 -/* 0D5480 7F0A0950 440F5000 */ mfc1 $t7, $f10 -/* 0D5484 7F0A0954 00004812 */ mflo $t1 -/* 0D5488 7F0A0958 03097021 */ addu $t6, $t8, $t1 -/* 0D548C 7F0A095C A5CF0048 */ sh $t7, 0x48($t6) -/* 0D5490 7F0A0960 8E4C0000 */ lw $t4, ($s2) -/* 0D5494 7F0A0964 C6880004 */ lwc1 $f8, 4($s4) -/* 0D5498 7F0A0968 8E0A0000 */ lw $t2, ($s0) -/* 0D549C 7F0A096C 01910019 */ multu $t4, $s1 -/* 0D54A0 7F0A0970 46064400 */ add.s $f16, $f8, $f6 -/* 0D54A4 7F0A0974 4600810D */ trunc.w.s $f4, $f16 -/* 0D54A8 7F0A0978 440D2000 */ mfc1 $t5, $f4 -/* 0D54AC 7F0A097C 00004012 */ mflo $t0 -/* 0D54B0 7F0A0980 01485821 */ addu $t3, $t2, $t0 -/* 0D54B4 7F0A0984 A56D004A */ sh $t5, 0x4a($t3) -/* 0D54B8 7F0A0988 8E4E0000 */ lw $t6, ($s2) -/* 0D54BC 7F0A098C C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 0D54C0 7F0A0990 C6920008 */ lwc1 $f18, 8($s4) -/* 0D54C4 7F0A0994 01D10019 */ multu $t6, $s1 -/* 0D54C8 7F0A0998 8E0F0000 */ lw $t7, ($s0) -/* 0D54CC 7F0A099C 460A9200 */ add.s $f8, $f18, $f10 -/* 0D54D0 7F0A09A0 3C0A8009 */ lui $t2, %hi(genericimage) -/* 0D54D4 7F0A09A4 4600418D */ trunc.w.s $f6, $f8 -/* 0D54D8 7F0A09A8 44093000 */ mfc1 $t1, $f6 -/* 0D54DC 7F0A09AC 0000C812 */ mflo $t9 -/* 0D54E0 7F0A09B0 01F96021 */ addu $t4, $t7, $t9 -/* 0D54E4 7F0A09B4 A589004C */ sh $t1, 0x4c($t4) -/* 0D54E8 7F0A09B8 8E580000 */ lw $t8, ($s2) -/* 0D54EC 7F0A09BC 8D4AD0B8 */ lw $t2, %lo(genericimage)($t2) -/* 0D54F0 7F0A09C0 8E0B0000 */ lw $t3, ($s0) -/* 0D54F4 7F0A09C4 03110019 */ multu $t8, $s1 -/* 0D54F8 7F0A09C8 91480004 */ lbu $t0, 4($t2) -/* 0D54FC 7F0A09CC 3C198009 */ lui $t9, %hi(genericimage) -/* 0D5500 7F0A09D0 00086940 */ sll $t5, $t0, 5 -/* 0D5504 7F0A09D4 00007012 */ mflo $t6 -/* 0D5508 7F0A09D8 016E7821 */ addu $t7, $t3, $t6 -/* 0D550C 7F0A09DC A5ED0050 */ sh $t5, 0x50($t7) -/* 0D5510 7F0A09E0 8E480000 */ lw $t0, ($s2) -/* 0D5514 7F0A09E4 8F39D0B8 */ lw $t9, %lo(genericimage)($t9) -/* 0D5518 7F0A09E8 8E0A0000 */ lw $t2, ($s0) -/* 0D551C 7F0A09EC 01110019 */ multu $t0, $s1 -/* 0D5520 7F0A09F0 93290005 */ lbu $t1, 5($t9) -/* 0D5524 7F0A09F4 00096140 */ sll $t4, $t1, 5 -/* 0D5528 7F0A09F8 0000C012 */ mflo $t8 -/* 0D552C 7F0A09FC 01585821 */ addu $t3, $t2, $t8 -/* 0D5530 7F0A0A00 0C002914 */ jal get_random_value -/* 0D5534 7F0A0A04 A56C0052 */ sh $t4, 0x52($t3) -/* 0D5538 7F0A0A08 24010032 */ li $at, 50 -/* 0D553C 7F0A0A0C 0041001B */ divu $zero, $v0, $at -/* 0D5540 7F0A0A10 00009810 */ mfhi $s3 -/* 0D5544 7F0A0A14 8E4D0000 */ lw $t5, ($s2) -/* 0D5548 7F0A0A18 8E0E0000 */ lw $t6, ($s0) -/* 0D554C 7F0A0A1C 01B10019 */ multu $t5, $s1 -/* 0D5550 7F0A0A20 00007812 */ mflo $t7 -/* 0D5554 7F0A0A24 01CFC821 */ addu $t9, $t6, $t7 -/* 0D5558 7F0A0A28 A3330056 */ sb $s3, 0x56($t9) -/* 0D555C 7F0A0A2C 8E480000 */ lw $t0, ($s2) -/* 0D5560 7F0A0A30 8E090000 */ lw $t1, ($s0) -/* 0D5564 7F0A0A34 01110019 */ multu $t0, $s1 -/* 0D5568 7F0A0A38 00005012 */ mflo $t2 -/* 0D556C 7F0A0A3C 012AC021 */ addu $t8, $t1, $t2 -/* 0D5570 7F0A0A40 A3130055 */ sb $s3, 0x55($t8) -/* 0D5574 7F0A0A44 8E4B0000 */ lw $t3, ($s2) -/* 0D5578 7F0A0A48 8E0C0000 */ lw $t4, ($s0) -/* 0D557C 7F0A0A4C 01710019 */ multu $t3, $s1 -/* 0D5580 7F0A0A50 00006812 */ mflo $t5 -/* 0D5584 7F0A0A54 018D7021 */ addu $t6, $t4, $t5 -/* 0D5588 7F0A0A58 A1D30054 */ sb $s3, 0x54($t6) -/* 0D558C 7F0A0A5C 8E480000 */ lw $t0, ($s2) -/* 0D5590 7F0A0A60 8E190000 */ lw $t9, ($s0) -/* 0D5594 7F0A0A64 93AF004B */ lbu $t7, 0x4b($sp) -/* 0D5598 7F0A0A68 01110019 */ multu $t0, $s1 -/* 0D559C 7F0A0A6C 00004812 */ mflo $t1 -/* 0D55A0 7F0A0A70 03295021 */ addu $t2, $t9, $t1 -/* 0D55A4 7F0A0A74 A14F0057 */ sb $t7, 0x57($t2) -/* 0D55A8 7F0A0A78 8E580000 */ lw $t8, ($s2) -/* 0D55AC 7F0A0A7C 270B0001 */ addiu $t3, $t8, 1 -/* 0D55B0 7F0A0A80 29610014 */ slti $at, $t3, 0x14 -/* 0D55B4 7F0A0A84 14200002 */ bnez $at, .L7F0A0A90 -/* 0D55B8 7F0A0A88 AE4B0000 */ sw $t3, ($s2) -/* 0D55BC 7F0A0A8C AE400000 */ sw $zero, ($s2) -.L7F0A0A90: -/* 0D55C0 7F0A0A90 8FBF0034 */ lw $ra, 0x34($sp) -/* 0D55C4 7F0A0A94 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D55C8 7F0A0A98 8FB00020 */ lw $s0, 0x20($sp) -/* 0D55CC 7F0A0A9C 8FB10024 */ lw $s1, 0x24($sp) -/* 0D55D0 7F0A0AA0 8FB20028 */ lw $s2, 0x28($sp) -/* 0D55D4 7F0A0AA4 8FB3002C */ lw $s3, 0x2c($sp) -/* 0D55D8 7F0A0AA8 8FB40030 */ lw $s4, 0x30($sp) -/* 0D55DC 7F0A0AAC 03E00008 */ jr $ra -/* 0D55E0 7F0A0AB0 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A0AB4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A0AB4 -/* 0D55E4 7F0A0AB4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0D55E8 7F0A0AB8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0D55EC 7F0A0ABC AFB30028 */ sw $s3, 0x28($sp) -/* 0D55F0 7F0A0AC0 AFB70038 */ sw $s7, 0x38($sp) -/* 0D55F4 7F0A0AC4 AFB60034 */ sw $s6, 0x34($sp) -/* 0D55F8 7F0A0AC8 AFB50030 */ sw $s5, 0x30($sp) -/* 0D55FC 7F0A0ACC AFB4002C */ sw $s4, 0x2c($sp) -/* 0D5600 7F0A0AD0 AFB20024 */ sw $s2, 0x24($sp) -/* 0D5604 7F0A0AD4 AFB10020 */ sw $s1, 0x20($sp) -/* 0D5608 7F0A0AD8 AFB0001C */ sw $s0, 0x1c($sp) -/* 0D560C 7F0A0ADC AFA40040 */ sw $a0, 0x40($sp) -/* 0D5610 7F0A0AE0 0FC26919 */ jal get_num_players -/* 0D5614 7F0A0AE4 2413FFFF */ li $s3, -1 -/* 0D5618 7F0A0AE8 28410002 */ slti $at, $v0, 2 -/* 0D561C 7F0A0AEC 14200003 */ bnez $at, .L7F0A0AFC -/* 0D5620 7F0A0AF0 8FAE0040 */ lw $t6, 0x40($sp) -/* 0D5624 7F0A0AF4 10000054 */ b .L7F0A0C48 -/* 0D5628 7F0A0AF8 8FA20040 */ lw $v0, 0x40($sp) -.L7F0A0AFC: -/* 0D562C 7F0A0AFC 25CF0008 */ addiu $t7, $t6, 8 -/* 0D5630 7F0A0B00 AFAF0040 */ sw $t7, 0x40($sp) -/* 0D5634 7F0A0B04 3C18B700 */ lui $t8, 0xb700 -/* 0D5638 7F0A0B08 24192000 */ li $t9, 8192 -/* 0D563C 7F0A0B0C ADD90004 */ sw $t9, 4($t6) -/* 0D5640 7F0A0B10 ADD80000 */ sw $t8, ($t6) -/* 0D5644 7F0A0B14 8FA90040 */ lw $t1, 0x40($sp) -/* 0D5648 7F0A0B18 3C0C0001 */ lui $t4, (0x00011000 >> 16) # lui $t4, 1 -/* 0D564C 7F0A0B1C 358C1000 */ ori $t4, (0x00011000 & 0xFFFF) # ori $t4, $t4, 0x1000 -/* 0D5650 7F0A0B20 252A0008 */ addiu $t2, $t1, 8 -/* 0D5654 7F0A0B24 AFAA0040 */ sw $t2, 0x40($sp) -/* 0D5658 7F0A0B28 3C0BB600 */ lui $t3, 0xb600 -/* 0D565C 7F0A0B2C AD2B0000 */ sw $t3, ($t1) -/* 0D5660 7F0A0B30 AD2C0004 */ sw $t4, 4($t1) -/* 0D5664 7F0A0B34 8FAD0040 */ lw $t5, 0x40($sp) -/* 0D5668 7F0A0B38 3C0FBA00 */ lui $t7, (0xBA000602 >> 16) # lui $t7, 0xba00 -/* 0D566C 7F0A0B3C 35EF0602 */ ori $t7, (0xBA000602 & 0xFFFF) # ori $t7, $t7, 0x602 -/* 0D5670 7F0A0B40 25AE0008 */ addiu $t6, $t5, 8 -/* 0D5674 7F0A0B44 AFAE0040 */ sw $t6, 0x40($sp) -/* 0D5678 7F0A0B48 24180080 */ li $t8, 128 -/* 0D567C 7F0A0B4C 24190002 */ li $t9, 2 -/* 0D5680 7F0A0B50 3C058009 */ lui $a1, %hi(genericimage) -/* 0D5684 7F0A0B54 ADB80004 */ sw $t8, 4($t5) -/* 0D5688 7F0A0B58 ADAF0000 */ sw $t7, ($t5) -/* 0D568C 7F0A0B5C AFB90010 */ sw $t9, 0x10($sp) -/* 0D5690 7F0A0B60 8CA5D0B8 */ lw $a1, %lo(genericimage)($a1) -/* 0D5694 7F0A0B64 27A40040 */ addiu $a0, $sp, 0x40 -/* 0D5698 7F0A0B68 24060004 */ li $a2, 4 -/* 0D569C 7F0A0B6C 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0D56A0 7F0A0B70 24070001 */ li $a3, 1 -/* 0D56A4 7F0A0B74 3C15B100 */ lui $s5, (0xB1000032 >> 16) # lui $s5, 0xb100 -/* 0D56A8 7F0A0B78 3C140430 */ lui $s4, (0x04300040 >> 16) # lui $s4, 0x430 -/* 0D56AC 7F0A0B7C 3C128008 */ lui $s2, %hi(ptr_scorch_buf) -/* 0D56B0 7F0A0B80 2652A150 */ addiu $s2, %lo(ptr_scorch_buf) # addiu $s2, $s2, -0x5eb0 -/* 0D56B4 7F0A0B84 36940040 */ ori $s4, (0x04300040 & 0xFFFF) # ori $s4, $s4, 0x40 -/* 0D56B8 7F0A0B88 36B50032 */ ori $s5, (0xB1000032 & 0xFFFF) # ori $s5, $s5, 0x32 -/* 0D56BC 7F0A0B8C 00008025 */ move $s0, $zero -/* 0D56C0 7F0A0B90 241706E0 */ li $s7, 1760 -/* 0D56C4 7F0A0B94 24162010 */ li $s6, 8208 -/* 0D56C8 7F0A0B98 8E490000 */ lw $t1, ($s2) -.L7F0A0B9C: -/* 0D56CC 7F0A0B9C 01305021 */ addu $t2, $t1, $s0 -/* 0D56D0 7F0A0BA0 85450000 */ lh $a1, ($t2) -/* 0D56D4 7F0A0BA4 04A2001D */ bltzl $a1, .L7F0A0C1C -/* 0D56D8 7F0A0BA8 26100058 */ addiu $s0, $s0, 0x58 -/* 0D56DC 7F0A0BAC 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 0D56E0 7F0A0BB0 00A02025 */ move $a0, $a1 -/* 0D56E4 7F0A0BB4 50400019 */ beql $v0, $zero, .L7F0A0C1C -/* 0D56E8 7F0A0BB8 26100058 */ addiu $s0, $s0, 0x58 -/* 0D56EC 7F0A0BBC 8E4B0000 */ lw $t3, ($s2) -/* 0D56F0 7F0A0BC0 8FA40040 */ lw $a0, 0x40($sp) -/* 0D56F4 7F0A0BC4 01706021 */ addu $t4, $t3, $s0 -/* 0D56F8 7F0A0BC8 85850000 */ lh $a1, ($t4) -/* 0D56FC 7F0A0BCC 52650005 */ beql $s3, $a1, .L7F0A0BE4 -/* 0D5700 7F0A0BD0 8FB10040 */ lw $s1, 0x40($sp) -/* 0D5704 7F0A0BD4 0FC2F271 */ jal sub_GAME_7F0BC9C4 -/* 0D5708 7F0A0BD8 00A09825 */ move $s3, $a1 -/* 0D570C 7F0A0BDC AFA20040 */ sw $v0, 0x40($sp) -/* 0D5710 7F0A0BE0 8FB10040 */ lw $s1, 0x40($sp) -.L7F0A0BE4: -/* 0D5714 7F0A0BE4 262E0008 */ addiu $t6, $s1, 8 -/* 0D5718 7F0A0BE8 AFAE0040 */ sw $t6, 0x40($sp) -/* 0D571C 7F0A0BEC AE340000 */ sw $s4, ($s1) -/* 0D5720 7F0A0BF0 8E4F0000 */ lw $t7, ($s2) -/* 0D5724 7F0A0BF4 01F02021 */ addu $a0, $t7, $s0 -/* 0D5728 7F0A0BF8 0C003A2C */ jal osVirtualToPhysical -/* 0D572C 7F0A0BFC 24840018 */ addiu $a0, $a0, 0x18 -/* 0D5730 7F0A0C00 AE220004 */ sw $v0, 4($s1) -/* 0D5734 7F0A0C04 8FB80040 */ lw $t8, 0x40($sp) -/* 0D5738 7F0A0C08 27190008 */ addiu $t9, $t8, 8 -/* 0D573C 7F0A0C0C AFB90040 */ sw $t9, 0x40($sp) -/* 0D5740 7F0A0C10 AF160004 */ sw $s6, 4($t8) -/* 0D5744 7F0A0C14 AF150000 */ sw $s5, ($t8) -/* 0D5748 7F0A0C18 26100058 */ addiu $s0, $s0, 0x58 -.L7F0A0C1C: -/* 0D574C 7F0A0C1C 5617FFDF */ bnel $s0, $s7, .L7F0A0B9C -/* 0D5750 7F0A0C20 8E490000 */ lw $t1, ($s2) -/* 0D5754 7F0A0C24 8FA90040 */ lw $t1, 0x40($sp) -/* 0D5758 7F0A0C28 3C0BBA00 */ lui $t3, (0xBA000602 >> 16) # lui $t3, 0xba00 -/* 0D575C 7F0A0C2C 356B0602 */ ori $t3, (0xBA000602 & 0xFFFF) # ori $t3, $t3, 0x602 -/* 0D5760 7F0A0C30 252A0008 */ addiu $t2, $t1, 8 -/* 0D5764 7F0A0C34 AFAA0040 */ sw $t2, 0x40($sp) -/* 0D5768 7F0A0C38 240C0040 */ li $t4, 64 -/* 0D576C 7F0A0C3C AD2C0004 */ sw $t4, 4($t1) -/* 0D5770 7F0A0C40 AD2B0000 */ sw $t3, ($t1) -/* 0D5774 7F0A0C44 8FA20040 */ lw $v0, 0x40($sp) -.L7F0A0C48: -/* 0D5778 7F0A0C48 8FBF003C */ lw $ra, 0x3c($sp) -/* 0D577C 7F0A0C4C 8FB0001C */ lw $s0, 0x1c($sp) -/* 0D5780 7F0A0C50 8FB10020 */ lw $s1, 0x20($sp) -/* 0D5784 7F0A0C54 8FB20024 */ lw $s2, 0x24($sp) -/* 0D5788 7F0A0C58 8FB30028 */ lw $s3, 0x28($sp) -/* 0D578C 7F0A0C5C 8FB4002C */ lw $s4, 0x2c($sp) -/* 0D5790 7F0A0C60 8FB50030 */ lw $s5, 0x30($sp) -/* 0D5794 7F0A0C64 8FB60034 */ lw $s6, 0x34($sp) -/* 0D5798 7F0A0C68 8FB70038 */ lw $s7, 0x38($sp) -/* 0D579C 7F0A0C6C 03E00008 */ jr $ra -/* 0D57A0 7F0A0C70 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A0C74(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A0C74 -/* 0D57A4 7F0A0C74 44802000 */ mtc1 $zero, $f4 -/* 0D57A8 7F0A0C78 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D57AC 7F0A0C7C 460C203E */ c.le.s $f4, $f12 -/* 0D57B0 7F0A0C80 00000000 */ nop -/* 0D57B4 7F0A0C84 4502000A */ bc1fl .L7F0A0CB0 -/* 0D57B8 7F0A0C88 44818000 */ mtc1 $at, $f16 -/* 0D57BC 7F0A0C8C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D57C0 7F0A0C90 44813000 */ mtc1 $at, $f6 -/* 0D57C4 7F0A0C94 00000000 */ nop -/* 0D57C8 7F0A0C98 46066200 */ add.s $f8, $f12, $f6 -/* 0D57CC 7F0A0C9C 4600428D */ trunc.w.s $f10, $f8 -/* 0D57D0 7F0A0CA0 44025000 */ mfc1 $v0, $f10 -/* 0D57D4 7F0A0CA4 03E00008 */ jr $ra -/* 0D57D8 7F0A0CA8 00000000 */ nop - -/* 0D57DC 7F0A0CAC 44818000 */ mtc1 $at, $f16 -.L7F0A0CB0: -/* 0D57E0 7F0A0CB0 00000000 */ nop -/* 0D57E4 7F0A0CB4 46106481 */ sub.s $f18, $f12, $f16 -/* 0D57E8 7F0A0CB8 4600910D */ trunc.w.s $f4, $f18 -/* 0D57EC 7F0A0CBC 44022000 */ mfc1 $v0, $f4 -/* 0D57F0 7F0A0CC0 00000000 */ nop -/* 0D57F4 7F0A0CC4 03E00008 */ jr $ra -/* 0D57F8 7F0A0CC8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A0CCC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A0CCC -/* 0D57FC 7F0A0CCC AFA50004 */ sw $a1, 4($sp) -/* 0D5800 7F0A0CD0 00057600 */ sll $t6, $a1, 0x18 -/* 0D5804 7F0A0CD4 3C068008 */ lui $a2, %hi(ptr_bullet_impact_buf) -/* 0D5808 7F0A0CD8 000E2E03 */ sra $a1, $t6, 0x18 -/* 0D580C 7F0A0CDC 24C6A154 */ addiu $a2, %lo(ptr_bullet_impact_buf) # addiu $a2, $a2, -0x5eac -/* 0D5810 7F0A0CE0 00001825 */ move $v1, $zero -/* 0D5814 7F0A0CE4 24081F40 */ li $t0, 8000 -/* 0D5818 7F0A0CE8 2407FFFF */ li $a3, -1 -/* 0D581C 7F0A0CEC 8CD80000 */ lw $t8, ($a2) -.L7F0A0CF0: -/* 0D5820 7F0A0CF0 03031021 */ addu $v0, $t8, $v1 -/* 0D5824 7F0A0CF4 8C590048 */ lw $t9, 0x48($v0) -/* 0D5828 7F0A0CF8 54990008 */ bnel $a0, $t9, .L7F0A0D1C -/* 0D582C 7F0A0CFC 8C4B0098 */ lw $t3, 0x98($v0) -/* 0D5830 7F0A0D00 8049004D */ lb $t1, 0x4d($v0) -/* 0D5834 7F0A0D04 54A90005 */ bnel $a1, $t1, .L7F0A0D1C -/* 0D5838 7F0A0D08 8C4B0098 */ lw $t3, 0x98($v0) -/* 0D583C 7F0A0D0C A4470000 */ sh $a3, ($v0) -/* 0D5840 7F0A0D10 8CCA0000 */ lw $t2, ($a2) -/* 0D5844 7F0A0D14 01431021 */ addu $v0, $t2, $v1 -/* 0D5848 7F0A0D18 8C4B0098 */ lw $t3, 0x98($v0) -.L7F0A0D1C: -/* 0D584C 7F0A0D1C 548B0008 */ bnel $a0, $t3, .L7F0A0D40 -/* 0D5850 7F0A0D20 8C4E00E8 */ lw $t6, 0xe8($v0) -/* 0D5854 7F0A0D24 804C009D */ lb $t4, 0x9d($v0) -/* 0D5858 7F0A0D28 54AC0005 */ bnel $a1, $t4, .L7F0A0D40 -/* 0D585C 7F0A0D2C 8C4E00E8 */ lw $t6, 0xe8($v0) -/* 0D5860 7F0A0D30 A4470050 */ sh $a3, 0x50($v0) -/* 0D5864 7F0A0D34 8CCD0000 */ lw $t5, ($a2) -/* 0D5868 7F0A0D38 01A31021 */ addu $v0, $t5, $v1 -/* 0D586C 7F0A0D3C 8C4E00E8 */ lw $t6, 0xe8($v0) -.L7F0A0D40: -/* 0D5870 7F0A0D40 548E0008 */ bnel $a0, $t6, .L7F0A0D64 -/* 0D5874 7F0A0D44 8C590138 */ lw $t9, 0x138($v0) -/* 0D5878 7F0A0D48 804F00ED */ lb $t7, 0xed($v0) -/* 0D587C 7F0A0D4C 54AF0005 */ bnel $a1, $t7, .L7F0A0D64 -/* 0D5880 7F0A0D50 8C590138 */ lw $t9, 0x138($v0) -/* 0D5884 7F0A0D54 A44700A0 */ sh $a3, 0xa0($v0) -/* 0D5888 7F0A0D58 8CD80000 */ lw $t8, ($a2) -/* 0D588C 7F0A0D5C 03031021 */ addu $v0, $t8, $v1 -/* 0D5890 7F0A0D60 8C590138 */ lw $t9, 0x138($v0) -.L7F0A0D64: -/* 0D5894 7F0A0D64 24630140 */ addiu $v1, $v1, 0x140 -/* 0D5898 7F0A0D68 14990005 */ bne $a0, $t9, .L7F0A0D80 -/* 0D589C 7F0A0D6C 00000000 */ nop -/* 0D58A0 7F0A0D70 8049013D */ lb $t1, 0x13d($v0) -/* 0D58A4 7F0A0D74 14A90002 */ bne $a1, $t1, .L7F0A0D80 -/* 0D58A8 7F0A0D78 00000000 */ nop -/* 0D58AC 7F0A0D7C A44700F0 */ sh $a3, 0xf0($v0) -.L7F0A0D80: -/* 0D58B0 7F0A0D80 5468FFDB */ bnel $v1, $t0, .L7F0A0CF0 -/* 0D58B4 7F0A0D84 8CD80000 */ lw $t8, ($a2) -/* 0D58B8 7F0A0D88 03E00008 */ jr $ra -/* 0D58BC 7F0A0D8C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A0D90(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A0D90 -/* 0D58C0 7F0A0D90 3C078004 */ lui $a3, %hi(D_8004080C) -/* 0D58C4 7F0A0D94 3C058008 */ lui $a1, %hi(ptr_bullet_impact_buf) -/* 0D58C8 7F0A0D98 24A5A154 */ addiu $a1, %lo(ptr_bullet_impact_buf) # addiu $a1, $a1, -0x5eac -/* 0D58CC 7F0A0D9C 24E7080C */ addiu $a3, %lo(D_8004080C) # addiu $a3, $a3, 0x80c -/* 0D58D0 7F0A0DA0 00001825 */ move $v1, $zero -/* 0D58D4 7F0A0DA4 240A1F40 */ li $t2, 8000 -/* 0D58D8 7F0A0DA8 2409FFFF */ li $t1, -1 -/* 0D58DC 7F0A0DAC 2408000C */ li $t0, 12 -/* 0D58E0 7F0A0DB0 24060002 */ li $a2, 2 -/* 0D58E4 7F0A0DB4 8CAE0000 */ lw $t6, ($a1) -.L7F0A0DB8: -/* 0D58E8 7F0A0DB8 01C31021 */ addu $v0, $t6, $v1 -/* 0D58EC 7F0A0DBC 8C4F0048 */ lw $t7, 0x48($v0) -/* 0D58F0 7F0A0DC0 548F000C */ bnel $a0, $t7, .L7F0A0DF4 -/* 0D58F4 7F0A0DC4 8C4E0098 */ lw $t6, 0x98($v0) -/* 0D58F8 7F0A0DC8 84580002 */ lh $t8, 2($v0) -/* 0D58FC 7F0A0DCC 03080019 */ multu $t8, $t0 -/* 0D5900 7F0A0DD0 0000C812 */ mflo $t9 -/* 0D5904 7F0A0DD4 00F95821 */ addu $t3, $a3, $t9 -/* 0D5908 7F0A0DD8 916C0009 */ lbu $t4, 9($t3) -/* 0D590C 7F0A0DDC 54CC0005 */ bnel $a2, $t4, .L7F0A0DF4 -/* 0D5910 7F0A0DE0 8C4E0098 */ lw $t6, 0x98($v0) -/* 0D5914 7F0A0DE4 A4490000 */ sh $t1, ($v0) -/* 0D5918 7F0A0DE8 8CAD0000 */ lw $t5, ($a1) -/* 0D591C 7F0A0DEC 01A31021 */ addu $v0, $t5, $v1 -/* 0D5920 7F0A0DF0 8C4E0098 */ lw $t6, 0x98($v0) -.L7F0A0DF4: -/* 0D5924 7F0A0DF4 548E000C */ bnel $a0, $t6, .L7F0A0E28 -/* 0D5928 7F0A0DF8 8C4D00E8 */ lw $t5, 0xe8($v0) -/* 0D592C 7F0A0DFC 844F0052 */ lh $t7, 0x52($v0) -/* 0D5930 7F0A0E00 01E80019 */ multu $t7, $t0 -/* 0D5934 7F0A0E04 0000C012 */ mflo $t8 -/* 0D5938 7F0A0E08 00F8C821 */ addu $t9, $a3, $t8 -/* 0D593C 7F0A0E0C 932B0009 */ lbu $t3, 9($t9) -/* 0D5940 7F0A0E10 54CB0005 */ bnel $a2, $t3, .L7F0A0E28 -/* 0D5944 7F0A0E14 8C4D00E8 */ lw $t5, 0xe8($v0) -/* 0D5948 7F0A0E18 A4490050 */ sh $t1, 0x50($v0) -/* 0D594C 7F0A0E1C 8CAC0000 */ lw $t4, ($a1) -/* 0D5950 7F0A0E20 01831021 */ addu $v0, $t4, $v1 -/* 0D5954 7F0A0E24 8C4D00E8 */ lw $t5, 0xe8($v0) -.L7F0A0E28: -/* 0D5958 7F0A0E28 548D000C */ bnel $a0, $t5, .L7F0A0E5C -/* 0D595C 7F0A0E2C 8C4C0138 */ lw $t4, 0x138($v0) -/* 0D5960 7F0A0E30 844E00A2 */ lh $t6, 0xa2($v0) -/* 0D5964 7F0A0E34 01C80019 */ multu $t6, $t0 -/* 0D5968 7F0A0E38 00007812 */ mflo $t7 -/* 0D596C 7F0A0E3C 00EFC021 */ addu $t8, $a3, $t7 -/* 0D5970 7F0A0E40 93190009 */ lbu $t9, 9($t8) -/* 0D5974 7F0A0E44 54D90005 */ bnel $a2, $t9, .L7F0A0E5C -/* 0D5978 7F0A0E48 8C4C0138 */ lw $t4, 0x138($v0) -/* 0D597C 7F0A0E4C A44900A0 */ sh $t1, 0xa0($v0) -/* 0D5980 7F0A0E50 8CAB0000 */ lw $t3, ($a1) -/* 0D5984 7F0A0E54 01631021 */ addu $v0, $t3, $v1 -/* 0D5988 7F0A0E58 8C4C0138 */ lw $t4, 0x138($v0) -.L7F0A0E5C: -/* 0D598C 7F0A0E5C 24630140 */ addiu $v1, $v1, 0x140 -/* 0D5990 7F0A0E60 148C0009 */ bne $a0, $t4, .L7F0A0E88 -/* 0D5994 7F0A0E64 00000000 */ nop -/* 0D5998 7F0A0E68 844D00F2 */ lh $t5, 0xf2($v0) -/* 0D599C 7F0A0E6C 01A80019 */ multu $t5, $t0 -/* 0D59A0 7F0A0E70 00007012 */ mflo $t6 -/* 0D59A4 7F0A0E74 00EE7821 */ addu $t7, $a3, $t6 -/* 0D59A8 7F0A0E78 91F80009 */ lbu $t8, 9($t7) -/* 0D59AC 7F0A0E7C 14D80002 */ bne $a2, $t8, .L7F0A0E88 -/* 0D59B0 7F0A0E80 00000000 */ nop -/* 0D59B4 7F0A0E84 A44900F0 */ sh $t1, 0xf0($v0) -.L7F0A0E88: -/* 0D59B8 7F0A0E88 546AFFCB */ bnel $v1, $t2, .L7F0A0DB8 -/* 0D59BC 7F0A0E8C 8CAE0000 */ lw $t6, ($a1) -/* 0D59C0 7F0A0E90 03E00008 */ jr $ra -/* 0D59C4 7F0A0E94 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A0E98(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A0E98 -/* 0D59C8 7F0A0E98 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0D59CC 7F0A0E9C 44811000 */ mtc1 $at, $f2 -/* 0D59D0 7F0A0EA0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0D59D4 7F0A0EA4 3C068008 */ lui $a2, %hi(ptr_bullet_impact_buf) -/* 0D59D8 7F0A0EA8 44810000 */ mtc1 $at, $f0 -/* 0D59DC 7F0A0EAC 24C6A154 */ addiu $a2, %lo(ptr_bullet_impact_buf) # addiu $a2, $a2, -0x5eac -/* 0D59E0 7F0A0EB0 00001025 */ move $v0, $zero -/* 0D59E4 7F0A0EB4 2408000A */ li $t0, 10 -/* 0D59E8 7F0A0EB8 24070050 */ li $a3, 80 -/* 0D59EC 7F0A0EBC 44822000 */ mtc1 $v0, $f4 -.L7F0A0EC0: -/* 0D59F0 7F0A0EC0 24030001 */ li $v1, 1 -/* 0D59F4 7F0A0EC4 00870019 */ multu $a0, $a3 -/* 0D59F8 7F0A0EC8 468021A0 */ cvt.s.w $f6, $f4 -/* 0D59FC 7F0A0ECC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D5A00 7F0A0ED0 46003203 */ div.s $f8, $f6, $f0 -/* 0D5A04 7F0A0ED4 00002812 */ mflo $a1 -/* 0D5A08 7F0A0ED8 46024282 */ mul.s $f10, $f8, $f2 -/* 0D5A0C 7F0A0EDC 444EF800 */ cfc1 $t6, $31 -/* 0D5A10 7F0A0EE0 44C3F800 */ ctc1 $v1, $31 -/* 0D5A14 7F0A0EE4 00000000 */ nop -/* 0D5A18 7F0A0EE8 46005424 */ cvt.w.s $f16, $f10 -/* 0D5A1C 7F0A0EEC 4443F800 */ cfc1 $v1, $31 -/* 0D5A20 7F0A0EF0 00000000 */ nop -/* 0D5A24 7F0A0EF4 30630078 */ andi $v1, $v1, 0x78 -/* 0D5A28 7F0A0EF8 50600013 */ beql $v1, $zero, .L7F0A0F48 -/* 0D5A2C 7F0A0EFC 44038000 */ mfc1 $v1, $f16 -/* 0D5A30 7F0A0F00 44818000 */ mtc1 $at, $f16 -/* 0D5A34 7F0A0F04 24030001 */ li $v1, 1 -/* 0D5A38 7F0A0F08 46105401 */ sub.s $f16, $f10, $f16 -/* 0D5A3C 7F0A0F0C 44C3F800 */ ctc1 $v1, $31 -/* 0D5A40 7F0A0F10 00000000 */ nop -/* 0D5A44 7F0A0F14 46008424 */ cvt.w.s $f16, $f16 -/* 0D5A48 7F0A0F18 4443F800 */ cfc1 $v1, $31 -/* 0D5A4C 7F0A0F1C 00000000 */ nop -/* 0D5A50 7F0A0F20 30630078 */ andi $v1, $v1, 0x78 -/* 0D5A54 7F0A0F24 14600005 */ bnez $v1, .L7F0A0F3C -/* 0D5A58 7F0A0F28 00000000 */ nop -/* 0D5A5C 7F0A0F2C 44038000 */ mfc1 $v1, $f16 -/* 0D5A60 7F0A0F30 3C018000 */ lui $at, 0x8000 -/* 0D5A64 7F0A0F34 10000007 */ b .L7F0A0F54 -/* 0D5A68 7F0A0F38 00611825 */ or $v1, $v1, $at -.L7F0A0F3C: -/* 0D5A6C 7F0A0F3C 10000005 */ b .L7F0A0F54 -/* 0D5A70 7F0A0F40 2403FFFF */ li $v1, -1 -/* 0D5A74 7F0A0F44 44038000 */ mfc1 $v1, $f16 -.L7F0A0F48: -/* 0D5A78 7F0A0F48 00000000 */ nop -/* 0D5A7C 7F0A0F4C 0460FFFB */ bltz $v1, .L7F0A0F3C -/* 0D5A80 7F0A0F50 00000000 */ nop -.L7F0A0F54: -/* 0D5A84 7F0A0F54 8CCF0000 */ lw $t7, ($a2) -/* 0D5A88 7F0A0F58 44CEF800 */ ctc1 $t6, $31 -/* 0D5A8C 7F0A0F5C 244E0001 */ addiu $t6, $v0, 1 -/* 0D5A90 7F0A0F60 01E5C021 */ addu $t8, $t7, $a1 -/* 0D5A94 7F0A0F64 A3030047 */ sb $v1, 0x47($t8) -/* 0D5A98 7F0A0F68 8CD90000 */ lw $t9, ($a2) -/* 0D5A9C 7F0A0F6C 448E9000 */ mtc1 $t6, $f18 -/* 0D5AA0 7F0A0F70 24840001 */ addiu $a0, $a0, 1 -/* 0D5AA4 7F0A0F74 03254821 */ addu $t1, $t9, $a1 -/* 0D5AA8 7F0A0F78 A1230037 */ sb $v1, 0x37($t1) -/* 0D5AAC 7F0A0F7C 8CCA0000 */ lw $t2, ($a2) -/* 0D5AB0 7F0A0F80 46809120 */ cvt.s.w $f4, $f18 -/* 0D5AB4 7F0A0F84 28810064 */ slti $at, $a0, 0x64 -/* 0D5AB8 7F0A0F88 01455821 */ addu $t3, $t2, $a1 -/* 0D5ABC 7F0A0F8C A1630027 */ sb $v1, 0x27($t3) -/* 0D5AC0 7F0A0F90 8CCC0000 */ lw $t4, ($a2) -/* 0D5AC4 7F0A0F94 24420002 */ addiu $v0, $v0, 2 -/* 0D5AC8 7F0A0F98 46002183 */ div.s $f6, $f4, $f0 -/* 0D5ACC 7F0A0F9C 01856821 */ addu $t5, $t4, $a1 -/* 0D5AD0 7F0A0FA0 A1A30017 */ sb $v1, 0x17($t5) -/* 0D5AD4 7F0A0FA4 14200003 */ bnez $at, .L7F0A0FB4 -/* 0D5AD8 7F0A0FA8 24A50050 */ addiu $a1, $a1, 0x50 -/* 0D5ADC 7F0A0FAC 00002025 */ move $a0, $zero -/* 0D5AE0 7F0A0FB0 00002825 */ move $a1, $zero -.L7F0A0FB4: -/* 0D5AE4 7F0A0FB4 46023202 */ mul.s $f8, $f6, $f2 -/* 0D5AE8 7F0A0FB8 24030001 */ li $v1, 1 -/* 0D5AEC 7F0A0FBC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D5AF0 7F0A0FC0 444FF800 */ cfc1 $t7, $31 -/* 0D5AF4 7F0A0FC4 44C3F800 */ ctc1 $v1, $31 -/* 0D5AF8 7F0A0FC8 00000000 */ nop -/* 0D5AFC 7F0A0FCC 460042A4 */ cvt.w.s $f10, $f8 -/* 0D5B00 7F0A0FD0 4443F800 */ cfc1 $v1, $31 -/* 0D5B04 7F0A0FD4 00000000 */ nop -/* 0D5B08 7F0A0FD8 30630078 */ andi $v1, $v1, 0x78 -/* 0D5B0C 7F0A0FDC 50600013 */ beql $v1, $zero, .L7F0A102C -/* 0D5B10 7F0A0FE0 44035000 */ mfc1 $v1, $f10 -/* 0D5B14 7F0A0FE4 44815000 */ mtc1 $at, $f10 -/* 0D5B18 7F0A0FE8 24030001 */ li $v1, 1 -/* 0D5B1C 7F0A0FEC 460A4281 */ sub.s $f10, $f8, $f10 -/* 0D5B20 7F0A0FF0 44C3F800 */ ctc1 $v1, $31 -/* 0D5B24 7F0A0FF4 00000000 */ nop -/* 0D5B28 7F0A0FF8 460052A4 */ cvt.w.s $f10, $f10 -/* 0D5B2C 7F0A0FFC 4443F800 */ cfc1 $v1, $31 -/* 0D5B30 7F0A1000 00000000 */ nop -/* 0D5B34 7F0A1004 30630078 */ andi $v1, $v1, 0x78 -/* 0D5B38 7F0A1008 14600005 */ bnez $v1, .L7F0A1020 -/* 0D5B3C 7F0A100C 00000000 */ nop -/* 0D5B40 7F0A1010 44035000 */ mfc1 $v1, $f10 -/* 0D5B44 7F0A1014 3C018000 */ lui $at, 0x8000 -/* 0D5B48 7F0A1018 10000007 */ b .L7F0A1038 -/* 0D5B4C 7F0A101C 00611825 */ or $v1, $v1, $at -.L7F0A1020: -/* 0D5B50 7F0A1020 10000005 */ b .L7F0A1038 -/* 0D5B54 7F0A1024 2403FFFF */ li $v1, -1 -/* 0D5B58 7F0A1028 44035000 */ mfc1 $v1, $f10 -.L7F0A102C: -/* 0D5B5C 7F0A102C 00000000 */ nop -/* 0D5B60 7F0A1030 0460FFFB */ bltz $v1, .L7F0A1020 -/* 0D5B64 7F0A1034 00000000 */ nop -.L7F0A1038: -/* 0D5B68 7F0A1038 8CD80000 */ lw $t8, ($a2) -/* 0D5B6C 7F0A103C 24840001 */ addiu $a0, $a0, 1 -/* 0D5B70 7F0A1040 28810064 */ slti $at, $a0, 0x64 -/* 0D5B74 7F0A1044 0305C821 */ addu $t9, $t8, $a1 -/* 0D5B78 7F0A1048 A3230047 */ sb $v1, 0x47($t9) -/* 0D5B7C 7F0A104C 8CC90000 */ lw $t1, ($a2) -/* 0D5B80 7F0A1050 44CFF800 */ ctc1 $t7, $31 -/* 0D5B84 7F0A1054 01255021 */ addu $t2, $t1, $a1 -/* 0D5B88 7F0A1058 A1430037 */ sb $v1, 0x37($t2) -/* 0D5B8C 7F0A105C 8CCB0000 */ lw $t3, ($a2) -/* 0D5B90 7F0A1060 01656021 */ addu $t4, $t3, $a1 -/* 0D5B94 7F0A1064 A1830027 */ sb $v1, 0x27($t4) -/* 0D5B98 7F0A1068 8CCD0000 */ lw $t5, ($a2) -/* 0D5B9C 7F0A106C 01A57021 */ addu $t6, $t5, $a1 -/* 0D5BA0 7F0A1070 14200002 */ bnez $at, .L7F0A107C -/* 0D5BA4 7F0A1074 A1C30017 */ sb $v1, 0x17($t6) -/* 0D5BA8 7F0A1078 00002025 */ move $a0, $zero -.L7F0A107C: -/* 0D5BAC 7F0A107C 5448FF90 */ bnel $v0, $t0, .L7F0A0EC0 -/* 0D5BB0 7F0A1080 44822000 */ mtc1 $v0, $f4 -/* 0D5BB4 7F0A1084 03E00008 */ jr $ra -/* 0D5BB8 7F0A1088 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A108C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A108C -/* 0D5BBC 7F0A108C 27BDFF10 */ addiu $sp, $sp, -0xf0 -/* 0D5BC0 7F0A1090 3C0E8004 */ lui $t6, %hi(D_80040930) -/* 0D5BC4 7F0A1094 AFBF0034 */ sw $ra, 0x34($sp) -/* 0D5BC8 7F0A1098 AFB60030 */ sw $s6, 0x30($sp) -/* 0D5BCC 7F0A109C AFB5002C */ sw $s5, 0x2c($sp) -/* 0D5BD0 7F0A10A0 AFB40028 */ sw $s4, 0x28($sp) -/* 0D5BD4 7F0A10A4 AFB30024 */ sw $s3, 0x24($sp) -/* 0D5BD8 7F0A10A8 AFB20020 */ sw $s2, 0x20($sp) -/* 0D5BDC 7F0A10AC AFB1001C */ sw $s1, 0x1c($sp) -/* 0D5BE0 7F0A10B0 AFB00018 */ sw $s0, 0x18($sp) -/* 0D5BE4 7F0A10B4 AFA600F8 */ sw $a2, 0xf8($sp) -/* 0D5BE8 7F0A10B8 AFA700FC */ sw $a3, 0xfc($sp) -/* 0D5BEC 7F0A10BC 25CE0930 */ addiu $t6, %lo(D_80040930) # addiu $t6, $t6, 0x930 -/* 0D5BF0 7F0A10C0 8DC10000 */ lw $at, ($t6) -/* 0D5BF4 7F0A10C4 27B500E0 */ addiu $s5, $sp, 0xe0 -/* 0D5BF8 7F0A10C8 00808825 */ move $s1, $a0 -/* 0D5BFC 7F0A10CC AEA10000 */ sw $at, ($s5) -/* 0D5C00 7F0A10D0 8DD90004 */ lw $t9, 4($t6) -/* 0D5C04 7F0A10D4 00A08025 */ move $s0, $a1 -/* 0D5C08 7F0A10D8 2404000F */ li $a0, 15 -/* 0D5C0C 7F0A10DC AEB90004 */ sw $t9, 4($s5) -/* 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 cheatCheckIfOn -/* 0D5C20 7F0A10F0 AEB9000C */ sw $t9, 0xc($s5) -/* 0D5C24 7F0A10F4 10400003 */ beqz $v0, .L7F0A1104 -/* 0D5C28 7F0A10F8 3C0A8004 */ lui $t2, %hi(D_8004080C) -/* 0D5C2C 7F0A10FC 24080010 */ li $t0, 16 -/* 0D5C30 7F0A1100 A7A800FA */ sh $t0, 0xfa($sp) -.L7F0A1104: -/* 0D5C34 7F0A1104 C6240000 */ lwc1 $f4, ($s1) -/* 0D5C38 7F0A1108 87B400FA */ lh $s4, 0xfa($sp) -/* 0D5C3C 7F0A110C 254A080C */ addiu $t2, %lo(D_8004080C) # addiu $t2, $t2, 0x80c -/* 0D5C40 7F0A1110 E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 0D5C44 7F0A1114 C6260004 */ lwc1 $f6, 4($s1) -/* 0D5C48 7F0A1118 00144880 */ sll $t1, $s4, 2 -/* 0D5C4C 7F0A111C 01344823 */ subu $t1, $t1, $s4 -/* 0D5C50 7F0A1120 E7A600A4 */ swc1 $f6, 0xa4($sp) -/* 0D5C54 7F0A1124 C6280008 */ lwc1 $f8, 8($s1) -/* 0D5C58 7F0A1128 0009A080 */ sll $s4, $t1, 2 -/* 0D5C5C 7F0A112C 028A5821 */ addu $t3, $s4, $t2 -/* 0D5C60 7F0A1130 AFAB0050 */ sw $t3, 0x50($sp) -/* 0D5C64 7F0A1134 E7A800A8 */ swc1 $f8, 0xa8($sp) -/* 0D5C68 7F0A1138 C56A0000 */ lwc1 $f10, ($t3) -/* 0D5C6C 7F0A113C 44808000 */ mtc1 $zero, $f16 -/* 0D5C70 7F0A1140 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 0D5C74 7F0A1144 C5640004 */ lwc1 $f4, 4($t3) -/* 0D5C78 7F0A1148 E7A40098 */ swc1 $f4, 0x98($sp) -/* 0D5C7C 7F0A114C C60E0000 */ lwc1 $f14, ($s0) -/* 0D5C80 7F0A1150 460E8032 */ c.eq.s $f16, $f14 -/* 0D5C84 7F0A1154 00000000 */ nop -/* 0D5C88 7F0A1158 4500000E */ bc1f .L7F0A1194 -/* 0D5C8C 7F0A115C 00000000 */ nop -/* 0D5C90 7F0A1160 C6060008 */ lwc1 $f6, 8($s0) -/* 0D5C94 7F0A1164 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D5C98 7F0A1168 46068032 */ c.eq.s $f16, $f6 -/* 0D5C9C 7F0A116C 00000000 */ nop -/* 0D5CA0 7F0A1170 45000008 */ bc1f .L7F0A1194 -/* 0D5CA4 7F0A1174 00000000 */ nop -/* 0D5CA8 7F0A1178 44810000 */ mtc1 $at, $f0 -/* 0D5CAC 7F0A117C E7B000B8 */ swc1 $f16, 0xb8($sp) -/* 0D5CB0 7F0A1180 E7B000B4 */ swc1 $f16, 0xb4($sp) -/* 0D5CB4 7F0A1184 E7B000BC */ swc1 $f16, 0xbc($sp) -/* 0D5CB8 7F0A1188 E7A000B0 */ swc1 $f0, 0xb0($sp) -/* 0D5CBC 7F0A118C 10000025 */ b .L7F0A1224 -/* 0D5CC0 7F0A1190 E7A000C4 */ swc1 $f0, 0xc4($sp) -.L7F0A1194: -/* 0D5CC4 7F0A1194 460E7202 */ mul.s $f8, $f14, $f14 -/* 0D5CC8 7F0A1198 C6020004 */ lwc1 $f2, 4($s0) -/* 0D5CCC 7F0A119C C6000008 */ lwc1 $f0, 8($s0) -/* 0D5CD0 7F0A11A0 46021282 */ mul.s $f10, $f2, $f2 -/* 0D5CD4 7F0A11A4 460A4100 */ add.s $f4, $f8, $f10 -/* 0D5CD8 7F0A11A8 46000182 */ mul.s $f6, $f0, $f0 -/* 0D5CDC 7F0A11AC 0C007DF8 */ jal sqrtf -/* 0D5CE0 7F0A11B0 46043300 */ add.s $f12, $f6, $f4 -/* 0D5CE4 7F0A11B4 C6080000 */ lwc1 $f8, ($s0) -/* 0D5CE8 7F0A11B8 C6060008 */ lwc1 $f6, 8($s0) -/* 0D5CEC 7F0A11BC C60A0004 */ lwc1 $f10, 4($s0) -/* 0D5CF0 7F0A11C0 46004383 */ div.s $f14, $f8, $f0 -/* 0D5CF4 7F0A11C4 46003403 */ div.s $f16, $f6, $f0 -/* 0D5CF8 7F0A11C8 E7AE00DC */ swc1 $f14, 0xdc($sp) -/* 0D5CFC 7F0A11CC 460E7102 */ mul.s $f4, $f14, $f14 -/* 0D5D00 7F0A11D0 46005483 */ div.s $f18, $f10, $f0 -/* 0D5D04 7F0A11D4 E7B000D4 */ swc1 $f16, 0xd4($sp) -/* 0D5D08 7F0A11D8 46108202 */ mul.s $f8, $f16, $f16 -/* 0D5D0C 7F0A11DC 46082300 */ add.s $f12, $f4, $f8 -/* 0D5D10 7F0A11E0 0C007DF8 */ jal sqrtf -/* 0D5D14 7F0A11E4 E7B200D8 */ swc1 $f18, 0xd8($sp) -/* 0D5D18 7F0A11E8 C7AE00DC */ lwc1 $f14, 0xdc($sp) -/* 0D5D1C 7F0A11EC C7B000D4 */ lwc1 $f16, 0xd4($sp) -/* 0D5D20 7F0A11F0 C7B200D8 */ lwc1 $f18, 0xd8($sp) -/* 0D5D24 7F0A11F4 46007083 */ div.s $f2, $f14, $f0 -/* 0D5D28 7F0A11F8 46000107 */ neg.s $f4, $f0 -/* 0D5D2C 7F0A11FC E7A400B4 */ swc1 $f4, 0xb4($sp) -/* 0D5D30 7F0A1200 46008303 */ div.s $f12, $f16, $f0 -/* 0D5D34 7F0A1204 44808000 */ mtc1 $zero, $f16 -/* 0D5D38 7F0A1208 46029182 */ mul.s $f6, $f18, $f2 -/* 0D5D3C 7F0A120C 46001287 */ neg.s $f10, $f2 -/* 0D5D40 7F0A1210 E7AA00BC */ swc1 $f10, 0xbc($sp) -/* 0D5D44 7F0A1214 E7A600B8 */ swc1 $f6, 0xb8($sp) -/* 0D5D48 7F0A1218 460C9202 */ mul.s $f8, $f18, $f12 -/* 0D5D4C 7F0A121C E7AC00C4 */ swc1 $f12, 0xc4($sp) -/* 0D5D50 7F0A1220 E7A800B0 */ swc1 $f8, 0xb0($sp) -.L7F0A1224: -/* 0D5D54 7F0A1224 8FA20100 */ lw $v0, 0x100($sp) -/* 0D5D58 7F0A1228 10400044 */ beqz $v0, .L7F0A133C -/* 0D5D5C 7F0A122C 00000000 */ nop -/* 0D5D60 7F0A1230 8C500004 */ lw $s0, 4($v0) -/* 0D5D64 7F0A1234 C7AA00C4 */ lwc1 $f10, 0xc4($sp) -/* 0D5D68 7F0A1238 83AF0107 */ lb $t7, 0x107($sp) -/* 0D5D6C 7F0A123C 8E0D0014 */ lw $t5, 0x14($s0) -/* 0D5D70 7F0A1240 C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 0D5D74 7F0A1244 C7A400B8 */ lwc1 $f4, 0xb8($sp) -/* 0D5D78 7F0A1248 8DB8000C */ lw $t8, 0xc($t5) -/* 0D5D7C 7F0A124C E7AA0078 */ swc1 $f10, 0x78($sp) -/* 0D5D80 7F0A1250 C7A800B4 */ lwc1 $f8, 0xb4($sp) -/* 0D5D84 7F0A1254 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 0D5D88 7F0A1258 000F7180 */ sll $t6, $t7, 6 -/* 0D5D8C 7F0A125C 030E8821 */ addu $s1, $t8, $t6 -/* 0D5D90 7F0A1260 E7B0007C */ swc1 $f16, 0x7c($sp) -/* 0D5D94 7F0A1264 02202025 */ move $a0, $s1 -/* 0D5D98 7F0A1268 27A50078 */ addiu $a1, $sp, 0x78 -/* 0D5D9C 7F0A126C E7A60080 */ swc1 $f6, 0x80($sp) -/* 0D5DA0 7F0A1270 E7A4006C */ swc1 $f4, 0x6c($sp) -/* 0D5DA4 7F0A1274 E7A80070 */ swc1 $f8, 0x70($sp) -/* 0D5DA8 7F0A1278 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0D5DAC 7F0A127C E7AA0074 */ swc1 $f10, 0x74($sp) -/* 0D5DB0 7F0A1280 02202025 */ move $a0, $s1 -/* 0D5DB4 7F0A1284 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0D5DB8 7F0A1288 27A5006C */ addiu $a1, $sp, 0x6c -/* 0D5DBC 7F0A128C C7A00078 */ lwc1 $f0, 0x78($sp) -/* 0D5DC0 7F0A1290 C7A2007C */ lwc1 $f2, 0x7c($sp) -/* 0D5DC4 7F0A1294 C7AE0080 */ lwc1 $f14, 0x80($sp) -/* 0D5DC8 7F0A1298 46000182 */ mul.s $f6, $f0, $f0 -/* 0D5DCC 7F0A129C 00000000 */ nop -/* 0D5DD0 7F0A12A0 46021102 */ mul.s $f4, $f2, $f2 -/* 0D5DD4 7F0A12A4 46043200 */ add.s $f8, $f6, $f4 -/* 0D5DD8 7F0A12A8 460E7282 */ mul.s $f10, $f14, $f14 -/* 0D5DDC 7F0A12AC 0C007DF8 */ jal sqrtf -/* 0D5DE0 7F0A12B0 46085300 */ add.s $f12, $f10, $f8 -/* 0D5DE4 7F0A12B4 C7A2006C */ lwc1 $f2, 0x6c($sp) -/* 0D5DE8 7F0A12B8 C7AE0070 */ lwc1 $f14, 0x70($sp) -/* 0D5DEC 7F0A12BC C7B00074 */ lwc1 $f16, 0x74($sp) -/* 0D5DF0 7F0A12C0 46021182 */ mul.s $f6, $f2, $f2 -/* 0D5DF4 7F0A12C4 E7A00088 */ swc1 $f0, 0x88($sp) -/* 0D5DF8 7F0A12C8 460E7102 */ mul.s $f4, $f14, $f14 -/* 0D5DFC 7F0A12CC 46043280 */ add.s $f10, $f6, $f4 -/* 0D5E00 7F0A12D0 46108202 */ mul.s $f8, $f16, $f16 -/* 0D5E04 7F0A12D4 0C007DF8 */ jal sqrtf -/* 0D5E08 7F0A12D8 460A4300 */ add.s $f12, $f8, $f10 -/* 0D5E0C 7F0A12DC C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0D5E10 7F0A12E0 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0D5E14 7F0A12E4 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0D5E18 7F0A12E8 8FB90050 */ lw $t9, 0x50($sp) -/* 0D5E1C 7F0A12EC 46043203 */ div.s $f8, $f6, $f4 -/* 0D5E20 7F0A12F0 46005183 */ div.s $f6, $f10, $f0 -/* 0D5E24 7F0A12F4 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 0D5E28 7F0A12F8 E7A60098 */ swc1 $f6, 0x98($sp) -/* 0D5E2C 7F0A12FC 9328000A */ lbu $t0, 0xa($t9) -/* 0D5E30 7F0A1300 29010002 */ slti $at, $t0, 2 -/* 0D5E34 7F0A1304 5020000A */ beql $at, $zero, .L7F0A1330 -/* 0D5E38 7F0A1308 920C0002 */ lbu $t4, 2($s0) -/* 0D5E3C 7F0A130C 93290009 */ lbu $t1, 9($t9) -/* 0D5E40 7F0A1310 24010002 */ li $at, 2 -/* 0D5E44 7F0A1314 55210006 */ bnel $t1, $at, .L7F0A1330 -/* 0D5E48 7F0A1318 920C0002 */ lbu $t4, 2($s0) -/* 0D5E4C 7F0A131C 920A0002 */ lbu $t2, 2($s0) -/* 0D5E50 7F0A1320 354B0002 */ ori $t3, $t2, 2 -/* 0D5E54 7F0A1324 10000022 */ b .L7F0A13B0 -/* 0D5E58 7F0A1328 A20B0002 */ sb $t3, 2($s0) -/* 0D5E5C 7F0A132C 920C0002 */ lbu $t4, 2($s0) -.L7F0A1330: -/* 0D5E60 7F0A1330 358D0001 */ ori $t5, $t4, 1 -/* 0D5E64 7F0A1334 1000001E */ b .L7F0A13B0 -/* 0D5E68 7F0A1338 A20D0002 */ sb $t5, 2($s0) -.L7F0A133C: -/* 0D5E6C 7F0A133C 0FC2F285 */ jal sub_GAME_7F0BCA14 -/* 0D5E70 7F0A1340 87A400FE */ lh $a0, 0xfe($sp) -/* 0D5E74 7F0A1344 0FC2D20F */ jal get_room_data_float1 -/* 0D5E78 7F0A1348 00408025 */ move $s0, $v0 -/* 0D5E7C 7F0A134C C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0D5E80 7F0A1350 C60A0000 */ lwc1 $f10, ($s0) -/* 0D5E84 7F0A1354 46002202 */ mul.s $f8, $f4, $f0 -/* 0D5E88 7F0A1358 460A4181 */ sub.s $f6, $f8, $f10 -/* 0D5E8C 7F0A135C 0FC2D20F */ jal get_room_data_float1 -/* 0D5E90 7F0A1360 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0D5E94 7F0A1364 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 0D5E98 7F0A1368 C60A0004 */ lwc1 $f10, 4($s0) -/* 0D5E9C 7F0A136C 46002202 */ mul.s $f8, $f4, $f0 -/* 0D5EA0 7F0A1370 460A4181 */ sub.s $f6, $f8, $f10 -/* 0D5EA4 7F0A1374 0FC2D20F */ jal get_room_data_float1 -/* 0D5EA8 7F0A1378 E7A600A4 */ swc1 $f6, 0xa4($sp) -/* 0D5EAC 7F0A137C C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 0D5EB0 7F0A1380 C60A0008 */ lwc1 $f10, 8($s0) -/* 0D5EB4 7F0A1384 46002202 */ mul.s $f8, $f4, $f0 -/* 0D5EB8 7F0A1388 460A4181 */ sub.s $f6, $f8, $f10 -/* 0D5EBC 7F0A138C 0FC2D20F */ jal get_room_data_float1 -/* 0D5EC0 7F0A1390 E7A600A8 */ swc1 $f6, 0xa8($sp) -/* 0D5EC4 7F0A1394 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0D5EC8 7F0A1398 46002202 */ mul.s $f8, $f4, $f0 -/* 0D5ECC 7F0A139C 0FC2D20F */ jal get_room_data_float1 -/* 0D5ED0 7F0A13A0 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 0D5ED4 7F0A13A4 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0D5ED8 7F0A13A8 46005182 */ mul.s $f6, $f10, $f0 -/* 0D5EDC 7F0A13AC E7A60098 */ swc1 $f6, 0x98($sp) -.L7F0A13B0: -/* 0D5EE0 7F0A13B0 3C128004 */ lui $s2, %hi(D_8004017C+0x68C) -/* 0D5EE4 7F0A13B4 26520808 */ addiu $s2, %lo(D_8004017C+0x68C) # addiu $s2, $s2, 0x808 -/* 0D5EE8 7F0A13B8 8E4E0000 */ lw $t6, ($s2) -/* 0D5EEC 7F0A13BC 24160050 */ li $s6, 80 -/* 0D5EF0 7F0A13C0 3C138008 */ lui $s3, %hi(ptr_bullet_impact_buf) -/* 0D5EF4 7F0A13C4 01D60019 */ multu $t6, $s6 -/* 0D5EF8 7F0A13C8 2673A154 */ addiu $s3, %lo(ptr_bullet_impact_buf) # addiu $s3, $s3, -0x5eac -/* 0D5EFC 7F0A13CC 8E780000 */ lw $t8, ($s3) -/* 0D5F00 7F0A13D0 8FAF0100 */ lw $t7, 0x100($sp) -/* 0D5F04 7F0A13D4 00004012 */ mflo $t0 -/* 0D5F08 7F0A13D8 0308C821 */ addu $t9, $t8, $t0 -/* 0D5F0C 7F0A13DC AF2F0048 */ sw $t7, 0x48($t9) -/* 0D5F10 7F0A13E0 8E4B0000 */ lw $t3, ($s2) -/* 0D5F14 7F0A13E4 8E6A0000 */ lw $t2, ($s3) -/* 0D5F18 7F0A13E8 83A90107 */ lb $t1, 0x107($sp) -/* 0D5F1C 7F0A13EC 01760019 */ multu $t3, $s6 -/* 0D5F20 7F0A13F0 00006012 */ mflo $t4 -/* 0D5F24 7F0A13F4 014C6821 */ addu $t5, $t2, $t4 -/* 0D5F28 7F0A13F8 A1A9004C */ sb $t1, 0x4c($t5) -/* 0D5F2C 7F0A13FC 8E480000 */ lw $t0, ($s2) -/* 0D5F30 7F0A1400 8E780000 */ lw $t8, ($s3) -/* 0D5F34 7F0A1404 83AE010B */ lb $t6, 0x10b($sp) -/* 0D5F38 7F0A1408 01160019 */ multu $t0, $s6 -/* 0D5F3C 7F0A140C 00007812 */ mflo $t7 -/* 0D5F40 7F0A1410 030FC821 */ addu $t9, $t8, $t7 -/* 0D5F44 7F0A1414 A32E004D */ sb $t6, 0x4d($t9) -/* 0D5F48 7F0A1418 8E4C0000 */ lw $t4, ($s2) -/* 0D5F4C 7F0A141C 8E6A0000 */ lw $t2, ($s3) -/* 0D5F50 7F0A1420 87AB00FE */ lh $t3, 0xfe($sp) -/* 0D5F54 7F0A1424 01960019 */ multu $t4, $s6 -/* 0D5F58 7F0A1428 00004812 */ mflo $t1 -/* 0D5F5C 7F0A142C 01496821 */ addu $t5, $t2, $t1 -/* 0D5F60 7F0A1430 A5AB0000 */ sh $t3, ($t5) -/* 0D5F64 7F0A1434 8E4F0000 */ lw $t7, ($s2) -/* 0D5F68 7F0A1438 8E780000 */ lw $t8, ($s3) -/* 0D5F6C 7F0A143C 87A800FA */ lh $t0, 0xfa($sp) -/* 0D5F70 7F0A1440 01F60019 */ multu $t7, $s6 -/* 0D5F74 7F0A1444 00007012 */ mflo $t6 -/* 0D5F78 7F0A1448 030EC821 */ addu $t9, $t8, $t6 -/* 0D5F7C 7F0A144C A7280002 */ sh $t0, 2($t9) -/* 0D5F80 7F0A1450 8E4A0000 */ lw $t2, ($s2) -/* 0D5F84 7F0A1454 8E6C0000 */ lw $t4, ($s3) -/* 0D5F88 7F0A1458 8EA10000 */ lw $at, ($s5) -/* 0D5F8C 7F0A145C 01560019 */ multu $t2, $s6 -/* 0D5F90 7F0A1460 00004812 */ mflo $t1 -/* 0D5F94 7F0A1464 01895821 */ addu $t3, $t4, $t1 -/* 0D5F98 7F0A1468 AD610008 */ sw $at, 8($t3) -/* 0D5F9C 7F0A146C 8EAF0004 */ lw $t7, 4($s5) -/* 0D5FA0 7F0A1470 AD6F000C */ sw $t7, 0xc($t3) -/* 0D5FA4 7F0A1474 8EA10008 */ lw $at, 8($s5) -/* 0D5FA8 7F0A1478 AD610010 */ sw $at, 0x10($t3) -/* 0D5FAC 7F0A147C 8EAF000C */ lw $t7, 0xc($s5) -/* 0D5FB0 7F0A1480 AD6F0014 */ sw $t7, 0x14($t3) -/* 0D5FB4 7F0A1484 8E4E0000 */ lw $t6, ($s2) -/* 0D5FB8 7F0A1488 8E780000 */ lw $t8, ($s3) -/* 0D5FBC 7F0A148C 8EA10000 */ lw $at, ($s5) -/* 0D5FC0 7F0A1490 01D60019 */ multu $t6, $s6 -/* 0D5FC4 7F0A1494 00004012 */ mflo $t0 -/* 0D5FC8 7F0A1498 0308C821 */ addu $t9, $t8, $t0 -/* 0D5FCC 7F0A149C AF210018 */ sw $at, 0x18($t9) -/* 0D5FD0 7F0A14A0 8EAC0004 */ lw $t4, 4($s5) -/* 0D5FD4 7F0A14A4 AF2C001C */ sw $t4, 0x1c($t9) -/* 0D5FD8 7F0A14A8 8EA10008 */ lw $at, 8($s5) -/* 0D5FDC 7F0A14AC AF210020 */ sw $at, 0x20($t9) -/* 0D5FE0 7F0A14B0 8EAC000C */ lw $t4, 0xc($s5) -/* 0D5FE4 7F0A14B4 AF2C0024 */ sw $t4, 0x24($t9) -/* 0D5FE8 7F0A14B8 8E4D0000 */ lw $t5, ($s2) -/* 0D5FEC 7F0A14BC 8E690000 */ lw $t1, ($s3) -/* 0D5FF0 7F0A14C0 8EA10000 */ lw $at, ($s5) -/* 0D5FF4 7F0A14C4 01B60019 */ multu $t5, $s6 -/* 0D5FF8 7F0A14C8 00005812 */ mflo $t3 -/* 0D5FFC 7F0A14CC 012B7821 */ addu $t7, $t1, $t3 -/* 0D6000 7F0A14D0 ADE10028 */ sw $at, 0x28($t7) -/* 0D6004 7F0A14D4 8EB80004 */ lw $t8, 4($s5) -/* 0D6008 7F0A14D8 ADF8002C */ sw $t8, 0x2c($t7) -/* 0D600C 7F0A14DC 8EA10008 */ lw $at, 8($s5) -/* 0D6010 7F0A14E0 ADE10030 */ sw $at, 0x30($t7) -/* 0D6014 7F0A14E4 8EB8000C */ lw $t8, 0xc($s5) -/* 0D6018 7F0A14E8 ADF80034 */ sw $t8, 0x34($t7) -/* 0D601C 7F0A14EC 8E4A0000 */ lw $t2, ($s2) -/* 0D6020 7F0A14F0 8E680000 */ lw $t0, ($s3) -/* 0D6024 7F0A14F4 8EA10000 */ lw $at, ($s5) -/* 0D6028 7F0A14F8 01560019 */ multu $t2, $s6 -/* 0D602C 7F0A14FC 0000C812 */ mflo $t9 -/* 0D6030 7F0A1500 01196021 */ addu $t4, $t0, $t9 -/* 0D6034 7F0A1504 AD810038 */ sw $at, 0x38($t4) -/* 0D6038 7F0A1508 8EA90004 */ lw $t1, 4($s5) -/* 0D603C 7F0A150C AD89003C */ sw $t1, 0x3c($t4) -/* 0D6040 7F0A1510 8EA10008 */ lw $at, 8($s5) -/* 0D6044 7F0A1514 AD810040 */ sw $at, 0x40($t4) -/* 0D6048 7F0A1518 8EA9000C */ lw $t1, 0xc($s5) -/* 0D604C 7F0A151C AD890044 */ sw $t1, 0x44($t4) -/* 0D6050 7F0A1520 C7A800C4 */ lwc1 $f8, 0xc4($sp) -/* 0D6054 7F0A1524 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0D6058 7F0A1528 C7A600B8 */ lwc1 $f6, 0xb8($sp) -/* 0D605C 7F0A152C C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0D6060 7F0A1530 46082002 */ mul.s $f0, $f4, $f8 -/* 0D6064 7F0A1534 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 0D6068 7F0A1538 46065082 */ mul.s $f2, $f10, $f6 -/* 0D606C 7F0A153C E7A0004C */ swc1 $f0, 0x4c($sp) -/* 0D6070 7F0A1540 46002201 */ sub.s $f8, $f4, $f0 -/* 0D6074 7F0A1544 E7A20048 */ swc1 $f2, 0x48($sp) -/* 0D6078 7F0A1548 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D607C 7F0A154C 46024301 */ sub.s $f12, $f8, $f2 -/* 0D6080 7F0A1550 8E4E0000 */ lw $t6, ($s2) -/* 0D6084 7F0A1554 8E6B0000 */ lw $t3, ($s3) -/* 0D6088 7F0A1558 44804000 */ mtc1 $zero, $f8 -/* 0D608C 7F0A155C 01D60019 */ multu $t6, $s6 -/* 0D6090 7F0A1560 00007812 */ mflo $t7 -/* 0D6094 7F0A1564 016FC021 */ addu $t8, $t3, $t7 -/* 0D6098 7F0A1568 A7020008 */ sh $v0, 8($t8) -/* 0D609C 7F0A156C C7A600B4 */ lwc1 $f6, 0xb4($sp) -/* 0D60A0 7F0A1570 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0D60A4 7F0A1574 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 0D60A8 7F0A1578 46065002 */ mul.s $f0, $f10, $f6 -/* 0D60AC 7F0A157C 46082281 */ sub.s $f10, $f4, $f8 -/* 0D60B0 7F0A1580 46005301 */ sub.s $f12, $f10, $f0 -/* 0D60B4 7F0A1584 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D60B8 7F0A1588 E7A00044 */ swc1 $f0, 0x44($sp) -/* 0D60BC 7F0A158C 8E480000 */ lw $t0, ($s2) -/* 0D60C0 7F0A1590 8E6A0000 */ lw $t2, ($s3) -/* 0D60C4 7F0A1594 01160019 */ multu $t0, $s6 -/* 0D60C8 7F0A1598 0000C812 */ mflo $t9 -/* 0D60CC 7F0A159C 01596821 */ addu $t5, $t2, $t9 -/* 0D60D0 7F0A15A0 A5A2000A */ sh $v0, 0xa($t5) -/* 0D60D4 7F0A15A4 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 0D60D8 7F0A15A8 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0D60DC 7F0A15AC C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 0D60E0 7F0A15B0 C7A80098 */ lwc1 $f8, 0x98($sp) -/* 0D60E4 7F0A15B4 46043002 */ mul.s $f0, $f6, $f4 -/* 0D60E8 7F0A15B8 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 0D60EC 7F0A15BC 460A4082 */ mul.s $f2, $f8, $f10 -/* 0D60F0 7F0A15C0 E7A00040 */ swc1 $f0, 0x40($sp) -/* 0D60F4 7F0A15C4 46003101 */ sub.s $f4, $f6, $f0 -/* 0D60F8 7F0A15C8 E7A2003C */ swc1 $f2, 0x3c($sp) -/* 0D60FC 7F0A15CC 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D6100 7F0A15D0 46022301 */ sub.s $f12, $f4, $f2 -/* 0D6104 7F0A15D4 8E490000 */ lw $t1, ($s2) -/* 0D6108 7F0A15D8 8E6C0000 */ lw $t4, ($s3) -/* 0D610C 7F0A15DC 3C108009 */ lui $s0, %hi(impactimages) -/* 0D6110 7F0A15E0 01360019 */ multu $t1, $s6 -/* 0D6114 7F0A15E4 2610D0BC */ addiu $s0, %lo(impactimages) # addiu $s0, $s0, -0x2f44 -/* 0D6118 7F0A15E8 00007012 */ mflo $t6 -/* 0D611C 7F0A15EC 018E5821 */ addu $t3, $t4, $t6 -/* 0D6120 7F0A15F0 A562000C */ sh $v0, 0xc($t3) -/* 0D6124 7F0A15F4 8E580000 */ lw $t8, ($s2) -/* 0D6128 7F0A15F8 8E6F0000 */ lw $t7, ($s3) -/* 0D612C 7F0A15FC 03160019 */ multu $t8, $s6 -/* 0D6130 7F0A1600 00004012 */ mflo $t0 -/* 0D6134 7F0A1604 01E85021 */ addu $t2, $t7, $t0 -/* 0D6138 7F0A1608 A5400010 */ sh $zero, 0x10($t2) -/* 0D613C 7F0A160C 8E4B0000 */ lw $t3, ($s2) -/* 0D6140 7F0A1610 8E190000 */ lw $t9, ($s0) -/* 0D6144 7F0A1614 8E6E0000 */ lw $t6, ($s3) -/* 0D6148 7F0A1618 01760019 */ multu $t3, $s6 -/* 0D614C 7F0A161C 03346821 */ addu $t5, $t9, $s4 -/* 0D6150 7F0A1620 91A90005 */ lbu $t1, 5($t5) -/* 0D6154 7F0A1624 00096140 */ sll $t4, $t1, 5 -/* 0D6158 7F0A1628 0000C012 */ mflo $t8 -/* 0D615C 7F0A162C 01D87821 */ addu $t7, $t6, $t8 -/* 0D6160 7F0A1630 A5EC0012 */ sh $t4, 0x12($t7) -/* 0D6164 7F0A1634 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0D6168 7F0A1638 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 0D616C 7F0A163C C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0D6170 7F0A1640 460A4181 */ sub.s $f6, $f8, $f10 -/* 0D6174 7F0A1644 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D6178 7F0A1648 46043300 */ add.s $f12, $f6, $f4 -/* 0D617C 7F0A164C 8E4A0000 */ lw $t2, ($s2) -/* 0D6180 7F0A1650 8E680000 */ lw $t0, ($s3) -/* 0D6184 7F0A1654 44805000 */ mtc1 $zero, $f10 -/* 0D6188 7F0A1658 01560019 */ multu $t2, $s6 -/* 0D618C 7F0A165C 0000C812 */ mflo $t9 -/* 0D6190 7F0A1660 01196821 */ addu $t5, $t0, $t9 -/* 0D6194 7F0A1664 A5A20018 */ sh $v0, 0x18($t5) -/* 0D6198 7F0A1668 C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 0D619C 7F0A166C C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0D61A0 7F0A1670 460A4181 */ sub.s $f6, $f8, $f10 -/* 0D61A4 7F0A1674 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D61A8 7F0A1678 46043300 */ add.s $f12, $f6, $f4 -/* 0D61AC 7F0A167C 8E4B0000 */ lw $t3, ($s2) -/* 0D61B0 7F0A1680 8E690000 */ lw $t1, ($s3) -/* 0D61B4 7F0A1684 01760019 */ multu $t3, $s6 -/* 0D61B8 7F0A1688 00007012 */ mflo $t6 -/* 0D61BC 7F0A168C 012EC021 */ addu $t8, $t1, $t6 -/* 0D61C0 7F0A1690 A702001A */ sh $v0, 0x1a($t8) -/* 0D61C4 7F0A1694 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0D61C8 7F0A1698 C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 0D61CC 7F0A169C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0D61D0 7F0A16A0 460A4181 */ sub.s $f6, $f8, $f10 -/* 0D61D4 7F0A16A4 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D61D8 7F0A16A8 46043300 */ add.s $f12, $f6, $f4 -/* 0D61DC 7F0A16AC 8E4F0000 */ lw $t7, ($s2) -/* 0D61E0 7F0A16B0 8E6C0000 */ lw $t4, ($s3) -/* 0D61E4 7F0A16B4 01F60019 */ multu $t7, $s6 -/* 0D61E8 7F0A16B8 00005012 */ mflo $t2 -/* 0D61EC 7F0A16BC 018A4021 */ addu $t0, $t4, $t2 -/* 0D61F0 7F0A16C0 A502001C */ sh $v0, 0x1c($t0) -/* 0D61F4 7F0A16C4 8E4D0000 */ lw $t5, ($s2) -/* 0D61F8 7F0A16C8 8E790000 */ lw $t9, ($s3) -/* 0D61FC 7F0A16CC 01B60019 */ multu $t5, $s6 -/* 0D6200 7F0A16D0 00005812 */ mflo $t3 -/* 0D6204 7F0A16D4 032B4821 */ addu $t1, $t9, $t3 -/* 0D6208 7F0A16D8 A5200020 */ sh $zero, 0x20($t1) -/* 0D620C 7F0A16DC 8E580000 */ lw $t8, ($s2) -/* 0D6210 7F0A16E0 8E6E0000 */ lw $t6, ($s3) -/* 0D6214 7F0A16E4 03160019 */ multu $t8, $s6 -/* 0D6218 7F0A16E8 00007812 */ mflo $t7 -/* 0D621C 7F0A16EC 01CF6021 */ addu $t4, $t6, $t7 -/* 0D6220 7F0A16F0 A5800022 */ sh $zero, 0x22($t4) -/* 0D6224 7F0A16F4 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0D6228 7F0A16F8 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 0D622C 7F0A16FC C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0D6230 7F0A1700 460A4180 */ add.s $f6, $f8, $f10 -/* 0D6234 7F0A1704 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D6238 7F0A1708 46043300 */ add.s $f12, $f6, $f4 -/* 0D623C 7F0A170C 8E480000 */ lw $t0, ($s2) -/* 0D6240 7F0A1710 8E6A0000 */ lw $t2, ($s3) -/* 0D6244 7F0A1714 44805000 */ mtc1 $zero, $f10 -/* 0D6248 7F0A1718 01160019 */ multu $t0, $s6 -/* 0D624C 7F0A171C 00006812 */ mflo $t5 -/* 0D6250 7F0A1720 014DC821 */ addu $t9, $t2, $t5 -/* 0D6254 7F0A1724 A7220028 */ sh $v0, 0x28($t9) -/* 0D6258 7F0A1728 C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 0D625C 7F0A172C C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0D6260 7F0A1730 460A4180 */ add.s $f6, $f8, $f10 -/* 0D6264 7F0A1734 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D6268 7F0A1738 46043300 */ add.s $f12, $f6, $f4 -/* 0D626C 7F0A173C 8E490000 */ lw $t1, ($s2) -/* 0D6270 7F0A1740 8E6B0000 */ lw $t3, ($s3) -/* 0D6274 7F0A1744 01360019 */ multu $t1, $s6 -/* 0D6278 7F0A1748 0000C012 */ mflo $t8 -/* 0D627C 7F0A174C 01787021 */ addu $t6, $t3, $t8 -/* 0D6280 7F0A1750 A5C2002A */ sh $v0, 0x2a($t6) -/* 0D6284 7F0A1754 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0D6288 7F0A1758 C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 0D628C 7F0A175C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0D6290 7F0A1760 460A4180 */ add.s $f6, $f8, $f10 -/* 0D6294 7F0A1764 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D6298 7F0A1768 46043300 */ add.s $f12, $f6, $f4 -/* 0D629C 7F0A176C 8E4C0000 */ lw $t4, ($s2) -/* 0D62A0 7F0A1770 8E6F0000 */ lw $t7, ($s3) -/* 0D62A4 7F0A1774 01960019 */ multu $t4, $s6 -/* 0D62A8 7F0A1778 00004012 */ mflo $t0 -/* 0D62AC 7F0A177C 01E85021 */ addu $t2, $t7, $t0 -/* 0D62B0 7F0A1780 A542002C */ sh $v0, 0x2c($t2) -/* 0D62B4 7F0A1784 8E4E0000 */ lw $t6, ($s2) -/* 0D62B8 7F0A1788 8E0D0000 */ lw $t5, ($s0) -/* 0D62BC 7F0A178C 8E780000 */ lw $t8, ($s3) -/* 0D62C0 7F0A1790 01D60019 */ multu $t6, $s6 -/* 0D62C4 7F0A1794 01B4C821 */ addu $t9, $t5, $s4 -/* 0D62C8 7F0A1798 93290004 */ lbu $t1, 4($t9) -/* 0D62CC 7F0A179C 00095940 */ sll $t3, $t1, 5 -/* 0D62D0 7F0A17A0 00006012 */ mflo $t4 -/* 0D62D4 7F0A17A4 030C7821 */ addu $t7, $t8, $t4 -/* 0D62D8 7F0A17A8 A5EB0030 */ sh $t3, 0x30($t7) -/* 0D62DC 7F0A17AC 8E4A0000 */ lw $t2, ($s2) -/* 0D62E0 7F0A17B0 8E680000 */ lw $t0, ($s3) -/* 0D62E4 7F0A17B4 01560019 */ multu $t2, $s6 -/* 0D62E8 7F0A17B8 00006812 */ mflo $t5 -/* 0D62EC 7F0A17BC 010DC821 */ addu $t9, $t0, $t5 -/* 0D62F0 7F0A17C0 A7200032 */ sh $zero, 0x32($t9) -/* 0D62F4 7F0A17C4 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0D62F8 7F0A17C8 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 0D62FC 7F0A17CC C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0D6300 7F0A17D0 460A4180 */ add.s $f6, $f8, $f10 -/* 0D6304 7F0A17D4 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D6308 7F0A17D8 46043301 */ sub.s $f12, $f6, $f4 -/* 0D630C 7F0A17DC 8E4E0000 */ lw $t6, ($s2) -/* 0D6310 7F0A17E0 8E690000 */ lw $t1, ($s3) -/* 0D6314 7F0A17E4 44805000 */ mtc1 $zero, $f10 -/* 0D6318 7F0A17E8 01D60019 */ multu $t6, $s6 -/* 0D631C 7F0A17EC 0000C012 */ mflo $t8 -/* 0D6320 7F0A17F0 01386021 */ addu $t4, $t1, $t8 -/* 0D6324 7F0A17F4 A5820038 */ sh $v0, 0x38($t4) -/* 0D6328 7F0A17F8 C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 0D632C 7F0A17FC C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0D6330 7F0A1800 460A4180 */ add.s $f6, $f8, $f10 -/* 0D6334 7F0A1804 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D6338 7F0A1808 46043301 */ sub.s $f12, $f6, $f4 -/* 0D633C 7F0A180C 8E4F0000 */ lw $t7, ($s2) -/* 0D6340 7F0A1810 8E6B0000 */ lw $t3, ($s3) -/* 0D6344 7F0A1814 01F60019 */ multu $t7, $s6 -/* 0D6348 7F0A1818 00005012 */ mflo $t2 -/* 0D634C 7F0A181C 016A4021 */ addu $t0, $t3, $t2 -/* 0D6350 7F0A1820 A502003A */ sh $v0, 0x3a($t0) -/* 0D6354 7F0A1824 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0D6358 7F0A1828 C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 0D635C 7F0A182C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 0D6360 7F0A1830 460A4180 */ add.s $f6, $f8, $f10 -/* 0D6364 7F0A1834 0FC2831D */ jal sub_GAME_7F0A0C74 -/* 0D6368 7F0A1838 46043301 */ sub.s $f12, $f6, $f4 -/* 0D636C 7F0A183C 8E590000 */ lw $t9, ($s2) -/* 0D6370 7F0A1840 8E6D0000 */ lw $t5, ($s3) -/* 0D6374 7F0A1844 00008825 */ move $s1, $zero -/* 0D6378 7F0A1848 03360019 */ multu $t9, $s6 -/* 0D637C 7F0A184C 24150028 */ li $s5, 40 -/* 0D6380 7F0A1850 00007012 */ mflo $t6 -/* 0D6384 7F0A1854 01AE4821 */ addu $t1, $t5, $t6 -/* 0D6388 7F0A1858 A522003C */ sh $v0, 0x3c($t1) -/* 0D638C 7F0A185C 8E480000 */ lw $t0, ($s2) -/* 0D6390 7F0A1860 8E180000 */ lw $t8, ($s0) -/* 0D6394 7F0A1864 8E6A0000 */ lw $t2, ($s3) -/* 0D6398 7F0A1868 01160019 */ multu $t0, $s6 -/* 0D639C 7F0A186C 03146021 */ addu $t4, $t8, $s4 -/* 0D63A0 7F0A1870 918F0004 */ lbu $t7, 4($t4) -/* 0D63A4 7F0A1874 000F5940 */ sll $t3, $t7, 5 -/* 0D63A8 7F0A1878 0000C812 */ mflo $t9 -/* 0D63AC 7F0A187C 01596821 */ addu $t5, $t2, $t9 -/* 0D63B0 7F0A1880 A5AB0040 */ sh $t3, 0x40($t5) -/* 0D63B4 7F0A1884 8E480000 */ lw $t0, ($s2) -/* 0D63B8 7F0A1888 8E0E0000 */ lw $t6, ($s0) -/* 0D63BC 7F0A188C 8E6F0000 */ lw $t7, ($s3) -/* 0D63C0 7F0A1890 01160019 */ multu $t0, $s6 -/* 0D63C4 7F0A1894 01D44821 */ addu $t1, $t6, $s4 -/* 0D63C8 7F0A1898 91380005 */ lbu $t8, 5($t1) -/* 0D63CC 7F0A189C 241400FF */ li $s4, 255 -/* 0D63D0 7F0A18A0 00186140 */ sll $t4, $t8, 5 -/* 0D63D4 7F0A18A4 00005012 */ mflo $t2 -/* 0D63D8 7F0A18A8 01EAC821 */ addu $t9, $t7, $t2 -/* 0D63DC 7F0A18AC A72C0042 */ sh $t4, 0x42($t9) -/* 0D63E0 7F0A18B0 93A40061 */ lbu $a0, 0x61($sp) -/* 0D63E4 7F0A18B4 93A50062 */ lbu $a1, 0x62($sp) -.L7F0A18B8: -/* 0D63E8 7F0A18B8 8FAB0050 */ lw $t3, 0x50($sp) -/* 0D63EC 7F0A18BC 24010001 */ li $at, 1 -/* 0D63F0 7F0A18C0 91620008 */ lbu $v0, 8($t3) -/* 0D63F4 7F0A18C4 10400013 */ beqz $v0, .L7F0A1914 -/* 0D63F8 7F0A18C8 00000000 */ nop -/* 0D63FC 7F0A18CC 10410005 */ beq $v0, $at, .L7F0A18E4 -/* 0D6400 7F0A18D0 24010002 */ li $at, 2 -/* 0D6404 7F0A18D4 1041001A */ beq $v0, $at, .L7F0A1940 -/* 0D6408 7F0A18D8 00000000 */ nop -/* 0D640C 7F0A18DC 1000002E */ b .L7F0A1998 -/* 0D6410 7F0A18E0 00008025 */ move $s0, $zero -.L7F0A18E4: -/* 0D6414 7F0A18E4 0C002914 */ jal get_random_value -/* 0D6418 7F0A18E8 00000000 */ nop -/* 0D641C 7F0A18EC 0055001B */ divu $zero, $v0, $s5 -/* 0D6420 7F0A18F0 00006810 */ mfhi $t5 -/* 0D6424 7F0A18F4 028D1823 */ subu $v1, $s4, $t5 -/* 0D6428 7F0A18F8 16A00002 */ bnez $s5, .L7F0A1904 -/* 0D642C 7F0A18FC 00000000 */ nop -/* 0D6430 7F0A1900 0007000D */ break 7 -.L7F0A1904: -/* 0D6434 7F0A1904 306400FF */ andi $a0, $v1, 0xff -/* 0D6438 7F0A1908 306500FF */ andi $a1, $v1, 0xff -/* 0D643C 7F0A190C 10000022 */ b .L7F0A1998 -/* 0D6440 7F0A1910 307000FF */ andi $s0, $v1, 0xff -.L7F0A1914: -/* 0D6444 7F0A1914 0C002914 */ jal get_random_value -/* 0D6448 7F0A1918 00000000 */ nop -/* 0D644C 7F0A191C 0055001B */ divu $zero, $v0, $s5 -/* 0D6450 7F0A1920 00001810 */ mfhi $v1 -/* 0D6454 7F0A1924 306400FF */ andi $a0, $v1, 0xff -/* 0D6458 7F0A1928 16A00002 */ bnez $s5, .L7F0A1934 -/* 0D645C 7F0A192C 00000000 */ nop -/* 0D6460 7F0A1930 0007000D */ break 7 -.L7F0A1934: -/* 0D6464 7F0A1934 306500FF */ andi $a1, $v1, 0xff -/* 0D6468 7F0A1938 10000017 */ b .L7F0A1998 -/* 0D646C 7F0A193C 307000FF */ andi $s0, $v1, 0xff -.L7F0A1940: -/* 0D6470 7F0A1940 0C002914 */ jal get_random_value -/* 0D6474 7F0A1944 00000000 */ nop -/* 0D6478 7F0A1948 304E0001 */ andi $t6, $v0, 1 -/* 0D647C 7F0A194C 11C00003 */ beqz $t6, .L7F0A195C -/* 0D6480 7F0A1950 00008025 */ move $s0, $zero -/* 0D6484 7F0A1954 10000001 */ b .L7F0A195C -/* 0D6488 7F0A1958 329000FF */ andi $s0, $s4, 0xff -.L7F0A195C: -/* 0D648C 7F0A195C 0C002914 */ jal get_random_value -/* 0D6490 7F0A1960 00000000 */ nop -/* 0D6494 7F0A1964 30490001 */ andi $t1, $v0, 1 -/* 0D6498 7F0A1968 11200003 */ beqz $t1, .L7F0A1978 -/* 0D649C 7F0A196C 00002825 */ move $a1, $zero -/* 0D64A0 7F0A1970 10000001 */ b .L7F0A1978 -/* 0D64A4 7F0A1974 328500FF */ andi $a1, $s4, 0xff -.L7F0A1978: -/* 0D64A8 7F0A1978 0C002914 */ jal get_random_value -/* 0D64AC 7F0A197C A3A50062 */ sb $a1, 0x62($sp) -/* 0D64B0 7F0A1980 30580001 */ andi $t8, $v0, 1 -/* 0D64B4 7F0A1984 13000003 */ beqz $t8, .L7F0A1994 -/* 0D64B8 7F0A1988 93A50062 */ lbu $a1, 0x62($sp) -/* 0D64BC 7F0A198C 10000002 */ b .L7F0A1998 -/* 0D64C0 7F0A1990 328400FF */ andi $a0, $s4, 0xff -.L7F0A1994: -/* 0D64C4 7F0A1994 00002025 */ move $a0, $zero -.L7F0A1998: -/* 0D64C8 7F0A1998 8E4F0000 */ lw $t7, ($s2) -/* 0D64CC 7F0A199C 8E680000 */ lw $t0, ($s3) -/* 0D64D0 7F0A19A0 24010040 */ li $at, 64 -/* 0D64D4 7F0A19A4 000F5080 */ sll $t2, $t7, 2 -/* 0D64D8 7F0A19A8 014F5021 */ addu $t2, $t2, $t7 -/* 0D64DC 7F0A19AC 000A5100 */ sll $t2, $t2, 4 -/* 0D64E0 7F0A19B0 010A6021 */ addu $t4, $t0, $t2 -/* 0D64E4 7F0A19B4 0191C821 */ addu $t9, $t4, $s1 -/* 0D64E8 7F0A19B8 A3300014 */ sb $s0, 0x14($t9) -/* 0D64EC 7F0A19BC 8E4D0000 */ lw $t5, ($s2) -/* 0D64F0 7F0A19C0 8E6B0000 */ lw $t3, ($s3) -/* 0D64F4 7F0A19C4 000D7080 */ sll $t6, $t5, 2 -/* 0D64F8 7F0A19C8 01CD7021 */ addu $t6, $t6, $t5 -/* 0D64FC 7F0A19CC 000E7100 */ sll $t6, $t6, 4 -/* 0D6500 7F0A19D0 016E4821 */ addu $t1, $t3, $t6 -/* 0D6504 7F0A19D4 0131C021 */ addu $t8, $t1, $s1 -/* 0D6508 7F0A19D8 A3050015 */ sb $a1, 0x15($t8) -/* 0D650C 7F0A19DC 8E480000 */ lw $t0, ($s2) -/* 0D6510 7F0A19E0 8E6F0000 */ lw $t7, ($s3) -/* 0D6514 7F0A19E4 00085080 */ sll $t2, $t0, 2 -/* 0D6518 7F0A19E8 01485021 */ addu $t2, $t2, $t0 -/* 0D651C 7F0A19EC 000A5100 */ sll $t2, $t2, 4 -/* 0D6520 7F0A19F0 01EA6021 */ addu $t4, $t7, $t2 -/* 0D6524 7F0A19F4 0191C821 */ addu $t9, $t4, $s1 -/* 0D6528 7F0A19F8 A3240016 */ sb $a0, 0x16($t9) -/* 0D652C 7F0A19FC 8E4B0000 */ lw $t3, ($s2) -/* 0D6530 7F0A1A00 8E6D0000 */ lw $t5, ($s3) -/* 0D6534 7F0A1A04 000B7080 */ sll $t6, $t3, 2 -/* 0D6538 7F0A1A08 01CB7021 */ addu $t6, $t6, $t3 -/* 0D653C 7F0A1A0C 000E7100 */ sll $t6, $t6, 4 -/* 0D6540 7F0A1A10 01AE4821 */ addu $t1, $t5, $t6 -/* 0D6544 7F0A1A14 0131C021 */ addu $t8, $t1, $s1 -/* 0D6548 7F0A1A18 26310010 */ addiu $s1, $s1, 0x10 -/* 0D654C 7F0A1A1C 1621FFA6 */ bne $s1, $at, .L7F0A18B8 -/* 0D6550 7F0A1A20 A3140017 */ sb $s4, 0x17($t8) -/* 0D6554 7F0A1A24 8E480000 */ lw $t0, ($s2) -/* 0D6558 7F0A1A28 A3A40061 */ sb $a0, 0x61($sp) -/* 0D655C 7F0A1A2C A3A50062 */ sb $a1, 0x62($sp) -/* 0D6560 7F0A1A30 25040001 */ addiu $a0, $t0, 1 -/* 0D6564 7F0A1A34 28810064 */ slti $at, $a0, 0x64 -/* 0D6568 7F0A1A38 14200003 */ bnez $at, .L7F0A1A48 -/* 0D656C 7F0A1A3C AE440000 */ sw $a0, ($s2) -/* 0D6570 7F0A1A40 AE400000 */ sw $zero, ($s2) -/* 0D6574 7F0A1A44 00002025 */ move $a0, $zero -.L7F0A1A48: -/* 0D6578 7F0A1A48 0FC283A6 */ jal sub_GAME_7F0A0E98 -/* 0D657C 7F0A1A4C 00000000 */ nop -/* 0D6580 7F0A1A50 8E590000 */ lw $t9, ($s2) -/* 0D6584 7F0A1A54 8E6C0000 */ lw $t4, ($s3) -/* 0D6588 7F0A1A58 240AFFFF */ li $t2, -1 -/* 0D658C 7F0A1A5C 03360019 */ multu $t9, $s6 -/* 0D6590 7F0A1A60 00005812 */ mflo $t3 -/* 0D6594 7F0A1A64 018B6821 */ addu $t5, $t4, $t3 -/* 0D6598 7F0A1A68 A5AA0000 */ sh $t2, ($t5) -/* 0D659C 7F0A1A6C 8FBF0034 */ lw $ra, 0x34($sp) -/* 0D65A0 7F0A1A70 8FB60030 */ lw $s6, 0x30($sp) -/* 0D65A4 7F0A1A74 8FB5002C */ lw $s5, 0x2c($sp) -/* 0D65A8 7F0A1A78 8FB40028 */ lw $s4, 0x28($sp) -/* 0D65AC 7F0A1A7C 8FB30024 */ lw $s3, 0x24($sp) -/* 0D65B0 7F0A1A80 8FB20020 */ lw $s2, 0x20($sp) -/* 0D65B4 7F0A1A84 8FB1001C */ lw $s1, 0x1c($sp) -/* 0D65B8 7F0A1A88 8FB00018 */ lw $s0, 0x18($sp) -/* 0D65BC 7F0A1A8C 03E00008 */ jr $ra -/* 0D65C0 7F0A1A90 27BD00F0 */ addiu $sp, $sp, 0xf0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A1A94(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A1A94 -/* 0D65C4 7F0A1A94 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0D65C8 7F0A1A98 AFB60038 */ sw $s6, 0x38($sp) -/* 0D65CC 7F0A1A9C AFB50034 */ sw $s5, 0x34($sp) -/* 0D65D0 7F0A1AA0 240EFFFF */ li $t6, -1 -/* 0D65D4 7F0A1AA4 00A0B025 */ move $s6, $a1 -/* 0D65D8 7F0A1AA8 AFBF0044 */ sw $ra, 0x44($sp) -/* 0D65DC 7F0A1AAC AFBE0040 */ sw $fp, 0x40($sp) -/* 0D65E0 7F0A1AB0 AFB7003C */ sw $s7, 0x3c($sp) -/* 0D65E4 7F0A1AB4 AFB40030 */ sw $s4, 0x30($sp) -/* 0D65E8 7F0A1AB8 AFB3002C */ sw $s3, 0x2c($sp) -/* 0D65EC 7F0A1ABC AFB20028 */ sw $s2, 0x28($sp) -/* 0D65F0 7F0A1AC0 AFB10024 */ sw $s1, 0x24($sp) -/* 0D65F4 7F0A1AC4 AFB00020 */ sw $s0, 0x20($sp) -/* 0D65F8 7F0A1AC8 AFA40060 */ sw $a0, 0x60($sp) -/* 0D65FC 7F0A1ACC AFA60068 */ sw $a2, 0x68($sp) -/* 0D6600 7F0A1AD0 2415FFFF */ li $s5, -1 -/* 0D6604 7F0A1AD4 AFA00050 */ sw $zero, 0x50($sp) -/* 0D6608 7F0A1AD8 AFA0004C */ sw $zero, 0x4c($sp) -/* 0D660C 7F0A1ADC 10A00003 */ beqz $a1, .L7F0A1AEC -/* 0D6610 7F0A1AE0 AFAE0048 */ sw $t6, 0x48($sp) -/* 0D6614 7F0A1AE4 8CAF0004 */ lw $t7, 4($a1) -/* 0D6618 7F0A1AE8 AFAF004C */ sw $t7, 0x4c($sp) -.L7F0A1AEC: -/* 0D661C 7F0A1AEC 8FB80060 */ lw $t8, 0x60($sp) -/* 0D6620 7F0A1AF0 3C08B600 */ lui $t0, 0xb600 -/* 0D6624 7F0A1AF4 24093000 */ li $t1, 12288 -/* 0D6628 7F0A1AF8 27190008 */ addiu $t9, $t8, 8 -/* 0D662C 7F0A1AFC AFB90060 */ sw $t9, 0x60($sp) -/* 0D6630 7F0A1B00 AF090004 */ sw $t1, 4($t8) -/* 0D6634 7F0A1B04 AF080000 */ sw $t0, ($t8) -/* 0D6638 7F0A1B08 8FAA0060 */ lw $t2, 0x60($sp) -/* 0D663C 7F0A1B0C 3C0CBA00 */ lui $t4, (0xBA000602 >> 16) # lui $t4, 0xba00 -/* 0D6640 7F0A1B10 358C0602 */ ori $t4, (0xBA000602 & 0xFFFF) # ori $t4, $t4, 0x602 -/* 0D6644 7F0A1B14 254B0008 */ addiu $t3, $t2, 8 -/* 0D6648 7F0A1B18 AFAB0060 */ sw $t3, 0x60($sp) -/* 0D664C 7F0A1B1C 240D0080 */ li $t5, 128 -/* 0D6650 7F0A1B20 3C1E8004 */ lui $fp, %hi(D_8004080C) -/* 0D6654 7F0A1B24 3C178008 */ lui $s7, %hi(ptr_bullet_impact_buf) -/* 0D6658 7F0A1B28 26F7A154 */ addiu $s7, %lo(ptr_bullet_impact_buf) # addiu $s7, $s7, -0x5eac -/* 0D665C 7F0A1B2C 27DE080C */ addiu $fp, %lo(D_8004080C) # addiu $fp, $fp, 0x80c -/* 0D6660 7F0A1B30 0000A025 */ move $s4, $zero -/* 0D6664 7F0A1B34 AD4D0004 */ sw $t5, 4($t2) -/* 0D6668 7F0A1B38 AD4C0000 */ sw $t4, ($t2) -/* 0D666C 7F0A1B3C 8EEE0000 */ lw $t6, ($s7) -.L7F0A1B40: -/* 0D6670 7F0A1B40 01D41821 */ addu $v1, $t6, $s4 -/* 0D6674 7F0A1B44 8C6F0048 */ lw $t7, 0x48($v1) -/* 0D6678 7F0A1B48 56CF0068 */ bnel $s6, $t7, .L7F0A1CEC -/* 0D667C 7F0A1B4C 26940050 */ addiu $s4, $s4, 0x50 -/* 0D6680 7F0A1B50 84650000 */ lh $a1, ($v1) -/* 0D6684 7F0A1B54 04A20065 */ bltzl $a1, .L7F0A1CEC -/* 0D6688 7F0A1B58 26940050 */ addiu $s4, $s4, 0x50 -/* 0D668C 7F0A1B5C 56C00008 */ bnezl $s6, .L7F0A1B80 -/* 0D6690 7F0A1B60 8FB90068 */ lw $t9, 0x68($sp) -/* 0D6694 7F0A1B64 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 0D6698 7F0A1B68 00A02025 */ move $a0, $a1 -/* 0D669C 7F0A1B6C 5040005F */ beql $v0, $zero, .L7F0A1CEC -/* 0D66A0 7F0A1B70 26940050 */ addiu $s4, $s4, 0x50 -/* 0D66A4 7F0A1B74 8EF80000 */ lw $t8, ($s7) -/* 0D66A8 7F0A1B78 03141821 */ addu $v1, $t8, $s4 -/* 0D66AC 7F0A1B7C 8FB90068 */ lw $t9, 0x68($sp) -.L7F0A1B80: -/* 0D66B0 7F0A1B80 84730002 */ lh $s3, 2($v1) -/* 0D66B4 7F0A1B84 240C0001 */ li $t4, 1 -/* 0D66B8 7F0A1B88 1320000D */ beqz $t9, .L7F0A1BC0 -/* 0D66BC 7F0A1B8C 00139080 */ sll $s2, $s3, 2 -/* 0D66C0 7F0A1B90 00139080 */ sll $s2, $s3, 2 -/* 0D66C4 7F0A1B94 02539023 */ subu $s2, $s2, $s3 -/* 0D66C8 7F0A1B98 00129080 */ sll $s2, $s2, 2 -/* 0D66CC 7F0A1B9C 03D28021 */ addu $s0, $fp, $s2 -/* 0D66D0 7F0A1BA0 9202000A */ lbu $v0, 0xa($s0) -/* 0D66D4 7F0A1BA4 28480002 */ slti $t0, $v0, 2 -/* 0D66D8 7F0A1BA8 11000010 */ beqz $t0, .L7F0A1BEC -/* 0D66DC 7F0A1BAC 01001025 */ move $v0, $t0 -/* 0D66E0 7F0A1BB0 92020009 */ lbu $v0, 9($s0) -/* 0D66E4 7F0A1BB4 38490002 */ xori $t1, $v0, 2 -/* 0D66E8 7F0A1BB8 1000000C */ b .L7F0A1BEC -/* 0D66EC 7F0A1BBC 2D220001 */ sltiu $v0, $t1, 1 -.L7F0A1BC0: -/* 0D66F0 7F0A1BC0 02539023 */ subu $s2, $s2, $s3 -/* 0D66F4 7F0A1BC4 00129080 */ sll $s2, $s2, 2 -/* 0D66F8 7F0A1BC8 03D28021 */ addu $s0, $fp, $s2 -/* 0D66FC 7F0A1BCC 9202000A */ lbu $v0, 0xa($s0) -/* 0D6700 7F0A1BD0 284A0002 */ slti $t2, $v0, 2 -/* 0D6704 7F0A1BD4 39420001 */ xori $v0, $t2, 1 -/* 0D6708 7F0A1BD8 14400004 */ bnez $v0, .L7F0A1BEC -/* 0D670C 7F0A1BDC 00000000 */ nop -/* 0D6710 7F0A1BE0 92020009 */ lbu $v0, 9($s0) -/* 0D6714 7F0A1BE4 384B0002 */ xori $t3, $v0, 2 -/* 0D6718 7F0A1BE8 000B102B */ sltu $v0, $zero, $t3 -.L7F0A1BEC: -/* 0D671C 7F0A1BEC 5040003F */ beql $v0, $zero, .L7F0A1CEC -/* 0D6720 7F0A1BF0 26940050 */ addiu $s4, $s4, 0x50 -/* 0D6724 7F0A1BF4 12C00014 */ beqz $s6, .L7F0A1C48 -/* 0D6728 7F0A1BF8 AFAC0050 */ sw $t4, 0x50($sp) -/* 0D672C 7F0A1BFC 8062004C */ lb $v0, 0x4c($v1) -/* 0D6730 7F0A1C00 8FAE004C */ lw $t6, 0x4c($sp) -/* 0D6734 7F0A1C04 8FB10060 */ lw $s1, 0x60($sp) -/* 0D6738 7F0A1C08 12A20018 */ beq $s5, $v0, .L7F0A1C6C -/* 0D673C 7F0A1C0C 00026980 */ sll $t5, $v0, 6 -/* 0D6740 7F0A1C10 8DCF0014 */ lw $t7, 0x14($t6) -/* 0D6744 7F0A1C14 0002AC00 */ sll $s5, $v0, 0x10 -/* 0D6748 7F0A1C18 26290008 */ addiu $t1, $s1, 8 -/* 0D674C 7F0A1C1C 8DF8000C */ lw $t8, 0xc($t7) -/* 0D6750 7F0A1C20 3C0A0102 */ lui $t2, (0x01020040 >> 16) # lui $t2, 0x102 -/* 0D6754 7F0A1C24 0015CC03 */ sra $t9, $s5, 0x10 -/* 0D6758 7F0A1C28 354A0040 */ ori $t2, (0x01020040 & 0xFFFF) # ori $t2, $t2, 0x40 -/* 0D675C 7F0A1C2C AFA90060 */ sw $t1, 0x60($sp) -/* 0D6760 7F0A1C30 0320A825 */ move $s5, $t9 -/* 0D6764 7F0A1C34 AE2A0000 */ sw $t2, ($s1) -/* 0D6768 7F0A1C38 0C003A2C */ jal osVirtualToPhysical -/* 0D676C 7F0A1C3C 01B82021 */ addu $a0, $t5, $t8 -/* 0D6770 7F0A1C40 1000000A */ b .L7F0A1C6C -/* 0D6774 7F0A1C44 AE220004 */ sw $v0, 4($s1) -.L7F0A1C48: -/* 0D6778 7F0A1C48 84650000 */ lh $a1, ($v1) -/* 0D677C 7F0A1C4C 8FA40060 */ lw $a0, 0x60($sp) -/* 0D6780 7F0A1C50 52A50007 */ beql $s5, $a1, .L7F0A1C70 -/* 0D6784 7F0A1C54 8FAC0048 */ lw $t4, 0x48($sp) -/* 0D6788 7F0A1C58 0005AC00 */ sll $s5, $a1, 0x10 -/* 0D678C 7F0A1C5C 00155C03 */ sra $t3, $s5, 0x10 -/* 0D6790 7F0A1C60 0FC2F271 */ jal sub_GAME_7F0BC9C4 -/* 0D6794 7F0A1C64 0160A825 */ move $s5, $t3 -/* 0D6798 7F0A1C68 AFA20060 */ sw $v0, 0x60($sp) -.L7F0A1C6C: -/* 0D679C 7F0A1C6C 8FAC0048 */ lw $t4, 0x48($sp) -.L7F0A1C70: -/* 0D67A0 7F0A1C70 27A40060 */ addiu $a0, $sp, 0x60 -/* 0D67A4 7F0A1C74 3C0E8009 */ lui $t6, %hi(impactimages) -/* 0D67A8 7F0A1C78 11930008 */ beq $t4, $s3, .L7F0A1C9C -/* 0D67AC 7F0A1C7C 240F0002 */ li $t7, 2 -/* 0D67B0 7F0A1C80 8DCED0BC */ lw $t6, %lo(impactimages)($t6) -/* 0D67B4 7F0A1C84 92060009 */ lbu $a2, 9($s0) -/* 0D67B8 7F0A1C88 9207000A */ lbu $a3, 0xa($s0) -/* 0D67BC 7F0A1C8C AFAF0010 */ sw $t7, 0x10($sp) -/* 0D67C0 7F0A1C90 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0D67C4 7F0A1C94 024E2821 */ addu $a1, $s2, $t6 -/* 0D67C8 7F0A1C98 AFB30048 */ sw $s3, 0x48($sp) -.L7F0A1C9C: -/* 0D67CC 7F0A1C9C 8FB00060 */ lw $s0, 0x60($sp) -/* 0D67D0 7F0A1CA0 3C190430 */ lui $t9, (0x04300040 >> 16) # lui $t9, 0x430 -/* 0D67D4 7F0A1CA4 37390040 */ ori $t9, (0x04300040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 0D67D8 7F0A1CA8 26180008 */ addiu $t8, $s0, 8 -/* 0D67DC 7F0A1CAC AFB80060 */ sw $t8, 0x60($sp) -/* 0D67E0 7F0A1CB0 AE190000 */ sw $t9, ($s0) -/* 0D67E4 7F0A1CB4 8EE80000 */ lw $t0, ($s7) -/* 0D67E8 7F0A1CB8 01142021 */ addu $a0, $t0, $s4 -/* 0D67EC 7F0A1CBC 0C003A2C */ jal osVirtualToPhysical -/* 0D67F0 7F0A1CC0 24840008 */ addiu $a0, $a0, 8 -/* 0D67F4 7F0A1CC4 AE020004 */ sw $v0, 4($s0) -/* 0D67F8 7F0A1CC8 8FA90060 */ lw $t1, 0x60($sp) -/* 0D67FC 7F0A1CCC 3C0BB100 */ lui $t3, (0xB1000032 >> 16) # lui $t3, 0xb100 -/* 0D6800 7F0A1CD0 356B0032 */ ori $t3, (0xB1000032 & 0xFFFF) # ori $t3, $t3, 0x32 -/* 0D6804 7F0A1CD4 252A0008 */ addiu $t2, $t1, 8 -/* 0D6808 7F0A1CD8 AFAA0060 */ sw $t2, 0x60($sp) -/* 0D680C 7F0A1CDC 240C2010 */ li $t4, 8208 -/* 0D6810 7F0A1CE0 AD2C0004 */ sw $t4, 4($t1) -/* 0D6814 7F0A1CE4 AD2B0000 */ sw $t3, ($t1) -/* 0D6818 7F0A1CE8 26940050 */ addiu $s4, $s4, 0x50 -.L7F0A1CEC: -/* 0D681C 7F0A1CEC 24011F40 */ li $at, 8000 -/* 0D6820 7F0A1CF0 5681FF93 */ bnel $s4, $at, .L7F0A1B40 -/* 0D6824 7F0A1CF4 8EEE0000 */ lw $t6, ($s7) -/* 0D6828 7F0A1CF8 12C0000A */ beqz $s6, .L7F0A1D24 -/* 0D682C 7F0A1CFC 8FAE0050 */ lw $t6, 0x50($sp) -/* 0D6830 7F0A1D00 15C00008 */ bnez $t6, .L7F0A1D24 -/* 0D6834 7F0A1D04 8FAF004C */ lw $t7, 0x4c($sp) -/* 0D6838 7F0A1D08 8FB80068 */ lw $t8, 0x68($sp) -/* 0D683C 7F0A1D0C 91ED0002 */ lbu $t5, 2($t7) -/* 0D6840 7F0A1D10 24190001 */ li $t9, 1 -/* 0D6844 7F0A1D14 03194004 */ sllv $t0, $t9, $t8 -/* 0D6848 7F0A1D18 01004827 */ not $t1, $t0 -/* 0D684C 7F0A1D1C 01A95024 */ and $t2, $t5, $t1 -/* 0D6850 7F0A1D20 A1EA0002 */ sb $t2, 2($t7) -.L7F0A1D24: -/* 0D6854 7F0A1D24 8FAB0060 */ lw $t3, 0x60($sp) -/* 0D6858 7F0A1D28 3C0EBA00 */ lui $t6, (0xBA000602 >> 16) # lui $t6, 0xba00 -/* 0D685C 7F0A1D2C 35CE0602 */ ori $t6, (0xBA000602 & 0xFFFF) # ori $t6, $t6, 0x602 -/* 0D6860 7F0A1D30 256C0008 */ addiu $t4, $t3, 8 -/* 0D6864 7F0A1D34 AFAC0060 */ sw $t4, 0x60($sp) -/* 0D6868 7F0A1D38 24190040 */ li $t9, 64 -/* 0D686C 7F0A1D3C AD790004 */ sw $t9, 4($t3) -/* 0D6870 7F0A1D40 AD6E0000 */ sw $t6, ($t3) -/* 0D6874 7F0A1D44 8FBF0044 */ lw $ra, 0x44($sp) -/* 0D6878 7F0A1D48 8FBE0040 */ lw $fp, 0x40($sp) -/* 0D687C 7F0A1D4C 8FB7003C */ lw $s7, 0x3c($sp) -/* 0D6880 7F0A1D50 8FB60038 */ lw $s6, 0x38($sp) -/* 0D6884 7F0A1D54 8FB50034 */ lw $s5, 0x34($sp) -/* 0D6888 7F0A1D58 8FB40030 */ lw $s4, 0x30($sp) -/* 0D688C 7F0A1D5C 8FB3002C */ lw $s3, 0x2c($sp) -/* 0D6890 7F0A1D60 8FB20028 */ lw $s2, 0x28($sp) -/* 0D6894 7F0A1D64 8FB10024 */ lw $s1, 0x24($sp) -/* 0D6898 7F0A1D68 8FB00020 */ lw $s0, 0x20($sp) -/* 0D689C 7F0A1D6C 8FA20060 */ lw $v0, 0x60($sp) -/* 0D68A0 7F0A1D70 03E00008 */ jr $ra -/* 0D68A4 7F0A1D74 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - - -void sub_GAME_7F0A1D78(u32 *param_1) -{ - sub_GAME_7F0A1A94(param_1,0,0); -} - - diff --git a/src/game/unk_0A1DA0.c b/src/game/unk_0A1DA0.c deleted file mode 100644 index 0c25459..0000000 --- a/src/game/unk_0A1DA0.c +++ /dev/null @@ -1,3281 +0,0 @@ -#include "ultra64.h" - -// bss -//CODE.bss:8007A160 -u32 dword_CODE_bss_8007A160; -//CODE.bss:8007A164 -u32 dword_CODE_bss_8007A164; -//CODE.bss:8007A168 -u32 dword_CODE_bss_8007A168; -//CODE.bss:8007A16C -u32 dword_CODE_bss_8007A16C; -//CODE.bss:8007A170 -u8 dword_CODE_bss_8007A170[0x370]; -//CODE.bss:8007A4E0 -u8 dword_CODE_bss_8007A4E0[0xBB8]; -//CODE.bss:8007B098 -u8 dword_CODE_bss_8007B098[8]; - - -// data -//D:80040940 -u32 D_80040940[] = { - 0, 0, 0, 0, - 0, 0, 0, 0 -}; - -//D:80040960 -u32 D_80040960[] = { - 0xFFFFFFFF, - 0xFFFFC8FF, - 0xFF0000FF, - 0xFFFFFFFF, - 0xFFFFFFFF, - 0xFFFFFFFF, - 0, 0 -}; - -u32 D_80040980 = 0; -u32 D_80040984 = 0; -u32 D_80040988 = 0; -u32 D_8004098C = 0; -u32 D_80040990 = 0; -u32 D_80040994 = 0; -u32 D_80040998 = 0; -u32 D_8004099C = 0; - -// rodata - - - -#ifdef NONMATCHING -void sub_GAME_7F0A1DA0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057710 -.word 0x3dcccccd /*0.1*/ -glabel D_80057714 -.word 0x3f333333 /*0.69999999*/ -.text -glabel sub_GAME_7F0A1DA0 -/* 0D68D0 7F0A1DA0 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 0D68D4 7F0A1DA4 AFBF005C */ sw $ra, 0x5c($sp) -/* 0D68D8 7F0A1DA8 AFB50058 */ sw $s5, 0x58($sp) -/* 0D68DC 7F0A1DAC AFB40054 */ sw $s4, 0x54($sp) -/* 0D68E0 7F0A1DB0 AFB30050 */ sw $s3, 0x50($sp) -/* 0D68E4 7F0A1DB4 AFB2004C */ sw $s2, 0x4c($sp) -/* 0D68E8 7F0A1DB8 AFB10048 */ sw $s1, 0x48($sp) -/* 0D68EC 7F0A1DBC AFB00044 */ sw $s0, 0x44($sp) -/* 0D68F0 7F0A1DC0 F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 0D68F4 7F0A1DC4 F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 0D68F8 7F0A1DC8 F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 0D68FC 7F0A1DCC F7B80020 */ sdc1 $f24, 0x20($sp) -/* 0D6900 7F0A1DD0 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 0D6904 7F0A1DD4 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0D6908 7F0A1DD8 C4A40000 */ lwc1 $f4, ($a1) -/* 0D690C 7F0A1DDC 00C08025 */ move $s0, $a2 -/* 0D6910 7F0A1DE0 00808825 */ move $s1, $a0 -/* 0D6914 7F0A1DE4 E7A40090 */ swc1 $f4, 0x90($sp) -/* 0D6918 7F0A1DE8 C4A60004 */ lwc1 $f6, 4($a1) -/* 0D691C 7F0A1DEC C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0D6920 7F0A1DF0 00E09025 */ move $s2, $a3 -/* 0D6924 7F0A1DF4 E7A60094 */ swc1 $f6, 0x94($sp) -/* 0D6928 7F0A1DF8 460A5402 */ mul.s $f16, $f10, $f10 -/* 0D692C 7F0A1DFC C4A80008 */ lwc1 $f8, 8($a1) -/* 0D6930 7F0A1E00 C7B20094 */ lwc1 $f18, 0x94($sp) -/* 0D6934 7F0A1E04 E7A80098 */ swc1 $f8, 0x98($sp) -/* 0D6938 7F0A1E08 46129102 */ mul.s $f4, $f18, $f18 -/* 0D693C 7F0A1E0C C7A80098 */ lwc1 $f8, 0x98($sp) -/* 0D6940 7F0A1E10 46084282 */ mul.s $f10, $f8, $f8 -/* 0D6944 7F0A1E14 46048180 */ add.s $f6, $f16, $f4 -/* 0D6948 7F0A1E18 0C007DF8 */ jal sqrtf -/* 0D694C 7F0A1E1C 46065300 */ add.s $f12, $f10, $f6 -/* 0D6950 7F0A1E20 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D6954 7F0A1E24 4481D000 */ mtc1 $at, $f26 -/* 0D6958 7F0A1E28 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 0D695C 7F0A1E2C C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0D6960 7F0A1E30 4600D503 */ div.s $f20, $f26, $f0 -/* 0D6964 7F0A1E34 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0D6968 7F0A1E38 C7B600F0 */ lwc1 $f22, 0xf0($sp) -/* 0D696C 7F0A1E3C C7BC00F4 */ lwc1 $f28, 0xf4($sp) -/* 0D6970 7F0A1E40 46149402 */ mul.s $f16, $f18, $f20 -/* 0D6974 7F0A1E44 00000000 */ nop -/* 0D6978 7F0A1E48 46142202 */ mul.s $f8, $f4, $f20 -/* 0D697C 7F0A1E4C 00000000 */ nop -/* 0D6980 7F0A1E50 46145182 */ mul.s $f6, $f10, $f20 -/* 0D6984 7F0A1E54 E7B00090 */ swc1 $f16, 0x90($sp) -/* 0D6988 7F0A1E58 4600B582 */ mul.s $f22, $f22, $f0 -/* 0D698C 7F0A1E5C E7A80094 */ swc1 $f8, 0x94($sp) -/* 0D6990 7F0A1E60 4600E702 */ mul.s $f28, $f28, $f0 -/* 0D6994 7F0A1E64 E7A60098 */ swc1 $f6, 0x98($sp) -/* 0D6998 7F0A1E68 C6120000 */ lwc1 $f18, ($s0) -/* 0D699C 7F0A1E6C E7B20084 */ swc1 $f18, 0x84($sp) -/* 0D69A0 7F0A1E70 C6100004 */ lwc1 $f16, 4($s0) -/* 0D69A4 7F0A1E74 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 0D69A8 7F0A1E78 E7B00088 */ swc1 $f16, 0x88($sp) -/* 0D69AC 7F0A1E7C 46084282 */ mul.s $f10, $f8, $f8 -/* 0D69B0 7F0A1E80 C6040008 */ lwc1 $f4, 8($s0) -/* 0D69B4 7F0A1E84 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 0D69B8 7F0A1E88 E7A4008C */ swc1 $f4, 0x8c($sp) -/* 0D69BC 7F0A1E8C 46063482 */ mul.s $f18, $f6, $f6 -/* 0D69C0 7F0A1E90 C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 0D69C4 7F0A1E94 46042202 */ mul.s $f8, $f4, $f4 -/* 0D69C8 7F0A1E98 46125400 */ add.s $f16, $f10, $f18 -/* 0D69CC 7F0A1E9C 0C007DF8 */ jal sqrtf -/* 0D69D0 7F0A1EA0 46104300 */ add.s $f12, $f8, $f16 -/* 0D69D4 7F0A1EA4 4600D503 */ div.s $f20, $f26, $f0 -/* 0D69D8 7F0A1EA8 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 0D69DC 7F0A1EAC C7B20088 */ lwc1 $f18, 0x88($sp) -/* 0D69E0 7F0A1EB0 C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 0D69E4 7F0A1EB4 C7B800F8 */ lwc1 $f24, 0xf8($sp) -/* 0D69E8 7F0A1EB8 46143282 */ mul.s $f10, $f6, $f20 -/* 0D69EC 7F0A1EBC C7A600FC */ lwc1 $f6, 0xfc($sp) -/* 0D69F0 7F0A1EC0 46149102 */ mul.s $f4, $f18, $f20 -/* 0D69F4 7F0A1EC4 00000000 */ nop -/* 0D69F8 7F0A1EC8 46144402 */ mul.s $f16, $f8, $f20 -/* 0D69FC 7F0A1ECC E7AA0084 */ swc1 $f10, 0x84($sp) -/* 0D6A00 7F0A1ED0 4600C602 */ mul.s $f24, $f24, $f0 -/* 0D6A04 7F0A1ED4 E7A40088 */ swc1 $f4, 0x88($sp) -/* 0D6A08 7F0A1ED8 46003282 */ mul.s $f10, $f6, $f0 -/* 0D6A0C 7F0A1EDC E7B0008C */ swc1 $f16, 0x8c($sp) -/* 0D6A10 7F0A1EE0 E7AA00FC */ swc1 $f10, 0xfc($sp) -/* 0D6A14 7F0A1EE4 C64E0008 */ lwc1 $f14, 8($s2) -/* 0D6A18 7F0A1EE8 0FC16A8C */ jal convert_angle_using_inverse -/* 0D6A1C 7F0A1EEC C64C0000 */ lwc1 $f12, ($s2) -/* 0D6A20 7F0A1EF0 C7B200FC */ lwc1 $f18, 0xfc($sp) -/* 0D6A24 7F0A1EF4 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_8007A160) -/* 0D6A28 7F0A1EF8 8DCEA160 */ lw $t6, %lo(dword_CODE_bss_8007A160)($t6) -/* 0D6A2C 7F0A1EFC 4616E501 */ sub.s $f20, $f28, $f22 -/* 0D6A30 7F0A1F00 46000786 */ mov.s $f30, $f0 -/* 0D6A34 7F0A1F04 46189681 */ sub.s $f26, $f18, $f24 -/* 0D6A38 7F0A1F08 461AA102 */ mul.s $f4, $f20, $f26 -/* 0D6A3C 7F0A1F0C 05C10003 */ bgez $t6, .L7F0A1F1C -/* 0D6A40 7F0A1F10 000E7843 */ sra $t7, $t6, 1 -/* 0D6A44 7F0A1F14 25C10001 */ addiu $at, $t6, 1 -/* 0D6A48 7F0A1F18 00017843 */ sra $t7, $at, 1 -.L7F0A1F1C: -/* 0D6A4C 7F0A1F1C 448F4000 */ mtc1 $t7, $f8 -/* 0D6A50 7F0A1F20 00000000 */ nop -/* 0D6A54 7F0A1F24 46804420 */ cvt.s.w $f16, $f8 -/* 0D6A58 7F0A1F28 0C007DF8 */ jal sqrtf -/* 0D6A5C 7F0A1F2C 46102303 */ div.s $f12, $f4, $f16 -/* 0D6A60 7F0A1F30 4600018D */ trunc.w.s $f6, $f0 -/* 0D6A64 7F0A1F34 C7A80090 */ lwc1 $f8, 0x90($sp) -/* 0D6A68 7F0A1F38 E7A000B0 */ swc1 $f0, 0xb0($sp) -/* 0D6A6C 7F0A1F3C C6320000 */ lwc1 $f18, ($s1) -/* 0D6A70 7F0A1F40 44023000 */ mfc1 $v0, $f6 -/* 0D6A74 7F0A1F44 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 0D6A78 7F0A1F48 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0D6A7C 7F0A1F4C 0002C843 */ sra $t9, $v0, 1 -/* 0D6A80 7F0A1F50 44995000 */ mtc1 $t9, $f10 -/* 0D6A84 7F0A1F54 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0D6A88 7F0A1F58 24050047 */ li $a1, 71 -/* 0D6A8C 7F0A1F5C 468053A0 */ cvt.s.w $f14, $f10 -/* 0D6A90 7F0A1F60 00003025 */ move $a2, $zero -/* 0D6A94 7F0A1F64 00408025 */ move $s0, $v0 -/* 0D6A98 7F0A1F68 00409025 */ move $s2, $v0 -/* 0D6A9C 7F0A1F6C 460EB300 */ add.s $f12, $f22, $f14 -/* 0D6AA0 7F0A1F70 460EC080 */ add.s $f2, $f24, $f14 -/* 0D6AA4 7F0A1F74 46086102 */ mul.s $f4, $f12, $f8 -/* 0D6AA8 7F0A1F78 46049400 */ add.s $f16, $f18, $f4 -/* 0D6AAC 7F0A1F7C 46023282 */ mul.s $f10, $f6, $f2 -/* 0D6AB0 7F0A1F80 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0D6AB4 7F0A1F84 46046182 */ mul.s $f6, $f12, $f4 -/* 0D6AB8 7F0A1F88 46105200 */ add.s $f8, $f10, $f16 -/* 0D6ABC 7F0A1F8C C7B00088 */ lwc1 $f16, 0x88($sp) -/* 0D6AC0 7F0A1F90 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 0D6AC4 7F0A1F94 46028202 */ mul.s $f8, $f16, $f2 -/* 0D6AC8 7F0A1F98 C6320004 */ lwc1 $f18, 4($s1) -/* 0D6ACC 7F0A1F9C 46069280 */ add.s $f10, $f18, $f6 -/* 0D6AD0 7F0A1FA0 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 0D6AD4 7F0A1FA4 460A4100 */ add.s $f4, $f8, $f10 -/* 0D6AD8 7F0A1FA8 46066402 */ mul.s $f16, $f12, $f6 -/* 0D6ADC 7F0A1FAC C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0D6AE0 7F0A1FB0 E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 0D6AE4 7F0A1FB4 46025102 */ mul.s $f4, $f10, $f2 -/* 0D6AE8 7F0A1FB8 C6320008 */ lwc1 $f18, 8($s1) -/* 0D6AEC 7F0A1FBC 46109200 */ add.s $f8, $f18, $f16 -/* 0D6AF0 7F0A1FC0 46082180 */ add.s $f6, $f4, $f8 -/* 0D6AF4 7F0A1FC4 0C002382 */ jal play_sfx_a1 -/* 0D6AF8 7F0A1FC8 E7A600A4 */ swc1 $f6, 0xa4($sp) -/* 0D6AFC 7F0A1FCC 00402025 */ move $a0, $v0 -/* 0D6B00 7F0A1FD0 0FC14E84 */ jal sub_GAME_7F053A10 -/* 0D6B04 7F0A1FD4 02202825 */ move $a1, $s1 -/* 0D6B08 7F0A1FD8 44922000 */ mtc1 $s2, $f4 -/* 0D6B0C 7F0A1FDC 44909000 */ mtc1 $s0, $f18 -/* 0D6B10 7F0A1FE0 00009825 */ move $s3, $zero -/* 0D6B14 7F0A1FE4 46802220 */ cvt.s.w $f8, $f4 -/* 0D6B18 7F0A1FE8 3C018005 */ lui $at, %hi(D_80057710) -/* 0D6B1C 7F0A1FEC 468095A0 */ cvt.s.w $f22, $f18 -/* 0D6B20 7F0A1FF0 E7A80068 */ swc1 $f8, 0x68($sp) -/* 0D6B24 7F0A1FF4 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 0D6B28 7F0A1FF8 4606D483 */ div.s $f18, $f26, $f6 -/* 0D6B2C 7F0A1FFC 4616A403 */ div.s $f16, $f20, $f22 -/* 0D6B30 7F0A2000 4600828D */ trunc.w.s $f10, $f16 -/* 0D6B34 7F0A2004 4600940D */ trunc.w.s $f16, $f18 -/* 0D6B38 7F0A2008 44145000 */ mfc1 $s4, $f10 -/* 0D6B3C 7F0A200C 44158000 */ mfc1 $s5, $f16 -/* 0D6B40 7F0A2010 02808825 */ move $s1, $s4 -/* 0D6B44 7F0A2014 5AA00044 */ blezl $s5, .L7F0A2128 -/* 0D6B48 7F0A2018 8FBF005C */ lw $ra, 0x5c($sp) -/* 0D6B4C 7F0A201C C43C7710 */ lwc1 $f28, %lo(D_80057710)($at) -/* 0D6B50 7F0A2020 3C018005 */ lui $at, %hi(D_80057714) -/* 0D6B54 7F0A2024 C43A7714 */ lwc1 $f26, %lo(D_80057714)($at) -/* 0D6B58 7F0A2028 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D6B5C 7F0A202C 4481C000 */ mtc1 $at, $f24 -/* 0D6B60 7F0A2030 27B200C0 */ addiu $s2, $sp, 0xc0 -.L7F0A2034: -/* 0D6B64 7F0A2034 1A800037 */ blez $s4, .L7F0A2114 -/* 0D6B68 7F0A2038 00008025 */ move $s0, $zero -/* 0D6B6C 7F0A203C 44935000 */ mtc1 $s3, $f10 -/* 0D6B70 7F0A2040 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 0D6B74 7F0A2044 46805120 */ cvt.s.w $f4, $f10 -/* 0D6B78 7F0A2048 46082502 */ mul.s $f20, $f4, $f8 -/* 0D6B7C 7F0A204C 00000000 */ nop -/* 0D6B80 7F0A2050 44903000 */ mtc1 $s0, $f6 -.L7F0A2054: -/* 0D6B84 7F0A2054 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0D6B88 7F0A2058 C7B0009C */ lwc1 $f16, 0x9c($sp) -/* 0D6B8C 7F0A205C 468034A0 */ cvt.s.w $f18, $f6 -/* 0D6B90 7F0A2060 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 0D6B94 7F0A2064 46169002 */ mul.s $f0, $f18, $f22 -/* 0D6B98 7F0A2068 00000000 */ nop -/* 0D6B9C 7F0A206C 460A0102 */ mul.s $f4, $f0, $f10 -/* 0D6BA0 7F0A2070 46048200 */ add.s $f8, $f16, $f4 -/* 0D6BA4 7F0A2074 46143482 */ mul.s $f18, $f6, $f20 -/* 0D6BA8 7F0A2078 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0D6BAC 7F0A207C C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 0D6BB0 7F0A2080 46040182 */ mul.s $f6, $f0, $f4 -/* 0D6BB4 7F0A2084 46089280 */ add.s $f10, $f18, $f8 -/* 0D6BB8 7F0A2088 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 0D6BBC 7F0A208C 46068480 */ add.s $f18, $f16, $f6 -/* 0D6BC0 7F0A2090 E7AA00C0 */ swc1 $f10, 0xc0($sp) -/* 0D6BC4 7F0A2094 46144282 */ mul.s $f10, $f8, $f20 -/* 0D6BC8 7F0A2098 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 0D6BCC 7F0A209C C7B000A4 */ lwc1 $f16, 0xa4($sp) -/* 0D6BD0 7F0A20A0 46060202 */ mul.s $f8, $f0, $f6 -/* 0D6BD4 7F0A20A4 46125100 */ add.s $f4, $f10, $f18 -/* 0D6BD8 7F0A20A8 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 0D6BDC 7F0A20AC 46088280 */ add.s $f10, $f16, $f8 -/* 0D6BE0 7F0A20B0 E7A400C4 */ swc1 $f4, 0xc4($sp) -/* 0D6BE4 7F0A20B4 46149102 */ mul.s $f4, $f18, $f20 -/* 0D6BE8 7F0A20B8 460A2180 */ add.s $f6, $f4, $f10 -/* 0D6BEC 7F0A20BC 0C002914 */ jal get_random_value -/* 0D6BF0 7F0A20C0 E7A600C8 */ swc1 $f6, 0xc8($sp) -/* 0D6BF4 7F0A20C4 44828000 */ mtc1 $v0, $f16 -/* 0D6BF8 7F0A20C8 4405F000 */ mfc1 $a1, $f30 -/* 0D6BFC 7F0A20CC 02402025 */ move $a0, $s2 -/* 0D6C00 7F0A20D0 04410005 */ bgez $v0, .L7F0A20E8 -/* 0D6C04 7F0A20D4 46808220 */ cvt.s.w $f8, $f16 -/* 0D6C08 7F0A20D8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D6C0C 7F0A20DC 44819000 */ mtc1 $at, $f18 -/* 0D6C10 7F0A20E0 00000000 */ nop -/* 0D6C14 7F0A20E4 46124200 */ add.s $f8, $f8, $f18 -.L7F0A20E8: -/* 0D6C18 7F0A20E8 46184102 */ mul.s $f4, $f8, $f24 -/* 0D6C1C 7F0A20EC C7B000B0 */ lwc1 $f16, 0xb0($sp) -/* 0D6C20 7F0A20F0 461A2282 */ mul.s $f10, $f4, $f26 -/* 0D6C24 7F0A20F4 461C5180 */ add.s $f6, $f10, $f28 -/* 0D6C28 7F0A20F8 46103482 */ mul.s $f18, $f6, $f16 -/* 0D6C2C 7F0A20FC 44069000 */ mfc1 $a2, $f18 -/* 0D6C30 7F0A2100 0FC28858 */ jal sub_GAME_7F0A2160 -/* 0D6C34 7F0A2104 00000000 */ nop -/* 0D6C38 7F0A2108 26100001 */ addiu $s0, $s0, 1 -/* 0D6C3C 7F0A210C 5611FFD1 */ bnel $s0, $s1, .L7F0A2054 -/* 0D6C40 7F0A2110 44903000 */ mtc1 $s0, $f6 -.L7F0A2114: -/* 0D6C44 7F0A2114 26730001 */ addiu $s3, $s3, 1 -/* 0D6C48 7F0A2118 0275082A */ slt $at, $s3, $s5 -/* 0D6C4C 7F0A211C 1420FFC5 */ bnez $at, .L7F0A2034 -/* 0D6C50 7F0A2120 00000000 */ nop -/* 0D6C54 7F0A2124 8FBF005C */ lw $ra, 0x5c($sp) -.L7F0A2128: -/* 0D6C58 7F0A2128 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0D6C5C 7F0A212C D7B60018 */ ldc1 $f22, 0x18($sp) -/* 0D6C60 7F0A2130 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 0D6C64 7F0A2134 D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 0D6C68 7F0A2138 D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 0D6C6C 7F0A213C D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 0D6C70 7F0A2140 8FB00044 */ lw $s0, 0x44($sp) -/* 0D6C74 7F0A2144 8FB10048 */ lw $s1, 0x48($sp) -/* 0D6C78 7F0A2148 8FB2004C */ lw $s2, 0x4c($sp) -/* 0D6C7C 7F0A214C 8FB30050 */ lw $s3, 0x50($sp) -/* 0D6C80 7F0A2150 8FB40054 */ lw $s4, 0x54($sp) -/* 0D6C84 7F0A2154 8FB50058 */ lw $s5, 0x58($sp) -/* 0D6C88 7F0A2158 03E00008 */ jr $ra -/* 0D6C8C 7F0A215C 27BD00E0 */ addiu $sp, $sp, 0xe0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A2160(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057718 -.word 0x3f8f5c29 /*1.12*/ -glabel D_8005771C -.word 0x3df5c28f /*0.12*/ -glabel D_80057720 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80057724 -.word 0x3dcccccd /*0.1*/ -.text -glabel sub_GAME_7F0A2160 -/* 0D6C90 7F0A2160 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0D6C94 7F0A2164 AFBF003C */ sw $ra, 0x3c($sp) -/* 0D6C98 7F0A2168 AFB20038 */ sw $s2, 0x38($sp) -/* 0D6C9C 7F0A216C AFB10034 */ sw $s1, 0x34($sp) -/* 0D6CA0 7F0A2170 AFB00030 */ sw $s0, 0x30($sp) -/* 0D6CA4 7F0A2174 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0D6CA8 7F0A2178 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D6CAC 7F0A217C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D6CB0 7F0A2180 AFA40058 */ sw $a0, 0x58($sp) -/* 0D6CB4 7F0A2184 AFA5005C */ sw $a1, 0x5c($sp) -/* 0D6CB8 7F0A2188 0C002914 */ jal get_random_value -/* 0D6CBC 7F0A218C AFA60060 */ sw $a2, 0x60($sp) -/* 0D6CC0 7F0A2190 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D6CC4 7F0A2194 4481A000 */ mtc1 $at, $f20 -/* 0D6CC8 7F0A2198 44822000 */ mtc1 $v0, $f4 -/* 0D6CCC 7F0A219C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D6CD0 7F0A21A0 4481B000 */ mtc1 $at, $f22 -/* 0D6CD4 7F0A21A4 04410005 */ bgez $v0, .L7F0A21BC -/* 0D6CD8 7F0A21A8 468021A0 */ cvt.s.w $f6, $f4 -/* 0D6CDC 7F0A21AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D6CE0 7F0A21B0 44814000 */ mtc1 $at, $f8 -/* 0D6CE4 7F0A21B4 00000000 */ nop -/* 0D6CE8 7F0A21B8 46083180 */ add.s $f6, $f6, $f8 -.L7F0A21BC: -/* 0D6CEC 7F0A21BC 46143002 */ mul.s $f0, $f6, $f20 -/* 0D6CF0 7F0A21C0 46000280 */ add.s $f10, $f0, $f0 -/* 0D6CF4 7F0A21C4 0C002914 */ jal get_random_value -/* 0D6CF8 7F0A21C8 46165601 */ sub.s $f24, $f10, $f22 -/* 0D6CFC 7F0A21CC 44828000 */ mtc1 $v0, $f16 -/* 0D6D00 7F0A21D0 04410005 */ bgez $v0, .L7F0A21E8 -/* 0D6D04 7F0A21D4 468084A0 */ cvt.s.w $f18, $f16 -/* 0D6D08 7F0A21D8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D6D0C 7F0A21DC 44812000 */ mtc1 $at, $f4 -/* 0D6D10 7F0A21E0 00000000 */ nop -/* 0D6D14 7F0A21E4 46049480 */ add.s $f18, $f18, $f4 -.L7F0A21E8: -/* 0D6D18 7F0A21E8 46149202 */ mul.s $f8, $f18, $f20 -/* 0D6D1C 7F0A21EC 3C018005 */ lui $at, %hi(D_80057718) -/* 0D6D20 7F0A21F0 C4267718 */ lwc1 $f6, %lo(D_80057718)($at) -/* 0D6D24 7F0A21F4 3C018005 */ lui $at, %hi(D_8005771C) -/* 0D6D28 7F0A21F8 C430771C */ lwc1 $f16, %lo(D_8005771C)($at) -/* 0D6D2C 7F0A21FC 46064282 */ mul.s $f10, $f8, $f6 -/* 0D6D30 7F0A2200 46105101 */ sub.s $f4, $f10, $f16 -/* 0D6D34 7F0A2204 0C002914 */ jal get_random_value -/* 0D6D38 7F0A2208 E7A40050 */ swc1 $f4, 0x50($sp) -/* 0D6D3C 7F0A220C 3C108004 */ lui $s0, %hi(D_80040940) -/* 0D6D40 7F0A2210 26100940 */ addiu $s0, %lo(D_80040940) # addiu $s0, $s0, 0x940 -/* 0D6D44 7F0A2214 8E180000 */ lw $t8, ($s0) -/* 0D6D48 7F0A2218 24120068 */ li $s2, 104 -/* 0D6D4C 7F0A221C 3C118008 */ lui $s1, %hi(dword_CODE_bss_8007A164) -/* 0D6D50 7F0A2220 03120019 */ multu $t8, $s2 -/* 0D6D54 7F0A2224 2631A164 */ addiu $s1, %lo(dword_CODE_bss_8007A164) # addiu $s1, $s1, -0x5e9c -/* 0D6D58 7F0A2228 8E2F0000 */ lw $t7, ($s1) -/* 0D6D5C 7F0A222C 8FA30058 */ lw $v1, 0x58($sp) -/* 0D6D60 7F0A2230 240E0001 */ li $t6, 1 -/* 0D6D64 7F0A2234 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0D6D68 7F0A2238 44811000 */ mtc1 $at, $f2 -/* 0D6D6C 7F0A223C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 0D6D70 7F0A2240 44812000 */ mtc1 $at, $f4 -/* 0D6D74 7F0A2244 4602C282 */ mul.s $f10, $f24, $f2 -/* 0D6D78 7F0A2248 0000C812 */ mflo $t9 -/* 0D6D7C 7F0A224C 01F94021 */ addu $t0, $t7, $t9 -/* 0D6D80 7F0A2250 AD0E0000 */ sw $t6, ($t0) -/* 0D6D84 7F0A2254 8E0A0000 */ lw $t2, ($s0) -/* 0D6D88 7F0A2258 8E290000 */ lw $t1, ($s1) -/* 0D6D8C 7F0A225C C4720000 */ lwc1 $f18, ($v1) -/* 0D6D90 7F0A2260 01520019 */ multu $t2, $s2 -/* 0D6D94 7F0A2264 00005812 */ mflo $t3 -/* 0D6D98 7F0A2268 012B6021 */ addu $t4, $t1, $t3 -/* 0D6D9C 7F0A226C E5920004 */ swc1 $f18, 4($t4) -/* 0D6DA0 7F0A2270 8E180000 */ lw $t8, ($s0) -/* 0D6DA4 7F0A2274 8E2D0000 */ lw $t5, ($s1) -/* 0D6DA8 7F0A2278 C4680004 */ lwc1 $f8, 4($v1) -/* 0D6DAC 7F0A227C 03120019 */ multu $t8, $s2 -/* 0D6DB0 7F0A2280 00007812 */ mflo $t7 -/* 0D6DB4 7F0A2284 01AFC821 */ addu $t9, $t5, $t7 -/* 0D6DB8 7F0A2288 E7280008 */ swc1 $f8, 8($t9) -/* 0D6DBC 7F0A228C 8E080000 */ lw $t0, ($s0) -/* 0D6DC0 7F0A2290 8E2E0000 */ lw $t6, ($s1) -/* 0D6DC4 7F0A2294 C4660008 */ lwc1 $f6, 8($v1) -/* 0D6DC8 7F0A2298 01120019 */ multu $t0, $s2 -/* 0D6DCC 7F0A229C 44824000 */ mtc1 $v0, $f8 -/* 0D6DD0 7F0A22A0 00005012 */ mflo $t2 -/* 0D6DD4 7F0A22A4 01CA4821 */ addu $t1, $t6, $t2 -/* 0D6DD8 7F0A22A8 E526000C */ swc1 $f6, 0xc($t1) -/* 0D6DDC 7F0A22AC 8E0C0000 */ lw $t4, ($s0) -/* 0D6DE0 7F0A22B0 8E2B0000 */ lw $t3, ($s1) -/* 0D6DE4 7F0A22B4 468041A0 */ cvt.s.w $f6, $f8 -/* 0D6DE8 7F0A22B8 01920019 */ multu $t4, $s2 -/* 0D6DEC 7F0A22BC 0000C012 */ mflo $t8 -/* 0D6DF0 7F0A22C0 01786821 */ addu $t5, $t3, $t8 -/* 0D6DF4 7F0A22C4 E5AA001C */ swc1 $f10, 0x1c($t5) -/* 0D6DF8 7F0A22C8 8E190000 */ lw $t9, ($s0) -/* 0D6DFC 7F0A22CC C7B00050 */ lwc1 $f16, 0x50($sp) -/* 0D6E00 7F0A22D0 8E2F0000 */ lw $t7, ($s1) -/* 0D6E04 7F0A22D4 03320019 */ multu $t9, $s2 -/* 0D6E08 7F0A22D8 46048482 */ mul.s $f18, $f16, $f4 -/* 0D6E0C 7F0A22DC 00004012 */ mflo $t0 -/* 0D6E10 7F0A22E0 01E87021 */ addu $t6, $t7, $t0 -/* 0D6E14 7F0A22E4 04410005 */ bgez $v0, .L7F0A22FC -/* 0D6E18 7F0A22E8 E5D20020 */ swc1 $f18, 0x20($t6) -/* 0D6E1C 7F0A22EC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D6E20 7F0A22F0 44815000 */ mtc1 $at, $f10 -/* 0D6E24 7F0A22F4 00000000 */ nop -/* 0D6E28 7F0A22F8 460A3180 */ add.s $f6, $f6, $f10 -.L7F0A22FC: -/* 0D6E2C 7F0A22FC 46143002 */ mul.s $f0, $f6, $f20 -/* 0D6E30 7F0A2300 8E090000 */ lw $t1, ($s0) -/* 0D6E34 7F0A2304 8E2A0000 */ lw $t2, ($s1) -/* 0D6E38 7F0A2308 01320019 */ multu $t1, $s2 -/* 0D6E3C 7F0A230C 46000400 */ add.s $f16, $f0, $f0 -/* 0D6E40 7F0A2310 46168101 */ sub.s $f4, $f16, $f22 -/* 0D6E44 7F0A2314 00006012 */ mflo $t4 -/* 0D6E48 7F0A2318 46022482 */ mul.s $f18, $f4, $f2 -/* 0D6E4C 7F0A231C 014C5821 */ addu $t3, $t2, $t4 -/* 0D6E50 7F0A2320 0C002914 */ jal get_random_value -/* 0D6E54 7F0A2324 E5720024 */ swc1 $f18, 0x24($t3) -/* 0D6E58 7F0A2328 44824000 */ mtc1 $v0, $f8 -/* 0D6E5C 7F0A232C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D6E60 7F0A2330 4481C000 */ mtc1 $at, $f24 -/* 0D6E64 7F0A2334 04410005 */ bgez $v0, .L7F0A234C -/* 0D6E68 7F0A2338 468042A0 */ cvt.s.w $f10, $f8 -/* 0D6E6C 7F0A233C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D6E70 7F0A2340 44813000 */ mtc1 $at, $f6 -/* 0D6E74 7F0A2344 00000000 */ nop -/* 0D6E78 7F0A2348 46065280 */ add.s $f10, $f10, $f6 -.L7F0A234C: -/* 0D6E7C 7F0A234C 46145402 */ mul.s $f16, $f10, $f20 -/* 0D6E80 7F0A2350 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0D6E84 7F0A2354 8E0F0000 */ lw $t7, ($s0) -/* 0D6E88 7F0A2358 8E390000 */ lw $t9, ($s1) -/* 0D6E8C 7F0A235C 01F20019 */ multu $t7, $s2 -/* 0D6E90 7F0A2360 46188102 */ mul.s $f4, $f16, $f24 -/* 0D6E94 7F0A2364 46162480 */ add.s $f18, $f4, $f22 -/* 0D6E98 7F0A2368 00004012 */ mflo $t0 -/* 0D6E9C 7F0A236C 03287021 */ addu $t6, $t9, $t0 -/* 0D6EA0 7F0A2370 46089182 */ mul.s $f6, $f18, $f8 -/* 0D6EA4 7F0A2374 4600328D */ trunc.w.s $f10, $f6 -/* 0D6EA8 7F0A2378 440D5000 */ mfc1 $t5, $f10 -/* 0D6EAC 7F0A237C 0C002914 */ jal get_random_value -/* 0D6EB0 7F0A2380 A5CD0038 */ sh $t5, 0x38($t6) -/* 0D6EB4 7F0A2384 44828000 */ mtc1 $v0, $f16 -/* 0D6EB8 7F0A2388 04410005 */ bgez $v0, .L7F0A23A0 -/* 0D6EBC 7F0A238C 46808120 */ cvt.s.w $f4, $f16 -/* 0D6EC0 7F0A2390 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D6EC4 7F0A2394 44819000 */ mtc1 $at, $f18 -/* 0D6EC8 7F0A2398 00000000 */ nop -/* 0D6ECC 7F0A239C 46122100 */ add.s $f4, $f4, $f18 -.L7F0A23A0: -/* 0D6ED0 7F0A23A0 46142202 */ mul.s $f8, $f4, $f20 -/* 0D6ED4 7F0A23A4 C7B00060 */ lwc1 $f16, 0x60($sp) -/* 0D6ED8 7F0A23A8 8E0B0000 */ lw $t3, ($s0) -/* 0D6EDC 7F0A23AC 8E2C0000 */ lw $t4, ($s1) -/* 0D6EE0 7F0A23B0 01720019 */ multu $t3, $s2 -/* 0D6EE4 7F0A23B4 46184182 */ mul.s $f6, $f8, $f24 -/* 0D6EE8 7F0A23B8 46163280 */ add.s $f10, $f6, $f22 -/* 0D6EEC 7F0A23BC 0000C012 */ mflo $t8 -/* 0D6EF0 7F0A23C0 01987821 */ addu $t7, $t4, $t8 -/* 0D6EF4 7F0A23C4 46105482 */ mul.s $f18, $f10, $f16 -/* 0D6EF8 7F0A23C8 4600910D */ trunc.w.s $f4, $f18 -/* 0D6EFC 7F0A23CC 440A2000 */ mfc1 $t2, $f4 -/* 0D6F00 7F0A23D0 00000000 */ nop -/* 0D6F04 7F0A23D4 A5EA003A */ sh $t2, 0x3a($t7) -/* 0D6F08 7F0A23D8 8E080000 */ lw $t0, ($s0) -/* 0D6F0C 7F0A23DC 8E390000 */ lw $t9, ($s1) -/* 0D6F10 7F0A23E0 01120019 */ multu $t0, $s2 -/* 0D6F14 7F0A23E4 00006812 */ mflo $t5 -/* 0D6F18 7F0A23E8 032D7021 */ addu $t6, $t9, $t5 -/* 0D6F1C 7F0A23EC 0C002914 */ jal get_random_value -/* 0D6F20 7F0A23F0 A5C0003C */ sh $zero, 0x3c($t6) -/* 0D6F24 7F0A23F4 44824000 */ mtc1 $v0, $f8 -/* 0D6F28 7F0A23F8 04410005 */ bgez $v0, .L7F0A2410 -/* 0D6F2C 7F0A23FC 468041A0 */ cvt.s.w $f6, $f8 -/* 0D6F30 7F0A2400 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D6F34 7F0A2404 44815000 */ mtc1 $at, $f10 -/* 0D6F38 7F0A2408 00000000 */ nop -/* 0D6F3C 7F0A240C 460A3180 */ add.s $f6, $f6, $f10 -.L7F0A2410: -/* 0D6F40 7F0A2410 46143402 */ mul.s $f16, $f6, $f20 -/* 0D6F44 7F0A2414 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0D6F48 7F0A2418 8E180000 */ lw $t8, ($s0) -/* 0D6F4C 7F0A241C 8E2C0000 */ lw $t4, ($s1) -/* 0D6F50 7F0A2420 03120019 */ multu $t8, $s2 -/* 0D6F54 7F0A2424 46188482 */ mul.s $f18, $f16, $f24 -/* 0D6F58 7F0A2428 46169100 */ add.s $f4, $f18, $f22 -/* 0D6F5C 7F0A242C 00005012 */ mflo $t2 -/* 0D6F60 7F0A2430 018A7821 */ addu $t7, $t4, $t2 -/* 0D6F64 7F0A2434 46082282 */ mul.s $f10, $f4, $f8 -/* 0D6F68 7F0A2438 4600518D */ trunc.w.s $f6, $f10 -/* 0D6F6C 7F0A243C 440B3000 */ mfc1 $t3, $f6 -/* 0D6F70 7F0A2440 0C002914 */ jal get_random_value -/* 0D6F74 7F0A2444 A5EB0048 */ sh $t3, 0x48($t7) -/* 0D6F78 7F0A2448 C7A00060 */ lwc1 $f0, 0x60($sp) -/* 0D6F7C 7F0A244C 44828000 */ mtc1 $v0, $f16 -/* 0D6F80 7F0A2450 46000007 */ neg.s $f0, $f0 -/* 0D6F84 7F0A2454 04410005 */ bgez $v0, .L7F0A246C -/* 0D6F88 7F0A2458 468084A0 */ cvt.s.w $f18, $f16 -/* 0D6F8C 7F0A245C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D6F90 7F0A2460 44812000 */ mtc1 $at, $f4 -/* 0D6F94 7F0A2464 00000000 */ nop -/* 0D6F98 7F0A2468 46049480 */ add.s $f18, $f18, $f4 -.L7F0A246C: -/* 0D6F9C 7F0A246C 46149202 */ mul.s $f8, $f18, $f20 -/* 0D6FA0 7F0A2470 8E0E0000 */ lw $t6, ($s0) -/* 0D6FA4 7F0A2474 8E2D0000 */ lw $t5, ($s1) -/* 0D6FA8 7F0A2478 01D20019 */ multu $t6, $s2 -/* 0D6FAC 7F0A247C 46184282 */ mul.s $f10, $f8, $f24 -/* 0D6FB0 7F0A2480 46165180 */ add.s $f6, $f10, $f22 -/* 0D6FB4 7F0A2484 00004812 */ mflo $t1 -/* 0D6FB8 7F0A2488 01A9C021 */ addu $t8, $t5, $t1 -/* 0D6FBC 7F0A248C 46003402 */ mul.s $f16, $f6, $f0 -/* 0D6FC0 7F0A2490 4600810D */ trunc.w.s $f4, $f16 -/* 0D6FC4 7F0A2494 44192000 */ mfc1 $t9, $f4 -/* 0D6FC8 7F0A2498 00000000 */ nop -/* 0D6FCC 7F0A249C A719004A */ sh $t9, 0x4a($t8) -/* 0D6FD0 7F0A24A0 8E0A0000 */ lw $t2, ($s0) -/* 0D6FD4 7F0A24A4 8E2C0000 */ lw $t4, ($s1) -/* 0D6FD8 7F0A24A8 01520019 */ multu $t2, $s2 -/* 0D6FDC 7F0A24AC 00005812 */ mflo $t3 -/* 0D6FE0 7F0A24B0 018B7821 */ addu $t7, $t4, $t3 -/* 0D6FE4 7F0A24B4 A5E0004C */ sh $zero, 0x4c($t7) -/* 0D6FE8 7F0A24B8 0C002914 */ jal get_random_value -/* 0D6FEC 7F0A24BC E7A00044 */ swc1 $f0, 0x44($sp) -/* 0D6FF0 7F0A24C0 44829000 */ mtc1 $v0, $f18 -/* 0D6FF4 7F0A24C4 04410005 */ bgez $v0, .L7F0A24DC -/* 0D6FF8 7F0A24C8 46809220 */ cvt.s.w $f8, $f18 -/* 0D6FFC 7F0A24CC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D7000 7F0A24D0 44815000 */ mtc1 $at, $f10 -/* 0D7004 7F0A24D4 00000000 */ nop -/* 0D7008 7F0A24D8 460A4200 */ add.s $f8, $f8, $f10 -.L7F0A24DC: -/* 0D700C 7F0A24DC 46144182 */ mul.s $f6, $f8, $f20 -/* 0D7010 7F0A24E0 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 0D7014 7F0A24E4 8E090000 */ lw $t1, ($s0) -/* 0D7018 7F0A24E8 8E2D0000 */ lw $t5, ($s1) -/* 0D701C 7F0A24EC 01320019 */ multu $t1, $s2 -/* 0D7020 7F0A24F0 46183402 */ mul.s $f16, $f6, $f24 -/* 0D7024 7F0A24F4 46168100 */ add.s $f4, $f16, $f22 -/* 0D7028 7F0A24F8 0000C812 */ mflo $t9 -/* 0D702C 7F0A24FC 01B9C021 */ addu $t8, $t5, $t9 -/* 0D7030 7F0A2500 46122282 */ mul.s $f10, $f4, $f18 -/* 0D7034 7F0A2504 4600520D */ trunc.w.s $f8, $f10 -/* 0D7038 7F0A2508 440E4000 */ mfc1 $t6, $f8 -/* 0D703C 7F0A250C 0C002914 */ jal get_random_value -/* 0D7040 7F0A2510 A70E0058 */ sh $t6, 0x58($t8) -/* 0D7044 7F0A2514 44823000 */ mtc1 $v0, $f6 -/* 0D7048 7F0A2518 24050005 */ li $a1, 5 -/* 0D704C 7F0A251C 2406007E */ li $a2, 126 -/* 0D7050 7F0A2520 240700FB */ li $a3, 251 -/* 0D7054 7F0A2524 04410005 */ bgez $v0, .L7F0A253C -/* 0D7058 7F0A2528 46803420 */ cvt.s.w $f16, $f6 -/* 0D705C 7F0A252C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D7060 7F0A2530 44812000 */ mtc1 $at, $f4 -/* 0D7064 7F0A2534 00000000 */ nop -/* 0D7068 7F0A2538 46048400 */ add.s $f16, $f16, $f4 -.L7F0A253C: -/* 0D706C 7F0A253C 46148482 */ mul.s $f18, $f16, $f20 -/* 0D7070 7F0A2540 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 0D7074 7F0A2544 8E0F0000 */ lw $t7, ($s0) -/* 0D7078 7F0A2548 8E2B0000 */ lw $t3, ($s1) -/* 0D707C 7F0A254C 01F20019 */ multu $t7, $s2 -/* 0D7080 7F0A2550 46189282 */ mul.s $f10, $f18, $f24 -/* 0D7084 7F0A2554 46165200 */ add.s $f8, $f10, $f22 -/* 0D7088 7F0A2558 00004012 */ mflo $t0 -/* 0D708C 7F0A255C 01684821 */ addu $t1, $t3, $t0 -/* 0D7090 7F0A2560 44805000 */ mtc1 $zero, $f10 -/* 0D7094 7F0A2564 46064102 */ mul.s $f4, $f8, $f6 -/* 0D7098 7F0A2568 4600240D */ trunc.w.s $f16, $f4 -/* 0D709C 7F0A256C 440C8000 */ mfc1 $t4, $f16 -/* 0D70A0 7F0A2570 00000000 */ nop -/* 0D70A4 7F0A2574 A52C005A */ sh $t4, 0x5a($t1) -/* 0D70A8 7F0A2578 8E190000 */ lw $t9, ($s0) -/* 0D70AC 7F0A257C 8E2D0000 */ lw $t5, ($s1) -/* 0D70B0 7F0A2580 03320019 */ multu $t9, $s2 -/* 0D70B4 7F0A2584 00007012 */ mflo $t6 -/* 0D70B8 7F0A2588 01AEC021 */ addu $t8, $t5, $t6 -/* 0D70BC 7F0A258C A700005C */ sh $zero, 0x5c($t8) -/* 0D70C0 7F0A2590 8E0F0000 */ lw $t7, ($s0) -/* 0D70C4 7F0A2594 8E2A0000 */ lw $t2, ($s1) -/* 0D70C8 7F0A2598 01F20019 */ multu $t7, $s2 -/* 0D70CC 7F0A259C 00005812 */ mflo $t3 -/* 0D70D0 7F0A25A0 014B4021 */ addu $t0, $t2, $t3 -/* 0D70D4 7F0A25A4 A5000040 */ sh $zero, 0x40($t0) -/* 0D70D8 7F0A25A8 8E090000 */ lw $t1, ($s0) -/* 0D70DC 7F0A25AC 8E2C0000 */ lw $t4, ($s1) -/* 0D70E0 7F0A25B0 01320019 */ multu $t1, $s2 -/* 0D70E4 7F0A25B4 0000C812 */ mflo $t9 -/* 0D70E8 7F0A25B8 01996821 */ addu $t5, $t4, $t9 -/* 0D70EC 7F0A25BC A5A00042 */ sh $zero, 0x42($t5) -/* 0D70F0 7F0A25C0 8E180000 */ lw $t8, ($s0) -/* 0D70F4 7F0A25C4 8E2E0000 */ lw $t6, ($s1) -/* 0D70F8 7F0A25C8 03120019 */ multu $t8, $s2 -/* 0D70FC 7F0A25CC 00007812 */ mflo $t7 -/* 0D7100 7F0A25D0 01CF5021 */ addu $t2, $t6, $t7 -/* 0D7104 7F0A25D4 A5400050 */ sh $zero, 0x50($t2) -/* 0D7108 7F0A25D8 8E080000 */ lw $t0, ($s0) -/* 0D710C 7F0A25DC 8E2B0000 */ lw $t3, ($s1) -/* 0D7110 7F0A25E0 01120019 */ multu $t0, $s2 -/* 0D7114 7F0A25E4 00004812 */ mflo $t1 -/* 0D7118 7F0A25E8 01696021 */ addu $t4, $t3, $t1 -/* 0D711C 7F0A25EC A5800052 */ sh $zero, 0x52($t4) -/* 0D7120 7F0A25F0 8E0D0000 */ lw $t5, ($s0) -/* 0D7124 7F0A25F4 8E390000 */ lw $t9, ($s1) -/* 0D7128 7F0A25F8 01B20019 */ multu $t5, $s2 -/* 0D712C 7F0A25FC 0000C012 */ mflo $t8 -/* 0D7130 7F0A2600 03387021 */ addu $t6, $t9, $t8 -/* 0D7134 7F0A2604 A5C00060 */ sh $zero, 0x60($t6) -/* 0D7138 7F0A2608 8E0A0000 */ lw $t2, ($s0) -/* 0D713C 7F0A260C 8E2F0000 */ lw $t7, ($s1) -/* 0D7140 7F0A2610 01520019 */ multu $t2, $s2 -/* 0D7144 7F0A2614 00004012 */ mflo $t0 -/* 0D7148 7F0A2618 01E85821 */ addu $t3, $t7, $t0 -/* 0D714C 7F0A261C A5600062 */ sh $zero, 0x62($t3) -/* 0D7150 7F0A2620 8E0C0000 */ lw $t4, ($s0) -/* 0D7154 7F0A2624 8E290000 */ lw $t1, ($s1) -/* 0D7158 7F0A2628 01920019 */ multu $t4, $s2 -/* 0D715C 7F0A262C 00006812 */ mflo $t5 -/* 0D7160 7F0A2630 012DC821 */ addu $t9, $t1, $t5 -/* 0D7164 7F0A2634 A3250044 */ sb $a1, 0x44($t9) -/* 0D7168 7F0A2638 8E0E0000 */ lw $t6, ($s0) -/* 0D716C 7F0A263C 8E380000 */ lw $t8, ($s1) -/* 0D7170 7F0A2640 01D20019 */ multu $t6, $s2 -/* 0D7174 7F0A2644 00005012 */ mflo $t2 -/* 0D7178 7F0A2648 030A7821 */ addu $t7, $t8, $t2 -/* 0D717C 7F0A264C A1E50045 */ sb $a1, 0x45($t7) -/* 0D7180 7F0A2650 8E0B0000 */ lw $t3, ($s0) -/* 0D7184 7F0A2654 8E280000 */ lw $t0, ($s1) -/* 0D7188 7F0A2658 01720019 */ multu $t3, $s2 -/* 0D718C 7F0A265C 00006012 */ mflo $t4 -/* 0D7190 7F0A2660 010C4821 */ addu $t1, $t0, $t4 -/* 0D7194 7F0A2664 A1260046 */ sb $a2, 0x46($t1) -/* 0D7198 7F0A2668 8E190000 */ lw $t9, ($s0) -/* 0D719C 7F0A266C 8E2D0000 */ lw $t5, ($s1) -/* 0D71A0 7F0A2670 03320019 */ multu $t9, $s2 -/* 0D71A4 7F0A2674 00007012 */ mflo $t6 -/* 0D71A8 7F0A2678 01AEC021 */ addu $t8, $t5, $t6 -/* 0D71AC 7F0A267C A3050054 */ sb $a1, 0x54($t8) -/* 0D71B0 7F0A2680 8E0F0000 */ lw $t7, ($s0) -/* 0D71B4 7F0A2684 8E2A0000 */ lw $t2, ($s1) -/* 0D71B8 7F0A2688 01F20019 */ multu $t7, $s2 -/* 0D71BC 7F0A268C 00005812 */ mflo $t3 -/* 0D71C0 7F0A2690 014B4021 */ addu $t0, $t2, $t3 -/* 0D71C4 7F0A2694 A1070055 */ sb $a3, 0x55($t0) -/* 0D71C8 7F0A2698 8E090000 */ lw $t1, ($s0) -/* 0D71CC 7F0A269C 8E2C0000 */ lw $t4, ($s1) -/* 0D71D0 7F0A26A0 01320019 */ multu $t1, $s2 -/* 0D71D4 7F0A26A4 0000C812 */ mflo $t9 -/* 0D71D8 7F0A26A8 01996821 */ addu $t5, $t4, $t9 -/* 0D71DC 7F0A26AC A1A60056 */ sb $a2, 0x56($t5) -/* 0D71E0 7F0A26B0 8E180000 */ lw $t8, ($s0) -/* 0D71E4 7F0A26B4 8E2E0000 */ lw $t6, ($s1) -/* 0D71E8 7F0A26B8 03120019 */ multu $t8, $s2 -/* 0D71EC 7F0A26BC 00007812 */ mflo $t7 -/* 0D71F0 7F0A26C0 01CF5021 */ addu $t2, $t6, $t7 -/* 0D71F4 7F0A26C4 A1470064 */ sb $a3, 0x64($t2) -/* 0D71F8 7F0A26C8 8E080000 */ lw $t0, ($s0) -/* 0D71FC 7F0A26CC 8E2B0000 */ lw $t3, ($s1) -/* 0D7200 7F0A26D0 240F00FF */ li $t7, 255 -/* 0D7204 7F0A26D4 01120019 */ multu $t0, $s2 -/* 0D7208 7F0A26D8 00004812 */ mflo $t1 -/* 0D720C 7F0A26DC 01696021 */ addu $t4, $t3, $t1 -/* 0D7210 7F0A26E0 A1870065 */ sb $a3, 0x65($t4) -/* 0D7214 7F0A26E4 8E0D0000 */ lw $t5, ($s0) -/* 0D7218 7F0A26E8 8E390000 */ lw $t9, ($s1) -/* 0D721C 7F0A26EC 01B20019 */ multu $t5, $s2 -/* 0D7220 7F0A26F0 0000C012 */ mflo $t8 -/* 0D7224 7F0A26F4 03387021 */ addu $t6, $t9, $t8 -/* 0D7228 7F0A26F8 A1C60066 */ sb $a2, 0x66($t6) -/* 0D722C 7F0A26FC 8E080000 */ lw $t0, ($s0) -/* 0D7230 7F0A2700 8E2A0000 */ lw $t2, ($s1) -/* 0D7234 7F0A2704 01120019 */ multu $t0, $s2 -/* 0D7238 7F0A2708 00005812 */ mflo $t3 -/* 0D723C 7F0A270C 014B4821 */ addu $t1, $t2, $t3 -/* 0D7240 7F0A2710 A12F0067 */ sb $t7, 0x67($t1) -/* 0D7244 7F0A2714 8E0D0000 */ lw $t5, ($s0) -/* 0D7248 7F0A2718 8E2C0000 */ lw $t4, ($s1) -/* 0D724C 7F0A271C 01B20019 */ multu $t5, $s2 -/* 0D7250 7F0A2720 0000C812 */ mflo $t9 -/* 0D7254 7F0A2724 01991821 */ addu $v1, $t4, $t9 -/* 0D7258 7F0A2728 90640067 */ lbu $a0, 0x67($v1) -/* 0D725C 7F0A272C A0640057 */ sb $a0, 0x57($v1) -/* 0D7260 7F0A2730 8E0E0000 */ lw $t6, ($s0) -/* 0D7264 7F0A2734 8E380000 */ lw $t8, ($s1) -/* 0D7268 7F0A2738 01D20019 */ multu $t6, $s2 -/* 0D726C 7F0A273C 00004012 */ mflo $t0 -/* 0D7270 7F0A2740 03085021 */ addu $t2, $t8, $t0 -/* 0D7274 7F0A2744 A1440047 */ sb $a0, 0x47($t2) -/* 0D7278 7F0A2748 8E0F0000 */ lw $t7, ($s0) -/* 0D727C 7F0A274C 8E2B0000 */ lw $t3, ($s1) -/* 0D7280 7F0A2750 C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 0D7284 7F0A2754 01F20019 */ multu $t7, $s2 -/* 0D7288 7F0A2758 00004812 */ mflo $t1 -/* 0D728C 7F0A275C 01696821 */ addu $t5, $t3, $t1 -/* 0D7290 7F0A2760 E5B20010 */ swc1 $f18, 0x10($t5) -/* 0D7294 7F0A2764 8E190000 */ lw $t9, ($s0) -/* 0D7298 7F0A2768 8E2C0000 */ lw $t4, ($s1) -/* 0D729C 7F0A276C 03320019 */ multu $t9, $s2 -/* 0D72A0 7F0A2770 00007012 */ mflo $t6 -/* 0D72A4 7F0A2774 018EC021 */ addu $t8, $t4, $t6 -/* 0D72A8 7F0A2778 0C002914 */ jal get_random_value -/* 0D72AC 7F0A277C E70A0014 */ swc1 $f10, 0x14($t8) -/* 0D72B0 7F0A2780 44824000 */ mtc1 $v0, $f8 -/* 0D72B4 7F0A2784 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D72B8 7F0A2788 04410004 */ bgez $v0, .L7F0A279C -/* 0D72BC 7F0A278C 468041A0 */ cvt.s.w $f6, $f8 -/* 0D72C0 7F0A2790 44812000 */ mtc1 $at, $f4 -/* 0D72C4 7F0A2794 00000000 */ nop -/* 0D72C8 7F0A2798 46043180 */ add.s $f6, $f6, $f4 -.L7F0A279C: -/* 0D72CC 7F0A279C 8E0A0000 */ lw $t2, ($s0) -/* 0D72D0 7F0A27A0 46143402 */ mul.s $f16, $f6, $f20 -/* 0D72D4 7F0A27A4 3C018005 */ lui $at, %hi(D_80057720) -/* 0D72D8 7F0A27A8 01520019 */ multu $t2, $s2 -/* 0D72DC 7F0A27AC C4327720 */ lwc1 $f18, %lo(D_80057720)($at) -/* 0D72E0 7F0A27B0 8E280000 */ lw $t0, ($s1) -/* 0D72E4 7F0A27B4 46128282 */ mul.s $f10, $f16, $f18 -/* 0D72E8 7F0A27B8 00007812 */ mflo $t7 -/* 0D72EC 7F0A27BC 010F5821 */ addu $t3, $t0, $t7 -/* 0D72F0 7F0A27C0 0C002914 */ jal get_random_value -/* 0D72F4 7F0A27C4 E56A0018 */ swc1 $f10, 0x18($t3) -/* 0D72F8 7F0A27C8 44824000 */ mtc1 $v0, $f8 -/* 0D72FC 7F0A27CC 3C018005 */ lui $at, %hi(D_80057724) -/* 0D7300 7F0A27D0 C4367724 */ lwc1 $f22, %lo(D_80057724)($at) -/* 0D7304 7F0A27D4 04410005 */ bgez $v0, .L7F0A27EC -/* 0D7308 7F0A27D8 46804120 */ cvt.s.w $f4, $f8 -/* 0D730C 7F0A27DC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D7310 7F0A27E0 44813000 */ mtc1 $at, $f6 -/* 0D7314 7F0A27E4 00000000 */ nop -/* 0D7318 7F0A27E8 46062100 */ add.s $f4, $f4, $f6 -.L7F0A27EC: -/* 0D731C 7F0A27EC 8E0D0000 */ lw $t5, ($s0) -/* 0D7320 7F0A27F0 46142402 */ mul.s $f16, $f4, $f20 -/* 0D7324 7F0A27F4 8E290000 */ lw $t1, ($s1) -/* 0D7328 7F0A27F8 01B20019 */ multu $t5, $s2 -/* 0D732C 7F0A27FC 46168482 */ mul.s $f18, $f16, $f22 -/* 0D7330 7F0A2800 0000C812 */ mflo $t9 -/* 0D7334 7F0A2804 01396021 */ addu $t4, $t1, $t9 -/* 0D7338 7F0A2808 0C002914 */ jal get_random_value -/* 0D733C 7F0A280C E5920028 */ swc1 $f18, 0x28($t4) -/* 0D7340 7F0A2810 44825000 */ mtc1 $v0, $f10 -/* 0D7344 7F0A2814 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D7348 7F0A2818 04410004 */ bgez $v0, .L7F0A282C -/* 0D734C 7F0A281C 46805220 */ cvt.s.w $f8, $f10 -/* 0D7350 7F0A2820 44813000 */ mtc1 $at, $f6 -/* 0D7354 7F0A2824 00000000 */ nop -/* 0D7358 7F0A2828 46064200 */ add.s $f8, $f8, $f6 -.L7F0A282C: -/* 0D735C 7F0A282C 8E180000 */ lw $t8, ($s0) -/* 0D7360 7F0A2830 46144102 */ mul.s $f4, $f8, $f20 -/* 0D7364 7F0A2834 8E2E0000 */ lw $t6, ($s1) -/* 0D7368 7F0A2838 03120019 */ multu $t8, $s2 -/* 0D736C 7F0A283C 46162402 */ mul.s $f16, $f4, $f22 -/* 0D7370 7F0A2840 00005012 */ mflo $t2 -/* 0D7374 7F0A2844 01CA4021 */ addu $t0, $t6, $t2 -/* 0D7378 7F0A2848 0C002914 */ jal get_random_value -/* 0D737C 7F0A284C E510002C */ swc1 $f16, 0x2c($t0) -/* 0D7380 7F0A2850 44829000 */ mtc1 $v0, $f18 -/* 0D7384 7F0A2854 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D7388 7F0A2858 04410004 */ bgez $v0, .L7F0A286C -/* 0D738C 7F0A285C 468092A0 */ cvt.s.w $f10, $f18 -/* 0D7390 7F0A2860 44813000 */ mtc1 $at, $f6 -/* 0D7394 7F0A2864 00000000 */ nop -/* 0D7398 7F0A2868 46065280 */ add.s $f10, $f10, $f6 -.L7F0A286C: -/* 0D739C 7F0A286C 8E0B0000 */ lw $t3, ($s0) -/* 0D73A0 7F0A2870 46145202 */ mul.s $f8, $f10, $f20 -/* 0D73A4 7F0A2874 8E2F0000 */ lw $t7, ($s1) -/* 0D73A8 7F0A2878 01720019 */ multu $t3, $s2 -/* 0D73AC 7F0A287C 3C0E8008 */ lui $t6, %hi(dword_CODE_bss_8007A160) -/* 0D73B0 7F0A2880 46164102 */ mul.s $f4, $f8, $f22 -/* 0D73B4 7F0A2884 00006812 */ mflo $t5 -/* 0D73B8 7F0A2888 01ED4821 */ addu $t1, $t7, $t5 -/* 0D73BC 7F0A288C E5240030 */ swc1 $f4, 0x30($t1) -/* 0D73C0 7F0A2890 8E190000 */ lw $t9, ($s0) -/* 0D73C4 7F0A2894 272C0001 */ addiu $t4, $t9, 1 -/* 0D73C8 7F0A2898 AE0C0000 */ sw $t4, ($s0) -/* 0D73CC 7F0A289C 8DCEA160 */ lw $t6, %lo(dword_CODE_bss_8007A160)($t6) -/* 0D73D0 7F0A28A0 018E082A */ slt $at, $t4, $t6 -/* 0D73D4 7F0A28A4 54200003 */ bnezl $at, .L7F0A28B4 -/* 0D73D8 7F0A28A8 8FBF003C */ lw $ra, 0x3c($sp) -/* 0D73DC 7F0A28AC AE000000 */ sw $zero, ($s0) -/* 0D73E0 7F0A28B0 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0A28B4: -/* 0D73E4 7F0A28B4 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D73E8 7F0A28B8 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D73EC 7F0A28BC D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0D73F0 7F0A28C0 8FB00030 */ lw $s0, 0x30($sp) -/* 0D73F4 7F0A28C4 8FB10034 */ lw $s1, 0x34($sp) -/* 0D73F8 7F0A28C8 8FB20038 */ lw $s2, 0x38($sp) -/* 0D73FC 7F0A28CC 03E00008 */ jr $ra -/* 0D7400 7F0A28D0 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A28D4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057728 -.word 0x46ea6000 /*30000.0*/ -glabel D_8005772C -.word 0xc6ea6000 /*-30000.0*/ -glabel D_80057730 -.word 0x3dcccccd /*0.1*/ -glabel D_80057734 -.word 0x00000000 /*0.0*/ -glabel D_80057738 -.word 0x00000000 /*0.0*/ -glabel D_8005773C -.word 0x00000000 /*0.0*/ -.text -glabel sub_GAME_7F0A28D4 -/* 0D7404 7F0A28D4 3C028005 */ lui $v0, %hi(clock_timer) -/* 0D7408 7F0A28D8 8C428374 */ lw $v0, %lo(clock_timer)($v0) -/* 0D740C 7F0A28DC 3C088008 */ lui $t0, %hi(dword_CODE_bss_8007A160) -/* 0D7410 7F0A28E0 2508A160 */ addiu $t0, %lo(dword_CODE_bss_8007A160) # addiu $t0, $t0, -0x5ea0 -/* 0D7414 7F0A28E4 2841000F */ slti $at, $v0, 0xf -/* 0D7418 7F0A28E8 10200004 */ beqz $at, .L7F0A28FC -/* 0D741C 7F0A28EC 00001825 */ move $v1, $zero -/* 0D7420 7F0A28F0 44822000 */ mtc1 $v0, $f4 -/* 0D7424 7F0A28F4 10000004 */ b .L7F0A2908 -/* 0D7428 7F0A28F8 46802020 */ cvt.s.w $f0, $f4 -.L7F0A28FC: -/* 0D742C 7F0A28FC 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0D7430 7F0A2900 44810000 */ mtc1 $at, $f0 -/* 0D7434 7F0A2904 00000000 */ nop -.L7F0A2908: -/* 0D7438 7F0A2908 8D0E0000 */ lw $t6, ($t0) -/* 0D743C 7F0A290C 00001025 */ move $v0, $zero -/* 0D7440 7F0A2910 3C018005 */ lui $at, %hi(D_80057728) -/* 0D7444 7F0A2914 19C000C9 */ blez $t6, .L7F0A2C3C -/* 0D7448 7F0A2918 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007A164) -/* 0D744C 7F0A291C C4307728 */ lwc1 $f16, %lo(D_80057728)($at) -/* 0D7450 7F0A2920 3C018005 */ lui $at, %hi(D_8005772C) -/* 0D7454 7F0A2924 C42E772C */ lwc1 $f14, %lo(D_8005772C)($at) -/* 0D7458 7F0A2928 3C018005 */ lui $at, %hi(D_80057730) -/* 0D745C 7F0A292C C42C7730 */ lwc1 $f12, %lo(D_80057730)($at) -/* 0D7460 7F0A2930 2529A164 */ addiu $t1, %lo(dword_CODE_bss_8007A164) # addiu $t1, $t1, -0x5e9c -/* 0D7464 7F0A2934 8D2F0000 */ lw $t7, ($t1) -.L7F0A2938: -/* 0D7468 7F0A2938 01E32021 */ addu $a0, $t7, $v1 -/* 0D746C 7F0A293C 8C850000 */ lw $a1, ($a0) -/* 0D7470 7F0A2940 58A000B9 */ blezl $a1, .L7F0A2C28 -/* 0D7474 7F0A2944 8D0C0000 */ lw $t4, ($t0) -/* 0D7478 7F0A2948 4600018D */ trunc.w.s $f6, $f0 -/* 0D747C 7F0A294C 00003825 */ move $a3, $zero -/* 0D7480 7F0A2950 44063000 */ mfc1 $a2, $f6 -/* 0D7484 7F0A2954 00000000 */ nop -/* 0D7488 7F0A2958 00A6C821 */ addu $t9, $a1, $a2 -/* 0D748C 7F0A295C AC990000 */ sw $t9, ($a0) -/* 0D7490 7F0A2960 8D2A0000 */ lw $t2, ($t1) -/* 0D7494 7F0A2964 01432021 */ addu $a0, $t2, $v1 -/* 0D7498 7F0A2968 C48A0028 */ lwc1 $f10, 0x28($a0) -/* 0D749C 7F0A296C C4880010 */ lwc1 $f8, 0x10($a0) -/* 0D74A0 7F0A2970 46005482 */ mul.s $f18, $f10, $f0 -/* 0D74A4 7F0A2974 46124100 */ add.s $f4, $f8, $f18 -/* 0D74A8 7F0A2978 E4840010 */ swc1 $f4, 0x10($a0) -/* 0D74AC 7F0A297C 8D2B0000 */ lw $t3, ($t1) -/* 0D74B0 7F0A2980 01632021 */ addu $a0, $t3, $v1 -/* 0D74B4 7F0A2984 C48A002C */ lwc1 $f10, 0x2c($a0) -/* 0D74B8 7F0A2988 C4860014 */ lwc1 $f6, 0x14($a0) -/* 0D74BC 7F0A298C 46005202 */ mul.s $f8, $f10, $f0 -/* 0D74C0 7F0A2990 46083480 */ add.s $f18, $f6, $f8 -/* 0D74C4 7F0A2994 E4920014 */ swc1 $f18, 0x14($a0) -/* 0D74C8 7F0A2998 8D2C0000 */ lw $t4, ($t1) -/* 0D74CC 7F0A299C 01832021 */ addu $a0, $t4, $v1 -/* 0D74D0 7F0A29A0 C48A0030 */ lwc1 $f10, 0x30($a0) -/* 0D74D4 7F0A29A4 C4840018 */ lwc1 $f4, 0x18($a0) -/* 0D74D8 7F0A29A8 46005182 */ mul.s $f6, $f10, $f0 -/* 0D74DC 7F0A29AC 46062200 */ add.s $f8, $f4, $f6 -/* 0D74E0 7F0A29B0 E4880018 */ swc1 $f8, 0x18($a0) -/* 0D74E4 7F0A29B4 8D2D0000 */ lw $t5, ($t1) -/* 0D74E8 7F0A29B8 01A32021 */ addu $a0, $t5, $v1 -/* 0D74EC 7F0A29BC C48A001C */ lwc1 $f10, 0x1c($a0) -/* 0D74F0 7F0A29C0 C4920004 */ lwc1 $f18, 4($a0) -/* 0D74F4 7F0A29C4 46005102 */ mul.s $f4, $f10, $f0 -/* 0D74F8 7F0A29C8 46049180 */ add.s $f6, $f18, $f4 -/* 0D74FC 7F0A29CC E4860004 */ swc1 $f6, 4($a0) -/* 0D7500 7F0A29D0 8D2E0000 */ lw $t6, ($t1) -/* 0D7504 7F0A29D4 01C32021 */ addu $a0, $t6, $v1 -/* 0D7508 7F0A29D8 C48A0024 */ lwc1 $f10, 0x24($a0) -/* 0D750C 7F0A29DC C488000C */ lwc1 $f8, 0xc($a0) -/* 0D7510 7F0A29E0 46005482 */ mul.s $f18, $f10, $f0 -/* 0D7514 7F0A29E4 46124100 */ add.s $f4, $f8, $f18 -/* 0D7518 7F0A29E8 18C0007B */ blez $a2, .L7F0A2BD8 -/* 0D751C 7F0A29EC E484000C */ swc1 $f4, 0xc($a0) -/* 0D7520 7F0A29F0 30C40003 */ andi $a0, $a2, 3 -/* 0D7524 7F0A29F4 1080001C */ beqz $a0, .L7F0A2A68 -/* 0D7528 7F0A29F8 00802825 */ move $a1, $a0 -/* 0D752C 7F0A29FC 24E70001 */ addiu $a3, $a3, 1 -/* 0D7530 7F0A2A00 10A7000E */ beq $a1, $a3, .L7F0A2A3C -/* 0D7534 7F0A2A04 8D2F0000 */ lw $t7, ($t1) -.L7F0A2A08: -/* 0D7538 7F0A2A08 01E32021 */ addu $a0, $t7, $v1 -/* 0D753C 7F0A2A0C C4920008 */ lwc1 $f18, 8($a0) -/* 0D7540 7F0A2A10 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D7544 7F0A2A14 24E70001 */ addiu $a3, $a3, 1 -/* 0D7548 7F0A2A18 460A9280 */ add.s $f10, $f18, $f10 -/* 0D754C 7F0A2A1C E48A0008 */ swc1 $f10, 8($a0) -/* 0D7550 7F0A2A20 8D380000 */ lw $t8, ($t1) -/* 0D7554 7F0A2A24 03032021 */ addu $a0, $t8, $v1 -/* 0D7558 7F0A2A28 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D755C 7F0A2A2C 460C5281 */ sub.s $f10, $f10, $f12 -/* 0D7560 7F0A2A30 E48A0020 */ swc1 $f10, 0x20($a0) -/* 0D7564 7F0A2A34 14A7FFF4 */ bne $a1, $a3, .L7F0A2A08 -/* 0D7568 7F0A2A38 8D2F0000 */ lw $t7, ($t1) -.L7F0A2A3C: -/* 0D756C 7F0A2A3C 01E32021 */ addu $a0, $t7, $v1 -/* 0D7570 7F0A2A40 C4920008 */ lwc1 $f18, 8($a0) -/* 0D7574 7F0A2A44 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D7578 7F0A2A48 460A9280 */ add.s $f10, $f18, $f10 -/* 0D757C 7F0A2A4C E48A0008 */ swc1 $f10, 8($a0) -/* 0D7580 7F0A2A50 8D380000 */ lw $t8, ($t1) -/* 0D7584 7F0A2A54 03032021 */ addu $a0, $t8, $v1 -/* 0D7588 7F0A2A58 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D758C 7F0A2A5C 460C5281 */ sub.s $f10, $f10, $f12 -/* 0D7590 7F0A2A60 E48A0020 */ swc1 $f10, 0x20($a0) -/* 0D7594 7F0A2A64 10E6005C */ beq $a3, $a2, .L7F0A2BD8 -.L7F0A2A68: -/* 0D7598 7F0A2A68 24E70004 */ addiu $a3, $a3, 4 -/* 0D759C 7F0A2A6C 10E6002F */ beq $a3, $a2, .L7F0A2B2C -/* 0D75A0 7F0A2A70 8D390000 */ lw $t9, ($t1) -.L7F0A2A74: -/* 0D75A4 7F0A2A74 03232021 */ addu $a0, $t9, $v1 -/* 0D75A8 7F0A2A78 C4920008 */ lwc1 $f18, 8($a0) -/* 0D75AC 7F0A2A7C C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D75B0 7F0A2A80 24E70004 */ addiu $a3, $a3, 4 -/* 0D75B4 7F0A2A84 460A9280 */ add.s $f10, $f18, $f10 -/* 0D75B8 7F0A2A88 E48A0008 */ swc1 $f10, 8($a0) -/* 0D75BC 7F0A2A8C 8D2A0000 */ lw $t2, ($t1) -/* 0D75C0 7F0A2A90 01432021 */ addu $a0, $t2, $v1 -/* 0D75C4 7F0A2A94 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D75C8 7F0A2A98 460C5281 */ sub.s $f10, $f10, $f12 -/* 0D75CC 7F0A2A9C E48A0020 */ swc1 $f10, 0x20($a0) -/* 0D75D0 7F0A2AA0 8D2B0000 */ lw $t3, ($t1) -/* 0D75D4 7F0A2AA4 01632021 */ addu $a0, $t3, $v1 -/* 0D75D8 7F0A2AA8 C48A0008 */ lwc1 $f10, 8($a0) -/* 0D75DC 7F0A2AAC C4920020 */ lwc1 $f18, 0x20($a0) -/* 0D75E0 7F0A2AB0 46125480 */ add.s $f18, $f10, $f18 -/* 0D75E4 7F0A2AB4 E4920008 */ swc1 $f18, 8($a0) -/* 0D75E8 7F0A2AB8 8D2C0000 */ lw $t4, ($t1) -/* 0D75EC 7F0A2ABC 01832021 */ addu $a0, $t4, $v1 -/* 0D75F0 7F0A2AC0 C4920020 */ lwc1 $f18, 0x20($a0) -/* 0D75F4 7F0A2AC4 460C9481 */ sub.s $f18, $f18, $f12 -/* 0D75F8 7F0A2AC8 E4920020 */ swc1 $f18, 0x20($a0) -/* 0D75FC 7F0A2ACC 8D2D0000 */ lw $t5, ($t1) -/* 0D7600 7F0A2AD0 01A32021 */ addu $a0, $t5, $v1 -/* 0D7604 7F0A2AD4 C4920008 */ lwc1 $f18, 8($a0) -/* 0D7608 7F0A2AD8 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D760C 7F0A2ADC 460A9280 */ add.s $f10, $f18, $f10 -/* 0D7610 7F0A2AE0 E48A0008 */ swc1 $f10, 8($a0) -/* 0D7614 7F0A2AE4 8D2E0000 */ lw $t6, ($t1) -/* 0D7618 7F0A2AE8 01C32021 */ addu $a0, $t6, $v1 -/* 0D761C 7F0A2AEC C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D7620 7F0A2AF0 460C5281 */ sub.s $f10, $f10, $f12 -/* 0D7624 7F0A2AF4 E48A0020 */ swc1 $f10, 0x20($a0) -/* 0D7628 7F0A2AF8 8D2F0000 */ lw $t7, ($t1) -/* 0D762C 7F0A2AFC 01E32021 */ addu $a0, $t7, $v1 -/* 0D7630 7F0A2B00 C48A0008 */ lwc1 $f10, 8($a0) -/* 0D7634 7F0A2B04 C4920020 */ lwc1 $f18, 0x20($a0) -/* 0D7638 7F0A2B08 46125480 */ add.s $f18, $f10, $f18 -/* 0D763C 7F0A2B0C E4920008 */ swc1 $f18, 8($a0) -/* 0D7640 7F0A2B10 8D380000 */ lw $t8, ($t1) -/* 0D7644 7F0A2B14 03032021 */ addu $a0, $t8, $v1 -/* 0D7648 7F0A2B18 C4920020 */ lwc1 $f18, 0x20($a0) -/* 0D764C 7F0A2B1C 460C9481 */ sub.s $f18, $f18, $f12 -/* 0D7650 7F0A2B20 E4920020 */ swc1 $f18, 0x20($a0) -/* 0D7654 7F0A2B24 14E6FFD3 */ bne $a3, $a2, .L7F0A2A74 -/* 0D7658 7F0A2B28 8D390000 */ lw $t9, ($t1) -.L7F0A2B2C: -/* 0D765C 7F0A2B2C 03232021 */ addu $a0, $t9, $v1 -/* 0D7660 7F0A2B30 C4920008 */ lwc1 $f18, 8($a0) -/* 0D7664 7F0A2B34 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D7668 7F0A2B38 460A9280 */ add.s $f10, $f18, $f10 -/* 0D766C 7F0A2B3C E48A0008 */ swc1 $f10, 8($a0) -/* 0D7670 7F0A2B40 8D2A0000 */ lw $t2, ($t1) -/* 0D7674 7F0A2B44 01432021 */ addu $a0, $t2, $v1 -/* 0D7678 7F0A2B48 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D767C 7F0A2B4C 460C5281 */ sub.s $f10, $f10, $f12 -/* 0D7680 7F0A2B50 E48A0020 */ swc1 $f10, 0x20($a0) -/* 0D7684 7F0A2B54 8D2B0000 */ lw $t3, ($t1) -/* 0D7688 7F0A2B58 01632021 */ addu $a0, $t3, $v1 -/* 0D768C 7F0A2B5C C48A0008 */ lwc1 $f10, 8($a0) -/* 0D7690 7F0A2B60 C4920020 */ lwc1 $f18, 0x20($a0) -/* 0D7694 7F0A2B64 46125480 */ add.s $f18, $f10, $f18 -/* 0D7698 7F0A2B68 E4920008 */ swc1 $f18, 8($a0) -/* 0D769C 7F0A2B6C 8D2C0000 */ lw $t4, ($t1) -/* 0D76A0 7F0A2B70 01832021 */ addu $a0, $t4, $v1 -/* 0D76A4 7F0A2B74 C4920020 */ lwc1 $f18, 0x20($a0) -/* 0D76A8 7F0A2B78 460C9481 */ sub.s $f18, $f18, $f12 -/* 0D76AC 7F0A2B7C E4920020 */ swc1 $f18, 0x20($a0) -/* 0D76B0 7F0A2B80 8D2D0000 */ lw $t5, ($t1) -/* 0D76B4 7F0A2B84 01A32021 */ addu $a0, $t5, $v1 -/* 0D76B8 7F0A2B88 C4920008 */ lwc1 $f18, 8($a0) -/* 0D76BC 7F0A2B8C C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D76C0 7F0A2B90 460A9280 */ add.s $f10, $f18, $f10 -/* 0D76C4 7F0A2B94 E48A0008 */ swc1 $f10, 8($a0) -/* 0D76C8 7F0A2B98 8D2E0000 */ lw $t6, ($t1) -/* 0D76CC 7F0A2B9C 01C32021 */ addu $a0, $t6, $v1 -/* 0D76D0 7F0A2BA0 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 0D76D4 7F0A2BA4 460C5281 */ sub.s $f10, $f10, $f12 -/* 0D76D8 7F0A2BA8 E48A0020 */ swc1 $f10, 0x20($a0) -/* 0D76DC 7F0A2BAC 8D2F0000 */ lw $t7, ($t1) -/* 0D76E0 7F0A2BB0 01E32021 */ addu $a0, $t7, $v1 -/* 0D76E4 7F0A2BB4 C48A0008 */ lwc1 $f10, 8($a0) -/* 0D76E8 7F0A2BB8 C4920020 */ lwc1 $f18, 0x20($a0) -/* 0D76EC 7F0A2BBC 46125480 */ add.s $f18, $f10, $f18 -/* 0D76F0 7F0A2BC0 E4920008 */ swc1 $f18, 8($a0) -/* 0D76F4 7F0A2BC4 8D380000 */ lw $t8, ($t1) -/* 0D76F8 7F0A2BC8 03032021 */ addu $a0, $t8, $v1 -/* 0D76FC 7F0A2BCC C4920020 */ lwc1 $f18, 0x20($a0) -/* 0D7700 7F0A2BD0 460C9481 */ sub.s $f18, $f18, $f12 -/* 0D7704 7F0A2BD4 E4920020 */ swc1 $f18, 0x20($a0) -.L7F0A2BD8: -/* 0D7708 7F0A2BD8 8D390000 */ lw $t9, ($t1) -/* 0D770C 7F0A2BDC 03232021 */ addu $a0, $t9, $v1 -/* 0D7710 7F0A2BE0 8C8A0000 */ lw $t2, ($a0) -/* 0D7714 7F0A2BE4 29410096 */ slti $at, $t2, 0x96 -/* 0D7718 7F0A2BE8 54200005 */ bnezl $at, .L7F0A2C00 -/* 0D771C 7F0A2BEC C4820008 */ lwc1 $f2, 8($a0) -/* 0D7720 7F0A2BF0 AC800000 */ sw $zero, ($a0) -/* 0D7724 7F0A2BF4 8D2B0000 */ lw $t3, ($t1) -/* 0D7728 7F0A2BF8 01632021 */ addu $a0, $t3, $v1 -/* 0D772C 7F0A2BFC C4820008 */ lwc1 $f2, 8($a0) -.L7F0A2C00: -/* 0D7730 7F0A2C00 460E103C */ c.lt.s $f2, $f14 -/* 0D7734 7F0A2C04 00000000 */ nop -/* 0D7738 7F0A2C08 45030006 */ bc1tl .L7F0A2C24 -/* 0D773C 7F0A2C0C AC800000 */ sw $zero, ($a0) -/* 0D7740 7F0A2C10 4602803C */ c.lt.s $f16, $f2 -/* 0D7744 7F0A2C14 00000000 */ nop -/* 0D7748 7F0A2C18 45020003 */ bc1fl .L7F0A2C28 -/* 0D774C 7F0A2C1C 8D0C0000 */ lw $t4, ($t0) -/* 0D7750 7F0A2C20 AC800000 */ sw $zero, ($a0) -.L7F0A2C24: -/* 0D7754 7F0A2C24 8D0C0000 */ lw $t4, ($t0) -.L7F0A2C28: -/* 0D7758 7F0A2C28 24420001 */ addiu $v0, $v0, 1 -/* 0D775C 7F0A2C2C 24630068 */ addiu $v1, $v1, 0x68 -/* 0D7760 7F0A2C30 004C082A */ slt $at, $v0, $t4 -/* 0D7764 7F0A2C34 5420FF40 */ bnezl $at, .L7F0A2938 -/* 0D7768 7F0A2C38 8D2F0000 */ lw $t7, ($t1) -.L7F0A2C3C: -/* 0D776C 7F0A2C3C 03E00008 */ jr $ra -/* 0D7770 7F0A2C40 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A2C44(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A2C44 -/* 0D7774 7F0A2C44 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 0D7778 7F0A2C48 3C058009 */ lui $a1, %hi(glassoverlayimage) -/* 0D777C 7F0A2C4C 8CA5D11C */ lw $a1, %lo(glassoverlayimage)($a1) -/* 0D7780 7F0A2C50 AFBF0044 */ sw $ra, 0x44($sp) -/* 0D7784 7F0A2C54 AFA400D0 */ sw $a0, 0xd0($sp) -/* 0D7788 7F0A2C58 240E0002 */ li $t6, 2 -/* 0D778C 7F0A2C5C AFBE0040 */ sw $fp, 0x40($sp) -/* 0D7790 7F0A2C60 AFB7003C */ sw $s7, 0x3c($sp) -/* 0D7794 7F0A2C64 AFB60038 */ sw $s6, 0x38($sp) -/* 0D7798 7F0A2C68 AFB50034 */ sw $s5, 0x34($sp) -/* 0D779C 7F0A2C6C AFB40030 */ sw $s4, 0x30($sp) -/* 0D77A0 7F0A2C70 AFB3002C */ sw $s3, 0x2c($sp) -/* 0D77A4 7F0A2C74 AFB20028 */ sw $s2, 0x28($sp) -/* 0D77A8 7F0A2C78 AFB10024 */ sw $s1, 0x24($sp) -/* 0D77AC 7F0A2C7C AFB00020 */ sw $s0, 0x20($sp) -/* 0D77B0 7F0A2C80 AFAE0010 */ sw $t6, 0x10($sp) -/* 0D77B4 7F0A2C84 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 0D77B8 7F0A2C88 24060002 */ li $a2, 2 -/* 0D77BC 7F0A2C8C 24070001 */ li $a3, 1 -/* 0D77C0 7F0A2C90 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0D77C4 7F0A2C94 24A5000C */ addiu $a1, $a1, 0xc -/* 0D77C8 7F0A2C98 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0D77CC 7F0A2C9C 3C19BB00 */ lui $t9, (0xBB001001 >> 16) # lui $t9, 0xbb00 -/* 0D77D0 7F0A2CA0 3C080D80 */ lui $t0, (0x0D800D80 >> 16) # lui $t0, 0xd80 -/* 0D77D4 7F0A2CA4 25F80008 */ addiu $t8, $t7, 8 -/* 0D77D8 7F0A2CA8 AFB800D0 */ sw $t8, 0xd0($sp) -/* 0D77DC 7F0A2CAC 35080D80 */ ori $t0, (0x0D800D80 & 0xFFFF) # ori $t0, $t0, 0xd80 -/* 0D77E0 7F0A2CB0 37391001 */ ori $t9, (0xBB001001 & 0xFFFF) # ori $t9, $t9, 0x1001 -/* 0D77E4 7F0A2CB4 ADF90000 */ sw $t9, ($t7) -/* 0D77E8 7F0A2CB8 ADE80004 */ sw $t0, 4($t7) -/* 0D77EC 7F0A2CBC 8FA900D0 */ lw $t1, 0xd0($sp) -/* 0D77F0 7F0A2CC0 3C0BBA00 */ lui $t3, (0xBA001402 >> 16) # lui $t3, 0xba00 -/* 0D77F4 7F0A2CC4 356B1402 */ ori $t3, (0xBA001402 & 0xFFFF) # ori $t3, $t3, 0x1402 -/* 0D77F8 7F0A2CC8 252A0008 */ addiu $t2, $t1, 8 -/* 0D77FC 7F0A2CCC AFAA00D0 */ sw $t2, 0xd0($sp) -/* 0D7800 7F0A2CD0 3C0C0010 */ lui $t4, 0x10 -/* 0D7804 7F0A2CD4 AD2C0004 */ sw $t4, 4($t1) -/* 0D7808 7F0A2CD8 AD2B0000 */ sw $t3, ($t1) -/* 0D780C 7F0A2CDC 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 0D7810 7F0A2CE0 3C0FBA00 */ lui $t7, (0xBA001001 >> 16) # lui $t7, 0xba00 -/* 0D7814 7F0A2CE4 35EF1001 */ ori $t7, (0xBA001001 & 0xFFFF) # ori $t7, $t7, 0x1001 -/* 0D7818 7F0A2CE8 25AE0008 */ addiu $t6, $t5, 8 -/* 0D781C 7F0A2CEC AFAE00D0 */ sw $t6, 0xd0($sp) -/* 0D7820 7F0A2CF0 3C180001 */ lui $t8, 1 -/* 0D7824 7F0A2CF4 ADB80004 */ sw $t8, 4($t5) -/* 0D7828 7F0A2CF8 ADAF0000 */ sw $t7, ($t5) -/* 0D782C 7F0A2CFC 8FB900D0 */ lw $t9, 0xd0($sp) -/* 0D7830 7F0A2D00 3C09B600 */ lui $t1, 0xb600 -/* 0D7834 7F0A2D04 240A3000 */ li $t2, 12288 -/* 0D7838 7F0A2D08 27280008 */ addiu $t0, $t9, 8 -/* 0D783C 7F0A2D0C AFA800D0 */ sw $t0, 0xd0($sp) -/* 0D7840 7F0A2D10 AF2A0004 */ sw $t2, 4($t9) -/* 0D7844 7F0A2D14 AF290000 */ sw $t1, ($t9) -/* 0D7848 7F0A2D18 8FAB00D0 */ lw $t3, 0xd0($sp) -/* 0D784C 7F0A2D1C 3C0DBA00 */ lui $t5, (0xBA000C02 >> 16) # lui $t5, 0xba00 -/* 0D7850 7F0A2D20 35AD0C02 */ ori $t5, (0xBA000C02 & 0xFFFF) # ori $t5, $t5, 0xc02 -/* 0D7854 7F0A2D24 256C0008 */ addiu $t4, $t3, 8 -/* 0D7858 7F0A2D28 AFAC00D0 */ sw $t4, 0xd0($sp) -/* 0D785C 7F0A2D2C 240E2000 */ li $t6, 8192 -/* 0D7860 7F0A2D30 AD6E0004 */ sw $t6, 4($t3) -/* 0D7864 7F0A2D34 AD6D0000 */ sw $t5, ($t3) -/* 0D7868 7F0A2D38 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0D786C 7F0A2D3C 3C19B700 */ lui $t9, 0xb700 -/* 0D7870 7F0A2D40 3C080006 */ lui $t0, 6 -/* 0D7874 7F0A2D44 25F80008 */ addiu $t8, $t7, 8 -/* 0D7878 7F0A2D48 AFB800D0 */ sw $t8, 0xd0($sp) -/* 0D787C 7F0A2D4C ADE80004 */ sw $t0, 4($t7) -/* 0D7880 7F0A2D50 ADF90000 */ sw $t9, ($t7) -/* 0D7884 7F0A2D54 8FB000D0 */ lw $s0, 0xd0($sp) -/* 0D7888 7F0A2D58 3C0B0103 */ lui $t3, (0x01030040 >> 16) # lui $t3, 0x103 -/* 0D788C 7F0A2D5C 356B0040 */ ori $t3, (0x01030040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 0D7890 7F0A2D60 260A0008 */ addiu $t2, $s0, 8 -/* 0D7894 7F0A2D64 AFAA00D0 */ sw $t2, 0xd0($sp) -/* 0D7898 7F0A2D68 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 0D789C 7F0A2D6C AE0B0000 */ sw $t3, ($s0) -/* 0D78A0 7F0A2D70 0C003A2C */ jal osVirtualToPhysical -/* 0D78A4 7F0A2D74 00402025 */ move $a0, $v0 -/* 0D78A8 7F0A2D78 AE020004 */ sw $v0, 4($s0) -/* 0D78AC 7F0A2D7C 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A160) -/* 0D78B0 7F0A2D80 8C84A160 */ lw $a0, %lo(dword_CODE_bss_8007A160)($a0) -/* 0D78B4 7F0A2D84 00008025 */ move $s0, $zero -/* 0D78B8 7F0A2D88 0000A025 */ move $s4, $zero -/* 0D78BC 7F0A2D8C 18800044 */ blez $a0, .L7F0A2EA0 -/* 0D78C0 7F0A2D90 3C170420 */ lui $s7, (0x04200030 >> 16) # lui $s7, 0x420 -/* 0D78C4 7F0A2D94 3C168008 */ lui $s6, %hi(pPlayer) -/* 0D78C8 7F0A2D98 3C138008 */ lui $s3, %hi(dword_CODE_bss_8007A164) -/* 0D78CC 7F0A2D9C 2673A164 */ addiu $s3, %lo(dword_CODE_bss_8007A164) # addiu $s3, $s3, -0x5e9c -/* 0D78D0 7F0A2DA0 26D6A0B0 */ addiu $s6, %lo(pPlayer) # addiu $s6, $s6, -0x5f50 -/* 0D78D4 7F0A2DA4 3C1EBF00 */ lui $fp, 0xbf00 -/* 0D78D8 7F0A2DA8 36F70030 */ ori $s7, (0x04200030 & 0xFFFF) # ori $s7, $s7, 0x30 -/* 0D78DC 7F0A2DAC 27B50090 */ addiu $s5, $sp, 0x90 -.L7F0A2DB0: -/* 0D78E0 7F0A2DB0 8E6C0000 */ lw $t4, ($s3) -/* 0D78E4 7F0A2DB4 01906821 */ addu $t5, $t4, $s0 -/* 0D78E8 7F0A2DB8 8DAE0000 */ lw $t6, ($t5) -/* 0D78EC 7F0A2DBC 59C00035 */ blezl $t6, .L7F0A2E94 -/* 0D78F0 7F0A2DC0 26940001 */ addiu $s4, $s4, 1 -/* 0D78F4 7F0A2DC4 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0D78F8 7F0A2DC8 00000000 */ nop -/* 0D78FC 7F0A2DCC 8E6F0000 */ lw $t7, ($s3) -/* 0D7900 7F0A2DD0 00408825 */ move $s1, $v0 -/* 0D7904 7F0A2DD4 02A03025 */ move $a2, $s5 -/* 0D7908 7F0A2DD8 01F01821 */ addu $v1, $t7, $s0 -/* 0D790C 7F0A2DDC 24640004 */ addiu $a0, $v1, 4 -/* 0D7910 7F0A2DE0 0FC1624B */ jal sub_GAME_7F05892C -/* 0D7914 7F0A2DE4 24650010 */ addiu $a1, $v1, 0x10 -/* 0D7918 7F0A2DE8 8EC20000 */ lw $v0, ($s6) -/* 0D791C 7F0A2DEC C7A400C0 */ lwc1 $f4, 0xc0($sp) -/* 0D7920 7F0A2DF0 C7AA00C4 */ lwc1 $f10, 0xc4($sp) -/* 0D7924 7F0A2DF4 C4460038 */ lwc1 $f6, 0x38($v0) -/* 0D7928 7F0A2DF8 02A02025 */ move $a0, $s5 -/* 0D792C 7F0A2DFC 02202825 */ move $a1, $s1 -/* 0D7930 7F0A2E00 46062201 */ sub.s $f8, $f4, $f6 -/* 0D7934 7F0A2E04 C7A400C8 */ lwc1 $f4, 0xc8($sp) -/* 0D7938 7F0A2E08 E7A800C0 */ swc1 $f8, 0xc0($sp) -/* 0D793C 7F0A2E0C C450003C */ lwc1 $f16, 0x3c($v0) -/* 0D7940 7F0A2E10 46105481 */ sub.s $f18, $f10, $f16 -/* 0D7944 7F0A2E14 E7B200C4 */ swc1 $f18, 0xc4($sp) -/* 0D7948 7F0A2E18 C4460040 */ lwc1 $f6, 0x40($v0) -/* 0D794C 7F0A2E1C 46062201 */ sub.s $f8, $f4, $f6 -/* 0D7950 7F0A2E20 0FC16327 */ jal sub_GAME_7F058C9C -/* 0D7954 7F0A2E24 E7A800C8 */ swc1 $f8, 0xc8($sp) -/* 0D7958 7F0A2E28 8FB200D0 */ lw $s2, 0xd0($sp) -/* 0D795C 7F0A2E2C 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 -/* 0D7960 7F0A2E30 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 0D7964 7F0A2E34 26590008 */ addiu $t9, $s2, 8 -/* 0D7968 7F0A2E38 AFB900D0 */ sw $t9, 0xd0($sp) -/* 0D796C 7F0A2E3C 02202025 */ move $a0, $s1 -/* 0D7970 7F0A2E40 0C003A2C */ jal osVirtualToPhysical -/* 0D7974 7F0A2E44 AE480000 */ sw $t0, ($s2) -/* 0D7978 7F0A2E48 AE420004 */ sw $v0, 4($s2) -/* 0D797C 7F0A2E4C 8FB100D0 */ lw $s1, 0xd0($sp) -/* 0D7980 7F0A2E50 262A0008 */ addiu $t2, $s1, 8 -/* 0D7984 7F0A2E54 AFAA00D0 */ sw $t2, 0xd0($sp) -/* 0D7988 7F0A2E58 AE370000 */ sw $s7, ($s1) -/* 0D798C 7F0A2E5C 8E6B0000 */ lw $t3, ($s3) -/* 0D7990 7F0A2E60 01702021 */ addu $a0, $t3, $s0 -/* 0D7994 7F0A2E64 0C003A2C */ jal osVirtualToPhysical -/* 0D7998 7F0A2E68 24840038 */ addiu $a0, $a0, 0x38 -/* 0D799C 7F0A2E6C AE220004 */ sw $v0, 4($s1) -/* 0D79A0 7F0A2E70 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 0D79A4 7F0A2E74 240E0A14 */ li $t6, 2580 -/* 0D79A8 7F0A2E78 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007A160) -/* 0D79AC 7F0A2E7C 258D0008 */ addiu $t5, $t4, 8 -/* 0D79B0 7F0A2E80 AFAD00D0 */ sw $t5, 0xd0($sp) -/* 0D79B4 7F0A2E84 AD8E0004 */ sw $t6, 4($t4) -/* 0D79B8 7F0A2E88 AD9E0000 */ sw $fp, ($t4) -/* 0D79BC 7F0A2E8C 8C84A160 */ lw $a0, %lo(dword_CODE_bss_8007A160)($a0) -/* 0D79C0 7F0A2E90 26940001 */ addiu $s4, $s4, 1 -.L7F0A2E94: -/* 0D79C4 7F0A2E94 0284082A */ slt $at, $s4, $a0 -/* 0D79C8 7F0A2E98 1420FFC5 */ bnez $at, .L7F0A2DB0 -/* 0D79CC 7F0A2E9C 26100068 */ addiu $s0, $s0, 0x68 -.L7F0A2EA0: -/* 0D79D0 7F0A2EA0 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 0D79D4 7F0A2EA4 3C19B600 */ lui $t9, 0xb600 -/* 0D79D8 7F0A2EA8 3C080006 */ lui $t0, 6 -/* 0D79DC 7F0A2EAC 25F80008 */ addiu $t8, $t7, 8 -/* 0D79E0 7F0A2EB0 AFB800D0 */ sw $t8, 0xd0($sp) -/* 0D79E4 7F0A2EB4 ADE80004 */ sw $t0, 4($t7) -/* 0D79E8 7F0A2EB8 ADF90000 */ sw $t9, ($t7) -/* 0D79EC 7F0A2EBC 8FB000D0 */ lw $s0, 0xd0($sp) -/* 0D79F0 7F0A2EC0 3C0B0103 */ lui $t3, (0x01030040 >> 16) # lui $t3, 0x103 -/* 0D79F4 7F0A2EC4 356B0040 */ ori $t3, (0x01030040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 0D79F8 7F0A2EC8 260A0008 */ addiu $t2, $s0, 8 -/* 0D79FC 7F0A2ECC AFAA00D0 */ sw $t2, 0xd0($sp) -/* 0D7A00 7F0A2ED0 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 0D7A04 7F0A2ED4 AE0B0000 */ sw $t3, ($s0) -/* 0D7A08 7F0A2ED8 AE020004 */ sw $v0, 4($s0) -/* 0D7A0C 7F0A2EDC 8FB100D0 */ lw $s1, 0xd0($sp) -/* 0D7A10 7F0A2EE0 3C0E0102 */ lui $t6, (0x01020040 >> 16) # lui $t6, 0x102 -/* 0D7A14 7F0A2EE4 35CE0040 */ ori $t6, (0x01020040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 0D7A18 7F0A2EE8 262D0008 */ addiu $t5, $s1, 8 -/* 0D7A1C 7F0A2EEC AFAD00D0 */ sw $t5, 0xd0($sp) -/* 0D7A20 7F0A2EF0 0FC1E0D5 */ jal get_BONDdata_field_10C8 -/* 0D7A24 7F0A2EF4 AE2E0000 */ sw $t6, ($s1) -/* 0D7A28 7F0A2EF8 AE220004 */ sw $v0, 4($s1) -/* 0D7A2C 7F0A2EFC 8FBF0044 */ lw $ra, 0x44($sp) -/* 0D7A30 7F0A2F00 8FBE0040 */ lw $fp, 0x40($sp) -/* 0D7A34 7F0A2F04 8FB7003C */ lw $s7, 0x3c($sp) -/* 0D7A38 7F0A2F08 8FB60038 */ lw $s6, 0x38($sp) -/* 0D7A3C 7F0A2F0C 8FB50034 */ lw $s5, 0x34($sp) -/* 0D7A40 7F0A2F10 8FB40030 */ lw $s4, 0x30($sp) -/* 0D7A44 7F0A2F14 8FB3002C */ lw $s3, 0x2c($sp) -/* 0D7A48 7F0A2F18 8FB20028 */ lw $s2, 0x28($sp) -/* 0D7A4C 7F0A2F1C 8FB10024 */ lw $s1, 0x24($sp) -/* 0D7A50 7F0A2F20 8FB00020 */ lw $s0, 0x20($sp) -/* 0D7A54 7F0A2F24 8FA200D0 */ lw $v0, 0xd0($sp) -/* 0D7A58 7F0A2F28 03E00008 */ jr $ra -/* 0D7A5C 7F0A2F2C 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A2F30(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057740 -.word 0x4061d000, 0x00000000 /*142.5*/ -glabel D_80057748 -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F0A2F30 -/* 0D7A60 7F0A2F30 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 0D7A64 7F0A2F34 AFB60060 */ sw $s6, 0x60($sp) -/* 0D7A68 7F0A2F38 00C0B025 */ move $s6, $a2 -/* 0D7A6C 7F0A2F3C 44963000 */ mtc1 $s6, $f6 -/* 0D7A70 7F0A2F40 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0D7A74 7F0A2F44 44812000 */ mtc1 $at, $f4 -/* 0D7A78 7F0A2F48 46803220 */ cvt.s.w $f8, $f6 -/* 0D7A7C 7F0A2F4C F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 0D7A80 7F0A2F50 3C014302 */ li $at, 0x43020000 # 130.000000 -/* 0D7A84 7F0A2F54 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0D7A88 7F0A2F58 4481F000 */ mtc1 $at, $f30 -/* 0D7A8C 7F0A2F5C 4487B000 */ mtc1 $a3, $f22 -/* 0D7A90 7F0A2F60 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 0D7A94 7F0A2F64 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0D7A98 7F0A2F68 4481E000 */ mtc1 $at, $f28 -/* 0D7A9C 7F0A2F6C F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 0D7AA0 7F0A2F70 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0D7AA4 7F0A2F74 AFBE0068 */ sw $fp, 0x68($sp) -/* 0D7AA8 7F0A2F78 AFB70064 */ sw $s7, 0x64($sp) -/* 0D7AAC 7F0A2F7C AFB5005C */ sw $s5, 0x5c($sp) -/* 0D7AB0 7F0A2F80 AFB30054 */ sw $s3, 0x54($sp) -/* 0D7AB4 7F0A2F84 AFB20050 */ sw $s2, 0x50($sp) -/* 0D7AB8 7F0A2F88 AFB00048 */ sw $s0, 0x48($sp) -/* 0D7ABC 7F0A2F8C 4481D000 */ mtc1 $at, $f26 -/* 0D7AC0 7F0A2F90 4604B582 */ mul.s $f22, $f22, $f4 -/* 0D7AC4 7F0A2F94 00808025 */ move $s0, $a0 -/* 0D7AC8 7F0A2F98 AFBF006C */ sw $ra, 0x6c($sp) -/* 0D7ACC 7F0A2F9C AFB40058 */ sw $s4, 0x58($sp) -/* 0D7AD0 7F0A2FA0 AFB1004C */ sw $s1, 0x4c($sp) -/* 0D7AD4 7F0A2FA4 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0D7AD8 7F0A2FA8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D7ADC 7F0A2FAC AFA5009C */ sw $a1, 0x9c($sp) -/* 0D7AE0 7F0A2FB0 00009025 */ move $s2, $zero -/* 0D7AE4 7F0A2FB4 241300FF */ li $s3, 255 -/* 0D7AE8 7F0A2FB8 24150030 */ li $s5, 48 -/* 0D7AEC 7F0A2FBC 24170006 */ li $s7, 6 -/* 0D7AF0 7F0A2FC0 241E0002 */ li $fp, 2 -/* 0D7AF4 7F0A2FC4 E7A80074 */ swc1 $f8, 0x74($sp) -/* 0D7AF8 7F0A2FC8 AFA00080 */ sw $zero, 0x80($sp) -.L7F0A2FCC: -/* 0D7AFC 7F0A2FCC 8FA20080 */ lw $v0, 0x80($sp) -/* 0D7B00 7F0A2FD0 3C018005 */ lui $at, %hi(D_80057740) -/* 0D7B04 7F0A2FD4 D42A7740 */ ldc1 $f10, %lo(D_80057740)($at) -/* 0D7B08 7F0A2FD8 44828000 */ mtc1 $v0, $f16 -/* 0D7B0C 7F0A2FDC 3C018005 */ lui $at, %hi(D_80057748) -/* 0D7B10 7F0A2FE0 0000A025 */ move $s4, $zero -/* 0D7B14 7F0A2FE4 468084A1 */ cvt.d.w $f18, $f16 -/* 0D7B18 7F0A2FE8 46325101 */ sub.d $f4, $f10, $f18 -/* 0D7B1C 7F0A2FEC C42A7748 */ lwc1 $f10, %lo(D_80057748)($at) -/* 0D7B20 7F0A2FF0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0D7B24 7F0A2FF4 4620218D */ trunc.w.d $f6, $f4 -/* 0D7B28 7F0A2FF8 44812000 */ mtc1 $at, $f4 -/* 0D7B2C 7F0A2FFC 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0D7B30 7F0A3000 440F3000 */ mfc1 $t7, $f6 -/* 0D7B34 7F0A3004 00000000 */ nop -/* 0D7B38 7F0A3008 448F4000 */ mtc1 $t7, $f8 -/* 0D7B3C 7F0A300C 00000000 */ nop -/* 0D7B40 7F0A3010 46804420 */ cvt.s.w $f16, $f8 -/* 0D7B44 7F0A3014 44814000 */ mtc1 $at, $f8 -/* 0D7B48 7F0A3018 460A8482 */ mul.s $f18, $f16, $f10 -/* 0D7B4C 7F0A301C 00000000 */ nop -/* 0D7B50 7F0A3020 46049182 */ mul.s $f6, $f18, $f4 -/* 0D7B54 7F0A3024 46083603 */ div.s $f24, $f6, $f8 -.L7F0A3028: -/* 0D7B58 7F0A3028 0FC15FAB */ jal sinf -/* 0D7B5C 7F0A302C 4600C306 */ mov.s $f12, $f24 -/* 0D7B60 7F0A3030 461C0282 */ mul.s $f10, $f0, $f28 -/* 0D7B64 7F0A3034 02F4C023 */ subu $t8, $s7, $s4 -/* 0D7B68 7F0A3038 44988000 */ mtc1 $t8, $f16 -/* 0D7B6C 7F0A303C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0D7B70 7F0A3040 44813000 */ mtc1 $at, $f6 -/* 0D7B74 7F0A3044 4600C306 */ mov.s $f12, $f24 -/* 0D7B78 7F0A3048 46808520 */ cvt.s.w $f20, $f16 -/* 0D7B7C 7F0A304C 461E5482 */ mul.s $f18, $f10, $f30 -/* 0D7B80 7F0A3050 C7B00074 */ lwc1 $f16, 0x74($sp) -/* 0D7B84 7F0A3054 46149102 */ mul.s $f4, $f18, $f20 -/* 0D7B88 7F0A3058 46062203 */ div.s $f8, $f4, $f6 -/* 0D7B8C 7F0A305C 46104282 */ mul.s $f10, $f8, $f16 -/* 0D7B90 7F0A3060 4600548D */ trunc.w.s $f18, $f10 -/* 0D7B94 7F0A3064 44119000 */ mfc1 $s1, $f18 -/* 0D7B98 7F0A3068 00000000 */ nop -/* 0D7B9C 7F0A306C 00114400 */ sll $t0, $s1, 0x10 -/* 0D7BA0 7F0A3070 0FC15FA8 */ jal cosf -/* 0D7BA4 7F0A3074 00088C03 */ sra $s1, $t0, 0x10 -/* 0D7BA8 7F0A3078 461C0102 */ mul.s $f4, $f0, $f28 -/* 0D7BAC 7F0A307C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0D7BB0 7F0A3080 44818000 */ mtc1 $at, $f16 -/* 0D7BB4 7F0A3084 262A0001 */ addiu $t2, $s1, 1 -/* 0D7BB8 7F0A3088 A60A0000 */ sh $t2, ($s0) -/* 0D7BBC 7F0A308C A6000002 */ sh $zero, 2($s0) -/* 0D7BC0 7F0A3090 A6000006 */ sh $zero, 6($s0) -/* 0D7BC4 7F0A3094 461E2182 */ mul.s $f6, $f4, $f30 -/* 0D7BC8 7F0A3098 A6000008 */ sh $zero, 8($s0) -/* 0D7BCC 7F0A309C A600000A */ sh $zero, 0xa($s0) -/* 0D7BD0 7F0A30A0 A213000C */ sb $s3, 0xc($s0) -/* 0D7BD4 7F0A30A4 A213000D */ sb $s3, 0xd($s0) -/* 0D7BD8 7F0A30A8 A213000E */ sb $s3, 0xe($s0) -/* 0D7BDC 7F0A30AC 46143202 */ mul.s $f8, $f6, $f20 -/* 0D7BE0 7F0A30B0 46104283 */ div.s $f10, $f8, $f16 -/* 0D7BE4 7F0A30B4 4600548D */ trunc.w.s $f18, $f10 -/* 0D7BE8 7F0A30B8 440E9000 */ mfc1 $t6, $f18 -/* 0D7BEC 7F0A30BC 00000000 */ nop -/* 0D7BF0 7F0A30C0 000E7823 */ negu $t7, $t6 -/* 0D7BF4 7F0A30C4 1AC00013 */ blez $s6, .L7F0A3114 -/* 0D7BF8 7F0A30C8 A60F0004 */ sh $t7, 4($s0) -/* 0D7BFC 7F0A30CC 0FC15FA8 */ jal cosf -/* 0D7C00 7F0A30D0 4600C306 */ mov.s $f12, $f24 -/* 0D7C04 7F0A30D4 3C0142C0 */ li $at, 0x42C00000 # 96.000000 -/* 0D7C08 7F0A30D8 44811000 */ mtc1 $at, $f2 -/* 0D7C0C 7F0A30DC 4600C306 */ mov.s $f12, $f24 -/* 0D7C10 7F0A30E0 46020102 */ mul.s $f4, $f0, $f2 -/* 0D7C14 7F0A30E4 46041181 */ sub.s $f6, $f2, $f4 -/* 0D7C18 7F0A30E8 4600320D */ trunc.w.s $f8, $f6 -/* 0D7C1C 7F0A30EC 44194000 */ mfc1 $t9, $f8 -/* 0D7C20 7F0A30F0 0FC15FA8 */ jal cosf -/* 0D7C24 7F0A30F4 A219000C */ sb $t9, 0xc($s0) -/* 0D7C28 7F0A30F8 461A0402 */ mul.s $f16, $f0, $f26 -/* 0D7C2C 7F0A30FC A213000E */ sb $s3, 0xe($s0) -/* 0D7C30 7F0A3100 4610D281 */ sub.s $f10, $f26, $f16 -/* 0D7C34 7F0A3104 4600548D */ trunc.w.s $f18, $f10 -/* 0D7C38 7F0A3108 44099000 */ mfc1 $t1, $f18 -/* 0D7C3C 7F0A310C 10000015 */ b .L7F0A3164 -/* 0D7C40 7F0A3110 A209000D */ sb $t1, 0xd($s0) -.L7F0A3114: -/* 0D7C44 7F0A3114 06C30014 */ bgezl $s6, .L7F0A3168 -/* 0D7C48 7F0A3118 2A41000A */ slti $at, $s2, 0xa -/* 0D7C4C 7F0A311C 0FC15FA8 */ jal cosf -/* 0D7C50 7F0A3120 4600C306 */ mov.s $f12, $f24 -/* 0D7C54 7F0A3124 461A0102 */ mul.s $f4, $f0, $f26 -/* 0D7C58 7F0A3128 4600C306 */ mov.s $f12, $f24 -/* 0D7C5C 7F0A312C 4604D181 */ sub.s $f6, $f26, $f4 -/* 0D7C60 7F0A3130 4600320D */ trunc.w.s $f8, $f6 -/* 0D7C64 7F0A3134 440B4000 */ mfc1 $t3, $f8 -/* 0D7C68 7F0A3138 0FC15FA8 */ jal cosf -/* 0D7C6C 7F0A313C A20B000D */ sb $t3, 0xd($s0) -/* 0D7C70 7F0A3140 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 0D7C74 7F0A3144 44815000 */ mtc1 $at, $f10 -/* 0D7C78 7F0A3148 44818000 */ mtc1 $at, $f16 -/* 0D7C7C 7F0A314C 460A0482 */ mul.s $f18, $f0, $f10 -/* 0D7C80 7F0A3150 46128101 */ sub.s $f4, $f16, $f18 -/* 0D7C84 7F0A3154 4600218D */ trunc.w.s $f6, $f4 -/* 0D7C88 7F0A3158 440D3000 */ mfc1 $t5, $f6 -/* 0D7C8C 7F0A315C 00000000 */ nop -/* 0D7C90 7F0A3160 A20D000E */ sb $t5, 0xe($s0) -.L7F0A3164: -/* 0D7C94 7F0A3164 2A41000A */ slti $at, $s2, 0xa -.L7F0A3168: -/* 0D7C98 7F0A3168 10200022 */ beqz $at, .L7F0A31F4 -/* 0D7C9C 7F0A316C 26940001 */ addiu $s4, $s4, 1 -/* 0D7CA0 7F0A3170 4600B20D */ trunc.w.s $f8, $f22 -/* 0D7CA4 7F0A3174 44024000 */ mfc1 $v0, $f8 -/* 0D7CA8 7F0A3178 00000000 */ nop -/* 0D7CAC 7F0A317C 00021840 */ sll $v1, $v0, 1 -/* 0D7CB0 7F0A3180 2463FFFF */ addiu $v1, $v1, -1 -/* 0D7CB4 7F0A3184 0072082A */ slt $at, $v1, $s2 -/* 0D7CB8 7F0A3188 54200004 */ bnezl $at, .L7F0A319C -/* 0D7CBC 7F0A318C 4616B280 */ add.s $f10, $f22, $f22 -/* 0D7CC0 7F0A3190 1000004D */ b .L7F0A32C8 -/* 0D7CC4 7F0A3194 A213000F */ sb $s3, 0xf($s0) -/* 0D7CC8 7F0A3198 4616B280 */ add.s $f10, $f22, $f22 -.L7F0A319C: -/* 0D7CCC 7F0A319C 4600540D */ trunc.w.s $f16, $f10 -/* 0D7CD0 7F0A31A0 44188000 */ mfc1 $t8, $f16 -/* 0D7CD4 7F0A31A4 00000000 */ nop -/* 0D7CD8 7F0A31A8 0258082A */ slt $at, $s2, $t8 -/* 0D7CDC 7F0A31AC 1020000F */ beqz $at, .L7F0A31EC -/* 0D7CE0 7F0A31B0 0072082A */ slt $at, $v1, $s2 -/* 0D7CE4 7F0A31B4 1020000D */ beqz $at, .L7F0A31EC -/* 0D7CE8 7F0A31B8 00000000 */ nop -/* 0D7CEC 7F0A31BC 44829000 */ mtc1 $v0, $f18 -/* 0D7CF0 7F0A31C0 3C01434F */ li $at, 0x434F0000 # 207.000000 -/* 0D7CF4 7F0A31C4 44814000 */ mtc1 $at, $f8 -/* 0D7CF8 7F0A31C8 46809120 */ cvt.s.w $f4, $f18 -/* 0D7CFC 7F0A31CC 4604B181 */ sub.s $f6, $f22, $f4 -/* 0D7D00 7F0A31D0 46083282 */ mul.s $f10, $f6, $f8 -/* 0D7D04 7F0A31D4 4600540D */ trunc.w.s $f16, $f10 -/* 0D7D08 7F0A31D8 44088000 */ mfc1 $t0, $f16 -/* 0D7D0C 7F0A31DC 00000000 */ nop -/* 0D7D10 7F0A31E0 25090030 */ addiu $t1, $t0, 0x30 -/* 0D7D14 7F0A31E4 10000038 */ b .L7F0A32C8 -/* 0D7D18 7F0A31E8 A209000F */ sb $t1, 0xf($s0) -.L7F0A31EC: -/* 0D7D1C 7F0A31EC 10000036 */ b .L7F0A32C8 -/* 0D7D20 7F0A31F0 A215000F */ sb $s5, 0xf($s0) -.L7F0A31F4: -/* 0D7D24 7F0A31F4 2A41000A */ slti $at, $s2, 0xa -/* 0D7D28 7F0A31F8 14200033 */ bnez $at, .L7F0A32C8 -/* 0D7D2C 7F0A31FC 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0D7D30 7F0A3200 44819000 */ mtc1 $at, $f18 -/* 0D7D34 7F0A3204 44924000 */ mtc1 $s2, $f8 -/* 0D7D38 7F0A3208 3C014110 */ li $at, 0x41100000 # 9.000000 -/* 0D7D3C 7F0A320C 4612B001 */ sub.s $f0, $f22, $f18 -/* 0D7D40 7F0A3210 44812000 */ mtc1 $at, $f4 -/* 0D7D44 7F0A3214 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D7D48 7F0A3218 468042A0 */ cvt.s.w $f10, $f8 -/* 0D7D4C 7F0A321C 461C0082 */ mul.s $f2, $f0, $f28 -/* 0D7D50 7F0A3220 46022180 */ add.s $f6, $f4, $f2 -/* 0D7D54 7F0A3224 4606503E */ c.le.s $f10, $f6 -/* 0D7D58 7F0A3228 00000000 */ nop -/* 0D7D5C 7F0A322C 45020004 */ bc1fl .L7F0A3240 -/* 0D7D60 7F0A3230 44818000 */ mtc1 $at, $f16 -/* 0D7D64 7F0A3234 10000024 */ b .L7F0A32C8 -/* 0D7D68 7F0A3238 A213000F */ sb $s3, 0xf($s0) -/* 0D7D6C 7F0A323C 44818000 */ mtc1 $at, $f16 -.L7F0A3240: -/* 0D7D70 7F0A3240 00000000 */ nop -/* 0D7D74 7F0A3244 46101480 */ add.s $f18, $f2, $f16 -/* 0D7D78 7F0A3248 4600910D */ trunc.w.s $f4, $f18 -/* 0D7D7C 7F0A324C 440B2000 */ mfc1 $t3, $f4 -/* 0D7D80 7F0A3250 00000000 */ nop -/* 0D7D84 7F0A3254 256C0009 */ addiu $t4, $t3, 9 -/* 0D7D88 7F0A3258 0192082A */ slt $at, $t4, $s2 -/* 0D7D8C 7F0A325C 5420001A */ bnezl $at, .L7F0A32C8 -/* 0D7D90 7F0A3260 A215000F */ sb $s5, 0xf($s0) -/* 0D7D94 7F0A3264 4600020D */ trunc.w.s $f8, $f0 -/* 0D7D98 7F0A3268 440E4000 */ mfc1 $t6, $f8 -/* 0D7D9C 7F0A326C 00000000 */ nop -/* 0D7DA0 7F0A3270 000E7840 */ sll $t7, $t6, 1 -/* 0D7DA4 7F0A3274 25F80008 */ addiu $t8, $t7, 8 -/* 0D7DA8 7F0A3278 0312082A */ slt $at, $t8, $s2 -/* 0D7DAC 7F0A327C 50200012 */ beql $at, $zero, .L7F0A32C8 -/* 0D7DB0 7F0A3280 A215000F */ sb $s5, 0xf($s0) -/* 0D7DB4 7F0A3284 4600B18D */ trunc.w.s $f6, $f22 -/* 0D7DB8 7F0A3288 3C01434F */ li $at, 0x434F0000 # 207.000000 -/* 0D7DBC 7F0A328C 44812000 */ mtc1 $at, $f4 -/* 0D7DC0 7F0A3290 44083000 */ mfc1 $t0, $f6 -/* 0D7DC4 7F0A3294 00000000 */ nop -/* 0D7DC8 7F0A3298 44885000 */ mtc1 $t0, $f10 -/* 0D7DCC 7F0A329C 00000000 */ nop -/* 0D7DD0 7F0A32A0 46805420 */ cvt.s.w $f16, $f10 -/* 0D7DD4 7F0A32A4 4610B481 */ sub.s $f18, $f22, $f16 -/* 0D7DD8 7F0A32A8 46049202 */ mul.s $f8, $f18, $f4 -/* 0D7DDC 7F0A32AC 4600418D */ trunc.w.s $f6, $f8 -/* 0D7DE0 7F0A32B0 440A3000 */ mfc1 $t2, $f6 -/* 0D7DE4 7F0A32B4 00000000 */ nop -/* 0D7DE8 7F0A32B8 254B0030 */ addiu $t3, $t2, 0x30 -/* 0D7DEC 7F0A32BC 10000002 */ b .L7F0A32C8 -/* 0D7DF0 7F0A32C0 A20B000F */ sb $t3, 0xf($s0) -/* 0D7DF4 7F0A32C4 A215000F */ sb $s5, 0xf($s0) -.L7F0A32C8: -/* 0D7DF8 7F0A32C8 169EFF57 */ bne $s4, $fp, .L7F0A3028 -/* 0D7DFC 7F0A32CC 26100010 */ addiu $s0, $s0, 0x10 -/* 0D7E00 7F0A32D0 8FAC0080 */ lw $t4, 0x80($sp) -/* 0D7E04 7F0A32D4 26520001 */ addiu $s2, $s2, 1 -/* 0D7E08 7F0A32D8 24010017 */ li $at, 23 -/* 0D7E0C 7F0A32DC 258D0005 */ addiu $t5, $t4, 5 -/* 0D7E10 7F0A32E0 1641FF3A */ bne $s2, $at, .L7F0A2FCC -/* 0D7E14 7F0A32E4 AFAD0080 */ sw $t5, 0x80($sp) -/* 0D7E18 7F0A32E8 8FBF006C */ lw $ra, 0x6c($sp) -/* 0D7E1C 7F0A32EC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D7E20 7F0A32F0 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0D7E24 7F0A32F4 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0D7E28 7F0A32F8 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 0D7E2C 7F0A32FC D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 0D7E30 7F0A3300 D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 0D7E34 7F0A3304 8FB00048 */ lw $s0, 0x48($sp) -/* 0D7E38 7F0A3308 8FB1004C */ lw $s1, 0x4c($sp) -/* 0D7E3C 7F0A330C 8FB20050 */ lw $s2, 0x50($sp) -/* 0D7E40 7F0A3310 8FB30054 */ lw $s3, 0x54($sp) -/* 0D7E44 7F0A3314 8FB40058 */ lw $s4, 0x58($sp) -/* 0D7E48 7F0A3318 8FB5005C */ lw $s5, 0x5c($sp) -/* 0D7E4C 7F0A331C 8FB60060 */ lw $s6, 0x60($sp) -/* 0D7E50 7F0A3320 8FB70064 */ lw $s7, 0x64($sp) -/* 0D7E54 7F0A3324 8FBE0068 */ lw $fp, 0x68($sp) -/* 0D7E58 7F0A3328 03E00008 */ jr $ra -/* 0D7E5C 7F0A332C 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3330(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3330 -/* 0D7E60 7F0A3330 00803825 */ move $a3, $a0 -/* 0D7E64 7F0A3334 00001025 */ move $v0, $zero -/* 0D7E68 7F0A3338 04C10003 */ bgez $a2, .L7F0A3348 -/* 0D7E6C 7F0A333C 00061843 */ sra $v1, $a2, 1 -/* 0D7E70 7F0A3340 24C10001 */ addiu $at, $a2, 1 -/* 0D7E74 7F0A3344 00011843 */ sra $v1, $at, 1 -.L7F0A3348: -/* 0D7E78 7F0A3348 2463FFFE */ addiu $v1, $v1, -2 -/* 0D7E7C 7F0A334C 04600026 */ bltz $v1, .L7F0A33E8 -/* 0D7E80 7F0A3350 3C0BB800 */ lui $t3, 0xb800 -/* 0D7E84 7F0A3354 3C08B100 */ lui $t0, (0xB1000032 >> 16) # lui $t0, 0xb100 -/* 0D7E88 7F0A3358 3C060430 */ lui $a2, (0x04300040 >> 16) # lui $a2, 0x430 -/* 0D7E8C 7F0A335C 34C60040 */ ori $a2, (0x04300040 & 0xFFFF) # ori $a2, $a2, 0x40 -/* 0D7E90 7F0A3360 35080032 */ ori $t0, (0xB1000032 & 0xFFFF) # ori $t0, $t0, 0x32 -/* 0D7E94 7F0A3364 24092110 */ li $t1, 8464 -.L7F0A3368: -/* 0D7E98 7F0A3368 00E02025 */ move $a0, $a3 -/* 0D7E9C 7F0A336C 28410009 */ slti $at, $v0, 9 -/* 0D7EA0 7F0A3370 AC860000 */ sw $a2, ($a0) -/* 0D7EA4 7F0A3374 AC850004 */ sw $a1, 4($a0) -/* 0D7EA8 7F0A3378 1420000D */ bnez $at, .L7F0A33B0 -/* 0D7EAC 7F0A337C 24E70008 */ addiu $a3, $a3, 8 -/* 0D7EB0 7F0A3380 244E0003 */ addiu $t6, $v0, 3 -/* 0D7EB4 7F0A3384 05C10004 */ bgez $t6, .L7F0A3398 -/* 0D7EB8 7F0A3388 31CF0003 */ andi $t7, $t6, 3 -/* 0D7EBC 7F0A338C 11E00002 */ beqz $t7, .L7F0A3398 -/* 0D7EC0 7F0A3390 00000000 */ nop -/* 0D7EC4 7F0A3394 25EFFFFC */ addiu $t7, $t7, -4 -.L7F0A3398: -/* 0D7EC8 7F0A3398 11E0000D */ beqz $t7, .L7F0A33D0 -/* 0D7ECC 7F0A339C 00E02025 */ move $a0, $a3 -/* 0D7ED0 7F0A33A0 24E70008 */ addiu $a3, $a3, 8 -/* 0D7ED4 7F0A33A4 AC880000 */ sw $t0, ($a0) -/* 0D7ED8 7F0A33A8 10000009 */ b .L7F0A33D0 -/* 0D7EDC 7F0A33AC AC890004 */ sw $t1, 4($a0) -.L7F0A33B0: -/* 0D7EE0 7F0A33B0 28410009 */ slti $at, $v0, 9 -/* 0D7EE4 7F0A33B4 10200006 */ beqz $at, .L7F0A33D0 -/* 0D7EE8 7F0A33B8 30580001 */ andi $t8, $v0, 1 -/* 0D7EEC 7F0A33BC 17000004 */ bnez $t8, .L7F0A33D0 -/* 0D7EF0 7F0A33C0 00E02025 */ move $a0, $a3 -/* 0D7EF4 7F0A33C4 24E70008 */ addiu $a3, $a3, 8 -/* 0D7EF8 7F0A33C8 AC880000 */ sw $t0, ($a0) -/* 0D7EFC 7F0A33CC AC890004 */ sw $t1, 4($a0) -.L7F0A33D0: -/* 0D7F00 7F0A33D0 24420001 */ addiu $v0, $v0, 1 -/* 0D7F04 7F0A33D4 0002CE00 */ sll $t9, $v0, 0x18 -/* 0D7F08 7F0A33D8 00191603 */ sra $v0, $t9, 0x18 -/* 0D7F0C 7F0A33DC 0062082A */ slt $at, $v1, $v0 -/* 0D7F10 7F0A33E0 1020FFE1 */ beqz $at, .L7F0A3368 -/* 0D7F14 7F0A33E4 24A50020 */ addiu $a1, $a1, 0x20 -.L7F0A33E8: -/* 0D7F18 7F0A33E8 24E20008 */ addiu $v0, $a3, 8 -/* 0D7F1C 7F0A33EC ACEB0000 */ sw $t3, ($a3) -/* 0D7F20 7F0A33F0 03E00008 */ jr $ra -/* 0D7F24 7F0A33F4 ACE00004 */ sw $zero, 4($a3) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A33F8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005774C -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F0A33F8 -/* 0D7F28 7F0A33F8 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0D7F2C 7F0A33FC F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 0D7F30 7F0A3400 4486F000 */ mtc1 $a2, $f30 -/* 0D7F34 7F0A3404 AFB6005C */ sw $s6, 0x5c($sp) -/* 0D7F38 7F0A3408 AFB00044 */ sw $s0, 0x44($sp) -/* 0D7F3C 7F0A340C 00808025 */ move $s0, $a0 -/* 0D7F40 7F0A3410 00A0B025 */ move $s6, $a1 -/* 0D7F44 7F0A3414 AFBF0064 */ sw $ra, 0x64($sp) -/* 0D7F48 7F0A3418 AFB70060 */ sw $s7, 0x60($sp) -/* 0D7F4C 7F0A341C AFB50058 */ sw $s5, 0x58($sp) -/* 0D7F50 7F0A3420 AFB40054 */ sw $s4, 0x54($sp) -/* 0D7F54 7F0A3424 AFB30050 */ sw $s3, 0x50($sp) -/* 0D7F58 7F0A3428 AFB2004C */ sw $s2, 0x4c($sp) -/* 0D7F5C 7F0A342C AFB10048 */ sw $s1, 0x48($sp) -/* 0D7F60 7F0A3430 F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 0D7F64 7F0A3434 F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 0D7F68 7F0A3438 F7B80020 */ sdc1 $f24, 0x20($sp) -/* 0D7F6C 7F0A343C F7B60018 */ sdc1 $f22, 0x18($sp) -/* 0D7F70 7F0A3440 10E0000F */ beqz $a3, .L7F0A3480 -/* 0D7F74 7F0A3444 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0D7F78 7F0A3448 241500B0 */ li $s5, 176 -/* 0D7F7C 7F0A344C 240E0001 */ li $t6, 1 -/* 0D7F80 7F0A3450 240F002C */ li $t7, 44 -/* 0D7F84 7F0A3454 A48E0000 */ sh $t6, ($a0) -/* 0D7F88 7F0A3458 A4800002 */ sh $zero, 2($a0) -/* 0D7F8C 7F0A345C A4800004 */ sh $zero, 4($a0) -/* 0D7F90 7F0A3460 A4800006 */ sh $zero, 6($a0) -/* 0D7F94 7F0A3464 A4800008 */ sh $zero, 8($a0) -/* 0D7F98 7F0A3468 A480000A */ sh $zero, 0xa($a0) -/* 0D7F9C 7F0A346C A080000C */ sb $zero, 0xc($a0) -/* 0D7FA0 7F0A3470 A08F000D */ sb $t7, 0xd($a0) -/* 0D7FA4 7F0A3474 A080000E */ sb $zero, 0xe($a0) -/* 0D7FA8 7F0A3478 A095000F */ sb $s5, 0xf($a0) -/* 0D7FAC 7F0A347C 24900010 */ addiu $s0, $a0, 0x10 -.L7F0A3480: -/* 0D7FB0 7F0A3480 26D7FFF9 */ addiu $s7, $s6, -7 -/* 0D7FB4 7F0A3484 2AE10007 */ slti $at, $s7, 7 -/* 0D7FB8 7F0A3488 241500B0 */ li $s5, 176 -/* 0D7FBC 7F0A348C 14200129 */ bnez $at, .L7F0A3934 -/* 0D7FC0 7F0A3490 24110007 */ li $s1, 7 -/* 0D7FC4 7F0A3494 44962000 */ mtc1 $s6, $f4 -/* 0D7FC8 7F0A3498 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0D7FCC 7F0A349C 4481E000 */ mtc1 $at, $f28 -/* 0D7FD0 7F0A34A0 46802020 */ cvt.s.w $f0, $f4 -/* 0D7FD4 7F0A34A4 3C014230 */ li $at, 0x42300000 # 44.000000 -/* 0D7FD8 7F0A34A8 4481D000 */ mtc1 $at, $f26 -/* 0D7FDC 7F0A34AC 3C014402 */ li $at, 0x44020000 # 520.000000 -/* 0D7FE0 7F0A34B0 4481C000 */ mtc1 $at, $f24 -/* 0D7FE4 7F0A34B4 4480B000 */ mtc1 $zero, $f22 -/* 0D7FE8 7F0A34B8 E7A0006C */ swc1 $f0, 0x6c($sp) -/* 0D7FEC 7F0A34BC 241300FF */ li $s3, 255 -/* 0D7FF0 7F0A34C0 44913000 */ mtc1 $s1, $f6 -.L7F0A34C4: -/* 0D7FF4 7F0A34C4 3C018005 */ lui $at, %hi(D_8005774C) -/* 0D7FF8 7F0A34C8 C42A774C */ lwc1 $f10, %lo(D_8005774C)($at) -/* 0D7FFC 7F0A34CC 46803220 */ cvt.s.w $f8, $f6 -/* 0D8000 7F0A34D0 C7A0006C */ lwc1 $f0, 0x6c($sp) -/* 0D8004 7F0A34D4 460A4402 */ mul.s $f16, $f8, $f10 -/* 0D8008 7F0A34D8 46008503 */ div.s $f20, $f16, $f0 -/* 0D800C 7F0A34DC 0FC15FAB */ jal sinf -/* 0D8010 7F0A34E0 4600A306 */ mov.s $f12, $f20 -/* 0D8014 7F0A34E4 46180482 */ mul.s $f18, $f0, $f24 -/* 0D8018 7F0A34E8 4600A306 */ mov.s $f12, $f20 -/* 0D801C 7F0A34EC 461E9102 */ mul.s $f4, $f18, $f30 -/* 0D8020 7F0A34F0 4600218D */ trunc.w.s $f6, $f4 -/* 0D8024 7F0A34F4 44123000 */ mfc1 $s2, $f6 -/* 0D8028 7F0A34F8 00000000 */ nop -/* 0D802C 7F0A34FC 0012CC00 */ sll $t9, $s2, 0x10 -/* 0D8030 7F0A3500 0FC15FA8 */ jal cosf -/* 0D8034 7F0A3504 00199403 */ sra $s2, $t9, 0x10 -/* 0D8038 7F0A3508 46180202 */ mul.s $f8, $f0, $f24 -/* 0D803C 7F0A350C 264B0001 */ addiu $t3, $s2, 1 -/* 0D8040 7F0A3510 A60B0000 */ sh $t3, ($s0) -/* 0D8044 7F0A3514 A6000002 */ sh $zero, 2($s0) -/* 0D8048 7F0A3518 A6000006 */ sh $zero, 6($s0) -/* 0D804C 7F0A351C A6000008 */ sh $zero, 8($s0) -/* 0D8050 7F0A3520 A600000A */ sh $zero, 0xa($s0) -/* 0D8054 7F0A3524 461E4282 */ mul.s $f10, $f8, $f30 -/* 0D8058 7F0A3528 4600A306 */ mov.s $f12, $f20 -/* 0D805C 7F0A352C 4600540D */ trunc.w.s $f16, $f10 -/* 0D8060 7F0A3530 440D8000 */ mfc1 $t5, $f16 -/* 0D8064 7F0A3534 00000000 */ nop -/* 0D8068 7F0A3538 000DA400 */ sll $s4, $t5, 0x10 -/* 0D806C 7F0A353C 00145403 */ sra $t2, $s4, 0x10 -/* 0D8070 7F0A3540 000D7023 */ negu $t6, $t5 -/* 0D8074 7F0A3544 0140A025 */ move $s4, $t2 -/* 0D8078 7F0A3548 0FC15FA8 */ jal cosf -/* 0D807C 7F0A354C A60E0004 */ sh $t6, 4($s0) -/* 0D8080 7F0A3550 46160482 */ mul.s $f18, $f0, $f22 -/* 0D8084 7F0A3554 24180001 */ li $t8, 1 -/* 0D8088 7F0A3558 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D808C 7F0A355C 4612B101 */ sub.s $f4, $f22, $f18 -/* 0D8090 7F0A3560 444FF800 */ cfc1 $t7, $31 -/* 0D8094 7F0A3564 44D8F800 */ ctc1 $t8, $31 -/* 0D8098 7F0A3568 00000000 */ nop -/* 0D809C 7F0A356C 460021A4 */ cvt.w.s $f6, $f4 -/* 0D80A0 7F0A3570 4458F800 */ cfc1 $t8, $31 -/* 0D80A4 7F0A3574 00000000 */ nop -/* 0D80A8 7F0A3578 33180078 */ andi $t8, $t8, 0x78 -/* 0D80AC 7F0A357C 53000013 */ beql $t8, $zero, .L7F0A35CC -/* 0D80B0 7F0A3580 44183000 */ mfc1 $t8, $f6 -/* 0D80B4 7F0A3584 44813000 */ mtc1 $at, $f6 -/* 0D80B8 7F0A3588 24180001 */ li $t8, 1 -/* 0D80BC 7F0A358C 46062181 */ sub.s $f6, $f4, $f6 -/* 0D80C0 7F0A3590 44D8F800 */ ctc1 $t8, $31 -/* 0D80C4 7F0A3594 00000000 */ nop -/* 0D80C8 7F0A3598 460031A4 */ cvt.w.s $f6, $f6 -/* 0D80CC 7F0A359C 4458F800 */ cfc1 $t8, $31 -/* 0D80D0 7F0A35A0 00000000 */ nop -/* 0D80D4 7F0A35A4 33180078 */ andi $t8, $t8, 0x78 -/* 0D80D8 7F0A35A8 17000005 */ bnez $t8, .L7F0A35C0 -/* 0D80DC 7F0A35AC 00000000 */ nop -/* 0D80E0 7F0A35B0 44183000 */ mfc1 $t8, $f6 -/* 0D80E4 7F0A35B4 3C018000 */ lui $at, 0x8000 -/* 0D80E8 7F0A35B8 10000007 */ b .L7F0A35D8 -/* 0D80EC 7F0A35BC 0301C025 */ or $t8, $t8, $at -.L7F0A35C0: -/* 0D80F0 7F0A35C0 10000005 */ b .L7F0A35D8 -/* 0D80F4 7F0A35C4 2418FFFF */ li $t8, -1 -/* 0D80F8 7F0A35C8 44183000 */ mfc1 $t8, $f6 -.L7F0A35CC: -/* 0D80FC 7F0A35CC 00000000 */ nop -/* 0D8100 7F0A35D0 0700FFFB */ bltz $t8, .L7F0A35C0 -/* 0D8104 7F0A35D4 00000000 */ nop -.L7F0A35D8: -/* 0D8108 7F0A35D8 44CFF800 */ ctc1 $t7, $31 -/* 0D810C 7F0A35DC A218000C */ sb $t8, 0xc($s0) -/* 0D8110 7F0A35E0 0FC15FA8 */ jal cosf -/* 0D8114 7F0A35E4 4600A306 */ mov.s $f12, $f20 -/* 0D8118 7F0A35E8 461C0202 */ mul.s $f8, $f0, $f28 -/* 0D811C 7F0A35EC 24080001 */ li $t0, 1 -/* 0D8120 7F0A35F0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D8124 7F0A35F4 4608D281 */ sub.s $f10, $f26, $f8 -/* 0D8128 7F0A35F8 4459F800 */ cfc1 $t9, $31 -/* 0D812C 7F0A35FC 44C8F800 */ ctc1 $t0, $31 -/* 0D8130 7F0A3600 00000000 */ nop -/* 0D8134 7F0A3604 46005424 */ cvt.w.s $f16, $f10 -/* 0D8138 7F0A3608 4448F800 */ cfc1 $t0, $31 -/* 0D813C 7F0A360C 00000000 */ nop -/* 0D8140 7F0A3610 31080078 */ andi $t0, $t0, 0x78 -/* 0D8144 7F0A3614 51000013 */ beql $t0, $zero, .L7F0A3664 -/* 0D8148 7F0A3618 44088000 */ mfc1 $t0, $f16 -/* 0D814C 7F0A361C 44818000 */ mtc1 $at, $f16 -/* 0D8150 7F0A3620 24080001 */ li $t0, 1 -/* 0D8154 7F0A3624 46105401 */ sub.s $f16, $f10, $f16 -/* 0D8158 7F0A3628 44C8F800 */ ctc1 $t0, $31 -/* 0D815C 7F0A362C 00000000 */ nop -/* 0D8160 7F0A3630 46008424 */ cvt.w.s $f16, $f16 -/* 0D8164 7F0A3634 4448F800 */ cfc1 $t0, $31 -/* 0D8168 7F0A3638 00000000 */ nop -/* 0D816C 7F0A363C 31080078 */ andi $t0, $t0, 0x78 -/* 0D8170 7F0A3640 15000005 */ bnez $t0, .L7F0A3658 -/* 0D8174 7F0A3644 00000000 */ nop -/* 0D8178 7F0A3648 44088000 */ mfc1 $t0, $f16 -/* 0D817C 7F0A364C 3C018000 */ lui $at, 0x8000 -/* 0D8180 7F0A3650 10000007 */ b .L7F0A3670 -/* 0D8184 7F0A3654 01014025 */ or $t0, $t0, $at -.L7F0A3658: -/* 0D8188 7F0A3658 10000005 */ b .L7F0A3670 -/* 0D818C 7F0A365C 2408FFFF */ li $t0, -1 -/* 0D8190 7F0A3660 44088000 */ mfc1 $t0, $f16 -.L7F0A3664: -/* 0D8194 7F0A3664 00000000 */ nop -/* 0D8198 7F0A3668 0500FFFB */ bltz $t0, .L7F0A3658 -/* 0D819C 7F0A366C 00000000 */ nop -.L7F0A3670: -/* 0D81A0 7F0A3670 44D9F800 */ ctc1 $t9, $31 -/* 0D81A4 7F0A3674 A208000D */ sb $t0, 0xd($s0) -/* 0D81A8 7F0A3678 0FC15FA8 */ jal cosf -/* 0D81AC 7F0A367C 4600A306 */ mov.s $f12, $f20 -/* 0D81B0 7F0A3680 46160482 */ mul.s $f18, $f0, $f22 -/* 0D81B4 7F0A3684 240A0001 */ li $t2, 1 -/* 0D81B8 7F0A3688 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D81BC 7F0A368C 4612B101 */ sub.s $f4, $f22, $f18 -/* 0D81C0 7F0A3690 4449F800 */ cfc1 $t1, $31 -/* 0D81C4 7F0A3694 44CAF800 */ ctc1 $t2, $31 -/* 0D81C8 7F0A3698 00000000 */ nop -/* 0D81CC 7F0A369C 460021A4 */ cvt.w.s $f6, $f4 -/* 0D81D0 7F0A36A0 444AF800 */ cfc1 $t2, $31 -/* 0D81D4 7F0A36A4 00000000 */ nop -/* 0D81D8 7F0A36A8 314A0078 */ andi $t2, $t2, 0x78 -/* 0D81DC 7F0A36AC 51400013 */ beql $t2, $zero, .L7F0A36FC -/* 0D81E0 7F0A36B0 440A3000 */ mfc1 $t2, $f6 -/* 0D81E4 7F0A36B4 44813000 */ mtc1 $at, $f6 -/* 0D81E8 7F0A36B8 240A0001 */ li $t2, 1 -/* 0D81EC 7F0A36BC 46062181 */ sub.s $f6, $f4, $f6 -/* 0D81F0 7F0A36C0 44CAF800 */ ctc1 $t2, $31 -/* 0D81F4 7F0A36C4 00000000 */ nop -/* 0D81F8 7F0A36C8 460031A4 */ cvt.w.s $f6, $f6 -/* 0D81FC 7F0A36CC 444AF800 */ cfc1 $t2, $31 -/* 0D8200 7F0A36D0 00000000 */ nop -/* 0D8204 7F0A36D4 314A0078 */ andi $t2, $t2, 0x78 -/* 0D8208 7F0A36D8 15400005 */ bnez $t2, .L7F0A36F0 -/* 0D820C 7F0A36DC 00000000 */ nop -/* 0D8210 7F0A36E0 440A3000 */ mfc1 $t2, $f6 -/* 0D8214 7F0A36E4 3C018000 */ lui $at, 0x8000 -/* 0D8218 7F0A36E8 10000007 */ b .L7F0A3708 -/* 0D821C 7F0A36EC 01415025 */ or $t2, $t2, $at -.L7F0A36F0: -/* 0D8220 7F0A36F0 10000005 */ b .L7F0A3708 -/* 0D8224 7F0A36F4 240AFFFF */ li $t2, -1 -/* 0D8228 7F0A36F8 440A3000 */ mfc1 $t2, $f6 -.L7F0A36FC: -/* 0D822C 7F0A36FC 00000000 */ nop -/* 0D8230 7F0A3700 0540FFFB */ bltz $t2, .L7F0A36F0 -/* 0D8234 7F0A3704 00000000 */ nop -.L7F0A3708: -/* 0D8238 7F0A3708 44C9F800 */ ctc1 $t1, $31 -/* 0D823C 7F0A370C A20A000E */ sb $t2, 0xe($s0) -/* 0D8240 7F0A3710 A215000F */ sb $s5, 0xf($s0) -/* 0D8244 7F0A3714 12200083 */ beqz $s1, .L7F0A3924 -/* 0D8248 7F0A3718 26100010 */ addiu $s0, $s0, 0x10 -/* 0D824C 7F0A371C 0236082A */ slt $at, $s1, $s6 -/* 0D8250 7F0A3720 10200080 */ beqz $at, .L7F0A3924 -/* 0D8254 7F0A3724 240B0001 */ li $t3, 1 -/* 0D8258 7F0A3728 01726023 */ subu $t4, $t3, $s2 -/* 0D825C 7F0A372C 00146823 */ negu $t5, $s4 -/* 0D8260 7F0A3730 A60C0000 */ sh $t4, ($s0) -/* 0D8264 7F0A3734 A6000002 */ sh $zero, 2($s0) -/* 0D8268 7F0A3738 A60D0004 */ sh $t5, 4($s0) -/* 0D826C 7F0A373C A6000006 */ sh $zero, 6($s0) -/* 0D8270 7F0A3740 A6000008 */ sh $zero, 8($s0) -/* 0D8274 7F0A3744 A600000A */ sh $zero, 0xa($s0) -/* 0D8278 7F0A3748 A213000C */ sb $s3, 0xc($s0) -/* 0D827C 7F0A374C A213000D */ sb $s3, 0xd($s0) -/* 0D8280 7F0A3750 A213000E */ sb $s3, 0xe($s0) -/* 0D8284 7F0A3754 0FC15FA8 */ jal cosf -/* 0D8288 7F0A3758 4600A306 */ mov.s $f12, $f20 -/* 0D828C 7F0A375C 46160202 */ mul.s $f8, $f0, $f22 -/* 0D8290 7F0A3760 240F0001 */ li $t7, 1 -/* 0D8294 7F0A3764 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D8298 7F0A3768 4608B281 */ sub.s $f10, $f22, $f8 -/* 0D829C 7F0A376C 444EF800 */ cfc1 $t6, $31 -/* 0D82A0 7F0A3770 44CFF800 */ ctc1 $t7, $31 -/* 0D82A4 7F0A3774 00000000 */ nop -/* 0D82A8 7F0A3778 46005424 */ cvt.w.s $f16, $f10 -/* 0D82AC 7F0A377C 444FF800 */ cfc1 $t7, $31 -/* 0D82B0 7F0A3780 00000000 */ nop -/* 0D82B4 7F0A3784 31EF0078 */ andi $t7, $t7, 0x78 -/* 0D82B8 7F0A3788 51E00013 */ beql $t7, $zero, .L7F0A37D8 -/* 0D82BC 7F0A378C 440F8000 */ mfc1 $t7, $f16 -/* 0D82C0 7F0A3790 44818000 */ mtc1 $at, $f16 -/* 0D82C4 7F0A3794 240F0001 */ li $t7, 1 -/* 0D82C8 7F0A3798 46105401 */ sub.s $f16, $f10, $f16 -/* 0D82CC 7F0A379C 44CFF800 */ ctc1 $t7, $31 -/* 0D82D0 7F0A37A0 00000000 */ nop -/* 0D82D4 7F0A37A4 46008424 */ cvt.w.s $f16, $f16 -/* 0D82D8 7F0A37A8 444FF800 */ cfc1 $t7, $31 -/* 0D82DC 7F0A37AC 00000000 */ nop -/* 0D82E0 7F0A37B0 31EF0078 */ andi $t7, $t7, 0x78 -/* 0D82E4 7F0A37B4 15E00005 */ bnez $t7, .L7F0A37CC -/* 0D82E8 7F0A37B8 00000000 */ nop -/* 0D82EC 7F0A37BC 440F8000 */ mfc1 $t7, $f16 -/* 0D82F0 7F0A37C0 3C018000 */ lui $at, 0x8000 -/* 0D82F4 7F0A37C4 10000007 */ b .L7F0A37E4 -/* 0D82F8 7F0A37C8 01E17825 */ or $t7, $t7, $at -.L7F0A37CC: -/* 0D82FC 7F0A37CC 10000005 */ b .L7F0A37E4 -/* 0D8300 7F0A37D0 240FFFFF */ li $t7, -1 -/* 0D8304 7F0A37D4 440F8000 */ mfc1 $t7, $f16 -.L7F0A37D8: -/* 0D8308 7F0A37D8 00000000 */ nop -/* 0D830C 7F0A37DC 05E0FFFB */ bltz $t7, .L7F0A37CC -/* 0D8310 7F0A37E0 00000000 */ nop -.L7F0A37E4: -/* 0D8314 7F0A37E4 44CEF800 */ ctc1 $t6, $31 -/* 0D8318 7F0A37E8 A20F000C */ sb $t7, 0xc($s0) -/* 0D831C 7F0A37EC 0FC15FA8 */ jal cosf -/* 0D8320 7F0A37F0 4600A306 */ mov.s $f12, $f20 -/* 0D8324 7F0A37F4 461C0482 */ mul.s $f18, $f0, $f28 -/* 0D8328 7F0A37F8 24190001 */ li $t9, 1 -/* 0D832C 7F0A37FC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D8330 7F0A3800 4612D101 */ sub.s $f4, $f26, $f18 -/* 0D8334 7F0A3804 4458F800 */ cfc1 $t8, $31 -/* 0D8338 7F0A3808 44D9F800 */ ctc1 $t9, $31 -/* 0D833C 7F0A380C 00000000 */ nop -/* 0D8340 7F0A3810 460021A4 */ cvt.w.s $f6, $f4 -/* 0D8344 7F0A3814 4459F800 */ cfc1 $t9, $31 -/* 0D8348 7F0A3818 00000000 */ nop -/* 0D834C 7F0A381C 33390078 */ andi $t9, $t9, 0x78 -/* 0D8350 7F0A3820 53200013 */ beql $t9, $zero, .L7F0A3870 -/* 0D8354 7F0A3824 44193000 */ mfc1 $t9, $f6 -/* 0D8358 7F0A3828 44813000 */ mtc1 $at, $f6 -/* 0D835C 7F0A382C 24190001 */ li $t9, 1 -/* 0D8360 7F0A3830 46062181 */ sub.s $f6, $f4, $f6 -/* 0D8364 7F0A3834 44D9F800 */ ctc1 $t9, $31 -/* 0D8368 7F0A3838 00000000 */ nop -/* 0D836C 7F0A383C 460031A4 */ cvt.w.s $f6, $f6 -/* 0D8370 7F0A3840 4459F800 */ cfc1 $t9, $31 -/* 0D8374 7F0A3844 00000000 */ nop -/* 0D8378 7F0A3848 33390078 */ andi $t9, $t9, 0x78 -/* 0D837C 7F0A384C 17200005 */ bnez $t9, .L7F0A3864 -/* 0D8380 7F0A3850 00000000 */ nop -/* 0D8384 7F0A3854 44193000 */ mfc1 $t9, $f6 -/* 0D8388 7F0A3858 3C018000 */ lui $at, 0x8000 -/* 0D838C 7F0A385C 10000007 */ b .L7F0A387C -/* 0D8390 7F0A3860 0321C825 */ or $t9, $t9, $at -.L7F0A3864: -/* 0D8394 7F0A3864 10000005 */ b .L7F0A387C -/* 0D8398 7F0A3868 2419FFFF */ li $t9, -1 -/* 0D839C 7F0A386C 44193000 */ mfc1 $t9, $f6 -.L7F0A3870: -/* 0D83A0 7F0A3870 00000000 */ nop -/* 0D83A4 7F0A3874 0720FFFB */ bltz $t9, .L7F0A3864 -/* 0D83A8 7F0A3878 00000000 */ nop -.L7F0A387C: -/* 0D83AC 7F0A387C 44D8F800 */ ctc1 $t8, $31 -/* 0D83B0 7F0A3880 A219000D */ sb $t9, 0xd($s0) -/* 0D83B4 7F0A3884 0FC15FA8 */ jal cosf -/* 0D83B8 7F0A3888 4600A306 */ mov.s $f12, $f20 -/* 0D83BC 7F0A388C 46160202 */ mul.s $f8, $f0, $f22 -/* 0D83C0 7F0A3890 24090001 */ li $t1, 1 -/* 0D83C4 7F0A3894 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0D83C8 7F0A3898 4608B281 */ sub.s $f10, $f22, $f8 -/* 0D83CC 7F0A389C 4448F800 */ cfc1 $t0, $31 -/* 0D83D0 7F0A38A0 44C9F800 */ ctc1 $t1, $31 -/* 0D83D4 7F0A38A4 00000000 */ nop -/* 0D83D8 7F0A38A8 46005424 */ cvt.w.s $f16, $f10 -/* 0D83DC 7F0A38AC 4449F800 */ cfc1 $t1, $31 -/* 0D83E0 7F0A38B0 00000000 */ nop -/* 0D83E4 7F0A38B4 31290078 */ andi $t1, $t1, 0x78 -/* 0D83E8 7F0A38B8 51200013 */ beql $t1, $zero, .L7F0A3908 -/* 0D83EC 7F0A38BC 44098000 */ mfc1 $t1, $f16 -/* 0D83F0 7F0A38C0 44818000 */ mtc1 $at, $f16 -/* 0D83F4 7F0A38C4 24090001 */ li $t1, 1 -/* 0D83F8 7F0A38C8 46105401 */ sub.s $f16, $f10, $f16 -/* 0D83FC 7F0A38CC 44C9F800 */ ctc1 $t1, $31 -/* 0D8400 7F0A38D0 00000000 */ nop -/* 0D8404 7F0A38D4 46008424 */ cvt.w.s $f16, $f16 -/* 0D8408 7F0A38D8 4449F800 */ cfc1 $t1, $31 -/* 0D840C 7F0A38DC 00000000 */ nop -/* 0D8410 7F0A38E0 31290078 */ andi $t1, $t1, 0x78 -/* 0D8414 7F0A38E4 15200005 */ bnez $t1, .L7F0A38FC -/* 0D8418 7F0A38E8 00000000 */ nop -/* 0D841C 7F0A38EC 44098000 */ mfc1 $t1, $f16 -/* 0D8420 7F0A38F0 3C018000 */ lui $at, 0x8000 -/* 0D8424 7F0A38F4 10000007 */ b .L7F0A3914 -/* 0D8428 7F0A38F8 01214825 */ or $t1, $t1, $at -.L7F0A38FC: -/* 0D842C 7F0A38FC 10000005 */ b .L7F0A3914 -/* 0D8430 7F0A3900 2409FFFF */ li $t1, -1 -/* 0D8434 7F0A3904 44098000 */ mfc1 $t1, $f16 -.L7F0A3908: -/* 0D8438 7F0A3908 00000000 */ nop -/* 0D843C 7F0A390C 0520FFFB */ bltz $t1, .L7F0A38FC -/* 0D8440 7F0A3910 00000000 */ nop -.L7F0A3914: -/* 0D8444 7F0A3914 44C8F800 */ ctc1 $t0, $31 -/* 0D8448 7F0A3918 A209000E */ sb $t1, 0xe($s0) -/* 0D844C 7F0A391C A215000F */ sb $s5, 0xf($s0) -/* 0D8450 7F0A3920 26100010 */ addiu $s0, $s0, 0x10 -.L7F0A3924: -/* 0D8454 7F0A3924 26310002 */ addiu $s1, $s1, 2 -/* 0D8458 7F0A3928 02F1082A */ slt $at, $s7, $s1 -/* 0D845C 7F0A392C 5020FEE5 */ beql $at, $zero, .L7F0A34C4 -/* 0D8460 7F0A3930 44913000 */ mtc1 $s1, $f6 -.L7F0A3934: -/* 0D8464 7F0A3934 8FBF0064 */ lw $ra, 0x64($sp) -/* 0D8468 7F0A3938 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0D846C 7F0A393C D7B60018 */ ldc1 $f22, 0x18($sp) -/* 0D8470 7F0A3940 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 0D8474 7F0A3944 D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 0D8478 7F0A3948 D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 0D847C 7F0A394C D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 0D8480 7F0A3950 8FB00044 */ lw $s0, 0x44($sp) -/* 0D8484 7F0A3954 8FB10048 */ lw $s1, 0x48($sp) -/* 0D8488 7F0A3958 8FB2004C */ lw $s2, 0x4c($sp) -/* 0D848C 7F0A395C 8FB30050 */ lw $s3, 0x50($sp) -/* 0D8490 7F0A3960 8FB40054 */ lw $s4, 0x54($sp) -/* 0D8494 7F0A3964 8FB50058 */ lw $s5, 0x58($sp) -/* 0D8498 7F0A3968 8FB6005C */ lw $s6, 0x5c($sp) -/* 0D849C 7F0A396C 8FB70060 */ lw $s7, 0x60($sp) -/* 0D84A0 7F0A3970 03E00008 */ jr $ra -/* 0D84A4 7F0A3974 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3978(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3978 -/* 0D84A8 7F0A3978 10E00036 */ beqz $a3, .L7F0A3A54 -/* 0D84AC 7F0A397C AFA60008 */ sw $a2, 8($sp) -/* 0D84B0 7F0A3980 00A01025 */ move $v0, $a1 -/* 0D84B4 7F0A3984 00803025 */ move $a2, $a0 -/* 0D84B8 7F0A3988 3C090430 */ lui $t1, (0x04300040 >> 16) # lui $t1, 0x430 -/* 0D84BC 7F0A398C 24A50010 */ addiu $a1, $a1, 0x10 -/* 0D84C0 7F0A3990 24840008 */ addiu $a0, $a0, 8 -/* 0D84C4 7F0A3994 35290040 */ ori $t1, (0x04300040 & 0xFFFF) # ori $t1, $t1, 0x40 -/* 0D84C8 7F0A3998 24AE00E0 */ addiu $t6, $a1, 0xe0 -/* 0D84CC 7F0A399C 00803825 */ move $a3, $a0 -/* 0D84D0 7F0A39A0 3C0A0404 */ lui $t2, (0x04040010 >> 16) # lui $t2, 0x404 -/* 0D84D4 7F0A39A4 ACCE0004 */ sw $t6, 4($a2) -/* 0D84D8 7F0A39A8 ACC90000 */ sw $t1, ($a2) -/* 0D84DC 7F0A39AC 24840008 */ addiu $a0, $a0, 8 -/* 0D84E0 7F0A39B0 354A0010 */ ori $t2, (0x04040010 & 0xFFFF) # ori $t2, $t2, 0x10 -/* 0D84E4 7F0A39B4 00804025 */ move $t0, $a0 -/* 0D84E8 7F0A39B8 ACEA0000 */ sw $t2, ($a3) -/* 0D84EC 7F0A39BC ACE20004 */ sw $v0, 4($a3) -/* 0D84F0 7F0A39C0 3C0FB100 */ lui $t7, (0xB1000003 >> 16) # lui $t7, 0xb100 -/* 0D84F4 7F0A39C4 35EF0003 */ ori $t7, (0xB1000003 & 0xFFFF) # ori $t7, $t7, 3 -/* 0D84F8 7F0A39C8 24180042 */ li $t8, 66 -/* 0D84FC 7F0A39CC 3C0BB100 */ lui $t3, (0xB1000042 >> 16) # lui $t3, 0xb100 -/* 0D8500 7F0A39D0 24030007 */ li $v1, 7 -/* 0D8504 7F0A39D4 AD180004 */ sw $t8, 4($t0) -/* 0D8508 7F0A39D8 AD0F0000 */ sw $t7, ($t0) -/* 0D850C 7F0A39DC 24840008 */ addiu $a0, $a0, 8 -/* 0D8510 7F0A39E0 356B0042 */ ori $t3, (0xB1000042 & 0xFFFF) # ori $t3, $t3, 0x42 -/* 0D8514 7F0A39E4 240C3140 */ li $t4, 12608 -.L7F0A39E8: -/* 0D8518 7F0A39E8 00803025 */ move $a2, $a0 -/* 0D851C 7F0A39EC 0060C825 */ move $t9, $v1 -/* 0D8520 7F0A39F0 00196940 */ sll $t5, $t9, 5 -/* 0D8524 7F0A39F4 24840008 */ addiu $a0, $a0, 8 -/* 0D8528 7F0A39F8 01A57021 */ addu $t6, $t5, $a1 -/* 0D852C 7F0A39FC 00803825 */ move $a3, $a0 -/* 0D8530 7F0A3A00 2463FFFF */ addiu $v1, $v1, -1 -/* 0D8534 7F0A3A04 ACCE0004 */ sw $t6, 4($a2) -/* 0D8538 7F0A3A08 ACC90000 */ sw $t1, ($a2) -/* 0D853C 7F0A3A0C 24840008 */ addiu $a0, $a0, 8 -/* 0D8540 7F0A3A10 00037E00 */ sll $t7, $v1, 0x18 -/* 0D8544 7F0A3A14 00804025 */ move $t0, $a0 -/* 0D8548 7F0A3A18 000F1E03 */ sra $v1, $t7, 0x18 -/* 0D854C 7F0A3A1C ACE20004 */ sw $v0, 4($a3) -/* 0D8550 7F0A3A20 ACEA0000 */ sw $t2, ($a3) -/* 0D8554 7F0A3A24 AD0C0004 */ sw $t4, 4($t0) -/* 0D8558 7F0A3A28 AD0B0000 */ sw $t3, ($t0) -/* 0D855C 7F0A3A2C 0461FFEE */ bgez $v1, .L7F0A39E8 -/* 0D8560 7F0A3A30 24840008 */ addiu $a0, $a0, 8 -/* 0D8564 7F0A3A34 00801025 */ move $v0, $a0 -/* 0D8568 7F0A3A38 3C19B100 */ lui $t9, (0xB1000004 >> 16) # lui $t9, 0xb100 -/* 0D856C 7F0A3A3C 37390004 */ ori $t9, (0xB1000004 & 0xFFFF) # ori $t9, $t9, 4 -/* 0D8570 7F0A3A40 240D0010 */ li $t5, 16 -/* 0D8574 7F0A3A44 AC4D0004 */ sw $t5, 4($v0) -/* 0D8578 7F0A3A48 AC590000 */ sw $t9, ($v0) -/* 0D857C 7F0A3A4C 10000015 */ b .L7F0A3AA4 -/* 0D8580 7F0A3A50 24840008 */ addiu $a0, $a0, 8 -.L7F0A3A54: -/* 0D8584 7F0A3A54 3C090430 */ lui $t1, (0x04300040 >> 16) # lui $t1, 0x430 -/* 0D8588 7F0A3A58 3C07B100 */ lui $a3, (0xB1000032 >> 16) # lui $a3, 0xb100 -/* 0D858C 7F0A3A5C 34E70032 */ ori $a3, (0xB1000032 & 0xFFFF) # ori $a3, $a3, 0x32 -/* 0D8590 7F0A3A60 35290040 */ ori $t1, (0x04300040 & 0xFFFF) # ori $t1, $t1, 0x40 -/* 0D8594 7F0A3A64 00001825 */ move $v1, $zero -/* 0D8598 7F0A3A68 24082110 */ li $t0, 8464 -.L7F0A3A6C: -/* 0D859C 7F0A3A6C 24630001 */ addiu $v1, $v1, 1 -/* 0D85A0 7F0A3A70 00801025 */ move $v0, $a0 -/* 0D85A4 7F0A3A74 00037600 */ sll $t6, $v1, 0x18 -/* 0D85A8 7F0A3A78 24840008 */ addiu $a0, $a0, 8 -/* 0D85AC 7F0A3A7C 000E1E03 */ sra $v1, $t6, 0x18 -/* 0D85B0 7F0A3A80 AC450004 */ sw $a1, 4($v0) -/* 0D85B4 7F0A3A84 00803025 */ move $a2, $a0 -/* 0D85B8 7F0A3A88 28610008 */ slti $at, $v1, 8 -/* 0D85BC 7F0A3A8C AC490000 */ sw $t1, ($v0) -/* 0D85C0 7F0A3A90 ACC80004 */ sw $t0, 4($a2) -/* 0D85C4 7F0A3A94 ACC70000 */ sw $a3, ($a2) -/* 0D85C8 7F0A3A98 24840008 */ addiu $a0, $a0, 8 -/* 0D85CC 7F0A3A9C 1420FFF3 */ bnez $at, .L7F0A3A6C -/* 0D85D0 7F0A3AA0 24A50020 */ addiu $a1, $a1, 0x20 -.L7F0A3AA4: -/* 0D85D4 7F0A3AA4 3C18B800 */ lui $t8, 0xb800 -/* 0D85D8 7F0A3AA8 AC980000 */ sw $t8, ($a0) -/* 0D85DC 7F0A3AAC 24820008 */ addiu $v0, $a0, 8 -/* 0D85E0 7F0A3AB0 03E00008 */ jr $ra -/* 0D85E4 7F0A3AB4 AC800004 */ sw $zero, 4($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3AB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3AB8 -/* 0D85E8 7F0A3AB8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0D85EC 7F0A3ABC 8FAE001C */ lw $t6, 0x1c($sp) -/* 0D85F0 7F0A3AC0 AFB00004 */ sw $s0, 4($sp) -/* 0D85F4 7F0A3AC4 24100002 */ li $s0, 2 -/* 0D85F8 7F0A3AC8 00AE4021 */ addu $t0, $a1, $t6 -/* 0D85FC 7F0A3ACC 8FA50018 */ lw $a1, 0x18($sp) -/* 0D8600 7F0A3AD0 8FA90020 */ lw $t1, 0x20($sp) -/* 0D8604 7F0A3AD4 00001025 */ move $v0, $zero -/* 0D8608 7F0A3AD8 240D00F0 */ li $t5, 240 -/* 0D860C 7F0A3ADC 240C0070 */ li $t4, 112 -/* 0D8610 7F0A3AE0 240B0020 */ li $t3, 32 -.L7F0A3AE4: -/* 0D8614 7F0A3AE4 00001825 */ move $v1, $zero -/* 0D8618 7F0A3AE8 00C95021 */ addu $t2, $a2, $t1 -.L7F0A3AEC: -/* 0D861C 7F0A3AEC 24630001 */ addiu $v1, $v1, 1 -/* 0D8620 7F0A3AF0 A48A0004 */ sh $t2, 4($a0) -/* 0D8624 7F0A3AF4 01455021 */ addu $t2, $t2, $a1 -/* 0D8628 7F0A3AF8 A4880000 */ sh $t0, ($a0) -/* 0D862C 7F0A3AFC A4800002 */ sh $zero, 2($a0) -/* 0D8630 7F0A3B00 A4800006 */ sh $zero, 6($a0) -/* 0D8634 7F0A3B04 A4800008 */ sh $zero, 8($a0) -/* 0D8638 7F0A3B08 A480000A */ sh $zero, 0xa($a0) -/* 0D863C 7F0A3B0C A08B000C */ sb $t3, 0xc($a0) -/* 0D8640 7F0A3B10 A08C000D */ sb $t4, 0xd($a0) -/* 0D8644 7F0A3B14 A08B000E */ sb $t3, 0xe($a0) -/* 0D8648 7F0A3B18 A08D000F */ sb $t5, 0xf($a0) -/* 0D864C 7F0A3B1C 1470FFF3 */ bne $v1, $s0, .L7F0A3AEC -/* 0D8650 7F0A3B20 24840010 */ addiu $a0, $a0, 0x10 -/* 0D8654 7F0A3B24 24420001 */ addiu $v0, $v0, 1 -/* 0D8658 7F0A3B28 1450FFEE */ bne $v0, $s0, .L7F0A3AE4 -/* 0D865C 7F0A3B2C 01074021 */ addu $t0, $t0, $a3 -/* 0D8660 7F0A3B30 8FB00004 */ lw $s0, 4($sp) -/* 0D8664 7F0A3B34 27BD0008 */ addiu $sp, $sp, 8 -/* 0D8668 7F0A3B38 03E00008 */ jr $ra -/* 0D866C 7F0A3B3C 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3B40(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3B40 -/* 0D8670 7F0A3B40 3C0E0430 */ lui $t6, (0x04300040 >> 16) # lui $t6, 0x430 -/* 0D8674 7F0A3B44 35CE0040 */ ori $t6, (0x04300040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 0D8678 7F0A3B48 24860008 */ addiu $a2, $a0, 8 -/* 0D867C 7F0A3B4C 3C0FB100 */ lui $t7, (0xB1000032 >> 16) # lui $t7, 0xb100 -/* 0D8680 7F0A3B50 AC8E0000 */ sw $t6, ($a0) -/* 0D8684 7F0A3B54 AC850004 */ sw $a1, 4($a0) -/* 0D8688 7F0A3B58 35EF0032 */ ori $t7, (0xB1000032 & 0xFFFF) # ori $t7, $t7, 0x32 -/* 0D868C 7F0A3B5C 24182110 */ li $t8, 8464 -/* 0D8690 7F0A3B60 ACD80004 */ sw $t8, 4($a2) -/* 0D8694 7F0A3B64 ACCF0000 */ sw $t7, ($a2) -/* 0D8698 7F0A3B68 03E00008 */ jr $ra -/* 0D869C 7F0A3B6C 24C20008 */ addiu $v0, $a2, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3B70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3B70 -/* 0D86A0 7F0A3B70 3C0F8004 */ lui $t7, %hi(D_80040960) -/* 0D86A4 7F0A3B74 25EF0960 */ addiu $t7, %lo(D_80040960) # addiu $t7, $t7, 0x960 -/* 0D86A8 7F0A3B78 00047080 */ sll $t6, $a0, 2 -/* 0D86AC 7F0A3B7C 01CF1021 */ addu $v0, $t6, $t7 -/* 0D86B0 7F0A3B80 90580000 */ lbu $t8, ($v0) -/* 0D86B4 7F0A3B84 A0B80000 */ sb $t8, ($a1) -/* 0D86B8 7F0A3B88 90590001 */ lbu $t9, 1($v0) -/* 0D86BC 7F0A3B8C A0B90001 */ sb $t9, 1($a1) -/* 0D86C0 7F0A3B90 90480002 */ lbu $t0, 2($v0) -/* 0D86C4 7F0A3B94 A0A80002 */ sb $t0, 2($a1) -/* 0D86C8 7F0A3B98 90490003 */ lbu $t1, 3($v0) -/* 0D86CC 7F0A3B9C 03E00008 */ jr $ra -/* 0D86D0 7F0A3BA0 A0A90003 */ sb $t1, 3($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3BA4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3BA4 -/* 0D86D4 7F0A3BA4 90B80000 */ lbu $t8, ($a1) -/* 0D86D8 7F0A3BA8 3C0F8004 */ lui $t7, %hi(D_80040960) -/* 0D86DC 7F0A3BAC 25EF0960 */ addiu $t7, %lo(D_80040960) # addiu $t7, $t7, 0x960 -/* 0D86E0 7F0A3BB0 00047080 */ sll $t6, $a0, 2 -/* 0D86E4 7F0A3BB4 01CF1021 */ addu $v0, $t6, $t7 -/* 0D86E8 7F0A3BB8 A0580000 */ sb $t8, ($v0) -/* 0D86EC 7F0A3BBC 90B90001 */ lbu $t9, 1($a1) -/* 0D86F0 7F0A3BC0 A0590001 */ sb $t9, 1($v0) -/* 0D86F4 7F0A3BC4 90A80002 */ lbu $t0, 2($a1) -/* 0D86F8 7F0A3BC8 A0480002 */ sb $t0, 2($v0) -/* 0D86FC 7F0A3BCC 90A90003 */ lbu $t1, 3($a1) -/* 0D8700 7F0A3BD0 03E00008 */ jr $ra -/* 0D8704 7F0A3BD4 A0490003 */ sb $t1, 3($v0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3BD8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3BD8 -/* 0D8708 7F0A3BD8 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007A170) -/* 0D870C 7F0A3BDC 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A4E0) -/* 0D8710 7F0A3BE0 2463A4E0 */ addiu $v1, %lo(dword_CODE_bss_8007A4E0) # addiu $v1, $v1, -0x5b20 -/* 0D8714 7F0A3BE4 2442A170 */ addiu $v0, %lo(dword_CODE_bss_8007A170) # addiu $v0, $v0, -0x5e90 -.L7F0A3BE8: -/* 0D8718 7F0A3BE8 2442002C */ addiu $v0, $v0, 0x2c -/* 0D871C 7F0A3BEC 0043082B */ sltu $at, $v0, $v1 -/* 0D8720 7F0A3BF0 AC40FFE0 */ sw $zero, -0x20($v0) -/* 0D8724 7F0A3BF4 A440FFD8 */ sh $zero, -0x28($v0) -/* 0D8728 7F0A3BF8 1420FFFB */ bnez $at, .L7F0A3BE8 -/* 0D872C 7F0A3BFC AC40FFD4 */ sw $zero, -0x2c($v0) -/* 0D8730 7F0A3C00 03E00008 */ jr $ra -/* 0D8734 7F0A3C04 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3C08(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80057750 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80057754 -.word 0x3fb501e2 /*1.41412*/ -.text -glabel sub_GAME_7F0A3C08 -/* 0D8738 7F0A3C08 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0D873C 7F0A3C0C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0D8740 7F0A3C10 4487A000 */ mtc1 $a3, $f20 -/* 0D8744 7F0A3C14 AFBF0024 */ sw $ra, 0x24($sp) -/* 0D8748 7F0A3C18 AFB00020 */ sw $s0, 0x20($sp) -/* 0D874C 7F0A3C1C 00808025 */ move $s0, $a0 -/* 0D8750 7F0A3C20 AFA50034 */ sw $a1, 0x34($sp) -/* 0D8754 7F0A3C24 0C002914 */ jal get_random_value -/* 0D8758 7F0A3C28 AFA60038 */ sw $a2, 0x38($sp) -/* 0D875C 7F0A3C2C 44822000 */ mtc1 $v0, $f4 -/* 0D8760 7F0A3C30 8FA50034 */ lw $a1, 0x34($sp) -/* 0D8764 7F0A3C34 8FA60038 */ lw $a2, 0x38($sp) -/* 0D8768 7F0A3C38 04410005 */ bgez $v0, .L7F0A3C50 -/* 0D876C 7F0A3C3C 468021A0 */ cvt.s.w $f6, $f4 -/* 0D8770 7F0A3C40 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D8774 7F0A3C44 44814000 */ mtc1 $at, $f8 -/* 0D8778 7F0A3C48 00000000 */ nop -/* 0D877C 7F0A3C4C 46083180 */ add.s $f6, $f6, $f8 -.L7F0A3C50: -/* 0D8780 7F0A3C50 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D8784 7F0A3C54 44815000 */ mtc1 $at, $f10 -/* 0D8788 7F0A3C58 3C018005 */ lui $at, %hi(D_80057750) -/* 0D878C 7F0A3C5C C4327750 */ lwc1 $f18, %lo(D_80057750)($at) -/* 0D8790 7F0A3C60 460A3402 */ mul.s $f16, $f6, $f10 -/* 0D8794 7F0A3C64 24010004 */ li $at, 4 -/* 0D8798 7F0A3C68 240F0001 */ li $t7, 1 -/* 0D879C 7F0A3C6C 46128102 */ mul.s $f4, $f16, $f18 -/* 0D87A0 7F0A3C70 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0D87A4 7F0A3C74 AE000000 */ sw $zero, ($s0) -/* 0D87A8 7F0A3C78 87AE0042 */ lh $t6, 0x42($sp) -/* 0D87AC 7F0A3C7C 14C10009 */ bne $a2, $at, .L7F0A3CA4 -/* 0D87B0 7F0A3C80 A60E0006 */ sh $t6, 6($s0) -/* 0D87B4 7F0A3C84 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D87B8 7F0A3C88 44814000 */ mtc1 $at, $f8 -/* 0D87BC 7F0A3C8C A60F0004 */ sh $t7, 4($s0) -/* 0D87C0 7F0A3C90 3C188009 */ lui $t8, %hi(flareimage2) -/* 0D87C4 7F0A3C94 E6080008 */ swc1 $f8, 8($s0) -/* 0D87C8 7F0A3C98 8F18D0CC */ lw $t8, %lo(flareimage2)($t8) -/* 0D87CC 7F0A3C9C 10000029 */ b .L7F0A3D44 -/* 0D87D0 7F0A3CA0 AE18000C */ sw $t8, 0xc($s0) -.L7F0A3CA4: -/* 0D87D4 7F0A3CA4 24010001 */ li $at, 1 -/* 0D87D8 7F0A3CA8 14C10009 */ bne $a2, $at, .L7F0A3CD0 -/* 0D87DC 7F0A3CAC 2419000B */ li $t9, 11 -/* 0D87E0 7F0A3CB0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D87E4 7F0A3CB4 44813000 */ mtc1 $at, $f6 -/* 0D87E8 7F0A3CB8 A6190004 */ sh $t9, 4($s0) -/* 0D87EC 7F0A3CBC 3C088009 */ lui $t0, %hi(explosion_smokeimages) -/* 0D87F0 7F0A3CC0 E6060008 */ swc1 $f6, 8($s0) -/* 0D87F4 7F0A3CC4 8D08D0C0 */ lw $t0, %lo(explosion_smokeimages)($t0) -/* 0D87F8 7F0A3CC8 1000001E */ b .L7F0A3D44 -/* 0D87FC 7F0A3CCC AE08000C */ sw $t0, 0xc($s0) -.L7F0A3CD0: -/* 0D8800 7F0A3CD0 24010003 */ li $at, 3 -/* 0D8804 7F0A3CD4 14C10009 */ bne $a2, $at, .L7F0A3CFC -/* 0D8808 7F0A3CD8 24090009 */ li $t1, 9 -/* 0D880C 7F0A3CDC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D8810 7F0A3CE0 44815000 */ mtc1 $at, $f10 -/* 0D8814 7F0A3CE4 A6090004 */ sh $t1, 4($s0) -/* 0D8818 7F0A3CE8 3C0A8009 */ lui $t2, %hi(scattered_explosions) -/* 0D881C 7F0A3CEC E60A0008 */ swc1 $f10, 8($s0) -/* 0D8820 7F0A3CF0 8D4AD0C4 */ lw $t2, %lo(scattered_explosions)($t2) -/* 0D8824 7F0A3CF4 10000013 */ b .L7F0A3D44 -/* 0D8828 7F0A3CF8 AE0A000C */ sw $t2, 0xc($s0) -.L7F0A3CFC: -/* 0D882C 7F0A3CFC 24010006 */ li $at, 6 -/* 0D8830 7F0A3D00 14C10009 */ bne $a2, $at, .L7F0A3D28 -/* 0D8834 7F0A3D04 240D000B */ li $t5, 11 -/* 0D8838 7F0A3D08 44808000 */ mtc1 $zero, $f16 -/* 0D883C 7F0A3D0C 240B0064 */ li $t3, 100 -/* 0D8840 7F0A3D10 A60B0004 */ sh $t3, 4($s0) -/* 0D8844 7F0A3D14 3C0C8009 */ lui $t4, %hi(flareimage2) -/* 0D8848 7F0A3D18 E6100008 */ swc1 $f16, 8($s0) -/* 0D884C 7F0A3D1C 8D8CD0CC */ lw $t4, %lo(flareimage2)($t4) -/* 0D8850 7F0A3D20 10000008 */ b .L7F0A3D44 -/* 0D8854 7F0A3D24 AE0C000C */ sw $t4, 0xc($s0) -.L7F0A3D28: -/* 0D8858 7F0A3D28 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0D885C 7F0A3D2C 44819000 */ mtc1 $at, $f18 -/* 0D8860 7F0A3D30 A60D0004 */ sh $t5, 4($s0) -/* 0D8864 7F0A3D34 3C0E8009 */ lui $t6, %hi(explosion_smokeimages) -/* 0D8868 7F0A3D38 E6120008 */ swc1 $f18, 8($s0) -/* 0D886C 7F0A3D3C 8DCED0C0 */ lw $t6, %lo(explosion_smokeimages)($t6) -/* 0D8870 7F0A3D40 AE0E000C */ sw $t6, 0xc($s0) -.L7F0A3D44: -/* 0D8874 7F0A3D44 3C188004 */ lui $t8, %hi(D_80040960) -/* 0D8878 7F0A3D48 27180960 */ addiu $t8, %lo(D_80040960) # addiu $t8, $t8, 0x960 -/* 0D887C 7F0A3D4C 00067880 */ sll $t7, $a2, 2 -/* 0D8880 7F0A3D50 01F81021 */ addu $v0, $t7, $t8 -/* 0D8884 7F0A3D54 90590000 */ lbu $t9, ($v0) -/* 0D8888 7F0A3D58 A2190028 */ sb $t9, 0x28($s0) -/* 0D888C 7F0A3D5C 90480001 */ lbu $t0, 1($v0) -/* 0D8890 7F0A3D60 A2080029 */ sb $t0, 0x29($s0) -/* 0D8894 7F0A3D64 90490002 */ lbu $t1, 2($v0) -/* 0D8898 7F0A3D68 A209002A */ sb $t1, 0x2a($s0) -/* 0D889C 7F0A3D6C 904A0003 */ lbu $t2, 3($v0) -/* 0D88A0 7F0A3D70 A20A002B */ sb $t2, 0x2b($s0) -/* 0D88A4 7F0A3D74 C4A40000 */ lwc1 $f4, ($a1) -/* 0D88A8 7F0A3D78 E6040010 */ swc1 $f4, 0x10($s0) -/* 0D88AC 7F0A3D7C C4A80004 */ lwc1 $f8, 4($a1) -/* 0D88B0 7F0A3D80 E6080014 */ swc1 $f8, 0x14($s0) -/* 0D88B4 7F0A3D84 C4A60008 */ lwc1 $f6, 8($a1) -/* 0D88B8 7F0A3D88 0C002914 */ jal get_random_value -/* 0D88BC 7F0A3D8C E6060018 */ swc1 $f6, 0x18($s0) -/* 0D88C0 7F0A3D90 44825000 */ mtc1 $v0, $f10 -/* 0D88C4 7F0A3D94 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0D88C8 7F0A3D98 04410004 */ bgez $v0, .L7F0A3DAC -/* 0D88CC 7F0A3D9C 46805420 */ cvt.s.w $f16, $f10 -/* 0D88D0 7F0A3DA0 44819000 */ mtc1 $at, $f18 -/* 0D88D4 7F0A3DA4 00000000 */ nop -/* 0D88D8 7F0A3DA8 46128400 */ add.s $f16, $f16, $f18 -.L7F0A3DAC: -/* 0D88DC 7F0A3DAC 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0D88E0 7F0A3DB0 44812000 */ mtc1 $at, $f4 -/* 0D88E4 7F0A3DB4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0D88E8 7F0A3DB8 44813000 */ mtc1 $at, $f6 -/* 0D88EC 7F0A3DBC 46048202 */ mul.s $f8, $f16, $f4 -/* 0D88F0 7F0A3DC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0D88F4 7F0A3DC4 44819000 */ mtc1 $at, $f18 -/* 0D88F8 7F0A3DC8 3C018005 */ lui $at, %hi(D_80057754) -/* 0D88FC 7F0A3DCC C4247754 */ lwc1 $f4, %lo(D_80057754)($at) -/* 0D8900 7F0A3DD0 46064282 */ mul.s $f10, $f8, $f6 -/* 0D8904 7F0A3DD4 460A9400 */ add.s $f16, $f18, $f10 -/* 0D8908 7F0A3DD8 4610A502 */ mul.s $f20, $f20, $f16 -/* 0D890C 7F0A3DDC 00000000 */ nop -/* 0D8910 7F0A3DE0 4604A502 */ mul.s $f20, $f20, $f4 -/* 0D8914 7F0A3DE4 E6140024 */ swc1 $f20, 0x24($s0) -/* 0D8918 7F0A3DE8 0FC15FA8 */ jal cosf -/* 0D891C 7F0A3DEC C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 0D8920 7F0A3DF0 46140202 */ mul.s $f8, $f0, $f20 -/* 0D8924 7F0A3DF4 E608001C */ swc1 $f8, 0x1c($s0) -/* 0D8928 7F0A3DF8 0FC15FAB */ jal sinf -/* 0D892C 7F0A3DFC C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 0D8930 7F0A3E00 46140182 */ mul.s $f6, $f0, $f20 -/* 0D8934 7F0A3E04 E6060020 */ swc1 $f6, 0x20($s0) -/* 0D8938 7F0A3E08 8FBF0024 */ lw $ra, 0x24($sp) -/* 0D893C 7F0A3E0C 8FB00020 */ lw $s0, 0x20($sp) -/* 0D8940 7F0A3E10 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0D8944 7F0A3E14 03E00008 */ jr $ra -/* 0D8948 7F0A3E18 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3E1C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3E1C -/* 0D894C 7F0A3E1C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0D8950 7F0A3E20 AFB00020 */ sw $s0, 0x20($sp) -/* 0D8954 7F0A3E24 44866000 */ mtc1 $a2, $f12 -/* 0D8958 7F0A3E28 3C108008 */ lui $s0, %hi(dword_CODE_bss_8007A170) -/* 0D895C 7F0A3E2C 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007A4E0) -/* 0D8960 7F0A3E30 00A03025 */ move $a2, $a1 -/* 0D8964 7F0A3E34 AFBF0024 */ sw $ra, 0x24($sp) -/* 0D8968 7F0A3E38 AFA40028 */ sw $a0, 0x28($sp) -/* 0D896C 7F0A3E3C AFA5002C */ sw $a1, 0x2c($sp) -/* 0D8970 7F0A3E40 AFA70034 */ sw $a3, 0x34($sp) -/* 0D8974 7F0A3E44 2442A4E0 */ addiu $v0, %lo(dword_CODE_bss_8007A4E0) # addiu $v0, $v0, -0x5b20 -/* 0D8978 7F0A3E48 2610A170 */ addiu $s0, %lo(dword_CODE_bss_8007A170) # addiu $s0, $s0, -0x5e90 -/* 0D897C 7F0A3E4C 860E0004 */ lh $t6, 4($s0) -.L7F0A3E50: -/* 0D8980 7F0A3E50 55C0000A */ bnezl $t6, .L7F0A3E7C -/* 0D8984 7F0A3E54 2610002C */ addiu $s0, $s0, 0x2c -/* 0D8988 7F0A3E58 87AF0036 */ lh $t7, 0x36($sp) -/* 0D898C 7F0A3E5C 44076000 */ mfc1 $a3, $f12 -/* 0D8990 7F0A3E60 02002025 */ move $a0, $s0 -/* 0D8994 7F0A3E64 8FA50028 */ lw $a1, 0x28($sp) -/* 0D8998 7F0A3E68 0FC28F02 */ jal sub_GAME_7F0A3C08 -/* 0D899C 7F0A3E6C AFAF0010 */ sw $t7, 0x10($sp) -/* 0D89A0 7F0A3E70 10000006 */ b .L7F0A3E8C -/* 0D89A4 7F0A3E74 02001025 */ move $v0, $s0 -/* 0D89A8 7F0A3E78 2610002C */ addiu $s0, $s0, 0x2c -.L7F0A3E7C: -/* 0D89AC 7F0A3E7C 0202082B */ sltu $at, $s0, $v0 -/* 0D89B0 7F0A3E80 5420FFF3 */ bnezl $at, .L7F0A3E50 -/* 0D89B4 7F0A3E84 860E0004 */ lh $t6, 4($s0) -/* 0D89B8 7F0A3E88 00001025 */ move $v0, $zero -.L7F0A3E8C: -/* 0D89BC 7F0A3E8C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0D89C0 7F0A3E90 8FB00020 */ lw $s0, 0x20($sp) -/* 0D89C4 7F0A3E94 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0D89C8 7F0A3E98 03E00008 */ jr $ra -/* 0D89CC 7F0A3E9C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3EA0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3EA0 -/* 0D89D0 7F0A3EA0 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007A170) -/* 0D89D4 7F0A3EA4 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A4E0) -/* 0D89D8 7F0A3EA8 3C058005 */ lui $a1, %hi(clock_timer) -/* 0D89DC 7F0A3EAC 2463A4E0 */ addiu $v1, %lo(dword_CODE_bss_8007A4E0) # addiu $v1, $v1, -0x5b20 -/* 0D89E0 7F0A3EB0 2442A170 */ addiu $v0, %lo(dword_CODE_bss_8007A170) # addiu $v0, $v0, -0x5e90 -/* 0D89E4 7F0A3EB4 24A58374 */ addiu $a1, %lo(clock_timer) # addiu $a1, $a1, -0x7c8c -/* 0D89E8 7F0A3EB8 844E0004 */ lh $t6, 4($v0) -.L7F0A3EBC: -/* 0D89EC 7F0A3EBC 59C0000C */ blezl $t6, .L7F0A3EF0 -/* 0D89F0 7F0A3EC0 2442002C */ addiu $v0, $v0, 0x2c -/* 0D89F4 7F0A3EC4 8C4F0000 */ lw $t7, ($v0) -/* 0D89F8 7F0A3EC8 8CB80000 */ lw $t8, ($a1) -/* 0D89FC 7F0A3ECC 01F8C821 */ addu $t9, $t7, $t8 -/* 0D8A00 7F0A3ED0 07200006 */ bltz $t9, .L7F0A3EEC -/* 0D8A04 7F0A3ED4 AC590000 */ sw $t9, ($v0) -/* 0D8A08 7F0A3ED8 84480004 */ lh $t0, 4($v0) -/* 0D8A0C 7F0A3EDC 0328082A */ slt $at, $t9, $t0 -/* 0D8A10 7F0A3EE0 54200003 */ bnezl $at, .L7F0A3EF0 -/* 0D8A14 7F0A3EE4 2442002C */ addiu $v0, $v0, 0x2c -/* 0D8A18 7F0A3EE8 A4400004 */ sh $zero, 4($v0) -.L7F0A3EEC: -/* 0D8A1C 7F0A3EEC 2442002C */ addiu $v0, $v0, 0x2c -.L7F0A3EF0: -/* 0D8A20 7F0A3EF0 0043082B */ sltu $at, $v0, $v1 -/* 0D8A24 7F0A3EF4 5420FFF1 */ bnezl $at, .L7F0A3EBC -/* 0D8A28 7F0A3EF8 844E0004 */ lh $t6, 4($v0) -/* 0D8A2C 7F0A3EFC 03E00008 */ jr $ra -/* 0D8A30 7F0A3F00 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A3F04(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A3F04 -/* 0D8A34 7F0A3F04 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 0D8A38 7F0A3F08 AFBF002C */ sw $ra, 0x2c($sp) -/* 0D8A3C 7F0A3F0C AFB20028 */ sw $s2, 0x28($sp) -/* 0D8A40 7F0A3F10 AFB10024 */ sw $s1, 0x24($sp) -/* 0D8A44 7F0A3F14 AFB00020 */ sw $s0, 0x20($sp) -/* 0D8A48 7F0A3F18 AFA500BC */ sw $a1, 0xbc($sp) -/* 0D8A4C 7F0A3F1C AFA600C0 */ sw $a2, 0xc0($sp) -/* 0D8A50 7F0A3F20 848E0004 */ lh $t6, 4($a0) -/* 0D8A54 7F0A3F24 00808025 */ move $s0, $a0 -/* 0D8A58 7F0A3F28 59C0017A */ blezl $t6, .L7F0A4514 -/* 0D8A5C 7F0A3F2C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0D8A60 7F0A3F30 8C8F0000 */ lw $t7, ($a0) -/* 0D8A64 7F0A3F34 24840010 */ addiu $a0, $a0, 0x10 -/* 0D8A68 7F0A3F38 05E20176 */ bltzl $t7, .L7F0A4514 -/* 0D8A6C 7F0A3F3C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0D8A70 7F0A3F40 0FC1E296 */ jal sub_GAME_7F078A58 -/* 0D8A74 7F0A3F44 8E050024 */ lw $a1, 0x24($s0) -/* 0D8A78 7F0A3F48 10400171 */ beqz $v0, .L7F0A4510 -/* 0D8A7C 7F0A3F4C 3C198004 */ lui $t9, %hi(D_80040980) -/* 0D8A80 7F0A3F50 27390980 */ addiu $t9, %lo(D_80040980) # addiu $t9, $t9, 0x980 -/* 0D8A84 7F0A3F54 8F210000 */ lw $at, ($t9) -/* 0D8A88 7F0A3F58 8F290004 */ lw $t1, 4($t9) -/* 0D8A8C 7F0A3F5C 27B800A8 */ addiu $t8, $sp, 0xa8 -/* 0D8A90 7F0A3F60 AF010000 */ sw $at, ($t8) -/* 0D8A94 7F0A3F64 AF090004 */ sw $t1, 4($t8) -/* 0D8A98 7F0A3F68 8F29000C */ lw $t1, 0xc($t9) -/* 0D8A9C 7F0A3F6C 8F210008 */ lw $at, 8($t9) -/* 0D8AA0 7F0A3F70 AF09000C */ sw $t1, 0xc($t8) -/* 0D8AA4 7F0A3F74 0FC1E111 */ jal sub_GAME_7F078444 -/* 0D8AA8 7F0A3F78 AF010008 */ sw $at, 8($t8) -/* 0D8AAC 7F0A3F7C 8FAA00BC */ lw $t2, 0xbc($sp) -/* 0D8AB0 7F0A3F80 24040004 */ li $a0, 4 -/* 0D8AB4 7F0A3F84 8D4B0000 */ lw $t3, ($t2) -/* 0D8AB8 7F0A3F88 AFA200A4 */ sw $v0, 0xa4($sp) -/* 0D8ABC 7F0A3F8C 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 0D8AC0 7F0A3F90 AFAB00A0 */ sw $t3, 0xa0($sp) -/* 0D8AC4 7F0A3F94 86040006 */ lh $a0, 6($s0) -/* 0D8AC8 7F0A3F98 00408825 */ move $s1, $v0 -/* 0D8ACC 7F0A3F9C 0FC2F285 */ jal sub_GAME_7F0BCA14 -/* 0D8AD0 7F0A3FA0 AFA40058 */ sw $a0, 0x58($sp) -/* 0D8AD4 7F0A3FA4 920C0028 */ lbu $t4, 0x28($s0) -/* 0D8AD8 7F0A3FA8 8FA300A4 */ lw $v1, 0xa4($sp) -/* 0D8ADC 7F0A3FAC 00409025 */ move $s2, $v0 -/* 0D8AE0 7F0A3FB0 A3AC00B4 */ sb $t4, 0xb4($sp) -/* 0D8AE4 7F0A3FB4 920D0029 */ lbu $t5, 0x29($s0) -/* 0D8AE8 7F0A3FB8 27A200A8 */ addiu $v0, $sp, 0xa8 -/* 0D8AEC 7F0A3FBC A3AD00B5 */ sb $t5, 0xb5($sp) -/* 0D8AF0 7F0A3FC0 920E002A */ lbu $t6, 0x2a($s0) -/* 0D8AF4 7F0A3FC4 A3AE00B6 */ sb $t6, 0xb6($sp) -/* 0D8AF8 7F0A3FC8 920F002B */ lbu $t7, 0x2b($s0) -/* 0D8AFC 7F0A3FCC A3AF00B7 */ sb $t7, 0xb7($sp) -/* 0D8B00 7F0A3FD0 8E080000 */ lw $t0, ($s0) -/* 0D8B04 7F0A3FD4 C6080008 */ lwc1 $f8, 8($s0) -/* 0D8B08 7F0A3FD8 44882000 */ mtc1 $t0, $f4 -/* 0D8B0C 7F0A3FDC 00000000 */ nop -/* 0D8B10 7F0A3FE0 468021A0 */ cvt.s.w $f6, $f4 -/* 0D8B14 7F0A3FE4 46083282 */ mul.s $f10, $f6, $f8 -/* 0D8B18 7F0A3FE8 4600540D */ trunc.w.s $f16, $f10 -/* 0D8B1C 7F0A3FEC 44198000 */ mfc1 $t9, $f16 -/* 0D8B20 7F0A3FF0 00000000 */ nop -/* 0D8B24 7F0A3FF4 AFB9005C */ sw $t9, 0x5c($sp) -/* 0D8B28 7F0A3FF8 C6120010 */ lwc1 $f18, 0x10($s0) -/* 0D8B2C 7F0A3FFC E7B20090 */ swc1 $f18, 0x90($sp) -/* 0D8B30 7F0A4000 C6040014 */ lwc1 $f4, 0x14($s0) -/* 0D8B34 7F0A4004 E7A40094 */ swc1 $f4, 0x94($sp) -/* 0D8B38 7F0A4008 C6060018 */ lwc1 $f6, 0x18($s0) -/* 0D8B3C 7F0A400C E7A60098 */ swc1 $f6, 0x98($sp) -/* 0D8B40 7F0A4010 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 0D8B44 7F0A4014 C4680000 */ lwc1 $f8, ($v1) -/* 0D8B48 7F0A4018 460A4402 */ mul.s $f16, $f8, $f10 -/* 0D8B4C 7F0A401C E7B00084 */ swc1 $f16, 0x84($sp) -/* 0D8B50 7F0A4020 C604001C */ lwc1 $f4, 0x1c($s0) -/* 0D8B54 7F0A4024 C4720004 */ lwc1 $f18, 4($v1) -/* 0D8B58 7F0A4028 46049182 */ mul.s $f6, $f18, $f4 -/* 0D8B5C 7F0A402C E7A60088 */ swc1 $f6, 0x88($sp) -/* 0D8B60 7F0A4030 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 0D8B64 7F0A4034 C4680008 */ lwc1 $f8, 8($v1) -/* 0D8B68 7F0A4038 460A4402 */ mul.s $f16, $f8, $f10 -/* 0D8B6C 7F0A403C E7B0008C */ swc1 $f16, 0x8c($sp) -/* 0D8B70 7F0A4040 C6040020 */ lwc1 $f4, 0x20($s0) -/* 0D8B74 7F0A4044 C4720000 */ lwc1 $f18, ($v1) -/* 0D8B78 7F0A4048 46049182 */ mul.s $f6, $f18, $f4 -/* 0D8B7C 7F0A404C E7A60078 */ swc1 $f6, 0x78($sp) -/* 0D8B80 7F0A4050 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 0D8B84 7F0A4054 C4680004 */ lwc1 $f8, 4($v1) -/* 0D8B88 7F0A4058 460A4402 */ mul.s $f16, $f8, $f10 -/* 0D8B8C 7F0A405C E7B0007C */ swc1 $f16, 0x7c($sp) -/* 0D8B90 7F0A4060 C6040020 */ lwc1 $f4, 0x20($s0) -/* 0D8B94 7F0A4064 C4720008 */ lwc1 $f18, 8($v1) -/* 0D8B98 7F0A4068 46049182 */ mul.s $f6, $f18, $f4 -/* 0D8B9C 7F0A406C E7A60080 */ swc1 $f6, 0x80($sp) -/* 0D8BA0 7F0A4070 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 0D8BA4 7F0A4074 C4680010 */ lwc1 $f8, 0x10($v1) -/* 0D8BA8 7F0A4078 460A4402 */ mul.s $f16, $f8, $f10 -/* 0D8BAC 7F0A407C E7B0006C */ swc1 $f16, 0x6c($sp) -/* 0D8BB0 7F0A4080 C604001C */ lwc1 $f4, 0x1c($s0) -/* 0D8BB4 7F0A4084 C4720014 */ lwc1 $f18, 0x14($v1) -/* 0D8BB8 7F0A4088 46049182 */ mul.s $f6, $f18, $f4 -/* 0D8BBC 7F0A408C E7A60070 */ swc1 $f6, 0x70($sp) -/* 0D8BC0 7F0A4090 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 0D8BC4 7F0A4094 C4680018 */ lwc1 $f8, 0x18($v1) -/* 0D8BC8 7F0A4098 460A4402 */ mul.s $f16, $f8, $f10 -/* 0D8BCC 7F0A409C E7B00074 */ swc1 $f16, 0x74($sp) -/* 0D8BD0 7F0A40A0 C6040020 */ lwc1 $f4, 0x20($s0) -/* 0D8BD4 7F0A40A4 C4720010 */ lwc1 $f18, 0x10($v1) -/* 0D8BD8 7F0A40A8 46049182 */ mul.s $f6, $f18, $f4 -/* 0D8BDC 7F0A40AC E7A60060 */ swc1 $f6, 0x60($sp) -/* 0D8BE0 7F0A40B0 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 0D8BE4 7F0A40B4 C4680014 */ lwc1 $f8, 0x14($v1) -/* 0D8BE8 7F0A40B8 460A4402 */ mul.s $f16, $f8, $f10 -/* 0D8BEC 7F0A40BC E7B00064 */ swc1 $f16, 0x64($sp) -/* 0D8BF0 7F0A40C0 C6040020 */ lwc1 $f4, 0x20($s0) -/* 0D8BF4 7F0A40C4 C4720018 */ lwc1 $f18, 0x18($v1) -/* 0D8BF8 7F0A40C8 46049182 */ mul.s $f6, $f18, $f4 -/* 0D8BFC 7F0A40CC E7A60068 */ swc1 $f6, 0x68($sp) -/* 0D8C00 7F0A40D0 8C410000 */ lw $at, ($v0) -/* 0D8C04 7F0A40D4 AE210000 */ sw $at, ($s1) -/* 0D8C08 7F0A40D8 8C4B0004 */ lw $t3, 4($v0) -/* 0D8C0C 7F0A40DC AE2B0004 */ sw $t3, 4($s1) -/* 0D8C10 7F0A40E0 8C410008 */ lw $at, 8($v0) -/* 0D8C14 7F0A40E4 AE210008 */ sw $at, 8($s1) -/* 0D8C18 7F0A40E8 8C4B000C */ lw $t3, 0xc($v0) -/* 0D8C1C 7F0A40EC AE2B000C */ sw $t3, 0xc($s1) -/* 0D8C20 7F0A40F0 8C410000 */ lw $at, ($v0) -/* 0D8C24 7F0A40F4 AE210010 */ sw $at, 0x10($s1) -/* 0D8C28 7F0A40F8 8C4E0004 */ lw $t6, 4($v0) -/* 0D8C2C 7F0A40FC AE2E0014 */ sw $t6, 0x14($s1) -/* 0D8C30 7F0A4100 8C410008 */ lw $at, 8($v0) -/* 0D8C34 7F0A4104 AE210018 */ sw $at, 0x18($s1) -/* 0D8C38 7F0A4108 8C4E000C */ lw $t6, 0xc($v0) -/* 0D8C3C 7F0A410C AE2E001C */ sw $t6, 0x1c($s1) -/* 0D8C40 7F0A4110 8C410000 */ lw $at, ($v0) -/* 0D8C44 7F0A4114 AE210020 */ sw $at, 0x20($s1) -/* 0D8C48 7F0A4118 8C580004 */ lw $t8, 4($v0) -/* 0D8C4C 7F0A411C AE380024 */ sw $t8, 0x24($s1) -/* 0D8C50 7F0A4120 8C410008 */ lw $at, 8($v0) -/* 0D8C54 7F0A4124 AE210028 */ sw $at, 0x28($s1) -/* 0D8C58 7F0A4128 8C58000C */ lw $t8, 0xc($v0) -/* 0D8C5C 7F0A412C AE38002C */ sw $t8, 0x2c($s1) -/* 0D8C60 7F0A4130 8C410000 */ lw $at, ($v0) -/* 0D8C64 7F0A4134 AE210030 */ sw $at, 0x30($s1) -/* 0D8C68 7F0A4138 8C490004 */ lw $t1, 4($v0) -/* 0D8C6C 7F0A413C AE290034 */ sw $t1, 0x34($s1) -/* 0D8C70 7F0A4140 8C410008 */ lw $at, 8($v0) -/* 0D8C74 7F0A4144 AE210038 */ sw $at, 0x38($s1) -/* 0D8C78 7F0A4148 8C49000C */ lw $t1, 0xc($v0) -/* 0D8C7C 7F0A414C 0FC2D20F */ jal get_room_data_float1 -/* 0D8C80 7F0A4150 AE29003C */ sw $t1, 0x3c($s1) -/* 0D8C84 7F0A4154 C7A80090 */ lwc1 $f8, 0x90($sp) -/* 0D8C88 7F0A4158 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 0D8C8C 7F0A415C C7B20060 */ lwc1 $f18, 0x60($sp) -/* 0D8C90 7F0A4160 460A4401 */ sub.s $f16, $f8, $f10 -/* 0D8C94 7F0A4164 C6480000 */ lwc1 $f8, ($s2) -/* 0D8C98 7F0A4168 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8C9C 7F0A416C 46002182 */ mul.s $f6, $f4, $f0 -/* 0D8CA0 7F0A4170 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8CA4 7F0A4174 4600540D */ trunc.w.s $f16, $f10 -/* 0D8CA8 7F0A4178 440D8000 */ mfc1 $t5, $f16 -/* 0D8CAC 7F0A417C 0FC2D20F */ jal get_room_data_float1 -/* 0D8CB0 7F0A4180 A62D0000 */ sh $t5, ($s1) -/* 0D8CB4 7F0A4184 C7B20094 */ lwc1 $f18, 0x94($sp) -/* 0D8CB8 7F0A4188 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0D8CBC 7F0A418C C7A80064 */ lwc1 $f8, 0x64($sp) -/* 0D8CC0 7F0A4190 46049181 */ sub.s $f6, $f18, $f4 -/* 0D8CC4 7F0A4194 C6520004 */ lwc1 $f18, 4($s2) -/* 0D8CC8 7F0A4198 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8CCC 7F0A419C 46005402 */ mul.s $f16, $f10, $f0 -/* 0D8CD0 7F0A41A0 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8CD4 7F0A41A4 4600218D */ trunc.w.s $f6, $f4 -/* 0D8CD8 7F0A41A8 440E3000 */ mfc1 $t6, $f6 -/* 0D8CDC 7F0A41AC 0FC2D20F */ jal get_room_data_float1 -/* 0D8CE0 7F0A41B0 A62E0002 */ sh $t6, 2($s1) -/* 0D8CE4 7F0A41B4 C7A80098 */ lwc1 $f8, 0x98($sp) -/* 0D8CE8 7F0A41B8 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0D8CEC 7F0A41BC C7B20068 */ lwc1 $f18, 0x68($sp) -/* 0D8CF0 7F0A41C0 460A4401 */ sub.s $f16, $f8, $f10 -/* 0D8CF4 7F0A41C4 C6480008 */ lwc1 $f8, 8($s2) -/* 0D8CF8 7F0A41C8 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8CFC 7F0A41CC 46002182 */ mul.s $f6, $f4, $f0 -/* 0D8D00 7F0A41D0 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8D04 7F0A41D4 4600540D */ trunc.w.s $f16, $f10 -/* 0D8D08 7F0A41D8 440F8000 */ mfc1 $t7, $f16 -/* 0D8D0C 7F0A41DC 00000000 */ nop -/* 0D8D10 7F0A41E0 A62F0004 */ sh $t7, 4($s1) -/* 0D8D14 7F0A41E4 8FA2005C */ lw $v0, 0x5c($sp) -/* 0D8D18 7F0A41E8 8E0A000C */ lw $t2, 0xc($s0) -/* 0D8D1C 7F0A41EC 0002C080 */ sll $t8, $v0, 2 -/* 0D8D20 7F0A41F0 0302C023 */ subu $t8, $t8, $v0 -/* 0D8D24 7F0A41F4 0018C080 */ sll $t8, $t8, 2 -/* 0D8D28 7F0A41F8 0158C821 */ addu $t9, $t2, $t8 -/* 0D8D2C 7F0A41FC 93290004 */ lbu $t1, 4($t9) -/* 0D8D30 7F0A4200 A620000A */ sh $zero, 0xa($s1) -/* 0D8D34 7F0A4204 00095940 */ sll $t3, $t1, 5 -/* 0D8D38 7F0A4208 A62B0008 */ sh $t3, 8($s1) -/* 0D8D3C 7F0A420C 0FC2D20F */ jal get_room_data_float1 -/* 0D8D40 7F0A4210 AFB80034 */ sw $t8, 0x34($sp) -/* 0D8D44 7F0A4214 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 0D8D48 7F0A4218 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0D8D4C 7F0A421C C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 0D8D50 7F0A4220 46049180 */ add.s $f6, $f18, $f4 -/* 0D8D54 7F0A4224 C6520000 */ lwc1 $f18, ($s2) -/* 0D8D58 7F0A4228 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8D5C 7F0A422C 46005402 */ mul.s $f16, $f10, $f0 -/* 0D8D60 7F0A4230 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8D64 7F0A4234 4600218D */ trunc.w.s $f6, $f4 -/* 0D8D68 7F0A4238 440C3000 */ mfc1 $t4, $f6 -/* 0D8D6C 7F0A423C 0FC2D20F */ jal get_room_data_float1 -/* 0D8D70 7F0A4240 A62C0010 */ sh $t4, 0x10($s1) -/* 0D8D74 7F0A4244 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 0D8D78 7F0A4248 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0D8D7C 7F0A424C C7B20070 */ lwc1 $f18, 0x70($sp) -/* 0D8D80 7F0A4250 460A4400 */ add.s $f16, $f8, $f10 -/* 0D8D84 7F0A4254 C6480004 */ lwc1 $f8, 4($s2) -/* 0D8D88 7F0A4258 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8D8C 7F0A425C 46002182 */ mul.s $f6, $f4, $f0 -/* 0D8D90 7F0A4260 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8D94 7F0A4264 4600540D */ trunc.w.s $f16, $f10 -/* 0D8D98 7F0A4268 44088000 */ mfc1 $t0, $f16 -/* 0D8D9C 7F0A426C 0FC2D20F */ jal get_room_data_float1 -/* 0D8DA0 7F0A4270 A6280012 */ sh $t0, 0x12($s1) -/* 0D8DA4 7F0A4274 C7B20098 */ lwc1 $f18, 0x98($sp) -/* 0D8DA8 7F0A4278 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0D8DAC 7F0A427C C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0D8DB0 7F0A4280 46049180 */ add.s $f6, $f18, $f4 -/* 0D8DB4 7F0A4284 C6520008 */ lwc1 $f18, 8($s2) -/* 0D8DB8 7F0A4288 A6200018 */ sh $zero, 0x18($s1) -/* 0D8DBC 7F0A428C A620001A */ sh $zero, 0x1a($s1) -/* 0D8DC0 7F0A4290 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8DC4 7F0A4294 46005402 */ mul.s $f16, $f10, $f0 -/* 0D8DC8 7F0A4298 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8DCC 7F0A429C 4600218D */ trunc.w.s $f6, $f4 -/* 0D8DD0 7F0A42A0 44183000 */ mfc1 $t8, $f6 -/* 0D8DD4 7F0A42A4 0FC2D20F */ jal get_room_data_float1 -/* 0D8DD8 7F0A42A8 A6380014 */ sh $t8, 0x14($s1) -/* 0D8DDC 7F0A42AC C7A80090 */ lwc1 $f8, 0x90($sp) -/* 0D8DE0 7F0A42B0 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 0D8DE4 7F0A42B4 C7B20060 */ lwc1 $f18, 0x60($sp) -/* 0D8DE8 7F0A42B8 460A4400 */ add.s $f16, $f8, $f10 -/* 0D8DEC 7F0A42BC C6480000 */ lwc1 $f8, ($s2) -/* 0D8DF0 7F0A42C0 46128100 */ add.s $f4, $f16, $f18 -/* 0D8DF4 7F0A42C4 46002182 */ mul.s $f6, $f4, $f0 -/* 0D8DF8 7F0A42C8 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8DFC 7F0A42CC 4600540D */ trunc.w.s $f16, $f10 -/* 0D8E00 7F0A42D0 44198000 */ mfc1 $t9, $f16 -/* 0D8E04 7F0A42D4 0FC2D20F */ jal get_room_data_float1 -/* 0D8E08 7F0A42D8 A6390020 */ sh $t9, 0x20($s1) -/* 0D8E0C 7F0A42DC C7B20094 */ lwc1 $f18, 0x94($sp) -/* 0D8E10 7F0A42E0 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 0D8E14 7F0A42E4 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 0D8E18 7F0A42E8 46049180 */ add.s $f6, $f18, $f4 -/* 0D8E1C 7F0A42EC C6520004 */ lwc1 $f18, 4($s2) -/* 0D8E20 7F0A42F0 46083280 */ add.s $f10, $f6, $f8 -/* 0D8E24 7F0A42F4 46005402 */ mul.s $f16, $f10, $f0 -/* 0D8E28 7F0A42F8 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8E2C 7F0A42FC 4600218D */ trunc.w.s $f6, $f4 -/* 0D8E30 7F0A4300 440B3000 */ mfc1 $t3, $f6 -/* 0D8E34 7F0A4304 0FC2D20F */ jal get_room_data_float1 -/* 0D8E38 7F0A4308 A62B0022 */ sh $t3, 0x22($s1) -/* 0D8E3C 7F0A430C C7A80098 */ lwc1 $f8, 0x98($sp) -/* 0D8E40 7F0A4310 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0D8E44 7F0A4314 C7B20068 */ lwc1 $f18, 0x68($sp) -/* 0D8E48 7F0A4318 460A4400 */ add.s $f16, $f8, $f10 -/* 0D8E4C 7F0A431C C6480008 */ lwc1 $f8, 8($s2) -/* 0D8E50 7F0A4320 A6200028 */ sh $zero, 0x28($s1) -/* 0D8E54 7F0A4324 46128100 */ add.s $f4, $f16, $f18 -/* 0D8E58 7F0A4328 46002182 */ mul.s $f6, $f4, $f0 -/* 0D8E5C 7F0A432C 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8E60 7F0A4330 4600540D */ trunc.w.s $f16, $f10 -/* 0D8E64 7F0A4334 440C8000 */ mfc1 $t4, $f16 -/* 0D8E68 7F0A4338 00000000 */ nop -/* 0D8E6C 7F0A433C A62C0024 */ sh $t4, 0x24($s1) -/* 0D8E70 7F0A4340 8FA80034 */ lw $t0, 0x34($sp) -/* 0D8E74 7F0A4344 8E0E000C */ lw $t6, 0xc($s0) -/* 0D8E78 7F0A4348 01C87821 */ addu $t7, $t6, $t0 -/* 0D8E7C 7F0A434C 91F80005 */ lbu $t8, 5($t7) -/* 0D8E80 7F0A4350 00185140 */ sll $t2, $t8, 5 -/* 0D8E84 7F0A4354 0FC2D20F */ jal get_room_data_float1 -/* 0D8E88 7F0A4358 A62A002A */ sh $t2, 0x2a($s1) -/* 0D8E8C 7F0A435C C7B20090 */ lwc1 $f18, 0x90($sp) -/* 0D8E90 7F0A4360 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0D8E94 7F0A4364 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 0D8E98 7F0A4368 46049181 */ sub.s $f6, $f18, $f4 -/* 0D8E9C 7F0A436C C6520000 */ lwc1 $f18, ($s2) -/* 0D8EA0 7F0A4370 46083280 */ add.s $f10, $f6, $f8 -/* 0D8EA4 7F0A4374 46005402 */ mul.s $f16, $f10, $f0 -/* 0D8EA8 7F0A4378 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8EAC 7F0A437C 4600218D */ trunc.w.s $f6, $f4 -/* 0D8EB0 7F0A4380 44093000 */ mfc1 $t1, $f6 -/* 0D8EB4 7F0A4384 0FC2D20F */ jal get_room_data_float1 -/* 0D8EB8 7F0A4388 A6290030 */ sh $t1, 0x30($s1) -/* 0D8EBC 7F0A438C C7A80094 */ lwc1 $f8, 0x94($sp) -/* 0D8EC0 7F0A4390 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 0D8EC4 7F0A4394 C7B20070 */ lwc1 $f18, 0x70($sp) -/* 0D8EC8 7F0A4398 460A4401 */ sub.s $f16, $f8, $f10 -/* 0D8ECC 7F0A439C C6480004 */ lwc1 $f8, 4($s2) -/* 0D8ED0 7F0A43A0 46128100 */ add.s $f4, $f16, $f18 -/* 0D8ED4 7F0A43A4 46002182 */ mul.s $f6, $f4, $f0 -/* 0D8ED8 7F0A43A8 46083281 */ sub.s $f10, $f6, $f8 -/* 0D8EDC 7F0A43AC 4600540D */ trunc.w.s $f16, $f10 -/* 0D8EE0 7F0A43B0 440D8000 */ mfc1 $t5, $f16 -/* 0D8EE4 7F0A43B4 0FC2D20F */ jal get_room_data_float1 -/* 0D8EE8 7F0A43B8 A62D0032 */ sh $t5, 0x32($s1) -/* 0D8EEC 7F0A43BC C7B20098 */ lwc1 $f18, 0x98($sp) -/* 0D8EF0 7F0A43C0 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0D8EF4 7F0A43C4 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 0D8EF8 7F0A43C8 8FA40034 */ lw $a0, 0x34($sp) -/* 0D8EFC 7F0A43CC 46049181 */ sub.s $f6, $f18, $f4 -/* 0D8F00 7F0A43D0 C6520008 */ lwc1 $f18, 8($s2) -/* 0D8F04 7F0A43D4 46083280 */ add.s $f10, $f6, $f8 -/* 0D8F08 7F0A43D8 46005402 */ mul.s $f16, $f10, $f0 -/* 0D8F0C 7F0A43DC 46128101 */ sub.s $f4, $f16, $f18 -/* 0D8F10 7F0A43E0 4600218D */ trunc.w.s $f6, $f4 -/* 0D8F14 7F0A43E4 440E3000 */ mfc1 $t6, $f6 -/* 0D8F18 7F0A43E8 00000000 */ nop -/* 0D8F1C 7F0A43EC A62E0034 */ sh $t6, 0x34($s1) -/* 0D8F20 7F0A43F0 8E08000C */ lw $t0, 0xc($s0) -/* 0D8F24 7F0A43F4 01047821 */ addu $t7, $t0, $a0 -/* 0D8F28 7F0A43F8 91F80004 */ lbu $t8, 4($t7) -/* 0D8F2C 7F0A43FC 240F2000 */ li $t7, 8192 -/* 0D8F30 7F0A4400 3C08B700 */ lui $t0, 0xb700 -/* 0D8F34 7F0A4404 00185140 */ sll $t2, $t8, 5 -/* 0D8F38 7F0A4408 A62A0038 */ sh $t2, 0x38($s1) -/* 0D8F3C 7F0A440C 8E19000C */ lw $t9, 0xc($s0) -/* 0D8F40 7F0A4410 03244821 */ addu $t1, $t9, $a0 -/* 0D8F44 7F0A4414 912B0005 */ lbu $t3, 5($t1) -/* 0D8F48 7F0A4418 3C190103 */ lui $t9, (0x01030040 >> 16) # lui $t9, 0x103 -/* 0D8F4C 7F0A441C 37390040 */ ori $t9, (0x01030040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 0D8F50 7F0A4420 000B6940 */ sll $t5, $t3, 5 -/* 0D8F54 7F0A4424 A62D003A */ sh $t5, 0x3a($s1) -/* 0D8F58 7F0A4428 8FAC00A0 */ lw $t4, 0xa0($sp) -/* 0D8F5C 7F0A442C 258E0008 */ addiu $t6, $t4, 8 -/* 0D8F60 7F0A4430 AFAE00A0 */ sw $t6, 0xa0($sp) -/* 0D8F64 7F0A4434 AD8F0004 */ sw $t7, 4($t4) -/* 0D8F68 7F0A4438 AD880000 */ sw $t0, ($t4) -/* 0D8F6C 7F0A443C 8FB800A0 */ lw $t8, 0xa0($sp) -/* 0D8F70 7F0A4440 270A0008 */ addiu $t2, $t8, 8 -/* 0D8F74 7F0A4444 AFAA00A0 */ sw $t2, 0xa0($sp) -/* 0D8F78 7F0A4448 AF190000 */ sw $t9, ($t8) -/* 0D8F7C 7F0A444C 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 0D8F80 7F0A4450 AFB8004C */ sw $t8, 0x4c($sp) -/* 0D8F84 7F0A4454 0C003A2C */ jal osVirtualToPhysical -/* 0D8F88 7F0A4458 00402025 */ move $a0, $v0 -/* 0D8F8C 7F0A445C 8FA9004C */ lw $t1, 0x4c($sp) -/* 0D8F90 7F0A4460 AD220004 */ sw $v0, 4($t1) -/* 0D8F94 7F0A4464 8FA50058 */ lw $a1, 0x58($sp) -/* 0D8F98 7F0A4468 0FC2F271 */ jal sub_GAME_7F0BC9C4 -/* 0D8F9C 7F0A446C 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0D8FA0 7F0A4470 AFA200A0 */ sw $v0, 0xa0($sp) -/* 0D8FA4 7F0A4474 8E0B000C */ lw $t3, 0xc($s0) -/* 0D8FA8 7F0A4478 8FAD0034 */ lw $t5, 0x34($sp) -/* 0D8FAC 7F0A447C 240C0002 */ li $t4, 2 -/* 0D8FB0 7F0A4480 AFAC0010 */ sw $t4, 0x10($sp) -/* 0D8FB4 7F0A4484 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 0D8FB8 7F0A4488 24060004 */ li $a2, 4 -/* 0D8FBC 7F0A448C 8FA700C0 */ lw $a3, 0xc0($sp) -/* 0D8FC0 7F0A4490 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 0D8FC4 7F0A4494 016D2821 */ addu $a1, $t3, $t5 -/* 0D8FC8 7F0A4498 8FB000A0 */ lw $s0, 0xa0($sp) -/* 0D8FCC 7F0A449C 3C0F0430 */ lui $t7, (0x04300040 >> 16) # lui $t7, 0x430 -/* 0D8FD0 7F0A44A0 35EF0040 */ ori $t7, (0x04300040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 0D8FD4 7F0A44A4 26080008 */ addiu $t0, $s0, 8 -/* 0D8FD8 7F0A44A8 AFA800A0 */ sw $t0, 0xa0($sp) -/* 0D8FDC 7F0A44AC 02202025 */ move $a0, $s1 -/* 0D8FE0 7F0A44B0 0C003A2C */ jal osVirtualToPhysical -/* 0D8FE4 7F0A44B4 AE0F0000 */ sw $t7, ($s0) -/* 0D8FE8 7F0A44B8 AE020004 */ sw $v0, 4($s0) -/* 0D8FEC 7F0A44BC 8FB800A0 */ lw $t8, 0xa0($sp) -/* 0D8FF0 7F0A44C0 3C19B100 */ lui $t9, (0xB1000032 >> 16) # lui $t9, 0xb100 -/* 0D8FF4 7F0A44C4 37390032 */ ori $t9, (0xB1000032 & 0xFFFF) # ori $t9, $t9, 0x32 -/* 0D8FF8 7F0A44C8 270A0008 */ addiu $t2, $t8, 8 -/* 0D8FFC 7F0A44CC AFAA00A0 */ sw $t2, 0xa0($sp) -/* 0D9000 7F0A44D0 24092010 */ li $t1, 8208 -/* 0D9004 7F0A44D4 AF090004 */ sw $t1, 4($t8) -/* 0D9008 7F0A44D8 AF190000 */ sw $t9, ($t8) -/* 0D900C 7F0A44DC 8FB100A0 */ lw $s1, 0xa0($sp) -/* 0D9010 7F0A44E0 3C0C0103 */ lui $t4, (0x01030040 >> 16) # lui $t4, 0x103 -/* 0D9014 7F0A44E4 358C0040 */ ori $t4, (0x01030040 & 0xFFFF) # ori $t4, $t4, 0x40 -/* 0D9018 7F0A44E8 262D0008 */ addiu $t5, $s1, 8 -/* 0D901C 7F0A44EC AFAD00A0 */ sw $t5, 0xa0($sp) -/* 0D9020 7F0A44F0 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 0D9024 7F0A44F4 AE2C0000 */ sw $t4, ($s1) -/* 0D9028 7F0A44F8 0C003A2C */ jal osVirtualToPhysical -/* 0D902C 7F0A44FC 00402025 */ move $a0, $v0 -/* 0D9030 7F0A4500 AE220004 */ sw $v0, 4($s1) -/* 0D9034 7F0A4504 8FA800BC */ lw $t0, 0xbc($sp) -/* 0D9038 7F0A4508 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 0D903C 7F0A450C AD0E0000 */ sw $t6, ($t0) -.L7F0A4510: -/* 0D9040 7F0A4510 8FBF002C */ lw $ra, 0x2c($sp) -.L7F0A4514: -/* 0D9044 7F0A4514 8FB00020 */ lw $s0, 0x20($sp) -/* 0D9048 7F0A4518 8FB10024 */ lw $s1, 0x24($sp) -/* 0D904C 7F0A451C 8FB20028 */ lw $s2, 0x28($sp) -/* 0D9050 7F0A4520 03E00008 */ jr $ra -/* 0D9054 7F0A4524 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A4528(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4528 -/* 0D9058 7F0A4528 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0D905C 7F0A452C AFB10018 */ sw $s1, 0x18($sp) -/* 0D9060 7F0A4530 AFB00014 */ sw $s0, 0x14($sp) -/* 0D9064 7F0A4534 AFB30020 */ sw $s3, 0x20($sp) -/* 0D9068 7F0A4538 AFB2001C */ sw $s2, 0x1c($sp) -/* 0D906C 7F0A453C 3C108008 */ lui $s0, %hi(dword_CODE_bss_8007A170) -/* 0D9070 7F0A4540 3C118008 */ lui $s1, %hi(dword_CODE_bss_8007A4E0) -/* 0D9074 7F0A4544 00809025 */ move $s2, $a0 -/* 0D9078 7F0A4548 00A09825 */ move $s3, $a1 -/* 0D907C 7F0A454C AFBF0024 */ sw $ra, 0x24($sp) -/* 0D9080 7F0A4550 2631A4E0 */ addiu $s1, %lo(dword_CODE_bss_8007A4E0) # addiu $s1, $s1, -0x5b20 -/* 0D9084 7F0A4554 2610A170 */ addiu $s0, %lo(dword_CODE_bss_8007A170) # addiu $s0, $s0, -0x5e90 -/* 0D9088 7F0A4558 02002025 */ move $a0, $s0 -.L7F0A455C: -/* 0D908C 7F0A455C 02402825 */ move $a1, $s2 -/* 0D9090 7F0A4560 0FC28FC1 */ jal sub_GAME_7F0A3F04 -/* 0D9094 7F0A4564 02603025 */ move $a2, $s3 -/* 0D9098 7F0A4568 2610002C */ addiu $s0, $s0, 0x2c -/* 0D909C 7F0A456C 0211082B */ sltu $at, $s0, $s1 -/* 0D90A0 7F0A4570 5420FFFA */ bnezl $at, .L7F0A455C -/* 0D90A4 7F0A4574 02002025 */ move $a0, $s0 -/* 0D90A8 7F0A4578 8FBF0024 */ lw $ra, 0x24($sp) -/* 0D90AC 7F0A457C 8FB00014 */ lw $s0, 0x14($sp) -/* 0D90B0 7F0A4580 8FB10018 */ lw $s1, 0x18($sp) -/* 0D90B4 7F0A4584 8FB2001C */ lw $s2, 0x1c($sp) -/* 0D90B8 7F0A4588 8FB30020 */ lw $s3, 0x20($sp) -/* 0D90BC 7F0A458C 03E00008 */ jr $ra -/* 0D90C0 7F0A4590 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A4594(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4594 -/* 0D90C4 7F0A4594 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0D90C8 7F0A4598 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D90CC 7F0A459C C4840010 */ lwc1 $f4, 0x10($a0) -/* 0D90D0 7F0A45A0 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 0D90D4 7F0A45A4 C4860014 */ lwc1 $f6, 0x14($a0) -/* 0D90D8 7F0A45A8 E7A60020 */ swc1 $f6, 0x20($sp) -/* 0D90DC 7F0A45AC C4880018 */ lwc1 $f8, 0x18($a0) -/* 0D90E0 7F0A45B0 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0D90E4 7F0A45B4 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0D90E8 7F0A45B8 00402025 */ move $a0, $v0 -/* 0D90EC 7F0A45BC 0FC1611D */ jal sub_GAME_7F058474 -/* 0D90F0 7F0A45C0 27A5001C */ addiu $a1, $sp, 0x1c -/* 0D90F4 7F0A45C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D90F8 7F0A45C8 C7A00024 */ lwc1 $f0, 0x24($sp) -/* 0D90FC 7F0A45CC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0D9100 7F0A45D0 03E00008 */ jr $ra -/* 0D9104 7F0A45D4 46000007 */ neg.s $f0, $f0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A45D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A45D8 -/* 0D9108 7F0A45D8 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007A4E0) -/* 0D910C 7F0A45DC 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007B098) -/* 0D9110 7F0A45E0 2463B098 */ addiu $v1, %lo(dword_CODE_bss_8007B098) # addiu $v1, $v1, -0x4f68 -/* 0D9114 7F0A45E4 2442A4E0 */ addiu $v0, %lo(dword_CODE_bss_8007A4E0) # addiu $v0, $v0, -0x5b20 -.L7F0A45E8: -/* 0D9118 7F0A45E8 2442003C */ addiu $v0, $v0, 0x3c -/* 0D911C 7F0A45EC 0043082B */ sltu $at, $v0, $v1 -/* 0D9120 7F0A45F0 1420FFFD */ bnez $at, .L7F0A45E8 -/* 0D9124 7F0A45F4 A440FFC8 */ sh $zero, -0x38($v0) -/* 0D9128 7F0A45F8 03E00008 */ jr $ra -/* 0D912C 7F0A45FC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A4600(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4600 -/* 0D9130 7F0A4600 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0D9134 7F0A4604 AFB00020 */ sw $s0, 0x20($sp) -/* 0D9138 7F0A4608 3C108008 */ lui $s0, %hi(dword_CODE_bss_8007A4E0) -/* 0D913C 7F0A460C 3C028008 */ lui $v0, %hi(dword_CODE_bss_8007B098) -/* 0D9140 7F0A4610 44876000 */ mtc1 $a3, $f12 -/* 0D9144 7F0A4614 AFBF0024 */ sw $ra, 0x24($sp) -/* 0D9148 7F0A4618 AFA40028 */ sw $a0, 0x28($sp) -/* 0D914C 7F0A461C AFA5002C */ sw $a1, 0x2c($sp) -/* 0D9150 7F0A4620 2442B098 */ addiu $v0, %lo(dword_CODE_bss_8007B098) # addiu $v0, $v0, -0x4f68 -/* 0D9154 7F0A4624 2610A4E0 */ addiu $s0, %lo(dword_CODE_bss_8007A4E0) # addiu $s0, $s0, -0x5b20 -/* 0D9158 7F0A4628 860E0004 */ lh $t6, 4($s0) -.L7F0A462C: -/* 0D915C 7F0A462C 55C00013 */ bnezl $t6, .L7F0A467C -/* 0D9160 7F0A4630 2610003C */ addiu $s0, $s0, 0x3c -/* 0D9164 7F0A4634 87AF003E */ lh $t7, 0x3e($sp) -/* 0D9168 7F0A4638 44076000 */ mfc1 $a3, $f12 -/* 0D916C 7F0A463C 02002025 */ move $a0, $s0 -/* 0D9170 7F0A4640 8FA50028 */ lw $a1, 0x28($sp) -/* 0D9174 7F0A4644 0FC28F02 */ jal sub_GAME_7F0A3C08 -/* 0D9178 7F0A4648 AFAF0010 */ sw $t7, 0x10($sp) -/* 0D917C 7F0A464C 8FA3002C */ lw $v1, 0x2c($sp) -/* 0D9180 7F0A4650 02001025 */ move $v0, $s0 -/* 0D9184 7F0A4654 C4640000 */ lwc1 $f4, ($v1) -/* 0D9188 7F0A4658 E604002C */ swc1 $f4, 0x2c($s0) -/* 0D918C 7F0A465C C4660004 */ lwc1 $f6, 4($v1) -/* 0D9190 7F0A4660 E6060030 */ swc1 $f6, 0x30($s0) -/* 0D9194 7F0A4664 C4680008 */ lwc1 $f8, 8($v1) -/* 0D9198 7F0A4668 E6080034 */ swc1 $f8, 0x34($s0) -/* 0D919C 7F0A466C C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 0D91A0 7F0A4670 10000006 */ b .L7F0A468C -/* 0D91A4 7F0A4674 E60A0038 */ swc1 $f10, 0x38($s0) -/* 0D91A8 7F0A4678 2610003C */ addiu $s0, $s0, 0x3c -.L7F0A467C: -/* 0D91AC 7F0A467C 0202082B */ sltu $at, $s0, $v0 -/* 0D91B0 7F0A4680 5420FFEA */ bnezl $at, .L7F0A462C -/* 0D91B4 7F0A4684 860E0004 */ lh $t6, 4($s0) -/* 0D91B8 7F0A4688 00001025 */ move $v0, $zero -.L7F0A468C: -/* 0D91BC 7F0A468C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0D91C0 7F0A4690 8FB00020 */ lw $s0, 0x20($sp) -/* 0D91C4 7F0A4694 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0D91C8 7F0A4698 03E00008 */ jr $ra -/* 0D91CC 7F0A469C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A46A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A46A0 -/* 0D91D0 7F0A46A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0D91D4 7F0A46A4 AFB30020 */ sw $s3, 0x20($sp) -/* 0D91D8 7F0A46A8 AFB2001C */ sw $s2, 0x1c($sp) -/* 0D91DC 7F0A46AC AFB10018 */ sw $s1, 0x18($sp) -/* 0D91E0 7F0A46B0 AFB00014 */ sw $s0, 0x14($sp) -/* 0D91E4 7F0A46B4 3C108008 */ lui $s0, %hi(dword_CODE_bss_8007A4E0) -/* 0D91E8 7F0A46B8 3C138008 */ lui $s3, %hi(dword_CODE_bss_8007B098) -/* 0D91EC 7F0A46BC 3C118005 */ lui $s1, %hi(clock_timer) -/* 0D91F0 7F0A46C0 3C128005 */ lui $s2, %hi(global_timer_delta) -/* 0D91F4 7F0A46C4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0D91F8 7F0A46C8 2673B098 */ addiu $s3, %lo(dword_CODE_bss_8007B098) # addiu $s3, $s3, -0x4f68 -/* 0D91FC 7F0A46CC 2610A4E0 */ addiu $s0, %lo(dword_CODE_bss_8007A4E0) # addiu $s0, $s0, -0x5b20 -/* 0D9200 7F0A46D0 26528378 */ addiu $s2, %lo(global_timer_delta) # addiu $s2, $s2, -0x7c88 -/* 0D9204 7F0A46D4 26318374 */ addiu $s1, %lo(clock_timer) # addiu $s1, $s1, -0x7c8c -/* 0D9208 7F0A46D8 860E0004 */ lh $t6, 4($s0) -.L7F0A46DC: -/* 0D920C 7F0A46DC 59C00018 */ blezl $t6, .L7F0A4740 -/* 0D9210 7F0A46E0 2610003C */ addiu $s0, $s0, 0x3c -/* 0D9214 7F0A46E4 8E0F0000 */ lw $t7, ($s0) -/* 0D9218 7F0A46E8 8E380000 */ lw $t8, ($s1) -/* 0D921C 7F0A46EC 01F8C821 */ addu $t9, $t7, $t8 -/* 0D9220 7F0A46F0 07200012 */ bltz $t9, .L7F0A473C -/* 0D9224 7F0A46F4 AE190000 */ sw $t9, ($s0) -/* 0D9228 7F0A46F8 86080004 */ lh $t0, 4($s0) -/* 0D922C 7F0A46FC 26040010 */ addiu $a0, $s0, 0x10 -/* 0D9230 7F0A4700 2605002C */ addiu $a1, $s0, 0x2c -/* 0D9234 7F0A4704 0328082A */ slt $at, $t9, $t0 -/* 0D9238 7F0A4708 5020000C */ beql $at, $zero, .L7F0A473C -/* 0D923C 7F0A470C A6000004 */ sh $zero, 4($s0) -/* 0D9240 7F0A4710 0FC15F62 */ jal sub_GAME_7F057D88 -/* 0D9244 7F0A4714 8E460000 */ lw $a2, ($s2) -/* 0D9248 7F0A4718 C6040014 */ lwc1 $f4, 0x14($s0) -/* 0D924C 7F0A471C C6060038 */ lwc1 $f6, 0x38($s0) -/* 0D9250 7F0A4720 4606203C */ c.lt.s $f4, $f6 -/* 0D9254 7F0A4724 00000000 */ nop -/* 0D9258 7F0A4728 45020005 */ bc1fl .L7F0A4740 -/* 0D925C 7F0A472C 2610003C */ addiu $s0, $s0, 0x3c -/* 0D9260 7F0A4730 10000002 */ b .L7F0A473C -/* 0D9264 7F0A4734 A6000004 */ sh $zero, 4($s0) -/* 0D9268 7F0A4738 A6000004 */ sh $zero, 4($s0) -.L7F0A473C: -/* 0D926C 7F0A473C 2610003C */ addiu $s0, $s0, 0x3c -.L7F0A4740: -/* 0D9270 7F0A4740 0213082B */ sltu $at, $s0, $s3 -/* 0D9274 7F0A4744 5420FFE5 */ bnezl $at, .L7F0A46DC -/* 0D9278 7F0A4748 860E0004 */ lh $t6, 4($s0) -/* 0D927C 7F0A474C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0D9280 7F0A4750 8FB00014 */ lw $s0, 0x14($sp) -/* 0D9284 7F0A4754 8FB10018 */ lw $s1, 0x18($sp) -/* 0D9288 7F0A4758 8FB2001C */ lw $s2, 0x1c($sp) -/* 0D928C 7F0A475C 8FB30020 */ lw $s3, 0x20($sp) -/* 0D9290 7F0A4760 03E00008 */ jr $ra -/* 0D9294 7F0A4764 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A4768(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4768 -/* 0D9298 7F0A4768 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0D929C 7F0A476C AFB10018 */ sw $s1, 0x18($sp) -/* 0D92A0 7F0A4770 AFB00014 */ sw $s0, 0x14($sp) -/* 0D92A4 7F0A4774 AFB30020 */ sw $s3, 0x20($sp) -/* 0D92A8 7F0A4778 AFB2001C */ sw $s2, 0x1c($sp) -/* 0D92AC 7F0A477C 3C108008 */ lui $s0, %hi(dword_CODE_bss_8007A4E0) -/* 0D92B0 7F0A4780 3C118008 */ lui $s1, %hi(dword_CODE_bss_8007B098) -/* 0D92B4 7F0A4784 00809025 */ move $s2, $a0 -/* 0D92B8 7F0A4788 00A09825 */ move $s3, $a1 -/* 0D92BC 7F0A478C AFBF0024 */ sw $ra, 0x24($sp) -/* 0D92C0 7F0A4790 2631B098 */ addiu $s1, %lo(dword_CODE_bss_8007B098) # addiu $s1, $s1, -0x4f68 -/* 0D92C4 7F0A4794 2610A4E0 */ addiu $s0, %lo(dword_CODE_bss_8007A4E0) # addiu $s0, $s0, -0x5b20 -/* 0D92C8 7F0A4798 02002025 */ move $a0, $s0 -.L7F0A479C: -/* 0D92CC 7F0A479C 02402825 */ move $a1, $s2 -/* 0D92D0 7F0A47A0 0FC28FC1 */ jal sub_GAME_7F0A3F04 -/* 0D92D4 7F0A47A4 02603025 */ move $a2, $s3 -/* 0D92D8 7F0A47A8 2610003C */ addiu $s0, $s0, 0x3c -/* 0D92DC 7F0A47AC 0211082B */ sltu $at, $s0, $s1 -/* 0D92E0 7F0A47B0 5420FFFA */ bnezl $at, .L7F0A479C -/* 0D92E4 7F0A47B4 02002025 */ move $a0, $s0 -/* 0D92E8 7F0A47B8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0D92EC 7F0A47BC 8FB00014 */ lw $s0, 0x14($sp) -/* 0D92F0 7F0A47C0 8FB10018 */ lw $s1, 0x18($sp) -/* 0D92F4 7F0A47C4 8FB2001C */ lw $s2, 0x1c($sp) -/* 0D92F8 7F0A47C8 8FB30020 */ lw $s3, 0x20($sp) -/* 0D92FC 7F0A47CC 03E00008 */ jr $ra -/* 0D9300 7F0A47D0 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -void sub_GAME_7F0A47D4(void) { - sub_GAME_7F0A3BD8(); - sub_GAME_7F0A45D8(); -} - -void sub_GAME_7F0A47FC(void) { - sub_GAME_7F0A3EA0(); - sub_GAME_7F0A46A0(); -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A4824(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4824 -/* 0D9354 7F0A4824 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9358 7F0A4828 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D935C 7F0A482C AFA40018 */ sw $a0, 0x18($sp) -/* 0D9360 7F0A4830 0FC2914A */ jal sub_GAME_7F0A4528 -/* 0D9364 7F0A4834 AFA5001C */ sw $a1, 0x1c($sp) -/* 0D9368 7F0A4838 8FA40018 */ lw $a0, 0x18($sp) -/* 0D936C 7F0A483C 0FC291DA */ jal sub_GAME_7F0A4768 -/* 0D9370 7F0A4840 8FA5001C */ lw $a1, 0x1c($sp) -/* 0D9374 7F0A4844 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9378 7F0A4848 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D937C 7F0A484C 03E00008 */ jr $ra -/* 0D9380 7F0A4850 00000000 */ nop -) -#endif - - - - diff --git a/src/game/unk_0A1DA0.h b/src/game/unk_0A1DA0.h deleted file mode 100644 index 72a3146..0000000 --- a/src/game/unk_0A1DA0.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _UNK_0A1DA0_H_ -#define _UNK_0A1DA0_H_ -#include "ultra64.h" - -extern u32 D_80040960[]; - -extern u32 D_80040980; -extern u32 D_80040984; -extern u32 D_80040988; -extern u32 D_8004098C; -extern u32 D_80040990; -extern u32 D_80040994; -extern u32 D_80040998; -extern u32 D_8004099C; - -#endif diff --git a/src/game/unk_0B3200.c b/src/game/unk_0B3200.c deleted file mode 100644 index b932b61..0000000 --- a/src/game/unk_0B3200.c +++ /dev/null @@ -1,441 +0,0 @@ -#include "ultra64.h" - - -// rodata - - - -#ifdef NONMATCHING -void sub_GAME_7F0B3200(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B3200 -/* 0E7D30 7F0B3200 C4CE0000 */ lwc1 $f14, ($a2) -/* 0E7D34 7F0B3204 C4E60000 */ lwc1 $f6, ($a3) -/* 0E7D38 7F0B3208 C4880004 */ lwc1 $f8, 4($a0) -/* 0E7D3C 7F0B320C C4C20004 */ lwc1 $f2, 4($a2) -/* 0E7D40 7F0B3210 C4E40004 */ lwc1 $f4, 4($a3) -/* 0E7D44 7F0B3214 C4920000 */ lwc1 $f18, ($a0) -/* 0E7D48 7F0B3218 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E7D4C 7F0B321C 460E3301 */ sub.s $f12, $f6, $f14 -/* 0E7D50 7F0B3220 E7A80000 */ swc1 $f8, ($sp) -/* 0E7D54 7F0B3224 C7A60000 */ lwc1 $f6, ($sp) -/* 0E7D58 7F0B3228 46041001 */ sub.s $f0, $f2, $f4 -/* 0E7D5C 7F0B322C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E7D60 7F0B3230 46127281 */ sub.s $f10, $f14, $f18 -/* 0E7D64 7F0B3234 46061201 */ sub.s $f8, $f2, $f6 -/* 0E7D68 7F0B3238 46005102 */ mul.s $f4, $f10, $f0 -/* 0E7D6C 7F0B323C 00000000 */ nop -/* 0E7D70 7F0B3240 460C4282 */ mul.s $f10, $f8, $f12 -/* 0E7D74 7F0B3244 C4A80004 */ lwc1 $f8, 4($a1) -/* 0E7D78 7F0B3248 460A2400 */ add.s $f16, $f4, $f10 -/* 0E7D7C 7F0B324C 46064101 */ sub.s $f4, $f8, $f6 -/* 0E7D80 7F0B3250 C4A80000 */ lwc1 $f8, ($a1) -/* 0E7D84 7F0B3254 46124181 */ sub.s $f6, $f8, $f18 -/* 0E7D88 7F0B3258 460C2282 */ mul.s $f10, $f4, $f12 -/* 0E7D8C 7F0B325C 00000000 */ nop -/* 0E7D90 7F0B3260 46003102 */ mul.s $f4, $f6, $f0 -/* 0E7D94 7F0B3264 44803000 */ mtc1 $zero, $f6 -/* 0E7D98 7F0B3268 460A2200 */ add.s $f8, $f4, $f10 -/* 0E7D9C 7F0B326C 46064032 */ c.eq.s $f8, $f6 -/* 0E7DA0 7F0B3270 E7A80010 */ swc1 $f8, 0x10($sp) -/* 0E7DA4 7F0B3274 C7A40010 */ lwc1 $f4, 0x10($sp) -/* 0E7DA8 7F0B3278 45000004 */ bc1f .L7F0B328C -/* 0E7DAC 7F0B327C 00000000 */ nop -/* 0E7DB0 7F0B3280 44810000 */ mtc1 $at, $f0 -/* 0E7DB4 7F0B3284 10000012 */ b .L7F0B32D0 -/* 0E7DB8 7F0B3288 00000000 */ nop -.L7F0B328C: -/* 0E7DBC 7F0B328C 46048403 */ div.s $f16, $f16, $f4 -/* 0E7DC0 7F0B3290 44805000 */ mtc1 $zero, $f10 -/* 0E7DC4 7F0B3294 3C013F80 */ lui $at, 0x3f80 -/* 0E7DC8 7F0B3298 460A803C */ c.lt.s $f16, $f10 -/* 0E7DCC 7F0B329C 00000000 */ nop -/* 0E7DD0 7F0B32A0 45030007 */ bc1tl .L7F0B32C0 -/* 0E7DD4 7F0B32A4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E7DD8 7F0B32A8 44814000 */ mtc1 $at, $f8 -/* 0E7DDC 7F0B32AC 00000000 */ nop -/* 0E7DE0 7F0B32B0 4610403C */ c.lt.s $f8, $f16 -/* 0E7DE4 7F0B32B4 00000000 */ nop -/* 0E7DE8 7F0B32B8 45000004 */ bc1f .L7F0B32CC -/* 0E7DEC 7F0B32BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F0B32C0: -/* 0E7DF0 7F0B32C0 44810000 */ mtc1 $at, $f0 -/* 0E7DF4 7F0B32C4 10000002 */ b .L7F0B32D0 -/* 0E7DF8 7F0B32C8 00000000 */ nop -.L7F0B32CC: -/* 0E7DFC 7F0B32CC 46008006 */ mov.s $f0, $f16 -.L7F0B32D0: -/* 0E7E00 7F0B32D0 03E00008 */ jr $ra -/* 0E7E04 7F0B32D4 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B32D8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800585E0 -.word 0x7f7fffff /*3.4028235e38*/ -glabel D_800585E4 -.word 0x7f7fffff /*3.4028235e38*/ -.text -glabel sub_GAME_7F0B32D8 -/* 0E7E08 7F0B32D8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0E7E0C 7F0B32DC AFBF001C */ sw $ra, 0x1c($sp) -/* 0E7E10 7F0B32E0 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0E7E14 7F0B32E4 C48A0008 */ lwc1 $f10, 8($a0) -/* 0E7E18 7F0B32E8 C4C80004 */ lwc1 $f8, 4($a2) -/* 0E7E1C 7F0B32EC C4860004 */ lwc1 $f6, 4($a0) -/* 0E7E20 7F0B32F0 C4C40000 */ lwc1 $f4, ($a2) -/* 0E7E24 7F0B32F4 460A4301 */ sub.s $f12, $f8, $f10 -/* 0E7E28 7F0B32F8 C4AE0000 */ lwc1 $f14, ($a1) -/* 0E7E2C 7F0B32FC C4B00004 */ lwc1 $f16, 4($a1) -/* 0E7E30 7F0B3300 46062001 */ sub.s $f0, $f4, $f6 -/* 0E7E34 7F0B3304 460C7102 */ mul.s $f4, $f14, $f12 -/* 0E7E38 7F0B3308 C4920000 */ lwc1 $f18, ($a0) -/* 0E7E3C 7F0B330C 3C018006 */ lui $at, %hi(D_800585E0) -/* 0E7E40 7F0B3310 46100182 */ mul.s $f6, $f0, $f16 -/* 0E7E44 7F0B3314 46062501 */ sub.s $f20, $f4, $f6 -/* 0E7E48 7F0B3318 46007202 */ mul.s $f8, $f14, $f0 -/* 0E7E4C 7F0B331C 00000000 */ nop -/* 0E7E50 7F0B3320 46106282 */ mul.s $f10, $f12, $f16 -/* 0E7E54 7F0B3324 46149101 */ sub.s $f4, $f18, $f20 -/* 0E7E58 7F0B3328 46149180 */ add.s $f6, $f18, $f20 -/* 0E7E5C 7F0B332C 460A4080 */ add.s $f2, $f8, $f10 -/* 0E7E60 7F0B3330 46062202 */ mul.s $f8, $f4, $f6 -/* 0E7E64 7F0B3334 44805000 */ mtc1 $zero, $f10 -/* 0E7E68 7F0B3338 00000000 */ nop -/* 0E7E6C 7F0B333C 460A403C */ c.lt.s $f8, $f10 -/* 0E7E70 7F0B3340 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0E7E74 7F0B3344 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 0E7E78 7F0B3348 45000003 */ bc1f .L7F0B3358 -/* 0E7E7C 7F0B334C 00000000 */ nop -/* 0E7E80 7F0B3350 1000001D */ b .L7F0B33C8 -/* 0E7E84 7F0B3354 C42085E0 */ lwc1 $f0, %lo(D_800585E0)($at) -.L7F0B3358: -/* 0E7E88 7F0B3358 AFA40030 */ sw $a0, 0x30($sp) -/* 0E7E8C 7F0B335C 0C007DF8 */ jal sqrtf -/* 0E7E90 7F0B3360 E7A2002C */ swc1 $f2, 0x2c($sp) -/* 0E7E94 7F0B3364 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 0E7E98 7F0B3368 44806000 */ mtc1 $zero, $f12 -/* 0E7E9C 7F0B336C 8FA40030 */ lw $a0, 0x30($sp) -/* 0E7EA0 7F0B3370 46001081 */ sub.s $f2, $f2, $f0 -/* 0E7EA4 7F0B3374 460C103C */ c.lt.s $f2, $f12 -/* 0E7EA8 7F0B3378 00000000 */ nop -/* 0E7EAC 7F0B337C 45020012 */ bc1fl .L7F0B33C8 -/* 0E7EB0 7F0B3380 46001006 */ mov.s $f0, $f2 -/* 0E7EB4 7F0B3384 C4920000 */ lwc1 $f18, ($a0) -/* 0E7EB8 7F0B3388 3C018006 */ lui $at, %hi(D_800585E4) -/* 0E7EBC 7F0B338C 46129102 */ mul.s $f4, $f18, $f18 -/* 0E7EC0 7F0B3390 00000000 */ nop -/* 0E7EC4 7F0B3394 46021182 */ mul.s $f6, $f2, $f2 -/* 0E7EC8 7F0B3398 00000000 */ nop -/* 0E7ECC 7F0B339C 4614A202 */ mul.s $f8, $f20, $f20 -/* 0E7ED0 7F0B33A0 46083280 */ add.s $f10, $f6, $f8 -/* 0E7ED4 7F0B33A4 4604503E */ c.le.s $f10, $f4 -/* 0E7ED8 7F0B33A8 00000000 */ nop -/* 0E7EDC 7F0B33AC 45000003 */ bc1f .L7F0B33BC -/* 0E7EE0 7F0B33B0 00000000 */ nop -/* 0E7EE4 7F0B33B4 10000004 */ b .L7F0B33C8 -/* 0E7EE8 7F0B33B8 46006006 */ mov.s $f0, $f12 -.L7F0B33BC: -/* 0E7EEC 7F0B33BC 10000002 */ b .L7F0B33C8 -/* 0E7EF0 7F0B33C0 C42085E4 */ lwc1 $f0, %lo(D_800585E4)($at) -/* 0E7EF4 7F0B33C4 46001006 */ mov.s $f0, $f2 -.L7F0B33C8: -/* 0E7EF8 7F0B33C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E7EFC 7F0B33CC D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0E7F00 7F0B33D0 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0E7F04 7F0B33D4 03E00008 */ jr $ra -/* 0E7F08 7F0B33D8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0B33DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0B33DC -/* 0E7F0C 7F0B33DC 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 0E7F10 7F0B33E0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0E7F14 7F0B33E4 AFB00018 */ sw $s0, 0x18($sp) -/* 0E7F18 7F0B33E8 AFA600B8 */ sw $a2, 0xb8($sp) -/* 0E7F1C 7F0B33EC C4E00000 */ lwc1 $f0, ($a3) -/* 0E7F20 7F0B33F0 C4E20004 */ lwc1 $f2, 4($a3) -/* 0E7F24 7F0B33F4 00A08025 */ move $s0, $a1 -/* 0E7F28 7F0B33F8 46000102 */ mul.s $f4, $f0, $f0 -/* 0E7F2C 7F0B33FC AFA700BC */ sw $a3, 0xbc($sp) -/* 0E7F30 7F0B3400 AFA400B0 */ sw $a0, 0xb0($sp) -/* 0E7F34 7F0B3404 46021282 */ mul.s $f10, $f2, $f2 -/* 0E7F38 7F0B3408 0C007DF8 */ jal sqrtf -/* 0E7F3C 7F0B340C 460A2300 */ add.s $f12, $f4, $f10 -/* 0E7F40 7F0B3410 44803000 */ mtc1 $zero, $f6 -/* 0E7F44 7F0B3414 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0E7F48 7F0B3418 8FA700BC */ lw $a3, 0xbc($sp) -/* 0E7F4C 7F0B341C 46060032 */ c.eq.s $f0, $f6 -/* 0E7F50 7F0B3420 46000386 */ mov.s $f14, $f0 -/* 0E7F54 7F0B3424 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E7F58 7F0B3428 45020006 */ bc1fl .L7F0B3444 -/* 0E7F5C 7F0B342C 44814000 */ mtc1 $at, $f8 -/* 0E7F60 7F0B3430 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E7F64 7F0B3434 44810000 */ mtc1 $at, $f0 -/* 0E7F68 7F0B3438 100000DC */ b .L7F0B37AC -/* 0E7F6C 7F0B343C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E7F70 7F0B3440 44814000 */ mtc1 $at, $f8 -.L7F0B3444: -/* 0E7F74 7F0B3444 C4E40000 */ lwc1 $f4, ($a3) -/* 0E7F78 7F0B3448 8FA200B8 */ lw $v0, 0xb8($sp) -/* 0E7F7C 7F0B344C 460E4403 */ div.s $f16, $f8, $f14 -/* 0E7F80 7F0B3450 46102282 */ mul.s $f10, $f4, $f16 -/* 0E7F84 7F0B3454 E7AA00A0 */ swc1 $f10, 0xa0($sp) -/* 0E7F88 7F0B3458 C4E60004 */ lwc1 $f6, 4($a3) -/* 0E7F8C 7F0B345C 46103202 */ mul.s $f8, $f6, $f16 -/* 0E7F90 7F0B3460 E7A800A4 */ swc1 $f8, 0xa4($sp) -/* 0E7F94 7F0B3464 C60A0000 */ lwc1 $f10, ($s0) -/* 0E7F98 7F0B3468 C4440000 */ lwc1 $f4, ($v0) -/* 0E7F9C 7F0B346C C6080004 */ lwc1 $f8, 4($s0) -/* 0E7FA0 7F0B3470 C4460004 */ lwc1 $f6, 4($v0) -/* 0E7FA4 7F0B3474 460A2001 */ sub.s $f0, $f4, $f10 -/* 0E7FA8 7F0B3478 E7B00044 */ swc1 $f16, 0x44($sp) -/* 0E7FAC 7F0B347C E7AE00AC */ swc1 $f14, 0xac($sp) -/* 0E7FB0 7F0B3480 46083081 */ sub.s $f2, $f6, $f8 -/* 0E7FB4 7F0B3484 46000102 */ mul.s $f4, $f0, $f0 -/* 0E7FB8 7F0B3488 E7A00098 */ swc1 $f0, 0x98($sp) -/* 0E7FBC 7F0B348C AFA700BC */ sw $a3, 0xbc($sp) -/* 0E7FC0 7F0B3490 46021282 */ mul.s $f10, $f2, $f2 -/* 0E7FC4 7F0B3494 E7A2009C */ swc1 $f2, 0x9c($sp) -/* 0E7FC8 7F0B3498 AFA400B0 */ sw $a0, 0xb0($sp) -/* 0E7FCC 7F0B349C 0C007DF8 */ jal sqrtf -/* 0E7FD0 7F0B34A0 460A2300 */ add.s $f12, $f4, $f10 -/* 0E7FD4 7F0B34A4 44803000 */ mtc1 $zero, $f6 -/* 0E7FD8 7F0B34A8 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0E7FDC 7F0B34AC 8FA700BC */ lw $a3, 0xbc($sp) -/* 0E7FE0 7F0B34B0 46060032 */ c.eq.s $f0, $f6 -/* 0E7FE4 7F0B34B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E7FE8 7F0B34B8 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 0E7FEC 7F0B34BC 45010077 */ bc1t .L7F0B369C -/* 0E7FF0 7F0B34C0 00000000 */ nop -/* 0E7FF4 7F0B34C4 44814000 */ mtc1 $at, $f8 -/* 0E7FF8 7F0B34C8 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0E7FFC 7F0B34CC C7A60098 */ lwc1 $f6, 0x98($sp) -/* 0E8000 7F0B34D0 46004483 */ div.s $f18, $f8, $f0 -/* 0E8004 7F0B34D4 02001025 */ move $v0, $s0 -/* 0E8008 7F0B34D8 46003207 */ neg.s $f8, $f6 -/* 0E800C 7F0B34DC 46122282 */ mul.s $f10, $f4, $f18 -/* 0E8010 7F0B34E0 00000000 */ nop -/* 0E8014 7F0B34E4 46124102 */ mul.s $f4, $f8, $f18 -/* 0E8018 7F0B34E8 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 0E801C 7F0B34EC E7AA0088 */ swc1 $f10, 0x88($sp) -/* 0E8020 7F0B34F0 E7A40028 */ swc1 $f4, 0x28($sp) -/* 0E8024 7F0B34F4 E7A4008C */ swc1 $f4, 0x8c($sp) -/* 0E8028 7F0B34F8 C4860000 */ lwc1 $f6, ($a0) -/* 0E802C 7F0B34FC E7A60038 */ swc1 $f6, 0x38($sp) -/* 0E8030 7F0B3500 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0E8034 7F0B3504 C4860004 */ lwc1 $f6, 4($a0) -/* 0E8038 7F0B3508 460A4382 */ mul.s $f14, $f8, $f10 -/* 0E803C 7F0B350C E7A60034 */ swc1 $f6, 0x34($sp) -/* 0E8040 7F0B3510 C48A0008 */ lwc1 $f10, 8($a0) -/* 0E8044 7F0B3514 46044402 */ mul.s $f16, $f8, $f4 -/* 0E8048 7F0B3518 C6020000 */ lwc1 $f2, ($s0) -/* 0E804C 7F0B351C C7A80034 */ lwc1 $f8, 0x34($sp) -/* 0E8050 7F0B3520 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 0E8054 7F0B3524 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0E8058 7F0B3528 46024101 */ sub.s $f4, $f8, $f2 -/* 0E805C 7F0B352C C60C0004 */ lwc1 $f12, 4($s0) -/* 0E8060 7F0B3530 460C5201 */ sub.s $f8, $f10, $f12 -/* 0E8064 7F0B3534 460E2182 */ mul.s $f6, $f4, $f14 -/* 0E8068 7F0B3538 00000000 */ nop -/* 0E806C 7F0B353C 46088102 */ mul.s $f4, $f16, $f8 -/* 0E8070 7F0B3540 44804000 */ mtc1 $zero, $f8 -/* 0E8074 7F0B3544 46043280 */ add.s $f10, $f6, $f4 -/* 0E8078 7F0B3548 4608503C */ c.lt.s $f10, $f8 -/* 0E807C 7F0B354C 00000000 */ nop -/* 0E8080 7F0B3550 45000003 */ bc1f .L7F0B3560 -/* 0E8084 7F0B3554 00000000 */ nop -/* 0E8088 7F0B3558 46007387 */ neg.s $f14, $f14 -/* 0E808C 7F0B355C 46008407 */ neg.s $f16, $f16 -.L7F0B3560: -/* 0E8090 7F0B3560 460E1180 */ add.s $f6, $f2, $f14 -/* 0E8094 7F0B3564 8FA300B8 */ lw $v1, 0xb8($sp) -/* 0E8098 7F0B3568 46106100 */ add.s $f4, $f12, $f16 -/* 0E809C 7F0B356C E7A60078 */ swc1 $f6, 0x78($sp) -/* 0E80A0 7F0B3570 E7A4007C */ swc1 $f4, 0x7c($sp) -/* 0E80A4 7F0B3574 C46A0000 */ lwc1 $f10, ($v1) -/* 0E80A8 7F0B3578 460E5200 */ add.s $f8, $f10, $f14 -/* 0E80AC 7F0B357C E7A80070 */ swc1 $f8, 0x70($sp) -/* 0E80B0 7F0B3580 C4660004 */ lwc1 $f6, 4($v1) -/* 0E80B4 7F0B3584 46103100 */ add.s $f4, $f6, $f16 -/* 0E80B8 7F0B3588 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 0E80BC 7F0B358C E7A40074 */ swc1 $f4, 0x74($sp) -/* 0E80C0 7F0B3590 C4EA0004 */ lwc1 $f10, 4($a3) -/* 0E80C4 7F0B3594 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0E80C8 7F0B3598 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 0E80CC 7F0B359C C4E80000 */ lwc1 $f8, ($a3) -/* 0E80D0 7F0B35A0 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 0E80D4 7F0B35A4 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 0E80D8 7F0B35A8 46043282 */ mul.s $f10, $f6, $f4 -/* 0E80DC 7F0B35AC C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0E80E0 7F0B35B0 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 0E80E4 7F0B35B4 E7A40020 */ swc1 $f4, 0x20($sp) -/* 0E80E8 7F0B35B8 46044202 */ mul.s $f8, $f8, $f4 -/* 0E80EC 7F0B35BC C7A40030 */ lwc1 $f4, 0x30($sp) -/* 0E80F0 7F0B35C0 46085281 */ sub.s $f10, $f10, $f8 -/* 0E80F4 7F0B35C4 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 0E80F8 7F0B35C8 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 0E80FC 7F0B35CC E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0E8100 7F0B35D0 46064202 */ mul.s $f8, $f8, $f6 -/* 0E8104 7F0B35D4 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 0E8108 7F0B35D8 460A2102 */ mul.s $f4, $f4, $f10 -/* 0E810C 7F0B35DC 46044381 */ sub.s $f14, $f8, $f4 -/* 0E8110 7F0B35E0 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0E8114 7F0B35E4 46043182 */ mul.s $f6, $f6, $f4 -/* 0E8118 7F0B35E8 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 0E811C 7F0B35EC E7AE006C */ swc1 $f14, 0x6c($sp) -/* 0E8120 7F0B35F0 460A2102 */ mul.s $f4, $f4, $f10 -/* 0E8124 7F0B35F4 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 0E8128 7F0B35F8 46005306 */ mov.s $f12, $f10 -/* 0E812C 7F0B35FC 46043481 */ sub.s $f18, $f6, $f4 -/* 0E8130 7F0B3600 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 0E8134 7F0B3604 460A903C */ c.lt.s $f18, $f10 -/* 0E8138 7F0B3608 00000000 */ nop -/* 0E813C 7F0B360C 4502000A */ bc1fl .L7F0B3638 -/* 0E8140 7F0B3610 460C9032 */ c.eq.s $f18, $f12 -/* 0E8144 7F0B3614 46008407 */ neg.s $f16, $f16 -/* 0E8148 7F0B3618 46003107 */ neg.s $f4, $f6 -/* 0E814C 7F0B361C 46009306 */ mov.s $f12, $f18 -/* 0E8150 7F0B3620 00608025 */ move $s0, $v1 -/* 0E8154 7F0B3624 46005486 */ mov.s $f18, $f10 -/* 0E8158 7F0B3628 00401825 */ move $v1, $v0 -/* 0E815C 7F0B362C E7A4008C */ swc1 $f4, 0x8c($sp) -/* 0E8160 7F0B3630 E7B00088 */ swc1 $f16, 0x88($sp) -/* 0E8164 7F0B3634 460C9032 */ c.eq.s $f18, $f12 -.L7F0B3638: -/* 0E8168 7F0B3638 C7B00088 */ lwc1 $f16, 0x88($sp) -/* 0E816C 7F0B363C 02003025 */ move $a2, $s0 -/* 0E8170 7F0B3640 45020012 */ bc1fl .L7F0B368C -/* 0E8174 7F0B3644 460E903C */ c.lt.s $f18, $f14 -/* 0E8178 7F0B3648 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 0E817C 7F0B364C AFA300B8 */ sw $v1, 0xb8($sp) -/* 0E8180 7F0B3650 0FC2CCB6 */ jal sub_GAME_7F0B32D8 -/* 0E8184 7F0B3654 AFA400B0 */ sw $a0, 0xb0($sp) -/* 0E8188 7F0B3658 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0E818C 7F0B365C 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 0E8190 7F0B3660 8FA600B8 */ lw $a2, 0xb8($sp) -/* 0E8194 7F0B3664 0FC2CCB6 */ jal sub_GAME_7F0B32D8 -/* 0E8198 7F0B3668 E7A00060 */ swc1 $f0, 0x60($sp) -/* 0E819C 7F0B366C C7A20060 */ lwc1 $f2, 0x60($sp) -/* 0E81A0 7F0B3670 4602003C */ c.lt.s $f0, $f2 -/* 0E81A4 7F0B3674 00000000 */ nop -/* 0E81A8 7F0B3678 45020038 */ bc1fl .L7F0B375C -/* 0E81AC 7F0B367C C7A800AC */ lwc1 $f8, 0xac($sp) -/* 0E81B0 7F0B3680 10000035 */ b .L7F0B3758 -/* 0E81B4 7F0B3684 46000086 */ mov.s $f2, $f0 -/* 0E81B8 7F0B3688 460E903C */ c.lt.s $f18, $f14 -.L7F0B368C: -/* 0E81BC 7F0B368C 00000000 */ nop -/* 0E81C0 7F0B3690 45020007 */ bc1fl .L7F0B36B0 -/* 0E81C4 7F0B3694 460C703C */ c.lt.s $f14, $f12 -/* 0E81C8 7F0B3698 AFA300B8 */ sw $v1, 0xb8($sp) -.L7F0B369C: -/* 0E81CC 7F0B369C 0FC2CCB6 */ jal sub_GAME_7F0B32D8 -/* 0E81D0 7F0B36A0 8FA600B8 */ lw $a2, 0xb8($sp) -/* 0E81D4 7F0B36A4 1000002C */ b .L7F0B3758 -/* 0E81D8 7F0B36A8 46000086 */ mov.s $f2, $f0 -/* 0E81DC 7F0B36AC 460C703C */ c.lt.s $f14, $f12 -.L7F0B36B0: -/* 0E81E0 7F0B36B0 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 0E81E4 7F0B36B4 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 0E81E8 7F0B36B8 45020006 */ bc1fl .L7F0B36D4 -/* 0E81EC 7F0B36BC C60C0004 */ lwc1 $f12, 4($s0) -/* 0E81F0 7F0B36C0 0FC2CCB6 */ jal sub_GAME_7F0B32D8 -/* 0E81F4 7F0B36C4 02003025 */ move $a2, $s0 -/* 0E81F8 7F0B36C8 10000023 */ b .L7F0B3758 -/* 0E81FC 7F0B36CC 46000086 */ mov.s $f2, $f0 -/* 0E8200 7F0B36D0 C60C0004 */ lwc1 $f12, 4($s0) -.L7F0B36D4: -/* 0E8204 7F0B36D4 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0E8208 7F0B36D8 C6020000 */ lwc1 $f2, ($s0) -/* 0E820C 7F0B36DC 460C4181 */ sub.s $f6, $f8, $f12 -/* 0E8210 7F0B36E0 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0E8214 7F0B36E4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E8218 7F0B36E8 46065102 */ mul.s $f4, $f10, $f6 -/* 0E821C 7F0B36EC C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0E8220 7F0B36F0 46023281 */ sub.s $f10, $f6, $f2 -/* 0E8224 7F0B36F4 46105282 */ mul.s $f10, $f10, $f16 -/* 0E8228 7F0B36F8 46045000 */ add.s $f0, $f10, $f4 -/* 0E822C 7F0B36FC C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 0E8230 7F0B3700 460A3100 */ add.s $f4, $f6, $f10 -/* 0E8234 7F0B3704 46022181 */ sub.s $f6, $f4, $f2 -/* 0E8238 7F0B3708 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 0E823C 7F0B370C 46103282 */ mul.s $f10, $f6, $f16 -/* 0E8240 7F0B3710 46044180 */ add.s $f6, $f8, $f4 -/* 0E8244 7F0B3714 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 0E8248 7F0B3718 460C3201 */ sub.s $f8, $f6, $f12 -/* 0E824C 7F0B371C 46082182 */ mul.s $f6, $f4, $f8 -/* 0E8250 7F0B3720 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 0E8254 7F0B3724 46065380 */ add.s $f14, $f10, $f6 -/* 0E8258 7F0B3728 460E0032 */ c.eq.s $f0, $f14 -/* 0E825C 7F0B372C 00000000 */ nop -/* 0E8260 7F0B3730 45020005 */ bc1fl .L7F0B3748 -/* 0E8264 7F0B3734 46040201 */ sub.s $f8, $f0, $f4 -/* 0E8268 7F0B3738 44810000 */ mtc1 $at, $f0 -/* 0E826C 7F0B373C 1000001B */ b .L7F0B37AC -/* 0E8270 7F0B3740 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E8274 7F0B3744 46040201 */ sub.s $f8, $f0, $f4 -.L7F0B3748: -/* 0E8278 7F0B3748 C7AA00AC */ lwc1 $f10, 0xac($sp) -/* 0E827C 7F0B374C 460E0101 */ sub.s $f4, $f0, $f14 -/* 0E8280 7F0B3750 460A4182 */ mul.s $f6, $f8, $f10 -/* 0E8284 7F0B3754 46043083 */ div.s $f2, $f6, $f4 -.L7F0B3758: -/* 0E8288 7F0B3758 C7A800AC */ lwc1 $f8, 0xac($sp) -.L7F0B375C: -/* 0E828C 7F0B375C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E8290 7F0B3760 4602403C */ c.lt.s $f8, $f2 -/* 0E8294 7F0B3764 00000000 */ nop -/* 0E8298 7F0B3768 45020005 */ bc1fl .L7F0B3780 -/* 0E829C 7F0B376C 44805000 */ mtc1 $zero, $f10 -/* 0E82A0 7F0B3770 44810000 */ mtc1 $at, $f0 -/* 0E82A4 7F0B3774 1000000D */ b .L7F0B37AC -/* 0E82A8 7F0B3778 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E82AC 7F0B377C 44805000 */ mtc1 $zero, $f10 -.L7F0B3780: -/* 0E82B0 7F0B3780 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 0E82B4 7F0B3784 460A103C */ c.lt.s $f2, $f10 -/* 0E82B8 7F0B3788 00000000 */ nop -/* 0E82BC 7F0B378C 45000004 */ bc1f .L7F0B37A0 -/* 0E82C0 7F0B3790 00000000 */ nop -/* 0E82C4 7F0B3794 44800000 */ mtc1 $zero, $f0 -/* 0E82C8 7F0B3798 10000004 */ b .L7F0B37AC -/* 0E82CC 7F0B379C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0B37A0: -/* 0E82D0 7F0B37A0 46061002 */ mul.s $f0, $f2, $f6 -/* 0E82D4 7F0B37A4 00000000 */ nop -/* 0E82D8 7F0B37A8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0B37AC: -/* 0E82DC 7F0B37AC 8FB00018 */ lw $s0, 0x18($sp) -/* 0E82E0 7F0B37B0 27BD00B0 */ addiu $sp, $sp, 0xb0 -/* 0E82E4 7F0B37B4 03E00008 */ jr $ra -/* 0E82E8 7F0B37B8 00000000 */ nop -) -#endif - - diff --git a/src/game/unk_0BC530.c b/src/game/unk_0BC530.c deleted file mode 100644 index e82514b..0000000 --- a/src/game/unk_0BC530.c +++ /dev/null @@ -1,534 +0,0 @@ -#include "ultra64.h" -#include "game/unk_093880.h" - -// bss -char dword_CODE_bss_80083320[0x130]; -char dword_CODE_bss_80083450[0x4B0]; -char dword_CODE_bss_80083900[0x4B0]; -char dword_CODE_bss_80083DB0[0x4B00]; - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC530(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC530 -/* 0F1060 7F0BC530 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0F1064 7F0BC534 AFBF0024 */ sw $ra, 0x24($sp) -/* 0F1068 7F0BC538 AFB00018 */ sw $s0, 0x18($sp) -/* 0F106C 7F0BC53C AFB20020 */ sw $s2, 0x20($sp) -/* 0F1070 7F0BC540 AFB1001C */ sw $s1, 0x1c($sp) -/* 0F1074 7F0BC544 0FC26919 */ jal get_num_players -/* 0F1078 7F0BC548 00008025 */ move $s0, $zero -/* 0F107C 7F0BC54C 1840000D */ blez $v0, .L7F0BC584 -/* 0F1080 7F0BC550 00107080 */ sll $t6, $s0, 2 -/* 0F1084 7F0BC554 3C0F8008 */ lui $t7, %hi(ptr_BONDdata_p1) -/* 0F1088 7F0BC558 25EF9EE0 */ addiu $t7, %lo(ptr_BONDdata_p1) # addiu $t7, $t7, -0x6120 -/* 0F108C 7F0BC55C 01CF8821 */ addu $s1, $t6, $t7 -/* 0F1090 7F0BC560 2412FFFF */ li $s2, -1 -/* 0F1094 7F0BC564 8E380000 */ lw $t8, ($s1) -.L7F0BC568: -/* 0F1098 7F0BC568 26100001 */ addiu $s0, $s0, 1 -/* 0F109C 7F0BC56C 26310004 */ addiu $s1, $s1, 4 -/* 0F10A0 7F0BC570 0FC26919 */ jal get_num_players -/* 0F10A4 7F0BC574 AF12108C */ sw $s2, 0x108c($t8) -/* 0F10A8 7F0BC578 0202082A */ slt $at, $s0, $v0 -/* 0F10AC 7F0BC57C 5420FFFA */ bnezl $at, .L7F0BC568 -/* 0F10B0 7F0BC580 8E380000 */ lw $t8, ($s1) -.L7F0BC584: -/* 0F10B4 7F0BC584 3C038008 */ lui $v1, %hi(dword_CODE_bss_80083450) -/* 0F10B8 7F0BC588 3C048008 */ lui $a0, %hi(dword_CODE_bss_80083320) -/* 0F10BC 7F0BC58C 3C028008 */ lui $v0, %hi(dword_CODE_bss_80083900) -/* 0F10C0 7F0BC590 3C068008 */ lui $a2, %hi(dword_CODE_bss_80083DB0) -/* 0F10C4 7F0BC594 2412FFFF */ li $s2, -1 -/* 0F10C8 7F0BC598 24C63DB0 */ addiu $a2, %lo(dword_CODE_bss_80083DB0) # addiu $a2, $a2, 0x3db0 -/* 0F10CC 7F0BC59C 24423900 */ addiu $v0, %lo(dword_CODE_bss_80083900) # addiu $v0, $v0, 0x3900 -/* 0F10D0 7F0BC5A0 24843320 */ addiu $a0, %lo(dword_CODE_bss_80083320) # addiu $a0, $a0, 0x3320 -/* 0F10D4 7F0BC5A4 24633450 */ addiu $v1, %lo(dword_CODE_bss_80083450) # addiu $v1, $v1, 0x3450 -/* 0F10D8 7F0BC5A8 24050002 */ li $a1, 2 -.L7F0BC5AC: -/* 0F10DC 7F0BC5AC 24420004 */ addiu $v0, $v0, 4 -/* 0F10E0 7F0BC5B0 0046082B */ sltu $at, $v0, $a2 -/* 0F10E4 7F0BC5B4 24630004 */ addiu $v1, $v1, 4 -/* 0F10E8 7F0BC5B8 24840001 */ addiu $a0, $a0, 1 -/* 0F10EC 7F0BC5BC AC72FFFC */ sw $s2, -4($v1) -/* 0F10F0 7F0BC5C0 A085FFFF */ sb $a1, -1($a0) -/* 0F10F4 7F0BC5C4 1420FFF9 */ bnez $at, .L7F0BC5AC -/* 0F10F8 7F0BC5C8 AC52FFFC */ sw $s2, -4($v0) -/* 0F10FC 7F0BC5CC 0FC2D791 */ jal getMaxNumRooms -/* 0F1100 7F0BC5D0 00008025 */ move $s0, $zero -/* 0F1104 7F0BC5D4 1840000D */ blez $v0, .L7F0BC60C -/* 0F1108 7F0BC5D8 0010C880 */ sll $t9, $s0, 2 -/* 0F110C 7F0BC5DC 0330C821 */ addu $t9, $t9, $s0 -/* 0F1110 7F0BC5E0 3C088004 */ lui $t0, %hi(D_80041414) -/* 0F1114 7F0BC5E4 25081414 */ addiu $t0, %lo(D_80041414) # addiu $t0, $t0, 0x1414 -/* 0F1118 7F0BC5E8 0019C900 */ sll $t9, $t9, 4 -/* 0F111C 7F0BC5EC 03288821 */ addu $s1, $t9, $t0 -/* 0F1120 7F0BC5F0 26100001 */ addiu $s0, $s0, 1 -.L7F0BC5F4: -/* 0F1124 7F0BC5F4 26310050 */ addiu $s1, $s1, 0x50 -/* 0F1128 7F0BC5F8 0FC2D791 */ jal getMaxNumRooms -/* 0F112C 7F0BC5FC A632FFE6 */ sh $s2, -0x1a($s1) -/* 0F1130 7F0BC600 0202082A */ slt $at, $s0, $v0 -/* 0F1134 7F0BC604 5420FFFB */ bnezl $at, .L7F0BC5F4 -/* 0F1138 7F0BC608 26100001 */ addiu $s0, $s0, 1 -.L7F0BC60C: -/* 0F113C 7F0BC60C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0F1140 7F0BC610 8FB00018 */ lw $s0, 0x18($sp) -/* 0F1144 7F0BC614 8FB1001C */ lw $s1, 0x1c($sp) -/* 0F1148 7F0BC618 8FB20020 */ lw $s2, 0x20($sp) -/* 0F114C 7F0BC61C 03E00008 */ jr $ra -/* 0F1150 7F0BC620 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - - -void sub_GAME_7F0BC624(s32 param_1) { - pPlayer->field_108C = param_1; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC634(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC634 -/* 0F1164 7F0BC634 00057080 */ sll $t6, $a1, 2 -/* 0F1168 7F0BC638 01C57021 */ addu $t6, $t6, $a1 -/* 0F116C 7F0BC63C 000E7100 */ sll $t6, $t6, 4 -/* 0F1170 7F0BC640 3C018004 */ lui $at, %hi(room_information+38) -/* 0F1174 7F0BC644 002E0821 */ addu $at, $at, $t6 -/* 0F1178 7F0BC648 A424144A */ sh $a0, %lo(room_information+38)($at) -/* 0F117C 7F0BC64C 3C018008 */ lui $at, %hi(dword_CODE_bss_80083450) -/* 0F1180 7F0BC650 00047880 */ sll $t7, $a0, 2 -/* 0F1184 7F0BC654 002F0821 */ addu $at, $at, $t7 -/* 0F1188 7F0BC658 03E00008 */ jr $ra -/* 0F118C 7F0BC65C AC253450 */ sw $a1, %lo(dword_CODE_bss_80083450)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC660(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC660 -/* 0F1190 7F0BC660 00057080 */ sll $t6, $a1, 2 -/* 0F1194 7F0BC664 01C57021 */ addu $t6, $t6, $a1 -/* 0F1198 7F0BC668 000E7100 */ sll $t6, $t6, 4 -/* 0F119C 7F0BC66C 3C018004 */ lui $at, %hi(room_information+38) -/* 0F11A0 7F0BC670 2402FFFF */ li $v0, -1 -/* 0F11A4 7F0BC674 002E0821 */ addu $at, $at, $t6 -/* 0F11A8 7F0BC678 A422144A */ sh $v0, %lo(room_information+38)($at) -/* 0F11AC 7F0BC67C 3C018008 */ lui $at, %hi(dword_CODE_bss_80083450) -/* 0F11B0 7F0BC680 00047880 */ sll $t7, $a0, 2 -/* 0F11B4 7F0BC684 002F0821 */ addu $at, $at, $t7 -/* 0F11B8 7F0BC688 03E00008 */ jr $ra -/* 0F11BC 7F0BC68C AC223450 */ sw $v0, %lo(dword_CODE_bss_80083450)($at) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC690(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC690 -/* 0F11C0 7F0BC690 00041080 */ sll $v0, $a0, 2 -/* 0F11C4 7F0BC694 3C058008 */ lui $a1, %hi(dword_CODE_bss_80083450) -/* 0F11C8 7F0BC698 00A22821 */ addu $a1, $a1, $v0 -/* 0F11CC 7F0BC69C 8CA53450 */ lw $a1, %lo(dword_CODE_bss_80083450)($a1) -/* 0F11D0 7F0BC6A0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F11D4 7F0BC6A4 2401FFFF */ li $at, -1 -/* 0F11D8 7F0BC6A8 10A10006 */ beq $a1, $at, .L7F0BC6C4 -/* 0F11DC 7F0BC6AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0F11E0 7F0BC6B0 AFA2001C */ sw $v0, 0x1c($sp) -/* 0F11E4 7F0BC6B4 0FC2F198 */ jal sub_GAME_7F0BC660 -/* 0F11E8 7F0BC6B8 AFA40020 */ sw $a0, 0x20($sp) -/* 0F11EC 7F0BC6BC 8FA2001C */ lw $v0, 0x1c($sp) -/* 0F11F0 7F0BC6C0 8FA40020 */ lw $a0, 0x20($sp) -.L7F0BC6C4: -/* 0F11F4 7F0BC6C4 3C018008 */ lui $at, %hi(dword_CODE_bss_80083320) -/* 0F11F8 7F0BC6C8 00240821 */ addu $at, $at, $a0 -/* 0F11FC 7F0BC6CC 240E0002 */ li $t6, 2 -/* 0F1200 7F0BC6D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F1204 7F0BC6D4 A02E3320 */ sb $t6, %lo(dword_CODE_bss_80083320)($at) -/* 0F1208 7F0BC6D8 3C018008 */ lui $at, %hi(dword_CODE_bss_80083900) -/* 0F120C 7F0BC6DC 00220821 */ addu $at, $at, $v0 -/* 0F1210 7F0BC6E0 240FFFFF */ li $t7, -1 -/* 0F1214 7F0BC6E4 AC2F3900 */ sw $t7, %lo(dword_CODE_bss_80083900)($at) -/* 0F1218 7F0BC6E8 03E00008 */ jr $ra -/* 0F121C 7F0BC6EC 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC6F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC6F0 -/* 0F1220 7F0BC6F0 3C028008 */ lui $v0, %hi(dword_CODE_bss_80083320) -/* 0F1224 7F0BC6F4 3C058008 */ lui $a1, %hi(dword_CODE_bss_80083900) -/* 0F1228 7F0BC6F8 24A53900 */ addiu $a1, %lo(dword_CODE_bss_80083900) # addiu $a1, $a1, 0x3900 -/* 0F122C 7F0BC6FC 24423320 */ addiu $v0, %lo(dword_CODE_bss_80083320) # addiu $v0, $v0, 0x3320 -/* 0F1230 7F0BC700 00001825 */ move $v1, $zero -/* 0F1234 7F0BC704 2406012C */ li $a2, 300 -/* 0F1238 7F0BC708 2404FFFF */ li $a0, -1 -.L7F0BC70C: -/* 0F123C 7F0BC70C 904E0000 */ lbu $t6, ($v0) -/* 0F1240 7F0BC710 00037880 */ sll $t7, $v1, 2 -/* 0F1244 7F0BC714 00AFC021 */ addu $t8, $a1, $t7 -/* 0F1248 7F0BC718 29C10002 */ slti $at, $t6, 2 -/* 0F124C 7F0BC71C 54200007 */ bnezl $at, .L7F0BC73C -/* 0F1250 7F0BC720 90480001 */ lbu $t0, 1($v0) -/* 0F1254 7F0BC724 8F190000 */ lw $t9, ($t8) -/* 0F1258 7F0BC728 54990004 */ bnel $a0, $t9, .L7F0BC73C -/* 0F125C 7F0BC72C 90480001 */ lbu $t0, 1($v0) -/* 0F1260 7F0BC730 03E00008 */ jr $ra -/* 0F1264 7F0BC734 00601025 */ move $v0, $v1 - -/* 0F1268 7F0BC738 90480001 */ lbu $t0, 1($v0) -.L7F0BC73C: -/* 0F126C 7F0BC73C 00034880 */ sll $t1, $v1, 2 -/* 0F1270 7F0BC740 00A95021 */ addu $t2, $a1, $t1 -/* 0F1274 7F0BC744 29010002 */ slti $at, $t0, 2 -/* 0F1278 7F0BC748 54200007 */ bnezl $at, .L7F0BC768 -/* 0F127C 7F0BC74C 904C0002 */ lbu $t4, 2($v0) -/* 0F1280 7F0BC750 8D4B0004 */ lw $t3, 4($t2) -/* 0F1284 7F0BC754 548B0004 */ bnel $a0, $t3, .L7F0BC768 -/* 0F1288 7F0BC758 904C0002 */ lbu $t4, 2($v0) -/* 0F128C 7F0BC75C 03E00008 */ jr $ra -/* 0F1290 7F0BC760 24620001 */ addiu $v0, $v1, 1 - -/* 0F1294 7F0BC764 904C0002 */ lbu $t4, 2($v0) -.L7F0BC768: -/* 0F1298 7F0BC768 00036880 */ sll $t5, $v1, 2 -/* 0F129C 7F0BC76C 00AD7021 */ addu $t6, $a1, $t5 -/* 0F12A0 7F0BC770 29810002 */ slti $at, $t4, 2 -/* 0F12A4 7F0BC774 54200007 */ bnezl $at, .L7F0BC794 -/* 0F12A8 7F0BC778 90580003 */ lbu $t8, 3($v0) -/* 0F12AC 7F0BC77C 8DCF0008 */ lw $t7, 8($t6) -/* 0F12B0 7F0BC780 548F0004 */ bnel $a0, $t7, .L7F0BC794 -/* 0F12B4 7F0BC784 90580003 */ lbu $t8, 3($v0) -/* 0F12B8 7F0BC788 03E00008 */ jr $ra -/* 0F12BC 7F0BC78C 24620002 */ addiu $v0, $v1, 2 - -/* 0F12C0 7F0BC790 90580003 */ lbu $t8, 3($v0) -.L7F0BC794: -/* 0F12C4 7F0BC794 0003C880 */ sll $t9, $v1, 2 -/* 0F12C8 7F0BC798 00B94021 */ addu $t0, $a1, $t9 -/* 0F12CC 7F0BC79C 2B010002 */ slti $at, $t8, 2 -/* 0F12D0 7F0BC7A0 54200007 */ bnezl $at, .L7F0BC7C0 -/* 0F12D4 7F0BC7A4 24630004 */ addiu $v1, $v1, 4 -/* 0F12D8 7F0BC7A8 8D09000C */ lw $t1, 0xc($t0) -/* 0F12DC 7F0BC7AC 54890004 */ bnel $a0, $t1, .L7F0BC7C0 -/* 0F12E0 7F0BC7B0 24630004 */ addiu $v1, $v1, 4 -/* 0F12E4 7F0BC7B4 03E00008 */ jr $ra -/* 0F12E8 7F0BC7B8 24620003 */ addiu $v0, $v1, 3 - -/* 0F12EC 7F0BC7BC 24630004 */ addiu $v1, $v1, 4 -.L7F0BC7C0: -/* 0F12F0 7F0BC7C0 1466FFD2 */ bne $v1, $a2, .L7F0BC70C -/* 0F12F4 7F0BC7C4 24420004 */ addiu $v0, $v0, 4 -/* 0F12F8 7F0BC7C8 00001025 */ move $v0, $zero -/* 0F12FC 7F0BC7CC 03E00008 */ jr $ra -/* 0F1300 7F0BC7D0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC7D4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC7D4 -/* 0F1304 7F0BC7D4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0F1308 7F0BC7D8 AFB2001C */ sw $s2, 0x1c($sp) -/* 0F130C 7F0BC7DC AFB10018 */ sw $s1, 0x18($sp) -/* 0F1310 7F0BC7E0 AFB30020 */ sw $s3, 0x20($sp) -/* 0F1314 7F0BC7E4 AFB00014 */ sw $s0, 0x14($sp) -/* 0F1318 7F0BC7E8 3C118008 */ lui $s1, %hi(dword_CODE_bss_80083900) -/* 0F131C 7F0BC7EC 3C128008 */ lui $s2, %hi(dword_CODE_bss_80083320) -/* 0F1320 7F0BC7F0 AFBF0024 */ sw $ra, 0x24($sp) -/* 0F1324 7F0BC7F4 26523320 */ addiu $s2, %lo(dword_CODE_bss_80083320) # addiu $s2, $s2, 0x3320 -/* 0F1328 7F0BC7F8 26313900 */ addiu $s1, %lo(dword_CODE_bss_80083900) # addiu $s1, $s1, 0x3900 -/* 0F132C 7F0BC7FC 00008025 */ move $s0, $zero -/* 0F1330 7F0BC800 2413012C */ li $s3, 300 -.L7F0BC804: -/* 0F1334 7F0BC804 8E2E0000 */ lw $t6, ($s1) -/* 0F1338 7F0BC808 02501021 */ addu $v0, $s2, $s0 -/* 0F133C 7F0BC80C 05C2000A */ bltzl $t6, .L7F0BC838 -/* 0F1340 7F0BC810 26100001 */ addiu $s0, $s0, 1 -/* 0F1344 7F0BC814 904F0000 */ lbu $t7, ($v0) -/* 0F1348 7F0BC818 25F80001 */ addiu $t8, $t7, 1 -/* 0F134C 7F0BC81C 331900FF */ andi $t9, $t8, 0xff -/* 0F1350 7F0BC820 2B210002 */ slti $at, $t9, 2 -/* 0F1354 7F0BC824 14200003 */ bnez $at, .L7F0BC834 -/* 0F1358 7F0BC828 A0580000 */ sb $t8, ($v0) -/* 0F135C 7F0BC82C 0FC2F1A4 */ jal sub_GAME_7F0BC690 -/* 0F1360 7F0BC830 02002025 */ move $a0, $s0 -.L7F0BC834: -/* 0F1364 7F0BC834 26100001 */ addiu $s0, $s0, 1 -.L7F0BC838: -/* 0F1368 7F0BC838 1613FFF2 */ bne $s0, $s3, .L7F0BC804 -/* 0F136C 7F0BC83C 26310004 */ addiu $s1, $s1, 4 -/* 0F1370 7F0BC840 8FBF0024 */ lw $ra, 0x24($sp) -/* 0F1374 7F0BC844 8FB00014 */ lw $s0, 0x14($sp) -/* 0F1378 7F0BC848 8FB10018 */ lw $s1, 0x18($sp) -/* 0F137C 7F0BC84C 8FB2001C */ lw $s2, 0x1c($sp) -/* 0F1380 7F0BC850 8FB30020 */ lw $s3, 0x20($sp) -/* 0F1384 7F0BC854 03E00008 */ jr $ra -/* 0F1388 7F0BC858 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC85C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC85C -/* 0F138C 7F0BC85C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0F1390 7F0BC860 00047880 */ sll $t7, $a0, 2 -/* 0F1394 7F0BC864 AFB00018 */ sw $s0, 0x18($sp) -/* 0F1398 7F0BC868 01E47821 */ addu $t7, $t7, $a0 -/* 0F139C 7F0BC86C 000F7900 */ sll $t7, $t7, 4 -/* 0F13A0 7F0BC870 3C108004 */ lui $s0, %hi(room_information+38) -/* 0F13A4 7F0BC874 020F8021 */ addu $s0, $s0, $t7 -/* 0F13A8 7F0BC878 8610144A */ lh $s0, %lo(room_information+38)($s0) -/* 0F13AC 7F0BC87C 2402FFFF */ li $v0, -1 -/* 0F13B0 7F0BC880 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F13B4 7F0BC884 1202000C */ beq $s0, $v0, .L7F0BC8B8 -/* 0F13B8 7F0BC888 AFA40070 */ sw $a0, 0x70($sp) -/* 0F13BC 7F0BC88C 3C188008 */ lui $t8, %hi(pPlayer) -/* 0F13C0 7F0BC890 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0F13C4 7F0BC894 00104080 */ sll $t0, $s0, 2 -/* 0F13C8 7F0BC898 3C098008 */ lui $t1, %hi(dword_CODE_bss_80083900) -/* 0F13CC 7F0BC89C 01284821 */ addu $t1, $t1, $t0 -/* 0F13D0 7F0BC8A0 8D293900 */ lw $t1, %lo(dword_CODE_bss_80083900)($t1) -/* 0F13D4 7F0BC8A4 8F19108C */ lw $t9, 0x108c($t8) -/* 0F13D8 7F0BC8A8 3C018008 */ lui $at, %hi(dword_CODE_bss_80083320) -/* 0F13DC 7F0BC8AC 00300821 */ addu $at, $at, $s0 -/* 0F13E0 7F0BC8B0 1329000F */ beq $t9, $t1, .L7F0BC8F0 -/* 0F13E4 7F0BC8B4 00000000 */ nop -.L7F0BC8B8: -/* 0F13E8 7F0BC8B8 12020003 */ beq $s0, $v0, .L7F0BC8C8 -/* 0F13EC 7F0BC8BC 02002025 */ move $a0, $s0 -/* 0F13F0 7F0BC8C0 0FC2F198 */ jal sub_GAME_7F0BC660 -/* 0F13F4 7F0BC8C4 8FA50070 */ lw $a1, 0x70($sp) -.L7F0BC8C8: -/* 0F13F8 7F0BC8C8 0FC2F1BC */ jal sub_GAME_7F0BC6F0 -/* 0F13FC 7F0BC8CC 00000000 */ nop -/* 0F1400 7F0BC8D0 00408025 */ move $s0, $v0 -/* 0F1404 7F0BC8D4 00402025 */ move $a0, $v0 -/* 0F1408 7F0BC8D8 0FC2F18D */ jal sub_GAME_7F0BC634 -/* 0F140C 7F0BC8DC 8FA50070 */ lw $a1, 0x70($sp) -/* 0F1410 7F0BC8E0 3C018008 */ lui $at, %hi(dword_CODE_bss_80083320) -/* 0F1414 7F0BC8E4 00300821 */ addu $at, $at, $s0 -/* 0F1418 7F0BC8E8 10000004 */ b .L7F0BC8FC -/* 0F141C 7F0BC8EC A0203320 */ sb $zero, %lo(dword_CODE_bss_80083320)($at) -.L7F0BC8F0: -/* 0F1420 7F0BC8F0 A0203320 */ sb $zero, %lo(dword_CODE_bss_80083320)($at) -/* 0F1424 7F0BC8F4 1000002E */ b .L7F0BC9B0 -/* 0F1428 7F0BC8F8 02001025 */ move $v0, $s0 -.L7F0BC8FC: -/* 0F142C 7F0BC8FC 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0F1430 7F0BC900 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0F1434 7F0BC904 00106080 */ sll $t4, $s0, 2 -/* 0F1438 7F0BC908 3C018008 */ lui $at, %hi(dword_CODE_bss_80083900) -/* 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 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) -/* 0F1458 7F0BC928 C42013F8 */ lwc1 $f0, %lo(room_data_float2)($at) -/* 0F145C 7F0BC92C 3C0D8008 */ lui $t5, %hi(ptr_bgdata_room_fileposition_list) -/* 0F1460 7F0BC930 8DADFF8C */ lw $t5, %lo(ptr_bgdata_room_fileposition_list)($t5) -/* 0F1464 7F0BC934 000E7880 */ sll $t7, $t6, 2 -/* 0F1468 7F0BC938 01EE7823 */ subu $t7, $t7, $t6 -/* 0F146C 7F0BC93C 000F78C0 */ sll $t7, $t7, 3 -/* 0F1470 7F0BC940 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 0F1474 7F0BC944 E7A00040 */ swc1 $f0, 0x40($sp) -/* 0F1478 7F0BC948 E7A00054 */ swc1 $f0, 0x54($sp) -/* 0F147C 7F0BC94C 01AF1821 */ addu $v1, $t5, $t7 -/* 0F1480 7F0BC950 C464000C */ lwc1 $f4, 0xc($v1) -/* 0F1484 7F0BC954 3C028008 */ lui $v0, %hi(pPlayer) -/* 0F1488 7F0BC958 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0F148C 7F0BC95C 46002182 */ mul.s $f6, $f4, $f0 -/* 0F1490 7F0BC960 3C088008 */ lui $t0, %hi(dword_CODE_bss_80083DB0) -/* 0F1494 7F0BC964 C4480038 */ lwc1 $f8, 0x38($v0) -/* 0F1498 7F0BC968 25083DB0 */ addiu $t0, %lo(dword_CODE_bss_80083DB0) # addiu $t0, $t0, 0x3db0 -/* 0F149C 7F0BC96C 0010C180 */ sll $t8, $s0, 6 -/* 0F14A0 7F0BC970 03082821 */ addu $a1, $t8, $t0 -/* 0F14A4 7F0BC974 27A4002C */ addiu $a0, $sp, 0x2c -/* 0F14A8 7F0BC978 46083281 */ sub.s $f10, $f6, $f8 -/* 0F14AC 7F0BC97C E7AA005C */ swc1 $f10, 0x5c($sp) -/* 0F14B0 7F0BC980 C4700010 */ lwc1 $f16, 0x10($v1) -/* 0F14B4 7F0BC984 C444003C */ lwc1 $f4, 0x3c($v0) -/* 0F14B8 7F0BC988 46008482 */ mul.s $f18, $f16, $f0 -/* 0F14BC 7F0BC98C 46049181 */ sub.s $f6, $f18, $f4 -/* 0F14C0 7F0BC990 E7A60060 */ swc1 $f6, 0x60($sp) -/* 0F14C4 7F0BC994 C4680014 */ lwc1 $f8, 0x14($v1) -/* 0F14C8 7F0BC998 C4500040 */ lwc1 $f16, 0x40($v0) -/* 0F14CC 7F0BC99C 46004282 */ mul.s $f10, $f8, $f0 -/* 0F14D0 7F0BC9A0 46105481 */ sub.s $f18, $f10, $f16 -/* 0F14D4 7F0BC9A4 0FC16327 */ jal sub_GAME_7F058C9C -/* 0F14D8 7F0BC9A8 E7B20064 */ swc1 $f18, 0x64($sp) -/* 0F14DC 7F0BC9AC 02001025 */ move $v0, $s0 -.L7F0BC9B0: -/* 0F14E0 7F0BC9B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F14E4 7F0BC9B4 8FB00018 */ lw $s0, 0x18($sp) -/* 0F14E8 7F0BC9B8 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0F14EC 7F0BC9BC 03E00008 */ jr $ra -/* 0F14F0 7F0BC9C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BC9C4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BC9C4 -/* 0F14F4 7F0BC9C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F14F8 7F0BC9C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F14FC 7F0BC9CC 00803025 */ move $a2, $a0 -/* 0F1500 7F0BC9D0 AFA60018 */ sw $a2, 0x18($sp) -/* 0F1504 7F0BC9D4 0FC2F217 */ jal sub_GAME_7F0BC85C -/* 0F1508 7F0BC9D8 00A02025 */ move $a0, $a1 -/* 0F150C 7F0BC9DC 8FA30018 */ lw $v1, 0x18($sp) -/* 0F1510 7F0BC9E0 3C188008 */ lui $t8, %hi(dword_CODE_bss_80083DB0) -/* 0F1514 7F0BC9E4 27183DB0 */ addiu $t8, %lo(dword_CODE_bss_80083DB0) # addiu $t8, $t8, 0x3db0 -/* 0F1518 7F0BC9E8 3C0E0102 */ lui $t6, (0x01020040 >> 16) # lui $t6, 0x102 -/* 0F151C 7F0BC9EC 00027980 */ sll $t7, $v0, 6 -/* 0F1520 7F0BC9F0 01F8C821 */ addu $t9, $t7, $t8 -/* 0F1524 7F0BC9F4 35CE0040 */ ori $t6, (0x01020040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 0F1528 7F0BC9F8 AC6E0000 */ sw $t6, ($v1) -/* 0F152C 7F0BC9FC AC790004 */ sw $t9, 4($v1) -/* 0F1530 7F0BCA00 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F1534 7F0BCA04 24660008 */ addiu $a2, $v1, 8 -/* 0F1538 7F0BCA08 00C01025 */ move $v0, $a2 -/* 0F153C 7F0BCA0C 03E00008 */ jr $ra -/* 0F1540 7F0BCA10 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BCA14(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BCA14 -/* 0F1544 7F0BCA14 3C0F8008 */ lui $t7, %hi(ptr_bgdata_room_fileposition_list) -/* 0F1548 7F0BCA18 8DEFFF8C */ lw $t7, %lo(ptr_bgdata_room_fileposition_list)($t7) -/* 0F154C 7F0BCA1C 00047080 */ sll $t6, $a0, 2 -/* 0F1550 7F0BCA20 01C47023 */ subu $t6, $t6, $a0 -/* 0F1554 7F0BCA24 000E70C0 */ sll $t6, $t6, 3 -/* 0F1558 7F0BCA28 01CF1021 */ addu $v0, $t6, $t7 -/* 0F155C 7F0BCA2C 03E00008 */ jr $ra -/* 0F1560 7F0BCA30 2442000C */ addiu $v0, $v0, 0xc -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BCA34(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BCA34 -/* 0F1564 7F0BCA34 3C038008 */ lui $v1, %hi(ptr_bgdata_room_fileposition_list) -/* 0F1568 7F0BCA38 2463FF8C */ addiu $v1, %lo(ptr_bgdata_room_fileposition_list) # addiu $v1, $v1, -0x74 -/* 0F156C 7F0BCA3C 8C6E0000 */ lw $t6, ($v1) -/* 0F1570 7F0BCA40 00041080 */ sll $v0, $a0, 2 -/* 0F1574 7F0BCA44 00441023 */ subu $v0, $v0, $a0 -/* 0F1578 7F0BCA48 3C068004 */ lui $a2, %hi(room_data_float2) -/* 0F157C 7F0BCA4C 000210C0 */ sll $v0, $v0, 3 -/* 0F1580 7F0BCA50 24C613F8 */ addiu $a2, %lo(room_data_float2) # addiu $a2, $a2, 0x13f8 -/* 0F1584 7F0BCA54 01C27821 */ addu $t7, $t6, $v0 -/* 0F1588 7F0BCA58 C5E4000C */ lwc1 $f4, 0xc($t7) -/* 0F158C 7F0BCA5C C4C60000 */ lwc1 $f6, ($a2) -/* 0F1590 7F0BCA60 46062202 */ mul.s $f8, $f4, $f6 -/* 0F1594 7F0BCA64 E4A80000 */ swc1 $f8, ($a1) -/* 0F1598 7F0BCA68 8C780000 */ lw $t8, ($v1) -/* 0F159C 7F0BCA6C C4D00000 */ lwc1 $f16, ($a2) -/* 0F15A0 7F0BCA70 0302C821 */ addu $t9, $t8, $v0 -/* 0F15A4 7F0BCA74 C72A0010 */ lwc1 $f10, 0x10($t9) -/* 0F15A8 7F0BCA78 46105482 */ mul.s $f18, $f10, $f16 -/* 0F15AC 7F0BCA7C E4B20004 */ swc1 $f18, 4($a1) -/* 0F15B0 7F0BCA80 8C680000 */ lw $t0, ($v1) -/* 0F15B4 7F0BCA84 C4C60000 */ lwc1 $f6, ($a2) -/* 0F15B8 7F0BCA88 01024821 */ addu $t1, $t0, $v0 -/* 0F15BC 7F0BCA8C C5240014 */ lwc1 $f4, 0x14($t1) -/* 0F15C0 7F0BCA90 46062202 */ mul.s $f8, $f4, $f6 -/* 0F15C4 7F0BCA94 03E00008 */ jr $ra -/* 0F15C8 7F0BCA98 E4A80008 */ swc1 $f8, 8($a1) -) -#endif - - diff --git a/src/game/unk_0C0A70.c b/src/game/unk_0C0A70.c deleted file mode 100644 index 2b1c671..0000000 --- a/src/game/unk_0C0A70.c +++ /dev/null @@ -1,214 +0,0 @@ -#include "ultra64.h" -#include "game/unk_0C0A70.h" - -// data -s32 D_80048490 = -1; -s32 D_80048494 = 0; -s32 D_80048498 = 1; -#ifdef VERSION_JP -f32 jpD_800484CC = 1.0f; -f32 jpD_800484D0 = 1.0f; -#endif -s32 D_8004849C = -1; -s32 D_800484A0 = 0; -s32 D_800484A4 = 0; -s32 D_800484A8 = 0; -u32 copy_of_osgetcount_value_0 = 0; -u32 copy_of_osgetcount_value_1 = 0; -s32 D_800484B4 = 1; - - - - -void store_osgetcount(void) -{ - copy_of_osgetcount_value_1 = osGetCount(); - copy_of_osgetcount_value_0 = copy_of_osgetcount_value_1; -} - - - -#ifdef NONMATCHING -void sub_GAME_7F0C0AA0(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C0AA0 -/* 0F55D0 7F0C0AA0 3C0E8005 */ lui $t6, %hi(copy_of_osgetcount_value_1) -/* 0F55D4 7F0C0AA4 8DCE84B0 */ lw $t6, %lo(copy_of_osgetcount_value_1)($t6) -/* 0F55D8 7F0C0AA8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F55DC 7F0C0AAC AFBF0014 */ sw $ra, 0x14($sp) -/* 0F55E0 7F0C0AB0 3C018005 */ lui $at, %hi(copy_of_osgetcount_value_0) -/* 0F55E4 7F0C0AB4 AFA40018 */ sw $a0, 0x18($sp) -/* 0F55E8 7F0C0AB8 0C003638 */ jal osGetCount -/* 0F55EC 7F0C0ABC AC2E84AC */ sw $t6, %lo(copy_of_osgetcount_value_0)($at) -/* 0F55F0 7F0C0AC0 3C048005 */ lui $a0, %hi(D_80048494) -/* 0F55F4 7F0C0AC4 3C018005 */ lui $at, %hi(copy_of_osgetcount_value_1) -/* 0F55F8 7F0C0AC8 AC2284B0 */ sw $v0, %lo(copy_of_osgetcount_value_1)($at) -/* 0F55FC 7F0C0ACC 24848494 */ addiu $a0, %lo(D_80048494) # addiu $a0, $a0, -0x7b6c -/* 0F5600 7F0C0AD0 8C830000 */ lw $v1, ($a0) -/* 0F5604 7F0C0AD4 8FA70018 */ lw $a3, 0x18($sp) -/* 0F5608 7F0C0AD8 3C018005 */ lui $at, %hi(D_80048490) -/* 0F560C 7F0C0ADC AC238490 */ sw $v1, %lo(D_80048490)($at) -/* 0F5610 7F0C0AE0 00677821 */ addu $t7, $v1, $a3 -/* 0F5614 7F0C0AE4 AC8F0000 */ sw $t7, ($a0) -/* 0F5618 7F0C0AE8 3C018005 */ lui $at, %hi(D_80048498) -/* 0F561C 7F0C0AEC AC278498 */ sw $a3, %lo(D_80048498)($at) -/* 0F5620 7F0C0AF0 8C830000 */ lw $v1, ($a0) -/* 0F5624 7F0C0AF4 3C058005 */ lui $a1, %hi(D_800484A0) -/* 0F5628 7F0C0AF8 24A584A0 */ addiu $a1, %lo(D_800484A0) # addiu $a1, $a1, -0x7b60 -/* 0F562C 7F0C0AFC 8CB80000 */ lw $t8, ($a1) -/* 0F5630 7F0C0B00 3C068005 */ lui $a2, %hi(D_8004849C) -/* 0F5634 7F0C0B04 24C6849C */ addiu $a2, %lo(D_8004849C) # addiu $a2, $a2, -0x7b64 -/* 0F5638 7F0C0B08 30680001 */ andi $t0, $v1, 1 -/* 0F563C 7F0C0B0C ACD80000 */ sw $t8, ($a2) -/* 0F5640 7F0C0B10 04610003 */ bgez $v1, .L7F0C0B20 -/* 0F5644 7F0C0B14 0003C843 */ sra $t9, $v1, 1 -/* 0F5648 7F0C0B18 24610001 */ addiu $at, $v1, 1 -/* 0F564C 7F0C0B1C 0001C843 */ sra $t9, $at, 1 -.L7F0C0B20: -/* 0F5650 7F0C0B20 ACB90000 */ sw $t9, ($a1) -/* 0F5654 7F0C0B24 3C018005 */ lui $at, %hi(D_800484A4) -/* 0F5658 7F0C0B28 AC2884A4 */ sw $t0, %lo(D_800484A4)($at) -/* 0F565C 7F0C0B2C 8CCA0000 */ lw $t2, ($a2) -/* 0F5660 7F0C0B30 8CA90000 */ lw $t1, ($a1) -/* 0F5664 7F0C0B34 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F5668 7F0C0B38 3C018005 */ lui $at, %hi(D_800484A8) -/* 0F566C 7F0C0B3C 012A5823 */ subu $t3, $t1, $t2 -/* 0F5670 7F0C0B40 AC2B84A8 */ sw $t3, %lo(D_800484A8)($at) -/* 0F5674 7F0C0B44 03E00008 */ jr $ra -/* 0F5678 7F0C0B48 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C0AA0 -/* 0F6280 7F0C1710 3C0E8005 */ lui $t6, %hi(copy_of_osgetcount_value_1) # $t6, 0x8005 -/* 0F6284 7F0C1714 8DCE84E8 */ lw $t6, %lo(copy_of_osgetcount_value_1)($t6) -/* 0F6288 7F0C1718 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F628C 7F0C171C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F6290 7F0C1720 3C018005 */ lui $at, %hi(copy_of_osgetcount_value_0) # $at, 0x8005 -/* 0F6294 7F0C1724 AFA40018 */ sw $a0, 0x18($sp) -/* 0F6298 7F0C1728 0C003648 */ jal osGetCount -/* 0F629C 7F0C172C AC2E84E4 */ sw $t6, %lo(copy_of_osgetcount_value_0)($at) -/* 0F62A0 7F0C1730 8FA60018 */ lw $a2, 0x18($sp) -/* 0F62A4 7F0C1734 3C048005 */ lui $a0, %hi(D_80048494) # $a0, 0x8005 -/* 0F62A8 7F0C1738 3C018005 */ lui $at, %hi(copy_of_osgetcount_value_1) # $at, 0x8005 -/* 0F62AC 7F0C173C 44862000 */ mtc1 $a2, $f4 -/* 0F62B0 7F0C1740 AC2284E8 */ sw $v0, %lo(copy_of_osgetcount_value_1)($at) -/* 0F62B4 7F0C1744 248484C4 */ addiu $a0, %lo(D_80048494) # addiu $a0, $a0, -0x7b3c -/* 0F62B8 7F0C1748 8C830000 */ lw $v1, ($a0) -/* 0F62BC 7F0C174C 468021A0 */ cvt.s.w $f6, $f4 -/* 0F62C0 7F0C1750 3C018005 */ lui $at, %hi(D_80048490) # $at, 0x8005 -/* 0F62C4 7F0C1754 AC2384C0 */ sw $v1, %lo(D_80048490)($at) -/* 0F62C8 7F0C1758 00667821 */ addu $t7, $v1, $a2 -/* 0F62CC 7F0C175C 3C078005 */ lui $a3, %hi(jpD_800484CC) # $a3, 0x8005 -/* 0F62D0 7F0C1760 AC8F0000 */ sw $t7, ($a0) -/* 0F62D4 7F0C1764 3C018005 */ lui $at, %hi(D_80048498) # $at, 0x8005 -/* 0F62D8 7F0C1768 24E784CC */ addiu $a3, %lo(jpD_800484CC) # addiu $a3, $a3, -0x7b34 -/* 0F62DC 7F0C176C AC2684C8 */ sw $a2, %lo(D_80048498)($at) -/* 0F62E0 7F0C1770 E4E60000 */ swc1 $f6, ($a3) -/* 0F62E4 7F0C1774 C4E80000 */ lwc1 $f8, ($a3) -/* 0F62E8 7F0C1778 3C018005 */ lui $at, %hi(jpD_800484D0) # $at, 0x8005 -/* 0F62EC 7F0C177C 3C058005 */ lui $a1, %hi(D_800484A0) # $a1, 0x8005 -/* 0F62F0 7F0C1780 E42884D0 */ swc1 $f8, %lo(jpD_800484D0)($at) -/* 0F62F4 7F0C1784 8C830000 */ lw $v1, ($a0) -/* 0F62F8 7F0C1788 24A584D8 */ addiu $a1, %lo(D_800484A0) # addiu $a1, $a1, -0x7b28 -/* 0F62FC 7F0C178C 8CB80000 */ lw $t8, ($a1) -/* 0F6300 7F0C1790 3C088005 */ lui $t0, %hi(D_8004849C) # $t0, 0x8005 -/* 0F6304 7F0C1794 250884D4 */ addiu $t0, %lo(D_8004849C) # addiu $t0, $t0, -0x7b2c -/* 0F6308 7F0C1798 30690001 */ andi $t1, $v1, 1 -/* 0F630C 7F0C179C AD180000 */ sw $t8, ($t0) -/* 0F6310 7F0C17A0 04610003 */ bgez $v1, .L7F0C17B0 -/* 0F6314 7F0C17A4 0003C843 */ sra $t9, $v1, 1 -/* 0F6318 7F0C17A8 24610001 */ addiu $at, $v1, 1 -/* 0F631C 7F0C17AC 0001C843 */ sra $t9, $at, 1 -.L7F0C17B0: -/* 0F6320 7F0C17B0 ACB90000 */ sw $t9, ($a1) -/* 0F6324 7F0C17B4 3C018005 */ lui $at, %hi(D_800484A4) # $at, 0x8005 -/* 0F6328 7F0C17B8 AC2984DC */ sw $t1, %lo(D_800484A4)($at) -/* 0F632C 7F0C17BC 8D0B0000 */ lw $t3, ($t0) -/* 0F6330 7F0C17C0 8CAA0000 */ lw $t2, ($a1) -/* 0F6334 7F0C17C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F6338 7F0C17C8 3C018005 */ lui $at, %hi(D_800484A8) # $at, 0x8005 -/* 0F633C 7F0C17CC 014B6023 */ subu $t4, $t2, $t3 -/* 0F6340 7F0C17D0 AC2C84E0 */ sw $t4, %lo(D_800484A8)($at) -/* 0F6344 7F0C17D4 03E00008 */ jr $ra -/* 0F6348 7F0C17D8 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0C0B4C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0C0B4C -/* 0F567C 7F0C0B4C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0F5680 7F0C0B50 AFB30020 */ sw $s3, 0x20($sp) -/* 0F5684 7F0C0B54 AFB2001C */ sw $s2, 0x1c($sp) -/* 0F5688 7F0C0B58 AFB10018 */ sw $s1, 0x18($sp) -/* 0F568C 7F0C0B5C AFB00014 */ sw $s0, 0x14($sp) -/* 0F5690 7F0C0B60 3C108005 */ lui $s0, %hi(D_800484B4) -/* 0F5694 7F0C0B64 3C118005 */ lui $s1, %hi(copy_of_osgetcount_value_1) -/* 0F5698 7F0C0B68 3C120005 */ lui $s2, (0x0005EB61 >> 16) # lui $s2, 5 -/* 0F569C 7F0C0B6C 3C13000B */ lui $s3, (0x000BD6C3 >> 16) # lui $s3, 0xb -/* 0F56A0 7F0C0B70 AFBF0024 */ sw $ra, 0x24($sp) -/* 0F56A4 7F0C0B74 3673D6C3 */ ori $s3, (0x000BD6C3 & 0xFFFF) # ori $s3, $s3, 0xd6c3 -/* 0F56A8 7F0C0B78 3652EB61 */ ori $s2, (0x0005EB61 & 0xFFFF) # ori $s2, $s2, 0xeb61 -/* 0F56AC 7F0C0B7C 263184B0 */ addiu $s1, %lo(copy_of_osgetcount_value_1) # addiu $s1, $s1, -0x7b50 -/* 0F56B0 7F0C0B80 261084B4 */ addiu $s0, %lo(D_800484B4) # addiu $s0, $s0, -0x7b4c -.L7F0C0B84: -/* 0F56B4 7F0C0B84 0C003638 */ jal osGetCount -/* 0F56B8 7F0C0B88 00000000 */ nop -/* 0F56BC 7F0C0B8C 8E2E0000 */ lw $t6, ($s1) -/* 0F56C0 7F0C0B90 8E190000 */ lw $t9, ($s0) -/* 0F56C4 7F0C0B94 004E7823 */ subu $t7, $v0, $t6 -/* 0F56C8 7F0C0B98 01F2C021 */ addu $t8, $t7, $s2 -/* 0F56CC 7F0C0B9C 0313001B */ divu $zero, $t8, $s3 -/* 0F56D0 7F0C0BA0 00002012 */ mflo $a0 -/* 0F56D4 7F0C0BA4 0099082B */ sltu $at, $a0, $t9 -/* 0F56D8 7F0C0BA8 16600002 */ bnez $s3, .L7F0C0BB4 -/* 0F56DC 7F0C0BAC 00000000 */ nop -/* 0F56E0 7F0C0BB0 0007000D */ break 7 -.L7F0C0BB4: -/* 0F56E4 7F0C0BB4 1420FFF3 */ bnez $at, .L7F0C0B84 -/* 0F56E8 7F0C0BB8 00000000 */ nop -/* 0F56EC 7F0C0BBC 24080001 */ li $t0, 1 -/* 0F56F0 7F0C0BC0 0FC302A8 */ jal sub_GAME_7F0C0AA0 -/* 0F56F4 7F0C0BC4 AE080000 */ sw $t0, ($s0) -/* 0F56F8 7F0C0BC8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0F56FC 7F0C0BCC 8FB00014 */ lw $s0, 0x14($sp) -/* 0F5700 7F0C0BD0 8FB10018 */ lw $s1, 0x18($sp) -/* 0F5704 7F0C0BD4 8FB2001C */ lw $s2, 0x1c($sp) -/* 0F5708 7F0C0BD8 8FB30020 */ lw $s3, 0x20($sp) -/* 0F570C 7F0C0BDC 03E00008 */ jr $ra -/* 0F5710 7F0C0BE0 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -void sub_GAME_7F0C0BE4(s32 arg0) { - D_800484B4 = arg0; -} - -void sub_GAME_7F0C0BF0(void) { - sub_GAME_7F0A9358(); -} - - - diff --git a/src/game/unk_0C0A70.h b/src/game/unk_0C0A70.h deleted file mode 100644 index 7361e49..0000000 --- a/src/game/unk_0C0A70.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _UNK_0C0A70_H_ -#define _UNK_0C0A70_H_ -#include "ultra64.h" - -extern s32 D_80048490; -extern s32 D_80048494; -extern s32 D_80048498; -extern s32 D_8004849C; -extern s32 D_800484A0; -extern s32 D_800484A4; -extern s32 D_800484A8; -extern u32 copy_of_osgetcount_value_0; -extern u32 copy_of_osgetcount_value_1; -extern s32 D_800484B4; - -#endif diff --git a/src/game/unk_0CC4C0.c b/src/game/unk_0CC4C0.c deleted file mode 100644 index 617d111..0000000 --- a/src/game/unk_0CC4C0.c +++ /dev/null @@ -1,3168 +0,0 @@ -#include "ultra64.h" -#include "game/lvl.h" -#include "game/image.h" -#include "game/unk_0CC4C0.h" - -// bss -//8008D140 -s32 dword_CODE_bss_8008D140; -//8008D144 -s32 dword_CODE_bss_8008D144; -//8008D148 -char dword_CODE_bss_8008D148[0x160]; -//8008D2A8 -char dword_CODE_bss_8008D2A8[0xA0]; -//8008D348 -s32 dword_CODE_bss_8008D348; - - -// data -//D:8004E760 -u16 D_8004E760[] = {0xD0, 0xD1}; -//D:8004E764 -u8 D_8004E764[] = {0x7, 0x0, 0x0, 0x0}; -//D:8004E768 -struct image_sound isnd_default = {&D_8004E760, &D_8004E764, 0x0, 0x1}; - -//D:8004E774 -u16 D_8004E774[] = {0xD0, 0xD1}; -//D:8004E778 -u8 D_8004E778[] = {0x1, 0x0, 0x0, 0x0}; -//D:8004E77C -struct image_sound isnd_stone = {&D_8004E774, &D_8004E778, 0x2, 0x1}; - -//D:8004E788 -u16 D_8004E788[] = {0x4B, 0xD9}; -//D:8004E78C -u8 D_8004E78C[] = {0x1, 0x0, 0x0, 0x0}; -//D:8004E790 -struct image_sound isnd_wood = {&D_8004E788, &D_8004E78C, 0x2, 0x1}; - -//D:8004E79C -u16 D_8004E79C[] = {0x48, 0xF0, 0xEF, 0x00}; -//D:8004E7A4 -u8 D_8004E7A4[] = {0x7, 0x0, 0x0, 0x0}; -//D:8004E7A8 -struct image_sound isnd_metal = {&D_8004E79C, &D_8004E7A4, 0x3, 0x1}; - -//D:8004E7B4 -u16 D_8004E7B4[] = {0x46, 0x00}; -//D:8004E7B8 -u8 D_8004E7B8[] = {0x4, 0x5, 0x6, 0x0}; -//D:8004E7BC -struct image_sound isnd_glass = {&D_8004E7B4, &D_8004E7B8, 0x1, 0x3}; - -//D:8004E7C8 -u16 D_8004E7C8[] = {0x4C, 0x00}; -//D:8004E7CC -u8 D_8004E7CC[] = {0, 0, 0, 0}; -//D:8004E7D0 -struct image_sound isnd_water = {&D_8004E7C8, &D_8004E7CC, 0x1, 0x0}; - -//D:8004E7DC -u16 D_8004E7DC[] = {0x4A, 0x00}; -//D:8004E7E0 -u8 D_8004E7E0[] = {0x1, 0x0, 0x0, 0x0}; -//D:8004E7E4 -struct image_sound isnd_snow = {&D_8004E7DC, &D_8004E7E0, 0x1, 0x1}; - -//D:8004E7F0 -u16 D_8004E7F0[] = {0xDC, 0xB9}; -//D:8004E7F4 -u8 D_8004E7F4[] = {0x2, 0x0, 0x0, 0x0}; -//D:8004E7F8 -struct image_sound isnd_dirt = {&D_8004E7F0, &D_8004E7F4, 0x2, 0x1}; - -//D:8004E804 -u16 D_8004E804[] = {0xE7, 0xE6, 0xE0, 0x00}; -//D:8004E80C -u8 D_8004E80C[] = {0x2, 0x0, 0x0, 0x0}; -//D:8004E810 -struct image_sound isnd_mud = {&D_8004E804, &D_8004E80C, 0x3, 0x1}; - -//D:8004E81C -u16 D_8004E81C[] = {0xD4, 0x00}; -//D:8004E820 -u8 D_8004E820[] = {0x1, 0x0, 0x0, 0x0}; -//D:8004E824 -struct image_sound isnd_tile = {&D_8004E81C, &D_8004E820, 0x1, 0x1}; - -//D:8004E830 -u16 D_8004E830[] = {0x78, 0xDD}; -//D:8004E834 -u8 D_8004E834[] = {0x1, 0x7, 0x0, 0x0}; -//D:8004E838 -struct image_sound isnd_metalobj = {&D_8004E830, &D_8004E834, 0x2, 0x2}; - -//D:8004E844 -u16 D_8004E844[] = {0x45, 0x00}; -//D:8004E848 -u8 D_8004E848[] = {0x2, 0x0, 0x0, 0x0}; -//D:8004E84C -struct image_sound isnd_chr = {&D_8004E844, &D_8004E848, 0x1, 0x1}; - -//D:8004E858 -u16 D_8004E858[] = {0x46, 0x00}; -//D:8004E85C -u8 D_8004E85C[] = {0x11, 0x12, 0x13, 0x0}; -//D:8004E860 -struct image_sound isnd_glass_xlu = {&D_8004E858, &D_8004E85C, 0x1, 0x3}; - -//D:8004E86C -u32 *D_8004E86C[] = { - &isnd_default, - &isnd_stone, - &isnd_wood, - &isnd_metal, - &isnd_glass, - &isnd_water, - &isnd_snow, - &isnd_dirt, - &isnd_mud, - &isnd_tile, - &isnd_metalobj, - &isnd_chr, - &isnd_glass_xlu, - "HIT_DEFAULT", - "HIT_STONE", - "HIT_WOOD", - "HIT_METAL", - "HIT_GLASS", - "HIT_WATER", - "HIT_SNOW", - "HIT_DIRT", - "HIT_MUD", - "HIT_TILE", - "HIT_METALOBJ", - "HIT_CHR", - "HIT_GLASS_XLU" -}; - - - -void nullsub_47(void) { - return; -} - - - - - -#ifdef NONMATCHING -void *sub_GAME_7F0CC4C8(void) { - void *temp_a0; - void *temp_v1; - void *phi_v1; - void *phi_a0; - - // Node 0 - phi_v1 = &dword_CODE_bss_8008D148; - phi_a0 = &dword_CODE_bss_8008D2A8; - // Node 1 - temp_a0 = (phi_a0 + 0x50); - phi_v1->unk2C = 0; - temp_a0->unk-3C = 0; - phi_v1->unk58 = 0; - temp_a0->unk-28 = 0; - phi_v1->unk84 = 0; - temp_a0->unk-14 = 0; - temp_v1 = (phi_v1 + 0xb0); - temp_v1->unk-B0 = 0; - temp_a0->unk-50 = 0; - phi_v1 = temp_v1; - phi_a0 = temp_a0; - if (temp_a0 != &dword_CODE_bss_8008D348) - { - goto loop_1; - } - // Node 2 - (void *)0x80090000->unk-2EC0 = -1; - return &dword_CODE_bss_8008D348; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC4C8 -/* 100FF8 7F0CC4C8 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D148) -/* 100FFC 7F0CC4CC 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008D2A8) -/* 101000 7F0CC4D0 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D348) -/* 101004 7F0CC4D4 2442D348 */ addiu $v0, %lo(dword_CODE_bss_8008D348) # addiu $v0, $v0, -0x2cb8 -/* 101008 7F0CC4D8 2484D2A8 */ addiu $a0, %lo(dword_CODE_bss_8008D2A8) # addiu $a0, $a0, -0x2d58 -/* 10100C 7F0CC4DC 2463D148 */ addiu $v1, %lo(dword_CODE_bss_8008D148) # addiu $v1, $v1, -0x2eb8 -.L7F0CC4E0: -/* 101010 7F0CC4E0 24840050 */ addiu $a0, $a0, 0x50 -/* 101014 7F0CC4E4 AC60002C */ sw $zero, 0x2c($v1) -/* 101018 7F0CC4E8 AC80FFC4 */ sw $zero, -0x3c($a0) -/* 10101C 7F0CC4EC AC600058 */ sw $zero, 0x58($v1) -/* 101020 7F0CC4F0 AC80FFD8 */ sw $zero, -0x28($a0) -/* 101024 7F0CC4F4 AC600084 */ sw $zero, 0x84($v1) -/* 101028 7F0CC4F8 AC80FFEC */ sw $zero, -0x14($a0) -/* 10102C 7F0CC4FC 246300B0 */ addiu $v1, $v1, 0xb0 -/* 101030 7F0CC500 AC60FF50 */ sw $zero, -0xb0($v1) -/* 101034 7F0CC504 1482FFF6 */ bne $a0, $v0, .L7F0CC4E0 -/* 101038 7F0CC508 AC80FFB0 */ sw $zero, -0x50($a0) -/* 10103C 7F0CC50C 240EFFFF */ li $t6, -1 -/* 101040 7F0CC510 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D140) -/* 101044 7F0CC514 03E00008 */ jr $ra -/* 101048 7F0CC518 AC2ED140 */ sw $t6, %lo(dword_CODE_bss_8008D140)($at) -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0CC51C(void *arg0, s32 arg1, void *arg2) { - s32 temp_a1; - void *temp_v1; - void *phi_v0; - void *phi_v1; - s32 phi_a1; - void *phi_v1_2; - - // Node 0 - phi_v0 = arg0; - phi_v1 = arg2; - phi_a1 = arg1; - phi_v1_2 = arg2; - if (arg1 > 0) - { - loop_1: - // Node 1 - temp_a1 = (phi_a1 + -1); - temp_v1 = (phi_v1 + 1); - temp_v1->unk-1 = (s8) *phi_v0; - phi_v0 = (phi_v0 + 1); - phi_v1 = temp_v1; - phi_a1 = temp_a1; - phi_v1_2 = temp_v1; - if (temp_a1 > 0) - { - goto loop_1; - } - } - // Node 2 - return (phi_v1_2 - arg2); -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC51C -/* 10104C 7F0CC51C 00801025 */ move $v0, $a0 -/* 101050 7F0CC520 18A00007 */ blez $a1, .L7F0CC540 -/* 101054 7F0CC524 00C01825 */ move $v1, $a2 -.L7F0CC528: -/* 101058 7F0CC528 904E0000 */ lbu $t6, ($v0) -/* 10105C 7F0CC52C 24A5FFFF */ addiu $a1, $a1, -1 -/* 101060 7F0CC530 24630001 */ addiu $v1, $v1, 1 -/* 101064 7F0CC534 24420001 */ addiu $v0, $v0, 1 -/* 101068 7F0CC538 1CA0FFFB */ bgtz $a1, .L7F0CC528 -/* 10106C 7F0CC53C A06EFFFF */ sb $t6, -1($v1) -.L7F0CC540: -/* 101070 7F0CC540 03E00008 */ jr $ra -/* 101074 7F0CC544 00661023 */ subu $v0, $v1, $a2 -) -#endif - - - - - -u32 sub_GAME_7F0CC548(s32 arg0) { - if (arg0 == dword_CODE_bss_8008D140) { - return 0; - } - dword_CODE_bss_8008D140 = arg0; - return 1; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CC574(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 argA) { - void *temp_v0; - ? phi_v1; - - // Node 0 - temp_v0 = ((arg0 * 0x2c) + &dword_CODE_bss_8008D148); - if (((((((((((*temp_v0 == 0) || (arg1 != temp_v0->unk4)) || (arg2 != temp_v0->unk8)) || (arg3 != temp_v0->unkC)) || (arg4 != temp_v0->unk10)) || (arg5 != temp_v0->unk14)) || (arg6 != temp_v0->unk18)) || (arg7 != temp_v0->unk1C)) || (arg8 != temp_v0->unk20)) || (arg9 != temp_v0->unk24)) || (argA != temp_v0->unk28)) - { - // Node 11 - *temp_v0 = 1; - temp_v0->unk4 = arg1; - temp_v0->unk8 = arg2; - temp_v0->unkC = arg3; - temp_v0->unk10 = arg4; - temp_v0->unk14 = arg5; - temp_v0->unk18 = arg6; - temp_v0->unk1C = arg7; - temp_v0->unk20 = arg8; - temp_v0->unk24 = arg9; - temp_v0->unk28 = argA; - phi_v1 = 1; - } - else - { - - } - // Node 12 - return phi_v1; -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC574 -/* 1010A4 7F0CC574 00047080 */ sll $t6, $a0, 2 -/* 1010A8 7F0CC578 01C47023 */ subu $t6, $t6, $a0 -/* 1010AC 7F0CC57C 000E7080 */ sll $t6, $t6, 2 -/* 1010B0 7F0CC580 01C47023 */ subu $t6, $t6, $a0 -/* 1010B4 7F0CC584 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008D148) -/* 1010B8 7F0CC588 25EFD148 */ addiu $t7, %lo(dword_CODE_bss_8008D148) # addiu $t7, $t7, -0x2eb8 -/* 1010BC 7F0CC58C 000E7080 */ sll $t6, $t6, 2 -/* 1010C0 7F0CC590 01CF1021 */ addu $v0, $t6, $t7 -/* 1010C4 7F0CC594 8C580000 */ lw $t8, ($v0) -/* 1010C8 7F0CC598 00001825 */ move $v1, $zero -/* 1010CC 7F0CC59C 53000027 */ beql $t8, $zero, .L7F0CC63C -/* 1010D0 7F0CC5A0 8FAF0010 */ lw $t7, 0x10($sp) -/* 1010D4 7F0CC5A4 8C590004 */ lw $t9, 4($v0) -/* 1010D8 7F0CC5A8 54B90024 */ bnel $a1, $t9, .L7F0CC63C -/* 1010DC 7F0CC5AC 8FAF0010 */ lw $t7, 0x10($sp) -/* 1010E0 7F0CC5B0 8C480008 */ lw $t0, 8($v0) -/* 1010E4 7F0CC5B4 54C80021 */ bnel $a2, $t0, .L7F0CC63C -/* 1010E8 7F0CC5B8 8FAF0010 */ lw $t7, 0x10($sp) -/* 1010EC 7F0CC5BC 8C49000C */ lw $t1, 0xc($v0) -/* 1010F0 7F0CC5C0 8FAA0010 */ lw $t2, 0x10($sp) -/* 1010F4 7F0CC5C4 54E9001D */ bnel $a3, $t1, .L7F0CC63C -/* 1010F8 7F0CC5C8 8FAF0010 */ lw $t7, 0x10($sp) -/* 1010FC 7F0CC5CC 8C4B0010 */ lw $t3, 0x10($v0) -/* 101100 7F0CC5D0 8FAC0014 */ lw $t4, 0x14($sp) -/* 101104 7F0CC5D4 554B0019 */ bnel $t2, $t3, .L7F0CC63C -/* 101108 7F0CC5D8 8FAF0010 */ lw $t7, 0x10($sp) -/* 10110C 7F0CC5DC 8C4D0014 */ lw $t5, 0x14($v0) -/* 101110 7F0CC5E0 8FAE0018 */ lw $t6, 0x18($sp) -/* 101114 7F0CC5E4 558D0015 */ bnel $t4, $t5, .L7F0CC63C -/* 101118 7F0CC5E8 8FAF0010 */ lw $t7, 0x10($sp) -/* 10111C 7F0CC5EC 8C4F0018 */ lw $t7, 0x18($v0) -/* 101120 7F0CC5F0 8FB8001C */ lw $t8, 0x1c($sp) -/* 101124 7F0CC5F4 55CF0011 */ bnel $t6, $t7, .L7F0CC63C -/* 101128 7F0CC5F8 8FAF0010 */ lw $t7, 0x10($sp) -/* 10112C 7F0CC5FC 8C59001C */ lw $t9, 0x1c($v0) -/* 101130 7F0CC600 8FA80020 */ lw $t0, 0x20($sp) -/* 101134 7F0CC604 5719000D */ bnel $t8, $t9, .L7F0CC63C -/* 101138 7F0CC608 8FAF0010 */ lw $t7, 0x10($sp) -/* 10113C 7F0CC60C 8C490020 */ lw $t1, 0x20($v0) -/* 101140 7F0CC610 8FAA0024 */ lw $t2, 0x24($sp) -/* 101144 7F0CC614 55090009 */ bnel $t0, $t1, .L7F0CC63C -/* 101148 7F0CC618 8FAF0010 */ lw $t7, 0x10($sp) -/* 10114C 7F0CC61C 8C4B0024 */ lw $t3, 0x24($v0) -/* 101150 7F0CC620 8FAC0028 */ lw $t4, 0x28($sp) -/* 101154 7F0CC624 554B0005 */ bnel $t2, $t3, .L7F0CC63C -/* 101158 7F0CC628 8FAF0010 */ lw $t7, 0x10($sp) -/* 10115C 7F0CC62C 8C4D0028 */ lw $t5, 0x28($v0) -/* 101160 7F0CC630 118D0015 */ beq $t4, $t5, .L7F0CC688 -/* 101164 7F0CC634 00000000 */ nop -/* 101168 7F0CC638 8FAF0010 */ lw $t7, 0x10($sp) -.L7F0CC63C: -/* 10116C 7F0CC63C 8FB80014 */ lw $t8, 0x14($sp) -/* 101170 7F0CC640 8FB90018 */ lw $t9, 0x18($sp) -/* 101174 7F0CC644 8FA8001C */ lw $t0, 0x1c($sp) -/* 101178 7F0CC648 8FA90020 */ lw $t1, 0x20($sp) -/* 10117C 7F0CC64C 8FAA0024 */ lw $t2, 0x24($sp) -/* 101180 7F0CC650 8FAB0028 */ lw $t3, 0x28($sp) -/* 101184 7F0CC654 240E0001 */ li $t6, 1 -/* 101188 7F0CC658 24030001 */ li $v1, 1 -/* 10118C 7F0CC65C AC4E0000 */ sw $t6, ($v0) -/* 101190 7F0CC660 AC450004 */ sw $a1, 4($v0) -/* 101194 7F0CC664 AC460008 */ sw $a2, 8($v0) -/* 101198 7F0CC668 AC47000C */ sw $a3, 0xc($v0) -/* 10119C 7F0CC66C AC4F0010 */ sw $t7, 0x10($v0) -/* 1011A0 7F0CC670 AC580014 */ sw $t8, 0x14($v0) -/* 1011A4 7F0CC674 AC590018 */ sw $t9, 0x18($v0) -/* 1011A8 7F0CC678 AC48001C */ sw $t0, 0x1c($v0) -/* 1011AC 7F0CC67C AC490020 */ sw $t1, 0x20($v0) -/* 1011B0 7F0CC680 AC4A0024 */ sw $t2, 0x24($v0) -/* 1011B4 7F0CC684 AC4B0028 */ sw $t3, 0x28($v0) -.L7F0CC688: -/* 1011B8 7F0CC688 03E00008 */ jr $ra -/* 1011BC 7F0CC68C 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CC690(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - void *temp_v0; - ? phi_v1; - - // Node 0 - temp_v0 = ((arg0 * 0x14) + &dword_CODE_bss_8008D2A8); - if (((((*temp_v0 == 0) || (arg1 != temp_v0->unk4)) || (arg2 != temp_v0->unk8)) || (arg3 != temp_v0->unkC)) || (arg4 != temp_v0->unk10)) - { - // Node 5 - *temp_v0 = 1; - temp_v0->unk4 = arg1; - temp_v0->unk8 = arg2; - temp_v0->unkC = arg3; - temp_v0->unk10 = arg4; - phi_v1 = 1; - } - else - { - - } - // Node 6 - return phi_v1; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC690 -/* 1011C0 7F0CC690 00047080 */ sll $t6, $a0, 2 -/* 1011C4 7F0CC694 01C47021 */ addu $t6, $t6, $a0 -/* 1011C8 7F0CC698 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008D2A8) -/* 1011CC 7F0CC69C 25EFD2A8 */ addiu $t7, %lo(dword_CODE_bss_8008D2A8) # addiu $t7, $t7, -0x2d58 -/* 1011D0 7F0CC6A0 000E7080 */ sll $t6, $t6, 2 -/* 1011D4 7F0CC6A4 01CF1021 */ addu $v0, $t6, $t7 -/* 1011D8 7F0CC6A8 8C580000 */ lw $t8, ($v0) -/* 1011DC 7F0CC6AC 00001825 */ move $v1, $zero -/* 1011E0 7F0CC6B0 240C0001 */ li $t4, 1 -/* 1011E4 7F0CC6B4 5300000F */ beql $t8, $zero, .L7F0CC6F4 -/* 1011E8 7F0CC6B8 8FAD0010 */ lw $t5, 0x10($sp) -/* 1011EC 7F0CC6BC 8C590004 */ lw $t9, 4($v0) -/* 1011F0 7F0CC6C0 54B9000C */ bnel $a1, $t9, .L7F0CC6F4 -/* 1011F4 7F0CC6C4 8FAD0010 */ lw $t5, 0x10($sp) -/* 1011F8 7F0CC6C8 8C480008 */ lw $t0, 8($v0) -/* 1011FC 7F0CC6CC 54C80009 */ bnel $a2, $t0, .L7F0CC6F4 -/* 101200 7F0CC6D0 8FAD0010 */ lw $t5, 0x10($sp) -/* 101204 7F0CC6D4 8C49000C */ lw $t1, 0xc($v0) -/* 101208 7F0CC6D8 8FAA0010 */ lw $t2, 0x10($sp) -/* 10120C 7F0CC6DC 54E90005 */ bnel $a3, $t1, .L7F0CC6F4 -/* 101210 7F0CC6E0 8FAD0010 */ lw $t5, 0x10($sp) -/* 101214 7F0CC6E4 8C4B0010 */ lw $t3, 0x10($v0) -/* 101218 7F0CC6E8 114B0008 */ beq $t2, $t3, .L7F0CC70C -/* 10121C 7F0CC6EC 00000000 */ nop -/* 101220 7F0CC6F0 8FAD0010 */ lw $t5, 0x10($sp) -.L7F0CC6F4: -/* 101224 7F0CC6F4 24030001 */ li $v1, 1 -/* 101228 7F0CC6F8 AC4C0000 */ sw $t4, ($v0) -/* 10122C 7F0CC6FC AC450004 */ sw $a1, 4($v0) -/* 101230 7F0CC700 AC460008 */ sw $a2, 8($v0) -/* 101234 7F0CC704 AC47000C */ sw $a3, 0xc($v0) -/* 101238 7F0CC708 AC4D0010 */ sw $t5, 0x10($v0) -.L7F0CC70C: -/* 10123C 7F0CC70C 03E00008 */ jr $ra -/* 101240 7F0CC710 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CC714(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC714 -/* 101244 7F0CC714 14A00003 */ bnez $a1, .L7F0CC724 -/* 101248 7F0CC718 90830008 */ lbu $v1, 8($a0) -/* 10124C 7F0CC71C 03E00008 */ jr $ra -/* 101250 7F0CC720 00601025 */ move $v0, $v1 - -.L7F0CC724: -/* 101254 7F0CC724 8C8E000C */ lw $t6, 0xc($a0) -/* 101258 7F0CC728 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D090) -/* 10125C 7F0CC72C 000EC080 */ sll $t8, $t6, 2 -/* 101260 7F0CC730 07010018 */ bgez $t8, .L7F0CC794 -/* 101264 7F0CC734 00000000 */ nop -/* 101268 7F0CC738 8C42D090 */ lw $v0, %lo(dword_CODE_bss_8008D090)($v0) -/* 10126C 7F0CC73C 00003025 */ move $a2, $zero -/* 101270 7F0CC740 18400012 */ blez $v0, .L7F0CC78C -/* 101274 7F0CC744 00000000 */ nop -/* 101278 7F0CC748 8C830000 */ lw $v1, ($a0) -/* 10127C 7F0CC74C 3C078009 */ lui $a3, %hi(word_CODE_bss_8008C730) -/* 101280 7F0CC750 24E7C730 */ addiu $a3, %lo(word_CODE_bss_8008C730) # addiu $a3, $a3, -0x38d0 -/* 101284 7F0CC754 0003CD02 */ srl $t9, $v1, 0x14 -/* 101288 7F0CC758 03201825 */ move $v1, $t9 -.L7F0CC75C: -/* 10128C 7F0CC75C 84E80000 */ lh $t0, ($a3) -/* 101290 7F0CC760 14680006 */ bne $v1, $t0, .L7F0CC77C -/* 101294 7F0CC764 00064900 */ sll $t1, $a2, 4 -/* 101298 7F0CC768 01255021 */ addu $t2, $t1, $a1 -/* 10129C 7F0CC76C 3C028009 */ lui $v0, %hi(word_CODE_bss_8008C730+1) -/* 1012A0 7F0CC770 004A1021 */ addu $v0, $v0, $t2 -/* 1012A4 7F0CC774 03E00008 */ jr $ra -/* 1012A8 7F0CC778 9042C731 */ lbu $v0, %lo(word_CODE_bss_8008C730+1)($v0) - -.L7F0CC77C: -/* 1012AC 7F0CC77C 24C60001 */ addiu $a2, $a2, 1 -/* 1012B0 7F0CC780 00C2082A */ slt $at, $a2, $v0 -/* 1012B4 7F0CC784 1420FFF5 */ bnez $at, .L7F0CC75C -/* 1012B8 7F0CC788 24E70010 */ addiu $a3, $a3, 0x10 -.L7F0CC78C: -/* 1012BC 7F0CC78C 03E00008 */ jr $ra -/* 1012C0 7F0CC790 24020001 */ li $v0, 1 - -.L7F0CC794: -/* 1012C4 7F0CC794 18A00016 */ blez $a1, .L7F0CC7F0 -/* 1012C8 7F0CC798 00003025 */ move $a2, $zero -/* 1012CC 7F0CC79C 30A40003 */ andi $a0, $a1, 3 -/* 1012D0 7F0CC7A0 10800008 */ beqz $a0, .L7F0CC7C4 -/* 1012D4 7F0CC7A4 00801025 */ move $v0, $a0 -.L7F0CC7A8: -/* 1012D8 7F0CC7A8 24630001 */ addiu $v1, $v1, 1 -/* 1012DC 7F0CC7AC 00035843 */ sra $t3, $v1, 1 -/* 1012E0 7F0CC7B0 24C60001 */ addiu $a2, $a2, 1 -/* 1012E4 7F0CC7B4 1446FFFC */ bne $v0, $a2, .L7F0CC7A8 -/* 1012E8 7F0CC7B8 01601825 */ move $v1, $t3 -/* 1012EC 7F0CC7BC 50C5000D */ beql $a2, $a1, .L7F0CC7F4 -/* 1012F0 7F0CC7C0 00601025 */ move $v0, $v1 -.L7F0CC7C4: -/* 1012F4 7F0CC7C4 24630001 */ addiu $v1, $v1, 1 -/* 1012F8 7F0CC7C8 00036043 */ sra $t4, $v1, 1 -/* 1012FC 7F0CC7CC 25830001 */ addiu $v1, $t4, 1 -/* 101300 7F0CC7D0 00036843 */ sra $t5, $v1, 1 -/* 101304 7F0CC7D4 25A30001 */ addiu $v1, $t5, 1 -/* 101308 7F0CC7D8 00037043 */ sra $t6, $v1, 1 -/* 10130C 7F0CC7DC 25C30001 */ addiu $v1, $t6, 1 -/* 101310 7F0CC7E0 00037843 */ sra $t7, $v1, 1 -/* 101314 7F0CC7E4 24C60004 */ addiu $a2, $a2, 4 -/* 101318 7F0CC7E8 14C5FFF6 */ bne $a2, $a1, .L7F0CC7C4 -/* 10131C 7F0CC7EC 01E01825 */ move $v1, $t7 -.L7F0CC7F0: -/* 101320 7F0CC7F0 00601025 */ move $v0, $v1 -.L7F0CC7F4: -/* 101324 7F0CC7F4 03E00008 */ jr $ra -/* 101328 7F0CC7F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CC7FC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC7FC -/* 10132C 7F0CC7FC 14A00003 */ bnez $a1, .L7F0CC80C -/* 101330 7F0CC800 90830009 */ lbu $v1, 9($a0) -/* 101334 7F0CC804 03E00008 */ jr $ra -/* 101338 7F0CC808 00601025 */ move $v0, $v1 - -.L7F0CC80C: -/* 10133C 7F0CC80C 8C8E000C */ lw $t6, 0xc($a0) -/* 101340 7F0CC810 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D090) -/* 101344 7F0CC814 000EC080 */ sll $t8, $t6, 2 -/* 101348 7F0CC818 07010018 */ bgez $t8, .L7F0CC87C -/* 10134C 7F0CC81C 00000000 */ nop -/* 101350 7F0CC820 8C42D090 */ lw $v0, %lo(dword_CODE_bss_8008D090)($v0) -/* 101354 7F0CC824 00003025 */ move $a2, $zero -/* 101358 7F0CC828 18400012 */ blez $v0, .L7F0CC874 -/* 10135C 7F0CC82C 00000000 */ nop -/* 101360 7F0CC830 8C830000 */ lw $v1, ($a0) -/* 101364 7F0CC834 3C078009 */ lui $a3, %hi(word_CODE_bss_8008C730) -/* 101368 7F0CC838 24E7C730 */ addiu $a3, %lo(word_CODE_bss_8008C730) # addiu $a3, $a3, -0x38d0 -/* 10136C 7F0CC83C 0003CD02 */ srl $t9, $v1, 0x14 -/* 101370 7F0CC840 03201825 */ move $v1, $t9 -.L7F0CC844: -/* 101374 7F0CC844 84E80000 */ lh $t0, ($a3) -/* 101378 7F0CC848 14680006 */ bne $v1, $t0, .L7F0CC864 -/* 10137C 7F0CC84C 00064900 */ sll $t1, $a2, 4 -/* 101380 7F0CC850 01255021 */ addu $t2, $t1, $a1 -/* 101384 7F0CC854 3C028009 */ lui $v0, %hi(word_CODE_bss_8008C730+8) -/* 101388 7F0CC858 004A1021 */ addu $v0, $v0, $t2 -/* 10138C 7F0CC85C 03E00008 */ jr $ra -/* 101390 7F0CC860 9042C738 */ lbu $v0, %lo(word_CODE_bss_8008C730+8)($v0) - -.L7F0CC864: -/* 101394 7F0CC864 24C60001 */ addiu $a2, $a2, 1 -/* 101398 7F0CC868 00C2082A */ slt $at, $a2, $v0 -/* 10139C 7F0CC86C 1420FFF5 */ bnez $at, .L7F0CC844 -/* 1013A0 7F0CC870 24E70010 */ addiu $a3, $a3, 0x10 -.L7F0CC874: -/* 1013A4 7F0CC874 03E00008 */ jr $ra -/* 1013A8 7F0CC878 24020001 */ li $v0, 1 - -.L7F0CC87C: -/* 1013AC 7F0CC87C 18A00016 */ blez $a1, .L7F0CC8D8 -/* 1013B0 7F0CC880 00003025 */ move $a2, $zero -/* 1013B4 7F0CC884 30A40003 */ andi $a0, $a1, 3 -/* 1013B8 7F0CC888 10800008 */ beqz $a0, .L7F0CC8AC -/* 1013BC 7F0CC88C 00801025 */ move $v0, $a0 -.L7F0CC890: -/* 1013C0 7F0CC890 24630001 */ addiu $v1, $v1, 1 -/* 1013C4 7F0CC894 00035843 */ sra $t3, $v1, 1 -/* 1013C8 7F0CC898 24C60001 */ addiu $a2, $a2, 1 -/* 1013CC 7F0CC89C 1446FFFC */ bne $v0, $a2, .L7F0CC890 -/* 1013D0 7F0CC8A0 01601825 */ move $v1, $t3 -/* 1013D4 7F0CC8A4 50C5000D */ beql $a2, $a1, .L7F0CC8DC -/* 1013D8 7F0CC8A8 00601025 */ move $v0, $v1 -.L7F0CC8AC: -/* 1013DC 7F0CC8AC 24630001 */ addiu $v1, $v1, 1 -/* 1013E0 7F0CC8B0 00036043 */ sra $t4, $v1, 1 -/* 1013E4 7F0CC8B4 25830001 */ addiu $v1, $t4, 1 -/* 1013E8 7F0CC8B8 00036843 */ sra $t5, $v1, 1 -/* 1013EC 7F0CC8BC 25A30001 */ addiu $v1, $t5, 1 -/* 1013F0 7F0CC8C0 00037043 */ sra $t6, $v1, 1 -/* 1013F4 7F0CC8C4 25C30001 */ addiu $v1, $t6, 1 -/* 1013F8 7F0CC8C8 00037843 */ sra $t7, $v1, 1 -/* 1013FC 7F0CC8CC 24C60004 */ addiu $a2, $a2, 4 -/* 101400 7F0CC8D0 14C5FFF6 */ bne $a2, $a1, .L7F0CC8AC -/* 101404 7F0CC8D4 01E01825 */ move $v1, $t7 -.L7F0CC8D8: -/* 101408 7F0CC8D8 00601025 */ move $v0, $v1 -.L7F0CC8DC: -/* 10140C 7F0CC8DC 03E00008 */ jr $ra -/* 101410 7F0CC8E0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CC8E4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC8E4 -/* 101414 7F0CC8E4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 101418 7F0CC8E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 10141C 7F0CC8EC 8C830008 */ lw $v1, 8($a0) -/* 101420 7F0CC8F0 306E0003 */ andi $t6, $v1, 3 -/* 101424 7F0CC8F4 0FC331C5 */ jal sub_GAME_7F0CC714 -/* 101428 7F0CC8F8 AFAE001C */ sw $t6, 0x1c($sp) -/* 10142C 7F0CC8FC 8FA3001C */ lw $v1, 0x1c($sp) -/* 101430 7F0CC900 24010003 */ li $at, 3 -/* 101434 7F0CC904 00402025 */ move $a0, $v0 -/* 101438 7F0CC908 14610008 */ bne $v1, $at, .L7F0CC92C -/* 10143C 7F0CC90C 8FBF0014 */ lw $ra, 0x14($sp) -/* 101440 7F0CC910 24420003 */ addiu $v0, $v0, 3 -/* 101444 7F0CC914 04410003 */ bgez $v0, .L7F0CC924 -/* 101448 7F0CC918 00027883 */ sra $t7, $v0, 2 -/* 10144C 7F0CC91C 24410003 */ addiu $at, $v0, 3 -/* 101450 7F0CC920 00017883 */ sra $t7, $at, 2 -.L7F0CC924: -/* 101454 7F0CC924 10000019 */ b .L7F0CC98C -/* 101458 7F0CC928 01E01025 */ move $v0, $t7 -.L7F0CC92C: -/* 10145C 7F0CC92C 24010002 */ li $at, 2 -/* 101460 7F0CC930 14610007 */ bne $v1, $at, .L7F0CC950 -/* 101464 7F0CC934 24820003 */ addiu $v0, $a0, 3 -/* 101468 7F0CC938 04410003 */ bgez $v0, .L7F0CC948 -/* 10146C 7F0CC93C 0002C083 */ sra $t8, $v0, 2 -/* 101470 7F0CC940 24410003 */ addiu $at, $v0, 3 -/* 101474 7F0CC944 0001C083 */ sra $t8, $at, 2 -.L7F0CC948: -/* 101478 7F0CC948 10000010 */ b .L7F0CC98C -/* 10147C 7F0CC94C 03001025 */ move $v0, $t8 -.L7F0CC950: -/* 101480 7F0CC950 24010001 */ li $at, 1 -/* 101484 7F0CC954 14610008 */ bne $v1, $at, .L7F0CC978 -/* 101488 7F0CC958 2482000F */ addiu $v0, $a0, 0xf -/* 10148C 7F0CC95C 24820007 */ addiu $v0, $a0, 7 -/* 101490 7F0CC960 04410003 */ bgez $v0, .L7F0CC970 -/* 101494 7F0CC964 0002C8C3 */ sra $t9, $v0, 3 -/* 101498 7F0CC968 24410007 */ addiu $at, $v0, 7 -/* 10149C 7F0CC96C 0001C8C3 */ sra $t9, $at, 3 -.L7F0CC970: -/* 1014A0 7F0CC970 10000006 */ b .L7F0CC98C -/* 1014A4 7F0CC974 03201025 */ move $v0, $t9 -.L7F0CC978: -/* 1014A8 7F0CC978 04410003 */ bgez $v0, .L7F0CC988 -/* 1014AC 7F0CC97C 00024103 */ sra $t0, $v0, 4 -/* 1014B0 7F0CC980 2441000F */ addiu $at, $v0, 0xf -/* 1014B4 7F0CC984 00014103 */ sra $t0, $at, 4 -.L7F0CC988: -/* 1014B8 7F0CC988 01001025 */ move $v0, $t0 -.L7F0CC98C: -/* 1014BC 7F0CC98C 03E00008 */ jr $ra -/* 1014C0 7F0CC990 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0CC994(s32 arg0, s32 arg1) { - s32 sp1C; - - // Node 0 - sp1C = sub_GAME_7F0CC7FC(); - return (sub_GAME_7F0CC8E4(arg0, arg1) * sp1C); -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC994 -/* 1014C4 7F0CC994 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 1014C8 7F0CC998 AFBF0014 */ sw $ra, 0x14($sp) -/* 1014CC 7F0CC99C AFA40020 */ sw $a0, 0x20($sp) -/* 1014D0 7F0CC9A0 0FC331FF */ jal sub_GAME_7F0CC7FC -/* 1014D4 7F0CC9A4 AFA50024 */ sw $a1, 0x24($sp) -/* 1014D8 7F0CC9A8 AFA2001C */ sw $v0, 0x1c($sp) -/* 1014DC 7F0CC9AC 8FA40020 */ lw $a0, 0x20($sp) -/* 1014E0 7F0CC9B0 0FC33239 */ jal sub_GAME_7F0CC8E4 -/* 1014E4 7F0CC9B4 8FA50024 */ lw $a1, 0x24($sp) -/* 1014E8 7F0CC9B8 8FAE001C */ lw $t6, 0x1c($sp) -/* 1014EC 7F0CC9BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 1014F0 7F0CC9C0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 1014F4 7F0CC9C4 004E0019 */ multu $v0, $t6 -/* 1014F8 7F0CC9C8 00001012 */ mflo $v0 -/* 1014FC 7F0CC9CC 03E00008 */ jr $ra -/* 101500 7F0CC9D0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0CC9D4(void *arg0, void *arg1, void *arg2) { - s32 temp_t6; - u32 temp_t7; - s32 temp_ret; - s32 temp_s0; - u32 phi_s2; - s32 phi_s0; - s32 phi_return; - - // Node 0 - temp_t6 = (arg0->unk8 & 3); - temp_t7 = ((u32) arg0->unkB >> 5); - if (temp_t7 != 0) - { - // Node 1 - phi_s2 = temp_t7; - } - else - { - // Node 2 - phi_s2 = 1U; - } - // Node 3 - *arg2 = 0; - if (temp_t6 == 3) - { - // Node 4 - *arg1 = 3; - } - else - { - // Node 5 - if (temp_t6 == 2) - { - // Node 6 - *arg1 = 2; - } - else - { - // Node 7 - if (temp_t6 == 1) - { - // Node 8 - *arg1 = 2; - } - else - { - // Node 9 - *arg1 = 2; - } - } - } - // Node 10 - phi_s0 = 0; - phi_return = 3; - if (phi_s2 > 0) - { -loop_11: - // Node 11 - temp_ret = sub_GAME_7F0CC994(arg0, phi_s0); - temp_s0 = (phi_s0 + 1); - *arg2 = (s32) (*arg2 + (temp_ret * 4)); - phi_s0 = temp_s0; - phi_return = temp_ret; - if (temp_s0 != phi_s2) - { - goto loop_11; - } - } - // Node 12 - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CC9D4 -/* 101504 7F0CC9D4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 101508 7F0CC9D8 AFBF0024 */ sw $ra, 0x24($sp) -/* 10150C 7F0CC9DC AFB30020 */ sw $s3, 0x20($sp) -/* 101510 7F0CC9E0 AFB2001C */ sw $s2, 0x1c($sp) -/* 101514 7F0CC9E4 AFB10018 */ sw $s1, 0x18($sp) -/* 101518 7F0CC9E8 AFB00014 */ sw $s0, 0x14($sp) -/* 10151C 7F0CC9EC 8C830008 */ lw $v1, 8($a0) -/* 101520 7F0CC9F0 9082000B */ lbu $v0, 0xb($a0) -/* 101524 7F0CC9F4 00C08825 */ move $s1, $a2 -/* 101528 7F0CC9F8 306E0003 */ andi $t6, $v1, 3 -/* 10152C 7F0CC9FC 00027942 */ srl $t7, $v0, 5 -/* 101530 7F0CCA00 00809825 */ move $s3, $a0 -/* 101534 7F0CCA04 11E00003 */ beqz $t7, .L7F0CCA14 -/* 101538 7F0CCA08 01C01825 */ move $v1, $t6 -/* 10153C 7F0CCA0C 10000002 */ b .L7F0CCA18 -/* 101540 7F0CCA10 01E09025 */ move $s2, $t7 -.L7F0CCA14: -/* 101544 7F0CCA14 24120001 */ li $s2, 1 -.L7F0CCA18: -/* 101548 7F0CCA18 24020003 */ li $v0, 3 -/* 10154C 7F0CCA1C 14620003 */ bne $v1, $v0, .L7F0CCA2C -/* 101550 7F0CCA20 AE200000 */ sw $zero, ($s1) -/* 101554 7F0CCA24 1000000B */ b .L7F0CCA54 -/* 101558 7F0CCA28 ACA20000 */ sw $v0, ($a1) -.L7F0CCA2C: -/* 10155C 7F0CCA2C 24020002 */ li $v0, 2 -/* 101560 7F0CCA30 14620003 */ bne $v1, $v0, .L7F0CCA40 -/* 101564 7F0CCA34 24010001 */ li $at, 1 -/* 101568 7F0CCA38 10000006 */ b .L7F0CCA54 -/* 10156C 7F0CCA3C ACA20000 */ sw $v0, ($a1) -.L7F0CCA40: -/* 101570 7F0CCA40 54610004 */ bnel $v1, $at, .L7F0CCA54 -/* 101574 7F0CCA44 ACA20000 */ sw $v0, ($a1) -/* 101578 7F0CCA48 10000002 */ b .L7F0CCA54 -/* 10157C 7F0CCA4C ACA20000 */ sw $v0, ($a1) -/* 101580 7F0CCA50 ACA20000 */ sw $v0, ($a1) -.L7F0CCA54: -/* 101584 7F0CCA54 1A40000A */ blez $s2, .L7F0CCA80 -/* 101588 7F0CCA58 00008025 */ move $s0, $zero -.L7F0CCA5C: -/* 10158C 7F0CCA5C 02602025 */ move $a0, $s3 -/* 101590 7F0CCA60 0FC33265 */ jal sub_GAME_7F0CC994 -/* 101594 7F0CCA64 02002825 */ move $a1, $s0 -/* 101598 7F0CCA68 8E380000 */ lw $t8, ($s1) -/* 10159C 7F0CCA6C 0002C880 */ sll $t9, $v0, 2 -/* 1015A0 7F0CCA70 26100001 */ addiu $s0, $s0, 1 -/* 1015A4 7F0CCA74 03194021 */ addu $t0, $t8, $t9 -/* 1015A8 7F0CCA78 1612FFF8 */ bne $s0, $s2, .L7F0CCA5C -/* 1015AC 7F0CCA7C AE280000 */ sw $t0, ($s1) -.L7F0CCA80: -/* 1015B0 7F0CCA80 8FBF0024 */ lw $ra, 0x24($sp) -/* 1015B4 7F0CCA84 8FB00014 */ lw $s0, 0x14($sp) -/* 1015B8 7F0CCA88 8FB10018 */ lw $s1, 0x18($sp) -/* 1015BC 7F0CCA8C 8FB2001C */ lw $s2, 0x1c($sp) -/* 1015C0 7F0CCA90 8FB30020 */ lw $s3, 0x20($sp) -/* 1015C4 7F0CCA94 03E00008 */ jr $ra -/* 1015C8 7F0CCA98 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0CCA9C(s32 arg0) { - s32 temp_a0; - s32 temp_t6; - s32 temp_v1; - s32 phi_a0; - s32 phi_v1; - s32 phi_v1_2; - - // Node 0 - temp_a0 = (arg0 + -1); - phi_v1_2 = 0; - if (temp_a0 > 0) - { - // Node 1 - phi_a0 = temp_a0; - phi_v1 = 0; -loop_2: - // Node 2 - temp_t6 = ((s32) phi_a0 >> 1); - temp_v1 = (phi_v1 + 1); - phi_v1_2 = temp_v1; - if (temp_t6 > 0) - { - // Node 3 - phi_a0 = temp_t6; - phi_v1 = temp_v1; - phi_v1_2 = temp_v1; - if (temp_v1 != 8) - { - goto loop_2; - } - } - } - // Node 4 - return phi_v1_2; -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CCA9C -/* 1015CC 7F0CCA9C 2484FFFF */ addiu $a0, $a0, -1 -/* 1015D0 7F0CCAA0 18800008 */ blez $a0, .L7F0CCAC4 -/* 1015D4 7F0CCAA4 00001825 */ move $v1, $zero -/* 1015D8 7F0CCAA8 24020008 */ li $v0, 8 -/* 1015DC 7F0CCAAC 00047043 */ sra $t6, $a0, 1 -.L7F0CCAB0: -/* 1015E0 7F0CCAB0 01C02025 */ move $a0, $t6 -/* 1015E4 7F0CCAB4 19C00003 */ blez $t6, .L7F0CCAC4 -/* 1015E8 7F0CCAB8 24630001 */ addiu $v1, $v1, 1 -/* 1015EC 7F0CCABC 5462FFFC */ bnel $v1, $v0, .L7F0CCAB0 -/* 1015F0 7F0CCAC0 00047043 */ sra $t6, $a0, 1 -.L7F0CCAC4: -/* 1015F4 7F0CCAC4 03E00008 */ jr $ra -/* 1015F8 7F0CCAC8 00601025 */ move $v0, $v1 -) -#endif - - - - - -u32 sub_GAME_7F0CCACC(s32 arg0) { - if (arg0 == 1) { - return 2; - } - if (arg0 == 2) { - return 1; - } - return 0; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CCAFC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CCAFC -/* 10162C 7F0CCAFC 4600610D */ trunc.w.s $f4, $f12 -/* 101630 7F0CCB00 44022000 */ mfc1 $v0, $f4 -/* 101634 7F0CCB04 00000000 */ nop -/* 101638 7F0CCB08 44823000 */ mtc1 $v0, $f6 -/* 10163C 7F0CCB0C 00401825 */ move $v1, $v0 -/* 101640 7F0CCB10 46803220 */ cvt.s.w $f8, $f6 -/* 101644 7F0CCB14 460C403C */ c.lt.s $f8, $f12 -/* 101648 7F0CCB18 00000000 */ nop -/* 10164C 7F0CCB1C 45000004 */ bc1f .L7F0CCB30 -/* 101650 7F0CCB20 00000000 */ nop -/* 101654 7F0CCB24 24430001 */ addiu $v1, $v0, 1 -/* 101658 7F0CCB28 03E00008 */ jr $ra -/* 10165C 7F0CCB2C 00601025 */ move $v0, $v1 - -.L7F0CCB30: -/* 101660 7F0CCB30 03E00008 */ jr $ra -/* 101664 7F0CCB34 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CCB38(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CCB38 -/* 101668 7F0CCB38 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 10166C 7F0CCB3C AFBF0014 */ sw $ra, 0x14($sp) -/* 101670 7F0CCB40 AFA40018 */ sw $a0, 0x18($sp) -/* 101674 7F0CCB44 0FC33239 */ jal sub_GAME_7F0CC8E4 -/* 101678 7F0CCB48 00002825 */ move $a1, $zero -/* 10167C 7F0CCB4C 8FAE0018 */ lw $t6, 0x18($sp) -/* 101680 7F0CCB50 24010003 */ li $at, 3 -/* 101684 7F0CCB54 00402025 */ move $a0, $v0 -/* 101688 7F0CCB58 8DC30008 */ lw $v1, 8($t6) -/* 10168C 7F0CCB5C 0002C080 */ sll $t8, $v0, 2 -/* 101690 7F0CCB60 306F0003 */ andi $t7, $v1, 3 -/* 101694 7F0CCB64 15E1000D */ bne $t7, $at, .L7F0CCB9C -/* 101698 7F0CCB68 01E01825 */ move $v1, $t7 -/* 10169C 7F0CCB6C 44983000 */ mtc1 $t8, $f6 -/* 1016A0 7F0CCB70 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 1016A4 7F0CCB74 44812000 */ mtc1 $at, $f4 -/* 1016A8 7F0CCB78 46803220 */ cvt.s.w $f8, $f6 -/* 1016AC 7F0CCB7C 3C014500 */ li $at, 0x45000000 # 2048.000000 -/* 1016B0 7F0CCB80 44818000 */ mtc1 $at, $f16 -/* 1016B4 7F0CCB84 46082283 */ div.s $f10, $f4, $f8 -/* 1016B8 7F0CCB88 46105302 */ mul.s $f12, $f10, $f16 -/* 1016BC 7F0CCB8C 0FC332BF */ jal sub_GAME_7F0CCAFC -/* 1016C0 7F0CCB90 00000000 */ nop -/* 1016C4 7F0CCB94 1000002B */ b .L7F0CCC44 -/* 1016C8 7F0CCB98 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0CCB9C: -/* 1016CC 7F0CCB9C 24010002 */ li $at, 2 -/* 1016D0 7F0CCBA0 1461000D */ bne $v1, $at, .L7F0CCBD8 -/* 1016D4 7F0CCBA4 0004C880 */ sll $t9, $a0, 2 -/* 1016D8 7F0CCBA8 44993000 */ mtc1 $t9, $f6 -/* 1016DC 7F0CCBAC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 1016E0 7F0CCBB0 44819000 */ mtc1 $at, $f18 -/* 1016E4 7F0CCBB4 46803120 */ cvt.s.w $f4, $f6 -/* 1016E8 7F0CCBB8 3C014500 */ li $at, 0x45000000 # 2048.000000 -/* 1016EC 7F0CCBBC 44815000 */ mtc1 $at, $f10 -/* 1016F0 7F0CCBC0 46049203 */ div.s $f8, $f18, $f4 -/* 1016F4 7F0CCBC4 460A4302 */ mul.s $f12, $f8, $f10 -/* 1016F8 7F0CCBC8 0FC332BF */ jal sub_GAME_7F0CCAFC -/* 1016FC 7F0CCBCC 00000000 */ nop -/* 101700 7F0CCBD0 1000001C */ b .L7F0CCC44 -/* 101704 7F0CCBD4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0CCBD8: -/* 101708 7F0CCBD8 24010001 */ li $at, 1 -/* 10170C 7F0CCBDC 1461000E */ bne $v1, $at, .L7F0CCC18 -/* 101710 7F0CCBE0 00044900 */ sll $t1, $a0, 4 -/* 101714 7F0CCBE4 000440C0 */ sll $t0, $a0, 3 -/* 101718 7F0CCBE8 44883000 */ mtc1 $t0, $f6 -/* 10171C 7F0CCBEC 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 101720 7F0CCBF0 44818000 */ mtc1 $at, $f16 -/* 101724 7F0CCBF4 468034A0 */ cvt.s.w $f18, $f6 -/* 101728 7F0CCBF8 3C014500 */ li $at, 0x45000000 # 2048.000000 -/* 10172C 7F0CCBFC 44814000 */ mtc1 $at, $f8 -/* 101730 7F0CCC00 46128103 */ div.s $f4, $f16, $f18 -/* 101734 7F0CCC04 46082302 */ mul.s $f12, $f4, $f8 -/* 101738 7F0CCC08 0FC332BF */ jal sub_GAME_7F0CCAFC -/* 10173C 7F0CCC0C 00000000 */ nop -/* 101740 7F0CCC10 1000000C */ b .L7F0CCC44 -/* 101744 7F0CCC14 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0CCC18: -/* 101748 7F0CCC18 44893000 */ mtc1 $t1, $f6 -/* 10174C 7F0CCC1C 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 101750 7F0CCC20 44815000 */ mtc1 $at, $f10 -/* 101754 7F0CCC24 46803420 */ cvt.s.w $f16, $f6 -/* 101758 7F0CCC28 3C014500 */ li $at, 0x45000000 # 2048.000000 -/* 10175C 7F0CCC2C 44812000 */ mtc1 $at, $f4 -/* 101760 7F0CCC30 46105483 */ div.s $f18, $f10, $f16 -/* 101764 7F0CCC34 46049302 */ mul.s $f12, $f18, $f4 -/* 101768 7F0CCC38 0FC332BF */ jal sub_GAME_7F0CCAFC -/* 10176C 7F0CCC3C 00000000 */ nop -/* 101770 7F0CCC40 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0CCC44: -/* 101774 7F0CCC44 27BD0018 */ addiu $sp, $sp, 0x18 -/* 101778 7F0CCC48 03E00008 */ jr $ra -/* 10177C 7F0CCC4C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CCC50(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CCC50 -/* 101780 7F0CCC50 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 101784 7F0CCC54 AFBF0044 */ sw $ra, 0x44($sp) -/* 101788 7F0CCC58 AFB20040 */ sw $s2, 0x40($sp) -/* 10178C 7F0CCC5C AFB1003C */ sw $s1, 0x3c($sp) -/* 101790 7F0CCC60 AFB00038 */ sw $s0, 0x38($sp) -/* 101794 7F0CCC64 AFA60098 */ sw $a2, 0x98($sp) -/* 101798 7F0CCC68 AFA7009C */ sw $a3, 0x9c($sp) -/* 10179C 7F0CCC6C 8CAE0000 */ lw $t6, ($a1) -/* 1017A0 7F0CCC70 3C198005 */ lui $t9, %hi(image_entries) -/* 1017A4 7F0CCC74 00809025 */ move $s2, $a0 -/* 1017A8 7F0CCC78 000E7D02 */ srl $t7, $t6, 0x14 -/* 1017AC 7F0CCC7C 000FC0C0 */ sll $t8, $t7, 3 -/* 1017B0 7F0CCC80 27399300 */ addiu $t9, %lo(image_entries) # addiu $t9, $t9, -0x6d00 -/* 1017B4 7F0CCC84 00A08825 */ move $s1, $a1 -/* 1017B8 7F0CCC88 03198021 */ addu $s0, $t8, $t9 -/* 1017BC 7F0CCC8C 0FC332A7 */ jal sub_GAME_7F0CCA9C -/* 1017C0 7F0CCC90 90A40008 */ lbu $a0, 8($a1) -/* 1017C4 7F0CCC94 AFA20088 */ sw $v0, 0x88($sp) -/* 1017C8 7F0CCC98 0FC332A7 */ jal sub_GAME_7F0CCA9C -/* 1017CC 7F0CCC9C 92240009 */ lbu $a0, 9($s1) -/* 1017D0 7F0CCCA0 AFA20084 */ sw $v0, 0x84($sp) -/* 1017D4 7F0CCCA4 02202025 */ move $a0, $s1 -/* 1017D8 7F0CCCA8 0FC33239 */ jal sub_GAME_7F0CC8E4 -/* 1017DC 7F0CCCAC 00002825 */ move $a1, $zero -/* 1017E0 7F0CCCB0 8FA800A4 */ lw $t0, 0xa4($sp) -/* 1017E4 7F0CCCB4 02401825 */ move $v1, $s2 -/* 1017E8 7F0CCCB8 3C01FA00 */ lui $at, 0xfa00 -/* 1017EC 7F0CCCBC 310900FF */ andi $t1, $t0, 0xff -/* 1017F0 7F0CCCC0 00095200 */ sll $t2, $t1, 8 -/* 1017F4 7F0CCCC4 01415825 */ or $t3, $t2, $at -/* 1017F8 7F0CCCC8 240CFFFF */ li $t4, -1 -/* 1017FC 7F0CCCCC AC6C0004 */ sw $t4, 4($v1) -/* 101800 7F0CCCD0 AC6B0000 */ sw $t3, ($v1) -/* 101804 7F0CCCD4 8E24000C */ lw $a0, 0xc($s1) -/* 101808 7F0CCCD8 26520008 */ addiu $s2, $s2, 8 -/* 10180C 7F0CCCDC AFA20080 */ sw $v0, 0x80($sp) -/* 101810 7F0CCCE0 00046F82 */ srl $t5, $a0, 0x1e -/* 101814 7F0CCCE4 0FC33152 */ jal sub_GAME_7F0CC548 -/* 101818 7F0CCCE8 000D2380 */ sll $a0, $t5, 0xe -/* 10181C 7F0CCCEC 1040000A */ beqz $v0, .L7F0CCD18 -/* 101820 7F0CCCF0 8FA70080 */ lw $a3, 0x80($sp) -/* 101824 7F0CCCF4 3C0FBA00 */ lui $t7, (0xBA000E02 >> 16) # lui $t7, 0xba00 -/* 101828 7F0CCCF8 35EF0E02 */ ori $t7, (0xBA000E02 & 0xFFFF) # ori $t7, $t7, 0xe02 -/* 10182C 7F0CCCFC 02401025 */ move $v0, $s2 -/* 101830 7F0CCD00 AC4F0000 */ sw $t7, ($v0) -/* 101834 7F0CCD04 8E38000C */ lw $t8, 0xc($s1) -/* 101838 7F0CCD08 26520008 */ addiu $s2, $s2, 8 -/* 10183C 7F0CCD0C 0018CF82 */ srl $t9, $t8, 0x1e -/* 101840 7F0CCD10 00194380 */ sll $t0, $t9, 0xe -/* 101844 7F0CCD14 AC480004 */ sw $t0, 4($v0) -.L7F0CCD18: -/* 101848 7F0CCD18 920C0004 */ lbu $t4, 4($s0) -/* 10184C 7F0CCD1C 8E0A0004 */ lw $t2, 4($s0) -/* 101850 7F0CCD20 8E220008 */ lw $v0, 8($s1) -/* 101854 7F0CCD24 318D000F */ andi $t5, $t4, 0xf -/* 101858 7F0CCD28 00ED0019 */ multu $a3, $t5 -/* 10185C 7F0CCD2C 000A5F02 */ srl $t3, $t2, 0x1c -/* 101860 7F0CCD30 AFA00018 */ sw $zero, 0x18($sp) -/* 101864 7F0CCD34 AFA00014 */ sw $zero, 0x14($sp) -/* 101868 7F0CCD38 8FB80088 */ lw $t8, 0x88($sp) -/* 10186C 7F0CCD3C 00022EC0 */ sll $a1, $v0, 0x1b -/* 101870 7F0CCD40 00054F42 */ srl $t1, $a1, 0x1d -/* 101874 7F0CCD44 01202825 */ move $a1, $t1 -/* 101878 7F0CCD48 8FAA0084 */ lw $t2, 0x84($sp) -/* 10187C 7F0CCD4C 00002025 */ move $a0, $zero -/* 101880 7F0CCD50 00007012 */ mflo $t6 -/* 101884 7F0CCD54 016E7821 */ addu $t7, $t3, $t6 -/* 101888 7F0CCD58 AFAF0010 */ sw $t7, 0x10($sp) -/* 10188C 7F0CCD5C 92190005 */ lbu $t9, 5($s0) -/* 101890 7F0CCD60 8FAF00A0 */ lw $t7, 0xa0($sp) -/* 101894 7F0CCD64 8FAE009C */ lw $t6, 0x9c($sp) -/* 101898 7F0CCD68 00194102 */ srl $t0, $t9, 4 -/* 10189C 7F0CCD6C 03084823 */ subu $t1, $t8, $t0 -/* 1018A0 7F0CCD70 AFA9001C */ sw $t1, 0x1c($sp) -/* 1018A4 7F0CCD74 960C0004 */ lhu $t4, 4($s0) -/* 1018A8 7F0CCD78 AFA70080 */ sw $a3, 0x80($sp) -/* 1018AC 7F0CCD7C 30460003 */ andi $a2, $v0, 3 -/* 1018B0 7F0CCD80 318D000F */ andi $t5, $t4, 0xf -/* 1018B4 7F0CCD84 014D5823 */ subu $t3, $t2, $t5 -/* 1018B8 7F0CCD88 AFAB0020 */ sw $t3, 0x20($sp) -/* 1018BC 7F0CCD8C AFAF0028 */ sw $t7, 0x28($sp) -/* 1018C0 7F0CCD90 0FC3315D */ jal sub_GAME_7F0CC574 -/* 1018C4 7F0CCD94 AFAE0024 */ sw $t6, 0x24($sp) -/* 1018C8 7F0CCD98 1040003C */ beqz $v0, .L7F0CCE8C -/* 1018CC 7F0CCD9C 8FA70080 */ lw $a3, 0x80($sp) -/* 1018D0 7F0CCDA0 8E2A0008 */ lw $t2, 8($s1) -/* 1018D4 7F0CCDA4 3C01F500 */ lui $at, 0xf500 -/* 1018D8 7F0CCDA8 30EF01FF */ andi $t7, $a3, 0x1ff -/* 1018DC 7F0CCDAC 000ACEC0 */ sll $t9, $t2, 0x1b -/* 1018E0 7F0CCDB0 314D0003 */ andi $t5, $t2, 3 -/* 1018E4 7F0CCDB4 920A0004 */ lbu $t2, 4($s0) -/* 1018E8 7F0CCDB8 000D5CC0 */ sll $t3, $t5, 0x13 -/* 1018EC 7F0CCDBC 0019C742 */ srl $t8, $t9, 0x1d -/* 1018F0 7F0CCDC0 314D000F */ andi $t5, $t2, 0xf -/* 1018F4 7F0CCDC4 00ED0019 */ multu $a3, $t5 -/* 1018F8 7F0CCDC8 33080007 */ andi $t0, $t8, 7 -/* 1018FC 7F0CCDCC 00084D40 */ sll $t1, $t0, 0x15 -/* 101900 7F0CCDD0 8E080004 */ lw $t0, 4($s0) -/* 101904 7F0CCDD4 01216025 */ or $t4, $t1, $at -/* 101908 7F0CCDD8 018B7025 */ or $t6, $t4, $t3 -/* 10190C 7F0CCDDC 000FCA40 */ sll $t9, $t7, 9 -/* 101910 7F0CCDE0 00084F02 */ srl $t1, $t0, 0x1c -/* 101914 7F0CCDE4 01D9C025 */ or $t8, $t6, $t9 -/* 101918 7F0CCDE8 02401825 */ move $v1, $s2 -/* 10191C 7F0CCDEC 00006012 */ mflo $t4 -/* 101920 7F0CCDF0 012C5821 */ addu $t3, $t1, $t4 -/* 101924 7F0CCDF4 316F01FF */ andi $t7, $t3, 0x1ff -/* 101928 7F0CCDF8 030F7025 */ or $t6, $t8, $t7 -/* 10192C 7F0CCDFC AC6E0000 */ sw $t6, ($v1) -/* 101930 7F0CCE00 AFA30054 */ sw $v1, 0x54($sp) -/* 101934 7F0CCE04 26520008 */ addiu $s2, $s2, 8 -/* 101938 7F0CCE08 0FC332B3 */ jal sub_GAME_7F0CCACC -/* 10193C 7F0CCE0C 00002025 */ move $a0, $zero -/* 101940 7F0CCE10 00002025 */ move $a0, $zero -/* 101944 7F0CCE14 0FC332B3 */ jal sub_GAME_7F0CCACC -/* 101948 7F0CCE18 AFA2004C */ sw $v0, 0x4c($sp) -/* 10194C 7F0CCE1C 8FA3004C */ lw $v1, 0x4c($sp) -/* 101950 7F0CCE20 8FAC0084 */ lw $t4, 0x84($sp) -/* 101954 7F0CCE24 96180004 */ lhu $t8, 4($s0) -/* 101958 7F0CCE28 30590003 */ andi $t9, $v0, 3 -/* 10195C 7F0CCE2C 306A0003 */ andi $t2, $v1, 3 -/* 101960 7F0CCE30 000A6C80 */ sll $t5, $t2, 0x12 -/* 101964 7F0CCE34 00194200 */ sll $t0, $t9, 8 -/* 101968 7F0CCE38 010D4825 */ or $t1, $t0, $t5 -/* 10196C 7F0CCE3C 01987823 */ subu $t7, $t4, $t8 -/* 101970 7F0CCE40 8FA800A0 */ lw $t0, 0xa0($sp) -/* 101974 7F0CCE44 31EE000F */ andi $t6, $t7, 0xf -/* 101978 7F0CCE48 920F0005 */ lbu $t7, 5($s0) -/* 10197C 7F0CCE4C 000ECB80 */ sll $t9, $t6, 0xe -/* 101980 7F0CCE50 8FB80088 */ lw $t8, 0x88($sp) -/* 101984 7F0CCE54 01395025 */ or $t2, $t1, $t9 -/* 101988 7F0CCE58 310D000F */ andi $t5, $t0, 0xf -/* 10198C 7F0CCE5C 000D5A80 */ sll $t3, $t5, 0xa -/* 101990 7F0CCE60 014B6025 */ or $t4, $t2, $t3 -/* 101994 7F0CCE64 000F7102 */ srl $t6, $t7, 4 -/* 101998 7F0CCE68 8FAA009C */ lw $t2, 0x9c($sp) -/* 10199C 7F0CCE6C 030E4823 */ subu $t1, $t8, $t6 -/* 1019A0 7F0CCE70 3139000F */ andi $t9, $t1, 0xf -/* 1019A4 7F0CCE74 8FB80054 */ lw $t8, 0x54($sp) -/* 1019A8 7F0CCE78 00194100 */ sll $t0, $t9, 4 -/* 1019AC 7F0CCE7C 01886825 */ or $t5, $t4, $t0 -/* 1019B0 7F0CCE80 314B000F */ andi $t3, $t2, 0xf -/* 1019B4 7F0CCE84 01AB7825 */ or $t7, $t5, $t3 -/* 1019B8 7F0CCE88 AF0F0004 */ sw $t7, 4($t8) -.L7F0CCE8C: -/* 1019BC 7F0CCE8C 8FA40098 */ lw $a0, 0x98($sp) -/* 1019C0 7F0CCE90 24020002 */ li $v0, 2 -/* 1019C4 7F0CCE94 00001825 */ move $v1, $zero -/* 1019C8 7F0CCE98 14820007 */ bne $a0, $v0, .L7F0CCEB8 -/* 1019CC 7F0CCE9C 00000000 */ nop -/* 1019D0 7F0CCEA0 8E2E000C */ lw $t6, 0xc($s1) -/* 1019D4 7F0CCEA4 000EC880 */ sll $t9, $t6, 2 -/* 1019D8 7F0CCEA8 07200003 */ bltz $t9, .L7F0CCEB8 -/* 1019DC 7F0CCEAC 00000000 */ nop -/* 1019E0 7F0CCEB0 10000001 */ b .L7F0CCEB8 -/* 1019E4 7F0CCEB4 00401825 */ move $v1, $v0 -.L7F0CCEB8: -/* 1019E8 7F0CCEB8 14820007 */ bne $a0, $v0, .L7F0CCED8 -/* 1019EC 7F0CCEBC 00602825 */ move $a1, $v1 -/* 1019F0 7F0CCEC0 8E2C000C */ lw $t4, 0xc($s1) -/* 1019F4 7F0CCEC4 000C5080 */ sll $t2, $t4, 2 -/* 1019F8 7F0CCEC8 05420004 */ bltzl $t2, .L7F0CCEDC -/* 1019FC 7F0CCECC 00001825 */ move $v1, $zero -/* 101A00 7F0CCED0 10000002 */ b .L7F0CCEDC -/* 101A04 7F0CCED4 00401825 */ move $v1, $v0 -.L7F0CCED8: -/* 101A08 7F0CCED8 00001825 */ move $v1, $zero -.L7F0CCEDC: -/* 101A0C 7F0CCEDC 14820007 */ bne $a0, $v0, .L7F0CCEFC -/* 101A10 7F0CCEE0 00603025 */ move $a2, $v1 -/* 101A14 7F0CCEE4 8E2D000C */ lw $t5, 0xc($s1) -/* 101A18 7F0CCEE8 000D7880 */ sll $t7, $t5, 2 -/* 101A1C 7F0CCEEC 05E20004 */ bltzl $t7, .L7F0CCF00 -/* 101A20 7F0CCEF0 00001825 */ move $v1, $zero -/* 101A24 7F0CCEF4 10000002 */ b .L7F0CCF00 -/* 101A28 7F0CCEF8 00401825 */ move $v1, $v0 -.L7F0CCEFC: -/* 101A2C 7F0CCEFC 00001825 */ move $v1, $zero -.L7F0CCF00: -/* 101A30 7F0CCF00 92380008 */ lbu $t8, 8($s1) -/* 101A34 7F0CCF04 270EFFFF */ addiu $t6, $t8, -1 -/* 101A38 7F0CCF08 000E4880 */ sll $t1, $t6, 2 -/* 101A3C 7F0CCF0C 14820007 */ bne $a0, $v0, .L7F0CCF2C -/* 101A40 7F0CCF10 00693821 */ addu $a3, $v1, $t1 -/* 101A44 7F0CCF14 8E39000C */ lw $t9, 0xc($s1) -/* 101A48 7F0CCF18 00194080 */ sll $t0, $t9, 2 -/* 101A4C 7F0CCF1C 05020004 */ bltzl $t0, .L7F0CCF30 -/* 101A50 7F0CCF20 00001825 */ move $v1, $zero -/* 101A54 7F0CCF24 10000002 */ b .L7F0CCF30 -/* 101A58 7F0CCF28 24030002 */ li $v1, 2 -.L7F0CCF2C: -/* 101A5C 7F0CCF2C 00001825 */ move $v1, $zero -.L7F0CCF30: -/* 101A60 7F0CCF30 922A0009 */ lbu $t2, 9($s1) -/* 101A64 7F0CCF34 AFA70064 */ sw $a3, 0x64($sp) -/* 101A68 7F0CCF38 AFA60068 */ sw $a2, 0x68($sp) -/* 101A6C 7F0CCF3C 254DFFFF */ addiu $t5, $t2, -1 -/* 101A70 7F0CCF40 000D5880 */ sll $t3, $t5, 2 -/* 101A74 7F0CCF44 006B8021 */ addu $s0, $v1, $t3 -/* 101A78 7F0CCF48 AFB00010 */ sw $s0, 0x10($sp) -/* 101A7C 7F0CCF4C AFA5006C */ sw $a1, 0x6c($sp) -/* 101A80 7F0CCF50 0FC331A4 */ jal sub_GAME_7F0CC690 -/* 101A84 7F0CCF54 00002025 */ move $a0, $zero -/* 101A88 7F0CCF58 8FA5006C */ lw $a1, 0x6c($sp) -/* 101A8C 7F0CCF5C 8FA60068 */ lw $a2, 0x68($sp) -/* 101A90 7F0CCF60 1040000F */ beqz $v0, .L7F0CCFA0 -/* 101A94 7F0CCF64 8FA70064 */ lw $a3, 0x64($sp) -/* 101A98 7F0CCF68 30AF0FFF */ andi $t7, $a1, 0xfff -/* 101A9C 7F0CCF6C 000FC300 */ sll $t8, $t7, 0xc -/* 101AA0 7F0CCF70 02401025 */ move $v0, $s2 -/* 101AA4 7F0CCF74 3C01F200 */ lui $at, 0xf200 -/* 101AA8 7F0CCF78 30EC0FFF */ andi $t4, $a3, 0xfff -/* 101AAC 7F0CCF7C 000C4300 */ sll $t0, $t4, 0xc -/* 101AB0 7F0CCF80 03017025 */ or $t6, $t8, $at -/* 101AB4 7F0CCF84 30C90FFF */ andi $t1, $a2, 0xfff -/* 101AB8 7F0CCF88 320A0FFF */ andi $t2, $s0, 0xfff -/* 101ABC 7F0CCF8C 010A6825 */ or $t5, $t0, $t2 -/* 101AC0 7F0CCF90 01C9C825 */ or $t9, $t6, $t1 -/* 101AC4 7F0CCF94 AC590000 */ sw $t9, ($v0) -/* 101AC8 7F0CCF98 AC4D0004 */ sw $t5, 4($v0) -/* 101ACC 7F0CCF9C 26520008 */ addiu $s2, $s2, 8 -.L7F0CCFA0: -/* 101AD0 7F0CCFA0 8FBF0044 */ lw $ra, 0x44($sp) -/* 101AD4 7F0CCFA4 02401025 */ move $v0, $s2 -/* 101AD8 7F0CCFA8 8FB20040 */ lw $s2, 0x40($sp) -/* 101ADC 7F0CCFAC 8FB00038 */ lw $s0, 0x38($sp) -/* 101AE0 7F0CCFB0 8FB1003C */ lw $s1, 0x3c($sp) -/* 101AE4 7F0CCFB4 03E00008 */ jr $ra -/* 101AE8 7F0CCFB8 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CCFBC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CCFBC -/* 101AEC 7F0CCFBC 27BDFFF8 */ addiu $sp, $sp, -8 -/* 101AF0 7F0CCFC0 AFB00004 */ sw $s0, 4($sp) -/* 101AF4 7F0CCFC4 90C2000B */ lbu $v0, 0xb($a2) -/* 101AF8 7F0CCFC8 00808025 */ move $s0, $a0 -/* 101AFC 7F0CCFCC 00001825 */ move $v1, $zero -/* 101B00 7F0CCFD0 00027142 */ srl $t6, $v0, 5 -/* 101B04 7F0CCFD4 11C00003 */ beqz $t6, .L7F0CCFE4 -/* 101B08 7F0CCFD8 00000000 */ nop -/* 101B0C 7F0CCFDC 10000001 */ b .L7F0CCFE4 -/* 101B10 7F0CCFE0 25C3FFFF */ addiu $v1, $t6, -1 -.L7F0CCFE4: -/* 101B14 7F0CCFE4 50E0001A */ beql $a3, $zero, .L7F0CD050 -/* 101B18 7F0CCFE8 8CAD0000 */ lw $t5, ($a1) -/* 101B1C 7F0CCFEC 10A0000D */ beqz $a1, .L7F0CD024 -/* 101B20 7F0CCFF0 02001025 */ move $v0, $s0 -/* 101B24 7F0CCFF4 8CA40000 */ lw $a0, ($a1) -/* 101B28 7F0CCFF8 2401C7FF */ li $at, -14337 -/* 101B2C 7F0CCFFC 0003C2C0 */ sll $t8, $v1, 0xb -/* 101B30 7F0CD000 00817824 */ and $t7, $a0, $at -/* 101B34 7F0CD004 01F81025 */ or $v0, $t7, $t8 -/* 101B38 7F0CD008 50440018 */ beql $v0, $a0, .L7F0CD06C -/* 101B3C 7F0CD00C 02001025 */ move $v0, $s0 -/* 101B40 7F0CD010 AE020000 */ sw $v0, ($s0) -/* 101B44 7F0CD014 8CB90004 */ lw $t9, 4($a1) -/* 101B48 7F0CD018 26100008 */ addiu $s0, $s0, 8 -/* 101B4C 7F0CD01C 10000012 */ b .L7F0CD068 -/* 101B50 7F0CD020 AE19FFFC */ sw $t9, -4($s0) -.L7F0CD024: -/* 101B54 7F0CD024 30680007 */ andi $t0, $v1, 7 -/* 101B58 7F0CD028 00084AC0 */ sll $t1, $t0, 0xb -/* 101B5C 7F0CD02C 3C01BB00 */ lui $at, 0xbb00 -/* 101B60 7F0CD030 01215025 */ or $t2, $t1, $at -/* 101B64 7F0CD034 354B0001 */ ori $t3, $t2, 1 -/* 101B68 7F0CD038 240CFFFF */ li $t4, -1 -/* 101B6C 7F0CD03C AC4C0004 */ sw $t4, 4($v0) -/* 101B70 7F0CD040 AC4B0000 */ sw $t3, ($v0) -/* 101B74 7F0CD044 10000008 */ b .L7F0CD068 -/* 101B78 7F0CD048 26100008 */ addiu $s0, $s0, 8 -/* 101B7C 7F0CD04C 8CAD0000 */ lw $t5, ($a1) -.L7F0CD050: -/* 101B80 7F0CD050 2401C7FF */ li $at, -14337 -/* 101B84 7F0CD054 0003C2C0 */ sll $t8, $v1, 0xb -/* 101B88 7F0CD058 01A17024 */ and $t6, $t5, $at -/* 101B8C 7F0CD05C ACAE0000 */ sw $t6, ($a1) -/* 101B90 7F0CD060 01D8C825 */ or $t9, $t6, $t8 -/* 101B94 7F0CD064 ACB90000 */ sw $t9, ($a1) -.L7F0CD068: -/* 101B98 7F0CD068 02001025 */ move $v0, $s0 -.L7F0CD06C: -/* 101B9C 7F0CD06C 8FB00004 */ lw $s0, 4($sp) -/* 101BA0 7F0CD070 03E00008 */ jr $ra -/* 101BA4 7F0CD074 27BD0008 */ addiu $sp, $sp, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void expland_c0_DL_psuedocommands(void) { - -} -#else -GLOBAL_ASM( -.text -glabel expland_c0_DL_psuedocommands -/* 101BA8 7F0CD078 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 101BAC 7F0CD07C AFB00034 */ sw $s0, 0x34($sp) -/* 101BB0 7F0CD080 00808025 */ move $s0, $a0 -/* 101BB4 7F0CD084 AFB10038 */ sw $s1, 0x38($sp) -/* 101BB8 7F0CD088 00A08825 */ move $s1, $a1 -/* 101BBC 7F0CD08C AFBF003C */ sw $ra, 0x3c($sp) -/* 101BC0 7F0CD090 AFA60098 */ sw $a2, 0x98($sp) -/* 101BC4 7F0CD094 00A02025 */ move $a0, $a1 -/* 101BC8 7F0CD098 27A5008C */ addiu $a1, $sp, 0x8c -/* 101BCC 7F0CD09C 0FC33275 */ jal sub_GAME_7F0CC9D4 -/* 101BD0 7F0CD0A0 27A60088 */ addiu $a2, $sp, 0x88 -/* 101BD4 7F0CD0A4 8E2E000C */ lw $t6, 0xc($s1) -/* 101BD8 7F0CD0A8 24040007 */ li $a0, 7 -/* 101BDC 7F0CD0AC 02001025 */ move $v0, $s0 -/* 101BE0 7F0CD0B0 000E7F82 */ srl $t7, $t6, 0x1e -/* 101BE4 7F0CD0B4 15E0004E */ bnez $t7, .L7F0CD1F0 -/* 101BE8 7F0CD0B8 3C01FD00 */ lui $at, 0xfd00 -/* 101BEC 7F0CD0BC 8E380008 */ lw $t8, 8($s1) -/* 101BF0 7F0CD0C0 8FAF008C */ lw $t7, 0x8c($sp) -/* 101BF4 7F0CD0C4 3C01FD00 */ lui $at, 0xfd00 -/* 101BF8 7F0CD0C8 0018CEC0 */ sll $t9, $t8, 0x1b -/* 101BFC 7F0CD0CC 00195F42 */ srl $t3, $t9, 0x1d -/* 101C00 7F0CD0D0 316C0007 */ andi $t4, $t3, 7 -/* 101C04 7F0CD0D4 000C6D40 */ sll $t5, $t4, 0x15 -/* 101C08 7F0CD0D8 31F80003 */ andi $t8, $t7, 3 -/* 101C0C 7F0CD0DC 0018CCC0 */ sll $t9, $t8, 0x13 -/* 101C10 7F0CD0E0 01A17025 */ or $t6, $t5, $at -/* 101C14 7F0CD0E4 01D95825 */ or $t3, $t6, $t9 -/* 101C18 7F0CD0E8 02001025 */ move $v0, $s0 -/* 101C1C 7F0CD0EC AC4B0000 */ sw $t3, ($v0) -/* 101C20 7F0CD0F0 8E2C0004 */ lw $t4, 4($s1) -/* 101C24 7F0CD0F4 26100008 */ addiu $s0, $s0, 8 -/* 101C28 7F0CD0F8 00003825 */ move $a3, $zero -/* 101C2C 7F0CD0FC AC4C0004 */ sw $t4, 4($v0) -/* 101C30 7F0CD100 8E250008 */ lw $a1, 8($s1) -/* 101C34 7F0CD104 8FB80098 */ lw $t8, 0x98($sp) -/* 101C38 7F0CD108 AFA00028 */ sw $zero, 0x28($sp) -/* 101C3C 7F0CD10C 00056EC0 */ sll $t5, $a1, 0x1b -/* 101C40 7F0CD110 000D2F42 */ srl $a1, $t5, 0x1d -/* 101C44 7F0CD114 AFA00024 */ sw $zero, 0x24($sp) -/* 101C48 7F0CD118 AFA00020 */ sw $zero, 0x20($sp) -/* 101C4C 7F0CD11C AFA0001C */ sw $zero, 0x1c($sp) -/* 101C50 7F0CD120 AFA00018 */ sw $zero, 0x18($sp) -/* 101C54 7F0CD124 AFA00014 */ sw $zero, 0x14($sp) -/* 101C58 7F0CD128 8FA6008C */ lw $a2, 0x8c($sp) -/* 101C5C 7F0CD12C 0FC3315D */ jal sub_GAME_7F0CC574 -/* 101C60 7F0CD130 AFB80010 */ sw $t8, 0x10($sp) -/* 101C64 7F0CD134 10400013 */ beqz $v0, .L7F0CD184 -/* 101C68 7F0CD138 3C0A0700 */ lui $t2, 0x700 -/* 101C6C 7F0CD13C 8E2E0008 */ lw $t6, 8($s1) -/* 101C70 7F0CD140 8FB8008C */ lw $t8, 0x8c($sp) -/* 101C74 7F0CD144 3C01F500 */ lui $at, 0xf500 -/* 101C78 7F0CD148 000ECEC0 */ sll $t9, $t6, 0x1b -/* 101C7C 7F0CD14C 00195F42 */ srl $t3, $t9, 0x1d -/* 101C80 7F0CD150 316C0007 */ andi $t4, $t3, 7 -/* 101C84 7F0CD154 000C6D40 */ sll $t5, $t4, 0x15 -/* 101C88 7F0CD158 8FAC0098 */ lw $t4, 0x98($sp) -/* 101C8C 7F0CD15C 01A17825 */ or $t7, $t5, $at -/* 101C90 7F0CD160 330E0003 */ andi $t6, $t8, 3 -/* 101C94 7F0CD164 000ECCC0 */ sll $t9, $t6, 0x13 -/* 101C98 7F0CD168 02001025 */ move $v0, $s0 -/* 101C9C 7F0CD16C 01F95825 */ or $t3, $t7, $t9 -/* 101CA0 7F0CD170 318D01FF */ andi $t5, $t4, 0x1ff -/* 101CA4 7F0CD174 016DC025 */ or $t8, $t3, $t5 -/* 101CA8 7F0CD178 AC580000 */ sw $t8, ($v0) -/* 101CAC 7F0CD17C AC4A0004 */ sw $t2, 4($v0) -/* 101CB0 7F0CD180 26100008 */ addiu $s0, $s0, 8 -.L7F0CD184: /*LoadTexture(){gDPLoadSync(); gDPLoadBlock();}*/ -/* 101CB4 7F0CD184 02001025 */ move $v0, $s0 -/* 101CB8 7F0CD188 26100008 */ addiu $s0, $s0, 8 -/* 101CBC 7F0CD18C 3C0EE600 */ lui $t6, 0xe600 -/* 101CC0 7F0CD190 AC4E0000 */ sw $t6, ($v0) -/* 101CC4 7F0CD194 AC400004 */ sw $zero, 4($v0) -/* 101CC8 7F0CD198 02002825 */ move $a1, $s0 -/* 101CCC 7F0CD19C 3C0FF300 */ lui $t7, 0xf300 -/* 101CD0 7F0CD1A0 ACAF0000 */ sw $t7, ($a1) -/* 101CD4 7F0CD1A4 8FA30088 */ lw $v1, 0x88($sp) -/* 101CD8 7F0CD1A8 26100008 */ addiu $s0, $s0, 8 -/* 101CDC 7F0CD1AC 3C0A0700 */ lui $t2, 0x700 -/* 101CE0 7F0CD1B0 2463FFFF */ addiu $v1, $v1, -1 -/* 101CE4 7F0CD1B4 286107FF */ slti $at, $v1, 0x7ff -/* 101CE8 7F0CD1B8 10200003 */ beqz $at, .L7F0CD1C8 -/* 101CEC 7F0CD1BC 02001025 */ move $v0, $s0 -/* 101CF0 7F0CD1C0 10000002 */ b .L7F0CD1CC -/* 101CF4 7F0CD1C4 00602025 */ move $a0, $v1 -.L7F0CD1C8: -/* 101CF8 7F0CD1C8 240407FF */ li $a0, 2047 -.L7F0CD1CC: -/* 101CFC 7F0CD1CC 30990FFF */ andi $t9, $a0, 0xfff -/* 101D00 7F0CD1D0 00196300 */ sll $t4, $t9, 0xc -/* 101D04 7F0CD1D4 018A5825 */ or $t3, $t4, $t2 -/* 101D08 7F0CD1D8 ACAB0004 */ sw $t3, 4($a1) -/* 101D0C 7F0CD1DC 3C0DE700 */ lui $t5, 0xe700 -/* 101D10 7F0CD1E0 AC4D0000 */ sw $t5, ($v0) -/* 101D14 7F0CD1E4 AC400004 */ sw $zero, 4($v0) -/* 101D18 7F0CD1E8 1000008B */ b .L7F0CD418 -/* 101D1C 7F0CD1EC 26100008 */ addiu $s0, $s0, 8 -.L7F0CD1F0: -/* 101D20 7F0CD1F0 8E380008 */ lw $t8, 8($s1) -/* 101D24 7F0CD1F4 8FAD008C */ lw $t5, 0x8c($sp) -/* 101D28 7F0CD1F8 26100008 */ addiu $s0, $s0, 8 -/* 101D2C 7F0CD1FC 001876C0 */ sll $t6, $t8, 0x1b -/* 101D30 7F0CD200 000E7F42 */ srl $t7, $t6, 0x1d -/* 101D34 7F0CD204 31F90007 */ andi $t9, $t7, 7 -/* 101D38 7F0CD208 00196540 */ sll $t4, $t9, 0x15 -/* 101D3C 7F0CD20C 31B80003 */ andi $t8, $t5, 3 -/* 101D40 7F0CD210 001874C0 */ sll $t6, $t8, 0x13 -/* 101D44 7F0CD214 01815825 */ or $t3, $t4, $at -/* 101D48 7F0CD218 016E7825 */ or $t7, $t3, $t6 -/* 101D4C 7F0CD21C AC4F0000 */ sw $t7, ($v0) -/* 101D50 7F0CD220 8E390004 */ lw $t9, 4($s1) -/* 101D54 7F0CD224 24040007 */ li $a0, 7 -/* 101D58 7F0CD228 00003825 */ move $a3, $zero -/* 101D5C 7F0CD22C AC590004 */ sw $t9, 4($v0) -/* 101D60 7F0CD230 8E250008 */ lw $a1, 8($s1) -/* 101D64 7F0CD234 8FB80098 */ lw $t8, 0x98($sp) -/* 101D68 7F0CD238 AFA00028 */ sw $zero, 0x28($sp) -/* 101D6C 7F0CD23C 000566C0 */ sll $t4, $a1, 0x1b -/* 101D70 7F0CD240 000C2F42 */ srl $a1, $t4, 0x1d -/* 101D74 7F0CD244 AFA00024 */ sw $zero, 0x24($sp) -/* 101D78 7F0CD248 AFA00020 */ sw $zero, 0x20($sp) -/* 101D7C 7F0CD24C AFA0001C */ sw $zero, 0x1c($sp) -/* 101D80 7F0CD250 AFA00018 */ sw $zero, 0x18($sp) -/* 101D84 7F0CD254 AFA00014 */ sw $zero, 0x14($sp) -/* 101D88 7F0CD258 8FA6008C */ lw $a2, 0x8c($sp) -/* 101D8C 7F0CD25C 0FC3315D */ jal sub_GAME_7F0CC574 -/* 101D90 7F0CD260 AFB80010 */ sw $t8, 0x10($sp) -/* 101D94 7F0CD264 10400014 */ beqz $v0, .L7F0CD2B8 -/* 101D98 7F0CD268 00003025 */ move $a2, $zero -/* 101D9C 7F0CD26C 8E2B0008 */ lw $t3, 8($s1) -/* 101DA0 7F0CD270 8FB8008C */ lw $t8, 0x8c($sp) -/* 101DA4 7F0CD274 3C01F500 */ lui $at, 0xf500 -/* 101DA8 7F0CD278 000B76C0 */ sll $t6, $t3, 0x1b -/* 101DAC 7F0CD27C 000E7F42 */ srl $t7, $t6, 0x1d -/* 101DB0 7F0CD280 31F90007 */ andi $t9, $t7, 7 -/* 101DB4 7F0CD284 00196540 */ sll $t4, $t9, 0x15 -/* 101DB8 7F0CD288 8FB90098 */ lw $t9, 0x98($sp) -/* 101DBC 7F0CD28C 01816825 */ or $t5, $t4, $at -/* 101DC0 7F0CD290 330B0003 */ andi $t3, $t8, 3 -/* 101DC4 7F0CD294 000B74C0 */ sll $t6, $t3, 0x13 -/* 101DC8 7F0CD298 02001025 */ move $v0, $s0 -/* 101DCC 7F0CD29C 01AE7825 */ or $t7, $t5, $t6 -/* 101DD0 7F0CD2A0 332C01FF */ andi $t4, $t9, 0x1ff -/* 101DD4 7F0CD2A4 3C0A0700 */ lui $t2, 0x700 -/* 101DD8 7F0CD2A8 01ECC025 */ or $t8, $t7, $t4 -/* 101DDC 7F0CD2AC AC580000 */ sw $t8, ($v0) -/* 101DE0 7F0CD2B0 AC4A0004 */ sw $t2, 4($v0) -/* 101DE4 7F0CD2B4 26100008 */ addiu $s0, $s0, 8 -.L7F0CD2B8: -/* 101DE8 7F0CD2B8 02001025 */ move $v0, $s0 -/* 101DEC 7F0CD2BC 26100008 */ addiu $s0, $s0, 8 -/* 101DF0 7F0CD2C0 3C0BE600 */ lui $t3, 0xe600 -/* 101DF4 7F0CD2C4 AC4B0000 */ sw $t3, ($v0) -/* 101DF8 7F0CD2C8 AC400004 */ sw $zero, 4($v0) -/* 101DFC 7F0CD2CC 02002825 */ move $a1, $s0 -/* 101E00 7F0CD2D0 3C0DF300 */ lui $t5, 0xf300 -/* 101E04 7F0CD2D4 ACAD0000 */ sw $t5, ($a1) -/* 101E08 7F0CD2D8 8FA30088 */ lw $v1, 0x88($sp) -/* 101E0C 7F0CD2DC 26100008 */ addiu $s0, $s0, 8 -/* 101E10 7F0CD2E0 3C0A0700 */ lui $t2, 0x700 -/* 101E14 7F0CD2E4 2463FFFF */ addiu $v1, $v1, -1 -/* 101E18 7F0CD2E8 286107FF */ slti $at, $v1, 0x7ff -/* 101E1C 7F0CD2EC 10200003 */ beqz $at, .L7F0CD2FC -/* 101E20 7F0CD2F0 02001025 */ move $v0, $s0 -/* 101E24 7F0CD2F4 10000002 */ b .L7F0CD300 -/* 101E28 7F0CD2F8 00602025 */ move $a0, $v1 -.L7F0CD2FC: -/* 101E2C 7F0CD2FC 240407FF */ li $a0, 2047 -.L7F0CD300: -/* 101E30 7F0CD300 308E0FFF */ andi $t6, $a0, 0xfff -/* 101E34 7F0CD304 000ECB00 */ sll $t9, $t6, 0xc -/* 101E38 7F0CD308 032A7825 */ or $t7, $t9, $t2 -/* 101E3C 7F0CD30C ACAF0004 */ sw $t7, 4($a1) -/* 101E40 7F0CD310 3C0CE700 */ lui $t4, 0xe700 -/* 101E44 7F0CD314 AC4C0000 */ sw $t4, ($v0) -/* 101E48 7F0CD318 AC400004 */ sw $zero, 4($v0) -/* 101E4C 7F0CD31C 9238000A */ lbu $t8, 0xa($s1) -/* 101E50 7F0CD320 8FA80088 */ lw $t0, 0x88($sp) -/* 101E54 7F0CD324 240B03FF */ li $t3, 1023 -/* 101E58 7F0CD328 01781823 */ subu $v1, $t3, $t8 -/* 101E5C 7F0CD32C 0068082B */ sltu $at, $v1, $t0 -/* 101E60 7F0CD330 10200003 */ beqz $at, .L7F0CD340 -/* 101E64 7F0CD334 26100008 */ addiu $s0, $s0, 8 -/* 101E68 7F0CD338 10000002 */ b .L7F0CD344 -/* 101E6C 7F0CD33C 00604825 */ move $t1, $v1 -.L7F0CD340: -/* 101E70 7F0CD340 00004825 */ move $t1, $zero -.L7F0CD344: -/* 101E74 7F0CD344 01094023 */ subu $t0, $t0, $t1 -/* 101E78 7F0CD348 240E0100 */ li $t6, 256 -/* 101E7C 7F0CD34C AFAE0010 */ sw $t6, 0x10($sp) -/* 101E80 7F0CD350 AFA80070 */ sw $t0, 0x70($sp) -/* 101E84 7F0CD354 24040007 */ li $a0, 7 -/* 101E88 7F0CD358 00002825 */ move $a1, $zero -/* 101E8C 7F0CD35C 24070001 */ li $a3, 1 -/* 101E90 7F0CD360 AFA00014 */ sw $zero, 0x14($sp) -/* 101E94 7F0CD364 AFA00018 */ sw $zero, 0x18($sp) -/* 101E98 7F0CD368 AFA0001C */ sw $zero, 0x1c($sp) -/* 101E9C 7F0CD36C AFA00020 */ sw $zero, 0x20($sp) -/* 101EA0 7F0CD370 AFA00024 */ sw $zero, 0x24($sp) -/* 101EA4 7F0CD374 AFA00028 */ sw $zero, 0x28($sp) -/* 101EA8 7F0CD378 0FC3315D */ jal sub_GAME_7F0CC574 -/* 101EAC 7F0CD37C AFA9006C */ sw $t1, 0x6c($sp) -/* 101EB0 7F0CD380 8FA80070 */ lw $t0, 0x70($sp) -/* 101EB4 7F0CD384 8FA9006C */ lw $t1, 0x6c($sp) -/* 101EB8 7F0CD388 10400007 */ beqz $v0, .L7F0CD3A8 -/* 101EBC 7F0CD38C 3C0A0700 */ lui $t2, 0x700 -/* 101EC0 7F0CD390 02001025 */ move $v0, $s0 -/* 101EC4 7F0CD394 3C19F500 */ lui $t9, (0xF5000300 >> 16) # lui $t9, 0xf500 -/* 101EC8 7F0CD398 37390300 */ ori $t9, (0xF5000300 & 0xFFFF) # ori $t9, $t9, 0x300 -/* 101ECC 7F0CD39C AC590000 */ sw $t9, ($v0) -/* 101ED0 7F0CD3A0 AC4A0004 */ sw $t2, 4($v0) -/* 101ED4 7F0CD3A4 26100008 */ addiu $s0, $s0, 8 -.L7F0CD3A8: -/* 101ED8 7F0CD3A8 02001025 */ move $v0, $s0 -/* 101EDC 7F0CD3AC 310B03FF */ andi $t3, $t0, 0x3ff -/* 101EE0 7F0CD3B0 000BC380 */ sll $t8, $t3, 0xe -/* 101EE4 7F0CD3B4 312403FF */ andi $a0, $t1, 0x3ff -/* 101EE8 7F0CD3B8 3C01F000 */ lui $at, 0xf000 -/* 101EEC 7F0CD3BC 26100008 */ addiu $s0, $s0, 8 -/* 101EF0 7F0CD3C0 3C0FE600 */ lui $t7, 0xe600 -/* 101EF4 7F0CD3C4 03016825 */ or $t5, $t8, $at -/* 101EF8 7F0CD3C8 00046080 */ sll $t4, $a0, 2 -/* 101EFC 7F0CD3CC AC4F0000 */ sw $t7, ($v0) -/* 101F00 7F0CD3D0 AC400004 */ sw $zero, 4($v0) -/* 101F04 7F0CD3D4 01AC7025 */ or $t6, $t5, $t4 -/* 101F08 7F0CD3D8 02001825 */ move $v1, $s0 -/* 101F0C 7F0CD3DC AC6E0000 */ sw $t6, ($v1) -/* 101F10 7F0CD3E0 9239000A */ lbu $t9, 0xa($s1) -/* 101F14 7F0CD3E4 01802025 */ move $a0, $t4 -/* 101F18 7F0CD3E8 26100008 */ addiu $s0, $s0, 8 -/* 101F1C 7F0CD3EC 03287821 */ addu $t7, $t9, $t0 -/* 101F20 7F0CD3F0 31EC03FF */ andi $t4, $t7, 0x3ff -/* 101F24 7F0CD3F4 000C5B80 */ sll $t3, $t4, 0xe -/* 101F28 7F0CD3F8 016AC025 */ or $t8, $t3, $t2 -/* 101F2C 7F0CD3FC 03046825 */ or $t5, $t8, $a0 -/* 101F30 7F0CD400 02002825 */ move $a1, $s0 -/* 101F34 7F0CD404 AC6D0004 */ sw $t5, 4($v1) -/* 101F38 7F0CD408 3C0EE700 */ lui $t6, 0xe700 -/* 101F3C 7F0CD40C ACAE0000 */ sw $t6, ($a1) -/* 101F40 7F0CD410 ACA00004 */ sw $zero, 4($a1) -/* 101F44 7F0CD414 26100008 */ addiu $s0, $s0, 8 -.L7F0CD418: -/* 101F48 7F0CD418 8FBF003C */ lw $ra, 0x3c($sp) -/* 101F4C 7F0CD41C 02001025 */ move $v0, $s0 -/* 101F50 7F0CD420 8FB00034 */ lw $s0, 0x34($sp) -/* 101F54 7F0CD424 8FB10038 */ lw $s1, 0x38($sp) -/* 101F58 7F0CD428 03E00008 */ jr $ra -/* 101F5C 7F0CD42C 27BD0090 */ addiu $sp, $sp, 0x90 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CD430(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CD430 -/* 101F60 7F0CD430 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 101F64 7F0CD434 8FAE00D0 */ lw $t6, 0xd0($sp) -/* 101F68 7F0CD438 AFBF005C */ sw $ra, 0x5c($sp) -/* 101F6C 7F0CD43C AFBE0058 */ sw $fp, 0x58($sp) -/* 101F70 7F0CD440 AFB70054 */ sw $s7, 0x54($sp) -/* 101F74 7F0CD444 AFB60050 */ sw $s6, 0x50($sp) -/* 101F78 7F0CD448 AFB5004C */ sw $s5, 0x4c($sp) -/* 101F7C 7F0CD44C AFB40048 */ sw $s4, 0x48($sp) -/* 101F80 7F0CD450 AFB30044 */ sw $s3, 0x44($sp) -/* 101F84 7F0CD454 AFB20040 */ sw $s2, 0x40($sp) -/* 101F88 7F0CD458 AFB1003C */ sw $s1, 0x3c($sp) -/* 101F8C 7F0CD45C AFB00038 */ sw $s0, 0x38($sp) -/* 101F90 7F0CD460 AFA600C0 */ sw $a2, 0xc0($sp) -/* 101F94 7F0CD464 AFA700C4 */ sw $a3, 0xc4($sp) -/* 101F98 7F0CD468 AFAE00B4 */ sw $t6, 0xb4($sp) -/* 101F9C 7F0CD46C 90A2000B */ lbu $v0, 0xb($a1) -/* 101FA0 7F0CD470 8FB000CC */ lw $s0, 0xcc($sp) -/* 101FA4 7F0CD474 00A0A825 */ move $s5, $a1 -/* 101FA8 7F0CD478 00027942 */ srl $t7, $v0, 5 -/* 101FAC 7F0CD47C 01F04021 */ addu $t0, $t7, $s0 -/* 101FB0 7F0CD480 0208082A */ slt $at, $s0, $t0 -/* 101FB4 7F0CD484 102000BC */ beqz $at, .L7F0CD778 -/* 101FB8 7F0CD488 0080B025 */ move $s6, $a0 -/* 101FBC 7F0CD48C 02109023 */ subu $s2, $s0, $s0 -/* 101FC0 7F0CD490 AFB000AC */ sw $s0, 0xac($sp) -/* 101FC4 7F0CD494 AFA80064 */ sw $t0, 0x64($sp) -.L7F0CD498: -/* 101FC8 7F0CD498 02A02025 */ move $a0, $s5 -/* 101FCC 7F0CD49C 0FC331C5 */ jal sub_GAME_7F0CC714 -/* 101FD0 7F0CD4A0 02402825 */ move $a1, $s2 -/* 101FD4 7F0CD4A4 0FC332A7 */ jal sub_GAME_7F0CCA9C -/* 101FD8 7F0CD4A8 00402025 */ move $a0, $v0 -/* 101FDC 7F0CD4AC 00409825 */ move $s3, $v0 -/* 101FE0 7F0CD4B0 02A02025 */ move $a0, $s5 -/* 101FE4 7F0CD4B4 0FC331FF */ jal sub_GAME_7F0CC7FC -/* 101FE8 7F0CD4B8 02402825 */ move $a1, $s2 -/* 101FEC 7F0CD4BC 0FC332A7 */ jal sub_GAME_7F0CCA9C -/* 101FF0 7F0CD4C0 00402025 */ move $a0, $v0 -/* 101FF4 7F0CD4C4 0040A025 */ move $s4, $v0 -/* 101FF8 7F0CD4C8 02A02025 */ move $a0, $s5 -/* 101FFC 7F0CD4CC 0FC33239 */ jal sub_GAME_7F0CC8E4 -/* 102000 7F0CD4D0 02402825 */ move $a1, $s2 -/* 102004 7F0CD4D4 00408025 */ move $s0, $v0 -/* 102008 7F0CD4D8 02A02025 */ move $a0, $s5 -/* 10200C 7F0CD4DC 0FC33265 */ jal sub_GAME_7F0CC994 -/* 102010 7F0CD4E0 02402825 */ move $a1, $s2 -/* 102014 7F0CD4E4 AFA20080 */ sw $v0, 0x80($sp) -/* 102018 7F0CD4E8 8EA3000C */ lw $v1, 0xc($s5) -/* 10201C 7F0CD4EC 0003F080 */ sll $fp, $v1, 2 -/* 102020 7F0CD4F0 00032782 */ srl $a0, $v1, 0x1e -/* 102024 7F0CD4F4 001EC7C2 */ srl $t8, $fp, 0x1f -/* 102028 7F0CD4F8 0004CB80 */ sll $t9, $a0, 0xe -/* 10202C 7F0CD4FC 0300F025 */ move $fp, $t8 -/* 102030 7F0CD500 0FC33152 */ jal sub_GAME_7F0CC548 -/* 102034 7F0CD504 03202025 */ move $a0, $t9 -/* 102038 7F0CD508 1040000A */ beqz $v0, .L7F0CD534 -/* 10203C 7F0CD50C 02003825 */ move $a3, $s0 -/* 102040 7F0CD510 3C09BA00 */ lui $t1, (0xBA000E02 >> 16) # lui $t1, 0xba00 -/* 102044 7F0CD514 35290E02 */ ori $t1, (0xBA000E02 & 0xFFFF) # ori $t1, $t1, 0xe02 -/* 102048 7F0CD518 02C01025 */ move $v0, $s6 -/* 10204C 7F0CD51C AC490000 */ sw $t1, ($v0) -/* 102050 7F0CD520 8EAA000C */ lw $t2, 0xc($s5) -/* 102054 7F0CD524 26D60008 */ addiu $s6, $s6, 8 -/* 102058 7F0CD528 000A5F82 */ srl $t3, $t2, 0x1e -/* 10205C 7F0CD52C 000B6380 */ sll $t4, $t3, 0xe -/* 102060 7F0CD530 AC4C0004 */ sw $t4, 4($v0) -.L7F0CD534: -/* 102064 7F0CD534 8EA20008 */ lw $v0, 8($s5) -/* 102068 7F0CD538 8FAE00B4 */ lw $t6, 0xb4($sp) -/* 10206C 7F0CD53C 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 102070 7F0CD540 8FB800C4 */ lw $t8, 0xc4($sp) -/* 102074 7F0CD544 00022EC0 */ sll $a1, $v0, 0x1b -/* 102078 7F0CD548 00056F42 */ srl $t5, $a1, 0x1d -/* 10207C 7F0CD54C 01A02825 */ move $a1, $t5 -/* 102080 7F0CD550 AFB20028 */ sw $s2, 0x28($sp) -/* 102084 7F0CD554 AFB20024 */ sw $s2, 0x24($sp) -/* 102088 7F0CD558 AFB40020 */ sw $s4, 0x20($sp) -/* 10208C 7F0CD55C AFB3001C */ sw $s3, 0x1c($sp) -/* 102090 7F0CD560 8FA400AC */ lw $a0, 0xac($sp) -/* 102094 7F0CD564 30460003 */ andi $a2, $v0, 3 -/* 102098 7F0CD568 AFAE0010 */ sw $t6, 0x10($sp) -/* 10209C 7F0CD56C AFAF0014 */ sw $t7, 0x14($sp) -/* 1020A0 7F0CD570 0FC3315D */ jal sub_GAME_7F0CC574 -/* 1020A4 7F0CD574 AFB80018 */ sw $t8, 0x18($sp) -/* 1020A8 7F0CD578 1040002D */ beqz $v0, .L7F0CD630 -/* 1020AC 7F0CD57C 02C08825 */ move $s1, $s6 -/* 1020B0 7F0CD580 8EAD0008 */ lw $t5, 8($s5) -/* 1020B4 7F0CD584 3C01F500 */ lui $at, 0xf500 -/* 1020B8 7F0CD588 26D60008 */ addiu $s6, $s6, 8 -/* 1020BC 7F0CD58C 000DCEC0 */ sll $t9, $t5, 0x1b -/* 1020C0 7F0CD590 00194F42 */ srl $t1, $t9, 0x1d -/* 1020C4 7F0CD594 312A0007 */ andi $t2, $t1, 7 -/* 1020C8 7F0CD598 000A5D40 */ sll $t3, $t2, 0x15 -/* 1020CC 7F0CD59C 01616025 */ or $t4, $t3, $at -/* 1020D0 7F0CD5A0 8FAB00B4 */ lw $t3, 0xb4($sp) -/* 1020D4 7F0CD5A4 31AE0003 */ andi $t6, $t5, 3 -/* 1020D8 7F0CD5A8 000E7CC0 */ sll $t7, $t6, 0x13 -/* 1020DC 7F0CD5AC 321901FF */ andi $t9, $s0, 0x1ff -/* 1020E0 7F0CD5B0 00194A40 */ sll $t1, $t9, 9 -/* 1020E4 7F0CD5B4 018FC025 */ or $t8, $t4, $t7 -/* 1020E8 7F0CD5B8 03095025 */ or $t2, $t8, $t1 -/* 1020EC 7F0CD5BC 316D01FF */ andi $t5, $t3, 0x1ff -/* 1020F0 7F0CD5C0 014D7025 */ or $t6, $t2, $t5 -/* 1020F4 7F0CD5C4 AE2E0000 */ sw $t6, ($s1) -/* 1020F8 7F0CD5C8 0FC332B3 */ jal sub_GAME_7F0CCACC -/* 1020FC 7F0CD5CC 8FA400C4 */ lw $a0, 0xc4($sp) -/* 102100 7F0CD5D0 00408025 */ move $s0, $v0 -/* 102104 7F0CD5D4 0FC332B3 */ jal sub_GAME_7F0CCACC -/* 102108 7F0CD5D8 8FA400C0 */ lw $a0, 0xc0($sp) -/* 10210C 7F0CD5DC 8FB900AC */ lw $t9, 0xac($sp) -/* 102110 7F0CD5E0 304C0003 */ andi $t4, $v0, 3 -/* 102114 7F0CD5E4 000C7A00 */ sll $t7, $t4, 8 -/* 102118 7F0CD5E8 33380007 */ andi $t8, $t9, 7 -/* 10211C 7F0CD5EC 00184E00 */ sll $t1, $t8, 0x18 -/* 102120 7F0CD5F0 01E95825 */ or $t3, $t7, $t1 -/* 102124 7F0CD5F4 320A0003 */ andi $t2, $s0, 3 -/* 102128 7F0CD5F8 000A6C80 */ sll $t5, $t2, 0x12 -/* 10212C 7F0CD5FC 016D7025 */ or $t6, $t3, $t5 -/* 102130 7F0CD600 328C000F */ andi $t4, $s4, 0xf -/* 102134 7F0CD604 000CCB80 */ sll $t9, $t4, 0xe -/* 102138 7F0CD608 324F000F */ andi $t7, $s2, 0xf -/* 10213C 7F0CD60C 000F4A80 */ sll $t1, $t7, 0xa -/* 102140 7F0CD610 01D9C025 */ or $t8, $t6, $t9 -/* 102144 7F0CD614 326B000F */ andi $t3, $s3, 0xf -/* 102148 7F0CD618 000B6900 */ sll $t5, $t3, 4 -/* 10214C 7F0CD61C 03095025 */ or $t2, $t8, $t1 -/* 102150 7F0CD620 014D6025 */ or $t4, $t2, $t5 -/* 102154 7F0CD624 324E000F */ andi $t6, $s2, 0xf -/* 102158 7F0CD628 018EC825 */ or $t9, $t4, $t6 -/* 10215C 7F0CD62C AE390004 */ sw $t9, 4($s1) -.L7F0CD630: -/* 102160 7F0CD630 8FA200C8 */ lw $v0, 0xc8($sp) -/* 102164 7F0CD634 24030002 */ li $v1, 2 -/* 102168 7F0CD638 02A02025 */ move $a0, $s5 -/* 10216C 7F0CD63C 14430005 */ bne $v0, $v1, .L7F0CD654 -/* 102170 7F0CD640 02402825 */ move $a1, $s2 -/* 102174 7F0CD644 57C00004 */ bnezl $fp, .L7F0CD658 -/* 102178 7F0CD648 00008025 */ move $s0, $zero -/* 10217C 7F0CD64C 10000002 */ b .L7F0CD658 -/* 102180 7F0CD650 00608025 */ move $s0, $v1 -.L7F0CD654: -/* 102184 7F0CD654 00008025 */ move $s0, $zero -.L7F0CD658: -/* 102188 7F0CD658 14430005 */ bne $v0, $v1, .L7F0CD670 -/* 10218C 7F0CD65C AFB00090 */ sw $s0, 0x90($sp) -/* 102190 7F0CD660 57C00004 */ bnezl $fp, .L7F0CD674 -/* 102194 7F0CD664 00008025 */ move $s0, $zero -/* 102198 7F0CD668 10000002 */ b .L7F0CD674 -/* 10219C 7F0CD66C 00608025 */ move $s0, $v1 -.L7F0CD670: -/* 1021A0 7F0CD670 00008025 */ move $s0, $zero -.L7F0CD674: -/* 1021A4 7F0CD674 0FC331C5 */ jal sub_GAME_7F0CC714 -/* 1021A8 7F0CD678 0200B825 */ move $s7, $s0 -/* 1021AC 7F0CD67C 8FAF00C8 */ lw $t7, 0xc8($sp) -/* 1021B0 7F0CD680 00409825 */ move $s3, $v0 -/* 1021B4 7F0CD684 24010002 */ li $at, 2 -/* 1021B8 7F0CD688 15E10005 */ bne $t7, $at, .L7F0CD6A0 -/* 1021BC 7F0CD68C 2678FFFF */ addiu $t8, $s3, -1 -/* 1021C0 7F0CD690 57C00004 */ bnezl $fp, .L7F0CD6A4 -/* 1021C4 7F0CD694 00008025 */ move $s0, $zero -/* 1021C8 7F0CD698 10000002 */ b .L7F0CD6A4 -/* 1021CC 7F0CD69C 24100002 */ li $s0, 2 -.L7F0CD6A0: -/* 1021D0 7F0CD6A0 00008025 */ move $s0, $zero -.L7F0CD6A4: -/* 1021D4 7F0CD6A4 00184880 */ sll $t1, $t8, 2 -/* 1021D8 7F0CD6A8 0209A021 */ addu $s4, $s0, $t1 -/* 1021DC 7F0CD6AC 02A02025 */ move $a0, $s5 -/* 1021E0 7F0CD6B0 0FC331FF */ jal sub_GAME_7F0CC7FC -/* 1021E4 7F0CD6B4 02402825 */ move $a1, $s2 -/* 1021E8 7F0CD6B8 8FAB00C8 */ lw $t3, 0xc8($sp) -/* 1021EC 7F0CD6BC 24010002 */ li $at, 2 -/* 1021F0 7F0CD6C0 00409825 */ move $s3, $v0 -/* 1021F4 7F0CD6C4 15610005 */ bne $t3, $at, .L7F0CD6DC -/* 1021F8 7F0CD6C8 8FA400AC */ lw $a0, 0xac($sp) -/* 1021FC 7F0CD6CC 57C00004 */ bnezl $fp, .L7F0CD6E0 -/* 102200 7F0CD6D0 00008025 */ move $s0, $zero -/* 102204 7F0CD6D4 10000002 */ b .L7F0CD6E0 -/* 102208 7F0CD6D8 24100002 */ li $s0, 2 -.L7F0CD6DC: -/* 10220C 7F0CD6DC 00008025 */ move $s0, $zero -.L7F0CD6E0: -/* 102210 7F0CD6E0 266AFFFF */ addiu $t2, $s3, -1 -/* 102214 7F0CD6E4 000A6880 */ sll $t5, $t2, 2 -/* 102218 7F0CD6E8 020D8821 */ addu $s1, $s0, $t5 -/* 10221C 7F0CD6EC AFB10010 */ sw $s1, 0x10($sp) -/* 102220 7F0CD6F0 8FA50090 */ lw $a1, 0x90($sp) -/* 102224 7F0CD6F4 02E03025 */ move $a2, $s7 -/* 102228 7F0CD6F8 0FC331A4 */ jal sub_GAME_7F0CC690 -/* 10222C 7F0CD6FC 02803825 */ move $a3, $s4 -/* 102230 7F0CD700 10400014 */ beqz $v0, .L7F0CD754 -/* 102234 7F0CD704 26520001 */ addiu $s2, $s2, 1 -/* 102238 7F0CD708 8FAC0090 */ lw $t4, 0x90($sp) -/* 10223C 7F0CD70C 3C01F200 */ lui $at, 0xf200 -/* 102240 7F0CD710 32F80FFF */ andi $t8, $s7, 0xfff -/* 102244 7F0CD714 318E0FFF */ andi $t6, $t4, 0xfff -/* 102248 7F0CD718 000ECB00 */ sll $t9, $t6, 0xc -/* 10224C 7F0CD71C 03217825 */ or $t7, $t9, $at -/* 102250 7F0CD720 01F84825 */ or $t1, $t7, $t8 -/* 102254 7F0CD724 02C01025 */ move $v0, $s6 -/* 102258 7F0CD728 AC490000 */ sw $t1, ($v0) -/* 10225C 7F0CD72C 8FAB00AC */ lw $t3, 0xac($sp) -/* 102260 7F0CD730 328C0FFF */ andi $t4, $s4, 0xfff -/* 102264 7F0CD734 000C7300 */ sll $t6, $t4, 0xc -/* 102268 7F0CD738 316A0007 */ andi $t2, $t3, 7 -/* 10226C 7F0CD73C 000A6E00 */ sll $t5, $t2, 0x18 -/* 102270 7F0CD740 01AEC825 */ or $t9, $t5, $t6 -/* 102274 7F0CD744 322F0FFF */ andi $t7, $s1, 0xfff -/* 102278 7F0CD748 032FC025 */ or $t8, $t9, $t7 -/* 10227C 7F0CD74C AC580004 */ sw $t8, 4($v0) -/* 102280 7F0CD750 26D60008 */ addiu $s6, $s6, 8 -.L7F0CD754: -/* 102284 7F0CD754 8FAC00AC */ lw $t4, 0xac($sp) -/* 102288 7F0CD758 8FA900B4 */ lw $t1, 0xb4($sp) -/* 10228C 7F0CD75C 8FAB0080 */ lw $t3, 0x80($sp) -/* 102290 7F0CD760 8FAE0064 */ lw $t6, 0x64($sp) -/* 102294 7F0CD764 258D0001 */ addiu $t5, $t4, 1 -/* 102298 7F0CD768 012B5021 */ addu $t2, $t1, $t3 -/* 10229C 7F0CD76C AFAD00AC */ sw $t5, 0xac($sp) -/* 1022A0 7F0CD770 15AEFF49 */ bne $t5, $t6, .L7F0CD498 -/* 1022A4 7F0CD774 AFAA00B4 */ sw $t2, 0xb4($sp) -.L7F0CD778: -/* 1022A8 7F0CD778 8FBF005C */ lw $ra, 0x5c($sp) -/* 1022AC 7F0CD77C 02C01025 */ move $v0, $s6 -/* 1022B0 7F0CD780 8FB60050 */ lw $s6, 0x50($sp) -/* 1022B4 7F0CD784 8FB00038 */ lw $s0, 0x38($sp) -/* 1022B8 7F0CD788 8FB1003C */ lw $s1, 0x3c($sp) -/* 1022BC 7F0CD78C 8FB20040 */ lw $s2, 0x40($sp) -/* 1022C0 7F0CD790 8FB30044 */ lw $s3, 0x44($sp) -/* 1022C4 7F0CD794 8FB40048 */ lw $s4, 0x48($sp) -/* 1022C8 7F0CD798 8FB5004C */ lw $s5, 0x4c($sp) -/* 1022CC 7F0CD79C 8FB70054 */ lw $s7, 0x54($sp) -/* 1022D0 7F0CD7A0 8FBE0058 */ lw $fp, 0x58($sp) -/* 1022D4 7F0CD7A4 03E00008 */ jr $ra -/* 1022D8 7F0CD7A8 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CD7AC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CD7AC -/* 1022DC 7F0CD7AC 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 1022E0 7F0CD7B0 AFB00034 */ sw $s0, 0x34($sp) -/* 1022E4 7F0CD7B4 00808025 */ move $s0, $a0 -/* 1022E8 7F0CD7B8 AFBF003C */ sw $ra, 0x3c($sp) -/* 1022EC 7F0CD7BC AFB10038 */ sw $s1, 0x38($sp) -/* 1022F0 7F0CD7C0 00A08825 */ move $s1, $a1 -/* 1022F4 7F0CD7C4 0FC332CE */ jal sub_GAME_7F0CCB38 -/* 1022F8 7F0CD7C8 00A02025 */ move $a0, $a1 -/* 1022FC 7F0CD7CC AFA2008C */ sw $v0, 0x8c($sp) -/* 102300 7F0CD7D0 02202025 */ move $a0, $s1 -/* 102304 7F0CD7D4 27A50094 */ addiu $a1, $sp, 0x94 -/* 102308 7F0CD7D8 0FC33275 */ jal sub_GAME_7F0CC9D4 -/* 10230C 7F0CD7DC 27A60090 */ addiu $a2, $sp, 0x90 -/* 102310 7F0CD7E0 8E2E000C */ lw $t6, 0xc($s1) -/* 102314 7F0CD7E4 24040007 */ li $a0, 7 -/* 102318 7F0CD7E8 02001025 */ move $v0, $s0 -/* 10231C 7F0CD7EC 000E7F82 */ srl $t7, $t6, 0x1e -/* 102320 7F0CD7F0 15E0004D */ bnez $t7, .L7F0CD928 -/* 102324 7F0CD7F4 3C01FD00 */ lui $at, 0xfd00 -/* 102328 7F0CD7F8 8E380008 */ lw $t8, 8($s1) -/* 10232C 7F0CD7FC 8FAF0094 */ lw $t7, 0x94($sp) -/* 102330 7F0CD800 3C01FD00 */ lui $at, 0xfd00 -/* 102334 7F0CD804 0018CEC0 */ sll $t9, $t8, 0x1b -/* 102338 7F0CD808 00195F42 */ srl $t3, $t9, 0x1d -/* 10233C 7F0CD80C 316C0007 */ andi $t4, $t3, 7 -/* 102340 7F0CD810 000C6D40 */ sll $t5, $t4, 0x15 -/* 102344 7F0CD814 31F80003 */ andi $t8, $t7, 3 -/* 102348 7F0CD818 0018CCC0 */ sll $t9, $t8, 0x13 -/* 10234C 7F0CD81C 01A17025 */ or $t6, $t5, $at -/* 102350 7F0CD820 01D95825 */ or $t3, $t6, $t9 -/* 102354 7F0CD824 02001025 */ move $v0, $s0 -/* 102358 7F0CD828 AC4B0000 */ sw $t3, ($v0) -/* 10235C 7F0CD82C 8E2C0004 */ lw $t4, 4($s1) -/* 102360 7F0CD830 26100008 */ addiu $s0, $s0, 8 -/* 102364 7F0CD834 00003825 */ move $a3, $zero -/* 102368 7F0CD838 AC4C0004 */ sw $t4, 4($v0) -/* 10236C 7F0CD83C 8E250008 */ lw $a1, 8($s1) -/* 102370 7F0CD840 AFA00028 */ sw $zero, 0x28($sp) -/* 102374 7F0CD844 AFA00024 */ sw $zero, 0x24($sp) -/* 102378 7F0CD848 00056EC0 */ sll $t5, $a1, 0x1b -/* 10237C 7F0CD84C 000D2F42 */ srl $a1, $t5, 0x1d -/* 102380 7F0CD850 AFA00020 */ sw $zero, 0x20($sp) -/* 102384 7F0CD854 AFA0001C */ sw $zero, 0x1c($sp) -/* 102388 7F0CD858 AFA00018 */ sw $zero, 0x18($sp) -/* 10238C 7F0CD85C AFA00014 */ sw $zero, 0x14($sp) -/* 102390 7F0CD860 AFA00010 */ sw $zero, 0x10($sp) -/* 102394 7F0CD864 0FC3315D */ jal sub_GAME_7F0CC574 -/* 102398 7F0CD868 8FA60094 */ lw $a2, 0x94($sp) -/* 10239C 7F0CD86C 10400010 */ beqz $v0, .L7F0CD8B0 -/* 1023A0 7F0CD870 3C0A0700 */ lui $t2, 0x700 -/* 1023A4 7F0CD874 8E380008 */ lw $t8, 8($s1) -/* 1023A8 7F0CD878 8FAF0094 */ lw $t7, 0x94($sp) -/* 1023AC 7F0CD87C 02001025 */ move $v0, $s0 -/* 1023B0 7F0CD880 001876C0 */ sll $t6, $t8, 0x1b -/* 1023B4 7F0CD884 000ECF42 */ srl $t9, $t6, 0x1d -/* 1023B8 7F0CD888 332B0007 */ andi $t3, $t9, 7 -/* 1023BC 7F0CD88C 000B6540 */ sll $t4, $t3, 0x15 -/* 1023C0 7F0CD890 3C01F500 */ lui $at, 0xf500 -/* 1023C4 7F0CD894 31F80003 */ andi $t8, $t7, 3 -/* 1023C8 7F0CD898 001874C0 */ sll $t6, $t8, 0x13 -/* 1023CC 7F0CD89C 01816825 */ or $t5, $t4, $at -/* 1023D0 7F0CD8A0 01AEC825 */ or $t9, $t5, $t6 -/* 1023D4 7F0CD8A4 AC590000 */ sw $t9, ($v0) -/* 1023D8 7F0CD8A8 AC4A0004 */ sw $t2, 4($v0) -/* 1023DC 7F0CD8AC 26100008 */ addiu $s0, $s0, 8 -.L7F0CD8B0: -/* 1023E0 7F0CD8B0 02001025 */ move $v0, $s0 -/* 1023E4 7F0CD8B4 26100008 */ addiu $s0, $s0, 8 -/* 1023E8 7F0CD8B8 3C0BE600 */ lui $t3, 0xe600 -/* 1023EC 7F0CD8BC AC4B0000 */ sw $t3, ($v0) -/* 1023F0 7F0CD8C0 AC400004 */ sw $zero, 4($v0) -/* 1023F4 7F0CD8C4 02002825 */ move $a1, $s0 -/* 1023F8 7F0CD8C8 3C0CF300 */ lui $t4, 0xf300 -/* 1023FC 7F0CD8CC ACAC0000 */ sw $t4, ($a1) -/* 102400 7F0CD8D0 8FA30090 */ lw $v1, 0x90($sp) -/* 102404 7F0CD8D4 3C0A0700 */ lui $t2, 0x700 -/* 102408 7F0CD8D8 8FAE008C */ lw $t6, 0x8c($sp) -/* 10240C 7F0CD8DC 2463FFFF */ addiu $v1, $v1, -1 -/* 102410 7F0CD8E0 286107FF */ slti $at, $v1, 0x7ff -/* 102414 7F0CD8E4 10200003 */ beqz $at, .L7F0CD8F4 -/* 102418 7F0CD8E8 26100008 */ addiu $s0, $s0, 8 -/* 10241C 7F0CD8EC 10000002 */ b .L7F0CD8F8 -/* 102420 7F0CD8F0 00602025 */ move $a0, $v1 -.L7F0CD8F4: -/* 102424 7F0CD8F4 240407FF */ li $a0, 2047 -.L7F0CD8F8: -/* 102428 7F0CD8F8 308F0FFF */ andi $t7, $a0, 0xfff -/* 10242C 7F0CD8FC 000FC300 */ sll $t8, $t7, 0xc -/* 102430 7F0CD900 030A6825 */ or $t5, $t8, $t2 -/* 102434 7F0CD904 31D90FFF */ andi $t9, $t6, 0xfff -/* 102438 7F0CD908 01B95825 */ or $t3, $t5, $t9 -/* 10243C 7F0CD90C 02001025 */ move $v0, $s0 -/* 102440 7F0CD910 ACAB0004 */ sw $t3, 4($a1) -/* 102444 7F0CD914 3C0CE700 */ lui $t4, 0xe700 -/* 102448 7F0CD918 AC4C0000 */ sw $t4, ($v0) -/* 10244C 7F0CD91C AC400004 */ sw $zero, 4($v0) -/* 102450 7F0CD920 1000008A */ b .L7F0CDB4C -/* 102454 7F0CD924 26100008 */ addiu $s0, $s0, 8 -.L7F0CD928: -/* 102458 7F0CD928 8E2F0008 */ lw $t7, 8($s1) -/* 10245C 7F0CD92C 8FAC0094 */ lw $t4, 0x94($sp) -/* 102460 7F0CD930 26100008 */ addiu $s0, $s0, 8 -/* 102464 7F0CD934 000FC6C0 */ sll $t8, $t7, 0x1b -/* 102468 7F0CD938 00187742 */ srl $t6, $t8, 0x1d -/* 10246C 7F0CD93C 31CD0007 */ andi $t5, $t6, 7 -/* 102470 7F0CD940 000DCD40 */ sll $t9, $t5, 0x15 -/* 102474 7F0CD944 318F0003 */ andi $t7, $t4, 3 -/* 102478 7F0CD948 000FC4C0 */ sll $t8, $t7, 0x13 -/* 10247C 7F0CD94C 03215825 */ or $t3, $t9, $at -/* 102480 7F0CD950 01787025 */ or $t6, $t3, $t8 -/* 102484 7F0CD954 AC4E0000 */ sw $t6, ($v0) -/* 102488 7F0CD958 8E2D0004 */ lw $t5, 4($s1) -/* 10248C 7F0CD95C 24040007 */ li $a0, 7 -/* 102490 7F0CD960 00003825 */ move $a3, $zero -/* 102494 7F0CD964 AC4D0004 */ sw $t5, 4($v0) -/* 102498 7F0CD968 8E250008 */ lw $a1, 8($s1) -/* 10249C 7F0CD96C AFA00028 */ sw $zero, 0x28($sp) -/* 1024A0 7F0CD970 AFA00024 */ sw $zero, 0x24($sp) -/* 1024A4 7F0CD974 0005CEC0 */ sll $t9, $a1, 0x1b -/* 1024A8 7F0CD978 00192F42 */ srl $a1, $t9, 0x1d -/* 1024AC 7F0CD97C AFA00020 */ sw $zero, 0x20($sp) -/* 1024B0 7F0CD980 AFA0001C */ sw $zero, 0x1c($sp) -/* 1024B4 7F0CD984 AFA00018 */ sw $zero, 0x18($sp) -/* 1024B8 7F0CD988 AFA00014 */ sw $zero, 0x14($sp) -/* 1024BC 7F0CD98C AFA00010 */ sw $zero, 0x10($sp) -/* 1024C0 7F0CD990 0FC3315D */ jal sub_GAME_7F0CC574 -/* 1024C4 7F0CD994 8FA60094 */ lw $a2, 0x94($sp) -/* 1024C8 7F0CD998 10400011 */ beqz $v0, .L7F0CD9E0 -/* 1024CC 7F0CD99C 00003025 */ move $a2, $zero -/* 1024D0 7F0CD9A0 8E2F0008 */ lw $t7, 8($s1) -/* 1024D4 7F0CD9A4 8FAC0094 */ lw $t4, 0x94($sp) -/* 1024D8 7F0CD9A8 02001025 */ move $v0, $s0 -/* 1024DC 7F0CD9AC 000F5EC0 */ sll $t3, $t7, 0x1b -/* 1024E0 7F0CD9B0 000BC742 */ srl $t8, $t3, 0x1d -/* 1024E4 7F0CD9B4 330E0007 */ andi $t6, $t8, 7 -/* 1024E8 7F0CD9B8 000E6D40 */ sll $t5, $t6, 0x15 -/* 1024EC 7F0CD9BC 3C01F500 */ lui $at, 0xf500 -/* 1024F0 7F0CD9C0 318F0003 */ andi $t7, $t4, 3 -/* 1024F4 7F0CD9C4 000F5CC0 */ sll $t3, $t7, 0x13 -/* 1024F8 7F0CD9C8 01A1C825 */ or $t9, $t5, $at -/* 1024FC 7F0CD9CC 3C0A0700 */ lui $t2, 0x700 -/* 102500 7F0CD9D0 032BC025 */ or $t8, $t9, $t3 -/* 102504 7F0CD9D4 AC580000 */ sw $t8, ($v0) -/* 102508 7F0CD9D8 AC4A0004 */ sw $t2, 4($v0) -/* 10250C 7F0CD9DC 26100008 */ addiu $s0, $s0, 8 -.L7F0CD9E0: -/* 102510 7F0CD9E0 02001025 */ move $v0, $s0 -/* 102514 7F0CD9E4 26100008 */ addiu $s0, $s0, 8 -/* 102518 7F0CD9E8 3C0EE600 */ lui $t6, 0xe600 -/* 10251C 7F0CD9EC AC4E0000 */ sw $t6, ($v0) -/* 102520 7F0CD9F0 AC400004 */ sw $zero, 4($v0) -/* 102524 7F0CD9F4 02002825 */ move $a1, $s0 -/* 102528 7F0CD9F8 3C0DF300 */ lui $t5, 0xf300 -/* 10252C 7F0CD9FC ACAD0000 */ sw $t5, ($a1) -/* 102530 7F0CDA00 8FA30090 */ lw $v1, 0x90($sp) -/* 102534 7F0CDA04 3C0A0700 */ lui $t2, 0x700 -/* 102538 7F0CDA08 8FAB008C */ lw $t3, 0x8c($sp) -/* 10253C 7F0CDA0C 2463FFFF */ addiu $v1, $v1, -1 -/* 102540 7F0CDA10 286107FF */ slti $at, $v1, 0x7ff -/* 102544 7F0CDA14 10200003 */ beqz $at, .L7F0CDA24 -/* 102548 7F0CDA18 26100008 */ addiu $s0, $s0, 8 -/* 10254C 7F0CDA1C 10000002 */ b .L7F0CDA28 -/* 102550 7F0CDA20 00602025 */ move $a0, $v1 -.L7F0CDA24: -/* 102554 7F0CDA24 240407FF */ li $a0, 2047 -.L7F0CDA28: -/* 102558 7F0CDA28 308C0FFF */ andi $t4, $a0, 0xfff -/* 10255C 7F0CDA2C 000C7B00 */ sll $t7, $t4, 0xc -/* 102560 7F0CDA30 01EAC825 */ or $t9, $t7, $t2 -/* 102564 7F0CDA34 31780FFF */ andi $t8, $t3, 0xfff -/* 102568 7F0CDA38 03387025 */ or $t6, $t9, $t8 -/* 10256C 7F0CDA3C ACAE0004 */ sw $t6, 4($a1) -/* 102570 7F0CDA40 02001025 */ move $v0, $s0 -/* 102574 7F0CDA44 3C0DE700 */ lui $t5, 0xe700 -/* 102578 7F0CDA48 AC4D0000 */ sw $t5, ($v0) -/* 10257C 7F0CDA4C AC400004 */ sw $zero, 4($v0) -/* 102580 7F0CDA50 922C000A */ lbu $t4, 0xa($s1) -/* 102584 7F0CDA54 8FA80090 */ lw $t0, 0x90($sp) -/* 102588 7F0CDA58 240F03FF */ li $t7, 1023 -/* 10258C 7F0CDA5C 01EC1823 */ subu $v1, $t7, $t4 -/* 102590 7F0CDA60 0068082B */ sltu $at, $v1, $t0 -/* 102594 7F0CDA64 10200003 */ beqz $at, .L7F0CDA74 -/* 102598 7F0CDA68 26100008 */ addiu $s0, $s0, 8 -/* 10259C 7F0CDA6C 10000002 */ b .L7F0CDA78 -/* 1025A0 7F0CDA70 00604825 */ move $t1, $v1 -.L7F0CDA74: -/* 1025A4 7F0CDA74 00004825 */ move $t1, $zero -.L7F0CDA78: -/* 1025A8 7F0CDA78 01094023 */ subu $t0, $t0, $t1 -/* 1025AC 7F0CDA7C 24190100 */ li $t9, 256 -/* 1025B0 7F0CDA80 AFB90010 */ sw $t9, 0x10($sp) -/* 1025B4 7F0CDA84 AFA80074 */ sw $t0, 0x74($sp) -/* 1025B8 7F0CDA88 24040007 */ li $a0, 7 -/* 1025BC 7F0CDA8C 00002825 */ move $a1, $zero -/* 1025C0 7F0CDA90 24070001 */ li $a3, 1 -/* 1025C4 7F0CDA94 AFA00014 */ sw $zero, 0x14($sp) -/* 1025C8 7F0CDA98 AFA00018 */ sw $zero, 0x18($sp) -/* 1025CC 7F0CDA9C AFA0001C */ sw $zero, 0x1c($sp) -/* 1025D0 7F0CDAA0 AFA00020 */ sw $zero, 0x20($sp) -/* 1025D4 7F0CDAA4 AFA00024 */ sw $zero, 0x24($sp) -/* 1025D8 7F0CDAA8 AFA00028 */ sw $zero, 0x28($sp) -/* 1025DC 7F0CDAAC 0FC3315D */ jal sub_GAME_7F0CC574 -/* 1025E0 7F0CDAB0 AFA90070 */ sw $t1, 0x70($sp) -/* 1025E4 7F0CDAB4 8FA80074 */ lw $t0, 0x74($sp) -/* 1025E8 7F0CDAB8 8FA90070 */ lw $t1, 0x70($sp) -/* 1025EC 7F0CDABC 10400007 */ beqz $v0, .L7F0CDADC -/* 1025F0 7F0CDAC0 3C0A0700 */ lui $t2, 0x700 -/* 1025F4 7F0CDAC4 02001025 */ move $v0, $s0 -/* 1025F8 7F0CDAC8 3C18F500 */ lui $t8, (0xF5000300 >> 16) # lui $t8, 0xf500 -/* 1025FC 7F0CDACC 37180300 */ ori $t8, (0xF5000300 & 0xFFFF) # ori $t8, $t8, 0x300 -/* 102600 7F0CDAD0 AC580000 */ sw $t8, ($v0) -/* 102604 7F0CDAD4 AC4A0004 */ sw $t2, 4($v0) -/* 102608 7F0CDAD8 26100008 */ addiu $s0, $s0, 8 -.L7F0CDADC: -/* 10260C 7F0CDADC 02001025 */ move $v0, $s0 -/* 102610 7F0CDAE0 310F03FF */ andi $t7, $t0, 0x3ff -/* 102614 7F0CDAE4 000F6380 */ sll $t4, $t7, 0xe -/* 102618 7F0CDAE8 312403FF */ andi $a0, $t1, 0x3ff -/* 10261C 7F0CDAEC 3C01F000 */ lui $at, 0xf000 -/* 102620 7F0CDAF0 26100008 */ addiu $s0, $s0, 8 -/* 102624 7F0CDAF4 3C0EE600 */ lui $t6, 0xe600 -/* 102628 7F0CDAF8 01815825 */ or $t3, $t4, $at -/* 10262C 7F0CDAFC 00046880 */ sll $t5, $a0, 2 -/* 102630 7F0CDB00 AC4E0000 */ sw $t6, ($v0) -/* 102634 7F0CDB04 AC400004 */ sw $zero, 4($v0) -/* 102638 7F0CDB08 016DC825 */ or $t9, $t3, $t5 -/* 10263C 7F0CDB0C 02001825 */ move $v1, $s0 -/* 102640 7F0CDB10 AC790000 */ sw $t9, ($v1) -/* 102644 7F0CDB14 9238000A */ lbu $t8, 0xa($s1) -/* 102648 7F0CDB18 01A02025 */ move $a0, $t5 -/* 10264C 7F0CDB1C 26100008 */ addiu $s0, $s0, 8 -/* 102650 7F0CDB20 03087021 */ addu $t6, $t8, $t0 -/* 102654 7F0CDB24 31CD03FF */ andi $t5, $t6, 0x3ff -/* 102658 7F0CDB28 000D7B80 */ sll $t7, $t5, 0xe -/* 10265C 7F0CDB2C 01EA6025 */ or $t4, $t7, $t2 -/* 102660 7F0CDB30 01845825 */ or $t3, $t4, $a0 -/* 102664 7F0CDB34 02002825 */ move $a1, $s0 -/* 102668 7F0CDB38 AC6B0004 */ sw $t3, 4($v1) -/* 10266C 7F0CDB3C 3C19E700 */ lui $t9, 0xe700 -/* 102670 7F0CDB40 ACB90000 */ sw $t9, ($a1) -/* 102674 7F0CDB44 ACA00004 */ sw $zero, 4($a1) -/* 102678 7F0CDB48 26100008 */ addiu $s0, $s0, 8 -.L7F0CDB4C: -/* 10267C 7F0CDB4C 8FBF003C */ lw $ra, 0x3c($sp) -/* 102680 7F0CDB50 02001025 */ move $v0, $s0 -/* 102684 7F0CDB54 8FB00034 */ lw $s0, 0x34($sp) -/* 102688 7F0CDB58 8FB10038 */ lw $s1, 0x38($sp) -/* 10268C 7F0CDB5C 03E00008 */ jr $ra -/* 102690 7F0CDB60 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CDB64(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CDB64 -/* 102694 7F0CDB64 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 102698 7F0CDB68 AFB10038 */ sw $s1, 0x38($sp) -/* 10269C 7F0CDB6C 00808825 */ move $s1, $a0 -/* 1026A0 7F0CDB70 AFBF003C */ sw $ra, 0x3c($sp) -/* 1026A4 7F0CDB74 AFB00034 */ sw $s0, 0x34($sp) -/* 1026A8 7F0CDB78 AFA60078 */ sw $a2, 0x78($sp) -/* 1026AC 7F0CDB7C AFA7007C */ sw $a3, 0x7c($sp) -/* 1026B0 7F0CDB80 00A08025 */ move $s0, $a1 -/* 1026B4 7F0CDB84 0FC332A7 */ jal sub_GAME_7F0CCA9C -/* 1026B8 7F0CDB88 90A40008 */ lbu $a0, 8($a1) -/* 1026BC 7F0CDB8C AFA2006C */ sw $v0, 0x6c($sp) -/* 1026C0 7F0CDB90 0FC332A7 */ jal sub_GAME_7F0CCA9C -/* 1026C4 7F0CDB94 92040009 */ lbu $a0, 9($s0) -/* 1026C8 7F0CDB98 AFA20068 */ sw $v0, 0x68($sp) -/* 1026CC 7F0CDB9C 02002025 */ move $a0, $s0 -/* 1026D0 7F0CDBA0 0FC33239 */ jal sub_GAME_7F0CC8E4 -/* 1026D4 7F0CDBA4 00002825 */ move $a1, $zero -/* 1026D8 7F0CDBA8 AFA20064 */ sw $v0, 0x64($sp) -/* 1026DC 7F0CDBAC 8E03000C */ lw $v1, 0xc($s0) -/* 1026E0 7F0CDBB0 00037080 */ sll $t6, $v1, 2 -/* 1026E4 7F0CDBB4 00032782 */ srl $a0, $v1, 0x1e -/* 1026E8 7F0CDBB8 000E7FC2 */ srl $t7, $t6, 0x1f -/* 1026EC 7F0CDBBC 0004C380 */ sll $t8, $a0, 0xe -/* 1026F0 7F0CDBC0 AFAF0050 */ sw $t7, 0x50($sp) -/* 1026F4 7F0CDBC4 0FC33152 */ jal sub_GAME_7F0CC548 -/* 1026F8 7F0CDBC8 03002025 */ move $a0, $t8 -/* 1026FC 7F0CDBCC 10400009 */ beqz $v0, .L7F0CDBF4 -/* 102700 7F0CDBD0 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00 -/* 102704 7F0CDBD4 02201025 */ move $v0, $s1 -/* 102708 7F0CDBD8 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02 -/* 10270C 7F0CDBDC AC590000 */ sw $t9, ($v0) -/* 102710 7F0CDBE0 8E09000C */ lw $t1, 0xc($s0) -/* 102714 7F0CDBE4 26310008 */ addiu $s1, $s1, 8 -/* 102718 7F0CDBE8 00095782 */ srl $t2, $t1, 0x1e -/* 10271C 7F0CDBEC 000A5B80 */ sll $t3, $t2, 0xe -/* 102720 7F0CDBF0 AC4B0004 */ sw $t3, 4($v0) -.L7F0CDBF4: -/* 102724 7F0CDBF4 8E020008 */ lw $v0, 8($s0) -/* 102728 7F0CDBF8 8FAD0078 */ lw $t5, 0x78($sp) -/* 10272C 7F0CDBFC 8FAE007C */ lw $t6, 0x7c($sp) -/* 102730 7F0CDC00 8FAF006C */ lw $t7, 0x6c($sp) -/* 102734 7F0CDC04 8FB80068 */ lw $t8, 0x68($sp) -/* 102738 7F0CDC08 00022EC0 */ sll $a1, $v0, 0x1b -/* 10273C 7F0CDC0C 00056742 */ srl $t4, $a1, 0x1d -/* 102740 7F0CDC10 01802825 */ move $a1, $t4 -/* 102744 7F0CDC14 AFA00028 */ sw $zero, 0x28($sp) -/* 102748 7F0CDC18 AFA00024 */ sw $zero, 0x24($sp) -/* 10274C 7F0CDC1C AFA00010 */ sw $zero, 0x10($sp) -/* 102750 7F0CDC20 8FA40084 */ lw $a0, 0x84($sp) -/* 102754 7F0CDC24 8FA70064 */ lw $a3, 0x64($sp) -/* 102758 7F0CDC28 30460003 */ andi $a2, $v0, 3 -/* 10275C 7F0CDC2C AFAD0014 */ sw $t5, 0x14($sp) -/* 102760 7F0CDC30 AFAE0018 */ sw $t6, 0x18($sp) -/* 102764 7F0CDC34 AFAF001C */ sw $t7, 0x1c($sp) -/* 102768 7F0CDC38 0FC3315D */ jal sub_GAME_7F0CC574 -/* 10276C 7F0CDC3C AFB80020 */ sw $t8, 0x20($sp) -/* 102770 7F0CDC40 1040002B */ beqz $v0, .L7F0CDCF0 -/* 102774 7F0CDC44 02201825 */ move $v1, $s1 -/* 102778 7F0CDC48 8E0D0008 */ lw $t5, 8($s0) -/* 10277C 7F0CDC4C 3C01F500 */ lui $at, 0xf500 -/* 102780 7F0CDC50 26310008 */ addiu $s1, $s1, 8 -/* 102784 7F0CDC54 000DCEC0 */ sll $t9, $t5, 0x1b -/* 102788 7F0CDC58 00194F42 */ srl $t1, $t9, 0x1d -/* 10278C 7F0CDC5C 8FB90064 */ lw $t9, 0x64($sp) -/* 102790 7F0CDC60 312A0007 */ andi $t2, $t1, 7 -/* 102794 7F0CDC64 000A5D40 */ sll $t3, $t2, 0x15 -/* 102798 7F0CDC68 31AE0003 */ andi $t6, $t5, 3 -/* 10279C 7F0CDC6C 000E7CC0 */ sll $t7, $t6, 0x13 -/* 1027A0 7F0CDC70 01616025 */ or $t4, $t3, $at -/* 1027A4 7F0CDC74 332901FF */ andi $t1, $t9, 0x1ff -/* 1027A8 7F0CDC78 00095240 */ sll $t2, $t1, 9 -/* 1027AC 7F0CDC7C 018FC025 */ or $t8, $t4, $t7 -/* 1027B0 7F0CDC80 030A5825 */ or $t3, $t8, $t2 -/* 1027B4 7F0CDC84 AC6B0000 */ sw $t3, ($v1) -/* 1027B8 7F0CDC88 AFA30048 */ sw $v1, 0x48($sp) -/* 1027BC 7F0CDC8C 0FC332B3 */ jal sub_GAME_7F0CCACC -/* 1027C0 7F0CDC90 8FA4007C */ lw $a0, 0x7c($sp) -/* 1027C4 7F0CDC94 8FA40078 */ lw $a0, 0x78($sp) -/* 1027C8 7F0CDC98 0FC332B3 */ jal sub_GAME_7F0CCACC -/* 1027CC 7F0CDC9C AFA20040 */ sw $v0, 0x40($sp) -/* 1027D0 7F0CDCA0 8FAC0084 */ lw $t4, 0x84($sp) -/* 1027D4 7F0CDCA4 304D0003 */ andi $t5, $v0, 3 -/* 1027D8 7F0CDCA8 8FA30040 */ lw $v1, 0x40($sp) -/* 1027DC 7F0CDCAC 000D7200 */ sll $t6, $t5, 8 -/* 1027E0 7F0CDCB0 318F0007 */ andi $t7, $t4, 7 -/* 1027E4 7F0CDCB4 8FAD0068 */ lw $t5, 0x68($sp) -/* 1027E8 7F0CDCB8 000FCE00 */ sll $t9, $t7, 0x18 -/* 1027EC 7F0CDCBC 01D94825 */ or $t1, $t6, $t9 -/* 1027F0 7F0CDCC0 8FB9006C */ lw $t9, 0x6c($sp) -/* 1027F4 7F0CDCC4 30780003 */ andi $t8, $v1, 3 -/* 1027F8 7F0CDCC8 00185480 */ sll $t2, $t8, 0x12 -/* 1027FC 7F0CDCCC 31AC000F */ andi $t4, $t5, 0xf -/* 102800 7F0CDCD0 012A5825 */ or $t3, $t1, $t2 -/* 102804 7F0CDCD4 8FAD0048 */ lw $t5, 0x48($sp) -/* 102808 7F0CDCD8 000C7B80 */ sll $t7, $t4, 0xe -/* 10280C 7F0CDCDC 3338000F */ andi $t8, $t9, 0xf -/* 102810 7F0CDCE0 00184900 */ sll $t1, $t8, 4 -/* 102814 7F0CDCE4 016F7025 */ or $t6, $t3, $t7 -/* 102818 7F0CDCE8 01C95025 */ or $t2, $t6, $t1 -/* 10281C 7F0CDCEC ADAA0004 */ sw $t2, 4($t5) -.L7F0CDCF0: -/* 102820 7F0CDCF0 8FA20080 */ lw $v0, 0x80($sp) -/* 102824 7F0CDCF4 24040002 */ li $a0, 2 -/* 102828 7F0CDCF8 8FA80050 */ lw $t0, 0x50($sp) -/* 10282C 7F0CDCFC 14440005 */ bne $v0, $a0, .L7F0CDD14 -/* 102830 7F0CDD00 00001825 */ move $v1, $zero -/* 102834 7F0CDD04 55000004 */ bnezl $t0, .L7F0CDD18 -/* 102838 7F0CDD08 8FA80050 */ lw $t0, 0x50($sp) -/* 10283C 7F0CDD0C 10000002 */ b .L7F0CDD18 -/* 102840 7F0CDD10 00801825 */ move $v1, $a0 -.L7F0CDD14: -/* 102844 7F0CDD14 8FA80050 */ lw $t0, 0x50($sp) -.L7F0CDD18: -/* 102848 7F0CDD18 14440005 */ bne $v0, $a0, .L7F0CDD30 -/* 10284C 7F0CDD1C 00602825 */ move $a1, $v1 -/* 102850 7F0CDD20 55000004 */ bnezl $t0, .L7F0CDD34 -/* 102854 7F0CDD24 00001825 */ move $v1, $zero -/* 102858 7F0CDD28 10000002 */ b .L7F0CDD34 -/* 10285C 7F0CDD2C 00801825 */ move $v1, $a0 -.L7F0CDD30: -/* 102860 7F0CDD30 00001825 */ move $v1, $zero -.L7F0CDD34: -/* 102864 7F0CDD34 14440005 */ bne $v0, $a0, .L7F0CDD4C -/* 102868 7F0CDD38 00603025 */ move $a2, $v1 -/* 10286C 7F0CDD3C 55000004 */ bnezl $t0, .L7F0CDD50 -/* 102870 7F0CDD40 00001825 */ move $v1, $zero -/* 102874 7F0CDD44 10000002 */ b .L7F0CDD50 -/* 102878 7F0CDD48 00801825 */ move $v1, $a0 -.L7F0CDD4C: -/* 10287C 7F0CDD4C 00001825 */ move $v1, $zero -.L7F0CDD50: -/* 102880 7F0CDD50 920C0008 */ lbu $t4, 8($s0) -/* 102884 7F0CDD54 258BFFFF */ addiu $t3, $t4, -1 -/* 102888 7F0CDD58 000B7880 */ sll $t7, $t3, 2 -/* 10288C 7F0CDD5C 14440005 */ bne $v0, $a0, .L7F0CDD74 -/* 102890 7F0CDD60 006F3821 */ addu $a3, $v1, $t7 -/* 102894 7F0CDD64 55000004 */ bnezl $t0, .L7F0CDD78 -/* 102898 7F0CDD68 00001825 */ move $v1, $zero -/* 10289C 7F0CDD6C 10000002 */ b .L7F0CDD78 -/* 1028A0 7F0CDD70 24030002 */ li $v1, 2 -.L7F0CDD74: -/* 1028A4 7F0CDD74 00001825 */ move $v1, $zero -.L7F0CDD78: -/* 1028A8 7F0CDD78 92190009 */ lbu $t9, 9($s0) -/* 1028AC 7F0CDD7C AFA70058 */ sw $a3, 0x58($sp) -/* 1028B0 7F0CDD80 AFA6005C */ sw $a2, 0x5c($sp) -/* 1028B4 7F0CDD84 2738FFFF */ addiu $t8, $t9, -1 -/* 1028B8 7F0CDD88 00187080 */ sll $t6, $t8, 2 -/* 1028BC 7F0CDD8C 006E4021 */ addu $t0, $v1, $t6 -/* 1028C0 7F0CDD90 AFA80010 */ sw $t0, 0x10($sp) -/* 1028C4 7F0CDD94 AFA80054 */ sw $t0, 0x54($sp) -/* 1028C8 7F0CDD98 AFA50060 */ sw $a1, 0x60($sp) -/* 1028CC 7F0CDD9C 0FC331A4 */ jal sub_GAME_7F0CC690 -/* 1028D0 7F0CDDA0 8FA40084 */ lw $a0, 0x84($sp) -/* 1028D4 7F0CDDA4 8FA50060 */ lw $a1, 0x60($sp) -/* 1028D8 7F0CDDA8 8FA6005C */ lw $a2, 0x5c($sp) -/* 1028DC 7F0CDDAC 8FA70058 */ lw $a3, 0x58($sp) -/* 1028E0 7F0CDDB0 10400013 */ beqz $v0, .L7F0CDE00 -/* 1028E4 7F0CDDB4 8FA80054 */ lw $t0, 0x54($sp) -/* 1028E8 7F0CDDB8 30A90FFF */ andi $t1, $a1, 0xfff -/* 1028EC 7F0CDDBC 00095300 */ sll $t2, $t1, 0xc -/* 1028F0 7F0CDDC0 3C01F200 */ lui $at, 0xf200 -/* 1028F4 7F0CDDC4 01416825 */ or $t5, $t2, $at -/* 1028F8 7F0CDDC8 30CC0FFF */ andi $t4, $a2, 0xfff -/* 1028FC 7F0CDDCC 01AC5825 */ or $t3, $t5, $t4 -/* 102900 7F0CDDD0 02201025 */ move $v0, $s1 -/* 102904 7F0CDDD4 AC4B0000 */ sw $t3, ($v0) -/* 102908 7F0CDDD8 8FAF0084 */ lw $t7, 0x84($sp) -/* 10290C 7F0CDDDC 30EE0FFF */ andi $t6, $a3, 0xfff -/* 102910 7F0CDDE0 000E4B00 */ sll $t1, $t6, 0xc -/* 102914 7F0CDDE4 31F90007 */ andi $t9, $t7, 7 -/* 102918 7F0CDDE8 0019C600 */ sll $t8, $t9, 0x18 -/* 10291C 7F0CDDEC 03095025 */ or $t2, $t8, $t1 -/* 102920 7F0CDDF0 310D0FFF */ andi $t5, $t0, 0xfff -/* 102924 7F0CDDF4 014D6025 */ or $t4, $t2, $t5 -/* 102928 7F0CDDF8 AC4C0004 */ sw $t4, 4($v0) -/* 10292C 7F0CDDFC 26310008 */ addiu $s1, $s1, 8 -.L7F0CDE00: -/* 102930 7F0CDE00 8FBF003C */ lw $ra, 0x3c($sp) -/* 102934 7F0CDE04 02201025 */ move $v0, $s1 -/* 102938 7F0CDE08 8FB10038 */ lw $s1, 0x38($sp) -/* 10293C 7F0CDE0C 8FB00034 */ lw $s0, 0x34($sp) -/* 102940 7F0CDE10 03E00008 */ jr $ra -/* 102944 7F0CDE14 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CDE18(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CDE18 -/* 102948 7F0CDE18 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 10294C 7F0CDE1C AFBF0024 */ sw $ra, 0x24($sp) -/* 102950 7F0CDE20 AFA60030 */ sw $a2, 0x30($sp) -/* 102954 7F0CDE24 AFA5002C */ sw $a1, 0x2c($sp) -/* 102958 7F0CDE28 AFA70034 */ sw $a3, 0x34($sp) -/* 10295C 7F0CDE2C 0FC3341E */ jal expland_c0_DL_psuedocommands -/* 102960 7F0CDE30 00003025 */ move $a2, $zero -/* 102964 7F0CDE34 8FAE0038 */ lw $t6, 0x38($sp) -/* 102968 7F0CDE38 00402025 */ move $a0, $v0 -/* 10296C 7F0CDE3C 8FA5002C */ lw $a1, 0x2c($sp) -/* 102970 7F0CDE40 8FA60030 */ lw $a2, 0x30($sp) -/* 102974 7F0CDE44 8FA70034 */ lw $a3, 0x34($sp) -/* 102978 7F0CDE48 AFA00014 */ sw $zero, 0x14($sp) -/* 10297C 7F0CDE4C AFA00018 */ sw $zero, 0x18($sp) -/* 102980 7F0CDE50 0FC3350C */ jal sub_GAME_7F0CD430 -/* 102984 7F0CDE54 AFAE0010 */ sw $t6, 0x10($sp) -/* 102988 7F0CDE58 8FA5002C */ lw $a1, 0x2c($sp) -/* 10298C 7F0CDE5C 24010001 */ li $at, 1 -/* 102990 7F0CDE60 00402025 */ move $a0, $v0 -/* 102994 7F0CDE64 90AF000B */ lbu $t7, 0xb($a1) -/* 102998 7F0CDE68 8FA60030 */ lw $a2, 0x30($sp) -/* 10299C 7F0CDE6C 8FA70034 */ lw $a3, 0x34($sp) -/* 1029A0 7F0CDE70 000FC142 */ srl $t8, $t7, 5 -/* 1029A4 7F0CDE74 17010007 */ bne $t8, $at, .L7F0CDE94 -/* 1029A8 7F0CDE78 8FB90038 */ lw $t9, 0x38($sp) -/* 1029AC 7F0CDE7C 24080001 */ li $t0, 1 -/* 1029B0 7F0CDE80 AFA80014 */ sw $t0, 0x14($sp) -/* 1029B4 7F0CDE84 AFB90010 */ sw $t9, 0x10($sp) -/* 1029B8 7F0CDE88 0FC3350C */ jal sub_GAME_7F0CD430 -/* 1029BC 7F0CDE8C AFA00018 */ sw $zero, 0x18($sp) -/* 1029C0 7F0CDE90 00402025 */ move $a0, $v0 -.L7F0CDE94: -/* 1029C4 7F0CDE94 8FBF0024 */ lw $ra, 0x24($sp) -/* 1029C8 7F0CDE98 27BD0028 */ addiu $sp, $sp, 0x28 -/* 1029CC 7F0CDE9C 00801025 */ move $v0, $a0 -/* 1029D0 7F0CDEA0 03E00008 */ jr $ra -/* 1029D4 7F0CDEA4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CDEA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CDEA8 -/* 1029D8 7F0CDEA8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 1029DC 7F0CDEAC AFB00028 */ sw $s0, 0x28($sp) -/* 1029E0 7F0CDEB0 00808025 */ move $s0, $a0 -/* 1029E4 7F0CDEB4 AFBF002C */ sw $ra, 0x2c($sp) -/* 1029E8 7F0CDEB8 AFA5003C */ sw $a1, 0x3c($sp) -/* 1029EC 7F0CDEBC AFA60040 */ sw $a2, 0x40($sp) -/* 1029F0 7F0CDEC0 AFA70044 */ sw $a3, 0x44($sp) -/* 1029F4 7F0CDEC4 00002825 */ move $a1, $zero -/* 1029F8 7F0CDEC8 0FC33265 */ jal sub_GAME_7F0CC994 -/* 1029FC 7F0CDECC 8FA4004C */ lw $a0, 0x4c($sp) -/* 102A00 7F0CDED0 AFA20034 */ sw $v0, 0x34($sp) -/* 102A04 7F0CDED4 02002025 */ move $a0, $s0 -/* 102A08 7F0CDED8 0FC335EB */ jal sub_GAME_7F0CD7AC -/* 102A0C 7F0CDEDC 8FA5004C */ lw $a1, 0x4c($sp) -/* 102A10 7F0CDEE0 3C0EE800 */ lui $t6, 0xe800 -/* 102A14 7F0CDEE4 AC4E0000 */ sw $t6, ($v0) -/* 102A18 7F0CDEE8 AC400004 */ sw $zero, 4($v0) -/* 102A1C 7F0CDEEC 8FA60034 */ lw $a2, 0x34($sp) -/* 102A20 7F0CDEF0 8FA5003C */ lw $a1, 0x3c($sp) -/* 102A24 7F0CDEF4 0FC3341E */ jal expland_c0_DL_psuedocommands -/* 102A28 7F0CDEF8 24440008 */ addiu $a0, $v0, 8 -/* 102A2C 7F0CDEFC 8FAF0054 */ lw $t7, 0x54($sp) -/* 102A30 7F0CDF00 8FB80058 */ lw $t8, 0x58($sp) -/* 102A34 7F0CDF04 00402025 */ move $a0, $v0 -/* 102A38 7F0CDF08 8FA5004C */ lw $a1, 0x4c($sp) -/* 102A3C 7F0CDF0C 8FA60048 */ lw $a2, 0x48($sp) -/* 102A40 7F0CDF10 8FA70050 */ lw $a3, 0x50($sp) -/* 102A44 7F0CDF14 AFAF0010 */ sw $t7, 0x10($sp) -/* 102A48 7F0CDF18 0FC33314 */ jal sub_GAME_7F0CCC50 -/* 102A4C 7F0CDF1C AFB80014 */ sw $t8, 0x14($sp) -/* 102A50 7F0CDF20 8FB90048 */ lw $t9, 0x48($sp) -/* 102A54 7F0CDF24 8FA90034 */ lw $t1, 0x34($sp) -/* 102A58 7F0CDF28 24080001 */ li $t0, 1 -/* 102A5C 7F0CDF2C AFA80014 */ sw $t0, 0x14($sp) -/* 102A60 7F0CDF30 00402025 */ move $a0, $v0 -/* 102A64 7F0CDF34 8FA5003C */ lw $a1, 0x3c($sp) -/* 102A68 7F0CDF38 8FA60040 */ lw $a2, 0x40($sp) -/* 102A6C 7F0CDF3C 8FA70044 */ lw $a3, 0x44($sp) -/* 102A70 7F0CDF40 AFB90010 */ sw $t9, 0x10($sp) -/* 102A74 7F0CDF44 0FC3350C */ jal sub_GAME_7F0CD430 -/* 102A78 7F0CDF48 AFA90018 */ sw $t1, 0x18($sp) -/* 102A7C 7F0CDF4C 8FAA003C */ lw $t2, 0x3c($sp) -/* 102A80 7F0CDF50 24010001 */ li $at, 1 -/* 102A84 7F0CDF54 00408025 */ move $s0, $v0 -/* 102A88 7F0CDF58 914B000B */ lbu $t3, 0xb($t2) -/* 102A8C 7F0CDF5C 00402025 */ move $a0, $v0 -/* 102A90 7F0CDF60 8FA60040 */ lw $a2, 0x40($sp) -/* 102A94 7F0CDF64 000B6142 */ srl $t4, $t3, 5 -/* 102A98 7F0CDF68 1581000A */ bne $t4, $at, .L7F0CDF94 -/* 102A9C 7F0CDF6C 01402825 */ move $a1, $t2 -/* 102AA0 7F0CDF70 8FAD0048 */ lw $t5, 0x48($sp) -/* 102AA4 7F0CDF74 8FAF0034 */ lw $t7, 0x34($sp) -/* 102AA8 7F0CDF78 240E0002 */ li $t6, 2 -/* 102AAC 7F0CDF7C AFAE0014 */ sw $t6, 0x14($sp) -/* 102AB0 7F0CDF80 8FA70044 */ lw $a3, 0x44($sp) -/* 102AB4 7F0CDF84 AFAD0010 */ sw $t5, 0x10($sp) -/* 102AB8 7F0CDF88 0FC3350C */ jal sub_GAME_7F0CD430 -/* 102ABC 7F0CDF8C AFAF0018 */ sw $t7, 0x18($sp) -/* 102AC0 7F0CDF90 00408025 */ move $s0, $v0 -.L7F0CDF94: -/* 102AC4 7F0CDF94 8FBF002C */ lw $ra, 0x2c($sp) -/* 102AC8 7F0CDF98 02001025 */ move $v0, $s0 -/* 102ACC 7F0CDF9C 8FB00028 */ lw $s0, 0x28($sp) -/* 102AD0 7F0CDFA0 03E00008 */ jr $ra -/* 102AD4 7F0CDFA4 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CDFA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CDFA8 -/* 102AD8 7F0CDFA8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 102ADC 7F0CDFAC AFBF002C */ sw $ra, 0x2c($sp) -/* 102AE0 7F0CDFB0 AFB00028 */ sw $s0, 0x28($sp) -/* 102AE4 7F0CDFB4 AFA60038 */ sw $a2, 0x38($sp) -/* 102AE8 7F0CDFB8 00A08025 */ move $s0, $a1 -/* 102AEC 7F0CDFBC AFA7003C */ sw $a3, 0x3c($sp) -/* 102AF0 7F0CDFC0 0FC3341E */ jal expland_c0_DL_psuedocommands -/* 102AF4 7F0CDFC4 00003025 */ move $a2, $zero -/* 102AF8 7F0CDFC8 8FAE0048 */ lw $t6, 0x48($sp) -/* 102AFC 7F0CDFCC 8FAF004C */ lw $t7, 0x4c($sp) -/* 102B00 7F0CDFD0 00402025 */ move $a0, $v0 -/* 102B04 7F0CDFD4 02002825 */ move $a1, $s0 -/* 102B08 7F0CDFD8 8FA60040 */ lw $a2, 0x40($sp) -/* 102B0C 7F0CDFDC 8FA70044 */ lw $a3, 0x44($sp) -/* 102B10 7F0CDFE0 AFAE0010 */ sw $t6, 0x10($sp) -/* 102B14 7F0CDFE4 0FC33314 */ jal sub_GAME_7F0CCC50 -/* 102B18 7F0CDFE8 AFAF0014 */ sw $t7, 0x14($sp) -/* 102B1C 7F0CDFEC 8FB80040 */ lw $t8, 0x40($sp) -/* 102B20 7F0CDFF0 24190001 */ li $t9, 1 -/* 102B24 7F0CDFF4 AFB90014 */ sw $t9, 0x14($sp) -/* 102B28 7F0CDFF8 00402025 */ move $a0, $v0 -/* 102B2C 7F0CDFFC 02002825 */ move $a1, $s0 -/* 102B30 7F0CE000 8FA60038 */ lw $a2, 0x38($sp) -/* 102B34 7F0CE004 8FA7003C */ lw $a3, 0x3c($sp) -/* 102B38 7F0CE008 AFA00018 */ sw $zero, 0x18($sp) -/* 102B3C 7F0CE00C 0FC3350C */ jal sub_GAME_7F0CD430 -/* 102B40 7F0CE010 AFB80010 */ sw $t8, 0x10($sp) -/* 102B44 7F0CE014 9208000B */ lbu $t0, 0xb($s0) -/* 102B48 7F0CE018 24010001 */ li $at, 1 -/* 102B4C 7F0CE01C 00402025 */ move $a0, $v0 -/* 102B50 7F0CE020 00084942 */ srl $t1, $t0, 5 -/* 102B54 7F0CE024 1521000A */ bne $t1, $at, .L7F0CE050 -/* 102B58 7F0CE028 02002825 */ move $a1, $s0 -/* 102B5C 7F0CE02C 8FAA0040 */ lw $t2, 0x40($sp) -/* 102B60 7F0CE030 240B0002 */ li $t3, 2 -/* 102B64 7F0CE034 AFAB0014 */ sw $t3, 0x14($sp) -/* 102B68 7F0CE038 8FA60038 */ lw $a2, 0x38($sp) -/* 102B6C 7F0CE03C 8FA7003C */ lw $a3, 0x3c($sp) -/* 102B70 7F0CE040 AFA00018 */ sw $zero, 0x18($sp) -/* 102B74 7F0CE044 0FC3350C */ jal sub_GAME_7F0CD430 -/* 102B78 7F0CE048 AFAA0010 */ sw $t2, 0x10($sp) -/* 102B7C 7F0CE04C 00402025 */ move $a0, $v0 -.L7F0CE050: -/* 102B80 7F0CE050 8FBF002C */ lw $ra, 0x2c($sp) -/* 102B84 7F0CE054 8FB00028 */ lw $s0, 0x28($sp) -/* 102B88 7F0CE058 27BD0030 */ addiu $sp, $sp, 0x30 -/* 102B8C 7F0CE05C 03E00008 */ jr $ra -/* 102B90 7F0CE060 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CE064(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CE064 -/* 102B94 7F0CE064 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 102B98 7F0CE068 AFBF001C */ sw $ra, 0x1c($sp) -/* 102B9C 7F0CE06C AFA50024 */ sw $a1, 0x24($sp) -/* 102BA0 7F0CE070 AFA60028 */ sw $a2, 0x28($sp) -/* 102BA4 7F0CE074 0FC335EB */ jal sub_GAME_7F0CD7AC -/* 102BA8 7F0CE078 AFA7002C */ sw $a3, 0x2c($sp) -/* 102BAC 7F0CE07C 8FAE0030 */ lw $t6, 0x30($sp) -/* 102BB0 7F0CE080 00402025 */ move $a0, $v0 -/* 102BB4 7F0CE084 8FA50024 */ lw $a1, 0x24($sp) -/* 102BB8 7F0CE088 8FA60028 */ lw $a2, 0x28($sp) -/* 102BBC 7F0CE08C 8FA7002C */ lw $a3, 0x2c($sp) -/* 102BC0 7F0CE090 AFA00014 */ sw $zero, 0x14($sp) -/* 102BC4 7F0CE094 0FC336D9 */ jal sub_GAME_7F0CDB64 -/* 102BC8 7F0CE098 AFAE0010 */ sw $t6, 0x10($sp) -/* 102BCC 7F0CE09C 8FBF001C */ lw $ra, 0x1c($sp) -/* 102BD0 7F0CE0A0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 102BD4 7F0CE0A4 03E00008 */ jr $ra -/* 102BD8 7F0CE0A8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CE0AC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CE0AC -/* 102BDC 7F0CE0AC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 102BE0 7F0CE0B0 AFBF001C */ sw $ra, 0x1c($sp) -/* 102BE4 7F0CE0B4 AFA50024 */ sw $a1, 0x24($sp) -/* 102BE8 7F0CE0B8 AFA60028 */ sw $a2, 0x28($sp) -/* 102BEC 7F0CE0BC 0FC335EB */ jal sub_GAME_7F0CD7AC -/* 102BF0 7F0CE0C0 AFA7002C */ sw $a3, 0x2c($sp) -/* 102BF4 7F0CE0C4 8FAE0030 */ lw $t6, 0x30($sp) -/* 102BF8 7F0CE0C8 00402025 */ move $a0, $v0 -/* 102BFC 7F0CE0CC 8FA50024 */ lw $a1, 0x24($sp) -/* 102C00 7F0CE0D0 8FA60028 */ lw $a2, 0x28($sp) -/* 102C04 7F0CE0D4 8FA7002C */ lw $a3, 0x2c($sp) -/* 102C08 7F0CE0D8 AFA00014 */ sw $zero, 0x14($sp) -/* 102C0C 7F0CE0DC 0FC336D9 */ jal sub_GAME_7F0CDB64 -/* 102C10 7F0CE0E0 AFAE0010 */ sw $t6, 0x10($sp) -/* 102C14 7F0CE0E4 8FAF0030 */ lw $t7, 0x30($sp) -/* 102C18 7F0CE0E8 24180001 */ li $t8, 1 -/* 102C1C 7F0CE0EC AFB80014 */ sw $t8, 0x14($sp) -/* 102C20 7F0CE0F0 00402025 */ move $a0, $v0 -/* 102C24 7F0CE0F4 8FA50024 */ lw $a1, 0x24($sp) -/* 102C28 7F0CE0F8 8FA60028 */ lw $a2, 0x28($sp) -/* 102C2C 7F0CE0FC 8FA7002C */ lw $a3, 0x2c($sp) -/* 102C30 7F0CE100 0FC336D9 */ jal sub_GAME_7F0CDB64 -/* 102C34 7F0CE104 AFAF0010 */ sw $t7, 0x10($sp) -/* 102C38 7F0CE108 8FBF001C */ lw $ra, 0x1c($sp) -/* 102C3C 7F0CE10C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 102C40 7F0CE110 03E00008 */ jr $ra -/* 102C44 7F0CE114 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void process_microcode_sort_display_modes_expand_image_calls(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel PADDINGHACKING -.word 0 -/*D:8005BF20*/ -glabel tlb_ptr_DL_type_B1toC0 -.word .L7F0CE66C -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE6B8 -.word .L7F0CE694 -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE720 -.word .L7F0CE66C -.word .L7F0CE1D8 - -/*D:8005BF60*/ -glabel tlb_ptr_C0_image_recall_types -.word .L7F0CE2BC -.word .L7F0CE428 -.word .L7F0CE4B8 -.word .L7F0CE584 -.word .L7F0CE5BC -.text -glabel process_microcode_sort_display_modes_expand_image_calls -/* 102C48 7F0CE118 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 102C4C 7F0CE11C AFB20038 */ sw $s2, 0x38($sp) -/* 102C50 7F0CE120 AFBF0054 */ sw $ra, 0x54($sp) -/* 102C54 7F0CE124 AFBE0050 */ sw $fp, 0x50($sp) -/* 102C58 7F0CE128 AFB60048 */ sw $s6, 0x48($sp) -/* 102C5C 7F0CE12C AFB40040 */ sw $s4, 0x40($sp) -/* 102C60 7F0CE130 AFB10034 */ sw $s1, 0x34($sp) -/* 102C64 7F0CE134 AFB00030 */ sw $s0, 0x30($sp) -/* 102C68 7F0CE138 240E0001 */ li $t6, 1 -/* 102C6C 7F0CE13C 000590C3 */ sra $s2, $a1, 3 -/* 102C70 7F0CE140 00E0B025 */ move $s6, $a3 -/* 102C74 7F0CE144 AFB7004C */ sw $s7, 0x4c($sp) -/* 102C78 7F0CE148 AFB50044 */ sw $s5, 0x44($sp) -/* 102C7C 7F0CE14C AFB3003C */ sw $s3, 0x3c($sp) -/* 102C80 7F0CE150 AFA600A0 */ sw $a2, 0xa0($sp) -/* 102C84 7F0CE154 AFA0008C */ sw $zero, 0x8c($sp) -/* 102C88 7F0CE158 0000A025 */ move $s4, $zero -/* 102C8C 7F0CE15C 0000F025 */ move $fp, $zero -/* 102C90 7F0CE160 AFAE005C */ sw $t6, 0x5c($sp) -/* 102C94 7F0CE164 AFA00058 */ sw $zero, 0x58($sp) -/* 102C98 7F0CE168 00808825 */ move $s1, $a0 -/* 102C9C 7F0CE16C 00C08025 */ move $s0, $a2 -/* 102CA0 7F0CE170 0FC33132 */ jal sub_GAME_7F0CC4C8 -/* 102CA4 7F0CE174 AFB20088 */ sw $s2, 0x88($sp) -/* 102CA8 7F0CE178 16C00003 */ bnez $s6, .L7F0CE188 -/* 102CAC 7F0CE17C 2417000F */ li $s7, 15 -/* 102CB0 7F0CE180 3C168009 */ lui $s6, %hi(ptr_texture_alloc_start) -/* 102CB4 7F0CE184 26D6C720 */ addiu $s6, %lo(ptr_texture_alloc_start) # addiu $s6, $s6, -0x38e0 -.L7F0CE188: -/* 102CB8 7F0CE188 1A40016F */ blez $s2, .L7F0CE748 -/* 102CBC 7F0CE18C 3C158005 */ lui $s5, %hi(D_800483C8) -/* 102CC0 7F0CE190 26B583C8 */ addiu $s5, %lo(D_800483C8) # addiu $s5, $s5, -0x7c38 -.L7F0CE194: -/* 102CC4 7F0CE194 92220000 */ lbu $v0, ($s1) -/* 102CC8 7F0CE198 284100C1 */ slti $at, $v0, 0xc1 -/* 102CCC 7F0CE19C 14200006 */ bnez $at, .L7F0CE1B8 -/* 102CD0 7F0CE1A0 244FFF4F */ addiu $t7, $v0, -0xb1 -/* 102CD4 7F0CE1A4 240100E7 */ li $at, 231 -/* 102CD8 7F0CE1A8 50410129 */ beql $v0, $at, .L7F0CE650 -/* 102CDC 7F0CE1AC 8E210000 */ lw $at, ($s1) -/* 102CE0 7F0CE1B0 1000015C */ b .L7F0CE724 -/* 102CE4 7F0CE1B4 8E210000 */ lw $at, ($s1) -.L7F0CE1B8: -/* 102CE8 7F0CE1B8 2DE10010 */ sltiu $at, $t7, 0x10 -/* 102CEC 7F0CE1BC 10200158 */ beqz $at, .L7F0CE720 -/* 102CF0 7F0CE1C0 000F7880 */ sll $t7, $t7, 2 -/* 102CF4 7F0CE1C4 3C018006 */ lui $at, %hi(tlb_ptr_DL_type_B1toC0) -/* 102CF8 7F0CE1C8 002F0821 */ addu $at, $at, $t7 -/* 102CFC 7F0CE1CC 8C2FBF20 */ lw $t7, %lo(tlb_ptr_DL_type_B1toC0)($at) -/* 102D00 7F0CE1D0 01E00008 */ jr $t7 -/* 102D04 7F0CE1D4 00000000 */ nop -.L7F0CE1D8: -/* 102D08 7F0CE1D8 17C00006 */ bnez $fp, .L7F0CE1F4 -/* 102D0C 7F0CE1DC 02001025 */ move $v0, $s0 -/* 102D10 7F0CE1E0 3C18E700 */ lui $t8, 0xe700 -/* 102D14 7F0CE1E4 AC580000 */ sw $t8, ($v0) -/* 102D18 7F0CE1E8 26100008 */ addiu $s0, $s0, 8 -/* 102D1C 7F0CE1EC AC400004 */ sw $zero, 4($v0) -/* 102D20 7F0CE1F0 241E0001 */ li $fp, 1 -.L7F0CE1F4: -/* 102D24 7F0CE1F4 8FB90058 */ lw $t9, 0x58($sp) -/* 102D28 7F0CE1F8 02002025 */ move $a0, $s0 -/* 102D2C 7F0CE1FC 53200004 */ beql $t9, $zero, .L7F0CE210 -/* 102D30 7F0CE200 8E330004 */ lw $s3, 4($s1) -/* 102D34 7F0CE204 0FC2ED80 */ jal save_ptrDL_enpoint_to_current_init_lightfixture_table -/* 102D38 7F0CE208 AFA00058 */ sw $zero, 0x58($sp) -/* 102D3C 7F0CE20C 8E330004 */ lw $s3, 4($s1) -.L7F0CE210: -/* 102D40 7F0CE210 3C0E8005 */ lui $t6, %hi(D_800483C4) -/* 102D44 7F0CE214 8DCE83C4 */ lw $t6, %lo(D_800483C4)($t6) -/* 102D48 7F0CE218 326D0FFF */ andi $t5, $s3, 0xfff -/* 102D4C 7F0CE21C 01A09825 */ move $s3, $t5 -/* 102D50 7F0CE220 15AE000D */ bne $t5, $t6, .L7F0CE258 -/* 102D54 7F0CE224 02C02825 */ move $a1, $s6 -/* 102D58 7F0CE228 8EA40000 */ lw $a0, ($s5) -/* 102D5C 7F0CE22C 000D7880 */ sll $t7, $t5, 2 -/* 102D60 7F0CE230 10800009 */ beqz $a0, .L7F0CE258 -/* 102D64 7F0CE234 008FC021 */ addu $t8, $a0, $t7 -/* 102D68 7F0CE238 93190000 */ lbu $t9, ($t8) -/* 102D6C 7F0CE23C 2F2100FF */ sltiu $at, $t9, 0xff -/* 102D70 7F0CE240 10200003 */ beqz $at, .L7F0CE250 -/* 102D74 7F0CE244 00000000 */ nop -/* 102D78 7F0CE248 10000004 */ b .L7F0CE25C -/* 102D7C 7F0CE24C 24140001 */ li $s4, 1 -.L7F0CE250: -/* 102D80 7F0CE250 10000002 */ b .L7F0CE25C -/* 102D84 7F0CE254 0000A025 */ move $s4, $zero -.L7F0CE258: -/* 102D88 7F0CE258 0000A025 */ move $s4, $zero -.L7F0CE25C: -/* 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 -/* 102D9C 7F0CE26C 02C02825 */ move $a1, $s6 -/* 102DA0 7F0CE270 104000F4 */ beqz $v0, .L7F0CE644 -/* 102DA4 7F0CE274 00409025 */ move $s2, $v0 -/* 102DA8 7F0CE278 8FA7005C */ lw $a3, 0x5c($sp) -/* 102DAC 7F0CE27C AFA0005C */ sw $zero, 0x5c($sp) -/* 102DB0 7F0CE280 02002025 */ move $a0, $s0 -/* 102DB4 7F0CE284 8FA5008C */ lw $a1, 0x8c($sp) -/* 102DB8 7F0CE288 0FC333EF */ jal sub_GAME_7F0CCFBC -/* 102DBC 7F0CE28C 00403025 */ move $a2, $v0 -/* 102DC0 7F0CE290 8E230000 */ lw $v1, ($s1) -/* 102DC4 7F0CE294 00408025 */ move $s0, $v0 -/* 102DC8 7F0CE298 306D0007 */ andi $t5, $v1, 7 -/* 102DCC 7F0CE29C 2DA10005 */ sltiu $at, $t5, 5 -/* 102DD0 7F0CE2A0 102000D3 */ beqz $at, .L7F0CE5F0 -/* 102DD4 7F0CE2A4 000D6880 */ sll $t5, $t5, 2 -/* 102DD8 7F0CE2A8 3C018006 */ lui $at, %hi(tlb_ptr_C0_image_recall_types) -/* 102DDC 7F0CE2AC 002D0821 */ addu $at, $at, $t5 -/* 102DE0 7F0CE2B0 8C2DBF60 */ lw $t5, %lo(tlb_ptr_C0_image_recall_types)($at) -/* 102DE4 7F0CE2B4 01A00008 */ jr $t5 -/* 102DE8 7F0CE2B8 00000000 */ nop -.L7F0CE2BC: -/* 102DEC 7F0CE2BC 8E290004 */ lw $t1, 4($s1) -/* 102DF0 7F0CE2C0 8EA40000 */ lw $a0, ($s5) -/* 102DF4 7F0CE2C4 00033582 */ srl $a2, $v1, 0x16 -/* 102DF8 7F0CE2C8 00097602 */ srl $t6, $t1, 0x18 -/* 102DFC 7F0CE2CC 31C900FF */ andi $t1, $t6, 0xff -/* 102E00 7F0CE2D0 00033D02 */ srl $a3, $v1, 0x14 -/* 102E04 7F0CE2D4 00034482 */ srl $t0, $v1, 0x12 -/* 102E08 7F0CE2D8 00035382 */ srl $t2, $v1, 0xe -/* 102E0C 7F0CE2DC 00035A82 */ srl $t3, $v1, 0xa -/* 102E10 7F0CE2E0 30D80003 */ andi $t8, $a2, 3 -/* 102E14 7F0CE2E4 30F90003 */ andi $t9, $a3, 3 -/* 102E18 7F0CE2E8 310D0003 */ andi $t5, $t0, 3 -/* 102E1C 7F0CE2EC 314E000F */ andi $t6, $t2, 0xf -/* 102E20 7F0CE2F0 316F000F */ andi $t7, $t3, 0xf -/* 102E24 7F0CE2F4 03003025 */ move $a2, $t8 -/* 102E28 7F0CE2F8 03203825 */ move $a3, $t9 -/* 102E2C 7F0CE2FC 01A04025 */ move $t0, $t5 -/* 102E30 7F0CE300 01C05025 */ move $t2, $t6 -/* 102E34 7F0CE304 1080001B */ beqz $a0, .L7F0CE374 -/* 102E38 7F0CE308 01E05825 */ move $t3, $t7 -/* 102E3C 7F0CE30C 00131880 */ sll $v1, $s3, 2 -/* 102E40 7F0CE310 00831021 */ addu $v0, $a0, $v1 -/* 102E44 7F0CE314 90580000 */ lbu $t8, ($v0) -/* 102E48 7F0CE318 240100FF */ li $at, 255 -/* 102E4C 7F0CE31C 17010015 */ bne $t8, $at, .L7F0CE374 -/* 102E50 7F0CE320 00000000 */ nop -/* 102E54 7F0CE324 A0490000 */ sb $t1, ($v0) -/* 102E58 7F0CE328 8EB90000 */ lw $t9, ($s5) -/* 102E5C 7F0CE32C 2404000F */ li $a0, 15 -/* 102E60 7F0CE330 008E6823 */ subu $t5, $a0, $t6 -/* 102E64 7F0CE334 03231021 */ addu $v0, $t9, $v1 -/* 102E68 7F0CE338 90590001 */ lbu $t9, 1($v0) -/* 102E6C 7F0CE33C 01A07025 */ move $t6, $t5 -/* 102E70 7F0CE340 000EC140 */ sll $t8, $t6, 5 -/* 102E74 7F0CE344 332DFF1F */ andi $t5, $t9, 0xff1f -/* 102E78 7F0CE348 030D7025 */ or $t6, $t8, $t5 -/* 102E7C 7F0CE34C A04E0001 */ sb $t6, 1($v0) -/* 102E80 7F0CE350 8EAF0000 */ lw $t7, ($s5) -/* 102E84 7F0CE354 008BC023 */ subu $t8, $a0, $t3 -/* 102E88 7F0CE358 00186880 */ sll $t5, $t8, 2 -/* 102E8C 7F0CE35C 01E31021 */ addu $v0, $t7, $v1 -/* 102E90 7F0CE360 904F0001 */ lbu $t7, 1($v0) -/* 102E94 7F0CE364 31AE001C */ andi $t6, $t5, 0x1c -/* 102E98 7F0CE368 31F9FFE3 */ andi $t9, $t7, 0xffe3 -/* 102E9C 7F0CE36C 01D9C025 */ or $t8, $t6, $t9 -/* 102EA0 7F0CE370 A0580001 */ sb $t8, 1($v0) -.L7F0CE374: -/* 102EA4 7F0CE374 12800024 */ beqz $s4, .L7F0CE408 -/* 102EA8 7F0CE378 02002025 */ move $a0, $s0 -/* 102EAC 7F0CE37C 8EAD0000 */ lw $t5, ($s5) -/* 102EB0 7F0CE380 00137880 */ sll $t7, $s3, 2 -/* 102EB4 7F0CE384 AFA80010 */ sw $t0, 0x10($sp) -/* 102EB8 7F0CE388 01AF1021 */ addu $v0, $t5, $t7 -/* 102EBC 7F0CE38C 904E0001 */ lbu $t6, 1($v0) -/* 102EC0 7F0CE390 02002025 */ move $a0, $s0 -/* 102EC4 7F0CE394 02402825 */ move $a1, $s2 -/* 102EC8 7F0CE398 000EC942 */ srl $t9, $t6, 5 -/* 102ECC 7F0CE39C 02F9C023 */ subu $t8, $s7, $t9 -/* 102ED0 7F0CE3A0 AFB80014 */ sw $t8, 0x14($sp) -/* 102ED4 7F0CE3A4 8C4D0000 */ lw $t5, ($v0) -/* 102ED8 7F0CE3A8 000D7AC0 */ sll $t7, $t5, 0xb -/* 102EDC 7F0CE3AC 000F7742 */ srl $t6, $t7, 0x1d -/* 102EE0 7F0CE3B0 02EEC823 */ subu $t9, $s7, $t6 -/* 102EE4 7F0CE3B4 AFB90018 */ sw $t9, 0x18($sp) -/* 102EE8 7F0CE3B8 90580000 */ lbu $t8, ($v0) -/* 102EEC 7F0CE3BC 0FC337EA */ jal sub_GAME_7F0CDFA8 -/* 102EF0 7F0CE3C0 AFB8001C */ sw $t8, 0x1c($sp) -/* 102EF4 7F0CE3C4 3C0DBA00 */ lui $t5, (0xBA001402 >> 16) # lui $t5, 0xba00 -/* 102EF8 7F0CE3C8 35AD1402 */ ori $t5, (0xBA001402 & 0xFFFF) # ori $t5, $t5, 0x1402 -/* 102EFC 7F0CE3CC AC4D0000 */ sw $t5, ($v0) -/* 102F00 7F0CE3D0 3C0EBA00 */ lui $t6, (0xBA001001 >> 16) # lui $t6, 0xba00 -/* 102F04 7F0CE3D4 3C18BA00 */ lui $t8, (0xBA001102 >> 16) # lui $t8, 0xba00 -/* 102F08 7F0CE3D8 3C0F0010 */ lui $t7, 0x10 -/* 102F0C 7F0CE3DC 35CE1001 */ ori $t6, (0xBA001001 & 0xFFFF) # ori $t6, $t6, 0x1001 -/* 102F10 7F0CE3E0 3C190001 */ lui $t9, 1 -/* 102F14 7F0CE3E4 37181102 */ ori $t8, (0xBA001102 & 0xFFFF) # ori $t8, $t8, 0x1102 -/* 102F18 7F0CE3E8 3C0D0004 */ lui $t5, 4 -/* 102F1C 7F0CE3EC AC4F0004 */ sw $t7, 4($v0) -/* 102F20 7F0CE3F0 AC59000C */ sw $t9, 0xc($v0) -/* 102F24 7F0CE3F4 AC4E0008 */ sw $t6, 8($v0) -/* 102F28 7F0CE3F8 AC4D0014 */ sw $t5, 0x14($v0) -/* 102F2C 7F0CE3FC AC580010 */ sw $t8, 0x10($v0) -/* 102F30 7F0CE400 1000007B */ b .L7F0CE5F0 -/* 102F34 7F0CE404 24500018 */ addiu $s0, $v0, 0x18 -.L7F0CE408: -/* 102F38 7F0CE408 02402825 */ move $a1, $s2 -/* 102F3C 7F0CE40C AFA80010 */ sw $t0, 0x10($sp) -/* 102F40 7F0CE410 AFAA0014 */ sw $t2, 0x14($sp) -/* 102F44 7F0CE414 AFAB0018 */ sw $t3, 0x18($sp) -/* 102F48 7F0CE418 0FC337EA */ jal sub_GAME_7F0CDFA8 -/* 102F4C 7F0CE41C AFA9001C */ sw $t1, 0x1c($sp) -/* 102F50 7F0CE420 10000073 */ b .L7F0CE5F0 -/* 102F54 7F0CE424 00408025 */ move $s0, $v0 -.L7F0CE428: -/* 102F58 7F0CE428 8E240004 */ lw $a0, 4($s1) -/* 102F5C 7F0CE42C 02C02825 */ move $a1, $s6 -/* 102F60 7F0CE430 00047B02 */ srl $t7, $a0, 0xc -/* 102F64 7F0CE434 31E40FFF */ andi $a0, $t7, 0xfff -/* 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 -/* 102F78 7F0CE448 02C02825 */ move $a1, $s6 -/* 102F7C 7F0CE44C 10400068 */ beqz $v0, .L7F0CE5F0 -/* 102F80 7F0CE450 02002025 */ move $a0, $s0 -/* 102F84 7F0CE454 8E230000 */ lw $v1, ($s1) -/* 102F88 7F0CE458 8E290004 */ lw $t1, 4($s1) -/* 102F8C 7F0CE45C AFA20014 */ sw $v0, 0x14($sp) -/* 102F90 7F0CE460 00033582 */ srl $a2, $v1, 0x16 -/* 102F94 7F0CE464 0009CE02 */ srl $t9, $t1, 0x18 -/* 102F98 7F0CE468 332900FF */ andi $t1, $t9, 0xff -/* 102F9C 7F0CE46C 00033D02 */ srl $a3, $v1, 0x14 -/* 102FA0 7F0CE470 00034482 */ srl $t0, $v1, 0x12 -/* 102FA4 7F0CE474 00035382 */ srl $t2, $v1, 0xe -/* 102FA8 7F0CE478 00035A82 */ srl $t3, $v1, 0xa -/* 102FAC 7F0CE47C 30CD0003 */ andi $t5, $a2, 3 -/* 102FB0 7F0CE480 30EF0003 */ andi $t7, $a3, 3 -/* 102FB4 7F0CE484 310E0003 */ andi $t6, $t0, 3 -/* 102FB8 7F0CE488 3159000F */ andi $t9, $t2, 0xf -/* 102FBC 7F0CE48C 3178000F */ andi $t8, $t3, 0xf -/* 102FC0 7F0CE490 01A03025 */ move $a2, $t5 -/* 102FC4 7F0CE494 01E03825 */ move $a3, $t7 -/* 102FC8 7F0CE498 AFB8001C */ sw $t8, 0x1c($sp) -/* 102FCC 7F0CE49C AFB90018 */ sw $t9, 0x18($sp) -/* 102FD0 7F0CE4A0 AFAE0010 */ sw $t6, 0x10($sp) -/* 102FD4 7F0CE4A4 AFA90020 */ sw $t1, 0x20($sp) -/* 102FD8 7F0CE4A8 0FC337AA */ jal sub_GAME_7F0CDEA8 -/* 102FDC 7F0CE4AC 02402825 */ move $a1, $s2 -/* 102FE0 7F0CE4B0 1000004F */ b .L7F0CE5F0 -/* 102FE4 7F0CE4B4 00408025 */ move $s0, $v0 -.L7F0CE4B8: -/* 102FE8 7F0CE4B8 00033582 */ srl $a2, $v1, 0x16 -/* 102FEC 7F0CE4BC 00033D02 */ srl $a3, $v1, 0x14 -/* 102FF0 7F0CE4C0 00034482 */ srl $t0, $v1, 0x12 -/* 102FF4 7F0CE4C4 30CD0003 */ andi $t5, $a2, 3 -/* 102FF8 7F0CE4C8 30EF0003 */ andi $t7, $a3, 3 -/* 102FFC 7F0CE4CC 310E0003 */ andi $t6, $t0, 3 -/* 103000 7F0CE4D0 01A03025 */ move $a2, $t5 -/* 103004 7F0CE4D4 01E03825 */ move $a3, $t7 -/* 103008 7F0CE4D8 12800024 */ beqz $s4, .L7F0CE56C -/* 10300C 7F0CE4DC 01C04025 */ move $t0, $t6 -/* 103010 7F0CE4E0 8EB90000 */ lw $t9, ($s5) -/* 103014 7F0CE4E4 0013C080 */ sll $t8, $s3, 2 -/* 103018 7F0CE4E8 AFAE0010 */ sw $t6, 0x10($sp) -/* 10301C 7F0CE4EC 03381021 */ addu $v0, $t9, $t8 -/* 103020 7F0CE4F0 904D0001 */ lbu $t5, 1($v0) -/* 103024 7F0CE4F4 02002025 */ move $a0, $s0 -/* 103028 7F0CE4F8 02402825 */ move $a1, $s2 -/* 10302C 7F0CE4FC 000D7942 */ srl $t7, $t5, 5 -/* 103030 7F0CE500 02EF7023 */ subu $t6, $s7, $t7 -/* 103034 7F0CE504 AFAE0014 */ sw $t6, 0x14($sp) -/* 103038 7F0CE508 8C590000 */ lw $t9, ($v0) -/* 10303C 7F0CE50C 0019C2C0 */ sll $t8, $t9, 0xb -/* 103040 7F0CE510 00186F42 */ srl $t5, $t8, 0x1d -/* 103044 7F0CE514 02ED7823 */ subu $t7, $s7, $t5 -/* 103048 7F0CE518 AFAF0018 */ sw $t7, 0x18($sp) -/* 10304C 7F0CE51C 904E0000 */ lbu $t6, ($v0) -/* 103050 7F0CE520 0FC337EA */ jal sub_GAME_7F0CDFA8 -/* 103054 7F0CE524 AFAE001C */ sw $t6, 0x1c($sp) -/* 103058 7F0CE528 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 10305C 7F0CE52C 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 103060 7F0CE530 AC590000 */ sw $t9, ($v0) -/* 103064 7F0CE534 3C0DBA00 */ lui $t5, (0xBA001001 >> 16) # lui $t5, 0xba00 -/* 103068 7F0CE538 3C0EBA00 */ lui $t6, (0xBA001102 >> 16) # lui $t6, 0xba00 -/* 10306C 7F0CE53C 3C180010 */ lui $t8, 0x10 -/* 103070 7F0CE540 35AD1001 */ ori $t5, (0xBA001001 & 0xFFFF) # ori $t5, $t5, 0x1001 -/* 103074 7F0CE544 3C0F0001 */ lui $t7, 1 -/* 103078 7F0CE548 35CE1102 */ ori $t6, (0xBA001102 & 0xFFFF) # ori $t6, $t6, 0x1102 -/* 10307C 7F0CE54C 3C190004 */ lui $t9, 4 -/* 103080 7F0CE550 AC580004 */ sw $t8, 4($v0) -/* 103084 7F0CE554 AC4F000C */ sw $t7, 0xc($v0) -/* 103088 7F0CE558 AC4D0008 */ sw $t5, 8($v0) -/* 10308C 7F0CE55C AC590014 */ sw $t9, 0x14($v0) -/* 103090 7F0CE560 AC4E0010 */ sw $t6, 0x10($v0) -/* 103094 7F0CE564 10000022 */ b .L7F0CE5F0 -/* 103098 7F0CE568 24500018 */ addiu $s0, $v0, 0x18 -.L7F0CE56C: -/* 10309C 7F0CE56C 02002025 */ move $a0, $s0 -/* 1030A0 7F0CE570 02402825 */ move $a1, $s2 -/* 1030A4 7F0CE574 0FC33786 */ jal sub_GAME_7F0CDE18 -/* 1030A8 7F0CE578 AFA80010 */ sw $t0, 0x10($sp) -/* 1030AC 7F0CE57C 1000001C */ b .L7F0CE5F0 -/* 1030B0 7F0CE580 00408025 */ move $s0, $v0 -.L7F0CE584: -/* 1030B4 7F0CE584 00033582 */ srl $a2, $v1, 0x16 -/* 1030B8 7F0CE588 00033D02 */ srl $a3, $v1, 0x14 -/* 1030BC 7F0CE58C 00034482 */ srl $t0, $v1, 0x12 -/* 1030C0 7F0CE590 30D80003 */ andi $t8, $a2, 3 -/* 1030C4 7F0CE594 30ED0003 */ andi $t5, $a3, 3 -/* 1030C8 7F0CE598 310F0003 */ andi $t7, $t0, 3 -/* 1030CC 7F0CE59C 03003025 */ move $a2, $t8 -/* 1030D0 7F0CE5A0 01A03825 */ move $a3, $t5 -/* 1030D4 7F0CE5A4 AFAF0010 */ sw $t7, 0x10($sp) -/* 1030D8 7F0CE5A8 02002025 */ move $a0, $s0 -/* 1030DC 7F0CE5AC 0FC3382B */ jal sub_GAME_7F0CE0AC -/* 1030E0 7F0CE5B0 02402825 */ move $a1, $s2 -/* 1030E4 7F0CE5B4 1000000E */ b .L7F0CE5F0 -/* 1030E8 7F0CE5B8 00408025 */ move $s0, $v0 -.L7F0CE5BC: -/* 1030EC 7F0CE5BC 00033582 */ srl $a2, $v1, 0x16 -/* 1030F0 7F0CE5C0 00033D02 */ srl $a3, $v1, 0x14 -/* 1030F4 7F0CE5C4 00034482 */ srl $t0, $v1, 0x12 -/* 1030F8 7F0CE5C8 30CE0003 */ andi $t6, $a2, 3 -/* 1030FC 7F0CE5CC 30F90003 */ andi $t9, $a3, 3 -/* 103100 7F0CE5D0 31180003 */ andi $t8, $t0, 3 -/* 103104 7F0CE5D4 01C03025 */ move $a2, $t6 -/* 103108 7F0CE5D8 03203825 */ move $a3, $t9 -/* 10310C 7F0CE5DC AFB80010 */ sw $t8, 0x10($sp) -/* 103110 7F0CE5E0 02002025 */ move $a0, $s0 -/* 103114 7F0CE5E4 0FC33819 */ jal sub_GAME_7F0CE064 -/* 103118 7F0CE5E8 02402825 */ move $a1, $s2 -/* 10311C 7F0CE5EC 00408025 */ move $s0, $v0 -def_7F0CE2B4: -.L7F0CE5F0: -/* 103120 7F0CE5F0 240105E4 */ li $at, 1508 -/* 103124 7F0CE5F4 16610005 */ bne $s3, $at, .L7F0CE60C -/* 103128 7F0CE5F8 02002025 */ move $a0, $s0 -/* 10312C 7F0CE5FC 0FC24D0F */ jal sub_GAME_7F09343C -/* 103130 7F0CE600 24050001 */ li $a1, 1 -/* 103134 7F0CE604 0FC33132 */ jal sub_GAME_7F0CC4C8 -/* 103138 7F0CE608 00408025 */ move $s0, $v0 -.L7F0CE60C: -/* 10313C 7F0CE60C 240105E7 */ li $at, 1511 -/* 103140 7F0CE610 16610005 */ bne $s3, $at, .L7F0CE628 -/* 103144 7F0CE614 02002025 */ move $a0, $s0 -/* 103148 7F0CE618 0FC24D97 */ jal sub_GAME_7F09365C -/* 10314C 7F0CE61C 24050001 */ li $a1, 1 -/* 103150 7F0CE620 0FC33132 */ jal sub_GAME_7F0CC4C8 -/* 103154 7F0CE624 00408025 */ move $s0, $v0 -.L7F0CE628: -/* 103158 7F0CE628 0FC2ED8C */ jal check_if_imageID_is_light -/* 10315C 7F0CE62C 02602025 */ move $a0, $s3 -/* 103160 7F0CE630 10400004 */ beqz $v0, .L7F0CE644 -/* 103164 7F0CE634 02002025 */ move $a0, $s0 -/* 103168 7F0CE638 240D0001 */ li $t5, 1 -/* 10316C 7F0CE63C 0FC2ED67 */ jal add_entry_to_init_lightfixture_table -/* 103170 7F0CE640 AFAD0058 */ sw $t5, 0x58($sp) -.L7F0CE644: -/* 103174 7F0CE644 1000003C */ b .L7F0CE738 -/* 103178 7F0CE648 26310008 */ addiu $s1, $s1, 8 -/* 10317C 7F0CE64C 8E210000 */ lw $at, ($s1) -.L7F0CE650: -/* 103180 7F0CE650 241E0001 */ li $fp, 1 -/* 103184 7F0CE654 26100008 */ addiu $s0, $s0, 8 -/* 103188 7F0CE658 AE01FFF8 */ sw $at, -8($s0) -/* 10318C 7F0CE65C 8E390004 */ lw $t9, 4($s1) -/* 103190 7F0CE660 26310008 */ addiu $s1, $s1, 8 -/* 103194 7F0CE664 10000034 */ b .L7F0CE738 -/* 103198 7F0CE668 AE19FFFC */ sw $t9, -4($s0) -.L7F0CE66C: -/* 10319C 7F0CE66C 24180001 */ li $t8, 1 -/* 1031A0 7F0CE670 AFB8005C */ sw $t8, 0x5c($sp) -/* 1031A4 7F0CE674 8E210000 */ lw $at, ($s1) -/* 1031A8 7F0CE678 0000F025 */ move $fp, $zero -/* 1031AC 7F0CE67C 26100008 */ addiu $s0, $s0, 8 -/* 1031B0 7F0CE680 AE01FFF8 */ sw $at, -8($s0) -/* 1031B4 7F0CE684 8E2F0004 */ lw $t7, 4($s1) -/* 1031B8 7F0CE688 26310008 */ addiu $s1, $s1, 8 -/* 1031BC 7F0CE68C 1000002A */ b .L7F0CE738 -/* 1031C0 7F0CE690 AE0FFFFC */ sw $t7, -4($s0) -.L7F0CE694: -/* 1031C4 7F0CE694 AFB0008C */ sw $s0, 0x8c($sp) -/* 1031C8 7F0CE698 AFA0005C */ sw $zero, 0x5c($sp) -/* 1031CC 7F0CE69C 8E210000 */ lw $at, ($s1) -/* 1031D0 7F0CE6A0 26100008 */ addiu $s0, $s0, 8 -/* 1031D4 7F0CE6A4 26310008 */ addiu $s1, $s1, 8 -/* 1031D8 7F0CE6A8 AE01FFF8 */ sw $at, -8($s0) -/* 1031DC 7F0CE6AC 8E2EFFFC */ lw $t6, -4($s1) -/* 1031E0 7F0CE6B0 10000021 */ b .L7F0CE738 -/* 1031E4 7F0CE6B4 AE0EFFFC */ sw $t6, -4($s0) -.L7F0CE6B8: -/* 1031E8 7F0CE6B8 52800013 */ beql $s4, $zero, .L7F0CE708 -/* 1031EC 7F0CE6BC 8E210000 */ lw $at, ($s1) -/* 1031F0 7F0CE6C0 82220002 */ lb $v0, 2($s1) -/* 1031F4 7F0CE6C4 24010011 */ li $at, 17 -/* 1031F8 7F0CE6C8 10410005 */ beq $v0, $at, .L7F0CE6E0 -/* 1031FC 7F0CE6CC 24010014 */ li $at, 20 -/* 103200 7F0CE6D0 10410003 */ beq $v0, $at, .L7F0CE6E0 -/* 103204 7F0CE6D4 24010010 */ li $at, 16 -/* 103208 7F0CE6D8 54410004 */ bnel $v0, $at, .L7F0CE6EC -/* 10320C 7F0CE6DC 8E210000 */ lw $at, ($s1) -.L7F0CE6E0: -/* 103210 7F0CE6E0 10000015 */ b .L7F0CE738 -/* 103214 7F0CE6E4 26310008 */ addiu $s1, $s1, 8 -/* 103218 7F0CE6E8 8E210000 */ lw $at, ($s1) -.L7F0CE6EC: -/* 10321C 7F0CE6EC 26100008 */ addiu $s0, $s0, 8 -/* 103220 7F0CE6F0 26310008 */ addiu $s1, $s1, 8 -/* 103224 7F0CE6F4 AE01FFF8 */ sw $at, -8($s0) -/* 103228 7F0CE6F8 8E2FFFFC */ lw $t7, -4($s1) -/* 10322C 7F0CE6FC 1000000E */ b .L7F0CE738 -/* 103230 7F0CE700 AE0FFFFC */ sw $t7, -4($s0) -/* 103234 7F0CE704 8E210000 */ lw $at, ($s1) -.L7F0CE708: -/* 103238 7F0CE708 26100008 */ addiu $s0, $s0, 8 -/* 10323C 7F0CE70C 26310008 */ addiu $s1, $s1, 8 -/* 103240 7F0CE710 AE01FFF8 */ sw $at, -8($s0) -/* 103244 7F0CE714 8E39FFFC */ lw $t9, -4($s1) -/* 103248 7F0CE718 10000007 */ b .L7F0CE738 -/* 10324C 7F0CE71C AE19FFFC */ sw $t9, -4($s0) -.L7F0CE720: -/* 103250 7F0CE720 8E210000 */ lw $at, ($s1) -.L7F0CE724: -/* 103254 7F0CE724 26100008 */ addiu $s0, $s0, 8 -/* 103258 7F0CE728 26310008 */ addiu $s1, $s1, 8 -/* 10325C 7F0CE72C AE01FFF8 */ sw $at, -8($s0) -/* 103260 7F0CE730 8E2DFFFC */ lw $t5, -4($s1) -/* 103264 7F0CE734 AE0DFFFC */ sw $t5, -4($s0) -.L7F0CE738: -/* 103268 7F0CE738 8FAF0088 */ lw $t7, 0x88($sp) -/* 10326C 7F0CE73C 25F8FFFF */ addiu $t8, $t7, -1 -/* 103270 7F0CE740 1F00FE94 */ bgtz $t8, .L7F0CE194 -/* 103274 7F0CE744 AFB80088 */ sw $t8, 0x88($sp) -.L7F0CE748: -/* 103278 7F0CE748 8FB90058 */ lw $t9, 0x58($sp) -/* 10327C 7F0CE74C 53200004 */ beql $t9, $zero, .L7F0CE760 -/* 103280 7F0CE750 8FAE00A0 */ lw $t6, 0xa0($sp) -/* 103284 7F0CE754 0FC2ED80 */ jal save_ptrDL_enpoint_to_current_init_lightfixture_table -/* 103288 7F0CE758 02002025 */ move $a0, $s0 -/* 10328C 7F0CE75C 8FAE00A0 */ lw $t6, 0xa0($sp) -.L7F0CE760: -/* 103290 7F0CE760 8FBF0054 */ lw $ra, 0x54($sp) -/* 103294 7F0CE764 8FB10034 */ lw $s1, 0x34($sp) -/* 103298 7F0CE768 020E1023 */ subu $v0, $s0, $t6 -/* 10329C 7F0CE76C 8FB00030 */ lw $s0, 0x30($sp) -/* 1032A0 7F0CE770 8FB20038 */ lw $s2, 0x38($sp) -/* 1032A4 7F0CE774 8FB3003C */ lw $s3, 0x3c($sp) -/* 1032A8 7F0CE778 8FB40040 */ lw $s4, 0x40($sp) -/* 1032AC 7F0CE77C 8FB50044 */ lw $s5, 0x44($sp) -/* 1032B0 7F0CE780 8FB60048 */ lw $s6, 0x48($sp) -/* 1032B4 7F0CE784 8FB7004C */ lw $s7, 0x4c($sp) -/* 1032B8 7F0CE788 8FBE0050 */ lw $fp, 0x50($sp) -/* 1032BC 7F0CE78C 03E00008 */ jr $ra -/* 1032C0 7F0CE790 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CE794(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CE794 -/* 1032C4 7F0CE794 000670C3 */ sra $t6, $a2, 3 -/* 1032C8 7F0CE798 25C2FFFF */ addiu $v0, $t6, -1 -/* 1032CC 7F0CE79C 01C03025 */ move $a2, $t6 -/* 1032D0 7F0CE7A0 000218C0 */ sll $v1, $v0, 3 -/* 1032D4 7F0CE7A4 00642021 */ addu $a0, $v1, $a0 -/* 1032D8 7F0CE7A8 00652821 */ addu $a1, $v1, $a1 -/* 1032DC 7F0CE7AC 01C03825 */ move $a3, $t6 -/* 1032E0 7F0CE7B0 10C0000A */ beqz $a2, .L7F0CE7DC -/* 1032E4 7F0CE7B4 00403025 */ move $a2, $v0 -.L7F0CE7B8: -/* 1032E8 7F0CE7B8 8C980000 */ lw $t8, ($a0) -/* 1032EC 7F0CE7BC 8C990004 */ lw $t9, 4($a0) -/* 1032F0 7F0CE7C0 00C03825 */ move $a3, $a2 -/* 1032F4 7F0CE7C4 24A5FFF8 */ addiu $a1, $a1, -8 -/* 1032F8 7F0CE7C8 2484FFF8 */ addiu $a0, $a0, -8 -/* 1032FC 7F0CE7CC ACB80008 */ sw $t8, 8($a1) -/* 103300 7F0CE7D0 ACB9000C */ sw $t9, 0xc($a1) -/* 103304 7F0CE7D4 14C0FFF8 */ bnez $a2, .L7F0CE7B8 -/* 103308 7F0CE7D8 24C6FFFF */ addiu $a2, $a2, -1 -.L7F0CE7DC: -/* 10330C 7F0CE7DC 03E00008 */ jr $ra -/* 103310 7F0CE7E0 00000000 */ nop -) -#endif - - - - diff --git a/src/game/unk_0CC4C0.h b/src/game/unk_0CC4C0.h deleted file mode 100644 index 32719ef..0000000 --- a/src/game/unk_0CC4C0.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _UNK_0CC4C0_H_ -#define _UNK_0CC4C0_H_ -#include "ultra64.h" - -struct image_sound { - u32 *thing1; - u32 *thing2; - u16 thing3; - u16 thing4; -}; - -#endif diff --git a/src/game/unk_0D1AC0.c b/src/game/unk_0D1AC0.c deleted file mode 100644 index aab277c..0000000 --- a/src/game/unk_0D1AC0.c +++ /dev/null @@ -1,734 +0,0 @@ -#include "ultra64.h" - - -// data -f32 D_8004EAF0 = 0.0; -f32 D_8004EAF4 = 0.0; - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0D1AC0(void *arg0) { - void *temp_v1; - void *temp_a1; - void *temp_a0; - void *temp_a3; - void *temp_v1_2; - void *temp_a1_2; - void *temp_a2; - - // Node 0 - D_8004EAF4 = 0.0f; - D_8004EAF0 = (f32) D_8004EAF4; - temp_v1 = (arg0 + 8); - *arg0 = 0xba000c02; - arg0->unk4 = 0; - temp_a1 = (temp_v1 + 8); - temp_v1->unk4 = 0xc0; - *temp_v1 = 0xba000602; - temp_a1->unk4 = 1; - *temp_a1 = 0xb6000000; - temp_a0 = (temp_a1 + 8); - temp_a3 = (temp_a0 + 8); - *temp_a0 = 0xe7000000; - temp_a0->unk4 = 0; - temp_v1_2 = (temp_a3 + 8); - *temp_a3 = 0xba001301; - temp_a3->unk4 = 0; - temp_a1_2 = (temp_v1_2 + 8); - temp_v1_2->unk4 = 0x300000; - *temp_v1_2 = 0xba001402; - temp_a2 = (temp_a1_2 + 8); - temp_a1_2->unk4 = 0xf0a4000; - *temp_a1_2 = 0xb900031d; - temp_a2->unk4 = 0x800000; - *temp_a2 = 0xba001701; - return; - // (possible return value: (temp_a2 + 8)) -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D1AC0 -/* 1065F0 7F0D1AC0 44802000 */ mtc1 $zero, $f4 -/* 1065F4 7F0D1AC4 3C088005 */ lui $t0, %hi(D_8004EAF4) -/* 1065F8 7F0D1AC8 2508EAF4 */ addiu $t0, %lo(D_8004EAF4) # addiu $t0, $t0, -0x150c -/* 1065FC 7F0D1ACC E5040000 */ swc1 $f4, ($t0) -/* 106600 7F0D1AD0 C5060000 */ lwc1 $f6, ($t0) -/* 106604 7F0D1AD4 3C018005 */ lui $at, %hi(D_8004EAF0) -/* 106608 7F0D1AD8 00801025 */ move $v0, $a0 -/* 10660C 7F0D1ADC 3C0EBA00 */ lui $t6, (0xBA000C02 >> 16) # lui $t6, 0xba00 -/* 106610 7F0D1AE0 E426EAF0 */ swc1 $f6, %lo(D_8004EAF0)($at) -/* 106614 7F0D1AE4 35CE0C02 */ ori $t6, (0xBA000C02 & 0xFFFF) # ori $t6, $t6, 0xc02 -/* 106618 7F0D1AE8 24830008 */ addiu $v1, $a0, 8 -/* 10661C 7F0D1AEC AC4E0000 */ sw $t6, ($v0) -/* 106620 7F0D1AF0 AC400004 */ sw $zero, 4($v0) -/* 106624 7F0D1AF4 3C0FBA00 */ lui $t7, (0xBA000602 >> 16) # lui $t7, 0xba00 -/* 106628 7F0D1AF8 35EF0602 */ ori $t7, (0xBA000602 & 0xFFFF) # ori $t7, $t7, 0x602 -/* 10662C 7F0D1AFC 24650008 */ addiu $a1, $v1, 8 -/* 106630 7F0D1B00 241800C0 */ li $t8, 192 -/* 106634 7F0D1B04 AC780004 */ sw $t8, 4($v1) -/* 106638 7F0D1B08 AC6F0000 */ sw $t7, ($v1) -/* 10663C 7F0D1B0C 3C19B600 */ lui $t9, 0xb600 -/* 106640 7F0D1B10 24090001 */ li $t1, 1 -/* 106644 7F0D1B14 ACA90004 */ sw $t1, 4($a1) -/* 106648 7F0D1B18 ACB90000 */ sw $t9, ($a1) -/* 10664C 7F0D1B1C 24A40008 */ addiu $a0, $a1, 8 -/* 106650 7F0D1B20 24870008 */ addiu $a3, $a0, 8 -/* 106654 7F0D1B24 3C0AE700 */ lui $t2, 0xe700 -/* 106658 7F0D1B28 AC8A0000 */ sw $t2, ($a0) -/* 10665C 7F0D1B2C AC800004 */ sw $zero, 4($a0) -/* 106660 7F0D1B30 3C0BBA00 */ lui $t3, (0xBA001301 >> 16) # lui $t3, 0xba00 -/* 106664 7F0D1B34 356B1301 */ ori $t3, (0xBA001301 & 0xFFFF) # ori $t3, $t3, 0x1301 -/* 106668 7F0D1B38 24E30008 */ addiu $v1, $a3, 8 -/* 10666C 7F0D1B3C ACEB0000 */ sw $t3, ($a3) -/* 106670 7F0D1B40 ACE00004 */ sw $zero, 4($a3) -/* 106674 7F0D1B44 3C0CBA00 */ lui $t4, (0xBA001402 >> 16) # lui $t4, 0xba00 -/* 106678 7F0D1B48 358C1402 */ ori $t4, (0xBA001402 & 0xFFFF) # ori $t4, $t4, 0x1402 -/* 10667C 7F0D1B4C 24650008 */ addiu $a1, $v1, 8 -/* 106680 7F0D1B50 3C0D0030 */ lui $t5, 0x30 -/* 106684 7F0D1B54 AC6D0004 */ sw $t5, 4($v1) -/* 106688 7F0D1B58 AC6C0000 */ sw $t4, ($v1) -/* 10668C 7F0D1B5C 3C0F0F0A */ lui $t7, (0x0F0A4000 >> 16) # lui $t7, 0xf0a -/* 106690 7F0D1B60 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 106694 7F0D1B64 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 106698 7F0D1B68 35EF4000 */ ori $t7, (0x0F0A4000 & 0xFFFF) # ori $t7, $t7, 0x4000 -/* 10669C 7F0D1B6C 24A60008 */ addiu $a2, $a1, 8 -/* 1066A0 7F0D1B70 3C18BA00 */ lui $t8, (0xBA001701 >> 16) # lui $t8, 0xba00 -/* 1066A4 7F0D1B74 ACAF0004 */ sw $t7, 4($a1) -/* 1066A8 7F0D1B78 ACAE0000 */ sw $t6, ($a1) -/* 1066AC 7F0D1B7C 37181701 */ ori $t8, (0xBA001701 & 0xFFFF) # ori $t8, $t8, 0x1701 -/* 1066B0 7F0D1B80 3C190080 */ lui $t9, 0x80 -/* 1066B4 7F0D1B84 ACD90004 */ sw $t9, 4($a2) -/* 1066B8 7F0D1B88 ACD80000 */ sw $t8, ($a2) -/* 1066BC 7F0D1B8C 03E00008 */ jr $ra -/* 1066C0 7F0D1B90 24C20008 */ addiu $v0, $a2, 8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D1B94(s32 arg1, ?32 argE) { - // Node 0 - sub_GAME_7F0D1BD0(arg1, arg1, argE, 2, 1); - return; - // (possible return value: sub_GAME_7F0D1BD0(arg1, arg1, argE, 2, 1)) -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D1B94 -/* 1066C4 7F0D1B94 44856000 */ mtc1 $a1, $f12 -/* 1066C8 7F0D1B98 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 1066CC 7F0D1B9C 8FAE0038 */ lw $t6, 0x38($sp) -/* 1066D0 7F0D1BA0 AFBF0024 */ sw $ra, 0x24($sp) -/* 1066D4 7F0D1BA4 240F0002 */ li $t7, 2 -/* 1066D8 7F0D1BA8 24180001 */ li $t8, 1 -/* 1066DC 7F0D1BAC 44056000 */ mfc1 $a1, $f12 -/* 1066E0 7F0D1BB0 AFB80018 */ sw $t8, 0x18($sp) -/* 1066E4 7F0D1BB4 AFAF0014 */ sw $t7, 0x14($sp) -/* 1066E8 7F0D1BB8 0FC346F4 */ jal sub_GAME_7F0D1BD0 -/* 1066EC 7F0D1BBC AFAE0010 */ sw $t6, 0x10($sp) -/* 1066F0 7F0D1BC0 8FBF0024 */ lw $ra, 0x24($sp) -/* 1066F4 7F0D1BC4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 1066F8 7F0D1BC8 03E00008 */ jr $ra -/* 1066FC 7F0D1BCC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D1BD0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D1BD0 -/* 106700 7F0D1BD0 44856000 */ mtc1 $a1, $f12 -/* 106704 7F0D1BD4 44802000 */ mtc1 $zero, $f4 -/* 106708 7F0D1BD8 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 10670C 7F0D1BDC AFB2000C */ sw $s2, 0xc($sp) -/* 106710 7F0D1BE0 460C203C */ c.lt.s $f4, $f12 -/* 106714 7F0D1BE4 AFB10008 */ sw $s1, 8($sp) -/* 106718 7F0D1BE8 AFB00004 */ sw $s0, 4($sp) -/* 10671C 7F0D1BEC AFA60018 */ sw $a2, 0x18($sp) -/* 106720 7F0D1BF0 45000070 */ bc1f .L7F0D1DB4 -/* 106724 7F0D1BF4 AFA7001C */ sw $a3, 0x1c($sp) -/* 106728 7F0D1BF8 3C058005 */ lui $a1, %hi(D_8004EAF4) -/* 10672C 7F0D1BFC 24A5EAF4 */ addiu $a1, %lo(D_8004EAF4) # addiu $a1, $a1, -0x150c -/* 106730 7F0D1C00 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 106734 7F0D1C04 44817000 */ mtc1 $at, $f14 -/* 106738 7F0D1C08 C4A00000 */ lwc1 $f0, ($a1) -/* 10673C 7F0D1C0C 3C01435B */ li $at, 0x435B0000 # 219.000000 -/* 106740 7F0D1C10 44815000 */ mtc1 $at, $f10 -/* 106744 7F0D1C14 460E0183 */ div.s $f6, $f0, $f14 -/* 106748 7F0D1C18 00804025 */ move $t0, $a0 -/* 10674C 7F0D1C1C 3C18F700 */ lui $t8, 0xf700 -/* 106750 7F0D1C20 AD180000 */ sw $t8, ($t0) -/* 106754 7F0D1C24 460A0402 */ mul.s $f16, $f0, $f10 -/* 106758 7F0D1C28 460C0080 */ add.s $f2, $f0, $f12 -/* 10675C 7F0D1C2C 8FB90018 */ lw $t9, 0x18($sp) -/* 106760 7F0D1C30 8FB8001C */ lw $t8, 0x1c($sp) -/* 106764 7F0D1C34 24840008 */ addiu $a0, $a0, 8 -/* 106768 7F0D1C38 00197200 */ sll $t6, $t9, 8 -/* 10676C 7F0D1C3C 31CFF800 */ andi $t7, $t6, 0xf800 -/* 106770 7F0D1C40 0018C8C0 */ sll $t9, $t8, 3 -/* 106774 7F0D1C44 332E07C0 */ andi $t6, $t9, 0x7c0 -/* 106778 7F0D1C48 8FB90020 */ lw $t9, 0x20($sp) -/* 10677C 7F0D1C4C 01EEC025 */ or $t8, $t7, $t6 -/* 106780 7F0D1C50 00197883 */ sra $t7, $t9, 2 -/* 106784 7F0D1C54 31EE003E */ andi $t6, $t7, 0x3e -/* 106788 7F0D1C58 030E4825 */ or $t1, $t8, $t6 -/* 10678C 7F0D1C5C 35390001 */ ori $t9, $t1, 1 -/* 106790 7F0D1C60 00197C00 */ sll $t7, $t9, 0x10 -/* 106794 7F0D1C64 01F9C025 */ or $t8, $t7, $t9 -/* 106798 7F0D1C68 460E8483 */ div.s $f18, $f16, $f14 -/* 10679C 7F0D1C6C AD180004 */ sw $t8, 4($t0) -/* 1067A0 7F0D1C70 4600320D */ trunc.w.s $f8, $f6 -/* 1067A4 7F0D1C74 44064000 */ mfc1 $a2, $f8 -/* 1067A8 7F0D1C78 00000000 */ nop -/* 1067AC 7F0D1C7C 00C01025 */ move $v0, $a2 -/* 1067B0 7F0D1C80 460E1183 */ div.s $f6, $f2, $f14 -/* 1067B4 7F0D1C84 4600910D */ trunc.w.s $f4, $f18 -/* 1067B8 7F0D1C88 44072000 */ mfc1 $a3, $f4 -/* 1067BC 7F0D1C8C 4600320D */ trunc.w.s $f8, $f6 -/* 1067C0 7F0D1C90 44034000 */ mfc1 $v1, $f8 -/* 1067C4 7F0D1C94 00000000 */ nop -/* 1067C8 7F0D1C98 0066082A */ slt $at, $v1, $a2 -/* 1067CC 7F0D1C9C 14200042 */ bnez $at, .L7F0D1DA8 -/* 1067D0 7F0D1CA0 28C10003 */ slti $at, $a2, 3 -/* 1067D4 7F0D1CA4 10200040 */ beqz $at, .L7F0D1DA8 -/* 1067D8 7F0D1CA8 3C01435B */ li $at, 0x435B0000 # 219.000000 -/* 1067DC 7F0D1CAC 44815000 */ mtc1 $at, $f10 -/* 1067E0 7F0D1CB0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 1067E4 7F0D1CB4 44819000 */ mtc1 $at, $f18 -/* 1067E8 7F0D1CB8 460A1402 */ mul.s $f16, $f2, $f10 -/* 1067EC 7F0D1CBC 000240C0 */ sll $t0, $v0, 3 -/* 1067F0 7F0D1CC0 01024023 */ subu $t0, $t0, $v0 -/* 1067F4 7F0D1CC4 000840C0 */ sll $t0, $t0, 3 -/* 1067F8 7F0D1CC8 01024023 */ subu $t0, $t0, $v0 -/* 1067FC 7F0D1CCC 00084080 */ sll $t0, $t0, 2 -/* 106800 7F0D1CD0 01024023 */ subu $t0, $t0, $v0 -/* 106804 7F0D1CD4 46128103 */ div.s $f4, $f16, $f18 -/* 106808 7F0D1CD8 00E84823 */ subu $t1, $a3, $t0 -/* 10680C 7F0D1CDC 25290032 */ addiu $t1, $t1, 0x32 -/* 106810 7F0D1CE0 24120007 */ li $s2, 7 -/* 106814 7F0D1CE4 3C11F600 */ lui $s1, 0xf600 -/* 106818 7F0D1CE8 8FAD0028 */ lw $t5, 0x28($sp) -/* 10681C 7F0D1CEC 8FAC0024 */ lw $t4, 0x24($sp) -/* 106820 7F0D1CF0 4600218D */ trunc.w.s $f6, $f4 -/* 106824 7F0D1CF4 44063000 */ mfc1 $a2, $f6 -/* 106828 7F0D1CF8 00000000 */ nop -/* 10682C 7F0D1CFC 00C85823 */ subu $t3, $a2, $t0 -.L7F0D1D00: -/* 106830 7F0D1D00 256B0032 */ addiu $t3, $t3, 0x32 -/* 106834 7F0D1D04 29210032 */ slti $at, $t1, 0x32 -/* 106838 7F0D1D08 01203825 */ move $a3, $t1 -/* 10683C 7F0D1D0C 10200002 */ beqz $at, .L7F0D1D18 -/* 106840 7F0D1D10 01605025 */ move $t2, $t3 -/* 106844 7F0D1D14 24070032 */ li $a3, 50 -.L7F0D1D18: -/* 106848 7F0D1D18 2961010E */ slti $at, $t3, 0x10e -/* 10684C 7F0D1D1C 14200002 */ bnez $at, .L7F0D1D28 -/* 106850 7F0D1D20 250800DB */ addiu $t0, $t0, 0xdb -/* 106854 7F0D1D24 240A010D */ li $t2, 269 -.L7F0D1D28: -/* 106858 7F0D1D28 0147082A */ slt $at, $t2, $a3 -/* 10685C 7F0D1D2C 54200018 */ bnezl $at, .L7F0D1D90 -/* 106860 7F0D1D30 24420001 */ addiu $v0, $v0, 1 -/* 106864 7F0D1D34 00520019 */ multu $v0, $s2 -/* 106868 7F0D1D38 314F03FF */ andi $t7, $t2, 0x3ff -/* 10686C 7F0D1D3C 000FC380 */ sll $t8, $t7, 0xe -/* 106870 7F0D1D40 018DC821 */ addu $t9, $t4, $t5 -/* 106874 7F0D1D44 03117025 */ or $t6, $t8, $s1 -/* 106878 7F0D1D48 00805825 */ move $t3, $a0 -/* 10687C 7F0D1D4C 24840008 */ addiu $a0, $a0, 8 -/* 106880 7F0D1D50 00008012 */ mflo $s0 -/* 106884 7F0D1D54 03307821 */ addu $t7, $t9, $s0 -/* 106888 7F0D1D58 25F80011 */ addiu $t8, $t7, 0x11 -/* 10688C 7F0D1D5C 331903FF */ andi $t9, $t8, 0x3ff -/* 106890 7F0D1D60 00197880 */ sll $t7, $t9, 2 -/* 106894 7F0D1D64 01CFC025 */ or $t8, $t6, $t7 -/* 106898 7F0D1D68 AD780000 */ sw $t8, ($t3) -/* 10689C 7F0D1D6C 01B07821 */ addu $t7, $t5, $s0 -/* 1068A0 7F0D1D70 30F903FF */ andi $t9, $a3, 0x3ff -/* 1068A4 7F0D1D74 00197380 */ sll $t6, $t9, 0xe -/* 1068A8 7F0D1D78 25F80012 */ addiu $t8, $t7, 0x12 -/* 1068AC 7F0D1D7C 331903FF */ andi $t9, $t8, 0x3ff -/* 1068B0 7F0D1D80 00197880 */ sll $t7, $t9, 2 -/* 1068B4 7F0D1D84 01CFC025 */ or $t8, $t6, $t7 -/* 1068B8 7F0D1D88 AD780004 */ sw $t8, 4($t3) -/* 1068BC 7F0D1D8C 24420001 */ addiu $v0, $v0, 1 -.L7F0D1D90: -/* 1068C0 7F0D1D90 0062082A */ slt $at, $v1, $v0 -/* 1068C4 7F0D1D94 14200004 */ bnez $at, .L7F0D1DA8 -/* 1068C8 7F0D1D98 2529FF25 */ addiu $t1, $t1, -0xdb -/* 1068CC 7F0D1D9C 28410003 */ slti $at, $v0, 3 -/* 1068D0 7F0D1DA0 5420FFD7 */ bnezl $at, .L7F0D1D00 -/* 1068D4 7F0D1DA4 00C85823 */ subu $t3, $a2, $t0 -.L7F0D1DA8: -/* 1068D8 7F0D1DA8 C4A80000 */ lwc1 $f8, ($a1) -/* 1068DC 7F0D1DAC 460C4280 */ add.s $f10, $f8, $f12 -/* 1068E0 7F0D1DB0 E4AA0000 */ swc1 $f10, ($a1) -.L7F0D1DB4: -/* 1068E4 7F0D1DB4 8FB00004 */ lw $s0, 4($sp) -/* 1068E8 7F0D1DB8 8FB10008 */ lw $s1, 8($sp) -/* 1068EC 7F0D1DBC 8FB2000C */ lw $s2, 0xc($sp) -/* 1068F0 7F0D1DC0 27BD0010 */ addiu $sp, $sp, 0x10 -/* 1068F4 7F0D1DC4 03E00008 */ jr $ra -/* 1068F8 7F0D1DC8 00801025 */ move $v0, $a0 -) -#endif - - - - - -void sub_GAME_7F0D1DCC(f32 arg0) { - if (0.0f < arg0) { - D_8004EAF4 = (f32) (D_8004EAF4 + arg0); - return; - } -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D1DFC(s32 arg1, ?32 argC) { - // Node 0 - sub_GAME_7F0D1B94(arg1, ((D_8004EAF0 + arg1) - D_8004EAF4), argC); - return; - // (possible return value: sub_GAME_7F0D1B94(arg1, ((D_8004EAF0 + arg1) - D_8004EAF4), argC)) -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D1DFC -/* 10692C 7F0D1DFC 3C018005 */ lui $at, %hi(D_8004EAF0) -/* 106930 7F0D1E00 44856000 */ mtc1 $a1, $f12 -/* 106934 7F0D1E04 C424EAF0 */ lwc1 $f4, %lo(D_8004EAF0)($at) -/* 106938 7F0D1E08 3C018005 */ lui $at, %hi(D_8004EAF4) -/* 10693C 7F0D1E0C C428EAF4 */ lwc1 $f8, %lo(D_8004EAF4)($at) -/* 106940 7F0D1E10 460C2180 */ add.s $f6, $f4, $f12 -/* 106944 7F0D1E14 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 106948 7F0D1E18 8FAE0030 */ lw $t6, 0x30($sp) -/* 10694C 7F0D1E1C AFBF001C */ sw $ra, 0x1c($sp) -/* 106950 7F0D1E20 46083281 */ sub.s $f10, $f6, $f8 -/* 106954 7F0D1E24 AFAE0010 */ sw $t6, 0x10($sp) -/* 106958 7F0D1E28 44055000 */ mfc1 $a1, $f10 -/* 10695C 7F0D1E2C 0FC346E5 */ jal sub_GAME_7F0D1B94 -/* 106960 7F0D1E30 00000000 */ nop -/* 106964 7F0D1E34 8FBF001C */ lw $ra, 0x1c($sp) -/* 106968 7F0D1E38 27BD0020 */ addiu $sp, $sp, 0x20 -/* 10696C 7F0D1E3C 03E00008 */ jr $ra -/* 106970 7F0D1E40 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D1E44(s32 arg1, ?32 argE, ?32 argF, ?32 arg10) { - // Node 0 - sub_GAME_7F0D1BD0(arg1, ((D_8004EAF0 + arg1) - D_8004EAF4), argE, argF, arg10); - return; - // (possible return value: sub_GAME_7F0D1BD0(arg1, ((D_8004EAF0 + arg1) - D_8004EAF4), argE, argF, arg10)) -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D1E44 -/* 106974 7F0D1E44 3C018005 */ lui $at, %hi(D_8004EAF0) -/* 106978 7F0D1E48 44856000 */ mtc1 $a1, $f12 -/* 10697C 7F0D1E4C C424EAF0 */ lwc1 $f4, %lo(D_8004EAF0)($at) -/* 106980 7F0D1E50 3C018005 */ lui $at, %hi(D_8004EAF4) -/* 106984 7F0D1E54 C428EAF4 */ lwc1 $f8, %lo(D_8004EAF4)($at) -/* 106988 7F0D1E58 460C2180 */ add.s $f6, $f4, $f12 -/* 10698C 7F0D1E5C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 106990 7F0D1E60 8FAE0038 */ lw $t6, 0x38($sp) -/* 106994 7F0D1E64 8FAF003C */ lw $t7, 0x3c($sp) -/* 106998 7F0D1E68 46083281 */ sub.s $f10, $f6, $f8 -/* 10699C 7F0D1E6C 8FB80040 */ lw $t8, 0x40($sp) -/* 1069A0 7F0D1E70 AFBF0024 */ sw $ra, 0x24($sp) -/* 1069A4 7F0D1E74 AFAE0010 */ sw $t6, 0x10($sp) -/* 1069A8 7F0D1E78 44055000 */ mfc1 $a1, $f10 -/* 1069AC 7F0D1E7C AFAF0014 */ sw $t7, 0x14($sp) -/* 1069B0 7F0D1E80 0FC346F4 */ jal sub_GAME_7F0D1BD0 -/* 1069B4 7F0D1E84 AFB80018 */ sw $t8, 0x18($sp) -/* 1069B8 7F0D1E88 8FBF0024 */ lw $ra, 0x24($sp) -/* 1069BC 7F0D1E8C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 1069C0 7F0D1E90 03E00008 */ jr $ra -/* 1069C4 7F0D1E94 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D1E98(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D1E98 -/* 1069C8 7F0D1E98 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 1069CC 7F0D1E9C 44810000 */ mtc1 $at, $f0 -/* 1069D0 7F0D1EA0 3C018005 */ lui $at, %hi(D_8004EAF4) -/* 1069D4 7F0D1EA4 C424EAF4 */ lwc1 $f4, %lo(D_8004EAF4)($at) -/* 1069D8 7F0D1EA8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 1069DC 7F0D1EAC AFBF002C */ sw $ra, 0x2c($sp) -/* 1069E0 7F0D1EB0 46002183 */ div.s $f6, $f4, $f0 -/* 1069E4 7F0D1EB4 AFBE0028 */ sw $fp, 0x28($sp) -/* 1069E8 7F0D1EB8 AFB70024 */ sw $s7, 0x24($sp) -/* 1069EC 7F0D1EBC AFB60020 */ sw $s6, 0x20($sp) -/* 1069F0 7F0D1EC0 AFB5001C */ sw $s5, 0x1c($sp) -/* 1069F4 7F0D1EC4 AFB40018 */ sw $s4, 0x18($sp) -/* 1069F8 7F0D1EC8 AFB30014 */ sw $s3, 0x14($sp) -/* 1069FC 7F0D1ECC AFB20010 */ sw $s2, 0x10($sp) -/* 106A00 7F0D1ED0 AFB1000C */ sw $s1, 0xc($sp) -/* 106A04 7F0D1ED4 AFB00008 */ sw $s0, 8($sp) -/* 106A08 7F0D1ED8 00801025 */ move $v0, $a0 -/* 106A0C 7F0D1EDC 3C0FF700 */ lui $t7, 0xf700 -/* 106A10 7F0D1EE0 AC4F0000 */ sw $t7, ($v0) -/* 106A14 7F0D1EE4 000670C0 */ sll $t6, $a2, 3 -/* 106A18 7F0D1EE8 31CF07C0 */ andi $t7, $t6, 0x7c0 -/* 106A1C 7F0D1EEC 0005C200 */ sll $t8, $a1, 8 -/* 106A20 7F0D1EF0 3319F800 */ andi $t9, $t8, 0xf800 -/* 106A24 7F0D1EF4 032FC025 */ or $t8, $t9, $t7 -/* 106A28 7F0D1EF8 00077083 */ sra $t6, $a3, 2 -/* 106A2C 7F0D1EFC 31D9003E */ andi $t9, $t6, 0x3e -/* 106A30 7F0D1F00 03191825 */ or $v1, $t8, $t9 -/* 106A34 7F0D1F04 346F0001 */ ori $t7, $v1, 1 -/* 106A38 7F0D1F08 000F7400 */ sll $t6, $t7, 0x10 -/* 106A3C 7F0D1F0C 4600320D */ trunc.w.s $f8, $f6 -/* 106A40 7F0D1F10 01CFC025 */ or $t8, $t6, $t7 -/* 106A44 7F0D1F14 AC580004 */ sw $t8, 4($v0) -/* 106A48 7F0D1F18 24840008 */ addiu $a0, $a0, 8 -/* 106A4C 7F0D1F1C 44084000 */ mfc1 $t0, $f8 -/* 106A50 7F0D1F20 00000000 */ nop -/* 106A54 7F0D1F24 050200F2 */ bltzl $t0, .L7F0D22F0 -/* 106A58 7F0D1F28 8FBF002C */ lw $ra, 0x2c($sp) -/* 106A5C 7F0D1F2C 44805000 */ mtc1 $zero, $f10 -/* 106A60 7F0D1F30 3C01435B */ li $at, 0x435B0000 # 219.000000 -/* 106A64 7F0D1F34 44819000 */ mtc1 $at, $f18 -/* 106A68 7F0D1F38 46805420 */ cvt.s.w $f16, $f10 -/* 106A6C 7F0D1F3C 24180001 */ li $t8, 1 -/* 106A70 7F0D1F40 44985000 */ mtc1 $t8, $f10 -/* 106A74 7F0D1F44 3C01F600 */ lui $at, 0xf600 -/* 106A78 7F0D1F48 24180002 */ li $t8, 2 -/* 106A7C 7F0D1F4C 000080C0 */ sll $s0, $zero, 3 -/* 106A80 7F0D1F50 46128102 */ mul.s $f4, $f16, $f18 -/* 106A84 7F0D1F54 02008023 */ subu $s0, $s0, $zero -/* 106A88 7F0D1F58 000848C0 */ sll $t1, $t0, 3 -/* 106A8C 7F0D1F5C 01284823 */ subu $t1, $t1, $t0 -/* 106A90 7F0D1F60 25290012 */ addiu $t1, $t1, 0x12 -/* 106A94 7F0D1F64 26030015 */ addiu $v1, $s0, 0x15 -/* 106A98 7F0D1F68 46805420 */ cvt.s.w $f16, $f10 -/* 106A9C 7F0D1F6C 44985000 */ mtc1 $t8, $f10 -/* 106AA0 7F0D1F70 26020012 */ addiu $v0, $s0, 0x12 -/* 106AA4 7F0D1F74 241F0027 */ li $ra, 39 -/* 106AA8 7F0D1F78 241E000B */ li $fp, 11 -/* 106AAC 7F0D1F7C 46002183 */ div.s $f6, $f4, $f0 -/* 106AB0 7F0D1F80 3C17F600 */ lui $s7, 0xf600 -/* 106AB4 7F0D1F84 4600320D */ trunc.w.s $f8, $f6 -/* 106AB8 7F0D1F88 44054000 */ mfc1 $a1, $f8 -/* 106ABC 7F0D1F8C 00000000 */ nop -/* 106AC0 7F0D1F90 24A50032 */ addiu $a1, $a1, 0x32 -/* 106AC4 7F0D1F94 30AF03FF */ andi $t7, $a1, 0x3ff -/* 106AC8 7F0D1F98 000F2B80 */ sll $a1, $t7, 0xe -/* 106ACC 7F0D1F9C 00A15025 */ or $t2, $a1, $at -/* 106AD0 7F0D1FA0 3C01435B */ li $at, 0x435B0000 # 219.000000 -/* 106AD4 7F0D1FA4 44819000 */ mtc1 $at, $f18 -/* 106AD8 7F0D1FA8 3C01F600 */ lui $at, 0xf600 -/* 106ADC 7F0D1FAC 46128102 */ mul.s $f4, $f16, $f18 -/* 106AE0 7F0D1FB0 46805420 */ cvt.s.w $f16, $f10 -/* 106AE4 7F0D1FB4 46002183 */ div.s $f6, $f4, $f0 -/* 106AE8 7F0D1FB8 4600320D */ trunc.w.s $f8, $f6 -/* 106AEC 7F0D1FBC 44064000 */ mfc1 $a2, $f8 -/* 106AF0 7F0D1FC0 00000000 */ nop -/* 106AF4 7F0D1FC4 24C60032 */ addiu $a2, $a2, 0x32 -/* 106AF8 7F0D1FC8 30CF03FF */ andi $t7, $a2, 0x3ff -/* 106AFC 7F0D1FCC 000F3380 */ sll $a2, $t7, 0xe -/* 106B00 7F0D1FD0 00C15825 */ or $t3, $a2, $at -/* 106B04 7F0D1FD4 3C01435B */ li $at, 0x435B0000 # 219.000000 -/* 106B08 7F0D1FD8 44819000 */ mtc1 $at, $f18 -/* 106B0C 7F0D1FDC 3C01F600 */ lui $at, 0xf600 -/* 106B10 7F0D1FE0 46128102 */ mul.s $f4, $f16, $f18 -/* 106B14 7F0D1FE4 46002183 */ div.s $f6, $f4, $f0 -/* 106B18 7F0D1FE8 4600320D */ trunc.w.s $f8, $f6 -/* 106B1C 7F0D1FEC 44074000 */ mfc1 $a3, $f8 -/* 106B20 7F0D1FF0 00000000 */ nop -/* 106B24 7F0D1FF4 24E70032 */ addiu $a3, $a3, 0x32 -/* 106B28 7F0D1FF8 30EF03FF */ andi $t7, $a3, 0x3ff -/* 106B2C 7F0D1FFC 000F3B80 */ sll $a3, $t7, 0xe -/* 106B30 7F0D2000 00E16025 */ or $t4, $a3, $at -/* 106B34 7F0D2004 3C01435B */ li $at, 0x435B0000 # 219.000000 -/* 106B38 7F0D2008 44811000 */ mtc1 $at, $f2 -/* 106B3C 7F0D200C 00000000 */ nop -/* 106B40 7F0D2010 00808025 */ move $s0, $a0 -.L7F0D2014: -/* 106B44 7F0D2014 307203FF */ andi $s2, $v1, 0x3ff -/* 106B48 7F0D2018 305303FF */ andi $s3, $v0, 0x3ff -/* 106B4C 7F0D201C 00137880 */ sll $t7, $s3, 2 -/* 106B50 7F0D2020 0012C080 */ sll $t8, $s2, 2 -/* 106B54 7F0D2024 0158C825 */ or $t9, $t2, $t8 -/* 106B58 7F0D2028 00AF7025 */ or $t6, $a1, $t7 -/* 106B5C 7F0D202C AE0E0004 */ sw $t6, 4($s0) -/* 106B60 7F0D2030 AE190000 */ sw $t9, ($s0) -/* 106B64 7F0D2034 24840008 */ addiu $a0, $a0, 8 -/* 106B68 7F0D2038 00808025 */ move $s0, $a0 -/* 106B6C 7F0D203C 03009025 */ move $s2, $t8 -/* 106B70 7F0D2040 0178C025 */ or $t8, $t3, $t8 -/* 106B74 7F0D2044 00CFC825 */ or $t9, $a2, $t7 -/* 106B78 7F0D2048 AE190004 */ sw $t9, 4($s0) -/* 106B7C 7F0D204C AE180000 */ sw $t8, ($s0) -/* 106B80 7F0D2050 24840008 */ addiu $a0, $a0, 8 -/* 106B84 7F0D2054 00808025 */ move $s0, $a0 -/* 106B88 7F0D2058 01E09825 */ move $s3, $t7 -/* 106B8C 7F0D205C 00F37025 */ or $t6, $a3, $s3 -/* 106B90 7F0D2060 01927825 */ or $t7, $t4, $s2 -/* 106B94 7F0D2064 AE0F0000 */ sw $t7, ($s0) -/* 106B98 7F0D2068 AE0E0004 */ sw $t6, 4($s0) -/* 106B9C 7F0D206C 24840008 */ addiu $a0, $a0, 8 -/* 106BA0 7F0D2070 240D0003 */ li $t5, 3 -/* 106BA4 7F0D2074 448D7000 */ mtc1 $t5, $f14 -/* 106BA8 7F0D2078 27DEFFFC */ addiu $fp, $fp, -4 -/* 106BAC 7F0D207C 468073A0 */ cvt.s.w $f14, $f14 -/* 106BB0 7F0D2080 46027382 */ mul.s $f14, $f14, $f2 -/* 106BB4 7F0D2084 46007383 */ div.s $f14, $f14, $f0 -/* 106BB8 7F0D2088 4600738D */ trunc.w.s $f14, $f14 -/* 106BBC 7F0D208C 44117000 */ mfc1 $s1, $f14 -/* 106BC0 7F0D2090 00000000 */ nop -/* 106BC4 7F0D2094 26310032 */ addiu $s1, $s1, 0x32 -/* 106BC8 7F0D2098 323903FF */ andi $t9, $s1, 0x3ff -/* 106BCC 7F0D209C 00197B80 */ sll $t7, $t9, 0xe -/* 106BD0 7F0D20A0 01F77025 */ or $t6, $t7, $s7 -/* 106BD4 7F0D20A4 01F3C825 */ or $t9, $t7, $s3 -/* 106BD8 7F0D20A8 25AF0001 */ addiu $t7, $t5, 1 -/* 106BDC 7F0D20AC 448F7000 */ mtc1 $t7, $f14 -/* 106BE0 7F0D20B0 00000000 */ nop -/* 106BE4 7F0D20B4 468073A0 */ cvt.s.w $f14, $f14 -/* 106BE8 7F0D20B8 46027482 */ mul.s $f18, $f14, $f2 -/* 106BEC 7F0D20BC 51BE004D */ beql $t5, $fp, .L7F0D21F4 -/* 106BF0 7F0D20C0 46009403 */ div.s $f16, $f18, $f0 -/* 106BF4 7F0D20C4 46009403 */ div.s $f16, $f18, $f0 -.L7F0D20C8: -/* 106BF8 7F0D20C8 00808025 */ move $s0, $a0 -/* 106BFC 7F0D20CC 01D2C025 */ or $t8, $t6, $s2 -/* 106C00 7F0D20D0 AE180000 */ sw $t8, ($s0) -/* 106C04 7F0D20D4 AE190004 */ sw $t9, 4($s0) -/* 106C08 7F0D20D8 24840008 */ addiu $a0, $a0, 8 -/* 106C0C 7F0D20DC 00808025 */ move $s0, $a0 -/* 106C10 7F0D20E0 24840008 */ addiu $a0, $a0, 8 -/* 106C14 7F0D20E4 4600840D */ trunc.w.s $f16, $f16 -/* 106C18 7F0D20E8 44148000 */ mfc1 $s4, $f16 -/* 106C1C 7F0D20EC 00000000 */ nop -/* 106C20 7F0D20F0 26940032 */ addiu $s4, $s4, 0x32 -/* 106C24 7F0D20F4 329803FF */ andi $t8, $s4, 0x3ff -/* 106C28 7F0D20F8 0018CB80 */ sll $t9, $t8, 0xe -/* 106C2C 7F0D20FC 03377825 */ or $t7, $t9, $s7 -/* 106C30 7F0D2100 0333C025 */ or $t8, $t9, $s3 -/* 106C34 7F0D2104 25B90002 */ addiu $t9, $t5, 2 -/* 106C38 7F0D2108 44998000 */ mtc1 $t9, $f16 -/* 106C3C 7F0D210C 01F27025 */ or $t6, $t7, $s2 -/* 106C40 7F0D2110 AE0E0000 */ sw $t6, ($s0) -/* 106C44 7F0D2114 46808420 */ cvt.s.w $f16, $f16 -/* 106C48 7F0D2118 AE180004 */ sw $t8, 4($s0) -/* 106C4C 7F0D211C 00808025 */ move $s0, $a0 -/* 106C50 7F0D2120 24840008 */ addiu $a0, $a0, 8 -/* 106C54 7F0D2124 46028402 */ mul.s $f16, $f16, $f2 -/* 106C58 7F0D2128 46008403 */ div.s $f16, $f16, $f0 -/* 106C5C 7F0D212C 4600840D */ trunc.w.s $f16, $f16 -/* 106C60 7F0D2130 44158000 */ mfc1 $s5, $f16 -/* 106C64 7F0D2134 00000000 */ nop -/* 106C68 7F0D2138 26B50032 */ addiu $s5, $s5, 0x32 -/* 106C6C 7F0D213C 32AE03FF */ andi $t6, $s5, 0x3ff -/* 106C70 7F0D2140 000EC380 */ sll $t8, $t6, 0xe -/* 106C74 7F0D2144 0317C825 */ or $t9, $t8, $s7 -/* 106C78 7F0D2148 03137025 */ or $t6, $t8, $s3 -/* 106C7C 7F0D214C 25B80003 */ addiu $t8, $t5, 3 -/* 106C80 7F0D2150 44988000 */ mtc1 $t8, $f16 -/* 106C84 7F0D2154 25AD0004 */ addiu $t5, $t5, 4 -/* 106C88 7F0D2158 448D7000 */ mtc1 $t5, $f14 -/* 106C8C 7F0D215C 46808420 */ cvt.s.w $f16, $f16 -/* 106C90 7F0D2160 03327825 */ or $t7, $t9, $s2 -/* 106C94 7F0D2164 AE0F0000 */ sw $t7, ($s0) -/* 106C98 7F0D2168 AE0E0004 */ sw $t6, 4($s0) -/* 106C9C 7F0D216C 00808025 */ move $s0, $a0 -/* 106CA0 7F0D2170 24840008 */ addiu $a0, $a0, 8 -/* 106CA4 7F0D2174 46028402 */ mul.s $f16, $f16, $f2 -/* 106CA8 7F0D2178 46008403 */ div.s $f16, $f16, $f0 -/* 106CAC 7F0D217C 4600840D */ trunc.w.s $f16, $f16 -/* 106CB0 7F0D2180 468073A0 */ cvt.s.w $f14, $f14 -/* 106CB4 7F0D2184 44168000 */ mfc1 $s6, $f16 -/* 106CB8 7F0D2188 00000000 */ nop -/* 106CBC 7F0D218C 26D60032 */ addiu $s6, $s6, 0x32 -/* 106CC0 7F0D2190 32CF03FF */ andi $t7, $s6, 0x3ff -/* 106CC4 7F0D2194 46027382 */ mul.s $f14, $f14, $f2 -/* 106CC8 7F0D2198 000F7380 */ sll $t6, $t7, 0xe -/* 106CCC 7F0D219C 01D7C025 */ or $t8, $t6, $s7 -/* 106CD0 7F0D21A0 0312C825 */ or $t9, $t8, $s2 -/* 106CD4 7F0D21A4 AE190000 */ sw $t9, ($s0) -/* 106CD8 7F0D21A8 01D37825 */ or $t7, $t6, $s3 -/* 106CDC 7F0D21AC AE0F0004 */ sw $t7, 4($s0) -/* 106CE0 7F0D21B0 46007383 */ div.s $f14, $f14, $f0 -/* 106CE4 7F0D21B4 4600738D */ trunc.w.s $f14, $f14 -/* 106CE8 7F0D21B8 44117000 */ mfc1 $s1, $f14 -/* 106CEC 7F0D21BC 00000000 */ nop -/* 106CF0 7F0D21C0 26310032 */ addiu $s1, $s1, 0x32 -/* 106CF4 7F0D21C4 323903FF */ andi $t9, $s1, 0x3ff -/* 106CF8 7F0D21C8 00197B80 */ sll $t7, $t9, 0xe -/* 106CFC 7F0D21CC 01F77025 */ or $t6, $t7, $s7 -/* 106D00 7F0D21D0 01F3C825 */ or $t9, $t7, $s3 -/* 106D04 7F0D21D4 25AF0001 */ addiu $t7, $t5, 1 -/* 106D08 7F0D21D8 448F7000 */ mtc1 $t7, $f14 -/* 106D0C 7F0D21DC 00000000 */ nop -/* 106D10 7F0D21E0 468073A0 */ cvt.s.w $f14, $f14 -/* 106D14 7F0D21E4 46027482 */ mul.s $f18, $f14, $f2 -/* 106D18 7F0D21E8 55BEFFB7 */ bnel $t5, $fp, .L7F0D20C8 -/* 106D1C 7F0D21EC 46009403 */ div.s $f16, $f18, $f0 -/* 106D20 7F0D21F0 46009403 */ div.s $f16, $f18, $f0 -.L7F0D21F4: -/* 106D24 7F0D21F4 00808025 */ move $s0, $a0 -/* 106D28 7F0D21F8 01D2C025 */ or $t8, $t6, $s2 -/* 106D2C 7F0D21FC AE180000 */ sw $t8, ($s0) -/* 106D30 7F0D2200 AE190004 */ sw $t9, 4($s0) -/* 106D34 7F0D2204 24840008 */ addiu $a0, $a0, 8 -/* 106D38 7F0D2208 00808025 */ move $s0, $a0 -/* 106D3C 7F0D220C 24840008 */ addiu $a0, $a0, 8 -/* 106D40 7F0D2210 27DE0004 */ addiu $fp, $fp, 4 -/* 106D44 7F0D2214 4600840D */ trunc.w.s $f16, $f16 -/* 106D48 7F0D2218 44148000 */ mfc1 $s4, $f16 -/* 106D4C 7F0D221C 00000000 */ nop -/* 106D50 7F0D2220 26940032 */ addiu $s4, $s4, 0x32 -/* 106D54 7F0D2224 329803FF */ andi $t8, $s4, 0x3ff -/* 106D58 7F0D2228 0018CB80 */ sll $t9, $t8, 0xe -/* 106D5C 7F0D222C 03377825 */ or $t7, $t9, $s7 -/* 106D60 7F0D2230 0333C025 */ or $t8, $t9, $s3 -/* 106D64 7F0D2234 25B90002 */ addiu $t9, $t5, 2 -/* 106D68 7F0D2238 44998000 */ mtc1 $t9, $f16 -/* 106D6C 7F0D223C 01F27025 */ or $t6, $t7, $s2 -/* 106D70 7F0D2240 AE0E0000 */ sw $t6, ($s0) -/* 106D74 7F0D2244 46808420 */ cvt.s.w $f16, $f16 -/* 106D78 7F0D2248 AE180004 */ sw $t8, 4($s0) -/* 106D7C 7F0D224C 00808025 */ move $s0, $a0 -/* 106D80 7F0D2250 24840008 */ addiu $a0, $a0, 8 -/* 106D84 7F0D2254 46028402 */ mul.s $f16, $f16, $f2 -/* 106D88 7F0D2258 46008403 */ div.s $f16, $f16, $f0 -/* 106D8C 7F0D225C 4600840D */ trunc.w.s $f16, $f16 -/* 106D90 7F0D2260 44158000 */ mfc1 $s5, $f16 -/* 106D94 7F0D2264 00000000 */ nop -/* 106D98 7F0D2268 26B50032 */ addiu $s5, $s5, 0x32 -/* 106D9C 7F0D226C 32AE03FF */ andi $t6, $s5, 0x3ff -/* 106DA0 7F0D2270 000EC380 */ sll $t8, $t6, 0xe -/* 106DA4 7F0D2274 0317C825 */ or $t9, $t8, $s7 -/* 106DA8 7F0D2278 03137025 */ or $t6, $t8, $s3 -/* 106DAC 7F0D227C 25B80003 */ addiu $t8, $t5, 3 -/* 106DB0 7F0D2280 44988000 */ mtc1 $t8, $f16 -/* 106DB4 7F0D2284 03327825 */ or $t7, $t9, $s2 -/* 106DB8 7F0D2288 AE0F0000 */ sw $t7, ($s0) -/* 106DBC 7F0D228C 46808420 */ cvt.s.w $f16, $f16 -/* 106DC0 7F0D2290 AE0E0004 */ sw $t6, 4($s0) -/* 106DC4 7F0D2294 00808025 */ move $s0, $a0 -/* 106DC8 7F0D2298 24840008 */ addiu $a0, $a0, 8 -/* 106DCC 7F0D229C 25AD0004 */ addiu $t5, $t5, 4 -/* 106DD0 7F0D22A0 46028402 */ mul.s $f16, $f16, $f2 -/* 106DD4 7F0D22A4 46008403 */ div.s $f16, $f16, $f0 -/* 106DD8 7F0D22A8 4600840D */ trunc.w.s $f16, $f16 -/* 106DDC 7F0D22AC 44168000 */ mfc1 $s6, $f16 -/* 106DE0 7F0D22B0 00000000 */ nop -/* 106DE4 7F0D22B4 26D60032 */ addiu $s6, $s6, 0x32 -/* 106DE8 7F0D22B8 32CF03FF */ andi $t7, $s6, 0x3ff -/* 106DEC 7F0D22BC 000F7380 */ sll $t6, $t7, 0xe -/* 106DF0 7F0D22C0 01D7C025 */ or $t8, $t6, $s7 -/* 106DF4 7F0D22C4 0312C825 */ or $t9, $t8, $s2 -/* 106DF8 7F0D22C8 01D37825 */ or $t7, $t6, $s3 -/* 106DFC 7F0D22CC AE0F0004 */ sw $t7, 4($s0) -/* 106E00 7F0D22D0 AE190000 */ sw $t9, ($s0) -/* 106E04 7F0D22D4 24420007 */ addiu $v0, $v0, 7 -/* 106E08 7F0D22D8 0122082A */ slt $at, $t1, $v0 -/* 106E0C 7F0D22DC 14200003 */ bnez $at, .L7F0D22EC -/* 106E10 7F0D22E0 24630007 */ addiu $v1, $v1, 7 -/* 106E14 7F0D22E4 545FFF4B */ bnel $v0, $ra, .L7F0D2014 -/* 106E18 7F0D22E8 00808025 */ move $s0, $a0 -.L7F0D22EC: -/* 106E1C 7F0D22EC 8FBF002C */ lw $ra, 0x2c($sp) -.L7F0D22F0: -/* 106E20 7F0D22F0 8FB00008 */ lw $s0, 8($sp) -/* 106E24 7F0D22F4 8FB1000C */ lw $s1, 0xc($sp) -/* 106E28 7F0D22F8 8FB20010 */ lw $s2, 0x10($sp) -/* 106E2C 7F0D22FC 8FB30014 */ lw $s3, 0x14($sp) -/* 106E30 7F0D2300 8FB40018 */ lw $s4, 0x18($sp) -/* 106E34 7F0D2304 8FB5001C */ lw $s5, 0x1c($sp) -/* 106E38 7F0D2308 8FB60020 */ lw $s6, 0x20($sp) -/* 106E3C 7F0D230C 8FB70024 */ lw $s7, 0x24($sp) -/* 106E40 7F0D2310 8FBE0028 */ lw $fp, 0x28($sp) -/* 106E44 7F0D2314 27BD0030 */ addiu $sp, $sp, 0x30 -/* 106E48 7F0D2318 03E00008 */ jr $ra -/* 106E4C 7F0D231C 00801025 */ move $v0, $a0 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sub_GAME_7F0D2320(void) { - // Node 0 - D_8004EAF4 = (f32) (((s32) (D_8004EAF4 / 10.0f) * 0xa) + 0xa); - D_8004EAF0 = (f32) D_8004EAF4; - return; - // (possible return value: (((s32) (D_8004EAF4 / 10.0f) * 0xa) + 0xa)) -} - -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D2320 -/* 106E50 7F0D2320 3C038005 */ lui $v1, %hi(D_8004EAF4) -/* 106E54 7F0D2324 2463EAF4 */ addiu $v1, %lo(D_8004EAF4) # addiu $v1, $v1, -0x150c -/* 106E58 7F0D2328 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 106E5C 7F0D232C 44813000 */ mtc1 $at, $f6 -/* 106E60 7F0D2330 C4640000 */ lwc1 $f4, ($v1) -/* 106E64 7F0D2334 3C018005 */ lui $at, %hi(D_8004EAF0) -/* 106E68 7F0D2338 46062203 */ div.s $f8, $f4, $f6 -/* 106E6C 7F0D233C 4600428D */ trunc.w.s $f10, $f8 -/* 106E70 7F0D2340 44025000 */ mfc1 $v0, $f10 -/* 106E74 7F0D2344 00000000 */ nop -/* 106E78 7F0D2348 00027880 */ sll $t7, $v0, 2 -/* 106E7C 7F0D234C 01E27821 */ addu $t7, $t7, $v0 -/* 106E80 7F0D2350 000F7840 */ sll $t7, $t7, 1 -/* 106E84 7F0D2354 25E2000A */ addiu $v0, $t7, 0xa -/* 106E88 7F0D2358 44828000 */ mtc1 $v0, $f16 -/* 106E8C 7F0D235C 00000000 */ nop -/* 106E90 7F0D2360 468084A0 */ cvt.s.w $f18, $f16 -/* 106E94 7F0D2364 E4720000 */ swc1 $f18, ($v1) -/* 106E98 7F0D2368 C4640000 */ lwc1 $f4, ($v1) -/* 106E9C 7F0D236C 03E00008 */ jr $ra -/* 106EA0 7F0D2370 E424EAF0 */ swc1 $f4, %lo(D_8004EAF0)($at) -) -#endif - - - - diff --git a/src/game/viewport.c b/src/game/viewport.c deleted file mode 100644 index fd2a2c5..0000000 --- a/src/game/viewport.c +++ /dev/null @@ -1,299 +0,0 @@ -#include "ultra64.h" -#include "game/bond.h" - -// bss -s32 viewport_img_width; -s32 viewport_img_height; - - -// data -s32 viewport_img = 0; - - -void remove_viewport_buffer(void) { - viewport_img = 0; -} - - -#ifdef NONMATCHING -void allocate_viewport_buffer(void) { - -} -#else -GLOBAL_ASM( -.text -glabel allocate_viewport_buffer -/* 106EBC 7F0D238C 3C0E8003 */ lui $t6, %hi(resolution) -/* 106EC0 7F0D2390 8DCE6428 */ lw $t6, %lo(resolution)($t6) -/* 106EC4 7F0D2394 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 106EC8 7F0D2398 AFBF0014 */ sw $ra, 0x14($sp) -/* 106ECC 7F0D239C 11C00008 */ beqz $t6, .L7F0D23C0 -/* 106ED0 7F0D23A0 3C028009 */ lui $v0, %hi(viewport_img_height) -/* 106ED4 7F0D23A4 240F01B8 */ li $t7, 440 -/* 106ED8 7F0D23A8 3C018009 */ lui $at, %hi(viewport_img_width) -/* 106EDC 7F0D23AC 2442E314 */ addiu $v0, %lo(viewport_img_height) # addiu $v0, $v0, -0x1cec -/* 106EE0 7F0D23B0 AC2FE310 */ sw $t7, %lo(viewport_img_width)($at) -/* 106EE4 7F0D23B4 2418014A */ li $t8, 330 -/* 106EE8 7F0D23B8 10000010 */ b .L7F0D23FC -/* 106EEC 7F0D23BC AC580000 */ sw $t8, ($v0) -.L7F0D23C0: -/* 106EF0 7F0D23C0 24190140 */ li $t9, 320 -/* 106EF4 7F0D23C4 3C018009 */ lui $at, %hi(viewport_img_width) -/* 106EF8 7F0D23C8 0FC26919 */ jal get_num_players -/* 106EFC 7F0D23CC AC39E310 */ sw $t9, %lo(viewport_img_width)($at) -/* 106F00 7F0D23D0 24010001 */ li $at, 1 -/* 106F04 7F0D23D4 14410005 */ bne $v0, $at, .L7F0D23EC -/* 106F08 7F0D23D8 3C028009 */ lui $v0, %hi(viewport_img_height) -/* 106F0C 7F0D23DC 2442E314 */ addiu $v0, %lo(viewport_img_height) # addiu $v0, $v0, -0x1cec -/* 106F10 7F0D23E0 240800F0 */ li $t0, 240 -/* 106F14 7F0D23E4 10000005 */ b .L7F0D23FC -/* 106F18 7F0D23E8 AC480000 */ sw $t0, ($v0) -.L7F0D23EC: -/* 106F1C 7F0D23EC 3C028009 */ lui $v0, %hi(viewport_img_height) -/* 106F20 7F0D23F0 2442E314 */ addiu $v0, %lo(viewport_img_height) # addiu $v0, $v0, -0x1cec -/* 106F24 7F0D23F4 24090078 */ li $t1, 120 -/* 106F28 7F0D23F8 AC490000 */ sw $t1, ($v0) -.L7F0D23FC: -/* 106F2C 7F0D23FC 3C0A8009 */ lui $t2, %hi(viewport_img_width) -/* 106F30 7F0D2400 8D4AE310 */ lw $t2, %lo(viewport_img_width)($t2) -/* 106F34 7F0D2404 8C4B0000 */ lw $t3, ($v0) -/* 106F38 7F0D2408 24050004 */ li $a1, 4 -/* 106F3C 7F0D240C 014B0019 */ multu $t2, $t3 -/* 106F40 7F0D2410 00002012 */ mflo $a0 -/* 106F44 7F0D2414 00046040 */ sll $t4, $a0, 1 -/* 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) -/* 106F58 7F0D2428 2463EB00 */ addiu $v1, %lo(viewport_img) # addiu $v1, $v1, -0x1500 -/* 106F5C 7F0D242C 244E003F */ addiu $t6, $v0, 0x3f -/* 106F60 7F0D2430 2401FFC0 */ li $at, -64 -/* 106F64 7F0D2434 AC620000 */ sw $v0, ($v1) -/* 106F68 7F0D2438 01C17824 */ and $t7, $t6, $at -/* 106F6C 7F0D243C AC6F0000 */ sw $t7, ($v1) -/* 106F70 7F0D2440 03E00008 */ jr $ra -/* 106F74 7F0D2444 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - -void sub_GAME_7F0D2448(s32 vp_image, s32 vp_width, s32 vp_height) { - viewport_img = vp_image; - viewport_img_width = vp_width; - viewport_img_height = vp_height; -} - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D2464(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D2464 -/* 106F94 7F0D2464 3C0E8005 */ lui $t6, %hi(viewport_img) -/* 106F98 7F0D2468 8DCEEB00 */ lw $t6, %lo(viewport_img)($t6) -/* 106F9C 7F0D246C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 106FA0 7F0D2470 AFBF0014 */ sw $ra, 0x14($sp) -/* 106FA4 7F0D2474 15C00004 */ bnez $t6, .L7F0D2488 -/* 106FA8 7F0D2478 00803025 */ move $a2, $a0 -/* 106FAC 7F0D247C 0FC348E3 */ jal allocate_viewport_buffer -/* 106FB0 7F0D2480 AFA40018 */ sw $a0, 0x18($sp) -/* 106FB4 7F0D2484 8FA60018 */ lw $a2, 0x18($sp) -.L7F0D2488: -/* 106FB8 7F0D2488 0FC26C54 */ jal get_cur_playernum -/* 106FBC 7F0D248C AFA60018 */ sw $a2, 0x18($sp) -/* 106FC0 7F0D2490 28410002 */ slti $at, $v0, 2 -/* 106FC4 7F0D2494 1020000B */ beqz $at, .L7F0D24C4 -/* 106FC8 7F0D2498 8FA60018 */ lw $a2, 0x18($sp) -/* 106FCC 7F0D249C 0FC26919 */ jal get_num_players -/* 106FD0 7F0D24A0 AFA60018 */ sw $a2, 0x18($sp) -/* 106FD4 7F0D24A4 24010002 */ li $at, 2 -/* 106FD8 7F0D24A8 14410009 */ bne $v0, $at, .L7F0D24D0 -/* 106FDC 7F0D24AC 8FA60018 */ lw $a2, 0x18($sp) -/* 106FE0 7F0D24B0 0FC26C54 */ jal get_cur_playernum -/* 106FE4 7F0D24B4 AFA60018 */ sw $a2, 0x18($sp) -/* 106FE8 7F0D24B8 24010001 */ li $at, 1 -/* 106FEC 7F0D24BC 14410004 */ bne $v0, $at, .L7F0D24D0 -/* 106FF0 7F0D24C0 8FA60018 */ lw $a2, 0x18($sp) -.L7F0D24C4: -/* 106FF4 7F0D24C4 3C070001 */ lui $a3, (0x00012C00 >> 16) # lui $a3, 1 -/* 106FF8 7F0D24C8 10000002 */ b .L7F0D24D4 -/* 106FFC 7F0D24CC 34E72C00 */ ori $a3, (0x00012C00 & 0xFFFF) # ori $a3, $a3, 0x2c00 -.L7F0D24D0: -/* 107000 7F0D24D0 00003825 */ move $a3, $zero -.L7F0D24D4: -/* 107004 7F0D24D4 3C0F8005 */ lui $t7, %hi(viewport_img) -/* 107008 7F0D24D8 8DEFEB00 */ lw $t7, %lo(viewport_img)($t7) -/* 10700C 7F0D24DC 3C19E700 */ lui $t9, 0xe700 -/* 107010 7F0D24E0 2401FFC0 */ li $at, -64 -/* 107014 7F0D24E4 ACD90000 */ sw $t9, ($a2) -/* 107018 7F0D24E8 ACC00004 */ sw $zero, 4($a2) -/* 10701C 7F0D24EC 24C50008 */ addiu $a1, $a2, 8 -/* 107020 7F0D24F0 01E71823 */ subu $v1, $t7, $a3 -/* 107024 7F0D24F4 0061C024 */ and $t8, $v1, $at -/* 107028 7F0D24F8 3C08FE00 */ lui $t0, 0xfe00 -/* 10702C 7F0D24FC ACA80000 */ sw $t0, ($a1) -/* 107030 7F0D2500 ACB80004 */ sw $t8, 4($a1) -/* 107034 7F0D2504 8FBF0014 */ lw $ra, 0x14($sp) -/* 107038 7F0D2508 24A20008 */ addiu $v0, $a1, 8 -/* 10703C 7F0D250C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 107040 7F0D2510 03E00008 */ jr $ra -/* 107044 7F0D2514 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0D2518(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0D2518 -/* 107048 7F0D2518 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 10704C 7F0D251C AFB00018 */ sw $s0, 0x18($sp) -/* 107050 7F0D2520 AFBF001C */ sw $ra, 0x1c($sp) -/* 107054 7F0D2524 24900008 */ addiu $s0, $a0, 8 -/* 107058 7F0D2528 3C0EE700 */ lui $t6, 0xe700 -/* 10705C 7F0D252C AC8E0000 */ sw $t6, ($a0) -/* 107060 7F0D2530 AC800004 */ sw $zero, 4($a0) -/* 107064 7F0D2534 02001825 */ move $v1, $s0 -/* 107068 7F0D2538 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 10706C 7F0D253C 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 107070 7F0D2540 AC6F0000 */ sw $t7, ($v1) -/* 107074 7F0D2544 AC600004 */ sw $zero, 4($v1) -/* 107078 7F0D2548 3C188009 */ lui $t8, %hi(viewport_img_width) -/* 10707C 7F0D254C 8F18E310 */ lw $t8, %lo(viewport_img_width)($t8) -/* 107080 7F0D2550 26100008 */ addiu $s0, $s0, 8 -/* 107084 7F0D2554 3C01FF10 */ lui $at, 0xff10 -/* 107088 7F0D2558 2719FFFF */ addiu $t9, $t8, -1 -/* 10708C 7F0D255C 33280FFF */ andi $t0, $t9, 0xfff -/* 107090 7F0D2560 01014825 */ or $t1, $t0, $at -/* 107094 7F0D2564 02002825 */ move $a1, $s0 -/* 107098 7F0D2568 ACA90000 */ sw $t1, ($a1) -/* 10709C 7F0D256C 3C0A8005 */ lui $t2, %hi(viewport_img) -/* 1070A0 7F0D2570 8D4AEB00 */ lw $t2, %lo(viewport_img)($t2) -/* 1070A4 7F0D2574 26100008 */ addiu $s0, $s0, 8 -/* 1070A8 7F0D2578 3C018000 */ lui $at, 0x8000 -/* 1070AC 7F0D257C 02003025 */ move $a2, $s0 -/* 1070B0 7F0D2580 01415821 */ addu $t3, $t2, $at -/* 1070B4 7F0D2584 ACAB0004 */ sw $t3, 4($a1) -/* 1070B8 7F0D2588 26100008 */ addiu $s0, $s0, 8 -/* 1070BC 7F0D258C 3C0CBA00 */ lui $t4, (0xBA001402 >> 16) # lui $t4, 0xba00 -/* 1070C0 7F0D2590 358C1402 */ ori $t4, (0xBA001402 & 0xFFFF) # ori $t4, $t4, 0x1402 -/* 1070C4 7F0D2594 3C0D0030 */ lui $t5, 0x30 -/* 1070C8 7F0D2598 02003825 */ move $a3, $s0 -/* 1070CC 7F0D259C ACCD0004 */ sw $t5, 4($a2) -/* 1070D0 7F0D25A0 ACCC0000 */ sw $t4, ($a2) -/* 1070D4 7F0D25A4 3C0FFFFC */ lui $t7, (0xFFFCFFFC >> 16) # lui $t7, 0xfffc -/* 1070D8 7F0D25A8 35EFFFFC */ ori $t7, (0xFFFCFFFC & 0xFFFF) # ori $t7, $t7, 0xfffc -/* 1070DC 7F0D25AC 26100008 */ addiu $s0, $s0, 8 -/* 1070E0 7F0D25B0 3C0EF700 */ lui $t6, 0xf700 -/* 1070E4 7F0D25B4 ACEE0000 */ sw $t6, ($a3) -/* 1070E8 7F0D25B8 ACEF0004 */ sw $t7, 4($a3) -/* 1070EC 7F0D25BC 02001025 */ move $v0, $s0 -/* 1070F0 7F0D25C0 3C18ED00 */ lui $t8, 0xed00 -/* 1070F4 7F0D25C4 AC580000 */ sw $t8, ($v0) -/* 1070F8 7F0D25C8 AFA20030 */ sw $v0, 0x30($sp) -/* 1070FC 7F0D25CC 0C001107 */ jal get_video2_settings_txtClipW -/* 107100 7F0D25D0 26100008 */ addiu $s0, $s0, 8 -/* 107104 7F0D25D4 0C00110B */ jal get_video2_settings_txtClipH -/* 107108 7F0D25D8 A7A20026 */ sh $v0, 0x26($sp) -/* 10710C 7F0D25DC 44822000 */ mtc1 $v0, $f4 -/* 107110 7F0D25E0 87AA0026 */ lh $t2, 0x26($sp) -/* 107114 7F0D25E4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 107118 7F0D25E8 468021A0 */ cvt.s.w $f6, $f4 -/* 10711C 7F0D25EC 448A8000 */ mtc1 $t2, $f16 -/* 107120 7F0D25F0 44810000 */ mtc1 $at, $f0 -/* 107124 7F0D25F4 8FB80030 */ lw $t8, 0x30($sp) -/* 107128 7F0D25F8 468084A0 */ cvt.s.w $f18, $f16 -/* 10712C 7F0D25FC 46003202 */ mul.s $f8, $f6, $f0 -/* 107130 7F0D2600 00000000 */ nop -/* 107134 7F0D2604 46009102 */ mul.s $f4, $f18, $f0 -/* 107138 7F0D2608 4600428D */ trunc.w.s $f10, $f8 -/* 10713C 7F0D260C 4600218D */ trunc.w.s $f6, $f4 -/* 107140 7F0D2610 44085000 */ mfc1 $t0, $f10 -/* 107144 7F0D2614 440C3000 */ mfc1 $t4, $f6 -/* 107148 7F0D2618 31090FFF */ andi $t1, $t0, 0xfff -/* 10714C 7F0D261C 318D0FFF */ andi $t5, $t4, 0xfff -/* 107150 7F0D2620 000D7300 */ sll $t6, $t5, 0xc -/* 107154 7F0D2624 012E7825 */ or $t7, $t1, $t6 -/* 107158 7F0D2628 0FC26919 */ jal get_num_players -/* 10715C 7F0D262C AF0F0004 */ sw $t7, 4($t8) -/* 107160 7F0D2630 28410003 */ slti $at, $v0, 3 -/* 107164 7F0D2634 10200005 */ beqz $at, .L7F0D264C -/* 107168 7F0D2638 00000000 */ nop -/* 10716C 7F0D263C 0C001107 */ jal get_video2_settings_txtClipW -/* 107170 7F0D2640 AFA0004C */ sw $zero, 0x4c($sp) -/* 107174 7F0D2644 1000001B */ b .L7F0D26B4 -/* 107178 7F0D2648 2445FFFF */ addiu $a1, $v0, -1 -.L7F0D264C: -/* 10717C 7F0D264C 0FC26C54 */ jal get_cur_playernum -/* 107180 7F0D2650 00000000 */ nop -/* 107184 7F0D2654 10400006 */ beqz $v0, .L7F0D2670 -/* 107188 7F0D2658 00000000 */ nop -/* 10718C 7F0D265C 0FC26C54 */ jal get_cur_playernum -/* 107190 7F0D2660 00000000 */ nop -/* 107194 7F0D2664 24010002 */ li $at, 2 -/* 107198 7F0D2668 14410009 */ bne $v0, $at, .L7F0D2690 -/* 10719C 7F0D266C 00000000 */ nop -.L7F0D2670: -/* 1071A0 7F0D2670 0C001107 */ jal get_video2_settings_txtClipW -/* 1071A4 7F0D2674 AFA0004C */ sw $zero, 0x4c($sp) -/* 1071A8 7F0D2678 04410003 */ bgez $v0, .L7F0D2688 -/* 1071AC 7F0D267C 00022843 */ sra $a1, $v0, 1 -/* 1071B0 7F0D2680 24410001 */ addiu $at, $v0, 1 -/* 1071B4 7F0D2684 00012843 */ sra $a1, $at, 1 -.L7F0D2688: -/* 1071B8 7F0D2688 1000000A */ b .L7F0D26B4 -/* 1071BC 7F0D268C 24A5FFFF */ addiu $a1, $a1, -1 -.L7F0D2690: -/* 1071C0 7F0D2690 0C001107 */ jal get_video2_settings_txtClipW -/* 1071C4 7F0D2694 00000000 */ nop -/* 1071C8 7F0D2698 04410003 */ bgez $v0, .L7F0D26A8 -/* 1071CC 7F0D269C 0002C843 */ sra $t9, $v0, 1 -/* 1071D0 7F0D26A0 24410001 */ addiu $at, $v0, 1 -/* 1071D4 7F0D26A4 0001C843 */ sra $t9, $at, 1 -.L7F0D26A8: -/* 1071D8 7F0D26A8 0C001107 */ jal get_video2_settings_txtClipW -/* 1071DC 7F0D26AC AFB9004C */ sw $t9, 0x4c($sp) -/* 1071E0 7F0D26B0 2445FFFF */ addiu $a1, $v0, -1 -.L7F0D26B4: -/* 1071E4 7F0D26B4 3C0C8009 */ lui $t4, %hi(viewport_img_height) -/* 1071E8 7F0D26B8 8D8CE314 */ lw $t4, %lo(viewport_img_height)($t4) -/* 1071EC 7F0D26BC 30A803FF */ andi $t0, $a1, 0x3ff -/* 1071F0 7F0D26C0 00085380 */ sll $t2, $t0, 0xe -/* 1071F4 7F0D26C4 258DFFFF */ addiu $t5, $t4, -1 -/* 1071F8 7F0D26C8 31A903FF */ andi $t1, $t5, 0x3ff -/* 1071FC 7F0D26CC 3C01F600 */ lui $at, 0xf600 -/* 107200 7F0D26D0 01415825 */ or $t3, $t2, $at -/* 107204 7F0D26D4 00097080 */ sll $t6, $t1, 2 -/* 107208 7F0D26D8 016E7825 */ or $t7, $t3, $t6 -/* 10720C 7F0D26DC 02001825 */ move $v1, $s0 -/* 107210 7F0D26E0 AC6F0000 */ sw $t7, ($v1) -/* 107214 7F0D26E4 8FB8004C */ lw $t8, 0x4c($sp) -/* 107218 7F0D26E8 26100008 */ addiu $s0, $s0, 8 -/* 10721C 7F0D26EC 02002025 */ move $a0, $s0 -/* 107220 7F0D26F0 331903FF */ andi $t9, $t8, 0x3ff -/* 107224 7F0D26F4 00194380 */ sll $t0, $t9, 0xe -/* 107228 7F0D26F8 AC680004 */ sw $t0, 4($v1) -/* 10722C 7F0D26FC 3C0AE700 */ lui $t2, 0xe700 -/* 107230 7F0D2700 AC8A0000 */ sw $t2, ($a0) -/* 107234 7F0D2704 AC800004 */ sw $zero, 4($a0) -/* 107238 7F0D2708 8FBF001C */ lw $ra, 0x1c($sp) -/* 10723C 7F0D270C 26020008 */ addiu $v0, $s0, 8 -/* 107240 7F0D2710 8FB00018 */ lw $s0, 0x18($sp) -/* 107244 7F0D2714 03E00008 */ jr $ra -/* 107248 7F0D2718 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - diff --git a/src/game/watch.c b/src/game/watch.c deleted file mode 100644 index 7ac1519..0000000 --- a/src/game/watch.c +++ /dev/null @@ -1,12115 +0,0 @@ -#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]; -char dword_CODE_bss_8007B0E0[0x40]; - - -// data -//D:800409A0 -s32 D_800409A0 = 4; -//D:800409A4 -s32 D_800409A4 = 0; -//D:800409A8 -s32 watch_soundrelated_maybe = 0; -//D:800409AC -s32 D_800409AC = 0; -//D:800409B0 -s32 D_800409B0 = 0; -//D:800409B4 -s32 D_800409B4 = 0; -//D:800409B8 -s32 D_800409B8 = 0; -//D:800409BC -f32 D_800409BC = 0.0f; -//D:800409C0 -s32 D_800409C0 = 0; -//D:800409C4 -s32 D_800409C4 = 0; -//D:800409C8 -f32 D_800409C8 = 0.0f; -//D:800409CC -f32 D_800409CC = 0.0f; -//D:800409D0 -s32 D_800409D0 = -1; -//D:800409D4 -f32 D_800409D4 = 0.0f; -//D:800409D8 -s32 D_800409D8 = 8; -//D:800409DC -u16 D_800409DC[] = { - 0xAC09, 0xAC03, 0xAC02, 0xAC00, - 0xAC01, 0xAC01, 0xAC06, 0xAC06, - 0xAC04, 0xAC05, 0xAC0A, 0xAC03, - 0xAC02, 0xAC00, 0xAC01, 0xAC01, - 0xAC05, 0xAC05, 0xAC04, 0xAC06, - 0xAC0B, 0xAC00, 0xAC02, 0xAC01, - 0xAC03, 0xAC03, 0xAC06, 0xAC06, - 0xAC04, 0xAC05, 0xAC0C, 0xAC00, - 0xAC02, 0xAC01, 0xAC03, 0xAC03, - 0xAC05, 0xAC05, 0xAC04, 0xAC06, - 0xAC0D, 0xAC07, 0xAC07, 0xAC07, - 0xAC07, 0xAC07, 0xAC07, 0xAC07, - 0xAC07, 0xAC07, 0xAC0E, 0xAC07, - 0xAC07, 0xAC07, 0xAC07, 0xAC07, - 0xAC07, 0xAC07, 0xAC07, 0xAC07, - 0xAC0F, 0xAC07, 0xAC07, 0xAC07, - 0xAC07, 0xAC07, 0xAC07, 0xAC07, - 0xAC07, 0xAC07, 0xAC10, 0xAC07, - 0xAC07, 0xAC07, 0xAC07, 0xAC07, - 0xAC07, 0xAC07, 0xAC07, 0xAC07 -}; - -//D:80040A7C -u16 D_80040A7C[] = {0xAC11, 0xAC1C, 0xAC1B, 0}; -//D:80040A84 -u32 cur_player_look_vertical_inverted = 0; -//D:80040A88 -u16 D_80040A88[] = {0xAC12, 0xAC1A, 0xAC19, 0}; -//D:80040A90 -u32 cur_player_autoaim_setting = 1; -//D:80040A94 -u16 D_80040A94[] = {0xAC14, 0xAC1E, 0xAC1D, 0}; -//D:80040A9C -u32 cur_player_aim_control = 0; -//D:80040AA0 -u16 D_80040AA0[] = {0xAC15, 0xAC1A, 0xAC19, 0}; -//D:80040AA8 -u32 cur_player_sight_onscreen = 1; -//D:80040AAC -u16 D_80040AAC[] = {0xAC13, 0xAC1A, 0xAC19, 0}; -//D:80040AB4 -u32 cur_player_lookahead_setting = 1; -//D:80040AB8 -u16 D_80040AB8[] = {0xAC16, 0xAC1A, 0xAC19, 0}; -//D:80040AC0 -u32 cur_player_ammo_onscreen_setting = 1; -//D:80040AC4 -u16 D_80040AC4[] = {0xAC17, 0xAC1F, 0xAC20, 0xAC21}; -//D:80040ACC -u32 cur_player_screen_setting = 0; -//D:80040AD0 -u16 D_80040AD0[] = {0xAC18, 0xAC22, 0xAC23, 0}; -//D:80040AD8 -u32 screen_ratio = 0; -//D:80040ADC -u32 controlstick_lr_enabled = 0; -//D:80040AE0 -u32 D_80040AE0 = 0; -//D:80040AE4 -u32 D_80040AE4 = 0; -//D:80040AE8 -f32 D_80040AE8 = 0.0f; -//D:80040AEC -f32 D_80040AEC = 0.0f; -//D:80040AF0 -f32 D_80040AF0 = 45.0f; -//D:80040AF4 -u32 D_80040AF4 = 0xFF00A0; -//D:80040AF8 -u32 D_80040AF8 = 0xA; -//D:80040AFC -u32 D_80040AFC = 0xFF; -//D:80040B00 -u32 D_80040B00 = 0xA; -//D:80040B04 -u32 D_80040B04 = 0xE0; -//D:80040B08 -u32 D_80040B08 = 0; -//D:80040B0C -u32 D_80040B0C = 0xFFA0; -//D:80040B10 -u32 D_80040B10 = 0xF800; -//D:80040B14 -f32 D_80040B14 = 0.0f; -//D:80040B18 -f32 D_80040B18 = 0.0f; -//D:80040B1C -f32 D_80040B1C = 2.5f; -//D:80040B20 -f32 D_80040B20 = 0.0f; -//D:80040B24 -f32 D_80040B24 = 0.0f; -//D:80040B28 -f32 D_80040B28 = 0.0f; -//D:80040B2C -u32 D_80040B2C = 0; -//D:80040B30 -f32 D_80040B30 = 0.0f; -//D:80040B34 -f32 D_80040B34 = 0.0f; -//D:80040B38 -f32 D_80040B38 = 0.0f; -//D:80040B3C -u32 D_80040B3C = 0; -//D:80040B40 -u32 D_80040B40 = 0; -//D:80040B44 -u32 D_80040B44 = 0x10000; -//D:80040B48 -u32 D_80040B48 = 0x32; -//D:80040B4C -u32 D_80040B4C = 0x32; -//D:80040B50 -u32 D_80040B50 = 0x32; -//D:80040B54 -u32 D_80040B54 = 0x32; -//D:80040B58 -u16 mTrack2Vol = 0x7FFF; -//D:80040B5C -u32 D_80040B5C = 0; -//D:80040B60 -u32 D_80040B60 = 0x43480000; -//D:80040B64 -u32 D_80040B64 = 0xC3480000; -//D:80040B68 -u32 D_80040B68 = 0; - -//D:80040B6C -u32 D_80040B6C = 0; -//D:80040B70 -u32 D_80040B70 = 0; -//D:80040B74 -u32 D_80040B74 = 0; -//D:80040B78 -u32 D_80040B78 = 0; -//D:80040B7C -u32 D_80040B7C = 0; -//D:80040B80 -u32 D_80040B80 = 0; -//D:80040B84 -u32 D_80040B84 = 0; -//D:80040B88 -u32 D_80040B88 = 0; -//D:80040B8C -u32 D_80040B8C = 0; -//D:80040B90 -u32 D_80040B90 = 0; -//D:80040B94 -u32 D_80040B94 = 0; -//D:80040B98 -u32 D_80040B98 = 0; -//D:80040B9C -u32 D_80040B9C = 0; -//D:80040BA0 -u32 D_80040BA0 = 0; -//D:80040BA4 -u32 D_80040BA4 = 0; -//D:80040BA8 -u32 D_80040BA8 = 0; -//D:80040BAC -u32 D_80040BAC = 0; -//D:80040BB0 -u32 D_80040BB0 = 0; - -//D:80040BB4 -u32 D_80040BB4[] = { - 0xC4610000, 0x43480000, 0xC2340000, 0x4432C000, 0x43480000, 0x43C48000, - 0xC45AC000, 0x43480000, 0xC3520000, 0x44610000, 0x43480000, 0xC3820000, - 0x44610000, 0x43480000, 0xC3200000, 0x44548000, 0x43480000, 0xC3520000, - 0x446D8000, 0x43480000, 0xC3520000, 0x44610000, 0x43480000, 0x43000000, - 0x44610000, 0x43480000, 0xC2340000, 0xC44D0000, 0x43480000, 0xC3C28000, - 0x444D0000, 0x43480000, 0xC3C28000, 0xC44F8000, 0x43480000, 0x429C0000, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0xC4160000, 0x43480000, 0x43FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0xC4160000, 0x43480000, 0x43700000, 0xC4160000, 0x43480000, - 0x42DC0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0 -}; - -//D:80040D10 -u32 D_80040D10[] = { - 0x44FA0000, 0xC4160000, 0x43480000 -}; - -//D:80040D1C -u32 D_80040D1C = 0x43A00000; - -//D:80040D20 -u32 D_80040D20[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44160000, 0x43480000, 0x43FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0, - 0x44FA0000, 0x44160000, 0x43480000, 0x43700000, 0x44160000, 0x43480000, - 0x42DC0000, 0x44FA0000, 0, - 0x44FA0000, 0x44FA0000, 0 -}; - -//D:80040DEC -u32 D_80040DEC[] = {0x44FA0000, 0x44160000, 0x43480000}; -//D:80040DF8 -u32 D_80040DF8 = 0x43A00000; - -//D:80040DFC -s32 D_80040DFC[] = {0x34, 0x2F, 0x2D, 0x2A, 0x28, 0x25, 0x25, 0x28, 0x2A, 0x2D, 0x2F, 0x34, 0x37, 0x40, 0xFFFFFFFF}; - -//D:80040E38 -s32 D_80040E38 = 0x4B; -//D:80040E3C -s32 D_80040E3C = 0xFFFFFFFF; - -//D:80040E40 -s32 D_80040E40[] = {0x10E, 0x113, 0x116, 0x119, 0x11A, 0x11B, 0x11B, 0x11A, 0x119, 0x116, 0x113, 0x10E, 0x108, 0xFE, 0xFFFFFFFF}; -//D:80040E7C -s32 D_80040E7C = 0; - - - -// rodata -//D:80057760 -const char aDD[] = "%d, %d\n"; -//D:80057768 -const char aDDDF[] = "%d, %d\n%d %f\n"; -//D:80057778 -const char aA[] = "(A)\n"; -//D:80057780 -const char aB[] = "(B)\n"; -//D:80057788 -const char aZ[] = "(Z)\n"; -//D:80057790 -const char aL[] = "(L)\n"; -//D:80057798 -const char aR[] = "(R)\n"; -//D:800577A0 -const char aC[] = "(C)\n"; -//D:800577A8 -const char D_800577A8[] = "(+)\n"; -//D:800577B0 -const char aS_0[] = "(S)\n"; -//D:800577B8 -const char a3d[] = "(3D)\n"; -//D:800577C0 -const char D_800577C0[] = "\n"; - -//D:800577C4 -const u32 D_800577C4[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 -}; -//D:80057FC0 -const u32 D_80057FC0[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -//D:80058440 -const char D_80058440[] = " \n"; -//D:80058444 -const char D_80058444[] = " \n\n"; -//D:80058448 -const char aC_2[] = "%c: "; -//D:80058450 -const char D_80058450[] = " \n"; -//D:80058454 -const char D_80058454[] = " \n\n"; - - - - -void nullsub_7F0A4860(void) { - -} - - - - - - -#ifdef NONMATCHING -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( -.text -glabel init_watch_at_start_of_stage -/* 0D9398 7F0A4868 3C018004 */ lui $at, %hi(D_80040994) -/* 0D939C 7F0A486C AC200994 */ sw $zero, %lo(D_80040994)($at) -/* 0D93A0 7F0A4870 3C018004 */ lui $at, %hi(D_80040998) -/* 0D93A4 7F0A4874 AC200998 */ sw $zero, %lo(D_80040998)($at) -/* 0D93A8 7F0A4878 3C018004 */ lui $at, %hi(D_8004099C) -/* 0D93AC 7F0A487C AC20099C */ sw $zero, %lo(D_8004099C)($at) -/* 0D93B0 7F0A4880 3C018004 */ lui $at, %hi(D_800409A0) -/* 0D93B4 7F0A4884 240E0004 */ li $t6, 4 -/* 0D93B8 7F0A4888 AC2E09A0 */ sw $t6, %lo(D_800409A0)($at) -/* 0D93BC 7F0A488C 3C018004 */ lui $at, %hi(D_800409A4) -/* 0D93C0 7F0A4890 AC2009A4 */ sw $zero, %lo(D_800409A4)($at) -/* 0D93C4 7F0A4894 3C018004 */ lui $at, %hi(watch_soundrelated_maybe) -/* 0D93C8 7F0A4898 AC2009A8 */ sw $zero, %lo(watch_soundrelated_maybe)($at) -/* 0D93CC 7F0A489C 3C018004 */ lui $at, %hi(D_800409AC) -/* 0D93D0 7F0A48A0 AC2009AC */ sw $zero, %lo(D_800409AC)($at) -/* 0D93D4 7F0A48A4 3C018004 */ lui $at, %hi(D_800409B0) -/* 0D93D8 7F0A48A8 AC2009B0 */ sw $zero, %lo(D_800409B0)($at) -/* 0D93DC 7F0A48AC 3C018004 */ lui $at, %hi(D_800409B4) -/* 0D93E0 7F0A48B0 AC2009B4 */ sw $zero, %lo(D_800409B4)($at) -/* 0D93E4 7F0A48B4 44800000 */ mtc1 $zero, $f0 -/* 0D93E8 7F0A48B8 3C018004 */ lui $at, %hi(D_800409B8) -/* 0D93EC 7F0A48BC AC2009B8 */ sw $zero, %lo(D_800409B8)($at) -/* 0D93F0 7F0A48C0 3C018004 */ lui $at, %hi(D_800409BC) -/* 0D93F4 7F0A48C4 E42009BC */ swc1 $f0, %lo(D_800409BC)($at) -/* 0D93F8 7F0A48C8 3C018004 */ lui $at, %hi(D_800409C0) -/* 0D93FC 7F0A48CC AC2009C0 */ sw $zero, %lo(D_800409C0)($at) -/* 0D9400 7F0A48D0 3C018004 */ lui $at, %hi(D_800409C4) -/* 0D9404 7F0A48D4 AC2009C4 */ sw $zero, %lo(D_800409C4)($at) -/* 0D9408 7F0A48D8 3C018004 */ lui $at, %hi(D_800409C8) -/* 0D940C 7F0A48DC E42009C8 */ swc1 $f0, %lo(D_800409C8)($at) -/* 0D9410 7F0A48E0 3C018004 */ lui $at, %hi(D_800409CC) -/* 0D9414 7F0A48E4 3C188005 */ lui $t8, %hi(j_text_trigger) -/* 0D9418 7F0A48E8 E42009CC */ swc1 $f0, %lo(D_800409CC)($at) -/* 0D941C 7F0A48EC 8F1884D0 */ lw $t8, %lo(j_text_trigger)($t8) -/* 0D9420 7F0A48F0 3C018004 */ lui $at, %hi(D_800409D0) -/* 0D9424 7F0A48F4 240FFFFF */ li $t7, -1 -/* 0D9428 7F0A48F8 AC2F09D0 */ sw $t7, %lo(D_800409D0)($at) -/* 0D942C 7F0A48FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9430 7F0A4900 3C018004 */ lui $at, %hi(D_800409D4) -/* 0D9434 7F0A4904 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9438 7F0A4908 13000003 */ beqz $t8, .L7F0A4918 -/* 0D943C 7F0A490C E42009D4 */ swc1 $f0, %lo(D_800409D4)($at) -/* 0D9440 7F0A4910 10000001 */ b .L7F0A4918 -/* 0D9444 7F0A4914 00000000 */ nop -.L7F0A4918: -/* 0D9448 7F0A4918 3C028008 */ lui $v0, %hi(pPlayer) -/* 0D944C 7F0A491C 2442A0B0 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5f50 -/* 0D9450 7F0A4920 8C590000 */ lw $t9, ($v0) -/* 0D9454 7F0A4924 24050001 */ li $a1, 1 -/* 0D9458 7F0A4928 240C0008 */ li $t4, 8 -/* 0D945C 7F0A492C AF202A64 */ sw $zero, 0x2a64($t9) -/* 0D9460 7F0A4930 8C480000 */ lw $t0, ($v0) -/* 0D9464 7F0A4934 3C018004 */ lui $at, %hi(D_800409D8) -/* 0D9468 7F0A4938 3C0D00FF */ lui $t5, (0x00FF00A0 >> 16) # lui $t5, 0xff -/* 0D946C 7F0A493C AD002A5C */ sw $zero, 0x2a5c($t0) -/* 0D9470 7F0A4940 8C490000 */ lw $t1, ($v0) -/* 0D9474 7F0A4944 35AD00A0 */ ori $t5, (0x00FF00A0 & 0xFFFF) # ori $t5, $t5, 0xa0 -/* 0D9478 7F0A4948 2406000A */ li $a2, 10 -/* 0D947C 7F0A494C AD202A58 */ sw $zero, 0x2a58($t1) -/* 0D9480 7F0A4950 8C4A0000 */ lw $t2, ($v0) -/* 0D9484 7F0A4954 240E00FF */ li $t6, 255 -/* 0D9488 7F0A4958 240F00E0 */ li $t7, 224 -/* 0D948C 7F0A495C E5402A60 */ swc1 $f0, 0x2a60($t2) -/* 0D9490 7F0A4960 8C4B0000 */ lw $t3, ($v0) -/* 0D9494 7F0A4964 3418FFA0 */ li $t8, 65440 -/* 0D9498 7F0A4968 3419F800 */ li $t9, 63488 -/* 0D949C 7F0A496C AD652A68 */ sw $a1, 0x2a68($t3) -/* 0D94A0 7F0A4970 AC2C09D8 */ sw $t4, %lo(D_800409D8)($at) -/* 0D94A4 7F0A4974 3C018004 */ lui $at, %hi(controlstick_lr_enabled) -/* 0D94A8 7F0A4978 AC200ADC */ sw $zero, %lo(controlstick_lr_enabled)($at) -/* 0D94AC 7F0A497C 3C018004 */ lui $at, %hi(D_80040AE0) -/* 0D94B0 7F0A4980 AC200AE0 */ sw $zero, %lo(D_80040AE0)($at) -/* 0D94B4 7F0A4984 3C018004 */ lui $at, %hi(D_80040AE4) -/* 0D94B8 7F0A4988 AC200AE4 */ sw $zero, %lo(D_80040AE4)($at) -/* 0D94BC 7F0A498C 3C018004 */ lui $at, %hi(D_80040AE8) -/* 0D94C0 7F0A4990 E4200AE8 */ swc1 $f0, %lo(D_80040AE8)($at) -/* 0D94C4 7F0A4994 3C018004 */ lui $at, %hi(D_80040AEC) -/* 0D94C8 7F0A4998 E4200AEC */ swc1 $f0, %lo(D_80040AEC)($at) -/* 0D94CC 7F0A499C 3C014234 */ li $at, 0x42340000 # 45.000000 -/* 0D94D0 7F0A49A0 44812000 */ mtc1 $at, $f4 -/* 0D94D4 7F0A49A4 3C018004 */ lui $at, %hi(D_80040AF0) -/* 0D94D8 7F0A49A8 24030032 */ li $v1, 50 -/* 0D94DC 7F0A49AC E4240AF0 */ swc1 $f4, %lo(D_80040AF0)($at) -/* 0D94E0 7F0A49B0 3C018004 */ lui $at, %hi(D_80040AF4) -/* 0D94E4 7F0A49B4 AC2D0AF4 */ sw $t5, %lo(D_80040AF4)($at) -/* 0D94E8 7F0A49B8 3C018004 */ lui $at, %hi(D_80040AF8) -/* 0D94EC 7F0A49BC AC260AF8 */ sw $a2, %lo(D_80040AF8)($at) -/* 0D94F0 7F0A49C0 3C018004 */ lui $at, %hi(D_80040AFC) -/* 0D94F4 7F0A49C4 AC2E0AFC */ sw $t6, %lo(D_80040AFC)($at) -/* 0D94F8 7F0A49C8 3C018004 */ lui $at, %hi(D_80040B00) -/* 0D94FC 7F0A49CC AC260B00 */ sw $a2, %lo(D_80040B00)($at) -/* 0D9500 7F0A49D0 3C018004 */ lui $at, %hi(D_80040B04) -/* 0D9504 7F0A49D4 AC2F0B04 */ sw $t7, %lo(D_80040B04)($at) -/* 0D9508 7F0A49D8 3C018004 */ lui $at, %hi(D_80040B08) -/* 0D950C 7F0A49DC AC200B08 */ sw $zero, %lo(D_80040B08)($at) -/* 0D9510 7F0A49E0 3C018004 */ lui $at, %hi(D_80040B0C) -/* 0D9514 7F0A49E4 AC380B0C */ sw $t8, %lo(D_80040B0C)($at) -/* 0D9518 7F0A49E8 3C018004 */ lui $at, %hi(D_80040B10) -/* 0D951C 7F0A49EC AC390B10 */ sw $t9, %lo(D_80040B10)($at) -/* 0D9520 7F0A49F0 3C018004 */ lui $at, %hi(D_80040B14) -/* 0D9524 7F0A49F4 E4200B14 */ swc1 $f0, %lo(D_80040B14)($at) -/* 0D9528 7F0A49F8 3C018004 */ lui $at, %hi(D_80040B18) -/* 0D952C 7F0A49FC E4200B18 */ swc1 $f0, %lo(D_80040B18)($at) -/* 0D9530 7F0A4A00 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 0D9534 7F0A4A04 44813000 */ mtc1 $at, $f6 -/* 0D9538 7F0A4A08 3C018004 */ lui $at, %hi(D_80040B1C) -/* 0D953C 7F0A4A0C E4260B1C */ swc1 $f6, %lo(D_80040B1C)($at) -/* 0D9540 7F0A4A10 3C018004 */ lui $at, %hi(D_80040B20) -/* 0D9544 7F0A4A14 E4200B20 */ swc1 $f0, %lo(D_80040B20)($at) -/* 0D9548 7F0A4A18 3C018004 */ lui $at, %hi(D_80040B24) -/* 0D954C 7F0A4A1C E4200B24 */ swc1 $f0, %lo(D_80040B24)($at) -/* 0D9550 7F0A4A20 3C018004 */ lui $at, %hi(D_80040B28) -/* 0D9554 7F0A4A24 E4200B28 */ swc1 $f0, %lo(D_80040B28)($at) -/* 0D9558 7F0A4A28 3C018004 */ lui $at, %hi(D_80040B2C) -/* 0D955C 7F0A4A2C AC200B2C */ sw $zero, %lo(D_80040B2C)($at) -/* 0D9560 7F0A4A30 3C018004 */ lui $at, %hi(D_80040B30) -/* 0D9564 7F0A4A34 E4200B30 */ swc1 $f0, %lo(D_80040B30)($at) -/* 0D9568 7F0A4A38 3C018004 */ lui $at, %hi(D_80040B34) -/* 0D956C 7F0A4A3C E4200B34 */ swc1 $f0, %lo(D_80040B34)($at) -/* 0D9570 7F0A4A40 3C018004 */ lui $at, %hi(D_80040B38) -/* 0D9574 7F0A4A44 E4200B38 */ swc1 $f0, %lo(D_80040B38)($at) -/* 0D9578 7F0A4A48 3C018004 */ lui $at, %hi(D_80040B3C) -/* 0D957C 7F0A4A4C AC200B3C */ sw $zero, %lo(D_80040B3C)($at) -/* 0D9580 7F0A4A50 3C018004 */ lui $at, %hi(D_80040B40) -/* 0D9584 7F0A4A54 AC200B40 */ sw $zero, %lo(D_80040B40)($at) -/* 0D9588 7F0A4A58 3C018004 */ lui $at, %hi(D_80040B44) -/* 0D958C 7F0A4A5C A4250B44 */ sh $a1, %lo(D_80040B44)($at) -/* 0D9590 7F0A4A60 3C018004 */ lui $at, %hi(D_80040B48) -/* 0D9594 7F0A4A64 AC230B48 */ sw $v1, %lo(D_80040B48)($at) -/* 0D9598 7F0A4A68 3C018004 */ lui $at, %hi(D_80040B4C) -/* 0D959C 7F0A4A6C AC230B4C */ sw $v1, %lo(D_80040B4C)($at) -/* 0D95A0 7F0A4A70 3C018004 */ lui $at, %hi(D_80040B50) -/* 0D95A4 7F0A4A74 AC230B50 */ sw $v1, %lo(D_80040B50)($at) -/* 0D95A8 7F0A4A78 3C018004 */ lui $at, %hi(D_80040B54) -/* 0D95AC 7F0A4A7C 0FC07540 */ jal sub_GAME_7F01D500 -/* 0D95B0 7F0A4A80 AC230B54 */ sw $v1, %lo(D_80040B54)($at) -/* 0D95B4 7F0A4A84 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D95B8 7F0A4A88 3C018003 */ lui $at, %hi(mission_failed_or_aborted) -/* 0D95BC 7F0A4A8C AC20A924 */ sw $zero, %lo(mission_failed_or_aborted)($at) -/* 0D95C0 7F0A4A90 03E00008 */ jr $ra -/* 0D95C4 7F0A4A94 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - - -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; - } -} - - - - - -#ifdef NONMATCHING - -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( -.text -glabel sub_GAME_7F0A4B40 -/* 0D9670 7F0A4B40 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0D9674 7F0A4B44 AFB00038 */ sw $s0, 0x38($sp) -/* 0D9678 7F0A4B48 00808025 */ move $s0, $a0 -/* 0D967C 7F0A4B4C AFBF0044 */ sw $ra, 0x44($sp) -/* 0D9680 7F0A4B50 AFB20040 */ sw $s2, 0x40($sp) -/* 0D9684 7F0A4B54 AFB1003C */ sw $s1, 0x3c($sp) -/* 0D9688 7F0A4B58 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0D968C 7F0A4B5C 00002025 */ move $a0, $zero -/* 0D9690 7F0A4B60 2841000B */ slti $at, $v0, 0xb -/* 0D9694 7F0A4B64 14200006 */ bnez $at, .L7F0A4B80 -/* 0D9698 7F0A4B68 00002025 */ move $a0, $zero -/* 0D969C 7F0A4B6C 3C128004 */ lui $s2, %hi(D_80040B48) -/* 0D96A0 7F0A4B70 26520B48 */ addiu $s2, %lo(D_80040B48) # addiu $s2, $s2, 0xb48 -/* 0D96A4 7F0A4B74 8E4E0000 */ lw $t6, ($s2) -/* 0D96A8 7F0A4B78 25CF0001 */ addiu $t7, $t6, 1 -/* 0D96AC 7F0A4B7C AE4F0000 */ sw $t7, ($s2) -.L7F0A4B80: -/* 0D96B0 7F0A4B80 3C128004 */ lui $s2, %hi(D_80040B48) -/* 0D96B4 7F0A4B84 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0D96B8 7F0A4B88 26520B48 */ addiu $s2, %lo(D_80040B48) # addiu $s2, $s2, 0xb48 -/* 0D96BC 7F0A4B8C 2841FFF6 */ slti $at, $v0, -0xa -/* 0D96C0 7F0A4B90 10200004 */ beqz $at, .L7F0A4BA4 -/* 0D96C4 7F0A4B94 00000000 */ nop -/* 0D96C8 7F0A4B98 8E580000 */ lw $t8, ($s2) -/* 0D96CC 7F0A4B9C 2719FFFF */ addiu $t9, $t8, -1 -/* 0D96D0 7F0A4BA0 AE590000 */ sw $t9, ($s2) -.L7F0A4BA4: -/* 0D96D4 7F0A4BA4 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0D96D8 7F0A4BA8 00002025 */ move $a0, $zero -/* 0D96DC 7F0A4BAC 2841000B */ slti $at, $v0, 0xb -/* 0D96E0 7F0A4BB0 14200006 */ bnez $at, .L7F0A4BCC -/* 0D96E4 7F0A4BB4 00002025 */ move $a0, $zero -/* 0D96E8 7F0A4BB8 3C118004 */ lui $s1, %hi(D_80040B4C) -/* 0D96EC 7F0A4BBC 26310B4C */ addiu $s1, %lo(D_80040B4C) # addiu $s1, $s1, 0xb4c -/* 0D96F0 7F0A4BC0 8E2A0000 */ lw $t2, ($s1) -/* 0D96F4 7F0A4BC4 254BFFFF */ addiu $t3, $t2, -1 -/* 0D96F8 7F0A4BC8 AE2B0000 */ sw $t3, ($s1) -.L7F0A4BCC: -/* 0D96FC 7F0A4BCC 3C118004 */ lui $s1, %hi(D_80040B4C) -/* 0D9700 7F0A4BD0 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0D9704 7F0A4BD4 26310B4C */ addiu $s1, %lo(D_80040B4C) # addiu $s1, $s1, 0xb4c -/* 0D9708 7F0A4BD8 2841FFF6 */ slti $at, $v0, -0xa -/* 0D970C 7F0A4BDC 10200004 */ beqz $at, .L7F0A4BF0 -/* 0D9710 7F0A4BE0 02001025 */ move $v0, $s0 -/* 0D9714 7F0A4BE4 8E2C0000 */ lw $t4, ($s1) -/* 0D9718 7F0A4BE8 258D0001 */ addiu $t5, $t4, 1 -/* 0D971C 7F0A4BEC AE2D0000 */ sw $t5, ($s1) -.L7F0A4BF0: -/* 0D9720 7F0A4BF0 26100008 */ addiu $s0, $s0, 8 -/* 0D9724 7F0A4BF4 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0D9728 7F0A4BF8 3C0F0050 */ lui $t7, (0x00504240 >> 16) # lui $t7, 0x50 -/* 0D972C 7F0A4BFC 35EF4240 */ ori $t7, (0x00504240 & 0xFFFF) # ori $t7, $t7, 0x4240 -/* 0D9730 7F0A4C00 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0D9734 7F0A4C04 02001825 */ move $v1, $s0 -/* 0D9738 7F0A4C08 AC4E0000 */ sw $t6, ($v0) -/* 0D973C 7F0A4C0C AC4F0004 */ sw $t7, 4($v0) -/* 0D9740 7F0A4C10 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff -/* 0D9744 7F0A4C14 3C19FFFD */ lui $t9, (0xFFFDF6FB >> 16) # lui $t9, 0xfffd -/* 0D9748 7F0A4C18 3739F6FB */ ori $t9, (0xFFFDF6FB & 0xFFFF) # ori $t9, $t9, 0xf6fb -/* 0D974C 7F0A4C1C 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff -/* 0D9750 7F0A4C20 26100008 */ addiu $s0, $s0, 8 -/* 0D9754 7F0A4C24 AC780000 */ sw $t8, ($v1) -/* 0D9758 7F0A4C28 AC790004 */ sw $t9, 4($v1) -/* 0D975C 7F0A4C2C 02004025 */ move $t0, $s0 -/* 0D9760 7F0A4C30 3C0BFF00 */ lui $t3, (0xFF0000FF >> 16) # lui $t3, 0xff00 -/* 0D9764 7F0A4C34 356B00FF */ ori $t3, (0xFF0000FF & 0xFFFF) # ori $t3, $t3, 0xff -/* 0D9768 7F0A4C38 3C0AFA00 */ lui $t2, 0xfa00 -/* 0D976C 7F0A4C3C AD0A0000 */ sw $t2, ($t0) -/* 0D9770 7F0A4C40 AD0B0004 */ sw $t3, 4($t0) -/* 0D9774 7F0A4C44 8E4C0000 */ lw $t4, ($s2) -/* 0D9778 7F0A4C48 8E390000 */ lw $t9, ($s1) -/* 0D977C 7F0A4C4C 3C01F600 */ lui $at, 0xf600 -/* 0D9780 7F0A4C50 258D0001 */ addiu $t5, $t4, 1 -/* 0D9784 7F0A4C54 31AE03FF */ andi $t6, $t5, 0x3ff -/* 0D9788 7F0A4C58 272A0001 */ addiu $t2, $t9, 1 -/* 0D978C 7F0A4C5C 314B03FF */ andi $t3, $t2, 0x3ff -/* 0D9790 7F0A4C60 000E7B80 */ sll $t7, $t6, 0xe -/* 0D9794 7F0A4C64 26100008 */ addiu $s0, $s0, 8 -/* 0D9798 7F0A4C68 01E1C025 */ or $t8, $t7, $at -/* 0D979C 7F0A4C6C 000B6080 */ sll $t4, $t3, 2 -/* 0D97A0 7F0A4C70 030C6825 */ or $t5, $t8, $t4 -/* 0D97A4 7F0A4C74 02004825 */ move $t1, $s0 -/* 0D97A8 7F0A4C78 AD2D0000 */ sw $t5, ($t1) -/* 0D97AC 7F0A4C7C 8E2A0000 */ lw $t2, ($s1) -/* 0D97B0 7F0A4C80 8E4E0000 */ lw $t6, ($s2) -/* 0D97B4 7F0A4C84 3C0D8004 */ lui $t5, %hi(ptrFirstFontTableSmall) -/* 0D97B8 7F0A4C88 314B03FF */ andi $t3, $t2, 0x3ff -/* 0D97BC 7F0A4C8C 31CF03FF */ andi $t7, $t6, 0x3ff -/* 0D97C0 7F0A4C90 000FCB80 */ sll $t9, $t7, 0xe -/* 0D97C4 7F0A4C94 000BC080 */ sll $t8, $t3, 2 -/* 0D97C8 7F0A4C98 03386025 */ or $t4, $t9, $t8 -/* 0D97CC 7F0A4C9C AD2C0004 */ sw $t4, 4($t1) -/* 0D97D0 7F0A4CA0 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) -/* 0D97D4 7F0A4CA4 8DAD0EAC */ lw $t5, %lo(ptrFirstFontTableSmall)($t5) -/* 0D97D8 7F0A4CA8 8DCE0EB0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0D97DC 7F0A4CAC 3C058005 */ lui $a1, %hi(aDD) -/* 0D97E0 7F0A4CB0 26100008 */ addiu $s0, $s0, 8 -/* 0D97E4 7F0A4CB4 24A57760 */ addiu $a1, %lo(aDD) # addiu $a1, $a1, 0x7760 -/* 0D97E8 7F0A4CB8 8E270000 */ lw $a3, ($s1) -/* 0D97EC 7F0A4CBC 8E460000 */ lw $a2, ($s2) -/* 0D97F0 7F0A4CC0 27A4005C */ addiu $a0, $sp, 0x5c -/* 0D97F4 7F0A4CC4 AFAD0058 */ sw $t5, 0x58($sp) -/* 0D97F8 7F0A4CC8 0C002B25 */ jal sprintf -/* 0D97FC 7F0A4CCC AFAE0054 */ sw $t6, 0x54($sp) -/* 0D9800 7F0A4CD0 0FC2B366 */ jal microcode_constructor -/* 0D9804 7F0A4CD4 02002025 */ move $a0, $s0 -/* 0D9808 7F0A4CD8 8FAF0058 */ lw $t7, 0x58($sp) -/* 0D980C 7F0A4CDC 00408025 */ move $s0, $v0 -/* 0D9810 7F0A4CE0 27A4004C */ addiu $a0, $sp, 0x4c -/* 0D9814 7F0A4CE4 27A50050 */ addiu $a1, $sp, 0x50 -/* 0D9818 7F0A4CE8 27A6005C */ addiu $a2, $sp, 0x5c -/* 0D981C 7F0A4CEC 8FA70054 */ lw $a3, 0x54($sp) -/* 0D9820 7F0A4CF0 AFA00014 */ sw $zero, 0x14($sp) -/* 0D9824 7F0A4CF4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0D9828 7F0A4CF8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0D982C 7F0A4CFC 8FAA0054 */ lw $t2, 0x54($sp) -/* 0D9830 7F0A4D00 8FAB0058 */ lw $t3, 0x58($sp) -/* 0D9834 7F0A4D04 8FB80050 */ lw $t8, 0x50($sp) -/* 0D9838 7F0A4D08 8FAC004C */ lw $t4, 0x4c($sp) -/* 0D983C 7F0A4D0C 3C19FF00 */ lui $t9, (0xFF0000FF >> 16) # lui $t9, 0xff00 -/* 0D9840 7F0A4D10 373900FF */ ori $t9, (0xFF0000FF & 0xFFFF) # ori $t9, $t9, 0xff -/* 0D9844 7F0A4D14 AFB90018 */ sw $t9, 0x18($sp) -/* 0D9848 7F0A4D18 02002025 */ move $a0, $s0 -/* 0D984C 7F0A4D1C 02402825 */ move $a1, $s2 -/* 0D9850 7F0A4D20 02203025 */ move $a2, $s1 -/* 0D9854 7F0A4D24 27A7005C */ addiu $a3, $sp, 0x5c -/* 0D9858 7F0A4D28 AFA00024 */ sw $zero, 0x24($sp) -/* 0D985C 7F0A4D2C AFA00028 */ sw $zero, 0x28($sp) -/* 0D9860 7F0A4D30 AFAA0010 */ sw $t2, 0x10($sp) -/* 0D9864 7F0A4D34 AFAB0014 */ sw $t3, 0x14($sp) -/* 0D9868 7F0A4D38 AFB8001C */ sw $t8, 0x1c($sp) -/* 0D986C 7F0A4D3C 0FC2B6AF */ jal en_text_write_stuff -/* 0D9870 7F0A4D40 AFAC0020 */ sw $t4, 0x20($sp) -/* 0D9874 7F0A4D44 8FAE0054 */ lw $t6, 0x54($sp) -/* 0D9878 7F0A4D48 8E2D0000 */ lw $t5, ($s1) -/* 0D987C 7F0A4D4C 8FBF0044 */ lw $ra, 0x44($sp) -/* 0D9880 7F0A4D50 8DCF0890 */ lw $t7, 0x890($t6) -/* 0D9884 7F0A4D54 8FB00038 */ lw $s0, 0x38($sp) -/* 0D9888 7F0A4D58 8FB20040 */ lw $s2, 0x40($sp) -/* 0D988C 7F0A4D5C 01AF5023 */ subu $t2, $t5, $t7 -/* 0D9890 7F0A4D60 254B0001 */ addiu $t3, $t2, 1 -/* 0D9894 7F0A4D64 AE2B0000 */ sw $t3, ($s1) -/* 0D9898 7F0A4D68 8FB1003C */ lw $s1, 0x3c($sp) -/* 0D989C 7F0A4D6C 03E00008 */ jr $ra -/* 0D98A0 7F0A4D70 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - - -u32 controllerCheckDualControllerTypesAllowed(void) -{ - if (get_attached_controller_count() >= 2) - { - if (cur_player_get_control_type() >= 4) - { - return 1; - } - } - return 0; -} - -int cur_player_get_control_type(void){ - return pPlayer->cur_player_control_type_0; -} - - - -#ifdef NONMATCHING -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 -GLOBAL_ASM( -.text -glabel cur_player_set_control_type -/* 0D9900 7F0A4DD0 3C038008 */ lui $v1, %hi(pPlayer) -/* 0D9904 7F0A4DD4 2463A0B0 */ addiu $v1, %lo(pPlayer) # addiu $v1, $v1, -0x5f50 -/* 0D9908 7F0A4DD8 8C6E0000 */ lw $t6, ($v1) -/* 0D990C 7F0A4DDC 44842000 */ mtc1 $a0, $f4 -/* 0D9910 7F0A4DE0 3C198005 */ lui $t9, %hi(j_text_trigger) -/* 0D9914 7F0A4DE4 ADC42A58 */ sw $a0, 0x2a58($t6) -/* 0D9918 7F0A4DE8 8C6F0000 */ lw $t7, ($v1) -/* 0D991C 7F0A4DEC 468021A0 */ cvt.s.w $f6, $f4 -/* 0D9920 7F0A4DF0 2402000A */ li $v0, 10 -/* 0D9924 7F0A4DF4 ADE42A5C */ sw $a0, 0x2a5c($t7) -/* 0D9928 7F0A4DF8 8C780000 */ lw $t8, ($v1) -/* 0D992C 7F0A4DFC E7062A60 */ swc1 $f6, 0x2a60($t8) -/* 0D9930 7F0A4E00 8F3984D0 */ lw $t9, %lo(j_text_trigger)($t9) -/* 0D9934 7F0A4E04 13200003 */ beqz $t9, .L7F0A4E14 -/* 0D9938 7F0A4E08 00000000 */ nop -/* 0D993C 7F0A4E0C 10000001 */ b .L7F0A4E14 -/* 0D9940 7F0A4E10 2402000E */ li $v0, 14 -.L7F0A4E14: -/* 0D9944 7F0A4E14 00440019 */ multu $v0, $a0 -/* 0D9948 7F0A4E18 8C6A0000 */ lw $t2, ($v1) -/* 0D994C 7F0A4E1C 240B0001 */ li $t3, 1 -/* 0D9950 7F0A4E20 00004012 */ mflo $t0 -/* 0D9954 7F0A4E24 00084823 */ negu $t1, $t0 -/* 0D9958 7F0A4E28 AD492A64 */ sw $t1, 0x2a64($t2) -/* 0D995C 7F0A4E2C 8C6C0000 */ lw $t4, ($v1) -/* 0D9960 7F0A4E30 03E00008 */ jr $ra -/* 0D9964 7F0A4E34 AD8B2A68 */ sw $t3, 0x2a68($t4) -) -#endif - - - - - - -u32 get_cur_player_look_vertical_inverted(void) {return cur_player_look_vertical_inverted;} -void set_cur_player_look_vertical_inverted(u32 param_1) {cur_player_look_vertical_inverted = param_1;} - -u32 cur_player_get_autoaim(void) {return cur_player_autoaim_setting;} -void cur_player_set_autoaim(u32 uParm1) {cur_player_autoaim_setting = uParm1;} - -u32 cur_player_get_lookahead(void) {return cur_player_lookahead_setting;} -void cur_player_set_lookahead(u32 uParm1) {cur_player_lookahead_setting = uParm1;} - -u32 cur_player_get_aim_control(void) {return cur_player_aim_control;} -void cur_player_set_aim_control(u32 uParm1) {cur_player_aim_control = uParm1;} - -u32 cur_player_get_sight_onscreen_control(void) {return cur_player_sight_onscreen;} -void cur_player_set_sight_onscreen_control(u32 uParm1) {cur_player_sight_onscreen = uParm1;} - -u32 cur_player_get_ammo_onscreen_setting(void) {return cur_player_ammo_onscreen_setting;} -void cur_player_set_ammo_onscreen_setting(u32 uParm1) {cur_player_ammo_onscreen_setting = uParm1;} - -u32 cur_player_get_screen_setting(void) {return cur_player_screen_setting;} -void cur_player_set_screen_setting(u32 uParm1) {cur_player_screen_setting = uParm1;} - -u32 get_screen_ratio(void) {return screen_ratio;} -void set_screen_ratio(u32 uParm1) {screen_ratio = uParm1;} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A4EF8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4EF8 -/* 0D9A28 7F0A4EF8 3C028004 */ lui $v0, %hi(watch_soundrelated_maybe) -/* 0D9A2C 7F0A4EFC 244209A8 */ addiu $v0, %lo(watch_soundrelated_maybe) # addiu $v0, $v0, 0x9a8 -/* 0D9A30 7F0A4F00 8C4E0000 */ lw $t6, ($v0) -/* 0D9A34 7F0A4F04 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9A38 7F0A4F08 24030001 */ li $v1, 1 -/* 0D9A3C 7F0A4F0C 146E0003 */ bne $v1, $t6, .L7F0A4F1C -/* 0D9A40 7F0A4F10 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9A44 7F0A4F14 10000007 */ b .L7F0A4F34 -/* 0D9A48 7F0A4F18 AC400000 */ sw $zero, ($v0) -.L7F0A4F1C: -/* 0D9A4C 7F0A4F1C AC430000 */ sw $v1, ($v0) -/* 0D9A50 7F0A4F20 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0D9A54 7F0A4F24 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0D9A58 7F0A4F28 2405009F */ li $a1, 159 -/* 0D9A5C 7F0A4F2C 0C002382 */ jal play_sfx_a1 -/* 0D9A60 7F0A4F30 00003025 */ move $a2, $zero -.L7F0A4F34: -/* 0D9A64 7F0A4F34 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9A68 7F0A4F38 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9A6C 7F0A4F3C 03E00008 */ jr $ra -/* 0D9A70 7F0A4F40 00000000 */ nop -) -#endif - - - - - -void sub_GAME_7F0A4F44(void){ - watch_soundrelated_maybe = 0; -} - -u32 is_holding_greater_than_2E_left_on_stick(void) -{ - return (get_cur_controller_horz_stick_pos('\0') < -0x2d); -} - -u32 is_holding_greater_than_2E_right_on_stick(void) -{ - return ((get_cur_controller_horz_stick_pos('\0') < 0x2e) ^ 1); -} - -u32 get_controlstick_lr_enabled(void) { - return controlstick_lr_enabled; -} - -void set_controlstick_lr_disabled(void) { - controlstick_lr_enabled = 0; -} - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0A4FB0 -/* 0D9AE0 7F0A4FB0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9AE4 7F0A4FB4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9AE8 7F0A4FB8 0FC293D4 */ jal is_holding_greater_than_2E_left_on_stick -/* 0D9AEC 7F0A4FBC 00000000 */ nop -/* 0D9AF0 7F0A4FC0 0002702B */ sltu $t6, $zero, $v0 -/* 0D9AF4 7F0A4FC4 11C00005 */ beqz $t6, .L7F0A4FDC -/* 0D9AF8 7F0A4FC8 01C01025 */ move $v0, $t6 -/* 0D9AFC 7F0A4FCC 0FC293E6 */ jal get_controlstick_lr_enabled -/* 0D9B00 7F0A4FD0 00000000 */ nop -/* 0D9B04 7F0A4FD4 0002782B */ sltu $t7, $zero, $v0 -/* 0D9B08 7F0A4FD8 01E01025 */ move $v0, $t7 -.L7F0A4FDC: -/* 0D9B0C 7F0A4FDC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9B10 7F0A4FE0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9B14 7F0A4FE4 03E00008 */ jr $ra -/* 0D9B18 7F0A4FE8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A4FEC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4FEC -/* 0D9B1C 7F0A4FEC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9B20 7F0A4FF0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9B24 7F0A4FF4 0FC293DD */ jal is_holding_greater_than_2E_right_on_stick -/* 0D9B28 7F0A4FF8 00000000 */ nop -/* 0D9B2C 7F0A4FFC 0002702B */ sltu $t6, $zero, $v0 -/* 0D9B30 7F0A5000 11C00005 */ beqz $t6, .L7F0A5018 -/* 0D9B34 7F0A5004 01C01025 */ move $v0, $t6 -/* 0D9B38 7F0A5008 0FC293E6 */ jal get_controlstick_lr_enabled -/* 0D9B3C 7F0A500C 00000000 */ nop -/* 0D9B40 7F0A5010 0002782B */ sltu $t7, $zero, $v0 -/* 0D9B44 7F0A5014 01E01025 */ move $v0, $t7 -.L7F0A5018: -/* 0D9B48 7F0A5018 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9B4C 7F0A501C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9B50 7F0A5020 03E00008 */ jr $ra -/* 0D9B54 7F0A5024 00000000 */ nop -) -#endif - -u32 is_holding_greater_than_2E_up_on_stick(void) -{ - return (get_cur_controller_vert_stick_pos('\0') < 0x2e) ^ 1; -} - -u32 is_holding_greater_than_2E_down_on_stick(void) -{ - return (get_cur_controller_vert_stick_pos('\0') < -0x2d); -} - -u32 get_D_80040AE0(void) -{ - return D_80040AE0; -} - -void set_D_80040AE0_0(void) -{ - D_80040AE0 = 0; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A5088(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A5088 -/* 0D9BB8 7F0A5088 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9BBC 7F0A508C AFBF0014 */ sw $ra, 0x14($sp) -/* 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 -/* 0D9BD0 7F0A50A0 01C01025 */ move $v0, $t6 -/* 0D9BD4 7F0A50A4 0FC2941C */ jal get_D_80040AE0 -/* 0D9BD8 7F0A50A8 00000000 */ nop -/* 0D9BDC 7F0A50AC 0002782B */ sltu $t7, $zero, $v0 -/* 0D9BE0 7F0A50B0 01E01025 */ move $v0, $t7 -.L7F0A50B4: -/* 0D9BE4 7F0A50B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9BE8 7F0A50B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9BEC 7F0A50BC 03E00008 */ jr $ra -/* 0D9BF0 7F0A50C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A50C4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A50C4 -/* 0D9BF4 7F0A50C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9BF8 7F0A50C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 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 -/* 0D9C0C 7F0A50DC 01C01025 */ move $v0, $t6 -/* 0D9C10 7F0A50E0 0FC2941C */ jal get_D_80040AE0 -/* 0D9C14 7F0A50E4 00000000 */ nop -/* 0D9C18 7F0A50E8 0002782B */ sltu $t7, $zero, $v0 -/* 0D9C1C 7F0A50EC 01E01025 */ move $v0, $t7 -.L7F0A50F0: -/* 0D9C20 7F0A50F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9C24 7F0A50F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9C28 7F0A50F8 03E00008 */ jr $ra -/* 0D9C2C 7F0A50FC 00000000 */ nop -) -#endif - - - - - - -u32 is_holding_less_than_10_up_on_stick(void) -{ - return (get_cur_controller_vert_stick_pos('\0') < 0x10) ^ 1; -} - -u32 is_holding_less_than_10_down_on_stick(void) -{ - return (get_cur_controller_vert_stick_pos('\0') < -0xf); -} - -u32 get_D_80040AE4(void) { - return D_80040AE4; -} - -void set_D_80040AE4_0(void) { - D_80040AE4 = 0; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A5160(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A5160 -/* 0D9C90 7F0A5160 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9C94 7F0A5164 AFBF0014 */ sw $ra, 0x14($sp) -/* 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 -/* 0D9CA8 7F0A5178 01C01025 */ move $v0, $t6 -/* 0D9CAC 7F0A517C 0FC29452 */ jal get_D_80040AE4 -/* 0D9CB0 7F0A5180 00000000 */ nop -/* 0D9CB4 7F0A5184 2C4F0001 */ sltiu $t7, $v0, 1 -/* 0D9CB8 7F0A5188 01E01025 */ move $v0, $t7 -.L7F0A518C: -/* 0D9CBC 7F0A518C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9CC0 7F0A5190 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9CC4 7F0A5194 03E00008 */ jr $ra -/* 0D9CC8 7F0A5198 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A519C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A519C -/* 0D9CCC 7F0A519C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9CD0 7F0A51A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 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 -/* 0D9CE4 7F0A51B4 01C01025 */ move $v0, $t6 -/* 0D9CE8 7F0A51B8 0FC29452 */ jal get_D_80040AE4 -/* 0D9CEC 7F0A51BC 00000000 */ nop -/* 0D9CF0 7F0A51C0 2C4F0001 */ sltiu $t7, $v0, 1 -/* 0D9CF4 7F0A51C4 01E01025 */ move $v0, $t7 -.L7F0A51C8: -/* 0D9CF8 7F0A51C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9CFC 7F0A51CC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9D00 7F0A51D0 03E00008 */ jr $ra -/* 0D9D04 7F0A51D4 00000000 */ nop -) -#endif - - - - - - -void sub_GAME_7F0A51D8(void) -{ - D_80040B04 = 0x80; - play_sfx_a1(ptr_sfx_buf,0xec,NULL); - return; -} - -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; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A526C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058458 -.word 0x40933333 /*4.5999999*/ -glabel D_8005845C -.word 0x40933333 /*4.5999999*/ -.text -glabel sub_GAME_7F0A526C -/* 0D9D9C 7F0A526C 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0D9DA0 7F0A5270 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0D9DA4 7F0A5274 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0D9DA8 7F0A5278 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9DAC 7F0A527C 15C00041 */ bnez $t6, .L7F0A5384 -/* 0D9DB0 7F0A5280 3C0D8004 */ lui $t5, %hi(D_800409A4) -/* 0D9DB4 7F0A5284 AFA0001C */ sw $zero, 0x1c($sp) -/* 0D9DB8 7F0A5288 0FC24415 */ jal get_debug_gunwatchpos_flag -/* 0D9DBC 7F0A528C AFA00018 */ sw $zero, 0x18($sp) -/* 0D9DC0 7F0A5290 1440000C */ bnez $v0, .L7F0A52C4 -/* 0D9DC4 7F0A5294 00002025 */ move $a0, $zero -/* 0D9DC8 7F0A5298 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9DCC 7F0A529C 24050022 */ li $a1, 34 -/* 0D9DD0 7F0A52A0 10400003 */ beqz $v0, .L7F0A52B0 -/* 0D9DD4 7F0A52A4 00002025 */ move $a0, $zero -/* 0D9DD8 7F0A52A8 240F0001 */ li $t7, 1 -/* 0D9DDC 7F0A52AC AFAF001C */ sw $t7, 0x1c($sp) -.L7F0A52B0: -/* 0D9DE0 7F0A52B0 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9DE4 7F0A52B4 24050011 */ li $a1, 17 -/* 0D9DE8 7F0A52B8 10400002 */ beqz $v0, .L7F0A52C4 -/* 0D9DEC 7F0A52BC 24180001 */ li $t8, 1 -/* 0D9DF0 7F0A52C0 AFB80018 */ sw $t8, 0x18($sp) -.L7F0A52C4: -/* 0D9DF4 7F0A52C4 00002025 */ move $a0, $zero -/* 0D9DF8 7F0A52C8 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9DFC 7F0A52CC 24050200 */ li $a1, 512 -/* 0D9E00 7F0A52D0 54400005 */ bnezl $v0, .L7F0A52E8 -/* 0D9E04 7F0A52D4 24190001 */ li $t9, 1 -/* 0D9E08 7F0A52D8 0FC293EC */ jal sub_GAME_7F0A4FB0 -/* 0D9E0C 7F0A52DC 00000000 */ nop -/* 0D9E10 7F0A52E0 10400002 */ beqz $v0, .L7F0A52EC -/* 0D9E14 7F0A52E4 24190001 */ li $t9, 1 -.L7F0A52E8: -/* 0D9E18 7F0A52E8 AFB9001C */ sw $t9, 0x1c($sp) -.L7F0A52EC: -/* 0D9E1C 7F0A52EC 00002025 */ move $a0, $zero -/* 0D9E20 7F0A52F0 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9E24 7F0A52F4 24050100 */ li $a1, 256 -/* 0D9E28 7F0A52F8 54400005 */ bnezl $v0, .L7F0A5310 -/* 0D9E2C 7F0A52FC 24080001 */ li $t0, 1 -/* 0D9E30 7F0A5300 0FC293FB */ jal sub_GAME_7F0A4FEC -/* 0D9E34 7F0A5304 00000000 */ nop -/* 0D9E38 7F0A5308 10400002 */ beqz $v0, .L7F0A5314 -/* 0D9E3C 7F0A530C 24080001 */ li $t0, 1 -.L7F0A5310: -/* 0D9E40 7F0A5310 AFA80018 */ sw $t0, 0x18($sp) -.L7F0A5314: -/* 0D9E44 7F0A5314 8FA9001C */ lw $t1, 0x1c($sp) -/* 0D9E48 7F0A5318 240A0004 */ li $t2, 4 -/* 0D9E4C 7F0A531C 3C018004 */ lui $at, %hi(D_80040994) -/* 0D9E50 7F0A5320 5120000A */ beql $t1, $zero, .L7F0A534C -/* 0D9E54 7F0A5324 8FAB0018 */ lw $t3, 0x18($sp) -/* 0D9E58 7F0A5328 0FC29484 */ jal sub_GAME_7F0A5210 -/* 0D9E5C 7F0A532C AC2A0994 */ sw $t2, %lo(D_80040994)($at) -/* 0D9E60 7F0A5330 3C018006 */ lui $at, %hi(D_80058458) -/* 0D9E64 7F0A5334 C42C8458 */ lwc1 $f12, %lo(D_80058458)($at) -/* 0D9E68 7F0A5338 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0D9E6C 7F0A533C 44817000 */ mtc1 $at, $f14 -/* 0D9E70 7F0A5340 0FC1F900 */ jal trigger_watch_zoom -/* 0D9E74 7F0A5344 00000000 */ nop -/* 0D9E78 7F0A5348 8FAB0018 */ lw $t3, 0x18($sp) -.L7F0A534C: -/* 0D9E7C 7F0A534C 240C0001 */ li $t4, 1 -/* 0D9E80 7F0A5350 3C018004 */ lui $at, %hi(D_80040994) -/* 0D9E84 7F0A5354 5160001D */ beql $t3, $zero, .L7F0A53CC -/* 0D9E88 7F0A5358 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9E8C 7F0A535C 0FC29484 */ jal sub_GAME_7F0A5210 -/* 0D9E90 7F0A5360 AC2C0994 */ sw $t4, %lo(D_80040994)($at) -/* 0D9E94 7F0A5364 3C018006 */ lui $at, %hi(D_8005845C) -/* 0D9E98 7F0A5368 C42C845C */ lwc1 $f12, %lo(D_8005845C)($at) -/* 0D9E9C 7F0A536C 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0D9EA0 7F0A5370 44817000 */ mtc1 $at, $f14 -/* 0D9EA4 7F0A5374 0FC1F900 */ jal trigger_watch_zoom -/* 0D9EA8 7F0A5378 00000000 */ nop -/* 0D9EAC 7F0A537C 10000013 */ b .L7F0A53CC -/* 0D9EB0 7F0A5380 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5384: -/* 0D9EB4 7F0A5384 8DAD09A4 */ lw $t5, %lo(D_800409A4)($t5) -/* 0D9EB8 7F0A5388 00002025 */ move $a0, $zero -/* 0D9EBC 7F0A538C 51A0000F */ beql $t5, $zero, .L7F0A53CC -/* 0D9EC0 7F0A5390 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9EC4 7F0A5394 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9EC8 7F0A5398 3405A000 */ li $a1, 40960 -/* 0D9ECC 7F0A539C 1040000A */ beqz $v0, .L7F0A53C8 -/* 0D9ED0 7F0A53A0 3C018004 */ lui $at, %hi(D_800409A4) -/* 0D9ED4 7F0A53A4 AC2009A4 */ sw $zero, %lo(D_800409A4)($at) -/* 0D9ED8 7F0A53A8 0FC3030F */ jal set_missionstate -/* 0D9EDC 7F0A53AC 00002025 */ move $a0, $zero -/* 0D9EE0 7F0A53B0 0C001A4C */ jal run_title_stage -/* 0D9EE4 7F0A53B4 00000000 */ nop -/* 0D9EE8 7F0A53B8 240E0001 */ li $t6, 1 -/* 0D9EEC 7F0A53BC 3C018003 */ lui $at, %hi(mission_failed_or_aborted) -/* 0D9EF0 7F0A53C0 0FC07549 */ jal deleteCurrentSelectedFolder -/* 0D9EF4 7F0A53C4 AC2EA924 */ sw $t6, %lo(mission_failed_or_aborted)($at) -.L7F0A53C8: -/* 0D9EF8 7F0A53C8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A53CC: -/* 0D9EFC 7F0A53CC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0D9F00 7F0A53D0 03E00008 */ jr $ra -/* 0D9F04 7F0A53D4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A53D8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058460 -.word 0x40bccccd /*5.9000001*/ -glabel D_80058464 -.word 0x407ccccd /*3.95*/ -.text -glabel sub_GAME_7F0A53D8 -/* 0D9F08 7F0A53D8 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0D9F0C 7F0A53DC 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0D9F10 7F0A53E0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0D9F14 7F0A53E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9F18 7F0A53E8 55C00043 */ bnezl $t6, .L7F0A54F8 -/* 0D9F1C 7F0A53EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9F20 7F0A53F0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0D9F24 7F0A53F4 0FC24415 */ jal get_debug_gunwatchpos_flag -/* 0D9F28 7F0A53F8 AFA00018 */ sw $zero, 0x18($sp) -/* 0D9F2C 7F0A53FC 1440000C */ bnez $v0, .L7F0A5430 -/* 0D9F30 7F0A5400 00002025 */ move $a0, $zero -/* 0D9F34 7F0A5404 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9F38 7F0A5408 24050022 */ li $a1, 34 -/* 0D9F3C 7F0A540C 10400003 */ beqz $v0, .L7F0A541C -/* 0D9F40 7F0A5410 00002025 */ move $a0, $zero -/* 0D9F44 7F0A5414 240F0001 */ li $t7, 1 -/* 0D9F48 7F0A5418 AFAF001C */ sw $t7, 0x1c($sp) -.L7F0A541C: -/* 0D9F4C 7F0A541C 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9F50 7F0A5420 24050011 */ li $a1, 17 -/* 0D9F54 7F0A5424 10400002 */ beqz $v0, .L7F0A5430 -/* 0D9F58 7F0A5428 24180001 */ li $t8, 1 -/* 0D9F5C 7F0A542C AFB80018 */ sw $t8, 0x18($sp) -.L7F0A5430: -/* 0D9F60 7F0A5430 00002025 */ move $a0, $zero -/* 0D9F64 7F0A5434 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9F68 7F0A5438 24050200 */ li $a1, 512 -/* 0D9F6C 7F0A543C 54400005 */ bnezl $v0, .L7F0A5454 -/* 0D9F70 7F0A5440 24190001 */ li $t9, 1 -/* 0D9F74 7F0A5444 0FC293EC */ jal sub_GAME_7F0A4FB0 -/* 0D9F78 7F0A5448 00000000 */ nop -/* 0D9F7C 7F0A544C 10400002 */ beqz $v0, .L7F0A5458 -/* 0D9F80 7F0A5450 24190001 */ li $t9, 1 -.L7F0A5454: -/* 0D9F84 7F0A5454 AFB9001C */ sw $t9, 0x1c($sp) -.L7F0A5458: -/* 0D9F88 7F0A5458 00002025 */ move $a0, $zero -/* 0D9F8C 7F0A545C 0C0030EB */ jal get_controller_buttons_pressed -/* 0D9F90 7F0A5460 24050100 */ li $a1, 256 -/* 0D9F94 7F0A5464 54400005 */ bnezl $v0, .L7F0A547C -/* 0D9F98 7F0A5468 24080001 */ li $t0, 1 -/* 0D9F9C 7F0A546C 0FC293FB */ jal sub_GAME_7F0A4FEC -/* 0D9FA0 7F0A5470 00000000 */ nop -/* 0D9FA4 7F0A5474 10400002 */ beqz $v0, .L7F0A5480 -/* 0D9FA8 7F0A5478 24080001 */ li $t0, 1 -.L7F0A547C: -/* 0D9FAC 7F0A547C AFA80018 */ sw $t0, 0x18($sp) -.L7F0A5480: -/* 0D9FB0 7F0A5480 8FA9001C */ lw $t1, 0x1c($sp) -/* 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 zero_D_800409A4 -/* 0D9FC4 7F0A5494 AC200994 */ sw $zero, %lo(D_80040994)($at) -/* 0D9FC8 7F0A5498 0FC29484 */ jal sub_GAME_7F0A5210 -/* 0D9FCC 7F0A549C 00000000 */ nop -/* 0D9FD0 7F0A54A0 3C018006 */ lui $at, %hi(D_80058460) -/* 0D9FD4 7F0A54A4 C42C8460 */ lwc1 $f12, %lo(D_80058460)($at) -/* 0D9FD8 7F0A54A8 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0D9FDC 7F0A54AC 44817000 */ mtc1 $at, $f14 -/* 0D9FE0 7F0A54B0 0FC1F900 */ jal trigger_watch_zoom -/* 0D9FE4 7F0A54B4 00000000 */ nop -/* 0D9FE8 7F0A54B8 8FAA0018 */ lw $t2, 0x18($sp) -.L7F0A54BC: -/* 0D9FEC 7F0A54BC 240B0002 */ li $t3, 2 -/* 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_disabled -/* 0DA000 7F0A54D0 AC2B0994 */ sw $t3, %lo(D_80040994)($at) -/* 0DA004 7F0A54D4 0FC29484 */ jal sub_GAME_7F0A5210 -/* 0DA008 7F0A54D8 00000000 */ nop -/* 0DA00C 7F0A54DC 3C018006 */ lui $at, %hi(D_80058464) -/* 0DA010 7F0A54E0 C42C8464 */ lwc1 $f12, %lo(D_80058464)($at) -/* 0DA014 7F0A54E4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0DA018 7F0A54E8 44817000 */ mtc1 $at, $f14 -/* 0DA01C 7F0A54EC 0FC1F900 */ jal trigger_watch_zoom -/* 0DA020 7F0A54F0 00000000 */ nop -/* 0DA024 7F0A54F4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A54F8: -/* 0DA028 7F0A54F8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0DA02C 7F0A54FC 03E00008 */ jr $ra -/* 0DA030 7F0A5500 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A5504(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058468 -.word 0x407ccccd /*3.95*/ -.text -glabel sub_GAME_7F0A5504 -/* 0DA034 7F0A5504 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA038 7F0A5508 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA03C 7F0A550C 00002025 */ move $a0, $zero -/* 0DA040 7F0A5510 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA044 7F0A5514 24050222 */ li $a1, 546 -/* 0DA048 7F0A5518 14400004 */ bnez $v0, .L7F0A552C -/* 0DA04C 7F0A551C 00000000 */ nop -/* 0DA050 7F0A5520 0FC293EC */ jal sub_GAME_7F0A4FB0 -/* 0DA054 7F0A5524 00000000 */ nop -/* 0DA058 7F0A5528 1040000A */ beqz $v0, .L7F0A5554 -.L7F0A552C: -/* 0DA05C 7F0A552C 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DA060 7F0A5530 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DA064 7F0A5534 240F0001 */ li $t7, 1 -/* 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_disabled -/* 0DA078 7F0A5548 AC2F0994 */ sw $t7, %lo(D_80040994)($at) -/* 0DA07C 7F0A554C 1000001A */ b .L7F0A55B8 -/* 0DA080 7F0A5550 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5554: -/* 0DA084 7F0A5554 00002025 */ move $a0, $zero -.L7F0A5558: -/* 0DA088 7F0A5558 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA08C 7F0A555C 24050111 */ li $a1, 273 -/* 0DA090 7F0A5560 14400004 */ bnez $v0, .L7F0A5574 -/* 0DA094 7F0A5564 00000000 */ nop -/* 0DA098 7F0A5568 0FC293FB */ jal sub_GAME_7F0A4FEC -/* 0DA09C 7F0A556C 00000000 */ nop -/* 0DA0A0 7F0A5570 10400010 */ beqz $v0, .L7F0A55B4 -.L7F0A5574: -/* 0DA0A4 7F0A5574 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0DA0A8 7F0A5578 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0DA0AC 7F0A557C 24190002 */ li $t9, 2 -/* 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 zero_D_80040998 -/* 0DA0C0 7F0A5590 AC390994 */ sw $t9, %lo(D_80040994)($at) -/* 0DA0C4 7F0A5594 0FC29484 */ jal sub_GAME_7F0A5210 -/* 0DA0C8 7F0A5598 00000000 */ nop -/* 0DA0CC 7F0A559C 3C018006 */ lui $at, %hi(D_80058468) -/* 0DA0D0 7F0A55A0 C42C8468 */ lwc1 $f12, %lo(D_80058468)($at) -/* 0DA0D4 7F0A55A4 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0DA0D8 7F0A55A8 44817000 */ mtc1 $at, $f14 -/* 0DA0DC 7F0A55AC 0FC1F900 */ jal trigger_watch_zoom -/* 0DA0E0 7F0A55B0 00000000 */ nop -.L7F0A55B4: -/* 0DA0E4 7F0A55B4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A55B8: -/* 0DA0E8 7F0A55B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA0EC 7F0A55BC 03E00008 */ jr $ra -/* 0DA0F0 7F0A55C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A55C4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005846C -.word 0x40933333 /*4.5999999*/ -.text -glabel sub_GAME_7F0A55C4 -/* 0DA0F4 7F0A55C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA0F8 7F0A55C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA0FC 7F0A55CC 00002025 */ move $a0, $zero -/* 0DA100 7F0A55D0 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA104 7F0A55D4 24050222 */ li $a1, 546 -/* 0DA108 7F0A55D8 54400005 */ bnezl $v0, .L7F0A55F0 -/* 0DA10C 7F0A55DC 00002025 */ move $a0, $zero -/* 0DA110 7F0A55E0 0FC293EC */ jal sub_GAME_7F0A4FB0 -/* 0DA114 7F0A55E4 00000000 */ nop -/* 0DA118 7F0A55E8 10400014 */ beqz $v0, .L7F0A563C -/* 0DA11C 7F0A55EC 00002025 */ move $a0, $zero -.L7F0A55F0: -/* 0DA120 7F0A55F0 0C0030C3 */ jal get_controller_buttons_held -/* 0DA124 7F0A55F4 24052000 */ li $a1, 8192 -/* 0DA128 7F0A55F8 14400010 */ bnez $v0, .L7F0A563C -/* 0DA12C 7F0A55FC 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DA130 7F0A5600 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DA134 7F0A5604 240F0001 */ li $t7, 1 -/* 0DA138 7F0A5608 3C018004 */ lui $at, %hi(D_80040994) -/* 0DA13C 7F0A560C 55C0000C */ bnezl $t6, .L7F0A5640 -/* 0DA140 7F0A5610 00002025 */ move $a0, $zero -/* 0DA144 7F0A5614 0FC29484 */ jal sub_GAME_7F0A5210 -/* 0DA148 7F0A5618 AC2F0994 */ sw $t7, %lo(D_80040994)($at) -/* 0DA14C 7F0A561C 3C018006 */ lui $at, %hi(D_8005846C) -/* 0DA150 7F0A5620 C42C846C */ lwc1 $f12, %lo(D_8005846C)($at) -/* 0DA154 7F0A5624 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0DA158 7F0A5628 44817000 */ mtc1 $at, $f14 -/* 0DA15C 7F0A562C 0FC1F900 */ jal trigger_watch_zoom -/* 0DA160 7F0A5630 00000000 */ nop -/* 0DA164 7F0A5634 10000018 */ b .L7F0A5698 -/* 0DA168 7F0A5638 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A563C: -/* 0DA16C 7F0A563C 00002025 */ move $a0, $zero -.L7F0A5640: -/* 0DA170 7F0A5640 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA174 7F0A5644 24050111 */ li $a1, 273 -/* 0DA178 7F0A5648 54400005 */ bnezl $v0, .L7F0A5660 -/* 0DA17C 7F0A564C 00002025 */ move $a0, $zero -/* 0DA180 7F0A5650 0FC293FB */ jal sub_GAME_7F0A4FEC -/* 0DA184 7F0A5654 00000000 */ nop -/* 0DA188 7F0A5658 1040000E */ beqz $v0, .L7F0A5694 -/* 0DA18C 7F0A565C 00002025 */ move $a0, $zero -.L7F0A5660: -/* 0DA190 7F0A5660 0C0030C3 */ jal get_controller_buttons_held -/* 0DA194 7F0A5664 24052000 */ li $a1, 8192 -/* 0DA198 7F0A5668 1440000A */ bnez $v0, .L7F0A5694 -/* 0DA19C 7F0A566C 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0DA1A0 7F0A5670 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0DA1A4 7F0A5674 24190003 */ li $t9, 3 -/* 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 zero_D_8004099C -/* 0DA1B8 7F0A5688 AC390994 */ sw $t9, %lo(D_80040994)($at) -/* 0DA1BC 7F0A568C 0FC293E9 */ jal set_controlstick_lr_disabled -/* 0DA1C0 7F0A5690 00000000 */ nop -.L7F0A5694: -/* 0DA1C4 7F0A5694 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5698: -/* 0DA1C8 7F0A5698 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA1CC 7F0A569C 03E00008 */ jr $ra -/* 0DA1D0 7F0A56A0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A56A4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058470 -.word 0x40933333 /*4.5999999*/ -.text -glabel sub_GAME_7F0A56A4 -/* 0DA1D4 7F0A56A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA1D8 7F0A56A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA1DC 7F0A56AC 00002025 */ move $a0, $zero -/* 0DA1E0 7F0A56B0 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA1E4 7F0A56B4 24050222 */ li $a1, 546 -/* 0DA1E8 7F0A56B8 54400005 */ bnezl $v0, .L7F0A56D0 -/* 0DA1EC 7F0A56BC 00002025 */ move $a0, $zero -/* 0DA1F0 7F0A56C0 0FC293EC */ jal sub_GAME_7F0A4FB0 -/* 0DA1F4 7F0A56C4 00000000 */ nop -/* 0DA1F8 7F0A56C8 10400010 */ beqz $v0, .L7F0A570C -/* 0DA1FC 7F0A56CC 00002025 */ move $a0, $zero -.L7F0A56D0: -/* 0DA200 7F0A56D0 0C0030C3 */ jal get_controller_buttons_held -/* 0DA204 7F0A56D4 24052000 */ li $a1, 8192 -/* 0DA208 7F0A56D8 1440000C */ bnez $v0, .L7F0A570C -/* 0DA20C 7F0A56DC 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DA210 7F0A56E0 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DA214 7F0A56E4 240F0002 */ li $t7, 2 -/* 0DA218 7F0A56E8 3C018004 */ lui $at, %hi(D_80040994) -/* 0DA21C 7F0A56EC 55C00008 */ bnezl $t6, .L7F0A5710 -/* 0DA220 7F0A56F0 00002025 */ move $a0, $zero -/* 0DA224 7F0A56F4 0FC2AD23 */ jal zero_D_80040998 -/* 0DA228 7F0A56F8 AC2F0994 */ sw $t7, %lo(D_80040994)($at) -/* 0DA22C 7F0A56FC 0FC293E9 */ jal set_controlstick_lr_disabled -/* 0DA230 7F0A5700 00000000 */ nop -/* 0DA234 7F0A5704 1000001C */ b .L7F0A5778 -/* 0DA238 7F0A5708 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A570C: -/* 0DA23C 7F0A570C 00002025 */ move $a0, $zero -.L7F0A5710: -/* 0DA240 7F0A5710 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA244 7F0A5714 24050111 */ li $a1, 273 -/* 0DA248 7F0A5718 54400005 */ bnezl $v0, .L7F0A5730 -/* 0DA24C 7F0A571C 00002025 */ move $a0, $zero -/* 0DA250 7F0A5720 0FC293FB */ jal sub_GAME_7F0A4FEC -/* 0DA254 7F0A5724 00000000 */ nop -/* 0DA258 7F0A5728 10400012 */ beqz $v0, .L7F0A5774 -/* 0DA25C 7F0A572C 00002025 */ move $a0, $zero -.L7F0A5730: -/* 0DA260 7F0A5730 0C0030C3 */ jal get_controller_buttons_held -/* 0DA264 7F0A5734 24052000 */ li $a1, 8192 -/* 0DA268 7F0A5738 1440000E */ bnez $v0, .L7F0A5774 -/* 0DA26C 7F0A573C 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0DA270 7F0A5740 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0DA274 7F0A5744 24190004 */ li $t9, 4 -/* 0DA278 7F0A5748 3C018004 */ lui $at, %hi(D_80040994) -/* 0DA27C 7F0A574C 5700000A */ bnezl $t8, .L7F0A5778 -/* 0DA280 7F0A5750 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DA284 7F0A5754 0FC29484 */ jal sub_GAME_7F0A5210 -/* 0DA288 7F0A5758 AC390994 */ sw $t9, %lo(D_80040994)($at) -/* 0DA28C 7F0A575C 3C018006 */ lui $at, %hi(D_80058470) -/* 0DA290 7F0A5760 C42C8470 */ lwc1 $f12, %lo(D_80058470)($at) -/* 0DA294 7F0A5764 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0DA298 7F0A5768 44817000 */ mtc1 $at, $f14 -/* 0DA29C 7F0A576C 0FC1F900 */ jal trigger_watch_zoom -/* 0DA2A0 7F0A5770 00000000 */ nop -.L7F0A5774: -/* 0DA2A4 7F0A5774 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5778: -/* 0DA2A8 7F0A5778 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA2AC 7F0A577C 03E00008 */ jr $ra -/* 0DA2B0 7F0A5780 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A5784(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058474 -.word 0x407ccccd /*3.95*/ -glabel D_80058478 -.word 0x40bccccd /*5.9000001*/ -.text -glabel sub_GAME_7F0A5784 -/* 0DA2B4 7F0A5784 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA2B8 7F0A5788 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA2BC 7F0A578C 00002025 */ move $a0, $zero -/* 0DA2C0 7F0A5790 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA2C4 7F0A5794 24050222 */ li $a1, 546 -/* 0DA2C8 7F0A5798 14400004 */ bnez $v0, .L7F0A57AC -/* 0DA2CC 7F0A579C 00000000 */ nop -/* 0DA2D0 7F0A57A0 0FC293EC */ jal sub_GAME_7F0A4FB0 -/* 0DA2D4 7F0A57A4 00000000 */ nop -/* 0DA2D8 7F0A57A8 10400012 */ beqz $v0, .L7F0A57F4 -.L7F0A57AC: -/* 0DA2DC 7F0A57AC 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DA2E0 7F0A57B0 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DA2E4 7F0A57B4 240F0003 */ li $t7, 3 -/* 0DA2E8 7F0A57B8 3C018004 */ lui $at, %hi(D_80040994) -/* 0DA2EC 7F0A57BC 55C0000E */ bnezl $t6, .L7F0A57F8 -/* 0DA2F0 7F0A57C0 00002025 */ move $a0, $zero -/* 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 -/* 0DA304 7F0A57D4 3C018006 */ lui $at, %hi(D_80058474) -/* 0DA308 7F0A57D8 C42C8474 */ lwc1 $f12, %lo(D_80058474)($at) -/* 0DA30C 7F0A57DC 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0DA310 7F0A57E0 44817000 */ mtc1 $at, $f14 -/* 0DA314 7F0A57E4 0FC1F900 */ jal trigger_watch_zoom -/* 0DA318 7F0A57E8 00000000 */ nop -/* 0DA31C 7F0A57EC 10000019 */ b .L7F0A5854 -/* 0DA320 7F0A57F0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A57F4: -/* 0DA324 7F0A57F4 00002025 */ move $a0, $zero -.L7F0A57F8: -/* 0DA328 7F0A57F8 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA32C 7F0A57FC 24050111 */ li $a1, 273 -/* 0DA330 7F0A5800 14400004 */ bnez $v0, .L7F0A5814 -/* 0DA334 7F0A5804 00000000 */ nop -/* 0DA338 7F0A5808 0FC293FB */ jal sub_GAME_7F0A4FEC -/* 0DA33C 7F0A580C 00000000 */ nop -/* 0DA340 7F0A5810 1040000F */ beqz $v0, .L7F0A5850 -.L7F0A5814: -/* 0DA344 7F0A5814 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0DA348 7F0A5818 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 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 zero_D_800409A4 -/* 0DA35C 7F0A582C AC200994 */ sw $zero, %lo(D_80040994)($at) -/* 0DA360 7F0A5830 0FC29484 */ jal sub_GAME_7F0A5210 -/* 0DA364 7F0A5834 00000000 */ nop -/* 0DA368 7F0A5838 3C018006 */ lui $at, %hi(D_80058478) -/* 0DA36C 7F0A583C C42C8478 */ lwc1 $f12, %lo(D_80058478)($at) -/* 0DA370 7F0A5840 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 0DA374 7F0A5844 44817000 */ mtc1 $at, $f14 -/* 0DA378 7F0A5848 0FC1F900 */ jal trigger_watch_zoom -/* 0DA37C 7F0A584C 00000000 */ nop -.L7F0A5850: -/* 0DA380 7F0A5850 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5854: -/* 0DA384 7F0A5854 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA388 7F0A5858 03E00008 */ jr $ra -/* 0DA38C 7F0A585C 00000000 */ nop -) -#endif - - - - - - -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 - { - - } -} - -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_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( -.text -glabel sub_GAME_7F0A5998 -/* 0DA4C8 7F0A5998 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA4CC 7F0A599C AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA4D0 7F0A59A0 00002025 */ move $a0, $zero -/* 0DA4D4 7F0A59A4 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA4D8 7F0A59A8 24050808 */ li $a1, 2056 -/* 0DA4DC 7F0A59AC 14400005 */ bnez $v0, .L7F0A59C4 -/* 0DA4E0 7F0A59B0 00000000 */ nop -/* 0DA4E4 7F0A59B4 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DA4E8 7F0A59B8 00000000 */ nop -/* 0DA4EC 7F0A59BC 1040000B */ beqz $v0, .L7F0A59EC -/* 0DA4F0 7F0A59C0 00002025 */ move $a0, $zero -.L7F0A59C4: -/* 0DA4F4 7F0A59C4 3C028004 */ lui $v0, %hi(D_8004099C) -/* 0DA4F8 7F0A59C8 2442099C */ addiu $v0, %lo(D_8004099C) # addiu $v0, $v0, 0x99c -/* 0DA4FC 7F0A59CC 8C4E0000 */ lw $t6, ($v0) -/* 0DA500 7F0A59D0 25CFFFFF */ addiu $t7, $t6, -1 -/* 0DA504 7F0A59D4 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA508 7F0A59D8 AC4F0000 */ sw $t7, ($v0) -/* 0DA50C 7F0A59DC 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DA510 7F0A59E0 00000000 */ nop -/* 0DA514 7F0A59E4 10000010 */ b .L7F0A5A28 -/* 0DA518 7F0A59E8 00000000 */ nop -.L7F0A59EC: -/* 0DA51C 7F0A59EC 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA520 7F0A59F0 24050404 */ li $a1, 1028 -/* 0DA524 7F0A59F4 14400004 */ bnez $v0, .L7F0A5A08 -/* 0DA528 7F0A59F8 00000000 */ nop -/* 0DA52C 7F0A59FC 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DA530 7F0A5A00 00000000 */ nop -/* 0DA534 7F0A5A04 10400008 */ beqz $v0, .L7F0A5A28 -.L7F0A5A08: -/* 0DA538 7F0A5A08 3C188004 */ lui $t8, %hi(D_8004099C) -/* 0DA53C 7F0A5A0C 8F18099C */ lw $t8, %lo(D_8004099C)($t8) -/* 0DA540 7F0A5A10 3C018004 */ lui $at, %hi(D_8004099C) -/* 0DA544 7F0A5A14 27190001 */ addiu $t9, $t8, 1 -/* 0DA548 7F0A5A18 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA54C 7F0A5A1C AC39099C */ sw $t9, %lo(D_8004099C)($at) -/* 0DA550 7F0A5A20 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DA554 7F0A5A24 00000000 */ nop -.L7F0A5A28: -/* 0DA558 7F0A5A28 3C038004 */ lui $v1, %hi(D_8004099C) -/* 0DA55C 7F0A5A2C 2463099C */ addiu $v1, %lo(D_8004099C) # addiu $v1, $v1, 0x99c -/* 0DA560 7F0A5A30 8C620000 */ lw $v0, ($v1) -/* 0DA564 7F0A5A34 2841000A */ slti $at, $v0, 0xa -/* 0DA568 7F0A5A38 14200003 */ bnez $at, .L7F0A5A48 -/* 0DA56C 7F0A5A3C 00000000 */ nop -/* 0DA570 7F0A5A40 10000004 */ b .L7F0A5A54 -/* 0DA574 7F0A5A44 AC600000 */ sw $zero, ($v1) -.L7F0A5A48: -/* 0DA578 7F0A5A48 04410002 */ bgez $v0, .L7F0A5A54 -/* 0DA57C 7F0A5A4C 24080009 */ li $t0, 9 -/* 0DA580 7F0A5A50 AC680000 */ sw $t0, ($v1) -.L7F0A5A54: -/* 0DA584 7F0A5A54 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DA588 7F0A5A58 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA58C 7F0A5A5C 03E00008 */ jr $ra -/* 0DA590 7F0A5A60 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0A5A64 -/* 0DA594 7F0A5A64 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA598 7F0A5A68 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA59C 7F0A5A6C 00002025 */ move $a0, $zero -/* 0DA5A0 7F0A5A70 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA5A4 7F0A5A74 24050808 */ li $a1, 2056 -/* 0DA5A8 7F0A5A78 54400006 */ bnezl $v0, .L7F0A5A94 -/* 0DA5AC 7F0A5A7C 240E0009 */ li $t6, 9 -/* 0DA5B0 7F0A5A80 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DA5B4 7F0A5A84 00000000 */ nop -/* 0DA5B8 7F0A5A88 10400009 */ beqz $v0, .L7F0A5AB0 -/* 0DA5BC 7F0A5A8C 00002025 */ move $a0, $zero -/* 0DA5C0 7F0A5A90 240E0009 */ li $t6, 9 -.L7F0A5A94: -/* 0DA5C4 7F0A5A94 3C018004 */ lui $at, %hi(D_8004099C) -/* 0DA5C8 7F0A5A98 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA5CC 7F0A5A9C AC2E099C */ sw $t6, %lo(D_8004099C)($at) -/* 0DA5D0 7F0A5AA0 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DA5D4 7F0A5AA4 00000000 */ nop -/* 0DA5D8 7F0A5AA8 1000000F */ b .L7F0A5AE8 -/* 0DA5DC 7F0A5AAC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5AB0: -/* 0DA5E0 7F0A5AB0 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA5E4 7F0A5AB4 24050404 */ li $a1, 1028 -/* 0DA5E8 7F0A5AB8 54400005 */ bnezl $v0, .L7F0A5AD0 -/* 0DA5EC 7F0A5ABC 240F0001 */ li $t7, 1 -/* 0DA5F0 7F0A5AC0 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DA5F4 7F0A5AC4 00000000 */ nop -/* 0DA5F8 7F0A5AC8 10400006 */ beqz $v0, .L7F0A5AE4 -/* 0DA5FC 7F0A5ACC 240F0001 */ li $t7, 1 -.L7F0A5AD0: -/* 0DA600 7F0A5AD0 3C018004 */ lui $at, %hi(D_8004099C) -/* 0DA604 7F0A5AD4 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA608 7F0A5AD8 AC2F099C */ sw $t7, %lo(D_8004099C)($at) -/* 0DA60C 7F0A5ADC 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DA610 7F0A5AE0 00000000 */ nop -.L7F0A5AE4: -/* 0DA614 7F0A5AE4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5AE8: -/* 0DA618 7F0A5AE8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA61C 7F0A5AEC 03E00008 */ jr $ra -/* 0DA620 7F0A5AF0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0A5AF4 -/* 0DA624 7F0A5AF4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA628 7F0A5AF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA62C 7F0A5AFC 00002025 */ move $a0, $zero -/* 0DA630 7F0A5B00 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA634 7F0A5B04 24050808 */ li $a1, 2056 -/* 0DA638 7F0A5B08 14400005 */ bnez $v0, .L7F0A5B20 -/* 0DA63C 7F0A5B0C 00000000 */ nop -/* 0DA640 7F0A5B10 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DA644 7F0A5B14 00000000 */ nop -/* 0DA648 7F0A5B18 10400008 */ beqz $v0, .L7F0A5B3C -/* 0DA64C 7F0A5B1C 00002025 */ move $a0, $zero -.L7F0A5B20: -/* 0DA650 7F0A5B20 3C018004 */ lui $at, %hi(D_8004099C) -/* 0DA654 7F0A5B24 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA658 7F0A5B28 AC20099C */ sw $zero, %lo(D_8004099C)($at) -/* 0DA65C 7F0A5B2C 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DA660 7F0A5B30 00000000 */ nop -/* 0DA664 7F0A5B34 1000000F */ b .L7F0A5B74 -/* 0DA668 7F0A5B38 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5B3C: -/* 0DA66C 7F0A5B3C 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA670 7F0A5B40 24050404 */ li $a1, 1028 -/* 0DA674 7F0A5B44 54400005 */ bnezl $v0, .L7F0A5B5C -/* 0DA678 7F0A5B48 240E0002 */ li $t6, 2 -/* 0DA67C 7F0A5B4C 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DA680 7F0A5B50 00000000 */ nop -/* 0DA684 7F0A5B54 10400006 */ beqz $v0, .L7F0A5B70 -/* 0DA688 7F0A5B58 240E0002 */ li $t6, 2 -.L7F0A5B5C: -/* 0DA68C 7F0A5B5C 3C018004 */ lui $at, %hi(D_8004099C) -/* 0DA690 7F0A5B60 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA694 7F0A5B64 AC2E099C */ sw $t6, %lo(D_8004099C)($at) -/* 0DA698 7F0A5B68 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DA69C 7F0A5B6C 00000000 */ nop -.L7F0A5B70: -/* 0DA6A0 7F0A5B70 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5B74: -/* 0DA6A4 7F0A5B74 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA6A8 7F0A5B78 03E00008 */ jr $ra -/* 0DA6AC 7F0A5B7C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A5B80(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005847C -.word 0x3dcccccd /*0.1*/ -glabel D_80058480 -.word 0x3dcccccd /*0.1*/ -glabel D_80058484 -.word 0x3f0ccccd /*0.55000001*/ -glabel D_80058488 -.word 0x3dcccccd /*0.1*/ -glabel D_8005848C -.word 0x3ee66666 /*0.44999999*/ -glabel D_80058490 -.word 0x3dcccccd /*0.1*/ -.text -glabel sub_GAME_7F0A5B80 -/* 0DA6B0 7F0A5B80 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0DA6B4 7F0A5B84 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA6B8 7F0A5B88 0FC2340E */ jal sub_GAME_7F08D038 -/* 0DA6BC 7F0A5B8C 00000000 */ nop -/* 0DA6C0 7F0A5B90 0FC24415 */ jal get_debug_gunwatchpos_flag -/* 0DA6C4 7F0A5B94 AFA2001C */ sw $v0, 0x1c($sp) -/* 0DA6C8 7F0A5B98 14400067 */ bnez $v0, .L7F0A5D38 -/* 0DA6CC 7F0A5B9C 00002025 */ move $a0, $zero -/* 0DA6D0 7F0A5BA0 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA6D4 7F0A5BA4 24050808 */ li $a1, 2056 -/* 0DA6D8 7F0A5BA8 14400005 */ bnez $v0, .L7F0A5BC0 -/* 0DA6DC 7F0A5BAC 00000000 */ nop -/* 0DA6E0 7F0A5BB0 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DA6E4 7F0A5BB4 00002025 */ move $a0, $zero -/* 0DA6E8 7F0A5BB8 28410047 */ slti $at, $v0, 0x47 -/* 0DA6EC 7F0A5BBC 14200012 */ bnez $at, .L7F0A5C08 -.L7F0A5BC0: -/* 0DA6F0 7F0A5BC0 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA6F4 7F0A5BC4 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA6F8 7F0A5BC8 C4C00000 */ lwc1 $f0, ($a2) -/* 0DA6FC 7F0A5BCC 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0DA700 7F0A5BD0 4600010D */ trunc.w.s $f4, $f0 -/* 0DA704 7F0A5BD4 440F2000 */ mfc1 $t7, $f4 -/* 0DA708 7F0A5BD8 00000000 */ nop -/* 0DA70C 7F0A5BDC 59E0002B */ blezl $t7, .L7F0A5C8C -/* 0DA710 7F0A5BE0 00002025 */ move $a0, $zero -/* 0DA714 7F0A5BE4 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0DA718 7F0A5BE8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DA71C 7F0A5BEC 57000027 */ bnezl $t8, .L7F0A5C8C -/* 0DA720 7F0A5BF0 00002025 */ move $a0, $zero -/* 0DA724 7F0A5BF4 44813000 */ mtc1 $at, $f6 -/* 0DA728 7F0A5BF8 00000000 */ nop -/* 0DA72C 7F0A5BFC 46060201 */ sub.s $f8, $f0, $f6 -/* 0DA730 7F0A5C00 10000021 */ b .L7F0A5C88 -/* 0DA734 7F0A5C04 E4C80000 */ swc1 $f8, ($a2) -.L7F0A5C08: -/* 0DA738 7F0A5C08 00002025 */ move $a0, $zero -/* 0DA73C 7F0A5C0C 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA740 7F0A5C10 24050404 */ li $a1, 1028 -/* 0DA744 7F0A5C14 14400008 */ bnez $v0, .L7F0A5C38 -/* 0DA748 7F0A5C18 00000000 */ nop -/* 0DA74C 7F0A5C1C 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DA750 7F0A5C20 00002025 */ move $a0, $zero -/* 0DA754 7F0A5C24 2841FFBA */ slti $at, $v0, -0x46 -/* 0DA758 7F0A5C28 14200003 */ bnez $at, .L7F0A5C38 -/* 0DA75C 7F0A5C2C 00000000 */ nop -/* 0DA760 7F0A5C30 10000016 */ b .L7F0A5C8C -/* 0DA764 7F0A5C34 00002025 */ move $a0, $zero -.L7F0A5C38: -/* 0DA768 7F0A5C38 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA76C 7F0A5C3C 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA770 7F0A5C40 C4C00000 */ lwc1 $f0, ($a2) -/* 0DA774 7F0A5C44 8FAB001C */ lw $t3, 0x1c($sp) -/* 0DA778 7F0A5C48 3C0D8004 */ lui $t5, %hi(watch_soundrelated_maybe) -/* 0DA77C 7F0A5C4C 4600028D */ trunc.w.s $f10, $f0 -/* 0DA780 7F0A5C50 256CFFFF */ addiu $t4, $t3, -1 -/* 0DA784 7F0A5C54 440A5000 */ mfc1 $t2, $f10 -/* 0DA788 7F0A5C58 00000000 */ nop -/* 0DA78C 7F0A5C5C 014C082A */ slt $at, $t2, $t4 -/* 0DA790 7F0A5C60 5020000A */ beql $at, $zero, .L7F0A5C8C -/* 0DA794 7F0A5C64 00002025 */ move $a0, $zero -/* 0DA798 7F0A5C68 8DAD09A8 */ lw $t5, %lo(watch_soundrelated_maybe)($t5) -/* 0DA79C 7F0A5C6C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DA7A0 7F0A5C70 55A00006 */ bnezl $t5, .L7F0A5C8C -/* 0DA7A4 7F0A5C74 00002025 */ move $a0, $zero -/* 0DA7A8 7F0A5C78 44818000 */ mtc1 $at, $f16 -/* 0DA7AC 7F0A5C7C 00000000 */ nop -/* 0DA7B0 7F0A5C80 46100480 */ add.s $f18, $f0, $f16 -/* 0DA7B4 7F0A5C84 E4D20000 */ swc1 $f18, ($a2) -.L7F0A5C88: -/* 0DA7B8 7F0A5C88 00002025 */ move $a0, $zero -.L7F0A5C8C: -/* 0DA7BC 7F0A5C8C 0C0030C3 */ jal get_controller_buttons_held -/* 0DA7C0 7F0A5C90 24050808 */ li $a1, 2056 -/* 0DA7C4 7F0A5C94 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA7C8 7F0A5C98 10400010 */ beqz $v0, .L7F0A5CDC -/* 0DA7CC 7F0A5C9C 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA7D0 7F0A5CA0 C4C00000 */ lwc1 $f0, ($a2) -/* 0DA7D4 7F0A5CA4 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0DA7D8 7F0A5CA8 4600010D */ trunc.w.s $f4, $f0 -/* 0DA7DC 7F0A5CAC 440F2000 */ mfc1 $t7, $f4 -/* 0DA7E0 7F0A5CB0 00000000 */ nop -/* 0DA7E4 7F0A5CB4 19E00020 */ blez $t7, .L7F0A5D38 -/* 0DA7E8 7F0A5CB8 00000000 */ nop -/* 0DA7EC 7F0A5CBC 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0DA7F0 7F0A5CC0 3C018006 */ lui $at, %hi(D_8005847C) -/* 0DA7F4 7F0A5CC4 1700001C */ bnez $t8, .L7F0A5D38 -/* 0DA7F8 7F0A5CC8 00000000 */ nop -/* 0DA7FC 7F0A5CCC C426847C */ lwc1 $f6, %lo(D_8005847C)($at) -/* 0DA800 7F0A5CD0 46060201 */ sub.s $f8, $f0, $f6 -/* 0DA804 7F0A5CD4 10000018 */ b .L7F0A5D38 -/* 0DA808 7F0A5CD8 E4C80000 */ swc1 $f8, ($a2) -.L7F0A5CDC: -/* 0DA80C 7F0A5CDC 00002025 */ move $a0, $zero -/* 0DA810 7F0A5CE0 0C0030C3 */ jal get_controller_buttons_held -/* 0DA814 7F0A5CE4 24050404 */ li $a1, 1028 -/* 0DA818 7F0A5CE8 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA81C 7F0A5CEC 10400012 */ beqz $v0, .L7F0A5D38 -/* 0DA820 7F0A5CF0 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA824 7F0A5CF4 C4C00000 */ lwc1 $f0, ($a2) -/* 0DA828 7F0A5CF8 8FAA001C */ lw $t2, 0x1c($sp) -/* 0DA82C 7F0A5CFC 3C0D8004 */ lui $t5, %hi(watch_soundrelated_maybe) -/* 0DA830 7F0A5D00 4600028D */ trunc.w.s $f10, $f0 -/* 0DA834 7F0A5D04 254CFFFF */ addiu $t4, $t2, -1 -/* 0DA838 7F0A5D08 440B5000 */ mfc1 $t3, $f10 -/* 0DA83C 7F0A5D0C 00000000 */ nop -/* 0DA840 7F0A5D10 016C082A */ slt $at, $t3, $t4 -/* 0DA844 7F0A5D14 10200008 */ beqz $at, .L7F0A5D38 -/* 0DA848 7F0A5D18 00000000 */ nop -/* 0DA84C 7F0A5D1C 8DAD09A8 */ lw $t5, %lo(watch_soundrelated_maybe)($t5) -/* 0DA850 7F0A5D20 3C018006 */ lui $at, %hi(D_80058480) -/* 0DA854 7F0A5D24 15A00004 */ bnez $t5, .L7F0A5D38 -/* 0DA858 7F0A5D28 00000000 */ nop -/* 0DA85C 7F0A5D2C C4308480 */ lwc1 $f16, %lo(D_80058480)($at) -/* 0DA860 7F0A5D30 46100480 */ add.s $f18, $f0, $f16 -/* 0DA864 7F0A5D34 E4D20000 */ swc1 $f18, ($a2) -.L7F0A5D38: -/* 0DA868 7F0A5D38 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DA86C 7F0A5D3C 00002025 */ move $a0, $zero -/* 0DA870 7F0A5D40 2841001F */ slti $at, $v0, 0x1f -/* 0DA874 7F0A5D44 1420001A */ bnez $at, .L7F0A5DB0 -/* 0DA878 7F0A5D48 00000000 */ nop -/* 0DA87C 7F0A5D4C 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DA880 7F0A5D50 00002025 */ move $a0, $zero -/* 0DA884 7F0A5D54 28410046 */ slti $at, $v0, 0x46 -/* 0DA888 7F0A5D58 10200015 */ beqz $at, .L7F0A5DB0 -/* 0DA88C 7F0A5D5C 3C0E8004 */ lui $t6, %hi(D_800409B8) -/* 0DA890 7F0A5D60 8DCE09B8 */ lw $t6, %lo(D_800409B8)($t6) -/* 0DA894 7F0A5D64 3C0F8004 */ lui $t7, %hi(watch_soundrelated_maybe) -/* 0DA898 7F0A5D68 19C00011 */ blez $t6, .L7F0A5DB0 -/* 0DA89C 7F0A5D6C 00000000 */ nop -/* 0DA8A0 7F0A5D70 8DEF09A8 */ lw $t7, %lo(watch_soundrelated_maybe)($t7) -/* 0DA8A4 7F0A5D74 15E0000E */ bnez $t7, .L7F0A5DB0 -/* 0DA8A8 7F0A5D78 00000000 */ nop -/* 0DA8AC 7F0A5D7C 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DA8B0 7F0A5D80 00002025 */ move $a0, $zero -/* 0DA8B4 7F0A5D84 44822000 */ mtc1 $v0, $f4 -/* 0DA8B8 7F0A5D88 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0DA8BC 7F0A5D8C 44814000 */ mtc1 $at, $f8 -/* 0DA8C0 7F0A5D90 468021A0 */ cvt.s.w $f6, $f4 -/* 0DA8C4 7F0A5D94 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA8C8 7F0A5D98 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA8CC 7F0A5D9C C4D00000 */ lwc1 $f16, ($a2) -/* 0DA8D0 7F0A5DA0 46083283 */ div.s $f10, $f6, $f8 -/* 0DA8D4 7F0A5DA4 460A8481 */ sub.s $f18, $f16, $f10 -/* 0DA8D8 7F0A5DA8 10000025 */ b .L7F0A5E40 -/* 0DA8DC 7F0A5DAC E4D20000 */ swc1 $f18, ($a2) -.L7F0A5DB0: -/* 0DA8E0 7F0A5DB0 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DA8E4 7F0A5DB4 00002025 */ move $a0, $zero -/* 0DA8E8 7F0A5DB8 2841FFE2 */ slti $at, $v0, -0x1e -/* 0DA8EC 7F0A5DBC 10200020 */ beqz $at, .L7F0A5E40 -/* 0DA8F0 7F0A5DC0 00000000 */ nop -/* 0DA8F4 7F0A5DC4 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DA8F8 7F0A5DC8 00002025 */ move $a0, $zero -/* 0DA8FC 7F0A5DCC 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA900 7F0A5DD0 2841FFBB */ slti $at, $v0, -0x45 -/* 0DA904 7F0A5DD4 1420001A */ bnez $at, .L7F0A5E40 -/* 0DA908 7F0A5DD8 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA90C 7F0A5DDC C4C40000 */ lwc1 $f4, ($a2) -/* 0DA910 7F0A5DE0 8FAA001C */ lw $t2, 0x1c($sp) -/* 0DA914 7F0A5DE4 3C0C8004 */ lui $t4, %hi(watch_soundrelated_maybe) -/* 0DA918 7F0A5DE8 4600218D */ trunc.w.s $f6, $f4 -/* 0DA91C 7F0A5DEC 254BFFFF */ addiu $t3, $t2, -1 -/* 0DA920 7F0A5DF0 44193000 */ mfc1 $t9, $f6 -/* 0DA924 7F0A5DF4 00000000 */ nop -/* 0DA928 7F0A5DF8 032B082A */ slt $at, $t9, $t3 -/* 0DA92C 7F0A5DFC 10200010 */ beqz $at, .L7F0A5E40 -/* 0DA930 7F0A5E00 00000000 */ nop -/* 0DA934 7F0A5E04 8D8C09A8 */ lw $t4, %lo(watch_soundrelated_maybe)($t4) -/* 0DA938 7F0A5E08 1580000D */ bnez $t4, .L7F0A5E40 -/* 0DA93C 7F0A5E0C 00000000 */ nop -/* 0DA940 7F0A5E10 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DA944 7F0A5E14 00002025 */ move $a0, $zero -/* 0DA948 7F0A5E18 44824000 */ mtc1 $v0, $f8 -/* 0DA94C 7F0A5E1C 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0DA950 7F0A5E20 44815000 */ mtc1 $at, $f10 -/* 0DA954 7F0A5E24 46804420 */ cvt.s.w $f16, $f8 -/* 0DA958 7F0A5E28 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA95C 7F0A5E2C 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA960 7F0A5E30 C4C40000 */ lwc1 $f4, ($a2) -/* 0DA964 7F0A5E34 460A8483 */ div.s $f18, $f16, $f10 -/* 0DA968 7F0A5E38 46122181 */ sub.s $f6, $f4, $f18 -/* 0DA96C 7F0A5E3C E4C60000 */ swc1 $f6, ($a2) -.L7F0A5E40: -/* 0DA970 7F0A5E40 0FC29458 */ jal sub_GAME_7F0A5160 -/* 0DA974 7F0A5E44 00000000 */ nop -/* 0DA978 7F0A5E48 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA97C 7F0A5E4C 10400010 */ beqz $v0, .L7F0A5E90 -/* 0DA980 7F0A5E50 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA984 7F0A5E54 3C0D8004 */ lui $t5, %hi(D_800409B8) -/* 0DA988 7F0A5E58 8DAD09B8 */ lw $t5, %lo(D_800409B8)($t5) -/* 0DA98C 7F0A5E5C 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DA990 7F0A5E60 19A0000B */ blez $t5, .L7F0A5E90 -/* 0DA994 7F0A5E64 00000000 */ nop -/* 0DA998 7F0A5E68 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DA99C 7F0A5E6C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DA9A0 7F0A5E70 15C00007 */ bnez $t6, .L7F0A5E90 -/* 0DA9A4 7F0A5E74 00000000 */ nop -/* 0DA9A8 7F0A5E78 C4C80000 */ lwc1 $f8, ($a2) -/* 0DA9AC 7F0A5E7C 44818000 */ mtc1 $at, $f16 -/* 0DA9B0 7F0A5E80 00000000 */ nop -/* 0DA9B4 7F0A5E84 46104281 */ sub.s $f10, $f8, $f16 -/* 0DA9B8 7F0A5E88 10000017 */ b .L7F0A5EE8 -/* 0DA9BC 7F0A5E8C E4CA0000 */ swc1 $f10, ($a2) -.L7F0A5E90: -/* 0DA9C0 7F0A5E90 0FC29467 */ jal sub_GAME_7F0A519C -/* 0DA9C4 7F0A5E94 00000000 */ nop -/* 0DA9C8 7F0A5E98 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DA9CC 7F0A5E9C 10400012 */ beqz $v0, .L7F0A5EE8 -/* 0DA9D0 7F0A5EA0 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DA9D4 7F0A5EA4 8FB8001C */ lw $t8, 0x1c($sp) -/* 0DA9D8 7F0A5EA8 3C0F8004 */ lui $t7, %hi(D_800409B8) -/* 0DA9DC 7F0A5EAC 8DEF09B8 */ lw $t7, %lo(D_800409B8)($t7) -/* 0DA9E0 7F0A5EB0 270AFFFF */ addiu $t2, $t8, -1 -/* 0DA9E4 7F0A5EB4 3C198004 */ lui $t9, %hi(watch_soundrelated_maybe) -/* 0DA9E8 7F0A5EB8 01EA082A */ slt $at, $t7, $t2 -/* 0DA9EC 7F0A5EBC 1020000A */ beqz $at, .L7F0A5EE8 -/* 0DA9F0 7F0A5EC0 00000000 */ nop -/* 0DA9F4 7F0A5EC4 8F3909A8 */ lw $t9, %lo(watch_soundrelated_maybe)($t9) -/* 0DA9F8 7F0A5EC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DA9FC 7F0A5ECC 17200006 */ bnez $t9, .L7F0A5EE8 -/* 0DAA00 7F0A5ED0 00000000 */ nop -/* 0DAA04 7F0A5ED4 C4C40000 */ lwc1 $f4, ($a2) -/* 0DAA08 7F0A5ED8 44819000 */ mtc1 $at, $f18 -/* 0DAA0C 7F0A5EDC 00000000 */ nop -/* 0DAA10 7F0A5EE0 46122180 */ add.s $f6, $f4, $f18 -/* 0DAA14 7F0A5EE4 E4C60000 */ swc1 $f6, ($a2) -.L7F0A5EE8: -/* 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 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 -/* 0DAA3C 7F0A5F0C 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -.L7F0A5F10: -/* 0DAA40 7F0A5F10 240B0001 */ li $t3, 1 -/* 0DAA44 7F0A5F14 3C018004 */ lui $at, %hi(D_80040AE4) -/* 0DAA48 7F0A5F18 10000003 */ b .L7F0A5F28 -/* 0DAA4C 7F0A5F1C AC2B0AE4 */ sw $t3, %lo(D_80040AE4)($at) -.L7F0A5F20: -/* 0DAA50 7F0A5F20 3C018004 */ lui $at, %hi(D_80040AE4) -/* 0DAA54 7F0A5F24 AC200AE4 */ sw $zero, %lo(D_80040AE4)($at) -.L7F0A5F28: -/* 0DAA58 7F0A5F28 8FAC001C */ lw $t4, 0x1c($sp) -/* 0DAA5C 7F0A5F2C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0DAA60 7F0A5F30 44815000 */ mtc1 $at, $f10 -/* 0DAA64 7F0A5F34 448C4000 */ mtc1 $t4, $f8 -/* 0DAA68 7F0A5F38 C4C00000 */ lwc1 $f0, ($a2) -/* 0DAA6C 7F0A5F3C 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 0DAA70 7F0A5F40 46804420 */ cvt.s.w $f16, $f8 -/* 0DAA74 7F0A5F44 3C058004 */ lui $a1, %hi(D_800409B8) -/* 0DAA78 7F0A5F48 460A8081 */ sub.s $f2, $f16, $f10 -/* 0DAA7C 7F0A5F4C 4600103C */ c.lt.s $f2, $f0 -/* 0DAA80 7F0A5F50 00000000 */ nop -/* 0DAA84 7F0A5F54 45020004 */ bc1fl .L7F0A5F68 -/* 0DAA88 7F0A5F58 44811000 */ mtc1 $at, $f2 -/* 0DAA8C 7F0A5F5C E4C20000 */ swc1 $f2, ($a2) -/* 0DAA90 7F0A5F60 C4C00000 */ lwc1 $f0, ($a2) -/* 0DAA94 7F0A5F64 44811000 */ mtc1 $at, $f2 -.L7F0A5F68: -/* 0DAA98 7F0A5F68 00000000 */ nop -/* 0DAA9C 7F0A5F6C 4602003C */ c.lt.s $f0, $f2 -/* 0DAAA0 7F0A5F70 00000000 */ nop -/* 0DAAA4 7F0A5F74 45020004 */ bc1fl .L7F0A5F88 -/* 0DAAA8 7F0A5F78 4600010D */ trunc.w.s $f4, $f0 -/* 0DAAAC 7F0A5F7C E4C20000 */ swc1 $f2, ($a2) -/* 0DAAB0 7F0A5F80 C4C00000 */ lwc1 $f0, ($a2) -/* 0DAAB4 7F0A5F84 4600010D */ trunc.w.s $f4, $f0 -.L7F0A5F88: -/* 0DAAB8 7F0A5F88 3C028005 */ lui $v0, %hi(j_text_trigger) -/* 0DAABC 7F0A5F8C 8C4284D0 */ lw $v0, %lo(j_text_trigger)($v0) -/* 0DAAC0 7F0A5F90 3C018004 */ lui $at, %hi(D_800409B8) -/* 0DAAC4 7F0A5F94 440E2000 */ mfc1 $t6, $f4 -/* 0DAAC8 7F0A5F98 10400003 */ beqz $v0, .L7F0A5FA8 -/* 0DAACC 7F0A5F9C AC2E09B8 */ sw $t6, %lo(D_800409B8)($at) -/* 0DAAD0 7F0A5FA0 10000002 */ b .L7F0A5FAC -/* 0DAAD4 7F0A5FA4 2407000E */ li $a3, 14 -.L7F0A5FA8: -/* 0DAAD8 7F0A5FA8 2407000C */ li $a3, 12 -.L7F0A5FAC: -/* 0DAADC 7F0A5FAC 50400004 */ beql $v0, $zero, .L7F0A5FC0 -/* 0DAAE0 7F0A5FB0 2404000C */ li $a0, 12 -/* 0DAAE4 7F0A5FB4 10000002 */ b .L7F0A5FC0 -/* 0DAAE8 7F0A5FB8 2404000E */ li $a0, 14 -/* 0DAAEC 7F0A5FBC 2404000C */ li $a0, 12 -.L7F0A5FC0: -/* 0DAAF0 7F0A5FC0 8CA509B8 */ lw $a1, %lo(D_800409B8)($a1) -/* 0DAAF4 7F0A5FC4 3C098004 */ lui $t1, %hi(D_800409B0) -/* 0DAAF8 7F0A5FC8 252909B0 */ addiu $t1, %lo(D_800409B0) # addiu $t1, $t1, 0x9b0 -/* 0DAAFC 7F0A5FCC 00057823 */ negu $t7, $a1 -/* 0DAB00 7F0A5FD0 01E70019 */ multu $t7, $a3 -/* 0DAB04 7F0A5FD4 8D220000 */ lw $v0, ($t1) -/* 0DAB08 7F0A5FD8 0004C040 */ sll $t8, $a0, 1 -/* 0DAB0C 7F0A5FDC 3C088004 */ lui $t0, %hi(D_800409B4) -/* 0DAB10 7F0A5FE0 250809B4 */ addiu $t0, %lo(D_800409B4) # addiu $t0, $t0, 0x9b4 -/* 0DAB14 7F0A5FE4 00005012 */ mflo $t2 -/* 0DAB18 7F0A5FE8 030AC821 */ addu $t9, $t8, $t2 -/* 0DAB1C 7F0A5FEC 0322082A */ slt $at, $t9, $v0 -/* 0DAB20 7F0A5FF0 AD190000 */ sw $t9, ($t0) -/* 0DAB24 7F0A5FF4 1020000B */ beqz $at, .L7F0A6024 -/* 0DAB28 7F0A5FF8 03201825 */ move $v1, $t9 -/* 0DAB2C 7F0A5FFC 00595823 */ subu $t3, $v0, $t9 -/* 0DAB30 7F0A6000 24010003 */ li $at, 3 -/* 0DAB34 7F0A6004 0161001A */ div $zero, $t3, $at -/* 0DAB38 7F0A6008 00006012 */ mflo $t4 -/* 0DAB3C 7F0A600C 004C6823 */ subu $t5, $v0, $t4 -/* 0DAB40 7F0A6010 25AEFFFF */ addiu $t6, $t5, -1 -/* 0DAB44 7F0A6014 AD2E0000 */ sw $t6, ($t1) -/* 0DAB48 7F0A6018 3C018004 */ lui $at, %hi(D_800409C0) -/* 0DAB4C 7F0A601C 10000010 */ b .L7F0A6060 -/* 0DAB50 7F0A6020 AC2009C0 */ sw $zero, %lo(D_800409C0)($at) -.L7F0A6024: -/* 0DAB54 7F0A6024 0043082A */ slt $at, $v0, $v1 -/* 0DAB58 7F0A6028 1020000A */ beqz $at, .L7F0A6054 -/* 0DAB5C 7F0A602C 00627823 */ subu $t7, $v1, $v0 -/* 0DAB60 7F0A6030 24010003 */ li $at, 3 -/* 0DAB64 7F0A6034 01E1001A */ div $zero, $t7, $at -/* 0DAB68 7F0A6038 0000C012 */ mflo $t8 -/* 0DAB6C 7F0A603C 00585021 */ addu $t2, $v0, $t8 -/* 0DAB70 7F0A6040 25590001 */ addiu $t9, $t2, 1 -/* 0DAB74 7F0A6044 AD390000 */ sw $t9, ($t1) -/* 0DAB78 7F0A6048 3C018004 */ lui $at, %hi(D_800409C0) -/* 0DAB7C 7F0A604C 10000004 */ b .L7F0A6060 -/* 0DAB80 7F0A6050 AC2009C0 */ sw $zero, %lo(D_800409C0)($at) -.L7F0A6054: -/* 0DAB84 7F0A6054 240B0001 */ li $t3, 1 -/* 0DAB88 7F0A6058 3C018004 */ lui $at, %hi(D_800409C0) -/* 0DAB8C 7F0A605C AC2B09C0 */ sw $t3, %lo(D_800409C0)($at) -.L7F0A6060: -/* 0DAB90 7F0A6060 44859000 */ mtc1 $a1, $f18 -/* 0DAB94 7F0A6064 3C018006 */ lui $at, %hi(D_80058484) -/* 0DAB98 7F0A6068 C4288484 */ lwc1 $f8, %lo(D_80058484)($at) -/* 0DAB9C 7F0A606C 468091A0 */ cvt.s.w $f6, $f18 -/* 0DABA0 7F0A6070 46083400 */ add.s $f16, $f6, $f8 -/* 0DABA4 7F0A6074 4600803C */ c.lt.s $f16, $f0 -/* 0DABA8 7F0A6078 00000000 */ nop -/* 0DABAC 7F0A607C 4500000C */ bc1f .L7F0A60B0 -/* 0DABB0 7F0A6080 00002025 */ move $a0, $zero -/* 0DABB4 7F0A6084 0C0030C3 */ jal get_controller_buttons_held -/* 0DABB8 7F0A6088 3405FFFF */ li $a1, 65535 -/* 0DABBC 7F0A608C 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DABC0 7F0A6090 14400007 */ bnez $v0, .L7F0A60B0 -/* 0DABC4 7F0A6094 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DABC8 7F0A6098 3C018006 */ lui $at, %hi(D_80058488) -/* 0DABCC 7F0A609C C4248488 */ lwc1 $f4, %lo(D_80058488)($at) -/* 0DABD0 7F0A60A0 C4CA0000 */ lwc1 $f10, ($a2) -/* 0DABD4 7F0A60A4 46045481 */ sub.s $f18, $f10, $f4 -/* 0DABD8 7F0A60A8 10000018 */ b .L7F0A610C -/* 0DABDC 7F0A60AC E4D20000 */ swc1 $f18, ($a2) -.L7F0A60B0: -/* 0DABE0 7F0A60B0 3C0C8004 */ lui $t4, %hi(D_800409B8) -/* 0DABE4 7F0A60B4 8D8C09B8 */ lw $t4, %lo(D_800409B8)($t4) -/* 0DABE8 7F0A60B8 3C018006 */ lui $at, %hi(D_8005848C) -/* 0DABEC 7F0A60BC C430848C */ lwc1 $f16, %lo(D_8005848C)($at) -/* 0DABF0 7F0A60C0 448C3000 */ mtc1 $t4, $f6 -/* 0DABF4 7F0A60C4 C4C40000 */ lwc1 $f4, ($a2) -/* 0DABF8 7F0A60C8 00002025 */ move $a0, $zero -/* 0DABFC 7F0A60CC 46803220 */ cvt.s.w $f8, $f6 -/* 0DAC00 7F0A60D0 46104280 */ add.s $f10, $f8, $f16 -/* 0DAC04 7F0A60D4 460A203E */ c.le.s $f4, $f10 -/* 0DAC08 7F0A60D8 00000000 */ nop -/* 0DAC0C 7F0A60DC 4502000C */ bc1fl .L7F0A6110 -/* 0DAC10 7F0A60E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DAC14 7F0A60E4 0C0030C3 */ jal get_controller_buttons_held -/* 0DAC18 7F0A60E8 3405FFFF */ li $a1, 65535 -/* 0DAC1C 7F0A60EC 3C068004 */ lui $a2, %hi(D_800409BC) -/* 0DAC20 7F0A60F0 14400006 */ bnez $v0, .L7F0A610C -/* 0DAC24 7F0A60F4 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DAC28 7F0A60F8 3C018006 */ lui $at, %hi(D_80058490) -/* 0DAC2C 7F0A60FC C4268490 */ lwc1 $f6, %lo(D_80058490)($at) -/* 0DAC30 7F0A6100 C4D20000 */ lwc1 $f18, ($a2) -/* 0DAC34 7F0A6104 46069200 */ add.s $f8, $f18, $f6 -/* 0DAC38 7F0A6108 E4C80000 */ swc1 $f8, ($a2) -.L7F0A610C: -/* 0DAC3C 7F0A610C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6110: -/* 0DAC40 7F0A6110 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0DAC44 7F0A6114 03E00008 */ jr $ra -/* 0DAC48 7F0A6118 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A611C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058494 -.word 0x3dcccccd /*0.1*/ -glabel D_80058498 -.word 0x3dcccccd /*0.1*/ -glabel D_8005849C -.word 0x3f0ccccd /*0.55000001*/ -glabel D_800584A0 -.word 0x3dcccccd /*0.1*/ -glabel D_800584A4 -.word 0x3ee66666 /*0.44999999*/ -glabel D_800584A8 -.word 0x3dcccccd /*0.1*/ -.text -glabel sub_GAME_7F0A611C -/* 0DAC4C 7F0A611C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0DAC50 7F0A6120 AFBF001C */ sw $ra, 0x1c($sp) -/* 0DAC54 7F0A6124 AFB00018 */ sw $s0, 0x18($sp) -/* 0DAC58 7F0A6128 00808025 */ move $s0, $a0 -/* 0DAC5C 7F0A612C AFA50024 */ sw $a1, 0x24($sp) -/* 0DAC60 7F0A6130 AFA60028 */ sw $a2, 0x28($sp) -/* 0DAC64 7F0A6134 0FC24415 */ jal get_debug_gunwatchpos_flag -/* 0DAC68 7F0A6138 AFA7002C */ sw $a3, 0x2c($sp) -/* 0DAC6C 7F0A613C 14400056 */ bnez $v0, .L7F0A6298 -/* 0DAC70 7F0A6140 00002025 */ move $a0, $zero -/* 0DAC74 7F0A6144 0C0030EB */ jal get_controller_buttons_pressed -/* 0DAC78 7F0A6148 24050808 */ li $a1, 2056 -/* 0DAC7C 7F0A614C 54400007 */ bnezl $v0, .L7F0A616C -/* 0DAC80 7F0A6150 C6000000 */ lwc1 $f0, ($s0) -/* 0DAC84 7F0A6154 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DAC88 7F0A6158 00002025 */ move $a0, $zero -/* 0DAC8C 7F0A615C 28410047 */ slti $at, $v0, 0x47 -/* 0DAC90 7F0A6160 1420000F */ bnez $at, .L7F0A61A0 -/* 0DAC94 7F0A6164 00002025 */ move $a0, $zero -/* 0DAC98 7F0A6168 C6000000 */ lwc1 $f0, ($s0) -.L7F0A616C: -/* 0DAC9C 7F0A616C 8FB8003C */ lw $t8, 0x3c($sp) -/* 0DACA0 7F0A6170 4600010D */ trunc.w.s $f4, $f0 -/* 0DACA4 7F0A6174 440F2000 */ mfc1 $t7, $f4 -/* 0DACA8 7F0A6178 00000000 */ nop -/* 0DACAC 7F0A617C 59E00022 */ blezl $t7, .L7F0A6208 -/* 0DACB0 7F0A6180 00002025 */ move $a0, $zero -/* 0DACB4 7F0A6184 1300001F */ beqz $t8, .L7F0A6204 -/* 0DACB8 7F0A6188 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DACBC 7F0A618C 44813000 */ mtc1 $at, $f6 -/* 0DACC0 7F0A6190 00000000 */ nop -/* 0DACC4 7F0A6194 46060201 */ sub.s $f8, $f0, $f6 -/* 0DACC8 7F0A6198 1000001A */ b .L7F0A6204 -/* 0DACCC 7F0A619C E6080000 */ swc1 $f8, ($s0) -.L7F0A61A0: -/* 0DACD0 7F0A61A0 0C0030EB */ jal get_controller_buttons_pressed -/* 0DACD4 7F0A61A4 24050404 */ li $a1, 1028 -/* 0DACD8 7F0A61A8 54400007 */ bnezl $v0, .L7F0A61C8 -/* 0DACDC 7F0A61AC C6000000 */ lwc1 $f0, ($s0) -/* 0DACE0 7F0A61B0 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DACE4 7F0A61B4 00002025 */ move $a0, $zero -/* 0DACE8 7F0A61B8 2841FFBA */ slti $at, $v0, -0x46 -/* 0DACEC 7F0A61BC 50200012 */ beql $at, $zero, .L7F0A6208 -/* 0DACF0 7F0A61C0 00002025 */ move $a0, $zero -/* 0DACF4 7F0A61C4 C6000000 */ lwc1 $f0, ($s0) -.L7F0A61C8: -/* 0DACF8 7F0A61C8 8FA90028 */ lw $t1, 0x28($sp) -/* 0DACFC 7F0A61CC 8FAB003C */ lw $t3, 0x3c($sp) -/* 0DAD00 7F0A61D0 4600028D */ trunc.w.s $f10, $f0 -/* 0DAD04 7F0A61D4 252AFFFF */ addiu $t2, $t1, -1 -/* 0DAD08 7F0A61D8 44085000 */ mfc1 $t0, $f10 -/* 0DAD0C 7F0A61DC 00000000 */ nop -/* 0DAD10 7F0A61E0 010A082A */ slt $at, $t0, $t2 -/* 0DAD14 7F0A61E4 50200008 */ beql $at, $zero, .L7F0A6208 -/* 0DAD18 7F0A61E8 00002025 */ move $a0, $zero -/* 0DAD1C 7F0A61EC 11600005 */ beqz $t3, .L7F0A6204 -/* 0DAD20 7F0A61F0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DAD24 7F0A61F4 44818000 */ mtc1 $at, $f16 -/* 0DAD28 7F0A61F8 00000000 */ nop -/* 0DAD2C 7F0A61FC 46100480 */ add.s $f18, $f0, $f16 -/* 0DAD30 7F0A6200 E6120000 */ swc1 $f18, ($s0) -.L7F0A6204: -/* 0DAD34 7F0A6204 00002025 */ move $a0, $zero -.L7F0A6208: -/* 0DAD38 7F0A6208 0C0030C3 */ jal get_controller_buttons_held -/* 0DAD3C 7F0A620C 24050808 */ li $a1, 2056 -/* 0DAD40 7F0A6210 1040000E */ beqz $v0, .L7F0A624C -/* 0DAD44 7F0A6214 00002025 */ move $a0, $zero -/* 0DAD48 7F0A6218 C6000000 */ lwc1 $f0, ($s0) -/* 0DAD4C 7F0A621C 8FAE003C */ lw $t6, 0x3c($sp) -/* 0DAD50 7F0A6220 4600010D */ trunc.w.s $f4, $f0 -/* 0DAD54 7F0A6224 440D2000 */ mfc1 $t5, $f4 -/* 0DAD58 7F0A6228 00000000 */ nop -/* 0DAD5C 7F0A622C 19A0001A */ blez $t5, .L7F0A6298 -/* 0DAD60 7F0A6230 00000000 */ nop -/* 0DAD64 7F0A6234 11C00018 */ beqz $t6, .L7F0A6298 -/* 0DAD68 7F0A6238 3C018006 */ lui $at, %hi(D_80058494) -/* 0DAD6C 7F0A623C C4268494 */ lwc1 $f6, %lo(D_80058494)($at) -/* 0DAD70 7F0A6240 46060201 */ sub.s $f8, $f0, $f6 -/* 0DAD74 7F0A6244 10000014 */ b .L7F0A6298 -/* 0DAD78 7F0A6248 E6080000 */ swc1 $f8, ($s0) -.L7F0A624C: -/* 0DAD7C 7F0A624C 0C0030C3 */ jal get_controller_buttons_held -/* 0DAD80 7F0A6250 24050404 */ li $a1, 1028 -/* 0DAD84 7F0A6254 10400010 */ beqz $v0, .L7F0A6298 -/* 0DAD88 7F0A6258 00000000 */ nop -/* 0DAD8C 7F0A625C C6000000 */ lwc1 $f0, ($s0) -/* 0DAD90 7F0A6260 8FB90028 */ lw $t9, 0x28($sp) -/* 0DAD94 7F0A6264 8FA8003C */ lw $t0, 0x3c($sp) -/* 0DAD98 7F0A6268 4600028D */ trunc.w.s $f10, $f0 -/* 0DAD9C 7F0A626C 2729FFFF */ addiu $t1, $t9, -1 -/* 0DADA0 7F0A6270 44185000 */ mfc1 $t8, $f10 -/* 0DADA4 7F0A6274 00000000 */ nop -/* 0DADA8 7F0A6278 0309082A */ slt $at, $t8, $t1 -/* 0DADAC 7F0A627C 10200006 */ beqz $at, .L7F0A6298 -/* 0DADB0 7F0A6280 00000000 */ nop -/* 0DADB4 7F0A6284 11000004 */ beqz $t0, .L7F0A6298 -/* 0DADB8 7F0A6288 3C018006 */ lui $at, %hi(D_80058498) -/* 0DADBC 7F0A628C C4308498 */ lwc1 $f16, %lo(D_80058498)($at) -/* 0DADC0 7F0A6290 46100480 */ add.s $f18, $f0, $f16 -/* 0DADC4 7F0A6294 E6120000 */ swc1 $f18, ($s0) -.L7F0A6298: -/* 0DADC8 7F0A6298 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DADCC 7F0A629C 00002025 */ move $a0, $zero -/* 0DADD0 7F0A62A0 2841001F */ slti $at, $v0, 0x1f -/* 0DADD4 7F0A62A4 14200017 */ bnez $at, .L7F0A6304 -/* 0DADD8 7F0A62A8 00000000 */ nop -/* 0DADDC 7F0A62AC 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DADE0 7F0A62B0 00002025 */ move $a0, $zero -/* 0DADE4 7F0A62B4 28410046 */ slti $at, $v0, 0x46 -/* 0DADE8 7F0A62B8 10200012 */ beqz $at, .L7F0A6304 -/* 0DADEC 7F0A62BC 8FAA0024 */ lw $t2, 0x24($sp) -/* 0DADF0 7F0A62C0 8D4B0000 */ lw $t3, ($t2) -/* 0DADF4 7F0A62C4 8FAC003C */ lw $t4, 0x3c($sp) -/* 0DADF8 7F0A62C8 1960000E */ blez $t3, .L7F0A6304 -/* 0DADFC 7F0A62CC 00000000 */ nop -/* 0DAE00 7F0A62D0 1180000C */ beqz $t4, .L7F0A6304 -/* 0DAE04 7F0A62D4 00000000 */ nop -/* 0DAE08 7F0A62D8 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DAE0C 7F0A62DC 00002025 */ move $a0, $zero -/* 0DAE10 7F0A62E0 44822000 */ mtc1 $v0, $f4 -/* 0DAE14 7F0A62E4 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0DAE18 7F0A62E8 44814000 */ mtc1 $at, $f8 -/* 0DAE1C 7F0A62EC 468021A0 */ cvt.s.w $f6, $f4 -/* 0DAE20 7F0A62F0 C6100000 */ lwc1 $f16, ($s0) -/* 0DAE24 7F0A62F4 46083283 */ div.s $f10, $f6, $f8 -/* 0DAE28 7F0A62F8 460A8481 */ sub.s $f18, $f16, $f10 -/* 0DAE2C 7F0A62FC 10000021 */ b .L7F0A6384 -/* 0DAE30 7F0A6300 E6120000 */ swc1 $f18, ($s0) -.L7F0A6304: -/* 0DAE34 7F0A6304 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DAE38 7F0A6308 00002025 */ move $a0, $zero -/* 0DAE3C 7F0A630C 2841FFE2 */ slti $at, $v0, -0x1e -/* 0DAE40 7F0A6310 1020001C */ beqz $at, .L7F0A6384 -/* 0DAE44 7F0A6314 00000000 */ nop -/* 0DAE48 7F0A6318 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DAE4C 7F0A631C 00002025 */ move $a0, $zero -/* 0DAE50 7F0A6320 2841FFBB */ slti $at, $v0, -0x45 -/* 0DAE54 7F0A6324 14200017 */ bnez $at, .L7F0A6384 -/* 0DAE58 7F0A6328 00000000 */ nop -/* 0DAE5C 7F0A632C C6040000 */ lwc1 $f4, ($s0) -/* 0DAE60 7F0A6330 8FAF0028 */ lw $t7, 0x28($sp) -/* 0DAE64 7F0A6334 8FB8003C */ lw $t8, 0x3c($sp) -/* 0DAE68 7F0A6338 4600218D */ trunc.w.s $f6, $f4 -/* 0DAE6C 7F0A633C 25F9FFFF */ addiu $t9, $t7, -1 -/* 0DAE70 7F0A6340 440E3000 */ mfc1 $t6, $f6 -/* 0DAE74 7F0A6344 00000000 */ nop -/* 0DAE78 7F0A6348 01D9082A */ slt $at, $t6, $t9 -/* 0DAE7C 7F0A634C 1020000D */ beqz $at, .L7F0A6384 -/* 0DAE80 7F0A6350 00000000 */ nop -/* 0DAE84 7F0A6354 1300000B */ beqz $t8, .L7F0A6384 -/* 0DAE88 7F0A6358 00000000 */ nop -/* 0DAE8C 7F0A635C 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DAE90 7F0A6360 00002025 */ move $a0, $zero -/* 0DAE94 7F0A6364 44824000 */ mtc1 $v0, $f8 -/* 0DAE98 7F0A6368 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0DAE9C 7F0A636C 44815000 */ mtc1 $at, $f10 -/* 0DAEA0 7F0A6370 46804420 */ cvt.s.w $f16, $f8 -/* 0DAEA4 7F0A6374 C6040000 */ lwc1 $f4, ($s0) -/* 0DAEA8 7F0A6378 460A8483 */ div.s $f18, $f16, $f10 -/* 0DAEAC 7F0A637C 46122181 */ sub.s $f6, $f4, $f18 -/* 0DAEB0 7F0A6380 E6060000 */ swc1 $f6, ($s0) -.L7F0A6384: -/* 0DAEB4 7F0A6384 0FC29458 */ jal sub_GAME_7F0A5160 -/* 0DAEB8 7F0A6388 00000000 */ nop -/* 0DAEBC 7F0A638C 1040000D */ beqz $v0, .L7F0A63C4 -/* 0DAEC0 7F0A6390 8FA90024 */ lw $t1, 0x24($sp) -/* 0DAEC4 7F0A6394 8D280000 */ lw $t0, ($t1) -/* 0DAEC8 7F0A6398 8FAA003C */ lw $t2, 0x3c($sp) -/* 0DAECC 7F0A639C 19000009 */ blez $t0, .L7F0A63C4 -/* 0DAED0 7F0A63A0 00000000 */ nop -/* 0DAED4 7F0A63A4 11400007 */ beqz $t2, .L7F0A63C4 -/* 0DAED8 7F0A63A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DAEDC 7F0A63AC C6080000 */ lwc1 $f8, ($s0) -/* 0DAEE0 7F0A63B0 44818000 */ mtc1 $at, $f16 -/* 0DAEE4 7F0A63B4 00000000 */ nop -/* 0DAEE8 7F0A63B8 46104281 */ sub.s $f10, $f8, $f16 -/* 0DAEEC 7F0A63BC 10000013 */ b .L7F0A640C -/* 0DAEF0 7F0A63C0 E60A0000 */ swc1 $f10, ($s0) -.L7F0A63C4: -/* 0DAEF4 7F0A63C4 0FC29467 */ jal sub_GAME_7F0A519C -/* 0DAEF8 7F0A63C8 00000000 */ nop -/* 0DAEFC 7F0A63CC 1040000F */ beqz $v0, .L7F0A640C -/* 0DAF00 7F0A63D0 8FAB0024 */ lw $t3, 0x24($sp) -/* 0DAF04 7F0A63D4 8FAD0028 */ lw $t5, 0x28($sp) -/* 0DAF08 7F0A63D8 8D6C0000 */ lw $t4, ($t3) -/* 0DAF0C 7F0A63DC 8FAE003C */ lw $t6, 0x3c($sp) -/* 0DAF10 7F0A63E0 25AFFFFF */ addiu $t7, $t5, -1 -/* 0DAF14 7F0A63E4 018F082A */ slt $at, $t4, $t7 -/* 0DAF18 7F0A63E8 10200008 */ beqz $at, .L7F0A640C -/* 0DAF1C 7F0A63EC 00000000 */ nop -/* 0DAF20 7F0A63F0 11C00006 */ beqz $t6, .L7F0A640C -/* 0DAF24 7F0A63F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DAF28 7F0A63F8 C6040000 */ lwc1 $f4, ($s0) -/* 0DAF2C 7F0A63FC 44819000 */ mtc1 $at, $f18 -/* 0DAF30 7F0A6400 00000000 */ nop -/* 0DAF34 7F0A6404 46122180 */ add.s $f6, $f4, $f18 -/* 0DAF38 7F0A6408 E6060000 */ swc1 $f6, ($s0) -.L7F0A640C: -/* 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 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) -/* 0DAF5C 7F0A642C 24190001 */ li $t9, 1 -.L7F0A6430: -/* 0DAF60 7F0A6430 3C018004 */ lui $at, %hi(D_80040AE4) -/* 0DAF64 7F0A6434 10000002 */ b .L7F0A6440 -/* 0DAF68 7F0A6438 AC390AE4 */ sw $t9, %lo(D_80040AE4)($at) -.L7F0A643C: -/* 0DAF6C 7F0A643C AC200AE4 */ sw $zero, %lo(D_80040AE4)($at) -.L7F0A6440: -/* 0DAF70 7F0A6440 8FB80028 */ lw $t8, 0x28($sp) -/* 0DAF74 7F0A6444 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0DAF78 7F0A6448 44815000 */ mtc1 $at, $f10 -/* 0DAF7C 7F0A644C 44984000 */ mtc1 $t8, $f8 -/* 0DAF80 7F0A6450 C6000000 */ lwc1 $f0, ($s0) -/* 0DAF84 7F0A6454 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 0DAF88 7F0A6458 46804420 */ cvt.s.w $f16, $f8 -/* 0DAF8C 7F0A645C 460A8081 */ sub.s $f2, $f16, $f10 -/* 0DAF90 7F0A6460 4600103C */ c.lt.s $f2, $f0 -/* 0DAF94 7F0A6464 00000000 */ nop -/* 0DAF98 7F0A6468 45020004 */ bc1fl .L7F0A647C -/* 0DAF9C 7F0A646C 44811000 */ mtc1 $at, $f2 -/* 0DAFA0 7F0A6470 E6020000 */ swc1 $f2, ($s0) -/* 0DAFA4 7F0A6474 C6000000 */ lwc1 $f0, ($s0) -/* 0DAFA8 7F0A6478 44811000 */ mtc1 $at, $f2 -.L7F0A647C: -/* 0DAFAC 7F0A647C 00000000 */ nop -/* 0DAFB0 7F0A6480 4602003C */ c.lt.s $f0, $f2 -/* 0DAFB4 7F0A6484 00000000 */ nop -/* 0DAFB8 7F0A6488 45020004 */ bc1fl .L7F0A649C -/* 0DAFBC 7F0A648C 4600010D */ trunc.w.s $f4, $f0 -/* 0DAFC0 7F0A6490 E6020000 */ swc1 $f2, ($s0) -/* 0DAFC4 7F0A6494 C6000000 */ lwc1 $f0, ($s0) -/* 0DAFC8 7F0A6498 4600010D */ trunc.w.s $f4, $f0 -.L7F0A649C: -/* 0DAFCC 7F0A649C 8FA50040 */ lw $a1, 0x40($sp) -/* 0DAFD0 7F0A64A0 8FAA0024 */ lw $t2, 0x24($sp) -/* 0DAFD4 7F0A64A4 8FA40030 */ lw $a0, 0x30($sp) -/* 0DAFD8 7F0A64A8 44082000 */ mfc1 $t0, $f4 -/* 0DAFDC 7F0A64AC 8FA6002C */ lw $a2, 0x2c($sp) -/* 0DAFE0 7F0A64B0 00085823 */ negu $t3, $t0 -/* 0DAFE4 7F0A64B4 01650019 */ multu $t3, $a1 -/* 0DAFE8 7F0A64B8 AD480000 */ sw $t0, ($t2) -/* 0DAFEC 7F0A64BC 8FAC0038 */ lw $t4, 0x38($sp) -/* 0DAFF0 7F0A64C0 00006812 */ mflo $t5 -/* 0DAFF4 7F0A64C4 00000000 */ nop -/* 0DAFF8 7F0A64C8 00000000 */ nop -/* 0DAFFC 7F0A64CC 01850019 */ multu $t4, $a1 -/* 0DB000 7F0A64D0 00007812 */ mflo $t7 -/* 0DB004 7F0A64D4 01AF7021 */ addu $t6, $t5, $t7 -/* 0DB008 7F0A64D8 AC8E0000 */ sw $t6, ($a0) -/* 0DB00C 7F0A64DC 8CC20000 */ lw $v0, ($a2) -/* 0DB010 7F0A64E0 01C01825 */ move $v1, $t6 -/* 0DB014 7F0A64E4 00002025 */ move $a0, $zero -/* 0DB018 7F0A64E8 01C2082A */ slt $at, $t6, $v0 -/* 0DB01C 7F0A64EC 1020000A */ beqz $at, .L7F0A6518 -/* 0DB020 7F0A64F0 004EC823 */ subu $t9, $v0, $t6 -/* 0DB024 7F0A64F4 24010003 */ li $at, 3 -/* 0DB028 7F0A64F8 0321001A */ div $zero, $t9, $at -/* 0DB02C 7F0A64FC 0000C012 */ mflo $t8 -/* 0DB030 7F0A6500 00584823 */ subu $t1, $v0, $t8 -/* 0DB034 7F0A6504 252AFFFF */ addiu $t2, $t1, -1 -/* 0DB038 7F0A6508 ACCA0000 */ sw $t2, ($a2) -/* 0DB03C 7F0A650C 8FA80034 */ lw $t0, 0x34($sp) -/* 0DB040 7F0A6510 10000010 */ b .L7F0A6554 -/* 0DB044 7F0A6514 AD000000 */ sw $zero, ($t0) -.L7F0A6518: -/* 0DB048 7F0A6518 0043082A */ slt $at, $v0, $v1 -/* 0DB04C 7F0A651C 1020000B */ beqz $at, .L7F0A654C -/* 0DB050 7F0A6520 8FB80034 */ lw $t8, 0x34($sp) -/* 0DB054 7F0A6524 00625823 */ subu $t3, $v1, $v0 -/* 0DB058 7F0A6528 24010003 */ li $at, 3 -/* 0DB05C 7F0A652C 0161001A */ div $zero, $t3, $at -/* 0DB060 7F0A6530 00006012 */ mflo $t4 -/* 0DB064 7F0A6534 004C6821 */ addu $t5, $v0, $t4 -/* 0DB068 7F0A6538 25AF0001 */ addiu $t7, $t5, 1 -/* 0DB06C 7F0A653C ACCF0000 */ sw $t7, ($a2) -/* 0DB070 7F0A6540 8FAE0034 */ lw $t6, 0x34($sp) -/* 0DB074 7F0A6544 10000003 */ b .L7F0A6554 -/* 0DB078 7F0A6548 ADC00000 */ sw $zero, ($t6) -.L7F0A654C: -/* 0DB07C 7F0A654C 24190001 */ li $t9, 1 -/* 0DB080 7F0A6550 AF190000 */ sw $t9, ($t8) -.L7F0A6554: -/* 0DB084 7F0A6554 8FA90024 */ lw $t1, 0x24($sp) -/* 0DB088 7F0A6558 3C018006 */ lui $at, %hi(D_8005849C) -/* 0DB08C 7F0A655C C428849C */ lwc1 $f8, %lo(D_8005849C)($at) -/* 0DB090 7F0A6560 8D2A0000 */ lw $t2, ($t1) -/* 0DB094 7F0A6564 C60A0000 */ lwc1 $f10, ($s0) -/* 0DB098 7F0A6568 448A9000 */ mtc1 $t2, $f18 -/* 0DB09C 7F0A656C 00000000 */ nop -/* 0DB0A0 7F0A6570 468091A0 */ cvt.s.w $f6, $f18 -/* 0DB0A4 7F0A6574 46083400 */ add.s $f16, $f6, $f8 -/* 0DB0A8 7F0A6578 460A803C */ c.lt.s $f16, $f10 -/* 0DB0AC 7F0A657C 00000000 */ nop -/* 0DB0B0 7F0A6580 4502000B */ bc1fl .L7F0A65B0 -/* 0DB0B4 7F0A6584 8FA80024 */ lw $t0, 0x24($sp) -/* 0DB0B8 7F0A6588 0C0030C3 */ jal get_controller_buttons_held -/* 0DB0BC 7F0A658C 3405FFFF */ li $a1, 65535 -/* 0DB0C0 7F0A6590 14400006 */ bnez $v0, .L7F0A65AC -/* 0DB0C4 7F0A6594 3C018006 */ lui $at, %hi(D_800584A0) -/* 0DB0C8 7F0A6598 C6040000 */ lwc1 $f4, ($s0) -/* 0DB0CC 7F0A659C C43284A0 */ lwc1 $f18, %lo(D_800584A0)($at) -/* 0DB0D0 7F0A65A0 46122181 */ sub.s $f6, $f4, $f18 -/* 0DB0D4 7F0A65A4 10000017 */ b .L7F0A6604 -/* 0DB0D8 7F0A65A8 E6060000 */ swc1 $f6, ($s0) -.L7F0A65AC: -/* 0DB0DC 7F0A65AC 8FA80024 */ lw $t0, 0x24($sp) -.L7F0A65B0: -/* 0DB0E0 7F0A65B0 3C018006 */ lui $at, %hi(D_800584A4) -/* 0DB0E4 7F0A65B4 C42A84A4 */ lwc1 $f10, %lo(D_800584A4)($at) -/* 0DB0E8 7F0A65B8 8D0B0000 */ lw $t3, ($t0) -/* 0DB0EC 7F0A65BC C6120000 */ lwc1 $f18, ($s0) -/* 0DB0F0 7F0A65C0 00002025 */ move $a0, $zero -/* 0DB0F4 7F0A65C4 448B4000 */ mtc1 $t3, $f8 -/* 0DB0F8 7F0A65C8 00000000 */ nop -/* 0DB0FC 7F0A65CC 46804420 */ cvt.s.w $f16, $f8 -/* 0DB100 7F0A65D0 460A8100 */ add.s $f4, $f16, $f10 -/* 0DB104 7F0A65D4 4604903E */ c.le.s $f18, $f4 -/* 0DB108 7F0A65D8 00000000 */ nop -/* 0DB10C 7F0A65DC 4502000A */ bc1fl .L7F0A6608 -/* 0DB110 7F0A65E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0DB114 7F0A65E4 0C0030C3 */ jal get_controller_buttons_held -/* 0DB118 7F0A65E8 3405FFFF */ li $a1, 65535 -/* 0DB11C 7F0A65EC 14400005 */ bnez $v0, .L7F0A6604 -/* 0DB120 7F0A65F0 3C018006 */ lui $at, %hi(D_800584A8) -/* 0DB124 7F0A65F4 C6060000 */ lwc1 $f6, ($s0) -/* 0DB128 7F0A65F8 C42884A8 */ lwc1 $f8, %lo(D_800584A8)($at) -/* 0DB12C 7F0A65FC 46083400 */ add.s $f16, $f6, $f8 -/* 0DB130 7F0A6600 E6100000 */ swc1 $f16, ($s0) -.L7F0A6604: -/* 0DB134 7F0A6604 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0A6608: -/* 0DB138 7F0A6608 8FB00018 */ lw $s0, 0x18($sp) -/* 0DB13C 7F0A660C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0DB140 7F0A6610 03E00008 */ jr $ra -/* 0DB144 7F0A6614 00000000 */ nop -) -#endif - - - - - - -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 - { - - } -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A66A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A66A0 -/* 0DB1D0 7F0A66A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DB1D4 7F0A66A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DB1D8 7F0A66A8 00002025 */ move $a0, $zero -/* 0DB1DC 7F0A66AC 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB1E0 7F0A66B0 24050808 */ li $a1, 2056 -/* 0DB1E4 7F0A66B4 14400005 */ bnez $v0, .L7F0A66CC -/* 0DB1E8 7F0A66B8 00000000 */ nop -/* 0DB1EC 7F0A66BC 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DB1F0 7F0A66C0 00000000 */ nop -/* 0DB1F4 7F0A66C4 10400008 */ beqz $v0, .L7F0A66E8 -/* 0DB1F8 7F0A66C8 00002025 */ move $a0, $zero -.L7F0A66CC: -/* 0DB1FC 7F0A66CC 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB200 7F0A66D0 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB204 7F0A66D4 AC2009A0 */ sw $zero, %lo(D_800409A0)($at) -/* 0DB208 7F0A66D8 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB20C 7F0A66DC 00000000 */ nop -/* 0DB210 7F0A66E0 1000000F */ b .L7F0A6720 -/* 0DB214 7F0A66E4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A66E8: -/* 0DB218 7F0A66E8 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB21C 7F0A66EC 24050404 */ li $a1, 1028 -/* 0DB220 7F0A66F0 54400005 */ bnezl $v0, .L7F0A6708 -/* 0DB224 7F0A66F4 240E0002 */ li $t6, 2 -/* 0DB228 7F0A66F8 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DB22C 7F0A66FC 00000000 */ nop -/* 0DB230 7F0A6700 10400006 */ beqz $v0, .L7F0A671C -/* 0DB234 7F0A6704 240E0002 */ li $t6, 2 -.L7F0A6708: -/* 0DB238 7F0A6708 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB23C 7F0A670C 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB240 7F0A6710 AC2E09A0 */ sw $t6, %lo(D_800409A0)($at) -/* 0DB244 7F0A6714 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB248 7F0A6718 00000000 */ nop -.L7F0A671C: -/* 0DB24C 7F0A671C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6720: -/* 0DB250 7F0A6720 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DB254 7F0A6724 03E00008 */ jr $ra -/* 0DB258 7F0A6728 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A672C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A672C -/* 0DB25C 7F0A672C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DB260 7F0A6730 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DB264 7F0A6734 00002025 */ move $a0, $zero -/* 0DB268 7F0A6738 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB26C 7F0A673C 24050808 */ li $a1, 2056 -/* 0DB270 7F0A6740 54400006 */ bnezl $v0, .L7F0A675C -/* 0DB274 7F0A6744 240E0001 */ li $t6, 1 -/* 0DB278 7F0A6748 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DB27C 7F0A674C 00000000 */ nop -/* 0DB280 7F0A6750 10400009 */ beqz $v0, .L7F0A6778 -/* 0DB284 7F0A6754 00002025 */ move $a0, $zero -/* 0DB288 7F0A6758 240E0001 */ li $t6, 1 -.L7F0A675C: -/* 0DB28C 7F0A675C 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB290 7F0A6760 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB294 7F0A6764 AC2E09A0 */ sw $t6, %lo(D_800409A0)($at) -/* 0DB298 7F0A6768 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB29C 7F0A676C 00000000 */ nop -/* 0DB2A0 7F0A6770 1000000F */ b .L7F0A67B0 -/* 0DB2A4 7F0A6774 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6778: -/* 0DB2A8 7F0A6778 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB2AC 7F0A677C 24050404 */ li $a1, 1028 -/* 0DB2B0 7F0A6780 54400005 */ bnezl $v0, .L7F0A6798 -/* 0DB2B4 7F0A6784 240F0003 */ li $t7, 3 -/* 0DB2B8 7F0A6788 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DB2BC 7F0A678C 00000000 */ nop -/* 0DB2C0 7F0A6790 10400006 */ beqz $v0, .L7F0A67AC -/* 0DB2C4 7F0A6794 240F0003 */ li $t7, 3 -.L7F0A6798: -/* 0DB2C8 7F0A6798 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB2CC 7F0A679C 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB2D0 7F0A67A0 AC2F09A0 */ sw $t7, %lo(D_800409A0)($at) -/* 0DB2D4 7F0A67A4 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB2D8 7F0A67A8 00000000 */ nop -.L7F0A67AC: -/* 0DB2DC 7F0A67AC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A67B0: -/* 0DB2E0 7F0A67B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DB2E4 7F0A67B4 03E00008 */ jr $ra -/* 0DB2E8 7F0A67B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A67BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A67BC -/* 0DB2EC 7F0A67BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DB2F0 7F0A67C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DB2F4 7F0A67C4 00002025 */ move $a0, $zero -/* 0DB2F8 7F0A67C8 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB2FC 7F0A67CC 24050808 */ li $a1, 2056 -/* 0DB300 7F0A67D0 54400006 */ bnezl $v0, .L7F0A67EC -/* 0DB304 7F0A67D4 240E0002 */ li $t6, 2 -/* 0DB308 7F0A67D8 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DB30C 7F0A67DC 00000000 */ nop -/* 0DB310 7F0A67E0 10400009 */ beqz $v0, .L7F0A6808 -/* 0DB314 7F0A67E4 00002025 */ move $a0, $zero -/* 0DB318 7F0A67E8 240E0002 */ li $t6, 2 -.L7F0A67EC: -/* 0DB31C 7F0A67EC 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB320 7F0A67F0 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB324 7F0A67F4 AC2E09A0 */ sw $t6, %lo(D_800409A0)($at) -/* 0DB328 7F0A67F8 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB32C 7F0A67FC 00000000 */ nop -/* 0DB330 7F0A6800 1000000F */ b .L7F0A6840 -/* 0DB334 7F0A6804 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6808: -/* 0DB338 7F0A6808 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB33C 7F0A680C 24050404 */ li $a1, 1028 -/* 0DB340 7F0A6810 54400005 */ bnezl $v0, .L7F0A6828 -/* 0DB344 7F0A6814 240F0004 */ li $t7, 4 -/* 0DB348 7F0A6818 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DB34C 7F0A681C 00000000 */ nop -/* 0DB350 7F0A6820 10400006 */ beqz $v0, .L7F0A683C -/* 0DB354 7F0A6824 240F0004 */ li $t7, 4 -.L7F0A6828: -/* 0DB358 7F0A6828 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB35C 7F0A682C 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB360 7F0A6830 AC2F09A0 */ sw $t7, %lo(D_800409A0)($at) -/* 0DB364 7F0A6834 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB368 7F0A6838 00000000 */ nop -.L7F0A683C: -/* 0DB36C 7F0A683C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6840: -/* 0DB370 7F0A6840 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DB374 7F0A6844 03E00008 */ jr $ra -/* 0DB378 7F0A6848 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A684C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A684C -/* 0DB37C 7F0A684C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DB380 7F0A6850 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DB384 7F0A6854 00002025 */ move $a0, $zero -/* 0DB388 7F0A6858 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB38C 7F0A685C 24050808 */ li $a1, 2056 -/* 0DB390 7F0A6860 54400006 */ bnezl $v0, .L7F0A687C -/* 0DB394 7F0A6864 240E0003 */ li $t6, 3 -/* 0DB398 7F0A6868 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DB39C 7F0A686C 00000000 */ nop -/* 0DB3A0 7F0A6870 10400009 */ beqz $v0, .L7F0A6898 -/* 0DB3A4 7F0A6874 00002025 */ move $a0, $zero -/* 0DB3A8 7F0A6878 240E0003 */ li $t6, 3 -.L7F0A687C: -/* 0DB3AC 7F0A687C 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB3B0 7F0A6880 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB3B4 7F0A6884 AC2E09A0 */ sw $t6, %lo(D_800409A0)($at) -/* 0DB3B8 7F0A6888 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB3BC 7F0A688C 00000000 */ nop -/* 0DB3C0 7F0A6890 1000000E */ b .L7F0A68CC -/* 0DB3C4 7F0A6894 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6898: -/* 0DB3C8 7F0A6898 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB3CC 7F0A689C 24050404 */ li $a1, 1028 -/* 0DB3D0 7F0A68A0 14400004 */ bnez $v0, .L7F0A68B4 -/* 0DB3D4 7F0A68A4 00000000 */ nop -/* 0DB3D8 7F0A68A8 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DB3DC 7F0A68AC 00000000 */ nop -/* 0DB3E0 7F0A68B0 10400005 */ beqz $v0, .L7F0A68C8 -.L7F0A68B4: -/* 0DB3E4 7F0A68B4 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB3E8 7F0A68B8 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB3EC 7F0A68BC AC2009A0 */ sw $zero, %lo(D_800409A0)($at) -/* 0DB3F0 7F0A68C0 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB3F4 7F0A68C4 00000000 */ nop -.L7F0A68C8: -/* 0DB3F8 7F0A68C8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A68CC: -/* 0DB3FC 7F0A68CC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DB400 7F0A68D0 03E00008 */ jr $ra -/* 0DB404 7F0A68D4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A68D8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800584AC -.word 0x48507100 /*213444.0*/ -.text -glabel sub_GAME_7F0A68D8 -/* 0DB408 7F0A68D8 3C098004 */ lui $t1, %hi(D_80040B40) -/* 0DB40C 7F0A68DC 25290B40 */ addiu $t1, %lo(D_80040B40) # addiu $t1, $t1, 0xb40 -/* 0DB410 7F0A68E0 8D220000 */ lw $v0, ($t1) -/* 0DB414 7F0A68E4 3C018006 */ lui $at, %hi(D_800584AC) -/* 0DB418 7F0A68E8 C42484AC */ lwc1 $f4, %lo(D_800584AC)($at) -/* 0DB41C 7F0A68EC 00420019 */ multu $v0, $v0 -/* 0DB420 7F0A68F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DB424 7F0A68F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DB428 7F0A68F8 AFA40018 */ sw $a0, 0x18($sp) -/* 0DB42C 7F0A68FC 00007012 */ mflo $t6 -/* 0DB430 7F0A6900 448E3000 */ mtc1 $t6, $f6 -/* 0DB434 7F0A6904 00000000 */ nop -/* 0DB438 7F0A6908 46803220 */ cvt.s.w $f8, $f6 -/* 0DB43C 7F0A690C 0C007DF8 */ jal sqrtf -/* 0DB440 7F0A6910 46082301 */ sub.s $f12, $f4, $f8 -/* 0DB444 7F0A6914 4600028D */ trunc.w.s $f10, $f0 -/* 0DB448 7F0A6918 3C098004 */ lui $t1, %hi(D_80040B40) -/* 0DB44C 7F0A691C 3C078004 */ lui $a3, %hi(D_80040B08) -/* 0DB450 7F0A6920 25290B40 */ addiu $t1, %lo(D_80040B40) # addiu $t1, $t1, 0xb40 -/* 0DB454 7F0A6924 44055000 */ mfc1 $a1, $f10 -/* 0DB458 7F0A6928 8FA40018 */ lw $a0, 0x18($sp) -/* 0DB45C 7F0A692C 24E70B08 */ addiu $a3, %lo(D_80040B08) # addiu $a3, $a3, 0xb08 -/* 0DB460 7F0A6930 00001825 */ move $v1, $zero -/* 0DB464 7F0A6934 240A0008 */ li $t2, 8 -/* 0DB468 7F0A6938 24080003 */ li $t0, 3 -/* 0DB46C 7F0A693C 240600A0 */ li $a2, 160 -/* 0DB470 7F0A6940 2402FFFF */ li $v0, -1 -.L7F0A6944: -/* 0DB474 7F0A6944 00A20019 */ multu $a1, $v0 -/* 0DB478 7F0A6948 A4800002 */ sh $zero, 2($a0) -/* 0DB47C 7F0A694C 24420002 */ addiu $v0, $v0, 2 -/* 0DB480 7F0A6950 24840010 */ addiu $a0, $a0, 0x10 -/* 0DB484 7F0A6954 0000C012 */ mflo $t8 -/* 0DB488 7F0A6958 A498FFF0 */ sh $t8, -0x10($a0) -/* 0DB48C 7F0A695C 8D390000 */ lw $t9, ($t1) -/* 0DB490 7F0A6960 A480FFF6 */ sh $zero, -0xa($a0) -/* 0DB494 7F0A6964 A480FFF8 */ sh $zero, -8($a0) -/* 0DB498 7F0A6968 00795821 */ addu $t3, $v1, $t9 -/* 0DB49C 7F0A696C A48BFFF4 */ sh $t3, -0xc($a0) -/* 0DB4A0 7F0A6970 A480FFFA */ sh $zero, -6($a0) -/* 0DB4A4 7F0A6974 A080FFFC */ sb $zero, -4($a0) -/* 0DB4A8 7F0A6978 A086FFFD */ sb $a2, -3($a0) -/* 0DB4AC 7F0A697C A080FFFE */ sb $zero, -2($a0) -/* 0DB4B0 7F0A6980 8CEC0000 */ lw $t4, ($a3) -/* 0DB4B4 7F0A6984 1448FFEF */ bne $v0, $t0, .L7F0A6944 -/* 0DB4B8 7F0A6988 A08CFFFF */ sb $t4, -1($a0) -/* 0DB4BC 7F0A698C 24630004 */ addiu $v1, $v1, 4 -/* 0DB4C0 7F0A6990 546AFFEC */ bnel $v1, $t2, .L7F0A6944 -/* 0DB4C4 7F0A6994 2402FFFF */ li $v0, -1 -/* 0DB4C8 7F0A6998 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DB4CC 7F0A699C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DB4D0 7F0A69A0 03E00008 */ jr $ra -/* 0DB4D4 7F0A69A4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A69A8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800584B0 -.word 0x3f7fbe77 /*0.99900001*/ -glabel D_800584B4 -.word 0x3f7ff972 /*0.99989998*/ -.text -glabel sub_GAME_7F0A69A8 -/* 0DB4D8 7F0A69A8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DB4DC 7F0A69AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0DB4E0 7F0A69B0 0C002E7E */ jal get_attached_controller_count -/* 0DB4E4 7F0A69B4 00000000 */ nop -/* 0DB4E8 7F0A69B8 28410002 */ slti $at, $v0, 2 -/* 0DB4EC 7F0A69BC 10200005 */ beqz $at, .L7F0A69D4 -/* 0DB4F0 7F0A69C0 240F0008 */ li $t7, 8 -/* 0DB4F4 7F0A69C4 240E0004 */ li $t6, 4 -/* 0DB4F8 7F0A69C8 3C018004 */ lui $at, %hi(D_800409D8) -/* 0DB4FC 7F0A69CC 10000003 */ b .L7F0A69DC -/* 0DB500 7F0A69D0 AC2E09D8 */ sw $t6, %lo(D_800409D8)($at) -.L7F0A69D4: -/* 0DB504 7F0A69D4 3C018004 */ lui $at, %hi(D_800409D8) -/* 0DB508 7F0A69D8 AC2F09D8 */ sw $t7, %lo(D_800409D8)($at) -.L7F0A69DC: -/* 0DB50C 7F0A69DC 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB510 7F0A69E0 00000000 */ nop -/* 0DB514 7F0A69E4 3C018004 */ lui $at, %hi(D_80040994) -/* 0DB518 7F0A69E8 AC200994 */ sw $zero, %lo(D_80040994)($at) -/* 0DB51C 7F0A69EC 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB520 7F0A69F0 24180004 */ li $t8, 4 -/* 0DB524 7F0A69F4 AC3809A0 */ sw $t8, %lo(D_800409A0)($at) -/* 0DB528 7F0A69F8 3C018006 */ lui $at, %hi(D_800584B0) -/* 0DB52C 7F0A69FC C42484B0 */ lwc1 $f4, %lo(D_800584B0)($at) -/* 0DB530 7F0A6A00 3C018004 */ lui $at, %hi(D_800409C8) -/* 0DB534 7F0A6A04 E42409C8 */ swc1 $f4, %lo(D_800409C8)($at) -/* 0DB538 7F0A6A08 3C018006 */ lui $at, %hi(D_800584B4) -/* 0DB53C 7F0A6A0C C42684B4 */ lwc1 $f6, %lo(D_800584B4)($at) -/* 0DB540 7F0A6A10 3C018004 */ lui $at, %hi(D_800409CC) -/* 0DB544 7F0A6A14 0FC23638 */ jal sub_GAME_7F08D8E0 -/* 0DB548 7F0A6A18 E42609CC */ swc1 $f6, %lo(D_800409CC)($at) -/* 0DB54C 7F0A6A1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DB550 7F0A6A20 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DB554 7F0A6A24 03E00008 */ jr $ra -/* 0DB558 7F0A6A28 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A6A2C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_800584B8 -.word 0x40490fdb /*3.1415927*/ -glabel D_800584BC -.word 0x40c90fdb /*6.2831855*/ -glabel D_800584C0 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_800584C4 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F0A6A2C -/* 0DB55C 7F0A6A2C 3C018006 */ lui $at, %hi(D_800584B8) -/* 0DB560 7F0A6A30 C42484B8 */ lwc1 $f4, %lo(D_800584B8)($at) -/* 0DB564 7F0A6A34 3C018006 */ lui $at, %hi(D_800584C0) -/* 0DB568 7F0A6A38 460C203C */ c.lt.s $f4, $f12 -/* 0DB56C 7F0A6A3C 00000000 */ nop -/* 0DB570 7F0A6A40 45000005 */ bc1f .L7F0A6A58 -/* 0DB574 7F0A6A44 00000000 */ nop -/* 0DB578 7F0A6A48 3C018006 */ lui $at, %hi(D_800584BC) -/* 0DB57C 7F0A6A4C C42684BC */ lwc1 $f6, %lo(D_800584BC)($at) -/* 0DB580 7F0A6A50 03E00008 */ jr $ra -/* 0DB584 7F0A6A54 46066001 */ sub.s $f0, $f12, $f6 - -.L7F0A6A58: -/* 0DB588 7F0A6A58 C42884C0 */ lwc1 $f8, %lo(D_800584C0)($at) -/* 0DB58C 7F0A6A5C 3C018006 */ lui $at, %hi(D_800584C4) -/* 0DB590 7F0A6A60 4608603C */ c.lt.s $f12, $f8 -/* 0DB594 7F0A6A64 00000000 */ nop -/* 0DB598 7F0A6A68 45000003 */ bc1f .L7F0A6A78 -/* 0DB59C 7F0A6A6C 00000000 */ nop -/* 0DB5A0 7F0A6A70 C42A84C4 */ lwc1 $f10, %lo(D_800584C4)($at) -/* 0DB5A4 7F0A6A74 460A6300 */ add.s $f12, $f12, $f10 -.L7F0A6A78: -/* 0DB5A8 7F0A6A78 03E00008 */ jr $ra -/* 0DB5AC 7F0A6A7C 46006006 */ mov.s $f0, $f12 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A6A80(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_800584C8 -.word 0x40c90fdb /*6.2831855*/ - -/*D:800584CC*/ -glabel jpt_800584CC -.word .L7F0A6E04 -.word .L7F0A6ED0 -.word .L7F0A6E14 -.word .L7F0A6E60 -.word .L7F0A6EC0 - -/*D:800584E0*/ -glabel jpt_800584E0 -.word .L7F0A6E88 -.word .L7F0A6E98 -.word .L7F0A6EA8 -.word .L7F0A6EA8 -.word .L7F0A6EA8 -.word .L7F0A6EA8 -.word .L7F0A6EA8 -.word .L7F0A6EA8 -.word .L7F0A6EA8 -.word .L7F0A6EA8 - -.text -glabel sub_GAME_7F0A6A80 -/* 0DB5B0 7F0A6A80 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0DB5B4 7F0A6A84 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DB5B8 7F0A6A88 00002025 */ move $a0, $zero -/* 0DB5BC 7F0A6A8C 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB5C0 7F0A6A90 24051000 */ li $a1, 4096 -/* 0DB5C4 7F0A6A94 10400003 */ beqz $v0, .L7F0A6AA4 -/* 0DB5C8 7F0A6A98 00000000 */ nop -/* 0DB5CC 7F0A6A9C 0FC1FE18 */ jal set_open_close_solo_watch_menu_to1 -/* 0DB5D0 7F0A6AA0 00000000 */ nop -.L7F0A6AA4: -/* 0DB5D4 7F0A6AA4 3C0E8004 */ lui $t6, %hi(controlstick_lr_enabled) -/* 0DB5D8 7F0A6AA8 8DCE0ADC */ lw $t6, %lo(controlstick_lr_enabled)($t6) -/* 0DB5DC 7F0A6AAC 15C00027 */ bnez $t6, .L7F0A6B4C -/* 0DB5E0 7F0A6AB0 00000000 */ nop -/* 0DB5E4 7F0A6AB4 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DB5E8 7F0A6AB8 00002025 */ move $a0, $zero -/* 0DB5EC 7F0A6ABC 2841FFF6 */ slti $at, $v0, -0xa -/* 0DB5F0 7F0A6AC0 14200009 */ bnez $at, .L7F0A6AE8 -/* 0DB5F4 7F0A6AC4 00000000 */ nop -/* 0DB5F8 7F0A6AC8 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DB5FC 7F0A6ACC 00002025 */ move $a0, $zero -/* 0DB600 7F0A6AD0 2841000B */ slti $at, $v0, 0xb -/* 0DB604 7F0A6AD4 10200004 */ beqz $at, .L7F0A6AE8 -/* 0DB608 7F0A6AD8 240F0001 */ li $t7, 1 -/* 0DB60C 7F0A6ADC 3C018004 */ lui $at, %hi(controlstick_lr_enabled) -/* 0DB610 7F0A6AE0 1000001A */ b .L7F0A6B4C -/* 0DB614 7F0A6AE4 AC2F0ADC */ sw $t7, %lo(controlstick_lr_enabled)($at) -.L7F0A6AE8: -/* 0DB618 7F0A6AE8 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DB61C 7F0A6AEC 00002025 */ move $a0, $zero -/* 0DB620 7F0A6AF0 2841000B */ slti $at, $v0, 0xb -/* 0DB624 7F0A6AF4 10200009 */ beqz $at, .L7F0A6B1C -/* 0DB628 7F0A6AF8 00000000 */ nop -/* 0DB62C 7F0A6AFC 0C00305D */ jal controller_7000C174 -/* 0DB630 7F0A6B00 00002025 */ move $a0, $zero -/* 0DB634 7F0A6B04 2841000B */ slti $at, $v0, 0xb -/* 0DB638 7F0A6B08 14200004 */ bnez $at, .L7F0A6B1C -/* 0DB63C 7F0A6B0C 24180001 */ li $t8, 1 -/* 0DB640 7F0A6B10 3C018004 */ lui $at, %hi(controlstick_lr_enabled) -/* 0DB644 7F0A6B14 1000000D */ b .L7F0A6B4C -/* 0DB648 7F0A6B18 AC380ADC */ sw $t8, %lo(controlstick_lr_enabled)($at) -.L7F0A6B1C: -/* 0DB64C 7F0A6B1C 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DB650 7F0A6B20 00002025 */ move $a0, $zero -/* 0DB654 7F0A6B24 2841FFF6 */ slti $at, $v0, -0xa -/* 0DB658 7F0A6B28 14200008 */ bnez $at, .L7F0A6B4C -/* 0DB65C 7F0A6B2C 00000000 */ nop -/* 0DB660 7F0A6B30 0C00305D */ jal controller_7000C174 -/* 0DB664 7F0A6B34 00002025 */ move $a0, $zero -/* 0DB668 7F0A6B38 2841FFF6 */ slti $at, $v0, -0xa -/* 0DB66C 7F0A6B3C 10200003 */ beqz $at, .L7F0A6B4C -/* 0DB670 7F0A6B40 24190001 */ li $t9, 1 -/* 0DB674 7F0A6B44 3C018004 */ lui $at, %hi(controlstick_lr_enabled) -/* 0DB678 7F0A6B48 AC390ADC */ sw $t9, %lo(controlstick_lr_enabled)($at) -.L7F0A6B4C: -/* 0DB67C 7F0A6B4C 3C088004 */ lui $t0, %hi(D_80040AE0) -/* 0DB680 7F0A6B50 8D080AE0 */ lw $t0, %lo(D_80040AE0)($t0) -/* 0DB684 7F0A6B54 15000027 */ bnez $t0, .L7F0A6BF4 -/* 0DB688 7F0A6B58 00000000 */ nop -/* 0DB68C 7F0A6B5C 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DB690 7F0A6B60 00002025 */ move $a0, $zero -/* 0DB694 7F0A6B64 2841FFF6 */ slti $at, $v0, -0xa -/* 0DB698 7F0A6B68 14200009 */ bnez $at, .L7F0A6B90 -/* 0DB69C 7F0A6B6C 00000000 */ nop -/* 0DB6A0 7F0A6B70 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DB6A4 7F0A6B74 00002025 */ move $a0, $zero -/* 0DB6A8 7F0A6B78 2841000B */ slti $at, $v0, 0xb -/* 0DB6AC 7F0A6B7C 10200004 */ beqz $at, .L7F0A6B90 -/* 0DB6B0 7F0A6B80 24090001 */ li $t1, 1 -/* 0DB6B4 7F0A6B84 3C018004 */ lui $at, %hi(D_80040AE0) -/* 0DB6B8 7F0A6B88 1000001A */ b .L7F0A6BF4 -/* 0DB6BC 7F0A6B8C AC290AE0 */ sw $t1, %lo(D_80040AE0)($at) -.L7F0A6B90: -/* 0DB6C0 7F0A6B90 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DB6C4 7F0A6B94 00002025 */ move $a0, $zero -/* 0DB6C8 7F0A6B98 2841000B */ slti $at, $v0, 0xb -/* 0DB6CC 7F0A6B9C 10200009 */ beqz $at, .L7F0A6BC4 -/* 0DB6D0 7F0A6BA0 00000000 */ nop -/* 0DB6D4 7F0A6BA4 0C0030A1 */ jal controller_7000C284 -/* 0DB6D8 7F0A6BA8 00002025 */ move $a0, $zero -/* 0DB6DC 7F0A6BAC 2841000B */ slti $at, $v0, 0xb -/* 0DB6E0 7F0A6BB0 14200004 */ bnez $at, .L7F0A6BC4 -/* 0DB6E4 7F0A6BB4 240A0001 */ li $t2, 1 -/* 0DB6E8 7F0A6BB8 3C018004 */ lui $at, %hi(D_80040AE0) -/* 0DB6EC 7F0A6BBC 1000000D */ b .L7F0A6BF4 -/* 0DB6F0 7F0A6BC0 AC2A0AE0 */ sw $t2, %lo(D_80040AE0)($at) -.L7F0A6BC4: -/* 0DB6F4 7F0A6BC4 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DB6F8 7F0A6BC8 00002025 */ move $a0, $zero -/* 0DB6FC 7F0A6BCC 2841FFF6 */ slti $at, $v0, -0xa -/* 0DB700 7F0A6BD0 14200008 */ bnez $at, .L7F0A6BF4 -/* 0DB704 7F0A6BD4 00000000 */ nop -/* 0DB708 7F0A6BD8 0C0030A1 */ jal controller_7000C284 -/* 0DB70C 7F0A6BDC 00002025 */ move $a0, $zero -/* 0DB710 7F0A6BE0 2841FFF6 */ slti $at, $v0, -0xa -/* 0DB714 7F0A6BE4 10200003 */ beqz $at, .L7F0A6BF4 -/* 0DB718 7F0A6BE8 240B0001 */ li $t3, 1 -/* 0DB71C 7F0A6BEC 3C018004 */ lui $at, %hi(D_80040AE0) -/* 0DB720 7F0A6BF0 AC2B0AE0 */ sw $t3, %lo(D_80040AE0)($at) -.L7F0A6BF4: -/* 0DB724 7F0A6BF4 3C038004 */ lui $v1, %hi(D_80040AF8) -/* 0DB728 7F0A6BF8 24630AF8 */ addiu $v1, %lo(D_80040AF8) # addiu $v1, $v1, 0xaf8 -/* 0DB72C 7F0A6BFC 8C620000 */ lw $v0, ($v1) -/* 0DB730 7F0A6C00 04410007 */ bgez $v0, .L7F0A6C20 -/* 0DB734 7F0A6C04 244EFFFF */ addiu $t6, $v0, -1 -/* 0DB738 7F0A6C08 3C048004 */ lui $a0, %hi(D_80040AF4) -/* 0DB73C 7F0A6C0C 24840AF4 */ addiu $a0, %lo(D_80040AF4) # addiu $a0, $a0, 0xaf4 -/* 0DB740 7F0A6C10 8C8C0000 */ lw $t4, ($a0) -/* 0DB744 7F0A6C14 3C01FFF0 */ lui $at, 0xfff0 -/* 0DB748 7F0A6C18 01816821 */ addu $t5, $t4, $at -/* 0DB74C 7F0A6C1C AC8D0000 */ sw $t5, ($a0) -.L7F0A6C20: -/* 0DB750 7F0A6C20 3C048004 */ lui $a0, %hi(D_80040AF4) -/* 0DB754 7F0A6C24 24840AF4 */ addiu $a0, %lo(D_80040AF4) # addiu $a0, $a0, 0xaf4 -/* 0DB758 7F0A6C28 8C8F0000 */ lw $t7, ($a0) -/* 0DB75C 7F0A6C2C 3C01005F */ lui $at, (0x005F00A1 >> 16) # lui $at, 0x5f -/* 0DB760 7F0A6C30 342100A1 */ ori $at, (0x005F00A1 & 0xFFFF) # ori $at, $at, 0xa1 -/* 0DB764 7F0A6C34 01E1082B */ sltu $at, $t7, $at -/* 0DB768 7F0A6C38 10200006 */ beqz $at, .L7F0A6C54 -/* 0DB76C 7F0A6C3C AC6E0000 */ sw $t6, ($v1) -/* 0DB770 7F0A6C40 3C1800FF */ lui $t8, (0x00FF00A0 >> 16) # lui $t8, 0xff -/* 0DB774 7F0A6C44 371800A0 */ ori $t8, (0x00FF00A0 & 0xFFFF) # ori $t8, $t8, 0xa0 -/* 0DB778 7F0A6C48 2419000F */ li $t9, 15 -/* 0DB77C 7F0A6C4C AC980000 */ sw $t8, ($a0) -/* 0DB780 7F0A6C50 AC790000 */ sw $t9, ($v1) -.L7F0A6C54: -/* 0DB784 7F0A6C54 3C038004 */ lui $v1, %hi(D_80040B00) -/* 0DB788 7F0A6C58 24630B00 */ addiu $v1, %lo(D_80040B00) # addiu $v1, $v1, 0xb00 -/* 0DB78C 7F0A6C5C 8C620000 */ lw $v0, ($v1) -/* 0DB790 7F0A6C60 3C048004 */ lui $a0, %hi(D_80040AFC) -/* 0DB794 7F0A6C64 24840AFC */ addiu $a0, %lo(D_80040AFC) # addiu $a0, $a0, 0xafc -/* 0DB798 7F0A6C68 04410004 */ bgez $v0, .L7F0A6C7C -/* 0DB79C 7F0A6C6C 3C0E8005 */ lui $t6, %hi(D_80048498) -/* 0DB7A0 7F0A6C70 8C880000 */ lw $t0, ($a0) -/* 0DB7A4 7F0A6C74 2509FFF0 */ addiu $t1, $t0, -0x10 -/* 0DB7A8 7F0A6C78 AC890000 */ sw $t1, ($a0) -.L7F0A6C7C: -/* 0DB7AC 7F0A6C7C 3C048004 */ lui $a0, %hi(D_80040AFC) -/* 0DB7B0 7F0A6C80 24840AFC */ addiu $a0, %lo(D_80040AFC) # addiu $a0, $a0, 0xafc -/* 0DB7B4 7F0A6C84 8C8B0000 */ lw $t3, ($a0) -/* 0DB7B8 7F0A6C88 244AFFFF */ addiu $t2, $v0, -1 -/* 0DB7BC 7F0A6C8C AC6A0000 */ sw $t2, ($v1) -/* 0DB7C0 7F0A6C90 2D610060 */ sltiu $at, $t3, 0x60 -/* 0DB7C4 7F0A6C94 10200004 */ beqz $at, .L7F0A6CA8 -/* 0DB7C8 7F0A6C98 240C00FF */ li $t4, 255 -/* 0DB7CC 7F0A6C9C 240D000F */ li $t5, 15 -/* 0DB7D0 7F0A6CA0 AC8C0000 */ sw $t4, ($a0) -/* 0DB7D4 7F0A6CA4 AC6D0000 */ sw $t5, ($v1) -.L7F0A6CA8: -/* 0DB7D8 7F0A6CA8 8DCE8498 */ lw $t6, %lo(D_80048498)($t6) -/* 0DB7DC 7F0A6CAC 3C018004 */ lui $at, %hi(D_80040B1C) -/* 0DB7E0 7F0A6CB0 C4240B1C */ lwc1 $f4, %lo(D_80040B1C)($at) -/* 0DB7E4 7F0A6CB4 448E3000 */ mtc1 $t6, $f6 -/* 0DB7E8 7F0A6CB8 3C018006 */ lui $at, %hi(D_800584C8) -/* 0DB7EC 7F0A6CBC C43084C8 */ lwc1 $f16, %lo(D_800584C8)($at) -/* 0DB7F0 7F0A6CC0 46803220 */ cvt.s.w $f8, $f6 -/* 0DB7F4 7F0A6CC4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DB7F8 7F0A6CC8 44813000 */ mtc1 $at, $f6 -/* 0DB7FC 7F0A6CCC 3C028004 */ lui $v0, %hi(D_80040B14) -/* 0DB800 7F0A6CD0 24420B14 */ addiu $v0, %lo(D_80040B14) # addiu $v0, $v0, 0xb14 -/* 0DB804 7F0A6CD4 46082282 */ mul.s $f10, $f4, $f8 -/* 0DB808 7F0A6CD8 C4480000 */ lwc1 $f8, ($v0) -/* 0DB80C 7F0A6CDC 46105482 */ mul.s $f18, $f10, $f16 -/* 0DB810 7F0A6CE0 46069103 */ div.s $f4, $f18, $f6 -/* 0DB814 7F0A6CE4 46044280 */ add.s $f10, $f8, $f4 -/* 0DB818 7F0A6CE8 E44A0000 */ swc1 $f10, ($v0) -/* 0DB81C 7F0A6CEC 0FC29A8B */ jal sub_GAME_7F0A6A2C -/* 0DB820 7F0A6CF0 C44C0000 */ lwc1 $f12, ($v0) -/* 0DB824 7F0A6CF4 3C028004 */ lui $v0, %hi(D_80040B14) -/* 0DB828 7F0A6CF8 24420B14 */ addiu $v0, %lo(D_80040B14) # addiu $v0, $v0, 0xb14 -/* 0DB82C 7F0A6CFC E4400000 */ swc1 $f0, ($v0) -/* 0DB830 7F0A6D00 3C0F8004 */ lui $t7, %hi(D_80040B0C) -/* 0DB834 7F0A6D04 8DEF0B0C */ lw $t7, %lo(D_80040B0C)($t7) -/* 0DB838 7F0A6D08 000FC400 */ sll $t8, $t7, 0x10 -/* 0DB83C 7F0A6D0C 0C002914 */ jal get_random_value -/* 0DB840 7F0A6D10 AFB8001C */ sw $t8, 0x1c($sp) -/* 0DB844 7F0A6D14 8FB9001C */ lw $t9, 0x1c($sp) -/* 0DB848 7F0A6D18 0322082B */ sltu $at, $t9, $v0 -/* 0DB84C 7F0A6D1C 10200003 */ beqz $at, .L7F0A6D2C -/* 0DB850 7F0A6D20 00000000 */ nop -/* 0DB854 7F0A6D24 0FC29476 */ jal sub_GAME_7F0A51D8 -/* 0DB858 7F0A6D28 00000000 */ nop -.L7F0A6D2C: -/* 0DB85C 7F0A6D2C 3C048004 */ lui $a0, %hi(D_80040B04) -/* 0DB860 7F0A6D30 24840B04 */ addiu $a0, %lo(D_80040B04) # addiu $a0, $a0, 0xb04 -/* 0DB864 7F0A6D34 8C830000 */ lw $v1, ($a0) -/* 0DB868 7F0A6D38 286100E0 */ slti $at, $v1, 0xe0 -/* 0DB86C 7F0A6D3C 5020000A */ beql $at, $zero, .L7F0A6D68 -/* 0DB870 7F0A6D40 286100E1 */ slti $at, $v1, 0xe1 -/* 0DB874 7F0A6D44 0C002914 */ jal get_random_value -/* 0DB878 7F0A6D48 00000000 */ nop -/* 0DB87C 7F0A6D4C 3C048004 */ lui $a0, %hi(D_80040B04) -/* 0DB880 7F0A6D50 24840B04 */ addiu $a0, %lo(D_80040B04) # addiu $a0, $a0, 0xb04 -/* 0DB884 7F0A6D54 8C880000 */ lw $t0, ($a0) -/* 0DB888 7F0A6D58 00024F82 */ srl $t1, $v0, 0x1e -/* 0DB88C 7F0A6D5C 01091821 */ addu $v1, $t0, $t1 -/* 0DB890 7F0A6D60 AC830000 */ sw $v1, ($a0) -/* 0DB894 7F0A6D64 286100E1 */ slti $at, $v1, 0xe1 -.L7F0A6D68: -/* 0DB898 7F0A6D68 14200003 */ bnez $at, .L7F0A6D78 -/* 0DB89C 7F0A6D6C 24080156 */ li $t0, 342 -/* 0DB8A0 7F0A6D70 240300E0 */ li $v1, 224 -/* 0DB8A4 7F0A6D74 AC830000 */ sw $v1, ($a0) -.L7F0A6D78: -/* 0DB8A8 7F0A6D78 00036023 */ negu $t4, $v1 -/* 0DB8AC 7F0A6D7C 000C6880 */ sll $t5, $t4, 2 -/* 0DB8B0 7F0A6D80 3C048004 */ lui $a0, %hi(D_80040B40) -/* 0DB8B4 7F0A6D84 25AE0380 */ addiu $t6, $t5, 0x380 -/* 0DB8B8 7F0A6D88 3C018004 */ lui $at, %hi(D_80040B08) -/* 0DB8BC 7F0A6D8C 24840B40 */ addiu $a0, %lo(D_80040B40) # addiu $a0, $a0, 0xb40 -/* 0DB8C0 7F0A6D90 AC2E0B08 */ sw $t6, %lo(D_80040B08)($at) -/* 0DB8C4 7F0A6D94 8C8F0000 */ lw $t7, ($a0) -/* 0DB8C8 7F0A6D98 25E2FFFC */ addiu $v0, $t7, -4 -/* 0DB8CC 7F0A6D9C 28410157 */ slti $at, $v0, 0x157 -/* 0DB8D0 7F0A6DA0 14200003 */ bnez $at, .L7F0A6DB0 -/* 0DB8D4 7F0A6DA4 AC820000 */ sw $v0, ($a0) -/* 0DB8D8 7F0A6DA8 2402FEAA */ li $v0, -342 -/* 0DB8DC 7F0A6DAC AC820000 */ sw $v0, ($a0) -.L7F0A6DB0: -/* 0DB8E0 7F0A6DB0 2841FEAA */ slti $at, $v0, -0x156 -/* 0DB8E4 7F0A6DB4 10200002 */ beqz $at, .L7F0A6DC0 -/* 0DB8E8 7F0A6DB8 3C028004 */ lui $v0, %hi(D_80040B44) -/* 0DB8EC 7F0A6DBC AC880000 */ sw $t0, ($a0) -.L7F0A6DC0: -/* 0DB8F0 7F0A6DC0 24420B44 */ addiu $v0, %lo(D_80040B44) # addiu $v0, $v0, 0xb44 -/* 0DB8F4 7F0A6DC4 84490000 */ lh $t1, ($v0) -/* 0DB8F8 7F0A6DC8 3C0D8004 */ lui $t5, %hi(D_80040994) -/* 0DB8FC 7F0A6DCC 252A0001 */ addiu $t2, $t1, 1 -/* 0DB900 7F0A6DD0 A44A0000 */ sh $t2, ($v0) -/* 0DB904 7F0A6DD4 844B0000 */ lh $t3, ($v0) -/* 0DB908 7F0A6DD8 316C0001 */ andi $t4, $t3, 1 -/* 0DB90C 7F0A6DDC A44C0000 */ sh $t4, ($v0) -/* 0DB910 7F0A6DE0 8DAD0994 */ lw $t5, %lo(D_80040994)($t5) -/* 0DB914 7F0A6DE4 2DA10005 */ sltiu $at, $t5, 5 -/* 0DB918 7F0A6DE8 1020003B */ beqz $at, .L7F0A6ED8 -/* 0DB91C 7F0A6DEC 000D6880 */ sll $t5, $t5, 2 -/* 0DB920 7F0A6DF0 3C018006 */ lui $at, %hi(jpt_800584CC) -/* 0DB924 7F0A6DF4 002D0821 */ addu $at, $at, $t5 -/* 0DB928 7F0A6DF8 8C2D84CC */ lw $t5, %lo(jpt_800584CC)($at) -/* 0DB92C 7F0A6DFC 01A00008 */ jr $t5 -/* 0DB930 7F0A6E00 00000000 */ nop -.L7F0A6E04: -/* 0DB934 7F0A6E04 0FC2949B */ jal sub_GAME_7F0A526C -/* 0DB938 7F0A6E08 00000000 */ nop -/* 0DB93C 7F0A6E0C 10000033 */ b .L7F0A6EDC -/* 0DB940 7F0A6E10 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6E14: -/* 0DB944 7F0A6E14 3C028004 */ lui $v0, %hi(D_80040998) -/* 0DB948 7F0A6E18 8C420998 */ lw $v0, %lo(D_80040998)($v0) -/* 0DB94C 7F0A6E1C 24010001 */ li $at, 1 -/* 0DB950 7F0A6E20 10400005 */ beqz $v0, .L7F0A6E38 -/* 0DB954 7F0A6E24 00000000 */ nop -/* 0DB958 7F0A6E28 10410007 */ beq $v0, $at, .L7F0A6E48 -/* 0DB95C 7F0A6E2C 00000000 */ nop -/* 0DB960 7F0A6E30 10000007 */ b .L7F0A6E50 -/* 0DB964 7F0A6E34 00000000 */ nop -.L7F0A6E38: -/* 0DB968 7F0A6E38 0FC29618 */ jal sub_GAME_7F0A5860 -/* 0DB96C 7F0A6E3C 00000000 */ nop -/* 0DB970 7F0A6E40 10000003 */ b .L7F0A6E50 -/* 0DB974 7F0A6E44 00000000 */ nop -.L7F0A6E48: -/* 0DB978 7F0A6E48 0FC29640 */ jal sub_GAME_7F0A5900 -/* 0DB97C 7F0A6E4C 00000000 */ nop -.L7F0A6E50: -/* 0DB980 7F0A6E50 0FC29571 */ jal sub_GAME_7F0A55C4 -/* 0DB984 7F0A6E54 00000000 */ nop -/* 0DB988 7F0A6E58 10000020 */ b .L7F0A6EDC -/* 0DB98C 7F0A6E5C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6E60: -/* 0DB990 7F0A6E60 3C0E8004 */ lui $t6, %hi(D_8004099C) -/* 0DB994 7F0A6E64 8DCE099C */ lw $t6, %lo(D_8004099C)($t6) -/* 0DB998 7F0A6E68 2DC1000A */ sltiu $at, $t6, 0xa -/* 0DB99C 7F0A6E6C 10200010 */ beqz $at, .L7F0A6EB0 -/* 0DB9A0 7F0A6E70 000E7080 */ sll $t6, $t6, 2 -/* 0DB9A4 7F0A6E74 3C018006 */ lui $at, %hi(jpt_800584E0) -/* 0DB9A8 7F0A6E78 002E0821 */ addu $at, $at, $t6 -/* 0DB9AC 7F0A6E7C 8C2E84E0 */ lw $t6, %lo(jpt_800584E0)($at) -/* 0DB9B0 7F0A6E80 01C00008 */ jr $t6 -/* 0DB9B4 7F0A6E84 00000000 */ nop -.L7F0A6E88: -/* 0DB9B8 7F0A6E88 0FC29699 */ jal sub_GAME_7F0A5A64 -/* 0DB9BC 7F0A6E8C 00000000 */ nop -/* 0DB9C0 7F0A6E90 10000007 */ b .L7F0A6EB0 -/* 0DB9C4 7F0A6E94 00000000 */ nop -.L7F0A6E98: -/* 0DB9C8 7F0A6E98 0FC296BD */ jal sub_GAME_7F0A5AF4 -/* 0DB9CC 7F0A6E9C 00000000 */ nop -/* 0DB9D0 7F0A6EA0 10000003 */ b .L7F0A6EB0 -/* 0DB9D4 7F0A6EA4 00000000 */ nop -.L7F0A6EA8: -/* 0DB9D8 7F0A6EA8 0FC29666 */ jal sub_GAME_7F0A5998 -/* 0DB9DC 7F0A6EAC 00000000 */ nop -.L7F0A6EB0: -/* 0DB9E0 7F0A6EB0 0FC295A9 */ jal sub_GAME_7F0A56A4 -/* 0DB9E4 7F0A6EB4 00000000 */ nop -/* 0DB9E8 7F0A6EB8 10000008 */ b .L7F0A6EDC -/* 0DB9EC 7F0A6EBC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6EC0: -/* 0DB9F0 7F0A6EC0 0FC295E1 */ jal sub_GAME_7F0A5784 -/* 0DB9F4 7F0A6EC4 00000000 */ nop -/* 0DB9F8 7F0A6EC8 10000004 */ b .L7F0A6EDC -/* 0DB9FC 7F0A6ECC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6ED0: -/* 0DBA00 7F0A6ED0 0FC294F6 */ jal sub_GAME_7F0A53D8 -/* 0DBA04 7F0A6ED4 00000000 */ nop -.L7F0A6ED8: -/* 0DBA08 7F0A6ED8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A6EDC: -/* 0DBA0C 7F0A6EDC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0DBA10 7F0A6EE0 03E00008 */ jr $ra -/* 0DBA14 7F0A6EE4 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_800584C8 -.word 0x40c90fdb /*6.2831855*/ - -/*D:800584CC*/ -glabel jpt_800584CC -.word .Ljp7F0A6E04 -.word .Ljp7F0A6ED0 -.word .Ljp7F0A6E14 -.word .Ljp7F0A6E60 -.word .Ljp7F0A6EC0 - -/*D:800584E0*/ -glabel jpt_800584E0 -.word .Ljp7F0A6E88 -.word .Ljp7F0A6E98 -.word .Ljp7F0A6EA8 -.word .Ljp7F0A6EA8 -.word .Ljp7F0A6EA8 -.word .Ljp7F0A6EA8 -.word .Ljp7F0A6EA8 -.word .Ljp7F0A6EA8 -.word .Ljp7F0A6EA8 -.word .Ljp7F0A6EA8 - -.text -glabel sub_GAME_7F0A6A80 -/* 0DC190 7F0A7620 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0DC194 7F0A7624 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DC198 7F0A7628 00002025 */ move $a0, $zero -/* 0DC19C 7F0A762C 0C003104 */ jal get_controller_buttons_pressed -/* 0DC1A0 7F0A7630 24051000 */ li $a1, 4096 -/* 0DC1A4 7F0A7634 10400003 */ beqz $v0, .Ljp7F0A7644 -/* 0DC1A8 7F0A7638 00000000 */ nop -/* 0DC1AC 7F0A763C 0FC1FF9C */ jal set_open_close_solo_watch_menu_to1 -/* 0DC1B0 7F0A7640 00000000 */ nop -.Ljp7F0A7644: -/* 0DC1B4 7F0A7644 3C0E8004 */ lui $t6, %hi(controlstick_lr_enabled) # $t6, 0x8004 -/* 0DC1B8 7F0A7648 8DCE0B0C */ lw $t6, %lo(controlstick_lr_enabled)($t6) -/* 0DC1BC 7F0A764C 15C00027 */ bnez $t6, .Ljp7F0A76EC -/* 0DC1C0 7F0A7650 00000000 */ nop -/* 0DC1C4 7F0A7654 0C003054 */ jal get_cur_controller_horz_stick_pos -/* 0DC1C8 7F0A7658 00002025 */ move $a0, $zero -/* 0DC1CC 7F0A765C 2841FFF6 */ slti $at, $v0, -0xa -/* 0DC1D0 7F0A7660 14200009 */ bnez $at, .Ljp7F0A7688 -/* 0DC1D4 7F0A7664 00000000 */ nop -/* 0DC1D8 7F0A7668 0C003054 */ jal get_cur_controller_horz_stick_pos -/* 0DC1DC 7F0A766C 00002025 */ move $a0, $zero -/* 0DC1E0 7F0A7670 2841000B */ slti $at, $v0, 0xb -/* 0DC1E4 7F0A7674 10200004 */ beqz $at, .Ljp7F0A7688 -/* 0DC1E8 7F0A7678 240F0001 */ li $t7, 1 -/* 0DC1EC 7F0A767C 3C018004 */ lui $at, %hi(controlstick_lr_enabled) # $at, 0x8004 -/* 0DC1F0 7F0A7680 1000001A */ b .Ljp7F0A76EC -/* 0DC1F4 7F0A7684 AC2F0B0C */ sw $t7, %lo(controlstick_lr_enabled)($at) -.Ljp7F0A7688: -/* 0DC1F8 7F0A7688 0C003054 */ jal get_cur_controller_horz_stick_pos -/* 0DC1FC 7F0A768C 00002025 */ move $a0, $zero -/* 0DC200 7F0A7690 2841000B */ slti $at, $v0, 0xb -/* 0DC204 7F0A7694 10200009 */ beqz $at, .Ljp7F0A76BC -/* 0DC208 7F0A7698 00000000 */ nop -/* 0DC20C 7F0A769C 0C003076 */ jal controller_7000C174 -/* 0DC210 7F0A76A0 00002025 */ move $a0, $zero -/* 0DC214 7F0A76A4 2841000B */ slti $at, $v0, 0xb -/* 0DC218 7F0A76A8 14200004 */ bnez $at, .Ljp7F0A76BC -/* 0DC21C 7F0A76AC 24180001 */ li $t8, 1 -/* 0DC220 7F0A76B0 3C018004 */ lui $at, %hi(controlstick_lr_enabled) # $at, 0x8004 -/* 0DC224 7F0A76B4 1000000D */ b .Ljp7F0A76EC -/* 0DC228 7F0A76B8 AC380B0C */ sw $t8, %lo(controlstick_lr_enabled)($at) -.Ljp7F0A76BC: -/* 0DC22C 7F0A76BC 0C003054 */ jal get_cur_controller_horz_stick_pos -/* 0DC230 7F0A76C0 00002025 */ move $a0, $zero -/* 0DC234 7F0A76C4 2841FFF6 */ slti $at, $v0, -0xa -/* 0DC238 7F0A76C8 14200008 */ bnez $at, .Ljp7F0A76EC -/* 0DC23C 7F0A76CC 00000000 */ nop -/* 0DC240 7F0A76D0 0C003076 */ jal controller_7000C174 -/* 0DC244 7F0A76D4 00002025 */ move $a0, $zero -/* 0DC248 7F0A76D8 2841FFF6 */ slti $at, $v0, -0xa -/* 0DC24C 7F0A76DC 10200003 */ beqz $at, .Ljp7F0A76EC -/* 0DC250 7F0A76E0 24190001 */ li $t9, 1 -/* 0DC254 7F0A76E4 3C018004 */ lui $at, %hi(controlstick_lr_enabled) # $at, 0x8004 -/* 0DC258 7F0A76E8 AC390B0C */ sw $t9, %lo(controlstick_lr_enabled)($at) -.Ljp7F0A76EC: -/* 0DC25C 7F0A76EC 3C088004 */ lui $t0, %hi(D_80040AE0) # $t0, 0x8004 -/* 0DC260 7F0A76F0 8D080B10 */ lw $t0, %lo(D_80040AE0)($t0) -/* 0DC264 7F0A76F4 15000027 */ bnez $t0, .Ljp7F0A7794 -/* 0DC268 7F0A76F8 00000000 */ nop -/* 0DC26C 7F0A76FC 0C003098 */ jal get_cur_controller_vert_stick_pos -/* 0DC270 7F0A7700 00002025 */ move $a0, $zero -/* 0DC274 7F0A7704 2841FFF6 */ slti $at, $v0, -0xa -/* 0DC278 7F0A7708 14200009 */ bnez $at, .Ljp7F0A7730 -/* 0DC27C 7F0A770C 00000000 */ nop -/* 0DC280 7F0A7710 0C003098 */ jal get_cur_controller_vert_stick_pos -/* 0DC284 7F0A7714 00002025 */ move $a0, $zero -/* 0DC288 7F0A7718 2841000B */ slti $at, $v0, 0xb -/* 0DC28C 7F0A771C 10200004 */ beqz $at, .Ljp7F0A7730 -/* 0DC290 7F0A7720 24090001 */ li $t1, 1 -/* 0DC294 7F0A7724 3C018004 */ lui $at, %hi(D_80040AE0) # $at, 0x8004 -/* 0DC298 7F0A7728 1000001A */ b .Ljp7F0A7794 -/* 0DC29C 7F0A772C AC290B10 */ sw $t1, %lo(D_80040AE0)($at) -.Ljp7F0A7730: -/* 0DC2A0 7F0A7730 0C003098 */ jal get_cur_controller_vert_stick_pos -/* 0DC2A4 7F0A7734 00002025 */ move $a0, $zero -/* 0DC2A8 7F0A7738 2841000B */ slti $at, $v0, 0xb -/* 0DC2AC 7F0A773C 10200009 */ beqz $at, .Ljp7F0A7764 -/* 0DC2B0 7F0A7740 00000000 */ nop -/* 0DC2B4 7F0A7744 0C0030BA */ jal controller_7000C284 -/* 0DC2B8 7F0A7748 00002025 */ move $a0, $zero -/* 0DC2BC 7F0A774C 2841000B */ slti $at, $v0, 0xb -/* 0DC2C0 7F0A7750 14200004 */ bnez $at, .Ljp7F0A7764 -/* 0DC2C4 7F0A7754 240A0001 */ li $t2, 1 -/* 0DC2C8 7F0A7758 3C018004 */ lui $at, %hi(D_80040AE0) # $at, 0x8004 -/* 0DC2CC 7F0A775C 1000000D */ b .Ljp7F0A7794 -/* 0DC2D0 7F0A7760 AC2A0B10 */ sw $t2, %lo(D_80040AE0)($at) -.Ljp7F0A7764: -/* 0DC2D4 7F0A7764 0C003098 */ jal get_cur_controller_vert_stick_pos -/* 0DC2D8 7F0A7768 00002025 */ move $a0, $zero -/* 0DC2DC 7F0A776C 2841FFF6 */ slti $at, $v0, -0xa -/* 0DC2E0 7F0A7770 14200008 */ bnez $at, .Ljp7F0A7794 -/* 0DC2E4 7F0A7774 00000000 */ nop -/* 0DC2E8 7F0A7778 0C0030BA */ jal controller_7000C284 -/* 0DC2EC 7F0A777C 00002025 */ move $a0, $zero -/* 0DC2F0 7F0A7780 2841FFF6 */ slti $at, $v0, -0xa -/* 0DC2F4 7F0A7784 10200003 */ beqz $at, .Ljp7F0A7794 -/* 0DC2F8 7F0A7788 240B0001 */ li $t3, 1 -/* 0DC2FC 7F0A778C 3C018004 */ lui $at, %hi(D_80040AE0) # $at, 0x8004 -/* 0DC300 7F0A7790 AC2B0B10 */ sw $t3, %lo(D_80040AE0)($at) -.Ljp7F0A7794: -/* 0DC304 7F0A7794 3C038004 */ lui $v1, %hi(D_80040AF8) # $v1, 0x8004 -/* 0DC308 7F0A7798 24630B28 */ addiu $v1, %lo(D_80040AF8) # addiu $v1, $v1, 0xb28 -/* 0DC30C 7F0A779C 8C620000 */ lw $v0, ($v1) -/* 0DC310 7F0A77A0 04410007 */ bgez $v0, .Ljp7F0A77C0 -/* 0DC314 7F0A77A4 244EFFFF */ addiu $t6, $v0, -1 -/* 0DC318 7F0A77A8 3C048004 */ lui $a0, %hi(D_80040AF4) # $a0, 0x8004 -/* 0DC31C 7F0A77AC 24840B24 */ addiu $a0, %lo(D_80040AF4) # addiu $a0, $a0, 0xb24 -/* 0DC320 7F0A77B0 8C8C0000 */ lw $t4, ($a0) -/* 0DC324 7F0A77B4 3C01FFF0 */ lui $at, 0xfff0 -/* 0DC328 7F0A77B8 01816821 */ addu $t5, $t4, $at -/* 0DC32C 7F0A77BC AC8D0000 */ sw $t5, ($a0) -.Ljp7F0A77C0: -/* 0DC330 7F0A77C0 3C048004 */ lui $a0, %hi(D_80040AF4) # $a0, 0x8004 -/* 0DC334 7F0A77C4 24840B24 */ addiu $a0, %lo(D_80040AF4) # addiu $a0, $a0, 0xb24 -/* 0DC338 7F0A77C8 8C8F0000 */ lw $t7, ($a0) -/* 0DC33C 7F0A77CC 3C01005F */ lui $at, (0x005F00A1 >> 16) # lui $at, 0x5f -/* 0DC340 7F0A77D0 342100A1 */ ori $at, (0x005F00A1 & 0xFFFF) # ori $at, $at, 0xa1 -/* 0DC344 7F0A77D4 01E1082B */ sltu $at, $t7, $at -/* 0DC348 7F0A77D8 10200006 */ beqz $at, .Ljp7F0A77F4 -/* 0DC34C 7F0A77DC AC6E0000 */ sw $t6, ($v1) -/* 0DC350 7F0A77E0 3C1800FF */ lui $t8, (0x00FF00A0 >> 16) # lui $t8, 0xff -/* 0DC354 7F0A77E4 371800A0 */ ori $t8, (0x00FF00A0 & 0xFFFF) # ori $t8, $t8, 0xa0 -/* 0DC358 7F0A77E8 2419000F */ li $t9, 15 -/* 0DC35C 7F0A77EC AC980000 */ sw $t8, ($a0) -/* 0DC360 7F0A77F0 AC790000 */ sw $t9, ($v1) -.Ljp7F0A77F4: -/* 0DC364 7F0A77F4 3C038004 */ lui $v1, %hi(D_80040B00) # $v1, 0x8004 -/* 0DC368 7F0A77F8 24630B30 */ addiu $v1, %lo(D_80040B00) # addiu $v1, $v1, 0xb30 -/* 0DC36C 7F0A77FC 8C620000 */ lw $v0, ($v1) -/* 0DC370 7F0A7800 3C048004 */ lui $a0, %hi(D_80040AFC) # $a0, 0x8004 -/* 0DC374 7F0A7804 24840B2C */ addiu $a0, %lo(D_80040AFC) # addiu $a0, $a0, 0xb2c -/* 0DC378 7F0A7808 04410004 */ bgez $v0, .Ljp7F0A781C -/* 0DC37C 7F0A780C 240C00FF */ li $t4, 255 -/* 0DC380 7F0A7810 8C880000 */ lw $t0, ($a0) -/* 0DC384 7F0A7814 2509FFF0 */ addiu $t1, $t0, -0x10 -/* 0DC388 7F0A7818 AC890000 */ sw $t1, ($a0) -.Ljp7F0A781C: -/* 0DC38C 7F0A781C 3C048004 */ lui $a0, %hi(D_80040AFC) # $a0, 0x8004 -/* 0DC390 7F0A7820 24840B2C */ addiu $a0, %lo(D_80040AFC) # addiu $a0, $a0, 0xb2c -/* 0DC394 7F0A7824 8C8B0000 */ lw $t3, ($a0) -/* 0DC398 7F0A7828 244AFFFF */ addiu $t2, $v0, -1 -/* 0DC39C 7F0A782C AC6A0000 */ sw $t2, ($v1) -/* 0DC3A0 7F0A7830 2D610060 */ sltiu $at, $t3, 0x60 -/* 0DC3A4 7F0A7834 10200003 */ beqz $at, .Ljp7F0A7844 -/* 0DC3A8 7F0A7838 240D000F */ li $t5, 15 -/* 0DC3AC 7F0A783C AC8C0000 */ sw $t4, ($a0) -/* 0DC3B0 7F0A7840 AC6D0000 */ sw $t5, ($v1) -.Ljp7F0A7844: -/* 0DC3B4 7F0A7844 3C018004 */ lui $at, %hi(D_80040B1C) # $at, 0x8004 -/* 0DC3B8 7F0A7848 C4240B4C */ lwc1 $f4, %lo(D_80040B1C)($at) -/* 0DC3BC 7F0A784C 3C018005 */ lui $at, %hi(0x800484D0) # $at, 0x8005 #JPHARDCODE FIXME -/* 0DC3C0 7F0A7850 C42684D0 */ lwc1 $f6, %lo(0x800484D0)($at) #JPHARDCODE FIXME -/* 0DC3C4 7F0A7854 3C018006 */ lui $at, %hi(D_800584C8) # $at, 0x8006 -/* 0DC3C8 7F0A7858 C42A8508 */ lwc1 $f10, %lo(D_800584C8)($at) -/* 0DC3CC 7F0A785C 46062202 */ mul.s $f8, $f4, $f6 -/* 0DC3D0 7F0A7860 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DC3D4 7F0A7864 44819000 */ mtc1 $at, $f18 -/* 0DC3D8 7F0A7868 3C028004 */ lui $v0, %hi(D_80040B14) # $v0, 0x8004 -/* 0DC3DC 7F0A786C 24420B44 */ addiu $v0, %lo(D_80040B14) # addiu $v0, $v0, 0xb44 -/* 0DC3E0 7F0A7870 C4460000 */ lwc1 $f6, ($v0) -/* 0DC3E4 7F0A7874 460A4402 */ mul.s $f16, $f8, $f10 -/* 0DC3E8 7F0A7878 46128103 */ div.s $f4, $f16, $f18 -/* 0DC3EC 7F0A787C 46043200 */ add.s $f8, $f6, $f4 -/* 0DC3F0 7F0A7880 E4480000 */ swc1 $f8, ($v0) -/* 0DC3F4 7F0A7884 0FC29D73 */ jal sub_GAME_7F0A6A2C -/* 0DC3F8 7F0A7888 C44C0000 */ lwc1 $f12, ($v0) -/* 0DC3FC 7F0A788C 3C028004 */ lui $v0, %hi(D_80040B14) # $v0, 0x8004 -/* 0DC400 7F0A7890 24420B44 */ addiu $v0, %lo(D_80040B14) # addiu $v0, $v0, 0xb44 -/* 0DC404 7F0A7894 E4400000 */ swc1 $f0, ($v0) -/* 0DC408 7F0A7898 3C0E8004 */ lui $t6, %hi(D_80040B0C) # $t6, 0x8004 -/* 0DC40C 7F0A789C 8DCE0B3C */ lw $t6, %lo(D_80040B0C)($t6) -/* 0DC410 7F0A78A0 000E7C00 */ sll $t7, $t6, 0x10 -/* 0DC414 7F0A78A4 0C002918 */ jal get_random_value -/* 0DC418 7F0A78A8 AFAF001C */ sw $t7, 0x1c($sp) -/* 0DC41C 7F0A78AC 8FB8001C */ lw $t8, 0x1c($sp) -/* 0DC420 7F0A78B0 0302082B */ sltu $at, $t8, $v0 -/* 0DC424 7F0A78B4 10200003 */ beqz $at, .Ljp7F0A78C4 -/* 0DC428 7F0A78B8 00000000 */ nop -/* 0DC42C 7F0A78BC 0FC2975E */ jal sub_GAME_7F0A51D8 -/* 0DC430 7F0A78C0 00000000 */ nop -.Ljp7F0A78C4: -/* 0DC434 7F0A78C4 3C048004 */ lui $a0, %hi(D_80040B04) # $a0, 0x8004 -/* 0DC438 7F0A78C8 24840B34 */ addiu $a0, %lo(D_80040B04) # addiu $a0, $a0, 0xb34 -/* 0DC43C 7F0A78CC 8C830000 */ lw $v1, ($a0) -/* 0DC440 7F0A78D0 286100E0 */ slti $at, $v1, 0xe0 -/* 0DC444 7F0A78D4 5020000A */ beql $at, $zero, .Ljp7F0A7900 -/* 0DC448 7F0A78D8 286100E1 */ slti $at, $v1, 0xe1 -/* 0DC44C 7F0A78DC 0C002918 */ jal get_random_value -/* 0DC450 7F0A78E0 00000000 */ nop -/* 0DC454 7F0A78E4 3C048004 */ lui $a0, %hi(D_80040B04) # $a0, 0x8004 -/* 0DC458 7F0A78E8 24840B34 */ addiu $a0, %lo(D_80040B04) # addiu $a0, $a0, 0xb34 -/* 0DC45C 7F0A78EC 8C990000 */ lw $t9, ($a0) -/* 0DC460 7F0A78F0 00024782 */ srl $t0, $v0, 0x1e -/* 0DC464 7F0A78F4 03281821 */ addu $v1, $t9, $t0 -/* 0DC468 7F0A78F8 AC830000 */ sw $v1, ($a0) -/* 0DC46C 7F0A78FC 286100E1 */ slti $at, $v1, 0xe1 -.Ljp7F0A7900: -/* 0DC470 7F0A7900 14200003 */ bnez $at, .Ljp7F0A7910 -/* 0DC474 7F0A7904 24190156 */ li $t9, 342 -/* 0DC478 7F0A7908 240300E0 */ li $v1, 224 -/* 0DC47C 7F0A790C AC830000 */ sw $v1, ($a0) -.Ljp7F0A7910: -/* 0DC480 7F0A7910 00035823 */ negu $t3, $v1 -/* 0DC484 7F0A7914 000B6080 */ sll $t4, $t3, 2 -/* 0DC488 7F0A7918 3C048004 */ lui $a0, %hi(D_80040B40) # $a0, 0x8004 -/* 0DC48C 7F0A791C 258D0380 */ addiu $t5, $t4, 0x380 -/* 0DC490 7F0A7920 3C018004 */ lui $at, %hi(D_80040B08) # $at, 0x8004 -/* 0DC494 7F0A7924 24840B70 */ addiu $a0, %lo(D_80040B40) # addiu $a0, $a0, 0xb70 -/* 0DC498 7F0A7928 AC2D0B38 */ sw $t5, %lo(D_80040B08)($at) -/* 0DC49C 7F0A792C 8C8E0000 */ lw $t6, ($a0) -/* 0DC4A0 7F0A7930 25C2FFFC */ addiu $v0, $t6, -4 -/* 0DC4A4 7F0A7934 28410157 */ slti $at, $v0, 0x157 -/* 0DC4A8 7F0A7938 14200003 */ bnez $at, .Ljp7F0A7948 -/* 0DC4AC 7F0A793C AC820000 */ sw $v0, ($a0) -/* 0DC4B0 7F0A7940 2402FEAA */ li $v0, -342 -/* 0DC4B4 7F0A7944 AC820000 */ sw $v0, ($a0) -.Ljp7F0A7948: -/* 0DC4B8 7F0A7948 2841FEAA */ slti $at, $v0, -0x156 -/* 0DC4BC 7F0A794C 10200002 */ beqz $at, .Ljp7F0A7958 -/* 0DC4C0 7F0A7950 3C028004 */ lui $v0, %hi(D_80040B44) # $v0, 0x8004 -/* 0DC4C4 7F0A7954 AC990000 */ sw $t9, ($a0) -.Ljp7F0A7958: -/* 0DC4C8 7F0A7958 24420B74 */ addiu $v0, %lo(D_80040B44) # addiu $v0, $v0, 0xb74 -/* 0DC4CC 7F0A795C 84480000 */ lh $t0, ($v0) -/* 0DC4D0 7F0A7960 3C0C8004 */ lui $t4, %hi(D_80040994) # $t4, 0x8004 -/* 0DC4D4 7F0A7964 25090001 */ addiu $t1, $t0, 1 -/* 0DC4D8 7F0A7968 A4490000 */ sh $t1, ($v0) -/* 0DC4DC 7F0A796C 844A0000 */ lh $t2, ($v0) -/* 0DC4E0 7F0A7970 314B0001 */ andi $t3, $t2, 1 -/* 0DC4E4 7F0A7974 A44B0000 */ sh $t3, ($v0) -/* 0DC4E8 7F0A7978 8D8C09C4 */ lw $t4, %lo(D_80040994)($t4) -/* 0DC4EC 7F0A797C 2D810005 */ sltiu $at, $t4, 5 -/* 0DC4F0 7F0A7980 1020003B */ beqz $at, .Ljp7F0A7A70 -/* 0DC4F4 7F0A7984 000C6080 */ sll $t4, $t4, 2 -/* 0DC4F8 7F0A7988 3C018006 */ lui $at, %hi(jpt_800584CC) -/* 0DC4FC 7F0A798C 002C0821 */ addu $at, $at, $t4 -/* 0DC500 7F0A7990 8C2C850C */ lw $t4, %lo(jpt_800584CC)($at) -/* 0DC504 7F0A7994 01800008 */ jr $t4 -/* 0DC508 7F0A7998 00000000 */ nop -.Ljp7F0A6E04: -/* 0DC50C 7F0A799C 0FC29783 */ jal sub_GAME_7F0A526C -/* 0DC510 7F0A79A0 00000000 */ nop -/* 0DC514 7F0A79A4 10000033 */ b .Ljp7F0A7A74 -/* 0DC518 7F0A79A8 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0A6E14: -/* 0DC51C 7F0A79AC 3C028004 */ lui $v0, %hi(D_80040998) # $v0, 0x8004 -/* 0DC520 7F0A79B0 8C4209C8 */ lw $v0, %lo(D_80040998)($v0) -/* 0DC524 7F0A79B4 24010001 */ li $at, 1 -/* 0DC528 7F0A79B8 10400005 */ beqz $v0, .Ljp7F0A79D0 -/* 0DC52C 7F0A79BC 00000000 */ nop -/* 0DC530 7F0A79C0 10410007 */ beq $v0, $at, .Ljp7F0A79E0 -/* 0DC534 7F0A79C4 00000000 */ nop -/* 0DC538 7F0A79C8 10000007 */ b .Ljp7F0A79E8 -/* 0DC53C 7F0A79CC 00000000 */ nop -.Ljp7F0A79D0: -/* 0DC540 7F0A79D0 0FC29900 */ jal sub_GAME_7F0A5860 -/* 0DC544 7F0A79D4 00000000 */ nop -/* 0DC548 7F0A79D8 10000003 */ b .Ljp7F0A79E8 -/* 0DC54C 7F0A79DC 00000000 */ nop -.Ljp7F0A79E0: -/* 0DC550 7F0A79E0 0FC29928 */ jal sub_GAME_7F0A5900 -/* 0DC554 7F0A79E4 00000000 */ nop -.Ljp7F0A79E8: -/* 0DC558 7F0A79E8 0FC29859 */ jal sub_GAME_7F0A55C4 -/* 0DC55C 7F0A79EC 00000000 */ nop -/* 0DC560 7F0A79F0 10000020 */ b .Ljp7F0A7A74 -/* 0DC564 7F0A79F4 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0A6E60: -/* 0DC568 7F0A79F8 3C0D8004 */ lui $t5, %hi(D_8004099C) # $t5, 0x8004 -/* 0DC56C 7F0A79FC 8DAD09CC */ lw $t5, %lo(D_8004099C)($t5) -/* 0DC570 7F0A7A00 2DA1000A */ sltiu $at, $t5, 0xa -/* 0DC574 7F0A7A04 10200010 */ beqz $at, .Ljp7F0A7A48 -/* 0DC578 7F0A7A08 000D6880 */ sll $t5, $t5, 2 -/* 0DC57C 7F0A7A0C 3C018006 */ lui $at, %hi(jpt_800584E0) -/* 0DC580 7F0A7A10 002D0821 */ addu $at, $at, $t5 -/* 0DC584 7F0A7A14 8C2D8520 */ lw $t5, %lo(jpt_800584E0)($at) -/* 0DC588 7F0A7A18 01A00008 */ jr $t5 -/* 0DC58C 7F0A7A1C 00000000 */ nop -.Ljp7F0A6E88: -/* 0DC590 7F0A7A20 0FC29981 */ jal sub_GAME_7F0A5A64 -/* 0DC594 7F0A7A24 00000000 */ nop -/* 0DC598 7F0A7A28 10000007 */ b .Ljp7F0A7A48 -/* 0DC59C 7F0A7A2C 00000000 */ nop -.Ljp7F0A6E98: -/* 0DC5A0 7F0A7A30 0FC299A5 */ jal sub_GAME_7F0A5AF4 -/* 0DC5A4 7F0A7A34 00000000 */ nop -/* 0DC5A8 7F0A7A38 10000003 */ b .Ljp7F0A7A48 -/* 0DC5AC 7F0A7A3C 00000000 */ nop -.Ljp7F0A6EA8: -/* 0DC5B0 7F0A7A40 0FC2994E */ jal sub_GAME_7F0A5998 -/* 0DC5B4 7F0A7A44 00000000 */ nop -.Ljp7F0A7A48: -/* 0DC5B8 7F0A7A48 0FC29891 */ jal sub_GAME_7F0A56A4 -/* 0DC5BC 7F0A7A4C 00000000 */ nop -/* 0DC5C0 7F0A7A50 10000008 */ b .Ljp7F0A7A74 -/* 0DC5C4 7F0A7A54 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0A6EC0: -/* 0DC5C8 7F0A7A58 0FC298C9 */ jal sub_GAME_7F0A5784 -/* 0DC5CC 7F0A7A5C 00000000 */ nop -/* 0DC5D0 7F0A7A60 10000004 */ b .Ljp7F0A7A74 -/* 0DC5D4 7F0A7A64 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0A6ED0: -/* 0DC5D8 7F0A7A68 0FC297DE */ jal sub_GAME_7F0A53D8 -/* 0DC5DC 7F0A7A6C 00000000 */ nop -.Ljp7F0A7A70: -/* 0DC5E0 7F0A7A70 8FBF0014 */ lw $ra, 0x14($sp) -.Ljp7F0A7A74: -/* 0DC5E4 7F0A7A74 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0DC5E8 7F0A7A78 03E00008 */ jr $ra -/* 0DC5EC 7F0A7A7C 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0A6EE8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A6EE8 -/* 0DBA18 7F0A6EE8 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0DBA1C 7F0A6EEC AFBF0014 */ sw $ra, 0x14($sp) -/* 0DBA20 7F0A6EF0 00801025 */ move $v0, $a0 -/* 0DBA24 7F0A6EF4 24830008 */ addiu $v1, $a0, 8 -/* 0DBA28 7F0A6EF8 3C0EB700 */ lui $t6, 0xb700 -/* 0DBA2C 7F0A6EFC 240F2000 */ li $t7, 8192 -/* 0DBA30 7F0A6F00 AC4F0004 */ sw $t7, 4($v0) -/* 0DBA34 7F0A6F04 AC4E0000 */ sw $t6, ($v0) -/* 0DBA38 7F0A6F08 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00 -/* 0DBA3C 7F0A6F0C 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402 -/* 0DBA40 7F0A6F10 24650008 */ addiu $a1, $v1, 8 -/* 0DBA44 7F0A6F14 AC780000 */ sw $t8, ($v1) -/* 0DBA48 7F0A6F18 AC600004 */ sw $zero, 4($v1) -/* 0DBA4C 7F0A6F1C 3C19BA00 */ lui $t9, (0xBA001701 >> 16) # lui $t9, 0xba00 -/* 0DBA50 7F0A6F20 37391701 */ ori $t9, (0xBA001701 & 0xFFFF) # ori $t9, $t9, 0x1701 -/* 0DBA54 7F0A6F24 24A60008 */ addiu $a2, $a1, 8 -/* 0DBA58 7F0A6F28 3C090080 */ lui $t1, 0x80 -/* 0DBA5C 7F0A6F2C ACA90004 */ sw $t1, 4($a1) -/* 0DBA60 7F0A6F30 ACB90000 */ sw $t9, ($a1) -/* 0DBA64 7F0A6F34 3C0AED00 */ lui $t2, 0xed00 -/* 0DBA68 7F0A6F38 ACCA0000 */ sw $t2, ($a2) -/* 0DBA6C 7F0A6F3C 24C40008 */ addiu $a0, $a2, 8 -/* 0DBA70 7F0A6F40 AFA40058 */ sw $a0, 0x58($sp) -/* 0DBA74 7F0A6F44 0C001107 */ jal get_video2_settings_txtClipW -/* 0DBA78 7F0A6F48 AFA60048 */ sw $a2, 0x48($sp) -/* 0DBA7C 7F0A6F4C 0C00110B */ jal get_video2_settings_txtClipH -/* 0DBA80 7F0A6F50 A7A2001A */ sh $v0, 0x1a($sp) -/* 0DBA84 7F0A6F54 44822000 */ mtc1 $v0, $f4 -/* 0DBA88 7F0A6F58 87AE001A */ lh $t6, 0x1a($sp) -/* 0DBA8C 7F0A6F5C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0DBA90 7F0A6F60 468021A0 */ cvt.s.w $f6, $f4 -/* 0DBA94 7F0A6F64 448E8000 */ mtc1 $t6, $f16 -/* 0DBA98 7F0A6F68 44810000 */ mtc1 $at, $f0 -/* 0DBA9C 7F0A6F6C 8FA30058 */ lw $v1, 0x58($sp) -/* 0DBAA0 7F0A6F70 8FAB0048 */ lw $t3, 0x48($sp) -/* 0DBAA4 7F0A6F74 468084A0 */ cvt.s.w $f18, $f16 -/* 0DBAA8 7F0A6F78 46003202 */ mul.s $f8, $f6, $f0 -/* 0DBAAC 7F0A6F7C 24650008 */ addiu $a1, $v1, 8 -/* 0DBAB0 7F0A6F80 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 -/* 0DBAB4 7F0A6F84 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02 -/* 0DBAB8 7F0A6F88 24A60008 */ addiu $a2, $a1, 8 -/* 0DBABC 7F0A6F8C 46009102 */ mul.s $f4, $f18, $f0 -/* 0DBAC0 7F0A6F90 3C0FBA00 */ lui $t7, (0xBA001102 >> 16) # lui $t7, 0xba00 -/* 0DBAC4 7F0A6F94 35EF1102 */ ori $t7, (0xBA001102 & 0xFFFF) # ori $t7, $t7, 0x1102 -/* 0DBAC8 7F0A6F98 24C70008 */ addiu $a3, $a2, 8 -/* 0DBACC 7F0A6F9C 24E80008 */ addiu $t0, $a3, 8 -/* 0DBAD0 7F0A6FA0 25020008 */ addiu $v0, $t0, 8 -/* 0DBAD4 7F0A6FA4 4600428D */ trunc.w.s $f10, $f8 -/* 0DBAD8 7F0A6FA8 24440008 */ addiu $a0, $v0, 8 -/* 0DBADC 7F0A6FAC 4600218D */ trunc.w.s $f6, $f4 -/* 0DBAE0 7F0A6FB0 440C5000 */ mfc1 $t4, $f10 -/* 0DBAE4 7F0A6FB4 44183000 */ mfc1 $t8, $f6 -/* 0DBAE8 7F0A6FB8 318D0FFF */ andi $t5, $t4, 0xfff -/* 0DBAEC 7F0A6FBC 3C0CBA00 */ lui $t4, (0xBA001001 >> 16) # lui $t4, 0xba00 -/* 0DBAF0 7F0A6FC0 33190FFF */ andi $t9, $t8, 0xfff -/* 0DBAF4 7F0A6FC4 00194B00 */ sll $t1, $t9, 0xc -/* 0DBAF8 7F0A6FC8 01A95025 */ or $t2, $t5, $t1 -/* 0DBAFC 7F0A6FCC AD6A0004 */ sw $t2, 4($t3) -/* 0DBB00 7F0A6FD0 358C1001 */ ori $t4, (0xBA001001 & 0xFFFF) # ori $t4, $t4, 0x1001 -/* 0DBB04 7F0A6FD4 AC6C0000 */ sw $t4, ($v1) -/* 0DBB08 7F0A6FD8 AC600004 */ sw $zero, 4($v1) -/* 0DBB0C 7F0A6FDC ACA00004 */ sw $zero, 4($a1) -/* 0DBB10 7F0A6FE0 ACAE0000 */ sw $t6, ($a1) -/* 0DBB14 7F0A6FE4 ACC00004 */ sw $zero, 4($a2) -/* 0DBB18 7F0A6FE8 ACCF0000 */ sw $t7, ($a2) -/* 0DBB1C 7F0A6FEC 3C18BA00 */ lui $t8, (0xBA001301 >> 16) # lui $t8, 0xba00 -/* 0DBB20 7F0A6FF0 37181301 */ ori $t8, (0xBA001301 & 0xFFFF) # ori $t8, $t8, 0x1301 -/* 0DBB24 7F0A6FF4 3C190008 */ lui $t9, 8 -/* 0DBB28 7F0A6FF8 ACF90004 */ sw $t9, 4($a3) -/* 0DBB2C 7F0A6FFC ACF80000 */ sw $t8, ($a3) -/* 0DBB30 7F0A7000 3C0DBA00 */ lui $t5, (0xBA000C02 >> 16) # lui $t5, 0xba00 -/* 0DBB34 7F0A7004 35AD0C02 */ ori $t5, (0xBA000C02 & 0xFFFF) # ori $t5, $t5, 0xc02 -/* 0DBB38 7F0A7008 24092000 */ li $t1, 8192 -/* 0DBB3C 7F0A700C AD090004 */ sw $t1, 4($t0) -/* 0DBB40 7F0A7010 AD0D0000 */ sw $t5, ($t0) -/* 0DBB44 7F0A7014 3C0ABA00 */ lui $t2, (0xBA000903 >> 16) # lui $t2, 0xba00 -/* 0DBB48 7F0A7018 354A0903 */ ori $t2, (0xBA000903 & 0xFFFF) # ori $t2, $t2, 0x903 -/* 0DBB4C 7F0A701C 240B0C00 */ li $t3, 3072 -/* 0DBB50 7F0A7020 AC4B0004 */ sw $t3, 4($v0) -/* 0DBB54 7F0A7024 AC4A0000 */ sw $t2, ($v0) -/* 0DBB58 7F0A7028 3C0EFFFE */ lui $t6, (0xFFFE793C >> 16) # lui $t6, 0xfffe -/* 0DBB5C 7F0A702C 3C0CFCFF */ lui $t4, (0xFCFFFFFF >> 16) # lui $t4, 0xfcff -/* 0DBB60 7F0A7030 358CFFFF */ ori $t4, (0xFCFFFFFF & 0xFFFF) # ori $t4, $t4, 0xffff -/* 0DBB64 7F0A7034 35CE793C */ ori $t6, (0xFFFE793C & 0xFFFF) # ori $t6, $t6, 0x793c -/* 0DBB68 7F0A7038 24850008 */ addiu $a1, $a0, 8 -/* 0DBB6C 7F0A703C AC8E0004 */ sw $t6, 4($a0) -/* 0DBB70 7F0A7040 AC8C0000 */ sw $t4, ($a0) -/* 0DBB74 7F0A7044 3C0FBA00 */ lui $t7, (0xBA000801 >> 16) # lui $t7, 0xba00 -/* 0DBB78 7F0A7048 35EF0801 */ ori $t7, (0xBA000801 & 0xFFFF) # ori $t7, $t7, 0x801 -/* 0DBB7C 7F0A704C 24A60008 */ addiu $a2, $a1, 8 -/* 0DBB80 7F0A7050 ACAF0000 */ sw $t7, ($a1) -/* 0DBB84 7F0A7054 ACA00004 */ sw $zero, 4($a1) -/* 0DBB88 7F0A7058 3C18B900 */ lui $t8, (0xB9000002 >> 16) # lui $t8, 0xb900 -/* 0DBB8C 7F0A705C 37180002 */ ori $t8, (0xB9000002 & 0xFFFF) # ori $t8, $t8, 2 -/* 0DBB90 7F0A7060 24C70008 */ addiu $a3, $a2, 8 -/* 0DBB94 7F0A7064 ACD80000 */ sw $t8, ($a2) -/* 0DBB98 7F0A7068 ACC00004 */ sw $zero, 4($a2) -/* 0DBB9C 7F0A706C 3C0D0F0A */ lui $t5, (0x0F0A4000 >> 16) # lui $t5, 0xf0a -/* 0DBBA0 7F0A7070 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0DBBA4 7F0A7074 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0DBBA8 7F0A7078 35AD4000 */ ori $t5, (0x0F0A4000 & 0xFFFF) # ori $t5, $t5, 0x4000 -/* 0DBBAC 7F0A707C ACED0004 */ sw $t5, 4($a3) -/* 0DBBB0 7F0A7080 ACF90000 */ sw $t9, ($a3) -/* 0DBBB4 7F0A7084 24E30008 */ addiu $v1, $a3, 8 -/* 0DBBB8 7F0A7088 3C09BA00 */ lui $t1, (0xBA000602 >> 16) # lui $t1, 0xba00 -/* 0DBBBC 7F0A708C 35290602 */ ori $t1, (0xBA000602 & 0xFFFF) # ori $t1, $t1, 0x602 -/* 0DBBC0 7F0A7090 AC690000 */ sw $t1, ($v1) -/* 0DBBC4 7F0A7094 AC600004 */ sw $zero, 4($v1) -/* 0DBBC8 7F0A7098 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DBBCC 7F0A709C 24620008 */ addiu $v0, $v1, 8 -/* 0DBBD0 7F0A70A0 27BD0058 */ addiu $sp, $sp, 0x58 -/* 0DBBD4 7F0A70A4 03E00008 */ jr $ra -/* 0DBBD8 7F0A70A8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A70AC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A70AC -/* 0DBBDC 7F0A70AC 00001025 */ move $v0, $zero -/* 0DBBE0 7F0A70B0 00A01825 */ move $v1, $a1 -/* 0DBBE4 7F0A70B4 24070070 */ li $a3, 112 -/* 0DBBE8 7F0A70B8 24060020 */ li $a2, 32 -.L7F0A70BC: -/* 0DBBEC 7F0A70BC 24420001 */ addiu $v0, $v0, 1 -/* 0DBBF0 7F0A70C0 28410014 */ slti $at, $v0, 0x14 -/* 0DBBF4 7F0A70C4 24630010 */ addiu $v1, $v1, 0x10 -/* 0DBBF8 7F0A70C8 A066FFFC */ sb $a2, -4($v1) -/* 0DBBFC 7F0A70CC A067FFFD */ sb $a3, -3($v1) -/* 0DBC00 7F0A70D0 1420FFFA */ bnez $at, .L7F0A70BC -/* 0DBC04 7F0A70D4 A066FFFE */ sb $a2, -2($v1) -/* 0DBC08 7F0A70D8 00041880 */ sll $v1, $a0, 2 -/* 0DBC0C 7F0A70DC 24660003 */ addiu $a2, $v1, 3 -/* 0DBC10 7F0A70E0 00C3082A */ slt $at, $a2, $v1 -/* 0DBC14 7F0A70E4 14200017 */ bnez $at, .L7F0A7144 -/* 0DBC18 7F0A70E8 00037100 */ sll $t6, $v1, 4 -/* 0DBC1C 7F0A70EC 00067900 */ sll $t7, $a2, 4 -/* 0DBC20 7F0A70F0 01E52021 */ addu $a0, $t7, $a1 -/* 0DBC24 7F0A70F4 3C068004 */ lui $a2, %hi(watch_soundrelated_maybe) -/* 0DBC28 7F0A70F8 00AE1821 */ addu $v1, $a1, $t6 -/* 0DBC2C 7F0A70FC 240500F0 */ li $a1, 240 -/* 0DBC30 7F0A7100 24C609A8 */ addiu $a2, %lo(watch_soundrelated_maybe) # addiu $a2, $a2, 0x9a8 -/* 0DBC34 7F0A7104 240800A0 */ li $t0, 160 -/* 0DBC38 7F0A7108 24070030 */ li $a3, 48 -/* 0DBC3C 7F0A710C 24020050 */ li $v0, 80 -/* 0DBC40 7F0A7110 A062000C */ sb $v0, 0xc($v1) -.L7F0A7114: -/* 0DBC44 7F0A7114 A065000D */ sb $a1, 0xd($v1) -/* 0DBC48 7F0A7118 A062000E */ sb $v0, 0xe($v1) -/* 0DBC4C 7F0A711C 8CD80000 */ lw $t8, ($a2) -/* 0DBC50 7F0A7120 53000005 */ beql $t8, $zero, .L7F0A7138 -/* 0DBC54 7F0A7124 24630010 */ addiu $v1, $v1, 0x10 -/* 0DBC58 7F0A7128 A067000C */ sb $a3, 0xc($v1) -/* 0DBC5C 7F0A712C A068000D */ sb $t0, 0xd($v1) -/* 0DBC60 7F0A7130 A067000E */ sb $a3, 0xe($v1) -/* 0DBC64 7F0A7134 24630010 */ addiu $v1, $v1, 0x10 -.L7F0A7138: -/* 0DBC68 7F0A7138 0083082B */ sltu $at, $a0, $v1 -/* 0DBC6C 7F0A713C 5020FFF5 */ beql $at, $zero, .L7F0A7114 -/* 0DBC70 7F0A7140 A062000C */ sb $v0, 0xc($v1) -.L7F0A7144: -/* 0DBC74 7F0A7144 03E00008 */ jr $ra -/* 0DBC78 7F0A7148 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A714C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058508 -.word 0x3d4ccccd /*0.050000001*/ -.text -glabel sub_GAME_7F0A714C -/* 0DBC7C 7F0A714C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0DBC80 7F0A7150 AFB00018 */ sw $s0, 0x18($sp) -/* 0DBC84 7F0A7154 00808025 */ move $s0, $a0 -/* 0DBC88 7F0A7158 AFBF001C */ sw $ra, 0x1c($sp) -/* 0DBC8C 7F0A715C AFA50054 */ sw $a1, 0x54($sp) -/* 0DBC90 7F0A7160 AFA60058 */ sw $a2, 0x58($sp) -/* 0DBC94 7F0A7164 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 0DBC98 7F0A7168 2404001E */ li $a0, 30 -/* 0DBC9C 7F0A716C AFA20048 */ sw $v0, 0x48($sp) -/* 0DBCA0 7F0A7170 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 0DBCA4 7F0A7174 2404001E */ li $a0, 30 -/* 0DBCA8 7F0A7178 AFA20044 */ sw $v0, 0x44($sp) -/* 0DBCAC 7F0A717C 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 0DBCB0 7F0A7180 240400F8 */ li $a0, 248 -/* 0DBCB4 7F0A7184 AFA20040 */ sw $v0, 0x40($sp) -/* 0DBCB8 7F0A7188 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 0DBCBC 7F0A718C 240400F8 */ li $a0, 248 -/* 0DBCC0 7F0A7190 AFA2003C */ sw $v0, 0x3c($sp) -/* 0DBCC4 7F0A7194 02001825 */ move $v1, $s0 -/* 0DBCC8 7F0A7198 26100008 */ addiu $s0, $s0, 8 -/* 0DBCCC 7F0A719C 3C0EE700 */ lui $t6, 0xe700 -/* 0DBCD0 7F0A71A0 AC6E0000 */ sw $t6, ($v1) -/* 0DBCD4 7F0A71A4 02002025 */ move $a0, $s0 -/* 0DBCD8 7F0A71A8 AC600004 */ sw $zero, 4($v1) -/* 0DBCDC 7F0A71AC 26100008 */ addiu $s0, $s0, 8 -/* 0DBCE0 7F0A71B0 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 0DBCE4 7F0A71B4 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 0DBCE8 7F0A71B8 02002825 */ move $a1, $s0 -/* 0DBCEC 7F0A71BC AC8F0000 */ sw $t7, ($a0) -/* 0DBCF0 7F0A71C0 AC800004 */ sw $zero, 4($a0) -/* 0DBCF4 7F0A71C4 26100008 */ addiu $s0, $s0, 8 -/* 0DBCF8 7F0A71C8 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0DBCFC 7F0A71CC 3C190050 */ lui $t9, (0x005041C8 >> 16) # lui $t9, 0x50 -/* 0DBD00 7F0A71D0 373941C8 */ ori $t9, (0x005041C8 & 0xFFFF) # ori $t9, $t9, 0x41c8 -/* 0DBD04 7F0A71D4 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0DBD08 7F0A71D8 02003025 */ move $a2, $s0 -/* 0DBD0C 7F0A71DC ACB80000 */ sw $t8, ($a1) -/* 0DBD10 7F0A71E0 ACB90004 */ sw $t9, 4($a1) -/* 0DBD14 7F0A71E4 26100008 */ addiu $s0, $s0, 8 -/* 0DBD18 7F0A71E8 3C0AFCFF */ lui $t2, (0xFCFFFFFF >> 16) # lui $t2, 0xfcff -/* 0DBD1C 7F0A71EC 3C0BFFFE */ lui $t3, (0xFFFE793C >> 16) # lui $t3, 0xfffe -/* 0DBD20 7F0A71F0 356B793C */ ori $t3, (0xFFFE793C & 0xFFFF) # ori $t3, $t3, 0x793c -/* 0DBD24 7F0A71F4 354AFFFF */ ori $t2, (0xFCFFFFFF & 0xFFFF) # ori $t2, $t2, 0xffff -/* 0DBD28 7F0A71F8 02003825 */ move $a3, $s0 -/* 0DBD2C 7F0A71FC ACCA0000 */ sw $t2, ($a2) -/* 0DBD30 7F0A7200 ACCB0004 */ sw $t3, 4($a2) -/* 0DBD34 7F0A7204 3C0DE6E6 */ lui $t5, (0xE6E6E600 >> 16) # lui $t5, 0xe6e6 -/* 0DBD38 7F0A7208 35ADE600 */ ori $t5, (0xE6E6E600 & 0xFFFF) # ori $t5, $t5, 0xe600 -/* 0DBD3C 7F0A720C 26100008 */ addiu $s0, $s0, 8 -/* 0DBD40 7F0A7210 3C0CFA00 */ lui $t4, 0xfa00 -/* 0DBD44 7F0A7214 3C0E0102 */ lui $t6, (0x01020040 >> 16) # lui $t6, 0x102 -/* 0DBD48 7F0A7218 ACEC0000 */ sw $t4, ($a3) -/* 0DBD4C 7F0A721C ACED0004 */ sw $t5, 4($a3) -/* 0DBD50 7F0A7220 35CE0040 */ ori $t6, (0x01020040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 0DBD54 7F0A7224 02001025 */ move $v0, $s0 -/* 0DBD58 7F0A7228 AC4E0000 */ sw $t6, ($v0) -/* 0DBD5C 7F0A722C 8FAF0054 */ lw $t7, 0x54($sp) -/* 0DBD60 7F0A7230 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DBD64 7F0A7234 44811000 */ mtc1 $at, $f2 -/* 0DBD68 7F0A7238 AC4F0004 */ sw $t7, 4($v0) -/* 0DBD6C 7F0A723C 26100008 */ addiu $s0, $s0, 8 -/* 0DBD70 7F0A7240 0FC1F97F */ jal check_watch_page_transistion_running -/* 0DBD74 7F0A7244 E7A20020 */ swc1 $f2, 0x20($sp) -/* 0DBD78 7F0A7248 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DBD7C 7F0A724C 44816000 */ mtc1 $at, $f12 -/* 0DBD80 7F0A7250 10400017 */ beqz $v0, .L7F0A72B0 -/* 0DBD84 7F0A7254 C7A20020 */ lwc1 $f2, 0x20($sp) -/* 0DBD88 7F0A7258 3C028008 */ lui $v0, %hi(pPlayer) -/* 0DBD8C 7F0A725C 8C42A0B0 */ lw $v0, %lo(pPlayer)($v0) -/* 0DBD90 7F0A7260 C44411CC */ lwc1 $f4, 0x11cc($v0) -/* 0DBD94 7F0A7264 C44611C8 */ lwc1 $f6, 0x11c8($v0) -/* 0DBD98 7F0A7268 C44A11BC */ lwc1 $f10, 0x11bc($v0) -/* 0DBD9C 7F0A726C C45211C0 */ lwc1 $f18, 0x11c0($v0) -/* 0DBDA0 7F0A7270 46062201 */ sub.s $f8, $f4, $f6 -/* 0DBDA4 7F0A7274 44802000 */ mtc1 $zero, $f4 -/* 0DBDA8 7F0A7278 46085402 */ mul.s $f16, $f10, $f8 -/* 0DBDAC 7F0A727C 46128083 */ div.s $f2, $f16, $f18 -/* 0DBDB0 7F0A7280 4604103C */ c.lt.s $f2, $f4 -/* 0DBDB4 7F0A7284 00000000 */ nop -/* 0DBDB8 7F0A7288 45020003 */ bc1fl .L7F0A7298 -/* 0DBDBC 7F0A728C 4602603C */ c.lt.s $f12, $f2 -/* 0DBDC0 7F0A7290 46001087 */ neg.s $f2, $f2 -/* 0DBDC4 7F0A7294 4602603C */ c.lt.s $f12, $f2 -.L7F0A7298: -/* 0DBDC8 7F0A7298 00000000 */ nop -/* 0DBDCC 7F0A729C 45000002 */ bc1f .L7F0A72A8 -/* 0DBDD0 7F0A72A0 00000000 */ nop -/* 0DBDD4 7F0A72A4 46006086 */ mov.s $f2, $f12 -.L7F0A72A8: -/* 0DBDD8 7F0A72A8 46021082 */ mul.s $f2, $f2, $f2 -/* 0DBDDC 7F0A72AC 00000000 */ nop -.L7F0A72B0: -/* 0DBDE0 7F0A72B0 8FB80058 */ lw $t8, 0x58($sp) -/* 0DBDE4 7F0A72B4 24010001 */ li $at, 1 -/* 0DBDE8 7F0A72B8 3C088004 */ lui $t0, %hi(D_80040B04) -/* 0DBDEC 7F0A72BC 17010010 */ bne $t8, $at, .L7F0A7300 -/* 0DBDF0 7F0A72C0 25080B04 */ addiu $t0, %lo(D_80040B04) # addiu $t0, $t0, 0xb04 -/* 0DBDF4 7F0A72C4 3C018006 */ lui $at, %hi(D_80058508) -/* 0DBDF8 7F0A72C8 C4228508 */ lwc1 $f2, %lo(D_80058508)($at) -/* 0DBDFC 7F0A72CC 241900E0 */ li $t9, 224 -/* 0DBE00 7F0A72D0 AD190000 */ sw $t9, ($t0) -/* 0DBE04 7F0A72D4 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0DBE08 7F0A72D8 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0DBE0C 7F0A72DC 24010004 */ li $at, 4 -/* 0DBE10 7F0A72E0 8D4201C8 */ lw $v0, 0x1c8($t2) -/* 0DBE14 7F0A72E4 10410003 */ beq $v0, $at, .L7F0A72F4 -/* 0DBE18 7F0A72E8 24010006 */ li $at, 6 -/* 0DBE1C 7F0A72EC 54410005 */ bnel $v0, $at, .L7F0A7304 -/* 0DBE20 7F0A72F0 3C013E80 */ lui $at, 0x3e80 -.L7F0A72F4: -/* 0DBE24 7F0A72F4 0FC1F9D0 */ jal sub_GAME_7F07E740 -/* 0DBE28 7F0A72F8 00000000 */ nop -/* 0DBE2C 7F0A72FC 46000086 */ mov.s $f2, $f0 -.L7F0A7300: -/* 0DBE30 7F0A7300 3C013E80 */ li $at, 0x3E800000 # 0.250000 -.L7F0A7304: -/* 0DBE34 7F0A7304 44810000 */ mtc1 $at, $f0 -/* 0DBE38 7F0A7308 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007B0A0) -/* 0DBE3C 7F0A730C 2484B0A0 */ addiu $a0, %lo(dword_CODE_bss_8007B0A0) # addiu $a0, $a0, -0x4f60 -/* 0DBE40 7F0A7310 44050000 */ mfc1 $a1, $f0 -/* 0DBE44 7F0A7314 44060000 */ mfc1 $a2, $f0 -/* 0DBE48 7F0A7318 44070000 */ mfc1 $a3, $f0 -/* 0DBE4C 7F0A731C 0C005BB9 */ jal guScale -/* 0DBE50 7F0A7320 E7A20020 */ swc1 $f2, 0x20($sp) -/* 0DBE54 7F0A7324 C7A20020 */ lwc1 $f2, 0x20($sp) -/* 0DBE58 7F0A7328 02001025 */ move $v0, $s0 -/* 0DBE5C 7F0A732C 3C0B0100 */ lui $t3, (0x01000040 >> 16) # lui $t3, 0x100 -/* 0DBE60 7F0A7330 3C0C8008 */ lui $t4, %hi(dword_CODE_bss_8007B0A0) -/* 0DBE64 7F0A7334 258CB0A0 */ addiu $t4, %lo(dword_CODE_bss_8007B0A0) # addiu $t4, $t4, -0x4f60 -/* 0DBE68 7F0A7338 356B0040 */ ori $t3, (0x01000040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 0DBE6C 7F0A733C AC4B0000 */ sw $t3, ($v0) -/* 0DBE70 7F0A7340 AC4C0004 */ sw $t4, 4($v0) -/* 0DBE74 7F0A7344 8FAD0058 */ lw $t5, 0x58($sp) -/* 0DBE78 7F0A7348 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DBE7C 7F0A734C 44816000 */ mtc1 $at, $f12 -/* 0DBE80 7F0A7350 15A0001B */ bnez $t5, .L7F0A73C0 -/* 0DBE84 7F0A7354 26100008 */ addiu $s0, $s0, 8 -/* 0DBE88 7F0A7358 02001025 */ move $v0, $s0 -/* 0DBE8C 7F0A735C 26100008 */ addiu $s0, $s0, 8 -/* 0DBE90 7F0A7360 3C0EB600 */ lui $t6, 0xb600 -/* 0DBE94 7F0A7364 240F3000 */ li $t7, 12288 -/* 0DBE98 7F0A7368 AC4F0004 */ sw $t7, 4($v0) -/* 0DBE9C 7F0A736C AC4E0000 */ sw $t6, ($v0) -/* 0DBEA0 7F0A7370 02001825 */ move $v1, $s0 -/* 0DBEA4 7F0A7374 3C180600 */ lui $t8, 0x600 -/* 0DBEA8 7F0A7378 AC780000 */ sw $t8, ($v1) -/* 0DBEAC 7F0A737C 3C198008 */ lui $t9, %hi(pPlayer) -/* 0DBEB0 7F0A7380 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0DBEB4 7F0A7384 3C018000 */ lui $at, (0x800019F8 >> 16) -/* 0DBEB8 7F0A7388 342119F8 */ ori $at, (0x800019F8 & 0xFFFF) # ori $at, $at, 0x19f8 -/* 0DBEBC 7F0A738C 26100008 */ addiu $s0, $s0, 8 -/* 0DBEC0 7F0A7390 03215021 */ addu $t2, $t9, $at -/* 0DBEC4 7F0A7394 AC6A0004 */ sw $t2, 4($v1) -/* 0DBEC8 7F0A7398 02002025 */ move $a0, $s0 -/* 0DBECC 7F0A739C 3C0B0600 */ lui $t3, 0x600 -/* 0DBED0 7F0A73A0 AC8B0000 */ sw $t3, ($a0) -/* 0DBED4 7F0A73A4 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0DBED8 7F0A73A8 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0DBEDC 7F0A73AC 3C018000 */ lui $at, (0x80002128 >> 16) -/* 0DBEE0 7F0A73B0 34212128 */ ori $at, (0x80002128 & 0xFFFF) # ori $at, $at, 0x2128 -/* 0DBEE4 7F0A73B4 01816821 */ addu $t5, $t4, $at -/* 0DBEE8 7F0A73B8 AC8D0004 */ sw $t5, 4($a0) -/* 0DBEEC 7F0A73BC 26100008 */ addiu $s0, $s0, 8 -.L7F0A73C0: -/* 0DBEF0 7F0A73C0 3C048008 */ lui $a0, %hi(dword_CODE_bss_8007B0E0) -/* 0DBEF4 7F0A73C4 44056000 */ mfc1 $a1, $f12 -/* 0DBEF8 7F0A73C8 44066000 */ mfc1 $a2, $f12 -/* 0DBEFC 7F0A73CC 44071000 */ mfc1 $a3, $f2 -/* 0DBF00 7F0A73D0 0C005BB9 */ jal guScale -/* 0DBF04 7F0A73D4 2484B0E0 */ addiu $a0, %lo(dword_CODE_bss_8007B0E0) # addiu $a0, $a0, -0x4f20 -/* 0DBF08 7F0A73D8 02001025 */ move $v0, $s0 -/* 0DBF0C 7F0A73DC 3C0E0100 */ lui $t6, (0x01000040 >> 16) # lui $t6, 0x100 -/* 0DBF10 7F0A73E0 3C0F8008 */ lui $t7, %hi(dword_CODE_bss_8007B0E0) -/* 0DBF14 7F0A73E4 25EFB0E0 */ addiu $t7, %lo(dword_CODE_bss_8007B0E0) # addiu $t7, $t7, -0x4f20 -/* 0DBF18 7F0A73E8 35CE0040 */ ori $t6, (0x01000040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 0DBF1C 7F0A73EC AC4E0000 */ sw $t6, ($v0) -/* 0DBF20 7F0A73F0 AC4F0004 */ sw $t7, 4($v0) -/* 0DBF24 7F0A73F4 8FB80058 */ lw $t8, 0x58($sp) -/* 0DBF28 7F0A73F8 24010001 */ li $at, 1 -/* 0DBF2C 7F0A73FC 26100008 */ addiu $s0, $s0, 8 -/* 0DBF30 7F0A7400 1701001B */ bne $t8, $at, .L7F0A7470 -/* 0DBF34 7F0A7404 2405001E */ li $a1, 30 -/* 0DBF38 7F0A7408 02001025 */ move $v0, $s0 -/* 0DBF3C 7F0A740C 26100008 */ addiu $s0, $s0, 8 -/* 0DBF40 7F0A7410 3C19B600 */ lui $t9, 0xb600 -/* 0DBF44 7F0A7414 240A3000 */ li $t2, 12288 -/* 0DBF48 7F0A7418 AC4A0004 */ sw $t2, 4($v0) -/* 0DBF4C 7F0A741C AC590000 */ sw $t9, ($v0) -/* 0DBF50 7F0A7420 02001825 */ move $v1, $s0 -/* 0DBF54 7F0A7424 3C0B0600 */ lui $t3, 0x600 -/* 0DBF58 7F0A7428 AC6B0000 */ sw $t3, ($v1) -/* 0DBF5C 7F0A742C 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0DBF60 7F0A7430 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0DBF64 7F0A7434 3C018000 */ lui $at, (0x800019F8 >> 16) -/* 0DBF68 7F0A7438 342119F8 */ ori $at, (0x800019F8 & 0xFFFF) # ori $at, $at, 0x19f8 -/* 0DBF6C 7F0A743C 26100008 */ addiu $s0, $s0, 8 -/* 0DBF70 7F0A7440 01816821 */ addu $t5, $t4, $at -/* 0DBF74 7F0A7444 AC6D0004 */ sw $t5, 4($v1) -/* 0DBF78 7F0A7448 02002025 */ move $a0, $s0 -/* 0DBF7C 7F0A744C 3C0E0600 */ lui $t6, 0x600 -/* 0DBF80 7F0A7450 AC8E0000 */ sw $t6, ($a0) -/* 0DBF84 7F0A7454 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0DBF88 7F0A7458 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0DBF8C 7F0A745C 3C018000 */ lui $at, (0x80002128 >> 16) -/* 0DBF90 7F0A7460 34212128 */ ori $at, (0x80002128 & 0xFFFF) # ori $at, $at, 0x2128 -/* 0DBF94 7F0A7464 01E1C021 */ addu $t8, $t7, $at -/* 0DBF98 7F0A7468 AC980004 */ sw $t8, 4($a0) -/* 0DBF9C 7F0A746C 26100008 */ addiu $s0, $s0, 8 -.L7F0A7470: -/* 0DBFA0 7F0A7470 3C063F6B */ lui $a2, %hi(0x3F6B0004) # $a2, 0x3f6b -/* 0DBFA4 7F0A7474 34C6851F */ ori $a2, (0x3F6B851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 0DBFA8 7F0A7478 8FA40044 */ lw $a0, 0x44($sp) -/* 0DBFAC 7F0A747C 0FC28CFE */ jal sub_GAME_7F0A33F8 -/* 0DBFB0 7F0A7480 00003825 */ move $a3, $zero -/* 0DBFB4 7F0A7484 8FA50044 */ lw $a1, 0x44($sp) -/* 0DBFB8 7F0A7488 3C018000 */ lui $at, 0x8000 -/* 0DBFBC 7F0A748C 8FA4003C */ lw $a0, 0x3c($sp) -/* 0DBFC0 7F0A7490 2406001E */ li $a2, 30 -/* 0DBFC4 7F0A7494 00003825 */ move $a3, $zero -/* 0DBFC8 7F0A7498 0FC28E5E */ jal sub_GAME_7F0A3978 -/* 0DBFCC 7F0A749C 00A12821 */ addu $a1, $a1, $at -/* 0DBFD0 7F0A74A0 02001825 */ move $v1, $s0 -/* 0DBFD4 7F0A74A4 26100008 */ addiu $s0, $s0, 8 -/* 0DBFD8 7F0A74A8 3C09E700 */ lui $t1, 0xe700 -/* 0DBFDC 7F0A74AC 02002025 */ move $a0, $s0 -/* 0DBFE0 7F0A74B0 AC690000 */ sw $t1, ($v1) -/* 0DBFE4 7F0A74B4 AC600004 */ sw $zero, 4($v1) -/* 0DBFE8 7F0A74B8 26100008 */ addiu $s0, $s0, 8 -/* 0DBFEC 7F0A74BC 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0DBFF0 7F0A74C0 3C0A0050 */ lui $t2, (0x00504240 >> 16) # lui $t2, 0x50 -/* 0DBFF4 7F0A74C4 354A4240 */ ori $t2, (0x00504240 & 0xFFFF) # ori $t2, $t2, 0x4240 -/* 0DBFF8 7F0A74C8 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0DBFFC 7F0A74CC 02002825 */ move $a1, $s0 -/* 0DC000 7F0A74D0 AC990000 */ sw $t9, ($a0) -/* 0DC004 7F0A74D4 AC8A0004 */ sw $t2, 4($a0) -/* 0DC008 7F0A74D8 26100008 */ addiu $s0, $s0, 8 -/* 0DC00C 7F0A74DC 3C0BFCFF */ lui $t3, (0xFCFFFFFF >> 16) # lui $t3, 0xfcff -/* 0DC010 7F0A74E0 3C0CFFFD */ lui $t4, (0xFFFDF6FB >> 16) # lui $t4, 0xfffd -/* 0DC014 7F0A74E4 358CF6FB */ ori $t4, (0xFFFDF6FB & 0xFFFF) # ori $t4, $t4, 0xf6fb -/* 0DC018 7F0A74E8 356BFFFF */ ori $t3, (0xFCFFFFFF & 0xFFFF) # ori $t3, $t3, 0xffff -/* 0DC01C 7F0A74EC 02003025 */ move $a2, $s0 -/* 0DC020 7F0A74F0 ACAB0000 */ sw $t3, ($a1) -/* 0DC024 7F0A74F4 ACAC0004 */ sw $t4, 4($a1) -/* 0DC028 7F0A74F8 26100008 */ addiu $s0, $s0, 8 -/* 0DC02C 7F0A74FC 3C0DFA00 */ lui $t5, 0xfa00 -/* 0DC030 7F0A7500 3C0E00FF */ lui $t6, 0xff -/* 0DC034 7F0A7504 ACCE0004 */ sw $t6, %lo(0x3F6B0004)($a2) -/* 0DC038 7F0A7508 ACCD0000 */ sw $t5, ($a2) -/* 0DC03C 7F0A750C 02003825 */ move $a3, $s0 -/* 0DC040 7F0A7510 3C0F0600 */ lui $t7, 0x600 -/* 0DC044 7F0A7514 ACEF0000 */ sw $t7, ($a3) -/* 0DC048 7F0A7518 8FB8003C */ lw $t8, 0x3c($sp) -/* 0DC04C 7F0A751C 3C018000 */ lui $at, 0x8000 -/* 0DC050 7F0A7520 26100008 */ addiu $s0, $s0, 8 -/* 0DC054 7F0A7524 0301C821 */ addu $t9, $t8, $at -/* 0DC058 7F0A7528 ACF90004 */ sw $t9, 4($a3) -/* 0DC05C 7F0A752C 02001025 */ move $v0, $s0 -/* 0DC060 7F0A7530 3C088004 */ lui $t0, %hi(D_80040B04) -/* 0DC064 7F0A7534 25080B04 */ addiu $t0, %lo(D_80040B04) # addiu $t0, $t0, 0xb04 -/* 0DC068 7F0A7538 AC490000 */ sw $t1, ($v0) -/* 0DC06C 7F0A753C AC400004 */ sw $zero, 4($v0) -/* 0DC070 7F0A7540 8D0A0000 */ lw $t2, ($t0) -/* 0DC074 7F0A7544 26100008 */ addiu $s0, $s0, 8 -/* 0DC078 7F0A7548 8FA40048 */ lw $a0, 0x48($sp) -/* 0DC07C 7F0A754C 294100E0 */ slti $at, $t2, 0xe0 -/* 0DC080 7F0A7550 10200019 */ beqz $at, .L7F0A75B8 -/* 0DC084 7F0A7554 2405001E */ li $a1, 30 -/* 0DC088 7F0A7558 3C063F66 */ lui $a2, (0x3F666666 >> 16) # lui $a2, 0x3f66 -/* 0DC08C 7F0A755C 34C66666 */ ori $a2, (0x3F666666 & 0xFFFF) # ori $a2, $a2, 0x6666 -/* 0DC090 7F0A7560 8FA40048 */ lw $a0, 0x48($sp) -/* 0DC094 7F0A7564 2405001E */ li $a1, 30 -/* 0DC098 7F0A7568 0FC28CFE */ jal sub_GAME_7F0A33F8 -/* 0DC09C 7F0A756C 00003825 */ move $a3, $zero -/* 0DC0A0 7F0A7570 8FA50048 */ lw $a1, 0x48($sp) -/* 0DC0A4 7F0A7574 3C018000 */ lui $at, 0x8000 -/* 0DC0A8 7F0A7578 8FA40040 */ lw $a0, 0x40($sp) -/* 0DC0AC 7F0A757C 2406001E */ li $a2, 30 -/* 0DC0B0 7F0A7580 00003825 */ move $a3, $zero -/* 0DC0B4 7F0A7584 0FC28E5E */ jal sub_GAME_7F0A3978 -/* 0DC0B8 7F0A7588 00A12821 */ addu $a1, $a1, $at -/* 0DC0BC 7F0A758C 02001825 */ move $v1, $s0 -/* 0DC0C0 7F0A7590 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 -/* 0DC0C4 7F0A7594 3C0C0050 */ lui $t4, (0x0050004B >> 16) # lui $t4, 0x50 -/* 0DC0C8 7F0A7598 3C088004 */ lui $t0, %hi(D_80040B04) -/* 0DC0CC 7F0A759C 358C004B */ ori $t4, (0x0050004B & 0xFFFF) # ori $t4, $t4, 0x4b -/* 0DC0D0 7F0A75A0 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d -/* 0DC0D4 7F0A75A4 25080B04 */ addiu $t0, %lo(D_80040B04) # addiu $t0, $t0, 0xb04 -/* 0DC0D8 7F0A75A8 AC6B0000 */ sw $t3, ($v1) -/* 0DC0DC 7F0A75AC AC6C0004 */ sw $t4, 4($v1) -/* 0DC0E0 7F0A75B0 10000016 */ b .L7F0A760C -/* 0DC0E4 7F0A75B4 26100008 */ addiu $s0, $s0, 8 -.L7F0A75B8: -/* 0DC0E8 7F0A75B8 3C063F66 */ lui $a2, %hi(0x3F660004) # $a2, 0x3f66 -/* 0DC0EC 7F0A75BC 34C66666 */ ori $a2, (0x3F666666 & 0xFFFF) # ori $a2, $a2, 0x6666 -/* 0DC0F0 7F0A75C0 0FC28CFE */ jal sub_GAME_7F0A33F8 -/* 0DC0F4 7F0A75C4 24070001 */ li $a3, 1 -/* 0DC0F8 7F0A75C8 8FA50048 */ lw $a1, 0x48($sp) -/* 0DC0FC 7F0A75CC 3C018000 */ lui $at, 0x8000 -/* 0DC100 7F0A75D0 8FA40040 */ lw $a0, 0x40($sp) -/* 0DC104 7F0A75D4 2406001E */ li $a2, 30 -/* 0DC108 7F0A75D8 24070001 */ li $a3, 1 -/* 0DC10C 7F0A75DC 0FC28E5E */ jal sub_GAME_7F0A3978 -/* 0DC110 7F0A75E0 00A12821 */ addu $a1, $a1, $at -/* 0DC114 7F0A75E4 02001825 */ move $v1, $s0 -/* 0DC118 7F0A75E8 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 0DC11C 7F0A75EC 3C0E0050 */ lui $t6, (0x005041C8 >> 16) # lui $t6, 0x50 -/* 0DC120 7F0A75F0 3C088004 */ lui $t0, %hi(D_80040B04) -/* 0DC124 7F0A75F4 35CE41C8 */ ori $t6, (0x005041C8 & 0xFFFF) # ori $t6, $t6, 0x41c8 -/* 0DC128 7F0A75F8 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 0DC12C 7F0A75FC 25080B04 */ addiu $t0, %lo(D_80040B04) # addiu $t0, $t0, 0xb04 -/* 0DC130 7F0A7600 AC6D0000 */ sw $t5, ($v1) -/* 0DC134 7F0A7604 AC6E0004 */ sw $t6, 4($v1) -/* 0DC138 7F0A7608 26100008 */ addiu $s0, $s0, 8 -.L7F0A760C: -/* 0DC13C 7F0A760C 02001025 */ move $v0, $s0 -/* 0DC140 7F0A7610 3C07FFFE */ lui $a3, (0xFFFE793C >> 16) # lui $a3, 0xfffe -/* 0DC144 7F0A7614 3C0FFCFF */ lui $t7, (0xFCFFFFFF >> 16) # lui $t7, 0xfcff -/* 0DC148 7F0A7618 34E7793C */ ori $a3, (0xFFFE793C & 0xFFFF) # ori $a3, $a3, 0x793c -/* 0DC14C 7F0A761C 35EFFFFF */ ori $t7, (0xFCFFFFFF & 0xFFFF) # ori $t7, $t7, 0xffff -/* 0DC150 7F0A7620 26100008 */ addiu $s0, $s0, 8 -/* 0DC154 7F0A7624 AC4F0000 */ sw $t7, ($v0) -/* 0DC158 7F0A7628 AC470004 */ sw $a3, 4($v0) -/* 0DC15C 7F0A762C 02001825 */ move $v1, $s0 -/* 0DC160 7F0A7630 3C180600 */ lui $t8, 0x600 -/* 0DC164 7F0A7634 AC780000 */ sw $t8, ($v1) -/* 0DC168 7F0A7638 8FB90040 */ lw $t9, 0x40($sp) -/* 0DC16C 7F0A763C 26100008 */ addiu $s0, $s0, 8 -/* 0DC170 7F0A7640 3C018000 */ lui $at, (0x80002858 >> 16) -/* 0DC174 7F0A7644 02002025 */ move $a0, $s0 -/* 0DC178 7F0A7648 03215021 */ addu $t2, $t9, $at -/* 0DC17C 7F0A764C AC6A0004 */ sw $t2, 4($v1) -/* 0DC180 7F0A7650 26100008 */ addiu $s0, $s0, 8 -/* 0DC184 7F0A7654 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 -/* 0DC188 7F0A7658 3C0C0050 */ lui $t4, (0x00504240 >> 16) # lui $t4, 0x50 -/* 0DC18C 7F0A765C 358C4240 */ ori $t4, (0x00504240 & 0xFFFF) # ori $t4, $t4, 0x4240 -/* 0DC190 7F0A7660 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d -/* 0DC194 7F0A7664 02002825 */ move $a1, $s0 -/* 0DC198 7F0A7668 AC8B0000 */ sw $t3, ($a0) -/* 0DC19C 7F0A766C AC8C0004 */ sw $t4, 4($a0) -/* 0DC1A0 7F0A7670 ACAF0000 */ sw $t7, ($a1) -/* 0DC1A4 7F0A7674 26100008 */ addiu $s0, $s0, 8 -/* 0DC1A8 7F0A7678 ACA70004 */ sw $a3, 4($a1) -/* 0DC1AC 7F0A767C 02003025 */ move $a2, $s0 -/* 0DC1B0 7F0A7680 3C0E0600 */ lui $t6, 0x600 -/* 0DC1B4 7F0A7684 ACCE0000 */ sw $t6, ($a2) -/* 0DC1B8 7F0A7688 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0DC1BC 7F0A768C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0DC1C0 7F0A7690 34212858 */ ori $at, (0x80002858 & 0xFFFF) # ori $at, $at, 0x2858 -/* 0DC1C4 7F0A7694 26100008 */ addiu $s0, $s0, 8 -/* 0DC1C8 7F0A7698 01E1C021 */ addu $t8, $t7, $at -/* 0DC1CC 7F0A769C ACD80004 */ sw $t8, %lo(0x3F660004)($a2) -/* 0DC1D0 7F0A76A0 8D190000 */ lw $t9, ($t0) -/* 0DC1D4 7F0A76A4 8FA70048 */ lw $a3, 0x48($sp) -/* 0DC1D8 7F0A76A8 2405001E */ li $a1, 30 -/* 0DC1DC 7F0A76AC 24040002 */ li $a0, 2 -/* 0DC1E0 7F0A76B0 A0F9000F */ sb $t9, 0xf($a3) -/* 0DC1E4 7F0A76B4 8FA60044 */ lw $a2, 0x44($sp) -/* 0DC1E8 7F0A76B8 8D0A0000 */ lw $t2, ($t0) -/* 0DC1EC 7F0A76BC 24E20020 */ addiu $v0, $a3, 0x20 -/* 0DC1F0 7F0A76C0 A0CA000F */ sb $t2, 0xf($a2) -/* 0DC1F4 7F0A76C4 8D0B0000 */ lw $t3, ($t0) -/* 0DC1F8 7F0A76C8 A0EB001F */ sb $t3, 0x1f($a3) -/* 0DC1FC 7F0A76CC 8D0C0000 */ lw $t4, ($t0) -/* 0DC200 7F0A76D0 A0CC001F */ sb $t4, 0x1f($a2) -/* 0DC204 7F0A76D4 8FA30044 */ lw $v1, 0x44($sp) -/* 0DC208 7F0A76D8 24630020 */ addiu $v1, $v1, 0x20 -.L7F0A76DC: -/* 0DC20C 7F0A76DC 8D0D0000 */ lw $t5, ($t0) -/* 0DC210 7F0A76E0 24840004 */ addiu $a0, $a0, 4 -/* 0DC214 7F0A76E4 24420040 */ addiu $v0, $v0, 0x40 -/* 0DC218 7F0A76E8 A04DFFCF */ sb $t5, -0x31($v0) -/* 0DC21C 7F0A76EC 8D0E0000 */ lw $t6, ($t0) -/* 0DC220 7F0A76F0 24630040 */ addiu $v1, $v1, 0x40 -/* 0DC224 7F0A76F4 A06EFFCF */ sb $t6, -0x31($v1) -/* 0DC228 7F0A76F8 8D0F0000 */ lw $t7, ($t0) -/* 0DC22C 7F0A76FC A04FFFDF */ sb $t7, -0x21($v0) -/* 0DC230 7F0A7700 8D180000 */ lw $t8, ($t0) -/* 0DC234 7F0A7704 A078FFDF */ sb $t8, -0x21($v1) -/* 0DC238 7F0A7708 8D190000 */ lw $t9, ($t0) -/* 0DC23C 7F0A770C A059FFEF */ sb $t9, -0x11($v0) -/* 0DC240 7F0A7710 8D0A0000 */ lw $t2, ($t0) -/* 0DC244 7F0A7714 A06AFFEF */ sb $t2, -0x11($v1) -/* 0DC248 7F0A7718 8D0B0000 */ lw $t3, ($t0) -/* 0DC24C 7F0A771C A04BFFFF */ sb $t3, -1($v0) -/* 0DC250 7F0A7720 8D0C0000 */ lw $t4, ($t0) -/* 0DC254 7F0A7724 1485FFED */ bne $a0, $a1, .L7F0A76DC -/* 0DC258 7F0A7728 A06CFFFF */ sb $t4, -1($v1) -/* 0DC25C 7F0A772C 8D0D0000 */ lw $t5, ($t0) -/* 0DC260 7F0A7730 3C048008 */ lui $a0, %hi(pPlayer) -/* 0DC264 7F0A7734 29A100E0 */ slti $at, $t5, 0xe0 -/* 0DC268 7F0A7738 50200017 */ beql $at, $zero, .L7F0A7798 -/* 0DC26C 7F0A773C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0DC270 7F0A7740 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 0DC274 7F0A7744 0FC29A36 */ jal sub_GAME_7F0A68D8 -/* 0DC278 7F0A7748 248419B8 */ addiu $a0, $a0, 0x19b8 -/* 0DC27C 7F0A774C 02001025 */ move $v0, $s0 -/* 0DC280 7F0A7750 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 0DC284 7F0A7754 3C0F0050 */ lui $t7, (0x005041C8 >> 16) # lui $t7, 0x50 -/* 0DC288 7F0A7758 35EF41C8 */ ori $t7, (0x005041C8 & 0xFFFF) # ori $t7, $t7, 0x41c8 -/* 0DC28C 7F0A775C 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 0DC290 7F0A7760 26100008 */ addiu $s0, $s0, 8 -/* 0DC294 7F0A7764 AC4E0000 */ sw $t6, ($v0) -/* 0DC298 7F0A7768 AC4F0004 */ sw $t7, 4($v0) -/* 0DC29C 7F0A776C 02001825 */ move $v1, $s0 -/* 0DC2A0 7F0A7770 3C180600 */ lui $t8, 0x600 -/* 0DC2A4 7F0A7774 AC780000 */ sw $t8, ($v1) -/* 0DC2A8 7F0A7778 3C198008 */ lui $t9, %hi(pPlayer) -/* 0DC2AC 7F0A777C 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0DC2B0 7F0A7780 3C018000 */ lui $at, (0x80002998 >> 16) -/* 0DC2B4 7F0A7784 34212998 */ ori $at, (0x80002998 & 0xFFFF) # ori $at, $at, 0x2998 -/* 0DC2B8 7F0A7788 03215021 */ addu $t2, $t9, $at -/* 0DC2BC 7F0A778C AC6A0004 */ sw $t2, 4($v1) -/* 0DC2C0 7F0A7790 26100008 */ addiu $s0, $s0, 8 -/* 0DC2C4 7F0A7794 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0A7798: -/* 0DC2C8 7F0A7798 02001025 */ move $v0, $s0 -/* 0DC2CC 7F0A779C 8FB00018 */ lw $s0, 0x18($sp) -/* 0DC2D0 7F0A77A0 03E00008 */ jr $ra -/* 0DC2D4 7F0A77A4 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - - -void sub_GAME_7F0A77A8(u32 param_1,u32 param_2) -{ - sub_GAME_7F0A714C(param_1,param_2,1); -} - - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0A77C8 -/* 0DC2F8 7F0A77C8 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0DC2FC 7F0A77CC 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0DC300 7F0A77D0 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0DC304 7F0A77D4 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0DC308 7F0A77D8 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0DC30C 7F0A77DC AFB00038 */ sw $s0, 0x38($sp) -/* 0DC310 7F0A77E0 00808025 */ move $s0, $a0 -/* 0DC314 7F0A77E4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0DC318 7F0A77E8 3404AC24 */ li $a0, 44068 -/* 0DC31C 7F0A77EC AFAE005C */ sw $t6, 0x5c($sp) -/* 0DC320 7F0A77F0 0FC30776 */ jal get_textptr_for_textID -/* 0DC324 7F0A77F4 AFAF0058 */ sw $t7, 0x58($sp) -/* 0DC328 7F0A77F8 AFA20054 */ sw $v0, 0x54($sp) -/* 0DC32C 7F0A77FC 0FC30776 */ jal get_textptr_for_textID -/* 0DC330 7F0A7800 3404AC25 */ li $a0, 44069 -/* 0DC334 7F0A7804 AFA20050 */ sw $v0, 0x50($sp) -/* 0DC338 7F0A7808 0FC30776 */ jal get_textptr_for_textID -/* 0DC33C 7F0A780C 3404AC26 */ li $a0, 44070 -/* 0DC340 7F0A7810 3C038005 */ lui $v1, %hi(j_text_trigger) -/* 0DC344 7F0A7814 8C6384D0 */ lw $v1, %lo(j_text_trigger)($v1) -/* 0DC348 7F0A7818 24180051 */ li $t8, 81 -/* 0DC34C 7F0A781C AFA2004C */ sw $v0, 0x4c($sp) -/* 0DC350 7F0A7820 10600003 */ beqz $v1, .L7F0A7830 -/* 0DC354 7F0A7824 AFB8007C */ sw $t8, 0x7c($sp) -/* 0DC358 7F0A7828 10000002 */ b .L7F0A7834 -/* 0DC35C 7F0A782C 2402000F */ li $v0, 15 -.L7F0A7830: -/* 0DC360 7F0A7830 00001025 */ move $v0, $zero -.L7F0A7834: -/* 0DC364 7F0A7834 245900BD */ addiu $t9, $v0, 0xbd -/* 0DC368 7F0A7838 10600003 */ beqz $v1, .L7F0A7848 -/* 0DC36C 7F0A783C AFB90078 */ sw $t9, 0x78($sp) -/* 0DC370 7F0A7840 10000002 */ b .L7F0A784C -/* 0DC374 7F0A7844 2402000A */ li $v0, 10 -.L7F0A7848: -/* 0DC378 7F0A7848 00001025 */ move $v0, $zero -.L7F0A784C: -/* 0DC37C 7F0A784C 24480088 */ addiu $t0, $v0, 0x88 -/* 0DC380 7F0A7850 10600003 */ beqz $v1, .L7F0A7860 -/* 0DC384 7F0A7854 AFA80074 */ sw $t0, 0x74($sp) -/* 0DC388 7F0A7858 10000002 */ b .L7F0A7864 -/* 0DC38C 7F0A785C 24020003 */ li $v0, 3 -.L7F0A7860: -/* 0DC390 7F0A7860 00001025 */ move $v0, $zero -.L7F0A7864: -/* 0DC394 7F0A7864 3C098004 */ lui $t1, %hi(watch_soundrelated_maybe) -/* 0DC398 7F0A7868 8D2909A8 */ lw $t1, %lo(watch_soundrelated_maybe)($t1) -/* 0DC39C 7F0A786C 2443004C */ addiu $v1, $v0, 0x4c -/* 0DC3A0 7F0A7870 AFA3006C */ sw $v1, 0x6c($sp) -/* 0DC3A4 7F0A7874 AFA30070 */ sw $v1, 0x70($sp) -/* 0DC3A8 7F0A7878 1120001D */ beqz $t1, .L7F0A78F0 -/* 0DC3AC 7F0A787C AFA30068 */ sw $v1, 0x68($sp) -/* 0DC3B0 7F0A7880 3C038004 */ lui $v1, %hi(D_800409A4) -/* 0DC3B4 7F0A7884 8C6309A4 */ lw $v1, %lo(D_800409A4)($v1) -/* 0DC3B8 7F0A7888 1460000D */ bnez $v1, .L7F0A78C0 -/* 0DC3BC 7F0A788C 00000000 */ nop -/* 0DC3C0 7F0A7890 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DC3C4 7F0A7894 00002025 */ move $a0, $zero -/* 0DC3C8 7F0A7898 2841002E */ slti $at, $v0, 0x2e -/* 0DC3CC 7F0A789C 10200004 */ beqz $at, .L7F0A78B0 -/* 0DC3D0 7F0A78A0 00002025 */ move $a0, $zero -/* 0DC3D4 7F0A78A4 0C0030C3 */ jal get_controller_buttons_held -/* 0DC3D8 7F0A78A8 24050111 */ li $a1, 273 -/* 0DC3DC 7F0A78AC 10400010 */ beqz $v0, .L7F0A78F0 -.L7F0A78B0: -/* 0DC3E0 7F0A78B0 240A0001 */ li $t2, 1 -/* 0DC3E4 7F0A78B4 3C018004 */ lui $at, %hi(D_800409A4) -/* 0DC3E8 7F0A78B8 1000000D */ b .L7F0A78F0 -/* 0DC3EC 7F0A78BC AC2A09A4 */ sw $t2, %lo(D_800409A4)($at) -.L7F0A78C0: -/* 0DC3F0 7F0A78C0 1060000B */ beqz $v1, .L7F0A78F0 -/* 0DC3F4 7F0A78C4 00000000 */ nop -/* 0DC3F8 7F0A78C8 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DC3FC 7F0A78CC 00002025 */ move $a0, $zero -/* 0DC400 7F0A78D0 2841FFD3 */ slti $at, $v0, -0x2d -/* 0DC404 7F0A78D4 14200004 */ bnez $at, .L7F0A78E8 -/* 0DC408 7F0A78D8 00002025 */ move $a0, $zero -/* 0DC40C 7F0A78DC 0C0030C3 */ jal get_controller_buttons_held -/* 0DC410 7F0A78E0 24050222 */ li $a1, 546 -/* 0DC414 7F0A78E4 10400002 */ beqz $v0, .L7F0A78F0 -.L7F0A78E8: -/* 0DC418 7F0A78E8 3C018004 */ lui $at, %hi(D_800409A4) -/* 0DC41C 7F0A78EC AC2009A4 */ sw $zero, %lo(D_800409A4)($at) -.L7F0A78F0: -/* 0DC420 7F0A78F0 3C0B8004 */ lui $t3, %hi(watch_soundrelated_maybe) -/* 0DC424 7F0A78F4 8D6B09A8 */ lw $t3, %lo(watch_soundrelated_maybe)($t3) -/* 0DC428 7F0A78F8 27A40060 */ addiu $a0, $sp, 0x60 -/* 0DC42C 7F0A78FC 27A50064 */ addiu $a1, $sp, 0x64 -/* 0DC430 7F0A7900 1160007E */ beqz $t3, .L7F0A7AFC -/* 0DC434 7F0A7904 8FA60054 */ lw $a2, 0x54($sp) -/* 0DC438 7F0A7908 8FAC005C */ lw $t4, 0x5c($sp) -/* 0DC43C 7F0A790C 27A40060 */ addiu $a0, $sp, 0x60 -/* 0DC440 7F0A7910 27A50064 */ addiu $a1, $sp, 0x64 -/* 0DC444 7F0A7914 8FA60054 */ lw $a2, 0x54($sp) -/* 0DC448 7F0A7918 8FA70058 */ lw $a3, 0x58($sp) -/* 0DC44C 7F0A791C AFA00014 */ sw $zero, 0x14($sp) -/* 0DC450 7F0A7920 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DC454 7F0A7924 AFAC0010 */ sw $t4, 0x10($sp) -/* 0DC458 7F0A7928 8FAD0058 */ lw $t5, 0x58($sp) -/* 0DC45C 7F0A792C 8FAE005C */ lw $t6, 0x5c($sp) -/* 0DC460 7F0A7930 8FB80064 */ lw $t8, 0x64($sp) -/* 0DC464 7F0A7934 8FB90060 */ lw $t9, 0x60($sp) -/* 0DC468 7F0A7938 3C0FA0FF */ lui $t7, (0xA0FFA0F0 >> 16) # lui $t7, 0xa0ff -/* 0DC46C 7F0A793C 35EFA0F0 */ ori $t7, (0xA0FFA0F0 & 0xFFFF) # ori $t7, $t7, 0xa0f0 -/* 0DC470 7F0A7940 AFAF0018 */ sw $t7, 0x18($sp) -/* 0DC474 7F0A7944 02002025 */ move $a0, $s0 -/* 0DC478 7F0A7948 27A5007C */ addiu $a1, $sp, 0x7c -/* 0DC47C 7F0A794C 27A60070 */ addiu $a2, $sp, 0x70 -/* 0DC480 7F0A7950 8FA70054 */ lw $a3, 0x54($sp) -/* 0DC484 7F0A7954 AFA00024 */ sw $zero, 0x24($sp) -/* 0DC488 7F0A7958 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC48C 7F0A795C AFAD0010 */ sw $t5, 0x10($sp) -/* 0DC490 7F0A7960 AFAE0014 */ sw $t6, 0x14($sp) -/* 0DC494 7F0A7964 AFB8001C */ sw $t8, 0x1c($sp) -/* 0DC498 7F0A7968 0FC2B6AF */ jal en_text_write_stuff -/* 0DC49C 7F0A796C AFB90020 */ sw $t9, 0x20($sp) -/* 0DC4A0 7F0A7970 3C038004 */ lui $v1, %hi(D_800409A4) -/* 0DC4A4 7F0A7974 8C6309A4 */ lw $v1, %lo(D_800409A4)($v1) -/* 0DC4A8 7F0A7978 00408025 */ move $s0, $v0 -/* 0DC4AC 7F0A797C 1060002F */ beqz $v1, .L7F0A7A3C -/* 0DC4B0 7F0A7980 00000000 */ nop -/* 0DC4B4 7F0A7984 0C001107 */ jal get_video2_settings_txtClipW -/* 0DC4B8 7F0A7988 00000000 */ nop -/* 0DC4BC 7F0A798C 0C00110B */ jal get_video2_settings_txtClipH -/* 0DC4C0 7F0A7990 A7A20044 */ sh $v0, 0x44($sp) -/* 0DC4C4 7F0A7994 8FA80058 */ lw $t0, 0x58($sp) -/* 0DC4C8 7F0A7998 8FA9005C */ lw $t1, 0x5c($sp) -/* 0DC4CC 7F0A799C 87AC0044 */ lh $t4, 0x44($sp) -/* 0DC4D0 7F0A79A0 3C0B0070 */ lui $t3, (0x007000A0 >> 16) # lui $t3, 0x70 -/* 0DC4D4 7F0A79A4 356B00A0 */ ori $t3, (0x007000A0 & 0xFFFF) # ori $t3, $t3, 0xa0 -/* 0DC4D8 7F0A79A8 240AFFFF */ li $t2, -1 -/* 0DC4DC 7F0A79AC AFAA0018 */ sw $t2, 0x18($sp) -/* 0DC4E0 7F0A79B0 AFAB001C */ sw $t3, 0x1c($sp) -/* 0DC4E4 7F0A79B4 02002025 */ move $a0, $s0 -/* 0DC4E8 7F0A79B8 27A50078 */ addiu $a1, $sp, 0x78 -/* 0DC4EC 7F0A79BC 27A6006C */ addiu $a2, $sp, 0x6c -/* 0DC4F0 7F0A79C0 8FA70050 */ lw $a3, 0x50($sp) -/* 0DC4F4 7F0A79C4 AFA20024 */ sw $v0, 0x24($sp) -/* 0DC4F8 7F0A79C8 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC4FC 7F0A79CC AFA0002C */ sw $zero, 0x2c($sp) -/* 0DC500 7F0A79D0 AFA80010 */ sw $t0, 0x10($sp) -/* 0DC504 7F0A79D4 AFA90014 */ sw $t1, 0x14($sp) -/* 0DC508 7F0A79D8 0FC2B9BB */ jal jp_text_write_stuff -/* 0DC50C 7F0A79DC AFAC0020 */ sw $t4, 0x20($sp) -/* 0DC510 7F0A79E0 0C001107 */ jal get_video2_settings_txtClipW -/* 0DC514 7F0A79E4 00408025 */ move $s0, $v0 -/* 0DC518 7F0A79E8 0C00110B */ jal get_video2_settings_txtClipH -/* 0DC51C 7F0A79EC A7A20044 */ sh $v0, 0x44($sp) -/* 0DC520 7F0A79F0 8FAD0058 */ lw $t5, 0x58($sp) -/* 0DC524 7F0A79F4 8FAE005C */ lw $t6, 0x5c($sp) -/* 0DC528 7F0A79F8 87B80044 */ lh $t8, 0x44($sp) -/* 0DC52C 7F0A79FC 3C0F00FF */ lui $t7, (0x00FF00B0 >> 16) # lui $t7, 0xff -/* 0DC530 7F0A7A00 35EF00B0 */ ori $t7, (0x00FF00B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DC534 7F0A7A04 AFAF0018 */ sw $t7, 0x18($sp) -/* 0DC538 7F0A7A08 02002025 */ move $a0, $s0 -/* 0DC53C 7F0A7A0C 27A50074 */ addiu $a1, $sp, 0x74 -/* 0DC540 7F0A7A10 27A60068 */ addiu $a2, $sp, 0x68 -/* 0DC544 7F0A7A14 8FA7004C */ lw $a3, 0x4c($sp) -/* 0DC548 7F0A7A18 AFA20020 */ sw $v0, 0x20($sp) -/* 0DC54C 7F0A7A1C AFA00024 */ sw $zero, 0x24($sp) -/* 0DC550 7F0A7A20 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC554 7F0A7A24 AFAD0010 */ sw $t5, 0x10($sp) -/* 0DC558 7F0A7A28 AFAE0014 */ sw $t6, 0x14($sp) -/* 0DC55C 7F0A7A2C 0FC2B6AF */ jal en_text_write_stuff -/* 0DC560 7F0A7A30 AFB8001C */ sw $t8, 0x1c($sp) -/* 0DC564 7F0A7A34 10000073 */ b .L7F0A7C04 -/* 0DC568 7F0A7A38 00408025 */ move $s0, $v0 -.L7F0A7A3C: -/* 0DC56C 7F0A7A3C 54600072 */ bnezl $v1, .L7F0A7C08 -/* 0DC570 7F0A7A40 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DC574 7F0A7A44 0C001107 */ jal get_video2_settings_txtClipW -/* 0DC578 7F0A7A48 00000000 */ nop -/* 0DC57C 7F0A7A4C 0C00110B */ jal get_video2_settings_txtClipH -/* 0DC580 7F0A7A50 A7A20044 */ sh $v0, 0x44($sp) -/* 0DC584 7F0A7A54 8FB90058 */ lw $t9, 0x58($sp) -/* 0DC588 7F0A7A58 8FA8005C */ lw $t0, 0x5c($sp) -/* 0DC58C 7F0A7A5C 87AA0044 */ lh $t2, 0x44($sp) -/* 0DC590 7F0A7A60 3C0900FF */ lui $t1, (0x00FF00B0 >> 16) # lui $t1, 0xff -/* 0DC594 7F0A7A64 352900B0 */ ori $t1, (0x00FF00B0 & 0xFFFF) # ori $t1, $t1, 0xb0 -/* 0DC598 7F0A7A68 AFA90018 */ sw $t1, 0x18($sp) -/* 0DC59C 7F0A7A6C 02002025 */ move $a0, $s0 -/* 0DC5A0 7F0A7A70 27A50078 */ addiu $a1, $sp, 0x78 -/* 0DC5A4 7F0A7A74 27A6006C */ addiu $a2, $sp, 0x6c -/* 0DC5A8 7F0A7A78 8FA70050 */ lw $a3, 0x50($sp) -/* 0DC5AC 7F0A7A7C AFA20020 */ sw $v0, 0x20($sp) -/* 0DC5B0 7F0A7A80 AFA00024 */ sw $zero, 0x24($sp) -/* 0DC5B4 7F0A7A84 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC5B8 7F0A7A88 AFB90010 */ sw $t9, 0x10($sp) -/* 0DC5BC 7F0A7A8C AFA80014 */ sw $t0, 0x14($sp) -/* 0DC5C0 7F0A7A90 0FC2B6AF */ jal en_text_write_stuff -/* 0DC5C4 7F0A7A94 AFAA001C */ sw $t2, 0x1c($sp) -/* 0DC5C8 7F0A7A98 0C001107 */ jal get_video2_settings_txtClipW -/* 0DC5CC 7F0A7A9C 00408025 */ move $s0, $v0 -/* 0DC5D0 7F0A7AA0 0C00110B */ jal get_video2_settings_txtClipH -/* 0DC5D4 7F0A7AA4 A7A20044 */ sh $v0, 0x44($sp) -/* 0DC5D8 7F0A7AA8 8FAB0058 */ lw $t3, 0x58($sp) -/* 0DC5DC 7F0A7AAC 8FAC005C */ lw $t4, 0x5c($sp) -/* 0DC5E0 7F0A7AB0 87AF0044 */ lh $t7, 0x44($sp) -/* 0DC5E4 7F0A7AB4 3C0E0070 */ lui $t6, (0x007000A0 >> 16) # lui $t6, 0x70 -/* 0DC5E8 7F0A7AB8 35CE00A0 */ ori $t6, (0x007000A0 & 0xFFFF) # ori $t6, $t6, 0xa0 -/* 0DC5EC 7F0A7ABC 240DFFFF */ li $t5, -1 -/* 0DC5F0 7F0A7AC0 AFAD0018 */ sw $t5, 0x18($sp) -/* 0DC5F4 7F0A7AC4 AFAE001C */ sw $t6, 0x1c($sp) -/* 0DC5F8 7F0A7AC8 02002025 */ move $a0, $s0 -/* 0DC5FC 7F0A7ACC 27A50074 */ addiu $a1, $sp, 0x74 -/* 0DC600 7F0A7AD0 27A60068 */ addiu $a2, $sp, 0x68 -/* 0DC604 7F0A7AD4 8FA7004C */ lw $a3, 0x4c($sp) -/* 0DC608 7F0A7AD8 AFA20024 */ sw $v0, 0x24($sp) -/* 0DC60C 7F0A7ADC AFA00028 */ sw $zero, 0x28($sp) -/* 0DC610 7F0A7AE0 AFA0002C */ sw $zero, 0x2c($sp) -/* 0DC614 7F0A7AE4 AFAB0010 */ sw $t3, 0x10($sp) -/* 0DC618 7F0A7AE8 AFAC0014 */ sw $t4, 0x14($sp) -/* 0DC61C 7F0A7AEC 0FC2B9BB */ jal jp_text_write_stuff -/* 0DC620 7F0A7AF0 AFAF0020 */ sw $t7, 0x20($sp) -/* 0DC624 7F0A7AF4 10000043 */ b .L7F0A7C04 -/* 0DC628 7F0A7AF8 00408025 */ move $s0, $v0 -.L7F0A7AFC: -/* 0DC62C 7F0A7AFC 8FB8005C */ lw $t8, 0x5c($sp) -/* 0DC630 7F0A7B00 8FA70058 */ lw $a3, 0x58($sp) -/* 0DC634 7F0A7B04 AFA00014 */ sw $zero, 0x14($sp) -/* 0DC638 7F0A7B08 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DC63C 7F0A7B0C AFB80010 */ sw $t8, 0x10($sp) -/* 0DC640 7F0A7B10 8FB90058 */ lw $t9, 0x58($sp) -/* 0DC644 7F0A7B14 8FA8005C */ lw $t0, 0x5c($sp) -/* 0DC648 7F0A7B18 8FAA0064 */ lw $t2, 0x64($sp) -/* 0DC64C 7F0A7B1C 8FAB0060 */ lw $t3, 0x60($sp) -/* 0DC650 7F0A7B20 3C090080 */ lui $t1, (0x00800080 >> 16) # lui $t1, 0x80 -/* 0DC654 7F0A7B24 35290080 */ ori $t1, (0x00800080 & 0xFFFF) # ori $t1, $t1, 0x80 -/* 0DC658 7F0A7B28 AFA90018 */ sw $t1, 0x18($sp) -/* 0DC65C 7F0A7B2C 02002025 */ move $a0, $s0 -/* 0DC660 7F0A7B30 27A5007C */ addiu $a1, $sp, 0x7c -/* 0DC664 7F0A7B34 27A60070 */ addiu $a2, $sp, 0x70 -/* 0DC668 7F0A7B38 8FA70054 */ lw $a3, 0x54($sp) -/* 0DC66C 7F0A7B3C AFA00024 */ sw $zero, 0x24($sp) -/* 0DC670 7F0A7B40 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC674 7F0A7B44 AFB90010 */ sw $t9, 0x10($sp) -/* 0DC678 7F0A7B48 AFA80014 */ sw $t0, 0x14($sp) -/* 0DC67C 7F0A7B4C AFAA001C */ sw $t2, 0x1c($sp) -/* 0DC680 7F0A7B50 0FC2B6AF */ jal en_text_write_stuff -/* 0DC684 7F0A7B54 AFAB0020 */ sw $t3, 0x20($sp) -/* 0DC688 7F0A7B58 0C001107 */ jal get_video2_settings_txtClipW -/* 0DC68C 7F0A7B5C 00408025 */ move $s0, $v0 -/* 0DC690 7F0A7B60 0C00110B */ jal get_video2_settings_txtClipH -/* 0DC694 7F0A7B64 A7A20044 */ sh $v0, 0x44($sp) -/* 0DC698 7F0A7B68 8FAC0058 */ lw $t4, 0x58($sp) -/* 0DC69C 7F0A7B6C 8FAD005C */ lw $t5, 0x5c($sp) -/* 0DC6A0 7F0A7B70 87AF0044 */ lh $t7, 0x44($sp) -/* 0DC6A4 7F0A7B74 3C0E0080 */ lui $t6, (0x00800080 >> 16) # lui $t6, 0x80 -/* 0DC6A8 7F0A7B78 35CE0080 */ ori $t6, (0x00800080 & 0xFFFF) # ori $t6, $t6, 0x80 -/* 0DC6AC 7F0A7B7C AFAE0018 */ sw $t6, 0x18($sp) -/* 0DC6B0 7F0A7B80 02002025 */ move $a0, $s0 -/* 0DC6B4 7F0A7B84 27A50078 */ addiu $a1, $sp, 0x78 -/* 0DC6B8 7F0A7B88 27A6006C */ addiu $a2, $sp, 0x6c -/* 0DC6BC 7F0A7B8C 8FA70050 */ lw $a3, 0x50($sp) -/* 0DC6C0 7F0A7B90 AFA20020 */ sw $v0, 0x20($sp) -/* 0DC6C4 7F0A7B94 AFA00024 */ sw $zero, 0x24($sp) -/* 0DC6C8 7F0A7B98 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC6CC 7F0A7B9C AFAC0010 */ sw $t4, 0x10($sp) -/* 0DC6D0 7F0A7BA0 AFAD0014 */ sw $t5, 0x14($sp) -/* 0DC6D4 7F0A7BA4 0FC2B6AF */ jal en_text_write_stuff -/* 0DC6D8 7F0A7BA8 AFAF001C */ sw $t7, 0x1c($sp) -/* 0DC6DC 7F0A7BAC 0C001107 */ jal get_video2_settings_txtClipW -/* 0DC6E0 7F0A7BB0 00408025 */ move $s0, $v0 -/* 0DC6E4 7F0A7BB4 0C00110B */ jal get_video2_settings_txtClipH -/* 0DC6E8 7F0A7BB8 A7A20044 */ sh $v0, 0x44($sp) -/* 0DC6EC 7F0A7BBC 8FB80058 */ lw $t8, 0x58($sp) -/* 0DC6F0 7F0A7BC0 8FB9005C */ lw $t9, 0x5c($sp) -/* 0DC6F4 7F0A7BC4 87A90044 */ lh $t1, 0x44($sp) -/* 0DC6F8 7F0A7BC8 3C080080 */ lui $t0, (0x00800080 >> 16) # lui $t0, 0x80 -/* 0DC6FC 7F0A7BCC 35080080 */ ori $t0, (0x00800080 & 0xFFFF) # ori $t0, $t0, 0x80 -/* 0DC700 7F0A7BD0 AFA80018 */ sw $t0, 0x18($sp) -/* 0DC704 7F0A7BD4 02002025 */ move $a0, $s0 -/* 0DC708 7F0A7BD8 27A50074 */ addiu $a1, $sp, 0x74 -/* 0DC70C 7F0A7BDC 27A60068 */ addiu $a2, $sp, 0x68 -/* 0DC710 7F0A7BE0 8FA7004C */ lw $a3, 0x4c($sp) -/* 0DC714 7F0A7BE4 AFA20020 */ sw $v0, 0x20($sp) -/* 0DC718 7F0A7BE8 AFA00024 */ sw $zero, 0x24($sp) -/* 0DC71C 7F0A7BEC AFA00028 */ sw $zero, 0x28($sp) -/* 0DC720 7F0A7BF0 AFB80010 */ sw $t8, 0x10($sp) -/* 0DC724 7F0A7BF4 AFB90014 */ sw $t9, 0x14($sp) -/* 0DC728 7F0A7BF8 0FC2B6AF */ jal en_text_write_stuff -/* 0DC72C 7F0A7BFC AFA9001C */ sw $t1, 0x1c($sp) -/* 0DC730 7F0A7C00 00408025 */ move $s0, $v0 -.L7F0A7C04: -/* 0DC734 7F0A7C04 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0A7C08: -/* 0DC738 7F0A7C08 02001025 */ move $v0, $s0 -/* 0DC73C 7F0A7C0C 8FB00038 */ lw $s0, 0x38($sp) -/* 0DC740 7F0A7C10 03E00008 */ jr $ra -/* 0DC744 7F0A7C14 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A7C18(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A7C18 -/* 0DC748 7F0A7C18 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0DC74C 7F0A7C1C AFB20040 */ sw $s2, 0x40($sp) -/* 0DC750 7F0A7C20 00809025 */ move $s2, $a0 -/* 0DC754 7F0A7C24 AFBF0044 */ sw $ra, 0x44($sp) -/* 0DC758 7F0A7C28 AFB1003C */ sw $s1, 0x3c($sp) -/* 0DC75C 7F0A7C2C AFB00038 */ sw $s0, 0x38($sp) -/* 0DC760 7F0A7C30 0FC30776 */ jal get_textptr_for_textID -/* 0DC764 7F0A7C34 3404AC27 */ li $a0, 44071 -/* 0DC768 7F0A7C38 3C108004 */ lui $s0, %hi(ptrFirstFontTableSmall) -/* 0DC76C 7F0A7C3C 3C118004 */ lui $s1, %hi(ptrSecondFontTableSmall) -/* 0DC770 7F0A7C40 AFA2006C */ sw $v0, 0x6c($sp) -/* 0DC774 7F0A7C44 8E100EAC */ lw $s0, %lo(ptrFirstFontTableSmall)($s0) -/* 0DC778 7F0A7C48 0FC15D2E */ jal check_objectives_complete -/* 0DC77C 7F0A7C4C 8E310EB0 */ lw $s1, %lo(ptrSecondFontTableSmall)($s1) -/* 0DC780 7F0A7C50 10400008 */ beqz $v0, .L7F0A7C74 -/* 0DC784 7F0A7C54 3C0F8004 */ lui $t7, %hi(D_80040AF4) -/* 0DC788 7F0A7C58 3C0E00FF */ lui $t6, (0x00FF00B0 >> 16) # lui $t6, 0xff -/* 0DC78C 7F0A7C5C 35CE00B0 */ ori $t6, (0x00FF00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0DC790 7F0A7C60 AFAE004C */ sw $t6, 0x4c($sp) -/* 0DC794 7F0A7C64 0FC30776 */ jal get_textptr_for_textID -/* 0DC798 7F0A7C68 3404AC28 */ li $a0, 44072 -/* 0DC79C 7F0A7C6C 10000006 */ b .L7F0A7C88 -/* 0DC7A0 7F0A7C70 AFA20068 */ sw $v0, 0x68($sp) -.L7F0A7C74: -/* 0DC7A4 7F0A7C74 8DEF0AF4 */ lw $t7, %lo(D_80040AF4)($t7) -/* 0DC7A8 7F0A7C78 3404AC29 */ li $a0, 44073 -/* 0DC7AC 7F0A7C7C 0FC30776 */ jal get_textptr_for_textID -/* 0DC7B0 7F0A7C80 AFAF004C */ sw $t7, 0x4c($sp) -/* 0DC7B4 7F0A7C84 AFA20068 */ sw $v0, 0x68($sp) -.L7F0A7C88: -/* 0DC7B8 7F0A7C88 0FC2B366 */ jal microcode_constructor -/* 0DC7BC 7F0A7C8C 02402025 */ move $a0, $s2 -/* 0DC7C0 7F0A7C90 00409025 */ move $s2, $v0 -/* 0DC7C4 7F0A7C94 27A4005C */ addiu $a0, $sp, 0x5c -/* 0DC7C8 7F0A7C98 27A50058 */ addiu $a1, $sp, 0x58 -/* 0DC7CC 7F0A7C9C 8FA6006C */ lw $a2, 0x6c($sp) -/* 0DC7D0 7F0A7CA0 02203825 */ move $a3, $s1 -/* 0DC7D4 7F0A7CA4 AFB00010 */ sw $s0, 0x10($sp) -/* 0DC7D8 7F0A7CA8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DC7DC 7F0A7CAC AFA00014 */ sw $zero, 0x14($sp) -/* 0DC7E0 7F0A7CB0 8FA90058 */ lw $t1, 0x58($sp) -/* 0DC7E4 7F0A7CB4 8FAA005C */ lw $t2, 0x5c($sp) -/* 0DC7E8 7F0A7CB8 3C0800FF */ lui $t0, (0x00FF00B0 >> 16) # lui $t0, 0xff -/* 0DC7EC 7F0A7CBC 24180051 */ li $t8, 81 -/* 0DC7F0 7F0A7CC0 24190041 */ li $t9, 65 -/* 0DC7F4 7F0A7CC4 350800B0 */ ori $t0, (0x00FF00B0 & 0xFFFF) # ori $t0, $t0, 0xb0 -/* 0DC7F8 7F0A7CC8 AFB80064 */ sw $t8, 0x64($sp) -/* 0DC7FC 7F0A7CCC AFB90060 */ sw $t9, 0x60($sp) -/* 0DC800 7F0A7CD0 AFA80018 */ sw $t0, 0x18($sp) -/* 0DC804 7F0A7CD4 02402025 */ move $a0, $s2 -/* 0DC808 7F0A7CD8 27A50064 */ addiu $a1, $sp, 0x64 -/* 0DC80C 7F0A7CDC 27A60060 */ addiu $a2, $sp, 0x60 -/* 0DC810 7F0A7CE0 8FA7006C */ lw $a3, 0x6c($sp) -/* 0DC814 7F0A7CE4 AFB10010 */ sw $s1, 0x10($sp) -/* 0DC818 7F0A7CE8 AFB00014 */ sw $s0, 0x14($sp) -/* 0DC81C 7F0A7CEC AFA00024 */ sw $zero, 0x24($sp) -/* 0DC820 7F0A7CF0 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC824 7F0A7CF4 AFA9001C */ sw $t1, 0x1c($sp) -/* 0DC828 7F0A7CF8 0FC2B6AF */ jal en_text_write_stuff -/* 0DC82C 7F0A7CFC AFAA0020 */ sw $t2, 0x20($sp) -/* 0DC830 7F0A7D00 3C0B8005 */ lui $t3, %hi(j_text_trigger) -/* 0DC834 7F0A7D04 8D6B84D0 */ lw $t3, %lo(j_text_trigger)($t3) -/* 0DC838 7F0A7D08 00409025 */ move $s2, $v0 -/* 0DC83C 7F0A7D0C 8FAC0064 */ lw $t4, 0x64($sp) -/* 0DC840 7F0A7D10 11600003 */ beqz $t3, .L7F0A7D20 -/* 0DC844 7F0A7D14 8FAD0058 */ lw $t5, 0x58($sp) -/* 0DC848 7F0A7D18 10000002 */ b .L7F0A7D24 -/* 0DC84C 7F0A7D1C 24020022 */ li $v0, 34 -.L7F0A7D20: -/* 0DC850 7F0A7D20 00001025 */ move $v0, $zero -.L7F0A7D24: -/* 0DC854 7F0A7D24 8FB90060 */ lw $t9, 0x60($sp) -/* 0DC858 7F0A7D28 8FA8005C */ lw $t0, 0x5c($sp) -/* 0DC85C 7F0A7D2C 018D7021 */ addu $t6, $t4, $t5 -/* 0DC860 7F0A7D30 01C27821 */ addu $t7, $t6, $v0 -/* 0DC864 7F0A7D34 25F80004 */ addiu $t8, $t7, 4 -/* 0DC868 7F0A7D38 03284823 */ subu $t1, $t9, $t0 -/* 0DC86C 7F0A7D3C AFB80064 */ sw $t8, 0x64($sp) -/* 0DC870 7F0A7D40 AFA90060 */ sw $t1, 0x60($sp) -/* 0DC874 7F0A7D44 27A4005C */ addiu $a0, $sp, 0x5c -/* 0DC878 7F0A7D48 27A50058 */ addiu $a1, $sp, 0x58 -/* 0DC87C 7F0A7D4C 8FA60068 */ lw $a2, 0x68($sp) -/* 0DC880 7F0A7D50 02203825 */ move $a3, $s1 -/* 0DC884 7F0A7D54 AFB00010 */ sw $s0, 0x10($sp) -/* 0DC888 7F0A7D58 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DC88C 7F0A7D5C AFA00014 */ sw $zero, 0x14($sp) -/* 0DC890 7F0A7D60 8FAA004C */ lw $t2, 0x4c($sp) -/* 0DC894 7F0A7D64 8FAB0058 */ lw $t3, 0x58($sp) -/* 0DC898 7F0A7D68 8FAC005C */ lw $t4, 0x5c($sp) -/* 0DC89C 7F0A7D6C 02402025 */ move $a0, $s2 -/* 0DC8A0 7F0A7D70 27A50064 */ addiu $a1, $sp, 0x64 -/* 0DC8A4 7F0A7D74 27A60060 */ addiu $a2, $sp, 0x60 -/* 0DC8A8 7F0A7D78 8FA70068 */ lw $a3, 0x68($sp) -/* 0DC8AC 7F0A7D7C AFB10010 */ sw $s1, 0x10($sp) -/* 0DC8B0 7F0A7D80 AFB00014 */ sw $s0, 0x14($sp) -/* 0DC8B4 7F0A7D84 AFA00024 */ sw $zero, 0x24($sp) -/* 0DC8B8 7F0A7D88 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC8BC 7F0A7D8C AFAA0018 */ sw $t2, 0x18($sp) -/* 0DC8C0 7F0A7D90 AFAB001C */ sw $t3, 0x1c($sp) -/* 0DC8C4 7F0A7D94 0FC2B6AF */ jal en_text_write_stuff -/* 0DC8C8 7F0A7D98 AFAC0020 */ sw $t4, 0x20($sp) -/* 0DC8CC 7F0A7D9C 0FC29DF2 */ jal sub_GAME_7F0A77C8 -/* 0DC8D0 7F0A7DA0 00402025 */ move $a0, $v0 -/* 0DC8D4 7F0A7DA4 8FBF0044 */ lw $ra, 0x44($sp) -/* 0DC8D8 7F0A7DA8 8FB00038 */ lw $s0, 0x38($sp) -/* 0DC8DC 7F0A7DAC 8FB1003C */ lw $s1, 0x3c($sp) -/* 0DC8E0 7F0A7DB0 8FB20040 */ lw $s2, 0x40($sp) -/* 0DC8E4 7F0A7DB4 03E00008 */ jr $ra -/* 0DC8E8 7F0A7DB8 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - - - - - -u32 sub_GAME_7F0A7DBC(u32 uParm1) { - return uParm1; -} - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0A7DC4 -/* 0DC8F4 7F0A7DC4 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0DC8F8 7F0A7DC8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0DC8FC 7F0A7DCC AFA40058 */ sw $a0, 0x58($sp) -/* 0DC900 7F0A7DD0 0FC30776 */ jal get_textptr_for_textID -/* 0DC904 7F0A7DD4 3404AC2B */ li $a0, 44075 -/* 0DC908 7F0A7DD8 3C0E8005 */ lui $t6, %hi(j_text_trigger) -/* 0DC90C 7F0A7DDC 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) -/* 0DC910 7F0A7DE0 AFA20054 */ sw $v0, 0x54($sp) -/* 0DC914 7F0A7DE4 24180031 */ li $t8, 49 -/* 0DC918 7F0A7DE8 11C00003 */ beqz $t6, .L7F0A7DF8 -/* 0DC91C 7F0A7DEC 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) -/* 0DC920 7F0A7DF0 10000002 */ b .L7F0A7DFC -/* 0DC924 7F0A7DF4 2402FFFB */ li $v0, -5 -.L7F0A7DF8: -/* 0DC928 7F0A7DF8 00001025 */ move $v0, $zero -.L7F0A7DFC: -/* 0DC92C 7F0A7DFC 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall) -/* 0DC930 7F0A7E00 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) -/* 0DC934 7F0A7E04 8D080EB0 */ lw $t0, %lo(ptrSecondFontTableSmall)($t0) -/* 0DC938 7F0A7E08 244F0065 */ addiu $t7, $v0, 0x65 -/* 0DC93C 7F0A7E0C AFAF0050 */ sw $t7, 0x50($sp) -/* 0DC940 7F0A7E10 AFB8004C */ sw $t8, 0x4c($sp) -/* 0DC944 7F0A7E14 AFA00048 */ sw $zero, 0x48($sp) -/* 0DC948 7F0A7E18 AFA00044 */ sw $zero, 0x44($sp) -/* 0DC94C 7F0A7E1C 8FA40058 */ lw $a0, 0x58($sp) -/* 0DC950 7F0A7E20 AFB90040 */ sw $t9, 0x40($sp) -/* 0DC954 7F0A7E24 0FC2B366 */ jal microcode_constructor -/* 0DC958 7F0A7E28 AFA8003C */ sw $t0, 0x3c($sp) -/* 0DC95C 7F0A7E2C 8FA90040 */ lw $t1, 0x40($sp) -/* 0DC960 7F0A7E30 AFA20058 */ sw $v0, 0x58($sp) -/* 0DC964 7F0A7E34 27A40048 */ addiu $a0, $sp, 0x48 -/* 0DC968 7F0A7E38 27A50044 */ addiu $a1, $sp, 0x44 -/* 0DC96C 7F0A7E3C 8FA60054 */ lw $a2, 0x54($sp) -/* 0DC970 7F0A7E40 8FA7003C */ lw $a3, 0x3c($sp) -/* 0DC974 7F0A7E44 AFA00014 */ sw $zero, 0x14($sp) -/* 0DC978 7F0A7E48 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DC97C 7F0A7E4C AFA90010 */ sw $t1, 0x10($sp) -/* 0DC980 7F0A7E50 8FAA003C */ lw $t2, 0x3c($sp) -/* 0DC984 7F0A7E54 8FAB0040 */ lw $t3, 0x40($sp) -/* 0DC988 7F0A7E58 8FAD0044 */ lw $t5, 0x44($sp) -/* 0DC98C 7F0A7E5C 8FAE0048 */ lw $t6, 0x48($sp) -/* 0DC990 7F0A7E60 3C0C00FF */ lui $t4, (0x00FF00B0 >> 16) # lui $t4, 0xff -/* 0DC994 7F0A7E64 358C00B0 */ ori $t4, (0x00FF00B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0DC998 7F0A7E68 AFAC0018 */ sw $t4, 0x18($sp) -/* 0DC99C 7F0A7E6C 8FA40058 */ lw $a0, 0x58($sp) -/* 0DC9A0 7F0A7E70 27A50050 */ addiu $a1, $sp, 0x50 -/* 0DC9A4 7F0A7E74 27A6004C */ addiu $a2, $sp, 0x4c -/* 0DC9A8 7F0A7E78 8FA70054 */ lw $a3, 0x54($sp) -/* 0DC9AC 7F0A7E7C AFA00024 */ sw $zero, 0x24($sp) -/* 0DC9B0 7F0A7E80 AFA00028 */ sw $zero, 0x28($sp) -/* 0DC9B4 7F0A7E84 AFAA0010 */ sw $t2, 0x10($sp) -/* 0DC9B8 7F0A7E88 AFAB0014 */ sw $t3, 0x14($sp) -/* 0DC9BC 7F0A7E8C AFAD001C */ sw $t5, 0x1c($sp) -/* 0DC9C0 7F0A7E90 0FC2B6AF */ jal en_text_write_stuff -/* 0DC9C4 7F0A7E94 AFAE0020 */ sw $t6, 0x20($sp) -/* 0DC9C8 7F0A7E98 8FBF0034 */ lw $ra, 0x34($sp) -/* 0DC9CC 7F0A7E9C 27BD0058 */ addiu $sp, $sp, 0x58 -/* 0DC9D0 7F0A7EA0 03E00008 */ jr $ra -/* 0DC9D4 7F0A7EA4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void debug_gun_watch_move_related(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005850C -.word 0x3f7ae148 /*0.98000002*/ -glabel D_80058510 -.word 0x3f829cbc /*1.0204082*/ -glabel D_80058514 -.word 0x461c4000 /*10000.0*/ -glabel D_80058518 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005851C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80058520 -.word 0x3f7ae148 /*0.98000002*/ -glabel D_80058524 -.word 0x3f829cbc /*1.0204082*/ -glabel D_80058528 -.word 0x461c4000 /*10000.0*/ -glabel D_8005852C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80058530 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel debug_gun_watch_move_related -/* 0DC9D8 7F0A7EA8 27BDFEE8 */ addiu $sp, $sp, -0x118 -/* 0DC9DC 7F0A7EAC AFBF003C */ sw $ra, 0x3c($sp) -/* 0DC9E0 7F0A7EB0 AFB00038 */ sw $s0, 0x38($sp) -/* 0DC9E4 7F0A7EB4 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0DC9E8 7F0A7EB8 00808025 */ move $s0, $a0 -/* 0DC9EC 7F0A7EBC 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0DC9F0 7F0A7EC0 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0DC9F4 7F0A7EC4 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0DC9F8 7F0A7EC8 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0DC9FC 7F0A7ECC AFA20114 */ sw $v0, 0x114($sp) -/* 0DCA00 7F0A7ED0 AFA00084 */ sw $zero, 0x84($sp) -/* 0DCA04 7F0A7ED4 AFA00080 */ sw $zero, 0x80($sp) -/* 0DCA08 7F0A7ED8 AFAE007C */ sw $t6, 0x7c($sp) -/* 0DCA0C 7F0A7EDC 0FC23630 */ jal sub_GAME_7F08D8C0 -/* 0DCA10 7F0A7EE0 AFAF0078 */ sw $t7, 0x78($sp) -/* 0DCA14 7F0A7EE4 AFA20074 */ sw $v0, 0x74($sp) -/* 0DCA18 7F0A7EE8 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0DCA1C 7F0A7EEC 00402025 */ move $a0, $v0 -/* 0DCA20 7F0A7EF0 AFA20070 */ sw $v0, 0x70($sp) -/* 0DCA24 7F0A7EF4 0FC235F6 */ jal sub_GAME_7F08D7D8 -/* 0DCA28 7F0A7EF8 8FA40074 */ lw $a0, 0x74($sp) -/* 0DCA2C 7F0A7EFC E7A0006C */ swc1 $f0, 0x6c($sp) -/* 0DCA30 7F0A7F00 0FC23600 */ jal sub_GAME_7F08D800 -/* 0DCA34 7F0A7F04 8FA40074 */ lw $a0, 0x74($sp) -/* 0DCA38 7F0A7F08 E7A00068 */ swc1 $f0, 0x68($sp) -/* 0DCA3C 7F0A7F0C 0FC2360A */ jal sub_GAME_7F08D828 -/* 0DCA40 7F0A7F10 8FA40074 */ lw $a0, 0x74($sp) -/* 0DCA44 7F0A7F14 E7A00064 */ swc1 $f0, 0x64($sp) -/* 0DCA48 7F0A7F18 0FC235EC */ jal sub_GAME_7F08D7B0 -/* 0DCA4C 7F0A7F1C 8FA40074 */ lw $a0, 0x74($sp) -/* 0DCA50 7F0A7F20 E7A00060 */ swc1 $f0, 0x60($sp) -/* 0DCA54 7F0A7F24 0FC23614 */ jal sub_GAME_7F08D850 -/* 0DCA58 7F0A7F28 8FA40074 */ lw $a0, 0x74($sp) -/* 0DCA5C 7F0A7F2C E7A0005C */ swc1 $f0, 0x5c($sp) -/* 0DCA60 7F0A7F30 0FC2361E */ jal sub_GAME_7F08D878 -/* 0DCA64 7F0A7F34 8FA40074 */ lw $a0, 0x74($sp) -/* 0DCA68 7F0A7F38 E7A00058 */ swc1 $f0, 0x58($sp) -/* 0DCA6C 7F0A7F3C 0FC23572 */ jal sub_GAME_7F08D5C8 -/* 0DCA70 7F0A7F40 8FA40074 */ lw $a0, 0x74($sp) -/* 0DCA74 7F0A7F44 AFA20054 */ sw $v0, 0x54($sp) -/* 0DCA78 7F0A7F48 0FC235AF */ jal sub_GAME_7F08D6BC -/* 0DCA7C 7F0A7F4C 8FA40074 */ lw $a0, 0x74($sp) -/* 0DCA80 7F0A7F50 0FC24415 */ jal get_debug_gunwatchpos_flag -/* 0DCA84 7F0A7F54 AFA20050 */ sw $v0, 0x50($sp) -/* 0DCA88 7F0A7F58 5040004C */ beql $v0, $zero, .L7F0A808C -/* 0DCA8C 7F0A7F5C 3C014120 */ lui $at, 0x4120 -/* 0DCA90 7F0A7F60 0FC17674 */ jal get_item_in_hand -/* 0DCA94 7F0A7F64 00002025 */ move $a0, $zero -/* 0DCA98 7F0A7F68 0002C0C0 */ sll $t8, $v0, 3 -/* 0DCA9C 7F0A7F6C 0302C023 */ subu $t8, $t8, $v0 -/* 0DCAA0 7F0A7F70 3C198003 */ lui $t9, %hi(gitem_structs) -/* 0DCAA4 7F0A7F74 27393924 */ addiu $t9, %lo(gitem_structs) # addiu $t9, $t9, 0x3924 -/* 0DCAA8 7F0A7F78 0018C0C0 */ sll $t8, $t8, 3 -/* 0DCAAC 7F0A7F7C 03191821 */ addu $v1, $t8, $t9 -/* 0DCAB0 7F0A7F80 AFA3004C */ sw $v1, 0x4c($sp) -/* 0DCAB4 7F0A7F84 00002025 */ move $a0, $zero -/* 0DCAB8 7F0A7F88 0C0030C3 */ jal get_controller_buttons_held -/* 0DCABC 7F0A7F8C 24050002 */ li $a1, 2 -/* 0DCAC0 7F0A7F90 10400006 */ beqz $v0, .L7F0A7FAC -/* 0DCAC4 7F0A7F94 8FA3004C */ lw $v1, 0x4c($sp) -/* 0DCAC8 7F0A7F98 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DCACC 7F0A7F9C 44813000 */ mtc1 $at, $f6 -/* 0DCAD0 7F0A7FA0 C4640018 */ lwc1 $f4, 0x18($v1) -/* 0DCAD4 7F0A7FA4 46062201 */ sub.s $f8, $f4, $f6 -/* 0DCAD8 7F0A7FA8 E4680018 */ swc1 $f8, 0x18($v1) -.L7F0A7FAC: -/* 0DCADC 7F0A7FAC 00002025 */ move $a0, $zero -/* 0DCAE0 7F0A7FB0 24050001 */ li $a1, 1 -/* 0DCAE4 7F0A7FB4 0C0030C3 */ jal get_controller_buttons_held -/* 0DCAE8 7F0A7FB8 AFA3004C */ sw $v1, 0x4c($sp) -/* 0DCAEC 7F0A7FBC 10400006 */ beqz $v0, .L7F0A7FD8 -/* 0DCAF0 7F0A7FC0 8FA3004C */ lw $v1, 0x4c($sp) -/* 0DCAF4 7F0A7FC4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DCAF8 7F0A7FC8 44818000 */ mtc1 $at, $f16 -/* 0DCAFC 7F0A7FCC C46A0018 */ lwc1 $f10, 0x18($v1) -/* 0DCB00 7F0A7FD0 46105480 */ add.s $f18, $f10, $f16 -/* 0DCB04 7F0A7FD4 E4720018 */ swc1 $f18, 0x18($v1) -.L7F0A7FD8: -/* 0DCB08 7F0A7FD8 00002025 */ move $a0, $zero -/* 0DCB0C 7F0A7FDC 24050004 */ li $a1, 4 -/* 0DCB10 7F0A7FE0 0C0030C3 */ jal get_controller_buttons_held -/* 0DCB14 7F0A7FE4 AFA3004C */ sw $v1, 0x4c($sp) -/* 0DCB18 7F0A7FE8 10400006 */ beqz $v0, .L7F0A8004 -/* 0DCB1C 7F0A7FEC 8FA3004C */ lw $v1, 0x4c($sp) -/* 0DCB20 7F0A7FF0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DCB24 7F0A7FF4 44813000 */ mtc1 $at, $f6 -/* 0DCB28 7F0A7FF8 C4640014 */ lwc1 $f4, 0x14($v1) -/* 0DCB2C 7F0A7FFC 46062200 */ add.s $f8, $f4, $f6 -/* 0DCB30 7F0A8000 E4680014 */ swc1 $f8, 0x14($v1) -.L7F0A8004: -/* 0DCB34 7F0A8004 00002025 */ move $a0, $zero -/* 0DCB38 7F0A8008 24050008 */ li $a1, 8 -/* 0DCB3C 7F0A800C 0C0030C3 */ jal get_controller_buttons_held -/* 0DCB40 7F0A8010 AFA3004C */ sw $v1, 0x4c($sp) -/* 0DCB44 7F0A8014 10400006 */ beqz $v0, .L7F0A8030 -/* 0DCB48 7F0A8018 8FA3004C */ lw $v1, 0x4c($sp) -/* 0DCB4C 7F0A801C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DCB50 7F0A8020 44818000 */ mtc1 $at, $f16 -/* 0DCB54 7F0A8024 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 0DCB58 7F0A8028 46105481 */ sub.s $f18, $f10, $f16 -/* 0DCB5C 7F0A802C E4720014 */ swc1 $f18, 0x14($v1) -.L7F0A8030: -/* 0DCB60 7F0A8030 00002025 */ move $a0, $zero -/* 0DCB64 7F0A8034 24050020 */ li $a1, 32 -/* 0DCB68 7F0A8038 0C0030C3 */ jal get_controller_buttons_held -/* 0DCB6C 7F0A803C AFA3004C */ sw $v1, 0x4c($sp) -/* 0DCB70 7F0A8040 10400006 */ beqz $v0, .L7F0A805C -/* 0DCB74 7F0A8044 8FA3004C */ lw $v1, 0x4c($sp) -/* 0DCB78 7F0A8048 3C018006 */ lui $at, %hi(D_8005850C) -/* 0DCB7C 7F0A804C C426850C */ lwc1 $f6, %lo(D_8005850C)($at) -/* 0DCB80 7F0A8050 C464001C */ lwc1 $f4, 0x1c($v1) -/* 0DCB84 7F0A8054 46062202 */ mul.s $f8, $f4, $f6 -/* 0DCB88 7F0A8058 E468001C */ swc1 $f8, 0x1c($v1) -.L7F0A805C: -/* 0DCB8C 7F0A805C 00002025 */ move $a0, $zero -/* 0DCB90 7F0A8060 24050010 */ li $a1, 16 -/* 0DCB94 7F0A8064 0C0030C3 */ jal get_controller_buttons_held -/* 0DCB98 7F0A8068 AFA3004C */ sw $v1, 0x4c($sp) -/* 0DCB9C 7F0A806C 10400006 */ beqz $v0, .L7F0A8088 -/* 0DCBA0 7F0A8070 8FA3004C */ lw $v1, 0x4c($sp) -/* 0DCBA4 7F0A8074 3C018006 */ lui $at, %hi(D_80058510) -/* 0DCBA8 7F0A8078 C4308510 */ lwc1 $f16, %lo(D_80058510)($at) -/* 0DCBAC 7F0A807C C46A001C */ lwc1 $f10, 0x1c($v1) -/* 0DCBB0 7F0A8080 46105482 */ mul.s $f18, $f10, $f16 -/* 0DCBB4 7F0A8084 E472001C */ swc1 $f18, 0x1c($v1) -.L7F0A8088: -/* 0DCBB8 7F0A8088 3C014120 */ li $at, 0x41200000 # 10.000000 -.L7F0A808C: -/* 0DCBBC 7F0A808C 44812000 */ mtc1 $at, $f4 -/* 0DCBC0 7F0A8090 3C018006 */ lui $at, %hi(D_80058514) -/* 0DCBC4 7F0A8094 C4268514 */ lwc1 $f6, %lo(D_80058514)($at) -/* 0DCBC8 7F0A8098 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DCBCC 7F0A809C 44814000 */ mtc1 $at, $f8 -/* 0DCBD0 7F0A80A0 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 0DCBD4 7F0A80A4 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 0DCBD8 7F0A80A8 8FA40114 */ lw $a0, 0x114($sp) -/* 0DCBDC 7F0A80AC 27A50112 */ addiu $a1, $sp, 0x112 -/* 0DCBE0 7F0A80B0 8FA60060 */ lw $a2, 0x60($sp) -/* 0DCBE4 7F0A80B4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0DCBE8 7F0A80B8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0DCBEC 7F0A80BC 0C003FAC */ jal guPerspective -/* 0DCBF0 7F0A80C0 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0DCBF4 7F0A80C4 3C080103 */ lui $t0, (0x01030040 >> 16) # lui $t0, 0x103 -/* 0DCBF8 7F0A80C8 35080040 */ ori $t0, (0x01030040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 0DCBFC 7F0A80CC 02001825 */ move $v1, $s0 -/* 0DCC00 7F0A80D0 AC680000 */ sw $t0, ($v1) -/* 0DCC04 7F0A80D4 AFA30048 */ sw $v1, 0x48($sp) -/* 0DCC08 7F0A80D8 8FA40114 */ lw $a0, 0x114($sp) -/* 0DCC0C 7F0A80DC 0C003A2C */ jal osVirtualToPhysical -/* 0DCC10 7F0A80E0 26100008 */ addiu $s0, $s0, 8 -/* 0DCC14 7F0A80E4 8FA30048 */ lw $v1, 0x48($sp) -/* 0DCC18 7F0A80E8 3C018006 */ lui $at, %hi(D_80058518) -/* 0DCC1C 7F0A80EC 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0DCC20 7F0A80F0 AC620004 */ sw $v0, 4($v1) -/* 0DCC24 7F0A80F4 C4308518 */ lwc1 $f16, %lo(D_80058518)($at) -/* 0DCC28 7F0A80F8 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 0DCC2C 7F0A80FC 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DCC30 7F0A8100 44812000 */ mtc1 $at, $f4 -/* 0DCC34 7F0A8104 46105482 */ mul.s $f18, $f10, $f16 -/* 0DCC38 7F0A8108 0FC1617F */ jal sub_GAME_7F0585FC -/* 0DCC3C 7F0A810C 46049303 */ div.s $f12, $f18, $f4 -/* 0DCC40 7F0A8110 3C018006 */ lui $at, %hi(D_8005851C) -/* 0DCC44 7F0A8114 C420851C */ lwc1 $f0, %lo(D_8005851C)($at) -/* 0DCC48 7F0A8118 C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 0DCC4C 7F0A811C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DCC50 7F0A8120 44815000 */ mtc1 $at, $f10 -/* 0DCC54 7F0A8124 46003202 */ mul.s $f8, $f6, $f0 -/* 0DCC58 7F0A8128 27A50090 */ addiu $a1, $sp, 0x90 -/* 0DCC5C 7F0A812C 460A4403 */ div.s $f16, $f8, $f10 -/* 0DCC60 7F0A8130 0FC161A2 */ jal sub_GAME_7F058688 -/* 0DCC64 7F0A8134 46100301 */ sub.s $f12, $f0, $f16 -/* 0DCC68 7F0A8138 27A40090 */ addiu $a0, $sp, 0x90 -/* 0DCC6C 7F0A813C 0FC1601A */ jal sub_GAME_7F058068 -/* 0DCC70 7F0A8140 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0DCC74 7F0A8144 44800000 */ mtc1 $zero, $f0 -/* 0DCC78 7F0A8148 C7A20068 */ lwc1 $f2, 0x68($sp) -/* 0DCC7C 7F0A814C C7AC006C */ lwc1 $f12, 0x6c($sp) -/* 0DCC80 7F0A8150 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DCC84 7F0A8154 44819000 */ mtc1 $at, $f18 -/* 0DCC88 7F0A8158 44071000 */ mfc1 $a3, $f2 -/* 0DCC8C 7F0A815C 44066000 */ mfc1 $a2, $f12 -/* 0DCC90 7F0A8160 27A40090 */ addiu $a0, $sp, 0x90 -/* 0DCC94 7F0A8164 8FA50064 */ lw $a1, 0x64($sp) -/* 0DCC98 7F0A8168 E7A20018 */ swc1 $f2, 0x18($sp) -/* 0DCC9C 7F0A816C E7A00010 */ swc1 $f0, 0x10($sp) -/* 0DCCA0 7F0A8170 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 0DCCA4 7F0A8174 E7A00024 */ swc1 $f0, 0x24($sp) -/* 0DCCA8 7F0A8178 E7AC0014 */ swc1 $f12, 0x14($sp) -/* 0DCCAC 7F0A817C 0FC165A5 */ jal sub_GAME_7F059694 -/* 0DCCB0 7F0A8180 E7B20020 */ swc1 $f18, 0x20($sp) -/* 0DCCB4 7F0A8184 27A40090 */ addiu $a0, $sp, 0x90 -/* 0DCCB8 7F0A8188 0FC1601A */ jal sub_GAME_7F058068 -/* 0DCCBC 7F0A818C 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0DCCC0 7F0A8190 0FC29BBA */ jal sub_GAME_7F0A6EE8 -/* 0DCCC4 7F0A8194 02002025 */ move $a0, $s0 -/* 0DCCC8 7F0A8198 3C038004 */ lui $v1, %hi(D_80040B04) -/* 0DCCCC 7F0A819C 8C630B04 */ lw $v1, %lo(D_80040B04)($v1) -/* 0DCCD0 7F0A81A0 00408025 */ move $s0, $v0 -/* 0DCCD4 7F0A81A4 02002025 */ move $a0, $s0 -/* 0DCCD8 7F0A81A8 286100E0 */ slti $at, $v1, 0xe0 -/* 0DCCDC 7F0A81AC 1020000B */ beqz $at, .L7F0A81DC -/* 0DCCE0 7F0A81B0 8FA50070 */ lw $a1, 0x70($sp) -/* 0DCCE4 7F0A81B4 3C0964DC */ lui $t1, (0x64DC6428 >> 16) # lui $t1, 0x64dc -/* 0DCCE8 7F0A81B8 35296428 */ ori $t1, (0x64DC6428 & 0xFFFF) # ori $t1, $t1, 0x6428 -/* 0DCCEC 7F0A81BC AFA90010 */ sw $t1, 0x10($sp) -/* 0DCCF0 7F0A81C0 00402025 */ move $a0, $v0 -/* 0DCCF4 7F0A81C4 8FA50070 */ lw $a1, 0x70($sp) -/* 0DCCF8 7F0A81C8 27A600D0 */ addiu $a2, $sp, 0xd0 -/* 0DCCFC 7F0A81CC 0FC18C01 */ jal set_enviro_fog_for_items_in_solo_watch_menu -/* 0DCD00 7F0A81D0 24670001 */ addiu $a3, $v1, 1 -/* 0DCD04 7F0A81D4 10000008 */ b .L7F0A81F8 -/* 0DCD08 7F0A81D8 00408025 */ move $s0, $v0 -.L7F0A81DC: -/* 0DCD0C 7F0A81DC 3C0A64DC */ lui $t2, (0x64DC6428 >> 16) # lui $t2, 0x64dc -/* 0DCD10 7F0A81E0 354A6428 */ ori $t2, (0x64DC6428 & 0xFFFF) # ori $t2, $t2, 0x6428 -/* 0DCD14 7F0A81E4 AFAA0010 */ sw $t2, 0x10($sp) -/* 0DCD18 7F0A81E8 27A600D0 */ addiu $a2, $sp, 0xd0 -/* 0DCD1C 7F0A81EC 0FC18C01 */ jal set_enviro_fog_for_items_in_solo_watch_menu -/* 0DCD20 7F0A81F0 240700FF */ li $a3, 255 -/* 0DCD24 7F0A81F4 00408025 */ move $s0, $v0 -.L7F0A81F8: -/* 0DCD28 7F0A81F8 0FC1A8CD */ jal sub_GAME_7F06A334 -/* 0DCD2C 7F0A81FC 02002025 */ move $a0, $s0 -/* 0DCD30 7F0A8200 0FC2B366 */ jal microcode_constructor -/* 0DCD34 7F0A8204 00402025 */ move $a0, $v0 -/* 0DCD38 7F0A8208 8FAD007C */ lw $t5, 0x7c($sp) -/* 0DCD3C 7F0A820C 240B0060 */ li $t3, 96 -/* 0DCD40 7F0A8210 240C00A0 */ li $t4, 160 -/* 0DCD44 7F0A8214 00408025 */ move $s0, $v0 -/* 0DCD48 7F0A8218 AFAB008C */ sw $t3, 0x8c($sp) -/* 0DCD4C 7F0A821C AFAC0088 */ sw $t4, 0x88($sp) -/* 0DCD50 7F0A8220 27A40084 */ addiu $a0, $sp, 0x84 -/* 0DCD54 7F0A8224 27A50080 */ addiu $a1, $sp, 0x80 -/* 0DCD58 7F0A8228 8FA60054 */ lw $a2, 0x54($sp) -/* 0DCD5C 7F0A822C 8FA70078 */ lw $a3, 0x78($sp) -/* 0DCD60 7F0A8230 AFA00014 */ sw $zero, 0x14($sp) -/* 0DCD64 7F0A8234 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DCD68 7F0A8238 AFAD0010 */ sw $t5, 0x10($sp) -/* 0DCD6C 7F0A823C 8FAE0078 */ lw $t6, 0x78($sp) -/* 0DCD70 7F0A8240 8FAF007C */ lw $t7, 0x7c($sp) -/* 0DCD74 7F0A8244 8FB90080 */ lw $t9, 0x80($sp) -/* 0DCD78 7F0A8248 8FA80084 */ lw $t0, 0x84($sp) -/* 0DCD7C 7F0A824C 3C1800FF */ lui $t8, (0x00FF00B0 >> 16) # lui $t8, 0xff -/* 0DCD80 7F0A8250 371800B0 */ ori $t8, (0x00FF00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0DCD84 7F0A8254 AFB80018 */ sw $t8, 0x18($sp) -/* 0DCD88 7F0A8258 02002025 */ move $a0, $s0 -/* 0DCD8C 7F0A825C 27A5008C */ addiu $a1, $sp, 0x8c -/* 0DCD90 7F0A8260 27A60088 */ addiu $a2, $sp, 0x88 -/* 0DCD94 7F0A8264 8FA70054 */ lw $a3, 0x54($sp) -/* 0DCD98 7F0A8268 AFA00024 */ sw $zero, 0x24($sp) -/* 0DCD9C 7F0A826C AFA00028 */ sw $zero, 0x28($sp) -/* 0DCDA0 7F0A8270 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DCDA4 7F0A8274 AFAF0014 */ sw $t7, 0x14($sp) -/* 0DCDA8 7F0A8278 AFB9001C */ sw $t9, 0x1c($sp) -/* 0DCDAC 7F0A827C 0FC2B6AF */ jal en_text_write_stuff -/* 0DCDB0 7F0A8280 AFA80020 */ sw $t0, 0x20($sp) -/* 0DCDB4 7F0A8284 8FAA007C */ lw $t2, 0x7c($sp) -/* 0DCDB8 7F0A8288 240900AA */ li $t1, 170 -/* 0DCDBC 7F0A828C 00408025 */ move $s0, $v0 -/* 0DCDC0 7F0A8290 AFA90088 */ sw $t1, 0x88($sp) -/* 0DCDC4 7F0A8294 27A40084 */ addiu $a0, $sp, 0x84 -/* 0DCDC8 7F0A8298 27A50080 */ addiu $a1, $sp, 0x80 -/* 0DCDCC 7F0A829C 8FA60050 */ lw $a2, 0x50($sp) -/* 0DCDD0 7F0A82A0 8FA70078 */ lw $a3, 0x78($sp) -/* 0DCDD4 7F0A82A4 AFA00014 */ sw $zero, 0x14($sp) -/* 0DCDD8 7F0A82A8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DCDDC 7F0A82AC AFAA0010 */ sw $t2, 0x10($sp) -/* 0DCDE0 7F0A82B0 8FAB0078 */ lw $t3, 0x78($sp) -/* 0DCDE4 7F0A82B4 8FAC007C */ lw $t4, 0x7c($sp) -/* 0DCDE8 7F0A82B8 8FAE0080 */ lw $t6, 0x80($sp) -/* 0DCDEC 7F0A82BC 8FAF0084 */ lw $t7, 0x84($sp) -/* 0DCDF0 7F0A82C0 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0DCDF4 7F0A82C4 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0DCDF8 7F0A82C8 AFAD0018 */ sw $t5, 0x18($sp) -/* 0DCDFC 7F0A82CC 02002025 */ move $a0, $s0 -/* 0DCE00 7F0A82D0 27A5008C */ addiu $a1, $sp, 0x8c -/* 0DCE04 7F0A82D4 27A60088 */ addiu $a2, $sp, 0x88 -/* 0DCE08 7F0A82D8 8FA70050 */ lw $a3, 0x50($sp) -/* 0DCE0C 7F0A82DC AFA00024 */ sw $zero, 0x24($sp) -/* 0DCE10 7F0A82E0 AFA00028 */ sw $zero, 0x28($sp) -/* 0DCE14 7F0A82E4 AFAB0010 */ sw $t3, 0x10($sp) -/* 0DCE18 7F0A82E8 AFAC0014 */ sw $t4, 0x14($sp) -/* 0DCE1C 7F0A82EC AFAE001C */ sw $t6, 0x1c($sp) -/* 0DCE20 7F0A82F0 0FC2B6AF */ jal en_text_write_stuff -/* 0DCE24 7F0A82F4 AFAF0020 */ sw $t7, 0x20($sp) -/* 0DCE28 7F0A82F8 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DCE2C 7F0A82FC 8FB00038 */ lw $s0, 0x38($sp) -/* 0DCE30 7F0A8300 27BD0118 */ addiu $sp, $sp, 0x118 -/* 0DCE34 7F0A8304 03E00008 */ jr $ra -/* 0DCE38 7F0A8308 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0A830C -/* 0DCE3C 7F0A830C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0DCE40 7F0A8310 AFBF001C */ sw $ra, 0x1c($sp) -/* 0DCE44 7F0A8314 AFB00018 */ sw $s0, 0x18($sp) -/* 0DCE48 7F0A8318 0FC29C53 */ jal sub_GAME_7F0A714C -/* 0DCE4C 7F0A831C 00003025 */ move $a2, $zero -/* 0DCE50 7F0A8320 0FC1F97F */ jal check_watch_page_transistion_running -/* 0DCE54 7F0A8324 00408025 */ move $s0, $v0 -/* 0DCE58 7F0A8328 24010001 */ li $at, 1 -/* 0DCE5C 7F0A832C 1041000B */ beq $v0, $at, .L7F0A835C -/* 0DCE60 7F0A8330 00000000 */ nop -/* 0DCE64 7F0A8334 0FC29F71 */ jal sub_GAME_7F0A7DC4 -/* 0DCE68 7F0A8338 02002025 */ move $a0, $s0 -/* 0DCE6C 7F0A833C 0FC29F06 */ jal sub_GAME_7F0A7C18 -/* 0DCE70 7F0A8340 00402025 */ move $a0, $v0 -/* 0DCE74 7F0A8344 0FC29F6F */ jal sub_GAME_7F0A7DBC -/* 0DCE78 7F0A8348 00402025 */ move $a0, $v0 -/* 0DCE7C 7F0A834C 0FC29FAA */ jal debug_gun_watch_move_related -/* 0DCE80 7F0A8350 00402025 */ move $a0, $v0 -/* 0DCE84 7F0A8354 10000003 */ b .L7F0A8364 -/* 0DCE88 7F0A8358 00408025 */ move $s0, $v0 -.L7F0A835C: -/* 0DCE8C 7F0A835C 0FC1F97F */ jal check_watch_page_transistion_running -/* 0DCE90 7F0A8360 00000000 */ nop -.L7F0A8364: -/* 0DCE94 7F0A8364 8FBF001C */ lw $ra, 0x1c($sp) -/* 0DCE98 7F0A8368 02001025 */ move $v0, $s0 -/* 0DCE9C 7F0A836C 8FB00018 */ lw $s0, 0x18($sp) -/* 0DCEA0 7F0A8370 03E00008 */ jr $ra -/* 0DCEA4 7F0A8374 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#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 -/* 0DCEB4 7F0A8384 0C0030EB */ jal get_controller_buttons_pressed -/* 0DCEB8 7F0A8388 3405A000 */ li $a1, 40960 -/* 0DCEBC 7F0A838C 1440000D */ bnez $v0, .L7F0A83C4 -/* 0DCEC0 7F0A8390 00002025 */ move $a0, $zero -/* 0DCEC4 7F0A8394 0C0030EB */ jal get_controller_buttons_pressed -/* 0DCEC8 7F0A8398 24051000 */ li $a1, 4096 -/* 0DCECC 7F0A839C 5040001E */ beql $v0, $zero, .L7F0A8418 -/* 0DCED0 7F0A83A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DCED4 7F0A83A4 0FC17674 */ jal get_item_in_hand -/* 0DCED8 7F0A83A8 00002025 */ move $a0, $zero -/* 0DCEDC 7F0A83AC 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCEE0 7F0A83B0 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCEE4 7F0A83B4 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0DCEE8 7F0A83B8 AFA2001C */ sw $v0, 0x1c($sp) -/* 0DCEEC 7F0A83BC 8FAE001C */ lw $t6, 0x1c($sp) -/* 0DCEF0 7F0A83C0 104E0014 */ beq $v0, $t6, .L7F0A8414 -.L7F0A83C4: -/* 0DCEF4 7F0A83C4 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCEF8 7F0A83C8 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0DCEFC 7F0A83CC 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCF00 7F0A83D0 00002025 */ move $a0, $zero -/* 0DCF04 7F0A83D4 0FC176D5 */ jal remove_hands_item -/* 0DCF08 7F0A83D8 00402825 */ move $a1, $v0 -/* 0DCF0C 7F0A83DC 24040001 */ li $a0, 1 -/* 0DCF10 7F0A83E0 0FC176D5 */ jal remove_hands_item -/* 0DCF14 7F0A83E4 00002825 */ move $a1, $zero -/* 0DCF18 7F0A83E8 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCF1C 7F0A83EC 0FC23634 */ jal sub_GAME_7F08D8D0 -/* 0DCF20 7F0A83F0 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCF24 7F0A83F4 240F000A */ li $t7, 10 -/* 0DCF28 7F0A83F8 3C018004 */ lui $at, %hi(D_800409C4) -/* 0DCF2C 7F0A83FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0DCF30 7F0A8400 AC2F09C4 */ sw $t7, %lo(D_800409C4)($at) -/* 0DCF34 7F0A8404 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0DCF38 7F0A8408 2405009F */ li $a1, 159 -/* 0DCF3C 7F0A840C 0C002382 */ jal play_sfx_a1 -/* 0DCF40 7F0A8410 00003025 */ move $a2, $zero -.L7F0A8414: -/* 0DCF44 7F0A8414 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A8418: -/* 0DCF48 7F0A8418 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0DCF4C 7F0A841C 03E00008 */ jr $ra -/* 0DCF50 7F0A8420 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void debug_gun_watch_move_related2(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel debug_gun_watch_move_related2 -/* 0DCF54 7F0A8424 27BDF6D8 */ addiu $sp, $sp, -0x928 -/* 0DCF58 7F0A8428 AFBF003C */ sw $ra, 0x3c($sp) -/* 0DCF5C 7F0A842C AFB00038 */ sw $s0, 0x38($sp) -/* 0DCF60 7F0A8430 0FC29C53 */ jal sub_GAME_7F0A714C -/* 0DCF64 7F0A8434 00003025 */ move $a2, $zero -/* 0DCF68 7F0A8438 0FC1F97F */ jal check_watch_page_transistion_running -/* 0DCF6C 7F0A843C AFA20928 */ sw $v0, 0x928($sp) -/* 0DCF70 7F0A8440 24010001 */ li $at, 1 -/* 0DCF74 7F0A8444 504101AE */ beql $v0, $at, .L7F0A8B00 -/* 0DCF78 7F0A8448 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DCF7C 7F0A844C 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0DCF80 7F0A8450 00000000 */ nop -/* 0DCF84 7F0A8454 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCF88 7F0A8458 AFA20924 */ sw $v0, 0x924($sp) -/* 0DCF8C 7F0A845C 0FC2354A */ jal sub_GAME_7F08D528 -/* 0DCF90 7F0A8460 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCF94 7F0A8464 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCF98 7F0A8468 E7A00894 */ swc1 $f0, 0x894($sp) -/* 0DCF9C 7F0A846C 0FC23554 */ jal sub_GAME_7F08D550 -/* 0DCFA0 7F0A8470 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCFA4 7F0A8474 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCFA8 7F0A8478 E7A00890 */ swc1 $f0, 0x890($sp) -/* 0DCFAC 7F0A847C 0FC2355E */ jal sub_GAME_7F08D578 -/* 0DCFB0 7F0A8480 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCFB4 7F0A8484 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCFB8 7F0A8488 E7A0088C */ swc1 $f0, 0x88c($sp) -/* 0DCFBC 7F0A848C 0FC23568 */ jal sub_GAME_7F08D5A0 -/* 0DCFC0 7F0A8490 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCFC4 7F0A8494 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCFC8 7F0A8498 E7A00888 */ swc1 $f0, 0x888($sp) -/* 0DCFCC 7F0A849C 0FC234AA */ jal sub_GAME_7F08D2A8 -/* 0DCFD0 7F0A84A0 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCFD4 7F0A84A4 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCFD8 7F0A84A8 AFA20884 */ sw $v0, 0x884($sp) -/* 0DCFDC 7F0A84AC 0FC23614 */ jal sub_GAME_7F08D850 -/* 0DCFE0 7F0A84B0 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCFE4 7F0A84B4 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DCFE8 7F0A84B8 E7A00880 */ swc1 $f0, 0x880($sp) -/* 0DCFEC 7F0A84BC 0FC2361E */ jal sub_GAME_7F08D878 -/* 0DCFF0 7F0A84C0 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DCFF4 7F0A84C4 0FC24415 */ jal get_debug_gunwatchpos_flag -/* 0DCFF8 7F0A84C8 E7A0087C */ swc1 $f0, 0x87c($sp) -/* 0DCFFC 7F0A84CC 50400040 */ beql $v0, $zero, .L7F0A85D0 -/* 0DD000 7F0A84D0 3C014120 */ lui $at, 0x4120 -/* 0DD004 7F0A84D4 0FC17674 */ jal get_item_in_hand -/* 0DD008 7F0A84D8 00002025 */ move $a0, $zero -/* 0DD00C 7F0A84DC 000270C0 */ sll $t6, $v0, 3 -/* 0DD010 7F0A84E0 01C27023 */ subu $t6, $t6, $v0 -/* 0DD014 7F0A84E4 3C0F8003 */ lui $t7, %hi(gitem_structs) -/* 0DD018 7F0A84E8 25EF3924 */ addiu $t7, %lo(gitem_structs) # addiu $t7, $t7, 0x3924 -/* 0DD01C 7F0A84EC 000E70C0 */ sll $t6, $t6, 3 -/* 0DD020 7F0A84F0 01CF8021 */ addu $s0, $t6, $t7 -/* 0DD024 7F0A84F4 00002025 */ move $a0, $zero -/* 0DD028 7F0A84F8 0C0030C3 */ jal get_controller_buttons_held -/* 0DD02C 7F0A84FC 24050002 */ li $a1, 2 -/* 0DD030 7F0A8500 10400006 */ beqz $v0, .L7F0A851C -/* 0DD034 7F0A8504 00002025 */ move $a0, $zero -/* 0DD038 7F0A8508 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DD03C 7F0A850C 44813000 */ mtc1 $at, $f6 -/* 0DD040 7F0A8510 C604002C */ lwc1 $f4, 0x2c($s0) -/* 0DD044 7F0A8514 46062201 */ sub.s $f8, $f4, $f6 -/* 0DD048 7F0A8518 E608002C */ swc1 $f8, 0x2c($s0) -.L7F0A851C: -/* 0DD04C 7F0A851C 0C0030C3 */ jal get_controller_buttons_held -/* 0DD050 7F0A8520 24050001 */ li $a1, 1 -/* 0DD054 7F0A8524 10400006 */ beqz $v0, .L7F0A8540 -/* 0DD058 7F0A8528 00002025 */ move $a0, $zero -/* 0DD05C 7F0A852C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DD060 7F0A8530 44818000 */ mtc1 $at, $f16 -/* 0DD064 7F0A8534 C60A002C */ lwc1 $f10, 0x2c($s0) -/* 0DD068 7F0A8538 46105480 */ add.s $f18, $f10, $f16 -/* 0DD06C 7F0A853C E612002C */ swc1 $f18, 0x2c($s0) -.L7F0A8540: -/* 0DD070 7F0A8540 0C0030C3 */ jal get_controller_buttons_held -/* 0DD074 7F0A8544 24050004 */ li $a1, 4 -/* 0DD078 7F0A8548 10400006 */ beqz $v0, .L7F0A8564 -/* 0DD07C 7F0A854C 00002025 */ move $a0, $zero -/* 0DD080 7F0A8550 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DD084 7F0A8554 44813000 */ mtc1 $at, $f6 -/* 0DD088 7F0A8558 C6040030 */ lwc1 $f4, 0x30($s0) -/* 0DD08C 7F0A855C 46062200 */ add.s $f8, $f4, $f6 -/* 0DD090 7F0A8560 E6080030 */ swc1 $f8, 0x30($s0) -.L7F0A8564: -/* 0DD094 7F0A8564 0C0030C3 */ jal get_controller_buttons_held -/* 0DD098 7F0A8568 24050008 */ li $a1, 8 -/* 0DD09C 7F0A856C 10400006 */ beqz $v0, .L7F0A8588 -/* 0DD0A0 7F0A8570 00002025 */ move $a0, $zero -/* 0DD0A4 7F0A8574 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DD0A8 7F0A8578 44818000 */ mtc1 $at, $f16 -/* 0DD0AC 7F0A857C C60A0030 */ lwc1 $f10, 0x30($s0) -/* 0DD0B0 7F0A8580 46105481 */ sub.s $f18, $f10, $f16 -/* 0DD0B4 7F0A8584 E6120030 */ swc1 $f18, 0x30($s0) -.L7F0A8588: -/* 0DD0B8 7F0A8588 0C0030C3 */ jal get_controller_buttons_held -/* 0DD0BC 7F0A858C 24050020 */ li $a1, 32 -/* 0DD0C0 7F0A8590 10400006 */ beqz $v0, .L7F0A85AC -/* 0DD0C4 7F0A8594 00002025 */ move $a0, $zero -/* 0DD0C8 7F0A8598 3C018006 */ lui $at, %hi(D_80058520) -/* 0DD0CC 7F0A859C C4268520 */ lwc1 $f6, %lo(D_80058520)($at) -/* 0DD0D0 7F0A85A0 C6040034 */ lwc1 $f4, 0x34($s0) -/* 0DD0D4 7F0A85A4 46062202 */ mul.s $f8, $f4, $f6 -/* 0DD0D8 7F0A85A8 E6080034 */ swc1 $f8, 0x34($s0) -.L7F0A85AC: -/* 0DD0DC 7F0A85AC 0C0030C3 */ jal get_controller_buttons_held -/* 0DD0E0 7F0A85B0 24050010 */ li $a1, 16 -/* 0DD0E4 7F0A85B4 10400005 */ beqz $v0, .L7F0A85CC -/* 0DD0E8 7F0A85B8 3C018006 */ lui $at, %hi(D_80058524) -/* 0DD0EC 7F0A85BC C60A0034 */ lwc1 $f10, 0x34($s0) -/* 0DD0F0 7F0A85C0 C4308524 */ lwc1 $f16, %lo(D_80058524)($at) -/* 0DD0F4 7F0A85C4 46105482 */ mul.s $f18, $f10, $f16 -/* 0DD0F8 7F0A85C8 E6120034 */ swc1 $f18, 0x34($s0) -.L7F0A85CC: -/* 0DD0FC 7F0A85CC 3C014120 */ li $at, 0x41200000 # 10.000000 -.L7F0A85D0: -/* 0DD100 7F0A85D0 44812000 */ mtc1 $at, $f4 -/* 0DD104 7F0A85D4 3C018006 */ lui $at, %hi(D_80058528) -/* 0DD108 7F0A85D8 C4268528 */ lwc1 $f6, %lo(D_80058528)($at) -/* 0DD10C 7F0A85DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DD110 7F0A85E0 44814000 */ mtc1 $at, $f8 -/* 0DD114 7F0A85E4 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 0DD118 7F0A85E8 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 0DD11C 7F0A85EC 8FA40924 */ lw $a0, 0x924($sp) -/* 0DD120 7F0A85F0 27A50922 */ addiu $a1, $sp, 0x922 -/* 0DD124 7F0A85F4 8FA60894 */ lw $a2, 0x894($sp) -/* 0DD128 7F0A85F8 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0DD12C 7F0A85FC E7A60014 */ swc1 $f6, 0x14($sp) -/* 0DD130 7F0A8600 0C003FAC */ jal guPerspective -/* 0DD134 7F0A8604 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0DD138 7F0A8608 8FA20928 */ lw $v0, 0x928($sp) -/* 0DD13C 7F0A860C 3C180103 */ lui $t8, (0x01030040 >> 16) # lui $t8, 0x103 -/* 0DD140 7F0A8610 37180040 */ ori $t8, (0x01030040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0DD144 7F0A8614 00408025 */ move $s0, $v0 -/* 0DD148 7F0A8618 AE180000 */ sw $t8, ($s0) -/* 0DD14C 7F0A861C 24420008 */ addiu $v0, $v0, 8 -/* 0DD150 7F0A8620 AFA20928 */ sw $v0, 0x928($sp) -/* 0DD154 7F0A8624 0C003A2C */ jal osVirtualToPhysical -/* 0DD158 7F0A8628 8FA40924 */ lw $a0, 0x924($sp) -/* 0DD15C 7F0A862C AE020004 */ sw $v0, 4($s0) -/* 0DD160 7F0A8630 3C018006 */ lui $at, %hi(D_8005852C) -/* 0DD164 7F0A8634 C430852C */ lwc1 $f16, %lo(D_8005852C)($at) -/* 0DD168 7F0A8638 C7AA087C */ lwc1 $f10, 0x87c($sp) -/* 0DD16C 7F0A863C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DD170 7F0A8640 44812000 */ mtc1 $at, $f4 -/* 0DD174 7F0A8644 46105482 */ mul.s $f18, $f10, $f16 -/* 0DD178 7F0A8648 27A508E0 */ addiu $a1, $sp, 0x8e0 -/* 0DD17C 7F0A864C 0FC1617F */ jal sub_GAME_7F0585FC -/* 0DD180 7F0A8650 46049303 */ div.s $f12, $f18, $f4 -/* 0DD184 7F0A8654 3C018006 */ lui $at, %hi(D_80058530) -/* 0DD188 7F0A8658 C4208530 */ lwc1 $f0, %lo(D_80058530)($at) -/* 0DD18C 7F0A865C C7A60880 */ lwc1 $f6, 0x880($sp) -/* 0DD190 7F0A8660 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DD194 7F0A8664 44815000 */ mtc1 $at, $f10 -/* 0DD198 7F0A8668 46003202 */ mul.s $f8, $f6, $f0 -/* 0DD19C 7F0A866C 27B008A0 */ addiu $s0, $sp, 0x8a0 -/* 0DD1A0 7F0A8670 02002825 */ move $a1, $s0 -/* 0DD1A4 7F0A8674 460A4403 */ div.s $f16, $f8, $f10 -/* 0DD1A8 7F0A8678 0FC161A2 */ jal sub_GAME_7F058688 -/* 0DD1AC 7F0A867C 46100301 */ sub.s $f12, $f0, $f16 -/* 0DD1B0 7F0A8680 02002025 */ move $a0, $s0 -/* 0DD1B4 7F0A8684 0FC1601A */ jal sub_GAME_7F058068 -/* 0DD1B8 7F0A8688 27A508E0 */ addiu $a1, $sp, 0x8e0 -/* 0DD1BC 7F0A868C 3C018004 */ lui $at, %hi(D_80040B14) -/* 0DD1C0 7F0A8690 0FC15FA8 */ jal cosf -/* 0DD1C4 7F0A8694 C42C0B14 */ lwc1 $f12, %lo(D_80040B14)($at) -/* 0DD1C8 7F0A8698 C7B20888 */ lwc1 $f18, 0x888($sp) -/* 0DD1CC 7F0A869C 3C018004 */ lui $at, %hi(D_80040B14) -/* 0DD1D0 7F0A86A0 C42C0B14 */ lwc1 $f12, %lo(D_80040B14)($at) -/* 0DD1D4 7F0A86A4 46120102 */ mul.s $f4, $f0, $f18 -/* 0DD1D8 7F0A86A8 0FC15FAB */ jal sinf -/* 0DD1DC 7F0A86AC E7A4089C */ swc1 $f4, 0x89c($sp) -/* 0DD1E0 7F0A86B0 C7A60888 */ lwc1 $f6, 0x888($sp) -/* 0DD1E4 7F0A86B4 C7AE0890 */ lwc1 $f14, 0x890($sp) -/* 0DD1E8 7F0A86B8 44801000 */ mtc1 $zero, $f2 -/* 0DD1EC 7F0A86BC 46060202 */ mul.s $f8, $f0, $f6 -/* 0DD1F0 7F0A86C0 C7AC088C */ lwc1 $f12, 0x88c($sp) -/* 0DD1F4 7F0A86C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DD1F8 7F0A86C8 44818000 */ mtc1 $at, $f16 -/* 0DD1FC 7F0A86CC 44066000 */ mfc1 $a2, $f12 -/* 0DD200 7F0A86D0 02002025 */ move $a0, $s0 -/* 0DD204 7F0A86D4 8FA5089C */ lw $a1, 0x89c($sp) -/* 0DD208 7F0A86D8 460E4280 */ add.s $f10, $f8, $f14 -/* 0DD20C 7F0A86DC E7AE0018 */ swc1 $f14, 0x18($sp) -/* 0DD210 7F0A86E0 E7A20010 */ swc1 $f2, 0x10($sp) -/* 0DD214 7F0A86E4 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0DD218 7F0A86E8 44075000 */ mfc1 $a3, $f10 -/* 0DD21C 7F0A86EC E7A20024 */ swc1 $f2, 0x24($sp) -/* 0DD220 7F0A86F0 E7AC0014 */ swc1 $f12, 0x14($sp) -/* 0DD224 7F0A86F4 0FC165A5 */ jal sub_GAME_7F059694 -/* 0DD228 7F0A86F8 E7B00020 */ swc1 $f16, 0x20($sp) -/* 0DD22C 7F0A86FC 02002025 */ move $a0, $s0 -/* 0DD230 7F0A8700 0FC1601A */ jal sub_GAME_7F058068 -/* 0DD234 7F0A8704 27A508E0 */ addiu $a1, $sp, 0x8e0 -/* 0DD238 7F0A8708 0FC29BBA */ jal sub_GAME_7F0A6EE8 -/* 0DD23C 7F0A870C 8FA40928 */ lw $a0, 0x928($sp) -/* 0DD240 7F0A8710 3C19A0FF */ lui $t9, (0xA0FFA03C >> 16) # lui $t9, 0xa0ff -/* 0DD244 7F0A8714 3739A03C */ ori $t9, (0xA0FFA03C & 0xFFFF) # ori $t9, $t9, 0xa03c -/* 0DD248 7F0A8718 AFB90010 */ sw $t9, 0x10($sp) -/* 0DD24C 7F0A871C 00402025 */ move $a0, $v0 -/* 0DD250 7F0A8720 8FA50884 */ lw $a1, 0x884($sp) -/* 0DD254 7F0A8724 27A608E0 */ addiu $a2, $sp, 0x8e0 -/* 0DD258 7F0A8728 0FC18C01 */ jal set_enviro_fog_for_items_in_solo_watch_menu -/* 0DD25C 7F0A872C 24070040 */ li $a3, 64 -/* 0DD260 7F0A8730 3C098004 */ lui $t1, %hi(ptrFirstFontTableSmall) -/* 0DD264 7F0A8734 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableSmall) -/* 0DD268 7F0A8738 8D290EAC */ lw $t1, %lo(ptrFirstFontTableSmall)($t1) -/* 0DD26C 7F0A873C 8D4A0EB0 */ lw $t2, %lo(ptrSecondFontTableSmall)($t2) -/* 0DD270 7F0A8740 AFA20928 */ sw $v0, 0x928($sp) -/* 0DD274 7F0A8744 AFA00860 */ sw $zero, 0x860($sp) -/* 0DD278 7F0A8748 AFA0085C */ sw $zero, 0x85c($sp) -/* 0DD27C 7F0A874C A3A00084 */ sb $zero, 0x84($sp) -/* 0DD280 7F0A8750 00008025 */ move $s0, $zero -/* 0DD284 7F0A8754 AFA90858 */ sw $t1, 0x858($sp) -/* 0DD288 7F0A8758 0FC2340E */ jal sub_GAME_7F08D038 -/* 0DD28C 7F0A875C AFAA0854 */ sw $t2, 0x854($sp) -/* 0DD290 7F0A8760 1840000B */ blez $v0, .L7F0A8790 -/* 0DD294 7F0A8764 00000000 */ nop -.L7F0A8768: -/* 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_append_from_obseg_textbank -/* 0DD2A8 7F0A8778 00402825 */ move $a1, $v0 -/* 0DD2AC 7F0A877C 0FC2340E */ jal sub_GAME_7F08D038 -/* 0DD2B0 7F0A8780 26100001 */ addiu $s0, $s0, 1 -/* 0DD2B4 7F0A8784 0202082A */ slt $at, $s0, $v0 -/* 0DD2B8 7F0A8788 1420FFF7 */ bnez $at, .L7F0A8768 -/* 0DD2BC 7F0A878C 00000000 */ nop -.L7F0A8790: -/* 0DD2C0 7F0A8790 3C038004 */ lui $v1, %hi(D_800409C4) -/* 0DD2C4 7F0A8794 246309C4 */ addiu $v1, %lo(D_800409C4) # addiu $v1, $v1, 0x9c4 -/* 0DD2C8 7F0A8798 8C620000 */ lw $v0, ($v1) -/* 0DD2CC 7F0A879C 18400002 */ blez $v0, .L7F0A87A8 -/* 0DD2D0 7F0A87A0 244BFFFF */ addiu $t3, $v0, -1 -/* 0DD2D4 7F0A87A4 AC6B0000 */ sw $t3, ($v1) -.L7F0A87A8: -/* 0DD2D8 7F0A87A8 0FC296E0 */ jal sub_GAME_7F0A5B80 -/* 0DD2DC 7F0A87AC 00000000 */ nop -/* 0DD2E0 7F0A87B0 3C0E8005 */ lui $t6, %hi(j_text_trigger) -/* 0DD2E4 7F0A87B4 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) -/* 0DD2E8 7F0A87B8 240C004E */ li $t4, 78 -/* 0DD2EC 7F0A87BC 240D008C */ li $t5, 140 -/* 0DD2F0 7F0A87C0 AFAC0870 */ sw $t4, 0x870($sp) -/* 0DD2F4 7F0A87C4 11C00003 */ beqz $t6, .L7F0A87D4 -/* 0DD2F8 7F0A87C8 AFAD086C */ sw $t5, 0x86c($sp) -/* 0DD2FC 7F0A87CC 10000002 */ b .L7F0A87D8 -/* 0DD300 7F0A87D0 2402000E */ li $v0, 14 -.L7F0A87D4: -/* 0DD304 7F0A87D4 2402000C */ li $v0, 12 -.L7F0A87D8: -/* 0DD308 7F0A87D8 00028040 */ sll $s0, $v0, 1 -/* 0DD30C 7F0A87DC 2610008D */ addiu $s0, $s0, 0x8d -/* 0DD310 7F0A87E0 0FC2B366 */ jal microcode_constructor -/* 0DD314 7F0A87E4 8FA40928 */ lw $a0, 0x928($sp) -/* 0DD318 7F0A87E8 3C0F8005 */ lui $t7, %hi(j_text_trigger) -/* 0DD31C 7F0A87EC 8DEF84D0 */ lw $t7, %lo(j_text_trigger)($t7) -/* 0DD320 7F0A87F0 AFA20928 */ sw $v0, 0x928($sp) -/* 0DD324 7F0A87F4 27A40860 */ addiu $a0, $sp, 0x860 -/* 0DD328 7F0A87F8 11E00003 */ beqz $t7, .L7F0A8808 -/* 0DD32C 7F0A87FC 27A5085C */ addiu $a1, $sp, 0x85c -/* 0DD330 7F0A8800 10000002 */ b .L7F0A880C -/* 0DD334 7F0A8804 2402000E */ li $v0, 14 -.L7F0A8808: -/* 0DD338 7F0A8808 2402000C */ li $v0, 12 -.L7F0A880C: -/* 0DD33C 7F0A880C 8FB80858 */ lw $t8, 0x858($sp) -/* 0DD340 7F0A8810 27A60084 */ addiu $a2, $sp, 0x84 -/* 0DD344 7F0A8814 8FA70854 */ lw $a3, 0x854($sp) -/* 0DD348 7F0A8818 AFA20014 */ sw $v0, 0x14($sp) -/* 0DD34C 7F0A881C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DD350 7F0A8820 AFB80010 */ sw $t8, 0x10($sp) -/* 0DD354 7F0A8824 3C198005 */ lui $t9, %hi(j_text_trigger) -/* 0DD358 7F0A8828 8F3984D0 */ lw $t9, %lo(j_text_trigger)($t9) -/* 0DD35C 7F0A882C 8FA40928 */ lw $a0, 0x928($sp) -/* 0DD360 7F0A8830 2405004E */ li $a1, 78 -/* 0DD364 7F0A8834 13200003 */ beqz $t9, .L7F0A8844 -/* 0DD368 7F0A8838 2406008C */ li $a2, 140 -/* 0DD36C 7F0A883C 10000002 */ b .L7F0A8848 -/* 0DD370 7F0A8840 2402000E */ li $v0, 14 -.L7F0A8844: -/* 0DD374 7F0A8844 2402000C */ li $v0, 12 -.L7F0A8848: -/* 0DD378 7F0A8848 00024880 */ sll $t1, $v0, 2 -/* 0DD37C 7F0A884C 8FA7085C */ lw $a3, 0x85c($sp) -/* 0DD380 7F0A8850 01224821 */ addu $t1, $t1, $v0 -/* 0DD384 7F0A8854 252A008C */ addiu $t2, $t1, 0x8c -/* 0DD388 7F0A8858 AFAA0010 */ sw $t2, 0x10($sp) -/* 0DD38C 7F0A885C AFA00014 */ sw $zero, 0x14($sp) -/* 0DD390 7F0A8860 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0DD394 7F0A8864 24E7004E */ addiu $a3, $a3, 0x4e -/* 0DD398 7F0A8868 3C038005 */ lui $v1, %hi(j_text_trigger) -/* 0DD39C 7F0A886C 8C6384D0 */ lw $v1, %lo(j_text_trigger)($v1) -/* 0DD3A0 7F0A8870 00402025 */ move $a0, $v0 -/* 0DD3A4 7F0A8874 27A50870 */ addiu $a1, $sp, 0x870 -/* 0DD3A8 7F0A8878 10600003 */ beqz $v1, .L7F0A8888 -/* 0DD3AC 7F0A887C 27A6086C */ addiu $a2, $sp, 0x86c -/* 0DD3B0 7F0A8880 10000002 */ b .L7F0A888C -/* 0DD3B4 7F0A8884 2408000E */ li $t0, 14 -.L7F0A8888: -/* 0DD3B8 7F0A8888 2408000C */ li $t0, 12 -.L7F0A888C: -/* 0DD3BC 7F0A888C 10600003 */ beqz $v1, .L7F0A889C -/* 0DD3C0 7F0A8890 27A70084 */ addiu $a3, $sp, 0x84 -/* 0DD3C4 7F0A8894 10000002 */ b .L7F0A88A0 -/* 0DD3C8 7F0A8898 2402000E */ li $v0, 14 -.L7F0A889C: -/* 0DD3CC 7F0A889C 2402000C */ li $v0, 12 -.L7F0A88A0: -/* 0DD3D0 7F0A88A0 8FAE085C */ lw $t6, 0x85c($sp) -/* 0DD3D4 7F0A88A4 3C198004 */ lui $t9, %hi(D_800409B0) -/* 0DD3D8 7F0A88A8 8F3909B0 */ lw $t9, %lo(D_800409B0)($t9) -/* 0DD3DC 7F0A88AC 8FAB0854 */ lw $t3, 0x854($sp) -/* 0DD3E0 7F0A88B0 8FAC0858 */ lw $t4, 0x858($sp) -/* 0DD3E4 7F0A88B4 3C0D00AA */ lui $t5, (0x00AA00B0 >> 16) # lui $t5, 0xaa -/* 0DD3E8 7F0A88B8 0008C080 */ sll $t8, $t0, 2 -/* 0DD3EC 7F0A88BC 0308C021 */ addu $t8, $t8, $t0 -/* 0DD3F0 7F0A88C0 35AD00B0 */ ori $t5, (0x00AA00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0DD3F4 7F0A88C4 25CF0001 */ addiu $t7, $t6, 1 -/* 0DD3F8 7F0A88C8 AFAF001C */ sw $t7, 0x1c($sp) -/* 0DD3FC 7F0A88CC AFAD0018 */ sw $t5, 0x18($sp) -/* 0DD400 7F0A88D0 AFB80020 */ sw $t8, 0x20($sp) -/* 0DD404 7F0A88D4 AFA20028 */ sw $v0, 0x28($sp) -/* 0DD408 7F0A88D8 AFB90024 */ sw $t9, 0x24($sp) -/* 0DD40C 7F0A88DC AFAB0010 */ sw $t3, 0x10($sp) -/* 0DD410 7F0A88E0 0FC2B6AF */ jal en_text_write_stuff -/* 0DD414 7F0A88E4 AFAC0014 */ sw $t4, 0x14($sp) -/* 0DD418 7F0A88E8 3C098005 */ lui $t1, %hi(j_text_trigger) -/* 0DD41C 7F0A88EC 8D2984D0 */ lw $t1, %lo(j_text_trigger)($t1) -/* 0DD420 7F0A88F0 00402025 */ move $a0, $v0 -/* 0DD424 7F0A88F4 2405004B */ li $a1, 75 -/* 0DD428 7F0A88F8 11200003 */ beqz $t1, .L7F0A8908 -/* 0DD42C 7F0A88FC 02003025 */ move $a2, $s0 -/* 0DD430 7F0A8900 10000002 */ b .L7F0A890C -/* 0DD434 7F0A8904 2402000E */ li $v0, 14 -.L7F0A8908: -/* 0DD438 7F0A8908 2402000C */ li $v0, 12 -.L7F0A890C: -/* 0DD43C 7F0A890C 8FA7085C */ lw $a3, 0x85c($sp) -/* 0DD440 7F0A8910 00505021 */ addu $t2, $v0, $s0 -/* 0DD444 7F0A8914 3C0C0080 */ lui $t4, (0x00800050 >> 16) # lui $t4, 0x80 -/* 0DD448 7F0A8918 358C0050 */ ori $t4, (0x00800050 & 0xFFFF) # ori $t4, $t4, 0x50 -/* 0DD44C 7F0A891C 254BFFFE */ addiu $t3, $t2, -2 -/* 0DD450 7F0A8920 AFAB0010 */ sw $t3, 0x10($sp) -/* 0DD454 7F0A8924 AFAC0014 */ sw $t4, 0x14($sp) -/* 0DD458 7F0A8928 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0DD45C 7F0A892C 24E70052 */ addiu $a3, $a3, 0x52 -/* 0DD460 7F0A8930 3C0D8004 */ lui $t5, %hi(ptrSecondFontTableSmall) -/* 0DD464 7F0A8934 8DAD0EB0 */ lw $t5, %lo(ptrSecondFontTableSmall)($t5) -/* 0DD468 7F0A8938 3C108004 */ lui $s0, %hi(ptrFirstFontTableSmall) -/* 0DD46C 7F0A893C 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DD470 7F0A8940 AFA20928 */ sw $v0, 0x928($sp) -/* 0DD474 7F0A8944 8E100EAC */ lw $s0, %lo(ptrFirstFontTableSmall)($s0) -/* 0DD478 7F0A8948 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DD47C 7F0A894C 0FC234D0 */ jal sub_GAME_7F08D340 -/* 0DD480 7F0A8950 AFAD0058 */ sw $t5, 0x58($sp) -/* 0DD484 7F0A8954 3C018004 */ lui $at, %hi(D_800409BC) -/* 0DD488 7F0A8958 C43209BC */ lwc1 $f18, %lo(D_800409BC)($at) -/* 0DD48C 7F0A895C 3C0E8004 */ lui $t6, %hi(D_800409B8) -/* 0DD490 7F0A8960 8DCE09B8 */ lw $t6, %lo(D_800409B8)($t6) -/* 0DD494 7F0A8964 46009121 */ cvt.d.s $f4, $f18 -/* 0DD498 7F0A8968 3C058005 */ lui $a1, %hi(aDDDF) -/* 0DD49C 7F0A896C 3C068004 */ lui $a2, %hi(D_800409B0) -/* 0DD4A0 7F0A8970 3C078004 */ lui $a3, %hi(D_800409B4) -/* 0DD4A4 7F0A8974 AFA2004C */ sw $v0, 0x4c($sp) -/* 0DD4A8 7F0A8978 8CE709B4 */ lw $a3, %lo(D_800409B4)($a3) -/* 0DD4AC 7F0A897C 8CC609B0 */ lw $a2, %lo(D_800409B0)($a2) -/* 0DD4B0 7F0A8980 24A57768 */ addiu $a1, %lo(aDDDF) # addiu $a1, $a1, 0x7768 -/* 0DD4B4 7F0A8984 F7A40018 */ sdc1 $f4, 0x18($sp) -/* 0DD4B8 7F0A8988 27A40060 */ addiu $a0, $sp, 0x60 -/* 0DD4BC 7F0A898C 0C002B25 */ jal sprintf -/* 0DD4C0 7F0A8990 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DD4C4 7F0A8994 0FC2B366 */ jal microcode_constructor -/* 0DD4C8 7F0A8998 8FA40928 */ lw $a0, 0x928($sp) -/* 0DD4CC 7F0A899C AFA20928 */ sw $v0, 0x928($sp) -/* 0DD4D0 7F0A89A0 27A40050 */ addiu $a0, $sp, 0x50 -/* 0DD4D4 7F0A89A4 27A50054 */ addiu $a1, $sp, 0x54 -/* 0DD4D8 7F0A89A8 27A60060 */ addiu $a2, $sp, 0x60 -/* 0DD4DC 7F0A89AC 8FA70058 */ lw $a3, 0x58($sp) -/* 0DD4E0 7F0A89B0 AFB00010 */ sw $s0, 0x10($sp) -/* 0DD4E4 7F0A89B4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DD4E8 7F0A89B8 AFA00014 */ sw $zero, 0x14($sp) -/* 0DD4EC 7F0A89BC 3C0F8004 */ lui $t7, %hi(D_800409C0) -/* 0DD4F0 7F0A89C0 8DEF09C0 */ lw $t7, %lo(D_800409C0)($t7) -/* 0DD4F4 7F0A89C4 3C188005 */ lui $t8, %hi(j_text_trigger) -/* 0DD4F8 7F0A89C8 27A40050 */ addiu $a0, $sp, 0x50 -/* 0DD4FC 7F0A89CC 11E0004B */ beqz $t7, .L7F0A8AFC -/* 0DD500 7F0A89D0 27A50054 */ addiu $a1, $sp, 0x54 -/* 0DD504 7F0A89D4 8F1884D0 */ lw $t8, %lo(j_text_trigger)($t8) -/* 0DD508 7F0A89D8 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DD50C 7F0A89DC 8FA70058 */ lw $a3, 0x58($sp) -/* 0DD510 7F0A89E0 13000003 */ beqz $t8, .L7F0A89F0 -/* 0DD514 7F0A89E4 2402000C */ li $v0, 12 -/* 0DD518 7F0A89E8 10000001 */ b .L7F0A89F0 -/* 0DD51C 7F0A89EC 2402000E */ li $v0, 14 -.L7F0A89F0: -/* 0DD520 7F0A89F0 AFB00010 */ sw $s0, 0x10($sp) -/* 0DD524 7F0A89F4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DD528 7F0A89F8 AFA20014 */ sw $v0, 0x14($sp) -/* 0DD52C 7F0A89FC 3C038005 */ lui $v1, %hi(j_text_trigger) -/* 0DD530 7F0A8A00 8C6384D0 */ lw $v1, %lo(j_text_trigger)($v1) -/* 0DD534 7F0A8A04 2419004E */ li $t9, 78 -/* 0DD538 7F0A8A08 AFB90870 */ sw $t9, 0x870($sp) -/* 0DD53C 7F0A8A0C 10600003 */ beqz $v1, .L7F0A8A1C -/* 0DD540 7F0A8A10 3C0B8004 */ lui $t3, %hi(D_800409C4) -/* 0DD544 7F0A8A14 10000002 */ b .L7F0A8A20 -/* 0DD548 7F0A8A18 2402000E */ li $v0, 14 -.L7F0A8A1C: -/* 0DD54C 7F0A8A1C 2402000C */ li $v0, 12 -.L7F0A8A20: -/* 0DD550 7F0A8A20 8D6B09C4 */ lw $t3, %lo(D_800409C4)($t3) -/* 0DD554 7F0A8A24 00024840 */ sll $t1, $v0, 1 -/* 0DD558 7F0A8A28 252A008C */ addiu $t2, $t1, 0x8c -/* 0DD55C 7F0A8A2C 15600018 */ bnez $t3, .L7F0A8A90 -/* 0DD560 7F0A8A30 AFAA086C */ sw $t2, 0x86c($sp) -/* 0DD564 7F0A8A34 10600003 */ beqz $v1, .L7F0A8A44 -/* 0DD568 7F0A8A38 8FA40928 */ lw $a0, 0x928($sp) -/* 0DD56C 7F0A8A3C 10000002 */ b .L7F0A8A48 -/* 0DD570 7F0A8A40 2402000E */ li $v0, 14 -.L7F0A8A44: -/* 0DD574 7F0A8A44 2402000C */ li $v0, 12 -.L7F0A8A48: -/* 0DD578 7F0A8A48 8FAC0058 */ lw $t4, 0x58($sp) -/* 0DD57C 7F0A8A4C 8FAE0054 */ lw $t6, 0x54($sp) -/* 0DD580 7F0A8A50 3C0DA0FF */ lui $t5, (0xA0FFA0F0 >> 16) # lui $t5, 0xa0ff -/* 0DD584 7F0A8A54 35ADA0F0 */ ori $t5, (0xA0FFA0F0 & 0xFFFF) # ori $t5, $t5, 0xa0f0 -/* 0DD588 7F0A8A58 240F0064 */ li $t7, 100 -/* 0DD58C 7F0A8A5C AFAF0020 */ sw $t7, 0x20($sp) -/* 0DD590 7F0A8A60 AFAD0018 */ sw $t5, 0x18($sp) -/* 0DD594 7F0A8A64 27A50870 */ addiu $a1, $sp, 0x870 -/* 0DD598 7F0A8A68 27A6086C */ addiu $a2, $sp, 0x86c -/* 0DD59C 7F0A8A6C 8FA7004C */ lw $a3, 0x4c($sp) -/* 0DD5A0 7F0A8A70 AFB00014 */ sw $s0, 0x14($sp) -/* 0DD5A4 7F0A8A74 AFA00024 */ sw $zero, 0x24($sp) -/* 0DD5A8 7F0A8A78 AFA20028 */ sw $v0, 0x28($sp) -/* 0DD5AC 7F0A8A7C AFAC0010 */ sw $t4, 0x10($sp) -/* 0DD5B0 7F0A8A80 0FC2B6AF */ jal en_text_write_stuff -/* 0DD5B4 7F0A8A84 AFAE001C */ sw $t6, 0x1c($sp) -/* 0DD5B8 7F0A8A88 1000001A */ b .L7F0A8AF4 -/* 0DD5BC 7F0A8A8C AFA20928 */ sw $v0, 0x928($sp) -.L7F0A8A90: -/* 0DD5C0 7F0A8A90 10600003 */ beqz $v1, .L7F0A8AA0 -/* 0DD5C4 7F0A8A94 8FA40928 */ lw $a0, 0x928($sp) -/* 0DD5C8 7F0A8A98 10000002 */ b .L7F0A8AA4 -/* 0DD5CC 7F0A8A9C 2402000E */ li $v0, 14 -.L7F0A8AA0: -/* 0DD5D0 7F0A8AA0 2402000C */ li $v0, 12 -.L7F0A8AA4: -/* 0DD5D4 7F0A8AA4 8FAA0054 */ lw $t2, 0x54($sp) -/* 0DD5D8 7F0A8AA8 8FB80058 */ lw $t8, 0x58($sp) -/* 0DD5DC 7F0A8AAC 3C090070 */ lui $t1, (0x007000A0 >> 16) # lui $t1, 0x70 -/* 0DD5E0 7F0A8AB0 352900A0 */ ori $t1, (0x007000A0 & 0xFFFF) # ori $t1, $t1, 0xa0 -/* 0DD5E4 7F0A8AB4 2419FFFF */ li $t9, -1 -/* 0DD5E8 7F0A8AB8 240C0064 */ li $t4, 100 -/* 0DD5EC 7F0A8ABC 254B0001 */ addiu $t3, $t2, 1 -/* 0DD5F0 7F0A8AC0 AFAB0020 */ sw $t3, 0x20($sp) -/* 0DD5F4 7F0A8AC4 AFAC0024 */ sw $t4, 0x24($sp) -/* 0DD5F8 7F0A8AC8 AFB90018 */ sw $t9, 0x18($sp) -/* 0DD5FC 7F0A8ACC AFA9001C */ sw $t1, 0x1c($sp) -/* 0DD600 7F0A8AD0 27A50870 */ addiu $a1, $sp, 0x870 -/* 0DD604 7F0A8AD4 27A6086C */ addiu $a2, $sp, 0x86c -/* 0DD608 7F0A8AD8 8FA7004C */ lw $a3, 0x4c($sp) -/* 0DD60C 7F0A8ADC AFB00014 */ sw $s0, 0x14($sp) -/* 0DD610 7F0A8AE0 AFA00028 */ sw $zero, 0x28($sp) -/* 0DD614 7F0A8AE4 AFA2002C */ sw $v0, 0x2c($sp) -/* 0DD618 7F0A8AE8 0FC2B9BB */ jal jp_text_write_stuff -/* 0DD61C 7F0A8AEC AFB80010 */ sw $t8, 0x10($sp) -/* 0DD620 7F0A8AF0 AFA20928 */ sw $v0, 0x928($sp) -.L7F0A8AF4: -/* 0DD624 7F0A8AF4 0FC2A0DE */ jal sub_GAME_7F0A8378 -/* 0DD628 7F0A8AF8 00000000 */ nop -.L7F0A8AFC: -/* 0DD62C 7F0A8AFC 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0A8B00: -/* 0DD630 7F0A8B00 8FA20928 */ lw $v0, 0x928($sp) -/* 0DD634 7F0A8B04 8FB00038 */ lw $s0, 0x38($sp) -/* 0DD638 7F0A8B08 03E00008 */ jr $ra -/* 0DD63C 7F0A8B0C 27BD0928 */ addiu $sp, $sp, 0x928 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel debug_gun_watch_move_related2 -/* 0DDB2C 7F0A8FBC 27BDF6D0 */ addiu $sp, $sp, -0x930 -/* 0DDB30 7F0A8FC0 AFBF003C */ sw $ra, 0x3c($sp) -/* 0DDB34 7F0A8FC4 AFB00038 */ sw $s0, 0x38($sp) -/* 0DDB38 7F0A8FC8 0FC29F39 */ jal sub_GAME_7F0A714C -/* 0DDB3C 7F0A8FCC 00003025 */ move $a2, $zero -/* 0DDB40 7F0A8FD0 0FC1FB08 */ jal check_watch_page_transistion_running -/* 0DDB44 7F0A8FD4 AFA20930 */ sw $v0, 0x930($sp) -/* 0DDB48 7F0A8FD8 24010001 */ li $at, 1 -/* 0DDB4C 7F0A8FDC 504101B8 */ beql $v0, $at, .Ljp7F0A96C0 -/* 0DDB50 7F0A8FE0 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DDB54 7F0A8FE4 0FC2F8A4 */ jal sub_GAME_7F0BD6E0 -/* 0DDB58 7F0A8FE8 00000000 */ nop -/* 0DDB5C 7F0A8FEC 3C048004 */ lui $a0, %hi(D_800409B8) # $a0, 0x8004 -/* 0DDB60 7F0A8FF0 AFA2092C */ sw $v0, 0x92c($sp) -/* 0DDB64 7F0A8FF4 0FC237E4 */ jal sub_GAME_7F08D528 -/* 0DDB68 7F0A8FF8 8C8409E8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DDB6C 7F0A8FFC 3C048004 */ lui $a0, %hi(D_800409B8) # $a0, 0x8004 -/* 0DDB70 7F0A9000 E7A0089C */ swc1 $f0, 0x89c($sp) -/* 0DDB74 7F0A9004 0FC237EE */ jal sub_GAME_7F08D550 -/* 0DDB78 7F0A9008 8C8409E8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DDB7C 7F0A900C 3C048004 */ lui $a0, %hi(D_800409B8) # $a0, 0x8004 -/* 0DDB80 7F0A9010 E7A00898 */ swc1 $f0, 0x898($sp) -/* 0DDB84 7F0A9014 0FC237F8 */ jal sub_GAME_7F08D578 -/* 0DDB88 7F0A9018 8C8409E8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DDB8C 7F0A901C 3C048004 */ lui $a0, %hi(D_800409B8) # $a0, 0x8004 -/* 0DDB90 7F0A9020 E7A00894 */ swc1 $f0, 0x894($sp) -/* 0DDB94 7F0A9024 0FC23802 */ jal sub_GAME_7F08D5A0 -/* 0DDB98 7F0A9028 8C8409E8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DDB9C 7F0A902C 3C048004 */ lui $a0, %hi(D_800409B8) # $a0, 0x8004 -/* 0DDBA0 7F0A9030 E7A00890 */ swc1 $f0, 0x890($sp) -/* 0DDBA4 7F0A9034 0FC23716 */ jal sub_GAME_7F08D2A8 -/* 0DDBA8 7F0A9038 8C8409E8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DDBAC 7F0A903C 3C048004 */ lui $a0, %hi(D_800409B8) # $a0, 0x8004 -/* 0DDBB0 7F0A9040 AFA2088C */ sw $v0, 0x88c($sp) -/* 0DDBB4 7F0A9044 0FC238CE */ jal sub_GAME_7F08D850 -/* 0DDBB8 7F0A9048 8C8409E8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DDBBC 7F0A904C 3C048004 */ lui $a0, %hi(D_800409B8) # $a0, 0x8004 -/* 0DDBC0 7F0A9050 E7A00888 */ swc1 $f0, 0x888($sp) -/* 0DDBC4 7F0A9054 0FC238D8 */ jal sub_GAME_7F08D878 -/* 0DDBC8 7F0A9058 8C8409E8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DDBCC 7F0A905C 0FC246CD */ jal get_debug_gunwatchpos_flag -/* 0DDBD0 7F0A9060 E7A00884 */ swc1 $f0, 0x884($sp) -/* 0DDBD4 7F0A9064 50400040 */ beql $v0, $zero, .Ljp7F0A9168 -/* 0DDBD8 7F0A9068 3C014120 */ lui $at, 0x4120 -/* 0DDBDC 7F0A906C 0FC177BC */ jal get_item_in_hand -/* 0DDBE0 7F0A9070 00002025 */ move $a0, $zero -/* 0DDBE4 7F0A9074 000270C0 */ sll $t6, $v0, 3 -/* 0DDBE8 7F0A9078 01C27023 */ subu $t6, $t6, $v0 -/* 0DDBEC 7F0A907C 3C0F8003 */ lui $t7, %hi(gitem_structs) # $t7, 0x8003 -/* 0DDBF0 7F0A9080 25EF3964 */ addiu $t7, %lo(gitem_structs) # addiu $t7, $t7, 0x3964 -/* 0DDBF4 7F0A9084 000E70C0 */ sll $t6, $t6, 3 -/* 0DDBF8 7F0A9088 01CF8021 */ addu $s0, $t6, $t7 -/* 0DDBFC 7F0A908C 00002025 */ move $a0, $zero -/* 0DDC00 7F0A9090 0C0030DC */ jal get_controller_buttons_held -/* 0DDC04 7F0A9094 24050002 */ li $a1, 2 -/* 0DDC08 7F0A9098 10400006 */ beqz $v0, .Ljp7F0A90B4 -/* 0DDC0C 7F0A909C 00002025 */ move $a0, $zero -/* 0DDC10 7F0A90A0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DDC14 7F0A90A4 44813000 */ mtc1 $at, $f6 -/* 0DDC18 7F0A90A8 C604002C */ lwc1 $f4, 0x2c($s0) -/* 0DDC1C 7F0A90AC 46062201 */ sub.s $f8, $f4, $f6 -/* 0DDC20 7F0A90B0 E608002C */ swc1 $f8, 0x2c($s0) -.Ljp7F0A90B4: -/* 0DDC24 7F0A90B4 0C0030DC */ jal get_controller_buttons_held -/* 0DDC28 7F0A90B8 24050001 */ li $a1, 1 -/* 0DDC2C 7F0A90BC 10400006 */ beqz $v0, .Ljp7F0A90D8 -/* 0DDC30 7F0A90C0 00002025 */ move $a0, $zero -/* 0DDC34 7F0A90C4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DDC38 7F0A90C8 44818000 */ mtc1 $at, $f16 -/* 0DDC3C 7F0A90CC C60A002C */ lwc1 $f10, 0x2c($s0) -/* 0DDC40 7F0A90D0 46105480 */ add.s $f18, $f10, $f16 -/* 0DDC44 7F0A90D4 E612002C */ swc1 $f18, 0x2c($s0) -.Ljp7F0A90D8: -/* 0DDC48 7F0A90D8 0C0030DC */ jal get_controller_buttons_held -/* 0DDC4C 7F0A90DC 24050004 */ li $a1, 4 -/* 0DDC50 7F0A90E0 10400006 */ beqz $v0, .Ljp7F0A90FC -/* 0DDC54 7F0A90E4 00002025 */ move $a0, $zero -/* 0DDC58 7F0A90E8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DDC5C 7F0A90EC 44813000 */ mtc1 $at, $f6 -/* 0DDC60 7F0A90F0 C6040030 */ lwc1 $f4, 0x30($s0) -/* 0DDC64 7F0A90F4 46062200 */ add.s $f8, $f4, $f6 -/* 0DDC68 7F0A90F8 E6080030 */ swc1 $f8, 0x30($s0) -.Ljp7F0A90FC: -/* 0DDC6C 7F0A90FC 0C0030DC */ jal get_controller_buttons_held -/* 0DDC70 7F0A9100 24050008 */ li $a1, 8 -/* 0DDC74 7F0A9104 10400006 */ beqz $v0, .Ljp7F0A9120 -/* 0DDC78 7F0A9108 00002025 */ move $a0, $zero -/* 0DDC7C 7F0A910C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0DDC80 7F0A9110 44818000 */ mtc1 $at, $f16 -/* 0DDC84 7F0A9114 C60A0030 */ lwc1 $f10, 0x30($s0) -/* 0DDC88 7F0A9118 46105481 */ sub.s $f18, $f10, $f16 -/* 0DDC8C 7F0A911C E6120030 */ swc1 $f18, 0x30($s0) -.Ljp7F0A9120: -/* 0DDC90 7F0A9120 0C0030DC */ jal get_controller_buttons_held -/* 0DDC94 7F0A9124 24050020 */ li $a1, 32 -/* 0DDC98 7F0A9128 10400006 */ beqz $v0, .Ljp7F0A9144 -/* 0DDC9C 7F0A912C 00002025 */ move $a0, $zero -/* 0DDCA0 7F0A9130 3C018006 */ lui $at, %hi(D_80058520) # $at, 0x8006 -/* 0DDCA4 7F0A9134 C4268560 */ lwc1 $f6, %lo(D_80058520)($at) -/* 0DDCA8 7F0A9138 C6040034 */ lwc1 $f4, 0x34($s0) -/* 0DDCAC 7F0A913C 46062202 */ mul.s $f8, $f4, $f6 -/* 0DDCB0 7F0A9140 E6080034 */ swc1 $f8, 0x34($s0) -.Ljp7F0A9144: -/* 0DDCB4 7F0A9144 0C0030DC */ jal get_controller_buttons_held -/* 0DDCB8 7F0A9148 24050010 */ li $a1, 16 -/* 0DDCBC 7F0A914C 10400005 */ beqz $v0, .Ljp7F0A9164 -/* 0DDCC0 7F0A9150 3C018006 */ lui $at, %hi(D_80058524) # $at, 0x8006 -/* 0DDCC4 7F0A9154 C60A0034 */ lwc1 $f10, 0x34($s0) -/* 0DDCC8 7F0A9158 C4308564 */ lwc1 $f16, %lo(D_80058524)($at) -/* 0DDCCC 7F0A915C 46105482 */ mul.s $f18, $f10, $f16 -/* 0DDCD0 7F0A9160 E6120034 */ swc1 $f18, 0x34($s0) -.Ljp7F0A9164: -/* 0DDCD4 7F0A9164 3C014120 */ li $at, 0x41200000 # 10.000000 -.Ljp7F0A9168: -/* 0DDCD8 7F0A9168 44812000 */ mtc1 $at, $f4 -/* 0DDCDC 7F0A916C 3C018006 */ lui $at, %hi(D_80058528) # $at, 0x8006 -/* 0DDCE0 7F0A9170 C4268568 */ lwc1 $f6, %lo(D_80058528)($at) -/* 0DDCE4 7F0A9174 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DDCE8 7F0A9178 44814000 */ mtc1 $at, $f8 -/* 0DDCEC 7F0A917C 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 0DDCF0 7F0A9180 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 0DDCF4 7F0A9184 8FA4092C */ lw $a0, 0x92c($sp) -/* 0DDCF8 7F0A9188 27A5092A */ addiu $a1, $sp, 0x92a -/* 0DDCFC 7F0A918C 8FA6089C */ lw $a2, 0x89c($sp) -/* 0DDD00 7F0A9190 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0DDD04 7F0A9194 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0DDD08 7F0A9198 0C003FBC */ jal guPerspective -/* 0DDD0C 7F0A919C E7A80018 */ swc1 $f8, 0x18($sp) -/* 0DDD10 7F0A91A0 8FA20930 */ lw $v0, 0x930($sp) -/* 0DDD14 7F0A91A4 3C180103 */ lui $t8, (0x01030040 >> 16) # lui $t8, 0x103 -/* 0DDD18 7F0A91A8 37180040 */ ori $t8, (0x01030040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0DDD1C 7F0A91AC 00408025 */ move $s0, $v0 -/* 0DDD20 7F0A91B0 AE180000 */ sw $t8, ($s0) -/* 0DDD24 7F0A91B4 24420008 */ addiu $v0, $v0, 8 -/* 0DDD28 7F0A91B8 AFA20930 */ sw $v0, 0x930($sp) -/* 0DDD2C 7F0A91BC 0C003A3C */ jal osVirtualToPhysical -/* 0DDD30 7F0A91C0 8FA4092C */ lw $a0, 0x92c($sp) -/* 0DDD34 7F0A91C4 AE020004 */ sw $v0, 4($s0) -/* 0DDD38 7F0A91C8 3C018006 */ lui $at, %hi(D_8005852C) # $at, 0x8006 -/* 0DDD3C 7F0A91CC C430856C */ lwc1 $f16, %lo(D_8005852C)($at) -/* 0DDD40 7F0A91D0 C7AA0884 */ lwc1 $f10, 0x884($sp) -/* 0DDD44 7F0A91D4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DDD48 7F0A91D8 44812000 */ mtc1 $at, $f4 -/* 0DDD4C 7F0A91DC 46105482 */ mul.s $f18, $f10, $f16 -/* 0DDD50 7F0A91E0 27A508E8 */ addiu $a1, $sp, 0x8e8 -/* 0DDD54 7F0A91E4 0FC162C7 */ jal sub_GAME_7F0585FC -/* 0DDD58 7F0A91E8 46049303 */ div.s $f12, $f18, $f4 -/* 0DDD5C 7F0A91EC 3C018006 */ lui $at, %hi(D_80058530) # $at, 0x8006 -/* 0DDD60 7F0A91F0 C4208570 */ lwc1 $f0, %lo(D_80058530)($at) -/* 0DDD64 7F0A91F4 C7A60888 */ lwc1 $f6, 0x888($sp) -/* 0DDD68 7F0A91F8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DDD6C 7F0A91FC 44815000 */ mtc1 $at, $f10 -/* 0DDD70 7F0A9200 46003202 */ mul.s $f8, $f6, $f0 -/* 0DDD74 7F0A9204 27B008A8 */ addiu $s0, $sp, 0x8a8 -/* 0DDD78 7F0A9208 02002825 */ move $a1, $s0 -/* 0DDD7C 7F0A920C 460A4403 */ div.s $f16, $f8, $f10 -/* 0DDD80 7F0A9210 0FC162EA */ jal sub_GAME_7F058688 -/* 0DDD84 7F0A9214 46100301 */ sub.s $f12, $f0, $f16 -/* 0DDD88 7F0A9218 02002025 */ move $a0, $s0 -/* 0DDD8C 7F0A921C 0FC16162 */ jal sub_GAME_7F058068 -/* 0DDD90 7F0A9220 27A508E8 */ addiu $a1, $sp, 0x8e8 -/* 0DDD94 7F0A9224 3C018004 */ lui $at, %hi(D_80040B14) # $at, 0x8004 -/* 0DDD98 7F0A9228 0FC160F0 */ jal cosf -/* 0DDD9C 7F0A922C C42C0B44 */ lwc1 $f12, %lo(D_80040B14)($at) -/* 0DDDA0 7F0A9230 C7B20890 */ lwc1 $f18, 0x890($sp) -/* 0DDDA4 7F0A9234 3C018004 */ lui $at, %hi(D_80040B14) # $at, 0x8004 -/* 0DDDA8 7F0A9238 C42C0B44 */ lwc1 $f12, %lo(D_80040B14)($at) -/* 0DDDAC 7F0A923C 46120102 */ mul.s $f4, $f0, $f18 -/* 0DDDB0 7F0A9240 0FC160F3 */ jal sinf -/* 0DDDB4 7F0A9244 E7A408A4 */ swc1 $f4, 0x8a4($sp) -/* 0DDDB8 7F0A9248 C7A60890 */ lwc1 $f6, 0x890($sp) -/* 0DDDBC 7F0A924C C7AE0898 */ lwc1 $f14, 0x898($sp) -/* 0DDDC0 7F0A9250 44801000 */ mtc1 $zero, $f2 -/* 0DDDC4 7F0A9254 46060202 */ mul.s $f8, $f0, $f6 -/* 0DDDC8 7F0A9258 C7AC0894 */ lwc1 $f12, 0x894($sp) -/* 0DDDCC 7F0A925C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DDDD0 7F0A9260 44818000 */ mtc1 $at, $f16 -/* 0DDDD4 7F0A9264 44066000 */ mfc1 $a2, $f12 -/* 0DDDD8 7F0A9268 02002025 */ move $a0, $s0 -/* 0DDDDC 7F0A926C 8FA508A4 */ lw $a1, 0x8a4($sp) -/* 0DDDE0 7F0A9270 460E4280 */ add.s $f10, $f8, $f14 -/* 0DDDE4 7F0A9274 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 0DDDE8 7F0A9278 E7A20010 */ swc1 $f2, 0x10($sp) -/* 0DDDEC 7F0A927C E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0DDDF0 7F0A9280 44075000 */ mfc1 $a3, $f10 -/* 0DDDF4 7F0A9284 E7A20024 */ swc1 $f2, 0x24($sp) -/* 0DDDF8 7F0A9288 E7AC0014 */ swc1 $f12, 0x14($sp) -/* 0DDDFC 7F0A928C 0FC166ED */ jal sub_GAME_7F059694 -/* 0DDE00 7F0A9290 E7B00020 */ swc1 $f16, 0x20($sp) -/* 0DDE04 7F0A9294 02002025 */ move $a0, $s0 -/* 0DDE08 7F0A9298 0FC16162 */ jal sub_GAME_7F058068 -/* 0DDE0C 7F0A929C 27A508E8 */ addiu $a1, $sp, 0x8e8 -/* 0DDE10 7F0A92A0 0FC29EA0 */ jal sub_GAME_7F0A6EE8 -/* 0DDE14 7F0A92A4 8FA40930 */ lw $a0, 0x930($sp) -/* 0DDE18 7F0A92A8 3C19A0FF */ lui $t9, (0xA0FFA03C >> 16) # lui $t9, 0xa0ff -/* 0DDE1C 7F0A92AC 3739A03C */ ori $t9, (0xA0FFA03C & 0xFFFF) # ori $t9, $t9, 0xa03c -/* 0DDE20 7F0A92B0 AFB90010 */ sw $t9, 0x10($sp) -/* 0DDE24 7F0A92B4 00402025 */ move $a0, $v0 -/* 0DDE28 7F0A92B8 8FA5088C */ lw $a1, 0x88c($sp) -/* 0DDE2C 7F0A92BC 27A608E8 */ addiu $a2, $sp, 0x8e8 -/* 0DDE30 7F0A92C0 0FC18D4C */ jal set_enviro_fog_for_items_in_solo_watch_menu -/* 0DDE34 7F0A92C4 24070040 */ li $a3, 64 -/* 0DDE38 7F0A92C8 3C0B8005 */ lui $t3, %hi(j_text_trigger) # $t3, 0x8005 -/* 0DDE3C 7F0A92CC 8D6B8500 */ lw $t3, %lo(j_text_trigger)($t3) -/* 0DDE40 7F0A92D0 3C098004 */ lui $t1, %hi(ptrFirstFontTableSmall) # $t1, 0x8004 -/* 0DDE44 7F0A92D4 3C0A8004 */ lui $t2, %hi(ptrSecondFontTableSmall) # $t2, 0x8004 -/* 0DDE48 7F0A92D8 8D290EDC */ lw $t1, %lo(ptrFirstFontTableSmall)($t1) -/* 0DDE4C 7F0A92DC 8D4A0EE0 */ lw $t2, %lo(ptrSecondFontTableSmall)($t2) -/* 0DDE50 7F0A92E0 AFA20930 */ sw $v0, 0x930($sp) -/* 0DDE54 7F0A92E4 AFA00868 */ sw $zero, 0x868($sp) -/* 0DDE58 7F0A92E8 AFA00864 */ sw $zero, 0x864($sp) -/* 0DDE5C 7F0A92EC AFA90860 */ sw $t1, 0x860($sp) -/* 0DDE60 7F0A92F0 11600004 */ beqz $t3, .Ljp7F0A9304 -/* 0DDE64 7F0A92F4 AFAA085C */ sw $t2, 0x85c($sp) -/* 0DDE68 7F0A92F8 240C0082 */ li $t4, 130 -/* 0DDE6C 7F0A92FC 10000003 */ b .Ljp7F0A930C -/* 0DDE70 7F0A9300 AFAC0084 */ sw $t4, 0x84($sp) -.Ljp7F0A9304: -/* 0DDE74 7F0A9304 240D008C */ li $t5, 140 -/* 0DDE78 7F0A9308 AFAD0084 */ sw $t5, 0x84($sp) -.Ljp7F0A930C: -/* 0DDE7C 7F0A930C A3A0008C */ sb $zero, 0x8c($sp) -/* 0DDE80 7F0A9310 0FC23667 */ jal sub_GAME_7F08D038 -/* 0DDE84 7F0A9314 00008025 */ move $s0, $zero -/* 0DDE88 7F0A9318 1840000B */ blez $v0, .Ljp7F0A9348 -/* 0DDE8C 7F0A931C 00000000 */ nop -.Ljp7F0A9320: -/* 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_append_from_obseg_textbank -/* 0DDEA0 7F0A9330 00402825 */ move $a1, $v0 -/* 0DDEA4 7F0A9334 0FC23667 */ jal sub_GAME_7F08D038 -/* 0DDEA8 7F0A9338 26100001 */ addiu $s0, $s0, 1 -/* 0DDEAC 7F0A933C 0202082A */ slt $at, $s0, $v0 -/* 0DDEB0 7F0A9340 1420FFF7 */ bnez $at, .Ljp7F0A9320 -/* 0DDEB4 7F0A9344 00000000 */ nop -.Ljp7F0A9348: -/* 0DDEB8 7F0A9348 3C038004 */ lui $v1, %hi(D_800409C4) # $v1, 0x8004 -/* 0DDEBC 7F0A934C 246309F4 */ addiu $v1, %lo(D_800409C4) # addiu $v1, $v1, 0x9f4 -/* 0DDEC0 7F0A9350 8C620000 */ lw $v0, ($v1) -/* 0DDEC4 7F0A9354 18400002 */ blez $v0, .Ljp7F0A9360 -/* 0DDEC8 7F0A9358 244EFFFF */ addiu $t6, $v0, -1 -/* 0DDECC 7F0A935C AC6E0000 */ sw $t6, ($v1) -.Ljp7F0A9360: -/* 0DDED0 7F0A9360 0FC299C8 */ jal sub_GAME_7F0A5B80 -/* 0DDED4 7F0A9364 00000000 */ nop -/* 0DDED8 7F0A9368 3C188005 */ lui $t8, %hi(j_text_trigger) # $t8, 0x8005 -/* 0DDEDC 7F0A936C 8F188500 */ lw $t8, %lo(j_text_trigger)($t8) -/* 0DDEE0 7F0A9370 8FA30084 */ lw $v1, 0x84($sp) -/* 0DDEE4 7F0A9374 240F004E */ li $t7, 78 -/* 0DDEE8 7F0A9378 AFAF0878 */ sw $t7, 0x878($sp) -/* 0DDEEC 7F0A937C 13000003 */ beqz $t8, .Ljp7F0A938C -/* 0DDEF0 7F0A9380 AFA30874 */ sw $v1, 0x874($sp) -/* 0DDEF4 7F0A9384 10000002 */ b .Ljp7F0A9390 -/* 0DDEF8 7F0A9388 2402000E */ li $v0, 14 -.Ljp7F0A938C: -/* 0DDEFC 7F0A938C 2402000C */ li $v0, 12 -.Ljp7F0A9390: -/* 0DDF00 7F0A9390 0002C840 */ sll $t9, $v0, 1 -/* 0DDF04 7F0A9394 03238021 */ addu $s0, $t9, $v1 -/* 0DDF08 7F0A9398 26100001 */ addiu $s0, $s0, 1 -/* 0DDF0C 7F0A939C 0FC2B652 */ jal microcode_constructor -/* 0DDF10 7F0A93A0 8FA40930 */ lw $a0, 0x930($sp) -/* 0DDF14 7F0A93A4 3C098005 */ lui $t1, %hi(j_text_trigger) # $t1, 0x8005 -/* 0DDF18 7F0A93A8 8D298500 */ lw $t1, %lo(j_text_trigger)($t1) -/* 0DDF1C 7F0A93AC AFA20930 */ sw $v0, 0x930($sp) -/* 0DDF20 7F0A93B0 27A40868 */ addiu $a0, $sp, 0x868 -/* 0DDF24 7F0A93B4 11200003 */ beqz $t1, .Ljp7F0A93C4 -/* 0DDF28 7F0A93B8 27A50864 */ addiu $a1, $sp, 0x864 -/* 0DDF2C 7F0A93BC 10000002 */ b .Ljp7F0A93C8 -/* 0DDF30 7F0A93C0 2402000E */ li $v0, 14 -.Ljp7F0A93C4: -/* 0DDF34 7F0A93C4 2402000C */ li $v0, 12 -.Ljp7F0A93C8: -/* 0DDF38 7F0A93C8 8FAA0860 */ lw $t2, 0x860($sp) -/* 0DDF3C 7F0A93CC 27A6008C */ addiu $a2, $sp, 0x8c -/* 0DDF40 7F0A93D0 8FA7085C */ lw $a3, 0x85c($sp) -/* 0DDF44 7F0A93D4 AFA20014 */ sw $v0, 0x14($sp) -/* 0DDF48 7F0A93D8 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0DDF4C 7F0A93DC AFAA0010 */ sw $t2, 0x10($sp) -/* 0DDF50 7F0A93E0 3C0B8005 */ lui $t3, %hi(j_text_trigger) # $t3, 0x8005 -/* 0DDF54 7F0A93E4 8D6B8500 */ lw $t3, %lo(j_text_trigger)($t3) -/* 0DDF58 7F0A93E8 8FA60084 */ lw $a2, 0x84($sp) -/* 0DDF5C 7F0A93EC 8FA40930 */ lw $a0, 0x930($sp) -/* 0DDF60 7F0A93F0 11600003 */ beqz $t3, .Ljp7F0A9400 -/* 0DDF64 7F0A93F4 2405004E */ li $a1, 78 -/* 0DDF68 7F0A93F8 10000002 */ b .Ljp7F0A9404 -/* 0DDF6C 7F0A93FC 2402000E */ li $v0, 14 -.Ljp7F0A9400: -/* 0DDF70 7F0A9400 2402000C */ li $v0, 12 -.Ljp7F0A9404: -/* 0DDF74 7F0A9404 00026080 */ sll $t4, $v0, 2 -/* 0DDF78 7F0A9408 8FA70864 */ lw $a3, 0x864($sp) -/* 0DDF7C 7F0A940C 01826021 */ addu $t4, $t4, $v0 -/* 0DDF80 7F0A9410 01866821 */ addu $t5, $t4, $a2 -/* 0DDF84 7F0A9414 AFAD0010 */ sw $t5, 0x10($sp) -/* 0DDF88 7F0A9418 AFA00014 */ sw $zero, 0x14($sp) -/* 0DDF8C 7F0A941C 0FC2B6F1 */ jal microcode_constructor_related_to_menus -/* 0DDF90 7F0A9420 24E7004E */ addiu $a3, $a3, 0x4e -/* 0DDF94 7F0A9424 3C038005 */ lui $v1, %hi(j_text_trigger) # $v1, 0x8005 -/* 0DDF98 7F0A9428 8C638500 */ lw $v1, %lo(j_text_trigger)($v1) -/* 0DDF9C 7F0A942C 00402025 */ move $a0, $v0 -/* 0DDFA0 7F0A9430 27A50878 */ addiu $a1, $sp, 0x878 -/* 0DDFA4 7F0A9434 10600003 */ beqz $v1, .Ljp7F0A9444 -/* 0DDFA8 7F0A9438 27A60874 */ addiu $a2, $sp, 0x874 -/* 0DDFAC 7F0A943C 10000002 */ b .Ljp7F0A9448 -/* 0DDFB0 7F0A9440 2408000E */ li $t0, 14 -.Ljp7F0A9444: -/* 0DDFB4 7F0A9444 2408000C */ li $t0, 12 -.Ljp7F0A9448: -/* 0DDFB8 7F0A9448 10600003 */ beqz $v1, .Ljp7F0A9458 -/* 0DDFBC 7F0A944C 27A7008C */ addiu $a3, $sp, 0x8c -/* 0DDFC0 7F0A9450 10000002 */ b .Ljp7F0A945C -/* 0DDFC4 7F0A9454 2402000E */ li $v0, 14 -.Ljp7F0A9458: -/* 0DDFC8 7F0A9458 2402000C */ li $v0, 12 -.Ljp7F0A945C: -/* 0DDFCC 7F0A945C 8FB90864 */ lw $t9, 0x864($sp) -/* 0DDFD0 7F0A9460 3C0B8004 */ lui $t3, %hi(D_800409B0) # $t3, 0x8004 -/* 0DDFD4 7F0A9464 8D6B09E0 */ lw $t3, %lo(D_800409B0)($t3) -/* 0DDFD8 7F0A9468 8FAE085C */ lw $t6, 0x85c($sp) -/* 0DDFDC 7F0A946C 8FAF0860 */ lw $t7, 0x860($sp) -/* 0DDFE0 7F0A9470 3C1800AA */ lui $t8, (0x00AA00B0 >> 16) # lui $t8, 0xaa -/* 0DDFE4 7F0A9474 00085080 */ sll $t2, $t0, 2 -/* 0DDFE8 7F0A9478 01485021 */ addu $t2, $t2, $t0 -/* 0DDFEC 7F0A947C 371800B0 */ ori $t8, (0x00AA00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0DDFF0 7F0A9480 27290001 */ addiu $t1, $t9, 1 -/* 0DDFF4 7F0A9484 AFA9001C */ sw $t1, 0x1c($sp) -/* 0DDFF8 7F0A9488 AFB80018 */ sw $t8, 0x18($sp) -/* 0DDFFC 7F0A948C AFAA0020 */ sw $t2, 0x20($sp) -/* 0DE000 7F0A9490 AFA20028 */ sw $v0, 0x28($sp) -/* 0DE004 7F0A9494 AFAB0024 */ sw $t3, 0x24($sp) -/* 0DE008 7F0A9498 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DE00C 7F0A949C 0FC2B99B */ jal en_text_write_stuff -/* 0DE010 7F0A94A0 AFAF0014 */ sw $t7, 0x14($sp) -/* 0DE014 7F0A94A4 3C0C8005 */ lui $t4, %hi(j_text_trigger) # $t4, 0x8005 -/* 0DE018 7F0A94A8 8D8C8500 */ lw $t4, %lo(j_text_trigger)($t4) -/* 0DE01C 7F0A94AC 00402025 */ move $a0, $v0 -/* 0DE020 7F0A94B0 2405004B */ li $a1, 75 -/* 0DE024 7F0A94B4 11800003 */ beqz $t4, .Ljp7F0A94C4 -/* 0DE028 7F0A94B8 02003025 */ move $a2, $s0 -/* 0DE02C 7F0A94BC 10000002 */ b .Ljp7F0A94C8 -/* 0DE030 7F0A94C0 2402000E */ li $v0, 14 -.Ljp7F0A94C4: -/* 0DE034 7F0A94C4 2402000C */ li $v0, 12 -.Ljp7F0A94C8: -/* 0DE038 7F0A94C8 8FA70864 */ lw $a3, 0x864($sp) -/* 0DE03C 7F0A94CC 00506821 */ addu $t5, $v0, $s0 -/* 0DE040 7F0A94D0 3C0F0080 */ lui $t7, (0x00800050 >> 16) # lui $t7, 0x80 -/* 0DE044 7F0A94D4 35EF0050 */ ori $t7, (0x00800050 & 0xFFFF) # ori $t7, $t7, 0x50 -/* 0DE048 7F0A94D8 25AEFFFE */ addiu $t6, $t5, -2 -/* 0DE04C 7F0A94DC AFAE0010 */ sw $t6, 0x10($sp) -/* 0DE050 7F0A94E0 AFAF0014 */ sw $t7, 0x14($sp) -/* 0DE054 7F0A94E4 0FC2B6F1 */ jal microcode_constructor_related_to_menus -/* 0DE058 7F0A94E8 24E70052 */ addiu $a3, $a3, 0x52 -/* 0DE05C 7F0A94EC 3C188004 */ lui $t8, %hi(ptrSecondFontTableSmall) # $t8, 0x8004 -/* 0DE060 7F0A94F0 8F180EE0 */ lw $t8, %lo(ptrSecondFontTableSmall)($t8) -/* 0DE064 7F0A94F4 3C108004 */ lui $s0, %hi(ptrFirstFontTableSmall) # $s0, 0x8004 -/* 0DE068 7F0A94F8 3C048004 */ lui $a0, %hi(D_800409B8) # $a0, 0x8004 -/* 0DE06C 7F0A94FC AFA20930 */ sw $v0, 0x930($sp) -/* 0DE070 7F0A9500 8E100EDC */ lw $s0, %lo(ptrFirstFontTableSmall)($s0) -/* 0DE074 7F0A9504 8C8409E8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DE078 7F0A9508 0FC2374A */ jal sub_GAME_7F08D340 -/* 0DE07C 7F0A950C AFB8005C */ sw $t8, 0x5c($sp) -/* 0DE080 7F0A9510 3C018004 */ lui $at, %hi(D_800409BC) # $at, 0x8004 -/* 0DE084 7F0A9514 C43209EC */ lwc1 $f18, %lo(D_800409BC)($at) -/* 0DE088 7F0A9518 3C198004 */ lui $t9, %hi(D_800409B8) # $t9, 0x8004 -/* 0DE08C 7F0A951C 8F3909E8 */ lw $t9, %lo(D_800409B8)($t9) -/* 0DE090 7F0A9520 46009121 */ cvt.d.s $f4, $f18 -/* 0DE094 7F0A9524 3C058005 */ lui $a1, %hi(aDDDF) # $a1, 0x8005 -/* 0DE098 7F0A9528 3C068004 */ lui $a2, %hi(D_800409B0) # $a2, 0x8004 -/* 0DE09C 7F0A952C 3C078004 */ lui $a3, %hi(D_800409B4) # $a3, 0x8004 -/* 0DE0A0 7F0A9530 AFA20050 */ sw $v0, 0x50($sp) -/* 0DE0A4 7F0A9534 8CE709E4 */ lw $a3, %lo(D_800409B4)($a3) -/* 0DE0A8 7F0A9538 8CC609E0 */ lw $a2, %lo(D_800409B0)($a2) -/* 0DE0AC 7F0A953C 24A577A8 */ addiu $a1, %lo(aDDDF) # addiu $a1, $a1, 0x77a8 -/* 0DE0B0 7F0A9540 F7A40018 */ sdc1 $f4, 0x18($sp) -/* 0DE0B4 7F0A9544 27A40064 */ addiu $a0, $sp, 0x64 -/* 0DE0B8 7F0A9548 0C002B29 */ jal sprintf -/* 0DE0BC 7F0A954C AFB90010 */ sw $t9, 0x10($sp) -/* 0DE0C0 7F0A9550 0FC2B652 */ jal microcode_constructor -/* 0DE0C4 7F0A9554 8FA40930 */ lw $a0, 0x930($sp) -/* 0DE0C8 7F0A9558 AFA20930 */ sw $v0, 0x930($sp) -/* 0DE0CC 7F0A955C 27A40054 */ addiu $a0, $sp, 0x54 -/* 0DE0D0 7F0A9560 27A50058 */ addiu $a1, $sp, 0x58 -/* 0DE0D4 7F0A9564 27A60064 */ addiu $a2, $sp, 0x64 -/* 0DE0D8 7F0A9568 8FA7005C */ lw $a3, 0x5c($sp) -/* 0DE0DC 7F0A956C AFB00010 */ sw $s0, 0x10($sp) -/* 0DE0E0 7F0A9570 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0DE0E4 7F0A9574 AFA00014 */ sw $zero, 0x14($sp) -/* 0DE0E8 7F0A9578 3C098004 */ lui $t1, %hi(D_800409C0) # $t1, 0x8004 -/* 0DE0EC 7F0A957C 8D2909F0 */ lw $t1, %lo(D_800409C0)($t1) -/* 0DE0F0 7F0A9580 3C0A8005 */ lui $t2, %hi(j_text_trigger) # $t2, 0x8005 -/* 0DE0F4 7F0A9584 27A40054 */ addiu $a0, $sp, 0x54 -/* 0DE0F8 7F0A9588 1120004C */ beqz $t1, .Ljp7F0A96BC -/* 0DE0FC 7F0A958C 27A50058 */ addiu $a1, $sp, 0x58 -/* 0DE100 7F0A9590 8D4A8500 */ lw $t2, %lo(j_text_trigger)($t2) -/* 0DE104 7F0A9594 8FA60050 */ lw $a2, 0x50($sp) -/* 0DE108 7F0A9598 8FA7005C */ lw $a3, 0x5c($sp) -/* 0DE10C 7F0A959C 11400003 */ beqz $t2, .Ljp7F0A95AC -/* 0DE110 7F0A95A0 2402000C */ li $v0, 12 -/* 0DE114 7F0A95A4 10000001 */ b .Ljp7F0A95AC -/* 0DE118 7F0A95A8 2402000E */ li $v0, 14 -.Ljp7F0A95AC: -/* 0DE11C 7F0A95AC AFB00010 */ sw $s0, 0x10($sp) -/* 0DE120 7F0A95B0 0FC2BD4F */ jal sub_GAME_7F0AE98C -/* 0DE124 7F0A95B4 AFA20014 */ sw $v0, 0x14($sp) -/* 0DE128 7F0A95B8 3C038005 */ lui $v1, %hi(j_text_trigger) # $v1, 0x8005 -/* 0DE12C 7F0A95BC 8C638500 */ lw $v1, %lo(j_text_trigger)($v1) -/* 0DE130 7F0A95C0 240B004E */ li $t3, 78 -/* 0DE134 7F0A95C4 AFAB0878 */ sw $t3, 0x878($sp) -/* 0DE138 7F0A95C8 10600003 */ beqz $v1, .Ljp7F0A95D8 -/* 0DE13C 7F0A95CC 8FAD0084 */ lw $t5, 0x84($sp) -/* 0DE140 7F0A95D0 10000002 */ b .Ljp7F0A95DC -/* 0DE144 7F0A95D4 2402000E */ li $v0, 14 -.Ljp7F0A95D8: -/* 0DE148 7F0A95D8 2402000C */ li $v0, 12 -.Ljp7F0A95DC: -/* 0DE14C 7F0A95DC 3C0F8004 */ lui $t7, %hi(D_800409C4) # $t7, 0x8004 -/* 0DE150 7F0A95E0 8DEF09F4 */ lw $t7, %lo(D_800409C4)($t7) -/* 0DE154 7F0A95E4 00026040 */ sll $t4, $v0, 1 -/* 0DE158 7F0A95E8 018D7021 */ addu $t6, $t4, $t5 -/* 0DE15C 7F0A95EC 15E00018 */ bnez $t7, .Ljp7F0A9650 -/* 0DE160 7F0A95F0 AFAE0874 */ sw $t6, 0x874($sp) -/* 0DE164 7F0A95F4 10600003 */ beqz $v1, .Ljp7F0A9604 -/* 0DE168 7F0A95F8 8FA40930 */ lw $a0, 0x930($sp) -/* 0DE16C 7F0A95FC 10000002 */ b .Ljp7F0A9608 -/* 0DE170 7F0A9600 2402000E */ li $v0, 14 -.Ljp7F0A9604: -/* 0DE174 7F0A9604 2402000C */ li $v0, 12 -.Ljp7F0A9608: -/* 0DE178 7F0A9608 8FB8005C */ lw $t8, 0x5c($sp) -/* 0DE17C 7F0A960C 8FA90058 */ lw $t1, 0x58($sp) -/* 0DE180 7F0A9610 3C19A0FF */ lui $t9, (0xA0FFA0F0 >> 16) # lui $t9, 0xa0ff -/* 0DE184 7F0A9614 3739A0F0 */ ori $t9, (0xA0FFA0F0 & 0xFFFF) # ori $t9, $t9, 0xa0f0 -/* 0DE188 7F0A9618 240A0064 */ li $t2, 100 -/* 0DE18C 7F0A961C AFAA0020 */ sw $t2, 0x20($sp) -/* 0DE190 7F0A9620 AFB90018 */ sw $t9, 0x18($sp) -/* 0DE194 7F0A9624 27A50878 */ addiu $a1, $sp, 0x878 -/* 0DE198 7F0A9628 27A60874 */ addiu $a2, $sp, 0x874 -/* 0DE19C 7F0A962C 8FA70050 */ lw $a3, 0x50($sp) -/* 0DE1A0 7F0A9630 AFB00014 */ sw $s0, 0x14($sp) -/* 0DE1A4 7F0A9634 AFA00024 */ sw $zero, 0x24($sp) -/* 0DE1A8 7F0A9638 AFA20028 */ sw $v0, 0x28($sp) -/* 0DE1AC 7F0A963C AFB80010 */ sw $t8, 0x10($sp) -/* 0DE1B0 7F0A9640 0FC2B99B */ jal en_text_write_stuff -/* 0DE1B4 7F0A9644 AFA9001C */ sw $t1, 0x1c($sp) -/* 0DE1B8 7F0A9648 1000001A */ b .Ljp7F0A96B4 -/* 0DE1BC 7F0A964C AFA20930 */ sw $v0, 0x930($sp) -.Ljp7F0A9650: -/* 0DE1C0 7F0A9650 10600003 */ beqz $v1, .Ljp7F0A9660 -/* 0DE1C4 7F0A9654 8FA40930 */ lw $a0, 0x930($sp) -/* 0DE1C8 7F0A9658 10000002 */ b .Ljp7F0A9664 -/* 0DE1CC 7F0A965C 2402000E */ li $v0, 14 -.Ljp7F0A9660: -/* 0DE1D0 7F0A9660 2402000C */ li $v0, 12 -.Ljp7F0A9664: -/* 0DE1D4 7F0A9664 8FAE0058 */ lw $t6, 0x58($sp) -/* 0DE1D8 7F0A9668 8FAB005C */ lw $t3, 0x5c($sp) -/* 0DE1DC 7F0A966C 3C0D0070 */ lui $t5, (0x007000A0 >> 16) # lui $t5, 0x70 -/* 0DE1E0 7F0A9670 35AD00A0 */ ori $t5, (0x007000A0 & 0xFFFF) # ori $t5, $t5, 0xa0 -/* 0DE1E4 7F0A9674 240CFFFF */ li $t4, -1 -/* 0DE1E8 7F0A9678 24180064 */ li $t8, 100 -/* 0DE1EC 7F0A967C 25CF0001 */ addiu $t7, $t6, 1 -/* 0DE1F0 7F0A9680 AFAF0020 */ sw $t7, 0x20($sp) -/* 0DE1F4 7F0A9684 AFB80024 */ sw $t8, 0x24($sp) -/* 0DE1F8 7F0A9688 AFAC0018 */ sw $t4, 0x18($sp) -/* 0DE1FC 7F0A968C AFAD001C */ sw $t5, 0x1c($sp) -/* 0DE200 7F0A9690 27A50878 */ addiu $a1, $sp, 0x878 -/* 0DE204 7F0A9694 27A60874 */ addiu $a2, $sp, 0x874 -/* 0DE208 7F0A9698 8FA70050 */ lw $a3, 0x50($sp) -/* 0DE20C 7F0A969C AFB00014 */ sw $s0, 0x14($sp) -/* 0DE210 7F0A96A0 AFA00028 */ sw $zero, 0x28($sp) -/* 0DE214 7F0A96A4 AFA2002C */ sw $v0, 0x2c($sp) -/* 0DE218 7F0A96A8 0FC2BCA7 */ jal jp_text_write_stuff -/* 0DE21C 7F0A96AC AFAB0010 */ sw $t3, 0x10($sp) -/* 0DE220 7F0A96B0 AFA20930 */ sw $v0, 0x930($sp) -.Ljp7F0A96B4: -/* 0DE224 7F0A96B4 0FC2A3C4 */ jal sub_GAME_7F0A8378 -/* 0DE228 7F0A96B8 00000000 */ nop -.Ljp7F0A96BC: -/* 0DE22C 7F0A96BC 8FBF003C */ lw $ra, 0x3c($sp) -.Ljp7F0A96C0: -/* 0DE230 7F0A96C0 8FA20930 */ lw $v0, 0x930($sp) -/* 0DE234 7F0A96C4 8FB00038 */ lw $s0, 0x38($sp) -/* 0DE238 7F0A96C8 03E00008 */ jr $ra -/* 0DE23C 7F0A96CC 27BD0930 */ addiu $sp, $sp, 0x930 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F0A8B10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A8B10 -/* 0DD640 7F0A8B10 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0DD644 7F0A8B14 AFB00038 */ sw $s0, 0x38($sp) -/* 0DD648 7F0A8B18 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0DD64C 7F0A8B1C 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0DD650 7F0A8B20 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0DD654 7F0A8B24 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0DD658 7F0A8B28 00808025 */ move $s0, $a0 -/* 0DD65C 7F0A8B2C AFBF003C */ sw $ra, 0x3c($sp) -/* 0DD660 7F0A8B30 3C048004 */ lui $a0, %hi(D_800409B8) -/* 0DD664 7F0A8B34 AFA5007C */ sw $a1, 0x7c($sp) -/* 0DD668 7F0A8B38 AFA00058 */ sw $zero, 0x58($sp) -/* 0DD66C 7F0A8B3C AFA00054 */ sw $zero, 0x54($sp) -/* 0DD670 7F0A8B40 8C8409B8 */ lw $a0, %lo(D_800409B8)($a0) -/* 0DD674 7F0A8B44 AFAE0050 */ sw $t6, 0x50($sp) -/* 0DD678 7F0A8B48 0FC2350D */ jal sub_GAME_7F08D434 -/* 0DD67C 7F0A8B4C AFAF004C */ sw $t7, 0x4c($sp) -/* 0DD680 7F0A8B50 AFA20048 */ sw $v0, 0x48($sp) -/* 0DD684 7F0A8B54 02002025 */ move $a0, $s0 -/* 0DD688 7F0A8B58 8FA5007C */ lw $a1, 0x7c($sp) -/* 0DD68C 7F0A8B5C 0FC29C53 */ jal sub_GAME_7F0A714C -/* 0DD690 7F0A8B60 00003025 */ move $a2, $zero -/* 0DD694 7F0A8B64 0FC1F97F */ jal check_watch_page_transistion_running -/* 0DD698 7F0A8B68 00408025 */ move $s0, $v0 -/* 0DD69C 7F0A8B6C 24010001 */ li $at, 1 -/* 0DD6A0 7F0A8B70 1041006E */ beq $v0, $at, .L7F0A8D2C -/* 0DD6A4 7F0A8B74 3C038004 */ lui $v1, %hi(D_800409C4) -/* 0DD6A8 7F0A8B78 246309C4 */ addiu $v1, %lo(D_800409C4) # addiu $v1, $v1, 0x9c4 -/* 0DD6AC 7F0A8B7C 8C620000 */ lw $v0, ($v1) -/* 0DD6B0 7F0A8B80 18400002 */ blez $v0, .L7F0A8B8C -/* 0DD6B4 7F0A8B84 2458FFFF */ addiu $t8, $v0, -1 -/* 0DD6B8 7F0A8B88 AC780000 */ sw $t8, ($v1) -.L7F0A8B8C: -/* 0DD6BC 7F0A8B8C 0FC296E0 */ jal sub_GAME_7F0A5B80 -/* 0DD6C0 7F0A8B90 00000000 */ nop -/* 0DD6C4 7F0A8B94 0FC2B366 */ jal microcode_constructor -/* 0DD6C8 7F0A8B98 02002025 */ move $a0, $s0 -/* 0DD6CC 7F0A8B9C 8FB90050 */ lw $t9, 0x50($sp) -/* 0DD6D0 7F0A8BA0 00408025 */ move $s0, $v0 -/* 0DD6D4 7F0A8BA4 27A40058 */ addiu $a0, $sp, 0x58 -/* 0DD6D8 7F0A8BA8 27A50054 */ addiu $a1, $sp, 0x54 -/* 0DD6DC 7F0A8BAC 8FA60048 */ lw $a2, 0x48($sp) -/* 0DD6E0 7F0A8BB0 8FA7004C */ lw $a3, 0x4c($sp) -/* 0DD6E4 7F0A8BB4 AFA00014 */ sw $zero, 0x14($sp) -/* 0DD6E8 7F0A8BB8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DD6EC 7F0A8BBC AFB90010 */ sw $t9, 0x10($sp) -/* 0DD6F0 7F0A8BC0 8FA80054 */ lw $t0, 0x54($sp) -/* 0DD6F4 7F0A8BC4 240900AA */ li $t1, 170 -/* 0DD6F8 7F0A8BC8 8FAC005C */ lw $t4, 0x5c($sp) -/* 0DD6FC 7F0A8BCC 01282823 */ subu $a1, $t1, $t0 -/* 0DD700 7F0A8BD0 04A10003 */ bgez $a1, .L7F0A8BE0 -/* 0DD704 7F0A8BD4 00055043 */ sra $t2, $a1, 1 -/* 0DD708 7F0A8BD8 24A10001 */ addiu $at, $a1, 1 -/* 0DD70C 7F0A8BDC 00015043 */ sra $t2, $at, 1 -.L7F0A8BE0: -/* 0DD710 7F0A8BE0 3C0D0080 */ lui $t5, (0x00800050 >> 16) # lui $t5, 0x80 -/* 0DD714 7F0A8BE4 2545004B */ addiu $a1, $t2, 0x4b -/* 0DD718 7F0A8BE8 240B001E */ li $t3, 30 -/* 0DD71C 7F0A8BEC 35AD0050 */ ori $t5, (0x00800050 & 0xFFFF) # ori $t5, $t5, 0x50 -/* 0DD720 7F0A8BF0 AFAB006C */ sw $t3, 0x6c($sp) -/* 0DD724 7F0A8BF4 AFAD0014 */ sw $t5, 0x14($sp) -/* 0DD728 7F0A8BF8 AFA50070 */ sw $a1, 0x70($sp) -/* 0DD72C 7F0A8BFC 02002025 */ move $a0, $s0 -/* 0DD730 7F0A8C00 2406001E */ li $a2, 30 -/* 0DD734 7F0A8C04 8FA70060 */ lw $a3, 0x60($sp) -/* 0DD738 7F0A8C08 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0DD73C 7F0A8C0C AFAC0010 */ sw $t4, 0x10($sp) -/* 0DD740 7F0A8C10 3C0E8004 */ lui $t6, %hi(D_800409C0) -/* 0DD744 7F0A8C14 8DCE09C0 */ lw $t6, %lo(D_800409C0)($t6) -/* 0DD748 7F0A8C18 00408025 */ move $s0, $v0 -/* 0DD74C 7F0A8C1C 02002025 */ move $a0, $s0 -/* 0DD750 7F0A8C20 11C00031 */ beqz $t6, .L7F0A8CE8 -/* 0DD754 7F0A8C24 27A50070 */ addiu $a1, $sp, 0x70 -/* 0DD758 7F0A8C28 0FC2A0DE */ jal sub_GAME_7F0A8378 -/* 0DD75C 7F0A8C2C 00000000 */ nop -/* 0DD760 7F0A8C30 3C0F8004 */ lui $t7, %hi(D_800409C4) -/* 0DD764 7F0A8C34 8DEF09C4 */ lw $t7, %lo(D_800409C4)($t7) -/* 0DD768 7F0A8C38 02002025 */ move $a0, $s0 -/* 0DD76C 7F0A8C3C 27A50070 */ addiu $a1, $sp, 0x70 -/* 0DD770 7F0A8C40 15E00015 */ bnez $t7, .L7F0A8C98 -/* 0DD774 7F0A8C44 27A6006C */ addiu $a2, $sp, 0x6c -/* 0DD778 7F0A8C48 8FB8004C */ lw $t8, 0x4c($sp) -/* 0DD77C 7F0A8C4C 8FB90050 */ lw $t9, 0x50($sp) -/* 0DD780 7F0A8C50 8FA80054 */ lw $t0, 0x54($sp) -/* 0DD784 7F0A8C54 3C09A0FF */ lui $t1, (0xA0FFA0F0 >> 16) # lui $t1, 0xa0ff -/* 0DD788 7F0A8C58 3529A0F0 */ ori $t1, (0xA0FFA0F0 & 0xFFFF) # ori $t1, $t1, 0xa0f0 -/* 0DD78C 7F0A8C5C 240A0064 */ li $t2, 100 -/* 0DD790 7F0A8C60 AFAA0020 */ sw $t2, 0x20($sp) -/* 0DD794 7F0A8C64 AFA90018 */ sw $t1, 0x18($sp) -/* 0DD798 7F0A8C68 02002025 */ move $a0, $s0 -/* 0DD79C 7F0A8C6C 27A50070 */ addiu $a1, $sp, 0x70 -/* 0DD7A0 7F0A8C70 27A6006C */ addiu $a2, $sp, 0x6c -/* 0DD7A4 7F0A8C74 8FA70048 */ lw $a3, 0x48($sp) -/* 0DD7A8 7F0A8C78 AFA00024 */ sw $zero, 0x24($sp) -/* 0DD7AC 7F0A8C7C AFA00028 */ sw $zero, 0x28($sp) -/* 0DD7B0 7F0A8C80 AFB80010 */ sw $t8, 0x10($sp) -/* 0DD7B4 7F0A8C84 AFB90014 */ sw $t9, 0x14($sp) -/* 0DD7B8 7F0A8C88 0FC2B6AF */ jal en_text_write_stuff -/* 0DD7BC 7F0A8C8C AFA8001C */ sw $t0, 0x1c($sp) -/* 0DD7C0 7F0A8C90 10000026 */ b .L7F0A8D2C -/* 0DD7C4 7F0A8C94 00408025 */ move $s0, $v0 -.L7F0A8C98: -/* 0DD7C8 7F0A8C98 8FAF0054 */ lw $t7, 0x54($sp) -/* 0DD7CC 7F0A8C9C 8FAB004C */ lw $t3, 0x4c($sp) -/* 0DD7D0 7F0A8CA0 8FAC0050 */ lw $t4, 0x50($sp) -/* 0DD7D4 7F0A8CA4 3C0E0070 */ lui $t6, (0x007000A0 >> 16) # lui $t6, 0x70 -/* 0DD7D8 7F0A8CA8 35CE00A0 */ ori $t6, (0x007000A0 & 0xFFFF) # ori $t6, $t6, 0xa0 -/* 0DD7DC 7F0A8CAC 240DFFFF */ li $t5, -1 -/* 0DD7E0 7F0A8CB0 24190064 */ li $t9, 100 -/* 0DD7E4 7F0A8CB4 25F80001 */ addiu $t8, $t7, 1 -/* 0DD7E8 7F0A8CB8 AFB80020 */ sw $t8, 0x20($sp) -/* 0DD7EC 7F0A8CBC AFB90024 */ sw $t9, 0x24($sp) -/* 0DD7F0 7F0A8CC0 AFAD0018 */ sw $t5, 0x18($sp) -/* 0DD7F4 7F0A8CC4 AFAE001C */ sw $t6, 0x1c($sp) -/* 0DD7F8 7F0A8CC8 8FA70048 */ lw $a3, 0x48($sp) -/* 0DD7FC 7F0A8CCC AFA00028 */ sw $zero, 0x28($sp) -/* 0DD800 7F0A8CD0 AFA0002C */ sw $zero, 0x2c($sp) -/* 0DD804 7F0A8CD4 AFAB0010 */ sw $t3, 0x10($sp) -/* 0DD808 7F0A8CD8 0FC2B9BB */ jal jp_text_write_stuff -/* 0DD80C 7F0A8CDC AFAC0014 */ sw $t4, 0x14($sp) -/* 0DD810 7F0A8CE0 10000012 */ b .L7F0A8D2C -/* 0DD814 7F0A8CE4 00408025 */ move $s0, $v0 -.L7F0A8CE8: -/* 0DD818 7F0A8CE8 8FA9004C */ lw $t1, 0x4c($sp) -/* 0DD81C 7F0A8CEC 8FA80050 */ lw $t0, 0x50($sp) -/* 0DD820 7F0A8CF0 8FAB0054 */ lw $t3, 0x54($sp) -/* 0DD824 7F0A8CF4 3C0A00AA */ lui $t2, (0x00AA00B0 >> 16) # lui $t2, 0xaa -/* 0DD828 7F0A8CF8 354A00B0 */ ori $t2, (0x00AA00B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -/* 0DD82C 7F0A8CFC 240C0064 */ li $t4, 100 -/* 0DD830 7F0A8D00 AFAC0020 */ sw $t4, 0x20($sp) -/* 0DD834 7F0A8D04 AFAA0018 */ sw $t2, 0x18($sp) -/* 0DD838 7F0A8D08 27A6006C */ addiu $a2, $sp, 0x6c -/* 0DD83C 7F0A8D0C 8FA70048 */ lw $a3, 0x48($sp) -/* 0DD840 7F0A8D10 AFA00024 */ sw $zero, 0x24($sp) -/* 0DD844 7F0A8D14 AFA00028 */ sw $zero, 0x28($sp) -/* 0DD848 7F0A8D18 AFA90010 */ sw $t1, 0x10($sp) -/* 0DD84C 7F0A8D1C AFA80014 */ sw $t0, 0x14($sp) -/* 0DD850 7F0A8D20 0FC2B6AF */ jal en_text_write_stuff -/* 0DD854 7F0A8D24 AFAB001C */ sw $t3, 0x1c($sp) -/* 0DD858 7F0A8D28 00408025 */ move $s0, $v0 -.L7F0A8D2C: -/* 0DD85C 7F0A8D2C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DD860 7F0A8D30 02001025 */ move $v0, $s0 -/* 0DD864 7F0A8D34 8FB00038 */ lw $s0, 0x38($sp) -/* 0DD868 7F0A8D38 03E00008 */ jr $ra -/* 0DD86C 7F0A8D3C 27BD0078 */ addiu $sp, $sp, 0x78 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A8D40(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058534 -.word 0x3f99999a /*1.2*/ -.text -glabel sub_GAME_7F0A8D40 -/* 0DD870 7F0A8D40 44862000 */ mtc1 $a2, $f4 -/* 0DD874 7F0A8D44 3C018006 */ lui $at, %hi(D_80058534) -/* 0DD878 7F0A8D48 44856000 */ mtc1 $a1, $f12 -/* 0DD87C 7F0A8D4C C4288534 */ lwc1 $f8, %lo(D_80058534)($at) -/* 0DD880 7F0A8D50 468021A0 */ cvt.s.w $f6, $f4 -/* 0DD884 7F0A8D54 848E0020 */ lh $t6, 0x20($a0) -/* 0DD888 7F0A8D58 848F0040 */ lh $t7, 0x40($a0) -/* 0DD88C 7F0A8D5C 00002825 */ move $a1, $zero -/* 0DD890 7F0A8D60 00803825 */ move $a3, $a0 -/* 0DD894 7F0A8D64 460C4281 */ sub.s $f10, $f8, $f12 -/* 0DD898 7F0A8D68 240900E0 */ li $t1, 224 -/* 0DD89C 7F0A8D6C 24080040 */ li $t0, 64 -/* 0DD8A0 7F0A8D70 24030020 */ li $v1, 32 -/* 0DD8A4 7F0A8D74 460A3402 */ mul.s $f16, $f6, $f10 -/* 0DD8A8 7F0A8D78 01CF1023 */ subu $v0, $t6, $t7 -/* 0DD8AC 7F0A8D7C 4600848D */ trunc.w.s $f18, $f16 -/* 0DD8B0 7F0A8D80 44069000 */ mfc1 $a2, $f18 -/* 0DD8B4 7F0A8D84 00000000 */ nop -.L7F0A8D88: -/* 0DD8B8 7F0A8D88 24A50001 */ addiu $a1, $a1, 1 -/* 0DD8BC 7F0A8D8C 28A10004 */ slti $at, $a1, 4 -/* 0DD8C0 7F0A8D90 24E70010 */ addiu $a3, $a3, 0x10 -/* 0DD8C4 7F0A8D94 A0E3FFFC */ sb $v1, -4($a3) -/* 0DD8C8 7F0A8D98 A0E8FFFD */ sb $t0, -3($a3) -/* 0DD8CC 7F0A8D9C A0E3FFFE */ sb $v1, -2($a3) -/* 0DD8D0 7F0A8DA0 1420FFF9 */ bnez $at, .L7F0A8D88 -/* 0DD8D4 7F0A8DA4 A0E9FFFF */ sb $t1, -1($a3) -/* 0DD8D8 7F0A8DA8 3C0142C0 */ li $at, 0x42C00000 # 96.000000 -/* 0DD8DC 7F0A8DAC 44817000 */ mtc1 $at, $f14 -/* 0DD8E0 7F0A8DB0 3C014240 */ li $at, 0x42400000 # 48.000000 -/* 0DD8E4 7F0A8DB4 44811000 */ mtc1 $at, $f2 -/* 0DD8E8 7F0A8DB8 24050004 */ li $a1, 4 -/* 0DD8EC 7F0A8DBC 24870040 */ addiu $a3, $a0, 0x40 -/* 0DD8F0 7F0A8DC0 2408000C */ li $t0, 12 -.L7F0A8DC4: -/* 0DD8F4 7F0A8DC4 28A1000A */ slti $at, $a1, 0xa -/* 0DD8F8 7F0A8DC8 10200024 */ beqz $at, .L7F0A8E5C -/* 0DD8FC 7F0A8DCC 00465021 */ addu $t2, $v0, $a2 -/* 0DD900 7F0A8DD0 460C1102 */ mul.s $f4, $f2, $f12 -/* 0DD904 7F0A8DD4 28A10006 */ slti $at, $a1, 6 -/* 0DD908 7F0A8DD8 460C7182 */ mul.s $f6, $f14, $f12 -/* 0DD90C 7F0A8DDC 4600220D */ trunc.w.s $f8, $f4 -/* 0DD910 7F0A8DE0 4600328D */ trunc.w.s $f10, $f6 -/* 0DD914 7F0A8DE4 44034000 */ mfc1 $v1, $f8 -/* 0DD918 7F0A8DE8 440B5000 */ mfc1 $t3, $f10 -/* 0DD91C 7F0A8DEC 24630040 */ addiu $v1, $v1, 0x40 -/* 0DD920 7F0A8DF0 A0E3000C */ sb $v1, 0xc($a3) -/* 0DD924 7F0A8DF4 256C0080 */ addiu $t4, $t3, 0x80 -/* 0DD928 7F0A8DF8 A0EC000D */ sb $t4, 0xd($a3) -/* 0DD92C 7F0A8DFC 1420002D */ bnez $at, .L7F0A8EB4 -/* 0DD930 7F0A8E00 A0E3000E */ sb $v1, 0xe($a3) -/* 0DD934 7F0A8E04 44868000 */ mtc1 $a2, $f16 -/* 0DD938 7F0A8E08 44824000 */ mtc1 $v0, $f8 -/* 0DD93C 7F0A8E0C 848D0040 */ lh $t5, 0x40($a0) -/* 0DD940 7F0A8E10 46808020 */ cvt.s.w $f0, $f16 -/* 0DD944 7F0A8E14 448D9000 */ mtc1 $t5, $f18 -/* 0DD948 7F0A8E18 468041A0 */ cvt.s.w $f6, $f8 -/* 0DD94C 7F0A8E1C 46809120 */ cvt.s.w $f4, $f18 -/* 0DD950 7F0A8E20 46003280 */ add.s $f10, $f6, $f0 -/* 0DD954 7F0A8E24 460C5402 */ mul.s $f16, $f10, $f12 -/* 0DD958 7F0A8E28 46102480 */ add.s $f18, $f4, $f16 -/* 0DD95C 7F0A8E2C 46009201 */ sub.s $f8, $f18, $f0 -/* 0DD960 7F0A8E30 4600418D */ trunc.w.s $f6, $f8 -/* 0DD964 7F0A8E34 440F3000 */ mfc1 $t7, $f6 -/* 0DD968 7F0A8E38 00000000 */ nop -/* 0DD96C 7F0A8E3C A4EF0000 */ sh $t7, ($a3) -/* 0DD970 7F0A8E40 84F80000 */ lh $t8, ($a3) -/* 0DD974 7F0A8E44 84830040 */ lh $v1, 0x40($a0) -/* 0DD978 7F0A8E48 0303082A */ slt $at, $t8, $v1 -/* 0DD97C 7F0A8E4C 5020001A */ beql $at, $zero, .L7F0A8EB8 -/* 0DD980 7F0A8E50 24A50001 */ addiu $a1, $a1, 1 -/* 0DD984 7F0A8E54 10000017 */ b .L7F0A8EB4 -/* 0DD988 7F0A8E58 A4E30000 */ sh $v1, ($a3) -.L7F0A8E5C: -/* 0DD98C 7F0A8E5C 448A8000 */ mtc1 $t2, $f16 -/* 0DD990 7F0A8E60 84990040 */ lh $t9, 0x40($a0) -/* 0DD994 7F0A8E64 468084A0 */ cvt.s.w $f18, $f16 -/* 0DD998 7F0A8E68 44995000 */ mtc1 $t9, $f10 -/* 0DD99C 7F0A8E6C 00000000 */ nop -/* 0DD9A0 7F0A8E70 46805120 */ cvt.s.w $f4, $f10 -/* 0DD9A4 7F0A8E74 460C9202 */ mul.s $f8, $f18, $f12 -/* 0DD9A8 7F0A8E78 44865000 */ mtc1 $a2, $f10 -/* 0DD9AC 7F0A8E7C 00000000 */ nop -/* 0DD9B0 7F0A8E80 46805420 */ cvt.s.w $f16, $f10 -/* 0DD9B4 7F0A8E84 46082180 */ add.s $f6, $f4, $f8 -/* 0DD9B8 7F0A8E88 46103480 */ add.s $f18, $f6, $f16 -/* 0DD9BC 7F0A8E8C 4600910D */ trunc.w.s $f4, $f18 -/* 0DD9C0 7F0A8E90 440C2000 */ mfc1 $t4, $f4 -/* 0DD9C4 7F0A8E94 00000000 */ nop -/* 0DD9C8 7F0A8E98 A4EC0000 */ sh $t4, ($a3) -/* 0DD9CC 7F0A8E9C 84ED0000 */ lh $t5, ($a3) -/* 0DD9D0 7F0A8EA0 84830020 */ lh $v1, 0x20($a0) -/* 0DD9D4 7F0A8EA4 006D082A */ slt $at, $v1, $t5 -/* 0DD9D8 7F0A8EA8 50200003 */ beql $at, $zero, .L7F0A8EB8 -/* 0DD9DC 7F0A8EAC 24A50001 */ addiu $a1, $a1, 1 -/* 0DD9E0 7F0A8EB0 A4E30000 */ sh $v1, ($a3) -.L7F0A8EB4: -/* 0DD9E4 7F0A8EB4 24A50001 */ addiu $a1, $a1, 1 -.L7F0A8EB8: -/* 0DD9E8 7F0A8EB8 14A8FFC2 */ bne $a1, $t0, .L7F0A8DC4 -/* 0DD9EC 7F0A8EBC 24E70010 */ addiu $a3, $a3, 0x10 -/* 0DD9F0 7F0A8EC0 848200A0 */ lh $v0, 0xa0($a0) -/* 0DD9F4 7F0A8EC4 A4820010 */ sh $v0, 0x10($a0) -/* 0DD9F8 7F0A8EC8 03E00008 */ jr $ra -/* 0DD9FC 7F0A8ECC A4820000 */ sh $v0, ($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A8ED0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A8ED0 -/* 0DDA00 7F0A8ED0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0DDA04 7F0A8ED4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DDA08 7F0A8ED8 AFA40020 */ sw $a0, 0x20($sp) -/* 0DDA0C 7F0A8EDC 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DDA10 7F0A8EE0 00002025 */ move $a0, $zero -/* 0DDA14 7F0A8EE4 8FAE0020 */ lw $t6, 0x20($sp) -/* 0DDA18 7F0A8EE8 00002025 */ move $a0, $zero -/* 0DDA1C 7F0A8EEC 24050111 */ li $a1, 273 -/* 0DDA20 7F0A8EF0 95C30000 */ lhu $v1, ($t6) -/* 0DDA24 7F0A8EF4 AFA2001C */ sw $v0, 0x1c($sp) -/* 0DDA28 7F0A8EF8 0C0030C3 */ jal get_controller_buttons_held -/* 0DDA2C 7F0A8EFC AFA30018 */ sw $v1, 0x18($sp) -/* 0DDA30 7F0A8F00 8FA30018 */ lw $v1, 0x18($sp) -/* 0DDA34 7F0A8F04 8FA6001C */ lw $a2, 0x1c($sp) -/* 0DDA38 7F0A8F08 10400003 */ beqz $v0, .L7F0A8F18 -/* 0DDA3C 7F0A8F0C 8FA70020 */ lw $a3, 0x20($sp) -/* 0DDA40 7F0A8F10 1000000B */ b .L7F0A8F40 -/* 0DDA44 7F0A8F14 24630400 */ addiu $v1, $v1, 0x400 -.L7F0A8F18: -/* 0DDA48 7F0A8F18 00002025 */ move $a0, $zero -/* 0DDA4C 7F0A8F1C 24050222 */ li $a1, 546 -/* 0DDA50 7F0A8F20 AFA30018 */ sw $v1, 0x18($sp) -/* 0DDA54 7F0A8F24 0C0030C3 */ jal get_controller_buttons_held -/* 0DDA58 7F0A8F28 AFA6001C */ sw $a2, 0x1c($sp) -/* 0DDA5C 7F0A8F2C 8FA30018 */ lw $v1, 0x18($sp) -/* 0DDA60 7F0A8F30 8FA6001C */ lw $a2, 0x1c($sp) -/* 0DDA64 7F0A8F34 10400002 */ beqz $v0, .L7F0A8F40 -/* 0DDA68 7F0A8F38 8FA70020 */ lw $a3, 0x20($sp) -/* 0DDA6C 7F0A8F3C 2463FC00 */ addiu $v1, $v1, -0x400 -.L7F0A8F40: -/* 0DDA70 7F0A8F40 28C10047 */ slti $at, $a2, 0x47 -/* 0DDA74 7F0A8F44 14200003 */ bnez $at, .L7F0A8F54 -/* 0DDA78 7F0A8F48 240B7FFF */ li $t3, 32767 -/* 0DDA7C 7F0A8F4C 10000005 */ b .L7F0A8F64 -/* 0DDA80 7F0A8F50 24060046 */ li $a2, 70 -.L7F0A8F54: -/* 0DDA84 7F0A8F54 28C1FFBA */ slti $at, $a2, -0x46 -/* 0DDA88 7F0A8F58 50200003 */ beql $at, $zero, .L7F0A8F68 -/* 0DDA8C 7F0A8F5C 28C10008 */ slti $at, $a2, 8 -/* 0DDA90 7F0A8F60 2406FFBA */ li $a2, -70 -.L7F0A8F64: -/* 0DDA94 7F0A8F64 28C10008 */ slti $at, $a2, 8 -.L7F0A8F68: -/* 0DDA98 7F0A8F68 14200008 */ bnez $at, .L7F0A8F8C -/* 0DDA9C 7F0A8F6C 00067AC0 */ sll $t7, $a2, 0xb -/* 0DDAA0 7F0A8F70 25F8C800 */ addiu $t8, $t7, -0x3800 -/* 0DDAA4 7F0A8F74 24010046 */ li $at, 70 -/* 0DDAA8 7F0A8F78 0301001A */ div $zero, $t8, $at -/* 0DDAAC 7F0A8F7C 0000C812 */ mflo $t9 -/* 0DDAB0 7F0A8F80 00791821 */ addu $v1, $v1, $t9 -/* 0DDAB4 7F0A8F84 1000000B */ b .L7F0A8FB4 -/* 0DDAB8 7F0A8F88 34018000 */ li $at, 32768 -.L7F0A8F8C: -/* 0DDABC 7F0A8F8C 28C1FFF9 */ slti $at, $a2, -7 -/* 0DDAC0 7F0A8F90 10200007 */ beqz $at, .L7F0A8FB0 -/* 0DDAC4 7F0A8F94 000642C0 */ sll $t0, $a2, 0xb -/* 0DDAC8 7F0A8F98 25093800 */ addiu $t1, $t0, 0x3800 -/* 0DDACC 7F0A8F9C 24010046 */ li $at, 70 -/* 0DDAD0 7F0A8FA0 0121001A */ div $zero, $t1, $at -/* 0DDAD4 7F0A8FA4 00005012 */ mflo $t2 -/* 0DDAD8 7F0A8FA8 006A1821 */ addu $v1, $v1, $t2 -/* 0DDADC 7F0A8FAC 00000000 */ nop -.L7F0A8FB0: -/* 0DDAE0 7F0A8FB0 34018000 */ li $at, 32768 -.L7F0A8FB4: -/* 0DDAE4 7F0A8FB4 0061082A */ slt $at, $v1, $at -/* 0DDAE8 7F0A8FB8 14200003 */ bnez $at, .L7F0A8FC8 -/* 0DDAEC 7F0A8FBC 00000000 */ nop -/* 0DDAF0 7F0A8FC0 10000006 */ b .L7F0A8FDC -/* 0DDAF4 7F0A8FC4 A4EB0000 */ sh $t3, ($a3) -.L7F0A8FC8: -/* 0DDAF8 7F0A8FC8 04630004 */ bgezl $v1, .L7F0A8FDC -/* 0DDAFC 7F0A8FCC A4E30000 */ sh $v1, ($a3) -/* 0DDB00 7F0A8FD0 10000002 */ b .L7F0A8FDC -/* 0DDB04 7F0A8FD4 A4E00000 */ sh $zero, ($a3) -/* 0DDB08 7F0A8FD8 A4E30000 */ sh $v1, ($a3) -.L7F0A8FDC: -/* 0DDB0C 7F0A8FDC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DDB10 7F0A8FE0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0DDB14 7F0A8FE4 03E00008 */ jr $ra -/* 0DDB18 7F0A8FE8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A8FEC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058538 -.word 0x46fffe00 /*32767.0*/ -.text -glabel sub_GAME_7F0A8FEC -/* 0DDB1C 7F0A8FEC 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0DDB20 7F0A8FF0 AFB00028 */ sw $s0, 0x28($sp) -/* 0DDB24 7F0A8FF4 00808025 */ move $s0, $a0 -/* 0DDB28 7F0A8FF8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0DDB2C 7F0A8FFC 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 0DDB30 7F0A9000 2404000C */ li $a0, 12 -/* 0DDB34 7F0A9004 0C002472 */ jal sfx_c_700091C8 -/* 0DDB38 7F0A9008 AFA2003C */ sw $v0, 0x3c($sp) -/* 0DDB3C 7F0A900C 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DDB40 7F0A9010 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DDB44 7F0A9014 A7A20046 */ sh $v0, 0x46($sp) -/* 0DDB48 7F0A9018 3C0F8004 */ lui $t7, %hi(D_8004099C) -/* 0DDB4C 7F0A901C 51C00008 */ beql $t6, $zero, .L7F0A9040 -/* 0DDB50 7F0A9020 97B80046 */ lhu $t8, 0x46($sp) -/* 0DDB54 7F0A9024 8DEF099C */ lw $t7, %lo(D_8004099C)($t7) -/* 0DDB58 7F0A9028 24010001 */ li $at, 1 -/* 0DDB5C 7F0A902C 55E10004 */ bnel $t7, $at, .L7F0A9040 -/* 0DDB60 7F0A9030 97B80046 */ lhu $t8, 0x46($sp) -/* 0DDB64 7F0A9034 0FC2A3B4 */ jal sub_GAME_7F0A8ED0 -/* 0DDB68 7F0A9038 27A40046 */ addiu $a0, $sp, 0x46 -/* 0DDB6C 7F0A903C 97B80046 */ lhu $t8, 0x46($sp) -.L7F0A9040: -/* 0DDB70 7F0A9040 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0DDB74 7F0A9044 44982000 */ mtc1 $t8, $f4 -/* 0DDB78 7F0A9048 07010004 */ bgez $t8, .L7F0A905C -/* 0DDB7C 7F0A904C 468021A0 */ cvt.s.w $f6, $f4 -/* 0DDB80 7F0A9050 44814000 */ mtc1 $at, $f8 -/* 0DDB84 7F0A9054 00000000 */ nop -/* 0DDB88 7F0A9058 46083180 */ add.s $f6, $f6, $f8 -.L7F0A905C: -/* 0DDB8C 7F0A905C 3C018006 */ lui $at, %hi(D_80058538) -/* 0DDB90 7F0A9060 C42A8538 */ lwc1 $f10, %lo(D_80058538)($at) -/* 0DDB94 7F0A9064 03002025 */ move $a0, $t8 -/* 0DDB98 7F0A9068 460A3403 */ div.s $f16, $f6, $f10 -/* 0DDB9C 7F0A906C 0C00247A */ jal sfx_c_700091E8 -/* 0DDBA0 7F0A9070 E7B00040 */ swc1 $f16, 0x40($sp) -/* 0DDBA4 7F0A9074 02001025 */ move $v0, $s0 -/* 0DDBA8 7F0A9078 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0DDBAC 7F0A907C 3C080050 */ lui $t0, (0x00504240 >> 16) # lui $t0, 0x50 -/* 0DDBB0 7F0A9080 35084240 */ ori $t0, (0x00504240 & 0xFFFF) # ori $t0, $t0, 0x4240 -/* 0DDBB4 7F0A9084 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0DDBB8 7F0A9088 AC590000 */ sw $t9, ($v0) -/* 0DDBBC 7F0A908C AC480004 */ sw $t0, 4($v0) -/* 0DDBC0 7F0A9090 8FA5003C */ lw $a1, 0x3c($sp) -/* 0DDBC4 7F0A9094 3C018000 */ lui $at, 0x8000 -/* 0DDBC8 7F0A9098 26040008 */ addiu $a0, $s0, 8 -/* 0DDBCC 7F0A909C 0FC28ED0 */ jal sub_GAME_7F0A3B40 -/* 0DDBD0 7F0A90A0 00A12821 */ addu $a1, $a1, $at -/* 0DDBD4 7F0A90A4 24090014 */ li $t1, 20 -/* 0DDBD8 7F0A90A8 240AFED5 */ li $t2, -299 -/* 0DDBDC 7F0A90AC 240BFF33 */ li $t3, -205 -/* 0DDBE0 7F0A90B0 00408025 */ move $s0, $v0 -/* 0DDBE4 7F0A90B4 AFAB0018 */ sw $t3, 0x18($sp) -/* 0DDBE8 7F0A90B8 AFAA0014 */ sw $t2, 0x14($sp) -/* 0DDBEC 7F0A90BC AFA90010 */ sw $t1, 0x10($sp) -/* 0DDBF0 7F0A90C0 8FA4003C */ lw $a0, 0x3c($sp) -/* 0DDBF4 7F0A90C4 00002825 */ move $a1, $zero -/* 0DDBF8 7F0A90C8 00003025 */ move $a2, $zero -/* 0DDBFC 7F0A90CC 0FC28EAE */ jal sub_GAME_7F0A3AB8 -/* 0DDC00 7F0A90D0 24070258 */ li $a3, 600 -/* 0DDC04 7F0A90D4 3C018000 */ lui $at, 0x8000 -/* 0DDC08 7F0A90D8 AFA20038 */ sw $v0, 0x38($sp) -/* 0DDC0C 7F0A90DC 00412821 */ addu $a1, $v0, $at -/* 0DDC10 7F0A90E0 0FC28ED0 */ jal sub_GAME_7F0A3B40 -/* 0DDC14 7F0A90E4 02002025 */ move $a0, $s0 -/* 0DDC18 7F0A90E8 240C0014 */ li $t4, 20 -/* 0DDC1C 7F0A90EC 240DFED5 */ li $t5, -299 -/* 0DDC20 7F0A90F0 240EFF33 */ li $t6, -205 -/* 0DDC24 7F0A90F4 00408025 */ move $s0, $v0 -/* 0DDC28 7F0A90F8 AFAE0018 */ sw $t6, 0x18($sp) -/* 0DDC2C 7F0A90FC AFAD0014 */ sw $t5, 0x14($sp) -/* 0DDC30 7F0A9100 AFAC0010 */ sw $t4, 0x10($sp) -/* 0DDC34 7F0A9104 8FA40038 */ lw $a0, 0x38($sp) -/* 0DDC38 7F0A9108 00002825 */ move $a1, $zero -/* 0DDC3C 7F0A910C 00003025 */ move $a2, $zero -/* 0DDC40 7F0A9110 0FC28EAE */ jal sub_GAME_7F0A3AB8 -/* 0DDC44 7F0A9114 24070258 */ li $a3, 600 -/* 0DDC48 7F0A9118 3C018000 */ lui $at, 0x8000 -/* 0DDC4C 7F0A911C AFA20038 */ sw $v0, 0x38($sp) -/* 0DDC50 7F0A9120 00412821 */ addu $a1, $v0, $at -/* 0DDC54 7F0A9124 0FC28ED0 */ jal sub_GAME_7F0A3B40 -/* 0DDC58 7F0A9128 02002025 */ move $a0, $s0 -/* 0DDC5C 7F0A912C 240F0014 */ li $t7, 20 -/* 0DDC60 7F0A9130 2418FED5 */ li $t8, -299 -/* 0DDC64 7F0A9134 2419FF33 */ li $t9, -205 -/* 0DDC68 7F0A9138 00408025 */ move $s0, $v0 -/* 0DDC6C 7F0A913C AFB90018 */ sw $t9, 0x18($sp) -/* 0DDC70 7F0A9140 AFB80014 */ sw $t8, 0x14($sp) -/* 0DDC74 7F0A9144 AFAF0010 */ sw $t7, 0x10($sp) -/* 0DDC78 7F0A9148 8FA40038 */ lw $a0, 0x38($sp) -/* 0DDC7C 7F0A914C 00002825 */ move $a1, $zero -/* 0DDC80 7F0A9150 00003025 */ move $a2, $zero -/* 0DDC84 7F0A9154 0FC28EAE */ jal sub_GAME_7F0A3AB8 -/* 0DDC88 7F0A9158 24070258 */ li $a3, 600 -/* 0DDC8C 7F0A915C 8FA4003C */ lw $a0, 0x3c($sp) -/* 0DDC90 7F0A9160 8FA50040 */ lw $a1, 0x40($sp) -/* 0DDC94 7F0A9164 0FC2A350 */ jal sub_GAME_7F0A8D40 -/* 0DDC98 7F0A9168 2406001E */ li $a2, 30 -/* 0DDC9C 7F0A916C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0DDCA0 7F0A9170 02001025 */ move $v0, $s0 -/* 0DDCA4 7F0A9174 8FB00028 */ lw $s0, 0x28($sp) -/* 0DDCA8 7F0A9178 03E00008 */ jr $ra -/* 0DDCAC 7F0A917C 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -void call_sfx_c_700091C8(void) { - sfx_c_700091C8(); -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A91A0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A91A0 -/* 0DDCD0 7F0A91A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DDCD4 7F0A91A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DDCD8 7F0A91A8 AFA40018 */ sw $a0, 0x18($sp) -/* 0DDCDC 7F0A91AC 308EFFFF */ andi $t6, $a0, 0xffff -/* 0DDCE0 7F0A91B0 0C00247A */ jal sfx_c_700091E8 -/* 0DDCE4 7F0A91B4 01C02025 */ move $a0, $t6 -/* 0DDCE8 7F0A91B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DDCEC 7F0A91BC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DDCF0 7F0A91C0 03E00008 */ jr $ra -/* 0DDCF4 7F0A91C4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A91C8(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005853C -.word 0x46fffe00 /*32767.0*/ -.text -glabel sub_GAME_7F0A91C8 -/* 0DDCF8 7F0A91C8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0DDCFC 7F0A91CC AFB00028 */ sw $s0, 0x28($sp) -/* 0DDD00 7F0A91D0 00808025 */ move $s0, $a0 -/* 0DDD04 7F0A91D4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0DDD08 7F0A91D8 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 0DDD0C 7F0A91DC 2404000C */ li $a0, 12 -/* 0DDD10 7F0A91E0 0FC2A4D6 */ jal sub_GAME_7F0A9358 -/* 0DDD14 7F0A91E4 AFA2003C */ sw $v0, 0x3c($sp) -/* 0DDD18 7F0A91E8 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DDD1C 7F0A91EC 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DDD20 7F0A91F0 A7A20046 */ sh $v0, 0x46($sp) -/* 0DDD24 7F0A91F4 3C0F8004 */ lui $t7, %hi(D_8004099C) -/* 0DDD28 7F0A91F8 51C00007 */ beql $t6, $zero, .L7F0A9218 -/* 0DDD2C 7F0A91FC 97B80046 */ lhu $t8, 0x46($sp) -/* 0DDD30 7F0A9200 8DEF099C */ lw $t7, %lo(D_8004099C)($t7) -/* 0DDD34 7F0A9204 55E00004 */ bnezl $t7, .L7F0A9218 -/* 0DDD38 7F0A9208 97B80046 */ lhu $t8, 0x46($sp) -/* 0DDD3C 7F0A920C 0FC2A3B4 */ jal sub_GAME_7F0A8ED0 -/* 0DDD40 7F0A9210 27A40046 */ addiu $a0, $sp, 0x46 -/* 0DDD44 7F0A9214 97B80046 */ lhu $t8, 0x46($sp) -.L7F0A9218: -/* 0DDD48 7F0A9218 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0DDD4C 7F0A921C 44982000 */ mtc1 $t8, $f4 -/* 0DDD50 7F0A9220 07010004 */ bgez $t8, .L7F0A9234 -/* 0DDD54 7F0A9224 468021A0 */ cvt.s.w $f6, $f4 -/* 0DDD58 7F0A9228 44814000 */ mtc1 $at, $f8 -/* 0DDD5C 7F0A922C 00000000 */ nop -/* 0DDD60 7F0A9230 46083180 */ add.s $f6, $f6, $f8 -.L7F0A9234: -/* 0DDD64 7F0A9234 3C018006 */ lui $at, %hi(D_8005853C) -/* 0DDD68 7F0A9238 C42A853C */ lwc1 $f10, %lo(D_8005853C)($at) -/* 0DDD6C 7F0A923C 03002025 */ move $a0, $t8 -/* 0DDD70 7F0A9240 460A3403 */ div.s $f16, $f6, $f10 -/* 0DDD74 7F0A9244 0FC2A4D9 */ jal sub_GAME_7F0A9364 -/* 0DDD78 7F0A9248 E7B00040 */ swc1 $f16, 0x40($sp) -/* 0DDD7C 7F0A924C 02001025 */ move $v0, $s0 -/* 0DDD80 7F0A9250 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0DDD84 7F0A9254 3C080050 */ lui $t0, (0x00504240 >> 16) # lui $t0, 0x50 -/* 0DDD88 7F0A9258 35084240 */ ori $t0, (0x00504240 & 0xFFFF) # ori $t0, $t0, 0x4240 -/* 0DDD8C 7F0A925C 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0DDD90 7F0A9260 AC590000 */ sw $t9, ($v0) -/* 0DDD94 7F0A9264 AC480004 */ sw $t0, 4($v0) -/* 0DDD98 7F0A9268 8FA5003C */ lw $a1, 0x3c($sp) -/* 0DDD9C 7F0A926C 3C018000 */ lui $at, 0x8000 -/* 0DDDA0 7F0A9270 26040008 */ addiu $a0, $s0, 8 -/* 0DDDA4 7F0A9274 0FC28ED0 */ jal sub_GAME_7F0A3B40 -/* 0DDDA8 7F0A9278 00A12821 */ addu $a1, $a1, $at -/* 0DDDAC 7F0A927C 24090014 */ li $t1, 20 -/* 0DDDB0 7F0A9280 240AFED5 */ li $t2, -299 -/* 0DDDB4 7F0A9284 240BFEED */ li $t3, -275 -/* 0DDDB8 7F0A9288 00408025 */ move $s0, $v0 -/* 0DDDBC 7F0A928C AFAB0018 */ sw $t3, 0x18($sp) -/* 0DDDC0 7F0A9290 AFAA0014 */ sw $t2, 0x14($sp) -/* 0DDDC4 7F0A9294 AFA90010 */ sw $t1, 0x10($sp) -/* 0DDDC8 7F0A9298 8FA4003C */ lw $a0, 0x3c($sp) -/* 0DDDCC 7F0A929C 00002825 */ move $a1, $zero -/* 0DDDD0 7F0A92A0 00003025 */ move $a2, $zero -/* 0DDDD4 7F0A92A4 0FC28EAE */ jal sub_GAME_7F0A3AB8 -/* 0DDDD8 7F0A92A8 24070258 */ li $a3, 600 -/* 0DDDDC 7F0A92AC 3C018000 */ lui $at, 0x8000 -/* 0DDDE0 7F0A92B0 AFA20038 */ sw $v0, 0x38($sp) -/* 0DDDE4 7F0A92B4 00412821 */ addu $a1, $v0, $at -/* 0DDDE8 7F0A92B8 0FC28ED0 */ jal sub_GAME_7F0A3B40 -/* 0DDDEC 7F0A92BC 02002025 */ move $a0, $s0 -/* 0DDDF0 7F0A92C0 240C0014 */ li $t4, 20 -/* 0DDDF4 7F0A92C4 240DFED5 */ li $t5, -299 -/* 0DDDF8 7F0A92C8 240EFEED */ li $t6, -275 -/* 0DDDFC 7F0A92CC 00408025 */ move $s0, $v0 -/* 0DDE00 7F0A92D0 AFAE0018 */ sw $t6, 0x18($sp) -/* 0DDE04 7F0A92D4 AFAD0014 */ sw $t5, 0x14($sp) -/* 0DDE08 7F0A92D8 AFAC0010 */ sw $t4, 0x10($sp) -/* 0DDE0C 7F0A92DC 8FA40038 */ lw $a0, 0x38($sp) -/* 0DDE10 7F0A92E0 00002825 */ move $a1, $zero -/* 0DDE14 7F0A92E4 00003025 */ move $a2, $zero -/* 0DDE18 7F0A92E8 0FC28EAE */ jal sub_GAME_7F0A3AB8 -/* 0DDE1C 7F0A92EC 24070258 */ li $a3, 600 -/* 0DDE20 7F0A92F0 3C018000 */ lui $at, 0x8000 -/* 0DDE24 7F0A92F4 AFA20038 */ sw $v0, 0x38($sp) -/* 0DDE28 7F0A92F8 00412821 */ addu $a1, $v0, $at -/* 0DDE2C 7F0A92FC 0FC28ED0 */ jal sub_GAME_7F0A3B40 -/* 0DDE30 7F0A9300 02002025 */ move $a0, $s0 -/* 0DDE34 7F0A9304 240F0014 */ li $t7, 20 -/* 0DDE38 7F0A9308 2418FED5 */ li $t8, -299 -/* 0DDE3C 7F0A930C 2419FEED */ li $t9, -275 -/* 0DDE40 7F0A9310 00408025 */ move $s0, $v0 -/* 0DDE44 7F0A9314 AFB90018 */ sw $t9, 0x18($sp) -/* 0DDE48 7F0A9318 AFB80014 */ sw $t8, 0x14($sp) -/* 0DDE4C 7F0A931C AFAF0010 */ sw $t7, 0x10($sp) -/* 0DDE50 7F0A9320 8FA40038 */ lw $a0, 0x38($sp) -/* 0DDE54 7F0A9324 00002825 */ move $a1, $zero -/* 0DDE58 7F0A9328 00003025 */ move $a2, $zero -/* 0DDE5C 7F0A932C 0FC28EAE */ jal sub_GAME_7F0A3AB8 -/* 0DDE60 7F0A9330 24070258 */ li $a3, 600 -/* 0DDE64 7F0A9334 8FA4003C */ lw $a0, 0x3c($sp) -/* 0DDE68 7F0A9338 8FA50040 */ lw $a1, 0x40($sp) -/* 0DDE6C 7F0A933C 0FC2A350 */ jal sub_GAME_7F0A8D40 -/* 0DDE70 7F0A9340 2406001E */ li $a2, 30 -/* 0DDE74 7F0A9344 8FBF002C */ lw $ra, 0x2c($sp) -/* 0DDE78 7F0A9348 02001025 */ move $v0, $s0 -/* 0DDE7C 7F0A934C 8FB00028 */ lw $s0, 0x28($sp) -/* 0DDE80 7F0A9350 03E00008 */ jr $ra -/* 0DDE84 7F0A9354 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - -u16 sub_GAME_7F0A9358(void) -{ - return mTrack2Vol; -} - - - -#ifdef NONMATCHING -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(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 -/* 0DDEAC 7F0A937C A4450000 */ sh $a1, ($v0) -/* 0DDEB0 7F0A9380 0C001CF1 */ jal musicTrack2Vol -/* 0DDEB4 7F0A9384 30A4FFFF */ andi $a0, $a1, 0xffff -/* 0DDEB8 7F0A9388 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DDEBC 7F0A938C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DDEC0 7F0A9390 03E00008 */ jr $ra -/* 0DDEC4 7F0A9394 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A9398(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A9398 -/* 0DDEC8 7F0A9398 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0DDECC 7F0A939C AFA70074 */ sw $a3, 0x74($sp) -/* 0DDED0 7F0A93A0 3C028004 */ lui $v0, %hi(ptrFirstFontTableSmall) -/* 0DDED4 7F0A93A4 8C420EAC */ lw $v0, %lo(ptrFirstFontTableSmall)($v0) -/* 0DDED8 7F0A93A8 3C078004 */ lui $a3, %hi(ptrSecondFontTableSmall) -/* 0DDEDC 7F0A93AC 8CE70EB0 */ lw $a3, %lo(ptrSecondFontTableSmall)($a3) -/* 0DDEE0 7F0A93B0 AFB00038 */ sw $s0, 0x38($sp) -/* 0DDEE4 7F0A93B4 00808025 */ move $s0, $a0 -/* 0DDEE8 7F0A93B8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0DDEEC 7F0A93BC AFA5006C */ sw $a1, 0x6c($sp) -/* 0DDEF0 7F0A93C0 AFA60070 */ sw $a2, 0x70($sp) -/* 0DDEF4 7F0A93C4 240E000A */ li $t6, 10 -/* 0DDEF8 7F0A93C8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0DDEFC 7F0A93CC 8FA60074 */ lw $a2, 0x74($sp) -/* 0DDF00 7F0A93D0 27A50058 */ addiu $a1, $sp, 0x58 -/* 0DDF04 7F0A93D4 27A40054 */ addiu $a0, $sp, 0x54 -/* 0DDF08 7F0A93D8 AFA20010 */ sw $v0, 0x10($sp) -/* 0DDF0C 7F0A93DC AFA20050 */ sw $v0, 0x50($sp) -/* 0DDF10 7F0A93E0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DDF14 7F0A93E4 AFA7004C */ sw $a3, 0x4c($sp) -/* 0DDF18 7F0A93E8 8FAF0084 */ lw $t7, 0x84($sp) -/* 0DDF1C 7F0A93EC 8FA2006C */ lw $v0, 0x6c($sp) -/* 0DDF20 7F0A93F0 8FAC0058 */ lw $t4, 0x58($sp) -/* 0DDF24 7F0A93F4 11E00008 */ beqz $t7, .L7F0A9418 -/* 0DDF28 7F0A93F8 8FAD0070 */ lw $t5, 0x70($sp) -/* 0DDF2C 7F0A93FC 8FB80058 */ lw $t8, 0x58($sp) -/* 0DDF30 7F0A9400 07010003 */ bgez $t8, .L7F0A9410 -/* 0DDF34 7F0A9404 0018C843 */ sra $t9, $t8, 1 -/* 0DDF38 7F0A9408 27010001 */ addiu $at, $t8, 1 -/* 0DDF3C 7F0A940C 0001C843 */ sra $t9, $at, 1 -.L7F0A9410: -/* 0DDF40 7F0A9410 10000008 */ b .L7F0A9434 -/* 0DDF44 7F0A9414 00594823 */ subu $t1, $v0, $t9 -.L7F0A9418: -/* 0DDF48 7F0A9418 8FAA0090 */ lw $t2, 0x90($sp) -/* 0DDF4C 7F0A941C 8FAB0058 */ lw $t3, 0x58($sp) -/* 0DDF50 7F0A9420 00404825 */ move $t1, $v0 -/* 0DDF54 7F0A9424 11400003 */ beqz $t2, .L7F0A9434 -/* 0DDF58 7F0A9428 00000000 */ nop -/* 0DDF5C 7F0A942C 10000001 */ b .L7F0A9434 -/* 0DDF60 7F0A9430 004B4823 */ subu $t1, $v0, $t3 -.L7F0A9434: -/* 0DDF64 7F0A9434 3C0F8004 */ lui $t7, %hi(D_80040B04) -/* 0DDF68 7F0A9438 8DEF0B04 */ lw $t7, %lo(D_80040B04)($t7) -/* 0DDF6C 7F0A943C 8FAE0054 */ lw $t6, 0x54($sp) -/* 0DDF70 7F0A9440 012C1821 */ addu $v1, $t1, $t4 -/* 0DDF74 7F0A9444 29E100E0 */ slti $at, $t7, 0xe0 -/* 0DDF78 7F0A9448 AFA90064 */ sw $t1, 0x64($sp) -/* 0DDF7C 7F0A944C 1020000A */ beqz $at, .L7F0A9478 -/* 0DDF80 7F0A9450 01AE4021 */ addu $t0, $t5, $t6 -/* 0DDF84 7F0A9454 02001025 */ move $v0, $s0 -/* 0DDF88 7F0A9458 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 0DDF8C 7F0A945C 3C190050 */ lui $t9, (0x0050004B >> 16) # lui $t9, 0x50 -/* 0DDF90 7F0A9460 3739004B */ ori $t9, (0x0050004B & 0xFFFF) # ori $t9, $t9, 0x4b -/* 0DDF94 7F0A9464 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 0DDF98 7F0A9468 AC580000 */ sw $t8, ($v0) -/* 0DDF9C 7F0A946C AC590004 */ sw $t9, 4($v0) -/* 0DDFA0 7F0A9470 10000009 */ b .L7F0A9498 -/* 0DDFA4 7F0A9474 26100008 */ addiu $s0, $s0, 8 -.L7F0A9478: -/* 0DDFA8 7F0A9478 02001025 */ move $v0, $s0 -/* 0DDFAC 7F0A947C 3C0AB900 */ lui $t2, (0xB900031D >> 16) # lui $t2, 0xb900 -/* 0DDFB0 7F0A9480 3C0B0050 */ lui $t3, (0x005041C8 >> 16) # lui $t3, 0x50 -/* 0DDFB4 7F0A9484 356B41C8 */ ori $t3, (0x005041C8 & 0xFFFF) # ori $t3, $t3, 0x41c8 -/* 0DDFB8 7F0A9488 354A031D */ ori $t2, (0xB900031D & 0xFFFF) # ori $t2, $t2, 0x31d -/* 0DDFBC 7F0A948C AC4A0000 */ sw $t2, ($v0) -/* 0DDFC0 7F0A9490 AC4B0004 */ sw $t3, 4($v0) -/* 0DDFC4 7F0A9494 26100008 */ addiu $s0, $s0, 8 -.L7F0A9498: -/* 0DDFC8 7F0A9498 8FAC0088 */ lw $t4, 0x88($sp) -/* 0DDFCC 7F0A949C 8FA90064 */ lw $t1, 0x64($sp) -/* 0DDFD0 7F0A94A0 02002025 */ move $a0, $s0 -/* 0DDFD4 7F0A94A4 1180000D */ beqz $t4, .L7F0A94DC -/* 0DDFD8 7F0A94A8 2525FFFF */ addiu $a1, $t1, -1 -/* 0DDFDC 7F0A94AC 8FAD0070 */ lw $t5, 0x70($sp) -/* 0DDFE0 7F0A94B0 8FAE007C */ lw $t6, 0x7c($sp) -/* 0DDFE4 7F0A94B4 8FB8008C */ lw $t8, 0x8c($sp) -/* 0DDFE8 7F0A94B8 250F0001 */ addiu $t7, $t0, 1 -/* 0DDFEC 7F0A94BC 01AE3021 */ addu $a2, $t5, $t6 -/* 0DDFF0 7F0A94C0 24C60001 */ addiu $a2, $a2, 1 -/* 0DDFF4 7F0A94C4 AFAF0010 */ sw $t7, 0x10($sp) -/* 0DDFF8 7F0A94C8 24670001 */ addiu $a3, $v1, 1 -/* 0DDFFC 7F0A94CC AFA90064 */ sw $t1, 0x64($sp) -/* 0DE000 7F0A94D0 0FC2B405 */ jal microcode_constructor_related_to_menus -/* 0DE004 7F0A94D4 AFB80014 */ sw $t8, 0x14($sp) -/* 0DE008 7F0A94D8 00408025 */ move $s0, $v0 -.L7F0A94DC: -/* 0DE00C 7F0A94DC 02001025 */ move $v0, $s0 -/* 0DE010 7F0A94E0 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 0DE014 7F0A94E4 3C0A0050 */ lui $t2, (0x005041C8 >> 16) # lui $t2, 0x50 -/* 0DE018 7F0A94E8 354A41C8 */ ori $t2, (0x005041C8 & 0xFFFF) # ori $t2, $t2, 0x41c8 -/* 0DE01C 7F0A94EC 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 0DE020 7F0A94F0 AC590000 */ sw $t9, ($v0) -/* 0DE024 7F0A94F4 AC4A0004 */ sw $t2, 4($v0) -/* 0DE028 7F0A94F8 8FAB007C */ lw $t3, 0x7c($sp) -/* 0DE02C 7F0A94FC 26100008 */ addiu $s0, $s0, 8 -/* 0DE030 7F0A9500 02002025 */ move $a0, $s0 -/* 0DE034 7F0A9504 15600012 */ bnez $t3, .L7F0A9550 -/* 0DE038 7F0A9508 27A50064 */ addiu $a1, $sp, 0x64 -/* 0DE03C 7F0A950C 8FAC004C */ lw $t4, 0x4c($sp) -/* 0DE040 7F0A9510 8FAD0050 */ lw $t5, 0x50($sp) -/* 0DE044 7F0A9514 8FAE0078 */ lw $t6, 0x78($sp) -/* 0DE048 7F0A9518 8FAF0058 */ lw $t7, 0x58($sp) -/* 0DE04C 7F0A951C 8FB80054 */ lw $t8, 0x54($sp) -/* 0DE050 7F0A9520 2419000A */ li $t9, 10 -/* 0DE054 7F0A9524 AFB90028 */ sw $t9, 0x28($sp) -/* 0DE058 7F0A9528 27A60070 */ addiu $a2, $sp, 0x70 -/* 0DE05C 7F0A952C 8FA70074 */ lw $a3, 0x74($sp) -/* 0DE060 7F0A9530 AFA00024 */ sw $zero, 0x24($sp) -/* 0DE064 7F0A9534 AFAC0010 */ sw $t4, 0x10($sp) -/* 0DE068 7F0A9538 AFAD0014 */ sw $t5, 0x14($sp) -/* 0DE06C 7F0A953C AFAE0018 */ sw $t6, 0x18($sp) -/* 0DE070 7F0A9540 AFAF001C */ sw $t7, 0x1c($sp) -/* 0DE074 7F0A9544 0FC2B6AF */ jal en_text_write_stuff -/* 0DE078 7F0A9548 AFB80020 */ sw $t8, 0x20($sp) -/* 0DE07C 7F0A954C 00408025 */ move $s0, $v0 -.L7F0A9550: -/* 0DE080 7F0A9550 8FAA007C */ lw $t2, 0x7c($sp) -/* 0DE084 7F0A9554 02002025 */ move $a0, $s0 -/* 0DE088 7F0A9558 27A50064 */ addiu $a1, $sp, 0x64 -/* 0DE08C 7F0A955C 11400014 */ beqz $t2, .L7F0A95B0 -/* 0DE090 7F0A9560 27A60070 */ addiu $a2, $sp, 0x70 -/* 0DE094 7F0A9564 8FAF0058 */ lw $t7, 0x58($sp) -/* 0DE098 7F0A9568 8FAB004C */ lw $t3, 0x4c($sp) -/* 0DE09C 7F0A956C 8FAC0050 */ lw $t4, 0x50($sp) -/* 0DE0A0 7F0A9570 8FAD0078 */ lw $t5, 0x78($sp) -/* 0DE0A4 7F0A9574 8FAE0080 */ lw $t6, 0x80($sp) -/* 0DE0A8 7F0A9578 8FB90054 */ lw $t9, 0x54($sp) -/* 0DE0AC 7F0A957C 240A000A */ li $t2, 10 -/* 0DE0B0 7F0A9580 25F80001 */ addiu $t8, $t7, 1 -/* 0DE0B4 7F0A9584 AFB80020 */ sw $t8, 0x20($sp) -/* 0DE0B8 7F0A9588 AFAA002C */ sw $t2, 0x2c($sp) -/* 0DE0BC 7F0A958C 8FA70074 */ lw $a3, 0x74($sp) -/* 0DE0C0 7F0A9590 AFA00028 */ sw $zero, 0x28($sp) -/* 0DE0C4 7F0A9594 AFAB0010 */ sw $t3, 0x10($sp) -/* 0DE0C8 7F0A9598 AFAC0014 */ sw $t4, 0x14($sp) -/* 0DE0CC 7F0A959C AFAD0018 */ sw $t5, 0x18($sp) -/* 0DE0D0 7F0A95A0 AFAE001C */ sw $t6, 0x1c($sp) -/* 0DE0D4 7F0A95A4 0FC2B9BB */ jal jp_text_write_stuff -/* 0DE0D8 7F0A95A8 AFB90024 */ sw $t9, 0x24($sp) -/* 0DE0DC 7F0A95AC 00408025 */ move $s0, $v0 -.L7F0A95B0: -/* 0DE0E0 7F0A95B0 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DE0E4 7F0A95B4 02001025 */ move $v0, $s0 -/* 0DE0E8 7F0A95B8 8FB00038 */ lw $s0, 0x38($sp) -/* 0DE0EC 7F0A95BC 03E00008 */ jr $ra -/* 0DE0F0 7F0A95C0 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0A95C4 -/* 0DE0F4 7F0A95C4 460E603C */ c.lt.s $f12, $f14 -/* 0DE0F8 7F0A95C8 AFA60008 */ sw $a2, 8($sp) -/* 0DE0FC 7F0A95CC 45020007 */ bc1fl .L7F0A95EC -/* 0DE100 7F0A95D0 460C703C */ c.lt.s $f14, $f12 -/* 0DE104 7F0A95D4 460C7101 */ sub.s $f4, $f14, $f12 -/* 0DE108 7F0A95D8 C7A60008 */ lwc1 $f6, 8($sp) -/* 0DE10C 7F0A95DC 46062203 */ div.s $f8, $f4, $f6 -/* 0DE110 7F0A95E0 03E00008 */ jr $ra -/* 0DE114 7F0A95E4 46086000 */ add.s $f0, $f12, $f8 - -/* 0DE118 7F0A95E8 460C703C */ c.lt.s $f14, $f12 -.L7F0A95EC: -/* 0DE11C 7F0A95EC 00000000 */ nop -/* 0DE120 7F0A95F0 45000005 */ bc1f .L7F0A9608 -/* 0DE124 7F0A95F4 00000000 */ nop -/* 0DE128 7F0A95F8 460E6281 */ sub.s $f10, $f12, $f14 -/* 0DE12C 7F0A95FC C7B00008 */ lwc1 $f16, 8($sp) -/* 0DE130 7F0A9600 46105483 */ div.s $f18, $f10, $f16 -/* 0DE134 7F0A9604 46126301 */ sub.s $f12, $f12, $f18 -.L7F0A9608: -/* 0DE138 7F0A9608 03E00008 */ jr $ra -/* 0DE13C 7F0A960C 46006006 */ mov.s $f0, $f12 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A9610(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058540 -.word 0x3dcccccd /*0.1*/ -glabel D_80058544 -.word 0xbdcccccd /*-0.1*/ -.text -glabel sub_GAME_7F0A9610 -/* 0DE140 7F0A9610 3C018006 */ lui $at, %hi(D_80058540) -/* 0DE144 7F0A9614 C4228540 */ lwc1 $f2, %lo(D_80058540)($at) -/* 0DE148 7F0A9618 3C018004 */ lui $at, %hi(D_80040B24) -/* 0DE14C 7F0A961C C4200B24 */ lwc1 $f0, %lo(D_80040B24)($at) -/* 0DE150 7F0A9620 3C018006 */ lui $at, %hi(D_80058544) -/* 0DE154 7F0A9624 00001025 */ move $v0, $zero -/* 0DE158 7F0A9628 4602003C */ c.lt.s $f0, $f2 -/* 0DE15C 7F0A962C 00000000 */ nop -/* 0DE160 7F0A9630 45000012 */ bc1f .L7F0A967C -/* 0DE164 7F0A9634 00000000 */ nop -/* 0DE168 7F0A9638 C42C8544 */ lwc1 $f12, %lo(D_80058544)($at) -/* 0DE16C 7F0A963C 3C018004 */ lui $at, %hi(D_80040B20) -/* 0DE170 7F0A9640 4600603C */ c.lt.s $f12, $f0 -/* 0DE174 7F0A9644 00000000 */ nop -/* 0DE178 7F0A9648 4500000C */ bc1f .L7F0A967C -/* 0DE17C 7F0A964C 00000000 */ nop -/* 0DE180 7F0A9650 C4200B20 */ lwc1 $f0, %lo(D_80040B20)($at) -/* 0DE184 7F0A9654 4602003C */ c.lt.s $f0, $f2 -/* 0DE188 7F0A9658 00000000 */ nop -/* 0DE18C 7F0A965C 45000007 */ bc1f .L7F0A967C -/* 0DE190 7F0A9660 00000000 */ nop -/* 0DE194 7F0A9664 4600603C */ c.lt.s $f12, $f0 -/* 0DE198 7F0A9668 00000000 */ nop -/* 0DE19C 7F0A966C 45000003 */ bc1f .L7F0A967C -/* 0DE1A0 7F0A9670 00000000 */ nop -/* 0DE1A4 7F0A9674 03E00008 */ jr $ra -/* 0DE1A8 7F0A9678 24020001 */ li $v0, 1 - -.L7F0A967C: -/* 0DE1AC 7F0A967C 03E00008 */ jr $ra -/* 0DE1B0 7F0A9680 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A9684(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80058548 -.word 0x3e4ccccd /*0.2*/ -glabel D_8005854C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F0A9684 -/* 0DE1B4 7F0A9684 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DE1B8 7F0A9688 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DE1BC 7F0A968C AFA40018 */ sw $a0, 0x18($sp) -/* 0DE1C0 7F0A9690 AFA60020 */ sw $a2, 0x20($sp) -/* 0DE1C4 7F0A9694 AFA70024 */ sw $a3, 0x24($sp) -/* 0DE1C8 7F0A9698 83A4001B */ lb $a0, 0x1b($sp) -/* 0DE1CC 7F0A969C 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DE1D0 7F0A96A0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0DE1D4 7F0A96A4 2841000A */ slti $at, $v0, 0xa -/* 0DE1D8 7F0A96A8 10200007 */ beqz $at, .L7F0A96C8 -/* 0DE1DC 7F0A96AC 8FA5001C */ lw $a1, 0x1c($sp) -/* 0DE1E0 7F0A96B0 83A4001B */ lb $a0, 0x1b($sp) -/* 0DE1E4 7F0A96B4 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DE1E8 7F0A96B8 AFA5001C */ sw $a1, 0x1c($sp) -/* 0DE1EC 7F0A96BC 2841FFF7 */ slti $at, $v0, -9 -/* 0DE1F0 7F0A96C0 1020000B */ beqz $at, .L7F0A96F0 -/* 0DE1F4 7F0A96C4 8FA5001C */ lw $a1, 0x1c($sp) -.L7F0A96C8: -/* 0DE1F8 7F0A96C8 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DE1FC 7F0A96CC 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DE200 7F0A96D0 3C0F8004 */ lui $t7, %hi(D_80040998) -/* 0DE204 7F0A96D4 51C00007 */ beql $t6, $zero, .L7F0A96F4 -/* 0DE208 7F0A96D8 8CA20000 */ lw $v0, ($a1) -/* 0DE20C 7F0A96DC 8DEF0998 */ lw $t7, %lo(D_80040998)($t7) -/* 0DE210 7F0A96E0 24010001 */ li $at, 1 -/* 0DE214 7F0A96E4 00001025 */ move $v0, $zero -/* 0DE218 7F0A96E8 51E10009 */ beql $t7, $at, .L7F0A9710 -/* 0DE21C 7F0A96EC ACA00000 */ sw $zero, ($a1) -.L7F0A96F0: -/* 0DE220 7F0A96F0 8CA20000 */ lw $v0, ($a1) -.L7F0A96F4: -/* 0DE224 7F0A96F4 28410064 */ slti $at, $v0, 0x64 -/* 0DE228 7F0A96F8 10200005 */ beqz $at, .L7F0A9710 -/* 0DE22C 7F0A96FC 24580001 */ addiu $t8, $v0, 1 -/* 0DE230 7F0A9700 ACB80000 */ sw $t8, ($a1) -/* 0DE234 7F0A9704 10000002 */ b .L7F0A9710 -/* 0DE238 7F0A9708 03001025 */ move $v0, $t8 -/* 0DE23C 7F0A970C ACA00000 */ sw $zero, ($a1) -.L7F0A9710: -/* 0DE240 7F0A9710 28410064 */ slti $at, $v0, 0x64 -/* 0DE244 7F0A9714 1420000E */ bnez $at, .L7F0A9750 -/* 0DE248 7F0A9718 3C0A8004 */ lui $t2, %hi(watch_soundrelated_maybe) -/* 0DE24C 7F0A971C 8FA80024 */ lw $t0, 0x24($sp) -/* 0DE250 7F0A9720 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0DE254 7F0A9724 44814000 */ mtc1 $at, $f8 -/* 0DE258 7F0A9728 C5040000 */ lwc1 $f4, ($t0) -/* 0DE25C 7F0A972C 8FB90020 */ lw $t9, 0x20($sp) -/* 0DE260 7F0A9730 3C064080 */ lui $a2, 0x4080 -/* 0DE264 7F0A9734 46002187 */ neg.s $f6, $f4 -/* 0DE268 7F0A9738 C72C0000 */ lwc1 $f12, ($t9) -/* 0DE26C 7F0A973C 0FC2A571 */ jal sub_GAME_7F0A95C4 -/* 0DE270 7F0A9740 46083383 */ div.s $f14, $f6, $f8 -/* 0DE274 7F0A9744 8FA90020 */ lw $t1, 0x20($sp) -/* 0DE278 7F0A9748 1000001D */ b .L7F0A97C0 -/* 0DE27C 7F0A974C E5200000 */ swc1 $f0, ($t1) -.L7F0A9750: -/* 0DE280 7F0A9750 8D4A09A8 */ lw $t2, %lo(watch_soundrelated_maybe)($t2) -/* 0DE284 7F0A9754 3C0B8004 */ lui $t3, %hi(D_80040998) -/* 0DE288 7F0A9758 5140001A */ beql $t2, $zero, .L7F0A97C4 -/* 0DE28C 7F0A975C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DE290 7F0A9760 8D6B0998 */ lw $t3, %lo(D_80040998)($t3) -/* 0DE294 7F0A9764 24010001 */ li $at, 1 -/* 0DE298 7F0A9768 55610016 */ bnel $t3, $at, .L7F0A97C4 -/* 0DE29C 7F0A976C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DE2A0 7F0A9770 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0DE2A4 7F0A9774 83A4001B */ lb $a0, 0x1b($sp) -/* 0DE2A8 7F0A9778 44825000 */ mtc1 $v0, $f10 -/* 0DE2AC 7F0A977C 3C018006 */ lui $at, %hi(D_80058548) -/* 0DE2B0 7F0A9780 C4248548 */ lwc1 $f4, %lo(D_80058548)($at) -/* 0DE2B4 7F0A9784 46805420 */ cvt.s.w $f16, $f10 -/* 0DE2B8 7F0A9788 3C018006 */ lui $at, %hi(D_8005854C) -/* 0DE2BC 7F0A978C C428854C */ lwc1 $f8, %lo(D_8005854C)($at) -/* 0DE2C0 7F0A9790 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DE2C4 7F0A9794 8FAC0020 */ lw $t4, 0x20($sp) -/* 0DE2C8 7F0A9798 3C064080 */ lui $a2, 0x4080 -/* 0DE2CC 7F0A979C 46008487 */ neg.s $f18, $f16 -/* 0DE2D0 7F0A97A0 44818000 */ mtc1 $at, $f16 -/* 0DE2D4 7F0A97A4 46049182 */ mul.s $f6, $f18, $f4 -/* 0DE2D8 7F0A97A8 C58C0000 */ lwc1 $f12, ($t4) -/* 0DE2DC 7F0A97AC 46083282 */ mul.s $f10, $f6, $f8 -/* 0DE2E0 7F0A97B0 0FC2A571 */ jal sub_GAME_7F0A95C4 -/* 0DE2E4 7F0A97B4 46105383 */ div.s $f14, $f10, $f16 -/* 0DE2E8 7F0A97B8 8FAD0020 */ lw $t5, 0x20($sp) -/* 0DE2EC 7F0A97BC E5A00000 */ swc1 $f0, ($t5) -.L7F0A97C0: -/* 0DE2F0 7F0A97C0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A97C4: -/* 0DE2F4 7F0A97C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DE2F8 7F0A97C8 03E00008 */ jr $ra -/* 0DE2FC 7F0A97CC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A97D0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A97D0 -/* 0DE300 7F0A97D0 27BDF7B0 */ addiu $sp, $sp, -0x850 -/* 0DE304 7F0A97D4 3C068004 */ lui $a2, %hi(D_800409D8) -/* 0DE308 7F0A97D8 8CC609D8 */ lw $a2, %lo(D_800409D8)($a2) -/* 0DE30C 7F0A97DC 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0DE310 7F0A97E0 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0DE314 7F0A97E4 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0DE318 7F0A97E8 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0DE31C 7F0A97EC AFB00034 */ sw $s0, 0x34($sp) -/* 0DE320 7F0A97F0 AFBF003C */ sw $ra, 0x3c($sp) -/* 0DE324 7F0A97F4 AFB10038 */ sw $s1, 0x38($sp) -/* 0DE328 7F0A97F8 AFA40850 */ sw $a0, 0x850($sp) -/* 0DE32C 7F0A97FC AFA00060 */ sw $zero, 0x60($sp) -/* 0DE330 7F0A9800 AFA0005C */ sw $zero, 0x5c($sp) -/* 0DE334 7F0A9804 A3A00074 */ sb $zero, 0x74($sp) -/* 0DE338 7F0A9808 00008025 */ move $s0, $zero -/* 0DE33C 7F0A980C AFAE0058 */ sw $t6, 0x58($sp) -/* 0DE340 7F0A9810 18C0000F */ blez $a2, .L7F0A9850 -/* 0DE344 7F0A9814 AFAF0054 */ sw $t7, 0x54($sp) -/* 0DE348 7F0A9818 3C118004 */ lui $s1, %hi(D_800409DC) -/* 0DE34C 7F0A981C 263109DC */ addiu $s1, %lo(D_800409DC) # addiu $s1, $s1, 0x9dc -.L7F0A9820: -/* 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_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) -/* 0DE36C 7F0A983C 26100001 */ addiu $s0, $s0, 1 -/* 0DE370 7F0A9840 26310014 */ addiu $s1, $s1, 0x14 -/* 0DE374 7F0A9844 0206082A */ slt $at, $s0, $a2 -/* 0DE378 7F0A9848 1420FFF5 */ bnez $at, .L7F0A9820 -/* 0DE37C 7F0A984C 00000000 */ nop -.L7F0A9850: -/* 0DE380 7F0A9850 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0DE384 7F0A9854 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0DE388 7F0A9858 3C198004 */ lui $t9, %hi(D_80040998) -/* 0DE38C 7F0A985C 13000019 */ beqz $t8, .L7F0A98C4 -/* 0DE390 7F0A9860 00000000 */ nop -/* 0DE394 7F0A9864 8F390998 */ lw $t9, %lo(D_80040998)($t9) -/* 0DE398 7F0A9868 3C118005 */ lui $s1, %hi(j_text_trigger) -/* 0DE39C 7F0A986C 263184D0 */ addiu $s1, %lo(j_text_trigger) # addiu $s1, $s1, -0x7b30 -/* 0DE3A0 7F0A9870 17200014 */ bnez $t9, .L7F0A98C4 -/* 0DE3A4 7F0A9874 3C038008 */ lui $v1, %hi(pPlayer) -/* 0DE3A8 7F0A9878 8E280000 */ lw $t0, ($s1) -/* 0DE3AC 7F0A987C 240B0001 */ li $t3, 1 -/* 0DE3B0 7F0A9880 2402000A */ li $v0, 10 -/* 0DE3B4 7F0A9884 11000003 */ beqz $t0, .L7F0A9894 -/* 0DE3B8 7F0A9888 00000000 */ nop -/* 0DE3BC 7F0A988C 10000001 */ b .L7F0A9894 -/* 0DE3C0 7F0A9890 2402000E */ li $v0, 14 -.L7F0A9894: -/* 0DE3C4 7F0A9894 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0DE3C8 7F0A9898 AFA00018 */ sw $zero, 0x18($sp) -/* 0DE3CC 7F0A989C AFAB001C */ sw $t3, 0x1c($sp) -/* 0DE3D0 7F0A98A0 24692A5C */ addiu $t1, $v1, 0x2a5c -/* 0DE3D4 7F0A98A4 246A2A68 */ addiu $t2, $v1, 0x2a68 -/* 0DE3D8 7F0A98A8 AFAA0014 */ sw $t2, 0x14($sp) -/* 0DE3DC 7F0A98AC AFA90010 */ sw $t1, 0x10($sp) -/* 0DE3E0 7F0A98B0 AFA20020 */ sw $v0, 0x20($sp) -/* 0DE3E4 7F0A98B4 24642A60 */ addiu $a0, $v1, 0x2a60 -/* 0DE3E8 7F0A98B8 24652A58 */ addiu $a1, $v1, 0x2a58 -/* 0DE3EC 7F0A98BC 0FC29847 */ jal sub_GAME_7F0A611C -/* 0DE3F0 7F0A98C0 24672A64 */ addiu $a3, $v1, 0x2a64 -.L7F0A98C4: -/* 0DE3F4 7F0A98C4 3C118005 */ lui $s1, %hi(j_text_trigger) -/* 0DE3F8 7F0A98C8 263184D0 */ addiu $s1, %lo(j_text_trigger) # addiu $s1, $s1, -0x7b30 -/* 0DE3FC 7F0A98CC 8E220000 */ lw $v0, ($s1) -/* 0DE400 7F0A98D0 240C00AA */ li $t4, 170 -/* 0DE404 7F0A98D4 240D001A */ li $t5, 26 -/* 0DE408 7F0A98D8 AFAC0070 */ sw $t4, 0x70($sp) -/* 0DE40C 7F0A98DC 10400003 */ beqz $v0, .L7F0A98EC -/* 0DE410 7F0A98E0 AFAD006C */ sw $t5, 0x6c($sp) -/* 0DE414 7F0A98E4 10000002 */ b .L7F0A98F0 -/* 0DE418 7F0A98E8 2402000E */ li $v0, 14 -.L7F0A98EC: -/* 0DE41C 7F0A98EC 2402000A */ li $v0, 10 -.L7F0A98F0: -/* 0DE420 7F0A98F0 8FAE0058 */ lw $t6, 0x58($sp) -/* 0DE424 7F0A98F4 27A40060 */ addiu $a0, $sp, 0x60 -/* 0DE428 7F0A98F8 27A5005C */ addiu $a1, $sp, 0x5c -/* 0DE42C 7F0A98FC 27A60074 */ addiu $a2, $sp, 0x74 -/* 0DE430 7F0A9900 8FA70054 */ lw $a3, 0x54($sp) -/* 0DE434 7F0A9904 AFA20014 */ sw $v0, 0x14($sp) -/* 0DE438 7F0A9908 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DE43C 7F0A990C AFAE0010 */ sw $t6, 0x10($sp) -/* 0DE440 7F0A9910 8E220000 */ lw $v0, ($s1) -/* 0DE444 7F0A9914 8FA40850 */ lw $a0, 0x850($sp) -/* 0DE448 7F0A9918 27A50070 */ addiu $a1, $sp, 0x70 -/* 0DE44C 7F0A991C 10400003 */ beqz $v0, .L7F0A992C -/* 0DE450 7F0A9920 27A6006C */ addiu $a2, $sp, 0x6c -/* 0DE454 7F0A9924 10000002 */ b .L7F0A9930 -/* 0DE458 7F0A9928 2410000E */ li $s0, 14 -.L7F0A992C: -/* 0DE45C 7F0A992C 2410000A */ li $s0, 10 -.L7F0A9930: -/* 0DE460 7F0A9930 10400003 */ beqz $v0, .L7F0A9940 -/* 0DE464 7F0A9934 27A70074 */ addiu $a3, $sp, 0x74 -/* 0DE468 7F0A9938 10000002 */ b .L7F0A9944 -/* 0DE46C 7F0A993C 2402000E */ li $v0, 14 -.L7F0A9940: -/* 0DE470 7F0A9940 2402000A */ li $v0, 10 -.L7F0A9944: -/* 0DE474 7F0A9944 8FAF0054 */ lw $t7, 0x54($sp) -/* 0DE478 7F0A9948 8FB80058 */ lw $t8, 0x58($sp) -/* 0DE47C 7F0A994C 8FA8005C */ lw $t0, 0x5c($sp) -/* 0DE480 7F0A9950 3C098008 */ lui $t1, %hi(pPlayer) -/* 0DE484 7F0A9954 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0DE488 7F0A9958 3C1900AA */ lui $t9, (0x00AA00B0 >> 16) # lui $t9, 0xaa -/* 0DE48C 7F0A995C 373900B0 */ ori $t9, (0x00AA00B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DE490 7F0A9960 AFB90018 */ sw $t9, 0x18($sp) -/* 0DE494 7F0A9964 AFB00020 */ sw $s0, 0x20($sp) -/* 0DE498 7F0A9968 AFAF0010 */ sw $t7, 0x10($sp) -/* 0DE49C 7F0A996C AFB80014 */ sw $t8, 0x14($sp) -/* 0DE4A0 7F0A9970 AFA8001C */ sw $t0, 0x1c($sp) -/* 0DE4A4 7F0A9974 8D2A2A64 */ lw $t2, 0x2a64($t1) -/* 0DE4A8 7F0A9978 AFA20028 */ sw $v0, 0x28($sp) -/* 0DE4AC 7F0A997C 0FC2B6AF */ jal en_text_write_stuff -/* 0DE4B0 7F0A9980 AFAA0024 */ sw $t2, 0x24($sp) -/* 0DE4B4 7F0A9984 3C038008 */ lui $v1, %hi(pPlayer) -/* 0DE4B8 7F0A9988 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1) -/* 0DE4BC 7F0A998C AFA20850 */ sw $v0, 0x850($sp) -/* 0DE4C0 7F0A9990 8C6B2A68 */ lw $t3, 0x2a68($v1) -/* 0DE4C4 7F0A9994 51600043 */ beql $t3, $zero, .L7F0A9AA4 -/* 0DE4C8 7F0A9998 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DE4CC 7F0A999C 8C6C2A58 */ lw $t4, 0x2a58($v1) -/* 0DE4D0 7F0A99A0 3C048004 */ lui $a0, %hi(D_800409DC) -/* 0DE4D4 7F0A99A4 000C6880 */ sll $t5, $t4, 2 -/* 0DE4D8 7F0A99A8 01AC6821 */ addu $t5, $t5, $t4 -/* 0DE4DC 7F0A99AC 000D6880 */ sll $t5, $t5, 2 -/* 0DE4E0 7F0A99B0 008D2021 */ addu $a0, $a0, $t5 -/* 0DE4E4 7F0A99B4 0FC30776 */ jal get_textptr_for_textID -/* 0DE4E8 7F0A99B8 948409DC */ lhu $a0, %lo(D_800409DC)($a0) -/* 0DE4EC 7F0A99BC 8E2E0000 */ lw $t6, ($s1) -/* 0DE4F0 7F0A99C0 00408025 */ move $s0, $v0 -/* 0DE4F4 7F0A99C4 27A40060 */ addiu $a0, $sp, 0x60 -/* 0DE4F8 7F0A99C8 11C00003 */ beqz $t6, .L7F0A99D8 -/* 0DE4FC 7F0A99CC 27A5005C */ addiu $a1, $sp, 0x5c -/* 0DE500 7F0A99D0 10000002 */ b .L7F0A99DC -/* 0DE504 7F0A99D4 2402000E */ li $v0, 14 -.L7F0A99D8: -/* 0DE508 7F0A99D8 2402000A */ li $v0, 10 -.L7F0A99DC: -/* 0DE50C 7F0A99DC 8FAF0058 */ lw $t7, 0x58($sp) -/* 0DE510 7F0A99E0 02003025 */ move $a2, $s0 -/* 0DE514 7F0A99E4 8FA70054 */ lw $a3, 0x54($sp) -/* 0DE518 7F0A99E8 AFA20014 */ sw $v0, 0x14($sp) -/* 0DE51C 7F0A99EC 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0DE520 7F0A99F0 AFAF0010 */ sw $t7, 0x10($sp) -/* 0DE524 7F0A99F4 8E390000 */ lw $t9, ($s1) -/* 0DE528 7F0A99F8 241800AA */ li $t8, 170 -/* 0DE52C 7F0A99FC AFB80070 */ sw $t8, 0x70($sp) -/* 0DE530 7F0A9A00 13200003 */ beqz $t9, .L7F0A9A10 -/* 0DE534 7F0A9A04 3C098008 */ lui $t1, %hi(pPlayer) -/* 0DE538 7F0A9A08 10000001 */ b .L7F0A9A10 -/* 0DE53C 7F0A9A0C 00000000 */ nop -.L7F0A9A10: -/* 0DE540 7F0A9A10 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0DE544 7F0A9A14 2408001A */ li $t0, 26 -/* 0DE548 7F0A9A18 AFA8006C */ sw $t0, 0x6c($sp) -/* 0DE54C 7F0A9A1C 8D2A2A58 */ lw $t2, 0x2a58($t1) -/* 0DE550 7F0A9A20 3C048004 */ lui $a0, %hi(D_800409DC) -/* 0DE554 7F0A9A24 000A5880 */ sll $t3, $t2, 2 -/* 0DE558 7F0A9A28 016A5821 */ addu $t3, $t3, $t2 -/* 0DE55C 7F0A9A2C 000B5880 */ sll $t3, $t3, 2 -/* 0DE560 7F0A9A30 008B2021 */ addu $a0, $a0, $t3 -/* 0DE564 7F0A9A34 0FC30776 */ jal get_textptr_for_textID -/* 0DE568 7F0A9A38 948409DC */ lhu $a0, %lo(D_800409DC)($a0) -/* 0DE56C 7F0A9A3C 8E2C0000 */ lw $t4, ($s1) -/* 0DE570 7F0A9A40 00408025 */ move $s0, $v0 -/* 0DE574 7F0A9A44 8FA40850 */ lw $a0, 0x850($sp) -/* 0DE578 7F0A9A48 11800003 */ beqz $t4, .L7F0A9A58 -/* 0DE57C 7F0A9A4C 27A50070 */ addiu $a1, $sp, 0x70 -/* 0DE580 7F0A9A50 10000002 */ b .L7F0A9A5C -/* 0DE584 7F0A9A54 2402000E */ li $v0, 14 -.L7F0A9A58: -/* 0DE588 7F0A9A58 2402000A */ li $v0, 10 -.L7F0A9A5C: -/* 0DE58C 7F0A9A5C 8FAD0054 */ lw $t5, 0x54($sp) -/* 0DE590 7F0A9A60 8FAE0058 */ lw $t6, 0x58($sp) -/* 0DE594 7F0A9A64 8FB8005C */ lw $t8, 0x5c($sp) -/* 0DE598 7F0A9A68 3C0FA0FF */ lui $t7, (0xA0FFA0F0 >> 16) # lui $t7, 0xa0ff -/* 0DE59C 7F0A9A6C 35EFA0F0 */ ori $t7, (0xA0FFA0F0 & 0xFFFF) # ori $t7, $t7, 0xa0f0 -/* 0DE5A0 7F0A9A70 24190064 */ li $t9, 100 -/* 0DE5A4 7F0A9A74 AFB90020 */ sw $t9, 0x20($sp) -/* 0DE5A8 7F0A9A78 AFAF0018 */ sw $t7, 0x18($sp) -/* 0DE5AC 7F0A9A7C 27A6006C */ addiu $a2, $sp, 0x6c -/* 0DE5B0 7F0A9A80 02003825 */ move $a3, $s0 -/* 0DE5B4 7F0A9A84 AFA00024 */ sw $zero, 0x24($sp) -/* 0DE5B8 7F0A9A88 AFA20028 */ sw $v0, 0x28($sp) -/* 0DE5BC 7F0A9A8C AFAD0010 */ sw $t5, 0x10($sp) -/* 0DE5C0 7F0A9A90 AFAE0014 */ sw $t6, 0x14($sp) -/* 0DE5C4 7F0A9A94 0FC2B6AF */ jal en_text_write_stuff -/* 0DE5C8 7F0A9A98 AFB8001C */ sw $t8, 0x1c($sp) -/* 0DE5CC 7F0A9A9C AFA20850 */ sw $v0, 0x850($sp) -/* 0DE5D0 7F0A9AA0 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0A9AA4: -/* 0DE5D4 7F0A9AA4 8FA20850 */ lw $v0, 0x850($sp) -/* 0DE5D8 7F0A9AA8 8FB00034 */ lw $s0, 0x34($sp) -/* 0DE5DC 7F0A9AAC 8FB10038 */ lw $s1, 0x38($sp) -/* 0DE5E0 7F0A9AB0 03E00008 */ jr $ra -/* 0DE5E4 7F0A9AB4 27BD0850 */ addiu $sp, $sp, 0x850 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A9AB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A9AB8 -/* 0DE5E8 7F0A9AB8 3C0E8004 */ lui $t6, %hi(cur_player_look_vertical_inverted) -/* 0DE5EC 7F0A9ABC 8DCE0A84 */ lw $t6, %lo(cur_player_look_vertical_inverted)($t6) -/* 0DE5F0 7F0A9AC0 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 0DE5F4 7F0A9AC4 AFB00038 */ sw $s0, 0x38($sp) -/* 0DE5F8 7F0A9AC8 24010001 */ li $at, 1 -/* 0DE5FC 7F0A9ACC 00808025 */ move $s0, $a0 -/* 0DE600 7F0A9AD0 15C10008 */ bne $t6, $at, .L7F0A9AF4 -/* 0DE604 7F0A9AD4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0DE608 7F0A9AD8 0FC30776 */ jal get_textptr_for_textID -/* 0DE60C 7F0A9ADC 3404AC2D */ li $a0, 44077 -/* 0DE610 7F0A9AE0 AFA200AC */ sw $v0, 0xac($sp) -/* 0DE614 7F0A9AE4 0FC30776 */ jal get_textptr_for_textID -/* 0DE618 7F0A9AE8 3404AC2C */ li $a0, 44076 -/* 0DE61C 7F0A9AEC 10000007 */ b .L7F0A9B0C -/* 0DE620 7F0A9AF0 AFA200A8 */ sw $v0, 0xa8($sp) -.L7F0A9AF4: -/* 0DE624 7F0A9AF4 0FC30776 */ jal get_textptr_for_textID -/* 0DE628 7F0A9AF8 3404AC2C */ li $a0, 44076 -/* 0DE62C 7F0A9AFC AFA200AC */ sw $v0, 0xac($sp) -/* 0DE630 7F0A9B00 0FC30776 */ jal get_textptr_for_textID -/* 0DE634 7F0A9B04 3404AC2D */ li $a0, 44077 -/* 0DE638 7F0A9B08 AFA200A8 */ sw $v0, 0xa8($sp) -.L7F0A9B0C: -/* 0DE63C 7F0A9B0C 3C188005 */ lui $t8, %hi(aA) -/* 0DE640 7F0A9B10 27187778 */ addiu $t8, %lo(aA) # addiu $t8, $t8, 0x7778 -/* 0DE644 7F0A9B14 8F010000 */ lw $at, ($t8) -/* 0DE648 7F0A9B18 27AF00A0 */ addiu $t7, $sp, 0xa0 -/* 0DE64C 7F0A9B1C 3C0B8005 */ lui $t3, %hi(aB) -/* 0DE650 7F0A9B20 ADE10000 */ sw $at, ($t7) -/* 0DE654 7F0A9B24 93010004 */ lbu $at, 4($t8) -/* 0DE658 7F0A9B28 256B7780 */ addiu $t3, %lo(aB) # addiu $t3, $t3, 0x7780 -/* 0DE65C 7F0A9B2C 27AA0098 */ addiu $t2, $sp, 0x98 -/* 0DE660 7F0A9B30 A1E10004 */ sb $at, 4($t7) -/* 0DE664 7F0A9B34 8D610000 */ lw $at, ($t3) -/* 0DE668 7F0A9B38 3C198005 */ lui $t9, %hi(aZ) -/* 0DE66C 7F0A9B3C 27397788 */ addiu $t9, %lo(aZ) # addiu $t9, $t9, 0x7788 -/* 0DE670 7F0A9B40 AD410000 */ sw $at, ($t2) -/* 0DE674 7F0A9B44 91610004 */ lbu $at, 4($t3) -/* 0DE678 7F0A9B48 27A80090 */ addiu $t0, $sp, 0x90 -/* 0DE67C 7F0A9B4C 3C0C8005 */ lui $t4, %hi(aL) -/* 0DE680 7F0A9B50 A1410004 */ sb $at, 4($t2) -/* 0DE684 7F0A9B54 8F210000 */ lw $at, ($t9) -/* 0DE688 7F0A9B58 258C7790 */ addiu $t4, %lo(aL) # addiu $t4, $t4, 0x7790 -/* 0DE68C 7F0A9B5C 27AD0088 */ addiu $t5, $sp, 0x88 -/* 0DE690 7F0A9B60 AD010000 */ sw $at, ($t0) -/* 0DE694 7F0A9B64 93210004 */ lbu $at, 4($t9) -/* 0DE698 7F0A9B68 3C0F8005 */ lui $t7, %hi(aR) -/* 0DE69C 7F0A9B6C 25EF7798 */ addiu $t7, %lo(aR) # addiu $t7, $t7, 0x7798 -/* 0DE6A0 7F0A9B70 A1010004 */ sb $at, 4($t0) -/* 0DE6A4 7F0A9B74 8D810000 */ lw $at, ($t4) -/* 0DE6A8 7F0A9B78 27B80080 */ addiu $t8, $sp, 0x80 -/* 0DE6AC 7F0A9B7C 3C0A8005 */ lui $t2, %hi(aC) -/* 0DE6B0 7F0A9B80 ADA10000 */ sw $at, ($t5) -/* 0DE6B4 7F0A9B84 91810004 */ lbu $at, 4($t4) -/* 0DE6B8 7F0A9B88 254A77A0 */ addiu $t2, %lo(aC) # addiu $t2, $t2, 0x77a0 -/* 0DE6BC 7F0A9B8C 27AB0078 */ addiu $t3, $sp, 0x78 -/* 0DE6C0 7F0A9B90 A1A10004 */ sb $at, 4($t5) -/* 0DE6C4 7F0A9B94 8DE10000 */ lw $at, ($t7) -/* 0DE6C8 7F0A9B98 3C088005 */ lui $t0, %hi(D_800577A8) -/* 0DE6CC 7F0A9B9C 250877A8 */ addiu $t0, %lo(D_800577A8) # addiu $t0, $t0, 0x77a8 -/* 0DE6D0 7F0A9BA0 AF010000 */ sw $at, ($t8) -/* 0DE6D4 7F0A9BA4 91E10004 */ lbu $at, 4($t7) -/* 0DE6D8 7F0A9BA8 27B90070 */ addiu $t9, $sp, 0x70 -/* 0DE6DC 7F0A9BAC 3C0D8005 */ lui $t5, %hi(aS_0) -/* 0DE6E0 7F0A9BB0 A3010004 */ sb $at, 4($t8) -/* 0DE6E4 7F0A9BB4 8D410000 */ lw $at, ($t2) -/* 0DE6E8 7F0A9BB8 25AD77B0 */ addiu $t5, %lo(aS_0) # addiu $t5, $t5, 0x77b0 -/* 0DE6EC 7F0A9BBC 27AC0068 */ addiu $t4, $sp, 0x68 -/* 0DE6F0 7F0A9BC0 AD610000 */ sw $at, ($t3) -/* 0DE6F4 7F0A9BC4 91410004 */ lbu $at, 4($t2) -/* 0DE6F8 7F0A9BC8 3C188005 */ lui $t8, %hi(a3d) -/* 0DE6FC 7F0A9BCC 271877B8 */ addiu $t8, %lo(a3d) # addiu $t8, $t8, 0x77b8 -/* 0DE700 7F0A9BD0 A1610004 */ sb $at, 4($t3) -/* 0DE704 7F0A9BD4 8D010000 */ lw $at, ($t0) -/* 0DE708 7F0A9BD8 27AF0060 */ addiu $t7, $sp, 0x60 -/* 0DE70C 7F0A9BDC 02002025 */ move $a0, $s0 -/* 0DE710 7F0A9BE0 AF210000 */ sw $at, ($t9) -/* 0DE714 7F0A9BE4 91010004 */ lbu $at, 4($t0) -/* 0DE718 7F0A9BE8 A3210004 */ sb $at, 4($t9) -/* 0DE71C 7F0A9BEC 8DA10000 */ lw $at, ($t5) -/* 0DE720 7F0A9BF0 AD810000 */ sw $at, ($t4) -/* 0DE724 7F0A9BF4 91A10004 */ lbu $at, 4($t5) -/* 0DE728 7F0A9BF8 A1810004 */ sb $at, 4($t4) -/* 0DE72C 7F0A9BFC 8F010000 */ lw $at, ($t8) -/* 0DE730 7F0A9C00 ADE10000 */ sw $at, ($t7) -/* 0DE734 7F0A9C04 97010004 */ lhu $at, 4($t8) -/* 0DE738 7F0A9C08 A5E10004 */ sh $at, 4($t7) -/* 0DE73C 7F0A9C0C 0FC2B366 */ jal microcode_constructor -/* 0DE740 7F0A9C10 AFA00050 */ sw $zero, 0x50($sp) -/* 0DE744 7F0A9C14 00408025 */ move $s0, $v0 -/* 0DE748 7F0A9C18 00002025 */ move $a0, $zero -/* 0DE74C 7F0A9C1C 0C0030C3 */ jal get_controller_buttons_held -/* 0DE750 7F0A9C20 24050020 */ li $a1, 32 -/* 0DE754 7F0A9C24 1040002C */ beqz $v0, .L7F0A9CD8 -/* 0DE758 7F0A9C28 3C0A8008 */ lui $t2, %hi(pPlayer) -/* 0DE75C 7F0A9C2C 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) -/* 0DE760 7F0A9C30 3C048004 */ lui $a0, %hi(D_800409DC+8) -/* 0DE764 7F0A9C34 8D4B2A58 */ lw $t3, 0x2a58($t2) -/* 0DE768 7F0A9C38 000B6080 */ sll $t4, $t3, 2 -/* 0DE76C 7F0A9C3C 018B6021 */ addu $t4, $t4, $t3 -/* 0DE770 7F0A9C40 000C6080 */ sll $t4, $t4, 2 -/* 0DE774 7F0A9C44 008C2021 */ addu $a0, $a0, $t4 -/* 0DE778 7F0A9C48 0FC30776 */ jal get_textptr_for_textID -/* 0DE77C 7F0A9C4C 948409E4 */ lhu $a0, %lo(D_800409DC+8)($a0) -/* 0DE780 7F0A9C50 3C080070 */ lui $t0, (0x007000A0 >> 16) # lui $t0, 0x70 -/* 0DE784 7F0A9C54 3C190030 */ lui $t9, (0x003000B0 >> 16) # lui $t9, 0x30 -/* 0DE788 7F0A9C58 373900B0 */ ori $t9, (0x003000B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DE78C 7F0A9C5C 350800A0 */ ori $t0, (0x007000A0 & 0xFFFF) # ori $t0, $t0, 0xa0 -/* 0DE790 7F0A9C60 240DFFFF */ li $t5, -1 -/* 0DE794 7F0A9C64 240E0001 */ li $t6, 1 -/* 0DE798 7F0A9C68 AFAE0014 */ sw $t6, 0x14($sp) -/* 0DE79C 7F0A9C6C AFAD0010 */ sw $t5, 0x10($sp) -/* 0DE7A0 7F0A9C70 AFA80018 */ sw $t0, 0x18($sp) -/* 0DE7A4 7F0A9C74 AFB90024 */ sw $t9, 0x24($sp) -/* 0DE7A8 7F0A9C78 02002025 */ move $a0, $s0 -/* 0DE7AC 7F0A9C7C 24050032 */ li $a1, 50 -/* 0DE7B0 7F0A9C80 24060052 */ li $a2, 82 -/* 0DE7B4 7F0A9C84 00403825 */ move $a3, $v0 -/* 0DE7B8 7F0A9C88 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DE7BC 7F0A9C8C AFA00020 */ sw $zero, 0x20($sp) -/* 0DE7C0 7F0A9C90 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DE7C4 7F0A9C94 AFA00028 */ sw $zero, 0x28($sp) -/* 0DE7C8 7F0A9C98 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0DE7CC 7F0A9C9C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0DE7D0 7F0A9CA0 3C0A8004 */ lui $t2, %hi(D_800409DC+9) -/* 0DE7D4 7F0A9CA4 3401AC01 */ li $at, 44033 -/* 0DE7D8 7F0A9CA8 8DF82A58 */ lw $t8, 0x2a58($t7) -/* 0DE7DC 7F0A9CAC 00408025 */ move $s0, $v0 -/* 0DE7E0 7F0A9CB0 240B0001 */ li $t3, 1 -/* 0DE7E4 7F0A9CB4 00184880 */ sll $t1, $t8, 2 -/* 0DE7E8 7F0A9CB8 01384821 */ addu $t1, $t1, $t8 -/* 0DE7EC 7F0A9CBC 00094880 */ sll $t1, $t1, 2 -/* 0DE7F0 7F0A9CC0 01495021 */ addu $t2, $t2, $t1 -/* 0DE7F4 7F0A9CC4 954A09E4 */ lhu $t2, %lo(D_800409DC+8)($t2) -/* 0DE7F8 7F0A9CC8 1541001F */ bne $t2, $at, .L7F0A9D48 -/* 0DE7FC 7F0A9CCC 00000000 */ nop -/* 0DE800 7F0A9CD0 1000001D */ b .L7F0A9D48 -/* 0DE804 7F0A9CD4 AFAB0050 */ sw $t3, 0x50($sp) -.L7F0A9CD8: -/* 0DE808 7F0A9CD8 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0DE80C 7F0A9CDC 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0DE810 7F0A9CE0 3C048004 */ lui $a0, %hi(D_800409DC+8) -/* 0DE814 7F0A9CE4 8D8D2A58 */ lw $t5, 0x2a58($t4) -/* 0DE818 7F0A9CE8 000D7080 */ sll $t6, $t5, 2 -/* 0DE81C 7F0A9CEC 01CD7021 */ addu $t6, $t6, $t5 -/* 0DE820 7F0A9CF0 000E7080 */ sll $t6, $t6, 2 -/* 0DE824 7F0A9CF4 008E2021 */ addu $a0, $a0, $t6 -/* 0DE828 7F0A9CF8 0FC30776 */ jal get_textptr_for_textID -/* 0DE82C 7F0A9CFC 948409E4 */ lhu $a0, %lo(D_800409DC+8)($a0) -/* 0DE830 7F0A9D00 3C0800AA */ lui $t0, (0x00AA00B0 >> 16) # lui $t0, 0xaa -/* 0DE834 7F0A9D04 3C0F0030 */ lui $t7, (0x003000B0 >> 16) # lui $t7, 0x30 -/* 0DE838 7F0A9D08 35EF00B0 */ ori $t7, (0x003000B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DE83C 7F0A9D0C 350800B0 */ ori $t0, (0x00AA00B0 & 0xFFFF) # ori $t0, $t0, 0xb0 -/* 0DE840 7F0A9D10 2419FFFF */ li $t9, -1 -/* 0DE844 7F0A9D14 AFB90018 */ sw $t9, 0x18($sp) -/* 0DE848 7F0A9D18 AFA80010 */ sw $t0, 0x10($sp) -/* 0DE84C 7F0A9D1C AFAF0024 */ sw $t7, 0x24($sp) -/* 0DE850 7F0A9D20 02002025 */ move $a0, $s0 -/* 0DE854 7F0A9D24 24050032 */ li $a1, 50 -/* 0DE858 7F0A9D28 24060052 */ li $a2, 82 -/* 0DE85C 7F0A9D2C 00403825 */ move $a3, $v0 -/* 0DE860 7F0A9D30 AFA00014 */ sw $zero, 0x14($sp) -/* 0DE864 7F0A9D34 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DE868 7F0A9D38 AFA00020 */ sw $zero, 0x20($sp) -/* 0DE86C 7F0A9D3C 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DE870 7F0A9D40 AFA00028 */ sw $zero, 0x28($sp) -/* 0DE874 7F0A9D44 00408025 */ move $s0, $v0 -.L7F0A9D48: -/* 0DE878 7F0A9D48 3C098004 */ lui $t1, %hi(D_80040998) -/* 0DE87C 7F0A9D4C 8D290998 */ lw $t1, %lo(D_80040998)($t1) -/* 0DE880 7F0A9D50 2418006B */ li $t8, 107 -/* 0DE884 7F0A9D54 24010001 */ li $at, 1 -/* 0DE888 7F0A9D58 1521000A */ bne $t1, $at, .L7F0A9D84 -/* 0DE88C 7F0A9D5C AFB8004C */ sw $t8, 0x4c($sp) -/* 0DE890 7F0A9D60 3C0A8004 */ lui $t2, %hi(watch_soundrelated_maybe) -/* 0DE894 7F0A9D64 8D4A09A8 */ lw $t2, %lo(watch_soundrelated_maybe)($t2) -/* 0DE898 7F0A9D68 00002025 */ move $a0, $zero -/* 0DE89C 7F0A9D6C 11400005 */ beqz $t2, .L7F0A9D84 -/* 0DE8A0 7F0A9D70 00000000 */ nop -/* 0DE8A4 7F0A9D74 0C0030C3 */ jal get_controller_buttons_held -/* 0DE8A8 7F0A9D78 24050F00 */ li $a1, 3840 -/* 0DE8AC 7F0A9D7C 1440001E */ bnez $v0, .L7F0A9DF8 -/* 0DE8B0 7F0A9D80 00002025 */ move $a0, $zero -.L7F0A9D84: -/* 0DE8B4 7F0A9D84 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0DE8B8 7F0A9D88 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0DE8BC 7F0A9D8C 3C048004 */ lui $a0, %hi(D_800409DC+14) -/* 0DE8C0 7F0A9D90 8D6C2A58 */ lw $t4, 0x2a58($t3) -/* 0DE8C4 7F0A9D94 000C6880 */ sll $t5, $t4, 2 -/* 0DE8C8 7F0A9D98 01AC6821 */ addu $t5, $t5, $t4 -/* 0DE8CC 7F0A9D9C 000D6880 */ sll $t5, $t5, 2 -/* 0DE8D0 7F0A9DA0 008D2021 */ addu $a0, $a0, $t5 -/* 0DE8D4 7F0A9DA4 0FC30776 */ jal get_textptr_for_textID -/* 0DE8D8 7F0A9DA8 948409EA */ lhu $a0, %lo(D_800409DC+14)($a0) -/* 0DE8DC 7F0A9DAC 3C0E00AA */ lui $t6, (0x00AA00B0 >> 16) # lui $t6, 0xaa -/* 0DE8E0 7F0A9DB0 3C190030 */ lui $t9, (0x003000B0 >> 16) # lui $t9, 0x30 -/* 0DE8E4 7F0A9DB4 373900B0 */ ori $t9, (0x003000B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DE8E8 7F0A9DB8 35CE00B0 */ ori $t6, (0x00AA00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0DE8EC 7F0A9DBC 2408FFFF */ li $t0, -1 -/* 0DE8F0 7F0A9DC0 AFA80018 */ sw $t0, 0x18($sp) -/* 0DE8F4 7F0A9DC4 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DE8F8 7F0A9DC8 AFB90024 */ sw $t9, 0x24($sp) -/* 0DE8FC 7F0A9DCC 02002025 */ move $a0, $s0 -/* 0DE900 7F0A9DD0 24050032 */ li $a1, 50 -/* 0DE904 7F0A9DD4 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DE908 7F0A9DD8 00403825 */ move $a3, $v0 -/* 0DE90C 7F0A9DDC AFA00014 */ sw $zero, 0x14($sp) -/* 0DE910 7F0A9DE0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DE914 7F0A9DE4 AFA00020 */ sw $zero, 0x20($sp) -/* 0DE918 7F0A9DE8 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DE91C 7F0A9DEC AFA00028 */ sw $zero, 0x28($sp) -/* 0DE920 7F0A9DF0 10000051 */ b .L7F0A9F38 -/* 0DE924 7F0A9DF4 00408025 */ move $s0, $v0 -.L7F0A9DF8: -/* 0DE928 7F0A9DF8 0C0030C3 */ jal get_controller_buttons_held -/* 0DE92C 7F0A9DFC 24050800 */ li $a1, 2048 -/* 0DE930 7F0A9E00 10400014 */ beqz $v0, .L7F0A9E54 -/* 0DE934 7F0A9E04 00002025 */ move $a0, $zero -/* 0DE938 7F0A9E08 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0DE93C 7F0A9E0C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0DE940 7F0A9E10 3C0A8004 */ lui $t2, %hi(D_800409DC+14) -/* 0DE944 7F0A9E14 3401AC05 */ li $at, 44037 -/* 0DE948 7F0A9E18 8DF82A58 */ lw $t8, 0x2a58($t7) -/* 0DE94C 7F0A9E1C 8FA700AC */ lw $a3, 0xac($sp) -/* 0DE950 7F0A9E20 00184880 */ sll $t1, $t8, 2 -/* 0DE954 7F0A9E24 01384821 */ addu $t1, $t1, $t8 -/* 0DE958 7F0A9E28 00094880 */ sll $t1, $t1, 2 -/* 0DE95C 7F0A9E2C 01495021 */ addu $t2, $t2, $t1 -/* 0DE960 7F0A9E30 954A09EA */ lhu $t2, %lo(D_800409DC+14)($t2) -/* 0DE964 7F0A9E34 15410005 */ bne $t2, $at, .L7F0A9E4C -/* 0DE968 7F0A9E38 00000000 */ nop -/* 0DE96C 7F0A9E3C 0FC30776 */ jal get_textptr_for_textID -/* 0DE970 7F0A9E40 3404AC30 */ li $a0, 44080 -/* 0DE974 7F0A9E44 10000001 */ b .L7F0A9E4C -/* 0DE978 7F0A9E48 00403825 */ move $a3, $v0 -.L7F0A9E4C: -/* 0DE97C 7F0A9E4C 10000027 */ b .L7F0A9EEC -/* 0DE980 7F0A9E50 AFA70058 */ sw $a3, 0x58($sp) -.L7F0A9E54: -/* 0DE984 7F0A9E54 0C0030C3 */ jal get_controller_buttons_held -/* 0DE988 7F0A9E58 24050400 */ li $a1, 1024 -/* 0DE98C 7F0A9E5C 10400014 */ beqz $v0, .L7F0A9EB0 -/* 0DE990 7F0A9E60 00002025 */ move $a0, $zero -/* 0DE994 7F0A9E64 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0DE998 7F0A9E68 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0DE99C 7F0A9E6C 3C0E8004 */ lui $t6, %hi(D_800409DC+14) -/* 0DE9A0 7F0A9E70 3401AC05 */ li $at, 44037 -/* 0DE9A4 7F0A9E74 8D6C2A58 */ lw $t4, 0x2a58($t3) -/* 0DE9A8 7F0A9E78 8FA700A8 */ lw $a3, 0xa8($sp) -/* 0DE9AC 7F0A9E7C 000C6880 */ sll $t5, $t4, 2 -/* 0DE9B0 7F0A9E80 01AC6821 */ addu $t5, $t5, $t4 -/* 0DE9B4 7F0A9E84 000D6880 */ sll $t5, $t5, 2 -/* 0DE9B8 7F0A9E88 01CD7021 */ addu $t6, $t6, $t5 -/* 0DE9BC 7F0A9E8C 95CE09EA */ lhu $t6, %lo(D_800409DC+14)($t6) -/* 0DE9C0 7F0A9E90 15C10005 */ bne $t6, $at, .L7F0A9EA8 -/* 0DE9C4 7F0A9E94 00000000 */ nop -/* 0DE9C8 7F0A9E98 0FC30776 */ jal get_textptr_for_textID -/* 0DE9CC 7F0A9E9C 3404AC31 */ li $a0, 44081 -/* 0DE9D0 7F0A9EA0 10000001 */ b .L7F0A9EA8 -/* 0DE9D4 7F0A9EA4 00403825 */ move $a3, $v0 -.L7F0A9EA8: -/* 0DE9D8 7F0A9EA8 10000010 */ b .L7F0A9EEC -/* 0DE9DC 7F0A9EAC AFA70058 */ sw $a3, 0x58($sp) -.L7F0A9EB0: -/* 0DE9E0 7F0A9EB0 0C0030C3 */ jal get_controller_buttons_held -/* 0DE9E4 7F0A9EB4 24050200 */ li $a1, 512 -/* 0DE9E8 7F0A9EB8 10400005 */ beqz $v0, .L7F0A9ED0 -/* 0DE9EC 7F0A9EBC 00002025 */ move $a0, $zero -/* 0DE9F0 7F0A9EC0 0FC30776 */ jal get_textptr_for_textID -/* 0DE9F4 7F0A9EC4 3404AC2F */ li $a0, 44079 -/* 0DE9F8 7F0A9EC8 10000008 */ b .L7F0A9EEC -/* 0DE9FC 7F0A9ECC AFA20058 */ sw $v0, 0x58($sp) -.L7F0A9ED0: -/* 0DEA00 7F0A9ED0 0C0030C3 */ jal get_controller_buttons_held -/* 0DEA04 7F0A9ED4 24050100 */ li $a1, 256 -/* 0DEA08 7F0A9ED8 50400005 */ beql $v0, $zero, .L7F0A9EF0 -/* 0DEA0C 7F0A9EDC 3C0F0070 */ lui $t7, 0x70 -/* 0DEA10 7F0A9EE0 0FC30776 */ jal get_textptr_for_textID -/* 0DEA14 7F0A9EE4 3404AC2E */ li $a0, 44078 -/* 0DEA18 7F0A9EE8 AFA20058 */ sw $v0, 0x58($sp) -.L7F0A9EEC: -/* 0DEA1C 7F0A9EEC 3C0F0070 */ lui $t7, (0x007000A0 >> 16) # lui $t7, 0x70 -.L7F0A9EF0: -/* 0DEA20 7F0A9EF0 3C180030 */ lui $t8, (0x003000B0 >> 16) # lui $t8, 0x30 -/* 0DEA24 7F0A9EF4 371800B0 */ ori $t8, (0x003000B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0DEA28 7F0A9EF8 35EF00A0 */ ori $t7, (0x007000A0 & 0xFFFF) # ori $t7, $t7, 0xa0 -/* 0DEA2C 7F0A9EFC 2408FFFF */ li $t0, -1 -/* 0DEA30 7F0A9F00 24190001 */ li $t9, 1 -/* 0DEA34 7F0A9F04 8FA70058 */ lw $a3, 0x58($sp) -/* 0DEA38 7F0A9F08 AFB90014 */ sw $t9, 0x14($sp) -/* 0DEA3C 7F0A9F0C AFA80010 */ sw $t0, 0x10($sp) -/* 0DEA40 7F0A9F10 AFAF0018 */ sw $t7, 0x18($sp) -/* 0DEA44 7F0A9F14 AFB80024 */ sw $t8, 0x24($sp) -/* 0DEA48 7F0A9F18 02002025 */ move $a0, $s0 -/* 0DEA4C 7F0A9F1C 24050032 */ li $a1, 50 -/* 0DEA50 7F0A9F20 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DEA54 7F0A9F24 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DEA58 7F0A9F28 AFA00020 */ sw $zero, 0x20($sp) -/* 0DEA5C 7F0A9F2C 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DEA60 7F0A9F30 AFA00028 */ sw $zero, 0x28($sp) -/* 0DEA64 7F0A9F34 00408025 */ move $s0, $v0 -.L7F0A9F38: -/* 0DEA68 7F0A9F38 8FA9004C */ lw $t1, 0x4c($sp) -/* 0DEA6C 7F0A9F3C 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0DEA70 7F0A9F40 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0DEA74 7F0A9F44 252A0019 */ addiu $t2, $t1, 0x19 -/* 0DEA78 7F0A9F48 AFAA004C */ sw $t2, 0x4c($sp) -/* 0DEA7C 7F0A9F4C 8D6C2A58 */ lw $t4, 0x2a58($t3) -/* 0DEA80 7F0A9F50 3C048004 */ lui $a0, %hi(D_800409DC+16) -/* 0DEA84 7F0A9F54 000C6880 */ sll $t5, $t4, 2 -/* 0DEA88 7F0A9F58 01AC6821 */ addu $t5, $t5, $t4 -/* 0DEA8C 7F0A9F5C 000D6880 */ sll $t5, $t5, 2 -/* 0DEA90 7F0A9F60 008D2021 */ addu $a0, $a0, $t5 -/* 0DEA94 7F0A9F64 0FC30776 */ jal get_textptr_for_textID -/* 0DEA98 7F0A9F68 948409EC */ lhu $a0, %lo(D_800409DC+16)($a0) -/* 0DEA9C 7F0A9F6C 3C0E00AA */ lui $t6, (0x00AA00B0 >> 16) # lui $t6, 0xaa -/* 0DEAA0 7F0A9F70 3C190030 */ lui $t9, (0x003000B0 >> 16) # lui $t9, 0x30 -/* 0DEAA4 7F0A9F74 373900B0 */ ori $t9, (0x003000B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DEAA8 7F0A9F78 35CE00B0 */ ori $t6, (0x00AA00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0DEAAC 7F0A9F7C 2408FFFF */ li $t0, -1 -/* 0DEAB0 7F0A9F80 AFA80018 */ sw $t0, 0x18($sp) -/* 0DEAB4 7F0A9F84 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DEAB8 7F0A9F88 AFB90024 */ sw $t9, 0x24($sp) -/* 0DEABC 7F0A9F8C 02002025 */ move $a0, $s0 -/* 0DEAC0 7F0A9F90 24050032 */ li $a1, 50 -/* 0DEAC4 7F0A9F94 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DEAC8 7F0A9F98 00403825 */ move $a3, $v0 -/* 0DEACC 7F0A9F9C AFA00014 */ sw $zero, 0x14($sp) -/* 0DEAD0 7F0A9FA0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DEAD4 7F0A9FA4 AFA00020 */ sw $zero, 0x20($sp) -/* 0DEAD8 7F0A9FA8 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DEADC 7F0A9FAC AFA00028 */ sw $zero, 0x28($sp) -/* 0DEAE0 7F0A9FB0 8FAF004C */ lw $t7, 0x4c($sp) -/* 0DEAE4 7F0A9FB4 00408025 */ move $s0, $v0 -/* 0DEAE8 7F0A9FB8 00002025 */ move $a0, $zero -/* 0DEAEC 7F0A9FBC 25F80019 */ addiu $t8, $t7, 0x19 -/* 0DEAF0 7F0A9FC0 AFB8004C */ sw $t8, 0x4c($sp) -/* 0DEAF4 7F0A9FC4 0C0030C3 */ jal get_controller_buttons_held -/* 0DEAF8 7F0A9FC8 24052000 */ li $a1, 8192 -/* 0DEAFC 7F0A9FCC 1040002D */ beqz $v0, .L7F0AA084 -/* 0DEB00 7F0A9FD0 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0DEB04 7F0A9FD4 3C098008 */ lui $t1, %hi(pPlayer) -/* 0DEB08 7F0A9FD8 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0DEB0C 7F0A9FDC 3C048004 */ lui $a0, %hi(D_800409DC+0x6) -/* 0DEB10 7F0A9FE0 8D2A2A58 */ lw $t2, 0x2a58($t1) -/* 0DEB14 7F0A9FE4 000A5880 */ sll $t3, $t2, 2 -/* 0DEB18 7F0A9FE8 016A5821 */ addu $t3, $t3, $t2 -/* 0DEB1C 7F0A9FEC 000B5880 */ sll $t3, $t3, 2 -/* 0DEB20 7F0A9FF0 008B2021 */ addu $a0, $a0, $t3 -/* 0DEB24 7F0A9FF4 0FC30776 */ jal get_textptr_for_textID -/* 0DEB28 7F0A9FF8 948409E2 */ lhu $a0, %lo(D_800409DC+0x6)($a0) -/* 0DEB2C 7F0A9FFC 3C0E0070 */ lui $t6, (0x007000A0 >> 16) # lui $t6, 0x70 -/* 0DEB30 7F0AA000 3C080030 */ lui $t0, (0x003000B0 >> 16) # lui $t0, 0x30 -/* 0DEB34 7F0AA004 350800B0 */ ori $t0, (0x003000B0 & 0xFFFF) # ori $t0, $t0, 0xb0 -/* 0DEB38 7F0AA008 35CE00A0 */ ori $t6, (0x007000A0 & 0xFFFF) # ori $t6, $t6, 0xa0 -/* 0DEB3C 7F0AA00C 240CFFFF */ li $t4, -1 -/* 0DEB40 7F0AA010 240D0001 */ li $t5, 1 -/* 0DEB44 7F0AA014 AFAD0014 */ sw $t5, 0x14($sp) -/* 0DEB48 7F0AA018 AFAC0010 */ sw $t4, 0x10($sp) -/* 0DEB4C 7F0AA01C AFAE0018 */ sw $t6, 0x18($sp) -/* 0DEB50 7F0AA020 AFA80024 */ sw $t0, 0x24($sp) -/* 0DEB54 7F0AA024 02002025 */ move $a0, $s0 -/* 0DEB58 7F0AA028 24050032 */ li $a1, 50 -/* 0DEB5C 7F0AA02C 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DEB60 7F0AA030 00403825 */ move $a3, $v0 -/* 0DEB64 7F0AA034 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DEB68 7F0AA038 AFA00020 */ sw $zero, 0x20($sp) -/* 0DEB6C 7F0AA03C 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DEB70 7F0AA040 AFA00028 */ sw $zero, 0x28($sp) -/* 0DEB74 7F0AA044 3C198008 */ lui $t9, %hi(pPlayer) -/* 0DEB78 7F0AA048 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0DEB7C 7F0AA04C 3C098004 */ lui $t1, %hi(D_800409DC+6) -/* 0DEB80 7F0AA050 3401AC01 */ li $at, 44033 -/* 0DEB84 7F0AA054 8F2F2A58 */ lw $t7, 0x2a58($t9) -/* 0DEB88 7F0AA058 00408025 */ move $s0, $v0 -/* 0DEB8C 7F0AA05C 240A0001 */ li $t2, 1 -/* 0DEB90 7F0AA060 000FC080 */ sll $t8, $t7, 2 -/* 0DEB94 7F0AA064 030FC021 */ addu $t8, $t8, $t7 -/* 0DEB98 7F0AA068 0018C080 */ sll $t8, $t8, 2 -/* 0DEB9C 7F0AA06C 01384821 */ addu $t1, $t1, $t8 -/* 0DEBA0 7F0AA070 952909E2 */ lhu $t1, %lo(D_800409DC+6)($t1) -/* 0DEBA4 7F0AA074 5521001F */ bnel $t1, $at, .L7F0AA0F4 -/* 0DEBA8 7F0AA078 8FAF004C */ lw $t7, 0x4c($sp) -/* 0DEBAC 7F0AA07C 1000001C */ b .L7F0AA0F0 -/* 0DEBB0 7F0AA080 AFAA0050 */ sw $t2, 0x50($sp) -.L7F0AA084: -/* 0DEBB4 7F0AA084 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0DEBB8 7F0AA088 3C048004 */ lui $a0, %hi(D_800409DC+6) -/* 0DEBBC 7F0AA08C 8D6C2A58 */ lw $t4, 0x2a58($t3) -/* 0DEBC0 7F0AA090 000C6880 */ sll $t5, $t4, 2 -/* 0DEBC4 7F0AA094 01AC6821 */ addu $t5, $t5, $t4 -/* 0DEBC8 7F0AA098 000D6880 */ sll $t5, $t5, 2 -/* 0DEBCC 7F0AA09C 008D2021 */ addu $a0, $a0, $t5 -/* 0DEBD0 7F0AA0A0 0FC30776 */ jal get_textptr_for_textID -/* 0DEBD4 7F0AA0A4 948409E2 */ lhu $a0, %lo(D_800409DC+6)($a0) -/* 0DEBD8 7F0AA0A8 3C0E00AA */ lui $t6, (0x00AA00B0 >> 16) # lui $t6, 0xaa -/* 0DEBDC 7F0AA0AC 3C190030 */ lui $t9, (0x003000B0 >> 16) # lui $t9, 0x30 -/* 0DEBE0 7F0AA0B0 373900B0 */ ori $t9, (0x003000B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DEBE4 7F0AA0B4 35CE00B0 */ ori $t6, (0x00AA00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0DEBE8 7F0AA0B8 2408FFFF */ li $t0, -1 -/* 0DEBEC 7F0AA0BC AFA80018 */ sw $t0, 0x18($sp) -/* 0DEBF0 7F0AA0C0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DEBF4 7F0AA0C4 AFB90024 */ sw $t9, 0x24($sp) -/* 0DEBF8 7F0AA0C8 02002025 */ move $a0, $s0 -/* 0DEBFC 7F0AA0CC 24050032 */ li $a1, 50 -/* 0DEC00 7F0AA0D0 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DEC04 7F0AA0D4 00403825 */ move $a3, $v0 -/* 0DEC08 7F0AA0D8 AFA00014 */ sw $zero, 0x14($sp) -/* 0DEC0C 7F0AA0DC AFA0001C */ sw $zero, 0x1c($sp) -/* 0DEC10 7F0AA0E0 AFA00020 */ sw $zero, 0x20($sp) -/* 0DEC14 7F0AA0E4 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DEC18 7F0AA0E8 AFA00028 */ sw $zero, 0x28($sp) -/* 0DEC1C 7F0AA0EC 00408025 */ move $s0, $v0 -.L7F0AA0F0: -/* 0DEC20 7F0AA0F0 8FAF004C */ lw $t7, 0x4c($sp) -.L7F0AA0F4: -/* 0DEC24 7F0AA0F4 00002025 */ move $a0, $zero -/* 0DEC28 7F0AA0F8 24050010 */ li $a1, 16 -/* 0DEC2C 7F0AA0FC 25F8FFB5 */ addiu $t8, $t7, -0x4b -/* 0DEC30 7F0AA100 0C0030C3 */ jal get_controller_buttons_held -/* 0DEC34 7F0AA104 AFB8004C */ sw $t8, 0x4c($sp) -/* 0DEC38 7F0AA108 1040002E */ beqz $v0, .L7F0AA1C4 -/* 0DEC3C 7F0AA10C 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0DEC40 7F0AA110 3C098008 */ lui $t1, %hi(pPlayer) -/* 0DEC44 7F0AA114 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0DEC48 7F0AA118 3C048004 */ lui $a0, %hi(D_800409DC+10) -/* 0DEC4C 7F0AA11C 8D2A2A58 */ lw $t2, 0x2a58($t1) -/* 0DEC50 7F0AA120 000A5880 */ sll $t3, $t2, 2 -/* 0DEC54 7F0AA124 016A5821 */ addu $t3, $t3, $t2 -/* 0DEC58 7F0AA128 000B5880 */ sll $t3, $t3, 2 -/* 0DEC5C 7F0AA12C 008B2021 */ addu $a0, $a0, $t3 -/* 0DEC60 7F0AA130 0FC30776 */ jal get_textptr_for_textID -/* 0DEC64 7F0AA134 948409E6 */ lhu $a0, %lo(D_800409DC+10)($a0) -/* 0DEC68 7F0AA138 3C0E0070 */ lui $t6, (0x007000A0 >> 16) # lui $t6, 0x70 -/* 0DEC6C 7F0AA13C 3C080030 */ lui $t0, (0x003000B0 >> 16) # lui $t0, 0x30 -/* 0DEC70 7F0AA140 350800B0 */ ori $t0, (0x003000B0 & 0xFFFF) # ori $t0, $t0, 0xb0 -/* 0DEC74 7F0AA144 35CE00A0 */ ori $t6, (0x007000A0 & 0xFFFF) # ori $t6, $t6, 0xa0 -/* 0DEC78 7F0AA148 240CFFFF */ li $t4, -1 -/* 0DEC7C 7F0AA14C 240D0001 */ li $t5, 1 -/* 0DEC80 7F0AA150 24190001 */ li $t9, 1 -/* 0DEC84 7F0AA154 AFB90028 */ sw $t9, 0x28($sp) -/* 0DEC88 7F0AA158 AFAD0014 */ sw $t5, 0x14($sp) -/* 0DEC8C 7F0AA15C AFAC0010 */ sw $t4, 0x10($sp) -/* 0DEC90 7F0AA160 AFAE0018 */ sw $t6, 0x18($sp) -/* 0DEC94 7F0AA164 AFA80024 */ sw $t0, 0x24($sp) -/* 0DEC98 7F0AA168 02002025 */ move $a0, $s0 -/* 0DEC9C 7F0AA16C 2405010E */ li $a1, 270 -/* 0DECA0 7F0AA170 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DECA4 7F0AA174 00403825 */ move $a3, $v0 -/* 0DECA8 7F0AA178 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DECAC 7F0AA17C 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DECB0 7F0AA180 AFA00020 */ sw $zero, 0x20($sp) -/* 0DECB4 7F0AA184 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 0DECB8 7F0AA188 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 0DECBC 7F0AA18C 3C0A8004 */ lui $t2, %hi(D_800409DC+10) -/* 0DECC0 7F0AA190 3401AC01 */ li $at, 44033 -/* 0DECC4 7F0AA194 8DF82A58 */ lw $t8, 0x2a58($t7) -/* 0DECC8 7F0AA198 00408025 */ move $s0, $v0 -/* 0DECCC 7F0AA19C 240B0001 */ li $t3, 1 -/* 0DECD0 7F0AA1A0 00184880 */ sll $t1, $t8, 2 -/* 0DECD4 7F0AA1A4 01384821 */ addu $t1, $t1, $t8 -/* 0DECD8 7F0AA1A8 00094880 */ sll $t1, $t1, 2 -/* 0DECDC 7F0AA1AC 01495021 */ addu $t2, $t2, $t1 -/* 0DECE0 7F0AA1B0 954A09E6 */ lhu $t2, %lo(D_800409DC+10)($t2) -/* 0DECE4 7F0AA1B4 55410020 */ bnel $t2, $at, .L7F0AA238 -/* 0DECE8 7F0AA1B8 8FA9004C */ lw $t1, 0x4c($sp) -/* 0DECEC 7F0AA1BC 1000001D */ b .L7F0AA234 -/* 0DECF0 7F0AA1C0 AFAB0050 */ sw $t3, 0x50($sp) -.L7F0AA1C4: -/* 0DECF4 7F0AA1C4 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0DECF8 7F0AA1C8 3C048004 */ lui $a0, %hi(D_800409DC+10) -/* 0DECFC 7F0AA1CC 8D8D2A58 */ lw $t5, 0x2a58($t4) -/* 0DED00 7F0AA1D0 000D7080 */ sll $t6, $t5, 2 -/* 0DED04 7F0AA1D4 01CD7021 */ addu $t6, $t6, $t5 -/* 0DED08 7F0AA1D8 000E7080 */ sll $t6, $t6, 2 -/* 0DED0C 7F0AA1DC 008E2021 */ addu $a0, $a0, $t6 -/* 0DED10 7F0AA1E0 0FC30776 */ jal get_textptr_for_textID -/* 0DED14 7F0AA1E4 948409E6 */ lhu $a0, %lo(D_800409DC+10)($a0) -/* 0DED18 7F0AA1E8 3C0800AA */ lui $t0, (0x00AA00B0 >> 16) # lui $t0, 0xaa -/* 0DED1C 7F0AA1EC 3C0F0030 */ lui $t7, (0x003000B0 >> 16) # lui $t7, 0x30 -/* 0DED20 7F0AA1F0 35EF00B0 */ ori $t7, (0x003000B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DED24 7F0AA1F4 350800B0 */ ori $t0, (0x00AA00B0 & 0xFFFF) # ori $t0, $t0, 0xb0 -/* 0DED28 7F0AA1F8 2419FFFF */ li $t9, -1 -/* 0DED2C 7F0AA1FC 24180001 */ li $t8, 1 -/* 0DED30 7F0AA200 AFB80028 */ sw $t8, 0x28($sp) -/* 0DED34 7F0AA204 AFB90018 */ sw $t9, 0x18($sp) -/* 0DED38 7F0AA208 AFA80010 */ sw $t0, 0x10($sp) -/* 0DED3C 7F0AA20C AFAF0024 */ sw $t7, 0x24($sp) -/* 0DED40 7F0AA210 02002025 */ move $a0, $s0 -/* 0DED44 7F0AA214 2405010E */ li $a1, 270 -/* 0DED48 7F0AA218 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DED4C 7F0AA21C 00403825 */ move $a3, $v0 -/* 0DED50 7F0AA220 AFA00014 */ sw $zero, 0x14($sp) -/* 0DED54 7F0AA224 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DED58 7F0AA228 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DED5C 7F0AA22C AFA00020 */ sw $zero, 0x20($sp) -/* 0DED60 7F0AA230 00408025 */ move $s0, $v0 -.L7F0AA234: -/* 0DED64 7F0AA234 8FA9004C */ lw $t1, 0x4c($sp) -.L7F0AA238: -/* 0DED68 7F0AA238 3C0B8004 */ lui $t3, %hi(D_80040998) -/* 0DED6C 7F0AA23C 8D6B0998 */ lw $t3, %lo(D_80040998)($t3) -/* 0DED70 7F0AA240 24010001 */ li $at, 1 -/* 0DED74 7F0AA244 252A0019 */ addiu $t2, $t1, 0x19 -/* 0DED78 7F0AA248 1561000A */ bne $t3, $at, .L7F0AA274 -/* 0DED7C 7F0AA24C AFAA004C */ sw $t2, 0x4c($sp) -/* 0DED80 7F0AA250 3C0C8004 */ lui $t4, %hi(watch_soundrelated_maybe) -/* 0DED84 7F0AA254 8D8C09A8 */ lw $t4, %lo(watch_soundrelated_maybe)($t4) -/* 0DED88 7F0AA258 00002025 */ move $a0, $zero -/* 0DED8C 7F0AA25C 11800005 */ beqz $t4, .L7F0AA274 -/* 0DED90 7F0AA260 00000000 */ nop -/* 0DED94 7F0AA264 0C0030C3 */ jal get_controller_buttons_held -/* 0DED98 7F0AA268 2405000F */ li $a1, 15 -/* 0DED9C 7F0AA26C 1440001F */ bnez $v0, .L7F0AA2EC -/* 0DEDA0 7F0AA270 00002025 */ move $a0, $zero -.L7F0AA274: -/* 0DEDA4 7F0AA274 3C0D8008 */ lui $t5, %hi(pPlayer) -/* 0DEDA8 7F0AA278 8DADA0B0 */ lw $t5, %lo(pPlayer)($t5) -/* 0DEDAC 7F0AA27C 3C048004 */ lui $a0, %hi(D_800409DC+12) -/* 0DEDB0 7F0AA280 8DAE2A58 */ lw $t6, 0x2a58($t5) -/* 0DEDB4 7F0AA284 000E4080 */ sll $t0, $t6, 2 -/* 0DEDB8 7F0AA288 010E4021 */ addu $t0, $t0, $t6 -/* 0DEDBC 7F0AA28C 00084080 */ sll $t0, $t0, 2 -/* 0DEDC0 7F0AA290 00882021 */ addu $a0, $a0, $t0 -/* 0DEDC4 7F0AA294 0FC30776 */ jal get_textptr_for_textID -/* 0DEDC8 7F0AA298 948409E8 */ lhu $a0, %lo(D_800409DC+12)($a0) -/* 0DEDCC 7F0AA29C 3C1900AA */ lui $t9, (0x00AA00B0 >> 16) # lui $t9, 0xaa -/* 0DEDD0 7F0AA2A0 3C180030 */ lui $t8, (0x003000B0 >> 16) # lui $t8, 0x30 -/* 0DEDD4 7F0AA2A4 371800B0 */ ori $t8, (0x003000B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0DEDD8 7F0AA2A8 373900B0 */ ori $t9, (0x00AA00B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DEDDC 7F0AA2AC 240FFFFF */ li $t7, -1 -/* 0DEDE0 7F0AA2B0 24090001 */ li $t1, 1 -/* 0DEDE4 7F0AA2B4 AFA90028 */ sw $t1, 0x28($sp) -/* 0DEDE8 7F0AA2B8 AFAF0018 */ sw $t7, 0x18($sp) -/* 0DEDEC 7F0AA2BC AFB90010 */ sw $t9, 0x10($sp) -/* 0DEDF0 7F0AA2C0 AFB80024 */ sw $t8, 0x24($sp) -/* 0DEDF4 7F0AA2C4 02002025 */ move $a0, $s0 -/* 0DEDF8 7F0AA2C8 2405010E */ li $a1, 270 -/* 0DEDFC 7F0AA2CC 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DEE00 7F0AA2D0 00403825 */ move $a3, $v0 -/* 0DEE04 7F0AA2D4 AFA00014 */ sw $zero, 0x14($sp) -/* 0DEE08 7F0AA2D8 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DEE0C 7F0AA2DC 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DEE10 7F0AA2E0 AFA00020 */ sw $zero, 0x20($sp) -/* 0DEE14 7F0AA2E4 10000076 */ b .L7F0AA4C0 -/* 0DEE18 7F0AA2E8 00408025 */ move $s0, $v0 -.L7F0AA2EC: -/* 0DEE1C 7F0AA2EC 0C0030C3 */ jal get_controller_buttons_held -/* 0DEE20 7F0AA2F0 2405000F */ li $a1, 15 -/* 0DEE24 7F0AA2F4 244AFFFF */ addiu $t2, $v0, -1 -/* 0DEE28 7F0AA2F8 004A5824 */ and $t3, $v0, $t2 -/* 0DEE2C 7F0AA2FC 15600054 */ bnez $t3, .L7F0AA450 -/* 0DEE30 7F0AA300 3C088008 */ lui $t0, %hi(pPlayer) -/* 0DEE34 7F0AA304 00002025 */ move $a0, $zero -/* 0DEE38 7F0AA308 0C0030C3 */ jal get_controller_buttons_held -/* 0DEE3C 7F0AA30C 24050008 */ li $a1, 8 -/* 0DEE40 7F0AA310 10400014 */ beqz $v0, .L7F0AA364 -/* 0DEE44 7F0AA314 00002025 */ move $a0, $zero -/* 0DEE48 7F0AA318 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0DEE4C 7F0AA31C 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0DEE50 7F0AA320 3C088004 */ lui $t0, %hi(D_800409DC+12) -/* 0DEE54 7F0AA324 3401AC05 */ li $at, 44037 -/* 0DEE58 7F0AA328 8D8D2A58 */ lw $t5, 0x2a58($t4) -/* 0DEE5C 7F0AA32C 8FA700AC */ lw $a3, 0xac($sp) -/* 0DEE60 7F0AA330 000D7080 */ sll $t6, $t5, 2 -/* 0DEE64 7F0AA334 01CD7021 */ addu $t6, $t6, $t5 -/* 0DEE68 7F0AA338 000E7080 */ sll $t6, $t6, 2 -/* 0DEE6C 7F0AA33C 010E4021 */ addu $t0, $t0, $t6 -/* 0DEE70 7F0AA340 950809E8 */ lhu $t0, %lo(D_800409DC+12)($t0) -/* 0DEE74 7F0AA344 15010005 */ bne $t0, $at, .L7F0AA35C -/* 0DEE78 7F0AA348 00000000 */ nop -/* 0DEE7C 7F0AA34C 0FC30776 */ jal get_textptr_for_textID -/* 0DEE80 7F0AA350 3404AC30 */ li $a0, 44080 -/* 0DEE84 7F0AA354 10000001 */ b .L7F0AA35C -/* 0DEE88 7F0AA358 00403825 */ move $a3, $v0 -.L7F0AA35C: -/* 0DEE8C 7F0AA35C 10000027 */ b .L7F0AA3FC -/* 0DEE90 7F0AA360 AFA7005C */ sw $a3, 0x5c($sp) -.L7F0AA364: -/* 0DEE94 7F0AA364 0C0030C3 */ jal get_controller_buttons_held -/* 0DEE98 7F0AA368 24050004 */ li $a1, 4 -/* 0DEE9C 7F0AA36C 10400014 */ beqz $v0, .L7F0AA3C0 -/* 0DEEA0 7F0AA370 00002025 */ move $a0, $zero -/* 0DEEA4 7F0AA374 3C198008 */ lui $t9, %hi(pPlayer) -/* 0DEEA8 7F0AA378 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) -/* 0DEEAC 7F0AA37C 3C098004 */ lui $t1, %hi(D_800409DC+12) -/* 0DEEB0 7F0AA380 3401AC05 */ li $at, 44037 -/* 0DEEB4 7F0AA384 8F2F2A58 */ lw $t7, 0x2a58($t9) -/* 0DEEB8 7F0AA388 8FA700A8 */ lw $a3, 0xa8($sp) -/* 0DEEBC 7F0AA38C 000FC080 */ sll $t8, $t7, 2 -/* 0DEEC0 7F0AA390 030FC021 */ addu $t8, $t8, $t7 -/* 0DEEC4 7F0AA394 0018C080 */ sll $t8, $t8, 2 -/* 0DEEC8 7F0AA398 01384821 */ addu $t1, $t1, $t8 -/* 0DEECC 7F0AA39C 952909E8 */ lhu $t1, %lo(D_800409DC+12)($t1) -/* 0DEED0 7F0AA3A0 15210005 */ bne $t1, $at, .L7F0AA3B8 -/* 0DEED4 7F0AA3A4 00000000 */ nop -/* 0DEED8 7F0AA3A8 0FC30776 */ jal get_textptr_for_textID -/* 0DEEDC 7F0AA3AC 3404AC31 */ li $a0, 44081 -/* 0DEEE0 7F0AA3B0 10000001 */ b .L7F0AA3B8 -/* 0DEEE4 7F0AA3B4 00403825 */ move $a3, $v0 -.L7F0AA3B8: -/* 0DEEE8 7F0AA3B8 10000010 */ b .L7F0AA3FC -/* 0DEEEC 7F0AA3BC AFA7005C */ sw $a3, 0x5c($sp) -.L7F0AA3C0: -/* 0DEEF0 7F0AA3C0 0C0030C3 */ jal get_controller_buttons_held -/* 0DEEF4 7F0AA3C4 24050002 */ li $a1, 2 -/* 0DEEF8 7F0AA3C8 10400005 */ beqz $v0, .L7F0AA3E0 -/* 0DEEFC 7F0AA3CC 00002025 */ move $a0, $zero -/* 0DEF00 7F0AA3D0 0FC30776 */ jal get_textptr_for_textID -/* 0DEF04 7F0AA3D4 3404AC2F */ li $a0, 44079 -/* 0DEF08 7F0AA3D8 10000008 */ b .L7F0AA3FC -/* 0DEF0C 7F0AA3DC AFA2005C */ sw $v0, 0x5c($sp) -.L7F0AA3E0: -/* 0DEF10 7F0AA3E0 0C0030C3 */ jal get_controller_buttons_held -/* 0DEF14 7F0AA3E4 24050001 */ li $a1, 1 -/* 0DEF18 7F0AA3E8 50400005 */ beql $v0, $zero, .L7F0AA400 -/* 0DEF1C 7F0AA3EC 3C0C0070 */ lui $t4, 0x70 -/* 0DEF20 7F0AA3F0 0FC30776 */ jal get_textptr_for_textID -/* 0DEF24 7F0AA3F4 3404AC2E */ li $a0, 44078 -/* 0DEF28 7F0AA3F8 AFA2005C */ sw $v0, 0x5c($sp) -.L7F0AA3FC: -/* 0DEF2C 7F0AA3FC 3C0C0070 */ lui $t4, (0x007000A0 >> 16) # lui $t4, 0x70 -.L7F0AA400: -/* 0DEF30 7F0AA400 3C0D0030 */ lui $t5, (0x003000B0 >> 16) # lui $t5, 0x30 -/* 0DEF34 7F0AA404 35AD00B0 */ ori $t5, (0x003000B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0DEF38 7F0AA408 358C00A0 */ ori $t4, (0x007000A0 & 0xFFFF) # ori $t4, $t4, 0xa0 -/* 0DEF3C 7F0AA40C 240AFFFF */ li $t2, -1 -/* 0DEF40 7F0AA410 240B0001 */ li $t3, 1 -/* 0DEF44 7F0AA414 240E0001 */ li $t6, 1 -/* 0DEF48 7F0AA418 8FA7005C */ lw $a3, 0x5c($sp) -/* 0DEF4C 7F0AA41C AFAE0028 */ sw $t6, 0x28($sp) -/* 0DEF50 7F0AA420 AFAB0014 */ sw $t3, 0x14($sp) -/* 0DEF54 7F0AA424 AFAA0010 */ sw $t2, 0x10($sp) -/* 0DEF58 7F0AA428 AFAC0018 */ sw $t4, 0x18($sp) -/* 0DEF5C 7F0AA42C AFAD0024 */ sw $t5, 0x24($sp) -/* 0DEF60 7F0AA430 02002025 */ move $a0, $s0 -/* 0DEF64 7F0AA434 2405010E */ li $a1, 270 -/* 0DEF68 7F0AA438 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DEF6C 7F0AA43C AFA0001C */ sw $zero, 0x1c($sp) -/* 0DEF70 7F0AA440 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DEF74 7F0AA444 AFA00020 */ sw $zero, 0x20($sp) -/* 0DEF78 7F0AA448 1000001D */ b .L7F0AA4C0 -/* 0DEF7C 7F0AA44C 00408025 */ move $s0, $v0 -.L7F0AA450: -/* 0DEF80 7F0AA450 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0DEF84 7F0AA454 3C048004 */ lui $a0, %hi(D_800409DC+12) -/* 0DEF88 7F0AA458 8D192A58 */ lw $t9, 0x2a58($t0) -/* 0DEF8C 7F0AA45C 00197880 */ sll $t7, $t9, 2 -/* 0DEF90 7F0AA460 01F97821 */ addu $t7, $t7, $t9 -/* 0DEF94 7F0AA464 000F7880 */ sll $t7, $t7, 2 -/* 0DEF98 7F0AA468 008F2021 */ addu $a0, $a0, $t7 -/* 0DEF9C 7F0AA46C 0FC30776 */ jal get_textptr_for_textID -/* 0DEFA0 7F0AA470 948409E8 */ lhu $a0, %lo(D_800409DC+12)($a0) -/* 0DEFA4 7F0AA474 3C1800AA */ lui $t8, (0x00AA00B0 >> 16) # lui $t8, 0xaa -/* 0DEFA8 7F0AA478 3C0A0030 */ lui $t2, (0x003000B0 >> 16) # lui $t2, 0x30 -/* 0DEFAC 7F0AA47C 354A00B0 */ ori $t2, (0x003000B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -/* 0DEFB0 7F0AA480 371800B0 */ ori $t8, (0x00AA00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0DEFB4 7F0AA484 2409FFFF */ li $t1, -1 -/* 0DEFB8 7F0AA488 240B0001 */ li $t3, 1 -/* 0DEFBC 7F0AA48C AFAB0028 */ sw $t3, 0x28($sp) -/* 0DEFC0 7F0AA490 AFA90018 */ sw $t1, 0x18($sp) -/* 0DEFC4 7F0AA494 AFB80010 */ sw $t8, 0x10($sp) -/* 0DEFC8 7F0AA498 AFAA0024 */ sw $t2, 0x24($sp) -/* 0DEFCC 7F0AA49C 02002025 */ move $a0, $s0 -/* 0DEFD0 7F0AA4A0 2405010E */ li $a1, 270 -/* 0DEFD4 7F0AA4A4 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DEFD8 7F0AA4A8 00403825 */ move $a3, $v0 -/* 0DEFDC 7F0AA4AC AFA00014 */ sw $zero, 0x14($sp) -/* 0DEFE0 7F0AA4B0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DEFE4 7F0AA4B4 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DEFE8 7F0AA4B8 AFA00020 */ sw $zero, 0x20($sp) -/* 0DEFEC 7F0AA4BC 00408025 */ move $s0, $v0 -.L7F0AA4C0: -/* 0DEFF0 7F0AA4C0 8FAC004C */ lw $t4, 0x4c($sp) -/* 0DEFF4 7F0AA4C4 00002025 */ move $a0, $zero -/* 0DEFF8 7F0AA4C8 24054000 */ li $a1, 16384 -/* 0DEFFC 7F0AA4CC 258D0019 */ addiu $t5, $t4, 0x19 -/* 0DF000 7F0AA4D0 0C0030C3 */ jal get_controller_buttons_held -/* 0DF004 7F0AA4D4 AFAD004C */ sw $t5, 0x4c($sp) -/* 0DF008 7F0AA4D8 10400020 */ beqz $v0, .L7F0AA55C -/* 0DF00C 7F0AA4DC 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0DF010 7F0AA4E0 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 0DF014 7F0AA4E4 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 0DF018 7F0AA4E8 3C048004 */ lui $a0, %hi(D_800409DC+4) -/* 0DF01C 7F0AA4EC 8DC82A58 */ lw $t0, 0x2a58($t6) -/* 0DF020 7F0AA4F0 0008C880 */ sll $t9, $t0, 2 -/* 0DF024 7F0AA4F4 0328C821 */ addu $t9, $t9, $t0 -/* 0DF028 7F0AA4F8 0019C880 */ sll $t9, $t9, 2 -/* 0DF02C 7F0AA4FC 00992021 */ addu $a0, $a0, $t9 -/* 0DF030 7F0AA500 0FC30776 */ jal get_textptr_for_textID -/* 0DF034 7F0AA504 948409E0 */ lhu $a0, %lo(D_800409DC+4)($a0) -/* 0DF038 7F0AA508 3C090070 */ lui $t1, (0x007000A0 >> 16) # lui $t1, 0x70 -/* 0DF03C 7F0AA50C 3C0A0030 */ lui $t2, (0x003000B0 >> 16) # lui $t2, 0x30 -/* 0DF040 7F0AA510 354A00B0 */ ori $t2, (0x003000B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -/* 0DF044 7F0AA514 352900A0 */ ori $t1, (0x007000A0 & 0xFFFF) # ori $t1, $t1, 0xa0 -/* 0DF048 7F0AA518 240FFFFF */ li $t7, -1 -/* 0DF04C 7F0AA51C 24180001 */ li $t8, 1 -/* 0DF050 7F0AA520 240B0001 */ li $t3, 1 -/* 0DF054 7F0AA524 AFAB0028 */ sw $t3, 0x28($sp) -/* 0DF058 7F0AA528 AFB80014 */ sw $t8, 0x14($sp) -/* 0DF05C 7F0AA52C AFAF0010 */ sw $t7, 0x10($sp) -/* 0DF060 7F0AA530 AFA90018 */ sw $t1, 0x18($sp) -/* 0DF064 7F0AA534 AFAA0024 */ sw $t2, 0x24($sp) -/* 0DF068 7F0AA538 02002025 */ move $a0, $s0 -/* 0DF06C 7F0AA53C 2405010E */ li $a1, 270 -/* 0DF070 7F0AA540 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DF074 7F0AA544 00403825 */ move $a3, $v0 -/* 0DF078 7F0AA548 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF07C 7F0AA54C 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF080 7F0AA550 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF084 7F0AA554 1000001D */ b .L7F0AA5CC -/* 0DF088 7F0AA558 00408025 */ move $s0, $v0 -.L7F0AA55C: -/* 0DF08C 7F0AA55C 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0DF090 7F0AA560 3C048004 */ lui $a0, %hi(D_800409DC+4) -/* 0DF094 7F0AA564 8D8D2A58 */ lw $t5, 0x2a58($t4) -/* 0DF098 7F0AA568 000D7080 */ sll $t6, $t5, 2 -/* 0DF09C 7F0AA56C 01CD7021 */ addu $t6, $t6, $t5 -/* 0DF0A0 7F0AA570 000E7080 */ sll $t6, $t6, 2 -/* 0DF0A4 7F0AA574 008E2021 */ addu $a0, $a0, $t6 -/* 0DF0A8 7F0AA578 0FC30776 */ jal get_textptr_for_textID -/* 0DF0AC 7F0AA57C 948409E0 */ lhu $a0, %lo(D_800409DC+4)($a0) -/* 0DF0B0 7F0AA580 3C0800AA */ lui $t0, (0x00AA00B0 >> 16) # lui $t0, 0xaa -/* 0DF0B4 7F0AA584 3C0F0030 */ lui $t7, (0x003000B0 >> 16) # lui $t7, 0x30 -/* 0DF0B8 7F0AA588 35EF00B0 */ ori $t7, (0x003000B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DF0BC 7F0AA58C 350800B0 */ ori $t0, (0x00AA00B0 & 0xFFFF) # ori $t0, $t0, 0xb0 -/* 0DF0C0 7F0AA590 2419FFFF */ li $t9, -1 -/* 0DF0C4 7F0AA594 24180001 */ li $t8, 1 -/* 0DF0C8 7F0AA598 AFB80028 */ sw $t8, 0x28($sp) -/* 0DF0CC 7F0AA59C AFB90018 */ sw $t9, 0x18($sp) -/* 0DF0D0 7F0AA5A0 AFA80010 */ sw $t0, 0x10($sp) -/* 0DF0D4 7F0AA5A4 AFAF0024 */ sw $t7, 0x24($sp) -/* 0DF0D8 7F0AA5A8 02002025 */ move $a0, $s0 -/* 0DF0DC 7F0AA5AC 2405010E */ li $a1, 270 -/* 0DF0E0 7F0AA5B0 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DF0E4 7F0AA5B4 00403825 */ move $a3, $v0 -/* 0DF0E8 7F0AA5B8 AFA00014 */ sw $zero, 0x14($sp) -/* 0DF0EC 7F0AA5BC AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF0F0 7F0AA5C0 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF0F4 7F0AA5C4 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF0F8 7F0AA5C8 00408025 */ move $s0, $v0 -.L7F0AA5CC: -/* 0DF0FC 7F0AA5CC 8FA9004C */ lw $t1, 0x4c($sp) -/* 0DF100 7F0AA5D0 00002025 */ move $a0, $zero -/* 0DF104 7F0AA5D4 34058000 */ li $a1, 32768 -/* 0DF108 7F0AA5D8 252A0019 */ addiu $t2, $t1, 0x19 -/* 0DF10C 7F0AA5DC 0C0030C3 */ jal get_controller_buttons_held -/* 0DF110 7F0AA5E0 AFAA004C */ sw $t2, 0x4c($sp) -/* 0DF114 7F0AA5E4 10400020 */ beqz $v0, .L7F0AA668 -/* 0DF118 7F0AA5E8 3C098008 */ lui $t1, %hi(pPlayer) -/* 0DF11C 7F0AA5EC 3C0B8008 */ lui $t3, %hi(pPlayer) -/* 0DF120 7F0AA5F0 8D6BA0B0 */ lw $t3, %lo(pPlayer)($t3) -/* 0DF124 7F0AA5F4 3C048004 */ lui $a0, %hi(D_800409DC+2) -/* 0DF128 7F0AA5F8 8D6C2A58 */ lw $t4, 0x2a58($t3) -/* 0DF12C 7F0AA5FC 000C6880 */ sll $t5, $t4, 2 -/* 0DF130 7F0AA600 01AC6821 */ addu $t5, $t5, $t4 -/* 0DF134 7F0AA604 000D6880 */ sll $t5, $t5, 2 -/* 0DF138 7F0AA608 008D2021 */ addu $a0, $a0, $t5 -/* 0DF13C 7F0AA60C 0FC30776 */ jal get_textptr_for_textID -/* 0DF140 7F0AA610 948409DE */ lhu $a0, %lo(D_800409DC+2)($a0) -/* 0DF144 7F0AA614 3C190070 */ lui $t9, (0x007000A0 >> 16) # lui $t9, 0x70 -/* 0DF148 7F0AA618 3C0F0030 */ lui $t7, (0x003000B0 >> 16) # lui $t7, 0x30 -/* 0DF14C 7F0AA61C 35EF00B0 */ ori $t7, (0x003000B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DF150 7F0AA620 373900A0 */ ori $t9, (0x007000A0 & 0xFFFF) # ori $t9, $t9, 0xa0 -/* 0DF154 7F0AA624 240EFFFF */ li $t6, -1 -/* 0DF158 7F0AA628 24080001 */ li $t0, 1 -/* 0DF15C 7F0AA62C 24180001 */ li $t8, 1 -/* 0DF160 7F0AA630 AFB80028 */ sw $t8, 0x28($sp) -/* 0DF164 7F0AA634 AFA80014 */ sw $t0, 0x14($sp) -/* 0DF168 7F0AA638 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DF16C 7F0AA63C AFB90018 */ sw $t9, 0x18($sp) -/* 0DF170 7F0AA640 AFAF0024 */ sw $t7, 0x24($sp) -/* 0DF174 7F0AA644 02002025 */ move $a0, $s0 -/* 0DF178 7F0AA648 2405010E */ li $a1, 270 -/* 0DF17C 7F0AA64C 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DF180 7F0AA650 00403825 */ move $a3, $v0 -/* 0DF184 7F0AA654 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF188 7F0AA658 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF18C 7F0AA65C AFA00020 */ sw $zero, 0x20($sp) -/* 0DF190 7F0AA660 1000001D */ b .L7F0AA6D8 -/* 0DF194 7F0AA664 00408025 */ move $s0, $v0 -.L7F0AA668: -/* 0DF198 7F0AA668 8D29A0B0 */ lw $t1, %lo(pPlayer)($t1) -/* 0DF19C 7F0AA66C 3C048004 */ lui $a0, %hi(D_800409DC+2) -/* 0DF1A0 7F0AA670 8D2A2A58 */ lw $t2, 0x2a58($t1) -/* 0DF1A4 7F0AA674 000A5880 */ sll $t3, $t2, 2 -/* 0DF1A8 7F0AA678 016A5821 */ addu $t3, $t3, $t2 -/* 0DF1AC 7F0AA67C 000B5880 */ sll $t3, $t3, 2 -/* 0DF1B0 7F0AA680 008B2021 */ addu $a0, $a0, $t3 -/* 0DF1B4 7F0AA684 0FC30776 */ jal get_textptr_for_textID -/* 0DF1B8 7F0AA688 948409DE */ lhu $a0, %lo(D_800409DC+2)($a0) -/* 0DF1BC 7F0AA68C 3C0C00AA */ lui $t4, (0x00AA00B0 >> 16) # lui $t4, 0xaa -/* 0DF1C0 7F0AA690 3C0E0030 */ lui $t6, (0x003000B0 >> 16) # lui $t6, 0x30 -/* 0DF1C4 7F0AA694 35CE00B0 */ ori $t6, (0x003000B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0DF1C8 7F0AA698 358C00B0 */ ori $t4, (0x00AA00B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0DF1CC 7F0AA69C 240DFFFF */ li $t5, -1 -/* 0DF1D0 7F0AA6A0 24080001 */ li $t0, 1 -/* 0DF1D4 7F0AA6A4 AFA80028 */ sw $t0, 0x28($sp) -/* 0DF1D8 7F0AA6A8 AFAD0018 */ sw $t5, 0x18($sp) -/* 0DF1DC 7F0AA6AC AFAC0010 */ sw $t4, 0x10($sp) -/* 0DF1E0 7F0AA6B0 AFAE0024 */ sw $t6, 0x24($sp) -/* 0DF1E4 7F0AA6B4 02002025 */ move $a0, $s0 -/* 0DF1E8 7F0AA6B8 2405010E */ li $a1, 270 -/* 0DF1EC 7F0AA6BC 8FA6004C */ lw $a2, 0x4c($sp) -/* 0DF1F0 7F0AA6C0 00403825 */ move $a3, $v0 -/* 0DF1F4 7F0AA6C4 AFA00014 */ sw $zero, 0x14($sp) -/* 0DF1F8 7F0AA6C8 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF1FC 7F0AA6CC 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF200 7F0AA6D0 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF204 7F0AA6D4 00408025 */ move $s0, $v0 -.L7F0AA6D8: -/* 0DF208 7F0AA6D8 8FB90050 */ lw $t9, 0x50($sp) -/* 0DF20C 7F0AA6DC 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 0DF210 7F0AA6E0 13200018 */ beqz $t9, .L7F0AA744 -/* 0DF214 7F0AA6E4 00000000 */ nop -/* 0DF218 7F0AA6E8 0FC30776 */ jal get_textptr_for_textID -/* 0DF21C 7F0AA6EC 3404AC08 */ li $a0, 44040 -/* 0DF220 7F0AA6F0 3C090070 */ lui $t1, (0x007000A0 >> 16) # lui $t1, 0x70 -/* 0DF224 7F0AA6F4 3C0A0030 */ lui $t2, (0x003000B0 >> 16) # lui $t2, 0x30 -/* 0DF228 7F0AA6F8 354A00B0 */ ori $t2, (0x003000B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -/* 0DF22C 7F0AA6FC 352900A0 */ ori $t1, (0x007000A0 & 0xFFFF) # ori $t1, $t1, 0xa0 -/* 0DF230 7F0AA700 240FFFFF */ li $t7, -1 -/* 0DF234 7F0AA704 24180001 */ li $t8, 1 -/* 0DF238 7F0AA708 240B0001 */ li $t3, 1 -/* 0DF23C 7F0AA70C AFAB0028 */ sw $t3, 0x28($sp) -/* 0DF240 7F0AA710 AFB80014 */ sw $t8, 0x14($sp) -/* 0DF244 7F0AA714 AFAF0010 */ sw $t7, 0x10($sp) -/* 0DF248 7F0AA718 AFA90018 */ sw $t1, 0x18($sp) -/* 0DF24C 7F0AA71C AFAA0024 */ sw $t2, 0x24($sp) -/* 0DF250 7F0AA720 02002025 */ move $a0, $s0 -/* 0DF254 7F0AA724 240500FA */ li $a1, 250 -/* 0DF258 7F0AA728 240600C3 */ li $a2, 195 -/* 0DF25C 7F0AA72C 00403825 */ move $a3, $v0 -/* 0DF260 7F0AA730 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF264 7F0AA734 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF268 7F0AA738 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF26C 7F0AA73C 1000001D */ b .L7F0AA7B4 -/* 0DF270 7F0AA740 00408025 */ move $s0, $v0 -.L7F0AA744: -/* 0DF274 7F0AA744 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 0DF278 7F0AA748 3C048004 */ lui $a0, %hi(D_800409DC+18) -/* 0DF27C 7F0AA74C 8D8D2A58 */ lw $t5, 0x2a58($t4) -/* 0DF280 7F0AA750 000D7080 */ sll $t6, $t5, 2 -/* 0DF284 7F0AA754 01CD7021 */ addu $t6, $t6, $t5 -/* 0DF288 7F0AA758 000E7080 */ sll $t6, $t6, 2 -/* 0DF28C 7F0AA75C 008E2021 */ addu $a0, $a0, $t6 -/* 0DF290 7F0AA760 0FC30776 */ jal get_textptr_for_textID -/* 0DF294 7F0AA764 948409EE */ lhu $a0, %lo(D_800409DC+18)($a0) -/* 0DF298 7F0AA768 3C0800AA */ lui $t0, (0x00AA00B0 >> 16) # lui $t0, 0xaa -/* 0DF29C 7F0AA76C 3C0F0030 */ lui $t7, (0x003000B0 >> 16) # lui $t7, 0x30 -/* 0DF2A0 7F0AA770 35EF00B0 */ ori $t7, (0x003000B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DF2A4 7F0AA774 350800B0 */ ori $t0, (0x00AA00B0 & 0xFFFF) # ori $t0, $t0, 0xb0 -/* 0DF2A8 7F0AA778 2419FFFF */ li $t9, -1 -/* 0DF2AC 7F0AA77C 24180001 */ li $t8, 1 -/* 0DF2B0 7F0AA780 AFB80028 */ sw $t8, 0x28($sp) -/* 0DF2B4 7F0AA784 AFB90018 */ sw $t9, 0x18($sp) -/* 0DF2B8 7F0AA788 AFA80010 */ sw $t0, 0x10($sp) -/* 0DF2BC 7F0AA78C AFAF0024 */ sw $t7, 0x24($sp) -/* 0DF2C0 7F0AA790 02002025 */ move $a0, $s0 -/* 0DF2C4 7F0AA794 240500FA */ li $a1, 250 -/* 0DF2C8 7F0AA798 240600C3 */ li $a2, 195 -/* 0DF2CC 7F0AA79C 00403825 */ move $a3, $v0 -/* 0DF2D0 7F0AA7A0 AFA00014 */ sw $zero, 0x14($sp) -/* 0DF2D4 7F0AA7A4 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF2D8 7F0AA7A8 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF2DC 7F0AA7AC AFA00020 */ sw $zero, 0x20($sp) -/* 0DF2E0 7F0AA7B0 00408025 */ move $s0, $v0 -.L7F0AA7B4: -/* 0DF2E4 7F0AA7B4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DF2E8 7F0AA7B8 02001025 */ move $v0, $s0 -/* 0DF2EC 7F0AA7BC 8FB00038 */ lw $s0, 0x38($sp) -/* 0DF2F0 7F0AA7C0 03E00008 */ jr $ra -/* 0DF2F4 7F0AA7C4 27BD00B0 */ addiu $sp, $sp, 0xb0 -) -#endif - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0AA7C8 -/* 0DF2F8 7F0AA7C8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0DF2FC 7F0AA7CC AFBF003C */ sw $ra, 0x3c($sp) -/* 0DF300 7F0AA7D0 0FC2B366 */ jal microcode_constructor -/* 0DF304 7F0AA7D4 AFB00038 */ sw $s0, 0x38($sp) -/* 0DF308 7F0AA7D8 00408025 */ move $s0, $v0 -/* 0DF30C 7F0AA7DC 00002025 */ move $a0, $zero -/* 0DF310 7F0AA7E0 0C0030C3 */ jal get_controller_buttons_held -/* 0DF314 7F0AA7E4 34058000 */ li $a1, 32768 -/* 0DF318 7F0AA7E8 10400017 */ beqz $v0, .L7F0AA848 -/* 0DF31C 7F0AA7EC 00000000 */ nop -/* 0DF320 7F0AA7F0 0FC30776 */ jal get_textptr_for_textID -/* 0DF324 7F0AA7F4 3404AC03 */ li $a0, 44035 -/* 0DF328 7F0AA7F8 3C180070 */ lui $t8, (0x007000A0 >> 16) # lui $t8, 0x70 -/* 0DF32C 7F0AA7FC 3C190030 */ lui $t9, (0x003000B0 >> 16) # lui $t9, 0x30 -/* 0DF330 7F0AA800 373900B0 */ ori $t9, (0x003000B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DF334 7F0AA804 371800A0 */ ori $t8, (0x007000A0 & 0xFFFF) # ori $t8, $t8, 0xa0 -/* 0DF338 7F0AA808 240EFFFF */ li $t6, -1 -/* 0DF33C 7F0AA80C 240F0001 */ li $t7, 1 -/* 0DF340 7F0AA810 AFAF0014 */ sw $t7, 0x14($sp) -/* 0DF344 7F0AA814 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DF348 7F0AA818 AFB80018 */ sw $t8, 0x18($sp) -/* 0DF34C 7F0AA81C AFB90024 */ sw $t9, 0x24($sp) -/* 0DF350 7F0AA820 02002025 */ move $a0, $s0 -/* 0DF354 7F0AA824 2405005A */ li $a1, 90 -/* 0DF358 7F0AA828 240600A7 */ li $a2, 167 -/* 0DF35C 7F0AA82C 00403825 */ move $a3, $v0 -/* 0DF360 7F0AA830 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF364 7F0AA834 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF368 7F0AA838 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF36C 7F0AA83C AFA00028 */ sw $zero, 0x28($sp) -/* 0DF370 7F0AA840 10000015 */ b .L7F0AA898 -/* 0DF374 7F0AA844 00408025 */ move $s0, $v0 -.L7F0AA848: -/* 0DF378 7F0AA848 0FC30776 */ jal get_textptr_for_textID -/* 0DF37C 7F0AA84C 3404AC03 */ li $a0, 44035 -/* 0DF380 7F0AA850 3C0800AA */ lui $t0, (0x00AA00B0 >> 16) # lui $t0, 0xaa -/* 0DF384 7F0AA854 3C0A0030 */ lui $t2, (0x003000B0 >> 16) # lui $t2, 0x30 -/* 0DF388 7F0AA858 354A00B0 */ ori $t2, (0x003000B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -/* 0DF38C 7F0AA85C 350800B0 */ ori $t0, (0x00AA00B0 & 0xFFFF) # ori $t0, $t0, 0xb0 -/* 0DF390 7F0AA860 2409FFFF */ li $t1, -1 -/* 0DF394 7F0AA864 AFA90018 */ sw $t1, 0x18($sp) -/* 0DF398 7F0AA868 AFA80010 */ sw $t0, 0x10($sp) -/* 0DF39C 7F0AA86C AFAA0024 */ sw $t2, 0x24($sp) -/* 0DF3A0 7F0AA870 02002025 */ move $a0, $s0 -/* 0DF3A4 7F0AA874 2405005A */ li $a1, 90 -/* 0DF3A8 7F0AA878 240600A7 */ li $a2, 167 -/* 0DF3AC 7F0AA87C 00403825 */ move $a3, $v0 -/* 0DF3B0 7F0AA880 AFA00014 */ sw $zero, 0x14($sp) -/* 0DF3B4 7F0AA884 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF3B8 7F0AA888 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF3BC 7F0AA88C 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF3C0 7F0AA890 AFA00028 */ sw $zero, 0x28($sp) -/* 0DF3C4 7F0AA894 00408025 */ move $s0, $v0 -.L7F0AA898: -/* 0DF3C8 7F0AA898 00002025 */ move $a0, $zero -/* 0DF3CC 7F0AA89C 0C0030C3 */ jal get_controller_buttons_held -/* 0DF3D0 7F0AA8A0 24054000 */ li $a1, 16384 -/* 0DF3D4 7F0AA8A4 10400017 */ beqz $v0, .L7F0AA904 -/* 0DF3D8 7F0AA8A8 00000000 */ nop -/* 0DF3DC 7F0AA8AC 0FC30776 */ jal get_textptr_for_textID -/* 0DF3E0 7F0AA8B0 3404AC02 */ li $a0, 44034 -/* 0DF3E4 7F0AA8B4 3C0D0070 */ lui $t5, (0x007000A0 >> 16) # lui $t5, 0x70 -/* 0DF3E8 7F0AA8B8 3C0E0030 */ lui $t6, (0x003000B0 >> 16) # lui $t6, 0x30 -/* 0DF3EC 7F0AA8BC 35CE00B0 */ ori $t6, (0x003000B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0DF3F0 7F0AA8C0 35AD00A0 */ ori $t5, (0x007000A0 & 0xFFFF) # ori $t5, $t5, 0xa0 -/* 0DF3F4 7F0AA8C4 240BFFFF */ li $t3, -1 -/* 0DF3F8 7F0AA8C8 240C0001 */ li $t4, 1 -/* 0DF3FC 7F0AA8CC AFAC0014 */ sw $t4, 0x14($sp) -/* 0DF400 7F0AA8D0 AFAB0010 */ sw $t3, 0x10($sp) -/* 0DF404 7F0AA8D4 AFAD0018 */ sw $t5, 0x18($sp) -/* 0DF408 7F0AA8D8 AFAE0024 */ sw $t6, 0x24($sp) -/* 0DF40C 7F0AA8DC 02002025 */ move $a0, $s0 -/* 0DF410 7F0AA8E0 2405005A */ li $a1, 90 -/* 0DF414 7F0AA8E4 24060095 */ li $a2, 149 -/* 0DF418 7F0AA8E8 00403825 */ move $a3, $v0 -/* 0DF41C 7F0AA8EC AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF420 7F0AA8F0 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF424 7F0AA8F4 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF428 7F0AA8F8 AFA00028 */ sw $zero, 0x28($sp) -/* 0DF42C 7F0AA8FC 10000015 */ b .L7F0AA954 -/* 0DF430 7F0AA900 00408025 */ move $s0, $v0 -.L7F0AA904: -/* 0DF434 7F0AA904 0FC30776 */ jal get_textptr_for_textID -/* 0DF438 7F0AA908 3404AC02 */ li $a0, 44034 -/* 0DF43C 7F0AA90C 3C0F00AA */ lui $t7, (0x00AA00B0 >> 16) # lui $t7, 0xaa -/* 0DF440 7F0AA910 3C190030 */ lui $t9, (0x003000B0 >> 16) # lui $t9, 0x30 -/* 0DF444 7F0AA914 373900B0 */ ori $t9, (0x003000B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DF448 7F0AA918 35EF00B0 */ ori $t7, (0x00AA00B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DF44C 7F0AA91C 2418FFFF */ li $t8, -1 -/* 0DF450 7F0AA920 AFB80018 */ sw $t8, 0x18($sp) -/* 0DF454 7F0AA924 AFAF0010 */ sw $t7, 0x10($sp) -/* 0DF458 7F0AA928 AFB90024 */ sw $t9, 0x24($sp) -/* 0DF45C 7F0AA92C 02002025 */ move $a0, $s0 -/* 0DF460 7F0AA930 2405005A */ li $a1, 90 -/* 0DF464 7F0AA934 24060095 */ li $a2, 149 -/* 0DF468 7F0AA938 00403825 */ move $a3, $v0 -/* 0DF46C 7F0AA93C AFA00014 */ sw $zero, 0x14($sp) -/* 0DF470 7F0AA940 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF474 7F0AA944 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF478 7F0AA948 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF47C 7F0AA94C AFA00028 */ sw $zero, 0x28($sp) -/* 0DF480 7F0AA950 00408025 */ move $s0, $v0 -.L7F0AA954: -/* 0DF484 7F0AA954 3C088008 */ lui $t0, %hi(pPlayer) -/* 0DF488 7F0AA958 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0DF48C 7F0AA95C 24010004 */ li $at, 4 -/* 0DF490 7F0AA960 8D022A58 */ lw $v0, 0x2a58($t0) -/* 0DF494 7F0AA964 10410003 */ beq $v0, $at, .L7F0AA974 -/* 0DF498 7F0AA968 24010005 */ li $at, 5 -/* 0DF49C 7F0AA96C 14410005 */ bne $v0, $at, .L7F0AA984 -/* 0DF4A0 7F0AA970 00000000 */ nop -.L7F0AA974: -/* 0DF4A4 7F0AA974 0FC30776 */ jal get_textptr_for_textID -/* 0DF4A8 7F0AA978 3404AC00 */ li $a0, 44032 -/* 0DF4AC 7F0AA97C 10000004 */ b .L7F0AA990 -/* 0DF4B0 7F0AA980 00403825 */ move $a3, $v0 -.L7F0AA984: -/* 0DF4B4 7F0AA984 0FC30776 */ jal get_textptr_for_textID -/* 0DF4B8 7F0AA988 3404AC01 */ li $a0, 44033 -/* 0DF4BC 7F0AA98C 00403825 */ move $a3, $v0 -.L7F0AA990: -/* 0DF4C0 7F0AA990 00002025 */ move $a0, $zero -/* 0DF4C4 7F0AA994 24052000 */ li $a1, 8192 -/* 0DF4C8 7F0AA998 0C0030C3 */ jal get_controller_buttons_held -/* 0DF4CC 7F0AA99C AFA70044 */ sw $a3, 0x44($sp) -/* 0DF4D0 7F0AA9A0 10400014 */ beqz $v0, .L7F0AA9F4 -/* 0DF4D4 7F0AA9A4 8FA70044 */ lw $a3, 0x44($sp) -/* 0DF4D8 7F0AA9A8 3C0B0070 */ lui $t3, (0x007000A0 >> 16) # lui $t3, 0x70 -/* 0DF4DC 7F0AA9AC 3C0C0030 */ lui $t4, (0x003000B0 >> 16) # lui $t4, 0x30 -/* 0DF4E0 7F0AA9B0 358C00B0 */ ori $t4, (0x003000B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0DF4E4 7F0AA9B4 356B00A0 */ ori $t3, (0x007000A0 & 0xFFFF) # ori $t3, $t3, 0xa0 -/* 0DF4E8 7F0AA9B8 2409FFFF */ li $t1, -1 -/* 0DF4EC 7F0AA9BC 240A0001 */ li $t2, 1 -/* 0DF4F0 7F0AA9C0 AFAA0014 */ sw $t2, 0x14($sp) -/* 0DF4F4 7F0AA9C4 AFA90010 */ sw $t1, 0x10($sp) -/* 0DF4F8 7F0AA9C8 AFAB0018 */ sw $t3, 0x18($sp) -/* 0DF4FC 7F0AA9CC AFAC0024 */ sw $t4, 0x24($sp) -/* 0DF500 7F0AA9D0 02002025 */ move $a0, $s0 -/* 0DF504 7F0AA9D4 2405005A */ li $a1, 90 -/* 0DF508 7F0AA9D8 240600B9 */ li $a2, 185 -/* 0DF50C 7F0AA9DC AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF510 7F0AA9E0 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF514 7F0AA9E4 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF518 7F0AA9E8 AFA00028 */ sw $zero, 0x28($sp) -/* 0DF51C 7F0AA9EC 10000012 */ b .L7F0AAA38 -/* 0DF520 7F0AA9F0 00408025 */ move $s0, $v0 -.L7F0AA9F4: -/* 0DF524 7F0AA9F4 3C0D00AA */ lui $t5, (0x00AA00B0 >> 16) # lui $t5, 0xaa -/* 0DF528 7F0AA9F8 3C0F0030 */ lui $t7, (0x003000B0 >> 16) # lui $t7, 0x30 -/* 0DF52C 7F0AA9FC 35EF00B0 */ ori $t7, (0x003000B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DF530 7F0AAA00 35AD00B0 */ ori $t5, (0x00AA00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0DF534 7F0AAA04 240EFFFF */ li $t6, -1 -/* 0DF538 7F0AAA08 AFAE0018 */ sw $t6, 0x18($sp) -/* 0DF53C 7F0AAA0C AFAD0010 */ sw $t5, 0x10($sp) -/* 0DF540 7F0AAA10 AFAF0024 */ sw $t7, 0x24($sp) -/* 0DF544 7F0AAA14 02002025 */ move $a0, $s0 -/* 0DF548 7F0AAA18 2405005A */ li $a1, 90 -/* 0DF54C 7F0AAA1C 240600B9 */ li $a2, 185 -/* 0DF550 7F0AAA20 AFA00014 */ sw $zero, 0x14($sp) -/* 0DF554 7F0AAA24 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF558 7F0AAA28 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF55C 7F0AAA2C 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF560 7F0AAA30 AFA00028 */ sw $zero, 0x28($sp) -/* 0DF564 7F0AAA34 00408025 */ move $s0, $v0 -.L7F0AAA38: -/* 0DF568 7F0AAA38 3C188008 */ lui $t8, %hi(pPlayer) -/* 0DF56C 7F0AAA3C 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 0DF570 7F0AAA40 24010004 */ li $at, 4 -/* 0DF574 7F0AAA44 8F022A58 */ lw $v0, 0x2a58($t8) -/* 0DF578 7F0AAA48 10410003 */ beq $v0, $at, .L7F0AAA58 -/* 0DF57C 7F0AAA4C 24010006 */ li $at, 6 -/* 0DF580 7F0AAA50 14410005 */ bne $v0, $at, .L7F0AAA68 -/* 0DF584 7F0AAA54 00000000 */ nop -.L7F0AAA58: -/* 0DF588 7F0AAA58 0FC30776 */ jal get_textptr_for_textID -/* 0DF58C 7F0AAA5C 3404AC05 */ li $a0, 44037 -/* 0DF590 7F0AAA60 10000004 */ b .L7F0AAA74 -/* 0DF594 7F0AAA64 00403825 */ move $a3, $v0 -.L7F0AAA68: -/* 0DF598 7F0AAA68 0FC30776 */ jal get_textptr_for_textID -/* 0DF59C 7F0AAA6C 3404AC06 */ li $a0, 44038 -/* 0DF5A0 7F0AAA70 00403825 */ move $a3, $v0 -.L7F0AAA74: -/* 0DF5A4 7F0AAA74 3C1900AA */ lui $t9, (0x00AA00B0 >> 16) # lui $t9, 0xaa -/* 0DF5A8 7F0AAA78 3C090030 */ lui $t1, (0x003000B0 >> 16) # lui $t1, 0x30 -/* 0DF5AC 7F0AAA7C 352900B0 */ ori $t1, (0x003000B0 & 0xFFFF) # ori $t1, $t1, 0xb0 -/* 0DF5B0 7F0AAA80 373900B0 */ ori $t9, (0x00AA00B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DF5B4 7F0AAA84 2408FFFF */ li $t0, -1 -/* 0DF5B8 7F0AAA88 AFA80018 */ sw $t0, 0x18($sp) -/* 0DF5BC 7F0AAA8C AFB90010 */ sw $t9, 0x10($sp) -/* 0DF5C0 7F0AAA90 AFA90024 */ sw $t1, 0x24($sp) -/* 0DF5C4 7F0AAA94 02002025 */ move $a0, $s0 -/* 0DF5C8 7F0AAA98 2405005A */ li $a1, 90 -/* 0DF5CC 7F0AAA9C 240600CB */ li $a2, 203 -/* 0DF5D0 7F0AAAA0 AFA00014 */ sw $zero, 0x14($sp) -/* 0DF5D4 7F0AAAA4 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF5D8 7F0AAAA8 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF5DC 7F0AAAAC 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF5E0 7F0AAAB0 AFA00028 */ sw $zero, 0x28($sp) -/* 0DF5E4 7F0AAAB4 00408025 */ move $s0, $v0 -/* 0DF5E8 7F0AAAB8 24040001 */ li $a0, 1 -/* 0DF5EC 7F0AAABC 0C0030C3 */ jal get_controller_buttons_held -/* 0DF5F0 7F0AAAC0 34058000 */ li $a1, 32768 -/* 0DF5F4 7F0AAAC4 10400018 */ beqz $v0, .L7F0AAB28 -/* 0DF5F8 7F0AAAC8 00000000 */ nop -/* 0DF5FC 7F0AAACC 0FC30776 */ jal get_textptr_for_textID -/* 0DF600 7F0AAAD0 3404AC03 */ li $a0, 44035 -/* 0DF604 7F0AAAD4 3C0C0070 */ lui $t4, (0x007000A0 >> 16) # lui $t4, 0x70 -/* 0DF608 7F0AAAD8 3C0D0030 */ lui $t5, (0x003000B0 >> 16) # lui $t5, 0x30 -/* 0DF60C 7F0AAADC 35AD00B0 */ ori $t5, (0x003000B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0DF610 7F0AAAE0 358C00A0 */ ori $t4, (0x007000A0 & 0xFFFF) # ori $t4, $t4, 0xa0 -/* 0DF614 7F0AAAE4 240AFFFF */ li $t2, -1 -/* 0DF618 7F0AAAE8 240B0001 */ li $t3, 1 -/* 0DF61C 7F0AAAEC 240E0001 */ li $t6, 1 -/* 0DF620 7F0AAAF0 AFAE0028 */ sw $t6, 0x28($sp) -/* 0DF624 7F0AAAF4 AFAB0014 */ sw $t3, 0x14($sp) -/* 0DF628 7F0AAAF8 AFAA0010 */ sw $t2, 0x10($sp) -/* 0DF62C 7F0AAAFC AFAC0018 */ sw $t4, 0x18($sp) -/* 0DF630 7F0AAB00 AFAD0024 */ sw $t5, 0x24($sp) -/* 0DF634 7F0AAB04 02002025 */ move $a0, $s0 -/* 0DF638 7F0AAB08 240500E6 */ li $a1, 230 -/* 0DF63C 7F0AAB0C 240600A7 */ li $a2, 167 -/* 0DF640 7F0AAB10 00403825 */ move $a3, $v0 -/* 0DF644 7F0AAB14 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF648 7F0AAB18 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF64C 7F0AAB1C AFA00020 */ sw $zero, 0x20($sp) -/* 0DF650 7F0AAB20 10000016 */ b .L7F0AAB7C -/* 0DF654 7F0AAB24 00408025 */ move $s0, $v0 -.L7F0AAB28: -/* 0DF658 7F0AAB28 0FC30776 */ jal get_textptr_for_textID -/* 0DF65C 7F0AAB2C 3404AC03 */ li $a0, 44035 -/* 0DF660 7F0AAB30 3C0F00AA */ lui $t7, (0x00AA00B0 >> 16) # lui $t7, 0xaa -/* 0DF664 7F0AAB34 3C190030 */ lui $t9, (0x003000B0 >> 16) # lui $t9, 0x30 -/* 0DF668 7F0AAB38 373900B0 */ ori $t9, (0x003000B0 & 0xFFFF) # ori $t9, $t9, 0xb0 -/* 0DF66C 7F0AAB3C 35EF00B0 */ ori $t7, (0x00AA00B0 & 0xFFFF) # ori $t7, $t7, 0xb0 -/* 0DF670 7F0AAB40 2418FFFF */ li $t8, -1 -/* 0DF674 7F0AAB44 24080001 */ li $t0, 1 -/* 0DF678 7F0AAB48 AFA80028 */ sw $t0, 0x28($sp) -/* 0DF67C 7F0AAB4C AFB80018 */ sw $t8, 0x18($sp) -/* 0DF680 7F0AAB50 AFAF0010 */ sw $t7, 0x10($sp) -/* 0DF684 7F0AAB54 AFB90024 */ sw $t9, 0x24($sp) -/* 0DF688 7F0AAB58 02002025 */ move $a0, $s0 -/* 0DF68C 7F0AAB5C 240500E6 */ li $a1, 230 -/* 0DF690 7F0AAB60 240600A7 */ li $a2, 167 -/* 0DF694 7F0AAB64 00403825 */ move $a3, $v0 -/* 0DF698 7F0AAB68 AFA00014 */ sw $zero, 0x14($sp) -/* 0DF69C 7F0AAB6C AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF6A0 7F0AAB70 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF6A4 7F0AAB74 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF6A8 7F0AAB78 00408025 */ move $s0, $v0 -.L7F0AAB7C: -/* 0DF6AC 7F0AAB7C 24040001 */ li $a0, 1 -/* 0DF6B0 7F0AAB80 0C0030C3 */ jal get_controller_buttons_held -/* 0DF6B4 7F0AAB84 24054000 */ li $a1, 16384 -/* 0DF6B8 7F0AAB88 10400018 */ beqz $v0, .L7F0AABEC -/* 0DF6BC 7F0AAB8C 00000000 */ nop -/* 0DF6C0 7F0AAB90 0FC30776 */ jal get_textptr_for_textID -/* 0DF6C4 7F0AAB94 3404AC02 */ li $a0, 44034 -/* 0DF6C8 7F0AAB98 3C0B0070 */ lui $t3, (0x007000A0 >> 16) # lui $t3, 0x70 -/* 0DF6CC 7F0AAB9C 3C0C0030 */ lui $t4, (0x003000B0 >> 16) # lui $t4, 0x30 -/* 0DF6D0 7F0AABA0 358C00B0 */ ori $t4, (0x003000B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0DF6D4 7F0AABA4 356B00A0 */ ori $t3, (0x007000A0 & 0xFFFF) # ori $t3, $t3, 0xa0 -/* 0DF6D8 7F0AABA8 2409FFFF */ li $t1, -1 -/* 0DF6DC 7F0AABAC 240A0001 */ li $t2, 1 -/* 0DF6E0 7F0AABB0 240D0001 */ li $t5, 1 -/* 0DF6E4 7F0AABB4 AFAD0028 */ sw $t5, 0x28($sp) -/* 0DF6E8 7F0AABB8 AFAA0014 */ sw $t2, 0x14($sp) -/* 0DF6EC 7F0AABBC AFA90010 */ sw $t1, 0x10($sp) -/* 0DF6F0 7F0AABC0 AFAB0018 */ sw $t3, 0x18($sp) -/* 0DF6F4 7F0AABC4 AFAC0024 */ sw $t4, 0x24($sp) -/* 0DF6F8 7F0AABC8 02002025 */ move $a0, $s0 -/* 0DF6FC 7F0AABCC 240500E6 */ li $a1, 230 -/* 0DF700 7F0AABD0 24060095 */ li $a2, 149 -/* 0DF704 7F0AABD4 00403825 */ move $a3, $v0 -/* 0DF708 7F0AABD8 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF70C 7F0AABDC 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF710 7F0AABE0 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF714 7F0AABE4 10000016 */ b .L7F0AAC40 -/* 0DF718 7F0AABE8 00408025 */ move $s0, $v0 -.L7F0AABEC: -/* 0DF71C 7F0AABEC 0FC30776 */ jal get_textptr_for_textID -/* 0DF720 7F0AABF0 3404AC02 */ li $a0, 44034 -/* 0DF724 7F0AABF4 3C0E00AA */ lui $t6, (0x00AA00B0 >> 16) # lui $t6, 0xaa -/* 0DF728 7F0AABF8 3C180030 */ lui $t8, (0x003000B0 >> 16) # lui $t8, 0x30 -/* 0DF72C 7F0AABFC 371800B0 */ ori $t8, (0x003000B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0DF730 7F0AAC00 35CE00B0 */ ori $t6, (0x00AA00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0DF734 7F0AAC04 240FFFFF */ li $t7, -1 -/* 0DF738 7F0AAC08 24190001 */ li $t9, 1 -/* 0DF73C 7F0AAC0C AFB90028 */ sw $t9, 0x28($sp) -/* 0DF740 7F0AAC10 AFAF0018 */ sw $t7, 0x18($sp) -/* 0DF744 7F0AAC14 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DF748 7F0AAC18 AFB80024 */ sw $t8, 0x24($sp) -/* 0DF74C 7F0AAC1C 02002025 */ move $a0, $s0 -/* 0DF750 7F0AAC20 240500E6 */ li $a1, 230 -/* 0DF754 7F0AAC24 24060095 */ li $a2, 149 -/* 0DF758 7F0AAC28 00403825 */ move $a3, $v0 -/* 0DF75C 7F0AAC2C AFA00014 */ sw $zero, 0x14($sp) -/* 0DF760 7F0AAC30 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF764 7F0AAC34 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF768 7F0AAC38 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF76C 7F0AAC3C 00408025 */ move $s0, $v0 -.L7F0AAC40: -/* 0DF770 7F0AAC40 3C088008 */ lui $t0, %hi(pPlayer) -/* 0DF774 7F0AAC44 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0DF778 7F0AAC48 24010004 */ li $at, 4 -/* 0DF77C 7F0AAC4C 8D022A58 */ lw $v0, 0x2a58($t0) -/* 0DF780 7F0AAC50 10410003 */ beq $v0, $at, .L7F0AAC60 -/* 0DF784 7F0AAC54 24010005 */ li $at, 5 -/* 0DF788 7F0AAC58 14410005 */ bne $v0, $at, .L7F0AAC70 -/* 0DF78C 7F0AAC5C 00000000 */ nop -.L7F0AAC60: -/* 0DF790 7F0AAC60 0FC30776 */ jal get_textptr_for_textID -/* 0DF794 7F0AAC64 3404AC01 */ li $a0, 44033 -/* 0DF798 7F0AAC68 10000004 */ b .L7F0AAC7C -/* 0DF79C 7F0AAC6C 00403825 */ move $a3, $v0 -.L7F0AAC70: -/* 0DF7A0 7F0AAC70 0FC30776 */ jal get_textptr_for_textID -/* 0DF7A4 7F0AAC74 3404AC00 */ li $a0, 44032 -/* 0DF7A8 7F0AAC78 00403825 */ move $a3, $v0 -.L7F0AAC7C: -/* 0DF7AC 7F0AAC7C 24040001 */ li $a0, 1 -/* 0DF7B0 7F0AAC80 24052000 */ li $a1, 8192 -/* 0DF7B4 7F0AAC84 0C0030C3 */ jal get_controller_buttons_held -/* 0DF7B8 7F0AAC88 AFA70044 */ sw $a3, 0x44($sp) -/* 0DF7BC 7F0AAC8C 10400015 */ beqz $v0, .L7F0AACE4 -/* 0DF7C0 7F0AAC90 8FA70044 */ lw $a3, 0x44($sp) -/* 0DF7C4 7F0AAC94 3C0B0070 */ lui $t3, (0x007000A0 >> 16) # lui $t3, 0x70 -/* 0DF7C8 7F0AAC98 3C0C0030 */ lui $t4, (0x003000B0 >> 16) # lui $t4, 0x30 -/* 0DF7CC 7F0AAC9C 358C00B0 */ ori $t4, (0x003000B0 & 0xFFFF) # ori $t4, $t4, 0xb0 -/* 0DF7D0 7F0AACA0 356B00A0 */ ori $t3, (0x007000A0 & 0xFFFF) # ori $t3, $t3, 0xa0 -/* 0DF7D4 7F0AACA4 2409FFFF */ li $t1, -1 -/* 0DF7D8 7F0AACA8 240A0001 */ li $t2, 1 -/* 0DF7DC 7F0AACAC 240D0001 */ li $t5, 1 -/* 0DF7E0 7F0AACB0 AFAD0028 */ sw $t5, 0x28($sp) -/* 0DF7E4 7F0AACB4 AFAA0014 */ sw $t2, 0x14($sp) -/* 0DF7E8 7F0AACB8 AFA90010 */ sw $t1, 0x10($sp) -/* 0DF7EC 7F0AACBC AFAB0018 */ sw $t3, 0x18($sp) -/* 0DF7F0 7F0AACC0 AFAC0024 */ sw $t4, 0x24($sp) -/* 0DF7F4 7F0AACC4 02002025 */ move $a0, $s0 -/* 0DF7F8 7F0AACC8 240500E6 */ li $a1, 230 -/* 0DF7FC 7F0AACCC 240600B9 */ li $a2, 185 -/* 0DF800 7F0AACD0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF804 7F0AACD4 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF808 7F0AACD8 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF80C 7F0AACDC 10000013 */ b .L7F0AAD2C -/* 0DF810 7F0AACE0 00408025 */ move $s0, $v0 -.L7F0AACE4: -/* 0DF814 7F0AACE4 3C0E00AA */ lui $t6, (0x00AA00B0 >> 16) # lui $t6, 0xaa -/* 0DF818 7F0AACE8 3C180030 */ lui $t8, (0x003000B0 >> 16) # lui $t8, 0x30 -/* 0DF81C 7F0AACEC 371800B0 */ ori $t8, (0x003000B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0DF820 7F0AACF0 35CE00B0 */ ori $t6, (0x00AA00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0DF824 7F0AACF4 240FFFFF */ li $t7, -1 -/* 0DF828 7F0AACF8 24190001 */ li $t9, 1 -/* 0DF82C 7F0AACFC AFB90028 */ sw $t9, 0x28($sp) -/* 0DF830 7F0AAD00 AFAF0018 */ sw $t7, 0x18($sp) -/* 0DF834 7F0AAD04 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DF838 7F0AAD08 AFB80024 */ sw $t8, 0x24($sp) -/* 0DF83C 7F0AAD0C 02002025 */ move $a0, $s0 -/* 0DF840 7F0AAD10 240500E6 */ li $a1, 230 -/* 0DF844 7F0AAD14 240600B9 */ li $a2, 185 -/* 0DF848 7F0AAD18 AFA00014 */ sw $zero, 0x14($sp) -/* 0DF84C 7F0AAD1C AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF850 7F0AAD20 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF854 7F0AAD24 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF858 7F0AAD28 00408025 */ move $s0, $v0 -.L7F0AAD2C: -/* 0DF85C 7F0AAD2C 3C088008 */ lui $t0, %hi(pPlayer) -/* 0DF860 7F0AAD30 8D08A0B0 */ lw $t0, %lo(pPlayer)($t0) -/* 0DF864 7F0AAD34 24010004 */ li $at, 4 -/* 0DF868 7F0AAD38 8D022A58 */ lw $v0, 0x2a58($t0) -/* 0DF86C 7F0AAD3C 10410003 */ beq $v0, $at, .L7F0AAD4C -/* 0DF870 7F0AAD40 24010006 */ li $at, 6 -/* 0DF874 7F0AAD44 14410005 */ bne $v0, $at, .L7F0AAD5C -/* 0DF878 7F0AAD48 00000000 */ nop -.L7F0AAD4C: -/* 0DF87C 7F0AAD4C 0FC30776 */ jal get_textptr_for_textID -/* 0DF880 7F0AAD50 3404AC06 */ li $a0, 44038 -/* 0DF884 7F0AAD54 10000004 */ b .L7F0AAD68 -/* 0DF888 7F0AAD58 00403825 */ move $a3, $v0 -.L7F0AAD5C: -/* 0DF88C 7F0AAD5C 0FC30776 */ jal get_textptr_for_textID -/* 0DF890 7F0AAD60 3404AC05 */ li $a0, 44037 -/* 0DF894 7F0AAD64 00403825 */ move $a3, $v0 -.L7F0AAD68: -/* 0DF898 7F0AAD68 3C0900AA */ lui $t1, (0x00AA00B0 >> 16) # lui $t1, 0xaa -/* 0DF89C 7F0AAD6C 3C0B0030 */ lui $t3, (0x003000B0 >> 16) # lui $t3, 0x30 -/* 0DF8A0 7F0AAD70 356B00B0 */ ori $t3, (0x003000B0 & 0xFFFF) # ori $t3, $t3, 0xb0 -/* 0DF8A4 7F0AAD74 352900B0 */ ori $t1, (0x00AA00B0 & 0xFFFF) # ori $t1, $t1, 0xb0 -/* 0DF8A8 7F0AAD78 240AFFFF */ li $t2, -1 -/* 0DF8AC 7F0AAD7C 240C0001 */ li $t4, 1 -/* 0DF8B0 7F0AAD80 AFAC0028 */ sw $t4, 0x28($sp) -/* 0DF8B4 7F0AAD84 AFAA0018 */ sw $t2, 0x18($sp) -/* 0DF8B8 7F0AAD88 AFA90010 */ sw $t1, 0x10($sp) -/* 0DF8BC 7F0AAD8C AFAB0024 */ sw $t3, 0x24($sp) -/* 0DF8C0 7F0AAD90 02002025 */ move $a0, $s0 -/* 0DF8C4 7F0AAD94 240500E6 */ li $a1, 230 -/* 0DF8C8 7F0AAD98 240600CB */ li $a2, 203 -/* 0DF8CC 7F0AAD9C AFA00014 */ sw $zero, 0x14($sp) -/* 0DF8D0 7F0AADA0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0DF8D4 7F0AADA4 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0DF8D8 7F0AADA8 AFA00020 */ sw $zero, 0x20($sp) -/* 0DF8DC 7F0AADAC 8FBF003C */ lw $ra, 0x3c($sp) -/* 0DF8E0 7F0AADB0 8FB00038 */ lw $s0, 0x38($sp) -/* 0DF8E4 7F0AADB4 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0DF8E8 7F0AADB8 03E00008 */ jr $ra -/* 0DF8EC 7F0AADBC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AADC0(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80058550 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80058554 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80058558 -.word 0x43f78000 /*495.0*/ -glabel D_8005855C -.word 0x453b8000 /*3000.0*/ -glabel D_80058560 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80058564 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80058568 -.word 0xc3fc8000 /*-505.0*/ -glabel D_8005856C -.word 0x453b8000 /*3000.0*/ -.text -glabel sub_GAME_7F0AADC0 -/* 0DF8F0 7F0AADC0 27BDFAC0 */ addiu $sp, $sp, -0x540 -/* 0DF8F4 7F0AADC4 AFBF0034 */ sw $ra, 0x34($sp) -/* 0DF8F8 7F0AADC8 AFB00030 */ sw $s0, 0x30($sp) -/* 0DF8FC 7F0AADCC 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 0DF900 7F0AADD0 00808025 */ move $s0, $a0 -/* 0DF904 7F0AADD4 3C0F8004 */ lui $t7, %hi(D_80040B5C) -/* 0DF908 7F0AADD8 AFA2053C */ sw $v0, 0x53c($sp) -/* 0DF90C 7F0AADDC 25EF0B5C */ addiu $t7, %lo(D_80040B5C) # addiu $t7, $t7, 0xb5c -/* 0DF910 7F0AADE0 8DE10000 */ lw $at, ($t7) -/* 0DF914 7F0AADE4 27AE0370 */ addiu $t6, $sp, 0x370 -/* 0DF918 7F0AADE8 8DE80004 */ lw $t0, 4($t7) -/* 0DF91C 7F0AADEC ADC10000 */ sw $at, ($t6) -/* 0DF920 7F0AADF0 8DE10008 */ lw $at, 8($t7) -/* 0DF924 7F0AADF4 3C0B8004 */ lui $t3, %hi(D_80040B68) -/* 0DF928 7F0AADF8 ADC80004 */ sw $t0, 4($t6) -/* 0DF92C 7F0AADFC ADC10008 */ sw $at, 8($t6) -/* 0DF930 7F0AAE00 24090001 */ li $t1, 1 -/* 0DF934 7F0AAE04 256B0B68 */ addiu $t3, %lo(D_80040B68) # addiu $t3, $t3, 0xb68 -/* 0DF938 7F0AAE08 A3A002E3 */ sb $zero, 0x2e3($sp) -/* 0DF93C 7F0AAE0C A3A902E2 */ sb $t1, 0x2e2($sp) -/* 0DF940 7F0AAE10 257900D8 */ addiu $t9, $t3, 0xd8 -/* 0DF944 7F0AAE14 27AA0204 */ addiu $t2, $sp, 0x204 -.L7F0AAE18: -/* 0DF948 7F0AAE18 8D610000 */ lw $at, ($t3) -/* 0DF94C 7F0AAE1C 256B000C */ addiu $t3, $t3, 0xc -/* 0DF950 7F0AAE20 254A000C */ addiu $t2, $t2, 0xc -/* 0DF954 7F0AAE24 AD41FFF4 */ sw $at, -0xc($t2) -/* 0DF958 7F0AAE28 8D61FFF8 */ lw $at, -8($t3) -/* 0DF95C 7F0AAE2C AD41FFF8 */ sw $at, -8($t2) -/* 0DF960 7F0AAE30 8D61FFFC */ lw $at, -4($t3) -/* 0DF964 7F0AAE34 1579FFF8 */ bne $t3, $t9, .L7F0AAE18 -/* 0DF968 7F0AAE38 AD41FFFC */ sw $at, -4($t2) -/* 0DF96C 7F0AAE3C 8D610000 */ lw $at, ($t3) -/* 0DF970 7F0AAE40 3C0E8004 */ lui $t6, %hi(D_80040BB4+0x90) -/* 0DF974 7F0AAE44 25CE0C44 */ addiu $t6, %lo(D_80040BB4+0x90) # addiu $t6, $t6, 0xc44 -/* 0DF978 7F0AAE48 25C900D8 */ addiu $t1, $t6, 0xd8 -/* 0DF97C 7F0AAE4C 27B80128 */ addiu $t8, $sp, 0x128 -/* 0DF980 7F0AAE50 AD410000 */ sw $at, ($t2) -.L7F0AAE54: -/* 0DF984 7F0AAE54 8DC10000 */ lw $at, ($t6) -/* 0DF988 7F0AAE58 25CE000C */ addiu $t6, $t6, 0xc -/* 0DF98C 7F0AAE5C 2718000C */ addiu $t8, $t8, 0xc -/* 0DF990 7F0AAE60 AF01FFF4 */ sw $at, -0xc($t8) -/* 0DF994 7F0AAE64 8DC1FFF8 */ lw $at, -8($t6) -/* 0DF998 7F0AAE68 AF01FFF8 */ sw $at, -8($t8) -/* 0DF99C 7F0AAE6C 8DC1FFFC */ lw $at, -4($t6) -/* 0DF9A0 7F0AAE70 15C9FFF8 */ bne $t6, $t1, .L7F0AAE54 -/* 0DF9A4 7F0AAE74 AF01FFFC */ sw $at, -4($t8) -/* 0DF9A8 7F0AAE78 8DC10000 */ lw $at, ($t6) -/* 0DF9AC 7F0AAE7C 3C0C8004 */ lui $t4, %hi(D_80040D20) -/* 0DF9B0 7F0AAE80 258C0D20 */ addiu $t4, %lo(D_80040D20) # addiu $t4, $t4, 0xd20 -/* 0DF9B4 7F0AAE84 258A00D8 */ addiu $t2, $t4, 0xd8 -/* 0DF9B8 7F0AAE88 27AD004C */ addiu $t5, $sp, 0x4c -/* 0DF9BC 7F0AAE8C AF010000 */ sw $at, ($t8) -.L7F0AAE90: -/* 0DF9C0 7F0AAE90 8D810000 */ lw $at, ($t4) -/* 0DF9C4 7F0AAE94 258C000C */ addiu $t4, $t4, 0xc -/* 0DF9C8 7F0AAE98 25AD000C */ addiu $t5, $t5, 0xc -/* 0DF9CC 7F0AAE9C ADA1FFF4 */ sw $at, -0xc($t5) -/* 0DF9D0 7F0AAEA0 8D81FFF8 */ lw $at, -8($t4) -/* 0DF9D4 7F0AAEA4 ADA1FFF8 */ sw $at, -8($t5) -/* 0DF9D8 7F0AAEA8 8D81FFFC */ lw $at, -4($t4) -/* 0DF9DC 7F0AAEAC 158AFFF8 */ bne $t4, $t2, .L7F0AAE90 -/* 0DF9E0 7F0AAEB0 ADA1FFFC */ sw $at, -4($t5) -/* 0DF9E4 7F0AAEB4 8D810000 */ lw $at, ($t4) -/* 0DF9E8 7F0AAEB8 3C058004 */ lui $a1, %hi(D_80040B2C) -/* 0DF9EC 7F0AAEBC 3C068004 */ lui $a2, %hi(D_80040B28) -/* 0DF9F0 7F0AAEC0 3C078004 */ lui $a3, %hi(D_80040B24) -/* 0DF9F4 7F0AAEC4 24E70B24 */ addiu $a3, %lo(D_80040B24) # addiu $a3, $a3, 0xb24 -/* 0DF9F8 7F0AAEC8 24C60B28 */ addiu $a2, %lo(D_80040B28) # addiu $a2, $a2, 0xb28 -/* 0DF9FC 7F0AAECC 24A50B2C */ addiu $a1, %lo(D_80040B2C) # addiu $a1, $a1, 0xb2c -/* 0DFA00 7F0AAED0 00002025 */ move $a0, $zero -/* 0DFA04 7F0AAED4 0FC2A5A1 */ jal sub_GAME_7F0A9684 -/* 0DFA08 7F0AAED8 ADA10000 */ sw $at, ($t5) -/* 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) -/* 0DFA1C 7F0AAEEC 3C018004 */ lui $at, %hi(D_80040B28) -/* 0DFA20 7F0AAEF0 C4240B28 */ lwc1 $f4, %lo(D_80040B28)($at) -/* 0DFA24 7F0AAEF4 44883000 */ mtc1 $t0, $f6 -/* 0DFA28 7F0AAEF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0DFA2C 7F0AAEFC 44818000 */ mtc1 $at, $f16 -/* 0DFA30 7F0AAF00 46803220 */ cvt.s.w $f8, $f6 -/* 0DFA34 7F0AAF04 3C028004 */ lui $v0, %hi(D_80040B24) -/* 0DFA38 7F0AAF08 24420B24 */ addiu $v0, %lo(D_80040B24) # addiu $v0, $v0, 0xb24 -/* 0DFA3C 7F0AAF0C C4460000 */ lwc1 $f6, ($v0) -/* 0DFA40 7F0AAF10 46082282 */ mul.s $f10, $f4, $f8 -/* 0DFA44 7F0AAF14 00000000 */ nop -/* 0DFA48 7F0AAF18 46105482 */ mul.s $f18, $f10, $f16 -/* 0DFA4C 7F0AAF1C 46123100 */ add.s $f4, $f6, $f18 -/* 0DFA50 7F0AAF20 E4440000 */ swc1 $f4, ($v0) -/* 0DFA54 7F0AAF24 0FC29A8B */ jal sub_GAME_7F0A6A2C -/* 0DFA58 7F0AAF28 C44C0000 */ lwc1 $f12, ($v0) -/* 0DFA5C 7F0AAF2C 3C018004 */ lui $at, %hi(D_80040B24) -/* 0DFA60 7F0AAF30 E4200B24 */ swc1 $f0, %lo(D_80040B24)($at) -/* 0DFA64 7F0AAF34 C42C0B24 */ lwc1 $f12, %lo(D_80040B24)($at) -/* 0DFA68 7F0AAF38 0FC161A2 */ jal sub_GAME_7F058688 -/* 0DFA6C 7F0AAF3C 27A504BC */ addiu $a1, $sp, 0x4bc -/* 0DFA70 7F0AAF40 3C0F8004 */ lui $t7, %hi(watch_soundrelated_maybe) -/* 0DFA74 7F0AAF44 8DEF09A8 */ lw $t7, %lo(watch_soundrelated_maybe)($t7) -/* 0DFA78 7F0AAF48 11E00016 */ beqz $t7, .L7F0AAFA4 -/* 0DFA7C 7F0AAF4C 3C098004 */ lui $t1, %hi(D_80040998) -/* 0DFA80 7F0AAF50 8D290998 */ lw $t1, %lo(D_80040998)($t1) -/* 0DFA84 7F0AAF54 24010001 */ li $at, 1 -/* 0DFA88 7F0AAF58 15210012 */ bne $t1, $at, .L7F0AAFA4 -/* 0DFA8C 7F0AAF5C 00000000 */ nop -/* 0DFA90 7F0AAF60 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DFA94 7F0AAF64 00002025 */ move $a0, $zero -/* 0DFA98 7F0AAF68 44824000 */ mtc1 $v0, $f8 -/* 0DFA9C 7F0AAF6C 3C018004 */ lui $at, %hi(D_80040B20) -/* 0DFAA0 7F0AAF70 C42C0B20 */ lwc1 $f12, %lo(D_80040B20)($at) -/* 0DFAA4 7F0AAF74 468042A0 */ cvt.s.w $f10, $f8 -/* 0DFAA8 7F0AAF78 3C018006 */ lui $at, %hi(D_80058550) -/* 0DFAAC 7F0AAF7C C4308550 */ lwc1 $f16, %lo(D_80058550)($at) -/* 0DFAB0 7F0AAF80 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DFAB4 7F0AAF84 44819000 */ mtc1 $at, $f18 -/* 0DFAB8 7F0AAF88 3C064080 */ lui $a2, 0x4080 -/* 0DFABC 7F0AAF8C 46105182 */ mul.s $f6, $f10, $f16 -/* 0DFAC0 7F0AAF90 0FC2A571 */ jal sub_GAME_7F0A95C4 -/* 0DFAC4 7F0AAF94 46123383 */ div.s $f14, $f6, $f18 -/* 0DFAC8 7F0AAF98 3C018004 */ lui $at, %hi(D_80040B20) -/* 0DFACC 7F0AAF9C 10000008 */ b .L7F0AAFC0 -/* 0DFAD0 7F0AAFA0 E4200B20 */ swc1 $f0, %lo(D_80040B20)($at) -.L7F0AAFA4: -/* 0DFAD4 7F0AAFA4 3C018004 */ lui $at, %hi(D_80040B20) -/* 0DFAD8 7F0AAFA8 44807000 */ mtc1 $zero, $f14 -/* 0DFADC 7F0AAFAC C42C0B20 */ lwc1 $f12, %lo(D_80040B20)($at) -/* 0DFAE0 7F0AAFB0 0FC2A571 */ jal sub_GAME_7F0A95C4 -/* 0DFAE4 7F0AAFB4 3C064080 */ lui $a2, 0x4080 -/* 0DFAE8 7F0AAFB8 3C018004 */ lui $at, %hi(D_80040B20) -/* 0DFAEC 7F0AAFBC E4200B20 */ swc1 $f0, %lo(D_80040B20)($at) -.L7F0AAFC0: -/* 0DFAF0 7F0AAFC0 3C018004 */ lui $at, %hi(D_80040B20) -/* 0DFAF4 7F0AAFC4 C4240B20 */ lwc1 $f4, %lo(D_80040B20)($at) -/* 0DFAF8 7F0AAFC8 3C018006 */ lui $at, %hi(D_80058554) -/* 0DFAFC 7F0AAFCC C42A8554 */ lwc1 $f10, %lo(D_80058554)($at) -/* 0DFB00 7F0AAFD0 46002207 */ neg.s $f8, $f4 -/* 0DFB04 7F0AAFD4 27A5047C */ addiu $a1, $sp, 0x47c -/* 0DFB08 7F0AAFD8 0FC1615C */ jal sub_GAME_7F058570 -/* 0DFB0C 7F0AAFDC 460A4301 */ sub.s $f12, $f8, $f10 -/* 0DFB10 7F0AAFE0 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0DFB14 7F0AAFE4 27A504BC */ addiu $a1, $sp, 0x4bc -/* 0DFB18 7F0AAFE8 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0DFB1C 7F0AAFEC 27A6043C */ addiu $a2, $sp, 0x43c -/* 0DFB20 7F0AAFF0 27A4043C */ addiu $a0, $sp, 0x43c -/* 0DFB24 7F0AAFF4 27A5047C */ addiu $a1, $sp, 0x47c -/* 0DFB28 7F0AAFF8 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0DFB2C 7F0AAFFC 27A603FC */ addiu $a2, $sp, 0x3fc -/* 0DFB30 7F0AB000 27A40370 */ addiu $a0, $sp, 0x370 -/* 0DFB34 7F0AB004 0FC16259 */ jal init_something_copy_posdata_to_it -/* 0DFB38 7F0AB008 27A5043C */ addiu $a1, $sp, 0x43c -/* 0DFB3C 7F0AB00C 27A4043C */ addiu $a0, $sp, 0x43c -/* 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 controllerCheckDualControllerTypesAllowed -/* 0DFB50 7F0AB020 00000000 */ nop -/* 0DFB54 7F0AB024 10400018 */ beqz $v0, .L7F0AB088 -/* 0DFB58 7F0AB028 3C01C0A0 */ lui $at, 0xc0a0 -/* 0DFB5C 7F0AB02C 3C018006 */ lui $at, %hi(D_80058558) -/* 0DFB60 7F0AB030 C4208558 */ lwc1 $f0, %lo(D_80058558)($at) -/* 0DFB64 7F0AB034 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 0DFB68 7F0AB038 44816000 */ mtc1 $at, $f12 -/* 0DFB6C 7F0AB03C 44801000 */ mtc1 $zero, $f2 -/* 0DFB70 7F0AB040 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0DFB74 7F0AB044 44818000 */ mtc1 $at, $f16 -/* 0DFB78 7F0AB048 27AE0128 */ addiu $t6, $sp, 0x128 -/* 0DFB7C 7F0AB04C 3C06451C */ lui $a2, (0x451C4000 >> 16) # lui $a2, 0x451c -/* 0DFB80 7F0AB050 44050000 */ mfc1 $a1, $f0 -/* 0DFB84 7F0AB054 44076000 */ mfc1 $a3, $f12 -/* 0DFB88 7F0AB058 AFAE02E8 */ sw $t6, 0x2e8($sp) -/* 0DFB8C 7F0AB05C 34C64000 */ ori $a2, (0x451C4000 & 0xFFFF) # ori $a2, $a2, 0x4000 -/* 0DFB90 7F0AB060 27A4032C */ addiu $a0, $sp, 0x32c -/* 0DFB94 7F0AB064 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0DFB98 7F0AB068 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0DFB9C 7F0AB06C E7A20014 */ swc1 $f2, 0x14($sp) -/* 0DFBA0 7F0AB070 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0DFBA4 7F0AB074 E7A20020 */ swc1 $f2, 0x20($sp) -/* 0DFBA8 7F0AB078 0FC165A5 */ jal sub_GAME_7F059694 -/* 0DFBAC 7F0AB07C E7B00024 */ swc1 $f16, 0x24($sp) -/* 0DFBB0 7F0AB080 10000017 */ b .L7F0AB0E0 -/* 0DFBB4 7F0AB084 27A4032C */ addiu $a0, $sp, 0x32c -.L7F0AB088: -/* 0DFBB8 7F0AB088 44810000 */ mtc1 $at, $f0 -/* 0DFBBC 7F0AB08C 3C01C328 */ li $at, 0xC3280000 # -168.000000 -/* 0DFBC0 7F0AB090 44811000 */ mtc1 $at, $f2 -/* 0DFBC4 7F0AB094 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0DFBC8 7F0AB098 44814000 */ mtc1 $at, $f8 -/* 0DFBCC 7F0AB09C 44803000 */ mtc1 $zero, $f6 -/* 0DFBD0 7F0AB0A0 44809000 */ mtc1 $zero, $f18 -/* 0DFBD4 7F0AB0A4 44802000 */ mtc1 $zero, $f4 -/* 0DFBD8 7F0AB0A8 27B80204 */ addiu $t8, $sp, 0x204 -/* 0DFBDC 7F0AB0AC 44050000 */ mfc1 $a1, $f0 -/* 0DFBE0 7F0AB0B0 44071000 */ mfc1 $a3, $f2 -/* 0DFBE4 7F0AB0B4 AFB802E8 */ sw $t8, 0x2e8($sp) -/* 0DFBE8 7F0AB0B8 27A4032C */ addiu $a0, $sp, 0x32c -/* 0DFBEC 7F0AB0BC 3C0644FA */ lui $a2, 0x44fa -/* 0DFBF0 7F0AB0C0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0DFBF4 7F0AB0C4 E7A20018 */ swc1 $f2, 0x18($sp) -/* 0DFBF8 7F0AB0C8 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0DFBFC 7F0AB0CC E7A60014 */ swc1 $f6, 0x14($sp) -/* 0DFC00 7F0AB0D0 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 0DFC04 7F0AB0D4 0FC165A5 */ jal sub_GAME_7F059694 -/* 0DFC08 7F0AB0D8 E7A40020 */ swc1 $f4, 0x20($sp) -/* 0DFC0C 7F0AB0DC 27A4032C */ addiu $a0, $sp, 0x32c -.L7F0AB0E0: -/* 0DFC10 7F0AB0E0 27A503BC */ addiu $a1, $sp, 0x3bc -/* 0DFC14 7F0AB0E4 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0DFC18 7F0AB0E8 27A6037C */ addiu $a2, $sp, 0x37c -/* 0DFC1C 7F0AB0EC 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0DFC20 7F0AB0F0 44815000 */ mtc1 $at, $f10 -/* 0DFC24 7F0AB0F4 3C018006 */ lui $at, %hi(D_8005855C) -/* 0DFC28 7F0AB0F8 C430855C */ lwc1 $f16, %lo(D_8005855C)($at) -/* 0DFC2C 7F0AB0FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DFC30 7F0AB100 44813000 */ mtc1 $at, $f6 -/* 0DFC34 7F0AB104 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 0DFC38 7F0AB108 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 0DFC3C 7F0AB10C 8FA4053C */ lw $a0, 0x53c($sp) -/* 0DFC40 7F0AB110 27A5036E */ addiu $a1, $sp, 0x36e -/* 0DFC44 7F0AB114 3C06424A */ lui $a2, 0x424a -/* 0DFC48 7F0AB118 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0DFC4C 7F0AB11C E7B00014 */ swc1 $f16, 0x14($sp) -/* 0DFC50 7F0AB120 0C003FAC */ jal guPerspective -/* 0DFC54 7F0AB124 E7A60018 */ swc1 $f6, 0x18($sp) -/* 0DFC58 7F0AB128 3C0B0103 */ lui $t3, (0x01030040 >> 16) # lui $t3, 0x103 -/* 0DFC5C 7F0AB12C 356B0040 */ ori $t3, (0x01030040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 0DFC60 7F0AB130 02001825 */ move $v1, $s0 -/* 0DFC64 7F0AB134 AC6B0000 */ sw $t3, ($v1) -/* 0DFC68 7F0AB138 AFA30048 */ sw $v1, 0x48($sp) -/* 0DFC6C 7F0AB13C 8FA4053C */ lw $a0, 0x53c($sp) -/* 0DFC70 7F0AB140 0C003A2C */ jal osVirtualToPhysical -/* 0DFC74 7F0AB144 26100008 */ addiu $s0, $s0, 8 -/* 0DFC78 7F0AB148 8FA30048 */ lw $v1, 0x48($sp) -/* 0DFC7C 7F0AB14C 02002025 */ move $a0, $s0 -/* 0DFC80 7F0AB150 0FC29BBA */ jal sub_GAME_7F0A6EE8 -/* 0DFC84 7F0AB154 AC620004 */ sw $v0, 4($v1) -/* 0DFC88 7F0AB158 3C038004 */ lui $v1, %hi(D_80040B04) -/* 0DFC8C 7F0AB15C 8C630B04 */ lw $v1, %lo(D_80040B04)($v1) -/* 0DFC90 7F0AB160 00408025 */ move $s0, $v0 -/* 0DFC94 7F0AB164 02002025 */ move $a0, $s0 -/* 0DFC98 7F0AB168 286100E0 */ slti $at, $v1, 0xe0 -/* 0DFC9C 7F0AB16C 1020000C */ beqz $at, .L7F0AB1A0 -/* 0DFCA0 7F0AB170 27A5037C */ addiu $a1, $sp, 0x37c -/* 0DFCA4 7F0AB174 8FB902E8 */ lw $t9, 0x2e8($sp) -/* 0DFCA8 7F0AB178 27AA02E3 */ addiu $t2, $sp, 0x2e3 -/* 0DFCAC 7F0AB17C AFAA0014 */ sw $t2, 0x14($sp) -/* 0DFCB0 7F0AB180 00402025 */ move $a0, $v0 -/* 0DFCB4 7F0AB184 27A5037C */ addiu $a1, $sp, 0x37c -/* 0DFCB8 7F0AB188 2466FFFA */ addiu $a2, $v1, -6 -/* 0DFCBC 7F0AB18C 24070001 */ li $a3, 1 -/* 0DFCC0 7F0AB190 0FC18D67 */ jal sub_GAME_7F06359C -/* 0DFCC4 7F0AB194 AFB90010 */ sw $t9, 0x10($sp) -/* 0DFCC8 7F0AB198 10000007 */ b .L7F0AB1B8 -/* 0DFCCC 7F0AB19C 00408025 */ move $s0, $v0 -.L7F0AB1A0: -/* 0DFCD0 7F0AB1A0 27AC02E3 */ addiu $t4, $sp, 0x2e3 -/* 0DFCD4 7F0AB1A4 AFAC0010 */ sw $t4, 0x10($sp) -/* 0DFCD8 7F0AB1A8 24060001 */ li $a2, 1 -/* 0DFCDC 7F0AB1AC 0FC190D9 */ jal sub_GAME_7F064364 -/* 0DFCE0 7F0AB1B0 8FA702E8 */ lw $a3, 0x2e8($sp) -/* 0DFCE4 7F0AB1B4 00408025 */ move $s0, $v0 -.L7F0AB1B8: -/* 0DFCE8 7F0AB1B8 0FC2935D */ jal controllerCheckDualControllerTypesAllowed -/* 0DFCEC 7F0AB1BC 00000000 */ nop -/* 0DFCF0 7F0AB1C0 104000A2 */ beqz $v0, .L7F0AB44C -/* 0DFCF4 7F0AB1C4 24040001 */ li $a0, 1 -/* 0DFCF8 7F0AB1C8 3C058004 */ lui $a1, %hi(D_80040B3C) -/* 0DFCFC 7F0AB1CC 3C068004 */ lui $a2, %hi(D_80040B38) -/* 0DFD00 7F0AB1D0 3C078004 */ lui $a3, %hi(D_80040B34) -/* 0DFD04 7F0AB1D4 24E70B34 */ addiu $a3, %lo(D_80040B34) # addiu $a3, $a3, 0xb34 -/* 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 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) -/* 0DFD24 7F0AB1F4 3C018004 */ lui $at, %hi(D_80040B38) -/* 0DFD28 7F0AB1F8 C4320B38 */ lwc1 $f18, %lo(D_80040B38)($at) -/* 0DFD2C 7F0AB1FC 448D2000 */ mtc1 $t5, $f4 -/* 0DFD30 7F0AB200 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0DFD34 7F0AB204 44818000 */ mtc1 $at, $f16 -/* 0DFD38 7F0AB208 46802220 */ cvt.s.w $f8, $f4 -/* 0DFD3C 7F0AB20C 3C028004 */ lui $v0, %hi(D_80040B34) -/* 0DFD40 7F0AB210 24420B34 */ addiu $v0, %lo(D_80040B34) # addiu $v0, $v0, 0xb34 -/* 0DFD44 7F0AB214 C4440000 */ lwc1 $f4, ($v0) -/* 0DFD48 7F0AB218 46089282 */ mul.s $f10, $f18, $f8 -/* 0DFD4C 7F0AB21C 00000000 */ nop -/* 0DFD50 7F0AB220 46105182 */ mul.s $f6, $f10, $f16 -/* 0DFD54 7F0AB224 46062480 */ add.s $f18, $f4, $f6 -/* 0DFD58 7F0AB228 E4520000 */ swc1 $f18, ($v0) -/* 0DFD5C 7F0AB22C 0FC29A8B */ jal sub_GAME_7F0A6A2C -/* 0DFD60 7F0AB230 C44C0000 */ lwc1 $f12, ($v0) -/* 0DFD64 7F0AB234 3C018004 */ lui $at, %hi(D_80040B34) -/* 0DFD68 7F0AB238 E4200B34 */ swc1 $f0, %lo(D_80040B34)($at) -/* 0DFD6C 7F0AB23C C42C0B34 */ lwc1 $f12, %lo(D_80040B34)($at) -/* 0DFD70 7F0AB240 0FC161A2 */ jal sub_GAME_7F058688 -/* 0DFD74 7F0AB244 27A504BC */ addiu $a1, $sp, 0x4bc -/* 0DFD78 7F0AB248 3C088004 */ lui $t0, %hi(watch_soundrelated_maybe) -/* 0DFD7C 7F0AB24C 8D0809A8 */ lw $t0, %lo(watch_soundrelated_maybe)($t0) -/* 0DFD80 7F0AB250 11000016 */ beqz $t0, .L7F0AB2AC -/* 0DFD84 7F0AB254 3C0F8004 */ lui $t7, %hi(D_80040998) -/* 0DFD88 7F0AB258 8DEF0998 */ lw $t7, %lo(D_80040998)($t7) -/* 0DFD8C 7F0AB25C 24010001 */ li $at, 1 -/* 0DFD90 7F0AB260 15E10012 */ bne $t7, $at, .L7F0AB2AC -/* 0DFD94 7F0AB264 00000000 */ nop -/* 0DFD98 7F0AB268 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0DFD9C 7F0AB26C 24040001 */ li $a0, 1 -/* 0DFDA0 7F0AB270 44824000 */ mtc1 $v0, $f8 -/* 0DFDA4 7F0AB274 3C018004 */ lui $at, %hi(D_80040B30) -/* 0DFDA8 7F0AB278 C42C0B30 */ lwc1 $f12, %lo(D_80040B30)($at) -/* 0DFDAC 7F0AB27C 468042A0 */ cvt.s.w $f10, $f8 -/* 0DFDB0 7F0AB280 3C018006 */ lui $at, %hi(D_80058560) -/* 0DFDB4 7F0AB284 C4308560 */ lwc1 $f16, %lo(D_80058560)($at) -/* 0DFDB8 7F0AB288 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0DFDBC 7F0AB28C 44813000 */ mtc1 $at, $f6 -/* 0DFDC0 7F0AB290 3C064080 */ lui $a2, 0x4080 -/* 0DFDC4 7F0AB294 46105102 */ mul.s $f4, $f10, $f16 -/* 0DFDC8 7F0AB298 0FC2A571 */ jal sub_GAME_7F0A95C4 -/* 0DFDCC 7F0AB29C 46062383 */ div.s $f14, $f4, $f6 -/* 0DFDD0 7F0AB2A0 3C018004 */ lui $at, %hi(D_80040B30) -/* 0DFDD4 7F0AB2A4 10000008 */ b .L7F0AB2C8 -/* 0DFDD8 7F0AB2A8 E4200B30 */ swc1 $f0, %lo(D_80040B30)($at) -.L7F0AB2AC: -/* 0DFDDC 7F0AB2AC 3C018004 */ lui $at, %hi(D_80040B30) -/* 0DFDE0 7F0AB2B0 44807000 */ mtc1 $zero, $f14 -/* 0DFDE4 7F0AB2B4 C42C0B30 */ lwc1 $f12, %lo(D_80040B30)($at) -/* 0DFDE8 7F0AB2B8 0FC2A571 */ jal sub_GAME_7F0A95C4 -/* 0DFDEC 7F0AB2BC 3C064080 */ lui $a2, 0x4080 -/* 0DFDF0 7F0AB2C0 3C018004 */ lui $at, %hi(D_80040B30) -/* 0DFDF4 7F0AB2C4 E4200B30 */ swc1 $f0, %lo(D_80040B30)($at) -.L7F0AB2C8: -/* 0DFDF8 7F0AB2C8 3C018004 */ lui $at, %hi(D_80040B30) -/* 0DFDFC 7F0AB2CC C4320B30 */ lwc1 $f18, %lo(D_80040B30)($at) -/* 0DFE00 7F0AB2D0 3C018006 */ lui $at, %hi(D_80058564) -/* 0DFE04 7F0AB2D4 C42A8564 */ lwc1 $f10, %lo(D_80058564)($at) -/* 0DFE08 7F0AB2D8 46009207 */ neg.s $f8, $f18 -/* 0DFE0C 7F0AB2DC 27A5047C */ addiu $a1, $sp, 0x47c -/* 0DFE10 7F0AB2E0 0FC1615C */ jal sub_GAME_7F058570 -/* 0DFE14 7F0AB2E4 460A4301 */ sub.s $f12, $f8, $f10 -/* 0DFE18 7F0AB2E8 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0DFE1C 7F0AB2EC 27A504BC */ addiu $a1, $sp, 0x4bc -/* 0DFE20 7F0AB2F0 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0DFE24 7F0AB2F4 27A6043C */ addiu $a2, $sp, 0x43c -/* 0DFE28 7F0AB2F8 27A4043C */ addiu $a0, $sp, 0x43c -/* 0DFE2C 7F0AB2FC 27A5047C */ addiu $a1, $sp, 0x47c -/* 0DFE30 7F0AB300 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0DFE34 7F0AB304 27A603FC */ addiu $a2, $sp, 0x3fc -/* 0DFE38 7F0AB308 27A40370 */ addiu $a0, $sp, 0x370 -/* 0DFE3C 7F0AB30C 0FC16259 */ jal init_something_copy_posdata_to_it -/* 0DFE40 7F0AB310 27A5043C */ addiu $a1, $sp, 0x43c -/* 0DFE44 7F0AB314 27A4043C */ addiu $a0, $sp, 0x43c -/* 0DFE48 7F0AB318 27A503FC */ addiu $a1, $sp, 0x3fc -/* 0DFE4C 7F0AB31C 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0DFE50 7F0AB320 27A603BC */ addiu $a2, $sp, 0x3bc -/* 0DFE54 7F0AB324 3C018006 */ lui $at, %hi(D_80058568) -/* 0DFE58 7F0AB328 C4208568 */ lwc1 $f0, %lo(D_80058568)($at) -/* 0DFE5C 7F0AB32C 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 0DFE60 7F0AB330 44801000 */ mtc1 $zero, $f2 -/* 0DFE64 7F0AB334 44818000 */ mtc1 $at, $f16 -/* 0DFE68 7F0AB338 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0DFE6C 7F0AB33C 44812000 */ mtc1 $at, $f4 -/* 0DFE70 7F0AB340 3C06451C */ lui $a2, (0x451C4000 >> 16) # lui $a2, 0x451c -/* 0DFE74 7F0AB344 44050000 */ mfc1 $a1, $f0 -/* 0DFE78 7F0AB348 34C64000 */ ori $a2, (0x451C4000 & 0xFFFF) # ori $a2, $a2, 0x4000 -/* 0DFE7C 7F0AB34C 27A402EC */ addiu $a0, $sp, 0x2ec -/* 0DFE80 7F0AB350 3C074200 */ lui $a3, 0x4200 -/* 0DFE84 7F0AB354 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0DFE88 7F0AB358 E7A20014 */ swc1 $f2, 0x14($sp) -/* 0DFE8C 7F0AB35C E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0DFE90 7F0AB360 E7A20020 */ swc1 $f2, 0x20($sp) -/* 0DFE94 7F0AB364 E7B00018 */ swc1 $f16, 0x18($sp) -/* 0DFE98 7F0AB368 0FC165A5 */ jal sub_GAME_7F059694 -/* 0DFE9C 7F0AB36C E7A40024 */ swc1 $f4, 0x24($sp) -/* 0DFEA0 7F0AB370 27A402EC */ addiu $a0, $sp, 0x2ec -/* 0DFEA4 7F0AB374 27A503BC */ addiu $a1, $sp, 0x3bc -/* 0DFEA8 7F0AB378 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0DFEAC 7F0AB37C 27A6037C */ addiu $a2, $sp, 0x37c -/* 0DFEB0 7F0AB380 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0DFEB4 7F0AB384 44813000 */ mtc1 $at, $f6 -/* 0DFEB8 7F0AB388 3C018006 */ lui $at, %hi(D_8005856C) -/* 0DFEBC 7F0AB38C C432856C */ lwc1 $f18, %lo(D_8005856C)($at) -/* 0DFEC0 7F0AB390 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0DFEC4 7F0AB394 44814000 */ mtc1 $at, $f8 -/* 0DFEC8 7F0AB398 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 0DFECC 7F0AB39C 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 0DFED0 7F0AB3A0 8FA4053C */ lw $a0, 0x53c($sp) -/* 0DFED4 7F0AB3A4 27A5036E */ addiu $a1, $sp, 0x36e -/* 0DFED8 7F0AB3A8 3C06424A */ lui $a2, 0x424a -/* 0DFEDC 7F0AB3AC E7A60010 */ swc1 $f6, 0x10($sp) -/* 0DFEE0 7F0AB3B0 E7B20014 */ swc1 $f18, 0x14($sp) -/* 0DFEE4 7F0AB3B4 0C003FAC */ jal guPerspective -/* 0DFEE8 7F0AB3B8 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0DFEEC 7F0AB3BC 3C090103 */ lui $t1, (0x01030040 >> 16) # lui $t1, 0x103 -/* 0DFEF0 7F0AB3C0 35290040 */ ori $t1, (0x01030040 & 0xFFFF) # ori $t1, $t1, 0x40 -/* 0DFEF4 7F0AB3C4 02001825 */ move $v1, $s0 -/* 0DFEF8 7F0AB3C8 AC690000 */ sw $t1, ($v1) -/* 0DFEFC 7F0AB3CC AFA30044 */ sw $v1, 0x44($sp) -/* 0DFF00 7F0AB3D0 8FA4053C */ lw $a0, 0x53c($sp) -/* 0DFF04 7F0AB3D4 0C003A2C */ jal osVirtualToPhysical -/* 0DFF08 7F0AB3D8 26100008 */ addiu $s0, $s0, 8 -/* 0DFF0C 7F0AB3DC 8FA30044 */ lw $v1, 0x44($sp) -/* 0DFF10 7F0AB3E0 02002025 */ move $a0, $s0 -/* 0DFF14 7F0AB3E4 0FC29BBA */ jal sub_GAME_7F0A6EE8 -/* 0DFF18 7F0AB3E8 AC620004 */ sw $v0, 4($v1) -/* 0DFF1C 7F0AB3EC 3C038004 */ lui $v1, %hi(D_80040B04) -/* 0DFF20 7F0AB3F0 8C630B04 */ lw $v1, %lo(D_80040B04)($v1) -/* 0DFF24 7F0AB3F4 00408025 */ move $s0, $v0 -/* 0DFF28 7F0AB3F8 02002025 */ move $a0, $s0 -/* 0DFF2C 7F0AB3FC 286100E0 */ slti $at, $v1, 0xe0 -/* 0DFF30 7F0AB400 1020000C */ beqz $at, .L7F0AB434 -/* 0DFF34 7F0AB404 27A5037C */ addiu $a1, $sp, 0x37c -/* 0DFF38 7F0AB408 27AE004C */ addiu $t6, $sp, 0x4c -/* 0DFF3C 7F0AB40C 27B802E2 */ addiu $t8, $sp, 0x2e2 -/* 0DFF40 7F0AB410 AFB80014 */ sw $t8, 0x14($sp) -/* 0DFF44 7F0AB414 AFAE0010 */ sw $t6, 0x10($sp) -/* 0DFF48 7F0AB418 00402025 */ move $a0, $v0 -/* 0DFF4C 7F0AB41C 27A5037C */ addiu $a1, $sp, 0x37c -/* 0DFF50 7F0AB420 2466FFFA */ addiu $a2, $v1, -6 -/* 0DFF54 7F0AB424 0FC18D67 */ jal sub_GAME_7F06359C -/* 0DFF58 7F0AB428 24070001 */ li $a3, 1 -/* 0DFF5C 7F0AB42C 10000007 */ b .L7F0AB44C -/* 0DFF60 7F0AB430 00408025 */ move $s0, $v0 -.L7F0AB434: -/* 0DFF64 7F0AB434 27AB02E2 */ addiu $t3, $sp, 0x2e2 -/* 0DFF68 7F0AB438 AFAB0010 */ sw $t3, 0x10($sp) -/* 0DFF6C 7F0AB43C 24060001 */ li $a2, 1 -/* 0DFF70 7F0AB440 0FC190D9 */ jal sub_GAME_7F064364 -/* 0DFF74 7F0AB444 27A7004C */ addiu $a3, $sp, 0x4c -/* 0DFF78 7F0AB448 00408025 */ move $s0, $v0 -.L7F0AB44C: -/* 0DFF7C 7F0AB44C 0FC2935D */ jal controllerCheckDualControllerTypesAllowed -/* 0DFF80 7F0AB450 00000000 */ nop -/* 0DFF84 7F0AB454 10400005 */ beqz $v0, .L7F0AB46C -/* 0DFF88 7F0AB458 00000000 */ nop -/* 0DFF8C 7F0AB45C 0FC2A9F2 */ jal sub_GAME_7F0AA7C8 -/* 0DFF90 7F0AB460 02002025 */ move $a0, $s0 -/* 0DFF94 7F0AB464 10000004 */ b .L7F0AB478 -/* 0DFF98 7F0AB468 00408025 */ move $s0, $v0 -.L7F0AB46C: -/* 0DFF9C 7F0AB46C 0FC2A6AE */ jal sub_GAME_7F0A9AB8 -/* 0DFFA0 7F0AB470 02002025 */ move $a0, $s0 -/* 0DFFA4 7F0AB474 00408025 */ move $s0, $v0 -.L7F0AB478: -/* 0DFFA8 7F0AB478 8FBF0034 */ lw $ra, 0x34($sp) -/* 0DFFAC 7F0AB47C 02001025 */ move $v0, $s0 -/* 0DFFB0 7F0AB480 8FB00030 */ lw $s0, 0x30($sp) -/* 0DFFB4 7F0AB484 03E00008 */ jr $ra -/* 0DFFB8 7F0AB488 27BD0540 */ addiu $sp, $sp, 0x540 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80058550 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80058554 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80058558 -.word 0x43f78000 /*495.0*/ -glabel D_8005855C -.word 0x453b8000 /*3000.0*/ -glabel D_80058560 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80058564 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80058568 -.word 0xc3fc8000 /*-505.0*/ -glabel D_8005856C -.word 0x453b8000 /*3000.0*/ -.text -glabel sub_GAME_7F0AADC0 -/* 0E04F0 7F0AB980 27BDFAC0 */ addiu $sp, $sp, -0x540 -/* 0E04F4 7F0AB984 AFBF0034 */ sw $ra, 0x34($sp) -/* 0E04F8 7F0AB988 AFB00030 */ sw $s0, 0x30($sp) -/* 0E04FC 7F0AB98C 0FC2F8A4 */ jal sub_GAME_7F0BD6E0 -/* 0E0500 7F0AB990 00808025 */ move $s0, $a0 -/* 0E0504 7F0AB994 3C0F8004 */ lui $t7, %hi(D_80040B5C) # $t7, 0x8004 -/* 0E0508 7F0AB998 AFA2053C */ sw $v0, 0x53c($sp) -/* 0E050C 7F0AB99C 25EF0B8C */ addiu $t7, %lo(D_80040B5C) # addiu $t7, $t7, 0xb8c -/* 0E0510 7F0AB9A0 8DE10000 */ lw $at, ($t7) -/* 0E0514 7F0AB9A4 27AE0370 */ addiu $t6, $sp, 0x370 -/* 0E0518 7F0AB9A8 8DE80004 */ lw $t0, 4($t7) -/* 0E051C 7F0AB9AC ADC10000 */ sw $at, ($t6) -/* 0E0520 7F0AB9B0 8DE10008 */ lw $at, 8($t7) -/* 0E0524 7F0AB9B4 3C0B8004 */ lui $t3, %hi(D_80040B68) # $t3, 0x8004 -/* 0E0528 7F0AB9B8 ADC80004 */ sw $t0, 4($t6) -/* 0E052C 7F0AB9BC ADC10008 */ sw $at, 8($t6) -/* 0E0530 7F0AB9C0 24090001 */ li $t1, 1 -/* 0E0534 7F0AB9C4 256B0B98 */ addiu $t3, %lo(D_80040B68) # addiu $t3, $t3, 0xb98 -/* 0E0538 7F0AB9C8 A3A002E3 */ sb $zero, 0x2e3($sp) -/* 0E053C 7F0AB9CC A3A902E2 */ sb $t1, 0x2e2($sp) -/* 0E0540 7F0AB9D0 257900D8 */ addiu $t9, $t3, 0xd8 -/* 0E0544 7F0AB9D4 27AA0204 */ addiu $t2, $sp, 0x204 -.Ljp7F0AB9D8: -/* 0E0548 7F0AB9D8 8D610000 */ lw $at, ($t3) -/* 0E054C 7F0AB9DC 256B000C */ addiu $t3, $t3, 0xc -/* 0E0550 7F0AB9E0 254A000C */ addiu $t2, $t2, 0xc -/* 0E0554 7F0AB9E4 AD41FFF4 */ sw $at, -0xc($t2) -/* 0E0558 7F0AB9E8 8D61FFF8 */ lw $at, -8($t3) -/* 0E055C 7F0AB9EC AD41FFF8 */ sw $at, -8($t2) -/* 0E0560 7F0AB9F0 8D61FFFC */ lw $at, -4($t3) -/* 0E0564 7F0AB9F4 1579FFF8 */ bne $t3, $t9, .Ljp7F0AB9D8 -/* 0E0568 7F0AB9F8 AD41FFFC */ sw $at, -4($t2) -/* 0E056C 7F0AB9FC 8D610000 */ lw $at, ($t3) -/* 0E0570 7F0ABA00 3C0E8004 */ lui $t6, %hi(D_80040BB4+0x90) # $t6, 0x8004 -/* 0E0574 7F0ABA04 25CE0C74 */ addiu $t6, %lo(D_80040BB4+0x90) # addiu $t6, $t6, 0xc74 -/* 0E0578 7F0ABA08 25C900D8 */ addiu $t1, $t6, 0xd8 -/* 0E057C 7F0ABA0C 27B80128 */ addiu $t8, $sp, 0x128 -/* 0E0580 7F0ABA10 AD410000 */ sw $at, ($t2) -.Ljp7F0ABA14: -/* 0E0584 7F0ABA14 8DC10000 */ lw $at, ($t6) -/* 0E0588 7F0ABA18 25CE000C */ addiu $t6, $t6, 0xc -/* 0E058C 7F0ABA1C 2718000C */ addiu $t8, $t8, 0xc -/* 0E0590 7F0ABA20 AF01FFF4 */ sw $at, -0xc($t8) -/* 0E0594 7F0ABA24 8DC1FFF8 */ lw $at, -8($t6) -/* 0E0598 7F0ABA28 AF01FFF8 */ sw $at, -8($t8) -/* 0E059C 7F0ABA2C 8DC1FFFC */ lw $at, -4($t6) -/* 0E05A0 7F0ABA30 15C9FFF8 */ bne $t6, $t1, .Ljp7F0ABA14 -/* 0E05A4 7F0ABA34 AF01FFFC */ sw $at, -4($t8) -/* 0E05A8 7F0ABA38 8DC10000 */ lw $at, ($t6) -/* 0E05AC 7F0ABA3C 3C0C8004 */ lui $t4, %hi(D_80040D20) # $t4, 0x8004 -/* 0E05B0 7F0ABA40 258C0D50 */ addiu $t4, %lo(D_80040D20) # addiu $t4, $t4, 0xd50 -/* 0E05B4 7F0ABA44 258A00D8 */ addiu $t2, $t4, 0xd8 -/* 0E05B8 7F0ABA48 27AD004C */ addiu $t5, $sp, 0x4c -/* 0E05BC 7F0ABA4C AF010000 */ sw $at, ($t8) -.Ljp7F0ABA50: -/* 0E05C0 7F0ABA50 8D810000 */ lw $at, ($t4) -/* 0E05C4 7F0ABA54 258C000C */ addiu $t4, $t4, 0xc -/* 0E05C8 7F0ABA58 25AD000C */ addiu $t5, $t5, 0xc -/* 0E05CC 7F0ABA5C ADA1FFF4 */ sw $at, -0xc($t5) -/* 0E05D0 7F0ABA60 8D81FFF8 */ lw $at, -8($t4) -/* 0E05D4 7F0ABA64 ADA1FFF8 */ sw $at, -8($t5) -/* 0E05D8 7F0ABA68 8D81FFFC */ lw $at, -4($t4) -/* 0E05DC 7F0ABA6C 158AFFF8 */ bne $t4, $t2, .Ljp7F0ABA50 -/* 0E05E0 7F0ABA70 ADA1FFFC */ sw $at, -4($t5) -/* 0E05E4 7F0ABA74 8D810000 */ lw $at, ($t4) -/* 0E05E8 7F0ABA78 3C058004 */ lui $a1, %hi(D_80040B2C) # $a1, 0x8004 -/* 0E05EC 7F0ABA7C 3C068004 */ lui $a2, %hi(D_80040B28) # $a2, 0x8004 -/* 0E05F0 7F0ABA80 3C078004 */ lui $a3, %hi(D_80040B24) # $a3, 0x8004 -/* 0E05F4 7F0ABA84 24E70B54 */ addiu $a3, %lo(D_80040B24) # addiu $a3, $a3, 0xb54 -/* 0E05F8 7F0ABA88 24C60B58 */ addiu $a2, %lo(D_80040B28) # addiu $a2, $a2, 0xb58 -/* 0E05FC 7F0ABA8C 24A50B5C */ addiu $a1, %lo(D_80040B2C) # addiu $a1, $a1, 0xb5c -/* 0E0600 7F0ABA90 00002025 */ move $a0, $zero -/* 0E0604 7F0ABA94 0FC2A891 */ jal sub_GAME_7F0A9684 -/* 0E0608 7F0ABA98 ADA10000 */ sw $at, ($t5) -/* 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) -/* 0E061C 7F0ABAAC 3C018005 */ lui $at, %hi(jpD_800484D0) # $at, 0x8005 -/* 0E0620 7F0ABAB0 C42684D0 */ lwc1 $f6, %lo(jpD_800484D0)($at) -/* 0E0624 7F0ABAB4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0E0628 7F0ABAB8 44815000 */ mtc1 $at, $f10 -/* 0E062C 7F0ABABC 46062202 */ mul.s $f8, $f4, $f6 -/* 0E0630 7F0ABAC0 3C028004 */ lui $v0, %hi(D_80040B24) # $v0, 0x8004 -/* 0E0634 7F0ABAC4 24420B54 */ addiu $v0, %lo(D_80040B24) # addiu $v0, $v0, 0xb54 -/* 0E0638 7F0ABAC8 C4520000 */ lwc1 $f18, ($v0) -/* 0E063C 7F0ABACC 460A4402 */ mul.s $f16, $f8, $f10 -/* 0E0640 7F0ABAD0 46109100 */ add.s $f4, $f18, $f16 -/* 0E0644 7F0ABAD4 E4440000 */ swc1 $f4, ($v0) -/* 0E0648 7F0ABAD8 0FC29D73 */ jal sub_GAME_7F0A6A2C -/* 0E064C 7F0ABADC C44C0000 */ lwc1 $f12, ($v0) -/* 0E0650 7F0ABAE0 3C018004 */ lui $at, %hi(D_80040B24) # $at, 0x8004 -/* 0E0654 7F0ABAE4 E4200B54 */ swc1 $f0, %lo(D_80040B24)($at) -/* 0E0658 7F0ABAE8 C42C0B54 */ lwc1 $f12, %lo(D_80040B24)($at) -/* 0E065C 7F0ABAEC 0FC162EA */ jal sub_GAME_7F058688 -/* 0E0660 7F0ABAF0 27A504BC */ addiu $a1, $sp, 0x4bc -/* 0E0664 7F0ABAF4 3C088004 */ lui $t0, %hi(watch_soundrelated_maybe) # $t0, 0x8004 -/* 0E0668 7F0ABAF8 8D0809D8 */ lw $t0, %lo(watch_soundrelated_maybe)($t0) -/* 0E066C 7F0ABAFC 11000016 */ beqz $t0, .Ljp7F0ABB58 -/* 0E0670 7F0ABB00 3C0F8004 */ lui $t7, %hi(D_80040998) # $t7, 0x8004 -/* 0E0674 7F0ABB04 8DEF09C8 */ lw $t7, %lo(D_80040998)($t7) -/* 0E0678 7F0ABB08 24010001 */ li $at, 1 -/* 0E067C 7F0ABB0C 15E10012 */ bne $t7, $at, .Ljp7F0ABB58 -/* 0E0680 7F0ABB10 00000000 */ nop -/* 0E0684 7F0ABB14 0C003098 */ jal get_cur_controller_vert_stick_pos -/* 0E0688 7F0ABB18 00002025 */ move $a0, $zero -/* 0E068C 7F0ABB1C 44823000 */ mtc1 $v0, $f6 -/* 0E0690 7F0ABB20 3C018004 */ lui $at, %hi(D_80040B20) # $at, 0x8004 -/* 0E0694 7F0ABB24 C42C0B50 */ lwc1 $f12, %lo(D_80040B20)($at) -/* 0E0698 7F0ABB28 46803220 */ cvt.s.w $f8, $f6 -/* 0E069C 7F0ABB2C 3C018006 */ lui $at, %hi(D_80058550) # $at, 0x8006 -/* 0E06A0 7F0ABB30 C42A8590 */ lwc1 $f10, %lo(D_80058550)($at) -/* 0E06A4 7F0ABB34 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0E06A8 7F0ABB38 44818000 */ mtc1 $at, $f16 -/* 0E06AC 7F0ABB3C 3C064080 */ lui $a2, 0x4080 -/* 0E06B0 7F0ABB40 460A4482 */ mul.s $f18, $f8, $f10 -/* 0E06B4 7F0ABB44 0FC2A861 */ jal sub_GAME_7F0A95C4 -/* 0E06B8 7F0ABB48 46109383 */ div.s $f14, $f18, $f16 -/* 0E06BC 7F0ABB4C 3C018004 */ lui $at, %hi(D_80040B20) # $at, 0x8004 -/* 0E06C0 7F0ABB50 10000008 */ b .Ljp7F0ABB74 -/* 0E06C4 7F0ABB54 E4200B50 */ swc1 $f0, %lo(D_80040B20)($at) -.Ljp7F0ABB58: -/* 0E06C8 7F0ABB58 3C018004 */ lui $at, %hi(D_80040B20) # $at, 0x8004 -/* 0E06CC 7F0ABB5C 44807000 */ mtc1 $zero, $f14 -/* 0E06D0 7F0ABB60 C42C0B50 */ lwc1 $f12, %lo(D_80040B20)($at) -/* 0E06D4 7F0ABB64 0FC2A861 */ jal sub_GAME_7F0A95C4 -/* 0E06D8 7F0ABB68 3C064080 */ lui $a2, 0x4080 -/* 0E06DC 7F0ABB6C 3C018004 */ lui $at, %hi(D_80040B20) # $at, 0x8004 -/* 0E06E0 7F0ABB70 E4200B50 */ swc1 $f0, %lo(D_80040B20)($at) -.Ljp7F0ABB74: -/* 0E06E4 7F0ABB74 3C018004 */ lui $at, %hi(D_80040B20) # $at, 0x8004 -/* 0E06E8 7F0ABB78 C4240B50 */ lwc1 $f4, %lo(D_80040B20)($at) -/* 0E06EC 7F0ABB7C 3C018006 */ lui $at, %hi(D_80058554) # $at, 0x8006 -/* 0E06F0 7F0ABB80 C4288594 */ lwc1 $f8, %lo(D_80058554)($at) -/* 0E06F4 7F0ABB84 46002187 */ neg.s $f6, $f4 -/* 0E06F8 7F0ABB88 27A5047C */ addiu $a1, $sp, 0x47c -/* 0E06FC 7F0ABB8C 0FC162A4 */ jal sub_GAME_7F058570 -/* 0E0700 7F0ABB90 46083301 */ sub.s $f12, $f6, $f8 -/* 0E0704 7F0ABB94 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0E0708 7F0ABB98 27A504BC */ addiu $a1, $sp, 0x4bc -/* 0E070C 7F0ABB9C 0FC1617A */ jal sub_GAME_7F0580C8 -/* 0E0710 7F0ABBA0 27A6043C */ addiu $a2, $sp, 0x43c -/* 0E0714 7F0ABBA4 27A4043C */ addiu $a0, $sp, 0x43c -/* 0E0718 7F0ABBA8 27A5047C */ addiu $a1, $sp, 0x47c -/* 0E071C 7F0ABBAC 0FC1617A */ jal sub_GAME_7F0580C8 -/* 0E0720 7F0ABBB0 27A603FC */ addiu $a2, $sp, 0x3fc -/* 0E0724 7F0ABBB4 27A40370 */ addiu $a0, $sp, 0x370 -/* 0E0728 7F0ABBB8 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 0E072C 7F0ABBBC 27A5043C */ addiu $a1, $sp, 0x43c -/* 0E0730 7F0ABBC0 27A4043C */ addiu $a0, $sp, 0x43c -/* 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 controllerCheckDualControllerTypesAllowed -/* 0E0744 7F0ABBD4 00000000 */ nop -/* 0E0748 7F0ABBD8 10400018 */ beqz $v0, .Ljp7F0ABC3C -/* 0E074C 7F0ABBDC 3C01C0A0 */ lui $at, 0xc0a0 -/* 0E0750 7F0ABBE0 3C018006 */ lui $at, %hi(D_80058558) -/* 0E0754 7F0ABBE4 C4208598 */ lwc1 $f0, %lo(D_80058558)($at) -/* 0E0758 7F0ABBE8 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 0E075C 7F0ABBEC 44816000 */ mtc1 $at, $f12 -/* 0E0760 7F0ABBF0 44801000 */ mtc1 $zero, $f2 -/* 0E0764 7F0ABBF4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0E0768 7F0ABBF8 44815000 */ mtc1 $at, $f10 -/* 0E076C 7F0ABBFC 27A90128 */ addiu $t1, $sp, 0x128 -/* 0E0770 7F0ABC00 3C06451C */ lui $a2, (0x451C4000 >> 16) # lui $a2, 0x451c -/* 0E0774 7F0ABC04 44050000 */ mfc1 $a1, $f0 -/* 0E0778 7F0ABC08 44076000 */ mfc1 $a3, $f12 -/* 0E077C 7F0ABC0C AFA902E8 */ sw $t1, 0x2e8($sp) -/* 0E0780 7F0ABC10 34C64000 */ ori $a2, (0x451C4000 & 0xFFFF) # ori $a2, $a2, 0x4000 -/* 0E0784 7F0ABC14 27A4032C */ addiu $a0, $sp, 0x32c -/* 0E0788 7F0ABC18 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0E078C 7F0ABC1C E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0E0790 7F0ABC20 E7A20014 */ swc1 $f2, 0x14($sp) -/* 0E0794 7F0ABC24 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0E0798 7F0ABC28 E7A20020 */ swc1 $f2, 0x20($sp) -/* 0E079C 7F0ABC2C 0FC166ED */ jal sub_GAME_7F059694 -/* 0E07A0 7F0ABC30 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 0E07A4 7F0ABC34 10000017 */ b .Ljp7F0ABC94 -/* 0E07A8 7F0ABC38 27A4032C */ addiu $a0, $sp, 0x32c -.Ljp7F0ABC3C: -/* 0E07AC 7F0ABC3C 44810000 */ mtc1 $at, $f0 -/* 0E07B0 7F0ABC40 3C01C328 */ li $at, 0xC3280000 # -168.000000 -/* 0E07B4 7F0ABC44 44811000 */ mtc1 $at, $f2 -/* 0E07B8 7F0ABC48 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0E07BC 7F0ABC4C 44813000 */ mtc1 $at, $f6 -/* 0E07C0 7F0ABC50 44809000 */ mtc1 $zero, $f18 -/* 0E07C4 7F0ABC54 44808000 */ mtc1 $zero, $f16 -/* 0E07C8 7F0ABC58 44802000 */ mtc1 $zero, $f4 -/* 0E07CC 7F0ABC5C 27AE0204 */ addiu $t6, $sp, 0x204 -/* 0E07D0 7F0ABC60 44050000 */ mfc1 $a1, $f0 -/* 0E07D4 7F0ABC64 44071000 */ mfc1 $a3, $f2 -/* 0E07D8 7F0ABC68 AFAE02E8 */ sw $t6, 0x2e8($sp) -/* 0E07DC 7F0ABC6C 27A4032C */ addiu $a0, $sp, 0x32c -/* 0E07E0 7F0ABC70 3C0644FA */ lui $a2, 0x44fa -/* 0E07E4 7F0ABC74 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0E07E8 7F0ABC78 E7A20018 */ swc1 $f2, 0x18($sp) -/* 0E07EC 7F0ABC7C E7A60024 */ swc1 $f6, 0x24($sp) -/* 0E07F0 7F0ABC80 E7B20014 */ swc1 $f18, 0x14($sp) -/* 0E07F4 7F0ABC84 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 0E07F8 7F0ABC88 0FC166ED */ jal sub_GAME_7F059694 -/* 0E07FC 7F0ABC8C E7A40020 */ swc1 $f4, 0x20($sp) -/* 0E0800 7F0ABC90 27A4032C */ addiu $a0, $sp, 0x32c -.Ljp7F0ABC94: -/* 0E0804 7F0ABC94 27A503BC */ addiu $a1, $sp, 0x3bc -/* 0E0808 7F0ABC98 0FC1617A */ jal sub_GAME_7F0580C8 -/* 0E080C 7F0ABC9C 27A6037C */ addiu $a2, $sp, 0x37c -/* 0E0810 7F0ABCA0 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0E0814 7F0ABCA4 44814000 */ mtc1 $at, $f8 -/* 0E0818 7F0ABCA8 3C018006 */ lui $at, %hi(D_8005855C) # $at, 0x8006 -/* 0E081C 7F0ABCAC C42A859C */ lwc1 $f10, %lo(D_8005855C)($at) -/* 0E0820 7F0ABCB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E0824 7F0ABCB4 44819000 */ mtc1 $at, $f18 -/* 0E0828 7F0ABCB8 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 0E082C 7F0ABCBC 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 0E0830 7F0ABCC0 8FA4053C */ lw $a0, 0x53c($sp) -/* 0E0834 7F0ABCC4 27A5036E */ addiu $a1, $sp, 0x36e -/* 0E0838 7F0ABCC8 3C06424A */ lui $a2, 0x424a -/* 0E083C 7F0ABCCC E7A80010 */ swc1 $f8, 0x10($sp) -/* 0E0840 7F0ABCD0 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 0E0844 7F0ABCD4 0C003FBC */ jal guPerspective -/* 0E0848 7F0ABCD8 E7B20018 */ swc1 $f18, 0x18($sp) -/* 0E084C 7F0ABCDC 3C180103 */ lui $t8, (0x01030040 >> 16) # lui $t8, 0x103 -/* 0E0850 7F0ABCE0 37180040 */ ori $t8, (0x01030040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0E0854 7F0ABCE4 02001825 */ move $v1, $s0 -/* 0E0858 7F0ABCE8 AC780000 */ sw $t8, ($v1) -/* 0E085C 7F0ABCEC AFA30048 */ sw $v1, 0x48($sp) -/* 0E0860 7F0ABCF0 8FA4053C */ lw $a0, 0x53c($sp) -/* 0E0864 7F0ABCF4 0C003A3C */ jal osVirtualToPhysical -/* 0E0868 7F0ABCF8 26100008 */ addiu $s0, $s0, 8 -/* 0E086C 7F0ABCFC 8FA30048 */ lw $v1, 0x48($sp) -/* 0E0870 7F0ABD00 02002025 */ move $a0, $s0 -/* 0E0874 7F0ABD04 0FC29EA0 */ jal sub_GAME_7F0A6EE8 -/* 0E0878 7F0ABD08 AC620004 */ sw $v0, 4($v1) -/* 0E087C 7F0ABD0C 3C038004 */ lui $v1, %hi(D_80040B04) # $v1, 0x8004 -/* 0E0880 7F0ABD10 8C630B34 */ lw $v1, %lo(D_80040B04)($v1) -/* 0E0884 7F0ABD14 00408025 */ move $s0, $v0 -/* 0E0888 7F0ABD18 02002025 */ move $a0, $s0 -/* 0E088C 7F0ABD1C 286100E0 */ slti $at, $v1, 0xe0 -/* 0E0890 7F0ABD20 1020000C */ beqz $at, .Ljp7F0ABD54 -/* 0E0894 7F0ABD24 27A5037C */ addiu $a1, $sp, 0x37c -/* 0E0898 7F0ABD28 8FAB02E8 */ lw $t3, 0x2e8($sp) -/* 0E089C 7F0ABD2C 27B902E3 */ addiu $t9, $sp, 0x2e3 -/* 0E08A0 7F0ABD30 AFB90014 */ sw $t9, 0x14($sp) -/* 0E08A4 7F0ABD34 00402025 */ move $a0, $v0 -/* 0E08A8 7F0ABD38 27A5037C */ addiu $a1, $sp, 0x37c -/* 0E08AC 7F0ABD3C 2466FFFA */ addiu $a2, $v1, -6 -/* 0E08B0 7F0ABD40 24070001 */ li $a3, 1 -/* 0E08B4 7F0ABD44 0FC18EB2 */ jal sub_GAME_7F06359C -/* 0E08B8 7F0ABD48 AFAB0010 */ sw $t3, 0x10($sp) -/* 0E08BC 7F0ABD4C 10000007 */ b .Ljp7F0ABD6C -/* 0E08C0 7F0ABD50 00408025 */ move $s0, $v0 -.Ljp7F0ABD54: -/* 0E08C4 7F0ABD54 27AA02E3 */ addiu $t2, $sp, 0x2e3 -/* 0E08C8 7F0ABD58 AFAA0010 */ sw $t2, 0x10($sp) -/* 0E08CC 7F0ABD5C 24060001 */ li $a2, 1 -/* 0E08D0 7F0ABD60 0FC19224 */ jal sub_GAME_7F064364 -/* 0E08D4 7F0ABD64 8FA702E8 */ lw $a3, 0x2e8($sp) -/* 0E08D8 7F0ABD68 00408025 */ move $s0, $v0 -.Ljp7F0ABD6C: -/* 0E08DC 7F0ABD6C 0FC29645 */ jal controllerCheckDualControllerTypesAllowed -/* 0E08E0 7F0ABD70 00000000 */ nop -/* 0E08E4 7F0ABD74 1040009F */ beqz $v0, .Ljp7F0ABFF4 -/* 0E08E8 7F0ABD78 24040001 */ li $a0, 1 -/* 0E08EC 7F0ABD7C 3C058004 */ lui $a1, %hi(D_80040B3C) # $a1, 0x8004 -/* 0E08F0 7F0ABD80 3C068004 */ lui $a2, %hi(D_80040B38) # $a2, 0x8004 -/* 0E08F4 7F0ABD84 3C078004 */ lui $a3, %hi(D_80040B34) # $a3, 0x8004 -/* 0E08F8 7F0ABD88 24E70B64 */ addiu $a3, %lo(D_80040B34) # addiu $a3, $a3, 0xb64 -/* 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 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) -/* 0E0918 7F0ABDA8 3C018005 */ lui $at, %hi(jpD_800484D0) # $at, 0x8005 -/* 0E091C 7F0ABDAC C42484D0 */ lwc1 $f4, %lo(jpD_800484D0)($at) -/* 0E0920 7F0ABDB0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0E0924 7F0ABDB4 44814000 */ mtc1 $at, $f8 -/* 0E0928 7F0ABDB8 46048182 */ mul.s $f6, $f16, $f4 -/* 0E092C 7F0ABDBC 3C028004 */ lui $v0, %hi(D_80040B34) # $v0, 0x8004 -/* 0E0930 7F0ABDC0 24420B64 */ addiu $v0, %lo(D_80040B34) # addiu $v0, $v0, 0xb64 -/* 0E0934 7F0ABDC4 C4520000 */ lwc1 $f18, ($v0) -/* 0E0938 7F0ABDC8 46083282 */ mul.s $f10, $f6, $f8 -/* 0E093C 7F0ABDCC 460A9400 */ add.s $f16, $f18, $f10 -/* 0E0940 7F0ABDD0 E4500000 */ swc1 $f16, ($v0) -/* 0E0944 7F0ABDD4 0FC29D73 */ jal sub_GAME_7F0A6A2C -/* 0E0948 7F0ABDD8 C44C0000 */ lwc1 $f12, ($v0) -/* 0E094C 7F0ABDDC 3C018004 */ lui $at, %hi(D_80040B34) # $at, 0x8004 -/* 0E0950 7F0ABDE0 E4200B64 */ swc1 $f0, %lo(D_80040B34)($at) -/* 0E0954 7F0ABDE4 C42C0B64 */ lwc1 $f12, %lo(D_80040B34)($at) -/* 0E0958 7F0ABDE8 0FC162EA */ jal sub_GAME_7F058688 -/* 0E095C 7F0ABDEC 27A504BC */ addiu $a1, $sp, 0x4bc -/* 0E0960 7F0ABDF0 3C0C8004 */ lui $t4, %hi(watch_soundrelated_maybe) # $t4, 0x8004 -/* 0E0964 7F0ABDF4 8D8C09D8 */ lw $t4, %lo(watch_soundrelated_maybe)($t4) -/* 0E0968 7F0ABDF8 11800016 */ beqz $t4, .Ljp7F0ABE54 -/* 0E096C 7F0ABDFC 3C0D8004 */ lui $t5, %hi(D_80040998) # $t5, 0x8004 -/* 0E0970 7F0ABE00 8DAD09C8 */ lw $t5, %lo(D_80040998)($t5) -/* 0E0974 7F0ABE04 24010001 */ li $at, 1 -/* 0E0978 7F0ABE08 15A10012 */ bne $t5, $at, .Ljp7F0ABE54 -/* 0E097C 7F0ABE0C 00000000 */ nop -/* 0E0980 7F0ABE10 0C003098 */ jal get_cur_controller_vert_stick_pos -/* 0E0984 7F0ABE14 24040001 */ li $a0, 1 -/* 0E0988 7F0ABE18 44822000 */ mtc1 $v0, $f4 -/* 0E098C 7F0ABE1C 3C018004 */ lui $at, %hi(D_80040B30) # $at, 0x8004 -/* 0E0990 7F0ABE20 C42C0B60 */ lwc1 $f12, %lo(D_80040B30)($at) -/* 0E0994 7F0ABE24 468021A0 */ cvt.s.w $f6, $f4 -/* 0E0998 7F0ABE28 3C018006 */ lui $at, %hi(D_80058560) # $at, 0x8006 -/* 0E099C 7F0ABE2C C42885A0 */ lwc1 $f8, %lo(D_80058560)($at) -/* 0E09A0 7F0ABE30 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0E09A4 7F0ABE34 44815000 */ mtc1 $at, $f10 -/* 0E09A8 7F0ABE38 3C064080 */ lui $a2, 0x4080 -/* 0E09AC 7F0ABE3C 46083482 */ mul.s $f18, $f6, $f8 -/* 0E09B0 7F0ABE40 0FC2A861 */ jal sub_GAME_7F0A95C4 -/* 0E09B4 7F0ABE44 460A9383 */ div.s $f14, $f18, $f10 -/* 0E09B8 7F0ABE48 3C018004 */ lui $at, %hi(D_80040B30) # $at, 0x8004 -/* 0E09BC 7F0ABE4C 10000008 */ b .Ljp7F0ABE70 -/* 0E09C0 7F0ABE50 E4200B60 */ swc1 $f0, %lo(D_80040B30)($at) -.Ljp7F0ABE54: -/* 0E09C4 7F0ABE54 3C018004 */ lui $at, %hi(D_80040B30) # $at, 0x8004 -/* 0E09C8 7F0ABE58 44807000 */ mtc1 $zero, $f14 -/* 0E09CC 7F0ABE5C C42C0B60 */ lwc1 $f12, %lo(D_80040B30)($at) -/* 0E09D0 7F0ABE60 0FC2A861 */ jal sub_GAME_7F0A95C4 -/* 0E09D4 7F0ABE64 3C064080 */ lui $a2, 0x4080 -/* 0E09D8 7F0ABE68 3C018004 */ lui $at, %hi(D_80040B30) # $at, 0x8004 -/* 0E09DC 7F0ABE6C E4200B60 */ swc1 $f0, %lo(D_80040B30)($at) -.Ljp7F0ABE70: -/* 0E09E0 7F0ABE70 3C018004 */ lui $at, %hi(D_80040B30) # $at, 0x8004 -/* 0E09E4 7F0ABE74 C4300B60 */ lwc1 $f16, %lo(D_80040B30)($at) -/* 0E09E8 7F0ABE78 3C018006 */ lui $at, %hi(D_80058564) # $at, 0x8006 -/* 0E09EC 7F0ABE7C C42685A4 */ lwc1 $f6, %lo(D_80058564)($at) -/* 0E09F0 7F0ABE80 46008107 */ neg.s $f4, $f16 -/* 0E09F4 7F0ABE84 27A5047C */ addiu $a1, $sp, 0x47c -/* 0E09F8 7F0ABE88 0FC162A4 */ jal sub_GAME_7F058570 -/* 0E09FC 7F0ABE8C 46062301 */ sub.s $f12, $f4, $f6 -/* 0E0A00 7F0ABE90 27A404FC */ addiu $a0, $sp, 0x4fc -/* 0E0A04 7F0ABE94 27A504BC */ addiu $a1, $sp, 0x4bc -/* 0E0A08 7F0ABE98 0FC1617A */ jal sub_GAME_7F0580C8 -/* 0E0A0C 7F0ABE9C 27A6043C */ addiu $a2, $sp, 0x43c -/* 0E0A10 7F0ABEA0 27A4043C */ addiu $a0, $sp, 0x43c -/* 0E0A14 7F0ABEA4 27A5047C */ addiu $a1, $sp, 0x47c -/* 0E0A18 7F0ABEA8 0FC1617A */ jal sub_GAME_7F0580C8 -/* 0E0A1C 7F0ABEAC 27A603FC */ addiu $a2, $sp, 0x3fc -/* 0E0A20 7F0ABEB0 27A40370 */ addiu $a0, $sp, 0x370 -/* 0E0A24 7F0ABEB4 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 0E0A28 7F0ABEB8 27A5043C */ addiu $a1, $sp, 0x43c -/* 0E0A2C 7F0ABEBC 27A4043C */ addiu $a0, $sp, 0x43c -/* 0E0A30 7F0ABEC0 27A503FC */ addiu $a1, $sp, 0x3fc -/* 0E0A34 7F0ABEC4 0FC1617A */ jal sub_GAME_7F0580C8 -/* 0E0A38 7F0ABEC8 27A603BC */ addiu $a2, $sp, 0x3bc -/* 0E0A3C 7F0ABECC 3C018006 */ lui $at, %hi(D_80058568) # $at, 0x8006 -/* 0E0A40 7F0ABED0 C42085A8 */ lwc1 $f0, %lo(D_80058568)($at) -/* 0E0A44 7F0ABED4 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 0E0A48 7F0ABED8 44801000 */ mtc1 $zero, $f2 -/* 0E0A4C 7F0ABEDC 44814000 */ mtc1 $at, $f8 -/* 0E0A50 7F0ABEE0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0E0A54 7F0ABEE4 44819000 */ mtc1 $at, $f18 -/* 0E0A58 7F0ABEE8 3C06451C */ lui $a2, (0x451C4000 >> 16) # lui $a2, 0x451c -/* 0E0A5C 7F0ABEEC 44050000 */ mfc1 $a1, $f0 -/* 0E0A60 7F0ABEF0 34C64000 */ ori $a2, (0x451C4000 & 0xFFFF) # ori $a2, $a2, 0x4000 -/* 0E0A64 7F0ABEF4 27A402EC */ addiu $a0, $sp, 0x2ec -/* 0E0A68 7F0ABEF8 3C074200 */ lui $a3, 0x4200 -/* 0E0A6C 7F0ABEFC E7A00010 */ swc1 $f0, 0x10($sp) -/* 0E0A70 7F0ABF00 E7A20014 */ swc1 $f2, 0x14($sp) -/* 0E0A74 7F0ABF04 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0E0A78 7F0ABF08 E7A20020 */ swc1 $f2, 0x20($sp) -/* 0E0A7C 7F0ABF0C E7A80018 */ swc1 $f8, 0x18($sp) -/* 0E0A80 7F0ABF10 0FC166ED */ jal sub_GAME_7F059694 -/* 0E0A84 7F0ABF14 E7B20024 */ swc1 $f18, 0x24($sp) -/* 0E0A88 7F0ABF18 27A402EC */ addiu $a0, $sp, 0x2ec -/* 0E0A8C 7F0ABF1C 27A503BC */ addiu $a1, $sp, 0x3bc -/* 0E0A90 7F0ABF20 0FC1617A */ jal sub_GAME_7F0580C8 -/* 0E0A94 7F0ABF24 27A6037C */ addiu $a2, $sp, 0x37c -/* 0E0A98 7F0ABF28 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0E0A9C 7F0ABF2C 44815000 */ mtc1 $at, $f10 -/* 0E0AA0 7F0ABF30 3C018006 */ lui $at, %hi(D_8005856C) # $at, 0x8006 -/* 0E0AA4 7F0ABF34 C43085AC */ lwc1 $f16, %lo(D_8005856C)($at) -/* 0E0AA8 7F0ABF38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0E0AAC 7F0ABF3C 44812000 */ mtc1 $at, $f4 -/* 0E0AB0 7F0ABF40 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 0E0AB4 7F0ABF44 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 0E0AB8 7F0ABF48 8FA4053C */ lw $a0, 0x53c($sp) -/* 0E0ABC 7F0ABF4C 27A5036E */ addiu $a1, $sp, 0x36e -/* 0E0AC0 7F0ABF50 3C06424A */ lui $a2, 0x424a -/* 0E0AC4 7F0ABF54 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0E0AC8 7F0ABF58 E7B00014 */ swc1 $f16, 0x14($sp) -/* 0E0ACC 7F0ABF5C 0C003FBC */ jal guPerspective -/* 0E0AD0 7F0ABF60 E7A40018 */ swc1 $f4, 0x18($sp) -/* 0E0AD4 7F0ABF64 3C080103 */ lui $t0, (0x01030040 >> 16) # lui $t0, 0x103 -/* 0E0AD8 7F0ABF68 35080040 */ ori $t0, (0x01030040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 0E0ADC 7F0ABF6C 02001825 */ move $v1, $s0 -/* 0E0AE0 7F0ABF70 AC680000 */ sw $t0, ($v1) -/* 0E0AE4 7F0ABF74 AFA30044 */ sw $v1, 0x44($sp) -/* 0E0AE8 7F0ABF78 8FA4053C */ lw $a0, 0x53c($sp) -/* 0E0AEC 7F0ABF7C 0C003A3C */ jal osVirtualToPhysical -/* 0E0AF0 7F0ABF80 26100008 */ addiu $s0, $s0, 8 -/* 0E0AF4 7F0ABF84 8FA30044 */ lw $v1, 0x44($sp) -/* 0E0AF8 7F0ABF88 02002025 */ move $a0, $s0 -/* 0E0AFC 7F0ABF8C 0FC29EA0 */ jal sub_GAME_7F0A6EE8 -/* 0E0B00 7F0ABF90 AC620004 */ sw $v0, 4($v1) -/* 0E0B04 7F0ABF94 3C038004 */ lui $v1, %hi(D_80040B04) # $v1, 0x8004 -/* 0E0B08 7F0ABF98 8C630B34 */ lw $v1, %lo(D_80040B04)($v1) -/* 0E0B0C 7F0ABF9C 00408025 */ move $s0, $v0 -/* 0E0B10 7F0ABFA0 02002025 */ move $a0, $s0 -/* 0E0B14 7F0ABFA4 286100E0 */ slti $at, $v1, 0xe0 -/* 0E0B18 7F0ABFA8 1020000C */ beqz $at, .Ljp7F0ABFDC -/* 0E0B1C 7F0ABFAC 27A5037C */ addiu $a1, $sp, 0x37c -/* 0E0B20 7F0ABFB0 27AF004C */ addiu $t7, $sp, 0x4c -/* 0E0B24 7F0ABFB4 27A902E2 */ addiu $t1, $sp, 0x2e2 -/* 0E0B28 7F0ABFB8 AFA90014 */ sw $t1, 0x14($sp) -/* 0E0B2C 7F0ABFBC AFAF0010 */ sw $t7, 0x10($sp) -/* 0E0B30 7F0ABFC0 00402025 */ move $a0, $v0 -/* 0E0B34 7F0ABFC4 27A5037C */ addiu $a1, $sp, 0x37c -/* 0E0B38 7F0ABFC8 2466FFFA */ addiu $a2, $v1, -6 -/* 0E0B3C 7F0ABFCC 0FC18EB2 */ jal sub_GAME_7F06359C -/* 0E0B40 7F0ABFD0 24070001 */ li $a3, 1 -/* 0E0B44 7F0ABFD4 10000007 */ b .Ljp7F0ABFF4 -/* 0E0B48 7F0ABFD8 00408025 */ move $s0, $v0 -.Ljp7F0ABFDC: -/* 0E0B4C 7F0ABFDC 27AE02E2 */ addiu $t6, $sp, 0x2e2 -/* 0E0B50 7F0ABFE0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0E0B54 7F0ABFE4 24060001 */ li $a2, 1 -/* 0E0B58 7F0ABFE8 0FC19224 */ jal sub_GAME_7F064364 -/* 0E0B5C 7F0ABFEC 27A7004C */ addiu $a3, $sp, 0x4c -/* 0E0B60 7F0ABFF0 00408025 */ move $s0, $v0 -.Ljp7F0ABFF4: -/* 0E0B64 7F0ABFF4 0FC29645 */ jal controllerCheckDualControllerTypesAllowed -/* 0E0B68 7F0ABFF8 00000000 */ nop -/* 0E0B6C 7F0ABFFC 10400005 */ beqz $v0, .Ljp7F0AC014 -/* 0E0B70 7F0AC000 00000000 */ nop -/* 0E0B74 7F0AC004 0FC2ACE2 */ jal sub_GAME_7F0AA7C8 -/* 0E0B78 7F0AC008 02002025 */ move $a0, $s0 -/* 0E0B7C 7F0AC00C 10000004 */ b .Ljp7F0AC020 -/* 0E0B80 7F0AC010 00408025 */ move $s0, $v0 -.Ljp7F0AC014: -/* 0E0B84 7F0AC014 0FC2A99E */ jal sub_GAME_7F0A9AB8 -/* 0E0B88 7F0AC018 02002025 */ move $a0, $s0 -/* 0E0B8C 7F0AC01C 00408025 */ move $s0, $v0 -.Ljp7F0AC020: -/* 0E0B90 7F0AC020 8FBF0034 */ lw $ra, 0x34($sp) -/* 0E0B94 7F0AC024 02001025 */ move $v0, $s0 -/* 0E0B98 7F0AC028 8FB00030 */ lw $s0, 0x30($sp) -/* 0E0B9C 7F0AC02C 03E00008 */ jr $ra -/* 0E0BA0 7F0AC030 27BD0540 */ addiu $sp, $sp, 0x540 -) -#endif - -#endif - - - - - -void zero_D_80040998(void) { - D_80040998 = 0; -} - -void zero_D_8004099C(void) { - D_8004099C = 0; -} - -void zero_D_800409A4(void) { - D_800409A4 = 0; -} - -u32 return_arg0_7F0AB4B0(u32 uParm1) { - return uParm1; -} - - - - - -#ifdef NONMATCHING -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( -.text -glabel sub_GAME_7F0AB4B8 -/* 0DFFE8 7F0AB4B8 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0DFFEC 7F0AB4BC AFBF0044 */ sw $ra, 0x44($sp) -/* 0DFFF0 7F0AB4C0 AFB20040 */ sw $s2, 0x40($sp) -/* 0DFFF4 7F0AB4C4 AFB1003C */ sw $s1, 0x3c($sp) -/* 0DFFF8 7F0AB4C8 AFB00038 */ sw $s0, 0x38($sp) -/* 0DFFFC 7F0AB4CC 0FC29C53 */ jal sub_GAME_7F0A714C -/* 0E0000 7F0AB4D0 00003025 */ move $a2, $zero -/* 0E0004 7F0AB4D4 0FC1F97F */ jal check_watch_page_transistion_running -/* 0E0008 7F0AB4D8 00408025 */ move $s0, $v0 -/* 0E000C 7F0AB4DC 24010001 */ li $at, 1 -/* 0E0010 7F0AB4E0 504100AA */ beql $v0, $at, .L7F0AB78C -/* 0E0014 7F0AB4E4 8FBF0044 */ lw $ra, 0x44($sp) -/* 0E0018 7F0AB4E8 0FC2AB70 */ jal sub_GAME_7F0AADC0 -/* 0E001C 7F0AB4EC 02002025 */ move $a0, $s0 -/* 0E0020 7F0AB4F0 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0E0024 7F0AB4F4 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0E0028 7F0AB4F8 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0E002C 7F0AB4FC 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0E0030 7F0AB500 00402025 */ move $a0, $v0 -/* 0E0034 7F0AB504 AFAE004C */ sw $t6, 0x4c($sp) -/* 0E0038 7F0AB508 0FC2B366 */ jal microcode_constructor -/* 0E003C 7F0AB50C AFAF0048 */ sw $t7, 0x48($sp) -/* 0E0040 7F0AB510 00408025 */ move $s0, $v0 -/* 0E0044 7F0AB514 0FC30776 */ jal get_textptr_for_textID -/* 0E0048 7F0AB518 3404AC32 */ li $a0, 44082 -/* 0E004C 7F0AB51C 3C088004 */ lui $t0, %hi(D_80040998) -/* 0E0050 7F0AB520 8D080998 */ lw $t0, %lo(D_80040998)($t0) -/* 0E0054 7F0AB524 24180040 */ li $t8, 64 -/* 0E0058 7F0AB528 2419001A */ li $t9, 26 -/* 0E005C 7F0AB52C 3C1100FF */ lui $s1, (0x00FF00B0 >> 16) # lui $s1, 0xff -/* 0E0060 7F0AB530 00409025 */ move $s2, $v0 -/* 0E0064 7F0AB534 AFB8005C */ sw $t8, 0x5c($sp) -/* 0E0068 7F0AB538 AFB90058 */ sw $t9, 0x58($sp) -/* 0E006C 7F0AB53C 15000008 */ bnez $t0, .L7F0AB560 -/* 0E0070 7F0AB540 363100B0 */ ori $s1, (0x00FF00B0 & 0xFFFF) # ori $s1, $s1, 0xb0 -/* 0E0074 7F0AB544 3C098004 */ lui $t1, %hi(watch_soundrelated_maybe) -/* 0E0078 7F0AB548 8D2909A8 */ lw $t1, %lo(watch_soundrelated_maybe)($t1) -/* 0E007C 7F0AB54C 3C11A0FF */ lui $s1, (0xA0FFA0F0 >> 16) # lui $s1, 0xa0ff -/* 0E0080 7F0AB550 3631A0F0 */ ori $s1, (0xA0FFA0F0 & 0xFFFF) # ori $s1, $s1, 0xa0f0 -/* 0E0084 7F0AB554 51200003 */ beql $t1, $zero, .L7F0AB564 -/* 0E0088 7F0AB558 8FAA004C */ lw $t2, 0x4c($sp) -/* 0E008C 7F0AB55C 2411FFFF */ li $s1, -1 -.L7F0AB560: -/* 0E0090 7F0AB560 8FAA004C */ lw $t2, 0x4c($sp) -.L7F0AB564: -/* 0E0094 7F0AB564 27A40050 */ addiu $a0, $sp, 0x50 -/* 0E0098 7F0AB568 27A50054 */ addiu $a1, $sp, 0x54 -/* 0E009C 7F0AB56C 02403025 */ move $a2, $s2 -/* 0E00A0 7F0AB570 8FA70048 */ lw $a3, 0x48($sp) -/* 0E00A4 7F0AB574 AFA00014 */ sw $zero, 0x14($sp) -/* 0E00A8 7F0AB578 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E00AC 7F0AB57C AFAA0010 */ sw $t2, 0x10($sp) -/* 0E00B0 7F0AB580 3C0B8004 */ lui $t3, %hi(watch_soundrelated_maybe) -/* 0E00B4 7F0AB584 8D6B09A8 */ lw $t3, %lo(watch_soundrelated_maybe)($t3) -/* 0E00B8 7F0AB588 3C0C8004 */ lui $t4, %hi(D_80040998) -/* 0E00BC 7F0AB58C 02002025 */ move $a0, $s0 -/* 0E00C0 7F0AB590 1160001B */ beqz $t3, .L7F0AB600 -/* 0E00C4 7F0AB594 27A5005C */ addiu $a1, $sp, 0x5c -/* 0E00C8 7F0AB598 8D8C0998 */ lw $t4, %lo(D_80040998)($t4) -/* 0E00CC 7F0AB59C 27A60058 */ addiu $a2, $sp, 0x58 -/* 0E00D0 7F0AB5A0 02403825 */ move $a3, $s2 -/* 0E00D4 7F0AB5A4 15800016 */ bnez $t4, .L7F0AB600 -/* 0E00D8 7F0AB5A8 8FAD0048 */ lw $t5, 0x48($sp) -/* 0E00DC 7F0AB5AC 8FB80054 */ lw $t8, 0x54($sp) -/* 0E00E0 7F0AB5B0 8FAE004C */ lw $t6, 0x4c($sp) -/* 0E00E4 7F0AB5B4 8FA80050 */ lw $t0, 0x50($sp) -/* 0E00E8 7F0AB5B8 AFB10018 */ sw $s1, 0x18($sp) -/* 0E00EC 7F0AB5BC 3C0F0070 */ lui $t7, (0x007000A0 >> 16) # lui $t7, 0x70 -/* 0E00F0 7F0AB5C0 35EF00A0 */ ori $t7, (0x007000A0 & 0xFFFF) # ori $t7, $t7, 0xa0 -/* 0E00F4 7F0AB5C4 3C1100FF */ lui $s1, (0x00FF00B0 >> 16) # lui $s1, 0xff -/* 0E00F8 7F0AB5C8 27190001 */ addiu $t9, $t8, 1 -/* 0E00FC 7F0AB5CC AFB90020 */ sw $t9, 0x20($sp) -/* 0E0100 7F0AB5D0 363100B0 */ ori $s1, (0x00FF00B0 & 0xFFFF) # ori $s1, $s1, 0xb0 -/* 0E0104 7F0AB5D4 AFAF001C */ sw $t7, 0x1c($sp) -/* 0E0108 7F0AB5D8 02002025 */ move $a0, $s0 -/* 0E010C 7F0AB5DC 27A5005C */ addiu $a1, $sp, 0x5c -/* 0E0110 7F0AB5E0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0E0114 7F0AB5E4 AFA00028 */ sw $zero, 0x28($sp) -/* 0E0118 7F0AB5E8 AFA0002C */ sw $zero, 0x2c($sp) -/* 0E011C 7F0AB5EC AFAE0014 */ sw $t6, 0x14($sp) -/* 0E0120 7F0AB5F0 0FC2B9BB */ jal jp_text_write_stuff -/* 0E0124 7F0AB5F4 AFA80024 */ sw $t0, 0x24($sp) -/* 0E0128 7F0AB5F8 10000012 */ b .L7F0AB644 -/* 0E012C 7F0AB5FC 00408025 */ move $s0, $v0 -.L7F0AB600: -/* 0E0130 7F0AB600 8FA90048 */ lw $t1, 0x48($sp) -/* 0E0134 7F0AB604 8FAA004C */ lw $t2, 0x4c($sp) -/* 0E0138 7F0AB608 8FAB0054 */ lw $t3, 0x54($sp) -/* 0E013C 7F0AB60C 8FAC0050 */ lw $t4, 0x50($sp) -/* 0E0140 7F0AB610 AFB10018 */ sw $s1, 0x18($sp) -/* 0E0144 7F0AB614 3C1100FF */ lui $s1, (0x00FF00B0 >> 16) # lui $s1, 0xff -/* 0E0148 7F0AB618 363100B0 */ ori $s1, (0x00FF00B0 & 0xFFFF) # ori $s1, $s1, 0xb0 -/* 0E014C 7F0AB61C 27A60058 */ addiu $a2, $sp, 0x58 -/* 0E0150 7F0AB620 02403825 */ move $a3, $s2 -/* 0E0154 7F0AB624 AFA00024 */ sw $zero, 0x24($sp) -/* 0E0158 7F0AB628 AFA00028 */ sw $zero, 0x28($sp) -/* 0E015C 7F0AB62C AFA90010 */ sw $t1, 0x10($sp) -/* 0E0160 7F0AB630 AFAA0014 */ sw $t2, 0x14($sp) -/* 0E0164 7F0AB634 AFAB001C */ sw $t3, 0x1c($sp) -/* 0E0168 7F0AB638 0FC2B6AF */ jal en_text_write_stuff -/* 0E016C 7F0AB63C AFAC0020 */ sw $t4, 0x20($sp) -/* 0E0170 7F0AB640 00408025 */ move $s0, $v0 -.L7F0AB644: -/* 0E0174 7F0AB644 0FC2A5F4 */ jal sub_GAME_7F0A97D0 -/* 0E0178 7F0AB648 02002025 */ move $a0, $s0 -/* 0E017C 7F0AB64C 00408025 */ move $s0, $v0 -/* 0E0180 7F0AB650 0FC30776 */ jal get_textptr_for_textID -/* 0E0184 7F0AB654 3404AC33 */ li $a0, 44083 -/* 0E0188 7F0AB658 0FC2935D */ jal controllerCheckDualControllerTypesAllowed -/* 0E018C 7F0AB65C 00409025 */ move $s2, $v0 -/* 0E0190 7F0AB660 10400004 */ beqz $v0, .L7F0AB674 -/* 0E0194 7F0AB664 00000000 */ nop -/* 0E0198 7F0AB668 0FC30776 */ jal get_textptr_for_textID -/* 0E019C 7F0AB66C 3404AC34 */ li $a0, 44084 -/* 0E01A0 7F0AB670 00409025 */ move $s2, $v0 -.L7F0AB674: -/* 0E01A4 7F0AB674 3C0F8004 */ lui $t7, %hi(D_80040998) -/* 0E01A8 7F0AB678 8DEF0998 */ lw $t7, %lo(D_80040998)($t7) -/* 0E01AC 7F0AB67C 240D0040 */ li $t5, 64 -/* 0E01B0 7F0AB680 240E002B */ li $t6, 43 -/* 0E01B4 7F0AB684 24010001 */ li $at, 1 -/* 0E01B8 7F0AB688 AFAD005C */ sw $t5, 0x5c($sp) -/* 0E01BC 7F0AB68C 15E10008 */ bne $t7, $at, .L7F0AB6B0 -/* 0E01C0 7F0AB690 AFAE0058 */ sw $t6, 0x58($sp) -/* 0E01C4 7F0AB694 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0E01C8 7F0AB698 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0E01CC 7F0AB69C 3C11A0FF */ lui $s1, (0xA0FFA0F0 >> 16) # lui $s1, 0xa0ff -/* 0E01D0 7F0AB6A0 3631A0F0 */ ori $s1, (0xA0FFA0F0 & 0xFFFF) # ori $s1, $s1, 0xa0f0 -/* 0E01D4 7F0AB6A4 53000003 */ beql $t8, $zero, .L7F0AB6B4 -/* 0E01D8 7F0AB6A8 8FB9004C */ lw $t9, 0x4c($sp) -/* 0E01DC 7F0AB6AC 2411FFFF */ li $s1, -1 -.L7F0AB6B0: -/* 0E01E0 7F0AB6B0 8FB9004C */ lw $t9, 0x4c($sp) -.L7F0AB6B4: -/* 0E01E4 7F0AB6B4 27A40050 */ addiu $a0, $sp, 0x50 -/* 0E01E8 7F0AB6B8 27A50054 */ addiu $a1, $sp, 0x54 -/* 0E01EC 7F0AB6BC 02403025 */ move $a2, $s2 -/* 0E01F0 7F0AB6C0 8FA70048 */ lw $a3, 0x48($sp) -/* 0E01F4 7F0AB6C4 AFA00014 */ sw $zero, 0x14($sp) -/* 0E01F8 7F0AB6C8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E01FC 7F0AB6CC AFB90010 */ sw $t9, 0x10($sp) -/* 0E0200 7F0AB6D0 3C088004 */ lui $t0, %hi(watch_soundrelated_maybe) -/* 0E0204 7F0AB6D4 8D0809A8 */ lw $t0, %lo(watch_soundrelated_maybe)($t0) -/* 0E0208 7F0AB6D8 3C098004 */ lui $t1, %hi(D_80040998) -/* 0E020C 7F0AB6DC 02002025 */ move $a0, $s0 -/* 0E0210 7F0AB6E0 1100001A */ beqz $t0, .L7F0AB74C -/* 0E0214 7F0AB6E4 27A5005C */ addiu $a1, $sp, 0x5c -/* 0E0218 7F0AB6E8 8D290998 */ lw $t1, %lo(D_80040998)($t1) -/* 0E021C 7F0AB6EC 24010001 */ li $at, 1 -/* 0E0220 7F0AB6F0 27A60058 */ addiu $a2, $sp, 0x58 -/* 0E0224 7F0AB6F4 15210015 */ bne $t1, $at, .L7F0AB74C -/* 0E0228 7F0AB6F8 02403825 */ move $a3, $s2 -/* 0E022C 7F0AB6FC 8FAD0054 */ lw $t5, 0x54($sp) -/* 0E0230 7F0AB700 8FAA0048 */ lw $t2, 0x48($sp) -/* 0E0234 7F0AB704 8FAB004C */ lw $t3, 0x4c($sp) -/* 0E0238 7F0AB708 8FAF0050 */ lw $t7, 0x50($sp) -/* 0E023C 7F0AB70C 3C0C0070 */ lui $t4, (0x007000A0 >> 16) # lui $t4, 0x70 -/* 0E0240 7F0AB710 358C00A0 */ ori $t4, (0x007000A0 & 0xFFFF) # ori $t4, $t4, 0xa0 -/* 0E0244 7F0AB714 25AE0001 */ addiu $t6, $t5, 1 -/* 0E0248 7F0AB718 AFAE0020 */ sw $t6, 0x20($sp) -/* 0E024C 7F0AB71C AFAC001C */ sw $t4, 0x1c($sp) -/* 0E0250 7F0AB720 02002025 */ move $a0, $s0 -/* 0E0254 7F0AB724 27A5005C */ addiu $a1, $sp, 0x5c -/* 0E0258 7F0AB728 AFB10018 */ sw $s1, 0x18($sp) -/* 0E025C 7F0AB72C AFA00028 */ sw $zero, 0x28($sp) -/* 0E0260 7F0AB730 AFA0002C */ sw $zero, 0x2c($sp) -/* 0E0264 7F0AB734 AFAA0010 */ sw $t2, 0x10($sp) -/* 0E0268 7F0AB738 AFAB0014 */ sw $t3, 0x14($sp) -/* 0E026C 7F0AB73C 0FC2B9BB */ jal jp_text_write_stuff -/* 0E0270 7F0AB740 AFAF0024 */ sw $t7, 0x24($sp) -/* 0E0274 7F0AB744 10000010 */ b .L7F0AB788 -/* 0E0278 7F0AB748 00408025 */ move $s0, $v0 -.L7F0AB74C: -/* 0E027C 7F0AB74C 8FB80048 */ lw $t8, 0x48($sp) -/* 0E0280 7F0AB750 8FB9004C */ lw $t9, 0x4c($sp) -/* 0E0284 7F0AB754 8FA80054 */ lw $t0, 0x54($sp) -/* 0E0288 7F0AB758 8FA90050 */ lw $t1, 0x50($sp) -/* 0E028C 7F0AB75C 27A60058 */ addiu $a2, $sp, 0x58 -/* 0E0290 7F0AB760 02403825 */ move $a3, $s2 -/* 0E0294 7F0AB764 AFB10018 */ sw $s1, 0x18($sp) -/* 0E0298 7F0AB768 AFA00024 */ sw $zero, 0x24($sp) -/* 0E029C 7F0AB76C AFA00028 */ sw $zero, 0x28($sp) -/* 0E02A0 7F0AB770 AFB80010 */ sw $t8, 0x10($sp) -/* 0E02A4 7F0AB774 AFB90014 */ sw $t9, 0x14($sp) -/* 0E02A8 7F0AB778 AFA8001C */ sw $t0, 0x1c($sp) -/* 0E02AC 7F0AB77C 0FC2B6AF */ jal en_text_write_stuff -/* 0E02B0 7F0AB780 AFA90020 */ sw $t1, 0x20($sp) -/* 0E02B4 7F0AB784 00408025 */ move $s0, $v0 -.L7F0AB788: -/* 0E02B8 7F0AB788 8FBF0044 */ lw $ra, 0x44($sp) -.L7F0AB78C: -/* 0E02BC 7F0AB78C 02001025 */ move $v0, $s0 -/* 0E02C0 7F0AB790 8FB00038 */ lw $s0, 0x38($sp) -/* 0E02C4 7F0AB794 8FB1003C */ lw $s1, 0x3c($sp) -/* 0E02C8 7F0AB798 8FB20040 */ lw $s2, 0x40($sp) -/* 0E02CC 7F0AB79C 03E00008 */ jr $ra -/* 0E02D0 7F0AB7A0 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - - -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); -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AB7D8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AB7D8 -/* 0E0308 7F0AB7D8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E030C 7F0AB7DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0E0310 7F0AB7E0 AFA40018 */ sw $a0, 0x18($sp) -/* 0E0314 7F0AB7E4 00002025 */ move $a0, $zero -/* 0E0318 7F0AB7E8 0C0030EB */ jal get_controller_buttons_pressed -/* 0E031C 7F0AB7EC 24050222 */ li $a1, 546 -/* 0E0320 7F0AB7F0 14400004 */ bnez $v0, .L7F0AB804 -/* 0E0324 7F0AB7F4 00000000 */ nop -/* 0E0328 7F0AB7F8 0FC293EC */ jal sub_GAME_7F0A4FB0 -/* 0E032C 7F0AB7FC 00000000 */ nop -/* 0E0330 7F0AB800 1040001A */ beqz $v0, .L7F0AB86C -.L7F0AB804: -/* 0E0334 7F0AB804 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0E0338 7F0AB808 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0E033C 7F0AB80C 8FAF0018 */ lw $t7, 0x18($sp) -/* 0E0340 7F0AB810 3C198004 */ lui $t9, %hi(D_80040A7C) -/* 0E0344 7F0AB814 11C00015 */ beqz $t6, .L7F0AB86C -/* 0E0348 7F0AB818 000FC080 */ sll $t8, $t7, 2 -/* 0E034C 7F0AB81C 030FC023 */ subu $t8, $t8, $t7 -/* 0E0350 7F0AB820 0018C080 */ sll $t8, $t8, 2 -/* 0E0354 7F0AB824 27390A7C */ addiu $t9, %lo(D_80040A7C) # addiu $t9, $t9, 0xa7c -/* 0E0358 7F0AB828 03191021 */ addu $v0, $t8, $t9 -/* 0E035C 7F0AB82C 8C430008 */ lw $v1, 8($v0) -/* 0E0360 7F0AB830 24010001 */ li $at, 1 -/* 0E0364 7F0AB834 24440008 */ addiu $a0, $v0, 8 -/* 0E0368 7F0AB838 54610006 */ bnel $v1, $at, .L7F0AB854 -/* 0E036C 7F0AB83C 24010002 */ li $at, 2 -/* 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) -/* 0E0380 7F0AB850 24010002 */ li $at, 2 -.L7F0AB854: -/* 0E0384 7F0AB854 14610028 */ bne $v1, $at, .L7F0AB8F8 -/* 0E0388 7F0AB858 24440008 */ addiu $a0, $v0, 8 -/* 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) -.L7F0AB86C: -/* 0E039C 7F0AB86C 00002025 */ move $a0, $zero -/* 0E03A0 7F0AB870 0C0030EB */ jal get_controller_buttons_pressed -/* 0E03A4 7F0AB874 24050111 */ li $a1, 273 -/* 0E03A8 7F0AB878 14400004 */ bnez $v0, .L7F0AB88C -/* 0E03AC 7F0AB87C 00000000 */ nop -/* 0E03B0 7F0AB880 0FC293FB */ jal sub_GAME_7F0A4FEC -/* 0E03B4 7F0AB884 00000000 */ nop -/* 0E03B8 7F0AB888 1040001B */ beqz $v0, .L7F0AB8F8 -.L7F0AB88C: -/* 0E03BC 7F0AB88C 3C088004 */ lui $t0, %hi(watch_soundrelated_maybe) -/* 0E03C0 7F0AB890 8D0809A8 */ lw $t0, %lo(watch_soundrelated_maybe)($t0) -/* 0E03C4 7F0AB894 8FA90018 */ lw $t1, 0x18($sp) -/* 0E03C8 7F0AB898 3C0B8004 */ lui $t3, %hi(D_80040A7C) -/* 0E03CC 7F0AB89C 11000016 */ beqz $t0, .L7F0AB8F8 -/* 0E03D0 7F0AB8A0 00095080 */ sll $t2, $t1, 2 -/* 0E03D4 7F0AB8A4 01495023 */ subu $t2, $t2, $t1 -/* 0E03D8 7F0AB8A8 000A5080 */ sll $t2, $t2, 2 -/* 0E03DC 7F0AB8AC 256B0A7C */ addiu $t3, %lo(D_80040A7C) # addiu $t3, $t3, 0xa7c -/* 0E03E0 7F0AB8B0 014B1021 */ addu $v0, $t2, $t3 -/* 0E03E4 7F0AB8B4 8C430008 */ lw $v1, 8($v0) -/* 0E03E8 7F0AB8B8 24440008 */ addiu $a0, $v0, 8 -/* 0E03EC 7F0AB8BC 24010001 */ li $at, 1 -/* 0E03F0 7F0AB8C0 14600005 */ bnez $v1, .L7F0AB8D8 -/* 0E03F4 7F0AB8C4 00000000 */ nop -/* 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) -.L7F0AB8D8: -/* 0E0408 7F0AB8D8 54610008 */ bnel $v1, $at, .L7F0AB8FC -/* 0E040C 7F0AB8DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E0410 7F0AB8E0 944C0006 */ lhu $t4, 6($v0) -/* 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 set_pparam1toparam2_disablejoylr_playsfx -/* 0E0424 7F0AB8F4 24050002 */ li $a1, 2 -.L7F0AB8F8: -/* 0E0428 7F0AB8F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0AB8FC: -/* 0E042C 7F0AB8FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E0430 7F0AB900 03E00008 */ jr $ra -/* 0E0434 7F0AB904 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AB908(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AB908 -/* 0E0438 7F0AB908 3C038005 */ lui $v1, %hi(j_text_trigger) -/* 0E043C 7F0AB90C 8C6384D0 */ lw $v1, %lo(j_text_trigger)($v1) -/* 0E0440 7F0AB910 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0E0444 7F0AB914 3C020080 */ lui $v0, 0x80 -/* 0E0448 7F0AB918 344A0080 */ ori $t2, $v0, 0x80 -/* 0E044C 7F0AB91C AFBF0034 */ sw $ra, 0x34($sp) -/* 0E0450 7F0AB920 AFA40060 */ sw $a0, 0x60($sp) -/* 0E0454 7F0AB924 AFA50064 */ sw $a1, 0x64($sp) -/* 0E0458 7F0AB928 01404825 */ move $t1, $t2 -/* 0E045C 7F0AB92C 10600003 */ beqz $v1, .L7F0AB93C -/* 0E0460 7F0AB930 AFAA0054 */ sw $t2, 0x54($sp) -/* 0E0464 7F0AB934 10000002 */ b .L7F0AB940 -/* 0E0468 7F0AB938 240500AA */ li $a1, 170 -.L7F0AB93C: -/* 0E046C 7F0AB93C 240500B4 */ li $a1, 180 -.L7F0AB940: -/* 0E0470 7F0AB940 10600004 */ beqz $v1, .L7F0AB954 -/* 0E0474 7F0AB944 240F00E1 */ li $t7, 225 -/* 0E0478 7F0AB948 240E00DC */ li $t6, 220 -/* 0E047C 7F0AB94C 10000002 */ b .L7F0AB958 -/* 0E0480 7F0AB950 AFAE004C */ sw $t6, 0x4c($sp) -.L7F0AB954: -/* 0E0484 7F0AB954 AFAF004C */ sw $t7, 0x4c($sp) -.L7F0AB958: -/* 0E0488 7F0AB958 10E0000D */ beqz $a3, .L7F0AB990 -/* 0E048C 7F0AB95C 00065880 */ sll $t3, $a2, 2 -/* 0E0490 7F0AB960 24030001 */ li $v1, 1 -/* 0E0494 7F0AB964 10E30020 */ beq $a3, $v1, .L7F0AB9E8 -/* 0E0498 7F0AB968 00067080 */ sll $t6, $a2, 2 -/* 0E049C 7F0AB96C 24010002 */ li $at, 2 -/* 0E04A0 7F0AB970 10E10032 */ beq $a3, $at, .L7F0ABA3C -/* 0E04A4 7F0AB974 0006C080 */ sll $t8, $a2, 2 -/* 0E04A8 7F0AB978 0306C023 */ subu $t8, $t8, $a2 -/* 0E04AC 7F0AB97C 3C198004 */ lui $t9, %hi(D_80040A7C) -/* 0E04B0 7F0AB980 27390A7C */ addiu $t9, %lo(D_80040A7C) # addiu $t9, $t9, 0xa7c -/* 0E04B4 7F0AB984 0018C080 */ sll $t8, $t8, 2 -/* 0E04B8 7F0AB988 1000004B */ b .L7F0ABAB8 -/* 0E04BC 7F0AB98C 03194021 */ addu $t0, $t8, $t9 -.L7F0AB990: -/* 0E04C0 7F0AB990 01665823 */ subu $t3, $t3, $a2 -/* 0E04C4 7F0AB994 3C0C8004 */ lui $t4, %hi(D_80040A7C) -/* 0E04C8 7F0AB998 258C0A7C */ addiu $t4, %lo(D_80040A7C) # addiu $t4, $t4, 0xa7c -/* 0E04CC 7F0AB99C 000B5880 */ sll $t3, $t3, 2 -/* 0E04D0 7F0AB9A0 016C4021 */ addu $t0, $t3, $t4 -/* 0E04D4 7F0AB9A4 8D020008 */ lw $v0, 8($t0) -/* 0E04D8 7F0AB9A8 24030001 */ li $v1, 1 -/* 0E04DC 7F0AB9AC 14400004 */ bnez $v0, .L7F0AB9C0 -/* 0E04E0 7F0AB9B0 00000000 */ nop -/* 0E04E4 7F0AB9B4 3C0900FF */ lui $t1, (0x00FF00B0 >> 16) # lui $t1, 0xff -/* 0E04E8 7F0AB9B8 1000003F */ b .L7F0ABAB8 -/* 0E04EC 7F0AB9BC 352900B0 */ ori $t1, (0x00FF00B0 & 0xFFFF) # ori $t1, $t1, 0xb0 -.L7F0AB9C0: -/* 0E04F0 7F0AB9C0 14620004 */ bne $v1, $v0, .L7F0AB9D4 -/* 0E04F4 7F0AB9C4 24010002 */ li $at, 2 -/* 0E04F8 7F0AB9C8 3C0A00FF */ lui $t2, (0x00FF00B0 >> 16) # lui $t2, 0xff -/* 0E04FC 7F0AB9CC 1000003A */ b .L7F0ABAB8 -/* 0E0500 7F0AB9D0 354A00B0 */ ori $t2, (0x00FF00B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -.L7F0AB9D4: -/* 0E0504 7F0AB9D4 14410038 */ bne $v0, $at, .L7F0ABAB8 -/* 0E0508 7F0AB9D8 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0E050C 7F0AB9DC 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0E0510 7F0AB9E0 10000035 */ b .L7F0ABAB8 -/* 0E0514 7F0AB9E4 AFAD0054 */ sw $t5, 0x54($sp) -.L7F0AB9E8: -/* 0E0518 7F0AB9E8 01C67023 */ subu $t6, $t6, $a2 -/* 0E051C 7F0AB9EC 3C0F8004 */ lui $t7, %hi(D_80040A7C) -/* 0E0520 7F0AB9F0 25EF0A7C */ addiu $t7, %lo(D_80040A7C) # addiu $t7, $t7, 0xa7c -/* 0E0524 7F0AB9F4 000E7080 */ sll $t6, $t6, 2 -/* 0E0528 7F0AB9F8 01CF4021 */ addu $t0, $t6, $t7 -/* 0E052C 7F0AB9FC 8D020008 */ lw $v0, 8($t0) -/* 0E0530 7F0ABA00 14400004 */ bnez $v0, .L7F0ABA14 -/* 0E0534 7F0ABA04 00000000 */ nop -/* 0E0538 7F0ABA08 3C0900FF */ lui $t1, (0x00FF00B0 >> 16) # lui $t1, 0xff -/* 0E053C 7F0ABA0C 1000002A */ b .L7F0ABAB8 -/* 0E0540 7F0ABA10 352900B0 */ ori $t1, (0x00FF00B0 & 0xFFFF) # ori $t1, $t1, 0xb0 -.L7F0ABA14: -/* 0E0544 7F0ABA14 14620004 */ bne $v1, $v0, .L7F0ABA28 -/* 0E0548 7F0ABA18 24010002 */ li $at, 2 -/* 0E054C 7F0ABA1C 3C0A00FF */ lui $t2, (0x00FF00B0 >> 16) # lui $t2, 0xff -/* 0E0550 7F0ABA20 10000025 */ b .L7F0ABAB8 -/* 0E0554 7F0ABA24 354A00B0 */ ori $t2, (0x00FF00B0 & 0xFFFF) # ori $t2, $t2, 0xb0 -.L7F0ABA28: -/* 0E0558 7F0ABA28 14410023 */ bne $v0, $at, .L7F0ABAB8 -/* 0E055C 7F0ABA2C 3C1800FF */ lui $t8, (0x00FF00B0 >> 16) # lui $t8, 0xff -/* 0E0560 7F0ABA30 371800B0 */ ori $t8, (0x00FF00B0 & 0xFFFF) # ori $t8, $t8, 0xb0 -/* 0E0564 7F0ABA34 10000020 */ b .L7F0ABAB8 -/* 0E0568 7F0ABA38 AFB80054 */ sw $t8, 0x54($sp) -.L7F0ABA3C: -/* 0E056C 7F0ABA3C 00C02025 */ move $a0, $a2 -/* 0E0570 7F0ABA40 AFA50050 */ sw $a1, 0x50($sp) -/* 0E0574 7F0ABA44 AFA60068 */ sw $a2, 0x68($sp) -/* 0E0578 7F0ABA48 AFA9005C */ sw $t1, 0x5c($sp) -/* 0E057C 7F0ABA4C 0FC2ADF6 */ jal sub_GAME_7F0AB7D8 -/* 0E0580 7F0ABA50 AFAA0058 */ sw $t2, 0x58($sp) -/* 0E0584 7F0ABA54 8FA60068 */ lw $a2, 0x68($sp) -/* 0E0588 7F0ABA58 3C0B8004 */ lui $t3, %hi(D_80040A7C) -/* 0E058C 7F0ABA5C 256B0A7C */ addiu $t3, %lo(D_80040A7C) # addiu $t3, $t3, 0xa7c -/* 0E0590 7F0ABA60 0006C880 */ sll $t9, $a2, 2 -/* 0E0594 7F0ABA64 0326C823 */ subu $t9, $t9, $a2 -/* 0E0598 7F0ABA68 0019C880 */ sll $t9, $t9, 2 -/* 0E059C 7F0ABA6C 032B4021 */ addu $t0, $t9, $t3 -/* 0E05A0 7F0ABA70 8D020008 */ lw $v0, 8($t0) -/* 0E05A4 7F0ABA74 24030001 */ li $v1, 1 -/* 0E05A8 7F0ABA78 8FA50050 */ lw $a1, 0x50($sp) -/* 0E05AC 7F0ABA7C 8FA9005C */ lw $t1, 0x5c($sp) -/* 0E05B0 7F0ABA80 14400004 */ bnez $v0, .L7F0ABA94 -/* 0E05B4 7F0ABA84 8FAA0058 */ lw $t2, 0x58($sp) -/* 0E05B8 7F0ABA88 3C09A0FF */ lui $t1, (0xA0FFA0F0 >> 16) # lui $t1, 0xa0ff -/* 0E05BC 7F0ABA8C 1000000A */ b .L7F0ABAB8 -/* 0E05C0 7F0ABA90 3529A0F0 */ ori $t1, (0xA0FFA0F0 & 0xFFFF) # ori $t1, $t1, 0xa0f0 -.L7F0ABA94: -/* 0E05C4 7F0ABA94 14620004 */ bne $v1, $v0, .L7F0ABAA8 -/* 0E05C8 7F0ABA98 24010002 */ li $at, 2 -/* 0E05CC 7F0ABA9C 3C0AA0FF */ lui $t2, (0xA0FFA0F0 >> 16) # lui $t2, 0xa0ff -/* 0E05D0 7F0ABAA0 10000005 */ b .L7F0ABAB8 -/* 0E05D4 7F0ABAA4 354AA0F0 */ ori $t2, (0xA0FFA0F0 & 0xFFFF) # ori $t2, $t2, 0xa0f0 -.L7F0ABAA8: -/* 0E05D8 7F0ABAA8 14410003 */ bne $v0, $at, .L7F0ABAB8 -/* 0E05DC 7F0ABAAC 3C0CA0FF */ lui $t4, (0xA0FFA0F0 >> 16) # lui $t4, 0xa0ff -/* 0E05E0 7F0ABAB0 358CA0F0 */ ori $t4, (0xA0FFA0F0 & 0xFFFF) # ori $t4, $t4, 0xa0f0 -/* 0E05E4 7F0ABAB4 AFAC0054 */ sw $t4, 0x54($sp) -.L7F0ABAB8: -/* 0E05E8 7F0ABAB8 950D0006 */ lhu $t5, 6($t0) -/* 0E05EC 7F0ABABC 15A0000D */ bnez $t5, .L7F0ABAF4 -/* 0E05F0 7F0ABAC0 3C038005 */ lui $v1, %hi(j_text_trigger) -/* 0E05F4 7F0ABAC4 8C6384D0 */ lw $v1, %lo(j_text_trigger)($v1) -/* 0E05F8 7F0ABAC8 240500C8 */ li $a1, 200 -/* 0E05FC 7F0ABACC 240F00FA */ li $t7, 250 -/* 0E0600 7F0ABAD0 10600003 */ beqz $v1, .L7F0ABAE0 -/* 0E0604 7F0ABAD4 240E00FA */ li $t6, 250 -/* 0E0608 7F0ABAD8 10000001 */ b .L7F0ABAE0 -/* 0E060C 7F0ABADC 240500BE */ li $a1, 190 -.L7F0ABAE0: -/* 0E0610 7F0ABAE0 50600004 */ beql $v1, $zero, .L7F0ABAF4 -/* 0E0614 7F0ABAE4 AFAF004C */ sw $t7, 0x4c($sp) -/* 0E0618 7F0ABAE8 10000002 */ b .L7F0ABAF4 -/* 0E061C 7F0ABAEC AFAE004C */ sw $t6, 0x4c($sp) -/* 0E0620 7F0ABAF0 AFAF004C */ sw $t7, 0x4c($sp) -.L7F0ABAF4: -/* 0E0624 7F0ABAF4 95040002 */ lhu $a0, 2($t0) -/* 0E0628 7F0ABAF8 AFA50050 */ sw $a1, 0x50($sp) -/* 0E062C 7F0ABAFC AFA8003C */ sw $t0, 0x3c($sp) -/* 0E0630 7F0ABB00 AFA9005C */ sw $t1, 0x5c($sp) -/* 0E0634 7F0ABB04 0FC30776 */ jal get_textptr_for_textID -/* 0E0638 7F0ABB08 AFAA0058 */ sw $t2, 0x58($sp) -/* 0E063C 7F0ABB0C 8FA9005C */ lw $t1, 0x5c($sp) -/* 0E0640 7F0ABB10 3C0B0030 */ lui $t3, (0x003000B0 >> 16) # lui $t3, 0x30 -/* 0E0644 7F0ABB14 356B00B0 */ ori $t3, (0x003000B0 & 0xFFFF) # ori $t3, $t3, 0xb0 -/* 0E0648 7F0ABB18 2418FFFF */ li $t8, -1 -/* 0E064C 7F0ABB1C 24190001 */ li $t9, 1 -/* 0E0650 7F0ABB20 AFB9001C */ sw $t9, 0x1c($sp) -/* 0E0654 7F0ABB24 AFB80018 */ sw $t8, 0x18($sp) -/* 0E0658 7F0ABB28 AFAB0024 */ sw $t3, 0x24($sp) -/* 0E065C 7F0ABB2C 8FA50050 */ lw $a1, 0x50($sp) -/* 0E0660 7F0ABB30 8FA40060 */ lw $a0, 0x60($sp) -/* 0E0664 7F0ABB34 8FA60064 */ lw $a2, 0x64($sp) -/* 0E0668 7F0ABB38 00403825 */ move $a3, $v0 -/* 0E066C 7F0ABB3C AFA00014 */ sw $zero, 0x14($sp) -/* 0E0670 7F0ABB40 AFA00020 */ sw $zero, 0x20($sp) -/* 0E0674 7F0ABB44 AFA00028 */ sw $zero, 0x28($sp) -/* 0E0678 7F0ABB48 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0E067C 7F0ABB4C AFA90010 */ sw $t1, 0x10($sp) -/* 0E0680 7F0ABB50 8FA8003C */ lw $t0, 0x3c($sp) -/* 0E0684 7F0ABB54 AFA20060 */ sw $v0, 0x60($sp) -/* 0E0688 7F0ABB58 0FC30776 */ jal get_textptr_for_textID -/* 0E068C 7F0ABB5C 95040004 */ lhu $a0, 4($t0) -/* 0E0690 7F0ABB60 8FAA0058 */ lw $t2, 0x58($sp) -/* 0E0694 7F0ABB64 3C0E0030 */ lui $t6, (0x003000B0 >> 16) # lui $t6, 0x30 -/* 0E0698 7F0ABB68 35CE00B0 */ ori $t6, (0x003000B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0E069C 7F0ABB6C 240CFFFF */ li $t4, -1 -/* 0E06A0 7F0ABB70 240D0001 */ li $t5, 1 -/* 0E06A4 7F0ABB74 AFAD001C */ sw $t5, 0x1c($sp) -/* 0E06A8 7F0ABB78 AFAC0018 */ sw $t4, 0x18($sp) -/* 0E06AC 7F0ABB7C AFAE0024 */ sw $t6, 0x24($sp) -/* 0E06B0 7F0ABB80 8FA40060 */ lw $a0, 0x60($sp) -/* 0E06B4 7F0ABB84 8FA5004C */ lw $a1, 0x4c($sp) -/* 0E06B8 7F0ABB88 8FA60064 */ lw $a2, 0x64($sp) -/* 0E06BC 7F0ABB8C 00403825 */ move $a3, $v0 -/* 0E06C0 7F0ABB90 AFA00014 */ sw $zero, 0x14($sp) -/* 0E06C4 7F0ABB94 AFA00020 */ sw $zero, 0x20($sp) -/* 0E06C8 7F0ABB98 AFA00028 */ sw $zero, 0x28($sp) -/* 0E06CC 7F0ABB9C 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0E06D0 7F0ABBA0 AFAA0010 */ sw $t2, 0x10($sp) -/* 0E06D4 7F0ABBA4 8FA8003C */ lw $t0, 0x3c($sp) -/* 0E06D8 7F0ABBA8 AFA20060 */ sw $v0, 0x60($sp) -/* 0E06DC 7F0ABBAC 95030006 */ lhu $v1, 6($t0) -/* 0E06E0 7F0ABBB0 50600016 */ beql $v1, $zero, .L7F0ABC0C -/* 0E06E4 7F0ABBB4 8FBF0034 */ lw $ra, 0x34($sp) -/* 0E06E8 7F0ABBB8 0FC30776 */ jal get_textptr_for_textID -/* 0E06EC 7F0ABBBC 00602025 */ move $a0, $v1 -/* 0E06F0 7F0ABBC0 8FAF0054 */ lw $t7, 0x54($sp) -/* 0E06F4 7F0ABBC4 3C0B0030 */ lui $t3, (0x003000B0 >> 16) # lui $t3, 0x30 -/* 0E06F8 7F0ABBC8 356B00B0 */ ori $t3, (0x003000B0 & 0xFFFF) # ori $t3, $t3, 0xb0 -/* 0E06FC 7F0ABBCC 2418FFFF */ li $t8, -1 -/* 0E0700 7F0ABBD0 24190001 */ li $t9, 1 -/* 0E0704 7F0ABBD4 AFB9001C */ sw $t9, 0x1c($sp) -/* 0E0708 7F0ABBD8 AFB80018 */ sw $t8, 0x18($sp) -/* 0E070C 7F0ABBDC AFAB0024 */ sw $t3, 0x24($sp) -/* 0E0710 7F0ABBE0 8FA40060 */ lw $a0, 0x60($sp) -/* 0E0714 7F0ABBE4 2405010E */ li $a1, 270 -/* 0E0718 7F0ABBE8 8FA60064 */ lw $a2, 0x64($sp) -/* 0E071C 7F0ABBEC 00403825 */ move $a3, $v0 -/* 0E0720 7F0ABBF0 AFA00014 */ sw $zero, 0x14($sp) -/* 0E0724 7F0ABBF4 AFA00020 */ sw $zero, 0x20($sp) -/* 0E0728 7F0ABBF8 AFA00028 */ sw $zero, 0x28($sp) -/* 0E072C 7F0ABBFC 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0E0730 7F0ABC00 AFAF0010 */ sw $t7, 0x10($sp) -/* 0E0734 7F0ABC04 AFA20060 */ sw $v0, 0x60($sp) -/* 0E0738 7F0ABC08 8FBF0034 */ lw $ra, 0x34($sp) -.L7F0ABC0C: -/* 0E073C 7F0ABC0C 8FA20060 */ lw $v0, 0x60($sp) -/* 0E0740 7F0ABC10 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0E0744 7F0ABC14 03E00008 */ jr $ra -/* 0E0748 7F0ABC18 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0ABC1C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0ABC1C -/* 0E074C 7F0ABC1C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0E0750 7F0ABC20 AFBF005C */ sw $ra, 0x5c($sp) -/* 0E0754 7F0ABC24 AFBE0058 */ sw $fp, 0x58($sp) -/* 0E0758 7F0ABC28 AFB70054 */ sw $s7, 0x54($sp) -/* 0E075C 7F0ABC2C AFB60050 */ sw $s6, 0x50($sp) -/* 0E0760 7F0ABC30 AFB5004C */ sw $s5, 0x4c($sp) -/* 0E0764 7F0ABC34 AFB40048 */ sw $s4, 0x48($sp) -/* 0E0768 7F0ABC38 AFB30044 */ sw $s3, 0x44($sp) -/* 0E076C 7F0ABC3C AFB20040 */ sw $s2, 0x40($sp) -/* 0E0770 7F0ABC40 AFB1003C */ sw $s1, 0x3c($sp) -/* 0E0774 7F0ABC44 0FC2B366 */ jal microcode_constructor -/* 0E0778 7F0ABC48 AFB00038 */ sw $s0, 0x38($sp) -/* 0E077C 7F0ABC4C 3C138004 */ lui $s3, %hi(D_80040A7C) -/* 0E0780 7F0ABC50 3C170070 */ lui $s7, (0x007000A0 >> 16) # lui $s7, 0x70 -/* 0E0784 7F0ABC54 3C168004 */ lui $s6, %hi(watch_soundrelated_maybe) -/* 0E0788 7F0ABC58 3C158004 */ lui $s5, %hi(D_8004099C) -/* 0E078C 7F0ABC5C 3C140030 */ lui $s4, (0x003000B0 >> 16) # lui $s4, 0x30 -/* 0E0790 7F0ABC60 00409025 */ move $s2, $v0 -/* 0E0794 7F0ABC64 369400B0 */ ori $s4, (0x003000B0 & 0xFFFF) # ori $s4, $s4, 0xb0 -/* 0E0798 7F0ABC68 26B5099C */ addiu $s5, %lo(D_8004099C) # addiu $s5, $s5, 0x99c -/* 0E079C 7F0ABC6C 26D609A8 */ addiu $s6, %lo(watch_soundrelated_maybe) # addiu $s6, $s6, 0x9a8 -/* 0E07A0 7F0ABC70 36F700A0 */ ori $s7, (0x007000A0 & 0xFFFF) # ori $s7, $s7, 0xa0 -/* 0E07A4 7F0ABC74 26730A7C */ addiu $s3, %lo(D_80040A7C) # addiu $s3, $s3, 0xa7c -/* 0E07A8 7F0ABC78 00008825 */ move $s1, $zero -/* 0E07AC 7F0ABC7C 24100050 */ li $s0, 80 -/* 0E07B0 7F0ABC80 241E0008 */ li $fp, 8 -.L7F0ABC84: -/* 0E07B4 7F0ABC84 8EAF0000 */ lw $t7, ($s5) -/* 0E07B8 7F0ABC88 262E0002 */ addiu $t6, $s1, 2 -/* 0E07BC 7F0ABC8C 15CF0033 */ bne $t6, $t7, .L7F0ABD5C -/* 0E07C0 7F0ABC90 00000000 */ nop -/* 0E07C4 7F0ABC94 8ED80000 */ lw $t8, ($s6) -/* 0E07C8 7F0ABC98 13000018 */ beqz $t8, .L7F0ABCFC -/* 0E07CC 7F0ABC9C 00000000 */ nop -/* 0E07D0 7F0ABCA0 0FC30776 */ jal get_textptr_for_textID -/* 0E07D4 7F0ABCA4 96640000 */ lhu $a0, ($s3) -/* 0E07D8 7F0ABCA8 2419FFFF */ li $t9, -1 -/* 0E07DC 7F0ABCAC 24080001 */ li $t0, 1 -/* 0E07E0 7F0ABCB0 AFA80014 */ sw $t0, 0x14($sp) -/* 0E07E4 7F0ABCB4 AFB90010 */ sw $t9, 0x10($sp) -/* 0E07E8 7F0ABCB8 02402025 */ move $a0, $s2 -/* 0E07EC 7F0ABCBC 24050040 */ li $a1, 64 -/* 0E07F0 7F0ABCC0 02003025 */ move $a2, $s0 -/* 0E07F4 7F0ABCC4 00403825 */ move $a3, $v0 -/* 0E07F8 7F0ABCC8 AFB70018 */ sw $s7, 0x18($sp) -/* 0E07FC 7F0ABCCC AFA0001C */ sw $zero, 0x1c($sp) -/* 0E0800 7F0ABCD0 AFA00020 */ sw $zero, 0x20($sp) -/* 0E0804 7F0ABCD4 AFB40024 */ sw $s4, 0x24($sp) -/* 0E0808 7F0ABCD8 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0E080C 7F0ABCDC AFA00028 */ sw $zero, 0x28($sp) -/* 0E0810 7F0ABCE0 00402025 */ move $a0, $v0 -/* 0E0814 7F0ABCE4 02002825 */ move $a1, $s0 -/* 0E0818 7F0ABCE8 02203025 */ move $a2, $s1 -/* 0E081C 7F0ABCEC 0FC2AE42 */ jal sub_GAME_7F0AB908 -/* 0E0820 7F0ABCF0 24070002 */ li $a3, 2 -/* 0E0824 7F0ABCF4 10000030 */ b .L7F0ABDB8 -/* 0E0828 7F0ABCF8 00409025 */ move $s2, $v0 -.L7F0ABCFC: -/* 0E082C 7F0ABCFC 0FC30776 */ jal get_textptr_for_textID -/* 0E0830 7F0ABD00 96640000 */ lhu $a0, ($s3) -/* 0E0834 7F0ABD04 3C09A0FF */ lui $t1, (0xA0FFA0F0 >> 16) # lui $t1, 0xa0ff -/* 0E0838 7F0ABD08 3529A0F0 */ ori $t1, (0xA0FFA0F0 & 0xFFFF) # ori $t1, $t1, 0xa0f0 -/* 0E083C 7F0ABD0C 240AFFFF */ li $t2, -1 -/* 0E0840 7F0ABD10 AFAA0018 */ sw $t2, 0x18($sp) -/* 0E0844 7F0ABD14 AFA90010 */ sw $t1, 0x10($sp) -/* 0E0848 7F0ABD18 02402025 */ move $a0, $s2 -/* 0E084C 7F0ABD1C 24050040 */ li $a1, 64 -/* 0E0850 7F0ABD20 02003025 */ move $a2, $s0 -/* 0E0854 7F0ABD24 00403825 */ move $a3, $v0 -/* 0E0858 7F0ABD28 AFA00014 */ sw $zero, 0x14($sp) -/* 0E085C 7F0ABD2C AFA0001C */ sw $zero, 0x1c($sp) -/* 0E0860 7F0ABD30 AFA00020 */ sw $zero, 0x20($sp) -/* 0E0864 7F0ABD34 AFB40024 */ sw $s4, 0x24($sp) -/* 0E0868 7F0ABD38 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0E086C 7F0ABD3C AFA00028 */ sw $zero, 0x28($sp) -/* 0E0870 7F0ABD40 00402025 */ move $a0, $v0 -/* 0E0874 7F0ABD44 02002825 */ move $a1, $s0 -/* 0E0878 7F0ABD48 02203025 */ move $a2, $s1 -/* 0E087C 7F0ABD4C 0FC2AE42 */ jal sub_GAME_7F0AB908 -/* 0E0880 7F0ABD50 24070001 */ li $a3, 1 -/* 0E0884 7F0ABD54 10000018 */ b .L7F0ABDB8 -/* 0E0888 7F0ABD58 00409025 */ move $s2, $v0 -.L7F0ABD5C: -/* 0E088C 7F0ABD5C 0FC30776 */ jal get_textptr_for_textID -/* 0E0890 7F0ABD60 96640000 */ lhu $a0, ($s3) -/* 0E0894 7F0ABD64 3C0B00FF */ lui $t3, (0x00FF00B0 >> 16) # lui $t3, 0xff -/* 0E0898 7F0ABD68 356B00B0 */ ori $t3, (0x00FF00B0 & 0xFFFF) # ori $t3, $t3, 0xb0 -/* 0E089C 7F0ABD6C 240CFFFF */ li $t4, -1 -/* 0E08A0 7F0ABD70 AFAC0018 */ sw $t4, 0x18($sp) -/* 0E08A4 7F0ABD74 AFAB0010 */ sw $t3, 0x10($sp) -/* 0E08A8 7F0ABD78 02402025 */ move $a0, $s2 -/* 0E08AC 7F0ABD7C 24050040 */ li $a1, 64 -/* 0E08B0 7F0ABD80 02003025 */ move $a2, $s0 -/* 0E08B4 7F0ABD84 00403825 */ move $a3, $v0 -/* 0E08B8 7F0ABD88 AFA00014 */ sw $zero, 0x14($sp) -/* 0E08BC 7F0ABD8C AFA0001C */ sw $zero, 0x1c($sp) -/* 0E08C0 7F0ABD90 AFA00020 */ sw $zero, 0x20($sp) -/* 0E08C4 7F0ABD94 AFB40024 */ sw $s4, 0x24($sp) -/* 0E08C8 7F0ABD98 0FC2A4E6 */ jal sub_GAME_7F0A9398 -/* 0E08CC 7F0ABD9C AFA00028 */ sw $zero, 0x28($sp) -/* 0E08D0 7F0ABDA0 00402025 */ move $a0, $v0 -/* 0E08D4 7F0ABDA4 02002825 */ move $a1, $s0 -/* 0E08D8 7F0ABDA8 02203025 */ move $a2, $s1 -/* 0E08DC 7F0ABDAC 0FC2AE42 */ jal sub_GAME_7F0AB908 -/* 0E08E0 7F0ABDB0 00003825 */ move $a3, $zero -/* 0E08E4 7F0ABDB4 00409025 */ move $s2, $v0 -.L7F0ABDB8: -/* 0E08E8 7F0ABDB8 26310001 */ addiu $s1, $s1, 1 -/* 0E08EC 7F0ABDBC 2673000C */ addiu $s3, $s3, 0xc -/* 0E08F0 7F0ABDC0 163EFFB0 */ bne $s1, $fp, .L7F0ABC84 -/* 0E08F4 7F0ABDC4 2610000F */ addiu $s0, $s0, 0xf -/* 0E08F8 7F0ABDC8 8FBF005C */ lw $ra, 0x5c($sp) -/* 0E08FC 7F0ABDCC 02401025 */ move $v0, $s2 -/* 0E0900 7F0ABDD0 8FB20040 */ lw $s2, 0x40($sp) -/* 0E0904 7F0ABDD4 8FB00038 */ lw $s0, 0x38($sp) -/* 0E0908 7F0ABDD8 8FB1003C */ lw $s1, 0x3c($sp) -/* 0E090C 7F0ABDDC 8FB30044 */ lw $s3, 0x44($sp) -/* 0E0910 7F0ABDE0 8FB40048 */ lw $s4, 0x48($sp) -/* 0E0914 7F0ABDE4 8FB5004C */ lw $s5, 0x4c($sp) -/* 0E0918 7F0ABDE8 8FB60050 */ lw $s6, 0x50($sp) -/* 0E091C 7F0ABDEC 8FB70054 */ lw $s7, 0x54($sp) -/* 0E0920 7F0ABDF0 8FBE0058 */ lw $fp, 0x58($sp) -/* 0E0924 7F0ABDF4 03E00008 */ jr $ra -/* 0E0928 7F0ABDF8 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0ABDFC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0ABDFC -/* 0E092C 7F0ABDFC 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0E0930 7F0ABE00 AFBF003C */ sw $ra, 0x3c($sp) -/* 0E0934 7F0ABE04 AFB00038 */ sw $s0, 0x38($sp) -/* 0E0938 7F0ABE08 0FC29C53 */ jal sub_GAME_7F0A714C -/* 0E093C 7F0ABE0C 00003025 */ move $a2, $zero -/* 0E0940 7F0ABE10 0FC1F97F */ jal check_watch_page_transistion_running -/* 0E0944 7F0ABE14 00408025 */ move $s0, $v0 -/* 0E0948 7F0ABE18 24010001 */ li $at, 1 -/* 0E094C 7F0ABE1C 504100AE */ beql $v0, $at, .L7F0AC0D8 -/* 0E0950 7F0ABE20 8FBF003C */ lw $ra, 0x3c($sp) -/* 0E0954 7F0ABE24 0FC2A472 */ jal sub_GAME_7F0A91C8 -/* 0E0958 7F0ABE28 02002025 */ move $a0, $s0 -/* 0E095C 7F0ABE2C 0FC2A3FB */ jal sub_GAME_7F0A8FEC -/* 0E0960 7F0ABE30 00402025 */ move $a0, $v0 -/* 0E0964 7F0ABE34 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) -/* 0E0968 7F0ABE38 3C0F8004 */ lui $t7, %hi(ptrSecondFontTableSmall) -/* 0E096C 7F0ABE3C 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) -/* 0E0970 7F0ABE40 8DEF0EB0 */ lw $t7, %lo(ptrSecondFontTableSmall)($t7) -/* 0E0974 7F0ABE44 00402025 */ move $a0, $v0 -/* 0E0978 7F0ABE48 AFAE0044 */ sw $t6, 0x44($sp) -/* 0E097C 7F0ABE4C 0FC2B366 */ jal microcode_constructor -/* 0E0980 7F0ABE50 AFAF0040 */ sw $t7, 0x40($sp) -/* 0E0984 7F0ABE54 00408025 */ move $s0, $v0 -/* 0E0988 7F0ABE58 0FC30776 */ jal get_textptr_for_textID -/* 0E098C 7F0ABE5C 3404AC35 */ li $a0, 44085 -/* 0E0990 7F0ABE60 3C088004 */ lui $t0, %hi(D_8004099C) -/* 0E0994 7F0ABE64 8D08099C */ lw $t0, %lo(D_8004099C)($t0) -/* 0E0998 7F0ABE68 24180040 */ li $t8, 64 -/* 0E099C 7F0ABE6C 24190025 */ li $t9, 37 -/* 0E09A0 7F0ABE70 3C0300FF */ lui $v1, (0x00FF00B0 >> 16) # lui $v1, 0xff -/* 0E09A4 7F0ABE74 00403025 */ move $a2, $v0 -/* 0E09A8 7F0ABE78 AFB80054 */ sw $t8, 0x54($sp) -/* 0E09AC 7F0ABE7C AFB90050 */ sw $t9, 0x50($sp) -/* 0E09B0 7F0ABE80 15000008 */ bnez $t0, .L7F0ABEA4 -/* 0E09B4 7F0ABE84 346300B0 */ ori $v1, (0x00FF00B0 & 0xFFFF) # ori $v1, $v1, 0xb0 -/* 0E09B8 7F0ABE88 3C098004 */ lui $t1, %hi(watch_soundrelated_maybe) -/* 0E09BC 7F0ABE8C 8D2909A8 */ lw $t1, %lo(watch_soundrelated_maybe)($t1) -/* 0E09C0 7F0ABE90 3C03A0FF */ lui $v1, (0xA0FFA0F0 >> 16) # lui $v1, 0xa0ff -/* 0E09C4 7F0ABE94 3463A0F0 */ ori $v1, (0xA0FFA0F0 & 0xFFFF) # ori $v1, $v1, 0xa0f0 -/* 0E09C8 7F0ABE98 51200003 */ beql $t1, $zero, .L7F0ABEA8 -/* 0E09CC 7F0ABE9C 8FAA0044 */ lw $t2, 0x44($sp) -/* 0E09D0 7F0ABEA0 2403FFFF */ li $v1, -1 -.L7F0ABEA4: -/* 0E09D4 7F0ABEA4 8FAA0044 */ lw $t2, 0x44($sp) -.L7F0ABEA8: -/* 0E09D8 7F0ABEA8 27A40048 */ addiu $a0, $sp, 0x48 -/* 0E09DC 7F0ABEAC 27A5004C */ addiu $a1, $sp, 0x4c -/* 0E09E0 7F0ABEB0 8FA70040 */ lw $a3, 0x40($sp) -/* 0E09E4 7F0ABEB4 AFA00014 */ sw $zero, 0x14($sp) -/* 0E09E8 7F0ABEB8 AFA3005C */ sw $v1, 0x5c($sp) -/* 0E09EC 7F0ABEBC AFA60058 */ sw $a2, 0x58($sp) -/* 0E09F0 7F0ABEC0 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E09F4 7F0ABEC4 AFAA0010 */ sw $t2, 0x10($sp) -/* 0E09F8 7F0ABEC8 3C0B8004 */ lui $t3, %hi(watch_soundrelated_maybe) -/* 0E09FC 7F0ABECC 8D6B09A8 */ lw $t3, %lo(watch_soundrelated_maybe)($t3) -/* 0E0A00 7F0ABED0 8FA3005C */ lw $v1, 0x5c($sp) -/* 0E0A04 7F0ABED4 8FA70058 */ lw $a3, 0x58($sp) -/* 0E0A08 7F0ABED8 1160001C */ beqz $t3, .L7F0ABF4C -/* 0E0A0C 7F0ABEDC 3C0C8004 */ lui $t4, %hi(D_8004099C) -/* 0E0A10 7F0ABEE0 8D8C099C */ lw $t4, %lo(D_8004099C)($t4) -/* 0E0A14 7F0ABEE4 02002025 */ move $a0, $s0 -/* 0E0A18 7F0ABEE8 27A50054 */ addiu $a1, $sp, 0x54 -/* 0E0A1C 7F0ABEEC 15800017 */ bnez $t4, .L7F0ABF4C -/* 0E0A20 7F0ABEF0 27A60050 */ addiu $a2, $sp, 0x50 -/* 0E0A24 7F0ABEF4 8FB8004C */ lw $t8, 0x4c($sp) -/* 0E0A28 7F0ABEF8 AFA30018 */ sw $v1, 0x18($sp) -/* 0E0A2C 7F0ABEFC 8FAD0040 */ lw $t5, 0x40($sp) -/* 0E0A30 7F0ABF00 8FAE0044 */ lw $t6, 0x44($sp) -/* 0E0A34 7F0ABF04 8FA80048 */ lw $t0, 0x48($sp) -/* 0E0A38 7F0ABF08 3C0300FF */ lui $v1, (0x00FF00B0 >> 16) # lui $v1, 0xff -/* 0E0A3C 7F0ABF0C 3C0F0070 */ lui $t7, (0x007000A0 >> 16) # lui $t7, 0x70 -/* 0E0A40 7F0ABF10 35EF00A0 */ ori $t7, (0x007000A0 & 0xFFFF) # ori $t7, $t7, 0xa0 -/* 0E0A44 7F0ABF14 346300B0 */ ori $v1, (0x00FF00B0 & 0xFFFF) # ori $v1, $v1, 0xb0 -/* 0E0A48 7F0ABF18 27190001 */ addiu $t9, $t8, 1 -/* 0E0A4C 7F0ABF1C AFB90020 */ sw $t9, 0x20($sp) -/* 0E0A50 7F0ABF20 AFA3005C */ sw $v1, 0x5c($sp) -/* 0E0A54 7F0ABF24 AFAF001C */ sw $t7, 0x1c($sp) -/* 0E0A58 7F0ABF28 AFA00028 */ sw $zero, 0x28($sp) -/* 0E0A5C 7F0ABF2C AFA0002C */ sw $zero, 0x2c($sp) -/* 0E0A60 7F0ABF30 AFAD0010 */ sw $t5, 0x10($sp) -/* 0E0A64 7F0ABF34 AFAE0014 */ sw $t6, 0x14($sp) -/* 0E0A68 7F0ABF38 0FC2B9BB */ jal jp_text_write_stuff -/* 0E0A6C 7F0ABF3C AFA80024 */ sw $t0, 0x24($sp) -/* 0E0A70 7F0ABF40 8FA3005C */ lw $v1, 0x5c($sp) -/* 0E0A74 7F0ABF44 10000015 */ b .L7F0ABF9C -/* 0E0A78 7F0ABF48 00408025 */ move $s0, $v0 -.L7F0ABF4C: -/* 0E0A7C 7F0ABF4C AFA30018 */ sw $v1, 0x18($sp) -/* 0E0A80 7F0ABF50 8FA90040 */ lw $t1, 0x40($sp) -/* 0E0A84 7F0ABF54 8FAA0044 */ lw $t2, 0x44($sp) -/* 0E0A88 7F0ABF58 8FAB004C */ lw $t3, 0x4c($sp) -/* 0E0A8C 7F0ABF5C 8FAC0048 */ lw $t4, 0x48($sp) -/* 0E0A90 7F0ABF60 3C0300FF */ lui $v1, (0x00FF00B0 >> 16) # lui $v1, 0xff -/* 0E0A94 7F0ABF64 346300B0 */ ori $v1, (0x00FF00B0 & 0xFFFF) # ori $v1, $v1, 0xb0 -/* 0E0A98 7F0ABF68 AFA3005C */ sw $v1, 0x5c($sp) -/* 0E0A9C 7F0ABF6C 02002025 */ move $a0, $s0 -/* 0E0AA0 7F0ABF70 27A50054 */ addiu $a1, $sp, 0x54 -/* 0E0AA4 7F0ABF74 27A60050 */ addiu $a2, $sp, 0x50 -/* 0E0AA8 7F0ABF78 AFA00024 */ sw $zero, 0x24($sp) -/* 0E0AAC 7F0ABF7C AFA00028 */ sw $zero, 0x28($sp) -/* 0E0AB0 7F0ABF80 AFA90010 */ sw $t1, 0x10($sp) -/* 0E0AB4 7F0ABF84 AFAA0014 */ sw $t2, 0x14($sp) -/* 0E0AB8 7F0ABF88 AFAB001C */ sw $t3, 0x1c($sp) -/* 0E0ABC 7F0ABF8C 0FC2B6AF */ jal en_text_write_stuff -/* 0E0AC0 7F0ABF90 AFAC0020 */ sw $t4, 0x20($sp) -/* 0E0AC4 7F0ABF94 8FA3005C */ lw $v1, 0x5c($sp) -/* 0E0AC8 7F0ABF98 00408025 */ move $s0, $v0 -.L7F0ABF9C: -/* 0E0ACC 7F0ABF9C 3404AC36 */ li $a0, 44086 -/* 0E0AD0 7F0ABFA0 0FC30776 */ jal get_textptr_for_textID -/* 0E0AD4 7F0ABFA4 AFA3005C */ sw $v1, 0x5c($sp) -/* 0E0AD8 7F0ABFA8 3C0F8004 */ lui $t7, %hi(D_8004099C) -/* 0E0ADC 7F0ABFAC 8DEF099C */ lw $t7, %lo(D_8004099C)($t7) -/* 0E0AE0 7F0ABFB0 240D0040 */ li $t5, 64 -/* 0E0AE4 7F0ABFB4 240E003B */ li $t6, 59 -/* 0E0AE8 7F0ABFB8 24010001 */ li $at, 1 -/* 0E0AEC 7F0ABFBC 8FA3005C */ lw $v1, 0x5c($sp) -/* 0E0AF0 7F0ABFC0 00403025 */ move $a2, $v0 -/* 0E0AF4 7F0ABFC4 AFAD0054 */ sw $t5, 0x54($sp) -/* 0E0AF8 7F0ABFC8 15E10008 */ bne $t7, $at, .L7F0ABFEC -/* 0E0AFC 7F0ABFCC AFAE0050 */ sw $t6, 0x50($sp) -/* 0E0B00 7F0ABFD0 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0E0B04 7F0ABFD4 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0E0B08 7F0ABFD8 3C03A0FF */ lui $v1, (0xA0FFA0F0 >> 16) # lui $v1, 0xa0ff -/* 0E0B0C 7F0ABFDC 3463A0F0 */ ori $v1, (0xA0FFA0F0 & 0xFFFF) # ori $v1, $v1, 0xa0f0 -/* 0E0B10 7F0ABFE0 53000003 */ beql $t8, $zero, .L7F0ABFF0 -/* 0E0B14 7F0ABFE4 8FB90044 */ lw $t9, 0x44($sp) -/* 0E0B18 7F0ABFE8 2403FFFF */ li $v1, -1 -.L7F0ABFEC: -/* 0E0B1C 7F0ABFEC 8FB90044 */ lw $t9, 0x44($sp) -.L7F0ABFF0: -/* 0E0B20 7F0ABFF0 27A40048 */ addiu $a0, $sp, 0x48 -/* 0E0B24 7F0ABFF4 27A5004C */ addiu $a1, $sp, 0x4c -/* 0E0B28 7F0ABFF8 8FA70040 */ lw $a3, 0x40($sp) -/* 0E0B2C 7F0ABFFC AFA00014 */ sw $zero, 0x14($sp) -/* 0E0B30 7F0AC000 AFA3005C */ sw $v1, 0x5c($sp) -/* 0E0B34 7F0AC004 AFA60058 */ sw $a2, 0x58($sp) -/* 0E0B38 7F0AC008 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E0B3C 7F0AC00C AFB90010 */ sw $t9, 0x10($sp) -/* 0E0B40 7F0AC010 3C088004 */ lui $t0, %hi(watch_soundrelated_maybe) -/* 0E0B44 7F0AC014 8D0809A8 */ lw $t0, %lo(watch_soundrelated_maybe)($t0) -/* 0E0B48 7F0AC018 8FA3005C */ lw $v1, 0x5c($sp) -/* 0E0B4C 7F0AC01C 8FA70058 */ lw $a3, 0x58($sp) -/* 0E0B50 7F0AC020 11000019 */ beqz $t0, .L7F0AC088 -/* 0E0B54 7F0AC024 3C098004 */ lui $t1, %hi(D_8004099C) -/* 0E0B58 7F0AC028 8D29099C */ lw $t1, %lo(D_8004099C)($t1) -/* 0E0B5C 7F0AC02C 24010001 */ li $at, 1 -/* 0E0B60 7F0AC030 02002025 */ move $a0, $s0 -/* 0E0B64 7F0AC034 15210014 */ bne $t1, $at, .L7F0AC088 -/* 0E0B68 7F0AC038 27A50054 */ addiu $a1, $sp, 0x54 -/* 0E0B6C 7F0AC03C 8FAD004C */ lw $t5, 0x4c($sp) -/* 0E0B70 7F0AC040 8FAA0040 */ lw $t2, 0x40($sp) -/* 0E0B74 7F0AC044 8FAB0044 */ lw $t3, 0x44($sp) -/* 0E0B78 7F0AC048 8FAF0048 */ lw $t7, 0x48($sp) -/* 0E0B7C 7F0AC04C 3C0C0070 */ lui $t4, (0x007000A0 >> 16) # lui $t4, 0x70 -/* 0E0B80 7F0AC050 358C00A0 */ ori $t4, (0x007000A0 & 0xFFFF) # ori $t4, $t4, 0xa0 -/* 0E0B84 7F0AC054 25AE0001 */ addiu $t6, $t5, 1 -/* 0E0B88 7F0AC058 AFAE0020 */ sw $t6, 0x20($sp) -/* 0E0B8C 7F0AC05C AFAC001C */ sw $t4, 0x1c($sp) -/* 0E0B90 7F0AC060 27A60050 */ addiu $a2, $sp, 0x50 -/* 0E0B94 7F0AC064 AFA30018 */ sw $v1, 0x18($sp) -/* 0E0B98 7F0AC068 AFA00028 */ sw $zero, 0x28($sp) -/* 0E0B9C 7F0AC06C AFA0002C */ sw $zero, 0x2c($sp) -/* 0E0BA0 7F0AC070 AFAA0010 */ sw $t2, 0x10($sp) -/* 0E0BA4 7F0AC074 AFAB0014 */ sw $t3, 0x14($sp) -/* 0E0BA8 7F0AC078 0FC2B9BB */ jal jp_text_write_stuff -/* 0E0BAC 7F0AC07C AFAF0024 */ sw $t7, 0x24($sp) -/* 0E0BB0 7F0AC080 10000011 */ b .L7F0AC0C8 -/* 0E0BB4 7F0AC084 00408025 */ move $s0, $v0 -.L7F0AC088: -/* 0E0BB8 7F0AC088 8FB80040 */ lw $t8, 0x40($sp) -/* 0E0BBC 7F0AC08C 8FB90044 */ lw $t9, 0x44($sp) -/* 0E0BC0 7F0AC090 8FA8004C */ lw $t0, 0x4c($sp) -/* 0E0BC4 7F0AC094 8FA90048 */ lw $t1, 0x48($sp) -/* 0E0BC8 7F0AC098 02002025 */ move $a0, $s0 -/* 0E0BCC 7F0AC09C 27A50054 */ addiu $a1, $sp, 0x54 -/* 0E0BD0 7F0AC0A0 27A60050 */ addiu $a2, $sp, 0x50 -/* 0E0BD4 7F0AC0A4 AFA30018 */ sw $v1, 0x18($sp) -/* 0E0BD8 7F0AC0A8 AFA00024 */ sw $zero, 0x24($sp) -/* 0E0BDC 7F0AC0AC AFA00028 */ sw $zero, 0x28($sp) -/* 0E0BE0 7F0AC0B0 AFB80010 */ sw $t8, 0x10($sp) -/* 0E0BE4 7F0AC0B4 AFB90014 */ sw $t9, 0x14($sp) -/* 0E0BE8 7F0AC0B8 AFA8001C */ sw $t0, 0x1c($sp) -/* 0E0BEC 7F0AC0BC 0FC2B6AF */ jal en_text_write_stuff -/* 0E0BF0 7F0AC0C0 AFA90020 */ sw $t1, 0x20($sp) -/* 0E0BF4 7F0AC0C4 00408025 */ move $s0, $v0 -.L7F0AC0C8: -/* 0E0BF8 7F0AC0C8 0FC2AF07 */ jal sub_GAME_7F0ABC1C -/* 0E0BFC 7F0AC0CC 02002025 */ move $a0, $s0 -/* 0E0C00 7F0AC0D0 00408025 */ move $s0, $v0 -/* 0E0C04 7F0AC0D4 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0AC0D8: -/* 0E0C08 7F0AC0D8 02001025 */ move $v0, $s0 -/* 0E0C0C 7F0AC0DC 8FB00038 */ lw $s0, 0x38($sp) -/* 0E0C10 7F0AC0E0 03E00008 */ jr $ra -/* 0E0C14 7F0AC0E4 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AC0E8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AC0E8 -/* 0E0C18 7F0AC0E8 90820000 */ lbu $v0, ($a0) -/* 0E0C1C 7F0AC0EC 00001825 */ move $v1, $zero -/* 0E0C20 7F0AC0F0 2405000A */ li $a1, 10 -/* 0E0C24 7F0AC0F4 10400008 */ beqz $v0, .L7F0AC118 -/* 0E0C28 7F0AC0F8 00000000 */ nop -.L7F0AC0FC: -/* 0E0C2C 7F0AC0FC 54A20003 */ bnel $a1, $v0, .L7F0AC10C -/* 0E0C30 7F0AC100 90820001 */ lbu $v0, 1($a0) -/* 0E0C34 7F0AC104 24630001 */ addiu $v1, $v1, 1 -/* 0E0C38 7F0AC108 90820001 */ lbu $v0, 1($a0) -.L7F0AC10C: -/* 0E0C3C 7F0AC10C 24840001 */ addiu $a0, $a0, 1 -/* 0E0C40 7F0AC110 1440FFFA */ bnez $v0, .L7F0AC0FC -/* 0E0C44 7F0AC114 00000000 */ nop -.L7F0AC118: -/* 0E0C48 7F0AC118 03E00008 */ jr $ra -/* 0E0C4C 7F0AC11C 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AC120(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AC120 -/* 0E0C50 7F0AC120 90820000 */ lbu $v0, ($a0) -/* 0E0C54 7F0AC124 00801825 */ move $v1, $a0 -/* 0E0C58 7F0AC128 2405000A */ li $a1, 10 -/* 0E0C5C 7F0AC12C 1040000C */ beqz $v0, .L7F0AC160 -/* 0E0C60 7F0AC130 00000000 */ nop -.L7F0AC134: -/* 0E0C64 7F0AC134 54A20007 */ bnel $a1, $v0, .L7F0AC154 -/* 0E0C68 7F0AC138 90820001 */ lbu $v0, 1($a0) -/* 0E0C6C 7F0AC13C 908E0001 */ lbu $t6, 1($a0) -/* 0E0C70 7F0AC140 24840001 */ addiu $a0, $a0, 1 -/* 0E0C74 7F0AC144 51C00003 */ beql $t6, $zero, .L7F0AC154 -/* 0E0C78 7F0AC148 90820001 */ lbu $v0, 1($a0) -/* 0E0C7C 7F0AC14C 00801825 */ move $v1, $a0 -/* 0E0C80 7F0AC150 90820001 */ lbu $v0, 1($a0) -.L7F0AC154: -/* 0E0C84 7F0AC154 24840001 */ addiu $a0, $a0, 1 -/* 0E0C88 7F0AC158 1440FFF6 */ bnez $v0, .L7F0AC134 -/* 0E0C8C 7F0AC15C 00000000 */ nop -.L7F0AC160: -/* 0E0C90 7F0AC160 03E00008 */ jr $ra -/* 0E0C94 7F0AC164 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0AC168(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80058570*/ -glabel jpt_80058570 -.word .L7F0AC3B8 -.word .L7F0AC400 -.word .L7F0AC448 -.word .L7F0AC490 -.word .L7F0AC4D8 - -.text -glabel sub_GAME_7F0AC168 -/* 0E0C98 7F0AC168 27BDF218 */ addiu $sp, $sp, -0xde8 -/* 0E0C9C 7F0AC16C AFBF005C */ sw $ra, 0x5c($sp) -/* 0E0CA0 7F0AC170 AFBE0058 */ sw $fp, 0x58($sp) -/* 0E0CA4 7F0AC174 AFB70054 */ sw $s7, 0x54($sp) -/* 0E0CA8 7F0AC178 AFB60050 */ sw $s6, 0x50($sp) -/* 0E0CAC 7F0AC17C AFB5004C */ sw $s5, 0x4c($sp) -/* 0E0CB0 7F0AC180 AFB40048 */ sw $s4, 0x48($sp) -/* 0E0CB4 7F0AC184 AFB30044 */ sw $s3, 0x44($sp) -/* 0E0CB8 7F0AC188 AFB20040 */ sw $s2, 0x40($sp) -/* 0E0CBC 7F0AC18C AFB1003C */ sw $s1, 0x3c($sp) -/* 0E0CC0 7F0AC190 AFB00038 */ sw $s0, 0x38($sp) -/* 0E0CC4 7F0AC194 0FC29C53 */ jal sub_GAME_7F0A714C -/* 0E0CC8 7F0AC198 00003025 */ move $a2, $zero -/* 0E0CCC 7F0AC19C 0FC1F97F */ jal check_watch_page_transistion_running -/* 0E0CD0 7F0AC1A0 AFA20DE8 */ sw $v0, 0xde8($sp) -/* 0E0CD4 7F0AC1A4 24010001 */ li $at, 1 -/* 0E0CD8 7F0AC1A8 10410212 */ beq $v0, $at, .L7F0AC9F4 -/* 0E0CDC 7F0AC1AC 27AE0DAC */ addiu $t6, $sp, 0xdac -/* 0E0CE0 7F0AC1B0 3C0F8004 */ lui $t7, %hi(D_80040DFC) -/* 0E0CE4 7F0AC1B4 25EF0DFC */ addiu $t7, %lo(D_80040DFC) # addiu $t7, $t7, 0xdfc -/* 0E0CE8 7F0AC1B8 25F9003C */ addiu $t9, $t7, 0x3c -.L7F0AC1BC: -/* 0E0CEC 7F0AC1BC 8DE10000 */ lw $at, ($t7) -/* 0E0CF0 7F0AC1C0 25EF000C */ addiu $t7, $t7, 0xc -/* 0E0CF4 7F0AC1C4 25CE000C */ addiu $t6, $t6, 0xc -/* 0E0CF8 7F0AC1C8 ADC1FFF4 */ sw $at, -0xc($t6) -/* 0E0CFC 7F0AC1CC 8DE1FFF8 */ lw $at, -8($t7) -/* 0E0D00 7F0AC1D0 ADC1FFF8 */ sw $at, -8($t6) -/* 0E0D04 7F0AC1D4 8DE1FFFC */ lw $at, -4($t7) -/* 0E0D08 7F0AC1D8 15F9FFF8 */ bne $t7, $t9, .L7F0AC1BC -/* 0E0D0C 7F0AC1DC ADC1FFFC */ sw $at, -4($t6) -/* 0E0D10 7F0AC1E0 3C098004 */ lui $t1, %hi(D_80040E38) -/* 0E0D14 7F0AC1E4 25290E38 */ addiu $t1, %lo(D_80040E38) # addiu $t1, $t1, 0xe38 -/* 0E0D18 7F0AC1E8 8D210000 */ lw $at, ($t1) -/* 0E0D1C 7F0AC1EC 8D2B0004 */ lw $t3, 4($t1) -/* 0E0D20 7F0AC1F0 27A80DA4 */ addiu $t0, $sp, 0xda4 -/* 0E0D24 7F0AC1F4 3C0D8004 */ lui $t5, %hi(D_80040E40) -/* 0E0D28 7F0AC1F8 25AD0E40 */ addiu $t5, %lo(D_80040E40) # addiu $t5, $t5, 0xe40 -/* 0E0D2C 7F0AC1FC 25B9003C */ addiu $t9, $t5, 0x3c -/* 0E0D30 7F0AC200 27AC0D68 */ addiu $t4, $sp, 0xd68 -/* 0E0D34 7F0AC204 AD010000 */ sw $at, ($t0) -/* 0E0D38 7F0AC208 AD0B0004 */ sw $t3, 4($t0) -.L7F0AC20C: -/* 0E0D3C 7F0AC20C 8DA10000 */ lw $at, ($t5) -/* 0E0D40 7F0AC210 25AD000C */ addiu $t5, $t5, 0xc -/* 0E0D44 7F0AC214 258C000C */ addiu $t4, $t4, 0xc -/* 0E0D48 7F0AC218 AD81FFF4 */ sw $at, -0xc($t4) -/* 0E0D4C 7F0AC21C 8DA1FFF8 */ lw $at, -8($t5) -/* 0E0D50 7F0AC220 AD81FFF8 */ sw $at, -8($t4) -/* 0E0D54 7F0AC224 8DA1FFFC */ lw $at, -4($t5) -/* 0E0D58 7F0AC228 15B9FFF8 */ bne $t5, $t9, .L7F0AC20C -/* 0E0D5C 7F0AC22C AD81FFFC */ sw $at, -4($t4) -/* 0E0D60 7F0AC230 3C0F8004 */ lui $t7, %hi(ptrFirstFontTableSmall) -/* 0E0D64 7F0AC234 3C0E8004 */ lui $t6, %hi(ptrSecondFontTableSmall) -/* 0E0D68 7F0AC238 8DEF0EAC */ lw $t7, %lo(ptrFirstFontTableSmall)($t7) -/* 0E0D6C 7F0AC23C 8DCE0EB0 */ lw $t6, %lo(ptrSecondFontTableSmall)($t6) -/* 0E0D70 7F0AC240 3C088005 */ lui $t0, %hi(D_800577C0) -/* 0E0D74 7F0AC244 250877C0 */ addiu $t0, %lo(D_800577C0) # addiu $t0, $t0, 0x77c0 -/* 0E0D78 7F0AC248 AFA00D54 */ sw $zero, 0xd54($sp) -/* 0E0D7C 7F0AC24C AFA00D50 */ sw $zero, 0xd50($sp) -/* 0E0D80 7F0AC250 25180BB8 */ addiu $t8, $t0, 0xbb8 -/* 0E0D84 7F0AC254 27AA0190 */ addiu $t2, $sp, 0x190 -/* 0E0D88 7F0AC258 AFAF0D4C */ sw $t7, 0xd4c($sp) -/* 0E0D8C 7F0AC25C AFAE0D48 */ sw $t6, 0xd48($sp) -.L7F0AC260: -/* 0E0D90 7F0AC260 8D010000 */ lw $at, ($t0) -/* 0E0D94 7F0AC264 2508000C */ addiu $t0, $t0, 0xc -/* 0E0D98 7F0AC268 254A000C */ addiu $t2, $t2, 0xc -/* 0E0D9C 7F0AC26C AD41FFF4 */ sw $at, -0xc($t2) -/* 0E0DA0 7F0AC270 8D01FFF8 */ lw $at, -8($t0) -/* 0E0DA4 7F0AC274 AD41FFF8 */ sw $at, -8($t2) -/* 0E0DA8 7F0AC278 8D01FFFC */ lw $at, -4($t0) -/* 0E0DAC 7F0AC27C 1518FFF8 */ bne $t0, $t8, .L7F0AC260 -/* 0E0DB0 7F0AC280 AD41FFFC */ sw $at, -4($t2) -/* 0E0DB4 7F0AC284 0FC30776 */ jal get_textptr_for_textID -/* 0E0DB8 7F0AC288 3404AC28 */ li $a0, 44072 -/* 0E0DBC 7F0AC28C AFA2016C */ sw $v0, 0x16c($sp) -/* 0E0DC0 7F0AC290 0FC30776 */ jal get_textptr_for_textID -/* 0E0DC4 7F0AC294 3404AC29 */ li $a0, 44073 -/* 0E0DC8 7F0AC298 AFA20168 */ sw $v0, 0x168($sp) -/* 0E0DCC 7F0AC29C 0FC30776 */ jal get_textptr_for_textID -/* 0E0DD0 7F0AC2A0 3404AC37 */ li $a0, 44087 -/* 0E0DD4 7F0AC2A4 AFA20164 */ sw $v0, 0x164($sp) -/* 0E0DD8 7F0AC2A8 0FC15C41 */ jal get_ptr_text_for_watch_breifing_page -/* 0E0DDC 7F0AC2AC 00002025 */ move $a0, $zero -/* 0E0DE0 7F0AC2B0 00408025 */ move $s0, $v0 -/* 0E0DE4 7F0AC2B4 0FC2B366 */ jal microcode_constructor -/* 0E0DE8 7F0AC2B8 8FA40DE8 */ lw $a0, 0xde8($sp) -/* 0E0DEC 7F0AC2BC 8FB90D4C */ lw $t9, 0xd4c($sp) -/* 0E0DF0 7F0AC2C0 AFA20DE8 */ sw $v0, 0xde8($sp) -/* 0E0DF4 7F0AC2C4 27A40D54 */ addiu $a0, $sp, 0xd54 -/* 0E0DF8 7F0AC2C8 27A50D50 */ addiu $a1, $sp, 0xd50 -/* 0E0DFC 7F0AC2CC 02003025 */ move $a2, $s0 -/* 0E0E00 7F0AC2D0 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E0E04 7F0AC2D4 AFA00014 */ sw $zero, 0x14($sp) -/* 0E0E08 7F0AC2D8 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E0E0C 7F0AC2DC AFB90010 */ sw $t9, 0x10($sp) -/* 0E0E10 7F0AC2E0 8FA20D50 */ lw $v0, 0xd50($sp) -/* 0E0E14 7F0AC2E4 240D00AA */ li $t5, 170 -/* 0E0E18 7F0AC2E8 8FAB0D54 */ lw $t3, 0xd54($sp) -/* 0E0E1C 7F0AC2EC 01A21823 */ subu $v1, $t5, $v0 -/* 0E0E20 7F0AC2F0 04610003 */ bgez $v1, .L7F0AC300 -/* 0E0E24 7F0AC2F4 00036043 */ sra $t4, $v1, 1 -/* 0E0E28 7F0AC2F8 24610001 */ addiu $at, $v1, 1 -/* 0E0E2C 7F0AC2FC 00016043 */ sra $t4, $at, 1 -.L7F0AC300: -/* 0E0E30 7F0AC300 2583004B */ addiu $v1, $t4, 0x4b -/* 0E0E34 7F0AC304 240F001E */ li $t7, 30 -/* 0E0E38 7F0AC308 27B80D58 */ addiu $t8, $sp, 0xd58 -/* 0E0E3C 7F0AC30C 00627021 */ addu $t6, $v1, $v0 -/* 0E0E40 7F0AC310 2569001E */ addiu $t1, $t3, 0x1e -/* 0E0E44 7F0AC314 AFAF0D60 */ sw $t7, 0xd60($sp) -/* 0E0E48 7F0AC318 AFAE0D5C */ sw $t6, 0xd5c($sp) -/* 0E0E4C 7F0AC31C AFA90D58 */ sw $t1, 0xd58($sp) -/* 0E0E50 7F0AC320 AFB80010 */ sw $t8, 0x10($sp) -/* 0E0E54 7F0AC324 AFA30D64 */ sw $v1, 0xd64($sp) -/* 0E0E58 7F0AC328 8FA40DE8 */ lw $a0, 0xde8($sp) -/* 0E0E5C 7F0AC32C 27A50D64 */ addiu $a1, $sp, 0xd64 -/* 0E0E60 7F0AC330 27A60D60 */ addiu $a2, $sp, 0xd60 -/* 0E0E64 7F0AC334 0FC2B3D3 */ jal draw_blackbox_to_screen -/* 0E0E68 7F0AC338 27A70D5C */ addiu $a3, $sp, 0xd5c -/* 0E0E6C 7F0AC33C 8FA80D48 */ lw $t0, 0xd48($sp) -/* 0E0E70 7F0AC340 8FAA0D4C */ lw $t2, 0xd4c($sp) -/* 0E0E74 7F0AC344 8FAD0D50 */ lw $t5, 0xd50($sp) -/* 0E0E78 7F0AC348 8FAC0D54 */ lw $t4, 0xd54($sp) -/* 0E0E7C 7F0AC34C 3C19A0FF */ lui $t9, (0xA0FFA0F0 >> 16) # lui $t9, 0xa0ff -/* 0E0E80 7F0AC350 3739A0F0 */ ori $t9, (0xA0FFA0F0 & 0xFFFF) # ori $t9, $t9, 0xa0f0 -/* 0E0E84 7F0AC354 AFB90018 */ sw $t9, 0x18($sp) -/* 0E0E88 7F0AC358 00402025 */ move $a0, $v0 -/* 0E0E8C 7F0AC35C 27A50D64 */ addiu $a1, $sp, 0xd64 -/* 0E0E90 7F0AC360 27A60D60 */ addiu $a2, $sp, 0xd60 -/* 0E0E94 7F0AC364 02003825 */ move $a3, $s0 -/* 0E0E98 7F0AC368 AFA00024 */ sw $zero, 0x24($sp) -/* 0E0E9C 7F0AC36C AFA00028 */ sw $zero, 0x28($sp) -/* 0E0EA0 7F0AC370 AFA80010 */ sw $t0, 0x10($sp) -/* 0E0EA4 7F0AC374 AFAA0014 */ sw $t2, 0x14($sp) -/* 0E0EA8 7F0AC378 AFAD001C */ sw $t5, 0x1c($sp) -/* 0E0EAC 7F0AC37C 0FC2B6AF */ jal en_text_write_stuff -/* 0E0EB0 7F0AC380 AFAC0020 */ sw $t4, 0x20($sp) -/* 0E0EB4 7F0AC384 3C0F8004 */ lui $t7, %hi(D_800409A0) -/* 0E0EB8 7F0AC388 8DEF09A0 */ lw $t7, %lo(D_800409A0)($t7) -/* 0E0EBC 7F0AC38C 24030041 */ li $v1, 65 -/* 0E0EC0 7F0AC390 AFA20DE8 */ sw $v0, 0xde8($sp) -/* 0E0EC4 7F0AC394 2DE10005 */ sltiu $at, $t7, 5 -/* 0E0EC8 7F0AC398 10200154 */ beqz $at, .L7F0AC8EC -/* 0E0ECC 7F0AC39C AFA30D64 */ sw $v1, 0xd64($sp) -/* 0E0ED0 7F0AC3A0 000F7880 */ sll $t7, $t7, 2 -/* 0E0ED4 7F0AC3A4 3C018006 */ lui $at, %hi(jpt_80058570) -/* 0E0ED8 7F0AC3A8 002F0821 */ addu $at, $at, $t7 -/* 0E0EDC 7F0AC3AC 8C2F8570 */ lw $t7, %lo(jpt_80058570)($at) -/* 0E0EE0 7F0AC3B0 01E00008 */ jr $t7 -/* 0E0EE4 7F0AC3B4 00000000 */ nop -.L7F0AC3B8: -/* 0E0EE8 7F0AC3B8 0FC30776 */ jal get_textptr_for_textID -/* 0E0EEC 7F0AC3BC 3404AC38 */ li $a0, 44088 -/* 0E0EF0 7F0AC3C0 27A40170 */ addiu $a0, $sp, 0x170 -/* 0E0EF4 7F0AC3C4 0C002B25 */ jal sprintf -/* 0E0EF8 7F0AC3C8 00402825 */ move $a1, $v0 -/* 0E0EFC 7F0AC3CC 0FC15C41 */ jal get_ptr_text_for_watch_breifing_page -/* 0E0F00 7F0AC3D0 24040001 */ li $a0, 1 -/* 0E0F04 7F0AC3D4 8FAE0D4C */ lw $t6, 0xd4c($sp) -/* 0E0F08 7F0AC3D8 240400D2 */ li $a0, 210 -/* 0E0F0C 7F0AC3DC 00402825 */ move $a1, $v0 -/* 0E0F10 7F0AC3E0 27A60190 */ addiu $a2, $sp, 0x190 -/* 0E0F14 7F0AC3E4 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E0F18 7F0AC3E8 0FC2BAD9 */ jal sub_GAME_7F0AEB64 -/* 0E0F1C 7F0AC3EC AFAE0010 */ sw $t6, 0x10($sp) -/* 0E0F20 7F0AC3F0 0FC29986 */ jal sub_GAME_7F0A6618 -/* 0E0F24 7F0AC3F4 00000000 */ nop -/* 0E0F28 7F0AC3F8 1000013D */ b .L7F0AC8F0 -/* 0E0F2C 7F0AC3FC 8FAA0D4C */ lw $t2, 0xd4c($sp) -.L7F0AC400: -/* 0E0F30 7F0AC400 0FC30776 */ jal get_textptr_for_textID -/* 0E0F34 7F0AC404 3404AC39 */ li $a0, 44089 -/* 0E0F38 7F0AC408 27A40170 */ addiu $a0, $sp, 0x170 -/* 0E0F3C 7F0AC40C 0C002B25 */ jal sprintf -/* 0E0F40 7F0AC410 00402825 */ move $a1, $v0 -/* 0E0F44 7F0AC414 0FC15C41 */ jal get_ptr_text_for_watch_breifing_page -/* 0E0F48 7F0AC418 24040002 */ li $a0, 2 -/* 0E0F4C 7F0AC41C 8FAB0D4C */ lw $t3, 0xd4c($sp) -/* 0E0F50 7F0AC420 240400D2 */ li $a0, 210 -/* 0E0F54 7F0AC424 00402825 */ move $a1, $v0 -/* 0E0F58 7F0AC428 27A60190 */ addiu $a2, $sp, 0x190 -/* 0E0F5C 7F0AC42C 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E0F60 7F0AC430 0FC2BAD9 */ jal sub_GAME_7F0AEB64 -/* 0E0F64 7F0AC434 AFAB0010 */ sw $t3, 0x10($sp) -/* 0E0F68 7F0AC438 0FC299A8 */ jal sub_GAME_7F0A66A0 -/* 0E0F6C 7F0AC43C 00000000 */ nop -/* 0E0F70 7F0AC440 1000012B */ b .L7F0AC8F0 -/* 0E0F74 7F0AC444 8FAA0D4C */ lw $t2, 0xd4c($sp) -.L7F0AC448: -/* 0E0F78 7F0AC448 0FC30776 */ jal get_textptr_for_textID -/* 0E0F7C 7F0AC44C 3404AC3A */ li $a0, 44090 -/* 0E0F80 7F0AC450 27A40170 */ addiu $a0, $sp, 0x170 -/* 0E0F84 7F0AC454 0C002B25 */ jal sprintf -/* 0E0F88 7F0AC458 00402825 */ move $a1, $v0 -/* 0E0F8C 7F0AC45C 0FC15C41 */ jal get_ptr_text_for_watch_breifing_page -/* 0E0F90 7F0AC460 24040003 */ li $a0, 3 -/* 0E0F94 7F0AC464 8FA90D4C */ lw $t1, 0xd4c($sp) -/* 0E0F98 7F0AC468 240400D2 */ li $a0, 210 -/* 0E0F9C 7F0AC46C 00402825 */ move $a1, $v0 -/* 0E0FA0 7F0AC470 27A60190 */ addiu $a2, $sp, 0x190 -/* 0E0FA4 7F0AC474 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E0FA8 7F0AC478 0FC2BAD9 */ jal sub_GAME_7F0AEB64 -/* 0E0FAC 7F0AC47C AFA90010 */ sw $t1, 0x10($sp) -/* 0E0FB0 7F0AC480 0FC299CB */ jal sub_GAME_7F0A672C -/* 0E0FB4 7F0AC484 00000000 */ nop -/* 0E0FB8 7F0AC488 10000119 */ b .L7F0AC8F0 -/* 0E0FBC 7F0AC48C 8FAA0D4C */ lw $t2, 0xd4c($sp) -.L7F0AC490: -/* 0E0FC0 7F0AC490 0FC30776 */ jal get_textptr_for_textID -/* 0E0FC4 7F0AC494 3404AC3B */ li $a0, 44091 -/* 0E0FC8 7F0AC498 27A40170 */ addiu $a0, $sp, 0x170 -/* 0E0FCC 7F0AC49C 0C002B25 */ jal sprintf -/* 0E0FD0 7F0AC4A0 00402825 */ move $a1, $v0 -/* 0E0FD4 7F0AC4A4 0FC15C41 */ jal get_ptr_text_for_watch_breifing_page -/* 0E0FD8 7F0AC4A8 24040004 */ li $a0, 4 -/* 0E0FDC 7F0AC4AC 8FB80D4C */ lw $t8, 0xd4c($sp) -/* 0E0FE0 7F0AC4B0 240400D2 */ li $a0, 210 -/* 0E0FE4 7F0AC4B4 00402825 */ move $a1, $v0 -/* 0E0FE8 7F0AC4B8 27A60190 */ addiu $a2, $sp, 0x190 -/* 0E0FEC 7F0AC4BC 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E0FF0 7F0AC4C0 0FC2BAD9 */ jal sub_GAME_7F0AEB64 -/* 0E0FF4 7F0AC4C4 AFB80010 */ sw $t8, 0x10($sp) -/* 0E0FF8 7F0AC4C8 0FC299EF */ jal sub_GAME_7F0A67BC -/* 0E0FFC 7F0AC4CC 00000000 */ nop -/* 0E1000 7F0AC4D0 10000107 */ b .L7F0AC8F0 -/* 0E1004 7F0AC4D4 8FAA0D4C */ lw $t2, 0xd4c($sp) -.L7F0AC4D8: -/* 0E1008 7F0AC4D8 3C088006 */ lui $t0, %hi(D_80057FC0+0x3B8) -/* 0E100C 7F0AC4DC 27B10088 */ addiu $s1, $sp, 0x88 -/* 0E1010 7F0AC4E0 25088378 */ addiu $t0, %lo(D_80057FC0+0x3B8) # addiu $t0, $t0, -0x7c88 -/* 0E1014 7F0AC4E4 250D00C0 */ addiu $t5, $t0, 0xc0 -/* 0E1018 7F0AC4E8 02206025 */ move $t4, $s1 -.L7F0AC4EC: -/* 0E101C 7F0AC4EC 8D010000 */ lw $at, ($t0) -/* 0E1020 7F0AC4F0 2508000C */ addiu $t0, $t0, 0xc -/* 0E1024 7F0AC4F4 258C000C */ addiu $t4, $t4, 0xc -/* 0E1028 7F0AC4F8 AD81FFF4 */ sw $at, -0xc($t4) -/* 0E102C 7F0AC4FC 8D01FFF8 */ lw $at, -8($t0) -/* 0E1030 7F0AC500 AD81FFF8 */ sw $at, -8($t4) -/* 0E1034 7F0AC504 8D01FFFC */ lw $at, -4($t0) -/* 0E1038 7F0AC508 150DFFF8 */ bne $t0, $t5, .L7F0AC4EC -/* 0E103C 7F0AC50C AD81FFFC */ sw $at, -4($t4) -/* 0E1040 7F0AC510 8D010000 */ lw $at, ($t0) -/* 0E1044 7F0AC514 3C0F8005 */ lui $t7, %hi(j_text_trigger) -/* 0E1048 7F0AC518 24120001 */ li $s2, 1 -/* 0E104C 7F0AC51C AD810000 */ sw $at, ($t4) -/* 0E1050 7F0AC520 8D0D0004 */ lw $t5, 4($t0) -/* 0E1054 7F0AC524 00009825 */ move $s3, $zero -/* 0E1058 7F0AC528 24040005 */ li $a0, 5 -/* 0E105C 7F0AC52C AD8D0004 */ sw $t5, 4($t4) -/* 0E1060 7F0AC530 8DEF84D0 */ lw $t7, %lo(j_text_trigger)($t7) -/* 0E1064 7F0AC534 AFA00074 */ sw $zero, 0x74($sp) -/* 0E1068 7F0AC538 11E00003 */ beqz $t7, .L7F0AC548 -/* 0E106C 7F0AC53C 00000000 */ nop -/* 0E1070 7F0AC540 10000001 */ b .L7F0AC548 -/* 0E1074 7F0AC544 24040001 */ li $a0, 1 -.L7F0AC548: -/* 0E1078 7F0AC548 0FC2B2E8 */ jal setTextOverlapCorrection -/* 0E107C 7F0AC54C 00000000 */ nop -/* 0E1080 7F0AC550 0FC30776 */ jal get_textptr_for_textID -/* 0E1084 7F0AC554 3404AC3C */ li $a0, 44092 -/* 0E1088 7F0AC558 27A40170 */ addiu $a0, $sp, 0x170 -/* 0E108C 7F0AC55C 0C002B25 */ jal sprintf -/* 0E1090 7F0AC560 00402825 */ move $a1, $v0 -/* 0E1094 7F0AC564 0FC15C6A */ jal add_objective -/* 0E1098 7F0AC568 0000F025 */ move $fp, $zero -/* 0E109C 7F0AC56C 184000DB */ blez $v0, .L7F0AC8DC -/* 0E10A0 7F0AC570 3C178006 */ lui $s7, %hi(D_80058454) -/* 0E10A4 7F0AC574 3C168006 */ lui $s6, %hi(D_80058450) -/* 0E10A8 7F0AC578 3C158006 */ lui $s5, %hi(D_80058444) -/* 0E10AC 7F0AC57C 3C148006 */ lui $s4, %hi(D_80058440) -/* 0E10B0 7F0AC580 26948440 */ addiu $s4, %lo(D_80058440) # addiu $s4, $s4, -0x7bc0 -/* 0E10B4 7F0AC584 26B58444 */ addiu $s5, %lo(D_80058444) # addiu $s5, $s5, -0x7bbc -/* 0E10B8 7F0AC588 26D68450 */ addiu $s6, %lo(D_80058450) # addiu $s6, $s6, -0x7bb0 -/* 0E10BC 7F0AC58C 26F78454 */ addiu $s7, %lo(D_80058454) # addiu $s7, $s7, -0x7bac -.L7F0AC590: -/* 0E10C0 7F0AC590 0FC15C81 */ jal get_difficulty_for_objective -/* 0E10C4 7F0AC594 03C02025 */ move $a0, $fp -/* 0E10C8 7F0AC598 0FC2FF04 */ jal get_current_difficulty -/* 0E10CC 7F0AC59C AFA20068 */ sw $v0, 0x68($sp) -/* 0E10D0 7F0AC5A0 8FA40068 */ lw $a0, 0x68($sp) -/* 0E10D4 7F0AC5A4 0044082A */ slt $at, $v0, $a0 -/* 0E10D8 7F0AC5A8 142000C7 */ bnez $at, .L7F0AC8C8 -/* 0E10DC 7F0AC5AC 03C02025 */ move $a0, $fp -/* 0E10E0 7F0AC5B0 0FC15C6E */ jal get_text_for_objective -/* 0E10E4 7F0AC5B4 00008025 */ move $s0, $zero -/* 0E10E8 7F0AC5B8 AFA20078 */ sw $v0, 0x78($sp) -/* 0E10EC 7F0AC5BC 1A400008 */ blez $s2, .L7F0AC5E0 -/* 0E10F0 7F0AC5C0 A3A00088 */ sb $zero, 0x88($sp) -/* 0E10F4 7F0AC5C4 02202025 */ move $a0, $s1 -.L7F0AC5C8: -/* 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 -/* 0E1108 7F0AC5D8 02202025 */ move $a0, $s1 -/* 0E110C 7F0AC5DC 00008025 */ move $s0, $zero -.L7F0AC5E0: -/* 0E1110 7F0AC5E0 1A600007 */ blez $s3, .L7F0AC600 -/* 0E1114 7F0AC5E4 02202025 */ move $a0, $s1 -.L7F0AC5E8: -/* 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 -/* 0E1128 7F0AC5F8 02202025 */ move $a0, $s1 -/* 0E112C 7F0AC5FC 00008025 */ move $s0, $zero -.L7F0AC600: -/* 0E1130 7F0AC600 0C004E1F */ jal strlen -/* 0E1134 7F0AC604 02202025 */ move $a0, $s1 -/* 0E1138 7F0AC608 8FA60074 */ lw $a2, 0x74($sp) -/* 0E113C 7F0AC60C 00512021 */ addu $a0, $v0, $s1 -/* 0E1140 7F0AC610 3C058006 */ lui $a1, %hi(aC_2) -/* 0E1144 7F0AC614 AFA4006C */ sw $a0, 0x6c($sp) -/* 0E1148 7F0AC618 24A58448 */ addiu $a1, %lo(aC_2) # addiu $a1, $a1, -0x7bb8 -/* 0E114C 7F0AC61C 0C002B25 */ jal sprintf -/* 0E1150 7F0AC620 24C60061 */ addiu $a2, $a2, 0x61 -/* 0E1154 7F0AC624 02202025 */ move $a0, $s1 -/* 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) -/* 0E1168 7F0AC638 8FAB0D60 */ lw $t3, 0xd60($sp) -/* 0E116C 7F0AC63C 24040005 */ li $a0, 5 -/* 0E1170 7F0AC640 11C00003 */ beqz $t6, .L7F0AC650 -/* 0E1174 7F0AC644 2418003C */ li $t8, 60 -/* 0E1178 7F0AC648 10000001 */ b .L7F0AC650 -/* 0E117C 7F0AC64C 24040001 */ li $a0, 1 -.L7F0AC650: -/* 0E1180 7F0AC650 008B4821 */ addu $t1, $a0, $t3 -/* 0E1184 7F0AC654 AFA90154 */ sw $t1, 0x154($sp) -/* 0E1188 7F0AC658 0C001107 */ jal get_video2_settings_txtClipW -/* 0E118C 7F0AC65C AFB80150 */ sw $t8, 0x150($sp) -/* 0E1190 7F0AC660 0C00110B */ jal get_video2_settings_txtClipH -/* 0E1194 7F0AC664 A7A20064 */ sh $v0, 0x64($sp) -/* 0E1198 7F0AC668 8FB90D48 */ lw $t9, 0xd48($sp) -/* 0E119C 7F0AC66C 8FAA0D4C */ lw $t2, 0xd4c($sp) -/* 0E11A0 7F0AC670 87A80064 */ lh $t0, 0x64($sp) -/* 0E11A4 7F0AC674 3C0D00FF */ lui $t5, (0x00FF00B0 >> 16) # lui $t5, 0xff -/* 0E11A8 7F0AC678 35AD00B0 */ ori $t5, (0x00FF00B0 & 0xFFFF) # ori $t5, $t5, 0xb0 -/* 0E11AC 7F0AC67C 240C000A */ li $t4, 10 -/* 0E11B0 7F0AC680 AFAC0028 */ sw $t4, 0x28($sp) -/* 0E11B4 7F0AC684 AFAD0018 */ sw $t5, 0x18($sp) -/* 0E11B8 7F0AC688 8FA40DE8 */ lw $a0, 0xde8($sp) -/* 0E11BC 7F0AC68C 27A50150 */ addiu $a1, $sp, 0x150 -/* 0E11C0 7F0AC690 27A60154 */ addiu $a2, $sp, 0x154 -/* 0E11C4 7F0AC694 02203825 */ move $a3, $s1 -/* 0E11C8 7F0AC698 AFA20020 */ sw $v0, 0x20($sp) -/* 0E11CC 7F0AC69C AFA00024 */ sw $zero, 0x24($sp) -/* 0E11D0 7F0AC6A0 AFB90010 */ sw $t9, 0x10($sp) -/* 0E11D4 7F0AC6A4 AFAA0014 */ sw $t2, 0x14($sp) -/* 0E11D8 7F0AC6A8 0FC2B6AF */ jal en_text_write_stuff -/* 0E11DC 7F0AC6AC AFA8001C */ sw $t0, 0x1c($sp) -/* 0E11E0 7F0AC6B0 AFA20DE8 */ sw $v0, 0xde8($sp) -/* 0E11E4 7F0AC6B4 0FC2B03A */ jal sub_GAME_7F0AC0E8 -/* 0E11E8 7F0AC6B8 8FA4006C */ lw $a0, 0x6c($sp) -/* 0E11EC 7F0AC6BC 02429021 */ addu $s2, $s2, $v0 -/* 0E11F0 7F0AC6C0 0FC2B048 */ jal sub_GAME_7F0AC120 -/* 0E11F4 7F0AC6C4 8FA4006C */ lw $a0, 0x6c($sp) -/* 0E11F8 7F0AC6C8 8FAF0D4C */ lw $t7, 0xd4c($sp) -/* 0E11FC 7F0AC6CC 240E000A */ li $t6, 10 -/* 0E1200 7F0AC6D0 AFAE0014 */ sw $t6, 0x14($sp) -/* 0E1204 7F0AC6D4 27A40D54 */ addiu $a0, $sp, 0xd54 -/* 0E1208 7F0AC6D8 27A50D50 */ addiu $a1, $sp, 0xd50 -/* 0E120C 7F0AC6DC 00403025 */ move $a2, $v0 -/* 0E1210 7F0AC6E0 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E1214 7F0AC6E4 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E1218 7F0AC6E8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0E121C 7F0AC6EC 0C001107 */ jal get_video2_settings_txtClipW -/* 0E1220 7F0AC6F0 00000000 */ nop -/* 0E1224 7F0AC6F4 8FA90D50 */ lw $t1, 0xd50($sp) -/* 0E1228 7F0AC6F8 04410003 */ bgez $v0, .L7F0AC708 -/* 0E122C 7F0AC6FC 00025843 */ sra $t3, $v0, 1 -/* 0E1230 7F0AC700 24410001 */ addiu $at, $v0, 1 -/* 0E1234 7F0AC704 00015843 */ sra $t3, $at, 1 -.L7F0AC708: -/* 0E1238 7F0AC708 2538003C */ addiu $t8, $t1, 0x3c -/* 0E123C 7F0AC70C 030B082A */ slt $at, $t8, $t3 -/* 0E1240 7F0AC710 10200002 */ beqz $at, .L7F0AC71C -/* 0E1244 7F0AC714 00000000 */ nop -/* 0E1248 7F0AC718 2652FFFF */ addiu $s2, $s2, -1 -.L7F0AC71C: -/* 0E124C 7F0AC71C 1A400008 */ blez $s2, .L7F0AC740 -/* 0E1250 7F0AC720 A3A00088 */ sb $zero, 0x88($sp) -/* 0E1254 7F0AC724 02202025 */ move $a0, $s1 -.L7F0AC728: -/* 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 -/* 0E1268 7F0AC738 02202025 */ move $a0, $s1 -/* 0E126C 7F0AC73C 00008025 */ move $s0, $zero -.L7F0AC740: -/* 0E1270 7F0AC740 1A600006 */ blez $s3, .L7F0AC75C -/* 0E1274 7F0AC744 02202025 */ move $a0, $s1 -.L7F0AC748: -/* 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 -/* 0E1288 7F0AC758 02202025 */ move $a0, $s1 -.L7F0AC75C: -/* 0E128C 7F0AC75C 0FC15C8E */ jal get_status_of_objective -/* 0E1290 7F0AC760 03C02025 */ move $a0, $fp -/* 0E1294 7F0AC764 10400009 */ beqz $v0, .L7F0AC78C -/* 0E1298 7F0AC768 02202025 */ move $a0, $s1 -/* 0E129C 7F0AC76C 24010001 */ li $at, 1 -/* 0E12A0 7F0AC770 10410010 */ beq $v0, $at, .L7F0AC7B4 -/* 0E12A4 7F0AC774 02202025 */ move $a0, $s1 -/* 0E12A8 7F0AC778 24010002 */ li $at, 2 -/* 0E12AC 7F0AC77C 10410014 */ beq $v0, $at, .L7F0AC7D0 -/* 0E12B0 7F0AC780 02202025 */ move $a0, $s1 -/* 0E12B4 7F0AC784 1000001F */ b .L7F0AC804 -/* 0E12B8 7F0AC788 8FA90D4C */ lw $t1, 0xd4c($sp) -.L7F0AC78C: -/* 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) -/* 0E12CC 7F0AC79C 3C014000 */ lui $at, (0x400040FF >> 16) # lui $at, 0x4000 -/* 0E12D0 7F0AC7A0 342140FF */ ori $at, (0x400040FF & 0xFFFF) # ori $at, $at, 0x40ff -/* 0E12D4 7F0AC7A4 00195400 */ sll $t2, $t9, 0x10 -/* 0E12D8 7F0AC7A8 01416825 */ or $t5, $t2, $at -/* 0E12DC 7F0AC7AC 10000014 */ b .L7F0AC800 -/* 0E12E0 7F0AC7B0 AFAD0084 */ sw $t5, 0x84($sp) -.L7F0AC7B4: -/* 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_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_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) -/* 0E1310 7F0AC7E0 3C0E00FF */ lui $t6, (0x00FF00B0 >> 16) # lui $t6, 0xff -/* 0E1314 7F0AC7E4 3C0FA0FF */ lui $t7, (0xA0FFA0F0 >> 16) # lui $t7, 0xa0ff -/* 0E1318 7F0AC7E8 11800004 */ beqz $t4, .L7F0AC7FC -/* 0E131C 7F0AC7EC 35CE00B0 */ ori $t6, (0x00FF00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0E1320 7F0AC7F0 35EFA0F0 */ ori $t7, (0xA0FFA0F0 & 0xFFFF) # ori $t7, $t7, 0xa0f0 -/* 0E1324 7F0AC7F4 10000002 */ b .L7F0AC800 -/* 0E1328 7F0AC7F8 AFAF0084 */ sw $t7, 0x84($sp) -.L7F0AC7FC: -/* 0E132C 7F0AC7FC AFAE0084 */ sw $t6, 0x84($sp) -.L7F0AC800: -/* 0E1330 7F0AC800 8FA90D4C */ lw $t1, 0xd4c($sp) -.L7F0AC804: -/* 0E1334 7F0AC804 240B000A */ li $t3, 10 -/* 0E1338 7F0AC808 AFAB0014 */ sw $t3, 0x14($sp) -/* 0E133C 7F0AC80C 27A40D54 */ addiu $a0, $sp, 0xd54 -/* 0E1340 7F0AC810 27A50D50 */ addiu $a1, $sp, 0xd50 -/* 0E1344 7F0AC814 02203025 */ move $a2, $s1 -/* 0E1348 7F0AC818 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E134C 7F0AC81C 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E1350 7F0AC820 AFA90010 */ sw $t1, 0x10($sp) -/* 0E1354 7F0AC824 3C028005 */ lui $v0, %hi(j_text_trigger) -/* 0E1358 7F0AC828 8C4284D0 */ lw $v0, %lo(j_text_trigger)($v0) -/* 0E135C 7F0AC82C 8FB80D60 */ lw $t8, 0xd60($sp) -/* 0E1360 7F0AC830 24040005 */ li $a0, 5 -/* 0E1364 7F0AC834 10400003 */ beqz $v0, .L7F0AC844 -/* 0E1368 7F0AC838 240C00AF */ li $t4, 175 -/* 0E136C 7F0AC83C 10000001 */ b .L7F0AC844 -/* 0E1370 7F0AC840 24040001 */ li $a0, 1 -.L7F0AC844: -/* 0E1374 7F0AC844 0098C821 */ addu $t9, $a0, $t8 -/* 0E1378 7F0AC848 10400006 */ beqz $v0, .L7F0AC864 -/* 0E137C 7F0AC84C AFB90154 */ sw $t9, 0x154($sp) -/* 0E1380 7F0AC850 8FAA0D50 */ lw $t2, 0xd50($sp) -/* 0E1384 7F0AC854 240D00F5 */ li $t5, 245 -/* 0E1388 7F0AC858 01AA4023 */ subu $t0, $t5, $t2 -/* 0E138C 7F0AC85C 10000002 */ b .L7F0AC868 -/* 0E1390 7F0AC860 AFA80150 */ sw $t0, 0x150($sp) -.L7F0AC864: -/* 0E1394 7F0AC864 AFAC0150 */ sw $t4, 0x150($sp) -.L7F0AC868: -/* 0E1398 7F0AC868 0C00110B */ jal get_video2_settings_txtClipH -/* 0E139C 7F0AC86C 00000000 */ nop -/* 0E13A0 7F0AC870 8FAF0D48 */ lw $t7, 0xd48($sp) -/* 0E13A4 7F0AC874 8FAE0D4C */ lw $t6, 0xd4c($sp) -/* 0E13A8 7F0AC878 8FA90084 */ lw $t1, 0x84($sp) -/* 0E13AC 7F0AC87C 240B00D2 */ li $t3, 210 -/* 0E13B0 7F0AC880 2418000A */ li $t8, 10 -/* 0E13B4 7F0AC884 AFB80028 */ sw $t8, 0x28($sp) -/* 0E13B8 7F0AC888 AFAB001C */ sw $t3, 0x1c($sp) -/* 0E13BC 7F0AC88C 8FA40DE8 */ lw $a0, 0xde8($sp) -/* 0E13C0 7F0AC890 27A50150 */ addiu $a1, $sp, 0x150 -/* 0E13C4 7F0AC894 27A60154 */ addiu $a2, $sp, 0x154 -/* 0E13C8 7F0AC898 02203825 */ move $a3, $s1 -/* 0E13CC 7F0AC89C AFA20020 */ sw $v0, 0x20($sp) -/* 0E13D0 7F0AC8A0 AFA00024 */ sw $zero, 0x24($sp) -/* 0E13D4 7F0AC8A4 AFAF0010 */ sw $t7, 0x10($sp) -/* 0E13D8 7F0AC8A8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0E13DC 7F0AC8AC 0FC2B6AF */ jal en_text_write_stuff -/* 0E13E0 7F0AC8B0 AFA90018 */ sw $t1, 0x18($sp) -/* 0E13E4 7F0AC8B4 8FB90074 */ lw $t9, 0x74($sp) -/* 0E13E8 7F0AC8B8 AFA20DE8 */ sw $v0, 0xde8($sp) -/* 0E13EC 7F0AC8BC 26730001 */ addiu $s3, $s3, 1 -/* 0E13F0 7F0AC8C0 272D0001 */ addiu $t5, $t9, 1 -/* 0E13F4 7F0AC8C4 AFAD0074 */ sw $t5, 0x74($sp) -.L7F0AC8C8: -/* 0E13F8 7F0AC8C8 0FC15C6A */ jal add_objective -/* 0E13FC 7F0AC8CC 27DE0001 */ addiu $fp, $fp, 1 -/* 0E1400 7F0AC8D0 03C2082A */ slt $at, $fp, $v0 -/* 0E1404 7F0AC8D4 1420FF2E */ bnez $at, .L7F0AC590 -/* 0E1408 7F0AC8D8 00000000 */ nop -.L7F0AC8DC: -/* 0E140C 7F0AC8DC 0FC2B2E8 */ jal setTextOverlapCorrection -/* 0E1410 7F0AC8E0 2404FFFF */ li $a0, -1 -/* 0E1414 7F0AC8E4 0FC29A13 */ jal sub_GAME_7F0A684C -/* 0E1418 7F0AC8E8 00000000 */ nop -.L7F0AC8EC: -/* 0E141C 7F0AC8EC 8FAA0D4C */ lw $t2, 0xd4c($sp) -.L7F0AC8F0: -/* 0E1420 7F0AC8F0 2408000A */ li $t0, 10 -/* 0E1424 7F0AC8F4 AFA80014 */ sw $t0, 0x14($sp) -/* 0E1428 7F0AC8F8 27A40D54 */ addiu $a0, $sp, 0xd54 -/* 0E142C 7F0AC8FC 27A50D50 */ addiu $a1, $sp, 0xd50 -/* 0E1430 7F0AC900 27A60170 */ addiu $a2, $sp, 0x170 -/* 0E1434 7F0AC904 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E1438 7F0AC908 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E143C 7F0AC90C AFAA0010 */ sw $t2, 0x10($sp) -/* 0E1440 7F0AC910 8FAC0D48 */ lw $t4, 0xd48($sp) -/* 0E1444 7F0AC914 8FAF0D4C */ lw $t7, 0xd4c($sp) -/* 0E1448 7F0AC918 3C0EA0FF */ lui $t6, (0xA0FFA0F0 >> 16) # lui $t6, 0xa0ff -/* 0E144C 7F0AC91C 35CEA0F0 */ ori $t6, (0xA0FFA0F0 & 0xFFFF) # ori $t6, $t6, 0xa0f0 -/* 0E1450 7F0AC920 240900D2 */ li $t1, 210 -/* 0E1454 7F0AC924 240B0082 */ li $t3, 130 -/* 0E1458 7F0AC928 2418000A */ li $t8, 10 -/* 0E145C 7F0AC92C AFB80028 */ sw $t8, 0x28($sp) -/* 0E1460 7F0AC930 AFAB0020 */ sw $t3, 0x20($sp) -/* 0E1464 7F0AC934 AFA9001C */ sw $t1, 0x1c($sp) -/* 0E1468 7F0AC938 AFAE0018 */ sw $t6, 0x18($sp) -/* 0E146C 7F0AC93C 8FA40DE8 */ lw $a0, 0xde8($sp) -/* 0E1470 7F0AC940 27A50D64 */ addiu $a1, $sp, 0xd64 -/* 0E1474 7F0AC944 27A60D60 */ addiu $a2, $sp, 0xd60 -/* 0E1478 7F0AC948 27A70170 */ addiu $a3, $sp, 0x170 -/* 0E147C 7F0AC94C AFA00024 */ sw $zero, 0x24($sp) -/* 0E1480 7F0AC950 AFAC0010 */ sw $t4, 0x10($sp) -/* 0E1484 7F0AC954 0FC2B6AF */ jal en_text_write_stuff -/* 0E1488 7F0AC958 AFAF0014 */ sw $t7, 0x14($sp) -/* 0E148C 7F0AC95C 8FB90D60 */ lw $t9, 0xd60($sp) -/* 0E1490 7F0AC960 8FAA0D4C */ lw $t2, 0xd4c($sp) -/* 0E1494 7F0AC964 2403003C */ li $v1, 60 -/* 0E1498 7F0AC968 2408000A */ li $t0, 10 -/* 0E149C 7F0AC96C 272D0005 */ addiu $t5, $t9, 5 -/* 0E14A0 7F0AC970 AFA20DE8 */ sw $v0, 0xde8($sp) -/* 0E14A4 7F0AC974 AFAD0D60 */ sw $t5, 0xd60($sp) -/* 0E14A8 7F0AC978 AFA80014 */ sw $t0, 0x14($sp) -/* 0E14AC 7F0AC97C AFA30D64 */ sw $v1, 0xd64($sp) -/* 0E14B0 7F0AC980 27A40D54 */ addiu $a0, $sp, 0xd54 -/* 0E14B4 7F0AC984 27A50D50 */ addiu $a1, $sp, 0xd50 -/* 0E14B8 7F0AC988 27A60190 */ addiu $a2, $sp, 0x190 -/* 0E14BC 7F0AC98C 8FA70D48 */ lw $a3, 0xd48($sp) -/* 0E14C0 7F0AC990 0FC2BA63 */ jal sub_GAME_7F0AE98C -/* 0E14C4 7F0AC994 AFAA0010 */ sw $t2, 0x10($sp) -/* 0E14C8 7F0AC998 0C001107 */ jal get_video2_settings_txtClipW -/* 0E14CC 7F0AC99C 00000000 */ nop -/* 0E14D0 7F0AC9A0 0C00110B */ jal get_video2_settings_txtClipH -/* 0E14D4 7F0AC9A4 A7A20064 */ sh $v0, 0x64($sp) -/* 0E14D8 7F0AC9A8 8FAC0D48 */ lw $t4, 0xd48($sp) -/* 0E14DC 7F0AC9AC 8FAF0D4C */ lw $t7, 0xd4c($sp) -/* 0E14E0 7F0AC9B0 87A90064 */ lh $t1, 0x64($sp) -/* 0E14E4 7F0AC9B4 3C0E00FF */ lui $t6, (0x00FF00B0 >> 16) # lui $t6, 0xff -/* 0E14E8 7F0AC9B8 35CE00B0 */ ori $t6, (0x00FF00B0 & 0xFFFF) # ori $t6, $t6, 0xb0 -/* 0E14EC 7F0AC9BC 240B000A */ li $t3, 10 -/* 0E14F0 7F0AC9C0 AFAB0028 */ sw $t3, 0x28($sp) -/* 0E14F4 7F0AC9C4 AFAE0018 */ sw $t6, 0x18($sp) -/* 0E14F8 7F0AC9C8 8FA40DE8 */ lw $a0, 0xde8($sp) -/* 0E14FC 7F0AC9CC 27A50D64 */ addiu $a1, $sp, 0xd64 -/* 0E1500 7F0AC9D0 27A60D60 */ addiu $a2, $sp, 0xd60 -/* 0E1504 7F0AC9D4 27A70190 */ addiu $a3, $sp, 0x190 -/* 0E1508 7F0AC9D8 AFA20020 */ sw $v0, 0x20($sp) -/* 0E150C 7F0AC9DC AFA00024 */ sw $zero, 0x24($sp) -/* 0E1510 7F0AC9E0 AFAC0010 */ sw $t4, 0x10($sp) -/* 0E1514 7F0AC9E4 AFAF0014 */ sw $t7, 0x14($sp) -/* 0E1518 7F0AC9E8 0FC2B6AF */ jal en_text_write_stuff -/* 0E151C 7F0AC9EC AFA9001C */ sw $t1, 0x1c($sp) -/* 0E1520 7F0AC9F0 AFA20DE8 */ sw $v0, 0xde8($sp) -.L7F0AC9F4: -/* 0E1524 7F0AC9F4 8FBF005C */ lw $ra, 0x5c($sp) -/* 0E1528 7F0AC9F8 8FA20DE8 */ lw $v0, 0xde8($sp) -/* 0E152C 7F0AC9FC 8FB00038 */ lw $s0, 0x38($sp) -/* 0E1530 7F0ACA00 8FB1003C */ lw $s1, 0x3c($sp) -/* 0E1534 7F0ACA04 8FB20040 */ lw $s2, 0x40($sp) -/* 0E1538 7F0ACA08 8FB30044 */ lw $s3, 0x44($sp) -/* 0E153C 7F0ACA0C 8FB40048 */ lw $s4, 0x48($sp) -/* 0E1540 7F0ACA10 8FB5004C */ lw $s5, 0x4c($sp) -/* 0E1544 7F0ACA14 8FB60050 */ lw $s6, 0x50($sp) -/* 0E1548 7F0ACA18 8FB70054 */ lw $s7, 0x54($sp) -/* 0E154C 7F0ACA1C 8FBE0058 */ lw $fp, 0x58($sp) -/* 0E1550 7F0ACA20 03E00008 */ jr $ra -/* 0E1554 7F0ACA24 27BD0DE8 */ addiu $sp, $sp, 0xde8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0ACA28(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80058584*/ -glabel jpt_80058584 -.word .L7F0ACAD0 -.word .L7F0ACAE4 -.word .L7F0ACAF8 -.word .L7F0ACB0C -.word .L7F0ACB20 -.text -glabel sub_GAME_7F0ACA28 -/* 0E1558 7F0ACA28 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0E155C 7F0ACA2C AFA50024 */ sw $a1, 0x24($sp) -/* 0E1560 7F0ACA30 AFB00018 */ sw $s0, 0x18($sp) -/* 0E1564 7F0ACA34 3C058008 */ lui $a1, %hi(pPlayer) -/* 0E1568 7F0ACA38 8CA5A0B0 */ lw $a1, %lo(pPlayer)($a1) -/* 0E156C 7F0ACA3C 00808025 */ move $s0, $a0 -/* 0E1570 7F0ACA40 AFBF001C */ sw $ra, 0x1c($sp) -/* 0E1574 7F0ACA44 3C048004 */ lui $a0, %hi(D_80040994) -/* 0E1578 7F0ACA48 AFA60028 */ sw $a2, 0x28($sp) -/* 0E157C 7F0ACA4C 8C840994 */ lw $a0, %lo(D_80040994)($a0) -/* 0E1580 7F0ACA50 0FC29C2B */ jal sub_GAME_7F0A70AC -/* 0E1584 7F0ACA54 24A51878 */ addiu $a1, $a1, 0x1878 -/* 0E1588 7F0ACA58 8FA20028 */ lw $v0, 0x28($sp) -/* 0E158C 7F0ACA5C 24010001 */ li $at, 1 -/* 0E1590 7F0ACA60 14410034 */ bne $v0, $at, .L7F0ACB34 -/* 0E1594 7F0ACA64 00000000 */ nop -/* 0E1598 7F0ACA68 0FC1FAB4 */ jal set_BONDdata_paused_flag -/* 0E159C 7F0ACA6C 00002025 */ move $a0, $zero -/* 0E15A0 7F0ACA70 0FC2F63F */ jal sub_GAME_7F0BD8FC -/* 0E15A4 7F0ACA74 00002025 */ move $a0, $zero -/* 0E15A8 7F0ACA78 3C0E8004 */ lui $t6, %hi(D_80040994) -/* 0E15AC 7F0ACA7C 8DCE0994 */ lw $t6, %lo(D_80040994)($t6) -/* 0E15B0 7F0ACA80 24010001 */ li $at, 1 -/* 0E15B4 7F0ACA84 00002025 */ move $a0, $zero -/* 0E15B8 7F0ACA88 11C10007 */ beq $t6, $at, .L7F0ACAA8 -/* 0E15BC 7F0ACA8C 00000000 */ nop -/* 0E15C0 7F0ACA90 0C0030EB */ jal get_controller_buttons_pressed -/* 0E15C4 7F0ACA94 3405A000 */ li $a1, 40960 -/* 0E15C8 7F0ACA98 10400003 */ beqz $v0, .L7F0ACAA8 -/* 0E15CC 7F0ACA9C 00000000 */ nop -/* 0E15D0 7F0ACAA0 0FC293BE */ jal sub_GAME_7F0A4EF8 -/* 0E15D4 7F0ACAA4 00000000 */ nop -.L7F0ACAA8: -/* 0E15D8 7F0ACAA8 3C0F8004 */ lui $t7, %hi(D_80040994) -/* 0E15DC 7F0ACAAC 8DEF0994 */ lw $t7, %lo(D_80040994)($t7) -/* 0E15E0 7F0ACAB0 2DE10005 */ sltiu $at, $t7, 5 -/* 0E15E4 7F0ACAB4 10200029 */ beqz $at, .L7F0ACB5C -/* 0E15E8 7F0ACAB8 000F7880 */ sll $t7, $t7, 2 -/* 0E15EC 7F0ACABC 3C018006 */ lui $at, %hi(jpt_80058584) -/* 0E15F0 7F0ACAC0 002F0821 */ addu $at, $at, $t7 -/* 0E15F4 7F0ACAC4 8C2F8584 */ lw $t7, %lo(jpt_80058584)($at) -/* 0E15F8 7F0ACAC8 01E00008 */ jr $t7 -/* 0E15FC 7F0ACACC 00000000 */ nop -.L7F0ACAD0: -/* 0E1600 7F0ACAD0 02002025 */ move $a0, $s0 -/* 0E1604 7F0ACAD4 0FC2A0C3 */ jal sub_GAME_7F0A830C -/* 0E1608 7F0ACAD8 8FA50024 */ lw $a1, 0x24($sp) -/* 0E160C 7F0ACADC 1000001F */ b .L7F0ACB5C -/* 0E1610 7F0ACAE0 00408025 */ move $s0, $v0 -.L7F0ACAE4: -/* 0E1614 7F0ACAE4 02002025 */ move $a0, $s0 -/* 0E1618 7F0ACAE8 0FC2A109 */ jal debug_gun_watch_move_related2 -/* 0E161C 7F0ACAEC 8FA50024 */ lw $a1, 0x24($sp) -/* 0E1620 7F0ACAF0 1000001A */ b .L7F0ACB5C -/* 0E1624 7F0ACAF4 00408025 */ move $s0, $v0 -.L7F0ACAF8: -/* 0E1628 7F0ACAF8 02002025 */ move $a0, $s0 -/* 0E162C 7F0ACAFC 0FC2AD2E */ jal sub_GAME_7F0AB4B8 -/* 0E1630 7F0ACB00 8FA50024 */ lw $a1, 0x24($sp) -/* 0E1634 7F0ACB04 10000015 */ b .L7F0ACB5C -/* 0E1638 7F0ACB08 00408025 */ move $s0, $v0 -.L7F0ACB0C: -/* 0E163C 7F0ACB0C 02002025 */ move $a0, $s0 -/* 0E1640 7F0ACB10 0FC2AF7F */ jal sub_GAME_7F0ABDFC -/* 0E1644 7F0ACB14 8FA50024 */ lw $a1, 0x24($sp) -/* 0E1648 7F0ACB18 10000010 */ b .L7F0ACB5C -/* 0E164C 7F0ACB1C 00408025 */ move $s0, $v0 -.L7F0ACB20: -/* 0E1650 7F0ACB20 02002025 */ move $a0, $s0 -/* 0E1654 7F0ACB24 0FC2B05A */ jal sub_GAME_7F0AC168 -/* 0E1658 7F0ACB28 8FA50024 */ lw $a1, 0x24($sp) -/* 0E165C 7F0ACB2C 1000000B */ b .L7F0ACB5C -/* 0E1660 7F0ACB30 00408025 */ move $s0, $v0 -.L7F0ACB34: -/* 0E1664 7F0ACB34 5440000A */ bnezl $v0, .L7F0ACB60 -/* 0E1668 7F0ACB38 8FBF001C */ lw $ra, 0x1c($sp) -/* 0E166C 7F0ACB3C 0FC2F63F */ jal sub_GAME_7F0BD8FC -/* 0E1670 7F0ACB40 24040001 */ li $a0, 1 -/* 0E1674 7F0ACB44 0FC1FAB4 */ jal set_BONDdata_paused_flag -/* 0E1678 7F0ACB48 24040001 */ li $a0, 1 -/* 0E167C 7F0ACB4C 02002025 */ move $a0, $s0 -/* 0E1680 7F0ACB50 0FC29DEA */ jal sub_GAME_7F0A77A8 -/* 0E1684 7F0ACB54 8FA50024 */ lw $a1, 0x24($sp) -/* 0E1688 7F0ACB58 00408025 */ move $s0, $v0 -.L7F0ACB5C: -/* 0E168C 7F0ACB5C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0ACB60: -/* 0E1690 7F0ACB60 02001025 */ move $v0, $s0 -/* 0E1694 7F0ACB64 8FB00018 */ lw $s0, 0x18($sp) -/* 0E1698 7F0ACB68 03E00008 */ jr $ra -/* 0E169C 7F0ACB6C 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - diff --git a/src/game/zlib.c b/src/game/zlib.c deleted file mode 100644 index d5bffa5..0000000 --- a/src/game/zlib.c +++ /dev/null @@ -1,1854 +0,0 @@ -#include "ultra64.h" -#include "zlib.h" -//.bss - -//bss:8008D350 -s32 dword_CODE_bss_8008D350; -//bss:8008D354 -s32 dword_CODE_bss_8008D354; -//bss:8008D358 -s32 dword_CODE_bss_8008D358; -//bss:8008D35C -s32 dword_CODE_bss_8008D35C; -//bss:8008D360 -s32 dword_CODE_bss_8008D360; -//bss:8008D364 -s32 dword_CODE_bss_8008D364; -//bss:8008D368 -s32 dword_CODE_bss_8008D368; -//bss:8008D36C -s32 dword_CODE_bss_8008D36C; - - -//.data -u8 D_8004E8E0[] = { - 0x10,0x11,0x12, 0, 8, 7, 9, 6, 0xA, 5, 0xB, 4, 0xC, 3, - 0xD, 2, 0xE, 1, 0xF, 0 -}; - -s16 D_8004E8F4[] = { - 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xD, - 0xF, 0x11, 0x13, 0x17, 0x1B, 0x1F, 0x23, 0x2B, 0x33, 0x3B, - 0x43, 0x53, 0x63, 0x73, 0x83, 0xA3, 0xC3, 0xE3, 0x102, 0, - 0, 0 -}; - -u32 D_8004E934[] = { - 0, 0, 0x1010101, 0x2020202, 0x3030303, 0x4040404, 0x5050505, 0x636300 -}; - -s16 D_8004E954[] = { - 1 , 2, 3, 4, 5, 7, 9, 0xD, 0x11, 0x19, 0x21, 0x31, 0x41, 0x61, - 0x81, 0xC1, 0x101, 0x181, 0x201, 0x301, 0x401, 0x601, 0x801, - 0xC01, 0x1001, 0x1801, 0x2001, 0x3001, 0x4001, 0x6001 -}; - -u16 D_8004E990[] = { - 0, 0, 0x101, 0x202, 0x303, 0x404, 0x505, 0x606, - 0x707, 0x808, 0x909, 0xA0A, 0xB0B, 0xC0C, 0xD0D, 0 -}; - -u16 D_8004E9B0[] = { - 0, 1, 3, 7, 0xF, 0x1F, 0x3F, 0x7F, 0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF, 0 -}; - -s32 D_8004E9D4 = 9; -s32 D_8004E9D8 = 6; - -//.rodata - - -#ifdef NONMATCHING -void sub_GAME_7F0CE8B0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CE8B0 -/* 1033E0 7F0CE8B0 27BDFA08 */ addiu $sp, $sp, -0x5f8 -/* 1033E4 7F0CE8B4 AFB20020 */ sw $s2, 0x20($sp) -/* 1033E8 7F0CE8B8 AFB1001C */ sw $s1, 0x1c($sp) -/* 1033EC 7F0CE8BC 27B105B0 */ addiu $s1, $sp, 0x5b0 -/* 1033F0 7F0CE8C0 00809025 */ move $s2, $a0 -/* 1033F4 7F0CE8C4 AFBF003C */ sw $ra, 0x3c($sp) -/* 1033F8 7F0CE8C8 AFA505FC */ sw $a1, 0x5fc($sp) -/* 1033FC 7F0CE8CC AFBE0038 */ sw $fp, 0x38($sp) -/* 103400 7F0CE8D0 AFB70034 */ sw $s7, 0x34($sp) -/* 103404 7F0CE8D4 AFB60030 */ sw $s6, 0x30($sp) -/* 103408 7F0CE8D8 AFB5002C */ sw $s5, 0x2c($sp) -/* 10340C 7F0CE8DC AFB40028 */ sw $s4, 0x28($sp) -/* 103410 7F0CE8E0 AFB30024 */ sw $s3, 0x24($sp) -/* 103414 7F0CE8E4 AFB00018 */ sw $s0, 0x18($sp) -/* 103418 7F0CE8E8 AFA60600 */ sw $a2, 0x600($sp) -/* 10341C 7F0CE8EC AFA70604 */ sw $a3, 0x604($sp) -/* 103420 7F0CE8F0 24050044 */ li $a1, 68 -/* 103424 7F0CE8F4 0C005F10 */ jal _blkclr -/* 103428 7F0CE8F8 02202025 */ move $a0, $s1 -/* 10342C 7F0CE8FC 8FAE05FC */ lw $t6, 0x5fc($sp) -/* 103430 7F0CE900 0240F025 */ move $fp, $s2 -/* 103434 7F0CE904 24070001 */ li $a3, 1 -/* 103438 7F0CE908 31C20003 */ andi $v0, $t6, 3 -/* 10343C 7F0CE90C 00021023 */ negu $v0, $v0 -/* 103440 7F0CE910 1040000D */ beqz $v0, .L7F0CE948 -/* 103444 7F0CE914 01C0F825 */ move $ra, $t6 -/* 103448 7F0CE918 004E1821 */ addu $v1, $v0, $t6 -.L7F0CE91C: -/* 10344C 7F0CE91C 8FCF0000 */ lw $t7, ($fp) -/* 103450 7F0CE920 27FFFFFF */ addiu $ra, $ra, -1 -/* 103454 7F0CE924 27DE0004 */ addiu $fp, $fp, 4 -/* 103458 7F0CE928 000FC080 */ sll $t8, $t7, 2 -/* 10345C 7F0CE92C 02381021 */ addu $v0, $s1, $t8 -/* 103460 7F0CE930 8C590000 */ lw $t9, ($v0) -/* 103464 7F0CE934 272E0001 */ addiu $t6, $t9, 1 -/* 103468 7F0CE938 147FFFF8 */ bne $v1, $ra, .L7F0CE91C -/* 10346C 7F0CE93C AC4E0000 */ sw $t6, ($v0) -/* 103470 7F0CE940 53E0001D */ beql $ra, $zero, .L7F0CE9B8 -/* 103474 7F0CE944 8FAF05FC */ lw $t7, 0x5fc($sp) -.L7F0CE948: -/* 103478 7F0CE948 8FCF0000 */ lw $t7, ($fp) -/* 10347C 7F0CE94C 27FFFFFC */ addiu $ra, $ra, -4 -/* 103480 7F0CE950 27DE0010 */ addiu $fp, $fp, 0x10 -/* 103484 7F0CE954 000FC080 */ sll $t8, $t7, 2 -/* 103488 7F0CE958 02381021 */ addu $v0, $s1, $t8 -/* 10348C 7F0CE95C 8C590000 */ lw $t9, ($v0) -/* 103490 7F0CE960 272E0001 */ addiu $t6, $t9, 1 -/* 103494 7F0CE964 AC4E0000 */ sw $t6, ($v0) -/* 103498 7F0CE968 8FCFFFF4 */ lw $t7, -0xc($fp) -/* 10349C 7F0CE96C 000FC080 */ sll $t8, $t7, 2 -/* 1034A0 7F0CE970 02381021 */ addu $v0, $s1, $t8 -/* 1034A4 7F0CE974 8C590000 */ lw $t9, ($v0) -/* 1034A8 7F0CE978 272E0001 */ addiu $t6, $t9, 1 -/* 1034AC 7F0CE97C AC4E0000 */ sw $t6, ($v0) -/* 1034B0 7F0CE980 8FCFFFF8 */ lw $t7, -8($fp) -/* 1034B4 7F0CE984 000FC080 */ sll $t8, $t7, 2 -/* 1034B8 7F0CE988 02381021 */ addu $v0, $s1, $t8 -/* 1034BC 7F0CE98C 8C590000 */ lw $t9, ($v0) -/* 1034C0 7F0CE990 272E0001 */ addiu $t6, $t9, 1 -/* 1034C4 7F0CE994 AC4E0000 */ sw $t6, ($v0) -/* 1034C8 7F0CE998 8FCFFFFC */ lw $t7, -4($fp) -/* 1034CC 7F0CE99C 000FC080 */ sll $t8, $t7, 2 -/* 1034D0 7F0CE9A0 02381021 */ addu $v0, $s1, $t8 -/* 1034D4 7F0CE9A4 8C590000 */ lw $t9, ($v0) -/* 1034D8 7F0CE9A8 272E0001 */ addiu $t6, $t9, 1 -/* 1034DC 7F0CE9AC 17E0FFE6 */ bnez $ra, .L7F0CE948 -/* 1034E0 7F0CE9B0 AC4E0000 */ sw $t6, ($v0) -/* 1034E4 7F0CE9B4 8FAF05FC */ lw $t7, 0x5fc($sp) -.L7F0CE9B8: -/* 1034E8 7F0CE9B8 8FB805B0 */ lw $t8, 0x5b0($sp) -/* 1034EC 7F0CE9BC 8FA50610 */ lw $a1, 0x610($sp) -/* 1034F0 7F0CE9C0 27A305B4 */ addiu $v1, $sp, 0x5b4 -/* 1034F4 7F0CE9C4 15F80007 */ bne $t7, $t8, .L7F0CE9E4 -/* 1034F8 7F0CE9C8 24020011 */ li $v0, 17 -/* 1034FC 7F0CE9CC 8FB5060C */ lw $s5, 0x60c($sp) -/* 103500 7F0CE9D0 8FA50610 */ lw $a1, 0x610($sp) -/* 103504 7F0CE9D4 00001025 */ move $v0, $zero -/* 103508 7F0CE9D8 AEA00000 */ sw $zero, ($s5) -/* 10350C 7F0CE9DC 10000138 */ b .L7F0CEEC0 -/* 103510 7F0CE9E0 ACA00000 */ sw $zero, ($a1) -.L7F0CE9E4: -/* 103514 7F0CE9E4 8CB00000 */ lw $s0, ($a1) -.L7F0CE9E8: -/* 103518 7F0CE9E8 8C790000 */ lw $t9, ($v1) -/* 10351C 7F0CE9EC 57200005 */ bnezl $t9, .L7F0CEA04 -/* 103520 7F0CE9F0 0207082B */ sltu $at, $s0, $a3 -/* 103524 7F0CE9F4 24E70001 */ addiu $a3, $a3, 1 -/* 103528 7F0CE9F8 14E2FFFB */ bne $a3, $v0, .L7F0CE9E8 -/* 10352C 7F0CE9FC 24630004 */ addiu $v1, $v1, 4 -/* 103530 7F0CEA00 0207082B */ sltu $at, $s0, $a3 -.L7F0CEA04: -/* 103534 7F0CEA04 10200002 */ beqz $at, .L7F0CEA10 -/* 103538 7F0CEA08 00E0A025 */ move $s4, $a3 -/* 10353C 7F0CEA0C 00E08025 */ move $s0, $a3 -.L7F0CEA10: -/* 103540 7F0CEA10 241F0010 */ li $ra, 16 -/* 103544 7F0CEA14 27A205F0 */ addiu $v0, $sp, 0x5f0 -.L7F0CEA18: -/* 103548 7F0CEA18 8C4E0000 */ lw $t6, ($v0) -/* 10354C 7F0CEA1C 55C00005 */ bnezl $t6, .L7F0CEA34 -/* 103550 7F0CEA20 03F0082B */ sltu $at, $ra, $s0 -/* 103554 7F0CEA24 27FFFFFF */ addiu $ra, $ra, -1 -/* 103558 7F0CEA28 17E0FFFB */ bnez $ra, .L7F0CEA18 -/* 10355C 7F0CEA2C 2442FFFC */ addiu $v0, $v0, -4 -/* 103560 7F0CEA30 03F0082B */ sltu $at, $ra, $s0 -.L7F0CEA34: -/* 103564 7F0CEA34 10200002 */ beqz $at, .L7F0CEA40 -/* 103568 7F0CEA38 AFBF05A8 */ sw $ra, 0x5a8($sp) -/* 10356C 7F0CEA3C 03E08025 */ move $s0, $ra -.L7F0CEA40: -/* 103570 7F0CEA40 240F0001 */ li $t7, 1 -/* 103574 7F0CEA44 00FF082B */ sltu $at, $a3, $ra -/* 103578 7F0CEA48 ACB00000 */ sw $s0, ($a1) -/* 10357C 7F0CEA4C 1020000B */ beqz $at, .L7F0CEA7C -/* 103580 7F0CEA50 00EF2004 */ sllv $a0, $t7, $a3 -/* 103584 7F0CEA54 001FC080 */ sll $t8, $ra, 2 -/* 103588 7F0CEA58 27B905B0 */ addiu $t9, $sp, 0x5b0 -/* 10358C 7F0CEA5C 03192821 */ addu $a1, $t8, $t9 -.L7F0CEA60: -/* 103590 7F0CEA60 8C6E0000 */ lw $t6, ($v1) -/* 103594 7F0CEA64 24630004 */ addiu $v1, $v1, 4 -/* 103598 7F0CEA68 0065082B */ sltu $at, $v1, $a1 -/* 10359C 7F0CEA6C 008E2023 */ subu $a0, $a0, $t6 -/* 1035A0 7F0CEA70 00047840 */ sll $t7, $a0, 1 -/* 1035A4 7F0CEA74 1420FFFA */ bnez $at, .L7F0CEA60 -/* 1035A8 7F0CEA78 01E02025 */ move $a0, $t7 -.L7F0CEA7C: -/* 1035AC 7F0CEA7C 8C430000 */ lw $v1, ($v0) -/* 1035B0 7F0CEA80 27FFFFFF */ addiu $ra, $ra, -1 -/* 1035B4 7F0CEA84 00003825 */ move $a3, $zero -/* 1035B8 7F0CEA88 00832023 */ subu $a0, $a0, $v1 -/* 1035BC 7F0CEA8C 0064C021 */ addu $t8, $v1, $a0 -/* 1035C0 7F0CEA90 AC580000 */ sw $t8, ($v0) -/* 1035C4 7F0CEA94 AFA00080 */ sw $zero, 0x80($sp) -/* 1035C8 7F0CEA98 27BE05B4 */ addiu $fp, $sp, 0x5b4 -/* 1035CC 7F0CEA9C 27A60084 */ addiu $a2, $sp, 0x84 -/* 1035D0 7F0CEAA0 13E00022 */ beqz $ra, .L7F0CEB2C -/* 1035D4 7F0CEAA4 2442FFFC */ addiu $v0, $v0, -4 -/* 1035D8 7F0CEAA8 33E80003 */ andi $t0, $ra, 3 -/* 1035DC 7F0CEAAC 00084023 */ negu $t0, $t0 -/* 1035E0 7F0CEAB0 1100000D */ beqz $t0, .L7F0CEAE8 -/* 1035E4 7F0CEAB4 011F1821 */ addu $v1, $t0, $ra -/* 1035E8 7F0CEAB8 0003C880 */ sll $t9, $v1, 2 -/* 1035EC 7F0CEABC 27AE05B0 */ addiu $t6, $sp, 0x5b0 -/* 1035F0 7F0CEAC0 032E2821 */ addu $a1, $t9, $t6 -.L7F0CEAC4: -/* 1035F4 7F0CEAC4 8FCF0000 */ lw $t7, ($fp) -/* 1035F8 7F0CEAC8 2442FFFC */ addiu $v0, $v0, -4 -/* 1035FC 7F0CEACC 24C60004 */ addiu $a2, $a2, 4 -/* 103600 7F0CEAD0 00EF3821 */ addu $a3, $a3, $t7 -/* 103604 7F0CEAD4 ACC7FFFC */ sw $a3, -4($a2) -/* 103608 7F0CEAD8 14A2FFFA */ bne $a1, $v0, .L7F0CEAC4 -/* 10360C 7F0CEADC 27DE0004 */ addiu $fp, $fp, 4 -/* 103610 7F0CEAE0 27B805B0 */ addiu $t8, $sp, 0x5b0 -/* 103614 7F0CEAE4 10580011 */ beq $v0, $t8, .L7F0CEB2C -.L7F0CEAE8: -/* 103618 7F0CEAE8 27A305B0 */ addiu $v1, $sp, 0x5b0 -.L7F0CEAEC: -/* 10361C 7F0CEAEC 8FD90000 */ lw $t9, ($fp) -/* 103620 7F0CEAF0 2442FFF0 */ addiu $v0, $v0, -0x10 -/* 103624 7F0CEAF4 24C60010 */ addiu $a2, $a2, 0x10 -/* 103628 7F0CEAF8 00F93821 */ addu $a3, $a3, $t9 -/* 10362C 7F0CEAFC ACC7FFF0 */ sw $a3, -0x10($a2) -/* 103630 7F0CEB00 8FCE0004 */ lw $t6, 4($fp) -/* 103634 7F0CEB04 27DE0010 */ addiu $fp, $fp, 0x10 -/* 103638 7F0CEB08 00EE3821 */ addu $a3, $a3, $t6 -/* 10363C 7F0CEB0C ACC7FFF4 */ sw $a3, -0xc($a2) -/* 103640 7F0CEB10 8FCFFFF8 */ lw $t7, -8($fp) -/* 103644 7F0CEB14 00EF3821 */ addu $a3, $a3, $t7 -/* 103648 7F0CEB18 ACC7FFF8 */ sw $a3, -8($a2) -/* 10364C 7F0CEB1C 8FD8FFFC */ lw $t8, -4($fp) -/* 103650 7F0CEB20 00F83821 */ addu $a3, $a3, $t8 -/* 103654 7F0CEB24 1443FFF1 */ bne $v0, $v1, .L7F0CEAEC -/* 103658 7F0CEB28 ACC7FFFC */ sw $a3, -4($a2) -.L7F0CEB2C: -/* 10365C 7F0CEB2C 0240F025 */ move $fp, $s2 -/* 103660 7F0CEB30 0000F825 */ move $ra, $zero -/* 103664 7F0CEB34 27A6007C */ addiu $a2, $sp, 0x7c -/* 103668 7F0CEB38 27A500C4 */ addiu $a1, $sp, 0xc4 -/* 10366C 7F0CEB3C 8FC70000 */ lw $a3, ($fp) -.L7F0CEB40: -/* 103670 7F0CEB40 27DE0004 */ addiu $fp, $fp, 4 -/* 103674 7F0CEB44 10E00008 */ beqz $a3, .L7F0CEB68 -/* 103678 7F0CEB48 0007C880 */ sll $t9, $a3, 2 -/* 10367C 7F0CEB4C 00D91021 */ addu $v0, $a2, $t9 -/* 103680 7F0CEB50 8C430000 */ lw $v1, ($v0) -/* 103684 7F0CEB54 00037080 */ sll $t6, $v1, 2 -/* 103688 7F0CEB58 00AE7821 */ addu $t7, $a1, $t6 -/* 10368C 7F0CEB5C ADFF0000 */ sw $ra, ($t7) -/* 103690 7F0CEB60 24780001 */ addiu $t8, $v1, 1 -/* 103694 7F0CEB64 AC580000 */ sw $t8, ($v0) -.L7F0CEB68: -/* 103698 7F0CEB68 8FB905FC */ lw $t9, 0x5fc($sp) -/* 10369C 7F0CEB6C 27FF0001 */ addiu $ra, $ra, 1 -/* 1036A0 7F0CEB70 03F9082B */ sltu $at, $ra, $t9 -/* 1036A4 7F0CEB74 5420FFF2 */ bnezl $at, .L7F0CEB40 -/* 1036A8 7F0CEB78 8FC70000 */ lw $a3, ($fp) -/* 1036AC 7F0CEB7C 8FAE05A8 */ lw $t6, 0x5a8($sp) -/* 1036B0 7F0CEB80 AFA40074 */ sw $a0, 0x74($sp) -/* 1036B4 7F0CEB84 0000F825 */ move $ra, $zero -/* 1036B8 7F0CEB88 01D4082A */ slt $at, $t6, $s4 -/* 1036BC 7F0CEB8C AFA0007C */ sw $zero, 0x7c($sp) -/* 1036C0 7F0CEB90 00A0F025 */ move $fp, $a1 -/* 1036C4 7F0CEB94 240CFFFF */ li $t4, -1 -/* 1036C8 7F0CEB98 00105023 */ negu $t2, $s0 -/* 1036CC 7F0CEB9C AFA00544 */ sw $zero, 0x544($sp) -/* 1036D0 7F0CEBA0 00003025 */ move $a2, $zero -/* 1036D4 7F0CEBA4 142000BF */ bnez $at, .L7F0CEEA4 -/* 1036D8 7F0CEBA8 00004025 */ move $t0, $zero -/* 1036DC 7F0CEBAC 00147880 */ sll $t7, $s4, 2 -/* 1036E0 7F0CEBB0 27B805B0 */ addiu $t8, $sp, 0x5b0 -/* 1036E4 7F0CEBB4 01F8C821 */ addu $t9, $t7, $t8 -/* 1036E8 7F0CEBB8 3C178009 */ lui $s7, %hi(dword_CODE_bss_8008D360) -/* 1036EC 7F0CEBBC 3C128009 */ lui $s2, %hi(dword_CODE_bss_8008D36C) -/* 1036F0 7F0CEBC0 2652D36C */ addiu $s2, %lo(dword_CODE_bss_8008D36C) # addiu $s2, $s2, -0x2c94 -/* 1036F4 7F0CEBC4 26F7D360 */ addiu $s7, %lo(dword_CODE_bss_8008D360) # addiu $s7, $s7, -0x2ca0 -/* 1036F8 7F0CEBC8 AFB9005C */ sw $t9, 0x5c($sp) -/* 1036FC 7F0CEBCC 8FB5060C */ lw $s5, 0x60c($sp) -/* 103700 7F0CEBD0 27B30584 */ addiu $s3, $sp, 0x584 -.L7F0CEBD4: -/* 103704 7F0CEBD4 8FAE005C */ lw $t6, 0x5c($sp) -/* 103708 7F0CEBD8 8FB805FC */ lw $t8, 0x5fc($sp) -/* 10370C 7F0CEBDC 000C6880 */ sll $t5, $t4, 2 -/* 103710 7F0CEBE0 8DD60000 */ lw $s6, ($t6) -/* 103714 7F0CEBE4 27AF007C */ addiu $t7, $sp, 0x7c -/* 103718 7F0CEBE8 0018C880 */ sll $t9, $t8, 2 -/* 10371C 7F0CEBEC 02C02825 */ move $a1, $s6 -/* 103720 7F0CEBF0 12C000A4 */ beqz $s6, .L7F0CEE84 -/* 103724 7F0CEBF4 26D6FFFF */ addiu $s6, $s6, -1 -/* 103728 7F0CEBF8 01AF5821 */ addu $t3, $t5, $t7 -/* 10372C 7F0CEBFC 27AE00C4 */ addiu $t6, $sp, 0xc4 -/* 103730 7F0CEC00 032E7821 */ addu $t7, $t9, $t6 -/* 103734 7F0CEC04 24190001 */ li $t9, 1 -/* 103738 7F0CEC08 2698001F */ addiu $t8, $s4, 0x1f -/* 10373C 7F0CEC0C 03197004 */ sllv $t6, $t9, $t8 -/* 103740 7F0CEC10 AFAE0040 */ sw $t6, 0x40($sp) -/* 103744 7F0CEC14 AFAF0044 */ sw $t7, 0x44($sp) -.L7F0CEC18: -/* 103748 7F0CEC18 01501821 */ addu $v1, $t2, $s0 -/* 10374C 7F0CEC1C 0074082A */ slt $at, $v1, $s4 -/* 103750 7F0CEC20 10200047 */ beqz $at, .L7F0CED40 -/* 103754 7F0CEC24 26D10001 */ addiu $s1, $s6, 1 -/* 103758 7F0CEC28 27AF0544 */ addiu $t7, $sp, 0x544 -/* 10375C 7F0CEC2C 01AF4821 */ addu $t1, $t5, $t7 -/* 103760 7F0CEC30 8FB905A8 */ lw $t9, 0x5a8($sp) -.L7F0CEC34: -/* 103764 7F0CEC34 258C0001 */ addiu $t4, $t4, 1 -/* 103768 7F0CEC38 25AD0004 */ addiu $t5, $t5, 4 -/* 10376C 7F0CEC3C 03234023 */ subu $t0, $t9, $v1 -/* 103770 7F0CEC40 0208082B */ sltu $at, $s0, $t0 -/* 103774 7F0CEC44 25290004 */ addiu $t1, $t1, 4 -/* 103778 7F0CEC48 256B0004 */ addiu $t3, $t3, 4 -/* 10377C 7F0CEC4C 10200002 */ beqz $at, .L7F0CEC58 -/* 103780 7F0CEC50 00605025 */ move $t2, $v1 -/* 103784 7F0CEC54 02004025 */ move $t0, $s0 -.L7F0CEC58: -/* 103788 7F0CEC58 028A1023 */ subu $v0, $s4, $t2 -/* 10378C 7F0CEC5C 24180001 */ li $t8, 1 -/* 103790 7F0CEC60 00582004 */ sllv $a0, $t8, $v0 -/* 103794 7F0CEC64 0224082B */ sltu $at, $s1, $a0 -/* 103798 7F0CEC68 10200013 */ beqz $at, .L7F0CECB8 -/* 10379C 7F0CEC6C 00403825 */ move $a3, $v0 -/* 1037A0 7F0CEC70 24470001 */ addiu $a3, $v0, 1 -/* 1037A4 7F0CEC74 00961823 */ subu $v1, $a0, $s6 -/* 1037A8 7F0CEC78 00147080 */ sll $t6, $s4, 2 -/* 1037AC 7F0CEC7C 27AF05B0 */ addiu $t7, $sp, 0x5b0 -/* 1037B0 7F0CEC80 00E8082B */ sltu $at, $a3, $t0 -/* 1037B4 7F0CEC84 2463FFFF */ addiu $v1, $v1, -1 -/* 1037B8 7F0CEC88 1020000B */ beqz $at, .L7F0CECB8 -/* 1037BC 7F0CEC8C 01CF3021 */ addu $a2, $t6, $t7 -.L7F0CEC90: -/* 1037C0 7F0CEC90 8CC40004 */ lw $a0, 4($a2) -/* 1037C4 7F0CEC94 00031040 */ sll $v0, $v1, 1 -/* 1037C8 7F0CEC98 24C60004 */ addiu $a2, $a2, 4 -/* 1037CC 7F0CEC9C 0082082B */ sltu $at, $a0, $v0 -/* 1037D0 7F0CECA0 50200006 */ beql $at, $zero, .L7F0CECBC -/* 1037D4 7F0CECA4 8E430000 */ lw $v1, ($s2) -/* 1037D8 7F0CECA8 24E70001 */ addiu $a3, $a3, 1 -/* 1037DC 7F0CECAC 00E8082B */ sltu $at, $a3, $t0 -/* 1037E0 7F0CECB0 1420FFF7 */ bnez $at, .L7F0CEC90 -/* 1037E4 7F0CECB4 00441823 */ subu $v1, $v0, $a0 -.L7F0CECB8: -/* 1037E8 7F0CECB8 8E430000 */ lw $v1, ($s2) -.L7F0CECBC: -/* 1037EC 7F0CECBC 8EEE0000 */ lw $t6, ($s7) -/* 1037F0 7F0CECC0 24190001 */ li $t9, 1 -/* 1037F4 7F0CECC4 00F94004 */ sllv $t0, $t9, $a3 -/* 1037F8 7F0CECC8 0003C0C0 */ sll $t8, $v1, 3 -/* 1037FC 7F0CECCC 00687821 */ addu $t7, $v1, $t0 -/* 103800 7F0CECD0 25F90001 */ addiu $t9, $t7, 1 -/* 103804 7F0CECD4 030E3021 */ addu $a2, $t8, $t6 -/* 103808 7F0CECD8 AE590000 */ sw $t9, ($s2) -/* 10380C 7F0CECDC 24C40008 */ addiu $a0, $a2, 8 -/* 103810 7F0CECE0 AEA40000 */ sw $a0, ($s5) -/* 103814 7F0CECE4 ACC00004 */ sw $zero, 4($a2) -/* 103818 7F0CECE8 24D50004 */ addiu $s5, $a2, 4 -/* 10381C 7F0CECEC 00803025 */ move $a2, $a0 -/* 103820 7F0CECF0 1180000F */ beqz $t4, .L7F0CED30 -/* 103824 7F0CECF4 AD240000 */ sw $a0, ($t1) -/* 103828 7F0CECF8 AD7F0000 */ sw $ra, ($t3) -/* 10382C 7F0CECFC 24F80010 */ addiu $t8, $a3, 0x10 -/* 103830 7F0CED00 A3B00585 */ sb $s0, 0x585($sp) -/* 103834 7F0CED04 A3B80584 */ sb $t8, 0x584($sp) -/* 103838 7F0CED08 AFA40588 */ sw $a0, 0x588($sp) -/* 10383C 7F0CED0C 8D2EFFFC */ lw $t6, -4($t1) -/* 103840 7F0CED10 01507823 */ subu $t7, $t2, $s0 -/* 103844 7F0CED14 8E610000 */ lw $at, ($s3) -/* 103848 7F0CED18 01FFC806 */ srlv $t9, $ra, $t7 -/* 10384C 7F0CED1C 0019C0C0 */ sll $t8, $t9, 3 -/* 103850 7F0CED20 01D87821 */ addu $t7, $t6, $t8 -/* 103854 7F0CED24 ADE10000 */ sw $at, ($t7) -/* 103858 7F0CED28 8E780004 */ lw $t8, 4($s3) -/* 10385C 7F0CED2C ADF80004 */ sw $t8, 4($t7) -.L7F0CED30: -/* 103860 7F0CED30 01501821 */ addu $v1, $t2, $s0 -/* 103864 7F0CED34 0074082A */ slt $at, $v1, $s4 -/* 103868 7F0CED38 5420FFBE */ bnezl $at, .L7F0CEC34 -/* 10386C 7F0CED3C 8FB905A8 */ lw $t9, 0x5a8($sp) -.L7F0CED40: -/* 103870 7F0CED40 8FB90044 */ lw $t9, 0x44($sp) -/* 103874 7F0CED44 240E0001 */ li $t6, 1 -/* 103878 7F0CED48 028A1823 */ subu $v1, $s4, $t2 -/* 10387C 7F0CED4C 014E2804 */ sllv $a1, $t6, $t2 -/* 103880 7F0CED50 03D9082B */ sltu $at, $fp, $t9 -/* 103884 7F0CED54 A3A30585 */ sb $v1, 0x585($sp) -/* 103888 7F0CED58 14200004 */ bnez $at, .L7F0CED6C -/* 10388C 7F0CED5C 24A5FFFF */ addiu $a1, $a1, -1 -/* 103890 7F0CED60 240F0063 */ li $t7, 99 -/* 103894 7F0CED64 10000020 */ b .L7F0CEDE8 -/* 103898 7F0CED68 A3AF0584 */ sb $t7, 0x584($sp) -.L7F0CED6C: -/* 10389C 7F0CED6C 8FC20000 */ lw $v0, ($fp) -/* 1038A0 7F0CED70 8FB80600 */ lw $t8, 0x600($sp) -/* 1038A4 7F0CED74 8FA40600 */ lw $a0, 0x600($sp) -/* 1038A8 7F0CED78 8FAE0608 */ lw $t6, 0x608($sp) -/* 1038AC 7F0CED7C 0058082B */ sltu $at, $v0, $t8 -/* 1038B0 7F0CED80 1020000B */ beqz $at, .L7F0CEDB0 -/* 1038B4 7F0CED84 2C410100 */ sltiu $at, $v0, 0x100 -/* 1038B8 7F0CED88 10200004 */ beqz $at, .L7F0CED9C -/* 1038BC 7F0CED8C 2419000F */ li $t9, 15 -/* 1038C0 7F0CED90 240E0010 */ li $t6, 16 -/* 1038C4 7F0CED94 10000002 */ b .L7F0CEDA0 -/* 1038C8 7F0CED98 A3AE0584 */ sb $t6, 0x584($sp) -.L7F0CED9C: -/* 1038CC 7F0CED9C A3B90584 */ sb $t9, 0x584($sp) -.L7F0CEDA0: -/* 1038D0 7F0CEDA0 8FCF0000 */ lw $t7, ($fp) -/* 1038D4 7F0CEDA4 27DE0004 */ addiu $fp, $fp, 4 -/* 1038D8 7F0CEDA8 1000000F */ b .L7F0CEDE8 -/* 1038DC 7F0CEDAC A7AF0588 */ sh $t7, 0x588($sp) -.L7F0CEDB0: -/* 1038E0 7F0CEDB0 0044C023 */ subu $t8, $v0, $a0 -/* 1038E4 7F0CEDB4 030EC821 */ addu $t9, $t8, $t6 -/* 1038E8 7F0CEDB8 932F0000 */ lbu $t7, ($t9) -/* 1038EC 7F0CEDBC 8FB80604 */ lw $t8, 0x604($sp) -/* 1038F0 7F0CEDC0 27DE0004 */ addiu $fp, $fp, 4 -/* 1038F4 7F0CEDC4 A3AF0584 */ sb $t7, 0x584($sp) -/* 1038F8 7F0CEDC8 8FCEFFFC */ lw $t6, -4($fp) -/* 1038FC 7F0CEDCC 000EC840 */ sll $t9, $t6, 1 -/* 103900 7F0CEDD0 00047040 */ sll $t6, $a0, 1 -/* 103904 7F0CEDD4 03197821 */ addu $t7, $t8, $t9 -/* 103908 7F0CEDD8 000EC023 */ negu $t8, $t6 -/* 10390C 7F0CEDDC 01F8C821 */ addu $t9, $t7, $t8 -/* 103910 7F0CEDE0 972E0000 */ lhu $t6, ($t9) -/* 103914 7F0CEDE4 A7AE0588 */ sh $t6, 0x588($sp) -.L7F0CEDE8: -/* 103918 7F0CEDE8 015F3806 */ srlv $a3, $ra, $t2 -/* 10391C 7F0CEDEC 00E8082B */ sltu $at, $a3, $t0 -/* 103920 7F0CEDF0 1020000B */ beqz $at, .L7F0CEE20 -/* 103924 7F0CEDF4 240F0001 */ li $t7, 1 -/* 103928 7F0CEDF8 006F1004 */ sllv $v0, $t7, $v1 -.L7F0CEDFC: -/* 10392C 7F0CEDFC 8E610000 */ lw $at, ($s3) -/* 103930 7F0CEE00 0007C0C0 */ sll $t8, $a3, 3 -/* 103934 7F0CEE04 00D8C821 */ addu $t9, $a2, $t8 -/* 103938 7F0CEE08 AF210000 */ sw $at, ($t9) -/* 10393C 7F0CEE0C 8E6F0004 */ lw $t7, 4($s3) -/* 103940 7F0CEE10 00E23821 */ addu $a3, $a3, $v0 -/* 103944 7F0CEE14 00E8082B */ sltu $at, $a3, $t0 -/* 103948 7F0CEE18 1420FFF8 */ bnez $at, .L7F0CEDFC -/* 10394C 7F0CEE1C AF2F0004 */ sw $t7, 4($t9) -.L7F0CEE20: -/* 103950 7F0CEE20 8FA70040 */ lw $a3, 0x40($sp) -/* 103954 7F0CEE24 8D620000 */ lw $v0, ($t3) -/* 103958 7F0CEE28 03E7C024 */ and $t8, $ra, $a3 -/* 10395C 7F0CEE2C 13000005 */ beqz $t8, .L7F0CEE44 -.L7F0CEE30: -/* 103960 7F0CEE30 00077042 */ srl $t6, $a3, 1 -/* 103964 7F0CEE34 03E7F826 */ xor $ra, $ra, $a3 -/* 103968 7F0CEE38 03EEC824 */ and $t9, $ra, $t6 -/* 10396C 7F0CEE3C 1720FFFC */ bnez $t9, .L7F0CEE30 -/* 103970 7F0CEE40 01C03825 */ move $a3, $t6 -.L7F0CEE44: -/* 103974 7F0CEE44 03E7F826 */ xor $ra, $ra, $a3 -/* 103978 7F0CEE48 03E57824 */ and $t7, $ra, $a1 -/* 10397C 7F0CEE4C 11E2000B */ beq $t7, $v0, .L7F0CEE7C -/* 103980 7F0CEE50 02C02825 */ move $a1, $s6 -.L7F0CEE54: -/* 103984 7F0CEE54 01505023 */ subu $t2, $t2, $s0 -/* 103988 7F0CEE58 24180001 */ li $t8, 1 -/* 10398C 7F0CEE5C 01587004 */ sllv $t6, $t8, $t2 -/* 103990 7F0CEE60 8D78FFFC */ lw $t8, -4($t3) -/* 103994 7F0CEE64 25D9FFFF */ addiu $t9, $t6, -1 -/* 103998 7F0CEE68 03F97824 */ and $t7, $ra, $t9 -/* 10399C 7F0CEE6C 258CFFFF */ addiu $t4, $t4, -1 -/* 1039A0 7F0CEE70 25ADFFFC */ addiu $t5, $t5, -4 -/* 1039A4 7F0CEE74 15F8FFF7 */ bne $t7, $t8, .L7F0CEE54 -/* 1039A8 7F0CEE78 256BFFFC */ addiu $t3, $t3, -4 -.L7F0CEE7C: -/* 1039AC 7F0CEE7C 16C0FF66 */ bnez $s6, .L7F0CEC18 -/* 1039B0 7F0CEE80 26D6FFFF */ addiu $s6, $s6, -1 -.L7F0CEE84: -/* 1039B4 7F0CEE84 8FAE005C */ lw $t6, 0x5c($sp) -/* 1039B8 7F0CEE88 8FAF05A8 */ lw $t7, 0x5a8($sp) -/* 1039BC 7F0CEE8C 26940001 */ addiu $s4, $s4, 1 -/* 1039C0 7F0CEE90 25D90004 */ addiu $t9, $t6, 4 -/* 1039C4 7F0CEE94 01F4082A */ slt $at, $t7, $s4 -/* 1039C8 7F0CEE98 1020FF4E */ beqz $at, .L7F0CEBD4 -/* 1039CC 7F0CEE9C AFB9005C */ sw $t9, 0x5c($sp) -/* 1039D0 7F0CEEA0 AFB5060C */ sw $s5, 0x60c($sp) -.L7F0CEEA4: -/* 1039D4 7F0CEEA4 8FA20074 */ lw $v0, 0x74($sp) -/* 1039D8 7F0CEEA8 0002C02B */ sltu $t8, $zero, $v0 -/* 1039DC 7F0CEEAC 13000004 */ beqz $t8, .L7F0CEEC0 -/* 1039E0 7F0CEEB0 03001025 */ move $v0, $t8 -/* 1039E4 7F0CEEB4 8FA205A8 */ lw $v0, 0x5a8($sp) -/* 1039E8 7F0CEEB8 384E0001 */ xori $t6, $v0, 1 -/* 1039EC 7F0CEEBC 000E102B */ sltu $v0, $zero, $t6 -.L7F0CEEC0: -/* 1039F0 7F0CEEC0 8FBF003C */ lw $ra, 0x3c($sp) -/* 1039F4 7F0CEEC4 8FB00018 */ lw $s0, 0x18($sp) -/* 1039F8 7F0CEEC8 8FB1001C */ lw $s1, 0x1c($sp) -/* 1039FC 7F0CEECC 8FB20020 */ lw $s2, 0x20($sp) -/* 103A00 7F0CEED0 8FB30024 */ lw $s3, 0x24($sp) -/* 103A04 7F0CEED4 8FB40028 */ lw $s4, 0x28($sp) -/* 103A08 7F0CEED8 8FB5002C */ lw $s5, 0x2c($sp) -/* 103A0C 7F0CEEDC 8FB60030 */ lw $s6, 0x30($sp) -/* 103A10 7F0CEEE0 8FB70034 */ lw $s7, 0x34($sp) -/* 103A14 7F0CEEE4 8FBE0038 */ lw $fp, 0x38($sp) -/* 103A18 7F0CEEE8 03E00008 */ jr $ra -/* 103A1C 7F0CEEEC 27BD05F8 */ addiu $sp, $sp, 0x5f8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0CEEF0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0CEEF0 -/* 103A20 7F0CEEF0 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 103A24 7F0CEEF4 3C098005 */ lui $t1, %hi(D_8004E9B0) -/* 103A28 7F0CEEF8 2529E9B0 */ addiu $t1, %lo(D_8004E9B0) # addiu $t1, $t1, -0x1650 -/* 103A2C 7F0CEEFC AFBE0038 */ sw $fp, 0x38($sp) -/* 103A30 7F0CEF00 AFB70034 */ sw $s7, 0x34($sp) -/* 103A34 7F0CEF04 AFB5002C */ sw $s5, 0x2c($sp) -/* 103A38 7F0CEF08 AFB40028 */ sw $s4, 0x28($sp) -/* 103A3C 7F0CEF0C AFB30024 */ sw $s3, 0x24($sp) -/* 103A40 7F0CEF10 AFB1001C */ sw $s1, 0x1c($sp) -/* 103A44 7F0CEF14 00067840 */ sll $t7, $a2, 1 -/* 103A48 7F0CEF18 0007C840 */ sll $t9, $a3, 1 -/* 103A4C 7F0CEF1C AFBF003C */ sw $ra, 0x3c($sp) -/* 103A50 7F0CEF20 AFA7007C */ sw $a3, 0x7c($sp) -/* 103A54 7F0CEF24 3C148009 */ lui $s4, %hi(dword_CODE_bss_8008D364) -/* 103A58 7F0CEF28 3C118009 */ lui $s1, %hi(dword_CODE_bss_8008D368) -/* 103A5C 7F0CEF2C 3C158009 */ lui $s5, %hi(dword_CODE_bss_8008D35C) -/* 103A60 7F0CEF30 012F6021 */ addu $t4, $t1, $t7 -/* 103A64 7F0CEF34 01396821 */ addu $t5, $t1, $t9 -/* 103A68 7F0CEF38 3C138009 */ lui $s3, %hi(dword_CODE_bss_8008D358) -/* 103A6C 7F0CEF3C 3C178009 */ lui $s7, %hi(dword_CODE_bss_8008D354) -/* 103A70 7F0CEF40 3C1E8009 */ lui $fp, %hi(dword_CODE_bss_8008D350) -/* 103A74 7F0CEF44 AFB60030 */ sw $s6, 0x30($sp) -/* 103A78 7F0CEF48 AFB20020 */ sw $s2, 0x20($sp) -/* 103A7C 7F0CEF4C AFB00018 */ sw $s0, 0x18($sp) -/* 103A80 7F0CEF50 AFA40070 */ sw $a0, 0x70($sp) -/* 103A84 7F0CEF54 AFA50074 */ sw $a1, 0x74($sp) -/* 103A88 7F0CEF58 AFA60078 */ sw $a2, 0x78($sp) -/* 103A8C 7F0CEF5C 8E94D364 */ lw $s4, %lo(dword_CODE_bss_8008D364)($s4) -/* 103A90 7F0CEF60 8E31D368 */ lw $s1, %lo(dword_CODE_bss_8008D368)($s1) -/* 103A94 7F0CEF64 8EB5D35C */ lw $s5, %lo(dword_CODE_bss_8008D35C)($s5) -/* 103A98 7F0CEF68 958A0000 */ lhu $t2, ($t4) -/* 103A9C 7F0CEF6C 95AB0000 */ lhu $t3, ($t5) -/* 103AA0 7F0CEF70 27DED350 */ addiu $fp, %lo(dword_CODE_bss_8008D350) # addiu $fp, $fp, -0x2cb0 -/* 103AA4 7F0CEF74 26F7D354 */ addiu $s7, %lo(dword_CODE_bss_8008D354) # addiu $s7, $s7, -0x2cac -/* 103AA8 7F0CEF78 2673D358 */ addiu $s3, %lo(dword_CODE_bss_8008D358) # addiu $s3, $s3, -0x2ca8 -/* 103AAC 7F0CEF7C 34078000 */ li $a3, 32768 -/* 103AB0 7F0CEF80 00C0F825 */ move $ra, $a2 -.L7F0CEF84: -/* 103AB4 7F0CEF84 023F082B */ sltu $at, $s1, $ra -.L7F0CEF88: -/* 103AB8 7F0CEF88 5020000D */ beql $at, $zero, .L7F0CEFC0 -/* 103ABC 7F0CEF8C 8FB90070 */ lw $t9, 0x70($sp) -/* 103AC0 7F0CEF90 8FC30000 */ lw $v1, ($fp) -.L7F0CEF94: -/* 103AC4 7F0CEF94 8E620000 */ lw $v0, ($s3) -/* 103AC8 7F0CEF98 00627821 */ addu $t7, $v1, $v0 -/* 103ACC 7F0CEF9C 91F80000 */ lbu $t8, ($t7) -/* 103AD0 7F0CEFA0 244E0001 */ addiu $t6, $v0, 1 -/* 103AD4 7F0CEFA4 AE6E0000 */ sw $t6, ($s3) -/* 103AD8 7F0CEFA8 0238C804 */ sllv $t9, $t8, $s1 -/* 103ADC 7F0CEFAC 26310008 */ addiu $s1, $s1, 8 -/* 103AE0 7F0CEFB0 023F082B */ sltu $at, $s1, $ra -/* 103AE4 7F0CEFB4 1420FFF7 */ bnez $at, .L7F0CEF94 -/* 103AE8 7F0CEFB8 0299A025 */ or $s4, $s4, $t9 -/* 103AEC 7F0CEFBC 8FB90070 */ lw $t9, 0x70($sp) -.L7F0CEFC0: -/* 103AF0 7F0CEFC0 028A7824 */ and $t7, $s4, $t2 -/* 103AF4 7F0CEFC4 000FC0C0 */ sll $t8, $t7, 3 -/* 103AF8 7F0CEFC8 03193021 */ addu $a2, $t8, $t9 -/* 103AFC 7F0CEFCC 90D20000 */ lbu $s2, ($a2) -/* 103B00 7F0CEFD0 2E410011 */ sltiu $at, $s2, 0x11 -/* 103B04 7F0CEFD4 5420001E */ bnezl $at, .L7F0CF050 -/* 103B08 7F0CEFD8 90C20001 */ lbu $v0, 1($a2) -/* 103B0C 7F0CEFDC 90C20001 */ lbu $v0, 1($a2) -.L7F0CEFE0: -/* 103B10 7F0CEFE0 2652FFF0 */ addiu $s2, $s2, -0x10 -/* 103B14 7F0CEFE4 02228823 */ subu $s1, $s1, $v0 -/* 103B18 7F0CEFE8 0232082B */ sltu $at, $s1, $s2 -/* 103B1C 7F0CEFEC 1020000C */ beqz $at, .L7F0CF020 -/* 103B20 7F0CEFF0 0054A006 */ srlv $s4, $s4, $v0 -/* 103B24 7F0CEFF4 8FC30000 */ lw $v1, ($fp) -.L7F0CEFF8: -/* 103B28 7F0CEFF8 8E620000 */ lw $v0, ($s3) -/* 103B2C 7F0CEFFC 00627021 */ addu $t6, $v1, $v0 -/* 103B30 7F0CF000 91CF0000 */ lbu $t7, ($t6) -/* 103B34 7F0CF004 24590001 */ addiu $t9, $v0, 1 -/* 103B38 7F0CF008 AE790000 */ sw $t9, ($s3) -/* 103B3C 7F0CF00C 022FC004 */ sllv $t8, $t7, $s1 -/* 103B40 7F0CF010 26310008 */ addiu $s1, $s1, 8 -/* 103B44 7F0CF014 0232082B */ sltu $at, $s1, $s2 -/* 103B48 7F0CF018 1420FFF7 */ bnez $at, .L7F0CEFF8 -/* 103B4C 7F0CF01C 0298A025 */ or $s4, $s4, $t8 -.L7F0CF020: -/* 103B50 7F0CF020 00127040 */ sll $t6, $s2, 1 -/* 103B54 7F0CF024 012E7821 */ addu $t7, $t1, $t6 -/* 103B58 7F0CF028 95F80000 */ lhu $t8, ($t7) -/* 103B5C 7F0CF02C 8CCF0004 */ lw $t7, 4($a2) -/* 103B60 7F0CF030 0314C824 */ and $t9, $t8, $s4 -/* 103B64 7F0CF034 001970C0 */ sll $t6, $t9, 3 -/* 103B68 7F0CF038 01CF3021 */ addu $a2, $t6, $t7 -/* 103B6C 7F0CF03C 90D20000 */ lbu $s2, ($a2) -/* 103B70 7F0CF040 2E410011 */ sltiu $at, $s2, 0x11 -/* 103B74 7F0CF044 5020FFE6 */ beql $at, $zero, .L7F0CEFE0 -/* 103B78 7F0CF048 90C20001 */ lbu $v0, 1($a2) -/* 103B7C 7F0CF04C 90C20001 */ lbu $v0, 1($a2) -.L7F0CF050: -/* 103B80 7F0CF050 24010010 */ li $at, 16 -/* 103B84 7F0CF054 0054A006 */ srlv $s4, $s4, $v0 -/* 103B88 7F0CF058 16410013 */ bne $s2, $at, .L7F0CF0A8 -/* 103B8C 7F0CF05C 02228823 */ subu $s1, $s1, $v0 -/* 103B90 7F0CF060 8EF80000 */ lw $t8, ($s7) -/* 103B94 7F0CF064 8FD90000 */ lw $t9, ($fp) -/* 103B98 7F0CF068 8E6E0000 */ lw $t6, ($s3) -/* 103B9C 7F0CF06C 03152821 */ addu $a1, $t8, $s5 -/* 103BA0 7F0CF070 00A01025 */ move $v0, $a1 -/* 103BA4 7F0CF074 032E2021 */ addu $a0, $t9, $t6 -/* 103BA8 7F0CF078 00A4082B */ sltu $at, $a1, $a0 -/* 103BAC 7F0CF07C 14200006 */ bnez $at, .L7F0CF098 -/* 103BB0 7F0CF080 00447823 */ subu $t7, $v0, $a0 -/* 103BB4 7F0CF084 01E7082B */ sltu $at, $t7, $a3 -/* 103BB8 7F0CF088 50200004 */ beql $at, $zero, .L7F0CF09C -/* 103BBC 7F0CF08C 94D80004 */ lhu $t8, 4($a2) -.L7F0CF090: -/* 103BC0 7F0CF090 1000FFFF */ b .L7F0CF090 -/* 103BC4 7F0CF094 00000000 */ nop -.L7F0CF098: -/* 103BC8 7F0CF098 94D80004 */ lhu $t8, 4($a2) -.L7F0CF09C: -/* 103BCC 7F0CF09C 26B50001 */ addiu $s5, $s5, 1 -/* 103BD0 7F0CF0A0 1000FFB8 */ b .L7F0CEF84 -/* 103BD4 7F0CF0A4 A0B80000 */ sb $t8, ($a1) -.L7F0CF0A8: -/* 103BD8 7F0CF0A8 2401000F */ li $at, 15 -/* 103BDC 7F0CF0AC 124100A4 */ beq $s2, $at, .L7F0CF340 -/* 103BE0 7F0CF0B0 0232082B */ sltu $at, $s1, $s2 -/* 103BE4 7F0CF0B4 5020000D */ beql $at, $zero, .L7F0CF0EC -/* 103BE8 7F0CF0B8 0012C840 */ sll $t9, $s2, 1 -/* 103BEC 7F0CF0BC 8FC30000 */ lw $v1, ($fp) -.L7F0CF0C0: -/* 103BF0 7F0CF0C0 8E620000 */ lw $v0, ($s3) -/* 103BF4 7F0CF0C4 0062C821 */ addu $t9, $v1, $v0 -/* 103BF8 7F0CF0C8 932E0000 */ lbu $t6, ($t9) -/* 103BFC 7F0CF0CC 24580001 */ addiu $t8, $v0, 1 -/* 103C00 7F0CF0D0 AE780000 */ sw $t8, ($s3) -/* 103C04 7F0CF0D4 022E7804 */ sllv $t7, $t6, $s1 -/* 103C08 7F0CF0D8 26310008 */ addiu $s1, $s1, 8 -/* 103C0C 7F0CF0DC 0232082B */ sltu $at, $s1, $s2 -/* 103C10 7F0CF0E0 1420FFF7 */ bnez $at, .L7F0CF0C0 -/* 103C14 7F0CF0E4 028FA025 */ or $s4, $s4, $t7 -/* 103C18 7F0CF0E8 0012C840 */ sll $t9, $s2, 1 -.L7F0CF0EC: -/* 103C1C 7F0CF0EC 01397021 */ addu $t6, $t1, $t9 -/* 103C20 7F0CF0F0 95CF0000 */ lhu $t7, ($t6) -/* 103C24 7F0CF0F4 8FAE007C */ lw $t6, 0x7c($sp) -/* 103C28 7F0CF0F8 94D90004 */ lhu $t9, 4($a2) -/* 103C2C 7F0CF0FC 02328823 */ subu $s1, $s1, $s2 -/* 103C30 7F0CF100 01F4C024 */ and $t8, $t7, $s4 -/* 103C34 7F0CF104 022E082B */ sltu $at, $s1, $t6 -/* 103C38 7F0CF108 0254A006 */ srlv $s4, $s4, $s2 -/* 103C3C 7F0CF10C 1020000D */ beqz $at, .L7F0CF144 -/* 103C40 7F0CF110 03194021 */ addu $t0, $t8, $t9 -/* 103C44 7F0CF114 8FC30000 */ lw $v1, ($fp) -/* 103C48 7F0CF118 01C02025 */ move $a0, $t6 -.L7F0CF11C: -/* 103C4C 7F0CF11C 8E620000 */ lw $v0, ($s3) -/* 103C50 7F0CF120 00627821 */ addu $t7, $v1, $v0 -/* 103C54 7F0CF124 91F80000 */ lbu $t8, ($t7) -/* 103C58 7F0CF128 244E0001 */ addiu $t6, $v0, 1 -/* 103C5C 7F0CF12C AE6E0000 */ sw $t6, ($s3) -/* 103C60 7F0CF130 0238C804 */ sllv $t9, $t8, $s1 -/* 103C64 7F0CF134 26310008 */ addiu $s1, $s1, 8 -/* 103C68 7F0CF138 0224082B */ sltu $at, $s1, $a0 -/* 103C6C 7F0CF13C 1420FFF7 */ bnez $at, .L7F0CF11C -/* 103C70 7F0CF140 0299A025 */ or $s4, $s4, $t9 -.L7F0CF144: -/* 103C74 7F0CF144 8FB90074 */ lw $t9, 0x74($sp) -/* 103C78 7F0CF148 028B7824 */ and $t7, $s4, $t3 -/* 103C7C 7F0CF14C 000FC0C0 */ sll $t8, $t7, 3 -/* 103C80 7F0CF150 03193021 */ addu $a2, $t8, $t9 -/* 103C84 7F0CF154 90D20000 */ lbu $s2, ($a2) -/* 103C88 7F0CF158 2E410011 */ sltiu $at, $s2, 0x11 -/* 103C8C 7F0CF15C 5420001E */ bnezl $at, .L7F0CF1D8 -/* 103C90 7F0CF160 90C20001 */ lbu $v0, 1($a2) -/* 103C94 7F0CF164 90C20001 */ lbu $v0, 1($a2) -.L7F0CF168: -/* 103C98 7F0CF168 2652FFF0 */ addiu $s2, $s2, -0x10 -/* 103C9C 7F0CF16C 02228823 */ subu $s1, $s1, $v0 -/* 103CA0 7F0CF170 0232082B */ sltu $at, $s1, $s2 -/* 103CA4 7F0CF174 1020000C */ beqz $at, .L7F0CF1A8 -/* 103CA8 7F0CF178 0054A006 */ srlv $s4, $s4, $v0 -/* 103CAC 7F0CF17C 8FC30000 */ lw $v1, ($fp) -.L7F0CF180: -/* 103CB0 7F0CF180 8E620000 */ lw $v0, ($s3) -/* 103CB4 7F0CF184 00627021 */ addu $t6, $v1, $v0 -/* 103CB8 7F0CF188 91CF0000 */ lbu $t7, ($t6) -/* 103CBC 7F0CF18C 24590001 */ addiu $t9, $v0, 1 -/* 103CC0 7F0CF190 AE790000 */ sw $t9, ($s3) -/* 103CC4 7F0CF194 022FC004 */ sllv $t8, $t7, $s1 -/* 103CC8 7F0CF198 26310008 */ addiu $s1, $s1, 8 -/* 103CCC 7F0CF19C 0232082B */ sltu $at, $s1, $s2 -/* 103CD0 7F0CF1A0 1420FFF7 */ bnez $at, .L7F0CF180 -/* 103CD4 7F0CF1A4 0298A025 */ or $s4, $s4, $t8 -.L7F0CF1A8: -/* 103CD8 7F0CF1A8 00127040 */ sll $t6, $s2, 1 -/* 103CDC 7F0CF1AC 012E7821 */ addu $t7, $t1, $t6 -/* 103CE0 7F0CF1B0 95F80000 */ lhu $t8, ($t7) -/* 103CE4 7F0CF1B4 8CCF0004 */ lw $t7, 4($a2) -/* 103CE8 7F0CF1B8 0314C824 */ and $t9, $t8, $s4 -/* 103CEC 7F0CF1BC 001970C0 */ sll $t6, $t9, 3 -/* 103CF0 7F0CF1C0 01CF3021 */ addu $a2, $t6, $t7 -/* 103CF4 7F0CF1C4 90D20000 */ lbu $s2, ($a2) -/* 103CF8 7F0CF1C8 2E410011 */ sltiu $at, $s2, 0x11 -/* 103CFC 7F0CF1CC 5020FFE6 */ beql $at, $zero, .L7F0CF168 -/* 103D00 7F0CF1D0 90C20001 */ lbu $v0, 1($a2) -/* 103D04 7F0CF1D4 90C20001 */ lbu $v0, 1($a2) -.L7F0CF1D8: -/* 103D08 7F0CF1D8 02228823 */ subu $s1, $s1, $v0 -/* 103D0C 7F0CF1DC 0232082B */ sltu $at, $s1, $s2 -/* 103D10 7F0CF1E0 1020000C */ beqz $at, .L7F0CF214 -/* 103D14 7F0CF1E4 0054A006 */ srlv $s4, $s4, $v0 -/* 103D18 7F0CF1E8 8FC30000 */ lw $v1, ($fp) -.L7F0CF1EC: -/* 103D1C 7F0CF1EC 8E620000 */ lw $v0, ($s3) -/* 103D20 7F0CF1F0 0062C021 */ addu $t8, $v1, $v0 -/* 103D24 7F0CF1F4 93190000 */ lbu $t9, ($t8) -/* 103D28 7F0CF1F8 244F0001 */ addiu $t7, $v0, 1 -/* 103D2C 7F0CF1FC AE6F0000 */ sw $t7, ($s3) -/* 103D30 7F0CF200 02397004 */ sllv $t6, $t9, $s1 -/* 103D34 7F0CF204 26310008 */ addiu $s1, $s1, 8 -/* 103D38 7F0CF208 0232082B */ sltu $at, $s1, $s2 -/* 103D3C 7F0CF20C 1420FFF7 */ bnez $at, .L7F0CF1EC -/* 103D40 7F0CF210 028EA025 */ or $s4, $s4, $t6 -.L7F0CF214: -/* 103D44 7F0CF214 94D80004 */ lhu $t8, 4($a2) -/* 103D48 7F0CF218 00127040 */ sll $t6, $s2, 1 -/* 103D4C 7F0CF21C 012E7821 */ addu $t7, $t1, $t6 -/* 103D50 7F0CF220 02B8C823 */ subu $t9, $s5, $t8 -/* 103D54 7F0CF224 95F80000 */ lhu $t8, ($t7) -/* 103D58 7F0CF228 02328823 */ subu $s1, $s1, $s2 -/* 103D5C 7F0CF22C 03147024 */ and $t6, $t8, $s4 -/* 103D60 7F0CF230 032E8023 */ subu $s0, $t9, $t6 -/* 103D64 7F0CF234 0254A006 */ srlv $s4, $s4, $s2 -/* 103D68 7F0CF238 01009025 */ move $s2, $t0 -.L7F0CF23C: -/* 103D6C 7F0CF23C 02B07823 */ subu $t7, $s5, $s0 -/* 103D70 7F0CF240 01F2082B */ sltu $at, $t7, $s2 -/* 103D74 7F0CF244 14200025 */ bnez $at, .L7F0CF2DC -/* 103D78 7F0CF248 00004025 */ move $t0, $zero -/* 103D7C 7F0CF24C 8EE30000 */ lw $v1, ($s7) -/* 103D80 7F0CF250 8FD80000 */ lw $t8, ($fp) -/* 103D84 7F0CF254 8E790000 */ lw $t9, ($s3) -/* 103D88 7F0CF258 02B2B021 */ addu $s6, $s5, $s2 -/* 103D8C 7F0CF25C 02C31021 */ addu $v0, $s6, $v1 -/* 103D90 7F0CF260 2442FFFF */ addiu $v0, $v0, -1 -/* 103D94 7F0CF264 03192021 */ addu $a0, $t8, $t9 -/* 103D98 7F0CF268 0044082B */ sltu $at, $v0, $a0 -/* 103D9C 7F0CF26C 14200006 */ bnez $at, .L7F0CF288 -/* 103DA0 7F0CF270 00447023 */ subu $t6, $v0, $a0 -/* 103DA4 7F0CF274 01C7082B */ sltu $at, $t6, $a3 -/* 103DA8 7F0CF278 50200004 */ beql $at, $zero, .L7F0CF28C -/* 103DAC 7F0CF27C 00752021 */ addu $a0, $v1, $s5 -.L7F0CF280: -/* 103DB0 7F0CF280 1000FFFF */ b .L7F0CF280 -/* 103DB4 7F0CF284 00000000 */ nop -.L7F0CF288: -/* 103DB8 7F0CF288 00752021 */ addu $a0, $v1, $s5 -.L7F0CF28C: -/* 103DBC 7F0CF28C 00702821 */ addu $a1, $v1, $s0 -/* 103DC0 7F0CF290 02403025 */ move $a2, $s2 -/* 103DC4 7F0CF294 AFA80068 */ sw $t0, 0x68($sp) -/* 103DC8 7F0CF298 AFAA0058 */ sw $t2, 0x58($sp) -/* 103DCC 7F0CF29C AFAB0054 */ sw $t3, 0x54($sp) -/* 103DD0 7F0CF2A0 AFAC0044 */ sw $t4, 0x44($sp) -/* 103DD4 7F0CF2A4 0C004E14 */ jal memcpy -/* 103DD8 7F0CF2A8 AFAD0040 */ sw $t5, 0x40($sp) -/* 103DDC 7F0CF2AC 3C098005 */ lui $t1, %hi(D_8004E9B0) -/* 103DE0 7F0CF2B0 2529E9B0 */ addiu $t1, %lo(D_8004E9B0) # addiu $t1, $t1, -0x1650 -/* 103DE4 7F0CF2B4 34078000 */ li $a3, 32768 -/* 103DE8 7F0CF2B8 8FA80068 */ lw $t0, 0x68($sp) -/* 103DEC 7F0CF2BC 8FAA0058 */ lw $t2, 0x58($sp) -/* 103DF0 7F0CF2C0 8FAB0054 */ lw $t3, 0x54($sp) -/* 103DF4 7F0CF2C4 8FAC0044 */ lw $t4, 0x44($sp) -/* 103DF8 7F0CF2C8 8FAD0040 */ lw $t5, 0x40($sp) -/* 103DFC 7F0CF2CC 8FBF0078 */ lw $ra, 0x78($sp) -/* 103E00 7F0CF2D0 02C0A825 */ move $s5, $s6 -/* 103E04 7F0CF2D4 10000016 */ b .L7F0CF330 -/* 103E08 7F0CF2D8 02128021 */ addu $s0, $s0, $s2 -.L7F0CF2DC: -/* 103E0C 7F0CF2DC 8EE30000 */ lw $v1, ($s7) -/* 103E10 7F0CF2E0 8FCF0000 */ lw $t7, ($fp) -/* 103E14 7F0CF2E4 8E780000 */ lw $t8, ($s3) -/* 103E18 7F0CF2E8 00752821 */ addu $a1, $v1, $s5 -/* 103E1C 7F0CF2EC 00A01025 */ move $v0, $a1 -/* 103E20 7F0CF2F0 01F82021 */ addu $a0, $t7, $t8 -/* 103E24 7F0CF2F4 00A4082B */ sltu $at, $a1, $a0 -/* 103E28 7F0CF2F8 14200006 */ bnez $at, .L7F0CF314 -/* 103E2C 7F0CF2FC 0044C823 */ subu $t9, $v0, $a0 -/* 103E30 7F0CF300 0327082B */ sltu $at, $t9, $a3 -/* 103E34 7F0CF304 50200004 */ beql $at, $zero, .L7F0CF318 -/* 103E38 7F0CF308 02037021 */ addu $t6, $s0, $v1 -.L7F0CF30C: -/* 103E3C 7F0CF30C 1000FFFF */ b .L7F0CF30C -/* 103E40 7F0CF310 00000000 */ nop -.L7F0CF314: -/* 103E44 7F0CF314 02037021 */ addu $t6, $s0, $v1 -.L7F0CF318: -/* 103E48 7F0CF318 91CF0000 */ lbu $t7, ($t6) -/* 103E4C 7F0CF31C 2652FFFF */ addiu $s2, $s2, -1 -/* 103E50 7F0CF320 26100001 */ addiu $s0, $s0, 1 -/* 103E54 7F0CF324 26B50001 */ addiu $s5, $s5, 1 -/* 103E58 7F0CF328 1640FFEC */ bnez $s2, .L7F0CF2DC -/* 103E5C 7F0CF32C A0AF0000 */ sb $t7, ($a1) -.L7F0CF330: -/* 103E60 7F0CF330 5500FFC2 */ bnezl $t0, .L7F0CF23C -/* 103E64 7F0CF334 01009025 */ move $s2, $t0 -/* 103E68 7F0CF338 1000FF13 */ b .L7F0CEF88 -/* 103E6C 7F0CF33C 023F082B */ sltu $at, $s1, $ra -.L7F0CF340: -/* 103E70 7F0CF340 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D35C) -/* 103E74 7F0CF344 AC35D35C */ sw $s5, %lo(dword_CODE_bss_8008D35C)($at) -/* 103E78 7F0CF348 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D364) -/* 103E7C 7F0CF34C AC34D364 */ sw $s4, %lo(dword_CODE_bss_8008D364)($at) -/* 103E80 7F0CF350 8FBF003C */ lw $ra, 0x3c($sp) -/* 103E84 7F0CF354 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D368) -/* 103E88 7F0CF358 AC31D368 */ sw $s1, %lo(dword_CODE_bss_8008D368)($at) -/* 103E8C 7F0CF35C 8FB1001C */ lw $s1, 0x1c($sp) -/* 103E90 7F0CF360 8FB40028 */ lw $s4, 0x28($sp) -/* 103E94 7F0CF364 8FB5002C */ lw $s5, 0x2c($sp) -/* 103E98 7F0CF368 8FB00018 */ lw $s0, 0x18($sp) -/* 103E9C 7F0CF36C 8FB20020 */ lw $s2, 0x20($sp) -/* 103EA0 7F0CF370 8FB30024 */ lw $s3, 0x24($sp) -/* 103EA4 7F0CF374 8FB60030 */ lw $s6, 0x30($sp) -/* 103EA8 7F0CF378 8FB70034 */ lw $s7, 0x34($sp) -/* 103EAC 7F0CF37C 8FBE0038 */ lw $fp, 0x38($sp) -/* 103EB0 7F0CF380 27BD0070 */ addiu $sp, $sp, 0x70 -/* 103EB4 7F0CF384 03E00008 */ jr $ra -/* 103EB8 7F0CF388 00001025 */ move $v0, $zero -) -#endif - - - - - -#ifdef NONMATCHING -void zlib_decompressor_type0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel zlib_decompressor_type0 -/* 103EBC 7F0CF38C 3C0B8009 */ lui $t3, %hi(dword_CODE_bss_8008D368) -/* 103EC0 7F0CF390 256BD368 */ addiu $t3, %lo(dword_CODE_bss_8008D368) # addiu $t3, $t3, -0x2c98 -/* 103EC4 7F0CF394 8D640000 */ lw $a0, ($t3) -/* 103EC8 7F0CF398 3C0A8009 */ lui $t2, %hi(dword_CODE_bss_8008D364) -/* 103ECC 7F0CF39C 254AD364 */ addiu $t2, %lo(dword_CODE_bss_8008D364) # addiu $t2, $t2, -0x2c9c -/* 103ED0 7F0CF3A0 30820007 */ andi $v0, $a0, 7 -/* 103ED4 7F0CF3A4 8D430000 */ lw $v1, ($t2) -/* 103ED8 7F0CF3A8 3C0C8009 */ lui $t4, %hi(dword_CODE_bss_8008D35C) -/* 103EDC 7F0CF3AC 00822023 */ subu $a0, $a0, $v0 -/* 103EE0 7F0CF3B0 258CD35C */ addiu $t4, %lo(dword_CODE_bss_8008D35C) # addiu $t4, $t4, -0x2ca4 -/* 103EE4 7F0CF3B4 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 103EE8 7F0CF3B8 2C810010 */ sltiu $at, $a0, 0x10 -/* 103EEC 7F0CF3BC AFB1000C */ sw $s1, 0xc($sp) -/* 103EF0 7F0CF3C0 AFB00008 */ sw $s0, 8($sp) -/* 103EF4 7F0CF3C4 8D850000 */ lw $a1, ($t4) -/* 103EF8 7F0CF3C8 1020000F */ beqz $at, .L7F0CF408 -/* 103EFC 7F0CF3CC 00431806 */ srlv $v1, $v1, $v0 -/* 103F00 7F0CF3D0 3C068009 */ lui $a2, %hi(dword_CODE_bss_8008D350) -/* 103F04 7F0CF3D4 3C0D8009 */ lui $t5, %hi(dword_CODE_bss_8008D358) -/* 103F08 7F0CF3D8 25ADD358 */ addiu $t5, %lo(dword_CODE_bss_8008D358) # addiu $t5, $t5, -0x2ca8 -/* 103F0C 7F0CF3DC 8CC6D350 */ lw $a2, %lo(dword_CODE_bss_8008D350)($a2) -.L7F0CF3E0: -/* 103F10 7F0CF3E0 8DA70000 */ lw $a3, ($t5) -/* 103F14 7F0CF3E4 00C77021 */ addu $t6, $a2, $a3 -/* 103F18 7F0CF3E8 91CF0000 */ lbu $t7, ($t6) -/* 103F1C 7F0CF3EC 24F90001 */ addiu $t9, $a3, 1 -/* 103F20 7F0CF3F0 ADB90000 */ sw $t9, ($t5) -/* 103F24 7F0CF3F4 008FC004 */ sllv $t8, $t7, $a0 -/* 103F28 7F0CF3F8 24840008 */ addiu $a0, $a0, 8 -/* 103F2C 7F0CF3FC 2C810010 */ sltiu $at, $a0, 0x10 -/* 103F30 7F0CF400 1420FFF7 */ bnez $at, .L7F0CF3E0 -/* 103F34 7F0CF404 00781825 */ or $v1, $v1, $t8 -.L7F0CF408: -/* 103F38 7F0CF408 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 103F3C 7F0CF40C 3C0D8009 */ lui $t5, %hi(dword_CODE_bss_8008D358) -/* 103F40 7F0CF410 3062FFFF */ andi $v0, $v1, 0xffff -/* 103F44 7F0CF414 00037402 */ srl $t6, $v1, 0x10 -/* 103F48 7F0CF418 2C810010 */ sltiu $at, $a0, 0x10 -/* 103F4C 7F0CF41C 25ADD358 */ addiu $t5, %lo(dword_CODE_bss_8008D358) # addiu $t5, $t5, -0x2ca8 -/* 103F50 7F0CF420 1020000D */ beqz $at, .L7F0CF458 -/* 103F54 7F0CF424 01C01825 */ move $v1, $t6 -/* 103F58 7F0CF428 3C068009 */ lui $a2, %hi(dword_CODE_bss_8008D350) -/* 103F5C 7F0CF42C 8CC6D350 */ lw $a2, %lo(dword_CODE_bss_8008D350)($a2) -.L7F0CF430: -/* 103F60 7F0CF430 8DA70000 */ lw $a3, ($t5) -/* 103F64 7F0CF434 00C77821 */ addu $t7, $a2, $a3 -/* 103F68 7F0CF438 91F80000 */ lbu $t8, ($t7) -/* 103F6C 7F0CF43C 24EE0001 */ addiu $t6, $a3, 1 -/* 103F70 7F0CF440 ADAE0000 */ sw $t6, ($t5) -/* 103F74 7F0CF444 0098C804 */ sllv $t9, $t8, $a0 -/* 103F78 7F0CF448 24840008 */ addiu $a0, $a0, 8 -/* 103F7C 7F0CF44C 2C810010 */ sltiu $at, $a0, 0x10 -/* 103F80 7F0CF450 1420FFF7 */ bnez $at, .L7F0CF430 -/* 103F84 7F0CF454 00791825 */ or $v1, $v1, $t9 -.L7F0CF458: -/* 103F88 7F0CF458 00403025 */ move $a2, $v0 -/* 103F8C 7F0CF45C 00037C02 */ srl $t7, $v1, 0x10 -/* 103F90 7F0CF460 01E01825 */ move $v1, $t7 -/* 103F94 7F0CF464 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 103F98 7F0CF468 10400027 */ beqz $v0, .L7F0CF508 -/* 103F9C 7F0CF46C 2442FFFF */ addiu $v0, $v0, -1 -/* 103FA0 7F0CF470 3C108009 */ lui $s0, %hi(dword_CODE_bss_8008D354) -/* 103FA4 7F0CF474 2610D354 */ addiu $s0, %lo(dword_CODE_bss_8008D354) # addiu $s0, $s0, -0x2cac -/* 103FA8 7F0CF478 34118000 */ li $s1, 32768 -.L7F0CF47C: -/* 103FAC 7F0CF47C 3C068009 */ lui $a2, %hi(dword_CODE_bss_8008D350) -/* 103FB0 7F0CF480 2C810008 */ sltiu $at, $a0, 8 -/* 103FB4 7F0CF484 1020000B */ beqz $at, .L7F0CF4B4 -/* 103FB8 7F0CF488 8CC6D350 */ lw $a2, %lo(dword_CODE_bss_8008D350)($a2) -.L7F0CF48C: -/* 103FBC 7F0CF48C 8DA70000 */ lw $a3, ($t5) -/* 103FC0 7F0CF490 00C7C021 */ addu $t8, $a2, $a3 -/* 103FC4 7F0CF494 93190000 */ lbu $t9, ($t8) -/* 103FC8 7F0CF498 24EF0001 */ addiu $t7, $a3, 1 -/* 103FCC 7F0CF49C ADAF0000 */ sw $t7, ($t5) -/* 103FD0 7F0CF4A0 00997004 */ sllv $t6, $t9, $a0 -/* 103FD4 7F0CF4A4 24840008 */ addiu $a0, $a0, 8 -/* 103FD8 7F0CF4A8 2C810008 */ sltiu $at, $a0, 8 -/* 103FDC 7F0CF4AC 1420FFF7 */ bnez $at, .L7F0CF48C -/* 103FE0 7F0CF4B0 006E1825 */ or $v1, $v1, $t6 -.L7F0CF4B4: -/* 103FE4 7F0CF4B4 8E180000 */ lw $t8, ($s0) -/* 103FE8 7F0CF4B8 8DB90000 */ lw $t9, ($t5) -/* 103FEC 7F0CF4BC 00037A02 */ srl $t7, $v1, 8 -/* 103FF0 7F0CF4C0 03053821 */ addu $a3, $t8, $a1 -/* 103FF4 7F0CF4C4 00D94821 */ addu $t1, $a2, $t9 -/* 103FF8 7F0CF4C8 00E9082B */ sltu $at, $a3, $t1 -/* 103FFC 7F0CF4CC 14200007 */ bnez $at, .L7F0CF4EC -/* 104000 7F0CF4D0 00E04025 */ move $t0, $a3 -/* 104004 7F0CF4D4 01097023 */ subu $t6, $t0, $t1 -/* 104008 7F0CF4D8 01D1082B */ sltu $at, $t6, $s1 -/* 10400C 7F0CF4DC 50200004 */ beql $at, $zero, .L7F0CF4F0 -/* 104010 7F0CF4E0 00403025 */ move $a2, $v0 -.L7F0CF4E4: -/* 104014 7F0CF4E4 1000FFFF */ b .L7F0CF4E4 -/* 104018 7F0CF4E8 00000000 */ nop -.L7F0CF4EC: -/* 10401C 7F0CF4EC 00403025 */ move $a2, $v0 -.L7F0CF4F0: -/* 104020 7F0CF4F0 A0E30000 */ sb $v1, ($a3) -/* 104024 7F0CF4F4 24A50001 */ addiu $a1, $a1, 1 -/* 104028 7F0CF4F8 01E01825 */ move $v1, $t7 -/* 10402C 7F0CF4FC 2484FFF8 */ addiu $a0, $a0, -8 -/* 104030 7F0CF500 1440FFDE */ bnez $v0, .L7F0CF47C -/* 104034 7F0CF504 2442FFFF */ addiu $v0, $v0, -1 -.L7F0CF508: -/* 104038 7F0CF508 8FB00008 */ lw $s0, 8($sp) -/* 10403C 7F0CF50C 8FB1000C */ lw $s1, 0xc($sp) -/* 104040 7F0CF510 AD850000 */ sw $a1, ($t4) -/* 104044 7F0CF514 AD430000 */ sw $v1, ($t2) -/* 104048 7F0CF518 AD640000 */ sw $a0, ($t3) -/* 10404C 7F0CF51C 27BD0010 */ addiu $sp, $sp, 0x10 -/* 104050 7F0CF520 03E00008 */ jr $ra -/* 104054 7F0CF524 00001025 */ move $v0, $zero -) -#endif - - - - - -#ifdef NONMATCHING -void zlib_decompressor_type1(void) -{ - ? sp4B8; - ? sp4B4; - ?32 sp4B0; - ?32 sp4AC; - ? sp48C; - ? sp42C; - ? sp26C; - ? spA4; - ? sp34; - ?32 sp30; - ?32 sp2C; - void *temp_v0; - u32 temp_v0_2; - u32 temp_v0_3; - u32 temp_v0_4; - void *temp_v0_5; - void *phi_v0; - u32 phi_v0_2; - u32 phi_v0_3; - u32 phi_v0_4; - u32 phi_v0_5; - u32 phi_v0_6; - void *phi_v0_7; - - phi_v0 = &sp2C; -block_1: - temp_v0 = (phi_v0 + 0x10); - temp_v0->unk-C = 8; - temp_v0->unk-8 = 8; - temp_v0->unk-4 = 8; - temp_v0->unk-10 = 8; - phi_v0 = temp_v0; - if (temp_v0 != &sp26C) - { - goto block_1; - } - phi_v0_3 = temp_v0; - if (temp_v0 < &sp42C) - { - phi_v0_2 = temp_v0; -block_4: - temp_v0_2 = (phi_v0_2 + 4); - temp_v0_2->unk-4 = 9; - phi_v0_2 = temp_v0_2; - phi_v0_3 = temp_v0_2; - if (temp_v0_2 < &sp42C) - { - goto block_4; - } - } - phi_v0_5 = phi_v0_3; - if ((u32) phi_v0_3 < &sp48C) - { - phi_v0_4 = phi_v0_3; -block_7: - temp_v0_3 = (phi_v0_4 + 4); - temp_v0_3->unk-4 = 7; - phi_v0_4 = temp_v0_3; - phi_v0_5 = temp_v0_3; - if (temp_v0_3 < &sp48C) - { - goto block_7; - } - } - if ((u32) phi_v0_5 < &sp4AC) - { - phi_v0_6 = phi_v0_5; -block_10: - temp_v0_4 = (phi_v0_6 + 4); - temp_v0_4->unk-4 = 8; - phi_v0_6 = temp_v0_4; - if (temp_v0_4 < &sp4AC) - { - goto block_10; - } - } - sp4B0 = 7; - sub_GAME_7F0CE8B0(&sp2C, 0x120, 0x101, &D_8004E8F4, &D_8004E934, &sp4B8, &sp4B0); - sp30 = 5; - sp2C = 5; - phi_v0_7 = &sp34; -block_12: - temp_v0_5 = (phi_v0_7 + 0x10); - temp_v0_5->unk-C = 5; - temp_v0_5->unk-8 = 5; - temp_v0_5->unk-4 = 5; - temp_v0_5->unk-10 = 5; - phi_v0_7 = temp_v0_5; - if (temp_v0_5 != &spA4) - { - goto block_12; - } - sp4AC = 5; - sub_GAME_7F0CE8B0(&sp2C, 0x1e, 0, &D_8004E954, &D_8004E990, &sp4B4, &sp4AC); - sub_GAME_7F0CEEF0(sp4B8, sp4B4, sp4B0, sp4AC); - return 0; -} -#else -GLOBAL_ASM( -.text -glabel zlib_decompressor_type1 -/* 104058 7F0CF528 27BDFB40 */ addiu $sp, $sp, -0x4c0 -/* 10405C 7F0CF52C AFBF0024 */ sw $ra, 0x24($sp) -/* 104060 7F0CF530 27A2002C */ addiu $v0, $sp, 0x2c -/* 104064 7F0CF534 27A4026C */ addiu $a0, $sp, 0x26c -/* 104068 7F0CF538 24030008 */ li $v1, 8 -.L7F0CF53C: -/* 10406C 7F0CF53C 24420010 */ addiu $v0, $v0, 0x10 -/* 104070 7F0CF540 AC43FFF4 */ sw $v1, -0xc($v0) -/* 104074 7F0CF544 AC43FFF8 */ sw $v1, -8($v0) -/* 104078 7F0CF548 AC43FFFC */ sw $v1, -4($v0) -/* 10407C 7F0CF54C 1444FFFB */ bne $v0, $a0, .L7F0CF53C -/* 104080 7F0CF550 AC43FFF0 */ sw $v1, -0x10($v0) -/* 104084 7F0CF554 27AE042C */ addiu $t6, $sp, 0x42c -/* 104088 7F0CF558 004E082B */ sltu $at, $v0, $t6 -/* 10408C 7F0CF55C 10200007 */ beqz $at, .L7F0CF57C -/* 104090 7F0CF560 27AF048C */ addiu $t7, $sp, 0x48c -/* 104094 7F0CF564 27A5042C */ addiu $a1, $sp, 0x42c -/* 104098 7F0CF568 24040009 */ li $a0, 9 -.L7F0CF56C: -/* 10409C 7F0CF56C 24420004 */ addiu $v0, $v0, 4 -/* 1040A0 7F0CF570 0045082B */ sltu $at, $v0, $a1 -/* 1040A4 7F0CF574 1420FFFD */ bnez $at, .L7F0CF56C -/* 1040A8 7F0CF578 AC44FFFC */ sw $a0, -4($v0) -.L7F0CF57C: -/* 1040AC 7F0CF57C 004F082B */ sltu $at, $v0, $t7 -/* 1040B0 7F0CF580 10200007 */ beqz $at, .L7F0CF5A0 -/* 1040B4 7F0CF584 27B804AC */ addiu $t8, $sp, 0x4ac -/* 1040B8 7F0CF588 27A5048C */ addiu $a1, $sp, 0x48c -/* 1040BC 7F0CF58C 24040007 */ li $a0, 7 -.L7F0CF590: -/* 1040C0 7F0CF590 24420004 */ addiu $v0, $v0, 4 -/* 1040C4 7F0CF594 0045082B */ sltu $at, $v0, $a1 -/* 1040C8 7F0CF598 1420FFFD */ bnez $at, .L7F0CF590 -/* 1040CC 7F0CF59C AC44FFFC */ sw $a0, -4($v0) -.L7F0CF5A0: -/* 1040D0 7F0CF5A0 0058082B */ sltu $at, $v0, $t8 -/* 1040D4 7F0CF5A4 10200006 */ beqz $at, .L7F0CF5C0 -/* 1040D8 7F0CF5A8 24190007 */ li $t9, 7 -/* 1040DC 7F0CF5AC 27A404AC */ addiu $a0, $sp, 0x4ac -.L7F0CF5B0: -/* 1040E0 7F0CF5B0 24420004 */ addiu $v0, $v0, 4 -/* 1040E4 7F0CF5B4 0044082B */ sltu $at, $v0, $a0 -/* 1040E8 7F0CF5B8 1420FFFD */ bnez $at, .L7F0CF5B0 -/* 1040EC 7F0CF5BC AC43FFFC */ sw $v1, -4($v0) -.L7F0CF5C0: -/* 1040F0 7F0CF5C0 3C088005 */ lui $t0, %hi(D_8004E934) -/* 1040F4 7F0CF5C4 2508E934 */ addiu $t0, %lo(D_8004E934) # addiu $t0, $t0, -0x16cc -/* 1040F8 7F0CF5C8 3C078005 */ lui $a3, %hi(D_8004E8F4) -/* 1040FC 7F0CF5CC 27A904B8 */ addiu $t1, $sp, 0x4b8 -/* 104100 7F0CF5D0 27AA04B0 */ addiu $t2, $sp, 0x4b0 -/* 104104 7F0CF5D4 AFB904B0 */ sw $t9, 0x4b0($sp) -/* 104108 7F0CF5D8 AFAA0018 */ sw $t2, 0x18($sp) -/* 10410C 7F0CF5DC AFA90014 */ sw $t1, 0x14($sp) -/* 104110 7F0CF5E0 24E7E8F4 */ addiu $a3, %lo(D_8004E8F4) # addiu $a3, $a3, -0x170c -/* 104114 7F0CF5E4 AFA80010 */ sw $t0, 0x10($sp) -/* 104118 7F0CF5E8 27A4002C */ addiu $a0, $sp, 0x2c -/* 10411C 7F0CF5EC 24050120 */ li $a1, 288 -/* 104120 7F0CF5F0 0FC33A2C */ jal sub_GAME_7F0CE8B0 -/* 104124 7F0CF5F4 24060101 */ li $a2, 257 -/* 104128 7F0CF5F8 240B0005 */ li $t3, 5 -/* 10412C 7F0CF5FC 240C0005 */ li $t4, 5 -/* 104130 7F0CF600 AFAC0030 */ sw $t4, 0x30($sp) -/* 104134 7F0CF604 AFAB002C */ sw $t3, 0x2c($sp) -/* 104138 7F0CF608 27A20034 */ addiu $v0, $sp, 0x34 -/* 10413C 7F0CF60C 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 104140 7F0CF610 24030005 */ li $v1, 5 -.L7F0CF614: -/* 104144 7F0CF614 24420010 */ addiu $v0, $v0, 0x10 -/* 104148 7F0CF618 AC43FFF4 */ sw $v1, -0xc($v0) -/* 10414C 7F0CF61C AC43FFF8 */ sw $v1, -8($v0) -/* 104150 7F0CF620 AC43FFFC */ sw $v1, -4($v0) -/* 104154 7F0CF624 1444FFFB */ bne $v0, $a0, .L7F0CF614 -/* 104158 7F0CF628 AC43FFF0 */ sw $v1, -0x10($v0) -/* 10415C 7F0CF62C 3C0E8005 */ lui $t6, %hi(D_8004E990) -/* 104160 7F0CF630 240D0005 */ li $t5, 5 -/* 104164 7F0CF634 25CEE990 */ addiu $t6, %lo(D_8004E990) # addiu $t6, $t6, -0x1670 -/* 104168 7F0CF638 3C078005 */ lui $a3, %hi(D_8004E954) -/* 10416C 7F0CF63C 27AF04B4 */ addiu $t7, $sp, 0x4b4 -/* 104170 7F0CF640 27B804AC */ addiu $t8, $sp, 0x4ac -/* 104174 7F0CF644 AFAD04AC */ sw $t5, 0x4ac($sp) -/* 104178 7F0CF648 AFB80018 */ sw $t8, 0x18($sp) -/* 10417C 7F0CF64C AFAF0014 */ sw $t7, 0x14($sp) -/* 104180 7F0CF650 24E7E954 */ addiu $a3, %lo(D_8004E954) # addiu $a3, $a3, -0x16ac -/* 104184 7F0CF654 AFAE0010 */ sw $t6, 0x10($sp) -/* 104188 7F0CF658 27A4002C */ addiu $a0, $sp, 0x2c -/* 10418C 7F0CF65C 2405001E */ li $a1, 30 -/* 104190 7F0CF660 0FC33A2C */ jal sub_GAME_7F0CE8B0 -/* 104194 7F0CF664 00003025 */ move $a2, $zero -/* 104198 7F0CF668 8FA404B8 */ lw $a0, 0x4b8($sp) -/* 10419C 7F0CF66C 8FA504B4 */ lw $a1, 0x4b4($sp) -/* 1041A0 7F0CF670 8FA604B0 */ lw $a2, 0x4b0($sp) -/* 1041A4 7F0CF674 0FC33BBC */ jal sub_GAME_7F0CEEF0 -/* 1041A8 7F0CF678 8FA704AC */ lw $a3, 0x4ac($sp) -/* 1041AC 7F0CF67C 8FBF0024 */ lw $ra, 0x24($sp) -/* 1041B0 7F0CF680 27BD04C0 */ addiu $sp, $sp, 0x4c0 -/* 1041B4 7F0CF684 00001025 */ move $v0, $zero -/* 1041B8 7F0CF688 03E00008 */ jr $ra -/* 1041BC 7F0CF68C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void zlib_decompressor_type2(void) { - -} -#else -GLOBAL_ASM( -.text -glabel zlib_decompressor_type2 -/* 1041C0 7F0CF690 3C088009 */ lui $t0, %hi(dword_CODE_bss_8008D368) -/* 1041C4 7F0CF694 8D08D368 */ lw $t0, %lo(dword_CODE_bss_8008D368)($t0) -/* 1041C8 7F0CF698 27BDFA98 */ addiu $sp, $sp, -0x568 -/* 1041CC 7F0CF69C 3C098009 */ lui $t1, %hi(dword_CODE_bss_8008D364) -/* 1041D0 7F0CF6A0 2D010005 */ sltiu $at, $t0, 5 -/* 1041D4 7F0CF6A4 AFBF002C */ sw $ra, 0x2c($sp) -/* 1041D8 7F0CF6A8 AFB00028 */ sw $s0, 0x28($sp) -/* 1041DC 7F0CF6AC 1020000F */ beqz $at, .L7F0CF6EC -/* 1041E0 7F0CF6B0 8D29D364 */ lw $t1, %lo(dword_CODE_bss_8008D364)($t1) -/* 1041E4 7F0CF6B4 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D350) -/* 1041E8 7F0CF6B8 3C0A8009 */ lui $t2, %hi(dword_CODE_bss_8008D358) -/* 1041EC 7F0CF6BC 254AD358 */ addiu $t2, %lo(dword_CODE_bss_8008D358) # addiu $t2, $t2, -0x2ca8 -/* 1041F0 7F0CF6C0 8C63D350 */ lw $v1, %lo(dword_CODE_bss_8008D350)($v1) -.L7F0CF6C4: -/* 1041F4 7F0CF6C4 8D420000 */ lw $v0, ($t2) -/* 1041F8 7F0CF6C8 00627021 */ addu $t6, $v1, $v0 -/* 1041FC 7F0CF6CC 91CF0000 */ lbu $t7, ($t6) -/* 104200 7F0CF6D0 24590001 */ addiu $t9, $v0, 1 -/* 104204 7F0CF6D4 AD590000 */ sw $t9, ($t2) -/* 104208 7F0CF6D8 010FC004 */ sllv $t8, $t7, $t0 -/* 10420C 7F0CF6DC 25080008 */ addiu $t0, $t0, 8 -/* 104210 7F0CF6E0 2D010005 */ sltiu $at, $t0, 5 -/* 104214 7F0CF6E4 1420FFF7 */ bnez $at, .L7F0CF6C4 -/* 104218 7F0CF6E8 01384825 */ or $t1, $t1, $t8 -.L7F0CF6EC: -/* 10421C 7F0CF6EC 312E001F */ andi $t6, $t1, 0x1f -/* 104220 7F0CF6F0 2508FFFB */ addiu $t0, $t0, -5 -/* 104224 7F0CF6F4 3C0A8009 */ lui $t2, %hi(dword_CODE_bss_8008D358) -/* 104228 7F0CF6F8 25CF0101 */ addiu $t7, $t6, 0x101 -/* 10422C 7F0CF6FC 0009C142 */ srl $t8, $t1, 5 -/* 104230 7F0CF700 2D010005 */ sltiu $at, $t0, 5 -/* 104234 7F0CF704 254AD358 */ addiu $t2, %lo(dword_CODE_bss_8008D358) # addiu $t2, $t2, -0x2ca8 -/* 104238 7F0CF708 AFAF053C */ sw $t7, 0x53c($sp) -/* 10423C 7F0CF70C 1020000D */ beqz $at, .L7F0CF744 -/* 104240 7F0CF710 03004825 */ move $t1, $t8 -/* 104244 7F0CF714 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D350) -/* 104248 7F0CF718 8C63D350 */ lw $v1, %lo(dword_CODE_bss_8008D350)($v1) -.L7F0CF71C: -/* 10424C 7F0CF71C 8D420000 */ lw $v0, ($t2) -/* 104250 7F0CF720 0062C821 */ addu $t9, $v1, $v0 -/* 104254 7F0CF724 932E0000 */ lbu $t6, ($t9) -/* 104258 7F0CF728 24580001 */ addiu $t8, $v0, 1 -/* 10425C 7F0CF72C AD580000 */ sw $t8, ($t2) -/* 104260 7F0CF730 010E7804 */ sllv $t7, $t6, $t0 -/* 104264 7F0CF734 25080008 */ addiu $t0, $t0, 8 -/* 104268 7F0CF738 2D010005 */ sltiu $at, $t0, 5 -/* 10426C 7F0CF73C 1420FFF7 */ bnez $at, .L7F0CF71C -/* 104270 7F0CF740 012F4825 */ or $t1, $t1, $t7 -.L7F0CF744: -/* 104274 7F0CF744 3139001F */ andi $t9, $t1, 0x1f -/* 104278 7F0CF748 2508FFFB */ addiu $t0, $t0, -5 -/* 10427C 7F0CF74C 272E0001 */ addiu $t6, $t9, 1 -/* 104280 7F0CF750 00097942 */ srl $t7, $t1, 5 -/* 104284 7F0CF754 2D010004 */ sltiu $at, $t0, 4 -/* 104288 7F0CF758 AFAE0538 */ sw $t6, 0x538($sp) -/* 10428C 7F0CF75C 1020000D */ beqz $at, .L7F0CF794 -/* 104290 7F0CF760 01E04825 */ move $t1, $t7 -/* 104294 7F0CF764 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D350) -/* 104298 7F0CF768 8C63D350 */ lw $v1, %lo(dword_CODE_bss_8008D350)($v1) -.L7F0CF76C: -/* 10429C 7F0CF76C 8D420000 */ lw $v0, ($t2) -/* 1042A0 7F0CF770 0062C021 */ addu $t8, $v1, $v0 -/* 1042A4 7F0CF774 93190000 */ lbu $t9, ($t8) -/* 1042A8 7F0CF778 244F0001 */ addiu $t7, $v0, 1 -/* 1042AC 7F0CF77C AD4F0000 */ sw $t7, ($t2) -/* 1042B0 7F0CF780 01197004 */ sllv $t6, $t9, $t0 -/* 1042B4 7F0CF784 25080008 */ addiu $t0, $t0, 8 -/* 1042B8 7F0CF788 2D010004 */ sltiu $at, $t0, 4 -/* 1042BC 7F0CF78C 1420FFF7 */ bnez $at, .L7F0CF76C -/* 1042C0 7F0CF790 012E4825 */ or $t1, $t1, $t6 -.L7F0CF794: -/* 1042C4 7F0CF794 3126000F */ andi $a2, $t1, 0xf -/* 1042C8 7F0CF798 24C60004 */ addiu $a2, $a2, 4 -/* 1042CC 7F0CF79C 0009C102 */ srl $t8, $t1, 4 -/* 1042D0 7F0CF7A0 03004825 */ move $t1, $t8 -/* 1042D4 7F0CF7A4 2508FFFC */ addiu $t0, $t0, -4 -/* 1042D8 7F0CF7A8 10C0001D */ beqz $a2, .L7F0CF820 -/* 1042DC 7F0CF7AC 00002025 */ move $a0, $zero -/* 1042E0 7F0CF7B0 3C058005 */ lui $a1, %hi(D_8004E8E0) -/* 1042E4 7F0CF7B4 24A5E8E0 */ addiu $a1, %lo(D_8004E8E0) # addiu $a1, $a1, -0x1720 -/* 1042E8 7F0CF7B8 27B00040 */ addiu $s0, $sp, 0x40 -.L7F0CF7BC: -/* 1042EC 7F0CF7BC 2D010003 */ sltiu $at, $t0, 3 -/* 1042F0 7F0CF7C0 1020000D */ beqz $at, .L7F0CF7F8 -/* 1042F4 7F0CF7C4 24840001 */ addiu $a0, $a0, 1 -/* 1042F8 7F0CF7C8 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D350) -/* 1042FC 7F0CF7CC 8C63D350 */ lw $v1, %lo(dword_CODE_bss_8008D350)($v1) -.L7F0CF7D0: -/* 104300 7F0CF7D0 8D420000 */ lw $v0, ($t2) -/* 104304 7F0CF7D4 0062C821 */ addu $t9, $v1, $v0 -/* 104308 7F0CF7D8 932E0000 */ lbu $t6, ($t9) -/* 10430C 7F0CF7DC 24580001 */ addiu $t8, $v0, 1 -/* 104310 7F0CF7E0 AD580000 */ sw $t8, ($t2) -/* 104314 7F0CF7E4 010E7804 */ sllv $t7, $t6, $t0 -/* 104318 7F0CF7E8 25080008 */ addiu $t0, $t0, 8 -/* 10431C 7F0CF7EC 2D010003 */ sltiu $at, $t0, 3 -/* 104320 7F0CF7F0 1420FFF7 */ bnez $at, .L7F0CF7D0 -/* 104324 7F0CF7F4 012F4825 */ or $t1, $t1, $t7 -.L7F0CF7F8: -/* 104328 7F0CF7F8 90AE0000 */ lbu $t6, ($a1) -/* 10432C 7F0CF7FC 31390007 */ andi $t9, $t1, 7 -/* 104330 7F0CF800 24A50001 */ addiu $a1, $a1, 1 -/* 104334 7F0CF804 000E7880 */ sll $t7, $t6, 2 -/* 104338 7F0CF808 020FC021 */ addu $t8, $s0, $t7 -/* 10433C 7F0CF80C 000970C2 */ srl $t6, $t1, 3 -/* 104340 7F0CF810 AF190000 */ sw $t9, ($t8) -/* 104344 7F0CF814 01C04825 */ move $t1, $t6 -/* 104348 7F0CF818 1486FFE8 */ bne $a0, $a2, .L7F0CF7BC -/* 10434C 7F0CF81C 2508FFFD */ addiu $t0, $t0, -3 -.L7F0CF820: -/* 104350 7F0CF820 2C810013 */ sltiu $at, $a0, 0x13 -/* 104354 7F0CF824 1020000D */ beqz $at, .L7F0CF85C -/* 104358 7F0CF828 27B00040 */ addiu $s0, $sp, 0x40 -/* 10435C 7F0CF82C 3C0F8005 */ lui $t7, %hi(D_8004E8E0) -/* 104360 7F0CF830 25EFE8E0 */ addiu $t7, %lo(D_8004E8E0) # addiu $t7, $t7, -0x1720 -/* 104364 7F0CF834 3C028005 */ lui $v0, %hi(D_8004E8E0+0x13) -/* 104368 7F0CF838 2442E8F3 */ addiu $v0, %lo(D_8004E8E0+0x13) # addiu $v0, $v0, -0x170d -/* 10436C 7F0CF83C 008F2821 */ addu $a1, $a0, $t7 -.L7F0CF840: -/* 104370 7F0CF840 90B90000 */ lbu $t9, ($a1) -/* 104374 7F0CF844 24A50001 */ addiu $a1, $a1, 1 -/* 104378 7F0CF848 00A2082B */ sltu $at, $a1, $v0 -/* 10437C 7F0CF84C 0019C080 */ sll $t8, $t9, 2 -/* 104380 7F0CF850 02187021 */ addu $t6, $s0, $t8 -/* 104384 7F0CF854 1420FFFA */ bnez $at, .L7F0CF840 -/* 104388 7F0CF858 ADC00000 */ sw $zero, ($t6) -.L7F0CF85C: -/* 10438C 7F0CF85C 240F0007 */ li $t7, 7 -/* 104390 7F0CF860 27B90550 */ addiu $t9, $sp, 0x550 -/* 104394 7F0CF864 27B80548 */ addiu $t8, $sp, 0x548 -/* 104398 7F0CF868 AFAF0548 */ sw $t7, 0x548($sp) -/* 10439C 7F0CF86C AFB80018 */ sw $t8, 0x18($sp) -/* 1043A0 7F0CF870 AFB90014 */ sw $t9, 0x14($sp) -/* 1043A4 7F0CF874 02002025 */ move $a0, $s0 -/* 1043A8 7F0CF878 24050013 */ li $a1, 19 -/* 1043AC 7F0CF87C 24060013 */ li $a2, 19 -/* 1043B0 7F0CF880 00003825 */ move $a3, $zero -/* 1043B4 7F0CF884 AFA00010 */ sw $zero, 0x10($sp) -/* 1043B8 7F0CF888 AFA80534 */ sw $t0, 0x534($sp) -/* 1043BC 7F0CF88C 0FC33A2C */ jal sub_GAME_7F0CE8B0 -/* 1043C0 7F0CF890 AFA90530 */ sw $t1, 0x530($sp) -/* 1043C4 7F0CF894 8FB90548 */ lw $t9, 0x548($sp) -/* 1043C8 7F0CF898 8FAE053C */ lw $t6, 0x53c($sp) -/* 1043CC 7F0CF89C 8FAF0538 */ lw $t7, 0x538($sp) -/* 1043D0 7F0CF8A0 3C0B8005 */ lui $t3, %hi(D_8004E9B0) -/* 1043D4 7F0CF8A4 0019C040 */ sll $t8, $t9, 1 -/* 1043D8 7F0CF8A8 3C0A8009 */ lui $t2, %hi(dword_CODE_bss_8008D358) -/* 1043DC 7F0CF8AC 01785821 */ addu $t3, $t3, $t8 -/* 1043E0 7F0CF8B0 01CF3821 */ addu $a3, $t6, $t7 -/* 1043E4 7F0CF8B4 254AD358 */ addiu $t2, %lo(dword_CODE_bss_8008D358) # addiu $t2, $t2, -0x2ca8 -/* 1043E8 7F0CF8B8 8FA80534 */ lw $t0, 0x534($sp) -/* 1043EC 7F0CF8BC 8FA90530 */ lw $t1, 0x530($sp) -/* 1043F0 7F0CF8C0 956BE9B0 */ lhu $t3, %lo(D_8004E9B0)($t3) -/* 1043F4 7F0CF8C4 00003025 */ move $a2, $zero -/* 1043F8 7F0CF8C8 10E0008A */ beqz $a3, .L7F0CFAF4 -/* 1043FC 7F0CF8CC 00002825 */ move $a1, $zero -/* 104400 7F0CF8D0 240D0011 */ li $t5, 17 -/* 104404 7F0CF8D4 240C0010 */ li $t4, 16 -/* 104408 7F0CF8D8 8FAE0548 */ lw $t6, 0x548($sp) -.L7F0CF8DC: -/* 10440C 7F0CF8DC 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D350) -/* 104410 7F0CF8E0 010E082B */ sltu $at, $t0, $t6 -/* 104414 7F0CF8E4 5020000E */ beql $at, $zero, .L7F0CF920 -/* 104418 7F0CF8E8 8FAE0550 */ lw $t6, 0x550($sp) -/* 10441C 7F0CF8EC 8C63D350 */ lw $v1, %lo(dword_CODE_bss_8008D350)($v1) -.L7F0CF8F0: -/* 104420 7F0CF8F0 8D420000 */ lw $v0, ($t2) -/* 104424 7F0CF8F4 00627821 */ addu $t7, $v1, $v0 -/* 104428 7F0CF8F8 91F90000 */ lbu $t9, ($t7) -/* 10442C 7F0CF8FC 8FAF0548 */ lw $t7, 0x548($sp) -/* 104430 7F0CF900 244E0001 */ addiu $t6, $v0, 1 -/* 104434 7F0CF904 0119C004 */ sllv $t8, $t9, $t0 -/* 104438 7F0CF908 25080008 */ addiu $t0, $t0, 8 -/* 10443C 7F0CF90C 010F082B */ sltu $at, $t0, $t7 -/* 104440 7F0CF910 01384825 */ or $t1, $t1, $t8 -/* 104444 7F0CF914 1420FFF6 */ bnez $at, .L7F0CF8F0 -/* 104448 7F0CF918 AD4E0000 */ sw $t6, ($t2) -/* 10444C 7F0CF91C 8FAE0550 */ lw $t6, 0x550($sp) -.L7F0CF920: -/* 104450 7F0CF920 012BC824 */ and $t9, $t1, $t3 -/* 104454 7F0CF924 0019C0C0 */ sll $t8, $t9, 3 -/* 104458 7F0CF928 030E7821 */ addu $t7, $t8, $t6 -/* 10445C 7F0CF92C AFAF054C */ sw $t7, 0x54c($sp) -/* 104460 7F0CF930 91E40001 */ lbu $a0, 1($t7) -/* 104464 7F0CF934 0005C880 */ sll $t9, $a1, 2 -/* 104468 7F0CF938 0219C021 */ addu $t8, $s0, $t9 -/* 10446C 7F0CF93C 00894806 */ srlv $t1, $t1, $a0 -/* 104470 7F0CF940 01044023 */ subu $t0, $t0, $a0 -/* 104474 7F0CF944 95E40004 */ lhu $a0, 4($t7) -/* 104478 7F0CF948 2C810010 */ sltiu $at, $a0, 0x10 -/* 10447C 7F0CF94C 10200005 */ beqz $at, .L7F0CF964 -/* 104480 7F0CF950 00000000 */ nop -/* 104484 7F0CF954 00803025 */ move $a2, $a0 -/* 104488 7F0CF958 AF040000 */ sw $a0, ($t8) -/* 10448C 7F0CF95C 10000062 */ b .L7F0CFAE8 -/* 104490 7F0CF960 24A50001 */ addiu $a1, $a1, 1 -.L7F0CF964: -/* 104494 7F0CF964 148C0020 */ bne $a0, $t4, .L7F0CF9E8 -/* 104498 7F0CF968 2D010002 */ sltiu $at, $t0, 2 -/* 10449C 7F0CF96C 1020000C */ beqz $at, .L7F0CF9A0 -/* 1044A0 7F0CF970 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D350) -/* 1044A4 7F0CF974 8C63D350 */ lw $v1, %lo(dword_CODE_bss_8008D350)($v1) -.L7F0CF978: -/* 1044A8 7F0CF978 8D420000 */ lw $v0, ($t2) -/* 1044AC 7F0CF97C 00627021 */ addu $t6, $v1, $v0 -/* 1044B0 7F0CF980 91CF0000 */ lbu $t7, ($t6) -/* 1044B4 7F0CF984 24580001 */ addiu $t8, $v0, 1 -/* 1044B8 7F0CF988 AD580000 */ sw $t8, ($t2) -/* 1044BC 7F0CF98C 010FC804 */ sllv $t9, $t7, $t0 -/* 1044C0 7F0CF990 25080008 */ addiu $t0, $t0, 8 -/* 1044C4 7F0CF994 2D010002 */ sltiu $at, $t0, 2 -/* 1044C8 7F0CF998 1420FFF7 */ bnez $at, .L7F0CF978 -/* 1044CC 7F0CF99C 01394825 */ or $t1, $t1, $t9 -.L7F0CF9A0: -/* 1044D0 7F0CF9A0 31240003 */ andi $a0, $t1, 3 -/* 1044D4 7F0CF9A4 24840003 */ addiu $a0, $a0, 3 -/* 1044D8 7F0CF9A8 00801825 */ move $v1, $a0 -/* 1044DC 7F0CF9AC 00097082 */ srl $t6, $t1, 2 -/* 1044E0 7F0CF9B0 01C04825 */ move $t1, $t6 -/* 1044E4 7F0CF9B4 2508FFFE */ addiu $t0, $t0, -2 -/* 1044E8 7F0CF9B8 1080004B */ beqz $a0, .L7F0CFAE8 -/* 1044EC 7F0CF9BC 2484FFFF */ addiu $a0, $a0, -1 -/* 1044F0 7F0CF9C0 00057880 */ sll $t7, $a1, 2 -/* 1044F4 7F0CF9C4 020F1021 */ addu $v0, $s0, $t7 -.L7F0CF9C8: -/* 1044F8 7F0CF9C8 00801825 */ move $v1, $a0 -/* 1044FC 7F0CF9CC AC460000 */ sw $a2, ($v0) -/* 104500 7F0CF9D0 24A50001 */ addiu $a1, $a1, 1 -/* 104504 7F0CF9D4 24420004 */ addiu $v0, $v0, 4 -/* 104508 7F0CF9D8 1480FFFB */ bnez $a0, .L7F0CF9C8 -/* 10450C 7F0CF9DC 2484FFFF */ addiu $a0, $a0, -1 -/* 104510 7F0CF9E0 10000042 */ b .L7F0CFAEC -/* 104514 7F0CF9E4 00A7082B */ sltu $at, $a1, $a3 -.L7F0CF9E8: -/* 104518 7F0CF9E8 148D0021 */ bne $a0, $t5, .L7F0CFA70 -/* 10451C 7F0CF9EC 00003025 */ move $a2, $zero -/* 104520 7F0CF9F0 2D010003 */ sltiu $at, $t0, 3 -/* 104524 7F0CF9F4 1020000C */ beqz $at, .L7F0CFA28 -/* 104528 7F0CF9F8 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D350) -/* 10452C 7F0CF9FC 8C63D350 */ lw $v1, %lo(dword_CODE_bss_8008D350)($v1) -.L7F0CFA00: -/* 104530 7F0CFA00 8D420000 */ lw $v0, ($t2) -/* 104534 7F0CFA04 0062C821 */ addu $t9, $v1, $v0 -/* 104538 7F0CFA08 93380000 */ lbu $t8, ($t9) -/* 10453C 7F0CFA0C 244F0001 */ addiu $t7, $v0, 1 -/* 104540 7F0CFA10 AD4F0000 */ sw $t7, ($t2) -/* 104544 7F0CFA14 01187004 */ sllv $t6, $t8, $t0 -/* 104548 7F0CFA18 25080008 */ addiu $t0, $t0, 8 -/* 10454C 7F0CFA1C 2D010003 */ sltiu $at, $t0, 3 -/* 104550 7F0CFA20 1420FFF7 */ bnez $at, .L7F0CFA00 -/* 104554 7F0CFA24 012E4825 */ or $t1, $t1, $t6 -.L7F0CFA28: -/* 104558 7F0CFA28 31240007 */ andi $a0, $t1, 7 -/* 10455C 7F0CFA2C 24840003 */ addiu $a0, $a0, 3 -/* 104560 7F0CFA30 00801825 */ move $v1, $a0 -/* 104564 7F0CFA34 0009C8C2 */ srl $t9, $t1, 3 -/* 104568 7F0CFA38 03204825 */ move $t1, $t9 -/* 10456C 7F0CFA3C 2508FFFD */ addiu $t0, $t0, -3 -/* 104570 7F0CFA40 10800029 */ beqz $a0, .L7F0CFAE8 -/* 104574 7F0CFA44 2484FFFF */ addiu $a0, $a0, -1 -/* 104578 7F0CFA48 0005C080 */ sll $t8, $a1, 2 -/* 10457C 7F0CFA4C 02181021 */ addu $v0, $s0, $t8 -.L7F0CFA50: -/* 104580 7F0CFA50 00801825 */ move $v1, $a0 -/* 104584 7F0CFA54 AC400000 */ sw $zero, ($v0) -/* 104588 7F0CFA58 24A50001 */ addiu $a1, $a1, 1 -/* 10458C 7F0CFA5C 24420004 */ addiu $v0, $v0, 4 -/* 104590 7F0CFA60 1480FFFB */ bnez $a0, .L7F0CFA50 -/* 104594 7F0CFA64 2484FFFF */ addiu $a0, $a0, -1 -/* 104598 7F0CFA68 10000020 */ b .L7F0CFAEC -/* 10459C 7F0CFA6C 00A7082B */ sltu $at, $a1, $a3 -.L7F0CFA70: -/* 1045A0 7F0CFA70 2D010007 */ sltiu $at, $t0, 7 -/* 1045A4 7F0CFA74 1020000C */ beqz $at, .L7F0CFAA8 -/* 1045A8 7F0CFA78 3C038009 */ lui $v1, %hi(dword_CODE_bss_8008D350) -/* 1045AC 7F0CFA7C 8C63D350 */ lw $v1, %lo(dword_CODE_bss_8008D350)($v1) -.L7F0CFA80: -/* 1045B0 7F0CFA80 8D420000 */ lw $v0, ($t2) -/* 1045B4 7F0CFA84 00627021 */ addu $t6, $v1, $v0 -/* 1045B8 7F0CFA88 91CF0000 */ lbu $t7, ($t6) -/* 1045BC 7F0CFA8C 24580001 */ addiu $t8, $v0, 1 -/* 1045C0 7F0CFA90 AD580000 */ sw $t8, ($t2) -/* 1045C4 7F0CFA94 010FC804 */ sllv $t9, $t7, $t0 -/* 1045C8 7F0CFA98 25080008 */ addiu $t0, $t0, 8 -/* 1045CC 7F0CFA9C 2D010007 */ sltiu $at, $t0, 7 -/* 1045D0 7F0CFAA0 1420FFF7 */ bnez $at, .L7F0CFA80 -/* 1045D4 7F0CFAA4 01394825 */ or $t1, $t1, $t9 -.L7F0CFAA8: -/* 1045D8 7F0CFAA8 3124007F */ andi $a0, $t1, 0x7f -/* 1045DC 7F0CFAAC 2484000B */ addiu $a0, $a0, 0xb -/* 1045E0 7F0CFAB0 00801825 */ move $v1, $a0 -/* 1045E4 7F0CFAB4 000971C2 */ srl $t6, $t1, 7 -/* 1045E8 7F0CFAB8 01C04825 */ move $t1, $t6 -/* 1045EC 7F0CFABC 2508FFF9 */ addiu $t0, $t0, -7 -/* 1045F0 7F0CFAC0 10800009 */ beqz $a0, .L7F0CFAE8 -/* 1045F4 7F0CFAC4 2484FFFF */ addiu $a0, $a0, -1 -/* 1045F8 7F0CFAC8 00057880 */ sll $t7, $a1, 2 -/* 1045FC 7F0CFACC 020F1021 */ addu $v0, $s0, $t7 -.L7F0CFAD0: -/* 104600 7F0CFAD0 00801825 */ move $v1, $a0 -/* 104604 7F0CFAD4 AC400000 */ sw $zero, ($v0) -/* 104608 7F0CFAD8 24A50001 */ addiu $a1, $a1, 1 -/* 10460C 7F0CFADC 24420004 */ addiu $v0, $v0, 4 -/* 104610 7F0CFAE0 1480FFFB */ bnez $a0, .L7F0CFAD0 -/* 104614 7F0CFAE4 2484FFFF */ addiu $a0, $a0, -1 -.L7F0CFAE8: -/* 104618 7F0CFAE8 00A7082B */ sltu $at, $a1, $a3 -.L7F0CFAEC: -/* 10461C 7F0CFAEC 5420FF7B */ bnezl $at, .L7F0CF8DC -/* 104620 7F0CFAF0 8FAE0548 */ lw $t6, 0x548($sp) -.L7F0CFAF4: -/* 104624 7F0CFAF4 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D364) -/* 104628 7F0CFAF8 3C198005 */ lui $t9, %hi(D_8004E9D4) -/* 10462C 7F0CFAFC 8F39E9D4 */ lw $t9, %lo(D_8004E9D4)($t9) -/* 104630 7F0CFB00 AC29D364 */ sw $t1, %lo(dword_CODE_bss_8008D364)($at) -/* 104634 7F0CFB04 3C188005 */ lui $t8, %hi(D_8004E934) -/* 104638 7F0CFB08 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D368) -/* 10463C 7F0CFB0C 2718E934 */ addiu $t8, %lo(D_8004E934) # addiu $t8, $t8, -0x16cc -/* 104640 7F0CFB10 3C078005 */ lui $a3, %hi(D_8004E8F4) -/* 104644 7F0CFB14 27AE0550 */ addiu $t6, $sp, 0x550 -/* 104648 7F0CFB18 27AF0548 */ addiu $t7, $sp, 0x548 -/* 10464C 7F0CFB1C AC28D368 */ sw $t0, %lo(dword_CODE_bss_8008D368)($at) -/* 104650 7F0CFB20 AFAF0018 */ sw $t7, 0x18($sp) -/* 104654 7F0CFB24 AFAE0014 */ sw $t6, 0x14($sp) -/* 104658 7F0CFB28 24E7E8F4 */ addiu $a3, %lo(D_8004E8F4) # addiu $a3, $a3, -0x170c -/* 10465C 7F0CFB2C AFB80010 */ sw $t8, 0x10($sp) -/* 104660 7F0CFB30 02002025 */ move $a0, $s0 -/* 104664 7F0CFB34 8FA5053C */ lw $a1, 0x53c($sp) -/* 104668 7F0CFB38 24060101 */ li $a2, 257 -/* 10466C 7F0CFB3C 0FC33A2C */ jal sub_GAME_7F0CE8B0 -/* 104670 7F0CFB40 AFB90548 */ sw $t9, 0x548($sp) -/* 104674 7F0CFB44 3C198005 */ lui $t9, %hi(D_8004E9D8) -/* 104678 7F0CFB48 8F39E9D8 */ lw $t9, %lo(D_8004E9D8)($t9) -/* 10467C 7F0CFB4C 8FB8053C */ lw $t8, 0x53c($sp) -/* 104680 7F0CFB50 3C0F8005 */ lui $t7, %hi(D_8004E990) -/* 104684 7F0CFB54 AFB90544 */ sw $t9, 0x544($sp) -/* 104688 7F0CFB58 00187080 */ sll $t6, $t8, 2 -/* 10468C 7F0CFB5C 27B80544 */ addiu $t8, $sp, 0x544 -/* 104690 7F0CFB60 27B9054C */ addiu $t9, $sp, 0x54c -/* 104694 7F0CFB64 25EFE990 */ addiu $t7, %lo(D_8004E990) # addiu $t7, $t7, -0x1670 -/* 104698 7F0CFB68 3C078005 */ lui $a3, %hi(D_8004E954) -/* 10469C 7F0CFB6C 24E7E954 */ addiu $a3, %lo(D_8004E954) # addiu $a3, $a3, -0x16ac -/* 1046A0 7F0CFB70 AFAF0010 */ sw $t7, 0x10($sp) -/* 1046A4 7F0CFB74 AFB90014 */ sw $t9, 0x14($sp) -/* 1046A8 7F0CFB78 AFB80018 */ sw $t8, 0x18($sp) -/* 1046AC 7F0CFB7C 020E2021 */ addu $a0, $s0, $t6 -/* 1046B0 7F0CFB80 8FA50538 */ lw $a1, 0x538($sp) -/* 1046B4 7F0CFB84 0FC33A2C */ jal sub_GAME_7F0CE8B0 -/* 1046B8 7F0CFB88 00003025 */ move $a2, $zero -/* 1046BC 7F0CFB8C 8FA40550 */ lw $a0, 0x550($sp) -/* 1046C0 7F0CFB90 8FA5054C */ lw $a1, 0x54c($sp) -/* 1046C4 7F0CFB94 8FA60548 */ lw $a2, 0x548($sp) -/* 1046C8 7F0CFB98 0FC33BBC */ jal sub_GAME_7F0CEEF0 -/* 1046CC 7F0CFB9C 8FA70544 */ lw $a3, 0x544($sp) -/* 1046D0 7F0CFBA0 8FBF002C */ lw $ra, 0x2c($sp) -/* 1046D4 7F0CFBA4 8FB00028 */ lw $s0, 0x28($sp) -/* 1046D8 7F0CFBA8 27BD0568 */ addiu $sp, $sp, 0x568 -/* 1046DC 7F0CFBAC 03E00008 */ jr $ra -/* 1046E0 7F0CFBB0 00001025 */ move $v0, $zero -) -#endif - - - - - -#ifdef NONMATCHING -void select_zlib_decompression_routine(void *arg0, s32 arg2) -{ - s32 temp_v1; - u32 temp_a1; - u32 temp_v1_2; - u32 temp_t3; - u32 temp_v1_3; - u32 temp_a1_2; - s32 temp_v0; - s32 phi_v1; - u32 phi_a1; - s32 phi_v1_2; - u32 phi_v1_3; - u32 phi_a1_2; - u32 phi_v1_4; - s32 phi_a2; - u32 phi_a1_3; - u32 phi_a1_4; - - phi_a1 = dword_CODE_bss_8008D364; - phi_v1_2 = dword_CODE_bss_8008D368; - phi_a2 = arg2; - if (dword_CODE_bss_8008D368 == 0) - { - phi_v1 = dword_CODE_bss_8008D368; - phi_a1_3 = dword_CODE_bss_8008D364; -block_2: - dword_CODE_bss_8008D358 = (s32) (dword_CODE_bss_8008D358 + 1); - temp_v1 = (phi_v1 + 8); - temp_a1 = (phi_a1_3 | (*(dword_CODE_bss_8008D350 + dword_CODE_bss_8008D358) << phi_v1)); - phi_v1 = temp_v1; - phi_a1 = temp_a1; - phi_v1_2 = temp_v1; - phi_a1_3 = temp_a1; - phi_a2 = dword_CODE_bss_8008D350; - if (temp_v1 == 0) - { - goto block_2; - } - } - temp_v1_2 = (phi_v1_2 + -1); - temp_t3 = ((u32) phi_a1 >> 1); - *arg0 = (s32) (phi_a1 & 1); - phi_a1_2 = temp_t3; - phi_v1_4 = temp_v1_2; - if (temp_v1_2 < 2U) - { - phi_v1_3 = temp_v1_2; - phi_a1_4 = temp_t3; -block_5: - dword_CODE_bss_8008D358 = (s32) (dword_CODE_bss_8008D358 + 1); - temp_v1_3 = (phi_v1_3 + 8); - temp_a1_2 = (phi_a1_4 | (*(dword_CODE_bss_8008D350 + dword_CODE_bss_8008D358) << phi_v1_3)); - phi_v1_3 = temp_v1_3; - phi_a1_2 = temp_a1_2; - phi_v1_4 = temp_v1_3; - phi_a2 = dword_CODE_bss_8008D350; - phi_a1_4 = temp_a1_2; - if (temp_v1_3 < 2U) - { - goto block_5; - } - } - temp_v0 = (phi_a1_2 & 3); - dword_CODE_bss_8008D364 = (u32) ((u32) phi_a1_2 >> 2); - dword_CODE_bss_8008D368 = (s32) (phi_v1_4 + -2); - if (temp_v0 == 2) - { - return zlib_decompressor_type2(&dword_CODE_bss_8008D358, phi_a1_2, phi_a2, arg0); - } - if (temp_v0 == 0) - { - return zlib_decompressor_type0(&dword_CODE_bss_8008D358, phi_a1_2, phi_a2, arg0); - } - if (temp_v0 == 1) - { - return zlib_decompressor_type1(&dword_CODE_bss_8008D358, phi_a1_2, phi_a2, arg0); - } - return 2; -} -#else -GLOBAL_ASM( -.text -glabel select_zlib_decompression_routine -/* 1046E4 7F0CFBB4 3C098009 */ lui $t1, %hi(dword_CODE_bss_8008D368) -/* 1046E8 7F0CFBB8 2529D368 */ addiu $t1, %lo(dword_CODE_bss_8008D368) # addiu $t1, $t1, -0x2c98 -/* 1046EC 7F0CFBBC 8D230000 */ lw $v1, ($t1) -/* 1046F0 7F0CFBC0 3C088009 */ lui $t0, %hi(dword_CODE_bss_8008D364) -/* 1046F4 7F0CFBC4 2508D364 */ addiu $t0, %lo(dword_CODE_bss_8008D364) # addiu $t0, $t0, -0x2c9c -/* 1046F8 7F0CFBC8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1046FC 7F0CFBCC AFBF0014 */ sw $ra, 0x14($sp) -/* 104700 7F0CFBD0 00803825 */ move $a3, $a0 -/* 104704 7F0CFBD4 1460000E */ bnez $v1, .L7F0CFC10 -/* 104708 7F0CFBD8 8D050000 */ lw $a1, ($t0) -/* 10470C 7F0CFBDC 3C068009 */ lui $a2, %hi(dword_CODE_bss_8008D350) -/* 104710 7F0CFBE0 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008D358) -/* 104714 7F0CFBE4 2484D358 */ addiu $a0, %lo(dword_CODE_bss_8008D358) # addiu $a0, $a0, -0x2ca8 -/* 104718 7F0CFBE8 8CC6D350 */ lw $a2, %lo(dword_CODE_bss_8008D350)($a2) -.L7F0CFBEC: -/* 10471C 7F0CFBEC 8C820000 */ lw $v0, ($a0) -/* 104720 7F0CFBF0 00C27021 */ addu $t6, $a2, $v0 -/* 104724 7F0CFBF4 91CF0000 */ lbu $t7, ($t6) -/* 104728 7F0CFBF8 24590001 */ addiu $t9, $v0, 1 -/* 10472C 7F0CFBFC AC990000 */ sw $t9, ($a0) -/* 104730 7F0CFC00 006FC004 */ sllv $t8, $t7, $v1 -/* 104734 7F0CFC04 24630008 */ addiu $v1, $v1, 8 -/* 104738 7F0CFC08 1060FFF8 */ beqz $v1, .L7F0CFBEC -/* 10473C 7F0CFC0C 00B82825 */ or $a1, $a1, $t8 -.L7F0CFC10: -/* 104740 7F0CFC10 2463FFFF */ addiu $v1, $v1, -1 -/* 104744 7F0CFC14 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008D358) -/* 104748 7F0CFC18 30AA0001 */ andi $t2, $a1, 1 -/* 10474C 7F0CFC1C 00055842 */ srl $t3, $a1, 1 -/* 104750 7F0CFC20 2C610002 */ sltiu $at, $v1, 2 -/* 104754 7F0CFC24 2484D358 */ addiu $a0, %lo(dword_CODE_bss_8008D358) # addiu $a0, $a0, -0x2ca8 -/* 104758 7F0CFC28 ACEA0000 */ sw $t2, ($a3) -/* 10475C 7F0CFC2C 1020000D */ beqz $at, .L7F0CFC64 -/* 104760 7F0CFC30 01602825 */ move $a1, $t3 -/* 104764 7F0CFC34 3C068009 */ lui $a2, %hi(dword_CODE_bss_8008D350) -/* 104768 7F0CFC38 8CC6D350 */ lw $a2, %lo(dword_CODE_bss_8008D350)($a2) -.L7F0CFC3C: -/* 10476C 7F0CFC3C 8C820000 */ lw $v0, ($a0) -/* 104770 7F0CFC40 00C26021 */ addu $t4, $a2, $v0 -/* 104774 7F0CFC44 918D0000 */ lbu $t5, ($t4) -/* 104778 7F0CFC48 244F0001 */ addiu $t7, $v0, 1 -/* 10477C 7F0CFC4C AC8F0000 */ sw $t7, ($a0) -/* 104780 7F0CFC50 006D7004 */ sllv $t6, $t5, $v1 -/* 104784 7F0CFC54 24630008 */ addiu $v1, $v1, 8 -/* 104788 7F0CFC58 2C610002 */ sltiu $at, $v1, 2 -/* 10478C 7F0CFC5C 1420FFF7 */ bnez $at, .L7F0CFC3C -/* 104790 7F0CFC60 00AE2825 */ or $a1, $a1, $t6 -.L7F0CFC64: -/* 104794 7F0CFC64 30A20003 */ andi $v0, $a1, 3 -/* 104798 7F0CFC68 0005C082 */ srl $t8, $a1, 2 -/* 10479C 7F0CFC6C 2463FFFE */ addiu $v1, $v1, -2 -/* 1047A0 7F0CFC70 24010002 */ li $at, 2 -/* 1047A4 7F0CFC74 AD180000 */ sw $t8, ($t0) -/* 1047A8 7F0CFC78 14410005 */ bne $v0, $at, .L7F0CFC90 -/* 1047AC 7F0CFC7C AD230000 */ sw $v1, ($t1) -/* 1047B0 7F0CFC80 0FC33DA4 */ jal zlib_decompressor_type2 -/* 1047B4 7F0CFC84 00000000 */ nop -/* 1047B8 7F0CFC88 1000000F */ b .L7F0CFCC8 -/* 1047BC 7F0CFC8C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0CFC90: -/* 1047C0 7F0CFC90 14400005 */ bnez $v0, .L7F0CFCA8 -/* 1047C4 7F0CFC94 24010001 */ li $at, 1 -/* 1047C8 7F0CFC98 0FC33CE3 */ jal zlib_decompressor_type0 -/* 1047CC 7F0CFC9C 00000000 */ nop -/* 1047D0 7F0CFCA0 10000009 */ b .L7F0CFCC8 -/* 1047D4 7F0CFCA4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0CFCA8: -/* 1047D8 7F0CFCA8 54410006 */ bnel $v0, $at, .L7F0CFCC4 -/* 1047DC 7F0CFCAC 24020002 */ li $v0, 2 -/* 1047E0 7F0CFCB0 0FC33D4A */ jal zlib_decompressor_type1 -/* 1047E4 7F0CFCB4 00000000 */ nop -/* 1047E8 7F0CFCB8 10000003 */ b .L7F0CFCC8 -/* 1047EC 7F0CFCBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 1047F0 7F0CFCC0 24020002 */ li $v0, 2 -.L7F0CFCC4: -/* 1047F4 7F0CFCC4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0CFCC8: -/* 1047F8 7F0CFCC8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 1047FC 7F0CFCCC 03E00008 */ jr $ra -/* 104800 7F0CFCD0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void loop_to_decompress_entire_file(void) -{ - s32 sp34; - ? temp_ret; - u32 temp_t7; - u32 phi_s1; - u32 phi_v1; - - dword_CODE_bss_8008D35C = 0; - dword_CODE_bss_8008D368 = 0U; - dword_CODE_bss_8008D364 = 0; - phi_s1 = 0U; -block_1: - dword_CODE_bss_8008D36C = 0U; - temp_ret = select_zlib_decompression_routine(&sp34); - if (temp_ret != 0) - { - return temp_ret; - } - phi_s1 = phi_s1; - if ((u32) phi_s1 < (u32) dword_CODE_bss_8008D36C) - { - phi_s1 = dword_CODE_bss_8008D36C; - } - if (sp34 == 0) - { - goto block_1; - } - phi_v1 = dword_CODE_bss_8008D368; - if ((u32) dword_CODE_bss_8008D368 >= 8U) - { -block_7: - temp_t7 = (phi_v1 + -8); - dword_CODE_bss_8008D368 = temp_t7; - dword_CODE_bss_8008D358 = (s32) (dword_CODE_bss_8008D358 + -1); - phi_v1 = temp_t7; - if (temp_t7 >= 8U) - { - goto block_7; - } - } - return 0; -} -#else -GLOBAL_ASM( -.text -glabel loop_to_decompress_entire_file -/* 104804 7F0CFCD4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 104808 7F0CFCD8 AFB2001C */ sw $s2, 0x1c($sp) -/* 10480C 7F0CFCDC 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D35C) -/* 104810 7F0CFCE0 3C128009 */ lui $s2, %hi(dword_CODE_bss_8008D368) -/* 104814 7F0CFCE4 AC20D35C */ sw $zero, %lo(dword_CODE_bss_8008D35C)($at) -/* 104818 7F0CFCE8 2652D368 */ addiu $s2, %lo(dword_CODE_bss_8008D368) # addiu $s2, $s2, -0x2c98 -/* 10481C 7F0CFCEC AFB00014 */ sw $s0, 0x14($sp) -/* 104820 7F0CFCF0 AFB30020 */ sw $s3, 0x20($sp) -/* 104824 7F0CFCF4 AFB10018 */ sw $s1, 0x18($sp) -/* 104828 7F0CFCF8 AE400000 */ sw $zero, ($s2) -/* 10482C 7F0CFCFC 3C018009 */ lui $at, %hi(dword_CODE_bss_8008D364) -/* 104830 7F0CFD00 3C108009 */ lui $s0, %hi(dword_CODE_bss_8008D36C) -/* 104834 7F0CFD04 AFBF0024 */ sw $ra, 0x24($sp) -/* 104838 7F0CFD08 AC20D364 */ sw $zero, %lo(dword_CODE_bss_8008D364)($at) -/* 10483C 7F0CFD0C 00008825 */ move $s1, $zero -/* 104840 7F0CFD10 2610D36C */ addiu $s0, %lo(dword_CODE_bss_8008D36C) # addiu $s0, $s0, -0x2c94 -/* 104844 7F0CFD14 27B30034 */ addiu $s3, $sp, 0x34 -/* 104848 7F0CFD18 AE000000 */ sw $zero, ($s0) -.L7F0CFD1C: -/* 10484C 7F0CFD1C 0FC33EED */ jal select_zlib_decompression_routine -/* 104850 7F0CFD20 02602025 */ move $a0, $s3 -/* 104854 7F0CFD24 10400003 */ beqz $v0, .L7F0CFD34 -/* 104858 7F0CFD28 8FAE0034 */ lw $t6, 0x34($sp) -/* 10485C 7F0CFD2C 10000018 */ b .L7F0CFD90 -/* 104860 7F0CFD30 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0CFD34: -/* 104864 7F0CFD34 8E020000 */ lw $v0, ($s0) -/* 104868 7F0CFD38 0222082B */ sltu $at, $s1, $v0 -/* 10486C 7F0CFD3C 10200002 */ beqz $at, .L7F0CFD48 -/* 104870 7F0CFD40 00000000 */ nop -/* 104874 7F0CFD44 00408825 */ move $s1, $v0 -.L7F0CFD48: -/* 104878 7F0CFD48 51C0FFF4 */ beql $t6, $zero, .L7F0CFD1C -/* 10487C 7F0CFD4C AE000000 */ sw $zero, ($s0) -/* 104880 7F0CFD50 8E430000 */ lw $v1, ($s2) -/* 104884 7F0CFD54 3C028009 */ lui $v0, %hi(dword_CODE_bss_8008D358) -/* 104888 7F0CFD58 2442D358 */ addiu $v0, %lo(dword_CODE_bss_8008D358) # addiu $v0, $v0, -0x2ca8 -/* 10488C 7F0CFD5C 2C610008 */ sltiu $at, $v1, 8 -/* 104890 7F0CFD60 5420000A */ bnezl $at, .L7F0CFD8C -/* 104894 7F0CFD64 00001025 */ move $v0, $zero -.L7F0CFD68: -/* 104898 7F0CFD68 8C580000 */ lw $t8, ($v0) -/* 10489C 7F0CFD6C 246FFFF8 */ addiu $t7, $v1, -8 -/* 1048A0 7F0CFD70 2DE10008 */ sltiu $at, $t7, 8 -/* 1048A4 7F0CFD74 2719FFFF */ addiu $t9, $t8, -1 -/* 1048A8 7F0CFD78 AE4F0000 */ sw $t7, ($s2) -/* 1048AC 7F0CFD7C AC590000 */ sw $t9, ($v0) -/* 1048B0 7F0CFD80 1020FFF9 */ beqz $at, .L7F0CFD68 -/* 1048B4 7F0CFD84 01E01825 */ move $v1, $t7 -/* 1048B8 7F0CFD88 00001025 */ move $v0, $zero -.L7F0CFD8C: -/* 1048BC 7F0CFD8C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0CFD90: -/* 1048C0 7F0CFD90 8FB00014 */ lw $s0, 0x14($sp) -/* 1048C4 7F0CFD94 8FB10018 */ lw $s1, 0x18($sp) -/* 1048C8 7F0CFD98 8FB2001C */ lw $s2, 0x1c($sp) -/* 1048CC 7F0CFD9C 8FB30020 */ lw $s3, 0x20($sp) -/* 1048D0 7F0CFDA0 03E00008 */ jr $ra -/* 1048D4 7F0CFDA4 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - diff --git a/src/game/zlib.h b/src/game/zlib.h deleted file mode 100644 index 6aa11c2..0000000 --- a/src/game/zlib.h +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef _ZLIB_H_ -#define _ZLIB_H_ -#include "ultra64.h" - -#endif diff --git a/src/gspboot.s b/src/gspboot.s deleted file mode 100644 index 66076a7..0000000 --- a/src/gspboot.s +++ /dev/null @@ -1,20 +0,0 @@ -# Goldeneye 007 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# 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 gsp3DTextStart -.incbin "/bin/gspboot.text.bin" - -.section .data -glabel gsp3DDataStart -.incbin "/bin/gspboot.data.bin" - -.section .rodata -.section .bss diff --git a/src/init.c b/src/init.c deleted file mode 100644 index 3b5f293..0000000 --- a/src/init.c +++ /dev/null @@ -1,394 +0,0 @@ -#include -#include "bondgame.h" -#include "boot.h" -#include "sched.h" -#include "rmon.h" -#include "tlb_resolve.h" -#include "tlb_hardwire.h" -#include "init.h" - -/** - * @file init.c - * This file contains the initial non bootstrap code ran. - * - * In particular, it: - * - unpacks main data payload - * - starts idle and rmon loops - * - starts main loop - */ - -#define NUM_FIELDS 1 - -OSThread rmonThread; -OSThread idleThread; -OSThread mainThread; -OSThread shedThread; -OSMesgQueue gfxFrameMsgQ; -OSMesg gfxFrameMsgBuf[32]; -OSMesgQueue *sched_cmdQ; - - -/** - * 1110 70000510 - * ??? initializes TLB index... - * copies compressed 21990 to virtual address 701EE400, using 70200000 to decompress - */ -#ifdef NONMATCHING -void init(void) -{ - s32 *cdata_vaddr_start; - s32 cdata_rom_size; - s32 datapos; - void *dest; - void *source; - - cdata_vaddr_start = get_csegmentSegmentStart(); - cdata_rom_size = (get_cdataSegmentRomEnd() - get_cdataSegmentRomStart()); - - for (datapos = ((cdata_rom_size + (get_rarezipSegmentRomEnd() - get_rarezipSegmentRomStart())) + -1); datapos >= 0; datapos--) - { - _rarezipSegmentVaddrStart[-cdata_rom_size + datapos] = &cdata_vaddr_start[datapos]; - } - - jump_decompressfile((_rarezipSegmentVaddrStart - cdata_rom_size), cdata_vaddr_start, 0x80300000); - - if ((&_rarezipSegmentRomStart - &_codeSegmentRomStart) >= 0xfffb1) - { - osPiRawStartDma(0, 0x101000, 0x70100400, ((&_rarezipSegmentRomStart - &_codeSegmentRomStart) + 0xfff00050)); - while ((osPiGetStatus() & 1) != 0) {} - } - - osInitialize(); - set_hardwire_TLB_to_2(); - - - //IM BROKEN FIX ME!!!!!!! - source = (void *)resolve_TLBaddress_for_InvalidHit; - //UT_VEC - dest = (void *)0x80000000; - //XUT_VEC - while (dest != (void *)0x80000080) - { - dest = (dest + 0x10); - source = (source + 0x10); - dest[-0x10] = source[-0x10]; - dest[-0xC] = source[-0xC]; - dest[-8] = source[-8]; - dest[-4] = source[-4]; - } - //TO HERE - - osWritebackDCacheAll(); - osInvalICache(0x80000000, 0x4000); - - for (i=2; i<32; i++) - { - osUnmapTLB(i); - } - - __osSetFpcCsr((__osGetFpcCsr() | 0xe80)); - osCreateThread(&mainThread, 3, &thread3_main, 0, set_stack_entry(&sp_main, 0x8000), 0xa); - osStartThread(&mainThread); -} -#else -GLOBAL_ASM( -.section .text -glabel init -/* 001110 70000510 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 001114 70000514 AFBF0024 */ sw $ra, 0x24($sp) -/* 001118 70000518 AFB10020 */ sw $s1, 0x20($sp) -/* 00111C 7000051C 0C00012F */ jal get_csegmentSegmentStart -/* 001120 70000520 AFB0001C */ sw $s0, 0x1c($sp) -/* 001124 70000524 0C000132 */ jal get_cdataSegmentRomStart -/* 001128 70000528 00408025 */ move $s0, $v0 -/* 00112C 7000052C 0C000135 */ jal get_cdataSegmentRomEnd -/* 001130 70000530 AFA20034 */ sw $v0, 0x34($sp) -/* 001134 70000534 8FAE0034 */ lw $t6, 0x34($sp) -/* 001138 70000538 0C000138 */ jal get_rarezipSegmentRomStart -/* 00113C 7000053C 004E8823 */ subu $s1, $v0, $t6 -/* 001140 70000540 0C00013B */ jal get_rarezipSegmentRomEnd -/* 001144 70000544 AFA20028 */ sw $v0, 0x28($sp) -/* 001148 70000548 8FAF0028 */ lw $t7, 0x28($sp) -/* 00114C 7000054C 3C0A7020 */ lui $t2, 0x7020 -/* 001150 70000550 02002825 */ move $a1, $s0 -/* 001154 70000554 004FC023 */ subu $t8, $v0, $t7 -/* 001158 70000558 02382021 */ addu $a0, $s1, $t8 -/* 00115C 7000055C 2483FFFF */ addiu $v1, $a0, -1 -/* 001160 70000560 0460000A */ bltz $v1, .L7000058C -/* 001164 70000564 3C068030 */ lui $a2, 0x8030 -/* 001168 70000568 3C197020 */ lui $t9, 0x7020 -/* 00116C 7000056C 03312023 */ subu $a0, $t9, $s1 -/* 001170 70000570 02031021 */ addu $v0, $s0, $v1 -.L70000574: -/* 001174 70000574 90480000 */ lbu $t0, ($v0) -/* 001178 70000578 00834821 */ addu $t1, $a0, $v1 -/* 00117C 7000057C 2463FFFF */ addiu $v1, $v1, -1 -/* 001180 70000580 2442FFFF */ addiu $v0, $v0, -1 -/* 001184 70000584 0461FFFB */ bgez $v1, .L70000574 -/* 001188 70000588 A1280000 */ sb $t0, ($t1) -.L7000058C: -/* 00118C 7000058C 0C00013E */ jal jump_decompressfile -/* 001190 70000590 01512023 */ subu $a0, $t2, $s1 -/* 001194 70000594 3C0B0003 */ lui $t3, %hi(_rarezipSegmentRomStart) # $t3, 3 -/* 001198 70000598 3C0C0000 */ lui $t4, %hi(_codeSegmentRomStart) # $t4, 0 -/* 00119C 7000059C 258C1050 */ addiu $t4, %lo(_codeSegmentRomStart) # addiu $t4, $t4, 0x1050 -/* 0011A0 700005A0 256B3590 */ addiu $t3, %lo(_rarezipSegmentRomStart) # addiu $t3, $t3, 0x3590 -/* 0011A4 700005A4 3C01000F */ lui $at, (0x000FFFB1 >> 16) # lui $at, 0xf -/* 0011A8 700005A8 3421FFB1 */ ori $at, (0x000FFFB1 & 0xFFFF) # ori $at, $at, 0xffb1 -/* 0011AC 700005AC 016C1023 */ subu $v0, $t3, $t4 -/* 0011B0 700005B0 0041082A */ slt $at, $v0, $at -/* 0011B4 700005B4 14200013 */ bnez $at, .L70000604 -/* 0011B8 700005B8 3C01FFF0 */ lui $at, (0xFFF00050 >> 16) # lui $at, 0xfff0 -/* 0011BC 700005BC 34210050 */ ori $at, (0xFFF00050 & 0xFFFF) # ori $at, $at, 0x50 -/* 0011C0 700005C0 3C050010 */ lui $a1, %hi(0x00101000) # $a1, 0x10 -/* 0011C4 700005C4 3C067010 */ lui $a2, %hi(0x70100400) # $a2, 0x7010 -/* 0011C8 700005C8 24C60400 */ addiu $a2, %lo(0x70100400) # addiu $a2, $a2, 0x400 -/* 0011CC 700005CC 24A51000 */ addiu $a1, %lo(0x00101000) # addiu $a1, $a1, 0x1000 -/* 0011D0 700005D0 00413821 */ addu $a3, $v0, $at -/* 0011D4 700005D4 0C0033E4 */ jal osPiRawStartDma -/* 0011D8 700005D8 00002025 */ move $a0, $zero -/* 0011DC 700005DC 0C00341C */ jal osPiGetStatus -/* 0011E0 700005E0 00000000 */ nop -/* 0011E4 700005E4 304D0001 */ andi $t5, $v0, 1 -/* 0011E8 700005E8 11A00006 */ beqz $t5, .L70000604 -/* 0011EC 700005EC 00000000 */ nop -.L700005F0: -/* 0011F0 700005F0 0C00341C */ jal osPiGetStatus -/* 0011F4 700005F4 00000000 */ nop -/* 0011F8 700005F8 304E0001 */ andi $t6, $v0, 1 -/* 0011FC 700005FC 15C0FFFC */ bnez $t6, .L700005F0 -/* 001200 70000600 00000000 */ nop -.L70000604: -/* 001204 70000604 0C003420 */ jal osInitialize -/* 001208 70000608 00000000 */ nop -/* 00120C 7000060C 0C0006EC */ jal set_hardwire_TLB_to_2 -/* 001210 70000610 00000000 */ nop - - -/* 001214 70000614 3C108000 */ lui $s0, %hi(0x80000000) -/* 001218 70000618 3C027000 */ lui $v0, %hi(resolve_TLBaddress_for_InvalidHit) # $v0, 0x7000 -/* 00121C 7000061C 3C048000 */ lui $a0, (0x80000080 >> 16) # lui $a0, 0x8000 -/* 001220 70000620 24421B60 */ addiu $v0, %lo(resolve_TLBaddress_for_InvalidHit) # addiu $v0, $v0, 0x1b60 -/* 001224 70000624 02001825 */ move $v1, $s0 -/* 001228 70000628 34840080 */ ori $a0, (0x80000080 & 0xFFFF) # ori $a0, $a0, 0x80 -.L7000062C: -/* 00122C 7000062C 8C4F0000 */ lw $t7, ($v0) -/* 001230 70000630 24630010 */ addiu $v1, $v1, 0x10 -/* 001234 70000634 24420010 */ addiu $v0, $v0, 0x10 -/* 001238 70000638 AC6FFFF0 */ sw $t7, -0x10($v1) -/* 00123C 7000063C 8C58FFF4 */ lw $t8, -0xc($v0) -/* 001240 70000640 AC78FFF4 */ sw $t8, -0xc($v1) -/* 001244 70000644 8C59FFF8 */ lw $t9, -8($v0) -/* 001248 70000648 AC79FFF8 */ sw $t9, -8($v1) -/* 00124C 7000064C 8C48FFFC */ lw $t0, -4($v0) -/* 001250 70000650 1464FFF6 */ bne $v1, $a0, .L7000062C -/* 001254 70000654 AC68FFFC */ sw $t0, -4($v1) - - -/* 001258 70000658 0C0034C8 */ jal osWritebackDCacheAll -/* 00125C 7000065C 00000000 */ nop -/* 001260 70000660 02002025 */ move $a0, $s0 -/* 001264 70000664 0C0034D4 */ jal osInvalICache -/* 001268 70000668 24054000 */ li $a1, 16384 -/* 00126C 7000066C 24100002 */ li $s0, 2 -/* 001270 70000670 24110020 */ li $s1, 32 -.L70000674: -/* 001274 70000674 0C0034F4 */ jal osUnmapTLB -/* 001278 70000678 02002025 */ move $a0, $s0 -/* 00127C 7000067C 26100001 */ addiu $s0, 1 # addiu $s0, $s0, 1 -/* 001280 70000680 1611FFFC */ bne $s0, $s1, .L70000674 -/* 001284 70000684 00000000 */ nop -/* 001288 70000688 0C003504 */ jal __osGetFpcCsr -/* 00128C 7000068C 00000000 */ nop -/* 001290 70000690 0C003508 */ jal __osSetFpcCsr -/* 001294 70000694 34440E80 */ ori $a0, $v0, 0xe80 -/* 001298 70000698 3C04803B */ lui $a0, %hi(sp_main) # $a0, 0x803b -/* 00129C 7000069C 2484B950 */ addiu $a0, %lo(sp_main) # addiu $a0, $a0, -0x46b0 -/* 0012A0 700006A0 0C0001BC */ jal set_stack_entry -/* 0012A4 700006A4 34058000 */ li $a1, 32768 -/* 0012A8 700006A8 3C108006 */ lui $s0, %hi(mainThread) -/* 0012AC 700006AC 2610D640 */ addiu $s0, %lo(mainThread) # addiu $s0, $s0, -0x29c0 -/* 0012B0 700006B0 3C067000 */ lui $a2, %hi(thread3_main) # $a2, 0x7000 -/* 0012B4 700006B4 240C000A */ li $t4, 10 -/* 0012B8 700006B8 AFAC0014 */ sw $t4, 0x14($sp) -/* 0012BC 700006BC 24C6089C */ addiu $a2, %lo(thread3_main) # addiu $a2, $a2, 0x89c -/* 0012C0 700006C0 02002025 */ move $a0, $s0 -/* 0012C4 700006C4 24050003 */ li $a1, 3 -/* 0012C8 700006C8 00003825 */ move $a3, $zero -/* 0012CC 700006CC 0C00350C */ jal osCreateThread -/* 0012D0 700006D0 AFA20010 */ sw $v0, 0x10($sp) -/* 0012D4 700006D4 0C003560 */ jal osStartThread -/* 0012D8 700006D8 02002025 */ move $a0, $s0 -/* 0012DC 700006DC 8FBF0024 */ lw $ra, 0x24($sp) -/* 0012E0 700006E0 8FB0001C */ lw $s0, 0x1c($sp) -/* 0012E4 700006E4 8FB10020 */ lw $s1, 0x20($sp) -/* 0012E8 700006E8 03E00008 */ jr $ra -/* 0012EC 700006EC 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - -/** - * 12F0 700006F0 - * V0= new stack pointer; A0+A1-8 - * accepts: A0=base address, A1=size - */ -void *set_stack_entry(u8 *stack, u32 size) -{ - return stack+size-8; -} - -/** - * 12FC 700006FC - * 1->80023044, 10000000->80023048 - */ -void set_hw_address_and_unknown(void) -{ - unknown_init_val = 1; - cart_hw_address = 0x10000000; -} - -/** - * 1318 70000718 - * A0->SP+0, infinite loop - */ -void thread1_idle(void *arg) -{ - for (;;); -} - -/** - * 1338 70000738 - * Null thread; executes 70000718 - */ -void start_idle_thread(void) -{ - osCreateThread(&idleThread, (OSId)1, thread1_idle, 0, set_stack_entry(&sp_idle, 0x40), (OSPri)0); - osStartThread(&idleThread); -} - -/** - * 1390 70000790 - * Indi board detection thread; now forcably returns INDI_NOT_DETECTED (1) - */ -void start_rmon_thread(void) -{ - osCreateThread(&rmonThread, (OSId)0, thread0_rmon, 0, set_stack_entry(&sp_rmon, 0x300), (OSPri)250); - osStartThread(&rmonThread); -} - -/** - * 13EC 700007EC - */ -void init_scheduler(void) -{ - osCreateMesgQueue(&gfxFrameMsgQ, &gfxFrameMsgBuf, 32); - 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); - } - - osScAddClient(&sc, &gfxClient, &gfxFrameMsgQ, 0); - sched_cmdQ = osScGetCmdQ(&sc); -} - -/** - * 149C 7000089C start main game setup and loop - * calls command line parser, debug console setup, etc. - * 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) -{ - start_idle_thread(); - start_nulled_entry(); - start_pi_manager(); - start_rmon_thread(); - if (check_boot_switches() != 0) - { - osStopThread(0); - } - - osSetThreadPri(0, 0xa); - init_scheduler(); - setup_gamevalues_and_launchmainloop(); -} - -/** - * 1508 70000908 V0= p->last entry in copy of debug handler code/name table; fries AT,V1,T0,T1,T6,T9 - * copies table from 8002304C-80023084 to stack - */ -#ifdef NONMATCHING -void *setuplastentryofdebughandler(void) -{ - ? sp8; - void *temp_t6; - void *temp_t0; - void *temp_v0; - void *phi_t6; - void *phi_t0; - void *phi_v0; - - phi_t6 = &debug_handler_table; - phi_t0 = &sp8; -loop_1: - temp_t6 = (phi_t6 + 0xc); - temp_t0 = (phi_t0 + 0xc); - temp_t0->unk-C = (?32) *phi_t6; - temp_t0->unk-8 = (?32) temp_t6->unk-8; - temp_t0->unk-4 = (?32) temp_t6->unk-4; - phi_t6 = temp_t6; - phi_t0 = temp_t0; - if (temp_t6 != (&debug_handler_table + 0x30)) - { - goto loop_1; - } - *temp_t0 = (?32) *temp_t6; - temp_t0->unk4 = (?32) temp_t6->unk4; - phi_v0 = &sp8; -loop_3: - temp_v0 = (phi_v0 + 8); - phi_v0 = temp_v0; - if (phi_v0->unk8 != 0) - { - goto loop_3; - } - return temp_v0; -} -#else -GLOBAL_ASM( -.section .text -glabel setuplastentryofdebughandler -/* 001508 70000908 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 00150C 7000090C 3C0E8002 */ lui $t6, %hi(debug_handler_table) -/* 001510 70000910 27A30008 */ addiu $v1, $sp, 8 -/* 001514 70000914 25CE304C */ addiu $t6, %lo(debug_handler_table) # addiu $t6, $t6, 0x304c -/* 001518 70000918 25D90030 */ addiu $t9, $t6, 0x30 -/* 00151C 7000091C 00604025 */ move $t0, $v1 -.L70000920: -/* 001520 70000920 8DC10000 */ lw $at, ($t6) -/* 001524 70000924 25CE000C */ addiu $t6, $t6, 0xc -/* 001528 70000928 2508000C */ addiu $t0, $t0, 0xc -/* 00152C 7000092C AD01FFF4 */ sw $at, -0xc($t0) -/* 001530 70000930 8DC1FFF8 */ lw $at, -8($t6) -/* 001534 70000934 AD01FFF8 */ sw $at, -8($t0) -/* 001538 70000938 8DC1FFFC */ lw $at, -4($t6) -/* 00153C 7000093C 15D9FFF8 */ bne $t6, $t9, .L70000920 -/* 001540 70000940 AD01FFFC */ sw $at, -4($t0) -/* 001544 70000944 8DC10000 */ lw $at, ($t6) -/* 001548 70000948 00601025 */ move $v0, $v1 -/* 00154C 7000094C AD010000 */ sw $at, ($t0) -/* 001550 70000950 8DD90004 */ lw $t9, 4($t6) -/* 001554 70000954 AD190004 */ sw $t9, 4($t0) -/* 001558 70000958 8C490008 */ lw $t1, 8($v0) -.L7000095C: -/* 00155C 7000095C 24420008 */ addiu $v0, $v0, 8 -/* 001560 70000960 5520FFFE */ bnezl $t1, .L7000095C -/* 001564 70000964 8C490008 */ lw $t1, 8($v0) -/* 001568 70000968 03E00008 */ jr $ra -/* 00156C 7000096C 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif diff --git a/src/init.h b/src/init.h deleted file mode 100644 index 1a2e598..0000000 --- a/src/init.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _INIT_H_ -#define _INIT_H_ -#include - -extern OSThread rmonThread; -extern OSThread idleThread; -extern OSThread mainThread; -extern OSThread shedThread; -extern OSMesgQueue gfxFrameMsgQ; -extern OSMesg gfxFrameMsgBuf[32]; -extern OSMesgQueue *sched_cmdQ; - -extern u32 unknown_init_val; -extern u32 cart_hw_address; - -struct debug_handler_entry -{ - void *address; - char *ptr_name; -}; - -void init(void); -void *set_stack_entry(u8 *stack, u32 size); -void set_hw_address_and_unknown(void); -void setuplastentryofdebughandler(void); - -#endif diff --git a/src/joy.c b/src/joy.c deleted file mode 100644 index 1eb558f..0000000 --- a/src/joy.c +++ /dev/null @@ -1,2766 +0,0 @@ -#include "ultra64.h" -#include "joy.h" -const char aJoy_c_debug[] = "joy_c_debug"; - - -char controller_input_index[0x1E0]; -s32 dword_CODE_bss_80065110; -s32 dword_CODE_bss_80065114; -s32 dword_CODE_bss_80065118; -s32 dword_CODE_bss_8006511C; -s32 dword_CODE_bss_80065120; -s32 dword_CODE_bss_80065124; -s32 dword_CODE_bss_80065128; -s32 dword_CODE_bss_8006512C; -s32 dword_code_bss_80065130[0x76]; -s32 dword_CODE_bss_80065308; -s32 dword_CODE_bss_8006530C; -s32 dword_CODE_bss_80065310; -s32 dword_CODE_bss_80065314; -s32 dword_CODE_bss_80065318; -s32 dword_CODE_bss_8006531C; -s32 dword_CODE_bss_80065320; -s32 dword_CODE_bss_80065324; -//80065328 -char contdemoMesg[0x28]; -//80065350 -OSMesgQueue contdemoMesgMQ; - -//80065368 -OSMesg cont1Mesg; -OSMesgQueue cont1MesgMQ; - -//80065388 -OSMesg cont2Mesg; -OSMesgQueue cont2MesgMQ; - -//800653a8 -OSMesg cont3Mesg; -OSMesgQueue cont3MesgMQ; - -//800653c8 -OSMesg cont4Mesg; -OSMesgQueue cont4MesgMQ; - -//800653e8 -s32 player1_controllerstatus; -s32 player2_controllerstatus; -s32 player3_controllerstatus; -s32 player4_controllerstatus; - -char player1_controller_packet[0x1A8]; - - -s32 D_800268C0 = 0; -void *ptr_current_point_in_controller_input_index = controller_input_index; -s32 D_800268C8 = 0; -s32 D_800268CC = 0; -u8 num_controller_plugged_in_flags = 0; -s32 num_controller_plugged_in_flags_0 = 0; -s32 controller_1_rumble_inserted = 0; -s32 controller_2_rumble_inserted = 0; -s32 controller_3_rumble_inserted = 0; -s32 controller_4_rumble_inserted = 0; -s32 controller_1_rumble_state = 0; -s32 controller_2_rumble_state = 0; -s32 controller_3_rumble_state = 0; -s32 controller_4_rumble_state = 0; -s32 controller_1_rumble_duration = 0; -s32 controller_2_rumble_duration = 0; -s32 controller_3_rumble_duration = 0; -s32 controller_4_rumble_duration = 0; -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 enableControllers = 0; -s32 D_8002691C = 0; -s32 D_80026920 = 0; -s32 disable_all_rumble = 0; -s32 ptr_to_tlb_ramrom_record = 0; -s32 D_8002692C = 1; -s32 pl1_controller_failure_lr = 0; -s32 pl2_controller_failure_lr = 0; -s32 pl3_controller_failure_lr = 0; -s32 pl4_controller_failure_lr = 0; -s32 pl1_controller_failure_ud = 0; -s32 pl2_controller_failure_ud = 0; -s32 pl3_controller_failure_ud = 0; -s32 pl4_controller_failure_ud = 0; -s32 pl1_controller_failure_held = 0; -s32 pl2_controller_failure_held = 0; -s32 pl3_controller_failure_held = 0; -s32 pl4_controller_failure_held = 0; -s32 pl1_controller_failure_pressed = 0; -s32 pl2_controller_failure_pressed = 0; -s32 pl3_controller_failure_pressed = 0; -s32 pl4_controller_failure_pressed = 0; -s32 D_80026970 = 0; - - - - - - - - -#ifdef NONMATCHING -void *something_with_joy_c_debug(void) { - void *temp_v0; - void *temp_v0_2; - - // Node 0 - get_ptr_debug_notice_list_entry(&D_800268C0, &aJoy_c_debug); - osCreateMesgQueue(&cont1MesgMQ, &cont1Mesg, 1); - osCreateMesgQueue(&cont2MesgMQ, &cont2Mesg, 1); - osCreateMesgQueue(&cont3MesgMQ, &cont3Mesg, 1); - osCreateMesgQueue(&cont4MesgMQ, &cont4Mesg, 1); - osCreateMesgQueue(&contdemoMesgMQ, &contdemoMesg, 0xa); - osSetEventMesg(5, &contdemoMesgMQ, 0); - enableControllers = 1; - disable_all_rumble = 0; - temp_v0 = (0x80060000 + 0x4f30); - ptr_to_tlb_ramrom_record = 0; - // Node 1 - temp_v0->unk1E0 = 0; - temp_v0->unk1E4 = 0; - temp_v0->unk1E8 = 0; - temp_v0->unk1EC = 0; - temp_v0->unk1F8 = -1; - temp_v0_2 = (temp_v0 + 0x1fc); - temp_v0_2->unk-1E6 = (u8)0; - temp_v0_2->unk-1E7 = (u8)0; - temp_v0_2->unk-1E8 = (u8)0; - temp_v0_2->unk-1EA = (u16)0; - temp_v0_2->unk-1EC = (u8)0; - temp_v0_2->unk-1ED = (u8)0; - temp_v0_2->unk-1EE = (u8)0; - temp_v0_2->unk-1F0 = (u16)0; - temp_v0_2->unk-1F2 = (u8)0; - temp_v0_2->unk-1F3 = (u8)0; - temp_v0_2->unk-1F4 = (u8)0; - temp_v0_2->unk-1F6 = (u16)0; - temp_v0_2->unk-1FC = (u16)0; - temp_v0_2->unk-1FA = (u8)0; - temp_v0_2->unk-1F9 = (u8)0; - temp_v0_2->unk-1F8 = (u8)0; - if (temp_v0_2 != &contdemoMesg) - { - goto loop_1; - } - // (possible return value: temp_v0_2) -} -#else -GLOBAL_ASM( -.text -glabel something_with_joy_c_debug -/* 00C160 7000B560 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00C164 7000B564 AFBF0014 */ sw $ra, 0x14($sp) -/* 00C168 7000B568 3C048002 */ lui $a0, %hi(D_800268C0) -/* 00C16C 7000B56C 3C058003 */ lui $a1, %hi(aJoy_c_debug) -/* 00C170 7000B570 24A59390 */ addiu $a1, %lo(aJoy_c_debug) # addiu $a1, $a1, -0x6c70 -/* 00C174 7000B574 0C001398 */ jal get_ptr_debug_notice_list_entry -/* 00C178 7000B578 248468C0 */ addiu $a0, %lo(D_800268C0) # addiu $a0, $a0, 0x68c0 -/* 00C17C 7000B57C 3C048006 */ lui $a0, %hi(cont1MesgMQ) -/* 00C180 7000B580 3C058006 */ lui $a1, %hi(cont1Mesg) -/* 00C184 7000B584 24A55368 */ addiu $a1, %lo(cont1Mesg) # addiu $a1, $a1, 0x5368 -/* 00C188 7000B588 24845370 */ addiu $a0, %lo(cont1MesgMQ) # addiu $a0, $a0, 0x5370 -/* 00C18C 7000B58C 0C0035B4 */ jal osCreateMesgQueue -/* 00C190 7000B590 24060001 */ li $a2, 1 -/* 00C194 7000B594 3C048006 */ lui $a0, %hi(cont2MesgMQ) -/* 00C198 7000B598 3C058006 */ lui $a1, %hi(cont2Mesg) -/* 00C19C 7000B59C 24A55388 */ addiu $a1, %lo(cont2Mesg) # addiu $a1, $a1, 0x5388 -/* 00C1A0 7000B5A0 24845390 */ addiu $a0, %lo(cont2MesgMQ) # addiu $a0, $a0, 0x5390 -/* 00C1A4 7000B5A4 0C0035B4 */ jal osCreateMesgQueue -/* 00C1A8 7000B5A8 24060001 */ li $a2, 1 -/* 00C1AC 7000B5AC 3C048006 */ lui $a0, %hi(cont3MesgMQ) -/* 00C1B0 7000B5B0 3C058006 */ lui $a1, %hi(cont3Mesg) -/* 00C1B4 7000B5B4 24A553A8 */ addiu $a1, %lo(cont3Mesg) # addiu $a1, $a1, 0x53a8 -/* 00C1B8 7000B5B8 248453B0 */ addiu $a0, %lo(cont3MesgMQ) # addiu $a0, $a0, 0x53b0 -/* 00C1BC 7000B5BC 0C0035B4 */ jal osCreateMesgQueue -/* 00C1C0 7000B5C0 24060001 */ li $a2, 1 -/* 00C1C4 7000B5C4 3C048006 */ lui $a0, %hi(cont4MesgMQ) -/* 00C1C8 7000B5C8 3C058006 */ lui $a1, %hi(cont4Mesg) -/* 00C1CC 7000B5CC 24A553C8 */ addiu $a1, %lo(cont4Mesg) # addiu $a1, $a1, 0x53c8 -/* 00C1D0 7000B5D0 248453D0 */ addiu $a0, %lo(cont4MesgMQ) # addiu $a0, $a0, 0x53d0 -/* 00C1D4 7000B5D4 0C0035B4 */ jal osCreateMesgQueue -/* 00C1D8 7000B5D8 24060001 */ li $a2, 1 -/* 00C1DC 7000B5DC 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00C1E0 7000B5E0 3C058006 */ lui $a1, %hi(contdemoMesg) -/* 00C1E4 7000B5E4 24A55328 */ addiu $a1, %lo(contdemoMesg) # addiu $a1, $a1, 0x5328 -/* 00C1E8 7000B5E8 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00C1EC 7000B5EC 0C0035B4 */ jal osCreateMesgQueue -/* 00C1F0 7000B5F0 2406000A */ li $a2, 10 -/* 00C1F4 7000B5F4 3C058006 */ lui $a1, %hi(contdemoMesgMQ) -/* 00C1F8 7000B5F8 24A55350 */ addiu $a1, %lo(contdemoMesgMQ) # addiu $a1, $a1, 0x5350 -/* 00C1FC 7000B5FC 24040005 */ li $a0, 5 -/* 00C200 7000B600 0C003714 */ jal osSetEventMesg -/* 00C204 7000B604 00003025 */ move $a2, $zero -/* 00C208 7000B608 240E0001 */ li $t6, 1 -/* 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) -/* 00C220 7000B620 3C018002 */ lui $at, %hi(ptr_to_tlb_ramrom_record) -/* 00C224 7000B624 25E24F30 */ addiu $v0, $t7, %lo(controller_input_index) -/* 00C228 7000B628 3C058006 */ lui $a1, %hi(contdemoMesg) -/* 00C22C 7000B62C AC206928 */ sw $zero, %lo(ptr_to_tlb_ramrom_record)($at) -/* 00C230 7000B630 24A55328 */ addiu $a1, %lo(contdemoMesg) # addiu $a1, $a1, 0x5328 -/* 00C234 7000B634 00401825 */ move $v1, $v0 -/* 00C238 7000B638 2404FFFF */ li $a0, -1 -.L7000B63C: -/* 00C23C 7000B63C AC6001E0 */ sw $zero, 0x1e0($v1) -/* 00C240 7000B640 AC6001E4 */ sw $zero, 0x1e4($v1) -/* 00C244 7000B644 AC6001E8 */ sw $zero, 0x1e8($v1) -/* 00C248 7000B648 AC6001EC */ sw $zero, 0x1ec($v1) -/* 00C24C 7000B64C AC6401F8 */ sw $a0, 0x1f8($v1) -/* 00C250 7000B650 244201FC */ addiu $v0, $v0, 0x1fc -/* 00C254 7000B654 246301FC */ addiu $v1, $v1, 0x1fc -/* 00C258 7000B658 A040FE1A */ sb $zero, -0x1e6($v0) -/* 00C25C 7000B65C A040FE19 */ sb $zero, -0x1e7($v0) -/* 00C260 7000B660 A040FE18 */ sb $zero, -0x1e8($v0) -/* 00C264 7000B664 A440FE16 */ sh $zero, -0x1ea($v0) -/* 00C268 7000B668 A040FE14 */ sb $zero, -0x1ec($v0) -/* 00C26C 7000B66C A040FE13 */ sb $zero, -0x1ed($v0) -/* 00C270 7000B670 A040FE12 */ sb $zero, -0x1ee($v0) -/* 00C274 7000B674 A440FE10 */ sh $zero, -0x1f0($v0) -/* 00C278 7000B678 A040FE0E */ sb $zero, -0x1f2($v0) -/* 00C27C 7000B67C A040FE0D */ sb $zero, -0x1f3($v0) -/* 00C280 7000B680 A040FE0C */ sb $zero, -0x1f4($v0) -/* 00C284 7000B684 A440FE0A */ sh $zero, -0x1f6($v0) -/* 00C288 7000B688 A440FE04 */ sh $zero, -0x1fc($v0) -/* 00C28C 7000B68C A040FE06 */ sb $zero, -0x1fa($v0) -/* 00C290 7000B690 A040FE07 */ sb $zero, -0x1f9($v0) -/* 00C294 7000B694 1445FFE9 */ bne $v0, $a1, .L7000B63C -/* 00C298 7000B698 A040FE08 */ sb $zero, -0x1f8($v0) -/* 00C29C 7000B69C 8FBF0014 */ lw $ra, 0x14($sp) -/* 00C2A0 7000B6A0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00C2A4 7000B6A4 03E00008 */ jr $ra -/* 00C2A8 7000B6A8 00000000 */ nop -) -#endif - - - - -void test_controller_presence(void) -{ - OSMesg sp1C; - - if (enableControllers != 0) - { - osSendMesg(&cont1MesgMQ, &sp1C, 0); - osRecvMesg(&cont2MesgMQ, &sp1C, 1); - controller_check_for_rumble_maybe(); - osSendMesg(&cont3MesgMQ, &sp1C, 0); - osRecvMesg(&cont4MesgMQ, &sp1C, 1); - } -} - -s32 osPfsChecker(u32 *param_1) //OSPfs *param_1 -{ - return 3; -} - - - - - - -#ifdef NONMATCHING -s32 controller_7000B734(s32 arg0) -{ - s32 temp_ret; - s32 temp_ret_2; - s32 temp_v0; - void *temp_a3; - void *temp_v1; - s32 phi_return; - - temp_v0 = arg0 * 4; - temp_a3 = temp_v0 + &controller_1_rumble_inserted; - phi_return = temp_v0; - if (*temp_a3 >= 0) - { - temp_v1 = temp_v0 + &player1_controllerstatus; - phi_return = temp_v0; - if ((temp_v1->unk0 & 4) != 0) - { - phi_return = temp_v0; - if ((temp_v1->unk2 & 1) != 0) - { - temp_ret = osPfsInit(&contdemoMesgMQ, (arg0 * 0x68) + &player1_controller_packet, arg0, temp_a3); - if ((temp_ret == 0xa) || (temp_ret == 0xb)) - { - temp_ret_2 = controller_7000CD38(&contdemoMesgMQ, sp20, arg0, sp1C); - if (temp_ret_2 == 0) - { - *sp1C = 1; - return temp_ret_2; - } - *sp1C = -1; - phi_return = temp_ret_2; - } - else - { - - } - } - } - } - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel controller_7000B734 -/* 00C334 7000B734 3C0E8002 */ lui $t6, %hi(controller_1_rumble_inserted) -/* 00C338 7000B738 25CE68D8 */ addiu $t6, %lo(controller_1_rumble_inserted) # addiu $t6, $t6, 0x68d8 -/* 00C33C 7000B73C 00041080 */ sll $v0, $a0, 2 -/* 00C340 7000B740 004E3821 */ addu $a3, $v0, $t6 -/* 00C344 7000B744 8CEF0000 */ lw $t7, ($a3) -/* 00C348 7000B748 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00C34C 7000B74C AFBF0014 */ sw $ra, 0x14($sp) -/* 00C350 7000B750 05E0002B */ bltz $t7, .L7000B800 -/* 00C354 7000B754 00803025 */ move $a2, $a0 -/* 00C358 7000B758 3C188006 */ lui $t8, %hi(player1_controllerstatus) -/* 00C35C 7000B75C 271853E8 */ addiu $t8, %lo(player1_controllerstatus) # addiu $t8, $t8, 0x53e8 -/* 00C360 7000B760 00581821 */ addu $v1, $v0, $t8 -/* 00C364 7000B764 94790000 */ lhu $t9, ($v1) -/* 00C368 7000B768 33280004 */ andi $t0, $t9, 4 -/* 00C36C 7000B76C 51000025 */ beql $t0, $zero, .L7000B804 -/* 00C370 7000B770 8FBF0014 */ lw $ra, 0x14($sp) -/* 00C374 7000B774 90690002 */ lbu $t1, 2($v1) -/* 00C378 7000B778 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00C37C 7000B77C 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00C380 7000B780 312A0001 */ andi $t2, $t1, 1 -/* 00C384 7000B784 1140001E */ beqz $t2, .L7000B800 -/* 00C388 7000B788 00065880 */ sll $t3, $a2, 2 -/* 00C38C 7000B78C 01665823 */ subu $t3, $t3, $a2 -/* 00C390 7000B790 000B5880 */ sll $t3, $t3, 2 -/* 00C394 7000B794 01665821 */ addu $t3, $t3, $a2 -/* 00C398 7000B798 3C0C8006 */ lui $t4, %hi(player1_controller_packet) -/* 00C39C 7000B79C 258C53F8 */ addiu $t4, %lo(player1_controller_packet) # addiu $t4, $t4, 0x53f8 -/* 00C3A0 7000B7A0 000B58C0 */ sll $t3, $t3, 3 -/* 00C3A4 7000B7A4 016C2821 */ addu $a1, $t3, $t4 -/* 00C3A8 7000B7A8 AFA50020 */ sw $a1, 0x20($sp) -/* 00C3AC 7000B7AC AFA60028 */ sw $a2, 0x28($sp) -/* 00C3B0 7000B7B0 0C0051D0 */ jal osPfsInit -/* 00C3B4 7000B7B4 AFA7001C */ sw $a3, 0x1c($sp) -/* 00C3B8 7000B7B8 2401000A */ li $at, 10 -/* 00C3BC 7000B7BC 8FA50020 */ lw $a1, 0x20($sp) -/* 00C3C0 7000B7C0 8FA60028 */ lw $a2, 0x28($sp) -/* 00C3C4 7000B7C4 10410003 */ beq $v0, $at, .L7000B7D4 -/* 00C3C8 7000B7C8 8FA7001C */ lw $a3, 0x1c($sp) -/* 00C3CC 7000B7CC 2401000B */ li $at, 11 -/* 00C3D0 7000B7D0 1441000B */ bne $v0, $at, .L7000B800 -.L7000B7D4: -/* 00C3D4 7000B7D4 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00C3D8 7000B7D8 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00C3DC 7000B7DC 0C00334E */ jal controller_7000CD38 -/* 00C3E0 7000B7E0 AFA7001C */ sw $a3, 0x1c($sp) -/* 00C3E4 7000B7E4 14400004 */ bnez $v0, .L7000B7F8 -/* 00C3E8 7000B7E8 8FA7001C */ lw $a3, 0x1c($sp) -/* 00C3EC 7000B7EC 240D0001 */ li $t5, 1 -/* 00C3F0 7000B7F0 10000003 */ b .L7000B800 -/* 00C3F4 7000B7F4 ACED0000 */ sw $t5, ($a3) -.L7000B7F8: -/* 00C3F8 7000B7F8 240EFFFF */ li $t6, -1 -/* 00C3FC 7000B7FC ACEE0000 */ sw $t6, ($a3) -.L7000B800: -/* 00C400 7000B800 8FBF0014 */ lw $ra, 0x14($sp) -.L7000B804: -/* 00C404 7000B804 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00C408 7000B808 03E00008 */ jr $ra -/* 00C40C 7000B80C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 controller_check_for_rumble_maybe(void) -{ - s32 temp_a0; - s32 temp_a1; - s32 temp_s0; - s32 temp_s0_2; - s32 temp_v0_2; - u32 temp_v1; - void *temp_v0; - s8 phi_s0; - s32 phi_s0_2; - s32 phi_s0_3; - void *phi_a3; - void *phi_a2; - u32 phi_v1; - s32 phi_a1; - void *phi_a3_2; - s32 phi_return; - s8 phi_s0_4; - s32 phi_return_2; - s8 phi_s0_5; - s8 phi_s0_6; - - if (D_8002692C != 0) - { - D_8002692C = 0; - D_8002691C = 1; - phi_return_2 = osContInit(&contdemoMesgMQ, &num_controller_plugged_in_flags, &player1_controllerstatus); - } - else - { - osContStartQuery(&contdemoMesgMQ); - osRecvMesg(&contdemoMesgMQ, 0, 1); - phi_s0_6 = (u8)0xf; - if ((*(player1_controllerstatus + 3) & 8) != 0) - { - phi_s0_6 = (u8)0xe; - } - phi_s0_5 = phi_s0_6; - if ((*(player2_controllerstatus + 3) & 8) != 0) - { - phi_s0_5 = phi_s0_6 + -2; - } - phi_s0_4 = phi_s0_5; - if ((*(player3_controllerstatus + 3) & 8) != 0) - { - phi_s0_4 = phi_s0_5 + -4; - } - phi_s0 = phi_s0_4; - if ((*(player4_controllerstatus + 3) & 8) != 0) - { - phi_s0 = phi_s0_4 + -8; - } - num_controller_plugged_in_flags = (s8) phi_s0; - phi_return_2 = osContGetQuery(&player1_controllerstatus); - } - phi_s0_2 = 0; -loop_12: - temp_s0 = (s32) ((phi_s0_2 + 1) << 0x18) >> 0x18; - phi_s0_2 = temp_s0; - if (temp_s0 < 4) - { - goto loop_12; - } - phi_s0_3 = 0; - phi_a3 = &num_controller_plugged_in_flags_0; - phi_a2 = &controller_1_rumble_inserted; -loop_14: - temp_a1 = 1 << phi_s0_3; - temp_v1 = *phi_a3; - if ((((num_controller_plugged_in_flags & temp_a1) != 0) && ((temp_v0->unk0 & 3) != 0)) && (temp_v0->unk3 == 0)) - { - if (((temp_v0_2 & temp_a1) != 0) || (*(phi_a2 + temp_a0) <= 0)) - { - phi_v1 = num_controller_plugged_in_flags_0; - phi_a1 = sp24; - phi_a3_2 = &num_controller_plugged_in_flags_0; - phi_return = controller_7000B734(phi_s0_3, temp_a1, phi_a2, phi_a3); - phi_a2 = &controller_1_rumble_inserted; - } - else - { - - } - *phi_a3_2 = (s8) (phi_v1 | phi_a1); - phi_a3 = phi_a3_2; - } - else - { - phi_return = phi_return_2; - phi_a3 = phi_a3; - phi_a2 = phi_a2; - if ((temp_v1 & temp_a1) != 0) - { - *phi_a3 = (s8) (temp_v1 ^ temp_a1); - *(phi_a2 + (phi_s0_3 * 4)) = 0; - phi_return = phi_return_2; - phi_a3 = phi_a3; - phi_a2 = phi_a2; - } - } - temp_s0_2 = (s32) ((phi_s0_3 + 1) << 0x18) >> 0x18; - phi_s0_3 = temp_s0_2; - phi_return_2 = phi_return; - if (temp_s0_2 < 4) - { - goto loop_14; - } - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel controller_check_for_rumble_maybe -/* 00C410 7000B810 3C028002 */ lui $v0, %hi(D_8002692C) -/* 00C414 7000B814 2442692C */ addiu $v0, %lo(D_8002692C) # addiu $v0, $v0, 0x692c -/* 00C418 7000B818 8C4E0000 */ lw $t6, ($v0) -/* 00C41C 7000B81C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 00C420 7000B820 AFBF001C */ sw $ra, 0x1c($sp) -/* 00C424 7000B824 11C0000D */ beqz $t6, .L7000B85C -/* 00C428 7000B828 AFB00018 */ sw $s0, 0x18($sp) -/* 00C42C 7000B82C 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00C430 7000B830 3C058002 */ lui $a1, %hi(num_controller_plugged_in_flags) -/* 00C434 7000B834 3C068006 */ lui $a2, %hi(player1_controllerstatus) -/* 00C438 7000B838 AC400000 */ sw $zero, ($v0) -/* 00C43C 7000B83C 24C653E8 */ addiu $a2, %lo(player1_controllerstatus) # addiu $a2, $a2, 0x53e8 -/* 00C440 7000B840 24A568D0 */ addiu $a1, %lo(num_controller_plugged_in_flags) # addiu $a1, $a1, 0x68d0 -/* 00C444 7000B844 0C005240 */ jal osContInit -/* 00C448 7000B848 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00C44C 7000B84C 240F0001 */ li $t7, 1 -/* 00C450 7000B850 3C018002 */ lui $at, %hi(D_8002691C) -/* 00C454 7000B854 10000026 */ b .L7000B8F0 -/* 00C458 7000B858 AC2F691C */ sw $t7, %lo(D_8002691C)($at) -.L7000B85C: -/* 00C45C 7000B85C 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00C460 7000B860 2410000F */ li $s0, 15 -/* 00C464 7000B864 0C005330 */ jal osContStartQuery -/* 00C468 7000B868 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00C46C 7000B86C 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00C470 7000B870 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00C474 7000B874 00002825 */ move $a1, $zero -/* 00C478 7000B878 0C003774 */ jal osRecvMesg -/* 00C47C 7000B87C 24060001 */ li $a2, 1 -/* 00C480 7000B880 3C048006 */ lui $a0, %hi(player1_controllerstatus) -/* 00C484 7000B884 0C005351 */ jal osContGetQuery -/* 00C488 7000B888 248453E8 */ addiu $a0, %lo(player1_controllerstatus) # addiu $a0, $a0, 0x53e8 -/* 00C48C 7000B88C 3C188006 */ lui $t8, %hi(player1_controllerstatus+3) -/* 00C490 7000B890 931853EB */ lbu $t8, %lo(player1_controllerstatus+3)($t8) -/* 00C494 7000B894 3C088006 */ lui $t0, %hi(player2_controllerstatus+3) -/* 00C498 7000B898 3C0A8006 */ lui $t2, %hi(player3_controllerstatus+3) -/* 00C49C 7000B89C 33190008 */ andi $t9, $t8, 8 -/* 00C4A0 7000B8A0 13200002 */ beqz $t9, .L7000B8AC -/* 00C4A4 7000B8A4 3C0C8006 */ lui $t4, %hi(player4_controllerstatus+3) -/* 00C4A8 7000B8A8 2410000E */ li $s0, 14 -.L7000B8AC: -/* 00C4AC 7000B8AC 910853EF */ lbu $t0, %lo(player2_controllerstatus+3)($t0) -/* 00C4B0 7000B8B0 3C018002 */ lui $at, %hi(num_controller_plugged_in_flags) -/* 00C4B4 7000B8B4 31090008 */ andi $t1, $t0, 8 -/* 00C4B8 7000B8B8 11200002 */ beqz $t1, .L7000B8C4 -/* 00C4BC 7000B8BC 00000000 */ nop -/* 00C4C0 7000B8C0 2610FFFE */ addiu $s0, $s0, -2 -.L7000B8C4: -/* 00C4C4 7000B8C4 914A53F3 */ lbu $t2, %lo(player3_controllerstatus+3)($t2) -/* 00C4C8 7000B8C8 314B0008 */ andi $t3, $t2, 8 -/* 00C4CC 7000B8CC 11600002 */ beqz $t3, .L7000B8D8 -/* 00C4D0 7000B8D0 00000000 */ nop -/* 00C4D4 7000B8D4 2610FFFC */ addiu $s0, $s0, -4 -.L7000B8D8: -/* 00C4D8 7000B8D8 918C53F7 */ lbu $t4, %lo(player4_controllerstatus+3)($t4) -/* 00C4DC 7000B8DC 318D0008 */ andi $t5, $t4, 8 -/* 00C4E0 7000B8E0 11A00002 */ beqz $t5, .L7000B8EC -/* 00C4E4 7000B8E4 00000000 */ nop -/* 00C4E8 7000B8E8 2610FFF8 */ addiu $s0, $s0, -8 -.L7000B8EC: -/* 00C4EC 7000B8EC A03068D0 */ sb $s0, %lo(num_controller_plugged_in_flags)($at) -.L7000B8F0: -/* 00C4F0 7000B8F0 00008025 */ move $s0, $zero -/* 00C4F4 7000B8F4 26100001 */ addiu $s0, $s0, 1 -.L7000B8F8: -/* 00C4F8 7000B8F8 00107600 */ sll $t6, $s0, 0x18 -/* 00C4FC 7000B8FC 000E8603 */ sra $s0, $t6, 0x18 -/* 00C500 7000B900 2A010004 */ slti $at, $s0, 4 -/* 00C504 7000B904 5420FFFC */ bnezl $at, .L7000B8F8 -/* 00C508 7000B908 26100001 */ addiu $s0, $s0, 1 -/* 00C50C 7000B90C 3C078002 */ lui $a3, %hi(num_controller_plugged_in_flags_0) -/* 00C510 7000B910 3C068002 */ lui $a2, %hi(controller_1_rumble_inserted) -/* 00C514 7000B914 24C668D8 */ addiu $a2, %lo(controller_1_rumble_inserted) # addiu $a2, $a2, 0x68d8 -/* 00C518 7000B918 24E768D4 */ addiu $a3, %lo(num_controller_plugged_in_flags_0) # addiu $a3, $a3, 0x68d4 -/* 00C51C 7000B91C 00008025 */ move $s0, $zero -.L7000B920: -/* 00C520 7000B920 3C198002 */ lui $t9, %hi(num_controller_plugged_in_flags) -/* 00C524 7000B924 933968D0 */ lbu $t9, %lo(num_controller_plugged_in_flags)($t9) -/* 00C528 7000B928 24180001 */ li $t8, 1 -/* 00C52C 7000B92C 02182804 */ sllv $a1, $t8, $s0 -/* 00C530 7000B930 03254024 */ and $t0, $t9, $a1 -/* 00C534 7000B934 1100001E */ beqz $t0, .L7000B9B0 -/* 00C538 7000B938 90E30000 */ lbu $v1, ($a3) -/* 00C53C 7000B93C 3C098006 */ lui $t1, %hi(player1_controllerstatus) -/* 00C540 7000B940 252953E8 */ addiu $t1, %lo(player1_controllerstatus) # addiu $t1, $t1, 0x53e8 -/* 00C544 7000B944 00102080 */ sll $a0, $s0, 2 -/* 00C548 7000B948 00891021 */ addu $v0, $a0, $t1 -/* 00C54C 7000B94C 944A0000 */ lhu $t2, ($v0) -/* 00C550 7000B950 314B0003 */ andi $t3, $t2, 3 -/* 00C554 7000B954 51600017 */ beql $t3, $zero, .L7000B9B4 -/* 00C558 7000B958 0065C824 */ and $t9, $v1, $a1 -/* 00C55C 7000B95C 904C0003 */ lbu $t4, 3($v0) -/* 00C560 7000B960 2C620001 */ sltiu $v0, $v1, 1 -/* 00C564 7000B964 00456824 */ and $t5, $v0, $a1 -/* 00C568 7000B968 55800012 */ bnezl $t4, .L7000B9B4 -/* 00C56C 7000B96C 0065C824 */ and $t9, $v1, $a1 -/* 00C570 7000B970 15A00003 */ bnez $t5, .L7000B980 -/* 00C574 7000B974 00C47021 */ addu $t6, $a2, $a0 -/* 00C578 7000B978 8DCF0000 */ lw $t7, ($t6) -/* 00C57C 7000B97C 1DE00009 */ bgtz $t7, .L7000B9A4 -.L7000B980: -/* 00C580 7000B980 02002025 */ move $a0, $s0 -/* 00C584 7000B984 0C002DCD */ jal controller_7000B734 -/* 00C588 7000B988 AFA50024 */ sw $a1, 0x24($sp) -/* 00C58C 7000B98C 3C078002 */ lui $a3, %hi(num_controller_plugged_in_flags_0) -/* 00C590 7000B990 24E768D4 */ addiu $a3, %lo(num_controller_plugged_in_flags_0) # addiu $a3, $a3, 0x68d4 -/* 00C594 7000B994 3C068002 */ lui $a2, %hi(controller_1_rumble_inserted) -/* 00C598 7000B998 24C668D8 */ addiu $a2, %lo(controller_1_rumble_inserted) # addiu $a2, $a2, 0x68d8 -/* 00C59C 7000B99C 90E30000 */ lbu $v1, ($a3) -/* 00C5A0 7000B9A0 8FA50024 */ lw $a1, 0x24($sp) -.L7000B9A4: -/* 00C5A4 7000B9A4 0065C025 */ or $t8, $v1, $a1 -/* 00C5A8 7000B9A8 10000008 */ b .L7000B9CC -/* 00C5AC 7000B9AC A0F80000 */ sb $t8, ($a3) -.L7000B9B0: -/* 00C5B0 7000B9B0 0065C824 */ and $t9, $v1, $a1 -.L7000B9B4: -/* 00C5B4 7000B9B4 13200005 */ beqz $t9, .L7000B9CC -/* 00C5B8 7000B9B8 00654026 */ xor $t0, $v1, $a1 -/* 00C5BC 7000B9BC 00104880 */ sll $t1, $s0, 2 -/* 00C5C0 7000B9C0 00C95021 */ addu $t2, $a2, $t1 -/* 00C5C4 7000B9C4 A0E80000 */ sb $t0, ($a3) -/* 00C5C8 7000B9C8 AD400000 */ sw $zero, ($t2) -.L7000B9CC: -/* 00C5CC 7000B9CC 26100001 */ addiu $s0, $s0, 1 -/* 00C5D0 7000B9D0 00105E00 */ sll $t3, $s0, 0x18 -/* 00C5D4 7000B9D4 000B8603 */ sra $s0, $t3, 0x18 -/* 00C5D8 7000B9D8 2A010004 */ slti $at, $s0, 4 -/* 00C5DC 7000B9DC 1420FFD0 */ bnez $at, .L7000B920 -/* 00C5E0 7000B9E0 00000000 */ nop -/* 00C5E4 7000B9E4 8FBF001C */ lw $ra, 0x1c($sp) -/* 00C5E8 7000B9E8 8FB00018 */ lw $s0, 0x18($sp) -/* 00C5EC 7000B9EC 27BD0038 */ addiu $sp, $sp, 0x38 -/* 00C5F0 7000B9F0 03E00008 */ jr $ra -/* 00C5F4 7000B9F4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 get_attached_controller_count(void) -{ - if (ptr_current_point_in_controller_input_index->unk1F8 >= 0) - { - return (s32) (ptr_current_point_in_controller_input_index->unk1F8 << 0x18) >> 0x18; - } - if (((void *)0x80020000->unk68D0 & 1) == 0) - { - return 0; - } - if (((void *)0x80020000->unk68D0 & 2) == 0) - { - return 1; - } - if (((void *)0x80020000->unk68D0 & 4) == 0) - { - return 2; - } - if (((void *)0x80020000->unk68D0 & 8) == 0) - { - return 3; - } - return 4; -} -#else -GLOBAL_ASM( -.text -glabel get_attached_controller_count -/* 00C5F8 7000B9F8 3C0E8002 */ lui $t6, %hi(ptr_current_point_in_controller_input_index) -/* 00C5FC 7000B9FC 8DCE68C4 */ lw $t6, %lo(ptr_current_point_in_controller_input_index)($t6) -/* 00C600 7000BA00 3C028002 */ lui $v0, %hi(num_controller_plugged_in_flags) -/* 00C604 7000BA04 8DC301F8 */ lw $v1, 0x1f8($t6) -/* 00C608 7000BA08 04600005 */ bltz $v1, .L7000BA20 -/* 00C60C 7000BA0C 00000000 */ nop -/* 00C610 7000BA10 00031600 */ sll $v0, $v1, 0x18 -/* 00C614 7000BA14 00027E03 */ sra $t7, $v0, 0x18 -/* 00C618 7000BA18 03E00008 */ jr $ra -/* 00C61C 7000BA1C 01E01025 */ move $v0, $t7 - -.L7000BA20: -/* 00C620 7000BA20 904268D0 */ lbu $v0, %lo(num_controller_plugged_in_flags)($v0) -/* 00C624 7000BA24 30580001 */ andi $t8, $v0, 1 -/* 00C628 7000BA28 17000003 */ bnez $t8, .L7000BA38 -/* 00C62C 7000BA2C 30590002 */ andi $t9, $v0, 2 -/* 00C630 7000BA30 03E00008 */ jr $ra -/* 00C634 7000BA34 00001025 */ move $v0, $zero - -.L7000BA38: -/* 00C638 7000BA38 17200003 */ bnez $t9, .L7000BA48 -/* 00C63C 7000BA3C 30480004 */ andi $t0, $v0, 4 -/* 00C640 7000BA40 03E00008 */ jr $ra -/* 00C644 7000BA44 24020001 */ li $v0, 1 - -.L7000BA48: -/* 00C648 7000BA48 15000003 */ bnez $t0, .L7000BA58 -/* 00C64C 7000BA4C 30490008 */ andi $t1, $v0, 8 -/* 00C650 7000BA50 03E00008 */ jr $ra -/* 00C654 7000BA54 24020002 */ li $v0, 2 - -.L7000BA58: -/* 00C658 7000BA58 15200003 */ bnez $t1, .L7000BA68 -/* 00C65C 7000BA5C 24020004 */ li $v0, 4 -/* 00C660 7000BA60 03E00008 */ jr $ra -/* 00C664 7000BA64 24020003 */ li $v0, 3 - -.L7000BA68: -/* 00C668 7000BA68 03E00008 */ jr $ra -/* 00C66C 7000BA6C 00000000 */ nop -) -#endif - - - - - - -u8 get_num_controllers_plugged_in(void) -{ - return num_controller_plugged_in_flags; -} - - - - - - - -#ifdef NONMATCHING -s32 controller_rumble_related(void) { - s32 temp_t1; - s32 temp_a0; - - // Node 0 - // Node 1 - if (controller_1_rumble_state != controller_1_rumble_pulse) - { - // Node 2 - temp_a0 = ((0 * 0x68) + &player1_controller_packet); - if (1 == controller_1_rumble_pulse) - { - // Node 3 - if (controller_7000CAAC(temp_a0) == 0) - { - // Node 4 - controller_1_rumble_state = 1; - } - else - { - // Node 5 - *(0 + &controller_1_rumble_inserted) = 0; - } - } - else - { - // Node 6 - if (send_rumble_off_to_PIF(temp_a0) == 0) - { - // Node 7 - controller_1_rumble_state = 0; - } - else - { - // Node 8 - *(0 + &controller_1_rumble_inserted) = 0; - } - } - } - // Node 9 - if (controller_1_rumble_duration <= 0) - { - // Node 10 - controller_1_rumble_duration = 0; - } - else - { - // Node 11 - temp_t1 = (controller_1_rumble_duration + -1); - controller_1_rumble_duration = temp_t1; - if (temp_t1 <= 0) - { - // Node 12 - controller_1_rumble_duration = 0; - controller_1_rumble_pulse = 0; - } - } - // Node 13 - if ((0 + 1) != 4) - { - goto loop_1; - } - // (possible return value: controller_1_rumble_duration) -} -#endif - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel controller_rumble_related -/* 00C67C 7000BA7C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 00C680 7000BA80 AFB40028 */ sw $s4, 0x28($sp) -/* 00C684 7000BA84 AFB1001C */ sw $s1, 0x1c($sp) -/* 00C688 7000BA88 AFB00018 */ sw $s0, 0x18($sp) -/* 00C68C 7000BA8C AFB60030 */ sw $s6, 0x30($sp) -/* 00C690 7000BA90 AFB5002C */ sw $s5, 0x2c($sp) -/* 00C694 7000BA94 AFB30024 */ sw $s3, 0x24($sp) -/* 00C698 7000BA98 AFB20020 */ sw $s2, 0x20($sp) -/* 00C69C 7000BA9C 3C108002 */ lui $s0, %hi(controller_1_rumble_duration) -/* 00C6A0 7000BAA0 3C118002 */ lui $s1, %hi(controller_1_rumble_state) -/* 00C6A4 7000BAA4 3C148002 */ lui $s4, %hi(controller_1_rumble_pulse) -/* 00C6A8 7000BAA8 AFBF0034 */ sw $ra, 0x34($sp) -/* 00C6AC 7000BAAC 26946908 */ addiu $s4, %lo(controller_1_rumble_pulse) # addiu $s4, $s4, 0x6908 -/* 00C6B0 7000BAB0 263168E8 */ addiu $s1, %lo(controller_1_rumble_state) # addiu $s1, $s1, 0x68e8 -/* 00C6B4 7000BAB4 261068F8 */ addiu $s0, %lo(controller_1_rumble_duration) # addiu $s0, $s0, 0x68f8 -/* 00C6B8 7000BAB8 00009025 */ move $s2, $zero -/* 00C6BC 7000BABC 00009825 */ move $s3, $zero -/* 00C6C0 7000BAC0 24150001 */ li $s5, 1 -/* 00C6C4 7000BAC4 24160004 */ li $s6, 4 -.L7000BAC8: -/* 00C6C8 7000BAC8 8E820000 */ lw $v0, ($s4) -/* 00C6CC 7000BACC 8E2E0000 */ lw $t6, ($s1) -/* 00C6D0 7000BAD0 00127880 */ sll $t7, $s2, 2 -/* 00C6D4 7000BAD4 01F27823 */ subu $t7, $t7, $s2 -/* 00C6D8 7000BAD8 11C2001A */ beq $t6, $v0, .L7000BB44 -/* 00C6DC 7000BADC 000F7880 */ sll $t7, $t7, 2 -/* 00C6E0 7000BAE0 01F27821 */ addu $t7, $t7, $s2 -/* 00C6E4 7000BAE4 3C188006 */ lui $t8, %hi(player1_controller_packet) -/* 00C6E8 7000BAE8 271853F8 */ addiu $t8, %lo(player1_controller_packet) # addiu $t8, $t8, 0x53f8 -/* 00C6EC 7000BAEC 000F78C0 */ sll $t7, $t7, 3 -/* 00C6F0 7000BAF0 16A2000B */ bne $s5, $v0, .L7000BB20 -/* 00C6F4 7000BAF4 01F82021 */ addu $a0, $t7, $t8 -/* 00C6F8 7000BAF8 0C0032AB */ jal controller_7000CAAC -/* 00C6FC 7000BAFC 00000000 */ nop -/* 00C700 7000BB00 14400003 */ bnez $v0, .L7000BB10 -/* 00C704 7000BB04 3C198002 */ lui $t9, %hi(controller_1_rumble_inserted) -/* 00C708 7000BB08 1000000E */ b .L7000BB44 -/* 00C70C 7000BB0C AE350000 */ sw $s5, ($s1) -.L7000BB10: -/* 00C710 7000BB10 273968D8 */ addiu $t9, %lo(controller_1_rumble_inserted) # addiu $t9, $t9, 0x68d8 -/* 00C714 7000BB14 02791021 */ addu $v0, $s3, $t9 -/* 00C718 7000BB18 1000000A */ b .L7000BB44 -/* 00C71C 7000BB1C AC400000 */ sw $zero, ($v0) -.L7000BB20: -/* 00C720 7000BB20 0C003260 */ jal send_rumble_off_to_PIF -/* 00C724 7000BB24 00000000 */ nop -/* 00C728 7000BB28 14400003 */ bnez $v0, .L7000BB38 -/* 00C72C 7000BB2C 3C088002 */ lui $t0, %hi(controller_1_rumble_inserted) -/* 00C730 7000BB30 10000004 */ b .L7000BB44 -/* 00C734 7000BB34 AE200000 */ sw $zero, ($s1) -.L7000BB38: -/* 00C738 7000BB38 250868D8 */ addiu $t0, %lo(controller_1_rumble_inserted) # addiu $t0, $t0, 0x68d8 -/* 00C73C 7000BB3C 02681021 */ addu $v0, $s3, $t0 -/* 00C740 7000BB40 AC400000 */ sw $zero, ($v0) -.L7000BB44: -/* 00C744 7000BB44 8E020000 */ lw $v0, ($s0) -/* 00C748 7000BB48 26520001 */ addiu $s2, $s2, 1 -/* 00C74C 7000BB4C 26730004 */ addiu $s3, $s3, 4 -/* 00C750 7000BB50 1C400003 */ bgtz $v0, .L7000BB60 -/* 00C754 7000BB54 26310004 */ addiu $s1, $s1, 4 -/* 00C758 7000BB58 10000006 */ b .L7000BB74 -/* 00C75C 7000BB5C AE000000 */ sw $zero, ($s0) -.L7000BB60: -/* 00C760 7000BB60 2449FFFF */ addiu $t1, $v0, -1 -/* 00C764 7000BB64 1D200003 */ bgtz $t1, .L7000BB74 -/* 00C768 7000BB68 AE090000 */ sw $t1, ($s0) -/* 00C76C 7000BB6C AE000000 */ sw $zero, ($s0) -/* 00C770 7000BB70 AE800000 */ sw $zero, ($s4) -.L7000BB74: -/* 00C774 7000BB74 26940004 */ addiu $s4, $s4, 4 -/* 00C778 7000BB78 1656FFD3 */ bne $s2, $s6, .L7000BAC8 -/* 00C77C 7000BB7C 26100004 */ addiu $s0, $s0, 4 -/* 00C780 7000BB80 8FBF0034 */ lw $ra, 0x34($sp) -/* 00C784 7000BB84 8FB00018 */ lw $s0, 0x18($sp) -/* 00C788 7000BB88 8FB1001C */ lw $s1, 0x1c($sp) -/* 00C78C 7000BB8C 8FB20020 */ lw $s2, 0x20($sp) -/* 00C790 7000BB90 8FB30024 */ lw $s3, 0x24($sp) -/* 00C794 7000BB94 8FB40028 */ lw $s4, 0x28($sp) -/* 00C798 7000BB98 8FB5002C */ lw $s5, 0x2c($sp) -/* 00C79C 7000BB9C 8FB60030 */ lw $s6, 0x30($sp) -/* 00C7A0 7000BBA0 03E00008 */ jr $ra -/* 00C7A4 7000BBA4 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel controller_rumble_related -/* 00C68C 7000BA8C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 00C690 7000BA90 AFB5002C */ sw $s5, 0x2c($sp) -/* 00C694 7000BA94 AFB20020 */ sw $s2, 0x20($sp) -/* 00C698 7000BA98 AFB1001C */ sw $s1, 0x1c($sp) -/* 00C69C 7000BA9C AFBE0038 */ sw $fp, 0x38($sp) -/* 00C6A0 7000BAA0 AFB70034 */ sw $s7, 0x34($sp) -/* 00C6A4 7000BAA4 AFB60030 */ sw $s6, 0x30($sp) -/* 00C6A8 7000BAA8 AFB40028 */ sw $s4, 0x28($sp) -/* 00C6AC 7000BAAC AFB30024 */ sw $s3, 0x24($sp) -/* 00C6B0 7000BAB0 3C118002 */ lui $s1, %hi(controller_1_rumble_duration) # $s1, 0x8002 -/* 00C6B4 7000BAB4 3C128002 */ lui $s2, %hi(controller_1_rumble_state) # $s2, 0x8002 -/* 00C6B8 7000BAB8 3C158002 */ lui $s5, %hi(controller_1_rumble_pulse) # $s5, 0x8002 -/* 00C6BC 7000BABC AFBF003C */ sw $ra, 0x3c($sp) -/* 00C6C0 7000BAC0 AFB00018 */ sw $s0, 0x18($sp) -/* 00C6C4 7000BAC4 26B56948 */ addiu $s5, %lo(controller_1_rumble_pulse) # addiu $s5, $s5, 0x6948 -/* 00C6C8 7000BAC8 26526928 */ addiu $s2, %lo(controller_1_rumble_state) # addiu $s2, $s2, 0x6928 -/* 00C6CC 7000BACC 26316938 */ addiu $s1, %lo(controller_1_rumble_duration) # addiu $s1, $s1, 0x6938 -/* 00C6D0 7000BAD0 00009825 */ move $s3, $zero -/* 00C6D4 7000BAD4 0000A025 */ move $s4, $zero -/* 00C6D8 7000BAD8 24160001 */ li $s6, 1 -/* 00C6DC 7000BADC 24170004 */ li $s7, 4 -/* 00C6E0 7000BAE0 241E0002 */ li $fp, 2 -.Ljp7000BAE4: -/* 00C6E4 7000BAE4 8EA20000 */ lw $v0, ($s5) -/* 00C6E8 7000BAE8 8E4E0000 */ lw $t6, ($s2) -/* 00C6EC 7000BAEC 00137880 */ sll $t7, $s3, 2 -/* 00C6F0 7000BAF0 01F37823 */ subu $t7, $t7, $s3 -/* 00C6F4 7000BAF4 11C2002A */ beq $t6, $v0, .Ljp7000BBA0 -/* 00C6F8 7000BAF8 000F7880 */ sll $t7, $t7, 2 -/* 00C6FC 7000BAFC 01F37821 */ addu $t7, $t7, $s3 -/* 00C700 7000BB00 3C188006 */ lui $t8, %hi(player1_controller_packet) # $t8, 0x8006 -/* 00C704 7000BB04 27185438 */ addiu $t8, %lo(player1_controller_packet) # addiu $t8, $t8, 0x5438 -/* 00C708 7000BB08 000F78C0 */ sll $t7, $t7, 3 -/* 00C70C 7000BB0C 16C2000B */ bne $s6, $v0, .Ljp7000BB3C -/* 00C710 7000BB10 01F88021 */ addu $s0, $t7, $t8 -/* 00C714 7000BB14 0C0032BB */ jal controller_7000CAAC -/* 00C718 7000BB18 02002025 */ move $a0, $s0 -/* 00C71C 7000BB1C 14400003 */ bnez $v0, .Ljp7000BB2C -/* 00C720 7000BB20 3C198002 */ lui $t9, %hi(controller_1_rumble_inserted) # $t9, 0x8002 -/* 00C724 7000BB24 1000001E */ b .Ljp7000BBA0 -/* 00C728 7000BB28 AE560000 */ sw $s6, ($s2) -.Ljp7000BB2C: -/* 00C72C 7000BB2C 27396918 */ addiu $t9, %lo(controller_1_rumble_inserted) # addiu $t9, $t9, 0x6918 -/* 00C730 7000BB30 02991021 */ addu $v0, $s4, $t9 -/* 00C734 7000BB34 1000001A */ b .Ljp7000BBA0 -/* 00C738 7000BB38 AC400000 */ sw $zero, ($v0) -.Ljp7000BB3C: -/* 00C73C 7000BB3C 17C2000F */ bne $fp, $v0, .Ljp7000BB7C -/* 00C740 7000BB40 3C048006 */ lui $a0, %hi(contdemoMesgMQ) # $a0, 0x8006 -/* 00C744 7000BB44 24845390 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5390 -/* 00C748 7000BB48 02002825 */ move $a1, $s0 -/* 00C74C 7000BB4C 0C00335E */ jal controller_7000CD38 -/* 00C750 7000BB50 02603025 */ move $a2, $s3 -/* 00C754 7000BB54 10400004 */ beqz $v0, .Ljp7000BB68 -/* 00C758 7000BB58 3C088002 */ lui $t0, %hi(controller_1_rumble_inserted) # $t0, 0x8002 -/* 00C75C 7000BB5C 25086918 */ addiu $t0, %lo(controller_1_rumble_inserted) # addiu $t0, $t0, 0x6918 -/* 00C760 7000BB60 02881021 */ addu $v0, $s4, $t0 -/* 00C764 7000BB64 AC400000 */ sw $zero, ($v0) -.Ljp7000BB68: -/* 00C768 7000BB68 0C003270 */ jal send_rumble_off_to_PIF -/* 00C76C 7000BB6C 02002025 */ move $a0, $s0 -/* 00C770 7000BB70 AE400000 */ sw $zero, ($s2) -/* 00C774 7000BB74 1000000A */ b .Ljp7000BBA0 -/* 00C778 7000BB78 AEA00000 */ sw $zero, ($s5) -.Ljp7000BB7C: -/* 00C77C 7000BB7C 0C003270 */ jal send_rumble_off_to_PIF -/* 00C780 7000BB80 02002025 */ move $a0, $s0 -/* 00C784 7000BB84 14400003 */ bnez $v0, .Ljp7000BB94 -/* 00C788 7000BB88 3C098002 */ lui $t1, %hi(controller_1_rumble_inserted) # $t1, 0x8002 -/* 00C78C 7000BB8C 10000004 */ b .Ljp7000BBA0 -/* 00C790 7000BB90 AE400000 */ sw $zero, ($s2) -.Ljp7000BB94: -/* 00C794 7000BB94 25296918 */ addiu $t1, %lo(controller_1_rumble_inserted) # addiu $t1, $t1, 0x6918 -/* 00C798 7000BB98 02891021 */ addu $v0, $s4, $t1 -/* 00C79C 7000BB9C AC400000 */ sw $zero, ($v0) -.Ljp7000BBA0: -/* 00C7A0 7000BBA0 8E220000 */ lw $v0, ($s1) -/* 00C7A4 7000BBA4 26730001 */ addiu $s3, $s3, 1 -/* 00C7A8 7000BBA8 26940004 */ addiu $s4, $s4, 4 -/* 00C7AC 7000BBAC 1C400003 */ bgtz $v0, .Ljp7000BBBC -/* 00C7B0 7000BBB0 26520004 */ addiu $s2, $s2, 4 -/* 00C7B4 7000BBB4 10000006 */ b .Ljp7000BBD0 -/* 00C7B8 7000BBB8 AE200000 */ sw $zero, ($s1) -.Ljp7000BBBC: -/* 00C7BC 7000BBBC 244AFFFF */ addiu $t2, $v0, -1 -/* 00C7C0 7000BBC0 1D400003 */ bgtz $t2, .Ljp7000BBD0 -/* 00C7C4 7000BBC4 AE2A0000 */ sw $t2, ($s1) -/* 00C7C8 7000BBC8 AE200000 */ sw $zero, ($s1) -/* 00C7CC 7000BBCC AEA00000 */ sw $zero, ($s5) -.Ljp7000BBD0: -/* 00C7D0 7000BBD0 26B50004 */ addiu $s5, $s5, 4 -/* 00C7D4 7000BBD4 1677FFC3 */ bne $s3, $s7, .Ljp7000BAE4 -/* 00C7D8 7000BBD8 26310004 */ addiu $s1, $s1, 4 -/* 00C7DC 7000BBDC 8FBF003C */ lw $ra, 0x3c($sp) -/* 00C7E0 7000BBE0 8FB00018 */ lw $s0, 0x18($sp) -/* 00C7E4 7000BBE4 8FB1001C */ lw $s1, 0x1c($sp) -/* 00C7E8 7000BBE8 8FB20020 */ lw $s2, 0x20($sp) -/* 00C7EC 7000BBEC 8FB30024 */ lw $s3, 0x24($sp) -/* 00C7F0 7000BBF0 8FB40028 */ lw $s4, 0x28($sp) -/* 00C7F4 7000BBF4 8FB5002C */ lw $s5, 0x2c($sp) -/* 00C7F8 7000BBF8 8FB60030 */ lw $s6, 0x30($sp) -/* 00C7FC 7000BBFC 8FB70034 */ lw $s7, 0x34($sp) -/* 00C800 7000BC00 8FBE0038 */ lw $fp, 0x38($sp) -/* 00C804 7000BC04 03E00008 */ jr $ra -/* 00C808 7000BC08 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -void set_disable_all_rumble_and_something(s32 arg0, s32 arg1) { - disable_all_rumble = arg0; - dword_CODE_bss_80065324 = arg1; -} - -void set_ptr_tlb_ramrom_record(s32 arg0) -{ - ptr_to_tlb_ramrom_record = arg0; -} - - - - - - -#ifdef NONMATCHING -void probably_ramrom_related(void) { - -} -#else -GLOBAL_ASM( -.text -glabel probably_ramrom_related -/* 00C7C8 7000BBC8 8C8E01E0 */ lw $t6, 0x1e0($a0) -/* 00C7CC 7000BBCC 8C8F01E8 */ lw $t7, 0x1e8($a0) -/* 00C7D0 7000BBD0 00001025 */ move $v0, $zero -/* 00C7D4 7000BBD4 24090014 */ li $t1, 20 -/* 00C7D8 7000BBD8 AC8E01E4 */ sw $t6, 0x1e4($a0) -/* 00C7DC 7000BBDC AC8F01E0 */ sw $t7, 0x1e0($a0) -/* 00C7E0 7000BBE0 0002C040 */ sll $t8, $v0, 1 -.L7000BBE4: -/* 00C7E4 7000BBE4 00981821 */ addu $v1, $a0, $t8 -/* 00C7E8 7000BBE8 A46001F0 */ sh $zero, 0x1f0($v1) -/* 00C7EC 7000BBEC 8C9901E0 */ lw $t9, 0x1e0($a0) -/* 00C7F0 7000BBF0 8C8501E4 */ lw $a1, 0x1e4($a0) -/* 00C7F4 7000BBF4 10B9003D */ beq $a1, $t9, .L7000BCEC -/* 00C7F8 7000BBF8 24AA0001 */ addiu $t2, $a1, 1 -/* 00C7FC 7000BBFC 0149001A */ div $zero, $t2, $t1 -/* 00C800 7000BC00 00023880 */ sll $a3, $v0, 2 -/* 00C804 7000BC04 00003010 */ mfhi $a2 -/* 00C808 7000BC08 00E23823 */ subu $a3, $a3, $v0 -/* 00C80C 7000BC0C 00073840 */ sll $a3, $a3, 1 -/* 00C810 7000BC10 15200002 */ bnez $t1, .L7000BC1C -/* 00C814 7000BC14 00000000 */ nop -/* 00C818 7000BC18 0007000D */ break 7 -.L7000BC1C: -/* 00C81C 7000BC1C 2401FFFF */ li $at, -1 -/* 00C820 7000BC20 15210004 */ bne $t1, $at, .L7000BC34 -/* 00C824 7000BC24 3C018000 */ lui $at, 0x8000 -/* 00C828 7000BC28 15410002 */ bne $t2, $at, .L7000BC34 -/* 00C82C 7000BC2C 00000000 */ nop -/* 00C830 7000BC30 0006000D */ break 6 -.L7000BC34: -/* 00C834 7000BC34 24CE0013 */ addiu $t6, $a2, 0x13 -.L7000BC38: -/* 00C838 7000BC38 01C9001A */ div $zero, $t6, $t1 -/* 00C83C 7000BC3C 00007810 */ mfhi $t7 -/* 00C840 7000BC40 000FC080 */ sll $t8, $t7, 2 -/* 00C844 7000BC44 00065880 */ sll $t3, $a2, 2 -/* 00C848 7000BC48 030FC023 */ subu $t8, $t8, $t7 -/* 00C84C 7000BC4C 01665823 */ subu $t3, $t3, $a2 -/* 00C850 7000BC50 0018C0C0 */ sll $t8, $t8, 3 -/* 00C854 7000BC54 000B58C0 */ sll $t3, $t3, 3 -/* 00C858 7000BC58 0098C821 */ addu $t9, $a0, $t8 -/* 00C85C 7000BC5C 008B6021 */ addu $t4, $a0, $t3 -/* 00C860 7000BC60 03275021 */ addu $t2, $t9, $a3 -/* 00C864 7000BC64 95480000 */ lhu $t0, ($t2) -/* 00C868 7000BC68 01876821 */ addu $t5, $t4, $a3 -/* 00C86C 7000BC6C 95A50000 */ lhu $a1, ($t5) -/* 00C870 7000BC70 946B01F0 */ lhu $t3, 0x1f0($v1) -/* 00C874 7000BC74 01006027 */ not $t4, $t0 -/* 00C878 7000BC78 15200002 */ bnez $t1, .L7000BC84 -/* 00C87C 7000BC7C 00000000 */ nop -/* 00C880 7000BC80 0007000D */ break 7 -.L7000BC84: -/* 00C884 7000BC84 2401FFFF */ li $at, -1 -/* 00C888 7000BC88 15210004 */ bne $t1, $at, .L7000BC9C -/* 00C88C 7000BC8C 3C018000 */ lui $at, 0x8000 -/* 00C890 7000BC90 15C10002 */ bne $t6, $at, .L7000BC9C -/* 00C894 7000BC94 00000000 */ nop -/* 00C898 7000BC98 0006000D */ break 6 -.L7000BC9C: -/* 00C89C 7000BC9C 00AC6824 */ and $t5, $a1, $t4 -/* 00C8A0 7000BCA0 016D7025 */ or $t6, $t3, $t5 -/* 00C8A4 7000BCA4 A46E01F0 */ sh $t6, 0x1f0($v1) -/* 00C8A8 7000BCA8 8C8F01E0 */ lw $t7, 0x1e0($a0) -/* 00C8AC 7000BCAC 24D80001 */ addiu $t8, $a2, 1 -/* 00C8B0 7000BCB0 50CF000F */ beql $a2, $t7, .L7000BCF0 -/* 00C8B4 7000BCB4 24420001 */ addiu $v0, $v0, 1 -/* 00C8B8 7000BCB8 0309001A */ div $zero, $t8, $t1 -/* 00C8BC 7000BCBC 00003010 */ mfhi $a2 -/* 00C8C0 7000BCC0 15200002 */ bnez $t1, .L7000BCCC -/* 00C8C4 7000BCC4 00000000 */ nop -/* 00C8C8 7000BCC8 0007000D */ break 7 -.L7000BCCC: -/* 00C8CC 7000BCCC 2401FFFF */ li $at, -1 -/* 00C8D0 7000BCD0 15210004 */ bne $t1, $at, .L7000BCE4 -/* 00C8D4 7000BCD4 3C018000 */ lui $at, 0x8000 -/* 00C8D8 7000BCD8 17010002 */ bne $t8, $at, .L7000BCE4 -/* 00C8DC 7000BCDC 00000000 */ nop -/* 00C8E0 7000BCE0 0006000D */ break 6 -.L7000BCE4: -/* 00C8E4 7000BCE4 1000FFD4 */ b .L7000BC38 -/* 00C8E8 7000BCE8 24CE0013 */ addiu $t6, $a2, 0x13 -.L7000BCEC: -/* 00C8EC 7000BCEC 24420001 */ addiu $v0, $v0, 1 -.L7000BCF0: -/* 00C8F0 7000BCF0 0002CE00 */ sll $t9, $v0, 0x18 -/* 00C8F4 7000BCF4 00191603 */ sra $v0, $t9, 0x18 -/* 00C8F8 7000BCF8 28410004 */ slti $at, $v0, 4 -/* 00C8FC 7000BCFC 5420FFB9 */ bnezl $at, .L7000BBE4 -/* 00C900 7000BD00 0002C040 */ sll $t8, $v0, 1 -/* 00C904 7000BD04 03E00008 */ jr $ra -/* 00C908 7000BD08 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 redirect_to_ramrom_replay_and_record_handlers_if_set(void) { - // Node 0 - if (disable_all_rumble != 0) - { - // Node 1 - // Error: I don't know how to handle jalr! - } - // Node 2 - probably_ramrom_related(&controller_input_index); - if (ptr_to_tlb_ramrom_record != 0) - { - // Node 3 - // Error: I don't know how to handle jalr! - return; - // (function likely void) - } - // (possible return value: ptr_to_tlb_ramrom_record) -} -#else -GLOBAL_ASM( -.text -glabel redirect_to_ramrom_replay_and_record_handlers_if_set -/* 00C90C 7000BD0C 3C028002 */ lui $v0, %hi(disable_all_rumble) -/* 00C910 7000BD10 8C426924 */ lw $v0, %lo(disable_all_rumble)($v0) -/* 00C914 7000BD14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00C918 7000BD18 AFBF0014 */ sw $ra, 0x14($sp) -/* 00C91C 7000BD1C 1040000A */ beqz $v0, .L7000BD48 -/* 00C920 7000BD20 3C048006 */ lui $a0, %hi(dword_CODE_bss_8006512C) -/* 00C924 7000BD24 3C058006 */ lui $a1, %hi(dword_CODE_bss_8006530C) -/* 00C928 7000BD28 8CA5530C */ lw $a1, %lo(dword_CODE_bss_8006530C)($a1) -/* 00C92C 7000BD2C 0040F809 */ jalr $v0 -/* 00C930 7000BD30 2484512C */ addiu $a0, %lo(dword_CODE_bss_8006512C) # addiu $a0, $a0, 0x512c -/* 00C934 7000BD34 3C018006 */ lui $at, %hi(dword_CODE_bss_80065314) -/* 00C938 7000BD38 3C048006 */ lui $a0, %hi(dword_CODE_bss_8006512C) -/* 00C93C 7000BD3C AC225314 */ sw $v0, %lo(dword_CODE_bss_80065314)($at) -/* 00C940 7000BD40 0C002EF2 */ jal probably_ramrom_related -/* 00C944 7000BD44 2484512C */ addiu $a0, %lo(dword_CODE_bss_8006512C) # addiu $a0, $a0, 0x512c -.L7000BD48: -/* 00C948 7000BD48 3C048006 */ lui $a0, %hi(controller_input_index) -/* 00C94C 7000BD4C 0C002EF2 */ jal probably_ramrom_related -/* 00C950 7000BD50 24844F30 */ addiu $a0, %lo(controller_input_index) # addiu $a0, $a0, 0x4f30 -/* 00C954 7000BD54 3C028002 */ lui $v0, %hi(ptr_to_tlb_ramrom_record) -/* 00C958 7000BD58 8C426928 */ lw $v0, %lo(ptr_to_tlb_ramrom_record)($v0) -/* 00C95C 7000BD5C 3C048006 */ lui $a0, %hi(controller_input_index) -/* 00C960 7000BD60 24844F30 */ addiu $a0, %lo(controller_input_index) # addiu $a0, $a0, 0x4f30 -/* 00C964 7000BD64 50400005 */ beql $v0, $zero, .L7000BD7C -/* 00C968 7000BD68 8FBF0014 */ lw $ra, 0x14($sp) -/* 00C96C 7000BD6C 8C8501E4 */ lw $a1, 0x1e4($a0) -/* 00C970 7000BD70 0040F809 */ jalr $v0 -/* 00C974 7000BD74 8C8601E0 */ lw $a2, 0x1e0($a0) -/* 00C978 7000BD78 8FBF0014 */ lw $ra, 0x14($sp) -.L7000BD7C: -/* 00C97C 7000BD7C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00C980 7000BD80 03E00008 */ jr $ra -/* 00C984 7000BD84 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void controllerSchedulerRelated(void) -{ - ? sp4C; - s32 sp40; - s32 temp_a0; - s32 temp_a0_2; - s32 temp_a2; - s32 temp_hi; - s32 temp_lo; - s32 temp_t6; - s32 temp_t8; - s32 temp_v1; - void *temp_t3; - void *temp_v1_2; - s32 phi_v1; - s32 phi_v0; - s32 phi_a0; - s32 phi_a0_2; - void *phi_t1; - void *phi_a0_3; - void *phi_a1; - void *phi_v1_2; - - if (osRecvMesg(&cont1MesgMQ, &sp4C, 0) == 0) - { - if (D_800268C8 != 0) - { - osRecvMesg(&contdemoMesgMQ, &sp4C, 1); - D_800268C8 = 0; - } - osSendMesg(&cont2MesgMQ, &sp4C, 0); - D_800268CC = (s32) (D_800268CC + 1); - return; - } - if (osRecvMesg(&cont3MesgMQ, &sp4C, 0) == 0) - { - osContStartReadData(&contdemoMesgMQ); - D_800268C8 = 1; - osSendMesg(&cont4MesgMQ, &sp4C, 0); - D_800268CC = (s32) (D_800268CC + -1); - return; - } - if (D_800268CC == 0) - { - if (D_8002691C != 0) - { - if (osRecvMesg(&contdemoMesgMQ, &sp4C, 0) == 0) - { - D_800268C8 = 0; - temp_hi = (s32) (controller_input_index.unk1E8 + 1) % 0x14; - phi_v1 = temp_hi; - if (temp_hi == controller_input_index.unk1E4) - { - phi_v1 = controller_input_index.unk1E8; - } - sp40 = (s32) phi_v1; - osContGetReadData(&controller_input_index + (((phi_v1 * 4) - phi_v1) * 8), &controller_input_index); - temp_t6 = D_80026920 + 1; - temp_t8 = temp_t6 % 0x78; - controller_input_index.unk1EC = (s32) ((s32) (sp40 + 0x13) % 0x14); - D_80026920 = temp_t6; - controller_input_index.unk1E8 = sp40; - phi_v0 = sp40; - if (temp_t8 == 0) - { - controller_check_for_rumble_maybe(&D_80026920, &controller_input_index); - phi_v0 = controller_input_index.unk1E8; - } - temp_a2 = &controller_input_index + (((phi_v0 * 4) - phi_v0) * 8); - phi_a0 = 0; -loop_14: - temp_lo = phi_a0 * 6; - temp_t3 = temp_a2 + temp_lo; - if ((temp_t3->unk4 != 0) || (((&controller_input_index + (&controller_input_index->unk1EC * 0x18)) + temp_lo)->unk4 == 0)) - { - temp_a0 = phi_a0 + 1; - if ((temp_t3->unk4 != 0) && (((&controller_input_index + (&controller_input_index->unk1EC * 0x18)) + temp_lo)->unk4 == 0)) - { -block_18: - controller_check_for_rumble_maybe(phi_a0_2, &controller_input_index, temp_a2, 6); - } - else - { - temp_a0_2 = (s32) (temp_a0 << 0x18) >> 0x18; - phi_a0 = temp_a0_2; - if (temp_a0_2 < 4) - { - goto loop_14; - } - } - } - else - { - goto block_18; - } - controller_rumble_related(); - osContStartReadData(&contdemoMesgMQ); - D_800268C8 = 1; - temp_v1 = D_80026970 + 1; - D_80026970 = temp_v1; - if (temp_v1 >= 0x3c) - { - phi_t1 = &pl1_controller_failure_lr; - phi_a0_3 = &pl1_controller_failure_ud; - phi_a1 = &pl1_controller_failure_held; - phi_v1_2 = &pl1_controller_failure_pressed; -loop_22: - if ((((phi_t1->unk0 != 0) || (phi_a0_3->unk0 != 0)) || (phi_a1->unk0 != 0)) || (phi_v1_2->unk0 != 0)) - { - phi_t1->unk0 = 0; - phi_a0_3->unk0 = 0; - phi_a1->unk0 = 0; - phi_v1_2->unk0 = 0; - } - else - { - - } - if ((((phi_t1->unk4 != 0) || (phi_a0_3->unk4 != 0)) || (phi_a1->unk4 != 0)) || (phi_v1_2->unk4 != 0)) - { - phi_t1->unk4 = 0; - phi_a0_3->unk4 = 0; - phi_a1->unk4 = 0; - phi_v1_2->unk4 = 0; - } - else - { - - } - temp_v1_2 = phi_v1_2 + 8; - phi_t1 = phi_t1 + 8; - phi_a0_3 = phi_a0_3 + 8; - phi_a1 = phi_a1 + 8; - phi_v1_2 = temp_v1_2; - if (temp_v1_2 != &D_80026970) - { - goto loop_22; - } - D_80026970 = 0; - } - } - } - } -} -#else -GLOBAL_ASM( -.text -glabel controllerSchedulerRelated -/* 00C988 7000BD88 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 00C98C 7000BD8C AFBF0014 */ sw $ra, 0x14($sp) -/* 00C990 7000BD90 3C048006 */ lui $a0, %hi(cont1MesgMQ) -/* 00C994 7000BD94 24845370 */ addiu $a0, %lo(cont1MesgMQ) # addiu $a0, $a0, 0x5370 -/* 00C998 7000BD98 27A5004C */ addiu $a1, $sp, 0x4c -/* 00C99C 7000BD9C 0C003774 */ jal osRecvMesg -/* 00C9A0 7000BDA0 00003025 */ move $a2, $zero -/* 00C9A4 7000BDA4 14400015 */ bnez $v0, .L7000BDFC -/* 00C9A8 7000BDA8 3C0E8002 */ lui $t6, %hi(D_800268C8) -/* 00C9AC 7000BDAC 8DCE68C8 */ lw $t6, %lo(D_800268C8)($t6) -/* 00C9B0 7000BDB0 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00C9B4 7000BDB4 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00C9B8 7000BDB8 11C00005 */ beqz $t6, .L7000BDD0 -/* 00C9BC 7000BDBC 27A5004C */ addiu $a1, $sp, 0x4c -/* 00C9C0 7000BDC0 0C003774 */ jal osRecvMesg -/* 00C9C4 7000BDC4 24060001 */ li $a2, 1 -/* 00C9C8 7000BDC8 3C018002 */ lui $at, %hi(D_800268C8) -/* 00C9CC 7000BDCC AC2068C8 */ sw $zero, %lo(D_800268C8)($at) -.L7000BDD0: -/* 00C9D0 7000BDD0 3C048006 */ lui $a0, %hi(cont2MesgMQ) -/* 00C9D4 7000BDD4 24845390 */ addiu $a0, %lo(cont2MesgMQ) # addiu $a0, $a0, 0x5390 -/* 00C9D8 7000BDD8 27A5004C */ addiu $a1, $sp, 0x4c -/* 00C9DC 7000BDDC 0C0037C4 */ jal osSendMesg -/* 00C9E0 7000BDE0 00003025 */ move $a2, $zero -/* 00C9E4 7000BDE4 3C038002 */ lui $v1, %hi(D_800268CC) -/* 00C9E8 7000BDE8 246368CC */ addiu $v1, %lo(D_800268CC) # addiu $v1, $v1, 0x68cc -/* 00C9EC 7000BDEC 8C6F0000 */ lw $t7, ($v1) -/* 00C9F0 7000BDF0 25F80001 */ addiu $t8, $t7, 1 -/* 00C9F4 7000BDF4 100000B9 */ b .L7000C0DC -/* 00C9F8 7000BDF8 AC780000 */ sw $t8, ($v1) -.L7000BDFC: -/* 00C9FC 7000BDFC 3C048006 */ lui $a0, %hi(cont3MesgMQ) -/* 00CA00 7000BE00 248453B0 */ addiu $a0, %lo(cont3MesgMQ) # addiu $a0, $a0, 0x53b0 -/* 00CA04 7000BE04 27A5004C */ addiu $a1, $sp, 0x4c -/* 00CA08 7000BE08 0C003774 */ jal osRecvMesg -/* 00CA0C 7000BE0C 00003025 */ move $a2, $zero -/* 00CA10 7000BE10 14400011 */ bnez $v0, .L7000BE58 -/* 00CA14 7000BE14 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00CA18 7000BE18 0C00535C */ jal osContStartReadData -/* 00CA1C 7000BE1C 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00CA20 7000BE20 24190001 */ li $t9, 1 -/* 00CA24 7000BE24 3C018002 */ lui $at, %hi(D_800268C8) -/* 00CA28 7000BE28 3C048006 */ lui $a0, %hi(cont4MesgMQ) -/* 00CA2C 7000BE2C AC3968C8 */ sw $t9, %lo(D_800268C8)($at) -/* 00CA30 7000BE30 248453D0 */ addiu $a0, %lo(cont4MesgMQ) # addiu $a0, $a0, 0x53d0 -/* 00CA34 7000BE34 27A5004C */ addiu $a1, $sp, 0x4c -/* 00CA38 7000BE38 0C0037C4 */ jal osSendMesg -/* 00CA3C 7000BE3C 00003025 */ move $a2, $zero -/* 00CA40 7000BE40 3C038002 */ lui $v1, %hi(D_800268CC) -/* 00CA44 7000BE44 246368CC */ addiu $v1, %lo(D_800268CC) # addiu $v1, $v1, 0x68cc -/* 00CA48 7000BE48 8C6B0000 */ lw $t3, ($v1) -/* 00CA4C 7000BE4C 256CFFFF */ addiu $t4, $t3, -1 -/* 00CA50 7000BE50 100000A2 */ b .L7000C0DC -/* 00CA54 7000BE54 AC6C0000 */ sw $t4, ($v1) -.L7000BE58: -/* 00CA58 7000BE58 3C038002 */ lui $v1, %hi(D_800268CC) -/* 00CA5C 7000BE5C 246368CC */ addiu $v1, %lo(D_800268CC) # addiu $v1, $v1, 0x68cc -/* 00CA60 7000BE60 8C6D0000 */ lw $t5, ($v1) -/* 00CA64 7000BE64 3C0E8002 */ lui $t6, %hi(D_8002691C) -/* 00CA68 7000BE68 55A0009D */ bnezl $t5, .L7000C0E0 -/* 00CA6C 7000BE6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 00CA70 7000BE70 8DCE691C */ lw $t6, %lo(D_8002691C)($t6) -/* 00CA74 7000BE74 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00CA78 7000BE78 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00CA7C 7000BE7C 11C00097 */ beqz $t6, .L7000C0DC -/* 00CA80 7000BE80 27A5004C */ addiu $a1, $sp, 0x4c -/* 00CA84 7000BE84 0C003774 */ jal osRecvMesg -/* 00CA88 7000BE88 00003025 */ move $a2, $zero -/* 00CA8C 7000BE8C 14400093 */ bnez $v0, .L7000C0DC -/* 00CA90 7000BE90 3C058006 */ lui $a1, %hi(controller_input_index) -/* 00CA94 7000BE94 3C018002 */ lui $at, %hi(D_800268C8) -/* 00CA98 7000BE98 24A54F30 */ addiu $a1, %lo(controller_input_index) # addiu $a1, $a1, 0x4f30 -/* 00CA9C 7000BE9C AC2068C8 */ sw $zero, %lo(D_800268C8)($at) -/* 00CAA0 7000BEA0 8CA201E8 */ lw $v0, 0x1e8($a1) -/* 00CAA4 7000BEA4 24010014 */ li $at, 20 -/* 00CAA8 7000BEA8 8CB801E4 */ lw $t8, 0x1e4($a1) -/* 00CAAC 7000BEAC 24430001 */ addiu $v1, $v0, 1 -/* 00CAB0 7000BEB0 0061001A */ div $zero, $v1, $at -/* 00CAB4 7000BEB4 00001810 */ mfhi $v1 -/* 00CAB8 7000BEB8 54780003 */ bnel $v1, $t8, .L7000BEC8 -/* 00CABC 7000BEBC 0003C880 */ sll $t9, $v1, 2 -/* 00CAC0 7000BEC0 00401825 */ move $v1, $v0 -/* 00CAC4 7000BEC4 0003C880 */ sll $t9, $v1, 2 -.L7000BEC8: -/* 00CAC8 7000BEC8 0323C823 */ subu $t9, $t9, $v1 -/* 00CACC 7000BECC 0019C8C0 */ sll $t9, $t9, 3 -/* 00CAD0 7000BED0 00B92021 */ addu $a0, $a1, $t9 -/* 00CAD4 7000BED4 0C00538D */ jal osContGetReadData -/* 00CAD8 7000BED8 AFA30040 */ sw $v1, 0x40($sp) -/* 00CADC 7000BEDC 8FA20040 */ lw $v0, 0x40($sp) -/* 00CAE0 7000BEE0 24010014 */ li $at, 20 -/* 00CAE4 7000BEE4 3C048002 */ lui $a0, %hi(D_80026920) -/* 00CAE8 7000BEE8 244B0013 */ addiu $t3, $v0, 0x13 -/* 00CAEC 7000BEEC 0161001A */ div $zero, $t3, $at -/* 00CAF0 7000BEF0 24846920 */ addiu $a0, %lo(D_80026920) # addiu $a0, $a0, 0x6920 -/* 00CAF4 7000BEF4 8C8D0000 */ lw $t5, ($a0) -/* 00CAF8 7000BEF8 00006010 */ mfhi $t4 -/* 00CAFC 7000BEFC 24010078 */ li $at, 120 -/* 00CB00 7000BF00 25AE0001 */ addiu $t6, $t5, 1 -/* 00CB04 7000BF04 01C1001A */ div $zero, $t6, $at -/* 00CB08 7000BF08 3C058006 */ lui $a1, %hi(controller_input_index) -/* 00CB0C 7000BF0C 24A54F30 */ addiu $a1, %lo(controller_input_index) # addiu $a1, $a1, 0x4f30 -/* 00CB10 7000BF10 0000C010 */ mfhi $t8 -/* 00CB14 7000BF14 ACAC01EC */ sw $t4, 0x1ec($a1) -/* 00CB18 7000BF18 AC8E0000 */ sw $t6, ($a0) -/* 00CB1C 7000BF1C 17000006 */ bnez $t8, .L7000BF38 -/* 00CB20 7000BF20 ACA201E8 */ sw $v0, 0x1e8($a1) -/* 00CB24 7000BF24 0C002E04 */ jal controller_check_for_rumble_maybe -/* 00CB28 7000BF28 00000000 */ nop -/* 00CB2C 7000BF2C 3C058006 */ lui $a1, %hi(controller_input_index) -/* 00CB30 7000BF30 24A54F30 */ addiu $a1, %lo(controller_input_index) # addiu $a1, $a1, 0x4f30 -/* 00CB34 7000BF34 8CA201E8 */ lw $v0, 0x1e8($a1) -.L7000BF38: -/* 00CB38 7000BF38 0002C880 */ sll $t9, $v0, 2 -/* 00CB3C 7000BF3C 0322C823 */ subu $t9, $t9, $v0 -/* 00CB40 7000BF40 0019C8C0 */ sll $t9, $t9, 3 -/* 00CB44 7000BF44 00B93021 */ addu $a2, $a1, $t9 -/* 00CB48 7000BF48 00002025 */ move $a0, $zero -/* 00CB4C 7000BF4C 24070006 */ li $a3, 6 -.L7000BF50: -/* 00CB50 7000BF50 00870019 */ multu $a0, $a3 -/* 00CB54 7000BF54 00001012 */ mflo $v0 -/* 00CB58 7000BF58 00C25821 */ addu $t3, $a2, $v0 -/* 00CB5C 7000BF5C 91630004 */ lbu $v1, 4($t3) -/* 00CB60 7000BF60 1460000A */ bnez $v1, .L7000BF8C -/* 00CB64 7000BF64 00000000 */ nop -/* 00CB68 7000BF68 8CAC01EC */ lw $t4, 0x1ec($a1) -/* 00CB6C 7000BF6C 000C6880 */ sll $t5, $t4, 2 -/* 00CB70 7000BF70 01AC6823 */ subu $t5, $t5, $t4 -/* 00CB74 7000BF74 000D68C0 */ sll $t5, $t5, 3 -/* 00CB78 7000BF78 00AD7021 */ addu $t6, $a1, $t5 -/* 00CB7C 7000BF7C 01C27821 */ addu $t7, $t6, $v0 -/* 00CB80 7000BF80 91F80004 */ lbu $t8, 4($t7) -/* 00CB84 7000BF84 1700000C */ bnez $t8, .L7000BFB8 -/* 00CB88 7000BF88 00000000 */ nop -.L7000BF8C: -/* 00CB8C 7000BF8C 1060000E */ beqz $v1, .L7000BFC8 -/* 00CB90 7000BF90 24840001 */ addiu $a0, $a0, 1 -/* 00CB94 7000BF94 8CB901EC */ lw $t9, 0x1ec($a1) -/* 00CB98 7000BF98 00195880 */ sll $t3, $t9, 2 -/* 00CB9C 7000BF9C 01795823 */ subu $t3, $t3, $t9 -/* 00CBA0 7000BFA0 000B58C0 */ sll $t3, $t3, 3 -/* 00CBA4 7000BFA4 00AB6021 */ addu $t4, $a1, $t3 -/* 00CBA8 7000BFA8 01826821 */ addu $t5, $t4, $v0 -/* 00CBAC 7000BFAC 91AE0004 */ lbu $t6, 4($t5) -/* 00CBB0 7000BFB0 55C00006 */ bnezl $t6, .L7000BFCC -/* 00CBB4 7000BFB4 00047E00 */ sll $t7, $a0, 0x18 -.L7000BFB8: -/* 00CBB8 7000BFB8 0C002E04 */ jal controller_check_for_rumble_maybe -/* 00CBBC 7000BFBC 00000000 */ nop -/* 00CBC0 7000BFC0 10000006 */ b .L7000BFDC -/* 00CBC4 7000BFC4 00000000 */ nop -.L7000BFC8: -/* 00CBC8 7000BFC8 00047E00 */ sll $t7, $a0, 0x18 -.L7000BFCC: -/* 00CBCC 7000BFCC 000F2603 */ sra $a0, $t7, 0x18 -/* 00CBD0 7000BFD0 28810004 */ slti $at, $a0, 4 -/* 00CBD4 7000BFD4 1420FFDE */ bnez $at, .L7000BF50 -/* 00CBD8 7000BFD8 00000000 */ nop -.L7000BFDC: -/* 00CBDC 7000BFDC 0C002E9F */ jal controller_rumble_related -/* 00CBE0 7000BFE0 00000000 */ nop -/* 00CBE4 7000BFE4 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00CBE8 7000BFE8 0C00535C */ jal osContStartReadData -/* 00CBEC 7000BFEC 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00CBF0 7000BFF0 3C038002 */ lui $v1, %hi(D_80026970) -/* 00CBF4 7000BFF4 8C636970 */ lw $v1, %lo(D_80026970)($v1) -/* 00CBF8 7000BFF8 24190001 */ li $t9, 1 -/* 00CBFC 7000BFFC 3C018002 */ lui $at, %hi(D_800268C8) -/* 00CC00 7000C000 AC3968C8 */ sw $t9, %lo(D_800268C8)($at) -/* 00CC04 7000C004 3C018002 */ lui $at, %hi(D_80026970) -/* 00CC08 7000C008 24630001 */ addiu $v1, $v1, 1 -/* 00CC0C 7000C00C AC236970 */ sw $v1, %lo(D_80026970)($at) -/* 00CC10 7000C010 2861003C */ slti $at, $v1, 0x3c -/* 00CC14 7000C014 14200031 */ bnez $at, .L7000C0DC -/* 00CC18 7000C018 3C098002 */ lui $t1, %hi(pl1_controller_failure_lr) -/* 00CC1C 7000C01C 3C048002 */ lui $a0, %hi(pl1_controller_failure_ud) -/* 00CC20 7000C020 3C058002 */ lui $a1, %hi(pl1_controller_failure_held) -/* 00CC24 7000C024 3C038002 */ lui $v1, %hi(pl1_controller_failure_pressed) -/* 00CC28 7000C028 3C0A8002 */ lui $t2, %hi(D_80026970) -/* 00CC2C 7000C02C 254A6970 */ addiu $t2, %lo(D_80026970) # addiu $t2, $t2, 0x6970 -/* 00CC30 7000C030 24636960 */ addiu $v1, %lo(pl1_controller_failure_pressed) # addiu $v1, $v1, 0x6960 -/* 00CC34 7000C034 24A56950 */ addiu $a1, %lo(pl1_controller_failure_held) # addiu $a1, $a1, 0x6950 -/* 00CC38 7000C038 24846940 */ addiu $a0, %lo(pl1_controller_failure_ud) # addiu $a0, $a0, 0x6940 -/* 00CC3C 7000C03C 25296930 */ addiu $t1, %lo(pl1_controller_failure_lr) # addiu $t1, $t1, 0x6930 -.L7000C040: -/* 00CC40 7000C040 8D220000 */ lw $v0, ($t1) -/* 00CC44 7000C044 5440000B */ bnezl $v0, .L7000C074 -/* 00CC48 7000C048 AD200000 */ sw $zero, ($t1) -/* 00CC4C 7000C04C 8C8B0000 */ lw $t3, ($a0) -/* 00CC50 7000C050 55600008 */ bnezl $t3, .L7000C074 -/* 00CC54 7000C054 AD200000 */ sw $zero, ($t1) -/* 00CC58 7000C058 8CAC0000 */ lw $t4, ($a1) -/* 00CC5C 7000C05C 55800005 */ bnezl $t4, .L7000C074 -/* 00CC60 7000C060 AD200000 */ sw $zero, ($t1) -/* 00CC64 7000C064 8C6D0000 */ lw $t5, ($v1) -/* 00CC68 7000C068 51A00006 */ beql $t5, $zero, .L7000C084 -/* 00CC6C 7000C06C 8D220004 */ lw $v0, 4($t1) -/* 00CC70 7000C070 AD200000 */ sw $zero, ($t1) -.L7000C074: -/* 00CC74 7000C074 AC800000 */ sw $zero, ($a0) -/* 00CC78 7000C078 ACA00000 */ sw $zero, ($a1) -/* 00CC7C 7000C07C AC600000 */ sw $zero, ($v1) -/* 00CC80 7000C080 8D220004 */ lw $v0, 4($t1) -.L7000C084: -/* 00CC84 7000C084 5440000B */ bnezl $v0, .L7000C0B4 -/* 00CC88 7000C088 AD200004 */ sw $zero, 4($t1) -/* 00CC8C 7000C08C 8C8E0004 */ lw $t6, 4($a0) -/* 00CC90 7000C090 55C00008 */ bnezl $t6, .L7000C0B4 -/* 00CC94 7000C094 AD200004 */ sw $zero, 4($t1) -/* 00CC98 7000C098 8CAF0004 */ lw $t7, 4($a1) -/* 00CC9C 7000C09C 55E00005 */ bnezl $t7, .L7000C0B4 -/* 00CCA0 7000C0A0 AD200004 */ sw $zero, 4($t1) -/* 00CCA4 7000C0A4 8C780004 */ lw $t8, 4($v1) -/* 00CCA8 7000C0A8 53000006 */ beql $t8, $zero, .L7000C0C4 -/* 00CCAC 7000C0AC 24630008 */ addiu $v1, $v1, 8 -/* 00CCB0 7000C0B0 AD200004 */ sw $zero, 4($t1) -.L7000C0B4: -/* 00CCB4 7000C0B4 AC800004 */ sw $zero, 4($a0) -/* 00CCB8 7000C0B8 ACA00004 */ sw $zero, 4($a1) -/* 00CCBC 7000C0BC AC600004 */ sw $zero, 4($v1) -/* 00CCC0 7000C0C0 24630008 */ addiu $v1, $v1, 8 -.L7000C0C4: -/* 00CCC4 7000C0C4 25290008 */ addiu $t1, $t1, 8 -/* 00CCC8 7000C0C8 24840008 */ addiu $a0, $a0, 8 -/* 00CCCC 7000C0CC 146AFFDC */ bne $v1, $t2, .L7000C040 -/* 00CCD0 7000C0D0 24A50008 */ addiu $a1, $a1, 8 -/* 00CCD4 7000C0D4 3C018002 */ lui $at, %hi(D_80026970) -/* 00CCD8 7000C0D8 AC206970 */ sw $zero, %lo(D_80026970)($at) -.L7000C0DC: -/* 00CCDC 7000C0DC 8FBF0014 */ lw $ra, 0x14($sp) -.L7000C0E0: -/* 00CCE0 7000C0E0 27BD0050 */ addiu $sp, $sp, 0x50 -/* 00CCE4 7000C0E4 03E00008 */ jr $ra -/* 00CCE8 7000C0E8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -? get_cur_controller_horz_stick_pos(s32 arg0) -{ - s32 temp_t7; - void *temp_v1; - - temp_t7 = (s32) (arg0 << 0x18) >> 0x18; - if (ptr_current_point_in_controller_input_index->unk1F8 < 0) - { - if ((((s32) num_controller_plugged_in_flags >> temp_t7) & 1) == 0) - { - temp_v1 = (temp_t7 * 4) + &pl1_controller_failure_lr; - *temp_v1 = (s32) (*temp_v1 + 1); - return 0; - } - } - return ((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E0 * 0x18)) + (temp_t7 * 6))->unk2; -} -#else -GLOBAL_ASM( -.text -glabel get_cur_controller_horz_stick_pos -/* 00CCEC 7000C0EC 3C038002 */ lui $v1, %hi(ptr_current_point_in_controller_input_index) -/* 00CCF0 7000C0F0 8C6368C4 */ lw $v1, %lo(ptr_current_point_in_controller_input_index)($v1) -/* 00CCF4 7000C0F4 AFA40000 */ sw $a0, ($sp) -/* 00CCF8 7000C0F8 00047600 */ sll $t6, $a0, 0x18 -/* 00CCFC 7000C0FC 8C7801F8 */ lw $t8, 0x1f8($v1) -/* 00CD00 7000C100 000E7E03 */ sra $t7, $t6, 0x18 -/* 00CD04 7000C104 01E02025 */ move $a0, $t7 -/* 00CD08 7000C108 0701000E */ bgez $t8, .L7000C144 -/* 00CD0C 7000C10C 3C198002 */ lui $t9, %hi(num_controller_plugged_in_flags) -/* 00CD10 7000C110 933968D0 */ lbu $t9, %lo(num_controller_plugged_in_flags)($t9) -/* 00CD14 7000C114 3C0B8002 */ lui $t3, %hi(pl1_controller_failure_lr) -/* 00CD18 7000C118 256B6930 */ addiu $t3, %lo(pl1_controller_failure_lr) # addiu $t3, $t3, 0x6930 -/* 00CD1C 7000C11C 01F94007 */ srav $t0, $t9, $t7 -/* 00CD20 7000C120 31090001 */ andi $t1, $t0, 1 -/* 00CD24 7000C124 15200007 */ bnez $t1, .L7000C144 -/* 00CD28 7000C128 000F5080 */ sll $t2, $t7, 2 -/* 00CD2C 7000C12C 014B1821 */ addu $v1, $t2, $t3 -/* 00CD30 7000C130 8C6C0000 */ lw $t4, ($v1) -/* 00CD34 7000C134 00001025 */ move $v0, $zero -/* 00CD38 7000C138 258D0001 */ addiu $t5, $t4, 1 -/* 00CD3C 7000C13C 03E00008 */ jr $ra -/* 00CD40 7000C140 AC6D0000 */ sw $t5, ($v1) - -.L7000C144: -/* 00CD44 7000C144 8C6E01E0 */ lw $t6, 0x1e0($v1) -/* 00CD48 7000C148 0004C880 */ sll $t9, $a0, 2 -/* 00CD4C 7000C14C 0324C823 */ subu $t9, $t9, $a0 -/* 00CD50 7000C150 000E7880 */ sll $t7, $t6, 2 -/* 00CD54 7000C154 01EE7823 */ subu $t7, $t7, $t6 -/* 00CD58 7000C158 000F78C0 */ sll $t7, $t7, 3 -/* 00CD5C 7000C15C 006FC021 */ addu $t8, $v1, $t7 -/* 00CD60 7000C160 0019C840 */ sll $t9, $t9, 1 -/* 00CD64 7000C164 03194021 */ addu $t0, $t8, $t9 -/* 00CD68 7000C168 81020002 */ lb $v0, 2($t0) -/* 00CD6C 7000C16C 03E00008 */ jr $ra -/* 00CD70 7000C170 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void controller_7000C174(s32 arg0) { - s32 temp_t7; - void *temp_v1; - - // Node 0 - temp_t7 = ((s32) (arg0 << 0x18) >> 0x18); - if (ptr_current_point_in_controller_input_index->unk1F8 < 0) - { - // Node 1 - if ((((s32) num_controller_plugged_in_flags >> temp_t7) & 1) == 0) - { - // Node 2 - temp_v1 = ((temp_t7 * 4) + &pl1_controller_failure_lr); - *temp_v1 = (s32) (*temp_v1 + 1); - return; - // (possible return value: ((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E4 * 0x18)) + (temp_t7 * 6))->unk2) - } - } - // (possible return value: ((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E4 * 0x18)) + (temp_t7 * 6))->unk2) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000C174 -/* 00CD74 7000C174 3C038002 */ lui $v1, %hi(ptr_current_point_in_controller_input_index) -/* 00CD78 7000C178 8C6368C4 */ lw $v1, %lo(ptr_current_point_in_controller_input_index)($v1) -/* 00CD7C 7000C17C AFA40000 */ sw $a0, ($sp) -/* 00CD80 7000C180 00047600 */ sll $t6, $a0, 0x18 -/* 00CD84 7000C184 8C7801F8 */ lw $t8, 0x1f8($v1) -/* 00CD88 7000C188 000E7E03 */ sra $t7, $t6, 0x18 -/* 00CD8C 7000C18C 01E02025 */ move $a0, $t7 -/* 00CD90 7000C190 0701000E */ bgez $t8, .L7000C1CC -/* 00CD94 7000C194 3C198002 */ lui $t9, %hi(num_controller_plugged_in_flags) -/* 00CD98 7000C198 933968D0 */ lbu $t9, %lo(num_controller_plugged_in_flags)($t9) -/* 00CD9C 7000C19C 3C0B8002 */ lui $t3, %hi(pl1_controller_failure_lr) -/* 00CDA0 7000C1A0 256B6930 */ addiu $t3, %lo(pl1_controller_failure_lr) # addiu $t3, $t3, 0x6930 -/* 00CDA4 7000C1A4 01F94007 */ srav $t0, $t9, $t7 -/* 00CDA8 7000C1A8 31090001 */ andi $t1, $t0, 1 -/* 00CDAC 7000C1AC 15200007 */ bnez $t1, .L7000C1CC -/* 00CDB0 7000C1B0 000F5080 */ sll $t2, $t7, 2 -/* 00CDB4 7000C1B4 014B1821 */ addu $v1, $t2, $t3 -/* 00CDB8 7000C1B8 8C6C0000 */ lw $t4, ($v1) -/* 00CDBC 7000C1BC 00001025 */ move $v0, $zero -/* 00CDC0 7000C1C0 258D0001 */ addiu $t5, $t4, 1 -/* 00CDC4 7000C1C4 03E00008 */ jr $ra -/* 00CDC8 7000C1C8 AC6D0000 */ sw $t5, ($v1) - -.L7000C1CC: -/* 00CDCC 7000C1CC 8C6E01E4 */ lw $t6, 0x1e4($v1) -/* 00CDD0 7000C1D0 0004C880 */ sll $t9, $a0, 2 -/* 00CDD4 7000C1D4 0324C823 */ subu $t9, $t9, $a0 -/* 00CDD8 7000C1D8 000E7880 */ sll $t7, $t6, 2 -/* 00CDDC 7000C1DC 01EE7823 */ subu $t7, $t7, $t6 -/* 00CDE0 7000C1E0 000F78C0 */ sll $t7, $t7, 3 -/* 00CDE4 7000C1E4 006FC021 */ addu $t8, $v1, $t7 -/* 00CDE8 7000C1E8 0019C840 */ sll $t9, $t9, 1 -/* 00CDEC 7000C1EC 03194021 */ addu $t0, $t8, $t9 -/* 00CDF0 7000C1F0 81020002 */ lb $v0, 2($t0) -/* 00CDF4 7000C1F4 03E00008 */ jr $ra -/* 00CDF8 7000C1F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_cur_controller_vert_stick_pos(s32 arg0) { - s32 temp_t7; - void *temp_v1; - - // Node 0 - temp_t7 = ((s32) (arg0 << 0x18) >> 0x18); - if (ptr_current_point_in_controller_input_index->unk1F8 < 0) - { - // Node 1 - if ((((s32) num_controller_plugged_in_flags >> temp_t7) & 1) == 0) - { - // Node 2 - temp_v1 = ((temp_t7 * 4) + &pl1_controller_failure_ud); - *temp_v1 = (s32) (*temp_v1 + 1); - return; - // (possible return value: ((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E0 * 0x18)) + (temp_t7 * 6))->unk3) - } - } - // (possible return value: ((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E0 * 0x18)) + (temp_t7 * 6))->unk3) -} -#else -GLOBAL_ASM( -.text -glabel get_cur_controller_vert_stick_pos -/* 00CDFC 7000C1FC 3C038002 */ lui $v1, %hi(ptr_current_point_in_controller_input_index) -/* 00CE00 7000C200 8C6368C4 */ lw $v1, %lo(ptr_current_point_in_controller_input_index)($v1) -/* 00CE04 7000C204 AFA40000 */ sw $a0, ($sp) -/* 00CE08 7000C208 00047600 */ sll $t6, $a0, 0x18 -/* 00CE0C 7000C20C 8C7801F8 */ lw $t8, 0x1f8($v1) -/* 00CE10 7000C210 000E7E03 */ sra $t7, $t6, 0x18 -/* 00CE14 7000C214 01E02025 */ move $a0, $t7 -/* 00CE18 7000C218 0701000E */ bgez $t8, .L7000C254 -/* 00CE1C 7000C21C 3C198002 */ lui $t9, %hi(num_controller_plugged_in_flags) -/* 00CE20 7000C220 933968D0 */ lbu $t9, %lo(num_controller_plugged_in_flags)($t9) -/* 00CE24 7000C224 3C0B8002 */ lui $t3, %hi(pl1_controller_failure_ud) -/* 00CE28 7000C228 256B6940 */ addiu $t3, %lo(pl1_controller_failure_ud) # addiu $t3, $t3, 0x6940 -/* 00CE2C 7000C22C 01F94007 */ srav $t0, $t9, $t7 -/* 00CE30 7000C230 31090001 */ andi $t1, $t0, 1 -/* 00CE34 7000C234 15200007 */ bnez $t1, .L7000C254 -/* 00CE38 7000C238 000F5080 */ sll $t2, $t7, 2 -/* 00CE3C 7000C23C 014B1821 */ addu $v1, $t2, $t3 -/* 00CE40 7000C240 8C6C0000 */ lw $t4, ($v1) -/* 00CE44 7000C244 00001025 */ move $v0, $zero -/* 00CE48 7000C248 258D0001 */ addiu $t5, $t4, 1 -/* 00CE4C 7000C24C 03E00008 */ jr $ra -/* 00CE50 7000C250 AC6D0000 */ sw $t5, ($v1) - -.L7000C254: -/* 00CE54 7000C254 8C6E01E0 */ lw $t6, 0x1e0($v1) -/* 00CE58 7000C258 0004C880 */ sll $t9, $a0, 2 -/* 00CE5C 7000C25C 0324C823 */ subu $t9, $t9, $a0 -/* 00CE60 7000C260 000E7880 */ sll $t7, $t6, 2 -/* 00CE64 7000C264 01EE7823 */ subu $t7, $t7, $t6 -/* 00CE68 7000C268 000F78C0 */ sll $t7, $t7, 3 -/* 00CE6C 7000C26C 006FC021 */ addu $t8, $v1, $t7 -/* 00CE70 7000C270 0019C840 */ sll $t9, $t9, 1 -/* 00CE74 7000C274 03194021 */ addu $t0, $t8, $t9 -/* 00CE78 7000C278 81020003 */ lb $v0, 3($t0) -/* 00CE7C 7000C27C 03E00008 */ jr $ra -/* 00CE80 7000C280 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void controller_7000C284(s32 arg0) { - s32 temp_t7; - void *temp_v1; - - // Node 0 - temp_t7 = ((s32) (arg0 << 0x18) >> 0x18); - if (ptr_current_point_in_controller_input_index->unk1F8 < 0) - { - // Node 1 - if ((((s32) num_controller_plugged_in_flags >> temp_t7) & 1) == 0) - { - // Node 2 - temp_v1 = ((temp_t7 * 4) + &pl1_controller_failure_ud); - *temp_v1 = (s32) (*temp_v1 + 1); - return; - // (possible return value: ((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E4 * 0x18)) + (temp_t7 * 6))->unk3) - } - } - // (possible return value: ((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E4 * 0x18)) + (temp_t7 * 6))->unk3) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000C284 -/* 00CE84 7000C284 3C038002 */ lui $v1, %hi(ptr_current_point_in_controller_input_index) -/* 00CE88 7000C288 8C6368C4 */ lw $v1, %lo(ptr_current_point_in_controller_input_index)($v1) -/* 00CE8C 7000C28C AFA40000 */ sw $a0, ($sp) -/* 00CE90 7000C290 00047600 */ sll $t6, $a0, 0x18 -/* 00CE94 7000C294 8C7801F8 */ lw $t8, 0x1f8($v1) -/* 00CE98 7000C298 000E7E03 */ sra $t7, $t6, 0x18 -/* 00CE9C 7000C29C 01E02025 */ move $a0, $t7 -/* 00CEA0 7000C2A0 0701000E */ bgez $t8, .L7000C2DC -/* 00CEA4 7000C2A4 3C198002 */ lui $t9, %hi(num_controller_plugged_in_flags) -/* 00CEA8 7000C2A8 933968D0 */ lbu $t9, %lo(num_controller_plugged_in_flags)($t9) -/* 00CEAC 7000C2AC 3C0B8002 */ lui $t3, %hi(pl1_controller_failure_ud) -/* 00CEB0 7000C2B0 256B6940 */ addiu $t3, %lo(pl1_controller_failure_ud) # addiu $t3, $t3, 0x6940 -/* 00CEB4 7000C2B4 01F94007 */ srav $t0, $t9, $t7 -/* 00CEB8 7000C2B8 31090001 */ andi $t1, $t0, 1 -/* 00CEBC 7000C2BC 15200007 */ bnez $t1, .L7000C2DC -/* 00CEC0 7000C2C0 000F5080 */ sll $t2, $t7, 2 -/* 00CEC4 7000C2C4 014B1821 */ addu $v1, $t2, $t3 -/* 00CEC8 7000C2C8 8C6C0000 */ lw $t4, ($v1) -/* 00CECC 7000C2CC 00001025 */ move $v0, $zero -/* 00CED0 7000C2D0 258D0001 */ addiu $t5, $t4, 1 -/* 00CED4 7000C2D4 03E00008 */ jr $ra -/* 00CED8 7000C2D8 AC6D0000 */ sw $t5, ($v1) - -.L7000C2DC: -/* 00CEDC 7000C2DC 8C6E01E4 */ lw $t6, 0x1e4($v1) -/* 00CEE0 7000C2E0 0004C880 */ sll $t9, $a0, 2 -/* 00CEE4 7000C2E4 0324C823 */ subu $t9, $t9, $a0 -/* 00CEE8 7000C2E8 000E7880 */ sll $t7, $t6, 2 -/* 00CEEC 7000C2EC 01EE7823 */ subu $t7, $t7, $t6 -/* 00CEF0 7000C2F0 000F78C0 */ sll $t7, $t7, 3 -/* 00CEF4 7000C2F4 006FC021 */ addu $t8, $v1, $t7 -/* 00CEF8 7000C2F8 0019C840 */ sll $t9, $t9, 1 -/* 00CEFC 7000C2FC 03194021 */ addu $t0, $t8, $t9 -/* 00CF00 7000C300 81020003 */ lb $v0, 3($t0) -/* 00CF04 7000C304 03E00008 */ jr $ra -/* 00CF08 7000C308 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 get_controller_buttons_held(s32 arg0, s32 arg1) { - s32 temp_t7; - void *temp_v1; - - // Node 0 - temp_t7 = ((s32) (arg0 << 0x18) >> 0x18); - if (ptr_current_point_in_controller_input_index->unk1F8 < 0) - { - // Node 1 - if ((((s32) num_controller_plugged_in_flags >> temp_t7) & 1) == 0) - { - // Node 2 - temp_v1 = ((temp_t7 * 4) + &pl1_controller_failure_held); - *temp_v1 = (s32) (*temp_v1 + 1); - return; - // (possible return value: ((*((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E0 * 0x18)) + (temp_t7 * 6)) & (arg1 & 0xffff)) & 0xffff)) - } - } - // (possible return value: ((*((ptr_current_point_in_controller_input_index + (ptr_current_point_in_controller_input_index->unk1E0 * 0x18)) + (temp_t7 * 6)) & (arg1 & 0xffff)) & 0xffff)) -} -#else -GLOBAL_ASM( -.text -glabel get_controller_buttons_held -/* 00CF0C 7000C30C 3C038002 */ lui $v1, %hi(ptr_current_point_in_controller_input_index) -/* 00CF10 7000C310 8C6368C4 */ lw $v1, %lo(ptr_current_point_in_controller_input_index)($v1) -/* 00CF14 7000C314 AFA40000 */ sw $a0, ($sp) -/* 00CF18 7000C318 AFA50004 */ sw $a1, 4($sp) -/* 00CF1C 7000C31C 8C7901F8 */ lw $t9, 0x1f8($v1) -/* 00CF20 7000C320 00047600 */ sll $t6, $a0, 0x18 -/* 00CF24 7000C324 000E7E03 */ sra $t7, $t6, 0x18 -/* 00CF28 7000C328 30B8FFFF */ andi $t8, $a1, 0xffff -/* 00CF2C 7000C32C 03002825 */ move $a1, $t8 -/* 00CF30 7000C330 0721000F */ bgez $t9, .L7000C370 -/* 00CF34 7000C334 01E02025 */ move $a0, $t7 -/* 00CF38 7000C338 3C088002 */ lui $t0, %hi(num_controller_plugged_in_flags) -/* 00CF3C 7000C33C 910868D0 */ lbu $t0, %lo(num_controller_plugged_in_flags)($t0) -/* 00CF40 7000C340 3C0C8002 */ lui $t4, %hi(pl1_controller_failure_held) -/* 00CF44 7000C344 258C6950 */ addiu $t4, %lo(pl1_controller_failure_held) # addiu $t4, $t4, 0x6950 -/* 00CF48 7000C348 01E84807 */ srav $t1, $t0, $t7 -/* 00CF4C 7000C34C 312A0001 */ andi $t2, $t1, 1 -/* 00CF50 7000C350 15400007 */ bnez $t2, .L7000C370 -/* 00CF54 7000C354 000F5880 */ sll $t3, $t7, 2 -/* 00CF58 7000C358 016C1821 */ addu $v1, $t3, $t4 -/* 00CF5C 7000C35C 8C6D0000 */ lw $t5, ($v1) -/* 00CF60 7000C360 00001025 */ move $v0, $zero -/* 00CF64 7000C364 25AE0001 */ addiu $t6, $t5, 1 -/* 00CF68 7000C368 03E00008 */ jr $ra -/* 00CF6C 7000C36C AC6E0000 */ sw $t6, ($v1) - -.L7000C370: -/* 00CF70 7000C370 8C6F01E0 */ lw $t7, 0x1e0($v1) -/* 00CF74 7000C374 00044080 */ sll $t0, $a0, 2 -/* 00CF78 7000C378 01044023 */ subu $t0, $t0, $a0 -/* 00CF7C 7000C37C 000FC080 */ sll $t8, $t7, 2 -/* 00CF80 7000C380 030FC023 */ subu $t8, $t8, $t7 -/* 00CF84 7000C384 0018C0C0 */ sll $t8, $t8, 3 -/* 00CF88 7000C388 0078C821 */ addu $t9, $v1, $t8 -/* 00CF8C 7000C38C 00084040 */ sll $t0, $t0, 1 -/* 00CF90 7000C390 03284821 */ addu $t1, $t9, $t0 -/* 00CF94 7000C394 952A0000 */ lhu $t2, ($t1) -/* 00CF98 7000C398 01451024 */ and $v0, $t2, $a1 -/* 00CF9C 7000C39C 304BFFFF */ andi $t3, $v0, 0xffff -/* 00CFA0 7000C3A0 01601025 */ move $v0, $t3 -/* 00CFA4 7000C3A4 03E00008 */ jr $ra -/* 00CFA8 7000C3A8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 get_controller_buttons_pressed(s32 arg0, s32 arg1) { - s32 temp_t7; - void *temp_v1; - - // Node 0 - temp_t7 = ((s32) (arg0 << 0x18) >> 0x18); - if (ptr_current_point_in_controller_input_index->unk1F8 < 0) - { - // Node 1 - if ((((s32) num_controller_plugged_in_flags >> temp_t7) & 1) == 0) - { - // Node 2 - temp_v1 = ((temp_t7 * 4) + &pl1_controller_failure_pressed); - *temp_v1 = (s32) (*temp_v1 + 1); - return; - // (possible return value: (((ptr_current_point_in_controller_input_index + (temp_t7 * 2))->unk1F0 & (arg1 & 0xffff)) & 0xffff)) - } - } - // (possible return value: (((ptr_current_point_in_controller_input_index + (temp_t7 * 2))->unk1F0 & (arg1 & 0xffff)) & 0xffff)) -} -#else -GLOBAL_ASM( -.text -glabel get_controller_buttons_pressed -/* 00CFAC 7000C3AC 3C038002 */ lui $v1, %hi(ptr_current_point_in_controller_input_index) -/* 00CFB0 7000C3B0 8C6368C4 */ lw $v1, %lo(ptr_current_point_in_controller_input_index)($v1) -/* 00CFB4 7000C3B4 AFA40000 */ sw $a0, ($sp) -/* 00CFB8 7000C3B8 AFA50004 */ sw $a1, 4($sp) -/* 00CFBC 7000C3BC 8C7901F8 */ lw $t9, 0x1f8($v1) -/* 00CFC0 7000C3C0 00047600 */ sll $t6, $a0, 0x18 -/* 00CFC4 7000C3C4 000E7E03 */ sra $t7, $t6, 0x18 -/* 00CFC8 7000C3C8 30B8FFFF */ andi $t8, $a1, 0xffff -/* 00CFCC 7000C3CC 03002825 */ move $a1, $t8 -/* 00CFD0 7000C3D0 0721000F */ bgez $t9, .L7000C410 -/* 00CFD4 7000C3D4 01E02025 */ move $a0, $t7 -/* 00CFD8 7000C3D8 3C088002 */ lui $t0, %hi(num_controller_plugged_in_flags) -/* 00CFDC 7000C3DC 910868D0 */ lbu $t0, %lo(num_controller_plugged_in_flags)($t0) -/* 00CFE0 7000C3E0 3C0C8002 */ lui $t4, %hi(pl1_controller_failure_pressed) -/* 00CFE4 7000C3E4 258C6960 */ addiu $t4, %lo(pl1_controller_failure_pressed) # addiu $t4, $t4, 0x6960 -/* 00CFE8 7000C3E8 01E84807 */ srav $t1, $t0, $t7 -/* 00CFEC 7000C3EC 312A0001 */ andi $t2, $t1, 1 -/* 00CFF0 7000C3F0 15400007 */ bnez $t2, .L7000C410 -/* 00CFF4 7000C3F4 000F5880 */ sll $t3, $t7, 2 -/* 00CFF8 7000C3F8 016C1821 */ addu $v1, $t3, $t4 -/* 00CFFC 7000C3FC 8C6D0000 */ lw $t5, ($v1) -/* 00D000 7000C400 00001025 */ move $v0, $zero -/* 00D004 7000C404 25AE0001 */ addiu $t6, $t5, 1 -/* 00D008 7000C408 03E00008 */ jr $ra -/* 00D00C 7000C40C AC6E0000 */ sw $t6, ($v1) - -.L7000C410: -/* 00D010 7000C410 00047840 */ sll $t7, $a0, 1 -/* 00D014 7000C414 006FC021 */ addu $t8, $v1, $t7 -/* 00D018 7000C418 971901F0 */ lhu $t9, 0x1f0($t8) -/* 00D01C 7000C41C 03251024 */ and $v0, $t9, $a1 -/* 00D020 7000C420 3048FFFF */ andi $t0, $v0, 0xffff -/* 00D024 7000C424 01001025 */ move $v0, $t0 -/* 00D028 7000C428 03E00008 */ jr $ra -/* 00D02C 7000C42C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 controller_7000C430(s32 arg0, s32 arg1) { - // Node 0 - // Node 1 - (arg0 + 1)->unk-1 = (s8) (((0 < (((s32) (arg1 & 0xffff) >> 0xf) & 1)) * 0x11) + 0x20); - if ((0xf + -1) >= 0) - { - goto loop_1; - } - // (possible return value: (0xf + -1)) -} - -#else -GLOBAL_ASM( -.text -glabel controller_7000C430 -/* 00D030 7000C430 AFA50004 */ sw $a1, 4($sp) -/* 00D034 7000C434 30A3FFFF */ andi $v1, $a1, 0xffff -/* 00D038 7000C438 24050011 */ li $a1, 17 -/* 00D03C 7000C43C 2402000F */ li $v0, 15 -.L7000C440: -/* 00D040 7000C440 00437807 */ srav $t7, $v1, $v0 -/* 00D044 7000C444 31F80001 */ andi $t8, $t7, 1 -/* 00D048 7000C448 0018C82A */ slt $t9, $zero, $t8 -/* 00D04C 7000C44C 03250019 */ multu $t9, $a1 -/* 00D050 7000C450 2442FFFF */ addiu $v0, $v0, -1 -/* 00D054 7000C454 24840001 */ addiu $a0, $a0, 1 -/* 00D058 7000C458 00004012 */ mflo $t0 -/* 00D05C 7000C45C 25090020 */ addiu $t1, $t0, 0x20 -/* 00D060 7000C460 0441FFF7 */ bgez $v0, .L7000C440 -/* 00D064 7000C464 A089FFFF */ sb $t1, -1($a0) -/* 00D068 7000C468 03E00008 */ jr $ra -/* 00D06C 7000C46C 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void controller_7000C470(void) { - // Node 0 - if (get_attached_controller_count() > 0) - { - loop_1: - // Node 1 - if ((0 + 1) < get_attached_controller_count()) - { - goto loop_1; - } - } - // (possible return value: get_attached_controller_count()) -} - -#else -GLOBAL_ASM( -.text -glabel controller_7000C470 -/* 00D070 7000C470 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00D074 7000C474 AFBF001C */ sw $ra, 0x1c($sp) -/* 00D078 7000C478 AFB00018 */ sw $s0, 0x18($sp) -/* 00D07C 7000C47C 0C002E7E */ jal get_attached_controller_count -/* 00D080 7000C480 00008025 */ move $s0, $zero -/* 00D084 7000C484 58400007 */ blezl $v0, .L7000C4A4 -/* 00D088 7000C488 8FBF001C */ lw $ra, 0x1c($sp) -.L7000C48C: -/* 00D08C 7000C48C 0C002E7E */ jal get_attached_controller_count -/* 00D090 7000C490 26100001 */ addiu $s0, $s0, 1 -/* 00D094 7000C494 0202082A */ slt $at, $s0, $v0 -/* 00D098 7000C498 1420FFFC */ bnez $at, .L7000C48C -/* 00D09C 7000C49C 00000000 */ nop -/* 00D0A0 7000C4A0 8FBF001C */ lw $ra, 0x1c($sp) -.L7000C4A4: -/* 00D0A4 7000C4A4 8FB00018 */ lw $s0, 0x18($sp) -/* 00D0A8 7000C4A8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00D0AC 7000C4AC 03E00008 */ jr $ra -/* 00D0B0 7000C4B0 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 get_controller_3dstick_L_R(s32 arg0, s32 arg1, ? arg2, s32 arg7, s32 arg8) { - s32 temp_a0; - - // Node 0 - temp_a0 = (get_cur_controller_horz_stick_pos(((s32) (arg0 << 0x18) >> 0x18)) + 0x3c); - if (temp_a0 >= 0x79) - { - // Node 1 - } - // Node 2 - if (temp_a0 < 0) - { - // Node 3 - return; - // (possible return value: (((s32) (temp_a0 * (arg8 - arg7)) / 0x78) + arg7)) - } - // (possible return value: (((s32) (temp_a0 * (arg8 - arg7)) / 0x78) + arg7)) -} -#else -GLOBAL_ASM( -.text -glabel get_controller_3dstick_L_R -/* 00D0B4 7000C4B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00D0B8 7000C4B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D0BC 7000C4BC AFA40018 */ sw $a0, 0x18($sp) -/* 00D0C0 7000C4C0 00047600 */ sll $t6, $a0, 0x18 -/* 00D0C4 7000C4C4 000E2603 */ sra $a0, $t6, 0x18 -/* 00D0C8 7000C4C8 AFA5001C */ sw $a1, 0x1c($sp) -/* 00D0CC 7000C4CC 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 00D0D0 7000C4D0 AFA60020 */ sw $a2, 0x20($sp) -/* 00D0D4 7000C4D4 2444003C */ addiu $a0, $v0, 0x3c -/* 00D0D8 7000C4D8 28810079 */ slti $at, $a0, 0x79 -/* 00D0DC 7000C4DC 14200002 */ bnez $at, .L7000C4E8 -/* 00D0E0 7000C4E0 8FA5001C */ lw $a1, 0x1c($sp) -/* 00D0E4 7000C4E4 24040078 */ li $a0, 120 -.L7000C4E8: -/* 00D0E8 7000C4E8 04810002 */ bgez $a0, .L7000C4F4 -/* 00D0EC 7000C4EC 8FB80020 */ lw $t8, 0x20($sp) -/* 00D0F0 7000C4F0 00002025 */ move $a0, $zero -.L7000C4F4: -/* 00D0F4 7000C4F4 0305C823 */ subu $t9, $t8, $a1 -/* 00D0F8 7000C4F8 00990019 */ multu $a0, $t9 -/* 00D0FC 7000C4FC 24010078 */ li $at, 120 -/* 00D100 7000C500 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D104 7000C504 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00D108 7000C508 00004012 */ mflo $t0 -/* 00D10C 7000C50C 00000000 */ nop -/* 00D110 7000C510 00000000 */ nop -/* 00D114 7000C514 0101001A */ div $zero, $t0, $at -/* 00D118 7000C518 00004812 */ mflo $t1 -/* 00D11C 7000C51C 01251021 */ addu $v0, $t1, $a1 -/* 00D120 7000C520 03E00008 */ jr $ra -/* 00D124 7000C524 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 get_controller_3dstick_U_D(s32 arg0, s32 arg1, ? arg2, s32 arg7, s32 arg8) { - s32 temp_a0; - - // Node 0 - temp_a0 = (get_cur_controller_vert_stick_pos(((s32) (arg0 << 0x18) >> 0x18)) + 0x3c); - if (temp_a0 >= 0x79) - { - // Node 1 - } - // Node 2 - if (temp_a0 < 0) - { - // Node 3 - return; - // (possible return value: (((s32) (temp_a0 * (arg8 - arg7)) / 0x78) + arg7)) - } - // (possible return value: (((s32) (temp_a0 * (arg8 - arg7)) / 0x78) + arg7)) -} -#else -GLOBAL_ASM( -.text -glabel get_controller_3dstick_U_D -/* 00D128 7000C528 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00D12C 7000C52C AFBF0014 */ sw $ra, 0x14($sp) -/* 00D130 7000C530 AFA40018 */ sw $a0, 0x18($sp) -/* 00D134 7000C534 00047600 */ sll $t6, $a0, 0x18 -/* 00D138 7000C538 000E2603 */ sra $a0, $t6, 0x18 -/* 00D13C 7000C53C AFA5001C */ sw $a1, 0x1c($sp) -/* 00D140 7000C540 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 00D144 7000C544 AFA60020 */ sw $a2, 0x20($sp) -/* 00D148 7000C548 2444003C */ addiu $a0, $v0, 0x3c -/* 00D14C 7000C54C 28810079 */ slti $at, $a0, 0x79 -/* 00D150 7000C550 14200002 */ bnez $at, .L7000C55C -/* 00D154 7000C554 8FA5001C */ lw $a1, 0x1c($sp) -/* 00D158 7000C558 24040078 */ li $a0, 120 -.L7000C55C: -/* 00D15C 7000C55C 04810002 */ bgez $a0, .L7000C568 -/* 00D160 7000C560 8FB80020 */ lw $t8, 0x20($sp) -/* 00D164 7000C564 00002025 */ move $a0, $zero -.L7000C568: -/* 00D168 7000C568 0305C823 */ subu $t9, $t8, $a1 -/* 00D16C 7000C56C 00990019 */ multu $a0, $t9 -/* 00D170 7000C570 24010078 */ li $at, 120 -/* 00D174 7000C574 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D178 7000C578 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00D17C 7000C57C 00004012 */ mflo $t0 -/* 00D180 7000C580 00000000 */ nop -/* 00D184 7000C584 00000000 */ nop -/* 00D188 7000C588 0101001A */ div $zero, $t0, $at -/* 00D18C 7000C58C 00004812 */ mflo $t1 -/* 00D190 7000C590 01251021 */ addu $v0, $t1, $a1 -/* 00D194 7000C594 03E00008 */ jr $ra -/* 00D198 7000C598 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -f32 controller_7000C59C(s32 arg0, s32 arg1, ? arg2, f32 arg7, f32 arg8) { - s32 temp_a0; - - // Node 0 - temp_a0 = (get_cur_controller_horz_stick_pos(((s32) (arg0 << 0x18) >> 0x18)) + 0x3c); - if (temp_a0 >= 0x79) - { - // Node 1 - } - // Node 2 - if (temp_a0 < 0) - { - // Node 3 - return; - // (possible return value: ((((f32) temp_a0 / 120.0f) * (arg8 - arg7)) + arg7)) - } - // (possible return value: ((((f32) temp_a0 / 120.0f) * (arg8 - arg7)) + arg7)) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000C59C -/* 00D19C 7000C59C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00D1A0 7000C5A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D1A4 7000C5A4 AFA40018 */ sw $a0, 0x18($sp) -/* 00D1A8 7000C5A8 00047600 */ sll $t6, $a0, 0x18 -/* 00D1AC 7000C5AC 000E2603 */ sra $a0, $t6, 0x18 -/* 00D1B0 7000C5B0 AFA5001C */ sw $a1, 0x1c($sp) -/* 00D1B4 7000C5B4 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 00D1B8 7000C5B8 AFA60020 */ sw $a2, 0x20($sp) -/* 00D1BC 7000C5BC 2444003C */ addiu $a0, $v0, 0x3c -/* 00D1C0 7000C5C0 28810079 */ slti $at, $a0, 0x79 -/* 00D1C4 7000C5C4 14200002 */ bnez $at, .L7000C5D0 -/* 00D1C8 7000C5C8 C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 00D1CC 7000C5CC 24040078 */ li $a0, 120 -.L7000C5D0: -/* 00D1D0 7000C5D0 04830003 */ bgezl $a0, .L7000C5E0 -/* 00D1D4 7000C5D4 44842000 */ mtc1 $a0, $f4 -/* 00D1D8 7000C5D8 00002025 */ move $a0, $zero -/* 00D1DC 7000C5DC 44842000 */ mtc1 $a0, $f4 -.L7000C5E0: -/* 00D1E0 7000C5E0 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 00D1E4 7000C5E4 44814000 */ mtc1 $at, $f8 -/* 00D1E8 7000C5E8 468021A0 */ cvt.s.w $f6, $f4 -/* 00D1EC 7000C5EC C7B00020 */ lwc1 $f16, 0x20($sp) -/* 00D1F0 7000C5F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D1F4 7000C5F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00D1F8 7000C5F8 46028481 */ sub.s $f18, $f16, $f2 -/* 00D1FC 7000C5FC 46083283 */ div.s $f10, $f6, $f8 -/* 00D200 7000C600 46125102 */ mul.s $f4, $f10, $f18 -/* 00D204 7000C604 03E00008 */ jr $ra -/* 00D208 7000C608 46022000 */ add.s $f0, $f4, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -f32 controller_7000C60C(s32 arg0, s32 arg1, ? arg2, f32 arg7, f32 arg8) { - s32 temp_a0; - - // Node 0 - temp_a0 = (get_cur_controller_vert_stick_pos(((s32) (arg0 << 0x18) >> 0x18)) + 0x3c); - if (temp_a0 >= 0x79) - { - // Node 1 - } - // Node 2 - if (temp_a0 < 0) - { - // Node 3 - return; - // (possible return value: ((((f32) temp_a0 / 120.0f) * (arg8 - arg7)) + arg7)) - } - // (possible return value: ((((f32) temp_a0 / 120.0f) * (arg8 - arg7)) + arg7)) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000C60C -/* 00D20C 7000C60C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00D210 7000C610 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D214 7000C614 AFA40018 */ sw $a0, 0x18($sp) -/* 00D218 7000C618 00047600 */ sll $t6, $a0, 0x18 -/* 00D21C 7000C61C 000E2603 */ sra $a0, $t6, 0x18 -/* 00D220 7000C620 AFA5001C */ sw $a1, 0x1c($sp) -/* 00D224 7000C624 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 00D228 7000C628 AFA60020 */ sw $a2, 0x20($sp) -/* 00D22C 7000C62C 2444003C */ addiu $a0, $v0, 0x3c -/* 00D230 7000C630 28810079 */ slti $at, $a0, 0x79 -/* 00D234 7000C634 14200002 */ bnez $at, .L7000C640 -/* 00D238 7000C638 C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 00D23C 7000C63C 24040078 */ li $a0, 120 -.L7000C640: -/* 00D240 7000C640 04830003 */ bgezl $a0, .L7000C650 -/* 00D244 7000C644 44842000 */ mtc1 $a0, $f4 -/* 00D248 7000C648 00002025 */ move $a0, $zero -/* 00D24C 7000C64C 44842000 */ mtc1 $a0, $f4 -.L7000C650: -/* 00D250 7000C650 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 00D254 7000C654 44814000 */ mtc1 $at, $f8 -/* 00D258 7000C658 468021A0 */ cvt.s.w $f6, $f4 -/* 00D25C 7000C65C C7B00020 */ lwc1 $f16, 0x20($sp) -/* 00D260 7000C660 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D264 7000C664 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00D268 7000C668 46028481 */ sub.s $f18, $f16, $f2 -/* 00D26C 7000C66C 46083283 */ div.s $f10, $f6, $f8 -/* 00D270 7000C670 46125102 */ mul.s $f4, $f10, $f18 -/* 00D274 7000C674 03E00008 */ jr $ra -/* 00D278 7000C678 46022000 */ add.s $f0, $f4, $f2 -) -#endif - - - - - -#ifdef NONMATCHING -void controller_7000C67C(void) { - ? sp1C; - - // Node 0 - osSendMesg(&cont1MesgMQ, &sp1C, 0); - osRecvMesg(&cont2MesgMQ, &sp1C, 1); - return; - // (possible return value: osRecvMesg(&cont2MesgMQ, &sp1C, 1)) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000C67C -/* 00D27C 7000C67C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00D280 7000C680 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D284 7000C684 3C048006 */ lui $a0, %hi(cont1MesgMQ) -/* 00D288 7000C688 24845370 */ addiu $a0, %lo(cont1MesgMQ) # addiu $a0, $a0, 0x5370 -/* 00D28C 7000C68C 27A5001C */ addiu $a1, $sp, 0x1c -/* 00D290 7000C690 0C0037C4 */ jal osSendMesg -/* 00D294 7000C694 00003025 */ move $a2, $zero -/* 00D298 7000C698 3C048006 */ lui $a0, %hi(cont2MesgMQ) -/* 00D29C 7000C69C 24845390 */ addiu $a0, %lo(cont2MesgMQ) # addiu $a0, $a0, 0x5390 -/* 00D2A0 7000C6A0 27A5001C */ addiu $a1, $sp, 0x1c -/* 00D2A4 7000C6A4 0C003774 */ jal osRecvMesg -/* 00D2A8 7000C6A8 24060001 */ li $a2, 1 -/* 00D2AC 7000C6AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D2B0 7000C6B0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00D2B4 7000C6B4 03E00008 */ jr $ra -/* 00D2B8 7000C6B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void controller_7000C6BC(void) { - ? sp1C; - - // Node 0 - osSendMesg(&cont3MesgMQ, &sp1C, 0); - osRecvMesg(&cont4MesgMQ, &sp1C, 1); - return; - // (possible return value: osRecvMesg(&cont4MesgMQ, &sp1C, 1)) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000C6BC -/* 00D2BC 7000C6BC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00D2C0 7000C6C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D2C4 7000C6C4 3C048006 */ lui $a0, %hi(cont3MesgMQ) -/* 00D2C8 7000C6C8 248453B0 */ addiu $a0, %lo(cont3MesgMQ) # addiu $a0, $a0, 0x53b0 -/* 00D2CC 7000C6CC 27A5001C */ addiu $a1, $sp, 0x1c -/* 00D2D0 7000C6D0 0C0037C4 */ jal osSendMesg -/* 00D2D4 7000C6D4 00003025 */ move $a2, $zero -/* 00D2D8 7000C6D8 3C048006 */ lui $a0, %hi(cont4MesgMQ) -/* 00D2DC 7000C6DC 248453D0 */ addiu $a0, %lo(cont4MesgMQ) # addiu $a0, $a0, 0x53d0 -/* 00D2E0 7000C6E0 27A5001C */ addiu $a1, $sp, 0x1c -/* 00D2E4 7000C6E4 0C003774 */ jal osRecvMesg -/* 00D2E8 7000C6E8 24060001 */ li $a2, 1 -/* 00D2EC 7000C6EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D2F0 7000C6F0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00D2F4 7000C6F4 03E00008 */ jr $ra -/* 00D2F8 7000C6F8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 save_7000C6FC(void) { - s32 sp1C; - - // Node 0 - controller_7000C67C(); - sp1C = osEepromProbe(&contdemoMesgMQ); - controller_7000C6BC(); - return; - // (possible return value: sp1C) -} -#else -GLOBAL_ASM( -.text -glabel save_7000C6FC -/* 00D2FC 7000C6FC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00D300 7000C700 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D304 7000C704 0C00319F */ jal controller_7000C67C -/* 00D308 7000C708 00000000 */ nop -/* 00D30C 7000C70C 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00D310 7000C710 0C0053F4 */ jal osEepromProbe -/* 00D314 7000C714 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00D318 7000C718 0C0031AF */ jal controller_7000C6BC -/* 00D31C 7000C71C AFA2001C */ sw $v0, 0x1c($sp) -/* 00D320 7000C720 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D324 7000C724 8FA2001C */ lw $v0, 0x1c($sp) -/* 00D328 7000C728 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00D32C 7000C72C 03E00008 */ jr $ra -/* 00D330 7000C730 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 save_7000C734(s32 arg0, s32 arg1, ? arg8, ? arg9) { - s32 sp1C; - - // Node 0 - controller_7000C67C(); - sp1C = osEepromRead(&contdemoMesgMQ, arg8, arg9); - controller_7000C6BC(); - return; - // (possible return value: sp1C) -} -#else -GLOBAL_ASM( -.text -glabel save_7000C734 -/* 00D334 7000C734 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00D338 7000C738 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D33C 7000C73C AFA40020 */ sw $a0, 0x20($sp) -/* 00D340 7000C740 0C00319F */ jal controller_7000C67C -/* 00D344 7000C744 AFA50024 */ sw $a1, 0x24($sp) -/* 00D348 7000C748 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00D34C 7000C74C 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00D350 7000C750 93A50023 */ lbu $a1, 0x23($sp) -/* 00D354 7000C754 0C005410 */ jal osEepromRead -/* 00D358 7000C758 8FA60024 */ lw $a2, 0x24($sp) -/* 00D35C 7000C75C 0C0031AF */ jal controller_7000C6BC -/* 00D360 7000C760 AFA2001C */ sw $v0, 0x1c($sp) -/* 00D364 7000C764 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D368 7000C768 8FA2001C */ lw $v0, 0x1c($sp) -/* 00D36C 7000C76C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00D370 7000C770 03E00008 */ jr $ra -/* 00D374 7000C774 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 save_7000C778(s32 arg0, s32 arg1, ? arg8, ? arg9) { - s32 sp1C; - - // Node 0 - controller_7000C67C(); - sp1C = osEepromWrite(&contdemoMesgMQ, arg8, arg9); - controller_7000C6BC(); - return; - // (possible return value: sp1C) -} -#else -GLOBAL_ASM( -.text -glabel save_7000C778 -/* 00D378 7000C778 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00D37C 7000C77C AFBF0014 */ sw $ra, 0x14($sp) -/* 00D380 7000C780 AFA40020 */ sw $a0, 0x20($sp) -/* 00D384 7000C784 0C00319F */ jal controller_7000C67C -/* 00D388 7000C788 AFA50024 */ sw $a1, 0x24($sp) -/* 00D38C 7000C78C 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00D390 7000C790 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00D394 7000C794 93A50023 */ lbu $a1, 0x23($sp) -/* 00D398 7000C798 0C0054D0 */ jal osEepromWrite -/* 00D39C 7000C79C 8FA60024 */ lw $a2, 0x24($sp) -/* 00D3A0 7000C7A0 0C0031AF */ jal controller_7000C6BC -/* 00D3A4 7000C7A4 AFA2001C */ sw $v0, 0x1c($sp) -/* 00D3A8 7000C7A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D3AC 7000C7AC 8FA2001C */ lw $v0, 0x1c($sp) -/* 00D3B0 7000C7B0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00D3B4 7000C7B4 03E00008 */ jr $ra -/* 00D3B8 7000C7B8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 save_7000C7BC(s32 arg0, s32 arg1, ? arg2, ? arg8, ? arg9, ? argA) { - s32 sp1C; - - // Node 0 - controller_7000C67C(); - sp1C = osEepromLongRead(&contdemoMesgMQ, arg8, arg9, argA); - controller_7000C6BC(); - return; - // (possible return value: sp1C) -} -#else -GLOBAL_ASM( -.text -glabel save_7000C7BC -/* 00D3BC 7000C7BC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00D3C0 7000C7C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D3C4 7000C7C4 AFA40020 */ sw $a0, 0x20($sp) -/* 00D3C8 7000C7C8 AFA50024 */ sw $a1, 0x24($sp) -/* 00D3CC 7000C7CC 0C00319F */ jal controller_7000C67C -/* 00D3D0 7000C7D0 AFA60028 */ sw $a2, 0x28($sp) -/* 00D3D4 7000C7D4 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00D3D8 7000C7D8 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00D3DC 7000C7DC 93A50023 */ lbu $a1, 0x23($sp) -/* 00D3E0 7000C7E0 8FA60024 */ lw $a2, 0x24($sp) -/* 00D3E4 7000C7E4 0C005608 */ jal osEepromLongRead -/* 00D3E8 7000C7E8 8FA70028 */ lw $a3, 0x28($sp) -/* 00D3EC 7000C7EC 0C0031AF */ jal controller_7000C6BC -/* 00D3F0 7000C7F0 AFA2001C */ sw $v0, 0x1c($sp) -/* 00D3F4 7000C7F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D3F8 7000C7F8 8FA2001C */ lw $v0, 0x1c($sp) -/* 00D3FC 7000C7FC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00D400 7000C800 03E00008 */ jr $ra -/* 00D404 7000C804 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 save_7000C808(s32 arg0, s32 arg1, ? arg2, ? arg8, ? arg9, ? argA) { - s32 sp1C; - - // Node 0 - controller_7000C67C(); - sp1C = osEepromLongWrite(&contdemoMesgMQ, arg8, arg9, argA); - controller_7000C6BC(); - return; - // (possible return value: sp1C) -} -#else -GLOBAL_ASM( -.text -glabel save_7000C808 -/* 00D408 7000C808 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00D40C 7000C80C AFBF0014 */ sw $ra, 0x14($sp) -/* 00D410 7000C810 AFA40020 */ sw $a0, 0x20($sp) -/* 00D414 7000C814 AFA50024 */ sw $a1, 0x24($sp) -/* 00D418 7000C818 0C00319F */ jal controller_7000C67C -/* 00D41C 7000C81C AFA60028 */ sw $a2, 0x28($sp) -/* 00D420 7000C820 3C048006 */ lui $a0, %hi(contdemoMesgMQ) -/* 00D424 7000C824 24845350 */ addiu $a0, %lo(contdemoMesgMQ) # addiu $a0, $a0, 0x5350 -/* 00D428 7000C828 93A50023 */ lbu $a1, 0x23($sp) -/* 00D42C 7000C82C 8FA60024 */ lw $a2, 0x24($sp) -/* 00D430 7000C830 0C005658 */ jal osEepromLongWrite -/* 00D434 7000C834 8FA70028 */ lw $a3, 0x28($sp) -/* 00D438 7000C838 0C0031AF */ jal controller_7000C6BC -/* 00D43C 7000C83C AFA2001C */ sw $v0, 0x1c($sp) -/* 00D440 7000C840 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D444 7000C844 8FA2001C */ lw $v0, 0x1c($sp) -/* 00D448 7000C848 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00D44C 7000C84C 03E00008 */ jr $ra -/* 00D450 7000C850 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 controller_7000C854(s32 arg0, s32 arg1) { - s32 temp_v1; - void *temp_a0; - s32 temp_f8; - - // Node 0 - temp_v1 = (arg0 * 4); - if (disable_all_rumble == 0) - { - // Node 1 - if (*(&controller_1_rumble_inserted + temp_v1) > 0) - { - // Node 2 - temp_a0 = (temp_v1 + &controller_1_rumble_duration); - temp_f8 = (s32) (arg1 * 60.0f); - if (*temp_a0 < temp_f8) - { - // Node 3 - *temp_a0 = temp_f8; - } - // Node 4 - if (*(&controller_1_rumble_state + temp_v1) == 0) - { - // Node 5 - *(&controller_1_rumble_pulse + temp_v1) = 1; - return; - // (possible return value: temp_f8) - } - } - } - // (function likely void) -} - -#else -GLOBAL_ASM( -.text -glabel controller_7000C854 -/* 00D454 7000C854 3C0E8002 */ lui $t6, %hi(disable_all_rumble) -/* 00D458 7000C858 8DCE6924 */ lw $t6, %lo(disable_all_rumble)($t6) -/* 00D45C 7000C85C 44856000 */ mtc1 $a1, $f12 -/* 00D460 7000C860 00041880 */ sll $v1, $a0, 2 -/* 00D464 7000C864 15C0001B */ bnez $t6, .L7000C8D4 -/* 00D468 7000C868 3C0F8002 */ lui $t7, %hi(controller_1_rumble_inserted) -/* 00D46C 7000C86C 01E37821 */ addu $t7, $t7, $v1 -/* 00D470 7000C870 8DEF68D8 */ lw $t7, %lo(controller_1_rumble_inserted)($t7) -/* 00D474 7000C874 3C098002 */ lui $t1, %hi(controller_1_rumble_state) -/* 00D478 7000C878 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 00D47C 7000C87C 19E00015 */ blez $t7, .L7000C8D4 -/* 00D480 7000C880 01234821 */ addu $t1, $t1, $v1 -/* 00D484 7000C884 44812000 */ mtc1 $at, $f4 -/* 00D488 7000C888 3C188002 */ lui $t8, %hi(controller_1_rumble_duration) -/* 00D48C 7000C88C 271868F8 */ addiu $t8, %lo(controller_1_rumble_duration) # addiu $t8, $t8, 0x68f8 -/* 00D490 7000C890 46046182 */ mul.s $f6, $f12, $f4 -/* 00D494 7000C894 00782021 */ addu $a0, $v1, $t8 -/* 00D498 7000C898 8C880000 */ lw $t0, ($a0) -/* 00D49C 7000C89C 240A0001 */ li $t2, 1 -/* 00D4A0 7000C8A0 4600320D */ trunc.w.s $f8, $f6 -/* 00D4A4 7000C8A4 44024000 */ mfc1 $v0, $f8 -/* 00D4A8 7000C8A8 00000000 */ nop -/* 00D4AC 7000C8AC 0102082A */ slt $at, $t0, $v0 -/* 00D4B0 7000C8B0 10200002 */ beqz $at, .L7000C8BC -/* 00D4B4 7000C8B4 00000000 */ nop -/* 00D4B8 7000C8B8 AC820000 */ sw $v0, ($a0) -.L7000C8BC: -/* 00D4BC 7000C8BC 8D2968E8 */ lw $t1, %lo(controller_1_rumble_state)($t1) -/* 00D4C0 7000C8C0 3C018002 */ lui $at, %hi(controller_1_rumble_pulse) -/* 00D4C4 7000C8C4 00230821 */ addu $at, $at, $v1 -/* 00D4C8 7000C8C8 15200002 */ bnez $t1, .L7000C8D4 -/* 00D4CC 7000C8CC 00000000 */ nop -/* 00D4D0 7000C8D0 AC2A6908 */ sw $t2, %lo(controller_1_rumble_pulse)($at) -.L7000C8D4: -/* 00D4D4 7000C8D4 03E00008 */ jr $ra -/* 00D4D8 7000C8D8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void reset_cont_rumble_detect(void) { - controller_1_rumble_state = 1; - controller_1_rumble_pulse = 0; - controller_2_rumble_state = 1; - controller_2_rumble_pulse = 0; - controller_3_rumble_state = 1; - controller_3_rumble_pulse = 0; - controller_4_rumble_state = 1; - controller_4_rumble_pulse = 0; -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel reset_cont_rumble_detect -/* 00D4DC 7000C8DC 240E0001 */ li $t6, 1 -/* 00D4E0 7000C8E0 3C018002 */ lui $at, %hi(controller_1_rumble_state) -/* 00D4E4 7000C8E4 AC2E68E8 */ sw $t6, %lo(controller_1_rumble_state)($at) -/* 00D4E8 7000C8E8 3C018002 */ lui $at, %hi(controller_1_rumble_pulse) -/* 00D4EC 7000C8EC AC206908 */ sw $zero, %lo(controller_1_rumble_pulse)($at) -/* 00D4F0 7000C8F0 3C018002 */ lui $at, %hi(controller_2_rumble_state) -/* 00D4F4 7000C8F4 240F0001 */ li $t7, 1 -/* 00D4F8 7000C8F8 AC2F68EC */ sw $t7, %lo(controller_2_rumble_state)($at) -/* 00D4FC 7000C8FC 3C018002 */ lui $at, %hi(controller_2_rumble_pulse) -/* 00D500 7000C900 AC20690C */ sw $zero, %lo(controller_2_rumble_pulse)($at) -/* 00D504 7000C904 3C018002 */ lui $at, %hi(controller_3_rumble_state) -/* 00D508 7000C908 24180001 */ li $t8, 1 -/* 00D50C 7000C90C AC3868F0 */ sw $t8, %lo(controller_3_rumble_state)($at) -/* 00D510 7000C910 3C018002 */ lui $at, %hi(controller_3_rumble_pulse) -/* 00D514 7000C914 AC206910 */ sw $zero, %lo(controller_3_rumble_pulse)($at) -/* 00D518 7000C918 3C018002 */ lui $at, %hi(controller_4_rumble_state) -/* 00D51C 7000C91C 24190001 */ li $t9, 1 -/* 00D520 7000C920 AC3968F4 */ sw $t9, %lo(controller_4_rumble_state)($at) -/* 00D524 7000C924 3C018002 */ lui $at, %hi( controller_4_rumble_pulse) -/* 00D528 7000C928 03E00008 */ jr $ra -/* 00D52C 7000C92C AC206914 */ sw $zero, %lo( controller_4_rumble_pulse)($at) -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel reset_cont_rumble_detect -/* 00D4E8 7000C8E8 3C018002 */ lui $at, %hi(controller_1_rumble_pulse) -/* 00D4F4 7000C8F4 240F0001 */ li $t7, 2 -/* 00D4DC 7000C8DC 240E0001 */ li $t6, 2 -/* 00D500 7000C900 AC20690C */ sw $t7, %lo(controller_2_rumble_pulse)($at) -/* 00D4EC 7000C8EC AC206908 */ sw $t6, %lo(controller_1_rumble_pulse)($at) -/* 00D510 7000C910 3C018002 */ lui $at, %hi(controller_3_rumble_pulse) -/* 00D508 7000C908 24180001 */ li $t8, 2 -/* 00D51C 7000C91C 24190001 */ li $t9, 2 -/* 00D514 7000C914 AC206910 */ sw $t9, %lo(controller_4_rumble_pulse)($at) -/* 00D528 7000C928 03E00008 */ jr $ra -/* 00D52C 7000C92C AC206914 */ sw $t8, %lo( controller_3_rumble_pulse)($at) -) -#endif - -#endif - - - - - -#ifdef NONMATCHING -void controller_7000C930(s32 arg0) { - // Node 0 - (void *)0x80020000->unk68C4 = (s32) ((arg0 * 0x1fc) + &controller_input_index); - return; - // (function likely void) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000C930 -/* 00D530 7000C930 000471C0 */ sll $t6, $a0, 7 -/* 00D534 7000C934 01C47023 */ subu $t6, $t6, $a0 -/* 00D538 7000C938 3C0F8006 */ lui $t7, %hi(controller_input_index) -/* 00D53C 7000C93C 25EF4F30 */ addiu $t7, %lo(controller_input_index) # addiu $t7, $t7, 0x4f30 -/* 00D540 7000C940 000E7080 */ sll $t6, $t6, 2 -/* 00D544 7000C944 01CFC021 */ addu $t8, $t6, $t7 -/* 00D548 7000C948 3C018002 */ lui $at, %hi(ptr_current_point_in_controller_input_index) -/* 00D54C 7000C94C 03E00008 */ jr $ra -/* 00D550 7000C950 AC3868C4 */ sw $t8, %lo(ptr_current_point_in_controller_input_index)($at) -) -#endif - - - - - -#ifdef NONMATCHING -s32 controller_7000C954(void) { - // (possible return value: ((s32) (ptr_current_point_in_controller_input_index - &controller_input_index) / 0x1fc)) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000C954 -/* 00D554 7000C954 3C0E8002 */ lui $t6, %hi(ptr_current_point_in_controller_input_index) -/* 00D558 7000C958 8DCE68C4 */ lw $t6, %lo(ptr_current_point_in_controller_input_index)($t6) -/* 00D55C 7000C95C 3C0F8006 */ lui $t7, %hi(controller_input_index) -/* 00D560 7000C960 25EF4F30 */ addiu $t7, %lo(controller_input_index) # addiu $t7, $t7, 0x4f30 -/* 00D564 7000C964 240101FC */ li $at, 508 -/* 00D568 7000C968 01CF1023 */ subu $v0, $t6, $t7 -/* 00D56C 7000C96C 0041001A */ div $zero, $v0, $at -/* 00D570 7000C970 00001012 */ mflo $v0 -/* 00D574 7000C974 03E00008 */ jr $ra -/* 00D578 7000C978 00000000 */ nop -) -#endif - - - - diff --git a/src/joy.h b/src/joy.h deleted file mode 100644 index 00e3ee1..0000000 --- a/src/joy.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _JOY_H_ -#define _JOY_H_ - -#include "ultra64.h" - - - -#endif diff --git a/src/joy_rumble.c b/src/joy_rumble.c deleted file mode 100644 index b5a975e..0000000 --- a/src/joy_rumble.c +++ /dev/null @@ -1,486 +0,0 @@ -#include "ultra64.h" -//0x800655a0 -char rumble_off_player1_packet_buffer[256]; -//800656a0 -char rumble_on_player_packet_buffers[256]; -//800657a0 -char rumble_on_buffer[32]; -//800657c0 -char rumble_off_buffer[32]; - - - - -#ifdef NONMATCHING -void send_rumble_off_to_PIF(void) { - -} -#else -GLOBAL_ASM( -.text -glabel send_rumble_off_to_PIF -/* 00D580 7000C980 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 00D584 7000C984 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D588 7000C988 0C005798 */ jal __osSiGetAccess -/* 00D58C 7000C98C AFA40050 */ sw $a0, 0x50($sp) -/* 00D590 7000C990 8FAF0050 */ lw $t7, 0x50($sp) -/* 00D594 7000C994 240E0003 */ li $t6, 3 -/* 00D598 7000C998 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 00D59C 7000C99C A02E7CE0 */ sb $t6, %lo(__osContLastCmd)($at) -/* 00D5A0 7000C9A0 8DF80008 */ lw $t8, 8($t7) -/* 00D5A4 7000C9A4 3C088006 */ lui $t0, %hi(rumble_off_player1_packet_buffer) -/* 00D5A8 7000C9A8 250855A0 */ addiu $t0, %lo(rumble_off_player1_packet_buffer) # addiu $t0, $t0, 0x55a0 -/* 00D5AC 7000C9AC 0018C980 */ sll $t9, $t8, 6 -/* 00D5B0 7000C9B0 03282821 */ addu $a1, $t9, $t0 -/* 00D5B4 7000C9B4 0C0057B4 */ jal __osSiRawStartDma -/* 00D5B8 7000C9B8 24040001 */ li $a0, 1 -/* 00D5BC 7000C9BC 8FA90050 */ lw $t1, 0x50($sp) -/* 00D5C0 7000C9C0 00002825 */ move $a1, $zero -/* 00D5C4 7000C9C4 24060001 */ li $a2, 1 -/* 00D5C8 7000C9C8 0C003774 */ jal osRecvMesg -/* 00D5CC 7000C9CC 8D240004 */ lw $a0, 4($t1) -/* 00D5D0 7000C9D0 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 00D5D4 7000C9D4 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 00D5D8 7000C9D8 0C0057B4 */ jal __osSiRawStartDma -/* 00D5DC 7000C9DC 00002025 */ move $a0, $zero -/* 00D5E0 7000C9E0 8FAA0050 */ lw $t2, 0x50($sp) -/* 00D5E4 7000C9E4 00002825 */ move $a1, $zero -/* 00D5E8 7000C9E8 24060001 */ li $a2, 1 -/* 00D5EC 7000C9EC 0C003774 */ jal osRecvMesg -/* 00D5F0 7000C9F0 8D440004 */ lw $a0, 4($t2) -/* 00D5F4 7000C9F4 8FAB0050 */ lw $t3, 0x50($sp) -/* 00D5F8 7000C9F8 3C038006 */ lui $v1, %hi(__osPfsPifRam) -/* 00D5FC 7000C9FC 24637D70 */ addiu $v1, %lo(__osPfsPifRam) # addiu $v1, $v1, 0x7d70 -/* 00D600 7000CA00 8D640008 */ lw $a0, 8($t3) -/* 00D604 7000CA04 27AC001C */ addiu $t4, $sp, 0x1c -/* 00D608 7000CA08 50800008 */ beql $a0, $zero, .L7000CA2C -/* 00D60C 7000CA0C 00607825 */ move $t7, $v1 -/* 00D610 7000CA10 18800005 */ blez $a0, .L7000CA28 -/* 00D614 7000CA14 00001025 */ move $v0, $zero -.L7000CA18: -/* 00D618 7000CA18 24420001 */ addiu $v0, $v0, 1 -/* 00D61C 7000CA1C 0044082A */ slt $at, $v0, $a0 -/* 00D620 7000CA20 1420FFFD */ bnez $at, .L7000CA18 -/* 00D624 7000CA24 24630001 */ addiu $v1, $v1, 1 -.L7000CA28: -/* 00D628 7000CA28 00607825 */ move $t7, $v1 -.L7000CA2C: -/* 00D62C 7000CA2C 246E0024 */ addiu $t6, $v1, 0x24 -.L7000CA30: -/* 00D630 7000CA30 89E10000 */ lwl $at, ($t7) -/* 00D634 7000CA34 99E10003 */ lwr $at, 3($t7) -/* 00D638 7000CA38 25EF000C */ addiu $t7, $t7, 0xc -/* 00D63C 7000CA3C 258C000C */ addiu $t4, $t4, 0xc -/* 00D640 7000CA40 AD81FFF4 */ sw $at, -0xc($t4) -/* 00D644 7000CA44 89E1FFF8 */ lwl $at, -8($t7) -/* 00D648 7000CA48 99E1FFFB */ lwr $at, -5($t7) -/* 00D64C 7000CA4C AD81FFF8 */ sw $at, -8($t4) -/* 00D650 7000CA50 89E1FFFC */ lwl $at, -4($t7) -/* 00D654 7000CA54 99E1FFFF */ lwr $at, -1($t7) -/* 00D658 7000CA58 15EEFFF5 */ bne $t7, $t6, .L7000CA30 -/* 00D65C 7000CA5C AD81FFFC */ sw $at, -4($t4) -/* 00D660 7000CA60 89E10000 */ lwl $at, ($t7) -/* 00D664 7000CA64 99E10003 */ lwr $at, 3($t7) -/* 00D668 7000CA68 AD810000 */ sw $at, ($t4) -/* 00D66C 7000CA6C 93A2001E */ lbu $v0, 0x1e($sp) -/* 00D670 7000CA70 93A80042 */ lbu $t0, 0x42($sp) -/* 00D674 7000CA74 305800C0 */ andi $t8, $v0, 0xc0 -/* 00D678 7000CA78 00182103 */ sra $a0, $t8, 4 -/* 00D67C 7000CA7C 14800004 */ bnez $a0, .L7000CA90 -/* 00D680 7000CA80 00000000 */ nop -/* 00D684 7000CA84 11000002 */ beqz $t0, .L7000CA90 -/* 00D688 7000CA88 00000000 */ nop -/* 00D68C 7000CA8C 24040004 */ li $a0, 4 -.L7000CA90: -/* 00D690 7000CA90 0C0057A9 */ jal __osSiRelAccess -/* 00D694 7000CA94 AFA40048 */ sw $a0, 0x48($sp) -/* 00D698 7000CA98 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D69C 7000CA9C 8FA20048 */ lw $v0, 0x48($sp) -/* 00D6A0 7000CAA0 27BD0050 */ addiu $sp, $sp, 0x50 -/* 00D6A4 7000CAA4 03E00008 */ jr $ra -/* 00D6A8 7000CAA8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void controller_7000CAAC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel controller_7000CAAC -/* 00D6AC 7000CAAC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 00D6B0 7000CAB0 AFBF0014 */ sw $ra, 0x14($sp) -/* 00D6B4 7000CAB4 0C005798 */ jal __osSiGetAccess -/* 00D6B8 7000CAB8 AFA40050 */ sw $a0, 0x50($sp) -/* 00D6BC 7000CABC 8FAF0050 */ lw $t7, 0x50($sp) -/* 00D6C0 7000CAC0 240E0003 */ li $t6, 3 -/* 00D6C4 7000CAC4 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 00D6C8 7000CAC8 A02E7CE0 */ sb $t6, %lo(__osContLastCmd)($at) -/* 00D6CC 7000CACC 8DF80008 */ lw $t8, 8($t7) -/* 00D6D0 7000CAD0 3C088006 */ lui $t0, %hi(rumble_on_player_packet_buffers) -/* 00D6D4 7000CAD4 250856A0 */ addiu $t0, %lo(rumble_on_player_packet_buffers) # addiu $t0, $t0, 0x56a0 -/* 00D6D8 7000CAD8 0018C980 */ sll $t9, $t8, 6 -/* 00D6DC 7000CADC 03282821 */ addu $a1, $t9, $t0 -/* 00D6E0 7000CAE0 0C0057B4 */ jal __osSiRawStartDma -/* 00D6E4 7000CAE4 24040001 */ li $a0, 1 -/* 00D6E8 7000CAE8 8FA90050 */ lw $t1, 0x50($sp) -/* 00D6EC 7000CAEC 00002825 */ move $a1, $zero -/* 00D6F0 7000CAF0 24060001 */ li $a2, 1 -/* 00D6F4 7000CAF4 0C003774 */ jal osRecvMesg -/* 00D6F8 7000CAF8 8D240004 */ lw $a0, 4($t1) -/* 00D6FC 7000CAFC 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 00D700 7000CB00 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 00D704 7000CB04 0C0057B4 */ jal __osSiRawStartDma -/* 00D708 7000CB08 00002025 */ move $a0, $zero -/* 00D70C 7000CB0C 8FAA0050 */ lw $t2, 0x50($sp) -/* 00D710 7000CB10 00002825 */ move $a1, $zero -/* 00D714 7000CB14 24060001 */ li $a2, 1 -/* 00D718 7000CB18 0C003774 */ jal osRecvMesg -/* 00D71C 7000CB1C 8D440004 */ lw $a0, 4($t2) -/* 00D720 7000CB20 8FAB0050 */ lw $t3, 0x50($sp) -/* 00D724 7000CB24 3C038006 */ lui $v1, %hi(__osPfsPifRam) -/* 00D728 7000CB28 24637D70 */ addiu $v1, %lo(__osPfsPifRam) # addiu $v1, $v1, 0x7d70 -/* 00D72C 7000CB2C 8D640008 */ lw $a0, 8($t3) -/* 00D730 7000CB30 27AC001C */ addiu $t4, $sp, 0x1c -/* 00D734 7000CB34 50800008 */ beql $a0, $zero, .L7000CB58 -/* 00D738 7000CB38 00607825 */ move $t7, $v1 -/* 00D73C 7000CB3C 18800005 */ blez $a0, .L7000CB54 -/* 00D740 7000CB40 00001025 */ move $v0, $zero -.L7000CB44: -/* 00D744 7000CB44 24420001 */ addiu $v0, $v0, 1 -/* 00D748 7000CB48 0044082A */ slt $at, $v0, $a0 -/* 00D74C 7000CB4C 1420FFFD */ bnez $at, .L7000CB44 -/* 00D750 7000CB50 24630001 */ addiu $v1, $v1, 1 -.L7000CB54: -/* 00D754 7000CB54 00607825 */ move $t7, $v1 -.L7000CB58: -/* 00D758 7000CB58 246E0024 */ addiu $t6, $v1, 0x24 -.L7000CB5C: -/* 00D75C 7000CB5C 89E10000 */ lwl $at, ($t7) -/* 00D760 7000CB60 99E10003 */ lwr $at, 3($t7) -/* 00D764 7000CB64 25EF000C */ addiu $t7, $t7, 0xc -/* 00D768 7000CB68 258C000C */ addiu $t4, $t4, 0xc -/* 00D76C 7000CB6C AD81FFF4 */ sw $at, -0xc($t4) -/* 00D770 7000CB70 89E1FFF8 */ lwl $at, -8($t7) -/* 00D774 7000CB74 99E1FFFB */ lwr $at, -5($t7) -/* 00D778 7000CB78 AD81FFF8 */ sw $at, -8($t4) -/* 00D77C 7000CB7C 89E1FFFC */ lwl $at, -4($t7) -/* 00D780 7000CB80 99E1FFFF */ lwr $at, -1($t7) -/* 00D784 7000CB84 15EEFFF5 */ bne $t7, $t6, .L7000CB5C -/* 00D788 7000CB88 AD81FFFC */ sw $at, -4($t4) -/* 00D78C 7000CB8C 89E10000 */ lwl $at, ($t7) -/* 00D790 7000CB90 99E10003 */ lwr $at, 3($t7) -/* 00D794 7000CB94 AD810000 */ sw $at, ($t4) -/* 00D798 7000CB98 93A2001E */ lbu $v0, 0x1e($sp) -/* 00D79C 7000CB9C 93A80042 */ lbu $t0, 0x42($sp) -/* 00D7A0 7000CBA0 240100EB */ li $at, 235 -/* 00D7A4 7000CBA4 305800C0 */ andi $t8, $v0, 0xc0 -/* 00D7A8 7000CBA8 00182103 */ sra $a0, $t8, 4 -/* 00D7AC 7000CBAC 14800004 */ bnez $a0, .L7000CBC0 -/* 00D7B0 7000CBB0 00000000 */ nop -/* 00D7B4 7000CBB4 11010002 */ beq $t0, $at, .L7000CBC0 -/* 00D7B8 7000CBB8 00000000 */ nop -/* 00D7BC 7000CBBC 24040004 */ li $a0, 4 -.L7000CBC0: -/* 00D7C0 7000CBC0 0C0057A9 */ jal __osSiRelAccess -/* 00D7C4 7000CBC4 AFA40048 */ sw $a0, 0x48($sp) -/* 00D7C8 7000CBC8 8FBF0014 */ lw $ra, 0x14($sp) -/* 00D7CC 7000CBCC 8FA20048 */ lw $v0, 0x48($sp) -/* 00D7D0 7000CBD0 27BD0050 */ addiu $sp, $sp, 0x50 -/* 00D7D4 7000CBD4 03E00008 */ jr $ra -/* 00D7D8 7000CBD8 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void controller_7000CBDC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel controller_7000CBDC -/* 00D7DC 7000CBDC 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 00D7E0 7000CBE0 AFB00018 */ sw $s0, 0x18($sp) -/* 00D7E4 7000CBE4 00808025 */ move $s0, $a0 -/* 00D7E8 7000CBE8 AFBF001C */ sw $ra, 0x1c($sp) -/* 00D7EC 7000CBEC AFA5005C */ sw $a1, 0x5c($sp) -/* 00D7F0 7000CBF0 00E01825 */ move $v1, $a3 -/* 00D7F4 7000CBF4 00004025 */ move $t0, $zero -/* 00D7F8 7000CBF8 00E01025 */ move $v0, $a3 -.L7000CBFC: -/* 00D7FC 7000CBFC 25080001 */ addiu $t0, $t0, 1 -/* 00D800 7000CC00 2901000F */ slti $at, $t0, 0xf -/* 00D804 7000CC04 24420004 */ addiu $v0, $v0, 4 -/* 00D808 7000CC08 1420FFFC */ bnez $at, .L7000CBFC -/* 00D80C 7000CC0C AC40FFFC */ sw $zero, -4($v0) -/* 00D810 7000CC10 240E0001 */ li $t6, 1 -/* 00D814 7000CC14 ACEE003C */ sw $t6, 0x3c($a3) -/* 00D818 7000CC18 240F00FF */ li $t7, 255 -/* 00D81C 7000CC1C 24180023 */ li $t8, 35 -/* 00D820 7000CC20 24190001 */ li $t9, 1 -/* 00D824 7000CC24 24090003 */ li $t1, 3 -/* 00D828 7000CC28 A3AF002C */ sb $t7, 0x2c($sp) -/* 00D82C 7000CC2C A3B8002D */ sb $t8, 0x2d($sp) -/* 00D830 7000CC30 A3B9002E */ sb $t9, 0x2e($sp) -/* 00D834 7000CC34 A3A9002F */ sb $t1, 0x2f($sp) -/* 00D838 7000CC38 AFA60060 */ sw $a2, 0x60($sp) -/* 00D83C 7000CC3C AFA30054 */ sw $v1, 0x54($sp) -/* 00D840 7000CC40 0C0057E0 */ jal __osContAddressCrc -/* 00D844 7000CC44 97A4005E */ lhu $a0, 0x5e($sp) -/* 00D848 7000CC48 97AA005E */ lhu $t2, 0x5e($sp) -/* 00D84C 7000CC4C 240D00FF */ li $t5, 255 -/* 00D850 7000CC50 8FA30054 */ lw $v1, 0x54($sp) -/* 00D854 7000CC54 000A5940 */ sll $t3, $t2, 5 -/* 00D858 7000CC58 004B6025 */ or $t4, $v0, $t3 -/* 00D85C 7000CC5C A7AC0030 */ sh $t4, 0x30($sp) -/* 00D860 7000CC60 8FA60060 */ lw $a2, 0x60($sp) -/* 00D864 7000CC64 A3AD0052 */ sb $t5, 0x52($sp) -/* 00D868 7000CC68 27A2004C */ addiu $v0, $sp, 0x4c -/* 00D86C 7000CC6C 27A4002C */ addiu $a0, $sp, 0x2c -.L7000CC70: -/* 00D870 7000CC70 90CE0000 */ lbu $t6, ($a2) -/* 00D874 7000CC74 24840001 */ addiu $a0, $a0, 1 -/* 00D878 7000CC78 0082082B */ sltu $at, $a0, $v0 -/* 00D87C 7000CC7C 24C60001 */ addiu $a2, $a2, 1 -/* 00D880 7000CC80 1420FFFB */ bnez $at, .L7000CC70 -/* 00D884 7000CC84 A08E0005 */ sb $t6, 5($a0) -/* 00D888 7000CC88 12000012 */ beqz $s0, .L7000CCD4 -/* 00D88C 7000CC8C 27AF002C */ addiu $t7, $sp, 0x2c -/* 00D890 7000CC90 1A000010 */ blez $s0, .L7000CCD4 -/* 00D894 7000CC94 00004025 */ move $t0, $zero -/* 00D898 7000CC98 32040003 */ andi $a0, $s0, 3 -/* 00D89C 7000CC9C 10800006 */ beqz $a0, .L7000CCB8 -/* 00D8A0 7000CCA0 00801025 */ move $v0, $a0 -.L7000CCA4: -/* 00D8A4 7000CCA4 25080001 */ addiu $t0, $t0, 1 -/* 00D8A8 7000CCA8 A0600000 */ sb $zero, ($v1) -/* 00D8AC 7000CCAC 1448FFFD */ bne $v0, $t0, .L7000CCA4 -/* 00D8B0 7000CCB0 24630001 */ addiu $v1, $v1, 1 -/* 00D8B4 7000CCB4 11100007 */ beq $t0, $s0, .L7000CCD4 -.L7000CCB8: -/* 00D8B8 7000CCB8 25080004 */ addiu $t0, $t0, 4 -/* 00D8BC 7000CCBC A0600001 */ sb $zero, 1($v1) -/* 00D8C0 7000CCC0 A0600002 */ sb $zero, 2($v1) -/* 00D8C4 7000CCC4 A0600003 */ sb $zero, 3($v1) -/* 00D8C8 7000CCC8 24630004 */ addiu $v1, $v1, 4 -/* 00D8CC 7000CCCC 1510FFFA */ bne $t0, $s0, .L7000CCB8 -/* 00D8D0 7000CCD0 A060FFFC */ sb $zero, -4($v1) -.L7000CCD4: -/* 00D8D4 7000CCD4 00604825 */ move $t1, $v1 -/* 00D8D8 7000CCD8 25F90024 */ addiu $t9, $t7, 0x24 -.L7000CCDC: -/* 00D8DC 7000CCDC 8DE10000 */ lw $at, ($t7) -/* 00D8E0 7000CCE0 25EF000C */ addiu $t7, $t7, 0xc -/* 00D8E4 7000CCE4 2529000C */ addiu $t1, $t1, 0xc -/* 00D8E8 7000CCE8 A921FFF4 */ swl $at, -0xc($t1) -/* 00D8EC 7000CCEC B921FFF7 */ swr $at, -9($t1) -/* 00D8F0 7000CCF0 8DE1FFF8 */ lw $at, -8($t7) -/* 00D8F4 7000CCF4 A921FFF8 */ swl $at, -8($t1) -/* 00D8F8 7000CCF8 B921FFFB */ swr $at, -5($t1) -/* 00D8FC 7000CCFC 8DE1FFFC */ lw $at, -4($t7) -/* 00D900 7000CD00 A921FFFC */ swl $at, -4($t1) -/* 00D904 7000CD04 15F9FFF5 */ bne $t7, $t9, .L7000CCDC -/* 00D908 7000CD08 B921FFFF */ swr $at, -1($t1) -/* 00D90C 7000CD0C 8DE10000 */ lw $at, ($t7) -/* 00D910 7000CD10 240A00FE */ li $t2, 254 -/* 00D914 7000CD14 24630028 */ addiu $v1, $v1, 0x28 -/* 00D918 7000CD18 A9210000 */ swl $at, ($t1) -/* 00D91C 7000CD1C B9210003 */ swr $at, 3($t1) -/* 00D920 7000CD20 A06A0000 */ sb $t2, ($v1) -/* 00D924 7000CD24 8FBF001C */ lw $ra, 0x1c($sp) -/* 00D928 7000CD28 8FB00018 */ lw $s0, 0x18($sp) -/* 00D92C 7000CD2C 27BD0058 */ addiu $sp, $sp, 0x58 -/* 00D930 7000CD30 03E00008 */ jr $ra -/* 00D934 7000CD34 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void controller_7000CD38(s32 arg0, void *arg1, s32 arg2, ? arg16) { - s32 sp2C; - ? sp30; - ? sp50; - u32 temp_v0; - ? temp_ret; - void *temp_v1; - s32 temp_v0_2; - - // Node 0 - arg1->unk4 = arg0; - arg1->unk8 = arg2; - *arg1 = 0; - arg1->unk65 = (u8)0x80; - // Node 1 - temp_v0 = (&sp30 + 1); - temp_v0->unk-1 = (u8)0x80; - if (temp_v0 < &sp50) - { - goto loop_1; - } - // Node 2 - temp_ret = __osContRamWrite(arg2, 0x400, &sp30, 0); - if (temp_ret == 2) - { - // Node 3 - __osContRamWrite(arg16, arg2, 0x400, &sp30, 0); - } - // Node 4 - if (temp_ret != 0) - { - // Node 5 - } - else - { - // Node 6 - if (__osContRamRead(arg16, arg2, 0x400, &sp30) != 0) - { - // Node 7 - return; - // (possible return value: __osContRamRead(arg16, arg2, 0x400, &sp30)) - } - // Node 8 - if (sp4F != 0x80) - { - // Node 9 - } - else - { - // Node 10 - // Node 11 - temp_v1 = (&rumble_on_buffer + 4); - rumble_off_buffer.unk1 = (u8)1; - temp_v1->unk-3 = (u8)0; - rumble_off_buffer.unk2 = (u8)1; - temp_v1->unk-2 = (u8)0; - rumble_off_buffer.unk3 = (u8)1; - temp_v1->unk-1 = (u8)0; - (&rumble_off_buffer + 4)->unk-4 = (u8)1; - temp_v1->unk-4 = (u8)0; - if (temp_v1 != &rumble_off_buffer) - { - goto loop_11; - } - // Node 12 - temp_v0_2 = (arg2 << 6); - sp2C = temp_v0_2; - controller_7000CBDC(arg2, 0x600, &rumble_off_buffer, (temp_v0_2 + &rumble_on_player_packet_buffers)); - controller_7000CBDC(arg2, 0x600, &rumble_on_buffer, (sp2C + &rumble_off_player1_packet_buffer)); - } - } - // Node 13 - return; - // (possible return value: 0) -} -#else -GLOBAL_ASM( -.text -glabel controller_7000CD38 -/* 00D938 7000CD38 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 00D93C 7000CD3C AFB00020 */ sw $s0, 0x20($sp) -/* 00D940 7000CD40 AFBF0024 */ sw $ra, 0x24($sp) -/* 00D944 7000CD44 24070080 */ li $a3, 128 -/* 00D948 7000CD48 00C08025 */ move $s0, $a2 -/* 00D94C 7000CD4C ACA40004 */ sw $a0, 4($a1) -/* 00D950 7000CD50 ACA60008 */ sw $a2, 8($a1) -/* 00D954 7000CD54 ACA00000 */ sw $zero, ($a1) -/* 00D958 7000CD58 A0A70065 */ sb $a3, 0x65($a1) -/* 00D95C 7000CD5C 27A20030 */ addiu $v0, $sp, 0x30 -/* 00D960 7000CD60 27A30050 */ addiu $v1, $sp, 0x50 -.L7000CD64: -/* 00D964 7000CD64 24420001 */ addiu $v0, $v0, 1 -/* 00D968 7000CD68 0043082B */ sltu $at, $v0, $v1 -/* 00D96C 7000CD6C 1420FFFD */ bnez $at, .L7000CD64 -/* 00D970 7000CD70 A047FFFF */ sb $a3, -1($v0) -/* 00D974 7000CD74 02002825 */ move $a1, $s0 -/* 00D978 7000CD78 24060400 */ li $a2, 1024 -/* 00D97C 7000CD7C 27A70030 */ addiu $a3, $sp, 0x30 -/* 00D980 7000CD80 AFA00010 */ sw $zero, 0x10($sp) -/* 00D984 7000CD84 0C005840 */ jal __osContRamWrite -/* 00D988 7000CD88 AFA40058 */ sw $a0, 0x58($sp) -/* 00D98C 7000CD8C 24010002 */ li $at, 2 -/* 00D990 7000CD90 14410008 */ bne $v0, $at, .L7000CDB4 -/* 00D994 7000CD94 00401825 */ move $v1, $v0 -/* 00D998 7000CD98 8FA40058 */ lw $a0, 0x58($sp) -/* 00D99C 7000CD9C 02002825 */ move $a1, $s0 -/* 00D9A0 7000CDA0 24060400 */ li $a2, 1024 -/* 00D9A4 7000CDA4 27A70030 */ addiu $a3, $sp, 0x30 -/* 00D9A8 7000CDA8 0C005840 */ jal __osContRamWrite -/* 00D9AC 7000CDAC AFA00010 */ sw $zero, 0x10($sp) -/* 00D9B0 7000CDB0 00401825 */ move $v1, $v0 -.L7000CDB4: -/* 00D9B4 7000CDB4 10400003 */ beqz $v0, .L7000CDC4 -/* 00D9B8 7000CDB8 8FA40058 */ lw $a0, 0x58($sp) -/* 00D9BC 7000CDBC 10000033 */ b .L7000CE8C -/* 00D9C0 7000CDC0 00601025 */ move $v0, $v1 -.L7000CDC4: -/* 00D9C4 7000CDC4 02002825 */ move $a1, $s0 -/* 00D9C8 7000CDC8 24060400 */ li $a2, 1024 -/* 00D9CC 7000CDCC 0C00592C */ jal __osContRamRead -/* 00D9D0 7000CDD0 27A70030 */ addiu $a3, $sp, 0x30 -/* 00D9D4 7000CDD4 10400003 */ beqz $v0, .L7000CDE4 -/* 00D9D8 7000CDD8 93AE004F */ lbu $t6, 0x4f($sp) -/* 00D9DC 7000CDDC 1000002C */ b .L7000CE90 -/* 00D9E0 7000CDE0 8FBF0024 */ lw $ra, 0x24($sp) -.L7000CDE4: -/* 00D9E4 7000CDE4 24010080 */ li $at, 128 -/* 00D9E8 7000CDE8 11C10003 */ beq $t6, $at, .L7000CDF8 -/* 00D9EC 7000CDEC 3C048006 */ lui $a0, %hi(rumble_off_buffer) -/* 00D9F0 7000CDF0 10000026 */ b .L7000CE8C -/* 00D9F4 7000CDF4 2402000B */ li $v0, 11 -.L7000CDF8: -/* 00D9F8 7000CDF8 3C038006 */ lui $v1, %hi(rumble_on_buffer) -/* 00D9FC 7000CDFC 3C058006 */ lui $a1, %hi(rumble_off_buffer) -/* 00DA00 7000CE00 24A557C0 */ addiu $a1, %lo(rumble_off_buffer) # addiu $a1, $a1, 0x57c0 -/* 00DA04 7000CE04 246357A0 */ addiu $v1, %lo(rumble_on_buffer) # addiu $v1, $v1, 0x57a0 -/* 00DA08 7000CE08 248457C0 */ addiu $a0, %lo(rumble_off_buffer) # addiu $a0, $a0, 0x57c0 -/* 00DA0C 7000CE0C 24020001 */ li $v0, 1 -.L7000CE10: -/* 00DA10 7000CE10 24630004 */ addiu $v1, $v1, 4 -/* 00DA14 7000CE14 A0820001 */ sb $v0, 1($a0) -/* 00DA18 7000CE18 A060FFFD */ sb $zero, -3($v1) -/* 00DA1C 7000CE1C A0820002 */ sb $v0, 2($a0) -/* 00DA20 7000CE20 A060FFFE */ sb $zero, -2($v1) -/* 00DA24 7000CE24 A0820003 */ sb $v0, 3($a0) -/* 00DA28 7000CE28 A060FFFF */ sb $zero, -1($v1) -/* 00DA2C 7000CE2C 24840004 */ addiu $a0, $a0, 4 -/* 00DA30 7000CE30 A082FFFC */ sb $v0, -4($a0) -/* 00DA34 7000CE34 1465FFF6 */ bne $v1, $a1, .L7000CE10 -/* 00DA38 7000CE38 A060FFFC */ sb $zero, -4($v1) -/* 00DA3C 7000CE3C 3C0F8006 */ lui $t7, %hi(rumble_on_player_packet_buffers) -/* 00DA40 7000CE40 25EF56A0 */ addiu $t7, %lo(rumble_on_player_packet_buffers) # addiu $t7, $t7, 0x56a0 -/* 00DA44 7000CE44 3C068006 */ lui $a2, %hi(rumble_off_buffer) -/* 00DA48 7000CE48 00101180 */ sll $v0, $s0, 6 -/* 00DA4C 7000CE4C 004F3821 */ addu $a3, $v0, $t7 -/* 00DA50 7000CE50 AFA2002C */ sw $v0, 0x2c($sp) -/* 00DA54 7000CE54 24C657C0 */ addiu $a2, %lo(rumble_off_buffer) # addiu $a2, $a2, 0x57c0 -/* 00DA58 7000CE58 02002025 */ move $a0, $s0 -/* 00DA5C 7000CE5C 0C0032F7 */ jal controller_7000CBDC -/* 00DA60 7000CE60 24050600 */ li $a1, 1536 -/* 00DA64 7000CE64 8FA2002C */ lw $v0, 0x2c($sp) -/* 00DA68 7000CE68 3C188006 */ lui $t8, %hi(rumble_off_player1_packet_buffer) -/* 00DA6C 7000CE6C 271855A0 */ addiu $t8, %lo(rumble_off_player1_packet_buffer) # addiu $t8, $t8, 0x55a0 -/* 00DA70 7000CE70 3C068006 */ lui $a2, %hi(rumble_on_buffer) -/* 00DA74 7000CE74 24C657A0 */ addiu $a2, %lo(rumble_on_buffer) # addiu $a2, $a2, 0x57a0 -/* 00DA78 7000CE78 02002025 */ move $a0, $s0 -/* 00DA7C 7000CE7C 24050600 */ li $a1, 1536 -/* 00DA80 7000CE80 0C0032F7 */ jal controller_7000CBDC -/* 00DA84 7000CE84 00583821 */ addu $a3, $v0, $t8 -/* 00DA88 7000CE88 00001025 */ move $v0, $zero -.L7000CE8C: -/* 00DA8C 7000CE8C 8FBF0024 */ lw $ra, 0x24($sp) -.L7000CE90: -/* 00DA90 7000CE90 8FB00020 */ lw $s0, 0x20($sp) -/* 00DA94 7000CE94 27BD0058 */ addiu $sp, $sp, 0x58 -/* 00DA98 7000CE98 03E00008 */ jr $ra -/* 00DA9C 7000CE9C 00000000 */ nop -) -#endif diff --git a/src/libultra/Mtx.s b/src/libultra/Mtx.s deleted file mode 100644 index 2a5f096..0000000 --- a/src/libultra/Mtx.s +++ /dev/null @@ -1,187 +0,0 @@ -# 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 deleted file mode 100644 index 0f7ac68..0000000 --- a/src/libultra/_Printf.s +++ /dev/null @@ -1,966 +0,0 @@ -# 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 deleted file mode 100644 index 9fa282a..0000000 --- a/src/libultra/__CSP.s +++ /dev/null @@ -1,1359 +0,0 @@ -# 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 deleted file mode 100644 index 5efe1de..0000000 --- a/src/libultra/__osDequeueThread.s +++ /dev/null @@ -1,41 +0,0 @@ -# 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 deleted file mode 100644 index d5f44e8..0000000 --- a/src/libultra/__osGetCurrFaultedThread.s +++ /dev/null @@ -1,14 +0,0 @@ -# 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 deleted file mode 100644 index 91e1883..0000000 --- a/src/libultra/__osGetFpcCsr.s +++ /dev/null @@ -1,14 +0,0 @@ -# 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 deleted file mode 100644 index 0beac9a..0000000 --- a/src/libultra/__osGetTLBHi.s +++ /dev/null @@ -1,21 +0,0 @@ -# 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 deleted file mode 100644 index 5dff282..0000000 --- a/src/libultra/__osSetFpcCsr.s +++ /dev/null @@ -1,14 +0,0 @@ -# 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 deleted file mode 100644 index 9fe0be1..0000000 --- a/src/libultra/_bcopy.s +++ /dev/null @@ -1,229 +0,0 @@ -# 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 deleted file mode 100644 index 73eefc0..0000000 --- a/src/libultra/alBnkfNew.s +++ /dev/null @@ -1,177 +0,0 @@ -# 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 deleted file mode 100644 index 0f380ae..0000000 --- a/src/libultra/alCSPGetState.s +++ /dev/null @@ -1,12 +0,0 @@ -# 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 deleted file mode 100644 index a1baa7a..0000000 --- a/src/libultra/alCSPPlay.s +++ /dev/null @@ -1,22 +0,0 @@ -# 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 deleted file mode 100644 index d028e49..0000000 --- a/src/libultra/alCSPSetSeq.s +++ /dev/null @@ -1,23 +0,0 @@ -# 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 deleted file mode 100644 index b921c28..0000000 --- a/src/libultra/alCSPSetVol.s +++ /dev/null @@ -1,26 +0,0 @@ -# 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 deleted file mode 100644 index e3664ab..0000000 --- a/src/libultra/alCSPStop.s +++ /dev/null @@ -1,23 +0,0 @@ -# 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 deleted file mode 100644 index 652d3fc..0000000 --- a/src/libultra/alCents2Ratio.s +++ /dev/null @@ -1,42 +0,0 @@ -# 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 deleted file mode 100644 index af9e72b..0000000 --- a/src/libultra/alEvtq.s +++ /dev/null @@ -1,244 +0,0 @@ -# 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 deleted file mode 100644 index 4902b32..0000000 --- a/src/libultra/alHeapInit.s +++ /dev/null @@ -1,25 +0,0 @@ -# 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 deleted file mode 100644 index 346a942..0000000 --- a/src/libultra/alInit.s +++ /dev/null @@ -1,101 +0,0 @@ -# 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 deleted file mode 100644 index d01eba0..0000000 --- a/src/libultra/alSeqpSetBank.s +++ /dev/null @@ -1,23 +0,0 @@ -# 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 deleted file mode 100644 index f385877..0000000 --- a/src/libultra/alSynAddPlayer.s +++ /dev/null @@ -1,30 +0,0 @@ -# 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 deleted file mode 100644 index 2a27082..0000000 --- a/src/libultra/alSynAllocVoice.s +++ /dev/null @@ -1,160 +0,0 @@ -# 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 deleted file mode 100644 index 40b7d92..0000000 --- a/src/libultra/alSynFreeVoice.s +++ /dev/null @@ -1,58 +0,0 @@ -# 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 deleted file mode 100644 index 66b9f1b..0000000 --- a/src/libultra/alSynSetFXMix.s +++ /dev/null @@ -1,51 +0,0 @@ -# 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 deleted file mode 100644 index 11b2318..0000000 --- a/src/libultra/alSynSetPan.s +++ /dev/null @@ -1,45 +0,0 @@ -# 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 deleted file mode 100644 index 4c2a977..0000000 --- a/src/libultra/alSynSetPitch.s +++ /dev/null @@ -1,45 +0,0 @@ -# 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 deleted file mode 100644 index 2f53d51..0000000 --- a/src/libultra/alSynSetVol.s +++ /dev/null @@ -1,51 +0,0 @@ -# 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 deleted file mode 100644 index 9922f3b..0000000 --- a/src/libultra/alSynStartVoice.s +++ /dev/null @@ -1,47 +0,0 @@ -# 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 deleted file mode 100644 index f0e8d19..0000000 --- a/src/libultra/alSynStopVoice.s +++ /dev/null @@ -1,42 +0,0 @@ -# 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 deleted file mode 100644 index daf7a70..0000000 --- a/src/libultra/csequencer.s +++ /dev/null @@ -1,774 +0,0 @@ -# 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 deleted file mode 100644 index de436cf..0000000 --- a/src/libultra/exception.s +++ /dev/null @@ -1,666 +0,0 @@ -# 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 deleted file mode 100644 index f054de8..0000000 --- a/src/libultra/guPerspective.s +++ /dev/null @@ -1,182 +0,0 @@ -# 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 deleted file mode 100644 index 32cbf72..0000000 --- a/src/libultra/libultra.s +++ /dev/null @@ -1,19707 +0,0 @@ -# Goldeneye 007 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# 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 .text -glabel osPfsInit -/* 015340 70014740 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 015344 70014744 AFBF0014 */ sw $ra, 0x14($sp) -/* 015348 70014748 AFA40020 */ sw $a0, 0x20($sp) -/* 01534C 7001474C AFA50024 */ sw $a1, 0x24($sp) -/* 015350 70014750 AFA60028 */ sw $a2, 0x28($sp) -/* 015354 70014754 0C005798 */ jal __osSiGetAccess -/* 015358 70014758 AFA0001C */ sw $zero, 0x1c($sp) -/* 01535C 7001475C 8FA40020 */ lw $a0, 0x20($sp) -/* 015360 70014760 0C0051FD */ jal __osPfsGetStatus -/* 015364 70014764 8FA50028 */ lw $a1, 0x28($sp) -/* 015368 70014768 0C0057A9 */ jal __osSiRelAccess -/* 01536C 7001476C AFA2001C */ sw $v0, 0x1c($sp) -/* 015370 70014770 8FAE001C */ lw $t6, 0x1c($sp) -/* 015374 70014774 11C00003 */ beqz $t6, .L70014784 -/* 015378 70014778 00000000 */ nop -/* 01537C 7001477C 10000019 */ b .L700147E4 -/* 015380 70014780 01C01025 */ move $v0, $t6 -.L70014784: -/* 015384 70014784 8FAF0020 */ lw $t7, 0x20($sp) -/* 015388 70014788 8FB80024 */ lw $t8, 0x24($sp) -/* 01538C 7001478C AF0F0004 */ sw $t7, 4($t8) -/* 015390 70014790 8FA80024 */ lw $t0, 0x24($sp) -/* 015394 70014794 8FB90028 */ lw $t9, 0x28($sp) -/* 015398 70014798 AD190008 */ sw $t9, 8($t0) -/* 01539C 7001479C 8FA90024 */ lw $t1, 0x24($sp) -/* 0153A0 700147A0 AD200000 */ sw $zero, ($t1) -/* 0153A4 700147A4 0C007C0D */ jal __osGetId -/* 0153A8 700147A8 8FA40024 */ lw $a0, 0x24($sp) -/* 0153AC 700147AC AFA2001C */ sw $v0, 0x1c($sp) -/* 0153B0 700147B0 8FAA001C */ lw $t2, 0x1c($sp) -/* 0153B4 700147B4 11400003 */ beqz $t2, .L700147C4 -/* 0153B8 700147B8 00000000 */ nop -/* 0153BC 700147BC 10000009 */ b .L700147E4 -/* 0153C0 700147C0 01401025 */ move $v0, $t2 -.L700147C4: -/* 0153C4 700147C4 0C002DCA */ jal osPfsChecker -/* 0153C8 700147C8 8FA40024 */ lw $a0, 0x24($sp) -/* 0153CC 700147CC 8FAB0024 */ lw $t3, 0x24($sp) -/* 0153D0 700147D0 AFA2001C */ sw $v0, 0x1c($sp) -/* 0153D4 700147D4 8D6C0000 */ lw $t4, ($t3) -/* 0153D8 700147D8 358D0001 */ ori $t5, $t4, 1 -/* 0153DC 700147DC AD6D0000 */ sw $t5, ($t3) -/* 0153E0 700147E0 8FA2001C */ lw $v0, 0x1c($sp) -.L700147E4: -/* 0153E4 700147E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0153E8 700147E8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0153EC 700147EC 03E00008 */ jr $ra -/* 0153F0 700147F0 00000000 */ nop - -glabel __osPfsGetStatus -/* 0153F4 700147F4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0153F8 700147F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0153FC 700147FC AFA40038 */ sw $a0, 0x38($sp) -/* 015400 70014800 AFA5003C */ sw $a1, 0x3c($sp) -/* 015404 70014804 AFA00034 */ sw $zero, 0x34($sp) -/* 015408 70014808 0C005710 */ jal __osPfsRequestData -/* 01540C 7001480C 00002025 */ move $a0, $zero -/* 015410 70014810 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 015414 70014814 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 015418 70014818 0C0057B4 */ jal __osSiRawStartDma -/* 01541C 7001481C 24040001 */ li $a0, 1 -/* 015420 70014820 AFA20034 */ sw $v0, 0x34($sp) -/* 015424 70014824 8FA40038 */ lw $a0, 0x38($sp) -/* 015428 70014828 27A50030 */ addiu $a1, $sp, 0x30 -/* 01542C 7001482C 0C003774 */ jal osRecvMesg -/* 015430 70014830 24060001 */ li $a2, 1 -/* 015434 70014834 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 015438 70014838 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 01543C 7001483C 0C0057B4 */ jal __osSiRawStartDma -/* 015440 70014840 00002025 */ move $a0, $zero -/* 015444 70014844 AFA20034 */ sw $v0, 0x34($sp) -/* 015448 70014848 8FA40038 */ lw $a0, 0x38($sp) -/* 01544C 7001484C 27A50030 */ addiu $a1, $sp, 0x30 -/* 015450 70014850 0C003774 */ jal osRecvMesg -/* 015454 70014854 24060001 */ li $a2, 1 -/* 015458 70014858 27A4002F */ addiu $a0, $sp, 0x2f -/* 01545C 7001485C 0C00574F */ jal __osPfsGetInitData -/* 015460 70014860 27A5001C */ addiu $a1, $sp, 0x1c -/* 015464 70014864 8FAE003C */ lw $t6, 0x3c($sp) -/* 015468 70014868 000E7880 */ sll $t7, $t6, 2 -/* 01546C 7001486C 03AFC021 */ addu $t8, $sp, $t7 -/* 015470 70014870 9318001E */ lbu $t8, 0x1e($t8) -/* 015474 70014874 33190001 */ andi $t9, $t8, 1 -/* 015478 70014878 13200006 */ beqz $t9, .L70014894 -/* 01547C 7001487C 00000000 */ nop -/* 015480 70014880 33080002 */ andi $t0, $t8, 2 -/* 015484 70014884 11000003 */ beqz $t0, .L70014894 -/* 015488 70014888 00000000 */ nop -/* 01548C 7001488C 10000018 */ b .L700148F0 -/* 015490 70014890 24020002 */ li $v0, 2 -.L70014894: -/* 015494 70014894 8FA9003C */ lw $t1, 0x3c($sp) -/* 015498 70014898 27AB001C */ addiu $t3, $sp, 0x1c -/* 01549C 7001489C 00095080 */ sll $t2, $t1, 2 -/* 0154A0 700148A0 014B6021 */ addu $t4, $t2, $t3 -/* 0154A4 700148A4 918D0003 */ lbu $t5, 3($t4) -/* 0154A8 700148A8 15A00005 */ bnez $t5, .L700148C0 -/* 0154AC 700148AC 00000000 */ nop -/* 0154B0 700148B0 918E0002 */ lbu $t6, 2($t4) -/* 0154B4 700148B4 31CF0001 */ andi $t7, $t6, 1 -/* 0154B8 700148B8 15E00003 */ bnez $t7, .L700148C8 -/* 0154BC 700148BC 00000000 */ nop -.L700148C0: -/* 0154C0 700148C0 1000000B */ b .L700148F0 -/* 0154C4 700148C4 24020001 */ li $v0, 1 -.L700148C8: -/* 0154C8 700148C8 8FB9003C */ lw $t9, 0x3c($sp) -/* 0154CC 700148CC 0019C080 */ sll $t8, $t9, 2 -/* 0154D0 700148D0 03B84021 */ addu $t0, $sp, $t8 -/* 0154D4 700148D4 9108001E */ lbu $t0, 0x1e($t0) -/* 0154D8 700148D8 31090004 */ andi $t1, $t0, 4 -/* 0154DC 700148DC 11200003 */ beqz $t1, .L700148EC -/* 0154E0 700148E0 00000000 */ nop -/* 0154E4 700148E4 10000002 */ b .L700148F0 -/* 0154E8 700148E8 24020004 */ li $v0, 4 -.L700148EC: -/* 0154EC 700148EC 8FA20034 */ lw $v0, 0x34($sp) -.L700148F0: -/* 0154F0 700148F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0154F4 700148F4 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0154F8 700148F8 03E00008 */ jr $ra -/* 0154FC 700148FC 00000000 */ nop - -glabel osContInit -/* 015500 70014900 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 015504 70014904 3C0E8002 */ lui $t6, %hi(__osContinitialized) -/* 015508 70014908 8DCE77B0 */ lw $t6, %lo(__osContinitialized)($t6) -/* 01550C 7001490C AFBF0024 */ sw $ra, 0x24($sp) -/* 015510 70014910 AFA40080 */ sw $a0, 0x80($sp) -/* 015514 70014914 AFA50084 */ sw $a1, 0x84($sp) -/* 015518 70014918 AFA60088 */ sw $a2, 0x88($sp) -/* 01551C 7001491C 11C00003 */ beqz $t6, .L7001492C -/* 015520 70014920 AFA00078 */ sw $zero, 0x78($sp) -/* 015524 70014924 10000070 */ b .L70014AE8 -/* 015528 70014928 00001025 */ move $v0, $zero -.L7001492C: -/* 01552C 7001492C 240F0001 */ li $t7, 1 -/* 015530 70014930 3C018002 */ lui $at, %hi(__osContinitialized) -/* 015534 70014934 0C003AEC */ jal osGetTime -/* 015538 70014938 AC2F77B0 */ sw $t7, %lo(__osContinitialized)($at) -/* 01553C 7001493C 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7 -/* 015540 70014940 3C068002 */ lui $a2, %hi(osClockRate) -/* 015544 70014944 3C078002 */ lui $a3, %hi(osClockRate+0x4) -/* 015548 70014948 AFA20070 */ sw $v0, 0x70($sp) -/* 01554C 7001494C AFA30074 */ sw $v1, 0x74($sp) -/* 015550 70014950 8CE76984 */ lw $a3, %lo(osClockRate+0x4)($a3) -/* 015554 70014954 8CC66980 */ lw $a2, %lo(osClockRate)($a2) -/* 015558 70014958 34A5A120 */ ori $a1, (0x0007A120 & 0xFFFF) # ori $a1, $a1, 0xa120 -/* 01555C 7001495C 0C003B6A */ jal __ll_mul -/* 015560 70014960 24040000 */ li $a0, 0 -/* 015564 70014964 AFA20030 */ sw $v0, 0x30($sp) -/* 015568 70014968 AFA30034 */ sw $v1, 0x34($sp) -/* 01556C 7001496C 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf -/* 015570 70014970 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 -/* 015574 70014974 8FA50034 */ lw $a1, 0x34($sp) -/* 015578 70014978 8FA40030 */ lw $a0, 0x30($sp) -/* 01557C 7001497C 0C003B2A */ jal __ull_div -/* 015580 70014980 24060000 */ li $a2, 0 -/* 015584 70014984 8FB80070 */ lw $t8, 0x70($sp) -/* 015588 70014988 8FB90074 */ lw $t9, 0x74($sp) -/* 01558C 7001498C 0058082B */ sltu $at, $v0, $t8 -/* 015590 70014990 14200031 */ bnez $at, .L70014A58 -/* 015594 70014994 0302082B */ sltu $at, $t8, $v0 -/* 015598 70014998 14200003 */ bnez $at, .L700149A8 -/* 01559C 7001499C 0323082B */ sltu $at, $t9, $v1 -/* 0155A0 700149A0 1020002D */ beqz $at, .L70014A58 -/* 0155A4 700149A4 00000000 */ nop -.L700149A8: -/* 0155A8 700149A8 27A40038 */ addiu $a0, $sp, 0x38 -/* 0155AC 700149AC 27A5007C */ addiu $a1, $sp, 0x7c -/* 0155B0 700149B0 0C0035B4 */ jal osCreateMesgQueue -/* 0155B4 700149B4 24060001 */ li $a2, 1 -/* 0155B8 700149B8 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7 -/* 0155BC 700149BC 3C068002 */ lui $a2, %hi(osClockRate) -/* 0155C0 700149C0 3C078002 */ lui $a3, %hi(osClockRate+4) -/* 0155C4 700149C4 8CE76984 */ lw $a3, %lo(osClockRate+4)($a3) -/* 0155C8 700149C8 8CC66980 */ lw $a2, %lo(osClockRate)($a2) -/* 0155CC 700149CC 34A5A120 */ ori $a1, (0x0007A120 & 0xFFFF) # ori $a1, $a1, 0xa120 -/* 0155D0 700149D0 0C003B6A */ jal __ll_mul -/* 0155D4 700149D4 24040000 */ li $a0, 0 -/* 0155D8 700149D8 AFA20028 */ sw $v0, 0x28($sp) -/* 0155DC 700149DC AFA3002C */ sw $v1, 0x2c($sp) -/* 0155E0 700149E0 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf -/* 0155E4 700149E4 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 -/* 0155E8 700149E8 8FA5002C */ lw $a1, 0x2c($sp) -/* 0155EC 700149EC 8FA40028 */ lw $a0, 0x28($sp) -/* 0155F0 700149F0 0C003B2A */ jal __ull_div -/* 0155F4 700149F4 24060000 */ li $a2, 0 -/* 0155F8 700149F8 AFA20030 */ sw $v0, 0x30($sp) -/* 0155FC 700149FC AFA30034 */ sw $v1, 0x34($sp) -/* 015600 70014A00 8FA90034 */ lw $t1, 0x34($sp) -/* 015604 70014A04 8FA80030 */ lw $t0, 0x30($sp) -/* 015608 70014A08 8FAA0070 */ lw $t2, 0x70($sp) -/* 01560C 70014A0C 8FAB0074 */ lw $t3, 0x74($sp) -/* 015610 70014A10 240C0000 */ li $t4, 0 -/* 015614 70014A14 240D0000 */ li $t5, 0 -/* 015618 70014A18 27AE0038 */ addiu $t6, $sp, 0x38 -/* 01561C 70014A1C 27AF007C */ addiu $t7, $sp, 0x7c -/* 015620 70014A20 010A3023 */ subu $a2, $t0, $t2 -/* 015624 70014A24 012B082B */ sltu $at, $t1, $t3 -/* 015628 70014A28 00C13023 */ subu $a2, $a2, $at -/* 01562C 70014A2C AFAF001C */ sw $t7, 0x1c($sp) -/* 015630 70014A30 AFAE0018 */ sw $t6, 0x18($sp) -/* 015634 70014A34 AFAD0014 */ sw $t5, 0x14($sp) -/* 015638 70014A38 AFAC0010 */ sw $t4, 0x10($sp) -/* 01563C 70014A3C 27A40050 */ addiu $a0, $sp, 0x50 -/* 015640 70014A40 0C004314 */ jal osSetTimer -/* 015644 70014A44 012B3823 */ subu $a3, $t1, $t3 -/* 015648 70014A48 27A40038 */ addiu $a0, $sp, 0x38 -/* 01564C 70014A4C 27A5007C */ addiu $a1, $sp, 0x7c -/* 015650 70014A50 0C003774 */ jal osRecvMesg -/* 015654 70014A54 24060001 */ li $a2, 1 -.L70014A58: -/* 015658 70014A58 24180004 */ li $t8, 4 -/* 01565C 70014A5C 3C018006 */ lui $at, %hi(__osMaxControllers) -/* 015660 70014A60 A0387CE1 */ sb $t8, %lo(__osMaxControllers)($at) -/* 015664 70014A64 0C0052F2 */ jal __osPackRequestData -/* 015668 70014A68 00002025 */ move $a0, $zero -/* 01566C 70014A6C 3C058006 */ lui $a1, %hi(__osContPifRam) -/* 015670 70014A70 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 015674 70014A74 0C0057B4 */ jal __osSiRawStartDma -/* 015678 70014A78 24040001 */ li $a0, 1 -/* 01567C 70014A7C AFA20078 */ sw $v0, 0x78($sp) -/* 015680 70014A80 8FA40080 */ lw $a0, 0x80($sp) -/* 015684 70014A84 27A5007C */ addiu $a1, $sp, 0x7c -/* 015688 70014A88 0C003774 */ jal osRecvMesg -/* 01568C 70014A8C 24060001 */ li $a2, 1 -/* 015690 70014A90 3C058006 */ lui $a1, %hi(__osContPifRam) -/* 015694 70014A94 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 015698 70014A98 0C0057B4 */ jal __osSiRawStartDma -/* 01569C 70014A9C 00002025 */ move $a0, $zero -/* 0156A0 70014AA0 AFA20078 */ sw $v0, 0x78($sp) -/* 0156A4 70014AA4 8FA40080 */ lw $a0, 0x80($sp) -/* 0156A8 70014AA8 27A5007C */ addiu $a1, $sp, 0x7c -/* 0156AC 70014AAC 0C003774 */ jal osRecvMesg -/* 0156B0 70014AB0 24060001 */ li $a2, 1 -/* 0156B4 70014AB4 8FA40084 */ lw $a0, 0x84($sp) -/* 0156B8 70014AB8 0C0052BE */ jal __osContGetInitData -/* 0156BC 70014ABC 8FA50088 */ lw $a1, 0x88($sp) -/* 0156C0 70014AC0 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 0156C4 70014AC4 0C005784 */ jal __osSiCreateAccessQueue -/* 0156C8 70014AC8 A0207CE0 */ sb $zero, %lo(__osContLastCmd)($at) -/* 0156CC 70014ACC 3C048006 */ lui $a0, %hi(__osEepromTimerQ) -/* 0156D0 70014AD0 3C058006 */ lui $a1, %hi(__osEepromTimerMsg) -/* 0156D4 70014AD4 24A57D20 */ addiu $a1, %lo(__osEepromTimerMsg) # addiu $a1, $a1, 0x7d20 -/* 0156D8 70014AD8 24847D08 */ addiu $a0, %lo(__osEepromTimerQ) # addiu $a0, $a0, 0x7d08 -/* 0156DC 70014ADC 0C0035B4 */ jal osCreateMesgQueue -/* 0156E0 70014AE0 24060001 */ li $a2, 1 -/* 0156E4 70014AE4 8FA20078 */ lw $v0, 0x78($sp) -.L70014AE8: -/* 0156E8 70014AE8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0156EC 70014AEC 27BD0080 */ addiu $sp, $sp, 0x80 -/* 0156F0 70014AF0 03E00008 */ jr $ra -/* 0156F4 70014AF4 00000000 */ nop - -glabel __osContGetInitData -/* 0156F8 70014AF8 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 0156FC 70014AFC 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 015700 70014B00 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 015704 70014B04 3C0E8006 */ lui $t6, %hi(__osContPifRam) -/* 015708 70014B08 25CE7CA0 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, 0x7ca0 -/* 01570C 70014B0C A3A00007 */ sb $zero, 7($sp) -/* 015710 70014B10 AFAE0014 */ sw $t6, 0x14($sp) -/* 015714 70014B14 19E00028 */ blez $t7, .L70014BB8 -/* 015718 70014B18 AFA00008 */ sw $zero, 8($sp) -.L70014B1C: -/* 01571C 70014B1C 8FB90014 */ lw $t9, 0x14($sp) -/* 015720 70014B20 27B8000C */ addiu $t8, $sp, 0xc -/* 015724 70014B24 8B210000 */ lwl $at, ($t9) -/* 015728 70014B28 9B210003 */ lwr $at, 3($t9) -/* 01572C 70014B2C AF010000 */ sw $at, ($t8) -/* 015730 70014B30 8B290004 */ lwl $t1, 4($t9) -/* 015734 70014B34 9B290007 */ lwr $t1, 7($t9) -/* 015738 70014B38 AF090004 */ sw $t1, 4($t8) -/* 01573C 70014B3C 93AA000E */ lbu $t2, 0xe($sp) -/* 015740 70014B40 314B00C0 */ andi $t3, $t2, 0xc0 -/* 015744 70014B44 000B6103 */ sra $t4, $t3, 4 -/* 015748 70014B48 A0AC0003 */ sb $t4, 3($a1) -/* 01574C 70014B4C 90AD0003 */ lbu $t5, 3($a1) -/* 015750 70014B50 15A0000E */ bnez $t5, .L70014B8C -/* 015754 70014B54 00000000 */ nop -/* 015758 70014B58 93AE0011 */ lbu $t6, 0x11($sp) -/* 01575C 70014B5C 93A80010 */ lbu $t0, 0x10($sp) -/* 015760 70014B60 240B0001 */ li $t3, 1 -/* 015764 70014B64 000E7A00 */ sll $t7, $t6, 8 -/* 015768 70014B68 01E8C025 */ or $t8, $t7, $t0 -/* 01576C 70014B6C A4B80000 */ sh $t8, ($a1) -/* 015770 70014B70 93B90012 */ lbu $t9, 0x12($sp) -/* 015774 70014B74 A0B90002 */ sb $t9, 2($a1) -/* 015778 70014B78 8FAA0008 */ lw $t2, 8($sp) -/* 01577C 70014B7C 93A90007 */ lbu $t1, 7($sp) -/* 015780 70014B80 014B6004 */ sllv $t4, $t3, $t2 -/* 015784 70014B84 012C6825 */ or $t5, $t1, $t4 -/* 015788 70014B88 A3AD0007 */ sb $t5, 7($sp) -.L70014B8C: -/* 01578C 70014B8C 8FAE0008 */ lw $t6, 8($sp) -/* 015790 70014B90 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 015794 70014B94 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 015798 70014B98 8FA80014 */ lw $t0, 0x14($sp) -/* 01579C 70014B9C 25CF0001 */ addiu $t7, $t6, 1 -/* 0157A0 70014BA0 01F9082A */ slt $at, $t7, $t9 -/* 0157A4 70014BA4 25180008 */ addiu $t8, $t0, 8 -/* 0157A8 70014BA8 AFB80014 */ sw $t8, 0x14($sp) -/* 0157AC 70014BAC AFAF0008 */ sw $t7, 8($sp) -/* 0157B0 70014BB0 1420FFDA */ bnez $at, .L70014B1C -/* 0157B4 70014BB4 24A50004 */ addiu $a1, $a1, 4 -.L70014BB8: -/* 0157B8 70014BB8 93AB0007 */ lbu $t3, 7($sp) -/* 0157BC 70014BBC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0157C0 70014BC0 03E00008 */ jr $ra -/* 0157C4 70014BC4 A08B0000 */ sb $t3, ($a0) - -glabel __osPackRequestData -/* 0157C8 70014BC8 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0157CC 70014BCC 308400FF */ andi $a0, $a0, 0xff -/* 0157D0 70014BD0 AFA00000 */ sw $zero, ($sp) -.L70014BD4: -/* 0157D4 70014BD4 8FAE0000 */ lw $t6, ($sp) -/* 0157D8 70014BD8 8FB80000 */ lw $t8, ($sp) -/* 0157DC 70014BDC 3C018006 */ lui $at, %hi(__osContPifRam) -/* 0157E0 70014BE0 000E7880 */ sll $t7, $t6, 2 -/* 0157E4 70014BE4 002F0821 */ addu $at, $at, $t7 -/* 0157E8 70014BE8 AC207CA0 */ sw $zero, %lo(__osContPifRam)($at) -/* 0157EC 70014BEC 27190001 */ addiu $t9, $t8, 1 -/* 0157F0 70014BF0 2B210010 */ slti $at, $t9, 0x10 -/* 0157F4 70014BF4 1420FFF7 */ bnez $at, .L70014BD4 -/* 0157F8 70014BF8 AFB90000 */ sw $t9, ($sp) -/* 0157FC 70014BFC 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 015800 70014C00 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 015804 70014C04 3C098006 */ lui $t1, %hi(__osContPifRam) -/* 015808 70014C08 24080001 */ li $t0, 1 -/* 01580C 70014C0C 3C018006 */ lui $at, %hi(__osContPifRam+0x3c) -/* 015810 70014C10 25297CA0 */ addiu $t1, %lo(__osContPifRam) # addiu $t1, $t1, 0x7ca0 -/* 015814 70014C14 240A00FF */ li $t2, 255 -/* 015818 70014C18 240B0001 */ li $t3, 1 -/* 01581C 70014C1C 240C0003 */ li $t4, 3 -/* 015820 70014C20 240D00FF */ li $t5, 255 -/* 015824 70014C24 240E00FF */ li $t6, 255 -/* 015828 70014C28 240F00FF */ li $t7, 255 -/* 01582C 70014C2C 241800FF */ li $t8, 255 -/* 015830 70014C30 AC287CDC */ sw $t0, %lo(__osContPifRam+0x3c)($at) -/* 015834 70014C34 AFA9000C */ sw $t1, 0xc($sp) -/* 015838 70014C38 A3AA0004 */ sb $t2, 4($sp) -/* 01583C 70014C3C A3AB0005 */ sb $t3, 5($sp) -/* 015840 70014C40 A3AC0006 */ sb $t4, 6($sp) -/* 015844 70014C44 A3A40007 */ sb $a0, 7($sp) -/* 015848 70014C48 A3AD0008 */ sb $t5, 8($sp) -/* 01584C 70014C4C A3AE0009 */ sb $t6, 9($sp) -/* 015850 70014C50 A3AF000A */ sb $t7, 0xa($sp) -/* 015854 70014C54 A3B8000B */ sb $t8, 0xb($sp) -/* 015858 70014C58 1B200013 */ blez $t9, .L70014CA8 -/* 01585C 70014C5C AFA00000 */ sw $zero, ($sp) -.L70014C60: -/* 015860 70014C60 27A90004 */ addiu $t1, $sp, 4 -/* 015864 70014C64 8D210000 */ lw $at, ($t1) -/* 015868 70014C68 8FA8000C */ lw $t0, 0xc($sp) -/* 01586C 70014C6C 3C188006 */ lui $t8, %hi(__osMaxControllers) -/* 015870 70014C70 A9010000 */ swl $at, ($t0) -/* 015874 70014C74 B9010003 */ swr $at, 3($t0) -/* 015878 70014C78 8D2B0004 */ lw $t3, 4($t1) -/* 01587C 70014C7C A90B0004 */ swl $t3, 4($t0) -/* 015880 70014C80 B90B0007 */ swr $t3, 7($t0) -/* 015884 70014C84 8FAE0000 */ lw $t6, ($sp) -/* 015888 70014C88 93187CE1 */ lbu $t8, %lo(__osMaxControllers)($t8) -/* 01588C 70014C8C 8FAC000C */ lw $t4, 0xc($sp) -/* 015890 70014C90 25CF0001 */ addiu $t7, $t6, 1 -/* 015894 70014C94 01F8082A */ slt $at, $t7, $t8 -/* 015898 70014C98 258D0008 */ addiu $t5, $t4, 8 -/* 01589C 70014C9C AFAF0000 */ sw $t7, ($sp) -/* 0158A0 70014CA0 1420FFEF */ bnez $at, .L70014C60 -/* 0158A4 70014CA4 AFAD000C */ sw $t5, 0xc($sp) -.L70014CA8: -/* 0158A8 70014CA8 8FAA000C */ lw $t2, 0xc($sp) -/* 0158AC 70014CAC 241900FE */ li $t9, 254 -/* 0158B0 70014CB0 27BD0010 */ addiu $sp, $sp, 0x10 -/* 0158B4 70014CB4 03E00008 */ jr $ra -/* 0158B8 70014CB8 A1590000 */ sb $t9, ($t2) - -/* 0158BC 70014CBC 00000000 */ nop - -.section .data -glabel __osContinitialized -.word 0 -.align 4 - -.section .bss -glabel __osContPifRam -.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 - -glabel __osContLastCmd -.byte 0 - -glabel __osMaxControllers -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 - -glabel __osEepromTimer -.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 - -glabel __osEepromTimerQ -.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 - -glabel __osEepromTimerMsg -.word 0 -glabel padding_80067d24 -.word 0, 0, 0 - - -.section .text -glabel osContStartQuery -/* 0158C0 70014CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0158C4 70014CC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0158C8 70014CC8 AFA40020 */ sw $a0, 0x20($sp) -/* 0158CC 70014CCC 0C005798 */ jal __osSiGetAccess -/* 0158D0 70014CD0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0158D4 70014CD4 3C0E8006 */ lui $t6, %hi(__osContLastCmd) -/* 0158D8 70014CD8 91CE7CE0 */ lbu $t6, %lo(__osContLastCmd)($t6) -/* 0158DC 70014CDC 11C0000C */ beqz $t6, .L70014D10 -/* 0158E0 70014CE0 00000000 */ nop -/* 0158E4 70014CE4 0C0052F2 */ jal __osPackRequestData -/* 0158E8 70014CE8 00002025 */ move $a0, $zero -/* 0158EC 70014CEC 3C058006 */ lui $a1, %hi(__osContPifRam) -/* 0158F0 70014CF0 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 0158F4 70014CF4 0C0057B4 */ jal __osSiRawStartDma -/* 0158F8 70014CF8 24040001 */ li $a0, 1 -/* 0158FC 70014CFC AFA2001C */ sw $v0, 0x1c($sp) -/* 015900 70014D00 8FA40020 */ lw $a0, 0x20($sp) -/* 015904 70014D04 00002825 */ move $a1, $zero -/* 015908 70014D08 0C003774 */ jal osRecvMesg -/* 01590C 70014D0C 24060001 */ li $a2, 1 -.L70014D10: -/* 015910 70014D10 3C058006 */ lui $a1, %hi(__osContPifRam) -/* 015914 70014D14 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 015918 70014D18 0C0057B4 */ jal __osSiRawStartDma -/* 01591C 70014D1C 00002025 */ move $a0, $zero -/* 015920 70014D20 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 015924 70014D24 AFA2001C */ sw $v0, 0x1c($sp) -/* 015928 70014D28 0C0057A9 */ jal __osSiRelAccess -/* 01592C 70014D2C A0207CE0 */ sb $zero, %lo(__osContLastCmd)($at) -/* 015930 70014D30 8FBF0014 */ lw $ra, 0x14($sp) -/* 015934 70014D34 8FA2001C */ lw $v0, 0x1c($sp) -/* 015938 70014D38 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01593C 70014D3C 03E00008 */ jr $ra -/* 015940 70014D40 00000000 */ nop - -glabel osContGetQuery -/* 015944 70014D44 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 015948 70014D48 AFBF0014 */ sw $ra, 0x14($sp) -/* 01594C 70014D4C AFA40020 */ sw $a0, 0x20($sp) -/* 015950 70014D50 8FA50020 */ lw $a1, 0x20($sp) -/* 015954 70014D54 0C0052BE */ jal __osContGetInitData -/* 015958 70014D58 27A4001F */ addiu $a0, $sp, 0x1f -/* 01595C 70014D5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 015960 70014D60 27BD0020 */ addiu $sp, $sp, 0x20 -/* 015964 70014D64 03E00008 */ jr $ra -/* 015968 70014D68 00000000 */ nop - -/* 01596C 70014D6C 00000000 */ nop -glabel osContStartReadData -/* 015970 70014D70 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 015974 70014D74 AFBF0014 */ sw $ra, 0x14($sp) -/* 015978 70014D78 AFA40020 */ sw $a0, 0x20($sp) -/* 01597C 70014D7C 0C005798 */ jal __osSiGetAccess -/* 015980 70014D80 AFA0001C */ sw $zero, 0x1c($sp) -/* 015984 70014D84 3C0E8006 */ lui $t6, %hi(__osContLastCmd) -/* 015988 70014D88 91CE7CE0 */ lbu $t6, %lo(__osContLastCmd)($t6) -/* 01598C 70014D8C 24010001 */ li $at, 1 -/* 015990 70014D90 11C1000C */ beq $t6, $at, .L70014DC4 -/* 015994 70014D94 00000000 */ nop -/* 015998 70014D98 0C0053B7 */ jal osContReadData_sub -/* 01599C 70014D9C 00000000 */ nop -/* 0159A0 70014DA0 3C058006 */ lui $a1, %hi(__osContPifRam) -/* 0159A4 70014DA4 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 0159A8 70014DA8 0C0057B4 */ jal __osSiRawStartDma -/* 0159AC 70014DAC 24040001 */ li $a0, 1 -/* 0159B0 70014DB0 AFA2001C */ sw $v0, 0x1c($sp) -/* 0159B4 70014DB4 8FA40020 */ lw $a0, 0x20($sp) -/* 0159B8 70014DB8 00002825 */ move $a1, $zero -/* 0159BC 70014DBC 0C003774 */ jal osRecvMesg -/* 0159C0 70014DC0 24060001 */ li $a2, 1 -.L70014DC4: -/* 0159C4 70014DC4 AFA00018 */ sw $zero, 0x18($sp) -.L70014DC8: -/* 0159C8 70014DC8 8FB80018 */ lw $t8, 0x18($sp) -/* 0159CC 70014DCC 8FA80018 */ lw $t0, 0x18($sp) -/* 0159D0 70014DD0 3C018006 */ lui $at, %hi(__osContPifRam) -/* 0159D4 70014DD4 0018C880 */ sll $t9, $t8, 2 -/* 0159D8 70014DD8 00390821 */ addu $at, $at, $t9 -/* 0159DC 70014DDC 240F00FF */ li $t7, 255 -/* 0159E0 70014DE0 AC2F7CA0 */ sw $t7, %lo(__osContPifRam)($at) -/* 0159E4 70014DE4 25090001 */ addiu $t1, $t0, 1 -/* 0159E8 70014DE8 29210010 */ slti $at, $t1, 0x10 -/* 0159EC 70014DEC 1420FFF6 */ bnez $at, .L70014DC8 -/* 0159F0 70014DF0 AFA90018 */ sw $t1, 0x18($sp) -/* 0159F4 70014DF4 3C018006 */ lui $at, %hi(__osContPifRam+0x3c) -/* 0159F8 70014DF8 3C058006 */ lui $a1, %hi(__osContPifRam) -/* 0159FC 70014DFC AC207CDC */ sw $zero, %lo(__osContPifRam+0x3c)($at) -/* 015A00 70014E00 24A57CA0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, 0x7ca0 -/* 015A04 70014E04 0C0057B4 */ jal __osSiRawStartDma -/* 015A08 70014E08 00002025 */ move $a0, $zero -/* 015A0C 70014E0C 240A0001 */ li $t2, 1 -/* 015A10 70014E10 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 015A14 70014E14 AFA2001C */ sw $v0, 0x1c($sp) -/* 015A18 70014E18 0C0057A9 */ jal __osSiRelAccess -/* 015A1C 70014E1C A02A7CE0 */ sb $t2, %lo(__osContLastCmd)($at) -/* 015A20 70014E20 8FBF0014 */ lw $ra, 0x14($sp) -/* 015A24 70014E24 8FA2001C */ lw $v0, 0x1c($sp) -/* 015A28 70014E28 27BD0020 */ addiu $sp, $sp, 0x20 -/* 015A2C 70014E2C 03E00008 */ jr $ra -/* 015A30 70014E30 00000000 */ nop - -glabel osContGetReadData -/* 015A34 70014E34 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 015A38 70014E38 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 015A3C 70014E3C 3C0E8006 */ lui $t6, %hi(__osContPifRam) -/* 015A40 70014E40 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 015A44 70014E44 25CE7CA0 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, 0x7ca0 -/* 015A48 70014E48 AFAE000C */ sw $t6, 0xc($sp) -/* 015A4C 70014E4C 19E00021 */ blez $t7, .L70014ED4 -/* 015A50 70014E50 AFA00000 */ sw $zero, ($sp) -.L70014E54: -/* 015A54 70014E54 8FB9000C */ lw $t9, 0xc($sp) -/* 015A58 70014E58 27B80004 */ addiu $t8, $sp, 4 -/* 015A5C 70014E5C 8B210000 */ lwl $at, ($t9) -/* 015A60 70014E60 9B210003 */ lwr $at, 3($t9) -/* 015A64 70014E64 AF010000 */ sw $at, ($t8) -/* 015A68 70014E68 8B290004 */ lwl $t1, 4($t9) -/* 015A6C 70014E6C 9B290007 */ lwr $t1, 7($t9) -/* 015A70 70014E70 AF090004 */ sw $t1, 4($t8) -/* 015A74 70014E74 93AA0006 */ lbu $t2, 6($sp) -/* 015A78 70014E78 314B00C0 */ andi $t3, $t2, 0xc0 -/* 015A7C 70014E7C 000B6103 */ sra $t4, $t3, 4 -/* 015A80 70014E80 A08C0004 */ sb $t4, 4($a0) -/* 015A84 70014E84 908D0004 */ lbu $t5, 4($a0) -/* 015A88 70014E88 15A00007 */ bnez $t5, .L70014EA8 -/* 015A8C 70014E8C 00000000 */ nop -/* 015A90 70014E90 97AE0008 */ lhu $t6, 8($sp) -/* 015A94 70014E94 A48E0000 */ sh $t6, ($a0) -/* 015A98 70014E98 83AF000A */ lb $t7, 0xa($sp) -/* 015A9C 70014E9C A08F0002 */ sb $t7, 2($a0) -/* 015AA0 70014EA0 83A8000B */ lb $t0, 0xb($sp) -/* 015AA4 70014EA4 A0880003 */ sb $t0, 3($a0) -.L70014EA8: -/* 015AA8 70014EA8 8FB80000 */ lw $t8, ($sp) -/* 015AAC 70014EAC 3C0B8006 */ lui $t3, %hi(__osMaxControllers) -/* 015AB0 70014EB0 916B7CE1 */ lbu $t3, %lo(__osMaxControllers)($t3) -/* 015AB4 70014EB4 8FA9000C */ lw $t1, 0xc($sp) -/* 015AB8 70014EB8 27190001 */ addiu $t9, $t8, 1 -/* 015ABC 70014EBC 032B082A */ slt $at, $t9, $t3 -/* 015AC0 70014EC0 252A0008 */ addiu $t2, $t1, 8 -/* 015AC4 70014EC4 AFAA000C */ sw $t2, 0xc($sp) -/* 015AC8 70014EC8 AFB90000 */ sw $t9, ($sp) -/* 015ACC 70014ECC 1420FFE1 */ bnez $at, .L70014E54 -/* 015AD0 70014ED0 24840006 */ addiu $a0, $a0, 6 -.L70014ED4: -/* 015AD4 70014ED4 03E00008 */ jr $ra -/* 015AD8 70014ED8 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel osContReadData_sub -/* 015ADC 70014EDC 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 015AE0 70014EE0 3C0E8006 */ lui $t6, %hi(__osContPifRam) -/* 015AE4 70014EE4 25CE7CA0 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, 0x7ca0 -/* 015AE8 70014EE8 AFAE000C */ sw $t6, 0xc($sp) -/* 015AEC 70014EEC AFA00000 */ sw $zero, ($sp) -.L70014EF0: -/* 015AF0 70014EF0 8FAF0000 */ lw $t7, ($sp) -/* 015AF4 70014EF4 8FB90000 */ lw $t9, ($sp) -/* 015AF8 70014EF8 3C018006 */ lui $at, %hi(__osContPifRam) -/* 015AFC 70014EFC 000FC080 */ sll $t8, $t7, 2 -/* 015B00 70014F00 00380821 */ addu $at, $at, $t8 -/* 015B04 70014F04 AC207CA0 */ sw $zero, %lo(__osContPifRam)($at) -/* 015B08 70014F08 27280001 */ addiu $t0, $t9, 1 -/* 015B0C 70014F0C 29010010 */ slti $at, $t0, 0x10 -/* 015B10 70014F10 1420FFF7 */ bnez $at, .L70014EF0 -/* 015B14 70014F14 AFA80000 */ sw $t0, ($sp) -/* 015B18 70014F18 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 015B1C 70014F1C 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 015B20 70014F20 24090001 */ li $t1, 1 -/* 015B24 70014F24 3C018006 */ lui $at, %hi(__osContPifRam+0x3c) -/* 015B28 70014F28 240A00FF */ li $t2, 255 -/* 015B2C 70014F2C 240B0001 */ li $t3, 1 -/* 015B30 70014F30 240C0004 */ li $t4, 4 -/* 015B34 70014F34 240D0001 */ li $t5, 1 -/* 015B38 70014F38 340EFFFF */ li $t6, 65535 -/* 015B3C 70014F3C 240FFFFF */ li $t7, -1 -/* 015B40 70014F40 2418FFFF */ li $t8, -1 -/* 015B44 70014F44 AC297CDC */ sw $t1, %lo(__osContPifRam+0x3c)($at) -/* 015B48 70014F48 A3AA0004 */ sb $t2, 4($sp) -/* 015B4C 70014F4C A3AB0005 */ sb $t3, 5($sp) -/* 015B50 70014F50 A3AC0006 */ sb $t4, 6($sp) -/* 015B54 70014F54 A3AD0007 */ sb $t5, 7($sp) -/* 015B58 70014F58 A7AE0008 */ sh $t6, 8($sp) -/* 015B5C 70014F5C A3AF000A */ sb $t7, 0xa($sp) -/* 015B60 70014F60 A3B8000B */ sb $t8, 0xb($sp) -/* 015B64 70014F64 1B200013 */ blez $t9, .L70014FB4 -/* 015B68 70014F68 AFA00000 */ sw $zero, ($sp) -.L70014F6C: -/* 015B6C 70014F6C 27A90004 */ addiu $t1, $sp, 4 -/* 015B70 70014F70 8D210000 */ lw $at, ($t1) -/* 015B74 70014F74 8FA8000C */ lw $t0, 0xc($sp) -/* 015B78 70014F78 3C188006 */ lui $t8, %hi(__osMaxControllers) -/* 015B7C 70014F7C A9010000 */ swl $at, ($t0) -/* 015B80 70014F80 B9010003 */ swr $at, 3($t0) -/* 015B84 70014F84 8D2B0004 */ lw $t3, 4($t1) -/* 015B88 70014F88 A90B0004 */ swl $t3, 4($t0) -/* 015B8C 70014F8C B90B0007 */ swr $t3, 7($t0) -/* 015B90 70014F90 8FAE0000 */ lw $t6, ($sp) -/* 015B94 70014F94 93187CE1 */ lbu $t8, %lo(__osMaxControllers)($t8) -/* 015B98 70014F98 8FAC000C */ lw $t4, 0xc($sp) -/* 015B9C 70014F9C 25CF0001 */ addiu $t7, $t6, 1 -/* 015BA0 70014FA0 01F8082A */ slt $at, $t7, $t8 -/* 015BA4 70014FA4 258D0008 */ addiu $t5, $t4, 8 -/* 015BA8 70014FA8 AFAF0000 */ sw $t7, ($sp) -/* 015BAC 70014FAC 1420FFEF */ bnez $at, .L70014F6C -/* 015BB0 70014FB0 AFAD000C */ sw $t5, 0xc($sp) -.L70014FB4: -/* 015BB4 70014FB4 8FAA000C */ lw $t2, 0xc($sp) -/* 015BB8 70014FB8 241900FE */ li $t9, 254 -/* 015BBC 70014FBC 27BD0010 */ addiu $sp, $sp, 0x10 -/* 015BC0 70014FC0 03E00008 */ jr $ra -/* 015BC4 70014FC4 A1590000 */ sb $t9, ($t2) - -/* 015BC8 70014FC8 00000000 */ nop -/* 015BCC 70014FCC 00000000 */ nop -glabel osEepromProbe -/* 015BD0 70014FD0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 015BD4 70014FD4 AFBF0014 */ sw $ra, 0x14($sp) -/* 015BD8 70014FD8 AFA40020 */ sw $a0, 0x20($sp) -/* 015BDC 70014FDC 0C005798 */ jal __osSiGetAccess -/* 015BE0 70014FE0 AFA0001C */ sw $zero, 0x1c($sp) -/* 015BE4 70014FE4 8FA40020 */ lw $a0, 0x20($sp) -/* 015BE8 70014FE8 0C00557F */ jal __osEepStatus -/* 015BEC 70014FEC 27A50018 */ addiu $a1, $sp, 0x18 -/* 015BF0 70014FF0 AFA2001C */ sw $v0, 0x1c($sp) -/* 015BF4 70014FF4 8FAE001C */ lw $t6, 0x1c($sp) -/* 015BF8 70014FF8 15C00008 */ bnez $t6, .L7001501C -/* 015BFC 70014FFC 00000000 */ nop -/* 015C00 70015000 97AF0018 */ lhu $t7, 0x18($sp) -/* 015C04 70015004 31F88000 */ andi $t8, $t7, 0x8000 -/* 015C08 70015008 13000004 */ beqz $t8, .L7001501C -/* 015C0C 7001500C 00000000 */ nop -/* 015C10 70015010 24190001 */ li $t9, 1 -/* 015C14 70015014 10000002 */ b .L70015020 -/* 015C18 70015018 AFB9001C */ sw $t9, 0x1c($sp) -.L7001501C: -/* 015C1C 7001501C AFA0001C */ sw $zero, 0x1c($sp) -.L70015020: -/* 015C20 70015020 0C0057A9 */ jal __osSiRelAccess -/* 015C24 70015024 00000000 */ nop -/* 015C28 70015028 8FBF0014 */ lw $ra, 0x14($sp) -/* 015C2C 7001502C 8FA2001C */ lw $v0, 0x1c($sp) -/* 015C30 70015030 27BD0020 */ addiu $sp, $sp, 0x20 -/* 015C34 70015034 03E00008 */ jr $ra -/* 015C38 70015038 00000000 */ nop - -/* 015C3C 7001503C 00000000 */ nop -glabel osEepromRead -/* 015C40 70015040 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 015C44 70015044 AFA5003C */ sw $a1, 0x3c($sp) -/* 015C48 70015048 93AF003F */ lbu $t7, 0x3f($sp) -/* 015C4C 7001504C 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 015C50 70015050 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 015C54 70015054 29E10041 */ slti $at, $t7, 0x41 -/* 015C58 70015058 AFBF0014 */ sw $ra, 0x14($sp) -/* 015C5C 7001505C AFA40038 */ sw $a0, 0x38($sp) -/* 015C60 70015060 AFA60040 */ sw $a2, 0x40($sp) -/* 015C64 70015064 AFA00034 */ sw $zero, 0x34($sp) -/* 015C68 70015068 AFA00030 */ sw $zero, 0x30($sp) -/* 015C6C 7001506C 14200003 */ bnez $at, .L7001507C -/* 015C70 70015070 AFAE002C */ sw $t6, 0x2c($sp) -/* 015C74 70015074 1000006A */ b .L70015220 -/* 015C78 70015078 2402FFFF */ li $v0, -1 -.L7001507C: -/* 015C7C 7001507C 0C005798 */ jal __osSiGetAccess -/* 015C80 70015080 00000000 */ nop -/* 015C84 70015084 8FA40038 */ lw $a0, 0x38($sp) -/* 015C88 70015088 0C00557F */ jal __osEepStatus -/* 015C8C 7001508C 27A50028 */ addiu $a1, $sp, 0x28 -/* 015C90 70015090 AFA20034 */ sw $v0, 0x34($sp) -/* 015C94 70015094 8FB80034 */ lw $t8, 0x34($sp) -/* 015C98 70015098 17000005 */ bnez $t8, .L700150B0 -/* 015C9C 7001509C 00000000 */ nop -/* 015CA0 700150A0 97B90028 */ lhu $t9, 0x28($sp) -/* 015CA4 700150A4 34018000 */ li $at, 32768 -/* 015CA8 700150A8 13210003 */ beq $t9, $at, .L700150B8 -/* 015CAC 700150AC 00000000 */ nop -.L700150B0: -/* 015CB0 700150B0 1000005B */ b .L70015220 -/* 015CB4 700150B4 24020008 */ li $v0, 8 -.L700150B8: -/* 015CB8 700150B8 93A8002A */ lbu $t0, 0x2a($sp) -/* 015CBC 700150BC 31090080 */ andi $t1, $t0, 0x80 -/* 015CC0 700150C0 11200008 */ beqz $t1, .L700150E4 -/* 015CC4 700150C4 00000000 */ nop -.L700150C8: -/* 015CC8 700150C8 8FA40038 */ lw $a0, 0x38($sp) -/* 015CCC 700150CC 0C00557F */ jal __osEepStatus -/* 015CD0 700150D0 27A50028 */ addiu $a1, $sp, 0x28 -/* 015CD4 700150D4 93AA002A */ lbu $t2, 0x2a($sp) -/* 015CD8 700150D8 314B0080 */ andi $t3, $t2, 0x80 -/* 015CDC 700150DC 1560FFFA */ bnez $t3, .L700150C8 -/* 015CE0 700150E0 00000000 */ nop -.L700150E4: -/* 015CE4 700150E4 0C00548C */ jal osEepromRead_sub -/* 015CE8 700150E8 93A4003F */ lbu $a0, 0x3f($sp) -/* 015CEC 700150EC 3C058006 */ lui $a1, %hi(__osEepPifRam) -/* 015CF0 700150F0 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 015CF4 700150F4 0C0057B4 */ jal __osSiRawStartDma -/* 015CF8 700150F8 24040001 */ li $a0, 1 -/* 015CFC 700150FC AFA20034 */ sw $v0, 0x34($sp) -/* 015D00 70015100 8FA40038 */ lw $a0, 0x38($sp) -/* 015D04 70015104 00002825 */ move $a1, $zero -/* 015D08 70015108 0C003774 */ jal osRecvMesg -/* 015D0C 7001510C 24060001 */ li $a2, 1 -/* 015D10 70015110 AFA00030 */ sw $zero, 0x30($sp) -.L70015114: -/* 015D14 70015114 8FAD0030 */ lw $t5, 0x30($sp) -/* 015D18 70015118 8FAF0030 */ lw $t7, 0x30($sp) -/* 015D1C 7001511C 3C018006 */ lui $at, %hi(__osEepPifRam) -/* 015D20 70015120 000D7080 */ sll $t6, $t5, 2 -/* 015D24 70015124 002E0821 */ addu $at, $at, $t6 -/* 015D28 70015128 240C00FF */ li $t4, 255 -/* 015D2C 7001512C AC2C7D30 */ sw $t4, %lo(__osEepPifRam)($at) -/* 015D30 70015130 25F80001 */ addiu $t8, $t7, 1 -/* 015D34 70015134 2B010010 */ slti $at, $t8, 0x10 -/* 015D38 70015138 1420FFF6 */ bnez $at, .L70015114 -/* 015D3C 7001513C AFB80030 */ sw $t8, 0x30($sp) -/* 015D40 70015140 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) -/* 015D44 70015144 3C058006 */ lui $a1, %hi(__osEepPifRam) -/* 015D48 70015148 AC207D6C */ sw $zero, %lo(__osEepPifRam+0x3C)($at) -/* 015D4C 7001514C 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 015D50 70015150 0C0057B4 */ jal __osSiRawStartDma -/* 015D54 70015154 00002025 */ move $a0, $zero -/* 015D58 70015158 24190004 */ li $t9, 4 -/* 015D5C 7001515C 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 015D60 70015160 AFA20034 */ sw $v0, 0x34($sp) -/* 015D64 70015164 A0397CE0 */ sb $t9, %lo(__osContLastCmd)($at) -/* 015D68 70015168 8FA40038 */ lw $a0, 0x38($sp) -/* 015D6C 7001516C 00002825 */ move $a1, $zero -/* 015D70 70015170 0C003774 */ jal osRecvMesg -/* 015D74 70015174 24060001 */ li $a2, 1 -/* 015D78 70015178 AFA00030 */ sw $zero, 0x30($sp) -.L7001517C: -/* 015D7C 7001517C 8FAA0030 */ lw $t2, 0x30($sp) -/* 015D80 70015180 8FA8002C */ lw $t0, 0x2c($sp) -/* 015D84 70015184 254B0001 */ addiu $t3, $t2, 1 -/* 015D88 70015188 29610004 */ slti $at, $t3, 4 -/* 015D8C 7001518C 25090001 */ addiu $t1, $t0, 1 -/* 015D90 70015190 AFAB0030 */ sw $t3, 0x30($sp) -/* 015D94 70015194 1420FFF9 */ bnez $at, .L7001517C -/* 015D98 70015198 AFA9002C */ sw $t1, 0x2c($sp) -/* 015D9C 7001519C 8FAC002C */ lw $t4, 0x2c($sp) -/* 015DA0 700151A0 27AD001C */ addiu $t5, $sp, 0x1c -/* 015DA4 700151A4 89810000 */ lwl $at, ($t4) -/* 015DA8 700151A8 99810003 */ lwr $at, 3($t4) -/* 015DAC 700151AC ADA10000 */ sw $at, ($t5) -/* 015DB0 700151B0 898F0004 */ lwl $t7, 4($t4) -/* 015DB4 700151B4 998F0007 */ lwr $t7, 7($t4) -/* 015DB8 700151B8 ADAF0004 */ sw $t7, 4($t5) -/* 015DBC 700151BC 89810008 */ lwl $at, 8($t4) -/* 015DC0 700151C0 9981000B */ lwr $at, 0xb($t4) -/* 015DC4 700151C4 ADA10008 */ sw $at, 8($t5) -/* 015DC8 700151C8 93B8001D */ lbu $t8, 0x1d($sp) -/* 015DCC 700151CC 331900C0 */ andi $t9, $t8, 0xc0 -/* 015DD0 700151D0 00194103 */ sra $t0, $t9, 4 -/* 015DD4 700151D4 1500000F */ bnez $t0, .L70015214 -/* 015DD8 700151D8 AFA80034 */ sw $t0, 0x34($sp) -/* 015DDC 700151DC AFA00030 */ sw $zero, 0x30($sp) -.L700151E0: -/* 015DE0 700151E0 8FA90030 */ lw $t1, 0x30($sp) -/* 015DE4 700151E4 8FAB0040 */ lw $t3, 0x40($sp) -/* 015DE8 700151E8 03A95021 */ addu $t2, $sp, $t1 -/* 015DEC 700151EC 914A0020 */ lbu $t2, 0x20($t2) -/* 015DF0 700151F0 A16A0000 */ sb $t2, ($t3) -/* 015DF4 700151F4 8FAC0030 */ lw $t4, 0x30($sp) -/* 015DF8 700151F8 8FAE0040 */ lw $t6, 0x40($sp) -/* 015DFC 700151FC 258F0001 */ addiu $t7, $t4, 1 -/* 015E00 70015200 29E10008 */ slti $at, $t7, 8 -/* 015E04 70015204 25CD0001 */ addiu $t5, $t6, 1 -/* 015E08 70015208 AFAF0030 */ sw $t7, 0x30($sp) -/* 015E0C 7001520C 1420FFF4 */ bnez $at, .L700151E0 -/* 015E10 70015210 AFAD0040 */ sw $t5, 0x40($sp) -.L70015214: -/* 015E14 70015214 0C0057A9 */ jal __osSiRelAccess -/* 015E18 70015218 00000000 */ nop -/* 015E1C 7001521C 8FA20034 */ lw $v0, 0x34($sp) -.L70015220: -/* 015E20 70015220 8FBF0014 */ lw $ra, 0x14($sp) -/* 015E24 70015224 27BD0038 */ addiu $sp, $sp, 0x38 -/* 015E28 70015228 03E00008 */ jr $ra -/* 015E2C 7001522C 00000000 */ nop - -glabel osEepromRead_sub -/* 015E30 70015230 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 015E34 70015234 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 015E38 70015238 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 015E3C 7001523C 308400FF */ andi $a0, $a0, 0xff -/* 015E40 70015240 AFAE0014 */ sw $t6, 0x14($sp) -/* 015E44 70015244 AFA00004 */ sw $zero, 4($sp) -.L70015248: -/* 015E48 70015248 8FB80004 */ lw $t8, 4($sp) -/* 015E4C 7001524C 8FA80004 */ lw $t0, 4($sp) -/* 015E50 70015250 3C018006 */ lui $at, %hi(__osEepPifRam) -/* 015E54 70015254 0018C880 */ sll $t9, $t8, 2 -/* 015E58 70015258 00390821 */ addu $at, $at, $t9 -/* 015E5C 7001525C 240F00FF */ li $t7, 255 -/* 015E60 70015260 AC2F7D30 */ sw $t7, %lo(__osEepPifRam)($at) -/* 015E64 70015264 25090001 */ addiu $t1, $t0, 1 -/* 015E68 70015268 29210010 */ slti $at, $t1, 0x10 -/* 015E6C 7001526C 1420FFF6 */ bnez $at, .L70015248 -/* 015E70 70015270 AFA90004 */ sw $t1, 4($sp) -/* 015E74 70015274 240A0001 */ li $t2, 1 -/* 015E78 70015278 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) -/* 015E7C 7001527C 240B0002 */ li $t3, 2 -/* 015E80 70015280 240C0008 */ li $t4, 8 -/* 015E84 70015284 240D0004 */ li $t5, 4 -/* 015E88 70015288 AC2A7D6C */ sw $t2, %lo(__osEepPifRam+0x3C)($at) -/* 015E8C 7001528C A3AB0008 */ sb $t3, 8($sp) -/* 015E90 70015290 A3AC0009 */ sb $t4, 9($sp) -/* 015E94 70015294 A3AD000A */ sb $t5, 0xa($sp) -/* 015E98 70015298 A3A4000B */ sb $a0, 0xb($sp) -/* 015E9C 7001529C AFA00004 */ sw $zero, 4($sp) -.L700152A0: -/* 015EA0 700152A0 8FAE0004 */ lw $t6, 4($sp) -/* 015EA4 700152A4 03AEC021 */ addu $t8, $sp, $t6 -/* 015EA8 700152A8 A300000C */ sb $zero, 0xc($t8) -/* 015EAC 700152AC 8FAF0004 */ lw $t7, 4($sp) -/* 015EB0 700152B0 25F90001 */ addiu $t9, $t7, 1 -/* 015EB4 700152B4 2B210008 */ slti $at, $t9, 8 -/* 015EB8 700152B8 1420FFF9 */ bnez $at, .L700152A0 -/* 015EBC 700152BC AFB90004 */ sw $t9, 4($sp) -/* 015EC0 700152C0 AFA00004 */ sw $zero, 4($sp) -.L700152C4: -/* 015EC4 700152C4 8FA80014 */ lw $t0, 0x14($sp) -/* 015EC8 700152C8 A1000000 */ sb $zero, ($t0) -/* 015ECC 700152CC 8FAB0004 */ lw $t3, 4($sp) -/* 015ED0 700152D0 8FA90014 */ lw $t1, 0x14($sp) -/* 015ED4 700152D4 256C0001 */ addiu $t4, $t3, 1 -/* 015ED8 700152D8 29810004 */ slti $at, $t4, 4 -/* 015EDC 700152DC 252A0001 */ addiu $t2, $t1, 1 -/* 015EE0 700152E0 AFAC0004 */ sw $t4, 4($sp) -/* 015EE4 700152E4 1420FFF7 */ bnez $at, .L700152C4 -/* 015EE8 700152E8 AFAA0014 */ sw $t2, 0x14($sp) -/* 015EEC 700152EC 27AE0008 */ addiu $t6, $sp, 8 -/* 015EF0 700152F0 8DC10000 */ lw $at, ($t6) -/* 015EF4 700152F4 8FAD0014 */ lw $t5, 0x14($sp) -/* 015EF8 700152F8 240900FE */ li $t1, 254 -/* 015EFC 700152FC A9A10000 */ swl $at, ($t5) -/* 015F00 70015300 B9A10003 */ swr $at, 3($t5) -/* 015F04 70015304 8DCF0004 */ lw $t7, 4($t6) -/* 015F08 70015308 A9AF0004 */ swl $t7, 4($t5) -/* 015F0C 7001530C B9AF0007 */ swr $t7, 7($t5) -/* 015F10 70015310 8DC10008 */ lw $at, 8($t6) -/* 015F14 70015314 A9A10008 */ swl $at, 8($t5) -/* 015F18 70015318 B9A1000B */ swr $at, 0xb($t5) -/* 015F1C 7001531C 8FB90014 */ lw $t9, 0x14($sp) -/* 015F20 70015320 2728000C */ addiu $t0, $t9, 0xc -/* 015F24 70015324 AFA80014 */ sw $t0, 0x14($sp) -/* 015F28 70015328 A1090000 */ sb $t1, ($t0) -/* 015F2C 7001532C 03E00008 */ jr $ra -/* 015F30 70015330 27BD0018 */ addiu $sp, $sp, 0x18 - -/* 015F34 70015334 00000000 */ nop -/* 015F38 70015338 00000000 */ nop -/* 015F3C 7001533C 00000000 */ nop - -.section .bss -glabel __osEepPifRam -.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 osEepromWrite -/* 015F40 70015340 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 015F44 70015344 AFA5003C */ sw $a1, 0x3c($sp) -/* 015F48 70015348 93AF003F */ lbu $t7, 0x3f($sp) -/* 015F4C 7001534C 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 015F50 70015350 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 015F54 70015354 29E10041 */ slti $at, $t7, 0x41 -/* 015F58 70015358 AFBF0014 */ sw $ra, 0x14($sp) -/* 015F5C 7001535C AFA40038 */ sw $a0, 0x38($sp) -/* 015F60 70015360 AFA60040 */ sw $a2, 0x40($sp) -/* 015F64 70015364 AFA00034 */ sw $zero, 0x34($sp) -/* 015F68 70015368 14200003 */ bnez $at, .L70015378 -/* 015F6C 7001536C AFAE002C */ sw $t6, 0x2c($sp) -/* 015F70 70015370 1000005B */ b .L700154E0 -/* 015F74 70015374 2402FFFF */ li $v0, -1 -.L70015378: -/* 015F78 70015378 0C005798 */ jal __osSiGetAccess -/* 015F7C 7001537C 00000000 */ nop -/* 015F80 70015380 8FA40038 */ lw $a0, 0x38($sp) -/* 015F84 70015384 0C00557F */ jal __osEepStatus -/* 015F88 70015388 27A5001C */ addiu $a1, $sp, 0x1c -/* 015F8C 7001538C AFA20034 */ sw $v0, 0x34($sp) -/* 015F90 70015390 8FB80034 */ lw $t8, 0x34($sp) -/* 015F94 70015394 17000005 */ bnez $t8, .L700153AC -/* 015F98 70015398 00000000 */ nop -/* 015F9C 7001539C 97B9001C */ lhu $t9, 0x1c($sp) -/* 015FA0 700153A0 34018000 */ li $at, 32768 -/* 015FA4 700153A4 13210003 */ beq $t9, $at, .L700153B4 -/* 015FA8 700153A8 00000000 */ nop -.L700153AC: -/* 015FAC 700153AC 1000004C */ b .L700154E0 -/* 015FB0 700153B0 24020008 */ li $v0, 8 -.L700153B4: -/* 015FB4 700153B4 93A8001E */ lbu $t0, 0x1e($sp) -/* 015FB8 700153B8 31090080 */ andi $t1, $t0, 0x80 -/* 015FBC 700153BC 11200008 */ beqz $t1, .L700153E0 -/* 015FC0 700153C0 00000000 */ nop -.L700153C4: -/* 015FC4 700153C4 8FA40038 */ lw $a0, 0x38($sp) -/* 015FC8 700153C8 0C00557F */ jal __osEepStatus -/* 015FCC 700153CC 27A5001C */ addiu $a1, $sp, 0x1c -/* 015FD0 700153D0 93AA001E */ lbu $t2, 0x1e($sp) -/* 015FD4 700153D4 314B0080 */ andi $t3, $t2, 0x80 -/* 015FD8 700153D8 1560FFFA */ bnez $t3, .L700153C4 -/* 015FDC 700153DC 00000000 */ nop -.L700153E0: -/* 015FE0 700153E0 93A4003F */ lbu $a0, 0x3f($sp) -/* 015FE4 700153E4 0C00553C */ jal osEepromWrite_sub -/* 015FE8 700153E8 8FA50040 */ lw $a1, 0x40($sp) -/* 015FEC 700153EC 3C058006 */ lui $a1, %hi(__osEepPifRam) -/* 015FF0 700153F0 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 015FF4 700153F4 0C0057B4 */ jal __osSiRawStartDma -/* 015FF8 700153F8 24040001 */ li $a0, 1 -/* 015FFC 700153FC AFA20034 */ sw $v0, 0x34($sp) -/* 016000 70015400 8FA40038 */ lw $a0, 0x38($sp) -/* 016004 70015404 00002825 */ move $a1, $zero -/* 016008 70015408 0C003774 */ jal osRecvMesg -/* 01600C 7001540C 24060001 */ li $a2, 1 -/* 016010 70015410 AFA00030 */ sw $zero, 0x30($sp) -.L70015414: -/* 016014 70015414 8FAD0030 */ lw $t5, 0x30($sp) -/* 016018 70015418 8FAF0030 */ lw $t7, 0x30($sp) -/* 01601C 7001541C 3C018006 */ lui $at, %hi(__osEepPifRam) -/* 016020 70015420 000D7080 */ sll $t6, $t5, 2 -/* 016024 70015424 002E0821 */ addu $at, $at, $t6 -/* 016028 70015428 240C00FF */ li $t4, 255 -/* 01602C 7001542C AC2C7D30 */ sw $t4, %lo(__osEepPifRam)($at) -/* 016030 70015430 25F80001 */ addiu $t8, $t7, 1 -/* 016034 70015434 2B010010 */ slti $at, $t8, 0x10 -/* 016038 70015438 1420FFF6 */ bnez $at, .L70015414 -/* 01603C 7001543C AFB80030 */ sw $t8, 0x30($sp) -/* 016040 70015440 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) -/* 016044 70015444 3C058006 */ lui $a1, %hi(__osEepPifRam) -/* 016048 70015448 AC207D6C */ sw $zero, %lo(__osEepPifRam+0x3C)($at) -/* 01604C 7001544C 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 016050 70015450 0C0057B4 */ jal __osSiRawStartDma -/* 016054 70015454 00002025 */ move $a0, $zero -/* 016058 70015458 24190005 */ li $t9, 5 -/* 01605C 7001545C 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 016060 70015460 AFA20034 */ sw $v0, 0x34($sp) -/* 016064 70015464 A0397CE0 */ sb $t9, %lo(__osContLastCmd)($at) -/* 016068 70015468 8FA40038 */ lw $a0, 0x38($sp) -/* 01606C 7001546C 00002825 */ move $a1, $zero -/* 016070 70015470 0C003774 */ jal osRecvMesg -/* 016074 70015474 24060001 */ li $a2, 1 -/* 016078 70015478 AFA00030 */ sw $zero, 0x30($sp) -.L7001547C: -/* 01607C 7001547C 8FAA0030 */ lw $t2, 0x30($sp) -/* 016080 70015480 8FA8002C */ lw $t0, 0x2c($sp) -/* 016084 70015484 254B0001 */ addiu $t3, $t2, 1 -/* 016088 70015488 29610004 */ slti $at, $t3, 4 -/* 01608C 7001548C 25090001 */ addiu $t1, $t0, 1 -/* 016090 70015490 AFAB0030 */ sw $t3, 0x30($sp) -/* 016094 70015494 1420FFF9 */ bnez $at, .L7001547C -/* 016098 70015498 AFA9002C */ sw $t1, 0x2c($sp) -/* 01609C 7001549C 8FAC002C */ lw $t4, 0x2c($sp) -/* 0160A0 700154A0 27AD0020 */ addiu $t5, $sp, 0x20 -/* 0160A4 700154A4 89810000 */ lwl $at, ($t4) -/* 0160A8 700154A8 99810003 */ lwr $at, 3($t4) -/* 0160AC 700154AC ADA10000 */ sw $at, ($t5) -/* 0160B0 700154B0 898F0004 */ lwl $t7, 4($t4) -/* 0160B4 700154B4 998F0007 */ lwr $t7, 7($t4) -/* 0160B8 700154B8 ADAF0004 */ sw $t7, 4($t5) -/* 0160BC 700154BC 89810008 */ lwl $at, 8($t4) -/* 0160C0 700154C0 9981000B */ lwr $at, 0xb($t4) -/* 0160C4 700154C4 ADA10008 */ sw $at, 8($t5) -/* 0160C8 700154C8 93B80021 */ lbu $t8, 0x21($sp) -/* 0160CC 700154CC 331900C0 */ andi $t9, $t8, 0xc0 -/* 0160D0 700154D0 00194103 */ sra $t0, $t9, 4 -/* 0160D4 700154D4 0C0057A9 */ jal __osSiRelAccess -/* 0160D8 700154D8 AFA80034 */ sw $t0, 0x34($sp) -/* 0160DC 700154DC 8FA20034 */ lw $v0, 0x34($sp) -.L700154E0: -/* 0160E0 700154E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0160E4 700154E4 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0160E8 700154E8 03E00008 */ jr $ra -/* 0160EC 700154EC 00000000 */ nop - -glabel osEepromWrite_sub -/* 0160F0 700154F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0160F4 700154F4 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 0160F8 700154F8 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 0160FC 700154FC 308400FF */ andi $a0, $a0, 0xff -/* 016100 70015500 AFAE0014 */ sw $t6, 0x14($sp) -/* 016104 70015504 AFA00004 */ sw $zero, 4($sp) -.L70015508: -/* 016108 70015508 8FB80004 */ lw $t8, 4($sp) -/* 01610C 7001550C 8FA80004 */ lw $t0, 4($sp) -/* 016110 70015510 3C018006 */ lui $at, %hi(__osEepPifRam) -/* 016114 70015514 0018C880 */ sll $t9, $t8, 2 -/* 016118 70015518 00390821 */ addu $at, $at, $t9 -/* 01611C 7001551C 240F00FF */ li $t7, 255 -/* 016120 70015520 AC2F7D30 */ sw $t7, %lo(__osEepPifRam)($at) -/* 016124 70015524 25090001 */ addiu $t1, $t0, 1 -/* 016128 70015528 29210010 */ slti $at, $t1, 0x10 -/* 01612C 7001552C 1420FFF6 */ bnez $at, .L70015508 -/* 016130 70015530 AFA90004 */ sw $t1, 4($sp) -/* 016134 70015534 240A0001 */ li $t2, 1 -/* 016138 70015538 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) -/* 01613C 7001553C 240B000A */ li $t3, 10 -/* 016140 70015540 240C0001 */ li $t4, 1 -/* 016144 70015544 240D0005 */ li $t5, 5 -/* 016148 70015548 AC2A7D6C */ sw $t2, %lo(__osEepPifRam+0x3C)($at) -/* 01614C 7001554C A3AB0008 */ sb $t3, 8($sp) -/* 016150 70015550 A3AC0009 */ sb $t4, 9($sp) -/* 016154 70015554 A3AD000A */ sb $t5, 0xa($sp) -/* 016158 70015558 A3A4000B */ sb $a0, 0xb($sp) -/* 01615C 7001555C AFA00004 */ sw $zero, 4($sp) -.L70015560: -/* 016160 70015560 8FB80004 */ lw $t8, 4($sp) -/* 016164 70015564 90AE0000 */ lbu $t6, ($a1) -/* 016168 70015568 24A50001 */ addiu $a1, $a1, 1 -/* 01616C 7001556C 03B87821 */ addu $t7, $sp, $t8 -/* 016170 70015570 A1EE000C */ sb $t6, 0xc($t7) -/* 016174 70015574 8FB90004 */ lw $t9, 4($sp) -/* 016178 70015578 27280001 */ addiu $t0, $t9, 1 -/* 01617C 7001557C 29010008 */ slti $at, $t0, 8 -/* 016180 70015580 1420FFF7 */ bnez $at, .L70015560 -/* 016184 70015584 AFA80004 */ sw $t0, 4($sp) -/* 016188 70015588 AFA00004 */ sw $zero, 4($sp) -.L7001558C: -/* 01618C 7001558C 8FA90014 */ lw $t1, 0x14($sp) -/* 016190 70015590 A1200000 */ sb $zero, ($t1) -/* 016194 70015594 8FAC0004 */ lw $t4, 4($sp) -/* 016198 70015598 8FAA0014 */ lw $t2, 0x14($sp) -/* 01619C 7001559C 258D0001 */ addiu $t5, $t4, 1 -/* 0161A0 700155A0 29A10004 */ slti $at, $t5, 4 -/* 0161A4 700155A4 254B0001 */ addiu $t3, $t2, 1 -/* 0161A8 700155A8 AFAD0004 */ sw $t5, 4($sp) -/* 0161AC 700155AC 1420FFF7 */ bnez $at, .L7001558C -/* 0161B0 700155B0 AFAB0014 */ sw $t3, 0x14($sp) -/* 0161B4 700155B4 27B80008 */ addiu $t8, $sp, 8 -/* 0161B8 700155B8 8F010000 */ lw $at, ($t8) -/* 0161BC 700155BC 8FAE0014 */ lw $t6, 0x14($sp) -/* 0161C0 700155C0 240A00FE */ li $t2, 254 -/* 0161C4 700155C4 A9C10000 */ swl $at, ($t6) -/* 0161C8 700155C8 B9C10003 */ swr $at, 3($t6) -/* 0161CC 700155CC 8F190004 */ lw $t9, 4($t8) -/* 0161D0 700155D0 A9D90004 */ swl $t9, 4($t6) -/* 0161D4 700155D4 B9D90007 */ swr $t9, 7($t6) -/* 0161D8 700155D8 8F010008 */ lw $at, 8($t8) -/* 0161DC 700155DC A9C10008 */ swl $at, 8($t6) -/* 0161E0 700155E0 B9C1000B */ swr $at, 0xb($t6) -/* 0161E4 700155E4 8FA80014 */ lw $t0, 0x14($sp) -/* 0161E8 700155E8 2509000C */ addiu $t1, $t0, 0xc -/* 0161EC 700155EC AFA90014 */ sw $t1, 0x14($sp) -/* 0161F0 700155F0 A12A0000 */ sb $t2, ($t1) -/* 0161F4 700155F4 03E00008 */ jr $ra -/* 0161F8 700155F8 27BD0018 */ addiu $sp, $sp, 0x18 - -glabel __osEepStatus -/* 0161FC 700155FC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 016200 70015600 3C0E8006 */ lui $t6, %hi(__osEepPifRam) -/* 016204 70015604 25CE7D30 */ addiu $t6, %lo(__osEepPifRam) # addiu $t6, $t6, 0x7d30 -/* 016208 70015608 AFBF0014 */ sw $ra, 0x14($sp) -/* 01620C 7001560C AFA40030 */ sw $a0, 0x30($sp) -/* 016210 70015610 AFA50034 */ sw $a1, 0x34($sp) -/* 016214 70015614 AFA0002C */ sw $zero, 0x2c($sp) -/* 016218 70015618 AFAE0024 */ sw $t6, 0x24($sp) -/* 01621C 7001561C AFA00028 */ sw $zero, 0x28($sp) -.L70015620: -/* 016220 70015620 8FAF0028 */ lw $t7, 0x28($sp) -/* 016224 70015624 8FB90028 */ lw $t9, 0x28($sp) -/* 016228 70015628 3C018006 */ lui $at, %hi(__osEepPifRam) -/* 01622C 7001562C 000FC080 */ sll $t8, $t7, 2 -/* 016230 70015630 00380821 */ addu $at, $at, $t8 -/* 016234 70015634 AC207D30 */ sw $zero, %lo(__osEepPifRam)($at) -/* 016238 70015638 27280001 */ addiu $t0, $t9, 1 -/* 01623C 7001563C 29010010 */ slti $at, $t0, 0x10 -/* 016240 70015640 1420FFF7 */ bnez $at, .L70015620 -/* 016244 70015644 AFA80028 */ sw $t0, 0x28($sp) -/* 016248 70015648 3C0A8006 */ lui $t2, %hi(__osEepPifRam) -/* 01624C 7001564C 24090001 */ li $t1, 1 -/* 016250 70015650 3C018006 */ lui $at, %hi(__osEepPifRam+0x3C) -/* 016254 70015654 254A7D30 */ addiu $t2, %lo(__osEepPifRam) # addiu $t2, $t2, 0x7d30 -/* 016258 70015658 AC297D6C */ sw $t1, %lo(__osEepPifRam+0x3C)($at) -/* 01625C 7001565C AFAA0024 */ sw $t2, 0x24($sp) -/* 016260 70015660 AFA00028 */ sw $zero, 0x28($sp) -.L70015664: -/* 016264 70015664 8FAB0024 */ lw $t3, 0x24($sp) -/* 016268 70015668 A1600000 */ sb $zero, ($t3) -/* 01626C 7001566C 8FAE0028 */ lw $t6, 0x28($sp) -/* 016270 70015670 8FAC0024 */ lw $t4, 0x24($sp) -/* 016274 70015674 25CF0001 */ addiu $t7, $t6, 1 -/* 016278 70015678 29E10004 */ slti $at, $t7, 4 -/* 01627C 7001567C 258D0001 */ addiu $t5, $t4, 1 -/* 016280 70015680 AFAF0028 */ sw $t7, 0x28($sp) -/* 016284 70015684 1420FFF7 */ bnez $at, .L70015664 -/* 016288 70015688 AFAD0024 */ sw $t5, 0x24($sp) -/* 01628C 7001568C 241800FF */ li $t8, 255 -/* 016290 70015690 24190001 */ li $t9, 1 -/* 016294 70015694 24080003 */ li $t0, 3 -/* 016298 70015698 240900FF */ li $t1, 255 -/* 01629C 7001569C 240A00FF */ li $t2, 255 -/* 0162A0 700156A0 240B00FF */ li $t3, 255 -/* 0162A4 700156A4 240C00FF */ li $t4, 255 -/* 0162A8 700156A8 A3B8001C */ sb $t8, 0x1c($sp) -/* 0162AC 700156AC A3B9001D */ sb $t9, 0x1d($sp) -/* 0162B0 700156B0 A3A8001E */ sb $t0, 0x1e($sp) -/* 0162B4 700156B4 A3A0001F */ sb $zero, 0x1f($sp) -/* 0162B8 700156B8 A3A90020 */ sb $t1, 0x20($sp) -/* 0162BC 700156BC A3AA0021 */ sb $t2, 0x21($sp) -/* 0162C0 700156C0 A3AB0022 */ sb $t3, 0x22($sp) -/* 0162C4 700156C4 A3AC0023 */ sb $t4, 0x23($sp) -/* 0162C8 700156C8 27AE001C */ addiu $t6, $sp, 0x1c -/* 0162CC 700156CC 8DC10000 */ lw $at, ($t6) -/* 0162D0 700156D0 8FAD0024 */ lw $t5, 0x24($sp) -/* 0162D4 700156D4 240A00FE */ li $t2, 254 -/* 0162D8 700156D8 3C058006 */ lui $a1, %hi(__osEepPifRam) -/* 0162DC 700156DC A9A10000 */ swl $at, ($t5) -/* 0162E0 700156E0 B9A10003 */ swr $at, 3($t5) -/* 0162E4 700156E4 8DD90004 */ lw $t9, 4($t6) -/* 0162E8 700156E8 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 0162EC 700156EC 24040001 */ li $a0, 1 -/* 0162F0 700156F0 A9B90004 */ swl $t9, 4($t5) -/* 0162F4 700156F4 B9B90007 */ swr $t9, 7($t5) -/* 0162F8 700156F8 8FA80024 */ lw $t0, 0x24($sp) -/* 0162FC 700156FC 25090008 */ addiu $t1, $t0, 8 -/* 016300 70015700 AFA90024 */ sw $t1, 0x24($sp) -/* 016304 70015704 0C0057B4 */ jal __osSiRawStartDma -/* 016308 70015708 A12A0000 */ sb $t2, ($t1) -/* 01630C 7001570C AFA2002C */ sw $v0, 0x2c($sp) -/* 016310 70015710 8FA40030 */ lw $a0, 0x30($sp) -/* 016314 70015714 00002825 */ move $a1, $zero -/* 016318 70015718 0C003774 */ jal osRecvMesg -/* 01631C 7001571C 24060001 */ li $a2, 1 -/* 016320 70015720 240B0005 */ li $t3, 5 -/* 016324 70015724 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 016328 70015728 3C058006 */ lui $a1, %hi(__osEepPifRam) -/* 01632C 7001572C A02B7CE0 */ sb $t3, %lo(__osContLastCmd)($at) -/* 016330 70015730 24A57D30 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, 0x7d30 -/* 016334 70015734 0C0057B4 */ jal __osSiRawStartDma -/* 016338 70015738 00002025 */ move $a0, $zero -/* 01633C 7001573C AFA2002C */ sw $v0, 0x2c($sp) -/* 016340 70015740 8FA40030 */ lw $a0, 0x30($sp) -/* 016344 70015744 00002825 */ move $a1, $zero -/* 016348 70015748 0C003774 */ jal osRecvMesg -/* 01634C 7001574C 24060001 */ li $a2, 1 -/* 016350 70015750 8FAC002C */ lw $t4, 0x2c($sp) -/* 016354 70015754 11800003 */ beqz $t4, .L70015764 -/* 016358 70015758 00000000 */ nop -/* 01635C 7001575C 1000002C */ b .L70015810 -/* 016360 70015760 01801025 */ move $v0, $t4 -.L70015764: -/* 016364 70015764 3C188006 */ lui $t8, %hi(__osEepPifRam) -/* 016368 70015768 27187D30 */ addiu $t8, %lo(__osEepPifRam) # addiu $t8, $t8, 0x7d30 -/* 01636C 7001576C AFB80024 */ sw $t8, 0x24($sp) -/* 016370 70015770 AFA00028 */ sw $zero, 0x28($sp) -.L70015774: -/* 016374 70015774 8FAF0024 */ lw $t7, 0x24($sp) -/* 016378 70015778 A1E00000 */ sb $zero, ($t7) -/* 01637C 7001577C 8FB90028 */ lw $t9, 0x28($sp) -/* 016380 70015780 8FAD0024 */ lw $t5, 0x24($sp) -/* 016384 70015784 27280001 */ addiu $t0, $t9, 1 -/* 016388 70015788 29010004 */ slti $at, $t0, 4 -/* 01638C 7001578C 25AE0001 */ addiu $t6, $t5, 1 -/* 016390 70015790 AFA80028 */ sw $t0, 0x28($sp) -/* 016394 70015794 1420FFF7 */ bnez $at, .L70015774 -/* 016398 70015798 AFAE0024 */ sw $t6, 0x24($sp) -/* 01639C 7001579C 8FA90024 */ lw $t1, 0x24($sp) -/* 0163A0 700157A0 27AA001C */ addiu $t2, $sp, 0x1c -/* 0163A4 700157A4 89210000 */ lwl $at, ($t1) -/* 0163A8 700157A8 99210003 */ lwr $at, 3($t1) -/* 0163AC 700157AC AD410000 */ sw $at, ($t2) -/* 0163B0 700157B0 892C0004 */ lwl $t4, 4($t1) -/* 0163B4 700157B4 992C0007 */ lwr $t4, 7($t1) -/* 0163B8 700157B8 AD4C0004 */ sw $t4, 4($t2) -/* 0163BC 700157BC 93B8001E */ lbu $t8, 0x1e($sp) -/* 0163C0 700157C0 8FAE0034 */ lw $t6, 0x34($sp) -/* 0163C4 700157C4 330F00C0 */ andi $t7, $t8, 0xc0 -/* 0163C8 700157C8 000F6903 */ sra $t5, $t7, 4 -/* 0163CC 700157CC A1CD0003 */ sb $t5, 3($t6) -/* 0163D0 700157D0 93B90021 */ lbu $t9, 0x21($sp) -/* 0163D4 700157D4 93AB0020 */ lbu $t3, 0x20($sp) -/* 0163D8 700157D8 8FA90034 */ lw $t1, 0x34($sp) -/* 0163DC 700157DC 00194200 */ sll $t0, $t9, 8 -/* 0163E0 700157E0 010B5025 */ or $t2, $t0, $t3 -/* 0163E4 700157E4 A52A0000 */ sh $t2, ($t1) -/* 0163E8 700157E8 8FB80034 */ lw $t8, 0x34($sp) -/* 0163EC 700157EC 93AC0022 */ lbu $t4, 0x22($sp) -/* 0163F0 700157F0 A30C0002 */ sb $t4, 2($t8) -/* 0163F4 700157F4 8FAF0034 */ lw $t7, 0x34($sp) -/* 0163F8 700157F8 91ED0003 */ lbu $t5, 3($t7) -/* 0163FC 700157FC 11A00003 */ beqz $t5, .L7001580C -/* 016400 70015800 00000000 */ nop -/* 016404 70015804 10000002 */ b .L70015810 -/* 016408 70015808 01A01025 */ move $v0, $t5 -.L7001580C: -/* 01640C 7001580C 00001025 */ move $v0, $zero -.L70015810: -/* 016410 70015810 8FBF0014 */ lw $ra, 0x14($sp) -/* 016414 70015814 27BD0030 */ addiu $sp, $sp, 0x30 -/* 016418 70015818 03E00008 */ jr $ra -/* 01641C 7001581C 00000000 */ nop - -glabel osEepromLongRead -/* 016420 70015820 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 016424 70015824 AFA50044 */ sw $a1, 0x44($sp) -/* 016428 70015828 93AE0047 */ lbu $t6, 0x47($sp) -/* 01642C 7001582C AFBF0024 */ sw $ra, 0x24($sp) -/* 016430 70015830 AFA40040 */ sw $a0, 0x40($sp) -/* 016434 70015834 29C10041 */ slti $at, $t6, 0x41 -/* 016438 70015838 AFA60048 */ sw $a2, 0x48($sp) -/* 01643C 7001583C AFA7004C */ sw $a3, 0x4c($sp) -/* 016440 70015840 14200003 */ bnez $at, .L70015850 -/* 016444 70015844 AFA0003C */ sw $zero, 0x3c($sp) -/* 016448 70015848 10000040 */ b .L7001594C -/* 01644C 7001584C 2402FFFF */ li $v0, -1 -.L70015850: -/* 016450 70015850 8FAF004C */ lw $t7, 0x4c($sp) -/* 016454 70015854 19E0003C */ blez $t7, .L70015948 -/* 016458 70015858 00000000 */ nop -.L7001585C: -/* 01645C 7001585C 8FA40040 */ lw $a0, 0x40($sp) -/* 016460 70015860 93A50047 */ lbu $a1, 0x47($sp) -/* 016464 70015864 0C005410 */ jal osEepromRead -/* 016468 70015868 8FA60048 */ lw $a2, 0x48($sp) -/* 01646C 7001586C AFA2003C */ sw $v0, 0x3c($sp) -/* 016470 70015870 8FB8003C */ lw $t8, 0x3c($sp) -/* 016474 70015874 13000003 */ beqz $t8, .L70015884 -/* 016478 70015878 00000000 */ nop -/* 01647C 7001587C 10000033 */ b .L7001594C -/* 016480 70015880 03001025 */ move $v0, $t8 -.L70015884: -/* 016484 70015884 8FB9004C */ lw $t9, 0x4c($sp) -/* 016488 70015888 93A90047 */ lbu $t1, 0x47($sp) -/* 01648C 7001588C 8FAB0048 */ lw $t3, 0x48($sp) -/* 016490 70015890 3C068002 */ lui $a2, %hi(osClockRate) -/* 016494 70015894 3C078002 */ lui $a3, %hi(osClockRate+4) -/* 016498 70015898 2728FFF8 */ addiu $t0, $t9, -8 -/* 01649C 7001589C 252A0001 */ addiu $t2, $t1, 1 -/* 0164A0 700158A0 256C0008 */ addiu $t4, $t3, 8 -/* 0164A4 700158A4 AFA8004C */ sw $t0, 0x4c($sp) -/* 0164A8 700158A8 A3AA0047 */ sb $t2, 0x47($sp) -/* 0164AC 700158AC AFAC0048 */ sw $t4, 0x48($sp) -/* 0164B0 700158B0 8CE76984 */ lw $a3, %lo(osClockRate+4)($a3) -/* 0164B4 700158B4 8CC66980 */ lw $a2, %lo(osClockRate)($a2) -/* 0164B8 700158B8 24040000 */ li $a0, 0 -/* 0164BC 700158BC 0C003B6A */ jal __ll_mul -/* 0164C0 700158C0 24052EE0 */ li $a1, 12000 -/* 0164C4 700158C4 AFA20028 */ sw $v0, 0x28($sp) -/* 0164C8 700158C8 AFA3002C */ sw $v1, 0x2c($sp) -/* 0164CC 700158CC 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf -/* 0164D0 700158D0 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 -/* 0164D4 700158D4 8FA5002C */ lw $a1, 0x2c($sp) -/* 0164D8 700158D8 8FA40028 */ lw $a0, 0x28($sp) -/* 0164DC 700158DC 0C003B2A */ jal __ull_div -/* 0164E0 700158E0 24060000 */ li $a2, 0 -/* 0164E4 700158E4 3C0D8006 */ lui $t5, %hi(__osEepromTimerQ) -/* 0164E8 700158E8 3C188006 */ lui $t8, %hi(__osEepromTimerMsg) -/* 0164EC 700158EC 27187D20 */ addiu $t8, %lo(__osEepromTimerMsg) # addiu $t8, $t8, 0x7d20 -/* 0164F0 700158F0 25AD7D08 */ addiu $t5, %lo(__osEepromTimerQ) # addiu $t5, $t5, 0x7d08 -/* 0164F4 700158F4 AFA20030 */ sw $v0, 0x30($sp) -/* 0164F8 700158F8 AFA30034 */ sw $v1, 0x34($sp) -/* 0164FC 700158FC 3C048006 */ lui $a0, %hi(__osEepromTimer) -/* 016500 70015900 240E0000 */ li $t6, 0 -/* 016504 70015904 240F0000 */ li $t7, 0 -/* 016508 70015908 AFAF0014 */ sw $t7, 0x14($sp) -/* 01650C 7001590C AFAE0010 */ sw $t6, 0x10($sp) -/* 016510 70015910 24847CE8 */ addiu $a0, %lo(__osEepromTimer) # addiu $a0, $a0, 0x7ce8 -/* 016514 70015914 8FA70034 */ lw $a3, 0x34($sp) -/* 016518 70015918 8FA60030 */ lw $a2, 0x30($sp) -/* 01651C 7001591C AFAD0018 */ sw $t5, 0x18($sp) -/* 016520 70015920 0C004314 */ jal osSetTimer -/* 016524 70015924 AFB8001C */ sw $t8, 0x1c($sp) -/* 016528 70015928 3C048006 */ lui $a0, %hi(__osEepromTimerQ) -/* 01652C 7001592C 24847D08 */ addiu $a0, %lo(__osEepromTimerQ) # addiu $a0, $a0, 0x7d08 -/* 016530 70015930 00002825 */ move $a1, $zero -/* 016534 70015934 0C003774 */ jal osRecvMesg -/* 016538 70015938 24060001 */ li $a2, 1 -/* 01653C 7001593C 8FB9004C */ lw $t9, 0x4c($sp) -/* 016540 70015940 1F20FFC6 */ bgtz $t9, .L7001585C -/* 016544 70015944 00000000 */ nop -.L70015948: -/* 016548 70015948 8FA2003C */ lw $v0, 0x3c($sp) -.L7001594C: -/* 01654C 7001594C 8FBF0024 */ lw $ra, 0x24($sp) -/* 016550 70015950 27BD0040 */ addiu $sp, $sp, 0x40 -/* 016554 70015954 03E00008 */ jr $ra -/* 016558 70015958 00000000 */ nop - -/* 01655C 7001595C 00000000 */ nop -glabel osEepromLongWrite -/* 016560 70015960 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 016564 70015964 AFA50044 */ sw $a1, 0x44($sp) -/* 016568 70015968 93AE0047 */ lbu $t6, 0x47($sp) -/* 01656C 7001596C AFBF0024 */ sw $ra, 0x24($sp) -/* 016570 70015970 AFA40040 */ sw $a0, 0x40($sp) -/* 016574 70015974 29C10041 */ slti $at, $t6, 0x41 -/* 016578 70015978 AFA60048 */ sw $a2, 0x48($sp) -/* 01657C 7001597C AFA7004C */ sw $a3, 0x4c($sp) -/* 016580 70015980 14200003 */ bnez $at, .L70015990 -/* 016584 70015984 AFA0003C */ sw $zero, 0x3c($sp) -/* 016588 70015988 10000040 */ b .L70015A8C -/* 01658C 7001598C 2402FFFF */ li $v0, -1 -.L70015990: -/* 016590 70015990 8FAF004C */ lw $t7, 0x4c($sp) -/* 016594 70015994 19E0003C */ blez $t7, .L70015A88 -/* 016598 70015998 00000000 */ nop -.L7001599C: -/* 01659C 7001599C 8FA40040 */ lw $a0, 0x40($sp) -/* 0165A0 700159A0 93A50047 */ lbu $a1, 0x47($sp) -/* 0165A4 700159A4 0C0054D0 */ jal osEepromWrite -/* 0165A8 700159A8 8FA60048 */ lw $a2, 0x48($sp) -/* 0165AC 700159AC AFA2003C */ sw $v0, 0x3c($sp) -/* 0165B0 700159B0 8FB8003C */ lw $t8, 0x3c($sp) -/* 0165B4 700159B4 13000003 */ beqz $t8, .L700159C4 -/* 0165B8 700159B8 00000000 */ nop -/* 0165BC 700159BC 10000033 */ b .L70015A8C -/* 0165C0 700159C0 03001025 */ move $v0, $t8 -.L700159C4: -/* 0165C4 700159C4 8FB9004C */ lw $t9, 0x4c($sp) -/* 0165C8 700159C8 93A90047 */ lbu $t1, 0x47($sp) -/* 0165CC 700159CC 8FAB0048 */ lw $t3, 0x48($sp) -/* 0165D0 700159D0 3C068002 */ lui $a2, %hi(osClockRate) -/* 0165D4 700159D4 3C078002 */ lui $a3, %hi(osClockRate+4) -/* 0165D8 700159D8 2728FFF8 */ addiu $t0, $t9, -8 -/* 0165DC 700159DC 252A0001 */ addiu $t2, $t1, 1 -/* 0165E0 700159E0 256C0008 */ addiu $t4, $t3, 8 -/* 0165E4 700159E4 AFA8004C */ sw $t0, 0x4c($sp) -/* 0165E8 700159E8 A3AA0047 */ sb $t2, 0x47($sp) -/* 0165EC 700159EC AFAC0048 */ sw $t4, 0x48($sp) -/* 0165F0 700159F0 8CE76984 */ lw $a3, %lo(osClockRate+4)($a3) -/* 0165F4 700159F4 8CC66980 */ lw $a2, %lo(osClockRate)($a2) -/* 0165F8 700159F8 24040000 */ li $a0, 0 -/* 0165FC 700159FC 0C003B6A */ jal __ll_mul -/* 016600 70015A00 24052EE0 */ li $a1, 12000 -/* 016604 70015A04 AFA20028 */ sw $v0, 0x28($sp) -/* 016608 70015A08 AFA3002C */ sw $v1, 0x2c($sp) -/* 01660C 70015A0C 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf -/* 016610 70015A10 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 -/* 016614 70015A14 8FA5002C */ lw $a1, 0x2c($sp) -/* 016618 70015A18 8FA40028 */ lw $a0, 0x28($sp) -/* 01661C 70015A1C 0C003B2A */ jal __ull_div -/* 016620 70015A20 24060000 */ li $a2, 0 -/* 016624 70015A24 3C0D8006 */ lui $t5, %hi(__osEepromTimerQ) -/* 016628 70015A28 3C188006 */ lui $t8, %hi(__osEepromTimerMsg) -/* 01662C 70015A2C 27187D20 */ addiu $t8, %lo(__osEepromTimerMsg) # addiu $t8, $t8, 0x7d20 -/* 016630 70015A30 25AD7D08 */ addiu $t5, %lo(__osEepromTimerQ) # addiu $t5, $t5, 0x7d08 -/* 016634 70015A34 AFA20030 */ sw $v0, 0x30($sp) -/* 016638 70015A38 AFA30034 */ sw $v1, 0x34($sp) -/* 01663C 70015A3C 3C048006 */ lui $a0, %hi(__osEepromTimer) -/* 016640 70015A40 240E0000 */ li $t6, 0 -/* 016644 70015A44 240F0000 */ li $t7, 0 -/* 016648 70015A48 AFAF0014 */ sw $t7, 0x14($sp) -/* 01664C 70015A4C AFAE0010 */ sw $t6, 0x10($sp) -/* 016650 70015A50 24847CE8 */ addiu $a0, %lo(__osEepromTimer) # addiu $a0, $a0, 0x7ce8 -/* 016654 70015A54 8FA70034 */ lw $a3, 0x34($sp) -/* 016658 70015A58 8FA60030 */ lw $a2, 0x30($sp) -/* 01665C 70015A5C AFAD0018 */ sw $t5, 0x18($sp) -/* 016660 70015A60 0C004314 */ jal osSetTimer -/* 016664 70015A64 AFB8001C */ sw $t8, 0x1c($sp) -/* 016668 70015A68 3C048006 */ lui $a0, %hi(__osEepromTimerQ) -/* 01666C 70015A6C 24847D08 */ addiu $a0, %lo(__osEepromTimerQ) # addiu $a0, $a0, 0x7d08 -/* 016670 70015A70 00002825 */ move $a1, $zero -/* 016674 70015A74 0C003774 */ jal osRecvMesg -/* 016678 70015A78 24060001 */ li $a2, 1 -/* 01667C 70015A7C 8FB9004C */ lw $t9, 0x4c($sp) -/* 016680 70015A80 1F20FFC6 */ bgtz $t9, .L7001599C -/* 016684 70015A84 00000000 */ nop -.L70015A88: -/* 016688 70015A88 8FA2003C */ lw $v0, 0x3c($sp) -.L70015A8C: -/* 01668C 70015A8C 8FBF0024 */ lw $ra, 0x24($sp) -/* 016690 70015A90 27BD0040 */ addiu $sp, $sp, 0x40 -/* 016694 70015A94 03E00008 */ jr $ra -/* 016698 70015A98 00000000 */ nop - -/* 01669C 70015A9C 00000000 */ nop -glabel osPfsIsPlug -/* 0166A0 70015AA0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0166A4 70015AA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0166A8 70015AA8 240E0003 */ li $t6, 3 -/* 0166AC 70015AAC AFA40040 */ sw $a0, 0x40($sp) -/* 0166B0 70015AB0 AFA50044 */ sw $a1, 0x44($sp) -/* 0166B4 70015AB4 AFA0003C */ sw $zero, 0x3c($sp) -/* 0166B8 70015AB8 A3A0001F */ sb $zero, 0x1f($sp) -/* 0166BC 70015ABC 0C005798 */ jal __osSiGetAccess -/* 0166C0 70015AC0 AFAE0018 */ sw $t6, 0x18($sp) -.L70015AC4: -/* 0166C4 70015AC4 0C005710 */ jal __osPfsRequestData -/* 0166C8 70015AC8 00002025 */ move $a0, $zero -/* 0166CC 70015ACC 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 0166D0 70015AD0 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 0166D4 70015AD4 0C0057B4 */ jal __osSiRawStartDma -/* 0166D8 70015AD8 24040001 */ li $a0, 1 -/* 0166DC 70015ADC AFA2003C */ sw $v0, 0x3c($sp) -/* 0166E0 70015AE0 8FA40040 */ lw $a0, 0x40($sp) -/* 0166E4 70015AE4 27A50038 */ addiu $a1, $sp, 0x38 -/* 0166E8 70015AE8 0C003774 */ jal osRecvMesg -/* 0166EC 70015AEC 24060001 */ li $a2, 1 -/* 0166F0 70015AF0 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 0166F4 70015AF4 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 0166F8 70015AF8 0C0057B4 */ jal __osSiRawStartDma -/* 0166FC 70015AFC 00002025 */ move $a0, $zero -/* 016700 70015B00 AFA2003C */ sw $v0, 0x3c($sp) -/* 016704 70015B04 8FA40040 */ lw $a0, 0x40($sp) -/* 016708 70015B08 27A50038 */ addiu $a1, $sp, 0x38 -/* 01670C 70015B0C 0C003774 */ jal osRecvMesg -/* 016710 70015B10 24060001 */ li $a2, 1 -/* 016714 70015B14 27A40037 */ addiu $a0, $sp, 0x37 -/* 016718 70015B18 0C00574F */ jal __osPfsGetInitData -/* 01671C 70015B1C 27A50024 */ addiu $a1, $sp, 0x24 -/* 016720 70015B20 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 016724 70015B24 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 016728 70015B28 AFA00020 */ sw $zero, 0x20($sp) -/* 01672C 70015B2C 19E00014 */ blez $t7, .L70015B80 -/* 016730 70015B30 00000000 */ nop -.L70015B34: -/* 016734 70015B34 8FB80020 */ lw $t8, 0x20($sp) -/* 016738 70015B38 0018C880 */ sll $t9, $t8, 2 -/* 01673C 70015B3C 03B94021 */ addu $t0, $sp, $t9 -/* 016740 70015B40 91080026 */ lbu $t0, 0x26($t0) -/* 016744 70015B44 31090004 */ andi $t1, $t0, 4 -/* 016748 70015B48 15200005 */ bnez $t1, .L70015B60 -/* 01674C 70015B4C 00000000 */ nop -/* 016750 70015B50 8FAA0018 */ lw $t2, 0x18($sp) -/* 016754 70015B54 254BFFFF */ addiu $t3, $t2, -1 -/* 016758 70015B58 10000009 */ b .L70015B80 -/* 01675C 70015B5C AFAB0018 */ sw $t3, 0x18($sp) -.L70015B60: -/* 016760 70015B60 8FAC0020 */ lw $t4, 0x20($sp) -/* 016764 70015B64 3C0E8006 */ lui $t6, %hi(__osMaxControllers) -/* 016768 70015B68 91CE7CE1 */ lbu $t6, %lo(__osMaxControllers)($t6) -/* 01676C 70015B6C 258D0001 */ addiu $t5, $t4, 1 -/* 016770 70015B70 AFAD0020 */ sw $t5, 0x20($sp) -/* 016774 70015B74 01AE082A */ slt $at, $t5, $t6 -/* 016778 70015B78 1420FFEE */ bnez $at, .L70015B34 -/* 01677C 70015B7C 00000000 */ nop -.L70015B80: -/* 016780 70015B80 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 016784 70015B84 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 016788 70015B88 8FB80020 */ lw $t8, 0x20($sp) -/* 01678C 70015B8C 15F80002 */ bne $t7, $t8, .L70015B98 -/* 016790 70015B90 00000000 */ nop -/* 016794 70015B94 AFA00018 */ sw $zero, 0x18($sp) -.L70015B98: -/* 016798 70015B98 8FB90018 */ lw $t9, 0x18($sp) -/* 01679C 70015B9C 1F20FFC9 */ bgtz $t9, .L70015AC4 -/* 0167A0 70015BA0 00000000 */ nop -/* 0167A4 70015BA4 3C088006 */ lui $t0, %hi(__osMaxControllers) -/* 0167A8 70015BA8 91087CE1 */ lbu $t0, %lo(__osMaxControllers)($t0) -/* 0167AC 70015BAC AFA00020 */ sw $zero, 0x20($sp) -/* 0167B0 70015BB0 19000019 */ blez $t0, .L70015C18 -/* 0167B4 70015BB4 00000000 */ nop -.L70015BB8: -/* 0167B8 70015BB8 8FA90020 */ lw $t1, 0x20($sp) -/* 0167BC 70015BBC 27AB0024 */ addiu $t3, $sp, 0x24 -/* 0167C0 70015BC0 00095080 */ sll $t2, $t1, 2 -/* 0167C4 70015BC4 014B6021 */ addu $t4, $t2, $t3 -/* 0167C8 70015BC8 918D0003 */ lbu $t5, 3($t4) -/* 0167CC 70015BCC 15A0000A */ bnez $t5, .L70015BF8 -/* 0167D0 70015BD0 00000000 */ nop -/* 0167D4 70015BD4 918E0002 */ lbu $t6, 2($t4) -/* 0167D8 70015BD8 31CF0001 */ andi $t7, $t6, 1 -/* 0167DC 70015BDC 11E00006 */ beqz $t7, .L70015BF8 -/* 0167E0 70015BE0 00000000 */ nop -/* 0167E4 70015BE4 93B8001F */ lbu $t8, 0x1f($sp) -/* 0167E8 70015BE8 24190001 */ li $t9, 1 -/* 0167EC 70015BEC 01394004 */ sllv $t0, $t9, $t1 -/* 0167F0 70015BF0 03085025 */ or $t2, $t8, $t0 -/* 0167F4 70015BF4 A3AA001F */ sb $t2, 0x1f($sp) -.L70015BF8: -/* 0167F8 70015BF8 8FAB0020 */ lw $t3, 0x20($sp) -/* 0167FC 70015BFC 3C0C8006 */ lui $t4, %hi(__osMaxControllers) -/* 016800 70015C00 918C7CE1 */ lbu $t4, %lo(__osMaxControllers)($t4) -/* 016804 70015C04 256D0001 */ addiu $t5, $t3, 1 -/* 016808 70015C08 AFAD0020 */ sw $t5, 0x20($sp) -/* 01680C 70015C0C 01AC082A */ slt $at, $t5, $t4 -/* 016810 70015C10 1420FFE9 */ bnez $at, .L70015BB8 -/* 016814 70015C14 00000000 */ nop -.L70015C18: -/* 016818 70015C18 0C0057A9 */ jal __osSiRelAccess -/* 01681C 70015C1C 00000000 */ nop -/* 016820 70015C20 93AE001F */ lbu $t6, 0x1f($sp) -/* 016824 70015C24 8FAF0044 */ lw $t7, 0x44($sp) -/* 016828 70015C28 A1EE0000 */ sb $t6, ($t7) -/* 01682C 70015C2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 016830 70015C30 8FA2003C */ lw $v0, 0x3c($sp) -/* 016834 70015C34 27BD0040 */ addiu $sp, $sp, 0x40 -/* 016838 70015C38 03E00008 */ jr $ra -/* 01683C 70015C3C 00000000 */ nop - -glabel __osPfsRequestData -/* 016840 70015C40 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 016844 70015C44 308400FF */ andi $a0, $a0, 0xff -/* 016848 70015C48 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 01684C 70015C4C A0247CE0 */ sb $a0, %lo(__osContLastCmd)($at) -/* 016850 70015C50 AFA00000 */ sw $zero, ($sp) -.L70015C54: -/* 016854 70015C54 8FAE0000 */ lw $t6, ($sp) -/* 016858 70015C58 8FB80000 */ lw $t8, ($sp) -/* 01685C 70015C5C 3C018006 */ lui $at, %hi(__osPfsPifRam) -/* 016860 70015C60 000E7880 */ sll $t7, $t6, 2 -/* 016864 70015C64 002F0821 */ addu $at, $at, $t7 -/* 016868 70015C68 AC207D70 */ sw $zero, %lo(__osPfsPifRam)($at) -/* 01686C 70015C6C 27190001 */ addiu $t9, $t8, 1 -/* 016870 70015C70 2B210010 */ slti $at, $t9, 0x10 -/* 016874 70015C74 1420FFF7 */ bnez $at, .L70015C54 -/* 016878 70015C78 AFB90000 */ sw $t9, ($sp) -/* 01687C 70015C7C 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 016880 70015C80 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 016884 70015C84 3C098006 */ lui $t1, %hi(__osPfsPifRam) -/* 016888 70015C88 24080001 */ li $t0, 1 -/* 01688C 70015C8C 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) -/* 016890 70015C90 25297D70 */ addiu $t1, %lo(__osPfsPifRam) # addiu $t1, $t1, 0x7d70 -/* 016894 70015C94 240A00FF */ li $t2, 255 -/* 016898 70015C98 240B0001 */ li $t3, 1 -/* 01689C 70015C9C 240C0003 */ li $t4, 3 -/* 0168A0 70015CA0 240D00FF */ li $t5, 255 -/* 0168A4 70015CA4 240E00FF */ li $t6, 255 -/* 0168A8 70015CA8 240F00FF */ li $t7, 255 -/* 0168AC 70015CAC 241800FF */ li $t8, 255 -/* 0168B0 70015CB0 AC287DAC */ sw $t0, %lo(__osPfsPifRam+0x3c)($at) -/* 0168B4 70015CB4 AFA9000C */ sw $t1, 0xc($sp) -/* 0168B8 70015CB8 A3AA0004 */ sb $t2, 4($sp) -/* 0168BC 70015CBC A3AB0005 */ sb $t3, 5($sp) -/* 0168C0 70015CC0 A3AC0006 */ sb $t4, 6($sp) -/* 0168C4 70015CC4 A3A40007 */ sb $a0, 7($sp) -/* 0168C8 70015CC8 A3AD0008 */ sb $t5, 8($sp) -/* 0168CC 70015CCC A3AE0009 */ sb $t6, 9($sp) -/* 0168D0 70015CD0 A3AF000A */ sb $t7, 0xa($sp) -/* 0168D4 70015CD4 A3B8000B */ sb $t8, 0xb($sp) -/* 0168D8 70015CD8 1B200013 */ blez $t9, .L70015D28 -/* 0168DC 70015CDC AFA00000 */ sw $zero, ($sp) -.L70015CE0: -/* 0168E0 70015CE0 27A90004 */ addiu $t1, $sp, 4 -/* 0168E4 70015CE4 8D210000 */ lw $at, ($t1) -/* 0168E8 70015CE8 8FA8000C */ lw $t0, 0xc($sp) -/* 0168EC 70015CEC 3C188006 */ lui $t8, %hi(__osMaxControllers) -/* 0168F0 70015CF0 A9010000 */ swl $at, ($t0) -/* 0168F4 70015CF4 B9010003 */ swr $at, 3($t0) -/* 0168F8 70015CF8 8D2B0004 */ lw $t3, 4($t1) -/* 0168FC 70015CFC A90B0004 */ swl $t3, 4($t0) -/* 016900 70015D00 B90B0007 */ swr $t3, 7($t0) -/* 016904 70015D04 8FAE0000 */ lw $t6, ($sp) -/* 016908 70015D08 93187CE1 */ lbu $t8, %lo(__osMaxControllers)($t8) -/* 01690C 70015D0C 8FAC000C */ lw $t4, 0xc($sp) -/* 016910 70015D10 25CF0001 */ addiu $t7, $t6, 1 -/* 016914 70015D14 01F8082A */ slt $at, $t7, $t8 -/* 016918 70015D18 258D0008 */ addiu $t5, $t4, 8 -/* 01691C 70015D1C AFAF0000 */ sw $t7, ($sp) -/* 016920 70015D20 1420FFEF */ bnez $at, .L70015CE0 -/* 016924 70015D24 AFAD000C */ sw $t5, 0xc($sp) -.L70015D28: -/* 016928 70015D28 8FAA000C */ lw $t2, 0xc($sp) -/* 01692C 70015D2C 241900FE */ li $t9, 254 -/* 016930 70015D30 27BD0010 */ addiu $sp, $sp, 0x10 -/* 016934 70015D34 03E00008 */ jr $ra -/* 016938 70015D38 A1590000 */ sb $t9, ($t2) - -glabel __osPfsGetInitData -/* 01693C 70015D3C 3C0F8006 */ lui $t7, %hi(__osMaxControllers) -/* 016940 70015D40 91EF7CE1 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 016944 70015D44 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 016948 70015D48 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 01694C 70015D4C 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 016950 70015D50 A3A00007 */ sb $zero, 7($sp) -/* 016954 70015D54 AFAE0014 */ sw $t6, 0x14($sp) -/* 016958 70015D58 19E00028 */ blez $t7, .L70015DFC -/* 01695C 70015D5C AFA00008 */ sw $zero, 8($sp) -.L70015D60: -/* 016960 70015D60 8FB90014 */ lw $t9, 0x14($sp) -/* 016964 70015D64 27B8000C */ addiu $t8, $sp, 0xc -/* 016968 70015D68 8B210000 */ lwl $at, ($t9) -/* 01696C 70015D6C 9B210003 */ lwr $at, 3($t9) -/* 016970 70015D70 AF010000 */ sw $at, ($t8) -/* 016974 70015D74 8B290004 */ lwl $t1, 4($t9) -/* 016978 70015D78 9B290007 */ lwr $t1, 7($t9) -/* 01697C 70015D7C AF090004 */ sw $t1, 4($t8) -/* 016980 70015D80 93AA000E */ lbu $t2, 0xe($sp) -/* 016984 70015D84 314B00C0 */ andi $t3, $t2, 0xc0 -/* 016988 70015D88 000B6103 */ sra $t4, $t3, 4 -/* 01698C 70015D8C A0AC0003 */ sb $t4, 3($a1) -/* 016990 70015D90 90AD0003 */ lbu $t5, 3($a1) -/* 016994 70015D94 15A0000E */ bnez $t5, .L70015DD0 -/* 016998 70015D98 00000000 */ nop -/* 01699C 70015D9C 93AE0011 */ lbu $t6, 0x11($sp) -/* 0169A0 70015DA0 93A80010 */ lbu $t0, 0x10($sp) -/* 0169A4 70015DA4 240B0001 */ li $t3, 1 -/* 0169A8 70015DA8 000E7A00 */ sll $t7, $t6, 8 -/* 0169AC 70015DAC 01E8C025 */ or $t8, $t7, $t0 -/* 0169B0 70015DB0 A4B80000 */ sh $t8, ($a1) -/* 0169B4 70015DB4 93B90012 */ lbu $t9, 0x12($sp) -/* 0169B8 70015DB8 A0B90002 */ sb $t9, 2($a1) -/* 0169BC 70015DBC 8FAA0008 */ lw $t2, 8($sp) -/* 0169C0 70015DC0 93A90007 */ lbu $t1, 7($sp) -/* 0169C4 70015DC4 014B6004 */ sllv $t4, $t3, $t2 -/* 0169C8 70015DC8 012C6825 */ or $t5, $t1, $t4 -/* 0169CC 70015DCC A3AD0007 */ sb $t5, 7($sp) -.L70015DD0: -/* 0169D0 70015DD0 8FAE0008 */ lw $t6, 8($sp) -/* 0169D4 70015DD4 3C198006 */ lui $t9, %hi(__osMaxControllers) -/* 0169D8 70015DD8 93397CE1 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 0169DC 70015DDC 8FA80014 */ lw $t0, 0x14($sp) -/* 0169E0 70015DE0 25CF0001 */ addiu $t7, $t6, 1 -/* 0169E4 70015DE4 01F9082A */ slt $at, $t7, $t9 -/* 0169E8 70015DE8 25180008 */ addiu $t8, $t0, 8 -/* 0169EC 70015DEC AFB80014 */ sw $t8, 0x14($sp) -/* 0169F0 70015DF0 AFAF0008 */ sw $t7, 8($sp) -/* 0169F4 70015DF4 1420FFDA */ bnez $at, .L70015D60 -/* 0169F8 70015DF8 24A50004 */ addiu $a1, $a1, 4 -.L70015DFC: -/* 0169FC 70015DFC 93AB0007 */ lbu $t3, 7($sp) -/* 016A00 70015E00 27BD0018 */ addiu $sp, $sp, 0x18 -/* 016A04 70015E04 03E00008 */ jr $ra -/* 016A08 70015E08 A08B0000 */ sb $t3, ($a0) - -/* 016A0C 70015E0C 00000000 */ nop -.section .bss -glabel __osPfsPifRam -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 - - - -.section .text -glabel __osSiCreateAccessQueue -/* 016A10 70015E10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 016A14 70015E14 AFBF0014 */ sw $ra, 0x14($sp) -/* 016A18 70015E18 240E0001 */ li $t6, 1 -/* 016A1C 70015E1C 3C018002 */ lui $at, %hi(__osSiAccessQueueEnabled) -/* 016A20 70015E20 3C048006 */ lui $a0, %hi(__osSiAccessQueue) -/* 016A24 70015E24 3C058006 */ lui $a1, %hi(__osSiAccessBuf) -/* 016A28 70015E28 AC2E77C0 */ sw $t6, %lo(__osSiAccessQueueEnabled)($at) -/* 016A2C 70015E2C 24A57DB0 */ addiu $a1, %lo(__osSiAccessBuf) # addiu $a1, $a1, 0x7db0 -/* 016A30 70015E30 24847DB8 */ addiu $a0, %lo(__osSiAccessQueue) # addiu $a0, $a0, 0x7db8 -/* 016A34 70015E34 0C0035B4 */ jal osCreateMesgQueue -/* 016A38 70015E38 24060001 */ li $a2, 1 -/* 016A3C 70015E3C 3C048006 */ lui $a0, %hi(__osSiAccessQueue) -/* 016A40 70015E40 24847DB8 */ addiu $a0, %lo(__osSiAccessQueue) # addiu $a0, $a0, 0x7db8 -/* 016A44 70015E44 00002825 */ move $a1, $zero -/* 016A48 70015E48 0C0037C4 */ jal osSendMesg -/* 016A4C 70015E4C 00003025 */ move $a2, $zero -/* 016A50 70015E50 8FBF0014 */ lw $ra, 0x14($sp) -/* 016A54 70015E54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 016A58 70015E58 03E00008 */ jr $ra -/* 016A5C 70015E5C 00000000 */ nop - -glabel __osSiGetAccess -/* 016A60 70015E60 3C0E8002 */ lui $t6, %hi(__osSiAccessQueueEnabled) -/* 016A64 70015E64 8DCE77C0 */ lw $t6, %lo(__osSiAccessQueueEnabled)($t6) -/* 016A68 70015E68 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 016A6C 70015E6C AFBF0014 */ sw $ra, 0x14($sp) -/* 016A70 70015E70 15C00003 */ bnez $t6, .L70015E80 -/* 016A74 70015E74 00000000 */ nop -/* 016A78 70015E78 0C005784 */ jal __osSiCreateAccessQueue -/* 016A7C 70015E7C 00000000 */ nop -.L70015E80: -/* 016A80 70015E80 3C048006 */ lui $a0, %hi(__osSiAccessQueue) -/* 016A84 70015E84 24847DB8 */ addiu $a0, %lo(__osSiAccessQueue) # addiu $a0, $a0, 0x7db8 -/* 016A88 70015E88 27A5001C */ addiu $a1, $sp, 0x1c -/* 016A8C 70015E8C 0C003774 */ jal osRecvMesg -/* 016A90 70015E90 24060001 */ li $a2, 1 -/* 016A94 70015E94 8FBF0014 */ lw $ra, 0x14($sp) -/* 016A98 70015E98 27BD0020 */ addiu $sp, $sp, 0x20 -/* 016A9C 70015E9C 03E00008 */ jr $ra -/* 016AA0 70015EA0 00000000 */ nop - -glabel __osSiRelAccess -/* 016AA4 70015EA4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 016AA8 70015EA8 AFBF0014 */ sw $ra, 0x14($sp) -/* 016AAC 70015EAC 3C048006 */ lui $a0, %hi(__osSiAccessQueue) -/* 016AB0 70015EB0 24847DB8 */ addiu $a0, %lo(__osSiAccessQueue) # addiu $a0, $a0, 0x7db8 -/* 016AB4 70015EB4 00002825 */ move $a1, $zero -/* 016AB8 70015EB8 0C0037C4 */ jal osSendMesg -/* 016ABC 70015EBC 00003025 */ move $a2, $zero -/* 016AC0 70015EC0 8FBF0014 */ lw $ra, 0x14($sp) -/* 016AC4 70015EC4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 016AC8 70015EC8 03E00008 */ jr $ra -/* 016ACC 70015ECC 00000000 */ nop - -.section .data -__osSiAccessQueueEnabled: -glabel __osSiAccessQueueEnabled -.word 0 - -.align 4 -.section .bss -glabel __osSiAccessBuf -.word 0, 0 -glabel __osSiAccessQueue -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 - -.section .text -glabel __osSiRawStartDma -/* 016AD0 70015ED0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 016AD4 70015ED4 AFBF0014 */ sw $ra, 0x14($sp) -/* 016AD8 70015ED8 AFA40018 */ sw $a0, 0x18($sp) -/* 016ADC 70015EDC 0C007DC8 */ jal __osSiDeviceBusy -/* 016AE0 70015EE0 AFA5001C */ sw $a1, 0x1c($sp) -/* 016AE4 70015EE4 10400003 */ beqz $v0, .L70015EF4 -/* 016AE8 70015EE8 00000000 */ nop -/* 016AEC 70015EEC 1000001F */ b .L70015F6C -/* 016AF0 70015EF0 2402FFFF */ li $v0, -1 -.L70015EF4: -/* 016AF4 70015EF4 8FAE0018 */ lw $t6, 0x18($sp) -/* 016AF8 70015EF8 24010001 */ li $at, 1 -/* 016AFC 70015EFC 15C10004 */ bne $t6, $at, .L70015F10 -/* 016B00 70015F00 00000000 */ nop -/* 016B04 70015F04 8FA4001C */ lw $a0, 0x1c($sp) -/* 016B08 70015F08 0C0042F4 */ jal osWritebackDCache -/* 016B0C 70015F0C 24050040 */ li $a1, 64 -.L70015F10: -/* 016B10 70015F10 0C003A2C */ jal osVirtualToPhysical -/* 016B14 70015F14 8FA4001C */ lw $a0, 0x1c($sp) -/* 016B18 70015F18 3C0FA480 */ lui $t7, 0xa480 -/* 016B1C 70015F1C ADE20000 */ sw $v0, ($t7) -/* 016B20 70015F20 8FB80018 */ lw $t8, 0x18($sp) -/* 016B24 70015F24 17000006 */ bnez $t8, .L70015F40 -/* 016B28 70015F28 00000000 */ nop -/* 016B2C 70015F2C 3C191FC0 */ lui $t9, (0x1FC007C0 >> 16) # lui $t9, 0x1fc0 -/* 016B30 70015F30 373907C0 */ ori $t9, (0x1FC007C0 & 0xFFFF) # ori $t9, $t9, 0x7c0 -/* 016B34 70015F34 3C08A480 */ lui $t0, %hi(SI_PIF_ADDR_RD64B_REG) # $t0, 0xa480 -/* 016B38 70015F38 10000005 */ b .L70015F50 -/* 016B3C 70015F3C AD190004 */ sw $t9, %lo(SI_PIF_ADDR_RD64B_REG)($t0) -.L70015F40: -/* 016B40 70015F40 3C091FC0 */ lui $t1, (0x1FC007C0 >> 16) # lui $t1, 0x1fc0 -/* 016B44 70015F44 352907C0 */ ori $t1, (0x1FC007C0 & 0xFFFF) # ori $t1, $t1, 0x7c0 -/* 016B48 70015F48 3C0AA480 */ lui $t2, %hi(SI_PIF_ADDR_WR64B_REG) # $t2, 0xa480 -/* 016B4C 70015F4C AD490010 */ sw $t1, %lo(SI_PIF_ADDR_WR64B_REG)($t2) -.L70015F50: -/* 016B50 70015F50 8FAB0018 */ lw $t3, 0x18($sp) -/* 016B54 70015F54 15600004 */ bnez $t3, .L70015F68 -/* 016B58 70015F58 00000000 */ nop -/* 016B5C 70015F5C 8FA4001C */ lw $a0, 0x1c($sp) -/* 016B60 70015F60 0C0042C8 */ jal osInvalDCache -/* 016B64 70015F64 24050040 */ li $a1, 64 -.L70015F68: -/* 016B68 70015F68 00001025 */ move $v0, $zero -.L70015F6C: -/* 016B6C 70015F6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 016B70 70015F70 27BD0018 */ addiu $sp, $sp, 0x18 -/* 016B74 70015F74 03E00008 */ jr $ra -/* 016B78 70015F78 00000000 */ nop - -/* 016B7C 70015F7C 00000000 */ nop -glabel __osContAddressCrc -/* 016B80 70015F80 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 016B84 70015F84 3084FFFF */ andi $a0, $a0, 0xffff -/* 016B88 70015F88 A3A0000F */ sb $zero, 0xf($sp) -/* 016B8C 70015F8C AFA00008 */ sw $zero, 8($sp) -.L70015F90: -/* 016B90 70015F90 93AE000F */ lbu $t6, 0xf($sp) -/* 016B94 70015F94 31CF0010 */ andi $t7, $t6, 0x10 -/* 016B98 70015F98 11E00004 */ beqz $t7, .L70015FAC -/* 016B9C 70015F9C 00000000 */ nop -/* 016BA0 70015FA0 24180015 */ li $t8, 21 -/* 016BA4 70015FA4 10000002 */ b .L70015FB0 -/* 016BA8 70015FA8 A3B8000E */ sb $t8, 0xe($sp) -.L70015FAC: -/* 016BAC 70015FAC A3A0000E */ sb $zero, 0xe($sp) -.L70015FB0: -/* 016BB0 70015FB0 93B9000F */ lbu $t9, 0xf($sp) -/* 016BB4 70015FB4 30890400 */ andi $t1, $a0, 0x400 -/* 016BB8 70015FB8 00194040 */ sll $t0, $t9, 1 -/* 016BBC 70015FBC 11200003 */ beqz $t1, .L70015FCC -/* 016BC0 70015FC0 A3A8000F */ sb $t0, 0xf($sp) -/* 016BC4 70015FC4 10000002 */ b .L70015FD0 -/* 016BC8 70015FC8 24050001 */ li $a1, 1 -.L70015FCC: -/* 016BCC 70015FCC 00002825 */ move $a1, $zero -.L70015FD0: -/* 016BD0 70015FD0 93AA000F */ lbu $t2, 0xf($sp) -/* 016BD4 70015FD4 8FA80008 */ lw $t0, 8($sp) -/* 016BD8 70015FD8 93AF000E */ lbu $t7, 0xe($sp) -/* 016BDC 70015FDC 30AB00FF */ andi $t3, $a1, 0xff -/* 016BE0 70015FE0 00046840 */ sll $t5, $a0, 1 -/* 016BE4 70015FE4 014B6025 */ or $t4, $t2, $t3 -/* 016BE8 70015FE8 01A02025 */ move $a0, $t5 -/* 016BEC 70015FEC 319800FF */ andi $t8, $t4, 0xff -/* 016BF0 70015FF0 25090001 */ addiu $t1, $t0, 1 -/* 016BF4 70015FF4 29210010 */ slti $at, $t1, 0x10 -/* 016BF8 70015FF8 A3AC000F */ sb $t4, 0xf($sp) -/* 016BFC 70015FFC 308EFFFF */ andi $t6, $a0, 0xffff -/* 016C00 70016000 030FC826 */ xor $t9, $t8, $t7 -/* 016C04 70016004 AFA90008 */ sw $t1, 8($sp) -/* 016C08 70016008 01C02025 */ move $a0, $t6 -/* 016C0C 7001600C 1420FFE0 */ bnez $at, .L70015F90 -/* 016C10 70016010 A3B9000F */ sb $t9, 0xf($sp) -/* 016C14 70016014 93A2000F */ lbu $v0, 0xf($sp) -/* 016C18 70016018 27BD0010 */ addiu $sp, $sp, 0x10 -/* 016C1C 7001601C 304A001F */ andi $t2, $v0, 0x1f -/* 016C20 70016020 01401025 */ move $v0, $t2 -/* 016C24 70016024 304B00FF */ andi $t3, $v0, 0xff -/* 016C28 70016028 03E00008 */ jr $ra -/* 016C2C 7001602C 01601025 */ move $v0, $t3 - -glabel __osContDataCrc -/* 016C30 70016030 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 016C34 70016034 A3A0000F */ sb $zero, 0xf($sp) -/* 016C38 70016038 AFA00008 */ sw $zero, 8($sp) -.L7001603C: -/* 016C3C 7001603C 240E0007 */ li $t6, 7 -/* 016C40 70016040 AFAE0004 */ sw $t6, 4($sp) -.L70016044: -/* 016C44 70016044 93AF000F */ lbu $t7, 0xf($sp) -/* 016C48 70016048 31F80080 */ andi $t8, $t7, 0x80 -/* 016C4C 7001604C 13000004 */ beqz $t8, .L70016060 -/* 016C50 70016050 00000000 */ nop -/* 016C54 70016054 24190085 */ li $t9, 133 -/* 016C58 70016058 10000002 */ b .L70016064 -/* 016C5C 7001605C A3B9000E */ sb $t9, 0xe($sp) -.L70016060: -/* 016C60 70016060 A3A0000E */ sb $zero, 0xe($sp) -.L70016064: -/* 016C64 70016064 93A8000F */ lbu $t0, 0xf($sp) -/* 016C68 70016068 8FAA0008 */ lw $t2, 8($sp) -/* 016C6C 7001606C 24010020 */ li $at, 32 -/* 016C70 70016070 00084840 */ sll $t1, $t0, 1 -/* 016C74 70016074 15410004 */ bne $t2, $at, .L70016088 -/* 016C78 70016078 A3A9000F */ sb $t1, 0xf($sp) -/* 016C7C 7001607C 312B00FF */ andi $t3, $t1, 0xff -/* 016C80 70016080 1000000E */ b .L700160BC -/* 016C84 70016084 A3AB000F */ sb $t3, 0xf($sp) -.L70016088: -/* 016C88 70016088 8FAD0004 */ lw $t5, 4($sp) -/* 016C8C 7001608C 908C0000 */ lbu $t4, ($a0) -/* 016C90 70016090 240E0001 */ li $t6, 1 -/* 016C94 70016094 01AE7804 */ sllv $t7, $t6, $t5 -/* 016C98 70016098 018FC024 */ and $t8, $t4, $t7 -/* 016C9C 7001609C 13000003 */ beqz $t8, .L700160AC -/* 016CA0 700160A0 00000000 */ nop -/* 016CA4 700160A4 10000002 */ b .L700160B0 -/* 016CA8 700160A8 24050001 */ li $a1, 1 -.L700160AC: -/* 016CAC 700160AC 00002825 */ move $a1, $zero -.L700160B0: -/* 016CB0 700160B0 93B9000F */ lbu $t9, 0xf($sp) -/* 016CB4 700160B4 03254025 */ or $t0, $t9, $a1 -/* 016CB8 700160B8 A3A8000F */ sb $t0, 0xf($sp) -.L700160BC: -/* 016CBC 700160BC 8FAE0004 */ lw $t6, 4($sp) -/* 016CC0 700160C0 93AA000F */ lbu $t2, 0xf($sp) -/* 016CC4 700160C4 93A9000E */ lbu $t1, 0xe($sp) -/* 016CC8 700160C8 25CDFFFF */ addiu $t5, $t6, -1 -/* 016CCC 700160CC AFAD0004 */ sw $t5, 4($sp) -/* 016CD0 700160D0 01495826 */ xor $t3, $t2, $t1 -/* 016CD4 700160D4 05A1FFDB */ bgez $t5, .L70016044 -/* 016CD8 700160D8 A3AB000F */ sb $t3, 0xf($sp) -/* 016CDC 700160DC 8FAC0008 */ lw $t4, 8($sp) -/* 016CE0 700160E0 24840001 */ addiu $a0, $a0, 1 -/* 016CE4 700160E4 258F0001 */ addiu $t7, $t4, 1 -/* 016CE8 700160E8 29E10021 */ slti $at, $t7, 0x21 -/* 016CEC 700160EC 1420FFD3 */ bnez $at, .L7001603C -/* 016CF0 700160F0 AFAF0008 */ sw $t7, 8($sp) -/* 016CF4 700160F4 93A2000F */ lbu $v0, 0xf($sp) -/* 016CF8 700160F8 03E00008 */ jr $ra -/* 016CFC 700160FC 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel __osContRamWrite -/* 016D00 70016100 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 016D04 70016104 8FB80070 */ lw $t8, 0x70($sp) -/* 016D08 70016108 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 016D0C 7001610C 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 016D10 70016110 240F0002 */ li $t7, 2 -/* 016D14 70016114 24010001 */ li $at, 1 -/* 016D18 70016118 AFBF001C */ sw $ra, 0x1c($sp) -/* 016D1C 7001611C AFA40060 */ sw $a0, 0x60($sp) -/* 016D20 70016120 AFA50064 */ sw $a1, 0x64($sp) -/* 016D24 70016124 AFA60068 */ sw $a2, 0x68($sp) -/* 016D28 70016128 AFA7006C */ sw $a3, 0x6c($sp) -/* 016D2C 7001612C AFB00018 */ sw $s0, 0x18($sp) -/* 016D30 70016130 AFA0005C */ sw $zero, 0x5c($sp) -/* 016D34 70016134 AFAE0054 */ sw $t6, 0x54($sp) -/* 016D38 70016138 13010009 */ beq $t8, $at, .L70016160 -/* 016D3C 7001613C AFAF0028 */ sw $t7, 0x28($sp) -/* 016D40 70016140 97B9006A */ lhu $t9, 0x6a($sp) -/* 016D44 70016144 2B210007 */ slti $at, $t9, 7 -/* 016D48 70016148 10200005 */ beqz $at, .L70016160 -/* 016D4C 7001614C 00000000 */ nop -/* 016D50 70016150 13200003 */ beqz $t9, .L70016160 -/* 016D54 70016154 00000000 */ nop -/* 016D58 70016158 10000070 */ b .L7001631C -/* 016D5C 7001615C 00001025 */ move $v0, $zero -.L70016160: -/* 016D60 70016160 0C005798 */ jal __osSiGetAccess -/* 016D64 70016164 00000000 */ nop -/* 016D68 70016168 24080003 */ li $t0, 3 -/* 016D6C 7001616C 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 016D70 70016170 A0287CE0 */ sb $t0, %lo(__osContLastCmd)($at) -/* 016D74 70016174 8FA40064 */ lw $a0, 0x64($sp) -/* 016D78 70016178 97A5006A */ lhu $a1, 0x6a($sp) -/* 016D7C 7001617C 0C0058CC */ jal __osContRamWrite_sub -/* 016D80 70016180 8FA6006C */ lw $a2, 0x6c($sp) -/* 016D84 70016184 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 016D88 70016188 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 016D8C 7001618C 0C0057B4 */ jal __osSiRawStartDma -/* 016D90 70016190 24040001 */ li $a0, 1 -/* 016D94 70016194 AFA2005C */ sw $v0, 0x5c($sp) -/* 016D98 70016198 8FA40060 */ lw $a0, 0x60($sp) -/* 016D9C 7001619C 00002825 */ move $a1, $zero -/* 016DA0 700161A0 0C003774 */ jal osRecvMesg -/* 016DA4 700161A4 24060001 */ li $a2, 1 -.L700161A8: -/* 016DA8 700161A8 AFA00058 */ sw $zero, 0x58($sp) -.L700161AC: -/* 016DAC 700161AC 8FAA0058 */ lw $t2, 0x58($sp) -/* 016DB0 700161B0 8FAC0058 */ lw $t4, 0x58($sp) -/* 016DB4 700161B4 3C018006 */ lui $at, %hi(__osPfsPifRam) -/* 016DB8 700161B8 000A5880 */ sll $t3, $t2, 2 -/* 016DBC 700161BC 002B0821 */ addu $at, $at, $t3 -/* 016DC0 700161C0 240900FF */ li $t1, 255 -/* 016DC4 700161C4 AC297D70 */ sw $t1, %lo(__osPfsPifRam)($at) -/* 016DC8 700161C8 258D0001 */ addiu $t5, $t4, 1 -/* 016DCC 700161CC 29A10010 */ slti $at, $t5, 0x10 -/* 016DD0 700161D0 1420FFF6 */ bnez $at, .L700161AC -/* 016DD4 700161D4 AFAD0058 */ sw $t5, 0x58($sp) -/* 016DD8 700161D8 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) -/* 016DDC 700161DC 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 016DE0 700161E0 AC207DAC */ sw $zero, %lo(__osPfsPifRam+0x3c)($at) -/* 016DE4 700161E4 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 016DE8 700161E8 0C0057B4 */ jal __osSiRawStartDma -/* 016DEC 700161EC 00002025 */ move $a0, $zero -/* 016DF0 700161F0 AFA2005C */ sw $v0, 0x5c($sp) -/* 016DF4 700161F4 8FA40060 */ lw $a0, 0x60($sp) -/* 016DF8 700161F8 00002825 */ move $a1, $zero -/* 016DFC 700161FC 0C003774 */ jal osRecvMesg -/* 016E00 70016200 24060001 */ li $a2, 1 -/* 016E04 70016204 8FAF0064 */ lw $t7, 0x64($sp) -/* 016E08 70016208 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 016E0C 7001620C 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 016E10 70016210 11E0000C */ beqz $t7, .L70016244 -/* 016E14 70016214 AFAE0054 */ sw $t6, 0x54($sp) -/* 016E18 70016218 19E0000A */ blez $t7, .L70016244 -/* 016E1C 7001621C AFA00058 */ sw $zero, 0x58($sp) -.L70016220: -/* 016E20 70016220 8FA80058 */ lw $t0, 0x58($sp) -/* 016E24 70016224 8FA90064 */ lw $t1, 0x64($sp) -/* 016E28 70016228 8FB80054 */ lw $t8, 0x54($sp) -/* 016E2C 7001622C 250A0001 */ addiu $t2, $t0, 1 -/* 016E30 70016230 0149082A */ slt $at, $t2, $t1 -/* 016E34 70016234 27190001 */ addiu $t9, $t8, 1 -/* 016E38 70016238 AFAA0058 */ sw $t2, 0x58($sp) -/* 016E3C 7001623C 1420FFF8 */ bnez $at, .L70016220 -/* 016E40 70016240 AFB90054 */ sw $t9, 0x54($sp) -.L70016244: -/* 016E44 70016244 8FAC0054 */ lw $t4, 0x54($sp) -/* 016E48 70016248 27AB002C */ addiu $t3, $sp, 0x2c -/* 016E4C 7001624C 258E0024 */ addiu $t6, $t4, 0x24 -.L70016250: -/* 016E50 70016250 89810000 */ lwl $at, ($t4) -/* 016E54 70016254 99810003 */ lwr $at, 3($t4) -/* 016E58 70016258 258C000C */ addiu $t4, $t4, 0xc -/* 016E5C 7001625C 256B000C */ addiu $t3, $t3, 0xc -/* 016E60 70016260 AD61FFF4 */ sw $at, -0xc($t3) -/* 016E64 70016264 8981FFF8 */ lwl $at, -8($t4) -/* 016E68 70016268 9981FFFB */ lwr $at, -5($t4) -/* 016E6C 7001626C AD61FFF8 */ sw $at, -8($t3) -/* 016E70 70016270 8981FFFC */ lwl $at, -4($t4) -/* 016E74 70016274 9981FFFF */ lwr $at, -1($t4) -/* 016E78 70016278 158EFFF5 */ bne $t4, $t6, .L70016250 -/* 016E7C 7001627C AD61FFFC */ sw $at, -4($t3) -/* 016E80 70016280 89810000 */ lwl $at, ($t4) -/* 016E84 70016284 99810003 */ lwr $at, 3($t4) -/* 016E88 70016288 AD610000 */ sw $at, ($t3) -/* 016E8C 7001628C 93AF002E */ lbu $t7, 0x2e($sp) -/* 016E90 70016290 31F800C0 */ andi $t8, $t7, 0xc0 -/* 016E94 70016294 0018C903 */ sra $t9, $t8, 4 -/* 016E98 70016298 17200013 */ bnez $t9, .L700162E8 -/* 016E9C 7001629C AFB9005C */ sw $t9, 0x5c($sp) -/* 016EA0 700162A0 0C00580C */ jal __osContDataCrc -/* 016EA4 700162A4 8FA4006C */ lw $a0, 0x6c($sp) -/* 016EA8 700162A8 93A80052 */ lbu $t0, 0x52($sp) -/* 016EAC 700162AC 1048000E */ beq $v0, $t0, .L700162E8 -/* 016EB0 700162B0 00000000 */ nop -/* 016EB4 700162B4 8FA40060 */ lw $a0, 0x60($sp) -/* 016EB8 700162B8 0C0051FD */ jal __osPfsGetStatus -/* 016EBC 700162BC 8FA50064 */ lw $a1, 0x64($sp) -/* 016EC0 700162C0 AFA2005C */ sw $v0, 0x5c($sp) -/* 016EC4 700162C4 8FAA005C */ lw $t2, 0x5c($sp) -/* 016EC8 700162C8 11400005 */ beqz $t2, .L700162E0 -/* 016ECC 700162CC 00000000 */ nop -/* 016ED0 700162D0 0C0057A9 */ jal __osSiRelAccess -/* 016ED4 700162D4 00000000 */ nop -/* 016ED8 700162D8 10000010 */ b .L7001631C -/* 016EDC 700162DC 8FA2005C */ lw $v0, 0x5c($sp) -.L700162E0: -/* 016EE0 700162E0 24090004 */ li $t1, 4 -/* 016EE4 700162E4 AFA9005C */ sw $t1, 0x5c($sp) -.L700162E8: -/* 016EE8 700162E8 8FAD005C */ lw $t5, 0x5c($sp) -/* 016EEC 700162EC 24010004 */ li $at, 4 -/* 016EF0 700162F0 15A10007 */ bne $t5, $at, .L70016310 -/* 016EF4 700162F4 00000000 */ nop -/* 016EF8 700162F8 8FAE0028 */ lw $t6, 0x28($sp) -/* 016EFC 700162FC 29D00000 */ slti $s0, $t6, 0 -/* 016F00 70016300 3A100001 */ xori $s0, $s0, 1 -/* 016F04 70016304 25CCFFFF */ addiu $t4, $t6, -1 -/* 016F08 70016308 1600FFA7 */ bnez $s0, .L700161A8 -/* 016F0C 7001630C AFAC0028 */ sw $t4, 0x28($sp) -.L70016310: -/* 016F10 70016310 0C0057A9 */ jal __osSiRelAccess -/* 016F14 70016314 00000000 */ nop -/* 016F18 70016318 8FA2005C */ lw $v0, 0x5c($sp) -.L7001631C: -/* 016F1C 7001631C 8FBF001C */ lw $ra, 0x1c($sp) -/* 016F20 70016320 8FB00018 */ lw $s0, 0x18($sp) -/* 016F24 70016324 27BD0060 */ addiu $sp, $sp, 0x60 -/* 016F28 70016328 03E00008 */ jr $ra -/* 016F2C 7001632C 00000000 */ nop - -glabel __osContRamWrite_sub -/* 016F30 70016330 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 016F34 70016334 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 016F38 70016338 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 016F3C 7001633C AFBF0014 */ sw $ra, 0x14($sp) -/* 016F40 70016340 AFA40048 */ sw $a0, 0x48($sp) -/* 016F44 70016344 AFA5004C */ sw $a1, 0x4c($sp) -/* 016F48 70016348 AFA60050 */ sw $a2, 0x50($sp) -/* 016F4C 7001634C AFAE0044 */ sw $t6, 0x44($sp) -/* 016F50 70016350 AFA00018 */ sw $zero, 0x18($sp) -.L70016354: -/* 016F54 70016354 8FAF0018 */ lw $t7, 0x18($sp) -/* 016F58 70016358 8FB90018 */ lw $t9, 0x18($sp) -/* 016F5C 7001635C 3C018006 */ lui $at, %hi(__osPfsPifRam) -/* 016F60 70016360 000FC080 */ sll $t8, $t7, 2 -/* 016F64 70016364 00380821 */ addu $at, $at, $t8 -/* 016F68 70016368 AC207D70 */ sw $zero, %lo(__osPfsPifRam)($at) -/* 016F6C 7001636C 27280001 */ addiu $t0, $t9, 1 -/* 016F70 70016370 29010010 */ slti $at, $t0, 0x10 -/* 016F74 70016374 1420FFF7 */ bnez $at, .L70016354 -/* 016F78 70016378 AFA80018 */ sw $t0, 0x18($sp) -/* 016F7C 7001637C 24090001 */ li $t1, 1 -/* 016F80 70016380 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) -/* 016F84 70016384 240A00FF */ li $t2, 255 -/* 016F88 70016388 240B0023 */ li $t3, 35 -/* 016F8C 7001638C 240C0001 */ li $t4, 1 -/* 016F90 70016390 240D0003 */ li $t5, 3 -/* 016F94 70016394 AC297DAC */ sw $t1, %lo(__osPfsPifRam+0x3c)($at) -/* 016F98 70016398 A3AA001C */ sb $t2, 0x1c($sp) -/* 016F9C 7001639C A3AB001D */ sb $t3, 0x1d($sp) -/* 016FA0 700163A0 A3AC001E */ sb $t4, 0x1e($sp) -/* 016FA4 700163A4 A3AD001F */ sb $t5, 0x1f($sp) -/* 016FA8 700163A8 0C0057E0 */ jal __osContAddressCrc -/* 016FAC 700163AC 97A4004E */ lhu $a0, 0x4e($sp) -/* 016FB0 700163B0 97AE004E */ lhu $t6, 0x4e($sp) -/* 016FB4 700163B4 241900FF */ li $t9, 255 -/* 016FB8 700163B8 A3B90042 */ sb $t9, 0x42($sp) -/* 016FBC 700163BC 000E7940 */ sll $t7, $t6, 5 -/* 016FC0 700163C0 004FC025 */ or $t8, $v0, $t7 -/* 016FC4 700163C4 A7B80020 */ sh $t8, 0x20($sp) -/* 016FC8 700163C8 AFA00018 */ sw $zero, 0x18($sp) -.L700163CC: -/* 016FCC 700163CC 8FA80050 */ lw $t0, 0x50($sp) -/* 016FD0 700163D0 8FAA0018 */ lw $t2, 0x18($sp) -/* 016FD4 700163D4 91090000 */ lbu $t1, ($t0) -/* 016FD8 700163D8 03AA5821 */ addu $t3, $sp, $t2 -/* 016FDC 700163DC A1690022 */ sb $t1, 0x22($t3) -/* 016FE0 700163E0 8FAE0018 */ lw $t6, 0x18($sp) -/* 016FE4 700163E4 8FAC0050 */ lw $t4, 0x50($sp) -/* 016FE8 700163E8 25CF0001 */ addiu $t7, $t6, 1 -/* 016FEC 700163EC 29E10020 */ slti $at, $t7, 0x20 -/* 016FF0 700163F0 258D0001 */ addiu $t5, $t4, 1 -/* 016FF4 700163F4 AFAF0018 */ sw $t7, 0x18($sp) -/* 016FF8 700163F8 1420FFF4 */ bnez $at, .L700163CC -/* 016FFC 700163FC AFAD0050 */ sw $t5, 0x50($sp) -/* 017000 70016400 8FB80048 */ lw $t8, 0x48($sp) -/* 017004 70016404 1300000E */ beqz $t8, .L70016440 -/* 017008 70016408 00000000 */ nop -/* 01700C 7001640C 1B00000C */ blez $t8, .L70016440 -/* 017010 70016410 AFA00018 */ sw $zero, 0x18($sp) -.L70016414: -/* 017014 70016414 8FB90044 */ lw $t9, 0x44($sp) -/* 017018 70016418 A3200000 */ sb $zero, ($t9) -/* 01701C 7001641C 8FAA0018 */ lw $t2, 0x18($sp) -/* 017020 70016420 8FAC0048 */ lw $t4, 0x48($sp) -/* 017024 70016424 8FA80044 */ lw $t0, 0x44($sp) -/* 017028 70016428 254B0001 */ addiu $t3, $t2, 1 -/* 01702C 7001642C 016C082A */ slt $at, $t3, $t4 -/* 017030 70016430 25090001 */ addiu $t1, $t0, 1 -/* 017034 70016434 AFAB0018 */ sw $t3, 0x18($sp) -/* 017038 70016438 1420FFF6 */ bnez $at, .L70016414 -/* 01703C 7001643C AFA90044 */ sw $t1, 0x44($sp) -.L70016440: -/* 017040 70016440 27AE001C */ addiu $t6, $sp, 0x1c -/* 017044 70016444 25D80024 */ addiu $t8, $t6, 0x24 -/* 017048 70016448 8FAD0044 */ lw $t5, 0x44($sp) -.L7001644C: -/* 01704C 7001644C 8DC10000 */ lw $at, ($t6) -/* 017050 70016450 25CE000C */ addiu $t6, $t6, 0xc -/* 017054 70016454 25AD000C */ addiu $t5, $t5, 0xc -/* 017058 70016458 A9A1FFF4 */ swl $at, -0xc($t5) -/* 01705C 7001645C B9A1FFF7 */ swr $at, -9($t5) -/* 017060 70016460 8DC1FFF8 */ lw $at, -8($t6) -/* 017064 70016464 A9A1FFF8 */ swl $at, -8($t5) -/* 017068 70016468 B9A1FFFB */ swr $at, -5($t5) -/* 01706C 7001646C 8DC1FFFC */ lw $at, -4($t6) -/* 017070 70016470 A9A1FFFC */ swl $at, -4($t5) -/* 017074 70016474 15D8FFF5 */ bne $t6, $t8, .L7001644C -/* 017078 70016478 B9A1FFFF */ swr $at, -1($t5) -/* 01707C 7001647C 8DC10000 */ lw $at, ($t6) -/* 017080 70016480 240900FE */ li $t1, 254 -/* 017084 70016484 A9A10000 */ swl $at, ($t5) -/* 017088 70016488 B9A10003 */ swr $at, 3($t5) -/* 01708C 7001648C 8FB90044 */ lw $t9, 0x44($sp) -/* 017090 70016490 27280028 */ addiu $t0, $t9, 0x28 -/* 017094 70016494 AFA80044 */ sw $t0, 0x44($sp) -/* 017098 70016498 A1090000 */ sb $t1, ($t0) -/* 01709C 7001649C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0170A0 700164A0 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0170A4 700164A4 03E00008 */ jr $ra -/* 0170A8 700164A8 00000000 */ nop - -/* 0170AC 700164AC 00000000 */ nop - -glabel __osContRamRead -/* 0170B0 700164B0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0170B4 700164B4 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 0170B8 700164B8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0170BC 700164BC 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 0170C0 700164C0 240F0002 */ li $t7, 2 -/* 0170C4 700164C4 AFA40060 */ sw $a0, 0x60($sp) -/* 0170C8 700164C8 AFA50064 */ sw $a1, 0x64($sp) -/* 0170CC 700164CC AFA60068 */ sw $a2, 0x68($sp) -/* 0170D0 700164D0 AFA7006C */ sw $a3, 0x6c($sp) -/* 0170D4 700164D4 AFB00018 */ sw $s0, 0x18($sp) -/* 0170D8 700164D8 AFA0005C */ sw $zero, 0x5c($sp) -/* 0170DC 700164DC AFAE0054 */ sw $t6, 0x54($sp) -/* 0170E0 700164E0 0C005798 */ jal __osSiGetAccess -/* 0170E4 700164E4 AFAF0028 */ sw $t7, 0x28($sp) -/* 0170E8 700164E8 24180002 */ li $t8, 2 -/* 0170EC 700164EC 3C018006 */ lui $at, %hi(__osContLastCmd) -/* 0170F0 700164F0 A0387CE0 */ sb $t8, %lo(__osContLastCmd)($at) -/* 0170F4 700164F4 8FA40064 */ lw $a0, 0x64($sp) -/* 0170F8 700164F8 0C0059BD */ jal __osContRamRead_sub -/* 0170FC 700164FC 97A5006A */ lhu $a1, 0x6a($sp) -/* 017100 70016500 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 017104 70016504 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 017108 70016508 0C0057B4 */ jal __osSiRawStartDma -/* 01710C 7001650C 24040001 */ li $a0, 1 -/* 017110 70016510 AFA2005C */ sw $v0, 0x5c($sp) -/* 017114 70016514 8FA40060 */ lw $a0, 0x60($sp) -/* 017118 70016518 00002825 */ move $a1, $zero -/* 01711C 7001651C 0C003774 */ jal osRecvMesg -/* 017120 70016520 24060001 */ li $a2, 1 -.L70016524: -/* 017124 70016524 AFA00058 */ sw $zero, 0x58($sp) -.L70016528: -/* 017128 70016528 8FA80058 */ lw $t0, 0x58($sp) -/* 01712C 7001652C 8FAA0058 */ lw $t2, 0x58($sp) -/* 017130 70016530 3C018006 */ lui $at, %hi(__osPfsPifRam) -/* 017134 70016534 00084880 */ sll $t1, $t0, 2 -/* 017138 70016538 00290821 */ addu $at, $at, $t1 -/* 01713C 7001653C 241900FF */ li $t9, 255 -/* 017140 70016540 AC397D70 */ sw $t9, %lo(__osPfsPifRam)($at) -/* 017144 70016544 254B0001 */ addiu $t3, $t2, 1 -/* 017148 70016548 29610010 */ slti $at, $t3, 0x10 -/* 01714C 7001654C 1420FFF6 */ bnez $at, .L70016528 -/* 017150 70016550 AFAB0058 */ sw $t3, 0x58($sp) -/* 017154 70016554 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) -/* 017158 70016558 3C058006 */ lui $a1, %hi(__osPfsPifRam) -/* 01715C 7001655C AC207DAC */ sw $zero, %lo(__osPfsPifRam+0x3c)($at) -/* 017160 70016560 24A57D70 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x7d70 -/* 017164 70016564 0C0057B4 */ jal __osSiRawStartDma -/* 017168 70016568 00002025 */ move $a0, $zero -/* 01716C 7001656C AFA2005C */ sw $v0, 0x5c($sp) -/* 017170 70016570 8FA40060 */ lw $a0, 0x60($sp) -/* 017174 70016574 00002825 */ move $a1, $zero -/* 017178 70016578 0C003774 */ jal osRecvMesg -/* 01717C 7001657C 24060001 */ li $a2, 1 -/* 017180 70016580 8FAD0064 */ lw $t5, 0x64($sp) -/* 017184 70016584 3C0C8006 */ lui $t4, %hi(__osPfsPifRam) -/* 017188 70016588 258C7D70 */ addiu $t4, %lo(__osPfsPifRam) # addiu $t4, $t4, 0x7d70 -/* 01718C 7001658C 11A0000C */ beqz $t5, .L700165C0 -/* 017190 70016590 AFAC0054 */ sw $t4, 0x54($sp) -/* 017194 70016594 19A0000A */ blez $t5, .L700165C0 -/* 017198 70016598 AFA00058 */ sw $zero, 0x58($sp) -.L7001659C: -/* 01719C 7001659C 8FB80058 */ lw $t8, 0x58($sp) -/* 0171A0 700165A0 8FB90064 */ lw $t9, 0x64($sp) -/* 0171A4 700165A4 8FAE0054 */ lw $t6, 0x54($sp) -/* 0171A8 700165A8 27080001 */ addiu $t0, $t8, 1 -/* 0171AC 700165AC 0119082A */ slt $at, $t0, $t9 -/* 0171B0 700165B0 25CF0001 */ addiu $t7, $t6, 1 -/* 0171B4 700165B4 AFA80058 */ sw $t0, 0x58($sp) -/* 0171B8 700165B8 1420FFF8 */ bnez $at, .L7001659C -/* 0171BC 700165BC AFAF0054 */ sw $t7, 0x54($sp) -.L700165C0: -/* 0171C0 700165C0 8FAA0054 */ lw $t2, 0x54($sp) -/* 0171C4 700165C4 27A9002C */ addiu $t1, $sp, 0x2c -/* 0171C8 700165C8 254C0024 */ addiu $t4, $t2, 0x24 -.L700165CC: -/* 0171CC 700165CC 89410000 */ lwl $at, ($t2) -/* 0171D0 700165D0 99410003 */ lwr $at, 3($t2) -/* 0171D4 700165D4 254A000C */ addiu $t2, $t2, 0xc -/* 0171D8 700165D8 2529000C */ addiu $t1, $t1, 0xc -/* 0171DC 700165DC AD21FFF4 */ sw $at, -0xc($t1) -/* 0171E0 700165E0 8941FFF8 */ lwl $at, -8($t2) -/* 0171E4 700165E4 9941FFFB */ lwr $at, -5($t2) -/* 0171E8 700165E8 AD21FFF8 */ sw $at, -8($t1) -/* 0171EC 700165EC 8941FFFC */ lwl $at, -4($t2) -/* 0171F0 700165F0 9941FFFF */ lwr $at, -1($t2) -/* 0171F4 700165F4 154CFFF5 */ bne $t2, $t4, .L700165CC -/* 0171F8 700165F8 AD21FFFC */ sw $at, -4($t1) -/* 0171FC 700165FC 89410000 */ lwl $at, ($t2) -/* 017200 70016600 99410003 */ lwr $at, 3($t2) -/* 017204 70016604 AD210000 */ sw $at, ($t1) -/* 017208 70016608 93AD002E */ lbu $t5, 0x2e($sp) -/* 01720C 7001660C 31AE00C0 */ andi $t6, $t5, 0xc0 -/* 017210 70016610 000E7903 */ sra $t7, $t6, 4 -/* 017214 70016614 15E00025 */ bnez $t7, .L700166AC -/* 017218 70016618 AFAF005C */ sw $t7, 0x5c($sp) -/* 01721C 7001661C 27A4002C */ addiu $a0, $sp, 0x2c -/* 017220 70016620 0C00580C */ jal __osContDataCrc -/* 017224 70016624 24840006 */ addiu $a0, $a0, 6 -/* 017228 70016628 A3A20027 */ sb $v0, 0x27($sp) -/* 01722C 7001662C 93B80027 */ lbu $t8, 0x27($sp) -/* 017230 70016630 93A80052 */ lbu $t0, 0x52($sp) -/* 017234 70016634 1308000F */ beq $t8, $t0, .L70016674 -/* 017238 70016638 00000000 */ nop -/* 01723C 7001663C 8FA40060 */ lw $a0, 0x60($sp) -/* 017240 70016640 0C0051FD */ jal __osPfsGetStatus -/* 017244 70016644 8FA50064 */ lw $a1, 0x64($sp) -/* 017248 70016648 AFA2005C */ sw $v0, 0x5c($sp) -/* 01724C 7001664C 8FB9005C */ lw $t9, 0x5c($sp) -/* 017250 70016650 13200005 */ beqz $t9, .L70016668 -/* 017254 70016654 00000000 */ nop -/* 017258 70016658 0C0057A9 */ jal __osSiRelAccess -/* 01725C 7001665C 00000000 */ nop -/* 017260 70016660 1000001F */ b .L700166E0 -/* 017264 70016664 8FA2005C */ lw $v0, 0x5c($sp) -.L70016668: -/* 017268 70016668 240B0004 */ li $t3, 4 -/* 01726C 7001666C 1000000F */ b .L700166AC -/* 017270 70016670 AFAB005C */ sw $t3, 0x5c($sp) -.L70016674: -/* 017274 70016674 AFA00058 */ sw $zero, 0x58($sp) -.L70016678: -/* 017278 70016678 8FAC0058 */ lw $t4, 0x58($sp) -/* 01727C 7001667C 8FA9006C */ lw $t1, 0x6c($sp) -/* 017280 70016680 03AC5021 */ addu $t2, $sp, $t4 -/* 017284 70016684 914A0032 */ lbu $t2, 0x32($t2) -/* 017288 70016688 A12A0000 */ sb $t2, ($t1) -/* 01728C 7001668C 8FAF0058 */ lw $t7, 0x58($sp) -/* 017290 70016690 8FAD006C */ lw $t5, 0x6c($sp) -/* 017294 70016694 25F80001 */ addiu $t8, $t7, 1 -/* 017298 70016698 2B010020 */ slti $at, $t8, 0x20 -/* 01729C 7001669C 25AE0001 */ addiu $t6, $t5, 1 -/* 0172A0 700166A0 AFB80058 */ sw $t8, 0x58($sp) -/* 0172A4 700166A4 1420FFF4 */ bnez $at, .L70016678 -/* 0172A8 700166A8 AFAE006C */ sw $t6, 0x6c($sp) -.L700166AC: -/* 0172AC 700166AC 8FA8005C */ lw $t0, 0x5c($sp) -/* 0172B0 700166B0 24010004 */ li $at, 4 -/* 0172B4 700166B4 15010007 */ bne $t0, $at, .L700166D4 -/* 0172B8 700166B8 00000000 */ nop -/* 0172BC 700166BC 8FB90028 */ lw $t9, 0x28($sp) -/* 0172C0 700166C0 2B300000 */ slti $s0, $t9, 0 -/* 0172C4 700166C4 3A100001 */ xori $s0, $s0, 1 -/* 0172C8 700166C8 272BFFFF */ addiu $t3, $t9, -1 -/* 0172CC 700166CC 1600FF95 */ bnez $s0, .L70016524 -/* 0172D0 700166D0 AFAB0028 */ sw $t3, 0x28($sp) -.L700166D4: -/* 0172D4 700166D4 0C0057A9 */ jal __osSiRelAccess -/* 0172D8 700166D8 00000000 */ nop -/* 0172DC 700166DC 8FA2005C */ lw $v0, 0x5c($sp) -.L700166E0: -/* 0172E0 700166E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0172E4 700166E4 8FB00018 */ lw $s0, 0x18($sp) -/* 0172E8 700166E8 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0172EC 700166EC 03E00008 */ jr $ra -/* 0172F0 700166F0 00000000 */ nop - -glabel __osContRamRead_sub -/* 0172F4 700166F4 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0172F8 700166F8 3C0E8006 */ lui $t6, %hi(__osPfsPifRam) -/* 0172FC 700166FC 25CE7D70 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x7d70 -/* 017300 70016700 AFBF0014 */ sw $ra, 0x14($sp) -/* 017304 70016704 AFA40048 */ sw $a0, 0x48($sp) -/* 017308 70016708 AFA5004C */ sw $a1, 0x4c($sp) -/* 01730C 7001670C AFAE0044 */ sw $t6, 0x44($sp) -/* 017310 70016710 AFA00018 */ sw $zero, 0x18($sp) -.L70016714: -/* 017314 70016714 8FAF0018 */ lw $t7, 0x18($sp) -/* 017318 70016718 8FB90018 */ lw $t9, 0x18($sp) -/* 01731C 7001671C 3C018006 */ lui $at, %hi(__osPfsPifRam) -/* 017320 70016720 000FC080 */ sll $t8, $t7, 2 -/* 017324 70016724 00380821 */ addu $at, $at, $t8 -/* 017328 70016728 AC207D70 */ sw $zero, %lo(__osPfsPifRam)($at) -/* 01732C 7001672C 27280001 */ addiu $t0, $t9, 1 -/* 017330 70016730 29010010 */ slti $at, $t0, 0x10 -/* 017334 70016734 1420FFF7 */ bnez $at, .L70016714 -/* 017338 70016738 AFA80018 */ sw $t0, 0x18($sp) -/* 01733C 7001673C 24090001 */ li $t1, 1 -/* 017340 70016740 3C018006 */ lui $at, %hi(__osPfsPifRam+0x3c) -/* 017344 70016744 240A00FF */ li $t2, 255 -/* 017348 70016748 240B0003 */ li $t3, 3 -/* 01734C 7001674C 240C0021 */ li $t4, 33 -/* 017350 70016750 240D0002 */ li $t5, 2 -/* 017354 70016754 AC297DAC */ sw $t1, %lo(__osPfsPifRam+0x3c)($at) -/* 017358 70016758 A3AA001C */ sb $t2, 0x1c($sp) -/* 01735C 7001675C A3AB001D */ sb $t3, 0x1d($sp) -/* 017360 70016760 A3AC001E */ sb $t4, 0x1e($sp) -/* 017364 70016764 A3AD001F */ sb $t5, 0x1f($sp) -/* 017368 70016768 0C0057E0 */ jal __osContAddressCrc -/* 01736C 7001676C 97A4004E */ lhu $a0, 0x4e($sp) -/* 017370 70016770 97AE004E */ lhu $t6, 0x4e($sp) -/* 017374 70016774 241900FF */ li $t9, 255 -/* 017378 70016778 A3B90042 */ sb $t9, 0x42($sp) -/* 01737C 7001677C 000E7940 */ sll $t7, $t6, 5 -/* 017380 70016780 004FC025 */ or $t8, $v0, $t7 -/* 017384 70016784 A7B80020 */ sh $t8, 0x20($sp) -/* 017388 70016788 AFA00018 */ sw $zero, 0x18($sp) -.L7001678C: -/* 01738C 7001678C 8FA90018 */ lw $t1, 0x18($sp) -/* 017390 70016790 240800FF */ li $t0, 255 -/* 017394 70016794 03A95021 */ addu $t2, $sp, $t1 -/* 017398 70016798 A1480022 */ sb $t0, 0x22($t2) -/* 01739C 7001679C 8FAB0018 */ lw $t3, 0x18($sp) -/* 0173A0 700167A0 256C0001 */ addiu $t4, $t3, 1 -/* 0173A4 700167A4 29810020 */ slti $at, $t4, 0x20 -/* 0173A8 700167A8 1420FFF8 */ bnez $at, .L7001678C -/* 0173AC 700167AC AFAC0018 */ sw $t4, 0x18($sp) -/* 0173B0 700167B0 8FAD0048 */ lw $t5, 0x48($sp) -/* 0173B4 700167B4 11A0000E */ beqz $t5, .L700167F0 -/* 0173B8 700167B8 00000000 */ nop -/* 0173BC 700167BC 19A0000C */ blez $t5, .L700167F0 -/* 0173C0 700167C0 AFA00018 */ sw $zero, 0x18($sp) -.L700167C4: -/* 0173C4 700167C4 8FAE0044 */ lw $t6, 0x44($sp) -/* 0173C8 700167C8 A1C00000 */ sb $zero, ($t6) -/* 0173CC 700167CC 8FB90018 */ lw $t9, 0x18($sp) -/* 0173D0 700167D0 8FA90048 */ lw $t1, 0x48($sp) -/* 0173D4 700167D4 8FAF0044 */ lw $t7, 0x44($sp) -/* 0173D8 700167D8 27280001 */ addiu $t0, $t9, 1 -/* 0173DC 700167DC 0109082A */ slt $at, $t0, $t1 -/* 0173E0 700167E0 25F80001 */ addiu $t8, $t7, 1 -/* 0173E4 700167E4 AFA80018 */ sw $t0, 0x18($sp) -/* 0173E8 700167E8 1420FFF6 */ bnez $at, .L700167C4 -/* 0173EC 700167EC AFB80044 */ sw $t8, 0x44($sp) -.L700167F0: -/* 0173F0 700167F0 27AB001C */ addiu $t3, $sp, 0x1c -/* 0173F4 700167F4 256D0024 */ addiu $t5, $t3, 0x24 -/* 0173F8 700167F8 8FAA0044 */ lw $t2, 0x44($sp) -.L700167FC: -/* 0173FC 700167FC 8D610000 */ lw $at, ($t3) -/* 017400 70016800 256B000C */ addiu $t3, $t3, 0xc -/* 017404 70016804 254A000C */ addiu $t2, $t2, 0xc -/* 017408 70016808 A941FFF4 */ swl $at, -0xc($t2) -/* 01740C 7001680C B941FFF7 */ swr $at, -9($t2) -/* 017410 70016810 8D61FFF8 */ lw $at, -8($t3) -/* 017414 70016814 A941FFF8 */ swl $at, -8($t2) -/* 017418 70016818 B941FFFB */ swr $at, -5($t2) -/* 01741C 7001681C 8D61FFFC */ lw $at, -4($t3) -/* 017420 70016820 A941FFFC */ swl $at, -4($t2) -/* 017424 70016824 156DFFF5 */ bne $t3, $t5, .L700167FC -/* 017428 70016828 B941FFFF */ swr $at, -1($t2) -/* 01742C 7001682C 8D610000 */ lw $at, ($t3) -/* 017430 70016830 241800FE */ li $t8, 254 -/* 017434 70016834 A9410000 */ swl $at, ($t2) -/* 017438 70016838 B9410003 */ swr $at, 3($t2) -/* 01743C 7001683C 8FAE0044 */ lw $t6, 0x44($sp) -/* 017440 70016840 25CF0028 */ addiu $t7, $t6, 0x28 -/* 017444 70016844 AFAF0044 */ sw $t7, 0x44($sp) -/* 017448 70016848 A1F80000 */ sb $t8, ($t7) -/* 01744C 7001684C 8FBF0014 */ lw $ra, 0x14($sp) -/* 017450 70016850 27BD0048 */ addiu $sp, $sp, 0x48 -/* 017454 70016854 03E00008 */ jr $ra -/* 017458 70016858 00000000 */ nop - -/* 01745C 7001685C 00000000 */ nop - -glabel guAlignF -/* 017460 70016860 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 017464 70016864 3C018003 */ lui $at, %hi(F32_800297F0) -/* 017468 70016868 C42497F0 */ lwc1 $f4, %lo(F32_800297F0)($at) -/* 01746C 7001686C AFB00018 */ sw $s0, 0x18($sp) -/* 017470 70016870 00808025 */ move $s0, $a0 -/* 017474 70016874 3C018006 */ lui $at, %hi(flt_CODE_bss_80067DD0) -/* 017478 70016878 AFBF001C */ sw $ra, 0x1c($sp) -/* 01747C 7001687C AFA50034 */ sw $a1, 0x34($sp) -/* 017480 70016880 AFA60038 */ sw $a2, 0x38($sp) -/* 017484 70016884 AFA7003C */ sw $a3, 0x3c($sp) -/* 017488 70016888 27A60040 */ addiu $a2, $sp, 0x40 -/* 01748C 7001688C 27A5003C */ addiu $a1, $sp, 0x3c -/* 017490 70016890 27A40038 */ addiu $a0, $sp, 0x38 -/* 017494 70016894 0C007DD4 */ jal guNormalize -/* 017498 70016898 E4247DD0 */ swc1 $f4, %lo(flt_CODE_bss_80067DD0)($at) -/* 01749C 7001689C 3C018006 */ lui $at, %hi(flt_CODE_bss_80067DD0) -/* 0174A0 700168A0 C7AC0034 */ lwc1 $f12, 0x34($sp) -/* 0174A4 700168A4 C4267DD0 */ lwc1 $f6, %lo(flt_CODE_bss_80067DD0)($at) -/* 0174A8 700168A8 46066302 */ mul.s $f12, $f12, $f6 -/* 0174AC 700168AC 0FC15FAB */ jal sinf -/* 0174B0 700168B0 E7AC0034 */ swc1 $f12, 0x34($sp) -/* 0174B4 700168B4 C7AC0034 */ lwc1 $f12, 0x34($sp) -/* 0174B8 700168B8 0FC15FA8 */ jal cosf -/* 0174BC 700168BC E7A0002C */ swc1 $f0, 0x2c($sp) -/* 0174C0 700168C0 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 0174C4 700168C4 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 0174C8 700168C8 E7A00028 */ swc1 $f0, 0x28($sp) -/* 0174CC 700168CC 460E7202 */ mul.s $f8, $f14, $f14 -/* 0174D0 700168D0 00000000 */ nop -/* 0174D4 700168D4 46129282 */ mul.s $f10, $f18, $f18 -/* 0174D8 700168D8 0C007DF8 */ jal sqrtf -/* 0174DC 700168DC 460A4300 */ add.s $f12, $f8, $f10 -/* 0174E0 700168E0 02002025 */ move $a0, $s0 -/* 0174E4 700168E4 0C004004 */ jal guMtxIdentF -/* 0174E8 700168E8 E7A00024 */ swc1 $f0, 0x24($sp) -/* 0174EC 700168EC 44806000 */ mtc1 $zero, $f12 -/* 0174F0 700168F0 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 0174F4 700168F4 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 0174F8 700168F8 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 0174FC 700168FC 460C7032 */ c.eq.s $f14, $f12 -/* 017500 70016900 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 017504 70016904 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 017508 70016908 45030041 */ bc1tl .L70016A10 -/* 01750C 7001690C 8FBF001C */ lw $ra, 0x1c($sp) -/* 017510 70016910 44812000 */ mtc1 $at, $f4 -/* 017514 70016914 46068202 */ mul.s $f8, $f16, $f6 -/* 017518 70016918 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 01751C 7001691C C7A60040 */ lwc1 $f6, 0x40($sp) -/* 017520 70016920 460E2003 */ div.s $f0, $f4, $f14 -/* 017524 70016924 460A4102 */ mul.s $f4, $f8, $f10 -/* 017528 70016928 46003207 */ neg.s $f8, $f6 -/* 01752C 7001692C 46024282 */ mul.s $f10, $f8, $f2 -/* 017530 70016930 46045181 */ sub.s $f6, $f10, $f4 -/* 017534 70016934 46003202 */ mul.s $f8, $f6, $f0 -/* 017538 70016938 E6080000 */ swc1 $f8, ($s0) -/* 01753C 7001693C C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 017540 70016940 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 017544 70016944 460A1102 */ mul.s $f4, $f2, $f10 -/* 017548 70016948 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 01754C 7001694C 46062202 */ mul.s $f8, $f4, $f6 -/* 017550 70016950 00000000 */ nop -/* 017554 70016954 46105102 */ mul.s $f4, $f10, $f16 -/* 017558 70016958 46082181 */ sub.s $f6, $f4, $f8 -/* 01755C 7001695C 46003282 */ mul.s $f10, $f6, $f0 -/* 017560 70016960 E60A0010 */ swc1 $f10, 0x10($s0) -/* 017564 70016964 460E8182 */ mul.s $f6, $f16, $f14 -/* 017568 70016968 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 01756C 7001696C E60C0030 */ swc1 $f12, 0x30($s0) -/* 017570 70016970 460E1282 */ mul.s $f10, $f2, $f14 -/* 017574 70016974 46002207 */ neg.s $f8, $f4 -/* 017578 70016978 E6080020 */ swc1 $f8, 0x20($s0) -/* 01757C 7001697C E6060004 */ swc1 $f6, 4($s0) -/* 017580 70016980 E60A0014 */ swc1 $f10, 0x14($s0) -/* 017584 70016984 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 017588 70016988 E60C0034 */ swc1 $f12, 0x34($s0) -/* 01758C 7001698C 46002207 */ neg.s $f8, $f4 -/* 017590 70016990 E6080024 */ swc1 $f8, 0x24($s0) -/* 017594 70016994 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 017598 70016998 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 01759C 7001699C 46068282 */ mul.s $f10, $f16, $f6 -/* 0175A0 700169A0 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 0175A4 700169A4 46045202 */ mul.s $f8, $f10, $f4 -/* 0175A8 700169A8 00000000 */ nop -/* 0175AC 700169AC 46061282 */ mul.s $f10, $f2, $f6 -/* 0175B0 700169B0 46085101 */ sub.s $f4, $f10, $f8 -/* 0175B4 700169B4 46008287 */ neg.s $f10, $f16 -/* 0175B8 700169B8 46002182 */ mul.s $f6, $f4, $f0 -/* 0175BC 700169BC E6060008 */ swc1 $f6, 8($s0) -/* 0175C0 700169C0 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 0175C4 700169C4 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0175C8 700169C8 46085102 */ mul.s $f4, $f10, $f8 -/* 0175CC 700169CC C7A80040 */ lwc1 $f8, 0x40($sp) -/* 0175D0 700169D0 46061282 */ mul.s $f10, $f2, $f6 -/* 0175D4 700169D4 00000000 */ nop -/* 0175D8 700169D8 46085182 */ mul.s $f6, $f10, $f8 -/* 0175DC 700169DC 46062281 */ sub.s $f10, $f4, $f6 -/* 0175E0 700169E0 46005202 */ mul.s $f8, $f10, $f0 -/* 0175E4 700169E4 44815000 */ mtc1 $at, $f10 -/* 0175E8 700169E8 E6080018 */ swc1 $f8, 0x18($s0) -/* 0175EC 700169EC C7A40040 */ lwc1 $f4, 0x40($sp) -/* 0175F0 700169F0 E60C0038 */ swc1 $f12, 0x38($s0) -/* 0175F4 700169F4 E60C000C */ swc1 $f12, 0xc($s0) -/* 0175F8 700169F8 46002187 */ neg.s $f6, $f4 -/* 0175FC 700169FC E60C001C */ swc1 $f12, 0x1c($s0) -/* 017600 70016A00 E6060028 */ swc1 $f6, 0x28($s0) -/* 017604 70016A04 E60C002C */ swc1 $f12, 0x2c($s0) -/* 017608 70016A08 E60A003C */ swc1 $f10, 0x3c($s0) -/* 01760C 70016A0C 8FBF001C */ lw $ra, 0x1c($sp) -.L70016A10: -/* 017610 70016A10 8FB00018 */ lw $s0, 0x18($sp) -/* 017614 70016A14 27BD0030 */ addiu $sp, $sp, 0x30 -/* 017618 70016A18 03E00008 */ jr $ra -/* 01761C 70016A1C 00000000 */ nop - -glabel guAlign -/* 017620 70016A20 44856000 */ mtc1 $a1, $f12 -/* 017624 70016A24 44867000 */ mtc1 $a2, $f14 -/* 017628 70016A28 44878000 */ mtc1 $a3, $f16 -/* 01762C 70016A2C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 017630 70016A30 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 017634 70016A34 AFBF001C */ sw $ra, 0x1c($sp) -/* 017638 70016A38 AFA40060 */ sw $a0, 0x60($sp) -/* 01763C 70016A3C 44056000 */ mfc1 $a1, $f12 -/* 017640 70016A40 44067000 */ mfc1 $a2, $f14 -/* 017644 70016A44 44078000 */ mfc1 $a3, $f16 -/* 017648 70016A48 27A40020 */ addiu $a0, $sp, 0x20 -/* 01764C 70016A4C 0C005A18 */ jal guAlignF -/* 017650 70016A50 E7A40010 */ swc1 $f4, 0x10($sp) -/* 017654 70016A54 27A40020 */ addiu $a0, $sp, 0x20 -/* 017658 70016A58 0C003FC4 */ jal guMtxF2L -/* 01765C 70016A5C 8FA50060 */ lw $a1, 0x60($sp) -/* 017660 70016A60 8FBF001C */ lw $ra, 0x1c($sp) -/* 017664 70016A64 27BD0060 */ addiu $sp, $sp, 0x60 -/* 017668 70016A68 03E00008 */ jr $ra -/* 01766C 70016A6C 00000000 */ nop - -.section .rodata -glabel F32_800297F0 -.float 0.017453292 -.align 4 - -.section .bss -glabel flt_CODE_bss_80067DD0 -.word 0 -.word 0,0,0 - -.section .text -glabel guOrthoF -/* 017670 70016A70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 017674 70016A74 AFBF0014 */ sw $ra, 0x14($sp) -/* 017678 70016A78 AFA5001C */ sw $a1, 0x1c($sp) -/* 01767C 70016A7C AFA60020 */ sw $a2, 0x20($sp) -/* 017680 70016A80 AFA70024 */ sw $a3, 0x24($sp) -/* 017684 70016A84 0C004004 */ jal guMtxIdentF -/* 017688 70016A88 AFA40018 */ sw $a0, 0x18($sp) -/* 01768C 70016A8C C7A40020 */ lwc1 $f4, 0x20($sp) -/* 017690 70016A90 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 017694 70016A94 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 017698 70016A98 44814000 */ mtc1 $at, $f8 -/* 01769C 70016A9C 46062001 */ sub.s $f0, $f4, $f6 -/* 0176A0 70016AA0 8FA20018 */ lw $v0, 0x18($sp) -/* 0176A4 70016AA4 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 0176A8 70016AA8 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 0176AC 70016AAC 46004283 */ div.s $f10, $f8, $f0 -/* 0176B0 70016AB0 C7B2002C */ lwc1 $f18, 0x2c($sp) -/* 0176B4 70016AB4 44813000 */ mtc1 $at, $f6 -/* 0176B8 70016AB8 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 0176BC 70016ABC 46128301 */ sub.s $f12, $f16, $f18 -/* 0176C0 70016AC0 00001825 */ move $v1, $zero -/* 0176C4 70016AC4 24040004 */ li $a0, 4 -/* 0176C8 70016AC8 E44A0000 */ swc1 $f10, ($v0) -/* 0176CC 70016ACC C7A40024 */ lwc1 $f4, 0x24($sp) -/* 0176D0 70016AD0 44815000 */ mtc1 $at, $f10 -/* 0176D4 70016AD4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0176D8 70016AD8 46047081 */ sub.s $f2, $f14, $f4 -/* 0176DC 70016ADC 460C5103 */ div.s $f4, $f10, $f12 -/* 0176E0 70016AE0 46023203 */ div.s $f8, $f6, $f2 -/* 0176E4 70016AE4 E4440028 */ swc1 $f4, 0x28($v0) -/* 0176E8 70016AE8 E4480014 */ swc1 $f8, 0x14($v0) -/* 0176EC 70016AEC C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 0176F0 70016AF0 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0176F4 70016AF4 46083280 */ add.s $f10, $f6, $f8 -/* 0176F8 70016AF8 46005107 */ neg.s $f4, $f10 -/* 0176FC 70016AFC 46002183 */ div.s $f6, $f4, $f0 -/* 017700 70016B00 E4460030 */ swc1 $f6, 0x30($v0) -/* 017704 70016B04 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 017708 70016B08 46087280 */ add.s $f10, $f14, $f8 -/* 01770C 70016B0C 46128200 */ add.s $f8, $f16, $f18 -/* 017710 70016B10 46005107 */ neg.s $f4, $f10 -/* 017714 70016B14 46004287 */ neg.s $f10, $f8 -/* 017718 70016B18 46022183 */ div.s $f6, $f4, $f2 -/* 01771C 70016B1C 460C5103 */ div.s $f4, $f10, $f12 -/* 017720 70016B20 E4460034 */ swc1 $f6, 0x34($v0) -/* 017724 70016B24 44813000 */ mtc1 $at, $f6 -/* 017728 70016B28 00000000 */ nop -/* 01772C 70016B2C E446003C */ swc1 $f6, 0x3c($v0) -/* 017730 70016B30 E4440038 */ swc1 $f4, 0x38($v0) -/* 017734 70016B34 C7A00034 */ lwc1 $f0, 0x34($sp) -/* 017738 70016B38 C4480000 */ lwc1 $f8, ($v0) -/* 01773C 70016B3C 24630001 */ addiu $v1, $v1, 1 -/* 017740 70016B40 C4520004 */ lwc1 $f18, 4($v0) -/* 017744 70016B44 46004302 */ mul.s $f12, $f8, $f0 -/* 017748 70016B48 C44E0008 */ lwc1 $f14, 8($v0) -/* 01774C 70016B4C 10640010 */ beq $v1, $a0, .L70016B90 -/* 017750 70016B50 C450000C */ lwc1 $f16, 0xc($v0) -.L70016B54: -/* 017754 70016B54 46009282 */ mul.s $f10, $f18, $f0 -/* 017758 70016B58 C4480010 */ lwc1 $f8, 0x10($v0) -/* 01775C 70016B5C C4520014 */ lwc1 $f18, 0x14($v0) -/* 017760 70016B60 46007182 */ mul.s $f6, $f14, $f0 -/* 017764 70016B64 C44E0018 */ lwc1 $f14, 0x18($v0) -/* 017768 70016B68 24630001 */ addiu $v1, $v1, 1 -/* 01776C 70016B6C 46008102 */ mul.s $f4, $f16, $f0 -/* 017770 70016B70 C450001C */ lwc1 $f16, 0x1c($v0) -/* 017774 70016B74 E44C0000 */ swc1 $f12, ($v0) -/* 017778 70016B78 46004302 */ mul.s $f12, $f8, $f0 -/* 01777C 70016B7C E44A0004 */ swc1 $f10, 4($v0) -/* 017780 70016B80 E4460008 */ swc1 $f6, 8($v0) -/* 017784 70016B84 24420010 */ addiu $v0, $v0, 0x10 -/* 017788 70016B88 1464FFF2 */ bne $v1, $a0, .L70016B54 -/* 01778C 70016B8C E444FFFC */ swc1 $f4, -4($v0) -.L70016B90: -/* 017790 70016B90 46009282 */ mul.s $f10, $f18, $f0 -/* 017794 70016B94 24420010 */ addiu $v0, $v0, 0x10 -/* 017798 70016B98 E44CFFF0 */ swc1 $f12, -0x10($v0) -/* 01779C 70016B9C 46007182 */ mul.s $f6, $f14, $f0 -/* 0177A0 70016BA0 00000000 */ nop -/* 0177A4 70016BA4 46008102 */ mul.s $f4, $f16, $f0 -/* 0177A8 70016BA8 E44AFFF4 */ swc1 $f10, -0xc($v0) -/* 0177AC 70016BAC E446FFF8 */ swc1 $f6, -8($v0) -/* 0177B0 70016BB0 E444FFFC */ swc1 $f4, -4($v0) -/* 0177B4 70016BB4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0177B8 70016BB8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0177BC 70016BBC 03E00008 */ jr $ra -/* 0177C0 70016BC0 00000000 */ nop - -glabel guOrtho -/* 0177C4 70016BC4 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0177C8 70016BC8 44856000 */ mtc1 $a1, $f12 -/* 0177CC 70016BCC 44867000 */ mtc1 $a2, $f14 -/* 0177D0 70016BD0 44878000 */ mtc1 $a3, $f16 -/* 0177D4 70016BD4 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0177D8 70016BD8 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 0177DC 70016BDC C7A80080 */ lwc1 $f8, 0x80($sp) -/* 0177E0 70016BE0 C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 0177E4 70016BE4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0177E8 70016BE8 AFA40068 */ sw $a0, 0x68($sp) -/* 0177EC 70016BEC 44056000 */ mfc1 $a1, $f12 -/* 0177F0 70016BF0 44067000 */ mfc1 $a2, $f14 -/* 0177F4 70016BF4 44078000 */ mfc1 $a3, $f16 -/* 0177F8 70016BF8 27A40028 */ addiu $a0, $sp, 0x28 -/* 0177FC 70016BFC E7A40010 */ swc1 $f4, 0x10($sp) -/* 017800 70016C00 E7A60014 */ swc1 $f6, 0x14($sp) -/* 017804 70016C04 E7A80018 */ swc1 $f8, 0x18($sp) -/* 017808 70016C08 0C005A9C */ jal guOrthoF -/* 01780C 70016C0C E7AA001C */ swc1 $f10, 0x1c($sp) -/* 017810 70016C10 27A40028 */ addiu $a0, $sp, 0x28 -/* 017814 70016C14 0C003FC4 */ jal guMtxF2L -/* 017818 70016C18 8FA50068 */ lw $a1, 0x68($sp) -/* 01781C 70016C1C 8FBF0024 */ lw $ra, 0x24($sp) -/* 017820 70016C20 27BD0068 */ addiu $sp, $sp, 0x68 -/* 017824 70016C24 03E00008 */ jr $ra -/* 017828 70016C28 00000000 */ nop - -/* 01782C 70016C2C 00000000 */ nop -glabel coss -/* 017830 70016C30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 017834 70016C34 AFA40018 */ sw $a0, 0x18($sp) -/* 017838 70016C38 00802825 */ move $a1, $a0 -/* 01783C 70016C3C 24A44000 */ addiu $a0, $a1, 0x4000 -/* 017840 70016C40 AFBF0014 */ sw $ra, 0x14($sp) -/* 017844 70016C44 308EFFFF */ andi $t6, $a0, 0xffff -/* 017848 70016C48 0C005B18 */ jal sins -/* 01784C 70016C4C 01C02025 */ move $a0, $t6 -/* 017850 70016C50 8FBF0014 */ lw $ra, 0x14($sp) -/* 017854 70016C54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 017858 70016C58 03E00008 */ jr $ra -/* 01785C 70016C5C 00000000 */ nop - -glabel sins -/* 017860 70016C60 308EFFFF */ andi $t6, $a0, 0xffff -/* 017864 70016C64 000E7902 */ srl $t7, $t6, 4 -/* 017868 70016C68 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01786C 70016C6C 33190400 */ andi $t9, $t8, 0x400 -/* 017870 70016C70 AFA40000 */ sw $a0, ($sp) -/* 017874 70016C74 13200008 */ beqz $t9, .L70016C98 -/* 017878 70016C78 03001025 */ move $v0, $t8 -/* 01787C 70016C7C 330803FF */ andi $t0, $t8, 0x3ff -/* 017880 70016C80 00084840 */ sll $t1, $t0, 1 -/* 017884 70016C84 00095023 */ negu $t2, $t1 -/* 017888 70016C88 3C038002 */ lui $v1, %hi(sin_table + 0x7FE) # 0x8002 -/* 01788C 70016C8C 006A1821 */ addu $v1, $v1, $t2 -/* 017890 70016C90 10000006 */ b .L70016CAC -/* 017894 70016C94 84637FCE */ lh $v1, %lo(sin_table + 0x7FE)($v1) # 0x7fce($v1) -.L70016C98: -/* 017898 70016C98 304B03FF */ andi $t3, $v0, 0x3ff -/* 01789C 70016C9C 000B6040 */ sll $t4, $t3, 1 -/* 0178A0 70016CA0 3C038002 */ lui $v1, %hi(sin_table) # 0x8002 -/* 0178A4 70016CA4 006C1821 */ addu $v1, $v1, $t4 -/* 0178A8 70016CA8 846377D0 */ lh $v1, %lo(sin_table)($v1) # 0x77d0($v1) -.L70016CAC: -/* 0178AC 70016CAC 304D0800 */ andi $t5, $v0, 0x800 -/* 0178B0 70016CB0 11A00005 */ beqz $t5, .L70016CC8 -/* 0178B4 70016CB4 00601025 */ move $v0, $v1 -/* 0178B8 70016CB8 00031023 */ negu $v0, $v1 -/* 0178BC 70016CBC 00027400 */ sll $t6, $v0, 0x10 -/* 0178C0 70016CC0 03E00008 */ jr $ra -/* 0178C4 70016CC4 000E1403 */ sra $v0, $t6, 0x10 - -.L70016CC8: -/* 0178C8 70016CC8 03E00008 */ jr $ra -/* 0178CC 70016CCC 00000000 */ nop - - .section .data -glabel sin_table -.half 0, 0x32, 0x64, 0x96 -.half 0xC9, 0xFB, 0x12D, 0x160 -.half 0x192, 0x1C4, 0x1F7, 0x229 -.half 0x25B, 0x28E, 0x2C0, 0x2F2 -.half 0x324, 0x357, 0x389, 0x3BB -.half 0x3EE, 0x420, 0x452, 0x484 -.half 0x4B7, 0x4E9, 0x51B, 0x54E -.half 0x580, 0x5B2, 0x5E4, 0x617 -.half 0x649, 0x67B, 0x6AD, 0x6E0 -.half 0x712, 0x744, 0x776, 0x7A9 -.half 0x7DB, 0x80D, 0x83F, 0x871 -.half 0x8A4, 0x8D6, 0x908, 0x93A -.half 0x96C, 0x99F, 0x9D1, 0xA03 -.half 0xA35, 0xA67, 0xA99, 0xACB -.half 0xAFE, 0xB30, 0xB62, 0xB94 -.half 0xBC6, 0xBF8, 0xC2A, 0xC5C -.half 0xC8E, 0xCC0, 0xCF2, 0xD25 -.half 0xD57, 0xD89, 0xDBB, 0xDED -.half 0xE1F, 0xE51, 0xE83, 0xEB5 -.half 0xEE7, 0xF19, 0xF4B, 0xF7C -.half 0xFAE, 0xFE0,0x1012,0x1044 -.half 0x1076,0x10A8,0x10DA,0x110C -.half 0x113E,0x116F,0x11A1,0x11D3 -.half 0x1205,0x1237,0x1269,0x129A -.half 0x12CC,0x12FE,0x1330,0x1361 -.half 0x1393,0x13C5,0x13F6,0x1428 -.half 0x145A,0x148C,0x14BD,0x14EF -.half 0x1520,0x1552,0x1584,0x15B5 -.half 0x15E7,0x1618,0x164A,0x167B -.half 0x16AD,0x16DF,0x1710,0x1741 -.half 0x1773,0x17A4,0x17D6,0x1807 -.half 0x1839,0x186A,0x189B,0x18CD -.half 0x18FE,0x1930,0x1961,0x1992 -.half 0x19C3,0x19F5,0x1A26,0x1A57 -.half 0x1A88,0x1ABA,0x1AEB,0x1B1C -.half 0x1B4D,0x1B7E,0x1BAF,0x1BE1 -.half 0x1C12,0x1C43,0x1C74,0x1CA5 -.half 0x1CD6,0x1D07,0x1D38,0x1D69 -.half 0x1D9A,0x1DCB,0x1DFC,0x1E2D -.half 0x1E5D,0x1E8E,0x1EBF,0x1EF0 -.half 0x1F21,0x1F52,0x1F82,0x1FB3 -.half 0x1FE4,0x2015,0x2045,0x2076 -.half 0x20A7,0x20D7,0x2108,0x2139 -.half 0x2169,0x219A,0x21CA,0x21FB -.half 0x222B,0x225C,0x228C,0x22BD -.half 0x22ED,0x231D,0x234E,0x237E -.half 0x23AE,0x23DF,0x240F,0x243F -.half 0x2470,0x24A0,0x24D0,0x2500 -.half 0x2530,0x2560,0x2591,0x25C1 -.half 0x25F1,0x2621,0x2651,0x2681 -.half 0x26B1,0x26E1,0x2711,0x2740 -.half 0x2770,0x27A0,0x27D0,0x2800 -.half 0x2830,0x285F,0x288F,0x28BF -.half 0x28EE,0x291E,0x294E,0x297D -.half 0x29AD,0x29DD,0x2A0C,0x2A3C -.half 0x2A6B,0x2A9B,0x2ACA,0x2AF9 -.half 0x2B29,0x2B58,0x2B87,0x2BB7 -.half 0x2BE6,0x2C15,0x2C44,0x2C74 -.half 0x2CA3,0x2CD2,0x2D01,0x2D30 -.half 0x2D5F,0x2D8E,0x2DBD,0x2DEC -.half 0x2E1B,0x2E4A,0x2E79,0x2EA8 -.half 0x2ED7,0x2F06,0x2F34,0x2F63 -.half 0x2F92,0x2FC0,0x2FEF,0x301E -.half 0x304C,0x307B,0x30A9,0x30D8 -.half 0x3107,0x3135,0x3163,0x3192 -.half 0x31C0,0x31EF,0x321D,0x324B -.half 0x3279,0x32A8,0x32D6,0x3304 -.half 0x3332,0x3360,0x338E,0x33BC -.half 0x33EA,0x3418,0x3446,0x3474 -.half 0x34A2,0x34D0,0x34FE,0x352B -.half 0x3559,0x3587,0x35B5,0x35E2 -.half 0x3610,0x363D,0x366B,0x3698 -.half 0x36C6,0x36F3,0x3721,0x374E -.half 0x377C,0x37A9,0x37D6,0x3803 -.half 0x3831,0x385E,0x388B,0x38B8 -.half 0x38E5,0x3912,0x393F,0x396C -.half 0x3999,0x39C6,0x39F3,0x3A20 -.half 0x3A4D,0x3A79,0x3AA6,0x3AD3 -.half 0x3B00,0x3B2C,0x3B59,0x3B85 -.half 0x3BB2,0x3BDE,0x3C0B,0x3C37 -.half 0x3C64,0x3C90,0x3CBC,0x3CE9 -.half 0x3D15,0x3D41,0x3D6D,0x3D99 -.half 0x3DC5,0x3DF1,0x3E1D,0x3E49 -.half 0x3E75,0x3EA1,0x3ECD,0x3EF9 -.half 0x3F25,0x3F50,0x3F7C,0x3FA8 -.half 0x3FD3,0x3FFF,0x402B,0x4056 -.half 0x4082,0x40AD,0x40D8,0x4104 -.half 0x412F,0x415A,0x4186,0x41B1 -.half 0x41DC,0x4207,0x4232,0x425D -.half 0x4288,0x42B3,0x42DE,0x4309 -.half 0x4334,0x435F,0x4389,0x43B4 -.half 0x43DF,0x4409,0x4434,0x445F -.half 0x4489,0x44B4,0x44DE,0x4508 -.half 0x4533,0x455D,0x4587,0x45B1 -.half 0x45DC,0x4606,0x4630,0x465A -.half 0x4684,0x46AE,0x46D8,0x4702 -.half 0x472C,0x4755,0x477F,0x47A9 -.half 0x47D2,0x47FC,0x4826,0x484F -.half 0x4879,0x48A2,0x48CC,0x48F5 -.half 0x491E,0x4948,0x4971,0x499A -.half 0x49C3,0x49EC,0x4A15,0x4A3E -.half 0x4A67,0x4A90,0x4AB9,0x4AE2 -.half 0x4B0B,0x4B33,0x4B5C,0x4B85 -.half 0x4BAD,0x4BD6,0x4BFE,0x4C27 -.half 0x4C4F,0x4C78,0x4CA0,0x4CC8 -.half 0x4CF0,0x4D19,0x4D41,0x4D69 -.half 0x4D91,0x4DB9,0x4DE1,0x4E09 -.half 0x4E31,0x4E58,0x4E80,0x4EA8 -.half 0x4ED0,0x4EF7,0x4F1F,0x4F46 -.half 0x4F6E,0x4F95,0x4FBD,0x4FE4 -.half 0x500B,0x5032,0x505A,0x5081 -.half 0x50A8,0x50CF,0x50F6,0x511D -.half 0x5144,0x516B,0x5191,0x51B8 -.half 0x51DF,0x5205,0x522C,0x5253 -.half 0x5279,0x52A0,0x52C6,0x52EC -.half 0x5313,0x5339,0x535F,0x5385 -.half 0x53AB,0x53D1,0x53F7,0x541D -.half 0x5443,0x5469,0x548F,0x54B5 -.half 0x54DA,0x5500,0x5525,0x554B -.half 0x5571,0x5596,0x55BB,0x55E1 -.half 0x5606,0x562B,0x5650,0x5675 -.half 0x569B,0x56C0,0x56E5,0x5709 -.half 0x572E,0x5753,0x5778,0x579D -.half 0x57C1,0x57E6,0x580A,0x582F -.half 0x5853,0x5878,0x589C,0x58C0 -.half 0x58E5,0x5909,0x592D,0x5951 -.half 0x5975,0x5999,0x59BD,0x59E1 -.half 0x5A04,0x5A28,0x5A4C,0x5A6F -.half 0x5A93,0x5AB7,0x5ADA,0x5AFD -.half 0x5B21,0x5B44,0x5B67,0x5B8B -.half 0x5BAE,0x5BD1,0x5BF4,0x5C17 -.half 0x5C3A,0x5C5D,0x5C7F,0x5CA2 -.half 0x5CC5,0x5CE7,0x5D0A,0x5D2D -.half 0x5D4F,0x5D71,0x5D94,0x5DB6 -.half 0x5DD8,0x5DFA,0x5E1D,0x5E3F -.half 0x5E61,0x5E83,0x5EA5,0x5EC6 -.half 0x5EE8,0x5F0A,0x5F2C,0x5F4D -.half 0x5F6F,0x5F90,0x5FB2,0x5FD3 -.half 0x5FF4,0x6016,0x6037,0x6058 -.half 0x6079,0x609A,0x60BB,0x60DC -.half 0x60FD,0x611E,0x613E,0x615F -.half 0x6180,0x61A0,0x61C1,0x61E1 -.half 0x6202,0x6222,0x6242,0x6263 -.half 0x6283,0x62A3,0x62C3,0x62E3 -.half 0x6303,0x6323,0x6342,0x6362 -.half 0x6382,0x63A1,0x63C1,0x63E0 -.half 0x6400,0x641F,0x643F,0x645E -.half 0x647D,0x649C,0x64BB,0x64DA -.half 0x64F9,0x6518,0x6537,0x6556 -.half 0x6574,0x6593,0x65B2,0x65D0 -.half 0x65EF,0x660D,0x662B,0x664A -.half 0x6668,0x6686,0x66A4,0x66C2 -.half 0x66E0,0x66FE,0x671C,0x673A -.half 0x6757,0x6775,0x6792,0x67B0 -.half 0x67CD,0x67EB,0x6808,0x6825 -.half 0x6843,0x6860,0x687D,0x689A -.half 0x68B7,0x68D4,0x68F1,0x690D -.half 0x692A,0x6947,0x6963,0x6980 -.half 0x699C,0x69B9,0x69D5,0x69F1 -.half 0x6A0E,0x6A2A,0x6A46,0x6A62 -.half 0x6A7E,0x6A9A,0x6AB5,0x6AD1 -.half 0x6AED,0x6B08,0x6B24,0x6B40 -.half 0x6B5B,0x6B76,0x6B92,0x6BAD -.half 0x6BC8,0x6BE3,0x6BFE,0x6C19 -.half 0x6C34,0x6C4F,0x6C6A,0x6C84 -.half 0x6C9F,0x6CBA,0x6CD4,0x6CEF -.half 0x6D09,0x6D23,0x6D3E,0x6D58 -.half 0x6D72,0x6D8C,0x6DA6,0x6DC0 -.half 0x6DDA,0x6DF3,0x6E0D,0x6E27 -.half 0x6E40,0x6E5A,0x6E73,0x6E8D -.half 0x6EA6,0x6EBF,0x6ED9,0x6EF2 -.half 0x6F0B,0x6F24,0x6F3D,0x6F55 -.half 0x6F6E,0x6F87,0x6FA0,0x6FB8 -.half 0x6FD1,0x6FE9,0x7002,0x701A -.half 0x7032,0x704A,0x7062,0x707A -.half 0x7092,0x70AA,0x70C2,0x70DA -.half 0x70F2,0x7109,0x7121,0x7138 -.half 0x7150,0x7167,0x717E,0x7196 -.half 0x71AD,0x71C4,0x71DB,0x71F2 -.half 0x7209,0x7220,0x7236,0x724D -.half 0x7264,0x727A,0x7291,0x72A7 -.half 0x72BD,0x72D4,0x72EA,0x7300 -.half 0x7316,0x732C,0x7342,0x7358 -.half 0x736E,0x7383,0x7399,0x73AE -.half 0x73C4,0x73D9,0x73EF,0x7404 -.half 0x7419,0x742E,0x7443,0x7458 -.half 0x746D,0x7482,0x7497,0x74AC -.half 0x74C0,0x74D5,0x74EA,0x74FE -.half 0x7512,0x7527,0x753B,0x754F -.half 0x7563,0x7577,0x758B,0x759F -.half 0x75B3,0x75C7,0x75DA,0x75EE -.half 0x7601,0x7615,0x7628,0x763B -.half 0x764F,0x7662,0x7675,0x7688 -.half 0x769B,0x76AE,0x76C1,0x76D3 -.half 0x76E6,0x76F9,0x770B,0x771E -.half 0x7730,0x7742,0x7754,0x7767 -.half 0x7779,0x778B,0x779D,0x77AF -.half 0x77C0,0x77D2,0x77E4,0x77F5 -.half 0x7807,0x7818,0x782A,0x783B -.half 0x784C,0x785D,0x786E,0x787F -.half 0x7890,0x78A1,0x78B2,0x78C3 -.half 0x78D3,0x78E4,0x78F4,0x7905 -.half 0x7915,0x7925,0x7936,0x7946 -.half 0x7956,0x7966,0x7976,0x7985 -.half 0x7995,0x79A5,0x79B5,0x79C4 -.half 0x79D4,0x79E3,0x79F2,0x7A02 -.half 0x7A11,0x7A20,0x7A2F,0x7A3E -.half 0x7A4D,0x7A5B,0x7A6A,0x7A79 -.half 0x7A87,0x7A96,0x7AA4,0x7AB3 -.half 0x7AC1,0x7ACF,0x7ADD,0x7AEB -.half 0x7AF9,0x7B07,0x7B15,0x7B23 -.half 0x7B31,0x7B3E,0x7B4C,0x7B59 -.half 0x7B67,0x7B74,0x7B81,0x7B8E -.half 0x7B9B,0x7BA8,0x7BB5,0x7BC2 -.half 0x7BCF,0x7BDC,0x7BE8,0x7BF5 -.half 0x7C02,0x7C0E,0x7C1A,0x7C27 -.half 0x7C33,0x7C3F,0x7C4B,0x7C57 -.half 0x7C63,0x7C6F,0x7C7A,0x7C86 -.half 0x7C92,0x7C9D,0x7CA9,0x7CB4 -.half 0x7CBF,0x7CCB,0x7CD6,0x7CE1 -.half 0x7CEC,0x7CF7,0x7D02,0x7D0C -.half 0x7D17,0x7D22,0x7D2C,0x7D37 -.half 0x7D41,0x7D4B,0x7D56,0x7D60 -.half 0x7D6A,0x7D74,0x7D7E,0x7D88 -.half 0x7D91,0x7D9B,0x7DA5,0x7DAE -.half 0x7DB8,0x7DC1,0x7DCB,0x7DD4 -.half 0x7DDD,0x7DE6,0x7DEF,0x7DF8 -.half 0x7E01,0x7E0A,0x7E13,0x7E1B -.half 0x7E24,0x7E2C,0x7E35,0x7E3D -.half 0x7E45,0x7E4D,0x7E56,0x7E5E -.half 0x7E66,0x7E6D,0x7E75,0x7E7D -.half 0x7E85,0x7E8C,0x7E94,0x7E9B -.half 0x7EA3,0x7EAA,0x7EB1,0x7EB8 -.half 0x7EBF,0x7EC6,0x7ECD,0x7ED4 -.half 0x7EDB,0x7EE1,0x7EE8,0x7EEE -.half 0x7EF5,0x7EFB,0x7F01,0x7F08 -.half 0x7F0E,0x7F14,0x7F1A,0x7F20 -.half 0x7F25,0x7F2B,0x7F31,0x7F36 -.half 0x7F3C,0x7F41,0x7F47,0x7F4C -.half 0x7F51,0x7F56,0x7F5B,0x7F60 -.half 0x7F65,0x7F6A,0x7F6F,0x7F74 -.half 0x7F78,0x7F7D,0x7F81,0x7F85 -.half 0x7F8A,0x7F8E,0x7F92,0x7F96 -.half 0x7F9A,0x7F9E,0x7FA2,0x7FA6 -.half 0x7FA9,0x7FAD,0x7FB0,0x7FB4 -.half 0x7FB7,0x7FBA,0x7FBE,0x7FC1 -.half 0x7FC4,0x7FC7,0x7FCA,0x7FCC -.half 0x7FCF,0x7FD2,0x7FD4,0x7FD7 -.half 0x7FD9,0x7FDC,0x7FDE,0x7FE0 -.half 0x7FE2,0x7FE4,0x7FE6,0x7FE8 -.half 0x7FEA,0x7FEC,0x7FED,0x7FEF -.half 0x7FF1,0x7FF2,0x7FF3,0x7FF5 -.half 0x7FF6,0x7FF7,0x7FF8,0x7FF9 -.half 0x7FFA,0x7FFB,0x7FFB,0x7FFC -.half 0x7FFD,0x7FFD,0x7FFE,0x7FFE -.half 0x7FFE,0x7FFE,0x7FFE,0x7FFF - -.section .text -glabel guTranslateF -/* 0178D0 70016CD0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0178D4 70016CD4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0178D8 70016CD8 AFA5001C */ sw $a1, 0x1c($sp) -/* 0178DC 70016CDC AFA60020 */ sw $a2, 0x20($sp) -/* 0178E0 70016CE0 AFA70024 */ sw $a3, 0x24($sp) -/* 0178E4 70016CE4 0C004004 */ jal guMtxIdentF -/* 0178E8 70016CE8 AFA40018 */ sw $a0, 0x18($sp) -/* 0178EC 70016CEC 8FA40018 */ lw $a0, 0x18($sp) -/* 0178F0 70016CF0 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 0178F4 70016CF4 E4840030 */ swc1 $f4, 0x30($a0) -/* 0178F8 70016CF8 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 0178FC 70016CFC E4860034 */ swc1 $f6, 0x34($a0) -/* 017900 70016D00 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 017904 70016D04 E4880038 */ swc1 $f8, 0x38($a0) -/* 017908 70016D08 8FBF0014 */ lw $ra, 0x14($sp) -/* 01790C 70016D0C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 017910 70016D10 03E00008 */ jr $ra -/* 017914 70016D14 00000000 */ nop - -glabel guTranslate -/* 017918 70016D18 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 01791C 70016D1C AFBF0014 */ sw $ra, 0x14($sp) -/* 017920 70016D20 AFA40068 */ sw $a0, 0x68($sp) -/* 017924 70016D24 AFA5006C */ sw $a1, 0x6c($sp) -/* 017928 70016D28 AFA60070 */ sw $a2, 0x70($sp) -/* 01792C 70016D2C AFA70074 */ sw $a3, 0x74($sp) -/* 017930 70016D30 0C004004 */ jal guMtxIdentF -/* 017934 70016D34 27A40028 */ addiu $a0, $sp, 0x28 -/* 017938 70016D38 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 01793C 70016D3C C7A60070 */ lwc1 $f6, 0x70($sp) -/* 017940 70016D40 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 017944 70016D44 27A40028 */ addiu $a0, $sp, 0x28 -/* 017948 70016D48 8FA50068 */ lw $a1, 0x68($sp) -/* 01794C 70016D4C E7A40058 */ swc1 $f4, 0x58($sp) -/* 017950 70016D50 E7A6005C */ swc1 $f6, 0x5c($sp) -/* 017954 70016D54 0C003FC4 */ jal guMtxF2L -/* 017958 70016D58 E7A80060 */ swc1 $f8, 0x60($sp) -/* 01795C 70016D5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 017960 70016D60 27BD0068 */ addiu $sp, $sp, 0x68 -/* 017964 70016D64 03E00008 */ jr $ra -/* 017968 70016D68 00000000 */ nop - -/* 01796C 70016D6C 00000000 */ nop -glabel _bcmp -/* 017970 70016D70 28C10010 */ slti $at, $a2, 0x10 -/* 017974 70016D74 14200037 */ bnez $at, .L70016E54 -/* 017978 70016D78 00851026 */ xor $v0, $a0, $a1 -/* 01797C 70016D7C 30420003 */ andi $v0, $v0, 3 -/* 017980 70016D80 14400019 */ bnez $v0, .L70016DE8 -/* 017984 70016D84 0004C023 */ negu $t8, $a0 -/* 017988 70016D88 33180003 */ andi $t8, $t8, 3 -/* 01798C 70016D8C 13000007 */ beqz $t8, .L70016DAC -/* 017990 70016D90 00D83023 */ subu $a2, $a2, $t8 -/* 017994 70016D94 00601025 */ move $v0, $v1 -/* 017998 70016D98 88820000 */ lwl $v0, ($a0) -/* 01799C 70016D9C 88A30000 */ lwl $v1, ($a1) -/* 0179A0 70016DA0 00982021 */ addu $a0, $a0, $t8 -/* 0179A4 70016DA4 00B82821 */ addu $a1, $a1, $t8 -/* 0179A8 70016DA8 14430036 */ bne $v0, $v1, .L70016E84 -.L70016DAC: -/* 0179AC 70016DAC 2401FFFC */ li $at, -4 -/* 0179B0 70016DB0 00C13824 */ and $a3, $a2, $at -/* 0179B4 70016DB4 10E00027 */ beqz $a3, .L70016E54 -/* 0179B8 70016DB8 00C73023 */ subu $a2, $a2, $a3 -/* 0179BC 70016DBC 00E43821 */ addu $a3, $a3, $a0 -/* 0179C0 70016DC0 8C820000 */ lw $v0, ($a0) -.L70016DC4: -/* 0179C4 70016DC4 8CA30000 */ lw $v1, ($a1) -/* 0179C8 70016DC8 24840004 */ addiu $a0, $a0, 4 -/* 0179CC 70016DCC 24A50004 */ addiu $a1, $a1, 4 -/* 0179D0 70016DD0 1443002C */ bne $v0, $v1, .L70016E84 -/* 0179D4 70016DD4 00000000 */ nop -/* 0179D8 70016DD8 5487FFFA */ bnel $a0, $a3, .L70016DC4 -/* 0179DC 70016DDC 8C820000 */ lw $v0, ($a0) -/* 0179E0 70016DE0 1000001C */ b .L70016E54 -/* 0179E4 70016DE4 00000000 */ nop -.L70016DE8: -/* 0179E8 70016DE8 00053823 */ negu $a3, $a1 -/* 0179EC 70016DEC 30E70003 */ andi $a3, $a3, 3 -/* 0179F0 70016DF0 10E0000A */ beqz $a3, .L70016E1C -/* 0179F4 70016DF4 00C73023 */ subu $a2, $a2, $a3 -/* 0179F8 70016DF8 00E43821 */ addu $a3, $a3, $a0 -/* 0179FC 70016DFC 90820000 */ lbu $v0, ($a0) -.L70016E00: -/* 017A00 70016E00 90A30000 */ lbu $v1, ($a1) -/* 017A04 70016E04 24840001 */ addiu $a0, $a0, 1 -/* 017A08 70016E08 24A50001 */ addiu $a1, $a1, 1 -/* 017A0C 70016E0C 1443001D */ bne $v0, $v1, .L70016E84 -/* 017A10 70016E10 00000000 */ nop -/* 017A14 70016E14 5487FFFA */ bnel $a0, $a3, .L70016E00 -/* 017A18 70016E18 90820000 */ lbu $v0, ($a0) -.L70016E1C: -/* 017A1C 70016E1C 2401FFFC */ li $at, -4 -/* 017A20 70016E20 00C13824 */ and $a3, $a2, $at -/* 017A24 70016E24 10E0000B */ beqz $a3, .L70016E54 -/* 017A28 70016E28 00C73023 */ subu $a2, $a2, $a3 -/* 017A2C 70016E2C 00E43821 */ addu $a3, $a3, $a0 -/* 017A30 70016E30 88820000 */ lwl $v0, ($a0) -.L70016E34: -/* 017A34 70016E34 8CA30000 */ lw $v1, ($a1) -/* 017A38 70016E38 98820003 */ lwr $v0, 3($a0) -/* 017A3C 70016E3C 24840004 */ addiu $a0, $a0, 4 -/* 017A40 70016E40 24A50004 */ addiu $a1, $a1, 4 -/* 017A44 70016E44 1443000F */ bne $v0, $v1, .L70016E84 -/* 017A48 70016E48 00000000 */ nop -/* 017A4C 70016E4C 5487FFF9 */ bnel $a0, $a3, .L70016E34 -/* 017A50 70016E50 88820000 */ lwl $v0, ($a0) -.L70016E54: -/* 017A54 70016E54 18C00009 */ blez $a2, .L70016E7C -/* 017A58 70016E58 00C43821 */ addu $a3, $a2, $a0 -/* 017A5C 70016E5C 90820000 */ lbu $v0, ($a0) -.L70016E60: -/* 017A60 70016E60 90A30000 */ lbu $v1, ($a1) -/* 017A64 70016E64 24840001 */ addiu $a0, $a0, 1 -/* 017A68 70016E68 24A50001 */ addiu $a1, $a1, 1 -/* 017A6C 70016E6C 14430005 */ bne $v0, $v1, .L70016E84 -/* 017A70 70016E70 00000000 */ nop -/* 017A74 70016E74 5487FFFA */ bnel $a0, $a3, .L70016E60 -/* 017A78 70016E78 90820000 */ lbu $v0, ($a0) -.L70016E7C: -/* 017A7C 70016E7C 03E00008 */ jr $ra -/* 017A80 70016E80 00001025 */ move $v0, $zero - -.L70016E84: -/* 017A84 70016E84 03E00008 */ jr $ra -/* 017A88 70016E88 24020001 */ li $v0, 1 - -/* 017A8C 70016E8C 00000000 */ nop -glabel guScaleF -/* 017A90 70016E90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 017A94 70016E94 AFBF0014 */ sw $ra, 0x14($sp) -/* 017A98 70016E98 AFA5001C */ sw $a1, 0x1c($sp) -/* 017A9C 70016E9C AFA60020 */ sw $a2, 0x20($sp) -/* 017AA0 70016EA0 AFA70024 */ sw $a3, 0x24($sp) -/* 017AA4 70016EA4 0C004004 */ jal guMtxIdentF -/* 017AA8 70016EA8 AFA40018 */ sw $a0, 0x18($sp) -/* 017AAC 70016EAC 8FA40018 */ lw $a0, 0x18($sp) -/* 017AB0 70016EB0 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 017AB4 70016EB4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 017AB8 70016EB8 44815000 */ mtc1 $at, $f10 -/* 017ABC 70016EBC E4840000 */ swc1 $f4, ($a0) -/* 017AC0 70016EC0 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 017AC4 70016EC4 E4860014 */ swc1 $f6, 0x14($a0) -/* 017AC8 70016EC8 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 017ACC 70016ECC E48A003C */ swc1 $f10, 0x3c($a0) -/* 017AD0 70016ED0 E4880028 */ swc1 $f8, 0x28($a0) -/* 017AD4 70016ED4 8FBF0014 */ lw $ra, 0x14($sp) -/* 017AD8 70016ED8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 017ADC 70016EDC 03E00008 */ jr $ra -/* 017AE0 70016EE0 00000000 */ nop - -glabel guScale -/* 017AE4 70016EE4 44856000 */ mtc1 $a1, $f12 -/* 017AE8 70016EE8 44867000 */ mtc1 $a2, $f14 -/* 017AEC 70016EEC 44878000 */ mtc1 $a3, $f16 -/* 017AF0 70016EF0 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 017AF4 70016EF4 AFBF0014 */ sw $ra, 0x14($sp) -/* 017AF8 70016EF8 AFA40058 */ sw $a0, 0x58($sp) -/* 017AFC 70016EFC 44056000 */ mfc1 $a1, $f12 -/* 017B00 70016F00 44067000 */ mfc1 $a2, $f14 -/* 017B04 70016F04 44078000 */ mfc1 $a3, $f16 -/* 017B08 70016F08 0C005BA4 */ jal guScaleF -/* 017B0C 70016F0C 27A40018 */ addiu $a0, $sp, 0x18 -/* 017B10 70016F10 27A40018 */ addiu $a0, $sp, 0x18 -/* 017B14 70016F14 0C003FC4 */ jal guMtxF2L -/* 017B18 70016F18 8FA50058 */ lw $a1, 0x58($sp) -/* 017B1C 70016F1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 017B20 70016F20 27BD0058 */ addiu $sp, $sp, 0x58 -/* 017B24 70016F24 03E00008 */ jr $ra -/* 017B28 70016F28 00000000 */ nop - -/* 017B2C 70016F2C 00000000 */ nop -glabel guLookAtReflectF -/* 017B30 70016F30 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 017B34 70016F34 AFBF0044 */ sw $ra, 0x44($sp) -/* 017B38 70016F38 F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 017B3C 70016F3C F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 017B40 70016F40 F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 017B44 70016F44 F7B80020 */ sdc1 $f24, 0x20($sp) -/* 017B48 70016F48 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 017B4C 70016F4C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 017B50 70016F50 AFA60050 */ sw $a2, 0x50($sp) -/* 017B54 70016F54 AFA70054 */ sw $a3, 0x54($sp) -/* 017B58 70016F58 AFA40048 */ sw $a0, 0x48($sp) -/* 017B5C 70016F5C 0C004004 */ jal guMtxIdentF -/* 017B60 70016F60 AFA5004C */ sw $a1, 0x4c($sp) -/* 017B64 70016F64 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 017B68 70016F68 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 017B6C 70016F6C C7A80060 */ lwc1 $f8, 0x60($sp) -/* 017B70 70016F70 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 017B74 70016F74 46062001 */ sub.s $f0, $f4, $f6 -/* 017B78 70016F78 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 017B7C 70016F7C C7A40064 */ lwc1 $f4, 0x64($sp) -/* 017B80 70016F80 460A4581 */ sub.s $f22, $f8, $f10 -/* 017B84 70016F84 46000202 */ mul.s $f8, $f0, $f0 -/* 017B88 70016F88 46000506 */ mov.s $f20, $f0 -/* 017B8C 70016F8C 46062601 */ sub.s $f24, $f4, $f6 -/* 017B90 70016F90 4616B282 */ mul.s $f10, $f22, $f22 -/* 017B94 70016F94 460A4100 */ add.s $f4, $f8, $f10 -/* 017B98 70016F98 4618C182 */ mul.s $f6, $f24, $f24 -/* 017B9C 70016F9C 0C007DF8 */ jal sqrtf -/* 017BA0 70016FA0 46062300 */ add.s $f12, $f4, $f6 -/* 017BA4 70016FA4 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 -/* 017BA8 70016FA8 44814800 */ mtc1 $at, $f9 -/* 017BAC 70016FAC 44804000 */ mtc1 $zero, $f8 -/* 017BB0 70016FB0 460002A1 */ cvt.d.s $f10, $f0 -/* 017BB4 70016FB4 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 017BB8 70016FB8 462A4103 */ div.d $f4, $f8, $f10 -/* 017BBC 70016FBC C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 017BC0 70016FC0 462020A0 */ cvt.s.d $f2, $f4 -/* 017BC4 70016FC4 4602A502 */ mul.s $f20, $f20, $f2 -/* 017BC8 70016FC8 00000000 */ nop -/* 017BCC 70016FCC 4602B582 */ mul.s $f22, $f22, $f2 -/* 017BD0 70016FD0 00000000 */ nop -/* 017BD4 70016FD4 4602C602 */ mul.s $f24, $f24, $f2 -/* 017BD8 70016FD8 00000000 */ nop -/* 017BDC 70016FDC 46183202 */ mul.s $f8, $f6, $f24 -/* 017BE0 70016FE0 00000000 */ nop -/* 017BE4 70016FE4 46165102 */ mul.s $f4, $f10, $f22 -/* 017BE8 70016FE8 46044681 */ sub.s $f26, $f8, $f4 -/* 017BEC 70016FEC 46145202 */ mul.s $f8, $f10, $f20 -/* 017BF0 70016FF0 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 017BF4 70016FF4 46182282 */ mul.s $f10, $f4, $f24 -/* 017BF8 70016FF8 460A4701 */ sub.s $f28, $f8, $f10 -/* 017BFC 70016FFC 46162202 */ mul.s $f8, $f4, $f22 -/* 017C00 70017000 00000000 */ nop -/* 017C04 70017004 46143282 */ mul.s $f10, $f6, $f20 -/* 017C08 70017008 460A4781 */ sub.s $f30, $f8, $f10 -/* 017C0C 7001700C 461AD102 */ mul.s $f4, $f26, $f26 -/* 017C10 70017010 00000000 */ nop -/* 017C14 70017014 461CE182 */ mul.s $f6, $f28, $f28 -/* 017C18 70017018 46062200 */ add.s $f8, $f4, $f6 -/* 017C1C 7001701C 461EF282 */ mul.s $f10, $f30, $f30 -/* 017C20 70017020 0C007DF8 */ jal sqrtf -/* 017C24 70017024 460A4300 */ add.s $f12, $f8, $f10 -/* 017C28 70017028 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 017C2C 7001702C 44812800 */ mtc1 $at, $f5 -/* 017C30 70017030 44802000 */ mtc1 $zero, $f4 -/* 017C34 70017034 460001A1 */ cvt.d.s $f6, $f0 -/* 017C38 70017038 46262203 */ div.d $f8, $f4, $f6 -/* 017C3C 7001703C 462043A0 */ cvt.s.d $f14, $f8 -/* 017C40 70017040 460ED682 */ mul.s $f26, $f26, $f14 -/* 017C44 70017044 00000000 */ nop -/* 017C48 70017048 460EE702 */ mul.s $f28, $f28, $f14 -/* 017C4C 7001704C 00000000 */ nop -/* 017C50 70017050 460EF782 */ mul.s $f30, $f30, $f14 -/* 017C54 70017054 00000000 */ nop -/* 017C58 70017058 461EB282 */ mul.s $f10, $f22, $f30 -/* 017C5C 7001705C 00000000 */ nop -/* 017C60 70017060 461CC102 */ mul.s $f4, $f24, $f28 -/* 017C64 70017064 00000000 */ nop -/* 017C68 70017068 461AC182 */ mul.s $f6, $f24, $f26 -/* 017C6C 7001706C 00000000 */ nop -/* 017C70 70017070 461EA202 */ mul.s $f8, $f20, $f30 -/* 017C74 70017074 46045081 */ sub.s $f2, $f10, $f4 -/* 017C78 70017078 461CA282 */ mul.s $f10, $f20, $f28 -/* 017C7C 7001707C 00000000 */ nop -/* 017C80 70017080 461AB102 */ mul.s $f4, $f22, $f26 -/* 017C84 70017084 E7A20068 */ swc1 $f2, 0x68($sp) -/* 017C88 70017088 46083401 */ sub.s $f16, $f6, $f8 -/* 017C8C 7001708C 46021182 */ mul.s $f6, $f2, $f2 -/* 017C90 70017090 00000000 */ nop -/* 017C94 70017094 46108202 */ mul.s $f8, $f16, $f16 -/* 017C98 70017098 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 017C9C 7001709C 46045481 */ sub.s $f18, $f10, $f4 -/* 017CA0 700170A0 46129102 */ mul.s $f4, $f18, $f18 -/* 017CA4 700170A4 46083280 */ add.s $f10, $f6, $f8 -/* 017CA8 700170A8 E7B20070 */ swc1 $f18, 0x70($sp) -/* 017CAC 700170AC 0C007DF8 */ jal sqrtf -/* 017CB0 700170B0 46045300 */ add.s $f12, $f10, $f4 -/* 017CB4 700170B4 3C018003 */ lui $at, %hi(F64_80029800) # 0x8003 -/* 017CB8 700170B8 D4229800 */ ldc1 $f2, %lo(F64_80029800)($at) # -0x6800 -/* 017CBC 700170BC 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 017CC0 700170C0 44818800 */ mtc1 $at, $f17 -/* 017CC4 700170C4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 017CC8 700170C8 44813800 */ mtc1 $at, $f7 -/* 017CCC 700170CC 44803000 */ mtc1 $zero, $f6 -/* 017CD0 700170D0 46000221 */ cvt.d.s $f8, $f0 -/* 017CD4 700170D4 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 017CD8 700170D8 46283283 */ div.d $f10, $f6, $f8 -/* 017CDC 700170DC C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 017CE0 700170E0 44808000 */ mtc1 $zero, $f16 -/* 017CE4 700170E4 8FA40048 */ lw $a0, 0x48($sp) -/* 017CE8 700170E8 8FA5004C */ lw $a1, 0x4c($sp) -/* 017CEC 700170EC 24020080 */ li $v0, 128 -/* 017CF0 700170F0 462053A0 */ cvt.s.d $f14, $f10 -/* 017CF4 700170F4 460E2182 */ mul.s $f6, $f4, $f14 -/* 017CF8 700170F8 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 017CFC 700170FC 460E4282 */ mul.s $f10, $f8, $f14 -/* 017D00 70017100 4600D221 */ cvt.d.s $f8, $f26 -/* 017D04 70017104 E7A60068 */ swc1 $f6, 0x68($sp) -/* 017D08 70017108 460E2182 */ mul.s $f6, $f4, $f14 -/* 017D0C 7001710C E7AA006C */ swc1 $f10, 0x6c($sp) -/* 017D10 70017110 46304302 */ mul.d $f12, $f8, $f16 -/* 017D14 70017114 E7A60070 */ swc1 $f6, 0x70($sp) -/* 017D18 70017118 4622603C */ c.lt.d $f12, $f2 -/* 017D1C 7001711C 00000000 */ nop -/* 017D20 70017120 45020004 */ bc1fl .L70017134 -/* 017D24 70017124 46201006 */ mov.d $f0, $f2 -/* 017D28 70017128 10000002 */ b .L70017134 -/* 017D2C 7001712C 46206006 */ mov.d $f0, $f12 -/* 017D30 70017130 46201006 */ mov.d $f0, $f2 -.L70017134: -/* 017D34 70017134 4600E121 */ cvt.d.s $f4, $f28 -/* 017D38 70017138 4620028D */ trunc.w.d $f10, $f0 -/* 017D3C 7001713C 46302302 */ mul.d $f12, $f4, $f16 -/* 017D40 70017140 44185000 */ mfc1 $t8, $f10 -/* 017D44 70017144 00000000 */ nop -/* 017D48 70017148 A0B80008 */ sb $t8, 8($a1) -/* 017D4C 7001714C 4622603C */ c.lt.d $f12, $f2 -/* 017D50 70017150 00000000 */ nop -/* 017D54 70017154 45020004 */ bc1fl .L70017168 -/* 017D58 70017158 46201006 */ mov.d $f0, $f2 -/* 017D5C 7001715C 10000002 */ b .L70017168 -/* 017D60 70017160 46206006 */ mov.d $f0, $f12 -/* 017D64 70017164 46201006 */ mov.d $f0, $f2 -.L70017168: -/* 017D68 70017168 4600F221 */ cvt.d.s $f8, $f30 -/* 017D6C 7001716C 4620018D */ trunc.w.d $f6, $f0 -/* 017D70 70017170 46304302 */ mul.d $f12, $f8, $f16 -/* 017D74 70017174 44093000 */ mfc1 $t1, $f6 -/* 017D78 70017178 00000000 */ nop -/* 017D7C 7001717C A0A90009 */ sb $t1, 9($a1) -/* 017D80 70017180 4622603C */ c.lt.d $f12, $f2 -/* 017D84 70017184 00000000 */ nop -/* 017D88 70017188 45020004 */ bc1fl .L7001719C -/* 017D8C 7001718C 46201006 */ mov.d $f0, $f2 -/* 017D90 70017190 10000002 */ b .L7001719C -/* 017D94 70017194 46206006 */ mov.d $f0, $f12 -/* 017D98 70017198 46201006 */ mov.d $f0, $f2 -.L7001719C: -/* 017D9C 7001719C 4620028D */ trunc.w.d $f10, $f0 -/* 017DA0 700171A0 440C5000 */ mfc1 $t4, $f10 -/* 017DA4 700171A4 00000000 */ nop -/* 017DA8 700171A8 A0AC000A */ sb $t4, 0xa($a1) -/* 017DAC 700171AC C7A40068 */ lwc1 $f4, 0x68($sp) -/* 017DB0 700171B0 460021A1 */ cvt.d.s $f6, $f4 -/* 017DB4 700171B4 46303302 */ mul.d $f12, $f6, $f16 -/* 017DB8 700171B8 4622603C */ c.lt.d $f12, $f2 -/* 017DBC 700171BC 00000000 */ nop -/* 017DC0 700171C0 45020004 */ bc1fl .L700171D4 -/* 017DC4 700171C4 46201006 */ mov.d $f0, $f2 -/* 017DC8 700171C8 10000002 */ b .L700171D4 -/* 017DCC 700171CC 46206006 */ mov.d $f0, $f12 -/* 017DD0 700171D0 46201006 */ mov.d $f0, $f2 -.L700171D4: -/* 017DD4 700171D4 4620020D */ trunc.w.d $f8, $f0 -/* 017DD8 700171D8 440F4000 */ mfc1 $t7, $f8 -/* 017DDC 700171DC 00000000 */ nop -/* 017DE0 700171E0 A0AF0018 */ sb $t7, 0x18($a1) -/* 017DE4 700171E4 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 017DE8 700171E8 46005121 */ cvt.d.s $f4, $f10 -/* 017DEC 700171EC 46302302 */ mul.d $f12, $f4, $f16 -/* 017DF0 700171F0 4622603C */ c.lt.d $f12, $f2 -/* 017DF4 700171F4 00000000 */ nop -/* 017DF8 700171F8 45020004 */ bc1fl .L7001720C -/* 017DFC 700171FC 46201006 */ mov.d $f0, $f2 -/* 017E00 70017200 10000002 */ b .L7001720C -/* 017E04 70017204 46206006 */ mov.d $f0, $f12 -/* 017E08 70017208 46201006 */ mov.d $f0, $f2 -.L7001720C: -/* 017E0C 7001720C 4620018D */ trunc.w.d $f6, $f0 -/* 017E10 70017210 44083000 */ mfc1 $t0, $f6 -/* 017E14 70017214 00000000 */ nop -/* 017E18 70017218 A0A80019 */ sb $t0, 0x19($a1) -/* 017E1C 7001721C C7A80070 */ lwc1 $f8, 0x70($sp) -/* 017E20 70017220 460042A1 */ cvt.d.s $f10, $f8 -/* 017E24 70017224 46305302 */ mul.d $f12, $f10, $f16 -/* 017E28 70017228 4622603C */ c.lt.d $f12, $f2 -/* 017E2C 7001722C 00000000 */ nop -/* 017E30 70017230 45020004 */ bc1fl .L70017244 -/* 017E34 70017234 46201006 */ mov.d $f0, $f2 -/* 017E38 70017238 10000002 */ b .L70017244 -/* 017E3C 7001723C 46206006 */ mov.d $f0, $f12 -/* 017E40 70017240 46201006 */ mov.d $f0, $f2 -.L70017244: -/* 017E44 70017244 4620010D */ trunc.w.d $f4, $f0 -/* 017E48 70017248 A0A00000 */ sb $zero, ($a1) -/* 017E4C 7001724C A0A00001 */ sb $zero, 1($a1) -/* 017E50 70017250 A0A00002 */ sb $zero, 2($a1) -/* 017E54 70017254 440B2000 */ mfc1 $t3, $f4 -/* 017E58 70017258 A0A00003 */ sb $zero, 3($a1) -/* 017E5C 7001725C A0A00004 */ sb $zero, 4($a1) -/* 017E60 70017260 A0A00005 */ sb $zero, 5($a1) -/* 017E64 70017264 A0A00006 */ sb $zero, 6($a1) -/* 017E68 70017268 A0A00007 */ sb $zero, 7($a1) -/* 017E6C 7001726C A0A00010 */ sb $zero, 0x10($a1) -/* 017E70 70017270 A0A20011 */ sb $v0, 0x11($a1) -/* 017E74 70017274 A0A00012 */ sb $zero, 0x12($a1) -/* 017E78 70017278 A0A00013 */ sb $zero, 0x13($a1) -/* 017E7C 7001727C A0A00014 */ sb $zero, 0x14($a1) -/* 017E80 70017280 A0A20015 */ sb $v0, 0x15($a1) -/* 017E84 70017284 A0A00016 */ sb $zero, 0x16($a1) -/* 017E88 70017288 A0A00017 */ sb $zero, 0x17($a1) -/* 017E8C 7001728C A0AB001A */ sb $t3, 0x1a($a1) -/* 017E90 70017290 E49A0000 */ swc1 $f26, ($a0) -/* 017E94 70017294 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 017E98 70017298 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 017E9C 7001729C C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 017EA0 700172A0 461A9182 */ mul.s $f6, $f18, $f26 -/* 017EA4 700172A4 C7A00068 */ lwc1 $f0, 0x68($sp) -/* 017EA8 700172A8 C7AC006C */ lwc1 $f12, 0x6c($sp) -/* 017EAC 700172AC 461C8202 */ mul.s $f8, $f16, $f28 -/* 017EB0 700172B0 C7A20070 */ lwc1 $f2, 0x70($sp) -/* 017EB4 700172B4 E49C0010 */ swc1 $f28, 0x10($a0) -/* 017EB8 700172B8 461E7102 */ mul.s $f4, $f14, $f30 -/* 017EBC 700172BC E49E0020 */ swc1 $f30, 0x20($a0) -/* 017EC0 700172C0 E4940008 */ swc1 $f20, 8($a0) -/* 017EC4 700172C4 E4960018 */ swc1 $f22, 0x18($a0) -/* 017EC8 700172C8 E4980028 */ swc1 $f24, 0x28($a0) -/* 017ECC 700172CC 46083280 */ add.s $f10, $f6, $f8 -/* 017ED0 700172D0 E4800004 */ swc1 $f0, 4($a0) -/* 017ED4 700172D4 E48C0014 */ swc1 $f12, 0x14($a0) -/* 017ED8 700172D8 E4820024 */ swc1 $f2, 0x24($a0) -/* 017EDC 700172DC 46045180 */ add.s $f6, $f10, $f4 -/* 017EE0 700172E0 46009282 */ mul.s $f10, $f18, $f0 -/* 017EE4 700172E4 44800000 */ mtc1 $zero, $f0 -/* 017EE8 700172E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 017EEC 700172EC 460C8102 */ mul.s $f4, $f16, $f12 -/* 017EF0 700172F0 46003207 */ neg.s $f8, $f6 -/* 017EF4 700172F4 E4880030 */ swc1 $f8, 0x30($a0) -/* 017EF8 700172F8 46027202 */ mul.s $f8, $f14, $f2 -/* 017EFC 700172FC 46045180 */ add.s $f6, $f10, $f4 -/* 017F00 70017300 46083280 */ add.s $f10, $f6, $f8 -/* 017F04 70017304 46005107 */ neg.s $f4, $f10 -/* 017F08 70017308 E4840034 */ swc1 $f4, 0x34($a0) -/* 017F0C 7001730C C7A60050 */ lwc1 $f6, 0x50($sp) -/* 017F10 70017310 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 017F14 70017314 46143202 */ mul.s $f8, $f6, $f20 -/* 017F18 70017318 00000000 */ nop -/* 017F1C 7001731C 46165102 */ mul.s $f4, $f10, $f22 -/* 017F20 70017320 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 017F24 70017324 E480000C */ swc1 $f0, 0xc($a0) -/* 017F28 70017328 E480001C */ swc1 $f0, 0x1c($a0) -/* 017F2C 7001732C E480002C */ swc1 $f0, 0x2c($a0) -/* 017F30 70017330 46044180 */ add.s $f6, $f8, $f4 -/* 017F34 70017334 46185202 */ mul.s $f8, $f10, $f24 -/* 017F38 70017338 46083100 */ add.s $f4, $f6, $f8 -/* 017F3C 7001733C 44813000 */ mtc1 $at, $f6 -/* 017F40 70017340 46002287 */ neg.s $f10, $f4 -/* 017F44 70017344 E486003C */ swc1 $f6, 0x3c($a0) -/* 017F48 70017348 E48A0038 */ swc1 $f10, 0x38($a0) -/* 017F4C 7001734C 8FBF0044 */ lw $ra, 0x44($sp) -/* 017F50 70017350 D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 017F54 70017354 D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 017F58 70017358 D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 017F5C 7001735C D7B80020 */ ldc1 $f24, 0x20($sp) -/* 017F60 70017360 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 017F64 70017364 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 017F68 70017368 03E00008 */ jr $ra -/* 017F6C 7001736C 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel guLookAtReflect -/* 017F70 70017370 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 017F74 70017374 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 017F78 70017378 44866000 */ mtc1 $a2, $f12 -/* 017F7C 7001737C 44877000 */ mtc1 $a3, $f14 -/* 017F80 70017380 E7A40010 */ swc1 $f4, 0x10($sp) -/* 017F84 70017384 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 017F88 70017388 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 017F8C 7001738C C7A80090 */ lwc1 $f8, 0x90($sp) -/* 017F90 70017390 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 017F94 70017394 C7B00098 */ lwc1 $f16, 0x98($sp) -/* 017F98 70017398 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 017F9C 7001739C AFBF0034 */ sw $ra, 0x34($sp) -/* 017FA0 700173A0 AFA40078 */ sw $a0, 0x78($sp) -/* 017FA4 700173A4 44066000 */ mfc1 $a2, $f12 -/* 017FA8 700173A8 44077000 */ mfc1 $a3, $f14 -/* 017FAC 700173AC 27A40038 */ addiu $a0, $sp, 0x38 -/* 017FB0 700173B0 E7A40028 */ swc1 $f4, 0x28($sp) -/* 017FB4 700173B4 E7A60014 */ swc1 $f6, 0x14($sp) -/* 017FB8 700173B8 E7A80018 */ swc1 $f8, 0x18($sp) -/* 017FBC 700173BC E7AA001C */ swc1 $f10, 0x1c($sp) -/* 017FC0 700173C0 E7B00020 */ swc1 $f16, 0x20($sp) -/* 017FC4 700173C4 0C005BCC */ jal guLookAtReflectF -/* 017FC8 700173C8 E7B20024 */ swc1 $f18, 0x24($sp) -/* 017FCC 700173CC 27A40038 */ addiu $a0, $sp, 0x38 -/* 017FD0 700173D0 0C003FC4 */ jal guMtxF2L -/* 017FD4 700173D4 8FA50078 */ lw $a1, 0x78($sp) -/* 017FD8 700173D8 8FBF0034 */ lw $ra, 0x34($sp) -/* 017FDC 700173DC 27BD0078 */ addiu $sp, $sp, 0x78 -/* 017FE0 700173E0 03E00008 */ jr $ra -/* 017FE4 700173E4 00000000 */ nop - -.align 4 - -.section .rodata -glabel F64_80029800 -.double 127.0 -.align 4 - -.section .text -glabel guLookAtF -/* 017FF0 700173F0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 017FF4 700173F4 AFBF004C */ sw $ra, 0x4c($sp) -/* 017FF8 700173F8 AFB00048 */ sw $s0, 0x48($sp) -/* 017FFC 700173FC 00808025 */ move $s0, $a0 -/* 018000 70017400 F7BE0040 */ sdc1 $f30, 0x40($sp) -/* 018004 70017404 F7BC0038 */ sdc1 $f28, 0x38($sp) -/* 018008 70017408 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 01800C 7001740C F7B80028 */ sdc1 $f24, 0x28($sp) -/* 018010 70017410 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 018014 70017414 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 018018 70017418 AFA50054 */ sw $a1, 0x54($sp) -/* 01801C 7001741C AFA60058 */ sw $a2, 0x58($sp) -/* 018020 70017420 0C004004 */ jal guMtxIdentF -/* 018024 70017424 AFA7005C */ sw $a3, 0x5c($sp) -/* 018028 70017428 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 01802C 7001742C C7A60054 */ lwc1 $f6, 0x54($sp) -/* 018030 70017430 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 018034 70017434 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 018038 70017438 46062001 */ sub.s $f0, $f4, $f6 -/* 01803C 7001743C C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 018040 70017440 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 018044 70017444 460A4581 */ sub.s $f22, $f8, $f10 -/* 018048 70017448 46000202 */ mul.s $f8, $f0, $f0 -/* 01804C 7001744C 46000506 */ mov.s $f20, $f0 -/* 018050 70017450 46062601 */ sub.s $f24, $f4, $f6 -/* 018054 70017454 4616B282 */ mul.s $f10, $f22, $f22 -/* 018058 70017458 460A4100 */ add.s $f4, $f8, $f10 -/* 01805C 7001745C 4618C182 */ mul.s $f6, $f24, $f24 -/* 018060 70017460 0C007DF8 */ jal sqrtf -/* 018064 70017464 46062300 */ add.s $f12, $f4, $f6 -/* 018068 70017468 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 -/* 01806C 7001746C 44814800 */ mtc1 $at, $f9 -/* 018070 70017470 44804000 */ mtc1 $zero, $f8 -/* 018074 70017474 460002A1 */ cvt.d.s $f10, $f0 -/* 018078 70017478 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 01807C 7001747C 462A4103 */ div.d $f4, $f8, $f10 -/* 018080 70017480 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 018084 70017484 462020A0 */ cvt.s.d $f2, $f4 -/* 018088 70017488 4602A502 */ mul.s $f20, $f20, $f2 -/* 01808C 7001748C 00000000 */ nop -/* 018090 70017490 4602B582 */ mul.s $f22, $f22, $f2 -/* 018094 70017494 00000000 */ nop -/* 018098 70017498 4602C602 */ mul.s $f24, $f24, $f2 -/* 01809C 7001749C 00000000 */ nop -/* 0180A0 700174A0 46183202 */ mul.s $f8, $f6, $f24 -/* 0180A4 700174A4 00000000 */ nop -/* 0180A8 700174A8 46165102 */ mul.s $f4, $f10, $f22 -/* 0180AC 700174AC 46044681 */ sub.s $f26, $f8, $f4 -/* 0180B0 700174B0 46145202 */ mul.s $f8, $f10, $f20 -/* 0180B4 700174B4 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 0180B8 700174B8 46182282 */ mul.s $f10, $f4, $f24 -/* 0180BC 700174BC 460A4701 */ sub.s $f28, $f8, $f10 -/* 0180C0 700174C0 46162202 */ mul.s $f8, $f4, $f22 -/* 0180C4 700174C4 00000000 */ nop -/* 0180C8 700174C8 46143282 */ mul.s $f10, $f6, $f20 -/* 0180CC 700174CC 460A4781 */ sub.s $f30, $f8, $f10 -/* 0180D0 700174D0 461AD102 */ mul.s $f4, $f26, $f26 -/* 0180D4 700174D4 00000000 */ nop -/* 0180D8 700174D8 461CE182 */ mul.s $f6, $f28, $f28 -/* 0180DC 700174DC 46062200 */ add.s $f8, $f4, $f6 -/* 0180E0 700174E0 461EF282 */ mul.s $f10, $f30, $f30 -/* 0180E4 700174E4 0C007DF8 */ jal sqrtf -/* 0180E8 700174E8 460A4300 */ add.s $f12, $f8, $f10 -/* 0180EC 700174EC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0180F0 700174F0 44812800 */ mtc1 $at, $f5 -/* 0180F4 700174F4 44802000 */ mtc1 $zero, $f4 -/* 0180F8 700174F8 460001A1 */ cvt.d.s $f6, $f0 -/* 0180FC 700174FC 46262203 */ div.d $f8, $f4, $f6 -/* 018100 70017500 462040A0 */ cvt.s.d $f2, $f8 -/* 018104 70017504 4602D682 */ mul.s $f26, $f26, $f2 -/* 018108 70017508 00000000 */ nop -/* 01810C 7001750C 4602E702 */ mul.s $f28, $f28, $f2 -/* 018110 70017510 00000000 */ nop -/* 018114 70017514 4602F782 */ mul.s $f30, $f30, $f2 -/* 018118 70017518 00000000 */ nop -/* 01811C 7001751C 461EB282 */ mul.s $f10, $f22, $f30 -/* 018120 70017520 00000000 */ nop -/* 018124 70017524 461CC102 */ mul.s $f4, $f24, $f28 -/* 018128 70017528 00000000 */ nop -/* 01812C 7001752C 461AC182 */ mul.s $f6, $f24, $f26 -/* 018130 70017530 00000000 */ nop -/* 018134 70017534 461EA202 */ mul.s $f8, $f20, $f30 -/* 018138 70017538 46045381 */ sub.s $f14, $f10, $f4 -/* 01813C 7001753C 461CA282 */ mul.s $f10, $f20, $f28 -/* 018140 70017540 00000000 */ nop -/* 018144 70017544 461AB102 */ mul.s $f4, $f22, $f26 -/* 018148 70017548 E7AE006C */ swc1 $f14, 0x6c($sp) -/* 01814C 7001754C 46083401 */ sub.s $f16, $f6, $f8 -/* 018150 70017550 460E7182 */ mul.s $f6, $f14, $f14 -/* 018154 70017554 00000000 */ nop -/* 018158 70017558 46108202 */ mul.s $f8, $f16, $f16 -/* 01815C 7001755C E7B00070 */ swc1 $f16, 0x70($sp) -/* 018160 70017560 46045481 */ sub.s $f18, $f10, $f4 -/* 018164 70017564 46129102 */ mul.s $f4, $f18, $f18 -/* 018168 70017568 46083280 */ add.s $f10, $f6, $f8 -/* 01816C 7001756C E7B20074 */ swc1 $f18, 0x74($sp) -/* 018170 70017570 0C007DF8 */ jal sqrtf -/* 018174 70017574 46045300 */ add.s $f12, $f10, $f4 -/* 018178 70017578 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 01817C 7001757C 44813800 */ mtc1 $at, $f7 -/* 018180 70017580 44803000 */ mtc1 $zero, $f6 -/* 018184 70017584 46000221 */ cvt.d.s $f8, $f0 -/* 018188 70017588 C7AE006C */ lwc1 $f14, 0x6c($sp) -/* 01818C 7001758C 46283283 */ div.d $f10, $f6, $f8 -/* 018190 70017590 C7AC0070 */ lwc1 $f12, 0x70($sp) -/* 018194 70017594 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 018198 70017598 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01819C 7001759C 462050A0 */ cvt.s.d $f2, $f10 -/* 0181A0 700175A0 46027382 */ mul.s $f14, $f14, $f2 -/* 0181A4 700175A4 00000000 */ nop -/* 0181A8 700175A8 46026302 */ mul.s $f12, $f12, $f2 -/* 0181AC 700175AC 00000000 */ nop -/* 0181B0 700175B0 46022182 */ mul.s $f6, $f4, $f2 -/* 0181B4 700175B4 E7A60074 */ swc1 $f6, 0x74($sp) -/* 0181B8 700175B8 E61A0000 */ swc1 $f26, ($s0) -/* 0181BC 700175BC E61C0010 */ swc1 $f28, 0x10($s0) -/* 0181C0 700175C0 E61E0020 */ swc1 $f30, 0x20($s0) -/* 0181C4 700175C4 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 0181C8 700175C8 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0181CC 700175CC 461A4282 */ mul.s $f10, $f8, $f26 -/* 0181D0 700175D0 00000000 */ nop -/* 0181D4 700175D4 461C2182 */ mul.s $f6, $f4, $f28 -/* 0181D8 700175D8 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 0181DC 700175DC E60E0004 */ swc1 $f14, 4($s0) -/* 0181E0 700175E0 E60C0014 */ swc1 $f12, 0x14($s0) -/* 0181E4 700175E4 46065200 */ add.s $f8, $f10, $f6 -/* 0181E8 700175E8 461E2282 */ mul.s $f10, $f4, $f30 -/* 0181EC 700175EC 460A4180 */ add.s $f6, $f8, $f10 -/* 0181F0 700175F0 46003107 */ neg.s $f4, $f6 -/* 0181F4 700175F4 E6040030 */ swc1 $f4, 0x30($s0) -/* 0181F8 700175F8 C7A00074 */ lwc1 $f0, 0x74($sp) -/* 0181FC 700175FC E7AC0070 */ swc1 $f12, 0x70($sp) -/* 018200 70017600 E7AE006C */ swc1 $f14, 0x6c($sp) -/* 018204 70017604 C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 018208 70017608 C7AC0058 */ lwc1 $f12, 0x58($sp) -/* 01820C 7001760C C7A2005C */ lwc1 $f2, 0x5c($sp) -/* 018210 70017610 E6000024 */ swc1 $f0, 0x24($s0) -/* 018214 70017614 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 018218 70017618 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 01821C 7001761C E6140008 */ swc1 $f20, 8($s0) -/* 018220 70017620 46087282 */ mul.s $f10, $f14, $f8 -/* 018224 70017624 E6160018 */ swc1 $f22, 0x18($s0) -/* 018228 70017628 E6180028 */ swc1 $f24, 0x28($s0) -/* 01822C 7001762C 46066102 */ mul.s $f4, $f12, $f6 -/* 018230 70017630 46045200 */ add.s $f8, $f10, $f4 -/* 018234 70017634 46001182 */ mul.s $f6, $f2, $f0 -/* 018238 70017638 44800000 */ mtc1 $zero, $f0 -/* 01823C 7001763C 00000000 */ nop -/* 018240 70017640 E600000C */ swc1 $f0, 0xc($s0) -/* 018244 70017644 E600001C */ swc1 $f0, 0x1c($s0) -/* 018248 70017648 E600002C */ swc1 $f0, 0x2c($s0) -/* 01824C 7001764C 46064280 */ add.s $f10, $f8, $f6 -/* 018250 70017650 46147202 */ mul.s $f8, $f14, $f20 -/* 018254 70017654 00000000 */ nop -/* 018258 70017658 46166182 */ mul.s $f6, $f12, $f22 -/* 01825C 7001765C 46005107 */ neg.s $f4, $f10 -/* 018260 70017660 E6040034 */ swc1 $f4, 0x34($s0) -/* 018264 70017664 46181102 */ mul.s $f4, $f2, $f24 -/* 018268 70017668 46064280 */ add.s $f10, $f8, $f6 -/* 01826C 7001766C 46045200 */ add.s $f8, $f10, $f4 -/* 018270 70017670 44815000 */ mtc1 $at, $f10 -/* 018274 70017674 46004187 */ neg.s $f6, $f8 -/* 018278 70017678 E60A003C */ swc1 $f10, 0x3c($s0) -/* 01827C 7001767C E6060038 */ swc1 $f6, 0x38($s0) -/* 018280 70017680 8FBF004C */ lw $ra, 0x4c($sp) -/* 018284 70017684 8FB00048 */ lw $s0, 0x48($sp) -/* 018288 70017688 D7BE0040 */ ldc1 $f30, 0x40($sp) -/* 01828C 7001768C D7BC0038 */ ldc1 $f28, 0x38($sp) -/* 018290 70017690 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 018294 70017694 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 018298 70017698 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 01829C 7001769C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0182A0 700176A0 03E00008 */ jr $ra -/* 0182A4 700176A4 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel guLookAt -/* 0182A8 700176A8 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0182AC 700176AC C7A40080 */ lwc1 $f4, 0x80($sp) -/* 0182B0 700176B0 44856000 */ mtc1 $a1, $f12 -/* 0182B4 700176B4 44867000 */ mtc1 $a2, $f14 -/* 0182B8 700176B8 44878000 */ mtc1 $a3, $f16 -/* 0182BC 700176BC E7A40010 */ swc1 $f4, 0x10($sp) -/* 0182C0 700176C0 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0182C4 700176C4 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 0182C8 700176C8 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 0182CC 700176CC C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0182D0 700176D0 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 0182D4 700176D4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0182D8 700176D8 AFA40070 */ sw $a0, 0x70($sp) -/* 0182DC 700176DC 44056000 */ mfc1 $a1, $f12 -/* 0182E0 700176E0 44067000 */ mfc1 $a2, $f14 -/* 0182E4 700176E4 44078000 */ mfc1 $a3, $f16 -/* 0182E8 700176E8 27A40030 */ addiu $a0, $sp, 0x30 -/* 0182EC 700176EC E7A40024 */ swc1 $f4, 0x24($sp) -/* 0182F0 700176F0 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0182F4 700176F4 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0182F8 700176F8 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0182FC 700176FC 0C005CFC */ jal guLookAtF -/* 018300 70017700 E7B20020 */ swc1 $f18, 0x20($sp) -/* 018304 70017704 27A40030 */ addiu $a0, $sp, 0x30 -/* 018308 70017708 0C003FC4 */ jal guMtxF2L -/* 01830C 7001770C 8FA50070 */ lw $a1, 0x70($sp) -/* 018310 70017710 8FBF002C */ lw $ra, 0x2c($sp) -/* 018314 70017714 27BD0070 */ addiu $sp, $sp, 0x70 -/* 018318 70017718 03E00008 */ jr $ra -/* 01831C 7001771C 00000000 */ nop - -glabel guRotateF -/* 018320 70017720 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 018324 70017724 3C018003 */ lui $at, %hi(F32_80029810) -/* 018328 70017728 C4249810 */ lwc1 $f4, %lo(F32_80029810)($at) -/* 01832C 7001772C AFB00018 */ sw $s0, 0x18($sp) -/* 018330 70017730 00808025 */ move $s0, $a0 -/* 018334 70017734 3C018006 */ lui $at, %hi(flt_CODE_bss_80067DE0) -/* 018338 70017738 AFBF001C */ sw $ra, 0x1c($sp) -/* 01833C 7001773C AFA5003C */ sw $a1, 0x3c($sp) -/* 018340 70017740 AFA60040 */ sw $a2, 0x40($sp) -/* 018344 70017744 AFA70044 */ sw $a3, 0x44($sp) -/* 018348 70017748 27A60048 */ addiu $a2, $sp, 0x48 -/* 01834C 7001774C 27A50044 */ addiu $a1, $sp, 0x44 -/* 018350 70017750 27A40040 */ addiu $a0, $sp, 0x40 -/* 018354 70017754 0C007DD4 */ jal guNormalize -/* 018358 70017758 E4247DE0 */ swc1 $f4, %lo(flt_CODE_bss_80067DE0)($at) -/* 01835C 7001775C 3C018006 */ lui $at, %hi(flt_CODE_bss_80067DE0) -/* 018360 70017760 C7AC003C */ lwc1 $f12, 0x3c($sp) -/* 018364 70017764 C4267DE0 */ lwc1 $f6, %lo(flt_CODE_bss_80067DE0)($at) -/* 018368 70017768 46066302 */ mul.s $f12, $f12, $f6 -/* 01836C 7001776C 0FC15FAB */ jal sinf -/* 018370 70017770 E7AC003C */ swc1 $f12, 0x3c($sp) -/* 018374 70017774 C7AC003C */ lwc1 $f12, 0x3c($sp) -/* 018378 70017778 0FC15FA8 */ jal cosf -/* 01837C 7001777C E7A00034 */ swc1 $f0, 0x34($sp) -/* 018380 70017780 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 018384 70017784 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 018388 70017788 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01838C 7001778C 44814000 */ mtc1 $at, $f8 -/* 018390 70017790 46045182 */ mul.s $f6, $f10, $f4 -/* 018394 70017794 02002025 */ move $a0, $s0 -/* 018398 70017798 46004081 */ sub.s $f2, $f8, $f0 -/* 01839C 7001779C C7A80048 */ lwc1 $f8, 0x48($sp) -/* 0183A0 700177A0 E7A00030 */ swc1 $f0, 0x30($sp) -/* 0183A4 700177A4 46023402 */ mul.s $f16, $f6, $f2 -/* 0183A8 700177A8 00000000 */ nop -/* 0183AC 700177AC 46082182 */ mul.s $f6, $f4, $f8 -/* 0183B0 700177B0 E7B0002C */ swc1 $f16, 0x2c($sp) -/* 0183B4 700177B4 46023482 */ mul.s $f18, $f6, $f2 -/* 0183B8 700177B8 00000000 */ nop -/* 0183BC 700177BC 460A4102 */ mul.s $f4, $f8, $f10 -/* 0183C0 700177C0 E7B20028 */ swc1 $f18, 0x28($sp) -/* 0183C4 700177C4 46022182 */ mul.s $f6, $f4, $f2 -/* 0183C8 700177C8 0C004004 */ jal guMtxIdentF -/* 0183CC 700177CC E7A60024 */ swc1 $f6, 0x24($sp) -/* 0183D0 700177D0 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 0183D4 700177D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0183D8 700177D8 44815000 */ mtc1 $at, $f10 -/* 0183DC 700177DC 46084002 */ mul.s $f0, $f8, $f8 -/* 0183E0 700177E0 C7AC0030 */ lwc1 $f12, 0x30($sp) -/* 0183E4 700177E4 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 0183E8 700177E8 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 0183EC 700177EC C7B20028 */ lwc1 $f18, 0x28($sp) -/* 0183F0 700177F0 46005101 */ sub.s $f4, $f10, $f0 -/* 0183F4 700177F4 460C2182 */ mul.s $f6, $f4, $f12 -/* 0183F8 700177F8 46003200 */ add.s $f8, $f6, $f0 -/* 0183FC 700177FC E6080000 */ swc1 $f8, ($s0) -/* 018400 70017800 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 018404 70017804 460E5102 */ mul.s $f4, $f10, $f14 -/* 018408 70017808 46049181 */ sub.s $f6, $f18, $f4 -/* 01840C 7001780C E6060024 */ swc1 $f6, 0x24($s0) -/* 018410 70017810 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 018414 70017814 460E4282 */ mul.s $f10, $f8, $f14 -/* 018418 70017818 44814000 */ mtc1 $at, $f8 -/* 01841C 7001781C 46125100 */ add.s $f4, $f10, $f18 -/* 018420 70017820 E6040018 */ swc1 $f4, 0x18($s0) -/* 018424 70017824 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 018428 70017828 46063082 */ mul.s $f2, $f6, $f6 -/* 01842C 7001782C 46024281 */ sub.s $f10, $f8, $f2 -/* 018430 70017830 460C5102 */ mul.s $f4, $f10, $f12 -/* 018434 70017834 46022180 */ add.s $f6, $f4, $f2 -/* 018438 70017838 E6060014 */ swc1 $f6, 0x14($s0) -/* 01843C 7001783C C7A80044 */ lwc1 $f8, 0x44($sp) -/* 018440 70017840 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 018444 70017844 460E4282 */ mul.s $f10, $f8, $f14 -/* 018448 70017848 46045180 */ add.s $f6, $f10, $f4 -/* 01844C 7001784C E6060020 */ swc1 $f6, 0x20($s0) -/* 018450 70017850 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 018454 70017854 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 018458 70017858 460E5102 */ mul.s $f4, $f10, $f14 -/* 01845C 7001785C 46044181 */ sub.s $f6, $f8, $f4 -/* 018460 70017860 44814000 */ mtc1 $at, $f8 -/* 018464 70017864 E6060008 */ swc1 $f6, 8($s0) -/* 018468 70017868 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 01846C 7001786C 460A5002 */ mul.s $f0, $f10, $f10 -/* 018470 70017870 46004101 */ sub.s $f4, $f8, $f0 -/* 018474 70017874 460C2182 */ mul.s $f6, $f4, $f12 -/* 018478 70017878 46003280 */ add.s $f10, $f6, $f0 -/* 01847C 7001787C E60A0028 */ swc1 $f10, 0x28($s0) -/* 018480 70017880 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 018484 70017884 460E4102 */ mul.s $f4, $f8, $f14 -/* 018488 70017888 46048181 */ sub.s $f6, $f16, $f4 -/* 01848C 7001788C E6060010 */ swc1 $f6, 0x10($s0) -/* 018490 70017890 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 018494 70017894 460E5202 */ mul.s $f8, $f10, $f14 -/* 018498 70017898 46104100 */ add.s $f4, $f8, $f16 -/* 01849C 7001789C E6040004 */ swc1 $f4, 4($s0) -/* 0184A0 700178A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0184A4 700178A4 8FB00018 */ lw $s0, 0x18($sp) -/* 0184A8 700178A8 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0184AC 700178AC 03E00008 */ jr $ra -/* 0184B0 700178B0 00000000 */ nop - -glabel guRotate -/* 0184B4 700178B4 44856000 */ mtc1 $a1, $f12 -/* 0184B8 700178B8 44867000 */ mtc1 $a2, $f14 -/* 0184BC 700178BC 44878000 */ mtc1 $a3, $f16 -/* 0184C0 700178C0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0184C4 700178C4 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0184C8 700178C8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0184CC 700178CC AFA40060 */ sw $a0, 0x60($sp) -/* 0184D0 700178D0 44056000 */ mfc1 $a1, $f12 -/* 0184D4 700178D4 44067000 */ mfc1 $a2, $f14 -/* 0184D8 700178D8 44078000 */ mfc1 $a3, $f16 -/* 0184DC 700178DC 27A40020 */ addiu $a0, $sp, 0x20 -/* 0184E0 700178E0 0C005DC8 */ jal guRotateF -/* 0184E4 700178E4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0184E8 700178E8 27A40020 */ addiu $a0, $sp, 0x20 -/* 0184EC 700178EC 0C003FC4 */ jal guMtxF2L -/* 0184F0 700178F0 8FA50060 */ lw $a1, 0x60($sp) -/* 0184F4 700178F4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0184F8 700178F8 27BD0060 */ addiu $sp, $sp, 0x60 -/* 0184FC 700178FC 03E00008 */ jr $ra -/* 018500 70017900 00000000 */ nop -.align 4 - -.section .rodata -glabel F32_80029810 -.float 0.017453292 -.align 4 - -.section .bss -glabel flt_CODE_bss_80067DE0 -.word 0 -.word 0,0,0 - -.section .text -glabel __d_to_ll -/* 018510 70017910 46206109 */ trunc.l.d $f4, $f12 -/* 018514 70017914 44222000 */ dmfc1 $v0, $f4 -/* 018518 70017918 00000000 */ nop -/* 01851C 7001791C 0002183C */ dsll32 $v1, $v0, 0 -/* 018520 70017920 0003183F */ dsra32 $v1, $v1, 0 -/* 018524 70017924 03E00008 */ jr $ra -/* 018528 70017928 0002103F */ dsra32 $v0, $v0, 0 - -glabel __f_to_ll -/* 01852C 7001792C 46006109 */ trunc.l.s $f4, $f12 -/* 018530 70017930 44222000 */ dmfc1 $v0, $f4 -/* 018534 70017934 00000000 */ nop -/* 018538 70017938 0002183C */ dsll32 $v1, $v0, 0 -/* 01853C 7001793C 0003183F */ dsra32 $v1, $v1, 0 -/* 018540 70017940 03E00008 */ jr $ra -/* 018544 70017944 0002103F */ dsra32 $v0, $v0, 0 - -glabel __d_to_ull -/* 018548 70017948 444EF800 */ cfc1 $t6, $31 -/* 01854C 7001794C 24020001 */ li $v0, 1 -/* 018550 70017950 44C2F800 */ ctc1 $v0, $31 -/* 018554 70017954 00000000 */ nop -/* 018558 70017958 46206125 */ cvt.l.d $f4, $f12 -/* 01855C 7001795C 4442F800 */ cfc1 $v0, $31 -/* 018560 70017960 00000000 */ nop -/* 018564 70017964 30410004 */ andi $at, $v0, 4 -/* 018568 70017968 30420078 */ andi $v0, $v0, 0x78 -/* 01856C 7001796C 10400015 */ beqz $v0, .L700179C4 -/* 018570 70017970 3C0143E0 */ li $at, 0x43E00000 # 448.000000 -/* 018574 70017974 44812800 */ mtc1 $at, $f5 -/* 018578 70017978 44802000 */ mtc1 $zero, $f4 -/* 01857C 7001797C 24020001 */ li $v0, 1 -/* 018580 70017980 46246101 */ sub.d $f4, $f12, $f4 -/* 018584 70017984 44C2F800 */ ctc1 $v0, $31 -/* 018588 70017988 00000000 */ nop -/* 01858C 7001798C 46202125 */ cvt.l.d $f4, $f4 -/* 018590 70017990 4442F800 */ cfc1 $v0, $31 -/* 018594 70017994 00000000 */ nop -/* 018598 70017998 30410004 */ andi $at, $v0, 4 -/* 01859C 7001799C 30420078 */ andi $v0, $v0, 0x78 -/* 0185A0 700179A0 14400006 */ bnez $v0, .L700179BC -/* 0185A4 700179A4 00000000 */ nop -/* 0185A8 700179A8 3C0F8003 */ lui $t7, %hi(D_80029820) -/* 0185AC 700179AC DDEF9820 */ ld $t7, %lo(D_80029820)($t7) -/* 0185B0 700179B0 44222000 */ dmfc1 $v0, $f4 -/* 0185B4 700179B4 10000007 */ b .L700179D4 -/* 0185B8 700179B8 004F1025 */ or $v0, $v0, $t7 -.L700179BC: -/* 0185BC 700179BC 10000005 */ b .L700179D4 -/* 0185C0 700179C0 2402FFFF */ li $v0, -1 -.L700179C4: -/* 0185C4 700179C4 44222000 */ dmfc1 $v0, $f4 -/* 0185C8 700179C8 00000000 */ nop -/* 0185CC 700179CC 0440FFFB */ bltz $v0, .L700179BC -/* 0185D0 700179D0 00000000 */ nop -.L700179D4: -/* 0185D4 700179D4 44CEF800 */ ctc1 $t6, $31 -/* 0185D8 700179D8 0002183C */ dsll32 $v1, $v0, 0 -/* 0185DC 700179DC 0003183F */ dsra32 $v1, $v1, 0 -/* 0185E0 700179E0 03E00008 */ jr $ra -/* 0185E4 700179E4 0002103F */ dsra32 $v0, $v0, 0 - -glabel __f_to_ull -/* 0185E8 700179E8 444EF800 */ cfc1 $t6, $31 -/* 0185EC 700179EC 24020001 */ li $v0, 1 -/* 0185F0 700179F0 44C2F800 */ ctc1 $v0, $31 -/* 0185F4 700179F4 00000000 */ nop -/* 0185F8 700179F8 46006125 */ cvt.l.s $f4, $f12 -/* 0185FC 700179FC 4442F800 */ cfc1 $v0, $31 -/* 018600 70017A00 00000000 */ nop -/* 018604 70017A04 30410004 */ andi $at, $v0, 4 -/* 018608 70017A08 30420078 */ andi $v0, $v0, 0x78 -/* 01860C 70017A0C 10400014 */ beqz $v0, .L70017A60 -/* 018610 70017A10 3C015F00 */ li $at, 0x5F000000 # 9223372036854775808.000000 -/* 018614 70017A14 44812000 */ mtc1 $at, $f4 -/* 018618 70017A18 24020001 */ li $v0, 1 -/* 01861C 70017A1C 46046101 */ sub.s $f4, $f12, $f4 -/* 018620 70017A20 44C2F800 */ ctc1 $v0, $31 -/* 018624 70017A24 00000000 */ nop -/* 018628 70017A28 46002125 */ cvt.l.s $f4, $f4 -/* 01862C 70017A2C 4442F800 */ cfc1 $v0, $31 -/* 018630 70017A30 00000000 */ nop -/* 018634 70017A34 30410004 */ andi $at, $v0, 4 -/* 018638 70017A38 30420078 */ andi $v0, $v0, 0x78 -/* 01863C 70017A3C 14400006 */ bnez $v0, .L70017A58 -/* 018640 70017A40 00000000 */ nop -/* 018644 70017A44 3C0F8003 */ lui $t7, %hi(D_80029828) -/* 018648 70017A48 DDEF9828 */ ld $t7, %lo(D_80029828)($t7) -/* 01864C 70017A4C 44222000 */ dmfc1 $v0, $f4 -/* 018650 70017A50 10000007 */ b .L70017A70 -/* 018654 70017A54 004F1025 */ or $v0, $v0, $t7 -.L70017A58: -/* 018658 70017A58 10000005 */ b .L70017A70 -/* 01865C 70017A5C 2402FFFF */ li $v0, -1 -.L70017A60: -/* 018660 70017A60 44222000 */ dmfc1 $v0, $f4 -/* 018664 70017A64 00000000 */ nop -/* 018668 70017A68 0440FFFB */ bltz $v0, .L70017A58 -/* 01866C 70017A6C 00000000 */ nop -.L70017A70: -/* 018670 70017A70 44CEF800 */ ctc1 $t6, $31 -/* 018674 70017A74 0002183C */ dsll32 $v1, $v0, 0 -/* 018678 70017A78 0003183F */ dsra32 $v1, $v1, 0 -/* 01867C 70017A7C 03E00008 */ jr $ra -/* 018680 70017A80 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_to_d -/* 018684 70017A84 AFA40000 */ sw $a0, ($sp) -/* 018688 70017A88 AFA50004 */ sw $a1, 4($sp) -/* 01868C 70017A8C DFAE0000 */ ld $t6, ($sp) -/* 018690 70017A90 44AE2000 */ dmtc1 $t6, $f4 -/* 018694 70017A94 03E00008 */ jr $ra -/* 018698 70017A98 46A02021 */ cvt.d.l $f0, $f4 - -glabel __ll_to_f -/* 01869C 70017A9C AFA40000 */ sw $a0, ($sp) -/* 0186A0 70017AA0 AFA50004 */ sw $a1, 4($sp) -/* 0186A4 70017AA4 DFAE0000 */ ld $t6, ($sp) -/* 0186A8 70017AA8 44AE2000 */ dmtc1 $t6, $f4 -/* 0186AC 70017AAC 03E00008 */ jr $ra -/* 0186B0 70017AB0 46A02020 */ cvt.s.l $f0, $f4 - -glabel __ull_to_d -/* 0186B4 70017AB4 AFA40000 */ sw $a0, ($sp) -/* 0186B8 70017AB8 AFA50004 */ sw $a1, 4($sp) -/* 0186BC 70017ABC DFAE0000 */ ld $t6, ($sp) -/* 0186C0 70017AC0 44AE2000 */ dmtc1 $t6, $f4 -/* 0186C4 70017AC4 05C10006 */ bgez $t6, .L70017AE0 -/* 0186C8 70017AC8 46A02021 */ cvt.d.l $f0, $f4 -/* 0186CC 70017ACC 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0186D0 70017AD0 44813800 */ mtc1 $at, $f7 -/* 0186D4 70017AD4 44803000 */ mtc1 $zero, $f6 -/* 0186D8 70017AD8 00000000 */ nop -/* 0186DC 70017ADC 46260000 */ add.d $f0, $f0, $f6 -.L70017AE0: -/* 0186E0 70017AE0 03E00008 */ jr $ra -/* 0186E4 70017AE4 00000000 */ nop - -glabel __ull_to_f -/* 0186E8 70017AE8 AFA40000 */ sw $a0, ($sp) -/* 0186EC 70017AEC AFA50004 */ sw $a1, 4($sp) -/* 0186F0 70017AF0 DFAE0000 */ ld $t6, ($sp) -/* 0186F4 70017AF4 44AE2000 */ dmtc1 $t6, $f4 -/* 0186F8 70017AF8 05C10005 */ bgez $t6, .L70017B10 -/* 0186FC 70017AFC 46A02020 */ cvt.s.l $f0, $f4 -/* 018700 70017B00 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 018704 70017B04 44813000 */ mtc1 $at, $f6 -/* 018708 70017B08 00000000 */ nop -/* 01870C 70017B0C 46060000 */ add.s $f0, $f0, $f6 -.L70017B10: -/* 018710 70017B10 03E00008 */ jr $ra -/* 018714 70017B14 00000000 */ nop -.align 4 -.section .rodata -glabel D_80029820 -.word 0x80000000, 0 -glabel D_80029828 -.word 0x80000000, 0 - -.section .text -glabel __osSetSR -/* 018720 70017B20 40846000 */ mtc0 $a0, $12 -/* 018724 70017B24 00000000 */ nop -/* 018728 70017B28 03E00008 */ jr $ra -/* 01872C 70017B2C 00000000 */ nop - -glabel __osGetSR -/* 018730 70017B30 40026000 */ mfc0 $v0, $12 -/* 018734 70017B34 03E00008 */ jr $ra -/* 018738 70017B38 00000000 */ nop - -/* 01873C 70017B3C 00000000 */ nop -glabel __osSiRawReadIo -/* 018740 70017B40 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 018744 70017B44 AFBF0014 */ sw $ra, 0x14($sp) -/* 018748 70017B48 AFA40018 */ sw $a0, 0x18($sp) -/* 01874C 70017B4C 0C007DC8 */ jal __osSiDeviceBusy -/* 018750 70017B50 AFA5001C */ sw $a1, 0x1c($sp) -/* 018754 70017B54 10400003 */ beqz $v0, .L70017B64 -/* 018758 70017B58 00000000 */ nop -/* 01875C 70017B5C 10000008 */ b .L70017B80 -/* 018760 70017B60 2402FFFF */ li $v0, -1 -.L70017B64: -/* 018764 70017B64 8FAE0018 */ lw $t6, 0x18($sp) -/* 018768 70017B68 3C01A000 */ lui $at, 0xa000 -/* 01876C 70017B6C 8FB9001C */ lw $t9, 0x1c($sp) -/* 018770 70017B70 01C17825 */ or $t7, $t6, $at -/* 018774 70017B74 8DF80000 */ lw $t8, ($t7) -/* 018778 70017B78 00001025 */ move $v0, $zero -/* 01877C 70017B7C AF380000 */ sw $t8, ($t9) -.L70017B80: -/* 018780 70017B80 8FBF0014 */ lw $ra, 0x14($sp) -/* 018784 70017B84 27BD0018 */ addiu $sp, $sp, 0x18 -/* 018788 70017B88 03E00008 */ jr $ra -/* 01878C 70017B8C 00000000 */ nop - -glabel __osSiRawWriteIo -/* 018790 70017B90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 018794 70017B94 AFBF0014 */ sw $ra, 0x14($sp) -/* 018798 70017B98 AFA40018 */ sw $a0, 0x18($sp) -/* 01879C 70017B9C 0C007DC8 */ jal __osSiDeviceBusy -/* 0187A0 70017BA0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0187A4 70017BA4 10400003 */ beqz $v0, .L70017BB4 -/* 0187A8 70017BA8 00000000 */ nop -/* 0187AC 70017BAC 10000007 */ b .L70017BCC -/* 0187B0 70017BB0 2402FFFF */ li $v0, -1 -.L70017BB4: -/* 0187B4 70017BB4 8FAF0018 */ lw $t7, 0x18($sp) -/* 0187B8 70017BB8 8FAE001C */ lw $t6, 0x1c($sp) -/* 0187BC 70017BBC 3C01A000 */ lui $at, 0xa000 -/* 0187C0 70017BC0 01E1C025 */ or $t8, $t7, $at -/* 0187C4 70017BC4 00001025 */ move $v0, $zero -/* 0187C8 70017BC8 AF0E0000 */ sw $t6, ($t8) -.L70017BCC: -/* 0187CC 70017BCC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0187D0 70017BD0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0187D4 70017BD4 03E00008 */ jr $ra -/* 0187D8 70017BD8 00000000 */ nop - -/* 0187DC 70017BDC 00000000 */ nop -glabel osPiRawReadIo -/* 0187E0 70017BE0 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 -/* 0187E4 70017BE4 8DC60010 */ lw $a2, %lo(PI_STATUS_REG)($t6) -/* 0187E8 70017BE8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0187EC 70017BEC 30CF0003 */ andi $t7, $a2, 3 -/* 0187F0 70017BF0 11E00006 */ beqz $t7, .L70017C0C -/* 0187F4 70017BF4 00000000 */ nop -.L70017BF8: -/* 0187F8 70017BF8 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 0187FC 70017BFC 8F060010 */ lw $a2, %lo(PI_STATUS_REG)($t8) -/* 018800 70017C00 30D90003 */ andi $t9, $a2, 3 -/* 018804 70017C04 1720FFFC */ bnez $t9, .L70017BF8 -/* 018808 70017C08 00000000 */ nop -.L70017C0C: -/* 01880C 70017C0C 3C088000 */ lui $t0, %hi(osRomBase) -/* 018810 70017C10 8D080308 */ lw $t0, %lo(osRomBase)($t0) -/* 018814 70017C14 3C01A000 */ lui $at, 0xa000 -/* 018818 70017C18 00001025 */ move $v0, $zero -/* 01881C 70017C1C 01044825 */ or $t1, $t0, $a0 -/* 018820 70017C20 01215025 */ or $t2, $t1, $at -/* 018824 70017C24 8D4B0000 */ lw $t3, ($t2) -/* 018828 70017C28 27BD0008 */ addiu $sp, $sp, 8 -/* 01882C 70017C2C 03E00008 */ jr $ra -/* 018830 70017C30 ACAB0000 */ sw $t3, ($a1) - -/* 018834 70017C34 00000000 */ nop -/* 018838 70017C38 00000000 */ nop -/* 01883C 70017C3C 00000000 */ nop -glabel _blkclr -/* 018840 70017C40 28A1000C */ slti $at, $a1, 0xc -/* 018844 70017C44 1420001D */ bnez $at, .L70017CBC -/* 018848 70017C48 00041823 */ negu $v1, $a0 -/* 01884C 70017C4C 30630003 */ andi $v1, $v1, 3 -/* 018850 70017C50 10600003 */ beqz $v1, .L70017C60 -/* 018854 70017C54 00A32823 */ subu $a1, $a1, $v1 -/* 018858 70017C58 A8800000 */ swl $zero, ($a0) -/* 01885C 70017C5C 00832021 */ addu $a0, $a0, $v1 -.L70017C60: -/* 018860 70017C60 2401FFE0 */ li $at, -32 -/* 018864 70017C64 00A13824 */ and $a3, $a1, $at -/* 018868 70017C68 10E0000C */ beqz $a3, .L70017C9C -/* 01886C 70017C6C 00A72823 */ subu $a1, $a1, $a3 -/* 018870 70017C70 00E43821 */ addu $a3, $a3, $a0 -.L70017C74: -/* 018874 70017C74 24840020 */ addiu $a0, $a0, 0x20 -/* 018878 70017C78 AC80FFE0 */ sw $zero, -0x20($a0) -/* 01887C 70017C7C AC80FFE4 */ sw $zero, -0x1c($a0) -/* 018880 70017C80 AC80FFE8 */ sw $zero, -0x18($a0) -/* 018884 70017C84 AC80FFEC */ sw $zero, -0x14($a0) -/* 018888 70017C88 AC80FFF0 */ sw $zero, -0x10($a0) -/* 01888C 70017C8C AC80FFF4 */ sw $zero, -0xc($a0) -/* 018890 70017C90 AC80FFF8 */ sw $zero, -8($a0) -/* 018894 70017C94 1487FFF7 */ bne $a0, $a3, .L70017C74 -/* 018898 70017C98 AC80FFFC */ sw $zero, -4($a0) -.L70017C9C: -/* 01889C 70017C9C 2401FFFC */ li $at, -4 -/* 0188A0 70017CA0 00A13824 */ and $a3, $a1, $at -/* 0188A4 70017CA4 10E00005 */ beqz $a3, .L70017CBC -/* 0188A8 70017CA8 00A72823 */ subu $a1, $a1, $a3 -/* 0188AC 70017CAC 00E43821 */ addu $a3, $a3, $a0 -.L70017CB0: -/* 0188B0 70017CB0 24840004 */ addiu $a0, $a0, 4 -/* 0188B4 70017CB4 1487FFFE */ bne $a0, $a3, .L70017CB0 -/* 0188B8 70017CB8 AC80FFFC */ sw $zero, -4($a0) -.L70017CBC: -/* 0188BC 70017CBC 18A00005 */ blez $a1, .L70017CD4 -/* 0188C0 70017CC0 00000000 */ nop -/* 0188C4 70017CC4 00A42821 */ addu $a1, $a1, $a0 -.L70017CC8: -/* 0188C8 70017CC8 24840001 */ addiu $a0, $a0, 1 -/* 0188CC 70017CCC 1485FFFE */ bne $a0, $a1, .L70017CC8 -/* 0188D0 70017CD0 A080FFFF */ sb $zero, -1($a0) -.L70017CD4: -/* 0188D4 70017CD4 03E00008 */ jr $ra -/* 0188D8 70017CD8 00000000 */ nop - -/* 0188DC 70017CDC 00000000 */ nop -glabel __osSetHWIntrRoutine -/* 0188E0 70017CE0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0188E4 70017CE4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0188E8 70017CE8 AFA40028 */ sw $a0, 0x28($sp) -/* 0188EC 70017CEC AFA5002C */ sw $a1, 0x2c($sp) -/* 0188F0 70017CF0 0C00617C */ jal __osDisableInt -/* 0188F4 70017CF4 AFB00018 */ sw $s0, 0x18($sp) -/* 0188F8 70017CF8 8FAF0028 */ lw $t7, 0x28($sp) -/* 0188FC 70017CFC 8FAE002C */ lw $t6, 0x2c($sp) -/* 018900 70017D00 3C018002 */ lui $at, %hi(__osHwIntTable) -/* 018904 70017D04 000FC080 */ sll $t8, $t7, 2 -/* 018908 70017D08 00408025 */ move $s0, $v0 -/* 01890C 70017D0C 00380821 */ addu $at, $at, $t8 -/* 018910 70017D10 02002025 */ move $a0, $s0 -/* 018914 70017D14 0C006184 */ jal __osRestoreInt -/* 018918 70017D18 AC2E7700 */ sw $t6, %lo(__osHwIntTable)($at) -/* 01891C 70017D1C 8FBF001C */ lw $ra, 0x1c($sp) -/* 018920 70017D20 8FB00018 */ lw $s0, 0x18($sp) -/* 018924 70017D24 27BD0028 */ addiu $sp, $sp, 0x28 -/* 018928 70017D28 03E00008 */ jr $ra -/* 01892C 70017D2C 00000000 */ nop - -.section .bss -glabel leoDiskStack -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 -.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 __osLeoInterrupt -/* 018930 70017D30 3C0E8002 */ lui $t6, %hi(osDiskExist) -/* 018934 70017D34 8DCE6990 */ lw $t6, %lo(osDiskExist)($t6) -/* 018938 70017D38 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01893C 70017D3C AFBF001C */ sw $ra, 0x1c($sp) -/* 018940 70017D40 15C00003 */ bnez $t6, .L70017D50 -/* 018944 70017D44 00000000 */ nop -/* 018948 70017D48 100001AE */ b .L70018404 -/* 01894C 70017D4C 00001025 */ move $v0, $zero -.L70017D50: -/* 018950 70017D50 3C0F8007 */ lui $t7, %hi(__osDiskHandle) -/* 018954 70017D54 8DEF9074 */ lw $t7, %lo(__osDiskHandle)($t7) -/* 018958 70017D58 3C0BA460 */ lui $t3, %hi(PI_STATUS_REG) # $t3, 0xa460 -/* 01895C 70017D5C 25F80014 */ addiu $t8, $t7, 0x14 -/* 018960 70017D60 AFB80030 */ sw $t8, 0x30($sp) -/* 018964 70017D64 95F9001A */ lhu $t9, 0x1a($t7) -/* 018968 70017D68 001940C0 */ sll $t0, $t9, 3 -/* 01896C 70017D6C 01194021 */ addu $t0, $t0, $t9 -/* 018970 70017D70 00084080 */ sll $t0, $t0, 2 -/* 018974 70017D74 03084821 */ addu $t1, $t8, $t0 -/* 018978 70017D78 252A0018 */ addiu $t2, $t1, 0x18 -/* 01897C 70017D7C AFAA002C */ sw $t2, 0x2c($sp) -/* 018980 70017D80 8D6C0010 */ lw $t4, %lo(PI_STATUS_REG)($t3) -/* 018984 70017D84 AFAC0038 */ sw $t4, 0x38($sp) -/* 018988 70017D88 8FAD0038 */ lw $t5, 0x38($sp) -/* 01898C 70017D8C 31AE0001 */ andi $t6, $t5, 1 -/* 018990 70017D90 11C00034 */ beqz $t6, .L70017E64 -/* 018994 70017D94 00000000 */ nop -/* 018998 70017D98 240F0003 */ li $t7, 3 -/* 01899C 70017D9C 3C19A460 */ lui $t9, %hi(PI_STATUS_REG) # $t9, 0xa460 -/* 0189A0 70017DA0 AF2F0010 */ sw $t7, %lo(PI_STATUS_REG)($t9) -/* 0189A4 70017DA4 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 0189A8 70017DA8 8F080010 */ lw $t0, %lo(PI_STATUS_REG)($t8) -/* 0189AC 70017DAC AFA80038 */ sw $t0, 0x38($sp) -/* 0189B0 70017DB0 8FA90038 */ lw $t1, 0x38($sp) -/* 0189B4 70017DB4 312A0002 */ andi $t2, $t1, 2 -/* 0189B8 70017DB8 11400008 */ beqz $t2, .L70017DDC -/* 0189BC 70017DBC 00000000 */ nop -.L70017DC0: -/* 0189C0 70017DC0 3C0BA460 */ lui $t3, %hi(PI_STATUS_REG) # $t3, 0xa460 -/* 0189C4 70017DC4 8D6C0010 */ lw $t4, %lo(PI_STATUS_REG)($t3) -/* 0189C8 70017DC8 AFAC0038 */ sw $t4, 0x38($sp) -/* 0189CC 70017DCC 8FAD0038 */ lw $t5, 0x38($sp) -/* 0189D0 70017DD0 31AE0002 */ andi $t6, $t5, 2 -/* 0189D4 70017DD4 15C0FFFA */ bnez $t6, .L70017DC0 -/* 0189D8 70017DD8 00000000 */ nop -.L70017DDC: -/* 0189DC 70017DDC 3C0FA500 */ lui $t7, %hi(ASIC_STATUS) # $t7, 0xa500 -/* 0189E0 70017DE0 8DF90508 */ lw $t9, %lo(ASIC_STATUS)($t7) -/* 0189E4 70017DE4 3C010200 */ lui $at, 0x200 -/* 0189E8 70017DE8 AFB9003C */ sw $t9, 0x3c($sp) -/* 0189EC 70017DEC 8FB8003C */ lw $t8, 0x3c($sp) -/* 0189F0 70017DF0 03014024 */ and $t0, $t8, $at -/* 0189F4 70017DF4 11000015 */ beqz $t0, .L70017E4C -/* 0189F8 70017DF8 00000000 */ nop -/* 0189FC 70017DFC 3C09A460 */ lui $t1, %hi(PI_STATUS_REG) # $t1, 0xa460 -/* 018A00 70017E00 8D2A0010 */ lw $t2, %lo(PI_STATUS_REG)($t1) -/* 018A04 70017E04 AFAA0038 */ sw $t2, 0x38($sp) -/* 018A08 70017E08 8FAB0038 */ lw $t3, 0x38($sp) -/* 018A0C 70017E0C 316C0002 */ andi $t4, $t3, 2 -/* 018A10 70017E10 11800008 */ beqz $t4, .L70017E34 -/* 018A14 70017E14 00000000 */ nop -.L70017E18: -/* 018A18 70017E18 3C0DA460 */ lui $t5, %hi(PI_STATUS_REG) # $t5, 0xa460 -/* 018A1C 70017E1C 8DAE0010 */ lw $t6, %lo(PI_STATUS_REG)($t5) -/* 018A20 70017E20 AFAE0038 */ sw $t6, 0x38($sp) -/* 018A24 70017E24 8FAF0038 */ lw $t7, 0x38($sp) -/* 018A28 70017E28 31F90002 */ andi $t9, $t7, 2 -/* 018A2C 70017E2C 1720FFFA */ bnez $t9, .L70017E18 -/* 018A30 70017E30 00000000 */ nop -.L70017E34: -/* 018A34 70017E34 8FB80030 */ lw $t8, 0x30($sp) -/* 018A38 70017E38 3C010100 */ lui $at, 0x100 -/* 018A3C 70017E3C 3C0AA500 */ lui $t2, %hi(ASIC_BM_STATUS) # $t2, 0xa500 -/* 018A40 70017E40 8F080010 */ lw $t0, 0x10($t8) -/* 018A44 70017E44 01014825 */ or $t1, $t0, $at -/* 018A48 70017E48 AD490510 */ sw $t1, %lo(ASIC_BM_STATUS)($t2) -.L70017E4C: -/* 018A4C 70017E4C 8FAC002C */ lw $t4, 0x2c($sp) -/* 018A50 70017E50 240B004B */ li $t3, 75 -/* 018A54 70017E54 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018A58 70017E58 AD8B0000 */ sw $t3, ($t4) -/* 018A5C 70017E5C 10000169 */ b .L70018404 -/* 018A60 70017E60 24020001 */ li $v0, 1 -.L70017E64: -/* 018A64 70017E64 3C0DA460 */ lui $t5, %hi(PI_STATUS_REG) # $t5, 0xa460 -/* 018A68 70017E68 8DAE0010 */ lw $t6, %lo(PI_STATUS_REG)($t5) -/* 018A6C 70017E6C AFAE0038 */ sw $t6, 0x38($sp) -/* 018A70 70017E70 8FAF0038 */ lw $t7, 0x38($sp) -/* 018A74 70017E74 31F90002 */ andi $t9, $t7, 2 -/* 018A78 70017E78 13200008 */ beqz $t9, .L70017E9C -/* 018A7C 70017E7C 00000000 */ nop -.L70017E80: -/* 018A80 70017E80 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 018A84 70017E84 8F080010 */ lw $t0, %lo(PI_STATUS_REG)($t8) -/* 018A88 70017E88 AFA80038 */ sw $t0, 0x38($sp) -/* 018A8C 70017E8C 8FA90038 */ lw $t1, 0x38($sp) -/* 018A90 70017E90 312A0002 */ andi $t2, $t1, 2 -/* 018A94 70017E94 1540FFFA */ bnez $t2, .L70017E80 -/* 018A98 70017E98 00000000 */ nop -.L70017E9C: -/* 018A9C 70017E9C 3C0BA500 */ lui $t3, %hi(ASIC_STATUS) # $t3, 0xa500 -/* 018AA0 70017EA0 8D6C0508 */ lw $t4, %lo(ASIC_STATUS)($t3) -/* 018AA4 70017EA4 3C010200 */ lui $at, 0x200 -/* 018AA8 70017EA8 AFAC003C */ sw $t4, 0x3c($sp) -/* 018AAC 70017EAC 8FAD003C */ lw $t5, 0x3c($sp) -/* 018AB0 70017EB0 01A17024 */ and $t6, $t5, $at -/* 018AB4 70017EB4 11C00019 */ beqz $t6, .L70017F1C -/* 018AB8 70017EB8 00000000 */ nop -/* 018ABC 70017EBC 3C0FA460 */ lui $t7, %hi(PI_STATUS_REG) # $t7, 0xa460 -/* 018AC0 70017EC0 8DF90010 */ lw $t9, %lo(PI_STATUS_REG)($t7) -/* 018AC4 70017EC4 AFB90038 */ sw $t9, 0x38($sp) -/* 018AC8 70017EC8 8FB80038 */ lw $t8, 0x38($sp) -/* 018ACC 70017ECC 33080002 */ andi $t0, $t8, 2 -/* 018AD0 70017ED0 11000008 */ beqz $t0, .L70017EF4 -/* 018AD4 70017ED4 00000000 */ nop -.L70017ED8: -/* 018AD8 70017ED8 3C09A460 */ lui $t1, %hi(PI_STATUS_REG) # $t1, 0xa460 -/* 018ADC 70017EDC 8D2A0010 */ lw $t2, %lo(PI_STATUS_REG)($t1) -/* 018AE0 70017EE0 AFAA0038 */ sw $t2, 0x38($sp) -/* 018AE4 70017EE4 8FAB0038 */ lw $t3, 0x38($sp) -/* 018AE8 70017EE8 316C0002 */ andi $t4, $t3, 2 -/* 018AEC 70017EEC 1580FFFA */ bnez $t4, .L70017ED8 -/* 018AF0 70017EF0 00000000 */ nop -.L70017EF4: -/* 018AF4 70017EF4 8FAD0030 */ lw $t5, 0x30($sp) -/* 018AF8 70017EF8 3C010100 */ lui $at, 0x100 -/* 018AFC 70017EFC 3C19A500 */ lui $t9, %hi(ASIC_BM_STATUS) # $t9, 0xa500 -/* 018B00 70017F00 8DAE0010 */ lw $t6, 0x10($t5) -/* 018B04 70017F04 00001025 */ move $v0, $zero -/* 018B08 70017F08 01C17825 */ or $t7, $t6, $at -/* 018B0C 70017F0C AF2F0510 */ sw $t7, %lo(ASIC_BM_STATUS)($t9) -/* 018B10 70017F10 8FB8002C */ lw $t8, 0x2c($sp) -/* 018B14 70017F14 1000013B */ b .L70018404 -/* 018B18 70017F18 AF000000 */ sw $zero, ($t8) -.L70017F1C: -/* 018B1C 70017F1C 8FA8003C */ lw $t0, 0x3c($sp) -/* 018B20 70017F20 3C010800 */ lui $at, 0x800 -/* 018B24 70017F24 01014824 */ and $t1, $t0, $at -/* 018B28 70017F28 11200011 */ beqz $t1, .L70017F70 -/* 018B2C 70017F2C 00000000 */ nop -/* 018B30 70017F30 8FAB002C */ lw $t3, 0x2c($sp) -/* 018B34 70017F34 240A0003 */ li $t2, 3 -/* 018B38 70017F38 0C00613F */ jal __osLeoInterrupt_sub2 -/* 018B3C 70017F3C AD6A0000 */ sw $t2, ($t3) -/* 018B40 70017F40 240C0002 */ li $t4, 2 -/* 018B44 70017F44 3C0DA460 */ lui $t5, %hi(PI_STATUS_REG) # $t5, 0xa460 -/* 018B48 70017F48 ADAC0010 */ sw $t4, %lo(PI_STATUS_REG)($t5) -/* 018B4C 70017F4C 3C0E8002 */ lui $t6, %hi(__OSGlobalIntMask) -/* 018B50 70017F50 8DCE698C */ lw $t6, %lo(__OSGlobalIntMask)($t6) -/* 018B54 70017F54 3C010010 */ lui $at, (0x00100401 >> 16) # lui $at, 0x10 -/* 018B58 70017F58 34210401 */ ori $at, (0x00100401 & 0xFFFF) # ori $at, $at, 0x401 -/* 018B5C 70017F5C 01C17825 */ or $t7, $t6, $at -/* 018B60 70017F60 3C018002 */ lui $at, %hi(__OSGlobalIntMask) -/* 018B64 70017F64 AC2F698C */ sw $t7, %lo(__OSGlobalIntMask)($at) -/* 018B68 70017F68 10000126 */ b .L70018404 -/* 018B6C 70017F6C 24020001 */ li $v0, 1 -.L70017F70: -/* 018B70 70017F70 8FB90030 */ lw $t9, 0x30($sp) -/* 018B74 70017F74 24010001 */ li $at, 1 -/* 018B78 70017F78 8F380000 */ lw $t8, ($t9) -/* 018B7C 70017F7C 1701003B */ bne $t8, $at, .L7001806C -/* 018B80 70017F80 00000000 */ nop -/* 018B84 70017F84 8FA8003C */ lw $t0, 0x3c($sp) -/* 018B88 70017F88 3C014000 */ lui $at, 0x4000 -/* 018B8C 70017F8C 01014824 */ and $t1, $t0, $at -/* 018B90 70017F90 15200021 */ bnez $t1, .L70018018 -/* 018B94 70017F94 00000000 */ nop -/* 018B98 70017F98 972C0004 */ lhu $t4, 4($t9) -/* 018B9C 70017F9C 8F2A0008 */ lw $t2, 8($t9) -/* 018BA0 70017FA0 000C6880 */ sll $t5, $t4, 2 -/* 018BA4 70017FA4 01AC6821 */ addu $t5, $t5, $t4 -/* 018BA8 70017FA8 000D6880 */ sll $t5, $t5, 2 -/* 018BAC 70017FAC 01AC6821 */ addu $t5, $t5, $t4 -/* 018BB0 70017FB0 000D6880 */ sll $t5, $t5, 2 -/* 018BB4 70017FB4 01AC6821 */ addu $t5, $t5, $t4 -/* 018BB8 70017FB8 254B0001 */ addiu $t3, $t2, 1 -/* 018BBC 70017FBC 116D0007 */ beq $t3, $t5, .L70017FDC -/* 018BC0 70017FC0 00000000 */ nop -/* 018BC4 70017FC4 8FAF002C */ lw $t7, 0x2c($sp) -/* 018BC8 70017FC8 240E0006 */ li $t6, 6 -/* 018BCC 70017FCC 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018BD0 70017FD0 ADEE0000 */ sw $t6, ($t7) -/* 018BD4 70017FD4 1000010B */ b .L70018404 -/* 018BD8 70017FD8 24020001 */ li $v0, 1 -.L70017FDC: -/* 018BDC 70017FDC 24180002 */ li $t8, 2 -/* 018BE0 70017FE0 3C08A460 */ lui $t0, %hi(PI_STATUS_REG) # $t0, 0xa460 -/* 018BE4 70017FE4 AD180010 */ sw $t8, %lo(PI_STATUS_REG)($t0) -/* 018BE8 70017FE8 3C098002 */ lui $t1, %hi(__OSGlobalIntMask) -/* 018BEC 70017FEC 8D29698C */ lw $t1, %lo(__OSGlobalIntMask)($t1) -/* 018BF0 70017FF0 3C010010 */ lui $at, (0x00100401 >> 16) # lui $at, 0x10 -/* 018BF4 70017FF4 34210401 */ ori $at, (0x00100401 & 0xFFFF) # ori $at, $at, 0x401 -/* 018BF8 70017FF8 01215025 */ or $t2, $t1, $at -/* 018BFC 70017FFC 8FB9002C */ lw $t9, 0x2c($sp) -/* 018C00 70018000 3C018002 */ lui $at, %hi(__OSGlobalIntMask) -/* 018C04 70018004 AC2A698C */ sw $t2, %lo(__OSGlobalIntMask)($at) -/* 018C08 70018008 0C00613F */ jal __osLeoInterrupt_sub2 -/* 018C0C 7001800C AF200000 */ sw $zero, ($t9) -/* 018C10 70018010 100000FC */ b .L70018404 -/* 018C14 70018014 24020001 */ li $v0, 1 -.L70018018: -/* 018C18 70018018 8FAC002C */ lw $t4, 0x2c($sp) -/* 018C1C 7001801C 3C048007 */ lui $a0, %hi(__osDiskHandle) -/* 018C20 70018020 3C060500 */ lui $a2, (0x05000400 >> 16) # lui $a2, 0x500 -/* 018C24 70018024 8D8B0004 */ lw $t3, 4($t4) -/* 018C28 70018028 8D8D000C */ lw $t5, 0xc($t4) -/* 018C2C 7001802C 34C60400 */ ori $a2, (0x05000400 & 0xFFFF) # ori $a2, $a2, 0x400 -/* 018C30 70018030 24050001 */ li $a1, 1 -/* 018C34 70018034 016D7021 */ addu $t6, $t3, $t5 -/* 018C38 70018038 AD8E0004 */ sw $t6, 4($t4) -/* 018C3C 7001803C 8FAF0030 */ lw $t7, 0x30($sp) -/* 018C40 70018040 8DF80008 */ lw $t8, 8($t7) -/* 018C44 70018044 27080001 */ addiu $t0, $t8, 1 -/* 018C48 70018048 ADE80008 */ sw $t0, 8($t7) -/* 018C4C 7001804C 8FA9002C */ lw $t1, 0x2c($sp) -/* 018C50 70018050 8C849074 */ lw $a0, %lo(__osDiskHandle)($a0) -/* 018C54 70018054 8D2A000C */ lw $t2, 0xc($t1) -/* 018C58 70018058 8D270004 */ lw $a3, 4($t1) -/* 018C5C 7001805C 0C00794C */ jal osEPiRawStartDma -/* 018C60 70018060 AFAA0010 */ sw $t2, 0x10($sp) -/* 018C64 70018064 100000E7 */ b .L70018404 -/* 018C68 70018068 24020001 */ li $v0, 1 -.L7001806C: -/* 018C6C 7001806C 8FB90030 */ lw $t9, 0x30($sp) -/* 018C70 70018070 8F2B0000 */ lw $t3, ($t9) -/* 018C74 70018074 156000DE */ bnez $t3, .L700183F0 -/* 018C78 70018078 00000000 */ nop -/* 018C7C 7001807C 972D0004 */ lhu $t5, 4($t9) -/* 018C80 70018080 24010003 */ li $at, 3 -/* 018C84 70018084 15A10017 */ bne $t5, $at, .L700180E4 -/* 018C88 70018088 00000000 */ nop -/* 018C8C 7001808C 8FAC002C */ lw $t4, 0x2c($sp) -/* 018C90 70018090 8F2E0008 */ lw $t6, 8($t9) -/* 018C94 70018094 8D980010 */ lw $t8, 0x10($t4) -/* 018C98 70018098 27080011 */ addiu $t0, $t8, 0x11 -/* 018C9C 7001809C 010E082A */ slt $at, $t0, $t6 -/* 018CA0 700180A0 10200005 */ beqz $at, .L700180B8 -/* 018CA4 700180A4 00000000 */ nop -/* 018CA8 700180A8 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018CAC 700180AC AD800000 */ sw $zero, ($t4) -/* 018CB0 700180B0 100000D4 */ b .L70018404 -/* 018CB4 700180B4 24020001 */ li $v0, 1 -.L700180B8: -/* 018CB8 700180B8 8FAF003C */ lw $t7, 0x3c($sp) -/* 018CBC 700180BC 3C014000 */ lui $at, 0x4000 -/* 018CC0 700180C0 01E14824 */ and $t1, $t7, $at -/* 018CC4 700180C4 1520000C */ bnez $t1, .L700180F8 -/* 018CC8 700180C8 00000000 */ nop -/* 018CCC 700180CC 8FAB002C */ lw $t3, 0x2c($sp) -/* 018CD0 700180D0 240A0011 */ li $t2, 17 -/* 018CD4 700180D4 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018CD8 700180D8 AD6A0000 */ sw $t2, ($t3) -/* 018CDC 700180DC 100000C9 */ b .L70018404 -/* 018CE0 700180E0 24020001 */ li $v0, 1 -.L700180E4: -/* 018CE4 700180E4 8FAD002C */ lw $t5, 0x2c($sp) -/* 018CE8 700180E8 8DB90004 */ lw $t9, 4($t5) -/* 018CEC 700180EC 8DB8000C */ lw $t8, 0xc($t5) -/* 018CF0 700180F0 03387021 */ addu $t6, $t9, $t8 -/* 018CF4 700180F4 ADAE0004 */ sw $t6, 4($t5) -.L700180F8: -/* 018CF8 700180F8 3C08A500 */ lui $t0, %hi(ASIC_BM_STATUS) # $t0, 0xa500 -/* 018CFC 700180FC 8D0C0510 */ lw $t4, %lo(ASIC_BM_STATUS)($t0) -/* 018D00 70018100 3C010020 */ lui $at, 0x20 -/* 018D04 70018104 AFAC0034 */ sw $t4, 0x34($sp) -/* 018D08 70018108 8FAF0034 */ lw $t7, 0x34($sp) -/* 018D0C 7001810C 01E14824 */ and $t1, $t7, $at -/* 018D10 70018110 11200004 */ beqz $t1, .L70018124 -/* 018D14 70018114 3C010040 */ lui $at, 0x40 -/* 018D18 70018118 01E15024 */ and $t2, $t7, $at -/* 018D1C 7001811C 15400006 */ bnez $t2, .L70018138 -/* 018D20 70018120 00000000 */ nop -.L70018124: -/* 018D24 70018124 8FAB0034 */ lw $t3, 0x34($sp) -/* 018D28 70018128 3C010200 */ lui $at, 0x200 -/* 018D2C 7001812C 0161C824 */ and $t9, $t3, $at -/* 018D30 70018130 13200022 */ beqz $t9, .L700181BC -/* 018D34 70018134 00000000 */ nop -.L70018138: -/* 018D38 70018138 8FB8002C */ lw $t8, 0x2c($sp) -/* 018D3C 7001813C 8F0E0010 */ lw $t6, 0x10($t8) -/* 018D40 70018140 2DC10004 */ sltiu $at, $t6, 4 -/* 018D44 70018144 14200010 */ bnez $at, .L70018188 -/* 018D48 70018148 00000000 */ nop -/* 018D4C 7001814C 8FAD0030 */ lw $t5, 0x30($sp) -/* 018D50 70018150 24010003 */ li $at, 3 -/* 018D54 70018154 95A80004 */ lhu $t0, 4($t5) -/* 018D58 70018158 15010005 */ bne $t0, $at, .L70018170 -/* 018D5C 7001815C 00000000 */ nop -/* 018D60 70018160 8DAC0008 */ lw $t4, 8($t5) -/* 018D64 70018164 29810053 */ slti $at, $t4, 0x53 -/* 018D68 70018168 14200010 */ bnez $at, .L700181AC -/* 018D6C 7001816C 00000000 */ nop -.L70018170: -/* 018D70 70018170 8FAF002C */ lw $t7, 0x2c($sp) -/* 018D74 70018174 24090011 */ li $t1, 17 -/* 018D78 70018178 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018D7C 7001817C ADE90000 */ sw $t1, ($t7) -/* 018D80 70018180 100000A0 */ b .L70018404 -/* 018D84 70018184 24020001 */ li $v0, 1 -.L70018188: -/* 018D88 70018188 8FAA002C */ lw $t2, 0x2c($sp) -/* 018D8C 7001818C 8FB90030 */ lw $t9, 0x30($sp) -/* 018D90 70018190 8D4B0010 */ lw $t3, 0x10($t2) -/* 018D94 70018194 AFAB0028 */ sw $t3, 0x28($sp) -/* 018D98 70018198 8F380008 */ lw $t8, 8($t9) -/* 018D9C 7001819C 000B4080 */ sll $t0, $t3, 2 -/* 018DA0 700181A0 01486821 */ addu $t5, $t2, $t0 -/* 018DA4 700181A4 270E0001 */ addiu $t6, $t8, 1 -/* 018DA8 700181A8 ADAE0014 */ sw $t6, 0x14($t5) -.L700181AC: -/* 018DAC 700181AC 8FAC002C */ lw $t4, 0x2c($sp) -/* 018DB0 700181B0 8D890010 */ lw $t1, 0x10($t4) -/* 018DB4 700181B4 252F0001 */ addiu $t7, $t1, 1 -/* 018DB8 700181B8 AD8F0010 */ sw $t7, 0x10($t4) -.L700181BC: -/* 018DBC 700181BC 8FB9003C */ lw $t9, 0x3c($sp) -/* 018DC0 700181C0 3C011000 */ lui $at, 0x1000 -/* 018DC4 700181C4 0321C024 */ and $t8, $t9, $at -/* 018DC8 700181C8 13000035 */ beqz $t8, .L700182A0 -/* 018DCC 700181CC 00000000 */ nop -/* 018DD0 700181D0 8FAB0030 */ lw $t3, 0x30($sp) -/* 018DD4 700181D4 24010057 */ li $at, 87 -/* 018DD8 700181D8 8D6A0008 */ lw $t2, 8($t3) -/* 018DDC 700181DC 11410005 */ beq $t2, $at, .L700181F4 -/* 018DE0 700181E0 00000000 */ nop -/* 018DE4 700181E4 8FAE002C */ lw $t6, 0x2c($sp) -/* 018DE8 700181E8 24080006 */ li $t0, 6 -/* 018DEC 700181EC 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018DF0 700181F0 ADC80000 */ sw $t0, ($t6) -.L700181F4: -/* 018DF4 700181F4 8FAD0030 */ lw $t5, 0x30($sp) -/* 018DF8 700181F8 24010002 */ li $at, 2 -/* 018DFC 700181FC 95A90004 */ lhu $t1, 4($t5) -/* 018E00 70018200 1521000F */ bne $t1, $at, .L70018240 -/* 018E04 70018204 00000000 */ nop -/* 018E08 70018208 95AF0006 */ lhu $t7, 6($t5) -/* 018E0C 7001820C 15E0000C */ bnez $t7, .L70018240 -/* 018E10 70018210 00000000 */ nop -/* 018E14 70018214 240C0001 */ li $t4, 1 -/* 018E18 70018218 A5AC0006 */ sh $t4, 6($t5) -/* 018E1C 7001821C 8FB80030 */ lw $t8, 0x30($sp) -/* 018E20 70018220 2419FFFF */ li $t9, -1 -/* 018E24 70018224 AF190008 */ sw $t9, 8($t8) -/* 018E28 70018228 8FAB0030 */ lw $t3, 0x30($sp) -/* 018E2C 7001822C 8D6A0040 */ lw $t2, 0x40($t3) -/* 018E30 70018230 8D680048 */ lw $t0, 0x48($t3) -/* 018E34 70018234 01487023 */ subu $t6, $t2, $t0 -/* 018E38 70018238 1000000B */ b .L70018268 -/* 018E3C 7001823C AD6E0040 */ sw $t6, 0x40($t3) -.L70018240: -/* 018E40 70018240 24090002 */ li $t1, 2 -/* 018E44 70018244 3C0FA460 */ lui $t7, %hi(PI_STATUS_REG) # $t7, 0xa460 -/* 018E48 70018248 ADE90010 */ sw $t1, %lo(PI_STATUS_REG)($t7) -/* 018E4C 7001824C 3C0C8002 */ lui $t4, %hi(__OSGlobalIntMask) -/* 018E50 70018250 8D8C698C */ lw $t4, %lo(__OSGlobalIntMask)($t4) -/* 018E54 70018254 3C010010 */ lui $at, (0x00100401 >> 16) # lui $at, 0x10 -/* 018E58 70018258 34210401 */ ori $at, (0x00100401 & 0xFFFF) # ori $at, $at, 0x401 -/* 018E5C 7001825C 01816825 */ or $t5, $t4, $at -/* 018E60 70018260 3C018002 */ lui $at, %hi(__OSGlobalIntMask) -/* 018E64 70018264 AC2D698C */ sw $t5, %lo(__OSGlobalIntMask)($at) -.L70018268: -/* 018E68 70018268 8FB9002C */ lw $t9, 0x2c($sp) -/* 018E6C 7001826C 3C048007 */ lui $a0, %hi(__osDiskHandle) -/* 018E70 70018270 8C849074 */ lw $a0, %lo(__osDiskHandle)($a0) -/* 018E74 70018274 8F38000C */ lw $t8, 0xc($t9) -/* 018E78 70018278 8F270008 */ lw $a3, 8($t9) -/* 018E7C 7001827C 00002825 */ move $a1, $zero -/* 018E80 70018280 00185080 */ sll $t2, $t8, 2 -/* 018E84 70018284 AFAA0010 */ sw $t2, 0x10($sp) -/* 018E88 70018288 0C00794C */ jal osEPiRawStartDma -/* 018E8C 7001828C 3C060500 */ lui $a2, 0x500 -/* 018E90 70018290 8FA8002C */ lw $t0, 0x2c($sp) -/* 018E94 70018294 24020001 */ li $v0, 1 -/* 018E98 70018298 1000005A */ b .L70018404 -/* 018E9C 7001829C AD000000 */ sw $zero, ($t0) -.L700182A0: -/* 018EA0 700182A0 8FAE0030 */ lw $t6, 0x30($sp) -/* 018EA4 700182A4 2401FFFF */ li $at, -1 -/* 018EA8 700182A8 8DCB0008 */ lw $t3, 8($t6) -/* 018EAC 700182AC 15610021 */ bne $t3, $at, .L70018334 -/* 018EB0 700182B0 00000000 */ nop -/* 018EB4 700182B4 95C90004 */ lhu $t1, 4($t6) -/* 018EB8 700182B8 24010002 */ li $at, 2 -/* 018EBC 700182BC 1521001D */ bne $t1, $at, .L70018334 -/* 018EC0 700182C0 00000000 */ nop -/* 018EC4 700182C4 95CF0006 */ lhu $t7, 6($t6) -/* 018EC8 700182C8 24010001 */ li $at, 1 -/* 018ECC 700182CC 15E10019 */ bne $t7, $at, .L70018334 -/* 018ED0 700182D0 00000000 */ nop -/* 018ED4 700182D4 25CC0018 */ addiu $t4, $t6, 0x18 -/* 018ED8 700182D8 AFAC0024 */ sw $t4, 0x24($sp) -/* 018EDC 700182DC 8DCD0028 */ lw $t5, 0x28($t6) -/* 018EE0 700182E0 15A00011 */ bnez $t5, .L70018328 -/* 018EE4 700182E4 00000000 */ nop -/* 018EE8 700182E8 8DD90020 */ lw $t9, 0x20($t6) -/* 018EEC 700182EC 8F380000 */ lw $t8, ($t9) -/* 018EF0 700182F0 8F2A0004 */ lw $t2, 4($t9) -/* 018EF4 700182F4 8F2B0008 */ lw $t3, 8($t9) -/* 018EF8 700182F8 8F2F000C */ lw $t7, 0xc($t9) -/* 018EFC 700182FC 030A4025 */ or $t0, $t8, $t2 -/* 018F00 70018300 010B4825 */ or $t1, $t0, $t3 -/* 018F04 70018304 01E96025 */ or $t4, $t7, $t1 -/* 018F08 70018308 11800007 */ beqz $t4, .L70018328 -/* 018F0C 7001830C 00000000 */ nop -/* 018F10 70018310 8FAE002C */ lw $t6, 0x2c($sp) -/* 018F14 70018314 240D0006 */ li $t5, 6 -/* 018F18 70018318 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018F1C 7001831C ADCD0000 */ sw $t5, ($t6) -/* 018F20 70018320 10000038 */ b .L70018404 -/* 018F24 70018324 24020001 */ li $v0, 1 -.L70018328: -/* 018F28 70018328 8FB8002C */ lw $t8, 0x2c($sp) -/* 018F2C 7001832C 0C00613F */ jal __osLeoInterrupt_sub2 -/* 018F30 70018330 AF000000 */ sw $zero, ($t8) -.L70018334: -/* 018F34 70018334 8FAA0030 */ lw $t2, 0x30($sp) -/* 018F38 70018338 3C014000 */ lui $at, 0x4000 -/* 018F3C 7001833C 8D480008 */ lw $t0, 8($t2) -/* 018F40 70018340 250B0001 */ addiu $t3, $t0, 1 -/* 018F44 70018344 AD4B0008 */ sw $t3, 8($t2) -/* 018F48 70018348 8FB9003C */ lw $t9, 0x3c($sp) -/* 018F4C 7001834C 03217824 */ and $t7, $t9, $at -/* 018F50 70018350 11E0001A */ beqz $t7, .L700183BC -/* 018F54 70018354 00000000 */ nop -/* 018F58 70018358 8FA90030 */ lw $t1, 0x30($sp) -/* 018F5C 7001835C 8D2C0008 */ lw $t4, 8($t1) -/* 018F60 70018360 29810055 */ slti $at, $t4, 0x55 -/* 018F64 70018364 14200007 */ bnez $at, .L70018384 -/* 018F68 70018368 00000000 */ nop -/* 018F6C 7001836C 8FAE002C */ lw $t6, 0x2c($sp) -/* 018F70 70018370 240D0006 */ li $t5, 6 -/* 018F74 70018374 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018F78 70018378 ADCD0000 */ sw $t5, ($t6) -/* 018F7C 7001837C 10000021 */ b .L70018404 -/* 018F80 70018380 24020001 */ li $v0, 1 -.L70018384: -/* 018F84 70018384 8FB8002C */ lw $t8, 0x2c($sp) -/* 018F88 70018388 3C048007 */ lui $a0, %hi(__osDiskHandle) -/* 018F8C 7001838C 3C060500 */ lui $a2, (0x05000400 >> 16) # lui $a2, 0x500 -/* 018F90 70018390 8F08000C */ lw $t0, 0xc($t8) -/* 018F94 70018394 8F070004 */ lw $a3, 4($t8) -/* 018F98 70018398 34C60400 */ ori $a2, (0x05000400 & 0xFFFF) # ori $a2, $a2, 0x400 -/* 018F9C 7001839C 8C849074 */ lw $a0, %lo(__osDiskHandle)($a0) -/* 018FA0 700183A0 00002825 */ move $a1, $zero -/* 018FA4 700183A4 0C00794C */ jal osEPiRawStartDma -/* 018FA8 700183A8 AFA80010 */ sw $t0, 0x10($sp) -/* 018FAC 700183AC 8FAB002C */ lw $t3, 0x2c($sp) -/* 018FB0 700183B0 24020001 */ li $v0, 1 -/* 018FB4 700183B4 10000013 */ b .L70018404 -/* 018FB8 700183B8 AD600000 */ sw $zero, ($t3) -.L700183BC: -/* 018FBC 700183BC 8FAA0030 */ lw $t2, 0x30($sp) -/* 018FC0 700183C0 8D590008 */ lw $t9, 8($t2) -/* 018FC4 700183C4 2B210055 */ slti $at, $t9, 0x55 -/* 018FC8 700183C8 10200007 */ beqz $at, .L700183E8 -/* 018FCC 700183CC 00000000 */ nop -/* 018FD0 700183D0 8FA9002C */ lw $t1, 0x2c($sp) -/* 018FD4 700183D4 240F0006 */ li $t7, 6 -/* 018FD8 700183D8 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018FDC 700183DC AD2F0000 */ sw $t7, ($t1) -/* 018FE0 700183E0 10000008 */ b .L70018404 -/* 018FE4 700183E4 24020001 */ li $v0, 1 -.L700183E8: -/* 018FE8 700183E8 10000006 */ b .L70018404 -/* 018FEC 700183EC 24020001 */ li $v0, 1 -.L700183F0: -/* 018FF0 700183F0 8FAD002C */ lw $t5, 0x2c($sp) -/* 018FF4 700183F4 240C004B */ li $t4, 75 -/* 018FF8 700183F8 0C006105 */ jal __osLeoInterrupt_sub1 -/* 018FFC 700183FC ADAC0000 */ sw $t4, ($t5) -/* 019000 70018400 24020001 */ li $v0, 1 -.L70018404: -/* 019004 70018404 8FBF001C */ lw $ra, 0x1c($sp) -/* 019008 70018408 27BD0040 */ addiu $sp, $sp, 0x40 -/* 01900C 7001840C 03E00008 */ jr $ra -/* 019010 70018410 00000000 */ nop - -glabel __osLeoInterrupt_sub1 -/* 019014 70018414 3C0E8007 */ lui $t6, %hi(__osDiskHandle) -/* 019018 70018418 8DCE9074 */ lw $t6, %lo(__osDiskHandle)($t6) -/* 01901C 7001841C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 019020 70018420 AFBF0014 */ sw $ra, 0x14($sp) -/* 019024 70018424 25CF0014 */ addiu $t7, $t6, 0x14 -/* 019028 70018428 AFAF001C */ sw $t7, 0x1c($sp) -/* 01902C 7001842C 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 019030 70018430 8F190010 */ lw $t9, %lo(PI_STATUS_REG)($t8) -/* 019034 70018434 AFB90018 */ sw $t9, 0x18($sp) -/* 019038 70018438 8FA80018 */ lw $t0, 0x18($sp) -/* 01903C 7001843C 31090002 */ andi $t1, $t0, 2 -/* 019040 70018440 11200008 */ beqz $t1, .L70018464 -/* 019044 70018444 00000000 */ nop -.L70018448: -/* 019048 70018448 3C0AA460 */ lui $t2, %hi(PI_STATUS_REG) # $t2, 0xa460 -/* 01904C 7001844C 8D4B0010 */ lw $t3, %lo(PI_STATUS_REG)($t2) -/* 019050 70018450 AFAB0018 */ sw $t3, 0x18($sp) -/* 019054 70018454 8FAC0018 */ lw $t4, 0x18($sp) -/* 019058 70018458 318D0002 */ andi $t5, $t4, 2 -/* 01905C 7001845C 15A0FFFA */ bnez $t5, .L70018448 -/* 019060 70018460 00000000 */ nop -.L70018464: -/* 019064 70018464 8FAE001C */ lw $t6, 0x1c($sp) -/* 019068 70018468 3C011000 */ lui $at, 0x1000 -/* 01906C 7001846C 3C19A500 */ lui $t9, %hi(ASIC_BM_STATUS) # $t9, 0xa500 -/* 019070 70018470 8DCF0010 */ lw $t7, 0x10($t6) -/* 019074 70018474 3C08A460 */ lui $t0, %hi(PI_STATUS_REG) # $t0, 0xa460 -/* 019078 70018478 01E1C025 */ or $t8, $t7, $at -/* 01907C 7001847C AF380510 */ sw $t8, %lo(ASIC_BM_STATUS)($t9) -/* 019080 70018480 8D090010 */ lw $t1, %lo(PI_STATUS_REG)($t0) -/* 019084 70018484 AFA90018 */ sw $t1, 0x18($sp) -/* 019088 70018488 8FAA0018 */ lw $t2, 0x18($sp) -/* 01908C 7001848C 314B0002 */ andi $t3, $t2, 2 -/* 019090 70018490 11600008 */ beqz $t3, .L700184B4 -/* 019094 70018494 00000000 */ nop -.L70018498: -/* 019098 70018498 3C0CA460 */ lui $t4, %hi(PI_STATUS_REG) # $t4, 0xa460 -/* 01909C 7001849C 8D8D0010 */ lw $t5, %lo(PI_STATUS_REG)($t4) -/* 0190A0 700184A0 AFAD0018 */ sw $t5, 0x18($sp) -/* 0190A4 700184A4 8FAE0018 */ lw $t6, 0x18($sp) -/* 0190A8 700184A8 31CF0002 */ andi $t7, $t6, 2 -/* 0190AC 700184AC 15E0FFFA */ bnez $t7, .L70018498 -/* 0190B0 700184B0 00000000 */ nop -.L700184B4: -/* 0190B4 700184B4 8FB8001C */ lw $t8, 0x1c($sp) -/* 0190B8 700184B8 3C08A500 */ lui $t0, %hi(ASIC_BM_STATUS) # $t0, 0xa500 -/* 0190BC 700184BC 8F190010 */ lw $t9, 0x10($t8) -/* 0190C0 700184C0 0C00613F */ jal __osLeoInterrupt_sub2 -/* 0190C4 700184C4 AD190510 */ sw $t9, %lo(ASIC_BM_STATUS)($t0) -/* 0190C8 700184C8 24090002 */ li $t1, 2 -/* 0190CC 700184CC 3C0AA460 */ lui $t2, %hi(PI_STATUS_REG) # $t2, 0xa460 -/* 0190D0 700184D0 AD490010 */ sw $t1, %lo(PI_STATUS_REG)($t2) -/* 0190D4 700184D4 3C0B8002 */ lui $t3, %hi(__OSGlobalIntMask) -/* 0190D8 700184D8 8D6B698C */ lw $t3, %lo(__OSGlobalIntMask)($t3) -/* 0190DC 700184DC 3C010010 */ lui $at, (0x00100401 >> 16) # lui $at, 0x10 -/* 0190E0 700184E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0190E4 700184E4 34210401 */ ori $at, (0x00100401 & 0xFFFF) # ori $at, $at, 0x401 -/* 0190E8 700184E8 01616025 */ or $t4, $t3, $at -/* 0190EC 700184EC 3C018002 */ lui $at, %hi(__OSGlobalIntMask) -/* 0190F0 700184F0 AC2C698C */ sw $t4, %lo(__OSGlobalIntMask)($at) -/* 0190F4 700184F4 03E00008 */ jr $ra -/* 0190F8 700184F8 27BD0020 */ addiu $sp, $sp, 0x20 - -glabel __osLeoInterrupt_sub2 -/* 0190FC 700184FC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 019100 70018500 3C0E8006 */ lui $t6, %hi(__osEventStateTab) -/* 019104 70018504 25CE6A10 */ addiu $t6, %lo(__osEventStateTab) # addiu $t6, $t6, 0x6a10 -/* 019108 70018508 25CF0040 */ addiu $t7, $t6, 0x40 -/* 01910C 7001850C AFBF001C */ sw $ra, 0x1c($sp) -/* 019110 70018510 AFB00018 */ sw $s0, 0x18($sp) -/* 019114 70018514 AFAF002C */ sw $t7, 0x2c($sp) -/* 019118 70018518 8DD80040 */ lw $t8, 0x40($t6) -/* 01911C 7001851C 1300002D */ beqz $t8, .L700185D4 -/* 019120 70018520 AFB80028 */ sw $t8, 0x28($sp) -/* 019124 70018524 8F190008 */ lw $t9, 8($t8) -/* 019128 70018528 8F080010 */ lw $t0, 0x10($t8) -/* 01912C 7001852C 0328082A */ slt $at, $t9, $t0 -/* 019130 70018530 10200028 */ beqz $at, .L700185D4 -/* 019134 70018534 00000000 */ nop -/* 019138 70018538 8FA90028 */ lw $t1, 0x28($sp) -/* 01913C 7001853C 8FAE002C */ lw $t6, 0x2c($sp) -/* 019140 70018540 8D2A000C */ lw $t2, 0xc($t1) -/* 019144 70018544 8D2B0008 */ lw $t3, 8($t1) -/* 019148 70018548 8D2D0010 */ lw $t5, 0x10($t1) -/* 01914C 7001854C 014B6021 */ addu $t4, $t2, $t3 -/* 019150 70018550 018D001A */ div $zero, $t4, $t5 -/* 019154 70018554 00007810 */ mfhi $t7 -/* 019158 70018558 AFAF0024 */ sw $t7, 0x24($sp) -/* 01915C 7001855C 8D280014 */ lw $t0, 0x14($t1) -/* 019160 70018560 8DD80004 */ lw $t8, 4($t6) -/* 019164 70018564 000FC880 */ sll $t9, $t7, 2 -/* 019168 70018568 01195021 */ addu $t2, $t0, $t9 -/* 01916C 7001856C AD580000 */ sw $t8, ($t2) -/* 019170 70018570 8FAB0028 */ lw $t3, 0x28($sp) -/* 019174 70018574 15A00002 */ bnez $t5, .L70018580 -/* 019178 70018578 00000000 */ nop -/* 01917C 7001857C 0007000D */ break 7 -.L70018580: -/* 019180 70018580 2401FFFF */ li $at, -1 -/* 019184 70018584 15A10004 */ bne $t5, $at, .L70018598 -/* 019188 70018588 3C018000 */ lui $at, 0x8000 -/* 01918C 7001858C 15810002 */ bne $t4, $at, .L70018598 -/* 019190 70018590 00000000 */ nop -/* 019194 70018594 0006000D */ break 6 -.L70018598: -/* 019198 70018598 8D6C0008 */ lw $t4, 8($t3) -/* 01919C 7001859C 258D0001 */ addiu $t5, $t4, 1 -/* 0191A0 700185A0 AD6D0008 */ sw $t5, 8($t3) -/* 0191A4 700185A4 8FAE0028 */ lw $t6, 0x28($sp) -/* 0191A8 700185A8 8DCF0000 */ lw $t7, ($t6) -/* 0191AC 700185AC 8DE90000 */ lw $t1, ($t7) -/* 0191B0 700185B0 11200008 */ beqz $t1, .L700185D4 -/* 0191B4 700185B4 00000000 */ nop -/* 0191B8 700185B8 0C00423D */ jal __osPopThread -/* 0191BC 700185BC 01C02025 */ move $a0, $t6 -/* 0191C0 700185C0 00408025 */ move $s0, $v0 -/* 0191C4 700185C4 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 0191C8 700185C8 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 0191CC 700185CC 0C00422B */ jal __osEnqueueThread -/* 0191D0 700185D0 02002825 */ move $a1, $s0 -.L700185D4: -/* 0191D4 700185D4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0191D8 700185D8 8FB00018 */ lw $s0, 0x18($sp) -/* 0191DC 700185DC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0191E0 700185E0 03E00008 */ jr $ra -/* 0191E4 700185E4 00000000 */ nop - -/* 0191E8 700185E8 00000000 */ nop -/* 0191EC 700185EC 00000000 */ nop -glabel __osDisableInt -/* 0191F0 700185F0 40086000 */ mfc0 $t0, $12 -/* 0191F4 700185F4 2401FFFE */ li $at, -2 -/* 0191F8 700185F8 01014824 */ and $t1, $t0, $at -/* 0191FC 700185FC 40896000 */ mtc0 $t1, $12 -/* 019200 70018600 31020001 */ andi $v0, $t0, 1 -/* 019204 70018604 00000000 */ nop -/* 019208 70018608 03E00008 */ jr $ra -/* 01920C 7001860C 00000000 */ nop - -glabel __osRestoreInt -/* 019210 70018610 40086000 */ mfc0 $t0, $12 -/* 019214 70018614 01044025 */ or $t0, $t0, $a0 -/* 019218 70018618 40886000 */ mtc0 $t0, $12 -/* 01921C 7001861C 00000000 */ nop -/* 019220 70018620 00000000 */ nop -/* 019224 70018624 03E00008 */ jr $ra -/* 019228 70018628 00000000 */ nop - -/* 01922C 7001862C 00000000 */ nop -glabel __osTimerServicesInit -/* 019230 70018630 3C018007 */ lui $at, %hi(__osCurrentTime) -/* 019234 70018634 240E0000 */ li $t6, 0 -/* 019238 70018638 240F0000 */ li $t7, 0 -/* 01923C 7001863C AC2F8E14 */ sw $t7, %lo(__osCurrentTime+4)($at) -/* 019240 70018640 AC2E8E10 */ sw $t6, %lo(__osCurrentTime)($at) -/* 019244 70018644 3C018007 */ lui $at, %hi(__osBaseCounter) -/* 019248 70018648 3C188002 */ lui $t8, %hi(__osTimerList) -/* 01924C 7001864C 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 019250 70018650 AC208E18 */ sw $zero, %lo(__osBaseCounter)($at) -/* 019254 70018654 3C018007 */ lui $at, %hi(__osViIntrCount) -/* 019258 70018658 AC208E1C */ sw $zero, %lo(__osViIntrCount)($at) -/* 01925C 7001865C 3C198002 */ lui $t9, %hi(__osTimerList) -/* 019260 70018660 AF180004 */ sw $t8, 4($t8) -/* 019264 70018664 8F397FD0 */ lw $t9, %lo(__osTimerList)($t9) -/* 019268 70018668 3C098002 */ lui $t1, %hi(__osTimerList) -/* 01926C 7001866C 240A0000 */ li $t2, 0 -/* 019270 70018670 8F280004 */ lw $t0, 4($t9) -/* 019274 70018674 240B0000 */ li $t3, 0 -/* 019278 70018678 3C0C8002 */ lui $t4, %hi(__osTimerList) -/* 01927C 7001867C AF280000 */ sw $t0, ($t9) -/* 019280 70018680 8D297FD0 */ lw $t1, %lo(__osTimerList)($t1) -/* 019284 70018684 3C0D8002 */ lui $t5, %hi(__osTimerList) -/* 019288 70018688 3C188002 */ lui $t8, %hi(__osTimerList) -/* 01928C 7001868C AD2A0010 */ sw $t2, 0x10($t1) -/* 019290 70018690 AD2B0014 */ sw $t3, 0x14($t1) -/* 019294 70018694 8D8C7FD0 */ lw $t4, %lo(__osTimerList)($t4) -/* 019298 70018698 8D8E0010 */ lw $t6, 0x10($t4) -/* 01929C 7001869C 8D8F0014 */ lw $t7, 0x14($t4) -/* 0192A0 700186A0 AD8E0008 */ sw $t6, 8($t4) -/* 0192A4 700186A4 AD8F000C */ sw $t7, 0xc($t4) -/* 0192A8 700186A8 8DAD7FD0 */ lw $t5, %lo(__osTimerList)($t5) -/* 0192AC 700186AC ADA00018 */ sw $zero, 0x18($t5) -/* 0192B0 700186B0 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 0192B4 700186B4 03E00008 */ jr $ra -/* 0192B8 700186B8 AF00001C */ sw $zero, 0x1c($t8) - -glabel __osTimerInterrupt -/* 0192BC 700186BC 3C0E8002 */ lui $t6, %hi(__osTimerList) -/* 0192C0 700186C0 8DCE7FD0 */ lw $t6, %lo(__osTimerList)($t6) -/* 0192C4 700186C4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0192C8 700186C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0192CC 700186CC 8DCF0000 */ lw $t7, ($t6) -/* 0192D0 700186D0 11EE0054 */ beq $t7, $t6, .L70018824 -/* 0192D4 700186D4 00000000 */ nop -.L700186D8: -/* 0192D8 700186D8 3C188002 */ lui $t8, %hi(__osTimerList) -/* 0192DC 700186DC 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 0192E0 700186E0 8F190000 */ lw $t9, ($t8) -/* 0192E4 700186E4 17380006 */ bne $t9, $t8, .L70018700 -/* 0192E8 700186E8 AFB90024 */ sw $t9, 0x24($sp) -/* 0192EC 700186EC 0C007E38 */ jal __osSetCompare -/* 0192F0 700186F0 00002025 */ move $a0, $zero -/* 0192F4 700186F4 3C018007 */ lui $at, %hi(__osTimerCounter) -/* 0192F8 700186F8 1000004A */ b .L70018824 -/* 0192FC 700186FC AC208E20 */ sw $zero, %lo(__osTimerCounter)($at) -.L70018700: -/* 019300 70018700 0C003638 */ jal osGetCount -/* 019304 70018704 00000000 */ nop -/* 019308 70018708 AFA20020 */ sw $v0, 0x20($sp) -/* 01930C 7001870C 3C098007 */ lui $t1, %hi(__osTimerCounter) -/* 019310 70018710 8D298E20 */ lw $t1, %lo(__osTimerCounter)($t1) -/* 019314 70018714 8FA80020 */ lw $t0, 0x20($sp) -/* 019318 70018718 8FAF0024 */ lw $t7, 0x24($sp) -/* 01931C 7001871C 3C018007 */ lui $at, %hi(__osTimerCounter) -/* 019320 70018720 01095023 */ subu $t2, $t0, $t1 -/* 019324 70018724 AFAA001C */ sw $t2, 0x1c($sp) -/* 019328 70018728 AC288E20 */ sw $t0, %lo(__osTimerCounter)($at) -/* 01932C 7001872C 8DEE0010 */ lw $t6, 0x10($t7) -/* 019330 70018730 8FAB001C */ lw $t3, 0x1c($sp) -/* 019334 70018734 240C0000 */ li $t4, 0 -/* 019338 70018738 01E0C825 */ move $t9, $t7 -/* 01933C 7001873C 01CC082B */ sltu $at, $t6, $t4 -/* 019340 70018740 8DEF0014 */ lw $t7, 0x14($t7) -/* 019344 70018744 14200016 */ bnez $at, .L700187A0 -/* 019348 70018748 01606825 */ move $t5, $t3 -/* 01934C 7001874C 018E082B */ sltu $at, $t4, $t6 -/* 019350 70018750 14200003 */ bnez $at, .L70018760 -/* 019354 70018754 01AF082B */ sltu $at, $t5, $t7 -/* 019358 70018758 10200011 */ beqz $at, .L700187A0 -/* 01935C 7001875C 00000000 */ nop -.L70018760: -/* 019360 70018760 27380010 */ addiu $t8, $t9, 0x10 -/* 019364 70018764 AFB80018 */ sw $t8, 0x18($sp) -/* 019368 70018768 8F2B0014 */ lw $t3, 0x14($t9) -/* 01936C 7001876C 8F2A0010 */ lw $t2, 0x10($t9) -/* 019370 70018770 016D082B */ sltu $at, $t3, $t5 -/* 019374 70018774 014C4023 */ subu $t0, $t2, $t4 -/* 019378 70018778 01014023 */ subu $t0, $t0, $at -/* 01937C 7001877C 016D4823 */ subu $t1, $t3, $t5 -/* 019380 70018780 AF290014 */ sw $t1, 0x14($t9) -/* 019384 70018784 AF280010 */ sw $t0, 0x10($t9) -/* 019388 70018788 8FAE0024 */ lw $t6, 0x24($sp) -/* 01938C 7001878C 8DC40010 */ lw $a0, 0x10($t6) -/* 019390 70018790 0C00620D */ jal __osSetTimerIntr -/* 019394 70018794 8DC50014 */ lw $a1, 0x14($t6) -/* 019398 70018798 10000022 */ b .L70018824 -/* 01939C 7001879C 00000000 */ nop -.L700187A0: -/* 0193A0 700187A0 8FAF0024 */ lw $t7, 0x24($sp) -/* 0193A4 700187A4 8DF80000 */ lw $t8, ($t7) -/* 0193A8 700187A8 8DEA0004 */ lw $t2, 4($t7) -/* 0193AC 700187AC AD580000 */ sw $t8, ($t2) -/* 0193B0 700187B0 8FAB0024 */ lw $t3, 0x24($sp) -/* 0193B4 700187B4 8D6C0004 */ lw $t4, 4($t3) -/* 0193B8 700187B8 8D6D0000 */ lw $t5, ($t3) -/* 0193BC 700187BC ADAC0004 */ sw $t4, 4($t5) -/* 0193C0 700187C0 8FA80024 */ lw $t0, 0x24($sp) -/* 0193C4 700187C4 AD000000 */ sw $zero, ($t0) -/* 0193C8 700187C8 8FA90024 */ lw $t1, 0x24($sp) -/* 0193CC 700187CC AD200004 */ sw $zero, 4($t1) -/* 0193D0 700187D0 8FB90024 */ lw $t9, 0x24($sp) -/* 0193D4 700187D4 8F2E0018 */ lw $t6, 0x18($t9) -/* 0193D8 700187D8 11C00005 */ beqz $t6, .L700187F0 -/* 0193DC 700187DC 00000000 */ nop -/* 0193E0 700187E0 01C02025 */ move $a0, $t6 -/* 0193E4 700187E4 8F25001C */ lw $a1, 0x1c($t9) -/* 0193E8 700187E8 0C0037C4 */ jal osSendMesg -/* 0193EC 700187EC 00003025 */ move $a2, $zero -.L700187F0: -/* 0193F0 700187F0 8FAF0024 */ lw $t7, 0x24($sp) -/* 0193F4 700187F4 8DF80008 */ lw $t8, 8($t7) -/* 0193F8 700187F8 8DF9000C */ lw $t9, 0xc($t7) -/* 0193FC 700187FC 17000003 */ bnez $t8, .L7001880C -/* 019400 70018800 00000000 */ nop -/* 019404 70018804 1320FFB4 */ beqz $t9, .L700186D8 -/* 019408 70018808 00000000 */ nop -.L7001880C: -/* 01940C 7001880C ADF80010 */ sw $t8, 0x10($t7) -/* 019410 70018810 ADF90014 */ sw $t9, 0x14($t7) -/* 019414 70018814 0C00622A */ jal __osInsertTimer -/* 019418 70018818 8FA40024 */ lw $a0, 0x24($sp) -/* 01941C 7001881C 1000FFAE */ b .L700186D8 -/* 019420 70018820 00000000 */ nop -.L70018824: -/* 019424 70018824 8FBF0014 */ lw $ra, 0x14($sp) -/* 019428 70018828 27BD0028 */ addiu $sp, $sp, 0x28 -/* 01942C 7001882C 03E00008 */ jr $ra -/* 019430 70018830 00000000 */ nop - -glabel __osSetTimerIntr -/* 019434 70018834 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 019438 70018838 AFBF0014 */ sw $ra, 0x14($sp) -/* 01943C 7001883C AFA40028 */ sw $a0, 0x28($sp) -/* 019440 70018840 0C00617C */ jal __osDisableInt -/* 019444 70018844 AFA5002C */ sw $a1, 0x2c($sp) -/* 019448 70018848 0C003638 */ jal osGetCount -/* 01944C 7001884C AFA2001C */ sw $v0, 0x1c($sp) -/* 019450 70018850 3C018007 */ lui $at, %hi(__osTimerCounter) -/* 019454 70018854 AC228E20 */ sw $v0, %lo(__osTimerCounter)($at) -/* 019458 70018858 3C0E8007 */ lui $t6, %hi(__osTimerCounter) -/* 01945C 7001885C 8DCE8E20 */ lw $t6, %lo(__osTimerCounter)($t6) -/* 019460 70018860 8FA9002C */ lw $t1, 0x2c($sp) -/* 019464 70018864 8FA80028 */ lw $t0, 0x28($sp) -/* 019468 70018868 01C0C825 */ move $t9, $t6 -/* 01946C 7001886C 03295821 */ addu $t3, $t9, $t1 -/* 019470 70018870 24180000 */ li $t8, 0 -/* 019474 70018874 0169082B */ sltu $at, $t3, $t1 -/* 019478 70018878 00385021 */ addu $t2, $at, $t8 -/* 01947C 7001887C 01485021 */ addu $t2, $t2, $t0 -/* 019480 70018880 AFAA0020 */ sw $t2, 0x20($sp) -/* 019484 70018884 AFAB0024 */ sw $t3, 0x24($sp) -/* 019488 70018888 0C007E38 */ jal __osSetCompare -/* 01948C 7001888C 01602025 */ move $a0, $t3 -/* 019490 70018890 0C006184 */ jal __osRestoreInt -/* 019494 70018894 8FA4001C */ lw $a0, 0x1c($sp) -/* 019498 70018898 8FBF0014 */ lw $ra, 0x14($sp) -/* 01949C 7001889C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0194A0 700188A0 03E00008 */ jr $ra -/* 0194A4 700188A4 00000000 */ nop - -glabel __osInsertTimer -/* 0194A8 700188A8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0194AC 700188AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0194B0 700188B0 0C00617C */ jal __osDisableInt -/* 0194B4 700188B4 AFA40038 */ sw $a0, 0x38($sp) -/* 0194B8 700188B8 3C0E8002 */ lui $t6, %hi(__osTimerList) -/* 0194BC 700188BC 8DCE7FD0 */ lw $t6, %lo(__osTimerList)($t6) -/* 0194C0 700188C0 AFA20024 */ sw $v0, 0x24($sp) -/* 0194C4 700188C4 8FB80038 */ lw $t8, 0x38($sp) -/* 0194C8 700188C8 8DCF0000 */ lw $t7, ($t6) -/* 0194CC 700188CC AFAF0034 */ sw $t7, 0x34($sp) -/* 0194D0 700188D0 8F090014 */ lw $t1, 0x14($t8) -/* 0194D4 700188D4 8F080010 */ lw $t0, 0x10($t8) -/* 0194D8 700188D8 AFA9002C */ sw $t1, 0x2c($sp) -/* 0194DC 700188DC 11EE0029 */ beq $t7, $t6, .L70018984 -/* 0194E0 700188E0 AFA80028 */ sw $t0, 0x28($sp) -/* 0194E4 700188E4 8DEA0010 */ lw $t2, 0x10($t7) -/* 0194E8 700188E8 8DEB0014 */ lw $t3, 0x14($t7) -/* 0194EC 700188EC 010A082B */ sltu $at, $t0, $t2 -/* 0194F0 700188F0 14200024 */ bnez $at, .L70018984 -/* 0194F4 700188F4 0148082B */ sltu $at, $t2, $t0 -/* 0194F8 700188F8 14200003 */ bnez $at, .L70018908 -/* 0194FC 700188FC 0169082B */ sltu $at, $t3, $t1 -/* 019500 70018900 10200020 */ beqz $at, .L70018984 -/* 019504 70018904 00000000 */ nop -.L70018908: -/* 019508 70018908 27B90028 */ addiu $t9, $sp, 0x28 -/* 01950C 7001890C 8FB80034 */ lw $t8, 0x34($sp) -/* 019510 70018910 AFB90020 */ sw $t9, 0x20($sp) -/* 019514 70018914 8F2D0004 */ lw $t5, 4($t9) -/* 019518 70018918 8F2C0000 */ lw $t4, ($t9) -/* 01951C 7001891C 8F0F0014 */ lw $t7, 0x14($t8) -/* 019520 70018920 8F0E0010 */ lw $t6, 0x10($t8) -/* 019524 70018924 3C188002 */ lui $t8, %hi(__osTimerList) -/* 019528 70018928 01AF082B */ sltu $at, $t5, $t7 -/* 01952C 7001892C 018E4023 */ subu $t0, $t4, $t6 -/* 019530 70018930 01014023 */ subu $t0, $t0, $at -/* 019534 70018934 01AF4823 */ subu $t1, $t5, $t7 -/* 019538 70018938 AF290004 */ sw $t1, 4($t9) -/* 01953C 7001893C AF280000 */ sw $t0, ($t9) -/* 019540 70018940 8FAA0034 */ lw $t2, 0x34($sp) -/* 019544 70018944 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 019548 70018948 8D4B0000 */ lw $t3, ($t2) -/* 01954C 7001894C 1178000D */ beq $t3, $t8, .L70018984 -/* 019550 70018950 AFAB0034 */ sw $t3, 0x34($sp) -/* 019554 70018954 8FAC0028 */ lw $t4, 0x28($sp) -/* 019558 70018958 8D6E0010 */ lw $t6, 0x10($t3) -/* 01955C 7001895C 8FAD002C */ lw $t5, 0x2c($sp) -/* 019560 70018960 8D6F0014 */ lw $t7, 0x14($t3) -/* 019564 70018964 01CC082B */ sltu $at, $t6, $t4 -/* 019568 70018968 1420FFE7 */ bnez $at, .L70018908 -/* 01956C 7001896C 00000000 */ nop -/* 019570 70018970 018E082B */ sltu $at, $t4, $t6 -/* 019574 70018974 14200003 */ bnez $at, .L70018984 -/* 019578 70018978 01ED082B */ sltu $at, $t7, $t5 -/* 01957C 7001897C 1420FFE2 */ bnez $at, .L70018908 -/* 019580 70018980 00000000 */ nop -.L70018984: -/* 019584 70018984 8FB90038 */ lw $t9, 0x38($sp) -/* 019588 70018988 8FA80028 */ lw $t0, 0x28($sp) -/* 01958C 7001898C 8FA9002C */ lw $t1, 0x2c($sp) -/* 019590 70018990 3C188002 */ lui $t8, %hi(__osTimerList) -/* 019594 70018994 AF280010 */ sw $t0, 0x10($t9) -/* 019598 70018998 AF290014 */ sw $t1, 0x14($t9) -/* 01959C 7001899C 8F187FD0 */ lw $t8, %lo(__osTimerList)($t8) -/* 0195A0 700189A0 8FAA0034 */ lw $t2, 0x34($sp) -/* 0195A4 700189A4 1158000D */ beq $t2, $t8, .L700189DC -/* 0195A8 700189A8 00000000 */ nop -/* 0195AC 700189AC 254B0010 */ addiu $t3, $t2, 0x10 -/* 0195B0 700189B0 AFAB001C */ sw $t3, 0x1c($sp) -/* 0195B4 700189B4 8D4D0014 */ lw $t5, 0x14($t2) -/* 0195B8 700189B8 8D4C0010 */ lw $t4, 0x10($t2) -/* 0195BC 700189BC 8FAE0028 */ lw $t6, 0x28($sp) -/* 0195C0 700189C0 8FAF002C */ lw $t7, 0x2c($sp) -/* 0195C4 700189C4 018E4023 */ subu $t0, $t4, $t6 -/* 0195C8 700189C8 01AF082B */ sltu $at, $t5, $t7 -/* 0195CC 700189CC 01014023 */ subu $t0, $t0, $at -/* 0195D0 700189D0 01AF4823 */ subu $t1, $t5, $t7 -/* 0195D4 700189D4 AD490014 */ sw $t1, 0x14($t2) -/* 0195D8 700189D8 AD480010 */ sw $t0, 0x10($t2) -.L700189DC: -/* 0195DC 700189DC 8FB90034 */ lw $t9, 0x34($sp) -/* 0195E0 700189E0 8FB80038 */ lw $t8, 0x38($sp) -/* 0195E4 700189E4 AF190000 */ sw $t9, ($t8) -/* 0195E8 700189E8 8FAB0034 */ lw $t3, 0x34($sp) -/* 0195EC 700189EC 8FAD0038 */ lw $t5, 0x38($sp) -/* 0195F0 700189F0 8D6C0004 */ lw $t4, 4($t3) -/* 0195F4 700189F4 ADAC0004 */ sw $t4, 4($t5) -/* 0195F8 700189F8 8FAF0034 */ lw $t7, 0x34($sp) -/* 0195FC 700189FC 8FAE0038 */ lw $t6, 0x38($sp) -/* 019600 70018A00 8DE80004 */ lw $t0, 4($t7) -/* 019604 70018A04 AD0E0000 */ sw $t6, ($t0) -/* 019608 70018A08 8FAA0034 */ lw $t2, 0x34($sp) -/* 01960C 70018A0C 8FA90038 */ lw $t1, 0x38($sp) -/* 019610 70018A10 AD490004 */ sw $t1, 4($t2) -/* 019614 70018A14 0C006184 */ jal __osRestoreInt -/* 019618 70018A18 8FA40024 */ lw $a0, 0x24($sp) -/* 01961C 70018A1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 019620 70018A20 8FA20028 */ lw $v0, 0x28($sp) -/* 019624 70018A24 8FA3002C */ lw $v1, 0x2c($sp) -/* 019628 70018A28 03E00008 */ jr $ra -/* 01962C 70018A2C 27BD0038 */ addiu $sp, $sp, 0x38 - -.section .data -glabel __osTimerList -.word __osBaseTimer -.align 4 -.section .bss -glabel __osBaseTimer -.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 -glabel __osCurrentTime -.word 0,0 -glabel __osBaseCounter -.word 0 -glabel __osViIntrCount -.word 0 -glabel __osTimerCounter -.word 0 -.word 0,0,0 - -#needs a proper home but works -glabel __osThreadSave -.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 -.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 -.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 -.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 osGetThreadPri -/* 019630 70018A30 14800003 */ bnez $a0, .L70018A40 -/* 019634 70018A34 00000000 */ nop -/* 019638 70018A38 3C048002 */ lui $a0, %hi(__osRunningThread) -/* 01963C 70018A3C 8C847730 */ lw $a0, %lo(__osRunningThread)($a0) -.L70018A40: -/* 019640 70018A40 03E00008 */ jr $ra -/* 019644 70018A44 8C820004 */ lw $v0, 4($a0) - -/* 019648 70018A48 00000000 */ nop -/* 01964C 70018A4C 00000000 */ nop - - -glabel __osViInit -/* 019650 70018A50 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019654 70018A54 AFBF0014 */ sw $ra, 0x14($sp) -/* 019658 70018A58 3C048002 */ lui $a0, %hi(vi) -/* 01965C 70018A5C 24847FE0 */ addiu $a0, %lo(vi) # addiu $a0, $a0, 0x7fe0 -/* 019660 70018A60 0C005F10 */ jal _blkclr -/* 019664 70018A64 24050060 */ li $a1, 96 -/* 019668 70018A68 3C0E8002 */ lui $t6, %hi(vi) -/* 01966C 70018A6C 25CE7FE0 */ addiu $t6, %lo(vi) # addiu $t6, $t6, 0x7fe0 -/* 019670 70018A70 3C018003 */ lui $at, %hi(__osViCurr) -/* 019674 70018A74 AC2E8040 */ sw $t6, %lo(__osViCurr)($at) -/* 019678 70018A78 3C018003 */ lui $at, %hi(__osViNext) -/* 01967C 70018A7C 25CF0030 */ addiu $t7, $t6, 0x30 -/* 019680 70018A80 AC2F8044 */ sw $t7, %lo(__osViNext)($at) -/* 019684 70018A84 24180001 */ li $t8, 1 -/* 019688 70018A88 A5D80032 */ sh $t8, 0x32($t6) -/* 01968C 70018A8C 3C088003 */ lui $t0, %hi(__osViCurr) -/* 019690 70018A90 8D088040 */ lw $t0, %lo(__osViCurr)($t0) -/* 019694 70018A94 24190001 */ li $t9, 1 -/* 019698 70018A98 3C098003 */ lui $t1, %hi(copy_osTvType) -/* 01969C 70018A9C A5190002 */ sh $t9, 2($t0) -/* 0196A0 70018AA0 8D298048 */ lw $t1, %lo(copy_osTvType)($t1) -/* 0196A4 70018AA4 1120000B */ beqz $t1, .L70018AD4 -/* 0196A8 70018AA8 00000000 */ nop -/* 0196AC 70018AAC 3C0B8003 */ lui $t3, %hi(__osViNext) -/* 0196B0 70018AB0 8D6B8044 */ lw $t3, %lo(__osViNext)($t3) -/* 0196B4 70018AB4 3C0A8003 */ lui $t2, %hi(osViModeNtscLan1) -/* 0196B8 70018AB8 254A8320 */ addiu $t2, %lo(osViModeNtscLan1) # addiu $t2, $t2, -0x7ce0 -/* 0196BC 70018ABC 3C0C02E6 */ lui $t4, (0x02E6D354 >> 16) # lui $t4, 0x2e6 -/* 0196C0 70018AC0 358CD354 */ ori $t4, (0x02E6D354 & 0xFFFF) # ori $t4, $t4, 0xd354 -/* 0196C4 70018AC4 3C018003 */ lui $at, %hi(osViClock) -/* 0196C8 70018AC8 AD6A0008 */ sw $t2, 8($t3) -/* 0196CC 70018ACC 1000000A */ b .L70018AF8 -/* 0196D0 70018AD0 AC2C804C */ sw $t4, %lo(osViClock)($at) -.L70018AD4: -/* 0196D4 70018AD4 3C0F8003 */ lui $t7, %hi(__osViNext) -/* 0196D8 70018AD8 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) -/* 0196DC 70018ADC 3C0D8003 */ lui $t5, %hi(osViModePalLan1) -/* 0196E0 70018AE0 25AD8370 */ addiu $t5, %lo(osViModePalLan1) # addiu $t5, $t5, -0x7c90 -/* 0196E4 70018AE4 3C1802F5 */ lui $t8, (0x02F5B2D2 >> 16) # lui $t8, 0x2f5 -/* 0196E8 70018AE8 3718B2D2 */ ori $t8, (0x02F5B2D2 & 0xFFFF) # ori $t8, $t8, 0xb2d2 -/* 0196EC 70018AEC 3C018003 */ lui $at, %hi(osViClock) -/* 0196F0 70018AF0 ADED0008 */ sw $t5, 8($t7) -/* 0196F4 70018AF4 AC38804C */ sw $t8, %lo(osViClock)($at) -.L70018AF8: -/* 0196F8 70018AF8 3C198003 */ lui $t9, %hi(__osViNext) -/* 0196FC 70018AFC 8F398044 */ lw $t9, %lo(__osViNext)($t9) -/* 019700 70018B00 240E0020 */ li $t6, 32 -/* 019704 70018B04 3C088003 */ lui $t0, %hi(__osViNext) -/* 019708 70018B08 A72E0000 */ sh $t6, ($t9) -/* 01970C 70018B0C 8D088044 */ lw $t0, %lo(__osViNext)($t0) -/* 019710 70018B10 3C0BA440 */ lui $t3, %hi(VI_CURRENT_REG) # $t3, 0xa440 -/* 019714 70018B14 8D090008 */ lw $t1, 8($t0) -/* 019718 70018B18 8D2A0004 */ lw $t2, 4($t1) -/* 01971C 70018B1C AD0A000C */ sw $t2, 0xc($t0) -/* 019720 70018B20 8D6C0010 */ lw $t4, %lo(VI_CURRENT_REG)($t3) -/* 019724 70018B24 2D81000B */ sltiu $at, $t4, 0xb -/* 019728 70018B28 14200006 */ bnez $at, .L70018B44 -/* 01972C 70018B2C 00000000 */ nop -.L70018B30: -/* 019730 70018B30 3C0DA440 */ lui $t5, %hi(VI_CURRENT_REG) # $t5, 0xa440 -/* 019734 70018B34 8DAF0010 */ lw $t7, %lo(VI_CURRENT_REG)($t5) -/* 019738 70018B38 2DE1000B */ sltiu $at, $t7, 0xb -/* 01973C 70018B3C 1020FFFC */ beqz $at, .L70018B30 -/* 019740 70018B40 00000000 */ nop -.L70018B44: -/* 019744 70018B44 3C18A440 */ lui $t8, 0xa440 -/* 019748 70018B48 0C0062DC */ jal __osViSwapContext -/* 01974C 70018B4C AF000000 */ sw $zero, ($t8) -/* 019750 70018B50 8FBF0014 */ lw $ra, 0x14($sp) -/* 019754 70018B54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019758 70018B58 03E00008 */ jr $ra -/* 01975C 70018B5C 00000000 */ nop - - -.section .data -glabel _libultraosviSegmentDataStart - -glabel vi -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 - -glabel vi_buffer_next -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 -.byte 0, 0, 0, 0, 0, 0, 0, 0 - -glabel __osViCurr -.word vi - -glabel __osViNext -.word vi_buffer_next - -glabel copy_osTvType -.word 1 - -glabel osViClock -.word 48681812 - -glabel _libultraosviSegmentDataEnd -.align 4 - - -.section .text -glabel __osViGetCurrentContext -/* 019760 70018B60 3C028003 */ lui $v0, %hi(__osViCurr) -/* 019764 70018B64 03E00008 */ jr $ra -/* 019768 70018B68 8C428040 */ lw $v0, %lo(__osViCurr)($v0) - -/* 01976C 70018B6C 00000000 */ nop -glabel __osViSwapContext -/* 019770 70018B70 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 019774 70018B74 AFB1001C */ sw $s1, 0x1c($sp) -/* 019778 70018B78 AFBF0024 */ sw $ra, 0x24($sp) -/* 01977C 70018B7C AFB20020 */ sw $s2, 0x20($sp) -/* 019780 70018B80 AFB00018 */ sw $s0, 0x18($sp) -/* 019784 70018B84 AFA00030 */ sw $zero, 0x30($sp) -/* 019788 70018B88 3C118003 */ lui $s1, %hi(__osViNext) -/* 01978C 70018B8C 3C0EA440 */ lui $t6, %hi(VI_CURRENT_REG) # $t6, 0xa440 -/* 019790 70018B90 8E318044 */ lw $s1, %lo(__osViNext)($s1) -/* 019794 70018B94 8DCF0010 */ lw $t7, %lo(VI_CURRENT_REG)($t6) -/* 019798 70018B98 8E300008 */ lw $s0, 8($s1) -/* 01979C 70018B9C 31F80001 */ andi $t8, $t7, 1 -/* 0197A0 70018BA0 AFB80030 */ sw $t8, 0x30($sp) -/* 0197A4 70018BA4 0C003A2C */ jal osVirtualToPhysical -/* 0197A8 70018BA8 8E240004 */ lw $a0, 4($s1) -/* 0197AC 70018BAC 8FB90030 */ lw $t9, 0x30($sp) -/* 0197B0 70018BB0 00409025 */ move $s2, $v0 -/* 0197B4 70018BB4 00194080 */ sll $t0, $t9, 2 -/* 0197B8 70018BB8 01194021 */ addu $t0, $t0, $t9 -/* 0197BC 70018BBC 00084080 */ sll $t0, $t0, 2 -/* 0197C0 70018BC0 02084821 */ addu $t1, $s0, $t0 -/* 0197C4 70018BC4 8D2A0028 */ lw $t2, 0x28($t1) -/* 0197C8 70018BC8 01525821 */ addu $t3, $t2, $s2 -/* 0197CC 70018BCC AFAB003C */ sw $t3, 0x3c($sp) -/* 0197D0 70018BD0 962C0000 */ lhu $t4, ($s1) -/* 0197D4 70018BD4 318D0002 */ andi $t5, $t4, 2 -/* 0197D8 70018BD8 11A00008 */ beqz $t5, .L70018BFC -/* 0197DC 70018BDC 00000000 */ nop -/* 0197E0 70018BE0 8E0F0020 */ lw $t7, 0x20($s0) -/* 0197E4 70018BE4 8E2E0020 */ lw $t6, 0x20($s1) -/* 0197E8 70018BE8 2401F000 */ li $at, -4096 -/* 0197EC 70018BEC 01E1C024 */ and $t8, $t7, $at -/* 0197F0 70018BF0 01D8C825 */ or $t9, $t6, $t8 -/* 0197F4 70018BF4 10000003 */ b .L70018C04 -/* 0197F8 70018BF8 AE390020 */ sw $t9, 0x20($s1) -.L70018BFC: -/* 0197FC 70018BFC 8E080020 */ lw $t0, 0x20($s0) -/* 019800 70018C00 AE280020 */ sw $t0, 0x20($s1) -.L70018C04: -/* 019804 70018C04 96290000 */ lhu $t1, ($s1) -/* 019808 70018C08 312A0004 */ andi $t2, $t1, 4 -/* 01980C 70018C0C 11400041 */ beqz $t2, .L70018D14 -/* 019810 70018C10 00000000 */ nop -/* 019814 70018C14 8FAB0030 */ lw $t3, 0x30($sp) -/* 019818 70018C18 000B6080 */ sll $t4, $t3, 2 -/* 01981C 70018C1C 018B6021 */ addu $t4, $t4, $t3 -/* 019820 70018C20 000C6080 */ sll $t4, $t4, 2 -/* 019824 70018C24 020C6821 */ addu $t5, $s0, $t4 -/* 019828 70018C28 8DAF002C */ lw $t7, 0x2c($t5) -/* 01982C 70018C2C 31EE0FFF */ andi $t6, $t7, 0xfff -/* 019830 70018C30 448E3000 */ mtc1 $t6, $f6 -/* 019834 70018C34 AFAE0034 */ sw $t6, 0x34($sp) -/* 019838 70018C38 C6240024 */ lwc1 $f4, 0x24($s1) -/* 01983C 70018C3C 05C10005 */ bgez $t6, .L70018C54 -/* 019840 70018C40 46803220 */ cvt.s.w $f8, $f6 -/* 019844 70018C44 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 019848 70018C48 44815000 */ mtc1 $at, $f10 -/* 01984C 70018C4C 00000000 */ nop -/* 019850 70018C50 460A4200 */ add.s $f8, $f8, $f10 -.L70018C54: -/* 019854 70018C54 46082402 */ mul.s $f16, $f4, $f8 -/* 019858 70018C58 24190001 */ li $t9, 1 -/* 01985C 70018C5C 4458F800 */ cfc1 $t8, $31 -/* 019860 70018C60 44D9F800 */ ctc1 $t9, $31 -/* 019864 70018C64 00000000 */ nop -/* 019868 70018C68 460084A4 */ cvt.w.s $f18, $f16 -/* 01986C 70018C6C 4459F800 */ cfc1 $t9, $31 -/* 019870 70018C70 00000000 */ nop -/* 019874 70018C74 33210004 */ andi $at, $t9, 4 -/* 019878 70018C78 33390078 */ andi $t9, $t9, 0x78 -/* 01987C 70018C7C 13200013 */ beqz $t9, .L70018CCC -/* 019880 70018C80 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 019884 70018C84 44819000 */ mtc1 $at, $f18 -/* 019888 70018C88 24190001 */ li $t9, 1 -/* 01988C 70018C8C 46128481 */ sub.s $f18, $f16, $f18 -/* 019890 70018C90 44D9F800 */ ctc1 $t9, $31 -/* 019894 70018C94 00000000 */ nop -/* 019898 70018C98 460094A4 */ cvt.w.s $f18, $f18 -/* 01989C 70018C9C 4459F800 */ cfc1 $t9, $31 -/* 0198A0 70018CA0 00000000 */ nop -/* 0198A4 70018CA4 33210004 */ andi $at, $t9, 4 -/* 0198A8 70018CA8 33390078 */ andi $t9, $t9, 0x78 -/* 0198AC 70018CAC 17200005 */ bnez $t9, .L70018CC4 -/* 0198B0 70018CB0 00000000 */ nop -/* 0198B4 70018CB4 44199000 */ mfc1 $t9, $f18 -/* 0198B8 70018CB8 3C018000 */ lui $at, 0x8000 -/* 0198BC 70018CBC 10000007 */ b .L70018CDC -/* 0198C0 70018CC0 0321C825 */ or $t9, $t9, $at -.L70018CC4: -/* 0198C4 70018CC4 10000005 */ b .L70018CDC -/* 0198C8 70018CC8 2419FFFF */ li $t9, -1 -.L70018CCC: -/* 0198CC 70018CCC 44199000 */ mfc1 $t9, $f18 -/* 0198D0 70018CD0 00000000 */ nop -/* 0198D4 70018CD4 0720FFFB */ bltz $t9, .L70018CC4 -/* 0198D8 70018CD8 00000000 */ nop -.L70018CDC: -/* 0198DC 70018CDC AE39002C */ sw $t9, 0x2c($s1) -/* 0198E0 70018CE0 8FA90030 */ lw $t1, 0x30($sp) -/* 0198E4 70018CE4 8E28002C */ lw $t0, 0x2c($s1) -/* 0198E8 70018CE8 2401F000 */ li $at, -4096 -/* 0198EC 70018CEC 00095080 */ sll $t2, $t1, 2 -/* 0198F0 70018CF0 01495021 */ addu $t2, $t2, $t1 -/* 0198F4 70018CF4 000A5080 */ sll $t2, $t2, 2 -/* 0198F8 70018CF8 020A5821 */ addu $t3, $s0, $t2 -/* 0198FC 70018CFC 8D6C002C */ lw $t4, 0x2c($t3) -/* 019900 70018D00 44D8F800 */ ctc1 $t8, $31 -/* 019904 70018D04 01816824 */ and $t5, $t4, $at -/* 019908 70018D08 010D7825 */ or $t7, $t0, $t5 -/* 01990C 70018D0C 10000008 */ b .L70018D30 -/* 019910 70018D10 AE2F002C */ sw $t7, 0x2c($s1) -.L70018D14: -/* 019914 70018D14 8FAE0030 */ lw $t6, 0x30($sp) -/* 019918 70018D18 000EC080 */ sll $t8, $t6, 2 -/* 01991C 70018D1C 030EC021 */ addu $t8, $t8, $t6 -/* 019920 70018D20 0018C080 */ sll $t8, $t8, 2 -/* 019924 70018D24 0218C821 */ addu $t9, $s0, $t8 -/* 019928 70018D28 8F29002C */ lw $t1, 0x2c($t9) -/* 01992C 70018D2C AE29002C */ sw $t1, 0x2c($s1) -.L70018D30: -/* 019930 70018D30 8E0A001C */ lw $t2, 0x1c($s0) -/* 019934 70018D34 AFAA0038 */ sw $t2, 0x38($sp) -/* 019938 70018D38 962B0000 */ lhu $t3, ($s1) -/* 01993C 70018D3C 316C0020 */ andi $t4, $t3, 0x20 -/* 019940 70018D40 11800002 */ beqz $t4, .L70018D4C -/* 019944 70018D44 00000000 */ nop -/* 019948 70018D48 AFA00038 */ sw $zero, 0x38($sp) -.L70018D4C: -/* 01994C 70018D4C 96280000 */ lhu $t0, ($s1) -/* 019950 70018D50 310D0040 */ andi $t5, $t0, 0x40 -/* 019954 70018D54 11A00005 */ beqz $t5, .L70018D6C -/* 019958 70018D58 00000000 */ nop -/* 01995C 70018D5C AE20002C */ sw $zero, 0x2c($s1) -/* 019960 70018D60 0C003A2C */ jal osVirtualToPhysical -/* 019964 70018D64 8E240004 */ lw $a0, 4($s1) -/* 019968 70018D68 AFA2003C */ sw $v0, 0x3c($sp) -.L70018D6C: -/* 01996C 70018D6C 962F0000 */ lhu $t7, ($s1) -/* 019970 70018D70 31EE0080 */ andi $t6, $t7, 0x80 -/* 019974 70018D74 11C00009 */ beqz $t6, .L70018D9C -/* 019978 70018D78 00000000 */ nop -/* 01997C 70018D7C 96380028 */ lhu $t8, 0x28($s1) -/* 019980 70018D80 3C0103FF */ lui $at, 0x3ff -/* 019984 70018D84 8E240004 */ lw $a0, 4($s1) -/* 019988 70018D88 0018CC00 */ sll $t9, $t8, 0x10 -/* 01998C 70018D8C 03214824 */ and $t1, $t9, $at -/* 019990 70018D90 0C003A2C */ jal osVirtualToPhysical -/* 019994 70018D94 AE29002C */ sw $t1, 0x2c($s1) -/* 019998 70018D98 AFA2003C */ sw $v0, 0x3c($sp) -.L70018D9C: -/* 01999C 70018D9C 8FAA003C */ lw $t2, 0x3c($sp) -/* 0199A0 70018DA0 3C0BA440 */ lui $t3, %hi(VI_LEAP_REG) # $t3, 0xa440 -/* 0199A4 70018DA4 3C08A440 */ lui $t0, %hi(VI_V_BURST_REG) # $t0, 0xa440 -/* 0199A8 70018DA8 AD6A0004 */ sw $t2, %lo(VI_ORIGIN_REG)($t3) -/* 0199AC 70018DAC 8E0C0008 */ lw $t4, 8($s0) -/* 0199B0 70018DB0 3C0FA440 */ lui $t7, %hi(VI_BURST_REG) # $t7, 0xa440 -/* 0199B4 70018DB4 3C18A440 */ lui $t8, %hi(VI_V_SYNC_REG) # $t8, 0xa440 -/* 0199B8 70018DB8 AD0C0008 */ sw $t4, %lo(VI_WIDTH_REG)($t0) -/* 0199BC 70018DBC 8E0D000C */ lw $t5, 0xc($s0) -/* 0199C0 70018DC0 3C09A440 */ lui $t1, %hi(VI_H_SYNC_REG) # $t1, 0xa440 -/* 0199C4 70018DC4 3C018003 */ lui $at, %hi(__osViNext) -/* 0199C8 70018DC8 ADED0014 */ sw $t5, %lo(VI_BURST_REG)($t7) -/* 0199CC 70018DCC 8E0E0010 */ lw $t6, 0x10($s0) -/* 0199D0 70018DD0 AF0E0018 */ sw $t6, %lo(VI_V_SYNC_REG)($t8) -/* 0199D4 70018DD4 8E190014 */ lw $t9, 0x14($s0) -/* 0199D8 70018DD8 AD39001C */ sw $t9, %lo(VI_H_SYNC_REG)($t1) -/* 0199DC 70018DDC 8E0A0018 */ lw $t2, 0x18($s0) -/* 0199E0 70018DE0 3C19A440 */ lui $t9, %hi(VI_INTR_REG) # $t9, 0xa440 -/* 0199E4 70018DE4 AD6A0020 */ sw $t2, %lo(VI_LEAP_REG)($t3) -/* 0199E8 70018DE8 8FAC0038 */ lw $t4, 0x38($sp) -/* 0199EC 70018DEC AD0C0024 */ sw $t4, %lo(VI_H_START_REG)($t0) -/* 0199F0 70018DF0 8FAD0030 */ lw $t5, 0x30($sp) -/* 0199F4 70018DF4 000D7880 */ sll $t7, $t5, 2 -/* 0199F8 70018DF8 01ED7821 */ addu $t7, $t7, $t5 -/* 0199FC 70018DFC 000F7880 */ sll $t7, $t7, 2 -/* 019A00 70018E00 020F7021 */ addu $t6, $s0, $t7 -/* 019A04 70018E04 8DD80030 */ lw $t8, 0x30($t6) -/* 019A08 70018E08 AF380028 */ sw $t8, %lo(VI_V_START_REG)($t9) -/* 019A0C 70018E0C 8FA90030 */ lw $t1, 0x30($sp) -/* 019A10 70018E10 00095080 */ sll $t2, $t1, 2 -/* 019A14 70018E14 01495021 */ addu $t2, $t2, $t1 -/* 019A18 70018E18 000A5080 */ sll $t2, $t2, 2 -/* 019A1C 70018E1C 020A5821 */ addu $t3, $s0, $t2 -/* 019A20 70018E20 8D6C0034 */ lw $t4, 0x34($t3) -/* 019A24 70018E24 3C0AA440 */ lui $t2, %hi(VI_X_SCALE_REG) # $t2, 0xa440 -/* 019A28 70018E28 AD0C002C */ sw $t4, %lo(VI_V_BURST_REG)($t0) -/* 019A2C 70018E2C 8FAD0030 */ lw $t5, 0x30($sp) -/* 019A30 70018E30 3C0CA440 */ lui $t4, %hi(VI_Y_SCALE_REG) # $t4, 0xa440 -/* 019A34 70018E34 000D7880 */ sll $t7, $t5, 2 -/* 019A38 70018E38 01ED7821 */ addu $t7, $t7, $t5 -/* 019A3C 70018E3C 000F7880 */ sll $t7, $t7, 2 -/* 019A40 70018E40 020F7021 */ addu $t6, $s0, $t7 -/* 019A44 70018E44 8DD80038 */ lw $t8, 0x38($t6) -/* 019A48 70018E48 3C0DA440 */ lui $t5, 0xa440 -/* 019A4C 70018E4C 3C0F8003 */ lui $t7, %hi(__osViCurr) -/* 019A50 70018E50 AF38000C */ sw $t8, %lo(VI_INTR_REG)($t9) -/* 019A54 70018E54 8E290020 */ lw $t1, 0x20($s1) -/* 019A58 70018E58 3C188003 */ lui $t8, %hi(__osViCurr) -/* 019A5C 70018E5C 3C0E8003 */ lui $t6, %hi(__osViNext) -/* 019A60 70018E60 AD490030 */ sw $t1, %lo(VI_X_SCALE_REG)($t2) -/* 019A64 70018E64 8E2B002C */ lw $t3, 0x2c($s1) -/* 019A68 70018E68 AD8B0034 */ sw $t3, %lo(VI_Y_SCALE_REG)($t4) -/* 019A6C 70018E6C 8E28000C */ lw $t0, 0xc($s1) -/* 019A70 70018E70 ADA80000 */ sw $t0, ($t5) -/* 019A74 70018E74 8DEF8040 */ lw $t7, %lo(__osViCurr)($t7) -/* 019A78 70018E78 AC2F8044 */ sw $t7, %lo(__osViNext)($at) -/* 019A7C 70018E7C 3C018003 */ lui $at, %hi(__osViCurr) -/* 019A80 70018E80 AC318040 */ sw $s1, %lo(__osViCurr)($at) -/* 019A84 70018E84 8F188040 */ lw $t8, %lo(__osViCurr)($t8) -/* 019A88 70018E88 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) -/* 019A8C 70018E8C 270A0030 */ addiu $t2, $t8, 0x30 -.L70018E90: -/* 019A90 70018E90 8F010000 */ lw $at, ($t8) -/* 019A94 70018E94 2718000C */ addiu $t8, $t8, 0xc -/* 019A98 70018E98 25CE000C */ addiu $t6, $t6, 0xc -/* 019A9C 70018E9C ADC1FFF4 */ sw $at, -0xc($t6) -/* 019AA0 70018EA0 8F01FFF8 */ lw $at, -8($t8) -/* 019AA4 70018EA4 ADC1FFF8 */ sw $at, -8($t6) -/* 019AA8 70018EA8 8F01FFFC */ lw $at, -4($t8) -/* 019AAC 70018EAC 170AFFF8 */ bne $t8, $t2, .L70018E90 -/* 019AB0 70018EB0 ADC1FFFC */ sw $at, -4($t6) -/* 019AB4 70018EB4 8FBF0024 */ lw $ra, 0x24($sp) -/* 019AB8 70018EB8 8FB00018 */ lw $s0, 0x18($sp) -/* 019ABC 70018EBC 8FB1001C */ lw $s1, 0x1c($sp) -/* 019AC0 70018EC0 8FB20020 */ lw $s2, 0x20($sp) -/* 019AC4 70018EC4 03E00008 */ jr $ra -/* 019AC8 70018EC8 27BD0048 */ addiu $sp, $sp, 0x48 - -/* 019ACC 70018ECC 00000000 */ nop -glabel __osSpGetStatus -/* 019AD0 70018ED0 3C0EA404 */ lui $t6, 0xa404 -/* 019AD4 70018ED4 03E00008 */ jr $ra -/* 019AD8 70018ED8 8DC20010 */ lw $v0, 0x10($t6) - -/* 019ADC 70018EDC 00000000 */ nop -glabel __osSpSetStatus -/* 019AE0 70018EE0 3C0EA404 */ lui $t6, 0xa404 -/* 019AE4 70018EE4 03E00008 */ jr $ra -/* 019AE8 70018EE8 ADC40010 */ sw $a0, 0x10($t6) - -/* 019AEC 70018EEC 00000000 */ nop -glabel __osSpSetPc -/* 019AF0 70018EF0 3C0EA404 */ lui $t6, %hi(SP_STATUS_REG) # $t6, 0xa404 -/* 019AF4 70018EF4 8DC50010 */ lw $a1, %lo(SP_STATUS_REG)($t6) -/* 019AF8 70018EF8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 019AFC 70018EFC 30AF0001 */ andi $t7, $a1, 1 -/* 019B00 70018F00 15E00003 */ bnez $t7, .L70018F10 -/* 019B04 70018F04 00000000 */ nop -/* 019B08 70018F08 10000004 */ b .L70018F1C -/* 019B0C 70018F0C 2402FFFF */ li $v0, -1 -.L70018F10: -/* 019B10 70018F10 3C18A408 */ lui $t8, 0xa408 -/* 019B14 70018F14 AF040000 */ sw $a0, ($t8) -/* 019B18 70018F18 00001025 */ move $v0, $zero -.L70018F1C: -/* 019B1C 70018F1C 03E00008 */ jr $ra -/* 019B20 70018F20 27BD0008 */ addiu $sp, $sp, 8 - -/* 019B24 70018F24 00000000 */ nop -/* 019B28 70018F28 00000000 */ nop -/* 019B2C 70018F2C 00000000 */ nop -glabel __osSpRawStartDma -/* 019B30 70018F30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019B34 70018F34 AFBF0014 */ sw $ra, 0x14($sp) -/* 019B38 70018F38 AFA40018 */ sw $a0, 0x18($sp) -/* 019B3C 70018F3C AFA5001C */ sw $a1, 0x1c($sp) -/* 019B40 70018F40 AFA60020 */ sw $a2, 0x20($sp) -/* 019B44 70018F44 0C0063F0 */ jal __osSpDeviceBusy -/* 019B48 70018F48 AFA70024 */ sw $a3, 0x24($sp) -/* 019B4C 70018F4C 10400003 */ beqz $v0, .L70018F5C -/* 019B50 70018F50 00000000 */ nop -/* 019B54 70018F54 10000015 */ b .L70018FAC -/* 019B58 70018F58 2402FFFF */ li $v0, -1 -.L70018F5C: -/* 019B5C 70018F5C 8FAE001C */ lw $t6, 0x1c($sp) -/* 019B60 70018F60 3C0FA404 */ lui $t7, 0xa404 -/* 019B64 70018F64 ADEE0000 */ sw $t6, ($t7) -/* 019B68 70018F68 0C003A2C */ jal osVirtualToPhysical -/* 019B6C 70018F6C 8FA40020 */ lw $a0, 0x20($sp) -/* 019B70 70018F70 3C18A404 */ lui $t8, %hi(SP_DRAM_ADDR_REG) # $t8, 0xa404 -/* 019B74 70018F74 AF020004 */ sw $v0, %lo(SP_DRAM_ADDR_REG)($t8) -/* 019B78 70018F78 8FB90018 */ lw $t9, 0x18($sp) -/* 019B7C 70018F7C 17200006 */ bnez $t9, .L70018F98 -/* 019B80 70018F80 00000000 */ nop -/* 019B84 70018F84 8FA80024 */ lw $t0, 0x24($sp) -/* 019B88 70018F88 3C0AA404 */ lui $t2, %hi(SP_WR_LEN_REG) # $t2, 0xa404 -/* 019B8C 70018F8C 2509FFFF */ addiu $t1, $t0, -1 -/* 019B90 70018F90 10000005 */ b .L70018FA8 -/* 019B94 70018F94 AD49000C */ sw $t1, %lo(SP_WR_LEN_REG)($t2) -.L70018F98: -/* 019B98 70018F98 8FAB0024 */ lw $t3, 0x24($sp) -/* 019B9C 70018F9C 3C0DA404 */ lui $t5, %hi(SP_RD_LEN_REG) # $t5, 0xa404 -/* 019BA0 70018FA0 256CFFFF */ addiu $t4, $t3, -1 -/* 019BA4 70018FA4 ADAC0008 */ sw $t4, %lo(SP_RD_LEN_REG)($t5) -.L70018FA8: -/* 019BA8 70018FA8 00001025 */ move $v0, $zero -.L70018FAC: -/* 019BAC 70018FAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 019BB0 70018FB0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019BB4 70018FB4 03E00008 */ jr $ra -/* 019BB8 70018FB8 00000000 */ nop - -/* 019BBC 70018FBC 00000000 */ nop -glabel __osSpDeviceBusy -/* 019BC0 70018FC0 3C0EA404 */ lui $t6, %hi(SP_STATUS_REG) # $t6, 0xa404 -/* 019BC4 70018FC4 8DC40010 */ lw $a0, %lo(SP_STATUS_REG)($t6) -/* 019BC8 70018FC8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 019BCC 70018FCC 308F001C */ andi $t7, $a0, 0x1c -/* 019BD0 70018FD0 11E00003 */ beqz $t7, .L70018FE0 -/* 019BD4 70018FD4 00000000 */ nop -/* 019BD8 70018FD8 10000002 */ b .L70018FE4 -/* 019BDC 70018FDC 24020001 */ li $v0, 1 -.L70018FE0: -/* 019BE0 70018FE0 00001025 */ move $v0, $zero -.L70018FE4: -/* 019BE4 70018FE4 03E00008 */ jr $ra -/* 019BE8 70018FE8 27BD0008 */ addiu $sp, $sp, 8 - -/* 019BEC 70018FEC 00000000 */ nop -glabel __osDpDeviceBusy -/* 019BF0 70018FF0 3C0EA410 */ lui $t6, %hi(DPC_STATUS_REG) # $t6, 0xa410 -/* 019BF4 70018FF4 8DC4000C */ lw $a0, %lo(DPC_STATUS_REG)($t6) -/* 019BF8 70018FF8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 019BFC 70018FFC 308F0100 */ andi $t7, $a0, 0x100 -/* 019C00 70019000 11E00003 */ beqz $t7, .L70019010 -/* 019C04 70019004 00000000 */ nop -/* 019C08 70019008 10000002 */ b .L70019014 -/* 019C0C 7001900C 24020001 */ li $v0, 1 -.L70019010: -/* 019C10 70019010 00001025 */ move $v0, $zero -.L70019014: -/* 019C14 70019014 03E00008 */ jr $ra -/* 019C18 70019018 27BD0008 */ addiu $sp, $sp, 8 - -/* 019C1C 7001901C 00000000 */ nop -glabel __osProbeTLB -/* 019C20 70019020 40085000 */ mfc0 $t0, $10 -/* 019C24 70019024 310900FF */ andi $t1, $t0, 0xff -/* 019C28 70019028 2401E000 */ li $at, -8192 -/* 019C2C 7001902C 00815024 */ and $t2, $a0, $at -/* 019C30 70019030 012A4825 */ or $t1, $t1, $t2 -/* 019C34 70019034 40895000 */ mtc0 $t1, $10 -/* 019C38 70019038 00000000 */ nop -/* 019C3C 7001903C 00000000 */ nop -/* 019C40 70019040 00000000 */ nop -/* 019C44 70019044 42000008 */ tlbp -/* 019C48 70019048 00000000 */ nop -/* 019C4C 7001904C 00000000 */ nop -/* 019C50 70019050 400B0000 */ mfc0 $t3, $0 -/* 019C54 70019054 3C018000 */ lui $at, 0x8000 -/* 019C58 70019058 01615824 */ and $t3, $t3, $at -/* 019C5C 7001905C 1560001A */ bnez $t3, .L700190C8 -/* 019C60 70019060 00000000 */ nop -/* 019C64 70019064 42000001 */ tlbr -/* 019C68 70019068 00000000 */ nop -/* 019C6C 7001906C 00000000 */ nop -/* 019C70 70019070 00000000 */ nop -/* 019C74 70019074 400B2800 */ mfc0 $t3, $5 -/* 019C78 70019078 216B2000 */ addi $t3, $t3, 0x2000 -/* 019C7C 7001907C 000B5842 */ srl $t3, $t3, 1 -/* 019C80 70019080 01646024 */ and $t4, $t3, $a0 -/* 019C84 70019084 15800004 */ bnez $t4, .L70019098 -/* 019C88 70019088 216BFFFF */ addi $t3, $t3, -1 -/* 019C8C 7001908C 40021000 */ mfc0 $v0, $2 -/* 019C90 70019090 10000002 */ b .L7001909C -/* 019C94 70019094 00000000 */ nop -.L70019098: -/* 019C98 70019098 40021800 */ mfc0 $v0, $3 -.L7001909C: -/* 019C9C 7001909C 304D0002 */ andi $t5, $v0, 2 -/* 019CA0 700190A0 11A00009 */ beqz $t5, .L700190C8 -/* 019CA4 700190A4 00000000 */ nop -/* 019CA8 700190A8 3C013FFF */ lui $at, (0x3FFFFFC0 >> 16) # lui $at, 0x3fff -/* 019CAC 700190AC 3421FFC0 */ ori $at, (0x3FFFFFC0 & 0xFFFF) # ori $at, $at, 0xffc0 -/* 019CB0 700190B0 00411024 */ and $v0, $v0, $at -/* 019CB4 700190B4 00021180 */ sll $v0, $v0, 6 -/* 019CB8 700190B8 008B6824 */ and $t5, $a0, $t3 -/* 019CBC 700190BC 004D1020 */ add $v0, $v0, $t5 -/* 019CC0 700190C0 10000002 */ b .L700190CC -/* 019CC4 700190C4 00000000 */ nop -.L700190C8: -/* 019CC8 700190C8 2402FFFF */ li $v0, -1 -.L700190CC: -/* 019CCC 700190CC 40885000 */ mtc0 $t0, $10 -/* 019CD0 700190D0 03E00008 */ jr $ra -/* 019CD4 700190D4 00000000 */ nop - -/* 019CD8 700190D8 00000000 */ nop -/* 019CDC 700190DC 00000000 */ nop -glabel alSynDelete -/* 019CE0 700190E0 03E00008 */ jr $ra -/* 019CE4 700190E4 AC800000 */ sw $zero, ($a0) - -/* 019CE8 700190E8 00000000 */ nop -/* 019CEC 700190EC 00000000 */ nop -glabel __osAiDeviceBusy -/* 019CF0 700190F0 3C0EA450 */ lui $t6, %hi(AI_STATUS_REG) # $t6, 0xa450 -/* 019CF4 700190F4 8DC4000C */ lw $a0, %lo(AI_STATUS_REG)($t6) -/* 019CF8 700190F8 3C018000 */ lui $at, 0x8000 -/* 019CFC 700190FC 27BDFFF8 */ addiu $sp, $sp, -8 -/* 019D00 70019100 00817824 */ and $t7, $a0, $at -/* 019D04 70019104 11E00003 */ beqz $t7, .L70019114 -/* 019D08 70019108 00000000 */ nop -/* 019D0C 7001910C 10000002 */ b .L70019118 -/* 019D10 70019110 24020001 */ li $v0, 1 -.L70019114: -/* 019D14 70019114 00001025 */ move $v0, $zero -.L70019118: -/* 019D18 70019118 03E00008 */ jr $ra -/* 019D1C 7001911C 27BD0008 */ addiu $sp, $sp, 8 - -glabel alSaveNew -/* 019D20 70019120 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019D24 70019124 AFBF0014 */ sw $ra, 0x14($sp) -/* 019D28 70019128 3C057002 */ lui $a1, %hi(alSavePull) # $a1, 0x7002 -/* 019D2C 7001912C 3C067002 */ lui $a2, %hi(alSaveParam) # $a2, 0x7002 -/* 019D30 70019130 24C6B5F0 */ addiu $a2, %lo(alSaveParam) # addiu $a2, $a2, -0x4a10 -/* 019D34 70019134 24A5B624 */ addiu $a1, %lo(alSavePull) # addiu $a1, $a1, -0x49dc -/* 019D38 70019138 AFA40018 */ sw $a0, 0x18($sp) -/* 019D3C 7001913C 0C007E3C */ jal alFilterNew -/* 019D40 70019140 24070003 */ li $a3, 3 -/* 019D44 70019144 8FA40018 */ lw $a0, 0x18($sp) -/* 019D48 70019148 240E0001 */ li $t6, 1 -/* 019D4C 7001914C AC800014 */ sw $zero, 0x14($a0) -/* 019D50 70019150 AC8E0018 */ sw $t6, 0x18($a0) -/* 019D54 70019154 8FBF0014 */ lw $ra, 0x14($sp) -/* 019D58 70019158 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019D5C 7001915C 03E00008 */ jr $ra -/* 019D60 70019160 00000000 */ nop - -glabel alMainBusNew -/* 019D64 70019164 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019D68 70019168 AFA5001C */ sw $a1, 0x1c($sp) -/* 019D6C 7001916C AFA60020 */ sw $a2, 0x20($sp) -/* 019D70 70019170 AFBF0014 */ sw $ra, 0x14($sp) -/* 019D74 70019174 3C067002 */ lui $a2, %hi(alMainBusParam) # $a2, 0x7002 -/* 019D78 70019178 3C057002 */ lui $a1, %hi(alMainBusPull) # $a1, 0x7002 -/* 019D7C 7001917C 24A59990 */ addiu $a1, %lo(alMainBusPull) # addiu $a1, $a1, -0x6670 -/* 019D80 70019180 24C69960 */ addiu $a2, %lo(alMainBusParam) # addiu $a2, $a2, -0x66a0 -/* 019D84 70019184 AFA40018 */ sw $a0, 0x18($sp) -/* 019D88 70019188 0C007E3C */ jal alFilterNew -/* 019D8C 7001918C 24070007 */ li $a3, 7 -/* 019D90 70019190 8FA40018 */ lw $a0, 0x18($sp) -/* 019D94 70019194 AC800014 */ sw $zero, 0x14($a0) -/* 019D98 70019198 8FAE0020 */ lw $t6, 0x20($sp) -/* 019D9C 7001919C AC8E0018 */ sw $t6, 0x18($a0) -/* 019DA0 700191A0 8FAF001C */ lw $t7, 0x1c($sp) -/* 019DA4 700191A4 AC8F001C */ sw $t7, 0x1c($a0) -/* 019DA8 700191A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 019DAC 700191AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019DB0 700191B0 03E00008 */ jr $ra -/* 019DB4 700191B4 00000000 */ nop - -glabel alAuxBusNew -/* 019DB8 700191B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 019DBC 700191BC AFA5001C */ sw $a1, 0x1c($sp) -/* 019DC0 700191C0 AFA60020 */ sw $a2, 0x20($sp) -/* 019DC4 700191C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 019DC8 700191C8 3C067002 */ lui $a2, %hi(ultra_7001B4E0) # $a2, 0x7002 -/* 019DCC 700191CC 3C057002 */ lui $a1, %hi(ultra_7001B510) # $a1, 0x7002 -/* 019DD0 700191D0 24A5B510 */ addiu $a1, %lo(ultra_7001B510) # addiu $a1, $a1, -0x4af0 -/* 019DD4 700191D4 24C6B4E0 */ addiu $a2, %lo(ultra_7001B4E0) # addiu $a2, $a2, -0x4b20 -/* 019DD8 700191D8 AFA40018 */ sw $a0, 0x18($sp) -/* 019DDC 700191DC 0C007E3C */ jal alFilterNew -/* 019DE0 700191E0 24070006 */ li $a3, 6 -/* 019DE4 700191E4 8FA40018 */ lw $a0, 0x18($sp) -/* 019DE8 700191E8 AC800014 */ sw $zero, 0x14($a0) -/* 019DEC 700191EC 8FAE0020 */ lw $t6, 0x20($sp) -/* 019DF0 700191F0 AC8E0018 */ sw $t6, 0x18($a0) -/* 019DF4 700191F4 8FAF001C */ lw $t7, 0x1c($sp) -/* 019DF8 700191F8 AC8F001C */ sw $t7, 0x1c($a0) -/* 019DFC 700191FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 019E00 70019200 27BD0018 */ addiu $sp, $sp, 0x18 -/* 019E04 70019204 03E00008 */ jr $ra -/* 019E08 70019208 00000000 */ nop - -glabel alResampleNew -/* 019E0C 7001920C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 019E10 70019210 AFA50024 */ sw $a1, 0x24($sp) -/* 019E14 70019214 AFBF001C */ sw $ra, 0x1c($sp) -/* 019E18 70019218 3C057002 */ lui $a1, %hi(alResamplePull) # $a1, 0x7002 -/* 019E1C 7001921C 3C067002 */ lui $a2, %hi(alResampleParam) # $a2, 0x7002 -/* 019E20 70019220 24C6A600 */ addiu $a2, %lo(alResampleParam) # addiu $a2, $a2, -0x5a00 -/* 019E24 70019224 24A5A6EC */ addiu $a1, %lo(alResamplePull) # addiu $a1, $a1, -0x5914 -/* 019E28 70019228 AFA40020 */ sw $a0, 0x20($sp) -/* 019E2C 7001922C 0C007E3C */ jal alFilterNew -/* 019E30 70019230 24070001 */ li $a3, 1 -/* 019E34 70019234 240E0020 */ li $t6, 32 -/* 019E38 70019238 AFAE0010 */ sw $t6, 0x10($sp) -/* 019E3C 7001923C 00002025 */ move $a0, $zero -/* 019E40 70019240 00002825 */ move $a1, $zero -/* 019E44 70019244 8FA60024 */ lw $a2, 0x24($sp) -/* 019E48 70019248 0C003AD4 */ jal alHeapDBAlloc -/* 019E4C 7001924C 24070001 */ li $a3, 1 -/* 019E50 70019250 8FA80020 */ lw $t0, 0x20($sp) -/* 019E54 70019254 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 019E58 70019258 44802000 */ mtc1 $zero, $f4 -/* 019E5C 7001925C 44813000 */ mtc1 $at, $f6 -/* 019E60 70019260 240F0001 */ li $t7, 1 -/* 019E64 70019264 AD020014 */ sw $v0, 0x14($t0) -/* 019E68 70019268 AD0F0024 */ sw $t7, 0x24($t0) -/* 019E6C 7001926C AD000030 */ sw $zero, 0x30($t0) -/* 019E70 70019270 AD00001C */ sw $zero, 0x1c($t0) -/* 019E74 70019274 AD000028 */ sw $zero, 0x28($t0) -/* 019E78 70019278 AD00002C */ sw $zero, 0x2c($t0) -/* 019E7C 7001927C E5040020 */ swc1 $f4, 0x20($t0) -/* 019E80 70019280 E5060018 */ swc1 $f6, 0x18($t0) -/* 019E84 70019284 8FBF001C */ lw $ra, 0x1c($sp) -/* 019E88 70019288 27BD0020 */ addiu $sp, $sp, 0x20 -/* 019E8C 7001928C 03E00008 */ jr $ra -/* 019E90 70019290 00000000 */ nop - -glabel alLoadNew -/* 019E94 70019294 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 019E98 70019298 AFA5002C */ sw $a1, 0x2c($sp) -/* 019E9C 7001929C AFA60030 */ sw $a2, 0x30($sp) -/* 019EA0 700192A0 AFBF0024 */ sw $ra, 0x24($sp) -/* 019EA4 700192A4 AFB00020 */ sw $s0, 0x20($sp) -/* 019EA8 700192A8 3C067002 */ lui $a2, %hi(alLoadParam) # $a2, 0x7002 -/* 019EAC 700192AC 3C057002 */ lui $a1, %hi(alAdpcmPull) # $a1, 0x7002 -/* 019EB0 700192B0 00808025 */ move $s0, $a0 -/* 019EB4 700192B4 24A5A15C */ addiu $a1, %lo(alAdpcmPull) # addiu $a1, $a1, -0x5ea4 -/* 019EB8 700192B8 24C69AB0 */ addiu $a2, %lo(alLoadParam) # addiu $a2, $a2, -0x6550 -/* 019EBC 700192BC 0C007E3C */ jal alFilterNew -/* 019EC0 700192C0 00003825 */ move $a3, $zero -/* 019EC4 700192C4 240E0020 */ li $t6, 32 -/* 019EC8 700192C8 AFAE0010 */ sw $t6, 0x10($sp) -/* 019ECC 700192CC 00002025 */ move $a0, $zero -/* 019ED0 700192D0 00002825 */ move $a1, $zero -/* 019ED4 700192D4 8FA60030 */ lw $a2, 0x30($sp) -/* 019ED8 700192D8 0C003AD4 */ jal alHeapDBAlloc -/* 019EDC 700192DC 24070001 */ li $a3, 1 -/* 019EE0 700192E0 AE020014 */ sw $v0, 0x14($s0) -/* 019EE4 700192E4 240F0020 */ li $t7, 32 -/* 019EE8 700192E8 AFAF0010 */ sw $t7, 0x10($sp) -/* 019EEC 700192EC 8FA60030 */ lw $a2, 0x30($sp) -/* 019EF0 700192F0 00002025 */ move $a0, $zero -/* 019EF4 700192F4 00002825 */ move $a1, $zero -/* 019EF8 700192F8 0C003AD4 */ jal alHeapDBAlloc -/* 019EFC 700192FC 24070001 */ li $a3, 1 -/* 019F00 70019300 AE020018 */ sw $v0, 0x18($s0) -/* 019F04 70019304 8FB9002C */ lw $t9, 0x2c($sp) -/* 019F08 70019308 26040034 */ addiu $a0, $s0, 0x34 -/* 019F0C 7001930C 0320F809 */ jalr $t9 -/* 019F10 70019310 00000000 */ nop -/* 019F14 70019314 24180001 */ li $t8, 1 -/* 019F18 70019318 AE020030 */ sw $v0, 0x30($s0) -/* 019F1C 7001931C AE00003C */ sw $zero, 0x3c($s0) -/* 019F20 70019320 AE180040 */ sw $t8, 0x40($s0) -/* 019F24 70019324 AE000044 */ sw $zero, 0x44($s0) -/* 019F28 70019328 8FBF0024 */ lw $ra, 0x24($sp) -/* 019F2C 7001932C 8FB00020 */ lw $s0, 0x20($sp) -/* 019F30 70019330 27BD0028 */ addiu $sp, $sp, 0x28 -/* 019F34 70019334 03E00008 */ jr $ra -/* 019F38 70019338 00000000 */ nop - -glabel alEnvmixerNew -/* 019F3C 7001933C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 019F40 70019340 AFA50024 */ sw $a1, 0x24($sp) -/* 019F44 70019344 AFBF001C */ sw $ra, 0x1c($sp) -/* 019F48 70019348 3C057002 */ lui $a1, %hi(alEnvmixerPull) # $a1, 0x7002 -/* 019F4C 7001934C 3C067002 */ lui $a2, %hi(alEnvmixerParam) # $a2, 0x7002 -/* 019F50 70019350 24C6AA14 */ addiu $a2, %lo(alEnvmixerParam) # addiu $a2, $a2, -0x55ec -/* 019F54 70019354 24A5AE5C */ addiu $a1, %lo(alEnvmixerPull) # addiu $a1, $a1, -0x51a4 -/* 019F58 70019358 AFA40020 */ sw $a0, 0x20($sp) -/* 019F5C 7001935C 0C007E3C */ jal alFilterNew -/* 019F60 70019360 24070004 */ li $a3, 4 -/* 019F64 70019364 240E0050 */ li $t6, 80 -/* 019F68 70019368 AFAE0010 */ sw $t6, 0x10($sp) -/* 019F6C 7001936C 00002025 */ move $a0, $zero -/* 019F70 70019370 00002825 */ move $a1, $zero -/* 019F74 70019374 8FA60024 */ lw $a2, 0x24($sp) -/* 019F78 70019378 0C003AD4 */ jal alHeapDBAlloc -/* 019F7C 7001937C 24070001 */ li $a3, 1 -/* 019F80 70019380 8FA80020 */ lw $t0, 0x20($sp) -/* 019F84 70019384 24030001 */ li $v1, 1 -/* 019F88 70019388 AD020014 */ sw $v0, 0x14($t0) -/* 019F8C 7001938C AD030038 */ sw $v1, 0x38($t0) -/* 019F90 70019390 AD000048 */ sw $zero, 0x48($t0) -/* 019F94 70019394 A503001A */ sh $v1, 0x1a($t0) -/* 019F98 70019398 A5030028 */ sh $v1, 0x28($t0) -/* 019F9C 7001939C A503002E */ sh $v1, 0x2e($t0) -/* 019FA0 700193A0 A503001C */ sh $v1, 0x1c($t0) -/* 019FA4 700193A4 A503001E */ sh $v1, 0x1e($t0) -/* 019FA8 700193A8 A5000020 */ sh $zero, 0x20($t0) -/* 019FAC 700193AC A5000022 */ sh $zero, 0x22($t0) -/* 019FB0 700193B0 A5030026 */ sh $v1, 0x26($t0) -/* 019FB4 700193B4 A5000024 */ sh $zero, 0x24($t0) -/* 019FB8 700193B8 AD000030 */ sw $zero, 0x30($t0) -/* 019FBC 700193BC AD000034 */ sw $zero, 0x34($t0) -/* 019FC0 700193C0 A5000018 */ sh $zero, 0x18($t0) -/* 019FC4 700193C4 AD00003C */ sw $zero, 0x3c($t0) -/* 019FC8 700193C8 AD000040 */ sw $zero, 0x40($t0) -/* 019FCC 700193CC AD000044 */ sw $zero, 0x44($t0) -/* 019FD0 700193D0 8FBF001C */ lw $ra, 0x1c($sp) -/* 019FD4 700193D4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 019FD8 700193D8 03E00008 */ jr $ra -/* 019FDC 700193DC 00000000 */ nop - -glabel init_lpfilter -/* 019FE0 700193E0 84820000 */ lh $v0, ($a0) -/* 019FE4 700193E4 24194000 */ li $t9, 16384 -/* 019FE8 700193E8 24090001 */ li $t1, 1 -/* 019FEC 700193EC 00027380 */ sll $t6, $v0, 0xe -/* 019FF0 700193F0 000E1BC3 */ sra $v1, $t6, 0xf -/* 019FF4 700193F4 00037C00 */ sll $t7, $v1, 0x10 -/* 019FF8 700193F8 000F1C03 */ sra $v1, $t7, 0x10 -/* 019FFC 700193FC 03234023 */ subu $t0, $t9, $v1 -/* 01A000 70019400 A4880002 */ sh $t0, 2($a0) -/* 01A004 70019404 AC89002C */ sw $t1, 0x2c($a0) -/* 01A008 70019408 00002825 */ move $a1, $zero -/* 01A00C 7001940C 00803025 */ move $a2, $a0 -.L70019410: -/* 01A010 70019410 24A50001 */ addiu $a1, $a1, 1 -/* 01A014 70019414 28A10008 */ slti $at, $a1, 8 -/* 01A018 70019418 24C60002 */ addiu $a2, $a2, 2 -/* 01A01C 7001941C 1420FFFC */ bnez $at, .L70019410 -/* 01A020 70019420 A4C00006 */ sh $zero, 6($a2) -/* 01A024 70019424 44832000 */ mtc1 $v1, $f4 -/* 01A028 70019428 3C0140D0 */ li $at, 0x40D00000 # 6.500000 -/* 01A02C 7001942C 44816800 */ mtc1 $at, $f13 -/* 01A030 70019430 468021A1 */ cvt.d.w $f6, $f4 -/* 01A034 70019434 44806000 */ mtc1 $zero, $f12 -/* 01A038 70019438 24A50001 */ addiu $a1, $a1, 1 -/* 01A03C 7001943C 28A10010 */ slti $at, $a1, 0x10 -/* 01A040 70019440 A4C30008 */ sh $v1, 8($a2) -/* 01A044 70019444 462C3083 */ div.d $f2, $f6, $f12 -/* 01A048 70019448 24C60002 */ addiu $a2, $a2, 2 -/* 01A04C 7001944C 1020000A */ beqz $at, .L70019478 -/* 01A050 70019450 46201006 */ mov.d $f0, $f2 -.L70019454: -/* 01A054 70019454 46220002 */ mul.d $f0, $f0, $f2 -/* 01A058 70019458 24A50001 */ addiu $a1, $a1, 1 -/* 01A05C 7001945C 28A10010 */ slti $at, $a1, 0x10 -/* 01A060 70019460 24C60002 */ addiu $a2, $a2, 2 -/* 01A064 70019464 462C0202 */ mul.d $f8, $f0, $f12 -/* 01A068 70019468 4620428D */ trunc.w.d $f10, $f8 -/* 01A06C 7001946C 440B5000 */ mfc1 $t3, $f10 -/* 01A070 70019470 1420FFF8 */ bnez $at, .L70019454 -/* 01A074 70019474 A4CB0006 */ sh $t3, 6($a2) -.L70019478: -/* 01A078 70019478 03E00008 */ jr $ra -/* 01A07C 7001947C 00000000 */ nop - -glabel alFxNew -/* 01A080 70019480 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 01A084 70019484 AFB60058 */ sw $s6, 0x58($sp) -/* 01A088 70019488 00C0B025 */ move $s6, $a2 -/* 01A08C 7001948C AFBF0064 */ sw $ra, 0x64($sp) -/* 01A090 70019490 AFB50054 */ sw $s5, 0x54($sp) -/* 01A094 70019494 AFA5006C */ sw $a1, 0x6c($sp) -/* 01A098 70019498 3C067002 */ lui $a2, %hi(alFxParam) # $a2, 0x7002 -/* 01A09C 7001949C 0080A825 */ move $s5, $a0 -/* 01A0A0 700194A0 AFBE0060 */ sw $fp, 0x60($sp) -/* 01A0A4 700194A4 AFB7005C */ sw $s7, 0x5c($sp) -/* 01A0A8 700194A8 AFB40050 */ sw $s4, 0x50($sp) -/* 01A0AC 700194AC AFB3004C */ sw $s3, 0x4c($sp) -/* 01A0B0 700194B0 AFB20048 */ sw $s2, 0x48($sp) -/* 01A0B4 700194B4 AFB10044 */ sw $s1, 0x44($sp) -/* 01A0B8 700194B8 AFB00040 */ sw $s0, 0x40($sp) -/* 01A0BC 700194BC F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 01A0C0 700194C0 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 01A0C4 700194C4 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 01A0C8 700194C8 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 01A0CC 700194CC 24C601C0 */ addiu $a2, %lo(alFxParam) # addiu $a2, $a2, 0x1c0 -/* 01A0D0 700194D0 00002825 */ move $a1, $zero -/* 01A0D4 700194D4 0C007E3C */ jal alFilterNew -/* 01A0D8 700194D8 24070005 */ li $a3, 5 -/* 01A0DC 700194DC 8FA2006C */ lw $v0, 0x6c($sp) -/* 01A0E0 700194E0 3C0E7002 */ lui $t6, %hi(alFxPull) # $t6, 0x7002 -/* 01A0E4 700194E4 3C0F7002 */ lui $t7, %hi(alFxParamHdl) # $t7, 0x7002 -/* 01A0E8 700194E8 25CE01D8 */ addiu $t6, %lo(alFxPull) # addiu $t6, $t6, 0x1d8 -/* 01A0EC 700194EC 25EFFFA8 */ addiu $t7, %lo(alFxParamHdl) # addiu $t7, $t7, -0x58 -/* 01A0F0 700194F0 AEAE0004 */ sw $t6, 4($s5) -/* 01A0F4 700194F4 AEAF0028 */ sw $t7, 0x28($s5) -/* 01A0F8 700194F8 9058001C */ lbu $t8, 0x1c($v0) -/* 01A0FC 700194FC 3C138003 */ lui $s3, %hi(NULL_PARAMS) -/* 01A100 70019500 267381B8 */ addiu $s3, %lo(NULL_PARAMS) # addiu $s3, $s3, -0x7e48 -/* 01A104 70019504 2719FFFF */ addiu $t9, $t8, -1 -/* 01A108 70019508 2F210006 */ sltiu $at, $t9, 6 -/* 01A10C 7001950C 10200017 */ beqz $at, .L7001956C -/* 01A110 70019510 0019C880 */ sll $t9, $t9, 2 -/* 01A114 70019514 3C018003 */ lui $at, %hi(jpt_80029830) -/* 01A118 70019518 00390821 */ addu $at, $at, $t9 -/* 01A11C 7001951C 8C399830 */ lw $t9, %lo(jpt_80029830)($at) -/* 01A120 70019520 03200008 */ jr $t9 -/* 01A124 70019524 00000000 */ nop -.L70019528: -/* 01A128 70019528 3C138003 */ lui $s3, %hi(SMALLROOM_PARAMS) -/* 01A12C 7001952C 1000000F */ b .L7001956C -/* 01A130 70019530 26738050 */ addiu $s3, %lo(SMALLROOM_PARAMS) # addiu $s3, $s3, -0x7fb0 -.L70019534: -/* 01A134 70019534 3C138003 */ lui $s3, %hi(BIGROOM_PARAMS) -/* 01A138 70019538 1000000C */ b .L7001956C -/* 01A13C 7001953C 267380B8 */ addiu $s3, %lo(BIGROOM_PARAMS) # addiu $s3, $s3, -0x7f48 -.L70019540: -/* 01A140 70019540 3C138003 */ lui $s3, %hi(ECHO_PARAMS) -/* 01A144 70019544 10000009 */ b .L7001956C -/* 01A148 70019548 26738140 */ addiu $s3, %lo(ECHO_PARAMS) # addiu $s3, $s3, -0x7ec0 -.L7001954C: -/* 01A14C 7001954C 3C138003 */ lui $s3, %hi(CHORUS_PARAMS) -/* 01A150 70019550 10000006 */ b .L7001956C -/* 01A154 70019554 26738168 */ addiu $s3, %lo(CHORUS_PARAMS) # addiu $s3, $s3, -0x7e98 -.L70019558: -/* 01A158 70019558 3C138003 */ lui $s3, %hi(FLANGE_PARAMS) -/* 01A15C 7001955C 10000003 */ b .L7001956C -/* 01A160 70019560 26738190 */ addiu $s3, %lo(FLANGE_PARAMS) # addiu $s3, $s3, -0x7e70 -.L70019564: -/* 01A164 70019564 10000001 */ b .L7001956C -/* 01A168 70019568 8C530020 */ lw $s3, 0x20($v0) -.L7001956C: -/* 01A16C 7001956C 8E680000 */ lw $t0, ($s3) -/* 01A170 70019570 240A0028 */ li $t2, 40 -/* 01A174 70019574 24110002 */ li $s1, 2 -/* 01A178 70019578 A2A80024 */ sb $t0, 0x24($s5) -/* 01A17C 7001957C 8E690004 */ lw $t1, 4($s3) -/* 01A180 70019580 00002025 */ move $a0, $zero -/* 01A184 70019584 00002825 */ move $a1, $zero -/* 01A188 70019588 AEA9001C */ sw $t1, 0x1c($s5) -/* 01A18C 7001958C AFAA0010 */ sw $t2, 0x10($sp) -/* 01A190 70019590 02C03025 */ move $a2, $s6 -/* 01A194 70019594 0C003AD4 */ jal alHeapDBAlloc -/* 01A198 70019598 310700FF */ andi $a3, $t0, 0xff -/* 01A19C 7001959C AEA20020 */ sw $v0, 0x20($s5) -/* 01A1A0 700195A0 8EA7001C */ lw $a3, 0x1c($s5) -/* 01A1A4 700195A4 240B0002 */ li $t3, 2 -/* 01A1A8 700195A8 AFAB0010 */ sw $t3, 0x10($sp) -/* 01A1AC 700195AC 00002025 */ move $a0, $zero -/* 01A1B0 700195B0 00002825 */ move $a1, $zero -/* 01A1B4 700195B4 0C003AD4 */ jal alHeapDBAlloc -/* 01A1B8 700195B8 02C03025 */ move $a2, $s6 -/* 01A1BC 700195BC 8EAC001C */ lw $t4, 0x1c($s5) -/* 01A1C0 700195C0 AEA20014 */ sw $v0, 0x14($s5) -/* 01A1C4 700195C4 AEA20018 */ sw $v0, 0x18($s5) -/* 01A1C8 700195C8 1180000C */ beqz $t4, .L700195FC -/* 01A1CC 700195CC 00001825 */ move $v1, $zero -/* 01A1D0 700195D0 8EAD0014 */ lw $t5, 0x14($s5) -.L700195D4: -/* 01A1D4 700195D4 00037040 */ sll $t6, $v1, 1 -/* 01A1D8 700195D8 24630001 */ addiu $v1, $v1, 1 -/* 01A1DC 700195DC 01AE7821 */ addu $t7, $t5, $t6 -/* 01A1E0 700195E0 A5E00000 */ sh $zero, ($t7) -/* 01A1E4 700195E4 8EB9001C */ lw $t9, 0x1c($s5) -/* 01A1E8 700195E8 3078FFFF */ andi $t8, $v1, 0xffff -/* 01A1EC 700195EC 03001825 */ move $v1, $t8 -/* 01A1F0 700195F0 0319082B */ sltu $at, $t8, $t9 -/* 01A1F4 700195F4 5420FFF7 */ bnezl $at, .L700195D4 -/* 01A1F8 700195F8 8EAD0014 */ lw $t5, 0x14($s5) -.L700195FC: -/* 01A1FC 700195FC 92A80024 */ lbu $t0, 0x24($s5) -/* 01A200 70019600 0000A025 */ move $s4, $zero -/* 01A204 70019604 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01A208 70019608 1900009C */ blez $t0, .L7001987C -/* 01A20C 7001960C 241E0001 */ li $fp, 1 -/* 01A210 70019610 4481C000 */ mtc1 $at, $f24 -/* 01A214 70019614 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 01A218 70019618 4481B000 */ mtc1 $at, $f22 -/* 01A21C 7001961C 3C018003 */ lui $at, %hi(F64_80029848) -/* 01A220 70019620 4480D000 */ mtc1 $zero, $f26 -/* 01A224 70019624 D4349848 */ ldc1 $f20, %lo(F64_80029848)($at) -/* 01A228 70019628 24170028 */ li $s7, 40 -.L7001962C: -/* 01A22C 7001962C 02970019 */ multu $s4, $s7 -/* 01A230 70019630 00115880 */ sll $t3, $s1, 2 -/* 01A234 70019634 8EA90020 */ lw $t1, 0x20($s5) -/* 01A238 70019638 026B6021 */ addu $t4, $s3, $t3 -/* 01A23C 7001963C 8D8D0000 */ lw $t5, ($t4) -/* 01A240 70019640 26310001 */ addiu $s1, $s1, 1 -/* 01A244 70019644 322EFFFF */ andi $t6, $s1, 0xffff -/* 01A248 70019648 000E7880 */ sll $t7, $t6, 2 -/* 01A24C 7001964C 026FC021 */ addu $t8, $s3, $t7 -/* 01A250 70019650 25D10001 */ addiu $s1, $t6, 1 -/* 01A254 70019654 00005012 */ mflo $t2 -/* 01A258 70019658 012A8021 */ addu $s0, $t1, $t2 -/* 01A25C 7001965C AE0D0000 */ sw $t5, ($s0) -/* 01A260 70019660 8F190000 */ lw $t9, ($t8) -/* 01A264 70019664 3228FFFF */ andi $t0, $s1, 0xffff -/* 01A268 70019668 00084880 */ sll $t1, $t0, 2 -/* 01A26C 7001966C 02695021 */ addu $t2, $s3, $t1 -/* 01A270 70019670 AE190004 */ sw $t9, 4($s0) -/* 01A274 70019674 8D4B0000 */ lw $t3, ($t2) -/* 01A278 70019678 25110001 */ addiu $s1, $t0, 1 -/* 01A27C 7001967C 322CFFFF */ andi $t4, $s1, 0xffff -/* 01A280 70019680 000C6880 */ sll $t5, $t4, 2 -/* 01A284 70019684 026D7021 */ addu $t6, $s3, $t5 -/* 01A288 70019688 A60B000A */ sh $t3, 0xa($s0) -/* 01A28C 7001968C 8DCF0000 */ lw $t7, ($t6) -/* 01A290 70019690 25910001 */ addiu $s1, $t4, 1 -/* 01A294 70019694 3238FFFF */ andi $t8, $s1, 0xffff -/* 01A298 70019698 0018C880 */ sll $t9, $t8, 2 -/* 01A29C 7001969C 02794021 */ addu $t0, $s3, $t9 -/* 01A2A0 700196A0 A60F0008 */ sh $t7, 8($s0) -/* 01A2A4 700196A4 8D090000 */ lw $t1, ($t0) -/* 01A2A8 700196A8 27110001 */ addiu $s1, $t8, 1 -/* 01A2AC 700196AC 322AFFFF */ andi $t2, $s1, 0xffff -/* 01A2B0 700196B0 000A5880 */ sll $t3, $t2, 2 -/* 01A2B4 700196B4 026B6021 */ addu $t4, $s3, $t3 -/* 01A2B8 700196B8 A609000C */ sh $t1, 0xc($s0) -/* 01A2BC 700196BC 8D820000 */ lw $v0, ($t4) -/* 01A2C0 700196C0 01408825 */ move $s1, $t2 -/* 01A2C4 700196C4 02204025 */ move $t0, $s1 -/* 01A2C8 700196C8 10400040 */ beqz $v0, .L700197CC -/* 01A2CC 700196CC 25110002 */ addiu $s1, $t0, 2 -/* 01A2D0 700196D0 44822000 */ mtc1 $v0, $f4 -/* 01A2D4 700196D4 8FAD006C */ lw $t5, 0x6c($sp) -/* 01A2D8 700196D8 8E180004 */ lw $t8, 4($s0) -/* 01A2DC 700196DC 468021A0 */ cvt.s.w $f6, $f4 -/* 01A2E0 700196E0 8DAE0018 */ lw $t6, 0x18($t5) -/* 01A2E4 700196E4 8E190000 */ lw $t9, ($s0) -/* 01A2E8 700196E8 25510001 */ addiu $s1, $t2, 1 -/* 01A2EC 700196EC 448E8000 */ mtc1 $t6, $f16 -/* 01A2F0 700196F0 322FFFFF */ andi $t7, $s1, 0xffff -/* 01A2F4 700196F4 46163203 */ div.s $f8, $f6, $f22 -/* 01A2F8 700196F8 03194023 */ subu $t0, $t8, $t9 -/* 01A2FC 700196FC 01E08825 */ move $s1, $t7 -/* 01A300 70019700 00114880 */ sll $t1, $s1, 2 -/* 01A304 70019704 468084A1 */ cvt.d.w $f18, $f16 -/* 01A308 70019708 02695021 */ addu $t2, $s3, $t1 -/* 01A30C 7001970C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 01A310 70019710 46004021 */ cvt.d.s $f0, $f8 -/* 01A314 70019714 44884000 */ mtc1 $t0, $f8 -/* 01A318 70019718 46200280 */ add.d $f10, $f0, $f0 -/* 01A31C 7001971C 46804421 */ cvt.d.w $f16, $f8 -/* 01A320 70019720 46325103 */ div.d $f4, $f10, $f18 -/* 01A324 70019724 462021A0 */ cvt.s.d $f6, $f4 -/* 01A328 70019728 05010005 */ bgez $t0, .L70019740 -/* 01A32C 7001972C E6060010 */ swc1 $f6, 0x10($s0) -/* 01A330 70019730 44815800 */ mtc1 $at, $f11 -/* 01A334 70019734 44805000 */ mtc1 $zero, $f10 -/* 01A338 70019738 00000000 */ nop -/* 01A33C 7001973C 462A8400 */ add.d $f16, $f16, $f10 -.L70019740: -/* 01A340 70019740 8D4B0000 */ lw $t3, ($t2) -/* 01A344 70019744 26310001 */ addiu $s1, $s1, 1 -/* 01A348 70019748 322CFFFF */ andi $t4, $s1, 0xffff -/* 01A34C 7001974C 448B9000 */ mtc1 $t3, $f18 -/* 01A350 70019750 E6180014 */ swc1 $f24, 0x14($s0) -/* 01A354 70019754 AE000018 */ sw $zero, 0x18($s0) -/* 01A358 70019758 46809120 */ cvt.s.w $f4, $f18 -/* 01A35C 7001975C 240D0034 */ li $t5, 52 -/* 01A360 70019760 01808825 */ move $s1, $t4 -/* 01A364 70019764 00002025 */ move $a0, $zero -/* 01A368 70019768 00002825 */ move $a1, $zero -/* 01A36C 7001976C 02C03025 */ move $a2, $s6 -/* 01A370 70019770 460021A1 */ cvt.d.s $f6, $f4 -/* 01A374 70019774 03C03825 */ move $a3, $fp -/* 01A378 70019778 46343203 */ div.d $f8, $f6, $f20 -/* 01A37C 7001977C 46304282 */ mul.d $f10, $f8, $f16 -/* 01A380 70019780 462054A0 */ cvt.s.d $f18, $f10 -/* 01A384 70019784 E612001C */ swc1 $f18, 0x1c($s0) -/* 01A388 70019788 0C003AD4 */ jal alHeapDBAlloc -/* 01A38C 7001978C AFAD0010 */ sw $t5, 0x10($sp) -/* 01A390 70019790 AE020024 */ sw $v0, 0x24($s0) -/* 01A394 70019794 240E0020 */ li $t6, 32 -/* 01A398 70019798 AFAE0010 */ sw $t6, 0x10($sp) -/* 01A39C 7001979C 00002025 */ move $a0, $zero -/* 01A3A0 700197A0 00002825 */ move $a1, $zero -/* 01A3A4 700197A4 02C03025 */ move $a2, $s6 -/* 01A3A8 700197A8 0C003AD4 */ jal alHeapDBAlloc -/* 01A3AC 700197AC 03C03825 */ move $a3, $fp -/* 01A3B0 700197B0 8E0F0024 */ lw $t7, 0x24($s0) -/* 01A3B4 700197B4 ADE20014 */ sw $v0, 0x14($t7) -/* 01A3B8 700197B8 8E180024 */ lw $t8, 0x24($s0) -/* 01A3BC 700197BC E71A0020 */ swc1 $f26, 0x20($t8) -/* 01A3C0 700197C0 8E190024 */ lw $t9, 0x24($s0) -/* 01A3C4 700197C4 10000004 */ b .L700197D8 -/* 01A3C8 700197C8 AF3E0024 */ sw $fp, 0x24($t9) -.L700197CC: -/* 01A3CC 700197CC 3229FFFF */ andi $t1, $s1, 0xffff -/* 01A3D0 700197D0 AE000024 */ sw $zero, 0x24($s0) -/* 01A3D4 700197D4 01208825 */ move $s1, $t1 -.L700197D8: -/* 01A3D8 700197D8 00115080 */ sll $t2, $s1, 2 -/* 01A3DC 700197DC 026A9021 */ addu $s2, $s3, $t2 -/* 01A3E0 700197E0 8E4B0000 */ lw $t3, ($s2) -/* 01A3E4 700197E4 00002025 */ move $a0, $zero -/* 01A3E8 700197E8 00002825 */ move $a1, $zero -/* 01A3EC 700197EC 11600019 */ beqz $t3, .L70019854 -/* 01A3F0 700197F0 02C03025 */ move $a2, $s6 -/* 01A3F4 700197F4 240C0030 */ li $t4, 48 -/* 01A3F8 700197F8 AFAC0010 */ sw $t4, 0x10($sp) -/* 01A3FC 700197FC 0C003AD4 */ jal alHeapDBAlloc -/* 01A400 70019800 03C03825 */ move $a3, $fp -/* 01A404 70019804 AE020020 */ sw $v0, 0x20($s0) -/* 01A408 70019808 240D0008 */ li $t5, 8 -/* 01A40C 7001980C AFAD0010 */ sw $t5, 0x10($sp) -/* 01A410 70019810 00002025 */ move $a0, $zero -/* 01A414 70019814 00002825 */ move $a1, $zero -/* 01A418 70019818 02C03025 */ move $a2, $s6 -/* 01A41C 7001981C 0C003AD4 */ jal alHeapDBAlloc -/* 01A420 70019820 03C03825 */ move $a3, $fp -/* 01A424 70019824 8E0E0020 */ lw $t6, 0x20($s0) -/* 01A428 70019828 26310001 */ addiu $s1, $s1, 1 -/* 01A42C 7001982C 3239FFFF */ andi $t9, $s1, 0xffff -/* 01A430 70019830 ADC20028 */ sw $v0, 0x28($t6) -/* 01A434 70019834 8E180020 */ lw $t8, 0x20($s0) -/* 01A438 70019838 8E4F0000 */ lw $t7, ($s2) -/* 01A43C 7001983C 03208825 */ move $s1, $t9 -/* 01A440 70019840 A70F0000 */ sh $t7, ($t8) -/* 01A444 70019844 0C0064F8 */ jal init_lpfilter -/* 01A448 70019848 8E040020 */ lw $a0, 0x20($s0) -/* 01A44C 7001984C 10000006 */ b .L70019868 -/* 01A450 70019850 92AA0024 */ lbu $t2, 0x24($s5) -.L70019854: -/* 01A454 70019854 26310001 */ addiu $s1, $s1, 1 -/* 01A458 70019858 3228FFFF */ andi $t0, $s1, 0xffff -/* 01A45C 7001985C AE000020 */ sw $zero, 0x20($s0) -/* 01A460 70019860 01008825 */ move $s1, $t0 -/* 01A464 70019864 92AA0024 */ lbu $t2, 0x24($s5) -.L70019868: -/* 01A468 70019868 26940001 */ addiu $s4, $s4, 1 -/* 01A46C 7001986C 3289FFFF */ andi $t1, $s4, 0xffff -/* 01A470 70019870 012A082A */ slt $at, $t1, $t2 -/* 01A474 70019874 1420FF6D */ bnez $at, .L7001962C -/* 01A478 70019878 0120A025 */ move $s4, $t1 -.L7001987C: -/* 01A47C 7001987C 8FBF0064 */ lw $ra, 0x64($sp) -/* 01A480 70019880 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 01A484 70019884 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 01A488 70019888 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 01A48C 7001988C D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 01A490 70019890 8FB00040 */ lw $s0, 0x40($sp) -/* 01A494 70019894 8FB10044 */ lw $s1, 0x44($sp) -/* 01A498 70019898 8FB20048 */ lw $s2, 0x48($sp) -/* 01A49C 7001989C 8FB3004C */ lw $s3, 0x4c($sp) -/* 01A4A0 700198A0 8FB40050 */ lw $s4, 0x50($sp) -/* 01A4A4 700198A4 8FB50054 */ lw $s5, 0x54($sp) -/* 01A4A8 700198A8 8FB60058 */ lw $s6, 0x58($sp) -/* 01A4AC 700198AC 8FB7005C */ lw $s7, 0x5c($sp) -/* 01A4B0 700198B0 8FBE0060 */ lw $fp, 0x60($sp) -/* 01A4B4 700198B4 03E00008 */ jr $ra -/* 01A4B8 700198B8 27BD0068 */ addiu $sp, $sp, 0x68 - -/* 01A4BC 700198BC 00000000 */ nop - -.section .data -glabel SMALLROOM_PARAMS -.word 3, 0xFA0, 0, 0x870, 0x2666,0xFFFFD99A, 0, 0 -.word 0, 0, 0x2F8, 0x5F0, 0xCCC,0xFFFFF334, 0x3FFF, 0 -.word 0, 0, 0, 0x960, 0x1388, 0, 0, 0 -.word 0, 0x5000 -glabel BIGROOM_PARAMS -.word 4, 0xFA0, 0, 0xA50, 0x2666,0xFFFFD99A, 0, 0 -.word 0, 0, 0x370, 0x870, 0xCCC,0xFFFFF334, 0x3FFF, 0 -.word 0, 0, 0xA50, 0xE38, 0xCCC,0xFFFFF334, 0x3FFF, 0 -.word 0, 0, 0, 0xEB0, 0x1F40, 0, 0, 0 -.word 0, 0x5000 -glabel ECHO_PARAMS -.word 1, 0x1F40, 0, 0x1BF8, 0x2EE0, 0, 0x7FFF, 0 -.word 0, 0 -glabel CHORUS_PARAMS -.word 1, 0x320, 0, 0xC8, 0x4000, 0, 0x7FFF, 0x1DB0 -.word 0x2BC, 0 -glabel FLANGE_PARAMS -.word 1, 0x320, 0, 0xC8, 0, 0x5FFF, 0x7FFF, 0x17C -.word 0x1F4, 0 -glabel NULL_PARAMS -.word 0, 0, 0, 0, 0, 0, 0, 0 -.word 0, 0 -.section .rodata -glabel jpt_80029830 -.word .L70019528 -.word .L70019534 -.word .L7001954C -.word .L70019558 -.word .L70019540 -.word .L70019564 -glabel F64_80029848 -.double 173123.404906676 - -.section .text -glabel alSynAllocFX -/* 01A4C0 700198C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01A4C4 700198C4 00054400 */ sll $t0, $a1, 0x10 -/* 01A4C8 700198C8 00087403 */ sra $t6, $t0, 0x10 -/* 01A4CC 700198CC AFB10018 */ sw $s1, 0x18($sp) -/* 01A4D0 700198D0 000E8880 */ sll $s1, $t6, 2 -/* 01A4D4 700198D4 AFBF001C */ sw $ra, 0x1c($sp) -/* 01A4D8 700198D8 AFB00014 */ sw $s0, 0x14($sp) -/* 01A4DC 700198DC AFA50024 */ sw $a1, 0x24($sp) -/* 01A4E0 700198E0 022E8821 */ addu $s1, $s1, $t6 -/* 01A4E4 700198E4 8C8F0034 */ lw $t7, 0x34($a0) -/* 01A4E8 700198E8 00118880 */ sll $s1, $s1, 2 -/* 01A4EC 700198EC 022E8823 */ subu $s1, $s1, $t6 -/* 01A4F0 700198F0 00808025 */ move $s0, $a0 -/* 01A4F4 700198F4 00118880 */ sll $s1, $s1, 2 -/* 01A4F8 700198F8 00C02825 */ move $a1, $a2 -/* 01A4FC 700198FC 01F12021 */ addu $a0, $t7, $s1 -/* 01A500 70019900 24840020 */ addiu $a0, $a0, 0x20 -/* 01A504 70019904 0C006520 */ jal alFxNew -/* 01A508 70019908 00E03025 */ move $a2, $a3 -/* 01A50C 7001990C 8E180034 */ lw $t8, 0x34($s0) -/* 01A510 70019910 24050001 */ li $a1, 1 -/* 01A514 70019914 03113021 */ addu $a2, $t8, $s1 -/* 01A518 70019918 0C008070 */ jal alFxParam -/* 01A51C 7001991C 24C40020 */ addiu $a0, $a2, 0x20 -/* 01A520 70019920 8E190034 */ lw $t9, 0x34($s0) -/* 01A524 70019924 8E040030 */ lw $a0, 0x30($s0) -/* 01A528 70019928 24050002 */ li $a1, 2 -/* 01A52C 7001992C 03313021 */ addu $a2, $t9, $s1 -/* 01A530 70019930 0C006658 */ jal alMainBusParam -/* 01A534 70019934 24C60020 */ addiu $a2, $a2, 0x20 -/* 01A538 70019938 8E0A0034 */ lw $t2, 0x34($s0) -/* 01A53C 7001993C 8FBF001C */ lw $ra, 0x1c($sp) -/* 01A540 70019940 8FB00014 */ lw $s0, 0x14($sp) -/* 01A544 70019944 01511021 */ addu $v0, $t2, $s1 -/* 01A548 70019948 8FB10018 */ lw $s1, 0x18($sp) -/* 01A54C 7001994C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01A550 70019950 03E00008 */ jr $ra -/* 01A554 70019954 24420020 */ addiu $v0, $v0, 0x20 - -/* 01A558 70019958 00000000 */ nop -/* 01A55C 7001995C 00000000 */ nop -glabel alMainBusParam -/* 01A560 70019960 24010002 */ li $at, 2 -/* 01A564 70019964 14A10008 */ bne $a1, $at, .L70019988 -/* 01A568 70019968 8C82001C */ lw $v0, 0x1c($a0) -/* 01A56C 7001996C 8C8E0014 */ lw $t6, 0x14($a0) -/* 01A570 70019970 000E7880 */ sll $t7, $t6, 2 -/* 01A574 70019974 004FC021 */ addu $t8, $v0, $t7 -/* 01A578 70019978 AF060000 */ sw $a2, ($t8) -/* 01A57C 7001997C 8C990014 */ lw $t9, 0x14($a0) -/* 01A580 70019980 27280001 */ addiu $t0, $t9, 1 -/* 01A584 70019984 AC880014 */ sw $t0, 0x14($a0) -.L70019988: -/* 01A588 70019988 03E00008 */ jr $ra -/* 01A58C 7001998C 00001025 */ move $v0, $zero - -glabel alMainBusPull -/* 01A590 70019990 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 01A594 70019994 8FA80058 */ lw $t0, 0x58($sp) -/* 01A598 70019998 AFBF0044 */ sw $ra, 0x44($sp) -/* 01A59C 7001999C AFBE0040 */ sw $fp, 0x40($sp) -/* 01A5A0 700199A0 AFB7003C */ sw $s7, 0x3c($sp) -/* 01A5A4 700199A4 AFB60038 */ sw $s6, 0x38($sp) -/* 01A5A8 700199A8 AFB50034 */ sw $s5, 0x34($sp) -/* 01A5AC 700199AC AFB40030 */ sw $s4, 0x30($sp) -/* 01A5B0 700199B0 AFB3002C */ sw $s3, 0x2c($sp) -/* 01A5B4 700199B4 AFB20028 */ sw $s2, 0x28($sp) -/* 01A5B8 700199B8 AFB10024 */ sw $s1, 0x24($sp) -/* 01A5BC 700199BC AFB00020 */ sw $s0, 0x20($sp) -/* 01A5C0 700199C0 8C83001C */ lw $v1, 0x1c($a0) -/* 01A5C4 700199C4 3C0E0200 */ lui $t6, (0x02000440 >> 16) # lui $t6, 0x200 -/* 01A5C8 700199C8 00061040 */ sll $v0, $a2, 1 -/* 01A5CC 700199CC 3C0F0200 */ lui $t7, (0x02000580 >> 16) # lui $t7, 0x200 -/* 01A5D0 700199D0 35CE0440 */ ori $t6, (0x02000440 & 0xFFFF) # ori $t6, $t6, 0x440 -/* 01A5D4 700199D4 35EF0580 */ ori $t7, (0x02000580 & 0xFFFF) # ori $t7, $t7, 0x580 -/* 01A5D8 700199D8 AD0E0000 */ sw $t6, ($t0) -/* 01A5DC 700199DC AD020004 */ sw $v0, 4($t0) -/* 01A5E0 700199E0 AD0F0008 */ sw $t7, 8($t0) -/* 01A5E4 700199E4 AD02000C */ sw $v0, 0xc($t0) -/* 01A5E8 700199E8 8C980014 */ lw $t8, 0x14($a0) -/* 01A5EC 700199EC 00C0A825 */ move $s5, $a2 -/* 01A5F0 700199F0 00A0B825 */ move $s7, $a1 -/* 01A5F4 700199F4 00E0F025 */ move $fp, $a3 -/* 01A5F8 700199F8 0080A025 */ move $s4, $a0 -/* 01A5FC 700199FC 00008025 */ move $s0, $zero -/* 01A600 70019A00 1B00001E */ blez $t8, .L70019A7C -/* 01A604 70019A04 25130010 */ addiu $s3, $t0, 0x10 -/* 01A608 70019A08 3C120C00 */ lui $s2, (0x0C007FFF >> 16) # lui $s2, 0xc00 -/* 01A60C 70019A0C 36527FFF */ ori $s2, (0x0C007FFF & 0xFFFF) # ori $s2, $s2, 0x7fff -/* 01A610 70019A10 00608825 */ move $s1, $v1 -/* 01A614 70019A14 3056FFFF */ andi $s6, $v0, 0xffff -.L70019A18: -/* 01A618 70019A18 8E240000 */ lw $a0, ($s1) -/* 01A61C 70019A1C AFB30010 */ sw $s3, 0x10($sp) -/* 01A620 70019A20 02E02825 */ move $a1, $s7 -/* 01A624 70019A24 8C990004 */ lw $t9, 4($a0) -/* 01A628 70019A28 02A03025 */ move $a2, $s5 -/* 01A62C 70019A2C 03C03825 */ move $a3, $fp -/* 01A630 70019A30 0320F809 */ jalr $t9 -/* 01A634 70019A34 00000000 */ nop -/* 01A638 70019A38 3C0A06C0 */ lui $t2, (0x06C00440 >> 16) # lui $t2, 0x6c0 -/* 01A63C 70019A3C 3C0B0800 */ lui $t3, (0x08000580 >> 16) # lui $t3, 0x800 -/* 01A640 70019A40 3C090800 */ lui $t1, 0x800 -/* 01A644 70019A44 354A0440 */ ori $t2, (0x06C00440 & 0xFFFF) # ori $t2, $t2, 0x440 -/* 01A648 70019A48 356B0580 */ ori $t3, (0x08000580 & 0xFFFF) # ori $t3, $t3, 0x580 -/* 01A64C 70019A4C AC490000 */ sw $t1, ($v0) -/* 01A650 70019A50 AC560004 */ sw $s6, 4($v0) -/* 01A654 70019A54 AC4A000C */ sw $t2, 0xc($v0) -/* 01A658 70019A58 AC520008 */ sw $s2, 8($v0) -/* 01A65C 70019A5C AC4B0014 */ sw $t3, 0x14($v0) -/* 01A660 70019A60 AC520010 */ sw $s2, 0x10($v0) -/* 01A664 70019A64 8E8C0014 */ lw $t4, 0x14($s4) -/* 01A668 70019A68 26100001 */ addiu $s0, $s0, 1 -/* 01A66C 70019A6C 26310004 */ addiu $s1, $s1, 4 -/* 01A670 70019A70 020C082A */ slt $at, $s0, $t4 -/* 01A674 70019A74 1420FFE8 */ bnez $at, .L70019A18 -/* 01A678 70019A78 24530018 */ addiu $s3, $v0, 0x18 -.L70019A7C: -/* 01A67C 70019A7C 8FBF0044 */ lw $ra, 0x44($sp) -/* 01A680 70019A80 02601025 */ move $v0, $s3 -/* 01A684 70019A84 8FB3002C */ lw $s3, 0x2c($sp) -/* 01A688 70019A88 8FB00020 */ lw $s0, 0x20($sp) -/* 01A68C 70019A8C 8FB10024 */ lw $s1, 0x24($sp) -/* 01A690 70019A90 8FB20028 */ lw $s2, 0x28($sp) -/* 01A694 70019A94 8FB40030 */ lw $s4, 0x30($sp) -/* 01A698 70019A98 8FB50034 */ lw $s5, 0x34($sp) -/* 01A69C 70019A9C 8FB60038 */ lw $s6, 0x38($sp) -/* 01A6A0 70019AA0 8FB7003C */ lw $s7, 0x3c($sp) -/* 01A6A4 70019AA4 8FBE0040 */ lw $fp, 0x40($sp) -/* 01A6A8 70019AA8 03E00008 */ jr $ra -/* 01A6AC 70019AAC 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel alLoadParam -/* 01A6B0 70019AB0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01A6B4 70019AB4 24010004 */ li $at, 4 -/* 01A6B8 70019AB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 01A6BC 70019ABC 10A10055 */ beq $a1, $at, .L70019C14 -/* 01A6C0 70019AC0 00803825 */ move $a3, $a0 -/* 01A6C4 70019AC4 24010005 */ li $at, 5 -/* 01A6C8 70019AC8 54A1006B */ bnel $a1, $at, .L70019C78 -/* 01A6CC 70019ACC 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A6D0 70019AD0 AC860028 */ sw $a2, 0x28($a0) -/* 01A6D4 70019AD4 8CCE0000 */ lw $t6, ($a2) -/* 01A6D8 70019AD8 AC800038 */ sw $zero, 0x38($a0) -/* 01A6DC 70019ADC 3C0F7002 */ lui $t7, %hi(alAdpcmPull) # $t7, 0x7002 -/* 01A6E0 70019AE0 AC8E0044 */ sw $t6, 0x44($a0) -/* 01A6E4 70019AE4 90C20008 */ lbu $v0, 8($a2) -/* 01A6E8 70019AE8 50400007 */ beql $v0, $zero, .L70019B08 -/* 01A6EC 70019AEC 8CE20028 */ lw $v0, 0x28($a3) -/* 01A6F0 70019AF0 24040001 */ li $a0, 1 -/* 01A6F4 70019AF4 10440034 */ beq $v0, $a0, .L70019BC8 -/* 01A6F8 70019AF8 3C087002 */ lui $t0, %hi(alRaw16Pull) # $t0, 0x7002 -/* 01A6FC 70019AFC 1000005E */ b .L70019C78 -/* 01A700 70019B00 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A704 70019B04 8CE20028 */ lw $v0, 0x28($a3) -.L70019B08: -/* 01A708 70019B08 25EFA15C */ addiu $t7, %lo(alAdpcmPull) # addiu $t7, $t7, -0x5ea4 -/* 01A70C 70019B0C ACEF0004 */ sw $t7, 4($a3) -/* 01A710 70019B10 8C580004 */ lw $t8, 4($v0) -/* 01A714 70019B14 24050009 */ li $a1, 9 -/* 01A718 70019B18 0305001A */ div $zero, $t8, $a1 -/* 01A71C 70019B1C 0000C812 */ mflo $t9 -/* 01A720 70019B20 14A00002 */ bnez $a1, .L70019B2C -/* 01A724 70019B24 00000000 */ nop -/* 01A728 70019B28 0007000D */ break 7 -.L70019B2C: -/* 01A72C 70019B2C 2401FFFF */ li $at, -1 -/* 01A730 70019B30 14A10004 */ bne $a1, $at, .L70019B44 -/* 01A734 70019B34 3C018000 */ lui $at, 0x8000 -/* 01A738 70019B38 17010002 */ bne $t8, $at, .L70019B44 -/* 01A73C 70019B3C 00000000 */ nop -/* 01A740 70019B40 0006000D */ break 6 -.L70019B44: -/* 01A744 70019B44 03250019 */ multu $t9, $a1 -/* 01A748 70019B48 00004012 */ mflo $t0 -/* 01A74C 70019B4C AC480004 */ sw $t0, 4($v0) -/* 01A750 70019B50 8CE20028 */ lw $v0, 0x28($a3) -/* 01A754 70019B54 8C440010 */ lw $a0, 0x10($v0) -/* 01A758 70019B58 8C890000 */ lw $t1, ($a0) -/* 01A75C 70019B5C 8C8B0004 */ lw $t3, 4($a0) -/* 01A760 70019B60 00095100 */ sll $t2, $t1, 4 -/* 01A764 70019B64 014B0019 */ multu $t2, $t3 -/* 01A768 70019B68 00006012 */ mflo $t4 -/* 01A76C 70019B6C ACEC002C */ sw $t4, 0x2c($a3) -/* 01A770 70019B70 8C43000C */ lw $v1, 0xc($v0) -/* 01A774 70019B74 50600011 */ beql $v1, $zero, .L70019BBC -/* 01A778 70019B78 ACE00024 */ sw $zero, 0x24($a3) -/* 01A77C 70019B7C 8C6D0000 */ lw $t5, ($v1) -/* 01A780 70019B80 8CE50018 */ lw $a1, 0x18($a3) -/* 01A784 70019B84 24060020 */ li $a2, 32 -/* 01A788 70019B88 ACED001C */ sw $t5, 0x1c($a3) -/* 01A78C 70019B8C 8C4E000C */ lw $t6, 0xc($v0) -/* 01A790 70019B90 8DCF0004 */ lw $t7, 4($t6) -/* 01A794 70019B94 ACEF0020 */ sw $t7, 0x20($a3) -/* 01A798 70019B98 8C58000C */ lw $t8, 0xc($v0) -/* 01A79C 70019B9C 8F190008 */ lw $t9, 8($t8) -/* 01A7A0 70019BA0 ACF90024 */ sw $t9, 0x24($a3) -/* 01A7A4 70019BA4 8C44000C */ lw $a0, 0xc($v0) -/* 01A7A8 70019BA8 0C0075A4 */ jal alCopy -/* 01A7AC 70019BAC 2484000C */ addiu $a0, $a0, 0xc -/* 01A7B0 70019BB0 10000031 */ b .L70019C78 -/* 01A7B4 70019BB4 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A7B8 70019BB8 ACE00024 */ sw $zero, 0x24($a3) -.L70019BBC: -/* 01A7BC 70019BBC ACE00020 */ sw $zero, 0x20($a3) -/* 01A7C0 70019BC0 1000002C */ b .L70019C74 -/* 01A7C4 70019BC4 ACE0001C */ sw $zero, 0x1c($a3) -.L70019BC8: -/* 01A7C8 70019BC8 8CE20028 */ lw $v0, 0x28($a3) -/* 01A7CC 70019BCC 25089C84 */ addiu $t0, %lo(alRaw16Pull) # addiu $t0, $t0, -0x637c -/* 01A7D0 70019BD0 ACE80004 */ sw $t0, 4($a3) -/* 01A7D4 70019BD4 8C43000C */ lw $v1, 0xc($v0) -/* 01A7D8 70019BD8 5060000B */ beql $v1, $zero, .L70019C08 -/* 01A7DC 70019BDC ACE00024 */ sw $zero, 0x24($a3) -/* 01A7E0 70019BE0 8C690000 */ lw $t1, ($v1) -/* 01A7E4 70019BE4 ACE9001C */ sw $t1, 0x1c($a3) -/* 01A7E8 70019BE8 8C4A000C */ lw $t2, 0xc($v0) -/* 01A7EC 70019BEC 8D4B0004 */ lw $t3, 4($t2) -/* 01A7F0 70019BF0 ACEB0020 */ sw $t3, 0x20($a3) -/* 01A7F4 70019BF4 8C4C000C */ lw $t4, 0xc($v0) -/* 01A7F8 70019BF8 8D8D0008 */ lw $t5, 8($t4) -/* 01A7FC 70019BFC 1000001D */ b .L70019C74 -/* 01A800 70019C00 ACED0024 */ sw $t5, 0x24($a3) -/* 01A804 70019C04 ACE00024 */ sw $zero, 0x24($a3) -.L70019C08: -/* 01A808 70019C08 ACE00020 */ sw $zero, 0x20($a3) -/* 01A80C 70019C0C 10000019 */ b .L70019C74 -/* 01A810 70019C10 ACE0001C */ sw $zero, 0x1c($a3) -.L70019C14: -/* 01A814 70019C14 8CE20028 */ lw $v0, 0x28($a3) -/* 01A818 70019C18 24040001 */ li $a0, 1 -/* 01A81C 70019C1C ACE0003C */ sw $zero, 0x3c($a3) -/* 01A820 70019C20 ACE40040 */ sw $a0, 0x40($a3) -/* 01A824 70019C24 10400013 */ beqz $v0, .L70019C74 -/* 01A828 70019C28 ACE00038 */ sw $zero, 0x38($a3) -/* 01A82C 70019C2C 8C4E0000 */ lw $t6, ($v0) -/* 01A830 70019C30 ACEE0044 */ sw $t6, 0x44($a3) -/* 01A834 70019C34 90430008 */ lbu $v1, 8($v0) -/* 01A838 70019C38 14600007 */ bnez $v1, .L70019C58 -/* 01A83C 70019C3C 00000000 */ nop -/* 01A840 70019C40 8C43000C */ lw $v1, 0xc($v0) -/* 01A844 70019C44 5060000C */ beql $v1, $zero, .L70019C78 -/* 01A848 70019C48 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A84C 70019C4C 8C6F0008 */ lw $t7, 8($v1) -/* 01A850 70019C50 10000008 */ b .L70019C74 -/* 01A854 70019C54 ACEF0024 */ sw $t7, 0x24($a3) -.L70019C58: -/* 01A858 70019C58 54830007 */ bnel $a0, $v1, .L70019C78 -/* 01A85C 70019C5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A860 70019C60 8C43000C */ lw $v1, 0xc($v0) -/* 01A864 70019C64 50600004 */ beql $v1, $zero, .L70019C78 -/* 01A868 70019C68 8FBF0014 */ lw $ra, 0x14($sp) -/* 01A86C 70019C6C 8C780008 */ lw $t8, 8($v1) -/* 01A870 70019C70 ACF80024 */ sw $t8, 0x24($a3) -.L70019C74: -/* 01A874 70019C74 8FBF0014 */ lw $ra, 0x14($sp) -.L70019C78: -/* 01A878 70019C78 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01A87C 70019C7C 03E00008 */ jr $ra -/* 01A880 70019C80 00000000 */ nop - -glabel alRaw16Pull -/* 01A884 70019C84 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 01A888 70019C88 8FA80060 */ lw $t0, 0x60($sp) -/* 01A88C 70019C8C AFB30020 */ sw $s3, 0x20($sp) -/* 01A890 70019C90 AFB00014 */ sw $s0, 0x14($sp) -/* 01A894 70019C94 00808025 */ move $s0, $a0 -/* 01A898 70019C98 00C09825 */ move $s3, $a2 -/* 01A89C 70019C9C AFBF0024 */ sw $ra, 0x24($sp) -/* 01A8A0 70019CA0 AFB2001C */ sw $s2, 0x1c($sp) -/* 01A8A4 70019CA4 AFB10018 */ sw $s1, 0x18($sp) -/* 01A8A8 70019CA8 AFA7005C */ sw $a3, 0x5c($sp) -/* 01A8AC 70019CAC 00A05025 */ move $t2, $a1 -/* 01A8B0 70019CB0 14C00003 */ bnez $a2, .L70019CC0 -/* 01A8B4 70019CB4 01004825 */ move $t1, $t0 -/* 01A8B8 70019CB8 100000D6 */ b .L7001A014 -/* 01A8BC 70019CBC 01001025 */ move $v0, $t0 -.L70019CC0: -/* 01A8C0 70019CC0 8E020038 */ lw $v0, 0x38($s0) -/* 01A8C4 70019CC4 8E030020 */ lw $v1, 0x20($s0) -/* 01A8C8 70019CC8 00537021 */ addu $t6, $v0, $s3 -/* 01A8CC 70019CCC 006E082B */ sltu $at, $v1, $t6 -/* 01A8D0 70019CD0 50200084 */ beql $at, $zero, .L70019EE4 -/* 01A8D4 70019CD4 8E020028 */ lw $v0, 0x28($s0) -/* 01A8D8 70019CD8 8E0F0024 */ lw $t7, 0x24($s0) -/* 01A8DC 70019CDC 00629023 */ subu $s2, $v1, $v0 -/* 01A8E0 70019CE0 51E00080 */ beql $t7, $zero, .L70019EE4 -/* 01A8E4 70019CE4 8E020028 */ lw $v0, 0x28($s0) -/* 01A8E8 70019CE8 1A40001E */ blez $s2, .L70019D64 -/* 01A8EC 70019CEC 00128840 */ sll $s1, $s2, 1 -/* 01A8F0 70019CF0 8E040044 */ lw $a0, 0x44($s0) -/* 01A8F4 70019CF4 8E060034 */ lw $a2, 0x34($s0) -/* 01A8F8 70019CF8 AFAA0054 */ sw $t2, 0x54($sp) -/* 01A8FC 70019CFC 8E190030 */ lw $t9, 0x30($s0) -/* 01A900 70019D00 02202825 */ move $a1, $s1 -/* 01A904 70019D04 0320F809 */ jalr $t9 -/* 01A908 70019D08 00000000 */ nop -/* 01A90C 70019D0C 8FAA0054 */ lw $t2, 0x54($sp) -/* 01A910 70019D10 30460007 */ andi $a2, $v0, 7 -/* 01A914 70019D14 8FA80060 */ lw $t0, 0x60($sp) -/* 01A918 70019D18 85580000 */ lh $t8, ($t2) -/* 01A91C 70019D1C 02263821 */ addu $a3, $s1, $a2 -/* 01A920 70019D20 30ED0007 */ andi $t5, $a3, 7 -/* 01A924 70019D24 00ED7023 */ subu $t6, $a3, $t5 -/* 01A928 70019D28 3C010800 */ lui $at, 0x800 -/* 01A92C 70019D2C 330BFFFF */ andi $t3, $t8, 0xffff -/* 01A930 70019D30 01616025 */ or $t4, $t3, $at -/* 01A934 70019D34 25CF0008 */ addiu $t7, $t6, 8 -/* 01A938 70019D38 25090008 */ addiu $t1, $t0, 8 -/* 01A93C 70019D3C 31F9FFFF */ andi $t9, $t7, 0xffff -/* 01A940 70019D40 01202025 */ move $a0, $t1 -/* 01A944 70019D44 00465823 */ subu $t3, $v0, $a2 -/* 01A948 70019D48 3C180400 */ lui $t8, 0x400 -/* 01A94C 70019D4C AD190004 */ sw $t9, 4($t0) -/* 01A950 70019D50 AD0C0000 */ sw $t4, ($t0) -/* 01A954 70019D54 AC8B0004 */ sw $t3, 4($a0) -/* 01A958 70019D58 AC980000 */ sw $t8, ($a0) -/* 01A95C 70019D5C 10000002 */ b .L70019D68 -/* 01A960 70019D60 25290008 */ addiu $t1, $t1, 8 -.L70019D64: -/* 01A964 70019D64 00003025 */ move $a2, $zero -.L70019D68: -/* 01A968 70019D68 854C0000 */ lh $t4, ($t2) -/* 01A96C 70019D6C 0253082A */ slt $at, $s2, $s3 -/* 01A970 70019D70 01866821 */ addu $t5, $t4, $a2 -/* 01A974 70019D74 A54D0000 */ sh $t5, ($t2) -/* 01A978 70019D78 8E0E0028 */ lw $t6, 0x28($s0) -/* 01A97C 70019D7C 8E02001C */ lw $v0, 0x1c($s0) -/* 01A980 70019D80 8DCF0000 */ lw $t7, ($t6) -/* 01A984 70019D84 0002C840 */ sll $t9, $v0, 1 -/* 01A988 70019D88 AE020038 */ sw $v0, 0x38($s0) -/* 01A98C 70019D8C 01F9C021 */ addu $t8, $t7, $t9 -/* 01A990 70019D90 AE180044 */ sw $t8, 0x44($s0) -/* 01A994 70019D94 10200049 */ beqz $at, .L70019EBC -/* 01A998 70019D98 85480000 */ lh $t0, ($t2) -/* 01A99C 70019D9C 8E020024 */ lw $v0, 0x24($s0) -.L70019DA0: -/* 01A9A0 70019DA0 2401FFFF */ li $at, -1 -/* 01A9A4 70019DA4 01114021 */ addu $t0, $t0, $s1 -/* 01A9A8 70019DA8 10410004 */ beq $v0, $at, .L70019DBC -/* 01A9AC 70019DAC 02729823 */ subu $s3, $s3, $s2 -/* 01A9B0 70019DB0 10400002 */ beqz $v0, .L70019DBC -/* 01A9B4 70019DB4 244BFFFF */ addiu $t3, $v0, -1 -/* 01A9B8 70019DB8 AE0B0024 */ sw $t3, 0x24($s0) -.L70019DBC: -/* 01A9BC 70019DBC 8E0C0020 */ lw $t4, 0x20($s0) -/* 01A9C0 70019DC0 8E0D001C */ lw $t5, 0x1c($s0) -/* 01A9C4 70019DC4 018D1023 */ subu $v0, $t4, $t5 -/* 01A9C8 70019DC8 0262082B */ sltu $at, $s3, $v0 -/* 01A9CC 70019DCC 10200003 */ beqz $at, .L70019DDC -/* 01A9D0 70019DD0 00409025 */ move $s2, $v0 -/* 01A9D4 70019DD4 10000001 */ b .L70019DDC -/* 01A9D8 70019DD8 02609025 */ move $s2, $s3 -.L70019DDC: -/* 01A9DC 70019DDC 8E040044 */ lw $a0, 0x44($s0) -/* 01A9E0 70019DE0 8E060034 */ lw $a2, 0x34($s0) -/* 01A9E4 70019DE4 AFA9004C */ sw $t1, 0x4c($sp) -/* 01A9E8 70019DE8 AFA8002C */ sw $t0, 0x2c($sp) -/* 01A9EC 70019DEC 8E190030 */ lw $t9, 0x30($s0) -/* 01A9F0 70019DF0 00128840 */ sll $s1, $s2, 1 -/* 01A9F4 70019DF4 02202825 */ move $a1, $s1 -/* 01A9F8 70019DF8 0320F809 */ jalr $t9 -/* 01A9FC 70019DFC 00000000 */ nop -/* 01AA00 70019E00 8FA8002C */ lw $t0, 0x2c($sp) -/* 01AA04 70019E04 30450007 */ andi $a1, $v0, 7 -/* 01AA08 70019E08 8FA9004C */ lw $t1, 0x4c($sp) -/* 01AA0C 70019E0C 31030007 */ andi $v1, $t0, 7 -/* 01AA10 70019E10 10600004 */ beqz $v1, .L70019E24 -/* 01AA14 70019E14 02253821 */ addu $a3, $s1, $a1 -/* 01AA18 70019E18 240E0008 */ li $t6, 8 -/* 01AA1C 70019E1C 10000002 */ b .L70019E28 -/* 01AA20 70019E20 01C33023 */ subu $a2, $t6, $v1 -.L70019E24: -/* 01AA24 70019E24 00003025 */ move $a2, $zero -.L70019E28: -/* 01AA28 70019E28 01067821 */ addu $t7, $t0, $a2 -/* 01AA2C 70019E2C 30EC0007 */ andi $t4, $a3, 7 -/* 01AA30 70019E30 00EC6823 */ subu $t5, $a3, $t4 -/* 01AA34 70019E34 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01AA38 70019E38 01201825 */ move $v1, $t1 -/* 01AA3C 70019E3C 3C010800 */ lui $at, 0x800 -/* 01AA40 70019E40 03015825 */ or $t3, $t8, $at -/* 01AA44 70019E44 25290008 */ addiu $t1, $t1, 8 -/* 01AA48 70019E48 25B90008 */ addiu $t9, $t5, 8 -/* 01AA4C 70019E4C 332EFFFF */ andi $t6, $t9, 0xffff -/* 01AA50 70019E50 01202025 */ move $a0, $t1 -/* 01AA54 70019E54 AC6E0004 */ sw $t6, 4($v1) -/* 01AA58 70019E58 AC6B0000 */ sw $t3, ($v1) -/* 01AA5C 70019E5C 0045C023 */ subu $t8, $v0, $a1 -/* 01AA60 70019E60 3C0F0400 */ lui $t7, 0x400 -/* 01AA64 70019E64 AC8F0000 */ sw $t7, ($a0) -/* 01AA68 70019E68 AC980004 */ sw $t8, 4($a0) -/* 01AA6C 70019E6C 14A00002 */ bnez $a1, .L70019E78 -/* 01AA70 70019E70 25290008 */ addiu $t1, $t1, 8 -/* 01AA74 70019E74 10C0000E */ beqz $a2, .L70019EB0 -.L70019E78: -/* 01AA78 70019E78 01055821 */ addu $t3, $t0, $a1 -/* 01AA7C 70019E7C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01AA80 70019E80 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01AA84 70019E84 01666021 */ addu $t4, $t3, $a2 -/* 01AA88 70019E88 01816824 */ and $t5, $t4, $at -/* 01AA8C 70019E8C 01201025 */ move $v0, $t1 -/* 01AA90 70019E90 3C010A00 */ lui $at, 0xa00 -/* 01AA94 70019E94 00087C00 */ sll $t7, $t0, 0x10 -/* 01AA98 70019E98 3238FFFF */ andi $t8, $s1, 0xffff -/* 01AA9C 70019E9C 01F85825 */ or $t3, $t7, $t8 -/* 01AAA0 70019EA0 01A1C825 */ or $t9, $t5, $at -/* 01AAA4 70019EA4 AC590000 */ sw $t9, ($v0) -/* 01AAA8 70019EA8 AC4B0004 */ sw $t3, 4($v0) -/* 01AAAC 70019EAC 25290008 */ addiu $t1, $t1, 8 -.L70019EB0: -/* 01AAB0 70019EB0 0253082A */ slt $at, $s2, $s3 -/* 01AAB4 70019EB4 5420FFBA */ bnezl $at, .L70019DA0 -/* 01AAB8 70019EB8 8E020024 */ lw $v0, 0x24($s0) -.L70019EBC: -/* 01AABC 70019EBC 8E0C0038 */ lw $t4, 0x38($s0) -/* 01AAC0 70019EC0 8E190044 */ lw $t9, 0x44($s0) -/* 01AAC4 70019EC4 00137040 */ sll $t6, $s3, 1 -/* 01AAC8 70019EC8 01936821 */ addu $t5, $t4, $s3 -/* 01AACC 70019ECC 032E7821 */ addu $t7, $t9, $t6 -/* 01AAD0 70019ED0 AE0D0038 */ sw $t5, 0x38($s0) -/* 01AAD4 70019ED4 AE0F0044 */ sw $t7, 0x44($s0) -/* 01AAD8 70019ED8 1000004E */ b .L7001A014 -/* 01AADC 70019EDC 01201025 */ move $v0, $t1 -/* 01AAE0 70019EE0 8E020028 */ lw $v0, 0x28($s0) -.L70019EE4: -/* 01AAE4 70019EE4 8E040044 */ lw $a0, 0x44($s0) -/* 01AAE8 70019EE8 00138840 */ sll $s1, $s3, 1 -/* 01AAEC 70019EEC 8C580000 */ lw $t8, ($v0) -/* 01AAF0 70019EF0 8C4C0004 */ lw $t4, 4($v0) -/* 01AAF4 70019EF4 00911821 */ addu $v1, $a0, $s1 -/* 01AAF8 70019EF8 00785823 */ subu $t3, $v1, $t8 -/* 01AAFC 70019EFC 016C9023 */ subu $s2, $t3, $t4 -/* 01AB00 70019F00 06430003 */ bgezl $s2, .L70019F10 -/* 01AB04 70019F04 0232082A */ slt $at, $s1, $s2 -/* 01AB08 70019F08 00009025 */ move $s2, $zero -/* 01AB0C 70019F0C 0232082A */ slt $at, $s1, $s2 -.L70019F10: -/* 01AB10 70019F10 50200003 */ beql $at, $zero, .L70019F20 -/* 01AB14 70019F14 0251082A */ slt $at, $s2, $s1 -/* 01AB18 70019F18 02209025 */ move $s2, $s1 -/* 01AB1C 70019F1C 0251082A */ slt $at, $s2, $s1 -.L70019F20: -/* 01AB20 70019F20 5020002C */ beql $at, $zero, .L70019FD4 -/* 01AB24 70019F24 AE030044 */ sw $v1, 0x44($s0) -/* 01AB28 70019F28 1A60001F */ blez $s3, .L70019FA8 -/* 01AB2C 70019F2C 00003025 */ move $a2, $zero -/* 01AB30 70019F30 8E060034 */ lw $a2, 0x34($s0) -/* 01AB34 70019F34 02322823 */ subu $a1, $s1, $s2 -/* 01AB38 70019F38 AFA50048 */ sw $a1, 0x48($sp) -/* 01AB3C 70019F3C AFAA0054 */ sw $t2, 0x54($sp) -/* 01AB40 70019F40 8E190030 */ lw $t9, 0x30($s0) -/* 01AB44 70019F44 0320F809 */ jalr $t9 -/* 01AB48 70019F48 00000000 */ nop -/* 01AB4C 70019F4C 8FAA0054 */ lw $t2, 0x54($sp) -/* 01AB50 70019F50 8FA70048 */ lw $a3, 0x48($sp) -/* 01AB54 70019F54 30460007 */ andi $a2, $v0, 7 -/* 01AB58 70019F58 854D0000 */ lh $t5, ($t2) -/* 01AB5C 70019F5C 8FA80060 */ lw $t0, 0x60($sp) -/* 01AB60 70019F60 00E63821 */ addu $a3, $a3, $a2 -/* 01AB64 70019F64 30F80007 */ andi $t8, $a3, 7 -/* 01AB68 70019F68 00F85823 */ subu $t3, $a3, $t8 -/* 01AB6C 70019F6C 3C010800 */ lui $at, 0x800 -/* 01AB70 70019F70 31AEFFFF */ andi $t6, $t5, 0xffff -/* 01AB74 70019F74 01C17825 */ or $t7, $t6, $at -/* 01AB78 70019F78 256C0008 */ addiu $t4, $t3, 8 -/* 01AB7C 70019F7C 25090008 */ addiu $t1, $t0, 8 -/* 01AB80 70019F80 3199FFFF */ andi $t9, $t4, 0xffff -/* 01AB84 70019F84 01202025 */ move $a0, $t1 -/* 01AB88 70019F88 00467023 */ subu $t6, $v0, $a2 -/* 01AB8C 70019F8C 3C0D0400 */ lui $t5, 0x400 -/* 01AB90 70019F90 AD190004 */ sw $t9, 4($t0) -/* 01AB94 70019F94 AD0F0000 */ sw $t7, ($t0) -/* 01AB98 70019F98 AC8E0004 */ sw $t6, 4($a0) -/* 01AB9C 70019F9C AC8D0000 */ sw $t5, ($a0) -/* 01ABA0 70019FA0 10000001 */ b .L70019FA8 -/* 01ABA4 70019FA4 25290008 */ addiu $t1, $t1, 8 -.L70019FA8: -/* 01ABA8 70019FA8 854F0000 */ lh $t7, ($t2) -/* 01ABAC 70019FAC 01E6C021 */ addu $t8, $t7, $a2 -/* 01ABB0 70019FB0 A5580000 */ sh $t8, ($t2) -/* 01ABB4 70019FB4 8E0B0038 */ lw $t3, 0x38($s0) -/* 01ABB8 70019FB8 8E190044 */ lw $t9, 0x44($s0) -/* 01ABBC 70019FBC 01736021 */ addu $t4, $t3, $s3 -/* 01ABC0 70019FC0 03316821 */ addu $t5, $t9, $s1 -/* 01ABC4 70019FC4 AE0C0038 */ sw $t4, 0x38($s0) -/* 01ABC8 70019FC8 10000002 */ b .L70019FD4 -/* 01ABCC 70019FCC AE0D0044 */ sw $t5, 0x44($s0) -/* 01ABD0 70019FD0 AE030044 */ sw $v1, 0x44($s0) -.L70019FD4: -/* 01ABD4 70019FD4 1240000E */ beqz $s2, .L7001A010 -/* 01ABD8 70019FD8 02321823 */ subu $v1, $s1, $s2 -/* 01ABDC 70019FDC 04610002 */ bgez $v1, .L70019FE8 -/* 01ABE0 70019FE0 01201025 */ move $v0, $t1 -/* 01ABE4 70019FE4 00001825 */ move $v1, $zero -.L70019FE8: -/* 01ABE8 70019FE8 854E0000 */ lh $t6, ($t2) -/* 01ABEC 70019FEC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01ABF0 70019FF0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01ABF4 70019FF4 01C37821 */ addu $t7, $t6, $v1 -/* 01ABF8 70019FF8 01E1C024 */ and $t8, $t7, $at -/* 01ABFC 70019FFC 3C010200 */ lui $at, 0x200 -/* 01AC00 7001A000 03015825 */ or $t3, $t8, $at -/* 01AC04 7001A004 AC4B0000 */ sw $t3, ($v0) -/* 01AC08 7001A008 AC520004 */ sw $s2, 4($v0) -/* 01AC0C 7001A00C 25290008 */ addiu $t1, $t1, 8 -.L7001A010: -/* 01AC10 7001A010 01201025 */ move $v0, $t1 -.L7001A014: -/* 01AC14 7001A014 8FBF0024 */ lw $ra, 0x24($sp) -/* 01AC18 7001A018 8FB00014 */ lw $s0, 0x14($sp) -/* 01AC1C 7001A01C 8FB10018 */ lw $s1, 0x18($sp) -/* 01AC20 7001A020 8FB2001C */ lw $s2, 0x1c($sp) -/* 01AC24 7001A024 8FB30020 */ lw $s3, 0x20($sp) -/* 01AC28 7001A028 03E00008 */ jr $ra -/* 01AC2C 7001A02C 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel ultra_7001A030 -/* 01AC30 7001A030 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01AC34 7001A034 AFB3002C */ sw $s3, 0x2c($sp) -/* 01AC38 7001A038 AFB50028 */ sw $s5, 0x28($sp) -/* 01AC3C 7001A03C 00137400 */ sll $t6, $s3, 0x10 -/* 01AC40 7001A040 0015C400 */ sll $t8, $s5, 0x10 -/* 01AC44 7001A044 0018AC03 */ sra $s5, $t8, 0x10 -/* 01AC48 7001A048 000E9C03 */ sra $s3, $t6, 0x10 -/* 01AC4C 7001A04C 1A20001A */ blez $s1, .L7001A0B8 -/* 01AC50 7001A050 AFBF0014 */ sw $ra, 0x14($sp) -/* 01AC54 7001A054 8E590030 */ lw $t9, 0x30($s2) -/* 01AC58 7001A058 8E440044 */ lw $a0, 0x44($s2) -/* 01AC5C 7001A05C 02202825 */ move $a1, $s1 -/* 01AC60 7001A060 0320F809 */ jalr $t9 -/* 01AC64 7001A064 8E460034 */ lw $a2, 0x34($s2) -/* 01AC68 7001A068 30460007 */ andi $a2, $v0, 7 -/* 01AC6C 7001A06C 02268821 */ addu $s1, $s1, $a2 -/* 01AC70 7001A070 326EFFFF */ andi $t6, $s3, 0xffff -/* 01AC74 7001A074 3C010800 */ lui $at, 0x800 -/* 01AC78 7001A078 01C17825 */ or $t7, $t6, $at -/* 01AC7C 7001A07C 32380007 */ andi $t8, $s1, 7 -/* 01AC80 7001A080 02002025 */ move $a0, $s0 -/* 01AC84 7001A084 0238C823 */ subu $t9, $s1, $t8 -/* 01AC88 7001A088 272E0008 */ addiu $t6, $t9, 8 -/* 01AC8C 7001A08C AC8F0000 */ sw $t7, ($a0) -/* 01AC90 7001A090 26100008 */ addiu $s0, $s0, 8 -/* 01AC94 7001A094 31CFFFFF */ andi $t7, $t6, 0xffff -/* 01AC98 7001A098 02002825 */ move $a1, $s0 -/* 01AC9C 7001A09C AC8F0004 */ sw $t7, 4($a0) -/* 01ACA0 7001A0A0 0046C823 */ subu $t9, $v0, $a2 -/* 01ACA4 7001A0A4 3C180400 */ lui $t8, 0x400 -/* 01ACA8 7001A0A8 ACB80000 */ sw $t8, ($a1) -/* 01ACAC 7001A0AC ACB90004 */ sw $t9, 4($a1) -/* 01ACB0 7001A0B0 10000002 */ b .L7001A0BC -/* 01ACB4 7001A0B4 26100008 */ addiu $s0, $s0, 8 -.L7001A0B8: -/* 01ACB8 7001A0B8 00003025 */ move $a2, $zero -.L7001A0BC: -/* 01ACBC 7001A0BC 328E0002 */ andi $t6, $s4, 2 -/* 01ACC0 7001A0C0 11C00009 */ beqz $t6, .L7001A0E8 -/* 01ACC4 7001A0C4 02001025 */ move $v0, $s0 -/* 01ACC8 7001A0C8 3C0F0F00 */ lui $t7, 0xf00 -/* 01ACCC 7001A0CC AC4F0000 */ sw $t7, ($v0) -/* 01ACD0 7001A0D0 8E580018 */ lw $t8, 0x18($s2) -/* 01ACD4 7001A0D4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 01ACD8 7001A0D8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01ACDC 7001A0DC 0301C824 */ and $t9, $t8, $at -/* 01ACE0 7001A0E0 AC590004 */ sw $t9, 4($v0) -/* 01ACE4 7001A0E4 26100008 */ addiu $s0, $s0, 8 -.L7001A0E8: -/* 01ACE8 7001A0E8 02667021 */ addu $t6, $s3, $a2 -/* 01ACEC 7001A0EC 31CFFFFF */ andi $t7, $t6, 0xffff -/* 01ACF0 7001A0F0 3C010800 */ lui $at, 0x800 -/* 01ACF4 7001A0F4 01E1C025 */ or $t8, $t7, $at -/* 01ACF8 7001A0F8 02001825 */ move $v1, $s0 -/* 01ACFC 7001A0FC AC780000 */ sw $t8, ($v1) -/* 01AD00 7001A100 00167840 */ sll $t7, $s6, 1 -/* 01AD04 7001A104 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01AD08 7001A108 00157400 */ sll $t6, $s5, 0x10 -/* 01AD0C 7001A10C 01D8C825 */ or $t9, $t6, $t8 -/* 01AD10 7001A110 328F00FF */ andi $t7, $s4, 0xff -/* 01AD14 7001A114 26100008 */ addiu $s0, $s0, 8 -/* 01AD18 7001A118 000F7400 */ sll $t6, $t7, 0x10 -/* 01AD1C 7001A11C 3C010100 */ lui $at, 0x100 -/* 01AD20 7001A120 AC790004 */ sw $t9, 4($v1) -/* 01AD24 7001A124 01C1C025 */ or $t8, $t6, $at -/* 01AD28 7001A128 02002025 */ move $a0, $s0 -/* 01AD2C 7001A12C AC980000 */ sw $t8, ($a0) -/* 01AD30 7001A130 8E590014 */ lw $t9, 0x14($s2) -/* 01AD34 7001A134 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 01AD38 7001A138 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01AD3C 7001A13C 03217824 */ and $t7, $t9, $at -/* 01AD40 7001A140 AC8F0004 */ sw $t7, 4($a0) -/* 01AD44 7001A144 AE400040 */ sw $zero, 0x40($s2) -/* 01AD48 7001A148 8FBF0014 */ lw $ra, 0x14($sp) -/* 01AD4C 7001A14C 26100008 */ addiu $s0, $s0, 8 -/* 01AD50 7001A150 02001025 */ move $v0, $s0 -/* 01AD54 7001A154 03E00008 */ jr $ra -/* 01AD58 7001A158 27BD0018 */ addiu $sp, $sp, 0x18 - -glabel alAdpcmPull -/* 01AD5C 7001A15C 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 01AD60 7001A160 AFB70044 */ sw $s7, 0x44($sp) -/* 01AD64 7001A164 AFA700BC */ sw $a3, 0xbc($sp) -/* 01AD68 7001A168 00A03825 */ move $a3, $a1 -/* 01AD6C 7001A16C 0080B825 */ move $s7, $a0 -/* 01AD70 7001A170 AFBF004C */ sw $ra, 0x4c($sp) -/* 01AD74 7001A174 AFBE0048 */ sw $fp, 0x48($sp) -/* 01AD78 7001A178 AFB60040 */ sw $s6, 0x40($sp) -/* 01AD7C 7001A17C AFB5003C */ sw $s5, 0x3c($sp) -/* 01AD80 7001A180 AFB40038 */ sw $s4, 0x38($sp) -/* 01AD84 7001A184 AFB30034 */ sw $s3, 0x34($sp) -/* 01AD88 7001A188 AFB20030 */ sw $s2, 0x30($sp) -/* 01AD8C 7001A18C AFB1002C */ sw $s1, 0x2c($sp) -/* 01AD90 7001A190 AFB00028 */ sw $s0, 0x28($sp) -/* 01AD94 7001A194 AFA500B4 */ sw $a1, 0xb4($sp) -/* 01AD98 7001A198 00C04025 */ move $t0, $a2 -/* 01AD9C 7001A19C 14C00003 */ bnez $a2, .L7001A1AC -/* 01ADA0 7001A1A0 00006825 */ move $t5, $zero -/* 01ADA4 7001A1A4 10000109 */ b .L7001A5CC -/* 01ADA8 7001A1A8 8FA200C0 */ lw $v0, 0xc0($sp) -.L7001A1AC: -/* 01ADAC 7001A1AC 8EEE002C */ lw $t6, 0x2c($s7) -/* 01ADB0 7001A1B0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01ADB4 7001A1B4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01ADB8 7001A1B8 8FA500C0 */ lw $a1, 0xc0($sp) -/* 01ADBC 7001A1BC 01C17824 */ and $t7, $t6, $at -/* 01ADC0 7001A1C0 3C010B00 */ lui $at, 0xb00 -/* 01ADC4 7001A1C4 01E1C025 */ or $t8, $t7, $at -/* 01ADC8 7001A1C8 ACB80000 */ sw $t8, ($a1) -/* 01ADCC 7001A1CC 8EF90028 */ lw $t9, 0x28($s7) -/* 01ADD0 7001A1D0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 01ADD4 7001A1D4 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01ADD8 7001A1D8 8F2E0010 */ lw $t6, 0x10($t9) -/* 01ADDC 7001A1DC 24AA0008 */ addiu $t2, $a1, 8 -/* 01ADE0 7001A1E0 00003025 */ move $a2, $zero -/* 01ADE4 7001A1E4 25CF0008 */ addiu $t7, $t6, 8 -/* 01ADE8 7001A1E8 01E1C024 */ and $t8, $t7, $at -/* 01ADEC 7001A1EC ACB80004 */ sw $t8, 4($a1) -/* 01ADF0 7001A1F0 8EE30038 */ lw $v1, 0x38($s7) -/* 01ADF4 7001A1F4 8EE40020 */ lw $a0, 0x20($s7) -/* 01ADF8 7001A1F8 01002825 */ move $a1, $t0 -/* 01ADFC 7001A1FC 0068C821 */ addu $t9, $v1, $t0 -/* 01AE00 7001A200 0099482B */ sltu $t1, $a0, $t9 -/* 01AE04 7001A204 11200004 */ beqz $t1, .L7001A218 -/* 01AE08 7001A208 240F0010 */ li $t7, 16 -/* 01AE0C 7001A20C 8EE90024 */ lw $t1, 0x24($s7) -/* 01AE10 7001A210 0009702B */ sltu $t6, $zero, $t1 -/* 01AE14 7001A214 01C04825 */ move $t1, $t6 -.L7001A218: -/* 01AE18 7001A218 11200003 */ beqz $t1, .L7001A228 -/* 01AE1C 7001A21C 24010009 */ li $at, 9 -/* 01AE20 7001A220 10000001 */ b .L7001A228 -/* 01AE24 7001A224 00832823 */ subu $a1, $a0, $v1 -.L7001A228: -/* 01AE28 7001A228 8EE3003C */ lw $v1, 0x3c($s7) -/* 01AE2C 7001A22C 01408025 */ move $s0, $t2 -/* 01AE30 7001A230 02E09025 */ move $s2, $s7 -/* 01AE34 7001A234 10600003 */ beqz $v1, .L7001A244 -/* 01AE38 7001A238 00009825 */ move $s3, $zero -/* 01AE3C 7001A23C 10000001 */ b .L7001A244 -/* 01AE40 7001A240 01E33023 */ subu $a2, $t7, $v1 -.L7001A244: -/* 01AE44 7001A244 00A62023 */ subu $a0, $a1, $a2 -/* 01AE48 7001A248 04810002 */ bgez $a0, .L7001A254 -/* 01AE4C 7001A24C 00000000 */ nop -/* 01AE50 7001A250 00002025 */ move $a0, $zero -.L7001A254: -/* 01AE54 7001A254 11200081 */ beqz $t1, .L7001A45C -/* 01AE58 7001A258 249E000F */ addiu $fp, $a0, 0xf -/* 01AE5C 7001A25C 249E000F */ addiu $fp, $a0, 0xf -/* 01AE60 7001A260 001EC103 */ sra $t8, $fp, 4 -/* 01AE64 7001A264 84F50000 */ lh $s5, ($a3) -/* 01AE68 7001A268 8EF40040 */ lw $s4, 0x40($s7) -/* 01AE6C 7001A26C 001848C0 */ sll $t1, $t8, 3 -/* 01AE70 7001A270 01384821 */ addu $t1, $t1, $t8 -/* 01AE74 7001A274 01208825 */ move $s1, $t1 -/* 01AE78 7001A278 AFA9005C */ sw $t1, 0x5c($sp) -/* 01AE7C 7001A27C AFA800B8 */ sw $t0, 0xb8($sp) -/* 01AE80 7001A280 AFA700B4 */ sw $a3, 0xb4($sp) -/* 01AE84 7001A284 AFA5008C */ sw $a1, 0x8c($sp) -/* 01AE88 7001A288 0300F025 */ move $fp, $t8 -/* 01AE8C 7001A28C 0C00680C */ jal ultra_7001A030 -/* 01AE90 7001A290 0080B025 */ move $s6, $a0 -/* 01AE94 7001A294 8EE3003C */ lw $v1, 0x3c($s7) -/* 01AE98 7001A298 8FA5008C */ lw $a1, 0x8c($sp) -/* 01AE9C 7001A29C 8FA700B4 */ lw $a3, 0xb4($sp) -/* 01AEA0 7001A2A0 8FA800B8 */ lw $t0, 0xb8($sp) -/* 01AEA4 7001A2A4 8FA9005C */ lw $t1, 0x5c($sp) -/* 01AEA8 7001A2A8 10600006 */ beqz $v1, .L7001A2C4 -/* 01AEAC 7001A2AC 00405025 */ move $t2, $v0 -/* 01AEB0 7001A2B0 84F90000 */ lh $t9, ($a3) -/* 01AEB4 7001A2B4 00037040 */ sll $t6, $v1, 1 -/* 01AEB8 7001A2B8 032E7821 */ addu $t7, $t9, $t6 -/* 01AEBC 7001A2BC 10000004 */ b .L7001A2D0 -/* 01AEC0 7001A2C0 A4EF0000 */ sh $t7, ($a3) -.L7001A2C4: -/* 01AEC4 7001A2C4 84F80000 */ lh $t8, ($a3) -/* 01AEC8 7001A2C8 27190020 */ addiu $t9, $t8, 0x20 -/* 01AECC 7001A2CC A4F90000 */ sh $t9, ($a3) -.L7001A2D0: -/* 01AED0 7001A2D0 8EE2001C */ lw $v0, 0x1c($s7) -/* 01AED4 7001A2D4 8EEF0028 */ lw $t7, 0x28($s7) -/* 01AED8 7001A2D8 00A8082A */ slt $at, $a1, $t0 -/* 01AEDC 7001A2DC 304E000F */ andi $t6, $v0, 0xf -/* 01AEE0 7001A2E0 AEEE003C */ sw $t6, 0x3c($s7) -/* 01AEE4 7001A2E4 8DF80000 */ lw $t8, ($t7) -/* 01AEE8 7001A2E8 0002C902 */ srl $t9, $v0, 4 -/* 01AEEC 7001A2EC 001970C0 */ sll $t6, $t9, 3 -/* 01AEF0 7001A2F0 01D97021 */ addu $t6, $t6, $t9 -/* 01AEF4 7001A2F4 030E7821 */ addu $t7, $t8, $t6 -/* 01AEF8 7001A2F8 25F90009 */ addiu $t9, $t7, 9 -/* 01AEFC 7001A2FC AEF90044 */ sw $t9, 0x44($s7) -/* 01AF00 7001A300 AEE20038 */ sw $v0, 0x38($s7) -/* 01AF04 7001A304 10200049 */ beqz $at, .L7001A42C -/* 01AF08 7001A308 84E60000 */ lh $a2, ($a3) -/* 01AF0C 7001A30C 00051840 */ sll $v1, $a1, 1 -.L7001A310: -/* 01AF10 7001A310 27D80001 */ addiu $t8, $fp, 1 -/* 01AF14 7001A314 00187140 */ sll $t6, $t8, 5 -/* 01AF18 7001A318 8EE20024 */ lw $v0, 0x24($s7) -/* 01AF1C 7001A31C 01C63821 */ addu $a3, $t6, $a2 -/* 01AF20 7001A320 2401FFE0 */ li $at, -32 -/* 01AF24 7001A324 00E17824 */ and $t7, $a3, $at -/* 01AF28 7001A328 2401FFFF */ li $at, -1 -/* 01AF2C 7001A32C 01054023 */ subu $t0, $t0, $a1 -/* 01AF30 7001A330 01E03825 */ move $a3, $t7 -/* 01AF34 7001A334 10410004 */ beq $v0, $at, .L7001A348 -/* 01AF38 7001A338 00C33021 */ addu $a2, $a2, $v1 -/* 01AF3C 7001A33C 10400002 */ beqz $v0, .L7001A348 -/* 01AF40 7001A340 2459FFFF */ addiu $t9, $v0, -1 -/* 01AF44 7001A344 AEF90024 */ sw $t9, 0x24($s7) -.L7001A348: -/* 01AF48 7001A348 8EF80020 */ lw $t8, 0x20($s7) -/* 01AF4C 7001A34C 8EEE001C */ lw $t6, 0x1c($s7) -/* 01AF50 7001A350 01408025 */ move $s0, $t2 -/* 01AF54 7001A354 02E09025 */ move $s2, $s7 -/* 01AF58 7001A358 030E1023 */ subu $v0, $t8, $t6 -/* 01AF5C 7001A35C 0102082B */ sltu $at, $t0, $v0 -/* 01AF60 7001A360 10200003 */ beqz $at, .L7001A370 -/* 01AF64 7001A364 0007AC00 */ sll $s5, $a3, 0x10 -/* 01AF68 7001A368 10000002 */ b .L7001A374 -/* 01AF6C 7001A36C 01002825 */ move $a1, $t0 -.L7001A370: -/* 01AF70 7001A370 00402825 */ move $a1, $v0 -.L7001A374: -/* 01AF74 7001A374 8EEF003C */ lw $t7, 0x3c($s7) -/* 01AF78 7001A378 0015C403 */ sra $t8, $s5, 0x10 -/* 01AF7C 7001A37C 0300A825 */ move $s5, $t8 -/* 01AF80 7001A380 00AF2021 */ addu $a0, $a1, $t7 -/* 01AF84 7001A384 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 01AF88 7001A388 04810002 */ bgez $a0, .L7001A394 -/* 01AF8C 7001A38C 00009825 */ move $s3, $zero -/* 01AF90 7001A390 00002025 */ move $a0, $zero -.L7001A394: -/* 01AF94 7001A394 8EF40040 */ lw $s4, 0x40($s7) -/* 01AF98 7001A398 249E000F */ addiu $fp, $a0, 0xf -/* 01AF9C 7001A39C 001EC903 */ sra $t9, $fp, 4 -/* 01AFA0 7001A3A0 001948C0 */ sll $t1, $t9, 3 -/* 01AFA4 7001A3A4 01394821 */ addu $t1, $t1, $t9 -/* 01AFA8 7001A3A8 368E0002 */ ori $t6, $s4, 2 -/* 01AFAC 7001A3AC 01C0A025 */ move $s4, $t6 -/* 01AFB0 7001A3B0 01208825 */ move $s1, $t1 -/* 01AFB4 7001A3B4 AFA9005C */ sw $t1, 0x5c($sp) -/* 01AFB8 7001A3B8 0320F025 */ move $fp, $t9 -/* 01AFBC 7001A3BC AFA800B8 */ sw $t0, 0xb8($sp) -/* 01AFC0 7001A3C0 AFA70088 */ sw $a3, 0x88($sp) -/* 01AFC4 7001A3C4 AFA60080 */ sw $a2, 0x80($sp) -/* 01AFC8 7001A3C8 AFA5008C */ sw $a1, 0x8c($sp) -/* 01AFCC 7001A3CC 0C00680C */ jal ultra_7001A030 -/* 01AFD0 7001A3D0 0080B025 */ move $s6, $a0 -/* 01AFD4 7001A3D4 8EEF003C */ lw $t7, 0x3c($s7) -/* 01AFD8 7001A3D8 8FA70088 */ lw $a3, 0x88($sp) -/* 01AFDC 7001A3DC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01AFE0 7001A3E0 000FC840 */ sll $t9, $t7, 1 -/* 01AFE4 7001A3E4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01AFE8 7001A3E8 0327C021 */ addu $t8, $t9, $a3 -/* 01AFEC 7001A3EC 03017024 */ and $t6, $t8, $at -/* 01AFF0 7001A3F0 8FA5008C */ lw $a1, 0x8c($sp) -/* 01AFF4 7001A3F4 3C010A00 */ lui $at, 0xa00 -/* 01AFF8 7001A3F8 8FA60080 */ lw $a2, 0x80($sp) -/* 01AFFC 7001A3FC 01C17825 */ or $t7, $t6, $at -/* 01B000 7001A400 8FA800B8 */ lw $t0, 0xb8($sp) -/* 01B004 7001A404 8FA9005C */ lw $t1, 0x5c($sp) -/* 01B008 7001A408 00051840 */ sll $v1, $a1, 1 -/* 01B00C 7001A40C 306EFFFF */ andi $t6, $v1, 0xffff -/* 01B010 7001A410 AC4F0000 */ sw $t7, ($v0) -/* 01B014 7001A414 0006C400 */ sll $t8, $a2, 0x10 -/* 01B018 7001A418 030E7825 */ or $t7, $t8, $t6 -/* 01B01C 7001A41C 00A8082A */ slt $at, $a1, $t0 -/* 01B020 7001A420 AC4F0004 */ sw $t7, 4($v0) -/* 01B024 7001A424 1420FFBA */ bnez $at, .L7001A310 -/* 01B028 7001A428 244A0008 */ addiu $t2, $v0, 8 -.L7001A42C: -/* 01B02C 7001A42C 8EF9003C */ lw $t9, 0x3c($s7) -/* 01B030 7001A430 8EEF0038 */ lw $t7, 0x38($s7) -/* 01B034 7001A434 01401025 */ move $v0, $t2 -/* 01B038 7001A438 0328C021 */ addu $t8, $t9, $t0 -/* 01B03C 7001A43C 330E000F */ andi $t6, $t8, 0xf -/* 01B040 7001A440 8EF80044 */ lw $t8, 0x44($s7) -/* 01B044 7001A444 AEEE003C */ sw $t6, 0x3c($s7) -/* 01B048 7001A448 01E8C821 */ addu $t9, $t7, $t0 -/* 01B04C 7001A44C 03097021 */ addu $t6, $t8, $t1 -/* 01B050 7001A450 AEF90038 */ sw $t9, 0x38($s7) -/* 01B054 7001A454 1000005D */ b .L7001A5CC -/* 01B058 7001A458 AEEE0044 */ sw $t6, 0x44($s7) -.L7001A45C: -/* 01B05C 7001A45C 8EE20028 */ lw $v0, 0x28($s7) -/* 01B060 7001A460 001E7903 */ sra $t7, $fp, 4 -/* 01B064 7001A464 8EF90044 */ lw $t9, 0x44($s7) -/* 01B068 7001A468 000F48C0 */ sll $t1, $t7, 3 -/* 01B06C 7001A46C 8C580000 */ lw $t8, ($v0) -/* 01B070 7001A470 012F4821 */ addu $t1, $t1, $t7 -/* 01B074 7001A474 01E0F025 */ move $fp, $t7 -/* 01B078 7001A478 8C4F0004 */ lw $t7, 4($v0) -/* 01B07C 7001A47C 03295821 */ addu $t3, $t9, $t1 -/* 01B080 7001A480 01787023 */ subu $t6, $t3, $t8 -/* 01B084 7001A484 01CF1823 */ subu $v1, $t6, $t7 -/* 01B088 7001A488 04610002 */ bgez $v1, .L7001A494 -/* 01B08C 7001A48C 001E2900 */ sll $a1, $fp, 4 -/* 01B090 7001A490 00001825 */ move $v1, $zero -.L7001A494: -/* 01B094 7001A494 0061001A */ div $zero, $v1, $at -/* 01B098 7001A498 00001012 */ mflo $v0 -/* 01B09C 7001A49C 00022100 */ sll $a0, $v0, 4 -/* 01B0A0 7001A4A0 00A66021 */ addu $t4, $a1, $a2 -/* 01B0A4 7001A4A4 0184082A */ slt $at, $t4, $a0 -/* 01B0A8 7001A4A8 10200002 */ beqz $at, .L7001A4B4 -/* 01B0AC 7001A4AC 01408025 */ move $s0, $t2 -/* 01B0B0 7001A4B0 01802025 */ move $a0, $t4 -.L7001A4B4: -/* 01B0B4 7001A4B4 3098000F */ andi $t8, $a0, 0xf -/* 01B0B8 7001A4B8 00987023 */ subu $t6, $a0, $t8 -/* 01B0BC 7001A4BC 01C8082A */ slt $at, $t6, $t0 -/* 01B0C0 7001A4C0 1020002B */ beqz $at, .L7001A570 -/* 01B0C4 7001A4C4 01233023 */ subu $a2, $t1, $v1 -/* 01B0C8 7001A4C8 84F50000 */ lh $s5, ($a3) -/* 01B0CC 7001A4CC 8EF40040 */ lw $s4, 0x40($s7) -/* 01B0D0 7001A4D0 240D0001 */ li $t5, 1 -/* 01B0D4 7001A4D4 AFAD007C */ sw $t5, 0x7c($sp) -/* 01B0D8 7001A4D8 AFAC0050 */ sw $t4, 0x50($sp) -/* 01B0DC 7001A4DC AFA9005C */ sw $t1, 0x5c($sp) -/* 01B0E0 7001A4E0 AFA800B8 */ sw $t0, 0xb8($sp) -/* 01B0E4 7001A4E4 AFA700B4 */ sw $a3, 0xb4($sp) -/* 01B0E8 7001A4E8 AFA40090 */ sw $a0, 0x90($sp) -/* 01B0EC 7001A4EC 02E09025 */ move $s2, $s7 -/* 01B0F0 7001A4F0 00A4B023 */ subu $s6, $a1, $a0 -/* 01B0F4 7001A4F4 00C08825 */ move $s1, $a2 -/* 01B0F8 7001A4F8 0C00680C */ jal ultra_7001A030 -/* 01B0FC 7001A4FC 00009825 */ move $s3, $zero -/* 01B100 7001A500 8EE3003C */ lw $v1, 0x3c($s7) -/* 01B104 7001A504 8FA40090 */ lw $a0, 0x90($sp) -/* 01B108 7001A508 8FA700B4 */ lw $a3, 0xb4($sp) -/* 01B10C 7001A50C 8FA800B8 */ lw $t0, 0xb8($sp) -/* 01B110 7001A510 8FA9005C */ lw $t1, 0x5c($sp) -/* 01B114 7001A514 8FAC0050 */ lw $t4, 0x50($sp) -/* 01B118 7001A518 8FAD007C */ lw $t5, 0x7c($sp) -/* 01B11C 7001A51C 10600006 */ beqz $v1, .L7001A538 -/* 01B120 7001A520 00405025 */ move $t2, $v0 -/* 01B124 7001A524 84EF0000 */ lh $t7, ($a3) -/* 01B128 7001A528 0003C840 */ sll $t9, $v1, 1 -/* 01B12C 7001A52C 01F9C021 */ addu $t8, $t7, $t9 -/* 01B130 7001A530 10000004 */ b .L7001A544 -/* 01B134 7001A534 A4F80000 */ sh $t8, ($a3) -.L7001A538: -/* 01B138 7001A538 84EE0000 */ lh $t6, ($a3) -/* 01B13C 7001A53C 25CF0020 */ addiu $t7, $t6, 0x20 -/* 01B140 7001A540 A4EF0000 */ sh $t7, ($a3) -.L7001A544: -/* 01B144 7001A544 8EF9003C */ lw $t9, 0x3c($s7) -/* 01B148 7001A548 8EEF0038 */ lw $t7, 0x38($s7) -/* 01B14C 7001A54C 0328C021 */ addu $t8, $t9, $t0 -/* 01B150 7001A550 330E000F */ andi $t6, $t8, 0xf -/* 01B154 7001A554 8EF80044 */ lw $t8, 0x44($s7) -/* 01B158 7001A558 AEEE003C */ sw $t6, 0x3c($s7) -/* 01B15C 7001A55C 01E8C821 */ addu $t9, $t7, $t0 -/* 01B160 7001A560 03097021 */ addu $t6, $t8, $t1 -/* 01B164 7001A564 AEF90038 */ sw $t9, 0x38($s7) -/* 01B168 7001A568 10000003 */ b .L7001A578 -/* 01B16C 7001A56C AEEE0044 */ sw $t6, 0x44($s7) -.L7001A570: -/* 01B170 7001A570 AEE0003C */ sw $zero, 0x3c($s7) -/* 01B174 7001A574 AEEB0044 */ sw $t3, 0x44($s7) -.L7001A578: -/* 01B178 7001A578 10800013 */ beqz $a0, .L7001A5C8 -/* 01B17C 7001A57C 01401025 */ move $v0, $t2 -/* 01B180 7001A580 11A00005 */ beqz $t5, .L7001A598 -/* 01B184 7001A584 AEE0003C */ sw $zero, 0x3c($s7) -/* 01B188 7001A588 01841823 */ subu $v1, $t4, $a0 -/* 01B18C 7001A58C 00037840 */ sll $t7, $v1, 1 -/* 01B190 7001A590 10000002 */ b .L7001A59C -/* 01B194 7001A594 01E01825 */ move $v1, $t7 -.L7001A598: -/* 01B198 7001A598 00001825 */ move $v1, $zero -.L7001A59C: -/* 01B19C 7001A59C 84F90000 */ lh $t9, ($a3) -/* 01B1A0 7001A5A0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01B1A4 7001A5A4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01B1A8 7001A5A8 0323C021 */ addu $t8, $t9, $v1 -/* 01B1AC 7001A5AC 03017024 */ and $t6, $t8, $at -/* 01B1B0 7001A5B0 3C010200 */ lui $at, 0x200 -/* 01B1B4 7001A5B4 01C17825 */ or $t7, $t6, $at -/* 01B1B8 7001A5B8 0004C840 */ sll $t9, $a0, 1 -/* 01B1BC 7001A5BC AC590004 */ sw $t9, 4($v0) -/* 01B1C0 7001A5C0 AC4F0000 */ sw $t7, ($v0) -/* 01B1C4 7001A5C4 254A0008 */ addiu $t2, $t2, 8 -.L7001A5C8: -/* 01B1C8 7001A5C8 01401025 */ move $v0, $t2 -.L7001A5CC: -/* 01B1CC 7001A5CC 8FBF004C */ lw $ra, 0x4c($sp) -/* 01B1D0 7001A5D0 8FB00028 */ lw $s0, 0x28($sp) -/* 01B1D4 7001A5D4 8FB1002C */ lw $s1, 0x2c($sp) -/* 01B1D8 7001A5D8 8FB20030 */ lw $s2, 0x30($sp) -/* 01B1DC 7001A5DC 8FB30034 */ lw $s3, 0x34($sp) -/* 01B1E0 7001A5E0 8FB40038 */ lw $s4, 0x38($sp) -/* 01B1E4 7001A5E4 8FB5003C */ lw $s5, 0x3c($sp) -/* 01B1E8 7001A5E8 8FB60040 */ lw $s6, 0x40($sp) -/* 01B1EC 7001A5EC 8FB70044 */ lw $s7, 0x44($sp) -/* 01B1F0 7001A5F0 8FBE0048 */ lw $fp, 0x48($sp) -/* 01B1F4 7001A5F4 03E00008 */ jr $ra -/* 01B1F8 7001A5F8 27BD00B0 */ addiu $sp, $sp, 0xb0 - -/* 01B1FC 7001A5FC 00000000 */ nop -glabel alResampleParam -/* 01B200 7001A600 24AEFFFF */ addiu $t6, $a1, -1 -/* 01B204 7001A604 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01B208 7001A608 2DC10009 */ sltiu $at, $t6, 9 -/* 01B20C 7001A60C AFBF0014 */ sw $ra, 0x14($sp) -/* 01B210 7001A610 1020002B */ beqz $at, .L7001A6C0 -/* 01B214 7001A614 00803825 */ move $a3, $a0 -/* 01B218 7001A618 000E7080 */ sll $t6, $t6, 2 -/* 01B21C 7001A61C 3C018003 */ lui $at, %hi(jpt_80029850) -/* 01B220 7001A620 002E0821 */ addu $at, $at, $t6 -/* 01B224 7001A624 8C2E9850 */ lw $t6, %lo(jpt_80029850)($at) -/* 01B228 7001A628 01C00008 */ jr $t6 -/* 01B22C 7001A62C 00000000 */ nop -.L7001A630: -/* 01B230 7001A630 10000029 */ b .L7001A6D8 -/* 01B234 7001A634 ACE60000 */ sw $a2, ($a3) -.L7001A638: -/* 01B238 7001A638 8CE40000 */ lw $a0, ($a3) -/* 01B23C 7001A63C 44802000 */ mtc1 $zero, $f4 -/* 01B240 7001A640 240F0001 */ li $t7, 1 -/* 01B244 7001A644 ACEF0024 */ sw $t7, 0x24($a3) -/* 01B248 7001A648 ACE00030 */ sw $zero, 0x30($a3) -/* 01B24C 7001A64C ACE0001C */ sw $zero, 0x1c($a3) -/* 01B250 7001A650 10800021 */ beqz $a0, .L7001A6D8 -/* 01B254 7001A654 E4E40020 */ swc1 $f4, 0x20($a3) -/* 01B258 7001A658 8C990008 */ lw $t9, 8($a0) -/* 01B25C 7001A65C 24050004 */ li $a1, 4 -/* 01B260 7001A660 00003025 */ move $a2, $zero -/* 01B264 7001A664 0320F809 */ jalr $t9 -/* 01B268 7001A668 00000000 */ nop -/* 01B26C 7001A66C 1000001B */ b .L7001A6DC -/* 01B270 7001A670 8FBF0014 */ lw $ra, 0x14($sp) -.L7001A674: -/* 01B274 7001A674 8CE40000 */ lw $a0, ($a3) -/* 01B278 7001A678 24180001 */ li $t8, 1 -/* 01B27C 7001A67C ACF80030 */ sw $t8, 0x30($a3) -/* 01B280 7001A680 50800016 */ beql $a0, $zero, .L7001A6DC -/* 01B284 7001A684 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B288 7001A688 8C990008 */ lw $t9, 8($a0) -/* 01B28C 7001A68C 24050009 */ li $a1, 9 -/* 01B290 7001A690 00003025 */ move $a2, $zero -/* 01B294 7001A694 0320F809 */ jalr $t9 -/* 01B298 7001A698 00000000 */ nop -/* 01B29C 7001A69C 1000000F */ b .L7001A6DC -/* 01B2A0 7001A6A0 8FBF0014 */ lw $ra, 0x14($sp) -.L7001A6A4: -/* 01B2A4 7001A6A4 AFA6001C */ sw $a2, 0x1c($sp) -/* 01B2A8 7001A6A8 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 01B2AC 7001A6AC 1000000A */ b .L7001A6D8 -/* 01B2B0 7001A6B0 E4E60018 */ swc1 $f6, 0x18($a3) -.L7001A6B4: -/* 01B2B4 7001A6B4 24080001 */ li $t0, 1 -/* 01B2B8 7001A6B8 10000007 */ b .L7001A6D8 -/* 01B2BC 7001A6BC ACE8001C */ sw $t0, 0x1c($a3) -.L7001A6C0: -/* 01B2C0 7001A6C0 8CE40000 */ lw $a0, ($a3) -/* 01B2C4 7001A6C4 50800005 */ beql $a0, $zero, .L7001A6DC -/* 01B2C8 7001A6C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B2CC 7001A6CC 8C990008 */ lw $t9, 8($a0) -/* 01B2D0 7001A6D0 0320F809 */ jalr $t9 -/* 01B2D4 7001A6D4 00000000 */ nop -.L7001A6D8: -/* 01B2D8 7001A6D8 8FBF0014 */ lw $ra, 0x14($sp) -.L7001A6DC: -/* 01B2DC 7001A6DC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 01B2E0 7001A6E0 00001025 */ move $v0, $zero -/* 01B2E4 7001A6E4 03E00008 */ jr $ra -/* 01B2E8 7001A6E8 00000000 */ nop - -glabel alResamplePull -/* 01B2EC 7001A6EC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 01B2F0 7001A6F0 AFBF001C */ sw $ra, 0x1c($sp) -/* 01B2F4 7001A6F4 AFA50054 */ sw $a1, 0x54($sp) -/* 01B2F8 7001A6F8 8C890000 */ lw $t1, ($a0) -/* 01B2FC 7001A6FC 240E0140 */ li $t6, 320 -/* 01B300 7001A700 00804025 */ move $t0, $a0 -/* 01B304 7001A704 00C05025 */ move $t2, $a2 -/* 01B308 7001A708 14C00003 */ bnez $a2, .L7001A718 -/* 01B30C 7001A70C A7AE0046 */ sh $t6, 0x46($sp) -/* 01B310 7001A710 10000074 */ b .L7001A8E4 -/* 01B314 7001A714 8FA20060 */ lw $v0, 0x60($sp) -.L7001A718: -/* 01B318 7001A718 8D0F001C */ lw $t7, 0x1c($t0) -/* 01B31C 7001A71C 8FB80060 */ lw $t8, 0x60($sp) -/* 01B320 7001A720 51E0001A */ beql $t7, $zero, .L7001A78C -/* 01B324 7001A724 C5020018 */ lwc1 $f2, 0x18($t0) -/* 01B328 7001A728 AFB80010 */ sw $t8, 0x10($sp) -/* 01B32C 7001A72C AFAA0058 */ sw $t2, 0x58($sp) -/* 01B330 7001A730 8D390004 */ lw $t9, 4($t1) -/* 01B334 7001A734 01202025 */ move $a0, $t1 -/* 01B338 7001A738 27A50046 */ addiu $a1, $sp, 0x46 -/* 01B33C 7001A73C 0320F809 */ jalr $t9 -/* 01B340 7001A740 01403025 */ move $a2, $t2 -/* 01B344 7001A744 87AB0046 */ lh $t3, 0x46($sp) -/* 01B348 7001A748 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 01B34C 7001A74C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01B350 7001A750 01616024 */ and $t4, $t3, $at -/* 01B354 7001A754 3C010A00 */ lui $at, 0xa00 -/* 01B358 7001A758 8FAA0058 */ lw $t2, 0x58($sp) -/* 01B35C 7001A75C 01816825 */ or $t5, $t4, $at -/* 01B360 7001A760 AC4D0000 */ sw $t5, ($v0) -/* 01B364 7001A764 8FAE0054 */ lw $t6, 0x54($sp) -/* 01B368 7001A768 000A5840 */ sll $t3, $t2, 1 -/* 01B36C 7001A76C 316CFFFF */ andi $t4, $t3, 0xffff -/* 01B370 7001A770 85D80000 */ lh $t8, ($t6) -/* 01B374 7001A774 24450008 */ addiu $a1, $v0, 8 -/* 01B378 7001A778 0018CC00 */ sll $t9, $t8, 0x10 -/* 01B37C 7001A77C 032C6825 */ or $t5, $t9, $t4 -/* 01B380 7001A780 10000057 */ b .L7001A8E0 -/* 01B384 7001A784 AC4D0004 */ sw $t5, 4($v0) -/* 01B388 7001A788 C5020018 */ lwc1 $f2, 0x18($t0) -.L7001A78C: -/* 01B38C 7001A78C 3C018003 */ lui $at, %hi(F64_80029878) -/* 01B390 7001A790 D4249878 */ ldc1 $f4, %lo(F64_80029878)($at) -/* 01B394 7001A794 460011A1 */ cvt.d.s $f6, $f2 -/* 01B398 7001A798 3C018003 */ lui $at, %hi(F64_80029880) -/* 01B39C 7001A79C 4626203C */ c.lt.d $f4, $f6 -/* 01B3A0 7001A7A0 00000000 */ nop -/* 01B3A4 7001A7A4 45020005 */ bc1fl .L7001A7BC -/* 01B3A8 7001A7A8 3C014700 */ lui $at, 0x4700 -/* 01B3AC 7001A7AC C4289880 */ lwc1 $f8, %lo(F64_80029880)($at) -/* 01B3B0 7001A7B0 E5080018 */ swc1 $f8, 0x18($t0) -/* 01B3B4 7001A7B4 C5020018 */ lwc1 $f2, 0x18($t0) -/* 01B3B8 7001A7B8 3C014700 */ li $at, 0x47000000 # 32768.000000 -.L7001A7BC: -/* 01B3BC 7001A7BC 44816000 */ mtc1 $at, $f12 -/* 01B3C0 7001A7C0 01202025 */ move $a0, $t1 -/* 01B3C4 7001A7C4 27A50046 */ addiu $a1, $sp, 0x46 -/* 01B3C8 7001A7C8 460C1282 */ mul.s $f10, $f2, $f12 -/* 01B3CC 7001A7CC 4600540D */ trunc.w.s $f16, $f10 -/* 01B3D0 7001A7D0 440F8000 */ mfc1 $t7, $f16 -/* 01B3D4 7001A7D4 448A8000 */ mtc1 $t2, $f16 -/* 01B3D8 7001A7D8 448F9000 */ mtc1 $t7, $f18 -/* 01B3DC 7001A7DC 00000000 */ nop -/* 01B3E0 7001A7E0 46809120 */ cvt.s.w $f4, $f18 -/* 01B3E4 7001A7E4 468084A0 */ cvt.s.w $f18, $f16 -/* 01B3E8 7001A7E8 E5040018 */ swc1 $f4, 0x18($t0) -/* 01B3EC 7001A7EC C5060018 */ lwc1 $f6, 0x18($t0) -/* 01B3F0 7001A7F0 460C3203 */ div.s $f8, $f6, $f12 -/* 01B3F4 7001A7F4 C5060020 */ lwc1 $f6, 0x20($t0) -/* 01B3F8 7001A7F8 E5080018 */ swc1 $f8, 0x18($t0) -/* 01B3FC 7001A7FC C50A0018 */ lwc1 $f10, 0x18($t0) -/* 01B400 7001A800 46125102 */ mul.s $f4, $f10, $f18 -/* 01B404 7001A804 46043000 */ add.s $f0, $f6, $f4 -/* 01B408 7001A808 4600020D */ trunc.w.s $f8, $f0 -/* 01B40C 7001A80C 44064000 */ mfc1 $a2, $f8 -/* 01B410 7001A810 00000000 */ nop -/* 01B414 7001A814 44868000 */ mtc1 $a2, $f16 -/* 01B418 7001A818 00000000 */ nop -/* 01B41C 7001A81C 468082A0 */ cvt.s.w $f10, $f16 -/* 01B420 7001A820 460A0481 */ sub.s $f18, $f0, $f10 -/* 01B424 7001A824 E5120020 */ swc1 $f18, 0x20($t0) -/* 01B428 7001A828 8FAB0060 */ lw $t3, 0x60($sp) -/* 01B42C 7001A82C AFAA0058 */ sw $t2, 0x58($sp) -/* 01B430 7001A830 AFA80050 */ sw $t0, 0x50($sp) -/* 01B434 7001A834 AFAB0010 */ sw $t3, 0x10($sp) -/* 01B438 7001A838 8D390004 */ lw $t9, 4($t1) -/* 01B43C 7001A83C 0320F809 */ jalr $t9 -/* 01B440 7001A840 00000000 */ nop -/* 01B444 7001A844 8FA80050 */ lw $t0, 0x50($sp) -/* 01B448 7001A848 87AD0046 */ lh $t5, 0x46($sp) -/* 01B44C 7001A84C 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 01B450 7001A850 44812000 */ mtc1 $at, $f4 -/* 01B454 7001A854 C5060018 */ lwc1 $f6, 0x18($t0) -/* 01B458 7001A858 3C010800 */ lui $at, 0x800 -/* 01B45C 7001A85C 31AEFFFF */ andi $t6, $t5, 0xffff -/* 01B460 7001A860 8FAA0058 */ lw $t2, 0x58($sp) -/* 01B464 7001A864 01C17825 */ or $t7, $t6, $at -/* 01B468 7001A868 AC4F0000 */ sw $t7, ($v0) -/* 01B46C 7001A86C 8FB80054 */ lw $t8, 0x54($sp) -/* 01B470 7001A870 46043202 */ mul.s $f8, $f6, $f4 -/* 01B474 7001A874 000A6840 */ sll $t5, $t2, 1 -/* 01B478 7001A878 87190000 */ lh $t9, ($t8) -/* 01B47C 7001A87C 31AEFFFF */ andi $t6, $t5, 0xffff -/* 01B480 7001A880 24580008 */ addiu $t8, $v0, 8 -/* 01B484 7001A884 00196400 */ sll $t4, $t9, 0x10 -/* 01B488 7001A888 018E7825 */ or $t7, $t4, $t6 -/* 01B48C 7001A88C 4600440D */ trunc.w.s $f16, $f8 -/* 01B490 7001A890 AC4F0004 */ sw $t7, 4($v0) -/* 01B494 7001A894 AFB80028 */ sw $t8, 0x28($sp) -/* 01B498 7001A898 8D0B0024 */ lw $t3, 0x24($t0) -/* 01B49C 7001A89C 44038000 */ mfc1 $v1, $f16 -/* 01B4A0 7001A8A0 3C010500 */ lui $at, 0x500 -/* 01B4A4 7001A8A4 317900FF */ andi $t9, $t3, 0xff -/* 01B4A8 7001A8A8 00196C00 */ sll $t5, $t9, 0x10 -/* 01B4AC 7001A8AC 01A16025 */ or $t4, $t5, $at -/* 01B4B0 7001A8B0 306EFFFF */ andi $t6, $v1, 0xffff -/* 01B4B4 7001A8B4 018E7825 */ or $t7, $t4, $t6 -/* 01B4B8 7001A8B8 AC4F0008 */ sw $t7, 8($v0) -/* 01B4BC 7001A8BC 24450010 */ addiu $a1, $v0, 0x10 -/* 01B4C0 7001A8C0 8D040014 */ lw $a0, 0x14($t0) -/* 01B4C4 7001A8C4 0C003A2C */ jal osVirtualToPhysical -/* 01B4C8 7001A8C8 AFA50048 */ sw $a1, 0x48($sp) -/* 01B4CC 7001A8CC 8FB80028 */ lw $t8, 0x28($sp) -/* 01B4D0 7001A8D0 8FA80050 */ lw $t0, 0x50($sp) -/* 01B4D4 7001A8D4 8FA50048 */ lw $a1, 0x48($sp) -/* 01B4D8 7001A8D8 AF020004 */ sw $v0, 4($t8) -/* 01B4DC 7001A8DC AD000024 */ sw $zero, 0x24($t0) -.L7001A8E0: -/* 01B4E0 7001A8E0 00A01025 */ move $v0, $a1 -.L7001A8E4: -/* 01B4E4 7001A8E4 8FBF001C */ lw $ra, 0x1c($sp) -/* 01B4E8 7001A8E8 27BD0050 */ addiu $sp, $sp, 0x50 -/* 01B4EC 7001A8EC 03E00008 */ jr $ra -/* 01B4F0 7001A8F0 00000000 */ nop -.align 4 - -.section .rodata -glabel jpt_80029850 -.word .L7001A630 -.word .L7001A6C0 -.word .L7001A6C0 -.word .L7001A638 -.word .L7001A6C0 -.word .L7001A6C0 -.word .L7001A6A4 -.word .L7001A6B4 -.word .L7001A674 -.align 3 -glabel F64_80029878 -.double 1.99996 -glabel F64_80029880 -.float 1.9999599 -.word 0 -.word 0 -.word 0 - -.section .text -glabel _ldexpf -/* 01B500 7001A900 10C00007 */ beqz $a2, .L7001A920 -/* 01B504 7001A904 240E0001 */ li $t6, 1 -/* 01B508 7001A908 00CE7804 */ sllv $t7, $t6, $a2 -/* 01B50C 7001A90C 448F2000 */ mtc1 $t7, $f4 -/* 01B510 7001A910 00000000 */ nop -/* 01B514 7001A914 468021A1 */ cvt.d.w $f6, $f4 -/* 01B518 7001A918 46266302 */ mul.d $f12, $f12, $f6 -/* 01B51C 7001A91C 00000000 */ nop -.L7001A920: -/* 01B520 7001A920 03E00008 */ jr $ra -/* 01B524 7001A924 46206006 */ mov.d $f0, $f12 - -glabel _frexpf -/* 01B528 7001A928 44801800 */ mtc1 $zero, $f3 -/* 01B52C 7001A92C 44801000 */ mtc1 $zero, $f2 -/* 01B530 7001A930 ACC00000 */ sw $zero, ($a2) -/* 01B534 7001A934 3C013FF0 */ lui $at, 0x3ff0 -/* 01B538 7001A938 46226032 */ c.eq.d $f12, $f2 -/* 01B53C 7001A93C 00000000 */ nop -/* 01B540 7001A940 45020004 */ bc1fl .L7001A954 -/* 01B544 7001A944 462C103C */ c.lt.d $f2, $f12 -/* 01B548 7001A948 03E00008 */ jr $ra -/* 01B54C 7001A94C 46206006 */ mov.d $f0, $f12 - -/* 01B550 7001A950 462C103C */ c.lt.d $f2, $f12 -.L7001A954: -/* 01B554 7001A954 44817800 */ mtc1 $at, $f15 -/* 01B558 7001A958 44807000 */ mtc1 $zero, $f14 -/* 01B55C 7001A95C 3C013FE0 */ lui $at, 0x3fe0 -/* 01B560 7001A960 45020004 */ bc1fl .L7001A974 -/* 01B564 7001A964 46206007 */ neg.d $f0, $f12 -/* 01B568 7001A968 10000002 */ b .L7001A974 -/* 01B56C 7001A96C 46206006 */ mov.d $f0, $f12 -/* 01B570 7001A970 46206007 */ neg.d $f0, $f12 -.L7001A974: -/* 01B574 7001A974 4620703E */ c.le.d $f14, $f0 -/* 01B578 7001A978 00000000 */ nop -/* 01B57C 7001A97C 4502000D */ bc1fl .L7001A9B4 -/* 01B580 7001A980 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 01B584 7001A984 44818800 */ mtc1 $at, $f17 -/* 01B588 7001A988 44808000 */ mtc1 $zero, $f16 -/* 01B58C 7001A98C 00000000 */ nop -.L7001A990: -/* 01B590 7001A990 46300002 */ mul.d $f0, $f0, $f16 -/* 01B594 7001A994 8CCE0000 */ lw $t6, ($a2) -/* 01B598 7001A998 25CF0001 */ addiu $t7, $t6, 1 -/* 01B59C 7001A99C ACCF0000 */ sw $t7, ($a2) -/* 01B5A0 7001A9A0 4620703E */ c.le.d $f14, $f0 -/* 01B5A4 7001A9A4 00000000 */ nop -/* 01B5A8 7001A9A8 4501FFF9 */ bc1t .L7001A990 -/* 01B5AC 7001A9AC 00000000 */ nop -/* 01B5B0 7001A9B0 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -.L7001A9B4: -/* 01B5B4 7001A9B4 44818800 */ mtc1 $at, $f17 -/* 01B5B8 7001A9B8 44808000 */ mtc1 $zero, $f16 -/* 01B5BC 7001A9BC 00000000 */ nop -/* 01B5C0 7001A9C0 4630003C */ c.lt.d $f0, $f16 -/* 01B5C4 7001A9C4 00000000 */ nop -/* 01B5C8 7001A9C8 45020009 */ bc1fl .L7001A9F0 -/* 01B5CC 7001A9CC 462C103C */ c.lt.d $f2, $f12 -/* 01B5D0 7001A9D0 46200000 */ add.d $f0, $f0, $f0 -.L7001A9D4: -/* 01B5D4 7001A9D4 8CD80000 */ lw $t8, ($a2) -/* 01B5D8 7001A9D8 4630003C */ c.lt.d $f0, $f16 -/* 01B5DC 7001A9DC 2719FFFF */ addiu $t9, $t8, -1 -/* 01B5E0 7001A9E0 ACD90000 */ sw $t9, ($a2) -/* 01B5E4 7001A9E4 4503FFFB */ bc1tl .L7001A9D4 -/* 01B5E8 7001A9E8 46200000 */ add.d $f0, $f0, $f0 -/* 01B5EC 7001A9EC 462C103C */ c.lt.d $f2, $f12 -.L7001A9F0: -/* 01B5F0 7001A9F0 00000000 */ nop -/* 01B5F4 7001A9F4 45020004 */ bc1fl .L7001AA08 -/* 01B5F8 7001A9F8 46200087 */ neg.d $f2, $f0 -/* 01B5FC 7001A9FC 10000002 */ b .L7001AA08 -/* 01B600 7001AA00 46200086 */ mov.d $f2, $f0 -/* 01B604 7001AA04 46200087 */ neg.d $f2, $f0 -.L7001AA08: -/* 01B608 7001AA08 46201006 */ mov.d $f0, $f2 -/* 01B60C 7001AA0C 03E00008 */ jr $ra -/* 01B610 7001AA10 00000000 */ nop - -glabel alEnvmixerParam -/* 01B614 7001AA14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01B618 7001AA18 24020001 */ li $v0, 1 -/* 01B61C 7001AA1C AFBF0014 */ sw $ra, 0x14($sp) -/* 01B620 7001AA20 10A20027 */ beq $a1, $v0, .L7001AAC0 -/* 01B624 7001AA24 00803825 */ move $a3, $a0 -/* 01B628 7001AA28 24010003 */ li $at, 3 -/* 01B62C 7001AA2C 10A10007 */ beq $a1, $at, .L7001AA4C -/* 01B630 7001AA30 24010004 */ li $at, 4 -/* 01B634 7001AA34 10A1000D */ beq $a1, $at, .L7001AA6C -/* 01B638 7001AA38 24010009 */ li $at, 9 -/* 01B63C 7001AA3C 50A10017 */ beql $a1, $at, .L7001AA9C -/* 01B640 7001AA40 8CE40000 */ lw $a0, ($a3) -/* 01B644 7001AA44 10000021 */ b .L7001AACC -/* 01B648 7001AA48 8CE40000 */ lw $a0, ($a3) -.L7001AA4C: -/* 01B64C 7001AA4C 8CE20040 */ lw $v0, 0x40($a3) -/* 01B650 7001AA50 50400004 */ beql $v0, $zero, .L7001AA64 -/* 01B654 7001AA54 ACE6003C */ sw $a2, 0x3c($a3) -/* 01B658 7001AA58 10000002 */ b .L7001AA64 -/* 01B65C 7001AA5C AC460000 */ sw $a2, ($v0) -/* 01B660 7001AA60 ACE6003C */ sw $a2, 0x3c($a3) -.L7001AA64: -/* 01B664 7001AA64 1000001E */ b .L7001AAE0 -/* 01B668 7001AA68 ACE60040 */ sw $a2, 0x40($a3) -.L7001AA6C: -/* 01B66C 7001AA6C 8CE40000 */ lw $a0, ($a3) -/* 01B670 7001AA70 ACE20038 */ sw $v0, 0x38($a3) -/* 01B674 7001AA74 ACE00048 */ sw $zero, 0x48($a3) -/* 01B678 7001AA78 10800019 */ beqz $a0, .L7001AAE0 -/* 01B67C 7001AA7C A4E2001A */ sh $v0, 0x1a($a3) -/* 01B680 7001AA80 8C990008 */ lw $t9, 8($a0) -/* 01B684 7001AA84 24050004 */ li $a1, 4 -/* 01B688 7001AA88 0320F809 */ jalr $t9 -/* 01B68C 7001AA8C 00000000 */ nop -/* 01B690 7001AA90 10000014 */ b .L7001AAE4 -/* 01B694 7001AA94 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B698 7001AA98 8CE40000 */ lw $a0, ($a3) -.L7001AA9C: -/* 01B69C 7001AA9C ACE20048 */ sw $v0, 0x48($a3) -/* 01B6A0 7001AAA0 50800010 */ beql $a0, $zero, .L7001AAE4 -/* 01B6A4 7001AAA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B6A8 7001AAA8 8C990008 */ lw $t9, 8($a0) -/* 01B6AC 7001AAAC 24050009 */ li $a1, 9 -/* 01B6B0 7001AAB0 0320F809 */ jalr $t9 -/* 01B6B4 7001AAB4 00000000 */ nop -/* 01B6B8 7001AAB8 1000000A */ b .L7001AAE4 -/* 01B6BC 7001AABC 8FBF0014 */ lw $ra, 0x14($sp) -.L7001AAC0: -/* 01B6C0 7001AAC0 10000007 */ b .L7001AAE0 -/* 01B6C4 7001AAC4 ACE60000 */ sw $a2, ($a3) -/* 01B6C8 7001AAC8 8CE40000 */ lw $a0, ($a3) -.L7001AACC: -/* 01B6CC 7001AACC 50800005 */ beql $a0, $zero, .L7001AAE4 -/* 01B6D0 7001AAD0 8FBF0014 */ lw $ra, 0x14($sp) -/* 01B6D4 7001AAD4 8C990008 */ lw $t9, 8($a0) -/* 01B6D8 7001AAD8 0320F809 */ jalr $t9 -/* 01B6DC 7001AADC 00000000 */ nop -.L7001AAE0: -/* 01B6E0 7001AAE0 8FBF0014 */ lw $ra, 0x14($sp) -.L7001AAE4: -/* 01B6E4 7001AAE4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01B6E8 7001AAE8 00001025 */ move $v0, $zero -/* 01B6EC 7001AAEC 03E00008 */ jr $ra -/* 01B6F0 7001AAF0 00000000 */ nop - -glabel ultra_7001AAF4 -/* 01B6F4 7001AAF4 5480000C */ bnezl $a0, .L7001AB28 -/* 01B6F8 7001AAF8 44843000 */ mtc1 $a0, $f6 -/* 01B6FC 7001AAFC 460C703E */ c.le.s $f14, $f12 -/* 01B700 7001AB00 340EFFFF */ li $t6, 65535 -/* 01B704 7001AB04 24028000 */ li $v0, -32768 -/* 01B708 7001AB08 45000004 */ bc1f .L7001AB1C -/* 01B70C 7001AB0C 00000000 */ nop -/* 01B710 7001AB10 A4AE0000 */ sh $t6, ($a1) -/* 01B714 7001AB14 03E00008 */ jr $ra -/* 01B718 7001AB18 24027FFF */ li $v0, 32767 - -.L7001AB1C: -/* 01B71C 7001AB1C 03E00008 */ jr $ra -/* 01B720 7001AB20 A4A00000 */ sh $zero, ($a1) - -/* 01B724 7001AB24 44843000 */ mtc1 $a0, $f6 -.L7001AB28: -/* 01B728 7001AB28 460E6101 */ sub.s $f4, $f12, $f14 -/* 01B72C 7001AB2C 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 01B730 7001AB30 44812800 */ mtc1 $at, $f5 -/* 01B734 7001AB34 46803220 */ cvt.s.w $f8, $f6 -/* 01B738 7001AB38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01B73C 7001AB3C 46082283 */ div.s $f10, $f4, $f8 -/* 01B740 7001AB40 44802000 */ mtc1 $zero, $f4 -/* 01B744 7001AB44 460051A1 */ cvt.d.s $f6, $f10 -/* 01B748 7001AB48 44805000 */ mtc1 $zero, $f10 -/* 01B74C 7001AB4C 46243202 */ mul.d $f8, $f6, $f4 -/* 01B750 7001AB50 462040A0 */ cvt.s.d $f2, $f8 -/* 01B754 7001AB54 460A103C */ c.lt.s $f2, $f10 -/* 01B758 7001AB58 46001006 */ mov.s $f0, $f2 -/* 01B75C 7001AB5C 45020005 */ bc1fl .L7001AB74 -/* 01B760 7001AB60 4600010D */ trunc.w.s $f4, $f0 -/* 01B764 7001AB64 44813000 */ mtc1 $at, $f6 -/* 01B768 7001AB68 00000000 */ nop -/* 01B76C 7001AB6C 46061001 */ sub.s $f0, $f2, $f6 -/* 01B770 7001AB70 4600010D */ trunc.w.s $f4, $f0 -.L7001AB74: -/* 01B774 7001AB74 3C018003 */ lui $at, %hi(F32_80029964) -/* 01B778 7001AB78 44032000 */ mfc1 $v1, $f4 -/* 01B77C 7001AB7C C4249964 */ lwc1 $f4, %lo(F32_80029964)($at) -/* 01B780 7001AB80 0003C400 */ sll $t8, $v1, 0x10 -/* 01B784 7001AB84 00181403 */ sra $v0, $t8, 0x10 -/* 01B788 7001AB88 44824000 */ mtc1 $v0, $f8 -/* 01B78C 7001AB8C 00000000 */ nop -/* 01B790 7001AB90 468042A0 */ cvt.s.w $f10, $f8 -/* 01B794 7001AB94 460A0181 */ sub.s $f6, $f0, $f10 -/* 01B798 7001AB98 46043202 */ mul.s $f8, $f6, $f4 -/* 01B79C 7001AB9C 4600428D */ trunc.w.s $f10, $f8 -/* 01B7A0 7001ABA0 440F5000 */ mfc1 $t7, $f10 -/* 01B7A4 7001ABA4 00000000 */ nop -/* 01B7A8 7001ABA8 A4AF0000 */ sh $t7, ($a1) -/* 01B7AC 7001ABAC 03E00008 */ jr $ra -/* 01B7B0 7001ABB0 00000000 */ nop - -glabel ultra_7001ABB4 -/* 01B7B4 7001ABB4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01B7B8 7001ABB8 AFBF001C */ sw $ra, 0x1c($sp) -/* 01B7BC 7001ABBC 16400003 */ bnez $s2, .L7001ABCC -/* 01B7C0 7001ABC0 8E110000 */ lw $s1, ($s0) -/* 01B7C4 7001ABC4 1000009F */ b .L7001AE44 -/* 01B7C8 7001ABC8 02801025 */ move $v0, $s4 -.L7001ABCC: -/* 01B7CC 7001ABCC 16200008 */ bnez $s1, .L7001ABF0 -/* 01B7D0 7001ABD0 3C048003 */ lui $a0, %hi(aAssertionFaultSSLineD_1) -/* 01B7D4 7001ABD4 3C058003 */ lui $a1, %hi(aSource) -/* 01B7D8 7001ABD8 3C068003 */ lui $a2, %hi(aEnv_c_1) -/* 01B7DC 7001ABDC 24C6995C */ addiu $a2, %lo(aEnv_c_1) # addiu $a2, $a2, -0x66a4 -/* 01B7E0 7001ABE0 24A59954 */ addiu $a1, %lo(aSource) # addiu $a1, $a1, -0x66ac -/* 01B7E4 7001ABE4 24849928 */ addiu $a0, %lo(aAssertionFaultSSLineD_1) # addiu $a0, $a0, -0x66d8 -/* 01B7E8 7001ABE8 0C0033D1 */ jal osSyncPrintf -/* 01B7EC 7001ABEC 24070175 */ li $a3, 373 -.L7001ABF0: -/* 01B7F0 7001ABF0 AFB40010 */ sw $s4, 0x10($sp) -/* 01B7F4 7001ABF4 8E390004 */ lw $t9, 4($s1) -/* 01B7F8 7001ABF8 02202025 */ move $a0, $s1 -/* 01B7FC 7001ABFC 02A02825 */ move $a1, $s5 -/* 01B800 7001AC00 02403025 */ move $a2, $s2 -/* 01B804 7001AC04 0320F809 */ jalr $t9 -/* 01B808 7001AC08 02C03825 */ move $a3, $s6 -/* 01B80C 7001AC0C 86AE0000 */ lh $t6, ($s5) -/* 01B810 7001AC10 3C010800 */ lui $at, 0x800 -/* 01B814 7001AC14 0012A040 */ sll $s4, $s2, 1 -/* 01B818 7001AC18 31CFFFFF */ andi $t7, $t6, 0xffff -/* 01B81C 7001AC1C 01E1C025 */ or $t8, $t7, $at -/* 01B820 7001AC20 AC580000 */ sw $t8, ($v0) -/* 01B824 7001AC24 86790000 */ lh $t9, ($s3) -/* 01B828 7001AC28 3C010808 */ lui $at, 0x808 -/* 01B82C 7001AC2C 24510010 */ addiu $s1, $v0, 0x10 -/* 01B830 7001AC30 272F0440 */ addiu $t7, $t9, 0x440 -/* 01B834 7001AC34 000FC400 */ sll $t8, $t7, 0x10 -/* 01B838 7001AC38 3299FFFF */ andi $t9, $s4, 0xffff -/* 01B83C 7001AC3C 03197025 */ or $t6, $t8, $t9 -/* 01B840 7001AC40 AC4E0004 */ sw $t6, 4($v0) -/* 01B844 7001AC44 866F0000 */ lh $t7, ($s3) -/* 01B848 7001AC48 02209025 */ move $s2, $s1 -/* 01B84C 7001AC4C 25F80580 */ addiu $t8, $t7, 0x580 -/* 01B850 7001AC50 3319FFFF */ andi $t9, $t8, 0xffff -/* 01B854 7001AC54 03217025 */ or $t6, $t9, $at -/* 01B858 7001AC58 AC4E0008 */ sw $t6, 8($v0) -/* 01B85C 7001AC5C 86630000 */ lh $v1, ($s3) -/* 01B860 7001AC60 246F0800 */ addiu $t7, $v1, 0x800 -/* 01B864 7001AC64 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01B868 7001AC68 246E06C0 */ addiu $t6, $v1, 0x6c0 -/* 01B86C 7001AC6C 000E7C00 */ sll $t7, $t6, 0x10 -/* 01B870 7001AC70 030FC825 */ or $t9, $t8, $t7 -/* 01B874 7001AC74 AC59000C */ sw $t9, 0xc($v0) -/* 01B878 7001AC78 8E0E0038 */ lw $t6, 0x38($s0) -/* 01B87C 7001AC7C 3C198003 */ lui $t9, %hi(eqpower) -/* 01B880 7001AC80 51C00067 */ beql $t6, $zero, .L7001AE20 -/* 01B884 7001AC84 3C0E0308 */ lui $t6, 0x308 -/* 01B888 7001AC88 86180018 */ lh $t8, 0x18($s0) -/* 01B88C 7001AC8C AE000038 */ sw $zero, 0x38($s0) -/* 01B890 7001AC90 860E001A */ lh $t6, 0x1a($s0) -/* 01B894 7001AC94 00187840 */ sll $t7, $t8, 1 -/* 01B898 7001AC98 032FC821 */ addu $t9, $t9, $t7 -/* 01B89C 7001AC9C 873981E0 */ lh $t9, %lo(eqpower)($t9) -/* 01B8A0 7001ACA0 8E040034 */ lw $a0, 0x34($s0) -/* 01B8A4 7001ACA4 26050024 */ addiu $a1, $s0, 0x24 -/* 01B8A8 7001ACA8 032E0019 */ multu $t9, $t6 -/* 01B8AC 7001ACAC 8619001C */ lh $t9, 0x1c($s0) -/* 01B8B0 7001ACB0 44992000 */ mtc1 $t9, $f4 -/* 01B8B4 7001ACB4 00000000 */ nop -/* 01B8B8 7001ACB8 468023A0 */ cvt.s.w $f14, $f4 -/* 01B8BC 7001ACBC 0000C012 */ mflo $t8 -/* 01B8C0 7001ACC0 00187BC3 */ sra $t7, $t8, 0xf -/* 01B8C4 7001ACC4 A60F0028 */ sh $t7, 0x28($s0) -/* 01B8C8 7001ACC8 860E0028 */ lh $t6, 0x28($s0) -/* 01B8CC 7001ACCC 448E3000 */ mtc1 $t6, $f6 -/* 01B8D0 7001ACD0 0C006ABD */ jal ultra_7001AAF4 -/* 01B8D4 7001ACD4 46803320 */ cvt.s.w $f12, $f6 -/* 01B8D8 7001ACD8 86180018 */ lh $t8, 0x18($s0) -/* 01B8DC 7001ACDC 3C0E8003 */ lui $t6, %hi(eqpower+0xFE) -/* 01B8E0 7001ACE0 A6020026 */ sh $v0, 0x26($s0) -/* 01B8E4 7001ACE4 00187840 */ sll $t7, $t8, 1 -/* 01B8E8 7001ACE8 000FC823 */ negu $t9, $t7 -/* 01B8EC 7001ACEC 01D97021 */ addu $t6, $t6, $t9 -/* 01B8F0 7001ACF0 85CE82DE */ lh $t6, %lo(eqpower+0xFE)($t6) -/* 01B8F4 7001ACF4 8618001A */ lh $t8, 0x1a($s0) -/* 01B8F8 7001ACF8 8E040034 */ lw $a0, 0x34($s0) -/* 01B8FC 7001ACFC 2605002A */ addiu $a1, $s0, 0x2a -/* 01B900 7001AD00 01D80019 */ multu $t6, $t8 -/* 01B904 7001AD04 860E001E */ lh $t6, 0x1e($s0) -/* 01B908 7001AD08 448E4000 */ mtc1 $t6, $f8 -/* 01B90C 7001AD0C 00000000 */ nop -/* 01B910 7001AD10 468043A0 */ cvt.s.w $f14, $f8 -/* 01B914 7001AD14 00007812 */ mflo $t7 -/* 01B918 7001AD18 000FCBC3 */ sra $t9, $t7, 0xf -/* 01B91C 7001AD1C A619002E */ sh $t9, 0x2e($s0) -/* 01B920 7001AD20 8618002E */ lh $t8, 0x2e($s0) -/* 01B924 7001AD24 44985000 */ mtc1 $t8, $f10 -/* 01B928 7001AD28 0C006ABD */ jal ultra_7001AAF4 -/* 01B92C 7001AD2C 46805320 */ cvt.s.w $f12, $f10 -/* 01B930 7001AD30 860F001C */ lh $t7, 0x1c($s0) -/* 01B934 7001AD34 A602002C */ sh $v0, 0x2c($s0) -/* 01B938 7001AD38 02201825 */ move $v1, $s1 -/* 01B93C 7001AD3C 3C010906 */ lui $at, 0x906 -/* 01B940 7001AD40 31F9FFFF */ andi $t9, $t7, 0xffff -/* 01B944 7001AD44 03217025 */ or $t6, $t9, $at -/* 01B948 7001AD48 AC6E0000 */ sw $t6, ($v1) -/* 01B94C 7001AD4C AC600004 */ sw $zero, 4($v1) -/* 01B950 7001AD50 8618001E */ lh $t8, 0x1e($s0) -/* 01B954 7001AD54 26310008 */ addiu $s1, $s1, 8 -/* 01B958 7001AD58 02202025 */ move $a0, $s1 -/* 01B95C 7001AD5C 3C010904 */ lui $at, 0x904 -/* 01B960 7001AD60 330FFFFF */ andi $t7, $t8, 0xffff -/* 01B964 7001AD64 01E1C825 */ or $t9, $t7, $at -/* 01B968 7001AD68 AC990000 */ sw $t9, ($a0) -/* 01B96C 7001AD6C AC800004 */ sw $zero, 4($a0) -/* 01B970 7001AD70 860E0028 */ lh $t6, 0x28($s0) -/* 01B974 7001AD74 26310008 */ addiu $s1, $s1, 8 -/* 01B978 7001AD78 3C010902 */ lui $at, 0x902 -/* 01B97C 7001AD7C 31D8FFFF */ andi $t8, $t6, 0xffff -/* 01B980 7001AD80 03017825 */ or $t7, $t8, $at -/* 01B984 7001AD84 02202825 */ move $a1, $s1 -/* 01B988 7001AD88 ACAF0000 */ sw $t7, ($a1) -/* 01B98C 7001AD8C 860E0026 */ lh $t6, 0x26($s0) -/* 01B990 7001AD90 96190024 */ lhu $t9, 0x24($s0) -/* 01B994 7001AD94 26310008 */ addiu $s1, $s1, 8 -/* 01B998 7001AD98 000EC400 */ sll $t8, $t6, 0x10 -/* 01B99C 7001AD9C 03197025 */ or $t6, $t8, $t9 -/* 01B9A0 7001ADA0 ACAE0004 */ sw $t6, 4($a1) -/* 01B9A4 7001ADA4 860F002E */ lh $t7, 0x2e($s0) -/* 01B9A8 7001ADA8 3C010900 */ lui $at, 0x900 -/* 01B9AC 7001ADAC 02203025 */ move $a2, $s1 -/* 01B9B0 7001ADB0 31F8FFFF */ andi $t8, $t7, 0xffff -/* 01B9B4 7001ADB4 0301C825 */ or $t9, $t8, $at -/* 01B9B8 7001ADB8 ACD90000 */ sw $t9, ($a2) -/* 01B9BC 7001ADBC 860F002C */ lh $t7, 0x2c($s0) -/* 01B9C0 7001ADC0 960E002A */ lhu $t6, 0x2a($s0) -/* 01B9C4 7001ADC4 26310008 */ addiu $s1, $s1, 8 -/* 01B9C8 7001ADC8 000FC400 */ sll $t8, $t7, 0x10 -/* 01B9CC 7001ADCC 030E7825 */ or $t7, $t8, $t6 -/* 01B9D0 7001ADD0 ACCF0004 */ sw $t7, 4($a2) -/* 01B9D4 7001ADD4 86190020 */ lh $t9, 0x20($s0) -/* 01B9D8 7001ADD8 3C010908 */ lui $at, 0x908 -/* 01B9DC 7001ADDC 02201025 */ move $v0, $s1 -/* 01B9E0 7001ADE0 3338FFFF */ andi $t8, $t9, 0xffff -/* 01B9E4 7001ADE4 03017025 */ or $t6, $t8, $at -/* 01B9E8 7001ADE8 AC4E0000 */ sw $t6, ($v0) -/* 01B9EC 7001ADEC 860F0022 */ lh $t7, 0x22($s0) -/* 01B9F0 7001ADF0 26310008 */ addiu $s1, $s1, 8 -/* 01B9F4 7001ADF4 02209025 */ move $s2, $s1 -/* 01B9F8 7001ADF8 31F9FFFF */ andi $t9, $t7, 0xffff -/* 01B9FC 7001ADFC AC590004 */ sw $t9, 4($v0) -/* 01BA00 7001AE00 3C180309 */ lui $t8, 0x309 -/* 01BA04 7001AE04 AE580000 */ sw $t8, ($s2) -/* 01BA08 7001AE08 8E040014 */ lw $a0, 0x14($s0) -/* 01BA0C 7001AE0C 0C003A2C */ jal osVirtualToPhysical -/* 01BA10 7001AE10 26310008 */ addiu $s1, $s1, 8 -/* 01BA14 7001AE14 10000007 */ b .L7001AE34 -/* 01BA18 7001AE18 AE420004 */ sw $v0, 4($s2) -/* 01BA1C 7001AE1C 3C0E0308 */ lui $t6, 0x308 -.L7001AE20: -/* 01BA20 7001AE20 AE4E0000 */ sw $t6, ($s2) -/* 01BA24 7001AE24 8E040014 */ lw $a0, 0x14($s0) -/* 01BA28 7001AE28 0C003A2C */ jal osVirtualToPhysical -/* 01BA2C 7001AE2C 26310008 */ addiu $s1, $s1, 8 -/* 01BA30 7001AE30 AE420004 */ sw $v0, 4($s2) -.L7001AE34: -/* 01BA34 7001AE34 86AF0000 */ lh $t7, ($s5) -/* 01BA38 7001AE38 02201025 */ move $v0, $s1 -/* 01BA3C 7001AE3C 01F4C821 */ addu $t9, $t7, $s4 -/* 01BA40 7001AE40 A6B90000 */ sh $t9, ($s5) -.L7001AE44: -/* 01BA44 7001AE44 8FBF001C */ lw $ra, 0x1c($sp) -/* 01BA48 7001AE48 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01BA4C 7001AE4C 03E00008 */ jr $ra -/* 01BA50 7001AE50 00000000 */ nop - -/* 01BA54 7001AE54 03E00008 */ jr $ra -/* 01BA58 7001AE58 00000000 */ nop - -glabel alEnvmixerPull -/* 01BA5C 7001AE5C 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 01BA60 7001AE60 8FAE00E8 */ lw $t6, 0xe8($sp) -/* 01BA64 7001AE64 AFBF0054 */ sw $ra, 0x54($sp) -/* 01BA68 7001AE68 AFBE0050 */ sw $fp, 0x50($sp) -/* 01BA6C 7001AE6C AFB7004C */ sw $s7, 0x4c($sp) -/* 01BA70 7001AE70 AFB60048 */ sw $s6, 0x48($sp) -/* 01BA74 7001AE74 AFB50044 */ sw $s5, 0x44($sp) -/* 01BA78 7001AE78 AFB40040 */ sw $s4, 0x40($sp) -/* 01BA7C 7001AE7C AFB3003C */ sw $s3, 0x3c($sp) -/* 01BA80 7001AE80 AFB20038 */ sw $s2, 0x38($sp) -/* 01BA84 7001AE84 AFB10034 */ sw $s1, 0x34($sp) -/* 01BA88 7001AE88 AFB00030 */ sw $s0, 0x30($sp) -/* 01BA8C 7001AE8C F7B60028 */ sdc1 $f22, 0x28($sp) -/* 01BA90 7001AE90 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 01BA94 7001AE94 AFA500DC */ sw $a1, 0xdc($sp) -/* 01BA98 7001AE98 AFA600E0 */ sw $a2, 0xe0($sp) -/* 01BA9C 7001AE9C AFA700E4 */ sw $a3, 0xe4($sp) -/* 01BAA0 7001AEA0 AFA400D0 */ sw $a0, 0xd0($sp) -/* 01BAA4 7001AEA4 AFA700C4 */ sw $a3, 0xc4($sp) -/* 01BAA8 7001AEA8 A7A000BE */ sh $zero, 0xbe($sp) -/* 01BAAC 7001AEAC A7A000CE */ sh $zero, 0xce($sp) -/* 01BAB0 7001AEB0 AFAE00D4 */ sw $t6, 0xd4($sp) -/* 01BAB4 7001AEB4 8C98003C */ lw $t8, 0x3c($a0) -/* 01BAB8 7001AEB8 0080B825 */ move $s7, $a0 -/* 01BABC 7001AEBC 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 01BAC0 7001AEC0 53000162 */ beql $t8, $zero, .L7001B44C -/* 01BAC4 7001AEC4 8EEE0048 */ lw $t6, 0x48($s7) -/* 01BAC8 7001AEC8 4481B800 */ mtc1 $at, $f23 -/* 01BACC 7001AECC 3C0140F0 */ li $at, 0x40F00000 # 7.500000 -/* 01BAD0 7001AED0 4481A800 */ mtc1 $at, $f21 -/* 01BAD4 7001AED4 4480B000 */ mtc1 $zero, $f22 -/* 01BAD8 7001AED8 4480A000 */ mtc1 $zero, $f20 -/* 01BADC 7001AEDC 24110001 */ li $s1, 1 -/* 01BAE0 7001AEE0 8EF9003C */ lw $t9, 0x3c($s7) -.L7001AEE4: -/* 01BAE4 7001AEE4 8FA200C4 */ lw $v0, 0xc4($sp) -/* 01BAE8 7001AEE8 8FB800E0 */ lw $t8, 0xe0($sp) -/* 01BAEC 7001AEEC 8F2E0004 */ lw $t6, 4($t9) -/* 01BAF0 7001AEF0 3C048003 */ lui $a0, %hi(aAssertionFaultSSLineD) -/* 01BAF4 7001AEF4 24849890 */ addiu $a0, %lo(aAssertionFaultSSLineD) # addiu $a0, $a0, -0x6770 -/* 01BAF8 7001AEF8 01C2F023 */ subu $fp, $t6, $v0 -/* 01BAFC 7001AEFC 031E082A */ slt $at, $t8, $fp -/* 01BB00 7001AF00 14200151 */ bnez $at, .L7001B448 -/* 01BB04 7001AF04 AFAE00C4 */ sw $t6, 0xc4($sp) -/* 01BB08 7001AF08 07C10006 */ bgez $fp, .L7001AF24 -/* 01BB0C 7001AF0C 3C058003 */ lui $a1, %hi(aSamples0) -/* 01BB10 7001AF10 3C068003 */ lui $a2, %hi(aEnv_c) -/* 01BB14 7001AF14 24C698CC */ addiu $a2, %lo(aEnv_c) # addiu $a2, $a2, -0x6734 -/* 01BB18 7001AF18 24A598BC */ addiu $a1, %lo(aSamples0) # addiu $a1, $a1, -0x6744 -/* 01BB1C 7001AF1C 0C0033D1 */ jal osSyncPrintf -/* 01BB20 7001AF20 24070068 */ li $a3, 104 -.L7001AF24: -/* 01BB24 7001AF24 2BC100A1 */ slti $at, $fp, 0xa1 -/* 01BB28 7001AF28 14200008 */ bnez $at, .L7001AF4C -/* 01BB2C 7001AF2C 3C048003 */ lui $a0, %hi(aAssertionFaultSSLineD_0) -/* 01BB30 7001AF30 3C058003 */ lui $a1, %hi(aSamplesAl_max_rsp_samples) -/* 01BB34 7001AF34 3C068003 */ lui $a2, %hi(aEnv_c_0) -/* 01BB38 7001AF38 24C69920 */ addiu $a2, %lo(aEnv_c_0) # addiu $a2, $a2, -0x66e0 -/* 01BB3C 7001AF3C 24A59900 */ addiu $a1, %lo(aSamplesAl_max_rsp_samples) # addiu $a1, $a1, -0x6700 -/* 01BB40 7001AF40 248498D4 */ addiu $a0, %lo(aAssertionFaultSSLineD_0) # addiu $a0, $a0, -0x672c -/* 01BB44 7001AF44 0C0033D1 */ jal osSyncPrintf -/* 01BB48 7001AF48 24070069 */ li $a3, 105 -.L7001AF4C: -/* 01BB4C 7001AF4C 8EE3003C */ lw $v1, 0x3c($s7) -/* 01BB50 7001AF50 94790008 */ lhu $t9, 8($v1) -/* 01BB54 7001AF54 2F210011 */ sltiu $at, $t9, 0x11 -/* 01BB58 7001AF58 10200117 */ beqz $at, .L7001B3B8 -/* 01BB5C 7001AF5C 0019C880 */ sll $t9, $t9, 2 -/* 01BB60 7001AF60 3C018003 */ lui $at, %hi(jpt_80029968) -/* 01BB64 7001AF64 00390821 */ addu $at, $at, $t9 -/* 01BB68 7001AF68 8C399968 */ lw $t9, %lo(jpt_80029968)($at) -/* 01BB6C 7001AF6C 03200008 */ jr $t9 -/* 01BB70 7001AF70 00000000 */ nop -.L7001AF74: -/* 01BB74 7001AF74 846E000A */ lh $t6, 0xa($v1) -/* 01BB78 7001AF78 00608025 */ move $s0, $v1 -/* 01BB7C 7001AF7C 51C00007 */ beql $t6, $zero, .L7001AF9C -/* 01BB80 7001AF80 8EF90008 */ lw $t9, 8($s7) -/* 01BB84 7001AF84 8EF90008 */ lw $t9, 8($s7) -/* 01BB88 7001AF88 02E02025 */ move $a0, $s7 -/* 01BB8C 7001AF8C 24050008 */ li $a1, 8 -/* 01BB90 7001AF90 0320F809 */ jalr $t9 -/* 01BB94 7001AF94 00003025 */ move $a2, $zero -/* 01BB98 7001AF98 8EF90008 */ lw $t9, 8($s7) -.L7001AF9C: -/* 01BB9C 7001AF9C 02E02025 */ move $a0, $s7 -/* 01BBA0 7001AFA0 24050005 */ li $a1, 5 -/* 01BBA4 7001AFA4 0320F809 */ jalr $t9 -/* 01BBA8 7001AFA8 8E060018 */ lw $a2, 0x18($s0) -/* 01BBAC 7001AFAC 8EF90008 */ lw $t9, 8($s7) -/* 01BBB0 7001AFB0 02E02025 */ move $a0, $s7 -/* 01BBB4 7001AFB4 24050009 */ li $a1, 9 -/* 01BBB8 7001AFB8 0320F809 */ jalr $t9 -/* 01BBBC 7001AFBC 00003025 */ move $a2, $zero -/* 01BBC0 7001AFC0 AEF10038 */ sw $s1, 0x38($s7) -/* 01BBC4 7001AFC4 AEE00030 */ sw $zero, 0x30($s7) -/* 01BBC8 7001AFC8 8E0F0014 */ lw $t7, 0x14($s0) -/* 01BBCC 7001AFCC AEEF0034 */ sw $t7, 0x34($s7) -/* 01BBD0 7001AFD0 86030010 */ lh $v1, 0x10($s0) -/* 01BBD4 7001AFD4 00630019 */ multu $v1, $v1 -/* 01BBD8 7001AFD8 00002012 */ mflo $a0 -/* 01BBDC 7001AFDC 0004C3C3 */ sra $t8, $a0, 0xf -/* 01BBE0 7001AFE0 A6F8001A */ sh $t8, 0x1a($s7) -/* 01BBE4 7001AFE4 920E0012 */ lbu $t6, 0x12($s0) -/* 01BBE8 7001AFE8 3C188003 */ lui $t8, %hi(eqpower) -/* 01BBEC 7001AFEC A6EE0018 */ sh $t6, 0x18($s7) -/* 01BBF0 7001AFF0 92190013 */ lbu $t9, 0x13($s0) -/* 01BBF4 7001AFF4 00197840 */ sll $t7, $t9, 1 -/* 01BBF8 7001AFF8 030FC021 */ addu $t8, $t8, $t7 -/* 01BBFC 7001AFFC 871881E0 */ lh $t8, %lo(eqpower)($t8) -/* 01BC00 7001B000 A6F80020 */ sh $t8, 0x20($s7) -/* 01BC04 7001B004 920E0013 */ lbu $t6, 0x13($s0) -/* 01BC08 7001B008 3C188003 */ lui $t8, %hi(eqpower+0xFE) -/* 01BC0C 7001B00C 000EC840 */ sll $t9, $t6, 1 -/* 01BC10 7001B010 00197823 */ negu $t7, $t9 -/* 01BC14 7001B014 030FC021 */ addu $t8, $t8, $t7 -/* 01BC18 7001B018 871882DE */ lh $t8, %lo(eqpower+0xFE)($t8) -/* 01BC1C 7001B01C A6F80022 */ sh $t8, 0x22($s7) -/* 01BC20 7001B020 8E0E0014 */ lw $t6, 0x14($s0) -/* 01BC24 7001B024 51C00005 */ beql $t6, $zero, .L7001B03C -/* 01BC28 7001B028 86E20018 */ lh $v0, 0x18($s7) -/* 01BC2C 7001B02C A6F1001C */ sh $s1, 0x1c($s7) -/* 01BC30 7001B030 10000013 */ b .L7001B080 -/* 01BC34 7001B034 A6F1001E */ sh $s1, 0x1e($s7) -/* 01BC38 7001B038 86E20018 */ lh $v0, 0x18($s7) -.L7001B03C: -/* 01BC3C 7001B03C 3C0F8003 */ lui $t7, %hi(eqpower) -/* 01BC40 7001B040 86E3001A */ lh $v1, 0x1a($s7) -/* 01BC44 7001B044 0002C840 */ sll $t9, $v0, 1 -/* 01BC48 7001B048 01F97821 */ addu $t7, $t7, $t9 -/* 01BC4C 7001B04C 85EF81E0 */ lh $t7, %lo(eqpower)($t7) -/* 01BC50 7001B050 0019C823 */ negu $t9, $t9 -/* 01BC54 7001B054 01E30019 */ multu $t7, $v1 -/* 01BC58 7001B058 3C0F8003 */ lui $t7, %hi(eqpower+0xFE) -/* 01BC5C 7001B05C 01F97821 */ addu $t7, $t7, $t9 -/* 01BC60 7001B060 0000C012 */ mflo $t8 -/* 01BC64 7001B064 001873C3 */ sra $t6, $t8, 0xf -/* 01BC68 7001B068 A6EE001C */ sh $t6, 0x1c($s7) -/* 01BC6C 7001B06C 85EF82DE */ lh $t7, %lo(eqpower+0xFE)($t7) -/* 01BC70 7001B070 01E30019 */ multu $t7, $v1 -/* 01BC74 7001B074 0000C012 */ mflo $t8 -/* 01BC78 7001B078 001873C3 */ sra $t6, $t8, 0xf -/* 01BC7C 7001B07C A6EE001E */ sh $t6, 0x1e($s7) -.L7001B080: -/* 01BC80 7001B080 8EF90000 */ lw $t9, ($s7) -/* 01BC84 7001B084 532000DF */ beql $t9, $zero, .L7001B404 -/* 01BC88 7001B088 87B800BE */ lh $t8, 0xbe($sp) -/* 01BC8C 7001B08C C604000C */ lwc1 $f4, 0xc($s0) -/* 01BC90 7001B090 24050007 */ li $a1, 7 -/* 01BC94 7001B094 E7A400A4 */ swc1 $f4, 0xa4($sp) -/* 01BC98 7001B098 8EE40000 */ lw $a0, ($s7) -/* 01BC9C 7001B09C 8FA600A4 */ lw $a2, 0xa4($sp) -/* 01BCA0 7001B0A0 8C990008 */ lw $t9, 8($a0) -/* 01BCA4 7001B0A4 0320F809 */ jalr $t9 -/* 01BCA8 7001B0A8 00000000 */ nop -/* 01BCAC 7001B0AC 100000D5 */ b .L7001B404 -/* 01BCB0 7001B0B0 87B800BE */ lh $t8, 0xbe($sp) -.L7001B0B4: -/* 01BCB4 7001B0B4 02E08025 */ move $s0, $s7 -/* 01BCB8 7001B0B8 27B500CE */ addiu $s5, $sp, 0xce -/* 01BCBC 7001B0BC 27B300BE */ addiu $s3, $sp, 0xbe -/* 01BCC0 7001B0C0 03C09025 */ move $s2, $fp -/* 01BCC4 7001B0C4 8FB600E4 */ lw $s6, 0xe4($sp) -/* 01BCC8 7001B0C8 0C006AED */ jal ultra_7001ABB4 -/* 01BCCC 7001B0CC 8FB400D4 */ lw $s4, 0xd4($sp) -/* 01BCD0 7001B0D0 AFA200D4 */ sw $v0, 0xd4($sp) -/* 01BCD4 7001B0D4 8EEF0030 */ lw $t7, 0x30($s7) -/* 01BCD8 7001B0D8 8EE40034 */ lw $a0, 0x34($s7) -/* 01BCDC 7001B0DC 24110001 */ li $s1, 1 -/* 01BCE0 7001B0E0 01FE2821 */ addu $a1, $t7, $fp -/* 01BCE4 7001B0E4 00A4082A */ slt $at, $a1, $a0 -/* 01BCE8 7001B0E8 14200019 */ bnez $at, .L7001B150 -/* 01BCEC 7001B0EC AEE50030 */ sw $a1, 0x30($s7) -/* 01BCF0 7001B0F0 86E20018 */ lh $v0, 0x18($s7) -/* 01BCF4 7001B0F4 3C198003 */ lui $t9, %hi(eqpower) -/* 01BCF8 7001B0F8 86E3001A */ lh $v1, 0x1a($s7) -/* 01BCFC 7001B0FC 00027040 */ sll $t6, $v0, 1 -/* 01BD00 7001B100 032EC821 */ addu $t9, $t9, $t6 -/* 01BD04 7001B104 873981E0 */ lh $t9, %lo(eqpower)($t9) -/* 01BD08 7001B108 000E7023 */ negu $t6, $t6 -/* 01BD0C 7001B10C 03230019 */ multu $t9, $v1 -/* 01BD10 7001B110 3C198003 */ lui $t9, %hi(eqpower+0xFE) -/* 01BD14 7001B114 032EC821 */ addu $t9, $t9, $t6 -/* 01BD18 7001B118 00007812 */ mflo $t7 -/* 01BD1C 7001B11C 000FC3C3 */ sra $t8, $t7, 0xf -/* 01BD20 7001B120 A6F80028 */ sh $t8, 0x28($s7) -/* 01BD24 7001B124 873982DE */ lh $t9, %lo(eqpower+0xFE)($t9) -/* 01BD28 7001B128 86EE0028 */ lh $t6, 0x28($s7) -/* 01BD2C 7001B12C AEE40030 */ sw $a0, 0x30($s7) -/* 01BD30 7001B130 03230019 */ multu $t9, $v1 -/* 01BD34 7001B134 A6EE001C */ sh $t6, 0x1c($s7) -/* 01BD38 7001B138 00007812 */ mflo $t7 -/* 01BD3C 7001B13C 000FC3C3 */ sra $t8, $t7, 0xf -/* 01BD40 7001B140 A6F8002E */ sh $t8, 0x2e($s7) -/* 01BD44 7001B144 86F9002E */ lh $t9, 0x2e($s7) -/* 01BD48 7001B148 10000040 */ b .L7001B24C -/* 01BD4C 7001B14C A6F9001E */ sh $t9, 0x1e($s7) -.L7001B150: -/* 01BD50 7001B150 86EF001C */ lh $t7, 0x1c($s7) -/* 01BD54 7001B154 86E30026 */ lh $v1, 0x26($s7) -/* 01BD58 7001B158 96E40024 */ lhu $a0, 0x24($s7) -/* 01BD5C 7001B15C 448F3000 */ mtc1 $t7, $f6 -/* 01BD60 7001B160 0003C400 */ sll $t8, $v1, 0x10 -/* 01BD64 7001B164 44984000 */ mtc1 $t8, $f8 -/* 01BD68 7001B168 44842000 */ mtc1 $a0, $f4 -/* 01BD6C 7001B16C 46803320 */ cvt.s.w $f12, $f6 -/* 01BD70 7001B170 00A01025 */ move $v0, $a1 -/* 01BD74 7001B174 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 01BD78 7001B178 468042A0 */ cvt.s.w $f10, $f8 -/* 01BD7C 7001B17C 04810004 */ bgez $a0, .L7001B190 -/* 01BD80 7001B180 468021A0 */ cvt.s.w $f6, $f4 -/* 01BD84 7001B184 44814000 */ mtc1 $at, $f8 -/* 01BD88 7001B188 00000000 */ nop -/* 01BD8C 7001B18C 46083180 */ add.s $f6, $f6, $f8 -.L7001B190: -/* 01BD90 7001B190 46065100 */ add.s $f4, $f10, $f6 -/* 01BD94 7001B194 86EF001E */ lh $t7, 0x1e($s7) -/* 01BD98 7001B198 86E3002C */ lh $v1, 0x2c($s7) -/* 01BD9C 7001B19C 96E4002A */ lhu $a0, 0x2a($s7) -/* 01BDA0 7001B1A0 46002221 */ cvt.d.s $f8, $f4 -/* 01BDA4 7001B1A4 44822000 */ mtc1 $v0, $f4 -/* 01BDA8 7001B1A8 46344283 */ div.d $f10, $f8, $f20 -/* 01BDAC 7001B1AC 0003C400 */ sll $t8, $v1, 0x10 -/* 01BDB0 7001B1B0 00A01025 */ move $v0, $a1 -/* 01BDB4 7001B1B4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 01BDB8 7001B1B8 46802220 */ cvt.s.w $f8, $f4 -/* 01BDBC 7001B1BC 462051A0 */ cvt.s.d $f6, $f10 -/* 01BDC0 7001B1C0 46083282 */ mul.s $f10, $f6, $f8 -/* 01BDC4 7001B1C4 46006221 */ cvt.d.s $f8, $f12 -/* 01BDC8 7001B1C8 46005121 */ cvt.d.s $f4, $f10 -/* 01BDCC 7001B1CC 46362182 */ mul.d $f6, $f4, $f22 -/* 01BDD0 7001B1D0 46264280 */ add.d $f10, $f8, $f6 -/* 01BDD4 7001B1D4 448F4000 */ mtc1 $t7, $f8 -/* 01BDD8 7001B1D8 44983000 */ mtc1 $t8, $f6 -/* 01BDDC 7001B1DC 46205320 */ cvt.s.d $f12, $f10 -/* 01BDE0 7001B1E0 468040A0 */ cvt.s.w $f2, $f8 -/* 01BDE4 7001B1E4 4600610D */ trunc.w.s $f4, $f12 -/* 01BDE8 7001B1E8 468032A0 */ cvt.s.w $f10, $f6 -/* 01BDEC 7001B1EC 44192000 */ mfc1 $t9, $f4 -/* 01BDF0 7001B1F0 44842000 */ mtc1 $a0, $f4 -/* 01BDF4 7001B1F4 A6F9001C */ sh $t9, 0x1c($s7) -/* 01BDF8 7001B1F8 04810004 */ bgez $a0, .L7001B20C -/* 01BDFC 7001B1FC 46802220 */ cvt.s.w $f8, $f4 -/* 01BE00 7001B200 44813000 */ mtc1 $at, $f6 -/* 01BE04 7001B204 00000000 */ nop -/* 01BE08 7001B208 46064200 */ add.s $f8, $f8, $f6 -.L7001B20C: -/* 01BE0C 7001B20C 46085100 */ add.s $f4, $f10, $f8 -/* 01BE10 7001B210 460021A1 */ cvt.d.s $f6, $f4 -/* 01BE14 7001B214 44822000 */ mtc1 $v0, $f4 -/* 01BE18 7001B218 46343283 */ div.d $f10, $f6, $f20 -/* 01BE1C 7001B21C 468021A0 */ cvt.s.w $f6, $f4 -/* 01BE20 7001B220 46205220 */ cvt.s.d $f8, $f10 -/* 01BE24 7001B224 46064282 */ mul.s $f10, $f8, $f6 -/* 01BE28 7001B228 460011A1 */ cvt.d.s $f6, $f2 -/* 01BE2C 7001B22C 46005121 */ cvt.d.s $f4, $f10 -/* 01BE30 7001B230 46362202 */ mul.d $f8, $f4, $f22 -/* 01BE34 7001B234 46283280 */ add.d $f10, $f6, $f8 -/* 01BE38 7001B238 462050A0 */ cvt.s.d $f2, $f10 -/* 01BE3C 7001B23C 4600110D */ trunc.w.s $f4, $f2 -/* 01BE40 7001B240 44192000 */ mfc1 $t9, $f4 -/* 01BE44 7001B244 00000000 */ nop -/* 01BE48 7001B248 A6F9001E */ sh $t9, 0x1e($s7) -.L7001B24C: -/* 01BE4C 7001B24C 86EF001C */ lh $t7, 0x1c($s7) -/* 01BE50 7001B250 55E00003 */ bnezl $t7, .L7001B260 -/* 01BE54 7001B254 86F8001E */ lh $t8, 0x1e($s7) -/* 01BE58 7001B258 A6F1001C */ sh $s1, 0x1c($s7) -/* 01BE5C 7001B25C 86F8001E */ lh $t8, 0x1e($s7) -.L7001B260: -/* 01BE60 7001B260 57000003 */ bnezl $t8, .L7001B270 -/* 01BE64 7001B264 8EE3003C */ lw $v1, 0x3c($s7) -/* 01BE68 7001B268 A6F1001E */ sh $s1, 0x1e($s7) -/* 01BE6C 7001B26C 8EE3003C */ lw $v1, 0x3c($s7) -.L7001B270: -/* 01BE70 7001B270 2401000C */ li $at, 12 -/* 01BE74 7001B274 84640008 */ lh $a0, 8($v1) -/* 01BE78 7001B278 54810005 */ bnel $a0, $at, .L7001B290 -/* 01BE7C 7001B27C 2401000B */ li $at, 11 -/* 01BE80 7001B280 8C6E000C */ lw $t6, 0xc($v1) -/* 01BE84 7001B284 A6EE0018 */ sh $t6, 0x18($s7) -/* 01BE88 7001B288 84640008 */ lh $a0, 8($v1) -/* 01BE8C 7001B28C 2401000B */ li $at, 11 -.L7001B290: -/* 01BE90 7001B290 5481000B */ bnel $a0, $at, .L7001B2C0 -/* 01BE94 7001B294 24010010 */ li $at, 16 -/* 01BE98 7001B298 AEE00030 */ sw $zero, 0x30($s7) -/* 01BE9C 7001B29C 8C62000C */ lw $v0, 0xc($v1) -/* 01BEA0 7001B2A0 00420019 */ multu $v0, $v0 -/* 01BEA4 7001B2A4 00001012 */ mflo $v0 -/* 01BEA8 7001B2A8 0002CBC3 */ sra $t9, $v0, 0xf -/* 01BEAC 7001B2AC A6F9001A */ sh $t9, 0x1a($s7) -/* 01BEB0 7001B2B0 8C6F0010 */ lw $t7, 0x10($v1) -/* 01BEB4 7001B2B4 AEEF0034 */ sw $t7, 0x34($s7) -/* 01BEB8 7001B2B8 84640008 */ lh $a0, 8($v1) -/* 01BEBC 7001B2BC 24010010 */ li $at, 16 -.L7001B2C0: -/* 01BEC0 7001B2C0 1481000E */ bne $a0, $at, .L7001B2FC -/* 01BEC4 7001B2C4 00000000 */ nop -/* 01BEC8 7001B2C8 8C78000C */ lw $t8, 0xc($v1) -/* 01BECC 7001B2CC 3C198003 */ lui $t9, %hi(eqpower) -/* 01BED0 7001B2D0 00187040 */ sll $t6, $t8, 1 -/* 01BED4 7001B2D4 032EC821 */ addu $t9, $t9, $t6 -/* 01BED8 7001B2D8 873981E0 */ lh $t9, %lo(eqpower)($t9) -/* 01BEDC 7001B2DC A6F90020 */ sh $t9, 0x20($s7) -/* 01BEE0 7001B2E0 8C6F000C */ lw $t7, 0xc($v1) -/* 01BEE4 7001B2E4 3C198003 */ lui $t9, %hi(eqpower+0xFE) -/* 01BEE8 7001B2E8 000FC040 */ sll $t8, $t7, 1 -/* 01BEEC 7001B2EC 00187023 */ negu $t6, $t8 -/* 01BEF0 7001B2F0 032EC821 */ addu $t9, $t9, $t6 -/* 01BEF4 7001B2F4 873982DE */ lh $t9, %lo(eqpower+0xFE)($t9) -/* 01BEF8 7001B2F8 A6F90022 */ sh $t9, 0x22($s7) -.L7001B2FC: -/* 01BEFC 7001B2FC 10000040 */ b .L7001B400 -/* 01BF00 7001B300 AEF10038 */ sw $s1, 0x38($s7) -.L7001B304: -/* 01BF04 7001B304 846F000A */ lh $t7, 0xa($v1) -/* 01BF08 7001B308 00608025 */ move $s0, $v1 -/* 01BF0C 7001B30C 51E00007 */ beql $t7, $zero, .L7001B32C -/* 01BF10 7001B310 8EF90008 */ lw $t9, 8($s7) -/* 01BF14 7001B314 8EF90008 */ lw $t9, 8($s7) -/* 01BF18 7001B318 02E02025 */ move $a0, $s7 -/* 01BF1C 7001B31C 24050008 */ li $a1, 8 -/* 01BF20 7001B320 0320F809 */ jalr $t9 -/* 01BF24 7001B324 00003025 */ move $a2, $zero -/* 01BF28 7001B328 8EF90008 */ lw $t9, 8($s7) -.L7001B32C: -/* 01BF2C 7001B32C 02E02025 */ move $a0, $s7 -/* 01BF30 7001B330 24050005 */ li $a1, 5 -/* 01BF34 7001B334 0320F809 */ jalr $t9 -/* 01BF38 7001B338 8E06000C */ lw $a2, 0xc($s0) -/* 01BF3C 7001B33C 8EF90008 */ lw $t9, 8($s7) -/* 01BF40 7001B340 02E02025 */ move $a0, $s7 -/* 01BF44 7001B344 24050009 */ li $a1, 9 -/* 01BF48 7001B348 0320F809 */ jalr $t9 -/* 01BF4C 7001B34C 00003025 */ move $a2, $zero -/* 01BF50 7001B350 1000002C */ b .L7001B404 -/* 01BF54 7001B354 87B800BE */ lh $t8, 0xbe($sp) -.L7001B358: -/* 01BF58 7001B358 02E08025 */ move $s0, $s7 -/* 01BF5C 7001B35C 27B500CE */ addiu $s5, $sp, 0xce -/* 01BF60 7001B360 27B300BE */ addiu $s3, $sp, 0xbe -/* 01BF64 7001B364 03C09025 */ move $s2, $fp -/* 01BF68 7001B368 8FB600E4 */ lw $s6, 0xe4($sp) -/* 01BF6C 7001B36C 0C006AED */ jal ultra_7001ABB4 -/* 01BF70 7001B370 8FB400D4 */ lw $s4, 0xd4($sp) -/* 01BF74 7001B374 AFA200D4 */ sw $v0, 0xd4($sp) -/* 01BF78 7001B378 8EF90008 */ lw $t9, 8($s7) -/* 01BF7C 7001B37C 24110001 */ li $s1, 1 -/* 01BF80 7001B380 02E02025 */ move $a0, $s7 -/* 01BF84 7001B384 24050004 */ li $a1, 4 -/* 01BF88 7001B388 0320F809 */ jalr $t9 -/* 01BF8C 7001B38C 00003025 */ move $a2, $zero -/* 01BF90 7001B390 1000001C */ b .L7001B404 -/* 01BF94 7001B394 87B800BE */ lh $t8, 0xbe($sp) -.L7001B398: -/* 01BF98 7001B398 8C78000C */ lw $t8, 0xc($v1) -/* 01BF9C 7001B39C 3C048002 */ lui $a0, %hi(alGlobals) -/* 01BFA0 7001B3A0 8C8476E0 */ lw $a0, %lo(alGlobals)($a0) -/* 01BFA4 7001B3A4 AF0000D8 */ sw $zero, 0xd8($t8) -/* 01BFA8 7001B3A8 0C003C08 */ jal _freePVoice -/* 01BFAC 7001B3AC 8C65000C */ lw $a1, 0xc($v1) -/* 01BFB0 7001B3B0 10000014 */ b .L7001B404 -/* 01BFB4 7001B3B4 87B800BE */ lh $t8, 0xbe($sp) -.L7001B3B8: -/* 01BFB8 7001B3B8 02E08025 */ move $s0, $s7 -/* 01BFBC 7001B3BC 27B500CE */ addiu $s5, $sp, 0xce -/* 01BFC0 7001B3C0 27B300BE */ addiu $s3, $sp, 0xbe -/* 01BFC4 7001B3C4 03C09025 */ move $s2, $fp -/* 01BFC8 7001B3C8 8FB600E4 */ lw $s6, 0xe4($sp) -/* 01BFCC 7001B3CC 0C006AED */ jal ultra_7001ABB4 -/* 01BFD0 7001B3D0 8FB400D4 */ lw $s4, 0xd4($sp) -/* 01BFD4 7001B3D4 AFA200D4 */ sw $v0, 0xd4($sp) -/* 01BFD8 7001B3D8 8EEE0030 */ lw $t6, 0x30($s7) -/* 01BFDC 7001B3DC 8EF90008 */ lw $t9, 8($s7) -/* 01BFE0 7001B3E0 8EE3003C */ lw $v1, 0x3c($s7) -/* 01BFE4 7001B3E4 01DE7821 */ addu $t7, $t6, $fp -/* 01BFE8 7001B3E8 AEEF0030 */ sw $t7, 0x30($s7) -/* 01BFEC 7001B3EC 24110001 */ li $s1, 1 -/* 01BFF0 7001B3F0 02E02025 */ move $a0, $s7 -/* 01BFF4 7001B3F4 8C66000C */ lw $a2, 0xc($v1) -/* 01BFF8 7001B3F8 0320F809 */ jalr $t9 -/* 01BFFC 7001B3FC 84650008 */ lh $a1, 8($v1) -.L7001B400: -/* 01C000 7001B400 87B800BE */ lh $t8, 0xbe($sp) -.L7001B404: -/* 01C004 7001B404 8FB900E0 */ lw $t9, 0xe0($sp) -/* 01C008 7001B408 001E7040 */ sll $t6, $fp, 1 -/* 01C00C 7001B40C 030E7821 */ addu $t7, $t8, $t6 -/* 01C010 7001B410 033EC023 */ subu $t8, $t9, $fp -/* 01C014 7001B414 A7AF00BE */ sh $t7, 0xbe($sp) -/* 01C018 7001B418 AFB800E0 */ sw $t8, 0xe0($sp) -/* 01C01C 7001B41C 8EE4003C */ lw $a0, 0x3c($s7) -/* 01C020 7001B420 8C8E0000 */ lw $t6, ($a0) -/* 01C024 7001B424 15C00002 */ bnez $t6, .L7001B430 -/* 01C028 7001B428 AEEE003C */ sw $t6, 0x3c($s7) -/* 01C02C 7001B42C AEE00040 */ sw $zero, 0x40($s7) -.L7001B430: -/* 01C030 7001B430 0C003C2E */ jal __freeParam -/* 01C034 7001B434 00000000 */ nop -/* 01C038 7001B438 8FB900D0 */ lw $t9, 0xd0($sp) -/* 01C03C 7001B43C 8F38003C */ lw $t8, 0x3c($t9) -/* 01C040 7001B440 5700FEA8 */ bnezl $t8, .L7001AEE4 -/* 01C044 7001B444 8EF9003C */ lw $t9, 0x3c($s7) -.L7001B448: -/* 01C048 7001B448 8EEE0048 */ lw $t6, 0x48($s7) -.L7001B44C: -/* 01C04C 7001B44C 24110001 */ li $s1, 1 -/* 01C050 7001B450 02E08025 */ move $s0, $s7 -/* 01C054 7001B454 162E000B */ bne $s1, $t6, .L7001B484 -/* 01C058 7001B458 27B500CE */ addiu $s5, $sp, 0xce -/* 01C05C 7001B45C 27B300BE */ addiu $s3, $sp, 0xbe -/* 01C060 7001B460 8FB200E0 */ lw $s2, 0xe0($sp) -/* 01C064 7001B464 8FB600E4 */ lw $s6, 0xe4($sp) -/* 01C068 7001B468 0C006AED */ jal ultra_7001ABB4 -/* 01C06C 7001B46C 8FB400D4 */ lw $s4, 0xd4($sp) -/* 01C070 7001B470 AFA200D4 */ sw $v0, 0xd4($sp) -/* 01C074 7001B474 8EEF0030 */ lw $t7, 0x30($s7) -/* 01C078 7001B478 8FB900E0 */ lw $t9, 0xe0($sp) -/* 01C07C 7001B47C 01F9C021 */ addu $t8, $t7, $t9 -/* 01C080 7001B480 AEF80030 */ sw $t8, 0x30($s7) -.L7001B484: -/* 01C084 7001B484 8EE40034 */ lw $a0, 0x34($s7) -/* 01C088 7001B488 8EEE0030 */ lw $t6, 0x30($s7) -/* 01C08C 7001B48C 008E082A */ slt $at, $a0, $t6 -/* 01C090 7001B490 50200003 */ beql $at, $zero, .L7001B4A0 -/* 01C094 7001B494 8FBF0054 */ lw $ra, 0x54($sp) -/* 01C098 7001B498 AEE40030 */ sw $a0, 0x30($s7) -/* 01C09C 7001B49C 8FBF0054 */ lw $ra, 0x54($sp) -.L7001B4A0: -/* 01C0A0 7001B4A0 8FA200D4 */ lw $v0, 0xd4($sp) -/* 01C0A4 7001B4A4 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 01C0A8 7001B4A8 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 01C0AC 7001B4AC 8FB00030 */ lw $s0, 0x30($sp) -/* 01C0B0 7001B4B0 8FB10034 */ lw $s1, 0x34($sp) -/* 01C0B4 7001B4B4 8FB20038 */ lw $s2, 0x38($sp) -/* 01C0B8 7001B4B8 8FB3003C */ lw $s3, 0x3c($sp) -/* 01C0BC 7001B4BC 8FB40040 */ lw $s4, 0x40($sp) -/* 01C0C0 7001B4C0 8FB50044 */ lw $s5, 0x44($sp) -/* 01C0C4 7001B4C4 8FB60048 */ lw $s6, 0x48($sp) -/* 01C0C8 7001B4C8 8FB7004C */ lw $s7, 0x4c($sp) -/* 01C0CC 7001B4CC 8FBE0050 */ lw $fp, 0x50($sp) -/* 01C0D0 7001B4D0 03E00008 */ jr $ra -/* 01C0D4 7001B4D4 27BD00D8 */ addiu $sp, $sp, 0xd8 - -/* 01C0D8 7001B4D8 00000000 */ nop -/* 01C0DC 7001B4DC 00000000 */ nop - -.section .data -glabel eqpower -.half 32767,32764,32757,32744,32727,32704,32677,32644 -.half 32607,32564,32517,32464,32407,32344,32277,32205 -.half 32127,32045,31958,31866,31770,31668,31561,31450 -.half 31334,31213,31087,30957,30822,30682,30537,30388 -.half 30234,30075,29912,29744,29572,29395,29214,29028 -.half 28838,28643,28444,28241,28033,27821,27605,27385 -.half 27160,26931,26698,26461,26220,25975,25726,25473 -.half 25216,24956,24691,24423,24151,23875,23596,23313 -.half 23026,22736,22442,22145,21845,21541,21234,20924 -.half 20610,20294,19974,19651,19325,18997,18665,18331 -.half 17993,17653,17310,16965,16617,16266,15913,15558 -.half 15200,14840,14477,14113,13746,13377,13006,12633 -.half 12258,11881,11503,11122,10740,10357, 9971, 9584 -.half 9196, 8806, 8415, 8023, 7630, 7235, 6839, 6442 -.half 6044, 5646, 5246, 4845, 4444, 4042, 3640, 3237 -.half 2833, 2429, 2025, 1620, 1216, 810, 405, 0 - -.section .rodata -glabel aAssertionFaultSSLineD -.asciiz "\n--- ASSERTION FAULT - %s - %s, line %d\n\n" -.align 2 -glabel aSamples0 -.asciiz "samples >= 0" -.align 2 -glabel aEnv_c -.asciiz "env.c" -.align 2 -glabel aAssertionFaultSSLineD_0 -.asciiz "\n--- ASSERTION FAULT - %s - %s, line %d\n\n" -.align 4 -glabel aSamplesAl_max_rsp_samples -.asciiz "samples <= AL_MAX_RSP_SAMPLES" -.align 4 -glabel aEnv_c_0 -.asciiz "env.c" -.align 2 -glabel aAssertionFaultSSLineD_1 -.asciiz "\n--- ASSERTION FAULT - %s - %s, line %d\n\n" -.align 2 -glabel aSource -.asciiz "source" -.align 2 -glabel aEnv_c_1 -.asciiz "env.c" -.align 2 -glabel F32_80029964 -.float 65535.0 -glabel jpt_80029968 -.word .L7001B398 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B3B8 -.word .L7001B0B4 -.word .L7001B0B4 -.word .L7001AF74 -.word .L7001B304 -.word .L7001B358 -.word .L7001B0B4 -.align 4 - -.section .text -glabel ultra_7001B4E0 -/* 01C0E0 7001B4E0 24010002 */ li $at, 2 -/* 01C0E4 7001B4E4 14A10008 */ bne $a1, $at, .L7001B508 -/* 01C0E8 7001B4E8 8C82001C */ lw $v0, 0x1c($a0) -/* 01C0EC 7001B4EC 8C8E0014 */ lw $t6, 0x14($a0) -/* 01C0F0 7001B4F0 000E7880 */ sll $t7, $t6, 2 -/* 01C0F4 7001B4F4 004FC021 */ addu $t8, $v0, $t7 -/* 01C0F8 7001B4F8 AF060000 */ sw $a2, ($t8) -/* 01C0FC 7001B4FC 8C990014 */ lw $t9, 0x14($a0) -/* 01C100 7001B500 27280001 */ addiu $t0, $t9, 1 -/* 01C104 7001B504 AC880014 */ sw $t0, 0x14($a0) -.L7001B508: -/* 01C108 7001B508 03E00008 */ jr $ra -/* 01C10C 7001B50C 00001025 */ move $v0, $zero - -glabel ultra_7001B510 -/* 01C110 7001B510 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01C114 7001B514 8FA80050 */ lw $t0, 0x50($sp) -/* 01C118 7001B518 AFBF003C */ sw $ra, 0x3c($sp) -/* 01C11C 7001B51C AFB60038 */ sw $s6, 0x38($sp) -/* 01C120 7001B520 AFB50034 */ sw $s5, 0x34($sp) -/* 01C124 7001B524 AFB40030 */ sw $s4, 0x30($sp) -/* 01C128 7001B528 AFB3002C */ sw $s3, 0x2c($sp) -/* 01C12C 7001B52C AFB20028 */ sw $s2, 0x28($sp) -/* 01C130 7001B530 AFB10024 */ sw $s1, 0x24($sp) -/* 01C134 7001B534 AFB00020 */ sw $s0, 0x20($sp) -/* 01C138 7001B538 8C83001C */ lw $v1, 0x1c($a0) -/* 01C13C 7001B53C 3C0E0200 */ lui $t6, (0x020006C0 >> 16) # lui $t6, 0x200 -/* 01C140 7001B540 00061040 */ sll $v0, $a2, 1 -/* 01C144 7001B544 3C0F0200 */ lui $t7, (0x02000800 >> 16) # lui $t7, 0x200 -/* 01C148 7001B548 35CE06C0 */ ori $t6, (0x020006C0 & 0xFFFF) # ori $t6, $t6, 0x6c0 -/* 01C14C 7001B54C 35EF0800 */ ori $t7, (0x02000800 & 0xFFFF) # ori $t7, $t7, 0x800 -/* 01C150 7001B550 AD0E0000 */ sw $t6, ($t0) -/* 01C154 7001B554 AD020004 */ sw $v0, 4($t0) -/* 01C158 7001B558 AD0F0008 */ sw $t7, 8($t0) -/* 01C15C 7001B55C AD02000C */ sw $v0, 0xc($t0) -/* 01C160 7001B560 8C980014 */ lw $t8, 0x14($a0) -/* 01C164 7001B564 00C0A025 */ move $s4, $a2 -/* 01C168 7001B568 00A0A825 */ move $s5, $a1 -/* 01C16C 7001B56C 00E0B025 */ move $s6, $a3 -/* 01C170 7001B570 00809825 */ move $s3, $a0 -/* 01C174 7001B574 00008025 */ move $s0, $zero -/* 01C178 7001B578 1B000010 */ blez $t8, .L7001B5BC -/* 01C17C 7001B57C 25120010 */ addiu $s2, $t0, 0x10 -/* 01C180 7001B580 00608825 */ move $s1, $v1 -.L7001B584: -/* 01C184 7001B584 8E240000 */ lw $a0, ($s1) -/* 01C188 7001B588 AFB20010 */ sw $s2, 0x10($sp) -/* 01C18C 7001B58C 02A02825 */ move $a1, $s5 -/* 01C190 7001B590 8C990004 */ lw $t9, 4($a0) -/* 01C194 7001B594 02803025 */ move $a2, $s4 -/* 01C198 7001B598 02C03825 */ move $a3, $s6 -/* 01C19C 7001B59C 0320F809 */ jalr $t9 -/* 01C1A0 7001B5A0 00000000 */ nop -/* 01C1A4 7001B5A4 8E690014 */ lw $t1, 0x14($s3) -/* 01C1A8 7001B5A8 26100001 */ addiu $s0, $s0, 1 -/* 01C1AC 7001B5AC 26310004 */ addiu $s1, $s1, 4 -/* 01C1B0 7001B5B0 0209082A */ slt $at, $s0, $t1 -/* 01C1B4 7001B5B4 1420FFF3 */ bnez $at, .L7001B584 -/* 01C1B8 7001B5B8 00409025 */ move $s2, $v0 -.L7001B5BC: -/* 01C1BC 7001B5BC 8FBF003C */ lw $ra, 0x3c($sp) -/* 01C1C0 7001B5C0 02401025 */ move $v0, $s2 -/* 01C1C4 7001B5C4 8FB20028 */ lw $s2, 0x28($sp) -/* 01C1C8 7001B5C8 8FB00020 */ lw $s0, 0x20($sp) -/* 01C1CC 7001B5CC 8FB10024 */ lw $s1, 0x24($sp) -/* 01C1D0 7001B5D0 8FB3002C */ lw $s3, 0x2c($sp) -/* 01C1D4 7001B5D4 8FB40030 */ lw $s4, 0x30($sp) -/* 01C1D8 7001B5D8 8FB50034 */ lw $s5, 0x34($sp) -/* 01C1DC 7001B5DC 8FB60038 */ lw $s6, 0x38($sp) -/* 01C1E0 7001B5E0 03E00008 */ jr $ra -/* 01C1E4 7001B5E4 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 01C1E8 7001B5E8 00000000 */ nop -/* 01C1EC 7001B5EC 00000000 */ nop -glabel alSaveParam -/* 01C1F0 7001B5F0 24010001 */ li $at, 1 -/* 01C1F4 7001B5F4 10A10006 */ beq $a1, $at, .L7001B610 -/* 01C1F8 7001B5F8 00001025 */ move $v0, $zero -/* 01C1FC 7001B5FC 24010006 */ li $at, 6 -/* 01C200 7001B600 50A10006 */ beql $a1, $at, .L7001B61C -/* 01C204 7001B604 AC860014 */ sw $a2, 0x14($a0) -/* 01C208 7001B608 03E00008 */ jr $ra -/* 01C20C 7001B60C 00001025 */ move $v0, $zero - -.L7001B610: -/* 01C210 7001B610 03E00008 */ jr $ra -/* 01C214 7001B614 AC860000 */ sw $a2, ($a0) - -/* 01C218 7001B618 AC860014 */ sw $a2, 0x14($a0) -.L7001B61C: -/* 01C21C 7001B61C 03E00008 */ jr $ra -/* 01C220 7001B620 00001025 */ move $v0, $zero - -glabel alSavePull -/* 01C224 7001B624 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01C228 7001B628 AFBF001C */ sw $ra, 0x1c($sp) -/* 01C22C 7001B62C AFA40020 */ sw $a0, 0x20($sp) -/* 01C230 7001B630 8C840000 */ lw $a0, ($a0) -/* 01C234 7001B634 8FAF0030 */ lw $t7, 0x30($sp) -/* 01C238 7001B638 AFA60028 */ sw $a2, 0x28($sp) -/* 01C23C 7001B63C AFAF0010 */ sw $t7, 0x10($sp) -/* 01C240 7001B640 8C990004 */ lw $t9, 4($a0) -/* 01C244 7001B644 0320F809 */ jalr $t9 -/* 01C248 7001B648 00000000 */ nop -/* 01C24C 7001B64C 8FA60028 */ lw $a2, 0x28($sp) -/* 01C250 7001B650 3C030800 */ lui $v1, 0x800 -/* 01C254 7001B654 3C0A0440 */ lui $t2, (0x04400580 >> 16) # lui $t2, 0x440 -/* 01C258 7001B658 0006C040 */ sll $t8, $a2, 1 -/* 01C25C 7001B65C 00065880 */ sll $t3, $a2, 2 -/* 01C260 7001B660 3308FFFF */ andi $t0, $t8, 0xffff -/* 01C264 7001B664 354A0580 */ ori $t2, (0x04400580 & 0xFFFF) # ori $t2, $t2, 0x580 -/* 01C268 7001B668 3C090D00 */ lui $t1, 0xd00 -/* 01C26C 7001B66C 316CFFFF */ andi $t4, $t3, 0xffff -/* 01C270 7001B670 3C0D0600 */ lui $t5, 0x600 -/* 01C274 7001B674 AC480004 */ sw $t0, 4($v0) -/* 01C278 7001B678 AC430000 */ sw $v1, ($v0) -/* 01C27C 7001B67C AC490008 */ sw $t1, 8($v0) -/* 01C280 7001B680 AC4A000C */ sw $t2, 0xc($v0) -/* 01C284 7001B684 AC4C0014 */ sw $t4, 0x14($v0) -/* 01C288 7001B688 AC430010 */ sw $v1, 0x10($v0) -/* 01C28C 7001B68C AC4D0018 */ sw $t5, 0x18($v0) -/* 01C290 7001B690 8FAE0020 */ lw $t6, 0x20($sp) -/* 01C294 7001B694 24420020 */ addiu $v0, $v0, 0x20 -/* 01C298 7001B698 8DCF0014 */ lw $t7, 0x14($t6) -/* 01C29C 7001B69C AC4FFFFC */ sw $t7, -4($v0) -/* 01C2A0 7001B6A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 01C2A4 7001B6A4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01C2A8 7001B6A8 03E00008 */ jr $ra -/* 01C2AC 7001B6AC 00000000 */ nop - -glabel osJamMesg -/* 01C2B0 7001B6B0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01C2B4 7001B6B4 AFBF001C */ sw $ra, 0x1c($sp) -/* 01C2B8 7001B6B8 AFA40028 */ sw $a0, 0x28($sp) -/* 01C2BC 7001B6BC AFA5002C */ sw $a1, 0x2c($sp) -/* 01C2C0 7001B6C0 AFA60030 */ sw $a2, 0x30($sp) -/* 01C2C4 7001B6C4 AFB10018 */ sw $s1, 0x18($sp) -/* 01C2C8 7001B6C8 0C00617C */ jal __osDisableInt -/* 01C2CC 7001B6CC AFB00014 */ sw $s0, 0x14($sp) -/* 01C2D0 7001B6D0 8FAE0028 */ lw $t6, 0x28($sp) -/* 01C2D4 7001B6D4 00408025 */ move $s0, $v0 -/* 01C2D8 7001B6D8 8DCF0008 */ lw $t7, 8($t6) -/* 01C2DC 7001B6DC 8DD80010 */ lw $t8, 0x10($t6) -/* 01C2E0 7001B6E0 01F8082A */ slt $at, $t7, $t8 -/* 01C2E4 7001B6E4 14200018 */ bnez $at, .L7001B748 -/* 01C2E8 7001B6E8 00000000 */ nop -.L7001B6EC: -/* 01C2EC 7001B6EC 8FB90030 */ lw $t9, 0x30($sp) -/* 01C2F0 7001B6F0 24010001 */ li $at, 1 -/* 01C2F4 7001B6F4 1721000A */ bne $t9, $at, .L7001B720 -/* 01C2F8 7001B6F8 00000000 */ nop -/* 01C2FC 7001B6FC 3C098002 */ lui $t1, %hi(__osRunningThread) -/* 01C300 7001B700 8D297730 */ lw $t1, %lo(__osRunningThread)($t1) -/* 01C304 7001B704 24080008 */ li $t0, 8 -/* 01C308 7001B708 A5280010 */ sh $t0, 0x10($t1) -/* 01C30C 7001B70C 8FA40028 */ lw $a0, 0x28($sp) -/* 01C310 7001B710 0C0041EB */ jal __osEnqueueAndYield -/* 01C314 7001B714 24840004 */ addiu $a0, $a0, 4 -/* 01C318 7001B718 10000005 */ b .L7001B730 -/* 01C31C 7001B71C 00000000 */ nop -.L7001B720: -/* 01C320 7001B720 0C006184 */ jal __osRestoreInt -/* 01C324 7001B724 02002025 */ move $a0, $s0 -/* 01C328 7001B728 10000030 */ b .L7001B7EC -/* 01C32C 7001B72C 2402FFFF */ li $v0, -1 -.L7001B730: -/* 01C330 7001B730 8FAA0028 */ lw $t2, 0x28($sp) -/* 01C334 7001B734 8D4B0008 */ lw $t3, 8($t2) -/* 01C338 7001B738 8D4C0010 */ lw $t4, 0x10($t2) -/* 01C33C 7001B73C 016C082A */ slt $at, $t3, $t4 -/* 01C340 7001B740 1020FFEA */ beqz $at, .L7001B6EC -/* 01C344 7001B744 00000000 */ nop -.L7001B748: -/* 01C348 7001B748 8FAD0028 */ lw $t5, 0x28($sp) -/* 01C34C 7001B74C 8DAE000C */ lw $t6, 0xc($t5) -/* 01C350 7001B750 8DAF0010 */ lw $t7, 0x10($t5) -/* 01C354 7001B754 01CFC021 */ addu $t8, $t6, $t7 -/* 01C358 7001B758 2719FFFF */ addiu $t9, $t8, -1 -/* 01C35C 7001B75C 032F001A */ div $zero, $t9, $t7 -/* 01C360 7001B760 00004010 */ mfhi $t0 -/* 01C364 7001B764 ADA8000C */ sw $t0, 0xc($t5) -/* 01C368 7001B768 8FAA0028 */ lw $t2, 0x28($sp) -/* 01C36C 7001B76C 8FA9002C */ lw $t1, 0x2c($sp) -/* 01C370 7001B770 15E00002 */ bnez $t7, .L7001B77C -/* 01C374 7001B774 00000000 */ nop -/* 01C378 7001B778 0007000D */ break 7 -.L7001B77C: -/* 01C37C 7001B77C 2401FFFF */ li $at, -1 -/* 01C380 7001B780 15E10004 */ bne $t7, $at, .L7001B794 -/* 01C384 7001B784 3C018000 */ lui $at, 0x8000 -/* 01C388 7001B788 17210002 */ bne $t9, $at, .L7001B794 -/* 01C38C 7001B78C 00000000 */ nop -/* 01C390 7001B790 0006000D */ break 6 -.L7001B794: -/* 01C394 7001B794 8D4C000C */ lw $t4, 0xc($t2) -/* 01C398 7001B798 8D4B0014 */ lw $t3, 0x14($t2) -/* 01C39C 7001B79C 000C7080 */ sll $t6, $t4, 2 -/* 01C3A0 7001B7A0 016EC021 */ addu $t8, $t3, $t6 -/* 01C3A4 7001B7A4 AF090000 */ sw $t1, ($t8) -/* 01C3A8 7001B7A8 8FB90028 */ lw $t9, 0x28($sp) -/* 01C3AC 7001B7AC 8F2F0008 */ lw $t7, 8($t9) -/* 01C3B0 7001B7B0 25E80001 */ addiu $t0, $t7, 1 -/* 01C3B4 7001B7B4 AF280008 */ sw $t0, 8($t9) -/* 01C3B8 7001B7B8 8FAD0028 */ lw $t5, 0x28($sp) -/* 01C3BC 7001B7BC 8DAA0000 */ lw $t2, ($t5) -/* 01C3C0 7001B7C0 8D4C0000 */ lw $t4, ($t2) -/* 01C3C4 7001B7C4 11800006 */ beqz $t4, .L7001B7E0 -/* 01C3C8 7001B7C8 00000000 */ nop -/* 01C3CC 7001B7CC 0C00423D */ jal __osPopThread -/* 01C3D0 7001B7D0 01A02025 */ move $a0, $t5 -/* 01C3D4 7001B7D4 00408825 */ move $s1, $v0 -/* 01C3D8 7001B7D8 0C003560 */ jal osStartThread -/* 01C3DC 7001B7DC 02202025 */ move $a0, $s1 -.L7001B7E0: -/* 01C3E0 7001B7E0 0C006184 */ jal __osRestoreInt -/* 01C3E4 7001B7E4 02002025 */ move $a0, $s0 -/* 01C3E8 7001B7E8 00001025 */ move $v0, $zero -.L7001B7EC: -/* 01C3EC 7001B7EC 8FBF001C */ lw $ra, 0x1c($sp) -/* 01C3F0 7001B7F0 8FB00014 */ lw $s0, 0x14($sp) -/* 01C3F4 7001B7F4 8FB10018 */ lw $s1, 0x18($sp) -/* 01C3F8 7001B7F8 03E00008 */ jr $ra -/* 01C3FC 7001B7FC 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel osPiGetCmdQueue -/* 01C400 7001B800 3C0E8002 */ lui $t6, %hi(__osPiDevMgr) -/* 01C404 7001B804 8DCE7790 */ lw $t6, %lo(__osPiDevMgr)($t6) -/* 01C408 7001B808 15C00003 */ bnez $t6, .L7001B818 -/* 01C40C 7001B80C 00000000 */ nop -/* 01C410 7001B810 03E00008 */ jr $ra -/* 01C414 7001B814 00001025 */ move $v0, $zero - -.L7001B818: -/* 01C418 7001B818 3C028002 */ lui $v0, %hi(__osPiDevMgr.cmdQueue) -/* 01C41C 7001B81C 8C427798 */ lw $v0, %lo(__osPiDevMgr.cmdQueue)($v0) -/* 01C420 7001B820 03E00008 */ jr $ra -/* 01C424 7001B824 00000000 */ nop - -/* 01C428 7001B828 00000000 */ nop -/* 01C42C 7001B82C 00000000 */ nop - -glabel ultra_7001B830 -/* 01C430 7001B830 E7AC0000 */ swc1 $f12, ($sp) -/* 01C434 7001B834 8FA20000 */ lw $v0, ($sp) -/* 01C438 7001B838 C7A60000 */ lwc1 $f6, ($sp) -/* 01C43C 7001B83C C7AA0000 */ lwc1 $f10, ($sp) -/* 01C440 7001B840 00027583 */ sra $t6, $v0, 0x16 -/* 01C444 7001B844 31CF01FF */ andi $t7, $t6, 0x1ff -/* 01C448 7001B848 29E10136 */ slti $at, $t7, 0x136 -/* 01C44C 7001B84C 50200049 */ beql $at, $zero, .L7001B974 -/* 01C450 7001B850 460A5032 */ c.eq.s $f10, $f10 -/* 01C454 7001B854 44802000 */ mtc1 $zero, $f4 -/* 01C458 7001B858 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 01C45C 7001B85C 44819800 */ mtc1 $at, $f19 -/* 01C460 7001B860 4606203C */ c.lt.s $f4, $f6 -/* 01C464 7001B864 C7A00000 */ lwc1 $f0, ($sp) -/* 01C468 7001B868 3C018003 */ lui $at, %hi(F64_800299D8) -/* 01C46C 7001B86C 45020004 */ bc1fl .L7001B880 -/* 01C470 7001B870 46000007 */ neg.s $f0, $f0 -/* 01C474 7001B874 10000002 */ b .L7001B880 -/* 01C478 7001B878 46003006 */ mov.s $f0, $f6 -/* 01C47C 7001B87C 46000007 */ neg.s $f0, $f0 -.L7001B880: -/* 01C480 7001B880 D42899D8 */ ldc1 $f8, %lo(F64_800299D8)($at) -/* 01C484 7001B884 46000321 */ cvt.d.s $f12, $f0 -/* 01C488 7001B888 44809000 */ mtc1 $zero, $f18 -/* 01C48C 7001B88C 46286282 */ mul.d $f10, $f12, $f8 -/* 01C490 7001B890 44802800 */ mtc1 $zero, $f5 -/* 01C494 7001B894 44802000 */ mtc1 $zero, $f4 -/* 01C498 7001B898 46325380 */ add.d $f14, $f10, $f18 -/* 01C49C 7001B89C 462E203E */ c.le.d $f4, $f14 -/* 01C4A0 7001B8A0 00000000 */ nop -/* 01C4A4 7001B8A4 45020007 */ bc1fl .L7001B8C4 -/* 01C4A8 7001B8A8 46327281 */ sub.d $f10, $f14, $f18 -/* 01C4AC 7001B8AC 46327180 */ add.d $f6, $f14, $f18 -/* 01C4B0 7001B8B0 4620320D */ trunc.w.d $f8, $f6 -/* 01C4B4 7001B8B4 44024000 */ mfc1 $v0, $f8 -/* 01C4B8 7001B8B8 10000006 */ b .L7001B8D4 -/* 01C4BC 7001B8BC 44823000 */ mtc1 $v0, $f6 -/* 01C4C0 7001B8C0 46327281 */ sub.d $f10, $f14, $f18 -.L7001B8C4: -/* 01C4C4 7001B8C4 4620510D */ trunc.w.d $f4, $f10 -/* 01C4C8 7001B8C8 44022000 */ mfc1 $v0, $f4 -/* 01C4CC 7001B8CC 00000000 */ nop -/* 01C4D0 7001B8D0 44823000 */ mtc1 $v0, $f6 -.L7001B8D4: -/* 01C4D4 7001B8D4 3C018003 */ lui $at, %hi(F64_800299E0) -/* 01C4D8 7001B8D8 D42A99E0 */ ldc1 $f10, %lo(F64_800299E0)($at) -/* 01C4DC 7001B8DC 46803221 */ cvt.d.w $f8, $f6 -/* 01C4E0 7001B8E0 3C018003 */ lui $at, %hi(F64_800299E8) -/* 01C4E4 7001B8E4 D42699E8 */ ldc1 $f6, %lo(F64_800299E8)($at) -/* 01C4E8 7001B8E8 3C038003 */ lui $v1, %hi(F64_800299B0) -/* 01C4EC 7001B8EC 246399B0 */ addiu $v1, %lo(F64_800299B0) # addiu $v1, $v1, -0x6650 -/* 01C4F0 7001B8F0 46324001 */ sub.d $f0, $f8, $f18 -/* 01C4F4 7001B8F4 30480001 */ andi $t0, $v0, 1 -/* 01C4F8 7001B8F8 462A0102 */ mul.d $f4, $f0, $f10 -/* 01C4FC 7001B8FC D46A0020 */ ldc1 $f10, 0x20($v1) -/* 01C500 7001B900 46260202 */ mul.d $f8, $f0, $f6 -/* 01C504 7001B904 D4660018 */ ldc1 $f6, 0x18($v1) -/* 01C508 7001B908 46246081 */ sub.d $f2, $f12, $f4 -/* 01C50C 7001B90C 46281081 */ sub.d $f2, $f2, $f8 -/* 01C510 7001B910 46221382 */ mul.d $f14, $f2, $f2 -/* 01C514 7001B914 00000000 */ nop -/* 01C518 7001B918 462E5102 */ mul.d $f4, $f10, $f14 -/* 01C51C 7001B91C 46262200 */ add.d $f8, $f4, $f6 -/* 01C520 7001B920 D4640010 */ ldc1 $f4, 0x10($v1) -/* 01C524 7001B924 462E4282 */ mul.d $f10, $f8, $f14 -/* 01C528 7001B928 46245180 */ add.d $f6, $f10, $f4 -/* 01C52C 7001B92C D46A0008 */ ldc1 $f10, 8($v1) -/* 01C530 7001B930 462E3202 */ mul.d $f8, $f6, $f14 -/* 01C534 7001B934 15000007 */ bnez $t0, .L7001B954 -/* 01C538 7001B938 46285400 */ add.d $f16, $f10, $f8 -/* 01C53C 7001B93C 462E1102 */ mul.d $f4, $f2, $f14 -/* 01C540 7001B940 00000000 */ nop -/* 01C544 7001B944 46302182 */ mul.d $f6, $f4, $f16 -/* 01C548 7001B948 46223280 */ add.d $f10, $f6, $f2 -/* 01C54C 7001B94C 03E00008 */ jr $ra -/* 01C550 7001B950 46205020 */ cvt.s.d $f0, $f10 - -.L7001B954: -/* 01C554 7001B954 462E1202 */ mul.d $f8, $f2, $f14 -/* 01C558 7001B958 00000000 */ nop -/* 01C55C 7001B95C 46304102 */ mul.d $f4, $f8, $f16 -/* 01C560 7001B960 46222180 */ add.d $f6, $f4, $f2 -/* 01C564 7001B964 46203020 */ cvt.s.d $f0, $f6 -/* 01C568 7001B968 03E00008 */ jr $ra -/* 01C56C 7001B96C 46000007 */ neg.s $f0, $f0 - -/* 01C570 7001B970 460A5032 */ c.eq.s $f10, $f10 -.L7001B974: -/* 01C574 7001B974 3C018003 */ lui $at, %hi(F64_800299F0) -/* 01C578 7001B978 45010004 */ bc1t .L7001B98C -/* 01C57C 7001B97C 00000000 */ nop -/* 01C580 7001B980 3C018003 */ lui $at, %hi(F64_80029D40) -/* 01C584 7001B984 03E00008 */ jr $ra -/* 01C588 7001B988 C4209D40 */ lwc1 $f0, %lo(F64_80029D40)($at) - -.L7001B98C: -/* 01C58C 7001B98C C42099F0 */ lwc1 $f0, %lo(F64_800299F0)($at) -/* 01C590 7001B990 03E00008 */ jr $ra -/* 01C594 7001B994 00000000 */ nop - -/* 01C598 7001B998 00000000 */ nop -/* 01C59C 7001B99C 00000000 */ nop - -.section .rodata -glabel F64_800299B0 -.double 1.0 -glabel F64_800299B8 -.word 0xbfc55554, 0xbc83656d #-0.16666659550427756 -glabel F64_800299C0 -.double 0.008333066246082155 -glabel F64_800299C8 -.double -0.0001980960290193795 -glabel F64_800299D0 -.double 0.000002605780637968037 -glabel F64_800299D8 -.double 0.3183098861837907 -glabel F64_800299E0 -.double 3.1415926218032837 -glabel F64_800299E8 -.double 3.178650954705639e-8 -glabel F64_800299F0 -.double 0.0 - .word 0 - .word 0 -.section .text - - -glabel ultra_7001B9A0 -/* 01C5A0 7001B9A0 E7AC0000 */ swc1 $f12, ($sp) -/* 01C5A4 7001B9A4 8FA20000 */ lw $v0, ($sp) -/* 01C5A8 7001B9A8 C7A40000 */ lwc1 $f4, ($sp) -/* 01C5AC 7001B9AC 00021D83 */ sra $v1, $v0, 0x16 -/* 01C5B0 7001B9B0 306E01FF */ andi $t6, $v1, 0x1ff -/* 01C5B4 7001B9B4 29C100FF */ slti $at, $t6, 0xff -/* 01C5B8 7001B9B8 10200019 */ beqz $at, .L7001BA20 -/* 01C5BC 7001B9BC 01C01825 */ move $v1, $t6 -/* 01C5C0 7001B9C0 29C100E6 */ slti $at, $t6, 0xe6 -/* 01C5C4 7001B9C4 14200014 */ bnez $at, .L7001BA18 -/* 01C5C8 7001B9C8 460020A1 */ cvt.d.s $f2, $f4 -/* 01C5CC 7001B9CC 46221302 */ mul.d $f12, $f2, $f2 -/* 01C5D0 7001B9D0 3C038003 */ lui $v1, %hi(F64_80029A00) -/* 01C5D4 7001B9D4 24639A00 */ addiu $v1, %lo(F64_80029A00) # addiu $v1, $v1, -0x6600 -/* 01C5D8 7001B9D8 D4660020 */ ldc1 $f6, 0x20($v1) -/* 01C5DC 7001B9DC D46A0018 */ ldc1 $f10, 0x18($v1) -/* 01C5E0 7001B9E0 D4640010 */ ldc1 $f4, 0x10($v1) -/* 01C5E4 7001B9E4 462C3202 */ mul.d $f8, $f6, $f12 -/* 01C5E8 7001B9E8 462A4400 */ add.d $f16, $f8, $f10 -/* 01C5EC 7001B9EC D46A0008 */ ldc1 $f10, 8($v1) -/* 01C5F0 7001B9F0 462C8482 */ mul.d $f18, $f16, $f12 -/* 01C5F4 7001B9F4 46249180 */ add.d $f6, $f18, $f4 -/* 01C5F8 7001B9F8 462C3202 */ mul.d $f8, $f6, $f12 -/* 01C5FC 7001B9FC 46285380 */ add.d $f14, $f10, $f8 -/* 01C600 7001BA00 462C1402 */ mul.d $f16, $f2, $f12 -/* 01C604 7001BA04 00000000 */ nop -/* 01C608 7001BA08 462E8482 */ mul.d $f18, $f16, $f14 -/* 01C60C 7001BA0C 46229100 */ add.d $f4, $f18, $f2 -/* 01C610 7001BA10 03E00008 */ jr $ra -/* 01C614 7001BA14 46202020 */ cvt.s.d $f0, $f4 - -.L7001BA18: -/* 01C618 7001BA18 03E00008 */ jr $ra -/* 01C61C 7001BA1C C7A00000 */ lwc1 $f0, ($sp) - -.L7001BA20: -/* 01C620 7001BA20 28610136 */ slti $at, $v1, 0x136 -/* 01C624 7001BA24 10200044 */ beqz $at, .L7001BB38 -/* 01C628 7001BA28 C7A40000 */ lwc1 $f4, ($sp) -/* 01C62C 7001BA2C C7A60000 */ lwc1 $f6, ($sp) -/* 01C630 7001BA30 3C018003 */ lui $at, %hi(F64_80029A28) -/* 01C634 7001BA34 D42A9A28 */ ldc1 $f10, %lo(F64_80029A28)($at) -/* 01C638 7001BA38 460030A1 */ cvt.d.s $f2, $f6 -/* 01C63C 7001BA3C 44804800 */ mtc1 $zero, $f9 -/* 01C640 7001BA40 462A1002 */ mul.d $f0, $f2, $f10 -/* 01C644 7001BA44 44804000 */ mtc1 $zero, $f8 -/* 01C648 7001BA48 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 01C64C 7001BA4C 4620403E */ c.le.d $f8, $f0 -/* 01C650 7001BA50 00000000 */ nop -/* 01C654 7001BA54 4502000B */ bc1fl .L7001BA84 -/* 01C658 7001BA58 44813800 */ mtc1 $at, $f7 -/* 01C65C 7001BA5C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 01C660 7001BA60 44818800 */ mtc1 $at, $f17 -/* 01C664 7001BA64 44808000 */ mtc1 $zero, $f16 -/* 01C668 7001BA68 00000000 */ nop -/* 01C66C 7001BA6C 46300480 */ add.d $f18, $f0, $f16 -/* 01C670 7001BA70 4620910D */ trunc.w.d $f4, $f18 -/* 01C674 7001BA74 44022000 */ mfc1 $v0, $f4 -/* 01C678 7001BA78 10000009 */ b .L7001BAA0 -/* 01C67C 7001BA7C 44828000 */ mtc1 $v0, $f16 -/* 01C680 7001BA80 44813800 */ mtc1 $at, $f7 -.L7001BA84: -/* 01C684 7001BA84 44803000 */ mtc1 $zero, $f6 -/* 01C688 7001BA88 00000000 */ nop -/* 01C68C 7001BA8C 46260281 */ sub.d $f10, $f0, $f6 -/* 01C690 7001BA90 4620520D */ trunc.w.d $f8, $f10 -/* 01C694 7001BA94 44024000 */ mfc1 $v0, $f8 -/* 01C698 7001BA98 00000000 */ nop -/* 01C69C 7001BA9C 44828000 */ mtc1 $v0, $f16 -.L7001BAA0: -/* 01C6A0 7001BAA0 3C018003 */ lui $at, %hi(F64_80029A30) -/* 01C6A4 7001BAA4 D4329A30 */ ldc1 $f18, %lo(F64_80029A30)($at) -/* 01C6A8 7001BAA8 46808021 */ cvt.d.w $f0, $f16 -/* 01C6AC 7001BAAC 3C018003 */ lui $at, %hi(F64_80029A38) -/* 01C6B0 7001BAB0 D4269A38 */ ldc1 $f6, %lo(F64_80029A38)($at) -/* 01C6B4 7001BAB4 3C038003 */ lui $v1, %hi(F64_80029A00) -/* 01C6B8 7001BAB8 24639A00 */ addiu $v1, %lo(F64_80029A00) # addiu $v1, $v1, -0x6600 -/* 01C6BC 7001BABC 46320102 */ mul.d $f4, $f0, $f18 -/* 01C6C0 7001BAC0 D4680020 */ ldc1 $f8, 0x20($v1) -/* 01C6C4 7001BAC4 D4720018 */ ldc1 $f18, 0x18($v1) -/* 01C6C8 7001BAC8 30590001 */ andi $t9, $v0, 1 -/* 01C6CC 7001BACC 46260282 */ mul.d $f10, $f0, $f6 -/* 01C6D0 7001BAD0 46241081 */ sub.d $f2, $f2, $f4 -/* 01C6D4 7001BAD4 462A1081 */ sub.d $f2, $f2, $f10 -/* 01C6D8 7001BAD8 D46A0010 */ ldc1 $f10, 0x10($v1) -/* 01C6DC 7001BADC 46221302 */ mul.d $f12, $f2, $f2 -/* 01C6E0 7001BAE0 00000000 */ nop -/* 01C6E4 7001BAE4 462C4402 */ mul.d $f16, $f8, $f12 -/* 01C6E8 7001BAE8 46328100 */ add.d $f4, $f16, $f18 -/* 01C6EC 7001BAEC D4720008 */ ldc1 $f18, 8($v1) -/* 01C6F0 7001BAF0 462C2182 */ mul.d $f6, $f4, $f12 -/* 01C6F4 7001BAF4 462A3200 */ add.d $f8, $f6, $f10 -/* 01C6F8 7001BAF8 462C4402 */ mul.d $f16, $f8, $f12 -/* 01C6FC 7001BAFC 17200007 */ bnez $t9, .L7001BB1C -/* 01C700 7001BB00 46309380 */ add.d $f14, $f18, $f16 -/* 01C704 7001BB04 462C1102 */ mul.d $f4, $f2, $f12 -/* 01C708 7001BB08 00000000 */ nop -/* 01C70C 7001BB0C 462E2182 */ mul.d $f6, $f4, $f14 -/* 01C710 7001BB10 46223280 */ add.d $f10, $f6, $f2 -/* 01C714 7001BB14 03E00008 */ jr $ra -/* 01C718 7001BB18 46205020 */ cvt.s.d $f0, $f10 - -.L7001BB1C: -/* 01C71C 7001BB1C 462C1202 */ mul.d $f8, $f2, $f12 -/* 01C720 7001BB20 00000000 */ nop -/* 01C724 7001BB24 462E4482 */ mul.d $f18, $f8, $f14 -/* 01C728 7001BB28 46229400 */ add.d $f16, $f18, $f2 -/* 01C72C 7001BB2C 46208020 */ cvt.s.d $f0, $f16 -/* 01C730 7001BB30 03E00008 */ jr $ra -/* 01C734 7001BB34 46000007 */ neg.s $f0, $f0 - -.L7001BB38: -/* 01C738 7001BB38 46042032 */ c.eq.s $f4, $f4 -/* 01C73C 7001BB3C 3C018003 */ lui $at, %hi(F64_80029A40) -/* 01C740 7001BB40 45010004 */ bc1t .L7001BB54 -/* 01C744 7001BB44 00000000 */ nop -/* 01C748 7001BB48 3C018003 */ lui $at, %hi(F64_80029D40) -/* 01C74C 7001BB4C 03E00008 */ jr $ra -/* 01C750 7001BB50 C4209D40 */ lwc1 $f0, %lo(F64_80029D40)($at) - -.L7001BB54: -/* 01C754 7001BB54 C4209A40 */ lwc1 $f0, %lo(F64_80029A40)($at) -/* 01C758 7001BB58 03E00008 */ jr $ra -/* 01C75C 7001BB5C 00000000 */ nop - -.section .rodata -glabel F64_80029A00 -.double 1.0 -glabel F64_80029A08 -.double -0.16666659550427756 -glabel F64_80029A10 -.double 0.008333066246082155 -glabel F64_80029A18 -.double -0.0001980960290193795 -glabel F64_80029A20 -.double 0.000002605780637968037 -glabel F64_80029A28 -.double 0.3183098861837907 -glabel F64_80029A30 -.double 3.1415926218032837 -glabel F64_80029A38 -.double 3.178650954705639e-8 -glabel F64_80029A40 -.double 0.0 - .word 0 - .word 0 -.section .text - -glabel osDestroyThread -/* 01C760 7001BB60 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01C764 7001BB64 AFBF0024 */ sw $ra, 0x24($sp) -/* 01C768 7001BB68 AFA40038 */ sw $a0, 0x38($sp) -/* 01C76C 7001BB6C AFB20020 */ sw $s2, 0x20($sp) -/* 01C770 7001BB70 AFB1001C */ sw $s1, 0x1c($sp) -/* 01C774 7001BB74 0C00617C */ jal __osDisableInt -/* 01C778 7001BB78 AFB00018 */ sw $s0, 0x18($sp) -/* 01C77C 7001BB7C 8FAE0038 */ lw $t6, 0x38($sp) -/* 01C780 7001BB80 00408025 */ move $s0, $v0 -/* 01C784 7001BB84 15C00005 */ bnez $t6, .L7001BB9C -/* 01C788 7001BB88 00000000 */ nop -/* 01C78C 7001BB8C 3C0F8002 */ lui $t7, %hi(__osRunningThread) -/* 01C790 7001BB90 8DEF7730 */ lw $t7, %lo(__osRunningThread)($t7) -/* 01C794 7001BB94 10000009 */ b .L7001BBBC -/* 01C798 7001BB98 AFAF0038 */ sw $t7, 0x38($sp) -.L7001BB9C: -/* 01C79C 7001BB9C 8FB80038 */ lw $t8, 0x38($sp) -/* 01C7A0 7001BBA0 24010001 */ li $at, 1 -/* 01C7A4 7001BBA4 97190010 */ lhu $t9, 0x10($t8) -/* 01C7A8 7001BBA8 13210004 */ beq $t9, $at, .L7001BBBC -/* 01C7AC 7001BBAC 00000000 */ nop -/* 01C7B0 7001BBB0 8F040008 */ lw $a0, 8($t8) -/* 01C7B4 7001BBB4 0C0042A4 */ jal __osDequeueThread -/* 01C7B8 7001BBB8 03002825 */ move $a1, $t8 -.L7001BBBC: -/* 01C7BC 7001BBBC 3C088002 */ lui $t0, %hi(__osActiveQueue) -/* 01C7C0 7001BBC0 8D08772C */ lw $t0, %lo(__osActiveQueue)($t0) -/* 01C7C4 7001BBC4 8FA90038 */ lw $t1, 0x38($sp) -/* 01C7C8 7001BBC8 15090005 */ bne $t0, $t1, .L7001BBE0 -/* 01C7CC 7001BBCC 00000000 */ nop -/* 01C7D0 7001BBD0 8D0A000C */ lw $t2, 0xc($t0) -/* 01C7D4 7001BBD4 3C018002 */ lui $at, %hi(__osActiveQueue) -/* 01C7D8 7001BBD8 10000010 */ b .L7001BC1C -/* 01C7DC 7001BBDC AC2A772C */ sw $t2, %lo(__osActiveQueue)($at) -.L7001BBE0: -/* 01C7E0 7001BBE0 3C118002 */ lui $s1, %hi(__osActiveQueue) -/* 01C7E4 7001BBE4 8E31772C */ lw $s1, %lo(__osActiveQueue)($s1) -/* 01C7E8 7001BBE8 8E32000C */ lw $s2, 0xc($s1) -/* 01C7EC 7001BBEC 1240000B */ beqz $s2, .L7001BC1C -/* 01C7F0 7001BBF0 00000000 */ nop -.L7001BBF4: -/* 01C7F4 7001BBF4 8FAB0038 */ lw $t3, 0x38($sp) -/* 01C7F8 7001BBF8 164B0004 */ bne $s2, $t3, .L7001BC0C -/* 01C7FC 7001BBFC 00000000 */ nop -/* 01C800 7001BC00 8D6C000C */ lw $t4, 0xc($t3) -/* 01C804 7001BC04 10000005 */ b .L7001BC1C -/* 01C808 7001BC08 AE2C000C */ sw $t4, 0xc($s1) -.L7001BC0C: -/* 01C80C 7001BC0C 02408825 */ move $s1, $s2 -/* 01C810 7001BC10 8E32000C */ lw $s2, 0xc($s1) -/* 01C814 7001BC14 1640FFF7 */ bnez $s2, .L7001BBF4 -/* 01C818 7001BC18 00000000 */ nop -.L7001BC1C: -/* 01C81C 7001BC1C 3C0E8002 */ lui $t6, %hi(__osRunningThread) -/* 01C820 7001BC20 8DCE7730 */ lw $t6, %lo(__osRunningThread)($t6) -/* 01C824 7001BC24 8FAD0038 */ lw $t5, 0x38($sp) -/* 01C828 7001BC28 15AE0003 */ bne $t5, $t6, .L7001BC38 -/* 01C82C 7001BC2C 00000000 */ nop -/* 01C830 7001BC30 0C004241 */ jal __osDispatchThread -/* 01C834 7001BC34 00000000 */ nop -.L7001BC38: -/* 01C838 7001BC38 0C006184 */ jal __osRestoreInt -/* 01C83C 7001BC3C 02002025 */ move $a0, $s0 -/* 01C840 7001BC40 8FBF0024 */ lw $ra, 0x24($sp) -/* 01C844 7001BC44 8FB00018 */ lw $s0, 0x18($sp) -/* 01C848 7001BC48 8FB1001C */ lw $s1, 0x1c($sp) -/* 01C84C 7001BC4C 8FB20020 */ lw $s2, 0x20($sp) -/* 01C850 7001BC50 03E00008 */ jr $ra -/* 01C854 7001BC54 27BD0038 */ addiu $sp, $sp, 0x38 - -/* 01C858 7001BC58 00000000 */ nop -/* 01C85C 7001BC5C 00000000 */ nop - - -glabel __setInstChanState -/* 01C860 7001BC60 8C8E0060 */ lw $t6, 0x60($a0) -/* 01C864 7001BC64 00061100 */ sll $v0, $a2, 4 -/* 01C868 7001BC68 01C27821 */ addu $t7, $t6, $v0 -/* 01C86C 7001BC6C ADE50000 */ sw $a1, ($t7) -/* 01C870 7001BC70 8C990060 */ lw $t9, 0x60($a0) -/* 01C874 7001BC74 90B80001 */ lbu $t8, 1($a1) -/* 01C878 7001BC78 03224021 */ addu $t0, $t9, $v0 -/* 01C87C 7001BC7C A1180007 */ sb $t8, 7($t0) -/* 01C880 7001BC80 8C8A0060 */ lw $t2, 0x60($a0) -/* 01C884 7001BC84 90A90000 */ lbu $t1, ($a1) -/* 01C888 7001BC88 01425821 */ addu $t3, $t2, $v0 -/* 01C88C 7001BC8C A1690009 */ sb $t1, 9($t3) -/* 01C890 7001BC90 8C8D0060 */ lw $t5, 0x60($a0) -/* 01C894 7001BC94 90AC0002 */ lbu $t4, 2($a1) -/* 01C898 7001BC98 01A27021 */ addu $t6, $t5, $v0 -/* 01C89C 7001BC9C A1CC0008 */ sb $t4, 8($t6) -/* 01C8A0 7001BCA0 8C990060 */ lw $t9, 0x60($a0) -/* 01C8A4 7001BCA4 84AF000C */ lh $t7, 0xc($a1) -/* 01C8A8 7001BCA8 0322C021 */ addu $t8, $t9, $v0 -/* 01C8AC 7001BCAC 03E00008 */ jr $ra -/* 01C8B0 7001BCB0 A70F0004 */ sh $t7, 4($t8) - -glabel __resetPerfChanState -/* 01C8B4 7001BCB4 8C8E0060 */ lw $t6, 0x60($a0) -/* 01C8B8 7001BCB8 00051100 */ sll $v0, $a1, 4 -/* 01C8BC 7001BCBC 24080040 */ li $t0, 64 -/* 01C8C0 7001BCC0 01C27821 */ addu $t7, $t6, $v0 -/* 01C8C4 7001BCC4 A1E00006 */ sb $zero, 6($t7) -/* 01C8C8 7001BCC8 8C980060 */ lw $t8, 0x60($a0) -/* 01C8CC 7001BCCC 240B007F */ li $t3, 127 -/* 01C8D0 7001BCD0 240E0005 */ li $t6, 5 -/* 01C8D4 7001BCD4 0302C821 */ addu $t9, $t8, $v0 -/* 01C8D8 7001BCD8 A320000A */ sb $zero, 0xa($t9) -/* 01C8DC 7001BCDC 8C890060 */ lw $t1, 0x60($a0) -/* 01C8E0 7001BCE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01C8E4 7001BCE4 44812000 */ mtc1 $at, $f4 -/* 01C8E8 7001BCE8 01225021 */ addu $t2, $t1, $v0 -/* 01C8EC 7001BCEC A1480007 */ sb $t0, 7($t2) -/* 01C8F0 7001BCF0 8C8C0060 */ lw $t4, 0x60($a0) -/* 01C8F4 7001BCF4 240800C8 */ li $t0, 200 -/* 01C8F8 7001BCF8 01826821 */ addu $t5, $t4, $v0 -/* 01C8FC 7001BCFC A1AB0009 */ sb $t3, 9($t5) -/* 01C900 7001BD00 8C8F0060 */ lw $t7, 0x60($a0) -/* 01C904 7001BD04 01E2C021 */ addu $t8, $t7, $v0 -/* 01C908 7001BD08 A30E0008 */ sb $t6, 8($t8) -/* 01C90C 7001BD0C 8C990060 */ lw $t9, 0x60($a0) -/* 01C910 7001BD10 03224821 */ addu $t1, $t9, $v0 -/* 01C914 7001BD14 A120000B */ sb $zero, 0xb($t1) -/* 01C918 7001BD18 8C8A0060 */ lw $t2, 0x60($a0) -/* 01C91C 7001BD1C 01426021 */ addu $t4, $t2, $v0 -/* 01C920 7001BD20 A5880004 */ sh $t0, 4($t4) -/* 01C924 7001BD24 8C8B0060 */ lw $t3, 0x60($a0) -/* 01C928 7001BD28 01626821 */ addu $t5, $t3, $v0 -/* 01C92C 7001BD2C 03E00008 */ jr $ra -/* 01C930 7001BD30 E5A4000C */ swc1 $f4, 0xc($t5) - -glabel __initFromBank -/* 01C934 7001BD34 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01C938 7001BD38 AFB20020 */ sw $s2, 0x20($sp) -/* 01C93C 7001BD3C 00809025 */ move $s2, $a0 -/* 01C940 7001BD40 AFBF0024 */ sw $ra, 0x24($sp) -/* 01C944 7001BD44 AFB1001C */ sw $s1, 0x1c($sp) -/* 01C948 7001BD48 AFB00018 */ sw $s0, 0x18($sp) -/* 01C94C 7001BD4C AFA5002C */ sw $a1, 0x2c($sp) -/* 01C950 7001BD50 00A01025 */ move $v0, $a1 -/* 01C954 7001BD54 8C51000C */ lw $s1, 0xc($v0) -.L7001BD58: -/* 01C958 7001BD58 24420004 */ addiu $v0, $v0, 4 -/* 01C95C 7001BD5C 5220FFFE */ beql $s1, $zero, .L7001BD58 -/* 01C960 7001BD60 8C51000C */ lw $s1, 0xc($v0) -/* 01C964 7001BD64 924E0034 */ lbu $t6, 0x34($s2) -/* 01C968 7001BD68 00008025 */ move $s0, $zero -/* 01C96C 7001BD6C 19C0000C */ blez $t6, .L7001BDA0 -/* 01C970 7001BD70 02402025 */ move $a0, $s2 -.L7001BD74: -/* 01C974 7001BD74 0C006F2D */ jal __resetPerfChanState -/* 01C978 7001BD78 02002825 */ move $a1, $s0 -/* 01C97C 7001BD7C 02402025 */ move $a0, $s2 -/* 01C980 7001BD80 02202825 */ move $a1, $s1 -/* 01C984 7001BD84 0C006F18 */ jal __setInstChanState -/* 01C988 7001BD88 02003025 */ move $a2, $s0 -/* 01C98C 7001BD8C 924F0034 */ lbu $t7, 0x34($s2) -/* 01C990 7001BD90 26100001 */ addiu $s0, $s0, 1 -/* 01C994 7001BD94 020F082A */ slt $at, $s0, $t7 -/* 01C998 7001BD98 5420FFF6 */ bnezl $at, .L7001BD74 -/* 01C99C 7001BD9C 02402025 */ move $a0, $s2 -.L7001BDA0: -/* 01C9A0 7001BDA0 8FB8002C */ lw $t8, 0x2c($sp) -/* 01C9A4 7001BDA4 02402025 */ move $a0, $s2 -/* 01C9A8 7001BDA8 8F190008 */ lw $t9, 8($t8) -/* 01C9AC 7001BDAC 53200009 */ beql $t9, $zero, .L7001BDD4 -/* 01C9B0 7001BDB0 8FBF0024 */ lw $ra, 0x24($sp) -/* 01C9B4 7001BDB4 0C006F2D */ jal __resetPerfChanState -/* 01C9B8 7001BDB8 02002825 */ move $a1, $s0 -/* 01C9BC 7001BDBC 8FA8002C */ lw $t0, 0x2c($sp) -/* 01C9C0 7001BDC0 02402025 */ move $a0, $s2 -/* 01C9C4 7001BDC4 24060009 */ li $a2, 9 -/* 01C9C8 7001BDC8 0C006F18 */ jal __setInstChanState -/* 01C9CC 7001BDCC 8D050008 */ lw $a1, 8($t0) -/* 01C9D0 7001BDD0 8FBF0024 */ lw $ra, 0x24($sp) -.L7001BDD4: -/* 01C9D4 7001BDD4 8FB00018 */ lw $s0, 0x18($sp) -/* 01C9D8 7001BDD8 8FB1001C */ lw $s1, 0x1c($sp) -/* 01C9DC 7001BDDC 8FB20020 */ lw $s2, 0x20($sp) -/* 01C9E0 7001BDE0 03E00008 */ jr $ra -/* 01C9E4 7001BDE4 27BD0028 */ addiu $sp, $sp, 0x28 - -/* 01C9E8 7001BDE8 03E00008 */ jr $ra -/* 01C9EC 7001BDEC 00000000 */ nop - -glabel __vsDelta -/* 01C9F0 7001BDF0 8C8E0024 */ lw $t6, 0x24($a0) -/* 01C9F4 7001BDF4 240203E8 */ li $v0, 1000 -/* 01C9F8 7001BDF8 01C51823 */ subu $v1, $t6, $a1 -/* 01C9FC 7001BDFC 04600003 */ bltz $v1, .L7001BE0C -/* 01CA00 7001BE00 00000000 */ nop -/* 01CA04 7001BE04 03E00008 */ jr $ra -/* 01CA08 7001BE08 00601025 */ move $v0, $v1 - -.L7001BE0C: -/* 01CA0C 7001BE0C 03E00008 */ jr $ra -/* 01CA10 7001BE10 00000000 */ nop - -glabel __vsVol -/* 01CA14 7001BE14 908E0036 */ lbu $t6, 0x36($a0) -/* 01CA18 7001BE18 908F0033 */ lbu $t7, 0x33($a0) -/* 01CA1C 7001BE1C 90990030 */ lbu $t9, 0x30($a0) -/* 01CA20 7001BE20 908A0031 */ lbu $t2, 0x31($a0) -/* 01CA24 7001BE24 01CF0019 */ multu $t6, $t7 -/* 01CA28 7001BE28 8CA90060 */ lw $t1, 0x60($a1) -/* 01CA2C 7001BE2C 8C8E0020 */ lw $t6, 0x20($a0) -/* 01CA30 7001BE30 000A5900 */ sll $t3, $t2, 4 -/* 01CA34 7001BE34 012B6021 */ addu $t4, $t1, $t3 -/* 01CA38 7001BE38 918D0009 */ lbu $t5, 9($t4) -/* 01CA3C 7001BE3C 91CF000D */ lbu $t7, 0xd($t6) -/* 01CA40 7001BE40 0000C012 */ mflo $t8 -/* 01CA44 7001BE44 00000000 */ nop -/* 01CA48 7001BE48 00000000 */ nop -/* 01CA4C 7001BE4C 03190019 */ multu $t8, $t9 -/* 01CA50 7001BE50 84B90032 */ lh $t9, 0x32($a1) -/* 01CA54 7001BE54 00001812 */ mflo $v1 -/* 01CA58 7001BE58 00034183 */ sra $t0, $v1, 6 -/* 01CA5C 7001BE5C 01001825 */ move $v1, $t0 -/* 01CA60 7001BE60 01AF0019 */ multu $t5, $t7 -/* 01CA64 7001BE64 0000C012 */ mflo $t8 -/* 01CA68 7001BE68 00000000 */ nop -/* 01CA6C 7001BE6C 00000000 */ nop -/* 01CA70 7001BE70 03190019 */ multu $t8, $t9 -/* 01CA74 7001BE74 00003012 */ mflo $a2 -/* 01CA78 7001BE78 00064383 */ sra $t0, $a2, 0xe -/* 01CA7C 7001BE7C 00000000 */ nop -/* 01CA80 7001BE80 00680019 */ multu $v1, $t0 -/* 01CA84 7001BE84 00001812 */ mflo $v1 -/* 01CA88 7001BE88 000353C2 */ srl $t2, $v1, 0xf -/* 01CA8C 7001BE8C 000A1400 */ sll $v0, $t2, 0x10 -/* 01CA90 7001BE90 00024C03 */ sra $t1, $v0, 0x10 -/* 01CA94 7001BE94 03E00008 */ jr $ra -/* 01CA98 7001BE98 01201025 */ move $v0, $t1 - -glabel __seqpReleaseVoice -/* 01CA9C 7001BE9C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 01CAA0 7001BEA0 AFBF0034 */ sw $ra, 0x34($sp) -/* 01CAA4 7001BEA4 AFB60030 */ sw $s6, 0x30($sp) -/* 01CAA8 7001BEA8 AFB5002C */ sw $s5, 0x2c($sp) -/* 01CAAC 7001BEAC AFB40028 */ sw $s4, 0x28($sp) -/* 01CAB0 7001BEB0 AFB30024 */ sw $s3, 0x24($sp) -/* 01CAB4 7001BEB4 AFB20020 */ sw $s2, 0x20($sp) -/* 01CAB8 7001BEB8 AFB1001C */ sw $s1, 0x1c($sp) -/* 01CABC 7001BEBC AFB00018 */ sw $s0, 0x18($sp) -/* 01CAC0 7001BEC0 AFA60068 */ sw $a2, 0x68($sp) -/* 01CAC4 7001BEC4 8CB60010 */ lw $s6, 0x10($a1) -/* 01CAC8 7001BEC8 0080A025 */ move $s4, $a0 -/* 01CACC 7001BECC 00A0A825 */ move $s5, $a1 -/* 01CAD0 7001BED0 92CE0034 */ lbu $t6, 0x34($s6) -/* 01CAD4 7001BED4 55C0001A */ bnezl $t6, .L7001BF40 -/* 01CAD8 7001BED8 240A0003 */ li $t2, 3 -/* 01CADC 7001BEDC 8C900050 */ lw $s0, 0x50($a0) -/* 01CAE0 7001BEE0 24130006 */ li $s3, 6 -/* 01CAE4 7001BEE4 52000016 */ beql $s0, $zero, .L7001BF40 -/* 01CAE8 7001BEE8 240A0003 */ li $t2, 3 -.L7001BEEC: -/* 01CAEC 7001BEEC 860F000C */ lh $t7, 0xc($s0) -/* 01CAF0 7001BEF0 8E110000 */ lw $s1, ($s0) -/* 01CAF4 7001BEF4 166F000F */ bne $s3, $t7, .L7001BF34 -/* 01CAF8 7001BEF8 00000000 */ nop -/* 01CAFC 7001BEFC 8E180010 */ lw $t8, 0x10($s0) -/* 01CB00 7001BF00 16B8000C */ bne $s5, $t8, .L7001BF34 -/* 01CB04 7001BF04 00000000 */ nop -/* 01CB08 7001BF08 12200005 */ beqz $s1, .L7001BF20 -/* 01CB0C 7001BF0C 26920048 */ addiu $s2, $s4, 0x48 -/* 01CB10 7001BF10 8E390008 */ lw $t9, 8($s1) -/* 01CB14 7001BF14 8E080008 */ lw $t0, 8($s0) -/* 01CB18 7001BF18 03284821 */ addu $t1, $t9, $t0 -/* 01CB1C 7001BF1C AE290008 */ sw $t1, 8($s1) -.L7001BF20: -/* 01CB20 7001BF20 0C003AA4 */ jal alUnlink -/* 01CB24 7001BF24 02002025 */ move $a0, $s0 -/* 01CB28 7001BF28 02002025 */ move $a0, $s0 -/* 01CB2C 7001BF2C 0C003AB0 */ jal alLink -/* 01CB30 7001BF30 02402825 */ move $a1, $s2 -.L7001BF34: -/* 01CB34 7001BF34 1620FFED */ bnez $s1, .L7001BEEC -/* 01CB38 7001BF38 02208025 */ move $s0, $s1 -/* 01CB3C 7001BF3C 240A0003 */ li $t2, 3 -.L7001BF40: -/* 01CB40 7001BF40 A2C00033 */ sb $zero, 0x33($s6) -/* 01CB44 7001BF44 A2CA0034 */ sb $t2, 0x34($s6) -/* 01CB48 7001BF48 A2C00030 */ sb $zero, 0x30($s6) -/* 01CB4C 7001BF4C 8FAC0068 */ lw $t4, 0x68($sp) -/* 01CB50 7001BF50 8E8B001C */ lw $t3, 0x1c($s4) -/* 01CB54 7001BF54 02A02825 */ move $a1, $s5 -/* 01CB58 7001BF58 00003025 */ move $a2, $zero -/* 01CB5C 7001BF5C 016C6821 */ addu $t5, $t3, $t4 -/* 01CB60 7001BF60 AECD0024 */ sw $t5, 0x24($s6) -/* 01CB64 7001BF64 8E840014 */ lw $a0, 0x14($s4) -/* 01CB68 7001BF68 0C0082D0 */ jal alSynSetPriority -/* 01CB6C 7001BF6C 26920048 */ addiu $s2, $s4, 0x48 -/* 01CB70 7001BF70 8E840014 */ lw $a0, 0x14($s4) -/* 01CB74 7001BF74 02A02825 */ move $a1, $s5 -/* 01CB78 7001BF78 00003025 */ move $a2, $zero -/* 01CB7C 7001BF7C 0C004CE8 */ jal alSynSetVol -/* 01CB80 7001BF80 8FA70068 */ lw $a3, 0x68($sp) -/* 01CB84 7001BF84 240E0005 */ li $t6, 5 -/* 01CB88 7001BF88 A7AE0050 */ sh $t6, 0x50($sp) -/* 01CB8C 7001BF8C AFB50054 */ sw $s5, 0x54($sp) -/* 01CB90 7001BF90 02402025 */ move $a0, $s2 -/* 01CB94 7001BF94 27A50050 */ addiu $a1, $sp, 0x50 -/* 01CB98 7001BF98 0C004BBF */ jal alEvtqPostEvent -/* 01CB9C 7001BF9C 8FA60068 */ lw $a2, 0x68($sp) -/* 01CBA0 7001BFA0 8FBF0034 */ lw $ra, 0x34($sp) -/* 01CBA4 7001BFA4 8FB00018 */ lw $s0, 0x18($sp) -/* 01CBA8 7001BFA8 8FB1001C */ lw $s1, 0x1c($sp) -/* 01CBAC 7001BFAC 8FB20020 */ lw $s2, 0x20($sp) -/* 01CBB0 7001BFB0 8FB30024 */ lw $s3, 0x24($sp) -/* 01CBB4 7001BFB4 8FB40028 */ lw $s4, 0x28($sp) -/* 01CBB8 7001BFB8 8FB5002C */ lw $s5, 0x2c($sp) -/* 01CBBC 7001BFBC 8FB60030 */ lw $s6, 0x30($sp) -/* 01CBC0 7001BFC0 03E00008 */ jr $ra -/* 01CBC4 7001BFC4 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel __voiceNeedsNoteKill -/* 01CBC8 7001BFC8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 01CBCC 7001BFCC AFBF0014 */ sw $ra, 0x14($sp) -/* 01CBD0 7001BFD0 8C870050 */ lw $a3, 0x50($a0) -/* 01CBD4 7001BFD4 00805025 */ move $t2, $a0 -/* 01CBD8 7001BFD8 00004025 */ move $t0, $zero -/* 01CBDC 7001BFDC 10E0001F */ beqz $a3, .L7001C05C -/* 01CBE0 7001BFE0 24090001 */ li $t1, 1 -/* 01CBE4 7001BFE4 24040005 */ li $a0, 5 -.L7001BFE8: -/* 01CBE8 7001BFE8 84EE000C */ lh $t6, 0xc($a3) -/* 01CBEC 7001BFEC 8CE30008 */ lw $v1, 8($a3) -/* 01CBF0 7001BFF0 8CE20000 */ lw $v0, ($a3) -/* 01CBF4 7001BFF4 148E0017 */ bne $a0, $t6, .L7001C054 -/* 01CBF8 7001BFF8 01034021 */ addu $t0, $t0, $v1 -/* 01CBFC 7001BFFC 8CEF0010 */ lw $t7, 0x10($a3) -/* 01CC00 7001C000 14AF0014 */ bne $a1, $t7, .L7001C054 -/* 01CC04 7001C004 00C8082A */ slt $at, $a2, $t0 -/* 01CC08 7001C008 10200010 */ beqz $at, .L7001C04C -/* 01CC0C 7001C00C 00E02025 */ move $a0, $a3 -/* 01CC10 7001C010 50400005 */ beql $v0, $zero, .L7001C028 -/* 01CC14 7001C014 AFA7002C */ sw $a3, 0x2c($sp) -/* 01CC18 7001C018 8C580008 */ lw $t8, 8($v0) -/* 01CC1C 7001C01C 0303C821 */ addu $t9, $t8, $v1 -/* 01CC20 7001C020 AC590008 */ sw $t9, 8($v0) -/* 01CC24 7001C024 AFA7002C */ sw $a3, 0x2c($sp) -.L7001C028: -/* 01CC28 7001C028 A3A9001F */ sb $t1, 0x1f($sp) -/* 01CC2C 7001C02C 0C003AA4 */ jal alUnlink -/* 01CC30 7001C030 AFAA0030 */ sw $t2, 0x30($sp) -/* 01CC34 7001C034 8FAA0030 */ lw $t2, 0x30($sp) -/* 01CC38 7001C038 8FA4002C */ lw $a0, 0x2c($sp) -/* 01CC3C 7001C03C 0C003AB0 */ jal alLink -/* 01CC40 7001C040 25450048 */ addiu $a1, $t2, 0x48 -/* 01CC44 7001C044 10000005 */ b .L7001C05C -/* 01CC48 7001C048 93A9001F */ lbu $t1, 0x1f($sp) -.L7001C04C: -/* 01CC4C 7001C04C 10000003 */ b .L7001C05C -/* 01CC50 7001C050 00004825 */ move $t1, $zero -.L7001C054: -/* 01CC54 7001C054 1440FFE4 */ bnez $v0, .L7001BFE8 -/* 01CC58 7001C058 00403825 */ move $a3, $v0 -.L7001C05C: -/* 01CC5C 7001C05C 8FBF0014 */ lw $ra, 0x14($sp) -/* 01CC60 7001C060 27BD0030 */ addiu $sp, $sp, 0x30 -/* 01CC64 7001C064 01201025 */ move $v0, $t1 -/* 01CC68 7001C068 03E00008 */ jr $ra -/* 01CC6C 7001C06C 00000000 */ nop - -glabel __unmapVoice -/* 01CC70 7001C070 8C830064 */ lw $v1, 0x64($a0) -/* 01CC74 7001C074 00001025 */ move $v0, $zero -/* 01CC78 7001C078 24A6FFFC */ addiu $a2, $a1, -4 -/* 01CC7C 7001C07C 10600016 */ beqz $v1, .L7001C0D8 -/* 01CC80 7001C080 00000000 */ nop -.L7001C084: -/* 01CC84 7001C084 54660011 */ bnel $v1, $a2, .L7001C0CC -/* 01CC88 7001C088 00601025 */ move $v0, $v1 -/* 01CC8C 7001C08C 50400005 */ beql $v0, $zero, .L7001C0A4 -/* 01CC90 7001C090 8C6F0000 */ lw $t7, ($v1) -/* 01CC94 7001C094 8C6E0000 */ lw $t6, ($v1) -/* 01CC98 7001C098 10000003 */ b .L7001C0A8 -/* 01CC9C 7001C09C AC4E0000 */ sw $t6, ($v0) -/* 01CCA0 7001C0A0 8C6F0000 */ lw $t7, ($v1) -.L7001C0A4: -/* 01CCA4 7001C0A4 AC8F0064 */ sw $t7, 0x64($a0) -.L7001C0A8: -/* 01CCA8 7001C0A8 8C980068 */ lw $t8, 0x68($a0) -/* 01CCAC 7001C0AC 54780003 */ bnel $v1, $t8, .L7001C0BC -/* 01CCB0 7001C0B0 8C99006C */ lw $t9, 0x6c($a0) -/* 01CCB4 7001C0B4 AC820068 */ sw $v0, 0x68($a0) -/* 01CCB8 7001C0B8 8C99006C */ lw $t9, 0x6c($a0) -.L7001C0BC: -/* 01CCBC 7001C0BC AC790000 */ sw $t9, ($v1) -/* 01CCC0 7001C0C0 03E00008 */ jr $ra -/* 01CCC4 7001C0C4 AC83006C */ sw $v1, 0x6c($a0) - -/* 01CCC8 7001C0C8 00601025 */ move $v0, $v1 -.L7001C0CC: -/* 01CCCC 7001C0CC 8C630000 */ lw $v1, ($v1) -/* 01CCD0 7001C0D0 1460FFEC */ bnez $v1, .L7001C084 -/* 01CCD4 7001C0D4 00000000 */ nop -.L7001C0D8: -/* 01CCD8 7001C0D8 03E00008 */ jr $ra -/* 01CCDC 7001C0DC 00000000 */ nop - -glabel __postNextSeqEvent -/* 01CCE0 7001C0E0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01CCE4 7001C0E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 01CCE8 7001C0E8 8C8E002C */ lw $t6, 0x2c($a0) -/* 01CCEC 7001C0EC 24010001 */ li $at, 1 -/* 01CCF0 7001C0F0 00803825 */ move $a3, $a0 -/* 01CCF4 7001C0F4 15C1002D */ bne $t6, $at, .L7001C1AC -/* 01CCF8 7001C0F8 8C860018 */ lw $a2, 0x18($a0) -/* 01CCFC 7001C0FC 10C0002B */ beqz $a2, .L7001C1AC -/* 01CD00 7001C100 00C02025 */ move $a0, $a2 -/* 01CD04 7001C104 27A50024 */ addiu $a1, $sp, 0x24 -/* 01CD08 7001C108 AFA60020 */ sw $a2, 0x20($sp) -/* 01CD0C 7001C10C 0C008264 */ jal __alSeqNextDelta -/* 01CD10 7001C110 AFA70038 */ sw $a3, 0x38($sp) -/* 01CD14 7001C114 8FA60020 */ lw $a2, 0x20($sp) -/* 01CD18 7001C118 10400024 */ beqz $v0, .L7001C1AC -/* 01CD1C 7001C11C 8FA70038 */ lw $a3, 0x38($sp) -/* 01CD20 7001C120 8CEF0084 */ lw $t7, 0x84($a3) -/* 01CD24 7001C124 00C02025 */ move $a0, $a2 -/* 01CD28 7001C128 51E00018 */ beql $t7, $zero, .L7001C18C -/* 01CD2C 7001C12C A7A00028 */ sh $zero, 0x28($sp) -/* 01CD30 7001C130 AFA60020 */ sw $a2, 0x20($sp) -/* 01CD34 7001C134 0C008156 */ jal alSeqGetTicks -/* 01CD38 7001C138 AFA70038 */ sw $a3, 0x38($sp) -/* 01CD3C 7001C13C 8FA70038 */ lw $a3, 0x38($sp) -/* 01CD40 7001C140 8FB80024 */ lw $t8, 0x24($sp) -/* 01CD44 7001C144 8FA60020 */ lw $a2, 0x20($sp) -/* 01CD48 7001C148 8CE80080 */ lw $t0, 0x80($a3) -/* 01CD4C 7001C14C 0058C821 */ addu $t9, $v0, $t8 -/* 01CD50 7001C150 00C02025 */ move $a0, $a2 -/* 01CD54 7001C154 8D090008 */ lw $t1, 8($t0) -/* 01CD58 7001C158 0329082A */ slt $at, $t9, $t1 -/* 01CD5C 7001C15C 5420000B */ bnezl $at, .L7001C18C -/* 01CD60 7001C160 A7A00028 */ sh $zero, 0x28($sp) -/* 01CD64 7001C164 8CE5007C */ lw $a1, 0x7c($a3) -/* 01CD68 7001C168 0C00814F */ jal alSeqSetLoc -/* 01CD6C 7001C16C AFA70038 */ sw $a3, 0x38($sp) -/* 01CD70 7001C170 8FA70038 */ lw $a3, 0x38($sp) -/* 01CD74 7001C174 2401FFFF */ li $at, -1 -/* 01CD78 7001C178 8CE20084 */ lw $v0, 0x84($a3) -/* 01CD7C 7001C17C 10410002 */ beq $v0, $at, .L7001C188 -/* 01CD80 7001C180 244AFFFF */ addiu $t2, $v0, -1 -/* 01CD84 7001C184 ACEA0084 */ sw $t2, 0x84($a3) -.L7001C188: -/* 01CD88 7001C188 A7A00028 */ sh $zero, 0x28($sp) -.L7001C18C: -/* 01CD8C 7001C18C 8CEB0024 */ lw $t3, 0x24($a3) -/* 01CD90 7001C190 8FAC0024 */ lw $t4, 0x24($sp) -/* 01CD94 7001C194 24E40048 */ addiu $a0, $a3, 0x48 -/* 01CD98 7001C198 27A50028 */ addiu $a1, $sp, 0x28 -/* 01CD9C 7001C19C 016C0019 */ multu $t3, $t4 -/* 01CDA0 7001C1A0 00003012 */ mflo $a2 -/* 01CDA4 7001C1A4 0C004BBF */ jal alEvtqPostEvent -/* 01CDA8 7001C1A8 00000000 */ nop -.L7001C1AC: -/* 01CDAC 7001C1AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 01CDB0 7001C1B0 27BD0038 */ addiu $sp, $sp, 0x38 -/* 01CDB4 7001C1B4 03E00008 */ jr $ra -/* 01CDB8 7001C1B8 00000000 */ nop - -glabel __handleMetaMsg -/* 01CDBC 7001C1BC 908E0008 */ lbu $t6, 8($a0) -/* 01CDC0 7001C1C0 240100FF */ li $at, 255 -/* 01CDC4 7001C1C4 15C10019 */ bne $t6, $at, .L7001C22C -/* 01CDC8 7001C1C8 00000000 */ nop -/* 01CDCC 7001C1CC 908F0009 */ lbu $t7, 9($a0) -/* 01CDD0 7001C1D0 24010051 */ li $at, 81 -/* 01CDD4 7001C1D4 24820004 */ addiu $v0, $a0, 4 -/* 01CDD8 7001C1D8 15E10014 */ bne $t7, $at, .L7001C22C -/* 01CDDC 7001C1DC 00000000 */ nop -/* 01CDE0 7001C1E0 904E0008 */ lbu $t6, 8($v0) -/* 01CDE4 7001C1E4 90580007 */ lbu $t8, 7($v0) -/* 01CDE8 7001C1E8 8CA60018 */ lw $a2, 0x18($a1) -/* 01CDEC 7001C1EC 000E7A00 */ sll $t7, $t6, 8 -/* 01CDF0 7001C1F0 904E0009 */ lbu $t6, 9($v0) -/* 01CDF4 7001C1F4 0018CC00 */ sll $t9, $t8, 0x10 -/* 01CDF8 7001C1F8 032FC025 */ or $t8, $t9, $t7 -/* 01CDFC 7001C1FC 030E1825 */ or $v1, $t8, $t6 -/* 01CE00 7001C200 44832000 */ mtc1 $v1, $f4 -/* 01CE04 7001C204 241801E8 */ li $t8, 488 -/* 01CE08 7001C208 10C00007 */ beqz $a2, .L7001C228 -/* 01CE0C 7001C20C 46802020 */ cvt.s.w $f0, $f4 -/* 01CE10 7001C210 C4C60014 */ lwc1 $f6, 0x14($a2) -/* 01CE14 7001C214 46060202 */ mul.s $f8, $f0, $f6 -/* 01CE18 7001C218 4600428D */ trunc.w.s $f10, $f8 -/* 01CE1C 7001C21C 440F5000 */ mfc1 $t7, $f10 -/* 01CE20 7001C220 03E00008 */ jr $ra -/* 01CE24 7001C224 ACAF0024 */ sw $t7, 0x24($a1) - -.L7001C228: -/* 01CE28 7001C228 ACB80024 */ sw $t8, 0x24($a1) -.L7001C22C: -/* 01CE2C 7001C22C 03E00008 */ jr $ra -/* 01CE30 7001C230 00000000 */ nop - -glabel __vsPan -/* 01CE34 7001C234 908F0031 */ lbu $t7, 0x31($a0) -/* 01CE38 7001C238 8CAE0060 */ lw $t6, 0x60($a1) -/* 01CE3C 7001C23C 8C890020 */ lw $t1, 0x20($a0) -/* 01CE40 7001C240 000FC100 */ sll $t8, $t7, 4 -/* 01CE44 7001C244 01D8C821 */ addu $t9, $t6, $t8 -/* 01CE48 7001C248 93280007 */ lbu $t0, 7($t9) -/* 01CE4C 7001C24C 912A000C */ lbu $t2, 0xc($t1) -/* 01CE50 7001C250 010A1821 */ addu $v1, $t0, $t2 -/* 01CE54 7001C254 2463FFC0 */ addiu $v1, $v1, -0x40 -/* 01CE58 7001C258 5C600003 */ bgtzl $v1, .L7001C268 -/* 01CE5C 7001C25C 2861007F */ slti $at, $v1, 0x7f -/* 01CE60 7001C260 00001825 */ move $v1, $zero -/* 01CE64 7001C264 2861007F */ slti $at, $v1, 0x7f -.L7001C268: -/* 01CE68 7001C268 14200002 */ bnez $at, .L7001C274 -/* 01CE6C 7001C26C 00000000 */ nop -/* 01CE70 7001C270 2403007F */ li $v1, 127 -.L7001C274: -/* 01CE74 7001C274 03E00008 */ jr $ra -/* 01CE78 7001C278 306200FF */ andi $v0, $v1, 0xff - -glabel __lookupVoice -/* 01CE7C 7001C27C AFA50004 */ sw $a1, 4($sp) -/* 01CE80 7001C280 AFA60008 */ sw $a2, 8($sp) -/* 01CE84 7001C284 8C830064 */ lw $v1, 0x64($a0) -/* 01CE88 7001C288 30CF00FF */ andi $t7, $a2, 0xff -/* 01CE8C 7001C28C 01E03025 */ move $a2, $t7 -/* 01CE90 7001C290 10600014 */ beqz $v1, .L7001C2E4 -/* 01CE94 7001C294 30AE00FF */ andi $t6, $a1, 0xff -/* 01CE98 7001C298 01C01025 */ move $v0, $t6 -/* 01CE9C 7001C29C 24070004 */ li $a3, 4 -/* 01CEA0 7001C2A0 24050003 */ li $a1, 3 -/* 01CEA4 7001C2A4 90780032 */ lbu $t8, 0x32($v1) -.L7001C2A8: -/* 01CEA8 7001C2A8 5458000C */ bnel $v0, $t8, .L7001C2DC -/* 01CEAC 7001C2AC 8C630000 */ lw $v1, ($v1) -/* 01CEB0 7001C2B0 90790031 */ lbu $t9, 0x31($v1) -/* 01CEB4 7001C2B4 54D90009 */ bnel $a2, $t9, .L7001C2DC -/* 01CEB8 7001C2B8 8C630000 */ lw $v1, ($v1) -/* 01CEBC 7001C2BC 90640035 */ lbu $a0, 0x35($v1) -/* 01CEC0 7001C2C0 50A40006 */ beql $a1, $a0, .L7001C2DC -/* 01CEC4 7001C2C4 8C630000 */ lw $v1, ($v1) -/* 01CEC8 7001C2C8 50E40004 */ beql $a3, $a0, .L7001C2DC -/* 01CECC 7001C2CC 8C630000 */ lw $v1, ($v1) -/* 01CED0 7001C2D0 03E00008 */ jr $ra -/* 01CED4 7001C2D4 00601025 */ move $v0, $v1 - -/* 01CED8 7001C2D8 8C630000 */ lw $v1, ($v1) -.L7001C2DC: -/* 01CEDC 7001C2DC 5460FFF2 */ bnezl $v1, .L7001C2A8 -/* 01CEE0 7001C2E0 90780032 */ lbu $t8, 0x32($v1) -.L7001C2E4: -/* 01CEE4 7001C2E4 00001025 */ move $v0, $zero -/* 01CEE8 7001C2E8 03E00008 */ jr $ra -/* 01CEEC 7001C2EC 00000000 */ nop - -glabel __mapVoice -/* 01CEF0 7001C2F0 AFA50004 */ sw $a1, 4($sp) -/* 01CEF4 7001C2F4 AFA60008 */ sw $a2, 8($sp) -/* 01CEF8 7001C2F8 AFA7000C */ sw $a3, 0xc($sp) -/* 01CEFC 7001C2FC 8C83006C */ lw $v1, 0x6c($a0) -/* 01CF00 7001C300 30AE00FF */ andi $t6, $a1, 0xff -/* 01CF04 7001C304 30CF00FF */ andi $t7, $a2, 0xff -/* 01CF08 7001C308 30F800FF */ andi $t8, $a3, 0xff -/* 01CF0C 7001C30C 03003825 */ move $a3, $t8 -/* 01CF10 7001C310 01E03025 */ move $a2, $t7 -/* 01CF14 7001C314 10600010 */ beqz $v1, .L7001C358 -/* 01CF18 7001C318 01C02825 */ move $a1, $t6 -/* 01CF1C 7001C31C 8C790000 */ lw $t9, ($v1) -/* 01CF20 7001C320 AC99006C */ sw $t9, 0x6c($a0) -/* 01CF24 7001C324 AC600000 */ sw $zero, ($v1) -/* 01CF28 7001C328 8C880064 */ lw $t0, 0x64($a0) -/* 01CF2C 7001C32C 55000004 */ bnezl $t0, .L7001C340 -/* 01CF30 7001C330 8C890068 */ lw $t1, 0x68($a0) -/* 01CF34 7001C334 10000003 */ b .L7001C344 -/* 01CF38 7001C338 AC830064 */ sw $v1, 0x64($a0) -/* 01CF3C 7001C33C 8C890068 */ lw $t1, 0x68($a0) -.L7001C340: -/* 01CF40 7001C340 AD230000 */ sw $v1, ($t1) -.L7001C344: -/* 01CF44 7001C344 AC830068 */ sw $v1, 0x68($a0) -/* 01CF48 7001C348 A0670031 */ sb $a3, 0x31($v1) -/* 01CF4C 7001C34C A0650032 */ sb $a1, 0x32($v1) -/* 01CF50 7001C350 A0660033 */ sb $a2, 0x33($v1) -/* 01CF54 7001C354 AC630014 */ sw $v1, 0x14($v1) -.L7001C358: -/* 01CF58 7001C358 03E00008 */ jr $ra -/* 01CF5C 7001C35C 00601025 */ move $v0, $v1 - -glabel __lookupSoundQuick -/* 01CF60 7001C360 AFA50004 */ sw $a1, 4($sp) -/* 01CF64 7001C364 AFA60008 */ sw $a2, 8($sp) -/* 01CF68 7001C368 AFA7000C */ sw $a3, 0xc($sp) -/* 01CF6C 7001C36C 8C980060 */ lw $t8, 0x60($a0) -/* 01CF70 7001C370 30EF00FF */ andi $t7, $a3, 0xff -/* 01CF74 7001C374 000FC900 */ sll $t9, $t7, 4 -/* 01CF78 7001C378 03196021 */ addu $t4, $t8, $t9 -/* 01CF7C 7001C37C 8D820000 */ lw $v0, ($t4) -/* 01CF80 7001C380 30AE00FF */ andi $t6, $a1, 0xff -/* 01CF84 7001C384 30CB00FF */ andi $t3, $a2, 0xff -/* 01CF88 7001C388 8448000E */ lh $t0, 0xe($v0) -/* 01CF8C 7001C38C 24030001 */ li $v1, 1 -/* 01CF90 7001C390 01C04825 */ move $t1, $t6 -/* 01CF94 7001C394 1900002E */ blez $t0, .L7001C450 -/* 01CF98 7001C398 00682821 */ addu $a1, $v1, $t0 -.L7001C39C: -/* 01CF9C 7001C39C 04A10003 */ bgez $a1, .L7001C3AC -/* 01CFA0 7001C3A0 00056843 */ sra $t5, $a1, 1 -/* 01CFA4 7001C3A4 24A10001 */ addiu $at, $a1, 1 -/* 01CFA8 7001C3A8 00016843 */ sra $t5, $at, 1 -.L7001C3AC: -/* 01CFAC 7001C3AC 000D7080 */ sll $t6, $t5, 2 -/* 01CFB0 7001C3B0 004E7821 */ addu $t7, $v0, $t6 -/* 01CFB4 7001C3B4 8DE7000C */ lw $a3, 0xc($t7) -/* 01CFB8 7001C3B8 01A02025 */ move $a0, $t5 -/* 01CFBC 7001C3BC 8CE60004 */ lw $a2, 4($a3) -/* 01CFC0 7001C3C0 90CA0002 */ lbu $t2, 2($a2) -/* 01CFC4 7001C3C4 012A082A */ slt $at, $t1, $t2 -/* 01CFC8 7001C3C8 54200011 */ bnezl $at, .L7001C410 -/* 01CFCC 7001C3CC 012A082A */ slt $at, $t1, $t2 -/* 01CFD0 7001C3D0 90D80003 */ lbu $t8, 3($a2) -/* 01CFD4 7001C3D4 0309082A */ slt $at, $t8, $t1 -/* 01CFD8 7001C3D8 5420000D */ bnezl $at, .L7001C410 -/* 01CFDC 7001C3DC 012A082A */ slt $at, $t1, $t2 -/* 01CFE0 7001C3E0 90D90000 */ lbu $t9, ($a2) -/* 01CFE4 7001C3E4 01602825 */ move $a1, $t3 -/* 01CFE8 7001C3E8 0179082A */ slt $at, $t3, $t9 -/* 01CFEC 7001C3EC 54200008 */ bnezl $at, .L7001C410 -/* 01CFF0 7001C3F0 012A082A */ slt $at, $t1, $t2 -/* 01CFF4 7001C3F4 90CC0001 */ lbu $t4, 1($a2) -/* 01CFF8 7001C3F8 0185082A */ slt $at, $t4, $a1 -/* 01CFFC 7001C3FC 54200004 */ bnezl $at, .L7001C410 -/* 01D000 7001C400 012A082A */ slt $at, $t1, $t2 -/* 01D004 7001C404 03E00008 */ jr $ra -/* 01D008 7001C408 00E01025 */ move $v0, $a3 - -/* 01D00C 7001C40C 012A082A */ slt $at, $t1, $t2 -.L7001C410: -/* 01D010 7001C410 14200009 */ bnez $at, .L7001C438 -/* 01D014 7001C414 00000000 */ nop -/* 01D018 7001C418 90CD0000 */ lbu $t5, ($a2) -/* 01D01C 7001C41C 016D082A */ slt $at, $t3, $t5 -/* 01D020 7001C420 50200008 */ beql $at, $zero, .L7001C444 -/* 01D024 7001C424 24830001 */ addiu $v1, $a0, 1 -/* 01D028 7001C428 90CE0003 */ lbu $t6, 3($a2) -/* 01D02C 7001C42C 01C9082A */ slt $at, $t6, $t1 -/* 01D030 7001C430 54200004 */ bnezl $at, .L7001C444 -/* 01D034 7001C434 24830001 */ addiu $v1, $a0, 1 -.L7001C438: -/* 01D038 7001C438 10000002 */ b .L7001C444 -/* 01D03C 7001C43C 2488FFFF */ addiu $t0, $a0, -1 -/* 01D040 7001C440 24830001 */ addiu $v1, $a0, 1 -.L7001C444: -/* 01D044 7001C444 0103082A */ slt $at, $t0, $v1 -/* 01D048 7001C448 5020FFD4 */ beql $at, $zero, .L7001C39C -/* 01D04C 7001C44C 00682821 */ addu $a1, $v1, $t0 -.L7001C450: -/* 01D050 7001C450 00001025 */ move $v0, $zero -/* 01D054 7001C454 03E00008 */ jr $ra -/* 01D058 7001C458 00000000 */ nop - -glabel __handleMIDIMsg -/* 01D05C 7001C45C 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 01D060 7001C460 AFBF0024 */ sw $ra, 0x24($sp) -/* 01D064 7001C464 90960008 */ lbu $s6, 8($a0) -/* 01D068 7001C468 90930009 */ lbu $s3, 9($a0) -/* 01D06C 7001C46C 9094000A */ lbu $s4, 0xa($a0) -/* 01D070 7001C470 32C300F0 */ andi $v1, $s6, 0xf0 -/* 01D074 7001C474 246FFF80 */ addiu $t7, $v1, -0x80 -/* 01D078 7001C478 2DE10061 */ sltiu $at, $t7, 0x61 -/* 01D07C 7001C47C 32CE000F */ andi $t6, $s6, 0xf -/* 01D080 7001C480 102001F8 */ beqz $at, .L7001CC64 -/* 01D084 7001C484 01C0B025 */ move $s6, $t6 -/* 01D088 7001C488 000F7880 */ sll $t7, $t7, 2 -/* 01D08C 7001C48C 3C018003 */ lui $at, %hi(jpt_80029A50) -/* 01D090 7001C490 002F0821 */ addu $at, $at, $t7 -/* 01D094 7001C494 8C2F9A50 */ lw $t7, %lo(jpt_80029A50)($at) -/* 01D098 7001C498 01E00008 */ jr $t7 -/* 01D09C 7001C49C 00000000 */ nop -.L7001C4A0: -/* 01D0A0 7001C4A0 528000D5 */ beql $s4, $zero, .L7001C7F8 -/* 01D0A4 7001C4A4 02202025 */ move $a0, $s1 -/* 01D0A8 7001C4A8 8E38002C */ lw $t8, 0x2c($s1) -/* 01D0AC 7001C4AC 24010001 */ li $at, 1 -/* 01D0B0 7001C4B0 02202025 */ move $a0, $s1 -/* 01D0B4 7001C4B4 170101EB */ bne $t8, $at, .L7001CC64 -/* 01D0B8 7001C4B8 326500FF */ andi $a1, $s3, 0xff -/* 01D0BC 7001C4BC 328600FF */ andi $a2, $s4, 0xff -/* 01D0C0 7001C4C0 0C0070D8 */ jal __lookupSoundQuick -/* 01D0C4 7001C4C4 32C700FF */ andi $a3, $s6, 0xff -/* 01D0C8 7001C4C8 104001E6 */ beqz $v0, .L7001CC64 -/* 01D0CC 7001C4CC 0040B825 */ move $s7, $v0 -/* 01D0D0 7001C4D0 8E390060 */ lw $t9, 0x60($s1) -/* 01D0D4 7001C4D4 0016F100 */ sll $fp, $s6, 4 -/* 01D0D8 7001C4D8 02202025 */ move $a0, $s1 -/* 01D0DC 7001C4DC 033E7021 */ addu $t6, $t9, $fp -/* 01D0E0 7001C4E0 91CF0008 */ lbu $t7, 8($t6) -/* 01D0E4 7001C4E4 A7A0009E */ sh $zero, 0x9e($sp) -/* 01D0E8 7001C4E8 A3A000A0 */ sb $zero, 0xa0($sp) -/* 01D0EC 7001C4EC 326500FF */ andi $a1, $s3, 0xff -/* 01D0F0 7001C4F0 328600FF */ andi $a2, $s4, 0xff -/* 01D0F4 7001C4F4 32C700FF */ andi $a3, $s6, 0xff -/* 01D0F8 7001C4F8 0C0070BC */ jal __mapVoice -/* 01D0FC 7001C4FC A7AF009C */ sh $t7, 0x9c($sp) -/* 01D100 7001C500 104001D8 */ beqz $v0, .L7001CC64 -/* 01D104 7001C504 00408025 */ move $s0, $v0 -/* 01D108 7001C508 8E240014 */ lw $a0, 0x14($s1) -/* 01D10C 7001C50C 24450004 */ addiu $a1, $v0, 4 -/* 01D110 7001C510 AFA50034 */ sw $a1, 0x34($sp) -/* 01D114 7001C514 0C004C96 */ jal alSynAllocVoice -/* 01D118 7001C518 27A6009C */ addiu $a2, $sp, 0x9c -/* 01D11C 7001C51C AE170020 */ sw $s7, 0x20($s0) -/* 01D120 7001C520 A2000034 */ sb $zero, 0x34($s0) -/* 01D124 7001C524 8E380060 */ lw $t8, 0x60($s1) -/* 01D128 7001C528 24150002 */ li $s5, 2 -/* 01D12C 7001C52C 031EC821 */ addu $t9, $t8, $fp -/* 01D130 7001C530 932E000B */ lbu $t6, 0xb($t9) -/* 01D134 7001C534 29C10040 */ slti $at, $t6, 0x40 -/* 01D138 7001C538 54200004 */ bnezl $at, .L7001C54C -/* 01D13C 7001C53C A2000035 */ sb $zero, 0x35($s0) -/* 01D140 7001C540 10000002 */ b .L7001C54C -/* 01D144 7001C544 A2150035 */ sb $s5, 0x35($s0) -/* 01D148 7001C548 A2000035 */ sb $zero, 0x35($s0) -.L7001C54C: -/* 01D14C 7001C54C 8EE20004 */ lw $v0, 4($s7) -/* 01D150 7001C550 904F0004 */ lbu $t7, 4($v0) -/* 01D154 7001C554 804E0005 */ lb $t6, 5($v0) -/* 01D158 7001C558 026FC023 */ subu $t8, $s3, $t7 -/* 01D15C 7001C55C 0018C880 */ sll $t9, $t8, 2 -/* 01D160 7001C560 0338C823 */ subu $t9, $t9, $t8 -/* 01D164 7001C564 0019C8C0 */ sll $t9, $t9, 3 -/* 01D168 7001C568 0338C821 */ addu $t9, $t9, $t8 -/* 01D16C 7001C56C 0019C880 */ sll $t9, $t9, 2 -/* 01D170 7001C570 032E2021 */ addu $a0, $t9, $t6 -/* 01D174 7001C574 00047C00 */ sll $t7, $a0, 0x10 -/* 01D178 7001C578 0C004DF0 */ jal alCents2Ratio -/* 01D17C 7001C57C 000F2403 */ sra $a0, $t7, 0x10 -/* 01D180 7001C580 E6000028 */ swc1 $f0, 0x28($s0) -/* 01D184 7001C584 8EF90000 */ lw $t9, ($s7) -/* 01D188 7001C588 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 01D18C 7001C58C 44812000 */ mtc1 $at, $f4 -/* 01D190 7001C590 932E000C */ lbu $t6, 0xc($t9) -/* 01D194 7001C594 A20E0030 */ sb $t6, 0x30($s0) -/* 01D198 7001C598 8EF80000 */ lw $t8, ($s7) -/* 01D19C 7001C59C 8E2F001C */ lw $t7, 0x1c($s1) -/* 01D1A0 7001C5A0 8F190000 */ lw $t9, ($t8) -/* 01D1A4 7001C5A4 A2000037 */ sb $zero, 0x37($s0) -/* 01D1A8 7001C5A8 01F97021 */ addu $t6, $t7, $t9 -/* 01D1AC 7001C5AC AE0E0024 */ sw $t6, 0x24($s0) -/* 01D1B0 7001C5B0 8E380060 */ lw $t8, 0x60($s1) -/* 01D1B4 7001C5B4 031E7821 */ addu $t7, $t8, $fp -/* 01D1B8 7001C5B8 8DF20000 */ lw $s2, ($t7) -/* 01D1BC 7001C5BC E7A4008C */ swc1 $f4, 0x8c($sp) -/* 01D1C0 7001C5C0 92460004 */ lbu $a2, 4($s2) -/* 01D1C4 7001C5C4 50C0001A */ beql $a2, $zero, .L7001C630 -/* 01D1C8 7001C5C8 4458F800 */ cfc1 $t8, $31 -/* 01D1CC 7001C5CC 8E220070 */ lw $v0, 0x70($s1) -/* 01D1D0 7001C5D0 50400017 */ beql $v0, $zero, .L7001C630 -/* 01D1D4 7001C5D4 4458F800 */ cfc1 $t8, $31 -/* 01D1D8 7001C5D8 92590006 */ lbu $t9, 6($s2) -/* 01D1DC 7001C5DC 92470005 */ lbu $a3, 5($s2) -/* 01D1E0 7001C5E0 27A40084 */ addiu $a0, $sp, 0x84 -/* 01D1E4 7001C5E4 AFB90010 */ sw $t9, 0x10($sp) -/* 01D1E8 7001C5E8 924E0007 */ lbu $t6, 7($s2) -/* 01D1EC 7001C5EC 27A5008C */ addiu $a1, $sp, 0x8c -/* 01D1F0 7001C5F0 0040F809 */ jalr $v0 -/* 01D1F4 7001C5F4 AFAE0014 */ sw $t6, 0x14($sp) -/* 01D1F8 7001C5F8 1040000C */ beqz $v0, .L7001C62C -/* 01D1FC 7001C5FC 24180016 */ li $t8, 22 -/* 01D200 7001C600 8FAF0084 */ lw $t7, 0x84($sp) -/* 01D204 7001C604 A7B800B4 */ sh $t8, 0xb4($sp) -/* 01D208 7001C608 AFB000B8 */ sw $s0, 0xb8($sp) -/* 01D20C 7001C60C 26240048 */ addiu $a0, $s1, 0x48 -/* 01D210 7001C610 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 01D214 7001C614 00403025 */ move $a2, $v0 -/* 01D218 7001C618 0C004BBF */ jal alEvtqPostEvent -/* 01D21C 7001C61C AFAF00BC */ sw $t7, 0xbc($sp) -/* 01D220 7001C620 92190037 */ lbu $t9, 0x37($s0) -/* 01D224 7001C624 372E0001 */ ori $t6, $t9, 1 -/* 01D228 7001C628 A20E0037 */ sb $t6, 0x37($s0) -.L7001C62C: -/* 01D22C 7001C62C 4458F800 */ cfc1 $t8, $31 -.L7001C630: -/* 01D230 7001C630 240F0001 */ li $t7, 1 -/* 01D234 7001C634 44CFF800 */ ctc1 $t7, $31 -/* 01D238 7001C638 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 01D23C 7001C63C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 01D240 7001C640 46003224 */ cvt.w.s $f8, $f6 -/* 01D244 7001C644 444FF800 */ cfc1 $t7, $31 -/* 01D248 7001C648 00000000 */ nop -/* 01D24C 7001C64C 31EF0078 */ andi $t7, $t7, 0x78 -/* 01D250 7001C650 51E00013 */ beql $t7, $zero, .L7001C6A0 -/* 01D254 7001C654 440F4000 */ mfc1 $t7, $f8 -/* 01D258 7001C658 44814000 */ mtc1 $at, $f8 -/* 01D25C 7001C65C 240F0001 */ li $t7, 1 -/* 01D260 7001C660 46083201 */ sub.s $f8, $f6, $f8 -/* 01D264 7001C664 44CFF800 */ ctc1 $t7, $31 -/* 01D268 7001C668 00000000 */ nop -/* 01D26C 7001C66C 46004224 */ cvt.w.s $f8, $f8 -/* 01D270 7001C670 444FF800 */ cfc1 $t7, $31 -/* 01D274 7001C674 00000000 */ nop -/* 01D278 7001C678 31EF0078 */ andi $t7, $t7, 0x78 -/* 01D27C 7001C67C 15E00005 */ bnez $t7, .L7001C694 -/* 01D280 7001C680 00000000 */ nop -/* 01D284 7001C684 440F4000 */ mfc1 $t7, $f8 -/* 01D288 7001C688 3C018000 */ lui $at, 0x8000 -/* 01D28C 7001C68C 10000007 */ b .L7001C6AC -/* 01D290 7001C690 01E17825 */ or $t7, $t7, $at -.L7001C694: -/* 01D294 7001C694 10000005 */ b .L7001C6AC -/* 01D298 7001C698 240FFFFF */ li $t7, -1 -/* 01D29C 7001C69C 440F4000 */ mfc1 $t7, $f8 -.L7001C6A0: -/* 01D2A0 7001C6A0 00000000 */ nop -/* 01D2A4 7001C6A4 05E0FFFB */ bltz $t7, .L7001C694 -/* 01D2A8 7001C6A8 00000000 */ nop -.L7001C6AC: -/* 01D2AC 7001C6AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01D2B0 7001C6B0 44815000 */ mtc1 $at, $f10 -/* 01D2B4 7001C6B4 A20F0036 */ sb $t7, 0x36($s0) -/* 01D2B8 7001C6B8 44D8F800 */ ctc1 $t8, $31 -/* 01D2BC 7001C6BC E7AA008C */ swc1 $f10, 0x8c($sp) -/* 01D2C0 7001C6C0 92460008 */ lbu $a2, 8($s2) -/* 01D2C4 7001C6C4 26350048 */ addiu $s5, $s1, 0x48 -/* 01D2C8 7001C6C8 50C0001B */ beql $a2, $zero, .L7001C738 -/* 01D2CC 7001C6CC C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 01D2D0 7001C6D0 8E220070 */ lw $v0, 0x70($s1) -/* 01D2D4 7001C6D4 50400018 */ beql $v0, $zero, .L7001C738 -/* 01D2D8 7001C6D8 C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 01D2DC 7001C6DC 9259000A */ lbu $t9, 0xa($s2) -/* 01D2E0 7001C6E0 92470009 */ lbu $a3, 9($s2) -/* 01D2E4 7001C6E4 27A40084 */ addiu $a0, $sp, 0x84 -/* 01D2E8 7001C6E8 AFB90010 */ sw $t9, 0x10($sp) -/* 01D2EC 7001C6EC 924E000B */ lbu $t6, 0xb($s2) -/* 01D2F0 7001C6F0 27A5008C */ addiu $a1, $sp, 0x8c -/* 01D2F4 7001C6F4 0040F809 */ jalr $v0 -/* 01D2F8 7001C6F8 AFAE0014 */ sw $t6, 0x14($sp) -/* 01D2FC 7001C6FC 1040000D */ beqz $v0, .L7001C734 -/* 01D300 7001C700 24180017 */ li $t8, 23 -/* 01D304 7001C704 8FAF0084 */ lw $t7, 0x84($sp) -/* 01D308 7001C708 A7B800B4 */ sh $t8, 0xb4($sp) -/* 01D30C 7001C70C AFB000B8 */ sw $s0, 0xb8($sp) -/* 01D310 7001C710 A3B600C0 */ sb $s6, 0xc0($sp) -/* 01D314 7001C714 02A02025 */ move $a0, $s5 -/* 01D318 7001C718 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 01D31C 7001C71C 00403025 */ move $a2, $v0 -/* 01D320 7001C720 0C004BBF */ jal alEvtqPostEvent -/* 01D324 7001C724 AFAF00BC */ sw $t7, 0xbc($sp) -/* 01D328 7001C728 92190037 */ lbu $t9, 0x37($s0) -/* 01D32C 7001C72C 372E0002 */ ori $t6, $t9, 2 -/* 01D330 7001C730 A20E0037 */ sb $t6, 0x37($s0) -.L7001C734: -/* 01D334 7001C734 C7A4008C */ lwc1 $f4, 0x8c($sp) -.L7001C738: -/* 01D338 7001C738 C6080028 */ lwc1 $f8, 0x28($s0) -/* 01D33C 7001C73C 02002025 */ move $a0, $s0 -/* 01D340 7001C740 E604002C */ swc1 $f4, 0x2c($s0) -/* 01D344 7001C744 8E380060 */ lw $t8, 0x60($s1) -/* 01D348 7001C748 C604002C */ lwc1 $f4, 0x2c($s0) -/* 01D34C 7001C74C 02202825 */ move $a1, $s1 -/* 01D350 7001C750 031E1021 */ addu $v0, $t8, $fp -/* 01D354 7001C754 C446000C */ lwc1 $f6, 0xc($v0) -/* 01D358 7001C758 9052000A */ lbu $s2, 0xa($v0) -/* 01D35C 7001C75C 46083282 */ mul.s $f10, $f6, $f8 -/* 01D360 7001C760 00000000 */ nop -/* 01D364 7001C764 46045502 */ mul.s $f20, $f10, $f4 -/* 01D368 7001C768 0C00708D */ jal __vsPan -/* 01D36C 7001C76C 00000000 */ nop -/* 01D370 7001C770 305400FF */ andi $s4, $v0, 0xff -/* 01D374 7001C774 02002025 */ move $a0, $s0 -/* 01D378 7001C778 0C006F85 */ jal __vsVol -/* 01D37C 7001C77C 02202825 */ move $a1, $s1 -/* 01D380 7001C780 8EEF0000 */ lw $t7, ($s7) -/* 01D384 7001C784 8E240014 */ lw $a0, 0x14($s1) -/* 01D388 7001C788 8EE60008 */ lw $a2, 8($s7) -/* 01D38C 7001C78C 8DF30000 */ lw $s3, ($t7) -/* 01D390 7001C790 4407A000 */ mfc1 $a3, $f20 -/* 01D394 7001C794 AFB20018 */ sw $s2, 0x18($sp) -/* 01D398 7001C798 AFB40014 */ sw $s4, 0x14($sp) -/* 01D39C 7001C79C AFA20010 */ sw $v0, 0x10($sp) -/* 01D3A0 7001C7A0 8FA50034 */ lw $a1, 0x34($sp) -/* 01D3A4 7001C7A4 0C007568 */ jal alSynStartVoiceParams -/* 01D3A8 7001C7A8 AFB3001C */ sw $s3, 0x1c($sp) -/* 01D3AC 7001C7AC 8FAE0034 */ lw $t6, 0x34($sp) -/* 01D3B0 7001C7B0 24190006 */ li $t9, 6 -/* 01D3B4 7001C7B4 A7B900B4 */ sh $t9, 0xb4($sp) -/* 01D3B8 7001C7B8 AFAE00B8 */ sw $t6, 0xb8($sp) -/* 01D3BC 7001C7BC 8EF80000 */ lw $t8, ($s7) -/* 01D3C0 7001C7C0 02A02025 */ move $a0, $s5 -/* 01D3C4 7001C7C4 27A500B4 */ addiu $a1, $sp, 0xb4 -/* 01D3C8 7001C7C8 930F000D */ lbu $t7, 0xd($t8) -/* 01D3CC 7001C7CC A3AF00C0 */ sb $t7, 0xc0($sp) -/* 01D3D0 7001C7D0 8EF90000 */ lw $t9, ($s7) -/* 01D3D4 7001C7D4 8F2E0004 */ lw $t6, 4($t9) -/* 01D3D8 7001C7D8 AFAE00BC */ sw $t6, 0xbc($sp) -/* 01D3DC 7001C7DC 8EF80000 */ lw $t8, ($s7) -/* 01D3E0 7001C7E0 8F130000 */ lw $s3, ($t8) -/* 01D3E4 7001C7E4 0C004BBF */ jal alEvtqPostEvent -/* 01D3E8 7001C7E8 02603025 */ move $a2, $s3 -/* 01D3EC 7001C7EC 1000011E */ b .L7001CC68 -/* 01D3F0 7001C7F0 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C7F4: -/* 01D3F4 7001C7F4 02202025 */ move $a0, $s1 -.L7001C7F8: -/* 01D3F8 7001C7F8 326500FF */ andi $a1, $s3, 0xff -/* 01D3FC 7001C7FC 0C00709F */ jal __lookupVoice -/* 01D400 7001C800 32C600FF */ andi $a2, $s6, 0xff -/* 01D404 7001C804 10400117 */ beqz $v0, .L7001CC64 -/* 01D408 7001C808 00408025 */ move $s0, $v0 -/* 01D40C 7001C80C 904F0035 */ lbu $t7, 0x35($v0) -/* 01D410 7001C810 24160002 */ li $s6, 2 -/* 01D414 7001C814 24190004 */ li $t9, 4 -/* 01D418 7001C818 16CF0003 */ bne $s6, $t7, .L7001C828 -/* 01D41C 7001C81C 02202025 */ move $a0, $s1 -/* 01D420 7001C820 10000110 */ b .L7001CC64 -/* 01D424 7001C824 A0590035 */ sb $t9, 0x35($v0) -.L7001C828: -/* 01D428 7001C828 8E0E0020 */ lw $t6, 0x20($s0) -/* 01D42C 7001C82C 241E0003 */ li $fp, 3 -/* 01D430 7001C830 A21E0035 */ sb $fp, 0x35($s0) -/* 01D434 7001C834 8DD80000 */ lw $t8, ($t6) -/* 01D438 7001C838 26050004 */ addiu $a1, $s0, 4 -/* 01D43C 7001C83C 0C006FA7 */ jal __seqpReleaseVoice -/* 01D440 7001C840 8F060008 */ lw $a2, 8($t8) -/* 01D444 7001C844 10000108 */ b .L7001CC68 -/* 01D448 7001C848 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C84C: -/* 01D44C 7001C84C 02202025 */ move $a0, $s1 -/* 01D450 7001C850 326500FF */ andi $a1, $s3, 0xff -/* 01D454 7001C854 0C00709F */ jal __lookupVoice -/* 01D458 7001C858 32C600FF */ andi $a2, $s6, 0xff -/* 01D45C 7001C85C 10400101 */ beqz $v0, .L7001CC64 -/* 01D460 7001C860 00408025 */ move $s0, $v0 -/* 01D464 7001C864 A0540033 */ sb $s4, 0x33($v0) -/* 01D468 7001C868 00402025 */ move $a0, $v0 -/* 01D46C 7001C86C 0C006F85 */ jal __vsVol -/* 01D470 7001C870 02202825 */ move $a1, $s1 -/* 01D474 7001C874 8E23001C */ lw $v1, 0x1c($s1) -/* 01D478 7001C878 8E190024 */ lw $t9, 0x24($s0) -/* 01D47C 7001C87C 00023400 */ sll $a2, $v0, 0x10 -/* 01D480 7001C880 00067C03 */ sra $t7, $a2, 0x10 -/* 01D484 7001C884 03232023 */ subu $a0, $t9, $v1 -/* 01D488 7001C888 04800003 */ bltz $a0, .L7001C898 -/* 01D48C 7001C88C 01E03025 */ move $a2, $t7 -/* 01D490 7001C890 10000002 */ b .L7001C89C -/* 01D494 7001C894 00801025 */ move $v0, $a0 -.L7001C898: -/* 01D498 7001C898 240203E8 */ li $v0, 1000 -.L7001C89C: -/* 01D49C 7001C89C 8E240014 */ lw $a0, 0x14($s1) -/* 01D4A0 7001C8A0 26050004 */ addiu $a1, $s0, 4 -/* 01D4A4 7001C8A4 0C004CE8 */ jal alSynSetVol -/* 01D4A8 7001C8A8 00403825 */ move $a3, $v0 -/* 01D4AC 7001C8AC 100000EE */ b .L7001CC68 -/* 01D4B0 7001C8B0 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C8B4: -/* 01D4B4 7001C8B4 8E300064 */ lw $s0, 0x64($s1) -/* 01D4B8 7001C8B8 520000EB */ beql $s0, $zero, .L7001CC68 -/* 01D4BC 7001C8BC 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D4C0 7001C8C0 02C09025 */ move $s2, $s6 -/* 01D4C4 7001C8C4 920E0031 */ lbu $t6, 0x31($s0) -.L7001C8C8: -/* 01D4C8 7001C8C8 02002025 */ move $a0, $s0 -/* 01D4CC 7001C8CC 02202825 */ move $a1, $s1 -/* 01D4D0 7001C8D0 564E0012 */ bnel $s2, $t6, .L7001C91C -/* 01D4D4 7001C8D4 8E100000 */ lw $s0, ($s0) -/* 01D4D8 7001C8D8 0C006F85 */ jal __vsVol -/* 01D4DC 7001C8DC A2130033 */ sb $s3, 0x33($s0) -/* 01D4E0 7001C8E0 8E23001C */ lw $v1, 0x1c($s1) -/* 01D4E4 7001C8E4 8E0F0024 */ lw $t7, 0x24($s0) -/* 01D4E8 7001C8E8 00023400 */ sll $a2, $v0, 0x10 -/* 01D4EC 7001C8EC 0006C403 */ sra $t8, $a2, 0x10 -/* 01D4F0 7001C8F0 01E32023 */ subu $a0, $t7, $v1 -/* 01D4F4 7001C8F4 04800003 */ bltz $a0, .L7001C904 -/* 01D4F8 7001C8F8 03003025 */ move $a2, $t8 -/* 01D4FC 7001C8FC 10000002 */ b .L7001C908 -/* 01D500 7001C900 00801025 */ move $v0, $a0 -.L7001C904: -/* 01D504 7001C904 240203E8 */ li $v0, 1000 -.L7001C908: -/* 01D508 7001C908 8E240014 */ lw $a0, 0x14($s1) -/* 01D50C 7001C90C 26050004 */ addiu $a1, $s0, 4 -/* 01D510 7001C910 0C004CE8 */ jal alSynSetVol -/* 01D514 7001C914 00403825 */ move $a3, $v0 -/* 01D518 7001C918 8E100000 */ lw $s0, ($s0) -.L7001C91C: -/* 01D51C 7001C91C 5600FFEA */ bnezl $s0, .L7001C8C8 -/* 01D520 7001C920 920E0031 */ lbu $t6, 0x31($s0) -/* 01D524 7001C924 100000D0 */ b .L7001CC68 -/* 01D528 7001C928 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C92C: -/* 01D52C 7001C92C 2A610041 */ slti $at, $s3, 0x41 -/* 01D530 7001C930 14200008 */ bnez $at, .L7001C954 -/* 01D534 7001C934 02601025 */ move $v0, $s3 -/* 01D538 7001C938 2401005B */ li $at, 91 -/* 01D53C 7001C93C 10410082 */ beq $v0, $at, .L7001CB48 -/* 01D540 7001C940 2401005D */ li $at, 93 -/* 01D544 7001C944 504100C8 */ beql $v0, $at, .L7001CC68 -/* 01D548 7001C948 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D54C 7001C94C 100000C6 */ b .L7001CC68 -/* 01D550 7001C950 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C954: -/* 01D554 7001C954 2841001C */ slti $at, $v0, 0x1c -/* 01D558 7001C958 14200006 */ bnez $at, .L7001C974 -/* 01D55C 7001C95C 2459FFF9 */ addiu $t9, $v0, -7 -/* 01D560 7001C960 24010040 */ li $at, 64 -/* 01D564 7001C964 5041004D */ beql $v0, $at, .L7001CA9C -/* 01D568 7001C968 8E2F0060 */ lw $t7, 0x60($s1) -/* 01D56C 7001C96C 100000BE */ b .L7001CC68 -/* 01D570 7001C970 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C974: -/* 01D574 7001C974 2F210015 */ sltiu $at, $t9, 0x15 -/* 01D578 7001C978 102000BA */ beqz $at, .L7001CC64 -/* 01D57C 7001C97C 0019C880 */ sll $t9, $t9, 2 -/* 01D580 7001C980 3C018003 */ lui $at, %hi(jpt_80029BD4) -/* 01D584 7001C984 00390821 */ addu $at, $at, $t9 -/* 01D588 7001C988 8C399BD4 */ lw $t9, %lo(jpt_80029BD4)($at) -/* 01D58C 7001C98C 03200008 */ jr $t9 -/* 01D590 7001C990 00000000 */ nop -.L7001C994: -/* 01D594 7001C994 8E2E0060 */ lw $t6, 0x60($s1) -/* 01D598 7001C998 0016C100 */ sll $t8, $s6, 4 -/* 01D59C 7001C99C 01D87821 */ addu $t7, $t6, $t8 -/* 01D5A0 7001C9A0 A1F40007 */ sb $s4, 7($t7) -/* 01D5A4 7001C9A4 8E300064 */ lw $s0, 0x64($s1) -/* 01D5A8 7001C9A8 520000AF */ beql $s0, $zero, .L7001CC68 -/* 01D5AC 7001C9AC 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D5B0 7001C9B0 02C09025 */ move $s2, $s6 -/* 01D5B4 7001C9B4 92190031 */ lbu $t9, 0x31($s0) -.L7001C9B8: -/* 01D5B8 7001C9B8 02002025 */ move $a0, $s0 -/* 01D5BC 7001C9BC 56590008 */ bnel $s2, $t9, .L7001C9E0 -/* 01D5C0 7001C9C0 8E100000 */ lw $s0, ($s0) -/* 01D5C4 7001C9C4 0C00708D */ jal __vsPan -/* 01D5C8 7001C9C8 02202825 */ move $a1, $s1 -/* 01D5CC 7001C9CC 8E240014 */ lw $a0, 0x14($s1) -/* 01D5D0 7001C9D0 26050004 */ addiu $a1, $s0, 4 -/* 01D5D4 7001C9D4 0C004D34 */ jal alSynSetPan -/* 01D5D8 7001C9D8 304600FF */ andi $a2, $v0, 0xff -/* 01D5DC 7001C9DC 8E100000 */ lw $s0, ($s0) -.L7001C9E0: -/* 01D5E0 7001C9E0 5600FFF5 */ bnezl $s0, .L7001C9B8 -/* 01D5E4 7001C9E4 92190031 */ lbu $t9, 0x31($s0) -/* 01D5E8 7001C9E8 1000009F */ b .L7001CC68 -/* 01D5EC 7001C9EC 8FBF0024 */ lw $ra, 0x24($sp) -.L7001C9F0: -/* 01D5F0 7001C9F0 8E2E0060 */ lw $t6, 0x60($s1) -/* 01D5F4 7001C9F4 0016C100 */ sll $t8, $s6, 4 -/* 01D5F8 7001C9F8 01D87821 */ addu $t7, $t6, $t8 -/* 01D5FC 7001C9FC A1F40009 */ sb $s4, 9($t7) -/* 01D600 7001CA00 8E300064 */ lw $s0, 0x64($s1) -/* 01D604 7001CA04 52000098 */ beql $s0, $zero, .L7001CC68 -/* 01D608 7001CA08 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D60C 7001CA0C 02C09025 */ move $s2, $s6 -/* 01D610 7001CA10 24130003 */ li $s3, 3 -/* 01D614 7001CA14 92190031 */ lbu $t9, 0x31($s0) -.L7001CA18: -/* 01D618 7001CA18 56590016 */ bnel $s2, $t9, .L7001CA74 -/* 01D61C 7001CA1C 8E100000 */ lw $s0, ($s0) -/* 01D620 7001CA20 920E0034 */ lbu $t6, 0x34($s0) -/* 01D624 7001CA24 02002025 */ move $a0, $s0 -/* 01D628 7001CA28 526E0012 */ beql $s3, $t6, .L7001CA74 -/* 01D62C 7001CA2C 8E100000 */ lw $s0, ($s0) -/* 01D630 7001CA30 0C006F85 */ jal __vsVol -/* 01D634 7001CA34 02202825 */ move $a1, $s1 -/* 01D638 7001CA38 8E23001C */ lw $v1, 0x1c($s1) -/* 01D63C 7001CA3C 8E0F0024 */ lw $t7, 0x24($s0) -/* 01D640 7001CA40 00023400 */ sll $a2, $v0, 0x10 -/* 01D644 7001CA44 0006C403 */ sra $t8, $a2, 0x10 -/* 01D648 7001CA48 01E32023 */ subu $a0, $t7, $v1 -/* 01D64C 7001CA4C 04800003 */ bltz $a0, .L7001CA5C -/* 01D650 7001CA50 03003025 */ move $a2, $t8 -/* 01D654 7001CA54 10000002 */ b .L7001CA60 -/* 01D658 7001CA58 00801025 */ move $v0, $a0 -.L7001CA5C: -/* 01D65C 7001CA5C 240203E8 */ li $v0, 1000 -.L7001CA60: -/* 01D660 7001CA60 8E240014 */ lw $a0, 0x14($s1) -/* 01D664 7001CA64 26050004 */ addiu $a1, $s0, 4 -/* 01D668 7001CA68 0C004CE8 */ jal alSynSetVol -/* 01D66C 7001CA6C 00403825 */ move $a3, $v0 -/* 01D670 7001CA70 8E100000 */ lw $s0, ($s0) -.L7001CA74: -/* 01D674 7001CA74 5600FFE8 */ bnezl $s0, .L7001CA18 -/* 01D678 7001CA78 92190031 */ lbu $t9, 0x31($s0) -/* 01D67C 7001CA7C 1000007A */ b .L7001CC68 -/* 01D680 7001CA80 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CA84: -/* 01D684 7001CA84 8E390060 */ lw $t9, 0x60($s1) -/* 01D688 7001CA88 00167100 */ sll $t6, $s6, 4 -/* 01D68C 7001CA8C 032EC021 */ addu $t8, $t9, $t6 -/* 01D690 7001CA90 10000074 */ b .L7001CC64 -/* 01D694 7001CA94 A3140008 */ sb $s4, 8($t8) -/* 01D698 7001CA98 8E2F0060 */ lw $t7, 0x60($s1) -.L7001CA9C: -/* 01D69C 7001CA9C 0016C900 */ sll $t9, $s6, 4 -/* 01D6A0 7001CAA0 01F97021 */ addu $t6, $t7, $t9 -/* 01D6A4 7001CAA4 A1D4000B */ sb $s4, 0xb($t6) -/* 01D6A8 7001CAA8 8E300064 */ lw $s0, 0x64($s1) -/* 01D6AC 7001CAAC 5200006E */ beql $s0, $zero, .L7001CC68 -/* 01D6B0 7001CAB0 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D6B4 7001CAB4 02C09025 */ move $s2, $s6 -/* 01D6B8 7001CAB8 24160002 */ li $s6, 2 -/* 01D6BC 7001CABC 241E0003 */ li $fp, 3 -/* 01D6C0 7001CAC0 24170004 */ li $s7, 4 -/* 01D6C4 7001CAC4 24150002 */ li $s5, 2 -/* 01D6C8 7001CAC8 24130003 */ li $s3, 3 -/* 01D6CC 7001CACC 92180031 */ lbu $t8, 0x31($s0) -.L7001CAD0: -/* 01D6D0 7001CAD0 56580019 */ bnel $s2, $t8, .L7001CB38 -/* 01D6D4 7001CAD4 8E100000 */ lw $s0, ($s0) -/* 01D6D8 7001CAD8 92020035 */ lbu $v0, 0x35($s0) -/* 01D6DC 7001CADC 2A810040 */ slti $at, $s4, 0x40 -/* 01D6E0 7001CAE0 52620015 */ beql $s3, $v0, .L7001CB38 -/* 01D6E4 7001CAE4 8E100000 */ lw $s0, ($s0) -/* 01D6E8 7001CAE8 14200005 */ bnez $at, .L7001CB00 -/* 01D6EC 7001CAEC 00000000 */ nop -/* 01D6F0 7001CAF0 54400011 */ bnezl $v0, .L7001CB38 -/* 01D6F4 7001CAF4 8E100000 */ lw $s0, ($s0) -/* 01D6F8 7001CAF8 1000000E */ b .L7001CB34 -/* 01D6FC 7001CAFC A2150035 */ sb $s5, 0x35($s0) -.L7001CB00: -/* 01D700 7001CB00 16C20003 */ bne $s6, $v0, .L7001CB10 -/* 01D704 7001CB04 00000000 */ nop -/* 01D708 7001CB08 1000000A */ b .L7001CB34 -/* 01D70C 7001CB0C A2000035 */ sb $zero, 0x35($s0) -.L7001CB10: -/* 01D710 7001CB10 56E20009 */ bnel $s7, $v0, .L7001CB38 -/* 01D714 7001CB14 8E100000 */ lw $s0, ($s0) -/* 01D718 7001CB18 8E0F0020 */ lw $t7, 0x20($s0) -/* 01D71C 7001CB1C A21E0035 */ sb $fp, 0x35($s0) -/* 01D720 7001CB20 02202025 */ move $a0, $s1 -/* 01D724 7001CB24 8DF90000 */ lw $t9, ($t7) -/* 01D728 7001CB28 26050004 */ addiu $a1, $s0, 4 -/* 01D72C 7001CB2C 0C006FA7 */ jal __seqpReleaseVoice -/* 01D730 7001CB30 8F260008 */ lw $a2, 8($t9) -.L7001CB34: -/* 01D734 7001CB34 8E100000 */ lw $s0, ($s0) -.L7001CB38: -/* 01D738 7001CB38 5600FFE5 */ bnezl $s0, .L7001CAD0 -/* 01D73C 7001CB3C 92180031 */ lbu $t8, 0x31($s0) -/* 01D740 7001CB40 10000049 */ b .L7001CC68 -/* 01D744 7001CB44 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CB48: -/* 01D748 7001CB48 8E2E0060 */ lw $t6, 0x60($s1) -/* 01D74C 7001CB4C 0016C100 */ sll $t8, $s6, 4 -/* 01D750 7001CB50 01D87821 */ addu $t7, $t6, $t8 -/* 01D754 7001CB54 A1F4000A */ sb $s4, 0xa($t7) -/* 01D758 7001CB58 8E300064 */ lw $s0, 0x64($s1) -/* 01D75C 7001CB5C 52000042 */ beql $s0, $zero, .L7001CC68 -/* 01D760 7001CB60 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D764 7001CB64 02C09025 */ move $s2, $s6 -/* 01D768 7001CB68 92190031 */ lbu $t9, 0x31($s0) -.L7001CB6C: -/* 01D76C 7001CB6C 26050004 */ addiu $a1, $s0, 4 -/* 01D770 7001CB70 328600FF */ andi $a2, $s4, 0xff -/* 01D774 7001CB74 56590004 */ bnel $s2, $t9, .L7001CB88 -/* 01D778 7001CB78 8E100000 */ lw $s0, ($s0) -/* 01D77C 7001CB7C 0C004D7C */ jal alSynSetFXMix -/* 01D780 7001CB80 8E240014 */ lw $a0, 0x14($s1) -/* 01D784 7001CB84 8E100000 */ lw $s0, ($s0) -.L7001CB88: -/* 01D788 7001CB88 5600FFF8 */ bnezl $s0, .L7001CB6C -/* 01D78C 7001CB8C 92190031 */ lbu $t9, 0x31($s0) -/* 01D790 7001CB90 10000035 */ b .L7001CC68 -/* 01D794 7001CB94 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CB98: -/* 01D798 7001CB98 8E220020 */ lw $v0, 0x20($s1) -/* 01D79C 7001CB9C 0013C080 */ sll $t8, $s3, 2 -/* 01D7A0 7001CBA0 02202025 */ move $a0, $s1 -/* 01D7A4 7001CBA4 844E0000 */ lh $t6, ($v0) -/* 01D7A8 7001CBA8 02C03025 */ move $a2, $s6 -/* 01D7AC 7001CBAC 00587821 */ addu $t7, $v0, $t8 -/* 01D7B0 7001CBB0 026E082A */ slt $at, $s3, $t6 -/* 01D7B4 7001CBB4 5020002C */ beql $at, $zero, .L7001CC68 -/* 01D7B8 7001CBB8 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D7BC 7001CBBC 0C006F18 */ jal __setInstChanState -/* 01D7C0 7001CBC0 8DE5000C */ lw $a1, 0xc($t7) -/* 01D7C4 7001CBC4 10000028 */ b .L7001CC68 -/* 01D7C8 7001CBC8 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CBCC: -/* 01D7CC 7001CBCC 8E390060 */ lw $t9, 0x60($s1) -/* 01D7D0 7001CBD0 0016F100 */ sll $fp, $s6, 4 -/* 01D7D4 7001CBD4 001479C0 */ sll $t7, $s4, 7 -/* 01D7D8 7001CBD8 033E7021 */ addu $t6, $t9, $fp -/* 01D7DC 7001CBDC 85D80004 */ lh $t8, 4($t6) -/* 01D7E0 7001CBE0 01F3C821 */ addu $t9, $t7, $s3 -/* 01D7E4 7001CBE4 272EE000 */ addiu $t6, $t9, -0x2000 -/* 01D7E8 7001CBE8 030E0019 */ multu $t8, $t6 -/* 01D7EC 7001CBEC 00002012 */ mflo $a0 -/* 01D7F0 7001CBF0 04810003 */ bgez $a0, .L7001CC00 -/* 01D7F4 7001CBF4 00047B43 */ sra $t7, $a0, 0xd -/* 01D7F8 7001CBF8 24811FFF */ addiu $at, $a0, 0x1fff -/* 01D7FC 7001CBFC 00017B43 */ sra $t7, $at, 0xd -.L7001CC00: -/* 01D800 7001CC00 0C004DF0 */ jal alCents2Ratio -/* 01D804 7001CC04 01E02025 */ move $a0, $t7 -/* 01D808 7001CC08 8E390060 */ lw $t9, 0x60($s1) -/* 01D80C 7001CC0C 46000506 */ mov.s $f20, $f0 -/* 01D810 7001CC10 033EC021 */ addu $t8, $t9, $fp -/* 01D814 7001CC14 E700000C */ swc1 $f0, 0xc($t8) -/* 01D818 7001CC18 8E300064 */ lw $s0, 0x64($s1) -/* 01D81C 7001CC1C 52000012 */ beql $s0, $zero, .L7001CC68 -/* 01D820 7001CC20 8FBF0024 */ lw $ra, 0x24($sp) -/* 01D824 7001CC24 02C09025 */ move $s2, $s6 -/* 01D828 7001CC28 920E0031 */ lbu $t6, 0x31($s0) -.L7001CC2C: -/* 01D82C 7001CC2C 564E000B */ bnel $s2, $t6, .L7001CC5C -/* 01D830 7001CC30 8E100000 */ lw $s0, ($s0) -/* 01D834 7001CC34 C6060028 */ lwc1 $f6, 0x28($s0) -/* 01D838 7001CC38 C60A002C */ lwc1 $f10, 0x2c($s0) -/* 01D83C 7001CC3C 8E240014 */ lw $a0, 0x14($s1) -/* 01D840 7001CC40 46143202 */ mul.s $f8, $f6, $f20 -/* 01D844 7001CC44 26050004 */ addiu $a1, $s0, 4 -/* 01D848 7001CC48 460A4102 */ mul.s $f4, $f8, $f10 -/* 01D84C 7001CC4C 44062000 */ mfc1 $a2, $f4 -/* 01D850 7001CC50 0C004D58 */ jal alSynSetPitch -/* 01D854 7001CC54 00000000 */ nop -/* 01D858 7001CC58 8E100000 */ lw $s0, ($s0) -.L7001CC5C: -/* 01D85C 7001CC5C 5600FFF3 */ bnezl $s0, .L7001CC2C -/* 01D860 7001CC60 920E0031 */ lbu $t6, 0x31($s0) -.L7001CC64: -/* 01D864 7001CC64 8FBF0024 */ lw $ra, 0x24($sp) -.L7001CC68: -/* 01D868 7001CC68 27BD00E0 */ addiu $sp, $sp, 0xe0 -/* 01D86C 7001CC6C 03E00008 */ jr $ra -/* 01D870 7001CC70 00000000 */ nop - -/* 01D874 7001CC74 03E00008 */ jr $ra -/* 01D878 7001CC78 00000000 */ nop - -glabel __seqpVoiceHandler -/* 01D87C 7001CC7C 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 01D880 7001CC80 AFB50034 */ sw $s5, 0x34($sp) -/* 01D884 7001CC84 AFB20028 */ sw $s2, 0x28($sp) -/* 01D888 7001CC88 248E0038 */ addiu $t6, $a0, 0x38 -/* 01D88C 7001CC8C 00809025 */ move $s2, $a0 -/* 01D890 7001CC90 AFBF0044 */ sw $ra, 0x44($sp) -/* 01D894 7001CC94 AFBE0040 */ sw $fp, 0x40($sp) -/* 01D898 7001CC98 AFB7003C */ sw $s7, 0x3c($sp) -/* 01D89C 7001CC9C AFB60038 */ sw $s6, 0x38($sp) -/* 01D8A0 7001CCA0 AFB40030 */ sw $s4, 0x30($sp) -/* 01D8A4 7001CCA4 AFB3002C */ sw $s3, 0x2c($sp) -/* 01D8A8 7001CCA8 AFB10024 */ sw $s1, 0x24($sp) -/* 01D8AC 7001CCAC AFB00020 */ sw $s0, 0x20($sp) -/* 01D8B0 7001CCB0 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 01D8B4 7001CCB4 AFAE0050 */ sw $t6, 0x50($sp) -/* 01D8B8 7001CCB8 24950048 */ addiu $s5, $a0, 0x48 -.L7001CCBC: -/* 01D8BC 7001CCBC 964F0038 */ lhu $t7, 0x38($s2) -/* 01D8C0 7001CCC0 2DE10018 */ sltiu $at, $t7, 0x18 -/* 01D8C4 7001CCC4 10200161 */ beqz $at, .L7001D24C -/* 01D8C8 7001CCC8 000F7880 */ sll $t7, $t7, 2 -/* 01D8CC 7001CCCC 3C018003 */ lui $at, %hi(jpt_80029C28) -/* 01D8D0 7001CCD0 002F0821 */ addu $at, $at, $t7 -/* 01D8D4 7001CCD4 8C2F9C28 */ lw $t7, %lo(jpt_80029C28)($at) -/* 01D8D8 7001CCD8 01E00008 */ jr $t7 -/* 01D8DC 7001CCDC 00000000 */ nop -.L7001CCE0: -/* 01D8E0 7001CCE0 8E440018 */ lw $a0, 0x18($s2) -/* 01D8E4 7001CCE4 5080015A */ beql $a0, $zero, .L7001D250 -/* 01D8E8 7001CCE8 02A02025 */ move $a0, $s5 -/* 01D8EC 7001CCEC 0C00816D */ jal alSeqNextEvent -/* 01D8F0 7001CCF0 27A50088 */ addiu $a1, $sp, 0x88 -/* 01D8F4 7001CCF4 87A20088 */ lh $v0, 0x88($sp) -/* 01D8F8 7001CCF8 24010001 */ li $at, 1 -/* 01D8FC 7001CCFC 02408825 */ move $s1, $s2 -/* 01D900 7001CD00 10410009 */ beq $v0, $at, .L7001CD28 -/* 01D904 7001CD04 27A40088 */ addiu $a0, $sp, 0x88 -/* 01D908 7001CD08 24010003 */ li $at, 3 -/* 01D90C 7001CD0C 1041000F */ beq $v0, $at, .L7001CD4C -/* 01D910 7001CD10 02402825 */ move $a1, $s2 -/* 01D914 7001CD14 24010004 */ li $at, 4 -/* 01D918 7001CD18 10410012 */ beq $v0, $at, .L7001CD64 -/* 01D91C 7001CD1C 24180002 */ li $t8, 2 -/* 01D920 7001CD20 1000014B */ b .L7001D250 -/* 01D924 7001CD24 02A02025 */ move $a0, $s5 -.L7001CD28: -/* 01D928 7001CD28 AFB200D0 */ sw $s2, 0xd0($sp) -/* 01D92C 7001CD2C 0C007117 */ jal __handleMIDIMsg -/* 01D930 7001CD30 AFB5004C */ sw $s5, 0x4c($sp) -/* 01D934 7001CD34 8FB200D0 */ lw $s2, 0xd0($sp) -/* 01D938 7001CD38 8FB5004C */ lw $s5, 0x4c($sp) -/* 01D93C 7001CD3C 0C007038 */ jal __postNextSeqEvent -/* 01D940 7001CD40 02402025 */ move $a0, $s2 -/* 01D944 7001CD44 10000142 */ b .L7001D250 -/* 01D948 7001CD48 02A02025 */ move $a0, $s5 -.L7001CD4C: -/* 01D94C 7001CD4C 0C00706F */ jal __handleMetaMsg -/* 01D950 7001CD50 27A40088 */ addiu $a0, $sp, 0x88 -/* 01D954 7001CD54 0C007038 */ jal __postNextSeqEvent -/* 01D958 7001CD58 02402025 */ move $a0, $s2 -/* 01D95C 7001CD5C 1000013C */ b .L7001D250 -/* 01D960 7001CD60 02A02025 */ move $a0, $s5 -.L7001CD64: -/* 01D964 7001CD64 AE58002C */ sw $t8, 0x2c($s2) -/* 01D968 7001CD68 24190010 */ li $t9, 16 -/* 01D96C 7001CD6C 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 01D970 7001CD70 A7B90088 */ sh $t9, 0x88($sp) -/* 01D974 7001CD74 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 01D978 7001CD78 02A02025 */ move $a0, $s5 -/* 01D97C 7001CD7C 0C004BBF */ jal alEvtqPostEvent -/* 01D980 7001CD80 27A50088 */ addiu $a1, $sp, 0x88 -/* 01D984 7001CD84 10000132 */ b .L7001D250 -/* 01D988 7001CD88 02A02025 */ move $a0, $s5 -.L7001CD8C: -/* 01D98C 7001CD8C 240E0009 */ li $t6, 9 -/* 01D990 7001CD90 A7AE00BC */ sh $t6, 0xbc($sp) -/* 01D994 7001CD94 8E46005C */ lw $a2, 0x5c($s2) -/* 01D998 7001CD98 02A02025 */ move $a0, $s5 -/* 01D99C 7001CD9C 0C004BBF */ jal alEvtqPostEvent -/* 01D9A0 7001CDA0 27A500BC */ addiu $a1, $sp, 0xbc -/* 01D9A4 7001CDA4 1000012A */ b .L7001D250 -/* 01D9A8 7001CDA8 02A02025 */ move $a0, $s5 -.L7001CDAC: -/* 01D9AC 7001CDAC 8E50003C */ lw $s0, 0x3c($s2) -/* 01D9B0 7001CDB0 8E440014 */ lw $a0, 0x14($s2) -/* 01D9B4 7001CDB4 0C004DA4 */ jal alSynStopVoice -/* 01D9B8 7001CDB8 02002825 */ move $a1, $s0 -/* 01D9BC 7001CDBC 8E440014 */ lw $a0, 0x14($s2) -/* 01D9C0 7001CDC0 0C004DC4 */ jal alSynFreeVoice -/* 01D9C4 7001CDC4 02002825 */ move $a1, $s0 -/* 01D9C8 7001CDC8 8E110010 */ lw $s1, 0x10($s0) -/* 01D9CC 7001CDCC 02402025 */ move $a0, $s2 -/* 01D9D0 7001CDD0 922F0037 */ lbu $t7, 0x37($s1) -/* 01D9D4 7001CDD4 51E00004 */ beql $t7, $zero, .L7001CDE8 -/* 01D9D8 7001CDD8 02402025 */ move $a0, $s2 -/* 01D9DC 7001CDDC 0C0074A8 */ jal __seqpStopOsc -/* 01D9E0 7001CDE0 02202825 */ move $a1, $s1 -/* 01D9E4 7001CDE4 02402025 */ move $a0, $s2 -.L7001CDE8: -/* 01D9E8 7001CDE8 0C00701C */ jal __unmapVoice -/* 01D9EC 7001CDEC 02002825 */ move $a1, $s0 -/* 01D9F0 7001CDF0 10000117 */ b .L7001D250 -/* 01D9F4 7001CDF4 02A02025 */ move $a0, $s5 -.L7001CDF8: -/* 01D9F8 7001CDF8 8E50003C */ lw $s0, 0x3c($s2) -/* 01D9FC 7001CDFC 24190001 */ li $t9, 1 -/* 01DA00 7001CE00 8E110010 */ lw $s1, 0x10($s0) -/* 01DA04 7001CE04 92380034 */ lbu $t8, 0x34($s1) -/* 01DA08 7001CE08 57000003 */ bnezl $t8, .L7001CE18 -/* 01DA0C 7001CE0C 924E0044 */ lbu $t6, 0x44($s2) -/* 01DA10 7001CE10 A2390034 */ sb $t9, 0x34($s1) -/* 01DA14 7001CE14 924E0044 */ lbu $t6, 0x44($s2) -.L7001CE18: -/* 01DA18 7001CE18 8E530040 */ lw $s3, 0x40($s2) -/* 01DA1C 7001CE1C 02202025 */ move $a0, $s1 -/* 01DA20 7001CE20 A22E0030 */ sb $t6, 0x30($s1) -/* 01DA24 7001CE24 8E4F001C */ lw $t7, 0x1c($s2) -/* 01DA28 7001CE28 02402825 */ move $a1, $s2 -/* 01DA2C 7001CE2C 01F3C021 */ addu $t8, $t7, $s3 -/* 01DA30 7001CE30 0C006F85 */ jal __vsVol -/* 01DA34 7001CE34 AE380024 */ sw $t8, 0x24($s1) -/* 01DA38 7001CE38 00023400 */ sll $a2, $v0, 0x10 -/* 01DA3C 7001CE3C 0006CC03 */ sra $t9, $a2, 0x10 -/* 01DA40 7001CE40 03203025 */ move $a2, $t9 -/* 01DA44 7001CE44 8E440014 */ lw $a0, 0x14($s2) -/* 01DA48 7001CE48 02002825 */ move $a1, $s0 -/* 01DA4C 7001CE4C 0C004CE8 */ jal alSynSetVol -/* 01DA50 7001CE50 02603825 */ move $a3, $s3 -/* 01DA54 7001CE54 100000FE */ b .L7001D250 -/* 01DA58 7001CE58 02A02025 */ move $a0, $s5 -.L7001CE5C: -/* 01DA5C 7001CE5C 8E590074 */ lw $t9, 0x74($s2) -/* 01DA60 7001CE60 8E540040 */ lw $s4, 0x40($s2) -/* 01DA64 7001CE64 8E51003C */ lw $s1, 0x3c($s2) -/* 01DA68 7001CE68 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 01DA6C 7001CE6C 0320F809 */ jalr $t9 -/* 01DA70 7001CE70 02802025 */ move $a0, $s4 -/* 01DA74 7001CE74 444EF800 */ cfc1 $t6, $31 -/* 01DA78 7001CE78 240F0001 */ li $t7, 1 -/* 01DA7C 7001CE7C 44CFF800 */ ctc1 $t7, $31 -/* 01DA80 7001CE80 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 01DA84 7001CE84 00409825 */ move $s3, $v0 -/* 01DA88 7001CE88 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 01DA8C 7001CE8C 460021A4 */ cvt.w.s $f6, $f4 -/* 01DA90 7001CE90 02202025 */ move $a0, $s1 -/* 01DA94 7001CE94 02402825 */ move $a1, $s2 -/* 01DA98 7001CE98 444FF800 */ cfc1 $t7, $31 -/* 01DA9C 7001CE9C 00000000 */ nop -/* 01DAA0 7001CEA0 31EF0078 */ andi $t7, $t7, 0x78 -/* 01DAA4 7001CEA4 51E00013 */ beql $t7, $zero, .L7001CEF4 -/* 01DAA8 7001CEA8 440F3000 */ mfc1 $t7, $f6 -/* 01DAAC 7001CEAC 44813000 */ mtc1 $at, $f6 -/* 01DAB0 7001CEB0 240F0001 */ li $t7, 1 -/* 01DAB4 7001CEB4 46062181 */ sub.s $f6, $f4, $f6 -/* 01DAB8 7001CEB8 44CFF800 */ ctc1 $t7, $31 -/* 01DABC 7001CEBC 00000000 */ nop -/* 01DAC0 7001CEC0 460031A4 */ cvt.w.s $f6, $f6 -/* 01DAC4 7001CEC4 444FF800 */ cfc1 $t7, $31 -/* 01DAC8 7001CEC8 00000000 */ nop -/* 01DACC 7001CECC 31EF0078 */ andi $t7, $t7, 0x78 -/* 01DAD0 7001CED0 15E00005 */ bnez $t7, .L7001CEE8 -/* 01DAD4 7001CED4 00000000 */ nop -/* 01DAD8 7001CED8 440F3000 */ mfc1 $t7, $f6 -/* 01DADC 7001CEDC 3C018000 */ lui $at, 0x8000 -/* 01DAE0 7001CEE0 10000007 */ b .L7001CF00 -/* 01DAE4 7001CEE4 01E17825 */ or $t7, $t7, $at -.L7001CEE8: -/* 01DAE8 7001CEE8 10000005 */ b .L7001CF00 -/* 01DAEC 7001CEEC 240FFFFF */ li $t7, -1 -/* 01DAF0 7001CEF0 440F3000 */ mfc1 $t7, $f6 -.L7001CEF4: -/* 01DAF4 7001CEF4 00000000 */ nop -/* 01DAF8 7001CEF8 05E0FFFB */ bltz $t7, .L7001CEE8 -/* 01DAFC 7001CEFC 00000000 */ nop -.L7001CF00: -/* 01DB00 7001CF00 44CEF800 */ ctc1 $t6, $31 -/* 01DB04 7001CF04 0C006F85 */ jal __vsVol -/* 01DB08 7001CF08 A22F0036 */ sb $t7, 0x36($s1) -/* 01DB0C 7001CF0C 8E43001C */ lw $v1, 0x1c($s2) -/* 01DB10 7001CF10 8E390024 */ lw $t9, 0x24($s1) -/* 01DB14 7001CF14 00023400 */ sll $a2, $v0, 0x10 -/* 01DB18 7001CF18 0006C403 */ sra $t8, $a2, 0x10 -/* 01DB1C 7001CF1C 03232023 */ subu $a0, $t9, $v1 -/* 01DB20 7001CF20 04800003 */ bltz $a0, .L7001CF30 -/* 01DB24 7001CF24 03003025 */ move $a2, $t8 -/* 01DB28 7001CF28 10000002 */ b .L7001CF34 -/* 01DB2C 7001CF2C 00801025 */ move $v0, $a0 -.L7001CF30: -/* 01DB30 7001CF30 240203E8 */ li $v0, 1000 -.L7001CF34: -/* 01DB34 7001CF34 8E440014 */ lw $a0, 0x14($s2) -/* 01DB38 7001CF38 26250004 */ addiu $a1, $s1, 4 -/* 01DB3C 7001CF3C 0C004CE8 */ jal alSynSetVol -/* 01DB40 7001CF40 00403825 */ move $a3, $v0 -/* 01DB44 7001CF44 240E0016 */ li $t6, 22 -/* 01DB48 7001CF48 A7AE00BC */ sh $t6, 0xbc($sp) -/* 01DB4C 7001CF4C AFB100C0 */ sw $s1, 0xc0($sp) -/* 01DB50 7001CF50 AFB400C4 */ sw $s4, 0xc4($sp) -/* 01DB54 7001CF54 02A02025 */ move $a0, $s5 -/* 01DB58 7001CF58 27A500BC */ addiu $a1, $sp, 0xbc -/* 01DB5C 7001CF5C 0C004BBF */ jal alEvtqPostEvent -/* 01DB60 7001CF60 02603025 */ move $a2, $s3 -/* 01DB64 7001CF64 100000BA */ b .L7001D250 -/* 01DB68 7001CF68 02A02025 */ move $a0, $s5 -.L7001CF6C: -/* 01DB6C 7001CF6C 8E590074 */ lw $t9, 0x74($s2) -/* 01DB70 7001CF70 8E540040 */ lw $s4, 0x40($s2) -/* 01DB74 7001CF74 8E51003C */ lw $s1, 0x3c($s2) -/* 01DB78 7001CF78 92500044 */ lbu $s0, 0x44($s2) -/* 01DB7C 7001CF7C 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 01DB80 7001CF80 0320F809 */ jalr $t9 -/* 01DB84 7001CF84 02802025 */ move $a0, $s4 -/* 01DB88 7001CF88 C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 01DB8C 7001CF8C C6240028 */ lwc1 $f4, 0x28($s1) -/* 01DB90 7001CF90 0010C100 */ sll $t8, $s0, 4 -/* 01DB94 7001CF94 E628002C */ swc1 $f8, 0x2c($s1) -/* 01DB98 7001CF98 C626002C */ lwc1 $f6, 0x2c($s1) -/* 01DB9C 7001CF9C 8E4F0060 */ lw $t7, 0x60($s2) -/* 01DBA0 7001CFA0 00409825 */ move $s3, $v0 -/* 01DBA4 7001CFA4 46062202 */ mul.s $f8, $f4, $f6 -/* 01DBA8 7001CFA8 01F87021 */ addu $t6, $t7, $t8 -/* 01DBAC 7001CFAC C5CA000C */ lwc1 $f10, 0xc($t6) -/* 01DBB0 7001CFB0 8E440014 */ lw $a0, 0x14($s2) -/* 01DBB4 7001CFB4 26250004 */ addiu $a1, $s1, 4 -/* 01DBB8 7001CFB8 46085102 */ mul.s $f4, $f10, $f8 -/* 01DBBC 7001CFBC 44062000 */ mfc1 $a2, $f4 -/* 01DBC0 7001CFC0 0C004D58 */ jal alSynSetPitch -/* 01DBC4 7001CFC4 00000000 */ nop -/* 01DBC8 7001CFC8 24190017 */ li $t9, 23 -/* 01DBCC 7001CFCC A7B900BC */ sh $t9, 0xbc($sp) -/* 01DBD0 7001CFD0 AFB100C0 */ sw $s1, 0xc0($sp) -/* 01DBD4 7001CFD4 AFB400C4 */ sw $s4, 0xc4($sp) -/* 01DBD8 7001CFD8 A3B000C8 */ sb $s0, 0xc8($sp) -/* 01DBDC 7001CFDC 02A02025 */ move $a0, $s5 -/* 01DBE0 7001CFE0 27A500BC */ addiu $a1, $sp, 0xbc -/* 01DBE4 7001CFE4 0C004BBF */ jal alEvtqPostEvent -/* 01DBE8 7001CFE8 02603025 */ move $a2, $s3 -/* 01DBEC 7001CFEC 10000098 */ b .L7001D250 -/* 01DBF0 7001CFF0 02A02025 */ move $a0, $s5 -.L7001CFF4: -/* 01DBF4 7001CFF4 02408825 */ move $s1, $s2 -/* 01DBF8 7001CFF8 8FA40050 */ lw $a0, 0x50($sp) -/* 01DBFC 7001CFFC AFB200D0 */ sw $s2, 0xd0($sp) -/* 01DC00 7001D000 0C007117 */ jal __handleMIDIMsg -/* 01DC04 7001D004 AFB5004C */ sw $s5, 0x4c($sp) -/* 01DC08 7001D008 8FB200D0 */ lw $s2, 0xd0($sp) -/* 01DC0C 7001D00C 1000008F */ b .L7001D24C -/* 01DC10 7001D010 8FB5004C */ lw $s5, 0x4c($sp) -.L7001D014: -/* 01DC14 7001D014 02402825 */ move $a1, $s2 -/* 01DC18 7001D018 0C00706F */ jal __handleMetaMsg -/* 01DC1C 7001D01C 8FA40050 */ lw $a0, 0x50($sp) -/* 01DC20 7001D020 1000008B */ b .L7001D250 -/* 01DC24 7001D024 02A02025 */ move $a0, $s5 -.L7001D028: -/* 01DC28 7001D028 8E4F002C */ lw $t7, 0x2c($s2) -/* 01DC2C 7001D02C 24010001 */ li $at, 1 -/* 01DC30 7001D030 24180001 */ li $t8, 1 -/* 01DC34 7001D034 11E10085 */ beq $t7, $at, .L7001D24C -/* 01DC38 7001D038 02402025 */ move $a0, $s2 -/* 01DC3C 7001D03C 0C007038 */ jal __postNextSeqEvent -/* 01DC40 7001D040 AE58002C */ sw $t8, 0x2c($s2) -/* 01DC44 7001D044 10000082 */ b .L7001D250 -/* 01DC48 7001D048 02A02025 */ move $a0, $s5 -.L7001D04C: -/* 01DC4C 7001D04C 8E4E002C */ lw $t6, 0x2c($s2) -/* 01DC50 7001D050 24010002 */ li $at, 2 -/* 01DC54 7001D054 55C1007E */ bnel $t6, $at, .L7001D250 -/* 01DC58 7001D058 02A02025 */ move $a0, $s5 -/* 01DC5C 7001D05C 8E510064 */ lw $s1, 0x64($s2) -/* 01DC60 7001D060 12200013 */ beqz $s1, .L7001D0B0 -/* 01DC64 7001D064 26300004 */ addiu $s0, $s1, 4 -.L7001D068: -/* 01DC68 7001D068 02002825 */ move $a1, $s0 -/* 01DC6C 7001D06C 0C004DA4 */ jal alSynStopVoice -/* 01DC70 7001D070 8E440014 */ lw $a0, 0x14($s2) -/* 01DC74 7001D074 8E440014 */ lw $a0, 0x14($s2) -/* 01DC78 7001D078 0C004DC4 */ jal alSynFreeVoice -/* 01DC7C 7001D07C 02002825 */ move $a1, $s0 -/* 01DC80 7001D080 92390037 */ lbu $t9, 0x37($s1) -/* 01DC84 7001D084 02402025 */ move $a0, $s2 -/* 01DC88 7001D088 53200004 */ beql $t9, $zero, .L7001D09C -/* 01DC8C 7001D08C 02402025 */ move $a0, $s2 -/* 01DC90 7001D090 0C0074A8 */ jal __seqpStopOsc -/* 01DC94 7001D094 02202825 */ move $a1, $s1 -/* 01DC98 7001D098 02402025 */ move $a0, $s2 -.L7001D09C: -/* 01DC9C 7001D09C 0C00701C */ jal __unmapVoice -/* 01DCA0 7001D0A0 02002825 */ move $a1, $s0 -/* 01DCA4 7001D0A4 8E510064 */ lw $s1, 0x64($s2) -/* 01DCA8 7001D0A8 5620FFEF */ bnezl $s1, .L7001D068 -/* 01DCAC 7001D0AC 26300004 */ addiu $s0, $s1, 4 -.L7001D0B0: -/* 01DCB0 7001D0B0 AE40001C */ sw $zero, 0x1c($s2) -/* 01DCB4 7001D0B4 10000065 */ b .L7001D24C -/* 01DCB8 7001D0B8 AE40002C */ sw $zero, 0x2c($s2) -.L7001D0BC: -/* 01DCBC 7001D0BC 8E4F002C */ lw $t7, 0x2c($s2) -/* 01DCC0 7001D0C0 24010001 */ li $at, 1 -/* 01DCC4 7001D0C4 02A02025 */ move $a0, $s5 -/* 01DCC8 7001D0C8 55E10061 */ bnel $t7, $at, .L7001D250 -/* 01DCCC 7001D0CC 02A02025 */ move $a0, $s5 -/* 01DCD0 7001D0D0 0C004B78 */ jal alEvtqFlushType -/* 01DCD4 7001D0D4 00002825 */ move $a1, $zero -/* 01DCD8 7001D0D8 02A02025 */ move $a0, $s5 -/* 01DCDC 7001D0DC 0C004B78 */ jal alEvtqFlushType -/* 01DCE0 7001D0E0 24050002 */ li $a1, 2 -/* 01DCE4 7001D0E4 8E510064 */ lw $s1, 0x64($s2) -/* 01DCE8 7001D0E8 1220000D */ beqz $s1, .L7001D120 -/* 01DCEC 7001D0EC 26300004 */ addiu $s0, $s1, 4 -.L7001D0F0: -/* 01DCF0 7001D0F0 02002825 */ move $a1, $s0 -/* 01DCF4 7001D0F4 02402025 */ move $a0, $s2 -/* 01DCF8 7001D0F8 0C006FF2 */ jal __voiceNeedsNoteKill -/* 01DCFC 7001D0FC 3406C350 */ li $a2, 50000 -/* 01DD00 7001D100 10400004 */ beqz $v0, .L7001D114 -/* 01DD04 7001D104 02402025 */ move $a0, $s2 -/* 01DD08 7001D108 02002825 */ move $a1, $s0 -/* 01DD0C 7001D10C 0C006FA7 */ jal __seqpReleaseVoice -/* 01DD10 7001D110 3406C350 */ li $a2, 50000 -.L7001D114: -/* 01DD14 7001D114 8E310000 */ lw $s1, ($s1) -/* 01DD18 7001D118 5620FFF5 */ bnezl $s1, .L7001D0F0 -/* 01DD1C 7001D11C 26300004 */ addiu $s0, $s1, 4 -.L7001D120: -/* 01DD20 7001D120 24180002 */ li $t8, 2 -/* 01DD24 7001D124 AE58002C */ sw $t8, 0x2c($s2) -/* 01DD28 7001D128 240E0010 */ li $t6, 16 -/* 01DD2C 7001D12C 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 01DD30 7001D130 A7AE00BC */ sh $t6, 0xbc($sp) -/* 01DD34 7001D134 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 01DD38 7001D138 02A02025 */ move $a0, $s5 -/* 01DD3C 7001D13C 0C004BBF */ jal alEvtqPostEvent -/* 01DD40 7001D140 27A500BC */ addiu $a1, $sp, 0xbc -/* 01DD44 7001D144 10000042 */ b .L7001D250 -/* 01DD48 7001D148 02A02025 */ move $a0, $s5 -.L7001D14C: -/* 01DD4C 7001D14C 8E510064 */ lw $s1, 0x64($s2) -/* 01DD50 7001D150 8659003C */ lh $t9, 0x3c($s2) -/* 01DD54 7001D154 1220003D */ beqz $s1, .L7001D24C -/* 01DD58 7001D158 A6590032 */ sh $t9, 0x32($s2) -/* 01DD5C 7001D15C 02202025 */ move $a0, $s1 -.L7001D160: -/* 01DD60 7001D160 0C006F85 */ jal __vsVol -/* 01DD64 7001D164 02402825 */ move $a1, $s2 -/* 01DD68 7001D168 8E43001C */ lw $v1, 0x1c($s2) -/* 01DD6C 7001D16C 8E380024 */ lw $t8, 0x24($s1) -/* 01DD70 7001D170 00023400 */ sll $a2, $v0, 0x10 -/* 01DD74 7001D174 00067C03 */ sra $t7, $a2, 0x10 -/* 01DD78 7001D178 03032023 */ subu $a0, $t8, $v1 -/* 01DD7C 7001D17C 04800003 */ bltz $a0, .L7001D18C -/* 01DD80 7001D180 01E03025 */ move $a2, $t7 -/* 01DD84 7001D184 10000002 */ b .L7001D190 -/* 01DD88 7001D188 00801025 */ move $v0, $a0 -.L7001D18C: -/* 01DD8C 7001D18C 240203E8 */ li $v0, 1000 -.L7001D190: -/* 01DD90 7001D190 8E440014 */ lw $a0, 0x14($s2) -/* 01DD94 7001D194 26250004 */ addiu $a1, $s1, 4 -/* 01DD98 7001D198 0C004CE8 */ jal alSynSetVol -/* 01DD9C 7001D19C 00403825 */ move $a3, $v0 -/* 01DDA0 7001D1A0 8E310000 */ lw $s1, ($s1) -/* 01DDA4 7001D1A4 5620FFEE */ bnezl $s1, .L7001D160 -/* 01DDA8 7001D1A8 02202025 */ move $a0, $s1 -/* 01DDAC 7001D1AC 10000028 */ b .L7001D250 -/* 01DDB0 7001D1B0 02A02025 */ move $a0, $s5 -.L7001D1B4: -/* 01DDB4 7001D1B4 8E4E003C */ lw $t6, 0x3c($s2) -/* 01DDB8 7001D1B8 8E590040 */ lw $t9, 0x40($s2) -/* 01DDBC 7001D1BC 8E4F0044 */ lw $t7, 0x44($s2) -/* 01DDC0 7001D1C0 AE4E007C */ sw $t6, 0x7c($s2) -/* 01DDC4 7001D1C4 AE590080 */ sw $t9, 0x80($s2) -/* 01DDC8 7001D1C8 10000020 */ b .L7001D24C -/* 01DDCC 7001D1CC AE4F0084 */ sw $t7, 0x84($s2) -.L7001D1D0: -/* 01DDD0 7001D1D0 9250003C */ lbu $s0, 0x3c($s2) -/* 01DDD4 7001D1D4 8E4E0060 */ lw $t6, 0x60($s2) -/* 01DDD8 7001D1D8 9258003D */ lbu $t8, 0x3d($s2) -/* 01DDDC 7001D1DC 0010C900 */ sll $t9, $s0, 4 -/* 01DDE0 7001D1E0 01D97821 */ addu $t7, $t6, $t9 -/* 01DDE4 7001D1E4 10000019 */ b .L7001D24C -/* 01DDE8 7001D1E8 A1F80008 */ sb $t8, 8($t7) -.L7001D1EC: -/* 01DDEC 7001D1EC 8E45003C */ lw $a1, 0x3c($s2) -/* 01DDF0 7001D1F0 240F01E8 */ li $t7, 488 -/* 01DDF4 7001D1F4 3C018003 */ lui $at, %hi(F32_80029C88) -/* 01DDF8 7001D1F8 10A00008 */ beqz $a1, .L7001D21C -/* 01DDFC 7001D1FC AE450018 */ sw $a1, 0x18($s2) -/* 01DE00 7001D200 C4269C88 */ lwc1 $f6, %lo(F32_80029C88)($at) -/* 01DE04 7001D204 C4AA0014 */ lwc1 $f10, 0x14($a1) -/* 01DE08 7001D208 460A3202 */ mul.s $f8, $f6, $f10 -/* 01DE0C 7001D20C 4600410D */ trunc.w.s $f4, $f8 -/* 01DE10 7001D210 44182000 */ mfc1 $t8, $f4 -/* 01DE14 7001D214 10000002 */ b .L7001D220 -/* 01DE18 7001D218 AE580024 */ sw $t8, 0x24($s2) -.L7001D21C: -/* 01DE1C 7001D21C AE4F0024 */ sw $t7, 0x24($s2) -.L7001D220: -/* 01DE20 7001D220 8E450020 */ lw $a1, 0x20($s2) -/* 01DE24 7001D224 50A0000A */ beql $a1, $zero, .L7001D250 -/* 01DE28 7001D228 02A02025 */ move $a0, $s5 -/* 01DE2C 7001D22C 0C006F4D */ jal __initFromBank -/* 01DE30 7001D230 02402025 */ move $a0, $s2 -/* 01DE34 7001D234 10000006 */ b .L7001D250 -/* 01DE38 7001D238 02A02025 */ move $a0, $s5 -.L7001D23C: -/* 01DE3C 7001D23C 8E45003C */ lw $a1, 0x3c($s2) -/* 01DE40 7001D240 02402025 */ move $a0, $s2 -/* 01DE44 7001D244 0C006F4D */ jal __initFromBank -/* 01DE48 7001D248 AE450020 */ sw $a1, 0x20($s2) -.L7001D24C: -/* 01DE4C 7001D24C 02A02025 */ move $a0, $s5 -.L7001D250: -/* 01DE50 7001D250 0C004C08 */ jal alEvtqNextEvent -/* 01DE54 7001D254 8FA50050 */ lw $a1, 0x50($sp) -/* 01DE58 7001D258 1040FE98 */ beqz $v0, .L7001CCBC -/* 01DE5C 7001D25C AE420028 */ sw $v0, 0x28($s2) -/* 01DE60 7001D260 8E4E001C */ lw $t6, 0x1c($s2) -/* 01DE64 7001D264 01C2C821 */ addu $t9, $t6, $v0 -/* 01DE68 7001D268 AE59001C */ sw $t9, 0x1c($s2) -/* 01DE6C 7001D26C 8FBF0044 */ lw $ra, 0x44($sp) -/* 01DE70 7001D270 8FBE0040 */ lw $fp, 0x40($sp) -/* 01DE74 7001D274 8FB7003C */ lw $s7, 0x3c($sp) -/* 01DE78 7001D278 8FB60038 */ lw $s6, 0x38($sp) -/* 01DE7C 7001D27C 8FB50034 */ lw $s5, 0x34($sp) -/* 01DE80 7001D280 8FB40030 */ lw $s4, 0x30($sp) -/* 01DE84 7001D284 8FB3002C */ lw $s3, 0x2c($sp) -/* 01DE88 7001D288 8FB20028 */ lw $s2, 0x28($sp) -/* 01DE8C 7001D28C 8FB10024 */ lw $s1, 0x24($sp) -/* 01DE90 7001D290 8FB00020 */ lw $s0, 0x20($sp) -/* 01DE94 7001D294 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 01DE98 7001D298 03E00008 */ jr $ra -/* 01DE9C 7001D29C 27BD00D0 */ addiu $sp, $sp, 0xd0 - -glabel __seqpStopOsc -/* 01DEA0 7001D2A0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01DEA4 7001D2A4 AFBF0034 */ sw $ra, 0x34($sp) -/* 01DEA8 7001D2A8 AFB70030 */ sw $s7, 0x30($sp) -/* 01DEAC 7001D2AC AFB6002C */ sw $s6, 0x2c($sp) -/* 01DEB0 7001D2B0 AFB50028 */ sw $s5, 0x28($sp) -/* 01DEB4 7001D2B4 AFB40024 */ sw $s4, 0x24($sp) -/* 01DEB8 7001D2B8 AFB30020 */ sw $s3, 0x20($sp) -/* 01DEBC 7001D2BC AFB2001C */ sw $s2, 0x1c($sp) -/* 01DEC0 7001D2C0 AFB10018 */ sw $s1, 0x18($sp) -/* 01DEC4 7001D2C4 AFB00014 */ sw $s0, 0x14($sp) -/* 01DEC8 7001D2C8 8C900050 */ lw $s0, 0x50($a0) -/* 01DECC 7001D2CC 00A09025 */ move $s2, $a1 -/* 01DED0 7001D2D0 0080A825 */ move $s5, $a0 -/* 01DED4 7001D2D4 12000028 */ beqz $s0, .L7001D378 -/* 01DED8 7001D2D8 24170017 */ li $s7, 23 -/* 01DEDC 7001D2DC 24160016 */ li $s6, 22 -.L7001D2E0: -/* 01DEE0 7001D2E0 8613000C */ lh $s3, 0xc($s0) -/* 01DEE4 7001D2E4 8E110000 */ lw $s1, ($s0) -/* 01DEE8 7001D2E8 52760004 */ beql $s3, $s6, .L7001D2FC -/* 01DEEC 7001D2EC 8E0E0010 */ lw $t6, 0x10($s0) -/* 01DEF0 7001D2F0 1677001F */ bne $s3, $s7, .L7001D370 -/* 01DEF4 7001D2F4 00000000 */ nop -/* 01DEF8 7001D2F8 8E0E0010 */ lw $t6, 0x10($s0) -.L7001D2FC: -/* 01DEFC 7001D2FC 164E001C */ bne $s2, $t6, .L7001D370 -glabel unknown_libname_37 -/* 01DF00 7001D300 00000000 */ nop -/* 01DF04 7001D304 8EB90078 */ lw $t9, 0x78($s5) -/* 01DF08 7001D308 8E040014 */ lw $a0, 0x14($s0) -/* 01DF0C 7001D30C 26B40048 */ addiu $s4, $s5, 0x48 -/* 01DF10 7001D310 0320F809 */ jalr $t9 -/* 01DF14 7001D314 00000000 */ nop -/* 01DF18 7001D318 0C003AA4 */ jal alUnlink -/* 01DF1C 7001D31C 02002025 */ move $a0, $s0 -/* 01DF20 7001D320 12200005 */ beqz $s1, .L7001D338 -/* 01DF24 7001D324 02002025 */ move $a0, $s0 -/* 01DF28 7001D328 8E2F0008 */ lw $t7, 8($s1) -glabel unknown_libname_38 -/* 01DF2C 7001D32C 8E180008 */ lw $t8, 8($s0) -/* 01DF30 7001D330 01F84021 */ addu $t0, $t7, $t8 -/* 01DF34 7001D334 AE280008 */ sw $t0, 8($s1) -glabel unknown_libname_39 -.L7001D338: -/* 01DF38 7001D338 0C003AB0 */ jal alLink -/* 01DF3C 7001D33C 02802825 */ move $a1, $s4 -/* 01DF40 7001D340 56760006 */ bnel $s3, $s6, .L7001D35C -/* 01DF44 7001D344 924B0037 */ lbu $t3, 0x37($s2) -/* 01DF48 7001D348 92490037 */ lbu $t1, 0x37($s2) -/* 01DF4C 7001D34C 312A00FE */ andi $t2, $t1, 0xfe -/* 01DF50 7001D350 10000004 */ b .L7001D364 -/* 01DF54 7001D354 A24A0037 */ sb $t2, 0x37($s2) -/* 01DF58 7001D358 924B0037 */ lbu $t3, 0x37($s2) -glabel unknown_libname_40 -.L7001D35C: -/* 01DF5C 7001D35C 316C00FD */ andi $t4, $t3, 0xfd -/* 01DF60 7001D360 A24C0037 */ sb $t4, 0x37($s2) -.L7001D364: -/* 01DF64 7001D364 924D0037 */ lbu $t5, 0x37($s2) -/* 01DF68 7001D368 51A00004 */ beql $t5, $zero, .L7001D37C -/* 01DF6C 7001D36C 8FBF0034 */ lw $ra, 0x34($sp) -.L7001D370: -/* 01DF70 7001D370 1620FFDB */ bnez $s1, .L7001D2E0 -/* 01DF74 7001D374 02208025 */ move $s0, $s1 -.L7001D378: -/* 01DF78 7001D378 8FBF0034 */ lw $ra, 0x34($sp) -.L7001D37C: -/* 01DF7C 7001D37C 8FB00014 */ lw $s0, 0x14($sp) -/* 01DF80 7001D380 8FB10018 */ lw $s1, 0x18($sp) -/* 01DF84 7001D384 8FB2001C */ lw $s2, 0x1c($sp) -/* 01DF88 7001D388 8FB30020 */ lw $s3, 0x20($sp) -glabel unknown_libname_41 -/* 01DF8C 7001D38C 8FB40024 */ lw $s4, 0x24($sp) -/* 01DF90 7001D390 8FB50028 */ lw $s5, 0x28($sp) -/* 01DF94 7001D394 8FB6002C */ lw $s6, 0x2c($sp) -/* 01DF98 7001D398 8FB70030 */ lw $s7, 0x30($sp) -/* 01DF9C 7001D39C 03E00008 */ jr $ra -glabel unknown_libname_42 -/* 01DFA0 7001D3A0 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel __initChanState -/* 01DFA4 7001D3A4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01DFA8 7001D3A8 AFBF0024 */ sw $ra, 0x24($sp) -/* 01DFAC 7001D3AC AFB20020 */ sw $s2, 0x20($sp) -/* 01DFB0 7001D3B0 AFB1001C */ sw $s1, 0x1c($sp) -/* 01DFB4 7001D3B4 AFB00018 */ sw $s0, 0x18($sp) -/* 01DFB8 7001D3B8 908E0034 */ lbu $t6, 0x34($a0) -/* 01DFBC 7001D3BC 00808825 */ move $s1, $a0 -/* 01DFC0 7001D3C0 00008025 */ move $s0, $zero -/* 01DFC4 7001D3C4 19C0000D */ blez $t6, .L7001D3FC -/* 01DFC8 7001D3C8 00009025 */ move $s2, $zero -/* 01DFCC 7001D3CC 8E2F0060 */ lw $t7, 0x60($s1) -.L7001D3D0: -/* 01DFD0 7001D3D0 02202025 */ move $a0, $s1 -/* 01DFD4 7001D3D4 02002825 */ move $a1, $s0 -/* 01DFD8 7001D3D8 01F2C021 */ addu $t8, $t7, $s2 -/* 01DFDC 7001D3DC 0C006F2D */ jal __resetPerfChanState -/* 01DFE0 7001D3E0 AF000000 */ sw $zero, ($t8) -/* 01DFE4 7001D3E4 92390034 */ lbu $t9, 0x34($s1) -/* 01DFE8 7001D3E8 26100001 */ addiu $s0, $s0, 1 -/* 01DFEC 7001D3EC 26520010 */ addiu $s2, $s2, 0x10 -/* 01DFF0 7001D3F0 0219082A */ slt $at, $s0, $t9 -/* 01DFF4 7001D3F4 5420FFF6 */ bnezl $at, .L7001D3D0 -/* 01DFF8 7001D3F8 8E2F0060 */ lw $t7, 0x60($s1) -.L7001D3FC: -/* 01DFFC 7001D3FC 8FBF0024 */ lw $ra, 0x24($sp) -/* 01E000 7001D400 8FB00018 */ lw $s0, 0x18($sp) -/* 01E004 7001D404 8FB1001C */ lw $s1, 0x1c($sp) -/* 01E008 7001D408 8FB20020 */ lw $s2, 0x20($sp) -/* 01E00C 7001D40C 03E00008 */ jr $ra -/* 01E010 7001D410 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel alSeqpNew -/* 01E014 7001D414 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01E018 7001D418 AFBF0024 */ sw $ra, 0x24($sp) -/* 01E01C 7001D41C AFB10020 */ sw $s1, 0x20($sp) -/* 01E020 7001D420 AFB0001C */ sw $s0, 0x1c($sp) -/* 01E024 7001D424 8CA6000C */ lw $a2, 0xc($a1) -/* 01E028 7001D428 AC800020 */ sw $zero, 0x20($a0) -/* 01E02C 7001D42C AC800018 */ sw $zero, 0x18($a0) -/* 01E030 7001D430 3C0E8002 */ lui $t6, %hi(alGlobals) -/* 01E034 7001D434 8DCE76E0 */ lw $t6, %lo(alGlobals)($t6) -/* 01E038 7001D438 240F00FF */ li $t7, 255 -/* 01E03C 7001D43C 241801E8 */ li $t8, 488 -/* 01E040 7001D440 24197FFF */ li $t9, 32767 -/* 01E044 7001D444 A48F0030 */ sh $t7, 0x30($a0) -/* 01E048 7001D448 AC980024 */ sw $t8, 0x24($a0) -/* 01E04C 7001D44C AC800028 */ sw $zero, 0x28($a0) -/* 01E050 7001D450 AC80002C */ sw $zero, 0x2c($a0) -/* 01E054 7001D454 A4990032 */ sh $t9, 0x32($a0) -/* 01E058 7001D458 AC8E0014 */ sw $t6, 0x14($a0) -/* 01E05C 7001D45C 90A80009 */ lbu $t0, 9($a1) -/* 01E060 7001D460 24093E80 */ li $t1, 16000 -/* 01E064 7001D464 AC89005C */ sw $t1, 0x5c($a0) -/* 01E068 7001D468 AC80001C */ sw $zero, 0x1c($a0) -/* 01E06C 7001D46C A0880035 */ sb $t0, 0x35($a0) -/* 01E070 7001D470 8CAA0010 */ lw $t2, 0x10($a1) -/* 01E074 7001D474 240D0009 */ li $t5, 9 -/* 01E078 7001D478 00A08825 */ move $s1, $a1 -/* 01E07C 7001D47C AC8A0070 */ sw $t2, 0x70($a0) -/* 01E080 7001D480 8CAB0014 */ lw $t3, 0x14($a1) -/* 01E084 7001D484 00808025 */ move $s0, $a0 -/* 01E088 7001D488 240F0010 */ li $t7, 16 -/* 01E08C 7001D48C AC8B0074 */ sw $t3, 0x74($a0) -/* 01E090 7001D490 8CAC0018 */ lw $t4, 0x18($a1) -/* 01E094 7001D494 AC80007C */ sw $zero, 0x7c($a0) -/* 01E098 7001D498 AC800080 */ sw $zero, 0x80($a0) -/* 01E09C 7001D49C AC800084 */ sw $zero, 0x84($a0) -/* 01E0A0 7001D4A0 A48D0038 */ sh $t5, 0x38($a0) -/* 01E0A4 7001D4A4 AC8C0078 */ sw $t4, 0x78($a0) -/* 01E0A8 7001D4A8 90AE0008 */ lbu $t6, 8($a1) -/* 01E0AC 7001D4AC 00002825 */ move $a1, $zero -/* 01E0B0 7001D4B0 A08E0034 */ sb $t6, 0x34($a0) -/* 01E0B4 7001D4B4 92270008 */ lbu $a3, 8($s1) -/* 01E0B8 7001D4B8 AFAF0010 */ sw $t7, 0x10($sp) -/* 01E0BC 7001D4BC 00002025 */ move $a0, $zero -/* 01E0C0 7001D4C0 0C003AD4 */ jal alHeapDBAlloc -/* 01E0C4 7001D4C4 AFA6002C */ sw $a2, 0x2c($sp) -/* 01E0C8 7001D4C8 AE020060 */ sw $v0, 0x60($s0) -/* 01E0CC 7001D4CC 0C0074E9 */ jal __initChanState -/* 01E0D0 7001D4D0 02002025 */ move $a0, $s0 -/* 01E0D4 7001D4D4 8E270000 */ lw $a3, ($s1) -/* 01E0D8 7001D4D8 24180038 */ li $t8, 56 -/* 01E0DC 7001D4DC AFB80010 */ sw $t8, 0x10($sp) -/* 01E0E0 7001D4E0 00002025 */ move $a0, $zero -/* 01E0E4 7001D4E4 00002825 */ move $a1, $zero -/* 01E0E8 7001D4E8 0C003AD4 */ jal alHeapDBAlloc -/* 01E0EC 7001D4EC 8FA6002C */ lw $a2, 0x2c($sp) -/* 01E0F0 7001D4F0 AE00006C */ sw $zero, 0x6c($s0) -/* 01E0F4 7001D4F4 8E390000 */ lw $t9, ($s1) -/* 01E0F8 7001D4F8 00002025 */ move $a0, $zero -/* 01E0FC 7001D4FC 00002825 */ move $a1, $zero -/* 01E100 7001D500 1B20000B */ blez $t9, .L7001D530 -/* 01E104 7001D504 240A001C */ li $t2, 28 -/* 01E108 7001D508 00401825 */ move $v1, $v0 -/* 01E10C 7001D50C 8E08006C */ lw $t0, 0x6c($s0) -.L7001D510: -/* 01E110 7001D510 24840001 */ addiu $a0, $a0, 1 -/* 01E114 7001D514 AC680000 */ sw $t0, ($v1) -/* 01E118 7001D518 AE03006C */ sw $v1, 0x6c($s0) -/* 01E11C 7001D51C 8E290000 */ lw $t1, ($s1) -/* 01E120 7001D520 24630038 */ addiu $v1, $v1, 0x38 -/* 01E124 7001D524 0089082A */ slt $at, $a0, $t1 -/* 01E128 7001D528 5420FFF9 */ bnezl $at, .L7001D510 -/* 01E12C 7001D52C 8E08006C */ lw $t0, 0x6c($s0) -.L7001D530: -/* 01E130 7001D530 AE000064 */ sw $zero, 0x64($s0) -/* 01E134 7001D534 AE000068 */ sw $zero, 0x68($s0) -/* 01E138 7001D538 8E270004 */ lw $a3, 4($s1) -/* 01E13C 7001D53C AFAA0010 */ sw $t2, 0x10($sp) -/* 01E140 7001D540 8FA6002C */ lw $a2, 0x2c($sp) -/* 01E144 7001D544 0C003AD4 */ jal alHeapDBAlloc -/* 01E148 7001D548 00002025 */ move $a0, $zero -/* 01E14C 7001D54C 26040048 */ addiu $a0, $s0, 0x48 -/* 01E150 7001D550 00402825 */ move $a1, $v0 -/* 01E154 7001D554 0C004C2B */ jal alEvtqNew -/* 01E158 7001D558 8E260004 */ lw $a2, 4($s1) -/* 01E15C 7001D55C 3C0B7002 */ lui $t3, %hi(__seqpVoiceHandler) # $t3, 0x7002 -/* 01E160 7001D560 256BCC7C */ addiu $t3, %lo(__seqpVoiceHandler) # addiu $t3, $t3, -0x3384 -/* 01E164 7001D564 AE000000 */ sw $zero, ($s0) -/* 01E168 7001D568 AE0B0008 */ sw $t3, 8($s0) -/* 01E16C 7001D56C AE100004 */ sw $s0, 4($s0) -/* 01E170 7001D570 3C048002 */ lui $a0, %hi(alGlobals) -/* 01E174 7001D574 8C8476E0 */ lw $a0, %lo(alGlobals)($a0) -/* 01E178 7001D578 0C004C48 */ jal alSynAddPlayer -/* 01E17C 7001D57C 02002825 */ move $a1, $s0 -/* 01E180 7001D580 8FBF0024 */ lw $ra, 0x24($sp) -/* 01E184 7001D584 8FB0001C */ lw $s0, 0x1c($sp) -/* 01E188 7001D588 8FB10020 */ lw $s1, 0x20($sp) -/* 01E18C 7001D58C 03E00008 */ jr $ra -/* 01E190 7001D590 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 01E194 7001D594 00000000 */ nop -/* 01E198 7001D598 00000000 */ nop -/* 01E19C 7001D59C 00000000 */ nop -.section .rodata - - -.section .rodata -glabel jpt_80029A50 - .word .L7001C7F4, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001C4A0, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001C84C, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001C92C, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CB98, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001C8B4, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CBCC -glabel jpt_80029BD4 - .word .L7001C9F0, .L7001CC64, .L7001CC64, .L7001C994 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CA84, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64, .L7001CC64, .L7001CC64, .L7001CC64 - .word .L7001CC64 -glabel jpt_80029C28 - .word .L7001CCE0, .L7001D24C, .L7001CFF4, .L7001D24C - .word .L7001D24C, .L7001CDAC, .L7001CDF8, .L7001D014 - .word .L7001D24C, .L7001CD8C, .L7001D14C, .L7001D1B4 - .word .L7001D1D0, .L7001D1EC, .L7001D23C, .L7001D028 - .word .L7001D04C, .L7001D0BC, .L7001D24C, .L7001D24C - .word .L7001D24C, .L7001D24C, .L7001CE5C, .L7001CF6C -glabel F32_80029C88 -.float 500000.0 - .align 4 - -.section .text -glabel alSynStartVoiceParams -/* 01E1A0 7001D5A0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01E1A4 7001D5A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 01E1A8 7001D5A8 AFA50024 */ sw $a1, 0x24($sp) -/* 01E1AC 7001D5AC AFA60028 */ sw $a2, 0x28($sp) -/* 01E1B0 7001D5B0 AFA7002C */ sw $a3, 0x2c($sp) -/* 01E1B4 7001D5B4 8CAE0008 */ lw $t6, 8($a1) -/* 01E1B8 7001D5B8 51C0002F */ beql $t6, $zero, .L7001D678 -/* 01E1BC 7001D5BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 01E1C0 7001D5C0 AFA40020 */ sw $a0, 0x20($sp) -/* 01E1C4 7001D5C4 0C003C34 */ jal __allocParam -/* 01E1C8 7001D5C8 AFA50024 */ sw $a1, 0x24($sp) -/* 01E1CC 7001D5CC 8FA40020 */ lw $a0, 0x20($sp) -/* 01E1D0 7001D5D0 8FA70024 */ lw $a3, 0x24($sp) -/* 01E1D4 7001D5D4 10400027 */ beqz $v0, .L7001D674 -/* 01E1D8 7001D5D8 00403025 */ move $a2, $v0 -/* 01E1DC 7001D5DC 93A3003B */ lbu $v1, 0x3b($sp) -/* 01E1E0 7001D5E0 04610004 */ bgez $v1, .L7001D5F4 -/* 01E1E4 7001D5E4 00601025 */ move $v0, $v1 -/* 01E1E8 7001D5E8 00021823 */ negu $v1, $v0 -/* 01E1EC 7001D5EC 306F00FF */ andi $t7, $v1, 0xff -/* 01E1F0 7001D5F0 01E01825 */ move $v1, $t7 -.L7001D5F4: -/* 01E1F4 7001D5F4 8CF90008 */ lw $t9, 8($a3) -/* 01E1F8 7001D5F8 8C98001C */ lw $t8, 0x1c($a0) -/* 01E1FC 7001D5FC 240A000D */ li $t2, 13 -/* 01E200 7001D600 8F2800D8 */ lw $t0, 0xd8($t9) -/* 01E204 7001D604 ACC00000 */ sw $zero, ($a2) -/* 01E208 7001D608 A4CA0008 */ sh $t2, 8($a2) -/* 01E20C 7001D60C 03084821 */ addu $t1, $t8, $t0 -/* 01E210 7001D610 ACC90004 */ sw $t1, 4($a2) -/* 01E214 7001D614 84EB001A */ lh $t3, 0x1a($a3) -/* 01E218 7001D618 A4CB000A */ sh $t3, 0xa($a2) -/* 01E21C 7001D61C 93AC0037 */ lbu $t4, 0x37($sp) -/* 01E220 7001D620 A0CC0012 */ sb $t4, 0x12($a2) -/* 01E224 7001D624 87AD0032 */ lh $t5, 0x32($sp) -/* 01E228 7001D628 A0C30013 */ sb $v1, 0x13($a2) -/* 01E22C 7001D62C A4CD0010 */ sh $t5, 0x10($a2) -/* 01E230 7001D630 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 01E234 7001D634 E4C4000C */ swc1 $f4, 0xc($a2) -/* 01E238 7001D638 AFA70024 */ sw $a3, 0x24($sp) -/* 01E23C 7001D63C AFA6001C */ sw $a2, 0x1c($sp) -/* 01E240 7001D640 0C003BF2 */ jal _timeToSamples -/* 01E244 7001D644 8FA5003C */ lw $a1, 0x3c($sp) -/* 01E248 7001D648 8FA6001C */ lw $a2, 0x1c($sp) -/* 01E24C 7001D64C 8FA70024 */ lw $a3, 0x24($sp) -/* 01E250 7001D650 24050003 */ li $a1, 3 -/* 01E254 7001D654 ACC20014 */ sw $v0, 0x14($a2) -/* 01E258 7001D658 8FAE0028 */ lw $t6, 0x28($sp) -/* 01E25C 7001D65C ACCE0018 */ sw $t6, 0x18($a2) -/* 01E260 7001D660 8CEF0008 */ lw $t7, 8($a3) -/* 01E264 7001D664 8DE4000C */ lw $a0, 0xc($t7) -/* 01E268 7001D668 8C990008 */ lw $t9, 8($a0) -/* 01E26C 7001D66C 0320F809 */ jalr $t9 -/* 01E270 7001D670 00000000 */ nop -.L7001D674: -/* 01E274 7001D674 8FBF0014 */ lw $ra, 0x14($sp) -.L7001D678: -/* 01E278 7001D678 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01E27C 7001D67C 03E00008 */ jr $ra -/* 01E280 7001D680 00000000 */ nop - -/* 01E284 7001D684 00000000 */ nop -/* 01E288 7001D688 00000000 */ nop -/* 01E28C 7001D68C 00000000 */ nop -glabel alCopy -/* 01E290 7001D690 00801025 */ move $v0, $a0 -/* 01E294 7001D694 00A01825 */ move $v1, $a1 -/* 01E298 7001D698 18C00018 */ blez $a2, .L7001D6FC -/* 01E29C 7001D69C 00003825 */ move $a3, $zero -/* 01E2A0 7001D6A0 30C50003 */ andi $a1, $a2, 3 -/* 01E2A4 7001D6A4 10A00009 */ beqz $a1, .L7001D6CC -/* 01E2A8 7001D6A8 00A02025 */ move $a0, $a1 -.L7001D6AC: -/* 01E2AC 7001D6AC 904E0000 */ lbu $t6, ($v0) -/* 01E2B0 7001D6B0 24E70001 */ addiu $a3, $a3, 1 -/* 01E2B4 7001D6B4 24630001 */ addiu $v1, $v1, 1 -/* 01E2B8 7001D6B8 24420001 */ addiu $v0, $v0, 1 -/* 01E2BC 7001D6BC 1487FFFB */ bne $a0, $a3, .L7001D6AC -/* 01E2C0 7001D6C0 A06EFFFF */ sb $t6, -1($v1) -/* 01E2C4 7001D6C4 10E6000D */ beq $a3, $a2, .L7001D6FC -/* 01E2C8 7001D6C8 00000000 */ nop -.L7001D6CC: -/* 01E2CC 7001D6CC 904F0000 */ lbu $t7, ($v0) -/* 01E2D0 7001D6D0 24E70004 */ addiu $a3, $a3, 4 -/* 01E2D4 7001D6D4 24630004 */ addiu $v1, $v1, 4 -/* 01E2D8 7001D6D8 A06FFFFC */ sb $t7, -4($v1) -/* 01E2DC 7001D6DC 90580001 */ lbu $t8, 1($v0) -/* 01E2E0 7001D6E0 24420004 */ addiu $v0, $v0, 4 -/* 01E2E4 7001D6E4 A078FFFD */ sb $t8, -3($v1) -/* 01E2E8 7001D6E8 9059FFFE */ lbu $t9, -2($v0) -/* 01E2EC 7001D6EC A079FFFE */ sb $t9, -2($v1) -/* 01E2F0 7001D6F0 9048FFFF */ lbu $t0, -1($v0) -/* 01E2F4 7001D6F4 14E6FFF5 */ bne $a3, $a2, .L7001D6CC -/* 01E2F8 7001D6F8 A068FFFF */ sb $t0, -1($v1) -.L7001D6FC: -/* 01E2FC 7001D6FC 03E00008 */ jr $ra -/* 01E300 7001D700 00000000 */ nop - -/* 01E304 7001D704 00000000 */ nop -/* 01E308 7001D708 00000000 */ nop -/* 01E30C 7001D70C 00000000 */ nop - -glabel __osPiCreateAccessQueue -/* 01E310 7001D710 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01E314 7001D714 AFBF0014 */ sw $ra, 0x14($sp) -/* 01E318 7001D718 240E0001 */ li $t6, 1 -/* 01E31C 7001D71C 3C018003 */ lui $at, %hi(__osPiAccessQueueEnabled) -/* 01E320 7001D720 3C048007 */ lui $a0, %hi(__osPiAccessQueue) -/* 01E324 7001D724 3C058007 */ lui $a1, %hi(piAccessBuf) -/* 01E328 7001D728 AC2E82E0 */ sw $t6, %lo(__osPiAccessQueueEnabled)($at) -/* 01E32C 7001D72C 24A58FE0 */ addiu $a1, %lo(piAccessBuf) # addiu $a1, $a1, -0x7020 -/* 01E330 7001D730 24848FE8 */ addiu $a0, %lo(__osPiAccessQueue) # addiu $a0, $a0, -0x7018 -/* 01E334 7001D734 0C0035B4 */ jal osCreateMesgQueue -/* 01E338 7001D738 24060001 */ li $a2, 1 -/* 01E33C 7001D73C 3C048007 */ lui $a0, %hi(__osPiAccessQueue) -/* 01E340 7001D740 24848FE8 */ addiu $a0, %lo(__osPiAccessQueue) # addiu $a0, $a0, -0x7018 -/* 01E344 7001D744 00002825 */ move $a1, $zero -/* 01E348 7001D748 0C0037C4 */ jal osSendMesg -/* 01E34C 7001D74C 00003025 */ move $a2, $zero -/* 01E350 7001D750 8FBF0014 */ lw $ra, 0x14($sp) -/* 01E354 7001D754 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01E358 7001D758 03E00008 */ jr $ra -/* 01E35C 7001D75C 00000000 */ nop - -glabel __osPiGetAccess -/* 01E360 7001D760 3C0E8003 */ lui $t6, %hi(__osPiAccessQueueEnabled) -/* 01E364 7001D764 8DCE82E0 */ lw $t6, %lo(__osPiAccessQueueEnabled)($t6) -/* 01E368 7001D768 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 01E36C 7001D76C AFBF0014 */ sw $ra, 0x14($sp) -/* 01E370 7001D770 15C00003 */ bnez $t6, .L7001D780 -/* 01E374 7001D774 00000000 */ nop -/* 01E378 7001D778 0C0075C4 */ jal __osPiCreateAccessQueue -/* 01E37C 7001D77C 00000000 */ nop -.L7001D780: -/* 01E380 7001D780 3C048007 */ lui $a0, %hi(__osPiAccessQueue) -/* 01E384 7001D784 24848FE8 */ addiu $a0, %lo(__osPiAccessQueue) # addiu $a0, $a0, -0x7018 -/* 01E388 7001D788 27A5001C */ addiu $a1, $sp, 0x1c -/* 01E38C 7001D78C 0C003774 */ jal osRecvMesg -/* 01E390 7001D790 24060001 */ li $a2, 1 -/* 01E394 7001D794 8FBF0014 */ lw $ra, 0x14($sp) -/* 01E398 7001D798 27BD0020 */ addiu $sp, $sp, 0x20 -/* 01E39C 7001D79C 03E00008 */ jr $ra -/* 01E3A0 7001D7A0 00000000 */ nop - -glabel __osPiRelAccess -/* 01E3A4 7001D7A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01E3A8 7001D7A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 01E3AC 7001D7AC 3C048007 */ lui $a0, %hi(__osPiAccessQueue) -/* 01E3B0 7001D7B0 24848FE8 */ addiu $a0, %lo(__osPiAccessQueue) # addiu $a0, $a0, -0x7018 -/* 01E3B4 7001D7B4 00002825 */ move $a1, $zero -/* 01E3B8 7001D7B8 0C0037C4 */ jal osSendMesg -/* 01E3BC 7001D7BC 00003025 */ move $a2, $zero -/* 01E3C0 7001D7C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 01E3C4 7001D7C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01E3C8 7001D7C8 03E00008 */ jr $ra -/* 01E3CC 7001D7CC 00000000 */ nop - -.section .data -glabel __osPiAccessQueueEnabled -.word 0 -.align 4 - -.section .bss -glabel piAccessBuf -.word 0 -.word 0 -glabel __osPiAccessQueue -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 -.byte 0, 0, 0, 0 - -.section .text -glabel _Litob -/* 01E3D0 7001D7D0 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 01E3D4 7001D7D4 AFB10020 */ sw $s1, 0x20($sp) -/* 01E3D8 7001D7D8 30A200FF */ andi $v0, $a1, 0xff -/* 01E3DC 7001D7DC 24030058 */ li $v1, 88 -/* 01E3E0 7001D7E0 00808825 */ move $s1, $a0 -/* 01E3E4 7001D7E4 AFBF002C */ sw $ra, 0x2c($sp) -/* 01E3E8 7001D7E8 AFB30028 */ sw $s3, 0x28($sp) -/* 01E3EC 7001D7EC AFB20024 */ sw $s2, 0x24($sp) -/* 01E3F0 7001D7F0 AFB0001C */ sw $s0, 0x1c($sp) -/* 01E3F4 7001D7F4 14620004 */ bne $v1, $v0, .L7001D808 -/* 01E3F8 7001D7F8 AFA50094 */ sw $a1, 0x94($sp) -/* 01E3FC 7001D7FC 3C138003 */ lui $s3, %hi(auppercase_hex_char) -/* 01E400 7001D800 10000003 */ b .L7001D810 -/* 01E404 7001D804 26738304 */ addiu $s3, %lo(auppercase_hex_char) # addiu $s3, $s3, -0x7cfc -.L7001D808: -/* 01E408 7001D808 3C138003 */ lui $s3, %hi(alowercase_hex_char) -/* 01E40C 7001D80C 267382F0 */ addiu $s3, %lo(alowercase_hex_char) # addiu $s3, $s3, -0x7d10 -.L7001D810: -/* 01E410 7001D810 2401006F */ li $at, 111 -/* 01E414 7001D814 14410003 */ bne $v0, $at, .L7001D824 -/* 01E418 7001D818 24100018 */ li $s0, 24 -/* 01E41C 7001D81C 10000009 */ b .L7001D844 -/* 01E420 7001D820 24090008 */ li $t1, 8 -.L7001D824: -/* 01E424 7001D824 24010078 */ li $at, 120 -/* 01E428 7001D828 10410005 */ beq $v0, $at, .L7001D840 -/* 01E42C 7001D82C 24080010 */ li $t0, 16 -/* 01E430 7001D830 10620003 */ beq $v1, $v0, .L7001D840 -/* 01E434 7001D834 00000000 */ nop -/* 01E438 7001D838 10000001 */ b .L7001D840 -/* 01E43C 7001D83C 2408000A */ li $t0, 10 -.L7001D840: -/* 01E440 7001D840 01004825 */ move $t1, $t0 -.L7001D844: -/* 01E444 7001D844 8E380000 */ lw $t8, ($s1) -/* 01E448 7001D848 8E390004 */ lw $t9, 4($s1) -/* 01E44C 7001D84C 24010064 */ li $at, 100 -/* 01E450 7001D850 AFB80060 */ sw $t8, 0x60($sp) -/* 01E454 7001D854 AFB80040 */ sw $t8, 0x40($sp) -/* 01E458 7001D858 AFB90044 */ sw $t9, 0x44($sp) -/* 01E45C 7001D85C 10410004 */ beq $v0, $at, .L7001D870 -/* 01E460 7001D860 AFB90064 */ sw $t9, 0x64($sp) -/* 01E464 7001D864 24010069 */ li $at, 105 -/* 01E468 7001D868 54410010 */ bnel $v0, $at, .L7001D8AC -/* 01E46C 7001D86C 8FAA0060 */ lw $t2, 0x60($sp) -.L7001D870: -/* 01E470 7001D870 8FAC0040 */ lw $t4, 0x40($sp) -/* 01E474 7001D874 5D80000D */ bgtzl $t4, .L7001D8AC -/* 01E478 7001D878 8FAA0060 */ lw $t2, 0x60($sp) -/* 01E47C 7001D87C 05800003 */ bltz $t4, .L7001D88C -/* 01E480 7001D880 8FAE0060 */ lw $t6, 0x60($sp) -/* 01E484 7001D884 10000009 */ b .L7001D8AC -/* 01E488 7001D888 8FAA0060 */ lw $t2, 0x60($sp) -.L7001D88C: -/* 01E48C 7001D88C 8FAF0064 */ lw $t7, 0x64($sp) -/* 01E490 7001D890 01C0C027 */ not $t8, $t6 -/* 01E494 7001D894 2DE10001 */ sltiu $at, $t7, 1 -/* 01E498 7001D898 0301C021 */ addu $t8, $t8, $at -/* 01E49C 7001D89C 000FC823 */ negu $t9, $t7 -/* 01E4A0 7001D8A0 AFB90064 */ sw $t9, 0x64($sp) -/* 01E4A4 7001D8A4 AFB80060 */ sw $t8, 0x60($sp) -/* 01E4A8 7001D8A8 8FAA0060 */ lw $t2, 0x60($sp) -.L7001D8AC: -/* 01E4AC 7001D8AC 8FAB0064 */ lw $t3, 0x64($sp) -/* 01E4B0 7001D8B0 24080017 */ li $t0, 23 -/* 01E4B4 7001D8B4 15400006 */ bnez $t2, .L7001D8D0 -/* 01E4B8 7001D8B8 8FA40060 */ lw $a0, 0x60($sp) -/* 01E4BC 7001D8BC 55600005 */ bnezl $t3, .L7001D8D4 -/* 01E4C0 7001D8C0 24100017 */ li $s0, 23 -/* 01E4C4 7001D8C4 8E2C0024 */ lw $t4, 0x24($s1) -/* 01E4C8 7001D8C8 51800010 */ beql $t4, $zero, .L7001D90C -/* 01E4CC 7001D8CC 27B20078 */ addiu $s2, $sp, 0x78 -.L7001D8D0: -/* 01E4D0 7001D8D0 24100017 */ li $s0, 23 -.L7001D8D4: -/* 01E4D4 7001D8D4 8FA50064 */ lw $a1, 0x64($sp) -/* 01E4D8 7001D8D8 01203825 */ move $a3, $t1 -/* 01E4DC 7001D8DC 000937C3 */ sra $a2, $t1, 0x1f -/* 01E4E0 7001D8E0 AFA8004C */ sw $t0, 0x4c($sp) -/* 01E4E4 7001D8E4 0C003B1B */ jal __ull_rem -/* 01E4E8 7001D8E8 AFA90070 */ sw $t1, 0x70($sp) -/* 01E4EC 7001D8EC 8FA8004C */ lw $t0, 0x4c($sp) -/* 01E4F0 7001D8F0 00737021 */ addu $t6, $v1, $s3 -/* 01E4F4 7001D8F4 91CF0000 */ lbu $t7, ($t6) -/* 01E4F8 7001D8F8 27B20078 */ addiu $s2, $sp, 0x78 -/* 01E4FC 7001D8FC 8FA90070 */ lw $t1, 0x70($sp) -/* 01E500 7001D900 0248C021 */ addu $t8, $s2, $t0 -/* 01E504 7001D904 A30F0000 */ sb $t7, ($t8) -/* 01E508 7001D908 27B20078 */ addiu $s2, $sp, 0x78 -.L7001D90C: -/* 01E50C 7001D90C 8FA40060 */ lw $a0, 0x60($sp) -/* 01E510 7001D910 8FA50064 */ lw $a1, 0x64($sp) -/* 01E514 7001D914 01203825 */ move $a3, $t1 -/* 01E518 7001D918 000937C3 */ sra $a2, $t1, 0x1f -/* 01E51C 7001D91C 0C003B2A */ jal __ull_div -/* 01E520 7001D920 AFA90070 */ sw $t1, 0x70($sp) -/* 01E524 7001D924 8FA90070 */ lw $t1, 0x70($sp) -/* 01E528 7001D928 AE230004 */ sw $v1, 4($s1) -/* 01E52C 7001D92C 0440002B */ bltz $v0, .L7001D9DC -/* 01E530 7001D930 AE220000 */ sw $v0, ($s1) -/* 01E534 7001D934 1C400003 */ bgtz $v0, .L7001D944 -/* 01E538 7001D938 00000000 */ nop -/* 01E53C 7001D93C 50600028 */ beql $v1, $zero, .L7001D9E0 -/* 01E540 7001D940 240C0018 */ li $t4, 24 -.L7001D944: -/* 01E544 7001D944 1A000025 */ blez $s0, .L7001D9DC -/* 01E548 7001D948 000967C3 */ sra $t4, $t1, 0x1f -/* 01E54C 7001D94C 8E2A0000 */ lw $t2, ($s1) -/* 01E550 7001D950 8E2B0004 */ lw $t3, 4($s1) -/* 01E554 7001D954 AFA9003C */ sw $t1, 0x3c($sp) -/* 01E558 7001D958 AFAC0038 */ sw $t4, 0x38($sp) -/* 01E55C 7001D95C AFAA0040 */ sw $t2, 0x40($sp) -/* 01E560 7001D960 AFAB0044 */ sw $t3, 0x44($sp) -/* 01E564 7001D964 8FAE0038 */ lw $t6, 0x38($sp) -.L7001D968: -/* 01E568 7001D968 8FAF003C */ lw $t7, 0x3c($sp) -/* 01E56C 7001D96C 27A40050 */ addiu $a0, $sp, 0x50 -/* 01E570 7001D970 8FA60040 */ lw $a2, 0x40($sp) -/* 01E574 7001D974 8FA70044 */ lw $a3, 0x44($sp) -/* 01E578 7001D978 AFAE0010 */ sw $t6, 0x10($sp) -/* 01E57C 7001D97C 0C0082D4 */ jal lldiv -/* 01E580 7001D980 AFAF0014 */ sw $t7, 0x14($sp) -/* 01E584 7001D984 8FB80050 */ lw $t8, 0x50($sp) -/* 01E588 7001D988 8FB90054 */ lw $t9, 0x54($sp) -/* 01E58C 7001D98C 2604FFFF */ addiu $a0, $s0, -1 -/* 01E590 7001D990 AE380000 */ sw $t8, ($s1) -/* 01E594 7001D994 AE390004 */ sw $t9, 4($s1) -/* 01E598 7001D998 8FAB005C */ lw $t3, 0x5c($sp) -/* 01E59C 7001D99C 02447821 */ addu $t7, $s2, $a0 -/* 01E5A0 7001D9A0 00808025 */ move $s0, $a0 -/* 01E5A4 7001D9A4 01736821 */ addu $t5, $t3, $s3 -/* 01E5A8 7001D9A8 91AE0000 */ lbu $t6, ($t5) -/* 01E5AC 7001D9AC A1EE0000 */ sb $t6, ($t7) -/* 01E5B0 7001D9B0 8E380000 */ lw $t8, ($s1) -/* 01E5B4 7001D9B4 8E390004 */ lw $t9, 4($s1) -/* 01E5B8 7001D9B8 AFB80040 */ sw $t8, 0x40($sp) -/* 01E5BC 7001D9BC 07000007 */ bltz $t8, .L7001D9DC -/* 01E5C0 7001D9C0 AFB90044 */ sw $t9, 0x44($sp) -/* 01E5C4 7001D9C4 1F000003 */ bgtz $t8, .L7001D9D4 -/* 01E5C8 7001D9C8 00000000 */ nop -/* 01E5CC 7001D9CC 53200004 */ beql $t9, $zero, .L7001D9E0 -/* 01E5D0 7001D9D0 240C0018 */ li $t4, 24 -.L7001D9D4: -/* 01E5D4 7001D9D4 5E00FFE4 */ bgtzl $s0, .L7001D968 -/* 01E5D8 7001D9D8 8FAE0038 */ lw $t6, 0x38($sp) -.L7001D9DC: -/* 01E5DC 7001D9DC 240C0018 */ li $t4, 24 -.L7001D9E0: -/* 01E5E0 7001D9E0 01903023 */ subu $a2, $t4, $s0 -/* 01E5E4 7001D9E4 AE260014 */ sw $a2, 0x14($s1) -/* 01E5E8 7001D9E8 8E240008 */ lw $a0, 8($s1) -/* 01E5EC 7001D9EC 0C004E14 */ jal memcpy -/* 01E5F0 7001D9F0 02502821 */ addu $a1, $s2, $s0 -/* 01E5F4 7001D9F4 8E250014 */ lw $a1, 0x14($s1) -/* 01E5F8 7001D9F8 8E240024 */ lw $a0, 0x24($s1) -/* 01E5FC 7001D9FC 00A4082A */ slt $at, $a1, $a0 -/* 01E600 7001DA00 10200002 */ beqz $at, .L7001DA0C -/* 01E604 7001DA04 00856823 */ subu $t5, $a0, $a1 -/* 01E608 7001DA08 AE2D0010 */ sw $t5, 0x10($s1) -.L7001DA0C: -/* 01E60C 7001DA0C 04830010 */ bgezl $a0, .L7001DA50 -/* 01E610 7001DA10 8FBF002C */ lw $ra, 0x2c($sp) -/* 01E614 7001DA14 8E2E0030 */ lw $t6, 0x30($s1) -/* 01E618 7001DA18 24010010 */ li $at, 16 -/* 01E61C 7001DA1C 31CF0014 */ andi $t7, $t6, 0x14 -/* 01E620 7001DA20 55E1000B */ bnel $t7, $at, .L7001DA50 -/* 01E624 7001DA24 8FBF002C */ lw $ra, 0x2c($sp) -/* 01E628 7001DA28 8E380028 */ lw $t8, 0x28($s1) -/* 01E62C 7001DA2C 8E39000C */ lw $t9, 0xc($s1) -/* 01E630 7001DA30 8E220010 */ lw $v0, 0x10($s1) -/* 01E634 7001DA34 03195023 */ subu $t2, $t8, $t9 -/* 01E638 7001DA38 01425823 */ subu $t3, $t2, $v0 -/* 01E63C 7001DA3C 01658023 */ subu $s0, $t3, $a1 -/* 01E640 7001DA40 1A000002 */ blez $s0, .L7001DA4C -/* 01E644 7001DA44 00506021 */ addu $t4, $v0, $s0 -/* 01E648 7001DA48 AE2C0010 */ sw $t4, 0x10($s1) -.L7001DA4C: -/* 01E64C 7001DA4C 8FBF002C */ lw $ra, 0x2c($sp) -.L7001DA50: -/* 01E650 7001DA50 8FB0001C */ lw $s0, 0x1c($sp) -/* 01E654 7001DA54 8FB10020 */ lw $s1, 0x20($sp) -/* 01E658 7001DA58 8FB20024 */ lw $s2, 0x24($sp) -/* 01E65C 7001DA5C 8FB30028 */ lw $s3, 0x28($sp) -/* 01E660 7001DA60 03E00008 */ jr $ra -/* 01E664 7001DA64 27BD0090 */ addiu $sp, $sp, 0x90 - -/* 01E668 7001DA68 00000000 */ nop -/* 01E66C 7001DA6C 00000000 */ nop - -.section .data -glabel alowercase_hex_char -.asciiz "0123456789abcdef" -.align 2 -glabel auppercase_hex_char -.asciiz "0123456789ABCDEF" -.align 4 -.section .rodata -glabel digits - .double 10.0 - .double 100.0 - .double 10000.0 - .double 1.0e8 - .double 1.0e16 - .double 1.0e32 - .double 1.0e64 - .double 1.0e128 - .double 1.0e256 -glabel aNan - .asciiz "NaN" -glabel aInf - .asciiz "Inf" - -.section .text -glabel xldtob_sub0 -/* 01E670 7001DA70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 01E674 7001DA74 AFB20028 */ sw $s2, 0x28($sp) -/* 01E678 7001DA78 00127400 */ sll $t6, $s2, 0x10 -/* 01E67C 7001DA7C 000E9403 */ sra $s2, $t6, 0x10 -/* 01E680 7001DA80 AFB30024 */ sw $s3, 0x24($sp) -/* 01E684 7001DA84 0013C400 */ sll $t8, $s3, 0x10 -/* 01E688 7001DA88 00189C03 */ sra $s3, $t8, 0x10 -/* 01E68C 7001DA8C 328E00FF */ andi $t6, $s4, 0xff -/* 01E690 7001DA90 AFB4001C */ sw $s4, 0x1c($sp) -/* 01E694 7001DA94 01C0A025 */ move $s4, $t6 -/* 01E698 7001DA98 1E600004 */ bgtz $s3, .L7001DAAC -/* 01E69C 7001DA9C AFBF0014 */ sw $ra, 0x14($sp) -/* 01E6A0 7001DAA0 3C118003 */ lui $s1, %hi(asc_D_80029CE0) -/* 01E6A4 7001DAA4 26319CE0 */ addiu $s1, %lo(asc_D_80029CE0) # addiu $s1, $s1, -0x6320 -/* 01E6A8 7001DAA8 24130001 */ li $s3, 1 -.L7001DAAC: -/* 01E6AC 7001DAAC 24020066 */ li $v0, 102 -/* 01E6B0 7001DAB0 1054000C */ beq $v0, $s4, .L7001DAE4 -/* 01E6B4 7001DAB4 02801825 */ move $v1, $s4 -/* 01E6B8 7001DAB8 24040067 */ li $a0, 103 -/* 01E6BC 7001DABC 10830002 */ beq $a0, $v1, .L7001DAC8 -/* 01E6C0 7001DAC0 24010047 */ li $at, 71 -/* 01E6C4 7001DAC4 14610096 */ bne $v1, $at, .L7001DD20 -.L7001DAC8: -/* 01E6C8 7001DAC8 2A41FFFC */ slti $at, $s2, -4 -/* 01E6CC 7001DACC 14200094 */ bnez $at, .L7001DD20 -/* 01E6D0 7001DAD0 00000000 */ nop -/* 01E6D4 7001DAD4 8E0F0024 */ lw $t7, 0x24($s0) -/* 01E6D8 7001DAD8 024F082A */ slt $at, $s2, $t7 -/* 01E6DC 7001DADC 10200090 */ beqz $at, .L7001DD20 -/* 01E6E0 7001DAE0 00000000 */ nop -.L7001DAE4: -/* 01E6E4 7001DAE4 26520001 */ addiu $s2, $s2, 1 -/* 01E6E8 7001DAE8 0012C400 */ sll $t8, $s2, 0x10 -/* 01E6EC 7001DAEC 1043000E */ beq $v0, $v1, .L7001DB28 -/* 01E6F0 7001DAF0 00189403 */ sra $s2, $t8, 0x10 -/* 01E6F4 7001DAF4 8E0E0030 */ lw $t6, 0x30($s0) -/* 01E6F8 7001DAF8 8E020024 */ lw $v0, 0x24($s0) -/* 01E6FC 7001DAFC 31CF0008 */ andi $t7, $t6, 8 -/* 01E700 7001DB00 15E00005 */ bnez $t7, .L7001DB18 -/* 01E704 7001DB04 0262082A */ slt $at, $s3, $v0 -/* 01E708 7001DB08 50200004 */ beql $at, $zero, .L7001DB1C -/* 01E70C 7001DB0C 0052C023 */ subu $t8, $v0, $s2 -/* 01E710 7001DB10 AE130024 */ sw $s3, 0x24($s0) -/* 01E714 7001DB14 02601025 */ move $v0, $s3 -.L7001DB18: -/* 01E718 7001DB18 0052C023 */ subu $t8, $v0, $s2 -.L7001DB1C: -/* 01E71C 7001DB1C 07010002 */ bgez $t8, .L7001DB28 -/* 01E720 7001DB20 AE180024 */ sw $t8, 0x24($s0) -/* 01E724 7001DB24 AE000024 */ sw $zero, 0x24($s0) -.L7001DB28: -/* 01E728 7001DB28 1E400033 */ bgtz $s2, .L7001DBF8 -/* 01E72C 7001DB2C 0272082A */ slt $at, $s3, $s2 -/* 01E730 7001DB30 8E0F0008 */ lw $t7, 8($s0) -/* 01E734 7001DB34 8E180014 */ lw $t8, 0x14($s0) -/* 01E738 7001DB38 240E0030 */ li $t6, 48 -/* 01E73C 7001DB3C 00121823 */ negu $v1, $s2 -/* 01E740 7001DB40 01F8C821 */ addu $t9, $t7, $t8 -/* 01E744 7001DB44 A32E0000 */ sb $t6, ($t9) -/* 01E748 7001DB48 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E74C 7001DB4C 8E020024 */ lw $v0, 0x24($s0) -/* 01E750 7001DB50 02202825 */ move $a1, $s1 -/* 01E754 7001DB54 25F80001 */ addiu $t8, $t7, 1 -/* 01E758 7001DB58 1C400005 */ bgtz $v0, .L7001DB70 -/* 01E75C 7001DB5C AE180014 */ sw $t8, 0x14($s0) -/* 01E760 7001DB60 8E0E0030 */ lw $t6, 0x30($s0) -/* 01E764 7001DB64 31D90008 */ andi $t9, $t6, 8 -/* 01E768 7001DB68 5320000B */ beql $t9, $zero, .L7001DB98 -/* 01E76C 7001DB6C 0043082A */ slt $at, $v0, $v1 -.L7001DB70: -/* 01E770 7001DB70 8E180008 */ lw $t8, 8($s0) -/* 01E774 7001DB74 8E0E0014 */ lw $t6, 0x14($s0) -/* 01E778 7001DB78 240F002E */ li $t7, 46 -/* 01E77C 7001DB7C 030EC821 */ addu $t9, $t8, $t6 -/* 01E780 7001DB80 A32F0000 */ sb $t7, ($t9) -/* 01E784 7001DB84 8E180014 */ lw $t8, 0x14($s0) -/* 01E788 7001DB88 8E020024 */ lw $v0, 0x24($s0) -/* 01E78C 7001DB8C 270E0001 */ addiu $t6, $t8, 1 -/* 01E790 7001DB90 AE0E0014 */ sw $t6, 0x14($s0) -/* 01E794 7001DB94 0043082A */ slt $at, $v0, $v1 -.L7001DB98: -/* 01E798 7001DB98 50200006 */ beql $at, $zero, .L7001DBB4 -/* 01E79C 7001DB9C 0052C021 */ addu $t8, $v0, $s2 -/* 01E7A0 7001DBA0 00029023 */ negu $s2, $v0 -/* 01E7A4 7001DBA4 00127C00 */ sll $t7, $s2, 0x10 -/* 01E7A8 7001DBA8 000F9403 */ sra $s2, $t7, 0x10 -/* 01E7AC 7001DBAC 00121823 */ negu $v1, $s2 -/* 01E7B0 7001DBB0 0052C021 */ addu $t8, $v0, $s2 -.L7001DBB4: -/* 01E7B4 7001DBB4 0313082A */ slt $at, $t8, $s3 -/* 01E7B8 7001DBB8 AE030018 */ sw $v1, 0x18($s0) -/* 01E7BC 7001DBBC 10200004 */ beqz $at, .L7001DBD0 -/* 01E7C0 7001DBC0 AE180024 */ sw $t8, 0x24($s0) -/* 01E7C4 7001DBC4 00189C00 */ sll $s3, $t8, 0x10 -/* 01E7C8 7001DBC8 00137403 */ sra $t6, $s3, 0x10 -/* 01E7CC 7001DBCC 01C09825 */ move $s3, $t6 -.L7001DBD0: -/* 01E7D0 7001DBD0 8E0F0008 */ lw $t7, 8($s0) -/* 01E7D4 7001DBD4 8E190014 */ lw $t9, 0x14($s0) -/* 01E7D8 7001DBD8 AE13001C */ sw $s3, 0x1c($s0) -/* 01E7DC 7001DBDC 02603025 */ move $a2, $s3 -/* 01E7E0 7001DBE0 0C004E14 */ jal memcpy -/* 01E7E4 7001DBE4 01F92021 */ addu $a0, $t7, $t9 -/* 01E7E8 7001DBE8 8E180024 */ lw $t8, 0x24($s0) -/* 01E7EC 7001DBEC 03137023 */ subu $t6, $t8, $s3 -/* 01E7F0 7001DBF0 100000E2 */ b .L7001DF7C -/* 01E7F4 7001DBF4 AE0E0020 */ sw $t6, 0x20($s0) -.L7001DBF8: -/* 01E7F8 7001DBF8 1020001D */ beqz $at, .L7001DC70 -/* 01E7FC 7001DBFC 02202825 */ move $a1, $s1 -/* 01E800 7001DC00 8E0F0008 */ lw $t7, 8($s0) -/* 01E804 7001DC04 8E190014 */ lw $t9, 0x14($s0) -/* 01E808 7001DC08 02202825 */ move $a1, $s1 -/* 01E80C 7001DC0C 02603025 */ move $a2, $s3 -/* 01E810 7001DC10 0C004E14 */ jal memcpy -/* 01E814 7001DC14 01F92021 */ addu $a0, $t7, $t9 -/* 01E818 7001DC18 8E180014 */ lw $t8, 0x14($s0) -/* 01E81C 7001DC1C 8E020024 */ lw $v0, 0x24($s0) -/* 01E820 7001DC20 02537823 */ subu $t7, $s2, $s3 -/* 01E824 7001DC24 03137021 */ addu $t6, $t8, $s3 -/* 01E828 7001DC28 AE0E0014 */ sw $t6, 0x14($s0) -/* 01E82C 7001DC2C 1C400005 */ bgtz $v0, .L7001DC44 -/* 01E830 7001DC30 AE0F0018 */ sw $t7, 0x18($s0) -/* 01E834 7001DC34 8E190030 */ lw $t9, 0x30($s0) -/* 01E838 7001DC38 33380008 */ andi $t8, $t9, 8 -/* 01E83C 7001DC3C 1300000A */ beqz $t8, .L7001DC68 -/* 01E840 7001DC40 00000000 */ nop -.L7001DC44: -/* 01E844 7001DC44 8E0F0008 */ lw $t7, 8($s0) -/* 01E848 7001DC48 8E190014 */ lw $t9, 0x14($s0) -/* 01E84C 7001DC4C 240E002E */ li $t6, 46 -/* 01E850 7001DC50 01F9C021 */ addu $t8, $t7, $t9 -/* 01E854 7001DC54 A30E0000 */ sb $t6, ($t8) -/* 01E858 7001DC58 8E0F001C */ lw $t7, 0x1c($s0) -/* 01E85C 7001DC5C 8E020024 */ lw $v0, 0x24($s0) -/* 01E860 7001DC60 25F90001 */ addiu $t9, $t7, 1 -/* 01E864 7001DC64 AE19001C */ sw $t9, 0x1c($s0) -.L7001DC68: -/* 01E868 7001DC68 100000C4 */ b .L7001DF7C -/* 01E86C 7001DC6C AE020020 */ sw $v0, 0x20($s0) -.L7001DC70: -/* 01E870 7001DC70 8E0E0008 */ lw $t6, 8($s0) -/* 01E874 7001DC74 8E180014 */ lw $t8, 0x14($s0) -/* 01E878 7001DC78 02403025 */ move $a2, $s2 -/* 01E87C 7001DC7C 0C004E14 */ jal memcpy -/* 01E880 7001DC80 01D82021 */ addu $a0, $t6, $t8 -/* 01E884 7001DC84 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E888 7001DC88 8E020024 */ lw $v0, 0x24($s0) -/* 01E88C 7001DC8C 02729823 */ subu $s3, $s3, $s2 -/* 01E890 7001DC90 00137400 */ sll $t6, $s3, 0x10 -/* 01E894 7001DC94 01F2C821 */ addu $t9, $t7, $s2 -/* 01E898 7001DC98 AE190014 */ sw $t9, 0x14($s0) -/* 01E89C 7001DC9C 1C400005 */ bgtz $v0, .L7001DCB4 -/* 01E8A0 7001DCA0 000E9C03 */ sra $s3, $t6, 0x10 -/* 01E8A4 7001DCA4 8E0F0030 */ lw $t7, 0x30($s0) -/* 01E8A8 7001DCA8 31F90008 */ andi $t9, $t7, 8 -/* 01E8AC 7001DCAC 5320000B */ beql $t9, $zero, .L7001DCDC -/* 01E8B0 7001DCB0 0053082A */ slt $at, $v0, $s3 -.L7001DCB4: -/* 01E8B4 7001DCB4 8E180008 */ lw $t8, 8($s0) -/* 01E8B8 7001DCB8 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E8BC 7001DCBC 240E002E */ li $t6, 46 -/* 01E8C0 7001DCC0 030FC821 */ addu $t9, $t8, $t7 -/* 01E8C4 7001DCC4 A32E0000 */ sb $t6, ($t9) -/* 01E8C8 7001DCC8 8E180014 */ lw $t8, 0x14($s0) -/* 01E8CC 7001DCCC 8E020024 */ lw $v0, 0x24($s0) -/* 01E8D0 7001DCD0 270F0001 */ addiu $t7, $t8, 1 -/* 01E8D4 7001DCD4 AE0F0014 */ sw $t7, 0x14($s0) -/* 01E8D8 7001DCD8 0053082A */ slt $at, $v0, $s3 -.L7001DCDC: -/* 01E8DC 7001DCDC 10200004 */ beqz $at, .L7001DCF0 -/* 01E8E0 7001DCE0 02512821 */ addu $a1, $s2, $s1 -/* 01E8E4 7001DCE4 00029C00 */ sll $s3, $v0, 0x10 -/* 01E8E8 7001DCE8 00137403 */ sra $t6, $s3, 0x10 -/* 01E8EC 7001DCEC 01C09825 */ move $s3, $t6 -.L7001DCF0: -/* 01E8F0 7001DCF0 8E190008 */ lw $t9, 8($s0) -/* 01E8F4 7001DCF4 8E180014 */ lw $t8, 0x14($s0) -/* 01E8F8 7001DCF8 02603025 */ move $a2, $s3 -/* 01E8FC 7001DCFC 0C004E14 */ jal memcpy -/* 01E900 7001DD00 03382021 */ addu $a0, $t9, $t8 -/* 01E904 7001DD04 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E908 7001DD08 8E190024 */ lw $t9, 0x24($s0) -/* 01E90C 7001DD0C 01F37021 */ addu $t6, $t7, $s3 -/* 01E910 7001DD10 0333C023 */ subu $t8, $t9, $s3 -/* 01E914 7001DD14 AE0E0014 */ sw $t6, 0x14($s0) -/* 01E918 7001DD18 10000098 */ b .L7001DF7C -/* 01E91C 7001DD1C AE180018 */ sw $t8, 0x18($s0) -.L7001DD20: -/* 01E920 7001DD20 10830003 */ beq $a0, $v1, .L7001DD30 -/* 01E924 7001DD24 24010047 */ li $at, 71 -/* 01E928 7001DD28 54610011 */ bnel $v1, $at, .L7001DD70 -/* 01E92C 7001DD2C 8E180008 */ lw $t8, 8($s0) -.L7001DD30: -/* 01E930 7001DD30 8E020024 */ lw $v0, 0x24($s0) -/* 01E934 7001DD34 24140045 */ li $s4, 69 -/* 01E938 7001DD38 0262082A */ slt $at, $s3, $v0 -/* 01E93C 7001DD3C 50200004 */ beql $at, $zero, .L7001DD50 -/* 01E940 7001DD40 244FFFFF */ addiu $t7, $v0, -1 -/* 01E944 7001DD44 AE130024 */ sw $s3, 0x24($s0) -/* 01E948 7001DD48 02601025 */ move $v0, $s3 -/* 01E94C 7001DD4C 244FFFFF */ addiu $t7, $v0, -1 -.L7001DD50: -/* 01E950 7001DD50 05E10002 */ bgez $t7, .L7001DD5C -/* 01E954 7001DD54 AE0F0024 */ sw $t7, 0x24($s0) -/* 01E958 7001DD58 AE000024 */ sw $zero, 0x24($s0) -.L7001DD5C: -/* 01E95C 7001DD5C 14830003 */ bne $a0, $v1, .L7001DD6C -/* 01E960 7001DD60 00000000 */ nop -/* 01E964 7001DD64 10000001 */ b .L7001DD6C -/* 01E968 7001DD68 24140065 */ li $s4, 101 -.L7001DD6C: -/* 01E96C 7001DD6C 8E180008 */ lw $t8, 8($s0) -.L7001DD70: -/* 01E970 7001DD70 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E974 7001DD74 92390000 */ lbu $t9, ($s1) -/* 01E978 7001DD78 26310001 */ addiu $s1, $s1, 1 -/* 01E97C 7001DD7C 030F7021 */ addu $t6, $t8, $t7 -/* 01E980 7001DD80 A1D90000 */ sb $t9, ($t6) -/* 01E984 7001DD84 8E180014 */ lw $t8, 0x14($s0) -/* 01E988 7001DD88 8E020024 */ lw $v0, 0x24($s0) -/* 01E98C 7001DD8C 270F0001 */ addiu $t7, $t8, 1 -/* 01E990 7001DD90 1C400005 */ bgtz $v0, .L7001DDA8 -/* 01E994 7001DD94 AE0F0014 */ sw $t7, 0x14($s0) -/* 01E998 7001DD98 8E190030 */ lw $t9, 0x30($s0) -/* 01E99C 7001DD9C 332E0008 */ andi $t6, $t9, 8 -/* 01E9A0 7001DDA0 11C0000A */ beqz $t6, .L7001DDCC -/* 01E9A4 7001DDA4 00000000 */ nop -.L7001DDA8: -/* 01E9A8 7001DDA8 8E0F0008 */ lw $t7, 8($s0) -/* 01E9AC 7001DDAC 8E190014 */ lw $t9, 0x14($s0) -/* 01E9B0 7001DDB0 2418002E */ li $t8, 46 -/* 01E9B4 7001DDB4 01F97021 */ addu $t6, $t7, $t9 -/* 01E9B8 7001DDB8 A1D80000 */ sb $t8, ($t6) -/* 01E9BC 7001DDBC 8E0F0014 */ lw $t7, 0x14($s0) -/* 01E9C0 7001DDC0 8E020024 */ lw $v0, 0x24($s0) -/* 01E9C4 7001DDC4 25F90001 */ addiu $t9, $t7, 1 -/* 01E9C8 7001DDC8 AE190014 */ sw $t9, 0x14($s0) -.L7001DDCC: -/* 01E9CC 7001DDCC 58400016 */ blezl $v0, .L7001DE28 -/* 01E9D0 7001DDD0 8E0E0008 */ lw $t6, 8($s0) -/* 01E9D4 7001DDD4 2673FFFF */ addiu $s3, $s3, -1 -/* 01E9D8 7001DDD8 0013C400 */ sll $t8, $s3, 0x10 -/* 01E9DC 7001DDDC 00189C03 */ sra $s3, $t8, 0x10 -/* 01E9E0 7001DDE0 0053082A */ slt $at, $v0, $s3 -/* 01E9E4 7001DDE4 10200004 */ beqz $at, .L7001DDF8 -/* 01E9E8 7001DDE8 02202825 */ move $a1, $s1 -/* 01E9EC 7001DDEC 00029C00 */ sll $s3, $v0, 0x10 -/* 01E9F0 7001DDF0 00137C03 */ sra $t7, $s3, 0x10 -/* 01E9F4 7001DDF4 01E09825 */ move $s3, $t7 -.L7001DDF8: -/* 01E9F8 7001DDF8 8E190008 */ lw $t9, 8($s0) -/* 01E9FC 7001DDFC 8E180014 */ lw $t8, 0x14($s0) -/* 01EA00 7001DE00 02603025 */ move $a2, $s3 -/* 01EA04 7001DE04 0C004E14 */ jal memcpy -/* 01EA08 7001DE08 03382021 */ addu $a0, $t9, $t8 -/* 01EA0C 7001DE0C 8E0E0014 */ lw $t6, 0x14($s0) -/* 01EA10 7001DE10 8E190024 */ lw $t9, 0x24($s0) -/* 01EA14 7001DE14 01D37821 */ addu $t7, $t6, $s3 -/* 01EA18 7001DE18 0333C023 */ subu $t8, $t9, $s3 -/* 01EA1C 7001DE1C AE0F0014 */ sw $t7, 0x14($s0) -/* 01EA20 7001DE20 AE180018 */ sw $t8, 0x18($s0) -/* 01EA24 7001DE24 8E0E0008 */ lw $t6, 8($s0) -.L7001DE28: -/* 01EA28 7001DE28 8E0F0014 */ lw $t7, 0x14($s0) -/* 01EA2C 7001DE2C 01CF8821 */ addu $s1, $t6, $t7 -/* 01EA30 7001DE30 26310001 */ addiu $s1, $s1, 1 -/* 01EA34 7001DE34 06400005 */ bltz $s2, .L7001DE4C -/* 01EA38 7001DE38 A234FFFF */ sb $s4, -1($s1) -/* 01EA3C 7001DE3C 2419002B */ li $t9, 43 -/* 01EA40 7001DE40 A2390000 */ sb $t9, ($s1) -/* 01EA44 7001DE44 10000008 */ b .L7001DE68 -/* 01EA48 7001DE48 26310001 */ addiu $s1, $s1, 1 -.L7001DE4C: -/* 01EA4C 7001DE4C 00129023 */ negu $s2, $s2 -/* 01EA50 7001DE50 00127400 */ sll $t6, $s2, 0x10 -/* 01EA54 7001DE54 2418002D */ li $t8, 45 -/* 01EA58 7001DE58 000E7C03 */ sra $t7, $t6, 0x10 -/* 01EA5C 7001DE5C A2380000 */ sb $t8, ($s1) -/* 01EA60 7001DE60 26310001 */ addiu $s1, $s1, 1 -/* 01EA64 7001DE64 01E09025 */ move $s2, $t7 -.L7001DE68: -/* 01EA68 7001DE68 2A410064 */ slti $at, $s2, 0x64 -/* 01EA6C 7001DE6C 5420002A */ bnezl $at, .L7001DF18 -/* 01EA70 7001DE70 2402000A */ li $v0, 10 -/* 01EA74 7001DE74 2A4103E8 */ slti $at, $s2, 0x3e8 -/* 01EA78 7001DE78 14200013 */ bnez $at, .L7001DEC8 -/* 01EA7C 7001DE7C 240203E8 */ li $v0, 1000 -/* 01EA80 7001DE80 0242001A */ div $zero, $s2, $v0 -/* 01EA84 7001DE84 14400002 */ bnez $v0, .L7001DE90 -/* 01EA88 7001DE88 00000000 */ nop -/* 01EA8C 7001DE8C 0007000D */ break 7 -.L7001DE90: -/* 01EA90 7001DE90 2401FFFF */ li $at, -1 -/* 01EA94 7001DE94 14410004 */ bne $v0, $at, .L7001DEA8 -/* 01EA98 7001DE98 3C018000 */ lui $at, 0x8000 -/* 01EA9C 7001DE9C 16410002 */ bne $s2, $at, .L7001DEA8 -/* 01EAA0 7001DEA0 00000000 */ nop -/* 01EAA4 7001DEA4 0006000D */ break 6 -.L7001DEA8: -/* 01EAA8 7001DEA8 00009010 */ mfhi $s2 -/* 01EAAC 7001DEAC 00127400 */ sll $t6, $s2, 0x10 -/* 01EAB0 7001DEB0 0000C812 */ mflo $t9 -/* 01EAB4 7001DEB4 27380030 */ addiu $t8, $t9, 0x30 -/* 01EAB8 7001DEB8 000E7C03 */ sra $t7, $t6, 0x10 -/* 01EABC 7001DEBC 01E09025 */ move $s2, $t7 -/* 01EAC0 7001DEC0 A2380000 */ sb $t8, ($s1) -/* 01EAC4 7001DEC4 26310001 */ addiu $s1, $s1, 1 -.L7001DEC8: -/* 01EAC8 7001DEC8 24020064 */ li $v0, 100 -/* 01EACC 7001DECC 0242001A */ div $zero, $s2, $v0 -/* 01EAD0 7001DED0 14400002 */ bnez $v0, .L7001DEDC -/* 01EAD4 7001DED4 00000000 */ nop -/* 01EAD8 7001DED8 0007000D */ break 7 -.L7001DEDC: -/* 01EADC 7001DEDC 2401FFFF */ li $at, -1 -/* 01EAE0 7001DEE0 14410004 */ bne $v0, $at, .L7001DEF4 -/* 01EAE4 7001DEE4 3C018000 */ lui $at, 0x8000 -/* 01EAE8 7001DEE8 16410002 */ bne $s2, $at, .L7001DEF4 -/* 01EAEC 7001DEEC 00000000 */ nop -/* 01EAF0 7001DEF0 0006000D */ break 6 -.L7001DEF4: -/* 01EAF4 7001DEF4 00009010 */ mfhi $s2 -/* 01EAF8 7001DEF8 00127400 */ sll $t6, $s2, 0x10 -/* 01EAFC 7001DEFC 0000C812 */ mflo $t9 -/* 01EB00 7001DF00 27380030 */ addiu $t8, $t9, 0x30 -/* 01EB04 7001DF04 000E7C03 */ sra $t7, $t6, 0x10 -/* 01EB08 7001DF08 01E09025 */ move $s2, $t7 -/* 01EB0C 7001DF0C A2380000 */ sb $t8, ($s1) -/* 01EB10 7001DF10 26310001 */ addiu $s1, $s1, 1 -/* 01EB14 7001DF14 2402000A */ li $v0, 10 -.L7001DF18: -/* 01EB18 7001DF18 0242001A */ div $zero, $s2, $v0 -/* 01EB1C 7001DF1C 14400002 */ bnez $v0, .L7001DF28 -/* 01EB20 7001DF20 00000000 */ nop -/* 01EB24 7001DF24 0007000D */ break 7 -.L7001DF28: -/* 01EB28 7001DF28 2401FFFF */ li $at, -1 -/* 01EB2C 7001DF2C 14410004 */ bne $v0, $at, .L7001DF40 -/* 01EB30 7001DF30 3C018000 */ lui $at, 0x8000 -/* 01EB34 7001DF34 16410002 */ bne $s2, $at, .L7001DF40 -/* 01EB38 7001DF38 00000000 */ nop -/* 01EB3C 7001DF3C 0006000D */ break 6 -.L7001DF40: -/* 01EB40 7001DF40 00009010 */ mfhi $s2 -/* 01EB44 7001DF44 00127400 */ sll $t6, $s2, 0x10 -/* 01EB48 7001DF48 0000C812 */ mflo $t9 -/* 01EB4C 7001DF4C 27380030 */ addiu $t8, $t9, 0x30 -/* 01EB50 7001DF50 000E7C03 */ sra $t7, $t6, 0x10 -/* 01EB54 7001DF54 25F90030 */ addiu $t9, $t7, 0x30 -/* 01EB58 7001DF58 A2380000 */ sb $t8, ($s1) -/* 01EB5C 7001DF5C A2390001 */ sb $t9, 1($s1) -/* 01EB60 7001DF60 8E180008 */ lw $t8, 8($s0) -/* 01EB64 7001DF64 01E09025 */ move $s2, $t7 -/* 01EB68 7001DF68 8E0F0014 */ lw $t7, 0x14($s0) -/* 01EB6C 7001DF6C 26310002 */ addiu $s1, $s1, 2 -/* 01EB70 7001DF70 02387023 */ subu $t6, $s1, $t8 -/* 01EB74 7001DF74 01CFC823 */ subu $t9, $t6, $t7 -/* 01EB78 7001DF78 AE19001C */ sw $t9, 0x1c($s0) -.L7001DF7C: -/* 01EB7C 7001DF7C 8E180030 */ lw $t8, 0x30($s0) -/* 01EB80 7001DF80 24010010 */ li $at, 16 -/* 01EB84 7001DF84 330E0014 */ andi $t6, $t8, 0x14 -/* 01EB88 7001DF88 55C10010 */ bnel $t6, $at, .L7001DFCC -/* 01EB8C 7001DF8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 01EB90 7001DF90 8E0F000C */ lw $t7, 0xc($s0) -/* 01EB94 7001DF94 8E190014 */ lw $t9, 0x14($s0) -/* 01EB98 7001DF98 8E0E0018 */ lw $t6, 0x18($s0) -/* 01EB9C 7001DF9C 8E030028 */ lw $v1, 0x28($s0) -/* 01EBA0 7001DFA0 01F9C021 */ addu $t8, $t7, $t9 -/* 01EBA4 7001DFA4 8E19001C */ lw $t9, 0x1c($s0) -/* 01EBA8 7001DFA8 030E7821 */ addu $t7, $t8, $t6 -/* 01EBAC 7001DFAC 8E0E0020 */ lw $t6, 0x20($s0) -/* 01EBB0 7001DFB0 01F9C021 */ addu $t8, $t7, $t9 -/* 01EBB4 7001DFB4 030E1021 */ addu $v0, $t8, $t6 -/* 01EBB8 7001DFB8 0043082A */ slt $at, $v0, $v1 -/* 01EBBC 7001DFBC 10200002 */ beqz $at, .L7001DFC8 -/* 01EBC0 7001DFC0 00627823 */ subu $t7, $v1, $v0 -/* 01EBC4 7001DFC4 AE0F0010 */ sw $t7, 0x10($s0) -.L7001DFC8: -/* 01EBC8 7001DFC8 8FBF0014 */ lw $ra, 0x14($sp) -.L7001DFCC: -/* 01EBCC 7001DFCC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01EBD0 7001DFD0 03E00008 */ jr $ra -/* 01EBD4 7001DFD4 00000000 */ nop - -/* 01EBD8 7001DFD8 03E00008 */ jr $ra -/* 01EBDC 7001DFDC 00000000 */ nop - -glabel _Ldtob -/* 01EBE0 7001DFE0 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 01EBE4 7001DFE4 AFBF003C */ sw $ra, 0x3c($sp) -/* 01EBE8 7001DFE8 AFB50038 */ sw $s5, 0x38($sp) -/* 01EBEC 7001DFEC AFB40034 */ sw $s4, 0x34($sp) -/* 01EBF0 7001DFF0 AFB30030 */ sw $s3, 0x30($sp) -/* 01EBF4 7001DFF4 AFB2002C */ sw $s2, 0x2c($sp) -/* 01EBF8 7001DFF8 AFB10028 */ sw $s1, 0x28($sp) -/* 01EBFC 7001DFFC AFB00024 */ sw $s0, 0x24($sp) -/* 01EC00 7001E000 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 01EC04 7001E004 AFA400D0 */ sw $a0, 0xd0($sp) -/* 01EC08 7001E008 AFA500D4 */ sw $a1, 0xd4($sp) -/* 01EC0C 7001E00C 8C820024 */ lw $v0, 0x24($a0) -/* 01EC10 7001E010 27B500B0 */ addiu $s5, $sp, 0xb0 -/* 01EC14 7001E014 D4940000 */ ldc1 $f20, ($a0) -/* 01EC18 7001E018 04410003 */ bgez $v0, .L7001E028 -/* 01EC1C 7001E01C 240F0006 */ li $t7, 6 -/* 01EC20 7001E020 1000000C */ b .L7001E054 -/* 01EC24 7001E024 AC8F0024 */ sw $t7, 0x24($a0) -.L7001E028: -/* 01EC28 7001E028 1440000A */ bnez $v0, .L7001E054 -/* 01EC2C 7001E02C 93B800D7 */ lbu $t8, 0xd7($sp) -/* 01EC30 7001E030 24010067 */ li $at, 103 -/* 01EC34 7001E034 13010004 */ beq $t8, $at, .L7001E048 -/* 01EC38 7001E038 AFB80048 */ sw $t8, 0x48($sp) -/* 01EC3C 7001E03C 24010047 */ li $at, 71 -/* 01EC40 7001E040 57010005 */ bnel $t8, $at, .L7001E058 -/* 01EC44 7001E044 8FAE00D0 */ lw $t6, 0xd0($sp) -.L7001E048: -/* 01EC48 7001E048 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 01EC4C 7001E04C 24190001 */ li $t9, 1 -/* 01EC50 7001E050 ADF90024 */ sw $t9, 0x24($t7) -.L7001E054: -/* 01EC54 7001E054 8FAE00D0 */ lw $t6, 0xd0($sp) -.L7001E058: -/* 01EC58 7001E058 240107FF */ li $at, 2047 -/* 01EC5C 7001E05C 95C40000 */ lhu $a0, ($t6) -/* 01EC60 7001E060 30837FF0 */ andi $v1, $a0, 0x7ff0 -/* 01EC64 7001E064 0003C103 */ sra $t8, $v1, 4 -/* 01EC68 7001E068 0018CC00 */ sll $t9, $t8, 0x10 -/* 01EC6C 7001E06C 00191C03 */ sra $v1, $t9, 0x10 -/* 01EC70 7001E070 14610018 */ bne $v1, $at, .L7001E0D4 -/* 01EC74 7001E074 00000000 */ nop -/* 01EC78 7001E078 A7A0009A */ sh $zero, 0x9a($sp) -/* 01EC7C 7001E07C 95D80000 */ lhu $t8, ($t6) -/* 01EC80 7001E080 24030002 */ li $v1, 2 -/* 01EC84 7001E084 00031400 */ sll $v0, $v1, 0x10 -/* 01EC88 7001E088 3319000F */ andi $t9, $t8, 0xf -/* 01EC8C 7001E08C 5720000A */ bnezl $t9, .L7001E0B8 -/* 01EC90 7001E090 00027C03 */ sra $t7, $v0, 0x10 -/* 01EC94 7001E094 95CF0002 */ lhu $t7, 2($t6) -/* 01EC98 7001E098 55E00007 */ bnezl $t7, .L7001E0B8 -/* 01EC9C 7001E09C 00027C03 */ sra $t7, $v0, 0x10 -/* 01ECA0 7001E0A0 95D80004 */ lhu $t8, 4($t6) -/* 01ECA4 7001E0A4 57000004 */ bnezl $t8, .L7001E0B8 -/* 01ECA8 7001E0A8 00027C03 */ sra $t7, $v0, 0x10 -/* 01ECAC 7001E0AC 95D90006 */ lhu $t9, 6($t6) -/* 01ECB0 7001E0B0 13200003 */ beqz $t9, .L7001E0C0 -/* 01ECB4 7001E0B4 00027C03 */ sra $t7, $v0, 0x10 -.L7001E0B8: -/* 01ECB8 7001E0B8 10000014 */ b .L7001E10C -/* 01ECBC 7001E0BC 01E01025 */ move $v0, $t7 -.L7001E0C0: -/* 01ECC0 7001E0C0 24030001 */ li $v1, 1 -/* 01ECC4 7001E0C4 00031400 */ sll $v0, $v1, 0x10 -/* 01ECC8 7001E0C8 00027C03 */ sra $t7, $v0, 0x10 -/* 01ECCC 7001E0CC 1000000F */ b .L7001E10C -/* 01ECD0 7001E0D0 01E01025 */ move $v0, $t7 -.L7001E0D4: -/* 01ECD4 7001E0D4 18600008 */ blez $v1, .L7001E0F8 -/* 01ECD8 7001E0D8 3098800F */ andi $t8, $a0, 0x800f -/* 01ECDC 7001E0DC 8FB900D0 */ lw $t9, 0xd0($sp) -/* 01ECE0 7001E0E0 370E3FF0 */ ori $t6, $t8, 0x3ff0 -/* 01ECE4 7001E0E4 246FFC02 */ addiu $t7, $v1, -0x3fe -/* 01ECE8 7001E0E8 A72E0000 */ sh $t6, ($t9) -/* 01ECEC 7001E0EC A7AF009A */ sh $t7, 0x9a($sp) -/* 01ECF0 7001E0F0 10000006 */ b .L7001E10C -/* 01ECF4 7001E0F4 2402FFFF */ li $v0, -1 -.L7001E0F8: -/* 01ECF8 7001E0F8 04610003 */ bgez $v1, .L7001E108 -/* 01ECFC 7001E0FC 00001025 */ move $v0, $zero -/* 01ED00 7001E100 10000002 */ b .L7001E10C -/* 01ED04 7001E104 24020002 */ li $v0, 2 -.L7001E108: -/* 01ED08 7001E108 A7A0009A */ sh $zero, 0x9a($sp) -.L7001E10C: -/* 01ED0C 7001E10C 18400012 */ blez $v0, .L7001E158 -/* 01ED10 7001E110 0002C400 */ sll $t8, $v0, 0x10 -/* 01ED14 7001E114 0002C400 */ sll $t8, $v0, 0x10 -/* 01ED18 7001E118 00187403 */ sra $t6, $t8, 0x10 -/* 01ED1C 7001E11C 24010002 */ li $at, 2 -/* 01ED20 7001E120 15C10004 */ bne $t6, $at, .L7001E134 -/* 01ED24 7001E124 8FB900D0 */ lw $t9, 0xd0($sp) -/* 01ED28 7001E128 3C058003 */ lui $a1, %hi(aNan) -/* 01ED2C 7001E12C 10000003 */ b .L7001E13C -/* 01ED30 7001E130 24A59CD8 */ addiu $a1, %lo(aNan) # addiu $a1, $a1, -0x6328 -.L7001E134: -/* 01ED34 7001E134 3C058003 */ lui $a1, %hi(aInf) -/* 01ED38 7001E138 24A59CDC */ addiu $a1, %lo(aInf) # addiu $a1, $a1, -0x6324 -.L7001E13C: -/* 01ED3C 7001E13C 240F0003 */ li $t7, 3 -/* 01ED40 7001E140 AF2F0014 */ sw $t7, 0x14($t9) -/* 01ED44 7001E144 8F240008 */ lw $a0, 8($t9) -/* 01ED48 7001E148 0C004E14 */ jal memcpy -/* 01ED4C 7001E14C 24060003 */ li $a2, 3 -/* 01ED50 7001E150 100000ED */ b .L7001E508 -/* 01ED54 7001E154 8FBF003C */ lw $ra, 0x3c($sp) -.L7001E158: -/* 01ED58 7001E158 00187403 */ sra $t6, $t8, 0x10 -/* 01ED5C 7001E15C 15C00003 */ bnez $t6, .L7001E16C -/* 01ED60 7001E160 00009825 */ move $s3, $zero -/* 01ED64 7001E164 100000E2 */ b .L7001E4F0 -/* 01ED68 7001E168 A7A0009A */ sh $zero, 0x9a($sp) -.L7001E16C: -/* 01ED6C 7001E16C 44801800 */ mtc1 $zero, $f3 -/* 01ED70 7001E170 44801000 */ mtc1 $zero, $f2 -/* 01ED74 7001E174 93AF00D7 */ lbu $t7, 0xd7($sp) -/* 01ED78 7001E178 87B9009A */ lh $t9, 0x9a($sp) -/* 01ED7C 7001E17C 4622A03C */ c.lt.d $f20, $f2 -/* 01ED80 7001E180 24017597 */ li $at, 30103 -/* 01ED84 7001E184 00001825 */ move $v1, $zero -/* 01ED88 7001E188 27B500B1 */ addiu $s5, $sp, 0xb1 -/* 01ED8C 7001E18C 45000002 */ bc1f .L7001E198 -/* 01ED90 7001E190 AFAF0048 */ sw $t7, 0x48($sp) -/* 01ED94 7001E194 4620A507 */ neg.d $f20, $f20 -.L7001E198: -/* 01ED98 7001E198 03210019 */ multu $t9, $at -/* 01ED9C 7001E19C 3C010001 */ lui $at, (0x000186A0 >> 16) # lui $at, 1 -/* 01EDA0 7001E1A0 342186A0 */ ori $at, (0x000186A0 & 0xFFFF) # ori $at, $at, 0x86a0 -/* 01EDA4 7001E1A4 24050006 */ li $a1, 6 -/* 01EDA8 7001E1A8 0000C012 */ mflo $t8 -/* 01EDAC 7001E1AC 00000000 */ nop -/* 01EDB0 7001E1B0 00000000 */ nop -/* 01EDB4 7001E1B4 0301001A */ div $zero, $t8, $at -/* 01EDB8 7001E1B8 00007012 */ mflo $t6 -/* 01EDBC 7001E1BC 25CFFFFC */ addiu $t7, $t6, -4 -/* 01EDC0 7001E1C0 000FCC00 */ sll $t9, $t7, 0x10 -/* 01EDC4 7001E1C4 0019C403 */ sra $t8, $t9, 0x10 -/* 01EDC8 7001E1C8 07010019 */ bgez $t8, .L7001E230 -/* 01EDCC 7001E1CC A7AF009A */ sh $t7, 0x9a($sp) -/* 01EDD0 7001E1D0 000FCC00 */ sll $t9, $t7, 0x10 -/* 01EDD4 7001E1D4 0019C403 */ sra $t8, $t9, 0x10 -/* 01EDD8 7001E1D8 240E0003 */ li $t6, 3 -/* 01EDDC 7001E1DC 01D82023 */ subu $a0, $t6, $t8 -/* 01EDE0 7001E1E0 2401FFFC */ li $at, -4 -/* 01EDE4 7001E1E4 00811024 */ and $v0, $a0, $at -/* 01EDE8 7001E1E8 0002C823 */ negu $t9, $v0 -/* 01EDEC 7001E1EC 1840002C */ blez $v0, .L7001E2A0 -/* 01EDF0 7001E1F0 A7B9009A */ sh $t9, 0x9a($sp) -/* 01EDF4 7001E1F4 3C048003 */ lui $a0, %hi(digits) -/* 01EDF8 7001E1F8 24849C90 */ addiu $a0, %lo(digits) # addiu $a0, $a0, -0x6370 -.L7001E1FC: -/* 01EDFC 7001E1FC 304E0001 */ andi $t6, $v0, 1 -/* 01EE00 7001E200 11C00006 */ beqz $t6, .L7001E21C -/* 01EE04 7001E204 0002C843 */ sra $t9, $v0, 1 -/* 01EE08 7001E208 0003C0C0 */ sll $t8, $v1, 3 -/* 01EE0C 7001E20C 00987821 */ addu $t7, $a0, $t8 -/* 01EE10 7001E210 D5E40000 */ ldc1 $f4, ($t7) -/* 01EE14 7001E214 4624A502 */ mul.d $f20, $f20, $f4 -/* 01EE18 7001E218 00000000 */ nop -.L7001E21C: -/* 01EE1C 7001E21C 03201025 */ move $v0, $t9 -/* 01EE20 7001E220 1F20FFF6 */ bgtz $t9, .L7001E1FC -/* 01EE24 7001E224 24630001 */ addiu $v1, $v1, 1 -/* 01EE28 7001E228 1000001E */ b .L7001E2A4 -/* 01EE2C 7001E22C 8FAF0048 */ lw $t7, 0x48($sp) -.L7001E230: -/* 01EE30 7001E230 87AE009A */ lh $t6, 0x9a($sp) -/* 01EE34 7001E234 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 01EE38 7001E238 00001825 */ move $v1, $zero -/* 01EE3C 7001E23C 19C00018 */ blez $t6, .L7001E2A0 -/* 01EE40 7001E240 31D8FFFC */ andi $t8, $t6, 0xfffc -/* 01EE44 7001E244 00181400 */ sll $v0, $t8, 0x10 -/* 01EE48 7001E248 0018CC00 */ sll $t9, $t8, 0x10 -/* 01EE4C 7001E24C 44810800 */ mtc1 $at, $f1 -/* 01EE50 7001E250 44800000 */ mtc1 $zero, $f0 -/* 01EE54 7001E254 00197403 */ sra $t6, $t9, 0x10 -/* 01EE58 7001E258 00027C03 */ sra $t7, $v0, 0x10 -/* 01EE5C 7001E25C A7B8009A */ sh $t8, 0x9a($sp) -/* 01EE60 7001E260 19C0000E */ blez $t6, .L7001E29C -/* 01EE64 7001E264 01E01025 */ move $v0, $t7 -/* 01EE68 7001E268 3C048003 */ lui $a0, %hi(digits) -/* 01EE6C 7001E26C 24849C90 */ addiu $a0, %lo(digits) # addiu $a0, $a0, -0x6370 -.L7001E270: -/* 01EE70 7001E270 304F0001 */ andi $t7, $v0, 1 -/* 01EE74 7001E274 11E00006 */ beqz $t7, .L7001E290 -/* 01EE78 7001E278 00027043 */ sra $t6, $v0, 1 -/* 01EE7C 7001E27C 0003C0C0 */ sll $t8, $v1, 3 -/* 01EE80 7001E280 0098C821 */ addu $t9, $a0, $t8 -/* 01EE84 7001E284 D7260000 */ ldc1 $f6, ($t9) -/* 01EE88 7001E288 46260002 */ mul.d $f0, $f0, $f6 -/* 01EE8C 7001E28C 00000000 */ nop -.L7001E290: -/* 01EE90 7001E290 01C01025 */ move $v0, $t6 -/* 01EE94 7001E294 1DC0FFF6 */ bgtz $t6, .L7001E270 -/* 01EE98 7001E298 24630001 */ addiu $v1, $v1, 1 -.L7001E29C: -/* 01EE9C 7001E29C 4620A503 */ div.d $f20, $f20, $f0 -.L7001E2A0: -/* 01EEA0 7001E2A0 8FAF0048 */ lw $t7, 0x48($sp) -.L7001E2A4: -/* 01EEA4 7001E2A4 24010066 */ li $at, 102 -/* 01EEA8 7001E2A8 8FB800D0 */ lw $t8, 0xd0($sp) -/* 01EEAC 7001E2AC 15E10004 */ bne $t7, $at, .L7001E2C0 -/* 01EEB0 7001E2B0 240E0030 */ li $t6, 48 -/* 01EEB4 7001E2B4 87A5009A */ lh $a1, 0x9a($sp) -/* 01EEB8 7001E2B8 10000001 */ b .L7001E2C0 -/* 01EEBC 7001E2BC 24A5000A */ addiu $a1, $a1, 0xa -.L7001E2C0: -/* 01EEC0 7001E2C0 8F190024 */ lw $t9, 0x24($t8) -/* 01EEC4 7001E2C4 00B9A021 */ addu $s4, $a1, $t9 -/* 01EEC8 7001E2C8 2A810014 */ slti $at, $s4, 0x14 -/* 01EECC 7001E2CC 14200002 */ bnez $at, .L7001E2D8 -/* 01EED0 7001E2D0 00000000 */ nop -/* 01EED4 7001E2D4 24140013 */ li $s4, 19 -.L7001E2D8: -/* 01EED8 7001E2D8 1A800033 */ blez $s4, .L7001E3A8 -/* 01EEDC 7001E2DC A3AE00B0 */ sb $t6, 0xb0($sp) -/* 01EEE0 7001E2E0 4634103C */ c.lt.d $f2, $f20 -/* 01EEE4 7001E2E4 24130030 */ li $s3, 48 -/* 01EEE8 7001E2E8 27B20074 */ addiu $s2, $sp, 0x74 -/* 01EEEC 7001E2EC 4502002F */ bc1fl .L7001E3AC -/* 01EEF0 7001E2F0 87B8009A */ lh $t8, 0x9a($sp) -/* 01EEF4 7001E2F4 4620A20D */ trunc.w.d $f8, $f20 -.L7001E2F8: -/* 01EEF8 7001E2F8 2694FFF8 */ addiu $s4, $s4, -8 -/* 01EEFC 7001E2FC 26B50008 */ addiu $s5, $s5, 8 -/* 01EF00 7001E300 44114000 */ mfc1 $s1, $f8 -/* 01EF04 7001E304 1A800008 */ blez $s4, .L7001E328 -/* 01EF08 7001E308 00000000 */ nop -/* 01EF0C 7001E30C 44915000 */ mtc1 $s1, $f10 -/* 01EF10 7001E310 3C018003 */ lui $at, %hi(F64_80029CE8) -/* 01EF14 7001E314 D4289CE8 */ ldc1 $f8, %lo(F64_80029CE8)($at) -/* 01EF18 7001E318 46805121 */ cvt.d.w $f4, $f10 -/* 01EF1C 7001E31C 4624A181 */ sub.d $f6, $f20, $f4 -/* 01EF20 7001E320 46283502 */ mul.d $f20, $f6, $f8 -/* 01EF24 7001E324 00000000 */ nop -.L7001E328: -/* 01EF28 7001E328 1A200011 */ blez $s1, .L7001E370 -/* 01EF2C 7001E32C 24100008 */ li $s0, 8 -/* 01EF30 7001E330 24100007 */ li $s0, 7 -/* 01EF34 7001E334 0600000E */ bltz $s0, .L7001E370 -/* 01EF38 7001E338 02402025 */ move $a0, $s2 -.L7001E33C: -/* 01EF3C 7001E33C 02202825 */ move $a1, $s1 -/* 01EF40 7001E340 0C008314 */ jal ldiv -/* 01EF44 7001E344 2406000A */ li $a2, 10 -/* 01EF48 7001E348 8FB80078 */ lw $t8, 0x78($sp) -/* 01EF4C 7001E34C 26B5FFFF */ addiu $s5, $s5, -1 -/* 01EF50 7001E350 27190030 */ addiu $t9, $t8, 0x30 -/* 01EF54 7001E354 A2B90000 */ sb $t9, ($s5) -/* 01EF58 7001E358 8FB10074 */ lw $s1, 0x74($sp) -/* 01EF5C 7001E35C 5A200005 */ blezl $s1, .L7001E374 -/* 01EF60 7001E360 44801800 */ mtc1 $zero, $f3 -/* 01EF64 7001E364 2610FFFF */ addiu $s0, $s0, -1 -/* 01EF68 7001E368 0603FFF4 */ bgezl $s0, .L7001E33C -/* 01EF6C 7001E36C 02402025 */ move $a0, $s2 -.L7001E370: -/* 01EF70 7001E370 44801800 */ mtc1 $zero, $f3 -.L7001E374: -/* 01EF74 7001E374 44801000 */ mtc1 $zero, $f2 -/* 01EF78 7001E378 2610FFFF */ addiu $s0, $s0, -1 -/* 01EF7C 7001E37C 06000004 */ bltz $s0, .L7001E390 -.L7001E380: -/* 01EF80 7001E380 2610FFFF */ addiu $s0, $s0, -1 -/* 01EF84 7001E384 26B5FFFF */ addiu $s5, $s5, -1 -/* 01EF88 7001E388 0601FFFD */ bgez $s0, .L7001E380 -/* 01EF8C 7001E38C A2B30000 */ sb $s3, ($s5) -.L7001E390: -/* 01EF90 7001E390 1A800005 */ blez $s4, .L7001E3A8 -/* 01EF94 7001E394 26B50008 */ addiu $s5, $s5, 8 -/* 01EF98 7001E398 4634103C */ c.lt.d $f2, $f20 -/* 01EF9C 7001E39C 00000000 */ nop -/* 01EFA0 7001E3A0 4503FFD5 */ bc1tl .L7001E2F8 -/* 01EFA4 7001E3A4 4620A20D */ trunc.w.d $f8, $f20 -.L7001E3A8: -/* 01EFA8 7001E3A8 87B8009A */ lh $t8, 0x9a($sp) -.L7001E3AC: -/* 01EFAC 7001E3AC 93AE00B1 */ lbu $t6, 0xb1($sp) -/* 01EFB0 7001E3B0 27AF00B0 */ addiu $t7, $sp, 0xb0 -/* 01EFB4 7001E3B4 24020030 */ li $v0, 48 -/* 01EFB8 7001E3B8 02AFA023 */ subu $s4, $s5, $t7 -/* 01EFBC 7001E3BC 27190007 */ addiu $t9, $t8, 7 -/* 01EFC0 7001E3C0 2694FFFF */ addiu $s4, $s4, -1 -/* 01EFC4 7001E3C4 A7B9009A */ sh $t9, 0x9a($sp) -/* 01EFC8 7001E3C8 144E0009 */ bne $v0, $t6, .L7001E3F0 -/* 01EFCC 7001E3CC 27B500B1 */ addiu $s5, $sp, 0xb1 -/* 01EFD0 7001E3D0 87AF009A */ lh $t7, 0x9a($sp) -.L7001E3D4: -/* 01EFD4 7001E3D4 26B50001 */ addiu $s5, $s5, 1 -/* 01EFD8 7001E3D8 2694FFFF */ addiu $s4, $s4, -1 -/* 01EFDC 7001E3DC 25F8FFFF */ addiu $t8, $t7, -1 -/* 01EFE0 7001E3E0 A7B8009A */ sh $t8, 0x9a($sp) -/* 01EFE4 7001E3E4 92B90000 */ lbu $t9, ($s5) -/* 01EFE8 7001E3E8 5059FFFA */ beql $v0, $t9, .L7001E3D4 -/* 01EFEC 7001E3EC 87AF009A */ lh $t7, 0x9a($sp) -.L7001E3F0: -/* 01EFF0 7001E3F0 8FAE0048 */ lw $t6, 0x48($sp) -/* 01EFF4 7001E3F4 24010066 */ li $at, 102 -/* 01EFF8 7001E3F8 8FB800D0 */ lw $t8, 0xd0($sp) -/* 01EFFC 7001E3FC 15C10004 */ bne $t6, $at, .L7001E410 -/* 01F000 7001E400 8FAF0048 */ lw $t7, 0x48($sp) -/* 01F004 7001E404 87A5009A */ lh $a1, 0x9a($sp) -/* 01F008 7001E408 10000009 */ b .L7001E430 -/* 01F00C 7001E40C 24A50001 */ addiu $a1, $a1, 1 -.L7001E410: -/* 01F010 7001E410 24010065 */ li $at, 101 -/* 01F014 7001E414 11E10003 */ beq $t7, $at, .L7001E424 -/* 01F018 7001E418 24010045 */ li $at, 69 -/* 01F01C 7001E41C 15E10003 */ bne $t7, $at, .L7001E42C -/* 01F020 7001E420 00001025 */ move $v0, $zero -.L7001E424: -/* 01F024 7001E424 10000001 */ b .L7001E42C -/* 01F028 7001E428 24020001 */ li $v0, 1 -.L7001E42C: -/* 01F02C 7001E42C 00402825 */ move $a1, $v0 -.L7001E430: -/* 01F030 7001E430 8F190024 */ lw $t9, 0x24($t8) -/* 01F034 7001E434 00B99821 */ addu $s3, $a1, $t9 -/* 01F038 7001E438 00137400 */ sll $t6, $s3, 0x10 -/* 01F03C 7001E43C 000E9C03 */ sra $s3, $t6, 0x10 -/* 01F040 7001E440 0293082A */ slt $at, $s4, $s3 -/* 01F044 7001E444 10200004 */ beqz $at, .L7001E458 -/* 01F048 7001E448 00000000 */ nop -/* 01F04C 7001E44C 00149C00 */ sll $s3, $s4, 0x10 -/* 01F050 7001E450 0013C403 */ sra $t8, $s3, 0x10 -/* 01F054 7001E454 03009825 */ move $s3, $t8 -.L7001E458: -/* 01F058 7001E458 1A600025 */ blez $s3, .L7001E4F0 -/* 01F05C 7001E45C 0274082A */ slt $at, $s3, $s4 -/* 01F060 7001E460 10200007 */ beqz $at, .L7001E480 -/* 01F064 7001E464 02751021 */ addu $v0, $s3, $s5 -/* 01F068 7001E468 90590000 */ lbu $t9, ($v0) -/* 01F06C 7001E46C 2B210035 */ slti $at, $t9, 0x35 -/* 01F070 7001E470 54200004 */ bnezl $at, .L7001E484 -/* 01F074 7001E474 24050030 */ li $a1, 48 -/* 01F078 7001E478 10000003 */ b .L7001E488 -/* 01F07C 7001E47C 24050039 */ li $a1, 57 -.L7001E480: -/* 01F080 7001E480 24050030 */ li $a1, 48 -.L7001E484: -/* 01F084 7001E484 02751021 */ addu $v0, $s3, $s5 -.L7001E488: -/* 01F088 7001E488 904EFFFF */ lbu $t6, -1($v0) -/* 01F08C 7001E48C 2663FFFF */ addiu $v1, $s3, -1 -/* 01F090 7001E490 00A02025 */ move $a0, $a1 -/* 01F094 7001E494 14AE0009 */ bne $a1, $t6, .L7001E4BC -/* 01F098 7001E498 24010039 */ li $at, 57 -/* 01F09C 7001E49C 00751021 */ addu $v0, $v1, $s5 -.L7001E4A0: -/* 01F0A0 7001E4A0 9059FFFF */ lbu $t9, -1($v0) -/* 01F0A4 7001E4A4 2673FFFF */ addiu $s3, $s3, -1 -/* 01F0A8 7001E4A8 00137C00 */ sll $t7, $s3, 0x10 -/* 01F0AC 7001E4AC 2463FFFF */ addiu $v1, $v1, -1 -/* 01F0B0 7001E4B0 2442FFFF */ addiu $v0, $v0, -1 -/* 01F0B4 7001E4B4 1099FFFA */ beq $a0, $t9, .L7001E4A0 -/* 01F0B8 7001E4B8 000F9C03 */ sra $s3, $t7, 0x10 -.L7001E4BC: -/* 01F0BC 7001E4BC 14810004 */ bne $a0, $at, .L7001E4D0 -/* 01F0C0 7001E4C0 02A31021 */ addu $v0, $s5, $v1 -/* 01F0C4 7001E4C4 904E0000 */ lbu $t6, ($v0) -/* 01F0C8 7001E4C8 25CF0001 */ addiu $t7, $t6, 1 -/* 01F0CC 7001E4CC A04F0000 */ sb $t7, ($v0) -.L7001E4D0: -/* 01F0D0 7001E4D0 04610007 */ bgez $v1, .L7001E4F0 -/* 01F0D4 7001E4D4 87AE009A */ lh $t6, 0x9a($sp) -/* 01F0D8 7001E4D8 26730001 */ addiu $s3, $s3, 1 -/* 01F0DC 7001E4DC 0013C400 */ sll $t8, $s3, 0x10 -/* 01F0E0 7001E4E0 25CF0001 */ addiu $t7, $t6, 1 -/* 01F0E4 7001E4E4 A7AF009A */ sh $t7, 0x9a($sp) -/* 01F0E8 7001E4E8 00189C03 */ sra $s3, $t8, 0x10 -/* 01F0EC 7001E4EC 26B5FFFF */ addiu $s5, $s5, -1 -.L7001E4F0: -/* 01F0F0 7001E4F0 8FB000D0 */ lw $s0, 0xd0($sp) -/* 01F0F4 7001E4F4 93B400D7 */ lbu $s4, 0xd7($sp) -/* 01F0F8 7001E4F8 02A08825 */ move $s1, $s5 -/* 01F0FC 7001E4FC 0C00769C */ jal xldtob_sub0 -/* 01F100 7001E500 87B2009A */ lh $s2, 0x9a($sp) -/* 01F104 7001E504 8FBF003C */ lw $ra, 0x3c($sp) -.L7001E508: -/* 01F108 7001E508 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 01F10C 7001E50C 8FB00024 */ lw $s0, 0x24($sp) -/* 01F110 7001E510 8FB10028 */ lw $s1, 0x28($sp) -/* 01F114 7001E514 8FB2002C */ lw $s2, 0x2c($sp) -/* 01F118 7001E518 8FB30030 */ lw $s3, 0x30($sp) -/* 01F11C 7001E51C 8FB40034 */ lw $s4, 0x34($sp) -/* 01F120 7001E520 8FB50038 */ lw $s5, 0x38($sp) -/* 01F124 7001E524 03E00008 */ jr $ra -/* 01F128 7001E528 27BD00D0 */ addiu $sp, $sp, 0xd0 - -/* 01F12C 7001E52C 00000000 */ nop -.section .rodata -glabel asc_D_80029CE0 - .ascii "0"<0> - .align 3 -glabel F64_80029CE8 - .double 1.0e8 - -.section .text -glabel osEPiRawStartDma -/* 01F130 7001E530 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 01F134 7001E534 AFBF001C */ sw $ra, 0x1c($sp) -/* 01F138 7001E538 AFA40028 */ sw $a0, 0x28($sp) -/* 01F13C 7001E53C AFA5002C */ sw $a1, 0x2c($sp) -/* 01F140 7001E540 AFA60030 */ sw $a2, 0x30($sp) -/* 01F144 7001E544 AFA70034 */ sw $a3, 0x34($sp) -/* 01F148 7001E548 AFB10018 */ sw $s1, 0x18($sp) -/* 01F14C 7001E54C AFB00014 */ sw $s0, 0x14($sp) -/* 01F150 7001E550 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 -/* 01F154 7001E554 8DD00010 */ lw $s0, %lo(PI_STATUS_REG)($t6) -/* 01F158 7001E558 320F0003 */ andi $t7, $s0, 3 -/* 01F15C 7001E55C 11E00006 */ beqz $t7, .L7001E578 -/* 01F160 7001E560 00000000 */ nop -.L7001E564: -/* 01F164 7001E564 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 01F168 7001E568 8F100010 */ lw $s0, %lo(PI_STATUS_REG)($t8) -/* 01F16C 7001E56C 32190003 */ andi $t9, $s0, 3 -/* 01F170 7001E570 1720FFFC */ bnez $t9, .L7001E564 -/* 01F174 7001E574 00000000 */ nop -.L7001E578: -/* 01F178 7001E578 0C003A2C */ jal osVirtualToPhysical -/* 01F17C 7001E57C 8FA40034 */ lw $a0, 0x34($sp) -/* 01F180 7001E580 3C08A460 */ lui $t0, 0xa460 -/* 01F184 7001E584 AD020000 */ sw $v0, ($t0) -/* 01F188 7001E588 8FA90028 */ lw $t1, 0x28($sp) -/* 01F18C 7001E58C 8FAB0030 */ lw $t3, 0x30($sp) -/* 01F190 7001E590 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 01F194 7001E594 8D2A000C */ lw $t2, 0xc($t1) -/* 01F198 7001E598 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01F19C 7001E59C 3C0EA460 */ lui $t6, %hi(PI_CART_ADDR_REG) # $t6, 0xa460 -/* 01F1A0 7001E5A0 014B6025 */ or $t4, $t2, $t3 -/* 01F1A4 7001E5A4 01816824 */ and $t5, $t4, $at -/* 01F1A8 7001E5A8 ADCD0004 */ sw $t5, %lo(PI_CART_ADDR_REG)($t6) -/* 01F1AC 7001E5AC 8FB1002C */ lw $s1, 0x2c($sp) -/* 01F1B0 7001E5B0 12200005 */ beqz $s1, .L7001E5C8 -/* 01F1B4 7001E5B4 24010001 */ li $at, 1 -/* 01F1B8 7001E5B8 12210008 */ beq $s1, $at, .L7001E5DC -/* 01F1BC 7001E5BC 00000000 */ nop -/* 01F1C0 7001E5C0 1000000B */ b .L7001E5F0 -/* 01F1C4 7001E5C4 00000000 */ nop -.L7001E5C8: -/* 01F1C8 7001E5C8 8FAF0038 */ lw $t7, 0x38($sp) -/* 01F1CC 7001E5CC 3C19A460 */ lui $t9, %hi(PI_WR_LEN_REG) # $t9, 0xa460 -/* 01F1D0 7001E5D0 25F8FFFF */ addiu $t8, $t7, -1 -/* 01F1D4 7001E5D4 10000008 */ b .L7001E5F8 -/* 01F1D8 7001E5D8 AF38000C */ sw $t8, %lo(PI_WR_LEN_REG)($t9) -.L7001E5DC: -/* 01F1DC 7001E5DC 8FA80038 */ lw $t0, 0x38($sp) -/* 01F1E0 7001E5E0 3C0AA460 */ lui $t2, %hi(PI_RD_LEN_REG) # $t2, 0xa460 -/* 01F1E4 7001E5E4 2509FFFF */ addiu $t1, $t0, -1 -/* 01F1E8 7001E5E8 10000003 */ b .L7001E5F8 -/* 01F1EC 7001E5EC AD490008 */ sw $t1, %lo(PI_RD_LEN_REG)($t2) -.L7001E5F0: -/* 01F1F0 7001E5F0 10000002 */ b .L7001E5FC -/* 01F1F4 7001E5F4 2402FFFF */ li $v0, -1 -.L7001E5F8: -/* 01F1F8 7001E5F8 00001025 */ move $v0, $zero -.L7001E5FC: -/* 01F1FC 7001E5FC 8FBF001C */ lw $ra, 0x1c($sp) -/* 01F200 7001E600 8FB00014 */ lw $s0, 0x14($sp) -/* 01F204 7001E604 8FB10018 */ lw $s1, 0x18($sp) -/* 01F208 7001E608 03E00008 */ jr $ra -/* 01F20C 7001E60C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel __osDevMgrMain -/* 01F210 7001E610 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01F214 7001E614 AFA40040 */ sw $a0, 0x40($sp) -/* 01F218 7001E618 8FAE0040 */ lw $t6, 0x40($sp) -/* 01F21C 7001E61C AFBF001C */ sw $ra, 0x1c($sp) -/* 01F220 7001E620 AFA00028 */ sw $zero, 0x28($sp) -/* 01F224 7001E624 AFA0003C */ sw $zero, 0x3c($sp) -/* 01F228 7001E628 AFA00030 */ sw $zero, 0x30($sp) -/* 01F22C 7001E62C AFAE002C */ sw $t6, 0x2c($sp) -.L7001E630: -/* 01F230 7001E630 8FAF002C */ lw $t7, 0x2c($sp) -/* 01F234 7001E634 27A5003C */ addiu $a1, $sp, 0x3c -/* 01F238 7001E638 24060001 */ li $a2, 1 -/* 01F23C 7001E63C 0C003774 */ jal osRecvMesg -/* 01F240 7001E640 8DE40008 */ lw $a0, 8($t7) -/* 01F244 7001E644 8FB8003C */ lw $t8, 0x3c($sp) -/* 01F248 7001E648 8F190014 */ lw $t9, 0x14($t8) -/* 01F24C 7001E64C 13200065 */ beqz $t9, .L7001E7E4 -/* 01F250 7001E650 00000000 */ nop -/* 01F254 7001E654 93280004 */ lbu $t0, 4($t9) -/* 01F258 7001E658 24010002 */ li $at, 2 -/* 01F25C 7001E65C 15010061 */ bne $t0, $at, .L7001E7E4 -/* 01F260 7001E660 00000000 */ nop -/* 01F264 7001E664 8F290014 */ lw $t1, 0x14($t9) -/* 01F268 7001E668 11200003 */ beqz $t1, .L7001E678 -/* 01F26C 7001E66C 24010001 */ li $at, 1 -/* 01F270 7001E670 1521005C */ bne $t1, $at, .L7001E7E4 -/* 01F274 7001E674 00000000 */ nop -.L7001E678: -/* 01F278 7001E678 8FAA003C */ lw $t2, 0x3c($sp) -/* 01F27C 7001E67C 2408FFFF */ li $t0, -1 -/* 01F280 7001E680 24010003 */ li $at, 3 -/* 01F284 7001E684 8D4B0014 */ lw $t3, 0x14($t2) -/* 01F288 7001E688 256C0014 */ addiu $t4, $t3, 0x14 -/* 01F28C 7001E68C AFAC0020 */ sw $t4, 0x20($sp) -/* 01F290 7001E690 958D0006 */ lhu $t5, 6($t4) -/* 01F294 7001E694 000D70C0 */ sll $t6, $t5, 3 -/* 01F298 7001E698 01CD7021 */ addu $t6, $t6, $t5 -/* 01F29C 7001E69C 000E7080 */ sll $t6, $t6, 2 -/* 01F2A0 7001E6A0 018E7821 */ addu $t7, $t4, $t6 -/* 01F2A4 7001E6A4 25F80018 */ addiu $t8, $t7, 0x18 -/* 01F2A8 7001E6A8 AFB80024 */ sw $t8, 0x24($sp) -/* 01F2AC 7001E6AC AD880008 */ sw $t0, 8($t4) -/* 01F2B0 7001E6B0 8FB90020 */ lw $t9, 0x20($sp) -/* 01F2B4 7001E6B4 97290004 */ lhu $t1, 4($t9) -/* 01F2B8 7001E6B8 11210006 */ beq $t1, $at, .L7001E6D4 -/* 01F2BC 7001E6BC 00000000 */ nop -/* 01F2C0 7001E6C0 8FAA0024 */ lw $t2, 0x24($sp) -/* 01F2C4 7001E6C4 8D4B0004 */ lw $t3, 4($t2) -/* 01F2C8 7001E6C8 8D4D000C */ lw $t5, 0xc($t2) -/* 01F2CC 7001E6CC 016D7023 */ subu $t6, $t3, $t5 -/* 01F2D0 7001E6D0 AD4E0004 */ sw $t6, 4($t2) -.L7001E6D4: -/* 01F2D4 7001E6D4 8FAF0020 */ lw $t7, 0x20($sp) -/* 01F2D8 7001E6D8 24010002 */ li $at, 2 -/* 01F2DC 7001E6DC 95F80004 */ lhu $t8, 4($t7) -/* 01F2E0 7001E6E0 17010009 */ bne $t8, $at, .L7001E708 -/* 01F2E4 7001E6E4 00000000 */ nop -/* 01F2E8 7001E6E8 8FA8003C */ lw $t0, 0x3c($sp) -/* 01F2EC 7001E6EC 8D0C0014 */ lw $t4, 0x14($t0) -/* 01F2F0 7001E6F0 8D990014 */ lw $t9, 0x14($t4) -/* 01F2F4 7001E6F4 17200004 */ bnez $t9, .L7001E708 -/* 01F2F8 7001E6F8 00000000 */ nop -/* 01F2FC 7001E6FC 24090001 */ li $t1, 1 -/* 01F300 7001E700 10000002 */ b .L7001E70C -/* 01F304 7001E704 AFA90028 */ sw $t1, 0x28($sp) -.L7001E708: -/* 01F308 7001E708 AFA00028 */ sw $zero, 0x28($sp) -.L7001E70C: -/* 01F30C 7001E70C 8FAB002C */ lw $t3, 0x2c($sp) -/* 01F310 7001E710 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F314 7001E714 24060001 */ li $a2, 1 -/* 01F318 7001E718 0C003774 */ jal osRecvMesg -/* 01F31C 7001E71C 8D640010 */ lw $a0, 0x10($t3) -/* 01F320 7001E720 3C040010 */ lui $a0, (0x00100401 >> 16) # lui $a0, 0x10 -/* 01F324 7001E724 0C008338 */ jal __osResetGlobalIntMask -/* 01F328 7001E728 34840401 */ ori $a0, (0x00100401 & 0xFFFF) # ori $a0, $a0, 0x401 -/* 01F32C 7001E72C 8FAE0020 */ lw $t6, 0x20($sp) -/* 01F330 7001E730 8FAD003C */ lw $t5, 0x3c($sp) -/* 01F334 7001E734 3C018000 */ lui $at, 0x8000 -/* 01F338 7001E738 8DC60010 */ lw $a2, 0x10($t6) -/* 01F33C 7001E73C 3C050500 */ lui $a1, (0x05000510 >> 16) # lui $a1, 0x500 -/* 01F340 7001E740 34A50510 */ ori $a1, (0x05000510 & 0xFFFF) # ori $a1, $a1, 0x510 -/* 01F344 7001E744 00C15025 */ or $t2, $a2, $at -/* 01F348 7001E748 01403025 */ move $a2, $t2 -/* 01F34C 7001E74C 0C008350 */ jal osEPiRawWriteIo -/* 01F350 7001E750 8DA40014 */ lw $a0, 0x14($t5) -.L7001E754: -/* 01F354 7001E754 8FAF002C */ lw $t7, 0x2c($sp) -/* 01F358 7001E758 27A50038 */ addiu $a1, $sp, 0x38 -/* 01F35C 7001E75C 24060001 */ li $a2, 1 -/* 01F360 7001E760 0C003774 */ jal osRecvMesg -/* 01F364 7001E764 8DE4000C */ lw $a0, 0xc($t7) -/* 01F368 7001E768 8FB8003C */ lw $t8, 0x3c($sp) -/* 01F36C 7001E76C 00003025 */ move $a2, $zero -/* 01F370 7001E770 8F040004 */ lw $a0, 4($t8) -/* 01F374 7001E774 0C0037C4 */ jal osSendMesg -/* 01F378 7001E778 03002825 */ move $a1, $t8 -/* 01F37C 7001E77C 8FA80028 */ lw $t0, 0x28($sp) -/* 01F380 7001E780 24010001 */ li $at, 1 -/* 01F384 7001E784 15010008 */ bne $t0, $at, .L7001E7A8 -/* 01F388 7001E788 00000000 */ nop -/* 01F38C 7001E78C 8FAC003C */ lw $t4, 0x3c($sp) -/* 01F390 7001E790 8D990014 */ lw $t9, 0x14($t4) -/* 01F394 7001E794 8F29002C */ lw $t1, 0x2c($t9) -/* 01F398 7001E798 15200003 */ bnez $t1, .L7001E7A8 -/* 01F39C 7001E79C 00000000 */ nop -/* 01F3A0 7001E7A0 1000FFEC */ b .L7001E754 -/* 01F3A4 7001E7A4 AFA00028 */ sw $zero, 0x28($sp) -.L7001E7A8: -/* 01F3A8 7001E7A8 8FAB002C */ lw $t3, 0x2c($sp) -/* 01F3AC 7001E7AC 00002825 */ move $a1, $zero -/* 01F3B0 7001E7B0 00003025 */ move $a2, $zero -/* 01F3B4 7001E7B4 0C0037C4 */ jal osSendMesg -/* 01F3B8 7001E7B8 8D640010 */ lw $a0, 0x10($t3) -/* 01F3BC 7001E7BC 8FAD003C */ lw $t5, 0x3c($sp) -/* 01F3C0 7001E7C0 24010001 */ li $at, 1 -/* 01F3C4 7001E7C4 8DAE0014 */ lw $t6, 0x14($t5) -/* 01F3C8 7001E7C8 95CA001A */ lhu $t2, 0x1a($t6) -/* 01F3CC 7001E7CC 1541FF98 */ bne $t2, $at, .L7001E630 -/* 01F3D0 7001E7D0 00000000 */ nop -/* 01F3D4 7001E7D4 0C0042B4 */ jal osYieldThread -/* 01F3D8 7001E7D8 00000000 */ nop -/* 01F3DC 7001E7DC 1000FF94 */ b .L7001E630 -/* 01F3E0 7001E7E0 00000000 */ nop -.L7001E7E4: -/* 01F3E4 7001E7E4 8FAF003C */ lw $t7, 0x3c($sp) -/* 01F3E8 7001E7E8 95F80000 */ lhu $t8, ($t7) -/* 01F3EC 7001E7EC 2708FFF6 */ addiu $t0, $t8, -0xa -/* 01F3F0 7001E7F0 2D010007 */ sltiu $at, $t0, 7 -/* 01F3F4 7001E7F4 10200052 */ beqz $at, .L7001E940 -/* 01F3F8 7001E7F8 00000000 */ nop -/* 01F3FC 7001E7FC 00084080 */ sll $t0, $t0, 2 -/* 01F400 7001E800 3C018003 */ lui $at, %hi(jpt_80029CF0) -/* 01F404 7001E804 00280821 */ addu $at, $at, $t0 -/* 01F408 7001E808 8C289CF0 */ lw $t0, %lo(jpt_80029CF0)($at) -/* 01F40C 7001E80C 01000008 */ jr $t0 -/* 01F410 7001E810 00000000 */ nop -.L7001E814: -/* 01F414 7001E814 8FAC002C */ lw $t4, 0x2c($sp) -/* 01F418 7001E818 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F41C 7001E81C 24060001 */ li $a2, 1 -/* 01F420 7001E820 0C003774 */ jal osRecvMesg -/* 01F424 7001E824 8D840010 */ lw $a0, 0x10($t4) -/* 01F428 7001E828 8FB9003C */ lw $t9, 0x3c($sp) -/* 01F42C 7001E82C 8FA9002C */ lw $t1, 0x2c($sp) -/* 01F430 7001E830 00002025 */ move $a0, $zero -/* 01F434 7001E834 8F25000C */ lw $a1, 0xc($t9) -/* 01F438 7001E838 8F260008 */ lw $a2, 8($t9) -/* 01F43C 7001E83C 8F270010 */ lw $a3, 0x10($t9) -/* 01F440 7001E840 8D390014 */ lw $t9, 0x14($t1) -/* 01F444 7001E844 0320F809 */ jalr $t9 -/* 01F448 7001E848 00000000 */ nop -/* 01F44C 7001E84C 1000003E */ b .L7001E948 -/* 01F450 7001E850 AFA20030 */ sw $v0, 0x30($sp) -.L7001E854: -/* 01F454 7001E854 8FAB002C */ lw $t3, 0x2c($sp) -/* 01F458 7001E858 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F45C 7001E85C 24060001 */ li $a2, 1 -/* 01F460 7001E860 0C003774 */ jal osRecvMesg -/* 01F464 7001E864 8D640010 */ lw $a0, 0x10($t3) -/* 01F468 7001E868 8FAE002C */ lw $t6, 0x2c($sp) -/* 01F46C 7001E86C 8FAD003C */ lw $t5, 0x3c($sp) -/* 01F470 7001E870 24040001 */ li $a0, 1 -/* 01F474 7001E874 8DD90014 */ lw $t9, 0x14($t6) -/* 01F478 7001E878 8DA5000C */ lw $a1, 0xc($t5) -/* 01F47C 7001E87C 8DA60008 */ lw $a2, 8($t5) -/* 01F480 7001E880 0320F809 */ jalr $t9 -/* 01F484 7001E884 8DA70010 */ lw $a3, 0x10($t5) -/* 01F488 7001E888 1000002F */ b .L7001E948 -/* 01F48C 7001E88C AFA20030 */ sw $v0, 0x30($sp) -.L7001E890: -/* 01F490 7001E890 8FAA002C */ lw $t2, 0x2c($sp) -/* 01F494 7001E894 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F498 7001E898 24060001 */ li $a2, 1 -/* 01F49C 7001E89C 0C003774 */ jal osRecvMesg -/* 01F4A0 7001E8A0 8D440010 */ lw $a0, 0x10($t2) -/* 01F4A4 7001E8A4 8FAF003C */ lw $t7, 0x3c($sp) -/* 01F4A8 7001E8A8 8FA8002C */ lw $t0, 0x2c($sp) -/* 01F4AC 7001E8AC 00002825 */ move $a1, $zero -/* 01F4B0 7001E8B0 8DF80010 */ lw $t8, 0x10($t7) -/* 01F4B4 7001E8B4 8DE40014 */ lw $a0, 0x14($t7) -/* 01F4B8 7001E8B8 8DE6000C */ lw $a2, 0xc($t7) -/* 01F4BC 7001E8BC 8DE70008 */ lw $a3, 8($t7) -/* 01F4C0 7001E8C0 AFB80010 */ sw $t8, 0x10($sp) -/* 01F4C4 7001E8C4 8D190018 */ lw $t9, 0x18($t0) -/* 01F4C8 7001E8C8 0320F809 */ jalr $t9 -/* 01F4CC 7001E8CC 00000000 */ nop -/* 01F4D0 7001E8D0 1000001D */ b .L7001E948 -/* 01F4D4 7001E8D4 AFA20030 */ sw $v0, 0x30($sp) -.L7001E8D8: -/* 01F4D8 7001E8D8 8FAC002C */ lw $t4, 0x2c($sp) -/* 01F4DC 7001E8DC 27A50034 */ addiu $a1, $sp, 0x34 -/* 01F4E0 7001E8E0 24060001 */ li $a2, 1 -/* 01F4E4 7001E8E4 0C003774 */ jal osRecvMesg -/* 01F4E8 7001E8E8 8D840010 */ lw $a0, 0x10($t4) -/* 01F4EC 7001E8EC 8FA9003C */ lw $t1, 0x3c($sp) -/* 01F4F0 7001E8F0 8FAD002C */ lw $t5, 0x2c($sp) -/* 01F4F4 7001E8F4 24050001 */ li $a1, 1 -/* 01F4F8 7001E8F8 8D2B0010 */ lw $t3, 0x10($t1) -/* 01F4FC 7001E8FC 8D240014 */ lw $a0, 0x14($t1) -/* 01F500 7001E900 8D26000C */ lw $a2, 0xc($t1) -/* 01F504 7001E904 8D270008 */ lw $a3, 8($t1) -/* 01F508 7001E908 AFAB0010 */ sw $t3, 0x10($sp) -/* 01F50C 7001E90C 8DB90018 */ lw $t9, 0x18($t5) -/* 01F510 7001E910 0320F809 */ jalr $t9 -/* 01F514 7001E914 00000000 */ nop -/* 01F518 7001E918 1000000B */ b .L7001E948 -/* 01F51C 7001E91C AFA20030 */ sw $v0, 0x30($sp) -.L7001E920: -/* 01F520 7001E920 8FAE003C */ lw $t6, 0x3c($sp) -/* 01F524 7001E924 00003025 */ move $a2, $zero -/* 01F528 7001E928 8DC40004 */ lw $a0, 4($t6) -/* 01F52C 7001E92C 0C0037C4 */ jal osSendMesg -/* 01F530 7001E930 01C02825 */ move $a1, $t6 -/* 01F534 7001E934 240AFFFF */ li $t2, -1 -/* 01F538 7001E938 10000003 */ b .L7001E948 -/* 01F53C 7001E93C AFAA0030 */ sw $t2, 0x30($sp) -.L7001E940: -/* 01F540 7001E940 240FFFFF */ li $t7, -1 -/* 01F544 7001E944 AFAF0030 */ sw $t7, 0x30($sp) -.L7001E948: -/* 01F548 7001E948 8FB80030 */ lw $t8, 0x30($sp) -/* 01F54C 7001E94C 1700FF38 */ bnez $t8, .L7001E630 -/* 01F550 7001E950 00000000 */ nop -/* 01F554 7001E954 8FA8002C */ lw $t0, 0x2c($sp) -/* 01F558 7001E958 27A50038 */ addiu $a1, $sp, 0x38 -/* 01F55C 7001E95C 24060001 */ li $a2, 1 -/* 01F560 7001E960 0C003774 */ jal osRecvMesg -/* 01F564 7001E964 8D04000C */ lw $a0, 0xc($t0) -/* 01F568 7001E968 8FAC003C */ lw $t4, 0x3c($sp) -/* 01F56C 7001E96C 00003025 */ move $a2, $zero -/* 01F570 7001E970 8D840004 */ lw $a0, 4($t4) -/* 01F574 7001E974 0C0037C4 */ jal osSendMesg -/* 01F578 7001E978 01802825 */ move $a1, $t4 -/* 01F57C 7001E97C 8FA9002C */ lw $t1, 0x2c($sp) -/* 01F580 7001E980 00002825 */ move $a1, $zero -/* 01F584 7001E984 00003025 */ move $a2, $zero -/* 01F588 7001E988 0C0037C4 */ jal osSendMesg -/* 01F58C 7001E98C 8D240010 */ lw $a0, 0x10($t1) -/* 01F590 7001E990 1000FF27 */ b .L7001E630 -/* 01F594 7001E994 00000000 */ nop -/* 01F598 7001E998 00000000 */ nop -/* 01F59C 7001E99C 00000000 */ nop -/* 01F5A0 7001E9A0 00000000 */ nop -/* 01F5A4 7001E9A4 00000000 */ nop -/* 01F5A8 7001E9A8 00000000 */ nop -/* 01F5AC 7001E9AC 00000000 */ nop -/* 01F5B0 7001E9B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 01F5B4 7001E9B4 27BD0040 */ addiu $sp, $sp, 0x40 -/* 01F5B8 7001E9B8 03E00008 */ jr $ra -/* 01F5BC 7001E9BC 00000000 */ nop -.section .rodata -glabel jpt_80029CF0 - .word .L7001E920 - .word .L7001E814 - .word .L7001E854 - .word .L7001E940 - .word .L7001E940 - .word .L7001E890 - .word .L7001E8D8 -.align 4 - -.section .text -glabel __osSumcalc -/* 01F5C0 7001E9C0 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 01F5C4 7001E9C4 AFA00008 */ sw $zero, 8($sp) -/* 01F5C8 7001E9C8 AFA40004 */ sw $a0, 4($sp) -/* 01F5CC 7001E9CC 18A00010 */ blez $a1, .L7001EA10 -/* 01F5D0 7001E9D0 AFA0000C */ sw $zero, 0xc($sp) -.L7001E9D4: -/* 01F5D4 7001E9D4 8FAF0004 */ lw $t7, 4($sp) -/* 01F5D8 7001E9D8 8FAE0008 */ lw $t6, 8($sp) -/* 01F5DC 7001E9DC 8FAB000C */ lw $t3, 0xc($sp) -/* 01F5E0 7001E9E0 91F80000 */ lbu $t8, ($t7) -/* 01F5E4 7001E9E4 25E80001 */ addiu $t0, $t7, 1 -/* 01F5E8 7001E9E8 256C0001 */ addiu $t4, $t3, 1 -/* 01F5EC 7001E9EC 01D8C821 */ addu $t9, $t6, $t8 -/* 01F5F0 7001E9F0 AFB90008 */ sw $t9, 8($sp) -/* 01F5F4 7001E9F4 8FA90008 */ lw $t1, 8($sp) -/* 01F5F8 7001E9F8 0185082A */ slt $at, $t4, $a1 -/* 01F5FC 7001E9FC AFAC000C */ sw $t4, 0xc($sp) -/* 01F600 7001EA00 312AFFFF */ andi $t2, $t1, 0xffff -/* 01F604 7001EA04 AFA80004 */ sw $t0, 4($sp) -/* 01F608 7001EA08 1420FFF2 */ bnez $at, .L7001E9D4 -/* 01F60C 7001EA0C AFAA0008 */ sw $t2, 8($sp) -.L7001EA10: -/* 01F610 7001EA10 97A2000A */ lhu $v0, 0xa($sp) -/* 01F614 7001EA14 03E00008 */ jr $ra -/* 01F618 7001EA18 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel __osIdCheckSum -/* 01F61C 7001EA1C 27BDFFF8 */ addiu $sp, $sp, -8 -/* 01F620 7001EA20 A7A00006 */ sh $zero, 6($sp) -/* 01F624 7001EA24 A4C00000 */ sh $zero, ($a2) -/* 01F628 7001EA28 94CE0000 */ lhu $t6, ($a2) -/* 01F62C 7001EA2C A4AE0000 */ sh $t6, ($a1) -/* 01F630 7001EA30 AFA00000 */ sw $zero, ($sp) -.L7001EA34: -/* 01F634 7001EA34 8FAF0000 */ lw $t7, ($sp) -/* 01F638 7001EA38 008FC021 */ addu $t8, $a0, $t7 -/* 01F63C 7001EA3C 97190000 */ lhu $t9, ($t8) -/* 01F640 7001EA40 A7B90006 */ sh $t9, 6($sp) -/* 01F644 7001EA44 94A80000 */ lhu $t0, ($a1) -/* 01F648 7001EA48 01194821 */ addu $t1, $t0, $t9 -/* 01F64C 7001EA4C A4A90000 */ sh $t1, ($a1) -/* 01F650 7001EA50 97AB0006 */ lhu $t3, 6($sp) -/* 01F654 7001EA54 94CA0000 */ lhu $t2, ($a2) -/* 01F658 7001EA58 01606027 */ not $t4, $t3 -/* 01F65C 7001EA5C 014C6821 */ addu $t5, $t2, $t4 -/* 01F660 7001EA60 A4CD0000 */ sh $t5, ($a2) -/* 01F664 7001EA64 8FAE0000 */ lw $t6, ($sp) -/* 01F668 7001EA68 25CF0002 */ addiu $t7, $t6, 2 -/* 01F66C 7001EA6C 2DE1001C */ sltiu $at, $t7, 0x1c -/* 01F670 7001EA70 1420FFF0 */ bnez $at, .L7001EA34 -/* 01F674 7001EA74 AFAF0000 */ sw $t7, ($sp) -/* 01F678 7001EA78 00001025 */ move $v0, $zero -/* 01F67C 7001EA7C 03E00008 */ jr $ra -/* 01F680 7001EA80 27BD0008 */ addiu $sp, $sp, 8 - -glabel __osRepairPackId -/* 01F684 7001EA84 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 01F688 7001EA88 AFA40078 */ sw $a0, 0x78($sp) -/* 01F68C 7001EA8C 8FAE0078 */ lw $t6, 0x78($sp) -/* 01F690 7001EA90 AFBF001C */ sw $ra, 0x1c($sp) -/* 01F694 7001EA94 AFA5007C */ sw $a1, 0x7c($sp) -/* 01F698 7001EA98 AFA60080 */ sw $a2, 0x80($sp) -/* 01F69C 7001EA9C AFA00074 */ sw $zero, 0x74($sp) -/* 01F6A0 7001EAA0 A3A00033 */ sb $zero, 0x33($sp) -/* 01F6A4 7001EAA4 91CF0065 */ lbu $t7, 0x65($t6) -/* 01F6A8 7001EAA8 11E0000A */ beqz $t7, .L7001EAD4 -/* 01F6AC 7001EAAC 00000000 */ nop -/* 01F6B0 7001EAB0 A1C00065 */ sb $zero, 0x65($t6) -/* 01F6B4 7001EAB4 0C007DAB */ jal __osPfsSelectBank -/* 01F6B8 7001EAB8 8FA40078 */ lw $a0, 0x78($sp) -/* 01F6BC 7001EABC AFA20074 */ sw $v0, 0x74($sp) -/* 01F6C0 7001EAC0 8FB80074 */ lw $t8, 0x74($sp) -/* 01F6C4 7001EAC4 13000003 */ beqz $t8, .L7001EAD4 -/* 01F6C8 7001EAC8 00000000 */ nop -/* 01F6CC 7001EACC 100000EF */ b .L7001EE8C -/* 01F6D0 7001EAD0 03001025 */ move $v0, $t8 -.L7001EAD4: -/* 01F6D4 7001EAD4 8FA80080 */ lw $t0, 0x80($sp) -/* 01F6D8 7001EAD8 2419FFFF */ li $t9, -1 -/* 01F6DC 7001EADC 0C003638 */ jal osGetCount -/* 01F6E0 7001EAE0 AD190000 */ sw $t9, ($t0) -/* 01F6E4 7001EAE4 8FA90080 */ lw $t1, 0x80($sp) -/* 01F6E8 7001EAE8 AD220004 */ sw $v0, 4($t1) -/* 01F6EC 7001EAEC 8FAA007C */ lw $t2, 0x7c($sp) -/* 01F6F0 7001EAF0 8FAB0080 */ lw $t3, 0x80($sp) -/* 01F6F4 7001EAF4 8D4C0008 */ lw $t4, 8($t2) -/* 01F6F8 7001EAF8 8D4D000C */ lw $t5, 0xc($t2) -/* 01F6FC 7001EAFC AD6C0008 */ sw $t4, 8($t3) -/* 01F700 7001EB00 AD6D000C */ sw $t5, 0xc($t3) -/* 01F704 7001EB04 8FAF007C */ lw $t7, 0x7c($sp) -/* 01F708 7001EB08 8FB80080 */ lw $t8, 0x80($sp) -/* 01F70C 7001EB0C 8DEE0010 */ lw $t6, 0x10($t7) -/* 01F710 7001EB10 8DEF0014 */ lw $t7, 0x14($t7) -/* 01F714 7001EB14 AF0E0010 */ sw $t6, 0x10($t8) -/* 01F718 7001EB18 AF0F0014 */ sw $t7, 0x14($t8) -/* 01F71C 7001EB1C AFA00028 */ sw $zero, 0x28($sp) -.L7001EB20: -/* 01F720 7001EB20 8FB90028 */ lw $t9, 0x28($sp) -/* 01F724 7001EB24 8FA80078 */ lw $t0, 0x78($sp) -/* 01F728 7001EB28 A1190065 */ sb $t9, 0x65($t0) -/* 01F72C 7001EB2C 0C007DAB */ jal __osPfsSelectBank -/* 01F730 7001EB30 8FA40078 */ lw $a0, 0x78($sp) -/* 01F734 7001EB34 AFA20074 */ sw $v0, 0x74($sp) -/* 01F738 7001EB38 8FA90074 */ lw $t1, 0x74($sp) -/* 01F73C 7001EB3C 11200003 */ beqz $t1, .L7001EB4C -/* 01F740 7001EB40 00000000 */ nop -/* 01F744 7001EB44 100000D1 */ b .L7001EE8C -/* 01F748 7001EB48 01201025 */ move $v0, $t1 -.L7001EB4C: -/* 01F74C 7001EB4C 8FAA0078 */ lw $t2, 0x78($sp) -/* 01F750 7001EB50 00003025 */ move $a2, $zero -/* 01F754 7001EB54 27A70054 */ addiu $a3, $sp, 0x54 -/* 01F758 7001EB58 8D440004 */ lw $a0, 4($t2) -/* 01F75C 7001EB5C 0C00592C */ jal __osContRamRead -/* 01F760 7001EB60 8D450008 */ lw $a1, 8($t2) -/* 01F764 7001EB64 AFA20074 */ sw $v0, 0x74($sp) -/* 01F768 7001EB68 8FAC0074 */ lw $t4, 0x74($sp) -/* 01F76C 7001EB6C 11800003 */ beqz $t4, .L7001EB7C -/* 01F770 7001EB70 00000000 */ nop -/* 01F774 7001EB74 100000C5 */ b .L7001EE8C -/* 01F778 7001EB78 01801025 */ move $v0, $t4 -.L7001EB7C: -/* 01F77C 7001EB7C 8FAD0028 */ lw $t5, 0x28($sp) -/* 01F780 7001EB80 27AE0054 */ addiu $t6, $sp, 0x54 -/* 01F784 7001EB84 240F0001 */ li $t7, 1 -/* 01F788 7001EB88 35AB0080 */ ori $t3, $t5, 0x80 -/* 01F78C 7001EB8C A1CB0000 */ sb $t3, ($t6) -/* 01F790 7001EB90 AFAF002C */ sw $t7, 0x2c($sp) -.L7001EB94: -/* 01F794 7001EB94 8FB8002C */ lw $t8, 0x2c($sp) -/* 01F798 7001EB98 27B90054 */ addiu $t9, $sp, 0x54 -/* 01F79C 7001EB9C 03194021 */ addu $t0, $t8, $t9 -/* 01F7A0 7001EBA0 91090000 */ lbu $t1, ($t0) -/* 01F7A4 7001EBA4 01205027 */ not $t2, $t1 -/* 01F7A8 7001EBA8 A10A0000 */ sb $t2, ($t0) -/* 01F7AC 7001EBAC 8FAC002C */ lw $t4, 0x2c($sp) -/* 01F7B0 7001EBB0 258D0001 */ addiu $t5, $t4, 1 -/* 01F7B4 7001EBB4 29A10020 */ slti $at, $t5, 0x20 -/* 01F7B8 7001EBB8 1420FFF6 */ bnez $at, .L7001EB94 -/* 01F7BC 7001EBBC AFAD002C */ sw $t5, 0x2c($sp) -/* 01F7C0 7001EBC0 8FAB0078 */ lw $t3, 0x78($sp) -/* 01F7C4 7001EBC4 00003025 */ move $a2, $zero -/* 01F7C8 7001EBC8 27A70054 */ addiu $a3, $sp, 0x54 -/* 01F7CC 7001EBCC 8D640004 */ lw $a0, 4($t3) -/* 01F7D0 7001EBD0 8D650008 */ lw $a1, 8($t3) -/* 01F7D4 7001EBD4 0C005840 */ jal __osContRamWrite -/* 01F7D8 7001EBD8 AFA00010 */ sw $zero, 0x10($sp) -/* 01F7DC 7001EBDC AFA20074 */ sw $v0, 0x74($sp) -/* 01F7E0 7001EBE0 8FAE0074 */ lw $t6, 0x74($sp) -/* 01F7E4 7001EBE4 11C00003 */ beqz $t6, .L7001EBF4 -/* 01F7E8 7001EBE8 00000000 */ nop -/* 01F7EC 7001EBEC 100000A7 */ b .L7001EE8C -/* 01F7F0 7001EBF0 01C01025 */ move $v0, $t6 -.L7001EBF4: -/* 01F7F4 7001EBF4 8FAF0078 */ lw $t7, 0x78($sp) -/* 01F7F8 7001EBF8 00003025 */ move $a2, $zero -/* 01F7FC 7001EBFC 27A70034 */ addiu $a3, $sp, 0x34 -/* 01F800 7001EC00 8DE40004 */ lw $a0, 4($t7) -/* 01F804 7001EC04 0C00592C */ jal __osContRamRead -/* 01F808 7001EC08 8DE50008 */ lw $a1, 8($t7) -/* 01F80C 7001EC0C AFA20074 */ sw $v0, 0x74($sp) -/* 01F810 7001EC10 8FB80074 */ lw $t8, 0x74($sp) -/* 01F814 7001EC14 13000003 */ beqz $t8, .L7001EC24 -/* 01F818 7001EC18 00000000 */ nop -/* 01F81C 7001EC1C 1000009B */ b .L7001EE8C -/* 01F820 7001EC20 03001025 */ move $v0, $t8 -.L7001EC24: -/* 01F824 7001EC24 AFA0002C */ sw $zero, 0x2c($sp) -.L7001EC28: -/* 01F828 7001EC28 8FB9002C */ lw $t9, 0x2c($sp) -/* 01F82C 7001EC2C 03B94821 */ addu $t1, $sp, $t9 -/* 01F830 7001EC30 03B95021 */ addu $t2, $sp, $t9 -/* 01F834 7001EC34 914A0034 */ lbu $t2, 0x34($t2) -/* 01F838 7001EC38 91290054 */ lbu $t1, 0x54($t1) -/* 01F83C 7001EC3C 152A0006 */ bne $t1, $t2, .L7001EC58 -/* 01F840 7001EC40 00000000 */ nop -/* 01F844 7001EC44 8FA8002C */ lw $t0, 0x2c($sp) -/* 01F848 7001EC48 250C0001 */ addiu $t4, $t0, 1 -/* 01F84C 7001EC4C 29810020 */ slti $at, $t4, 0x20 -/* 01F850 7001EC50 1420FFF5 */ bnez $at, .L7001EC28 -/* 01F854 7001EC54 AFAC002C */ sw $t4, 0x2c($sp) -.L7001EC58: -/* 01F858 7001EC58 8FAD002C */ lw $t5, 0x2c($sp) -/* 01F85C 7001EC5C 24010020 */ li $at, 32 -/* 01F860 7001EC60 15A10026 */ bne $t5, $at, .L7001ECFC -/* 01F864 7001EC64 00000000 */ nop -/* 01F868 7001EC68 8FAB0028 */ lw $t3, 0x28($sp) -/* 01F86C 7001EC6C 1960001C */ blez $t3, .L7001ECE0 -/* 01F870 7001EC70 00000000 */ nop -/* 01F874 7001EC74 8FAE0078 */ lw $t6, 0x78($sp) -/* 01F878 7001EC78 A1C00065 */ sb $zero, 0x65($t6) -/* 01F87C 7001EC7C 0C007DAB */ jal __osPfsSelectBank -/* 01F880 7001EC80 8FA40078 */ lw $a0, 0x78($sp) -/* 01F884 7001EC84 AFA20074 */ sw $v0, 0x74($sp) -/* 01F888 7001EC88 8FAF0074 */ lw $t7, 0x74($sp) -/* 01F88C 7001EC8C 11E00003 */ beqz $t7, .L7001EC9C -/* 01F890 7001EC90 00000000 */ nop -/* 01F894 7001EC94 1000007D */ b .L7001EE8C -/* 01F898 7001EC98 01E01025 */ move $v0, $t7 -.L7001EC9C: -/* 01F89C 7001EC9C 8FB80078 */ lw $t8, 0x78($sp) -/* 01F8A0 7001ECA0 00003025 */ move $a2, $zero -/* 01F8A4 7001ECA4 27A70054 */ addiu $a3, $sp, 0x54 -/* 01F8A8 7001ECA8 8F040004 */ lw $a0, 4($t8) -/* 01F8AC 7001ECAC 0C00592C */ jal __osContRamRead -/* 01F8B0 7001ECB0 8F050008 */ lw $a1, 8($t8) -/* 01F8B4 7001ECB4 AFA20074 */ sw $v0, 0x74($sp) -/* 01F8B8 7001ECB8 8FB90074 */ lw $t9, 0x74($sp) -/* 01F8BC 7001ECBC 13200003 */ beqz $t9, .L7001ECCC -/* 01F8C0 7001ECC0 00000000 */ nop -/* 01F8C4 7001ECC4 10000071 */ b .L7001EE8C -/* 01F8C8 7001ECC8 03201025 */ move $v0, $t9 -.L7001ECCC: -/* 01F8CC 7001ECCC 27A90054 */ addiu $t1, $sp, 0x54 -/* 01F8D0 7001ECD0 912A0000 */ lbu $t2, ($t1) -/* 01F8D4 7001ECD4 24010080 */ li $at, 128 -/* 01F8D8 7001ECD8 15410008 */ bne $t2, $at, .L7001ECFC -/* 01F8DC 7001ECDC 00000000 */ nop -.L7001ECE0: -/* 01F8E0 7001ECE0 8FA80028 */ lw $t0, 0x28($sp) -/* 01F8E4 7001ECE4 250C0001 */ addiu $t4, $t0, 1 -/* 01F8E8 7001ECE8 AFAC0028 */ sw $t4, 0x28($sp) -/* 01F8EC 7001ECEC 8FAD0028 */ lw $t5, 0x28($sp) -/* 01F8F0 7001ECF0 29A1003E */ slti $at, $t5, 0x3e -/* 01F8F4 7001ECF4 1420FF8A */ bnez $at, .L7001EB20 -/* 01F8F8 7001ECF8 00000000 */ nop -.L7001ECFC: -/* 01F8FC 7001ECFC 8FAB0078 */ lw $t3, 0x78($sp) -/* 01F900 7001ED00 A1600065 */ sb $zero, 0x65($t3) -/* 01F904 7001ED04 0C007DAB */ jal __osPfsSelectBank -/* 01F908 7001ED08 8FA40078 */ lw $a0, 0x78($sp) -/* 01F90C 7001ED0C AFA20074 */ sw $v0, 0x74($sp) -/* 01F910 7001ED10 8FAE0074 */ lw $t6, 0x74($sp) -/* 01F914 7001ED14 11C00003 */ beqz $t6, .L7001ED24 -/* 01F918 7001ED18 00000000 */ nop -/* 01F91C 7001ED1C 1000005B */ b .L7001EE8C -/* 01F920 7001ED20 01C01025 */ move $v0, $t6 -.L7001ED24: -/* 01F924 7001ED24 8FAF0028 */ lw $t7, 0x28($sp) -/* 01F928 7001ED28 19E00004 */ blez $t7, .L7001ED3C -/* 01F92C 7001ED2C 00000000 */ nop -/* 01F930 7001ED30 24180001 */ li $t8, 1 -/* 01F934 7001ED34 10000002 */ b .L7001ED40 -/* 01F938 7001ED38 A3B80033 */ sb $t8, 0x33($sp) -.L7001ED3C: -/* 01F93C 7001ED3C A3A00033 */ sb $zero, 0x33($sp) -.L7001ED40: -/* 01F940 7001ED40 8FB9007C */ lw $t9, 0x7c($sp) -/* 01F944 7001ED44 93A80033 */ lbu $t0, 0x33($sp) -/* 01F948 7001ED48 8FAD0080 */ lw $t5, 0x80($sp) -/* 01F94C 7001ED4C 97290018 */ lhu $t1, 0x18($t9) -/* 01F950 7001ED50 312AFFFE */ andi $t2, $t1, 0xfffe -/* 01F954 7001ED54 01486025 */ or $t4, $t2, $t0 -/* 01F958 7001ED58 A5AC0018 */ sh $t4, 0x18($t5) -/* 01F95C 7001ED5C 8FAE0080 */ lw $t6, 0x80($sp) -/* 01F960 7001ED60 8FAB0028 */ lw $t3, 0x28($sp) -/* 01F964 7001ED64 A1CB001A */ sb $t3, 0x1a($t6) -/* 01F968 7001ED68 8FAF007C */ lw $t7, 0x7c($sp) -/* 01F96C 7001ED6C 8FB90080 */ lw $t9, 0x80($sp) -/* 01F970 7001ED70 91F8001B */ lbu $t8, 0x1b($t7) -/* 01F974 7001ED74 A338001B */ sb $t8, 0x1b($t9) -/* 01F978 7001ED78 8FA90080 */ lw $t1, 0x80($sp) -/* 01F97C 7001ED7C 01202025 */ move $a0, $t1 -/* 01F980 7001ED80 2525001C */ addiu $a1, $t1, 0x1c -/* 01F984 7001ED84 0C007A87 */ jal __osIdCheckSum -/* 01F988 7001ED88 2526001E */ addiu $a2, $t1, 0x1e -/* 01F98C 7001ED8C 240A0001 */ li $t2, 1 -/* 01F990 7001ED90 27A80020 */ addiu $t0, $sp, 0x20 -/* 01F994 7001ED94 A50A0000 */ sh $t2, ($t0) -/* 01F998 7001ED98 240C0003 */ li $t4, 3 -/* 01F99C 7001ED9C 27AD0020 */ addiu $t5, $sp, 0x20 -/* 01F9A0 7001EDA0 A5AC0002 */ sh $t4, 2($t5) -/* 01F9A4 7001EDA4 240B0004 */ li $t3, 4 -/* 01F9A8 7001EDA8 27AE0020 */ addiu $t6, $sp, 0x20 -/* 01F9AC 7001EDAC A5CB0004 */ sh $t3, 4($t6) -/* 01F9B0 7001EDB0 240F0006 */ li $t7, 6 -/* 01F9B4 7001EDB4 27B80020 */ addiu $t8, $sp, 0x20 -/* 01F9B8 7001EDB8 A70F0006 */ sh $t7, 6($t8) -/* 01F9BC 7001EDBC AFA0002C */ sw $zero, 0x2c($sp) -.L7001EDC0: -/* 01F9C0 7001EDC0 8FA9002C */ lw $t1, 0x2c($sp) -/* 01F9C4 7001EDC4 8FB90078 */ lw $t9, 0x78($sp) -/* 01F9C8 7001EDC8 24080001 */ li $t0, 1 -/* 01F9CC 7001EDCC 00095040 */ sll $t2, $t1, 1 -/* 01F9D0 7001EDD0 03AA3021 */ addu $a2, $sp, $t2 -/* 01F9D4 7001EDD4 94C60020 */ lhu $a2, 0x20($a2) -/* 01F9D8 7001EDD8 8F240004 */ lw $a0, 4($t9) -/* 01F9DC 7001EDDC 8F250008 */ lw $a1, 8($t9) -/* 01F9E0 7001EDE0 AFA80010 */ sw $t0, 0x10($sp) -/* 01F9E4 7001EDE4 0C005840 */ jal __osContRamWrite -/* 01F9E8 7001EDE8 8FA70080 */ lw $a3, 0x80($sp) -/* 01F9EC 7001EDEC AFA20074 */ sw $v0, 0x74($sp) -/* 01F9F0 7001EDF0 8FAC0074 */ lw $t4, 0x74($sp) -/* 01F9F4 7001EDF4 11800003 */ beqz $t4, .L7001EE04 -/* 01F9F8 7001EDF8 00000000 */ nop -/* 01F9FC 7001EDFC 10000023 */ b .L7001EE8C -/* 01FA00 7001EE00 01801025 */ move $v0, $t4 -.L7001EE04: -/* 01FA04 7001EE04 8FAD002C */ lw $t5, 0x2c($sp) -/* 01FA08 7001EE08 25AB0001 */ addiu $t3, $t5, 1 -/* 01FA0C 7001EE0C 29610004 */ slti $at, $t3, 4 -/* 01FA10 7001EE10 1420FFEB */ bnez $at, .L7001EDC0 -/* 01FA14 7001EE14 AFAB002C */ sw $t3, 0x2c($sp) -/* 01FA18 7001EE18 8FAE0078 */ lw $t6, 0x78($sp) -/* 01FA1C 7001EE1C 24060001 */ li $a2, 1 -/* 01FA20 7001EE20 27A70054 */ addiu $a3, $sp, 0x54 -/* 01FA24 7001EE24 8DC40004 */ lw $a0, 4($t6) -/* 01FA28 7001EE28 0C00592C */ jal __osContRamRead -/* 01FA2C 7001EE2C 8DC50008 */ lw $a1, 8($t6) -/* 01FA30 7001EE30 AFA20074 */ sw $v0, 0x74($sp) -/* 01FA34 7001EE34 8FAF0074 */ lw $t7, 0x74($sp) -/* 01FA38 7001EE38 11E00003 */ beqz $t7, .L7001EE48 -/* 01FA3C 7001EE3C 00000000 */ nop -/* 01FA40 7001EE40 10000012 */ b .L7001EE8C -/* 01FA44 7001EE44 01E01025 */ move $v0, $t7 -.L7001EE48: -/* 01FA48 7001EE48 AFA0002C */ sw $zero, 0x2c($sp) -.L7001EE4C: -/* 01FA4C 7001EE4C 8FB9002C */ lw $t9, 0x2c($sp) -/* 01FA50 7001EE50 8FB80080 */ lw $t8, 0x80($sp) -/* 01FA54 7001EE54 03B94021 */ addu $t0, $sp, $t9 -/* 01FA58 7001EE58 03194821 */ addu $t1, $t8, $t9 -/* 01FA5C 7001EE5C 912A0000 */ lbu $t2, ($t1) -/* 01FA60 7001EE60 91080054 */ lbu $t0, 0x54($t0) -/* 01FA64 7001EE64 11480003 */ beq $t2, $t0, .L7001EE74 -/* 01FA68 7001EE68 00000000 */ nop -/* 01FA6C 7001EE6C 10000007 */ b .L7001EE8C -/* 01FA70 7001EE70 2402000A */ li $v0, 10 -.L7001EE74: -/* 01FA74 7001EE74 8FAC002C */ lw $t4, 0x2c($sp) -/* 01FA78 7001EE78 258D0001 */ addiu $t5, $t4, 1 -/* 01FA7C 7001EE7C 29A10020 */ slti $at, $t5, 0x20 -/* 01FA80 7001EE80 1420FFF2 */ bnez $at, .L7001EE4C -/* 01FA84 7001EE84 AFAD002C */ sw $t5, 0x2c($sp) -/* 01FA88 7001EE88 00001025 */ move $v0, $zero -.L7001EE8C: -/* 01FA8C 7001EE8C 8FBF001C */ lw $ra, 0x1c($sp) -/* 01FA90 7001EE90 27BD0078 */ addiu $sp, $sp, 0x78 -/* 01FA94 7001EE94 03E00008 */ jr $ra -/* 01FA98 7001EE98 00000000 */ nop - -glabel __osCheckPackId -/* 01FA9C 7001EE9C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01FAA0 7001EEA0 AFA40038 */ sw $a0, 0x38($sp) -/* 01FAA4 7001EEA4 8FAE0038 */ lw $t6, 0x38($sp) -/* 01FAA8 7001EEA8 AFBF001C */ sw $ra, 0x1c($sp) -/* 01FAAC 7001EEAC AFA5003C */ sw $a1, 0x3c($sp) -/* 01FAB0 7001EEB0 AFA0002C */ sw $zero, 0x2c($sp) -/* 01FAB4 7001EEB4 91CF0065 */ lbu $t7, 0x65($t6) -/* 01FAB8 7001EEB8 11E0000A */ beqz $t7, .L7001EEE4 -/* 01FABC 7001EEBC 00000000 */ nop -/* 01FAC0 7001EEC0 A1C00065 */ sb $zero, 0x65($t6) -/* 01FAC4 7001EEC4 0C007DAB */ jal __osPfsSelectBank -/* 01FAC8 7001EEC8 8FA40038 */ lw $a0, 0x38($sp) -/* 01FACC 7001EECC AFA2002C */ sw $v0, 0x2c($sp) -/* 01FAD0 7001EED0 8FB8002C */ lw $t8, 0x2c($sp) -/* 01FAD4 7001EED4 13000003 */ beqz $t8, .L7001EEE4 -/* 01FAD8 7001EED8 00000000 */ nop -/* 01FADC 7001EEDC 10000051 */ b .L7001F024 -/* 01FAE0 7001EEE0 03001025 */ move $v0, $t8 -.L7001EEE4: -/* 01FAE4 7001EEE4 24190001 */ li $t9, 1 -/* 01FAE8 7001EEE8 27A80030 */ addiu $t0, $sp, 0x30 -/* 01FAEC 7001EEEC A5190000 */ sh $t9, ($t0) -/* 01FAF0 7001EEF0 24090003 */ li $t1, 3 -/* 01FAF4 7001EEF4 27AA0030 */ addiu $t2, $sp, 0x30 -/* 01FAF8 7001EEF8 A5490002 */ sh $t1, 2($t2) -/* 01FAFC 7001EEFC 240B0004 */ li $t3, 4 -/* 01FB00 7001EF00 27AC0030 */ addiu $t4, $sp, 0x30 -/* 01FB04 7001EF04 A58B0004 */ sh $t3, 4($t4) -/* 01FB08 7001EF08 240D0006 */ li $t5, 6 -/* 01FB0C 7001EF0C 27AF0030 */ addiu $t7, $sp, 0x30 -/* 01FB10 7001EF10 A5ED0006 */ sh $t5, 6($t7) -/* 01FB14 7001EF14 240E0001 */ li $t6, 1 -/* 01FB18 7001EF18 AFAE0024 */ sw $t6, 0x24($sp) -.L7001EF1C: -/* 01FB1C 7001EF1C 8FB90024 */ lw $t9, 0x24($sp) -/* 01FB20 7001EF20 8FB80038 */ lw $t8, 0x38($sp) -/* 01FB24 7001EF24 8FA7003C */ lw $a3, 0x3c($sp) -/* 01FB28 7001EF28 00194040 */ sll $t0, $t9, 1 -/* 01FB2C 7001EF2C 03A83021 */ addu $a2, $sp, $t0 -/* 01FB30 7001EF30 94C60030 */ lhu $a2, 0x30($a2) -/* 01FB34 7001EF34 8F040004 */ lw $a0, 4($t8) -/* 01FB38 7001EF38 0C00592C */ jal __osContRamRead -/* 01FB3C 7001EF3C 8F050008 */ lw $a1, 8($t8) -/* 01FB40 7001EF40 AFA2002C */ sw $v0, 0x2c($sp) -/* 01FB44 7001EF44 8FA9002C */ lw $t1, 0x2c($sp) -/* 01FB48 7001EF48 11200003 */ beqz $t1, .L7001EF58 -/* 01FB4C 7001EF4C 00000000 */ nop -/* 01FB50 7001EF50 10000034 */ b .L7001F024 -/* 01FB54 7001EF54 01201025 */ move $v0, $t1 -.L7001EF58: -/* 01FB58 7001EF58 8FA4003C */ lw $a0, 0x3c($sp) -/* 01FB5C 7001EF5C 27A5002A */ addiu $a1, $sp, 0x2a -/* 01FB60 7001EF60 0C007A87 */ jal __osIdCheckSum -/* 01FB64 7001EF64 27A60028 */ addiu $a2, $sp, 0x28 -/* 01FB68 7001EF68 8FAA003C */ lw $t2, 0x3c($sp) -/* 01FB6C 7001EF6C 97AC002A */ lhu $t4, 0x2a($sp) -/* 01FB70 7001EF70 954B001C */ lhu $t3, 0x1c($t2) -/* 01FB74 7001EF74 156C0005 */ bne $t3, $t4, .L7001EF8C -/* 01FB78 7001EF78 00000000 */ nop -/* 01FB7C 7001EF7C 954D001E */ lhu $t5, 0x1e($t2) -/* 01FB80 7001EF80 97AF0028 */ lhu $t7, 0x28($sp) -/* 01FB84 7001EF84 11AF0006 */ beq $t5, $t7, .L7001EFA0 -/* 01FB88 7001EF88 00000000 */ nop -.L7001EF8C: -/* 01FB8C 7001EF8C 8FAE0024 */ lw $t6, 0x24($sp) -/* 01FB90 7001EF90 25D80001 */ addiu $t8, $t6, 1 -/* 01FB94 7001EF94 2B010004 */ slti $at, $t8, 4 -/* 01FB98 7001EF98 1420FFE0 */ bnez $at, .L7001EF1C -/* 01FB9C 7001EF9C AFB80024 */ sw $t8, 0x24($sp) -.L7001EFA0: -/* 01FBA0 7001EFA0 8FB90024 */ lw $t9, 0x24($sp) -/* 01FBA4 7001EFA4 24010004 */ li $at, 4 -/* 01FBA8 7001EFA8 17210003 */ bne $t9, $at, .L7001EFB8 -/* 01FBAC 7001EFAC 00000000 */ nop -/* 01FBB0 7001EFB0 1000001C */ b .L7001F024 -/* 01FBB4 7001EFB4 2402000A */ li $v0, 10 -.L7001EFB8: -/* 01FBB8 7001EFB8 AFA00020 */ sw $zero, 0x20($sp) -.L7001EFBC: -/* 01FBBC 7001EFBC 8FA80020 */ lw $t0, 0x20($sp) -/* 01FBC0 7001EFC0 8FA90024 */ lw $t1, 0x24($sp) -/* 01FBC4 7001EFC4 11090011 */ beq $t0, $t1, .L7001F00C -/* 01FBC8 7001EFC8 00000000 */ nop -/* 01FBCC 7001EFCC 8FAB0038 */ lw $t3, 0x38($sp) -/* 01FBD0 7001EFD0 00086040 */ sll $t4, $t0, 1 -/* 01FBD4 7001EFD4 03AC3021 */ addu $a2, $sp, $t4 -/* 01FBD8 7001EFD8 94C60030 */ lhu $a2, 0x30($a2) -/* 01FBDC 7001EFDC 240A0001 */ li $t2, 1 -/* 01FBE0 7001EFE0 8D640004 */ lw $a0, 4($t3) -/* 01FBE4 7001EFE4 8D650008 */ lw $a1, 8($t3) -/* 01FBE8 7001EFE8 AFAA0010 */ sw $t2, 0x10($sp) -/* 01FBEC 7001EFEC 0C005840 */ jal __osContRamWrite -/* 01FBF0 7001EFF0 8FA7003C */ lw $a3, 0x3c($sp) -/* 01FBF4 7001EFF4 AFA2002C */ sw $v0, 0x2c($sp) -/* 01FBF8 7001EFF8 8FAD002C */ lw $t5, 0x2c($sp) -/* 01FBFC 7001EFFC 11A00003 */ beqz $t5, .L7001F00C -/* 01FC00 7001F000 00000000 */ nop -/* 01FC04 7001F004 10000007 */ b .L7001F024 -/* 01FC08 7001F008 01A01025 */ move $v0, $t5 -.L7001F00C: -/* 01FC0C 7001F00C 8FAF0020 */ lw $t7, 0x20($sp) -/* 01FC10 7001F010 25EE0001 */ addiu $t6, $t7, 1 -/* 01FC14 7001F014 29C10004 */ slti $at, $t6, 4 -/* 01FC18 7001F018 1420FFE8 */ bnez $at, .L7001EFBC -/* 01FC1C 7001F01C AFAE0020 */ sw $t6, 0x20($sp) -/* 01FC20 7001F020 00001025 */ move $v0, $zero -.L7001F024: -/* 01FC24 7001F024 8FBF001C */ lw $ra, 0x1c($sp) -/* 01FC28 7001F028 27BD0038 */ addiu $sp, $sp, 0x38 -/* 01FC2C 7001F02C 03E00008 */ jr $ra -/* 01FC30 7001F030 00000000 */ nop - -glabel __osGetId -/* 01FC34 7001F034 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 01FC38 7001F038 AFA40068 */ sw $a0, 0x68($sp) -/* 01FC3C 7001F03C 8FAE0068 */ lw $t6, 0x68($sp) -/* 01FC40 7001F040 AFBF0014 */ sw $ra, 0x14($sp) -/* 01FC44 7001F044 91CF0065 */ lbu $t7, 0x65($t6) -/* 01FC48 7001F048 11E0000A */ beqz $t7, .L7001F074 -/* 01FC4C 7001F04C 00000000 */ nop -/* 01FC50 7001F050 A1C00065 */ sb $zero, 0x65($t6) -/* 01FC54 7001F054 0C007DAB */ jal __osPfsSelectBank -/* 01FC58 7001F058 8FA40068 */ lw $a0, 0x68($sp) -/* 01FC5C 7001F05C AFA2001C */ sw $v0, 0x1c($sp) -/* 01FC60 7001F060 8FB8001C */ lw $t8, 0x1c($sp) -/* 01FC64 7001F064 13000003 */ beqz $t8, .L7001F074 -/* 01FC68 7001F068 00000000 */ nop -/* 01FC6C 7001F06C 10000084 */ b .L7001F280 -/* 01FC70 7001F070 03001025 */ move $v0, $t8 -.L7001F074: -/* 01FC74 7001F074 8FB90068 */ lw $t9, 0x68($sp) -/* 01FC78 7001F078 24060001 */ li $a2, 1 -/* 01FC7C 7001F07C 27A70040 */ addiu $a3, $sp, 0x40 -/* 01FC80 7001F080 8F240004 */ lw $a0, 4($t9) -/* 01FC84 7001F084 0C00592C */ jal __osContRamRead -/* 01FC88 7001F088 8F250008 */ lw $a1, 8($t9) -/* 01FC8C 7001F08C AFA2001C */ sw $v0, 0x1c($sp) -/* 01FC90 7001F090 8FA8001C */ lw $t0, 0x1c($sp) -/* 01FC94 7001F094 11000003 */ beqz $t0, .L7001F0A4 -/* 01FC98 7001F098 00000000 */ nop -/* 01FC9C 7001F09C 10000078 */ b .L7001F280 -/* 01FCA0 7001F0A0 01001025 */ move $v0, $t0 -.L7001F0A4: -/* 01FCA4 7001F0A4 27A40040 */ addiu $a0, $sp, 0x40 -/* 01FCA8 7001F0A8 27A50062 */ addiu $a1, $sp, 0x62 -/* 01FCAC 7001F0AC 0C007A87 */ jal __osIdCheckSum -/* 01FCB0 7001F0B0 27A60060 */ addiu $a2, $sp, 0x60 -/* 01FCB4 7001F0B4 27A90040 */ addiu $t1, $sp, 0x40 -/* 01FCB8 7001F0B8 AFA90018 */ sw $t1, 0x18($sp) -/* 01FCBC 7001F0BC 952A001C */ lhu $t2, 0x1c($t1) -/* 01FCC0 7001F0C0 97AB0062 */ lhu $t3, 0x62($sp) -/* 01FCC4 7001F0C4 154B0005 */ bne $t2, $t3, .L7001F0DC -/* 01FCC8 7001F0C8 00000000 */ nop -/* 01FCCC 7001F0CC 952C001E */ lhu $t4, 0x1e($t1) -/* 01FCD0 7001F0D0 97AD0060 */ lhu $t5, 0x60($sp) -/* 01FCD4 7001F0D4 118D001B */ beq $t4, $t5, .L7001F144 -/* 01FCD8 7001F0D8 00000000 */ nop -.L7001F0DC: -/* 01FCDC 7001F0DC 8FA40068 */ lw $a0, 0x68($sp) -/* 01FCE0 7001F0E0 0C007BA7 */ jal __osCheckPackId -/* 01FCE4 7001F0E4 8FA50018 */ lw $a1, 0x18($sp) -/* 01FCE8 7001F0E8 AFA2001C */ sw $v0, 0x1c($sp) -/* 01FCEC 7001F0EC 8FAF001C */ lw $t7, 0x1c($sp) -/* 01FCF0 7001F0F0 2401000A */ li $at, 10 -/* 01FCF4 7001F0F4 15E1000E */ bne $t7, $at, .L7001F130 -/* 01FCF8 7001F0F8 00000000 */ nop -/* 01FCFC 7001F0FC 8FA40068 */ lw $a0, 0x68($sp) -/* 01FD00 7001F100 8FA50018 */ lw $a1, 0x18($sp) -/* 01FD04 7001F104 0C007AA1 */ jal __osRepairPackId -/* 01FD08 7001F108 27A60020 */ addiu $a2, $sp, 0x20 -/* 01FD0C 7001F10C AFA2001C */ sw $v0, 0x1c($sp) -/* 01FD10 7001F110 8FAE001C */ lw $t6, 0x1c($sp) -/* 01FD14 7001F114 11C00003 */ beqz $t6, .L7001F124 -/* 01FD18 7001F118 00000000 */ nop -/* 01FD1C 7001F11C 10000058 */ b .L7001F280 -/* 01FD20 7001F120 01C01025 */ move $v0, $t6 -.L7001F124: -/* 01FD24 7001F124 27B80020 */ addiu $t8, $sp, 0x20 -/* 01FD28 7001F128 10000006 */ b .L7001F144 -/* 01FD2C 7001F12C AFB80018 */ sw $t8, 0x18($sp) -.L7001F130: -/* 01FD30 7001F130 8FB9001C */ lw $t9, 0x1c($sp) -/* 01FD34 7001F134 13200003 */ beqz $t9, .L7001F144 -/* 01FD38 7001F138 00000000 */ nop -/* 01FD3C 7001F13C 10000050 */ b .L7001F280 -/* 01FD40 7001F140 03201025 */ move $v0, $t9 -.L7001F144: -/* 01FD44 7001F144 8FA80018 */ lw $t0, 0x18($sp) -/* 01FD48 7001F148 950A0018 */ lhu $t2, 0x18($t0) -/* 01FD4C 7001F14C 314B0001 */ andi $t3, $t2, 1 -/* 01FD50 7001F150 15600013 */ bnez $t3, .L7001F1A0 -/* 01FD54 7001F154 00000000 */ nop -/* 01FD58 7001F158 8FA40068 */ lw $a0, 0x68($sp) -/* 01FD5C 7001F15C 01002825 */ move $a1, $t0 -/* 01FD60 7001F160 0C007AA1 */ jal __osRepairPackId -/* 01FD64 7001F164 27A60020 */ addiu $a2, $sp, 0x20 -/* 01FD68 7001F168 AFA2001C */ sw $v0, 0x1c($sp) -/* 01FD6C 7001F16C 8FA9001C */ lw $t1, 0x1c($sp) -/* 01FD70 7001F170 11200003 */ beqz $t1, .L7001F180 -/* 01FD74 7001F174 00000000 */ nop -/* 01FD78 7001F178 10000041 */ b .L7001F280 -/* 01FD7C 7001F17C 01201025 */ move $v0, $t1 -.L7001F180: -/* 01FD80 7001F180 27AC0020 */ addiu $t4, $sp, 0x20 -/* 01FD84 7001F184 AFAC0018 */ sw $t4, 0x18($sp) -/* 01FD88 7001F188 958D0018 */ lhu $t5, 0x18($t4) -/* 01FD8C 7001F18C 31AF0001 */ andi $t7, $t5, 1 -/* 01FD90 7001F190 15E00003 */ bnez $t7, .L7001F1A0 -/* 01FD94 7001F194 00000000 */ nop -/* 01FD98 7001F198 10000039 */ b .L7001F280 -/* 01FD9C 7001F19C 2402000B */ li $v0, 11 -.L7001F1A0: -/* 01FDA0 7001F1A0 AFA00064 */ sw $zero, 0x64($sp) -.L7001F1A4: -/* 01FDA4 7001F1A4 8FAE0018 */ lw $t6, 0x18($sp) -/* 01FDA8 7001F1A8 8FB80064 */ lw $t8, 0x64($sp) -/* 01FDAC 7001F1AC 8FAB0068 */ lw $t3, 0x68($sp) -/* 01FDB0 7001F1B0 01D8C821 */ addu $t9, $t6, $t8 -/* 01FDB4 7001F1B4 932A0000 */ lbu $t2, ($t9) -/* 01FDB8 7001F1B8 01784021 */ addu $t0, $t3, $t8 -/* 01FDBC 7001F1BC A10A000C */ sb $t2, 0xc($t0) -/* 01FDC0 7001F1C0 8FA90064 */ lw $t1, 0x64($sp) -/* 01FDC4 7001F1C4 252C0001 */ addiu $t4, $t1, 1 -/* 01FDC8 7001F1C8 29810020 */ slti $at, $t4, 0x20 -/* 01FDCC 7001F1CC 1420FFF5 */ bnez $at, .L7001F1A4 -/* 01FDD0 7001F1D0 AFAC0064 */ sw $t4, 0x64($sp) -/* 01FDD4 7001F1D4 8FAD0018 */ lw $t5, 0x18($sp) -/* 01FDD8 7001F1D8 8FAE0068 */ lw $t6, 0x68($sp) -/* 01FDDC 7001F1DC 24060007 */ li $a2, 7 -/* 01FDE0 7001F1E0 91AF001B */ lbu $t7, 0x1b($t5) -/* 01FDE4 7001F1E4 240D0010 */ li $t5, 16 -/* 01FDE8 7001F1E8 ADCF004C */ sw $t7, 0x4c($t6) -/* 01FDEC 7001F1EC 8FB90018 */ lw $t9, 0x18($sp) -/* 01FDF0 7001F1F0 8FB80068 */ lw $t8, 0x68($sp) -/* 01FDF4 7001F1F4 240E0008 */ li $t6, 8 -/* 01FDF8 7001F1F8 932B001A */ lbu $t3, 0x1a($t9) -/* 01FDFC 7001F1FC A30B0064 */ sb $t3, 0x64($t8) -/* 01FE00 7001F200 8FAA0068 */ lw $t2, 0x68($sp) -/* 01FE04 7001F204 91480064 */ lbu $t0, 0x64($t2) -/* 01FE08 7001F208 00084840 */ sll $t1, $t0, 1 -/* 01FE0C 7001F20C 252C0003 */ addiu $t4, $t1, 3 -/* 01FE10 7001F210 AD4C0060 */ sw $t4, 0x60($t2) -/* 01FE14 7001F214 8FAF0068 */ lw $t7, 0x68($sp) -/* 01FE18 7001F218 ADED0050 */ sw $t5, 0x50($t7) -/* 01FE1C 7001F21C 8FB90068 */ lw $t9, 0x68($sp) -/* 01FE20 7001F220 AF2E0054 */ sw $t6, 0x54($t9) -/* 01FE24 7001F224 8FAB0068 */ lw $t3, 0x68($sp) -/* 01FE28 7001F228 91780064 */ lbu $t8, 0x64($t3) -/* 01FE2C 7001F22C 001840C0 */ sll $t0, $t8, 3 -/* 01FE30 7001F230 25090008 */ addiu $t1, $t0, 8 -/* 01FE34 7001F234 AD690058 */ sw $t1, 0x58($t3) -/* 01FE38 7001F238 8FAC0068 */ lw $t4, 0x68($sp) -/* 01FE3C 7001F23C 918D0064 */ lbu $t5, 0x64($t4) -/* 01FE40 7001F240 8D8A0058 */ lw $t2, 0x58($t4) -/* 01FE44 7001F244 000D78C0 */ sll $t7, $t5, 3 -/* 01FE48 7001F248 014F7021 */ addu $t6, $t2, $t7 -/* 01FE4C 7001F24C AD8E005C */ sw $t6, 0x5c($t4) -/* 01FE50 7001F250 8FB90068 */ lw $t9, 0x68($sp) -/* 01FE54 7001F254 8F240004 */ lw $a0, 4($t9) -/* 01FE58 7001F258 8F250008 */ lw $a1, 8($t9) -/* 01FE5C 7001F25C 0C00592C */ jal __osContRamRead -/* 01FE60 7001F260 2727002C */ addiu $a3, $t9, 0x2c -/* 01FE64 7001F264 AFA2001C */ sw $v0, 0x1c($sp) -/* 01FE68 7001F268 8FB8001C */ lw $t8, 0x1c($sp) -/* 01FE6C 7001F26C 13000003 */ beqz $t8, .L7001F27C -/* 01FE70 7001F270 00000000 */ nop -/* 01FE74 7001F274 10000002 */ b .L7001F280 -/* 01FE78 7001F278 03001025 */ move $v0, $t8 -.L7001F27C: -/* 01FE7C 7001F27C 00001025 */ move $v0, $zero -.L7001F280: -/* 01FE80 7001F280 8FBF0014 */ lw $ra, 0x14($sp) -/* 01FE84 7001F284 27BD0068 */ addiu $sp, $sp, 0x68 -/* 01FE88 7001F288 03E00008 */ jr $ra -/* 01FE8C 7001F28C 00000000 */ nop - -glabel __osCheckId -/* 01FE90 7001F290 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 01FE94 7001F294 AFA40040 */ sw $a0, 0x40($sp) -/* 01FE98 7001F298 8FAE0040 */ lw $t6, 0x40($sp) -/* 01FE9C 7001F29C AFBF0014 */ sw $ra, 0x14($sp) -/* 01FEA0 7001F2A0 91CF0065 */ lbu $t7, 0x65($t6) -/* 01FEA4 7001F2A4 11E0000A */ beqz $t7, .L7001F2D0 -/* 01FEA8 7001F2A8 00000000 */ nop -/* 01FEAC 7001F2AC A1C00065 */ sb $zero, 0x65($t6) -/* 01FEB0 7001F2B0 0C007DAB */ jal __osPfsSelectBank -/* 01FEB4 7001F2B4 8FA40040 */ lw $a0, 0x40($sp) -/* 01FEB8 7001F2B8 AFA20018 */ sw $v0, 0x18($sp) -/* 01FEBC 7001F2BC 8FB80018 */ lw $t8, 0x18($sp) -/* 01FEC0 7001F2C0 13000003 */ beqz $t8, .L7001F2D0 -/* 01FEC4 7001F2C4 00000000 */ nop -/* 01FEC8 7001F2C8 1000002C */ b .L7001F37C -/* 01FECC 7001F2CC 03001025 */ move $v0, $t8 -.L7001F2D0: -/* 01FED0 7001F2D0 8FB90040 */ lw $t9, 0x40($sp) -/* 01FED4 7001F2D4 24060001 */ li $a2, 1 -/* 01FED8 7001F2D8 27A7001C */ addiu $a3, $sp, 0x1c -/* 01FEDC 7001F2DC 8F240004 */ lw $a0, 4($t9) -/* 01FEE0 7001F2E0 0C00592C */ jal __osContRamRead -/* 01FEE4 7001F2E4 8F250008 */ lw $a1, 8($t9) -/* 01FEE8 7001F2E8 AFA20018 */ sw $v0, 0x18($sp) -/* 01FEEC 7001F2EC 8FA80018 */ lw $t0, 0x18($sp) -/* 01FEF0 7001F2F0 11000011 */ beqz $t0, .L7001F338 -/* 01FEF4 7001F2F4 24010002 */ li $at, 2 -/* 01FEF8 7001F2F8 11010003 */ beq $t0, $at, .L7001F308 -/* 01FEFC 7001F2FC 00000000 */ nop -/* 01FF00 7001F300 1000001E */ b .L7001F37C -/* 01FF04 7001F304 01001025 */ move $v0, $t0 -.L7001F308: -/* 01FF08 7001F308 8FA90040 */ lw $t1, 0x40($sp) -/* 01FF0C 7001F30C 24060001 */ li $a2, 1 -/* 01FF10 7001F310 27A7001C */ addiu $a3, $sp, 0x1c -/* 01FF14 7001F314 8D240004 */ lw $a0, 4($t1) -/* 01FF18 7001F318 0C00592C */ jal __osContRamRead -/* 01FF1C 7001F31C 8D250008 */ lw $a1, 8($t1) -/* 01FF20 7001F320 AFA20018 */ sw $v0, 0x18($sp) -/* 01FF24 7001F324 8FAA0018 */ lw $t2, 0x18($sp) -/* 01FF28 7001F328 11400003 */ beqz $t2, .L7001F338 -/* 01FF2C 7001F32C 00000000 */ nop -/* 01FF30 7001F330 10000012 */ b .L7001F37C -/* 01FF34 7001F334 01401025 */ move $v0, $t2 -.L7001F338: -/* 01FF38 7001F338 AFA0003C */ sw $zero, 0x3c($sp) -.L7001F33C: -/* 01FF3C 7001F33C 8FAB003C */ lw $t3, 0x3c($sp) -/* 01FF40 7001F340 8FAD0040 */ lw $t5, 0x40($sp) -/* 01FF44 7001F344 03AB6021 */ addu $t4, $sp, $t3 -/* 01FF48 7001F348 01AB7821 */ addu $t7, $t5, $t3 -/* 01FF4C 7001F34C 91EE000C */ lbu $t6, 0xc($t7) -/* 01FF50 7001F350 918C001C */ lbu $t4, 0x1c($t4) -/* 01FF54 7001F354 118E0003 */ beq $t4, $t6, .L7001F364 -/* 01FF58 7001F358 00000000 */ nop -/* 01FF5C 7001F35C 10000007 */ b .L7001F37C -/* 01FF60 7001F360 24020002 */ li $v0, 2 -.L7001F364: -/* 01FF64 7001F364 8FB8003C */ lw $t8, 0x3c($sp) -/* 01FF68 7001F368 27190001 */ addiu $t9, $t8, 1 -/* 01FF6C 7001F36C 2B210020 */ slti $at, $t9, 0x20 -/* 01FF70 7001F370 1420FFF2 */ bnez $at, .L7001F33C -/* 01FF74 7001F374 AFB9003C */ sw $t9, 0x3c($sp) -/* 01FF78 7001F378 00001025 */ move $v0, $zero -.L7001F37C: -/* 01FF7C 7001F37C 8FBF0014 */ lw $ra, 0x14($sp) -/* 01FF80 7001F380 27BD0040 */ addiu $sp, $sp, 0x40 -/* 01FF84 7001F384 03E00008 */ jr $ra -/* 01FF88 7001F388 00000000 */ nop - -glabel __osPfsRWInode -/* 01FF8C 7001F38C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 01FF90 7001F390 AFA40038 */ sw $a0, 0x38($sp) -/* 01FF94 7001F394 8FAE0038 */ lw $t6, 0x38($sp) -/* 01FF98 7001F398 AFBF001C */ sw $ra, 0x1c($sp) -/* 01FF9C 7001F39C AFA5003C */ sw $a1, 0x3c($sp) -/* 01FFA0 7001F3A0 AFA60040 */ sw $a2, 0x40($sp) -/* 01FFA4 7001F3A4 AFA70044 */ sw $a3, 0x44($sp) -/* 01FFA8 7001F3A8 91CF0065 */ lbu $t7, 0x65($t6) -/* 01FFAC 7001F3AC 11E0000A */ beqz $t7, .L7001F3D8 -/* 01FFB0 7001F3B0 00000000 */ nop -/* 01FFB4 7001F3B4 A1C00065 */ sb $zero, 0x65($t6) -/* 01FFB8 7001F3B8 0C007DAB */ jal __osPfsSelectBank -/* 01FFBC 7001F3BC 8FA40038 */ lw $a0, 0x38($sp) -/* 01FFC0 7001F3C0 AFA2002C */ sw $v0, 0x2c($sp) -/* 01FFC4 7001F3C4 8FB8002C */ lw $t8, 0x2c($sp) -/* 01FFC8 7001F3C8 13000003 */ beqz $t8, .L7001F3D8 -/* 01FFCC 7001F3CC 00000000 */ nop -/* 01FFD0 7001F3D0 100000B2 */ b .L7001F69C -/* 01FFD4 7001F3D4 03001025 */ move $v0, $t8 -.L7001F3D8: -/* 01FFD8 7001F3D8 93B90047 */ lbu $t9, 0x47($sp) -/* 01FFDC 7001F3DC 1B200004 */ blez $t9, .L7001F3F0 -/* 01FFE0 7001F3E0 00000000 */ nop -/* 01FFE4 7001F3E4 24080001 */ li $t0, 1 -/* 01FFE8 7001F3E8 10000004 */ b .L7001F3FC -/* 01FFEC 7001F3EC AFA80028 */ sw $t0, 0x28($sp) -.L7001F3F0: -/* 01FFF0 7001F3F0 8FA90038 */ lw $t1, 0x38($sp) -/* 01FFF4 7001F3F4 8D2A0060 */ lw $t2, 0x60($t1) -/* 01FFF8 7001F3F8 AFAA0028 */ sw $t2, 0x28($sp) -.L7001F3FC: -/* 01FFFC 7001F3FC 93AB0043 */ lbu $t3, 0x43($sp) -/* 020000 7001F400 24010001 */ li $at, 1 -/* 020004 7001F404 1561000C */ bne $t3, $at, .L7001F438 -/* 020008 7001F408 00000000 */ nop -/* 02000C 7001F40C 8FAD0028 */ lw $t5, 0x28($sp) -/* 020010 7001F410 8FAC003C */ lw $t4, 0x3c($sp) -/* 020014 7001F414 000D2823 */ negu $a1, $t5 -/* 020018 7001F418 00057040 */ sll $t6, $a1, 1 -/* 02001C 7001F41C 01C02825 */ move $a1, $t6 -/* 020020 7001F420 000D7840 */ sll $t7, $t5, 1 -/* 020024 7001F424 24A50100 */ addiu $a1, $a1, 0x100 -/* 020028 7001F428 0C007A70 */ jal __osSumcalc -/* 02002C 7001F42C 018F2021 */ addu $a0, $t4, $t7 -/* 020030 7001F430 8FB8003C */ lw $t8, 0x3c($sp) -/* 020034 7001F434 A3020001 */ sb $v0, 1($t8) -.L7001F438: -/* 020038 7001F438 AFA00030 */ sw $zero, 0x30($sp) -.L7001F43C: -/* 02003C 7001F43C 8FA80030 */ lw $t0, 0x30($sp) -/* 020040 7001F440 8FB9003C */ lw $t9, 0x3c($sp) -/* 020044 7001F444 93AB0043 */ lbu $t3, 0x43($sp) -/* 020048 7001F448 00084940 */ sll $t1, $t0, 5 -/* 02004C 7001F44C 24010001 */ li $at, 1 -/* 020050 7001F450 03295021 */ addu $t2, $t9, $t1 -/* 020054 7001F454 1561001B */ bne $t3, $at, .L7001F4C4 -/* 020058 7001F458 AFAA0024 */ sw $t2, 0x24($sp) -/* 02005C 7001F45C 8FAC0038 */ lw $t4, 0x38($sp) -/* 020060 7001F460 93AD0047 */ lbu $t5, 0x47($sp) -/* 020064 7001F464 01403825 */ move $a3, $t2 -/* 020068 7001F468 8D8F0054 */ lw $t7, 0x54($t4) -/* 02006C 7001F46C 000D70C0 */ sll $t6, $t5, 3 -/* 020070 7001F470 8D840004 */ lw $a0, 4($t4) -/* 020074 7001F474 8D850008 */ lw $a1, 8($t4) -/* 020078 7001F478 01EEC021 */ addu $t8, $t7, $t6 -/* 02007C 7001F47C 03083021 */ addu $a2, $t8, $t0 -/* 020080 7001F480 0C005840 */ jal __osContRamWrite -/* 020084 7001F484 AFA00010 */ sw $zero, 0x10($sp) -/* 020088 7001F488 8FB90038 */ lw $t9, 0x38($sp) -/* 02008C 7001F48C 93AB0047 */ lbu $t3, 0x47($sp) -/* 020090 7001F490 AFA2002C */ sw $v0, 0x2c($sp) -/* 020094 7001F494 8F290058 */ lw $t1, 0x58($t9) -/* 020098 7001F498 8FAF0030 */ lw $t7, 0x30($sp) -/* 02009C 7001F49C 000B60C0 */ sll $t4, $t3, 3 -/* 0200A0 7001F4A0 8F250008 */ lw $a1, 8($t9) -/* 0200A4 7001F4A4 8F240004 */ lw $a0, 4($t9) -/* 0200A8 7001F4A8 012C6821 */ addu $t5, $t1, $t4 -/* 0200AC 7001F4AC AFA00010 */ sw $zero, 0x10($sp) -/* 0200B0 7001F4B0 8FA70024 */ lw $a3, 0x24($sp) -/* 0200B4 7001F4B4 0C005840 */ jal __osContRamWrite -/* 0200B8 7001F4B8 01AF3021 */ addu $a2, $t5, $t7 -/* 0200BC 7001F4BC 1000000D */ b .L7001F4F4 -/* 0200C0 7001F4C0 AFA2002C */ sw $v0, 0x2c($sp) -.L7001F4C4: -/* 0200C4 7001F4C4 8FAE0038 */ lw $t6, 0x38($sp) -/* 0200C8 7001F4C8 93A80047 */ lbu $t0, 0x47($sp) -/* 0200CC 7001F4CC 8FAB0030 */ lw $t3, 0x30($sp) -/* 0200D0 7001F4D0 8DD80054 */ lw $t8, 0x54($t6) -/* 0200D4 7001F4D4 000850C0 */ sll $t2, $t0, 3 -/* 0200D8 7001F4D8 8FA70024 */ lw $a3, 0x24($sp) -/* 0200DC 7001F4DC 030AC821 */ addu $t9, $t8, $t2 -/* 0200E0 7001F4E0 8DC40004 */ lw $a0, 4($t6) -/* 0200E4 7001F4E4 8DC50008 */ lw $a1, 8($t6) -/* 0200E8 7001F4E8 0C00592C */ jal __osContRamRead -/* 0200EC 7001F4EC 032B3021 */ addu $a2, $t9, $t3 -/* 0200F0 7001F4F0 AFA2002C */ sw $v0, 0x2c($sp) -.L7001F4F4: -/* 0200F4 7001F4F4 8FA9002C */ lw $t1, 0x2c($sp) -/* 0200F8 7001F4F8 11200003 */ beqz $t1, .L7001F508 -/* 0200FC 7001F4FC 00000000 */ nop -/* 020100 7001F500 10000066 */ b .L7001F69C -/* 020104 7001F504 01201025 */ move $v0, $t1 -.L7001F508: -/* 020108 7001F508 8FAC0030 */ lw $t4, 0x30($sp) -/* 02010C 7001F50C 258D0001 */ addiu $t5, $t4, 1 -/* 020110 7001F510 29A10008 */ slti $at, $t5, 8 -/* 020114 7001F514 1420FFC9 */ bnez $at, .L7001F43C -/* 020118 7001F518 AFAD0030 */ sw $t5, 0x30($sp) -/* 02011C 7001F51C 93AF0043 */ lbu $t7, 0x43($sp) -/* 020120 7001F520 15E0005D */ bnez $t7, .L7001F698 -/* 020124 7001F524 00000000 */ nop -/* 020128 7001F528 8FA80028 */ lw $t0, 0x28($sp) -/* 02012C 7001F52C 8FAE003C */ lw $t6, 0x3c($sp) -/* 020130 7001F530 00082823 */ negu $a1, $t0 -/* 020134 7001F534 00055040 */ sll $t2, $a1, 1 -/* 020138 7001F538 01402825 */ move $a1, $t2 -/* 02013C 7001F53C 0008C040 */ sll $t8, $t0, 1 -/* 020140 7001F540 24A50100 */ addiu $a1, $a1, 0x100 -/* 020144 7001F544 0C007A70 */ jal __osSumcalc -/* 020148 7001F548 01D82021 */ addu $a0, $t6, $t8 -/* 02014C 7001F54C 8FB9003C */ lw $t9, 0x3c($sp) -/* 020150 7001F550 A3A20037 */ sb $v0, 0x37($sp) -/* 020154 7001F554 93A90037 */ lbu $t1, 0x37($sp) -/* 020158 7001F558 932B0001 */ lbu $t3, 1($t9) -/* 02015C 7001F55C 11690037 */ beq $t3, $t1, .L7001F63C -/* 020160 7001F560 00000000 */ nop -/* 020164 7001F564 AFA00030 */ sw $zero, 0x30($sp) -.L7001F568: -/* 020168 7001F568 8FAD0030 */ lw $t5, 0x30($sp) -/* 02016C 7001F56C 8FAC003C */ lw $t4, 0x3c($sp) -/* 020170 7001F570 8FB80038 */ lw $t8, 0x38($sp) -/* 020174 7001F574 000D7940 */ sll $t7, $t5, 5 -/* 020178 7001F578 018F7021 */ addu $t6, $t4, $t7 -/* 02017C 7001F57C 93AA0047 */ lbu $t2, 0x47($sp) -/* 020180 7001F580 AFAE0024 */ sw $t6, 0x24($sp) -/* 020184 7001F584 8F080058 */ lw $t0, 0x58($t8) -/* 020188 7001F588 000AC8C0 */ sll $t9, $t2, 3 -/* 02018C 7001F58C 01C03825 */ move $a3, $t6 -/* 020190 7001F590 01195821 */ addu $t3, $t0, $t9 -/* 020194 7001F594 016D3021 */ addu $a2, $t3, $t5 -/* 020198 7001F598 8F050008 */ lw $a1, 8($t8) -/* 02019C 7001F59C 0C00592C */ jal __osContRamRead -/* 0201A0 7001F5A0 8F040004 */ lw $a0, 4($t8) -/* 0201A4 7001F5A4 8FA90030 */ lw $t1, 0x30($sp) -/* 0201A8 7001F5A8 AFA2002C */ sw $v0, 0x2c($sp) -/* 0201AC 7001F5AC 252C0001 */ addiu $t4, $t1, 1 -/* 0201B0 7001F5B0 29810008 */ slti $at, $t4, 8 -/* 0201B4 7001F5B4 1420FFEC */ bnez $at, .L7001F568 -/* 0201B8 7001F5B8 AFAC0030 */ sw $t4, 0x30($sp) -/* 0201BC 7001F5BC 8FAF003C */ lw $t7, 0x3c($sp) -/* 0201C0 7001F5C0 93AA0037 */ lbu $t2, 0x37($sp) -/* 0201C4 7001F5C4 91F80001 */ lbu $t8, 1($t7) -/* 0201C8 7001F5C8 130A0003 */ beq $t8, $t2, .L7001F5D8 -/* 0201CC 7001F5CC 00000000 */ nop -/* 0201D0 7001F5D0 10000032 */ b .L7001F69C -/* 0201D4 7001F5D4 24020003 */ li $v0, 3 -.L7001F5D8: -/* 0201D8 7001F5D8 AFA00030 */ sw $zero, 0x30($sp) -.L7001F5DC: -/* 0201DC 7001F5DC 8FB90030 */ lw $t9, 0x30($sp) -/* 0201E0 7001F5E0 8FA8003C */ lw $t0, 0x3c($sp) -/* 0201E4 7001F5E4 8FAE0038 */ lw $t6, 0x38($sp) -/* 0201E8 7001F5E8 00195940 */ sll $t3, $t9, 5 -/* 0201EC 7001F5EC 010B6821 */ addu $t5, $t0, $t3 -/* 0201F0 7001F5F0 93AC0047 */ lbu $t4, 0x47($sp) -/* 0201F4 7001F5F4 AFAD0024 */ sw $t5, 0x24($sp) -/* 0201F8 7001F5F8 8DC90054 */ lw $t1, 0x54($t6) -/* 0201FC 7001F5FC 000C78C0 */ sll $t7, $t4, 3 -/* 020200 7001F600 8DC50008 */ lw $a1, 8($t6) -/* 020204 7001F604 8DC40004 */ lw $a0, 4($t6) -/* 020208 7001F608 012FC021 */ addu $t8, $t1, $t7 -/* 02020C 7001F60C AFA00010 */ sw $zero, 0x10($sp) -/* 020210 7001F610 01A03825 */ move $a3, $t5 -/* 020214 7001F614 0C005840 */ jal __osContRamWrite -/* 020218 7001F618 03193021 */ addu $a2, $t8, $t9 -/* 02021C 7001F61C 8FAA0030 */ lw $t2, 0x30($sp) -/* 020220 7001F620 AFA2002C */ sw $v0, 0x2c($sp) -/* 020224 7001F624 25480001 */ addiu $t0, $t2, 1 -/* 020228 7001F628 29010008 */ slti $at, $t0, 8 -/* 02022C 7001F62C 1420FFEB */ bnez $at, .L7001F5DC -/* 020230 7001F630 AFA80030 */ sw $t0, 0x30($sp) -/* 020234 7001F634 10000018 */ b .L7001F698 -/* 020238 7001F638 00000000 */ nop -.L7001F63C: -/* 02023C 7001F63C AFA00030 */ sw $zero, 0x30($sp) -.L7001F640: -/* 020240 7001F640 8FAE0030 */ lw $t6, 0x30($sp) -/* 020244 7001F644 8FAB003C */ lw $t3, 0x3c($sp) -/* 020248 7001F648 8FAF0038 */ lw $t7, 0x38($sp) -/* 02024C 7001F64C 000E6140 */ sll $t4, $t6, 5 -/* 020250 7001F650 016C4821 */ addu $t1, $t3, $t4 -/* 020254 7001F654 93B90047 */ lbu $t9, 0x47($sp) -/* 020258 7001F658 AFA90024 */ sw $t1, 0x24($sp) -/* 02025C 7001F65C 8DF80058 */ lw $t8, 0x58($t7) -/* 020260 7001F660 001968C0 */ sll $t5, $t9, 3 -/* 020264 7001F664 8DE50008 */ lw $a1, 8($t7) -/* 020268 7001F668 8DE40004 */ lw $a0, 4($t7) -/* 02026C 7001F66C 030D5021 */ addu $t2, $t8, $t5 -/* 020270 7001F670 AFA00010 */ sw $zero, 0x10($sp) -/* 020274 7001F674 01203825 */ move $a3, $t1 -/* 020278 7001F678 0C005840 */ jal __osContRamWrite -/* 02027C 7001F67C 014E3021 */ addu $a2, $t2, $t6 -/* 020280 7001F680 8FA80030 */ lw $t0, 0x30($sp) -/* 020284 7001F684 AFA2002C */ sw $v0, 0x2c($sp) -/* 020288 7001F688 250B0001 */ addiu $t3, $t0, 1 -/* 02028C 7001F68C 29610008 */ slti $at, $t3, 8 -/* 020290 7001F690 1420FFEB */ bnez $at, .L7001F640 -/* 020294 7001F694 AFAB0030 */ sw $t3, 0x30($sp) -.L7001F698: -/* 020298 7001F698 00001025 */ move $v0, $zero -.L7001F69C: -/* 02029C 7001F69C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0202A0 7001F6A0 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0202A4 7001F6A4 03E00008 */ jr $ra -/* 0202A8 7001F6A8 00000000 */ nop - -glabel __osPfsSelectBank -/* 0202AC 7001F6AC 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0202B0 7001F6B0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0202B4 7001F6B4 AFA40048 */ sw $a0, 0x48($sp) -/* 0202B8 7001F6B8 AFA00020 */ sw $zero, 0x20($sp) -/* 0202BC 7001F6BC AFA00024 */ sw $zero, 0x24($sp) -.L7001F6C0: -/* 0202C0 7001F6C0 8FAE0048 */ lw $t6, 0x48($sp) -/* 0202C4 7001F6C4 8FB80024 */ lw $t8, 0x24($sp) -/* 0202C8 7001F6C8 91CF0065 */ lbu $t7, 0x65($t6) -/* 0202CC 7001F6CC 03B8C821 */ addu $t9, $sp, $t8 -/* 0202D0 7001F6D0 A32F0028 */ sb $t7, 0x28($t9) -/* 0202D4 7001F6D4 8FA80024 */ lw $t0, 0x24($sp) -/* 0202D8 7001F6D8 25090001 */ addiu $t1, $t0, 1 -/* 0202DC 7001F6DC 29210020 */ slti $at, $t1, 0x20 -/* 0202E0 7001F6E0 1420FFF7 */ bnez $at, .L7001F6C0 -/* 0202E4 7001F6E4 AFA90024 */ sw $t1, 0x24($sp) -/* 0202E8 7001F6E8 8FAA0048 */ lw $t2, 0x48($sp) -/* 0202EC 7001F6EC 24060400 */ li $a2, 1024 -/* 0202F0 7001F6F0 27A70028 */ addiu $a3, $sp, 0x28 -/* 0202F4 7001F6F4 8D440004 */ lw $a0, 4($t2) -/* 0202F8 7001F6F8 8D450008 */ lw $a1, 8($t2) -/* 0202FC 7001F6FC 0C005840 */ jal __osContRamWrite -/* 020300 7001F700 AFA00010 */ sw $zero, 0x10($sp) -/* 020304 7001F704 8FBF001C */ lw $ra, 0x1c($sp) -/* 020308 7001F708 AFA20020 */ sw $v0, 0x20($sp) -/* 02030C 7001F70C 8FA20020 */ lw $v0, 0x20($sp) -/* 020310 7001F710 03E00008 */ jr $ra -/* 020314 7001F714 27BD0048 */ addiu $sp, $sp, 0x48 - -/* 020318 7001F718 00000000 */ nop -/* 02031C 7001F71C 00000000 */ nop -glabel __osSiDeviceBusy -/* 020320 7001F720 3C0EA480 */ lui $t6, %hi(SI_STATUS_REG) # $t6, 0xa480 -/* 020324 7001F724 8DC40018 */ lw $a0, %lo(SI_STATUS_REG)($t6) -/* 020328 7001F728 27BDFFF8 */ addiu $sp, $sp, -8 -/* 02032C 7001F72C 308F0003 */ andi $t7, $a0, 3 -/* 020330 7001F730 11E00003 */ beqz $t7, .L7001F740 -/* 020334 7001F734 00000000 */ nop -/* 020338 7001F738 10000002 */ b .L7001F744 -/* 02033C 7001F73C 24020001 */ li $v0, 1 -.L7001F740: -/* 020340 7001F740 00001025 */ move $v0, $zero -.L7001F744: -/* 020344 7001F744 03E00008 */ jr $ra -/* 020348 7001F748 27BD0008 */ addiu $sp, $sp, 8 - -/* 02034C 7001F74C 00000000 */ nop -glabel guNormalize -/* 020350 7001F750 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 020354 7001F754 AFBF0014 */ sw $ra, 0x14($sp) -/* 020358 7001F758 C4820000 */ lwc1 $f2, ($a0) -/* 02035C 7001F75C C4AE0000 */ lwc1 $f14, ($a1) -/* 020360 7001F760 C4C00000 */ lwc1 $f0, ($a2) -/* 020364 7001F764 46021102 */ mul.s $f4, $f2, $f2 -/* 020368 7001F768 AFA60020 */ sw $a2, 0x20($sp) -/* 02036C 7001F76C AFA5001C */ sw $a1, 0x1c($sp) -/* 020370 7001F770 460E7182 */ mul.s $f6, $f14, $f14 -/* 020374 7001F774 AFA40018 */ sw $a0, 0x18($sp) -/* 020378 7001F778 46000282 */ mul.s $f10, $f0, $f0 -/* 02037C 7001F77C 46062200 */ add.s $f8, $f4, $f6 -/* 020380 7001F780 0C007DF8 */ jal sqrtf -/* 020384 7001F784 46085300 */ add.s $f12, $f10, $f8 -/* 020388 7001F788 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02038C 7001F78C 44818000 */ mtc1 $at, $f16 -/* 020390 7001F790 8FA40018 */ lw $a0, 0x18($sp) -/* 020394 7001F794 8FA5001C */ lw $a1, 0x1c($sp) -/* 020398 7001F798 46008083 */ div.s $f2, $f16, $f0 -/* 02039C 7001F79C C4920000 */ lwc1 $f18, ($a0) -/* 0203A0 7001F7A0 8FA60020 */ lw $a2, 0x20($sp) -/* 0203A4 7001F7A4 46029102 */ mul.s $f4, $f18, $f2 -/* 0203A8 7001F7A8 E4840000 */ swc1 $f4, ($a0) -/* 0203AC 7001F7AC C4A60000 */ lwc1 $f6, ($a1) -/* 0203B0 7001F7B0 46023282 */ mul.s $f10, $f6, $f2 -/* 0203B4 7001F7B4 E4AA0000 */ swc1 $f10, ($a1) -/* 0203B8 7001F7B8 C4C80000 */ lwc1 $f8, ($a2) -/* 0203BC 7001F7BC 46024402 */ mul.s $f16, $f8, $f2 -/* 0203C0 7001F7C0 E4D00000 */ swc1 $f16, ($a2) -/* 0203C4 7001F7C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0203C8 7001F7C8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0203CC 7001F7CC 03E00008 */ jr $ra -/* 0203D0 7001F7D0 00000000 */ nop - -/* 0203D4 7001F7D4 00000000 */ nop -/* 0203D8 7001F7D8 00000000 */ nop -/* 0203DC 7001F7DC 00000000 */ nop -glabel sqrtf -/* 0203E0 7001F7E0 03E00008 */ jr $ra -/* 0203E4 7001F7E4 46006004 */ sqrt.s $f0, $f12 - -/* 0203E8 7001F7E8 00000000 */ nop -/* 0203EC 7001F7EC 00000000 */ nop -glabel osLeoDiskInit -/* 0203F0 7001F7F0 240E0002 */ li $t6, 2 -/* 0203F4 7001F7F4 3C018007 */ lui $at, %hi(LeoDiskHandle+0x4) -/* 0203F8 7001F7F8 A02E9004 */ sb $t6, %lo(LeoDiskHandle+0x4)($at) -/* 0203FC 7001F7FC 3C018007 */ lui $at, %hi(LeoDiskHandle+0xC) -/* 020400 7001F800 3C0FA500 */ lui $t7, 0xa500 -/* 020404 7001F804 AC2F900C */ sw $t7, %lo(LeoDiskHandle+0xC)($at) -/* 020408 7001F808 3C018007 */ lui $at, %hi(LeoDiskHandle+0x5) -/* 02040C 7001F80C 24180003 */ li $t8, 3 -/* 020410 7001F810 A0389005 */ sb $t8, %lo(LeoDiskHandle+0x5)($at) -/* 020414 7001F814 3C018007 */ lui $at, %hi(LeoDiskHandle+0x8) -/* 020418 7001F818 24190006 */ li $t9, 6 -/* 02041C 7001F81C A0399008 */ sb $t9, %lo(LeoDiskHandle+0x8)($at) -/* 020420 7001F820 3C018007 */ lui $at, %hi(LeoDiskHandle+0x7) -/* 020424 7001F824 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 020428 7001F828 24080006 */ li $t0, 6 -/* 02042C 7001F82C 24090002 */ li $t1, 2 -/* 020430 7001F830 AFBF0014 */ sw $ra, 0x14($sp) -/* 020434 7001F834 A0289006 */ sb $t0, %lo(LeoDiskHandle+0x6)($at) -/* 020438 7001F838 A0299007 */ sb $t1, %lo(LeoDiskHandle+0x7)($at) -/* 02043C 7001F83C 240A0003 */ li $t2, 3 -/* 020440 7001F840 3C0BA460 */ lui $t3, %hi(PI_BSD_DOM2_LAT_REG) # $t3, 0xa460 -/* 020444 7001F844 AD6A0024 */ sw $t2, %lo(PI_BSD_DOM2_LAT_REG)($t3) -/* 020448 7001F848 3C0C8007 */ lui $t4, %hi(LeoDiskHandle+0x8) -/* 02044C 7001F84C 918C9008 */ lbu $t4, %lo(LeoDiskHandle+0x8)($t4) -/* 020450 7001F850 3C0DA460 */ lui $t5, %hi(PI_BSD_DOM2_PWD_REG) # $t5, 0xa460 -/* 020454 7001F854 3C0E8007 */ lui $t6, %hi(LeoDiskHandle+0x6) -/* 020458 7001F858 ADAC0028 */ sw $t4, %lo(PI_BSD_DOM2_PWD_REG)($t5) -/* 02045C 7001F85C 91CE9006 */ lbu $t6, %lo(LeoDiskHandle+0x6)($t6) -/* 020460 7001F860 3C0FA460 */ lui $t7, %hi(PI_BSD_DOM2_PGS_REG) # $t7, 0xa460 -/* 020464 7001F864 3C188007 */ lui $t8, %hi(LeoDiskHandle+0x7) -/* 020468 7001F868 ADEE002C */ sw $t6, %lo(PI_BSD_DOM2_PGS_REG)($t7) -/* 02046C 7001F86C 93189007 */ lbu $t8, %lo(LeoDiskHandle+0x7)($t8) -/* 020470 7001F870 3C048007 */ lui $a0, %hi(LeoDiskHandle) -/* 020474 7001F874 3C19A460 */ lui $t9, %hi(PI_BSD_DOM2_RLS_REG) # $t9, 0xa460 -/* 020478 7001F878 24849000 */ addiu $a0, %lo(LeoDiskHandle) # addiu $a0, $a0, -0x7000 -/* 02047C 7001F87C 24840014 */ addiu $a0, $a0, 0x14 -/* 020480 7001F880 24050060 */ li $a1, 96 -/* 020484 7001F884 0C005F10 */ jal _blkclr -/* 020488 7001F888 AF380030 */ sw $t8, %lo(PI_BSD_DOM2_RLS_REG)($t9) -/* 02048C 7001F88C 0C00617C */ jal __osDisableInt -/* 020490 7001F890 00000000 */ nop -/* 020494 7001F894 3C088002 */ lui $t0, %hi(__osPiTable) -/* 020498 7001F898 8D0877AC */ lw $t0, %lo(__osPiTable)($t0) -/* 02049C 7001F89C 3C018007 */ lui $at, %hi(LeoDiskHandle) -/* 0204A0 7001F8A0 3C098007 */ lui $t1, %hi(LeoDiskHandle) -/* 0204A4 7001F8A4 AC289000 */ sw $t0, %lo(LeoDiskHandle)($at) -/* 0204A8 7001F8A8 3C018002 */ lui $at, %hi(__osPiTable) -/* 0204AC 7001F8AC 25299000 */ addiu $t1, %lo(LeoDiskHandle) # addiu $t1, $t1, -0x7000 -/* 0204B0 7001F8B0 AC2977AC */ sw $t1, %lo(__osPiTable)($at) -/* 0204B4 7001F8B4 AFA2001C */ sw $v0, 0x1c($sp) -/* 0204B8 7001F8B8 3C018007 */ lui $at, %hi(__osDiskHandle) -/* 0204BC 7001F8BC AC299074 */ sw $t1, %lo(__osDiskHandle)($at) -/* 0204C0 7001F8C0 0C006184 */ jal __osRestoreInt -/* 0204C4 7001F8C4 8FA4001C */ lw $a0, 0x1c($sp) -/* 0204C8 7001F8C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0204CC 7001F8CC 3C028007 */ lui $v0, %hi(LeoDiskHandle) -/* 0204D0 7001F8D0 24429000 */ addiu $v0, %lo(LeoDiskHandle) # addiu $v0, $v0, -0x7000 -/* 0204D4 7001F8D4 03E00008 */ jr $ra -/* 0204D8 7001F8D8 27BD0020 */ addiu $sp, $sp, 0x20 - -/* 0204DC 7001F8DC 00000000 */ nop -.section .bss -glabel LeoDiskHandle -.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 - -glabel __osDiskHandle -.word 0 -.word 0, 0 - - -.section .text -glabel __osSetCompare -/* 0204E0 7001F8E0 40845800 */ mtc0 $a0, $11 -/* 0204E4 7001F8E4 03E00008 */ jr $ra -/* 0204E8 7001F8E8 00000000 */ nop - -/* 0204EC 7001F8EC 00000000 */ nop -glabel alFilterNew -/* 0204F0 7001F8F0 AC800000 */ sw $zero, ($a0) -/* 0204F4 7001F8F4 AC850004 */ sw $a1, 4($a0) -/* 0204F8 7001F8F8 AC860008 */ sw $a2, 8($a0) -/* 0204FC 7001F8FC A480000C */ sh $zero, 0xc($a0) -/* 020500 7001F900 A480000E */ sh $zero, 0xe($a0) -/* 020504 7001F904 03E00008 */ jr $ra -/* 020508 7001F908 AC870010 */ sw $a3, 0x10($a0) - -/* 02050C 7001F90C 00000000 */ nop -glabel _doModFunc -/* 020510 7001F910 44853000 */ mtc1 $a1, $f6 -/* 020514 7001F914 C4840010 */ lwc1 $f4, 0x10($a0) -/* 020518 7001F918 C4900014 */ lwc1 $f16, 0x14($a0) -/* 02051C 7001F91C 46803220 */ cvt.s.w $f8, $f6 -/* 020520 7001F920 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 020524 7001F924 44812800 */ mtc1 $at, $f5 -/* 020528 7001F928 3C014010 */ li $at, 0x40100000 # 2.250000 -/* 02052C 7001F92C 46082282 */ mul.s $f10, $f4, $f8 -/* 020530 7001F930 44802000 */ mtc1 $zero, $f4 -/* 020534 7001F934 460A8480 */ add.s $f18, $f16, $f10 -/* 020538 7001F938 E4920014 */ swc1 $f18, 0x14($a0) -/* 02053C 7001F93C C4860014 */ lwc1 $f6, 0x14($a0) -/* 020540 7001F940 46003021 */ cvt.d.s $f0, $f6 -/* 020544 7001F944 44803000 */ mtc1 $zero, $f6 -/* 020548 7001F948 4620203C */ c.lt.d $f4, $f0 -/* 02054C 7001F94C 00000000 */ nop -/* 020550 7001F950 45020009 */ bc1fl .L7001F978 -/* 020554 7001F954 462004A0 */ cvt.s.d $f18, $f0 -/* 020558 7001F958 44814800 */ mtc1 $at, $f9 -/* 02055C 7001F95C 44804000 */ mtc1 $zero, $f8 -/* 020560 7001F960 00000000 */ nop -/* 020564 7001F964 46280401 */ sub.d $f16, $f0, $f8 -/* 020568 7001F968 462082A0 */ cvt.s.d $f10, $f16 -/* 02056C 7001F96C 10000003 */ b .L7001F97C -/* 020570 7001F970 E48A0014 */ swc1 $f10, 0x14($a0) -/* 020574 7001F974 462004A0 */ cvt.s.d $f18, $f0 -.L7001F978: -/* 020578 7001F978 E4920014 */ swc1 $f18, 0x14($a0) -.L7001F97C: -/* 02057C 7001F97C C4820014 */ lwc1 $f2, 0x14($a0) -/* 020580 7001F980 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 020584 7001F984 44814800 */ mtc1 $at, $f9 -/* 020588 7001F988 4606103C */ c.lt.s $f2, $f6 -/* 02058C 7001F98C 44804000 */ mtc1 $zero, $f8 -/* 020590 7001F990 45020003 */ bc1fl .L7001F9A0 -/* 020594 7001F994 46001121 */ cvt.d.s $f4, $f2 -/* 020598 7001F998 46001087 */ neg.s $f2, $f2 -/* 02059C 7001F99C 46001121 */ cvt.d.s $f4, $f2 -.L7001F9A0: -/* 0205A0 7001F9A0 C48A001C */ lwc1 $f10, 0x1c($a0) -/* 0205A4 7001F9A4 46282401 */ sub.d $f16, $f4, $f8 -/* 0205A8 7001F9A8 462080A0 */ cvt.s.d $f2, $f16 -/* 0205AC 7001F9AC 46025002 */ mul.s $f0, $f10, $f2 -/* 0205B0 7001F9B0 03E00008 */ jr $ra -/* 0205B4 7001F9B4 00000000 */ nop - -glabel _filterBuffer -/* 0205B8 7001F9B8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0205BC 7001F9BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0205C0 7001F9C0 30A2FFFF */ andi $v0, $a1, 0xffff -/* 0205C4 7001F9C4 0006C040 */ sll $t8, $a2, 1 -/* 0205C8 7001F9C8 3319FFFF */ andi $t9, $t8, 0xffff -/* 0205CC 7001F9CC 00027C00 */ sll $t7, $v0, 0x10 -/* 0205D0 7001F9D0 3C010800 */ lui $at, 0x800 -/* 0205D4 7001F9D4 3C0A0B00 */ lui $t2, (0x0B000020 >> 16) # lui $t2, 0xb00 -/* 0205D8 7001F9D8 00417025 */ or $t6, $v0, $at -/* 0205DC 7001F9DC 01F94825 */ or $t1, $t7, $t9 -/* 0205E0 7001F9E0 354A0020 */ ori $t2, (0x0B000020 & 0xFFFF) # ori $t2, $t2, 0x20 -/* 0205E4 7001F9E4 00804025 */ move $t0, $a0 -/* 0205E8 7001F9E8 ACE90004 */ sw $t1, 4($a3) -/* 0205EC 7001F9EC ACEE0000 */ sw $t6, ($a3) -/* 0205F0 7001F9F0 ACEA0008 */ sw $t2, 8($a3) -/* 0205F4 7001F9F4 AFA80028 */ sw $t0, 0x28($sp) -/* 0205F8 7001F9F8 AFA70034 */ sw $a3, 0x34($sp) -/* 0205FC 7001F9FC 0C003A2C */ jal osVirtualToPhysical -/* 020600 7001FA00 24840008 */ addiu $a0, $a0, 8 -/* 020604 7001FA04 8FA70034 */ lw $a3, 0x34($sp) -/* 020608 7001FA08 8FA80028 */ lw $t0, 0x28($sp) -/* 02060C 7001FA0C 3C010E00 */ lui $at, 0xe00 -/* 020610 7001FA10 24E30010 */ addiu $v1, $a3, 0x10 -/* 020614 7001FA14 246B0008 */ addiu $t3, $v1, 8 -/* 020618 7001FA18 ACE2000C */ sw $v0, 0xc($a3) -/* 02061C 7001FA1C AFAB0024 */ sw $t3, 0x24($sp) -/* 020620 7001FA20 8D0C002C */ lw $t4, 0x2c($t0) -/* 020624 7001FA24 850F0002 */ lh $t7, 2($t0) -/* 020628 7001FA28 318D00FF */ andi $t5, $t4, 0xff -/* 02062C 7001FA2C 000D7400 */ sll $t6, $t5, 0x10 -/* 020630 7001FA30 01C1C025 */ or $t8, $t6, $at -/* 020634 7001FA34 31F9FFFF */ andi $t9, $t7, 0xffff -/* 020638 7001FA38 03194825 */ or $t1, $t8, $t9 -/* 02063C 7001FA3C AC690000 */ sw $t1, ($v1) -/* 020640 7001FA40 8D040028 */ lw $a0, 0x28($t0) -/* 020644 7001FA44 0C003A2C */ jal osVirtualToPhysical -/* 020648 7001FA48 AFA30018 */ sw $v1, 0x18($sp) -/* 02064C 7001FA4C 8FA50018 */ lw $a1, 0x18($sp) -/* 020650 7001FA50 8FA80028 */ lw $t0, 0x28($sp) -/* 020654 7001FA54 ACA20004 */ sw $v0, 4($a1) -/* 020658 7001FA58 AD00002C */ sw $zero, 0x2c($t0) -/* 02065C 7001FA5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 020660 7001FA60 8FA20024 */ lw $v0, 0x24($sp) -/* 020664 7001FA64 27BD0028 */ addiu $sp, $sp, 0x28 -/* 020668 7001FA68 03E00008 */ jr $ra -/* 02066C 7001FA6C 00000000 */ nop - -glabel _saveBuffer -/* 020670 7001FA70 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 020674 7001FA74 AFBF001C */ sw $ra, 0x1c($sp) -/* 020678 7001FA78 AFB00018 */ sw $s0, 0x18($sp) -/* 02067C 7001FA7C 8C83001C */ lw $v1, 0x1c($a0) -/* 020680 7001FA80 8C820014 */ lw $v0, 0x14($a0) -/* 020684 7001FA84 8FA80070 */ lw $t0, 0x70($sp) -/* 020688 7001FA88 00037040 */ sll $t6, $v1, 1 -/* 02068C 7001FA8C 00A2082B */ sltu $at, $a1, $v0 -/* 020690 7001FA90 00805025 */ move $t2, $a0 -/* 020694 7001FA94 00C06825 */ move $t5, $a2 -/* 020698 7001FA98 00E05825 */ move $t3, $a3 -/* 02069C 7001FA9C 10200002 */ beqz $at, .L7001FAA8 -/* 0206A0 7001FAA0 004E4821 */ addu $t1, $v0, $t6 -/* 0206A4 7001FAA4 00AE2821 */ addu $a1, $a1, $t6 -.L7001FAA8: -/* 0206A8 7001FAA8 000B3040 */ sll $a2, $t3, 1 -/* 0206AC 7001FAAC 00C53821 */ addu $a3, $a2, $a1 -/* 0206B0 7001FAB0 0127082B */ sltu $at, $t1, $a3 -/* 0206B4 7001FAB4 1020003C */ beqz $at, .L7001FBA8 -/* 0206B8 7001FAB8 25100008 */ addiu $s0, $t0, 8 -/* 0206BC 7001FABC 01255823 */ subu $t3, $t1, $a1 -/* 0206C0 7001FAC0 000BC043 */ sra $t8, $t3, 1 -/* 0206C4 7001FAC4 3C0F0800 */ lui $t7, 0x800 -/* 0206C8 7001FAC8 AD0F0000 */ sw $t7, ($t0) -/* 0206CC 7001FACC 00185840 */ sll $t3, $t8, 1 -/* 0206D0 7001FAD0 3178FFFF */ andi $t8, $t3, 0xffff -/* 0206D4 7001FAD4 000D7C00 */ sll $t7, $t5, 0x10 -/* 0206D8 7001FAD8 01F8C825 */ or $t9, $t7, $t8 -/* 0206DC 7001FADC 25100008 */ addiu $s0, $t0, 8 -/* 0206E0 7001FAE0 AD190004 */ sw $t9, 4($t0) -/* 0206E4 7001FAE4 02006025 */ move $t4, $s0 -/* 0206E8 7001FAE8 3C0E0600 */ lui $t6, 0x600 -/* 0206EC 7001FAEC AD8E0000 */ sw $t6, ($t4) -/* 0206F0 7001FAF0 AFAD0068 */ sw $t5, 0x68($sp) -/* 0206F4 7001FAF4 AFAC0044 */ sw $t4, 0x44($sp) -/* 0206F8 7001FAF8 AFAB0024 */ sw $t3, 0x24($sp) -/* 0206FC 7001FAFC AFAA0060 */ sw $t2, 0x60($sp) -/* 020700 7001FB00 AFA9004C */ sw $t1, 0x4c($sp) -/* 020704 7001FB04 AFA70028 */ sw $a3, 0x28($sp) -/* 020708 7001FB08 AFA6002C */ sw $a2, 0x2c($sp) -/* 02070C 7001FB0C 26100008 */ addiu $s0, $s0, 8 -/* 020710 7001FB10 0C003A2C */ jal osVirtualToPhysical -/* 020714 7001FB14 00A02025 */ move $a0, $a1 -/* 020718 7001FB18 8FAC0044 */ lw $t4, 0x44($sp) -/* 02071C 7001FB1C 8FA70028 */ lw $a3, 0x28($sp) -/* 020720 7001FB20 8FA9004C */ lw $t1, 0x4c($sp) -/* 020724 7001FB24 8FAB0024 */ lw $t3, 0x24($sp) -/* 020728 7001FB28 8FAD0068 */ lw $t5, 0x68($sp) -/* 02072C 7001FB2C 8FAA0060 */ lw $t2, 0x60($sp) -/* 020730 7001FB30 02001825 */ move $v1, $s0 -/* 020734 7001FB34 3C0F0800 */ lui $t7, 0x800 -/* 020738 7001FB38 AD820004 */ sw $v0, 4($t4) -/* 02073C 7001FB3C AC6F0000 */ sw $t7, ($v1) -/* 020740 7001FB40 00E97823 */ subu $t7, $a3, $t1 -/* 020744 7001FB44 016DC821 */ addu $t9, $t3, $t5 -/* 020748 7001FB48 00197400 */ sll $t6, $t9, 0x10 -/* 02074C 7001FB4C 000FC043 */ sra $t8, $t7, 1 -/* 020750 7001FB50 0018C840 */ sll $t9, $t8, 1 -/* 020754 7001FB54 332FFFFF */ andi $t7, $t9, 0xffff -/* 020758 7001FB58 01CFC025 */ or $t8, $t6, $t7 -/* 02075C 7001FB5C 26100008 */ addiu $s0, $s0, 8 -/* 020760 7001FB60 AC780004 */ sw $t8, 4($v1) -/* 020764 7001FB64 02002825 */ move $a1, $s0 -/* 020768 7001FB68 3C190600 */ lui $t9, 0x600 -/* 02076C 7001FB6C ACB90000 */ sw $t9, ($a1) -/* 020770 7001FB70 8D440014 */ lw $a0, 0x14($t2) -/* 020774 7001FB74 AFA5003C */ sw $a1, 0x3c($sp) -/* 020778 7001FB78 0C003A2C */ jal osVirtualToPhysical -/* 02077C 7001FB7C 26100008 */ addiu $s0, $s0, 8 -/* 020780 7001FB80 8FA5003C */ lw $a1, 0x3c($sp) -/* 020784 7001FB84 8FA6002C */ lw $a2, 0x2c($sp) -/* 020788 7001FB88 02001825 */ move $v1, $s0 -/* 02078C 7001FB8C 3C0E0800 */ lui $t6, 0x800 -/* 020790 7001FB90 ACA20004 */ sw $v0, 4($a1) -/* 020794 7001FB94 30CFFFFF */ andi $t7, $a2, 0xffff -/* 020798 7001FB98 AC6F0004 */ sw $t7, 4($v1) -/* 02079C 7001FB9C AC6E0000 */ sw $t6, ($v1) -/* 0207A0 7001FBA0 10000010 */ b .L7001FBE4 -/* 0207A4 7001FBA4 26100008 */ addiu $s0, $s0, 8 -.L7001FBA8: -/* 0207A8 7001FBA8 3C180800 */ lui $t8, 0x800 -/* 0207AC 7001FBAC AD180000 */ sw $t8, ($t0) -/* 0207B0 7001FBB0 000D7400 */ sll $t6, $t5, 0x10 -/* 0207B4 7001FBB4 30CFFFFF */ andi $t7, $a2, 0xffff -/* 0207B8 7001FBB8 01CFC025 */ or $t8, $t6, $t7 -/* 0207BC 7001FBBC AD180004 */ sw $t8, 4($t0) -/* 0207C0 7001FBC0 02001825 */ move $v1, $s0 -/* 0207C4 7001FBC4 3C190600 */ lui $t9, 0x600 -/* 0207C8 7001FBC8 AC790000 */ sw $t9, ($v1) -/* 0207CC 7001FBCC AFA30030 */ sw $v1, 0x30($sp) -/* 0207D0 7001FBD0 26100008 */ addiu $s0, $s0, 8 -/* 0207D4 7001FBD4 0C003A2C */ jal osVirtualToPhysical -/* 0207D8 7001FBD8 00A02025 */ move $a0, $a1 -/* 0207DC 7001FBDC 8FA30030 */ lw $v1, 0x30($sp) -/* 0207E0 7001FBE0 AC620004 */ sw $v0, 4($v1) -.L7001FBE4: -/* 0207E4 7001FBE4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0207E8 7001FBE8 02001025 */ move $v0, $s0 -/* 0207EC 7001FBEC 8FB00018 */ lw $s0, 0x18($sp) -/* 0207F0 7001FBF0 03E00008 */ jr $ra -/* 0207F4 7001FBF4 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel _loadBuffer -/* 0207F8 7001FBF8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0207FC 7001FBFC AFBF001C */ sw $ra, 0x1c($sp) -/* 020800 7001FC00 AFB00018 */ sw $s0, 0x18($sp) -/* 020804 7001FC04 8C83001C */ lw $v1, 0x1c($a0) -/* 020808 7001FC08 8C820014 */ lw $v0, 0x14($a0) -/* 02080C 7001FC0C 8FA80070 */ lw $t0, 0x70($sp) -/* 020810 7001FC10 00037040 */ sll $t6, $v1, 1 -/* 020814 7001FC14 00A2082B */ sltu $at, $a1, $v0 -/* 020818 7001FC18 00805025 */ move $t2, $a0 -/* 02081C 7001FC1C 00C06825 */ move $t5, $a2 -/* 020820 7001FC20 00E05825 */ move $t3, $a3 -/* 020824 7001FC24 10200002 */ beqz $at, .L7001FC30 -/* 020828 7001FC28 004E4821 */ addu $t1, $v0, $t6 -/* 02082C 7001FC2C 00AE2821 */ addu $a1, $a1, $t6 -.L7001FC30: -/* 020830 7001FC30 000B3040 */ sll $a2, $t3, 1 -/* 020834 7001FC34 00C53821 */ addu $a3, $a2, $a1 -/* 020838 7001FC38 0127082B */ sltu $at, $t1, $a3 -/* 02083C 7001FC3C 10200037 */ beqz $at, .L7001FD1C -/* 020840 7001FC40 25100008 */ addiu $s0, $t0, 8 -/* 020844 7001FC44 31AFFFFF */ andi $t7, $t5, 0xffff -/* 020848 7001FC48 3C010800 */ lui $at, 0x800 -/* 02084C 7001FC4C 01255823 */ subu $t3, $t1, $a1 -/* 020850 7001FC50 000BC843 */ sra $t9, $t3, 1 -/* 020854 7001FC54 01E1C025 */ or $t8, $t7, $at -/* 020858 7001FC58 00197040 */ sll $t6, $t9, 1 -/* 02085C 7001FC5C 31CFFFFF */ andi $t7, $t6, 0xffff -/* 020860 7001FC60 AD180000 */ sw $t8, ($t0) -/* 020864 7001FC64 25100008 */ addiu $s0, $t0, 8 -/* 020868 7001FC68 AD0F0004 */ sw $t7, 4($t0) -/* 02086C 7001FC6C 02006025 */ move $t4, $s0 -/* 020870 7001FC70 3C180400 */ lui $t8, 0x400 -/* 020874 7001FC74 AD980000 */ sw $t8, ($t4) -/* 020878 7001FC78 AFAD0068 */ sw $t5, 0x68($sp) -/* 02087C 7001FC7C AFAC0044 */ sw $t4, 0x44($sp) -/* 020880 7001FC80 AFAE0024 */ sw $t6, 0x24($sp) -/* 020884 7001FC84 AFAA0060 */ sw $t2, 0x60($sp) -/* 020888 7001FC88 AFA9004C */ sw $t1, 0x4c($sp) -/* 02088C 7001FC8C AFA70028 */ sw $a3, 0x28($sp) -/* 020890 7001FC90 AFA6002C */ sw $a2, 0x2c($sp) -/* 020894 7001FC94 26100008 */ addiu $s0, $s0, 8 -/* 020898 7001FC98 0C003A2C */ jal osVirtualToPhysical -/* 02089C 7001FC9C 00A02025 */ move $a0, $a1 -/* 0208A0 7001FCA0 8FAB0024 */ lw $t3, 0x24($sp) -/* 0208A4 7001FCA4 8FAD0068 */ lw $t5, 0x68($sp) -/* 0208A8 7001FCA8 8FA70028 */ lw $a3, 0x28($sp) -/* 0208AC 7001FCAC 8FA9004C */ lw $t1, 0x4c($sp) -/* 0208B0 7001FCB0 8FAC0044 */ lw $t4, 0x44($sp) -/* 0208B4 7001FCB4 016DC821 */ addu $t9, $t3, $t5 -/* 0208B8 7001FCB8 332EFFFF */ andi $t6, $t9, 0xffff -/* 0208BC 7001FCBC 3C010800 */ lui $at, 0x800 -/* 0208C0 7001FCC0 8FAA0060 */ lw $t2, 0x60($sp) -/* 0208C4 7001FCC4 01C17825 */ or $t7, $t6, $at -/* 0208C8 7001FCC8 00E9C023 */ subu $t8, $a3, $t1 -/* 0208CC 7001FCCC 0018C843 */ sra $t9, $t8, 1 -/* 0208D0 7001FCD0 02001825 */ move $v1, $s0 -/* 0208D4 7001FCD4 AD820004 */ sw $v0, 4($t4) -/* 0208D8 7001FCD8 AC6F0000 */ sw $t7, ($v1) -/* 0208DC 7001FCDC 00197040 */ sll $t6, $t9, 1 -/* 0208E0 7001FCE0 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0208E4 7001FCE4 26100008 */ addiu $s0, $s0, 8 -/* 0208E8 7001FCE8 AC6F0004 */ sw $t7, 4($v1) -/* 0208EC 7001FCEC 02002825 */ move $a1, $s0 -/* 0208F0 7001FCF0 3C180400 */ lui $t8, 0x400 -/* 0208F4 7001FCF4 ACB80000 */ sw $t8, ($a1) -/* 0208F8 7001FCF8 8D440014 */ lw $a0, 0x14($t2) -/* 0208FC 7001FCFC AFA5003C */ sw $a1, 0x3c($sp) -/* 020900 7001FD00 0C003A2C */ jal osVirtualToPhysical -/* 020904 7001FD04 26100008 */ addiu $s0, $s0, 8 -/* 020908 7001FD08 8FA5003C */ lw $a1, 0x3c($sp) -/* 02090C 7001FD0C 8FA6002C */ lw $a2, 0x2c($sp) -/* 020910 7001FD10 ACA20004 */ sw $v0, 4($a1) -/* 020914 7001FD14 10000012 */ b .L7001FD60 -/* 020918 7001FD18 30C7FFFF */ andi $a3, $a2, 0xffff -.L7001FD1C: -/* 02091C 7001FD1C 31B9FFFF */ andi $t9, $t5, 0xffff -/* 020920 7001FD20 3C010800 */ lui $at, 0x800 -/* 020924 7001FD24 03217025 */ or $t6, $t9, $at -/* 020928 7001FD28 30C7FFFF */ andi $a3, $a2, 0xffff -/* 02092C 7001FD2C AD070004 */ sw $a3, 4($t0) -/* 020930 7001FD30 AD0E0000 */ sw $t6, ($t0) -/* 020934 7001FD34 02001825 */ move $v1, $s0 -/* 020938 7001FD38 3C0F0400 */ lui $t7, 0x400 -/* 02093C 7001FD3C AC6F0000 */ sw $t7, ($v1) -/* 020940 7001FD40 AFA70028 */ sw $a3, 0x28($sp) -/* 020944 7001FD44 AFA30034 */ sw $v1, 0x34($sp) -/* 020948 7001FD48 26100008 */ addiu $s0, $s0, 8 -/* 02094C 7001FD4C 0C003A2C */ jal osVirtualToPhysical -/* 020950 7001FD50 00A02025 */ move $a0, $a1 -/* 020954 7001FD54 8FA30034 */ lw $v1, 0x34($sp) -/* 020958 7001FD58 8FA70028 */ lw $a3, 0x28($sp) -/* 02095C 7001FD5C AC620004 */ sw $v0, 4($v1) -.L7001FD60: -/* 020960 7001FD60 02001825 */ move $v1, $s0 -/* 020964 7001FD64 3C180800 */ lui $t8, 0x800 -/* 020968 7001FD68 AC780000 */ sw $t8, ($v1) -/* 02096C 7001FD6C AC670004 */ sw $a3, 4($v1) -/* 020970 7001FD70 8FBF001C */ lw $ra, 0x1c($sp) -/* 020974 7001FD74 26020008 */ addiu $v0, $s0, 8 -/* 020978 7001FD78 8FB00018 */ lw $s0, 0x18($sp) -/* 02097C 7001FD7C 03E00008 */ jr $ra -/* 020980 7001FD80 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel _loadOutputBuffer -/* 020984 7001FD84 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 020988 7001FD88 AFBF0024 */ sw $ra, 0x24($sp) -/* 02098C 7001FD8C AFB10020 */ sw $s1, 0x20($sp) -/* 020990 7001FD90 AFB0001C */ sw $s0, 0x1c($sp) -/* 020994 7001FD94 AFA60068 */ sw $a2, 0x68($sp) -/* 020998 7001FD98 8CAE0024 */ lw $t6, 0x24($a1) -/* 02099C 7001FD9C 00A08025 */ move $s0, $a1 -/* 0209A0 7001FDA0 00E08825 */ move $s1, $a3 -/* 0209A4 7001FDA4 11C0006E */ beqz $t6, .L7001FF60 -/* 0209A8 7001FDA8 00805025 */ move $t2, $a0 -/* 0209AC 7001FDAC 8CAF0004 */ lw $t7, 4($a1) -/* 0209B0 7001FDB0 8CB80000 */ lw $t8, ($a1) -/* 0209B4 7001FDB4 00A02025 */ move $a0, $a1 -/* 0209B8 7001FDB8 00E02825 */ move $a1, $a3 -/* 0209BC 7001FDBC 01F8C823 */ subu $t9, $t7, $t8 -/* 0209C0 7001FDC0 AFB90038 */ sw $t9, 0x38($sp) -/* 0209C4 7001FDC4 0C007E44 */ jal _doModFunc -/* 0209C8 7001FDC8 AFAA0060 */ sw $t2, 0x60($sp) -/* 0209CC 7001FDCC 8FAC0038 */ lw $t4, 0x38($sp) -/* 0209D0 7001FDD0 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 0209D4 7001FDD4 44817000 */ mtc1 $at, $f14 -/* 0209D8 7001FDD8 448C3000 */ mtc1 $t4, $f6 -/* 0209DC 7001FDDC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0209E0 7001FDE0 44812800 */ mtc1 $at, $f5 -/* 0209E4 7001FDE4 46803220 */ cvt.s.w $f8, $f6 -/* 0209E8 7001FDE8 44802000 */ mtc1 $zero, $f4 -/* 0209EC 7001FDEC 8FA40060 */ lw $a0, 0x60($sp) -/* 0209F0 7001FDF0 24060280 */ li $a2, 640 -/* 0209F4 7001FDF4 46080283 */ div.s $f10, $f0, $f8 -/* 0209F8 7001FDF8 460E5402 */ mul.s $f16, $f10, $f14 -/* 0209FC 7001FDFC 4600848D */ trunc.w.s $f18, $f16 -/* 020A00 7001FE00 440E9000 */ mfc1 $t6, $f18 -/* 020A04 7001FE04 00000000 */ nop -/* 020A08 7001FE08 448E3000 */ mtc1 $t6, $f6 -/* 020A0C 7001FE0C 00000000 */ nop -/* 020A10 7001FE10 46803220 */ cvt.s.w $f8, $f6 -/* 020A14 7001FE14 460E4283 */ div.s $f10, $f8, $f14 -/* 020A18 7001FE18 44914000 */ mtc1 $s1, $f8 -/* 020A1C 7001FE1C 46005421 */ cvt.d.s $f16, $f10 -/* 020A20 7001FE20 468042A0 */ cvt.s.w $f10, $f8 -/* 020A24 7001FE24 46302481 */ sub.d $f18, $f4, $f16 -/* 020A28 7001FE28 462090A0 */ cvt.s.d $f2, $f18 -/* 020A2C 7001FE2C 460A1102 */ mul.s $f4, $f2, $f10 -/* 020A30 7001FE30 E7A20044 */ swc1 $f2, 0x44($sp) -/* 020A34 7001FE34 8E020024 */ lw $v0, 0x24($s0) -/* 020A38 7001FE38 C4460020 */ lwc1 $f6, 0x20($v0) -/* 020A3C 7001FE3C 46043300 */ add.s $f12, $f6, $f4 -/* 020A40 7001FE40 4600640D */ trunc.w.s $f16, $f12 -/* 020A44 7001FE44 44098000 */ mfc1 $t1, $f16 -/* 020A48 7001FE48 00000000 */ nop -/* 020A4C 7001FE4C 44899000 */ mtc1 $t1, $f18 -/* 020A50 7001FE50 00000000 */ nop -/* 020A54 7001FE54 46809220 */ cvt.s.w $f8, $f18 -/* 020A58 7001FE58 46086281 */ sub.s $f10, $f12, $f8 -/* 020A5C 7001FE5C E44A0020 */ swc1 $f10, 0x20($v0) -/* 020A60 7001FE60 8E190018 */ lw $t9, 0x18($s0) -/* 020A64 7001FE64 8E180004 */ lw $t8, 4($s0) -/* 020A68 7001FE68 8C8F0018 */ lw $t7, 0x18($a0) -/* 020A6C 7001FE6C AFA9002C */ sw $t1, 0x2c($sp) -/* 020A70 7001FE70 03196023 */ subu $t4, $t8, $t9 -/* 020A74 7001FE74 000C6823 */ negu $t5, $t4 -/* 020A78 7001FE78 000D7040 */ sll $t6, $t5, 1 -/* 020A7C 7001FE7C 01EE4021 */ addu $t0, $t7, $t6 -/* 020A80 7001FE80 31030007 */ andi $v1, $t0, 7 -/* 020A84 7001FE84 8FB90070 */ lw $t9, 0x70($sp) -/* 020A88 7001FE88 0003C043 */ sra $t8, $v1, 1 -/* 020A8C 7001FE8C 00185840 */ sll $t3, $t8, 1 -/* 020A90 7001FE90 010B2823 */ subu $a1, $t0, $t3 -/* 020A94 7001FE94 AFAB0028 */ sw $t3, 0x28($sp) -/* 020A98 7001FE98 03001825 */ move $v1, $t8 -/* 020A9C 7001FE9C 01383821 */ addu $a3, $t1, $t8 -/* 020AA0 7001FEA0 0C007EFE */ jal _loadBuffer -/* 020AA4 7001FEA4 AFB90010 */ sw $t9, 0x10($sp) -/* 020AA8 7001FEA8 8FAB0028 */ lw $t3, 0x28($sp) -/* 020AAC 7001FEAC 3C010800 */ lui $at, 0x800 -/* 020AB0 7001FEB0 244E0008 */ addiu $t6, $v0, 8 -/* 020AB4 7001FEB4 256C0280 */ addiu $t4, $t3, 0x280 -/* 020AB8 7001FEB8 318DFFFF */ andi $t5, $t4, 0xffff -/* 020ABC 7001FEBC 01A17825 */ or $t7, $t5, $at -/* 020AC0 7001FEC0 AC4F0000 */ sw $t7, ($v0) -/* 020AC4 7001FEC4 8FB80068 */ lw $t8, 0x68($sp) -/* 020AC8 7001FEC8 00116040 */ sll $t4, $s1, 1 -/* 020ACC 7001FECC 318DFFFF */ andi $t5, $t4, 0xffff -/* 020AD0 7001FED0 0018CC00 */ sll $t9, $t8, 0x10 -/* 020AD4 7001FED4 032D7825 */ or $t7, $t9, $t5 -/* 020AD8 7001FED8 AC4F0004 */ sw $t7, 4($v0) -/* 020ADC 7001FEDC 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 020AE0 7001FEE0 44812000 */ mtc1 $at, $f4 -/* 020AE4 7001FEE4 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 020AE8 7001FEE8 AFAE0030 */ sw $t6, 0x30($sp) -/* 020AEC 7001FEEC 8E0D0024 */ lw $t5, 0x24($s0) -/* 020AF0 7001FEF0 46043402 */ mul.s $f16, $f6, $f4 -/* 020AF4 7001FEF4 3C010500 */ lui $at, 0x500 -/* 020AF8 7001FEF8 8DAF0024 */ lw $t7, 0x24($t5) -/* 020AFC 7001FEFC 24430010 */ addiu $v1, $v0, 0x10 -/* 020B00 7001FF00 31EE00FF */ andi $t6, $t7, 0xff -/* 020B04 7001FF04 000EC400 */ sll $t8, $t6, 0x10 -/* 020B08 7001FF08 4600848D */ trunc.w.s $f18, $f16 -/* 020B0C 7001FF0C 440C9000 */ mfc1 $t4, $f18 -/* 020B10 7001FF10 00000000 */ nop -/* 020B14 7001FF14 3199FFFF */ andi $t9, $t4, 0xffff -/* 020B18 7001FF18 03016025 */ or $t4, $t8, $at -/* 020B1C 7001FF1C 01996825 */ or $t5, $t4, $t9 -/* 020B20 7001FF20 AC4D0008 */ sw $t5, 8($v0) -/* 020B24 7001FF24 8E0F0024 */ lw $t7, 0x24($s0) -/* 020B28 7001FF28 8DE40014 */ lw $a0, 0x14($t7) -/* 020B2C 7001FF2C 0C003A2C */ jal osVirtualToPhysical -/* 020B30 7001FF30 AFA3005C */ sw $v1, 0x5c($sp) -/* 020B34 7001FF34 8FAE0030 */ lw $t6, 0x30($sp) -/* 020B38 7001FF38 8FA9002C */ lw $t1, 0x2c($sp) -/* 020B3C 7001FF3C 8FA3005C */ lw $v1, 0x5c($sp) -/* 020B40 7001FF40 ADC20004 */ sw $v0, 4($t6) -/* 020B44 7001FF44 8E180024 */ lw $t8, 0x24($s0) -/* 020B48 7001FF48 AF000024 */ sw $zero, 0x24($t8) -/* 020B4C 7001FF4C 8E0C0018 */ lw $t4, 0x18($s0) -/* 020B50 7001FF50 0189C821 */ addu $t9, $t4, $t1 -/* 020B54 7001FF54 03316823 */ subu $t5, $t9, $s1 -/* 020B58 7001FF58 1000000D */ b .L7001FF90 -/* 020B5C 7001FF5C AE0D0018 */ sw $t5, 0x18($s0) -.L7001FF60: -/* 020B60 7001FF60 8E0E0004 */ lw $t6, 4($s0) -/* 020B64 7001FF64 8D4F0018 */ lw $t7, 0x18($t2) -/* 020B68 7001FF68 8FB90070 */ lw $t9, 0x70($sp) -/* 020B6C 7001FF6C 000EC023 */ negu $t8, $t6 -/* 020B70 7001FF70 00186040 */ sll $t4, $t8, 1 -/* 020B74 7001FF74 01402025 */ move $a0, $t2 -/* 020B78 7001FF78 8FA60068 */ lw $a2, 0x68($sp) -/* 020B7C 7001FF7C 02203825 */ move $a3, $s1 -/* 020B80 7001FF80 01EC2821 */ addu $a1, $t7, $t4 -/* 020B84 7001FF84 0C007EFE */ jal _loadBuffer -/* 020B88 7001FF88 AFB90010 */ sw $t9, 0x10($sp) -/* 020B8C 7001FF8C 00401825 */ move $v1, $v0 -.L7001FF90: -/* 020B90 7001FF90 8FBF0024 */ lw $ra, 0x24($sp) -/* 020B94 7001FF94 8FB0001C */ lw $s0, 0x1c($sp) -/* 020B98 7001FF98 8FB10020 */ lw $s1, 0x20($sp) -/* 020B9C 7001FF9C 27BD0060 */ addiu $sp, $sp, 0x60 -/* 020BA0 7001FFA0 03E00008 */ jr $ra -/* 020BA4 7001FFA4 00601025 */ move $v0, $v1 - -glabel alFxParamHdl -/* 020BA8 7001FFA8 24A2FFFE */ addiu $v0, $a1, -2 -/* 020BAC 7001FFAC 304E0007 */ andi $t6, $v0, 7 -/* 020BB0 7001FFB0 2DC10008 */ sltiu $at, $t6, 8 -/* 020BB4 7001FFB4 10200080 */ beqz $at, .L700201B8 -/* 020BB8 7001FFB8 8CC30000 */ lw $v1, ($a2) -/* 020BBC 7001FFBC 000E7080 */ sll $t6, $t6, 2 -/* 020BC0 7001FFC0 3C018003 */ lui $at, %hi(jpt_80029D10) -/* 020BC4 7001FFC4 002E0821 */ addu $at, $at, $t6 -/* 020BC8 7001FFC8 8C2E9D10 */ lw $t6, %lo(jpt_80029D10)($at) -/* 020BCC 7001FFCC 01C00008 */ jr $t6 -/* 020BD0 7001FFD0 00000000 */ nop -.L7001FFD4: -/* 020BD4 7001FFD4 8C8F0020 */ lw $t7, 0x20($a0) -/* 020BD8 7001FFD8 04410003 */ bgez $v0, .L7001FFE8 -/* 020BDC 7001FFDC 0002C0C3 */ sra $t8, $v0, 3 -/* 020BE0 7001FFE0 24410007 */ addiu $at, $v0, 7 -/* 020BE4 7001FFE4 0001C0C3 */ sra $t8, $at, 3 -.L7001FFE8: -/* 020BE8 7001FFE8 0018C880 */ sll $t9, $t8, 2 -/* 020BEC 7001FFEC 0338C821 */ addu $t9, $t9, $t8 -/* 020BF0 7001FFF0 0019C8C0 */ sll $t9, $t9, 3 -/* 020BF4 7001FFF4 01F94021 */ addu $t0, $t7, $t9 -/* 020BF8 7001FFF8 AD030000 */ sw $v1, ($t0) -/* 020BFC 7001FFFC 03E00008 */ jr $ra -/* 020C00 70020000 00001025 */ move $v0, $zero -.L70020004: -/* 020C04 70020004 8C890020 */ lw $t1, 0x20($a0) -/* 020C08 70020008 04410003 */ bgez $v0, .L70020018 -/* 020C0C 7002000C 000250C3 */ sra $t2, $v0, 3 -/* 020C10 70020010 24410007 */ addiu $at, $v0, 7 -/* 020C14 70020014 000150C3 */ sra $t2, $at, 3 -.L70020018: -/* 020C18 70020018 000A5880 */ sll $t3, $t2, 2 -/* 020C1C 7002001C 016A5821 */ addu $t3, $t3, $t2 -/* 020C20 70020020 000B58C0 */ sll $t3, $t3, 3 -/* 020C24 70020024 012B6021 */ addu $t4, $t1, $t3 -/* 020C28 70020028 AD830004 */ sw $v1, 4($t4) -/* 020C2C 7002002C 03E00008 */ jr $ra -/* 020C30 70020030 00001025 */ move $v0, $zero -.L70020034: -/* 020C34 70020034 8C8D0020 */ lw $t5, 0x20($a0) -/* 020C38 70020038 04410003 */ bgez $v0, .L70020048 -/* 020C3C 7002003C 000270C3 */ sra $t6, $v0, 3 -/* 020C40 70020040 24410007 */ addiu $at, $v0, 7 -/* 020C44 70020044 000170C3 */ sra $t6, $at, 3 -.L70020048: -/* 020C48 70020048 000EC080 */ sll $t8, $t6, 2 -/* 020C4C 7002004C 030EC021 */ addu $t8, $t8, $t6 -/* 020C50 70020050 0018C0C0 */ sll $t8, $t8, 3 -/* 020C54 70020054 01B87821 */ addu $t7, $t5, $t8 -/* 020C58 70020058 A5E30008 */ sh $v1, 8($t7) -/* 020C5C 7002005C 03E00008 */ jr $ra -/* 020C60 70020060 00001025 */ move $v0, $zero -.L70020064: -/* 020C64 70020064 8C990020 */ lw $t9, 0x20($a0) -/* 020C68 70020068 04410003 */ bgez $v0, .L70020078 -/* 020C6C 7002006C 000240C3 */ sra $t0, $v0, 3 -/* 020C70 70020070 24410007 */ addiu $at, $v0, 7 -/* 020C74 70020074 000140C3 */ sra $t0, $at, 3 -.L70020078: -/* 020C78 70020078 00085080 */ sll $t2, $t0, 2 -/* 020C7C 7002007C 01485021 */ addu $t2, $t2, $t0 -/* 020C80 70020080 000A50C0 */ sll $t2, $t2, 3 -/* 020C84 70020084 032A4821 */ addu $t1, $t9, $t2 -/* 020C88 70020088 A523000A */ sh $v1, 0xa($t1) -/* 020C8C 7002008C 03E00008 */ jr $ra -/* 020C90 70020090 00001025 */ move $v0, $zero -.L70020094: -/* 020C94 70020094 8C8B0020 */ lw $t3, 0x20($a0) -/* 020C98 70020098 04410003 */ bgez $v0, .L700200A8 -/* 020C9C 7002009C 000260C3 */ sra $t4, $v0, 3 -/* 020CA0 700200A0 24410007 */ addiu $at, $v0, 7 -/* 020CA4 700200A4 000160C3 */ sra $t4, $at, 3 -.L700200A8: -/* 020CA8 700200A8 000C7080 */ sll $t6, $t4, 2 -/* 020CAC 700200AC 01CC7021 */ addu $t6, $t6, $t4 -/* 020CB0 700200B0 000E70C0 */ sll $t6, $t6, 3 -/* 020CB4 700200B4 016E6821 */ addu $t5, $t3, $t6 -/* 020CB8 700200B8 A5A3000C */ sh $v1, 0xc($t5) -/* 020CBC 700200BC 03E00008 */ jr $ra -/* 020CC0 700200C0 00001025 */ move $v0, $zero -.L700200C4: -/* 020CC4 700200C4 44832000 */ mtc1 $v1, $f4 -/* 020CC8 700200C8 3C018003 */ lui $at, %hi(F64_80029D30) -/* 020CCC 700200CC C4289D30 */ lwc1 $f8, %lo(F64_80029D30)($at) -/* 020CD0 700200D0 468021A0 */ cvt.s.w $f6, $f4 -/* 020CD4 700200D4 8C980020 */ lw $t8, 0x20($a0) -/* 020CD8 700200D8 46083283 */ div.s $f10, $f6, $f8 -/* 020CDC 700200DC 04410003 */ bgez $v0, .L700200EC -/* 020CE0 700200E0 000278C3 */ sra $t7, $v0, 3 -/* 020CE4 700200E4 24410007 */ addiu $at, $v0, 7 -/* 020CE8 700200E8 000178C3 */ sra $t7, $at, 3 -.L700200EC: -/* 020CEC 700200EC 000F4080 */ sll $t0, $t7, 2 -/* 020CF0 700200F0 010F4021 */ addu $t0, $t0, $t7 -/* 020CF4 700200F4 000840C0 */ sll $t0, $t0, 3 -/* 020CF8 700200F8 0308C821 */ addu $t9, $t8, $t0 -/* 020CFC 700200FC 00001025 */ move $v0, $zero -/* 020D00 70020100 03E00008 */ jr $ra -/* 020D04 70020104 E72A0010 */ swc1 $f10, 0x10($t9) -.L70020108: -/* 020D08 70020108 8C8A0020 */ lw $t2, 0x20($a0) -/* 020D0C 7002010C 04410003 */ bgez $v0, .L7002011C -/* 020D10 70020110 000248C3 */ sra $t1, $v0, 3 -/* 020D14 70020114 24410007 */ addiu $at, $v0, 7 -/* 020D18 70020118 000148C3 */ sra $t1, $at, 3 -.L7002011C: -/* 020D1C 7002011C 00096080 */ sll $t4, $t1, 2 -/* 020D20 70020120 01896021 */ addu $t4, $t4, $t1 -/* 020D24 70020124 000C60C0 */ sll $t4, $t4, 3 -/* 020D28 70020128 014C2821 */ addu $a1, $t2, $t4 -/* 020D2C 7002012C 8CAB0004 */ lw $t3, 4($a1) -/* 020D30 70020130 8CAE0000 */ lw $t6, ($a1) -/* 020D34 70020134 44833000 */ mtc1 $v1, $f6 -/* 020D38 70020138 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 020D3C 7002013C 016E6823 */ subu $t5, $t3, $t6 -/* 020D40 70020140 448D8000 */ mtc1 $t5, $f16 -/* 020D44 70020144 46803220 */ cvt.s.w $f8, $f6 -/* 020D48 70020148 05A10005 */ bgez $t5, .L70020160 -/* 020D4C 7002014C 468084A1 */ cvt.d.w $f18, $f16 -/* 020D50 70020150 44812800 */ mtc1 $at, $f5 -/* 020D54 70020154 44802000 */ mtc1 $zero, $f4 -/* 020D58 70020158 00000000 */ nop -/* 020D5C 7002015C 46249480 */ add.d $f18, $f18, $f4 -.L70020160: -/* 020D60 70020160 3C018003 */ lui $at, %hi(F64_80029D38) -/* 020D64 70020164 D4309D38 */ ldc1 $f16, %lo(F64_80029D38)($at) -/* 020D68 70020168 460042A1 */ cvt.d.s $f10, $f8 -/* 020D6C 7002016C 00001025 */ move $v0, $zero -/* 020D70 70020170 46305103 */ div.d $f4, $f10, $f16 -/* 020D74 70020174 46249182 */ mul.d $f6, $f18, $f4 -/* 020D78 70020178 46203220 */ cvt.s.d $f8, $f6 -/* 020D7C 7002017C 03E00008 */ jr $ra -/* 020D80 70020180 E4A8001C */ swc1 $f8, 0x1c($a1) -.L70020184: -/* 020D84 70020184 8C8F0020 */ lw $t7, 0x20($a0) -/* 020D88 70020188 04410003 */ bgez $v0, .L70020198 -/* 020D8C 7002018C 0002C0C3 */ sra $t8, $v0, 3 -/* 020D90 70020190 24410007 */ addiu $at, $v0, 7 -/* 020D94 70020194 0001C0C3 */ sra $t8, $at, 3 -.L70020198: -/* 020D98 70020198 00184080 */ sll $t0, $t8, 2 -/* 020D9C 7002019C 01184021 */ addu $t0, $t0, $t8 -/* 020DA0 700201A0 000840C0 */ sll $t0, $t0, 3 -/* 020DA4 700201A4 01E8C821 */ addu $t9, $t7, $t0 -/* 020DA8 700201A8 8F250020 */ lw $a1, 0x20($t9) -/* 020DAC 700201AC 10A00002 */ beqz $a1, .L700201B8 -/* 020DB0 700201B0 00000000 */ nop -/* 020DB4 700201B4 A4A30000 */ sh $v1, ($a1) -.L700201B8: -/* 020DB8 700201B8 03E00008 */ jr $ra -/* 020DBC 700201BC 00001025 */ move $v0, $zero - -glabel alFxParam -/* 020DC0 700201C0 24010001 */ li $at, 1 -/* 020DC4 700201C4 14A10002 */ bne $a1, $at, .L700201D0 -/* 020DC8 700201C8 00000000 */ nop -/* 020DCC 700201CC AC860000 */ sw $a2, ($a0) -.L700201D0: -/* 020DD0 700201D0 03E00008 */ jr $ra -/* 020DD4 700201D4 00001025 */ move $v0, $zero - -glabel alFxPull -/* 020DD8 700201D8 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 020DDC 700201DC AFB3002C */ sw $s3, 0x2c($sp) -/* 020DE0 700201E0 00809825 */ move $s3, $a0 -/* 020DE4 700201E4 AFBF0044 */ sw $ra, 0x44($sp) -/* 020DE8 700201E8 AFBE0040 */ sw $fp, 0x40($sp) -/* 020DEC 700201EC AFB7003C */ sw $s7, 0x3c($sp) -/* 020DF0 700201F0 AFB60038 */ sw $s6, 0x38($sp) -/* 020DF4 700201F4 AFB50034 */ sw $s5, 0x34($sp) -/* 020DF8 700201F8 AFB40030 */ sw $s4, 0x30($sp) -/* 020DFC 700201FC AFB20028 */ sw $s2, 0x28($sp) -/* 020E00 70020200 AFB10024 */ sw $s1, 0x24($sp) -/* 020E04 70020204 AFB00020 */ sw $s0, 0x20($sp) -/* 020E08 70020208 8C840000 */ lw $a0, ($a0) -/* 020E0C 7002020C 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 020E10 70020210 AFA00080 */ sw $zero, 0x80($sp) -/* 020E14 70020214 00C0B025 */ move $s6, $a2 -/* 020E18 70020218 AFAE0010 */ sw $t6, 0x10($sp) -/* 020E1C 7002021C 8C990004 */ lw $t9, 4($a0) -/* 020E20 70020220 0320F809 */ jalr $t9 -/* 020E24 70020224 00000000 */ nop -/* 020E28 70020228 00168840 */ sll $s1, $s6, 1 -/* 020E2C 7002022C 3C180C00 */ lui $t8, (0x0C00DA83 >> 16) # lui $t8, 0xc00 -/* 020E30 70020230 3C0A06C0 */ lui $t2, (0x06C006C0 >> 16) # lui $t2, 0x6c0 -/* 020E34 70020234 3C0B0C00 */ lui $t3, (0x0C005A82 >> 16) # lui $t3, 0xc00 -/* 020E38 70020238 3C0C0800 */ lui $t4, (0x080006C0 >> 16) # lui $t4, 0x800 -/* 020E3C 7002023C 3229FFFF */ andi $t1, $s1, 0xffff -/* 020E40 70020240 3C0F0800 */ lui $t7, 0x800 -/* 020E44 70020244 354A06C0 */ ori $t2, (0x06C006C0 & 0xFFFF) # ori $t2, $t2, 0x6c0 -/* 020E48 70020248 3718DA83 */ ori $t8, (0x0C00DA83 & 0xFFFF) # ori $t8, $t8, 0xda83 -/* 020E4C 7002024C 358C06C0 */ ori $t4, (0x080006C0 & 0xFFFF) # ori $t4, $t4, 0x6c0 -/* 020E50 70020250 356B5A82 */ ori $t3, (0x0C005A82 & 0xFFFF) # ori $t3, $t3, 0x5a82 -/* 020E54 70020254 AC4F0000 */ sw $t7, ($v0) -/* 020E58 70020258 AC490004 */ sw $t1, 4($v0) -/* 020E5C 7002025C AC580008 */ sw $t8, 8($v0) -/* 020E60 70020260 AC4A000C */ sw $t2, 0xc($v0) -/* 020E64 70020264 AC4B0010 */ sw $t3, 0x10($v0) -/* 020E68 70020268 AC4C0014 */ sw $t4, 0x14($v0) -/* 020E6C 7002026C 8E650018 */ lw $a1, 0x18($s3) -/* 020E70 70020270 244D0018 */ addiu $t5, $v0, 0x18 -/* 020E74 70020274 0000A825 */ move $s5, $zero -/* 020E78 70020278 24120140 */ li $s2, 320 -/* 020E7C 7002027C AFAD0010 */ sw $t5, 0x10($sp) -/* 020E80 70020280 AFA90048 */ sw $t1, 0x48($sp) -/* 020E84 70020284 AFB10050 */ sw $s1, 0x50($sp) -/* 020E88 70020288 02602025 */ move $a0, $s3 -/* 020E8C 7002028C 240606C0 */ li $a2, 1728 -/* 020E90 70020290 0C007E9C */ jal _saveBuffer -/* 020E94 70020294 02C03825 */ move $a3, $s6 -/* 020E98 70020298 8FA30080 */ lw $v1, 0x80($sp) -/* 020E9C 7002029C 3C0E0200 */ lui $t6, (0x02000800 >> 16) # lui $t6, 0x200 -/* 020EA0 700202A0 35CE0800 */ ori $t6, (0x02000800 & 0xFFFF) # ori $t6, $t6, 0x800 -/* 020EA4 700202A4 AC4E0000 */ sw $t6, ($v0) -/* 020EA8 700202A8 AC510004 */ sw $s1, 4($v0) -/* 020EAC 700202AC 92790024 */ lbu $t9, 0x24($s3) -/* 020EB0 700202B0 24500008 */ addiu $s0, $v0, 8 -/* 020EB4 700202B4 0000B825 */ move $s7, $zero -/* 020EB8 700202B8 5B200077 */ blezl $t9, .L70020498 -/* 020EBC 700202BC 8E63001C */ lw $v1, 0x1c($s3) -/* 020EC0 700202C0 8E620018 */ lw $v0, 0x18($s3) -.L700202C4: -/* 020EC4 700202C4 8E6F0020 */ lw $t7, 0x20($s3) -/* 020EC8 700202C8 0017C080 */ sll $t8, $s7, 2 -/* 020ECC 700202CC 0317C021 */ addu $t8, $t8, $s7 -/* 020ED0 700202D0 0018C0C0 */ sll $t8, $t8, 3 -/* 020ED4 700202D4 01F88821 */ addu $s1, $t7, $t8 -/* 020ED8 700202D8 8E2A0000 */ lw $t2, ($s1) -/* 020EDC 700202DC 8E2D0004 */ lw $t5, 4($s1) -/* 020EE0 700202E0 02602025 */ move $a0, $s3 -/* 020EE4 700202E4 000A5823 */ negu $t3, $t2 -/* 020EE8 700202E8 000B6040 */ sll $t4, $t3, 1 -/* 020EEC 700202EC 000D7023 */ negu $t6, $t5 -/* 020EF0 700202F0 004CA021 */ addu $s4, $v0, $t4 -/* 020EF4 700202F4 000EC840 */ sll $t9, $t6, 1 -/* 020EF8 700202F8 16830009 */ bne $s4, $v1, .L70020320 -/* 020EFC 700202FC 0059F021 */ addu $fp, $v0, $t9 -/* 020F00 70020300 02407825 */ move $t7, $s2 -/* 020F04 70020304 00159400 */ sll $s2, $s5, 0x10 -/* 020F08 70020308 000FAC00 */ sll $s5, $t7, 0x10 -/* 020F0C 7002030C 00155403 */ sra $t2, $s5, 0x10 -/* 020F10 70020310 0012C403 */ sra $t8, $s2, 0x10 -/* 020F14 70020314 03009025 */ move $s2, $t8 -/* 020F18 70020318 10000007 */ b .L70020338 -/* 020F1C 7002031C 0140A825 */ move $s5, $t2 -.L70020320: -/* 020F20 70020320 02802825 */ move $a1, $s4 -/* 020F24 70020324 02A03025 */ move $a2, $s5 -/* 020F28 70020328 02C03825 */ move $a3, $s6 -/* 020F2C 7002032C 0C007EFE */ jal _loadBuffer -/* 020F30 70020330 AFB00010 */ sw $s0, 0x10($sp) -/* 020F34 70020334 00408025 */ move $s0, $v0 -.L70020338: -/* 020F38 70020338 02602025 */ move $a0, $s3 -/* 020F3C 7002033C 02202825 */ move $a1, $s1 -/* 020F40 70020340 02403025 */ move $a2, $s2 -/* 020F44 70020344 02C03825 */ move $a3, $s6 -/* 020F48 70020348 0C007F61 */ jal _loadOutputBuffer -/* 020F4C 7002034C AFB00010 */ sw $s0, 0x10($sp) -/* 020F50 70020350 86240008 */ lh $a0, 8($s1) -/* 020F54 70020354 00408025 */ move $s0, $v0 -/* 020F58 70020358 3C010C00 */ lui $at, 0xc00 -/* 020F5C 7002035C 10800014 */ beqz $a0, .L700203B0 -/* 020F60 70020360 308CFFFF */ andi $t4, $a0, 0xffff -/* 020F64 70020364 0015CC00 */ sll $t9, $s5, 0x10 -/* 020F68 70020368 324FFFFF */ andi $t7, $s2, 0xffff -/* 020F6C 7002036C 032FC025 */ or $t8, $t9, $t7 -/* 020F70 70020370 01816825 */ or $t5, $t4, $at -/* 020F74 70020374 AC4D0000 */ sw $t5, ($v0) -/* 020F78 70020378 AC580004 */ sw $t8, 4($v0) -/* 020F7C 7002037C 8E2A0024 */ lw $t2, 0x24($s1) -/* 020F80 70020380 24500008 */ addiu $s0, $v0, 8 -/* 020F84 70020384 5540000B */ bnezl $t2, .L700203B4 -/* 020F88 70020388 8623000A */ lh $v1, 0xa($s1) -/* 020F8C 7002038C 8E2B0020 */ lw $t3, 0x20($s1) -/* 020F90 70020390 02602025 */ move $a0, $s3 -/* 020F94 70020394 03C02825 */ move $a1, $fp -/* 020F98 70020398 15600005 */ bnez $t3, .L700203B0 -/* 020F9C 7002039C 02403025 */ move $a2, $s2 -/* 020FA0 700203A0 02C03825 */ move $a3, $s6 -/* 020FA4 700203A4 0C007E9C */ jal _saveBuffer -/* 020FA8 700203A8 AFB00010 */ sw $s0, 0x10($sp) -/* 020FAC 700203AC 00408025 */ move $s0, $v0 -.L700203B0: -/* 020FB0 700203B0 8623000A */ lh $v1, 0xa($s1) -.L700203B4: -/* 020FB4 700203B4 02001025 */ move $v0, $s0 -/* 020FB8 700203B8 3C010C00 */ lui $at, 0xc00 -/* 020FBC 700203BC 1060000F */ beqz $v1, .L700203FC -/* 020FC0 700203C0 306DFFFF */ andi $t5, $v1, 0xffff -/* 020FC4 700203C4 00127C00 */ sll $t7, $s2, 0x10 -/* 020FC8 700203C8 32B8FFFF */ andi $t8, $s5, 0xffff -/* 020FCC 700203CC 01F85025 */ or $t2, $t7, $t8 -/* 020FD0 700203D0 01A17025 */ or $t6, $t5, $at -/* 020FD4 700203D4 AC4E0000 */ sw $t6, ($v0) -/* 020FD8 700203D8 AC4A0004 */ sw $t2, 4($v0) -/* 020FDC 700203DC 26100008 */ addiu $s0, $s0, 8 -/* 020FE0 700203E0 AFB00010 */ sw $s0, 0x10($sp) -/* 020FE4 700203E4 02602025 */ move $a0, $s3 -/* 020FE8 700203E8 02802825 */ move $a1, $s4 -/* 020FEC 700203EC 02A03025 */ move $a2, $s5 -/* 020FF0 700203F0 0C007E9C */ jal _saveBuffer -/* 020FF4 700203F4 02C03825 */ move $a3, $s6 -/* 020FF8 700203F8 00408025 */ move $s0, $v0 -.L700203FC: -/* 020FFC 700203FC 8E240020 */ lw $a0, 0x20($s1) -/* 021000 70020400 02402825 */ move $a1, $s2 -/* 021004 70020404 02C03025 */ move $a2, $s6 -/* 021008 70020408 50800005 */ beql $a0, $zero, .L70020420 -/* 02100C 7002040C 8E2B0024 */ lw $t3, 0x24($s1) -/* 021010 70020410 0C007E6E */ jal _filterBuffer -/* 021014 70020414 02003825 */ move $a3, $s0 -/* 021018 70020418 00408025 */ move $s0, $v0 -/* 02101C 7002041C 8E2B0024 */ lw $t3, 0x24($s1) -.L70020420: -/* 021020 70020420 02602025 */ move $a0, $s3 -/* 021024 70020424 03C02825 */ move $a1, $fp -/* 021028 70020428 15600005 */ bnez $t3, .L70020440 -/* 02102C 7002042C 02403025 */ move $a2, $s2 -/* 021030 70020430 02C03825 */ move $a3, $s6 -/* 021034 70020434 0C007E9C */ jal _saveBuffer -/* 021038 70020438 AFB00010 */ sw $s0, 0x10($sp) -/* 02103C 7002043C 00408025 */ move $s0, $v0 -.L70020440: -/* 021040 70020440 8623000C */ lh $v1, 0xc($s1) -/* 021044 70020444 26F70001 */ addiu $s7, $s7, 1 -/* 021048 70020448 00176400 */ sll $t4, $s7, 0x10 -/* 02104C 7002044C 1060000A */ beqz $v1, .L70020478 -/* 021050 70020450 000CBC03 */ sra $s7, $t4, 0x10 -/* 021054 70020454 02001025 */ move $v0, $s0 -/* 021058 70020458 306DFFFF */ andi $t5, $v1, 0xffff -/* 02105C 7002045C 3C010C00 */ lui $at, 0xc00 -/* 021060 70020460 00127C00 */ sll $t7, $s2, 0x10 -/* 021064 70020464 35F80800 */ ori $t8, $t7, 0x800 -/* 021068 70020468 01A17025 */ or $t6, $t5, $at -/* 02106C 7002046C AC4E0000 */ sw $t6, ($v0) -/* 021070 70020470 AC580004 */ sw $t8, 4($v0) -/* 021074 70020474 26100008 */ addiu $s0, $s0, 8 -.L70020478: -/* 021078 70020478 926E0024 */ lbu $t6, 0x24($s3) -/* 02107C 7002047C 8E2A0004 */ lw $t2, 4($s1) -/* 021080 70020480 8E620018 */ lw $v0, 0x18($s3) -/* 021084 70020484 02EE082A */ slt $at, $s7, $t6 -/* 021088 70020488 000A5840 */ sll $t3, $t2, 1 -/* 02108C 7002048C 1420FF8D */ bnez $at, .L700202C4 -/* 021090 70020490 004B1821 */ addu $v1, $v0, $t3 -/* 021094 70020494 8E63001C */ lw $v1, 0x1c($s3) -.L70020498: -/* 021098 70020498 8E790018 */ lw $t9, 0x18($s3) -/* 02109C 7002049C 8FAF0050 */ lw $t7, 0x50($sp) -/* 0210A0 700204A0 8E6B0014 */ lw $t3, 0x14($s3) -/* 0210A4 700204A4 00035040 */ sll $t2, $v1, 1 -/* 0210A8 700204A8 032FC021 */ addu $t8, $t9, $t7 -/* 0210AC 700204AC 016A6021 */ addu $t4, $t3, $t2 -/* 0210B0 700204B0 0198082B */ sltu $at, $t4, $t8 -/* 0210B4 700204B4 10200003 */ beqz $at, .L700204C4 -/* 0210B8 700204B8 AE780018 */ sw $t8, 0x18($s3) -/* 0210BC 700204BC 030A6823 */ subu $t5, $t8, $t2 -/* 0210C0 700204C0 AE6D0018 */ sw $t5, 0x18($s3) -.L700204C4: -/* 0210C4 700204C4 3C0E0A00 */ lui $t6, (0x0A000800 >> 16) # lui $t6, 0xa00 -/* 0210C8 700204C8 35CE0800 */ ori $t6, (0x0A000800 & 0xFFFF) # ori $t6, $t6, 0x800 -/* 0210CC 700204CC 02001825 */ move $v1, $s0 -/* 0210D0 700204D0 AC6E0000 */ sw $t6, ($v1) -/* 0210D4 700204D4 8FB90048 */ lw $t9, 0x48($sp) -/* 0210D8 700204D8 3C0106C0 */ lui $at, 0x6c0 -/* 0210DC 700204DC 26020008 */ addiu $v0, $s0, 8 -/* 0210E0 700204E0 03217825 */ or $t7, $t9, $at -/* 0210E4 700204E4 AC6F0004 */ sw $t7, 4($v1) -/* 0210E8 700204E8 8FBF0044 */ lw $ra, 0x44($sp) -/* 0210EC 700204EC 8FBE0040 */ lw $fp, 0x40($sp) -/* 0210F0 700204F0 8FB7003C */ lw $s7, 0x3c($sp) -/* 0210F4 700204F4 8FB60038 */ lw $s6, 0x38($sp) -/* 0210F8 700204F8 8FB50034 */ lw $s5, 0x34($sp) -/* 0210FC 700204FC 8FB40030 */ lw $s4, 0x30($sp) -/* 021100 70020500 8FB3002C */ lw $s3, 0x2c($sp) -/* 021104 70020504 8FB20028 */ lw $s2, 0x28($sp) -/* 021108 70020508 8FB10024 */ lw $s1, 0x24($sp) -/* 02110C 7002050C 8FB00020 */ lw $s0, 0x20($sp) -/* 021110 70020510 03E00008 */ jr $ra -/* 021114 70020514 27BD00A8 */ addiu $sp, $sp, 0xa8 - -/* 021118 70020518 00000000 */ nop -/* 02111C 7002051C 00000000 */ nop -.section .rodata -glabel jpt_80029D10 - .word .L7001FFD4 - .word .L70020004 - .word .L70020064 - .word .L70020034 - .word .L70020094 - .word .L700200C4 - .word .L70020108 - .word .L70020184 -glabel F64_80029D30 - .double 4.9039833923682246e55 -glabel F64_80029D38 - .double 173123.404906676 -glabel F64_80029D40 - .double 1.4922257467118833e306 -.word 0 -.word 0 - -.section .text -glabel alSeqGetLoc -/* 021120 70020520 8C8E0008 */ lw $t6, 8($a0) -/* 021124 70020524 ACAE0000 */ sw $t6, ($a1) -/* 021128 70020528 848F001A */ lh $t7, 0x1a($a0) -/* 02112C 7002052C A4AF000C */ sh $t7, 0xc($a1) -/* 021130 70020530 8C98000C */ lw $t8, 0xc($a0) -/* 021134 70020534 03E00008 */ jr $ra -/* 021138 70020538 ACB80004 */ sw $t8, 4($a1) - -glabel alSeqSetLoc -/* 02113C 7002053C 8CAE0000 */ lw $t6, ($a1) -/* 021140 70020540 AC8E0008 */ sw $t6, 8($a0) -/* 021144 70020544 84AF000C */ lh $t7, 0xc($a1) -/* 021148 70020548 A48F001A */ sh $t7, 0x1a($a0) -/* 02114C 7002054C 8CB80004 */ lw $t8, 4($a1) -/* 021150 70020550 03E00008 */ jr $ra -/* 021154 70020554 AC98000C */ sw $t8, 0xc($a0) - -glabel alSeqGetTicks -/* 021158 70020558 03E00008 */ jr $ra -/* 02115C 7002055C 8C82000C */ lw $v0, 0xc($a0) - -/* 021160 70020560 03E00008 */ jr $ra -/* 021164 70020564 00000000 */ nop - -glabel readVarLen -/* 021168 70020568 8C830008 */ lw $v1, 8($a0) -/* 02116C 7002056C 90620000 */ lbu $v0, ($v1) -/* 021170 70020570 246E0001 */ addiu $t6, $v1, 1 -/* 021174 70020574 AC8E0008 */ sw $t6, 8($a0) -/* 021178 70020578 304F0080 */ andi $t7, $v0, 0x80 -/* 02117C 7002057C 11E0000B */ beqz $t7, .L700205AC -/* 021180 70020580 00402825 */ move $a1, $v0 -/* 021184 70020584 3045007F */ andi $a1, $v0, 0x7f -.L70020588: -/* 021188 70020588 8C830008 */ lw $v1, 8($a0) -/* 02118C 7002058C 0005C9C0 */ sll $t9, $a1, 7 -/* 021190 70020590 90620000 */ lbu $v0, ($v1) -/* 021194 70020594 24780001 */ addiu $t8, $v1, 1 -/* 021198 70020598 AC980008 */ sw $t8, 8($a0) -/* 02119C 7002059C 304E007F */ andi $t6, $v0, 0x7f -/* 0211A0 700205A0 304F0080 */ andi $t7, $v0, 0x80 -/* 0211A4 700205A4 15E0FFF8 */ bnez $t7, .L70020588 -/* 0211A8 700205A8 032E2821 */ addu $a1, $t9, $t6 -.L700205AC: -/* 0211AC 700205AC 03E00008 */ jr $ra -/* 0211B0 700205B0 00A01025 */ move $v0, $a1 - -glabel alSeqNextEvent -/* 0211B4 700205B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0211B8 700205B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0211BC 700205BC 00803025 */ move $a2, $a0 -/* 0211C0 700205C0 0C00815A */ jal readVarLen -/* 0211C4 700205C4 00A03825 */ move $a3, $a1 -/* 0211C8 700205C8 8CCE000C */ lw $t6, 0xc($a2) -/* 0211CC 700205CC 8CC30008 */ lw $v1, 8($a2) -/* 0211D0 700205D0 00404825 */ move $t1, $v0 -/* 0211D4 700205D4 01C27821 */ addu $t7, $t6, $v0 -/* 0211D8 700205D8 ACCF000C */ sw $t7, 0xc($a2) -/* 0211DC 700205DC 90640000 */ lbu $a0, ($v1) -/* 0211E0 700205E0 240100FF */ li $at, 255 -/* 0211E4 700205E4 24780001 */ addiu $t8, $v1, 1 -/* 0211E8 700205E8 ACD80008 */ sw $t8, 8($a2) -/* 0211EC 700205EC 00801025 */ move $v0, $a0 -/* 0211F0 700205F0 1481002F */ bne $a0, $at, .L700206B0 -/* 0211F4 700205F4 308500FF */ andi $a1, $a0, 0xff -/* 0211F8 700205F8 93020000 */ lbu $v0, ($t8) -/* 0211FC 700205FC 27190001 */ addiu $t9, $t8, 1 -/* 021200 70020600 24010051 */ li $at, 81 -/* 021204 70020604 ACD90008 */ sw $t9, 8($a2) -/* 021208 70020608 1441001B */ bne $v0, $at, .L70020678 -/* 02120C 7002060C 00404025 */ move $t0, $v0 -/* 021210 70020610 240E0003 */ li $t6, 3 -/* 021214 70020614 A4EE0000 */ sh $t6, ($a3) -/* 021218 70020618 ACE90004 */ sw $t1, 4($a3) -/* 02121C 7002061C A0E50008 */ sb $a1, 8($a3) -/* 021220 70020620 A0E80009 */ sb $t0, 9($a3) -/* 021224 70020624 8CC30008 */ lw $v1, 8($a2) -/* 021228 70020628 90620000 */ lbu $v0, ($v1) -/* 02122C 7002062C 246F0001 */ addiu $t7, $v1, 1 -/* 021230 70020630 ACCF0008 */ sw $t7, 8($a2) -/* 021234 70020634 A0E2000A */ sb $v0, 0xa($a3) -/* 021238 70020638 8CC30008 */ lw $v1, 8($a2) -/* 02123C 7002063C 90640000 */ lbu $a0, ($v1) -/* 021240 70020640 24780001 */ addiu $t8, $v1, 1 -/* 021244 70020644 ACD80008 */ sw $t8, 8($a2) -/* 021248 70020648 A0E4000B */ sb $a0, 0xb($a3) -/* 02124C 7002064C 8CC30008 */ lw $v1, 8($a2) -/* 021250 70020650 90650000 */ lbu $a1, ($v1) -/* 021254 70020654 24790001 */ addiu $t9, $v1, 1 -/* 021258 70020658 ACD90008 */ sw $t9, 8($a2) -/* 02125C 7002065C A0E5000C */ sb $a1, 0xc($a3) -/* 021260 70020660 8CC30008 */ lw $v1, 8($a2) -/* 021264 70020664 90640000 */ lbu $a0, ($v1) -/* 021268 70020668 246E0001 */ addiu $t6, $v1, 1 -/* 02126C 7002066C ACCE0008 */ sw $t6, 8($a2) -/* 021270 70020670 1000000D */ b .L700206A8 -/* 021274 70020674 A0E4000D */ sb $a0, 0xd($a3) -.L70020678: -/* 021278 70020678 2401002F */ li $at, 47 -/* 02127C 7002067C 1441000A */ bne $v0, $at, .L700206A8 -/* 021280 70020680 240F0004 */ li $t7, 4 -/* 021284 70020684 A4EF0000 */ sh $t7, ($a3) -/* 021288 70020688 ACE90004 */ sw $t1, 4($a3) -/* 02128C 7002068C A0E50008 */ sb $a1, 8($a3) -/* 021290 70020690 A0E80009 */ sb $t0, 9($a3) -/* 021294 70020694 8CC30008 */ lw $v1, 8($a2) -/* 021298 70020698 90640000 */ lbu $a0, ($v1) -/* 02129C 7002069C 24780001 */ addiu $t8, $v1, 1 -/* 0212A0 700206A0 ACD80008 */ sw $t8, 8($a2) -/* 0212A4 700206A4 A0E4000A */ sb $a0, 0xa($a3) -.L700206A8: -/* 0212A8 700206A8 1000001F */ b .L70020728 -/* 0212AC 700206AC A4C0001A */ sh $zero, 0x1a($a2) -.L700206B0: -/* 0212B0 700206B0 24190001 */ li $t9, 1 -/* 0212B4 700206B4 304E0080 */ andi $t6, $v0, 0x80 -/* 0212B8 700206B8 A4F90000 */ sh $t9, ($a3) -/* 0212BC 700206BC 11C00009 */ beqz $t6, .L700206E4 -/* 0212C0 700206C0 ACE90004 */ sw $t1, 4($a3) -/* 0212C4 700206C4 A0E50008 */ sb $a1, 8($a3) -/* 0212C8 700206C8 8CC30008 */ lw $v1, 8($a2) -/* 0212CC 700206CC 90640000 */ lbu $a0, ($v1) -/* 0212D0 700206D0 246F0001 */ addiu $t7, $v1, 1 -/* 0212D4 700206D4 ACCF0008 */ sw $t7, 8($a2) -/* 0212D8 700206D8 A0E40009 */ sb $a0, 9($a3) -/* 0212DC 700206DC 10000004 */ b .L700206F0 -/* 0212E0 700206E0 A4C5001A */ sh $a1, 0x1a($a2) -.L700206E4: -/* 0212E4 700206E4 84D8001A */ lh $t8, 0x1a($a2) -/* 0212E8 700206E8 A0E40009 */ sb $a0, 9($a3) -/* 0212EC 700206EC A0F80008 */ sb $t8, 8($a3) -.L700206F0: -/* 0212F0 700206F0 90E20008 */ lbu $v0, 8($a3) -/* 0212F4 700206F4 240100C0 */ li $at, 192 -/* 0212F8 700206F8 305900F0 */ andi $t9, $v0, 0xf0 -/* 0212FC 700206FC 13210009 */ beq $t9, $at, .L70020724 -/* 021300 70020700 240100D0 */ li $at, 208 -/* 021304 70020704 53210008 */ beql $t9, $at, .L70020728 -/* 021308 70020708 A0E0000A */ sb $zero, 0xa($a3) -/* 02130C 7002070C 8CC30008 */ lw $v1, 8($a2) -/* 021310 70020710 90640000 */ lbu $a0, ($v1) -/* 021314 70020714 246E0001 */ addiu $t6, $v1, 1 -/* 021318 70020718 ACCE0008 */ sw $t6, 8($a2) -/* 02131C 7002071C 10000002 */ b .L70020728 -/* 021320 70020720 A0E4000A */ sb $a0, 0xa($a3) -.L70020724: -/* 021324 70020724 A0E0000A */ sb $zero, 0xa($a3) -.L70020728: -/* 021328 70020728 8FBF0014 */ lw $ra, 0x14($sp) -/* 02132C 7002072C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 021330 70020730 03E00008 */ jr $ra -/* 021334 70020734 00000000 */ nop - -glabel alSeqNewMarker -/* 021338 70020738 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 02133C 7002073C AFB70030 */ sw $s7, 0x30($sp) -/* 021340 70020740 AFB10018 */ sw $s1, 0x18($sp) -/* 021344 70020744 AFB00014 */ sw $s0, 0x14($sp) -/* 021348 70020748 00808025 */ move $s0, $a0 -/* 02134C 7002074C 00C08825 */ move $s1, $a2 -/* 021350 70020750 00A0B825 */ move $s7, $a1 -/* 021354 70020754 AFBF0034 */ sw $ra, 0x34($sp) -/* 021358 70020758 AFB6002C */ sw $s6, 0x2c($sp) -/* 02135C 7002075C AFB50028 */ sw $s5, 0x28($sp) -/* 021360 70020760 AFB40024 */ sw $s4, 0x24($sp) -/* 021364 70020764 AFB30020 */ sw $s3, 0x20($sp) -/* 021368 70020768 14C00007 */ bnez $a2, .L70020788 -/* 02136C 7002076C AFB2001C */ sw $s2, 0x1c($sp) -/* 021370 70020770 8C8E0004 */ lw $t6, 4($a0) -/* 021374 70020774 A4A0000C */ sh $zero, 0xc($a1) -/* 021378 70020778 ACA00004 */ sw $zero, 4($a1) -/* 02137C 7002077C ACA00008 */ sw $zero, 8($a1) -/* 021380 70020780 1000002A */ b .L7002082C -/* 021384 70020784 ACAE0000 */ sw $t6, ($a1) -.L70020788: -/* 021388 70020788 8E0F0008 */ lw $t7, 8($s0) -/* 02138C 7002078C 00001025 */ move $v0, $zero -/* 021390 70020790 24130004 */ li $s3, 4 -/* 021394 70020794 AFAF004C */ sw $t7, 0x4c($sp) -/* 021398 70020798 8618001A */ lh $t8, 0x1a($s0) -/* 02139C 7002079C 27B20050 */ addiu $s2, $sp, 0x50 -/* 0213A0 700207A0 A7B8003E */ sh $t8, 0x3e($sp) -/* 0213A4 700207A4 8E19000C */ lw $t9, 0xc($s0) -/* 0213A8 700207A8 AFB90044 */ sw $t9, 0x44($sp) -/* 0213AC 700207AC 8E080004 */ lw $t0, 4($s0) -/* 0213B0 700207B0 A600001A */ sh $zero, 0x1a($s0) -/* 0213B4 700207B4 AE00000C */ sw $zero, 0xc($s0) -/* 0213B8 700207B8 AE080008 */ sw $t0, 8($s0) -/* 0213BC 700207BC 8E140008 */ lw $s4, 8($s0) -.L700207C0: -/* 0213C0 700207C0 8615001A */ lh $s5, 0x1a($s0) -/* 0213C4 700207C4 0040B025 */ move $s6, $v0 -/* 0213C8 700207C8 02002025 */ move $a0, $s0 -/* 0213CC 700207CC 0C00816D */ jal alSeqNextEvent -/* 0213D0 700207D0 02402825 */ move $a1, $s2 -/* 0213D4 700207D4 87A90050 */ lh $t1, 0x50($sp) -/* 0213D8 700207D8 55330006 */ bnel $t1, $s3, .L700207F4 -/* 0213DC 700207DC 8E02000C */ lw $v0, 0xc($s0) -/* 0213E0 700207E0 8E140008 */ lw $s4, 8($s0) -/* 0213E4 700207E4 8615001A */ lh $s5, 0x1a($s0) -/* 0213E8 700207E8 10000005 */ b .L70020800 -/* 0213EC 700207EC 8E16000C */ lw $s6, 0xc($s0) -/* 0213F0 700207F0 8E02000C */ lw $v0, 0xc($s0) -.L700207F4: -/* 0213F4 700207F4 0051082B */ sltu $at, $v0, $s1 -/* 0213F8 700207F8 5420FFF1 */ bnezl $at, .L700207C0 -/* 0213FC 700207FC 8E140008 */ lw $s4, 8($s0) -.L70020800: -/* 021400 70020800 AEF40000 */ sw $s4, ($s7) -/* 021404 70020804 A6F5000C */ sh $s5, 0xc($s7) -/* 021408 70020808 AEF60004 */ sw $s6, 4($s7) -/* 02140C 7002080C 8E0A000C */ lw $t2, 0xc($s0) -/* 021410 70020810 AEEA0008 */ sw $t2, 8($s7) -/* 021414 70020814 8FAB004C */ lw $t3, 0x4c($sp) -/* 021418 70020818 AE0B0008 */ sw $t3, 8($s0) -/* 02141C 7002081C 87AC003E */ lh $t4, 0x3e($sp) -/* 021420 70020820 A60C001A */ sh $t4, 0x1a($s0) -/* 021424 70020824 8FAD0044 */ lw $t5, 0x44($sp) -/* 021428 70020828 AE0D000C */ sw $t5, 0xc($s0) -.L7002082C: -/* 02142C 7002082C 8FBF0034 */ lw $ra, 0x34($sp) -/* 021430 70020830 8FB00014 */ lw $s0, 0x14($sp) -/* 021434 70020834 8FB10018 */ lw $s1, 0x18($sp) -/* 021438 70020838 8FB2001C */ lw $s2, 0x1c($sp) -/* 02143C 7002083C 8FB30020 */ lw $s3, 0x20($sp) -/* 021440 70020840 8FB40024 */ lw $s4, 0x24($sp) -/* 021444 70020844 8FB50028 */ lw $s5, 0x28($sp) -/* 021448 70020848 8FB6002C */ lw $s6, 0x2c($sp) -/* 02144C 7002084C 8FB70030 */ lw $s7, 0x30($sp) -/* 021450 70020850 03E00008 */ jr $ra -/* 021454 70020854 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel alSeqSecToTicks -/* 021458 70020858 44856000 */ mtc1 $a1, $f12 -/* 02145C 7002085C 3C018003 */ lui $at, %hi(F64_80029D50) -/* 021460 70020860 D4269D50 */ ldc1 $f6, %lo(F64_80029D50)($at) -/* 021464 70020864 848E0018 */ lh $t6, 0x18($a0) -/* 021468 70020868 46006121 */ cvt.d.s $f4, $f12 -/* 02146C 7002086C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 021470 70020870 46262202 */ mul.d $f8, $f4, $f6 -/* 021474 70020874 448E5000 */ mtc1 $t6, $f10 -/* 021478 70020878 44862000 */ mtc1 $a2, $f4 -/* 02147C 7002087C 46805421 */ cvt.d.w $f16, $f10 -/* 021480 70020880 468021A1 */ cvt.d.w $f6, $f4 -/* 021484 70020884 46304482 */ mul.d $f18, $f8, $f16 -/* 021488 70020888 04C30006 */ bgezl $a2, .L700208A4 -/* 02148C 7002088C 46269203 */ div.d $f8, $f18, $f6 -/* 021490 70020890 44815800 */ mtc1 $at, $f11 -/* 021494 70020894 44805000 */ mtc1 $zero, $f10 -/* 021498 70020898 00000000 */ nop -/* 02149C 7002089C 462A3180 */ add.d $f6, $f6, $f10 -/* 0214A0 700208A0 46269203 */ div.d $f8, $f18, $f6 -.L700208A4: -/* 0214A4 700208A4 24020001 */ li $v0, 1 -/* 0214A8 700208A8 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 0214AC 700208AC 444FF800 */ cfc1 $t7, $31 -/* 0214B0 700208B0 44C2F800 */ ctc1 $v0, $31 -/* 0214B4 700208B4 00000000 */ nop -/* 0214B8 700208B8 46204424 */ cvt.w.d $f16, $f8 -/* 0214BC 700208BC 4442F800 */ cfc1 $v0, $31 -/* 0214C0 700208C0 00000000 */ nop -/* 0214C4 700208C4 30420078 */ andi $v0, $v0, 0x78 -/* 0214C8 700208C8 50400016 */ beql $v0, $zero, .L70020924 -/* 0214CC 700208CC 44028000 */ mfc1 $v0, $f16 -/* 0214D0 700208D0 44818800 */ mtc1 $at, $f17 -/* 0214D4 700208D4 44808000 */ mtc1 $zero, $f16 -/* 0214D8 700208D8 24020001 */ li $v0, 1 -/* 0214DC 700208DC 3C018000 */ lui $at, 0x8000 -/* 0214E0 700208E0 46304401 */ sub.d $f16, $f8, $f16 -/* 0214E4 700208E4 44C2F800 */ ctc1 $v0, $31 -/* 0214E8 700208E8 00000000 */ nop -/* 0214EC 700208EC 46208424 */ cvt.w.d $f16, $f16 -/* 0214F0 700208F0 4442F800 */ cfc1 $v0, $31 -/* 0214F4 700208F4 00000000 */ nop -/* 0214F8 700208F8 30420078 */ andi $v0, $v0, 0x78 -/* 0214FC 700208FC 54400006 */ bnezl $v0, .L70020918 -/* 021500 70020900 44CFF800 */ ctc1 $t7, $31 -/* 021504 70020904 44028000 */ mfc1 $v0, $f16 -/* 021508 70020908 44CFF800 */ ctc1 $t7, $31 -/* 02150C 7002090C 03E00008 */ jr $ra -/* 021510 70020910 00411025 */ or $v0, $v0, $at - -/* 021514 70020914 44CFF800 */ ctc1 $t7, $31 -.L70020918: -/* 021518 70020918 03E00008 */ jr $ra -/* 02151C 7002091C 2402FFFF */ li $v0, -1 - -/* 021520 70020920 44028000 */ mfc1 $v0, $f16 -.L70020924: -/* 021524 70020924 00000000 */ nop -/* 021528 70020928 0442FFFB */ bltzl $v0, .L70020918 -/* 02152C 7002092C 44CFF800 */ ctc1 $t7, $31 -/* 021530 70020930 44CFF800 */ ctc1 $t7, $31 -/* 021534 70020934 03E00008 */ jr $ra -/* 021538 70020938 00000000 */ nop - -glabel alSeqTicksToSec -/* 02153C 7002093C 44852000 */ mtc1 $a1, $f4 -/* 021540 70020940 44864000 */ mtc1 $a2, $f8 -/* 021544 70020944 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 021548 70020948 468021A0 */ cvt.s.w $f6, $f4 -/* 02154C 7002094C 04C10004 */ bgez $a2, .L70020960 -/* 021550 70020950 468042A0 */ cvt.s.w $f10, $f8 -/* 021554 70020954 44818000 */ mtc1 $at, $f16 -/* 021558 70020958 00000000 */ nop -/* 02155C 7002095C 46105280 */ add.s $f10, $f10, $f16 -.L70020960: -/* 021560 70020960 848E0018 */ lh $t6, 0x18($a0) -/* 021564 70020964 460A3482 */ mul.s $f18, $f6, $f10 -/* 021568 70020968 3C018003 */ lui $at, %hi(F64_80029D58) -/* 02156C 7002096C 448E4000 */ mtc1 $t6, $f8 -/* 021570 70020970 D42A9D58 */ ldc1 $f10, %lo(F64_80029D58)($at) -/* 021574 70020974 46804420 */ cvt.s.w $f16, $f8 -/* 021578 70020978 46009121 */ cvt.d.s $f4, $f18 -/* 02157C 7002097C 460081A1 */ cvt.d.s $f6, $f16 -/* 021580 70020980 462A3482 */ mul.d $f18, $f6, $f10 -/* 021584 70020984 46322203 */ div.d $f8, $f4, $f18 -/* 021588 70020988 03E00008 */ jr $ra -/* 02158C 7002098C 46204020 */ cvt.s.d $f0, $f8 -.section .rodata -glabel F64_80029D50 - .double 1000000.0 -glabel F64_80029D58 - .double 1000000.0 - -.section .text -glabel __alSeqNextDelta -/* 021590 70020990 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 021594 70020994 AFBF0014 */ sw $ra, 0x14($sp) -/* 021598 70020998 8C8F0010 */ lw $t7, 0x10($a0) -/* 02159C 7002099C 8C8E0000 */ lw $t6, ($a0) -/* 0215A0 700209A0 8C820008 */ lw $v0, 8($a0) -/* 0215A4 700209A4 00803025 */ move $a2, $a0 -/* 0215A8 700209A8 01CFC021 */ addu $t8, $t6, $t7 -/* 0215AC 700209AC 0058082B */ sltu $at, $v0, $t8 -/* 0215B0 700209B0 14200003 */ bnez $at, .L700209C0 -/* 0215B4 700209B4 00A04025 */ move $t0, $a1 -/* 0215B8 700209B8 10000007 */ b .L700209D8 -/* 0215BC 700209BC 00001025 */ move $v0, $zero -.L700209C0: -/* 0215C0 700209C0 00403825 */ move $a3, $v0 -/* 0215C4 700209C4 0C00815A */ jal readVarLen -/* 0215C8 700209C8 00C02025 */ move $a0, $a2 -/* 0215CC 700209CC AD020000 */ sw $v0, ($t0) -/* 0215D0 700209D0 ACC70008 */ sw $a3, 8($a2) -/* 0215D4 700209D4 24020001 */ li $v0, 1 -.L700209D8: -/* 0215D8 700209D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0215DC 700209DC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0215E0 700209E0 03E00008 */ jr $ra -/* 0215E4 700209E4 00000000 */ nop - -glabel read32 -/* 0215E8 700209E8 8C850008 */ lw $a1, 8($a0) -/* 0215EC 700209EC 90A30000 */ lbu $v1, ($a1) -/* 0215F0 700209F0 24AF0001 */ addiu $t7, $a1, 1 -/* 0215F4 700209F4 AC8F0008 */ sw $t7, 8($a0) -/* 0215F8 700209F8 91F80000 */ lbu $t8, ($t7) -/* 0215FC 700209FC 00037600 */ sll $t6, $v1, 0x18 -/* 021600 70020A00 0018CC00 */ sll $t9, $t8, 0x10 -/* 021604 70020A04 01D91825 */ or $v1, $t6, $t9 -/* 021608 70020A08 25EE0001 */ addiu $t6, $t7, 1 -/* 02160C 70020A0C AC8E0008 */ sw $t6, 8($a0) -/* 021610 70020A10 91CF0000 */ lbu $t7, ($t6) -/* 021614 70020A14 25D90001 */ addiu $t9, $t6, 1 -/* 021618 70020A18 AC990008 */ sw $t9, 8($a0) -/* 02161C 70020A1C 000FC200 */ sll $t8, $t7, 8 -/* 021620 70020A20 932E0000 */ lbu $t6, ($t9) -/* 021624 70020A24 00781825 */ or $v1, $v1, $t8 -/* 021628 70020A28 272F0001 */ addiu $t7, $t9, 1 -/* 02162C 70020A2C AC8F0008 */ sw $t7, 8($a0) -/* 021630 70020A30 03E00008 */ jr $ra -/* 021634 70020A34 006E1025 */ or $v0, $v1, $t6 - -glabel read16 -/* 021638 70020A38 8C850008 */ lw $a1, 8($a0) -/* 02163C 70020A3C 90A30000 */ lbu $v1, ($a1) -/* 021640 70020A40 24B90001 */ addiu $t9, $a1, 1 -/* 021644 70020A44 AC990008 */ sw $t9, 8($a0) -/* 021648 70020A48 932E0000 */ lbu $t6, ($t9) -/* 02164C 70020A4C 0003C200 */ sll $t8, $v1, 8 -/* 021650 70020A50 27390001 */ addiu $t9, $t9, 1 -/* 021654 70020A54 030E1825 */ or $v1, $t8, $t6 -/* 021658 70020A58 00037C00 */ sll $t7, $v1, 0x10 -/* 02165C 70020A5C 000F1403 */ sra $v0, $t7, 0x10 -/* 021660 70020A60 03E00008 */ jr $ra -/* 021664 70020A64 AC990008 */ sw $t9, 8($a0) - -glabel alSeqNew -/* 021668 70020A68 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02166C 70020A6C AFBF0014 */ sw $ra, 0x14($sp) -/* 021670 70020A70 00803825 */ move $a3, $a0 -/* 021674 70020A74 AC850000 */ sw $a1, ($a0) -/* 021678 70020A78 AC860010 */ sw $a2, 0x10($a0) -/* 02167C 70020A7C A480001A */ sh $zero, 0x1a($a0) -/* 021680 70020A80 AC80000C */ sw $zero, 0xc($a0) -/* 021684 70020A84 0C00827A */ jal read32 -/* 021688 70020A88 AC850008 */ sw $a1, 8($a0) -/* 02168C 70020A8C 3C014D54 */ lui $at, (0x4D546864 >> 16) # lui $at, 0x4d54 -/* 021690 70020A90 34216864 */ ori $at, (0x4D546864 & 0xFFFF) # ori $at, $at, 0x6864 -/* 021694 70020A94 54410027 */ bnel $v0, $at, .L70020B34 -/* 021698 70020A98 8FBF0014 */ lw $ra, 0x14($sp) -/* 02169C 70020A9C 0C00827A */ jal read32 -/* 0216A0 70020AA0 00E02025 */ move $a0, $a3 -/* 0216A4 70020AA4 0C00828E */ jal read16 -/* 0216A8 70020AA8 00E02025 */ move $a0, $a3 -/* 0216AC 70020AAC 54400021 */ bnezl $v0, .L70020B34 -/* 0216B0 70020AB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0216B4 70020AB4 0C00828E */ jal read16 -/* 0216B8 70020AB8 00E02025 */ move $a0, $a3 -/* 0216BC 70020ABC 24010001 */ li $at, 1 -/* 0216C0 70020AC0 5441001C */ bnel $v0, $at, .L70020B34 -/* 0216C4 70020AC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0216C8 70020AC8 0C00828E */ jal read16 -/* 0216CC 70020ACC 00E02025 */ move $a0, $a3 -/* 0216D0 70020AD0 A4E20018 */ sh $v0, 0x18($a3) -/* 0216D4 70020AD4 84E30018 */ lh $v1, 0x18($a3) -/* 0216D8 70020AD8 306E8000 */ andi $t6, $v1, 0x8000 -/* 0216DC 70020ADC 55C00015 */ bnezl $t6, .L70020B34 -/* 0216E0 70020AE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0216E4 70020AE4 44833000 */ mtc1 $v1, $f6 -/* 0216E8 70020AE8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0216EC 70020AEC 44812800 */ mtc1 $at, $f5 -/* 0216F0 70020AF0 46803220 */ cvt.s.w $f8, $f6 -/* 0216F4 70020AF4 44802000 */ mtc1 $zero, $f4 -/* 0216F8 70020AF8 00E02025 */ move $a0, $a3 -/* 0216FC 70020AFC 460042A1 */ cvt.d.s $f10, $f8 -/* 021700 70020B00 462A2183 */ div.d $f6, $f4, $f10 -/* 021704 70020B04 46203220 */ cvt.s.d $f8, $f6 -/* 021708 70020B08 0C00827A */ jal read32 -/* 02170C 70020B0C E4E80014 */ swc1 $f8, 0x14($a3) -/* 021710 70020B10 3C014D54 */ lui $at, (0x4D54726B >> 16) # lui $at, 0x4d54 -/* 021714 70020B14 3421726B */ ori $at, (0x4D54726B & 0xFFFF) # ori $at, $at, 0x726b -/* 021718 70020B18 54410006 */ bnel $v0, $at, .L70020B34 -/* 02171C 70020B1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 021720 70020B20 0C00827A */ jal read32 -/* 021724 70020B24 00E02025 */ move $a0, $a3 -/* 021728 70020B28 8CEF0008 */ lw $t7, 8($a3) -/* 02172C 70020B2C ACEF0004 */ sw $t7, 4($a3) -/* 021730 70020B30 8FBF0014 */ lw $ra, 0x14($sp) -.L70020B34: -/* 021734 70020B34 27BD0018 */ addiu $sp, $sp, 0x18 -/* 021738 70020B38 03E00008 */ jr $ra -/* 02173C 70020B3C 00000000 */ nop - -glabel alSynSetPriority -/* 021740 70020B40 AFA40000 */ sw $a0, ($sp) -/* 021744 70020B44 AFA60008 */ sw $a2, 8($sp) -/* 021748 70020B48 03E00008 */ jr $ra -/* 02174C 70020B4C A4A60016 */ sh $a2, 0x16($a1) - -glabel lldiv -/* 021750 70020B50 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 021754 70020B54 AFA40030 */ sw $a0, 0x30($sp) -/* 021758 70020B58 AFBF0014 */ sw $ra, 0x14($sp) -/* 02175C 70020B5C AFA60038 */ sw $a2, 0x38($sp) -/* 021760 70020B60 AFA7003C */ sw $a3, 0x3c($sp) -/* 021764 70020B64 00C02025 */ move $a0, $a2 -/* 021768 70020B68 00E02825 */ move $a1, $a3 -/* 02176C 70020B6C 8FA70044 */ lw $a3, 0x44($sp) -/* 021770 70020B70 0C003B53 */ jal __ll_div -/* 021774 70020B74 8FA60040 */ lw $a2, 0x40($sp) -/* 021778 70020B78 AFA20020 */ sw $v0, 0x20($sp) -/* 02177C 70020B7C AFA30024 */ sw $v1, 0x24($sp) -/* 021780 70020B80 8FA40040 */ lw $a0, 0x40($sp) -/* 021784 70020B84 8FA50044 */ lw $a1, 0x44($sp) -/* 021788 70020B88 00403025 */ move $a2, $v0 -/* 02178C 70020B8C 0C003B6A */ jal __ll_mul -/* 021790 70020B90 00603825 */ move $a3, $v1 -/* 021794 70020B94 8FAE0038 */ lw $t6, 0x38($sp) -/* 021798 70020B98 8FAF003C */ lw $t7, 0x3c($sp) -/* 02179C 70020B9C 8FA80020 */ lw $t0, 0x20($sp) -/* 0217A0 70020BA0 01C2C023 */ subu $t8, $t6, $v0 -/* 0217A4 70020BA4 01E3082B */ sltu $at, $t7, $v1 -/* 0217A8 70020BA8 0301C023 */ subu $t8, $t8, $at -/* 0217AC 70020BAC 01E3C823 */ subu $t9, $t7, $v1 -/* 0217B0 70020BB0 AFB9002C */ sw $t9, 0x2c($sp) -/* 0217B4 70020BB4 AFB80028 */ sw $t8, 0x28($sp) -/* 0217B8 70020BB8 1D000017 */ bgtz $t0, .L70020C18 -/* 0217BC 70020BBC 8FA90024 */ lw $t1, 0x24($sp) -/* 0217C0 70020BC0 05000003 */ bltz $t0, .L70020BD0 -/* 0217C4 70020BC4 00000000 */ nop -/* 0217C8 70020BC8 10000014 */ b .L70020C1C -/* 0217CC 70020BCC 27A80020 */ addiu $t0, $sp, 0x20 -.L70020BD0: -/* 0217D0 70020BD0 07020012 */ bltzl $t8, .L70020C1C -/* 0217D4 70020BD4 27A80020 */ addiu $t0, $sp, 0x20 -/* 0217D8 70020BD8 1F000003 */ bgtz $t8, .L70020BE8 -/* 0217DC 70020BDC 252B0001 */ addiu $t3, $t1, 1 -/* 0217E0 70020BE0 5320000E */ beql $t9, $zero, .L70020C1C -/* 0217E4 70020BE4 27A80020 */ addiu $t0, $sp, 0x20 -.L70020BE8: -/* 0217E8 70020BE8 8FAC0040 */ lw $t4, 0x40($sp) -/* 0217EC 70020BEC 8FAD0044 */ lw $t5, 0x44($sp) -/* 0217F0 70020BF0 2D610001 */ sltiu $at, $t3, 1 -/* 0217F4 70020BF4 01015021 */ addu $t2, $t0, $at -/* 0217F8 70020BF8 030C7023 */ subu $t6, $t8, $t4 -/* 0217FC 70020BFC 032D082B */ sltu $at, $t9, $t5 -/* 021800 70020C00 01C17023 */ subu $t6, $t6, $at -/* 021804 70020C04 032D7823 */ subu $t7, $t9, $t5 -/* 021808 70020C08 AFAA0020 */ sw $t2, 0x20($sp) -/* 02180C 70020C0C AFAB0024 */ sw $t3, 0x24($sp) -/* 021810 70020C10 AFAF002C */ sw $t7, 0x2c($sp) -/* 021814 70020C14 AFAE0028 */ sw $t6, 0x28($sp) -.L70020C18: -/* 021818 70020C18 27A80020 */ addiu $t0, $sp, 0x20 -.L70020C1C: -/* 02181C 70020C1C 8FA20030 */ lw $v0, 0x30($sp) -/* 021820 70020C20 8D010000 */ lw $at, ($t0) -/* 021824 70020C24 AC410000 */ sw $at, ($v0) -/* 021828 70020C28 8D0B0004 */ lw $t3, 4($t0) -/* 02182C 70020C2C AC4B0004 */ sw $t3, 4($v0) -/* 021830 70020C30 8D010008 */ lw $at, 8($t0) -/* 021834 70020C34 AC410008 */ sw $at, 8($v0) -/* 021838 70020C38 8D0B000C */ lw $t3, 0xc($t0) -/* 02183C 70020C3C AC4B000C */ sw $t3, 0xc($v0) -/* 021840 70020C40 8FBF0014 */ lw $ra, 0x14($sp) -/* 021844 70020C44 27BD0030 */ addiu $sp, $sp, 0x30 -/* 021848 70020C48 03E00008 */ jr $ra -/* 02184C 70020C4C 00000000 */ nop - -glabel ldiv -/* 021850 70020C50 00A6001A */ div $zero, $a1, $a2 -/* 021854 70020C54 00001012 */ mflo $v0 -/* 021858 70020C58 27BDFFF8 */ addiu $sp, $sp, -8 -/* 02185C 70020C5C 14C00002 */ bnez $a2, .L70020C68 -/* 021860 70020C60 00000000 */ nop -/* 021864 70020C64 0007000D */ break 7 -.L70020C68: -/* 021868 70020C68 2401FFFF */ li $at, -1 -/* 02186C 70020C6C 14C10004 */ bne $a2, $at, .L70020C80 -/* 021870 70020C70 3C018000 */ lui $at, 0x8000 -/* 021874 70020C74 14A10002 */ bne $a1, $at, .L70020C80 -/* 021878 70020C78 00000000 */ nop -/* 02187C 70020C7C 0006000D */ break 6 -.L70020C80: -/* 021880 70020C80 00C20019 */ multu $a2, $v0 -/* 021884 70020C84 AFA20000 */ sw $v0, ($sp) -/* 021888 70020C88 27AF0000 */ addiu $t7, $sp, 0 -/* 02188C 70020C8C 00007012 */ mflo $t6 -/* 021890 70020C90 00AE1823 */ subu $v1, $a1, $t6 -/* 021894 70020C94 04410008 */ bgez $v0, .L70020CB8 -/* 021898 70020C98 AFA30004 */ sw $v1, 4($sp) -/* 02189C 70020C9C AFA20000 */ sw $v0, ($sp) -/* 0218A0 70020CA0 18600005 */ blez $v1, .L70020CB8 -/* 0218A4 70020CA4 AFA30004 */ sw $v1, 4($sp) -/* 0218A8 70020CA8 24420001 */ addiu $v0, $v0, 1 -/* 0218AC 70020CAC 00661823 */ subu $v1, $v1, $a2 -/* 0218B0 70020CB0 AFA30004 */ sw $v1, 4($sp) -/* 0218B4 70020CB4 AFA20000 */ sw $v0, ($sp) -.L70020CB8: -/* 0218B8 70020CB8 8DE10000 */ lw $at, ($t7) -/* 0218BC 70020CBC 00801025 */ move $v0, $a0 -/* 0218C0 70020CC0 AC810000 */ sw $at, ($a0) -/* 0218C4 70020CC4 8DE80004 */ lw $t0, 4($t7) -/* 0218C8 70020CC8 27BD0008 */ addiu $sp, $sp, 8 -/* 0218CC 70020CCC 03E00008 */ jr $ra -/* 0218D0 70020CD0 AC880004 */ sw $t0, 4($a0) - -/* 0218D4 70020CD4 00000000 */ nop -/* 0218D8 70020CD8 00000000 */ nop -/* 0218DC 70020CDC 00000000 */ nop -glabel __osResetGlobalIntMask -/* 0218E0 70020CE0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0218E4 70020CE4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0218E8 70020CE8 AFA40028 */ sw $a0, 0x28($sp) -/* 0218EC 70020CEC 0C00617C */ jal __osDisableInt -/* 0218F0 70020CF0 AFB00018 */ sw $s0, 0x18($sp) -/* 0218F4 70020CF4 8FAF0028 */ lw $t7, 0x28($sp) -/* 0218F8 70020CF8 3C0E8002 */ lui $t6, %hi(__OSGlobalIntMask) -/* 0218FC 70020CFC 8DCE698C */ lw $t6, %lo(__OSGlobalIntMask)($t6) -/* 021900 70020D00 2401FBFE */ li $at, -1026 -/* 021904 70020D04 01E1C024 */ and $t8, $t7, $at -/* 021908 70020D08 0300C827 */ not $t9, $t8 -/* 02190C 70020D0C 00408025 */ move $s0, $v0 -/* 021910 70020D10 3C018002 */ lui $at, %hi(__OSGlobalIntMask) -/* 021914 70020D14 01D94024 */ and $t0, $t6, $t9 -/* 021918 70020D18 AC28698C */ sw $t0, %lo(__OSGlobalIntMask)($at) -/* 02191C 70020D1C 0C006184 */ jal __osRestoreInt -/* 021920 70020D20 02002025 */ move $a0, $s0 -/* 021924 70020D24 8FBF001C */ lw $ra, 0x1c($sp) -/* 021928 70020D28 8FB00018 */ lw $s0, 0x18($sp) -/* 02192C 70020D2C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 021930 70020D30 03E00008 */ jr $ra -/* 021934 70020D34 00000000 */ nop - -/* 021938 70020D38 00000000 */ nop -/* 02193C 70020D3C 00000000 */ nop -glabel osEPiRawWriteIo -/* 021940 70020D40 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 -/* 021944 70020D44 8DC70010 */ lw $a3, %lo(PI_STATUS_REG)($t6) -/* 021948 70020D48 27BDFFF8 */ addiu $sp, $sp, -8 -/* 02194C 70020D4C 30EF0003 */ andi $t7, $a3, 3 -/* 021950 70020D50 11E00006 */ beqz $t7, .L70020D6C -/* 021954 70020D54 00000000 */ nop -.L70020D58: -/* 021958 70020D58 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 02195C 70020D5C 8F070010 */ lw $a3, %lo(PI_STATUS_REG)($t8) -/* 021960 70020D60 30F90003 */ andi $t9, $a3, 3 -/* 021964 70020D64 1720FFFC */ bnez $t9, .L70020D58 -/* 021968 70020D68 00000000 */ nop -.L70020D6C: -/* 02196C 70020D6C 8C88000C */ lw $t0, 0xc($a0) -/* 021970 70020D70 3C01A000 */ lui $at, 0xa000 -/* 021974 70020D74 27BD0008 */ addiu $sp, $sp, 8 -/* 021978 70020D78 01054825 */ or $t1, $t0, $a1 -/* 02197C 70020D7C 01215025 */ or $t2, $t1, $at -/* 021980 70020D80 AD460000 */ sw $a2, ($t2) -/* 021984 70020D84 03E00008 */ jr $ra -/* 021988 70020D88 00001025 */ move $v0, $zero - -/* 02198C 70020D8C 00000000 */ nop - -.section .data -glabel osViModeNtscLan1 -.word 0x2000000, 0x311E, 0x140, 0x3E52239 -.word 0x20D, 0xC15, 0xC150C15, 0x6C02EC -.word 0x200, 0, 0x280, 0x400 -.word 0x2501FF, 0xE0204, 2, 0x280 -.word 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModePalLan1 -.word 0x10000000, 0x311E, 0x140, 0x404233A -.word 0x271, 0x150C69, 0xC6F0C6E, 0x800300 -.word 0x200, 0, 0x280, 0x400 -.word 0x5F0239, 0x9026B, 2, 0x280 -.word 0x400, 0x5F0239, 0x9026B, 2 -.word 0x10, 0x10, 0x20, 0 - -.section .bss -glabel D_80069080 -.word 0 -glabel D_80069084 -.word 0 -glabel D_80069088 -.word 0 -glabel D_8006908C -.word 0 -glabel D_80069090 -.word 0 -glabel D_80069094 -.word 0 -glabel D_80069098 -.word 0 -glabel D_8006909C -.word 0 -glabel D_800690a0 -.word 0 -glabel D_800690a4 -.word 0 -glabel D_800690a8 -.word 0 -glabel D_800690ac -.word 0 -glabel D_800690b0 -.word 0 -glabel D_800690b4 -.word 0 -glabel D_800690b8 -.word 0 -glabel D_800690BC -.word 0 -glabel D_800690c0 -.word 0 -glabel D_800690C4 -.word 0 -glabel D_800690c8 -.word 0 -glabel D_800690cc -.word 0 -glabel D_800690D0 -.word 0 -glabel D_800690D4 -.word 0 -glabel D_800690D8 -.word 0 -glabel D_800690DC -.word 0 -glabel D_800690E0 -.word 0 -.word 0 -glabel D_800690E8 -.word 0 -glabel D_800690EC -.word 0 -glabel D_800690F0 -.word 0 -glabel D_800690F4 -.word 0 -glabel D_800690F8 -.word 0 -glabel D_800690FC -.word 0 -glabel D_80069100 -.word 0 -glabel D_80069104 -.word 0 -glabel D_80069108 -.word 0 -glabel D_8006910C -.word 0 -glabel D_80069110 -.word 0 -glabel D_80069114 -.word 0 -glabel D_80069118 -.word 0 -glabel D_8006911C -.word 0 -glabel D_80069120 -.word 0 -glabel D_80069124 -.word 0 -glabel D_80069128 -.word 0 -.word 0 -glabel D_80069130 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 diff --git a/src/libultra/ll.s b/src/libultra/ll.s deleted file mode 100644 index 0180b07..0000000 --- a/src/libultra/ll.s +++ /dev/null @@ -1,271 +0,0 @@ -# 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 deleted file mode 100644 index f363dab..0000000 --- a/src/libultra/osAiGetLength.s +++ /dev/null @@ -1,15 +0,0 @@ -# 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 deleted file mode 100644 index bd786cc..0000000 --- a/src/libultra/osAiSetFrequency.s +++ /dev/null @@ -1,106 +0,0 @@ -# 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 deleted file mode 100644 index d5815cc..0000000 --- a/src/libultra/osCreateMesgQueue.s +++ /dev/null @@ -1,41 +0,0 @@ -# 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 deleted file mode 100644 index 6e3d608..0000000 --- a/src/libultra/osCreatePiManager.s +++ /dev/null @@ -1,528 +0,0 @@ -# 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 deleted file mode 100644 index ec21813..0000000 --- a/src/libultra/osCreateThread.s +++ /dev/null @@ -1,92 +0,0 @@ -# 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 deleted file mode 100644 index 8573492..0000000 --- a/src/libultra/osCreateViManager.s +++ /dev/null @@ -1,1625 +0,0 @@ -# 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 deleted file mode 100644 index 577721d..0000000 --- a/src/libultra/osDpGetCounters.s +++ /dev/null @@ -1,29 +0,0 @@ -# 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 deleted file mode 100644 index 56e2b62..0000000 --- a/src/libultra/osDpSetNextBuffer.s +++ /dev/null @@ -1,55 +0,0 @@ -# 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 deleted file mode 100644 index d898e0d..0000000 --- a/src/libultra/osDpSetStatus.s +++ /dev/null @@ -1,14 +0,0 @@ -# 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 deleted file mode 100644 index 0798a2e..0000000 --- a/src/libultra/osGetCount.s +++ /dev/null @@ -1,13 +0,0 @@ -# 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 deleted file mode 100644 index a50e133..0000000 --- a/src/libultra/osGetTime.s +++ /dev/null @@ -1,43 +0,0 @@ -# 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 deleted file mode 100644 index f3be194..0000000 --- a/src/libultra/osInitialize.s +++ /dev/null @@ -1,207 +0,0 @@ -# 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 deleted file mode 100644 index 57a8301..0000000 --- a/src/libultra/osInvalDCache.s +++ /dev/null @@ -1,59 +0,0 @@ -# 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 deleted file mode 100644 index 2bac877..0000000 --- a/src/libultra/osInvalICache.s +++ /dev/null @@ -1,44 +0,0 @@ -# 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 deleted file mode 100644 index d39850f..0000000 --- a/src/libultra/osPiGetStatus.s +++ /dev/null @@ -1,14 +0,0 @@ -# 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 deleted file mode 100644 index 24d5732..0000000 --- a/src/libultra/osPiRawStartDma.s +++ /dev/null @@ -1,75 +0,0 @@ -# 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 deleted file mode 100644 index 75545a1..0000000 --- a/src/libultra/osPiReadIo.s +++ /dev/null @@ -1,26 +0,0 @@ -# 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 deleted file mode 100644 index f0a0a54..0000000 --- a/src/libultra/osPiStartDma.s +++ /dev/null @@ -1,83 +0,0 @@ -# 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 deleted file mode 100644 index 2506b75..0000000 --- a/src/libultra/osRecvMesg.s +++ /dev/null @@ -1,96 +0,0 @@ -# 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 deleted file mode 100644 index 8446501..0000000 --- a/src/libultra/osSendMesg.s +++ /dev/null @@ -1,101 +0,0 @@ -# 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 deleted file mode 100644 index ad7ad44..0000000 --- a/src/libultra/osSetEventMesg.s +++ /dev/null @@ -1,162 +0,0 @@ -# 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 deleted file mode 100644 index 9b73eb9..0000000 --- a/src/libultra/osSetIntMask.s +++ /dev/null @@ -1,62 +0,0 @@ -# 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 deleted file mode 100644 index e015c47..0000000 --- a/src/libultra/osSetThreadPri.s +++ /dev/null @@ -1,70 +0,0 @@ -# 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 deleted file mode 100644 index 5b04978..0000000 --- a/src/libultra/osSetTimer.s +++ /dev/null @@ -1,67 +0,0 @@ -# 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 deleted file mode 100644 index 7ead55b..0000000 --- a/src/libultra/osSpTaskLoad.s +++ /dev/null @@ -1,248 +0,0 @@ -# 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 deleted file mode 100644 index 1721c3c..0000000 --- a/src/libultra/osSpTaskYield.s +++ /dev/null @@ -1,18 +0,0 @@ -# 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 deleted file mode 100644 index 7ba8d94..0000000 --- a/src/libultra/osSpTaskYielded.s +++ /dev/null @@ -1,46 +0,0 @@ -# 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 deleted file mode 100644 index 0cc8be4..0000000 --- a/src/libultra/osStartThread.s +++ /dev/null @@ -1,100 +0,0 @@ -# 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 deleted file mode 100644 index e2ac2eb..0000000 --- a/src/libultra/osStopThread.s +++ /dev/null @@ -1,63 +0,0 @@ -# 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 deleted file mode 100644 index 9eb7696..0000000 --- a/src/libultra/osUnmapTLB.s +++ /dev/null @@ -1,26 +0,0 @@ -# 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 deleted file mode 100644 index c3c1a99..0000000 --- a/src/libultra/osViBlack.s +++ /dev/null @@ -1,40 +0,0 @@ -# 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 deleted file mode 100644 index 8c23b8f..0000000 --- a/src/libultra/osViGetCurrentFramebuffer.s +++ /dev/null @@ -1,27 +0,0 @@ -# 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 deleted file mode 100644 index 1b339c2..0000000 --- a/src/libultra/osViGetNextFramebuffer.s +++ /dev/null @@ -1,27 +0,0 @@ -# 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 deleted file mode 100644 index 17862fc..0000000 --- a/src/libultra/osViModeTable.s +++ /dev/null @@ -1,224 +0,0 @@ -# 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 deleted file mode 100644 index 7bea1f4..0000000 --- a/src/libultra/osViRepeatLine.s +++ /dev/null @@ -1,40 +0,0 @@ -# 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 deleted file mode 100644 index e0ae7cd..0000000 --- a/src/libultra/osViSetEvent.s +++ /dev/null @@ -1,40 +0,0 @@ -# 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 deleted file mode 100644 index 86ab2bf..0000000 --- a/src/libultra/osViSetMode.s +++ /dev/null @@ -1,36 +0,0 @@ -# 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 deleted file mode 100644 index 712198d..0000000 --- a/src/libultra/osViSetSpecialFeatures.s +++ /dev/null @@ -1,128 +0,0 @@ -# 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 deleted file mode 100644 index 9b21623..0000000 --- a/src/libultra/osViSetXScale.s +++ /dev/null @@ -1,88 +0,0 @@ -# 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 deleted file mode 100644 index dada628..0000000 --- a/src/libultra/osViSetYScale.s +++ /dev/null @@ -1,32 +0,0 @@ -# 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 deleted file mode 100644 index 46b439b..0000000 --- a/src/libultra/osViSwapBuffer.s +++ /dev/null @@ -1,31 +0,0 @@ -# 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 deleted file mode 100644 index f558646..0000000 --- a/src/libultra/osVirtualToPhysical.s +++ /dev/null @@ -1,44 +0,0 @@ -# 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 deleted file mode 100644 index 3cba7d8..0000000 --- a/src/libultra/osWritebackDCache.s +++ /dev/null @@ -1,44 +0,0 @@ -# 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 deleted file mode 100644 index 14aafbb..0000000 --- a/src/libultra/osWritebackDCacheAll.s +++ /dev/null @@ -1,21 +0,0 @@ -# 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 deleted file mode 100644 index 55e4616..0000000 --- a/src/libultra/osYieldThread.s +++ /dev/null @@ -1,29 +0,0 @@ -# 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 deleted file mode 100644 index bef06d1..0000000 --- a/src/libultra/string.s +++ /dev/null @@ -1,59 +0,0 @@ -# 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 deleted file mode 100644 index d22e06c..0000000 --- a/src/libultra/syn.s +++ /dev/null @@ -1,493 +0,0 @@ -# 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 deleted file mode 100644 index 15b408a..0000000 --- a/src/mema.c +++ /dev/null @@ -1,1352 +0,0 @@ -#include "ultra64.h" -#include "mema.h" -#include "deb.h" - -/** - * @file mema.c - * This file contains memory allocation code. - * - */ - -//bss -void *ptr_model_room_buf_secondary; -u32 size_modelroom_buf; -struct s_mem_alloc_table ptr_table_allocated_mem_blocks; - -//data -void *ptr_mema_c_debug_notice_list = 0; - - - - - -#ifdef NONMATCHING -void memaSwap(u8 *a,u8 *b) - -{ - 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 memaSwap -/* 00A610 70009A10 8CAE0000 */ lw $t6, ($a1) -/* 00A614 70009A14 8C820000 */ lw $v0, ($a0) -/* 00A618 70009A18 8C830004 */ lw $v1, 4($a0) -/* 00A61C 70009A1C AC8E0000 */ sw $t6, ($a0) -/* 00A620 70009A20 8CAF0004 */ lw $t7, 4($a1) -/* 00A624 70009A24 AC8F0004 */ sw $t7, 4($a0) -/* 00A628 70009A28 ACA20000 */ sw $v0, ($a1) -/* 00A62C 70009A2C 03E00008 */ jr $ra -/* 00A630 70009A30 ACA30004 */ sw $v1, 4($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void memaMerge(void *arg0, void *arg1) -{ - arg0->unk4 = (s32) (arg0->unk4 + arg1->unk4); - arg1->unk0 = 0; - arg1->unk4 = 0; -} -#else -GLOBAL_ASM( -.text -glabel memaMerge -/* 00A634 70009A34 8C8E0004 */ lw $t6, 4($a0) -/* 00A638 70009A38 8CAF0004 */ lw $t7, 4($a1) -/* 00A63C 70009A3C 01CFC021 */ addu $t8, $t6, $t7 -/* 00A640 70009A40 AC980004 */ sw $t8, 4($a0) -/* 00A644 70009A44 ACA00000 */ sw $zero, ($a1) -/* 00A648 70009A48 03E00008 */ jr $ra -/* 00A64C 70009A4C ACA00004 */ sw $zero, 4($a1) -) -#endif - - - - - -#ifdef NONMATCHING -u32 memaSortMergeEntries(s_mem_alloc_table *param_1) -{ - u32 temp_s0; - u32 temp_s0_2; - u32 temp_s4; - void *phi_s0; - u32 phi_s2; - void *phi_s1; - void *phi_s0_2; - ? phi_s3; - void *phi_s0_3; - ? phi_s3_2; - u32 phi_v0; - ? phi_s3_3; - - temp_s0 = arg0 + 0x10; - temp_s4 = arg0 + 0xfe8; - phi_s0 = temp_s0; - phi_s2 = 0U; - phi_s1 = arg0 + 8; - phi_s3 = 0; - phi_s3_3 = 0; - if (temp_s4 >= temp_s0) - { -loop_1: - phi_s0_2 = phi_s0; - phi_s2 = phi_s2; - phi_s1 = phi_s1; - phi_s3_2 = phi_s3_3; - if (phi_s0->unk4 != 0) - { - if ((u32) phi_s0->unk0 < (u32) phi_s2) - { - 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)) - { - memaMerge(phi_s1, phi_s0); - phi_s0_3 = phi_s1; - phi_v0 = phi_s1->unk0; - phi_s3_2 = 1; - } - phi_s0_2 = phi_s0_3; - phi_s2 = phi_v0; - phi_s1 = phi_s0_3; - } - temp_s0_2 = phi_s0_2 + 8; - phi_s0 = temp_s0_2; - phi_s3 = phi_s3_2; - phi_s3_3 = phi_s3_2; - if (temp_s4 >= temp_s0_2) - { - goto loop_1; - } - } - return phi_s3; -} -#else -GLOBAL_ASM( -.text -glabel memaSortMergeEntries -/* 00A650 70009A50 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 00A654 70009A54 AFB40028 */ sw $s4, 0x28($sp) -/* 00A658 70009A58 AFB00018 */ sw $s0, 0x18($sp) -/* 00A65C 70009A5C 24900010 */ addiu $s0, $a0, 0x10 -/* 00A660 70009A60 24940FE8 */ addiu $s4, $a0, 0xfe8 -/* 00A664 70009A64 AFB30024 */ sw $s3, 0x24($sp) -/* 00A668 70009A68 AFB20020 */ sw $s2, 0x20($sp) -/* 00A66C 70009A6C AFB1001C */ sw $s1, 0x1c($sp) -/* 00A670 70009A70 0290082B */ sltu $at, $s4, $s0 -/* 00A674 70009A74 AFBF002C */ sw $ra, 0x2c($sp) -/* 00A678 70009A78 00009825 */ move $s3, $zero -/* 00A67C 70009A7C 24910008 */ addiu $s1, $a0, 8 -/* 00A680 70009A80 1420001C */ bnez $at, .L70009AF4 -/* 00A684 70009A84 00009025 */ move $s2, $zero -/* 00A688 70009A88 8E0E0004 */ lw $t6, 4($s0) -.L70009A8C: -/* 00A68C 70009A8C 51C00016 */ beql $t6, $zero, .L70009AE8 -/* 00A690 70009A90 26100008 */ addiu $s0, $s0, 8 -/* 00A694 70009A94 8E020000 */ lw $v0, ($s0) -/* 00A698 70009A98 02002025 */ move $a0, $s0 -/* 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 memaSwap -/* 00A6AC 70009AAC 02202825 */ move $a1, $s1 -/* 00A6B0 70009AB0 8E020000 */ lw $v0, ($s0) -/* 00A6B4 70009AB4 8E2F0004 */ lw $t7, 4($s1) -.L70009AB8: -/* 00A6B8 70009AB8 02202025 */ move $a0, $s1 -/* 00A6BC 70009ABC 02002825 */ move $a1, $s0 -/* 00A6C0 70009AC0 01F2C021 */ addu $t8, $t7, $s2 -/* 00A6C4 70009AC4 54580006 */ bnel $v0, $t8, .L70009AE0 -/* 00A6C8 70009AC8 02008825 */ move $s1, $s0 -/* 00A6CC 70009ACC 0C00268D */ jal memaMerge -/* 00A6D0 70009AD0 24130001 */ li $s3, 1 -/* 00A6D4 70009AD4 02208025 */ move $s0, $s1 -/* 00A6D8 70009AD8 8E220000 */ lw $v0, ($s1) -/* 00A6DC 70009ADC 02008825 */ move $s1, $s0 -.L70009AE0: -/* 00A6E0 70009AE0 00409025 */ move $s2, $v0 -/* 00A6E4 70009AE4 26100008 */ addiu $s0, $s0, 8 -.L70009AE8: -/* 00A6E8 70009AE8 0290082B */ sltu $at, $s4, $s0 -/* 00A6EC 70009AEC 5020FFE7 */ beql $at, $zero, .L70009A8C -/* 00A6F0 70009AF0 8E0E0004 */ lw $t6, 4($s0) -.L70009AF4: -/* 00A6F4 70009AF4 8FBF002C */ lw $ra, 0x2c($sp) -/* 00A6F8 70009AF8 02601025 */ move $v0, $s3 -/* 00A6FC 70009AFC 8FB30024 */ lw $s3, 0x24($sp) -/* 00A700 70009B00 8FB00018 */ lw $s0, 0x18($sp) -/* 00A704 70009B04 8FB1001C */ lw $s1, 0x1c($sp) -/* 00A708 70009B08 8FB20020 */ lw $s2, 0x20($sp) -/* 00A70C 70009B0C 8FB40028 */ lw $s4, 0x28($sp) -/* 00A710 70009B10 03E00008 */ jr $ra -/* 00A714 70009B14 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - -void memaSortMergeAllEntries(void) -{ - while (memaSortMergeEntries(&ptr_table_allocated_mem_blocks) != 0) { - ; - } -} - - - -#ifdef NONMATCHING -u32 mem_related(s32 arg0) { - u32 temp_s2; - u32 temp_s1; - - // Node 0 - temp_s2 = (arg0 + 0x10); - temp_s1 = (arg0 + 0xfe8); - // Node 1 - if (temp_s1 >= temp_s2) - { - loop_2: - // Node 2 - if (temp_s2->unk4 == 0) - { - // Node 3 - return; - // (possible return value: temp_s2) - } - // Node 4 - if ((u32) temp_s2->unk8 < (u32) *temp_s2) - { - // Node 5 - memaSwap(temp_s2, (temp_s2 + 8)); - } - // Node 6 - if (temp_s2->unk8 == (*temp_s2 + temp_s2->unk4)) - { - // Node 7 - temp_s2->unk8 = 0U; - temp_s2->unkC = 0; - temp_s2->unk4 = (u32) (temp_s2->unk4 + temp_s2->unkC); - return; - // (possible return value: (temp_s2 + 8)) - } - // Node 8 - if (temp_s1 >= (u32) (temp_s2 + 8)) - { - goto loop_2; - } - // Node 9 - } - // Node 10 - if ((0 + 1) < 0x1fc) - { - goto loop_1; - } - // Node 11 - if (temp_s1 >= temp_s2) - { - loop_12: - // Node 12 - if ((u32) temp_s2->unk4 < -1U) - { - // Node 13 - } - // Node 14 - if (temp_s1 >= (u32) (temp_s2 + 8)) - { - goto loop_12; - } - } - // Node 15 - return; - // (possible return value: temp_s2) -} -#else -GLOBAL_ASM( -.text -glabel mem_related -/* 00A760 70009B60 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00A764 70009B64 AFB2001C */ sw $s2, 0x1c($sp) -/* 00A768 70009B68 AFB30020 */ sw $s3, 0x20($sp) -/* 00A76C 70009B6C AFB10018 */ sw $s1, 0x18($sp) -/* 00A770 70009B70 AFB00014 */ sw $s0, 0x14($sp) -/* 00A774 70009B74 24920010 */ addiu $s2, $a0, 0x10 -/* 00A778 70009B78 AFBF0024 */ sw $ra, 0x24($sp) -/* 00A77C 70009B7C 02408025 */ move $s0, $s2 -/* 00A780 70009B80 24910FE8 */ addiu $s1, $a0, 0xfe8 -/* 00A784 70009B84 00009825 */ move $s3, $zero -/* 00A788 70009B88 0232082B */ sltu $at, $s1, $s2 -.L70009B8C: -/* 00A78C 70009B8C 54200020 */ bnezl $at, .L70009C10 -/* 00A790 70009B90 26730001 */ addiu $s3, $s3, 1 -.L70009B94: -/* 00A794 70009B94 8E040004 */ lw $a0, 4($s0) -/* 00A798 70009B98 26050008 */ addiu $a1, $s0, 8 -/* 00A79C 70009B9C 54800004 */ bnezl $a0, .L70009BB0 -/* 00A7A0 70009BA0 8E020008 */ lw $v0, 8($s0) -/* 00A7A4 70009BA4 1000002C */ b .L70009C58 -/* 00A7A8 70009BA8 02001025 */ move $v0, $s0 -/* 00A7AC 70009BAC 8E020008 */ lw $v0, 8($s0) -.L70009BB0: -/* 00A7B0 70009BB0 8E030000 */ lw $v1, ($s0) -/* 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 memaSwap -/* 00A7C4 70009BC4 02002025 */ move $a0, $s0 -/* 00A7C8 70009BC8 8E040004 */ lw $a0, 4($s0) -/* 00A7CC 70009BCC 8E020008 */ lw $v0, 8($s0) -/* 00A7D0 70009BD0 8E030000 */ lw $v1, ($s0) -/* 00A7D4 70009BD4 00647021 */ addu $t6, $v1, $a0 -.L70009BD8: -/* 00A7D8 70009BD8 144E0008 */ bne $v0, $t6, .L70009BFC -/* 00A7DC 70009BDC 26050008 */ addiu $a1, $s0, 8 -/* 00A7E0 70009BE0 8E0F000C */ lw $t7, 0xc($s0) -/* 00A7E4 70009BE4 AE000008 */ sw $zero, 8($s0) -/* 00A7E8 70009BE8 AE00000C */ sw $zero, 0xc($s0) -/* 00A7EC 70009BEC 008FC021 */ addu $t8, $a0, $t7 -/* 00A7F0 70009BF0 AE180004 */ sw $t8, 4($s0) -/* 00A7F4 70009BF4 10000018 */ b .L70009C58 -/* 00A7F8 70009BF8 00A01025 */ move $v0, $a1 -.L70009BFC: -/* 00A7FC 70009BFC 0225082B */ sltu $at, $s1, $a1 -/* 00A800 70009C00 1020FFE4 */ beqz $at, .L70009B94 -/* 00A804 70009C04 00A08025 */ move $s0, $a1 -/* 00A808 70009C08 02408025 */ move $s0, $s2 -/* 00A80C 70009C0C 26730001 */ addiu $s3, $s3, 1 -.L70009C10: -/* 00A810 70009C10 2A6101FC */ slti $at, $s3, 0x1fc -/* 00A814 70009C14 5420FFDD */ bnezl $at, .L70009B8C -/* 00A818 70009C18 0232082B */ sltu $at, $s1, $s2 -/* 00A81C 70009C1C 0232082B */ sltu $at, $s1, $s2 -/* 00A820 70009C20 2402FFFF */ li $v0, -1 -/* 00A824 70009C24 1420000B */ bnez $at, .L70009C54 -/* 00A828 70009C28 02401825 */ move $v1, $s2 -/* 00A82C 70009C2C 8E040004 */ lw $a0, 4($s0) -.L70009C30: -/* 00A830 70009C30 0082082B */ sltu $at, $a0, $v0 -/* 00A834 70009C34 50200004 */ beql $at, $zero, .L70009C48 -/* 00A838 70009C38 26100008 */ addiu $s0, $s0, 8 -/* 00A83C 70009C3C 02001825 */ move $v1, $s0 -/* 00A840 70009C40 00801025 */ move $v0, $a0 -/* 00A844 70009C44 26100008 */ addiu $s0, $s0, 8 -.L70009C48: -/* 00A848 70009C48 0230082B */ sltu $at, $s1, $s0 -/* 00A84C 70009C4C 5020FFF8 */ beql $at, $zero, .L70009C30 -/* 00A850 70009C50 8E040004 */ lw $a0, 4($s0) -.L70009C54: -/* 00A854 70009C54 00601025 */ move $v0, $v1 -.L70009C58: -/* 00A858 70009C58 8FBF0024 */ lw $ra, 0x24($sp) -/* 00A85C 70009C5C 8FB00014 */ lw $s0, 0x14($sp) -/* 00A860 70009C60 8FB10018 */ lw $s1, 0x18($sp) -/* 00A864 70009C64 8FB2001C */ lw $s2, 0x1c($sp) -/* 00A868 70009C68 8FB30020 */ lw $s3, 0x20($sp) -/* 00A86C 70009C6C 03E00008 */ jr $ra -/* 00A870 70009C70 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -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); - } - 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; - } - } - if (psVar5->addr == 0) { - psVar5 = (s_mem_alloc_entry *)memaFindOpening(&ptr_table_allocated_mem_blocks); - } - } - psVar5->addr = addr; - psVar5->size = size; - return; -} -#else -GLOBAL_ASM( -.text -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) -/* 00A880 70009C80 8D293C24 */ lw $t1, %lo(size_modelroom_buf)($t1) -/* 00A884 70009C84 008FC023 */ subu $t8, $a0, $t7 -/* 00A888 70009C88 0018C9C0 */ sll $t9, $t8, 7 -/* 00A88C 70009C8C 0338C823 */ subu $t9, $t9, $t8 -/* 00A890 70009C90 0019C880 */ sll $t9, $t9, 2 -/* 00A894 70009C94 0329001A */ div $zero, $t9, $t1 -/* 00A898 70009C98 00003012 */ mflo $a2 -/* 00A89C 70009C9C 3C0B8006 */ lui $t3, %hi(ptr_table_allocated_mem_blocks) -/* 00A8A0 70009CA0 256B3C28 */ addiu $t3, %lo(ptr_table_allocated_mem_blocks) # addiu $t3, $t3, 0x3c28 -/* 00A8A4 70009CA4 000650C0 */ sll $t2, $a2, 3 -/* 00A8A8 70009CA8 014B1021 */ addu $v0, $t2, $t3 -/* 00A8AC 70009CAC 8C480014 */ lw $t0, 0x14($v0) -/* 00A8B0 70009CB0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00A8B4 70009CB4 24470010 */ addiu $a3, $v0, 0x10 -/* 00A8B8 70009CB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 00A8BC 70009CBC AFA40018 */ sw $a0, 0x18($sp) -/* 00A8C0 70009CC0 AFA5001C */ sw $a1, 0x1c($sp) -/* 00A8C4 70009CC4 00807025 */ move $t6, $a0 -/* 00A8C8 70009CC8 15200002 */ bnez $t1, .L70009CD4 -/* 00A8CC 70009CCC 00000000 */ nop -/* 00A8D0 70009CD0 0007000D */ break 7 -.L70009CD4: -/* 00A8D4 70009CD4 2401FFFF */ li $at, -1 -/* 00A8D8 70009CD8 15210004 */ bne $t1, $at, .L70009CEC -/* 00A8DC 70009CDC 3C018000 */ lui $at, 0x8000 -/* 00A8E0 70009CE0 17210002 */ bne $t9, $at, .L70009CEC -/* 00A8E4 70009CE4 00000000 */ nop -/* 00A8E8 70009CE8 0006000D */ break 6 -.L70009CEC: -/* 00A8EC 70009CEC 00E01825 */ move $v1, $a3 -/* 00A8F0 70009CF0 51000006 */ beql $t0, $zero, .L70009D0C -/* 00A8F4 70009CF4 8C6D0000 */ lw $t5, ($v1) -/* 00A8F8 70009CF8 8C6C000C */ lw $t4, 0xc($v1) -.L70009CFC: -/* 00A8FC 70009CFC 24630008 */ addiu $v1, $v1, 8 -/* 00A900 70009D00 5580FFFE */ bnezl $t4, .L70009CFC -/* 00A904 70009D04 8C6C000C */ lw $t4, 0xc($v1) -/* 00A908 70009D08 8C6D0000 */ lw $t5, ($v1) -.L70009D0C: -/* 00A90C 70009D0C 2401FFFF */ li $at, -1 -/* 00A910 70009D10 55A1000F */ bnel $t5, $at, .L70009D50 -/* 00A914 70009D14 8FB80018 */ lw $t8, 0x18($sp) -/* 00A918 70009D18 11000005 */ beqz $t0, .L70009D30 -/* 00A91C 70009D1C 00E01825 */ move $v1, $a3 -/* 00A920 70009D20 8C6EFFFC */ lw $t6, -4($v1) -.L70009D24: -/* 00A924 70009D24 2463FFF8 */ addiu $v1, $v1, -8 -/* 00A928 70009D28 55C0FFFE */ bnezl $t6, .L70009D24 -/* 00A92C 70009D2C 8C6EFFFC */ lw $t6, -4($v1) -.L70009D30: -/* 00A930 70009D30 8C6F0000 */ lw $t7, ($v1) -/* 00A934 70009D34 3C048006 */ lui $a0, %hi(ptr_table_allocated_mem_blocks) -/* 00A938 70009D38 55E00005 */ bnezl $t7, .L70009D50 -/* 00A93C 70009D3C 8FB80018 */ lw $t8, 0x18($sp) -/* 00A940 70009D40 0C0026D8 */ jal mem_related -/* 00A944 70009D44 24843C28 */ addiu $a0, %lo(ptr_table_allocated_mem_blocks) # addiu $a0, $a0, 0x3c28 -/* 00A948 70009D48 00401825 */ move $v1, $v0 -/* 00A94C 70009D4C 8FB80018 */ lw $t8, 0x18($sp) -.L70009D50: -/* 00A950 70009D50 AC780000 */ sw $t8, ($v1) -/* 00A954 70009D54 8FB9001C */ lw $t9, 0x1c($sp) -/* 00A958 70009D58 AC790004 */ sw $t9, 4($v1) -/* 00A95C 70009D5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 00A960 70009D60 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00A964 70009D64 03E00008 */ jr $ra -/* 00A968 70009D68 00000000 */ nop -) -#endif - - - -void something_with_mema_c_debug(void) { - get_ptr_debug_notice_list_entry(&ptr_mema_c_debug_notice_list, "mema_c_debug"); -} - - - - -#ifdef NONMATCHING -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) - { - 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 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(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_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 -/* 00A9E0 70009DE0 AC40FFF8 */ sw $zero, -8($v0) -/* 00A9E4 70009DE4 1020FFFC */ beqz $at, .L70009DD8 -/* 00A9E8 70009DE8 AC40FFFC */ sw $zero, -4($v0) -/* 00A9EC 70009DEC 3C028006 */ lui $v0, %hi(ptr_model_room_buf_secondary) -/* 00A9F0 70009DF0 3C068006 */ lui $a2, %hi(size_modelroom_buf) -/* 00A9F4 70009DF4 24C63C24 */ addiu $a2, %lo(size_modelroom_buf) # addiu $a2, $a2, 0x3c24 -/* 00A9F8 70009DF8 24423C20 */ addiu $v0, %lo(ptr_model_room_buf_secondary) # addiu $v0, $v0, 0x3c20 -/* 00A9FC 70009DFC AC440000 */ sw $a0, ($v0) -/* 00AA00 70009E00 AC640010 */ sw $a0, 0x10($v1) -/* 00AA04 70009E04 ACC50000 */ sw $a1, ($a2) -/* 00AA08 70009E08 03E00008 */ jr $ra -/* 00AA0C 70009E0C AC650014 */ sw $a1, 0x14($v1) -) -#endif - - -void mem_related_calls_sort_merge_entries(void) { - memaSortMergeEntries(&ptr_table_allocated_mem_blocks); -} - - - -#ifdef NONMATCHING -s32 mem_related_something_find_first(u32 arg0) { - u32 temp_v0; - void *temp_s1; - s32 temp_t6; - s32 temp_at; - - // Node 0 - // Node 1 - 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) - { - // Node 5 - if (temp_v0 >= (u32) (arg0 >> 2)) - { - // Node 6 - temp_s1 = (&ptr_table_allocated_mem_blocks + 0x10 + 8); - if ((0 + 1) != 0x10) - { - goto loop_1; - } - } - } - } - else - { - // Node 6 - temp_s1 = (&ptr_table_allocated_mem_blocks + 0x10 + 8); - if ((0 + 1) != 0x10) - { - goto loop_1; - } - } - // Node 7 - if (NULL == 0) - { - // Node 8 - if ((u32) temp_s1->unk4 < arg0) - { - loop_9: - // Node 9 - if ((u32) temp_s1->unkC < arg0) - { - goto loop_9; - } - } - // Node 10 - if (-1 == *temp_s1) - { - // Node 11 - // Node 12 - memaSortMergeEntries(&ptr_table_allocated_mem_blocks, NULL, 0x10); - if ((0 + 1) != 8) - { - goto loop_12; - } - // Node 13 - if ((u32) ptr_table_allocated_mem_blocks.unk14 < arg0) - { - loop_14: - // Node 14 - if ((u32) ptr_table_allocated_mem_blocks + 0x10.unkC < arg0) - { - goto loop_14; - } - } - // Node 15 - if (-1 == ptr_table_allocated_mem_blocks + 0x10) - { - // Node 16 - return; - // (possible return value: 0) - } - } - // Node 17 - } - // Node 18 - temp_t6 = (NULL->unk4 - arg0); - *NULL = (s32) (*NULL + arg0); - NULL->unk4 = temp_t6; - if (temp_t6 == 0) - { - // Node 19 - *NULL = 0; - } - // Node 20 - return; - // (possible return value: *NULL) -} - -#else -GLOBAL_ASM( -.text -glabel mem_related_something_find_first -/* 00AA34 70009E34 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 00AA38 70009E38 AFB2001C */ sw $s2, 0x1c($sp) -/* 00AA3C 70009E3C AFB10018 */ sw $s1, 0x18($sp) -/* 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_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_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 -/* 00AA6C 70009E6C 2415FFFF */ li $s5, -1 -/* 00AA70 70009E70 24060010 */ li $a2, 16 -.L70009E74: -/* 00AA74 70009E74 8E230004 */ lw $v1, 4($s1) -/* 00AA78 70009E78 26100001 */ addiu $s0, $s0, 1 -/* 00AA7C 70009E7C 0072082B */ sltu $at, $v1, $s2 -/* 00AA80 70009E80 1420000E */ bnez $at, .L70009EBC -/* 00AA84 70009E84 00721023 */ subu $v0, $v1, $s2 -/* 00AA88 70009E88 8E2E0000 */ lw $t6, ($s1) -/* 00AA8C 70009E8C 0044082B */ sltu $at, $v0, $a0 -/* 00AA90 70009E90 00127882 */ srl $t7, $s2, 2 -/* 00AA94 70009E94 12AE000B */ beq $s5, $t6, .L70009EC4 -/* 00AA98 70009E98 00000000 */ nop -/* 00AA9C 70009E9C 10200007 */ beqz $at, .L70009EBC -/* 00AAA0 70009EA0 2C410040 */ sltiu $at, $v0, 0x40 -/* 00AAA4 70009EA4 00402025 */ move $a0, $v0 -/* 00AAA8 70009EA8 14200006 */ bnez $at, .L70009EC4 -/* 00AAAC 70009EAC 02202825 */ move $a1, $s1 -/* 00AAB0 70009EB0 004F082B */ sltu $at, $v0, $t7 -/* 00AAB4 70009EB4 14200003 */ bnez $at, .L70009EC4 -/* 00AAB8 70009EB8 00000000 */ nop -.L70009EBC: -/* 00AABC 70009EBC 1606FFED */ bne $s0, $a2, .L70009E74 -/* 00AAC0 70009EC0 26310008 */ addiu $s1, $s1, 8 -.L70009EC4: -/* 00AAC4 70009EC4 54A00027 */ bnezl $a1, .L70009F64 -/* 00AAC8 70009EC8 8CA30000 */ lw $v1, ($a1) -/* 00AACC 70009ECC 8E380004 */ lw $t8, 4($s1) -/* 00AAD0 70009ED0 00008025 */ move $s0, $zero -/* 00AAD4 70009ED4 24140008 */ li $s4, 8 -/* 00AAD8 70009ED8 0312082B */ sltu $at, $t8, $s2 -/* 00AADC 70009EDC 10200006 */ beqz $at, .L70009EF8 -/* 00AAE0 70009EE0 3C138006 */ lui $s3, %hi(ptr_table_allocated_mem_blocks) -/* 00AAE4 70009EE4 8E39000C */ lw $t9, 0xc($s1) -.L70009EE8: -/* 00AAE8 70009EE8 26310008 */ addiu $s1, $s1, 8 -/* 00AAEC 70009EEC 0332082B */ sltu $at, $t9, $s2 -/* 00AAF0 70009EF0 5420FFFD */ bnezl $at, .L70009EE8 -/* 00AAF4 70009EF4 8E39000C */ lw $t9, 0xc($s1) -.L70009EF8: -/* 00AAF8 70009EF8 8E280000 */ lw $t0, ($s1) -/* 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_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 memaSortMergeEntries -/* 00AB14 70009F14 02602025 */ move $a0, $s3 -/* 00AB18 70009F18 26100001 */ addiu $s0, $s0, 1 -/* 00AB1C 70009F1C 1614FFFC */ bne $s0, $s4, .L70009F10 -/* 00AB20 70009F20 00000000 */ nop -/* 00AB24 70009F24 8E690014 */ lw $t1, 0x14($s3) -/* 00AB28 70009F28 0132082B */ sltu $at, $t1, $s2 -/* 00AB2C 70009F2C 50200007 */ beql $at, $zero, .L70009F4C -/* 00AB30 70009F30 8E2B0000 */ lw $t3, ($s1) -/* 00AB34 70009F34 8E2A000C */ lw $t2, 0xc($s1) -.L70009F38: -/* 00AB38 70009F38 26310008 */ addiu $s1, $s1, 8 -/* 00AB3C 70009F3C 0152082B */ sltu $at, $t2, $s2 -/* 00AB40 70009F40 5420FFFD */ bnezl $at, .L70009F38 -/* 00AB44 70009F44 8E2A000C */ lw $t2, 0xc($s1) -/* 00AB48 70009F48 8E2B0000 */ lw $t3, ($s1) -.L70009F4C: -/* 00AB4C 70009F4C 56AB0004 */ bnel $s5, $t3, .L70009F60 -/* 00AB50 70009F50 02202825 */ move $a1, $s1 -/* 00AB54 70009F54 1000000B */ b .L70009F84 -/* 00AB58 70009F58 00001025 */ move $v0, $zero -/* 00AB5C 70009F5C 02202825 */ move $a1, $s1 -.L70009F60: -/* 00AB60 70009F60 8CA30000 */ lw $v1, ($a1) -.L70009F64: -/* 00AB64 70009F64 8CAD0004 */ lw $t5, 4($a1) -/* 00AB68 70009F68 00726021 */ addu $t4, $v1, $s2 -/* 00AB6C 70009F6C 01B27023 */ subu $t6, $t5, $s2 -/* 00AB70 70009F70 ACAC0000 */ sw $t4, ($a1) -/* 00AB74 70009F74 15C00002 */ bnez $t6, .L70009F80 -/* 00AB78 70009F78 ACAE0004 */ sw $t6, 4($a1) -/* 00AB7C 70009F7C ACA00000 */ sw $zero, ($a1) -.L70009F80: -/* 00AB80 70009F80 00601025 */ move $v0, $v1 -.L70009F84: -/* 00AB84 70009F84 8FBF002C */ lw $ra, 0x2c($sp) -/* 00AB88 70009F88 8FB00014 */ lw $s0, 0x14($sp) -/* 00AB8C 70009F8C 8FB10018 */ lw $s1, 0x18($sp) -/* 00AB90 70009F90 8FB2001C */ lw $s2, 0x1c($sp) -/* 00AB94 70009F94 8FB30020 */ lw $s3, 0x20($sp) -/* 00AB98 70009F98 8FB40024 */ lw $s4, 0x24($sp) -/* 00AB9C 70009F9C 8FB50028 */ lw $s5, 0x28($sp) -/* 00ABA0 70009FA0 03E00008 */ jr $ra -/* 00ABA4 70009FA4 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -#ifdef NONMATCHING -s32 mem_related_something_find_first_0(s32 arg0, u32 arg1) -{ - s32 temp_a1; - u32 temp_a2; - u32 temp_t4; - s32 phi_a1; - void *phi_v1; - - if (-1 == ptr_table_allocated_mem_blocks + 0x10) - { - return 0; - } - phi_a1 = ptr_table_allocated_mem_blocks + 0x10; - phi_v1 = &ptr_table_allocated_mem_blocks + 0x10; -loop_2: - if (arg0 != phi_a1) - { -block_4: - temp_a1 = phi_v1->unk8; - phi_a1 = temp_a1; - phi_v1 = phi_v1 + 8; - if (-1 != temp_a1) - { - goto loop_2; - } - return 0; - } - temp_a2 = phi_v1->unk4; - if (temp_a2 < arg1) - { - goto block_4; - } - temp_t4 = temp_a2 - arg1; - phi_v1->unk0 = (s32) (phi_a1 + arg1); - phi_v1->unk4 = temp_t4; - if (temp_t4 == 0) - { - phi_v1->unk0 = 0; - } - return arg0; -} -#else -GLOBAL_ASM( -.text -glabel mem_related_something_find_first_0 -/* 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_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 -/* 00ABC8 70009FC8 8F050000 */ lw $a1, ($t8) -.L70009FCC: -/* 00ABCC 70009FCC 54850006 */ bnel $a0, $a1, .L70009FE8 -/* 00ABD0 70009FD0 8C650008 */ lw $a1, 8($v1) -/* 00ABD4 70009FD4 8C660004 */ lw $a2, 4($v1) -/* 00ABD8 70009FD8 00C7082B */ sltu $at, $a2, $a3 -/* 00ABDC 70009FDC 50200008 */ beql $at, $zero, .L7000A000 -/* 00ABE0 70009FE0 00A75821 */ addu $t3, $a1, $a3 -/* 00ABE4 70009FE4 8C650008 */ lw $a1, 8($v1) -.L70009FE8: -/* 00ABE8 70009FE8 24630008 */ addiu $v1, $v1, 8 -/* 00ABEC 70009FEC 1545FFF7 */ bne $t2, $a1, .L70009FCC -/* 00ABF0 70009FF0 00000000 */ nop -.L70009FF4: -/* 00ABF4 70009FF4 03E00008 */ jr $ra -/* 00ABF8 70009FF8 00001025 */ move $v0, $zero - -/* 00ABFC 70009FFC 00A75821 */ addu $t3, $a1, $a3 -.L7000A000: -/* 00AC00 7000A000 00C76023 */ subu $t4, $a2, $a3 -/* 00AC04 7000A004 AC6B0000 */ sw $t3, ($v1) -/* 00AC08 7000A008 15800002 */ bnez $t4, .L7000A014 -/* 00AC0C 7000A00C AC6C0004 */ sw $t4, 4($v1) -/* 00AC10 7000A010 AC600000 */ sw $zero, ($v1) -.L7000A014: -/* 00AC14 7000A014 00801025 */ move $v0, $a0 -/* 00AC18 7000A018 03E00008 */ jr $ra -/* 00AC1C 7000A01C 00000000 */ nop -) -#endif - - - - -void mem_related_model_room_buffers_0(u32 addr,u32 size) { - memaAllocRoomBuffer(addr, size); -} - - - - - -#ifdef NONMATCHING -void *mem_related_allocated_table_related(void) -{ - void *temp_v1; - void *phi_v1; - - phi_v1 = &ptr_table_allocated_mem_blocks; -loop_1: - temp_v1 = phi_v1 + 0x20; - phi_v1 = temp_v1; - if (temp_v1 != &ptr_table_allocated_mem_blocks + 0xFE0) - { - goto loop_1; - } - 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(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: -/* 00AC54 7000A054 5462FFFF */ bnel $v1, $v0, .L7000A054 -/* 00AC58 7000A058 24630020 */ addiu $v1, $v1, 0x20 -/* 00AC5C 7000A05C 03E00008 */ jr $ra -/* 00AC60 7000A060 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -f32 mem_related_something_first_related(void) -{ - u32 temp_a1; - u32 temp_v0; - u32 phi_v1; - void *phi_a0; - u32 phi_v0; - u32 phi_v1_2; - u32 phi_v1_3; - u32 phi_v0_2; - - phi_v1 = 0U; - phi_a0 = &ptr_table_allocated_mem_blocks + 0x10; - phi_v0 = 0U; - phi_v1_2 = 0U; - phi_v0_2 = 0U; - if (-1 != ptr_table_allocated_mem_blocks + 0x10) - { -loop_1: - temp_a1 = phi_a0->unk4; - temp_v0 = phi_v0_2 + temp_a1; - phi_v1_3 = phi_v1; - if ((u32) phi_v1 < temp_a1) - { - phi_v1_3 = temp_a1; - } - phi_v1 = phi_v1_3; - phi_a0 = phi_a0 + 8; - phi_v0 = temp_v0; - phi_v1_2 = phi_v1_3; - phi_v0_2 = temp_v0; - if (-1 != phi_a0->unk8) - { - goto loop_1; - } - } - if (phi_v0 == 0) - { - return 0; - } - return (f32) (u32) (phi_v0 - phi_v1_2) / (f32) (u32) phi_v0; -} -#else -GLOBAL_ASM( -.text -glabel mem_related_something_first_related -/* 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_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_table_allocated_mem_blocks + 0x10) # addiu $a0, $a0, 0x3c38 -/* 00AC84 7000A084 8C850004 */ lw $a1, 4($a0) -.L7000A088: -/* 00AC88 7000A088 0065082B */ sltu $at, $v1, $a1 -/* 00AC8C 7000A08C 10200002 */ beqz $at, .L7000A098 -/* 00AC90 7000A090 00451021 */ addu $v0, $v0, $a1 -/* 00AC94 7000A094 00A01825 */ move $v1, $a1 -.L7000A098: -/* 00AC98 7000A098 8C8F0008 */ lw $t7, 8($a0) -/* 00AC9C 7000A09C 24840008 */ addiu $a0, $a0, 8 -/* 00ACA0 7000A0A0 54CFFFF9 */ bnel $a2, $t7, .L7000A088 -/* 00ACA4 7000A0A4 8C850004 */ lw $a1, 4($a0) -.L7000A0A8: -/* 00ACA8 7000A0A8 14400004 */ bnez $v0, .L7000A0BC -/* 00ACAC 7000A0AC 0043C023 */ subu $t8, $v0, $v1 -/* 00ACB0 7000A0B0 44800000 */ mtc1 $zero, $f0 -/* 00ACB4 7000A0B4 03E00008 */ jr $ra -/* 00ACB8 7000A0B8 00000000 */ nop - -.L7000A0BC: -/* 00ACBC 7000A0BC 44982000 */ mtc1 $t8, $f4 -/* 00ACC0 7000A0C0 44825000 */ mtc1 $v0, $f10 -/* 00ACC4 7000A0C4 07010005 */ bgez $t8, .L7000A0DC -/* 00ACC8 7000A0C8 468021A0 */ cvt.s.w $f6, $f4 -/* 00ACCC 7000A0CC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 00ACD0 7000A0D0 44814000 */ mtc1 $at, $f8 -/* 00ACD4 7000A0D4 00000000 */ nop -/* 00ACD8 7000A0D8 46083180 */ add.s $f6, $f6, $f8 -.L7000A0DC: -/* 00ACDC 7000A0DC 04410005 */ bgez $v0, .L7000A0F4 -/* 00ACE0 7000A0E0 46805420 */ cvt.s.w $f16, $f10 -/* 00ACE4 7000A0E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 00ACE8 7000A0E8 44819000 */ mtc1 $at, $f18 -/* 00ACEC 7000A0EC 00000000 */ nop -/* 00ACF0 7000A0F0 46128400 */ add.s $f16, $f16, $f18 -.L7000A0F4: -/* 00ACF4 7000A0F4 46103003 */ div.s $f0, $f6, $f16 -/* 00ACF8 7000A0F8 03E00008 */ jr $ra -/* 00ACFC 7000A0FC 00000000 */ nop -) -#endif - -const char aD_3[] = "%d "; -const char a___[] = "..."; -const char aD_5[] = "[%d]"; - -#ifdef NONMATCHING -void generate_list_alloc_mem(void) { - -} -#else -GLOBAL_ASM( -.text -glabel generate_list_alloc_mem -/* 00AD00 7000A100 27BDEF98 */ addiu $sp, $sp, -0x1068 -/* 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_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) -/* 00AD2C 7000A12C AFB60030 */ sw $s6, 0x30($sp) -/* 00AD30 7000A130 AFB40028 */ sw $s4, 0x28($sp) -/* 00AD34 7000A134 AFB30024 */ sw $s3, 0x24($sp) -/* 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_table_allocated_mem_blocks + 0x10) # addiu $s0, $s0, 0x3c38 -/* 00AD48 7000A148 12A40008 */ beq $s5, $a0, .L7000A16C -/* 00AD4C 7000A14C 00001025 */ move $v0, $zero -.L7000A150: -/* 00AD50 7000A150 8E0F0008 */ lw $t7, 8($s0) -/* 00AD54 7000A154 8E0E0004 */ lw $t6, 4($s0) -/* 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_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) -/* 00AD74 7000A174 27B10054 */ addiu $s1, $sp, 0x54 -/* 00AD78 7000A178 26D691E0 */ addiu $s6, %lo(aD_3) # addiu $s6, $s6, -0x6e20 -/* 00AD7C 7000A17C 27DE91E4 */ addiu $fp, %lo(a___) # addiu $fp, $fp, -0x6e1c -/* 00AD80 7000A180 00009825 */ move $s3, $zero -/* 00AD84 7000A184 0000A025 */ move $s4, $zero -/* 00AD88 7000A188 241700C8 */ li $s7, 200 -.L7000A18C: -/* 00AD8C 7000A18C 12A4000D */ beq $s5, $a0, .L7000A1C4 -/* 00AD90 7000A190 00000000 */ nop -/* 00AD94 7000A194 8E020004 */ lw $v0, 4($s0) -.L7000A198: -/* 00AD98 7000A198 0043082B */ sltu $at, $v0, $v1 -/* 00AD9C 7000A19C 10200005 */ beqz $at, .L7000A1B4 -/* 00ADA0 7000A1A0 0262082B */ sltu $at, $s3, $v0 -/* 00ADA4 7000A1A4 50200004 */ beql $at, $zero, .L7000A1B8 -/* 00ADA8 7000A1A8 8E180008 */ lw $t8, 8($s0) -/* 00ADAC 7000A1AC 00409825 */ move $s3, $v0 -/* 00ADB0 7000A1B0 26940001 */ addiu $s4, $s4, 1 -.L7000A1B4: -/* 00ADB4 7000A1B4 8E180008 */ lw $t8, 8($s0) -.L7000A1B8: -/* 00ADB8 7000A1B8 26100008 */ addiu $s0, $s0, 8 -/* 00ADBC 7000A1BC 56B8FFF6 */ bnel $s5, $t8, .L7000A198 -/* 00ADC0 7000A1C0 8E020004 */ lw $v0, 4($s0) -.L7000A1C4: -/* 00ADC4 7000A1C4 12800022 */ beqz $s4, .L7000A250 -/* 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) -.L7000A1DC: -/* 00ADDC 7000A1DC 2A4100C8 */ slti $at, $s2, 0xc8 -/* 00ADE0 7000A1E0 56620011 */ bnel $s3, $v0, .L7000A228 -/* 00ADE4 7000A1E4 8E080008 */ lw $t0, 8($s0) -/* 00ADE8 7000A1E8 10200008 */ beqz $at, .L7000A20C -/* 00ADEC 7000A1EC 02202025 */ move $a0, $s1 -/* 00ADF0 7000A1F0 24460200 */ addiu $a2, $v0, 0x200 -/* 00ADF4 7000A1F4 0006CA82 */ srl $t9, $a2, 0xa -/* 00ADF8 7000A1F8 03203025 */ move $a2, $t9 -/* 00ADFC 7000A1FC 0C002B25 */ jal sprintf -/* 00AE00 7000A200 02C02825 */ move $a1, $s6 -/* 00AE04 7000A204 10000006 */ b .L7000A220 -/* 00AE08 7000A208 02228821 */ addu $s1, $s1, $v0 -.L7000A20C: -/* 00AE0C 7000A20C 16570004 */ bne $s2, $s7, .L7000A220 -/* 00AE10 7000A210 02202025 */ move $a0, $s1 -/* 00AE14 7000A214 0C002B25 */ jal sprintf -/* 00AE18 7000A218 03C02825 */ move $a1, $fp -/* 00AE1C 7000A21C 02228821 */ addu $s1, $s1, $v0 -.L7000A220: -/* 00AE20 7000A220 26520001 */ addiu $s2, $s2, 1 -/* 00AE24 7000A224 8E080008 */ lw $t0, 8($s0) -.L7000A228: -/* 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_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 -/* 00AE4C 7000A24C 00009825 */ move $s3, $zero -.L7000A250: -/* 00AE50 7000A250 2A4100C9 */ slti $at, $s2, 0xc9 -/* 00AE54 7000A254 14200005 */ bnez $at, .L7000A26C -/* 00AE58 7000A258 02202025 */ move $a0, $s1 -/* 00AE5C 7000A25C 3C058003 */ lui $a1, %hi(aD_5) -/* 00AE60 7000A260 24A591E8 */ addiu $a1, %lo(aD_5) # addiu $a1, $a1, -0x6e18 -/* 00AE64 7000A264 0C002B25 */ jal sprintf -/* 00AE68 7000A268 02403025 */ move $a2, $s2 -.L7000A26C: -/* 00AE6C 7000A26C 8FBF003C */ lw $ra, 0x3c($sp) -/* 00AE70 7000A270 8FB00018 */ lw $s0, 0x18($sp) -/* 00AE74 7000A274 8FB1001C */ lw $s1, 0x1c($sp) -/* 00AE78 7000A278 8FB20020 */ lw $s2, 0x20($sp) -/* 00AE7C 7000A27C 8FB30024 */ lw $s3, 0x24($sp) -/* 00AE80 7000A280 8FB40028 */ lw $s4, 0x28($sp) -/* 00AE84 7000A284 8FB5002C */ lw $s5, 0x2c($sp) -/* 00AE88 7000A288 8FB60030 */ lw $s6, 0x30($sp) -/* 00AE8C 7000A28C 8FB70034 */ lw $s7, 0x34($sp) -/* 00AE90 7000A290 8FBE0038 */ lw $fp, 0x38($sp) -/* 00AE94 7000A294 03E00008 */ jr $ra -/* 00AE98 7000A298 27BD1068 */ addiu $sp, $sp, 0x1068 -) -#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(); -} - - - -#ifdef NONMATCHING -void mem_related_something_first_related_0(void *arg0) -{ - s32 temp_s1; - s32 phi_s1; - void *phi_s0; - - if (-1 != ptr_table_allocated_mem_blocks + 0x10) - { - 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; - phi_s1 = temp_s1; - phi_s0 = phi_s0 + 8; - if (-1 != temp_s1) - { - goto loop_2; - } - } -} -#else -GLOBAL_ASM( -.text -glabel mem_related_something_first_related_0 -/* 00AEF8 7000A2F8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 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_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_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) -/* 00AF28 7000A328 126F000A */ beq $s3, $t7, .L7000A354 -/* 00AF2C 7000A32C 01C08025 */ move $s0, $t6 -/* 00AF30 7000A330 8DD10000 */ lw $s1, ($t6) -/* 00AF34 7000A334 8E180004 */ lw $t8, 4($s0) -.L7000A338: -/* 00AF38 7000A338 02002825 */ move $a1, $s0 -/* 00AF3C 7000A33C 0240F809 */ jalr $s2 -/* 00AF40 7000A340 02382021 */ addu $a0, $s1, $t8 -/* 00AF44 7000A344 8E110008 */ lw $s1, 8($s0) -/* 00AF48 7000A348 26100008 */ addiu $s0, $s0, 8 -/* 00AF4C 7000A34C 5671FFFA */ bnel $s3, $s1, .L7000A338 -/* 00AF50 7000A350 8E180004 */ lw $t8, 4($s0) -.L7000A354: -/* 00AF54 7000A354 8FBF0024 */ lw $ra, 0x24($sp) -/* 00AF58 7000A358 8FB00014 */ lw $s0, 0x14($sp) -/* 00AF5C 7000A35C 8FB10018 */ lw $s1, 0x18($sp) -/* 00AF60 7000A360 8FB2001C */ lw $s2, 0x1c($sp) -/* 00AF64 7000A364 8FB30020 */ lw $s3, 0x20($sp) -/* 00AF68 7000A368 03E00008 */ jr $ra -/* 00AF6C 7000A36C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - -#ifdef NONMATCHING -u32 mem_related_0(void) { - u32 sp18; - - // Node 0 - sp18 = 0U; - memaSortMergeAllEntries(); - if (-1 != ptr_table_allocated_mem_blocks + 0x10) - { - loop_1: - // Node 1 - if (sp18 < (u32) ptr_table_allocated_mem_blocks + 0x10.unk4) - { - // Node 2 - } - // Node 3 - if (-1 != ptr_table_allocated_mem_blocks + 0x10.unk8) - { - goto loop_1; - } - } - // Node 4 - if (sp18 != 0) - { - // Node 5 - return; - // (possible return value: sp18) - } - // Node 6 - return; - // (possible return value: 0U) -} - -#else -GLOBAL_ASM( -.text -glabel mem_related_0 -/* 00AF70 7000A370 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00AF74 7000A374 AFBF0014 */ sw $ra, 0x14($sp) -/* 00AF78 7000A378 0C0026C6 */ jal memaSortMergeAllEntries -/* 00AF7C 7000A37C AFA00018 */ sw $zero, 0x18($sp) -/* 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_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_table_allocated_mem_blocks + 0x10) # addiu $v0, $v0, 0x3c38 -/* 00AF9C 7000A39C 8C430004 */ lw $v1, 4($v0) -.L7000A3A0: -/* 00AFA0 7000A3A0 0083082B */ sltu $at, $a0, $v1 -/* 00AFA4 7000A3A4 50200003 */ beql $at, $zero, .L7000A3B4 -/* 00AFA8 7000A3A8 8C4F0008 */ lw $t7, 8($v0) -/* 00AFAC 7000A3AC 00602025 */ move $a0, $v1 -/* 00AFB0 7000A3B0 8C4F0008 */ lw $t7, 8($v0) -.L7000A3B4: -/* 00AFB4 7000A3B4 24420008 */ addiu $v0, $v0, 8 -/* 00AFB8 7000A3B8 54AFFFF9 */ bnel $a1, $t7, .L7000A3A0 -/* 00AFBC 7000A3BC 8C430004 */ lw $v1, 4($v0) -.L7000A3C0: -/* 00AFC0 7000A3C0 10800003 */ beqz $a0, .L7000A3D0 -/* 00AFC4 7000A3C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 00AFC8 7000A3C8 10000002 */ b .L7000A3D4 -/* 00AFCC 7000A3CC 00801025 */ move $v0, $a0 -.L7000A3D0: -/* 00AFD0 7000A3D0 00001025 */ move $v0, $zero -.L7000A3D4: -/* 00AFD4 7000A3D4 03E00008 */ jr $ra -/* 00AFD8 7000A3D8 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - -#ifdef NONMATCHING -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( -.text -glabel mem_related_1 -/* 00AFDC 7000A3DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00AFE0 7000A3E0 00A6082B */ sltu $at, $a1, $a2 -/* 00AFE4 7000A3E4 AFBF0014 */ sw $ra, 0x14($sp) -/* 00AFE8 7000A3E8 AFA40018 */ sw $a0, 0x18($sp) -/* 00AFEC 7000A3EC 1020000A */ beqz $at, .L7000A418 -/* 00AFF0 7000A3F0 00A03825 */ move $a3, $a1 -/* 00AFF4 7000A3F4 00852021 */ addu $a0, $a0, $a1 -/* 00AFF8 7000A3F8 0C0027EA */ jal mem_related_something_find_first_0 -/* 00AFFC 7000A3FC 00C52823 */ subu $a1, $a2, $a1 -/* 00B000 7000A400 14400003 */ bnez $v0, .L7000A410 -/* 00B004 7000A404 00000000 */ nop -/* 00B008 7000A408 1000000A */ b .L7000A434 -/* 00B00C 7000A40C 00001025 */ move $v0, $zero -.L7000A410: -/* 00B010 7000A410 10000008 */ b .L7000A434 -/* 00B014 7000A414 24020001 */ li $v0, 1 -.L7000A418: -/* 00B018 7000A418 00C7082B */ sltu $at, $a2, $a3 -/* 00B01C 7000A41C 10200004 */ beqz $at, .L7000A430 -/* 00B020 7000A420 8FA90018 */ lw $t1, 0x18($sp) -/* 00B024 7000A424 01262021 */ addu $a0, $t1, $a2 -/* 00B028 7000A428 0C002808 */ jal mem_related_model_room_buffers_0 -/* 00B02C 7000A42C 00E62823 */ subu $a1, $a3, $a2 -.L7000A430: -/* 00B030 7000A430 24020001 */ li $v0, 1 -.L7000A434: -/* 00B034 7000A434 8FBF0014 */ lw $ra, 0x14($sp) -/* 00B038 7000A438 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00B03C 7000A43C 03E00008 */ jr $ra -/* 00B040 7000A440 00000000 */ nop -) -#endif diff --git a/src/mema.h b/src/mema.h deleted file mode 100644 index dc810e7..0000000 --- a/src/mema.h +++ /dev/null @@ -1,39 +0,0 @@ -#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 deleted file mode 100644 index f1414e4..0000000 --- a/src/memp.c +++ /dev/null @@ -1,788 +0,0 @@ -#include "ultra64.h" -#include "memp.h" -#include "game/lvl_text.h" -/** - * @file memp.c - * This file contains code for memp. - */ - -//bss -struct s_mempBANK memory_bank_ptrs[0x7]; - -//data -void *ptr_memp_c_debug_debug_notice_list = 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 -}; - - - - - - -/** - * 9F80 70009380 - * V0=p->debug.notice.list entry for memp_c_debug - */ -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 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; - - if (check_token(1,"-mf") != 0) { - mfval = strtol(check_token(1,"-mf"),NULL,0); - } - - if (check_token(1,"-ml") != 0) { - mlval = strtol(check_token(1,"-ml"),NULL,0); - } - - if (check_token(1,"-me") != 0) { - meval = strtol(check_token(1,"-me"),NULL,0); - } - - if (meval == 0) { - mfval = 0; - iVar1 = 0x128; - if (j_text_trigger != 0) { - iVar1 = 0x134; - } - meval = iVar1 * 0x400; - mlval = bsize + iVar1 * -0x400; - } - mempSetBankStarts(&local_20); -} -#else -GLOBAL_ASM( -.rdata -glabel aMf -.word 0x2d6d6600 /*"-mf"*/ -glabel aMf_0 -.word 0x2d6d6600 /*"-mf"*/ -glabel aMl -.word 0x2d6d6c00 /*"-ml"*/ -glabel aMl_0 -.word 0x2d6d6c00 /*"-ml"*/ -glabel aMe -.word 0x2d6d6500 /*"-me"*/ -glabel aMe_0 -.word 0x2d6d6500 /*"-me"*/ - -.text -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(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(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 -/* 009FE0 700093E0 AF010000 */ sw $at, ($t8) -/* 009FE4 700093E4 AF090004 */ sw $t1, 4($t8) -/* 009FE8 700093E8 8F29000C */ lw $t1, 0xc($t9) -/* 009FEC 700093EC 8F210008 */ lw $at, 8($t9) -/* 009FF0 700093F0 3C058003 */ lui $a1, %hi(aMf) -/* 009FF4 700093F4 AF09000C */ sw $t1, 0xc($t8) -/* 009FF8 700093F8 AF010008 */ sw $at, 8($t8) -/* 009FFC 700093FC 8F210010 */ lw $at, 0x10($t9) -/* 00A000 70009400 8F290014 */ lw $t1, 0x14($t9) -/* 00A004 70009404 24A591B0 */ addiu $a1, %lo(aMf) # addiu $a1, $a1, -0x6e50 -/* 00A008 70009408 AF010010 */ sw $at, 0x10($t8) -/* 00A00C 7000940C AF090014 */ sw $t1, 0x14($t8) -/* 00A010 70009410 8F29001C */ lw $t1, 0x1c($t9) -/* 00A014 70009414 8F210018 */ lw $at, 0x18($t9) -/* 00A018 70009418 24040001 */ li $a0, 1 -/* 00A01C 7000941C AF09001C */ sw $t1, 0x1c($t8) -/* 00A020 70009420 0C0029A8 */ jal check_token -/* 00A024 70009424 AF010018 */ sw $at, 0x18($t8) -/* 00A028 70009428 10400009 */ beqz $v0, .L70009450 -/* 00A02C 7000942C 24040001 */ li $a0, 1 -/* 00A030 70009430 3C058003 */ lui $a1, %hi(aMf_0) -/* 00A034 70009434 0C0029A8 */ jal check_token -/* 00A038 70009438 24A591B4 */ addiu $a1, %lo(aMf_0) # addiu $a1, $a1, -0x6e4c -/* 00A03C 7000943C 00402025 */ move $a0, $v0 -/* 00A040 70009440 00002825 */ move $a1, $zero -/* 00A044 70009444 0C002A78 */ jal strtol -/* 00A048 70009448 00003025 */ move $a2, $zero -/* 00A04C 7000944C AFA20024 */ sw $v0, 0x24($sp) -.L70009450: -/* 00A050 70009450 3C058003 */ lui $a1, %hi(aMl) -/* 00A054 70009454 24A591B8 */ addiu $a1, %lo(aMl) # addiu $a1, $a1, -0x6e48 -/* 00A058 70009458 0C0029A8 */ jal check_token -/* 00A05C 7000945C 24040001 */ li $a0, 1 -/* 00A060 70009460 10400009 */ beqz $v0, .L70009488 -/* 00A064 70009464 24040001 */ li $a0, 1 -/* 00A068 70009468 3C058003 */ lui $a1, %hi(aMl_0) -/* 00A06C 7000946C 0C0029A8 */ jal check_token -/* 00A070 70009470 24A591BC */ addiu $a1, %lo(aMl_0) # addiu $a1, $a1, -0x6e44 -/* 00A074 70009474 00402025 */ move $a0, $v0 -/* 00A078 70009478 00002825 */ move $a1, $zero -/* 00A07C 7000947C 0C002A78 */ jal strtol -/* 00A080 70009480 00003025 */ move $a2, $zero -/* 00A084 70009484 AFA2002C */ sw $v0, 0x2c($sp) -.L70009488: -/* 00A088 70009488 3C058003 */ lui $a1, %hi(aMe) -/* 00A08C 7000948C 24A591C0 */ addiu $a1, %lo(aMe) # addiu $a1, $a1, -0x6e40 -/* 00A090 70009490 0C0029A8 */ jal check_token -/* 00A094 70009494 24040001 */ li $a0, 1 -/* 00A098 70009498 10400009 */ beqz $v0, .L700094C0 -/* 00A09C 7000949C 24040001 */ li $a0, 1 -/* 00A0A0 700094A0 3C058003 */ lui $a1, %hi(aMe_0) -/* 00A0A4 700094A4 0C0029A8 */ jal check_token -/* 00A0A8 700094A8 24A591C4 */ addiu $a1, %lo(aMe_0) # addiu $a1, $a1, -0x6e3c -/* 00A0AC 700094AC 00402025 */ move $a0, $v0 -/* 00A0B0 700094B0 00002825 */ move $a1, $zero -/* 00A0B4 700094B4 0C002A78 */ jal strtol -/* 00A0B8 700094B8 00003025 */ move $a2, $zero -/* 00A0BC 700094BC AFA20034 */ sw $v0, 0x34($sp) -.L700094C0: -/* 00A0C0 700094C0 8FA30034 */ lw $v1, 0x34($sp) -/* 00A0C4 700094C4 3C0A8005 */ lui $t2, %hi(j_text_trigger) -/* 00A0C8 700094C8 1460000C */ bnez $v1, .L700094FC -/* 00A0CC 700094CC 00000000 */ nop -/* 00A0D0 700094D0 8D4A84D0 */ lw $t2, %lo(j_text_trigger)($t2) -/* 00A0D4 700094D4 AFA00024 */ sw $zero, 0x24($sp) -/* 00A0D8 700094D8 24020128 */ li $v0, 296 -/* 00A0DC 700094DC 11400003 */ beqz $t2, .L700094EC -/* 00A0E0 700094E0 8FAB0044 */ lw $t3, 0x44($sp) -/* 00A0E4 700094E4 10000001 */ b .L700094EC -/* 00A0E8 700094E8 24020134 */ li $v0, 308 -.L700094EC: -/* 00A0EC 700094EC 00021A80 */ sll $v1, $v0, 0xa -/* 00A0F0 700094F0 01636023 */ subu $t4, $t3, $v1 -/* 00A0F4 700094F4 AFAC002C */ sw $t4, 0x2c($sp) -/* 00A0F8 700094F8 AFA30034 */ sw $v1, 0x34($sp) -.L700094FC: -/* 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 -/* 00A10C 7000950C 03E00008 */ jr $ra -/* 00A110 70009510 00000000 */ nop -) -#endif - - - - - -/** - * A114 70009514 - * initialize allocations using table A0 - * accepts: A0=p->allocation sizes - */ -#ifdef NONMATCHING -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; - } - 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 mempSetBankStarts -/* 00A114 70009514 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 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(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) -/* 00A140 70009540 AE410000 */ sw $at, ($s2) -/* 00A144 70009544 8DD90004 */ lw $t9, 4($t6) -/* 00A148 70009548 00801025 */ move $v0, $a0 -/* 00A14C 7000954C 26733BB0 */ addiu $s3, %lo(memory_bank_ptrs) # addiu $s3, $s3, 0x3bb0 -/* 00A150 70009550 AE590004 */ sw $t9, 4($s2) -/* 00A154 70009554 8DC10008 */ lw $at, 8($t6) -/* 00A158 70009558 27B00060 */ addiu $s0, $sp, 0x60 -/* 00A15C 7000955C 27B1007C */ addiu $s1, $sp, 0x7c -/* 00A160 70009560 AE410008 */ sw $at, 8($s2) -/* 00A164 70009564 8DD9000C */ lw $t9, 0xc($t6) -/* 00A168 70009568 AE59000C */ sw $t9, 0xc($s2) -/* 00A16C 7000956C 8DC10010 */ lw $at, 0x10($t6) -/* 00A170 70009570 AE410010 */ sw $at, 0x10($s2) -/* 00A174 70009574 8DD90014 */ lw $t9, 0x14($t6) -/* 00A178 70009578 AE590014 */ sw $t9, 0x14($s2) -/* 00A17C 7000957C 8DC10018 */ lw $at, 0x18($t6) -/* 00A180 70009580 AE410018 */ sw $at, 0x18($s2) -/* 00A184 70009584 8C830000 */ lw $v1, ($a0) -/* 00A188 70009588 8C480004 */ lw $t0, 4($v0) -.L7000958C: -/* 00A18C 7000958C 00034880 */ sll $t1, $v1, 2 -/* 00A190 70009590 02495021 */ addu $t2, $s2, $t1 -/* 00A194 70009594 AD480000 */ sw $t0, ($t2) -/* 00A198 70009598 8C430008 */ lw $v1, 8($v0) -/* 00A19C 7000959C 24420008 */ addiu $v0, $v0, 8 -/* 00A1A0 700095A0 5460FFFA */ bnezl $v1, .L7000958C -/* 00A1A4 700095A4 8C480004 */ lw $t0, 4($v0) -/* 00A1A8 700095A8 8E030000 */ lw $v1, ($s0) -/* 00A1AC 700095AC 27A40078 */ addiu $a0, $sp, 0x78 -.L700095B0: -/* 00A1B0 700095B0 8E0C0004 */ lw $t4, 4($s0) -/* 00A1B4 700095B4 26100004 */ addiu $s0, $s0, 4 -/* 00A1B8 700095B8 0204082B */ sltu $at, $s0, $a0 -/* 00A1BC 700095BC 01831021 */ addu $v0, $t4, $v1 -/* 00A1C0 700095C0 00401825 */ move $v1, $v0 -/* 00A1C4 700095C4 1420FFFA */ bnez $at, .L700095B0 -/* 00A1C8 700095C8 AE020000 */ sw $v0, ($s0) -/* 00A1CC 700095CC 8E6D0008 */ lw $t5, 8($s3) -/* 00A1D0 700095D0 8E780000 */ lw $t8, ($s3) -/* 00A1D4 700095D4 8FA20078 */ lw $v0, 0x78($sp) -/* 00A1D8 700095D8 27B00060 */ addiu $s0, $sp, 0x60 -/* 00A1DC 700095DC 01B81823 */ subu $v1, $t5, $t8 -/* 00A1E0 700095E0 000377C3 */ sra $t6, $v1, 0x1f -/* 00A1E4 700095E4 000247C3 */ sra $t0, $v0, 0x1f -/* 00A1E8 700095E8 AFA80030 */ sw $t0, 0x30($sp) -/* 00A1EC 700095EC AFAE0038 */ sw $t6, 0x38($sp) -/* 00A1F0 700095F0 AFA3003C */ sw $v1, 0x3c($sp) -/* 00A1F4 700095F4 AFA20034 */ sw $v0, 0x34($sp) -.L700095F8: -/* 00A1F8 700095F8 8E050000 */ lw $a1, ($s0) -/* 00A1FC 700095FC 8FA60038 */ lw $a2, 0x38($sp) -/* 00A200 70009600 8FA7003C */ lw $a3, 0x3c($sp) -/* 00A204 70009604 0C003B6A */ jal __ll_mul -/* 00A208 70009608 000527C3 */ sra $a0, $a1, 0x1f -/* 00A20C 7000960C 00402025 */ move $a0, $v0 -/* 00A210 70009610 00602825 */ move $a1, $v1 -/* 00A214 70009614 8FA60030 */ lw $a2, 0x30($sp) -/* 00A218 70009618 0C003B53 */ jal __ll_div -/* 00A21C 7000961C 8FA70034 */ lw $a3, 0x34($sp) -/* 00A220 70009620 26100004 */ addiu $s0, $s0, 4 -/* 00A224 70009624 0211082B */ sltu $at, $s0, $s1 -/* 00A228 70009628 1420FFF3 */ bnez $at, .L700095F8 -/* 00A22C 7000962C AE03FFFC */ sw $v1, -4($s0) -/* 00A230 70009630 27B00060 */ addiu $s0, $sp, 0x60 -/* 00A234 70009634 27A2007C */ addiu $v0, $sp, 0x7c -.L70009638: -/* 00A238 70009638 8E0B0000 */ lw $t3, ($s0) -/* 00A23C 7000963C 26100004 */ addiu $s0, $s0, 4 -/* 00A240 70009640 0202082B */ sltu $at, $s0, $v0 -/* 00A244 70009644 356C000F */ ori $t4, $t3, 0xf -/* 00A248 70009648 398D000F */ xori $t5, $t4, 0xf -/* 00A24C 7000964C 1420FFFA */ bnez $at, .L70009638 -/* 00A250 70009650 AE0DFFFC */ sw $t5, -4($s0) -/* 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(memory_bank_ptrs+0x14) -/* 00A264 70009664 03067021 */ addu $t6, $t8, $a2 -/* 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(memory_bank_ptrs+0x18)($at) -/* 00A27C 7000967C 8FA80068 */ lw $t0, 0x68($sp) -/* 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(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 -/* 00A2A4 700096A4 00075080 */ sll $t2, $a3, 2 -/* 00A2A8 700096A8 024A8021 */ addu $s0, $s2, $t2 -/* 00A2AC 700096AC 8E180008 */ lw $t8, 8($s0) -/* 00A2B0 700096B0 8E0E000C */ lw $t6, 0xc($s0) -/* 00A2B4 700096B4 8E0D0004 */ lw $t5, 4($s0) -/* 00A2B8 700096B8 8E0F0010 */ lw $t7, 0x10($s0) -/* 00A2BC 700096BC 8E0B0000 */ lw $t3, ($s0) -/* 00A2C0 700096C0 03062021 */ addu $a0, $t8, $a2 -/* 00A2C4 700096C4 01C62821 */ addu $a1, $t6, $a2 -/* 00A2C8 700096C8 01A61821 */ addu $v1, $t5, $a2 -/* 00A2CC 700096CC 01E64021 */ addu $t0, $t7, $a2 -/* 00A2D0 700096D0 01666021 */ addu $t4, $t3, $a2 -/* 00A2D4 700096D4 AC480048 */ sw $t0, 0x48($v0) -/* 00A2D8 700096D8 AC430020 */ sw $v1, 0x20($v0) -/* 00A2DC 700096DC AC450038 */ sw $a1, 0x38($v0) -/* 00A2E0 700096E0 AC450040 */ sw $a1, 0x40($v0) -/* 00A2E4 700096E4 AC440028 */ sw $a0, 0x28($v0) -/* 00A2E8 700096E8 AC440030 */ sw $a0, 0x30($v0) -/* 00A2EC 700096EC AC400024 */ sw $zero, 0x24($v0) -/* 00A2F0 700096F0 AC400034 */ sw $zero, 0x34($v0) -/* 00A2F4 700096F4 AC400044 */ sw $zero, 0x44($v0) -/* 00A2F8 700096F8 AC4C0010 */ sw $t4, 0x10($v0) -/* 00A2FC 700096FC AC400014 */ sw $zero, 0x14($v0) -/* 00A300 70009700 AC430018 */ sw $v1, 0x18($v0) -/* 00A304 70009704 8FBF0024 */ lw $ra, 0x24($sp) -/* 00A308 70009708 8FB30020 */ lw $s3, 0x20($sp) -/* 00A30C 7000970C 8FB2001C */ lw $s2, 0x1c($sp) -/* 00A310 70009710 8FB10018 */ lw $s1, 0x18($sp) -/* 00A314 70009714 8FB00014 */ lw $s0, 0x14($sp) -/* 00A318 70009718 03E00008 */ jr $ra -/* 00A31C 7000971C 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - -/** - * A320 70009720 - * V0=p->A0 bytes of memory allocated in bank A1; fries: AT,V0,V1,A0,A1,A2,A3,T0,T2,T5,T6,T7,T8,T9 - * accepts: A0=size, A1=bank - */ -#ifdef NONMATCHING -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 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(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 -/* 00A344 70009744 0007C100 */ sll $t8, $a3, 4 -.L70009748: -/* 00A348 70009748 00B81821 */ addu $v1, $a1, $t8 -/* 00A34C 7000974C 8C620004 */ lw $v0, 4($v1) -/* 00A350 70009750 14400006 */ bnez $v0, .L7000976C -/* 00A354 70009754 00404025 */ move $t0, $v0 -/* 00A358 70009758 24190001 */ li $t9, 1 -/* 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 -.L7000976C: -/* 00A36C 7000976C 8C640008 */ lw $a0, 8($v1) -/* 00A370 70009770 00466821 */ addu $t5, $v0, $a2 -/* 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_mempLoopAllMemBanks -/* 00A384 70009784 24070006 */ li $a3, 6 -.L70009788: -/* 00A388 70009788 1000FFFF */ b .L70009788 -/* 00A38C 7000978C 00000000 */ nop -/* 00A390 70009790 008D082B */ sltu $at, $a0, $t5 -.L70009794: -/* 00A394 70009794 50200014 */ beql $at, $zero, .L700097E8 -/* 00A398 70009798 00466821 */ addu $t5, $v0, $a2 -/* 00A39C 7000979C 8CAF0064 */ lw $t7, 0x64($a1) -/* 00A3A0 700097A0 8CAE0068 */ lw $t6, 0x68($a1) -/* 00A3A4 700097A4 24070006 */ li $a3, 6 -/* 00A3A8 700097A8 01E6C021 */ addu $t8, $t7, $a2 -/* 00A3AC 700097AC 01D8082B */ sltu $at, $t6, $t8 -/* 00A3B0 700097B0 14200008 */ bnez $at, .L700097D4 -/* 00A3B4 700097B4 00000000 */ nop -/* 00A3B8 700097B8 8D420000 */ lw $v0, ($t2) -/* 00A3BC 700097BC 24190001 */ li $t9, 1 -/* 00A3C0 700097C0 AD590000 */ sw $t9, ($t2) -/* 00A3C4 700097C4 5440FFE0 */ bnezl $v0, .L70009748 -/* 00A3C8 700097C8 0007C100 */ sll $t8, $a3, 4 -/* 00A3CC 700097CC 1000FFDE */ b .L70009748 -/* 00A3D0 700097D0 0007C100 */ sll $t8, $a3, 4 -.L700097D4: -/* 00A3D4 700097D4 0C00263C */ jal nulled_mempLoopAllMemBanks -/* 00A3D8 700097D8 00000000 */ nop -.L700097DC: -/* 00A3DC 700097DC 1000FFFF */ b .L700097DC -/* 00A3E0 700097E0 00000000 */ nop -/* 00A3E4 700097E4 00466821 */ addu $t5, $v0, $a2 -.L700097E8: -/* 00A3E8 700097E8 AC6D0004 */ sw $t5, 4($v1) -/* 00A3EC 700097EC AC68000C */ sw $t0, 0xc($v1) -/* 00A3F0 700097F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 00A3F4 700097F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00A3F8 700097F8 01001025 */ move $v0, $t0 -/* 00A3FC 700097FC 03E00008 */ jr $ra -/* 00A400 70009800 00000000 */ nop -) -#endif - - - -/** - * A404 70009804 - * ???; updates bank A2 size registry in light of entry at A0 of size A1 - * accepts: A0=p->allocated data, A1=size of data, A2=bank# - */ -#ifdef NONMATCHING -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 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 -/* 00A418 70009818 01C03025 */ move $a2, $t6 -/* 00A41C 7000981C AFBF0014 */ sw $ra, 0x14($sp) -/* 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(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 -.L70009840: -/* 00A440 70009840 3C0A8006 */ lui $t2, %hi(memory_bank_ptrs) -/* 00A444 70009844 254A3BB0 */ addiu $t2, %lo(memory_bank_ptrs) # addiu $t2, $t2, 0x3bb0 -/* 00A448 70009848 0006C900 */ sll $t9, $a2, 4 -/* 00A44C 7000984C 032A2821 */ addu $a1, $t9, $t2 -/* 00A450 70009850 8CA40004 */ lw $a0, 4($a1) -/* 00A454 70009854 54800004 */ bnezl $a0, .L70009868 -/* 00A458 70009858 8CA6000C */ lw $a2, 0xc($a1) -.L7000985C: -/* 00A45C 7000985C 1000FFFF */ b .L7000985C -/* 00A460 70009860 00000000 */ nop -/* 00A464 70009864 8CA6000C */ lw $a2, 0xc($a1) -.L70009868: -/* 00A468 70009868 8FAB001C */ lw $t3, 0x1c($sp) -/* 00A46C 7000986C 50E60004 */ beql $a3, $a2, .L70009880 -/* 00A470 70009870 00861023 */ subu $v0, $a0, $a2 -/* 00A474 70009874 1000001A */ b .L700098E0 -/* 00A478 70009878 24020002 */ li $v0, 2 -/* 00A47C 7000987C 00861023 */ subu $v0, $a0, $a2 -.L70009880: -/* 00A480 70009880 01621823 */ subu $v1, $t3, $v0 -/* 00A484 70009884 1C600004 */ bgtz $v1, .L70009898 -/* 00A488 70009888 00836021 */ addu $t4, $a0, $v1 -/* 00A48C 7000988C ACAC0004 */ sw $t4, 4($a1) -/* 00A490 70009890 10000013 */ b .L700098E0 -/* 00A494 70009894 24020001 */ li $v0, 1 -.L70009898: -/* 00A498 70009898 8CA20008 */ lw $v0, 8($a1) -/* 00A49C 7000989C 00836821 */ addu $t5, $a0, $v1 -/* 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_mempLoopAllMemBanks -/* 00A4B0 700098B0 24060006 */ li $a2, 6 -.L700098B4: -/* 00A4B4 700098B4 1000FFFF */ b .L700098B4 -/* 00A4B8 700098B8 00000000 */ nop -/* 00A4BC 700098BC 004D082B */ sltu $at, $v0, $t5 -.L700098C0: -/* 00A4C0 700098C0 10200005 */ beqz $at, .L700098D8 -/* 00A4C4 700098C4 00837021 */ addu $t6, $a0, $v1 -/* 00A4C8 700098C8 0C00263C */ jal nulled_mempLoopAllMemBanks -/* 00A4CC 700098CC 24060006 */ li $a2, 6 -.L700098D0: -/* 00A4D0 700098D0 1000FFFF */ b .L700098D0 -/* 00A4D4 700098D4 00000000 */ nop -.L700098D8: -/* 00A4D8 700098D8 ACAE0004 */ sw $t6, 4($a1) -/* 00A4DC 700098DC 24020001 */ li $v0, 1 -.L700098E0: -/* 00A4E0 700098E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 00A4E4 700098E4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00A4E8 700098E8 03E00008 */ jr $ra -/* 00A4EC 700098EC 00000000 */ nop -) -#endif - - - -/** - * A4F0 700098F0 - * V0=8 -- loop eight times, needlessly; fries AT,T6 - * used by "show mem use", step 1; probably originally listed all eight memory allocations - */ - -void nulled_mempLoopAllMemBanks(void) -{ - s32 bank; - for (bank = 1; bank < 7; bank = (bank + 1) & 0xff) - { - ; - }; -} - -/** - * A510 70009910 - * V0= total allocated size of bank A0 - * accepts: A0=bank# - */ -s32 mempGetBankSizeLeft(u8 bank) -{ - if (needmemallocation != 0) { - bank = 6; - } - if ((bank == 4) && (memory_bank_ptrs[4].bankstart == memory_bank_ptrs[4].bankend)) { - bank = 6; - } - return memory_bank_ptrs[bank].bankend - memory_bank_ptrs[bank].nextentry; -} - - - - - -/** - * A570 70009970 - * allocate A0 coded #bytes in bank - * accepts: A0=size/bank# entry (ssssssss ssssssss sssssssss sssssbbb) - */ -#ifdef NONMATCHING -u32 mempAllocPackedBytesInBank(u32 param_1) -{ - return mempAllocBytesInBank((param_1 >> 3),(param_1 & 7)); -} -#else -GLOBAL_ASM( -.text -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 mempAllocBytesInBank -/* 00A588 70009988 000420C2 */ srl $a0, $a0, 3 -/* 00A58C 7000998C 8FBF0014 */ lw $ra, 0x14($sp) -/* 00A590 70009990 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00A594 70009994 03E00008 */ jr $ra -/* 00A598 70009998 00000000 */ nop -) -#endif - - - - - -/** - * A59C 7000999C - * reset memory bank A0 [0-6] - * copies base address for memory bank A0 to +4, fry +C - */ -void mempResetBank(u8 bank) -{ - memory_bank_ptrs[bank].data2 = 0; - memory_bank_ptrs[bank].nextentry = memory_bank_ptrs[bank].bankstart; -} - -/** - * A5C4 700099C4 - * accepts: A0=bank# - */ -void mempNullNextEntryInBank(u8 bank) -{ - nulled_mempLoopAllMemBanks(); - if (memory_bank_ptrs[bank].nextentry != 0) { - memory_bank_ptrs[bank].nextentry = 0; - } -} diff --git a/src/memp.h b/src/memp.h deleted file mode 100644 index 9f15ea0..0000000 --- a/src/memp.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef _MEMP_H_ -#define _MEMP_H_ - -#include "ultra64.h" - -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 deleted file mode 100644 index b68f55d..0000000 --- a/src/music.c +++ /dev/null @@ -1,2138 +0,0 @@ -#include "ultra64.h" -#include "ramrom.h" -#include "snd.h" - -/** - * @file music.c - * This file contains code to handle music. - */ - -s32 music_unused = 0; -s32 music1_track_num = 0; -u16 music1len = 0x7FFF; -s32 music2_track_num = 0; -u16 music2len = 0x7FFF; -s32 music3_track_num = 0; -u16 music3len = 0x7FFF; -s32 music1_playing = 0; -s32 music2_playing = 0; -s32 music3_playing = 0; -s16 music_tempo_array[] = { -0x6665,0x7332,0x7332,0x7998,0x7332,0x5998,0x6665,0x6665,0x6665,0x6665,0x7332, -0x6665,0x7332,0x6665,0x6665,0x7332,0x7332,0x6665,0x3FFF,0x6665,0x6665, -0x3FFF,0x6665,0x6665,0x6665,0x6665,0x6665,0x7998,0x6665,0x5998,0x6665, -0x6665,0x6665,0x6665,0x6665,0x6665,0x6665,0x5998,0x6665,0x3332,0x6665, -0x7332,0x7332,0x5998,0x7332,0x6665,0x6665,0x6665,0x6665,0x6665,0x6665, -0x6665,0x6CCB,0x6665,0x6665,0x6665,0x6665,0x6665,0x6665,0x6665,0x7332, -0x6665,0x7332,0x7998,0xFFFF }; - - - - -/*not sure why this is called hp, maybe for heap? */ -u32 hp[4]; -u32 *ptr_sfx_buf; -s32 D_80063724; -s32 seqp_1; -s32 seqp_2; -s32 seqp_3; -void *ptr_musicdatatable; - -char D_80063738[0x80]; -char D_800637B8[0x7E]; -s16 D_80063836; -s32 D_80063838; -s32 D_8006383C; -s32 D_80063840; -s16 musicTrack1_length; -s16 D_80063846; -s16 D_80063848; -s16 music1_length; -s16 music2_length; -s16 music3_length; -s32 music1_rate; -s32 music2_rate; -s32 music3_rate; -s32 D_8006385C; -char D_80063860[0xF8]; -char D_80063958[0xF8]; -char D_80063A50[0x100]; -char D_80063B50[0x54]; -s32 D_80063BA4; -s32 D_80063BA8; - - - - -/** - * 75F0 700069F0 - */ -#ifdef NONMATCHING -s32 audio_related(void *arg0, s32 arg1) { - // Node 0 - if (*arg0 > 0) - { - loop_1: - // Node 1 - (arg0 + 8)->unk-4 = (s32) (arg0->unk4 + arg1); - if ((0 + 1) < *arg0) - { - goto loop_1; - } - } - // (possible return value: 0) -} - -#else -GLOBAL_ASM( -.text -glabel audio_related -/* 0075F0 700069F0 948E0000 */ lhu $t6, ($a0) -/* 0075F4 700069F4 00001025 */ move $v0, $zero -/* 0075F8 700069F8 00801825 */ move $v1, $a0 -/* 0075FC 700069FC 19C0000A */ blez $t6, .L70006A28 -/* 007600 70006A00 00000000 */ nop -/* 007604 70006A04 8C6F0004 */ lw $t7, 4($v1) -.L70006A08: -/* 007608 70006A08 24420001 */ addiu $v0, $v0, 1 -/* 00760C 70006A0C 24630008 */ addiu $v1, $v1, 8 -/* 007610 70006A10 01E5C021 */ addu $t8, $t7, $a1 -/* 007614 70006A14 AC78FFFC */ sw $t8, -4($v1) -/* 007618 70006A18 94990000 */ lhu $t9, ($a0) -/* 00761C 70006A1C 0059082A */ slt $at, $v0, $t9 -/* 007620 70006A20 5420FFF9 */ bnezl $at, .L70006A08 -/* 007624 70006A24 8C6F0004 */ lw $t7, 4($v1) -.L70006A28: -/* 007628 70006A28 03E00008 */ jr $ra -/* 00762C 70006A2C 00000000 */ nop -) -#endif - - -/** - * 7630 70006A30 - * loads sound and music banks into memory segment 6 - */ -#ifdef NONMATCHING -void setupaudio(void) { - s32 sp38; - s32 sp40; - ?32 sp50; - ?32 sp54; - s8 sp58; - ?32 sp60; - ?32 sp64; - ?32 sp68; - ?32 sp6C; - ?32 sp70; - s8 sp74; - ?32 sp7C; - ?32 sp80; - ?32 sp84; - ?32 sp88; - ?32 sp8C; - s8 sp90; - ?32 sp98; - ?32 sp9C; - ?32 spA0; - ?32 spA4; - ?32 spA8; - ?32 spAC; - ?32 spB4; - ?32 spBC; - s8 spC0; - s32 spCC; - s32 spD4; - ?32 spD8; - ?32 spDC; - ?32 spE0; - ? temp_ret; - u32 temp_v1; - s32 temp_v0; - ? temp_ret_2; - s32 temp_v0_2; - ? temp_ret_3; - ? temp_ret_4; - s32 temp_v1_2; - ? temp_ret_5; - ? temp_ret_6; - s16 temp_t4; - void *temp_a0; - void *temp_a1; - s32 temp_v0_3; - u32 phi_v1; - void *phi_a0; - void *phi_v1_2; - void *phi_a1; - - // Node 0 - if (bootswitch_sound == 0) - { - // Node 1 - temp_ret = mempAllocBytesInBank(0x2e000, 6); - phi_v1 = temp_ret; -loop_2: - // Node 2 - temp_v1 = (phi_v1 + 1); - temp_v1->unk-1 = (u8)0; - phi_v1 = temp_v1; - if (temp_v1 < (u32) (temp_ret + 0x2e000)) - { - goto loop_2; - } - // Node 3 - alHeapInit(&hp, temp_ret, 0x2e000); - temp_v0 = (&_sfxtblSegmentRomStart - &_sfxctlSegmentRomStart); - sp38 = temp_v0; - temp_ret_2 = alHeapDBAlloc(0, 0, &hp, 1, temp_v0); - spD4 = temp_ret_2; - romCopy(temp_ret_2, &_sfxctlSegmentRomStart, sp38); - alBnkfNew(spD4, &_sfxtblSegmentRomStart); - temp_v0_2 = (&_instrumentstblSegmentRomStart - &_instrumentsctlSegmentRomStart); - sp38 = temp_v0_2; - ptr_sfx_buf = (?32) spD4->unk4; - temp_ret_3 = alHeapDBAlloc(0, 0, &hp, 1, temp_v0_2); - spCC = temp_ret_3; - romCopy(temp_ret_3, &_instrumentsctlSegmentRomStart, sp38); - alBnkfNew(spCC, &_instrumentstblSegmentRomStart); - D_80063724 = (?32) spCC->unk4; - temp_ret_4 = alHeapDBAlloc(0, 0, &hp, 1, 0x10); - ptr_musicdatatable = temp_ret_4; - romCopy(temp_ret_4, &_musicsampletblSegmentRomStart, 0x10); - temp_v1_2 = ((*ptr_musicdatatable * 8) + 4); - sp40 = temp_v1_2; - temp_ret_5 = alHeapDBAlloc(0, 0, &hp, 1, temp_v1_2); - ptr_musicdatatable = temp_ret_5; - romCopy(temp_ret_5, sp38, (((temp_v1_2 + 0xf) | 0xf) ^ 0xf), &ptr_musicdatatable); - audio_related(ptr_musicdatatable, &_musicsampletblSegmentRomStart); - D_80063838 = alHeapDBAlloc(0, 0, &hp, 1, 0x18c8); - temp_ret_6 = alHeapDBAlloc(0, 0, &hp, 1, 0x1770); - D_8006383C = temp_ret_6; - D_80063840 = (s32) (temp_ret_6 + 0x7d0); - phi_a0 = (void *) ptr_musicdatatable; - phi_v1_2 = &D_80063738; - phi_a1 = &D_800637B8; -loop_4: - // Node 4 - temp_t4 = phi_a0->unk8; - temp_a0 = (phi_a0 + 8); - temp_a1 = (phi_a1 + 2); - *phi_v1_2 = temp_t4; - temp_v0_3 = (temp_t4 & 0xffff); - temp_a1->unk-2 = (s16) temp_a0->unk2; - if ((temp_v0_3 & 1) != 0) - { - // Node 5 - *phi_v1_2 = (s16) (temp_v0_3 + 1); - } - // Node 6 - phi_a0 = temp_a0; - phi_v1_2 = (phi_v1_2 + 2); - phi_a1 = temp_a1; - if (temp_a1 != &D_80063836) - { - goto loop_4; - } - // Node 7 - spA4 = 0; - spA8 = 0x18; - spAC = 0x80; - spB4 = 0; - spC0 = (u8)6; - spBC = 0; - amCreateAudioMgr(&spA4, temp_a1, &D_80063836, &D_8006383C); - - sp88 = 0x10; - sp8C = 0x40; - sp90 = (u8)0x10; - sp98 = 0; - sp9C = 0; - spA0 = 0; - - sp6C = 0x10; - sp70 = 0x40; - sp74 = (u8)0x10; - sp7C = 0; - sp80 = 0; - sp84 = 0; - - sp50 = 0x10; - sp54 = 0x40; - sp58 = (u8)0x10; - sp60 = 0; - sp64 = 0; - sp68 = 0; - seqp_1 = alHeapDBAlloc(0, 0, &hp, 1, 0x7c); - seqp_2 = alHeapDBAlloc(0, 0, &hp, 1, 0x7c); - seqp_3 = alHeapDBAlloc(0, 0, &hp, 1, 0x7c); - alCSPNew(seqp_1, &sp88); - alSeqpSetBank(seqp_1, D_80063724); - alCSPNew(seqp_2, &sp6C); - alSeqpSetBank(seqp_2, D_80063724); - alCSPNew(seqp_3, &sp50); - alSeqpSetBank(seqp_3, D_80063724); - spDC = 0x40; - spD8 = 0x40; - spE0 = 8; - sfx_c_70007B20(&spD8); - startaudiThread(); - } - // Node 8 - return; -} -#else -GLOBAL_ASM( -.text -glabel setupaudio -/* 007630 70006A30 3C0E8002 */ lui $t6, %hi(bootswitch_sound) -/* 007634 70006A34 81CE43F8 */ lb $t6, %lo(bootswitch_sound)($t6) -/* 007638 70006A38 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 00763C 70006A3C AFBF0024 */ sw $ra, 0x24($sp) -/* 007640 70006A40 15C00109 */ bnez $t6, .L70006E68 -/* 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 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 -/* 007660 70006A60 00401825 */ move $v1, $v0 -/* 007664 70006A64 00402825 */ move $a1, $v0 -/* 007668 70006A68 00412021 */ addu $a0, $v0, $at -.L70006A6C: -/* 00766C 70006A6C 24630001 */ addiu $v1, $v1, 1 -/* 007670 70006A70 0064082B */ sltu $at, $v1, $a0 -/* 007674 70006A74 1420FFFD */ bnez $at, .L70006A6C -/* 007678 70006A78 A060FFFF */ sb $zero, -1($v1) -/* 00767C 70006A7C 3C108006 */ lui $s0, %hi(hp) -/* 007680 70006A80 26103710 */ addiu $s0, %lo(hp) # addiu $s0, $s0, 0x3710 -/* 007684 70006A84 3C060002 */ lui $a2, (0x0002E000 >> 16) # lui $a2, 2 -/* 007688 70006A88 34C6E000 */ ori $a2, (0x0002E000 & 0xFFFF) # ori $a2, $a2, 0xe000 -/* 00768C 70006A8C 0C00434C */ jal alHeapInit -/* 007690 70006A90 02002025 */ move $a0, $s0 -/* 007694 70006A94 3C0F002F */ lui $t7, %hi(_sfxtblSegmentRomStart) # $t7, 0x2f -/* 007698 70006A98 3C18002F */ lui $t8, %hi(_sfxctlSegmentRomStart) # $t8, 0x2f -/* 00769C 70006A9C 2718BDE0 */ addiu $t8, %lo(_sfxctlSegmentRomStart) # addiu $t8, $t8, -0x4220 -/* 0076A0 70006AA0 25EF19A0 */ addiu $t7, %lo(_sfxtblSegmentRomStart) # addiu $t7, $t7, 0x19a0 -/* 0076A4 70006AA4 01F81023 */ subu $v0, $t7, $t8 -/* 0076A8 70006AA8 AFA20010 */ sw $v0, 0x10($sp) -/* 0076AC 70006AAC AFA20038 */ sw $v0, 0x38($sp) -/* 0076B0 70006AB0 00002025 */ move $a0, $zero -/* 0076B4 70006AB4 00002825 */ move $a1, $zero -/* 0076B8 70006AB8 02003025 */ move $a2, $s0 -/* 0076BC 70006ABC 0C003AD4 */ jal alHeapDBAlloc -/* 0076C0 70006AC0 24070001 */ li $a3, 1 -/* 0076C4 70006AC4 3C05002F */ lui $a1, %hi(_sfxctlSegmentRomStart) # $a1, 0x2f -/* 0076C8 70006AC8 AFA200D4 */ sw $v0, 0xd4($sp) -/* 0076CC 70006ACC 24A5BDE0 */ addiu $a1, %lo(_sfxctlSegmentRomStart) # addiu $a1, $a1, -0x4220 -/* 0076D0 70006AD0 00402025 */ move $a0, $v0 -/* 0076D4 70006AD4 0C001707 */ jal romCopy -/* 0076D8 70006AD8 8FA60038 */ lw $a2, 0x38($sp) -/* 0076DC 70006ADC 3C05002F */ lui $a1, %hi(_sfxtblSegmentRomStart) # $a1, 0x2f -/* 0076E0 70006AE0 24A519A0 */ addiu $a1, %lo(_sfxtblSegmentRomStart) # addiu $a1, $a1, 0x19a0 -/* 0076E4 70006AE4 0C00439D */ jal alBnkfNew -/* 0076E8 70006AE8 8FA400D4 */ lw $a0, 0xd4($sp) -/* 0076EC 70006AEC 8FB900D4 */ lw $t9, 0xd4($sp) -/* 0076F0 70006AF0 3C09003C */ lui $t1, %hi(_instrumentstblSegmentRomStart) # $t1, 0x3c -/* 0076F4 70006AF4 3C0A003B */ lui $t2, %hi(_instrumentsctlSegmentRomStart) # $t2, 0x3b -/* 0076F8 70006AF8 8F280004 */ lw $t0, 4($t9) -/* 0076FC 70006AFC 254A4450 */ addiu $t2, %lo(_instrumentsctlSegmentRomStart) # addiu $t2, $t2, 0x4450 -/* 007700 70006B00 252987F0 */ addiu $t1, %lo(_instrumentstblSegmentRomStart) # addiu $t1, $t1, -0x7810 -/* 007704 70006B04 3C018006 */ lui $at, %hi(ptr_sfx_buf) -/* 007708 70006B08 012A1023 */ subu $v0, $t1, $t2 -/* 00770C 70006B0C AFA20010 */ sw $v0, 0x10($sp) -/* 007710 70006B10 AFA20038 */ sw $v0, 0x38($sp) -/* 007714 70006B14 00002025 */ move $a0, $zero -/* 007718 70006B18 00002825 */ move $a1, $zero -/* 00771C 70006B1C 02003025 */ move $a2, $s0 -/* 007720 70006B20 24070001 */ li $a3, 1 -/* 007724 70006B24 0C003AD4 */ jal alHeapDBAlloc -/* 007728 70006B28 AC283720 */ sw $t0, %lo(ptr_sfx_buf)($at) -/* 00772C 70006B2C 3C05003B */ lui $a1, %hi(_instrumentsctlSegmentRomStart) # $a1, 0x3b -/* 007730 70006B30 AFA200CC */ sw $v0, 0xcc($sp) -/* 007734 70006B34 24A54450 */ addiu $a1, %lo(_instrumentsctlSegmentRomStart) # addiu $a1, $a1, 0x4450 -/* 007738 70006B38 00402025 */ move $a0, $v0 -/* 00773C 70006B3C 0C001707 */ jal romCopy -/* 007740 70006B40 8FA60038 */ lw $a2, 0x38($sp) -/* 007744 70006B44 3C05003C */ lui $a1, %hi(_instrumentstblSegmentRomStart) # $a1, 0x3c -/* 007748 70006B48 24A587F0 */ addiu $a1, %lo(_instrumentstblSegmentRomStart) # addiu $a1, $a1, -0x7810 -/* 00774C 70006B4C 0C00439D */ jal alBnkfNew -/* 007750 70006B50 8FA400CC */ lw $a0, 0xcc($sp) -/* 007754 70006B54 8FAB00CC */ lw $t3, 0xcc($sp) -/* 007758 70006B58 3C018006 */ lui $at, %hi(D_80063724) -/* 00775C 70006B5C 240D0010 */ li $t5, 16 -/* 007760 70006B60 8D6C0004 */ lw $t4, 4($t3) -/* 007764 70006B64 AFAD0010 */ sw $t5, 0x10($sp) -/* 007768 70006B68 00002025 */ move $a0, $zero -/* 00776C 70006B6C 00002825 */ move $a1, $zero -/* 007770 70006B70 02003025 */ move $a2, $s0 -/* 007774 70006B74 24070001 */ li $a3, 1 -/* 007778 70006B78 0C003AD4 */ jal alHeapDBAlloc -/* 00777C 70006B7C AC2C3724 */ sw $t4, %lo(D_80063724)($at) -/* 007780 70006B80 3C038006 */ lui $v1, %hi(ptr_musicdatatable) -/* 007784 70006B84 3C050042 */ lui $a1, %hi(_musicsampletblSegmentRomStart) # $a1, 0x42 -/* 007788 70006B88 24633734 */ addiu $v1, %lo(ptr_musicdatatable) # addiu $v1, $v1, 0x3734 -/* 00778C 70006B8C 24A59790 */ addiu $a1, %lo(_musicsampletblSegmentRomStart) # addiu $a1, $a1, -0x6870 -/* 007790 70006B90 AC620000 */ sw $v0, ($v1) -/* 007794 70006B94 AFA50038 */ sw $a1, 0x38($sp) -/* 007798 70006B98 00402025 */ move $a0, $v0 -/* 00779C 70006B9C 0C001707 */ jal romCopy -/* 0077A0 70006BA0 24060010 */ li $a2, 16 -/* 0077A4 70006BA4 3C0E8006 */ lui $t6, %hi(ptr_musicdatatable) -/* 0077A8 70006BA8 8DCE3734 */ lw $t6, %lo(ptr_musicdatatable)($t6) -/* 0077AC 70006BAC 00002025 */ move $a0, $zero -/* 0077B0 70006BB0 00002825 */ move $a1, $zero -/* 0077B4 70006BB4 95C30000 */ lhu $v1, ($t6) -/* 0077B8 70006BB8 02003025 */ move $a2, $s0 -/* 0077BC 70006BBC 24070001 */ li $a3, 1 -/* 0077C0 70006BC0 000378C0 */ sll $t7, $v1, 3 -/* 0077C4 70006BC4 25E30004 */ addiu $v1, $t7, 4 -/* 0077C8 70006BC8 AFA30010 */ sw $v1, 0x10($sp) -/* 0077CC 70006BCC 0C003AD4 */ jal alHeapDBAlloc -/* 0077D0 70006BD0 AFA30040 */ sw $v1, 0x40($sp) -/* 0077D4 70006BD4 8FA30040 */ lw $v1, 0x40($sp) -/* 0077D8 70006BD8 3C078006 */ lui $a3, %hi(ptr_musicdatatable) -/* 0077DC 70006BDC 24E73734 */ addiu $a3, %lo(ptr_musicdatatable) # addiu $a3, $a3, 0x3734 -/* 0077E0 70006BE0 2466000F */ addiu $a2, $v1, 0xf -/* 0077E4 70006BE4 34D8000F */ ori $t8, $a2, 0xf -/* 0077E8 70006BE8 ACE20000 */ sw $v0, ($a3) -/* 0077EC 70006BEC 3B06000F */ xori $a2, $t8, 0xf -/* 0077F0 70006BF0 00402025 */ move $a0, $v0 -/* 0077F4 70006BF4 0C001707 */ jal romCopy -/* 0077F8 70006BF8 8FA50038 */ lw $a1, 0x38($sp) -/* 0077FC 70006BFC 3C048006 */ lui $a0, %hi(ptr_musicdatatable) -/* 007800 70006C00 3C050042 */ lui $a1, %hi(_musicsampletblSegmentRomStart) # $a1, 0x42 -/* 007804 70006C04 24A59790 */ addiu $a1, %lo(_musicsampletblSegmentRomStart) # addiu $a1, $a1, -0x6870 -/* 007808 70006C08 0C001A7C */ jal audio_related -/* 00780C 70006C0C 8C843734 */ lw $a0, %lo(ptr_musicdatatable)($a0) -/* 007810 70006C10 240818C8 */ li $t0, 6344 -/* 007814 70006C14 AFA80010 */ sw $t0, 0x10($sp) -/* 007818 70006C18 00002025 */ move $a0, $zero -/* 00781C 70006C1C 00002825 */ move $a1, $zero -/* 007820 70006C20 02003025 */ move $a2, $s0 -/* 007824 70006C24 0C003AD4 */ jal alHeapDBAlloc -/* 007828 70006C28 24070001 */ li $a3, 1 -/* 00782C 70006C2C 3C018006 */ lui $at, %hi(D_80063838) -/* 007830 70006C30 24091770 */ li $t1, 6000 -/* 007834 70006C34 AC223838 */ sw $v0, %lo(D_80063838)($at) -/* 007838 70006C38 AFA90010 */ sw $t1, 0x10($sp) -/* 00783C 70006C3C 00002025 */ move $a0, $zero -/* 007840 70006C40 00002825 */ move $a1, $zero -/* 007844 70006C44 02003025 */ move $a2, $s0 -/* 007848 70006C48 0C003AD4 */ jal alHeapDBAlloc -/* 00784C 70006C4C 24070001 */ li $a3, 1 -/* 007850 70006C50 3C078006 */ lui $a3, %hi(D_8006383C) -/* 007854 70006C54 24E7383C */ addiu $a3, %lo(D_8006383C) # addiu $a3, $a3, 0x383c -/* 007858 70006C58 ACE20000 */ sw $v0, ($a3) -/* 00785C 70006C5C 244B07D0 */ addiu $t3, $v0, 0x7d0 -/* 007860 70006C60 3C018006 */ lui $at, %hi(D_80063840) -/* 007864 70006C64 3C038006 */ lui $v1, %hi(D_80063738) -/* 007868 70006C68 3C048006 */ lui $a0, %hi(ptr_musicdatatable) -/* 00786C 70006C6C 3C058006 */ lui $a1, %hi(D_800637B8) -/* 007870 70006C70 3C068006 */ lui $a2, %hi(D_80063836) -/* 007874 70006C74 AC2B3840 */ sw $t3, %lo(D_80063840)($at) -/* 007878 70006C78 24C63836 */ addiu $a2, %lo(D_80063836) # addiu $a2, $a2, 0x3836 -/* 00787C 70006C7C 24A537B8 */ addiu $a1, %lo(D_800637B8) # addiu $a1, $a1, 0x37b8 -/* 007880 70006C80 8C843734 */ lw $a0, %lo(ptr_musicdatatable)($a0) -/* 007884 70006C84 24633738 */ addiu $v1, %lo(D_80063738) # addiu $v1, $v1, 0x3738 -.L70006C88: -/* 007888 70006C88 948C0008 */ lhu $t4, 8($a0) -/* 00788C 70006C8C 24840008 */ addiu $a0, $a0, 8 -/* 007890 70006C90 24A50002 */ addiu $a1, $a1, 2 -/* 007894 70006C94 A46C0000 */ sh $t4, ($v1) -/* 007898 70006C98 948D0002 */ lhu $t5, 2($a0) -/* 00789C 70006C9C 3182FFFF */ andi $v0, $t4, 0xffff -/* 0078A0 70006CA0 304E0001 */ andi $t6, $v0, 1 -/* 0078A4 70006CA4 11C00003 */ beqz $t6, .L70006CB4 -/* 0078A8 70006CA8 A4ADFFFE */ sh $t5, -2($a1) -/* 0078AC 70006CAC 244F0001 */ addiu $t7, $v0, 1 -/* 0078B0 70006CB0 A46F0000 */ sh $t7, ($v1) -.L70006CB4: -/* 0078B4 70006CB4 14A6FFF4 */ bne $a1, $a2, .L70006C88 -/* 0078B8 70006CB8 24630002 */ addiu $v1, $v1, 2 -/* 0078BC 70006CBC 24180018 */ li $t8, 24 -/* 0078C0 70006CC0 24190080 */ li $t9, 128 -/* 0078C4 70006CC4 24080006 */ li $t0, 6 -/* 0078C8 70006CC8 AFA000A4 */ sw $zero, 0xa4($sp) -/* 0078CC 70006CCC AFB800A8 */ sw $t8, 0xa8($sp) -/* 0078D0 70006CD0 AFB900AC */ sw $t9, 0xac($sp) -/* 0078D4 70006CD4 AFA000B4 */ sw $zero, 0xb4($sp) -/* 0078D8 70006CD8 A3A800C0 */ sb $t0, 0xc0($sp) -/* 0078DC 70006CDC AFA000BC */ sw $zero, 0xbc($sp) -/* 0078E0 70006CE0 AFB000B8 */ sw $s0, 0xb8($sp) -/* 0078E4 70006CE4 0C0006F4 */ jal amCreateAudioMgr -/* 0078E8 70006CE8 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 0078EC 70006CEC 24090010 */ li $t1, 16 -/* 0078F0 70006CF0 240A0040 */ li $t2, 64 -/* 0078F4 70006CF4 240B0010 */ li $t3, 16 -/* 0078F8 70006CF8 240C0010 */ li $t4, 16 -/* 0078FC 70006CFC 240D0040 */ li $t5, 64 -/* 007900 70006D00 240E0010 */ li $t6, 16 -/* 007904 70006D04 240F0010 */ li $t7, 16 -/* 007908 70006D08 24180040 */ li $t8, 64 -/* 00790C 70006D0C 24190010 */ li $t9, 16 -/* 007910 70006D10 2408007C */ li $t0, 124 -/* 007914 70006D14 AFA90088 */ sw $t1, 0x88($sp) -/* 007918 70006D18 AFAA008C */ sw $t2, 0x8c($sp) -/* 00791C 70006D1C A3AB0090 */ sb $t3, 0x90($sp) -/* 007920 70006D20 AFB00094 */ sw $s0, 0x94($sp) -/* 007924 70006D24 AFA00098 */ sw $zero, 0x98($sp) -/* 007928 70006D28 AFA0009C */ sw $zero, 0x9c($sp) -/* 00792C 70006D2C AFA000A0 */ sw $zero, 0xa0($sp) -/* 007930 70006D30 AFAC006C */ sw $t4, 0x6c($sp) -/* 007934 70006D34 AFAD0070 */ sw $t5, 0x70($sp) -/* 007938 70006D38 A3AE0074 */ sb $t6, 0x74($sp) -/* 00793C 70006D3C AFB00078 */ sw $s0, 0x78($sp) -/* 007940 70006D40 AFA0007C */ sw $zero, 0x7c($sp) -/* 007944 70006D44 AFA00080 */ sw $zero, 0x80($sp) -/* 007948 70006D48 AFA00084 */ sw $zero, 0x84($sp) -/* 00794C 70006D4C AFAF0050 */ sw $t7, 0x50($sp) -/* 007950 70006D50 AFB80054 */ sw $t8, 0x54($sp) -/* 007954 70006D54 A3B90058 */ sb $t9, 0x58($sp) -/* 007958 70006D58 AFB0005C */ sw $s0, 0x5c($sp) -/* 00795C 70006D5C AFA00060 */ sw $zero, 0x60($sp) -/* 007960 70006D60 AFA00064 */ sw $zero, 0x64($sp) -/* 007964 70006D64 AFA00068 */ sw $zero, 0x68($sp) -/* 007968 70006D68 AFA80010 */ sw $t0, 0x10($sp) -/* 00796C 70006D6C 00002025 */ move $a0, $zero -/* 007970 70006D70 00002825 */ move $a1, $zero -/* 007974 70006D74 02003025 */ move $a2, $s0 -/* 007978 70006D78 0C003AD4 */ jal alHeapDBAlloc -/* 00797C 70006D7C 24070001 */ li $a3, 1 -/* 007980 70006D80 3C018006 */ lui $at, %hi(seqp_1) -/* 007984 70006D84 2409007C */ li $t1, 124 -/* 007988 70006D88 AC223728 */ sw $v0, %lo(seqp_1)($at) -/* 00798C 70006D8C AFA90010 */ sw $t1, 0x10($sp) -/* 007990 70006D90 00002025 */ move $a0, $zero -/* 007994 70006D94 00002825 */ move $a1, $zero -/* 007998 70006D98 02003025 */ move $a2, $s0 -/* 00799C 70006D9C 0C003AD4 */ jal alHeapDBAlloc -/* 0079A0 70006DA0 24070001 */ li $a3, 1 -/* 0079A4 70006DA4 3C018006 */ lui $at, %hi(seqp_2) -/* 0079A8 70006DA8 240A007C */ li $t2, 124 -/* 0079AC 70006DAC AC22372C */ sw $v0, %lo(seqp_2)($at) -/* 0079B0 70006DB0 AFAA0010 */ sw $t2, 0x10($sp) -/* 0079B4 70006DB4 00002025 */ move $a0, $zero -/* 0079B8 70006DB8 00002825 */ move $a1, $zero -/* 0079BC 70006DBC 02003025 */ move $a2, $s0 -/* 0079C0 70006DC0 0C003AD4 */ jal alHeapDBAlloc -/* 0079C4 70006DC4 24070001 */ li $a3, 1 -/* 0079C8 70006DC8 3C018006 */ lui $at, %hi(seqp_3) -/* 0079CC 70006DCC 3C048006 */ lui $a0, %hi(seqp_1) -/* 0079D0 70006DD0 AC223730 */ sw $v0, %lo(seqp_3)($at) -/* 0079D4 70006DD4 8C843728 */ lw $a0, %lo(seqp_1)($a0) -/* 0079D8 70006DD8 0C004820 */ jal alCSPNew -/* 0079DC 70006DDC 27A50088 */ addiu $a1, $sp, 0x88 -/* 0079E0 70006DE0 3C048006 */ lui $a0, %hi(seqp_1) -/* 0079E4 70006DE4 3C058006 */ lui $a1, %hi(D_80063724) -/* 0079E8 70006DE8 8CA53724 */ lw $a1, %lo(D_80063724)($a1) -/* 0079EC 70006DEC 0C00487C */ jal alSeqpSetBank -/* 0079F0 70006DF0 8C843728 */ lw $a0, %lo(seqp_1)($a0) -/* 0079F4 70006DF4 3C048006 */ lui $a0, %hi(seqp_2) -/* 0079F8 70006DF8 8C84372C */ lw $a0, %lo(seqp_2)($a0) -/* 0079FC 70006DFC 0C004820 */ jal alCSPNew -/* 007A00 70006E00 27A5006C */ addiu $a1, $sp, 0x6c -/* 007A04 70006E04 3C048006 */ lui $a0, %hi(seqp_2) -/* 007A08 70006E08 3C058006 */ lui $a1, %hi(D_80063724) -/* 007A0C 70006E0C 8CA53724 */ lw $a1, %lo(D_80063724)($a1) -/* 007A10 70006E10 0C00487C */ jal alSeqpSetBank -/* 007A14 70006E14 8C84372C */ lw $a0, %lo(seqp_2)($a0) -/* 007A18 70006E18 3C048006 */ lui $a0, %hi(seqp_3) -/* 007A1C 70006E1C 8C843730 */ lw $a0, %lo(seqp_3)($a0) -/* 007A20 70006E20 0C004820 */ jal alCSPNew -/* 007A24 70006E24 27A50050 */ addiu $a1, $sp, 0x50 -/* 007A28 70006E28 3C048006 */ lui $a0, %hi(seqp_3) -/* 007A2C 70006E2C 3C058006 */ lui $a1, %hi(D_80063724) -/* 007A30 70006E30 8CA53724 */ lw $a1, %lo(D_80063724)($a1) -/* 007A34 70006E34 0C00487C */ jal alSeqpSetBank -/* 007A38 70006E38 8C843730 */ lw $a0, %lo(seqp_3)($a0) -/* 007A3C 70006E3C 240B0040 */ li $t3, 64 -/* 007A40 70006E40 240C0040 */ li $t4, 64 -/* 007A44 70006E44 240D0008 */ li $t5, 8 -/* 007A48 70006E48 AFAB00DC */ sw $t3, 0xdc($sp) -/* 007A4C 70006E4C AFAC00D8 */ sw $t4, 0xd8($sp) -/* 007A50 70006E50 AFAD00E0 */ sw $t5, 0xe0($sp) -/* 007A54 70006E54 AFB000E4 */ sw $s0, 0xe4($sp) -/* 007A58 70006E58 0C001EC8 */ jal sfx_c_70007B20 -/* 007A5C 70006E5C 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 007A60 70006E60 0C0007D6 */ jal startaudiThread -/* 007A64 70006E64 00000000 */ nop -.L70006E68: -/* 007A68 70006E68 8FBF0024 */ lw $ra, 0x24($sp) -/* 007A6C 70006E6C 8FB00020 */ lw $s0, 0x20($sp) -/* 007A70 70006E70 27BD00E8 */ addiu $sp, $sp, 0xe8 -/* 007A74 70006E74 03E00008 */ jr $ra -/* 007A78 70006E78 00000000 */ nop -) -#endif - - -/** - * 7A7C 70006E7C - * play first music track A0 - */ -#ifdef NONMATCHING -void musicTrack1Play(s32 arg0, s32 arg852) { - ? sp34; - s32 sp2140; - void *temp_t2; - s32 temp_v0; - s32 temp_a2; - - // Node 0 - if (bootswitch_sound == 0) - { - // Node 1 - if (music1_track_num != 0) - { - // Node 2 - musicTrack1Stop(); - } - // Node 3 - music1_track_num = arg852; - if (alCSPGetState(seqp_1) != 0) - { - loop_4: - // Node 4 - if (alCSPGetState(seqp_1) != 0) - { - goto loop_4; - } - } - // Node 5 - temp_t2 = (ptr_musicdatatable + (music1_track_num * 8)); - temp_v0 = (music1_track_num * 2); - if ((u32) temp_t2->unk4 < 0x10000U) - { - // Node 6 - musicTrack1Play(1, temp_t2->unk4, music1_track_num); - return; - // (possible return value: musicTrack1Play(1, temp_t2->unk4, music1_track_num)) - } - // Node 7 - temp_a2 = (((*(&D_800637B8 + temp_v0) + 0xf) | 0xf) ^ 0xf); - sp2140 = (s32) D_80063838; - romCopy(((D_80063838 + (((((0x80060000 + temp_v0)->unk3738 + 0xf) | 0xf) ^ 0xf) + 0x40)) - temp_a2), temp_t2->unk4, temp_a2, music1_track_num); - decompressdata(sp28, sp2140, &sp34); - alCSeqNew(&D_80063860, D_80063838); - alCSPSetSeq(seqp_1, &D_80063860); - musicTrack1Vol((musicTrack1Length() & 0xffff)); - alCSPPlay(seqp_1); - } - // Node 8 - return; - // (function likely void) -} - -#else -GLOBAL_ASM( -.text -glabel musicTrack1Play -/* 007A7C 70006E7C 3C0E8002 */ lui $t6, %hi(bootswitch_sound) -/* 007A80 70006E80 81CE43F8 */ lb $t6, %lo(bootswitch_sound)($t6) -/* 007A84 70006E84 27BDDEB8 */ addiu $sp, $sp, -0x2148 -/* 007A88 70006E88 AFBF001C */ sw $ra, 0x1c($sp) -/* 007A8C 70006E8C AFB00018 */ sw $s0, 0x18($sp) -/* 007A90 70006E90 15C0004A */ bnez $t6, .L70006FBC -/* 007A94 70006E94 AFA42148 */ sw $a0, 0x2148($sp) -/* 007A98 70006E98 3C0F8002 */ lui $t7, %hi(music1_track_num) -/* 007A9C 70006E9C 8DEF4334 */ lw $t7, %lo(music1_track_num)($t7) -/* 007AA0 70006EA0 51E00004 */ beql $t7, $zero, .L70006EB4 -/* 007AA4 70006EA4 8FB82148 */ lw $t8, 0x2148($sp) -/* 007AA8 70006EA8 0C001BF4 */ jal musicTrack1Stop -/* 007AAC 70006EAC 00000000 */ nop -/* 007AB0 70006EB0 8FB82148 */ lw $t8, 0x2148($sp) -.L70006EB4: -/* 007AB4 70006EB4 3C108006 */ lui $s0, %hi(seqp_1) -/* 007AB8 70006EB8 3C018002 */ lui $at, %hi(music1_track_num) -/* 007ABC 70006EBC 26103728 */ addiu $s0, %lo(seqp_1) # addiu $s0, $s0, 0x3728 -/* 007AC0 70006EC0 AC384334 */ sw $t8, %lo(music1_track_num)($at) -/* 007AC4 70006EC4 0C00488C */ jal alCSPGetState -/* 007AC8 70006EC8 8E040000 */ lw $a0, ($s0) -/* 007ACC 70006ECC 10400005 */ beqz $v0, .L70006EE4 -/* 007AD0 70006ED0 00000000 */ nop -.L70006ED4: -/* 007AD4 70006ED4 0C00488C */ jal alCSPGetState -/* 007AD8 70006ED8 8E040000 */ lw $a0, ($s0) -/* 007ADC 70006EDC 1440FFFD */ bnez $v0, .L70006ED4 -/* 007AE0 70006EE0 00000000 */ nop -.L70006EE4: -/* 007AE4 70006EE4 3C078002 */ lui $a3, %hi(music1_track_num) -/* 007AE8 70006EE8 8CE74334 */ lw $a3, %lo(music1_track_num)($a3) -/* 007AEC 70006EEC 3C198006 */ lui $t9, %hi(ptr_musicdatatable) -/* 007AF0 70006EF0 8F393734 */ lw $t9, %lo(ptr_musicdatatable)($t9) -/* 007AF4 70006EF4 000748C0 */ sll $t1, $a3, 3 -/* 007AF8 70006EF8 3C010001 */ lui $at, 1 -/* 007AFC 70006EFC 03295021 */ addu $t2, $t9, $t1 -/* 007B00 70006F00 8D450004 */ lw $a1, 4($t2) -/* 007B04 70006F04 3C038006 */ lui $v1, %hi(D_80063738) -/* 007B08 70006F08 00071040 */ sll $v0, $a3, 1 -/* 007B0C 70006F0C 00A1082B */ sltu $at, $a1, $at -/* 007B10 70006F10 10200005 */ beqz $at, .L70006F28 -/* 007B14 70006F14 00621821 */ addu $v1, $v1, $v0 -/* 007B18 70006F18 0C001B9F */ jal musicTrack1Play -/* 007B1C 70006F1C 24040001 */ li $a0, 1 -/* 007B20 70006F20 10000027 */ b .L70006FC0 -/* 007B24 70006F24 8FBF001C */ lw $ra, 0x1c($sp) -.L70006F28: -/* 007B28 70006F28 94633738 */ lhu $v1, %lo(D_80063738)($v1) -/* 007B2C 70006F2C 3C068006 */ lui $a2, %hi(D_800637B8) -/* 007B30 70006F30 00C23021 */ addu $a2, $a2, $v0 -/* 007B34 70006F34 94C637B8 */ lhu $a2, %lo(D_800637B8)($a2) -/* 007B38 70006F38 3C088006 */ lui $t0, %hi(D_80063838) -/* 007B3C 70006F3C 2463000F */ addiu $v1, $v1, 0xf -/* 007B40 70006F40 8D083838 */ lw $t0, %lo(D_80063838)($t0) -/* 007B44 70006F44 346B000F */ ori $t3, $v1, 0xf -/* 007B48 70006F48 396C000F */ xori $t4, $t3, 0xf -/* 007B4C 70006F4C 24C6000F */ addiu $a2, $a2, 0xf -/* 007B50 70006F50 25830040 */ addiu $v1, $t4, 0x40 -/* 007B54 70006F54 34CD000F */ ori $t5, $a2, 0xf -/* 007B58 70006F58 39A6000F */ xori $a2, $t5, 0xf -/* 007B5C 70006F5C 01037821 */ addu $t7, $t0, $v1 -/* 007B60 70006F60 01E62023 */ subu $a0, $t7, $a2 -/* 007B64 70006F64 AFA40028 */ sw $a0, 0x28($sp) -/* 007B68 70006F68 0C001707 */ jal romCopy -/* 007B6C 70006F6C AFA82140 */ sw $t0, 0x2140($sp) -/* 007B70 70006F70 8FA40028 */ lw $a0, 0x28($sp) -/* 007B74 70006F74 8FA52140 */ lw $a1, 0x2140($sp) -/* 007B78 70006F78 0FC339FC */ jal decompressdata -/* 007B7C 70006F7C 27A60034 */ addiu $a2, $sp, 0x34 -/* 007B80 70006F80 3C048006 */ lui $a0, %hi(D_80063860) -/* 007B84 70006F84 3C058006 */ lui $a1, %hi(D_80063838) -/* 007B88 70006F88 8CA53838 */ lw $a1, %lo(D_80063838)($a1) -/* 007B8C 70006F8C 0C0049E7 */ jal alCSeqNew -/* 007B90 70006F90 24843860 */ addiu $a0, %lo(D_80063860) # addiu $a0, $a0, 0x3860 -/* 007B94 70006F94 3C058006 */ lui $a1, %hi(D_80063860) -/* 007B98 70006F98 24A53860 */ addiu $a1, %lo(D_80063860) # addiu $a1, $a1, 0x3860 -/* 007B9C 70006F9C 0C004B40 */ jal alCSPSetSeq -/* 007BA0 70006FA0 8E040000 */ lw $a0, ($s0) -/* 007BA4 70006FA4 0C001C0C */ jal musicTrack1Length -/* 007BA8 70006FA8 00000000 */ nop -/* 007BAC 70006FAC 0C001C0F */ jal musicTrack1Vol -/* 007BB0 70006FB0 3044FFFF */ andi $a0, $v0, 0xffff -/* 007BB4 70006FB4 0C004B50 */ jal alCSPPlay -/* 007BB8 70006FB8 8E040000 */ lw $a0, ($s0) -.L70006FBC: -/* 007BBC 70006FBC 8FBF001C */ lw $ra, 0x1c($sp) -.L70006FC0: -/* 007BC0 70006FC0 8FB00018 */ lw $s0, 0x18($sp) -/* 007BC4 70006FC4 27BD2148 */ addiu $sp, $sp, 0x2148 -/* 007BC8 70006FC8 03E00008 */ jr $ra -/* 007BCC 70006FCC 00000000 */ nop -) -#endif - -/** - * 7BD0 70006FD0 - * stop playing first music track - */ -void musicTrack1Stop(void) { - if (bootswitch_sound == 0) - { - music1_playing = 0; - if (music1_track_num != 0) - { - if (alCSPGetState(seqp_1) == 1) - { - alCSPStop(seqp_1); - } - } - music1_track_num = 0; - } -} - -/** - * 7C30 70007030 - * V0= [80024338] - */ -u16 musicTrack1Length(void) { - return music1len; -} - - - - - - -/** - * 7C3C 7000703C - * ??? - sets something for currently running music track... - * accepts: A0=value - */ -#ifdef NONMATCHING -void musicTrack1Vol(s32 arg0) { - s16 temp_a2; - - // Node 0 - temp_a2 = (arg0 & 0xffff); - music1len = temp_a2; - alCSPSetVol(seqp_1, ((s32) (((u32) (temp_a2 * *(&music_tempo_array + (music1_track_num * 2))) >> 0xf) << 0x10) >> 0x10), temp_a2); - return; - // (possible return value: alCSPSetVol(seqp_1, ((s32) (((u32) (temp_a2 * *(&music_tempo_array + (music1_track_num * 2))) >> 0xf) << 0x10) >> 0x10), temp_a2)) -} - -#else -GLOBAL_ASM( -.text -glabel musicTrack1Vol -/* 007C3C 7000703C 3C0E8002 */ lui $t6, %hi(music1_track_num) -/* 007C40 70007040 8DCE4334 */ lw $t6, %lo(music1_track_num)($t6) -/* 007C44 70007044 3C188002 */ lui $t8, %hi(music_tempo_array) -/* 007C48 70007048 3086FFFF */ andi $a2, $a0, 0xffff -/* 007C4C 7000704C 000E7840 */ sll $t7, $t6, 1 -/* 007C50 70007050 030FC021 */ addu $t8, $t8, $t7 -/* 007C54 70007054 87184358 */ lh $t8, %lo(music_tempo_array)($t8) -/* 007C58 70007058 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 007C5C 7000705C AFA40018 */ sw $a0, 0x18($sp) -/* 007C60 70007060 00D80019 */ multu $a2, $t8 -/* 007C64 70007064 AFBF0014 */ sw $ra, 0x14($sp) -/* 007C68 70007068 3C018002 */ lui $at, %hi(music1len) -/* 007C6C 7000706C 3C048006 */ lui $a0, %hi(seqp_1) -/* 007C70 70007070 A4264338 */ sh $a2, %lo(music1len)($at) -/* 007C74 70007074 8C843728 */ lw $a0, %lo(seqp_1)($a0) -/* 007C78 70007078 00001012 */ mflo $v0 -/* 007C7C 7000707C 0002CBC2 */ srl $t9, $v0, 0xf -/* 007C80 70007080 00192C00 */ sll $a1, $t9, 0x10 -/* 007C84 70007084 00054403 */ sra $t0, $a1, 0x10 -/* 007C88 70007088 0C004B68 */ jal alCSPSetVol -/* 007C8C 7000708C 01002825 */ move $a1, $t0 -/* 007C90 70007090 8FBF0014 */ lw $ra, 0x14($sp) -/* 007C94 70007094 27BD0018 */ addiu $sp, $sp, 0x18 -/* 007C98 70007098 03E00008 */ jr $ra -/* 007C9C 7000709C 00000000 */ nop -) -#endif - - - - - - - -/** - * 7CA0 700070A0 - */ -#ifdef NONMATCHING -void *musicTrack1Tempo(void) { - // Node 0 - *(&music_tempo_array + (music1_track_num * 2)) = musicTrack1Length(); - if (music_tempo_array >= 0) - { - loop_1: - // Node 1 - if (music_tempo_array.unk2 >= 0) - { - goto loop_1; - } - } - // (possible return value: &music_tempo_array) -} - -#else -GLOBAL_ASM( -.text -glabel musicTrack1Tempo -/* 007CA0 700070A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 007CA4 700070A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 007CA8 700070A8 0C001C0C */ jal musicTrack1Length -/* 007CAC 700070AC 00000000 */ nop -/* 007CB0 700070B0 3C0E8002 */ lui $t6, %hi(music1_track_num) -/* 007CB4 700070B4 8DCE4334 */ lw $t6, %lo(music1_track_num)($t6) -/* 007CB8 700070B8 3C048002 */ lui $a0, %hi(music_tempo_array) -/* 007CBC 700070BC 24844358 */ addiu $a0, %lo(music_tempo_array) # addiu $a0, $a0, 0x4358 -/* 007CC0 700070C0 000E7840 */ sll $t7, $t6, 1 -/* 007CC4 700070C4 008FC021 */ addu $t8, $a0, $t7 -/* 007CC8 700070C8 A7020000 */ sh $v0, ($t8) -/* 007CCC 700070CC 84990000 */ lh $t9, ($a0) -/* 007CD0 700070D0 3C028002 */ lui $v0, %hi(music_tempo_array) -/* 007CD4 700070D4 24424358 */ addiu $v0, %lo(music_tempo_array) # addiu $v0, $v0, 0x4358 -/* 007CD8 700070D8 07200005 */ bltz $t9, .L700070F0 -/* 007CDC 700070DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 007CE0 700070E0 84480002 */ lh $t0, 2($v0) -.L700070E4: -/* 007CE4 700070E4 24420002 */ addiu $v0, $v0, 2 -/* 007CE8 700070E8 0503FFFE */ bgezl $t0, .L700070E4 -/* 007CEC 700070EC 84480002 */ lh $t0, 2($v0) -.L700070F0: -/* 007CF0 700070F0 03E00008 */ jr $ra -/* 007CF4 700070F4 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - -/** - * 7CF8 700070F8 - */ -void music_related_1(f32 rate) { - if (music1_playing >= 0) - { - musicTrack1_length = musicTrack1Length(); - music1_length = 0; - music1_rate = (s32) (rate * 60.0f); - music1_playing = -1; - } -} - - - - - - -/** - * 7D68 70007168 - */ -#ifdef NONMATCHING -s16 music_related_3(f32 arg0, s32 arg1, f32 rate, s16 length) { - if (music1_playing <= 0) - { - alCSPPlay(seqp_1); - if (length == 0xffff) - { - music1_length = musicTrack1_length; - } - else - { - music1_length = length; - } - musicTrack1_length = (u16)0; - music1_rate = (s32) (rate * 60.0f); - music1_playing = 1; - } -} -#else -GLOBAL_ASM( -.text -glabel music_related_3 -/* 007D68 70007168 3C0E8002 */ lui $t6, %hi(music1_playing) -/* 007D6C 7000716C 8DCE434C */ lw $t6, %lo(music1_playing)($t6) -/* 007D70 70007170 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 007D74 70007174 AFBF0014 */ sw $ra, 0x14($sp) -/* 007D78 70007178 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 007D7C 7000717C 1DC0001D */ bgtz $t6, .L700071F4 -/* 007D80 70007180 AFA5001C */ sw $a1, 0x1c($sp) -/* 007D84 70007184 3C048006 */ lui $a0, %hi(seqp_1) -/* 007D88 70007188 0C004B50 */ jal alCSPPlay -/* 007D8C 7000718C 8C843728 */ lw $a0, %lo(seqp_1)($a0) -/* 007D90 70007190 97A2001E */ lhu $v0, 0x1e($sp) -/* 007D94 70007194 3401FFFF */ li $at, 65535 -/* 007D98 70007198 3C0F8006 */ lui $t7, %hi(musicTrack1_length) -/* 007D9C 7000719C 14410005 */ bne $v0, $at, .L700071B4 -/* 007DA0 700071A0 00000000 */ nop -/* 007DA4 700071A4 95EF3844 */ lhu $t7, %lo(musicTrack1_length)($t7) -/* 007DA8 700071A8 3C018006 */ lui $at, %hi(music1_length) -/* 007DAC 700071AC 10000003 */ b .L700071BC -/* 007DB0 700071B0 A42F384A */ sh $t7, %lo(music1_length)($at) -.L700071B4: -/* 007DB4 700071B4 3C018006 */ lui $at, %hi(music1_length) -/* 007DB8 700071B8 A422384A */ sh $v0, %lo(music1_length)($at) -.L700071BC: -/* 007DBC 700071BC 3C018006 */ lui $at, %hi(musicTrack1_length) -/* 007DC0 700071C0 A4203844 */ sh $zero, %lo(musicTrack1_length)($at) -/* 007DC4 700071C4 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 007DC8 700071C8 44813000 */ mtc1 $at, $f6 -/* 007DCC 700071CC C7A40018 */ lwc1 $f4, 0x18($sp) -/* 007DD0 700071D0 3C018006 */ lui $at, %hi(music1_rate) -/* 007DD4 700071D4 24080001 */ li $t0, 1 -/* 007DD8 700071D8 46062202 */ mul.s $f8, $f4, $f6 -/* 007DDC 700071DC 4600428D */ trunc.w.s $f10, $f8 -/* 007DE0 700071E0 44195000 */ mfc1 $t9, $f10 -/* 007DE4 700071E4 00000000 */ nop -/* 007DE8 700071E8 AC393850 */ sw $t9, %lo(music1_rate)($at) -/* 007DEC 700071EC 3C018002 */ lui $at, %hi(music1_playing) -/* 007DF0 700071F0 AC28434C */ sw $t0, %lo(music1_playing)($at) -.L700071F4: -/* 007DF4 700071F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 007DF8 700071F8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 007DFC 700071FC 03E00008 */ jr $ra -/* 007E00 70007200 00000000 */ nop -) -#endif - - - - - - -/** - * 7E04 70007204 - */ -#ifdef NONMATCHING -void musicTrack2Play(s32 arg0, s32 arg852) { - ? sp34; - s32 sp2140; - void *temp_t2; - s32 temp_v0; - s32 temp_a2; - - // Node 0 - if (bootswitch_sound == 0) - { - // Node 1 - if (music2_track_num != 0) - { - // Node 2 - musicTrack2Stop(); - } - // Node 3 - music2_track_num = arg852; - if (alCSPGetState(seqp_2) != 0) - { - loop_4: - // Node 4 - if (alCSPGetState(seqp_2) != 0) - { - goto loop_4; - } - } - // Node 5 - temp_t2 = (ptr_musicdatatable + (music2_track_num * 8)); - temp_v0 = (music2_track_num * 2); - if ((u32) temp_t2->unk4 < 0x10000U) - { - // Node 6 - musicTrack2Play(1, temp_t2->unk4, music2_track_num); - return; - // (possible return value: musicTrack2Play(1, temp_t2->unk4, music2_track_num)) - } - // Node 7 - temp_a2 = (((*(&D_800637B8 + temp_v0) + 0xf) | 0xf) ^ 0xf); - sp2140 = (s32) D_8006383C; - romCopy(((D_8006383C + (((((0x80060000 + temp_v0)->unk3738 + 0xf) | 0xf) ^ 0xf) + 0x40)) - temp_a2), temp_t2->unk4, temp_a2, music2_track_num); - decompressdata(sp28, sp2140, &sp34); - alCSeqNew(&D_80063958, D_8006383C); - alCSPSetSeq(seqp_2, &D_80063958); - musicTrack2Vol((musicTrack2Length() & 0xffff)); - alCSPPlay(seqp_2); - } - // Node 8 - return; - // (function likely void) -} - -#else -GLOBAL_ASM( -.text -glabel musicTrack2Play -/* 007E04 70007204 3C0E8002 */ lui $t6, %hi(bootswitch_sound) -/* 007E08 70007208 81CE43F8 */ lb $t6, %lo(bootswitch_sound)($t6) -/* 007E0C 7000720C 27BDDEB8 */ addiu $sp, $sp, -0x2148 -/* 007E10 70007210 AFBF001C */ sw $ra, 0x1c($sp) -/* 007E14 70007214 AFB00018 */ sw $s0, 0x18($sp) -/* 007E18 70007218 15C0004A */ bnez $t6, .L70007344 -/* 007E1C 7000721C AFA42148 */ sw $a0, 0x2148($sp) -/* 007E20 70007220 3C0F8002 */ lui $t7, %hi(music2_track_num) -/* 007E24 70007224 8DEF433C */ lw $t7, %lo(music2_track_num)($t7) -/* 007E28 70007228 51E00004 */ beql $t7, $zero, .L7000723C -/* 007E2C 7000722C 8FB82148 */ lw $t8, 0x2148($sp) -/* 007E30 70007230 0C001CD6 */ jal musicTrack2Stop -/* 007E34 70007234 00000000 */ nop -/* 007E38 70007238 8FB82148 */ lw $t8, 0x2148($sp) -.L7000723C: -/* 007E3C 7000723C 3C108006 */ lui $s0, %hi(seqp_2) -/* 007E40 70007240 3C018002 */ lui $at, %hi(music2_track_num) -/* 007E44 70007244 2610372C */ addiu $s0, %lo(seqp_2) # addiu $s0, $s0, 0x372c -/* 007E48 70007248 AC38433C */ sw $t8, %lo(music2_track_num)($at) -/* 007E4C 7000724C 0C00488C */ jal alCSPGetState -/* 007E50 70007250 8E040000 */ lw $a0, ($s0) -/* 007E54 70007254 10400005 */ beqz $v0, .L7000726C -/* 007E58 70007258 00000000 */ nop -.L7000725C: -/* 007E5C 7000725C 0C00488C */ jal alCSPGetState -/* 007E60 70007260 8E040000 */ lw $a0, ($s0) -/* 007E64 70007264 1440FFFD */ bnez $v0, .L7000725C -/* 007E68 70007268 00000000 */ nop -.L7000726C: -/* 007E6C 7000726C 3C078002 */ lui $a3, %hi(music2_track_num) -/* 007E70 70007270 8CE7433C */ lw $a3, %lo(music2_track_num)($a3) -/* 007E74 70007274 3C198006 */ lui $t9, %hi(ptr_musicdatatable) -/* 007E78 70007278 8F393734 */ lw $t9, %lo(ptr_musicdatatable)($t9) -/* 007E7C 7000727C 000748C0 */ sll $t1, $a3, 3 -/* 007E80 70007280 3C010001 */ lui $at, 1 -/* 007E84 70007284 03295021 */ addu $t2, $t9, $t1 -/* 007E88 70007288 8D450004 */ lw $a1, 4($t2) -/* 007E8C 7000728C 3C038006 */ lui $v1, %hi(D_80063738) -/* 007E90 70007290 00071040 */ sll $v0, $a3, 1 -/* 007E94 70007294 00A1082B */ sltu $at, $a1, $at -/* 007E98 70007298 10200005 */ beqz $at, .L700072B0 -/* 007E9C 7000729C 00621821 */ addu $v1, $v1, $v0 -/* 007EA0 700072A0 0C001C81 */ jal musicTrack2Play -/* 007EA4 700072A4 24040001 */ li $a0, 1 -/* 007EA8 700072A8 10000027 */ b .L70007348 -/* 007EAC 700072AC 8FBF001C */ lw $ra, 0x1c($sp) -.L700072B0: -/* 007EB0 700072B0 94633738 */ lhu $v1, %lo(D_80063738)($v1) -/* 007EB4 700072B4 3C068006 */ lui $a2, %hi(D_800637B8) -/* 007EB8 700072B8 00C23021 */ addu $a2, $a2, $v0 -/* 007EBC 700072BC 94C637B8 */ lhu $a2, %lo(D_800637B8)($a2) -/* 007EC0 700072C0 3C088006 */ lui $t0, %hi(D_8006383C) -/* 007EC4 700072C4 2463000F */ addiu $v1, $v1, 0xf -/* 007EC8 700072C8 8D08383C */ lw $t0, %lo(D_8006383C)($t0) -/* 007ECC 700072CC 346B000F */ ori $t3, $v1, 0xf -/* 007ED0 700072D0 396C000F */ xori $t4, $t3, 0xf -/* 007ED4 700072D4 24C6000F */ addiu $a2, $a2, 0xf -/* 007ED8 700072D8 25830040 */ addiu $v1, $t4, 0x40 -/* 007EDC 700072DC 34CD000F */ ori $t5, $a2, 0xf -/* 007EE0 700072E0 39A6000F */ xori $a2, $t5, 0xf -/* 007EE4 700072E4 01037821 */ addu $t7, $t0, $v1 -/* 007EE8 700072E8 01E62023 */ subu $a0, $t7, $a2 -/* 007EEC 700072EC AFA40028 */ sw $a0, 0x28($sp) -/* 007EF0 700072F0 0C001707 */ jal romCopy -/* 007EF4 700072F4 AFA82140 */ sw $t0, 0x2140($sp) -/* 007EF8 700072F8 8FA40028 */ lw $a0, 0x28($sp) -/* 007EFC 700072FC 8FA52140 */ lw $a1, 0x2140($sp) -/* 007F00 70007300 0FC339FC */ jal decompressdata -/* 007F04 70007304 27A60034 */ addiu $a2, $sp, 0x34 -/* 007F08 70007308 3C048006 */ lui $a0, %hi(D_80063958) -/* 007F0C 7000730C 3C058006 */ lui $a1, %hi(D_8006383C) -/* 007F10 70007310 8CA5383C */ lw $a1, %lo(D_8006383C)($a1) -/* 007F14 70007314 0C0049E7 */ jal alCSeqNew -/* 007F18 70007318 24843958 */ addiu $a0, %lo(D_80063958) # addiu $a0, $a0, 0x3958 -/* 007F1C 7000731C 3C058006 */ lui $a1, %hi(D_80063958) -/* 007F20 70007320 24A53958 */ addiu $a1, %lo(D_80063958) # addiu $a1, $a1, 0x3958 -/* 007F24 70007324 0C004B40 */ jal alCSPSetSeq -/* 007F28 70007328 8E040000 */ lw $a0, ($s0) -/* 007F2C 7000732C 0C001CEE */ jal musicTrack2Length -/* 007F30 70007330 00000000 */ nop -/* 007F34 70007334 0C001CF1 */ jal musicTrack2Vol -/* 007F38 70007338 3044FFFF */ andi $a0, $v0, 0xffff -/* 007F3C 7000733C 0C004B50 */ jal alCSPPlay -/* 007F40 70007340 8E040000 */ lw $a0, ($s0) -.L70007344: -/* 007F44 70007344 8FBF001C */ lw $ra, 0x1c($sp) -.L70007348: -/* 007F48 70007348 8FB00018 */ lw $s0, 0x18($sp) -/* 007F4C 7000734C 27BD2148 */ addiu $sp, $sp, 0x2148 -/* 007F50 70007350 03E00008 */ jr $ra -/* 007F54 70007354 00000000 */ nop -) -#endif - - -/** - * 7F58 70007358 - */ -#ifdef NONMATCHING -void musicTrack2Stop(void) { - // Node 0 - if (bootswitch_sound == 0) - { - // Node 1 - music2_playing = 0; - if (music2_track_num != 0) - { - // Node 2 - if (alCSPGetState(seqp_2) == 1) - { - // Node 3 - alCSPStop(seqp_2); - } - } - // Node 4 - music2_track_num = 0; - return; - // (function likely void) - } - // (function likely void) -} -#else -GLOBAL_ASM( -.text -glabel musicTrack2Stop -/* 007F58 70007358 3C0E8002 */ lui $t6, %hi(bootswitch_sound) -/* 007F5C 7000735C 81CE43F8 */ lb $t6, %lo(bootswitch_sound)($t6) -/* 007F60 70007360 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 007F64 70007364 AFBF0014 */ sw $ra, 0x14($sp) -/* 007F68 70007368 15C0000F */ bnez $t6, .L700073A8 -/* 007F6C 7000736C 3C0F8002 */ lui $t7, %hi(music2_track_num) -/* 007F70 70007370 8DEF433C */ lw $t7, %lo(music2_track_num)($t7) -/* 007F74 70007374 3C018002 */ lui $at, %hi(music2_playing) -/* 007F78 70007378 AC204350 */ sw $zero, %lo(music2_playing)($at) -/* 007F7C 7000737C 11E00008 */ beqz $t7, .L700073A0 -/* 007F80 70007380 3C048006 */ lui $a0, %hi(seqp_2) -/* 007F84 70007384 0C00488C */ jal alCSPGetState -/* 007F88 70007388 8C84372C */ lw $a0, %lo(seqp_2)($a0) -/* 007F8C 7000738C 24010001 */ li $at, 1 -/* 007F90 70007390 14410003 */ bne $v0, $at, .L700073A0 -/* 007F94 70007394 3C048006 */ lui $a0, %hi(seqp_2) -/* 007F98 70007398 0C004B5C */ jal alCSPStop -/* 007F9C 7000739C 8C84372C */ lw $a0, %lo(seqp_2)($a0) -.L700073A0: -/* 007FA0 700073A0 3C018002 */ lui $at, %hi(music2_track_num) -/* 007FA4 700073A4 AC20433C */ sw $zero, %lo(music2_track_num)($at) -.L700073A8: -/* 007FA8 700073A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 007FAC 700073AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 007FB0 700073B0 03E00008 */ jr $ra -/* 007FB4 700073B4 00000000 */ nop -) -#endif - - - - - - - - -/** - * 7FB8 700073B8 - * V0= [80024340] - */ -u16 musicTrack2Length(void) { - return music2len; -} - - - - - - - -/** - * 7FC4 700073C4 - */ -#ifdef NONMATCHING -void musicTrack2Vol(s32 arg0) { - s16 temp_a2; - - // Node 0 - temp_a2 = (arg0 & 0xffff); - music2len = temp_a2; - return alCSPSetVol(seqp_2, ((s32) (((u32) (temp_a2 * *(&music_tempo_array + (music2_track_num * 2))) >> 0xf) << 0x10) >> 0x10), temp_a2); -} - -#else -GLOBAL_ASM( -.text -glabel musicTrack2Vol -/* 007FC4 700073C4 3C0E8002 */ lui $t6, %hi(music2_track_num) -/* 007FC8 700073C8 8DCE433C */ lw $t6, %lo(music2_track_num)($t6) -/* 007FCC 700073CC 3C188002 */ lui $t8, %hi(music_tempo_array) -/* 007FD0 700073D0 3086FFFF */ andi $a2, $a0, 0xffff -/* 007FD4 700073D4 000E7840 */ sll $t7, $t6, 1 -/* 007FD8 700073D8 030FC021 */ addu $t8, $t8, $t7 -/* 007FDC 700073DC 87184358 */ lh $t8, %lo(music_tempo_array)($t8) -/* 007FE0 700073E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 007FE4 700073E4 AFA40018 */ sw $a0, 0x18($sp) -/* 007FE8 700073E8 00D80019 */ multu $a2, $t8 -/* 007FEC 700073EC AFBF0014 */ sw $ra, 0x14($sp) -/* 007FF0 700073F0 3C018002 */ lui $at, %hi(music2len) -/* 007FF4 700073F4 3C048006 */ lui $a0, %hi(seqp_2) -/* 007FF8 700073F8 A4264340 */ sh $a2, %lo(music2len)($at) -/* 007FFC 700073FC 8C84372C */ lw $a0, %lo(seqp_2)($a0) -/* 008000 70007400 00001012 */ mflo $v0 -/* 008004 70007404 0002CBC2 */ srl $t9, $v0, 0xf -/* 008008 70007408 00192C00 */ sll $a1, $t9, 0x10 -/* 00800C 7000740C 00054403 */ sra $t0, $a1, 0x10 -/* 008010 70007410 0C004B68 */ jal alCSPSetVol -/* 008014 70007414 01002825 */ move $a1, $t0 -/* 008018 70007418 8FBF0014 */ lw $ra, 0x14($sp) -/* 00801C 7000741C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 008020 70007420 03E00008 */ jr $ra -/* 008024 70007424 00000000 */ nop -) -#endif - - - - - - - -/** - * 8028 70007428 - */ -#ifdef NONMATCHING -void *musicTrack2Tempo(void) { - void *phi_v0; - - // Node 0 - *(&music_tempo_array + (music2_track_num * 2)) = musicTrack2Length(); - phi_v0 = &music_tempo_array; - if (music_tempo_array >= 0) - { - loop_1: - // Node 1 - phi_v0 = (phi_v0 + 2); - if (phi_v0->unk2 >= 0) - { - goto loop_1; - } - } - // Node 2 - return &music_tempo_array; -} -#else -GLOBAL_ASM( -.text -glabel musicTrack2Tempo -/* 008028 70007428 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00802C 7000742C AFBF0014 */ sw $ra, 0x14($sp) -/* 008030 70007430 0C001CEE */ jal musicTrack2Length -/* 008034 70007434 00000000 */ nop -/* 008038 70007438 3C0E8002 */ lui $t6, %hi(music2_track_num) -/* 00803C 7000743C 8DCE433C */ lw $t6, %lo(music2_track_num)($t6) -/* 008040 70007440 3C048002 */ lui $a0, %hi(music_tempo_array) -/* 008044 70007444 24844358 */ addiu $a0, %lo(music_tempo_array) # addiu $a0, $a0, 0x4358 -/* 008048 70007448 000E7840 */ sll $t7, $t6, 1 -/* 00804C 7000744C 008FC021 */ addu $t8, $a0, $t7 -/* 008050 70007450 A7020000 */ sh $v0, ($t8) -/* 008054 70007454 84990000 */ lh $t9, ($a0) -/* 008058 70007458 3C028002 */ lui $v0, %hi(music_tempo_array) -/* 00805C 7000745C 24424358 */ addiu $v0, %lo(music_tempo_array) # addiu $v0, $v0, 0x4358 -/* 008060 70007460 07200005 */ bltz $t9, .L70007478 -/* 008064 70007464 8FBF0014 */ lw $ra, 0x14($sp) -/* 008068 70007468 84480002 */ lh $t0, 2($v0) -.L7000746C: -/* 00806C 7000746C 24420002 */ addiu $v0, $v0, 2 -/* 008070 70007470 0503FFFE */ bgezl $t0, .L7000746C -/* 008074 70007474 84480002 */ lh $t0, 2($v0) -.L70007478: -/* 008078 70007478 03E00008 */ jr $ra -/* 00807C 7000747C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - -/** - * 8080 70007480 - */ -#ifdef NONMATCHING -void music_related_6(f32 arg0) { - // Node 0 - if (music2_playing >= 0) - { - // Node 1 - D_80063846 = musicTrack2Length(); - music2_length = (u16)0; - music2_rate = (s32) (arg0 * 60.0f); - music2_playing = -1; - } - // Node 2 - return; -} -#else -GLOBAL_ASM( -.text -glabel music_related_6 -/* 008080 70007480 3C0E8002 */ lui $t6, %hi(music2_playing) -/* 008084 70007484 8DCE4350 */ lw $t6, %lo(music2_playing)($t6) -/* 008088 70007488 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00808C 7000748C AFBF0014 */ sw $ra, 0x14($sp) -/* 008090 70007490 05C00013 */ bltz $t6, .L700074E0 -/* 008094 70007494 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 008098 70007498 0C001CEE */ jal musicTrack2Length -/* 00809C 7000749C 00000000 */ nop -/* 0080A0 700074A0 3C018006 */ lui $at, %hi(D_80063846) -/* 0080A4 700074A4 A4223846 */ sh $v0, %lo(D_80063846)($at) -/* 0080A8 700074A8 3C018006 */ lui $at, %hi(music2_length) -/* 0080AC 700074AC A420384C */ sh $zero, %lo(music2_length)($at) -/* 0080B0 700074B0 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0080B4 700074B4 44813000 */ mtc1 $at, $f6 -/* 0080B8 700074B8 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0080BC 700074BC 3C018006 */ lui $at, %hi(music2_rate) -/* 0080C0 700074C0 2419FFFF */ li $t9, -1 -/* 0080C4 700074C4 46062202 */ mul.s $f8, $f4, $f6 -/* 0080C8 700074C8 4600428D */ trunc.w.s $f10, $f8 -/* 0080CC 700074CC 44185000 */ mfc1 $t8, $f10 -/* 0080D0 700074D0 00000000 */ nop -/* 0080D4 700074D4 AC383854 */ sw $t8, %lo(music2_rate)($at) -/* 0080D8 700074D8 3C018002 */ lui $at, %hi(music2_playing) -/* 0080DC 700074DC AC394350 */ sw $t9, %lo(music2_playing)($at) -.L700074E0: -/* 0080E0 700074E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0080E4 700074E4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0080E8 700074E8 03E00008 */ jr $ra -/* 0080EC 700074EC 00000000 */ nop -) -#endif - - - - - - -/** - * 80F0 700074F0 - */ -#ifdef NONMATCHING -void music_related_8(f32 arg0, s32 arg1, s16 arg_unaligned6) { - // Node 0 - if (music2_playing <= 0) - { - // Node 1 - alCSPPlay(seqp_2); - if (arg_unaligned6 == 0xffff) - { - // Node 2 - music2_length = (s16) D_80063846; - } - else - { - // Node 3 - music2_length = arg_unaligned6; - } - // Node 4 - D_80063846 = (u16)0; - music2_rate = (s32) (arg0 * 60.0f); - music2_playing = 1; - } - // Node 5 - return; -} -#else -GLOBAL_ASM( -.text -glabel music_related_8 -/* 0080F0 700074F0 3C0E8002 */ lui $t6, %hi(music2_playing) -/* 0080F4 700074F4 8DCE4350 */ lw $t6, %lo(music2_playing)($t6) -/* 0080F8 700074F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0080FC 700074FC AFBF0014 */ sw $ra, 0x14($sp) -/* 008100 70007500 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 008104 70007504 1DC0001D */ bgtz $t6, .L7000757C -/* 008108 70007508 AFA5001C */ sw $a1, 0x1c($sp) -/* 00810C 7000750C 3C048006 */ lui $a0, %hi(seqp_2) -/* 008110 70007510 0C004B50 */ jal alCSPPlay -/* 008114 70007514 8C84372C */ lw $a0, %lo(seqp_2)($a0) -/* 008118 70007518 97A2001E */ lhu $v0, 0x1e($sp) -/* 00811C 7000751C 3401FFFF */ li $at, 65535 -/* 008120 70007520 3C0F8006 */ lui $t7, %hi(D_80063846) -/* 008124 70007524 14410005 */ bne $v0, $at, .L7000753C -/* 008128 70007528 00000000 */ nop -/* 00812C 7000752C 95EF3846 */ lhu $t7, %lo(D_80063846)($t7) -/* 008130 70007530 3C018006 */ lui $at, %hi(music2_length) -/* 008134 70007534 10000003 */ b .L70007544 -/* 008138 70007538 A42F384C */ sh $t7, %lo(music2_length)($at) -.L7000753C: -/* 00813C 7000753C 3C018006 */ lui $at, %hi(music2_length) -/* 008140 70007540 A422384C */ sh $v0, %lo(music2_length)($at) -.L70007544: -/* 008144 70007544 3C018006 */ lui $at, %hi(D_80063846) -/* 008148 70007548 A4203846 */ sh $zero, %lo(D_80063846)($at) -/* 00814C 7000754C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 008150 70007550 44813000 */ mtc1 $at, $f6 -/* 008154 70007554 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 008158 70007558 3C018006 */ lui $at, %hi(music2_rate) -/* 00815C 7000755C 24080001 */ li $t0, 1 -/* 008160 70007560 46062202 */ mul.s $f8, $f4, $f6 -/* 008164 70007564 4600428D */ trunc.w.s $f10, $f8 -/* 008168 70007568 44195000 */ mfc1 $t9, $f10 -/* 00816C 7000756C 00000000 */ nop -/* 008170 70007570 AC393854 */ sw $t9, %lo(music2_rate)($at) -/* 008174 70007574 3C018002 */ lui $at, %hi(music2_playing) -/* 008178 70007578 AC284350 */ sw $t0, %lo(music2_playing)($at) -.L7000757C: -/* 00817C 7000757C 8FBF0014 */ lw $ra, 0x14($sp) -/* 008180 70007580 27BD0018 */ addiu $sp, $sp, 0x18 -/* 008184 70007584 03E00008 */ jr $ra -/* 008188 70007588 00000000 */ nop -) -#endif - - - - - - -/** - * 818C 7000758C - */ -#ifdef NONMATCHING -void music_related_3rd_block(s32 arg0, s32 arg852) { - ? sp34; - s32 sp2140; - void *temp_t2; - s32 temp_v0; - s32 temp_a2; - - // Node 0 - if (bootswitch_sound == 0) - { - // Node 1 - if (music3_track_num != 0) - { - // Node 2 - musicTrack3Stop(); - } - // Node 3 - music3_track_num = arg852; - if (alCSPGetState(seqp_3) != 0) - { - loop_4: - // Node 4 - if (alCSPGetState(seqp_3) != 0) - { - goto loop_4; - } - } - // Node 5 - temp_t2 = (ptr_musicdatatable + (music3_track_num * 8)); - temp_v0 = (music3_track_num * 2); - if ((u32) temp_t2->unk4 < 0x10000U) - { - // Node 6 - music_related_3rd_block(1, temp_t2->unk4, music3_track_num); - return; - // (possible return value: music_related_3rd_block(1, temp_t2->unk4, music3_track_num)) - } - // Node 7 - temp_a2 = ((((0x80060000 + temp_v0)->unk37B8 + 0xf) | 0xf) ^ 0xf); - sp2140 = (s32) D_80063840; - romCopy(((D_80063840 + (((((0x80060000 + temp_v0)->unk3738 + 0xf) | 0xf) ^ 0xf) + 0x40)) - temp_a2), temp_t2->unk4, temp_a2, music3_track_num); - decompressdata(sp28, sp2140, &sp34); - alCSeqNew(&D_80063A50, D_80063840); - alCSPSetSeq(seqp_3, &D_80063A50); - musicTrack3Vol((get_music3len() & 0xffff)); - alCSPPlay(seqp_3); - } - // Node 8 - return; - // (function likely void) -} - -#else -GLOBAL_ASM( -.text -glabel music_related_3rd_block -/* 00818C 7000758C 3C0E8002 */ lui $t6, %hi(bootswitch_sound) -/* 008190 70007590 81CE43F8 */ lb $t6, %lo(bootswitch_sound)($t6) -/* 008194 70007594 27BDDEB8 */ addiu $sp, $sp, -0x2148 -/* 008198 70007598 AFBF001C */ sw $ra, 0x1c($sp) -/* 00819C 7000759C AFB00018 */ sw $s0, 0x18($sp) -/* 0081A0 700075A0 15C0004A */ bnez $t6, .L700076CC -/* 0081A4 700075A4 AFA42148 */ sw $a0, 0x2148($sp) -/* 0081A8 700075A8 3C0F8002 */ lui $t7, %hi(music3_track_num) -/* 0081AC 700075AC 8DEF4344 */ lw $t7, %lo(music3_track_num)($t7) -/* 0081B0 700075B0 51E00004 */ beql $t7, $zero, .L700075C4 -/* 0081B4 700075B4 8FB82148 */ lw $t8, 0x2148($sp) -/* 0081B8 700075B8 0C001DB8 */ jal musicTrack3Stop -/* 0081BC 700075BC 00000000 */ nop -/* 0081C0 700075C0 8FB82148 */ lw $t8, 0x2148($sp) -.L700075C4: -/* 0081C4 700075C4 3C108006 */ lui $s0, %hi(seqp_3) -/* 0081C8 700075C8 3C018002 */ lui $at, %hi(music3_track_num) -/* 0081CC 700075CC 26103730 */ addiu $s0, %lo(seqp_3) # addiu $s0, $s0, 0x3730 -/* 0081D0 700075D0 AC384344 */ sw $t8, %lo(music3_track_num)($at) -/* 0081D4 700075D4 0C00488C */ jal alCSPGetState -/* 0081D8 700075D8 8E040000 */ lw $a0, ($s0) -/* 0081DC 700075DC 10400005 */ beqz $v0, .L700075F4 -/* 0081E0 700075E0 00000000 */ nop -.L700075E4: -/* 0081E4 700075E4 0C00488C */ jal alCSPGetState -/* 0081E8 700075E8 8E040000 */ lw $a0, ($s0) -/* 0081EC 700075EC 1440FFFD */ bnez $v0, .L700075E4 -/* 0081F0 700075F0 00000000 */ nop -.L700075F4: -/* 0081F4 700075F4 3C078002 */ lui $a3, %hi(music3_track_num) -/* 0081F8 700075F8 8CE74344 */ lw $a3, %lo(music3_track_num)($a3) -/* 0081FC 700075FC 3C198006 */ lui $t9, %hi(ptr_musicdatatable) -/* 008200 70007600 8F393734 */ lw $t9, %lo(ptr_musicdatatable)($t9) -/* 008204 70007604 000748C0 */ sll $t1, $a3, 3 -/* 008208 70007608 3C010001 */ lui $at, 1 -/* 00820C 7000760C 03295021 */ addu $t2, $t9, $t1 -/* 008210 70007610 8D450004 */ lw $a1, 4($t2) -/* 008214 70007614 3C038006 */ lui $v1, %hi(D_80063738) -/* 008218 70007618 00071040 */ sll $v0, $a3, 1 -/* 00821C 7000761C 00A1082B */ sltu $at, $a1, $at -/* 008220 70007620 10200005 */ beqz $at, .L70007638 -/* 008224 70007624 00621821 */ addu $v1, $v1, $v0 -/* 008228 70007628 0C001D63 */ jal music_related_3rd_block -/* 00822C 7000762C 24040001 */ li $a0, 1 -/* 008230 70007630 10000027 */ b .L700076D0 -/* 008234 70007634 8FBF001C */ lw $ra, 0x1c($sp) -.L70007638: -/* 008238 70007638 94633738 */ lhu $v1, %lo(D_80063738)($v1) -/* 00823C 7000763C 3C068006 */ lui $a2, %hi(D_800637B8) -/* 008240 70007640 00C23021 */ addu $a2, $a2, $v0 -/* 008244 70007644 94C637B8 */ lhu $a2, %lo(D_800637B8)($a2) -/* 008248 70007648 3C088006 */ lui $t0, %hi(D_80063840) -/* 00824C 7000764C 2463000F */ addiu $v1, $v1, 0xf -/* 008250 70007650 8D083840 */ lw $t0, %lo(D_80063840)($t0) -/* 008254 70007654 346B000F */ ori $t3, $v1, 0xf -/* 008258 70007658 396C000F */ xori $t4, $t3, 0xf -/* 00825C 7000765C 24C6000F */ addiu $a2, $a2, 0xf -/* 008260 70007660 25830040 */ addiu $v1, $t4, 0x40 -/* 008264 70007664 34CD000F */ ori $t5, $a2, 0xf -/* 008268 70007668 39A6000F */ xori $a2, $t5, 0xf -/* 00826C 7000766C 01037821 */ addu $t7, $t0, $v1 -/* 008270 70007670 01E62023 */ subu $a0, $t7, $a2 -/* 008274 70007674 AFA40028 */ sw $a0, 0x28($sp) -/* 008278 70007678 0C001707 */ jal romCopy -/* 00827C 7000767C AFA82140 */ sw $t0, 0x2140($sp) -/* 008280 70007680 8FA40028 */ lw $a0, 0x28($sp) -/* 008284 70007684 8FA52140 */ lw $a1, 0x2140($sp) -/* 008288 70007688 0FC339FC */ jal decompressdata -/* 00828C 7000768C 27A60034 */ addiu $a2, $sp, 0x34 -/* 008290 70007690 3C048006 */ lui $a0, %hi(D_80063A50) -/* 008294 70007694 3C058006 */ lui $a1, %hi(D_80063840) -/* 008298 70007698 8CA53840 */ lw $a1, %lo(D_80063840)($a1) -/* 00829C 7000769C 0C0049E7 */ jal alCSeqNew -/* 0082A0 700076A0 24843A50 */ addiu $a0, %lo(D_80063A50) # addiu $a0, $a0, 0x3a50 -/* 0082A4 700076A4 3C058006 */ lui $a1, %hi(D_80063A50) -/* 0082A8 700076A8 24A53A50 */ addiu $a1, %lo(D_80063A50) # addiu $a1, $a1, 0x3a50 -/* 0082AC 700076AC 0C004B40 */ jal alCSPSetSeq -/* 0082B0 700076B0 8E040000 */ lw $a0, ($s0) -/* 0082B4 700076B4 0C001DD0 */ jal get_music3len -/* 0082B8 700076B8 00000000 */ nop -/* 0082BC 700076BC 0C001DD3 */ jal musicTrack3Vol -/* 0082C0 700076C0 3044FFFF */ andi $a0, $v0, 0xffff -/* 0082C4 700076C4 0C004B50 */ jal alCSPPlay -/* 0082C8 700076C8 8E040000 */ lw $a0, ($s0) -.L700076CC: -/* 0082CC 700076CC 8FBF001C */ lw $ra, 0x1c($sp) -.L700076D0: -/* 0082D0 700076D0 8FB00018 */ lw $s0, 0x18($sp) -/* 0082D4 700076D4 27BD2148 */ addiu $sp, $sp, 0x2148 -/* 0082D8 700076D8 03E00008 */ jr $ra -/* 0082DC 700076DC 00000000 */ nop -) -#endif - - -/** - * 82E0 700076E0 - */ -#ifdef NONMATCHING -void musicTrack3Stop(void) { - // Node 0 - if (bootswitch_sound == 0) - { - // Node 1 - music3_playing = 0; - if (music3_track_num != 0) - { - // Node 2 - if (alCSPGetState(seqp_3) == 1) - { - // Node 3 - alCSPStop(seqp_3); - } - } - // Node 4 - music3_track_num = 0; - return; - // (function likely void) - } - // (function likely void) -} -#else -GLOBAL_ASM( -.text -glabel musicTrack3Stop -/* 0082E0 700076E0 3C0E8002 */ lui $t6, %hi(bootswitch_sound) -/* 0082E4 700076E4 81CE43F8 */ lb $t6, %lo(bootswitch_sound)($t6) -/* 0082E8 700076E8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0082EC 700076EC AFBF0014 */ sw $ra, 0x14($sp) -/* 0082F0 700076F0 15C0000F */ bnez $t6, .L70007730 -/* 0082F4 700076F4 3C0F8002 */ lui $t7, %hi(music3_track_num) -/* 0082F8 700076F8 8DEF4344 */ lw $t7, %lo(music3_track_num)($t7) -/* 0082FC 700076FC 3C018002 */ lui $at, %hi(music3_playing) -/* 008300 70007700 AC204354 */ sw $zero, %lo(music3_playing)($at) -/* 008304 70007704 11E00008 */ beqz $t7, .L70007728 -/* 008308 70007708 3C048006 */ lui $a0, %hi(seqp_3) -/* 00830C 7000770C 0C00488C */ jal alCSPGetState -/* 008310 70007710 8C843730 */ lw $a0, %lo(seqp_3)($a0) -/* 008314 70007714 24010001 */ li $at, 1 -/* 008318 70007718 14410003 */ bne $v0, $at, .L70007728 -/* 00831C 7000771C 3C048006 */ lui $a0, %hi(seqp_3) -/* 008320 70007720 0C004B5C */ jal alCSPStop -/* 008324 70007724 8C843730 */ lw $a0, %lo(seqp_3)($a0) -.L70007728: -/* 008328 70007728 3C018002 */ lui $at, %hi(music3_track_num) -/* 00832C 7000772C AC204344 */ sw $zero, %lo(music3_track_num)($at) -.L70007730: -/* 008330 70007730 8FBF0014 */ lw $ra, 0x14($sp) -/* 008334 70007734 27BD0018 */ addiu $sp, $sp, 0x18 -/* 008338 70007738 03E00008 */ jr $ra -/* 00833C 7000773C 00000000 */ nop -) -#endif - - - - - - -/** - * 8340 70007740 - * V0= 7FFF [80024348] - */ -u16 get_music3len(void) { - return music3len; -} - - - - - - - -/** - * 834C 7000774C - */ -#ifdef NONMATCHING -void musicTrack3Vol(s32 arg0) { - s16 temp_a2; - - // Node 0 - temp_a2 = (arg0 & 0xffff); - music3len = temp_a2; - alCSPSetVol(seqp_3, ((s32) (((u32) (temp_a2 * (0x80020000 + (music3_track_num * 2))->unk4358) >> 0xf) << 0x10) >> 0x10), temp_a2); - return; - // (possible return value: alCSPSetVol(seqp_3, ((s32) (((u32) (temp_a2 * (0x80020000 + (music3_track_num * 2))->unk4358) >> 0xf) << 0x10) >> 0x10), temp_a2)) -} -#else -GLOBAL_ASM( -.text -glabel musicTrack3Vol -/* 00834C 7000774C 3C0E8002 */ lui $t6, %hi(music3_track_num) -/* 008350 70007750 8DCE4344 */ lw $t6, %lo(music3_track_num)($t6) -/* 008354 70007754 3C188002 */ lui $t8, %hi(music_tempo_array) -/* 008358 70007758 3086FFFF */ andi $a2, $a0, 0xffff -/* 00835C 7000775C 000E7840 */ sll $t7, $t6, 1 -/* 008360 70007760 030FC021 */ addu $t8, $t8, $t7 -/* 008364 70007764 87184358 */ lh $t8, %lo(music_tempo_array)($t8) -/* 008368 70007768 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00836C 7000776C AFA40018 */ sw $a0, 0x18($sp) -/* 008370 70007770 00D80019 */ multu $a2, $t8 -/* 008374 70007774 AFBF0014 */ sw $ra, 0x14($sp) -/* 008378 70007778 3C018002 */ lui $at, %hi(music3len) -/* 00837C 7000777C 3C048006 */ lui $a0, %hi(seqp_3) -/* 008380 70007780 A4264348 */ sh $a2, %lo(music3len)($at) -/* 008384 70007784 8C843730 */ lw $a0, %lo(seqp_3)($a0) -/* 008388 70007788 00001012 */ mflo $v0 -/* 00838C 7000778C 0002CBC2 */ srl $t9, $v0, 0xf -/* 008390 70007790 00192C00 */ sll $a1, $t9, 0x10 -/* 008394 70007794 00054403 */ sra $t0, $a1, 0x10 -/* 008398 70007798 0C004B68 */ jal alCSPSetVol -/* 00839C 7000779C 01002825 */ move $a1, $t0 -/* 0083A0 700077A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0083A4 700077A4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0083A8 700077A8 03E00008 */ jr $ra -/* 0083AC 700077AC 00000000 */ nop -) -#endif - - - - - - - -/** - * 83B0 700077B0 - */ -#ifdef NONMATCHING -void *music_related_10(void) { - // Node 0 - *(&music_tempo_array + (music3_track_num * 2)) = get_music3len(); - if (music_tempo_array >= 0) - { - loop_1: - // Node 1 - if (music_tempo_array.unk2 >= 0) - { - goto loop_1; - } - } - // (possible return value: &music_tempo_array) -} - -#else -GLOBAL_ASM( -.text -glabel music_related_10 -/* 0083B0 700077B0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0083B4 700077B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0083B8 700077B8 0C001DD0 */ jal get_music3len -/* 0083BC 700077BC 00000000 */ nop -/* 0083C0 700077C0 3C0E8002 */ lui $t6, %hi(music3_track_num) -/* 0083C4 700077C4 8DCE4344 */ lw $t6, %lo(music3_track_num)($t6) -/* 0083C8 700077C8 3C048002 */ lui $a0, %hi(music_tempo_array) -/* 0083CC 700077CC 24844358 */ addiu $a0, %lo(music_tempo_array) # addiu $a0, $a0, 0x4358 -/* 0083D0 700077D0 000E7840 */ sll $t7, $t6, 1 -/* 0083D4 700077D4 008FC021 */ addu $t8, $a0, $t7 -/* 0083D8 700077D8 A7020000 */ sh $v0, ($t8) -/* 0083DC 700077DC 84990000 */ lh $t9, ($a0) -/* 0083E0 700077E0 3C028002 */ lui $v0, %hi(music_tempo_array) -/* 0083E4 700077E4 24424358 */ addiu $v0, %lo(music_tempo_array) # addiu $v0, $v0, 0x4358 -/* 0083E8 700077E8 07200005 */ bltz $t9, .L70007800 -/* 0083EC 700077EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0083F0 700077F0 84480002 */ lh $t0, 2($v0) -.L700077F4: -/* 0083F4 700077F4 24420002 */ addiu $v0, $v0, 2 -/* 0083F8 700077F8 0503FFFE */ bgezl $t0, .L700077F4 -/* 0083FC 700077FC 84480002 */ lh $t0, 2($v0) -.L70007800: -/* 008400 70007800 03E00008 */ jr $ra -/* 008404 70007804 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - -/** - * 8408 70007808 - */ -#ifdef NONMATCHING -void music_related_11(f32 arg0, f32 arg6) { - // Node 0 - if (music3_playing >= 0) - { - // Node 1 - D_80063848 = get_music3len(); - music3_length = (u16)0; - music3_rate = (s32) (arg6 * 60.0f); - music3_playing = -1; - return; - // (possible return value: get_music3len()) - } - // (function likely void) -} -#else -GLOBAL_ASM( -.text -glabel music_related_11 -/* 008408 70007808 3C0E8002 */ lui $t6, %hi(music3_playing) -/* 00840C 7000780C 8DCE4354 */ lw $t6, %lo(music3_playing)($t6) -/* 008410 70007810 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 008414 70007814 AFBF0014 */ sw $ra, 0x14($sp) -/* 008418 70007818 05C00013 */ bltz $t6, .L70007868 -/* 00841C 7000781C E7AC0018 */ swc1 $f12, 0x18($sp) -/* 008420 70007820 0C001DD0 */ jal get_music3len -/* 008424 70007824 00000000 */ nop -/* 008428 70007828 3C018006 */ lui $at, %hi(D_80063848) -/* 00842C 7000782C A4223848 */ sh $v0, %lo(D_80063848)($at) -/* 008430 70007830 3C018006 */ lui $at, %hi(music3_length) -/* 008434 70007834 A420384E */ sh $zero, %lo(music3_length)($at) -/* 008438 70007838 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 00843C 7000783C 44813000 */ mtc1 $at, $f6 -/* 008440 70007840 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 008444 70007844 3C018006 */ lui $at, %hi(music3_rate) -/* 008448 70007848 2419FFFF */ li $t9, -1 -/* 00844C 7000784C 46062202 */ mul.s $f8, $f4, $f6 -/* 008450 70007850 4600428D */ trunc.w.s $f10, $f8 -/* 008454 70007854 44185000 */ mfc1 $t8, $f10 -/* 008458 70007858 00000000 */ nop -/* 00845C 7000785C AC383858 */ sw $t8, %lo(music3_rate)($at) -/* 008460 70007860 3C018002 */ lui $at, %hi(music3_playing) -/* 008464 70007864 AC394354 */ sw $t9, %lo(music3_playing)($at) -.L70007868: -/* 008468 70007868 8FBF0014 */ lw $ra, 0x14($sp) -/* 00846C 7000786C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 008470 70007870 03E00008 */ jr $ra -/* 008474 70007874 00000000 */ nop -) -#endif - - - - - -/** - * 8478 70007878 - */ -#ifdef NONMATCHING -s16 music_related_13(f32 arg0, s32 arg1, f32 arg6, s16 arg7) { - // Node 0 - if (music3_playing <= 0) - { - // Node 1 - alCSPPlay(seqp_3); - if (arg7 == 0xffff) - { - // Node 2 - music3_length = (s16) D_80063848; - } - else - { - // Node 3 - music3_length = arg7; - } - // Node 4 - D_80063848 = (u16)0; - music3_rate = (s32) (arg6 * 60.0f); - music3_playing = 1; - return; - // (possible return value: arg7) - } - // (function likely void) -} -#else -GLOBAL_ASM( -.text -glabel music_related_13 -/* 008478 70007878 3C0E8002 */ lui $t6, %hi(music3_playing) -/* 00847C 7000787C 8DCE4354 */ lw $t6, %lo(music3_playing)($t6) -/* 008480 70007880 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 008484 70007884 AFBF0014 */ sw $ra, 0x14($sp) -/* 008488 70007888 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 00848C 7000788C 1DC0001D */ bgtz $t6, .L70007904 -/* 008490 70007890 AFA5001C */ sw $a1, 0x1c($sp) -/* 008494 70007894 3C048006 */ lui $a0, %hi(seqp_3) -/* 008498 70007898 0C004B50 */ jal alCSPPlay -/* 00849C 7000789C 8C843730 */ lw $a0, %lo(seqp_3)($a0) -/* 0084A0 700078A0 97A2001E */ lhu $v0, 0x1e($sp) -/* 0084A4 700078A4 3401FFFF */ li $at, 65535 -/* 0084A8 700078A8 3C0F8006 */ lui $t7, %hi(D_80063848) -/* 0084AC 700078AC 14410005 */ bne $v0, $at, .L700078C4 -/* 0084B0 700078B0 00000000 */ nop -/* 0084B4 700078B4 95EF3848 */ lhu $t7, %lo(D_80063848)($t7) -/* 0084B8 700078B8 3C018006 */ lui $at, %hi(music3_length) -/* 0084BC 700078BC 10000003 */ b .L700078CC -/* 0084C0 700078C0 A42F384E */ sh $t7, %lo(music3_length)($at) -.L700078C4: -/* 0084C4 700078C4 3C018006 */ lui $at, %hi(music3_length) -/* 0084C8 700078C8 A422384E */ sh $v0, %lo(music3_length)($at) -.L700078CC: -/* 0084CC 700078CC 3C018006 */ lui $at, %hi(D_80063848) -/* 0084D0 700078D0 A4203848 */ sh $zero, %lo(D_80063848)($at) -/* 0084D4 700078D4 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 0084D8 700078D8 44813000 */ mtc1 $at, $f6 -/* 0084DC 700078DC C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0084E0 700078E0 3C018006 */ lui $at, %hi(music3_rate) -/* 0084E4 700078E4 24080001 */ li $t0, 1 -/* 0084E8 700078E8 46062202 */ mul.s $f8, $f4, $f6 -/* 0084EC 700078EC 4600428D */ trunc.w.s $f10, $f8 -/* 0084F0 700078F0 44195000 */ mfc1 $t9, $f10 -/* 0084F4 700078F4 00000000 */ nop -/* 0084F8 700078F8 AC393858 */ sw $t9, %lo(music3_rate)($at) -/* 0084FC 700078FC 3C018002 */ lui $at, %hi(music3_playing) -/* 008500 70007900 AC284354 */ sw $t0, %lo(music3_playing)($at) -.L70007904: -/* 008504 70007904 8FBF0014 */ lw $ra, 0x14($sp) -/* 008508 70007908 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00850C 7000790C 03E00008 */ jr $ra -/* 008510 70007910 00000000 */ nop -) -#endif - - - - - - -/** - * 8514 70007914 - */ -#ifdef NONMATCHING -void music_related_15(void) { - s16 sp1E; - s16 sp26; - s16 sp2E; - ? temp_ret; - s32 temp_a1; - s16 temp_t9; - s32 temp_t1; - ? temp_ret_2; - s32 temp_a1_2; - s16 temp_t0; - s32 temp_t2; - ? temp_ret_3; - s32 temp_a1_3; - s16 temp_t1_2; - s32 temp_t3; - - if (music1_playing != 0) - { - temp_ret_3 = musicTrack1Length(); - temp_a1_3 = (music1_length - temp_ret_3); - temp_t1_2 = ((temp_ret_3 + (s32) ((f32) temp_a1_3 / (f32) music1_rate)) & 0xffff); - sp2E = temp_t1_2; - musicTrack1Vol(temp_t1_2, temp_a1_3, &music1_rate); - temp_t3 = (music1_rate + -1); - music1_rate = temp_t3; - if (temp_t3 <= 0) - { - if (&seqp_1 == 0) - { - alCSPStop(seqp_1, &music1_rate); - } - music1_rate = 0; - music1_playing = 0; - } - } - if (music2_playing != 0) - { - temp_ret_2 = musicTrack2Length(); - temp_a1_2 = (music2_length - temp_ret_2); - temp_t0 = ((temp_ret_2 + (s32) ((f32) temp_a1_2 / (f32) music2_rate)) & 0xffff); - sp26 = temp_t0; - musicTrack2Vol(temp_t0, temp_a1_2, &music2_rate); - temp_t2 = (music2_rate + -1); - music2_rate = temp_t2; - if (temp_t2 <= 0) - { - if (&seqp_2 == 0) - { - alCSPStop(seqp_2, &music2_rate); - } - music2_rate = 0; - music2_playing = 0; - } - } - if (music3_playing != 0) - { - temp_ret = get_music3len(); - temp_a1 = (music3_length - temp_ret); - temp_t9 = ((temp_ret + (s32) ((f32) temp_a1 / (f32) music3_rate)) & 0xffff); - sp1E = temp_t9; - musicTrack3Vol(temp_t9, temp_a1, &music3_rate); - temp_t1 = (music3_rate + -1); - music3_rate = temp_t1; - if (temp_t1 <= 0) - { - if (&seqp_3 == 0) - { - alCSPStop(seqp_3, &music3_rate); - } - music3_rate = 0; - music3_playing = 0; - } - } -} -#else -GLOBAL_ASM( -.text -glabel music_related_15 -/* 008514 70007914 3C0E8002 */ lui $t6, %hi(music1_playing) -/* 008518 70007918 8DCE434C */ lw $t6, %lo(music1_playing)($t6) -/* 00851C 7000791C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 008520 70007920 AFBF0014 */ sw $ra, 0x14($sp) -/* 008524 70007924 11C00026 */ beqz $t6, .L700079C0 -/* 008528 70007928 00000000 */ nop -/* 00852C 7000792C 0C001C0C */ jal musicTrack1Length -/* 008530 70007930 00000000 */ nop -/* 008534 70007934 3C068006 */ lui $a2, %hi(music1_rate) -/* 008538 70007938 3C0F8006 */ lui $t7, %hi(music1_length) -/* 00853C 7000793C 95EF384A */ lhu $t7, %lo(music1_length)($t7) -/* 008540 70007940 24C63850 */ addiu $a2, %lo(music1_rate) # addiu $a2, $a2, 0x3850 -/* 008544 70007944 8CD80000 */ lw $t8, ($a2) -/* 008548 70007948 01E22823 */ subu $a1, $t7, $v0 -/* 00854C 7000794C 44852000 */ mtc1 $a1, $f4 -/* 008550 70007950 44984000 */ mtc1 $t8, $f8 -/* 008554 70007954 468021A0 */ cvt.s.w $f6, $f4 -/* 008558 70007958 468042A0 */ cvt.s.w $f10, $f8 -/* 00855C 7000795C 460A3403 */ div.s $f16, $f6, $f10 -/* 008560 70007960 4600848D */ trunc.w.s $f18, $f16 -/* 008564 70007964 44089000 */ mfc1 $t0, $f18 -/* 008568 70007968 00000000 */ nop -/* 00856C 7000796C 00482021 */ addu $a0, $v0, $t0 -/* 008570 70007970 3089FFFF */ andi $t1, $a0, 0xffff -/* 008574 70007974 01202025 */ move $a0, $t1 -/* 008578 70007978 0C001C0F */ jal musicTrack1Vol -/* 00857C 7000797C A7A9002E */ sh $t1, 0x2e($sp) -/* 008580 70007980 3C068006 */ lui $a2, %hi(music1_rate) -/* 008584 70007984 24C63850 */ addiu $a2, %lo(music1_rate) # addiu $a2, $a2, 0x3850 -/* 008588 70007988 8CCA0000 */ lw $t2, ($a2) -/* 00858C 7000798C 97A4002E */ lhu $a0, 0x2e($sp) -/* 008590 70007990 254BFFFF */ addiu $t3, $t2, -1 -/* 008594 70007994 1D60000A */ bgtz $t3, .L700079C0 -/* 008598 70007998 ACCB0000 */ sw $t3, ($a2) -/* 00859C 7000799C 14800005 */ bnez $a0, .L700079B4 -/* 0085A0 700079A0 3C048006 */ lui $a0, %hi(seqp_1) -/* 0085A4 700079A4 0C004B5C */ jal alCSPStop -/* 0085A8 700079A8 8C843728 */ lw $a0, %lo(seqp_1)($a0) -/* 0085AC 700079AC 3C068006 */ lui $a2, %hi(music1_rate) -/* 0085B0 700079B0 24C63850 */ addiu $a2, %lo(music1_rate) # addiu $a2, $a2, 0x3850 -.L700079B4: -/* 0085B4 700079B4 ACC00000 */ sw $zero, ($a2) -/* 0085B8 700079B8 3C018002 */ lui $at, %hi(music1_playing) -/* 0085BC 700079BC AC20434C */ sw $zero, %lo(music1_playing)($at) -.L700079C0: -/* 0085C0 700079C0 3C0D8002 */ lui $t5, %hi(music2_playing) -/* 0085C4 700079C4 8DAD4350 */ lw $t5, %lo(music2_playing)($t5) -/* 0085C8 700079C8 11A00026 */ beqz $t5, .L70007A64 -/* 0085CC 700079CC 00000000 */ nop -/* 0085D0 700079D0 0C001CEE */ jal musicTrack2Length -/* 0085D4 700079D4 00000000 */ nop -/* 0085D8 700079D8 3C068006 */ lui $a2, %hi(music2_rate) -/* 0085DC 700079DC 3C0E8006 */ lui $t6, %hi(music2_length) -/* 0085E0 700079E0 95CE384C */ lhu $t6, %lo(music2_length)($t6) -/* 0085E4 700079E4 24C63854 */ addiu $a2, %lo(music2_rate) # addiu $a2, $a2, 0x3854 -/* 0085E8 700079E8 8CCF0000 */ lw $t7, ($a2) -/* 0085EC 700079EC 01C22823 */ subu $a1, $t6, $v0 -/* 0085F0 700079F0 44852000 */ mtc1 $a1, $f4 -/* 0085F4 700079F4 448F3000 */ mtc1 $t7, $f6 -/* 0085F8 700079F8 46802220 */ cvt.s.w $f8, $f4 -/* 0085FC 700079FC 468032A0 */ cvt.s.w $f10, $f6 -/* 008600 70007A00 460A4403 */ div.s $f16, $f8, $f10 -/* 008604 70007A04 4600848D */ trunc.w.s $f18, $f16 -/* 008608 70007A08 44199000 */ mfc1 $t9, $f18 -/* 00860C 70007A0C 00000000 */ nop -/* 008610 70007A10 00592021 */ addu $a0, $v0, $t9 -/* 008614 70007A14 3088FFFF */ andi $t0, $a0, 0xffff -/* 008618 70007A18 01002025 */ move $a0, $t0 -/* 00861C 70007A1C 0C001CF1 */ jal musicTrack2Vol -/* 008620 70007A20 A7A80026 */ sh $t0, 0x26($sp) -/* 008624 70007A24 3C068006 */ lui $a2, %hi(music2_rate) -/* 008628 70007A28 24C63854 */ addiu $a2, %lo(music2_rate) # addiu $a2, $a2, 0x3854 -/* 00862C 70007A2C 8CC90000 */ lw $t1, ($a2) -/* 008630 70007A30 97A40026 */ lhu $a0, 0x26($sp) -/* 008634 70007A34 252AFFFF */ addiu $t2, $t1, -1 -/* 008638 70007A38 1D40000A */ bgtz $t2, .L70007A64 -/* 00863C 70007A3C ACCA0000 */ sw $t2, ($a2) -/* 008640 70007A40 14800005 */ bnez $a0, .L70007A58 -/* 008644 70007A44 3C048006 */ lui $a0, %hi(seqp_2) -/* 008648 70007A48 0C004B5C */ jal alCSPStop -/* 00864C 70007A4C 8C84372C */ lw $a0, %lo(seqp_2)($a0) -/* 008650 70007A50 3C068006 */ lui $a2, %hi(music2_rate) -/* 008654 70007A54 24C63854 */ addiu $a2, %lo(music2_rate) # addiu $a2, $a2, 0x3854 -.L70007A58: -/* 008658 70007A58 ACC00000 */ sw $zero, ($a2) -/* 00865C 70007A5C 3C018002 */ lui $at, %hi(music2_playing) -/* 008660 70007A60 AC204350 */ sw $zero, %lo(music2_playing)($at) -.L70007A64: -/* 008664 70007A64 3C0C8002 */ lui $t4, %hi(music3_playing) -/* 008668 70007A68 8D8C4354 */ lw $t4, %lo(music3_playing)($t4) -/* 00866C 70007A6C 51800027 */ beql $t4, $zero, .L70007B0C -/* 008670 70007A70 8FBF0014 */ lw $ra, 0x14($sp) -/* 008674 70007A74 0C001DD0 */ jal get_music3len -/* 008678 70007A78 00000000 */ nop -/* 00867C 70007A7C 3C068006 */ lui $a2, %hi(music3_rate) -/* 008680 70007A80 3C0D8006 */ lui $t5, %hi(music3_length) -/* 008684 70007A84 95AD384E */ lhu $t5, %lo(music3_length)($t5) -/* 008688 70007A88 24C63858 */ addiu $a2, %lo(music3_rate) # addiu $a2, $a2, 0x3858 -/* 00868C 70007A8C 8CCE0000 */ lw $t6, ($a2) -/* 008690 70007A90 01A22823 */ subu $a1, $t5, $v0 -/* 008694 70007A94 44852000 */ mtc1 $a1, $f4 -/* 008698 70007A98 448E4000 */ mtc1 $t6, $f8 -/* 00869C 70007A9C 468021A0 */ cvt.s.w $f6, $f4 -/* 0086A0 70007AA0 468042A0 */ cvt.s.w $f10, $f8 -/* 0086A4 70007AA4 460A3403 */ div.s $f16, $f6, $f10 -/* 0086A8 70007AA8 4600848D */ trunc.w.s $f18, $f16 -/* 0086AC 70007AAC 44189000 */ mfc1 $t8, $f18 -/* 0086B0 70007AB0 00000000 */ nop -/* 0086B4 70007AB4 00582021 */ addu $a0, $v0, $t8 -/* 0086B8 70007AB8 3099FFFF */ andi $t9, $a0, 0xffff -/* 0086BC 70007ABC 03202025 */ move $a0, $t9 -/* 0086C0 70007AC0 0C001DD3 */ jal musicTrack3Vol -/* 0086C4 70007AC4 A7B9001E */ sh $t9, 0x1e($sp) -/* 0086C8 70007AC8 3C068006 */ lui $a2, %hi(music3_rate) -/* 0086CC 70007ACC 24C63858 */ addiu $a2, %lo(music3_rate) # addiu $a2, $a2, 0x3858 -/* 0086D0 70007AD0 8CC80000 */ lw $t0, ($a2) -/* 0086D4 70007AD4 97A4001E */ lhu $a0, 0x1e($sp) -/* 0086D8 70007AD8 2509FFFF */ addiu $t1, $t0, -1 -/* 0086DC 70007ADC 1D20000A */ bgtz $t1, .L70007B08 -/* 0086E0 70007AE0 ACC90000 */ sw $t1, ($a2) -/* 0086E4 70007AE4 14800005 */ bnez $a0, .L70007AFC -/* 0086E8 70007AE8 3C048006 */ lui $a0, %hi(seqp_3) -/* 0086EC 70007AEC 0C004B5C */ jal alCSPStop -/* 0086F0 70007AF0 8C843730 */ lw $a0, %lo(seqp_3)($a0) -/* 0086F4 70007AF4 3C068006 */ lui $a2, %hi(music3_rate) -/* 0086F8 70007AF8 24C63858 */ addiu $a2, %lo(music3_rate) # addiu $a2, $a2, 0x3858 -.L70007AFC: -/* 0086FC 70007AFC ACC00000 */ sw $zero, ($a2) -/* 008700 70007B00 3C018002 */ lui $at, %hi(music3_playing) -/* 008704 70007B04 AC204354 */ sw $zero, %lo(music3_playing)($at) -.L70007B08: -/* 008708 70007B08 8FBF0014 */ lw $ra, 0x14($sp) -.L70007B0C: -/* 00870C 70007B0C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 008710 70007B10 03E00008 */ jr $ra -/* 008714 70007B14 00000000 */ nop -) -#endif - - - diff --git a/src/music.h b/src/music.h deleted file mode 100644 index 5894af6..0000000 --- a/src/music.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _MUSIC_H_ -#define _MUSIC_H_ -#include "ultra64.h" -#include "bondgame.h" - -extern s32 music_unused; -extern s32 music1_track_num; -extern s32 music1len; -extern s32 music2_track_num; -extern s32 music2len; -extern s32 music3_track_num; -extern s32 music3len; -extern s32 music1_playing; -extern s32 music2_playing; -extern s32 music3_playing; - -extern u32 hp[4]; -extern u32 *ptr_sfx_buf; -extern s32 D_80063724; -extern s32 seqp_1; -extern s32 seqp_2; -extern s32 seqp_3; -extern void *ptr_musicdatatable; - -extern char D_80063738[0x80]; -extern char D_800637B8[0x7E]; -extern s16 D_80063836; -extern s32 D_80063838; -extern s32 D_8006383C; -extern s32 D_80063840; -extern s16 musicTrack1_length; -extern s16 D_80063846; -extern s16 D_80063848; -extern s16 music1_length; -extern s16 music2_length; -extern s16 music3_length; -extern s32 music1_rate; -extern s32 music2_rate; -extern s32 music3_rate; -extern s32 D_8006385C; -extern char D_80063860[0xF8]; -extern char D_80063958[0xF8]; -extern char D_80063A50[0x100]; -extern char D_80063B50[0x54]; -extern s32 D_80063BA4; -extern s32 D_80063BA8; - -#endif diff --git a/src/osMapTLB.c b/src/osMapTLB.c deleted file mode 100644 index 6f908d6..0000000 --- a/src/osMapTLB.c +++ /dev/null @@ -1,47 +0,0 @@ -#include "ultra64.h" - -/** - * @file osMapTLB.c - * This file contains code thatsets TLB indexed entry 0 to mirror 1KB of rdram from 80000000 to C0000000. - * - * In particular, it: - * - should be made into an assembly file - */ - -/** - * 2380 70001780 - * sets TLB indexed entry 0 to mirror 1KB of rdram from 80000000 to C0000000 - * uncached, dirty, valid, global - */ -#ifdef NONMATCHING -void osMapTLBRdb(void) { - //i should probably remain as assembly, maybe even moved to a .s -} -#else -GLOBAL_ASM( -.text -glabel osMapTLBRdb -/* 002380 70001780 40085000 */ mfc0 $t0, $10 -/* 002384 70001784 24090000 */ li $t1, 0 -/* 002388 70001788 40890000 */ mtc0 $t1, $0 -/* 00238C 7000178C 40802800 */ mtc0 $zero, $5 -/* 002390 70001790 240A0017 */ li $t2, 23 -/* 002394 70001794 3C09C000 */ lui $t1, 0xc000 -/* 002398 70001798 40895000 */ mtc0 $t1, $10 -/* 00239C 7000179C 3C098000 */ lui $t1, 0x8000 -/* 0023A0 700017A0 00095982 */ srl $t3, $t1, 6 -/* 0023A4 700017A4 016A5825 */ or $t3, $t3, $t2 -/* 0023A8 700017A8 408B1000 */ mtc0 $t3, $2 -/* 0023AC 700017AC 24090001 */ li $t1, 1 -/* 0023B0 700017B0 40891800 */ mtc0 $t1, $3 -/* 0023B4 700017B4 00000000 */ nop -/* 0023B8 700017B8 42000002 */ tlbwi -/* 0023BC 700017BC 00000000 */ nop -/* 0023C0 700017C0 00000000 */ nop -/* 0023C4 700017C4 00000000 */ nop -/* 0023C8 700017C8 00000000 */ nop -/* 0023CC 700017CC 40885000 */ mtc0 $t0, $10 -/* 0023D0 700017D0 03E00008 */ jr $ra -/* 0023D4 700017D4 00000000 */ nop -) -#endif diff --git a/src/pi.c b/src/pi.c deleted file mode 100644 index 24abbe7..0000000 --- a/src/pi.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "ultra64.h" - - -OSMesg piCmdBuf[0x8]; -OSMesgQueue piCmdQ; - -void start_pi_manager(void) { - osCreatePiManager(0x96, &piCmdQ, &piCmdBuf, 8); -} diff --git a/src/pi.h b/src/pi.h deleted file mode 100644 index 82628b8..0000000 --- a/src/pi.h +++ /dev/null @@ -1,10 +0,0 @@ -#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/ramrom.c b/src/ramrom.c deleted file mode 100644 index 8dd72c8..0000000 --- a/src/ramrom.c +++ /dev/null @@ -1,95 +0,0 @@ -#include "ultra64.h" -#include "ramrom.h" - -/** - * @file ramrom.c - * This file contains code to handle reading and writing rom addresses. - */ - -#define align_addr_zero(X) ((((X) + 0xF) | 0xF) ^ 0xF) -#define align_addr_even(X) (((X) | 1) ^ 1) - -OSIoMesg memoryMesgMB; -OSMesg memoryMesg; -OSMesgQueue memoryMesgQueue; - -/** - * 6760 70005B60 - * external - * romCreateMesgQueue - * creates a message queue - */ -void romCreateMesgQueue(void) { - osCreateMesgQueue(&memoryMesgQueue, &memoryMesg, 1); -} - -/** - * 6790 70005B90 - * doRomCopy - * invalidate cache and do pi dma - */ -void doRomCopy(void *target, void *source, u32 size) { - osInvalDCache(target, size); - osPiStartDma(&memoryMesgMB, 0, 0, source, target, size, &memoryMesgQueue); -} - -/** - * 67F0 70005BF0 - * romReceiveMesg - * receives a message queue - */ -void romReceiveMesg(void) { - osRecvMesg(&memoryMesgQueue, 0, 1); -} - -/** - * 681C 70005C1C - * external - * romCopy - * copy from rom to ram - */ -void romCopy(void *target, void *source, u32 size) { - doRomCopy(target, source, size); - romReceiveMesg(); -} - -/** - * 6844 70005C44 - * external - * romCopyAligned - * aligns data, does a romCopy(), then returns aligned pointer to target - */ -s32 romCopyAligned(void *target, void *source, s32 length) { - s32 target_offset; - s32 *target_aligned; - s32 *source_aligned; - s32 *source_offset; - - source_aligned = align_addr_even((s32)source); - source_offset = (s32)source - (s32)source_aligned; - target_aligned = align_addr_zero((s32)target); - target_offset = source_offset; - romCopy(target_aligned, source_aligned, align_addr_zero((s32)source_offset + length)); - return ((s32)target_aligned + target_offset); -} - -/** - * 68A8 70005CA8 - * doRomWrite - * actually writes to rom (buffer on Indy) - */ -void doRomWrite(void *source, void *target, u32 size) { - osWritebackDCache(source, size); - osPiStartDma(&memoryMesgMB, 0, 1, target, source, size, &memoryMesgQueue); -} - -/** - * 6908 70005D08 - * external - * romWrite - * let's write to the rom (buffer on Indy) - */ -void romWrite(void *source, void *target, u32 size) { - doRomWrite(source, target, size); - romReceiveMesg(); -} diff --git a/src/ramrom.h b/src/ramrom.h deleted file mode 100644 index ea79684..0000000 --- a/src/ramrom.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _RAMROM_H_ -#define _RAMROM_H_ -#include - -void romCreateMesgQueue(void); -void romCopy(void *target, void *source, u32 size); -s32 romCopyAligned(void *target, void *source, s32 length); -void romWrite(void *source, void *target, u32 size); - -#endif diff --git a/src/random.c b/src/random.c deleted file mode 100644 index 779ba1d..0000000 --- a/src/random.c +++ /dev/null @@ -1,96 +0,0 @@ -#include "ultra64.h" - - -u64 randseed = 0xAB8D9F7781280783; - - - -#ifdef NONMATCHING -u32 get_random_value(void) { - ulonglong uVar1; - - uVar1 = ((randseed << 0x3f) >> 0x1f | (randseed << 0x1f) >> 0x20) ^ (randseed << 0x2c) >> 0x20; - randseed = uVar1 >> 0x14 & 0xfff ^ uVar1; - return (u32)randseed; -} -#else -GLOBAL_ASM( -.text -glabel get_random_value -/* 00B050 7000A450 3C048002 */ lui $a0, %hi(randseed) -/* 00B054 7000A454 DC844460 */ ld $a0, %lo(randseed)($a0) -/* 00B058 7000A458 3C018002 */ lui $at, %hi(randseed) -/* 00B05C 7000A45C 000437FC */ dsll32 $a2, $a0, 0x1f -/* 00B060 7000A460 00042FF8 */ dsll $a1, $a0, 0x1f -/* 00B064 7000A464 000637FA */ dsrl $a2, $a2, 0x1f -/* 00B068 7000A468 0005283E */ dsrl32 $a1, $a1, 0 -/* 00B06C 7000A46C 0004233C */ dsll32 $a0, $a0, 0xc -/* 00B070 7000A470 00C53025 */ or $a2, $a2, $a1 -/* 00B074 7000A474 0004203E */ dsrl32 $a0, $a0, 0 -/* 00B078 7000A478 00C43026 */ xor $a2, $a2, $a0 -/* 00B07C 7000A47C 0006253A */ dsrl $a0, $a2, 0x14 -/* 00B080 7000A480 30840FFF */ andi $a0, $a0, 0xfff -/* 00B084 7000A484 00862026 */ xor $a0, $a0, $a2 -/* 00B088 7000A488 0004103C */ dsll32 $v0, $a0, 0 -/* 00B08C 7000A48C FC244460 */ sd $a0, %lo(randseed)($at) -/* 00B090 7000A490 03E00008 */ jr $ra -/* 00B094 7000A494 0002103F */ dsra32 $v0, $v0, 0 -) -#endif - - - -#ifdef NONMATCHING -void increment_random_num(u64 param_1) { - randseed = param_1 + 1; - return; -} -#else -GLOBAL_ASM( -.text -glabel increment_random_num -/* 00B098 7000A498 64840001 */ daddiu $a0, $a0, 1 -/* 00B09C 7000A49C 3C018002 */ lui $at, %hi(randseed) -/* 00B0A0 7000A4A0 FC244460 */ sd $a0, %lo(randseed)($at) -/* 00B0A4 7000A4A4 03E00008 */ jr $ra -/* 00B0A8 7000A4A8 24040000 */ li $a0, 0 -) -#endif - - - -#ifdef NONMATCHING -u32 lotsa_shifting_random_related(ulonglong *param_1) { - ulonglong uVar1; - - uVar1 = *param_1; - uVar1 = ((uVar1 << 0x3f) >> 0x1f | (uVar1 << 0x1f) >> 0x20) ^ (uVar1 << 0x2c) >> 0x20; - uVar1 = uVar1 >> 0x14 & 0xfff ^ uVar1; - *param_1 = uVar1; - return (u32)uVar1; -} -#else -GLOBAL_ASM( -.text -glabel lotsa_shifting_randomizer_related -/* 00B0AC 7000A4AC DC870000 */ ld $a3, ($a0) -/* 00B0B0 7000A4B0 000737FC */ dsll32 $a2, $a3, 0x1f -/* 00B0B4 7000A4B4 00072FF8 */ dsll $a1, $a3, 0x1f -/* 00B0B8 7000A4B8 000637FA */ dsrl $a2, $a2, 0x1f -/* 00B0BC 7000A4BC 0005283E */ dsrl32 $a1, $a1, 0 -/* 00B0C0 7000A4C0 00073B3C */ dsll32 $a3, $a3, 0xc -/* 00B0C4 7000A4C4 00C53025 */ or $a2, $a2, $a1 -/* 00B0C8 7000A4C8 0007383E */ dsrl32 $a3, $a3, 0 -/* 00B0CC 7000A4CC 00C73026 */ xor $a2, $a2, $a3 -/* 00B0D0 7000A4D0 00063D3A */ dsrl $a3, $a2, 0x14 -/* 00B0D4 7000A4D4 30E70FFF */ andi $a3, $a3, 0xfff -/* 00B0D8 7000A4D8 00E63826 */ xor $a3, $a3, $a2 -/* 00B0DC 7000A4DC 0007103C */ dsll32 $v0, $a3, 0 -/* 00B0E0 7000A4E0 FC870000 */ sd $a3, ($a0) -/* 00B0E4 7000A4E4 03E00008 */ jr $ra -/* 00B0E8 7000A4E8 0002103F */ dsra32 $v0, $v0, 0 -) -#endif - - - diff --git a/src/rarezip/rarezip.c b/src/rarezip/rarezip.c deleted file mode 100644 index 77c9b55..0000000 --- a/src/rarezip/rarezip.c +++ /dev/null @@ -1,1697 +0,0 @@ -#include "ultra64.h" -#include "rarezip/rarezip.h" - -//this file is modified from inflate.c found in gzip... -//does this create a license conflict in rare's original source tree? - -u32 rz_ptr_source = 0x00000000; -u32 rz_ptr_target = 0x00000000; -u32 inptr = 0x00000000; -u32 wp = 0x00000000; -u32 rz_ptrbuffer = 0x00000000; -u8 border[0x14] = { - 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; - -u16 cplens[0x20] = { - 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, - 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; - -u8 cplext[0x20] = { - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, - 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99}; - -u16 cpdist[0x1E] = { - 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, - 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, - 8193, 12289, 16385, 24577}; - -u8 cpdext[0x20] = { - 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, - 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, - 12, 12, 13, 13}; - -u32 bb = 0; -u32 bk = 0; - -u16 mask_bits[0x12] = { - 0x0000, 0x0001, 0x0003, 0x0007, - 0x000F, 0x001F, 0x003F, 0x007F, - 0x00FF, 0x01FF, 0x03FF, 0x07FF, - 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, - 0xFFFF, -}; - -u32 lbits = 9; -u32 dbits = 6; -u32 hufts = 0; - - -GLOBAL_ASM( -glabel huft_build -/* 033590 70200000 27BDFA10 */ addiu $sp, $sp, -0x5f0 -/* 033594 70200004 AFB20010 */ sw $s2, 0x10($sp) -/* 033598 70200008 00809025 */ move $s2, $a0 -/* 03359C 7020000C AFBF002C */ sw $ra, 0x2c($sp) -/* 0335A0 70200010 AFBE0028 */ sw $fp, 0x28($sp) -/* 0335A4 70200014 AFB70024 */ sw $s7, 0x24($sp) -/* 0335A8 70200018 AFB60020 */ sw $s6, 0x20($sp) -/* 0335AC 7020001C AFB5001C */ sw $s5, 0x1c($sp) -/* 0335B0 70200020 AFB40018 */ sw $s4, 0x18($sp) -/* 0335B4 70200024 AFB30014 */ sw $s3, 0x14($sp) -/* 0335B8 70200028 AFB1000C */ sw $s1, 0xc($sp) -/* 0335BC 7020002C AFB00008 */ sw $s0, 8($sp) -/* 0335C0 70200030 AFA605F8 */ sw $a2, 0x5f8($sp) -/* 0335C4 70200034 AFA705FC */ sw $a3, 0x5fc($sp) -/* 0335C8 70200038 AFA005A8 */ sw $zero, 0x5a8($sp) -/* 0335CC 7020003C 27A305AC */ addiu $v1, $sp, 0x5ac -/* 0335D0 70200040 27A205EC */ addiu $v0, $sp, 0x5ec -.L70200044: -/* 0335D4 70200044 24630010 */ addiu $v1, $v1, 0x10 -/* 0335D8 70200048 AC60FFF4 */ sw $zero, -0xc($v1) -/* 0335DC 7020004C AC60FFF8 */ sw $zero, -8($v1) -/* 0335E0 70200050 AC60FFFC */ sw $zero, -4($v1) -/* 0335E4 70200054 1462FFFB */ bne $v1, $v0, .L70200044 -/* 0335E8 70200058 AC60FFF0 */ sw $zero, -0x10($v1) -/* 0335EC 7020005C 30A20003 */ andi $v0, $a1, 3 -/* 0335F0 70200060 00021023 */ negu $v0, $v0 -/* 0335F4 70200064 0240F825 */ move $ra, $s2 -/* 0335F8 70200068 1040000D */ beqz $v0, .L702000A0 -/* 0335FC 7020006C 00A08025 */ move $s0, $a1 -/* 033600 70200070 00451821 */ addu $v1, $v0, $a1 -/* 033604 70200074 27A405A8 */ addiu $a0, $sp, 0x5a8 -.L70200078: -/* 033608 70200078 8FEE0000 */ lw $t6, ($ra) -/* 03360C 7020007C 2610FFFF */ addiu $s0, $s0, -1 -/* 033610 70200080 27FF0004 */ addiu $ra, $ra, 4 -/* 033614 70200084 000E7880 */ sll $t7, $t6, 2 -/* 033618 70200088 008F1021 */ addu $v0, $a0, $t7 -/* 03361C 7020008C 8C580000 */ lw $t8, ($v0) -/* 033620 70200090 27190001 */ addiu $t9, $t8, 1 -/* 033624 70200094 1470FFF8 */ bne $v1, $s0, .L70200078 -/* 033628 70200098 AC590000 */ sw $t9, ($v0) -/* 03362C 7020009C 1200001C */ beqz $s0, .L70200110 -.L702000A0: -/* 033630 702000A0 27A405A8 */ addiu $a0, $sp, 0x5a8 -.L702000A4: -/* 033634 702000A4 8FEE0000 */ lw $t6, ($ra) -/* 033638 702000A8 2610FFFC */ addiu $s0, $s0, -4 -/* 03363C 702000AC 27FF0010 */ addiu $ra, $ra, 0x10 -/* 033640 702000B0 000E7880 */ sll $t7, $t6, 2 -/* 033644 702000B4 008F1021 */ addu $v0, $a0, $t7 -/* 033648 702000B8 8C580000 */ lw $t8, ($v0) -/* 03364C 702000BC 27190001 */ addiu $t9, $t8, 1 -/* 033650 702000C0 AC590000 */ sw $t9, ($v0) -/* 033654 702000C4 8FEEFFF4 */ lw $t6, -0xc($ra) -/* 033658 702000C8 000E7880 */ sll $t7, $t6, 2 -/* 03365C 702000CC 008F1021 */ addu $v0, $a0, $t7 -/* 033660 702000D0 8C580000 */ lw $t8, ($v0) -/* 033664 702000D4 27190001 */ addiu $t9, $t8, 1 -/* 033668 702000D8 AC590000 */ sw $t9, ($v0) -/* 03366C 702000DC 8FEEFFF8 */ lw $t6, -8($ra) -/* 033670 702000E0 000E7880 */ sll $t7, $t6, 2 -/* 033674 702000E4 008F1021 */ addu $v0, $a0, $t7 -/* 033678 702000E8 8C580000 */ lw $t8, ($v0) -/* 03367C 702000EC 27190001 */ addiu $t9, $t8, 1 -/* 033680 702000F0 AC590000 */ sw $t9, ($v0) -/* 033684 702000F4 8FEEFFFC */ lw $t6, -4($ra) -/* 033688 702000F8 000E7880 */ sll $t7, $t6, 2 -/* 03368C 702000FC 008F1021 */ addu $v0, $a0, $t7 -/* 033690 70200100 8C580000 */ lw $t8, ($v0) -/* 033694 70200104 27190001 */ addiu $t9, $t8, 1 -/* 033698 70200108 1600FFE6 */ bnez $s0, .L702000A4 -/* 03369C 7020010C AC590000 */ sw $t9, ($v0) -.L70200110: -/* 0336A0 70200110 8FAE05A8 */ lw $t6, 0x5a8($sp) -/* 0336A4 70200114 8FA60608 */ lw $a2, 0x608($sp) -/* 0336A8 70200118 24070001 */ li $a3, 1 -/* 0336AC 7020011C 14AE0007 */ bne $a1, $t6, .L7020013C -/* 0336B0 70200120 27A805AC */ addiu $t0, $sp, 0x5ac -/* 0336B4 70200124 8FB60604 */ lw $s6, 0x604($sp) -/* 0336B8 70200128 8FA60608 */ lw $a2, 0x608($sp) -/* 0336BC 7020012C 00001025 */ move $v0, $zero -/* 0336C0 70200130 AEC00000 */ sw $zero, ($s6) -/* 0336C4 70200134 1000013B */ b .L70200624 -/* 0336C8 70200138 ACC00000 */ sw $zero, ($a2) -.L7020013C: -/* 0336CC 7020013C 8CD10000 */ lw $s1, ($a2) -/* 0336D0 70200140 24020011 */ li $v0, 17 -.L70200144: -/* 0336D4 70200144 8D0F0000 */ lw $t7, ($t0) -/* 0336D8 70200148 55E00005 */ bnezl $t7, .L70200160 -/* 0336DC 7020014C 0227082B */ sltu $at, $s1, $a3 -/* 0336E0 70200150 24E70001 */ addiu $a3, $a3, 1 -/* 0336E4 70200154 14E2FFFB */ bne $a3, $v0, .L70200144 -/* 0336E8 70200158 25080004 */ addiu $t0, $t0, 4 -/* 0336EC 7020015C 0227082B */ sltu $at, $s1, $a3 -.L70200160: -/* 0336F0 70200160 10200002 */ beqz $at, .L7020016C -/* 0336F4 70200164 00E0A825 */ move $s5, $a3 -/* 0336F8 70200168 00E08825 */ move $s1, $a3 -.L7020016C: -/* 0336FC 7020016C 24100010 */ li $s0, 16 -/* 033700 70200170 27A205E8 */ addiu $v0, $sp, 0x5e8 -.L70200174: -/* 033704 70200174 8C580000 */ lw $t8, ($v0) -/* 033708 70200178 57000005 */ bnezl $t8, .L70200190 -/* 03370C 7020017C 0211082B */ sltu $at, $s0, $s1 -/* 033710 70200180 2610FFFF */ addiu $s0, $s0, -1 -/* 033714 70200184 1600FFFB */ bnez $s0, .L70200174 -/* 033718 70200188 2442FFFC */ addiu $v0, $v0, -4 -/* 03371C 7020018C 0211082B */ sltu $at, $s0, $s1 -.L70200190: -/* 033720 70200190 10200002 */ beqz $at, .L7020019C -/* 033724 70200194 AFB005A0 */ sw $s0, 0x5a0($sp) -/* 033728 70200198 02008825 */ move $s1, $s0 -.L7020019C: -/* 03372C 7020019C 24190001 */ li $t9, 1 -/* 033730 702001A0 00F0082B */ sltu $at, $a3, $s0 -/* 033734 702001A4 ACD10000 */ sw $s1, ($a2) -/* 033738 702001A8 1020000B */ beqz $at, .L702001D8 -/* 03373C 702001AC 00F91804 */ sllv $v1, $t9, $a3 -/* 033740 702001B0 00107080 */ sll $t6, $s0, 2 -/* 033744 702001B4 27AF05A8 */ addiu $t7, $sp, 0x5a8 -/* 033748 702001B8 01CF3021 */ addu $a2, $t6, $t7 -.L702001BC: -/* 03374C 702001BC 8D180000 */ lw $t8, ($t0) -/* 033750 702001C0 25080004 */ addiu $t0, $t0, 4 -/* 033754 702001C4 0106082B */ sltu $at, $t0, $a2 -/* 033758 702001C8 00781823 */ subu $v1, $v1, $t8 -/* 03375C 702001CC 0003C840 */ sll $t9, $v1, 1 -/* 033760 702001D0 1420FFFA */ bnez $at, .L702001BC -/* 033764 702001D4 03201825 */ move $v1, $t9 -.L702001D8: -/* 033768 702001D8 8C480000 */ lw $t0, ($v0) -/* 03376C 702001DC 2610FFFF */ addiu $s0, $s0, -1 -/* 033770 702001E0 00003825 */ move $a3, $zero -/* 033774 702001E4 00681823 */ subu $v1, $v1, $t0 -/* 033778 702001E8 01037021 */ addu $t6, $t0, $v1 -/* 03377C 702001EC AC4E0000 */ sw $t6, ($v0) -/* 033780 702001F0 AFA00078 */ sw $zero, 0x78($sp) -/* 033784 702001F4 27BF05AC */ addiu $ra, $sp, 0x5ac -/* 033788 702001F8 27A6007C */ addiu $a2, $sp, 0x7c -/* 03378C 702001FC AFA505F4 */ sw $a1, 0x5f4($sp) -/* 033790 70200200 12000023 */ beqz $s0, .L70200290 -/* 033794 70200204 2442FFFC */ addiu $v0, $v0, -4 -/* 033798 70200208 32080003 */ andi $t0, $s0, 3 -/* 03379C 7020020C 00084023 */ negu $t0, $t0 -/* 0337A0 70200210 1100000E */ beqz $t0, .L7020024C -/* 0337A4 70200214 AFA505F4 */ sw $a1, 0x5f4($sp) -/* 0337A8 70200218 01104821 */ addu $t1, $t0, $s0 -/* 0337AC 7020021C 00097880 */ sll $t7, $t1, 2 -/* 0337B0 70200220 27B805A8 */ addiu $t8, $sp, 0x5a8 -/* 0337B4 70200224 01F82821 */ addu $a1, $t7, $t8 -.L70200228: -/* 0337B8 70200228 8FF90000 */ lw $t9, ($ra) -/* 0337BC 7020022C 2442FFFC */ addiu $v0, $v0, -4 -/* 0337C0 70200230 24C60004 */ addiu $a2, $a2, 4 -/* 0337C4 70200234 00F93821 */ addu $a3, $a3, $t9 -/* 0337C8 70200238 ACC7FFFC */ sw $a3, -4($a2) -/* 0337CC 7020023C 14A2FFFA */ bne $a1, $v0, .L70200228 -/* 0337D0 70200240 27FF0004 */ addiu $ra, $ra, 4 -/* 0337D4 70200244 27AE05A8 */ addiu $t6, $sp, 0x5a8 -/* 0337D8 70200248 104E0011 */ beq $v0, $t6, .L70200290 -.L7020024C: -/* 0337DC 7020024C 27A505A8 */ addiu $a1, $sp, 0x5a8 -.L70200250: -/* 0337E0 70200250 8FF80000 */ lw $t8, ($ra) -/* 0337E4 70200254 2442FFF0 */ addiu $v0, $v0, -0x10 -/* 0337E8 70200258 24C60010 */ addiu $a2, $a2, 0x10 -/* 0337EC 7020025C 00F83821 */ addu $a3, $a3, $t8 -/* 0337F0 70200260 ACC7FFF0 */ sw $a3, -0x10($a2) -/* 0337F4 70200264 8FF90004 */ lw $t9, 4($ra) -/* 0337F8 70200268 27FF0010 */ addiu $ra, $ra, 0x10 -/* 0337FC 7020026C 00F93821 */ addu $a3, $a3, $t9 -/* 033800 70200270 ACC7FFF4 */ sw $a3, -0xc($a2) -/* 033804 70200274 8FEEFFF8 */ lw $t6, -8($ra) -/* 033808 70200278 00EE3821 */ addu $a3, $a3, $t6 -/* 03380C 7020027C ACC7FFF8 */ sw $a3, -8($a2) -/* 033810 70200280 8FEFFFFC */ lw $t7, -4($ra) -/* 033814 70200284 00EF3821 */ addu $a3, $a3, $t7 -/* 033818 70200288 1445FFF1 */ bne $v0, $a1, .L70200250 -/* 03381C 7020028C ACC7FFFC */ sw $a3, -4($a2) -.L70200290: -/* 033820 70200290 8FAB05F4 */ lw $t3, 0x5f4($sp) -/* 033824 70200294 0240F825 */ move $ra, $s2 -/* 033828 70200298 00008025 */ move $s0, $zero -/* 03382C 7020029C 27A900BC */ addiu $t1, $sp, 0xbc -/* 033830 702002A0 27A60074 */ addiu $a2, $sp, 0x74 -/* 033834 702002A4 8FE70000 */ lw $a3, ($ra) -.L702002A8: -/* 033838 702002A8 27FF0004 */ addiu $ra, $ra, 4 -/* 03383C 702002AC 10E00008 */ beqz $a3, .L702002D0 -/* 033840 702002B0 0007C880 */ sll $t9, $a3, 2 -/* 033844 702002B4 00D91021 */ addu $v0, $a2, $t9 -/* 033848 702002B8 8C450000 */ lw $a1, ($v0) -/* 03384C 702002BC 00057080 */ sll $t6, $a1, 2 -/* 033850 702002C0 012E7821 */ addu $t7, $t1, $t6 -/* 033854 702002C4 ADF00000 */ sw $s0, ($t7) -/* 033858 702002C8 24B80001 */ addiu $t8, $a1, 1 -/* 03385C 702002CC AC580000 */ sw $t8, ($v0) -.L702002D0: -/* 033860 702002D0 26100001 */ addiu $s0, $s0, 1 -/* 033864 702002D4 020B082B */ sltu $at, $s0, $t3 -/* 033868 702002D8 5420FFF3 */ bnezl $at, .L702002A8 -/* 03386C 702002DC 8FE70000 */ lw $a3, ($ra) -/* 033870 702002E0 8FB905A0 */ lw $t9, 0x5a0($sp) -/* 033874 702002E4 AFA3006C */ sw $v1, 0x6c($sp) -/* 033878 702002E8 00008025 */ move $s0, $zero -/* 03387C 702002EC 0335082A */ slt $at, $t9, $s5 -/* 033880 702002F0 AFA00074 */ sw $zero, 0x74($sp) -/* 033884 702002F4 0120F825 */ move $ra, $t1 -/* 033888 702002F8 240CFFFF */ li $t4, -1 -/* 03388C 702002FC 00115023 */ negu $t2, $s1 -/* 033890 70200300 AFA0053C */ sw $zero, 0x53c($sp) -/* 033894 70200304 00003025 */ move $a2, $zero -/* 033898 70200308 142000BF */ bnez $at, .L70200608 -/* 03389C 7020030C 00004025 */ move $t0, $zero -/* 0338A0 70200310 00157080 */ sll $t6, $s5, 2 -/* 0338A4 70200314 27AF05A8 */ addiu $t7, $sp, 0x5a8 -/* 0338A8 70200318 01CFC021 */ addu $t8, $t6, $t7 -/* 0338AC 7020031C 3C1E7020 */ lui $fp, %hi(rz_ptrbuffer) # $fp, 0x7020 -/* 0338B0 70200320 3C137020 */ lui $s3, %hi(hufts) # $s3, 0x7020 -/* 0338B4 70200324 26731598 */ addiu $s3, %lo(hufts) # addiu $s3, $s3, 0x1598 -/* 0338B8 70200328 27DE1490 */ addiu $fp, %lo(rz_ptrbuffer) # addiu $fp, $fp, 0x1490 -/* 0338BC 7020032C AFB80050 */ sw $t8, 0x50($sp) -/* 0338C0 70200330 8FB60604 */ lw $s6, 0x604($sp) -/* 0338C4 70200334 27B4057C */ addiu $s4, $sp, 0x57c -.L70200338: -/* 0338C8 70200338 8FB90050 */ lw $t9, 0x50($sp) -/* 0338CC 7020033C 8FAF05F4 */ lw $t7, 0x5f4($sp) -/* 0338D0 70200340 000C6880 */ sll $t5, $t4, 2 -/* 0338D4 70200344 8F370000 */ lw $s7, ($t9) -/* 0338D8 70200348 27AE0074 */ addiu $t6, $sp, 0x74 -/* 0338DC 7020034C 000FC080 */ sll $t8, $t7, 2 -/* 0338E0 70200350 02E02825 */ move $a1, $s7 -/* 0338E4 70200354 12E000A4 */ beqz $s7, .L702005E8 -/* 0338E8 70200358 26F7FFFF */ addiu $s7, $s7, -1 -/* 0338EC 7020035C 01AE5821 */ addu $t3, $t5, $t6 -/* 0338F0 70200360 27B900BC */ addiu $t9, $sp, 0xbc -/* 0338F4 70200364 03197021 */ addu $t6, $t8, $t9 -/* 0338F8 70200368 24180001 */ li $t8, 1 -/* 0338FC 7020036C 26AF001F */ addiu $t7, $s5, 0x1f -/* 033900 70200370 01F8C804 */ sllv $t9, $t8, $t7 -/* 033904 70200374 AFB90034 */ sw $t9, 0x34($sp) -/* 033908 70200378 AFAE0038 */ sw $t6, 0x38($sp) -.L7020037C: -/* 03390C 7020037C 01511821 */ addu $v1, $t2, $s1 -/* 033910 70200380 0075082A */ slt $at, $v1, $s5 -/* 033914 70200384 10200047 */ beqz $at, .L702004A4 -/* 033918 70200388 26F20001 */ addiu $s2, $s7, 1 -/* 03391C 7020038C 27AE053C */ addiu $t6, $sp, 0x53c -/* 033920 70200390 01AE4821 */ addu $t1, $t5, $t6 -/* 033924 70200394 8FB805A0 */ lw $t8, 0x5a0($sp) -.L70200398: -/* 033928 70200398 258C0001 */ addiu $t4, $t4, 1 -/* 03392C 7020039C 25AD0004 */ addiu $t5, $t5, 4 -/* 033930 702003A0 03034023 */ subu $t0, $t8, $v1 -/* 033934 702003A4 0228082B */ sltu $at, $s1, $t0 -/* 033938 702003A8 25290004 */ addiu $t1, $t1, 4 -/* 03393C 702003AC 256B0004 */ addiu $t3, $t3, 4 -/* 033940 702003B0 10200002 */ beqz $at, .L702003BC -/* 033944 702003B4 00605025 */ move $t2, $v1 -/* 033948 702003B8 02204025 */ move $t0, $s1 -.L702003BC: -/* 03394C 702003BC 02AA1023 */ subu $v0, $s5, $t2 -/* 033950 702003C0 240F0001 */ li $t7, 1 -/* 033954 702003C4 004F2004 */ sllv $a0, $t7, $v0 -/* 033958 702003C8 0244082B */ sltu $at, $s2, $a0 -/* 03395C 702003CC 10200013 */ beqz $at, .L7020041C -/* 033960 702003D0 00403825 */ move $a3, $v0 -/* 033964 702003D4 24470001 */ addiu $a3, $v0, 1 -/* 033968 702003D8 00971823 */ subu $v1, $a0, $s7 -/* 03396C 702003DC 0015C880 */ sll $t9, $s5, 2 -/* 033970 702003E0 27AE05A8 */ addiu $t6, $sp, 0x5a8 -/* 033974 702003E4 00E8082B */ sltu $at, $a3, $t0 -/* 033978 702003E8 2463FFFF */ addiu $v1, $v1, -1 -/* 03397C 702003EC 1020000B */ beqz $at, .L7020041C -/* 033980 702003F0 032E3021 */ addu $a2, $t9, $t6 -.L702003F4: -/* 033984 702003F4 8CC40004 */ lw $a0, 4($a2) -/* 033988 702003F8 00031040 */ sll $v0, $v1, 1 -/* 03398C 702003FC 24C60004 */ addiu $a2, $a2, 4 -/* 033990 70200400 0082082B */ sltu $at, $a0, $v0 -/* 033994 70200404 50200006 */ beql $at, $zero, .L70200420 -/* 033998 70200408 8E630000 */ lw $v1, ($s3) -/* 03399C 7020040C 24E70001 */ addiu $a3, $a3, 1 -/* 0339A0 70200410 00E8082B */ sltu $at, $a3, $t0 -/* 0339A4 70200414 1420FFF7 */ bnez $at, .L702003F4 -/* 0339A8 70200418 00441823 */ subu $v1, $v0, $a0 -.L7020041C: -/* 0339AC 7020041C 8E630000 */ lw $v1, ($s3) -.L70200420: -/* 0339B0 70200420 8FD90000 */ lw $t9, ($fp) -/* 0339B4 70200424 24180001 */ li $t8, 1 -/* 0339B8 70200428 00F84004 */ sllv $t0, $t8, $a3 -/* 0339BC 7020042C 000378C0 */ sll $t7, $v1, 3 -/* 0339C0 70200430 00687021 */ addu $t6, $v1, $t0 -/* 0339C4 70200434 25D80001 */ addiu $t8, $t6, 1 -/* 0339C8 70200438 01F93021 */ addu $a2, $t7, $t9 -/* 0339CC 7020043C AE780000 */ sw $t8, ($s3) -/* 0339D0 70200440 24C40008 */ addiu $a0, $a2, 8 -/* 0339D4 70200444 AEC40000 */ sw $a0, ($s6) -/* 0339D8 70200448 ACC00004 */ sw $zero, 4($a2) -/* 0339DC 7020044C 24D60004 */ addiu $s6, $a2, 4 -/* 0339E0 70200450 00803025 */ move $a2, $a0 -/* 0339E4 70200454 1180000F */ beqz $t4, .L70200494 -/* 0339E8 70200458 AD240000 */ sw $a0, ($t1) -/* 0339EC 7020045C AD700000 */ sw $s0, ($t3) -/* 0339F0 70200460 24EF0010 */ addiu $t7, $a3, 0x10 -/* 0339F4 70200464 A3B1057D */ sb $s1, 0x57d($sp) -/* 0339F8 70200468 A3AF057C */ sb $t7, 0x57c($sp) -/* 0339FC 7020046C AFA40580 */ sw $a0, 0x580($sp) -/* 033A00 70200470 8D39FFFC */ lw $t9, -4($t1) -/* 033A04 70200474 01517023 */ subu $t6, $t2, $s1 -/* 033A08 70200478 8E810000 */ lw $at, ($s4) -/* 033A0C 7020047C 01D0C006 */ srlv $t8, $s0, $t6 -/* 033A10 70200480 001878C0 */ sll $t7, $t8, 3 -/* 033A14 70200484 032F7021 */ addu $t6, $t9, $t7 -/* 033A18 70200488 ADC10000 */ sw $at, ($t6) -/* 033A1C 7020048C 8E8F0004 */ lw $t7, 4($s4) -/* 033A20 70200490 ADCF0004 */ sw $t7, 4($t6) -.L70200494: -/* 033A24 70200494 01511821 */ addu $v1, $t2, $s1 -/* 033A28 70200498 0075082A */ slt $at, $v1, $s5 -/* 033A2C 7020049C 5420FFBE */ bnezl $at, .L70200398 -/* 033A30 702004A0 8FB805A0 */ lw $t8, 0x5a0($sp) -.L702004A4: -/* 033A34 702004A4 8FB80038 */ lw $t8, 0x38($sp) -/* 033A38 702004A8 24190001 */ li $t9, 1 -/* 033A3C 702004AC 02AA1823 */ subu $v1, $s5, $t2 -/* 033A40 702004B0 01592804 */ sllv $a1, $t9, $t2 -/* 033A44 702004B4 03F8082B */ sltu $at, $ra, $t8 -/* 033A48 702004B8 A3A3057D */ sb $v1, 0x57d($sp) -/* 033A4C 702004BC 14200004 */ bnez $at, .L702004D0 -/* 033A50 702004C0 24A5FFFF */ addiu $a1, $a1, -1 -/* 033A54 702004C4 240E0063 */ li $t6, 99 -/* 033A58 702004C8 10000020 */ b .L7020054C -/* 033A5C 702004CC A3AE057C */ sb $t6, 0x57c($sp) -.L702004D0: -/* 033A60 702004D0 8FE20000 */ lw $v0, ($ra) -/* 033A64 702004D4 8FAF05F8 */ lw $t7, 0x5f8($sp) -/* 033A68 702004D8 8FA405F8 */ lw $a0, 0x5f8($sp) -/* 033A6C 702004DC 8FB90600 */ lw $t9, 0x600($sp) -/* 033A70 702004E0 004F082B */ sltu $at, $v0, $t7 -/* 033A74 702004E4 1020000B */ beqz $at, .L70200514 -/* 033A78 702004E8 2C410100 */ sltiu $at, $v0, 0x100 -/* 033A7C 702004EC 10200004 */ beqz $at, .L70200500 -/* 033A80 702004F0 2418000F */ li $t8, 15 -/* 033A84 702004F4 24190010 */ li $t9, 16 -/* 033A88 702004F8 10000002 */ b .L70200504 -/* 033A8C 702004FC A3B9057C */ sb $t9, 0x57c($sp) -.L70200500: -/* 033A90 70200500 A3B8057C */ sb $t8, 0x57c($sp) -.L70200504: -/* 033A94 70200504 8FEE0000 */ lw $t6, ($ra) -/* 033A98 70200508 27FF0004 */ addiu $ra, $ra, 4 -/* 033A9C 7020050C 1000000F */ b .L7020054C -/* 033AA0 70200510 A7AE0580 */ sh $t6, 0x580($sp) -.L70200514: -/* 033AA4 70200514 00447823 */ subu $t7, $v0, $a0 -/* 033AA8 70200518 01F9C021 */ addu $t8, $t7, $t9 -/* 033AAC 7020051C 930E0000 */ lbu $t6, ($t8) -/* 033AB0 70200520 8FAF05FC */ lw $t7, 0x5fc($sp) -/* 033AB4 70200524 27FF0004 */ addiu $ra, $ra, 4 -/* 033AB8 70200528 A3AE057C */ sb $t6, 0x57c($sp) -/* 033ABC 7020052C 8FF9FFFC */ lw $t9, -4($ra) -/* 033AC0 70200530 0019C040 */ sll $t8, $t9, 1 -/* 033AC4 70200534 0004C840 */ sll $t9, $a0, 1 -/* 033AC8 70200538 01F87021 */ addu $t6, $t7, $t8 -/* 033ACC 7020053C 00197823 */ negu $t7, $t9 -/* 033AD0 70200540 01CFC021 */ addu $t8, $t6, $t7 -/* 033AD4 70200544 97190000 */ lhu $t9, ($t8) -/* 033AD8 70200548 A7B90580 */ sh $t9, 0x580($sp) -.L7020054C: -/* 033ADC 7020054C 01503806 */ srlv $a3, $s0, $t2 -/* 033AE0 70200550 00E8082B */ sltu $at, $a3, $t0 -/* 033AE4 70200554 1020000B */ beqz $at, .L70200584 -/* 033AE8 70200558 240E0001 */ li $t6, 1 -/* 033AEC 7020055C 006E1004 */ sllv $v0, $t6, $v1 -.L70200560: -/* 033AF0 70200560 8E810000 */ lw $at, ($s4) -/* 033AF4 70200564 000778C0 */ sll $t7, $a3, 3 -/* 033AF8 70200568 00CFC021 */ addu $t8, $a2, $t7 -/* 033AFC 7020056C AF010000 */ sw $at, ($t8) -/* 033B00 70200570 8E8E0004 */ lw $t6, 4($s4) -/* 033B04 70200574 00E23821 */ addu $a3, $a3, $v0 -/* 033B08 70200578 00E8082B */ sltu $at, $a3, $t0 -/* 033B0C 7020057C 1420FFF8 */ bnez $at, .L70200560 -/* 033B10 70200580 AF0E0004 */ sw $t6, 4($t8) -.L70200584: -/* 033B14 70200584 8FA70034 */ lw $a3, 0x34($sp) -/* 033B18 70200588 8D620000 */ lw $v0, ($t3) -/* 033B1C 7020058C 02077824 */ and $t7, $s0, $a3 -/* 033B20 70200590 11E00005 */ beqz $t7, .L702005A8 -.L70200594: -/* 033B24 70200594 0007C842 */ srl $t9, $a3, 1 -/* 033B28 70200598 02078026 */ xor $s0, $s0, $a3 -/* 033B2C 7020059C 0219C024 */ and $t8, $s0, $t9 -/* 033B30 702005A0 1700FFFC */ bnez $t8, .L70200594 -/* 033B34 702005A4 03203825 */ move $a3, $t9 -.L702005A8: -/* 033B38 702005A8 02078026 */ xor $s0, $s0, $a3 -/* 033B3C 702005AC 02057024 */ and $t6, $s0, $a1 -/* 033B40 702005B0 11C2000B */ beq $t6, $v0, .L702005E0 -/* 033B44 702005B4 02E02825 */ move $a1, $s7 -.L702005B8: -/* 033B48 702005B8 01515023 */ subu $t2, $t2, $s1 -/* 033B4C 702005BC 240F0001 */ li $t7, 1 -/* 033B50 702005C0 014FC804 */ sllv $t9, $t7, $t2 -/* 033B54 702005C4 8D6FFFFC */ lw $t7, -4($t3) -/* 033B58 702005C8 2738FFFF */ addiu $t8, $t9, -1 -/* 033B5C 702005CC 02187024 */ and $t6, $s0, $t8 -/* 033B60 702005D0 258CFFFF */ addiu $t4, $t4, -1 -/* 033B64 702005D4 25ADFFFC */ addiu $t5, $t5, -4 -/* 033B68 702005D8 15CFFFF7 */ bne $t6, $t7, .L702005B8 -/* 033B6C 702005DC 256BFFFC */ addiu $t3, $t3, -4 -.L702005E0: -/* 033B70 702005E0 16E0FF66 */ bnez $s7, .L7020037C -/* 033B74 702005E4 26F7FFFF */ addiu $s7, $s7, -1 -.L702005E8: -/* 033B78 702005E8 8FB90050 */ lw $t9, 0x50($sp) -/* 033B7C 702005EC 8FAE05A0 */ lw $t6, 0x5a0($sp) -/* 033B80 702005F0 26B50001 */ addiu $s5, $s5, 1 -/* 033B84 702005F4 27380004 */ addiu $t8, $t9, 4 -/* 033B88 702005F8 01D5082A */ slt $at, $t6, $s5 -/* 033B8C 702005FC 1020FF4E */ beqz $at, .L70200338 -/* 033B90 70200600 AFB80050 */ sw $t8, 0x50($sp) -/* 033B94 70200604 AFB60604 */ sw $s6, 0x604($sp) -.L70200608: -/* 033B98 70200608 8FA2006C */ lw $v0, 0x6c($sp) -/* 033B9C 7020060C 0002782B */ sltu $t7, $zero, $v0 -/* 033BA0 70200610 11E00004 */ beqz $t7, .L70200624 -/* 033BA4 70200614 01E01025 */ move $v0, $t7 -/* 033BA8 70200618 8FA205A0 */ lw $v0, 0x5a0($sp) -/* 033BAC 7020061C 38590001 */ xori $t9, $v0, 1 -/* 033BB0 70200620 0019102B */ sltu $v0, $zero, $t9 -.L70200624: -/* 033BB4 70200624 8FBF002C */ lw $ra, 0x2c($sp) -/* 033BB8 70200628 8FB00008 */ lw $s0, 8($sp) -/* 033BBC 7020062C 8FB1000C */ lw $s1, 0xc($sp) -/* 033BC0 70200630 8FB20010 */ lw $s2, 0x10($sp) -/* 033BC4 70200634 8FB30014 */ lw $s3, 0x14($sp) -/* 033BC8 70200638 8FB40018 */ lw $s4, 0x18($sp) -/* 033BCC 7020063C 8FB5001C */ lw $s5, 0x1c($sp) -/* 033BD0 70200640 8FB60020 */ lw $s6, 0x20($sp) -/* 033BD4 70200644 8FB70024 */ lw $s7, 0x24($sp) -/* 033BD8 70200648 8FBE0028 */ lw $fp, 0x28($sp) -/* 033BDC 7020064C 03E00008 */ jr $ra -/* 033BE0 70200650 27BD05F0 */ addiu $sp, $sp, 0x5f0 -) - -GLOBAL_ASM( -glabel inflate_codes -/* 033BE4 70200654 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 033BE8 70200658 3C0B7020 */ lui $t3, %hi(mask_bits) # $t3, 0x7020 -/* 033BEC 7020065C 256B156C */ addiu $t3, %lo(mask_bits) # addiu $t3, $t3, 0x156c -/* 033BF0 70200660 AFB10008 */ sw $s1, 8($sp) -/* 033BF4 70200664 AFB00004 */ sw $s0, 4($sp) -/* 033BF8 70200668 00067040 */ sll $t6, $a2, 1 -/* 033BFC 7020066C 0007C040 */ sll $t8, $a3, 1 -/* 033C00 70200670 00C08025 */ move $s0, $a2 -/* 033C04 70200674 00E08825 */ move $s1, $a3 -/* 033C08 70200678 3C097020 */ lui $t1, %hi(bb) # $t1, 0x7020 -/* 033C0C 7020067C 3C087020 */ lui $t0, %hi(bk) # $t0, 0x7020 -/* 033C10 70200680 3C037020 */ lui $v1, %hi(wp) # $v1, 0x7020 -/* 033C14 70200684 016E7821 */ addu $t7, $t3, $t6 -/* 033C18 70200688 0178C821 */ addu $t9, $t3, $t8 -/* 033C1C 7020068C 3C077020 */ lui $a3, %hi(inptr) # $a3, 0x7020 -/* 033C20 70200690 3C067020 */ lui $a2, %hi(rz_ptr_target) # $a2, 0x7020 -/* 033C24 70200694 AFB2000C */ sw $s2, 0xc($sp) -/* 033C28 70200698 AFA40010 */ sw $a0, 0x10($sp) -/* 033C2C 7020069C AFA50014 */ sw $a1, 0x14($sp) -/* 033C30 702006A0 8D291564 */ lw $t1, %lo(bb)($t1) -/* 033C34 702006A4 8D081568 */ lw $t0, %lo(bk)($t0) -/* 033C38 702006A8 8C63148C */ lw $v1, %lo(wp)($v1) -/* 033C3C 702006AC 95EC0000 */ lhu $t4, ($t7) -/* 033C40 702006B0 972D0000 */ lhu $t5, ($t9) -/* 033C44 702006B4 24C61484 */ addiu $a2, %lo(rz_ptr_target) # addiu $a2, $a2, 0x1484 -/* 033C48 702006B8 24E71488 */ addiu $a3, %lo(inptr) # addiu $a3, $a3, 0x1488 -.L702006BC: -/* 033C4C 702006BC 0110082B */ sltu $at, $t0, $s0 -.L702006C0: -/* 033C50 702006C0 1020000C */ beqz $at, .L702006F4 -/* 033C54 702006C4 3C027020 */ lui $v0, %hi(rz_ptr_source) # $v0, 0x7020 -/* 033C58 702006C8 8C421480 */ lw $v0, %lo(rz_ptr_source)($v0) -.L702006CC: -/* 033C5C 702006CC 8CF20000 */ lw $s2, ($a3) -/* 033C60 702006D0 00527021 */ addu $t6, $v0, $s2 -/* 033C64 702006D4 91CF0000 */ lbu $t7, ($t6) -/* 033C68 702006D8 26590001 */ addiu $t9, $s2, 1 -/* 033C6C 702006DC ACF90000 */ sw $t9, ($a3) -/* 033C70 702006E0 010FC004 */ sllv $t8, $t7, $t0 -/* 033C74 702006E4 25080008 */ addiu $t0, $t0, 8 -/* 033C78 702006E8 0110082B */ sltu $at, $t0, $s0 -/* 033C7C 702006EC 1420FFF7 */ bnez $at, .L702006CC -/* 033C80 702006F0 01384825 */ or $t1, $t1, $t8 -.L702006F4: -/* 033C84 702006F4 8FB80010 */ lw $t8, 0x10($sp) -/* 033C88 702006F8 012C7024 */ and $t6, $t1, $t4 -/* 033C8C 702006FC 000E78C0 */ sll $t7, $t6, 3 -/* 033C90 70200700 01F82821 */ addu $a1, $t7, $t8 -/* 033C94 70200704 90A40000 */ lbu $a0, ($a1) -/* 033C98 70200708 2C810011 */ sltiu $at, $a0, 0x11 -/* 033C9C 7020070C 5420001F */ bnezl $at, .L7020078C -/* 033CA0 70200710 90A20001 */ lbu $v0, 1($a1) -/* 033CA4 70200714 90A20001 */ lbu $v0, 1($a1) -.L70200718: -/* 033CA8 70200718 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 033CAC 7020071C 01024023 */ subu $t0, $t0, $v0 -/* 033CB0 70200720 0104082B */ sltu $at, $t0, $a0 -/* 033CB4 70200724 1020000D */ beqz $at, .L7020075C -/* 033CB8 70200728 00494806 */ srlv $t1, $t1, $v0 -/* 033CBC 7020072C 3C027020 */ lui $v0, %hi(rz_ptr_source) # $v0, 0x7020 -/* 033CC0 70200730 8C421480 */ lw $v0, %lo(rz_ptr_source)($v0) -.L70200734: -/* 033CC4 70200734 8CF20000 */ lw $s2, ($a3) -/* 033CC8 70200738 0052C821 */ addu $t9, $v0, $s2 -/* 033CCC 7020073C 932E0000 */ lbu $t6, ($t9) -/* 033CD0 70200740 26580001 */ addiu $t8, $s2, 1 -/* 033CD4 70200744 ACF80000 */ sw $t8, ($a3) -/* 033CD8 70200748 010E7804 */ sllv $t7, $t6, $t0 -/* 033CDC 7020074C 25080008 */ addiu $t0, $t0, 8 -/* 033CE0 70200750 0104082B */ sltu $at, $t0, $a0 -/* 033CE4 70200754 1420FFF7 */ bnez $at, .L70200734 -/* 033CE8 70200758 012F4825 */ or $t1, $t1, $t7 -.L7020075C: -/* 033CEC 7020075C 0004C840 */ sll $t9, $a0, 1 -/* 033CF0 70200760 01797021 */ addu $t6, $t3, $t9 -/* 033CF4 70200764 95CF0000 */ lhu $t7, ($t6) -/* 033CF8 70200768 8CAE0004 */ lw $t6, 4($a1) -/* 033CFC 7020076C 01E9C024 */ and $t8, $t7, $t1 -/* 033D00 70200770 0018C8C0 */ sll $t9, $t8, 3 -/* 033D04 70200774 032E2821 */ addu $a1, $t9, $t6 -/* 033D08 70200778 90A40000 */ lbu $a0, ($a1) -/* 033D0C 7020077C 2C810011 */ sltiu $at, $a0, 0x11 -/* 033D10 70200780 5020FFE5 */ beql $at, $zero, .L70200718 -/* 033D14 70200784 90A20001 */ lbu $v0, 1($a1) -/* 033D18 70200788 90A20001 */ lbu $v0, 1($a1) -.L7020078C: -/* 033D1C 7020078C 24010010 */ li $at, 16 -/* 033D20 70200790 00494806 */ srlv $t1, $t1, $v0 -/* 033D24 70200794 14810007 */ bne $a0, $at, .L702007B4 -/* 033D28 70200798 01024023 */ subu $t0, $t0, $v0 -/* 033D2C 7020079C 8CD80000 */ lw $t8, ($a2) -/* 033D30 702007A0 94AF0004 */ lhu $t7, 4($a1) -/* 033D34 702007A4 0303C821 */ addu $t9, $t8, $v1 -/* 033D38 702007A8 24630001 */ addiu $v1, $v1, 1 -/* 033D3C 702007AC 1000FFC3 */ b .L702006BC -/* 033D40 702007B0 A32F0000 */ sb $t7, ($t9) -.L702007B4: -/* 033D44 702007B4 2401000F */ li $at, 15 -/* 033D48 702007B8 10810097 */ beq $a0, $at, .L70200A18 -/* 033D4C 702007BC 3C027020 */ lui $v0, %hi(rz_ptr_source) # $v0, 0x7020 -/* 033D50 702007C0 0104082B */ sltu $at, $t0, $a0 -/* 033D54 702007C4 5020000D */ beql $at, $zero, .L702007FC -/* 033D58 702007C8 00047040 */ sll $t6, $a0, 1 -/* 033D5C 702007CC 8C421480 */ lw $v0, %lo(rz_ptr_source)($v0) -.L702007D0: -/* 033D60 702007D0 8CF20000 */ lw $s2, ($a3) -/* 033D64 702007D4 00527021 */ addu $t6, $v0, $s2 -/* 033D68 702007D8 91D80000 */ lbu $t8, ($t6) -/* 033D6C 702007DC 26590001 */ addiu $t9, $s2, 1 -/* 033D70 702007E0 ACF90000 */ sw $t9, ($a3) -/* 033D74 702007E4 01187804 */ sllv $t7, $t8, $t0 -/* 033D78 702007E8 25080008 */ addiu $t0, $t0, 8 -/* 033D7C 702007EC 0104082B */ sltu $at, $t0, $a0 -/* 033D80 702007F0 1420FFF7 */ bnez $at, .L702007D0 -/* 033D84 702007F4 012F4825 */ or $t1, $t1, $t7 -/* 033D88 702007F8 00047040 */ sll $t6, $a0, 1 -.L702007FC: -/* 033D8C 702007FC 016EC021 */ addu $t8, $t3, $t6 -/* 033D90 70200800 970F0000 */ lhu $t7, ($t8) -/* 033D94 70200804 94AE0004 */ lhu $t6, 4($a1) -/* 033D98 70200808 01044023 */ subu $t0, $t0, $a0 -/* 033D9C 7020080C 0111082B */ sltu $at, $t0, $s1 -/* 033DA0 70200810 01E9C824 */ and $t9, $t7, $t1 -/* 033DA4 70200814 00894806 */ srlv $t1, $t1, $a0 -/* 033DA8 70200818 1020000D */ beqz $at, .L70200850 -/* 033DAC 7020081C 032E5021 */ addu $t2, $t9, $t6 -/* 033DB0 70200820 3C027020 */ lui $v0, %hi(rz_ptr_source) # $v0, 0x7020 -/* 033DB4 70200824 8C421480 */ lw $v0, %lo(rz_ptr_source)($v0) -.L70200828: -/* 033DB8 70200828 8CF20000 */ lw $s2, ($a3) -/* 033DBC 7020082C 0052C021 */ addu $t8, $v0, $s2 -/* 033DC0 70200830 930F0000 */ lbu $t7, ($t8) -/* 033DC4 70200834 264E0001 */ addiu $t6, $s2, 1 -/* 033DC8 70200838 ACEE0000 */ sw $t6, ($a3) -/* 033DCC 7020083C 010FC804 */ sllv $t9, $t7, $t0 -/* 033DD0 70200840 25080008 */ addiu $t0, $t0, 8 -/* 033DD4 70200844 0111082B */ sltu $at, $t0, $s1 -/* 033DD8 70200848 1420FFF7 */ bnez $at, .L70200828 -/* 033DDC 7020084C 01394825 */ or $t1, $t1, $t9 -.L70200850: -/* 033DE0 70200850 8FB90014 */ lw $t9, 0x14($sp) -/* 033DE4 70200854 012DC024 */ and $t8, $t1, $t5 -/* 033DE8 70200858 001878C0 */ sll $t7, $t8, 3 -/* 033DEC 7020085C 01F92821 */ addu $a1, $t7, $t9 -/* 033DF0 70200860 90A40000 */ lbu $a0, ($a1) -/* 033DF4 70200864 2C810011 */ sltiu $at, $a0, 0x11 -/* 033DF8 70200868 5420001F */ bnezl $at, .L702008E8 -/* 033DFC 7020086C 90A20001 */ lbu $v0, 1($a1) -/* 033E00 70200870 90A20001 */ lbu $v0, 1($a1) -.L70200874: -/* 033E04 70200874 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 033E08 70200878 01024023 */ subu $t0, $t0, $v0 -/* 033E0C 7020087C 0104082B */ sltu $at, $t0, $a0 -/* 033E10 70200880 1020000D */ beqz $at, .L702008B8 -/* 033E14 70200884 00494806 */ srlv $t1, $t1, $v0 -/* 033E18 70200888 3C027020 */ lui $v0, %hi(rz_ptr_source) # $v0, 0x7020 -/* 033E1C 7020088C 8C421480 */ lw $v0, %lo(rz_ptr_source)($v0) -.L70200890: -/* 033E20 70200890 8CF20000 */ lw $s2, ($a3) -/* 033E24 70200894 00527021 */ addu $t6, $v0, $s2 -/* 033E28 70200898 91D80000 */ lbu $t8, ($t6) -/* 033E2C 7020089C 26590001 */ addiu $t9, $s2, 1 -/* 033E30 702008A0 ACF90000 */ sw $t9, ($a3) -/* 033E34 702008A4 01187804 */ sllv $t7, $t8, $t0 -/* 033E38 702008A8 25080008 */ addiu $t0, $t0, 8 -/* 033E3C 702008AC 0104082B */ sltu $at, $t0, $a0 -/* 033E40 702008B0 1420FFF7 */ bnez $at, .L70200890 -/* 033E44 702008B4 012F4825 */ or $t1, $t1, $t7 -.L702008B8: -/* 033E48 702008B8 00047040 */ sll $t6, $a0, 1 -/* 033E4C 702008BC 016EC021 */ addu $t8, $t3, $t6 -/* 033E50 702008C0 970F0000 */ lhu $t7, ($t8) -/* 033E54 702008C4 8CB80004 */ lw $t8, 4($a1) -/* 033E58 702008C8 01E9C824 */ and $t9, $t7, $t1 -/* 033E5C 702008CC 001970C0 */ sll $t6, $t9, 3 -/* 033E60 702008D0 01D82821 */ addu $a1, $t6, $t8 -/* 033E64 702008D4 90A40000 */ lbu $a0, ($a1) -/* 033E68 702008D8 2C810011 */ sltiu $at, $a0, 0x11 -/* 033E6C 702008DC 5020FFE5 */ beql $at, $zero, .L70200874 -/* 033E70 702008E0 90A20001 */ lbu $v0, 1($a1) -/* 033E74 702008E4 90A20001 */ lbu $v0, 1($a1) -.L702008E8: -/* 033E78 702008E8 01024023 */ subu $t0, $t0, $v0 -/* 033E7C 702008EC 0104082B */ sltu $at, $t0, $a0 -/* 033E80 702008F0 1020000D */ beqz $at, .L70200928 -/* 033E84 702008F4 00494806 */ srlv $t1, $t1, $v0 -/* 033E88 702008F8 3C027020 */ lui $v0, %hi(rz_ptr_source) # $v0, 0x7020 -/* 033E8C 702008FC 8C421480 */ lw $v0, %lo(rz_ptr_source)($v0) -.L70200900: -/* 033E90 70200900 8CF20000 */ lw $s2, ($a3) -/* 033E94 70200904 00527821 */ addu $t7, $v0, $s2 -/* 033E98 70200908 91F90000 */ lbu $t9, ($t7) -/* 033E9C 7020090C 26580001 */ addiu $t8, $s2, 1 -/* 033EA0 70200910 ACF80000 */ sw $t8, ($a3) -/* 033EA4 70200914 01197004 */ sllv $t6, $t9, $t0 -/* 033EA8 70200918 25080008 */ addiu $t0, $t0, 8 -/* 033EAC 7020091C 0104082B */ sltu $at, $t0, $a0 -/* 033EB0 70200920 1420FFF7 */ bnez $at, .L70200900 -/* 033EB4 70200924 012E4825 */ or $t1, $t1, $t6 -.L70200928: -/* 033EB8 70200928 94AF0004 */ lhu $t7, 4($a1) -/* 033EBC 7020092C 00047040 */ sll $t6, $a0, 1 -/* 033EC0 70200930 016EC021 */ addu $t8, $t3, $t6 -/* 033EC4 70200934 006FC823 */ subu $t9, $v1, $t7 -/* 033EC8 70200938 970F0000 */ lhu $t7, ($t8) -/* 033ECC 7020093C 01044023 */ subu $t0, $t0, $a0 -/* 033ED0 70200940 01E97024 */ and $t6, $t7, $t1 -/* 033ED4 70200944 032E1023 */ subu $v0, $t9, $t6 -/* 033ED8 70200948 00894806 */ srlv $t1, $t1, $a0 -/* 033EDC 7020094C 01402025 */ move $a0, $t2 -.L70200950: -/* 033EE0 70200950 30920003 */ andi $s2, $a0, 3 -/* 033EE4 70200954 00129023 */ negu $s2, $s2 -/* 033EE8 70200958 1240000D */ beqz $s2, .L70200990 -/* 033EEC 7020095C 00005025 */ move $t2, $zero -/* 033EF0 70200960 02442821 */ addu $a1, $s2, $a0 -.L70200964: -/* 033EF4 70200964 8CD20000 */ lw $s2, ($a2) -/* 033EF8 70200968 2484FFFF */ addiu $a0, $a0, -1 -/* 033EFC 7020096C 0052C021 */ addu $t8, $v0, $s2 -/* 033F00 70200970 930F0000 */ lbu $t7, ($t8) -/* 033F04 70200974 0243C821 */ addu $t9, $s2, $v1 -/* 033F08 70200978 24630001 */ addiu $v1, $v1, 1 -/* 033F0C 7020097C 24420001 */ addiu $v0, $v0, 1 -/* 033F10 70200980 14A4FFF8 */ bne $a1, $a0, .L70200964 -/* 033F14 70200984 A32F0000 */ sb $t7, ($t9) -/* 033F18 70200988 1080001F */ beqz $a0, .L70200A08 -/* 033F1C 7020098C 00000000 */ nop -.L70200990: -/* 033F20 70200990 8CD20000 */ lw $s2, ($a2) -/* 033F24 70200994 2484FFFC */ addiu $a0, $a0, -4 -/* 033F28 70200998 00527021 */ addu $t6, $v0, $s2 -/* 033F2C 7020099C 91D80000 */ lbu $t8, ($t6) -/* 033F30 702009A0 02437821 */ addu $t7, $s2, $v1 -/* 033F34 702009A4 24420001 */ addiu $v0, $v0, 1 -/* 033F38 702009A8 A1F80000 */ sb $t8, ($t7) -/* 033F3C 702009AC 8CD20000 */ lw $s2, ($a2) -/* 033F40 702009B0 24630001 */ addiu $v1, $v1, 1 -/* 033F44 702009B4 0052C821 */ addu $t9, $v0, $s2 -/* 033F48 702009B8 932E0000 */ lbu $t6, ($t9) -/* 033F4C 702009BC 0243C021 */ addu $t8, $s2, $v1 -/* 033F50 702009C0 24420001 */ addiu $v0, $v0, 1 -/* 033F54 702009C4 A30E0000 */ sb $t6, ($t8) -/* 033F58 702009C8 8CD20000 */ lw $s2, ($a2) -/* 033F5C 702009CC 24630001 */ addiu $v1, $v1, 1 -/* 033F60 702009D0 00527821 */ addu $t7, $v0, $s2 -/* 033F64 702009D4 91F90000 */ lbu $t9, ($t7) -/* 033F68 702009D8 02437021 */ addu $t6, $s2, $v1 -/* 033F6C 702009DC 24420001 */ addiu $v0, $v0, 1 -/* 033F70 702009E0 A1D90000 */ sb $t9, ($t6) -/* 033F74 702009E4 8CD20000 */ lw $s2, ($a2) -/* 033F78 702009E8 24630001 */ addiu $v1, $v1, 1 -/* 033F7C 702009EC 0052C021 */ addu $t8, $v0, $s2 -/* 033F80 702009F0 930F0000 */ lbu $t7, ($t8) -/* 033F84 702009F4 0243C821 */ addu $t9, $s2, $v1 -/* 033F88 702009F8 24630001 */ addiu $v1, $v1, 1 -/* 033F8C 702009FC 24420001 */ addiu $v0, $v0, 1 -/* 033F90 70200A00 1480FFE3 */ bnez $a0, .L70200990 -/* 033F94 70200A04 A32F0000 */ sb $t7, ($t9) -.L70200A08: -/* 033F98 70200A08 5540FFD1 */ bnezl $t2, .L70200950 -/* 033F9C 70200A0C 01402025 */ move $a0, $t2 -/* 033FA0 70200A10 1000FF2B */ b .L702006C0 -/* 033FA4 70200A14 0110082B */ sltu $at, $t0, $s0 -.L70200A18: -/* 033FA8 70200A18 3C017020 */ lui $at, %hi(wp) # $at, 0x7020 -/* 033FAC 70200A1C AC23148C */ sw $v1, %lo(wp)($at) -/* 033FB0 70200A20 3C017020 */ lui $at, %hi(bb) # $at, 0x7020 -/* 033FB4 70200A24 AC291564 */ sw $t1, %lo(bb)($at) -/* 033FB8 70200A28 3C017020 */ lui $at, %hi(bk) # $at, 0x7020 -/* 033FBC 70200A2C 8FB00004 */ lw $s0, 4($sp) -/* 033FC0 70200A30 8FB10008 */ lw $s1, 8($sp) -/* 033FC4 70200A34 8FB2000C */ lw $s2, 0xc($sp) -/* 033FC8 70200A38 AC281568 */ sw $t0, %lo(bk)($at) -/* 033FCC 70200A3C 27BD0010 */ addiu $sp, $sp, 0x10 -/* 033FD0 70200A40 03E00008 */ jr $ra -/* 033FD4 70200A44 00001025 */ move $v0, $zero -) - - - -#ifdef NONMATCHING -void inflate_stored(void) { - s32 temp_v0; - u32 temp_a0; - u32 temp_v1; - u32 temp_a0_2; - u32 temp_t5; - u32 temp_a0_3; - s32 temp_v0_2; - - // Node 0 - temp_v0 = (bb & 7); - temp_a0 = (bb - temp_v0); - temp_v1 = ((u32) bk >> temp_v0); - if (temp_a0 < 0x10U) - { - // Node 1 - // Node 2 - inptr = (s32) (inptr + 1); - if ((u32) (temp_a0 + 8) < 0x10U) - { - goto loop_2; - } - } - // Node 3 - temp_a0_2 = (temp_a0 + -0x10); - if (temp_a0_2 < 0x10U) - { - // Node 4 - // Node 5 - inptr = (s32) (inptr + 1); - if ((u32) (temp_a0_2 + 8) < 0x10U) - { - goto loop_5; - } - } - // Node 6 - temp_t5 = ((u32) (temp_v1 >> 0x10) >> 0x10); - temp_a0_3 = (temp_a0_2 + -0x10); - temp_v0_2 = ((temp_v1 & 0xffff) + -1); - if (temp_v0_2 != 0) - { - // Node 7 - // Node 8 - if (temp_a0_3 < 8U) - { - // Node 9 - // Node 10 - inptr = (s32) (inptr + 1); - if ((u32) (temp_a0_3 + 8) < 8U) - { - goto loop_10; - } - } - // Node 11 - *(rz_ptr_target + wp) = temp_t5; - if ((temp_v0_2 + -1) != 0) - { - goto loop_8; - } - } - // Node 12 - wp = (s32) wp; - bk = temp_t5; - bb = temp_a0_3; - return; - // (possible return value: 0) -} -#else -GLOBAL_ASM( -glabel inflate_stored -/* 033FD8 70200A48 3C097020 */ lui $t1, %hi(bk) # $t1, 0x7020 -/* 033FDC 70200A4C 25291568 */ addiu $t1, %lo(bk) # addiu $t1, $t1, 0x1568 -/* 033FE0 70200A50 8D240000 */ lw $a0, ($t1) -/* 033FE4 70200A54 3C087020 */ lui $t0, %hi(bb) # $t0, 0x7020 -/* 033FE8 70200A58 25081564 */ addiu $t0, %lo(bb) # addiu $t0, $t0, 0x1564 -/* 033FEC 70200A5C 30820007 */ andi $v0, $a0, 7 -/* 033FF0 70200A60 8D030000 */ lw $v1, ($t0) -/* 033FF4 70200A64 3C0A7020 */ lui $t2, %hi(wp) # $t2, 0x7020 -/* 033FF8 70200A68 00822023 */ subu $a0, $a0, $v0 -/* 033FFC 70200A6C 254A148C */ addiu $t2, %lo(wp) # addiu $t2, $t2, 0x148c -/* 034000 70200A70 2C810010 */ sltiu $at, $a0, 0x10 -/* 034004 70200A74 8D450000 */ lw $a1, ($t2) -/* 034008 70200A78 1020000F */ beqz $at, .L70200AB8 -/* 03400C 70200A7C 00431806 */ srlv $v1, $v1, $v0 -/* 034010 70200A80 3C067020 */ lui $a2, %hi(rz_ptr_source) # $a2, 0x7020 -/* 034014 70200A84 3C0B7020 */ lui $t3, %hi(inptr) # $t3, 0x7020 -/* 034018 70200A88 256B1488 */ addiu $t3, %lo(inptr) # addiu $t3, $t3, 0x1488 -/* 03401C 70200A8C 8CC61480 */ lw $a2, %lo(rz_ptr_source)($a2) -.L70200A90: -/* 034020 70200A90 8D670000 */ lw $a3, ($t3) -/* 034024 70200A94 00C77021 */ addu $t6, $a2, $a3 -/* 034028 70200A98 91CF0000 */ lbu $t7, ($t6) -/* 03402C 70200A9C 24F90001 */ addiu $t9, $a3, 1 -/* 034030 70200AA0 AD790000 */ sw $t9, ($t3) -/* 034034 70200AA4 008FC004 */ sllv $t8, $t7, $a0 -/* 034038 70200AA8 24840008 */ addiu $a0, $a0, 8 -/* 03403C 70200AAC 2C810010 */ sltiu $at, $a0, 0x10 -/* 034040 70200AB0 1420FFF7 */ bnez $at, .L70200A90 -/* 034044 70200AB4 00781825 */ or $v1, $v1, $t8 -.L70200AB8: -/* 034048 70200AB8 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 03404C 70200ABC 3C0B7020 */ lui $t3, %hi(inptr) # $t3, 0x7020 -/* 034050 70200AC0 3062FFFF */ andi $v0, $v1, 0xffff -/* 034054 70200AC4 00036C02 */ srl $t5, $v1, 0x10 -/* 034058 70200AC8 2C810010 */ sltiu $at, $a0, 0x10 -/* 03405C 70200ACC 256B1488 */ addiu $t3, %lo(inptr) # addiu $t3, $t3, 0x1488 -/* 034060 70200AD0 1020000D */ beqz $at, .L70200B08 -/* 034064 70200AD4 01A01825 */ move $v1, $t5 -/* 034068 70200AD8 3C067020 */ lui $a2, %hi(rz_ptr_source) # $a2, 0x7020 -/* 03406C 70200ADC 8CC61480 */ lw $a2, %lo(rz_ptr_source)($a2) -.L70200AE0: -/* 034070 70200AE0 8D670000 */ lw $a3, ($t3) -/* 034074 70200AE4 00C77021 */ addu $t6, $a2, $a3 -/* 034078 70200AE8 91CF0000 */ lbu $t7, ($t6) -/* 03407C 70200AEC 24F90001 */ addiu $t9, $a3, 1 -/* 034080 70200AF0 AD790000 */ sw $t9, ($t3) -/* 034084 70200AF4 008FC004 */ sllv $t8, $t7, $a0 -/* 034088 70200AF8 24840008 */ addiu $a0, $a0, 8 -/* 03408C 70200AFC 2C810010 */ sltiu $at, $a0, 0x10 -/* 034090 70200B00 1420FFF7 */ bnez $at, .L70200AE0 -/* 034094 70200B04 00781825 */ or $v1, $v1, $t8 -.L70200B08: -/* 034098 70200B08 00403025 */ move $a2, $v0 -/* 03409C 70200B0C 00036C02 */ srl $t5, $v1, 0x10 -/* 0340A0 70200B10 01A01825 */ move $v1, $t5 -/* 0340A4 70200B14 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 0340A8 70200B18 1040001B */ beqz $v0, .L70200B88 -/* 0340AC 70200B1C 2442FFFF */ addiu $v0, $v0, -1 -/* 0340B0 70200B20 3C0C7020 */ lui $t4, %hi(rz_ptr_target) # $t4, 0x7020 -/* 0340B4 70200B24 258C1484 */ addiu $t4, %lo(rz_ptr_target) # addiu $t4, $t4, 0x1484 -.L70200B28: -/* 0340B8 70200B28 2C810008 */ sltiu $at, $a0, 8 -/* 0340BC 70200B2C 1020000C */ beqz $at, .L70200B60 -/* 0340C0 70200B30 3C067020 */ lui $a2, %hi(rz_ptr_source) # $a2, 0x7020 -/* 0340C4 70200B34 8CC61480 */ lw $a2, %lo(rz_ptr_source)($a2) -.L70200B38: -/* 0340C8 70200B38 8D670000 */ lw $a3, ($t3) -/* 0340CC 70200B3C 00C77021 */ addu $t6, $a2, $a3 -/* 0340D0 70200B40 91CF0000 */ lbu $t7, ($t6) -/* 0340D4 70200B44 24F90001 */ addiu $t9, $a3, 1 -/* 0340D8 70200B48 AD790000 */ sw $t9, ($t3) -/* 0340DC 70200B4C 008FC004 */ sllv $t8, $t7, $a0 -/* 0340E0 70200B50 24840008 */ addiu $a0, $a0, 8 -/* 0340E4 70200B54 2C810008 */ sltiu $at, $a0, 8 -/* 0340E8 70200B58 1420FFF7 */ bnez $at, .L70200B38 -/* 0340EC 70200B5C 00781825 */ or $v1, $v1, $t8 -.L70200B60: -/* 0340F0 70200B60 8D8D0000 */ lw $t5, ($t4) -/* 0340F4 70200B64 00403025 */ move $a2, $v0 -/* 0340F8 70200B68 00037A02 */ srl $t7, $v1, 8 -/* 0340FC 70200B6C 01A57021 */ addu $t6, $t5, $a1 -/* 034100 70200B70 A1C30000 */ sb $v1, ($t6) -/* 034104 70200B74 24A50001 */ addiu $a1, $a1, 1 -/* 034108 70200B78 01E01825 */ move $v1, $t7 -/* 03410C 70200B7C 2484FFF8 */ addiu $a0, $a0, -8 -/* 034110 70200B80 1440FFE9 */ bnez $v0, .L70200B28 -/* 034114 70200B84 2442FFFF */ addiu $v0, $v0, -1 -.L70200B88: -/* 034118 70200B88 AD450000 */ sw $a1, ($t2) -/* 03411C 70200B8C AD030000 */ sw $v1, ($t0) -/* 034120 70200B90 AD240000 */ sw $a0, ($t1) -/* 034124 70200B94 03E00008 */ jr $ra -/* 034128 70200B98 00001025 */ move $v0, $zero -) -#endif - - -#ifdef NONMATCHING -void inflate_fixed(void) { - ?32 sp2C; - ?32 sp30; - ? sp34; - ? spA4; - ? sp26C; - ? sp42C; - ? sp48C; - ?32 sp4AC; - ?32 sp4B0; - ? sp4B4; - ? sp4B8; - void *temp_v0; - void *temp_v0_2; - u32 temp_v0_3; - u32 temp_v0_4; - u32 temp_v0_5; - - // Node 0 - // Node 1 - temp_v0 = (&sp2C + 0x10); - temp_v0->unk-C = 8; - temp_v0->unk-8 = 8; - temp_v0->unk-4 = 8; - temp_v0->unk-10 = 8; - if (temp_v0 != &sp26C) - { - goto loop_1; - } - // Node 2 - if (temp_v0 < &sp42C) - { - // Node 3 - // Node 4 - temp_v0_5 = (temp_v0 + 4); - temp_v0_5->unk-4 = 9; - if (temp_v0_5 < &sp42C) - { - goto loop_4; - } - } - // Node 5 - if (temp_v0 < &sp48C) - { - // Node 6 - // Node 7 - temp_v0_4 = (temp_v0 + 4); - temp_v0_4->unk-4 = 7; - if (temp_v0_4 < &sp48C) - { - goto loop_7; - } - } - // Node 8 - if (temp_v0 < &sp4AC) - { - // Node 9 - // Node 10 - temp_v0_3 = (temp_v0 + 4); - temp_v0_3->unk-4 = 8; - if (temp_v0_3 < &sp4AC) - { - goto loop_10; - } - } - // Node 11 - sp4B0 = 7; - huft_build(&sp2C, 0x120, 0x101, &cplens, &cplext, &sp4B8, &sp4B0); - sp30 = 5; - sp2C = 5; - // Node 12 - temp_v0_2 = (&sp34 + 0x10); - temp_v0_2->unk-C = 5; - temp_v0_2->unk-8 = 5; - temp_v0_2->unk-4 = 5; - temp_v0_2->unk-10 = 5; - if (temp_v0_2 != &spA4) - { - goto loop_12; - } - // Node 13 - sp4AC = 5; - huft_build(&sp2C, 0x1e, 0, &cpdist, &cpdext, &sp4B4, &sp4AC); - inflate_codes(sp4B8, sp4B4, sp4B0, sp4AC); - return; - // (possible return value: 0) -} -#else -GLOBAL_ASM( -glabel inflate_fixed -/* 03412C 70200B9C 27BDFB40 */ addiu $sp, $sp, -0x4c0 -/* 034130 70200BA0 AFBF0024 */ sw $ra, 0x24($sp) -/* 034134 70200BA4 27A2002C */ addiu $v0, $sp, 0x2c -/* 034138 70200BA8 27A4026C */ addiu $a0, $sp, 0x26c -/* 03413C 70200BAC 24030008 */ li $v1, 8 -.L70200BB0: -/* 034140 70200BB0 24420010 */ addiu $v0, $v0, 0x10 -/* 034144 70200BB4 AC43FFF4 */ sw $v1, -0xc($v0) -/* 034148 70200BB8 AC43FFF8 */ sw $v1, -8($v0) -/* 03414C 70200BBC AC43FFFC */ sw $v1, -4($v0) -/* 034150 70200BC0 1444FFFB */ bne $v0, $a0, .L70200BB0 -/* 034154 70200BC4 AC43FFF0 */ sw $v1, -0x10($v0) -/* 034158 70200BC8 27AE042C */ addiu $t6, $sp, 0x42c -/* 03415C 70200BCC 004E082B */ sltu $at, $v0, $t6 -/* 034160 70200BD0 10200007 */ beqz $at, .L70200BF0 -/* 034164 70200BD4 27AF048C */ addiu $t7, $sp, 0x48c -/* 034168 70200BD8 27A5042C */ addiu $a1, $sp, 0x42c -/* 03416C 70200BDC 24040009 */ li $a0, 9 -.L70200BE0: -/* 034170 70200BE0 24420004 */ addiu $v0, $v0, 4 -/* 034174 70200BE4 0045082B */ sltu $at, $v0, $a1 -/* 034178 70200BE8 1420FFFD */ bnez $at, .L70200BE0 -/* 03417C 70200BEC AC44FFFC */ sw $a0, -4($v0) -.L70200BF0: -/* 034180 70200BF0 004F082B */ sltu $at, $v0, $t7 -/* 034184 70200BF4 10200007 */ beqz $at, .L70200C14 -/* 034188 70200BF8 27B804AC */ addiu $t8, $sp, 0x4ac -/* 03418C 70200BFC 27A5048C */ addiu $a1, $sp, 0x48c -/* 034190 70200C00 24040007 */ li $a0, 7 -.L70200C04: -/* 034194 70200C04 24420004 */ addiu $v0, $v0, 4 -/* 034198 70200C08 0045082B */ sltu $at, $v0, $a1 -/* 03419C 70200C0C 1420FFFD */ bnez $at, .L70200C04 -/* 0341A0 70200C10 AC44FFFC */ sw $a0, -4($v0) -.L70200C14: -/* 0341A4 70200C14 0058082B */ sltu $at, $v0, $t8 -/* 0341A8 70200C18 10200006 */ beqz $at, .L70200C34 -/* 0341AC 70200C1C 24190007 */ li $t9, 7 -/* 0341B0 70200C20 27A404AC */ addiu $a0, $sp, 0x4ac -.L70200C24: -/* 0341B4 70200C24 24420004 */ addiu $v0, $v0, 4 -/* 0341B8 70200C28 0044082B */ sltu $at, $v0, $a0 -/* 0341BC 70200C2C 1420FFFD */ bnez $at, .L70200C24 -/* 0341C0 70200C30 AC43FFFC */ sw $v1, -4($v0) -.L70200C34: -/* 0341C4 70200C34 3C087020 */ lui $t0, %hi(cplext) # $t0, 0x7020 -/* 0341C8 70200C38 250814E8 */ addiu $t0, %lo(cplext) # addiu $t0, $t0, 0x14e8 -/* 0341CC 70200C3C 3C077020 */ lui $a3, %hi(cplens) # $a3, 0x7020 -/* 0341D0 70200C40 27A904B8 */ addiu $t1, $sp, 0x4b8 -/* 0341D4 70200C44 27AA04B0 */ addiu $t2, $sp, 0x4b0 -/* 0341D8 70200C48 AFB904B0 */ sw $t9, 0x4b0($sp) -/* 0341DC 70200C4C AFAA0018 */ sw $t2, 0x18($sp) -/* 0341E0 70200C50 AFA90014 */ sw $t1, 0x14($sp) -/* 0341E4 70200C54 24E714A8 */ addiu $a3, %lo(cplens) # addiu $a3, $a3, 0x14a8 -/* 0341E8 70200C58 AFA80010 */ sw $t0, 0x10($sp) -/* 0341EC 70200C5C 27A4002C */ addiu $a0, $sp, 0x2c -/* 0341F0 70200C60 24050120 */ li $a1, 288 -/* 0341F4 70200C64 0C080000 */ jal huft_build -/* 0341F8 70200C68 24060101 */ li $a2, 257 -/* 0341FC 70200C6C 240B0005 */ li $t3, 5 -/* 034200 70200C70 240C0005 */ li $t4, 5 -/* 034204 70200C74 AFAC0030 */ sw $t4, 0x30($sp) -/* 034208 70200C78 AFAB002C */ sw $t3, 0x2c($sp) -/* 03420C 70200C7C 27A20034 */ addiu $v0, $sp, 0x34 -/* 034210 70200C80 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 034214 70200C84 24030005 */ li $v1, 5 -.L70200C88: -/* 034218 70200C88 24420010 */ addiu $v0, $v0, 0x10 -/* 03421C 70200C8C AC43FFF4 */ sw $v1, -0xc($v0) -/* 034220 70200C90 AC43FFF8 */ sw $v1, -8($v0) -/* 034224 70200C94 AC43FFFC */ sw $v1, -4($v0) -/* 034228 70200C98 1444FFFB */ bne $v0, $a0, .L70200C88 -/* 03422C 70200C9C AC43FFF0 */ sw $v1, -0x10($v0) -/* 034230 70200CA0 3C0E7020 */ lui $t6, %hi(cpdext) # $t6, 0x7020 -/* 034234 70200CA4 240D0005 */ li $t5, 5 -/* 034238 70200CA8 25CE1544 */ addiu $t6, %lo(cpdext) # addiu $t6, $t6, 0x1544 -/* 03423C 70200CAC 3C077020 */ lui $a3, %hi(cpdist) # $a3, 0x7020 -/* 034240 70200CB0 27AF04B4 */ addiu $t7, $sp, 0x4b4 -/* 034244 70200CB4 27B804AC */ addiu $t8, $sp, 0x4ac -/* 034248 70200CB8 AFAD04AC */ sw $t5, 0x4ac($sp) -/* 03424C 70200CBC AFB80018 */ sw $t8, 0x18($sp) -/* 034250 70200CC0 AFAF0014 */ sw $t7, 0x14($sp) -/* 034254 70200CC4 24E71508 */ addiu $a3, %lo(cpdist) # addiu $a3, $a3, 0x1508 -/* 034258 70200CC8 AFAE0010 */ sw $t6, 0x10($sp) -/* 03425C 70200CCC 27A4002C */ addiu $a0, $sp, 0x2c -/* 034260 70200CD0 2405001E */ li $a1, 30 -/* 034264 70200CD4 0C080000 */ jal huft_build -/* 034268 70200CD8 00003025 */ move $a2, $zero -/* 03426C 70200CDC 8FA404B8 */ lw $a0, 0x4b8($sp) -/* 034270 70200CE0 8FA504B4 */ lw $a1, 0x4b4($sp) -/* 034274 70200CE4 8FA604B0 */ lw $a2, 0x4b0($sp) -/* 034278 70200CE8 0C080195 */ jal inflate_codes -/* 03427C 70200CEC 8FA704AC */ lw $a3, 0x4ac($sp) -/* 034280 70200CF0 8FBF0024 */ lw $ra, 0x24($sp) -/* 034284 70200CF4 27BD04C0 */ addiu $sp, $sp, 0x4c0 -/* 034288 70200CF8 00001025 */ move $v0, $zero -/* 03428C 70200CFC 03E00008 */ jr $ra -/* 034290 70200D00 00000000 */ nop -) -#endif - -GLOBAL_ASM( -glabel inflate_dynamic -/* 034294 70200D04 3C087020 */ lui $t0, %hi(bk) # $t0, 0x7020 -/* 034298 70200D08 8D081568 */ lw $t0, %lo(bk)($t0) -/* 03429C 70200D0C 27BDFA98 */ addiu $sp, $sp, -0x568 -/* 0342A0 70200D10 3C097020 */ lui $t1, %hi(bb) # $t1, 0x7020 -/* 0342A4 70200D14 2D010005 */ sltiu $at, $t0, 5 -/* 0342A8 70200D18 AFBF002C */ sw $ra, 0x2c($sp) -/* 0342AC 70200D1C AFB00028 */ sw $s0, 0x28($sp) -/* 0342B0 70200D20 1020000F */ beqz $at, .L70200D60 -/* 0342B4 70200D24 8D291564 */ lw $t1, %lo(bb)($t1) -/* 0342B8 70200D28 3C037020 */ lui $v1, %hi(rz_ptr_source) # $v1, 0x7020 -/* 0342BC 70200D2C 3C0A7020 */ lui $t2, %hi(inptr) # $t2, 0x7020 -/* 0342C0 70200D30 254A1488 */ addiu $t2, %lo(inptr) # addiu $t2, $t2, 0x1488 -/* 0342C4 70200D34 8C631480 */ lw $v1, %lo(rz_ptr_source)($v1) -.L70200D38: -/* 0342C8 70200D38 8D420000 */ lw $v0, ($t2) -/* 0342CC 70200D3C 00627021 */ addu $t6, $v1, $v0 -/* 0342D0 70200D40 91CF0000 */ lbu $t7, ($t6) -/* 0342D4 70200D44 24590001 */ addiu $t9, $v0, 1 -/* 0342D8 70200D48 AD590000 */ sw $t9, ($t2) -/* 0342DC 70200D4C 010FC004 */ sllv $t8, $t7, $t0 -/* 0342E0 70200D50 25080008 */ addiu $t0, $t0, 8 -/* 0342E4 70200D54 2D010005 */ sltiu $at, $t0, 5 -/* 0342E8 70200D58 1420FFF7 */ bnez $at, .L70200D38 -/* 0342EC 70200D5C 01384825 */ or $t1, $t1, $t8 -.L70200D60: -/* 0342F0 70200D60 312E001F */ andi $t6, $t1, 0x1f -/* 0342F4 70200D64 2508FFFB */ addiu $t0, $t0, -5 -/* 0342F8 70200D68 3C0A7020 */ lui $t2, %hi(inptr) # $t2, 0x7020 -/* 0342FC 70200D6C 25CF0101 */ addiu $t7, $t6, 0x101 -/* 034300 70200D70 0009C142 */ srl $t8, $t1, 5 -/* 034304 70200D74 2D010005 */ sltiu $at, $t0, 5 -/* 034308 70200D78 254A1488 */ addiu $t2, %lo(inptr) # addiu $t2, $t2, 0x1488 -/* 03430C 70200D7C AFAF053C */ sw $t7, 0x53c($sp) -/* 034310 70200D80 1020000D */ beqz $at, .L70200DB8 -/* 034314 70200D84 03004825 */ move $t1, $t8 -/* 034318 70200D88 3C037020 */ lui $v1, %hi(rz_ptr_source) # $v1, 0x7020 -/* 03431C 70200D8C 8C631480 */ lw $v1, %lo(rz_ptr_source)($v1) -.L70200D90: -/* 034320 70200D90 8D420000 */ lw $v0, ($t2) -/* 034324 70200D94 0062C821 */ addu $t9, $v1, $v0 -/* 034328 70200D98 932E0000 */ lbu $t6, ($t9) -/* 03432C 70200D9C 24580001 */ addiu $t8, $v0, 1 -/* 034330 70200DA0 AD580000 */ sw $t8, ($t2) -/* 034334 70200DA4 010E7804 */ sllv $t7, $t6, $t0 -/* 034338 70200DA8 25080008 */ addiu $t0, $t0, 8 -/* 03433C 70200DAC 2D010005 */ sltiu $at, $t0, 5 -/* 034340 70200DB0 1420FFF7 */ bnez $at, .L70200D90 -/* 034344 70200DB4 012F4825 */ or $t1, $t1, $t7 -.L70200DB8: -/* 034348 70200DB8 3139001F */ andi $t9, $t1, 0x1f -/* 03434C 70200DBC 2508FFFB */ addiu $t0, $t0, -5 -/* 034350 70200DC0 272E0001 */ addiu $t6, $t9, 1 -/* 034354 70200DC4 00097942 */ srl $t7, $t1, 5 -/* 034358 70200DC8 2D010004 */ sltiu $at, $t0, 4 -/* 03435C 70200DCC AFAE0538 */ sw $t6, 0x538($sp) -/* 034360 70200DD0 1020000D */ beqz $at, .L70200E08 -/* 034364 70200DD4 01E04825 */ move $t1, $t7 -/* 034368 70200DD8 3C037020 */ lui $v1, %hi(rz_ptr_source) # $v1, 0x7020 -/* 03436C 70200DDC 8C631480 */ lw $v1, %lo(rz_ptr_source)($v1) -.L70200DE0: -/* 034370 70200DE0 8D420000 */ lw $v0, ($t2) -/* 034374 70200DE4 0062C021 */ addu $t8, $v1, $v0 -/* 034378 70200DE8 93190000 */ lbu $t9, ($t8) -/* 03437C 70200DEC 244F0001 */ addiu $t7, $v0, 1 -/* 034380 70200DF0 AD4F0000 */ sw $t7, ($t2) -/* 034384 70200DF4 01197004 */ sllv $t6, $t9, $t0 -/* 034388 70200DF8 25080008 */ addiu $t0, $t0, 8 -/* 03438C 70200DFC 2D010004 */ sltiu $at, $t0, 4 -/* 034390 70200E00 1420FFF7 */ bnez $at, .L70200DE0 -/* 034394 70200E04 012E4825 */ or $t1, $t1, $t6 -.L70200E08: -/* 034398 70200E08 3126000F */ andi $a2, $t1, 0xf -/* 03439C 70200E0C 24C60004 */ addiu $a2, $a2, 4 -/* 0343A0 70200E10 0009C102 */ srl $t8, $t1, 4 -/* 0343A4 70200E14 03004825 */ move $t1, $t8 -/* 0343A8 70200E18 2508FFFC */ addiu $t0, $t0, -4 -/* 0343AC 70200E1C 10C0001D */ beqz $a2, .L70200E94 -/* 0343B0 70200E20 00002025 */ move $a0, $zero -/* 0343B4 70200E24 3C057020 */ lui $a1, %hi(border) # $a1, 0x7020 -/* 0343B8 70200E28 24A51494 */ addiu $a1, %lo(border) # addiu $a1, $a1, 0x1494 -/* 0343BC 70200E2C 27B00040 */ addiu $s0, $sp, 0x40 -.L70200E30: -/* 0343C0 70200E30 2D010003 */ sltiu $at, $t0, 3 -/* 0343C4 70200E34 1020000D */ beqz $at, .L70200E6C -/* 0343C8 70200E38 24840001 */ addiu $a0, $a0, 1 -/* 0343CC 70200E3C 3C037020 */ lui $v1, %hi(rz_ptr_source) # $v1, 0x7020 -/* 0343D0 70200E40 8C631480 */ lw $v1, %lo(rz_ptr_source)($v1) -.L70200E44: -/* 0343D4 70200E44 8D420000 */ lw $v0, ($t2) -/* 0343D8 70200E48 0062C821 */ addu $t9, $v1, $v0 -/* 0343DC 70200E4C 932E0000 */ lbu $t6, ($t9) -/* 0343E0 70200E50 24580001 */ addiu $t8, $v0, 1 -/* 0343E4 70200E54 AD580000 */ sw $t8, ($t2) -/* 0343E8 70200E58 010E7804 */ sllv $t7, $t6, $t0 -/* 0343EC 70200E5C 25080008 */ addiu $t0, $t0, 8 -/* 0343F0 70200E60 2D010003 */ sltiu $at, $t0, 3 -/* 0343F4 70200E64 1420FFF7 */ bnez $at, .L70200E44 -/* 0343F8 70200E68 012F4825 */ or $t1, $t1, $t7 -.L70200E6C: -/* 0343FC 70200E6C 90AE0000 */ lbu $t6, ($a1) -/* 034400 70200E70 31390007 */ andi $t9, $t1, 7 -/* 034404 70200E74 24A50001 */ addiu $a1, $a1, 1 -/* 034408 70200E78 000E7880 */ sll $t7, $t6, 2 -/* 03440C 70200E7C 020FC021 */ addu $t8, $s0, $t7 -/* 034410 70200E80 000970C2 */ srl $t6, $t1, 3 -/* 034414 70200E84 AF190000 */ sw $t9, ($t8) -/* 034418 70200E88 01C04825 */ move $t1, $t6 -/* 03441C 70200E8C 1486FFE8 */ bne $a0, $a2, .L70200E30 -/* 034420 70200E90 2508FFFD */ addiu $t0, $t0, -3 -.L70200E94: -/* 034424 70200E94 2C810013 */ sltiu $at, $a0, 0x13 -/* 034428 70200E98 1020000D */ beqz $at, .L70200ED0 -/* 03442C 70200E9C 27B00040 */ addiu $s0, $sp, 0x40 -/* 034430 70200EA0 3C0F7020 */ lui $t7, %hi(border) # $t7, 0x7020 -/* 034434 70200EA4 25EF1494 */ addiu $t7, %lo(border) # addiu $t7, $t7, 0x1494 -/* 034438 70200EA8 3C027020 */ lui $v0, %hi(border + 0x13) # $v0, 0x7020 -/* 03443C 70200EAC 244214A7 */ addiu $v0, %lo(border + 0x13) # addiu $v0, $v0, 0x14a7 -/* 034440 70200EB0 008F2821 */ addu $a1, $a0, $t7 -.L70200EB4: -/* 034444 70200EB4 90B90000 */ lbu $t9, ($a1) -/* 034448 70200EB8 24A50001 */ addiu $a1, $a1, 1 -/* 03444C 70200EBC 00A2082B */ sltu $at, $a1, $v0 -/* 034450 70200EC0 0019C080 */ sll $t8, $t9, 2 -/* 034454 70200EC4 02187021 */ addu $t6, $s0, $t8 -/* 034458 70200EC8 1420FFFA */ bnez $at, .L70200EB4 -/* 03445C 70200ECC ADC00000 */ sw $zero, ($t6) -.L70200ED0: -/* 034460 70200ED0 240F0007 */ li $t7, 7 -/* 034464 70200ED4 27B90550 */ addiu $t9, $sp, 0x550 -/* 034468 70200ED8 27B80548 */ addiu $t8, $sp, 0x548 -/* 03446C 70200EDC AFAF0548 */ sw $t7, 0x548($sp) -/* 034470 70200EE0 AFB80018 */ sw $t8, 0x18($sp) -/* 034474 70200EE4 AFB90014 */ sw $t9, 0x14($sp) -/* 034478 70200EE8 02002025 */ move $a0, $s0 -/* 03447C 70200EEC 24050013 */ li $a1, 19 -/* 034480 70200EF0 24060013 */ li $a2, 19 -/* 034484 70200EF4 00003825 */ move $a3, $zero -/* 034488 70200EF8 AFA00010 */ sw $zero, 0x10($sp) -/* 03448C 70200EFC AFA80534 */ sw $t0, 0x534($sp) -/* 034490 70200F00 0C080000 */ jal huft_build -/* 034494 70200F04 AFA90530 */ sw $t1, 0x530($sp) -/* 034498 70200F08 8FB90548 */ lw $t9, 0x548($sp) -/* 03449C 70200F0C 8FAE053C */ lw $t6, 0x53c($sp) -/* 0344A0 70200F10 8FAF0538 */ lw $t7, 0x538($sp) -/* 0344A4 70200F14 3C0B7020 */ lui $t3, 0x7020 -/* 0344A8 70200F18 0019C040 */ sll $t8, $t9, 1 -/* 0344AC 70200F1C 3C0A7020 */ lui $t2, %hi(inptr) # $t2, 0x7020 -/* 0344B0 70200F20 01785821 */ addu $t3, $t3, $t8 -/* 0344B4 70200F24 01CF3821 */ addu $a3, $t6, $t7 -/* 0344B8 70200F28 254A1488 */ addiu $t2, %lo(inptr) # addiu $t2, $t2, 0x1488 -/* 0344BC 70200F2C 8FA80534 */ lw $t0, 0x534($sp) -/* 0344C0 70200F30 8FA90530 */ lw $t1, 0x530($sp) -/* 0344C4 70200F34 956B156C */ lhu $t3, 0x156c($t3) -/* 0344C8 70200F38 00003025 */ move $a2, $zero -/* 0344CC 70200F3C 10E0008A */ beqz $a3, .L70201168 -/* 0344D0 70200F40 00002825 */ move $a1, $zero -/* 0344D4 70200F44 240D0011 */ li $t5, 17 -/* 0344D8 70200F48 240C0010 */ li $t4, 16 -/* 0344DC 70200F4C 8FAE0548 */ lw $t6, 0x548($sp) -.L70200F50: -/* 0344E0 70200F50 3C037020 */ lui $v1, %hi(rz_ptr_source) # $v1, 0x7020 -/* 0344E4 70200F54 010E082B */ sltu $at, $t0, $t6 -/* 0344E8 70200F58 5020000E */ beql $at, $zero, .L70200F94 -/* 0344EC 70200F5C 8FAE0550 */ lw $t6, 0x550($sp) -/* 0344F0 70200F60 8C631480 */ lw $v1, %lo(rz_ptr_source)($v1) -.L70200F64: -/* 0344F4 70200F64 8D420000 */ lw $v0, ($t2) -/* 0344F8 70200F68 00627821 */ addu $t7, $v1, $v0 -/* 0344FC 70200F6C 91F90000 */ lbu $t9, ($t7) -/* 034500 70200F70 8FAF0548 */ lw $t7, 0x548($sp) -/* 034504 70200F74 244E0001 */ addiu $t6, $v0, 1 -/* 034508 70200F78 0119C004 */ sllv $t8, $t9, $t0 -/* 03450C 70200F7C 25080008 */ addiu $t0, $t0, 8 -/* 034510 70200F80 010F082B */ sltu $at, $t0, $t7 -/* 034514 70200F84 01384825 */ or $t1, $t1, $t8 -/* 034518 70200F88 1420FFF6 */ bnez $at, .L70200F64 -/* 03451C 70200F8C AD4E0000 */ sw $t6, ($t2) -/* 034520 70200F90 8FAE0550 */ lw $t6, 0x550($sp) -.L70200F94: -/* 034524 70200F94 012BC824 */ and $t9, $t1, $t3 -/* 034528 70200F98 0019C0C0 */ sll $t8, $t9, 3 -/* 03452C 70200F9C 030E7821 */ addu $t7, $t8, $t6 -/* 034530 70200FA0 AFAF054C */ sw $t7, 0x54c($sp) -/* 034534 70200FA4 91E40001 */ lbu $a0, 1($t7) -/* 034538 70200FA8 0005C880 */ sll $t9, $a1, 2 -/* 03453C 70200FAC 0219C021 */ addu $t8, $s0, $t9 -/* 034540 70200FB0 00894806 */ srlv $t1, $t1, $a0 -/* 034544 70200FB4 01044023 */ subu $t0, $t0, $a0 -/* 034548 70200FB8 95E40004 */ lhu $a0, 4($t7) -/* 03454C 70200FBC 2C810010 */ sltiu $at, $a0, 0x10 -/* 034550 70200FC0 10200005 */ beqz $at, .L70200FD8 -/* 034554 70200FC4 00000000 */ nop -/* 034558 70200FC8 00803025 */ move $a2, $a0 -/* 03455C 70200FCC AF040000 */ sw $a0, ($t8) -/* 034560 70200FD0 10000062 */ b .L7020115C -/* 034564 70200FD4 24A50001 */ addiu $a1, $a1, 1 -.L70200FD8: -/* 034568 70200FD8 148C0020 */ bne $a0, $t4, .L7020105C -/* 03456C 70200FDC 2D010002 */ sltiu $at, $t0, 2 -/* 034570 70200FE0 1020000C */ beqz $at, .L70201014 -/* 034574 70200FE4 3C037020 */ lui $v1, %hi(rz_ptr_source) # $v1, 0x7020 -/* 034578 70200FE8 8C631480 */ lw $v1, %lo(rz_ptr_source)($v1) -.L70200FEC: -/* 03457C 70200FEC 8D420000 */ lw $v0, ($t2) -/* 034580 70200FF0 00627021 */ addu $t6, $v1, $v0 -/* 034584 70200FF4 91CF0000 */ lbu $t7, ($t6) -/* 034588 70200FF8 24580001 */ addiu $t8, $v0, 1 -/* 03458C 70200FFC AD580000 */ sw $t8, ($t2) -/* 034590 70201000 010FC804 */ sllv $t9, $t7, $t0 -/* 034594 70201004 25080008 */ addiu $t0, $t0, 8 -/* 034598 70201008 2D010002 */ sltiu $at, $t0, 2 -/* 03459C 7020100C 1420FFF7 */ bnez $at, .L70200FEC -/* 0345A0 70201010 01394825 */ or $t1, $t1, $t9 -.L70201014: -/* 0345A4 70201014 31240003 */ andi $a0, $t1, 3 -/* 0345A8 70201018 24840003 */ addiu $a0, $a0, 3 -/* 0345AC 7020101C 00801825 */ move $v1, $a0 -/* 0345B0 70201020 00097082 */ srl $t6, $t1, 2 -/* 0345B4 70201024 01C04825 */ move $t1, $t6 -/* 0345B8 70201028 2508FFFE */ addiu $t0, $t0, -2 -/* 0345BC 7020102C 1080004B */ beqz $a0, .L7020115C -/* 0345C0 70201030 2484FFFF */ addiu $a0, $a0, -1 -/* 0345C4 70201034 00057880 */ sll $t7, $a1, 2 -/* 0345C8 70201038 020F1021 */ addu $v0, $s0, $t7 -.L7020103C: -/* 0345CC 7020103C 00801825 */ move $v1, $a0 -/* 0345D0 70201040 AC460000 */ sw $a2, ($v0) -/* 0345D4 70201044 24A50001 */ addiu $a1, $a1, 1 -/* 0345D8 70201048 24420004 */ addiu $v0, $v0, 4 -/* 0345DC 7020104C 1480FFFB */ bnez $a0, .L7020103C -/* 0345E0 70201050 2484FFFF */ addiu $a0, $a0, -1 -/* 0345E4 70201054 10000042 */ b .L70201160 -/* 0345E8 70201058 00A7082B */ sltu $at, $a1, $a3 -.L7020105C: -/* 0345EC 7020105C 148D0021 */ bne $a0, $t5, .L702010E4 -/* 0345F0 70201060 00003025 */ move $a2, $zero -/* 0345F4 70201064 2D010003 */ sltiu $at, $t0, 3 -/* 0345F8 70201068 1020000C */ beqz $at, .L7020109C -/* 0345FC 7020106C 3C037020 */ lui $v1, %hi(rz_ptr_source) # $v1, 0x7020 -/* 034600 70201070 8C631480 */ lw $v1, %lo(rz_ptr_source)($v1) -.L70201074: -/* 034604 70201074 8D420000 */ lw $v0, ($t2) -/* 034608 70201078 0062C821 */ addu $t9, $v1, $v0 -/* 03460C 7020107C 93380000 */ lbu $t8, ($t9) -/* 034610 70201080 244F0001 */ addiu $t7, $v0, 1 -/* 034614 70201084 AD4F0000 */ sw $t7, ($t2) -/* 034618 70201088 01187004 */ sllv $t6, $t8, $t0 -/* 03461C 7020108C 25080008 */ addiu $t0, $t0, 8 -/* 034620 70201090 2D010003 */ sltiu $at, $t0, 3 -/* 034624 70201094 1420FFF7 */ bnez $at, .L70201074 -/* 034628 70201098 012E4825 */ or $t1, $t1, $t6 -.L7020109C: -/* 03462C 7020109C 31240007 */ andi $a0, $t1, 7 -/* 034630 702010A0 24840003 */ addiu $a0, $a0, 3 -/* 034634 702010A4 00801825 */ move $v1, $a0 -/* 034638 702010A8 0009C8C2 */ srl $t9, $t1, 3 -/* 03463C 702010AC 03204825 */ move $t1, $t9 -/* 034640 702010B0 2508FFFD */ addiu $t0, $t0, -3 -/* 034644 702010B4 10800029 */ beqz $a0, .L7020115C -/* 034648 702010B8 2484FFFF */ addiu $a0, $a0, -1 -/* 03464C 702010BC 0005C080 */ sll $t8, $a1, 2 -/* 034650 702010C0 02181021 */ addu $v0, $s0, $t8 -.L702010C4: -/* 034654 702010C4 00801825 */ move $v1, $a0 -/* 034658 702010C8 AC400000 */ sw $zero, ($v0) -/* 03465C 702010CC 24A50001 */ addiu $a1, $a1, 1 -/* 034660 702010D0 24420004 */ addiu $v0, $v0, 4 -/* 034664 702010D4 1480FFFB */ bnez $a0, .L702010C4 -/* 034668 702010D8 2484FFFF */ addiu $a0, $a0, -1 -/* 03466C 702010DC 10000020 */ b .L70201160 -/* 034670 702010E0 00A7082B */ sltu $at, $a1, $a3 -.L702010E4: -/* 034674 702010E4 2D010007 */ sltiu $at, $t0, 7 -/* 034678 702010E8 1020000C */ beqz $at, .L7020111C -/* 03467C 702010EC 3C037020 */ lui $v1, %hi(rz_ptr_source) # $v1, 0x7020 -/* 034680 702010F0 8C631480 */ lw $v1, %lo(rz_ptr_source)($v1) -.L702010F4: -/* 034684 702010F4 8D420000 */ lw $v0, ($t2) -/* 034688 702010F8 00627021 */ addu $t6, $v1, $v0 -/* 03468C 702010FC 91CF0000 */ lbu $t7, ($t6) -/* 034690 70201100 24580001 */ addiu $t8, $v0, 1 -/* 034694 70201104 AD580000 */ sw $t8, ($t2) -/* 034698 70201108 010FC804 */ sllv $t9, $t7, $t0 -/* 03469C 7020110C 25080008 */ addiu $t0, $t0, 8 -/* 0346A0 70201110 2D010007 */ sltiu $at, $t0, 7 -/* 0346A4 70201114 1420FFF7 */ bnez $at, .L702010F4 -/* 0346A8 70201118 01394825 */ or $t1, $t1, $t9 -.L7020111C: -/* 0346AC 7020111C 3124007F */ andi $a0, $t1, 0x7f -/* 0346B0 70201120 2484000B */ addiu $a0, $a0, 0xb -/* 0346B4 70201124 00801825 */ move $v1, $a0 -/* 0346B8 70201128 000971C2 */ srl $t6, $t1, 7 -/* 0346BC 7020112C 01C04825 */ move $t1, $t6 -/* 0346C0 70201130 2508FFF9 */ addiu $t0, $t0, -7 -/* 0346C4 70201134 10800009 */ beqz $a0, .L7020115C -/* 0346C8 70201138 2484FFFF */ addiu $a0, $a0, -1 -/* 0346CC 7020113C 00057880 */ sll $t7, $a1, 2 -/* 0346D0 70201140 020F1021 */ addu $v0, $s0, $t7 -.L70201144: -/* 0346D4 70201144 00801825 */ move $v1, $a0 -/* 0346D8 70201148 AC400000 */ sw $zero, ($v0) -/* 0346DC 7020114C 24A50001 */ addiu $a1, $a1, 1 -/* 0346E0 70201150 24420004 */ addiu $v0, $v0, 4 -/* 0346E4 70201154 1480FFFB */ bnez $a0, .L70201144 -/* 0346E8 70201158 2484FFFF */ addiu $a0, $a0, -1 -.L7020115C: -/* 0346EC 7020115C 00A7082B */ sltu $at, $a1, $a3 -.L70201160: -/* 0346F0 70201160 5420FF7B */ bnezl $at, .L70200F50 -/* 0346F4 70201164 8FAE0548 */ lw $t6, 0x548($sp) -.L70201168: -/* 0346F8 70201168 3C017020 */ lui $at, %hi(bb) # $at, 0x7020 -/* 0346FC 7020116C 3C197020 */ lui $t9, %hi(lbits) # $t9, 0x7020 -/* 034700 70201170 8F391590 */ lw $t9, %lo(lbits)($t9) -/* 034704 70201174 AC291564 */ sw $t1, %lo(bb)($at) -/* 034708 70201178 3C187020 */ lui $t8, %hi(cplext) # $t8, 0x7020 -/* 03470C 7020117C 3C017020 */ lui $at, %hi(bk) # $at, 0x7020 -/* 034710 70201180 271814E8 */ addiu $t8, %lo(cplext) # addiu $t8, $t8, 0x14e8 -/* 034714 70201184 3C077020 */ lui $a3, %hi(cplens) # $a3, 0x7020 -/* 034718 70201188 27AE0550 */ addiu $t6, $sp, 0x550 -/* 03471C 7020118C 27AF0548 */ addiu $t7, $sp, 0x548 -/* 034720 70201190 AC281568 */ sw $t0, %lo(bk)($at) -/* 034724 70201194 AFAF0018 */ sw $t7, 0x18($sp) -/* 034728 70201198 AFAE0014 */ sw $t6, 0x14($sp) -/* 03472C 7020119C 24E714A8 */ addiu $a3, %lo(cplens) # addiu $a3, $a3, 0x14a8 -/* 034730 702011A0 AFB80010 */ sw $t8, 0x10($sp) -/* 034734 702011A4 02002025 */ move $a0, $s0 -/* 034738 702011A8 8FA5053C */ lw $a1, 0x53c($sp) -/* 03473C 702011AC 24060101 */ li $a2, 257 -/* 034740 702011B0 0C080000 */ jal huft_build -/* 034744 702011B4 AFB90548 */ sw $t9, 0x548($sp) -/* 034748 702011B8 3C197020 */ lui $t9, %hi(dbits) # $t9, 0x7020 -/* 03474C 702011BC 8F391594 */ lw $t9, %lo(dbits)($t9) -/* 034750 702011C0 8FB8053C */ lw $t8, 0x53c($sp) -/* 034754 702011C4 3C0F7020 */ lui $t7, %hi(cpdext) # $t7, 0x7020 -/* 034758 702011C8 AFB90544 */ sw $t9, 0x544($sp) -/* 03475C 702011CC 00187080 */ sll $t6, $t8, 2 -/* 034760 702011D0 27B80544 */ addiu $t8, $sp, 0x544 -/* 034764 702011D4 27B9054C */ addiu $t9, $sp, 0x54c -/* 034768 702011D8 25EF1544 */ addiu $t7, %lo(cpdext) # addiu $t7, $t7, 0x1544 -/* 03476C 702011DC 3C077020 */ lui $a3, %hi(cpdist) # $a3, 0x7020 -/* 034770 702011E0 24E71508 */ addiu $a3, %lo(cpdist) # addiu $a3, $a3, 0x1508 -/* 034774 702011E4 AFAF0010 */ sw $t7, 0x10($sp) -/* 034778 702011E8 AFB90014 */ sw $t9, 0x14($sp) -/* 03477C 702011EC AFB80018 */ sw $t8, 0x18($sp) -/* 034780 702011F0 020E2021 */ addu $a0, $s0, $t6 -/* 034784 702011F4 8FA50538 */ lw $a1, 0x538($sp) -/* 034788 702011F8 0C080000 */ jal huft_build -/* 03478C 702011FC 00003025 */ move $a2, $zero -/* 034790 70201200 8FA40550 */ lw $a0, 0x550($sp) -/* 034794 70201204 8FA5054C */ lw $a1, 0x54c($sp) -/* 034798 70201208 8FA60548 */ lw $a2, 0x548($sp) -/* 03479C 7020120C 0C080195 */ jal inflate_codes -/* 0347A0 70201210 8FA70544 */ lw $a3, 0x544($sp) -/* 0347A4 70201214 8FBF002C */ lw $ra, 0x2c($sp) -/* 0347A8 70201218 8FB00028 */ lw $s0, 0x28($sp) -/* 0347AC 7020121C 27BD0568 */ addiu $sp, $sp, 0x568 -/* 0347B0 70201220 03E00008 */ jr $ra -/* 0347B4 70201224 00001025 */ move $v0, $zero -) - - -#ifdef NONMATCHING -void inflate_block(void *arg0) { - u32 temp_v1; - u32 temp_t3; - s32 temp_v0; - - // Node 0 - if (bb == 0) - { - // Node 1 - // Node 2 - inptr = (s32) (inptr + 1); - if ((bb + 8) == 0) - { - goto loop_2; - } - } - // Node 3 - temp_v1 = (bb + -1); - temp_t3 = ((u32) bk >> 1); - *arg0 = (s32) (bk & 1); - if (temp_v1 < 2U) - { - // Node 4 - // Node 5 - inptr = (s32) (inptr + 1); - if ((u32) (temp_v1 + 8) < 2U) - { - goto loop_5; - } - } - // Node 6 - temp_v0 = (temp_t3 & 3); - bk = (u32) (temp_t3 >> 2); - bb = (s32) (temp_v1 + -2); - if (temp_v0 == 2) - { - // Node 7 - inflate_dynamic(&inptr, temp_t3, arg0); - return; - // (possible return value: inflate_dynamic(&inptr, temp_t3, arg0)) - } - // Node 8 - if (temp_v0 == 0) - { - // Node 9 - inflate_stored(&inptr, temp_t3, arg0); - return; - // (possible return value: inflate_stored(&inptr, temp_t3, arg0)) - } - // Node 10 - if (temp_v0 == 1) - { - // Node 11 - inflate_fixed(&inptr, temp_t3, arg0); - return; - // (possible return value: inflate_fixed(&inptr, temp_t3, arg0)) - } - // Node 12 - return; - // (possible return value: 2) -} -#else -GLOBAL_ASM( -glabel inflate_block -/* 0347B8 70201228 3C097020 */ lui $t1, %hi(bk) # $t1, 0x7020 -/* 0347BC 7020122C 25291568 */ addiu $t1, %lo(bk) # addiu $t1, $t1, 0x1568 -/* 0347C0 70201230 8D230000 */ lw $v1, ($t1) -/* 0347C4 70201234 3C087020 */ lui $t0, %hi(bb) # $t0, 0x7020 -/* 0347C8 70201238 25081564 */ addiu $t0, %lo(bb) # addiu $t0, $t0, 0x1564 -/* 0347CC 7020123C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0347D0 70201240 AFBF0014 */ sw $ra, 0x14($sp) -/* 0347D4 70201244 00803825 */ move $a3, $a0 -/* 0347D8 70201248 1460000E */ bnez $v1, .L70201284 -/* 0347DC 7020124C 8D050000 */ lw $a1, ($t0) -/* 0347E0 70201250 3C067020 */ lui $a2, %hi(rz_ptr_source) # $a2, 0x7020 -/* 0347E4 70201254 3C047020 */ lui $a0, %hi(inptr) # $a0, 0x7020 -/* 0347E8 70201258 24841488 */ addiu $a0, %lo(inptr) # addiu $a0, $a0, 0x1488 -/* 0347EC 7020125C 8CC61480 */ lw $a2, %lo(rz_ptr_source)($a2) -.L70201260: -/* 0347F0 70201260 8C820000 */ lw $v0, ($a0) -/* 0347F4 70201264 00C27021 */ addu $t6, $a2, $v0 -/* 0347F8 70201268 91CF0000 */ lbu $t7, ($t6) -/* 0347FC 7020126C 24590001 */ addiu $t9, $v0, 1 -/* 034800 70201270 AC990000 */ sw $t9, ($a0) -/* 034804 70201274 006FC004 */ sllv $t8, $t7, $v1 -/* 034808 70201278 24630008 */ addiu $v1, $v1, 8 -/* 03480C 7020127C 1060FFF8 */ beqz $v1, .L70201260 -/* 034810 70201280 00B82825 */ or $a1, $a1, $t8 -.L70201284: -/* 034814 70201284 2463FFFF */ addiu $v1, $v1, -1 -/* 034818 70201288 3C047020 */ lui $a0, %hi(inptr) # $a0, 0x7020 -/* 03481C 7020128C 30AA0001 */ andi $t2, $a1, 1 -/* 034820 70201290 00055842 */ srl $t3, $a1, 1 -/* 034824 70201294 2C610002 */ sltiu $at, $v1, 2 -/* 034828 70201298 24841488 */ addiu $a0, %lo(inptr) # addiu $a0, $a0, 0x1488 -/* 03482C 7020129C ACEA0000 */ sw $t2, ($a3) -/* 034830 702012A0 1020000D */ beqz $at, .L702012D8 -/* 034834 702012A4 01602825 */ move $a1, $t3 -/* 034838 702012A8 3C067020 */ lui $a2, %hi(rz_ptr_source) # $a2, 0x7020 -/* 03483C 702012AC 8CC61480 */ lw $a2, %lo(rz_ptr_source)($a2) -.L702012B0: -/* 034840 702012B0 8C820000 */ lw $v0, ($a0) -/* 034844 702012B4 00C26021 */ addu $t4, $a2, $v0 -/* 034848 702012B8 918D0000 */ lbu $t5, ($t4) -/* 03484C 702012BC 244F0001 */ addiu $t7, $v0, 1 -/* 034850 702012C0 AC8F0000 */ sw $t7, ($a0) -/* 034854 702012C4 006D7004 */ sllv $t6, $t5, $v1 -/* 034858 702012C8 24630008 */ addiu $v1, $v1, 8 -/* 03485C 702012CC 2C610002 */ sltiu $at, $v1, 2 -/* 034860 702012D0 1420FFF7 */ bnez $at, .L702012B0 -/* 034864 702012D4 00AE2825 */ or $a1, $a1, $t6 -.L702012D8: -/* 034868 702012D8 30A20003 */ andi $v0, $a1, 3 -/* 03486C 702012DC 0005C082 */ srl $t8, $a1, 2 -/* 034870 702012E0 2463FFFE */ addiu $v1, $v1, -2 -/* 034874 702012E4 24010002 */ li $at, 2 -/* 034878 702012E8 AD180000 */ sw $t8, ($t0) -/* 03487C 702012EC 14410005 */ bne $v0, $at, .L70201304 -/* 034880 702012F0 AD230000 */ sw $v1, ($t1) -/* 034884 702012F4 0C080341 */ jal inflate_dynamic -/* 034888 702012F8 00000000 */ nop -/* 03488C 702012FC 1000000F */ b .L7020133C -/* 034890 70201300 8FBF0014 */ lw $ra, 0x14($sp) -.L70201304: -/* 034894 70201304 14400005 */ bnez $v0, .L7020131C -/* 034898 70201308 24010001 */ li $at, 1 -/* 03489C 7020130C 0C080292 */ jal inflate_stored -/* 0348A0 70201310 00000000 */ nop -/* 0348A4 70201314 10000009 */ b .L7020133C -/* 0348A8 70201318 8FBF0014 */ lw $ra, 0x14($sp) -.L7020131C: -/* 0348AC 7020131C 54410006 */ bnel $v0, $at, .L70201338 -/* 0348B0 70201320 24020002 */ li $v0, 2 -/* 0348B4 70201324 0C0802E7 */ jal inflate_fixed -/* 0348B8 70201328 00000000 */ nop -/* 0348BC 7020132C 10000003 */ b .L7020133C -/* 0348C0 70201330 8FBF0014 */ lw $ra, 0x14($sp) -/* 0348C4 70201334 24020002 */ li $v0, 2 -.L70201338: -/* 0348C8 70201338 8FBF0014 */ lw $ra, 0x14($sp) -.L7020133C: -/* 0348CC 7020133C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0348D0 70201340 03E00008 */ jr $ra -/* 0348D4 70201344 00000000 */ nop -) -#endif - - -int inflate(void) { - int e; - int r; - unsigned h; - - wp = 0; - bk = 0; - bb = 0; - - h = 0; - - do { - hufts = 0; - - if ((r = inflate_block(&e)) != 0) - return r; - if (hufts > h) - h = hufts; - } while (!e); - - while (bk >= 8) { - bk -= 8; - inptr--; - } - - return 0; -} - -u32 decompress_entry(u32 source, u32 target, u32 buffer) { - - rz_ptr_source = source; - rz_ptr_target = target; - rz_ptrbuffer = buffer; - rz_ptr_source = (s32) (rz_ptr_source + 2); - wp = 0; - inptr = 0; - inflate(); - return wp; -} - - diff --git a/src/rarezip/rarezip.h b/src/rarezip/rarezip.h deleted file mode 100644 index 1d81260..0000000 --- a/src/rarezip/rarezip.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _BOOT_H_ -#define _BOOT_H_ - -u32 decompress_entry(u32 source, u32 target, u32 buffer); - -#endif diff --git a/src/rmon.c b/src/rmon.c deleted file mode 100644 index e88ced0..0000000 --- a/src/rmon.c +++ /dev/null @@ -1,131 +0,0 @@ -#include "ultra64.h" - - -void thread0_rmon(void) { - // (function likely void) -} - -s32 rmon_debug_is_final_build(void) { - return 1; -} - -s32 rmon_debug_returns_neg_1(void) { - return -1; -} - - -void rmon_debug_stub(void) { - // (function likely void) -} - - -void rmon_debug_stub_0(void) { - // (function likely void) -} - -void rmon_debug_stub_1(void) { - // (function likely void) -} - -void rmon_debug_stub_2(void) { - // (function likely void) -} - -void rmon_debug_stub_3(void) { - // (function likely void) -} - -void rmon_debug_stub_4(void) { - // (function likely void) -} - - - -#ifdef NONMATCHING -? proutSyncPrintf(s32 arg0, void *arg1, s32 arg2) -{ - s32 temp_s0; - void *phi_s1; - s32 phi_s0; - - if (arg2 != 0) - { - phi_s1 = arg1; - phi_s0 = 0; -loop_2: - temp_s0 = phi_s0 + 1; - __osRdbSend(*phi_s1); - phi_s1 = phi_s1 + 1; - phi_s0 = temp_s0; - if (temp_s0 != arg2) - { - goto loop_2; - } - } - return 1; -} -#else -GLOBAL_ASM( -.text -glabel proutSyncPrintf -/* 00DAE8 7000CEE8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00DAEC 7000CEEC AFB20020 */ sw $s2, 0x20($sp) -/* 00DAF0 7000CEF0 AFB00018 */ sw $s0, 0x18($sp) -/* 00DAF4 7000CEF4 00C09025 */ move $s2, $a2 -/* 00DAF8 7000CEF8 AFBF0024 */ sw $ra, 0x24($sp) -/* 00DAFC 7000CEFC AFB1001C */ sw $s1, 0x1c($sp) -/* 00DB00 7000CF00 AFA40028 */ sw $a0, 0x28($sp) -/* 00DB04 7000CF04 10C00008 */ beqz $a2, .L7000CF28 -/* 00DB08 7000CF08 00008025 */ move $s0, $zero -/* 00DB0C 7000CF0C 00A08825 */ move $s1, $a1 -/* 00DB10 7000CF10 92240000 */ lbu $a0, ($s1) -.L7000CF14: -/* 00DB14 7000CF14 26100001 */ addiu $s0, $s0, 1 -/* 00DB18 7000CF18 0C0015AF */ jal __osRdbSend -/* 00DB1C 7000CF1C 26310001 */ addiu $s1, $s1, 1 -/* 00DB20 7000CF20 5612FFFC */ bnel $s0, $s2, .L7000CF14 -/* 00DB24 7000CF24 92240000 */ lbu $a0, ($s1) -.L7000CF28: -/* 00DB28 7000CF28 8FBF0024 */ lw $ra, 0x24($sp) -/* 00DB2C 7000CF2C 8FB00018 */ lw $s0, 0x18($sp) -/* 00DB30 7000CF30 8FB1001C */ lw $s1, 0x1c($sp) -/* 00DB34 7000CF34 8FB20020 */ lw $s2, 0x20($sp) -/* 00DB38 7000CF38 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00DB3C 7000CF3C 03E00008 */ jr $ra -/* 00DB40 7000CF40 24020001 */ li $v0, 1 -) -#endif - - - -#ifdef NONMATCHING -void osSyncPrintf(s32 arg0, s32 arg1, ? arg2, ? arg3) -{ - _Printf(&proutSyncPrintf, 0, arg0, &arg1); -} -#else -GLOBAL_ASM( -.text -glabel osSyncPrintf -/* 00DB44 7000CF44 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00DB48 7000CF48 AFA40020 */ sw $a0, 0x20($sp) -/* 00DB4C 7000CF4C AFBF0014 */ sw $ra, 0x14($sp) -/* 00DB50 7000CF50 AFA50024 */ sw $a1, 0x24($sp) -/* 00DB54 7000CF54 AFA60028 */ sw $a2, 0x28($sp) -/* 00DB58 7000CF58 AFA7002C */ sw $a3, 0x2c($sp) -/* 00DB5C 7000CF5C 3C047001 */ lui $a0, %hi(proutSyncPrintf) # $a0, 0x7001 -/* 00DB60 7000CF60 2484CEE8 */ addiu $a0, %lo(proutSyncPrintf) # addiu $a0, $a0, -0x3118 -/* 00DB64 7000CF64 27A70024 */ addiu $a3, $sp, 0x24 -/* 00DB68 7000CF68 8FA60020 */ lw $a2, 0x20($sp) -/* 00DB6C 7000CF6C 0C004FD8 */ jal _Printf -/* 00DB70 7000CF70 00002825 */ move $a1, $zero -/* 00DB74 7000CF74 8FBF0014 */ lw $ra, 0x14($sp) -/* 00DB78 7000CF78 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00DB7C 7000CF7C 03E00008 */ jr $ra -/* 00DB80 7000CF80 00000000 */ nop -) -#endif - - - - diff --git a/src/rmon.h b/src/rmon.h deleted file mode 100644 index 6388d37..0000000 --- a/src/rmon.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _RMON_H_ -#define _RMON_H_ -#include - -void thread0_rmon(void); - - -#endif diff --git a/src/rom_header.s b/src/rom_header.s deleted file mode 100644 index d16b1ed..0000000 --- a/src/rom_header.s +++ /dev/null @@ -1,24 +0,0 @@ - -.section .data -.byte 0x80, 0x37, 0x12, 0x40 # PI BSD Domain 1 register -.word 0x0000000F # clock rate setting -.word 0x80000400 # entry point -.word 0x00001447 # release -.word 0xDCBC50D1 # checksum1 -.word 0x09FD1AA3 # checksum2 -.word 0x00000000 # unknown -.word 0x00000000 # unknown -.ascii "GOLDENEYE " # ROM name: 20 bytes -.word 0x00000000 # unknown -.word 0x0000004E # cartridge -.ascii "GE" # cartridge ID -.ifdef VERSION_US -.ascii "E" # country -.endif -.ifdef VERSION_JP -.ascii "J" # country -.endif -.ifdef VERSION_EU -.ascii "P" # country -.endif -.byte 0x00 # version diff --git a/src/rspboot.s b/src/rspboot.s deleted file mode 100644 index a46fed4..0000000 --- a/src/rspboot.s +++ /dev/null @@ -1,17 +0,0 @@ -# Goldeneye 007 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# 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 rspbootTextStart -.incbin "/bin/rspboot.text.bin" - -.section .data -.section .rodata -.section .bss diff --git a/src/sched.c b/src/sched.c deleted file mode 100644 index c535f2f..0000000 --- a/src/sched.c +++ /dev/null @@ -1,1391 +0,0 @@ -#include -#include "init.h" -#include "sched.h" -#include "bondgame.h" - -/** - * @file sched.c - * This file contains the scheduler. - * - * In particular, it: - * - is based on but modified by rare from code included in sdk - * - - * - - */ - -u32 stderr_unused = 0; -u32 stderr_enabled = 0; -u32 stderr_active = 0; -u32 stderr_permitted = 0; -u32 userCompareValue = 45000000; -u32 currentcount = 0; -u32 setby_DPCfill_0 = 0; -u32 setby_DPCfill_1 = 0; -//800230b0 -f32 something_with_osVI_0 = 0.0; -f32 something_with_osVI_4 = 1.0; -f32 something_with_osVI_8 = 1.0; -f32 something_with_osVI_C = 1.0; -f32 something_with_osVI_10 = 1.0; -f32 something_with_osVI_14 = 0.0; -f32 something_with_osVI_18 = 0.0; - -u32 D_800230CC = 1; - - -OSSched sc; -//temporary until i get proper sized structs -OSScClient gfxClient[3]; -//char gfxClient[0x18]; - -char target_for_counters_maybe[0x10]; -char dword_CODE_bss_8005DB40[0xB0]; - - -/** - * 1570 70000970 - * A0-> stderr.activated [80023098]; fry AT - */ -void activate_stderr(u32 flag) -{ - stderr_active = flag; -} - -/** - * 157C 7000097C - * A0-> stderr.enable [80023094]; fry AT - */ -void enable_stderr(u32 flag) -{ - stderr_enabled = flag; -} - -/** - * 1588 70000988 - * A0-> stderr.permitted [8002309C]; fry AT - */ -void permit_stderr(u32 flag) -{ - stderr_permitted = flag; -} - -/** - * 1594 70000994 - * A0-> user.Compare [800230A0]; fry AT - */ -void setUserCompareValue(u32 value) -{ - userCompareValue = value; -} - -/** - * 15A0 700009A0 - * test to display stderr and update Count - */ -void CheckDisplayErrorBuffer(u32 *buffer) -{ - if ((stderr_permitted && stderr_active) || stderr_enabled ) - { - write_stderr_to_buffer(buffer); - currentcount = osGetCount(); - } -} - -/** - * 15F8 700009F8 - * test to display stderr every 16th frame - */ - -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); - } - } - } -} - -/** - * Not 100% on name, came from osInitialize's call to function - * 1688 70000A88 - * store current Count to 800230A4 - */ -void osCreateLog(void){ - currentcount=osGetCount(); -} - -/** - * 16AC 70000AAC - * (thread management) - */ -#ifdef NONMATCHING -void osCreateScheduler (OSSched * sc, void * stack, u8 mode, u8 numFields) -{ - sc->curRSPTask = 0; - sc->curRDPTask = 0; - sc->clientList = 0; - sc->frameCount = 0; - sc->audioListHead = 0; - sc->gfxListHead = 0; - sc->audioListTail = 0; - sc->gfxListTail = 0; - 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); - - 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); - osViSetEvent(&sc->interruptQ, 0x29a, numFields); - osCreateLog(); - osCreateThread(sc->thread, 2, &__scMain, sc, set_stack_entry(&sp_shed, 0x200), 0x1e); - osStartThread(sc->thread); -} -#else -GLOBAL_ASM( -glabel osCreateScheduler -/* 0016AC 70000AAC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0016B0 70000AB0 AFBF0024 */ sw $ra, 0x24($sp) -/* 0016B4 70000AB4 AFB10020 */ sw $s1, 0x20($sp) -/* 0016B8 70000AB8 AFB0001C */ sw $s0, 0x1c($sp) -/* 0016BC 70000ABC AFA5002C */ sw $a1, 0x2c($sp) -/* 0016C0 70000AC0 AFA60030 */ sw $a2, 0x30($sp) -/* 0016C4 70000AC4 AFA70034 */ sw $a3, 0x34($sp) -/* 0016C8 70000AC8 240E0001 */ li $t6, 1 -/* 0016CC 70000ACC 240F0005 */ li $t7, 5 -/* 0016D0 70000AD0 AC8000C8 */ sw $zero, 0xc8($a0) -/* 0016D4 70000AD4 AC8000CC */ sw $zero, 0xcc($a0) -/* 0016D8 70000AD8 AC8000B4 */ sw $zero, 0xb4($a0) -/* 0016DC 70000ADC AC8000D0 */ sw $zero, 0xd0($a0) -/* 0016E0 70000AE0 AC8000B8 */ sw $zero, 0xb8($a0) -/* 0016E4 70000AE4 AC8000BC */ sw $zero, 0xbc($a0) -/* 0016E8 70000AE8 AC8000C0 */ sw $zero, 0xc0($a0) -/* 0016EC 70000AEC AC8000C4 */ sw $zero, 0xc4($a0) -/* 0016F0 70000AF0 A48E0000 */ sh $t6, ($a0) -/* 0016F4 70000AF4 A48F0020 */ sh $t7, 0x20($a0) -/* 0016F8 70000AF8 8FB8002C */ lw $t8, 0x2c($sp) -/* 0016FC 70000AFC 00808025 */ move $s0, $a0 -/* 001700 70000B00 24910040 */ addiu $s1, $a0, 0x40 -/* 001704 70000B04 AC9800B0 */ sw $t8, 0xb0($a0) -/* 001708 70000B08 02202025 */ move $a0, $s1 -/* 00170C 70000B0C 26050058 */ addiu $a1, $s0, 0x58 -/* 001710 70000B10 0C0035B4 */ jal osCreateMesgQueue -/* 001714 70000B14 24060008 */ li $a2, 8 -/* 001718 70000B18 26040078 */ addiu $a0, $s0, 0x78 -/* 00171C 70000B1C 26050090 */ addiu $a1, $s0, 0x90 -/* 001720 70000B20 0C0035B4 */ jal osCreateMesgQueue -/* 001724 70000B24 24060008 */ li $a2, 8 -/* 001728 70000B28 0C00363C */ jal osCreateViManager -/* 00172C 70000B2C 240400FE */ li $a0, 254 -/* 001730 70000B30 93B90033 */ lbu $t9, 0x33($sp) -/* 001734 70000B34 3C098002 */ lui $t1, %hi(osViModeTable) -/* 001738 70000B38 3C038006 */ lui $v1, %hi(viMode) -/* 00173C 70000B3C 00194080 */ sll $t0, $t9, 2 -/* 001740 70000B40 01194021 */ addu $t0, $t0, $t9 -/* 001744 70000B44 00084100 */ sll $t0, $t0, 4 -/* 001748 70000B48 252969C0 */ addiu $t1, %lo(osViModeTable) # addiu $t1, $t1, 0x69c0 -/* 00174C 70000B4C 2463087C */ addiu $v1, %lo(viMode) # addiu $v1, $v1, 0x87c -/* 001750 70000B50 01095021 */ addu $t2, $t0, $t1 -/* 001754 70000B54 AC6A0000 */ sw $t2, ($v1) -/* 001758 70000B58 8D4B001C */ lw $t3, 0x1c($t2) -/* 00175C 70000B5C 3C018006 */ lui $at, %hi(viMode+0x4) -/* 001760 70000B60 24040004 */ li $a0, 4 -/* 001764 70000B64 AC2B0880 */ sw $t3, %lo(viMode+0x4)($at) -/* 001768 70000B68 8D4C0030 */ lw $t4, 0x30($t2) -/* 00176C 70000B6C 3C018006 */ lui $at, %hi(viMode+0x8) -/* 001770 70000B70 02202825 */ move $a1, $s1 -/* 001774 70000B74 AC2C0884 */ sw $t4, %lo(viMode+0x8)($at) -/* 001778 70000B78 8D4D0044 */ lw $t5, 0x44($t2) -/* 00177C 70000B7C 3C018006 */ lui $at, %hi(viMode+0xC) -/* 001780 70000B80 2406029B */ li $a2, 667 -/* 001784 70000B84 0C003714 */ jal osSetEventMesg -/* 001788 70000B88 AC2D0888 */ sw $t5, %lo(viMode+0xC)($at) -/* 00178C 70000B8C 24040009 */ li $a0, 9 -/* 001790 70000B90 02202825 */ move $a1, $s1 -/* 001794 70000B94 0C003714 */ jal osSetEventMesg -/* 001798 70000B98 2406029C */ li $a2, 668 -/* 00179C 70000B9C 2404000E */ li $a0, 14 -/* 0017A0 70000BA0 02202825 */ move $a1, $s1 -/* 0017A4 70000BA4 0C003714 */ jal osSetEventMesg -/* 0017A8 70000BA8 2406029D */ li $a2, 669 -/* 0017AC 70000BAC 02202025 */ move $a0, $s1 -/* 0017B0 70000BB0 2405029A */ li $a1, 666 -/* 0017B4 70000BB4 0C003730 */ jal osViSetEvent -/* 0017B8 70000BB8 8FA60034 */ lw $a2, 0x34($sp) -/* 0017BC 70000BBC 0C0002A2 */ jal osCreateLog -/* 0017C0 70000BC0 00000000 */ nop -/* 0017C4 70000BC4 3C04803B */ lui $a0, %hi(sp_shed) # $a0, 0x803b -/* 0017C8 70000BC8 2484B750 */ addiu $a0, %lo(sp_shed) # addiu $a0, $a0, -0x48b0 -/* 0017CC 70000BCC 0C0001BC */ jal set_stack_entry -/* 0017D0 70000BD0 24050200 */ li $a1, 512 -/* 0017D4 70000BD4 8E0400B0 */ lw $a0, 0xb0($s0) -/* 0017D8 70000BD8 3C067000 */ lui $a2, %hi(__scMain) # $a2, 0x7000 -/* 0017DC 70000BDC 240E001E */ li $t6, 30 -/* 0017E0 70000BE0 AFAE0014 */ sw $t6, 0x14($sp) -/* 0017E4 70000BE4 24C60D00 */ addiu $a2, %lo(__scMain) # addiu $a2, $a2, 0xd00 -/* 0017E8 70000BE8 AFA20010 */ sw $v0, 0x10($sp) -/* 0017EC 70000BEC 24050002 */ li $a1, 2 -/* 0017F0 70000BF0 0C00350C */ jal osCreateThread -/* 0017F4 70000BF4 02003825 */ move $a3, $s0 -/* 0017F8 70000BF8 0C003560 */ jal osStartThread -/* 0017FC 70000BFC 8E0400B0 */ lw $a0, 0xb0($s0) -/* 001800 70000C00 8FBF0024 */ lw $ra, 0x24($sp) -/* 001804 70000C04 8FB0001C */ lw $s0, 0x1c($sp) -/* 001808 70000C08 8FB10020 */ lw $s1, 0x20($sp) -/* 00180C 70000C0C 03E00008 */ jr $ra -/* 001810 70000C10 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -/** - * 1814 70000C14 - */ -void osScAddClient(OSSched *sc, OSScClient *c, OSMesgQueue *msgQ, OSScClient *next) -{ - OSIntMask mask; - - mask = osSetIntMask(1); - - c->msgQ = msgQ; - c[1].next = next; - c->next = sc->clientList; - sc->clientList = c; - - osSetIntMask(mask); -} - - -/** - * 1870 70000C70 - */ -void osScRemoveClient(OSSched *sc, OSScClient *c) -{ - OSScClient *client = sc->clientList; - OSScClient *prev = 0; - OSIntMask mask; - - mask = osSetIntMask(1); - - while (client != 0) - { - if (client == c) - { - if(prev) - prev->next = c->next; - else - sc->clientList = c->next; - break; - } - prev = client; - client = client->next; - } - - osSetIntMask(mask); -} - - -/** - * 18F8 70000CF8 - * V0= A0+78 - */ -OSMesgQueue *osScGetCmdQ(OSSched *sc) -{ - return &sc->cmdQ; -} - -/** - * 1900 70000D00 - */ -#ifdef NONMATCHING -void __scMain(void *arg) -{ - OSMesg msg; - OSSched *sc = (OSSched *)arg; - OSScClient *client; - static int count = 0; - - while (1) { - - osRecvMesg(&sc->interruptQ, (OSMesg *)&msg, OS_MESG_BLOCK); - - switch ((int) msg) { - case (0x29a): - __scHandleRetrace(sc); - break; - - case (0x29b): - __scHandleRSP(sc); - break; - - case (0x29c): - __scHandleRDP(sc); - break; - - case (0x29d): - reset_cont_rumble_detect(); - for (client = sc->clientList;client != 0;client = client->next) { - osSendMesg(client->msgQ, (OSMesg) &sc->prenmiMsg, OS_MESG_NOBLOCK); - } - break; - } - } - if (osTvType == 2) - { - osViSetMode(0x80027320); - } - else - { - osViSetMode(0x80026a60); - } - osViSetXScale(1.00000000); - osViSetYScale(1.00000000); - osViRepeatLine(0); - osViBlack(1); - - while (1) { - while ((u32)msg != 0x29a) { - osRecvMesg(&sc->interruptQ,&msg,1); - } - controllerSchedulerRelated(); - } - -} -#else -GLOBAL_ASM( -glabel __scMain -/* 001900 70000D00 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 001904 70000D04 AFB50028 */ sw $s5, 0x28($sp) -/* 001908 70000D08 AFB40024 */ sw $s4, 0x24($sp) -/* 00190C 70000D0C AFB30020 */ sw $s3, 0x20($sp) -/* 001910 70000D10 AFB2001C */ sw $s2, 0x1c($sp) -/* 001914 70000D14 AFB00014 */ sw $s0, 0x14($sp) -/* 001918 70000D18 00809025 */ move $s2, $a0 -/* 00191C 70000D1C AFBF002C */ sw $ra, 0x2c($sp) -/* 001920 70000D20 AFB10018 */ sw $s1, 0x18($sp) -/* 001924 70000D24 AFA0004C */ sw $zero, 0x4c($sp) -/* 001928 70000D28 00008025 */ move $s0, $zero -/* 00192C 70000D2C 24930040 */ addiu $s3, $a0, 0x40 -/* 001930 70000D30 27B4004C */ addiu $s4, $sp, 0x4c -/* 001934 70000D34 2415029A */ li $s5, 666 -/* 001938 70000D38 02602025 */ move $a0, $s3 -.L70000D3C: -/* 00193C 70000D3C 02802825 */ move $a1, $s4 -/* 001940 70000D40 0C003774 */ jal osRecvMesg -/* 001944 70000D44 24060001 */ li $a2, 1 -/* 001948 70000D48 8FAE004C */ lw $t6, 0x4c($sp) -/* 00194C 70000D4C 2401029B */ li $at, 667 -/* 001950 70000D50 11D50009 */ beq $t6, $s5, .L70000D78 -/* 001954 70000D54 00000000 */ nop -/* 001958 70000D58 11C1000B */ beq $t6, $at, .L70000D88 -/* 00195C 70000D5C 2401029C */ li $at, 668 -/* 001960 70000D60 11C1000D */ beq $t6, $at, .L70000D98 -/* 001964 70000D64 2401029D */ li $at, 669 -/* 001968 70000D68 11C1000F */ beq $t6, $at, .L70000DA8 -/* 00196C 70000D6C 00000000 */ nop -/* 001970 70000D70 1000001B */ b .L70000DE0 -/* 001974 70000D74 00000000 */ nop -.L70000D78: -/* 001978 70000D78 0C0003AD */ jal __scHandleRetrace -/* 00197C 70000D7C 02402025 */ move $a0, $s2 -/* 001980 70000D80 10000017 */ b .L70000DE0 -/* 001984 70000D84 00000000 */ nop -.L70000D88: -/* 001988 70000D88 0C000405 */ jal __scHandleRSP -/* 00198C 70000D8C 02402025 */ move $a0, $s2 -/* 001990 70000D90 10000013 */ b .L70000DE0 -/* 001994 70000D94 00000000 */ nop -.L70000D98: -/* 001998 70000D98 0C00044A */ jal __scHandleRDP -/* 00199C 70000D9C 02402025 */ move $a0, $s2 -/* 0019A0 70000DA0 1000000F */ b .L70000DE0 -/* 0019A4 70000DA4 00000000 */ nop -.L70000DA8: -/* 0019A8 70000DA8 0C003237 */ jal reset_cont_rumble_detect -/* 0019AC 70000DAC 00000000 */ nop -/* 0019B0 70000DB0 8E5000B4 */ lw $s0, 0xb4($s2) -/* 0019B4 70000DB4 26510020 */ addiu $s1, $s2, 0x20 -/* 0019B8 70000DB8 52000009 */ beql $s0, $zero, .L70000DE0 -/* 0019BC 70000DBC 24100001 */ li $s0, 1 -/* 0019C0 70000DC0 8E040004 */ lw $a0, 4($s0) -.L70000DC4: -/* 0019C4 70000DC4 02202825 */ move $a1, $s1 -/* 0019C8 70000DC8 0C0037C4 */ jal osSendMesg -/* 0019CC 70000DCC 00003025 */ move $a2, $zero -/* 0019D0 70000DD0 8E100000 */ lw $s0, ($s0) -/* 0019D4 70000DD4 5600FFFB */ bnezl $s0, .L70000DC4 -/* 0019D8 70000DD8 8E040004 */ lw $a0, 4($s0) -/* 0019DC 70000DDC 24100001 */ li $s0, 1 -.L70000DE0: -/* 0019E0 70000DE0 5200FFD6 */ beql $s0, $zero, .L70000D3C -/* 0019E4 70000DE4 02602025 */ move $a0, $s3 -/* 0019E8 70000DE8 3C0F8000 */ lui $t7, %hi(osTvType) -/* 0019EC 70000DEC 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -/* 0019F0 70000DF0 24010002 */ li $at, 2 -/* 0019F4 70000DF4 3C048002 */ lui $a0, %hi(osViModeTable_osViModeNtscLan1) -/* 0019F8 70000DF8 15E10006 */ bne $t7, $at, .L70000E14 -/* 0019FC 70000DFC 00000000 */ nop -/* 001A00 70000E00 3C048002 */ lui $a0, %hi(osViModeTable_osViModeMpalLan1) -/* 001A04 70000E04 0C003818 */ jal osViSetMode -/* 001A08 70000E08 24847320 */ addiu $a0, %lo(osViModeTable_osViModeMpalLan1) # addiu $a0, $a0, 0x7320 -/* 001A0C 70000E0C 10000004 */ b .L70000E20 -/* 001A10 70000E10 3C013F80 */ lui $at, 0x3f80 -.L70000E14: -/* 001A14 70000E14 0C003818 */ jal osViSetMode -/* 001A18 70000E18 24846A60 */ addiu $a0, $a0, %lo(osViModeTable_osViModeNtscLan1) -/* 001A1C 70000E1C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L70000E20: -/* 001A20 70000E20 44816000 */ mtc1 $at, $f12 -/* 001A24 70000E24 0C003834 */ jal osViSetXScale -/* 001A28 70000E28 00000000 */ nop -/* 001A2C 70000E2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 001A30 70000E30 44816000 */ mtc1 $at, $f12 -/* 001A34 70000E34 0C003880 */ jal osViSetYScale -/* 001A38 70000E38 00000000 */ nop -/* 001A3C 70000E3C 0C003898 */ jal osViRepeatLine -/* 001A40 70000E40 00002025 */ move $a0, $zero -/* 001A44 70000E44 0C0038B4 */ jal osViBlack -/* 001A48 70000E48 24040001 */ li $a0, 1 -/* 001A4C 70000E4C 02602025 */ move $a0, $s3 -.L70000E50: -/* 001A50 70000E50 02802825 */ move $a1, $s4 -/* 001A54 70000E54 0C003774 */ jal osRecvMesg -/* 001A58 70000E58 24060001 */ li $a2, 1 -/* 001A5C 70000E5C 8FB8004C */ lw $t8, 0x4c($sp) -/* 001A60 70000E60 5715FFFB */ bnel $t8, $s5, .L70000E50 -/* 001A64 70000E64 02602025 */ move $a0, $s3 -/* 001A68 70000E68 0C002F62 */ jal controllerSchedulerRelated -/* 001A6C 70000E6C 00000000 */ nop -/* 001A70 70000E70 1000FFF7 */ b .L70000E50 -/* 001A74 70000E74 02602025 */ move $a0, $s3 -/* 001A78 70000E78 00000000 */ nop -/* 001A7C 70000E7C 00000000 */ nop -/* 001A80 70000E80 00000000 */ nop -/* 001A84 70000E84 00000000 */ nop -/* 001A88 70000E88 00000000 */ nop -/* 001A8C 70000E8C 00000000 */ nop -/* 001A90 70000E90 8FBF002C */ lw $ra, 0x2c($sp) -/* 001A94 70000E94 8FB00014 */ lw $s0, 0x14($sp) -/* 001A98 70000E98 8FB10018 */ lw $s1, 0x18($sp) -/* 001A9C 70000E9C 8FB2001C */ lw $s2, 0x1c($sp) -/* 001AA0 70000EA0 8FB30020 */ lw $s3, 0x20($sp) -/* 001AA4 70000EA4 8FB40024 */ lw $s4, 0x24($sp) -/* 001AA8 70000EA8 8FB50028 */ lw $s5, 0x28($sp) -/* 001AAC 70000EAC 03E00008 */ jr $ra -/* 001AB0 70000EB0 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - -/** - * 1AB4 70000EB4 - */ -#ifdef NONMATCHING -void __scHandleRetrace(OSSched *sc) -{ - OSScTask *rspTask; - OSScClient *client; - s32 i; - s32 state; - OSScTask *sp = 0; - OSScTask *dp = 0; - - video_related_1(); - sc->frameCount++; - video_related_7(); - controllerSchedulerRelated(); - music_related_15(); - while (osRecvMesg(&sc->cmdQ, (OSMesg *)&rspTask, OS_MESG_NOBLOCK) != -1) { - __scAppendList(sc, rspTask); - } - if (sc->doAudio && sc->curRSPTask) { - __scYield(sc); - } else { - state = ((sc->curRSPTask == 0) << 1) | (sc->curRDPTask == 0); - if ( __scSchedule (sc, &sp, &dp, state) != state) - __scExec(sc, sp, dp); - } - - for (client = sc->clientList; client != 0; client = client->next) { - osSendMesg(client->msgQ, (OSMesg) &sc->retraceMsg, OS_MESG_NOBLOCK); - } - - CheckDisplayErrorBufferEvery16Frames(sc->frameCount); -} -#else -GLOBAL_ASM( -glabel __scHandleRetrace -/* 001AB4 70000EB4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 001AB8 70000EB8 AFBF0024 */ sw $ra, 0x24($sp) -/* 001ABC 70000EBC AFB10018 */ sw $s1, 0x18($sp) -/* 001AC0 70000EC0 00808825 */ move $s1, $a0 -/* 001AC4 70000EC4 AFB30020 */ sw $s3, 0x20($sp) -/* 001AC8 70000EC8 AFB2001C */ sw $s2, 0x1c($sp) -/* 001ACC 70000ECC AFB00014 */ sw $s0, 0x14($sp) -/* 001AD0 70000ED0 AFA0003C */ sw $zero, 0x3c($sp) -/* 001AD4 70000ED4 AFA00030 */ sw $zero, 0x30($sp) -/* 001AD8 70000ED8 0C0009E9 */ jal video_related_1 -/* 001ADC 70000EDC AFA0002C */ sw $zero, 0x2c($sp) -/* 001AE0 70000EE0 8E2E00D0 */ lw $t6, 0xd0($s1) -/* 001AE4 70000EE4 25CF0001 */ addiu $t7, $t6, 1 -/* 001AE8 70000EE8 0C000C68 */ jal video_related_7 -/* 001AEC 70000EEC AE2F00D0 */ sw $t7, 0xd0($s1) -/* 001AF0 70000EF0 0C002F62 */ jal controllerSchedulerRelated -/* 001AF4 70000EF4 00000000 */ nop -/* 001AF8 70000EF8 0C001E45 */ jal music_related_15 -/* 001AFC 70000EFC 00000000 */ nop -/* 001B00 70000F00 27B3003C */ addiu $s3, $sp, 0x3c -/* 001B04 70000F04 26320078 */ addiu $s2, $s1, 0x78 -/* 001B08 70000F08 02402025 */ move $a0, $s2 -/* 001B0C 70000F0C 02602825 */ move $a1, $s3 -/* 001B10 70000F10 0C003774 */ jal osRecvMesg -/* 001B14 70000F14 00003025 */ move $a2, $zero -/* 001B18 70000F18 2410FFFF */ li $s0, -1 -/* 001B1C 70000F1C 10500009 */ beq $v0, $s0, .L70000F44 -/* 001B20 70000F20 02202025 */ move $a0, $s1 -.L70000F24: -/* 001B24 70000F24 0C0004F6 */ jal __scAppendList -/* 001B28 70000F28 8FA5003C */ lw $a1, 0x3c($sp) -/* 001B2C 70000F2C 02402025 */ move $a0, $s2 -/* 001B30 70000F30 02602825 */ move $a1, $s3 -/* 001B34 70000F34 0C003774 */ jal osRecvMesg -/* 001B38 70000F38 00003025 */ move $a2, $zero -/* 001B3C 70000F3C 5450FFF9 */ bnel $v0, $s0, .L70000F24 -/* 001B40 70000F40 02202025 */ move $a0, $s1 -.L70000F44: -/* 001B44 70000F44 8E3800D4 */ lw $t8, 0xd4($s1) -/* 001B48 70000F48 02202025 */ move $a0, $s1 -/* 001B4C 70000F4C 27A50030 */ addiu $a1, $sp, 0x30 -/* 001B50 70000F50 53000009 */ beql $t8, $zero, .L70000F78 -/* 001B54 70000F54 8E2800C8 */ lw $t0, 0xc8($s1) -/* 001B58 70000F58 8E3900C8 */ lw $t9, 0xc8($s1) -/* 001B5C 70000F5C 53200006 */ beql $t9, $zero, .L70000F78 -/* 001B60 70000F60 8E2800C8 */ lw $t0, 0xc8($s1) -/* 001B64 70000F64 0C000558 */ jal __scYield -/* 001B68 70000F68 02202025 */ move $a0, $s1 -/* 001B6C 70000F6C 10000010 */ b .L70000FB0 -/* 001B70 70000F70 8E3000B4 */ lw $s0, 0xb4($s1) -/* 001B74 70000F74 8E2800C8 */ lw $t0, 0xc8($s1) -.L70000F78: -/* 001B78 70000F78 8E2B00CC */ lw $t3, 0xcc($s1) -/* 001B7C 70000F7C 27A6002C */ addiu $a2, $sp, 0x2c -/* 001B80 70000F80 2D090001 */ sltiu $t1, $t0, 1 -/* 001B84 70000F84 00095040 */ sll $t2, $t1, 1 -/* 001B88 70000F88 2D6C0001 */ sltiu $t4, $t3, 1 -/* 001B8C 70000F8C 014C8025 */ or $s0, $t2, $t4 -/* 001B90 70000F90 0C000567 */ jal __scSchedule -/* 001B94 70000F94 02003825 */ move $a3, $s0 -/* 001B98 70000F98 10500004 */ beq $v0, $s0, .L70000FAC -/* 001B9C 70000F9C 02202025 */ move $a0, $s1 -/* 001BA0 70000FA0 8FA50030 */ lw $a1, 0x30($sp) -/* 001BA4 70000FA4 0C000510 */ jal __scExec -/* 001BA8 70000FA8 8FA6002C */ lw $a2, 0x2c($sp) -.L70000FAC: -/* 001BAC 70000FAC 8E3000B4 */ lw $s0, 0xb4($s1) -.L70000FB0: -/* 001BB0 70000FB0 1200000F */ beqz $s0, .L70000FF0 -/* 001BB4 70000FB4 00000000 */ nop -/* 001BB8 70000FB8 8E0D0008 */ lw $t5, 8($s0) -.L70000FBC: -/* 001BBC 70000FBC 02202825 */ move $a1, $s1 -/* 001BC0 70000FC0 00003025 */ move $a2, $zero -/* 001BC4 70000FC4 11A00005 */ beqz $t5, .L70000FDC -/* 001BC8 70000FC8 00000000 */ nop -/* 001BCC 70000FCC 8E2E00D0 */ lw $t6, 0xd0($s1) -/* 001BD0 70000FD0 31CF0001 */ andi $t7, $t6, 1 -/* 001BD4 70000FD4 55E00004 */ bnezl $t7, .L70000FE8 -/* 001BD8 70000FD8 8E100000 */ lw $s0, ($s0) -.L70000FDC: -/* 001BDC 70000FDC 0C0037C4 */ jal osSendMesg -/* 001BE0 70000FE0 8E040004 */ lw $a0, 4($s0) -/* 001BE4 70000FE4 8E100000 */ lw $s0, ($s0) -.L70000FE8: -/* 001BE8 70000FE8 5600FFF4 */ bnezl $s0, .L70000FBC -/* 001BEC 70000FEC 8E0D0008 */ lw $t5, 8($s0) -.L70000FF0: -/* 001BF0 70000FF0 0C00027E */ jal CheckDisplayErrorBufferEvery16Frames -/* 001BF4 70000FF4 8E2400D0 */ lw $a0, 0xd0($s1) -/* 001BF8 70000FF8 8FBF0024 */ lw $ra, 0x24($sp) -/* 001BFC 70000FFC 8FB00014 */ lw $s0, 0x14($sp) -/* 001C00 70001000 8FB10018 */ lw $s1, 0x18($sp) -/* 001C04 70001004 8FB2001C */ lw $s2, 0x1c($sp) -/* 001C08 70001008 8FB30020 */ lw $s3, 0x20($sp) -/* 001C0C 7000100C 03E00008 */ jr $ra -/* 001C10 70001010 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - -/** - * 1C14 70001014 - */ -#ifdef NONMATCHING -void __scHandleRSP(OSSched *sc) -{ - OSScTask *t, *sp = 0, *dp = 0; - s32 state; - - t = sc->curRSPTask; - sc->curRSPTask = 0; - video_related_3(0x10001, arg0->unkC8); - if (((sp2C->unk4 & 0x10) != 0) && (osSpTaskYielded((sp2C + 0x10), sp2C) != 0)) - { - sp2C->unk4 = (s32) (sp2C->unk4 | 0x20); - if ((sp2C->unk8 & 7) == 3) - { - *sp2C = (void *) arg0->unkBC; - arg0->unkBC = sp2C; - if (arg0->unkC4 == 0) - { - arg0->unkC4 = sp2C; - } - } - } - else - { - sp2C->unk4 = (s32) (sp2C->unk4 & -3); - __scTaskComplete(arg0, sp2C); - } - if (__scSchedule(arg0, &sp28, &sp24, ((((u32) arg0->unkC8 < 1U) * 2) | ((u32) arg0->unkCC < 1U))) != sp20) - { - __scExec(arg0, sp28, sp24, sp20); - } -} - -#else -GLOBAL_ASM( -glabel __scHandleRSP -/* 001C14 70001014 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 001C18 70001018 AFBF001C */ sw $ra, 0x1c($sp) -/* 001C1C 7000101C AFB00018 */ sw $s0, 0x18($sp) -/* 001C20 70001020 AFA00028 */ sw $zero, 0x28($sp) -/* 001C24 70001024 AFA00024 */ sw $zero, 0x24($sp) -/* 001C28 70001028 8C8500C8 */ lw $a1, 0xc8($a0) -/* 001C2C 7000102C 00808025 */ move $s0, $a0 -/* 001C30 70001030 AC8000C8 */ sw $zero, 0xc8($a0) -/* 001C34 70001034 3C040001 */ lui $a0, (0x00010001 >> 16) # lui $a0, 1 -/* 001C38 70001038 34840001 */ ori $a0, (0x00010001 & 0xFFFF) # ori $a0, $a0, 1 -/* 001C3C 7000103C 0C000A15 */ jal video_related_3 -/* 001C40 70001040 AFA5002C */ sw $a1, 0x2c($sp) -/* 001C44 70001044 8FA5002C */ lw $a1, 0x2c($sp) -/* 001C48 70001048 8CAE0004 */ lw $t6, 4($a1) -/* 001C4C 7000104C 24A40010 */ addiu $a0, $a1, 0x10 -/* 001C50 70001050 31CF0010 */ andi $t7, $t6, 0x10 -/* 001C54 70001054 51E00015 */ beql $t7, $zero, .L700010AC -/* 001C58 70001058 8CAC0004 */ lw $t4, 4($a1) -/* 001C5C 7000105C 0C0038D0 */ jal osSpTaskYielded -/* 001C60 70001060 AFA5002C */ sw $a1, 0x2c($sp) -/* 001C64 70001064 10400010 */ beqz $v0, .L700010A8 -/* 001C68 70001068 8FA5002C */ lw $a1, 0x2c($sp) -/* 001C6C 7000106C 8CB80004 */ lw $t8, 4($a1) -/* 001C70 70001070 8CA80008 */ lw $t0, 8($a1) -/* 001C74 70001074 24010003 */ li $at, 3 -/* 001C78 70001078 37190020 */ ori $t9, $t8, 0x20 -/* 001C7C 7000107C 31090007 */ andi $t1, $t0, 7 -/* 001C80 70001080 1521000F */ bne $t1, $at, .L700010C0 -/* 001C84 70001084 ACB90004 */ sw $t9, 4($a1) -/* 001C88 70001088 8E0A00BC */ lw $t2, 0xbc($s0) -/* 001C8C 7000108C ACAA0000 */ sw $t2, ($a1) -/* 001C90 70001090 8E0B00C4 */ lw $t3, 0xc4($s0) -/* 001C94 70001094 AE0500BC */ sw $a1, 0xbc($s0) -/* 001C98 70001098 5560000A */ bnezl $t3, .L700010C4 -/* 001C9C 7000109C 8E0E00C8 */ lw $t6, 0xc8($s0) -/* 001CA0 700010A0 10000007 */ b .L700010C0 -/* 001CA4 700010A4 AE0500C4 */ sw $a1, 0xc4($s0) -.L700010A8: -/* 001CA8 700010A8 8CAC0004 */ lw $t4, 4($a1) -.L700010AC: -/* 001CAC 700010AC 2401FFFD */ li $at, -3 -/* 001CB0 700010B0 02002025 */ move $a0, $s0 -/* 001CB4 700010B4 01816824 */ and $t5, $t4, $at -/* 001CB8 700010B8 0C00048C */ jal __scTaskComplete -/* 001CBC 700010BC ACAD0004 */ sw $t5, 4($a1) -.L700010C0: -/* 001CC0 700010C0 8E0E00C8 */ lw $t6, 0xc8($s0) -.L700010C4: -/* 001CC4 700010C4 8E1900CC */ lw $t9, 0xcc($s0) -/* 001CC8 700010C8 02002025 */ move $a0, $s0 -/* 001CCC 700010CC 2DCF0001 */ sltiu $t7, $t6, 1 -/* 001CD0 700010D0 000FC040 */ sll $t8, $t7, 1 -/* 001CD4 700010D4 2F280001 */ sltiu $t0, $t9, 1 -/* 001CD8 700010D8 03083825 */ or $a3, $t8, $t0 -/* 001CDC 700010DC AFA70020 */ sw $a3, 0x20($sp) -/* 001CE0 700010E0 27A50028 */ addiu $a1, $sp, 0x28 -/* 001CE4 700010E4 0C000567 */ jal __scSchedule -/* 001CE8 700010E8 27A60024 */ addiu $a2, $sp, 0x24 -/* 001CEC 700010EC 8FA70020 */ lw $a3, 0x20($sp) -/* 001CF0 700010F0 02002025 */ move $a0, $s0 -/* 001CF4 700010F4 8FA50028 */ lw $a1, 0x28($sp) -/* 001CF8 700010F8 50470004 */ beql $v0, $a3, .L7000110C -/* 001CFC 700010FC 8FBF001C */ lw $ra, 0x1c($sp) -/* 001D00 70001100 0C000510 */ jal __scExec -/* 001D04 70001104 8FA60024 */ lw $a2, 0x24($sp) -/* 001D08 70001108 8FBF001C */ lw $ra, 0x1c($sp) -.L7000110C: -/* 001D0C 7000110C 8FB00018 */ lw $s0, 0x18($sp) -/* 001D10 70001110 27BD0030 */ addiu $sp, $sp, 0x30 -/* 001D14 70001114 03E00008 */ jr $ra -/* 001D18 70001118 00000000 */ nop -) -#endif - -/** - * 1D1C 7000111C - * V0= 8005DB30: target for DP Cmd clock, buffer counter, pipe counter, and tmem counter - */ -char *get_counters(void) -{ - return &target_for_counters_maybe; -} - -/** - * 1D28 70001128 - */ -#ifdef NONMATCHING -void __scHandleRDP(void *arg0) -{ - ?32 sp28; - ?32 sp24; - - sp28 = 0; - sp24 = 0; - if (arg0->unkCC != 0) - { - video_related_3(0x10002); - osDpGetCounters(&target_for_counters_maybe); - arg0->unkCC = NULL; - arg0->unkCC->unk4 = (s32) (arg0->unkCC->unk4 & -2); - __scTaskComplete(arg0, arg0->unkCC); - if (__scSchedule(arg0, &sp28, &sp24, ((((u32) arg0->unkC8 < 1U) * 2) | ((u32) arg0->unkCC < 1U))) != sp20) - { - __scExec(arg0, sp28, sp24, sp20); - } - } -} - -#else -GLOBAL_ASM( -glabel __scHandleRDP -/* 001D28 70001128 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 001D2C 7000112C AFBF001C */ sw $ra, 0x1c($sp) -/* 001D30 70001130 AFB00018 */ sw $s0, 0x18($sp) -/* 001D34 70001134 AFA00028 */ sw $zero, 0x28($sp) -/* 001D38 70001138 AFA00024 */ sw $zero, 0x24($sp) -/* 001D3C 7000113C 8C8E00CC */ lw $t6, 0xcc($a0) -/* 001D40 70001140 00808025 */ move $s0, $a0 -/* 001D44 70001144 3C040001 */ lui $a0, (0x00010002 >> 16) # lui $a0, 1 -/* 001D48 70001148 51C00021 */ beql $t6, $zero, .L700011D0 -/* 001D4C 7000114C 8FBF001C */ lw $ra, 0x1c($sp) -/* 001D50 70001150 0C000A15 */ jal video_related_3 -/* 001D54 70001154 34840002 */ ori $a0, (0x00010002 & 0xFFFF) # ori $a0, $a0, 2 -/* 001D58 70001158 3C048006 */ lui $a0, %hi(target_for_counters_maybe) -/* 001D5C 7000115C 0C0038F0 */ jal osDpGetCounters -/* 001D60 70001160 2484DB30 */ addiu $a0, %lo(target_for_counters_maybe) # addiu $a0, $a0, -0x24d0 -/* 001D64 70001164 8E0500CC */ lw $a1, 0xcc($s0) -/* 001D68 70001168 AE0000CC */ sw $zero, 0xcc($s0) -/* 001D6C 7000116C 2401FFFE */ li $at, -2 -/* 001D70 70001170 8CAF0004 */ lw $t7, 4($a1) -/* 001D74 70001174 02002025 */ move $a0, $s0 -/* 001D78 70001178 01E1C024 */ and $t8, $t7, $at -/* 001D7C 7000117C 0C00048C */ jal __scTaskComplete -/* 001D80 70001180 ACB80004 */ sw $t8, 4($a1) -/* 001D84 70001184 8E1900C8 */ lw $t9, 0xc8($s0) -/* 001D88 70001188 8E0A00CC */ lw $t2, 0xcc($s0) -/* 001D8C 7000118C 02002025 */ move $a0, $s0 -/* 001D90 70001190 2F280001 */ sltiu $t0, $t9, 1 -/* 001D94 70001194 00084840 */ sll $t1, $t0, 1 -/* 001D98 70001198 2D4B0001 */ sltiu $t3, $t2, 1 -/* 001D9C 7000119C 012B3825 */ or $a3, $t1, $t3 -/* 001DA0 700011A0 AFA70020 */ sw $a3, 0x20($sp) -/* 001DA4 700011A4 27A50028 */ addiu $a1, $sp, 0x28 -/* 001DA8 700011A8 0C000567 */ jal __scSchedule -/* 001DAC 700011AC 27A60024 */ addiu $a2, $sp, 0x24 -/* 001DB0 700011B0 8FA70020 */ lw $a3, 0x20($sp) -/* 001DB4 700011B4 02002025 */ move $a0, $s0 -/* 001DB8 700011B8 8FA50028 */ lw $a1, 0x28($sp) -/* 001DBC 700011BC 50470004 */ beql $v0, $a3, .L700011D0 -/* 001DC0 700011C0 8FBF001C */ lw $ra, 0x1c($sp) -/* 001DC4 700011C4 0C000510 */ jal __scExec -/* 001DC8 700011C8 8FA60024 */ lw $a2, 0x24($sp) -/* 001DCC 700011CC 8FBF001C */ lw $ra, 0x1c($sp) -.L700011D0: -/* 001DD0 700011D0 8FB00018 */ lw $s0, 0x18($sp) -/* 001DD4 700011D4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 001DD8 700011D8 03E00008 */ jr $ra -/* 001DDC 700011DC 00000000 */ nop -) -#endif - -/** - * 1DE0 700011E0 - * - */ -OSScTask *__scTaskReady(OSScTask *t) -{ - void *a; - void *b; - - if (t) { - if ((a=osViGetCurrentFramebuffer()) != (b=osViGetNextFramebuffer())) { - return 0; - } - - return t; - } - - return 0; -} - -/** - * 1E30 70001230 - */ -#ifdef NONMATCHING -void __scTaskComplete(s32 arg0, void *arg1) -{ - s32 temp_t2; - void *temp_t8; - void *temp_t8_2; - void *temp_t5; - s32 temp_t7; - s32 temp_t0; - void *phi_t8; - void *phi_t5; - s32 phi_v1; - s32 phi_t0; - ? phi_return; - - phi_return = 0; - if ((arg1->unk4 & 3) == 0) - { - osSendMesg(arg1->unk50, arg1->unk54, 1); - if (arg1->unk10 == 1) - { - if ((arg1->unk8 & 0x40) != 0) - { - if ((arg1->unk8 & 0x20) != 0) - { - if (D_800230CC != 0) - { - osViBlack(0); - D_800230CC = 0; - } - temp_t2 = (something_with_osVI * 4); - phi_v1 = temp_t2; - if ((0x80020000 + temp_t2)->unk30C4 != 0) - { - temp_t8 = ((something_with_osVI * 0x50) + &dword_CODE_bss_8005DB40); - phi_t8 = temp_t8; - phi_t5 = (0x80060000 + (something_with_osVI * 4))->unk-2420; -block_8: - temp_t8_2 = (phi_t8 + 0xc); - temp_t5 = (phi_t5 + 0xc); - temp_t5->unk-C = (?32) *phi_t8; - temp_t5->unk-8 = (?32) temp_t8_2->unk-8; - temp_t5->unk-4 = (?32) temp_t8_2->unk-4; - phi_t8 = temp_t8_2; - phi_t5 = temp_t5; - if (temp_t8_2 != (temp_t8 + 0x48)) - { - goto block_8; - } - *temp_t5 = (?32) *temp_t8_2; - temp_t5->unk4 = (?32) temp_t8_2->unk4; - osSetIntMask(osSetIntMask(0x80401)); - phi_v1 = (something_with_osVI * 4); - } - osViSetXScale((0x80020000 + phi_v1)->unk30B4); - osViSetYScale((0x80020000 + (something_with_osVI * 4))->unk30BC); - temp_t7 = (something_with_osVI + 1); - temp_t0 = (temp_t7 & 1); - phi_t0 = temp_t0; - if (temp_t7 < 0) - { - phi_t0 = temp_t0; - if (temp_t0 != 0) - { - phi_t0 = (temp_t0 + -2); - } - } - something_with_osVI = (s32) phi_t0; - CheckDisplayErrorBuffer(arg1->unkC); - osViSwapBuffer(arg1->unkC); - } - } - } - phi_return = 1; - } - return phi_return; -} -#else -GLOBAL_ASM( -glabel __scTaskComplete -/* 001E30 70001230 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 001E34 70001234 AFBF001C */ sw $ra, 0x1c($sp) -/* 001E38 70001238 AFB00018 */ sw $s0, 0x18($sp) -/* 001E3C 7000123C AFA40020 */ sw $a0, 0x20($sp) -/* 001E40 70001240 8CAE0004 */ lw $t6, 4($a1) -/* 001E44 70001244 00A08025 */ move $s0, $a1 -/* 001E48 70001248 24060001 */ li $a2, 1 -/* 001E4C 7000124C 31CF0003 */ andi $t7, $t6, 3 -/* 001E50 70001250 15E0005C */ bnez $t7, .L700013C4 -/* 001E54 70001254 00001025 */ move $v0, $zero -/* 001E58 70001258 8CA40050 */ lw $a0, 0x50($a1) -/* 001E5C 7000125C 0C0037C4 */ jal osSendMesg -/* 001E60 70001260 8CA50054 */ lw $a1, 0x54($a1) -/* 001E64 70001264 8E180010 */ lw $t8, 0x10($s0) -/* 001E68 70001268 24010001 */ li $at, 1 -/* 001E6C 7000126C 17010053 */ bne $t8, $at, .L700013BC -/* 001E70 70001270 00000000 */ nop -/* 001E74 70001274 8E020008 */ lw $v0, 8($s0) -/* 001E78 70001278 30590040 */ andi $t9, $v0, 0x40 -/* 001E7C 7000127C 1320004F */ beqz $t9, .L700013BC -/* 001E80 70001280 30480020 */ andi $t0, $v0, 0x20 -/* 001E84 70001284 1100004D */ beqz $t0, .L700013BC -/* 001E88 70001288 3C098002 */ lui $t1, %hi(D_800230CC) -/* 001E8C 7000128C 8D2930CC */ lw $t1, %lo(D_800230CC)($t1) -/* 001E90 70001290 11200005 */ beqz $t1, .L700012A8 -/* 001E94 70001294 00000000 */ nop -/* 001E98 70001298 0C0038B4 */ jal osViBlack -/* 001E9C 7000129C 00002025 */ move $a0, $zero -/* 001EA0 700012A0 3C018002 */ lui $at, %hi(D_800230CC) -/* 001EA4 700012A4 AC2030CC */ sw $zero, %lo(D_800230CC)($at) -.L700012A8: -/* 001EA8 700012A8 3C038002 */ lui $v1, %hi(something_with_osVI_0) -/* 001EAC 700012AC 8C6330B0 */ lw $v1, %lo(something_with_osVI_0)($v1) -/* 001EB0 700012B0 3C0B8002 */ lui $t3, %hi(something_with_osVI_14) -/* 001EB4 700012B4 3C040008 */ lui $a0, (0x00080401 >> 16) # lui $a0, 8 -/* 001EB8 700012B8 00035080 */ sll $t2, $v1, 2 -/* 001EBC 700012BC 016A5821 */ addu $t3, $t3, $t2 -/* 001EC0 700012C0 8D6B30C4 */ lw $t3, %lo(something_with_osVI_14)($t3) -/* 001EC4 700012C4 01401825 */ move $v1, $t2 -/* 001EC8 700012C8 11600023 */ beqz $t3, .L70001358 -/* 001ECC 700012CC 00000000 */ nop -/* 001ED0 700012D0 0C00374C */ jal osSetIntMask -/* 001ED4 700012D4 34840401 */ ori $a0, (0x00080401 & 0xFFFF) # ori $a0, $a0, 0x401 -/* 001ED8 700012D8 3C038002 */ lui $v1, %hi(something_with_osVI_0) -/* 001EDC 700012DC 8C6330B0 */ lw $v1, %lo(something_with_osVI_0)($v1) -/* 001EE0 700012E0 3C0F8006 */ lui $t7, %hi(dword_CODE_bss_8005DB40) -/* 001EE4 700012E4 25EFDB40 */ addiu $t7, %lo(dword_CODE_bss_8005DB40) # addiu $t7, $t7, -0x24c0 -/* 001EE8 700012E8 00037080 */ sll $t6, $v1, 2 -/* 001EEC 700012EC 01C37021 */ addu $t6, $t6, $v1 -/* 001EF0 700012F0 000E7100 */ sll $t6, $t6, 4 -/* 001EF4 700012F4 3C0D8006 */ lui $t5, %hi(sc+416) -/* 001EF8 700012F8 00036080 */ sll $t4, $v1, 2 -/* 001EFC 700012FC 01AC6821 */ addu $t5, $t5, $t4 -/* 001F00 70001300 01CFC021 */ addu $t8, $t6, $t7 -/* 001F04 70001304 27090048 */ addiu $t1, $t8, 0x48 -/* 001F08 70001308 8DADDBE0 */ lw $t5, %lo(sc+416)($t5) -.L7000130C: -/* 001F0C 7000130C 8F010000 */ lw $at, ($t8) -/* 001F10 70001310 2718000C */ addiu $t8, $t8, 0xc -/* 001F14 70001314 25AD000C */ addiu $t5, $t5, 0xc -/* 001F18 70001318 ADA1FFF4 */ sw $at, -0xc($t5) -/* 001F1C 7000131C 8F01FFF8 */ lw $at, -8($t8) -/* 001F20 70001320 ADA1FFF8 */ sw $at, -8($t5) -/* 001F24 70001324 8F01FFFC */ lw $at, -4($t8) -/* 001F28 70001328 1709FFF8 */ bne $t8, $t1, .L7000130C -/* 001F2C 7000132C ADA1FFFC */ sw $at, -4($t5) -/* 001F30 70001330 8F010000 */ lw $at, ($t8) -/* 001F34 70001334 00402025 */ move $a0, $v0 -/* 001F38 70001338 ADA10000 */ sw $at, ($t5) -/* 001F3C 7000133C 8F090004 */ lw $t1, 4($t8) -/* 001F40 70001340 0C00374C */ jal osSetIntMask -/* 001F44 70001344 ADA90004 */ sw $t1, 4($t5) -/* 001F48 70001348 3C038002 */ lui $v1, %hi(something_with_osVI_0) -/* 001F4C 7000134C 8C6330B0 */ lw $v1, %lo(something_with_osVI_0)($v1) -/* 001F50 70001350 00035080 */ sll $t2, $v1, 2 -/* 001F54 70001354 01401825 */ move $v1, $t2 -.L70001358: -/* 001F58 70001358 3C018002 */ lui $at, %hi(something_with_osVI_4) -/* 001F5C 7000135C 00230821 */ addu $at, $at, $v1 -/* 001F60 70001360 0C003834 */ jal osViSetXScale -/* 001F64 70001364 C42C30B4 */ lwc1 $f12, %lo(something_with_osVI_4)($at) -/* 001F68 70001368 3C0B8002 */ lui $t3, %hi(something_with_osVI_0) -/* 001F6C 7000136C 8D6B30B0 */ lw $t3, %lo(something_with_osVI_0)($t3) -/* 001F70 70001370 3C018002 */ lui $at, %hi(something_with_osVI_C) -/* 001F74 70001374 000B6080 */ sll $t4, $t3, 2 -/* 001F78 70001378 002C0821 */ addu $at, $at, $t4 -/* 001F7C 7000137C 0C003880 */ jal osViSetYScale -/* 001F80 70001380 C42C30BC */ lwc1 $f12, %lo(something_with_osVI_C)($at) -/* 001F84 70001384 3C0E8002 */ lui $t6, %hi(something_with_osVI_0) -/* 001F88 70001388 8DCE30B0 */ lw $t6, %lo(something_with_osVI_0)($t6) -/* 001F8C 7000138C 3C018002 */ lui $at, %hi(something_with_osVI_0) -/* 001F90 70001390 25CF0001 */ addiu $t7, $t6, 1 -/* 001F94 70001394 05E10004 */ bgez $t7, .L700013A8 -/* 001F98 70001398 31E80001 */ andi $t0, $t7, 1 -/* 001F9C 7000139C 11000002 */ beqz $t0, .L700013A8 -/* 001FA0 700013A0 00000000 */ nop -/* 001FA4 700013A4 2508FFFE */ addiu $t0, $t0, -2 -.L700013A8: -/* 001FA8 700013A8 AC2830B0 */ sw $t0, %lo(something_with_osVI_0)($at) -/* 001FAC 700013AC 0C000268 */ jal CheckDisplayErrorBuffer -/* 001FB0 700013B0 8E04000C */ lw $a0, 0xc($s0) -/* 001FB4 700013B4 0C003924 */ jal osViSwapBuffer -/* 001FB8 700013B8 8E04000C */ lw $a0, 0xc($s0) -.L700013BC: -/* 001FBC 700013BC 10000001 */ b .L700013C4 -/* 001FC0 700013C0 24020001 */ li $v0, 1 -.L700013C4: -/* 001FC4 700013C4 8FBF001C */ lw $ra, 0x1c($sp) -/* 001FC8 700013C8 8FB00018 */ lw $s0, 0x18($sp) -/* 001FCC 700013CC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 001FD0 700013D0 03E00008 */ jr $ra -/* 001FD4 700013D4 00000000 */ nop -) -#endif - -/** - * 1FD8 700013D8 - */ - -void __scAppendList(OSSched *sc, OSScTask *t) -{ - long type = t->list.t.type; - - if (type == M_AUDTASK) { - if (sc->audioListTail) - sc->audioListTail->next = t; - else - sc->audioListHead = t; - - sc->audioListTail = t; - sc->doAudio = 1; - } else { - if (sc->gfxListTail) - sc->gfxListTail->next = t; - else - sc->gfxListHead = t; - - sc->gfxListTail = t; - } - - t->next = NULL; - t->state = t->flags & OS_SC_RCP_MASK; -} - - -/** - * 2040 70001440 - * (DPC fill) - */ -#ifdef NONMATCHING -void __scExec(void *arg0, void *arg1, void *arg2) -{ - s32 phi_v0; - - if (arg1 != 0) - { - if (arg1->unk10 == 2) - { - osWritebackDCacheAll(); - } - phi_v0 = arg1->unk10; - if (arg1->unk10 != 2) - { - phi_v0 = arg1->unk10; - if ((arg1->unk4 & 0x10) == 0) - { - osDpSetStatus(0x3c0); - phi_v0 = arg1->unk10; - } - } - if (phi_v0 == 2) - { - video_related_3(0x30001); - } - else - { - video_related_3(0x30001); - video_related_3(0x20002); - } - arg1->unk4 = (s32) (arg1->unk4 & -0x31); - osSpTaskLoad((arg1 + 0x10)); - osSpTaskStartGo(sp20); - arg0->unkC8 = arg1; - if (arg1 == arg2) - { - arg0->unkCC = arg2; - } - } - if (arg2 != 0) - { - if (arg2 != arg1) - { - osDpSetNextBuffer(arg2->unk38, *arg2->unk3C, arg2->unk3C->unk4); - setby_DPCfill_0 = 1; - setby_DPCfill_1 = 0; - arg0->unkCC = arg2; - } - } -} -#else -GLOBAL_ASM( -glabel __scExec -/* 002040 70001440 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 002044 70001444 AFB10018 */ sw $s1, 0x18($sp) -/* 002048 70001448 AFB00014 */ sw $s0, 0x14($sp) -/* 00204C 7000144C 00A08025 */ move $s0, $a1 -/* 002050 70001450 00C08825 */ move $s1, $a2 -/* 002054 70001454 AFBF001C */ sw $ra, 0x1c($sp) -/* 002058 70001458 10A0002C */ beqz $a1, .L7000150C -/* 00205C 7000145C AFA40028 */ sw $a0, 0x28($sp) -/* 002060 70001460 8CA20010 */ lw $v0, 0x10($a1) -/* 002064 70001464 24010002 */ li $at, 2 -/* 002068 70001468 54410005 */ bnel $v0, $at, .L70001480 -/* 00206C 7000146C 24010002 */ li $at, 2 -/* 002070 70001470 0C0034C8 */ jal osWritebackDCacheAll -/* 002074 70001474 00000000 */ nop -/* 002078 70001478 8E020010 */ lw $v0, 0x10($s0) -/* 00207C 7000147C 24010002 */ li $at, 2 -.L70001480: -/* 002080 70001480 50410009 */ beql $v0, $at, .L700014A8 -/* 002084 70001484 24010002 */ li $at, 2 -/* 002088 70001488 8E0E0004 */ lw $t6, 4($s0) -/* 00208C 7000148C 31CF0010 */ andi $t7, $t6, 0x10 -/* 002090 70001490 55E00005 */ bnezl $t7, .L700014A8 -/* 002094 70001494 24010002 */ li $at, 2 -/* 002098 70001498 0C003938 */ jal osDpSetStatus -/* 00209C 7000149C 240403C0 */ li $a0, 960 -/* 0020A0 700014A0 8E020010 */ lw $v0, 0x10($s0) -/* 0020A4 700014A4 24010002 */ li $at, 2 -.L700014A8: -/* 0020A8 700014A8 14410006 */ bne $v0, $at, .L700014C4 -/* 0020AC 700014AC 3C040004 */ lui $a0, 4 -/* 0020B0 700014B0 3C040003 */ lui $a0, (0x00030001 >> 16) # lui $a0, 3 -/* 0020B4 700014B4 0C000A15 */ jal video_related_3 -/* 0020B8 700014B8 34840001 */ ori $a0, (0x00030001 & 0xFFFF) # ori $a0, $a0, 1 -/* 0020BC 700014BC 10000007 */ b .L700014DC -/* 0020C0 700014C0 8E180004 */ lw $t8, 4($s0) -.L700014C4: -/* 0020C4 700014C4 0C000A15 */ jal video_related_3 -/* 0020C8 700014C8 34840001 */ ori $a0, (0x00030001 & 0xFFFF) # ori $a0, $a0, 1 -/* 0020CC 700014CC 3C040002 */ lui $a0, (0x00020002 >> 16) # lui $a0, 2 -/* 0020D0 700014D0 0C000A15 */ jal video_related_3 -/* 0020D4 700014D4 34840002 */ ori $a0, (0x00020002 & 0xFFFF) # ori $a0, $a0, 2 -/* 0020D8 700014D8 8E180004 */ lw $t8, 4($s0) -.L700014DC: -/* 0020DC 700014DC 2401FFCF */ li $at, -49 -/* 0020E0 700014E0 26040010 */ addiu $a0, $s0, 0x10 -/* 0020E4 700014E4 0301C824 */ and $t9, $t8, $at -/* 0020E8 700014E8 AE190004 */ sw $t9, 4($s0) -/* 0020EC 700014EC 0C003983 */ jal osSpTaskLoad -/* 0020F0 700014F0 AFA40020 */ sw $a0, 0x20($sp) -/* 0020F4 700014F4 0C0039DB */ jal osSpTaskStartGo -/* 0020F8 700014F8 8FA40020 */ lw $a0, 0x20($sp) -/* 0020FC 700014FC 8FA80028 */ lw $t0, 0x28($sp) -/* 002100 70001500 16110002 */ bne $s0, $s1, .L7000150C -/* 002104 70001504 AD1000C8 */ sw $s0, 0xc8($t0) -/* 002108 70001508 AD1100CC */ sw $s1, 0xcc($t0) -.L7000150C: -/* 00210C 7000150C 52200010 */ beql $s1, $zero, .L70001550 -/* 002110 70001510 8FBF001C */ lw $ra, 0x1c($sp) -/* 002114 70001514 5230000E */ beql $s1, $s0, .L70001550 -/* 002118 70001518 8FBF001C */ lw $ra, 0x1c($sp) -/* 00211C 7000151C 8E29003C */ lw $t1, 0x3c($s1) -/* 002120 70001520 8E240038 */ lw $a0, 0x38($s1) -/* 002124 70001524 8D260000 */ lw $a2, ($t1) -/* 002128 70001528 0C0039EC */ jal osDpSetNextBuffer -/* 00212C 7000152C 8D270004 */ lw $a3, 4($t1) -/* 002130 70001530 240A0001 */ li $t2, 1 -/* 002134 70001534 3C018002 */ lui $at, %hi(setby_DPCfill_0) -/* 002138 70001538 8FAB0028 */ lw $t3, 0x28($sp) -/* 00213C 7000153C AC2A30A8 */ sw $t2, %lo(setby_DPCfill_0)($at) -/* 002140 70001540 3C018002 */ lui $at, %hi(setby_DPCfill_1) -/* 002144 70001544 AC2030AC */ sw $zero, %lo(setby_DPCfill_1)($at) -/* 002148 70001548 AD7100CC */ sw $s1, 0xcc($t3) -/* 00214C 7000154C 8FBF001C */ lw $ra, 0x1c($sp) -.L70001550: -/* 002150 70001550 8FB00014 */ lw $s0, 0x14($sp) -/* 002154 70001554 8FB10018 */ lw $s1, 0x18($sp) -/* 002158 70001558 03E00008 */ jr $ra -/* 00215C 7000155C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - -/** - * 2160 70001560 - */ - -void __scYield(OSSched *sc) -{ - if (sc->curRSPTask->list.t.type == M_GFXTASK) { - sc->curRSPTask->state |= 0x0010; - osSpTaskYield(); - } else { - - } -} - - -/** - * 219C 7000159C - * ??? - * uses TLB pointers at 80028400 - * 7000167C 3 - * 70001704 2,6,7 - * 70001758 default; 1,4,5 - */ -#ifdef NONMATCHING -void __scSchedule(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel jpt_80028400 - .word .L70001758 - .word .L70001704 - .word .L7000167C - .word .L70001758 - .word .L70001758 - .word .L70001704 - .word .L70001704 - -.text -glabel __scSchedule -/* 00219C 7000159C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0021A0 700015A0 AFB10018 */ sw $s1, 0x18($sp) -/* 0021A4 700015A4 00808825 */ move $s1, $a0 -/* 0021A8 700015A8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0021AC 700015AC AFB00014 */ sw $s0, 0x14($sp) -/* 0021B0 700015B0 2408FFFD */ li $t0, -3 -.L700015B4: -/* 0021B4 700015B4 8E2E00D4 */ lw $t6, 0xd4($s1) -/* 0021B8 700015B8 00E01825 */ move $v1, $a3 -/* 0021BC 700015BC 8E3000BC */ lw $s0, 0xbc($s1) -/* 0021C0 700015C0 11C00016 */ beqz $t6, .L7000161C -/* 0021C4 700015C4 8E2200B8 */ lw $v0, 0xb8($s1) -/* 0021C8 700015C8 30EF0002 */ andi $t7, $a3, 2 -/* 0021CC 700015CC 51E00014 */ beql $t7, $zero, .L70001620 -/* 0021D0 700015D0 02002025 */ move $a0, $s0 -/* 0021D4 700015D4 52000009 */ beql $s0, $zero, .L700015FC -/* 0021D8 700015D8 ACA20000 */ sw $v0, ($a1) -/* 0021DC 700015DC 8E180008 */ lw $t8, 8($s0) -/* 0021E0 700015E0 00E81824 */ and $v1, $a3, $t0 -/* 0021E4 700015E4 33190010 */ andi $t9, $t8, 0x10 -/* 0021E8 700015E8 53200004 */ beql $t9, $zero, .L700015FC -/* 0021EC 700015EC ACA20000 */ sw $v0, ($a1) -/* 0021F0 700015F0 10000059 */ b .L70001758 -/* 0021F4 700015F4 ACB00000 */ sw $s0, ($a1) -/* 0021F8 700015F8 ACA20000 */ sw $v0, ($a1) -.L700015FC: -/* 0021FC 700015FC 8E2A00B8 */ lw $t2, 0xb8($s1) -/* 002200 70001600 AE2000D4 */ sw $zero, 0xd4($s1) -/* 002204 70001604 00E81824 */ and $v1, $a3, $t0 -/* 002208 70001608 8D4B0000 */ lw $t3, ($t2) -/* 00220C 7000160C 15600052 */ bnez $t3, .L70001758 -/* 002210 70001610 AE2B00B8 */ sw $t3, 0xb8($s1) -/* 002214 70001614 10000050 */ b .L70001758 -/* 002218 70001618 AE2000C0 */ sw $zero, 0xc0($s1) -.L7000161C: -/* 00221C 7000161C 02002025 */ move $a0, $s0 -.L70001620: -/* 002220 70001620 AFA30024 */ sw $v1, 0x24($sp) -/* 002224 70001624 AFA5002C */ sw $a1, 0x2c($sp) -/* 002228 70001628 AFA60030 */ sw $a2, 0x30($sp) -/* 00222C 7000162C 0C000478 */ jal __scTaskReady -/* 002230 70001630 AFA70034 */ sw $a3, 0x34($sp) -/* 002234 70001634 8FA30024 */ lw $v1, 0x24($sp) -/* 002238 70001638 8FA5002C */ lw $a1, 0x2c($sp) -/* 00223C 7000163C 8FA60030 */ lw $a2, 0x30($sp) -/* 002240 70001640 8FA70034 */ lw $a3, 0x34($sp) -/* 002244 70001644 2408FFFD */ li $t0, -3 -/* 002248 70001648 10400043 */ beqz $v0, .L70001758 -/* 00224C 7000164C 2409FFFE */ li $t1, -2 -/* 002250 70001650 8E0D0008 */ lw $t5, 8($s0) -/* 002254 70001654 31AE0007 */ andi $t6, $t5, 7 -/* 002258 70001658 25CFFFFF */ addiu $t7, $t6, -1 -/* 00225C 7000165C 2DE10007 */ sltiu $at, $t7, 7 -/* 002260 70001660 1020003D */ beqz $at, .L70001758 -/* 002264 70001664 000F7880 */ sll $t7, $t7, 2 -/* 002268 70001668 3C018003 */ lui $at, %hi(jpt_80028400) -/* 00226C 7000166C 002F0821 */ addu $at, $at, $t7 -/* 002270 70001670 8C2F8400 */ lw $t7, %lo(jpt_80028400)($at) # lw $t7, -0x7c00($at) -/* 002274 70001674 01E00008 */ jr $t7 -/* 002278 70001678 00000000 */ nop -.L7000167C: -/* 00227C 7000167C 8E180004 */ lw $t8, 4($s0) -/* 002280 70001680 30EA0002 */ andi $t2, $a3, 2 -/* 002284 70001684 24010003 */ li $at, 3 -/* 002288 70001688 33190020 */ andi $t9, $t8, 0x20 -/* 00228C 7000168C 13200011 */ beqz $t9, .L700016D4 -/* 002290 70001690 00000000 */ nop -/* 002294 70001694 11400030 */ beqz $t2, .L70001758 -/* 002298 70001698 00000000 */ nop -/* 00229C 7000169C ACB00000 */ sw $s0, ($a1) -/* 0022A0 700016A0 8E0B0004 */ lw $t3, 4($s0) -/* 0022A4 700016A4 00E81824 */ and $v1, $a3, $t0 -/* 0022A8 700016A8 316C0001 */ andi $t4, $t3, 1 -/* 0022AC 700016AC 51800004 */ beql $t4, $zero, .L700016C0 -/* 0022B0 700016B0 8E2D00BC */ lw $t5, 0xbc($s1) -/* 0022B4 700016B4 ACD00000 */ sw $s0, ($a2) -/* 0022B8 700016B8 00691824 */ and $v1, $v1, $t1 -/* 0022BC 700016BC 8E2D00BC */ lw $t5, 0xbc($s1) -.L700016C0: -/* 0022C0 700016C0 8DAE0000 */ lw $t6, ($t5) -/* 0022C4 700016C4 15C00024 */ bnez $t6, .L70001758 -/* 0022C8 700016C8 AE2E00BC */ sw $t6, 0xbc($s1) -/* 0022CC 700016CC 10000022 */ b .L70001758 -/* 0022D0 700016D0 AE2000C4 */ sw $zero, 0xc4($s1) -.L700016D4: -/* 0022D4 700016D4 14E10020 */ bne $a3, $at, .L70001758 -/* 0022D8 700016D8 00000000 */ nop -/* 0022DC 700016DC ACD00000 */ sw $s0, ($a2) -/* 0022E0 700016E0 ACB00000 */ sw $s0, ($a1) -/* 0022E4 700016E4 8E3800BC */ lw $t8, 0xbc($s1) -/* 0022E8 700016E8 2401FFFC */ li $at, -4 -/* 0022EC 700016EC 00E11824 */ and $v1, $a3, $at -/* 0022F0 700016F0 8F190000 */ lw $t9, ($t8) -/* 0022F4 700016F4 17200018 */ bnez $t9, .L70001758 -/* 0022F8 700016F8 AE3900BC */ sw $t9, 0xbc($s1) -/* 0022FC 700016FC 10000016 */ b .L70001758 -/* 002300 70001700 AE2000C4 */ sw $zero, 0xc4($s1) -.L70001704: -/* 002304 70001704 8E020004 */ lw $v0, 4($s0) -/* 002308 70001708 30EC0002 */ andi $t4, $a3, 2 -/* 00230C 7000170C 304B0002 */ andi $t3, $v0, 2 -/* 002310 70001710 11600006 */ beqz $t3, .L7000172C -/* 002314 70001714 304D0001 */ andi $t5, $v0, 1 -/* 002318 70001718 1180000F */ beqz $t4, .L70001758 -/* 00231C 7000171C 00000000 */ nop -/* 002320 70001720 ACB00000 */ sw $s0, ($a1) -/* 002324 70001724 1000000C */ b .L70001758 -/* 002328 70001728 00E81824 */ and $v1, $a3, $t0 -.L7000172C: -/* 00232C 7000172C 11A0000A */ beqz $t5, .L70001758 -/* 002330 70001730 30EE0001 */ andi $t6, $a3, 1 -/* 002334 70001734 11C00008 */ beqz $t6, .L70001758 -/* 002338 70001738 00000000 */ nop -/* 00233C 7000173C ACD00000 */ sw $s0, ($a2) -/* 002340 70001740 8E2F00BC */ lw $t7, 0xbc($s1) -/* 002344 70001744 00E91824 */ and $v1, $a3, $t1 -/* 002348 70001748 8DF80000 */ lw $t8, ($t7) -/* 00234C 7000174C 17000002 */ bnez $t8, .L70001758 -/* 002350 70001750 AE3800BC */ sw $t8, 0xbc($s1) -/* 002354 70001754 AE2000C4 */ sw $zero, 0xc4($s1) -.L70001758: -/* 002358 70001758 50670004 */ beql $v1, $a3, .L7000176C -/* 00235C 7000175C 8FBF001C */ lw $ra, 0x1c($sp) -/* 002360 70001760 1000FF94 */ b .L700015B4 -/* 002364 70001764 00603825 */ move $a3, $v1 -/* 002368 70001768 8FBF001C */ lw $ra, 0x1c($sp) -.L7000176C: -/* 00236C 7000176C 8FB00014 */ lw $s0, 0x14($sp) -/* 002370 70001770 8FB10018 */ lw $s1, 0x18($sp) -/* 002374 70001774 27BD0028 */ addiu $sp, $sp, 0x28 -/* 002378 70001778 03E00008 */ jr $ra -/* 00237C 7000177C 00601025 */ move $v0, $v1 -) -#endif - diff --git a/src/sched.h b/src/sched.h deleted file mode 100644 index 4e07fff..0000000 --- a/src/sched.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _scheduler_h_ -#define _scheduler_h_ - -#include "ultra64.h" - -#define OS_SC_STACKSIZE 0x2000 - -#define OS_SC_RETRACE_MSG 1 -#define OS_SC_DONE_MSG 2 -#define OS_SC_RDP_DONE_MSG 3 -#define OS_SC_PRE_NMI_MSG 4 -#define OS_SC_LAST_MSG 4 /* this should have highest number */ -#define OS_SC_MAX_MESGS 8 - -typedef struct { - short type; - char misc[30]; -} OSScMsg; - -typedef struct OSScTask_s { - struct OSScTask_s *next; - u32 state; - u32 flags; - void *framebuffer; - OSTask list; - OSMesgQueue *msgQ; - OSMesg msg; -} OSScTask; - -#define OS_SC_NEEDS_RDP 0x0001 -#define OS_SC_NEEDS_RSP 0x0002 -#define OS_SC_DRAM_DLIST 0x0004 -#define OS_SC_PARALLEL_TASK 0x0010 -#define OS_SC_LAST_TASK 0x0020 -#define OS_SC_SWAPBUFFER 0x0040 - -#define OS_SC_RCP_MASK 0x0003 -#define OS_SC_TYPE_MASK 0x0007 - -typedef struct SCClient_s { - struct SCClient_s *next; - OSMesgQueue *msgQ; -} OSScClient; - -//fixme im wrong size, shouldn't copy paste from sample code anyway -typedef struct { - OSScMsg retraceMsg; - OSScMsg prenmiMsg; - OSMesgQueue interruptQ; - OSMesg intBuf[OS_SC_MAX_MESGS]; - OSMesgQueue cmdQ; - OSMesg cmdMsgBuf[OS_SC_MAX_MESGS]; - OSThread *thread; - OSScClient *clientList; - OSScTask *audioListHead; - OSScTask *gfxListHead; - OSScTask *audioListTail; - OSScTask *gfxListTail; - OSScTask *curRSPTask; - OSScTask *curRDPTask; - u32 frameCount; - s32 doAudio; -} OSSched; - -extern OSSched sc; -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); -void CheckDisplayErrorBuffer(u32 *buffer); -void CheckDisplayErrorBufferEvery16Frames(u32 framecount); -void osCreateLog(void); -void __scMain(void *arg); -void __scYield(OSSched *sc) ; -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.c b/src/snd.c deleted file mode 100644 index 5c769e7..0000000 --- a/src/snd.c +++ /dev/null @@ -1,2623 +0,0 @@ -#include "ultra64.h" -#include "music.h" -#include "snd.h" - - -/** - * @file snd.c - * This file contains code to deal with snd. - */ - -s32 sfx_unused = 0; -s32 D_800243E4 = 0; -s32 D_800243E8 = 0; -s32 D_800243EC = 0; -void *D_800243F0 = &D_80063B50; -s32 D_800243F4 = 0; -s8 bootswitch_sound = 0; -f32 F32_800243FC = 1.0; - - - - - - - -/** - * 8720 70007B20 - */ - -#ifdef NONMATCHING -void sfx_c_70007B20(void *arg0) -{ - s16 sp38; - s32 temp_a0; - u32 temp_s0; - s32 temp_v0; - u32 phi_s0; - - D_800243F0->unk44 = (?32) arg0->unk8; - D_800243F0->unk3C = 0; - D_800243F0->unk48 = 0x80e8; - D_800243F0->unk40 = alHeapDBAlloc(0, 0, arg0->unkC, 1, (s32) (*arg0 << 6)); - alEvtqNew((D_800243F0 + 0x14), alHeapDBAlloc(0, 0, arg0->unkC, 1, (s32) (arg0->unk4 * 0x1c)), arg0->unk4); - D_800243EC = (s32) D_800243F0->unk40; - phi_s0 = 1U; - if ((u32) *arg0 >= 2U) - { -block_1: - temp_a0 = ((phi_s0 << 6) + D_800243F0->unk40); - alLink(temp_a0, (temp_a0 + -0x40)); - temp_s0 = (phi_s0 + 1); - phi_s0 = temp_s0; - if (temp_s0 < (u32) *arg0) - { - goto block_1; - } - } - D_80063BA4 = alHeapDBAlloc(0, 0, arg0->unkC, 2, 7); - D_80063BA8 = alHeapDBAlloc(0, 0, arg0->unkC, 2, 7); - *D_80063BA4 = (u16)0x7fff; - temp_v0 = (3 * 2); - *D_80063BA8 = (s16) *D_80063BA4; - D_80063BA4->unk2 = (u16)0x7fff; - D_80063BA8->unk2 = (s16) D_80063BA4->unk2; - D_80063BA4->unk4 = (u16)0x7fff; - D_80063BA8->unk4 = (s16) D_80063BA4->unk4; - *(D_80063BA4 + temp_v0) = (u16)0x7fff; - *(D_80063BA8 + temp_v0) = (s16) *(D_80063BA4 + temp_v0); - (D_80063BA4 + temp_v0)->unk2 = (u16)0x7fff; - (D_80063BA8 + temp_v0)->unk2 = (s16) (D_80063BA4 + temp_v0)->unk2; - (D_80063BA4 + temp_v0)->unk4 = (u16)0x7fff; - (D_80063BA8 + temp_v0)->unk4 = (s16) (D_80063BA4 + temp_v0)->unk4; - (D_80063BA4 + temp_v0)->unk6 = (u16)0x7fff; - (D_80063BA8 + temp_v0)->unk6 = (s16) (D_80063BA4 + temp_v0)->unk6; - D_800243F0->unk38 = (?32) alGlobals; - *D_800243F0 = 0; - D_800243F0->unk8 = &sfx_c_70007DDC; - D_800243F0->unk4 = (void *) D_800243F0; - alSynAddPlayer(D_800243F0->unk38, D_800243F0); - sp38 = (u16)0x20; - alEvtqPostEvent((D_800243F0 + 0x14), &sp38, D_800243F0->unk48); - D_800243F0->unk4C = alEvtqNextEvent((D_800243F0 + 0x14), (D_800243F0 + 0x28)); -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70007B20 -/* 008720 70007B20 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 008724 70007B24 AFB20028 */ sw $s2, 0x28($sp) -/* 008728 70007B28 3C128002 */ lui $s2, %hi(D_800243F0) -/* 00872C 70007B2C 265243F0 */ addiu $s2, %lo(D_800243F0) # addiu $s2, $s2, 0x43f0 -/* 008730 70007B30 AFBF002C */ sw $ra, 0x2c($sp) -/* 008734 70007B34 AFB10024 */ sw $s1, 0x24($sp) -/* 008738 70007B38 AFB00020 */ sw $s0, 0x20($sp) -/* 00873C 70007B3C 8C8E0008 */ lw $t6, 8($a0) -/* 008740 70007B40 8E4F0000 */ lw $t7, ($s2) -/* 008744 70007B44 341980E8 */ li $t9, 33000 -/* 008748 70007B48 00808825 */ move $s1, $a0 -/* 00874C 70007B4C ADEE0044 */ sw $t6, 0x44($t7) -/* 008750 70007B50 8E580000 */ lw $t8, ($s2) -/* 008754 70007B54 00002025 */ move $a0, $zero -/* 008758 70007B58 00002825 */ move $a1, $zero -/* 00875C 70007B5C AF00003C */ sw $zero, 0x3c($t8) -/* 008760 70007B60 8E480000 */ lw $t0, ($s2) -/* 008764 70007B64 24070001 */ li $a3, 1 -/* 008768 70007B68 AD190048 */ sw $t9, 0x48($t0) -/* 00876C 70007B6C 8E290000 */ lw $t1, ($s1) -/* 008770 70007B70 8E26000C */ lw $a2, 0xc($s1) -/* 008774 70007B74 00095180 */ sll $t2, $t1, 6 -/* 008778 70007B78 0C003AD4 */ jal alHeapDBAlloc -/* 00877C 70007B7C AFAA0010 */ sw $t2, 0x10($sp) -/* 008780 70007B80 8E4B0000 */ lw $t3, ($s2) -/* 008784 70007B84 00002025 */ move $a0, $zero -/* 008788 70007B88 00002825 */ move $a1, $zero -/* 00878C 70007B8C AD620040 */ sw $v0, 0x40($t3) -/* 008790 70007B90 8E2C0004 */ lw $t4, 4($s1) -/* 008794 70007B94 8E26000C */ lw $a2, 0xc($s1) -/* 008798 70007B98 24070001 */ li $a3, 1 -/* 00879C 70007B9C 000C68C0 */ sll $t5, $t4, 3 -/* 0087A0 70007BA0 01AC6823 */ subu $t5, $t5, $t4 -/* 0087A4 70007BA4 000D6880 */ sll $t5, $t5, 2 -/* 0087A8 70007BA8 0C003AD4 */ jal alHeapDBAlloc -/* 0087AC 70007BAC AFAD0010 */ sw $t5, 0x10($sp) -/* 0087B0 70007BB0 8E440000 */ lw $a0, ($s2) -/* 0087B4 70007BB4 00402825 */ move $a1, $v0 -/* 0087B8 70007BB8 8E260004 */ lw $a2, 4($s1) -/* 0087BC 70007BBC 0C004C2B */ jal alEvtqNew -/* 0087C0 70007BC0 24840014 */ addiu $a0, $a0, 0x14 -/* 0087C4 70007BC4 8E4E0000 */ lw $t6, ($s2) -/* 0087C8 70007BC8 3C018002 */ lui $at, %hi(D_800243EC) -/* 0087CC 70007BCC 24100001 */ li $s0, 1 -/* 0087D0 70007BD0 8DCF0040 */ lw $t7, 0x40($t6) -/* 0087D4 70007BD4 AC2F43EC */ sw $t7, %lo(D_800243EC)($at) -/* 0087D8 70007BD8 8E380000 */ lw $t8, ($s1) -/* 0087DC 70007BDC 2F010002 */ sltiu $at, $t8, 2 -/* 0087E0 70007BE0 5420000D */ bnezl $at, .L70007C18 -/* 0087E4 70007BE4 8E26000C */ lw $a2, 0xc($s1) -/* 0087E8 70007BE8 8E590000 */ lw $t9, ($s2) -.L70007BEC: -/* 0087EC 70007BEC 00104180 */ sll $t0, $s0, 6 -/* 0087F0 70007BF0 8F220040 */ lw $v0, 0x40($t9) -/* 0087F4 70007BF4 01022021 */ addu $a0, $t0, $v0 -/* 0087F8 70007BF8 0C003AB0 */ jal alLink -/* 0087FC 70007BFC 2485FFC0 */ addiu $a1, $a0, -0x40 -/* 008800 70007C00 8E290000 */ lw $t1, ($s1) -/* 008804 70007C04 26100001 */ addiu $s0, $s0, 1 -/* 008808 70007C08 0209082B */ sltu $at, $s0, $t1 -/* 00880C 70007C0C 5420FFF7 */ bnezl $at, .L70007BEC -/* 008810 70007C10 8E590000 */ lw $t9, ($s2) -/* 008814 70007C14 8E26000C */ lw $a2, 0xc($s1) -.L70007C18: -/* 008818 70007C18 240A0007 */ li $t2, 7 -/* 00881C 70007C1C AFAA0010 */ sw $t2, 0x10($sp) -/* 008820 70007C20 00002025 */ move $a0, $zero -/* 008824 70007C24 00002825 */ move $a1, $zero -/* 008828 70007C28 0C003AD4 */ jal alHeapDBAlloc -/* 00882C 70007C2C 24070002 */ li $a3, 2 -/* 008830 70007C30 3C038006 */ lui $v1, %hi(D_80063BA4) -/* 008834 70007C34 24633BA4 */ addiu $v1, %lo(D_80063BA4) # addiu $v1, $v1, 0x3ba4 -/* 008838 70007C38 AC620000 */ sw $v0, ($v1) -/* 00883C 70007C3C 8E26000C */ lw $a2, 0xc($s1) -/* 008840 70007C40 240B0007 */ li $t3, 7 -/* 008844 70007C44 AFAB0010 */ sw $t3, 0x10($sp) -/* 008848 70007C48 00002025 */ move $a0, $zero -/* 00884C 70007C4C 00002825 */ move $a1, $zero -/* 008850 70007C50 0C003AD4 */ jal alHeapDBAlloc -/* 008854 70007C54 24070002 */ li $a3, 2 -/* 008858 70007C58 3C038006 */ lui $v1, %hi(D_80063BA4) -/* 00885C 70007C5C 24633BA4 */ addiu $v1, %lo(D_80063BA4) # addiu $v1, $v1, 0x3ba4 -/* 008860 70007C60 8C6C0000 */ lw $t4, ($v1) -/* 008864 70007C64 3C048006 */ lui $a0, %hi(D_80063BA8) -/* 008868 70007C68 24843BA8 */ addiu $a0, %lo(D_80063BA8) # addiu $a0, $a0, 0x3ba8 -/* 00886C 70007C6C AC820000 */ sw $v0, ($a0) -/* 008870 70007C70 24057FFF */ li $a1, 32767 -/* 008874 70007C74 A5850000 */ sh $a1, ($t4) -/* 008878 70007C78 8C6D0000 */ lw $t5, ($v1) -/* 00887C 70007C7C 8C8F0000 */ lw $t7, ($a0) -/* 008880 70007C80 24100003 */ li $s0, 3 -/* 008884 70007C84 85AE0000 */ lh $t6, ($t5) -/* 008888 70007C88 00101040 */ sll $v0, $s0, 1 -/* 00888C 70007C8C A5EE0000 */ sh $t6, ($t7) -/* 008890 70007C90 8C780000 */ lw $t8, ($v1) -/* 008894 70007C94 A7050002 */ sh $a1, 2($t8) -/* 008898 70007C98 8C790000 */ lw $t9, ($v1) -/* 00889C 70007C9C 8C890000 */ lw $t1, ($a0) -/* 0088A0 70007CA0 87280002 */ lh $t0, 2($t9) -/* 0088A4 70007CA4 A5280002 */ sh $t0, 2($t1) -/* 0088A8 70007CA8 8C6A0000 */ lw $t2, ($v1) -/* 0088AC 70007CAC A5450004 */ sh $a1, 4($t2) -/* 0088B0 70007CB0 8C6B0000 */ lw $t3, ($v1) -/* 0088B4 70007CB4 8C8D0000 */ lw $t5, ($a0) -/* 0088B8 70007CB8 856C0004 */ lh $t4, 4($t3) -/* 0088BC 70007CBC A5AC0004 */ sh $t4, 4($t5) -/* 0088C0 70007CC0 8C6E0000 */ lw $t6, ($v1) -/* 0088C4 70007CC4 01C27821 */ addu $t7, $t6, $v0 -/* 0088C8 70007CC8 A5E50000 */ sh $a1, ($t7) -/* 0088CC 70007CCC 8C780000 */ lw $t8, ($v1) -/* 0088D0 70007CD0 8C890000 */ lw $t1, ($a0) -/* 0088D4 70007CD4 0302C821 */ addu $t9, $t8, $v0 -/* 0088D8 70007CD8 87280000 */ lh $t0, ($t9) -/* 0088DC 70007CDC 01225021 */ addu $t2, $t1, $v0 -/* 0088E0 70007CE0 A5480000 */ sh $t0, ($t2) -/* 0088E4 70007CE4 8C6B0000 */ lw $t3, ($v1) -/* 0088E8 70007CE8 01626021 */ addu $t4, $t3, $v0 -/* 0088EC 70007CEC A5850002 */ sh $a1, 2($t4) -/* 0088F0 70007CF0 8C6D0000 */ lw $t5, ($v1) -/* 0088F4 70007CF4 8C980000 */ lw $t8, ($a0) -/* 0088F8 70007CF8 01A27021 */ addu $t6, $t5, $v0 -/* 0088FC 70007CFC 85CF0002 */ lh $t7, 2($t6) -/* 008900 70007D00 0302C821 */ addu $t9, $t8, $v0 -/* 008904 70007D04 A72F0002 */ sh $t7, 2($t9) -/* 008908 70007D08 8C690000 */ lw $t1, ($v1) -/* 00890C 70007D0C 01224021 */ addu $t0, $t1, $v0 -/* 008910 70007D10 A5050004 */ sh $a1, 4($t0) -/* 008914 70007D14 8C6A0000 */ lw $t2, ($v1) -/* 008918 70007D18 8C8D0000 */ lw $t5, ($a0) -/* 00891C 70007D1C 01425821 */ addu $t3, $t2, $v0 -/* 008920 70007D20 856C0004 */ lh $t4, 4($t3) -/* 008924 70007D24 01A27021 */ addu $t6, $t5, $v0 -/* 008928 70007D28 3C0D8002 */ lui $t5, %hi(alGlobals) -/* 00892C 70007D2C A5CC0004 */ sh $t4, 4($t6) -/* 008930 70007D30 8C780000 */ lw $t8, ($v1) -/* 008934 70007D34 03027821 */ addu $t7, $t8, $v0 -/* 008938 70007D38 A5E50006 */ sh $a1, 6($t7) -/* 00893C 70007D3C 8C790000 */ lw $t9, ($v1) -/* 008940 70007D40 8C8A0000 */ lw $t2, ($a0) -/* 008944 70007D44 3C187000 */ lui $t8, %hi(sfx_c_70007DDC) # $t8, 0x7000 -/* 008948 70007D48 03224821 */ addu $t1, $t9, $v0 -/* 00894C 70007D4C 85280006 */ lh $t0, 6($t1) -/* 008950 70007D50 01425821 */ addu $t3, $t2, $v0 -/* 008954 70007D54 27187DDC */ addiu $t8, %lo(sfx_c_70007DDC) # addiu $t8, $t8, 0x7ddc -/* 008958 70007D58 A5680006 */ sh $t0, 6($t3) -/* 00895C 70007D5C 8E4C0000 */ lw $t4, ($s2) -/* 008960 70007D60 8DAD76E0 */ lw $t5, %lo(alGlobals)($t5) -/* 008964 70007D64 AD8D0038 */ sw $t5, 0x38($t4) -/* 008968 70007D68 8E4E0000 */ lw $t6, ($s2) -/* 00896C 70007D6C ADC00000 */ sw $zero, ($t6) -/* 008970 70007D70 8E4F0000 */ lw $t7, ($s2) -/* 008974 70007D74 ADF80008 */ sw $t8, 8($t7) -/* 008978 70007D78 8E500000 */ lw $s0, ($s2) -/* 00897C 70007D7C AE100004 */ sw $s0, 4($s0) -/* 008980 70007D80 8E500000 */ lw $s0, ($s2) -/* 008984 70007D84 8E040038 */ lw $a0, 0x38($s0) -/* 008988 70007D88 0C004C48 */ jal alSynAddPlayer -/* 00898C 70007D8C 02002825 */ move $a1, $s0 -/* 008990 70007D90 8E500000 */ lw $s0, ($s2) -/* 008994 70007D94 24190020 */ li $t9, 32 -/* 008998 70007D98 A7B90038 */ sh $t9, 0x38($sp) -/* 00899C 70007D9C 27A50038 */ addiu $a1, $sp, 0x38 -/* 0089A0 70007DA0 8E060048 */ lw $a2, 0x48($s0) -/* 0089A4 70007DA4 0C004BBF */ jal alEvtqPostEvent -/* 0089A8 70007DA8 26040014 */ addiu $a0, $s0, 0x14 -/* 0089AC 70007DAC 8E500000 */ lw $s0, ($s2) -/* 0089B0 70007DB0 26040014 */ addiu $a0, $s0, 0x14 -/* 0089B4 70007DB4 0C004C08 */ jal alEvtqNextEvent -/* 0089B8 70007DB8 26050028 */ addiu $a1, $s0, 0x28 -/* 0089BC 70007DBC 8E490000 */ lw $t1, ($s2) -/* 0089C0 70007DC0 AD22004C */ sw $v0, 0x4c($t1) -/* 0089C4 70007DC4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0089C8 70007DC8 8FB20028 */ lw $s2, 0x28($sp) -/* 0089CC 70007DCC 8FB10024 */ lw $s1, 0x24($sp) -/* 0089D0 70007DD0 8FB00020 */ lw $s0, 0x20($sp) -/* 0089D4 70007DD4 03E00008 */ jr $ra -/* 0089D8 70007DD8 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - - -/** - * 89DC 70007DDC - */ -#ifdef NONMATCHING -void sfx_c_70007DDC(void *arg0) -{ - s16 sp3C; - s32 temp_s1; - s32 temp_s2; - ? temp_ret; - - temp_s1 = (arg0 + 0x28); - temp_s2 = (arg0 + 0x14); -block_1: - if (0x20 == arg0->unk28) - { - sp3C = (u16)0x20; - alEvtqPostEvent(temp_s2, &sp3C, arg0->unk48); - } - else - { - sfx_c_70007E80(arg0, temp_s1); - } - temp_ret = alEvtqNextEvent(temp_s2, temp_s1); - arg0->unk4C = temp_ret; - if (temp_ret == 0) - { - goto block_1; - } - arg0->unk50 = (s32) (arg0->unk50 + temp_ret); -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70007DDC -/* 0089DC 70007DDC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0089E0 70007DE0 AFB40028 */ sw $s4, 0x28($sp) -/* 0089E4 70007DE4 AFB30024 */ sw $s3, 0x24($sp) -/* 0089E8 70007DE8 AFB20020 */ sw $s2, 0x20($sp) -/* 0089EC 70007DEC AFB1001C */ sw $s1, 0x1c($sp) -/* 0089F0 70007DF0 AFB00018 */ sw $s0, 0x18($sp) -/* 0089F4 70007DF4 00808025 */ move $s0, $a0 -/* 0089F8 70007DF8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0089FC 70007DFC 24910028 */ addiu $s1, $a0, 0x28 -/* 008A00 70007E00 24920014 */ addiu $s2, $a0, 0x14 -/* 008A04 70007E04 24130020 */ li $s3, 32 -/* 008A08 70007E08 27B4003C */ addiu $s4, $sp, 0x3c -.L70007E0C: -/* 008A0C 70007E0C 860E0028 */ lh $t6, 0x28($s0) -/* 008A10 70007E10 240F0020 */ li $t7, 32 -/* 008A14 70007E14 02802825 */ move $a1, $s4 -/* 008A18 70007E18 166E0007 */ bne $s3, $t6, .L70007E38 -/* 008A1C 70007E1C 02002025 */ move $a0, $s0 -/* 008A20 70007E20 A7AF003C */ sh $t7, 0x3c($sp) -/* 008A24 70007E24 8E060048 */ lw $a2, 0x48($s0) -/* 008A28 70007E28 0C004BBF */ jal alEvtqPostEvent -/* 008A2C 70007E2C 02402025 */ move $a0, $s2 -/* 008A30 70007E30 10000004 */ b .L70007E44 -/* 008A34 70007E34 02402025 */ move $a0, $s2 -.L70007E38: -/* 008A38 70007E38 0C001FA0 */ jal sfx_c_70007E80 -/* 008A3C 70007E3C 02202825 */ move $a1, $s1 -/* 008A40 70007E40 02402025 */ move $a0, $s2 -.L70007E44: -/* 008A44 70007E44 0C004C08 */ jal alEvtqNextEvent -/* 008A48 70007E48 02202825 */ move $a1, $s1 -/* 008A4C 70007E4C 1040FFEF */ beqz $v0, .L70007E0C -/* 008A50 70007E50 AE02004C */ sw $v0, 0x4c($s0) -/* 008A54 70007E54 8E180050 */ lw $t8, 0x50($s0) -/* 008A58 70007E58 0302C821 */ addu $t9, $t8, $v0 -/* 008A5C 70007E5C AE190050 */ sw $t9, 0x50($s0) -/* 008A60 70007E60 8FBF002C */ lw $ra, 0x2c($sp) -/* 008A64 70007E64 8FB40028 */ lw $s4, 0x28($sp) -/* 008A68 70007E68 8FB30024 */ lw $s3, 0x24($sp) -/* 008A6C 70007E6C 8FB20020 */ lw $s2, 0x20($sp) -/* 008A70 70007E70 8FB1001C */ lw $s1, 0x1c($sp) -/* 008A74 70007E74 8FB00018 */ lw $s0, 0x18($sp) -/* 008A78 70007E78 03E00008 */ jr $ra -/* 008A7C 70007E7C 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - - -/** - * 8A80 70007E80 - * ??? - * accepts: A0=???, A1=??? - * uses TLB pointer table at 80029160 - * 70007FBC entry 0 - * 70008388 entry 1 - * 7000847C entry 3 - * 700084F0 entry F - * 700085C8 entry 7 - * 700088D4 default: entries 2,4,5,6,8,9,A,B,C,D,E - */ - -#ifdef NONMATCHING -void sfx_c_70007E80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70007E80 -/* 008A80 70007E80 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 008A84 70007E84 AFBE0038 */ sw $fp, 0x38($sp) -/* 008A88 70007E88 AFB70034 */ sw $s7, 0x34($sp) -/* 008A8C 70007E8C AFB5002C */ sw $s5, 0x2c($sp) -/* 008A90 70007E90 AFB1001C */ sw $s1, 0x1c($sp) -/* 008A94 70007E94 240E0001 */ li $t6, 1 -/* 008A98 70007E98 00A0A825 */ move $s5, $a1 -/* 008A9C 70007E9C 0080B825 */ move $s7, $a0 -/* 008AA0 70007EA0 AFBF003C */ sw $ra, 0x3c($sp) -/* 008AA4 70007EA4 AFB60030 */ sw $s6, 0x30($sp) -/* 008AA8 70007EA8 AFB40028 */ sw $s4, 0x28($sp) -/* 008AAC 70007EAC AFB30024 */ sw $s3, 0x24($sp) -/* 008AB0 70007EB0 AFB20020 */ sw $s2, 0x20($sp) -/* 008AB4 70007EB4 AFB00018 */ sw $s0, 0x18($sp) -/* 008AB8 70007EB8 AFAE0080 */ sw $t6, 0x80($sp) -/* 008ABC 70007EBC AFA0007C */ sw $zero, 0x7c($sp) -/* 008AC0 70007EC0 AFA00074 */ sw $zero, 0x74($sp) -/* 008AC4 70007EC4 8FB10078 */ lw $s1, 0x78($sp) -/* 008AC8 70007EC8 241E0001 */ li $fp, 1 -/* 008ACC 70007ECC 8FAF0074 */ lw $t7, 0x74($sp) -.L70007ED0: -/* 008AD0 70007ED0 51E00008 */ beql $t7, $zero, .L70007EF4 -/* 008AD4 70007ED4 8EB10004 */ lw $s1, 4($s5) -/* 008AD8 70007ED8 AFB100A0 */ sw $s1, 0xa0($sp) -/* 008ADC 70007EDC 96B80000 */ lhu $t8, ($s5) -/* 008AE0 70007EE0 A7B8009C */ sh $t8, 0x9c($sp) -/* 008AE4 70007EE4 8EB90008 */ lw $t9, 8($s5) -/* 008AE8 70007EE8 27B5009C */ addiu $s5, $sp, 0x9c -/* 008AEC 70007EEC AFB900A4 */ sw $t9, 0xa4($sp) -/* 008AF0 70007EF0 8EB10004 */ lw $s1, 4($s5) -.L70007EF4: -/* 008AF4 70007EF4 8E320008 */ lw $s2, 8($s1) -/* 008AF8 70007EF8 16400005 */ bnez $s2, .L70007F10 -/* 008AFC 70007EFC 27A40072 */ addiu $a0, $sp, 0x72 -/* 008B00 70007F00 0C0022BC */ jal sfx_c_70008AF0 -/* 008B04 70007F04 27A50070 */ addiu $a1, $sp, 0x70 -/* 008B08 70007F08 10000284 */ b .L7000891C -/* 008B0C 70007F0C 8FBF003C */ lw $ra, 0x3c($sp) -.L70007F10: -/* 008B10 70007F10 8E280000 */ lw $t0, ($s1) -/* 008B14 70007F14 8E560004 */ lw $s6, 4($s2) -/* 008B18 70007F18 AFA80074 */ sw $t0, 0x74($sp) -/* 008B1C 70007F1C 96A30000 */ lhu $v1, ($s5) -/* 008B20 70007F20 28610101 */ slti $at, $v1, 0x101 -/* 008B24 70007F24 1420000C */ bnez $at, .L70007F58 -/* 008B28 70007F28 00601025 */ move $v0, $v1 -/* 008B2C 70007F2C 24010200 */ li $at, 512 -/* 008B30 70007F30 1041025D */ beq $v0, $at, .L700088A8 -/* 008B34 70007F34 24010400 */ li $at, 1024 -/* 008B38 70007F38 10410113 */ beq $v0, $at, .L70008388 -/* 008B3C 70007F3C 24010800 */ li $at, 2048 -/* 008B40 70007F40 104101D3 */ beq $v0, $at, .L70008690 -/* 008B44 70007F44 24011000 */ li $at, 4096 -/* 008B48 70007F48 50410110 */ beql $v0, $at, .L7000838C -/* 008B4C 70007F4C 24011000 */ li $at, 4096 -/* 008B50 70007F50 10000261 */ b .L700088D8 -/* 008B54 70007F54 306202D1 */ andi $v0, $v1, 0x2d1 -.L70007F58: -/* 008B58 70007F58 28410041 */ slti $at, $v0, 0x41 -/* 008B5C 70007F5C 14200007 */ bnez $at, .L70007F7C -/* 008B60 70007F60 24010080 */ li $at, 128 -/* 008B64 70007F64 1041024A */ beq $v0, $at, .L70008890 -/* 008B68 70007F68 24010100 */ li $at, 256 -/* 008B6C 70007F6C 50410177 */ beql $v0, $at, .L7000854C -/* 008B70 70007F70 922E003F */ lbu $t6, 0x3f($s1) -/* 008B74 70007F74 10000258 */ b .L700088D8 -/* 008B78 70007F78 306202D1 */ andi $v0, $v1, 0x2d1 -.L70007F7C: -/* 008B7C 70007F7C 28410011 */ slti $at, $v0, 0x11 -/* 008B80 70007F80 14200006 */ bnez $at, .L70007F9C -/* 008B84 70007F84 2449FFFF */ addiu $t1, $v0, -1 -/* 008B88 70007F88 24010040 */ li $at, 64 -/* 008B8C 70007F8C 504101F8 */ beql $v0, $at, .L70008770 -/* 008B90 70007F90 9239003E */ lbu $t9, 0x3e($s1) -/* 008B94 70007F94 10000250 */ b .L700088D8 -/* 008B98 70007F98 306202D1 */ andi $v0, $v1, 0x2d1 -.L70007F9C: -/* 008B9C 70007F9C 2D210010 */ sltiu $at, $t1, 0x10 -/* 008BA0 70007FA0 1020024C */ beqz $at, .L700088D4 -/* 008BA4 70007FA4 00094880 */ sll $t1, $t1, 2 -/* 008BA8 70007FA8 3C018003 */ lui $at, %hi(jpt_80029160) -/* 008BAC 70007FAC 00290821 */ addu $at, $at, $t1 -/* 008BB0 70007FB0 8C299160 */ lw $t1, %lo(jpt_80029160)($at) # lw $t1, -0x6ea0($at) -/* 008BB4 70007FB4 01200008 */ jr $t1 -/* 008BB8 70007FB8 00000000 */ nop -glabel .L70007FBC -/* 008BBC 70007FBC 9222003F */ lbu $v0, 0x3f($s1) -/* 008BC0 70007FC0 24010005 */ li $at, 5 -/* 008BC4 70007FC4 3C0B8002 */ lui $t3, %hi(D_800243F4) -/* 008BC8 70007FC8 10410003 */ beq $v0, $at, .L70007FD8 -/* 008BCC 70007FCC 24010004 */ li $at, 4 -/* 008BD0 70007FD0 54410252 */ bnel $v0, $at, .L7000891C -/* 008BD4 70007FD4 8FBF003C */ lw $ra, 0x3c($sp) -.L70007FD8: -/* 008BD8 70007FD8 A7A000CA */ sh $zero, 0xca($sp) -/* 008BDC 70007FDC 922A0036 */ lbu $t2, 0x36($s1) -/* 008BE0 70007FE0 A3A000CC */ sb $zero, 0xcc($sp) -/* 008BE4 70007FE4 856B43F4 */ lh $t3, %lo(D_800243F4)($t3) -/* 008BE8 70007FE8 A7AA00C8 */ sh $t2, 0xc8($sp) -/* 008BEC 70007FEC 8EEC0044 */ lw $t4, 0x44($s7) -/* 008BF0 70007FF0 2625000C */ addiu $a1, $s1, 0xc -/* 008BF4 70007FF4 27A600C8 */ addiu $a2, $sp, 0xc8 -/* 008BF8 70007FF8 016C802A */ slt $s0, $t3, $t4 -/* 008BFC 70007FFC 3A100001 */ xori $s0, $s0, 1 -/* 008C00 70008000 12000005 */ beqz $s0, .L70008018 -/* 008C04 70008004 00000000 */ nop -/* 008C08 70008008 9223003E */ lbu $v1, 0x3e($s1) -/* 008C0C 7000800C 306D0010 */ andi $t5, $v1, 0x10 -/* 008C10 70008010 51A00006 */ beql $t5, $zero, .L7000802C -/* 008C14 70008014 8FAE007C */ lw $t6, 0x7c($sp) -.L70008018: -/* 008C18 70008018 0C004C96 */ jal alSynAllocVoice -/* 008C1C 7000801C 8EE40038 */ lw $a0, 0x38($s7) -/* 008C20 70008020 AFA2007C */ sw $v0, 0x7c($sp) -/* 008C24 70008024 9223003E */ lbu $v1, 0x3e($s1) -/* 008C28 70008028 8FAE007C */ lw $t6, 0x7c($sp) -.L7000802C: -/* 008C2C 7000802C 2633000C */ addiu $s3, $s1, 0xc -/* 008C30 70008030 346F0004 */ ori $t7, $v1, 4 -/* 008C34 70008034 15C00045 */ bnez $t6, .L7000814C -/* 008C38 70008038 02602825 */ move $a1, $s3 -/* 008C3C 7000803C 306F0012 */ andi $t7, $v1, 0x12 -/* 008C40 70008040 15E00004 */ bnez $t7, .L70008054 -/* 008C44 70008044 24190004 */ li $t9, 4 -/* 008C48 70008048 8E380038 */ lw $t8, 0x38($s1) -/* 008C4C 7000804C 1B00000B */ blez $t8, .L7000807C -/* 008C50 70008050 00000000 */ nop -.L70008054: -/* 008C54 70008054 8E280038 */ lw $t0, 0x38($s1) -/* 008C58 70008058 A239003F */ sb $t9, 0x3f($s1) -/* 008C5C 7000805C 26E40014 */ addiu $a0, $s7, 0x14 -/* 008C60 70008060 2509FFFF */ addiu $t1, $t0, -1 -/* 008C64 70008064 AE290038 */ sw $t1, 0x38($s1) -/* 008C68 70008068 02A02825 */ move $a1, $s5 -/* 008C6C 7000806C 0C004BBF */ jal alEvtqPostEvent -/* 008C70 70008070 34068235 */ li $a2, 33333 -/* 008C74 70008074 10000229 */ b .L7000891C -/* 008C78 70008078 8FBF003C */ lw $ra, 0x3c($sp) -.L7000807C: -/* 008C7C 7000807C 1200002F */ beqz $s0, .L7000813C -/* 008C80 70008080 3C028002 */ lui $v0, %hi(D_800243E8) -/* 008C84 70008084 8C4243E8 */ lw $v0, %lo(D_800243E8)($v0) -/* 008C88 70008088 27B4005C */ addiu $s4, $sp, 0x5c -/* 008C8C 7000808C 24130003 */ li $s3, 3 -/* 008C90 70008090 24120003 */ li $s2, 3 -/* 008C94 70008094 9043003E */ lbu $v1, 0x3e($v0) -.L70008098: -/* 008C98 70008098 306A0012 */ andi $t2, $v1, 0x12 -/* 008C9C 7000809C 15400016 */ bnez $t2, .L700080F8 -/* 008CA0 700080A0 306B0004 */ andi $t3, $v1, 4 -/* 008CA4 700080A4 11600014 */ beqz $t3, .L700080F8 -/* 008CA8 700080A8 00000000 */ nop -/* 008CAC 700080AC 904C003F */ lbu $t4, 0x3f($v0) -/* 008CB0 700080B0 240D0080 */ li $t5, 128 -/* 008CB4 700080B4 26E40014 */ addiu $a0, $s7, 0x14 -/* 008CB8 700080B8 124C000F */ beq $s2, $t4, .L700080F8 -/* 008CBC 700080BC 02802825 */ move $a1, $s4 -/* 008CC0 700080C0 A7AD005C */ sh $t5, 0x5c($sp) -/* 008CC4 700080C4 AFA20060 */ sw $v0, 0x60($sp) -/* 008CC8 700080C8 A053003F */ sb $s3, 0x3f($v0) -/* 008CCC 700080CC 00008025 */ move $s0, $zero -/* 008CD0 700080D0 AFA2006C */ sw $v0, 0x6c($sp) -/* 008CD4 700080D4 0C004BBF */ jal alEvtqPostEvent -/* 008CD8 700080D8 240603E8 */ li $a2, 1000 -/* 008CDC 700080DC 8FA2006C */ lw $v0, 0x6c($sp) -/* 008CE0 700080E0 8EE40038 */ lw $a0, 0x38($s7) -/* 008CE4 700080E4 00003025 */ move $a2, $zero -/* 008CE8 700080E8 240703E8 */ li $a3, 1000 -/* 008CEC 700080EC 0C004CE8 */ jal alSynSetVol -/* 008CF0 700080F0 2445000C */ addiu $a1, $v0, 0xc -/* 008CF4 700080F4 8FA2006C */ lw $v0, 0x6c($sp) -.L700080F8: -/* 008CF8 700080F8 12000003 */ beqz $s0, .L70008108 -/* 008CFC 700080FC 8C420004 */ lw $v0, 4($v0) -/* 008D00 70008100 5440FFE5 */ bnezl $v0, .L70008098 -/* 008D04 70008104 9043003E */ lbu $v1, 0x3e($v0) -.L70008108: -/* 008D08 70008108 16000008 */ bnez $s0, .L7000812C -/* 008D0C 7000810C 240E0002 */ li $t6, 2 -/* 008D10 70008110 AE2E0038 */ sw $t6, 0x38($s1) -/* 008D14 70008114 26E40014 */ addiu $a0, $s7, 0x14 -/* 008D18 70008118 02A02825 */ move $a1, $s5 -/* 008D1C 7000811C 0C004BBF */ jal alEvtqPostEvent -/* 008D20 70008120 240603E9 */ li $a2, 1001 -/* 008D24 70008124 100001FD */ b .L7000891C -/* 008D28 70008128 8FBF003C */ lw $ra, 0x3c($sp) -.L7000812C: -/* 008D2C 7000812C 0C002252 */ jal sfx_c_70008948 -/* 008D30 70008130 02202025 */ move $a0, $s1 -/* 008D34 70008134 100001F9 */ b .L7000891C -/* 008D38 70008138 8FBF003C */ lw $ra, 0x3c($sp) -.L7000813C: -/* 008D3C 7000813C 0C002252 */ jal sfx_c_70008948 -/* 008D40 70008140 02202025 */ move $a0, $s1 -/* 008D44 70008144 100001F5 */ b .L7000891C -/* 008D48 70008148 8FBF003C */ lw $ra, 0x3c($sp) -.L7000814C: -/* 008D4C 7000814C A22F003E */ sb $t7, 0x3e($s1) -/* 008D50 70008150 8E460008 */ lw $a2, 8($s2) -/* 008D54 70008154 8EE40038 */ lw $a0, 0x38($s7) -/* 008D58 70008158 0C004D10 */ jal alSynStartVoice -/* 008D5C 7000815C 26F40014 */ addiu $s4, $s7, 0x14 -/* 008D60 70008160 24180001 */ li $t8, 1 -/* 008D64 70008164 A238003F */ sb $t8, 0x3f($s1) -/* 008D68 70008168 3C198002 */ lui $t9, %hi(D_800243F4) -/* 008D6C 7000816C 873943F4 */ lh $t9, %lo(D_800243F4)($t9) -/* 008D70 70008170 3C018002 */ lui $at, %hi(D_800243F4) -/* 008D74 70008174 3C0B8006 */ lui $t3, %hi(D_80063BA4) -/* 008D78 70008178 27280001 */ addiu $t0, $t9, 1 -/* 008D7C 7000817C A42843F4 */ sh $t0, %lo(D_800243F4)($at) -/* 008D80 70008180 8E420000 */ lw $v0, ($s2) -/* 008D84 70008184 86280034 */ lh $t0, 0x34($s1) -/* 008D88 70008188 924A000D */ lbu $t2, 0xd($s2) -/* 008D8C 7000818C 9059000C */ lbu $t9, 0xc($v0) -/* 008D90 70008190 8C490000 */ lw $t1, ($v0) -/* 008D94 70008194 92CC0002 */ lbu $t4, 2($s6) -/* 008D98 70008198 03280019 */ multu $t9, $t0 -/* 008D9C 7000819C 44892000 */ mtc1 $t1, $f4 -/* 008DA0 700081A0 318D003F */ andi $t5, $t4, 0x3f -/* 008DA4 700081A4 24013F01 */ li $at, 16129 -/* 008DA8 700081A8 8D6B3BA4 */ lw $t3, %lo(D_80063BA4)($t3) -/* 008DAC 700081AC 000D7040 */ sll $t6, $t5, 1 -/* 008DB0 700081B0 468021A0 */ cvt.s.w $f6, $f4 -/* 008DB4 700081B4 016E7821 */ addu $t7, $t3, $t6 -/* 008DB8 700081B8 85F80000 */ lh $t8, ($t7) -/* 008DBC 700081BC C628002C */ lwc1 $f8, 0x2c($s1) -/* 008DC0 700081C0 00004812 */ mflo $t1 -/* 008DC4 700081C4 C6300028 */ lwc1 $f16, 0x28($s1) -/* 008DC8 700081C8 46083283 */ div.s $f10, $f6, $f8 -/* 008DCC 700081CC 012A0019 */ multu $t1, $t2 -/* 008DD0 700081D0 02602825 */ move $a1, $s3 -/* 008DD4 700081D4 00003025 */ move $a2, $zero -/* 008DD8 700081D8 00003825 */ move $a3, $zero -/* 008DDC 700081DC 00006012 */ mflo $t4 -/* 008DE0 700081E0 00000000 */ nop -/* 008DE4 700081E4 00000000 */ nop -/* 008DE8 700081E8 0181001A */ div $zero, $t4, $at -/* 008DEC 700081EC 00006812 */ mflo $t5 -/* 008DF0 700081F0 24017FFF */ li $at, 32767 -/* 008DF4 700081F4 46105483 */ div.s $f18, $f10, $f16 -/* 008DF8 700081F8 030D0019 */ multu $t8, $t5 -/* 008DFC 700081FC 00002012 */ mflo $a0 -/* 008E00 70008200 00000000 */ nop -/* 008E04 70008204 00000000 */ nop -/* 008E08 70008208 0081001A */ div $zero, $a0, $at -/* 008E0C 7000820C 4600910D */ trunc.w.s $f4, $f18 -/* 008E10 70008210 00005812 */ mflo $t3 -/* 008E14 70008214 2564FFFF */ addiu $a0, $t3, -1 -/* 008E18 70008218 00801825 */ move $v1, $a0 -/* 008E1C 7000821C 44102000 */ mfc1 $s0, $f4 -/* 008E20 70008220 04810003 */ bgez $a0, .L70008230 -/* 008E24 70008224 00000000 */ nop -/* 008E28 70008228 10000001 */ b .L70008230 -/* 008E2C 7000822C 00001825 */ move $v1, $zero -.L70008230: -/* 008E30 70008230 8EE40038 */ lw $a0, 0x38($s7) -/* 008E34 70008234 0C004CE8 */ jal alSynSetVol -/* 008E38 70008238 AFA30090 */ sw $v1, 0x90($sp) -/* 008E3C 7000823C 8FA30090 */ lw $v1, 0x90($sp) -/* 008E40 70008240 8EE40038 */ lw $a0, 0x38($s7) -/* 008E44 70008244 02602825 */ move $a1, $s3 -/* 008E48 70008248 00033400 */ sll $a2, $v1, 0x10 -/* 008E4C 7000824C 00067403 */ sra $t6, $a2, 0x10 -/* 008E50 70008250 01C03025 */ move $a2, $t6 -/* 008E54 70008254 0C004CE8 */ jal alSynSetVol -/* 008E58 70008258 02003825 */ move $a3, $s0 -/* 008E5C 7000825C 922F003C */ lbu $t7, 0x3c($s1) -/* 008E60 70008260 9259000C */ lbu $t9, 0xc($s2) -/* 008E64 70008264 00001025 */ move $v0, $zero -/* 008E68 70008268 2406007F */ li $a2, 127 -/* 008E6C 7000826C 01F91821 */ addu $v1, $t7, $t9 -/* 008E70 70008270 2463FFC0 */ addiu $v1, $v1, -0x40 -/* 008E74 70008274 18600003 */ blez $v1, .L70008284 -/* 008E78 70008278 02602825 */ move $a1, $s3 -/* 008E7C 7000827C 10000001 */ b .L70008284 -/* 008E80 70008280 00601025 */ move $v0, $v1 -.L70008284: -/* 008E84 70008284 2841007F */ slti $at, $v0, 0x7f -/* 008E88 70008288 10200007 */ beqz $at, .L700082A8 -/* 008E8C 7000828C 00000000 */ nop -/* 008E90 70008290 18600003 */ blez $v1, .L700082A0 -/* 008E94 70008294 00001025 */ move $v0, $zero -/* 008E98 70008298 10000003 */ b .L700082A8 -/* 008E9C 7000829C 306600FF */ andi $a2, $v1, 0xff -.L700082A0: -/* 008EA0 700082A0 10000001 */ b .L700082A8 -/* 008EA4 700082A4 304600FF */ andi $a2, $v0, 0xff -.L700082A8: -/* 008EA8 700082A8 0C004D34 */ jal alSynSetPan -/* 008EAC 700082AC 8EE40038 */ lw $a0, 0x38($s7) -/* 008EB0 700082B0 C626002C */ lwc1 $f6, 0x2c($s1) -/* 008EB4 700082B4 C6280028 */ lwc1 $f8, 0x28($s1) -/* 008EB8 700082B8 8EE40038 */ lw $a0, 0x38($s7) -/* 008EBC 700082BC 02602825 */ move $a1, $s3 -/* 008EC0 700082C0 46083282 */ mul.s $f10, $f6, $f8 -/* 008EC4 700082C4 44065000 */ mfc1 $a2, $f10 -/* 008EC8 700082C8 0C004D58 */ jal alSynSetPitch -/* 008ECC 700082CC 00000000 */ nop -/* 008ED0 700082D0 92C90003 */ lbu $t1, 3($s6) -/* 008ED4 700082D4 9228003D */ lbu $t0, 0x3d($s1) -/* 008ED8 700082D8 02602825 */ move $a1, $s3 -/* 008EDC 700082DC 312A000F */ andi $t2, $t1, 0xf -/* 008EE0 700082E0 010A1821 */ addu $v1, $t0, $t2 -/* 008EE4 700082E4 000360C0 */ sll $t4, $v1, 3 -/* 008EE8 700082E8 05810003 */ bgez $t4, .L700082F8 -/* 008EEC 700082EC 01801825 */ move $v1, $t4 -/* 008EF0 700082F0 10000002 */ b .L700082FC -/* 008EF4 700082F4 00001025 */ move $v0, $zero -.L700082F8: -/* 008EF8 700082F8 00601025 */ move $v0, $v1 -.L700082FC: -/* 008EFC 700082FC 28410080 */ slti $at, $v0, 0x80 -/* 008F00 70008300 14200003 */ bnez $at, .L70008310 -/* 008F04 70008304 00000000 */ nop -/* 008F08 70008308 10000006 */ b .L70008324 -/* 008F0C 7000830C 2403007F */ li $v1, 127 -.L70008310: -/* 008F10 70008310 04610003 */ bgez $v1, .L70008320 -/* 008F14 70008314 00601025 */ move $v0, $v1 -/* 008F18 70008318 10000001 */ b .L70008320 -/* 008F1C 7000831C 00001025 */ move $v0, $zero -.L70008320: -/* 008F20 70008320 00401825 */ move $v1, $v0 -.L70008324: -/* 008F24 70008324 8EE40038 */ lw $a0, 0x38($s7) -/* 008F28 70008328 0C004D7C */ jal alSynSetFXMix -/* 008F2C 7000832C 306600FF */ andi $a2, $v1, 0xff -/* 008F30 70008330 24180040 */ li $t8, 64 -/* 008F34 70008334 A7B800AC */ sh $t8, 0xac($sp) -/* 008F38 70008338 AFB100B0 */ sw $s1, 0xb0($sp) -/* 008F3C 7000833C 8E4D0000 */ lw $t5, ($s2) -/* 008F40 70008340 C624002C */ lwc1 $f4, 0x2c($s1) -/* 008F44 70008344 C6280028 */ lwc1 $f8, 0x28($s1) -/* 008F48 70008348 8DAB0000 */ lw $t3, ($t5) -/* 008F4C 7000834C 02802025 */ move $a0, $s4 -/* 008F50 70008350 27A500AC */ addiu $a1, $sp, 0xac -/* 008F54 70008354 448B8000 */ mtc1 $t3, $f16 -/* 008F58 70008358 00000000 */ nop -/* 008F5C 7000835C 468084A0 */ cvt.s.w $f18, $f16 -/* 008F60 70008360 46049183 */ div.s $f6, $f18, $f4 -/* 008F64 70008364 46083283 */ div.s $f10, $f6, $f8 -/* 008F68 70008368 4600540D */ trunc.w.s $f16, $f10 -/* 008F6C 7000836C 44068000 */ mfc1 $a2, $f16 -/* 008F70 70008370 0C004BBF */ jal alEvtqPostEvent -/* 008F74 70008374 00000000 */ nop -/* 008F78 70008378 96A20000 */ lhu $v0, ($s5) -/* 008F7C 7000837C 304F02D1 */ andi $t7, $v0, 0x2d1 -/* 008F80 70008380 10000155 */ b .L700088D8 -/* 008F84 70008384 01E01025 */ move $v0, $t7 -glabel .L70008388 -/* 008F88 70008388 24011000 */ li $at, 4096 -.L7000838C: -/* 008F8C 7000838C 54610006 */ bnel $v1, $at, .L700083A8 -/* 008F90 70008390 9222003F */ lbu $v0, 0x3f($s1) -/* 008F94 70008394 9239003E */ lbu $t9, 0x3e($s1) -/* 008F98 70008398 33290002 */ andi $t1, $t9, 2 -/* 008F9C 7000839C 11200035 */ beqz $t1, .L70008474 -/* 008FA0 700083A0 00000000 */ nop -/* 008FA4 700083A4 9222003F */ lbu $v0, 0x3f($s1) -.L700083A8: -/* 008FA8 700083A8 26F40014 */ addiu $s4, $s7, 0x14 -/* 008FAC 700083AC 02802025 */ move $a0, $s4 -/* 008FB0 700083B0 105E0008 */ beq $v0, $fp, .L700083D4 -/* 008FB4 700083B4 02202825 */ move $a1, $s1 -/* 008FB8 700083B8 24010004 */ li $at, 4 -/* 008FBC 700083BC 10410025 */ beq $v0, $at, .L70008454 -/* 008FC0 700083C0 24010005 */ li $at, 5 -/* 008FC4 700083C4 10410023 */ beq $v0, $at, .L70008454 -/* 008FC8 700083C8 00000000 */ nop -/* 008FCC 700083CC 10000025 */ b .L70008464 -/* 008FD0 700083D0 24010002 */ li $at, 2 -.L700083D4: -/* 008FD4 700083D4 0C00228C */ jal sfx_c_70008A30 -/* 008FD8 700083D8 24060040 */ li $a2, 64 -/* 008FDC 700083DC 8E480000 */ lw $t0, ($s2) -/* 008FE0 700083E0 C6260028 */ lwc1 $f6, 0x28($s1) -/* 008FE4 700083E4 C62A002C */ lwc1 $f10, 0x2c($s1) -/* 008FE8 700083E8 8D0A0008 */ lw $t2, 8($t0) -/* 008FEC 700083EC 8EE40038 */ lw $a0, 0x38($s7) -/* 008FF0 700083F0 2625000C */ addiu $a1, $s1, 0xc -/* 008FF4 700083F4 448A9000 */ mtc1 $t2, $f18 -/* 008FF8 700083F8 00003025 */ move $a2, $zero -/* 008FFC 700083FC 46809120 */ cvt.s.w $f4, $f18 -/* 009000 70008400 46062203 */ div.s $f8, $f4, $f6 -/* 009004 70008404 460A4403 */ div.s $f16, $f8, $f10 -/* 009008 70008408 4600848D */ trunc.w.s $f18, $f16 -/* 00900C 7000840C 44109000 */ mfc1 $s0, $f18 -/* 009010 70008410 0C004CE8 */ jal alSynSetVol -/* 009014 70008414 02003825 */ move $a3, $s0 -/* 009018 70008418 1200000A */ beqz $s0, .L70008444 -/* 00901C 7000841C 24180080 */ li $t8, 128 -/* 009020 70008420 A7B800AC */ sh $t8, 0xac($sp) -/* 009024 70008424 AFB100B0 */ sw $s1, 0xb0($sp) -/* 009028 70008428 02802025 */ move $a0, $s4 -/* 00902C 7000842C 27A500AC */ addiu $a1, $sp, 0xac -/* 009030 70008430 0C004BBF */ jal alEvtqPostEvent -/* 009034 70008434 02003025 */ move $a2, $s0 -/* 009038 70008438 240D0002 */ li $t5, 2 -/* 00903C 7000843C 10000003 */ b .L7000844C -/* 009040 70008440 A22D003F */ sb $t5, 0x3f($s1) -.L70008444: -/* 009044 70008444 0C002252 */ jal sfx_c_70008948 -/* 009048 70008448 02202025 */ move $a0, $s1 -.L7000844C: -/* 00904C 7000844C 10000004 */ b .L70008460 -/* 009050 70008450 96A30000 */ lhu $v1, ($s5) -.L70008454: -/* 009054 70008454 0C002252 */ jal sfx_c_70008948 -/* 009058 70008458 02202025 */ move $a0, $s1 -/* 00905C 7000845C 96A30000 */ lhu $v1, ($s5) -.L70008460: -/* 009060 70008460 24010002 */ li $at, 2 -.L70008464: -/* 009064 70008464 14610003 */ bne $v1, $at, .L70008474 -/* 009068 70008468 240B1000 */ li $t3, 4096 -/* 00906C 7000846C A6AB0000 */ sh $t3, ($s5) -/* 009070 70008470 3163FFFF */ andi $v1, $t3, 0xffff -.L70008474: -/* 009074 70008474 10000118 */ b .L700088D8 -/* 009078 70008478 306202D1 */ andi $v0, $v1, 0x2d1 -glabel .L7000847C -/* 00907C 7000847C 922F003F */ lbu $t7, 0x3f($s1) -/* 009080 70008480 8EAE0008 */ lw $t6, 8($s5) -/* 009084 70008484 2625000C */ addiu $a1, $s1, 0xc -/* 009088 70008488 17CF0015 */ bne $fp, $t7, .L700084E0 -/* 00908C 7000848C A22E003C */ sb $t6, 0x3c($s1) -/* 009090 70008490 9249000C */ lbu $t1, 0xc($s2) -/* 009094 70008494 31D900FF */ andi $t9, $t6, 0xff -/* 009098 70008498 00001025 */ move $v0, $zero -/* 00909C 7000849C 03291821 */ addu $v1, $t9, $t1 -/* 0090A0 700084A0 2463FFC0 */ addiu $v1, $v1, -0x40 -/* 0090A4 700084A4 18600003 */ blez $v1, .L700084B4 -/* 0090A8 700084A8 2406007F */ li $a2, 127 -/* 0090AC 700084AC 10000001 */ b .L700084B4 -/* 0090B0 700084B0 00601025 */ move $v0, $v1 -.L700084B4: -/* 0090B4 700084B4 2841007F */ slti $at, $v0, 0x7f -/* 0090B8 700084B8 10200007 */ beqz $at, .L700084D8 -/* 0090BC 700084BC 00000000 */ nop -/* 0090C0 700084C0 18600003 */ blez $v1, .L700084D0 -/* 0090C4 700084C4 00001025 */ move $v0, $zero -/* 0090C8 700084C8 10000003 */ b .L700084D8 -/* 0090CC 700084CC 306600FF */ andi $a2, $v1, 0xff -.L700084D0: -/* 0090D0 700084D0 10000001 */ b .L700084D8 -/* 0090D4 700084D4 304600FF */ andi $a2, $v0, 0xff -.L700084D8: -/* 0090D8 700084D8 0C004D34 */ jal alSynSetPan -/* 0090DC 700084DC 8EE40038 */ lw $a0, 0x38($s7) -.L700084E0: -/* 0090E0 700084E0 96A20000 */ lhu $v0, ($s5) -/* 0090E4 700084E4 304802D1 */ andi $t0, $v0, 0x2d1 -/* 0090E8 700084E8 100000FB */ b .L700088D8 -/* 0090EC 700084EC 01001025 */ move $v0, $t0 -glabel .L700084F0 -/* 0090F0 700084F0 922A003F */ lbu $t2, 0x3f($s1) -/* 0090F4 700084F4 C6A40008 */ lwc1 $f4, 8($s5) -/* 0090F8 700084F8 17CA000F */ bne $fp, $t2, .L70008538 -/* 0090FC 700084FC E624002C */ swc1 $f4, 0x2c($s1) -/* 009100 70008500 C626002C */ lwc1 $f6, 0x2c($s1) -/* 009104 70008504 C6280028 */ lwc1 $f8, 0x28($s1) -/* 009108 70008508 8EE40038 */ lw $a0, 0x38($s7) -/* 00910C 7000850C 2625000C */ addiu $a1, $s1, 0xc -/* 009110 70008510 46083282 */ mul.s $f10, $f6, $f8 -/* 009114 70008514 44065000 */ mfc1 $a2, $f10 -/* 009118 70008518 0C004D58 */ jal alSynSetPitch -/* 00911C 7000851C 00000000 */ nop -/* 009120 70008520 922C003E */ lbu $t4, 0x3e($s1) -/* 009124 70008524 31980020 */ andi $t8, $t4, 0x20 -/* 009128 70008528 53000004 */ beql $t8, $zero, .L7000853C -/* 00912C 7000852C 96A20000 */ lhu $v0, ($s5) -/* 009130 70008530 0C002271 */ jal sfx_c_700089C4 -/* 009134 70008534 02202025 */ move $a0, $s1 -.L70008538: -/* 009138 70008538 96A20000 */ lhu $v0, ($s5) -.L7000853C: -/* 00913C 7000853C 304D02D1 */ andi $t5, $v0, 0x2d1 -/* 009140 70008540 100000E5 */ b .L700088D8 -/* 009144 70008544 01A01025 */ move $v0, $t5 -/* 009148 70008548 922E003F */ lbu $t6, 0x3f($s1) -.L7000854C: -/* 00914C 7000854C 8EAB0008 */ lw $t3, 8($s5) -/* 009150 70008550 2625000C */ addiu $a1, $s1, 0xc -/* 009154 70008554 17CE0018 */ bne $fp, $t6, .L700085B8 -/* 009158 70008558 A22B003D */ sb $t3, 0x3d($s1) -/* 00915C 7000855C 92D90003 */ lbu $t9, 3($s6) -/* 009160 70008560 316F00FF */ andi $t7, $t3, 0xff -/* 009164 70008564 3329000F */ andi $t1, $t9, 0xf -/* 009168 70008568 01E91821 */ addu $v1, $t7, $t1 -/* 00916C 7000856C 000340C0 */ sll $t0, $v1, 3 -/* 009170 70008570 05010003 */ bgez $t0, .L70008580 -/* 009174 70008574 01001825 */ move $v1, $t0 -/* 009178 70008578 10000002 */ b .L70008584 -/* 00917C 7000857C 00001025 */ move $v0, $zero -.L70008580: -/* 009180 70008580 00601025 */ move $v0, $v1 -.L70008584: -/* 009184 70008584 28410080 */ slti $at, $v0, 0x80 -/* 009188 70008588 14200003 */ bnez $at, .L70008598 -/* 00918C 7000858C 00000000 */ nop -/* 009190 70008590 10000006 */ b .L700085AC -/* 009194 70008594 2403007F */ li $v1, 127 -.L70008598: -/* 009198 70008598 04610003 */ bgez $v1, .L700085A8 -/* 00919C 7000859C 00601025 */ move $v0, $v1 -/* 0091A0 700085A0 10000001 */ b .L700085A8 -/* 0091A4 700085A4 00001025 */ move $v0, $zero -.L700085A8: -/* 0091A8 700085A8 00401825 */ move $v1, $v0 -.L700085AC: -/* 0091AC 700085AC 8EE40038 */ lw $a0, 0x38($s7) -/* 0091B0 700085B0 0C004D7C */ jal alSynSetFXMix -/* 0091B4 700085B4 306600FF */ andi $a2, $v1, 0xff -.L700085B8: -/* 0091B8 700085B8 96A20000 */ lhu $v0, ($s5) -/* 0091BC 700085BC 304A02D1 */ andi $t2, $v0, 0x2d1 -/* 0091C0 700085C0 100000C5 */ b .L700088D8 -/* 0091C4 700085C4 01401025 */ move $v0, $t2 -glabel .L700085C8 -/* 0091C8 700085C8 9238003F */ lbu $t8, 0x3f($s1) -/* 0091CC 700085CC 8EAC0008 */ lw $t4, 8($s5) -/* 0091D0 700085D0 2625000C */ addiu $a1, $s1, 0xc -/* 0091D4 700085D4 17D8002A */ bne $fp, $t8, .L70008680 -/* 0091D8 700085D8 A62C0034 */ sh $t4, 0x34($s1) -/* 0091DC 700085DC 8E480000 */ lw $t0, ($s2) -/* 0091E0 700085E0 862C0034 */ lh $t4, 0x34($s1) -/* 0091E4 700085E4 92CB0002 */ lbu $t3, 2($s6) -/* 0091E8 700085E8 910A000D */ lbu $t2, 0xd($t0) -/* 0091EC 700085EC 24013F01 */ li $at, 16129 -/* 0091F0 700085F0 316E003F */ andi $t6, $t3, 0x3f -/* 0091F4 700085F4 014C0019 */ multu $t2, $t4 -/* 0091F8 700085F8 924B000D */ lbu $t3, 0xd($s2) -/* 0091FC 700085FC 000EC840 */ sll $t9, $t6, 1 -/* 009200 70008600 3C0D8006 */ lui $t5, %hi(D_80063BA4) -/* 009204 70008604 8DAD3BA4 */ lw $t5, %lo(D_80063BA4)($t5) -/* 009208 70008608 240703E8 */ li $a3, 1000 -/* 00920C 7000860C 01B97821 */ addu $t7, $t5, $t9 -/* 009210 70008610 85E90000 */ lh $t1, ($t7) -/* 009214 70008614 0000C012 */ mflo $t8 -/* 009218 70008618 00000000 */ nop -/* 00921C 7000861C 00000000 */ nop -/* 009220 70008620 030B0019 */ multu $t8, $t3 -/* 009224 70008624 00007012 */ mflo $t6 -/* 009228 70008628 00000000 */ nop -/* 00922C 7000862C 00000000 */ nop -/* 009230 70008630 01C1001A */ div $zero, $t6, $at -/* 009234 70008634 00006812 */ mflo $t5 -/* 009238 70008638 24017FFF */ li $at, 32767 -/* 00923C 7000863C 00000000 */ nop -/* 009240 70008640 012D0019 */ multu $t1, $t5 -/* 009244 70008644 00002012 */ mflo $a0 -/* 009248 70008648 00000000 */ nop -/* 00924C 7000864C 00000000 */ nop -/* 009250 70008650 0081001A */ div $zero, $a0, $at -/* 009254 70008654 0000C812 */ mflo $t9 -/* 009258 70008658 2724FFFF */ addiu $a0, $t9, -1 -/* 00925C 7000865C 04810003 */ bgez $a0, .L7000866C -/* 009260 70008660 00801825 */ move $v1, $a0 -/* 009264 70008664 10000001 */ b .L7000866C -/* 009268 70008668 00001825 */ move $v1, $zero -.L7000866C: -/* 00926C 7000866C 00033400 */ sll $a2, $v1, 0x10 -/* 009270 70008670 00067C03 */ sra $t7, $a2, 0x10 -/* 009274 70008674 01E03025 */ move $a2, $t7 -/* 009278 70008678 0C004CE8 */ jal alSynSetVol -/* 00927C 7000867C 8EE40038 */ lw $a0, 0x38($s7) -.L70008680: -/* 009280 70008680 96A20000 */ lhu $v0, ($s5) -/* 009284 70008684 304802D1 */ andi $t0, $v0, 0x2d1 -/* 009288 70008688 10000093 */ b .L700088D8 -/* 00928C 7000868C 01001025 */ move $v0, $t0 -.L70008690: -/* 009290 70008690 922A003F */ lbu $t2, 0x3f($s1) -/* 009294 70008694 2625000C */ addiu $a1, $s1, 0xc -/* 009298 70008698 17CA0032 */ bne $fp, $t2, .L70008764 -/* 00929C 7000869C 00000000 */ nop -/* 0092A0 700086A0 8E420000 */ lw $v0, ($s2) -/* 0092A4 700086A4 862A0034 */ lh $t2, 0x34($s1) -/* 0092A8 700086A8 9258000D */ lbu $t8, 0xd($s2) -/* 0092AC 700086AC 9048000D */ lbu $t0, 0xd($v0) -/* 0092B0 700086B0 8C4C0008 */ lw $t4, 8($v0) -/* 0092B4 700086B4 92CE0002 */ lbu $t6, 2($s6) -/* 0092B8 700086B8 010A0019 */ multu $t0, $t2 -/* 0092BC 700086BC 448C8000 */ mtc1 $t4, $f16 -/* 0092C0 700086C0 31C9003F */ andi $t1, $t6, 0x3f -/* 0092C4 700086C4 24013F01 */ li $at, 16129 -/* 0092C8 700086C8 3C0B8006 */ lui $t3, %hi(D_80063BA4) -/* 0092CC 700086CC 8D6B3BA4 */ lw $t3, %lo(D_80063BA4)($t3) -/* 0092D0 700086D0 00096840 */ sll $t5, $t1, 1 -/* 0092D4 700086D4 468084A0 */ cvt.s.w $f18, $f16 -/* 0092D8 700086D8 016DC821 */ addu $t9, $t3, $t5 -/* 0092DC 700086DC 872F0000 */ lh $t7, ($t9) -/* 0092E0 700086E0 00006012 */ mflo $t4 -/* 0092E4 700086E4 C6240028 */ lwc1 $f4, 0x28($s1) -/* 0092E8 700086E8 C628002C */ lwc1 $f8, 0x2c($s1) -/* 0092EC 700086EC 01980019 */ multu $t4, $t8 -/* 0092F0 700086F0 46049183 */ div.s $f6, $f18, $f4 -/* 0092F4 700086F4 00007012 */ mflo $t6 -/* 0092F8 700086F8 00000000 */ nop -/* 0092FC 700086FC 00000000 */ nop -/* 009300 70008700 01C1001A */ div $zero, $t6, $at -/* 009304 70008704 00004812 */ mflo $t1 -/* 009308 70008708 24017FFF */ li $at, 32767 -/* 00930C 7000870C 46083283 */ div.s $f10, $f6, $f8 -/* 009310 70008710 01E90019 */ multu $t7, $t1 -/* 009314 70008714 00002012 */ mflo $a0 -/* 009318 70008718 00000000 */ nop -/* 00931C 7000871C 00000000 */ nop -/* 009320 70008720 0081001A */ div $zero, $a0, $at -/* 009324 70008724 4600540D */ trunc.w.s $f16, $f10 -/* 009328 70008728 00005812 */ mflo $t3 -/* 00932C 7000872C 2564FFFF */ addiu $a0, $t3, -1 -/* 009330 70008730 00801825 */ move $v1, $a0 -/* 009334 70008734 44108000 */ mfc1 $s0, $f16 -/* 009338 70008738 04810003 */ bgez $a0, .L70008748 -/* 00933C 7000873C 00000000 */ nop -/* 009340 70008740 10000001 */ b .L70008748 -/* 009344 70008744 00001825 */ move $v1, $zero -.L70008748: -/* 009348 70008748 00033400 */ sll $a2, $v1, 0x10 -/* 00934C 7000874C 00066C03 */ sra $t5, $a2, 0x10 -/* 009350 70008750 01A03025 */ move $a2, $t5 -/* 009354 70008754 8EE40038 */ lw $a0, 0x38($s7) -/* 009358 70008758 0C004CE8 */ jal alSynSetVol -/* 00935C 7000875C 02003825 */ move $a3, $s0 -/* 009360 70008760 96A30000 */ lhu $v1, ($s5) -.L70008764: -/* 009364 70008764 1000005C */ b .L700088D8 -/* 009368 70008768 306202D1 */ andi $v0, $v1, 0x2d1 -/* 00936C 7000876C 9239003E */ lbu $t9, 0x3e($s1) -.L70008770: -/* 009370 70008770 33280002 */ andi $t0, $t9, 2 -/* 009374 70008774 55000043 */ bnezl $t0, .L70008884 -/* 009378 70008778 96A20000 */ lhu $v0, ($s5) -/* 00937C 7000877C 8E420000 */ lw $v0, ($s2) -/* 009380 70008780 862D0034 */ lh $t5, 0x34($s1) -/* 009384 70008784 9248000D */ lbu $t0, 0xd($s2) -/* 009388 70008788 904B000D */ lbu $t3, 0xd($v0) -/* 00938C 7000878C 92CC0002 */ lbu $t4, 2($s6) -/* 009390 70008790 24013F01 */ li $at, 16129 -/* 009394 70008794 016D0019 */ multu $t3, $t5 -/* 009398 70008798 3198003F */ andi $t8, $t4, 0x3f -/* 00939C 7000879C 3C0A8006 */ lui $t2, %hi(D_80063BA4) -/* 0093A0 700087A0 8D4A3BA4 */ lw $t2, %lo(D_80063BA4)($t2) -/* 0093A4 700087A4 00187040 */ sll $t6, $t8, 1 -/* 0093A8 700087A8 26F40014 */ addiu $s4, $s7, 0x14 -/* 0093AC 700087AC 014E7821 */ addu $t7, $t2, $t6 -/* 0093B0 700087B0 85E90000 */ lh $t1, ($t7) -/* 0093B4 700087B4 0000C812 */ mflo $t9 -/* 0093B8 700087B8 00000000 */ nop -/* 0093BC 700087BC 00000000 */ nop -/* 0093C0 700087C0 03280019 */ multu $t9, $t0 -/* 0093C4 700087C4 00006012 */ mflo $t4 -/* 0093C8 700087C8 00000000 */ nop -/* 0093CC 700087CC 00000000 */ nop -/* 0093D0 700087D0 0181001A */ div $zero, $t4, $at -/* 0093D4 700087D4 0000C012 */ mflo $t8 -/* 0093D8 700087D8 24017FFF */ li $at, 32767 -/* 0093DC 700087DC 00000000 */ nop -/* 0093E0 700087E0 01380019 */ multu $t1, $t8 -/* 0093E4 700087E4 00002012 */ mflo $a0 -/* 0093E8 700087E8 00000000 */ nop -/* 0093EC 700087EC 00000000 */ nop -/* 0093F0 700087F0 0081001A */ div $zero, $a0, $at -/* 0093F4 700087F4 00005012 */ mflo $t2 -/* 0093F8 700087F8 2544FFFF */ addiu $a0, $t2, -1 -/* 0093FC 700087FC 04810003 */ bgez $a0, .L7000880C -/* 009400 70008800 00801825 */ move $v1, $a0 -/* 009404 70008804 10000001 */ b .L7000880C -/* 009408 70008808 00001825 */ move $v1, $zero -.L7000880C: -/* 00940C 7000880C 8C4E0004 */ lw $t6, 4($v0) -/* 009410 70008810 C6260028 */ lwc1 $f6, 0x28($s1) -/* 009414 70008814 C62A002C */ lwc1 $f10, 0x2c($s1) -/* 009418 70008818 448E9000 */ mtc1 $t6, $f18 -/* 00941C 7000881C 00033400 */ sll $a2, $v1, 0x10 -/* 009420 70008820 00065C03 */ sra $t3, $a2, 0x10 -/* 009424 70008824 46809120 */ cvt.s.w $f4, $f18 -/* 009428 70008828 01603025 */ move $a2, $t3 -/* 00942C 7000882C 8EE40038 */ lw $a0, 0x38($s7) -/* 009430 70008830 2625000C */ addiu $a1, $s1, 0xc -/* 009434 70008834 46062203 */ div.s $f8, $f4, $f6 -/* 009438 70008838 460A4403 */ div.s $f16, $f8, $f10 -/* 00943C 7000883C 4600848D */ trunc.w.s $f18, $f16 -/* 009440 70008840 44109000 */ mfc1 $s0, $f18 -/* 009444 70008844 0C004CE8 */ jal alSynSetVol -/* 009448 70008848 02003825 */ move $a3, $s0 -/* 00944C 7000884C 240D0002 */ li $t5, 2 -/* 009450 70008850 A7AD00AC */ sh $t5, 0xac($sp) -/* 009454 70008854 AFB100B0 */ sw $s1, 0xb0($sp) -/* 009458 70008858 02802025 */ move $a0, $s4 -/* 00945C 7000885C 27A500AC */ addiu $a1, $sp, 0xac -/* 009460 70008860 0C004BBF */ jal alEvtqPostEvent -/* 009464 70008864 02003025 */ move $a2, $s0 -/* 009468 70008868 9239003E */ lbu $t9, 0x3e($s1) -/* 00946C 7000886C 33280020 */ andi $t0, $t9, 0x20 -/* 009470 70008870 51000004 */ beql $t0, $zero, .L70008884 -/* 009474 70008874 96A20000 */ lhu $v0, ($s5) -/* 009478 70008878 0C002271 */ jal sfx_c_700089C4 -/* 00947C 7000887C 02202025 */ move $a0, $s1 -/* 009480 70008880 96A20000 */ lhu $v0, ($s5) -.L70008884: -/* 009484 70008884 304C02D1 */ andi $t4, $v0, 0x2d1 -/* 009488 70008888 10000013 */ b .L700088D8 -/* 00948C 7000888C 01801025 */ move $v0, $t4 -.L70008890: -/* 009490 70008890 0C002252 */ jal sfx_c_70008948 -/* 009494 70008894 02202025 */ move $a0, $s1 -/* 009498 70008898 96A20000 */ lhu $v0, ($s5) -/* 00949C 7000889C 304902D1 */ andi $t1, $v0, 0x2d1 -/* 0094A0 700088A0 1000000D */ b .L700088D8 -/* 0094A4 700088A4 01201025 */ move $v0, $t1 -.L700088A8: -/* 0094A8 700088A8 9238003E */ lbu $t8, 0x3e($s1) -/* 0094AC 700088AC 330A0010 */ andi $t2, $t8, 0x10 -/* 0094B0 700088B0 11400006 */ beqz $t2, .L700088CC -/* 0094B4 700088B4 00000000 */ nop -/* 0094B8 700088B8 8EA4000C */ lw $a0, 0xc($s5) -/* 0094BC 700088BC 86A5000A */ lh $a1, 0xa($s5) -/* 0094C0 700088C0 0C002382 */ jal play_sfx_a1 -/* 0094C4 700088C4 8E260030 */ lw $a2, 0x30($s1) -/* 0094C8 700088C8 96A30000 */ lhu $v1, ($s5) -.L700088CC: -/* 0094CC 700088CC 10000002 */ b .L700088D8 -/* 0094D0 700088D0 306202D1 */ andi $v0, $v1, 0x2d1 -glabel .L700088D4 -/* 0094D4 700088D4 306202D1 */ andi $v0, $v1, 0x2d1 -.L700088D8: -/* 0094D8 700088D8 8FA30074 */ lw $v1, 0x74($sp) -/* 0094DC 700088DC 10600006 */ beqz $v1, .L700088F8 -/* 0094E0 700088E0 00608825 */ move $s1, $v1 -/* 0094E4 700088E4 54400005 */ bnezl $v0, .L700088FC -/* 0094E8 700088E8 8FAB0080 */ lw $t3, 0x80($sp) -/* 0094EC 700088EC 906E003E */ lbu $t6, 0x3e($v1) -/* 0094F0 700088F0 31CF0001 */ andi $t7, $t6, 1 -/* 0094F4 700088F4 AFAF0080 */ sw $t7, 0x80($sp) -.L700088F8: -/* 0094F8 700088F8 8FAB0080 */ lw $t3, 0x80($sp) -.L700088FC: -/* 0094FC 700088FC 55600007 */ bnezl $t3, .L7000891C -/* 009500 70008900 8FBF003C */ lw $ra, 0x3c($sp) -/* 009504 70008904 50600005 */ beql $v1, $zero, .L7000891C -/* 009508 70008908 8FBF003C */ lw $ra, 0x3c($sp) -/* 00950C 7000890C 5040FD70 */ beql $v0, $zero, .L70007ED0 -/* 009510 70008910 8FAF0074 */ lw $t7, 0x74($sp) -/* 009514 70008914 AFB10078 */ sw $s1, 0x78($sp) -/* 009518 70008918 8FBF003C */ lw $ra, 0x3c($sp) -.L7000891C: -/* 00951C 7000891C 8FB00018 */ lw $s0, 0x18($sp) -/* 009520 70008920 8FB1001C */ lw $s1, 0x1c($sp) -/* 009524 70008924 8FB20020 */ lw $s2, 0x20($sp) -/* 009528 70008928 8FB30024 */ lw $s3, 0x24($sp) -/* 00952C 7000892C 8FB40028 */ lw $s4, 0x28($sp) -/* 009530 70008930 8FB5002C */ lw $s5, 0x2c($sp) -/* 009534 70008934 8FB60030 */ lw $s6, 0x30($sp) -/* 009538 70008938 8FB70034 */ lw $s7, 0x34($sp) -/* 00953C 7000893C 8FBE0038 */ lw $fp, 0x38($sp) -/* 009540 70008940 03E00008 */ jr $ra -/* 009544 70008944 27BD00D0 */ addiu $sp, $sp, 0xd0 - -.late_rodata -glabel jpt_80029160 - .word .L70007FBC - .word .L70008388 - .word .L700088D4 - .word .L7000847C - .word .L700088D4 - .word .L700088D4 - .word .L700088D4 - .word .L700085C8 - .word .L700088D4 - .word .L700088D4 - .word .L700088D4 - .word .L700088D4 - .word .L700088D4 - .word .L700088D4 - .word .L700088D4 - .word .L700084F0 - -) -#endif - - - - - - -/** - * 9548 70008948 - */ - -#ifdef NONMATCHING -void sfx_c_70008948(void *arg0) -{ - if ((arg0->unk3E & 4) != 0) - { - alSynStopVoice(D_800243F0->unk38, (arg0 + 0xc)); - alSynFreeVoice(D_800243F0->unk38, sp1C); - } - sfx_c_70008D04(arg0); - sfx_c_70008A30((D_800243F0 + 0x14), arg0, 0xffff); -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70008948 -/* 009548 70008948 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00954C 7000894C AFBF0014 */ sw $ra, 0x14($sp) -/* 009550 70008950 AFA40020 */ sw $a0, 0x20($sp) -/* 009554 70008954 908F003E */ lbu $t7, 0x3e($a0) -/* 009558 70008958 00807025 */ move $t6, $a0 -/* 00955C 7000895C 3C198002 */ lui $t9, %hi(D_800243F0) -/* 009560 70008960 31F80004 */ andi $t8, $t7, 4 -/* 009564 70008964 1300000B */ beqz $t8, .L70008994 -/* 009568 70008968 00000000 */ nop -/* 00956C 7000896C 8F3943F0 */ lw $t9, %lo(D_800243F0)($t9) -/* 009570 70008970 25C5000C */ addiu $a1, $t6, 0xc -/* 009574 70008974 8F240038 */ lw $a0, 0x38($t9) -/* 009578 70008978 0C004DA4 */ jal alSynStopVoice -/* 00957C 7000897C AFA5001C */ sw $a1, 0x1c($sp) -/* 009580 70008980 3C088002 */ lui $t0, %hi(D_800243F0) -/* 009584 70008984 8D0843F0 */ lw $t0, %lo(D_800243F0)($t0) -/* 009588 70008988 8FA5001C */ lw $a1, 0x1c($sp) -/* 00958C 7000898C 0C004DC4 */ jal alSynFreeVoice -/* 009590 70008990 8D040038 */ lw $a0, 0x38($t0) -.L70008994: -/* 009594 70008994 0C002341 */ jal sfx_c_70008D04 -/* 009598 70008998 8FA40020 */ lw $a0, 0x20($sp) -/* 00959C 7000899C 3C048002 */ lui $a0, %hi(D_800243F0) -/* 0095A0 700089A0 8C8443F0 */ lw $a0, %lo(D_800243F0)($a0) -/* 0095A4 700089A4 8FA50020 */ lw $a1, 0x20($sp) -/* 0095A8 700089A8 3406FFFF */ li $a2, 65535 -/* 0095AC 700089AC 0C00228C */ jal sfx_c_70008A30 -/* 0095B0 700089B0 24840014 */ addiu $a0, $a0, 0x14 -/* 0095B4 700089B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0095B8 700089B8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0095BC 700089BC 03E00008 */ jr $ra -/* 0095C0 700089C0 00000000 */ nop -) -#endif - - - - - - - - - - -/** - * 95C4 700089C4 - */ - -#ifdef NONMATCHING -void sfx_c_700089C4(void *arg0) -{ - f32 sp28; - s16 sp20; - f32 sp1C; - - sp20 = (u16)0x10; - sp1C = (f32) (alCents2Ratio(arg0->unk8->unk4->unk5, arg0) * arg0->unk2C); - sp28 = sp1C; - alEvtqPostEvent((D_800243F0 + 0x14), &sp20, 0x8235, arg0); -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_700089C4 -/* 0095C4 700089C4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0095C8 700089C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0095CC 700089CC 8C8E0008 */ lw $t6, 8($a0) -/* 0095D0 700089D0 00803825 */ move $a3, $a0 -/* 0095D4 700089D4 8DCF0004 */ lw $t7, 4($t6) -/* 0095D8 700089D8 81E40005 */ lb $a0, 5($t7) -/* 0095DC 700089DC 0C004DF0 */ jal alCents2Ratio -/* 0095E0 700089E0 AFA70030 */ sw $a3, 0x30($sp) -/* 0095E4 700089E4 8FA70030 */ lw $a3, 0x30($sp) -/* 0095E8 700089E8 3C048002 */ lui $a0, %hi(D_800243F0) -/* 0095EC 700089EC 8C8443F0 */ lw $a0, %lo(D_800243F0)($a0) -/* 0095F0 700089F0 C4E4002C */ lwc1 $f4, 0x2c($a3) -/* 0095F4 700089F4 24180010 */ li $t8, 16 -/* 0095F8 700089F8 A7B80020 */ sh $t8, 0x20($sp) -/* 0095FC 700089FC 46040182 */ mul.s $f6, $f0, $f4 -/* 009600 70008A00 27A50020 */ addiu $a1, $sp, 0x20 -/* 009604 70008A04 34068235 */ li $a2, 33333 -/* 009608 70008A08 AFA70024 */ sw $a3, 0x24($sp) -/* 00960C 70008A0C 24840014 */ addiu $a0, $a0, 0x14 -/* 009610 70008A10 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 009614 70008A14 8FB9001C */ lw $t9, 0x1c($sp) -/* 009618 70008A18 0C004BBF */ jal alEvtqPostEvent -/* 00961C 70008A1C AFB90028 */ sw $t9, 0x28($sp) -/* 009620 70008A20 8FBF0014 */ lw $ra, 0x14($sp) -/* 009624 70008A24 27BD0030 */ addiu $sp, $sp, 0x30 -/* 009628 70008A28 03E00008 */ jr $ra -/* 00962C 70008A2C 00000000 */ nop -) -#endif - - - - - - - - - - -/** - * 9630 70008A30 - */ - -#ifdef NONMATCHING -void sfx_c_70008A30(void *arg0, s32 arg1, s32 arg2) -{ - s32 sp30; - void *temp_s1; - void *phi_s0; - - sp30 = osSetIntMask(1); - phi_s0 = arg0->unk8; - if (arg0->unk8 != 0) - { -block_1: - temp_s1 = *phi_s0; - if (arg1 == phi_s0->unk10) - { - if ((phi_s0->unkC & (arg2 & 0xffff)) != 0) - { - if (temp_s1 != 0) - { - temp_s1->unk8 = (s32) (temp_s1->unk8 + phi_s0->unk8); - } - alUnlink(phi_s0); - alLink(phi_s0, arg0); - } - } - phi_s0 = temp_s1; - if (temp_s1 != 0) - { - goto block_1; - } - } - osSetIntMask(sp30); -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70008A30 -/* 009630 70008A30 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 009634 70008A34 AFB20020 */ sw $s2, 0x20($sp) -/* 009638 70008A38 00809025 */ move $s2, $a0 -/* 00963C 70008A3C AFBF002C */ sw $ra, 0x2c($sp) -/* 009640 70008A40 AFB40028 */ sw $s4, 0x28($sp) -/* 009644 70008A44 AFB30024 */ sw $s3, 0x24($sp) -/* 009648 70008A48 00A09825 */ move $s3, $a1 -/* 00964C 70008A4C 30D4FFFF */ andi $s4, $a2, 0xffff -/* 009650 70008A50 AFB1001C */ sw $s1, 0x1c($sp) -/* 009654 70008A54 AFB00018 */ sw $s0, 0x18($sp) -/* 009658 70008A58 AFA60050 */ sw $a2, 0x50($sp) -/* 00965C 70008A5C 0C00374C */ jal osSetIntMask -/* 009660 70008A60 24040001 */ li $a0, 1 -/* 009664 70008A64 AFA20030 */ sw $v0, 0x30($sp) -/* 009668 70008A68 8E500008 */ lw $s0, 8($s2) -/* 00966C 70008A6C 12000016 */ beqz $s0, .L70008AC8 -/* 009670 70008A70 00000000 */ nop -.L70008A74: -/* 009674 70008A74 8E0E0010 */ lw $t6, 0x10($s0) -/* 009678 70008A78 8E110000 */ lw $s1, ($s0) -/* 00967C 70008A7C 166E0010 */ bne $s3, $t6, .L70008AC0 -/* 009680 70008A80 00000000 */ nop -/* 009684 70008A84 960F000C */ lhu $t7, 0xc($s0) -/* 009688 70008A88 01F4C024 */ and $t8, $t7, $s4 -/* 00968C 70008A8C 1300000C */ beqz $t8, .L70008AC0 -/* 009690 70008A90 00000000 */ nop -/* 009694 70008A94 12200005 */ beqz $s1, .L70008AAC -/* 009698 70008A98 00000000 */ nop -/* 00969C 70008A9C 8E390008 */ lw $t9, 8($s1) -/* 0096A0 70008AA0 8E080008 */ lw $t0, 8($s0) -/* 0096A4 70008AA4 03284821 */ addu $t1, $t9, $t0 -/* 0096A8 70008AA8 AE290008 */ sw $t1, 8($s1) -.L70008AAC: -/* 0096AC 70008AAC 0C003AA4 */ jal alUnlink -/* 0096B0 70008AB0 02002025 */ move $a0, $s0 -/* 0096B4 70008AB4 02002025 */ move $a0, $s0 -/* 0096B8 70008AB8 0C003AB0 */ jal alLink -/* 0096BC 70008ABC 02402825 */ move $a1, $s2 -.L70008AC0: -/* 0096C0 70008AC0 1620FFEC */ bnez $s1, .L70008A74 -/* 0096C4 70008AC4 02208025 */ move $s0, $s1 -.L70008AC8: -/* 0096C8 70008AC8 0C00374C */ jal osSetIntMask -/* 0096CC 70008ACC 8FA40030 */ lw $a0, 0x30($sp) -/* 0096D0 70008AD0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0096D4 70008AD4 8FB00018 */ lw $s0, 0x18($sp) -/* 0096D8 70008AD8 8FB1001C */ lw $s1, 0x1c($sp) -/* 0096DC 70008ADC 8FB20020 */ lw $s2, 0x20($sp) -/* 0096E0 70008AE0 8FB30024 */ lw $s3, 0x24($sp) -/* 0096E4 70008AE4 8FB40028 */ lw $s4, 0x28($sp) -/* 0096E8 70008AE8 03E00008 */ jr $ra -/* 0096EC 70008AEC 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - - -/** - * 96F0 70008AF0 - */ - -#ifdef NONMATCHING -s32 sfx_c_70008AF0(void *arg0, void *arg1) -{ - void *temp_v0; - s16 temp_t6; - void *temp_v1; - s16 temp_t7; - void *temp_a2; - s32 temp_t8; - void *phi_v0; - void *phi_v1; - void *phi_a2; - s16 phi_a0; - s16 phi_a3; - s32 phi_v1_2; - s16 phi_a0_2; - s16 phi_a3_2; - s32 phi_v1_3; - - phi_v0 = D_800243E4; - phi_a3 = (u16)0; - phi_a3_2 = (u16)0; - if (D_800243E4 != 0) - { -block_1: - temp_v0 = *phi_v0; - temp_t6 = ((phi_a3_2 + 1) & 0xffff); - phi_v0 = temp_v0; - phi_a3 = temp_t6; - phi_a3_2 = temp_t6; - if (temp_v0 != 0) - { - goto block_1; - } - } - phi_v1 = D_800243E4.unk8; - phi_a0 = (u16)0; - phi_a0_2 = (u16)0; - if (D_800243E4.unk8 != 0) - { -block_3: - temp_v1 = *phi_v1; - temp_t7 = ((phi_a0_2 + 1) & 0xffff); - phi_v1 = temp_v1; - phi_a0 = temp_t7; - phi_a0_2 = temp_t7; - if (temp_v1 != 0) - { - goto block_3; - } - } - phi_a2 = D_800243E4.unk4; - phi_v1_2 = 0; - phi_v1_3 = 0; - if (D_800243E4.unk4 != 0) - { -block_5: - temp_a2 = phi_a2->unk4; - temp_t8 = ((phi_v1_3 + 1) & 0xffff); - phi_a2 = temp_a2; - phi_v1_2 = temp_t8; - phi_v1_3 = temp_t8; - if (temp_a2 != 0) - { - goto block_5; - } - } - *arg0 = (s16) phi_a0; - *arg1 = (s16) phi_a3; - return phi_v1_2; -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70008AF0 -/* 0096F0 70008AF0 3C088002 */ lui $t0, %hi(D_800243E4) -/* 0096F4 70008AF4 250843E4 */ addiu $t0, %lo(D_800243E4) # addiu $t0, $t0, 0x43e4 -/* 0096F8 70008AF8 8D020000 */ lw $v0, ($t0) -/* 0096FC 70008AFC AFA40000 */ sw $a0, ($sp) -/* 009700 70008B00 8D030008 */ lw $v1, 8($t0) -/* 009704 70008B04 8D060004 */ lw $a2, 4($t0) -/* 009708 70008B08 10400006 */ beqz $v0, .L70008B24 -/* 00970C 70008B0C 00003825 */ move $a3, $zero -.L70008B10: -/* 009710 70008B10 8C420000 */ lw $v0, ($v0) -/* 009714 70008B14 24E70001 */ addiu $a3, $a3, 1 -/* 009718 70008B18 30EEFFFF */ andi $t6, $a3, 0xffff -/* 00971C 70008B1C 1440FFFC */ bnez $v0, .L70008B10 -/* 009720 70008B20 01C03825 */ move $a3, $t6 -.L70008B24: -/* 009724 70008B24 10600006 */ beqz $v1, .L70008B40 -/* 009728 70008B28 00002025 */ move $a0, $zero -.L70008B2C: -/* 00972C 70008B2C 8C630000 */ lw $v1, ($v1) -/* 009730 70008B30 24840001 */ addiu $a0, $a0, 1 -/* 009734 70008B34 308FFFFF */ andi $t7, $a0, 0xffff -/* 009738 70008B38 1460FFFC */ bnez $v1, .L70008B2C -/* 00973C 70008B3C 01E02025 */ move $a0, $t7 -.L70008B40: -/* 009740 70008B40 10C00006 */ beqz $a2, .L70008B5C -/* 009744 70008B44 00001825 */ move $v1, $zero -.L70008B48: -/* 009748 70008B48 8CC60004 */ lw $a2, 4($a2) -/* 00974C 70008B4C 24630001 */ addiu $v1, $v1, 1 -/* 009750 70008B50 3078FFFF */ andi $t8, $v1, 0xffff -/* 009754 70008B54 14C0FFFC */ bnez $a2, .L70008B48 -/* 009758 70008B58 03001825 */ move $v1, $t8 -.L70008B5C: -/* 00975C 70008B5C 8FB90000 */ lw $t9, ($sp) -/* 009760 70008B60 00601025 */ move $v0, $v1 -/* 009764 70008B64 A7240000 */ sh $a0, ($t9) -/* 009768 70008B68 03E00008 */ jr $ra -/* 00976C 70008B6C A4A70000 */ sh $a3, ($a1) -) -#endif - - - - - - -/** - * 9770 70008B70 - * accepts: A0=sound data offset?, A1=sample address? - */ - -#ifdef NONMATCHING -void *sfx_c_70008B70(s32 arg0, void *arg1) -{ - s32 sp28; - s8 temp_a1; - s8 temp_t5; - - if (D_800243E4.unk8 != 0) - { - sp28 = osSetIntMask(1, arg1->unk4); - D_800243E4.unk8 = (void *) *D_800243E4.unk8; - alUnlink(D_800243E4.unk8); - if (D_800243E4 != 0) - { - *D_800243E4.unk8 = (void *) D_800243E4; - D_800243E4.unk8->unk4 = 0; - D_800243E4->unk4 = (void *) D_800243E4.unk8; - D_800243E4 = (void *) D_800243E4.unk8; - } - else - { - D_800243E4.unk8->unk4 = 0; - *D_800243E4.unk8 = NULL; - D_800243E4 = (void *) D_800243E4.unk8; - D_800243E4.unk4 = (void *) D_800243E4.unk8; - } - osSetIntMask(sp28, sp30); - D_800243E4.unk8->unk3F = (u8)5; - temp_a1 = (((u32) ((*arg1)->unk4 + 1) < 1U) + 0x40); - D_800243E4.unk8->unk36 = temp_a1; - D_800243E4.unk8->unk38 = 2; - D_800243E4.unk8->unk8 = arg1; - D_800243E4.unk8->unk2C = 1.0f; - D_800243E4.unk8->unk30 = 0; - temp_t5 = (sp30->unk3 & 0xf0); - D_800243E4.unk8->unk3E = temp_t5; - if ((temp_t5 & 0x20) != 0) - { - D_800243E4.unk8->unk28 = alCents2Ratio(((sp30->unk4 * 0x64) + -0x1770), temp_a1, sp30); - } - else - { - D_800243E4.unk8->unk28 = alCents2Ratio((((sp30->unk4 * 0x64) + sp30->unk5) + -0x1770), temp_a1, sp30); - } - if (sp24 != 0x40) - { - D_800243E4.unk8->unk3E = (s8) (D_800243E4.unk8->unk3E | 2); - } - D_800243E4.unk8->unk3D = (u8)0; - D_800243E4.unk8->unk3C = (u8)0x40; - D_800243E4.unk8->unk34 = (u16)0x7fff; - } - return D_800243E4.unk8; -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70008B70 -/* 009770 70008B70 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 009774 70008B74 3C038002 */ lui $v1, %hi(D_800243E4) -/* 009778 70008B78 246343E4 */ addiu $v1, %lo(D_800243E4) # addiu $v1, $v1, 0x43e4 -/* 00977C 70008B7C AFB00018 */ sw $s0, 0x18($sp) -/* 009780 70008B80 8C700008 */ lw $s0, 8($v1) -/* 009784 70008B84 AFBF001C */ sw $ra, 0x1c($sp) -/* 009788 70008B88 AFA40038 */ sw $a0, 0x38($sp) -/* 00978C 70008B8C AFA5003C */ sw $a1, 0x3c($sp) -/* 009790 70008B90 12000057 */ beqz $s0, .L70008CF0 -/* 009794 70008B94 8CA60004 */ lw $a2, 4($a1) -/* 009798 70008B98 24040001 */ li $a0, 1 -/* 00979C 70008B9C 0C00374C */ jal osSetIntMask -/* 0097A0 70008BA0 AFA60030 */ sw $a2, 0x30($sp) -/* 0097A4 70008BA4 AFA20028 */ sw $v0, 0x28($sp) -/* 0097A8 70008BA8 8E0F0000 */ lw $t7, ($s0) -/* 0097AC 70008BAC 3C038002 */ lui $v1, %hi(D_800243E4) -/* 0097B0 70008BB0 246343E4 */ addiu $v1, %lo(D_800243E4) # addiu $v1, $v1, 0x43e4 -/* 0097B4 70008BB4 02002025 */ move $a0, $s0 -/* 0097B8 70008BB8 0C003AA4 */ jal alUnlink -/* 0097BC 70008BBC AC6F0008 */ sw $t7, 8($v1) -/* 0097C0 70008BC0 3C038002 */ lui $v1, %hi(D_800243E4) -/* 0097C4 70008BC4 246343E4 */ addiu $v1, %lo(D_800243E4) # addiu $v1, $v1, 0x43e4 -/* 0097C8 70008BC8 8C620000 */ lw $v0, ($v1) -/* 0097CC 70008BCC 8FA60030 */ lw $a2, 0x30($sp) -/* 0097D0 70008BD0 50400008 */ beql $v0, $zero, .L70008BF4 -/* 0097D4 70008BD4 AE000004 */ sw $zero, 4($s0) -/* 0097D8 70008BD8 AE020000 */ sw $v0, ($s0) -/* 0097DC 70008BDC AE000004 */ sw $zero, 4($s0) -/* 0097E0 70008BE0 8C780000 */ lw $t8, ($v1) -/* 0097E4 70008BE4 AF100004 */ sw $s0, 4($t8) -/* 0097E8 70008BE8 10000005 */ b .L70008C00 -/* 0097EC 70008BEC AC700000 */ sw $s0, ($v1) -/* 0097F0 70008BF0 AE000004 */ sw $zero, 4($s0) -.L70008BF4: -/* 0097F4 70008BF4 AE000000 */ sw $zero, ($s0) -/* 0097F8 70008BF8 AC700000 */ sw $s0, ($v1) -/* 0097FC 70008BFC AC700004 */ sw $s0, 4($v1) -.L70008C00: -/* 009800 70008C00 8FA40028 */ lw $a0, 0x28($sp) -/* 009804 70008C04 0C00374C */ jal osSetIntMask -/* 009808 70008C08 AFA60030 */ sw $a2, 0x30($sp) -/* 00980C 70008C0C 8FA4003C */ lw $a0, 0x3c($sp) -/* 009810 70008C10 8FA60030 */ lw $a2, 0x30($sp) -/* 009814 70008C14 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 009818 70008C18 8C990000 */ lw $t9, ($a0) -/* 00981C 70008C1C 44812000 */ mtc1 $at, $f4 -/* 009820 70008C20 24090005 */ li $t1, 5 -/* 009824 70008C24 8F230004 */ lw $v1, 4($t9) -/* 009828 70008C28 240A0002 */ li $t2, 2 -/* 00982C 70008C2C A209003F */ sb $t1, 0x3f($s0) -/* 009830 70008C30 24680001 */ addiu $t0, $v1, 1 -/* 009834 70008C34 2D080001 */ sltiu $t0, $t0, 1 -/* 009838 70008C38 25050040 */ addiu $a1, $t0, 0x40 -/* 00983C 70008C3C A2050036 */ sb $a1, 0x36($s0) -/* 009840 70008C40 AE0A0038 */ sw $t2, 0x38($s0) -/* 009844 70008C44 AE040008 */ sw $a0, 8($s0) -/* 009848 70008C48 E604002C */ swc1 $f4, 0x2c($s0) -/* 00984C 70008C4C 90CB0003 */ lbu $t3, 3($a2) -/* 009850 70008C50 AE000030 */ sw $zero, 0x30($s0) -/* 009854 70008C54 316D00F0 */ andi $t5, $t3, 0xf0 -/* 009858 70008C58 31AE0020 */ andi $t6, $t5, 0x20 -/* 00985C 70008C5C 11C0000D */ beqz $t6, .L70008C94 -/* 009860 70008C60 A20D003E */ sb $t5, 0x3e($s0) -/* 009864 70008C64 90C40004 */ lbu $a0, 4($a2) -/* 009868 70008C68 AFA50024 */ sw $a1, 0x24($sp) -/* 00986C 70008C6C 00047880 */ sll $t7, $a0, 2 -/* 009870 70008C70 01E47823 */ subu $t7, $t7, $a0 -/* 009874 70008C74 000F78C0 */ sll $t7, $t7, 3 -/* 009878 70008C78 01E47821 */ addu $t7, $t7, $a0 -/* 00987C 70008C7C 000F7880 */ sll $t7, $t7, 2 -/* 009880 70008C80 0C004DF0 */ jal alCents2Ratio -/* 009884 70008C84 25E4E890 */ addiu $a0, $t7, -0x1770 -/* 009888 70008C88 8FA50024 */ lw $a1, 0x24($sp) -/* 00988C 70008C8C 1000000E */ b .L70008CC8 -/* 009890 70008C90 E6000028 */ swc1 $f0, 0x28($s0) -.L70008C94: -/* 009894 70008C94 90D80004 */ lbu $t8, 4($a2) -/* 009898 70008C98 80C80005 */ lb $t0, 5($a2) -/* 00989C 70008C9C AFA50024 */ sw $a1, 0x24($sp) -/* 0098A0 70008CA0 0018C880 */ sll $t9, $t8, 2 -/* 0098A4 70008CA4 0338C823 */ subu $t9, $t9, $t8 -/* 0098A8 70008CA8 0019C8C0 */ sll $t9, $t9, 3 -/* 0098AC 70008CAC 0338C821 */ addu $t9, $t9, $t8 -/* 0098B0 70008CB0 0019C880 */ sll $t9, $t9, 2 -/* 0098B4 70008CB4 03282021 */ addu $a0, $t9, $t0 -/* 0098B8 70008CB8 0C004DF0 */ jal alCents2Ratio -/* 0098BC 70008CBC 2484E890 */ addiu $a0, $a0, -0x1770 -/* 0098C0 70008CC0 8FA50024 */ lw $a1, 0x24($sp) -/* 0098C4 70008CC4 E6000028 */ swc1 $f0, 0x28($s0) -.L70008CC8: -/* 0098C8 70008CC8 24010040 */ li $at, 64 -/* 0098CC 70008CCC 10A10004 */ beq $a1, $at, .L70008CE0 -/* 0098D0 70008CD0 240B0040 */ li $t3, 64 -/* 0098D4 70008CD4 9209003E */ lbu $t1, 0x3e($s0) -/* 0098D8 70008CD8 352A0002 */ ori $t2, $t1, 2 -/* 0098DC 70008CDC A20A003E */ sb $t2, 0x3e($s0) -.L70008CE0: -/* 0098E0 70008CE0 240C7FFF */ li $t4, 32767 -/* 0098E4 70008CE4 A200003D */ sb $zero, 0x3d($s0) -/* 0098E8 70008CE8 A20B003C */ sb $t3, 0x3c($s0) -/* 0098EC 70008CEC A60C0034 */ sh $t4, 0x34($s0) -.L70008CF0: -/* 0098F0 70008CF0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0098F4 70008CF4 02001025 */ move $v0, $s0 -/* 0098F8 70008CF8 8FB00018 */ lw $s0, 0x18($sp) -/* 0098FC 70008CFC 03E00008 */ jr $ra -/* 009900 70008D00 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - - - - - - -/** - * 9904 70008D04 - */ - -#ifdef NONMATCHING -void *sfx_c_70008D04(void *arg0) -{ - if (arg0 == D_800243E4) - { - D_800243E4 = (void *) *arg0; - } - if (arg0 == D_800243E4.unk4) - { - D_800243E4.unk4 = (s32) arg0->unk4; - } - alUnlink(); - if (D_800243E4.unk8 != 0) - { - *arg0 = (void *) D_800243E4.unk8; - arg0->unk4 = 0; - D_800243E4.unk8->unk4 = arg0; - D_800243E4.unk8 = arg0; - } - else - { - arg0->unk4 = 0; - *arg0 = NULL; - D_800243E4.unk8 = arg0; - } - if ((arg0->unk3E & 4) != 0) - { - D_800243F4 = (s16) (D_800243F4 + -1); - } - arg0->unk3F = (u8)0; - if (arg0->unk30 != 0) - { - if (arg0 == *arg0->unk30) - { - *arg0->unk30 = 0; - } - arg0->unk30 = NULL; - } - return arg0->unk30; -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70008D04 -/* 009904 70008D04 3C028002 */ lui $v0, %hi(D_800243E4) -/* 009908 70008D08 244243E4 */ addiu $v0, %lo(D_800243E4) # addiu $v0, $v0, 0x43e4 -/* 00990C 70008D0C 8C4E0000 */ lw $t6, ($v0) -/* 009910 70008D10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 009914 70008D14 AFBF0014 */ sw $ra, 0x14($sp) -/* 009918 70008D18 548E0004 */ bnel $a0, $t6, .L70008D2C -/* 00991C 70008D1C 8C580004 */ lw $t8, 4($v0) -/* 009920 70008D20 8C8F0000 */ lw $t7, ($a0) -/* 009924 70008D24 AC4F0000 */ sw $t7, ($v0) -/* 009928 70008D28 8C580004 */ lw $t8, 4($v0) -.L70008D2C: -/* 00992C 70008D2C 14980003 */ bne $a0, $t8, .L70008D3C -/* 009930 70008D30 00000000 */ nop -/* 009934 70008D34 8C990004 */ lw $t9, 4($a0) -/* 009938 70008D38 AC590004 */ sw $t9, 4($v0) -.L70008D3C: -/* 00993C 70008D3C 0C003AA4 */ jal alUnlink -/* 009940 70008D40 AFA40018 */ sw $a0, 0x18($sp) -/* 009944 70008D44 3C028002 */ lui $v0, %hi(D_800243E4) -/* 009948 70008D48 244243E4 */ addiu $v0, %lo(D_800243E4) # addiu $v0, $v0, 0x43e4 -/* 00994C 70008D4C 8C430008 */ lw $v1, 8($v0) -/* 009950 70008D50 8FA40018 */ lw $a0, 0x18($sp) -/* 009954 70008D54 50600008 */ beql $v1, $zero, .L70008D78 -/* 009958 70008D58 AC800004 */ sw $zero, 4($a0) -/* 00995C 70008D5C AC830000 */ sw $v1, ($a0) -/* 009960 70008D60 AC800004 */ sw $zero, 4($a0) -/* 009964 70008D64 8C480008 */ lw $t0, 8($v0) -/* 009968 70008D68 AD040004 */ sw $a0, 4($t0) -/* 00996C 70008D6C 10000004 */ b .L70008D80 -/* 009970 70008D70 AC440008 */ sw $a0, 8($v0) -/* 009974 70008D74 AC800004 */ sw $zero, 4($a0) -.L70008D78: -/* 009978 70008D78 AC800000 */ sw $zero, ($a0) -/* 00997C 70008D7C AC440008 */ sw $a0, 8($v0) -.L70008D80: -/* 009980 70008D80 9089003E */ lbu $t1, 0x3e($a0) -/* 009984 70008D84 3C028002 */ lui $v0, %hi(D_800243F4) -/* 009988 70008D88 244243F4 */ addiu $v0, %lo(D_800243F4) # addiu $v0, $v0, 0x43f4 -/* 00998C 70008D8C 312A0004 */ andi $t2, $t1, 4 -/* 009990 70008D90 51400005 */ beql $t2, $zero, .L70008DA8 -/* 009994 70008D94 8C820030 */ lw $v0, 0x30($a0) -/* 009998 70008D98 844B0000 */ lh $t3, ($v0) -/* 00999C 70008D9C 256CFFFF */ addiu $t4, $t3, -1 -/* 0099A0 70008DA0 A44C0000 */ sh $t4, ($v0) -/* 0099A4 70008DA4 8C820030 */ lw $v0, 0x30($a0) -.L70008DA8: -/* 0099A8 70008DA8 A080003F */ sb $zero, 0x3f($a0) -/* 0099AC 70008DAC 50400007 */ beql $v0, $zero, .L70008DCC -/* 0099B0 70008DB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0099B4 70008DB4 8C4D0000 */ lw $t5, ($v0) -/* 0099B8 70008DB8 548D0003 */ bnel $a0, $t5, .L70008DC8 -/* 0099BC 70008DBC AC800030 */ sw $zero, 0x30($a0) -/* 0099C0 70008DC0 AC400000 */ sw $zero, ($v0) -/* 0099C4 70008DC4 AC800030 */ sw $zero, 0x30($a0) -.L70008DC8: -/* 0099C8 70008DC8 8FBF0014 */ lw $ra, 0x14($sp) -.L70008DCC: -/* 0099CC 70008DCC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0099D0 70008DD0 03E00008 */ jr $ra -/* 0099D4 70008DD4 00000000 */ nop -) -#endif - - - - - - - - - -/** - * 99D8 70008DD8 - * A1->A0+0x36. value is set in sound effect buffer? - * accepts: A0=p->SE buffer?, A1=value truncated to byte - */ - -#ifdef NONMATCHING -void sfx_c_70008DD8(void *arg0, s32 arg1) -{ - if (arg0 != 0) - { - arg0->unk36 = (s8) (arg1 & 0xff); - } -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70008DD8 -/* 0099D8 70008DD8 AFA50004 */ sw $a1, 4($sp) -/* 0099DC 70008DDC 10800002 */ beqz $a0, .L70008DE8 -/* 0099E0 70008DE0 30AE00FF */ andi $t6, $a1, 0xff -/* 0099E4 70008DE4 A08E0036 */ sb $t6, 0x36($a0) -.L70008DE8: -/* 0099E8 70008DE8 03E00008 */ jr $ra -/* 0099EC 70008DEC 00000000 */ nop -) -#endif - - - - - - - - - -/** - * 99F0 70008DF0 - * V0= TRUE if SE playing flag set [A0+0x3F] - * value is set only when sound defaults have been set - * accepts: A0=p->SE buffer - */ - -#ifdef NONMATCHING -void sfxGetArg0Unk3F(void *arg0) -{ - if (arg0 != 0) - { - return arg0->unk3F; - } - return 0; -} -#else -GLOBAL_ASM( -.text -glabel sfxGetArg0Unk3F -/* 0099F0 70008DF0 10800003 */ beqz $a0, .L70008E00 -/* 0099F4 70008DF4 00001025 */ move $v0, $zero -/* 0099F8 70008DF8 03E00008 */ jr $ra -/* 0099FC 70008DFC 9082003F */ lbu $v0, 0x3f($a0) - -.L70008E00: -/* 009A00 70008E00 03E00008 */ jr $ra -/* 009A04 70008E04 00000000 */ nop -) -#endif - - - - - - - - -/** - * 9A08 70008E08 - * sets sound effect; used by sound effect routines - * accepts: A0=p->SE buffer, A1=SE #, A2=p->data - * data: 0x0 4 p->SE entry - * 0x4 4 target volume - * 0x8 4 audible range (timer) - * 0xC 4 initial volume - * 0x10 4 p->preset emitting sound - * 0x14 4 p->object emitting sound - */ - -#ifdef NONMATCHING -void *play_sfx_a1(s32 arg0, s32 arg1, void *arg2) -{ - s16 sp6E; - s32 sp68; - s32 sp54; - s16 sp50; - ?32 sp48; - s16 sp40; - s32 temp_t6; - void *temp_t0; - ? temp_ret; - s32 temp_s0; - s32 temp_t4; - s32 temp_s1; - s8 temp_t7; - s32 phi_s1; - s32 phi_s4; - void *phi_s7; - s32 phi_s3; - - temp_t6 = ((s32) (arg1 << 0x10) >> 0x10); - sp6E = (u16)0; - if (bootswitch_sound != 0) - { - return 0; - } - if (temp_t6 == 0) - { - return 0; - } - phi_s1 = temp_t6; - phi_s4 = 0; - phi_s7 = NULL; - phi_s3 = sp64; -block_5: - temp_t0 = (subroutine_arg3 + (phi_s1 * 4)); - temp_ret = sfx_c_70008B70(arg0, temp_t0->unkC); - temp_s0 = temp_ret; - if (temp_ret != 0) - { - D_800243F0->unk3C = temp_ret; - sp50 = (u16)1; - sp54 = temp_ret; - temp_t4 = (temp_t0->unkC->unk4->unk1 * 0x8235); - if ((temp_ret->unk3E & 0x10) != 0) - { - temp_ret->unk3E = (s8) (temp_ret->unk3E & 0xffef); - alEvtqPostEvent((D_800243F0 + 0x14), &sp50, (phi_s4 + 1)); - sp68 = (s32) (temp_t4 + 1); - } - else - { - alEvtqPostEvent((D_800243F0 + 0x14), &sp50, (temp_t4 + 1)); - } - phi_s7 = temp_s0; - phi_s3 = temp_t4; - } - temp_s1 = ((s32) ((*temp_t0->unkC->unk4 + ((temp_t0->unkC->unk4->unk2 & 0xc0) * 4)) << 0x10) >> 0x10); - if (temp_s1 != 0) - { - phi_s1 = temp_s1; - phi_s4 = (phi_s4 + phi_s3); - phi_s7 = phi_s7; - phi_s3 = phi_s3; - if (temp_s0 != 0) - { - goto block_5; - } - } - if (phi_s7 != 0) - { - temp_t7 = (phi_s7->unk3E | 1); - phi_s7->unk3E = temp_t7; - phi_s7->unk30 = arg2; - if (sp6E != 0) - { - phi_s7->unk3E = (s8) (temp_t7 | 0x10); - sp40 = (u16)0x200; - sp48 = sp6E; - alEvtqPostEvent((D_800243F0 + 0x14), &sp40, sp68); - } - } - if (arg2 != 0) - { - *arg2 = (void *) phi_s7; - } - return phi_s7; -} -#else -GLOBAL_ASM( -.text -glabel play_sfx_a1 -/* 009A08 70008E08 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 009A0C 70008E0C 3C0F8002 */ lui $t7, %hi(bootswitch_sound) -/* 009A10 70008E10 81EF43F8 */ lb $t7, %lo(bootswitch_sound)($t7) -/* 009A14 70008E14 AFB1001C */ sw $s1, 0x1c($sp) -/* 009A18 70008E18 00058C00 */ sll $s1, $a1, 0x10 -/* 009A1C 70008E1C 00117403 */ sra $t6, $s1, 0x10 -/* 009A20 70008E20 AFBE0038 */ sw $fp, 0x38($sp) -/* 009A24 70008E24 AFB70034 */ sw $s7, 0x34($sp) -/* 009A28 70008E28 AFB40028 */ sw $s4, 0x28($sp) -/* 009A2C 70008E2C 0080F025 */ move $fp, $a0 -/* 009A30 70008E30 01C08825 */ move $s1, $t6 -/* 009A34 70008E34 AFBF003C */ sw $ra, 0x3c($sp) -/* 009A38 70008E38 AFB60030 */ sw $s6, 0x30($sp) -/* 009A3C 70008E3C AFB5002C */ sw $s5, 0x2c($sp) -/* 009A40 70008E40 AFB30024 */ sw $s3, 0x24($sp) -/* 009A44 70008E44 AFB20020 */ sw $s2, 0x20($sp) -/* 009A48 70008E48 AFB00018 */ sw $s0, 0x18($sp) -/* 009A4C 70008E4C AFA50084 */ sw $a1, 0x84($sp) -/* 009A50 70008E50 AFA60088 */ sw $a2, 0x88($sp) -/* 009A54 70008E54 0000B825 */ move $s7, $zero -/* 009A58 70008E58 A7A0006E */ sh $zero, 0x6e($sp) -/* 009A5C 70008E5C 11E00003 */ beqz $t7, .L70008E6C -/* 009A60 70008E60 0000A025 */ move $s4, $zero -/* 009A64 70008E64 10000062 */ b .L70008FF0 -/* 009A68 70008E68 00001025 */ move $v0, $zero -.L70008E6C: -/* 009A6C 70008E6C 16200003 */ bnez $s1, .L70008E7C -/* 009A70 70008E70 27B60050 */ addiu $s6, $sp, 0x50 -/* 009A74 70008E74 1000005E */ b .L70008FF0 -/* 009A78 70008E78 00001025 */ move $v0, $zero -.L70008E7C: -/* 009A7C 70008E7C 3C158002 */ lui $s5, %hi(D_800243F0) -/* 009A80 70008E80 26B543F0 */ addiu $s5, %lo(D_800243F0) # addiu $s5, $s5, 0x43f0 -/* 009A84 70008E84 8FB30064 */ lw $s3, 0x64($sp) -/* 009A88 70008E88 8FD8000C */ lw $t8, 0xc($fp) -.L70008E8C: -/* 009A8C 70008E8C 0011C880 */ sll $t9, $s1, 2 -/* 009A90 70008E90 03C02025 */ move $a0, $fp -/* 009A94 70008E94 03194021 */ addu $t0, $t8, $t9 -/* 009A98 70008E98 8D12000C */ lw $s2, 0xc($t0) -/* 009A9C 70008E9C 0C0022DC */ jal sfx_c_70008B70 -/* 009AA0 70008EA0 02402825 */ move $a1, $s2 -/* 009AA4 70008EA4 10400028 */ beqz $v0, .L70008F48 -/* 009AA8 70008EA8 00408025 */ move $s0, $v0 -/* 009AAC 70008EAC 8EA90000 */ lw $t1, ($s5) -/* 009AB0 70008EB0 240A0001 */ li $t2, 1 -/* 009AB4 70008EB4 02C02825 */ move $a1, $s6 -/* 009AB8 70008EB8 AD22003C */ sw $v0, 0x3c($t1) -/* 009ABC 70008EBC A7AA0050 */ sh $t2, 0x50($sp) -/* 009AC0 70008EC0 AFA20054 */ sw $v0, 0x54($sp) -/* 009AC4 70008EC4 8E4B0004 */ lw $t3, 4($s2) -/* 009AC8 70008EC8 904D003E */ lbu $t5, 0x3e($v0) -/* 009ACC 70008ECC 91730001 */ lbu $s3, 1($t3) -/* 009AD0 70008ED0 31AE0010 */ andi $t6, $t5, 0x10 -/* 009AD4 70008ED4 00136180 */ sll $t4, $s3, 6 -/* 009AD8 70008ED8 01936021 */ addu $t4, $t4, $s3 -/* 009ADC 70008EDC 000C60C0 */ sll $t4, $t4, 3 -/* 009AE0 70008EE0 01936021 */ addu $t4, $t4, $s3 -/* 009AE4 70008EE4 000C6080 */ sll $t4, $t4, 2 -/* 009AE8 70008EE8 01936023 */ subu $t4, $t4, $s3 -/* 009AEC 70008EEC 000C6080 */ sll $t4, $t4, 2 -/* 009AF0 70008EF0 01936021 */ addu $t4, $t4, $s3 -/* 009AF4 70008EF4 000C6080 */ sll $t4, $t4, 2 -/* 009AF8 70008EF8 01936021 */ addu $t4, $t4, $s3 -/* 009AFC 70008EFC 11C0000D */ beqz $t6, .L70008F34 -/* 009B00 70008F00 01809825 */ move $s3, $t4 -/* 009B04 70008F04 904F003E */ lbu $t7, 0x3e($v0) -/* 009B08 70008F08 02C02825 */ move $a1, $s6 -/* 009B0C 70008F0C 26860001 */ addiu $a2, $s4, 1 -/* 009B10 70008F10 31F8FFEF */ andi $t8, $t7, 0xffef -/* 009B14 70008F14 A058003E */ sb $t8, 0x3e($v0) -/* 009B18 70008F18 8EA40000 */ lw $a0, ($s5) -/* 009B1C 70008F1C 0C004BBF */ jal alEvtqPostEvent -/* 009B20 70008F20 24840014 */ addiu $a0, $a0, 0x14 -/* 009B24 70008F24 26790001 */ addiu $t9, $s3, 1 -/* 009B28 70008F28 AFB90068 */ sw $t9, 0x68($sp) -/* 009B2C 70008F2C 10000005 */ b .L70008F44 -/* 009B30 70008F30 A7B1006E */ sh $s1, 0x6e($sp) -.L70008F34: -/* 009B34 70008F34 8EA40000 */ lw $a0, ($s5) -/* 009B38 70008F38 26660001 */ addiu $a2, $s3, 1 -/* 009B3C 70008F3C 0C004BBF */ jal alEvtqPostEvent -/* 009B40 70008F40 24840014 */ addiu $a0, $a0, 0x14 -.L70008F44: -/* 009B44 70008F44 0200B825 */ move $s7, $s0 -.L70008F48: -/* 009B48 70008F48 8E420004 */ lw $v0, 4($s2) -/* 009B4C 70008F4C 0293A021 */ addu $s4, $s4, $s3 -/* 009B50 70008F50 90490002 */ lbu $t1, 2($v0) -/* 009B54 70008F54 90480000 */ lbu $t0, ($v0) -/* 009B58 70008F58 312A00C0 */ andi $t2, $t1, 0xc0 -/* 009B5C 70008F5C 000A5880 */ sll $t3, $t2, 2 -/* 009B60 70008F60 010B8821 */ addu $s1, $t0, $t3 -/* 009B64 70008F64 00116400 */ sll $t4, $s1, 0x10 -/* 009B68 70008F68 000C8C03 */ sra $s1, $t4, 0x10 -/* 009B6C 70008F6C 12200004 */ beqz $s1, .L70008F80 -/* 009B70 70008F70 00000000 */ nop -/* 009B74 70008F74 5600FFC5 */ bnezl $s0, .L70008E8C -/* 009B78 70008F78 8FD8000C */ lw $t8, 0xc($fp) -/* 009B7C 70008F7C AFB30064 */ sw $s3, 0x64($sp) -.L70008F80: -/* 009B80 70008F80 52E00017 */ beql $s7, $zero, .L70008FE0 -/* 009B84 70008F84 8FAC0088 */ lw $t4, 0x88($sp) -/* 009B88 70008F88 92EE003E */ lbu $t6, 0x3e($s7) -/* 009B8C 70008F8C 24080200 */ li $t0, 512 -/* 009B90 70008F90 27A50040 */ addiu $a1, $sp, 0x40 -/* 009B94 70008F94 35CF0001 */ ori $t7, $t6, 1 -/* 009B98 70008F98 A2EF003E */ sb $t7, 0x3e($s7) -/* 009B9C 70008F9C 8FB80088 */ lw $t8, 0x88($sp) -/* 009BA0 70008FA0 35EA0010 */ ori $t2, $t7, 0x10 -/* 009BA4 70008FA4 AEF80030 */ sw $t8, 0x30($s7) -/* 009BA8 70008FA8 87B9006E */ lh $t9, 0x6e($sp) -/* 009BAC 70008FAC 5320000C */ beql $t9, $zero, .L70008FE0 -/* 009BB0 70008FB0 8FAC0088 */ lw $t4, 0x88($sp) -/* 009BB4 70008FB4 A2EA003E */ sb $t2, 0x3e($s7) -/* 009BB8 70008FB8 87AB006E */ lh $t3, 0x6e($sp) -/* 009BBC 70008FBC 8EA40000 */ lw $a0, ($s5) -/* 009BC0 70008FC0 A7A80040 */ sh $t0, 0x40($sp) -/* 009BC4 70008FC4 AFB70044 */ sw $s7, 0x44($sp) -/* 009BC8 70008FC8 AFBE004C */ sw $fp, 0x4c($sp) -/* 009BCC 70008FCC 8FA60068 */ lw $a2, 0x68($sp) -/* 009BD0 70008FD0 AFAB0048 */ sw $t3, 0x48($sp) -/* 009BD4 70008FD4 0C004BBF */ jal alEvtqPostEvent -/* 009BD8 70008FD8 24840014 */ addiu $a0, $a0, 0x14 -/* 009BDC 70008FDC 8FAC0088 */ lw $t4, 0x88($sp) -.L70008FE0: -/* 009BE0 70008FE0 02E01025 */ move $v0, $s7 -/* 009BE4 70008FE4 11800002 */ beqz $t4, .L70008FF0 -/* 009BE8 70008FE8 00000000 */ nop -/* 009BEC 70008FEC AD970000 */ sw $s7, ($t4) -.L70008FF0: -/* 009BF0 70008FF0 8FBF003C */ lw $ra, 0x3c($sp) -/* 009BF4 70008FF4 8FB00018 */ lw $s0, 0x18($sp) -/* 009BF8 70008FF8 8FB1001C */ lw $s1, 0x1c($sp) -/* 009BFC 70008FFC 8FB20020 */ lw $s2, 0x20($sp) -/* 009C00 70009000 8FB30024 */ lw $s3, 0x24($sp) -/* 009C04 70009004 8FB40028 */ lw $s4, 0x28($sp) -/* 009C08 70009008 8FB5002C */ lw $s5, 0x2c($sp) -/* 009C0C 7000900C 8FB60030 */ lw $s6, 0x30($sp) -/* 009C10 70009010 8FB70034 */ lw $s7, 0x34($sp) -/* 009C14 70009014 8FBE0038 */ lw $fp, 0x38($sp) -/* 009C18 70009018 03E00008 */ jr $ra -/* 009C1C 7000901C 27BD0080 */ addiu $sp, $sp, 0x80 -) -#endif - - - - - - -/** - * 9C20 70009020 - * decativates sound effect - * accepts: A0=p->SE buffer - */ - -#ifdef NONMATCHING -void sfxDeactivate(void *arg0) -{ - s16 sp18; - - sp18 = (u16)0x400; - if (arg0 != 0) - { - arg0->unk3E = (s8) (arg0->unk3E & 0xffef); - alEvtqPostEvent((D_800243F0 + 0x14), &sp18, 0); - } -} -#else -GLOBAL_ASM( -.text -glabel sfxDeactivate -/* 009C20 70009020 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 009C24 70009024 240E0400 */ li $t6, 1024 -/* 009C28 70009028 AFBF0014 */ sw $ra, 0x14($sp) -/* 009C2C 7000902C A7AE0018 */ sh $t6, 0x18($sp) -/* 009C30 70009030 1080000A */ beqz $a0, .L7000905C -/* 009C34 70009034 AFA4001C */ sw $a0, 0x1c($sp) -/* 009C38 70009038 908F003E */ lbu $t7, 0x3e($a0) -/* 009C3C 7000903C 27A50018 */ addiu $a1, $sp, 0x18 -/* 009C40 70009040 00003025 */ move $a2, $zero -/* 009C44 70009044 31F8FFEF */ andi $t8, $t7, 0xffef -/* 009C48 70009048 A098003E */ sb $t8, 0x3e($a0) -/* 009C4C 7000904C 3C048002 */ lui $a0, %hi(D_800243F0) -/* 009C50 70009050 8C8443F0 */ lw $a0, %lo(D_800243F0)($a0) -/* 009C54 70009054 0C004BBF */ jal alEvtqPostEvent -/* 009C58 70009058 24840014 */ addiu $a0, $a0, 0x14 -.L7000905C: -/* 009C5C 7000905C 8FBF0014 */ lw $ra, 0x14($sp) -/* 009C60 70009060 27BD0028 */ addiu $sp, $sp, 0x28 -/* 009C64 70009064 03E00008 */ jr $ra -/* 009C68 70009068 00000000 */ nop -) -#endif - - - - - - - - -/** - * 9C6C 7000906C - */ - -#ifdef NONMATCHING -void sfx_c_7000906C(s32 arg0) -{ - s32 sp4C; - s16 sp3C; - s32 temp_s2; - s8 temp_v0; - void *temp_s0; - void *phi_s0; - - temp_s2 = (arg0 & 0xff); - sp4C = osSetIntMask(1); - if (D_800243E4 != 0) - { - phi_s0 = D_800243E4; -block_2: - sp3C = (u16)0x400; - temp_v0 = phi_s0->unk3E; - if (temp_s2 == (temp_v0 & temp_s2)) - { - phi_s0->unk3E = (s8) (temp_v0 & -0x11); - alEvtqPostEvent((D_800243F0 + 0x14), &sp3C, 0); - } - temp_s0 = *phi_s0; - phi_s0 = temp_s0; - if (temp_s0 != 0) - { - goto block_2; - } - } - osSetIntMask(sp4C); -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_7000906C -/* 009C6C 7000906C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 009C70 70009070 AFB20020 */ sw $s2, 0x20($sp) -/* 009C74 70009074 309200FF */ andi $s2, $a0, 0xff -/* 009C78 70009078 AFBF002C */ sw $ra, 0x2c($sp) -/* 009C7C 7000907C AFA40050 */ sw $a0, 0x50($sp) -/* 009C80 70009080 AFB40028 */ sw $s4, 0x28($sp) -/* 009C84 70009084 AFB30024 */ sw $s3, 0x24($sp) -/* 009C88 70009088 AFB1001C */ sw $s1, 0x1c($sp) -/* 009C8C 7000908C AFB00018 */ sw $s0, 0x18($sp) -/* 009C90 70009090 0C00374C */ jal osSetIntMask -/* 009C94 70009094 24040001 */ li $a0, 1 -/* 009C98 70009098 3C108002 */ lui $s0, %hi(D_800243E4) -/* 009C9C 7000909C 8E1043E4 */ lw $s0, %lo(D_800243E4)($s0) -/* 009CA0 700090A0 AFA2004C */ sw $v0, 0x4c($sp) -/* 009CA4 700090A4 02408825 */ move $s1, $s2 -/* 009CA8 700090A8 12000014 */ beqz $s0, .L700090FC -/* 009CAC 700090AC 27B4003C */ addiu $s4, $sp, 0x3c -/* 009CB0 700090B0 3C138002 */ lui $s3, %hi(D_800243F0) -/* 009CB4 700090B4 267343F0 */ addiu $s3, %lo(D_800243F0) # addiu $s3, $s3, 0x43f0 -/* 009CB8 700090B8 2412FFEF */ li $s2, -17 -/* 009CBC 700090BC 240E0400 */ li $t6, 1024 -.L700090C0: -/* 009CC0 700090C0 A7AE003C */ sh $t6, 0x3c($sp) -/* 009CC4 700090C4 AFB00040 */ sw $s0, 0x40($sp) -/* 009CC8 700090C8 9202003E */ lbu $v0, 0x3e($s0) -/* 009CCC 700090CC 02802825 */ move $a1, $s4 -/* 009CD0 700090D0 00517824 */ and $t7, $v0, $s1 -/* 009CD4 700090D4 162F0006 */ bne $s1, $t7, .L700090F0 -/* 009CD8 700090D8 0052C024 */ and $t8, $v0, $s2 -/* 009CDC 700090DC A218003E */ sb $t8, 0x3e($s0) -/* 009CE0 700090E0 8E640000 */ lw $a0, ($s3) -/* 009CE4 700090E4 00003025 */ move $a2, $zero -/* 009CE8 700090E8 0C004BBF */ jal alEvtqPostEvent -/* 009CEC 700090EC 24840014 */ addiu $a0, $a0, 0x14 -.L700090F0: -/* 009CF0 700090F0 8E100000 */ lw $s0, ($s0) -/* 009CF4 700090F4 5600FFF2 */ bnezl $s0, .L700090C0 -/* 009CF8 700090F8 240E0400 */ li $t6, 1024 -.L700090FC: -/* 009CFC 700090FC 0C00374C */ jal osSetIntMask -/* 009D00 70009100 8FA4004C */ lw $a0, 0x4c($sp) -/* 009D04 70009104 8FBF002C */ lw $ra, 0x2c($sp) -/* 009D08 70009108 8FB00018 */ lw $s0, 0x18($sp) -/* 009D0C 7000910C 8FB1001C */ lw $s1, 0x1c($sp) -/* 009D10 70009110 8FB20020 */ lw $s2, 0x20($sp) -/* 009D14 70009114 8FB30024 */ lw $s3, 0x24($sp) -/* 009D18 70009118 8FB40028 */ lw $s4, 0x28($sp) -/* 009D1C 7000911C 03E00008 */ jr $ra -/* 009D20 70009120 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - - - -/** - * 9D24 70009124 - * redirect to 7000906C: A0=1 - */ -void sfx_c_70009124(void) -{ - sfx_c_7000906C(1); -} - -/** - * 9D44 70009144 - * redirect to 7000906C: A0=11 - */ -void sfx_c_70009144(void) -{ - sfx_c_7000906C(0x11); -} - -/** - * 9D64 70009164 - * redirect to 7000906C: A0=3 - */ -void sfx_c_70009164(void) -{ - sfx_c_7000906C(3); -} - - - - -/** - * 9D84 70009184 - */ -#ifdef NONMATCHING -void sfx_c_70009184(s32 arg0, s32 arg1, ? arg2) -{ - ? sp18; - - if (arg0 != 0) - { - alEvtqPostEvent((D_800243F0 + 0x14), &sp18, 0); - } -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70009184 -/* 009D84 70009184 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 009D88 70009188 AFBF0014 */ sw $ra, 0x14($sp) -/* 009D8C 7000918C AFA5002C */ sw $a1, 0x2c($sp) -/* 009D90 70009190 A7A50018 */ sh $a1, 0x18($sp) -/* 009D94 70009194 AFA4001C */ sw $a0, 0x1c($sp) -/* 009D98 70009198 10800007 */ beqz $a0, .L700091B8 -/* 009D9C 7000919C AFA60020 */ sw $a2, 0x20($sp) -/* 009DA0 700091A0 3C048002 */ lui $a0, %hi(D_800243F0) -/* 009DA4 700091A4 8C8443F0 */ lw $a0, %lo(D_800243F0)($a0) -/* 009DA8 700091A8 27A50018 */ addiu $a1, $sp, 0x18 -/* 009DAC 700091AC 00003025 */ move $a2, $zero -/* 009DB0 700091B0 0C004BBF */ jal alEvtqPostEvent -/* 009DB4 700091B4 24840014 */ addiu $a0, $a0, 0x14 -.L700091B8: -/* 009DB8 700091B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 009DBC 700091BC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 009DC0 700091C0 03E00008 */ jr $ra -/* 009DC4 700091C4 00000000 */ nop -) -#endif - - - -/** - * 9DC8 700091C8 - * redirect to 70009264: A0=0 - */ -void sfx_c_700091C8(void) -{ - sfx_c_70009264(0); -} - - - - - - - - - -/** - * 9DE8 700091E8 - */ -#ifdef NONMATCHING -void sfx_c_700091E8(s32 arg0) -{ - s32 temp_t6; - s32 phi_s0; - - phi_s0 = 0; -block_1: - sfx_c_70009284((phi_s0 & 0xff), ((arg0 & 0xffff) & 0xffff)); - temp_t6 = ((phi_s0 + 1) & 0xff); - phi_s0 = temp_t6; - if (temp_t6 < 7) - { - goto block_1; - } -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_700091E8 -/* 009DE8 700091E8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 009DEC 700091EC AFB10018 */ sw $s1, 0x18($sp) -/* 009DF0 700091F0 AFB00014 */ sw $s0, 0x14($sp) -/* 009DF4 700091F4 3091FFFF */ andi $s1, $a0, 0xffff -/* 009DF8 700091F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 009DFC 700091FC AFA40020 */ sw $a0, 0x20($sp) -/* 009E00 70009200 00008025 */ move $s0, $zero -.L70009204: -/* 009E04 70009204 320400FF */ andi $a0, $s0, 0xff -/* 009E08 70009208 0C0024A1 */ jal sfx_c_70009284 -/* 009E0C 7000920C 3225FFFF */ andi $a1, $s1, 0xffff -/* 009E10 70009210 26100001 */ addiu $s0, $s0, 1 -/* 009E14 70009214 320E00FF */ andi $t6, $s0, 0xff -/* 009E18 70009218 29C10007 */ slti $at, $t6, 7 -/* 009E1C 7000921C 1420FFF9 */ bnez $at, .L70009204 -/* 009E20 70009220 01C08025 */ move $s0, $t6 -/* 009E24 70009224 8FBF001C */ lw $ra, 0x1c($sp) -/* 009E28 70009228 8FB00014 */ lw $s0, 0x14($sp) -/* 009E2C 7000922C 8FB10018 */ lw $s1, 0x18($sp) -/* 009E30 70009230 03E00008 */ jr $ra -/* 009E34 70009234 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - - - -/** - * 9E38 70009238 - */ -#ifdef NONMATCHING -void sfx_c_70009238(f32 arg0) -{ - F32_800243FC = arg0; - sfx_c_700091E8((sfx_c_700091C8() & 0xffff)); -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70009238 -/* 009E38 70009238 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 009E3C 7000923C AFBF0014 */ sw $ra, 0x14($sp) -/* 009E40 70009240 3C018002 */ lui $at, %hi(F32_800243FC) -/* 009E44 70009244 0C002472 */ jal sfx_c_700091C8 -/* 009E48 70009248 E42C43FC */ swc1 $f12, %lo(F32_800243FC)($at) -/* 009E4C 7000924C 0C00247A */ jal sfx_c_700091E8 -/* 009E50 70009250 3044FFFF */ andi $a0, $v0, 0xffff -/* 009E54 70009254 8FBF0014 */ lw $ra, 0x14($sp) -/* 009E58 70009258 27BD0018 */ addiu $sp, $sp, 0x18 -/* 009E5C 7000925C 03E00008 */ jr $ra -/* 009E60 70009260 00000000 */ nop -) -#endif - - - - - - - - - -/** - * 9E64 70009264 - * V0= halfword A0 in table at [80063BA8]; fries T6,T7,T8,T9 - */ -#ifdef NONMATCHING -void sfx_c_70009264(s32 arg0) -{ - return *(D_80063BA8 + ((arg0 & 0xff) * 2)); -} - -#else -GLOBAL_ASM( -.text -glabel sfx_c_70009264 -/* 009E64 70009264 3C0F8006 */ lui $t7, %hi(D_80063BA8) -/* 009E68 70009268 8DEF3BA8 */ lw $t7, %lo(D_80063BA8)($t7) -/* 009E6C 7000926C 308E00FF */ andi $t6, $a0, 0xff -/* 009E70 70009270 000EC040 */ sll $t8, $t6, 1 -/* 009E74 70009274 AFA40000 */ sw $a0, ($sp) -/* 009E78 70009278 01F8C821 */ addu $t9, $t7, $t8 -/* 009E7C 7000927C 03E00008 */ jr $ra -/* 009E80 70009280 97220000 */ lhu $v0, ($t9) -) -#endif - - - - - - - - - -/** - * 9E84 70009284 - */ -#ifdef NONMATCHING -s32 sfx_c_70009284(s32 arg0, s32 arg1) -{ - s16 sp30; - s32 temp_s3; - s16 temp_t6; - s32 temp_v0; - void *temp_v0_2; - void *temp_s0; - void *phi_s0; - s32 phi_return; - - temp_s3 = (arg0 & 0xff); - temp_t6 = (arg1 & 0xffff); - temp_v0 = (temp_s3 * 2); - *(D_80063BA8 + temp_v0) = temp_t6; - *(D_80063BA4 + temp_v0) = (s32) ((f32) temp_t6 * F32_800243FC); - phi_s0 = D_800243E4; - phi_return = temp_v0; - if (D_800243E4 != 0) - { -block_1: - temp_v0_2 = phi_s0->unk8; - phi_return = temp_v0_2; - if (temp_v0_2 != 0) - { - phi_return = temp_v0_2; - if (temp_s3 == (temp_v0_2->unk4->unk2 & 0x3f)) - { - sp30 = (u16)0x800; - phi_return = alEvtqPostEvent((D_800243F0 + 0x14), &sp30, 0); - } - } - temp_s0 = *phi_s0; - phi_s0 = temp_s0; - if (temp_s0 != 0) - { - goto block_1; - } - } - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel sfx_c_70009284 -/* 009E84 70009284 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 009E88 70009288 3C0F8006 */ lui $t7, %hi(D_80063BA8) -/* 009E8C 7000928C 8DEF3BA8 */ lw $t7, %lo(D_80063BA8)($t7) -/* 009E90 70009290 AFB30020 */ sw $s3, 0x20($sp) -/* 009E94 70009294 309300FF */ andi $s3, $a0, 0xff -/* 009E98 70009298 AFB00014 */ sw $s0, 0x14($sp) -/* 009E9C 7000929C 30AEFFFF */ andi $t6, $a1, 0xffff -/* 009EA0 700092A0 448E2000 */ mtc1 $t6, $f4 -/* 009EA4 700092A4 3C108002 */ lui $s0, %hi(D_800243E4) -/* 009EA8 700092A8 00131040 */ sll $v0, $s3, 1 -/* 009EAC 700092AC AFBF0024 */ sw $ra, 0x24($sp) -/* 009EB0 700092B0 AFB2001C */ sw $s2, 0x1c($sp) -/* 009EB4 700092B4 AFB10018 */ sw $s1, 0x18($sp) -/* 009EB8 700092B8 AFA40048 */ sw $a0, 0x48($sp) -/* 009EBC 700092BC AFA5004C */ sw $a1, 0x4c($sp) -/* 009EC0 700092C0 8E1043E4 */ lw $s0, %lo(D_800243E4)($s0) -/* 009EC4 700092C4 01E2C021 */ addu $t8, $t7, $v0 -/* 009EC8 700092C8 A70E0000 */ sh $t6, ($t8) -/* 009ECC 700092CC 05C10005 */ bgez $t6, .L700092E4 -/* 009ED0 700092D0 468021A0 */ cvt.s.w $f6, $f4 -/* 009ED4 700092D4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 009ED8 700092D8 44814000 */ mtc1 $at, $f8 -/* 009EDC 700092DC 00000000 */ nop -/* 009EE0 700092E0 46083180 */ add.s $f6, $f6, $f8 -.L700092E4: -/* 009EE4 700092E4 3C018002 */ lui $at, %hi(F32_800243FC) -/* 009EE8 700092E8 C42A43FC */ lwc1 $f10, %lo(F32_800243FC)($at) -/* 009EEC 700092EC 3C098006 */ lui $t1, %hi(D_80063BA4) -/* 009EF0 700092F0 8D293BA4 */ lw $t1, %lo(D_80063BA4)($t1) -/* 009EF4 700092F4 460A3402 */ mul.s $f16, $f6, $f10 -/* 009EF8 700092F8 3C118002 */ lui $s1, %hi(D_800243F0) -/* 009EFC 700092FC 01225021 */ addu $t2, $t1, $v0 -/* 009F00 70009300 263143F0 */ addiu $s1, %lo(D_800243F0) # addiu $s1, $s1, 0x43f0 -/* 009F04 70009304 27B20030 */ addiu $s2, $sp, 0x30 -/* 009F08 70009308 4600848D */ trunc.w.s $f18, $f16 -/* 009F0C 7000930C 44089000 */ mfc1 $t0, $f18 -/* 009F10 70009310 12000014 */ beqz $s0, .L70009364 -/* 009F14 70009314 A5480000 */ sh $t0, ($t2) -/* 009F18 70009318 8E020008 */ lw $v0, 8($s0) -.L7000931C: -/* 009F1C 7000931C 5040000F */ beql $v0, $zero, .L7000935C -/* 009F20 70009320 8E100000 */ lw $s0, ($s0) -/* 009F24 70009324 8C4B0004 */ lw $t3, 4($v0) -/* 009F28 70009328 240E0800 */ li $t6, 2048 -/* 009F2C 7000932C 02402825 */ move $a1, $s2 -/* 009F30 70009330 916C0002 */ lbu $t4, 2($t3) -/* 009F34 70009334 00003025 */ move $a2, $zero -/* 009F38 70009338 318D003F */ andi $t5, $t4, 0x3f -/* 009F3C 7000933C 566D0007 */ bnel $s3, $t5, .L7000935C -/* 009F40 70009340 8E100000 */ lw $s0, ($s0) -/* 009F44 70009344 8E240000 */ lw $a0, ($s1) -/* 009F48 70009348 A7AE0030 */ sh $t6, 0x30($sp) -/* 009F4C 7000934C AFB00034 */ sw $s0, 0x34($sp) -/* 009F50 70009350 0C004BBF */ jal alEvtqPostEvent -/* 009F54 70009354 24840014 */ addiu $a0, $a0, 0x14 -/* 009F58 70009358 8E100000 */ lw $s0, ($s0) -.L7000935C: -/* 009F5C 7000935C 5600FFEF */ bnezl $s0, .L7000931C -/* 009F60 70009360 8E020008 */ lw $v0, 8($s0) -.L70009364: -/* 009F64 70009364 8FBF0024 */ lw $ra, 0x24($sp) -/* 009F68 70009368 8FB00014 */ lw $s0, 0x14($sp) -/* 009F6C 7000936C 8FB10018 */ lw $s1, 0x18($sp) -/* 009F70 70009370 8FB2001C */ lw $s2, 0x1c($sp) -/* 009F74 70009374 8FB30020 */ lw $s3, 0x20($sp) -/* 009F78 70009378 03E00008 */ jr $ra -/* 009F7C 7000937C 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - diff --git a/src/snd.h b/src/snd.h deleted file mode 100644 index 36c0e91..0000000 --- a/src/snd.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _SND_H_ -#define _SND_H_ -#include "ultra64.h" - -extern s8 bootswitch_sound; -void play_sfx_a1 (void * buffer, short entry, void * data); -#endif diff --git a/src/speed_graph.c b/src/speed_graph.c deleted file mode 100644 index 267818b..0000000 --- a/src/speed_graph.c +++ /dev/null @@ -1,1119 +0,0 @@ -#include "ultra64.h" -/** - * @file speed_graph.c - * This file contains code to draw speedgraph. - * - */ - - -/* _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - | Snippet of building glist buffers | - |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _| - -== H file == -#define GLIST_LEN 2048 // GE seems to be 266 - -/* - * Layout of dynamic data. - * - * This structure holds the things which change per frame. It is advantageous - * to keep dynamic data together so that we may selectively write back dirty - * data cache lines to DRAM prior to processing by the RCP. - * - * / -typedef struct { - Mtx projection; - Mtx modeling; - Mtx modeling2; - Mtx viewing; - LookAt lookat; - Hilite hilite; - Lightsn light; //Oh interesting, since we found this and LookAt, it seems dynamic gfx should astart right after. - Gfx glist[GLIST_LEN]; -} Dynamic; - -extern Dynamic dynamic; - -== H file End == - -/* - * global variables - * -Gfx *glistp; /* RSP display list pointer * / -//Dynamic dynamic; /* dynamic data * / -/ * - * Double-buffered dynamic segments - * / -Dynamic dynamic[2]; -... - -// some function() -{ - ... - int current = 0; - dynamicp = &dynamic[current]; - glistp = dynamicp->glist; - //example gfx build - gSPSegment(glistp++, 0, 0x0); // glist++ ready for next instruction (held in dynamic 1 or 2) -} -*/ - -/* tempory types confirm me */ -s32 dword_CODE_bss_8005F3F0[4]; //Gfx Tiles_Setup? oh... unless thats what the next 2 are... the first command I recognised did start at 8005f400... -// dynamic glist, though it lacks the format above... -Gfx displaylist_0[266]; -Gfx displaylist_1[266]; -s32 displaylist_bank; //0 or 1? current? -s32 dword_CODE_bss_800604A4; -u32 dword_CODE_bss_800604A8; -u32 dword_CODE_bss_800604AC; -s32 dword_CODE_bss_800604B0[0xC0]; -s32 dword_CODE_bss_800607B0; -s32 dword_CODE_bss_800607B4; -s32 dword_CODE_bss_800607B8; -s32 dword_CODE_bss_800607BC; -s32 dword_CODE_bss_800607C0; -s32 dword_CODE_bss_800607C4; -s32 dword_CODE_bss_800607C8; -s32 dword_CODE_bss_800607CC; -s32 dword_CODE_bss_800607D0; -s32 dword_CODE_bss_800607D4; -s32 dword_CODE_bss_800607D8; -s32 dword_CODE_bss_800607DC; - -s32 D_800231D0 = 0; -s32 D_800231D4[] = { 0, 0, 2, 0, 1, 0, 2, 0, 2, 0xFF000000, 2, 0, 3, 0x9200, 4, 0xFFFFFFFF, 4, 0xDB000000, 4, 0xFFFFFFFF }; - -s32 D_80023224 = 0; -s32 D_80023228 = 0; -s32 D_8002322C = 0; -s32 counterforframes = 0; -s32 D_80023234 = 1; - - -//GLOBAL_ASM( -/* .rodata*/ -const char aUtz2_0f[] = "utz %2.0f%%\n"; -const char aRsp2_0f[] = "rsp %2.0f%%\n"; -const char aTex2_0f[] = "tex %2.0f%%"; -const char a2dHz[] = "%2d hz"; -const char a2dFrames[] = "%2d frames"; -const char a2d[] = " [%2d]"; -const char asc_D_80028468[] = " "; -const char aIL0[] = "I=l0"; -//) - - -/** - * 3330 70002730 (DL generator) - */ -#ifdef NONMATCHING -void displaylist_related(void) -{ - void *temp_v0; - void *temp_v1; - void *phi_v1; - void *phi_v0; - - gSPEndDisplayList(displaylist_0++); - displaylist_0.unk850 = 0xb800000000000000; //? is this not dlist2? - displaylist_bank = 0; - phi_v1 = &dword_CODE_bss_800607B0; - phi_v0 = &dword_CODE_bss_800607D0; -block_1: - temp_v0 = (phi_v0 + 4); - temp_v1 = (phi_v1 + 4); - temp_v1->unk-4 = 0; - temp_v0->unk-4 = 1; - phi_v1 = temp_v1; - phi_v0 = temp_v0; - if (temp_v0 != &dword_CODE_bss_800607DC) - { - goto block_1; - } - video_related_2(1, &dword_CODE_bss_800607DC, 0xb8000000); -} -#else -GLOBAL_ASM( -.text -glabel displaylist_related -/* 003330 70002730 3C048006 */ lui $a0, %hi(displaylist_0) -/* 003334 70002734 2484F400 */ addiu $a0, %lo(displaylist_0) # addiu $a0, $a0, -0xc00 -/* 003338 70002738 3C06B800 */ lui $a2, 0xb800 -/* 00333C 7000273C AC860000 */ sw $a2, ($a0) -/* 003340 70002740 AC800004 */ sw $zero, 4($a0) -/* 003344 70002744 AC860850 */ sw $a2, 0x850($a0) -/* 003348 70002748 AC800854 */ sw $zero, 0x854($a0) -/* 00334C 7000274C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 003350 70002750 3C018006 */ lui $at, %hi(displaylist_bank) -/* 003354 70002754 3C038006 */ lui $v1, %hi(dword_CODE_bss_800607B0) -/* 003358 70002758 3C028006 */ lui $v0, %hi(dword_CODE_bss_800607D0) -/* 00335C 7000275C 3C058006 */ lui $a1, %hi(dword_CODE_bss_800607DC) -/* 003360 70002760 AFBF0014 */ sw $ra, 0x14($sp) -/* 003364 70002764 AC2004A0 */ sw $zero, %lo(displaylist_bank)($at) -/* 003368 70002768 24A507DC */ addiu $a1, %lo(dword_CODE_bss_800607DC) # addiu $a1, $a1, 0x7dc -/* 00336C 7000276C 244207D0 */ addiu $v0, %lo(dword_CODE_bss_800607D0) # addiu $v0, $v0, 0x7d0 -/* 003370 70002770 246307B0 */ addiu $v1, %lo(dword_CODE_bss_800607B0) # addiu $v1, $v1, 0x7b0 -/* 003374 70002774 24040001 */ li $a0, 1 -.L70002778: -/* 003378 70002778 24420004 */ addiu $v0, $v0, 4 -/* 00337C 7000277C 24630004 */ addiu $v1, $v1, 4 -/* 003380 70002780 AC60FFFC */ sw $zero, -4($v1) -/* 003384 70002784 1445FFFC */ bne $v0, $a1, .L70002778 -/* 003388 70002788 AC44FFFC */ sw $a0, -4($v0) -/* 00338C 7000278C 0C000A04 */ jal video_related_2 -/* 003390 70002790 00000000 */ nop -/* 003394 70002794 8FBF0014 */ lw $ra, 0x14($sp) -/* 003398 70002798 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00339C 7000279C 03E00008 */ jr $ra -/* 0033A0 700027A0 00000000 */ nop -) -#endif - - - -/** - * 33A4 700027A4 - */ -#ifdef NONMATCHING -void *video_related_1(void) -{ - void *temp_v1; - void *temp_a0; - s32 temp_t7; - s32 temp_t8; - void *phi_v1; - s32 phi_t8; - void *phi_a0; - - dword_CODE_bss_800604A8 = osGetCount(); - phi_v1 = &dword_CODE_bss_800607D0; - phi_a0 = &dword_CODE_bss_800607C0; -block_1: - temp_v1 = (phi_v1 + 4); - temp_a0 = (phi_a0 + 4); - temp_t7 = (*phi_v1 + 0x1f); - temp_t8 = (temp_t7 & 0x1f); - phi_t8 = temp_t8; - if (temp_t7 < 0) - { - phi_t8 = temp_t8; - if (temp_t8 != 0) - { - phi_t8 = (temp_t8 + -0x20); - } - } - temp_a0->unk-4 = (s32) phi_t8; - phi_v1 = temp_v1; - phi_a0 = temp_a0; - if (temp_v1 != &dword_CODE_bss_800607DC) - { - goto block_1; - } - return &dword_CODE_bss_800607DC; -} -#else -GLOBAL_ASM( -.text -glabel video_related_1 -/* 0033A4 700027A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0033A8 700027A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0033AC 700027AC 0C003638 */ jal osGetCount -/* 0033B0 700027B0 00000000 */ nop -/* 0033B4 700027B4 3C018006 */ lui $at, %hi(dword_CODE_bss_800604A8) -/* 0033B8 700027B8 AC2204A8 */ sw $v0, %lo(dword_CODE_bss_800604A8)($at) -/* 0033BC 700027BC 3C028006 */ lui $v0, %hi(dword_CODE_bss_800607DC) -/* 0033C0 700027C0 3C048006 */ lui $a0, %hi(dword_CODE_bss_800607C0) -/* 0033C4 700027C4 3C038006 */ lui $v1, %hi(dword_CODE_bss_800607D0) -/* 0033C8 700027C8 246307D0 */ addiu $v1, %lo(dword_CODE_bss_800607D0) # addiu $v1, $v1, 0x7d0 -/* 0033CC 700027CC 248407C0 */ addiu $a0, %lo(dword_CODE_bss_800607C0) # addiu $a0, $a0, 0x7c0 -/* 0033D0 700027D0 244207DC */ addiu $v0, %lo(dword_CODE_bss_800607DC) # addiu $v0, $v0, 0x7dc -.L700027D4: -/* 0033D4 700027D4 8C6E0000 */ lw $t6, ($v1) -/* 0033D8 700027D8 24630004 */ addiu $v1, $v1, 4 -/* 0033DC 700027DC 24840004 */ addiu $a0, $a0, 4 -/* 0033E0 700027E0 25CF001F */ addiu $t7, $t6, 0x1f -/* 0033E4 700027E4 05E10004 */ bgez $t7, .L700027F8 -/* 0033E8 700027E8 31F8001F */ andi $t8, $t7, 0x1f -/* 0033EC 700027EC 13000002 */ beqz $t8, .L700027F8 -/* 0033F0 700027F0 00000000 */ nop -/* 0033F4 700027F4 2718FFE0 */ addiu $t8, $t8, -0x20 -.L700027F8: -/* 0033F8 700027F8 1462FFF6 */ bne $v1, $v0, .L700027D4 -/* 0033FC 700027FC AC98FFFC */ sw $t8, -4($a0) -/* 003400 70002800 8FBF0014 */ lw $ra, 0x14($sp) -/* 003404 70002804 27BD0018 */ addiu $sp, $sp, 0x18 -/* 003408 70002808 03E00008 */ jr $ra -/* 00340C 7000280C 00000000 */ nop -) -#endif - - -/** - * 3410 70002810 - */ -#ifdef NONMATCHING -void *video_related_2(void) -{ - void *temp_a0; - void *temp_v1; - void *phi_a0; - void *phi_v1; - - dword_CODE_bss_800604A4 = (?32) dword_CODE_bss_800604A8; - phi_a0 = &dword_CODE_bss_800607C0; - phi_v1 = &dword_CODE_bss_800607B0; -block_1: - temp_a0 = (phi_a0 + 4); - temp_v1 = (phi_v1 + 4); - temp_v1->unk-4 = (?32) *phi_a0; - phi_a0 = temp_a0; - phi_v1 = temp_v1; - if (temp_a0 != &dword_CODE_bss_800607CC) - { - goto block_1; - } - return &dword_CODE_bss_800607CC; -} -#else -GLOBAL_ASM( -.text -glabel video_related_2 -/* 003410 70002810 3C0E8006 */ lui $t6, %hi(dword_CODE_bss_800604A8) -/* 003414 70002814 8DCE04A8 */ lw $t6, %lo(dword_CODE_bss_800604A8)($t6) -/* 003418 70002818 3C018006 */ lui $at, %hi(dword_CODE_bss_800604A4) -/* 00341C 7000281C 3C038006 */ lui $v1, %hi(dword_CODE_bss_800607B0) -/* 003420 70002820 3C048006 */ lui $a0, %hi(dword_CODE_bss_800607C0) -/* 003424 70002824 3C028006 */ lui $v0, %hi(dword_CODE_bss_800607CC) -/* 003428 70002828 244207CC */ addiu $v0, %lo(dword_CODE_bss_800607CC) # addiu $v0, $v0, 0x7cc -/* 00342C 7000282C 248407C0 */ addiu $a0, %lo(dword_CODE_bss_800607C0) # addiu $a0, $a0, 0x7c0 -/* 003430 70002830 246307B0 */ addiu $v1, %lo(dword_CODE_bss_800607B0) # addiu $v1, $v1, 0x7b0 -/* 003434 70002834 AC2E04A4 */ sw $t6, %lo(dword_CODE_bss_800604A4)($at) -.L70002838: -/* 003438 70002838 8C8F0000 */ lw $t7, ($a0) -/* 00343C 7000283C 24840004 */ addiu $a0, $a0, 4 -/* 003440 70002840 24630004 */ addiu $v1, $v1, 4 -/* 003444 70002844 1482FFFC */ bne $a0, $v0, .L70002838 -/* 003448 70002848 AC6FFFFC */ sw $t7, -4($v1) -/* 00344C 7000284C 03E00008 */ jr $ra -/* 003450 70002850 00000000 */ nop -) -#endif - - -/** - * 3454 70002854 - */ -#ifdef NONMATCHING -void video_related_3(s32 arg0) -{ - s32 sp34; - void *sp2C; - void *sp24; - void *sp1C; - s32 temp_a3; - s32 temp_v1; - void *temp_t0; - s32 temp_a0; - void *temp_v0; - s32 temp_a1; - s32 phi_a2; - s32 phi_a1; - - temp_a3 = (arg0 & 0xffff); - temp_v1 = (temp_a3 * 4); - temp_t0 = (temp_v1 + &dword_CODE_bss_800607D0); - temp_a0 = (arg0 >> 0x10); - sp34 = osSetIntMask(1); - if (temp_a0 == 3) - { - phi_a2 = ((0x80060000 + temp_v1)->unk-C10 | 0x8000); - } - else - { - phi_a2 = temp_a0; - if (temp_a0 == 6) - { - phi_a2 = ((0x80060000 + temp_v1)->unk-C10 & 0x7fff); - } - } - temp_v0 = (((temp_a3 << 8) + (*temp_t0 * 8)) + &dword_CODE_bss_800604B0); - sp2C = temp_v0; - *temp_v0 = (s32) phi_a2; - sp24 = (void *) (temp_v1 + &dword_CODE_bss_8005F3F0); - sp1C = temp_t0; - sp2C->unk4 = osGetCount(temp_a0, *temp_t0, phi_a2, temp_a3); - temp_a1 = (sp30 + 1); - *sp24 = sp38; - phi_a1 = temp_a1; - if (temp_a1 >= 0x20) - { - phi_a1 = 0; - } - *temp_t0 = (s32) phi_a1; - osSetIntMask(sp34, phi_a1, sp38); -} -#else -GLOBAL_ASM( -.text -glabel video_related_3 -/* 003454 70002854 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 003458 70002858 AFBF0014 */ sw $ra, 0x14($sp) -/* 00345C 7000285C AFA40040 */ sw $a0, 0x40($sp) -/* 003460 70002860 0C00374C */ jal osSetIntMask -/* 003464 70002864 24040001 */ li $a0, 1 -/* 003468 70002868 8FA90040 */ lw $t1, 0x40($sp) -/* 00346C 7000286C 3C0E8006 */ lui $t6, %hi(dword_CODE_bss_800607D0) -/* 003470 70002870 25CE07D0 */ addiu $t6, %lo(dword_CODE_bss_800607D0) # addiu $t6, $t6, 0x7d0 -/* 003474 70002874 3127FFFF */ andi $a3, $t1, 0xffff -/* 003478 70002878 00071880 */ sll $v1, $a3, 2 -/* 00347C 7000287C 006E4021 */ addu $t0, $v1, $t6 -/* 003480 70002880 24010003 */ li $at, 3 -/* 003484 70002884 00092403 */ sra $a0, $t1, 0x10 -/* 003488 70002888 AFA20034 */ sw $v0, 0x34($sp) -/* 00348C 7000288C 00803025 */ move $a2, $a0 -/* 003490 70002890 14810007 */ bne $a0, $at, .L700028B0 -/* 003494 70002894 8D050000 */ lw $a1, ($t0) -/* 003498 70002898 3C068006 */ lui $a2, %hi(dword_CODE_bss_8005F3F0) -/* 00349C 7000289C 00C33021 */ addu $a2, $a2, $v1 -/* 0034A0 700028A0 8CC6F3F0 */ lw $a2, %lo(dword_CODE_bss_8005F3F0)($a2) -/* 0034A4 700028A4 34CF8000 */ ori $t7, $a2, 0x8000 -/* 0034A8 700028A8 10000009 */ b .L700028D0 -/* 0034AC 700028AC 01E03025 */ move $a2, $t7 -.L700028B0: -/* 0034B0 700028B0 24010006 */ li $at, 6 -/* 0034B4 700028B4 54810007 */ bnel $a0, $at, .L700028D4 -/* 0034B8 700028B8 0007CA00 */ sll $t9, $a3, 8 -/* 0034BC 700028BC 3C068006 */ lui $a2, %hi(dword_CODE_bss_8005F3F0) -/* 0034C0 700028C0 00C33021 */ addu $a2, $a2, $v1 -/* 0034C4 700028C4 8CC6F3F0 */ lw $a2, %lo(dword_CODE_bss_8005F3F0)($a2) -/* 0034C8 700028C8 30D87FFF */ andi $t8, $a2, 0x7fff -/* 0034CC 700028CC 03003025 */ move $a2, $t8 -.L700028D0: -/* 0034D0 700028D0 0007CA00 */ sll $t9, $a3, 8 -.L700028D4: -/* 0034D4 700028D4 000550C0 */ sll $t2, $a1, 3 -/* 0034D8 700028D8 3C0C8006 */ lui $t4, %hi(dword_CODE_bss_800604B0) -/* 0034DC 700028DC 3C0D8006 */ lui $t5, %hi(dword_CODE_bss_8005F3F0) -/* 0034E0 700028E0 258C04B0 */ addiu $t4, %lo(dword_CODE_bss_800604B0) # addiu $t4, $t4, 0x4b0 -/* 0034E4 700028E4 032A5821 */ addu $t3, $t9, $t2 -/* 0034E8 700028E8 25ADF3F0 */ addiu $t5, %lo(dword_CODE_bss_8005F3F0) # addiu $t5, $t5, -0xc10 -/* 0034EC 700028EC 016C1021 */ addu $v0, $t3, $t4 -/* 0034F0 700028F0 006D7021 */ addu $t6, $v1, $t5 -/* 0034F4 700028F4 AFA2002C */ sw $v0, 0x2c($sp) -/* 0034F8 700028F8 AC460000 */ sw $a2, ($v0) -/* 0034FC 700028FC AFAE0024 */ sw $t6, 0x24($sp) -/* 003500 70002900 AFA50030 */ sw $a1, 0x30($sp) -/* 003504 70002904 AFA60038 */ sw $a2, 0x38($sp) -/* 003508 70002908 0C003638 */ jal osGetCount -/* 00350C 7000290C AFA8001C */ sw $t0, 0x1c($sp) -/* 003510 70002910 8FAF002C */ lw $t7, 0x2c($sp) -/* 003514 70002914 8FA50030 */ lw $a1, 0x30($sp) -/* 003518 70002918 8FA60038 */ lw $a2, 0x38($sp) -/* 00351C 7000291C 8FA8001C */ lw $t0, 0x1c($sp) -/* 003520 70002920 ADE20004 */ sw $v0, 4($t7) -/* 003524 70002924 8FB80024 */ lw $t8, 0x24($sp) -/* 003528 70002928 24A50001 */ addiu $a1, $a1, 1 -/* 00352C 7000292C 28A10020 */ slti $at, $a1, 0x20 -/* 003530 70002930 14200002 */ bnez $at, .L7000293C -/* 003534 70002934 AF060000 */ sw $a2, ($t8) -/* 003538 70002938 00002825 */ move $a1, $zero -.L7000293C: -/* 00353C 7000293C AD050000 */ sw $a1, ($t0) -/* 003540 70002940 0C00374C */ jal osSetIntMask -/* 003544 70002944 8FA40034 */ lw $a0, 0x34($sp) -/* 003548 70002948 8FBF0014 */ lw $ra, 0x14($sp) -/* 00354C 7000294C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 003550 70002950 03E00008 */ jr $ra -/* 003554 70002954 00000000 */ nop -) -#endif - - -/** - * 3558 70002958 draw "display speed" display - * accepts: A0=p->display list - */ -#ifdef NONMATCHING -void display_speed_graph(void) { - -} -#else -GLOBAL_ASM( -.text -glabel display_speed_graph -/* 003558 70002958 3C038005 */ lui $v1, %hi(D_80048498) -/* 00355C 7000295C 3C0E8002 */ lui $t6, %hi(D_80023228) -/* 003560 70002960 8C638498 */ lw $v1, %lo(D_80048498)($v1) -/* 003564 70002964 8DCE3228 */ lw $t6, %lo(D_80023228)($t6) -/* 003568 70002968 3C028002 */ lui $v0, %hi(D_80023224) -/* 00356C 7000296C 8C423224 */ lw $v0, %lo(D_80023224)($v0) -/* 003570 70002970 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 003574 70002974 01C3082A */ slt $at, $t6, $v1 -/* 003578 70002978 AFBF001C */ sw $ra, 0x1c($sp) -/* 00357C 7000297C AFB00018 */ sw $s0, 0x18($sp) -/* 003580 70002980 10200003 */ beqz $at, .L70002990 -/* 003584 70002984 00431021 */ addu $v0, $v0, $v1 -/* 003588 70002988 3C018002 */ lui $at, %hi(D_80023228) -/* 00358C 7000298C AC233228 */ sw $v1, %lo(D_80023228)($at) -.L70002990: -/* 003590 70002990 3C018002 */ lui $at, %hi(D_80023224) -/* 003594 70002994 AC223224 */ sw $v0, %lo(D_80023224)($at) -/* 003598 70002998 2C410015 */ sltiu $at, $v0, 0x15 -/* 00359C 7000299C 142000BB */ bnez $at, .L70002C8C -/* 0035A0 700029A0 3C018002 */ lui $at, %hi(D_80023224) -/* 0035A4 700029A4 AC223224 */ sw $v0, %lo(D_80023224)($at) -/* 0035A8 700029A8 2C410015 */ sltiu $at, $v0, 0x15 -/* 0035AC 700029AC 14200006 */ bnez $at, .L700029C8 -/* 0035B0 700029B0 2442FFEC */ addiu $v0, $v0, -0x14 -.L700029B4: -/* 0035B4 700029B4 2C410015 */ sltiu $at, $v0, 0x15 -/* 0035B8 700029B8 5020FFFE */ beql $at, $zero, .L700029B4 -/* 0035BC 700029BC 2442FFEC */ addiu $v0, $v0, -0x14 -/* 0035C0 700029C0 3C018002 */ lui $at, %hi(D_80023224) -/* 0035C4 700029C4 AC223224 */ sw $v0, %lo(D_80023224)($at) -.L700029C8: -/* 0035C8 700029C8 0C000447 */ jal get_counters -/* 0035CC 700029CC AFA40048 */ sw $a0, 0x48($sp) -/* 0035D0 700029D0 AFA20044 */ sw $v0, 0x44($sp) -/* 0035D4 700029D4 240400FF */ li $a0, 255 -/* 0035D8 700029D8 240500FF */ li $a1, 255 -/* 0035DC 700029DC 240600FF */ li $a2, 255 -/* 0035E0 700029E0 0C002C1B */ jal set_debug_text_color -/* 0035E4 700029E4 240700FF */ li $a3, 255 -/* 0035E8 700029E8 00002025 */ move $a0, $zero -/* 0035EC 700029EC 00002825 */ move $a1, $zero -/* 0035F0 700029F0 00003025 */ move $a2, $zero -/* 0035F4 700029F4 0C002C26 */ jal set_color_speedgraph -/* 0035F8 700029F8 240700FF */ li $a3, 255 -/* 0035FC 700029FC 24040008 */ li $a0, 8 -/* 003600 70002A00 0C002C10 */ jal set_final_debug_text_positions -/* 003604 70002A04 24050005 */ li $a1, 5 -/* 003608 70002A08 8FA20044 */ lw $v0, 0x44($sp) -/* 00360C 70002A0C 27B00030 */ addiu $s0, $sp, 0x30 -/* 003610 70002A10 3C058003 */ lui $a1, %hi(aUtz2_0f) -/* 003614 70002A14 8C4F0004 */ lw $t7, 4($v0) -/* 003618 70002A18 8C58000C */ lw $t8, 0xc($v0) -/* 00361C 70002A1C 24A58420 */ addiu $a1, %lo(aUtz2_0f) # addiu $a1, $a1, -0x7be0 -/* 003620 70002A20 02002025 */ move $a0, $s0 -/* 003624 70002A24 01F8C823 */ subu $t9, $t7, $t8 -/* 003628 70002A28 44992000 */ mtc1 $t9, $f4 -/* 00362C 70002A2C 07210005 */ bgez $t9, .L70002A44 -/* 003630 70002A30 468021A0 */ cvt.s.w $f6, $f4 -/* 003634 70002A34 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 003638 70002A38 44814000 */ mtc1 $at, $f8 -/* 00363C 70002A3C 00000000 */ nop -/* 003640 70002A40 46083180 */ add.s $f6, $f6, $f8 -.L70002A44: -/* 003644 70002A44 8C480000 */ lw $t0, ($v0) -/* 003648 70002A48 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 00364C 70002A4C 44815000 */ mtc1 $at, $f10 -/* 003650 70002A50 44889000 */ mtc1 $t0, $f18 -/* 003654 70002A54 460A3402 */ mul.s $f16, $f6, $f10 -/* 003658 70002A58 05010005 */ bgez $t0, .L70002A70 -/* 00365C 70002A5C 46809120 */ cvt.s.w $f4, $f18 -/* 003660 70002A60 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 003664 70002A64 44814000 */ mtc1 $at, $f8 -/* 003668 70002A68 00000000 */ nop -/* 00366C 70002A6C 46082100 */ add.s $f4, $f4, $f8 -.L70002A70: -/* 003670 70002A70 46048183 */ div.s $f6, $f16, $f4 -/* 003674 70002A74 460032A1 */ cvt.d.s $f10, $f6 -/* 003678 70002A78 44075000 */ mfc1 $a3, $f10 -/* 00367C 70002A7C 44065800 */ mfc1 $a2, $f11 -/* 003680 70002A80 0C002B25 */ jal sprintf -/* 003684 70002A84 00000000 */ nop -/* 003688 70002A88 0C002C7A */ jal write_string_stdout -/* 00368C 70002A8C 02002025 */ move $a0, $s0 -/* 003690 70002A90 24040008 */ li $a0, 8 -/* 003694 70002A94 0C002C10 */ jal set_final_debug_text_positions -/* 003698 70002A98 24050006 */ li $a1, 6 -/* 00369C 70002A9C 8FA30044 */ lw $v1, 0x44($sp) -/* 0036A0 70002AA0 3C058003 */ lui $a1, %hi(aRsp2_0f) -/* 0036A4 70002AA4 24A58430 */ addiu $a1, %lo(aRsp2_0f) # addiu $a1, $a1, -0x7bd0 -/* 0036A8 70002AA8 8C620000 */ lw $v0, ($v1) -/* 0036AC 70002AAC 8C690004 */ lw $t1, 4($v1) -/* 0036B0 70002AB0 02002025 */ move $a0, $s0 -/* 0036B4 70002AB4 44825000 */ mtc1 $v0, $f10 -/* 0036B8 70002AB8 00495023 */ subu $t2, $v0, $t1 -/* 0036BC 70002ABC 448A9000 */ mtc1 $t2, $f18 -/* 0036C0 70002AC0 05410005 */ bgez $t2, .L70002AD8 -/* 0036C4 70002AC4 46809220 */ cvt.s.w $f8, $f18 -/* 0036C8 70002AC8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0036CC 70002ACC 44818000 */ mtc1 $at, $f16 -/* 0036D0 70002AD0 00000000 */ nop -/* 0036D4 70002AD4 46104200 */ add.s $f8, $f8, $f16 -.L70002AD8: -/* 0036D8 70002AD8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0036DC 70002ADC 44812000 */ mtc1 $at, $f4 -/* 0036E0 70002AE0 468054A0 */ cvt.s.w $f18, $f10 -/* 0036E4 70002AE4 46044182 */ mul.s $f6, $f8, $f4 -/* 0036E8 70002AE8 04410004 */ bgez $v0, .L70002AFC -/* 0036EC 70002AEC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0036F0 70002AF0 44818000 */ mtc1 $at, $f16 -/* 0036F4 70002AF4 00000000 */ nop -/* 0036F8 70002AF8 46109480 */ add.s $f18, $f18, $f16 -.L70002AFC: -/* 0036FC 70002AFC 46123203 */ div.s $f8, $f6, $f18 -/* 003700 70002B00 46004121 */ cvt.d.s $f4, $f8 -/* 003704 70002B04 44072000 */ mfc1 $a3, $f4 -/* 003708 70002B08 44062800 */ mfc1 $a2, $f5 -/* 00370C 70002B0C 0C002B25 */ jal sprintf -/* 003710 70002B10 00000000 */ nop -/* 003714 70002B14 0C002C7A */ jal write_string_stdout -/* 003718 70002B18 02002025 */ move $a0, $s0 -/* 00371C 70002B1C 24040008 */ li $a0, 8 -/* 003720 70002B20 0C002C10 */ jal set_final_debug_text_positions -/* 003724 70002B24 24050007 */ li $a1, 7 -/* 003728 70002B28 8FAB0044 */ lw $t3, 0x44($sp) -/* 00372C 70002B2C 3C058003 */ lui $a1, %hi(aTex2_0f) -/* 003730 70002B30 24A58440 */ addiu $a1, %lo(aTex2_0f) # addiu $a1, $a1, -0x7bc0 -/* 003734 70002B34 8D6C000C */ lw $t4, 0xc($t3) -/* 003738 70002B38 02002025 */ move $a0, $s0 -/* 00373C 70002B3C 448C5000 */ mtc1 $t4, $f10 -/* 003740 70002B40 05810005 */ bgez $t4, .L70002B58 -/* 003744 70002B44 46805420 */ cvt.s.w $f16, $f10 -/* 003748 70002B48 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 00374C 70002B4C 44813000 */ mtc1 $at, $f6 -/* 003750 70002B50 00000000 */ nop -/* 003754 70002B54 46068400 */ add.s $f16, $f16, $f6 -.L70002B58: -/* 003758 70002B58 8D6D0000 */ lw $t5, ($t3) -/* 00375C 70002B5C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 003760 70002B60 44819000 */ mtc1 $at, $f18 -/* 003764 70002B64 448D2000 */ mtc1 $t5, $f4 -/* 003768 70002B68 46128202 */ mul.s $f8, $f16, $f18 -/* 00376C 70002B6C 05A10005 */ bgez $t5, .L70002B84 -/* 003770 70002B70 468022A0 */ cvt.s.w $f10, $f4 -/* 003774 70002B74 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 003778 70002B78 44813000 */ mtc1 $at, $f6 -/* 00377C 70002B7C 00000000 */ nop -/* 003780 70002B80 46065280 */ add.s $f10, $f10, $f6 -.L70002B84: -/* 003784 70002B84 460A4403 */ div.s $f16, $f8, $f10 -/* 003788 70002B88 460084A1 */ cvt.d.s $f18, $f16 -/* 00378C 70002B8C 44079000 */ mfc1 $a3, $f18 -/* 003790 70002B90 44069800 */ mfc1 $a2, $f19 -/* 003794 70002B94 0C002B25 */ jal sprintf -/* 003798 70002B98 00000000 */ nop -/* 00379C 70002B9C 0C002C7A */ jal write_string_stdout -/* 0037A0 70002BA0 02002025 */ move $a0, $s0 -/* 0037A4 70002BA4 2404001C */ li $a0, 28 -/* 0037A8 70002BA8 0C002C10 */ jal set_final_debug_text_positions -/* 0037AC 70002BAC 24050005 */ li $a1, 5 -/* 0037B0 70002BB0 3C038005 */ lui $v1, %hi(D_80048498) -/* 0037B4 70002BB4 8C638498 */ lw $v1, %lo(D_80048498)($v1) -/* 0037B8 70002BB8 02002025 */ move $a0, $s0 -/* 0037BC 70002BBC 3C058003 */ lui $a1, %hi(a2dHz) -/* 0037C0 70002BC0 14600003 */ bnez $v1, .L70002BD0 -/* 0037C4 70002BC4 240E003C */ li $t6, 60 -/* 0037C8 70002BC8 1000000C */ b .L70002BFC -/* 0037CC 70002BCC 00003025 */ move $a2, $zero -.L70002BD0: -/* 0037D0 70002BD0 01C3001A */ div $zero, $t6, $v1 -/* 0037D4 70002BD4 00003012 */ mflo $a2 -/* 0037D8 70002BD8 14600002 */ bnez $v1, .L70002BE4 -/* 0037DC 70002BDC 00000000 */ nop -/* 0037E0 70002BE0 0007000D */ break 7 -.L70002BE4: -/* 0037E4 70002BE4 2401FFFF */ li $at, -1 -/* 0037E8 70002BE8 14610004 */ bne $v1, $at, .L70002BFC -/* 0037EC 70002BEC 3C018000 */ lui $at, 0x8000 -/* 0037F0 70002BF0 15C10002 */ bne $t6, $at, .L70002BFC -/* 0037F4 70002BF4 00000000 */ nop -/* 0037F8 70002BF8 0006000D */ break 6 -.L70002BFC: -/* 0037FC 70002BFC 0C002B25 */ jal sprintf -/* 003800 70002C00 24A5844C */ addiu $a1, %lo(a2dHz) # addiu $a1, $a1, -0x7bb4 -/* 003804 70002C04 0C002C7A */ jal write_string_stdout -/* 003808 70002C08 02002025 */ move $a0, $s0 -/* 00380C 70002C0C 2404001C */ li $a0, 28 -/* 003810 70002C10 0C002C10 */ jal set_final_debug_text_positions -/* 003814 70002C14 24050006 */ li $a1, 6 -/* 003818 70002C18 3C058003 */ lui $a1, %hi(a2dFrames) -/* 00381C 70002C1C 3C068005 */ lui $a2, %hi(D_80048498) -/* 003820 70002C20 8CC68498 */ lw $a2, %lo(D_80048498)($a2) -/* 003824 70002C24 24A58454 */ addiu $a1, %lo(a2dFrames) # addiu $a1, $a1, -0x7bac -/* 003828 70002C28 0C002B25 */ jal sprintf -/* 00382C 70002C2C 02002025 */ move $a0, $s0 -/* 003830 70002C30 0C002C7A */ jal write_string_stdout -/* 003834 70002C34 02002025 */ move $a0, $s0 -/* 003838 70002C38 3C0F8002 */ lui $t7, %hi(D_80023228) -/* 00383C 70002C3C 3C188005 */ lui $t8, %hi(D_80048498) -/* 003840 70002C40 8F188498 */ lw $t8, %lo(D_80048498)($t8) -/* 003844 70002C44 8DEF3228 */ lw $t7, %lo(D_80023228)($t7) -/* 003848 70002C48 02002025 */ move $a0, $s0 -/* 00384C 70002C4C 3C058003 */ lui $a1, %hi(asc_D_80028468) -/* 003850 70002C50 11F80007 */ beq $t7, $t8, .L70002C70 -/* 003854 70002C54 01E03025 */ move $a2, $t7 -/* 003858 70002C58 3C058003 */ lui $a1, %hi(a2d) -/* 00385C 70002C5C 24A58460 */ addiu $a1, %lo(a2d) # addiu $a1, $a1, -0x7ba0 -/* 003860 70002C60 0C002B25 */ jal sprintf -/* 003864 70002C64 02002025 */ move $a0, $s0 -/* 003868 70002C68 10000003 */ b .L70002C78 -/* 00386C 70002C6C 00000000 */ nop -.L70002C70: -/* 003870 70002C70 0C002B25 */ jal sprintf -/* 003874 70002C74 24A58468 */ addiu $a1, $a1, %lo(asc_D_80028468) -.L70002C78: -/* 003878 70002C78 0C002C7A */ jal write_string_stdout -/* 00387C 70002C7C 02002025 */ move $a0, $s0 -/* 003880 70002C80 3C018002 */ lui $at, %hi(D_80023228) -/* 003884 70002C84 AC203228 */ sw $zero, %lo(D_80023228)($at) -/* 003888 70002C88 8FA40048 */ lw $a0, 0x48($sp) -.L70002C8C: -/* 00388C 70002C8C 3C190600 */ lui $t9, 0x600 -/* 003890 70002C90 AC990000 */ sw $t9, ($a0) -/* 003894 70002C94 3C088006 */ lui $t0, %hi(displaylist_bank) -/* 003898 70002C98 8D0804A0 */ lw $t0, %lo(displaylist_bank)($t0) -/* 00389C 70002C9C 3C0C8006 */ lui $t4, %hi(displaylist_0) -/* 0038A0 70002CA0 258CF400 */ addiu $t4, %lo(displaylist_0) # addiu $t4, $t4, -0xc00 -/* 0038A4 70002CA4 39090001 */ xori $t1, $t0, 1 -/* 0038A8 70002CA8 00095140 */ sll $t2, $t1, 5 -/* 0038AC 70002CAC 01495021 */ addu $t2, $t2, $t1 -/* 0038B0 70002CB0 000A5080 */ sll $t2, $t2, 2 -/* 0038B4 70002CB4 01495021 */ addu $t2, $t2, $t1 -/* 0038B8 70002CB8 000A5100 */ sll $t2, $t2, 4 -/* 0038BC 70002CBC 014C5821 */ addu $t3, $t2, $t4 -/* 0038C0 70002CC0 AC8B0004 */ sw $t3, 4($a0) -/* 0038C4 70002CC4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0038C8 70002CC8 8FB00018 */ lw $s0, 0x18($sp) -/* 0038CC 70002CCC 24820008 */ addiu $v0, $a0, 8 -/* 0038D0 70002CD0 03E00008 */ jr $ra -/* 0038D4 70002CD4 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - -/** - * 38D8 70002CD8 - */ -#ifdef NONMATCHING -u32 video_DL_related_4(void) -{ - s32 spC8; - ? spB8; - ? spAC; - ? spA0; - s32 sp80; - void *sp70; - u32 temp_v0; - u32 temp_s4; - u32 temp_s5; - void *temp_s4_2; - void *temp_s5_2; - void *temp_v0_2; - void *temp_t0; - f32 temp_f12; - s32 temp_s3; - s32 temp_s1; - s32 temp_t9; - s32 temp_t3; - u32 temp_ret; - u32 phi_s4; - u32 phi_s5; - s32 phi_s1; - u32 phi_v1; - s32 phi_a1; - void *phi_s3; - void *phi_v0; - s32 phi_s2; - s32 phi_t9; - s32 phi_a1_2; - s32 phi_a1_3; - void *phi_s3_2; - u32 phi_return; - void *phi_s3_3; - void *phi_s3_4; - s32 phi_s3_5; - - temp_v0 = (counterforframes + D_80048498); - counterforframes = temp_v0; - if (temp_v0 >= 0xc9U) - { - D_80023234 = (s32) (D_80023234 ^ 1); - counterforframes = (u32) (temp_v0 + -0xc8); - } - D_8002322C = (s32) (D_8002322C + 1); - phi_return = temp_v0; - if (D_80023234 != (D_8002322C & 1)) - { - phi_s4 = &spAC; -block_4: - temp_s4 = (phi_s4 + 4); - temp_s4->unk-4 = 0; - phi_s4 = temp_s4; - if (temp_s4 < &spB8) - { - goto block_4; - } - phi_s5 = &spA0; -block_6: - temp_s5 = (phi_s5 + 4); - temp_s5->unk-4 = (u32) dword_CODE_bss_800604A4; - phi_s5 = temp_s5; - if (temp_s5 < &spAC) - { - goto block_6; - } - sp70 = &dword_CODE_bss_800607B0; - spC8 = 0; - sp80 = 0; - phi_s3_4 = sub_GAME_7F0D1AC0(((displaylist_bank * 0x850) + &displaylist_0)); -block_8: - temp_s4_2 = (sp80 + &spAC); - phi_a1_3 = subroutine_arg0; - phi_s3_2 = phi_s3_4; - if (*sp70 != subroutine_arg0) - { - temp_s5_2 = (sp80 + &spA0); - phi_s1 = *sp70; - phi_a1 = subroutine_arg0; - phi_s3 = phi_s3_4; -block_10: - temp_v0_2 = (((spC8 << 8) + &dword_CODE_bss_800604B0) + (phi_s1 * 8)); - phi_s2 = *temp_v0_2; - if ((*temp_v0_2 & 0x8000) != 0) - { - phi_s2 = 3; - } - phi_v1 = *temp_s5_2; - if ((u32) *temp_s5_2 < (u32) dword_CODE_bss_800604A4) - { - phi_v1 = dword_CODE_bss_800604A4; - } - phi_a1_2 = phi_a1; - phi_s3_3 = phi_s3; - if ((u32) temp_v0_2->unk4 >= (u32) dword_CODE_bss_800604A4) - { - phi_a1_2 = phi_a1; - phi_s3_3 = phi_s3; - if ((u32) temp_v0_2->unk4 >= (u32) phi_v1) - { - if (1 != *temp_s4_2) - { - if (*temp_s4_2 != 3) - { - if ((*temp_s4_2 & 0x8000) == 0) - { - if ((temp_v0_2->unk4 - phi_v1) < 0) - { - - } - } - } - } - temp_t0 = ((*temp_s4_2 * 0x10) + &D_800231D4+4); - temp_f12 = ((f32) (u32) (temp_v0_2->unk4 - phi_v1) / aIL0); - if (1 == *temp_s4_2) - { - sub_GAME_7F0D1DCC(temp_f12, dword_CODE_bss_800604A4, phi_a1); - phi_v0 = phi_s3; - phi_s3_5 = (s32) phi_s3; - } - else - { - temp_s3 = sub_GAME_7F0D1BD0(temp_f12, phi_s3, temp_f12, (((s32) temp_t0->unk4 >> 0x18) & 0xff), (((s32) temp_t0->unk4 >> 0x10) & 0xff), (s32) (((s32) temp_t0->unk4 >> 8) & 0xff), (?32) temp_t0->unk8, (?32) temp_t0->unkC); - phi_v0 = temp_s3; - phi_s3_5 = temp_s3; - } - *phi_v0 = 0xe7000000; - phi_v0->unk4 = 0; - phi_a1_2 = subroutine_arg0; - phi_s3_3 = (phi_s3_5 + 8); - } - } - temp_s1 = (phi_s1 + 1); - *temp_s4_2 = (s32) phi_s2; - *temp_s5_2 = (u32) temp_v0_2->unk4; - temp_t9 = (temp_s1 & 0x1f); - phi_t9 = temp_t9; - if (temp_s1 < 0) - { - phi_t9 = temp_t9; - if (temp_t9 != 0) - { - phi_t9 = (temp_t9 + -0x20); - } - } - phi_s1 = phi_t9; - phi_a1 = phi_a1_2; - phi_s3 = phi_s3_3; - phi_a1_3 = phi_a1_2; - phi_s3_2 = phi_s3_3; - if (phi_t9 != phi_a1_2) - { - goto block_10; - } - } - if (spC8 < 2) - { - sub_GAME_7F0D2320(phi_a1_3); - } - temp_t3 = (spC8 + 1); - sp70 = (void *) (sp70 + 4); - sp80 = (s32) (sp80 + 4); - spC8 = temp_t3; - phi_s3_4 = phi_s3_2; - if (temp_t3 != 3) - { - goto block_8; - } - temp_ret = sub_GAME_7F0D1E98(phi_s3_2, 0, 0, 0); - *temp_ret = 0xe7000000; - temp_ret->unk4 = 0; - temp_ret->unk8 = 0xb8000000; - temp_ret->unkC = 0; - displaylist_bank = (s32) (displaylist_bank ^ 1); - phi_return = temp_ret; - } - return phi_return; -} -#else -GLOBAL_ASM( -.text -glabel video_DL_related_4 -/* 0038D8 70002CD8 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 0038DC 70002CDC 3C028002 */ lui $v0, %hi(counterforframes) -/* 0038E0 70002CE0 3C0E8005 */ lui $t6, %hi(D_80048498) -/* 0038E4 70002CE4 8C423230 */ lw $v0, %lo(counterforframes)($v0) -/* 0038E8 70002CE8 8DCE8498 */ lw $t6, %lo(D_80048498)($t6) -/* 0038EC 70002CEC 3C018002 */ lui $at, %hi(counterforframes) -/* 0038F0 70002CF0 AFBF005C */ sw $ra, 0x5c($sp) -/* 0038F4 70002CF4 004E1021 */ addu $v0, $v0, $t6 -/* 0038F8 70002CF8 AC223230 */ sw $v0, %lo(counterforframes)($at) -/* 0038FC 70002CFC 2C4100C9 */ sltiu $at, $v0, 0xc9 -/* 003900 70002D00 AFBE0058 */ sw $fp, 0x58($sp) -/* 003904 70002D04 AFB70054 */ sw $s7, 0x54($sp) -/* 003908 70002D08 AFB60050 */ sw $s6, 0x50($sp) -/* 00390C 70002D0C AFB5004C */ sw $s5, 0x4c($sp) -/* 003910 70002D10 AFB40048 */ sw $s4, 0x48($sp) -/* 003914 70002D14 AFB30044 */ sw $s3, 0x44($sp) -/* 003918 70002D18 AFB20040 */ sw $s2, 0x40($sp) -/* 00391C 70002D1C AFB1003C */ sw $s1, 0x3c($sp) -/* 003920 70002D20 AFB00038 */ sw $s0, 0x38($sp) -/* 003924 70002D24 F7B60030 */ sdc1 $f22, 0x30($sp) -/* 003928 70002D28 14200009 */ bnez $at, .L70002D50 -/* 00392C 70002D2C F7B40028 */ sdc1 $f20, 0x28($sp) -/* 003930 70002D30 3C0F8002 */ lui $t7, %hi(D_80023234) -/* 003934 70002D34 8DEF3234 */ lw $t7, %lo(D_80023234)($t7) -/* 003938 70002D38 3C018002 */ lui $at, %hi(D_80023234) -/* 00393C 70002D3C 2442FF38 */ addiu $v0, $v0, -0xc8 -/* 003940 70002D40 39F80001 */ xori $t8, $t7, 1 -/* 003944 70002D44 AC383234 */ sw $t8, %lo(D_80023234)($at) -/* 003948 70002D48 3C018002 */ lui $at, %hi(counterforframes) -/* 00394C 70002D4C AC223230 */ sw $v0, %lo(counterforframes)($at) -.L70002D50: -/* 003950 70002D50 3C038002 */ lui $v1, %hi(D_8002322C) -/* 003954 70002D54 8C63322C */ lw $v1, %lo(D_8002322C)($v1) -/* 003958 70002D58 3C198002 */ lui $t9, %hi(D_80023234) -/* 00395C 70002D5C 8F393234 */ lw $t9, %lo(D_80023234)($t9) -/* 003960 70002D60 30690001 */ andi $t1, $v1, 1 -/* 003964 70002D64 3C018002 */ lui $at, %hi(D_8002322C) -/* 003968 70002D68 24630001 */ addiu $v1, $v1, 1 -/* 00396C 70002D6C 132900AD */ beq $t9, $t1, .L70003024 -/* 003970 70002D70 AC23322C */ sw $v1, %lo(D_8002322C)($at) -/* 003974 70002D74 3C0A8006 */ lui $t2, %hi(displaylist_bank) -/* 003978 70002D78 8D4A04A0 */ lw $t2, %lo(displaylist_bank)($t2) -/* 00397C 70002D7C 3C0C8006 */ lui $t4, %hi(displaylist_0) -/* 003980 70002D80 258CF400 */ addiu $t4, %lo(displaylist_0) # addiu $t4, $t4, -0xc00 -/* 003984 70002D84 000A5940 */ sll $t3, $t2, 5 -/* 003988 70002D88 016A5821 */ addu $t3, $t3, $t2 -/* 00398C 70002D8C 000B5880 */ sll $t3, $t3, 2 -/* 003990 70002D90 016A5821 */ addu $t3, $t3, $t2 -/* 003994 70002D94 000B5900 */ sll $t3, $t3, 4 -/* 003998 70002D98 0FC346B0 */ jal sub_GAME_7F0D1AC0 -/* 00399C 70002D9C 016C2021 */ addu $a0, $t3, $t4 -/* 0039A0 70002DA0 00409825 */ move $s3, $v0 -/* 0039A4 70002DA4 27A200B8 */ addiu $v0, $sp, 0xb8 -/* 0039A8 70002DA8 27B400AC */ addiu $s4, $sp, 0xac -.L70002DAC: -/* 0039AC 70002DAC 26940004 */ addiu $s4, $s4, 4 -/* 0039B0 70002DB0 0282082B */ sltu $at, $s4, $v0 -/* 0039B4 70002DB4 1420FFFD */ bnez $at, .L70002DAC -/* 0039B8 70002DB8 AE80FFFC */ sw $zero, -4($s4) -/* 0039BC 70002DBC 3C048006 */ lui $a0, %hi(dword_CODE_bss_800604A4) -/* 0039C0 70002DC0 8C8404A4 */ lw $a0, %lo(dword_CODE_bss_800604A4)($a0) -/* 0039C4 70002DC4 27B500A0 */ addiu $s5, $sp, 0xa0 -/* 0039C8 70002DC8 27A200AC */ addiu $v0, $sp, 0xac -.L70002DCC: -/* 0039CC 70002DCC 26B50004 */ addiu $s5, $s5, 4 -/* 0039D0 70002DD0 02A2082B */ sltu $at, $s5, $v0 -/* 0039D4 70002DD4 1420FFFD */ bnez $at, .L70002DCC -/* 0039D8 70002DD8 AEA4FFFC */ sw $a0, -4($s5) -/* 0039DC 70002DDC 3C0D8006 */ lui $t5, %hi(dword_CODE_bss_800607B0) -/* 0039E0 70002DE0 25AD07B0 */ addiu $t5, %lo(dword_CODE_bss_800607B0) # addiu $t5, $t5, 0x7b0 -/* 0039E4 70002DE4 3C1E8006 */ lui $fp, %hi(dword_CODE_bss_800607D0) -/* 0039E8 70002DE8 3C018003 */ lui $at, %hi(aIL0) -/* 0039EC 70002DEC C4368470 */ lwc1 $f22, %lo(aIL0)($at) -/* 0039F0 70002DF0 27DE07D0 */ addiu $fp, %lo(dword_CODE_bss_800607D0) # addiu $fp, $fp, 0x7d0 -/* 0039F4 70002DF4 AFAD0070 */ sw $t5, 0x70($sp) -/* 0039F8 70002DF8 AFA000C8 */ sw $zero, 0xc8($sp) -/* 0039FC 70002DFC AFA00080 */ sw $zero, 0x80($sp) -/* 003A00 70002E00 24160001 */ li $s6, 1 -.L70002E04: -/* 003A04 70002E04 8FAE0070 */ lw $t6, 0x70($sp) -/* 003A08 70002E08 8FC50000 */ lw $a1, ($fp) -/* 003A0C 70002E0C 8FAF0080 */ lw $t7, 0x80($sp) -/* 003A10 70002E10 8DD10000 */ lw $s1, ($t6) -/* 003A14 70002E14 4480A000 */ mtc1 $zero, $f20 -/* 003A18 70002E18 27B800AC */ addiu $t8, $sp, 0xac -/* 003A1C 70002E1C 1225005F */ beq $s1, $a1, .L70002F9C -/* 003A20 70002E20 01F8A021 */ addu $s4, $t7, $t8 -/* 003A24 70002E24 8FA900C8 */ lw $t1, 0xc8($sp) -/* 003A28 70002E28 3C0B8006 */ lui $t3, %hi(dword_CODE_bss_800604B0) -/* 003A2C 70002E2C 256B04B0 */ addiu $t3, %lo(dword_CODE_bss_800604B0) # addiu $t3, $t3, 0x4b0 -/* 003A30 70002E30 27B900A0 */ addiu $t9, $sp, 0xa0 -/* 003A34 70002E34 00095200 */ sll $t2, $t1, 8 -/* 003A38 70002E38 014BB821 */ addu $s7, $t2, $t3 -/* 003A3C 70002E3C 01F9A821 */ addu $s5, $t7, $t9 -.L70002E40: -/* 003A40 70002E40 001160C0 */ sll $t4, $s1, 3 -/* 003A44 70002E44 02EC1021 */ addu $v0, $s7, $t4 -/* 003A48 70002E48 8C520000 */ lw $s2, ($v0) -/* 003A4C 70002E4C 3C048006 */ lui $a0, %hi(dword_CODE_bss_800604A4) -/* 003A50 70002E50 8C8404A4 */ lw $a0, %lo(dword_CODE_bss_800604A4)($a0) -/* 003A54 70002E54 324D8000 */ andi $t5, $s2, 0x8000 -/* 003A58 70002E58 51A00003 */ beql $t5, $zero, .L70002E68 -/* 003A5C 70002E5C 8EA30000 */ lw $v1, ($s5) -/* 003A60 70002E60 24120003 */ li $s2, 3 -/* 003A64 70002E64 8EA30000 */ lw $v1, ($s5) -.L70002E68: -/* 003A68 70002E68 8C500004 */ lw $s0, 4($v0) -/* 003A6C 70002E6C 0064082B */ sltu $at, $v1, $a0 -/* 003A70 70002E70 50200003 */ beql $at, $zero, .L70002E80 -/* 003A74 70002E74 0204082B */ sltu $at, $s0, $a0 -/* 003A78 70002E78 00801825 */ move $v1, $a0 -/* 003A7C 70002E7C 0204082B */ sltu $at, $s0, $a0 -.L70002E80: -/* 003A80 70002E80 1420003C */ bnez $at, .L70002F74 -/* 003A84 70002E84 0203082B */ sltu $at, $s0, $v1 -/* 003A88 70002E88 1420003A */ bnez $at, .L70002F74 -/* 003A8C 70002E8C 3C198002 */ lui $t9, %hi(D_800231D4) -/* 003A90 70002E90 8E820000 */ lw $v0, ($s4) -/* 003A94 70002E94 273931D4 */ addiu $t9, %lo(D_800231D4) # addiu $t9, $t9, 0x31d4 -/* 003A98 70002E98 02034823 */ subu $t1, $s0, $v1 -/* 003A9C 70002E9C 12C2000F */ beq $s6, $v0, .L70002EDC -/* 003AA0 70002EA0 00027900 */ sll $t7, $v0, 4 -/* 003AA4 70002EA4 24010003 */ li $at, 3 -/* 003AA8 70002EA8 1041000C */ beq $v0, $at, .L70002EDC -/* 003AAC 70002EAC 304E8000 */ andi $t6, $v0, 0x8000 -/* 003AB0 70002EB0 15C0000A */ bnez $t6, .L70002EDC -/* 003AB4 70002EB4 0203C023 */ subu $t8, $s0, $v1 -/* 003AB8 70002EB8 44982000 */ mtc1 $t8, $f4 -/* 003ABC 70002EBC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 003AC0 70002EC0 07010004 */ bgez $t8, .L70002ED4 -/* 003AC4 70002EC4 468021A0 */ cvt.s.w $f6, $f4 -/* 003AC8 70002EC8 44814000 */ mtc1 $at, $f8 -/* 003ACC 70002ECC 00000000 */ nop -/* 003AD0 70002ED0 46083180 */ add.s $f6, $f6, $f8 -.L70002ED4: -/* 003AD4 70002ED4 46163283 */ div.s $f10, $f6, $f22 -/* 003AD8 70002ED8 460AA500 */ add.s $f20, $f20, $f10 -.L70002EDC: -/* 003ADC 70002EDC 44898000 */ mtc1 $t1, $f16 -/* 003AE0 70002EE0 01F94021 */ addu $t0, $t7, $t9 -/* 003AE4 70002EE4 05210005 */ bgez $t1, .L70002EFC -/* 003AE8 70002EE8 468084A0 */ cvt.s.w $f18, $f16 -/* 003AEC 70002EEC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 003AF0 70002EF0 44812000 */ mtc1 $at, $f4 -/* 003AF4 70002EF4 00000000 */ nop -/* 003AF8 70002EF8 46049480 */ add.s $f18, $f18, $f4 -.L70002EFC: -/* 003AFC 70002EFC 16C20005 */ bne $s6, $v0, .L70002F14 -/* 003B00 70002F00 46169303 */ div.s $f12, $f18, $f22 -/* 003B04 70002F04 0FC34773 */ jal sub_GAME_7F0D1DCC -/* 003B08 70002F08 00000000 */ nop -/* 003B0C 70002F0C 10000014 */ b .L70002F60 -/* 003B10 70002F10 02601025 */ move $v0, $s3 -.L70002F14: -/* 003B14 70002F14 8D020004 */ lw $v0, 4($t0) -/* 003B18 70002F18 44056000 */ mfc1 $a1, $f12 -/* 003B1C 70002F1C 02602025 */ move $a0, $s3 -/* 003B20 70002F20 00026203 */ sra $t4, $v0, 8 -/* 003B24 70002F24 318D00FF */ andi $t5, $t4, 0xff -/* 003B28 70002F28 AFAD0010 */ sw $t5, 0x10($sp) -/* 003B2C 70002F2C 8D0E0008 */ lw $t6, 8($t0) -/* 003B30 70002F30 00023603 */ sra $a2, $v0, 0x18 -/* 003B34 70002F34 00023C03 */ sra $a3, $v0, 0x10 -/* 003B38 70002F38 AFAE0014 */ sw $t6, 0x14($sp) -/* 003B3C 70002F3C 8D18000C */ lw $t8, 0xc($t0) -/* 003B40 70002F40 30EB00FF */ andi $t3, $a3, 0xff -/* 003B44 70002F44 30CA00FF */ andi $t2, $a2, 0xff -/* 003B48 70002F48 01403025 */ move $a2, $t2 -/* 003B4C 70002F4C 01603825 */ move $a3, $t3 -/* 003B50 70002F50 0FC346F4 */ jal sub_GAME_7F0D1BD0 -/* 003B54 70002F54 AFB80018 */ sw $t8, 0x18($sp) -/* 003B58 70002F58 00409825 */ move $s3, $v0 -/* 003B5C 70002F5C 02601025 */ move $v0, $s3 -.L70002F60: -/* 003B60 70002F60 3C0FE700 */ lui $t7, 0xe700 -/* 003B64 70002F64 AC4F0000 */ sw $t7, ($v0) -/* 003B68 70002F68 AC400004 */ sw $zero, 4($v0) -/* 003B6C 70002F6C 26730008 */ addiu $s3, $s3, 8 -/* 003B70 70002F70 8FC50000 */ lw $a1, ($fp) -.L70002F74: -/* 003B74 70002F74 26310001 */ addiu $s1, $s1, 1 -/* 003B78 70002F78 AE920000 */ sw $s2, ($s4) -/* 003B7C 70002F7C AEB00000 */ sw $s0, ($s5) -/* 003B80 70002F80 06210004 */ bgez $s1, .L70002F94 -/* 003B84 70002F84 3239001F */ andi $t9, $s1, 0x1f -/* 003B88 70002F88 13200002 */ beqz $t9, .L70002F94 -/* 003B8C 70002F8C 00000000 */ nop -/* 003B90 70002F90 2739FFE0 */ addiu $t9, $t9, -0x20 -.L70002F94: -/* 003B94 70002F94 1725FFAA */ bne $t9, $a1, .L70002E40 -/* 003B98 70002F98 03208825 */ move $s1, $t9 -.L70002F9C: -/* 003B9C 70002F9C 8FA900C8 */ lw $t1, 0xc8($sp) -/* 003BA0 70002FA0 29210002 */ slti $at, $t1, 2 -/* 003BA4 70002FA4 50200004 */ beql $at, $zero, .L70002FB8 -/* 003BA8 70002FA8 8FAA00C8 */ lw $t2, 0xc8($sp) -/* 003BAC 70002FAC 0FC348C8 */ jal sub_GAME_7F0D2320 -/* 003BB0 70002FB0 00000000 */ nop -/* 003BB4 70002FB4 8FAA00C8 */ lw $t2, 0xc8($sp) -.L70002FB8: -/* 003BB8 70002FB8 8FAC0080 */ lw $t4, 0x80($sp) -/* 003BBC 70002FBC 8FAE0070 */ lw $t6, 0x70($sp) -/* 003BC0 70002FC0 24010003 */ li $at, 3 -/* 003BC4 70002FC4 254B0001 */ addiu $t3, $t2, 1 -/* 003BC8 70002FC8 258D0004 */ addiu $t5, $t4, 4 -/* 003BCC 70002FCC 25D80004 */ addiu $t8, $t6, 4 -/* 003BD0 70002FD0 AFB80070 */ sw $t8, 0x70($sp) -/* 003BD4 70002FD4 AFAD0080 */ sw $t5, 0x80($sp) -/* 003BD8 70002FD8 AFAB00C8 */ sw $t3, 0xc8($sp) -/* 003BDC 70002FDC 1561FF89 */ bne $t3, $at, .L70002E04 -/* 003BE0 70002FE0 27DE0004 */ addiu $fp, $fp, 4 -/* 003BE4 70002FE4 02602025 */ move $a0, $s3 -/* 003BE8 70002FE8 00002825 */ move $a1, $zero -/* 003BEC 70002FEC 00003025 */ move $a2, $zero -/* 003BF0 70002FF0 0FC347A6 */ jal sub_GAME_7F0D1E98 -/* 003BF4 70002FF4 00003825 */ move $a3, $zero -/* 003BF8 70002FF8 3C038006 */ lui $v1, %hi(displaylist_bank) -/* 003BFC 70002FFC 3C0FE700 */ lui $t7, 0xe700 -/* 003C00 70003000 3C19B800 */ lui $t9, 0xb800 -/* 003C04 70003004 246304A0 */ addiu $v1, %lo(displaylist_bank) # addiu $v1, $v1, 0x4a0 -/* 003C08 70003008 AC4F0000 */ sw $t7, ($v0) -/* 003C0C 7000300C AC400004 */ sw $zero, 4($v0) -/* 003C10 70003010 AC590008 */ sw $t9, 8($v0) -/* 003C14 70003014 AC40000C */ sw $zero, 0xc($v0) -/* 003C18 70003018 8C690000 */ lw $t1, ($v1) -/* 003C1C 7000301C 392A0001 */ xori $t2, $t1, 1 -/* 003C20 70003020 AC6A0000 */ sw $t2, ($v1) -.L70003024: -/* 003C24 70003024 8FBF005C */ lw $ra, 0x5c($sp) -/* 003C28 70003028 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 003C2C 7000302C D7B60030 */ ldc1 $f22, 0x30($sp) -/* 003C30 70003030 8FB00038 */ lw $s0, 0x38($sp) -/* 003C34 70003034 8FB1003C */ lw $s1, 0x3c($sp) -/* 003C38 70003038 8FB20040 */ lw $s2, 0x40($sp) -/* 003C3C 7000303C 8FB30044 */ lw $s3, 0x44($sp) -/* 003C40 70003040 8FB40048 */ lw $s4, 0x48($sp) -/* 003C44 70003044 8FB5004C */ lw $s5, 0x4c($sp) -/* 003C48 70003048 8FB60050 */ lw $s6, 0x50($sp) -/* 003C4C 7000304C 8FB70054 */ lw $s7, 0x54($sp) -/* 003C50 70003050 8FBE0058 */ lw $fp, 0x58($sp) -/* 003C54 70003054 03E00008 */ jr $ra -/* 003C58 70003058 27BD00D0 */ addiu $sp, $sp, 0xd0 -) -#endif diff --git a/src/sprintf.c b/src/sprintf.c deleted file mode 100644 index 71db221..0000000 --- a/src/sprintf.c +++ /dev/null @@ -1,74 +0,0 @@ -#include "ultra64.h" - - - - -#ifdef NONMATCHING -s32 proutSprintf(s32 arg2) -{ - return memcpy() + arg2; -} -#else -GLOBAL_ASM( -.text -glabel proutSprintf -/* 00B870 7000AC70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00B874 7000AC74 AFBF0014 */ sw $ra, 0x14($sp) -/* 00B878 7000AC78 0C004E14 */ jal memcpy -/* 00B87C 7000AC7C AFA60020 */ sw $a2, 0x20($sp) -/* 00B880 7000AC80 8FBF0014 */ lw $ra, 0x14($sp) -/* 00B884 7000AC84 8FAE0020 */ lw $t6, 0x20($sp) -/* 00B888 7000AC88 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00B88C 7000AC8C 03E00008 */ jr $ra -/* 00B890 7000AC90 004E1021 */ addu $v0, $v0, $t6 -) -#endif - - - - - -#ifdef NONMATCHING -s32 sprintf(s32 arg0, s32 arg1, ? arg2, ? arg3) -{ - s32 temp_ret; - - temp_ret = _Printf(&proutSprintf, arg0, arg1, &arg2); - if (temp_ret >= 0) - { - *(arg0 + temp_ret) = (u8)0; - } - return temp_ret + -1; -} -#else -GLOBAL_ASM( -.text -glabel sprintf -/* 00B894 7000AC94 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00B898 7000AC98 AFA40020 */ sw $a0, 0x20($sp) -/* 00B89C 7000AC9C AFBF0014 */ sw $ra, 0x14($sp) -/* 00B8A0 7000ACA0 AFA50024 */ sw $a1, 0x24($sp) -/* 00B8A4 7000ACA4 AFA60028 */ sw $a2, 0x28($sp) -/* 00B8A8 7000ACA8 AFA7002C */ sw $a3, 0x2c($sp) -/* 00B8AC 7000ACAC 3C047001 */ lui $a0, %hi(proutSprintf) # $a0, 0x7001 -/* 00B8B0 7000ACB0 2484AC70 */ addiu $a0, %lo(proutSprintf) # addiu $a0, $a0, -0x5390 -/* 00B8B4 7000ACB4 27A70028 */ addiu $a3, $sp, 0x28 -/* 00B8B8 7000ACB8 8FA60024 */ lw $a2, 0x24($sp) -/* 00B8BC 7000ACBC 0C004FD8 */ jal _Printf -/* 00B8C0 7000ACC0 8FA50020 */ lw $a1, 0x20($sp) -/* 00B8C4 7000ACC4 04400004 */ bltz $v0, .L7000ACD8 -/* 00B8C8 7000ACC8 00401825 */ move $v1, $v0 -/* 00B8CC 7000ACCC 8FAE0020 */ lw $t6, 0x20($sp) -/* 00B8D0 7000ACD0 01C27821 */ addu $t7, $t6, $v0 -/* 00B8D4 7000ACD4 A1E00000 */ sb $zero, ($t7) -.L7000ACD8: -/* 00B8D8 7000ACD8 8FBF0014 */ lw $ra, 0x14($sp) -/* 00B8DC 7000ACDC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00B8E0 7000ACE0 2462FFFF */ addiu $v0, $v1, -1 -/* 00B8E4 7000ACE4 03E00008 */ jr $ra -/* 00B8E8 7000ACE8 00000000 */ nop -) -#endif - - - diff --git a/src/stacks.c b/src/stacks.c deleted file mode 100644 index 91d9264..0000000 --- a/src/stacks.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "ultra64.h" - -u8 sp_boot[0x10]; -u8 sp_rmon[0x300]; -u8 sp_idle[0x40]; -u8 sp_shed[0x200]; -u8 sp_main[0x8000]; -u8 sp_audi[0x1000]; -u8 sp_debug[0x6B0]; diff --git a/src/str.c b/src/str.c deleted file mode 100644 index fab0aee..0000000 --- a/src/str.c +++ /dev/null @@ -1,655 +0,0 @@ -#include "ultra64.h" - - - - - -#ifdef NONMATCHING -void *textpointer_load_parse_something(void *arg0, void *arg1) { - void *temp_a1; - - // Node 0 - temp_a1 = (arg1 + 1); - *arg0 = (s8) *arg1; - if (*arg1 != 0) - { - loop_1: - // Node 1 - ((arg0 + 1) + 1)->unk-1 = (s8) *temp_a1; - if (*temp_a1 != 0) - { - goto loop_1; - } - } - // (possible return value: arg0) -} - -#else -GLOBAL_ASM( -.text -glabel textpointer_load_parse_something -/* 00B370 7000A770 90A20000 */ lbu $v0, ($a1) -/* 00B374 7000A774 24830001 */ addiu $v1, $a0, 1 -/* 00B378 7000A778 24A50001 */ addiu $a1, $a1, 1 -/* 00B37C 7000A77C 10400006 */ beqz $v0, .L7000A798 -/* 00B380 7000A780 A0820000 */ sb $v0, ($a0) -.L7000A784: -/* 00B384 7000A784 90A20000 */ lbu $v0, ($a1) -/* 00B388 7000A788 24630001 */ addiu $v1, $v1, 1 -/* 00B38C 7000A78C 24A50001 */ addiu $a1, $a1, 1 -/* 00B390 7000A790 1440FFFC */ bnez $v0, .L7000A784 -/* 00B394 7000A794 A062FFFF */ sb $v0, -1($v1) -.L7000A798: -/* 00B398 7000A798 03E00008 */ jr $ra -/* 00B39C 7000A79C 00801025 */ move $v0, $a0 -) -#endif - - - -#ifdef NONMATCHING -void *something_with_strings(void *arg0, void *arg1, s32 arg2) { - void *temp_v1; - void *temp_a1; - s32 temp_a2; - - // Node 0 - temp_v1 = (arg0 + 1); - temp_a1 = (arg1 + 1); - *arg0 = (s8) *arg1; - if (*arg1 != 0) - { - loop_1: - // Node 1 - if ((arg2 + -1) != 0) - { - // Node 2 - (temp_v1 + 1)->unk-1 = (s8) *temp_a1; - if (*temp_a1 != 0) - { - goto loop_1; - } - } - } - // Node 3 - temp_a2 = (arg2 + -1); - if (temp_a2 != 0) - { - loop_4: - // Node 4 - *temp_v1 = (u8)0; - if ((temp_a2 + -1) != 0) - { - goto loop_4; - } - } - // (possible return value: arg0) -} - -#else -GLOBAL_ASM( -.text -glabel something_with_strings -/* 00B3A0 7000A7A0 90A20000 */ lbu $v0, ($a1) -/* 00B3A4 7000A7A4 24830001 */ addiu $v1, $a0, 1 -/* 00B3A8 7000A7A8 24A50001 */ addiu $a1, $a1, 1 -/* 00B3AC 7000A7AC 10400009 */ beqz $v0, .L7000A7D4 -/* 00B3B0 7000A7B0 A0820000 */ sb $v0, ($a0) -.L7000A7B4: -/* 00B3B4 7000A7B4 24C6FFFF */ addiu $a2, $a2, -1 -/* 00B3B8 7000A7B8 50C00007 */ beql $a2, $zero, .L7000A7D8 -/* 00B3BC 7000A7BC 00C01025 */ move $v0, $a2 -/* 00B3C0 7000A7C0 90A20000 */ lbu $v0, ($a1) -/* 00B3C4 7000A7C4 24630001 */ addiu $v1, $v1, 1 -/* 00B3C8 7000A7C8 24A50001 */ addiu $a1, $a1, 1 -/* 00B3CC 7000A7CC 1440FFF9 */ bnez $v0, .L7000A7B4 -/* 00B3D0 7000A7D0 A062FFFF */ sb $v0, -1($v1) -.L7000A7D4: -/* 00B3D4 7000A7D4 00C01025 */ move $v0, $a2 -.L7000A7D8: -/* 00B3D8 7000A7D8 10C00006 */ beqz $a2, .L7000A7F4 -/* 00B3DC 7000A7DC 24C6FFFF */ addiu $a2, $a2, -1 -.L7000A7E0: -/* 00B3E0 7000A7E0 00C01025 */ move $v0, $a2 -/* 00B3E4 7000A7E4 A0600000 */ sb $zero, ($v1) -/* 00B3E8 7000A7E8 24630001 */ addiu $v1, $v1, 1 -/* 00B3EC 7000A7EC 14C0FFFC */ bnez $a2, .L7000A7E0 -/* 00B3F0 7000A7F0 24C6FFFF */ addiu $a2, $a2, -1 -.L7000A7F4: -/* 00B3F4 7000A7F4 03E00008 */ jr $ra -/* 00B3F8 7000A7F8 00801025 */ move $v0, $a0 -) -#endif - - - -#ifdef NONMATCHING -void *string_append_from_obseg_textbank(void *arg0, void *arg1) { - void *temp_v0; - void *temp_a1; - - // Node 0 - if (*arg0 != 0) - { - loop_1: - // Node 1 - if (arg0->unk1 != 0) - { - goto loop_1; - } - } - // Node 2 - temp_v0 = (arg0 + 1); - temp_a1 = (arg1 + 1); - temp_v0->unk-1 = (s8) *arg1; - if (*arg1 != 0) - { - loop_3: - // Node 3 - (temp_v0 + 1)->unk-1 = (s8) *temp_a1; - if (*temp_a1 != 0) - { - goto loop_3; - } - } - // (possible return value: arg0) -} - -#else -GLOBAL_ASM( -.text -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 -/* 00B408 7000A808 90A30000 */ lbu $v1, ($a1) -/* 00B40C 7000A80C 904F0001 */ lbu $t7, 1($v0) -.L7000A810: -/* 00B410 7000A810 24420001 */ addiu $v0, $v0, 1 -/* 00B414 7000A814 55E0FFFE */ bnezl $t7, .L7000A810 -/* 00B418 7000A818 904F0001 */ lbu $t7, 1($v0) -/* 00B41C 7000A81C 90A30000 */ lbu $v1, ($a1) -.L7000A820: -/* 00B420 7000A820 24420001 */ addiu $v0, $v0, 1 -/* 00B424 7000A824 24A50001 */ addiu $a1, $a1, 1 -/* 00B428 7000A828 10600006 */ beqz $v1, .L7000A844 -/* 00B42C 7000A82C A043FFFF */ sb $v1, -1($v0) -.L7000A830: -/* 00B430 7000A830 90A30000 */ lbu $v1, ($a1) -/* 00B434 7000A834 24420001 */ addiu $v0, $v0, 1 -/* 00B438 7000A838 24A50001 */ addiu $a1, $a1, 1 -/* 00B43C 7000A83C 1460FFFC */ bnez $v1, .L7000A830 -/* 00B440 7000A840 A043FFFF */ sb $v1, -1($v0) -.L7000A844: -/* 00B444 7000A844 03E00008 */ jr $ra -/* 00B448 7000A848 00801025 */ move $v0, $a0 -) -#endif - - - -#ifdef NONMATCHING -void something_with_strings_0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel something_with_strings_0 -.L7000A84C: -/* 00B44C 7000A84C 90820000 */ lbu $v0, ($a0) -/* 00B450 7000A850 90A30000 */ lbu $v1, ($a1) -/* 00B454 7000A854 24840001 */ addiu $a0, $a0, 1 -/* 00B458 7000A858 10430007 */ beq $v0, $v1, .L7000A878 -/* 00B45C 7000A85C 0043082A */ slt $at, $v0, $v1 -/* 00B460 7000A860 10200003 */ beqz $at, .L7000A870 -/* 00B464 7000A864 00000000 */ nop -/* 00B468 7000A868 03E00008 */ jr $ra -/* 00B46C 7000A86C 2402FFFF */ li $v0, -1 - -.L7000A870: -/* 00B470 7000A870 03E00008 */ jr $ra -/* 00B474 7000A874 24020001 */ li $v0, 1 - -.L7000A878: -/* 00B478 7000A878 14400003 */ bnez $v0, .L7000A888 -/* 00B47C 7000A87C 00000000 */ nop -/* 00B480 7000A880 03E00008 */ jr $ra -/* 00B484 7000A884 00001025 */ move $v0, $zero - -.L7000A888: -/* 00B488 7000A888 1000FFF0 */ b .L7000A84C -/* 00B48C 7000A88C 24A50001 */ addiu $a1, $a1, 1 -/* 00B490 7000A890 03E00008 */ jr $ra -/* 00B494 7000A894 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -void string_related(void) { - -} -#else -GLOBAL_ASM( -.text -glabel string_related -.L7000A898: -/* 00B498 7000A898 54C00004 */ bnezl $a2, .L7000A8AC -/* 00B49C 7000A89C 90820000 */ lbu $v0, ($a0) -/* 00B4A0 7000A8A0 03E00008 */ jr $ra -/* 00B4A4 7000A8A4 00001025 */ move $v0, $zero - -/* 00B4A8 7000A8A8 90820000 */ lbu $v0, ($a0) -.L7000A8AC: -/* 00B4AC 7000A8AC 90A30000 */ lbu $v1, ($a1) -/* 00B4B0 7000A8B0 24C6FFFF */ addiu $a2, $a2, -1 -/* 00B4B4 7000A8B4 24840001 */ addiu $a0, $a0, 1 -/* 00B4B8 7000A8B8 10430007 */ beq $v0, $v1, .L7000A8D8 -/* 00B4BC 7000A8BC 0043082A */ slt $at, $v0, $v1 -/* 00B4C0 7000A8C0 10200003 */ beqz $at, .L7000A8D0 -/* 00B4C4 7000A8C4 00000000 */ nop -/* 00B4C8 7000A8C8 03E00008 */ jr $ra -/* 00B4CC 7000A8CC 2402FFFF */ li $v0, -1 - -.L7000A8D0: -/* 00B4D0 7000A8D0 03E00008 */ jr $ra -/* 00B4D4 7000A8D4 24020001 */ li $v0, 1 - -.L7000A8D8: -/* 00B4D8 7000A8D8 14400003 */ bnez $v0, .L7000A8E8 -/* 00B4DC 7000A8DC 00000000 */ nop -/* 00B4E0 7000A8E0 03E00008 */ jr $ra -/* 00B4E4 7000A8E4 00001025 */ move $v0, $zero - -.L7000A8E8: -/* 00B4E8 7000A8E8 1000FFEB */ b .L7000A898 -/* 00B4EC 7000A8EC 24A50001 */ addiu $a1, $a1, 1 -/* 00B4F0 7000A8F0 03E00008 */ jr $ra -/* 00B4F4 7000A8F4 00000000 */ nop -) -#endif - - - -#ifdef NONMATCHING -s32 strtol_related(s32 arg0) { - s32 temp_t6; - - // Node 0 - temp_t6 = (arg0 & 0xff); - if (temp_t6 >= 0x61) - { - // Node 1 - if (temp_t6 < 0x7b) - { - // Node 2 - return; - // (possible return value: temp_t6) - } - } - // (possible return value: temp_t6) -} -#else -GLOBAL_ASM( -.text -glabel strtol_related -/* 00B4F8 7000A8F8 308E00FF */ andi $t6, $a0, 0xff -/* 00B4FC 7000A8FC AFA40000 */ sw $a0, ($sp) -/* 00B500 7000A900 29C10061 */ slti $at, $t6, 0x61 -/* 00B504 7000A904 14200007 */ bnez $at, .L7000A924 -/* 00B508 7000A908 01C02025 */ move $a0, $t6 -/* 00B50C 7000A90C 29C1007B */ slti $at, $t6, 0x7b -/* 00B510 7000A910 10200004 */ beqz $at, .L7000A924 -/* 00B514 7000A914 25C2FFE0 */ addiu $v0, $t6, -0x20 -/* 00B518 7000A918 304F00FF */ andi $t7, $v0, 0xff -/* 00B51C 7000A91C 03E00008 */ jr $ra -/* 00B520 7000A920 01E01025 */ move $v0, $t7 - -.L7000A924: -/* 00B524 7000A924 00801025 */ move $v0, $a0 -/* 00B528 7000A928 03E00008 */ jr $ra -/* 00B52C 7000A92C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 strtol_related_0(s32 arg0) { - // Node 0 - if ((((arg0 & 0xff) < 0x30) ^ 1) != 0) - { - // Node 1 - return; - // (possible return value: ((arg0 & 0xff) < 0x3a)) - } - // (possible return value: (((arg0 & 0xff) < 0x30) ^ 1)) -} -#else -GLOBAL_ASM( -.text -glabel strtol_related_0 -/* 00B530 7000A930 308E00FF */ andi $t6, $a0, 0xff -/* 00B534 7000A934 29C20030 */ slti $v0, $t6, 0x30 -/* 00B538 7000A938 38420001 */ xori $v0, $v0, 1 -/* 00B53C 7000A93C 10400002 */ beqz $v0, .L7000A948 -/* 00B540 7000A940 AFA40000 */ sw $a0, ($sp) -/* 00B544 7000A944 29C2003A */ slti $v0, $t6, 0x3a -.L7000A948: -/* 00B548 7000A948 03E00008 */ jr $ra -/* 00B54C 7000A94C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 strtol_related_1(s32 arg0) { - s32 temp_t6; - - // Node 0 - temp_t6 = (arg0 & 0xff); - if ((temp_t6 < 0x61) || (temp_t6 >= 0x7b)) - { - // Node 2 - if (((temp_t6 < 0x41) ^ 1) != 0) - { - // Node 3 - return; - // (possible return value: (temp_t6 < 0x5b)) - } - } - else - { - - } - // (possible return value: ((temp_t6 < 0x41) ^ 1)) -} -#else -GLOBAL_ASM( -.text -glabel strtol_related_1 -/* 00B550 7000A950 308E00FF */ andi $t6, $a0, 0xff -/* 00B554 7000A954 29C20061 */ slti $v0, $t6, 0x61 -/* 00B558 7000A958 AFA40000 */ sw $a0, ($sp) -/* 00B55C 7000A95C 14400004 */ bnez $v0, .L7000A970 -/* 00B560 7000A960 01C01825 */ move $v1, $t6 -/* 00B564 7000A964 29C2007B */ slti $v0, $t6, 0x7b -/* 00B568 7000A968 14400006 */ bnez $v0, .L7000A984 -/* 00B56C 7000A96C 00000000 */ nop -.L7000A970: -/* 00B570 7000A970 28620041 */ slti $v0, $v1, 0x41 -/* 00B574 7000A974 38420001 */ xori $v0, $v0, 1 -/* 00B578 7000A978 10400002 */ beqz $v0, .L7000A984 -/* 00B57C 7000A97C 00000000 */ nop -/* 00B580 7000A980 2862005B */ slti $v0, $v1, 0x5b -.L7000A984: -/* 00B584 7000A984 03E00008 */ jr $ra -/* 00B588 7000A988 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -s32 strtol_related_2(s32 arg0) { - s32 temp_t6; - - // Node 0 - temp_t6 = (arg0 & 0xff); - if ((u32) (temp_t6 ^ 0x20) >= 1U) - { - // Node 1 - if ((u32) (temp_t6 ^ 9) >= 1U) - { - // Node 2 - if ((u32) (temp_t6 ^ 0xa) >= 1U) - { - // Node 3 - if ((u32) (temp_t6 ^ 0xc) >= 1U) - { - // Node 4 - return; - // (possible return value: ((u32) (temp_t6 ^ 0xb) < 1U)) - } - } - } - } - // (possible return value: ((u32) (temp_t6 ^ 0x20) < 1U)) -} -#else -GLOBAL_ASM( -.text -glabel strtol_related_2 -/* 00B58C 7000A98C 308E00FF */ andi $t6, $a0, 0xff -/* 00B590 7000A990 39C20020 */ xori $v0, $t6, 0x20 -/* 00B594 7000A994 2C420001 */ sltiu $v0, $v0, 1 -/* 00B598 7000A998 1440000F */ bnez $v0, .L7000A9D8 -/* 00B59C 7000A99C AFA40000 */ sw $a0, ($sp) -/* 00B5A0 7000A9A0 39C20009 */ xori $v0, $t6, 9 -/* 00B5A4 7000A9A4 2C420001 */ sltiu $v0, $v0, 1 -/* 00B5A8 7000A9A8 1440000B */ bnez $v0, .L7000A9D8 -/* 00B5AC 7000A9AC 00000000 */ nop -/* 00B5B0 7000A9B0 39C2000A */ xori $v0, $t6, 0xa -/* 00B5B4 7000A9B4 2C420001 */ sltiu $v0, $v0, 1 -/* 00B5B8 7000A9B8 14400007 */ bnez $v0, .L7000A9D8 -/* 00B5BC 7000A9BC 00000000 */ nop -/* 00B5C0 7000A9C0 39C2000C */ xori $v0, $t6, 0xc -/* 00B5C4 7000A9C4 2C420001 */ sltiu $v0, $v0, 1 -/* 00B5C8 7000A9C8 14400003 */ bnez $v0, .L7000A9D8 -/* 00B5CC 7000A9CC 00000000 */ nop -/* 00B5D0 7000A9D0 39C2000B */ xori $v0, $t6, 0xb -/* 00B5D4 7000A9D4 2C420001 */ sltiu $v0, $v0, 1 -.L7000A9D8: -/* 00B5D8 7000A9D8 03E00008 */ jr $ra -/* 00B5DC 7000A9DC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void strtol(void) { - -} -#else -GLOBAL_ASM( -.text -glabel strtol -/* 00B5E0 7000A9E0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 00B5E4 7000A9E4 AFB30024 */ sw $s3, 0x24($sp) -/* 00B5E8 7000A9E8 00C09825 */ move $s3, $a2 -/* 00B5EC 7000A9EC AFBF002C */ sw $ra, 0x2c($sp) -/* 00B5F0 7000A9F0 AFB40028 */ sw $s4, 0x28($sp) -/* 00B5F4 7000A9F4 AFB20020 */ sw $s2, 0x20($sp) -/* 00B5F8 7000A9F8 AFB1001C */ sw $s1, 0x1c($sp) -/* 00B5FC 7000A9FC AFB00018 */ sw $s0, 0x18($sp) -/* 00B600 7000AA00 AFA50064 */ sw $a1, 0x64($sp) -/* 00B604 7000AA04 04C00006 */ bltz $a2, .L7000AA20 -/* 00B608 7000AA08 00803825 */ move $a3, $a0 -/* 00B60C 7000AA0C 24010001 */ li $at, 1 -/* 00B610 7000AA10 10C10003 */ beq $a2, $at, .L7000AA20 -/* 00B614 7000AA14 28C10025 */ slti $at, $a2, 0x25 -/* 00B618 7000AA18 54200003 */ bnezl $at, .L7000AA28 -/* 00B61C 7000AA1C 90E40000 */ lbu $a0, ($a3) -.L7000AA20: -/* 00B620 7000AA20 2413000A */ li $s3, 10 -/* 00B624 7000AA24 90E40000 */ lbu $a0, ($a3) -.L7000AA28: -/* 00B628 7000AA28 00E09025 */ move $s2, $a3 -/* 00B62C 7000AA2C 0C002A63 */ jal strtol_related_2 -/* 00B630 7000AA30 AFA70060 */ sw $a3, 0x60($sp) -/* 00B634 7000AA34 50400007 */ beql $v0, $zero, .L7000AA54 -/* 00B638 7000AA38 92420000 */ lbu $v0, ($s2) -/* 00B63C 7000AA3C 26520001 */ addiu $s2, $s2, 1 -.L7000AA40: -/* 00B640 7000AA40 0C002A63 */ jal strtol_related_2 -/* 00B644 7000AA44 92440000 */ lbu $a0, ($s2) -/* 00B648 7000AA48 5440FFFD */ bnezl $v0, .L7000AA40 -/* 00B64C 7000AA4C 26520001 */ addiu $s2, $s2, 1 -/* 00B650 7000AA50 92420000 */ lbu $v0, ($s2) -.L7000AA54: -/* 00B654 7000AA54 2401002D */ li $at, 45 -/* 00B658 7000AA58 50400075 */ beql $v0, $zero, .L7000AC30 -/* 00B65C 7000AA5C 8FA20064 */ lw $v0, 0x64($sp) -/* 00B660 7000AA60 14410004 */ bne $v0, $at, .L7000AA74 -/* 00B664 7000AA64 240E0001 */ li $t6, 1 -/* 00B668 7000AA68 AFAE005C */ sw $t6, 0x5c($sp) -/* 00B66C 7000AA6C 10000008 */ b .L7000AA90 -/* 00B670 7000AA70 26520001 */ addiu $s2, $s2, 1 -.L7000AA74: -/* 00B674 7000AA74 2401002B */ li $at, 43 -/* 00B678 7000AA78 54410005 */ bnel $v0, $at, .L7000AA90 -/* 00B67C 7000AA7C AFA0005C */ sw $zero, 0x5c($sp) -/* 00B680 7000AA80 AFA0005C */ sw $zero, 0x5c($sp) -/* 00B684 7000AA84 10000002 */ b .L7000AA90 -/* 00B688 7000AA88 26520001 */ addiu $s2, $s2, 1 -/* 00B68C 7000AA8C AFA0005C */ sw $zero, 0x5c($sp) -.L7000AA90: -/* 00B690 7000AA90 24010010 */ li $at, 16 -/* 00B694 7000AA94 1661000B */ bne $s3, $at, .L7000AAC4 -/* 00B698 7000AA98 00000000 */ nop -/* 00B69C 7000AA9C 924F0000 */ lbu $t7, ($s2) -/* 00B6A0 7000AAA0 24010030 */ li $at, 48 -/* 00B6A4 7000AAA4 15E10007 */ bne $t7, $at, .L7000AAC4 -/* 00B6A8 7000AAA8 00000000 */ nop -/* 00B6AC 7000AAAC 0C002A3E */ jal strtol_related -/* 00B6B0 7000AAB0 92440001 */ lbu $a0, 1($s2) -/* 00B6B4 7000AAB4 24010058 */ li $at, 88 -/* 00B6B8 7000AAB8 14410002 */ bne $v0, $at, .L7000AAC4 -/* 00B6BC 7000AABC 00000000 */ nop -/* 00B6C0 7000AAC0 26520002 */ addiu $s2, $s2, 2 -.L7000AAC4: -/* 00B6C4 7000AAC4 1660000E */ bnez $s3, .L7000AB00 -/* 00B6C8 7000AAC8 92420000 */ lbu $v0, ($s2) -/* 00B6CC 7000AACC 24010030 */ li $at, 48 -/* 00B6D0 7000AAD0 1441000B */ bne $v0, $at, .L7000AB00 -/* 00B6D4 7000AAD4 2413000A */ li $s3, 10 -/* 00B6D8 7000AAD8 0C002A3E */ jal strtol_related -/* 00B6DC 7000AADC 92440001 */ lbu $a0, 1($s2) -/* 00B6E0 7000AAE0 24010058 */ li $at, 88 -/* 00B6E4 7000AAE4 14410004 */ bne $v0, $at, .L7000AAF8 -/* 00B6E8 7000AAE8 24130008 */ li $s3, 8 -/* 00B6EC 7000AAEC 26520002 */ addiu $s2, $s2, 2 -/* 00B6F0 7000AAF0 10000001 */ b .L7000AAF8 -/* 00B6F4 7000AAF4 24130010 */ li $s3, 16 -.L7000AAF8: -/* 00B6F8 7000AAF8 10000001 */ b .L7000AB00 -/* 00B6FC 7000AAFC 92420000 */ lbu $v0, ($s2) -.L7000AB00: -/* 00B700 7000AB00 305000FF */ andi $s0, $v0, 0xff -/* 00B704 7000AB04 AFB20044 */ sw $s2, 0x44($sp) -/* 00B708 7000AB08 AFA00040 */ sw $zero, 0x40($sp) -/* 00B70C 7000AB0C 00008825 */ move $s1, $zero -/* 00B710 7000AB10 12000033 */ beqz $s0, .L7000ABE0 -/* 00B714 7000AB14 02001825 */ move $v1, $s0 -/* 00B718 7000AB18 2414FFFF */ li $s4, -1 -.L7000AB1C: -/* 00B71C 7000AB1C 320400FF */ andi $a0, $s0, 0xff -/* 00B720 7000AB20 0C002A4C */ jal strtol_related_0 -/* 00B724 7000AB24 AFA30034 */ sw $v1, 0x34($sp) -/* 00B728 7000AB28 10400005 */ beqz $v0, .L7000AB40 -/* 00B72C 7000AB2C 8FA30034 */ lw $v1, 0x34($sp) -/* 00B730 7000AB30 2470FFD0 */ addiu $s0, $v1, -0x30 -/* 00B734 7000AB34 321800FF */ andi $t8, $s0, 0xff -/* 00B738 7000AB38 1000000A */ b .L7000AB64 -/* 00B73C 7000AB3C 03008025 */ move $s0, $t8 -.L7000AB40: -/* 00B740 7000AB40 0C002A54 */ jal strtol_related_1 -/* 00B744 7000AB44 320400FF */ andi $a0, $s0, 0xff -/* 00B748 7000AB48 50400026 */ beql $v0, $zero, .L7000ABE4 -/* 00B74C 7000AB4C 8FAA0044 */ lw $t2, 0x44($sp) -/* 00B750 7000AB50 0C002A3E */ jal strtol_related -/* 00B754 7000AB54 320400FF */ andi $a0, $s0, 0xff -/* 00B758 7000AB58 2450FFC9 */ addiu $s0, $v0, -0x37 -/* 00B75C 7000AB5C 321900FF */ andi $t9, $s0, 0xff -/* 00B760 7000AB60 03208025 */ move $s0, $t9 -.L7000AB64: -/* 00B764 7000AB64 0213082A */ slt $at, $s0, $s3 -/* 00B768 7000AB68 1020001D */ beqz $at, .L7000ABE0 -/* 00B76C 7000AB6C 24090001 */ li $t1, 1 -/* 00B770 7000AB70 0293001B */ divu $zero, $s4, $s3 -/* 00B774 7000AB74 00001012 */ mflo $v0 -/* 00B778 7000AB78 0051082B */ sltu $at, $v0, $s1 -/* 00B77C 7000AB7C 16600002 */ bnez $s3, .L7000AB88 -/* 00B780 7000AB80 00000000 */ nop -/* 00B784 7000AB84 0007000D */ break 7 -.L7000AB88: -/* 00B788 7000AB88 1420000B */ bnez $at, .L7000ABB8 -/* 00B78C 7000AB8C 00000000 */ nop -/* 00B790 7000AB90 1622000B */ bne $s1, $v0, .L7000ABC0 -/* 00B794 7000AB94 00000000 */ nop -/* 00B798 7000AB98 0293001B */ divu $zero, $s4, $s3 -/* 00B79C 7000AB9C 00004010 */ mfhi $t0 -/* 00B7A0 7000ABA0 0110082B */ sltu $at, $t0, $s0 -/* 00B7A4 7000ABA4 16600002 */ bnez $s3, .L7000ABB0 -/* 00B7A8 7000ABA8 00000000 */ nop -/* 00B7AC 7000ABAC 0007000D */ break 7 -.L7000ABB0: -/* 00B7B0 7000ABB0 10200003 */ beqz $at, .L7000ABC0 -/* 00B7B4 7000ABB4 00000000 */ nop -.L7000ABB8: -/* 00B7B8 7000ABB8 10000005 */ b .L7000ABD0 -/* 00B7BC 7000ABBC AFA90040 */ sw $t1, 0x40($sp) -.L7000ABC0: -/* 00B7C0 7000ABC0 02330019 */ multu $s1, $s3 -/* 00B7C4 7000ABC4 00008812 */ mflo $s1 -/* 00B7C8 7000ABC8 02308821 */ addu $s1, $s1, $s0 -/* 00B7CC 7000ABCC 00000000 */ nop -.L7000ABD0: -/* 00B7D0 7000ABD0 92500001 */ lbu $s0, 1($s2) -/* 00B7D4 7000ABD4 26520001 */ addiu $s2, $s2, 1 -/* 00B7D8 7000ABD8 1600FFD0 */ bnez $s0, .L7000AB1C -/* 00B7DC 7000ABDC 02001825 */ move $v1, $s0 -.L7000ABE0: -/* 00B7E0 7000ABE0 8FAA0044 */ lw $t2, 0x44($sp) -.L7000ABE4: -/* 00B7E4 7000ABE4 8FA20064 */ lw $v0, 0x64($sp) -/* 00B7E8 7000ABE8 524A0011 */ beql $s2, $t2, .L7000AC30 -/* 00B7EC 7000ABEC 8FA20064 */ lw $v0, 0x64($sp) -/* 00B7F0 7000ABF0 50400003 */ beql $v0, $zero, .L7000AC00 -/* 00B7F4 7000ABF4 8FAB0040 */ lw $t3, 0x40($sp) -/* 00B7F8 7000ABF8 AC520000 */ sw $s2, ($v0) -/* 00B7FC 7000ABFC 8FAB0040 */ lw $t3, 0x40($sp) -.L7000AC00: -/* 00B800 7000AC00 8FAC005C */ lw $t4, 0x5c($sp) -/* 00B804 7000AC04 11600003 */ beqz $t3, .L7000AC14 -/* 00B808 7000AC08 00000000 */ nop -/* 00B80C 7000AC0C 1000000D */ b .L7000AC44 -/* 00B810 7000AC10 2402FFFF */ li $v0, -1 -.L7000AC14: -/* 00B814 7000AC14 11800003 */ beqz $t4, .L7000AC24 -/* 00B818 7000AC18 02201825 */ move $v1, $s1 -/* 00B81C 7000AC1C 10000009 */ b .L7000AC44 -/* 00B820 7000AC20 00111023 */ negu $v0, $s1 -.L7000AC24: -/* 00B824 7000AC24 10000007 */ b .L7000AC44 -/* 00B828 7000AC28 00601025 */ move $v0, $v1 -/* 00B82C 7000AC2C 8FA20064 */ lw $v0, 0x64($sp) -.L7000AC30: -/* 00B830 7000AC30 8FAD0060 */ lw $t5, 0x60($sp) -/* 00B834 7000AC34 50400003 */ beql $v0, $zero, .L7000AC44 -/* 00B838 7000AC38 00001025 */ move $v0, $zero -/* 00B83C 7000AC3C AC4D0000 */ sw $t5, ($v0) -/* 00B840 7000AC40 00001025 */ move $v0, $zero -.L7000AC44: -/* 00B844 7000AC44 8FBF002C */ lw $ra, 0x2c($sp) -/* 00B848 7000AC48 8FB00018 */ lw $s0, 0x18($sp) -/* 00B84C 7000AC4C 8FB1001C */ lw $s1, 0x1c($sp) -/* 00B850 7000AC50 8FB20020 */ lw $s2, 0x20($sp) -/* 00B854 7000AC54 8FB30024 */ lw $s3, 0x24($sp) -/* 00B858 7000AC58 8FB40028 */ lw $s4, 0x28($sp) -/* 00B85C 7000AC5C 03E00008 */ jr $ra -/* 00B860 7000AC60 27BD0060 */ addiu $sp, $sp, 0x60 -) -#endif diff --git a/src/tlb_hardwire.c b/src/tlb_hardwire.c deleted file mode 100644 index c9c2b5e..0000000 --- a/src/tlb_hardwire.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "ultra64.h" -#include "tlb_hardwire.h" - -/** - * @file tlb_hardwire.c - * This file contains code to set tlb entries to 2 - * -it should become an assembly file - */ - - -/** - * 29B0 70001BB0 - * sets #hardwired TLB entries to 2 - */ -#ifdef NONMATCHING -void set_hardwire_TLB_to_2(void) { - setCopReg(0,Wired,2,0); - setCopReg(0,Context,0,0); -} -#else -GLOBAL_ASM( -.text -glabel set_hardwire_TLB_to_2 -/* 0027B0 70001BB0 24080002 */ li $t0, 2 -/* 0027B4 70001BB4 40883000 */ mtc0 $t0, $6 -/* 0027B8 70001BB8 24080000 */ li $t0, 0 -/* 0027BC 70001BBC 40882000 */ mtc0 $t0, $4 -/* 0027C0 70001BC0 03E00008 */ jr $ra -/* 0027C4 70001BC4 00000000 */ nop -) -#endif \ No newline at end of file diff --git a/src/tlb_hardwire.h b/src/tlb_hardwire.h deleted file mode 100644 index 9d59486..0000000 --- a/src/tlb_hardwire.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _TLB_HARDWIRE_H_ -#define _TLB_HARDWIRE_H_ -#include "ultra64.h" - - -extern void set_hardwire_TLB_to_2(void); - -#endif - - diff --git a/src/tlb_manage.c b/src/tlb_manage.c deleted file mode 100644 index f2efc3f..0000000 --- a/src/tlb_manage.c +++ /dev/null @@ -1,382 +0,0 @@ -#include "ultra64.h" -#include "ramrom.h" - -/** - * @file tlb_manage.c - * This file contains tlb management code. - * - * In particular, it: - * - - * - - * - - */ - -u32 maybe_cur_TLB_entries = 0; -u32 tlb_segment_num = 0; - -char TLB_managment_table_start[0x800]; -char TLB_manager_mapping_table_start[0xB4]; -u32 TLB_manager_mapping_table_end; -u32 ptr_TLBallocatedblock; - - - - - -/** - * 23E0 700017E0 - * establishes 7F- TLB buffer and management table - */ -#ifdef NONMATCHING -void *establish_TLB_buffer_management_table(void) -{ - u32 temp_v1; - s32 temp_at; - void *temp_v1_2; - u32 phi_v1; - void *phi_v1_2; - - phi_v1 = &TLB_managment_table_start; -block_1: - temp_v1 = (phi_v1 + 0x10); - temp_v1->unk-10 = 1; - temp_v1->unk-C = 0; - phi_v1 = temp_v1; - if (temp_v1 < &TLB_manager_mapping_table_start) - { - goto block_1; - } - temp_at = (TLB_manager_mapping_table_start + 2); - *temp_at = (u8)0; - *temp_at = 1; - *temp_at = (u8)0; - *temp_at = 1; - phi_v1_2 = (void *) (TLB_manager_mapping_table_start + 4); -block_3: - temp_v1_2 = (phi_v1_2 + 8); - temp_v1_2->unk-5 = (u8)0; - temp_v1_2->unk-6 = 1; - temp_v1_2->unk-3 = (u8)0; - temp_v1_2->unk-4 = 1; - temp_v1_2->unk-1 = (u8)0; - temp_v1_2->unk-2 = 1; - temp_v1_2->unk-7 = (u8)0; - temp_v1_2->unk-8 = 1; - phi_v1_2 = temp_v1_2; - if (temp_v1_2 != &TLB_manager_mapping_table_end) - { - goto block_3; - } - ptr_TLBallocatedblock = (s32) ((&sp_boot & -0x2000) + 0xfff4c000); - (void *)0x80060000->unk-1B5C = (s32) (&TLB_managment_table_start + 0xffc08000); - return &TLB_manager_mapping_table_end; -} -#else -GLOBAL_ASM( -glabel establish_TLB_buffer_management_table -/* 0023E0 700017E0 3C038006 */ lui $v1, %hi(TLB_managment_table_start) -/* 0023E4 700017E4 3C028006 */ lui $v0, %hi(TLB_manager_mapping_table_start) -/* 0023E8 700017E8 2442E3F0 */ addiu $v0, %lo(TLB_manager_mapping_table_start) # addiu $v0, $v0, -0x1c10 -/* 0023EC 700017EC 2463DBF0 */ addiu $v1, %lo(TLB_managment_table_start) # addiu $v1, $v1, -0x2410 -/* 0023F0 700017F0 24040001 */ li $a0, 1 -.L700017F4: -/* 0023F4 700017F4 24630010 */ addiu $v1, $v1, 0x10 -/* 0023F8 700017F8 0062082B */ sltu $at, $v1, $v0 -/* 0023FC 700017FC AC64FFF0 */ sw $a0, -0x10($v1) -/* 002400 70001800 1420FFFC */ bnez $at, .L700017F4 -/* 002404 70001804 AC60FFF4 */ sw $zero, -0xc($v1) -/* 002408 70001808 3C018006 */ lui $at, %hi(TLB_manager_mapping_table_start + 2) -/* 00240C 7000180C 3C038006 */ lui $v1, %hi(TLB_manager_mapping_table_start + 4) -/* 002410 70001810 3C028006 */ lui $v0, %hi(TLB_manager_mapping_table_end) -/* 002414 70001814 2442E4A4 */ addiu $v0, %lo(TLB_manager_mapping_table_end) # addiu $v0, $v0, -0x1b5c -/* 002418 70001818 2463E3F4 */ addiu $v1, %lo(TLB_manager_mapping_table_start + 4) # addiu $v1, $v1, -0x1c0c -/* 00241C 7000181C A020E3F1 */ sb $zero, %lo(TLB_manager_mapping_table_start + 1)($at) -/* 002420 70001820 A024E3F0 */ sb $a0, %lo(TLB_manager_mapping_table_start)($at) -/* 002424 70001824 A020E3F3 */ sb $zero, %lo(TLB_manager_mapping_table_start + 3)($at) -/* 002428 70001828 A024E3F2 */ sb $a0, %lo(TLB_manager_mapping_table_start + 2)($at) -.L7000182C: -/* 00242C 7000182C 24630008 */ addiu $v1, $v1, 8 -/* 002430 70001830 A060FFFB */ sb $zero, -5($v1) -/* 002434 70001834 A064FFFA */ sb $a0, -6($v1) -/* 002438 70001838 A060FFFD */ sb $zero, -3($v1) -/* 00243C 7000183C A064FFFC */ sb $a0, -4($v1) -/* 002440 70001840 A060FFFF */ sb $zero, -1($v1) -/* 002444 70001844 A064FFFE */ sb $a0, -2($v1) -/* 002448 70001848 A060FFF9 */ sb $zero, -7($v1) -/* 00244C 7000184C 1462FFF7 */ bne $v1, $v0, .L7000182C -/* 002450 70001850 A064FFF8 */ sb $a0, -8($v1) -/* 002454 70001854 3C0E803B */ lui $t6, %hi(sp_boot) # $t6, 0x803b -/* 002458 70001858 25CEB400 */ addiu $t6, %lo(sp_boot) # addiu $t6, $t6, -0x4c00 -/* 00245C 7000185C 2401E000 */ li $at, -8192 -/* 002460 70001860 01C17824 */ and $t7, $t6, $at -/* 002464 70001864 3C01FFF4 */ lui $at, (0xFFF4C000 >> 16) # lui $at, 0xfff4 -/* 002468 70001868 3421C000 */ ori $at, (0xFFF4C000 & 0xFFFF) # ori $at, $at, 0xc000 -/* 00246C 7000186C 01E1C021 */ addu $t8, $t7, $at -/* 002470 70001870 3C018006 */ lui $at, %hi(ptr_TLBallocatedblock) -/* 002474 70001874 AC38E4A8 */ sw $t8, %lo(ptr_TLBallocatedblock)($at) -/* 002478 70001878 3C01FFC0 */ lui $at, (0xFFC08000 >> 16) # lui $at, 0xffc0 -/* 00247C 7000187C 3C198006 */ lui $t9, %hi(TLB_managment_table_start) -/* 002480 70001880 2739DBF0 */ addiu $t9, %lo(TLB_managment_table_start) # addiu $t9, $t9, -0x2410 -/* 002484 70001884 34218000 */ ori $at, (0xFFC08000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 002488 70001888 03214021 */ addu $t0, $t9, $at -/* 00248C 7000188C 3C018006 */ lui $at, %hi(TLB_manager_mapping_table_end) -/* 002490 70001890 03E00008 */ jr $ra -/* 002494 70001894 AC28E4A4 */ sw $t0, %lo(TLB_manager_mapping_table_end)($at) -) -#endif - -/** - * 2498 70001898 - * ???; pointless conditional tests, will reset 800230D0 - */ -#ifdef NONMATCHING -void mp_tlb_related(void) { - -} -#else -GLOBAL_ASM( -glabel mp_tlb_related -/* 002498 70001898 3C038002 */ lui $v1, %hi(maybe_cur_TLB_entries) -/* 00249C 7000189C 246330D0 */ addiu $v1, %lo(maybe_cur_TLB_entries) # addiu $v1, $v1, 0x30d0 -/* 0024A0 700018A0 8C620000 */ lw $v0, ($v1) -/* 0024A4 700018A4 28410033 */ slti $at, $v0, 0x33 -/* 0024A8 700018A8 10200003 */ beqz $at, .L700018B8 -/* 0024AC 700018AC 2841001A */ slti $at, $v0, 0x1a -/* 0024B0 700018B0 10200001 */ beqz $at, .L700018B8 -/* 0024B4 700018B4 00000000 */ nop -.L700018B8: -/* 0024B8 700018B8 03E00008 */ jr $ra -/* 0024BC 700018BC AC600000 */ sw $zero, ($v1) -) -#endif - -/** - * 24C0 700018C0 - * searches TLB index for an entry matching A0 - * V0=index of match or 80000000 if not found - * accepts: A0=TLB pointer - */ -s32 return_TLB_index_for_entry(int entry) { - s32 index = 0; - while (index != 0x20) { - if (__osGetTLBHi(index) == entry) { - return index; - } - index++; - }; - return -0x80000000; -} - -/** - * 2520 70001920 - * find and remove TLB entry A0 - * accepts: A0=TLB pointer - * redirects to 700018C0, 7000D3D0 - */ -void find_remove_TLB_entry(u32 entry) { - s32 index = return_TLB_index_for_entry(entry); - - if ((index & 0x80000000)) - return; - - osUnmapTLB(index); -} - -/** - * 2554 70001954 - * remove index A0 TLB entry from table at 8005E3F0 - * table format: - * 0x0 1 if dirty - * 0x1 chunk # (7F000000 | chunk<unk1 << 0xd) | 0x7f000000)); - if ((temp_ret << 0) >= 0) - { - sp18 = temp_v1; - osUnmapTLB(temp_ret); - } - (0x80060000 + (temp_v1->unk1 * 0x10))->unk-2410 = 1; - *temp_v1 = 1; - } -} -#else -GLOBAL_ASM( -glabel remove_TLB_entry_from_table -/* 002554 70001954 3C0F8006 */ lui $t7, %hi(TLB_manager_mapping_table_start) -/* 002558 70001958 25EFE3F0 */ addiu $t7, %lo(TLB_manager_mapping_table_start) # addiu $t7, $t7, -0x1c10 -/* 00255C 7000195C 00047040 */ sll $t6, $a0, 1 -/* 002560 70001960 01CF1821 */ addu $v1, $t6, $t7 -/* 002564 70001964 90780000 */ lbu $t8, ($v1) -/* 002568 70001968 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00256C 7000196C AFBF0014 */ sw $ra, 0x14($sp) -/* 002570 70001970 57000016 */ bnezl $t8, .L700019CC -/* 002574 70001974 8FBF0014 */ lw $ra, 0x14($sp) -/* 002578 70001978 90640001 */ lbu $a0, 1($v1) -/* 00257C 7000197C 3C017F00 */ lui $at, 0x7f00 -/* 002580 70001980 AFA30018 */ sw $v1, 0x18($sp) -/* 002584 70001984 0004CB40 */ sll $t9, $a0, 0xd -/* 002588 70001988 0C000630 */ jal return_TLB_index_for_entry -/* 00258C 7000198C 03212025 */ or $a0, $t9, $at -/* 002590 70001990 00024800 */ sll $t1, $v0, 0 -/* 002594 70001994 8FA30018 */ lw $v1, 0x18($sp) -/* 002598 70001998 05200004 */ bltz $t1, .L700019AC -/* 00259C 7000199C 00402025 */ move $a0, $v0 -/* 0025A0 700019A0 0C0034F4 */ jal osUnmapTLB -/* 0025A4 700019A4 AFA30018 */ sw $v1, 0x18($sp) -/* 0025A8 700019A8 8FA30018 */ lw $v1, 0x18($sp) -.L700019AC: -/* 0025AC 700019AC 906A0001 */ lbu $t2, 1($v1) -/* 0025B0 700019B0 3C018006 */ lui $at, %hi(TLB_managment_table_start) -/* 0025B4 700019B4 24020001 */ li $v0, 1 -/* 0025B8 700019B8 000A5900 */ sll $t3, $t2, 4 -/* 0025BC 700019BC 002B0821 */ addu $at, $at, $t3 -/* 0025C0 700019C0 AC22DBF0 */ sw $v0, %lo(TLB_managment_table_start)($at) -/* 0025C4 700019C4 A0620000 */ sb $v0, ($v1) -/* 0025C8 700019C8 8FBF0014 */ lw $ra, 0x14($sp) -.L700019CC: -/* 0025CC 700019CC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0025D0 700019D0 03E00008 */ jr $ra -/* 0025D4 700019D4 00000000 */ nop -) -#endif - -/** - * 25D8 700019D8 - * loads ROM range for 7F- TLB entries - */ -#ifdef NONMATCHING -void translate_load_rom_from_TLBaddress(s32 arg0) { - u32 sp24; - u32 sp28; - u32 temp_hi; - u32 temp_t1; - u32 temp_t3; - void *temp_a2; - ? temp_ret; - void *temp_v1; - - // Node 0 - maybe_cur_TLB_entries = (s32) (maybe_cur_TLB_entries + 1); - find_remove_TLB_entry((arg0 & 0x7fffe000)); - temp_hi = (return_tlb_random_value() % 0x5aU); - tlb_segment_num = temp_hi; - remove_TLB_entry_from_table(temp_hi); - temp_t1 = (sp28 & 0xffe000); - sp24 = temp_t1; - romCopy((ptr_TLBallocatedblock + (temp_hi << 0xd)), (temp_t1 + &_rarezipSegmentRomEnd), 0x2000); - osInvalICache(0x40000000, 0x40000000); - osInvalICache(0x80000000, 0x10000000); - temp_t3 = (sp24 >> 0xd); - temp_a2 = ((temp_t3 * 0x10) + &TLB_managment_table_start); - temp_a2->unk4 = temp_hi; - sp28 = temp_t3; - temp_ret = osVirtualToPhysical(sp34, sp24, temp_a2); - temp_v1 = ((temp_hi * 2) + &TLB_manager_mapping_table_start); - *temp_v1 = (u8)0; - temp_v1->unk1 = sp28; - *sp20 = (s32) (((temp_ret >> 0xc) << 6) | 0x1f); - return temp_ret; -} -#else -GLOBAL_ASM( -glabel translate_load_rom_from_TLBaddress -/* 0025D8 700019D8 3C028002 */ lui $v0, %hi(maybe_cur_TLB_entries) -/* 0025DC 700019DC 244230D0 */ addiu $v0, %lo(maybe_cur_TLB_entries) # addiu $v0, $v0, 0x30d0 -/* 0025E0 700019E0 8C4E0000 */ lw $t6, ($v0) -/* 0025E4 700019E4 3C017FFF */ lui $at, (0x7FFFE000 >> 16) # lui $at, 0x7fff -/* 0025E8 700019E8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0025EC 700019EC 3421E000 */ ori $at, (0x7FFFE000 & 0xFFFF) # ori $at, $at, 0xe000 -/* 0025F0 700019F0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0025F4 700019F4 00812024 */ and $a0, $a0, $at -/* 0025F8 700019F8 25CF0001 */ addiu $t7, $t6, 1 -/* 0025FC 700019FC AFB00018 */ sw $s0, 0x18($sp) -/* 002600 70001A00 AC4F0000 */ sw $t7, ($v0) -/* 002604 70001A04 0C000648 */ jal find_remove_TLB_entry -/* 002608 70001A08 AFA40028 */ sw $a0, 0x28($sp) -/* 00260C 70001A0C 0C0006C4 */ jal return_tlb_random_value -/* 002610 70001A10 00000000 */ nop -/* 002614 70001A14 2401005A */ li $at, 90 -/* 002618 70001A18 0041001B */ divu $zero, $v0, $at -/* 00261C 70001A1C 00002010 */ mfhi $a0 -/* 002620 70001A20 3C038002 */ lui $v1, %hi(tlb_segment_num) -/* 002624 70001A24 246330D4 */ addiu $v1, %lo(tlb_segment_num) # addiu $v1, $v1, 0x30d4 -/* 002628 70001A28 AC640000 */ sw $a0, ($v1) -/* 00262C 70001A2C 0C000655 */ jal remove_TLB_entry_from_table -/* 002630 70001A30 00808025 */ move $s0, $a0 -/* 002634 70001A34 8FA20028 */ lw $v0, 0x28($sp) -/* 002638 70001A38 3C198006 */ lui $t9, %hi(ptr_TLBallocatedblock) -/* 00263C 70001A3C 8F39E4A8 */ lw $t9, %lo(ptr_TLBallocatedblock)($t9) -/* 002640 70001A40 3C0100FF */ lui $at, (0x00FFE000 >> 16) # lui $at, 0xff -/* 002644 70001A44 3421E000 */ ori $at, (0x00FFE000 & 0xFFFF) # ori $at, $at, 0xe000 -/* 002648 70001A48 00104340 */ sll $t0, $s0, 0xd -/* 00264C 70001A4C 3C0A0003 */ lui $t2, %hi(_gameSegmentRomStart) # $t2, 3 -/* 002650 70001A50 00414824 */ and $t1, $v0, $at -/* 002654 70001A54 254A4B30 */ addiu $t2, %lo(_gameSegmentRomStart) # addiu $t2, $t2, 0x4b30 -/* 002658 70001A58 03282021 */ addu $a0, $t9, $t0 -/* 00265C 70001A5C AFA40034 */ sw $a0, 0x34($sp) -/* 002660 70001A60 012A2821 */ addu $a1, $t1, $t2 -/* 002664 70001A64 01201025 */ move $v0, $t1 -/* 002668 70001A68 AFA90024 */ sw $t1, 0x24($sp) -/* 00266C 70001A6C 0C001707 */ jal romCopy -/* 002670 70001A70 24062000 */ li $a2, 8192 -/* 002674 70001A74 3C044000 */ lui $a0, 0x4000 -/* 002678 70001A78 0C0034D4 */ jal osInvalICache -/* 00267C 70001A7C 3C054000 */ lui $a1, 0x4000 -/* 002680 70001A80 3C048000 */ lui $a0, 0x8000 -/* 002684 70001A84 0C0034D4 */ jal osInvalICache -/* 002688 70001A88 3C051000 */ lui $a1, 0x1000 -/* 00268C 70001A8C 8FA50024 */ lw $a1, 0x24($sp) -/* 002690 70001A90 3C0D8006 */ lui $t5, %hi(TLB_managment_table_start) -/* 002694 70001A94 25ADDBF0 */ addiu $t5, %lo(TLB_managment_table_start) # addiu $t5, $t5, -0x2410 -/* 002698 70001A98 00055B42 */ srl $t3, $a1, 0xd -/* 00269C 70001A9C 000B6100 */ sll $t4, $t3, 4 -/* 0026A0 70001AA0 018D3021 */ addu $a2, $t4, $t5 -/* 0026A4 70001AA4 ACD00004 */ sw $s0, 4($a2) -/* 0026A8 70001AA8 AFA60020 */ sw $a2, 0x20($sp) -/* 0026AC 70001AAC AFAB0028 */ sw $t3, 0x28($sp) -/* 0026B0 70001AB0 0C003A2C */ jal osVirtualToPhysical -/* 0026B4 70001AB4 8FA40034 */ lw $a0, 0x34($sp) -/* 0026B8 70001AB8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0026BC 70001ABC 00027302 */ srl $t6, $v0, 0xc -/* 0026C0 70001AC0 0010C840 */ sll $t9, $s0, 1 -/* 0026C4 70001AC4 3C088006 */ lui $t0, %hi(TLB_manager_mapping_table_start) -/* 0026C8 70001AC8 8FA50028 */ lw $a1, 0x28($sp) -/* 0026CC 70001ACC 8FA60020 */ lw $a2, 0x20($sp) -/* 0026D0 70001AD0 000E7980 */ sll $t7, $t6, 6 -/* 0026D4 70001AD4 2508E3F0 */ addiu $t0, %lo(TLB_manager_mapping_table_start) # addiu $t0, $t0, -0x1c10 -/* 0026D8 70001AD8 35F8001F */ ori $t8, $t7, 0x1f -/* 0026DC 70001ADC 03281821 */ addu $v1, $t9, $t0 -/* 0026E0 70001AE0 8FB00018 */ lw $s0, 0x18($sp) -/* 0026E4 70001AE4 A0600000 */ sb $zero, ($v1) -/* 0026E8 70001AE8 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0026EC 70001AEC A0650001 */ sb $a1, 1($v1) -/* 0026F0 70001AF0 03E00008 */ jr $ra -/* 0026F4 70001AF4 ACD80000 */ sw $t8, ($a2) -) -#endif - -/** - * 26F8 70001AF8 - * V0=p->TLB memory, or alternately end of free memory [8005E4A8] - */ -u32 * return_ptr_TLBallocatedblock(void) -{ - return ptr_TLBallocatedblock; -} - - - - - - diff --git a/src/tlb_random.c b/src/tlb_random.c deleted file mode 100644 index 5d84f4e..0000000 --- a/src/tlb_random.c +++ /dev/null @@ -1,47 +0,0 @@ -#include "ultra64.h" - -/** - * @file tlb_random.c - * This file contains code to get a random tlb value. - * - */ - -u64 tlb_random_seed = 0xAB8D9F7781280783; - -/** - * 2710 70001B10 - * V0= random value for TLB random entries [800230E0] - */ -#ifdef NONMATCHING -u32 return_tlb_random_value(void) -{ - tlb_random_seed = - ((tlb_random_seed << 0x3f) >> 0x1f | (tlb_random_seed << 0x1f) >> 0x20) ^ - (tlb_random_seed << 0x2c) >> 0x20; - tlb_random_seed = tlb_random_seed >> 0x14 & 0xfff ^ tlb_random_seed; - return (u32)tlb_random_seed; -} -#else -GLOBAL_ASM( -.text -glabel return_tlb_random_value -/* 002710 70001B10 3C048002 */ lui $a0, %hi(tlb_random_seed) -/* 002714 70001B14 DC8430E0 */ ld $a0, %lo(tlb_random_seed)($a0) -/* 002718 70001B18 3C018002 */ lui $at, %hi(tlb_random_seed) -/* 00271C 70001B1C 000437FC */ dsll32 $a2, $a0, 0x1f -/* 002720 70001B20 00042FF8 */ dsll $a1, $a0, 0x1f -/* 002724 70001B24 000637FA */ dsrl $a2, $a2, 0x1f -/* 002728 70001B28 0005283E */ dsrl32 $a1, $a1, 0 -/* 00272C 70001B2C 0004233C */ dsll32 $a0, $a0, 0xc -/* 002730 70001B30 00C53025 */ or $a2, $a2, $a1 -/* 002734 70001B34 0004203E */ dsrl32 $a0, $a0, 0 -/* 002738 70001B38 00C43026 */ xor $a2, $a2, $a0 -/* 00273C 70001B3C 0006253A */ dsrl $a0, $a2, 0x14 -/* 002740 70001B40 30840FFF */ andi $a0, $a0, 0xfff -/* 002744 70001B44 00862026 */ xor $a0, $a0, $a2 -/* 002748 70001B48 0004103C */ dsll32 $v0, $a0, 0 -/* 00274C 70001B4C FC2430E0 */ sd $a0, %lo(tlb_random_seed)($at) -/* 002750 70001B50 03E00008 */ jr $ra -/* 002754 70001B54 0002103F */ dsra32 $v0, $v0, 0 -) -#endif diff --git a/src/tlb_resolve.c b/src/tlb_resolve.c deleted file mode 100644 index 9ad26bb..0000000 --- a/src/tlb_resolve.c +++ /dev/null @@ -1,47 +0,0 @@ -#include "ultra64.h" -#include "tlb_resolve.h" - -/** - * @file tlb_resolve.c - * This file contains code to load/resolve TLBaddress. - */ - - -/** - * 2760 70001B60 - * loads/resolves TLB address, writting random entry - */ -#ifdef NONMATCHING -void resolve_TLBaddress_for_InvalidHit(void) { - //i should probably remain as assembly, maybe even moved to a .s -} -#else -GLOBAL_ASM( -.text -glabel resolve_TLBaddress_for_InvalidHit -/* 002760 70001B60 40802800 */ mtc0 $zero, $5 -/* 002764 70001B64 00000000 */ nop -/* 002768 70001B68 401A2000 */ mfc0 $k0, $4 -/* 00276C 70001B6C 3C1B8006 */ lui $k1, %hi(TLB_manager_mapping_table_end) # $k1, 0x8006 -/* 002770 70001B70 277BE4A4 */ addiu $k1, %lo(TLB_manager_mapping_table_end) # addiu $k1, $k1, -0x1b5c -/* 002774 70001B74 8F7B0000 */ lw $k1, ($k1) -/* 002778 70001B78 035BD021 */ addu $k0, $k0, $k1 -/* 00277C 70001B7C 8F5B0000 */ lw $k1, ($k0) -/* 002780 70001B80 409B1000 */ mtc0 $k1, $2 -/* 002784 70001B84 00000000 */ nop -/* 002788 70001B88 277B0040 */ addiu $k1, $k1, 0x40 -/* 00278C 70001B8C 409B1800 */ mtc0 $k1, $3 -/* 002790 70001B90 00000000 */ nop -/* 002794 70001B94 42000006 */ tlbwr -/* 002798 70001B98 00000000 */ nop -/* 00279C 70001B9C 00000000 */ nop -/* 0027A0 70001BA0 00000000 */ nop -/* 0027A4 70001BA4 00000000 */ nop -/* 0027A8 70001BA8 42000018 */ eret -) -#endif - - - - - diff --git a/src/tlb_resolve.h b/src/tlb_resolve.h deleted file mode 100644 index 846574d..0000000 --- a/src/tlb_resolve.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _TLB_RESOLVE_H_ -#define _TLB_RESOLVE_H_ -#include "ultra64.h" - - -extern void resolve_TLBaddress_for_InvalidHit(void); - -#endif - - diff --git a/src/token.c b/src/token.c deleted file mode 100644 index 56da807..0000000 --- a/src/token.c +++ /dev/null @@ -1,351 +0,0 @@ -#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}; - - -const char str_empty[] = ""; -const char aD_6[] = "-d"; -const char aS_2[] = "-s"; -const char aJ[] = "-j"; - - - - - -#ifdef NONMATCHING -void *check_string_something(void *arg0) -{ - s32 temp_v0; - s32 temp_v0_2; - void *temp_a0; - void *temp_a0_2; - s32 phi_v0; - void *phi_a0; - void *phi_a0_2; - void *phi_a0_3; - s32 phi_v0_2; - void *phi_a0_4; - void *phi_a0_5; - void *phi_a0_6; - - strstr_ptrcurrent_string = &str_empty; - strstr_numstings = 1; - phi_v0 = *arg0; - phi_a0_4 = arg0; - phi_a0_5 = arg0; - if (*arg0 != 0) - { -loop_1: - phi_a0 = phi_a0_5; - phi_a0_2 = phi_a0_5; - if (0x20 == phi_v0) - { -loop_2: - phi_a0->unk0 = (u8)0; - temp_a0 = phi_a0 + 1; - phi_a0 = temp_a0; - phi_a0_2 = temp_a0; - if (0x20 == phi_a0->unk1) - { - goto loop_2; - } - } - *(&strstr_ptrcurrent_string + (strstr_numstings * 4)) = (void *) phi_a0_2; - strstr_numstings = (s32) (strstr_numstings + 1); - temp_v0 = *phi_a0_2; - phi_a0_3 = phi_a0_2; - phi_v0_2 = temp_v0; - phi_a0_6 = phi_a0_2; - if (temp_v0 >= 0x21) - { -loop_4: - temp_v0_2 = phi_a0_3->unk1; - temp_a0_2 = phi_a0_3 + 1; - phi_a0_3 = temp_a0_2; - phi_v0_2 = temp_v0_2; - phi_a0_6 = temp_a0_2; - if (temp_v0_2 >= 0x21) - { - goto loop_4; - } - } - phi_v0 = phi_v0_2; - phi_a0_4 = phi_a0_6; - phi_a0_5 = phi_a0_6; - if (phi_v0_2 != 0) - { - goto loop_1; - } - } - return phi_a0_4; -} -#else -GLOBAL_ASM( -.text -glabel check_string_something -/* 00B0F0 7000A4F0 3C058002 */ lui $a1, %hi(strstr_ptrcurrent_string) -/* 00B0F4 7000A4F4 3C068002 */ lui $a2, %hi(strstr_numstings) -/* 00B0F8 7000A4F8 3C0E8003 */ lui $t6, %hi(str_empty) -/* 00B0FC 7000A4FC 24C64470 */ addiu $a2, %lo(strstr_numstings) # addiu $a2, $a2, 0x4470 -/* 00B100 7000A500 24A54474 */ addiu $a1, %lo(strstr_ptrcurrent_string) # addiu $a1, $a1, 0x4474 -/* 00B104 7000A504 25CE91F0 */ addiu $t6, %lo(str_empty) # addiu $t6, $t6, -0x6e10 -/* 00B108 7000A508 240F0001 */ li $t7, 1 -/* 00B10C 7000A50C ACAE0000 */ sw $t6, ($a1) -/* 00B110 7000A510 ACCF0000 */ sw $t7, ($a2) -/* 00B114 7000A514 90820000 */ lbu $v0, ($a0) -/* 00B118 7000A518 24070020 */ li $a3, 32 -/* 00B11C 7000A51C 10400019 */ beqz $v0, .L7000A584 -/* 00B120 7000A520 00000000 */ nop -.L7000A524: -/* 00B124 7000A524 54E20007 */ bnel $a3, $v0, .L7000A544 -/* 00B128 7000A528 8CC30000 */ lw $v1, ($a2) -/* 00B12C 7000A52C 90980001 */ lbu $t8, 1($a0) -.L7000A530: -/* 00B130 7000A530 A0800000 */ sb $zero, ($a0) -/* 00B134 7000A534 24840001 */ addiu $a0, $a0, 1 -/* 00B138 7000A538 50F8FFFD */ beql $a3, $t8, .L7000A530 -/* 00B13C 7000A53C 90980001 */ lbu $t8, 1($a0) -/* 00B140 7000A540 8CC30000 */ lw $v1, ($a2) -.L7000A544: -/* 00B144 7000A544 0003C880 */ sll $t9, $v1, 2 -/* 00B148 7000A548 00B94021 */ addu $t0, $a1, $t9 -/* 00B14C 7000A54C AD040000 */ sw $a0, ($t0) -/* 00B150 7000A550 24690001 */ addiu $t1, $v1, 1 -/* 00B154 7000A554 ACC90000 */ sw $t1, ($a2) -/* 00B158 7000A558 90820000 */ lbu $v0, ($a0) -/* 00B15C 7000A55C 28410021 */ slti $at, $v0, 0x21 -/* 00B160 7000A560 14200006 */ bnez $at, .L7000A57C -/* 00B164 7000A564 00000000 */ nop -/* 00B168 7000A568 90820001 */ lbu $v0, 1($a0) -.L7000A56C: -/* 00B16C 7000A56C 24840001 */ addiu $a0, $a0, 1 -/* 00B170 7000A570 28410021 */ slti $at, $v0, 0x21 -/* 00B174 7000A574 5020FFFD */ beql $at, $zero, .L7000A56C -/* 00B178 7000A578 90820001 */ lbu $v0, 1($a0) -.L7000A57C: -/* 00B17C 7000A57C 1440FFE9 */ bnez $v0, .L7000A524 -/* 00B180 7000A580 00000000 */ nop -.L7000A584: -/* 00B184 7000A584 03E00008 */ jr $ra -/* 00B188 7000A588 00801025 */ move $v0, $a0 -) -#endif - - -void strtok(s32 arg0) { - textpointer_load_parse_something(&boot_token_from_indy, arg0); - check_string_something(&boot_token_from_indy); -} - - - -#ifdef NONMATCHING -s32 check_boot_switches(void) -{ - s32 is_debug; - s32 devAddr; - u32 *data; - - is_debug = 0; - if (rmon_debug_is_final_build() != 0) - { - boot_token_from_indy[0] = 0; - } - else - { - for (devAddr = 0xffb000, data = &boot_token_from_indy; data != &piCmdBuf; data += 4, devAddr += 4) - { - osPiReadIo(devAddr, data); - } - } - check_string_something(&boot_token_from_indy); - - is_debug = (check_token(1, "-d") != 0); - - if (check_token(1, "-s") != 0) { - bootswitch_sound = 1; - } - - if (check_token(1, "-j") != 0) { - j_text_trigger = 1; - } - - return is_debug; -} -#else -GLOBAL_ASM( -.text -glabel check_boot_switches -/* 00B1C0 7000A5C0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 00B1C4 7000A5C4 AFB1001C */ sw $s1, 0x1c($sp) -/* 00B1C8 7000A5C8 AFBF0024 */ sw $ra, 0x24($sp) -/* 00B1CC 7000A5CC 3C1100FF */ lui $s1, 0xff -/* 00B1D0 7000A5D0 AFB20020 */ sw $s2, 0x20($sp) -/* 00B1D4 7000A5D4 AFB00018 */ sw $s0, 0x18($sp) -/* 00B1D8 7000A5D8 AFA00028 */ sw $zero, 0x28($sp) -/* 00B1DC 7000A5DC 0C0033AA */ jal rmon_debug_is_final_build -/* 00B1E0 7000A5E0 3631B000 */ ori $s1, $s1, 0xb000 -/* 00B1E4 7000A5E4 10400004 */ beqz $v0, .L7000A5F8 -/* 00B1E8 7000A5E8 3C108006 */ lui $s0, %hi(boot_token_from_indy) -/* 00B1EC 7000A5EC 3C018006 */ lui $at, %hi(boot_token_from_indy) -/* 00B1F0 7000A5F0 1000000A */ b .L7000A61C -/* 00B1F4 7000A5F4 AC204C30 */ sw $zero, %lo(boot_token_from_indy)($at) -.L7000A5F8: -/* 00B1F8 7000A5F8 3C128006 */ lui $s2, %hi(piCmdBuf) -/* 00B1FC 7000A5FC 26524EB0 */ addiu $s2, %lo(piCmdBuf) # addiu $s2, $s2, 0x4eb0 -/* 00B200 7000A600 26104C30 */ addiu $s0, %lo(boot_token_from_indy) # addiu $s0, $s0, 0x4c30 -.L7000A604: -/* 00B204 7000A604 02202025 */ move $a0, $s1 -/* 00B208 7000A608 0C004E04 */ jal osPiReadIo -/* 00B20C 7000A60C 02002825 */ move $a1, $s0 -/* 00B210 7000A610 26100004 */ addiu $s0, $s0, 4 -/* 00B214 7000A614 1612FFFB */ bne $s0, $s2, .L7000A604 -/* 00B218 7000A618 26310004 */ addiu $s1, $s1, 4 -.L7000A61C: -/* 00B21C 7000A61C 3C048006 */ lui $a0, %hi(boot_token_from_indy) -/* 00B220 7000A620 0C00293C */ jal check_string_something -/* 00B224 7000A624 24844C30 */ addiu $a0, %lo(boot_token_from_indy) # addiu $a0, $a0, 0x4c30 -/* 00B228 7000A628 3C058003 */ lui $a1, %hi(aD_6) -/* 00B22C 7000A62C 24A591F4 */ addiu $a1, %lo(aD_6) # addiu $a1, $a1, -0x6e0c -/* 00B230 7000A630 0C0029A8 */ jal check_token -/* 00B234 7000A634 24040001 */ li $a0, 1 -/* 00B238 7000A638 10400003 */ beqz $v0, .L7000A648 -/* 00B23C 7000A63C 24040001 */ li $a0, 1 -/* 00B240 7000A640 240E0001 */ li $t6, 1 -/* 00B244 7000A644 AFAE0028 */ sw $t6, 0x28($sp) -.L7000A648: -/* 00B248 7000A648 3C058003 */ lui $a1, %hi(aS_2) -/* 00B24C 7000A64C 0C0029A8 */ jal check_token -/* 00B250 7000A650 24A591F8 */ addiu $a1, %lo(aS_2) # addiu $a1, $a1, -0x6e08 -/* 00B254 7000A654 10400004 */ beqz $v0, .L7000A668 -/* 00B258 7000A658 24040001 */ li $a0, 1 -/* 00B25C 7000A65C 240F0001 */ li $t7, 1 -/* 00B260 7000A660 3C018002 */ lui $at, %hi(bootswitch_sound) -/* 00B264 7000A664 A02F43F8 */ sb $t7, %lo(bootswitch_sound)($at) -.L7000A668: -/* 00B268 7000A668 3C058003 */ lui $a1, %hi(aJ) -/* 00B26C 7000A66C 0C0029A8 */ jal check_token -/* 00B270 7000A670 24A591FC */ addiu $a1, %lo(aJ) # addiu $a1, $a1, -0x6e04 -/* 00B274 7000A674 10400003 */ beqz $v0, .L7000A684 -/* 00B278 7000A678 24180001 */ li $t8, 1 -/* 00B27C 7000A67C 3C018005 */ lui $at, %hi(j_text_trigger) -/* 00B280 7000A680 AC3884D0 */ sw $t8, %lo(j_text_trigger)($at) -.L7000A684: -/* 00B284 7000A684 8FBF0024 */ lw $ra, 0x24($sp) -/* 00B288 7000A688 8FA20028 */ lw $v0, 0x28($sp) -/* 00B28C 7000A68C 8FB00018 */ lw $s0, 0x18($sp) -/* 00B290 7000A690 8FB1001C */ lw $s1, 0x1c($sp) -/* 00B294 7000A694 8FB20020 */ lw $s2, 0x20($sp) -/* 00B298 7000A698 03E00008 */ jr $ra -/* 00B29C 7000A69C 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - -#ifdef NONMATCHING -s32 check_token(s32 arg0, s32 arg1) -{ - s32 temp_s1; - s32 temp_s2; - s32 temp_s3; - void *phi_s0; - s32 phi_s2; - s32 phi_s1; - - temp_s3 = strlen(arg1); - if (strstr_numstings >= 2) - { - phi_s0 = &D_80024478; - phi_s2 = arg0; - phi_s1 = 1; -loop_2: - phi_s2 = phi_s2; - if (string_related(arg1, *phi_s0, temp_s3) == 0) - { - temp_s2 = phi_s2 + -1; - phi_s2 = temp_s2; - if (temp_s2 == 0) - { - return *phi_s0 + temp_s3; - } - } - temp_s1 = phi_s1 + 1; - phi_s0 = phi_s0 + 4; - phi_s1 = temp_s1; - if (temp_s1 < strstr_numstings) - { - goto loop_2; - } - } - return 0; -} -#else -GLOBAL_ASM( -.text -glabel check_token -/* 00B2A0 7000A6A0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 00B2A4 7000A6A4 AFB2001C */ sw $s2, 0x1c($sp) -/* 00B2A8 7000A6A8 00809025 */ move $s2, $a0 -/* 00B2AC 7000A6AC AFBF002C */ sw $ra, 0x2c($sp) -/* 00B2B0 7000A6B0 AFB40024 */ sw $s4, 0x24($sp) -/* 00B2B4 7000A6B4 00A0A025 */ move $s4, $a1 -/* 00B2B8 7000A6B8 AFB50028 */ sw $s5, 0x28($sp) -/* 00B2BC 7000A6BC AFB30020 */ sw $s3, 0x20($sp) -/* 00B2C0 7000A6C0 AFB10018 */ sw $s1, 0x18($sp) -/* 00B2C4 7000A6C4 AFB00014 */ sw $s0, 0x14($sp) -/* 00B2C8 7000A6C8 0C004E1F */ jal strlen -/* 00B2CC 7000A6CC 00A02025 */ move $a0, $a1 -/* 00B2D0 7000A6D0 3C158002 */ lui $s5, %hi(strstr_numstings) -/* 00B2D4 7000A6D4 26B54470 */ addiu $s5, %lo(strstr_numstings) # addiu $s5, $s5, 0x4470 -/* 00B2D8 7000A6D8 8EAE0000 */ lw $t6, ($s5) -/* 00B2DC 7000A6DC 00409825 */ move $s3, $v0 -/* 00B2E0 7000A6E0 24110001 */ li $s1, 1 -/* 00B2E4 7000A6E4 29C10002 */ slti $at, $t6, 2 -/* 00B2E8 7000A6E8 14200014 */ bnez $at, .L7000A73C -/* 00B2EC 7000A6EC 3C108002 */ lui $s0, %hi(D_80024478) -/* 00B2F0 7000A6F0 26104478 */ addiu $s0, %lo(D_80024478) # addiu $s0, $s0, 0x4478 -/* 00B2F4 7000A6F4 02802025 */ move $a0, $s4 -.L7000A6F8: -/* 00B2F8 7000A6F8 8E050000 */ lw $a1, ($s0) -/* 00B2FC 7000A6FC 0C002A26 */ jal string_related -/* 00B300 7000A700 02603025 */ move $a2, $s3 -/* 00B304 7000A704 54400008 */ bnezl $v0, .L7000A728 -/* 00B308 7000A708 8EB80000 */ lw $t8, ($s5) -/* 00B30C 7000A70C 2652FFFF */ addiu $s2, $s2, -1 -/* 00B310 7000A710 56400005 */ bnezl $s2, .L7000A728 -/* 00B314 7000A714 8EB80000 */ lw $t8, ($s5) -/* 00B318 7000A718 8E0F0000 */ lw $t7, ($s0) -/* 00B31C 7000A71C 10000008 */ b .L7000A740 -/* 00B320 7000A720 01F31021 */ addu $v0, $t7, $s3 -/* 00B324 7000A724 8EB80000 */ lw $t8, ($s5) -.L7000A728: -/* 00B328 7000A728 26310001 */ addiu $s1, $s1, 1 -/* 00B32C 7000A72C 26100004 */ addiu $s0, $s0, 4 -/* 00B330 7000A730 0238082A */ slt $at, $s1, $t8 -/* 00B334 7000A734 5420FFF0 */ bnezl $at, .L7000A6F8 -/* 00B338 7000A738 02802025 */ move $a0, $s4 -.L7000A73C: -/* 00B33C 7000A73C 00001025 */ move $v0, $zero -.L7000A740: -/* 00B340 7000A740 8FBF002C */ lw $ra, 0x2c($sp) -/* 00B344 7000A744 8FB00014 */ lw $s0, 0x14($sp) -/* 00B348 7000A748 8FB10018 */ lw $s1, 0x18($sp) -/* 00B34C 7000A74C 8FB2001C */ lw $s2, 0x1c($sp) -/* 00B350 7000A750 8FB30020 */ lw $s3, 0x20($sp) -/* 00B354 7000A754 8FB40024 */ lw $s4, 0x24($sp) -/* 00B358 7000A758 8FB50028 */ lw $s5, 0x28($sp) -/* 00B35C 7000A75C 03E00008 */ jr $ra -/* 00B360 7000A760 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - diff --git a/src/vi.c b/src/vi.c deleted file mode 100644 index a115753..0000000 --- a/src/vi.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "ultra64.h" - -OSMesg vi_c_debug_MSG[0x8]; -OSMesgQueue vi_c_debug_MQ; - -/* wtf is this, should it be split? is it part of debugmenu.? */ -u32 ptr_vi_c_debug_debug_notice_list[] = { - 0, 0, 0, 0, 0, 0 -}; - -//80024518 -u32 enddl_80024518[] = { -0xB8000000, 0, -}; - - - - - -void start_nulled_entry(void) { - return; -} - -void something_with_vi_c_debug(void) -{ - get_ptr_debug_notice_list_entry(&ptr_vi_c_debug_debug_notice_list, "vi_c_debug"); - osCreateMesgQueue(&vi_c_debug_MQ, &vi_c_debug_MSG, 8); -} - - - - diff --git a/src/vi.h b/src/vi.h deleted file mode 100644 index 4616b78..0000000 --- a/src/vi.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _VI_H_ -#define _VI_H_ -#include "ultra64.h" - -extern OSMesg vi_c_debug_MSG[0x8]; -extern OSMesgQueue vi_c_debug_MQ; - -extern u32 enddl_80024518[]; - -#endif diff --git a/src/video.c b/src/video.c deleted file mode 100644 index ca3922a..0000000 --- a/src/video.c +++ /dev/null @@ -1,3165 +0,0 @@ -//FIXME i still need all sorts of love -#include "ultra64.h" -#include "video.h" -#include "vi.h" -#include "bondgame.h" - -/** - * @file video.c - * This file contains video handling code. - */ - - -//data -u32 D_80023240 = 0; -struct video_settings video1_settings = {0, 320, 240, 60.0f, 1.3333334f, 30.0f, 10000.0f, 320, 240, 320, 240, 0, 0, 1, 0}; -struct video_settings video2_settings = {0, 320, 240, 60.0f, 1.3333334f, 30.0f, 10000.0f, 320, 240, 320, 240, 0, 0, 1, 0}; -s32 D_8002329C = 0; -s32 D_800232A0 = 0; -video_settings * ptr_video_settings1 = &video1_settings; -video_settings * ptr_video_settings2 = &video1_settings; -s32 coloroutputmode = 1; -s32 D_800232B0 = 1; -s32 D_800232B4 = 0; -s32 D_800232B8 = 0; -s32 D_800232BC = 3; -s32 D_800232C0 = 0; -s32 jpg_16bit_grabnum = 1; -s32 jpg_32bit_grabnum = 1; -s32 rgb_16bit_grabnum = 1; -s32 rgb_32bit_grabnum = 1; - -//rodata -const u16 widths_80028480[] = {320, 320, 640}; -const u16 heights_80028488[] = {240, 240, 480}; //is this not 16bit and a list of 320x240 and 640x480 - 3 widths, 3 heights -const char aGrab_D_jpeg_1[] = "grab.%d.jpeg"; -const char aGrab_D_temp_uix[] = "grab.%d.temp.uix"; -const char aUix2pixGrab_D_temp_uix[] = "uix2pix grab.%d.temp.uix"; -const char aFromaliasGrab_D_temp_pixGrab_D_tem[] = "fromalias grab.%d.temp.pix grab.%d.temp.rgb"; -const char aImgcopyFjfifGrab_D_temp_rgbGrab_D_[] = "imgcopy -fjfif grab.%d.temp.rgb grab.%d.jpeg"; -const char aRmGrab_D_temp_uixGrab_D_temp_pixGr[] = "rm grab.%d.temp.uix grab.%d.temp.pix grab.%d.temp.rgb"; -const char aImgviewGrab_D_jpeg[] = "imgview grab.%d.jpeg"; -const char aGrab_D_jpeg[] = "grab.%d.jpeg"; -const char aGrab_D_temp_uix_0[] = "grab.%d.temp.Uix"; -const char aUix2pixXsDGrab_D_temp_uix[] = "Uix2pix -xs%d grab.%d.temp.Uix"; -const char aFromaliasGrab_D_temp_pixGrab_D_t_0[] = "fromalias grab.%d.temp.pix grab.%d.temp.rgb"; -const char aImgcopyFjfifGrab_D_temp_rgbGrab__0[] = "imgcopy -fjfif grab.%d.temp.rgb grab.%d.jpeg"; -const char aRmGrab_D_temp_uixGrab_D_temp_pix_0[] = "rm grab.%d.temp.Uix grab.%d.temp.pix grab.%d.temp.rgb"; -const char aImgviewGrab_D_jpeg_0[] = "imgview grab.%d.jpeg"; -const char aGrab_D_rgb[] = "grab.%d.rgb"; -const char aGrab_D_temp_uix_1[] = "grab.%d.temp.uix"; -const char aUix2pixGrab_D_temp_uix_0[] = "uix2pix grab.%d.temp.uix"; -const char aFromaliasGrab_D_temp_pixGrab_D_rgb[] = "fromalias grab.%d.temp.pix grab.%d.rgb"; -const char aRmGrab_D_temp_uixGrab_D_temp_pix[] = "rm grab.%d.temp.uix grab.%d.temp.pix"; -const char aImgviewGrab_D_rgb[] = "imgview grab.%d.rgb"; -const char aGrab_D_rgb_0[] = "grab.%d.rgb"; -const char aGrab_D_temp_uix_2[] = "grab.%d.temp.Uix"; -const char aUix2pixXsDGrab_D_temp_uix_0[] = "Uix2pix -xs%d grab.%d.temp.Uix"; -const char aFromaliasGrab_D_temp_pixGrab_D_r_0[] = "fromalias grab.%d.temp.pix grab.%d.rgb"; -const char aRmGrab_D_temp_uixGrab_D_temp_pix_1[] = "rm grab.%d.temp.Uix grab.%d.temp.pix"; -const char aImgviewGrab_D_rgb_0[] = "imgview grab.%d.rgb"; - - -//bss -char dword_CODE_bss_800607E0[0x40]; -Mtx *m; -u16 word_CODE_bss_80060824; -char dword_CODE_bss_80060828[0x50]; -u8 off_CODE_bss_80060878; -u8 off_CODE_bss_80060879; -//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 -void init_video_settings(void) -{ - video1_settings.frameb = cfb_16_a; - D_8002329C = 0; - D_800232A0 = 0; - 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( -.text -glabel init_video_settings -/* 003C60 70003060 2408002C */ li $t0, 44 -/* 003C64 70003064 300200FF */ andi $v0, $zero, 0xff -/* 003C68 70003068 00480019 */ multu $v0, $t0 -/* 003C6C 7000306C 0002C880 */ sll $t9, $v0, 2 -/* 003C70 70003070 0322C821 */ addu $t9, $t9, $v0 -/* 003C74 70003074 0019C880 */ sll $t9, $t9, 2 -/* 003C78 70003078 0322C823 */ subu $t9, $t9, $v0 -/* 003C7C 7000307C 3C078002 */ lui $a3, %hi(video1_settings) -/* 003C80 70003080 0019C880 */ sll $t9, $t9, 2 -/* 003C84 70003084 24E73244 */ addiu $a3, %lo(video1_settings) # addiu $a3, $a3, 0x3244 -/* 003C88 70003088 3C048006 */ lui $a0, %hi(off_CODE_bss_80060878) -/* 003C8C 7000308C 3C058006 */ lui $a1, %hi(off_CODE_bss_80060879) -/* 003C90 70003090 00007812 */ mflo $t7 -/* 003C94 70003094 3C068002 */ lui $a2, %hi(ptr_video_settings1) -/* 003C98 70003098 3C09803B */ lui $t1, %hi(cfb_16_a) # $t1, 0x803b -/* 003C9C 7000309C 0322C823 */ subu $t9, $t9, $v0 -/* 003CA0 700030A0 25295000 */ addiu $t1, %lo(cfb_16_a) # addiu $t1, $t1, 0x5000 -/* 003CA4 700030A4 24C632A4 */ addiu $a2, %lo(ptr_video_settings1) # addiu $a2, $a2, 0x32a4 -/* 003CA8 700030A8 24A50879 */ addiu $a1, %lo(off_CODE_bss_80060879) # addiu $a1, $a1, 0x879 -/* 003CAC 700030AC 24840878 */ addiu $a0, %lo(off_CODE_bss_80060878) # addiu $a0, $a0, 0x878 -/* 003CB0 700030B0 240E0001 */ li $t6, 1 -/* 003CB4 700030B4 00EFC021 */ addu $t8, $a3, $t7 -/* 003CB8 700030B8 0019CAC0 */ sll $t9, $t9, 0xb -/* 003CBC 700030BC A0800000 */ sb $zero, ($a0) -/* 003CC0 700030C0 A0AE0000 */ sb $t6, ($a1) -/* 003CC4 700030C4 ACD80000 */ sw $t8, ($a2) -/* 003CC8 700030C8 01395821 */ addu $t3, $t1, $t9 -/* 003CCC 700030CC AF0B0028 */ sw $t3, 0x28($t8) -/* 003CD0 700030D0 90A30000 */ lbu $v1, ($a1) -/* 003CD4 700030D4 3C0A8002 */ lui $t2, %hi(ptr_video_settings2) -/* 003CD8 700030D8 254A32A8 */ addiu $t2, %lo(ptr_video_settings2) # addiu $t2, $t2, 0x32a8 -/* 003CDC 700030DC 00680019 */ multu $v1, $t0 -/* 003CE0 700030E0 00037880 */ sll $t7, $v1, 2 -/* 003CE4 700030E4 01E37821 */ addu $t7, $t7, $v1 -/* 003CE8 700030E8 000F7880 */ sll $t7, $t7, 2 -/* 003CEC 700030EC 01E37823 */ subu $t7, $t7, $v1 -/* 003CF0 700030F0 000F7880 */ sll $t7, $t7, 2 -/* 003CF4 700030F4 01E37823 */ subu $t7, $t7, $v1 -/* 003CF8 700030F8 000F7AC0 */ sll $t7, $t7, 0xb -/* 003CFC 700030FC 012FC021 */ addu $t8, $t1, $t7 -/* 003D00 70003100 3C018002 */ lui $at, %hi(D_8002329C) -/* 003D04 70003104 00006812 */ mflo $t5 -/* 003D08 70003108 00ED7021 */ addu $t6, $a3, $t5 -/* 003D0C 7000310C AD4E0000 */ sw $t6, ($t2) -/* 003D10 70003110 ADD80028 */ sw $t8, 0x28($t6) -/* 003D14 70003114 AC20329C */ sw $zero, %lo(D_8002329C)($at) -/* 003D18 70003118 3C018002 */ lui $at, %hi(D_800232A0) -/* 003D1C 7000311C 03E00008 */ jr $ra -/* 003D20 70003120 AC2032A0 */ sw $zero, %lo(D_800232A0)($at) -) -#endif - - - -/** - * 3D24 70003124 initialize both video buffers - */ -#ifdef NONMATCHING -void init_both_video_buffers(void) -{ - s32 i; - - remove_viewport_buffer(); - for (i = 0; i != 0x25800; i += 4) - { - 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( -.text -glabel init_both_video_buffers -/* 003D24 70003124 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 003D28 70003128 AFBF0014 */ sw $ra, 0x14($sp) -/* 003D2C 7000312C 0FC348E0 */ jal remove_viewport_buffer -/* 003D30 70003130 00000000 */ nop -/* 003D34 70003134 3C070002 */ lui $a3, (0x00025800 >> 16) # lui $a3, 2 -/* 003D38 70003138 3C06803E */ lui $a2, %hi(cfb_16_b) # $a2, 0x803e -/* 003D3C 7000313C 3C05803B */ lui $a1, %hi(cfb_16_a) # $a1, 0x803b -/* 003D40 70003140 24A55000 */ addiu $a1, %lo(cfb_16_a) # addiu $a1, $a1, 0x5000 -/* 003D44 70003144 24C6A800 */ addiu $a2, %lo(cfb_16_b) # addiu $a2, $a2, -0x5800 -/* 003D48 70003148 34E75800 */ ori $a3, (0x00025800 & 0xFFFF) # ori $a3, $a3, 0x5800 -/* 003D4C 7000314C 00002025 */ move $a0, $zero -.L70003150: -/* 003D50 70003150 00A41021 */ addu $v0, $a1, $a0 -/* 003D54 70003154 A0400000 */ sb $zero, ($v0) -/* 003D58 70003158 00C41821 */ addu $v1, $a2, $a0 -/* 003D5C 7000315C A0600000 */ sb $zero, ($v1) -/* 003D60 70003160 A0400001 */ sb $zero, 1($v0) -/* 003D64 70003164 A0600001 */ sb $zero, 1($v1) -/* 003D68 70003168 A0400002 */ sb $zero, 2($v0) -/* 003D6C 7000316C A0600002 */ sb $zero, 2($v1) -/* 003D70 70003170 A0400003 */ sb $zero, 3($v0) -/* 003D74 70003174 24840004 */ addiu $a0, $a0, 4 -/* 003D78 70003178 1487FFF5 */ bne $a0, $a3, .L70003150 -/* 003D7C 7000317C A0600003 */ sb $zero, 3($v1) -/* 003D80 70003180 8FBF0014 */ lw $ra, 0x14($sp) -/* 003D84 70003184 27BD0018 */ addiu $sp, $sp, 0x18 -/* 003D88 70003188 03E00008 */ jr $ra -/* 003D8C 7000318C 00000000 */ nop -) -#endif - -/** - * 3D90 70003190 ???; 2->800232BC - */ -#ifdef NONMATCHING -void video_related_6(s32 arg0) -{ - D_800232BC = (s32) (arg0 + 2); -} -#else -GLOBAL_ASM( -.text -glabel video_related_6 -/* 003D90 70003190 24840002 */ addiu $a0, $a0, 2 -/* 003D94 70003194 3C018002 */ lui $at, %hi(D_800232BC) -/* 003D98 70003198 03E00008 */ jr $ra -/* 003D9C 7000319C AC2432BC */ sw $a0, %lo(D_800232BC)($at) -) -#endif - -/** - * 3DA0 700031A0 - */ -#ifdef NONMATCHING -void *video_related_7(void) -{ - s32 temp_lo; - s32 temp_t6; - - if (D_800232B8 != 0) - { - temp_t6 = D_800232B8 + -1; - D_800232B8 = temp_t6; - if (temp_t6 == 0) - { - D_800232B4 = 0; - } - } - temp_lo = D_800232B0 * D_800232B4; - viMode->OSViCommonRegs.hstart /*unk30*/ = (s32) (((((s32) viMode+0x8 >> 0x10) + temp_lo) << 0x10) | ((viMode+0x8 + temp_lo) & 0xffff)); - viMode->OSViFieldRegs[0].origin /*unk44*/ = (s32) (((((s32) viMode+0xC >> 0x10) + temp_lo) << 0x10) | ((viMode+0xC + temp_lo) & 0xffff)); - osViSetMode(viMode, &viMode); - osViBlack(*(D_800232BC + 3)); - if (D_800232BC != 0) - { - if (D_800232BC < 3) - { - D_800232BC = (s32) (D_800232BC + -1); - } - } - osViSetSpecialFeatures(0x42); - D_800232B0 = (s32) -(s32) D_800232B0; - return &D_800232B0; -} -#else -GLOBAL_ASM( -.text -glabel video_related_7 -/* 003DA0 700031A0 3C038002 */ lui $v1, %hi(D_800232B8) -/* 003DA4 700031A4 246332B8 */ addiu $v1, %lo(D_800232B8) # addiu $v1, $v1, 0x32b8 -/* 003DA8 700031A8 8C620000 */ lw $v0, ($v1) -/* 003DAC 700031AC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 003DB0 700031B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 003DB4 700031B4 10400006 */ beqz $v0, .L700031D0 -/* 003DB8 700031B8 3C188002 */ lui $t8, %hi(D_800232B0) -/* 003DBC 700031BC 244EFFFF */ addiu $t6, $v0, -1 -/* 003DC0 700031C0 15C00003 */ bnez $t6, .L700031D0 -/* 003DC4 700031C4 AC6E0000 */ sw $t6, ($v1) -/* 003DC8 700031C8 3C018002 */ lui $at, %hi(D_800232B4) -/* 003DCC 700031CC AC2032B4 */ sw $zero, %lo(D_800232B4)($at) -.L700031D0: -/* 003DD0 700031D0 3C198002 */ lui $t9, %hi(D_800232B4) -/* 003DD4 700031D4 8F3932B4 */ lw $t9, %lo(D_800232B4)($t9) -/* 003DD8 700031D8 8F1832B0 */ lw $t8, %lo(D_800232B0)($t8) -/* 003DDC 700031DC 3C028006 */ lui $v0, %hi(viMode+0x8) -/* 003DE0 700031E0 8C4D0884 */ lw $t5, %lo(viMode+0x8)($v0) -/* 003DE4 700031E4 03190019 */ multu $t8, $t9 -/* 003DE8 700031E8 3C058006 */ lui $a1, %hi(viMode) -/* 003DEC 700031EC 24A5087C */ addiu $a1, %lo(viMode) # addiu $a1, $a1, 0x87c -/* 003DF0 700031F0 000D4C03 */ sra $t1, $t5, 0x10 -/* 003DF4 700031F4 8CB90000 */ lw $t9, ($a1) -/* 003DF8 700031F8 3C028006 */ lui $v0, %hi(viMode+0xC) -/* 003DFC 700031FC 00001812 */ mflo $v1 -/* 003E00 70003200 01235821 */ addu $t3, $t1, $v1 -/* 003E04 70003204 01A37021 */ addu $t6, $t5, $v1 -/* 003E08 70003208 31CFFFFF */ andi $t7, $t6, 0xffff -/* 003E0C 7000320C 000B6400 */ sll $t4, $t3, 0x10 -/* 003E10 70003210 018FC025 */ or $t8, $t4, $t7 -/* 003E14 70003214 AF380030 */ sw $t8, 0x30($t9) -/* 003E18 70003218 8C4E0888 */ lw $t6, %lo(viMode+0xC)($v0) -/* 003E1C 7000321C 8CB90000 */ lw $t9, ($a1) -/* 003E20 70003220 000E4C03 */ sra $t1, $t6, 0x10 -/* 003E24 70003224 01235821 */ addu $t3, $t1, $v1 -/* 003E28 70003228 01C36021 */ addu $t4, $t6, $v1 -/* 003E2C 7000322C 318FFFFF */ andi $t7, $t4, 0xffff -/* 003E30 70003230 000B6C00 */ sll $t5, $t3, 0x10 -/* 003E34 70003234 01AFC025 */ or $t8, $t5, $t7 -/* 003E38 70003238 AF380044 */ sw $t8, 0x44($t9) -/* 003E3C 7000323C 0C003818 */ jal osViSetMode -/* 003E40 70003240 8CA40000 */ lw $a0, ($a1) -/* 003E44 70003244 3C048002 */ lui $a0, %hi(D_800232BC + 3) -/* 003E48 70003248 0C0038B4 */ jal osViBlack -/* 003E4C 7000324C 908432BF */ lbu $a0, %lo(D_800232BC + 3)($a0) -/* 003E50 70003250 3C038002 */ lui $v1, %hi(D_800232BC) -/* 003E54 70003254 246332BC */ addiu $v1, %lo(D_800232BC) # addiu $v1, $v1, 0x32bc -/* 003E58 70003258 8C620000 */ lw $v0, ($v1) -/* 003E5C 7000325C 10400004 */ beqz $v0, .L70003270 -/* 003E60 70003260 28410003 */ slti $at, $v0, 3 -/* 003E64 70003264 10200002 */ beqz $at, .L70003270 -/* 003E68 70003268 2448FFFF */ addiu $t0, $v0, -1 -/* 003E6C 7000326C AC680000 */ sw $t0, ($v1) -.L70003270: -/* 003E70 70003270 0C003DEC */ jal osViSetSpecialFeatures -/* 003E74 70003274 24040042 */ li $a0, 66 -/* 003E78 70003278 3C028002 */ lui $v0, %hi(D_800232B0) -/* 003E7C 7000327C 244232B0 */ addiu $v0, %lo(D_800232B0) # addiu $v0, $v0, 0x32b0 -/* 003E80 70003280 8C490000 */ lw $t1, ($v0) -/* 003E84 70003284 8FBF0014 */ lw $ra, 0x14($sp) -/* 003E88 70003288 27BD0018 */ addiu $sp, $sp, 0x18 -/* 003E8C 7000328C 00095023 */ negu $t2, $t1 -/* 003E90 70003290 03E00008 */ jr $ra -/* 003E94 70003294 AC4A0000 */ sw $t2, ($v0) -) -#endif - - - -/** - * 3E98 70003298 - */ -#ifdef NONMATCHING -void video_related_8(void) -{ - void *temp_v0; - void *temp_t7; - void *temp_t6; - void *temp_t9; - void *temp_t8; - void *temp_t9_2; - void *temp_t6_2; - void *temp_t7_2; - void *temp_t8_2; - s32 temp_t1; - void *temp_v1; - void *temp_t8_3; - void *temp_t7_3; - void *temp_v1_2; - void *temp_t8_4; - void *temp_t6_3; - void *temp_v1_3; - void *temp_t6_4; - void *temp_t8_5; - void *temp_v1_4; - void *temp_t6_5; - void *temp_t9_3; - s32 temp_v0_2; - s32 temp_a0; - s32 temp_v0_3; - s32 temp_a0_2; - s32 temp_v0_4; - s32 temp_a0_3; - s32 temp_t2; - s32 temp_t9_4; - s32 temp_t7_4; - s32 temp_t8_6; - s8 temp_t6_6; - s8 temp_t7_5; - s32 temp_a1; - void *phi_t7; - void *phi_t6; - void *phi_t9; - void *phi_t8; - void *phi_t9_2; - void *phi_t6_2; - void *phi_t7_2; - void *phi_t8_2; - f32 phi_f0; - void *phi_t8_3; - void *phi_t7_3; - void *phi_t8_4; - void *phi_t6_3; - void *phi_t6_4; - void *phi_t8_5; - void *phi_t6_5; - void *phi_t9_3; - void *phi_v1; - s32 phi_t9_4; - s8 phi_t6_6; - s8 phi_t7_4; - - if (*ptr_video_settings2 != *ptr_video_settings1) - { - if (*ptr_video_settings2 != 0) - { - if (*ptr_video_settings2 != 1) - { - if (*ptr_video_settings2 != 2) - { - - } - else - { - if ((void *)0x80000000->unk300 == 2) - { - viMode = &osViModeTable_osViModeMpalHaf1; - } - else - { - viMode = &osViModeTable_osViModeNtscHaf1; - } - temp_v0 = *&viMode; - viMode+0x4 = (s32) temp_v0->unk1C; - viMode+0x8 = (s32) temp_v0->OSViCommonRegs.hstart/*unk30*/; - viMode+0xC = (s32) temp_v0->OSViFieldRegs[0].origin/*unk44*/; - osViBlack(0); - } - } - else - { - if (coloroutputmode != 0) - { - if (osTvType == 2) - { - phi_t7 = &osViModeTable_osViModeMpalLan1; - phi_t6 = &dword_CODE_bss_80060828; -block_9: - temp_t7 = (phi_t7 + 0xc); - temp_t6 = (phi_t6 + 0xc); - temp_t6->unk-C = (?32) *phi_t7; - temp_t6->unk-8 = (?32) temp_t7->unk-8; - temp_t6->unk-4 = (?32) temp_t7->unk-4; - phi_t7 = temp_t7; - phi_t6 = temp_t6; - if (temp_t7 != (&osViModeTable_osViModeMpalLan1 + 0x48)) - { - goto block_9; - } - *temp_t6 = (?32) *temp_t7; - temp_t6->unk4 = (?32) temp_t7->unk4; - } - else - { - phi_t9 = &osViModeTable_osViModeNtscLan1; - phi_t8 = &dword_CODE_bss_80060828; -block_12: - temp_t9 = (phi_t9 + 0xc); - temp_t8 = (phi_t8 + 0xc); - temp_t8->unk-C = (?32) *phi_t9; - temp_t8->unk-8 = (?32) temp_t9->unk-8; - temp_t8->unk-4 = (?32) temp_t9->unk-4; - phi_t9 = temp_t9; - phi_t8 = temp_t8; - if (temp_t9 != (&osViModeTable_osViModeNtscLan1 + 0x48)) - { - goto block_12; - } - *temp_t8 = (?32) *temp_t9; - temp_t8->unk4 = (?32) temp_t9->unk4; - } - } - else - { - if ((void *)0x80000000->unk300 == 2) - { - phi_t9_2 = &osViModeTable_osViModeMpalLan2; - phi_t6_2 = &dword_CODE_bss_80060828; -block_16: - temp_t9_2 = (phi_t9_2 + 0xc); - temp_t6_2 = (phi_t6_2 + 0xc); - temp_t6_2->unk-C = (?32) *phi_t9_2; - temp_t6_2->unk-8 = (?32) temp_t9_2->unk-8; - temp_t6_2->unk-4 = (?32) temp_t9_2->unk-4; - phi_t9_2 = temp_t9_2; - phi_t6_2 = temp_t6_2; - if (temp_t9_2 != (&osViModeTable_osViModeMpalLan2 + 0x48)) - { - goto block_16; - } - *temp_t6_2 = (?32) *temp_t9_2; - temp_t6_2->unk4 = (?32) temp_t9_2->unk4; - } - else - { - phi_t7_2 = &osViModeTable_osViModeNtscLan2; - phi_t8_2 = &dword_CODE_bss_80060828; -block_19: - temp_t7_2 = (phi_t7_2 + 0xc); - temp_t8_2 = (phi_t8_2 + 0xc); - temp_t8_2->unk-C = (?32) *phi_t7_2; - temp_t8_2->unk-8 = (?32) temp_t7_2->unk-8; - temp_t8_2->unk-4 = (?32) temp_t7_2->unk-4; - phi_t7_2 = temp_t7_2; - phi_t8_2 = temp_t8_2; - if (temp_t7_2 != (&osViModeTable_osViModeNtscLan2 + 0x48)) - { - goto block_19; - } - *temp_t8_2 = (?32) *temp_t7_2; - temp_t8_2->unk4 = (?32) temp_t7_2->unk4; - } - } - viMode = &dword_CODE_bss_80060828; - viMode+0x4 = (s32) dword_CODE_bss_80060828.unk1C; - viMode+0x8 = (s32) dword_CODE_bss_80060828.unk30; - viMode+0xC = (s32) dword_CODE_bss_80060828.unk44; - video_related_6(0); - } - } - else - { - osViSetYScale(0x3f800000); - osViBlack(1); - } - osViSetSpecialFeatures(0x42); - } - phi_f0 = ((f32) ptr_video_settings2->unk6 / (f32) ptr_video_settings2->unk1A); - if (*ptr_video_settings2 == 0) - { - phi_f0 = 1.0f; - } - temp_t1 = (D_800232C0 * 4); - (0x80020000 + temp_t1)->unk30B4 = (f32) ((f32) ptr_video_settings2->unk4 / (f32) ptr_video_settings2->unk18); - (0x80020000 + temp_t1)->unk30BC = (f32) phi_f0; - if (*ptr_video_settings2 == 1) - { - (0x80060000 + temp_t1)->unk-2420 = &dword_CODE_bss_80060828; - if (coloroutputmode != 0) - { - if (osTvType == 2) - { - temp_v1 = ((D_800232C0 * 0x50) + &dword_CODE_bss_8005DB40); - phi_t8_3 = &osViModeTable_osViModeMpalLan1; - phi_t7_3 = temp_v1; -block_33: - temp_t8_3 = (phi_t8_3 + 0xc); - temp_t7_3 = (phi_t7_3 + 0xc); - temp_t7_3->unk-C = (?32) *phi_t8_3; - temp_t7_3->unk-8 = (?32) temp_t8_3->unk-8; - temp_t7_3->unk-4 = (?32) temp_t8_3->unk-4; - phi_t8_3 = temp_t8_3; - phi_t7_3 = temp_t7_3; - if (temp_t8_3 != (&osViModeTable_osViModeMpalLan1 + 0x48)) - { - goto block_33; - } - *temp_t7_3 = (?32) *temp_t8_3; - temp_t7_3->unk4 = (?32) temp_t8_3->unk4; - phi_v1 = temp_v1; - } - else - { - temp_v1_2 = ((D_800232C0 * 0x50) + &dword_CODE_bss_8005DB40); - phi_t8_4 = &osViModeTable_osViModeNtscLan1; - phi_t6_3 = temp_v1_2; -block_36: - temp_t8_4 = (phi_t8_4 + 0xc); - temp_t6_3 = (phi_t6_3 + 0xc); - temp_t6_3->unk-C = (?32) *phi_t8_4; - temp_t6_3->unk-8 = (?32) temp_t8_4->unk-8; - temp_t6_3->unk-4 = (?32) temp_t8_4->unk-4; - phi_t8_4 = temp_t8_4; - phi_t6_3 = temp_t6_3; - if (temp_t8_4 != (&osViModeTable_osViModeNtscLan1 + 0x48)) - { - goto block_36; - } - *temp_t6_3 = (?32) *temp_t8_4; - temp_t6_3->unk4 = (?32) temp_t8_4->unk4; - phi_v1 = temp_v1_2; - } - } - else - { - if (osTvType == 2) - { - temp_v1_3 = ((D_800232C0 * 0x50) + &dword_CODE_bss_8005DB40); - phi_t6_4 = &osViModeTable_osViModeMpalLan2; - phi_t8_5 = temp_v1_3; -block_40: - temp_t6_4 = (phi_t6_4 + 0xc); - temp_t8_5 = (phi_t8_5 + 0xc); - temp_t8_5->unk-C = (?32) *phi_t6_4; - temp_t8_5->unk-8 = (?32) temp_t6_4->unk-8; - temp_t8_5->unk-4 = (?32) temp_t6_4->unk-4; - phi_t6_4 = temp_t6_4; - phi_t8_5 = temp_t8_5; - if (temp_t6_4 != (&osViModeTable_osViModeMpalLan2 + 0x48)) - { - goto block_40; - } - *temp_t8_5 = (?32) *temp_t6_4; - temp_t8_5->unk4 = (?32) temp_t6_4->unk4; - phi_v1 = temp_v1_3; - } - else - { - temp_v1_4 = ((D_800232C0 * 0x50) + &dword_CODE_bss_8005DB40); - phi_t6_5 = &osViModeTable_osViModeNtscLan2; - phi_t9_3 = temp_v1_4; -block_43: - temp_t6_5 = (phi_t6_5 + 0xc); - temp_t9_3 = (phi_t9_3 + 0xc); - temp_t9_3->unk-C = (?32) *phi_t6_5; - temp_t9_3->unk-8 = (?32) temp_t6_5->unk-8; - temp_t9_3->unk-4 = (?32) temp_t6_5->unk-4; - phi_t6_5 = temp_t6_5; - phi_t9_3 = temp_t9_3; - if (temp_t6_5 != (&osViModeTable_osViModeNtscLan2 + 0x48)) - { - goto block_43; - } - *temp_t9_3 = (?32) *temp_t6_5; - temp_t9_3->unk4 = (?32) temp_t6_5->unk4; - phi_v1 = temp_v1_4; - } - } - phi_v1->unk8 = (s32) ptr_video_settings2->unk18; - temp_v0_2 = phi_v1->unk1C; - phi_v1->unk20 = (s32) ((s32) (ptr_video_settings2->unk18 << 0xa) / 0x280); - phi_v1->unk2C = (s32) ((s32) (ptr_video_settings2->unk1A << 0xb) / 0x1e0); - phi_v1->unk40 = (s32) ((s32) (ptr_video_settings2->unk1A << 0xb) / 0x1e0); - phi_v1->unk28 = (s32) (ptr_video_settings2->unk18 * 2); - phi_v1->unk3C = (s32) (ptr_video_settings2->unk18 * 2); - temp_a0 = ((((s32) (((temp_v0_2 >> 0x10) & 0xffff) + D_8002329C) % 0xffff) << 0x10) | ((s32) ((temp_v0_2 & 0xffff) + D_8002329C) % 0xffff)); - phi_v1->unk1C = temp_a0; - viMode+0x4 = temp_a0; - temp_v0_3 = phi_v1->unk30; - temp_a0_2 = ((((s32) (((temp_v0_3 >> 0x10) & 0xffff) + D_800232A0) % 0xffff) << 0x10) | ((s32) ((temp_v0_3 & 0xffff) + D_800232A0) % 0xffff)); - phi_v1->unk30 = temp_a0_2; - viMode+0x8 = temp_a0_2; - temp_v0_4 = phi_v1->unk44; - temp_a0_3 = ((((s32) (((temp_v0_4 >> 0x10) & 0xffff) + D_800232A0) % 0xffff) << 0x10) | ((s32) ((temp_v0_4 & 0xffff) + D_800232A0) % 0xffff)); - phi_v1->unk44 = temp_a0_3; - viMode+0xC = temp_a0_3; - (0x80020000 + temp_t1)->unk30C4 = 1; - } - else - { - (0x80020000 + temp_t1)->unk30C4 = 0; - } - temp_t2 = (D_800232C0 + 1); - temp_t9_4 = (temp_t2 & 1); - phi_t9_4 = temp_t9_4; - if (temp_t2 < 0) - { - phi_t9_4 = temp_t9_4; - if (temp_t9_4 != 0) - { - phi_t9_4 = (temp_t9_4 + -2); - } - } - D_800232C0 = (s32) phi_t9_4; - if (coloroutputmode != 0) - { - fast3d_related_array->unk58 = (void *) ptr_video_settings2->frameb; - } - else - { - fast3d_related_array->unk58 = &cfb_16_a; - } - temp_t7_4 = (off_CODE_bss_80060878 + 1); - temp_t8_6 = (off_CODE_bss_80060879 + 1); - temp_t6_6 = (temp_t7_4 & 1); - phi_t6_6 = temp_t6_6; - if (temp_t7_4 < 0) - { - phi_t6_6 = temp_t6_6; - if (temp_t6_6 != 0) - { - phi_t6_6 = (temp_t6_6 + -2); - } - } - off_CODE_bss_80060878 = (s8) phi_t6_6; - temp_t7_5 = (temp_t8_6 & 1); - phi_t7_4 = temp_t7_5; - if (temp_t8_6 < 0) - { - phi_t7_4 = temp_t7_5; - if (temp_t7_5 != 0) - { - phi_t7_4 = (temp_t7_5 + -2); - } - } - off_CODE_bss_80060879 = (s8) phi_t7_4; - ptr_video_settings1 = (void *) (&video1_settings + (off_CODE_bss_80060878 * 0x2c)); - temp_a1 = (&video1_settings + (off_CODE_bss_80060879 * 0x2c)); - *&ptr_video_settings2 = temp_a1; - _bcopy(*&ptr_video_settings2, temp_a1, 0x2c, &video1_settings); - ptr_video_settings2->frameb = (s32) ((off_CODE_bss_80060879 * 0x25800) + &cfb_16_a); -} -#else -GLOBAL_ASM( -.text -glabel video_related_8 -/* 003E98 70003298 3C0D8002 */ lui $t5, %hi(ptr_video_settings2) -/* 003E9C 7000329C 25AD32A8 */ addiu $t5, %lo(ptr_video_settings2) # addiu $t5, $t5, 0x32a8 -/* 003EA0 700032A0 3C0E8002 */ lui $t6, %hi(ptr_video_settings1) -/* 003EA4 700032A4 8DCE32A4 */ lw $t6, %lo(ptr_video_settings1)($t6) -/* 003EA8 700032A8 8DA80000 */ lw $t0, ($t5) -/* 003EAC 700032AC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 003EB0 700032B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 003EB4 700032B4 91CF0000 */ lbu $t7, ($t6) -/* 003EB8 700032B8 91020000 */ lbu $v0, ($t0) -/* 003EBC 700032BC 504F009B */ beql $v0, $t7, .L7000352C -/* 003EC0 700032C0 850F0004 */ lh $t7, 4($t0) -/* 003EC4 700032C4 10400009 */ beqz $v0, .L700032EC -/* 003EC8 700032C8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 003ECC 700032CC 24010001 */ li $at, 1 -/* 003ED0 700032D0 1041000D */ beq $v0, $at, .L70003308 -/* 003ED4 700032D4 3C188002 */ lui $t8, %hi(coloroutputmode) -/* 003ED8 700032D8 24010002 */ li $at, 2 -/* 003EDC 700032DC 10410071 */ beq $v0, $at, .L700034A4 -/* 003EE0 700032E0 3C198000 */ lui $t9, 0x8000 -/* 003EE4 700032E4 10000089 */ b .L7000350C -/* 003EE8 700032E8 00000000 */ nop -.L700032EC: -/* 003EEC 700032EC 44816000 */ mtc1 $at, $f12 -/* 003EF0 700032F0 0C003880 */ jal osViSetYScale -/* 003EF4 700032F4 00000000 */ nop -/* 003EF8 700032F8 0C0038B4 */ jal osViBlack -/* 003EFC 700032FC 24040001 */ li $a0, 1 -/* 003F00 70003300 10000082 */ b .L7000350C -/* 003F04 70003304 00000000 */ nop -.L70003308: -/* 003F08 70003308 8F1832AC */ lw $t8, %lo(coloroutputmode)($t8) -/* 003F0C 7000330C 3C038006 */ lui $v1, %hi(viMode) -/* 003F10 70003310 3C0F8000 */ lui $t7, 0x8000 -/* 003F14 70003314 1300002B */ beqz $t8, .L700033C4 -/* 003F18 70003318 2463087C */ addiu $v1, %lo(viMode) # addiu $v1, $v1, 0x87c -/* 003F1C 7000331C 3C198000 */ lui $t9, %hi(osTvType) -/* 003F20 70003320 8F390300 */ lw $t9, %lo(osTvType)($t9) -/* 003F24 70003324 24010002 */ li $at, 2 -/* 003F28 70003328 3C188006 */ lui $t8, %hi(dword_CODE_bss_80060828) -/* 003F2C 7000332C 17210014 */ bne $t9, $at, .L70003380 -/* 003F30 70003330 27180828 */ addiu $t8, %lo(dword_CODE_bss_80060828) # addiu $t8, $t8, 0x828 -/* 003F34 70003334 3C0F8002 */ lui $t7, %hi(osViModeTable_osViModeMpalLan1) -/* 003F38 70003338 25EF7320 */ addiu $t7, %lo(osViModeTable_osViModeMpalLan1) # addiu $t7, $t7, 0x7320 -/* 003F3C 7000333C 3C0E8006 */ lui $t6, %hi(dword_CODE_bss_80060828) -/* 003F40 70003340 25CE0828 */ addiu $t6, %lo(dword_CODE_bss_80060828) # addiu $t6, $t6, 0x828 -/* 003F44 70003344 25F90048 */ addiu $t9, $t7, 0x48 -.L70003348: -/* 003F48 70003348 8DE10000 */ lw $at, ($t7) -/* 003F4C 7000334C 25EF000C */ addiu $t7, $t7, 0xc -/* 003F50 70003350 25CE000C */ addiu $t6, $t6, 0xc -/* 003F54 70003354 ADC1FFF4 */ sw $at, -0xc($t6) -/* 003F58 70003358 8DE1FFF8 */ lw $at, -8($t7) -/* 003F5C 7000335C ADC1FFF8 */ sw $at, -8($t6) -/* 003F60 70003360 8DE1FFFC */ lw $at, -4($t7) -/* 003F64 70003364 15F9FFF8 */ bne $t7, $t9, .L70003348 -/* 003F68 70003368 ADC1FFFC */ sw $at, -4($t6) -/* 003F6C 7000336C 8DE10000 */ lw $at, ($t7) -/* 003F70 70003370 8DF90004 */ lw $t9, 4($t7) -/* 003F74 70003374 ADC10000 */ sw $at, ($t6) -/* 003F78 70003378 1000003A */ b .L70003464 -/* 003F7C 7000337C ADD90004 */ sw $t9, 4($t6) -.L70003380: -/* 003F80 70003380 3C198002 */ lui $t9, %hi(osViModeTable_osViModeNtscLan1) -/* 003F84 70003384 27396A60 */ addiu $t9, %lo(osViModeTable_osViModeNtscLan1) # addiu $t9, $t9, 0x6a60 -/* 003F88 70003388 272E0048 */ addiu $t6, $t9, 0x48 -.L7000338C: -/* 003F8C 7000338C 8F210000 */ lw $at, ($t9) -/* 003F90 70003390 2739000C */ addiu $t9, $t9, 0xc -/* 003F94 70003394 2718000C */ addiu $t8, $t8, 0xc -/* 003F98 70003398 AF01FFF4 */ sw $at, -0xc($t8) -/* 003F9C 7000339C 8F21FFF8 */ lw $at, -8($t9) -/* 003FA0 700033A0 AF01FFF8 */ sw $at, -8($t8) -/* 003FA4 700033A4 8F21FFFC */ lw $at, -4($t9) -/* 003FA8 700033A8 172EFFF8 */ bne $t9, $t6, .L7000338C -/* 003FAC 700033AC AF01FFFC */ sw $at, -4($t8) -/* 003FB0 700033B0 8F210000 */ lw $at, ($t9) -/* 003FB4 700033B4 8F2E0004 */ lw $t6, 4($t9) -/* 003FB8 700033B8 AF010000 */ sw $at, ($t8) -/* 003FBC 700033BC 10000029 */ b .L70003464 -/* 003FC0 700033C0 AF0E0004 */ sw $t6, 4($t8) -.L700033C4: -/* 003FC4 700033C4 8DEF0300 */ lw $t7, 0x300($t7) -/* 003FC8 700033C8 24010002 */ li $at, 2 -/* 003FCC 700033CC 3C188006 */ lui $t8, %hi(dword_CODE_bss_80060828) -/* 003FD0 700033D0 15E10014 */ bne $t7, $at, .L70003424 -/* 003FD4 700033D4 27180828 */ addiu $t8, %lo(dword_CODE_bss_80060828) # addiu $t8, $t8, 0x828 -/* 003FD8 700033D8 3C198002 */ lui $t9, %hi(osViModeTable_osViModeMpalLan2) -/* 003FDC 700033DC 27397460 */ addiu $t9, %lo(osViModeTable_osViModeMpalLan2) # addiu $t9, $t9, 0x7460 -/* 003FE0 700033E0 3C0E8006 */ lui $t6, %hi(dword_CODE_bss_80060828) -/* 003FE4 700033E4 25CE0828 */ addiu $t6, %lo(dword_CODE_bss_80060828) # addiu $t6, $t6, 0x828 -/* 003FE8 700033E8 272F0048 */ addiu $t7, $t9, 0x48 -.L700033EC: -/* 003FEC 700033EC 8F210000 */ lw $at, ($t9) -/* 003FF0 700033F0 2739000C */ addiu $t9, $t9, 0xc -/* 003FF4 700033F4 25CE000C */ addiu $t6, $t6, 0xc -/* 003FF8 700033F8 ADC1FFF4 */ sw $at, -0xc($t6) -/* 003FFC 700033FC 8F21FFF8 */ lw $at, -8($t9) -/* 004000 70003400 ADC1FFF8 */ sw $at, -8($t6) -/* 004004 70003404 8F21FFFC */ lw $at, -4($t9) -/* 004008 70003408 172FFFF8 */ bne $t9, $t7, .L700033EC -/* 00400C 7000340C ADC1FFFC */ sw $at, -4($t6) -/* 004010 70003410 8F210000 */ lw $at, ($t9) -/* 004014 70003414 8F2F0004 */ lw $t7, 4($t9) -/* 004018 70003418 ADC10000 */ sw $at, ($t6) -/* 00401C 7000341C 10000011 */ b .L70003464 -/* 004020 70003420 ADCF0004 */ sw $t7, 4($t6) -.L70003424: -/* 004024 70003424 3C0F8002 */ lui $t7, %hi(osViModeTable_osViModeNtscLan2) -/* 004028 70003428 25EF6BA0 */ addiu $t7, %lo(osViModeTable_osViModeNtscLan2) # addiu $t7, $t7, 0x6ba0 -/* 00402C 7000342C 25EE0048 */ addiu $t6, $t7, 0x48 -.L70003430: -/* 004030 70003430 8DE10000 */ lw $at, ($t7) -/* 004034 70003434 25EF000C */ addiu $t7, $t7, 0xc -/* 004038 70003438 2718000C */ addiu $t8, $t8, 0xc -/* 00403C 7000343C AF01FFF4 */ sw $at, -0xc($t8) -/* 004040 70003440 8DE1FFF8 */ lw $at, -8($t7) -/* 004044 70003444 AF01FFF8 */ sw $at, -8($t8) -/* 004048 70003448 8DE1FFFC */ lw $at, -4($t7) -/* 00404C 7000344C 15EEFFF8 */ bne $t7, $t6, .L70003430 -/* 004050 70003450 AF01FFFC */ sw $at, -4($t8) -/* 004054 70003454 8DE10000 */ lw $at, ($t7) -/* 004058 70003458 8DEE0004 */ lw $t6, 4($t7) -/* 00405C 7000345C AF010000 */ sw $at, ($t8) -/* 004060 70003460 AF0E0004 */ sw $t6, 4($t8) -.L70003464: -/* 004064 70003464 3C198006 */ lui $t9, %hi(dword_CODE_bss_80060828) -/* 004068 70003468 27390828 */ addiu $t9, %lo(dword_CODE_bss_80060828) # addiu $t9, $t9, 0x828 -/* 00406C 7000346C AC790000 */ sw $t9, ($v1) -/* 004070 70003470 8F2E001C */ lw $t6, 0x1c($t9) -/* 004074 70003474 3C018006 */ lui $at, %hi(viMode+0x4) -/* 004078 70003478 00002025 */ move $a0, $zero -/* 00407C 7000347C AC2E0880 */ sw $t6, %lo(viMode+0x4)($at) -/* 004080 70003480 8F2F0030 */ lw $t7, 0x30($t9) -/* 004084 70003484 3C018006 */ lui $at, %hi(viMode+0x8) -/* 004088 70003488 AC2F0884 */ sw $t7, %lo(viMode+0x8)($at) -/* 00408C 7000348C 8F380044 */ lw $t8, 0x44($t9) -/* 004090 70003490 3C018006 */ lui $at, %hi(viMode+0xC) -/* 004094 70003494 0C000C64 */ jal video_related_6 -/* 004098 70003498 AC380888 */ sw $t8, %lo(viMode+0xC)($at) -/* 00409C 7000349C 1000001B */ b .L7000350C -/* 0040A0 700034A0 00000000 */ nop -.L700034A4: -/* 0040A4 700034A4 8F390300 */ lw $t9, 0x300($t9) -/* 0040A8 700034A8 24010002 */ li $at, 2 -/* 0040AC 700034AC 3C038006 */ lui $v1, %hi(viMode) -/* 0040B0 700034B0 17210007 */ bne $t9, $at, .L700034D0 -/* 0040B4 700034B4 2463087C */ addiu $v1, %lo(viMode) # addiu $v1, $v1, 0x87c -/* 0040B8 700034B8 3C038006 */ lui $v1, %hi(viMode) -/* 0040BC 700034BC 3C0E8002 */ lui $t6, %hi(osViModeTable_osViModeMpalHaf1) -/* 0040C0 700034C0 2463087C */ addiu $v1, %lo(viMode) # addiu $v1, $v1, 0x87c -/* 0040C4 700034C4 25CE75F0 */ addiu $t6, %lo(osViModeTable_osViModeMpalHaf1) # addiu $t6, $t6, 0x75f0 -/* 0040C8 700034C8 10000004 */ b .L700034DC -/* 0040CC 700034CC AC6E0000 */ sw $t6, ($v1) -.L700034D0: -/* 0040D0 700034D0 3C0F8002 */ lui $t7, %hi(osViModeTable_osViModeNtscHaf1) -/* 0040D4 700034D4 25EF6D30 */ addiu $t7, %lo(osViModeTable_osViModeNtscHaf1) # addiu $t7, $t7, 0x6d30 -/* 0040D8 700034D8 AC6F0000 */ sw $t7, ($v1) -.L700034DC: -/* 0040DC 700034DC 8C620000 */ lw $v0, ($v1) -/* 0040E0 700034E0 3C018006 */ lui $at, %hi(viMode+0x4) -/* 0040E4 700034E4 00002025 */ move $a0, $zero -/* 0040E8 700034E8 8C58001C */ lw $t8, 0x1c($v0) -/* 0040EC 700034EC AC380880 */ sw $t8, %lo(viMode+0x4)($at) -/* 0040F0 700034F0 8C590030 */ lw $t9, 0x30($v0) -/* 0040F4 700034F4 3C018006 */ lui $at, %hi(viMode+0x8) -/* 0040F8 700034F8 AC390884 */ sw $t9, %lo(viMode+0x8)($at) -/* 0040FC 700034FC 8C4E0044 */ lw $t6, 0x44($v0) -/* 004100 70003500 3C018006 */ lui $at, %hi(viMode+0xC) -/* 004104 70003504 0C0038B4 */ jal osViBlack -/* 004108 70003508 AC2E0888 */ sw $t6, %lo(viMode+0xC)($at) -.L7000350C: -/* 00410C 7000350C 0C003DEC */ jal osViSetSpecialFeatures -/* 004110 70003510 24040042 */ li $a0, 66 -/* 004114 70003514 3C088002 */ lui $t0, %hi(ptr_video_settings2) -/* 004118 70003518 8D0832A8 */ lw $t0, %lo(ptr_video_settings2)($t0) -/* 00411C 7000351C 3C0D8002 */ lui $t5, %hi(ptr_video_settings2) -/* 004120 70003520 25AD32A8 */ addiu $t5, %lo(ptr_video_settings2) # addiu $t5, $t5, 0x32a8 -/* 004124 70003524 91020000 */ lbu $v0, ($t0) -/* 004128 70003528 850F0004 */ lh $t7, 4($t0) -.L7000352C: -/* 00412C 7000352C 85180018 */ lh $t8, 0x18($t0) -/* 004130 70003530 85190006 */ lh $t9, 6($t0) -/* 004134 70003534 448F2000 */ mtc1 $t7, $f4 -/* 004138 70003538 850E001A */ lh $t6, 0x1a($t0) -/* 00413C 7000353C 44984000 */ mtc1 $t8, $f8 -/* 004140 70003540 468021A0 */ cvt.s.w $f6, $f4 -/* 004144 70003544 44998000 */ mtc1 $t9, $f16 -/* 004148 70003548 448E2000 */ mtc1 $t6, $f4 -/* 00414C 7000354C 3C188006 */ lui $t8, %hi(dword_CODE_bss_80060828) -/* 004150 70003550 3C0A8002 */ lui $t2, %hi(D_800232C0) -/* 004154 70003554 468042A0 */ cvt.s.w $f10, $f8 -/* 004158 70003558 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 00415C 7000355C 27180828 */ addiu $t8, %lo(dword_CODE_bss_80060828) # addiu $t8, $t8, 0x828 -/* 004160 70003560 3C0B8002 */ lui $t3, %hi(coloroutputmode) -/* 004164 70003564 468084A0 */ cvt.s.w $f18, $f16 -/* 004168 70003568 46802220 */ cvt.s.w $f8, $f4 -/* 00416C 7000356C 460A3083 */ div.s $f2, $f6, $f10 -/* 004170 70003570 14400003 */ bnez $v0, .L70003580 -/* 004174 70003574 46089003 */ div.s $f0, $f18, $f8 -/* 004178 70003578 44810000 */ mtc1 $at, $f0 -/* 00417C 7000357C 00000000 */ nop -.L70003580: -/* 004180 70003580 8D4A32C0 */ lw $t2, %lo(D_800232C0)($t2) -/* 004184 70003584 3C018002 */ lui $at, %hi(something_with_osVI_4) -/* 004188 70003588 000A4880 */ sll $t1, $t2, 2 -/* 00418C 7000358C 00290821 */ addu $at, $at, $t1 -/* 004190 70003590 E42230B4 */ swc1 $f2, %lo(something_with_osVI_4)($at) -/* 004194 70003594 3C018002 */ lui $at, %hi(something_with_osVI_C) -/* 004198 70003598 00290821 */ addu $at, $at, $t1 -/* 00419C 7000359C E42030BC */ swc1 $f0, %lo(something_with_osVI_C)($at) -/* 0041A0 700035A0 910F0000 */ lbu $t7, ($t0) -/* 0041A4 700035A4 24010001 */ li $at, 1 -/* 0041A8 700035A8 15E10105 */ bne $t7, $at, .L700039C0 -/* 0041AC 700035AC 00000000 */ nop -/* 0041B0 700035B0 8D6B32AC */ lw $t3, %lo(coloroutputmode)($t3) -/* 0041B4 700035B4 3C018006 */ lui $at, %hi(dword_CODE_bss_8005DB40+0xA0) -/* 0041B8 700035B8 00290821 */ addu $at, $at, $t1 -/* 0041BC 700035BC 11600035 */ beqz $t3, .L70003694 -/* 0041C0 700035C0 AC38DBE0 */ sw $t8, %lo(dword_CODE_bss_8005DB40+0xA0)($at) -/* 0041C4 700035C4 3C198000 */ lui $t9, %hi(osTvType) -/* 0041C8 700035C8 8F390300 */ lw $t9, %lo(osTvType)($t9) -/* 0041CC 700035CC 24010002 */ li $at, 2 -/* 0041D0 700035D0 3C0E8006 */ lui $t6, %hi(dword_CODE_bss_8005DB40) -/* 0041D4 700035D4 17210019 */ bne $t9, $at, .L7000363C -/* 0041D8 700035D8 25CEDB40 */ addiu $t6, %lo(dword_CODE_bss_8005DB40) # addiu $t6, $t6, -0x24c0 -/* 0041DC 700035DC 000A7080 */ sll $t6, $t2, 2 -/* 0041E0 700035E0 01CA7021 */ addu $t6, $t6, $t2 -/* 0041E4 700035E4 3C0F8006 */ lui $t7, %hi(dword_CODE_bss_8005DB40) -/* 0041E8 700035E8 25EFDB40 */ addiu $t7, %lo(dword_CODE_bss_8005DB40) # addiu $t7, $t7, -0x24c0 -/* 0041EC 700035EC 000E7100 */ sll $t6, $t6, 4 -/* 0041F0 700035F0 01CF1821 */ addu $v1, $t6, $t7 -/* 0041F4 700035F4 3C188002 */ lui $t8, %hi(osViModeTable_osViModeMpalLan1) -/* 0041F8 700035F8 27187320 */ addiu $t8, %lo(osViModeTable_osViModeMpalLan1) # addiu $t8, $t8, 0x7320 -/* 0041FC 700035FC 270E0048 */ addiu $t6, $t8, 0x48 -/* 004200 70003600 00607825 */ move $t7, $v1 -.L70003604: -/* 004204 70003604 8F010000 */ lw $at, ($t8) -/* 004208 70003608 2718000C */ addiu $t8, $t8, 0xc -/* 00420C 7000360C 25EF000C */ addiu $t7, $t7, 0xc -/* 004210 70003610 ADE1FFF4 */ sw $at, -0xc($t7) -/* 004214 70003614 8F01FFF8 */ lw $at, -8($t8) -/* 004218 70003618 ADE1FFF8 */ sw $at, -8($t7) -/* 00421C 7000361C 8F01FFFC */ lw $at, -4($t8) -/* 004220 70003620 170EFFF8 */ bne $t8, $t6, .L70003604 -/* 004224 70003624 ADE1FFFC */ sw $at, -4($t7) -/* 004228 70003628 8F010000 */ lw $at, ($t8) -/* 00422C 7000362C ADE10000 */ sw $at, ($t7) -/* 004230 70003630 8F0E0004 */ lw $t6, 4($t8) -/* 004234 70003634 1000004A */ b .L70003760 -/* 004238 70003638 ADEE0004 */ sw $t6, 4($t7) -.L7000363C: -/* 00423C 7000363C 000AC880 */ sll $t9, $t2, 2 -/* 004240 70003640 032AC821 */ addu $t9, $t9, $t2 -/* 004244 70003644 0019C900 */ sll $t9, $t9, 4 -/* 004248 70003648 032E1821 */ addu $v1, $t9, $t6 -/* 00424C 7000364C 3C188002 */ lui $t8, %hi(osViModeTable_osViModeNtscLan1) -/* 004250 70003650 27186A60 */ addiu $t8, %lo(osViModeTable_osViModeNtscLan1) # addiu $t8, $t8, 0x6a60 -/* 004254 70003654 27190048 */ addiu $t9, $t8, 0x48 -/* 004258 70003658 00607025 */ move $t6, $v1 -.L7000365C: -/* 00425C 7000365C 8F010000 */ lw $at, ($t8) -/* 004260 70003660 2718000C */ addiu $t8, $t8, 0xc -/* 004264 70003664 25CE000C */ addiu $t6, $t6, 0xc -/* 004268 70003668 ADC1FFF4 */ sw $at, -0xc($t6) -/* 00426C 7000366C 8F01FFF8 */ lw $at, -8($t8) -/* 004270 70003670 ADC1FFF8 */ sw $at, -8($t6) -/* 004274 70003674 8F01FFFC */ lw $at, -4($t8) -/* 004278 70003678 1719FFF8 */ bne $t8, $t9, .L7000365C -/* 00427C 7000367C ADC1FFFC */ sw $at, -4($t6) -/* 004280 70003680 8F010000 */ lw $at, ($t8) -/* 004284 70003684 ADC10000 */ sw $at, ($t6) -/* 004288 70003688 8F190004 */ lw $t9, 4($t8) -/* 00428C 7000368C 10000034 */ b .L70003760 -/* 004290 70003690 ADD90004 */ sw $t9, 4($t6) -.L70003694: -/* 004294 70003694 3C0F8000 */ lui $t7, %hi(osTvType) -/* 004298 70003698 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -/* 00429C 7000369C 24010002 */ li $at, 2 -/* 0042A0 700036A0 15E10018 */ bne $t7, $at, .L70003704 -/* 0042A4 700036A4 000AC880 */ sll $t9, $t2, 2 -/* 0042A8 700036A8 032AC821 */ addu $t9, $t9, $t2 -/* 0042AC 700036AC 3C188006 */ lui $t8, %hi(dword_CODE_bss_8005DB40) -/* 0042B0 700036B0 2718DB40 */ addiu $t8, %lo(dword_CODE_bss_8005DB40) # addiu $t8, $t8, -0x24c0 -/* 0042B4 700036B4 0019C900 */ sll $t9, $t9, 4 -/* 0042B8 700036B8 03381821 */ addu $v1, $t9, $t8 -/* 0042BC 700036BC 3C0E8002 */ lui $t6, %hi(osViModeTable_osViModeMpalLan2) -/* 0042C0 700036C0 25CE7460 */ addiu $t6, %lo(osViModeTable_osViModeMpalLan2) # addiu $t6, $t6, 0x7460 -/* 0042C4 700036C4 25D90048 */ addiu $t9, $t6, 0x48 -/* 0042C8 700036C8 0060C025 */ move $t8, $v1 -.L700036CC: -/* 0042CC 700036CC 8DC10000 */ lw $at, ($t6) -/* 0042D0 700036D0 25CE000C */ addiu $t6, $t6, 0xc -/* 0042D4 700036D4 2718000C */ addiu $t8, $t8, 0xc -/* 0042D8 700036D8 AF01FFF4 */ sw $at, -0xc($t8) -/* 0042DC 700036DC 8DC1FFF8 */ lw $at, -8($t6) -/* 0042E0 700036E0 AF01FFF8 */ sw $at, -8($t8) -/* 0042E4 700036E4 8DC1FFFC */ lw $at, -4($t6) -/* 0042E8 700036E8 15D9FFF8 */ bne $t6, $t9, .L700036CC -/* 0042EC 700036EC AF01FFFC */ sw $at, -4($t8) -/* 0042F0 700036F0 8DC10000 */ lw $at, ($t6) -/* 0042F4 700036F4 AF010000 */ sw $at, ($t8) -/* 0042F8 700036F8 8DD90004 */ lw $t9, 4($t6) -/* 0042FC 700036FC 10000018 */ b .L70003760 -/* 004300 70003700 AF190004 */ sw $t9, 4($t8) -.L70003704: -/* 004304 70003704 000A7880 */ sll $t7, $t2, 2 -/* 004308 70003708 01EA7821 */ addu $t7, $t7, $t2 -/* 00430C 7000370C 3C198006 */ lui $t9, %hi(dword_CODE_bss_8005DB40) -/* 004310 70003710 2739DB40 */ addiu $t9, %lo(dword_CODE_bss_8005DB40) # addiu $t9, $t9, -0x24c0 -/* 004314 70003714 000F7900 */ sll $t7, $t7, 4 -/* 004318 70003718 01F91821 */ addu $v1, $t7, $t9 -/* 00431C 7000371C 3C0E8002 */ lui $t6, %hi(osViModeTable_osViModeNtscLan2) -/* 004320 70003720 25CE6BA0 */ addiu $t6, %lo(osViModeTable_osViModeNtscLan2) # addiu $t6, $t6, 0x6ba0 -/* 004324 70003724 25CF0048 */ addiu $t7, $t6, 0x48 -/* 004328 70003728 0060C825 */ move $t9, $v1 -.L7000372C: -/* 00432C 7000372C 8DC10000 */ lw $at, ($t6) -/* 004330 70003730 25CE000C */ addiu $t6, $t6, 0xc -/* 004334 70003734 2739000C */ addiu $t9, $t9, 0xc -/* 004338 70003738 AF21FFF4 */ sw $at, -0xc($t9) -/* 00433C 7000373C 8DC1FFF8 */ lw $at, -8($t6) -/* 004340 70003740 AF21FFF8 */ sw $at, -8($t9) -/* 004344 70003744 8DC1FFFC */ lw $at, -4($t6) -/* 004348 70003748 15CFFFF8 */ bne $t6, $t7, .L7000372C -/* 00434C 7000374C AF21FFFC */ sw $at, -4($t9) -/* 004350 70003750 8DC10000 */ lw $at, ($t6) -/* 004354 70003754 AF210000 */ sw $at, ($t9) -/* 004358 70003758 8DCF0004 */ lw $t7, 4($t6) -/* 00435C 7000375C AF2F0004 */ sw $t7, 4($t9) -.L70003760: -/* 004360 70003760 85180018 */ lh $t8, 0x18($t0) -/* 004364 70003764 24010280 */ li $at, 640 -/* 004368 70003768 240C01E0 */ li $t4, 480 -/* 00436C 7000376C AC780008 */ sw $t8, 8($v1) -/* 004370 70003770 850F0018 */ lh $t7, 0x18($t0) -/* 004374 70003774 8C62001C */ lw $v0, 0x1c($v1) -/* 004378 70003778 3C078002 */ lui $a3, %hi(D_8002329C) -/* 00437C 7000377C 000F7280 */ sll $t6, $t7, 0xa -/* 004380 70003780 01C1001A */ div $zero, $t6, $at -/* 004384 70003784 0000C812 */ mflo $t9 -/* 004388 70003788 AC790020 */ sw $t9, 0x20($v1) -/* 00438C 7000378C 8518001A */ lh $t8, 0x1a($t0) -/* 004390 70003790 3406FFFF */ li $a2, 65535 -/* 004394 70003794 3C058002 */ lui $a1, %hi(D_800232A0) -/* 004398 70003798 00187AC0 */ sll $t7, $t8, 0xb -/* 00439C 7000379C 01EC001A */ div $zero, $t7, $t4 -/* 0043A0 700037A0 00007012 */ mflo $t6 -/* 0043A4 700037A4 AC6E002C */ sw $t6, 0x2c($v1) -/* 0043A8 700037A8 8519001A */ lh $t9, 0x1a($t0) -/* 0043AC 700037AC 15800002 */ bnez $t4, .L700037B8 -/* 0043B0 700037B0 00000000 */ nop -/* 0043B4 700037B4 0007000D */ break 7 -.L700037B8: -/* 0043B8 700037B8 2401FFFF */ li $at, -1 -/* 0043BC 700037BC 15810004 */ bne $t4, $at, .L700037D0 -/* 0043C0 700037C0 3C018000 */ lui $at, 0x8000 -/* 0043C4 700037C4 15E10002 */ bne $t7, $at, .L700037D0 -/* 0043C8 700037C8 00000000 */ nop -/* 0043CC 700037CC 0006000D */ break 6 -.L700037D0: -/* 0043D0 700037D0 0019C2C0 */ sll $t8, $t9, 0xb -/* 0043D4 700037D4 030C001A */ div $zero, $t8, $t4 -/* 0043D8 700037D8 00007812 */ mflo $t7 -/* 0043DC 700037DC AC6F0040 */ sw $t7, 0x40($v1) -/* 0043E0 700037E0 850E0018 */ lh $t6, 0x18($t0) -/* 0043E4 700037E4 15800002 */ bnez $t4, .L700037F0 -/* 0043E8 700037E8 00000000 */ nop -/* 0043EC 700037EC 0007000D */ break 7 -.L700037F0: -/* 0043F0 700037F0 2401FFFF */ li $at, -1 -/* 0043F4 700037F4 15810004 */ bne $t4, $at, .L70003808 -/* 0043F8 700037F8 3C018000 */ lui $at, 0x8000 -/* 0043FC 700037FC 17010002 */ bne $t8, $at, .L70003808 -/* 004400 70003800 00000000 */ nop -/* 004404 70003804 0006000D */ break 6 -.L70003808: -/* 004408 70003808 000EC840 */ sll $t9, $t6, 1 -/* 00440C 7000380C AC790028 */ sw $t9, 0x28($v1) -/* 004410 70003810 85180018 */ lh $t8, 0x18($t0) -/* 004414 70003814 00027403 */ sra $t6, $v0, 0x10 -/* 004418 70003818 31D9FFFF */ andi $t9, $t6, 0xffff -/* 00441C 7000381C 00187840 */ sll $t7, $t8, 1 -/* 004420 70003820 AC6F003C */ sw $t7, 0x3c($v1) -/* 004424 70003824 8CE7329C */ lw $a3, %lo(D_8002329C)($a3) -/* 004428 70003828 0327C021 */ addu $t8, $t9, $a3 -/* 00442C 7000382C 0306001A */ div $zero, $t8, $a2 -/* 004430 70003830 14C00002 */ bnez $a2, .L7000383C -/* 004434 70003834 00000000 */ nop -/* 004438 70003838 0007000D */ break 7 -.L7000383C: -/* 00443C 7000383C 2401FFFF */ li $at, -1 -/* 004440 70003840 14C10004 */ bne $a2, $at, .L70003854 -/* 004444 70003844 3C018000 */ lui $at, 0x8000 -/* 004448 70003848 17010002 */ bne $t8, $at, .L70003854 -/* 00444C 7000384C 00000000 */ nop -/* 004450 70003850 0006000D */ break 6 -.L70003854: -/* 004454 70003854 3059FFFF */ andi $t9, $v0, 0xffff -/* 004458 70003858 00007810 */ mfhi $t7 -/* 00445C 7000385C 0327C021 */ addu $t8, $t9, $a3 -/* 004460 70003860 000F7400 */ sll $t6, $t7, 0x10 -/* 004464 70003864 0306001A */ div $zero, $t8, $a2 -/* 004468 70003868 14C00002 */ bnez $a2, .L70003874 -/* 00446C 7000386C 00000000 */ nop -/* 004470 70003870 0007000D */ break 7 -.L70003874: -/* 004474 70003874 2401FFFF */ li $at, -1 -/* 004478 70003878 14C10004 */ bne $a2, $at, .L7000388C -/* 00447C 7000387C 3C018000 */ lui $at, 0x8000 -/* 004480 70003880 17010002 */ bne $t8, $at, .L7000388C -/* 004484 70003884 00000000 */ nop -/* 004488 70003888 0006000D */ break 6 -.L7000388C: -/* 00448C 7000388C 00007810 */ mfhi $t7 -/* 004490 70003890 01CF2025 */ or $a0, $t6, $t7 -/* 004494 70003894 AC64001C */ sw $a0, 0x1c($v1) -/* 004498 70003898 3C018006 */ lui $at, %hi(viMode+0x4) -/* 00449C 7000389C AC240880 */ sw $a0, %lo(viMode+0x4)($at) -/* 0044A0 700038A0 8C620030 */ lw $v0, 0x30($v1) -/* 0044A4 700038A4 8CA532A0 */ lw $a1, %lo(D_800232A0)($a1) -/* 0044A8 700038A8 0002CC03 */ sra $t9, $v0, 0x10 -/* 0044AC 700038AC 3338FFFF */ andi $t8, $t9, 0xffff -/* 0044B0 700038B0 03057021 */ addu $t6, $t8, $a1 -/* 0044B4 700038B4 01C6001A */ div $zero, $t6, $a2 -/* 0044B8 700038B8 14C00002 */ bnez $a2, .L700038C4 -/* 0044BC 700038BC 00000000 */ nop -/* 0044C0 700038C0 0007000D */ break 7 -.L700038C4: -/* 0044C4 700038C4 2401FFFF */ li $at, -1 -/* 0044C8 700038C8 14C10004 */ bne $a2, $at, .L700038DC -/* 0044CC 700038CC 3C018000 */ lui $at, 0x8000 -/* 0044D0 700038D0 15C10002 */ bne $t6, $at, .L700038DC -/* 0044D4 700038D4 00000000 */ nop -/* 0044D8 700038D8 0006000D */ break 6 -.L700038DC: -/* 0044DC 700038DC 3058FFFF */ andi $t8, $v0, 0xffff -/* 0044E0 700038E0 00007810 */ mfhi $t7 -/* 0044E4 700038E4 03057021 */ addu $t6, $t8, $a1 -/* 0044E8 700038E8 000FCC00 */ sll $t9, $t7, 0x10 -/* 0044EC 700038EC 01C6001A */ div $zero, $t6, $a2 -/* 0044F0 700038F0 14C00002 */ bnez $a2, .L700038FC -/* 0044F4 700038F4 00000000 */ nop -/* 0044F8 700038F8 0007000D */ break 7 -.L700038FC: -/* 0044FC 700038FC 2401FFFF */ li $at, -1 -/* 004500 70003900 14C10004 */ bne $a2, $at, .L70003914 -/* 004504 70003904 3C018000 */ lui $at, 0x8000 -/* 004508 70003908 15C10002 */ bne $t6, $at, .L70003914 -/* 00450C 7000390C 00000000 */ nop -/* 004510 70003910 0006000D */ break 6 -.L70003914: -/* 004514 70003914 00007810 */ mfhi $t7 -/* 004518 70003918 032F2025 */ or $a0, $t9, $t7 -/* 00451C 7000391C AC640030 */ sw $a0, 0x30($v1) -/* 004520 70003920 3C018006 */ lui $at, %hi(viMode+0x8) -/* 004524 70003924 AC240884 */ sw $a0, %lo(viMode+0x8)($at) -/* 004528 70003928 8C620044 */ lw $v0, 0x44($v1) -/* 00452C 7000392C 0002C403 */ sra $t8, $v0, 0x10 -/* 004530 70003930 330EFFFF */ andi $t6, $t8, 0xffff -/* 004534 70003934 01C5C821 */ addu $t9, $t6, $a1 -/* 004538 70003938 0326001A */ div $zero, $t9, $a2 -/* 00453C 7000393C 14C00002 */ bnez $a2, .L70003948 -/* 004540 70003940 00000000 */ nop -/* 004544 70003944 0007000D */ break 7 -.L70003948: -/* 004548 70003948 2401FFFF */ li $at, -1 -/* 00454C 7000394C 14C10004 */ bne $a2, $at, .L70003960 -/* 004550 70003950 3C018000 */ lui $at, 0x8000 -/* 004554 70003954 17210002 */ bne $t9, $at, .L70003960 -/* 004558 70003958 00000000 */ nop -/* 00455C 7000395C 0006000D */ break 6 -.L70003960: -/* 004560 70003960 304EFFFF */ andi $t6, $v0, 0xffff -/* 004564 70003964 01C5C821 */ addu $t9, $t6, $a1 -/* 004568 70003968 00007810 */ mfhi $t7 -/* 00456C 7000396C 000FC400 */ sll $t8, $t7, 0x10 -/* 004570 70003970 240E0001 */ li $t6, 1 -/* 004574 70003974 0326001A */ div $zero, $t9, $a2 -/* 004578 70003978 14C00002 */ bnez $a2, .L70003984 -/* 00457C 7000397C 00000000 */ nop -/* 004580 70003980 0007000D */ break 7 -.L70003984: -/* 004584 70003984 2401FFFF */ li $at, -1 -/* 004588 70003988 14C10004 */ bne $a2, $at, .L7000399C -/* 00458C 7000398C 3C018000 */ lui $at, 0x8000 -/* 004590 70003990 17210002 */ bne $t9, $at, .L7000399C -/* 004594 70003994 00000000 */ nop -/* 004598 70003998 0006000D */ break 6 -.L7000399C: -/* 00459C 7000399C 00007810 */ mfhi $t7 -/* 0045A0 700039A0 030F2025 */ or $a0, $t8, $t7 -/* 0045A4 700039A4 AC640044 */ sw $a0, 0x44($v1) -/* 0045A8 700039A8 3C018006 */ lui $at, %hi(viMode+0xC) -/* 0045AC 700039AC AC240888 */ sw $a0, %lo(viMode+0xC)($at) -/* 0045B0 700039B0 3C018002 */ lui $at, %hi(something_with_osVI_14) -/* 0045B4 700039B4 00290821 */ addu $at, $at, $t1 -/* 0045B8 700039B8 10000006 */ b .L700039D4 -/* 0045BC 700039BC AC2E30C4 */ sw $t6, %lo(something_with_osVI_14)($at) -.L700039C0: -/* 0045C0 700039C0 3C018002 */ lui $at, %hi(something_with_osVI_14) -/* 0045C4 700039C4 00290821 */ addu $at, $at, $t1 -/* 0045C8 700039C8 3C0B8002 */ lui $t3, %hi(coloroutputmode) -/* 0045CC 700039CC 8D6B32AC */ lw $t3, %lo(coloroutputmode)($t3) -/* 0045D0 700039D0 AC2030C4 */ sw $zero, %lo(something_with_osVI_14)($at) -.L700039D4: -/* 0045D4 700039D4 254A0001 */ addiu $t2, $t2, 1 -/* 0045D8 700039D8 05410004 */ bgez $t2, .L700039EC -/* 0045DC 700039DC 31590001 */ andi $t9, $t2, 1 -/* 0045E0 700039E0 13200002 */ beqz $t9, .L700039EC -/* 0045E4 700039E4 00000000 */ nop -/* 0045E8 700039E8 2739FFFE */ addiu $t9, $t9, -2 -.L700039EC: -/* 0045EC 700039EC 3C018002 */ lui $at, %hi(D_800232C0) -/* 0045F0 700039F0 11600006 */ beqz $t3, .L70003A0C -/* 0045F4 700039F4 AC3932C0 */ sw $t9, %lo(D_800232C0)($at) -/* 0045F8 700039F8 3C0F8005 */ lui $t7, %hi(fast3d_related_array) -/* 0045FC 700039FC 8DEFEAB0 */ lw $t7, %lo(fast3d_related_array)($t7) -/* 004600 70003A00 8D180028 */ lw $t8, 0x28($t0) -/* 004604 70003A04 10000006 */ b .L70003A20 -/* 004608 70003A08 ADF80058 */ sw $t8, 0x58($t7) -.L70003A0C: -/* 00460C 70003A0C 3C198005 */ lui $t9, %hi(fast3d_related_array) -/* 004610 70003A10 8F39EAB0 */ lw $t9, %lo(fast3d_related_array)($t9) -/* 004614 70003A14 3C0E803B */ lui $t6, %hi(cfb_16_a) # $t6, 0x803b -/* 004618 70003A18 25CE5000 */ addiu $t6, %lo(cfb_16_a) # addiu $t6, $t6, 0x5000 -/* 00461C 70003A1C AF2E0058 */ sw $t6, 0x58($t9) -.L70003A20: -/* 004620 70003A20 3C028006 */ lui $v0, %hi(off_CODE_bss_80060878) -/* 004624 70003A24 24420878 */ addiu $v0, %lo(off_CODE_bss_80060878) # addiu $v0, $v0, 0x878 -/* 004628 70003A28 90580000 */ lbu $t8, ($v0) -/* 00462C 70003A2C 3C038006 */ lui $v1, %hi(off_CODE_bss_80060879) -/* 004630 70003A30 2408002C */ li $t0, 44 -/* 004634 70003A34 270F0001 */ addiu $t7, $t8, 1 -/* 004638 70003A38 24630879 */ addiu $v1, %lo(off_CODE_bss_80060879) # addiu $v1, $v1, 0x879 -/* 00463C 70003A3C 90790000 */ lbu $t9, ($v1) -/* 004640 70003A40 3C078002 */ lui $a3, %hi(video1_settings) -/* 004644 70003A44 24E73244 */ addiu $a3, %lo(video1_settings) # addiu $a3, $a3, 0x3244 -/* 004648 70003A48 27380001 */ addiu $t8, $t9, 1 -/* 00464C 70003A4C 8DA40000 */ lw $a0, ($t5) -/* 004650 70003A50 05E10004 */ bgez $t7, .L70003A64 -/* 004654 70003A54 31EE0001 */ andi $t6, $t7, 1 -/* 004658 70003A58 11C00002 */ beqz $t6, .L70003A64 -/* 00465C 70003A5C 00000000 */ nop -/* 004660 70003A60 25CEFFFE */ addiu $t6, $t6, -2 -.L70003A64: -/* 004664 70003A64 A04E0000 */ sb $t6, ($v0) -/* 004668 70003A68 904E0000 */ lbu $t6, ($v0) -/* 00466C 70003A6C 07010004 */ bgez $t8, .L70003A80 -/* 004670 70003A70 330F0001 */ andi $t7, $t8, 1 -/* 004674 70003A74 11E00002 */ beqz $t7, .L70003A80 -/* 004678 70003A78 00000000 */ nop -/* 00467C 70003A7C 25EFFFFE */ addiu $t7, $t7, -2 -.L70003A80: -/* 004680 70003A80 01C80019 */ multu $t6, $t0 -/* 004684 70003A84 A06F0000 */ sb $t7, ($v1) -/* 004688 70003A88 3C018002 */ lui $at, %hi(ptr_video_settings1) -/* 00468C 70003A8C 2406002C */ li $a2, 44 -/* 004690 70003A90 0000C812 */ mflo $t9 -/* 004694 70003A94 00F9C021 */ addu $t8, $a3, $t9 -/* 004698 70003A98 AC3832A4 */ sw $t8, %lo(ptr_video_settings1)($at) -/* 00469C 70003A9C 906F0000 */ lbu $t7, ($v1) -/* 0046A0 70003AA0 01E80019 */ multu $t7, $t0 -/* 0046A4 70003AA4 00007012 */ mflo $t6 -/* 0046A8 70003AA8 00EE2821 */ addu $a1, $a3, $t6 -/* 0046AC 70003AAC 0C003E5C */ jal _bcopy -/* 0046B0 70003AB0 ADA50000 */ sw $a1, ($t5) -/* 0046B4 70003AB4 3C038006 */ lui $v1, %hi(off_CODE_bss_80060879) -/* 0046B8 70003AB8 24630879 */ addiu $v1, %lo(off_CODE_bss_80060879) # addiu $v1, $v1, 0x879 -/* 0046BC 70003ABC 90780000 */ lbu $t8, ($v1) -/* 0046C0 70003AC0 3C0E803B */ lui $t6, %hi(cfb_16_a) # $t6, 0x803b -/* 0046C4 70003AC4 25CE5000 */ addiu $t6, %lo(cfb_16_a) # addiu $t6, $t6, 0x5000 -/* 0046C8 70003AC8 00187880 */ sll $t7, $t8, 2 -/* 0046CC 70003ACC 01F87821 */ addu $t7, $t7, $t8 -/* 0046D0 70003AD0 000F7880 */ sll $t7, $t7, 2 -/* 0046D4 70003AD4 01F87823 */ subu $t7, $t7, $t8 -/* 0046D8 70003AD8 000F7880 */ sll $t7, $t7, 2 -/* 0046DC 70003ADC 01F87823 */ subu $t7, $t7, $t8 -/* 0046E0 70003AE0 3C188002 */ lui $t8, %hi(ptr_video_settings2) -/* 0046E4 70003AE4 8F1832A8 */ lw $t8, %lo(ptr_video_settings2)($t8) -/* 0046E8 70003AE8 000F7AC0 */ sll $t7, $t7, 0xb -/* 0046EC 70003AEC 01EEC821 */ addu $t9, $t7, $t6 -/* 0046F0 70003AF0 AF190028 */ sw $t9, 0x28($t8) -/* 0046F4 70003AF4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0046F8 70003AF8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0046FC 70003AFC 03E00008 */ jr $ra -/* 004700 70003B00 00000000 */ nop -) -#endif - - -/** - * 4704 70003B04 ???; 800232B4=(word)F12, 800232B8=0xA - * accepts: F12= - */ -#ifdef NONMATCHING -void video_related_9(float param_1) -{ - float fVar1; - - fVar1 = 14.00000000; - if (param_1 <= 14.00000000) { - fVar1 = param_1; - } - if (fVar1 < 0.00000000) { - D_800232B4 = 0; - } - else { - D_800232B4 = (int)fVar1; - } - D_800232B8 = 10; -} -#else -GLOBAL_ASM( -.text -glabel video_related_9 -/* 004704 70003B04 3C014160 */ li $at, 0x41600000 # 14.000000 -/* 004708 70003B08 44810000 */ mtc1 $at, $f0 -/* 00470C 70003B0C 00000000 */ nop -/* 004710 70003B10 460C003C */ c.lt.s $f0, $f12 -/* 004714 70003B14 00000000 */ nop -/* 004718 70003B18 45020003 */ bc1fl .L70003B28 -/* 00471C 70003B1C 44800000 */ mtc1 $zero, $f0 -/* 004720 70003B20 46000306 */ mov.s $f12, $f0 -/* 004724 70003B24 44800000 */ mtc1 $zero, $f0 -.L70003B28: -/* 004728 70003B28 00000000 */ nop -/* 00472C 70003B2C 4600603C */ c.lt.s $f12, $f0 -/* 004730 70003B30 00000000 */ nop -/* 004734 70003B34 45020003 */ bc1fl .L70003B44 -/* 004738 70003B38 4600610D */ trunc.w.s $f4, $f12 -/* 00473C 70003B3C 46000306 */ mov.s $f12, $f0 -/* 004740 70003B40 4600610D */ trunc.w.s $f4, $f12 -.L70003B44: -/* 004744 70003B44 3C018002 */ lui $at, %hi(D_800232B4) -/* 004748 70003B48 2418000A */ li $t8, 10 -/* 00474C 70003B4C 440F2000 */ mfc1 $t7, $f4 -/* 004750 70003B50 00000000 */ nop -/* 004754 70003B54 AC2F32B4 */ sw $t7, %lo(D_800232B4)($at) -/* 004758 70003B58 3C018002 */ lui $at, %hi(D_800232B8) -/* 00475C 70003B5C 03E00008 */ jr $ra -/* 004760 70003B60 AC3832B8 */ sw $t8, %lo(D_800232B8)($at) -) -#endif - - - - -/** - * 4764 70003B64 - */ -void receive_vi_c_msgs(int msgcount){ - do { - osRecvMesg(&vi_c_debug_MQ,NULL,1); - msgcount += -1; - } while (0 < msgcount); -} - - -/** - * 47B0 70003BB0 - */ -#ifdef NONMATCHING -void setVideoWidthHeightToMode(s32 videomode) -{ - 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( -.text -glabel setVideoWidthHeightToMode -/* 0047B0 70003BB0 3C058002 */ lui $a1, %hi(ptr_video_settings2) -/* 0047B4 70003BB4 24A532A8 */ addiu $a1, %lo(ptr_video_settings2) # addiu $a1, $a1, 0x32a8 -/* 0047B8 70003BB8 8CAE0000 */ lw $t6, ($a1) -/* 0047BC 70003BBC 00041840 */ sll $v1, $a0, 1 -/* 0047C0 70003BC0 3C028003 */ lui $v0, %hi(widths_80028480) -/* 0047C4 70003BC4 A1C40000 */ sb $a0, ($t6) -/* 0047C8 70003BC8 00431021 */ addu $v0, $v0, $v1 -/* 0047CC 70003BCC 84428480 */ lh $v0, %lo(widths_80028480)($v0) -/* 0047D0 70003BD0 8CAF0000 */ lw $t7, ($a1) -/* 0047D4 70003BD4 A5E20018 */ sh $v0, 0x18($t7) -/* 0047D8 70003BD8 8CB80000 */ lw $t8, ($a1) -/* 0047DC 70003BDC A7020004 */ sh $v0, 4($t8) -/* 0047E0 70003BE0 3C028003 */ lui $v0, %hi(heights_80028488) -/* 0047E4 70003BE4 00431021 */ addu $v0, $v0, $v1 -/* 0047E8 70003BE8 84428488 */ lh $v0, %lo(heights_80028488)($v0) -/* 0047EC 70003BEC 8CB90000 */ lw $t9, ($a1) -/* 0047F0 70003BF0 A722001A */ sh $v0, 0x1a($t9) -/* 0047F4 70003BF4 8CA80000 */ lw $t0, ($a1) -/* 0047F8 70003BF8 03E00008 */ jr $ra -/* 0047FC 70003BFC A5020006 */ sh $v0, 6($t0) -) -#endif - - - -/** - * 4800 70003C00 sets colour output mode to 16bit [800232AC=1] - */ -void set_coloroutputmode_16bit(void) -{ - coloroutputmode = MODE_16BIT; -} - -/** - * 4810 70003C10 sets colour output mode to 32bit [800232AC=0] - */ -void set_coloroutputmode_32bit(void) -{ - coloroutputmode = MODE_32BIT; -} - -/** - * 481C 70003C1C V0= p->video2's buffer [p@800232A8+28]; fry T6 - */ -u8 * get_video_settings2_frameb(void) -{ - return ptr_video_settings2->frameb; -} - -/** - * 482C 70003C2C V0= p->video1's buffer [p@800232A4+28]; fry T6 - */ -u8 * get_video_settings1_frameb(void) -{ - return ptr_video_settings1->frameb; -} - -/** - * 483C 70003C3C A0->video2's buffer [p@800232A8+28]; fry T6 - */ -void set_video2buf_frameb(u8 *arg0) -{ - ptr_video_settings2->frameb = arg0; -} - -/** - * 484C 70003C4C V0= halfword [80060824] - */ -u16 get_80060824(void) { - return word_CODE_bss_80060824; -} - -/** - * 4858 70003C58 - */ -#ifdef NONMATCHING -void *video_related_F(void *arg0) -{ - void *temp_s0; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v1; - void *phi_s0; - - if (pPlayer != 0) - { - (pPlayer + (off_CODE_bss_80060879 * 0x10))->unk7D0 = (s16) (ptr_video_settings2->unk1C * 2); - (pPlayer + (off_CODE_bss_80060879 * 0x10))->unk7D8 = (s16) ((ptr_video_settings2->unk1C * 2) + (ptr_video_settings2->unk20 * 4)); - (pPlayer + (off_CODE_bss_80060879 * 0x10))->unk7D2 = (s16) (ptr_video_settings2->unk1E * 2); - (pPlayer + (off_CODE_bss_80060879 * 0x10))->unk7DA = (s16) ((ptr_video_settings2->unk1E * 2) + (ptr_video_settings2->unk22 * 4)); - } - arg0->unk0 = 0x3800010; - arg0->unk4 = (s32) ((pPlayer + (off_CODE_bss_80060879 * 0x10)) + 0x800007d0); - temp_s0 = arg0 + 8; - m = sub_GAME_7F0BD6E0(&off_CODE_bss_80060879, &pPlayer); - guPerspectiveF(&dword_CODE_bss_800607E0, &word_CODE_bss_80060824, ptr_video_settings2->far, ptr_video_settings2->scale, (f32) ptr_video_settings2->aspect, (f32) ptr_video_settings2->unk14, 1.0f); - guMtxF2L(&dword_CODE_bss_800607E0, m); - temp_v0 = temp_s0; - temp_v0->unk0 = 0x1030040; - temp_s0 = temp_s0 + 8; - temp_v0->unk4 = (s32) (m + 0x80000000); - temp_v1 = temp_s0; - temp_v1->unk0 = 0xbc00000e; - temp_s0 = temp_s0 + 8; - temp_v1->unk4 = (?32) word_CODE_bss_80060824; - set_BONDdata_field_10D8(m, &m); - set_BONDdata_field_10DC(&dword_CODE_bss_800607E0); - temp_v0_2 = temp_s0; - if (coloroutputmode != 0) - { - temp_v0_3 = temp_s0; - temp_v0_3->unk0 = (s32) (((ptr_video_settings2->unk18 + -1) & 0xfff) | 0xff100000); - temp_v0_3->unk4 = (s32) (ptr_video_settings2->frameb + 0x80000000); - phi_s0 = temp_s0 + 8; - } - else - { - temp_v0_2->unk4 = 0x3b5000; - temp_v0_2->unk0 = (s32) (((ptr_video_settings2->unk18 + -1) & 0xfff) | 0xff180000); - phi_s0 = temp_s0 + 8; - } - return phi_s0; -} -#else -GLOBAL_ASM( -.text -glabel video_related_F -/* 004858 70003C58 3C058008 */ lui $a1, %hi(pPlayer) -/* 00485C 70003C5C 24A5A0B0 */ addiu $a1, %lo(pPlayer) # addiu $a1, $a1, -0x5f50 -/* 004860 70003C60 8CA20000 */ lw $v0, ($a1) -/* 004864 70003C64 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 004868 70003C68 AFB00024 */ sw $s0, 0x24($sp) -/* 00486C 70003C6C 00808025 */ move $s0, $a0 -/* 004870 70003C70 AFBF002C */ sw $ra, 0x2c($sp) -/* 004874 70003C74 1040002A */ beqz $v0, .L70003D20 -/* 004878 70003C78 AFB10028 */ sw $s1, 0x28($sp) -/* 00487C 70003C7C 3C118002 */ lui $s1, %hi(ptr_video_settings2) -/* 004880 70003C80 263132A8 */ addiu $s1, %lo(ptr_video_settings2) # addiu $s1, $s1, 0x32a8 -/* 004884 70003C84 8E2E0000 */ lw $t6, ($s1) -/* 004888 70003C88 3C048006 */ lui $a0, %hi(off_CODE_bss_80060879) -/* 00488C 70003C8C 24840879 */ addiu $a0, %lo(off_CODE_bss_80060879) # addiu $a0, $a0, 0x879 -/* 004890 70003C90 90990000 */ lbu $t9, ($a0) -/* 004894 70003C94 85CF001C */ lh $t7, 0x1c($t6) -/* 004898 70003C98 00194100 */ sll $t0, $t9, 4 -/* 00489C 70003C9C 00484821 */ addu $t1, $v0, $t0 -/* 0048A0 70003CA0 000FC040 */ sll $t8, $t7, 1 -/* 0048A4 70003CA4 A53807D0 */ sh $t8, 0x7d0($t1) -/* 0048A8 70003CA8 8E230000 */ lw $v1, ($s1) -/* 0048AC 70003CAC 90990000 */ lbu $t9, ($a0) -/* 0048B0 70003CB0 8CAF0000 */ lw $t7, ($a1) -/* 0048B4 70003CB4 846A001C */ lh $t2, 0x1c($v1) -/* 0048B8 70003CB8 846C0020 */ lh $t4, 0x20($v1) -/* 0048BC 70003CBC 00194100 */ sll $t0, $t9, 4 -/* 0048C0 70003CC0 000A5840 */ sll $t3, $t2, 1 -/* 0048C4 70003CC4 000C6880 */ sll $t5, $t4, 2 -/* 0048C8 70003CC8 016D7021 */ addu $t6, $t3, $t5 -/* 0048CC 70003CCC 01E8C021 */ addu $t8, $t7, $t0 -/* 0048D0 70003CD0 A70E07D8 */ sh $t6, 0x7d8($t8) -/* 0048D4 70003CD4 8E290000 */ lw $t1, ($s1) -/* 0048D8 70003CD8 908D0000 */ lbu $t5, ($a0) -/* 0048DC 70003CDC 8CAB0000 */ lw $t3, ($a1) -/* 0048E0 70003CE0 852A001E */ lh $t2, 0x1e($t1) -/* 0048E4 70003CE4 000DC900 */ sll $t9, $t5, 4 -/* 0048E8 70003CE8 01797821 */ addu $t7, $t3, $t9 -/* 0048EC 70003CEC 000A6040 */ sll $t4, $t2, 1 -/* 0048F0 70003CF0 A5EC07D2 */ sh $t4, 0x7d2($t7) -/* 0048F4 70003CF4 8E230000 */ lw $v1, ($s1) -/* 0048F8 70003CF8 908B0000 */ lbu $t3, ($a0) -/* 0048FC 70003CFC 8CAD0000 */ lw $t5, ($a1) -/* 004900 70003D00 8468001E */ lh $t0, 0x1e($v1) -/* 004904 70003D04 84780022 */ lh $t8, 0x22($v1) -/* 004908 70003D08 000BC900 */ sll $t9, $t3, 4 -/* 00490C 70003D0C 00087040 */ sll $t6, $t0, 1 -/* 004910 70003D10 00184880 */ sll $t1, $t8, 2 -/* 004914 70003D14 01C95021 */ addu $t2, $t6, $t1 -/* 004918 70003D18 01B96021 */ addu $t4, $t5, $t9 -/* 00491C 70003D1C A58A07DA */ sh $t2, 0x7da($t4) -.L70003D20: -/* 004920 70003D20 3C0F0380 */ lui $t7, (0x03800010 >> 16) # lui $t7, 0x380 -/* 004924 70003D24 3C048006 */ lui $a0, %hi(off_CODE_bss_80060879) -/* 004928 70003D28 35EF0010 */ ori $t7, (0x03800010 & 0xFFFF) # ori $t7, $t7, 0x10 -/* 00492C 70003D2C 02001025 */ move $v0, $s0 -/* 004930 70003D30 24840879 */ addiu $a0, %lo(off_CODE_bss_80060879) # addiu $a0, $a0, 0x879 -/* 004934 70003D34 AC4F0000 */ sw $t7, ($v0) -/* 004938 70003D38 90980000 */ lbu $t8, ($a0) -/* 00493C 70003D3C 8CA80000 */ lw $t0, ($a1) -/* 004940 70003D40 3C018000 */ lui $at, (0x800007D0 >> 16) -/* 004944 70003D44 00187100 */ sll $t6, $t8, 4 -/* 004948 70003D48 342107D0 */ ori $at, (0x800007D0 & 0xFFFF) # ori $at, $at, 0x7d0 -/* 00494C 70003D4C 010E4821 */ addu $t1, $t0, $t6 -/* 004950 70003D50 3C118002 */ lui $s1, %hi(ptr_video_settings2) -/* 004954 70003D54 01215821 */ addu $t3, $t1, $at -/* 004958 70003D58 263132A8 */ addiu $s1, %lo(ptr_video_settings2) # addiu $s1, $s1, 0x32a8 -/* 00495C 70003D5C AC4B0004 */ sw $t3, 4($v0) -/* 004960 70003D60 0FC2F5B8 */ jal sub_GAME_7F0BD6E0 -/* 004964 70003D64 26100008 */ addiu $s0, $s0, 8 -/* 004968 70003D68 3C018006 */ lui $at, %hi(m) -/* 00496C 70003D6C AC220820 */ sw $v0, %lo(m)($at) -/* 004970 70003D70 8E230000 */ lw $v1, ($s1) -/* 004974 70003D74 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 004978 70003D78 44814000 */ mtc1 $at, $f8 -/* 00497C 70003D7C C4640010 */ lwc1 $f4, 0x10($v1) -/* 004980 70003D80 8C660008 */ lw $a2, 8($v1) -/* 004984 70003D84 8C67000C */ lw $a3, 0xc($v1) -/* 004988 70003D88 E7A40010 */ swc1 $f4, 0x10($sp) -/* 00498C 70003D8C C4660014 */ lwc1 $f6, 0x14($v1) -/* 004990 70003D90 3C048006 */ lui $a0, %hi(dword_CODE_bss_800607E0) -/* 004994 70003D94 3C058006 */ lui $a1, %hi(word_CODE_bss_80060824) -/* 004998 70003D98 24A50824 */ addiu $a1, %lo(word_CODE_bss_80060824) # addiu $a1, $a1, 0x824 -/* 00499C 70003D9C 248407E0 */ addiu $a0, %lo(dword_CODE_bss_800607E0) # addiu $a0, $a0, 0x7e0 -/* 0049A0 70003DA0 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0049A4 70003DA4 0C003F20 */ jal guPerspectiveF -/* 0049A8 70003DA8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 0049AC 70003DAC 3C048006 */ lui $a0, %hi(dword_CODE_bss_800607E0) -/* 0049B0 70003DB0 3C058006 */ lui $a1, %hi(m) -/* 0049B4 70003DB4 8CA50820 */ lw $a1, %lo(m)($a1) -/* 0049B8 70003DB8 0C003FC4 */ jal guMtxF2L -/* 0049BC 70003DBC 248407E0 */ addiu $a0, %lo(dword_CODE_bss_800607E0) # addiu $a0, $a0, 0x7e0 -/* 0049C0 70003DC0 3C0D0103 */ lui $t5, (0x01030040 >> 16) # lui $t5, 0x103 -/* 0049C4 70003DC4 3C058006 */ lui $a1, %hi(m) -/* 0049C8 70003DC8 35AD0040 */ ori $t5, (0x01030040 & 0xFFFF) # ori $t5, $t5, 0x40 -/* 0049CC 70003DCC 02001025 */ move $v0, $s0 -/* 0049D0 70003DD0 24A50820 */ addiu $a1, %lo(m) # addiu $a1, $a1, 0x820 -/* 0049D4 70003DD4 AC4D0000 */ sw $t5, ($v0) -/* 0049D8 70003DD8 8CB90000 */ lw $t9, ($a1) -/* 0049DC 70003DDC 3C018000 */ lui $at, 0x8000 -/* 0049E0 70003DE0 26100008 */ addiu $s0, $s0, 8 -/* 0049E4 70003DE4 3C0CBC00 */ lui $t4, (0xBC00000E >> 16) # lui $t4, 0xbc00 -/* 0049E8 70003DE8 03215021 */ addu $t2, $t9, $at -/* 0049EC 70003DEC AC4A0004 */ sw $t2, 4($v0) -/* 0049F0 70003DF0 358C000E */ ori $t4, (0xBC00000E & 0xFFFF) # ori $t4, $t4, 0xe -/* 0049F4 70003DF4 02001825 */ move $v1, $s0 -/* 0049F8 70003DF8 AC6C0000 */ sw $t4, ($v1) -/* 0049FC 70003DFC 3C0F8006 */ lui $t7, %hi(word_CODE_bss_80060824) -/* 004A00 70003E00 95EF0824 */ lhu $t7, %lo(word_CODE_bss_80060824)($t7) -/* 004A04 70003E04 26100008 */ addiu $s0, $s0, 8 -/* 004A08 70003E08 AC6F0004 */ sw $t7, 4($v1) -/* 004A0C 70003E0C 0FC1E0D9 */ jal set_BONDdata_field_10D8 -/* 004A10 70003E10 8CA40000 */ lw $a0, ($a1) -/* 004A14 70003E14 3C048006 */ lui $a0, %hi(dword_CODE_bss_800607E0) -/* 004A18 70003E18 0FC1E0F5 */ jal set_BONDdata_field_10DC -/* 004A1C 70003E1C 248407E0 */ addiu $a0, %lo(dword_CODE_bss_800607E0) # addiu $a0, $a0, 0x7e0 -/* 004A20 70003E20 3C188002 */ lui $t8, %hi(coloroutputmode) -/* 004A24 70003E24 8F1832AC */ lw $t8, %lo(coloroutputmode)($t8) -/* 004A28 70003E28 02001025 */ move $v0, $s0 -/* 004A2C 70003E2C 3C01FF18 */ lui $at, 0xff18 -/* 004A30 70003E30 53000011 */ beql $t8, $zero, .L70003E78 -/* 004A34 70003E34 8E2F0000 */ lw $t7, ($s1) -/* 004A38 70003E38 8E280000 */ lw $t0, ($s1) -/* 004A3C 70003E3C 3C01FF10 */ lui $at, 0xff10 -/* 004A40 70003E40 02001025 */ move $v0, $s0 -/* 004A44 70003E44 850E0018 */ lh $t6, 0x18($t0) -/* 004A48 70003E48 26100008 */ addiu $s0, $s0, 8 -/* 004A4C 70003E4C 25C9FFFF */ addiu $t1, $t6, -1 -/* 004A50 70003E50 312B0FFF */ andi $t3, $t1, 0xfff -/* 004A54 70003E54 01616825 */ or $t5, $t3, $at -/* 004A58 70003E58 AC4D0000 */ sw $t5, ($v0) -/* 004A5C 70003E5C 8E390000 */ lw $t9, ($s1) -/* 004A60 70003E60 3C018000 */ lui $at, 0x8000 -/* 004A64 70003E64 8F2A0028 */ lw $t2, 0x28($t9) -/* 004A68 70003E68 01416021 */ addu $t4, $t2, $at -/* 004A6C 70003E6C 1000000B */ b .L70003E9C -/* 004A70 70003E70 AC4C0004 */ sw $t4, 4($v0) -/* 004A74 70003E74 8E2F0000 */ lw $t7, ($s1) -.L70003E78: -/* 004A78 70003E78 3C0B003B */ lui $t3, %hi(0x003B5000) # $t3, 0x3b -/* 004A7C 70003E7C 256B5000 */ addiu $t3, %lo(0x003B5000) # addiu $t3, $t3, 0x5000 -/* 004A80 70003E80 85F80018 */ lh $t8, 0x18($t7) -/* 004A84 70003E84 AC4B0004 */ sw $t3, 4($v0) -/* 004A88 70003E88 26100008 */ addiu $s0, $s0, 8 -/* 004A8C 70003E8C 2708FFFF */ addiu $t0, $t8, -1 -/* 004A90 70003E90 310E0FFF */ andi $t6, $t0, 0xfff -/* 004A94 70003E94 01C14825 */ or $t1, $t6, $at -/* 004A98 70003E98 AC490000 */ sw $t1, ($v0) -.L70003E9C: -/* 004A9C 70003E9C 8FBF002C */ lw $ra, 0x2c($sp) -/* 004AA0 70003EA0 02001025 */ move $v0, $s0 -/* 004AA4 70003EA4 8FB00024 */ lw $s0, 0x24($sp) -/* 004AA8 70003EA8 8FB10028 */ lw $s1, 0x28($sp) -/* 004AAC 70003EAC 03E00008 */ jr $ra -/* 004AB0 70003EB0 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - -/** - * 4AB4 70003EB4 - */ -#ifdef NONMATCHING -s32 video_related_10(s32 arg0) -{ - s32 phi_a0; - - phi_a0 = arg0; - if (ptr_video_settings2->unk24 != 0) - { - phi_a0 = sub_GAME_7F0D2518(sub_GAME_7F0D2464()); - } - return phi_a0; -} -#else -GLOBAL_ASM( -.text -glabel video_related_10 -/* 004AB4 70003EB4 3C0E8002 */ lui $t6, %hi(ptr_video_settings2) -/* 004AB8 70003EB8 8DCE32A8 */ lw $t6, %lo(ptr_video_settings2)($t6) -/* 004ABC 70003EBC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 004AC0 70003EC0 AFBF0014 */ sw $ra, 0x14($sp) -/* 004AC4 70003EC4 8DCF0024 */ lw $t7, 0x24($t6) -/* 004AC8 70003EC8 51E00007 */ beql $t7, $zero, .L70003EE8 -/* 004ACC 70003ECC 8FBF0014 */ lw $ra, 0x14($sp) -/* 004AD0 70003ED0 0FC34919 */ jal sub_GAME_7F0D2464 -/* 004AD4 70003ED4 00000000 */ nop -/* 004AD8 70003ED8 0FC34946 */ jal sub_GAME_7F0D2518 -/* 004ADC 70003EDC 00402025 */ move $a0, $v0 -/* 004AE0 70003EE0 00402025 */ move $a0, $v0 -/* 004AE4 70003EE4 8FBF0014 */ lw $ra, 0x14($sp) -.L70003EE8: -/* 004AE8 70003EE8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 004AEC 70003EEC 00801025 */ move $v0, $a0 -/* 004AF0 70003EF0 03E00008 */ jr $ra -/* 004AF4 70003EF4 00000000 */ nop -) -#endif - - -/** - * 4AF8 70003EF8 generate a generic fillrect; fries: AT,A1,A2,A3,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 - * V0=new display list address - * accepts: A0=p->display list - */ -#ifdef NONMATCHING -s32 insert_generic_fillrect(void *arg0) //either of type Dynamic Struct or GFX Array, however Im betting Dynamic since Dynamic can contain a GFX plus other settings -{ - void *temp_a1; - void *temp_a3; - - // copied from a demo of what is probably going on here - /* - * pointers to build the display list. - / - dynamicp = &dynamic; //glist[0]); - */ - // so arg0 is probably pointer to dynamic struct containing glist. - // nothing is actually returned per say since its added to glist at a higher level. - - //arg0->unk4 = 0x300000; - //arg0->unk0 = 0xba001402; - gDPSetCycleType(glistp++, G_CYC_1CYCLE); - - //temp_a1 = arg0 + 8; - //temp_a3 = temp_a1 + 8; - //temp_a1->unk0 = (s32) (((((ptr_video_settings2->unk18 + -1) & 0x3ff) << 0xe) | 0xf6000000) | (((ptr_video_settings2->unk1A + -1) & 0x3ff) * 4)); - //temp_a1->unk4 = 0; - gDPFillRectangle(glistp++, 0, 0, SCREEN_WD-1, SCREEN_HT-1); - //temp_a3->unk0 = 0xe7000000; - //temp_a3->unk4 = 0; - gDPPipeSync(glistp++); - //return temp_a3 + 8; -} - -#else -GLOBAL_ASM( -.text -glabel insert_generic_fillrect -/* 004AF8 70003EF8 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00 #gsDPSetCycleType -/* 004AFC 70003EFC 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402 -/* 004B00 70003F00 3C0F0030 */ lui $t7, 0x30 #G_CYC_1CYCLE -/* 004B04 70003F04 AC8F0004 */ sw $t7, 4($a0) -/* 004B08 70003F08 AC8E0000 */ sw $t6, ($a0) -/* 004B0C 70003F0C 3C068002 */ lui $a2, %hi(ptr_video_settings2) -/* 004B10 70003F10 8CC632A8 */ lw $a2, %lo(ptr_video_settings2)($a2) -/* 004B14 70003F14 24850008 */ addiu $a1, $a0, 8 -/* 004B18 70003F18 3C01F600 */ lui $at, 0xf600 -/* 004B1C 70003F1C 84D80018 */ lh $t8, 0x18($a2) -/* 004B20 70003F20 84CB001A */ lh $t3, 0x1a($a2) -/* 004B24 70003F24 24A70008 */ addiu $a3, $a1, 8 -/* 004B28 70003F28 2719FFFF */ addiu $t9, $t8, -1 -/* 004B2C 70003F2C 332803FF */ andi $t0, $t9, 0x3ff -/* 004B30 70003F30 256CFFFF */ addiu $t4, $t3, -1 -/* 004B34 70003F34 318D03FF */ andi $t5, $t4, 0x3ff -/* 004B38 70003F38 00084B80 */ sll $t1, $t0, 0xe -/* 004B3C 70003F3C 01215025 */ or $t2, $t1, $at -/* 004B40 70003F40 000D7080 */ sll $t6, $t5, 2 -/* 004B44 70003F44 014E7825 */ or $t7, $t2, $t6 -/* 004B48 70003F48 ACAF0000 */ sw $t7, ($a1) -/* 004B4C 70003F4C ACA00004 */ sw $zero, 4($a1) -/* 004B50 70003F50 3C18E700 */ lui $t8, 0xe700 -/* 004B54 70003F54 ACF80000 */ sw $t8, ($a3) -/* 004B58 70003F58 ACE00004 */ sw $zero, 4($a3) -/* 004B5C 70003F5C 03E00008 */ jr $ra -/* 004B60 70003F60 24E20008 */ addiu $v0, $a3, 8 -) -#endif - - - - -/** - * 4B64 70003F64 - * accepts: A0=p->display list - */ -#ifdef NONMATCHING -void *setupscreensfornumplayers(void *arg0) -{ - void *sp60; - s16 sp22; - s16 sp20; - void *temp_s0; - void *temp_s0_2; - void *temp_s0_3; - void *temp_s0_4; - void *temp_s0_5; - void *temp_s1; - void *temp_s1_2; - void *temp_v1; - void *phi_s0; - void *phi_s0_2; - void *phi_s0_3; - void *phi_s0_4; - - temp_s0 = arg0 + 8; - //arg0->unk4 = 0x300000; - //arg0->unk0 = 0xba001402; - *temp_s0 = 0xed000000; - sp60 = temp_s0; - temp_s0 = temp_s0 + 8; - temp_v1 = temp_s0; - temp_s0 = temp_s0 + 8; - sp60->unk4 = (s32) (((s32) ((f32) get_video2_settings_txtClipH() * 4.0f) & 0xfff) | (((s32) ((f32) ((s32) (get_video2_settings_txtClipW() << 0x10) >> 0x10) * 4.0f) & 0xfff) << 0xc)); - temp_v1->unk4 = 0x10001; - temp_v1->unk0 = 0xf7000000; - phi_s0 = temp_s0; - if (get_video2_settings_uly() > 0) - { - phi_s0 = temp_s0; - if (sub_GAME_7F09B4D8(get_cur_playernum()) == 0) - { - temp_s0 = temp_s0 + 8; - sp58->unk0 = (s32) (((((get_video2_settings_uly() + -1) & 0x3ff) * 4) | 0xf6000000) | (((((s32) (get_video2_settings_txtClipW() << 0x10) >> 0x10) + -1) & 0x3ff) << 0xe)); - sp58->unk4 = 0; - temp_s0->unk0 = 0xe7000000; - temp_s0->unk4 = 0; - phi_s0 = temp_s0 + 8; - } - } - if (get_num_players() == 1) - { - sp22 = get_video2_settings_height(); - phi_s0_4 = phi_s0; - if ((((s32) (get_video2_settings_uly() << 0x10) >> 0x10) + sp22) < get_video2_settings_txtClipH()) - { - temp_s0_2 = phi_s0 + 8; - sp50->unk0 = (s32) (((((get_video2_settings_txtClipH() + -1) & 0x3ff) * 4) | 0xf6000000) | (((((s32) (get_video2_settings_txtClipW() << 0x10) >> 0x10) + -1) & 0x3ff) << 0xe)); - sp50->unk4 = (s32) (((get_video2_settings_height() + ((s32) (get_video2_settings_uly() << 0x10) >> 0x10)) & 0x3ff) * 4); - temp_s0_2->unk4 = 0; - temp_s0_2->unk0 = 0xe7000000; - phi_s0_4 = temp_s0_2 + 8; - } - } - else - { - phi_s0_4 = phi_s0; - if (sub_GAME_7F09B4D8(get_cur_playernum()) == 0) - { - sp20 = get_video2_settings_height(); - sp22 = get_video2_settings_height(); - phi_s0_2 = phi_s0; - if (((((s32) (get_video2_settings_uly() << 0x10) >> 0x10) + sp22) + sp20) < get_video2_settings_txtClipH()) - { - temp_s0_3 = phi_s0 + 8; - sp48->unk0 = (s32) (((((get_video2_settings_txtClipH() + -1) & 0x3ff) * 4) | 0xf6000000) | (((((s32) (get_video2_settings_txtClipW() << 0x10) >> 0x10) + -1) & 0x3ff) << 0xe)); - sp22 = get_video2_settings_height(); - sp48->unk4 = (s32) ((((get_video2_settings_height() + ((s32) (get_video2_settings_uly() << 0x10) >> 0x10)) + sp22) & 0x3ff) * 4); - temp_s0_3->unk0 = 0xe7000000; - temp_s0_3->unk4 = 0; - phi_s0_2 = temp_s0_3 + 8; - } - temp_s1 = phi_s0_2; - temp_s0_4 = phi_s0_2 + 8; - temp_s1->unk4 = 0x1dc; - temp_s1->unk0 = (s32) (((((get_video2_settings_txtClipW() + -1) & 0x3ff) << 0xe) | 0xf6000000) | 0x1e0); - temp_s0_4->unk0 = 0xe7000000; - temp_s0_4->unk4 = 0; - temp_s0_4 = temp_s0_4 + 8; - temp_s1_2 = temp_s0_4; - phi_s0_3 = temp_s0_4; - if (get_num_players() >= 3) - { - temp_s0_4 = temp_s0_4 + 8; - temp_s1_2->unk0 = (s32) ((((get_video2_settings_txtClipH() + -1) & 0x3ff) * 4) | 0xf6280000); - temp_s1_2->unk4 = 0x27c000; - temp_s0_4->unk0 = 0xe7000000; - temp_s0_4->unk4 = 0; - phi_s0_3 = temp_s0_4 + 8; - } - phi_s0_4 = phi_s0_3; - if (get_num_players() == 3) - { - temp_s0_5 = phi_s0_3 + 8; - sp30->unk0 = (s32) (((((get_video2_settings_txtClipH() + -1) & 0x3ff) * 4) | 0xf6000000) | (((((s32) (get_video2_settings_txtClipW() << 0x10) >> 0x10) + -1) & 0x3ff) << 0xe)); - sp30->unk4 = 0x2841e4; - temp_s0_5->unk0 = 0xe7000000; - temp_s0_5->unk4 = 0; - phi_s0_4 = temp_s0_5 + 8; - } - } - } - return phi_s0_4; -} -#else -GLOBAL_ASM( -.text -glabel setupscreensfornumplayers -/* 004B64 70003F64 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 004B68 70003F68 AFB00014 */ sw $s0, 0x14($sp) -/* 004B6C 70003F6C AFBF001C */ sw $ra, 0x1c($sp) -/* 004B70 70003F70 AFB10018 */ sw $s1, 0x18($sp) -/* 004B74 70003F74 3C0EBA00 */ lui $t6, (0xBA001402 >> 16) # lui $t6, 0xba00 -/* 004B78 70003F78 35CE1402 */ ori $t6, (0xBA001402 & 0xFFFF) # ori $t6, $t6, 0x1402 -/* 004B7C 70003F7C 24900008 */ addiu $s0, $a0, 8 -/* 004B80 70003F80 3C0F0030 */ lui $t7, 0x30 -/* 004B84 70003F84 AC8F0004 */ sw $t7, 4($a0) -/* 004B88 70003F88 AC8E0000 */ sw $t6, ($a0) -/* 004B8C 70003F8C 02001825 */ move $v1, $s0 -/* 004B90 70003F90 3C18ED00 */ lui $t8, 0xed00 -/* 004B94 70003F94 AC780000 */ sw $t8, ($v1) -/* 004B98 70003F98 AFA30060 */ sw $v1, 0x60($sp) -/* 004B9C 70003F9C 0C001107 */ jal get_video2_settings_txtClipW -/* 004BA0 70003FA0 26100008 */ addiu $s0, $s0, 8 -/* 004BA4 70003FA4 00028C00 */ sll $s1, $v0, 0x10 -/* 004BA8 70003FA8 0011CC03 */ sra $t9, $s1, 0x10 -/* 004BAC 70003FAC 0C00110B */ jal get_video2_settings_txtClipH -/* 004BB0 70003FB0 03208825 */ move $s1, $t9 -/* 004BB4 70003FB4 44822000 */ mtc1 $v0, $f4 -/* 004BB8 70003FB8 44918000 */ mtc1 $s1, $f16 -/* 004BBC 70003FBC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 004BC0 70003FC0 468021A0 */ cvt.s.w $f6, $f4 -/* 004BC4 70003FC4 44810000 */ mtc1 $at, $f0 -/* 004BC8 70003FC8 8FB80060 */ lw $t8, 0x60($sp) -/* 004BCC 70003FCC 02001825 */ move $v1, $s0 -/* 004BD0 70003FD0 3C080001 */ lui $t0, (0x00010001 >> 16) # lui $t0, 1 -/* 004BD4 70003FD4 468084A0 */ cvt.s.w $f18, $f16 -/* 004BD8 70003FD8 46003202 */ mul.s $f8, $f6, $f0 -/* 004BDC 70003FDC 35080001 */ ori $t0, (0x00010001 & 0xFFFF) # ori $t0, $t0, 1 -/* 004BE0 70003FE0 3C19F700 */ lui $t9, 0xf700 -/* 004BE4 70003FE4 26100008 */ addiu $s0, $s0, 8 -/* 004BE8 70003FE8 46009102 */ mul.s $f4, $f18, $f0 -/* 004BEC 70003FEC 4600428D */ trunc.w.s $f10, $f8 -/* 004BF0 70003FF0 4600218D */ trunc.w.s $f6, $f4 -/* 004BF4 70003FF4 44095000 */ mfc1 $t1, $f10 -/* 004BF8 70003FF8 440C3000 */ mfc1 $t4, $f6 -/* 004BFC 70003FFC 312A0FFF */ andi $t2, $t1, 0xfff -/* 004C00 70004000 318D0FFF */ andi $t5, $t4, 0xfff -/* 004C04 70004004 000D7300 */ sll $t6, $t5, 0xc -/* 004C08 70004008 014E7825 */ or $t7, $t2, $t6 -/* 004C0C 7000400C AF0F0004 */ sw $t7, 4($t8) -/* 004C10 70004010 AC680004 */ sw $t0, 4($v1) -/* 004C14 70004014 0C001149 */ jal get_video2_settings_uly -/* 004C18 70004018 AC790000 */ sw $t9, ($v1) -/* 004C1C 7000401C 1840001F */ blez $v0, .L7000409C -/* 004C20 70004020 00000000 */ nop -/* 004C24 70004024 0FC26C54 */ jal get_cur_playernum -/* 004C28 70004028 00000000 */ nop -/* 004C2C 7000402C 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 004C30 70004030 00402025 */ move $a0, $v0 -/* 004C34 70004034 14400019 */ bnez $v0, .L7000409C -/* 004C38 70004038 00000000 */ nop -/* 004C3C 7000403C AFB00058 */ sw $s0, 0x58($sp) -/* 004C40 70004040 0C001107 */ jal get_video2_settings_txtClipW -/* 004C44 70004044 26100008 */ addiu $s0, $s0, 8 -/* 004C48 70004048 00028C00 */ sll $s1, $v0, 0x10 -/* 004C4C 7000404C 00114C03 */ sra $t1, $s1, 0x10 -/* 004C50 70004050 0C001149 */ jal get_video2_settings_uly -/* 004C54 70004054 01208825 */ move $s1, $t1 -/* 004C58 70004058 244BFFFF */ addiu $t3, $v0, -1 -/* 004C5C 7000405C 8FA40058 */ lw $a0, 0x58($sp) -/* 004C60 70004060 316C03FF */ andi $t4, $t3, 0x3ff -/* 004C64 70004064 262EFFFF */ addiu $t6, $s1, -1 -/* 004C68 70004068 31CF03FF */ andi $t7, $t6, 0x3ff -/* 004C6C 7000406C 000C6880 */ sll $t5, $t4, 2 -/* 004C70 70004070 3C01F600 */ lui $at, 0xf600 -/* 004C74 70004074 01A15025 */ or $t2, $t5, $at -/* 004C78 70004078 000FC380 */ sll $t8, $t7, 0xe -/* 004C7C 7000407C 0158C825 */ or $t9, $t2, $t8 -/* 004C80 70004080 02001825 */ move $v1, $s0 -/* 004C84 70004084 AC990000 */ sw $t9, ($a0) -/* 004C88 70004088 AC800004 */ sw $zero, 4($a0) -/* 004C8C 7000408C 3C08E700 */ lui $t0, 0xe700 -/* 004C90 70004090 AC680000 */ sw $t0, ($v1) -/* 004C94 70004094 AC600004 */ sw $zero, 4($v1) -/* 004C98 70004098 26100008 */ addiu $s0, $s0, 8 -.L7000409C: -/* 004C9C 7000409C 0FC26919 */ jal get_num_players -/* 004CA0 700040A0 00000000 */ nop -/* 004CA4 700040A4 24010001 */ li $at, 1 -/* 004CA8 700040A8 14410030 */ bne $v0, $at, .L7000416C -/* 004CAC 700040AC 00000000 */ nop -/* 004CB0 700040B0 0C00112B */ jal get_video2_settings_height -/* 004CB4 700040B4 00000000 */ nop -/* 004CB8 700040B8 0C001149 */ jal get_video2_settings_uly -/* 004CBC 700040BC A7A20022 */ sh $v0, 0x22($sp) -/* 004CC0 700040C0 00028C00 */ sll $s1, $v0, 0x10 -/* 004CC4 700040C4 00114C03 */ sra $t1, $s1, 0x10 -/* 004CC8 700040C8 0C00110B */ jal get_video2_settings_txtClipH -/* 004CCC 700040CC 01208825 */ move $s1, $t1 -/* 004CD0 700040D0 87AB0022 */ lh $t3, 0x22($sp) -/* 004CD4 700040D4 022B6021 */ addu $t4, $s1, $t3 -/* 004CD8 700040D8 0182082A */ slt $at, $t4, $v0 -/* 004CDC 700040DC 502000A4 */ beql $at, $zero, .L70004370 -/* 004CE0 700040E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 004CE4 700040E4 AFB00050 */ sw $s0, 0x50($sp) -/* 004CE8 700040E8 0C001107 */ jal get_video2_settings_txtClipW -/* 004CEC 700040EC 26100008 */ addiu $s0, $s0, 8 -/* 004CF0 700040F0 00028C00 */ sll $s1, $v0, 0x10 -/* 004CF4 700040F4 00116C03 */ sra $t5, $s1, 0x10 -/* 004CF8 700040F8 0C00110B */ jal get_video2_settings_txtClipH -/* 004CFC 700040FC 01A08825 */ move $s1, $t5 -/* 004D00 70004100 244EFFFF */ addiu $t6, $v0, -1 -/* 004D04 70004104 31CF03FF */ andi $t7, $t6, 0x3ff -/* 004D08 70004108 2639FFFF */ addiu $t9, $s1, -1 -/* 004D0C 7000410C 332803FF */ andi $t0, $t9, 0x3ff -/* 004D10 70004110 000F5080 */ sll $t2, $t7, 2 -/* 004D14 70004114 3C01F600 */ lui $at, 0xf600 -/* 004D18 70004118 8FAC0050 */ lw $t4, 0x50($sp) -/* 004D1C 7000411C 0141C025 */ or $t8, $t2, $at -/* 004D20 70004120 00084B80 */ sll $t1, $t0, 0xe -/* 004D24 70004124 03095825 */ or $t3, $t8, $t1 -/* 004D28 70004128 0C001149 */ jal get_video2_settings_uly -/* 004D2C 7000412C AD8B0000 */ sw $t3, ($t4) -/* 004D30 70004130 00028C00 */ sll $s1, $v0, 0x10 -/* 004D34 70004134 00116C03 */ sra $t5, $s1, 0x10 -/* 004D38 70004138 0C00112B */ jal get_video2_settings_height -/* 004D3C 7000413C 01A08825 */ move $s1, $t5 -/* 004D40 70004140 8FB90050 */ lw $t9, 0x50($sp) -/* 004D44 70004144 00517021 */ addu $t6, $v0, $s1 -/* 004D48 70004148 31CF03FF */ andi $t7, $t6, 0x3ff -/* 004D4C 7000414C 000F5080 */ sll $t2, $t7, 2 -/* 004D50 70004150 02001825 */ move $v1, $s0 -/* 004D54 70004154 3C08E700 */ lui $t0, 0xe700 -/* 004D58 70004158 AF2A0004 */ sw $t2, 4($t9) -/* 004D5C 7000415C AC600004 */ sw $zero, 4($v1) -/* 004D60 70004160 AC680000 */ sw $t0, ($v1) -/* 004D64 70004164 10000081 */ b .L7000436C -/* 004D68 70004168 26100008 */ addiu $s0, $s0, 8 -.L7000416C: -/* 004D6C 7000416C 0FC26C54 */ jal get_cur_playernum -/* 004D70 70004170 00000000 */ nop -/* 004D74 70004174 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 004D78 70004178 00402025 */ move $a0, $v0 -/* 004D7C 7000417C 5440007C */ bnezl $v0, .L70004370 -/* 004D80 70004180 8FBF001C */ lw $ra, 0x1c($sp) -/* 004D84 70004184 0C00112B */ jal get_video2_settings_height -/* 004D88 70004188 00000000 */ nop -/* 004D8C 7000418C 0C00112B */ jal get_video2_settings_height -/* 004D90 70004190 A7A20020 */ sh $v0, 0x20($sp) -/* 004D94 70004194 0C001149 */ jal get_video2_settings_uly -/* 004D98 70004198 A7A20022 */ sh $v0, 0x22($sp) -/* 004D9C 7000419C 00028C00 */ sll $s1, $v0, 0x10 -/* 004DA0 700041A0 0011C403 */ sra $t8, $s1, 0x10 -/* 004DA4 700041A4 0C00110B */ jal get_video2_settings_txtClipH -/* 004DA8 700041A8 03008825 */ move $s1, $t8 -/* 004DAC 700041AC 87A90022 */ lh $t1, 0x22($sp) -/* 004DB0 700041B0 87AC0020 */ lh $t4, 0x20($sp) -/* 004DB4 700041B4 02295821 */ addu $t3, $s1, $t1 -/* 004DB8 700041B8 016C6821 */ addu $t5, $t3, $t4 -/* 004DBC 700041BC 01A2082A */ slt $at, $t5, $v0 -/* 004DC0 700041C0 50200027 */ beql $at, $zero, .L70004260 -/* 004DC4 700041C4 02008825 */ move $s1, $s0 -/* 004DC8 700041C8 AFB00048 */ sw $s0, 0x48($sp) -/* 004DCC 700041CC 0C001107 */ jal get_video2_settings_txtClipW -/* 004DD0 700041D0 26100008 */ addiu $s0, $s0, 8 -/* 004DD4 700041D4 00028C00 */ sll $s1, $v0, 0x10 -/* 004DD8 700041D8 00117403 */ sra $t6, $s1, 0x10 -/* 004DDC 700041DC 0C00110B */ jal get_video2_settings_txtClipH -/* 004DE0 700041E0 01C08825 */ move $s1, $t6 -/* 004DE4 700041E4 244FFFFF */ addiu $t7, $v0, -1 -/* 004DE8 700041E8 31EA03FF */ andi $t2, $t7, 0x3ff -/* 004DEC 700041EC 2638FFFF */ addiu $t8, $s1, -1 -/* 004DF0 700041F0 330903FF */ andi $t1, $t8, 0x3ff -/* 004DF4 700041F4 000AC880 */ sll $t9, $t2, 2 -/* 004DF8 700041F8 3C01F600 */ lui $at, 0xf600 -/* 004DFC 700041FC 8FAD0048 */ lw $t5, 0x48($sp) -/* 004E00 70004200 03214025 */ or $t0, $t9, $at -/* 004E04 70004204 00095B80 */ sll $t3, $t1, 0xe -/* 004E08 70004208 010B6025 */ or $t4, $t0, $t3 -/* 004E0C 7000420C 0C00112B */ jal get_video2_settings_height -/* 004E10 70004210 ADAC0000 */ sw $t4, ($t5) -/* 004E14 70004214 0C001149 */ jal get_video2_settings_uly -/* 004E18 70004218 A7A20022 */ sh $v0, 0x22($sp) -/* 004E1C 7000421C 00028C00 */ sll $s1, $v0, 0x10 -/* 004E20 70004220 00117403 */ sra $t6, $s1, 0x10 -/* 004E24 70004224 0C00112B */ jal get_video2_settings_height -/* 004E28 70004228 01C08825 */ move $s1, $t6 -/* 004E2C 7000422C 87AA0022 */ lh $t2, 0x22($sp) -/* 004E30 70004230 00517821 */ addu $t7, $v0, $s1 -/* 004E34 70004234 8FA80048 */ lw $t0, 0x48($sp) -/* 004E38 70004238 01EAC821 */ addu $t9, $t7, $t2 -/* 004E3C 7000423C 333803FF */ andi $t8, $t9, 0x3ff -/* 004E40 70004240 00184880 */ sll $t1, $t8, 2 -/* 004E44 70004244 02001825 */ move $v1, $s0 -/* 004E48 70004248 AD090004 */ sw $t1, 4($t0) -/* 004E4C 7000424C 3C0BE700 */ lui $t3, 0xe700 -/* 004E50 70004250 AC6B0000 */ sw $t3, ($v1) -/* 004E54 70004254 AC600004 */ sw $zero, 4($v1) -/* 004E58 70004258 26100008 */ addiu $s0, $s0, 8 -/* 004E5C 7000425C 02008825 */ move $s1, $s0 -.L70004260: -/* 004E60 70004260 0C001107 */ jal get_video2_settings_txtClipW -/* 004E64 70004264 26100008 */ addiu $s0, $s0, 8 -/* 004E68 70004268 244CFFFF */ addiu $t4, $v0, -1 -/* 004E6C 7000426C 318D03FF */ andi $t5, $t4, 0x3ff -/* 004E70 70004270 000D7380 */ sll $t6, $t5, 0xe -/* 004E74 70004274 3C01F600 */ lui $at, 0xf600 -/* 004E78 70004278 01C17825 */ or $t7, $t6, $at -/* 004E7C 7000427C 35EA01E0 */ ori $t2, $t7, 0x1e0 -/* 004E80 70004280 241901DC */ li $t9, 476 -/* 004E84 70004284 02001825 */ move $v1, $s0 -/* 004E88 70004288 AE390004 */ sw $t9, 4($s1) -/* 004E8C 7000428C AE2A0000 */ sw $t2, ($s1) -/* 004E90 70004290 3C18E700 */ lui $t8, 0xe700 -/* 004E94 70004294 AC780000 */ sw $t8, ($v1) -/* 004E98 70004298 AC600004 */ sw $zero, 4($v1) -/* 004E9C 7000429C 0FC26919 */ jal get_num_players -/* 004EA0 700042A0 26100008 */ addiu $s0, $s0, 8 -/* 004EA4 700042A4 28410003 */ slti $at, $v0, 3 -/* 004EA8 700042A8 14200011 */ bnez $at, .L700042F0 -/* 004EAC 700042AC 02008825 */ move $s1, $s0 -/* 004EB0 700042B0 0C00110B */ jal get_video2_settings_txtClipH -/* 004EB4 700042B4 26100008 */ addiu $s0, $s0, 8 -/* 004EB8 700042B8 2449FFFF */ addiu $t1, $v0, -1 -/* 004EBC 700042BC 312803FF */ andi $t0, $t1, 0x3ff -/* 004EC0 700042C0 00085880 */ sll $t3, $t0, 2 -/* 004EC4 700042C4 3C01F628 */ lui $at, 0xf628 -/* 004EC8 700042C8 3C0D0027 */ lui $t5, (0x0027C000 >> 16) # lui $t5, 0x27 -/* 004ECC 700042CC 35ADC000 */ ori $t5, (0x0027C000 & 0xFFFF) # ori $t5, $t5, 0xc000 -/* 004ED0 700042D0 01616025 */ or $t4, $t3, $at -/* 004ED4 700042D4 02001825 */ move $v1, $s0 -/* 004ED8 700042D8 AE2C0000 */ sw $t4, ($s1) -/* 004EDC 700042DC AE2D0004 */ sw $t5, 4($s1) -/* 004EE0 700042E0 3C0EE700 */ lui $t6, 0xe700 -/* 004EE4 700042E4 AC6E0000 */ sw $t6, ($v1) -/* 004EE8 700042E8 AC600004 */ sw $zero, 4($v1) -/* 004EEC 700042EC 26100008 */ addiu $s0, $s0, 8 -.L700042F0: -/* 004EF0 700042F0 0FC26919 */ jal get_num_players -/* 004EF4 700042F4 00000000 */ nop -/* 004EF8 700042F8 24010003 */ li $at, 3 -/* 004EFC 700042FC 5441001C */ bnel $v0, $at, .L70004370 -/* 004F00 70004300 8FBF001C */ lw $ra, 0x1c($sp) -/* 004F04 70004304 AFB00030 */ sw $s0, 0x30($sp) -/* 004F08 70004308 0C001107 */ jal get_video2_settings_txtClipW -/* 004F0C 7000430C 26100008 */ addiu $s0, $s0, 8 -/* 004F10 70004310 00028C00 */ sll $s1, $v0, 0x10 -/* 004F14 70004314 00117C03 */ sra $t7, $s1, 0x10 -/* 004F18 70004318 0C00110B */ jal get_video2_settings_txtClipH -/* 004F1C 7000431C 01E08825 */ move $s1, $t7 -/* 004F20 70004320 244AFFFF */ addiu $t2, $v0, -1 -/* 004F24 70004324 8FA40030 */ lw $a0, 0x30($sp) -/* 004F28 70004328 315903FF */ andi $t9, $t2, 0x3ff -/* 004F2C 7000432C 2628FFFF */ addiu $t0, $s1, -1 -/* 004F30 70004330 310B03FF */ andi $t3, $t0, 0x3ff -/* 004F34 70004334 0019C080 */ sll $t8, $t9, 2 -/* 004F38 70004338 3C01F600 */ lui $at, 0xf600 -/* 004F3C 7000433C 03014825 */ or $t1, $t8, $at -/* 004F40 70004340 000B6380 */ sll $t4, $t3, 0xe -/* 004F44 70004344 3C0E0028 */ lui $t6, (0x002841E4 >> 16) # lui $t6, 0x28 -/* 004F48 70004348 35CE41E4 */ ori $t6, (0x002841E4 & 0xFFFF) # ori $t6, $t6, 0x41e4 -/* 004F4C 7000434C 012C6825 */ or $t5, $t1, $t4 -/* 004F50 70004350 02001825 */ move $v1, $s0 -/* 004F54 70004354 AC8D0000 */ sw $t5, ($a0) -/* 004F58 70004358 AC8E0004 */ sw $t6, 4($a0) -/* 004F5C 7000435C 3C0FE700 */ lui $t7, 0xe700 -/* 004F60 70004360 AC6F0000 */ sw $t7, ($v1) -/* 004F64 70004364 AC600004 */ sw $zero, 4($v1) -/* 004F68 70004368 26100008 */ addiu $s0, $s0, 8 -.L7000436C: -/* 004F6C 7000436C 8FBF001C */ lw $ra, 0x1c($sp) -.L70004370: -/* 004F70 70004370 02001025 */ move $v0, $s0 -/* 004F74 70004374 8FB00014 */ lw $s0, 0x14($sp) -/* 004F78 70004378 8FB10018 */ lw $s1, 0x18($sp) -/* 004F7C 7000437C 03E00008 */ jr $ra -/* 004F80 70004380 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - -/** - * 4F84 70004384 - * A0->[800232A0] - */ -void set_D_800232A0(s32 arg0) -{ - D_800232A0 = arg0; -} - -/** - * 4F90 70004390 - * V0= [800232A0] - */ -s32 get_D_800232A0(void) -{ - return D_800232A0; -} - -/** - * 4F9C 7000439C - * A0->[8002329C] - */ -void set_D_8002329C(s32 arg0) -{ - D_8002329C = arg0; -} - -/** - * 4FA8 700043A8 - * V0= [8002329C] - */ -s32 get_D_8002329C(void) -{ - return D_8002329C; -} - -/** - * 4FB4 700043B4 - * A0->[p@800232A8+18], SP+0; fry V0,T0,T1 - * A1->[p@800232A8+1A], SP+4 - */ -void set_video2_settings_offset_18_1A(s16 arg0, s16 arg1) -{ - ptr_video_settings2->somethingW = arg0; - ptr_video_settings2->somethingH = arg1; -} - -/** - * 4FD8 700043D8 - * V0= [p@800232A8+18]; fry T6 - */ -s16 get_video2_settings_offset_18(void) -{ - return ptr_video_settings2->somethingW; -} - -/** - * 4FE8 700043E8 - * V0= [p@800232A8+1A]; fry T6 - */ -s16 get_video2_settings_offset_1A(void) -{ - return ptr_video_settings2->somethingH; -} - -/** - * 4FF8 700043F8 - * set video2 text clip width (A0) and height (A1); fries V0,T0,T1 - * A0->[p@800232A8+4], SP+0 - * A1->[p@800232A8+6], SP+4 - */ -void set_video2_text_clip_size(s16 txtClipW, s16 txtClipH) { - ptr_video_settings2->txtClipW = txtClipW; - ptr_video_settings2->txtClipH = txtClipH; -} - -/** - * 501C 7000441C - * V0= video2 text clip width [p@800232A8+4]; fry T6 - */ -s16 get_video2_settings_txtClipW(void) { - return ptr_video_settings2->txtClipW; -} - -/** - * 502C 7000442C - * V0= video2 text clip height [p@800232A8+6]; fry T6 - */ -s16 get_video2_settings_txtClipH(void) { - return ptr_video_settings2->txtClipH; -} - -/** - * 503C 7000443C - * set video2 width (A0) and height (A1) - */ -#ifdef NONMATCHING -void set_video2_width_height(short width,short height) { - ptr_video_settings2->width = width; - ptr_video_settings2->height = height; - set_BONDdata_screensize(ptr_video_settings2->width,ptr_video_settings2->height); - proc_7F077C5C(); - return; -} -#else -GLOBAL_ASM( -.text -glabel set_video2_width_height -/* 00503C 7000443C 3C038002 */ lui $v1, %hi(ptr_video_settings2) -/* 005040 70004440 246332A8 */ addiu $v1, %lo(ptr_video_settings2) # addiu $v1, $v1, 0x32a8 -/* 005044 70004444 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 005048 70004448 8C680000 */ lw $t0, ($v1) -/* 00504C 7000444C AFBF0014 */ sw $ra, 0x14($sp) -/* 005050 70004450 AFA40018 */ sw $a0, 0x18($sp) -/* 005054 70004454 AFA5001C */ sw $a1, 0x1c($sp) -/* 005058 70004458 A504001C */ sh $a0, 0x1c($t0) -/* 00505C 7000445C 8C690000 */ lw $t1, ($v1) -/* 005060 70004460 A525001E */ sh $a1, 0x1e($t1) -/* 005064 70004464 8C620000 */ lw $v0, ($v1) -/* 005068 70004468 844A001C */ lh $t2, 0x1c($v0) -/* 00506C 7000446C 844B001E */ lh $t3, 0x1e($v0) -/* 005070 70004470 448A2000 */ mtc1 $t2, $f4 -/* 005074 70004474 448B3000 */ mtc1 $t3, $f6 -/* 005078 70004478 46802320 */ cvt.s.w $f12, $f4 -/* 00507C 7000447C 0FC1DEF6 */ jal set_BONDdata_screensize -/* 005080 70004480 468033A0 */ cvt.s.w $f14, $f6 -/* 005084 70004484 0FC1DF17 */ jal sub_GAME_7F077C5C -/* 005088 70004488 00000000 */ nop -/* 00508C 7000448C 8FBF0014 */ lw $ra, 0x14($sp) -/* 005090 70004490 27BD0018 */ addiu $sp, $sp, 0x18 -/* 005094 70004494 03E00008 */ jr $ra -/* 005098 70004498 00000000 */ nop -) -#endif - - - -/** - * 509C 7000449C - * V0= video2 lrx [p@800232A8+1C]; fry T6 - */ -s16 get_video2_settings_width(void) { - return ptr_video_settings2->width; -} - -/** - * 50AC 700044AC - * V0= video2 lry [p@800232A8+1E]; fry T6 - */ -s16 get_video2_settings_height(void) { - return ptr_video_settings2->height; -} - -/** - * 50BC 700044BC - * set video2 ulx (A0) and uly (A1) - */ -#ifdef NONMATCHING -void set_video2_ulx_uly(s16 ulx, s16 uly) -{ - ptr_video_settings2->ulx = ulx; - ptr_video_settings2->ulx = uly; - set_ulx_uly((f32) ptr_video_settings2->ulx, (f32) ptr_video_settings2->uly); -} -#else -GLOBAL_ASM( -.text -glabel set_video2_ulx_uly -/* 0050BC 700044BC 3C038002 */ lui $v1, %hi(ptr_video_settings2) -/* 0050C0 700044C0 246332A8 */ addiu $v1, %lo(ptr_video_settings2) # addiu $v1, $v1, 0x32a8 -/* 0050C4 700044C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0050C8 700044C8 8C680000 */ lw $t0, ($v1) -/* 0050CC 700044CC AFBF0014 */ sw $ra, 0x14($sp) -/* 0050D0 700044D0 AFA40018 */ sw $a0, 0x18($sp) -/* 0050D4 700044D4 AFA5001C */ sw $a1, 0x1c($sp) -/* 0050D8 700044D8 A5040020 */ sh $a0, 0x20($t0) -/* 0050DC 700044DC 8C690000 */ lw $t1, ($v1) -/* 0050E0 700044E0 A5250022 */ sh $a1, 0x22($t1) -/* 0050E4 700044E4 8C620000 */ lw $v0, ($v1) -/* 0050E8 700044E8 844A0020 */ lh $t2, 0x20($v0) -/* 0050EC 700044EC 844B0022 */ lh $t3, 0x22($v0) -/* 0050F0 700044F0 448A2000 */ mtc1 $t2, $f4 -/* 0050F4 700044F4 448B3000 */ mtc1 $t3, $f6 -/* 0050F8 700044F8 46802320 */ cvt.s.w $f12, $f4 -/* 0050FC 700044FC 0FC1DF05 */ jal set_ulx_uly -/* 005100 70004500 468033A0 */ cvt.s.w $f14, $f6 -/* 005104 70004504 8FBF0014 */ lw $ra, 0x14($sp) -/* 005108 70004508 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00510C 7000450C 03E00008 */ jr $ra -/* 005110 70004510 00000000 */ nop -) -#endif - - - -/** - * 5114 70004514 - * V0= video2 ulx [p@800232A8+20]; fry T6 - */ -s16 get_video2_settings_ulx(void) { - return ptr_video_settings2->ulx; -} - -/** - * 5124 70004524 - * V0= video2 uly [p@800232A8+22]; fry T6 - */ -s16 get_video2_settings_uly(void) { - return ptr_video_settings2->uly; -} - -/** - * 5134 70004534 - * A0->[p@800232A8+24]; fry T6 - */ -void set_video2_settings_offset_24(int param_1) { - ptr_video_settings2->anonymous_12 = param_1; -} - -/** - * 5144 70004544 - */ -#ifdef NONMATCHING -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); - sub_GAME_7F077C5C(); -} -#else -GLOBAL_ASM( -.text -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 -/* 005150 70004550 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 005154 70004554 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 005158 70004558 8C6E0000 */ lw $t6, ($v1) -/* 00515C 7000455C AFBF0014 */ sw $ra, 0x14($sp) -/* 005160 70004560 E5C40008 */ swc1 $f4, 8($t6) -/* 005164 70004564 8C620000 */ lw $v0, ($v1) -/* 005168 70004568 C44C0010 */ lwc1 $f12, 0x10($v0) -/* 00516C 7000456C C44E0008 */ lwc1 $f14, 8($v0) -/* 005170 70004570 0FC1DF0C */ jal sub_GAME_7F077C30 -/* 005174 70004574 8C46000C */ lw $a2, 0xc($v0) -/* 005178 70004578 0FC1DF17 */ jal sub_GAME_7F077C5C -/* 00517C 7000457C 00000000 */ nop -/* 005180 70004580 8FBF0014 */ lw $ra, 0x14($sp) -/* 005184 70004584 27BD0018 */ addiu $sp, $sp, 0x18 -/* 005188 70004588 03E00008 */ jr $ra -/* 00518C 7000458C 00000000 */ nop -) -#endif - - -/** - * 5190 70004590 - * F12->video2 page width [p@800232A8+C] and something else... - */ -#ifdef NONMATCHING -void video_related_21(f32 arg0) -{ - ptr_video_settings2->scale = arg0; - sub_GAME_7F077C30(ptr_video_settings2->aspect, ptr_video_settings2->far, ptr_video_settings2->scale); - sub_GAME_7F077C5C(); -} -#else -GLOBAL_ASM( -.text -glabel video_related_21 -/* 005190 70004590 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 005194 70004594 3C038002 */ lui $v1, %hi(ptr_video_settings2) -/* 005198 70004598 246332A8 */ addiu $v1, %lo(ptr_video_settings2) # addiu $v1, $v1, 0x32a8 -/* 00519C 7000459C E7AC0018 */ swc1 $f12, 0x18($sp) -/* 0051A0 700045A0 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 0051A4 700045A4 8C6E0000 */ lw $t6, ($v1) -/* 0051A8 700045A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0051AC 700045AC E5C4000C */ swc1 $f4, 0xc($t6) -/* 0051B0 700045B0 8C620000 */ lw $v0, ($v1) -/* 0051B4 700045B4 C44C0010 */ lwc1 $f12, 0x10($v0) -/* 0051B8 700045B8 C44E0008 */ lwc1 $f14, 8($v0) -/* 0051BC 700045BC 0FC1DF0C */ jal sub_GAME_7F077C30 -/* 0051C0 700045C0 8C46000C */ lw $a2, 0xc($v0) -/* 0051C4 700045C4 0FC1DF17 */ jal sub_GAME_7F077C5C -/* 0051C8 700045C8 00000000 */ nop -/* 0051CC 700045CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0051D0 700045D0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0051D4 700045D4 03E00008 */ jr $ra -/* 0051D8 700045D8 00000000 */ nop -) -#endif - -/** - * 51DC 700045DC - * F0= [p@800232A8+8]; fry T6 - */ -f32 video_related_23(void) -{ - return ptr_video_settings2->far; -} - -/** - * 51EC 700045EC - */ -#ifdef NONMATCHING -void video_related_24(f32 arg0, f32 arg1) -{ - ptr_video_settings2->far = arg1; - ptr_video_settings2->scale = (f32) (arg0 / arg1); - sub_GAME_7F077C30(ptr_video_settings2->aspect, ptr_video_settings2->far, ptr_video_settings2->scale); - sub_GAME_7F077C5C(); -} -#else -GLOBAL_ASM( -.text -glabel video_related_24 -/* 0051EC 700045EC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0051F0 700045F0 3C038002 */ lui $v1, %hi(ptr_video_settings2) -/* 0051F4 700045F4 246332A8 */ addiu $v1, %lo(ptr_video_settings2) # addiu $v1, $v1, 0x32a8 -/* 0051F8 700045F8 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 0051FC 700045FC C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 005200 70004600 8C6E0000 */ lw $t6, ($v1) -/* 005204 70004604 AFBF0014 */ sw $ra, 0x14($sp) -/* 005208 70004608 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 00520C 7000460C E5C40008 */ swc1 $f4, 8($t6) -/* 005210 70004610 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 005214 70004614 C7A60018 */ lwc1 $f6, 0x18($sp) -/* 005218 70004618 8C6F0000 */ lw $t7, ($v1) -/* 00521C 7000461C 46083283 */ div.s $f10, $f6, $f8 -/* 005220 70004620 E5EA000C */ swc1 $f10, 0xc($t7) -/* 005224 70004624 8C620000 */ lw $v0, ($v1) -/* 005228 70004628 C44C0010 */ lwc1 $f12, 0x10($v0) -/* 00522C 7000462C C44E0008 */ lwc1 $f14, 8($v0) -/* 005230 70004630 0FC1DF0C */ jal sub_GAME_7F077C30 -/* 005234 70004634 8C46000C */ lw $a2, 0xc($v0) -/* 005238 70004638 0FC1DF17 */ jal sub_GAME_7F077C5C -/* 00523C 7000463C 00000000 */ nop -/* 005240 70004640 8FBF0014 */ lw $ra, 0x14($sp) -/* 005244 70004644 27BD0018 */ addiu $sp, $sp, 0x18 -/* 005248 70004648 03E00008 */ jr $ra -/* 00524C 7000464C 00000000 */ nop -) -#endif - -/** - * 5250 70004650 - */ -#ifdef NONMATCHING -void set_page_height(f32 arg0, f32 arg1) -{ - ptr_video_settings2->aspect = arg0; - ptr_video_settings2->unk14 = arg1; - sub_GAME_7F077C30(ptr_video_settings2->aspect, ptr_video_settings2->far, ptr_video_settings2->scale); - sub_GAME_7F077C5C(); -} -#else -GLOBAL_ASM( -.text -glabel set_page_height -/* 005250 70004650 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 005254 70004654 3C038002 */ lui $v1, %hi(ptr_video_settings2) -/* 005258 70004658 246332A8 */ addiu $v1, %lo(ptr_video_settings2) # addiu $v1, $v1, 0x32a8 -/* 00525C 7000465C E7AC0018 */ swc1 $f12, 0x18($sp) -/* 005260 70004660 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 005264 70004664 8C6E0000 */ lw $t6, ($v1) -/* 005268 70004668 AFBF0014 */ sw $ra, 0x14($sp) -/* 00526C 7000466C E7AE001C */ swc1 $f14, 0x1c($sp) -/* 005270 70004670 E5C40010 */ swc1 $f4, 0x10($t6) -/* 005274 70004674 8C6F0000 */ lw $t7, ($v1) -/* 005278 70004678 C7A6001C */ lwc1 $f6, 0x1c($sp) -/* 00527C 7000467C E5E60014 */ swc1 $f6, 0x14($t7) -/* 005280 70004680 8C620000 */ lw $v0, ($v1) -/* 005284 70004684 C44C0010 */ lwc1 $f12, 0x10($v0) -/* 005288 70004688 C44E0008 */ lwc1 $f14, 8($v0) -/* 00528C 7000468C 0FC1DF0C */ jal sub_GAME_7F077C30 -/* 005290 70004690 8C46000C */ lw $a2, 0xc($v0) -/* 005294 70004694 0FC1DF17 */ jal sub_GAME_7F077C5C -/* 005298 70004698 00000000 */ nop -/* 00529C 7000469C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0052A0 700046A0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0052A4 700046A4 03E00008 */ jr $ra -/* 0052A8 700046A8 00000000 */ nop -) -#endif - -/** - * 52AC 700046AC - * copies [p@800232A8+10-14] to A0; fries V0,T6,T7,F4,F6 - */ -#ifdef NONMATCHING -void *video_related_27(void *arg0) -{ - arg0->unk0 = (f32) ptr_video_settings2->aspect; - arg0->unk4 = (f32) ptr_video_settings2->unk14; - return &ptr_video_settings2; -} -#else -GLOBAL_ASM( -.text -glabel video_related_27 -/* 0052AC 700046AC 3C028002 */ lui $v0, %hi(ptr_video_settings2) -/* 0052B0 700046B0 244232A8 */ addiu $v0, %lo(ptr_video_settings2) # addiu $v0, $v0, 0x32a8 -/* 0052B4 700046B4 8C4E0000 */ lw $t6, ($v0) -/* 0052B8 700046B8 C5C40010 */ lwc1 $f4, 0x10($t6) -/* 0052BC 700046BC E4840000 */ swc1 $f4, ($a0) -/* 0052C0 700046C0 8C4F0000 */ lw $t7, ($v0) -/* 0052C4 700046C4 C5E60014 */ lwc1 $f6, 0x14($t7) -/* 0052C8 700046C8 03E00008 */ jr $ra -/* 0052CC 700046CC E4860004 */ swc1 $f6, 4($a0) -) -#endif - -/** - * 52D0 700046D0 - * setfillcolour(&A0,A1,A2,A3); generates a setfillcolour op - * mode determined by flag at 800232AC: 0=32bit, 1=16bit - * accepts: A0=p->display list target, A1=red, A2=green, A3=blue - * returns: V0=updated display list target (A0 also updated) - * fries: V1,A0,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 - */ -#ifdef NONMATCHING -s32 set_setfillcolor(void *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 temp_t5; - - if (coloroutputmode != 0) - { - temp_t5 = ((((arg1 << 8) & 0xf800) | ((arg2 * 8) & 0x7c0)) | ((arg3 >> 2) & 0x3e)) | 1; - arg0->unk0 = 0xf7000000; - arg0->unk4 = (s32) ((temp_t5 << 0x10) | temp_t5); - return arg0 + 8; - } - arg0->unk4 = (s32) ((((arg1 << 0x18) | (arg2 << 0x10)) | (arg3 << 8)) | 0xff); - arg0->unk0 = 0xf7000000; - return arg0 + 8; -} -#else -GLOBAL_ASM( -.text -glabel set_setfillcolor -/* 0052D0 700046D0 3C0E8002 */ lui $t6, %hi(coloroutputmode) -/* 0052D4 700046D4 8DCE32AC */ lw $t6, %lo(coloroutputmode)($t6) -/* 0052D8 700046D8 00801025 */ move $v0, $a0 -/* 0052DC 700046DC 3C18F700 */ lui $t8, 0xf700 -/* 0052E0 700046E0 11C00013 */ beqz $t6, .L70004730 -/* 0052E4 700046E4 00054600 */ sll $t0, $a1, 0x18 -/* 0052E8 700046E8 0005C200 */ sll $t8, $a1, 8 -/* 0052EC 700046EC 000640C0 */ sll $t0, $a2, 3 -/* 0052F0 700046F0 310907C0 */ andi $t1, $t0, 0x7c0 -/* 0052F4 700046F4 3319F800 */ andi $t9, $t8, 0xf800 -/* 0052F8 700046F8 00075883 */ sra $t3, $a3, 2 -/* 0052FC 700046FC 316C003E */ andi $t4, $t3, 0x3e -/* 005300 70004700 03295025 */ or $t2, $t9, $t1 -/* 005304 70004704 014C1825 */ or $v1, $t2, $t4 -/* 005308 70004708 346D0001 */ ori $t5, $v1, 1 -/* 00530C 7000470C 00801025 */ move $v0, $a0 -/* 005310 70004710 3C0FF700 */ lui $t7, 0xf700 -/* 005314 70004714 AC4F0000 */ sw $t7, ($v0) -/* 005318 70004718 000D7400 */ sll $t6, $t5, 0x10 -/* 00531C 7000471C 01CD7825 */ or $t7, $t6, $t5 -/* 005320 70004720 AC4F0004 */ sw $t7, 4($v0) -/* 005324 70004724 24840008 */ addiu $a0, $a0, 8 -/* 005328 70004728 03E00008 */ jr $ra -/* 00532C 7000472C 00801025 */ move $v0, $a0 - -.L70004730: -/* 005330 70004730 0006CC00 */ sll $t9, $a2, 0x10 -/* 005334 70004734 01194825 */ or $t1, $t0, $t9 -/* 005338 70004738 00075A00 */ sll $t3, $a3, 8 -/* 00533C 7000473C 012B5025 */ or $t2, $t1, $t3 -/* 005340 70004740 354C00FF */ ori $t4, $t2, 0xff -/* 005344 70004744 AC4C0004 */ sw $t4, 4($v0) -/* 005348 70004748 24840008 */ addiu $a0, $a0, 8 -/* 00534C 7000474C AC580000 */ sw $t8, ($v0) -/* 005350 70004750 03E00008 */ jr $ra -/* 005354 70004754 00801025 */ move $v0, $a0 -) -#endif - -/** - * 5358 70004758 - * image capture routine, jpeg 16bit colour - */ -#ifdef NONMATCHING -void indy_grab_jpg_16bit(void) -{ - u32 iFileSize; - char iFileName[256]; - - - while( 1 ) { - sprintf(&iFileName,aGrab_D_jpeg_1,jpg_16bit_grabnum); - if (check_file_found_on_indy(&iFileName,&iFileSize) == 0) break; - jpg_16bit_grabnum++; - } - sprintf(&iFileName, &aGrab_D_temp_uix, jpg_16bit_grabnum); - indy_send_capture_data(&iFileName, ptr_video_settings2->frameb, (get_video2_settings_txtClipH() * get_video2_settings_txtClipW() * 2)); - sprintf(&iFileName, &aUix2pixGrab_D_temp_uix, jpg_16bit_grabnum); - response_from_command_string(&iFileName); - sprintf(&iFileName, &aFromaliasGrab_D_temp_pixGrab_D_tem, jpg_16bit_grabnum, jpg_16bit_grabnum); - response_from_command_string(&iFileName); - sprintf(&iFileName, &aImgcopyFjfifGrab_D_temp_rgbGrab_D_, jpg_16bit_grabnum, jpg_16bit_grabnum); - response_from_command_string(&iFileName); - sprintf(&iFileName, &aRmGrab_D_temp_uixGrab_D_temp_pixGr, jpg_16bit_grabnum, jpg_16bit_grabnum); - response_from_command_string(&iFileName); - sprintf(&iFileName, &aImgviewGrab_D_jpeg, jpg_16bit_grabnum); - response_from_command_string(&iFileName); -} -#else -GLOBAL_ASM( -.text -glabel indy_grab_jpg_16bit -/* 005358 70004758 27BDFEC8 */ addiu $sp, $sp, -0x138 -/* 00535C 7000475C AFB10024 */ sw $s1, 0x24($sp) -/* 005360 70004760 AFB20028 */ sw $s2, 0x28($sp) -/* 005364 70004764 AFB00020 */ sw $s0, 0x20($sp) -/* 005368 70004768 3C118003 */ lui $s1, %hi(aGrab_D_jpeg_1) -/* 00536C 7000476C AFBF002C */ sw $ra, 0x2c($sp) -/* 005370 70004770 26318490 */ addiu $s1, %lo(aGrab_D_jpeg_1) # addiu $s1, $s1, -0x7b70 -/* 005374 70004774 27B00038 */ addiu $s0, $sp, 0x38 -/* 005378 70004778 27B20034 */ addiu $s2, $sp, 0x34 -.L7000477C: -/* 00537C 7000477C 3C068002 */ lui $a2, %hi(jpg_16bit_grabnum) -/* 005380 70004780 8CC632C4 */ lw $a2, %lo(jpg_16bit_grabnum)($a2) -/* 005384 70004784 02002025 */ move $a0, $s0 -/* 005388 70004788 0C002B25 */ jal sprintf -/* 00538C 7000478C 02202825 */ move $a1, $s1 -/* 005390 70004790 02002025 */ move $a0, $s0 -/* 005394 70004794 0FC34026 */ jal check_file_found_on_indy -/* 005398 70004798 02402825 */ move $a1, $s2 -/* 00539C 7000479C 10400006 */ beqz $v0, .L700047B8 -/* 0053A0 700047A0 3C068002 */ lui $a2, %hi(jpg_16bit_grabnum) -/* 0053A4 700047A4 8CC632C4 */ lw $a2, %lo(jpg_16bit_grabnum)($a2) -/* 0053A8 700047A8 3C018002 */ lui $at, %hi(jpg_16bit_grabnum) -/* 0053AC 700047AC 24C60001 */ addiu $a2, $a2, 1 -/* 0053B0 700047B0 1000FFF2 */ b .L7000477C -/* 0053B4 700047B4 AC2632C4 */ sw $a2, %lo(jpg_16bit_grabnum)($at) -.L700047B8: -/* 0053B8 700047B8 3C068002 */ lui $a2, %hi(jpg_16bit_grabnum) -/* 0053BC 700047BC 3C058003 */ lui $a1, %hi(aGrab_D_temp_uix) -/* 0053C0 700047C0 8CC632C4 */ lw $a2, %lo(jpg_16bit_grabnum)($a2) -/* 0053C4 700047C4 24A584A0 */ addiu $a1, %lo(aGrab_D_temp_uix) # addiu $a1, $a1, -0x7b60 -/* 0053C8 700047C8 0C002B25 */ jal sprintf -/* 0053CC 700047CC 02002025 */ move $a0, $s0 -/* 0053D0 700047D0 0C001107 */ jal get_video2_settings_txtClipW -/* 0053D4 700047D4 00000000 */ nop -/* 0053D8 700047D8 00028C00 */ sll $s1, $v0, 0x10 -/* 0053DC 700047DC 00117403 */ sra $t6, $s1, 0x10 -/* 0053E0 700047E0 0C00110B */ jal get_video2_settings_txtClipH -/* 0053E4 700047E4 01C08825 */ move $s1, $t6 -/* 0053E8 700047E8 00510019 */ multu $v0, $s1 -/* 0053EC 700047EC 3C0F8002 */ lui $t7, %hi(ptr_video_settings2) -/* 0053F0 700047F0 8DEF32A8 */ lw $t7, %lo(ptr_video_settings2)($t7) -/* 0053F4 700047F4 02002025 */ move $a0, $s0 -/* 0053F8 700047F8 8DE50028 */ lw $a1, 0x28($t7) -/* 0053FC 700047FC 00003012 */ mflo $a2 -/* 005400 70004800 0006C040 */ sll $t8, $a2, 1 -/* 005404 70004804 0FC33FF8 */ jal indy_send_capture_data -/* 005408 70004808 03003025 */ move $a2, $t8 -/* 00540C 7000480C 3C068002 */ lui $a2, %hi(jpg_16bit_grabnum) -/* 005410 70004810 3C058003 */ lui $a1, %hi(aUix2pixGrab_D_temp_uix) -/* 005414 70004814 8CC632C4 */ lw $a2, %lo(jpg_16bit_grabnum)($a2) -/* 005418 70004818 24A584B4 */ addiu $a1, %lo(aUix2pixGrab_D_temp_uix) # addiu $a1, $a1, -0x7b4c -/* 00541C 7000481C 0C002B25 */ jal sprintf -/* 005420 70004820 02002025 */ move $a0, $s0 -/* 005424 70004824 0FC34038 */ jal response_from_command_string -/* 005428 70004828 02002025 */ move $a0, $s0 -/* 00542C 7000482C 3C068002 */ lui $a2, %hi(jpg_16bit_grabnum) -/* 005430 70004830 8CC632C4 */ lw $a2, %lo(jpg_16bit_grabnum)($a2) -/* 005434 70004834 3C058003 */ lui $a1, %hi(aFromaliasGrab_D_temp_pixGrab_D_tem) -/* 005438 70004838 24A584D0 */ addiu $a1, %lo(aFromaliasGrab_D_temp_pixGrab_D_tem) # addiu $a1, $a1, -0x7b30 -/* 00543C 7000483C 02002025 */ move $a0, $s0 -/* 005440 70004840 0C002B25 */ jal sprintf -/* 005444 70004844 00C03825 */ move $a3, $a2 -/* 005448 70004848 0FC34038 */ jal response_from_command_string -/* 00544C 7000484C 02002025 */ move $a0, $s0 -/* 005450 70004850 3C068002 */ lui $a2, %hi(jpg_16bit_grabnum) -/* 005454 70004854 8CC632C4 */ lw $a2, %lo(jpg_16bit_grabnum)($a2) -/* 005458 70004858 3C058003 */ lui $a1, %hi(aImgcopyFjfifGrab_D_temp_rgbGrab_D_) -/* 00545C 7000485C 24A584FC */ addiu $a1, %lo(aImgcopyFjfifGrab_D_temp_rgbGrab_D_) # addiu $a1, $a1, -0x7b04 -/* 005460 70004860 02002025 */ move $a0, $s0 -/* 005464 70004864 0C002B25 */ jal sprintf -/* 005468 70004868 00C03825 */ move $a3, $a2 -/* 00546C 7000486C 0FC34038 */ jal response_from_command_string -/* 005470 70004870 02002025 */ move $a0, $s0 -/* 005474 70004874 3C068002 */ lui $a2, %hi(jpg_16bit_grabnum) -/* 005478 70004878 8CC632C4 */ lw $a2, %lo(jpg_16bit_grabnum)($a2) -/* 00547C 7000487C 3C058003 */ lui $a1, %hi(aRmGrab_D_temp_uixGrab_D_temp_pixGr) -/* 005480 70004880 24A5852C */ addiu $a1, %lo(aRmGrab_D_temp_uixGrab_D_temp_pixGr) # addiu $a1, $a1, -0x7ad4 -/* 005484 70004884 02002025 */ move $a0, $s0 -/* 005488 70004888 00C03825 */ move $a3, $a2 -/* 00548C 7000488C 0C002B25 */ jal sprintf -/* 005490 70004890 AFA60010 */ sw $a2, 0x10($sp) -/* 005494 70004894 0FC34038 */ jal response_from_command_string -/* 005498 70004898 02002025 */ move $a0, $s0 -/* 00549C 7000489C 3C068002 */ lui $a2, %hi(jpg_16bit_grabnum) -/* 0054A0 700048A0 3C058003 */ lui $a1, %hi(aImgviewGrab_D_jpeg) -/* 0054A4 700048A4 8CC632C4 */ lw $a2, %lo(jpg_16bit_grabnum)($a2) -/* 0054A8 700048A8 24A58564 */ addiu $a1, %lo(aImgviewGrab_D_jpeg) # addiu $a1, $a1, -0x7a9c -/* 0054AC 700048AC 0C002B25 */ jal sprintf -/* 0054B0 700048B0 02002025 */ move $a0, $s0 -/* 0054B4 700048B4 0FC34038 */ jal response_from_command_string -/* 0054B8 700048B8 02002025 */ move $a0, $s0 -/* 0054BC 700048BC 8FBF002C */ lw $ra, 0x2c($sp) -/* 0054C0 700048C0 8FB00020 */ lw $s0, 0x20($sp) -/* 0054C4 700048C4 8FB10024 */ lw $s1, 0x24($sp) -/* 0054C8 700048C8 8FB20028 */ lw $s2, 0x28($sp) -/* 0054CC 700048CC 03E00008 */ jr $ra -/* 0054D0 700048D0 27BD0138 */ addiu $sp, $sp, 0x138 -) -#endif - -/** - * 54D4 700048D4 - * image capture routine, jpeg 32bit colour - */ -#ifdef NONMATCHING -void indy_grab_jpg_32bit(void) -{ - char iFileName [256]; - ? sp34; - -loop_1: - sprintf(&iFileName, &aGrab_D_jpeg, jpg_32bit_grabnum); - if (check_file_found_on_indy(&iFileName, &sp34) != 0) - { - jpg_32bit_grabnum = (s32) (jpg_32bit_grabnum + 1); - goto loop_1; - } - sprintf(&iFileName, &aGrab_D_temp_uix_0, jpg_32bit_grabnum); - indy_send_capture_data(&iFileName, &cfb_16_a, (get_video2_settings_txtClipH() * ((s32) (get_video2_settings_txtClipW() << 0x10) >> 0x10)) * 4); - sprintf(&iFileName, &aUix2pixXsDGrab_D_temp_uix, get_video2_settings_txtClipW(), jpg_32bit_grabnum); - response_from_command_string(&iFileName); - sprintf(&iFileName, &aFromaliasGrab_D_temp_pixGrab_D_t_0, jpg_32bit_grabnum, jpg_32bit_grabnum); - response_from_command_string(&iFileName); - sprintf(&iFileName, &aImgcopyFjfifGrab_D_temp_rgbGrab__0, jpg_32bit_grabnum, jpg_32bit_grabnum); - response_from_command_string(&iFileName); - sprintf(&iFileName, &aRmGrab_D_temp_uixGrab_D_temp_pix_0, jpg_32bit_grabnum, jpg_32bit_grabnum); - response_from_command_string(&iFileName); - sprintf(&iFileName, &aImgviewGrab_D_jpeg_0, jpg_32bit_grabnum); - response_from_command_string(&iFileName); -} -#else -GLOBAL_ASM( -.text -glabel indy_grab_jpg_32bit -/* 0054D4 700048D4 27BDFEC8 */ addiu $sp, $sp, -0x138 -/* 0054D8 700048D8 AFB10020 */ sw $s1, 0x20($sp) -/* 0054DC 700048DC AFB20024 */ sw $s2, 0x24($sp) -/* 0054E0 700048E0 AFB0001C */ sw $s0, 0x1c($sp) -/* 0054E4 700048E4 3C118003 */ lui $s1, %hi(aGrab_D_jpeg) -/* 0054E8 700048E8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0054EC 700048EC AFB30028 */ sw $s3, 0x28($sp) -/* 0054F0 700048F0 2631857C */ addiu $s1, %lo(aGrab_D_jpeg) # addiu $s1, $s1, -0x7a84 -/* 0054F4 700048F4 27B00038 */ addiu $s0, $sp, 0x38 -/* 0054F8 700048F8 27B20034 */ addiu $s2, $sp, 0x34 -.L700048FC: -/* 0054FC 700048FC 3C138002 */ lui $s3, %hi(jpg_32bit_grabnum) -/* 005500 70004900 8E6632C8 */ lw $a2, %lo(jpg_32bit_grabnum)($s3) -/* 005504 70004904 02002025 */ move $a0, $s0 -/* 005508 70004908 0C002B25 */ jal sprintf -/* 00550C 7000490C 02202825 */ move $a1, $s1 -/* 005510 70004910 02002025 */ move $a0, $s0 -/* 005514 70004914 0FC34026 */ jal check_file_found_on_indy -/* 005518 70004918 02402825 */ move $a1, $s2 -/* 00551C 7000491C 10400006 */ beqz $v0, .L70004938 -/* 005520 70004920 3C138002 */ lui $s3, %hi(jpg_32bit_grabnum) -/* 005524 70004924 8E7332C8 */ lw $s3, %lo(jpg_32bit_grabnum)($s3) -/* 005528 70004928 3C018002 */ lui $at, %hi(jpg_32bit_grabnum) -/* 00552C 7000492C 26730001 */ addiu $s3, $s3, 1 -/* 005530 70004930 1000FFF2 */ b .L700048FC -/* 005534 70004934 AC3332C8 */ sw $s3, %lo(jpg_32bit_grabnum)($at) -.L70004938: -/* 005538 70004938 3C138002 */ lui $s3, %hi(jpg_32bit_grabnum) -/* 00553C 7000493C 3C058003 */ lui $a1, %hi(aGrab_D_temp_uix_0) -/* 005540 70004940 8E6632C8 */ lw $a2, %lo(jpg_32bit_grabnum)($s3) -/* 005544 70004944 24A5858C */ addiu $a1, %lo(aGrab_D_temp_uix_0) # addiu $a1, $a1, -0x7a74 -/* 005548 70004948 0C002B25 */ jal sprintf -/* 00554C 7000494C 02002025 */ move $a0, $s0 -/* 005550 70004950 0C001107 */ jal get_video2_settings_txtClipW -/* 005554 70004954 00000000 */ nop -/* 005558 70004958 00028C00 */ sll $s1, $v0, 0x10 -/* 00555C 7000495C 00117403 */ sra $t6, $s1, 0x10 -/* 005560 70004960 0C00110B */ jal get_video2_settings_txtClipH -/* 005564 70004964 01C08825 */ move $s1, $t6 -/* 005568 70004968 00510019 */ multu $v0, $s1 -/* 00556C 7000496C 3C05803B */ lui $a1, %hi(cfb_16_a) # $a1, 0x803b -/* 005570 70004970 24A55000 */ addiu $a1, %lo(cfb_16_a) # addiu $a1, $a1, 0x5000 -/* 005574 70004974 02002025 */ move $a0, $s0 -/* 005578 70004978 00003012 */ mflo $a2 -/* 00557C 7000497C 00067880 */ sll $t7, $a2, 2 -/* 005580 70004980 0FC33FF8 */ jal indy_send_capture_data -/* 005584 70004984 01E03025 */ move $a2, $t7 -/* 005588 70004988 0C001107 */ jal get_video2_settings_txtClipW -/* 00558C 7000498C 00000000 */ nop -/* 005590 70004990 3C138002 */ lui $s3, %hi(jpg_32bit_grabnum) -/* 005594 70004994 3C058003 */ lui $a1, %hi(aUix2pixXsDGrab_D_temp_uix) -/* 005598 70004998 24A585A0 */ addiu $a1, %lo(aUix2pixXsDGrab_D_temp_uix) # addiu $a1, $a1, -0x7a60 -/* 00559C 7000499C 8E6732C8 */ lw $a3, %lo(jpg_32bit_grabnum)($s3) -/* 0055A0 700049A0 02002025 */ move $a0, $s0 -/* 0055A4 700049A4 0C002B25 */ jal sprintf -/* 0055A8 700049A8 00403025 */ move $a2, $v0 -/* 0055AC 700049AC 0FC34038 */ jal response_from_command_string -/* 0055B0 700049B0 02002025 */ move $a0, $s0 -/* 0055B4 700049B4 3C138002 */ lui $s3, %hi(jpg_32bit_grabnum) -/* 0055B8 700049B8 8E6732C8 */ lw $a3, %lo(jpg_32bit_grabnum)($s3) -/* 0055BC 700049BC 3C058003 */ lui $a1, %hi(aFromaliasGrab_D_temp_pixGrab_D_t_0) -/* 0055C0 700049C0 24A585C0 */ addiu $a1, %lo(aFromaliasGrab_D_temp_pixGrab_D_t_0) # addiu $a1, $a1, -0x7a40 -/* 0055C4 700049C4 02002025 */ move $a0, $s0 -/* 0055C8 700049C8 0C002B25 */ jal sprintf -/* 0055CC 700049CC 00E03025 */ move $a2, $a3 -/* 0055D0 700049D0 0FC34038 */ jal response_from_command_string -/* 0055D4 700049D4 02002025 */ move $a0, $s0 -/* 0055D8 700049D8 3C138002 */ lui $s3, %hi(jpg_32bit_grabnum) -/* 0055DC 700049DC 8E6732C8 */ lw $a3, %lo(jpg_32bit_grabnum)($s3) -/* 0055E0 700049E0 3C058003 */ lui $a1, %hi(aImgcopyFjfifGrab_D_temp_rgbGrab__0) -/* 0055E4 700049E4 24A585EC */ addiu $a1, %lo(aImgcopyFjfifGrab_D_temp_rgbGrab__0) # addiu $a1, $a1, -0x7a14 -/* 0055E8 700049E8 02002025 */ move $a0, $s0 -/* 0055EC 700049EC 0C002B25 */ jal sprintf -/* 0055F0 700049F0 00E03025 */ move $a2, $a3 -/* 0055F4 700049F4 0FC34038 */ jal response_from_command_string -/* 0055F8 700049F8 02002025 */ move $a0, $s0 -/* 0055FC 700049FC 3C138002 */ lui $s3, %hi(jpg_32bit_grabnum) -/* 005600 70004A00 8E6732C8 */ lw $a3, %lo(jpg_32bit_grabnum)($s3) -/* 005604 70004A04 3C058003 */ lui $a1, %hi(aRmGrab_D_temp_uixGrab_D_temp_pix_0) -/* 005608 70004A08 24A5861C */ addiu $a1, %lo(aRmGrab_D_temp_uixGrab_D_temp_pix_0) # addiu $a1, $a1, -0x79e4 -/* 00560C 70004A0C 02002025 */ move $a0, $s0 -/* 005610 70004A10 00E03025 */ move $a2, $a3 -/* 005614 70004A14 0C002B25 */ jal sprintf -/* 005618 70004A18 AFA70010 */ sw $a3, 0x10($sp) -/* 00561C 70004A1C 0FC34038 */ jal response_from_command_string -/* 005620 70004A20 02002025 */ move $a0, $s0 -/* 005624 70004A24 3C138002 */ lui $s3, %hi(jpg_32bit_grabnum) -/* 005628 70004A28 3C058003 */ lui $a1, %hi(aImgviewGrab_D_jpeg_0) -/* 00562C 70004A2C 8E6632C8 */ lw $a2, %lo(jpg_32bit_grabnum)($s3) -/* 005630 70004A30 24A58654 */ addiu $a1, %lo(aImgviewGrab_D_jpeg_0) # addiu $a1, $a1, -0x79ac -/* 005634 70004A34 0C002B25 */ jal sprintf -/* 005638 70004A38 02002025 */ move $a0, $s0 -/* 00563C 70004A3C 0FC34038 */ jal response_from_command_string -/* 005640 70004A40 02002025 */ move $a0, $s0 -/* 005644 70004A44 8FBF002C */ lw $ra, 0x2c($sp) -/* 005648 70004A48 8FB0001C */ lw $s0, 0x1c($sp) -/* 00564C 70004A4C 8FB10020 */ lw $s1, 0x20($sp) -/* 005650 70004A50 8FB20024 */ lw $s2, 0x24($sp) -/* 005654 70004A54 8FB30028 */ lw $s3, 0x28($sp) -/* 005658 70004A58 03E00008 */ jr $ra -/* 00565C 70004A5C 27BD0138 */ addiu $sp, $sp, 0x138 -) -#endif - -/** - * 5660 70004A60 - * image capture routine, rgb 16bit colour - */ -#ifdef NONMATCHING -void indy_grab_rgb_16bit(void) -{ - ? sp30; - ? sp2C; - -loop_1: - sprintf(&sp30, &aGrab_D_rgb, rgb_16bit_grabnum); - if (check_file_found_on_indy(&sp30, &sp2C) != 0) - { - rgb_16bit_grabnum = (s32) (rgb_16bit_grabnum + 1); - goto loop_1; - } - sprintf(&sp30, &aGrab_D_temp_uix_1, rgb_16bit_grabnum); - indy_send_capture_data(&sp30, ptr_video_settings2->frameb, (get_video2_settings_txtClipH() * ((s32) (get_video2_settings_txtClipW() << 0x10) >> 0x10)) * 2); - sprintf(&sp30, &aUix2pixGrab_D_temp_uix_0, rgb_16bit_grabnum); - response_from_command_string(&sp30); - sprintf(&sp30, &aFromaliasGrab_D_temp_pixGrab_D_rgb, rgb_16bit_grabnum, rgb_16bit_grabnum); - response_from_command_string(&sp30); - sprintf(&sp30, &aRmGrab_D_temp_uixGrab_D_temp_pix, rgb_16bit_grabnum, rgb_16bit_grabnum); - response_from_command_string(&sp30); - sprintf(&sp30, &aImgviewGrab_D_rgb, rgb_16bit_grabnum); - response_from_command_string(&sp30); -} -#else -GLOBAL_ASM( -.text -glabel indy_grab_rgb_16bit -/* 005660 70004A60 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 005664 70004A64 AFB1001C */ sw $s1, 0x1c($sp) -/* 005668 70004A68 AFB20020 */ sw $s2, 0x20($sp) -/* 00566C 70004A6C AFB00018 */ sw $s0, 0x18($sp) -/* 005670 70004A70 3C118003 */ lui $s1, %hi(aGrab_D_rgb) -/* 005674 70004A74 AFBF0024 */ sw $ra, 0x24($sp) -/* 005678 70004A78 2631866C */ addiu $s1, %lo(aGrab_D_rgb) # addiu $s1, $s1, -0x7994 -/* 00567C 70004A7C 27B00030 */ addiu $s0, $sp, 0x30 -/* 005680 70004A80 27B2002C */ addiu $s2, $sp, 0x2c -.L70004A84: -/* 005684 70004A84 3C068002 */ lui $a2, %hi(rgb_16bit_grabnum) -/* 005688 70004A88 8CC632CC */ lw $a2, %lo(rgb_16bit_grabnum)($a2) -/* 00568C 70004A8C 02002025 */ move $a0, $s0 -/* 005690 70004A90 0C002B25 */ jal sprintf -/* 005694 70004A94 02202825 */ move $a1, $s1 -/* 005698 70004A98 02002025 */ move $a0, $s0 -/* 00569C 70004A9C 0FC34026 */ jal check_file_found_on_indy -/* 0056A0 70004AA0 02402825 */ move $a1, $s2 -/* 0056A4 70004AA4 10400006 */ beqz $v0, .L70004AC0 -/* 0056A8 70004AA8 3C068002 */ lui $a2, %hi(rgb_16bit_grabnum) -/* 0056AC 70004AAC 8CC632CC */ lw $a2, %lo(rgb_16bit_grabnum)($a2) -/* 0056B0 70004AB0 3C018002 */ lui $at, %hi(rgb_16bit_grabnum) -/* 0056B4 70004AB4 24C60001 */ addiu $a2, $a2, 1 -/* 0056B8 70004AB8 1000FFF2 */ b .L70004A84 -/* 0056BC 70004ABC AC2632CC */ sw $a2, %lo(rgb_16bit_grabnum)($at) -.L70004AC0: -/* 0056C0 70004AC0 3C068002 */ lui $a2, %hi(rgb_16bit_grabnum) -/* 0056C4 70004AC4 3C058003 */ lui $a1, %hi(aGrab_D_temp_uix_1) -/* 0056C8 70004AC8 8CC632CC */ lw $a2, %lo(rgb_16bit_grabnum)($a2) -/* 0056CC 70004ACC 24A58678 */ addiu $a1, %lo(aGrab_D_temp_uix_1) # addiu $a1, $a1, -0x7988 -/* 0056D0 70004AD0 0C002B25 */ jal sprintf -/* 0056D4 70004AD4 02002025 */ move $a0, $s0 -/* 0056D8 70004AD8 0C001107 */ jal get_video2_settings_txtClipW -/* 0056DC 70004ADC 00000000 */ nop -/* 0056E0 70004AE0 00028C00 */ sll $s1, $v0, 0x10 -/* 0056E4 70004AE4 00117403 */ sra $t6, $s1, 0x10 -/* 0056E8 70004AE8 0C00110B */ jal get_video2_settings_txtClipH -/* 0056EC 70004AEC 01C08825 */ move $s1, $t6 -/* 0056F0 70004AF0 00510019 */ multu $v0, $s1 -/* 0056F4 70004AF4 3C0F8002 */ lui $t7, %hi(ptr_video_settings2) -/* 0056F8 70004AF8 8DEF32A8 */ lw $t7, %lo(ptr_video_settings2)($t7) -/* 0056FC 70004AFC 02002025 */ move $a0, $s0 -/* 005700 70004B00 8DE50028 */ lw $a1, 0x28($t7) -/* 005704 70004B04 00003012 */ mflo $a2 -/* 005708 70004B08 0006C040 */ sll $t8, $a2, 1 -/* 00570C 70004B0C 0FC33FF8 */ jal indy_send_capture_data -/* 005710 70004B10 03003025 */ move $a2, $t8 -/* 005714 70004B14 3C068002 */ lui $a2, %hi(rgb_16bit_grabnum) -/* 005718 70004B18 3C058003 */ lui $a1, %hi(aUix2pixGrab_D_temp_uix_0) -/* 00571C 70004B1C 8CC632CC */ lw $a2, %lo(rgb_16bit_grabnum)($a2) -/* 005720 70004B20 24A5868C */ addiu $a1, %lo(aUix2pixGrab_D_temp_uix_0) # addiu $a1, $a1, -0x7974 -/* 005724 70004B24 0C002B25 */ jal sprintf -/* 005728 70004B28 02002025 */ move $a0, $s0 -/* 00572C 70004B2C 0FC34038 */ jal response_from_command_string -/* 005730 70004B30 02002025 */ move $a0, $s0 -/* 005734 70004B34 3C068002 */ lui $a2, %hi(rgb_16bit_grabnum) -/* 005738 70004B38 8CC632CC */ lw $a2, %lo(rgb_16bit_grabnum)($a2) -/* 00573C 70004B3C 3C058003 */ lui $a1, %hi(aFromaliasGrab_D_temp_pixGrab_D_rgb) -/* 005740 70004B40 24A586A8 */ addiu $a1, %lo(aFromaliasGrab_D_temp_pixGrab_D_rgb) # addiu $a1, $a1, -0x7958 -/* 005744 70004B44 02002025 */ move $a0, $s0 -/* 005748 70004B48 0C002B25 */ jal sprintf -/* 00574C 70004B4C 00C03825 */ move $a3, $a2 -/* 005750 70004B50 0FC34038 */ jal response_from_command_string -/* 005754 70004B54 02002025 */ move $a0, $s0 -/* 005758 70004B58 3C068002 */ lui $a2, %hi(rgb_16bit_grabnum) -/* 00575C 70004B5C 8CC632CC */ lw $a2, %lo(rgb_16bit_grabnum)($a2) -/* 005760 70004B60 3C058003 */ lui $a1, %hi(aRmGrab_D_temp_uixGrab_D_temp_pix) -/* 005764 70004B64 24A586D0 */ addiu $a1, %lo(aRmGrab_D_temp_uixGrab_D_temp_pix) # addiu $a1, $a1, -0x7930 -/* 005768 70004B68 02002025 */ move $a0, $s0 -/* 00576C 70004B6C 0C002B25 */ jal sprintf -/* 005770 70004B70 00C03825 */ move $a3, $a2 -/* 005774 70004B74 0FC34038 */ jal response_from_command_string -/* 005778 70004B78 02002025 */ move $a0, $s0 -/* 00577C 70004B7C 3C068002 */ lui $a2, %hi(rgb_16bit_grabnum) -/* 005780 70004B80 3C058003 */ lui $a1, %hi(aImgviewGrab_D_rgb) -/* 005784 70004B84 8CC632CC */ lw $a2, %lo(rgb_16bit_grabnum)($a2) -/* 005788 70004B88 24A586F8 */ addiu $a1, %lo(aImgviewGrab_D_rgb) # addiu $a1, $a1, -0x7908 -/* 00578C 70004B8C 0C002B25 */ jal sprintf -/* 005790 70004B90 02002025 */ move $a0, $s0 -/* 005794 70004B94 0FC34038 */ jal response_from_command_string -/* 005798 70004B98 02002025 */ move $a0, $s0 -/* 00579C 70004B9C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0057A0 70004BA0 8FB00018 */ lw $s0, 0x18($sp) -/* 0057A4 70004BA4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0057A8 70004BA8 8FB20020 */ lw $s2, 0x20($sp) -/* 0057AC 70004BAC 03E00008 */ jr $ra -/* 0057B0 70004BB0 27BD0130 */ addiu $sp, $sp, 0x130 -) -#endif - -/** - * 57B4 70004BB4 - * image capture routine, rgb 32bit colour - */ -#ifdef NONMATCHING -void indy_grab_rgb_32bit(void) -{ - ? sp30; - ? sp2C; - -loop_1: - sprintf(&sp30, &aGrab_D_rgb_0, rgb_32bit_grabnum); - if (check_file_found_on_indy(&sp30, &sp2C) != 0) - { - rgb_32bit_grabnum = (s32) (rgb_32bit_grabnum + 1); - goto loop_1; - } - sprintf(&sp30, &aGrab_D_temp_uix_2, rgb_32bit_grabnum); - indy_send_capture_data(&sp30, &cfb_16_a, (get_video2_settings_txtClipH() * ((s32) (get_video2_settings_txtClipW() << 0x10) >> 0x10)) * 4); - sprintf(&sp30, &aUix2pixXsDGrab_D_temp_uix_0, get_video2_settings_txtClipW(), rgb_32bit_grabnum); - response_from_command_string(&sp30); - sprintf(&sp30, &aFromaliasGrab_D_temp_pixGrab_D_r_0, rgb_32bit_grabnum, rgb_32bit_grabnum); - response_from_command_string(&sp30); - sprintf(&sp30, &aRmGrab_D_temp_uixGrab_D_temp_pix_1, rgb_32bit_grabnum, rgb_32bit_grabnum); - response_from_command_string(&sp30); - sprintf(&sp30, &aImgviewGrab_D_rgb_0, rgb_32bit_grabnum); - response_from_command_string(&sp30); -} -#else -GLOBAL_ASM( -.text -glabel indy_grab_rgb_32bit -/* 0057B4 70004BB4 27BDFED0 */ addiu $sp, $sp, -0x130 -/* 0057B8 70004BB8 AFB10018 */ sw $s1, 0x18($sp) -/* 0057BC 70004BBC AFB2001C */ sw $s2, 0x1c($sp) -/* 0057C0 70004BC0 AFB00014 */ sw $s0, 0x14($sp) -/* 0057C4 70004BC4 3C118003 */ lui $s1, %hi(aGrab_D_rgb_0) -/* 0057C8 70004BC8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0057CC 70004BCC AFB30020 */ sw $s3, 0x20($sp) -/* 0057D0 70004BD0 2631870C */ addiu $s1, %lo(aGrab_D_rgb_0) # addiu $s1, $s1, -0x78f4 -/* 0057D4 70004BD4 27B00030 */ addiu $s0, $sp, 0x30 -/* 0057D8 70004BD8 27B2002C */ addiu $s2, $sp, 0x2c -.L70004BDC: -/* 0057DC 70004BDC 3C138002 */ lui $s3, %hi(rgb_32bit_grabnum) -/* 0057E0 70004BE0 8E6632D0 */ lw $a2, %lo(rgb_32bit_grabnum)($s3) -/* 0057E4 70004BE4 02002025 */ move $a0, $s0 -/* 0057E8 70004BE8 0C002B25 */ jal sprintf -/* 0057EC 70004BEC 02202825 */ move $a1, $s1 -/* 0057F0 70004BF0 02002025 */ move $a0, $s0 -/* 0057F4 70004BF4 0FC34026 */ jal check_file_found_on_indy -/* 0057F8 70004BF8 02402825 */ move $a1, $s2 -/* 0057FC 70004BFC 10400006 */ beqz $v0, .L70004C18 -/* 005800 70004C00 3C138002 */ lui $s3, %hi(rgb_32bit_grabnum) -/* 005804 70004C04 8E7332D0 */ lw $s3, %lo(rgb_32bit_grabnum)($s3) -/* 005808 70004C08 3C018002 */ lui $at, %hi(rgb_32bit_grabnum) -/* 00580C 70004C0C 26730001 */ addiu $s3, $s3, 1 -/* 005810 70004C10 1000FFF2 */ b .L70004BDC -/* 005814 70004C14 AC3332D0 */ sw $s3, %lo(rgb_32bit_grabnum)($at) -.L70004C18: -/* 005818 70004C18 3C138002 */ lui $s3, %hi(rgb_32bit_grabnum) -/* 00581C 70004C1C 3C058003 */ lui $a1, %hi(aGrab_D_temp_uix_2) -/* 005820 70004C20 8E6632D0 */ lw $a2, %lo(rgb_32bit_grabnum)($s3) -/* 005824 70004C24 24A58718 */ addiu $a1, %lo(aGrab_D_temp_uix_2) # addiu $a1, $a1, -0x78e8 -/* 005828 70004C28 0C002B25 */ jal sprintf -/* 00582C 70004C2C 02002025 */ move $a0, $s0 -/* 005830 70004C30 0C001107 */ jal get_video2_settings_txtClipW -/* 005834 70004C34 00000000 */ nop -/* 005838 70004C38 00028C00 */ sll $s1, $v0, 0x10 -/* 00583C 70004C3C 00117403 */ sra $t6, $s1, 0x10 -/* 005840 70004C40 0C00110B */ jal get_video2_settings_txtClipH -/* 005844 70004C44 01C08825 */ move $s1, $t6 -/* 005848 70004C48 00510019 */ multu $v0, $s1 -/* 00584C 70004C4C 3C05803B */ lui $a1, %hi(cfb_16_a) # $a1, 0x803b -/* 005850 70004C50 24A55000 */ addiu $a1, %lo(cfb_16_a) # addiu $a1, $a1, 0x5000 -/* 005854 70004C54 02002025 */ move $a0, $s0 -/* 005858 70004C58 00003012 */ mflo $a2 -/* 00585C 70004C5C 00067880 */ sll $t7, $a2, 2 -/* 005860 70004C60 0FC33FF8 */ jal indy_send_capture_data -/* 005864 70004C64 01E03025 */ move $a2, $t7 -/* 005868 70004C68 0C001107 */ jal get_video2_settings_txtClipW -/* 00586C 70004C6C 00000000 */ nop -/* 005870 70004C70 3C138002 */ lui $s3, %hi(rgb_32bit_grabnum) -/* 005874 70004C74 3C058003 */ lui $a1, %hi(aUix2pixXsDGrab_D_temp_uix_0) -/* 005878 70004C78 24A5872C */ addiu $a1, %lo(aUix2pixXsDGrab_D_temp_uix_0) # addiu $a1, $a1, -0x78d4 -/* 00587C 70004C7C 8E6732D0 */ lw $a3, %lo(rgb_32bit_grabnum)($s3) -/* 005880 70004C80 02002025 */ move $a0, $s0 -/* 005884 70004C84 0C002B25 */ jal sprintf -/* 005888 70004C88 00403025 */ move $a2, $v0 -/* 00588C 70004C8C 0FC34038 */ jal response_from_command_string -/* 005890 70004C90 02002025 */ move $a0, $s0 -/* 005894 70004C94 3C138002 */ lui $s3, %hi(rgb_32bit_grabnum) -/* 005898 70004C98 8E6732D0 */ lw $a3, %lo(rgb_32bit_grabnum)($s3) -/* 00589C 70004C9C 3C058003 */ lui $a1, %hi(aFromaliasGrab_D_temp_pixGrab_D_r_0) -/* 0058A0 70004CA0 24A5874C */ addiu $a1, %lo(aFromaliasGrab_D_temp_pixGrab_D_r_0) # addiu $a1, $a1, -0x78b4 -/* 0058A4 70004CA4 02002025 */ move $a0, $s0 -/* 0058A8 70004CA8 0C002B25 */ jal sprintf -/* 0058AC 70004CAC 00E03025 */ move $a2, $a3 -/* 0058B0 70004CB0 0FC34038 */ jal response_from_command_string -/* 0058B4 70004CB4 02002025 */ move $a0, $s0 -/* 0058B8 70004CB8 3C138002 */ lui $s3, %hi(rgb_32bit_grabnum) -/* 0058BC 70004CBC 8E6732D0 */ lw $a3, %lo(rgb_32bit_grabnum)($s3) -/* 0058C0 70004CC0 3C058003 */ lui $a1, %hi(aRmGrab_D_temp_uixGrab_D_temp_pix_1) -/* 0058C4 70004CC4 24A58774 */ addiu $a1, %lo(aRmGrab_D_temp_uixGrab_D_temp_pix_1) # addiu $a1, $a1, -0x788c -/* 0058C8 70004CC8 02002025 */ move $a0, $s0 -/* 0058CC 70004CCC 0C002B25 */ jal sprintf -/* 0058D0 70004CD0 00E03025 */ move $a2, $a3 -/* 0058D4 70004CD4 0FC34038 */ jal response_from_command_string -/* 0058D8 70004CD8 02002025 */ move $a0, $s0 -/* 0058DC 70004CDC 3C138002 */ lui $s3, %hi(rgb_32bit_grabnum) -/* 0058E0 70004CE0 3C058003 */ lui $a1, %hi(aImgviewGrab_D_rgb_0) -/* 0058E4 70004CE4 8E6632D0 */ lw $a2, %lo(rgb_32bit_grabnum)($s3) -/* 0058E8 70004CE8 24A5879C */ addiu $a1, %lo(aImgviewGrab_D_rgb_0) # addiu $a1, $a1, -0x7864 -/* 0058EC 70004CEC 0C002B25 */ jal sprintf -/* 0058F0 70004CF0 02002025 */ move $a0, $s0 -/* 0058F4 70004CF4 0FC34038 */ jal response_from_command_string -/* 0058F8 70004CF8 02002025 */ move $a0, $s0 -/* 0058FC 70004CFC 8FBF0024 */ lw $ra, 0x24($sp) -/* 005900 70004D00 8FB00014 */ lw $s0, 0x14($sp) -/* 005904 70004D04 8FB10018 */ lw $s1, 0x18($sp) -/* 005908 70004D08 8FB2001C */ lw $s2, 0x1c($sp) -/* 00590C 70004D0C 8FB30020 */ lw $s3, 0x20($sp) -/* 005910 70004D10 03E00008 */ jr $ra -/* 005914 70004D14 27BD0130 */ addiu $sp, $sp, 0x130 -) -#endif diff --git a/src/video.h b/src/video.h deleted file mode 100644 index 1e65243..0000000 --- a/src/video.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _VIDEO_H_ -#define _VIDEO_H_ -#include "ultra64.h" - -typedef struct video_settings video_settings, *Pvideo_settings; - -struct video_settings { - int mode; - short txtClipW; - short txtClipH; - f32 far; - f32 scale; - f32 aspect; - f32 anonymous_6; - short somethingW; - short somethingH; - short width; - short height; - short ulx; - short uly; - int anonymous_12; - u8* frameb; -}; - -#endif - - diff --git a/tools/1172compress.sh b/tools/1172compress.sh deleted file mode 100755 index 9d0ba6e..0000000 --- a/tools/1172compress.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -if [ ! -f header.tmp ]; then - echo -n -e \\x11\\x72 > header.tmp -fi -cat $1| tools/gzip --no-name --best | tail --bytes=+11 | head --bytes=-8 > $1.tmp -cat header.tmp $1.tmp > $2 -rm $1.tmp diff --git a/tools/RareZip.sh b/tools/RareZip.sh deleted file mode 100755 index 9fdf520..0000000 --- a/tools/RareZip.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -if [ $1 == '--decompress' ] -then - # Add the gZip Header to a new file using the name given in command - echo -n -e \\x1F\\x8B\\x08\\x00\\x00\\x00\\x00\\x00\\x02\\x03 > $2 - # Add the contents of the compressed file minus the 1172 to the new file - cat $2Z | tail --bytes=+3 >> $2 - # copy the new file over the old compressed file - cat $2 > $2Z - # decompress the Z file to the filename given in the command - cat $2Z | gzip --decompress > $2 - # remove the compressed Z file - rm $2Z - echo Successfully Decompressed $2 - -elif [ $1 == '-?' ] || [ $1 == '-help' ] -then - echo Compress File and remove extra Data - echo Usage: - echo -e "\t RareZip [--decompress] File" - echo -e "\t Example:" - echo -e "\t\t RareZip Pppk" - echo -e "\t Output:" - echo -e "\t\t PppkZ (compressed)" - echo -e "\t Example:" - echo -e "\t\t RareZip --decompress Pppk" - echo -e "\t Output:" - echo -e "\t\t Pppk (uncompressed)" -else - # Add 1172 header to new Z file - echo -n -e \\x11\\x72 > $1Z - # Compress file given in command and trim then append to 1172 Z file - gzip --no-name -c $1 | tail --bytes=+11 | head --bytes=-8 >> $1Z - # Remove original file, can be recovered using decompress - rm $1 - echo Successfully Compressed $1 -fi diff --git a/tools/SGIImageViewer.exe b/tools/SGIImageViewer.exe deleted file mode 100644 index a4c5490..0000000 Binary files a/tools/SGIImageViewer.exe and /dev/null differ diff --git a/tools/SGIImgView.png b/tools/SGIImgView.png deleted file mode 100644 index f5e5967..0000000 Binary files a/tools/SGIImgView.png and /dev/null differ diff --git a/tools/asmpreproc/asm-processor.py b/tools/asmpreproc/asm-processor.py deleted file mode 100755 index cbfd6b8..0000000 --- a/tools/asmpreproc/asm-processor.py +++ /dev/null @@ -1,806 +0,0 @@ -#!/usr/bin/env python3 -import argparse -import tempfile -import struct -import copy -import sys -import re -import os - -EI_NIDENT = 16 -EI_CLASS = 4 -EI_DATA = 5 -EI_VERSION = 6 -EI_OSABI = 7 -EI_ABIVERSION = 8 -STN_UNDEF = 0 - -SHN_UNDEF = 0 -SHN_ABS = 0xfff1 -SHN_COMMON = 0xfff2 -SHN_XINDEX = 0xffff -SHN_LORESERVE = 0xff00 - -STT_NOTYPE = 0 -STT_OBJECT = 1 -STT_FUNC = 2 -STT_SECTION = 3 -STT_FILE = 4 -STT_COMMON = 5 -STT_TLS = 6 - -STB_LOCAL = 0 -STB_GLOBAL = 1 -STB_WEAK = 2 - -STV_DEFAULT = 0 -STV_INTERNAL = 1 -STV_HIDDEN = 2 -STV_PROTECTED = 3 - -SHT_NULL = 0 -SHT_PROGBITS = 1 -SHT_SYMTAB = 2 -SHT_STRTAB = 3 -SHT_RELA = 4 -SHT_HASH = 5 -SHT_DYNAMIC = 6 -SHT_NOTE = 7 -SHT_NOBITS = 8 -SHT_REL = 9 -SHT_SHLIB = 10 -SHT_DYNSYM = 11 -SHT_INIT_ARRAY = 14 -SHT_FINI_ARRAY = 15 -SHT_PREINIT_ARRAY = 16 -SHT_GROUP = 17 -SHT_SYMTAB_SHNDX = 18 -SHT_MIPS_GPTAB = 0x70000003 -SHT_MIPS_DEBUG = 0x70000005 -SHT_MIPS_REGINFO = 0x70000006 -SHT_MIPS_OPTIONS = 0x7000000d - -SHF_WRITE = 0x1 -SHF_ALLOC = 0x2 -SHF_EXECINSTR = 0x4 -SHF_MERGE = 0x10 -SHF_STRINGS = 0x20 -SHF_INFO_LINK = 0x40 -SHF_LINK_ORDER = 0x80 -SHF_OS_NONCONFORMING = 0x100 -SHF_GROUP = 0x200 -SHF_TLS = 0x400 - -R_MIPS_32 = 2 -R_MIPS_26 = 4 -R_MIPS_HI16 = 5 -R_MIPS_LO16 = 6 - - -class ElfHeader: - """ - typedef struct { - unsigned char e_ident[EI_NIDENT]; - Elf32_Half e_type; - Elf32_Half e_machine; - Elf32_Word e_version; - Elf32_Addr e_entry; - Elf32_Off e_phoff; - Elf32_Off e_shoff; - Elf32_Word e_flags; - Elf32_Half e_ehsize; - Elf32_Half e_phentsize; - Elf32_Half e_phnum; - Elf32_Half e_shentsize; - Elf32_Half e_shnum; - Elf32_Half e_shstrndx; - } Elf32_Ehdr; - """ - - def __init__(self, data): - self.e_ident = data[:EI_NIDENT] - self.e_type, self.e_machine, self.e_version, self.e_entry, self.e_phoff, self.e_shoff, self.e_flags, self.e_ehsize, self.e_phentsize, self.e_phnum, self.e_shentsize, self.e_shnum, self.e_shstrndx = struct.unpack('>HHIIIIIHHHHHH', data[EI_NIDENT:]) - assert self.e_ident[EI_CLASS] == 1 # 32-bit - assert self.e_ident[EI_DATA] == 2 # big-endian - assert self.e_type == 1 # relocatable - assert self.e_machine == 8 # MIPS I Architecture - assert self.e_phoff == 0 # no program header - assert self.e_shoff != 0 # section header - assert self.e_shstrndx != SHN_UNDEF - - def to_bin(self): - return self.e_ident + struct.pack('>HHIIIIIHHHHHH', self.e_type, - self.e_machine, self.e_version, self.e_entry, self.e_phoff, - self.e_shoff, self.e_flags, self.e_ehsize, self.e_phentsize, - self.e_phnum, self.e_shentsize, self.e_shnum, self.e_shstrndx) - - -class Symbol: - """ - typedef struct { - Elf32_Word st_name; - Elf32_Addr st_value; - Elf32_Word st_size; - unsigned char st_info; - unsigned char st_other; - Elf32_Half st_shndx; - } Elf32_Sym; - """ - - def __init__(self, data, strtab): - self.st_name, self.st_value, self.st_size, st_info, self.st_other, self.st_shndx = struct.unpack('>IIIBBH', data) - assert self.st_shndx != SHN_XINDEX, "too many sections (SHN_XINDEX not supported)" - self.bind = st_info >> 4 - self.type = st_info & 15 - self.name = strtab.lookup_str(self.st_name) - self.visibility = self.st_other & 3 - - def to_bin(self): - st_info = (self.bind << 4) | self.type - return struct.pack('>IIIBBH', self.st_name, self.st_value, self.st_size, st_info, self.st_other, self.st_shndx) - - -class Relocation: - def __init__(self, data, sh_type): - self.sh_type = sh_type - if sh_type == SHT_REL: - self.r_offset, self.r_info = struct.unpack('>II', data) - else: - self.r_offset, self.r_info, self.r_addend = struct.unpack('>III', data) - self.sym_index = self.r_info >> 8 - self.rel_type = self.r_info & 0xff - - def to_bin(self): - self.r_info = (self.sym_index << 8) | self.rel_type - if self.sh_type == SHT_REL: - return struct.pack('>II', self.r_offset, self.r_info) - else: - return struct.pack('>III', self.r_offset, self.r_info, self.r_addend) - - -class Section: - """ - typedef struct { - Elf32_Word sh_name; - Elf32_Word sh_type; - Elf32_Word sh_flags; - Elf32_Addr sh_addr; - Elf32_Off sh_offset; - Elf32_Word sh_size; - Elf32_Word sh_link; - Elf32_Word sh_info; - Elf32_Word sh_addralign; - Elf32_Word sh_entsize; - } Elf32_Shdr; - """ - - def __init__(self, header, data, index): - self.sh_name, self.sh_type, self.sh_flags, self.sh_addr, self.sh_offset, self.sh_size, self.sh_link, self.sh_info, self.sh_addralign, self.sh_entsize = struct.unpack('>IIIIIIIIII', header) - assert not self.sh_flags & SHF_LINK_ORDER - if self.sh_entsize != 0: - assert self.sh_size % self.sh_entsize == 0 - if self.sh_type == SHT_NOBITS: - self.data = '' - else: - self.data = data[self.sh_offset:self.sh_offset + self.sh_size] - self.index = index - self.relocated_by = [] - - @staticmethod - def from_parts(sh_name, sh_type, sh_flags, sh_link, sh_info, sh_addralign, sh_entsize, data, index): - header = struct.pack('>IIIIIIIIII', sh_name, sh_type, sh_flags, 0, 0, len(data), sh_link, sh_info, sh_addralign, sh_entsize) - return Section(header, data, index) - - def lookup_str(self, index): - assert self.sh_type == SHT_STRTAB - to = self.data.find(b'\0', index) - assert to != -1 - return self.data[index:to].decode('utf-8') - - def add_str(self, string): - assert self.sh_type == SHT_STRTAB - ret = len(self.data) - self.data += bytes(string, 'utf-8') + b'\0' - return ret - - def is_rel(self): - return self.sh_type == SHT_REL or self.sh_type == SHT_RELA - - def header_to_bin(self): - if self.sh_type != SHT_NOBITS: - self.sh_size = len(self.data) - return struct.pack('>IIIIIIIIII', self.sh_name, self.sh_type, self.sh_flags, self.sh_addr, self.sh_offset, self.sh_size, self.sh_link, self.sh_info, self.sh_addralign, self.sh_entsize) - - def late_init(self, sections): - if self.sh_type == SHT_SYMTAB: - self.init_symbols(sections) - elif self.is_rel(): - self.rel_target = sections[self.sh_info] - self.rel_target.relocated_by.append(self) - self.init_relocs() - - def find_symbol(self, name): - assert self.sh_type == SHT_SYMTAB - for s in self.symbol_entries: - if s.name == name: - return (s.st_shndx, s.st_value) - return None - - def init_symbols(self, sections): - assert self.sh_type == SHT_SYMTAB - assert self.sh_entsize == 16 - self.strtab = sections[self.sh_link] - entries = [] - for i in range(0, self.sh_size, self.sh_entsize): - entries.append(Symbol(self.data[i:i+self.sh_entsize], self.strtab)) - self.symbol_entries = entries - - def init_relocs(self): - assert self.is_rel() - entries = [] - for i in range(0, self.sh_size, self.sh_entsize): - entries.append(Relocation(self.data[i:i+self.sh_entsize], self.sh_type)) - self.relocations = entries - - def local_symbols(self): - assert self.sh_type == SHT_SYMTAB - return self.symbol_entries[:self.sh_info] - - def global_symbols(self): - assert self.sh_type == SHT_SYMTAB - return self.symbol_entries[self.sh_info:] - - -class ElfFile: - def __init__(self, data): - self.data = data - assert data[:4] == b'\x7fELF', "not an ELF file" - - self.elf_header = ElfHeader(data[0:52]) - - offset, size = self.elf_header.e_shoff, self.elf_header.e_shentsize - null_section = Section(data[offset:offset + size], data, 0) - num_sections = self.elf_header.e_shnum or null_section.sh_size - - self.sections = [null_section] - for i in range(1, num_sections): - ind = offset + i * size - self.sections.append(Section(data[ind:ind + size], data, i)) - - symtab = None - for s in self.sections: - if s.sh_type == SHT_SYMTAB: - assert not symtab - symtab = s - assert symtab is not None - self.symtab = symtab - - shstr = self.sections[self.elf_header.e_shstrndx] - for s in self.sections: - s.name = shstr.lookup_str(s.sh_name) - s.late_init(self.sections) - - def find_section(self, name): - for s in self.sections: - if s.name == name: - return s - return None - - def add_section(self, name, sh_type, sh_flags, sh_link, sh_info, sh_addralign, sh_entsize, data): - shstr = self.sections[self.elf_header.e_shstrndx] - sh_name = shstr.add_str(name) - s = Section.from_parts(sh_name=sh_name, sh_type=sh_type, - sh_flags=sh_flags, sh_link=sh_link, sh_info=sh_info, - sh_addralign=sh_addralign, sh_entsize=sh_entsize, data=data, - index=len(self.sections)) - self.sections.append(s) - s.name = name - s.late_init(self.sections) - return s - - def drop_irrelevant_sections(self): - # We can only drop sections at the end, since otherwise section - # references might be wrong. Luckily, these sections typically are. - while self.sections[-1].sh_type in [SHT_MIPS_DEBUG, SHT_MIPS_GPTAB]: - self.sections.pop() - - def write(self, filename): - outfile = open(filename, 'wb') - outidx = 0 - def write_out(data): - nonlocal outidx - outfile.write(data) - outidx += len(data) - def pad_out(align): - if align and outidx % align: - write_out(b'\0' * (align - outidx % align)) - - self.elf_header.e_shnum = len(self.sections) - write_out(self.elf_header.to_bin()) - - for s in self.sections: - if s.sh_type != SHT_NOBITS and s.sh_type != SHT_NULL: - pad_out(s.sh_addralign) - s.sh_offset = outidx - write_out(s.data) - - pad_out(4) - self.elf_header.e_shoff = outidx - for s in self.sections: - write_out(s.header_to_bin()) - - outfile.seek(0) - outfile.write(self.elf_header.to_bin()) - outfile.close() - - -def is_temp_name(name): - return name.startswith('_asmpp_') - -def parse_source(f, print_source, optimized, framepointer): - if optimized: - if framepointer: - min_instr_count = 6 - skip_instr_count = 5 - else: - min_instr_count = 2 - skip_instr_count = 1 - else: - if framepointer: - min_instr_count = 7 - skip_instr_count = 7 - else: - min_instr_count = 4 - skip_instr_count = 4 - MAX_FN_SIZE = 100 - SECTIONS = ['.data', '.text', '.rodata', '.late_rodata', '.bss'] - - in_asm = False - fn_section_sizes = None - fn_ins_inds = None - asm_conts = [] - late_rodata_asm_conts = None - first_fn_name = None - cur_section = None - start_index = None - asm_functions = [] - output_lines = [] - - # A value that hopefully never appears as a 32-bit rodata constant (or we - # miscompile late rodata). Increases by 1 in each step. - cur_late_rodata_hex = 0xE0123456 - - namectr = 0 - def make_name(cat): - nonlocal namectr - namectr += 1 - return '_asmpp_{}{}'.format(cat, namectr) - - for raw_line in f: - raw_line = raw_line.rstrip() - line = raw_line.lstrip() - output_line = '' - - def add_sized(size): - if cur_section in ['.text', '.late_rodata']: - assert size % 4 == 0, "size must be a multiple of 4 on line: " + raw_line - assert size >= 0 - fn_section_sizes[cur_section] += size - if cur_section == '.text': - assert first_fn_name is not None, ".text block without an initial glabel" - fn_ins_inds.append((len(output_lines), size // 4)) - - if in_asm: - if line.startswith(')'): - in_asm = False - late_rodata = [] - late_rodata_fn_output = [] - if fn_section_sizes['.late_rodata'] > 0: - # Generate late rodata by emitting unique float constants. - # This requires 3 instructions for each 4 bytes of rodata. - # Doubles would increase 4 to 8, but unfortunately we know - # too little about alignment to be able to use them. - size = fn_section_sizes['.late_rodata'] // 4 - for i in range(0, size*3, 3): - if (cur_late_rodata_hex & 0xffff) == 0: - # Avoid lui - cur_late_rodata_hex += 1 - dummy_bytes = struct.pack('>I', cur_late_rodata_hex) - cur_late_rodata_hex += 1 - late_rodata.append(dummy_bytes) - fval, = struct.unpack('>f', dummy_bytes) - late_rodata_fn_output.append('*(volatile float*)0 = {}f;'.format(fval)) - late_rodata_fn_output.append('') - late_rodata_fn_output.append('') - temp_fn_name = None - if fn_section_sizes['.text'] > 0 or late_rodata_fn_output: - temp_fn_name = make_name('func') - output_lines[start_index] = 'void {}(void) {{'.format(temp_fn_name) - instr_count = fn_section_sizes['.text'] // 4 - assert instr_count >= min_instr_count, "too short .text block" - available_instr_count = 0 - tot_emitted = 0 - tot_skipped = 0 - fn_emitted = 0 - fn_skipped = 0 - rodata_stack = late_rodata_fn_output[::-1] - for (line, count) in fn_ins_inds: - for _ in range(count): - if (fn_emitted > MAX_FN_SIZE and instr_count - tot_emitted > min_instr_count and - (not rodata_stack or rodata_stack[-1])): - # Don't let functions become too large. When a function reaches 284 - # instructions, and -O2 -framepointer flags are passed, the IRIX - # compiler decides it is a great idea to start optimizing more. - fn_emitted = 0 - fn_skipped = 0 - output_lines[line] += ' }} void {}(void) {{ '.format(make_name('large_func')) - if fn_skipped < skip_instr_count: - fn_skipped += 1 - tot_skipped += 1 - elif rodata_stack: - output_lines[line] += rodata_stack.pop() - else: - available_instr_count += 1 - output_lines[line] += '*(volatile int*)0 = 0;' - tot_emitted += 1 - fn_emitted += 1 - if rodata_stack: - size = len(late_rodata_fn_output) // 3 - available = instr_count - tot_skipped - print("late rodata to text ratio is too high: {} / {} must be <= 1/3" - .format(size, available), file=sys.stderr) - exit(1) - output_line = '}' - rodata_name = None - if fn_section_sizes['.rodata'] > 0: - rodata_name = make_name('rodata') - output_line += ' const char {}[{}] = {{1}};'.format(rodata_name, fn_section_sizes['.rodata']) - data_name = None - if fn_section_sizes['.data'] > 0: - data_name = make_name('data') - output_line += ' char {}[{}] = {{1}};'.format(data_name, fn_section_sizes['.data']) - bss_name = None - if fn_section_sizes['.bss'] > 0: - bss_name = make_name('bss') - output_line += ' char {}[{}];'.format(bss_name, fn_section_sizes['.bss']) - asm_functions.append((first_fn_name, asm_conts, late_rodata, late_rodata_asm_conts, { - '.text': (temp_fn_name, fn_section_sizes['.text']), - '.data': (data_name, fn_section_sizes['.data']), - '.rodata': (rodata_name, fn_section_sizes['.rodata']), - '.bss': (bss_name, fn_section_sizes['.bss']), - })) - else: - line = re.sub(r'/\*.*?\*/', '', line) - line = re.sub(r'#.*', '', line) - line = line.strip() - changed_section = False - if line.startswith('glabel ') and first_fn_name is None and cur_section == '.text': - first_fn_name = line.split()[1] - if not line: - pass # empty line - elif line.startswith('glabel ') or (' ' not in line and line.endswith(':')): - pass # label - elif line.startswith('.section') or line in ['.text', '.data', '.rdata', '.rodata', '.bss', '.late_rodata']: - # section change - cur_section = '.rodata' if line == '.rdata' else line.split(',')[0].split()[-1] - changed_section = True - assert cur_section in SECTIONS, "unrecognized .section directive" - elif line.startswith('.incbin'): - add_sized(int(line.split(',')[-1].strip(), 0)) - elif line.startswith('.word') or line.startswith('.float'): - add_sized(4 * len(line.split(','))) - elif line.startswith('.double'): - add_sized(8 * len(line.split(','))) - elif line.startswith('.space'): - add_sized(int(line.split()[1], 0)) - elif line.startswith('.'): - # .macro, .ascii, .asciiz, .balign, .align, ... - assert False, 'not supported yet: ' + line - else: - # Unfortunately, macros are hard to support for .rodata -- - # we don't know how how space they will expand to before - # running the assembler, but we need that information to - # construct the C code. So if we need that we'll either - # need to run the assembler twice (at least in some rare - # cases), or change how this program is invoked. - # Similarly, we can't currently deal with pseudo-instructions - # that expand to several real instructions. - assert cur_section == '.text', "instruction or macro call in non-.text section? not supported: " + line - add_sized(4) - if cur_section == '.late_rodata': - if not changed_section: - late_rodata_asm_conts.append(line) - else: - asm_conts.append(line) - else: - if line.startswith('GLOBAL_ASM('): - in_asm = True - cur_section = '.text' - asm_conts = [] - late_rodata_asm_conts = [] - start_index = len(output_lines) - first_fn_name = None - fn_section_sizes = { - '.text': 0, - '.data': 0, - '.bss': 0, - '.rodata': 0, - '.late_rodata': 0, - } - fn_ins_inds = [] - else: - output_line = raw_line - - # Print exactly one output line per source line, to make compiler - # errors have correct line numbers. - output_lines.append(output_line) - - if print_source: - for line in output_lines: - print(line) - - return asm_functions - -def fixup_objfile(objfile_name, functions, asm_prelude, assembler): - SECTIONS = ['.data', '.text', '.rodata', '.bss'] - - with open(objfile_name, 'rb') as f: - objfile = ElfFile(f.read()) - - prev_locs = { - '.text': 0, - '.data': 0, - '.rodata': 0, - '.bss': 0, - } - to_copy = { - '.text': [], - '.data': [], - '.rodata': [], - } - asm = [] - late_rodata = [] - late_rodata_asm = [] - late_rodata_source_name = None - - # Generate an assembly file with all the assembly we need to fill in. For - # simplicity we pad with nops/.space so that addresses match exactly, so we - # don't have to fix up relocations/symbol references. - first_fn_names = set() - for (first_fn_name, body, fn_late_rodata, fn_late_rodata_body, data) in functions: - ifdefed = False - for sectype, (temp_name, size) in data.items(): - if temp_name is None: - continue - assert size > 0 - loc = objfile.symtab.find_symbol(temp_name) - if loc is None: - ifdefed = True - break - loc = loc[1] - prev_loc = prev_locs[sectype] - assert loc >= prev_loc - if loc != prev_loc: - asm.append('.section ' + sectype) - if sectype == '.text': - for i in range((loc - prev_loc) // 4): - asm.append('nop') - else: - asm.append('.space {}'.format(loc - prev_loc)) - if sectype != '.bss': - to_copy[sectype].append((loc, size)) - prev_locs[sectype] = loc + size - if not ifdefed: - if first_fn_name: - first_fn_names.add(first_fn_name) - late_rodata.extend(fn_late_rodata) - late_rodata_asm.extend(fn_late_rodata_body) - asm.append('.text') - for line in body: - asm.append(line) - if late_rodata_asm: - late_rodata_source_name = '_asmpp_late_rodata' - asm.append('.rdata') - asm.append('glabel {}'.format(late_rodata_source_name)) - asm.extend(late_rodata_asm) - - o_file = tempfile.NamedTemporaryFile(prefix='asm-processor', suffix='.o', delete=False) - o_name = o_file.name - o_file.close() - s_file = tempfile.NamedTemporaryFile(prefix='asm-processor', suffix='.s', delete=False) - s_name = s_file.name - try: - s_file.write(asm_prelude + b'\n') - for line in asm: - s_file.write(line.encode('utf-8') + b'\n') - s_file.close() - ret = os.system(assembler + " " + s_name + " -o " + o_name) - if ret != 0: - raise Exception("failed to assemble") - with open(o_name, 'rb') as f: - asm_objfile = ElfFile(f.read()) - - # Remove some clutter from objdump output - objfile.drop_irrelevant_sections() - - # Unify reginfo sections - target_reginfo = objfile.find_section('.reginfo') - source_reginfo_data = list(asm_objfile.find_section('.reginfo').data) - data = list(target_reginfo.data) - for i in range(20): - data[i] |= source_reginfo_data[i] - target_reginfo.data = bytes(data) - - # Move over section contents - modified_text_positions = set() - last_rodata_pos = 0 - for sectype in SECTIONS: - if sectype == '.bss': - continue - source = asm_objfile.find_section(sectype) - target = objfile.find_section(sectype) - if source is None or not to_copy[sectype]: - continue - assert target is not None, "must have a section to overwrite: " + sectype - data = list(target.data) - for (pos, count) in to_copy[sectype]: - data[pos:pos + count] = source.data[pos:pos + count] - if sectype == '.text': - assert count % 4 == 0 - assert pos % 4 == 0 - for i in range(count // 4): - modified_text_positions.add(pos + 4 * i) - elif sectype == '.rodata': - last_rodata_pos = pos + count - target.data = bytes(data) - - # Move over late rodata. This is heuristic, sadly, since I can't think - # of another way of doing it. - moved_late_rodata = {} - if late_rodata: - source = asm_objfile.find_section('.rodata') - target = objfile.find_section('.rodata') - source_pos = asm_objfile.symtab.find_symbol(late_rodata_source_name) - assert source_pos is not None and source_pos[0] == source.index - source_pos = source_pos[1] - new_data = list(target.data) - for dummy_bytes in late_rodata: - pos = target.data.index(dummy_bytes, last_rodata_pos) - new_data[pos:pos+4] = source.data[source_pos:source_pos+4] - moved_late_rodata[source_pos] = pos - last_rodata_pos = pos + 4 - source_pos += 4 - target.data = bytes(new_data) - - # Merge strtab data. - strtab_adj = len(objfile.symtab.strtab.data) - objfile.symtab.strtab.data += asm_objfile.symtab.strtab.data - - # Find relocated symbols - relocated_symbols = set() - for sectype in SECTIONS: - for obj in [asm_objfile, objfile]: - sec = obj.find_section(sectype) - if sec is None: - continue - for reltab in sec.relocated_by: - for rel in reltab.relocations: - relocated_symbols.add(obj.symtab.symbol_entries[rel.sym_index]) - - # Move over symbols, deleting the temporary function labels. - # Sometimes this naive procedure results in duplicate symbols, or UNDEF - # symbols that are also defined the same .o file. Hopefully that's fine. - # Skip over local symbols that aren't used relocated against, to avoid - # conflicts. - new_local_syms = [s for s in objfile.symtab.local_symbols() if not is_temp_name(s.name)] - new_global_syms = [s for s in objfile.symtab.global_symbols() if not is_temp_name(s.name)] - for i, s in enumerate(asm_objfile.symtab.symbol_entries): - is_local = (i < asm_objfile.symtab.sh_info) - if is_local and s not in relocated_symbols: - continue - if is_temp_name(s.name): - continue - if s.st_shndx != SHN_UNDEF: - section_name = asm_objfile.sections[s.st_shndx].name - assert section_name in SECTIONS, "Generated assembly .o must only have symbols for .text, .data, .rodata and UNDEF, but found {}".format(section_name) - s.st_shndx = objfile.find_section(section_name).index - # glabel's aren't marked as functions, making objdump output confusing. Fix that. - if s.name in first_fn_names: - s.type = STT_FUNC - if objfile.sections[s.st_shndx].name == '.rodata' and s.st_value in moved_late_rodata: - s.st_value = moved_late_rodata[s.st_value] - s.st_name += strtab_adj - if is_local: - new_local_syms.append(s) - else: - new_global_syms.append(s) - new_syms = new_local_syms + new_global_syms - for i, s in enumerate(new_syms): - s.new_index = i - objfile.symtab.data = b''.join(s.to_bin() for s in new_syms) - objfile.symtab.sh_info = len(new_local_syms) - - # Move over relocations - for sectype in SECTIONS: - source = asm_objfile.find_section(sectype) - target = objfile.find_section(sectype) - - if target is not None: - # fixup relocation symbol indices, since we butchered them above - for reltab in target.relocated_by: - nrels = [] - for rel in reltab.relocations: - if sectype == '.text' and rel.r_offset in modified_text_positions: - # don't include relocations for late_rodata dummy code - continue - # hopefully we don't have relocations for local or - # temporary symbols, so new_index exists - rel.sym_index = objfile.symtab.symbol_entries[rel.sym_index].new_index - nrels.append(rel) - reltab.relocations = nrels - reltab.data = b''.join(rel.to_bin() for rel in nrels) - - if not source: - continue - - target_reltab = objfile.find_section('.rel' + sectype) - target_reltaba = objfile.find_section('.rela' + sectype) - for reltab in source.relocated_by: - for rel in reltab.relocations: - rel.sym_index = asm_objfile.symtab.symbol_entries[rel.sym_index].new_index - if sectype == '.rodata' and rel.r_offset in moved_late_rodata: - rel.r_offset = moved_late_rodata[rel.r_offset] - new_data = b''.join(rel.to_bin() for rel in reltab.relocations) - if reltab.sh_type == SHT_REL: - if not target_reltab: - target_reltab = objfile.add_section('.rel' + sectype, - sh_type=SHT_REL, sh_flags=0, - sh_link=objfile.symtab.index, sh_info=target.index, - sh_addralign=4, sh_entsize=8, data=b'') - target_reltab.data += new_data - else: - if not target_reltaba: - target_reltaba = objfile.add_section('.rela' + sectype, - sh_type=SHT_RELA, sh_flags=0, - sh_link=objfile.symtab.index, sh_info=target.index, - sh_addralign=4, sh_entsize=12, data=b'') - target_reltaba.data += new_data - - objfile.write(objfile_name) - finally: - s_file.close() - os.remove(s_name) - try: - os.remove(o_name) - except: - pass - -def main(): - parser = argparse.ArgumentParser(description="Pre-process .c files and post-process .o files to enable embedding assembly into C.") - parser.add_argument('filename', help="path to .c code") - parser.add_argument('--post-process', dest='objfile', help="path to .o file to post-process") - parser.add_argument('--assembler', dest='assembler', help="assembler command (e.g. \"mips-linux-gnu-as -march=vr4300 -mabi=32\")") - parser.add_argument('--asm-prelude', dest='asm_prelude', help="path to a file containing a prelude to the assembly file (with .set and .macro directives, e.g.)") - parser.add_argument('-framepointer', dest='framepointer', action='store_true') - group = parser.add_mutually_exclusive_group(required=True) - group.add_argument('-O2', dest='optimized', action='store_true') - group.add_argument('-g', dest='optimized', action='store_false') - args = parser.parse_args() - - if args.objfile is None: - with open(args.filename) as f: - parse_source(f, print_source=True, optimized=args.optimized, framepointer=args.framepointer) - else: - assert args.assembler is not None, "must pass assembler command" - with open(args.filename) as f: - functions = parse_source(f, print_source=False, optimized=args.optimized, framepointer=args.framepointer) - if not functions: - return - asm_prelude = b'' - if args.asm_prelude: - with open(args.asm_prelude, 'rb') as f: - asm_prelude = f.read() - fixup_objfile(args.objfile, functions, asm_prelude, args.assembler) - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/tools/asmpreproc/compile.sh b/tools/asmpreproc/compile.sh deleted file mode 100644 index 7136161..0000000 --- a/tools/asmpreproc/compile.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -set -e -INPUT="$1" -OUTPUT="${INPUT%.c}.o" -INCLUDE="-I include -I include/libultra" - -CC="$QEMU_IRIX -silent -L $IRIX_ROOT $IRIX_ROOT/usr/bin/cc" -CFLAGS="-Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm -fullwarn -wlint -woff 819,820,852,821 -signed $INCLUDE -mips2" -AS="mips-linux-gnu-as" -ASFLAGS="-march=vr4300 -mabi=32 $INCLUDE" - -python3 tools/asmpreproc/asm-processor.py -O2 "$INPUT" | $CC -c $CFLAGS tools/asmpreproc/include-stdin.c -o "$OUTPUT" -O2 -python3 tools/asmpreproc/asm-processor.py -O2 "$INPUT" --post-process "$OUTPUT" --assembler "$AS $ASFLAGS" --asm-prelude tools/asmpreproc/prelude.s - -mv $OUTPUT ${OUTPUT/src/build} diff --git a/tools/asmpreproc/include-stdin.c b/tools/asmpreproc/include-stdin.c deleted file mode 100644 index c21aa6f..0000000 --- a/tools/asmpreproc/include-stdin.c +++ /dev/null @@ -1,2 +0,0 @@ -// (this is used for piping input to the IRIX compiler without needing to make a temporary .c file) -#include "/dev/stdin" diff --git a/tools/asmpreproc/macros.inc b/tools/asmpreproc/macros.inc deleted file mode 100644 index c97fd81..0000000 --- a/tools/asmpreproc/macros.inc +++ /dev/null @@ -1,7 +0,0 @@ -# Assembly Macros - -.macro glabel label - .global \label - \label: -.endm - diff --git a/tools/asmpreproc/prelude.s b/tools/asmpreproc/prelude.s deleted file mode 100644 index 0c111a2..0000000 --- a/tools/asmpreproc/prelude.s +++ /dev/null @@ -1,5 +0,0 @@ -.set noat -.set noreorder -.set gp=64 -.include "macros.inc" - diff --git a/tools/data_compress.sh b/tools/data_compress.sh deleted file mode 100755 index c0096c0..0000000 --- a/tools/data_compress.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -MAPFILE="./build/ge007."$2".map" -#this script is a hacky mess that can most definately be improved -#fixme as I will fail if vaddr of data gets moved!!! -DATASEG_START=$(printf "%d\n" 0x$(grep ${MAPFILE} -e '__csegtempPos =' | cut -d "x" -f3)) -DATASEG_LEN=$(printf "%d\n" 0x$(grep ${MAPFILE} -e 'load address 0x0000000000c00000' | cut -d "x" -f3 | cut -d " " -f1)) - - -echo "patching $1" -echo "extract data segment" -echo "one byte at a time is slow, sorry" -dd skip=${DATASEG_START} count=${DATASEG_LEN} if=$1 of=data_seg bs=1 - -echo "truncate $1 to 0x$(printf "%x\n" ${DATASEG_START})" -cat $1 | head --bytes=${DATASEG_START} > $1.tmp - -echo "compress data segment" -tools/1172compress.sh data_seg data_seg.rz - - -echo "inject data segment" -RZSIZE=$(stat -c%s "data_seg.rz") -echo "size=${RZSIZE}" - -#fixme as I will fail if position of c_data gets moved!!! -CDATA_POS=$(printf "%d\n" 0x$(grep ${MAPFILE} -e 'c_data_array' | cut -d "x" -f 2 | cut -d " " -f 1 )) -#CDATA_MAX_SIZE=$(printf "%d\n" 0x$(grep '${MAPFILE}' -e '.c_data 0x0000000000021990' | cut -d "x" -f 2 )) -#CDATA_POS=137616 -CDATA_MAX_SIZE=72704 - -echo "maxsize=${CDATA_MAX_SIZE}" - -echo "one byte at a time is slow, sorry" -dd if=data_seg.rz of=$1.tmp obs=1 seek=${CDATA_POS} conv=notrunc -#rm data_seg data_seg.rz - -mv $1.tmp $1 - diff --git a/tools/gzip b/tools/gzip deleted file mode 100755 index 1c66240..0000000 Binary files a/tools/gzip and /dev/null differ diff --git a/tools/irix/qemu-irix b/tools/irix/qemu-irix deleted file mode 100755 index 7f8a01d..0000000 Binary files a/tools/irix/qemu-irix and /dev/null differ diff --git a/tools/irix/root/lib/libmalloc.so b/tools/irix/root/lib/libmalloc.so deleted file mode 100644 index 9fbe1b0..0000000 Binary files a/tools/irix/root/lib/libmalloc.so and /dev/null differ diff --git a/tools/irix/root/lib/libmalloc_old.so b/tools/irix/root/lib/libmalloc_old.so deleted file mode 100644 index 2a14987..0000000 Binary files a/tools/irix/root/lib/libmalloc_old.so and /dev/null differ diff --git a/tools/irix/root/lib/rld b/tools/irix/root/lib/rld deleted file mode 100755 index 727b426..0000000 Binary files a/tools/irix/root/lib/rld and /dev/null differ diff --git a/tools/irix/root/usr/bin/cc b/tools/irix/root/usr/bin/cc deleted file mode 100755 index 2936fc3..0000000 Binary files a/tools/irix/root/usr/bin/cc and /dev/null differ diff --git a/tools/irix/root/usr/lib/as0 b/tools/irix/root/usr/lib/as0 deleted file mode 100755 index badf8c8..0000000 Binary files a/tools/irix/root/usr/lib/as0 and /dev/null differ diff --git a/tools/irix/root/usr/lib/as1 b/tools/irix/root/usr/lib/as1 deleted file mode 100755 index c246db5..0000000 Binary files a/tools/irix/root/usr/lib/as1 and /dev/null differ diff --git a/tools/irix/root/usr/lib/cfe b/tools/irix/root/usr/lib/cfe deleted file mode 100755 index 305a50b..0000000 Binary files a/tools/irix/root/usr/lib/cfe and /dev/null differ diff --git a/tools/irix/root/usr/lib/crt1.o b/tools/irix/root/usr/lib/crt1.o deleted file mode 100644 index 3052ae2..0000000 Binary files a/tools/irix/root/usr/lib/crt1.o and /dev/null differ diff --git a/tools/irix/root/usr/lib/err.english.cc b/tools/irix/root/usr/lib/err.english.cc deleted file mode 100644 index 6976e38..0000000 --- a/tools/irix/root/usr/lib/err.english.cc +++ /dev/null @@ -1,1260 +0,0 @@ -@ - 358 358 358 - 6464 6482 6553 - 6553 6593 6728 - 6728 6746 6803 - 6803 6808 6808 - 6808 6818 6818 - 6818 6826 6826 - 6826 6847 6847 - 6847 6875 6922 - 6922 6930 6930 - 6930 6939 6939 - 6939 6948 6948 - 6948 6974 7120 - 7120 7149 7204 - 7210 7248 7311 - 7317 7350 7442 - 7450 7497 7627 - 7635 7709 7930 - 7938 7975 8063 - 8071 8113 8253 - 8261 8289 8289 - 8298 8338 8445 - 8460 8502 8635 - 8650 8690 8819 - 8834 8857 8965 - 8965 9008 9113 - 9119 9142 9227 - 9235 9282 9451 - 9451 9462 9462 - 9462 9477 9477 - 9477 9497 9497 - 9497 9545 9545 - 9545 9584 9584 - 9584 9604 9662 - 9662 9682 9720 - 9720 9749 9749 - 9749 9788 9788 - 9788 9802 9802 - 9802 9829 9829 - 9829 9861 9861 - 9861 9904 9904 - 9904 9920 9920 - 9920 9962 9962 - 9962 9988 9988 - 9988 10014 10014 -10014 10035 10035 -10035 10054 10097 -10097 10115 10115 -10115 10147 10147 -10147 10183 10183 -10183 10208 10208 -10208 10236 10236 -10236 10269 10269 -10269 10304 10304 -10304 10328 10328 -10328 10351 10351 -10351 10371 10371 -10371 10402 10402 -10402 10447 10447 -10447 10497 10497 -10497 10533 10533 -10533 10598 10598 -10606 10630 10630 -10640 10671 10671 -10690 10719 10719 -10728 10752 10795 -10795 10837 10837 -10837 10876 10876 -10876 10900 10900 -10900 10948 10948 -10960 11021 11103 -11103 11128 11128 -11128 11153 11153 -11153 11216 11216 -11216 11239 11239 -11239 11303 11303 -11303 11347 11347 -11357 11393 11393 -11393 11432 11432 -11442 11494 11494 -11494 11536 11536 -11536 11595 11595 -11595 11622 11622 -11622 11684 11684 -11684 11726 11726 -11738 11778 11778 -11782 11813 11813 -11813 11850 11850 -11850 11900 12087 -12111 12120 12120 -12120 12129 12129 -12129 12158 12158 -12158 12192 12192 -12192 12237 12237 -12237 12273 12273 -12273 12326 12326 -12330 12366 12366 -12366 12423 12423 -12427 12482 12482 -12486 12560 12560 -12568 12631 12631 -12637 12691 12691 -12691 12743 12743 -12743 12785 12785 -12785 12826 12826 -12826 12865 12865 -12865 12883 12883 -12883 12946 12946 -12956 12995 12995 -13005 13066 13066 -13077 13163 13163 -13163 13211 13211 -13211 13270 13270 -13270 13318 13318 -13318 13350 13350 -13350 13387 13387 -13387 13428 13428 -13428 13464 13533 -13533 13580 13737 -13737 13776 13854 -13854 13913 13913 -13913 13950 13950 -13950 14118 14118 -14118 14150 14150 -14150 14163 14194 -14194 14224 14255 -14255 14275 14319 -14319 14353 14458 -14466 14484 14530 -14534 14567 14567 -14567 14635 14682 -14690 14742 14742 -14742 14789 14789 -14801 14875 14875 -14886 14947 14947 -14947 14992 14992 -14992 15035 15085 -15085 15134 15205 -15214 15267 15448 -15454 15496 16810 -16822 16875 16960 -16972 17053 17179 -17191 17236 17332 -17344 17491 17841 -17853 17939 18304 -18316 18471 18774 -18786 18952 19323 -19335 19364 19496 -19500 19527 19598 -19598 19613 19776 -19797 19808 19837 -19837 19862 19862 -19868 19927 20026 -20034 20075 20179 -20187 20223 20223 -20223 20290 20382 -20392 20441 20589 -20601 20656 20656 -20656 20699 20818 -20826 20860 21038 -21046 21094 21191 -21203 21236 21314 -21326 21395 21457 -21469 21502 21502 -21502 21587 21731 -21756 21789 21864 -21875 21901 21976 -22013 22059 22220 -22257 22397 22561 -22561 22595 22595 -22603 22623 22623 -22631 22667 22828 -22865 22919 22994 -23031 23059 23120 -23132 23201 23201 -23212 23274 23274 -23285 23345 23345 -23356 23393 23393 -23399 23431 23532 -23542 23587 23646 -23656 23697 23745 -23755 23796 23844 -23854 23876 23928 -23942 23971 24153 -24160 24243 24243 -24247 24273 24743 -24755 24784 24984 -24996 25034 25034 -25034 25075 25273 -25281 25332 25410 -25420 25467 25544 -25554 25583 25744 -25754 25783 26061 -26071 26111 26185 -26194 26239 26525 -26535 26568 26914 -26924 26951 26998 -27008 27035 27082 -27093 27120 27167 -27178 27206 27251 -27261 27289 27334 -27345 27391 27931 -27938 27959 28007 -28019 28037 28037 -28043 28069 28069 -28077 28147 28199 -28207 28266 28266 -28274 28306 28306 -28314 28339 28339 -28347 28404 28510 -28518 28567 28682 -28690 28728 28728 -28736 28782 29023 -29033 29085 29234 -29246 29303 29383 -29395 29432 29570 -29592 29631 29644 -29644 29693 29758 -29767 29810 29875 -29875 29911 29976 -29984 30014 30014 -30027 30086 30151 -30157 30223 30293 -30301 30369 30445 -30457 30511 30568 -30580 30630 30743 -30755 30812 30874 -30886 30959 31035 -31043 31076 31175 -31183 31243 31243 -31251 31323 31323 -31331 31433 31433 -31445 31544 31686 -31698 31740 31740 -31740 31783 31783 -31783 31824 31824 -31824 31873 31996 -32008 32056 32164 -32176 32210 32210 -32229 32271 32271 -32279 32323 32569 -32581 32642 32718 -32739 32779 32916 -32926 32953 33047 -33057 33116 33315 -33325 33373 33373 -33373 33407 33469 -33494 33527 33527 -33536 33573 33573 -33584 33650 33697 -33705 33763 33763 -33763 33797 33797 -33797 33829 33906 -33915 33976 33976 -33985 34016 34098 -34098 34133 34198 -34198 34261 34261 -34269 34312 34312 -34324 34363 34438 -34444 34530 34530 -34538 34596 34626 -34636 34675 34754 -34764 34821 34821 -34821 34867 34950 -34959 35016 35135 -35145 35198 35198 -35208 35266 35344 -35355 35382 35537 -35547 35576 35629 -35637 35705 35705 -35713 35764 35764 -35764 35784 35876 -35888 35932 35950 -35950 36013 36138 -36150 36191 36280 -36286 36314 36419 -36431 36516 36516 -36516 36554 36642 -36642 36689 36808 -36818 36881 37105 -37113 37183 37204 -37204 37225 37225 -37225 37255 37348 -37348 37388 37388 -37388 37454 37454 -37454 37518 37518 -37518 37584 37584 -37584 37717 37717 -37717 37752 37752 -37752 37783 37889 -37901 37928 38034 -38046 38115 38115 -38115 38140 38187 -38195 38219 38339 -38351 38422 38422 -38422 38486 38486 -38486 38555 38555 -38555 38619 38619 -38619 38641 38641 -38641 38758 38758 -38758 38929 38929 -38929 38975 39043 -39055 39084 39133 -39133 39175 39265 -39275 39310 39494 -39504 39547 39576 -39587 39614 39668 -39674 39697 39797 -39797 39845 40094 -40094 40158 40264 -40264 40369 40523 -40523 40593 40593 -40593 40629 40876 -40876 40911 40971 -40977 41026 41026 -41038 41077 41077 -41077 41116 41116 -41116 41156 41156 -41156 41195 41195 -41195 41237 41237 -41237 41285 41285 -41285 41304 41304 -41304 41371 41371 -41371 41429 41429 -41429 41491 41491 -41491 41519 41519 -41519 41572 41572 -41572 41642 41642 -41642 41676 41676 -41676 41713 41713 -41713 41751 41751 -41751 41792 41792 -41792 41856 41856 -41856 41881 41881 -41881 41936 41936 -41936 41977 41977 -41977 42018 42018 -42018 42090 42090 -42090 42162 42162 -42162 42205 42205 -42205 42267 42267 -42267 42294 42294 -42294 42309 42309 -42309 42338 42386 -42393 42425 42522 -42530 42577 42577 -42577 42623 42623 -42623 42643 42725 -42725 42748 42748 -42748 42829 42897 -42901 42952 42952 -42952 42978 43025 -43025 43116 43116 -43116 43171 43171 -43171 43204 43376 -43386 43453 43471 -43471 43547 43780 -43798 43921 44116 -44120 44120 44120 -Out of memory: %s -There is no more memory left in the system for compiling this program. -Internal Error Unknown Error Message %s -1) An internal error, while attempting to print an unavailable message -2) The error message file is inaccessible or has other problems -Unknown Signal %s -1) An unknown signal has been caught -2) 2 Nested signals -line -Warning: -Fatal: -Source not available -Too many errors... goodbye. -There is a limit of 30 errors before aborting. -Error: -reserved -reserved -Unknown Control Statement -1) The line begins with a '#' and is not of the form: - # "" -2) Please compile this program with the preprocessor enabled. -Unknown character %s ignored -The character is not part of the source character set. -2.2.1 -Unknown control character \%s ignored -The control character is not part of the source character set. -2.2.1 -Illegal character %s in exponent -1) Digits or sign expected after 'e' or 'E'. -2) Digits are expected after sign in exponent. -3.1.3.1 -Constant is out of range and may be truncated. -The constant is too large to be accurately represented and may be -truncated. The limits are in the system include file limits.h. -2.2.4.2 -Constant is out of range for a 32-bit data type, but accepted as written. -The constant is too large to fit in a 32-bit data type, but will be -accurately represented in a wider data type. The value may be truncated, -depending on its context. The limits are in the system include file -limits.h. -2.2.4.2 -Character constant size out of range -1) No characters in a character constant. -2) More than 4 bytes in a character constant. -3.1.3.4 -Wide character constant size out of range -1) No characters in the multibyte sequence (0 assumed). -2) More than 1 byte in the multi-byte sequence (only the first byte was converted). -3.1.3.4 -Invalid multibyte character -4.10.7.2 -Newline in string or character constant -1) Terminate your string or character constant with closing quotes. -2) Put a backslash before the newline. -3.1.3.4, 3.1.4 -Octal character escape too large: %s > %s -1) Terminate end of octal sequence with a non-octal character. -2) Select a character value within the limits. -Value may be truncated -3.1.3.4, 3.1.4 -Hex character escape too large: %s > %s -1) Terminate end of hex sequence with a non-hex character. -2) Select a character value within the limits. -Value may be truncated -3.1.3.4, 3.1.4 -Unexpected End-of-file -1) Unterminated string or character constant -2) Missing closing comment marker (*/) -3) File system problems -Unrecognized escape sequence in string \%s -Recognized escape sequences are \a, \b, \f, \n, \r, \t, and \v. -Character will be treated as un-escaped. -3.9.2 -Illegal octal digit %s -Octal constants, beginning with 0, must only have digits between 0 and 7, -inclusive. -3.1.3.2 -Unable to open temporary file for compiling %s -1) TMPDIR environment variable is set to a directory that you have no - permissions for. -2) The file system is full. -3) System errors beyond the scope of the compiler. -%s: Hangup -%s: Interrupt -%s: Quit (ASCII FS) -%s: Illegal instruction (not reset when caught) -%s: Trace trap (not reset when caught) -%s: IOT instruction -Also SIGABRT, used by abort, replace SIGIOT in the future -%s: EMT instruction -Also SIGXCPU, Exceeded CPU time limit -%s: Floating point exception -%s: Kill (cannot be caught or ignored) -%s: Bus error -%s: Segmentation violation -%s: Bad argument to system call -%s: Write on a pipe with no one to read it -%s: Alarm clock -%s: Software termination signal from kill -%s: User defined signal 1 -%s: User defined signal 2 -%s: Death of a child -Power-fail restart -%s: Also SIGXFSZ, exceeded file size limit -%s: Window change -%s: Handset, line status change -%s: Sendablestop signalnot from tty -%s: Stop signal from tty -%s: Pollable event occurred -%s: Input/Output possible signal -%s: Urgent condition on IO channel -%s: Window size changes -%s: Virtual time alarm -%s: Profiling alarm -%s: Continue a stopped process -%s: To readers pgrp upon background tty read -%s: Like TTIN for output if (tp->t_local<OSTOP) -%s: Resource lost (eg, record-lock) -'auto' and 'register' are not allowed in an external declaration -3.7(10) -must have function type -3.7.1(30) -Functions cannot return arrays -3.7.1(33), 3.3.2.2 -Declaration list not allowed -3.7.1(5) -Too many input files %s -The command line may contain only one file -cpp internal error: input stack underflow -cpp internal error: if stack underflow -Cannot open the file %s -No new-line character at the end of the file %s -2.1.1.2(30) -Fatal: Exceeded the limit of nesting level for #include file -Fatal: Exceeded the limit of nesting level for #include file. This limit -is 200. -Fail to read the file %s -Cannot write the file %s -%s: %s: An if directive is not terminated properly in the file -%s: %s: nested comment -%s:%s: Illegal macro name %s; macro name shall be an identifier -%s:%s: Illegal preprocessing token sequence -3.8.3(35) -%s:%s: Illegal macro parameter name -%s:%s: Non-unique macro parameter name -3.8.3(18) -%s:%s: Missing ')' in parameter list for #define %s -%s:%s: Missing ')' in macro instantiation -%s:%s: Bad punctuator in the parameter list for #define %s -%s:%s: Macro %s redefined. -%s:%s: # operator should be followed by a macro argument name -%s:%s: Badly formed constant expression%s -3.4(9), 3.8 -%s:%s: Division by zero in #if or #elif -3.8 -unknown command line option %s -extraneous input/output file name %s -%s: %s: Unterminated string or character constant -A preprocessing string or character constant token was not -terminated. Note that preprocessing directives are processed -after the source file has been divided into preprocessing tokens. -2.1.1.2(30) 3.1(18) 3.8 -%s: %s: -%s: %s: -%s: %s: Unterminated comment -%s: %s: Unknown directive type %s -%s: %s: #elif or #else after #else directive -%s: %s: Bad identifier after the %s -%s: %s: #%s accepts only one identifier as parameter -3.8 -%s: %s: Bad identifier after the %s -%s: %s: text following #%s violates the ANSI C standard. -3.8 -%s: %s: Bad character %s occurs after the # directive. -3.8 -%s: %s: the ## operator shall not be the %s token in the replacement list -3.8.3.3 -%s: %s: the defined operator takes identifier as operand only. -3.8.1 -%s: %s: Not in a conditional directive while using %s -%s: %s: Illegal filename specification for #include -%s: %s: Invalid file name %s for #include -%s: %s: Cannot open file %s for #include -%s: %s: Bad argument for #line command -%s: %s: #error %s -%s: %s: Tried to redefine predefined macro %s, attempt ignored -3.8.7(22) -%s: %s: Undefining predefined macro %s -3.8.7(22) -%s: %s: Undefined the ANSI standard library defined macro %s -4.1.2.1(9) -%s: %s: The number of arguments in the macro invocation does not match the definition -%s: %s: Illegal character %s in preprocessor if -%s: %s: Illegal character %s for number in preprocessor if -%s: %s: No string is allowed in preprocessor if -%s: %s: Not supported pragma %s -%s: %s: Not supported #pragma format -%s: %s: ANSI C does not allow #ident; %s -%s: %s: Not supported #ident format -This cpp extension accepts the following format: -#ident "any string" -%s: %s: Not supported #assert/#unassert format -This cpp extension accepts the following format: -#assert identifier -#assert identifier ( pp-tokens ) -#unassert identifier -#unassert identifier ( pp-tokens ) -%s: %s: Bad assertion predicate format -The correct syntax for this cpp extension is: -#assert identifier ( pp-token ) -%s: %s: directive is an upward-compatible ANSI C extension -%s: This option requires an argument -%s: %s: A macro has expanded recursively more than %s times. Further expansion will be disabled! Use command-line option: -Wp,-max_rec_depth=depth to recurse deeper. -A status return from cpp to cfe -Syntax Error -The token read was unexpected. -Syntax Error -- cannot backup -The token read was unexpected. -Yacc stack overflow -The expression is too complicated to parse. -Trailing comma in enumerator list -The use of a trailing comma in an enumerator list is not standard C. There -may be portability problems. -3.5.2.2 -Empty declaration -Empty declarations are invalid in standard C. -3.5 -%s declared, but not referenced. -redeclaration of '%s'; previous declaration at line %s in file '%s' -Identifier redeclared in the same scope/block. -3.1.2.3 -'%s' undefined; reoccurrences will not be reported. -Non-function name referenced in function call. -3.3.2.2(18) -The number of arguments doesn't agree with the number in the declaration. -3.3.2.2(5) -'%s' section name longer than 8 characters. Name truncated. -'%s' is already placed by pragma alloc_text. -Cannot write ucode file while compiling %s -1) The file system is full -2) Permissions problem -Must have corresponding formal argument for '%s' -Parameter found in the declaration part, but not in the argument list. -3.7.1(7) -Non-prototype declaration is an obsolescent feature. -The use of function definitions with separate parameter identifier -and declaration lists (not prototype-format parameter type and -identifier declarators) is an obsolescent feature. -3.9.5 -Incompatible function declarations for %s -For two function types to be compatible, both shall specify compatible -return types. Moreover, the parameter type lists, if both are present, -shall agree in the number of parameters and in use of the ellipsis -terminator; corresponding parameters shall have compatible types. If -one type has a parameter type list and the other type is specified by -a function declarator that is not part of a function definition and -contains an empty identifier list, the parameter list shall not have -an ellipsis terminator and the type of each parameter shall be -compatible with they type that results from application of the default -argument promotions. If one type has a parameter type list and the -other is specified by a function definition that contains a (possibly -empty) identifier list, both shall agree in the number of parameters, -and the type of each prototype parameter shall be compatible with the -type that results from application of the default argument promotions -to the type of the corresponding identifier. (For each parameter -declared with function or array type, its type for these comparisons -is the one that results from conversion to a pointer type. For each -parameter declared with qualified type, its type for these comparisons -is the unqualified version of its declared type.) There you have it! -3.5.4.3(15) -Incompatible function return type for this function. -For two function types to be compatible, both shall specify compatible -return types. -3.5.4.3(15) -The number of parameters for function is different from the previous declaration -The parameter type lists, if both are present, shall agree in the -number of parameters and in use of the ellipsis terminator. -3.5.4.3(15) -Incompatible type for the function parameter -If both parameter type lists are present, corresponding -parameters shall have compatible types. -3.5.4.3(15) -Function %s is redeclared with an incompatible argument type (after default argument promotion), which could lead to undefined run-time behaviour. -The redeclaration could cause arguments at a call site to be passed -inconsistently with what the function implementation expects, and -parameters would therefore be accessed erroneously when executing the -function body. Note that a float argument is promoted to a double -when passed (potentially through fp registers) to an unprototyped -function. -3.5.4.3(15) -prototype and non-prototype declaration found for %s, ellipsis terminator not allowed -If one type has a parameter type list and the other type is specified -by a function declarator that is not part of a function definition and -contains an empty identifier list, the parameter list shall not have -an ellipsis terminator and the type of each parameter shall be -compatible with they type that results from application of the default -argument promotions. -3.5.4.3(15) -prototype and non-prototype declaration found for %s, the type of this parameter is not compatible with the type after applying default argument promotion -If one type has a parameter type list and the other type is specified -by a function declarator that is not part of a function definition and -contains an empty identifier list, the type of each parameter shall be -compatible with the type that results from application of the default -argument promotions. -3.5.4.3(15) -prototype declaration and non-prototype definition found for %s, the type of this parameter is not compatible with the type after applying default argument promotion -If one type has a parameter type list and the other is specified by a -function definition that contains a (possibly empty) identifier list, -both shall agree in the number of parameters, and the type of each -prototype parameter shall be compatible with the type that results -from application of the default argument promotions to the type of the -corresponding identifier. -3.5.4.3(15) -Empty declaration specifiers -Standard C requires at least a storage class specifier, type specifier, -or a type qualifier in declarations. 'extern int' assumed. -3.5 -Can't write to the file %s -1) The output file cannot be opened for writing. -2) Out of file space. -Duplicate '%s' -typedef, extern, static, auto, register, const, volatile may not -appear more than once in the same specifier list or qualifier list. -Duplicate occurrence ignored. -3.5.1(10) , 3.5.3(5) -Null input -There is nothing to compile. -Illegal type combination -3.5.2 -Missing ';' at end of structure / union member declaration -In standard C, each member declaration must be terminated by a ';'. A -terminating ';' is assumed. -3.5.2.1 -Missing member name in structure / union -In standard C, each member declaration have a member name. The missing -member is assumed to not exist. -3.5.2.1 -This variable is initialized twice. -Neither 'const' or 'volatile' have any effect on function results. -Qualifiers only apply to expressions designating an object that -can be altered or examined. -3.5.3(10) -An integer constant expression is required here. -The expression that defines the value of an enumeration constant -shall be an integral constant expression that has a value -representable as an int. -3.5.2.2(28) -(previous declaration of '%s' at line %s in file '%s') -Must be an integer type greater than zero. -The array size must be either a char, signed or unsigned integer or -an enumerated type with a value greater than zero. -3.5.4.2 -Array size cannot be a long long. -Arrays with more than 2^32 elements are not yet supported. -The array size must be either a char, signed or unsigned integer or -an enumerated type with a value greater than zero. -3.5.4.2 -bit-field '%s' width is not an integer constant -The expression that specifies the width of a bit-field shall be an -integral constant expression. -3.5.2.1(15) -bit-field '%s' width is negative -The expression that specifies the width of a bit-field shall be -non-negative. -3.5.2.1(15) -bit-field '%s' type required to be int, unsigned int, or signed int. -A bit-field shall have type int, unsigned int, or signed int. -3.5.2.1(30) -bit-field %s's type not integer. -Non-scalar type or pointer type to a non-object for increment or decrement operator. -The operand of the prefix/postfix increment or decrement operator shall have scalar type; if it is of pointer type, it must point to an object. -3.3.2.4(37), 3.3.3.1(25) -Assign value to a function type. -An assignment operator shall have a modifiable lvalue as its left operand. -3.2.2.1(5) -Assign value to an array. -An assignment operator shall have a modifiable lvalue as its left operand. -3.3.2.4(36), 3.3.3.1(24), 3.2.2.1(5) -Change value for variable of incomplete type. -The operand of increment and decrement operator shall be a modifiable -scalar lvalue. An assignment operator shall have a modifiable lvalue -as its left operand. -3.3.2.4(36), 3.3.3.1(24), 3.2.2.1(5) -The left-hand side of the '.' operator must be an addressable lvalue, when a bit-field is not contained within a unit of 32 bits alignment. -This is a restriction in our implementation, which can be worked -around by always accessing long long bit-fields indirectly (i.e. -by means of the '->' operator). -This expression is not an lvalue. -3.2.2.1 -Modified an rvalue. -3.2.2.1 -Change value for constant variable. -The operand of increment and decrement operators shall be modifiable -scalar lvalues. An assignment operator shall have a modifiable lvalue -as its left operand. -3.3.2.4(36), 3.3.3.1(24), 3.2.2.1(5) -Change value for constant field of a struct or union. -An assignment operator shall have a modifiable lvalue as its left operand. -3.3.2.4(36), 3.3.3.1(24), 3.2.2.1(5) -Dereferenced a non-pointer. -The operand of the unary * operator shall have pointer type. -3.3.3.2(39) -The operand of the unary + or - operator shall have arithmetic type. -3.3.3.3(6) -The operand of the unary ~ operator shall have integral type. -3.3.3.3(6) -The operand of the unary ! operator shall have scalar type. -3.3.3.3(6) -Constants must have arithmetic type. -3.1.3 -Bad type name for cast operator -The type name for the cast operator should either be void or a -qualified or unqualified scalar type. -3.3.4(22) -Improper cast of non-scalar type expression. -The operand for the cast operator shall be of scalar type. -3.3.4(23) -Cast a pointer into a non-integral type. -A pointer may be converted to an integral type. -3.3.4(31) -Cast a non-integral type into a pointer. -An integral type may be converted to a pointer. -3.3.4(31) -Duplicate member '%s' -Two members of a struct may not have the same name. -3.1.2.2(7,25) -Invalid constant expression. -Constant expressions shall not contain assignment, increment, decrement, -function-call, or comma operators, except when they are contained within -the operand of the sizeof operator. -3.4(9) -Constant expressions must be derived from a constant value or a constant -variable. -3.4 -Dangerous operand of '&'. -The operand of the unary & operator shall be either a function -designator or an lvalue that designates an object that is not a -bit-field and is not declared with the register storage-class -specifier. This operand is NOT an lvalue, but we let it pass. -Note that a segmentation error with possible core dump will result -when the resulting address does not denote a valid (declared) -storage location. This feature will be discontinued in future -releases of the compiler! -3.3.3.2(36) -Unacceptable operand of '&'. -The operand of the unary & operator shall be either a function -designator or an lvalue that designates an object that is not a -bit-field and is not declared with the register storage-class -specifier. -3.3.3.2(36) -'&' before array or function; ignored -Unacceptable operand of sizeof operator. -The sizeof operator shall not be applied to an expression that has -function type or an incomplete type, to the parenthesized name of such -a type, or to an lvalue that designates a bit-field object. -3.3.3.4 -Unacceptable operand of a multiplicative operator. -Each of the operands of a multiplicative operator shall have arithmetic type. -3.3.5(18) -Unacceptable operand of the remainder operator -Each of the operands of the remainder (%) operator shall have integral type. -3.3.5(18) -Unacceptable operand of '+'. -For the + operator, either both operands shall have arithmetic type, or -one operand shall be a pointer to an object type and the other shall -have integral type. -3.3.6(39) -Unacceptable operand of '-'. -For the subtraction operator, one of the following shall hold: both operands -have arithmetic type; operands are pointers to qualified or unqualified -versions of compatible object types; or the left operand is a pointer -to an object type and the right operand has integral type. -3.3.6(39) -Unacceptable operand of shift operator. -Each of the operands of bitwise shift operators shall have integral type. -3.3.7(9) -Unacceptable operand of relational operator. -For relational operators, one of the following shall hold: both -operands have arithmetic type; both operands are pointers to qualified -or unqualified versions of compatible object types; or both operands -are pointers to qualified or unqualified versions of compatible -incomplete types. -3.3.8(32) -Unacceptable operand of == or != -For the == or != operator, one of the following shall hold: both operands -are pointers to qualified or unqualified versions of compatible types; one -operand is a pointer to an object or incomplete type and the other is a -pointer to a qualified or unqualified version of void; or one operand is -a pointer and the other is a null pointer constant. -3.3.9(21) -Unacceptable operand of &. -Each of the operands shall have integral type. -3.3.10(7) -Unacceptable operand of ^. -Each of the operands shall have integral type. -3.3.11(18) -Unacceptable operand of |. -Each of the operands shall have integral type. -3.3.12(30) -Unacceptable operand of &&. -Each of the operands shall have scalar type. -3.3.13(7) -Unacceptable operand of ||. -Each of the operands shall have scalar type. -3.3.14(20) -Unacceptable operand of conditional operator. -The first operand of conditional operator shall have scalar type. One -of the following shall hold for the second and third operands: -both operands have arithmetic type; both operands have compatible -structure or union types; both operands have void type; both operands -are pointers to qualified or unqualified versions of compatible types; -one operand is a pointer and the other is a null pointer constant; or -one operand is pointer to an object or incomplete type and the other -is a pointer to a qualified or unqualified version of void. -3.3.15 -Duplicate label '%s' -A label name can only occur once in a function. -3.1.2.1(25) -Division by zero. -3.3.5 -Subscripting a non-array. -3.3.2.1 -Subscripting an array of incomplete type which is not an object type. -The element of the array shall have an object type. -3.3.2.1 -Should only subscript an array with an integral expression -3.3.2.1 -Subscripting an unbounded array -3.3.2.1 -Array index out of range -3.3.2.1 -Selector requires struct/union pointer as left hand side -In K&R mode the expression is implicitly converted to the '.' selector -for a struct/union left-hand side. -3.3.2.3 -Selector requires struct/union as left hand side -In K&R mode the expression is implicitly converted to the '->' selector -for a struct/union pointer left-hand side. -3.3.2.3 -member of structure or union required -3.3.2.3 -types have different qualifier specifications -For two qualified types to be compatible, both shall have the -identically qualified version of a compatible type; qualified -and unqualified versions of a type are distinct types. For two -types to be compatible their types must be the same. -3.5.3(26) -Incompatible array type due to different array size -For two array types to be compatible, both shall have compatible element -types; if both size specifiers are present, they shall have the -same value. -3.5.4.2(11) -Incompatible array type due to incompatible element type -For two array types to be compatible, both shall have compatible element -types. -3.5.4.2(11) -Incompatible pointer type assignment -The type pointed to by the left-hand side of simple assignment -statement is incompatible with the type pointed to by the right-hand side. -3.3.16.1, 3.5.4.1(21) -Incompatible base type of pointer type -K&R feature. -Type %s of %s is incompatible with type %s of %s -Incompatible types can be resolved by casting or by other means. -3.3.16.1 -illegal combination of pointer and integer -Assigning an integral expression to a pointer is a bad practice. -Type for %s is incompatible with %s -Incompatible types can be resolved by casting or by other means. -3.1.2.6 -Bad operand type for += or -= -3.3.16.2(26) -A case or default label appears outside a switch statement -A case or default label shall appear only in a switch statement. -3.6.1 -The controlling expression of the if statement is not scalar type -The controlling expression of an if statement shall have scalar type. -3.6.4.1 -The controlling expression of switch statement is not integral type -The controlling expression of an switch statement shall have integral type. -3.6.4.2(20) -The case label is not an integral constant expression -The case label shall be an integral constant expression. -3.6.4.2(22) -Duplicate case label in the same switch statement -No two of the case constant expressions in the same switch statement -shall have the same value after conversion. -3.6.4.2(22) -More than one default label in the same switch statement -There may be at most one default label in a switch statement. -3.6.4.2(23) -The controlling expression of the iteration statement is not scalar -type -The controlling expression of a iteration statement shall have scalar -type. -3.6.5.1 -label '%s' used, but not defined -The identifier in a goto statement shall name a label located -somewhere in the enclosing function. -3.6.6.1 -A continue statement shall appear only in or as a loop body -3.6.6.2 -A break statement shall appear only in or as a switch body or loop body -3.6.6.3 -A return statement with an expression should not appear -in a function '%s', whose return type is void -3.6.6.4(24) -A return statement without an expression appears in a -function '%s', whose return type is not void -If a return statement without an expression is executed, and the value -of the function call is used by the caller, the behavior is undefined. -3.6.6.4(33) -Internal Error: statement stack underflow -Long double not supported; double assumed. -Long float not standard; double assumed. -Only 'register' allowed in parameter declaration -The only storage-class specifier that shall occur in a parameter -declaration is 'register'; illegal storage class ignored. -3.5.4.3(25) -Name(s) without types in a function declaration -An old-style function declaration is not allowed to have names -in the parameter list; useless names ignored -3.5.4.3(26) -Functions cannot return functions -3.7.1(33), 3.3.2.2 -Functions cannot return a non-object type -3.3.2.2 -enum declaration must contain enum literals -Although structs or unions may delay the declaration of their members, -a similar construction with enum does not exist and is not necessary, -as there can be no mutual dependencies between the declaration of an -enumerated type and any other type. -3.5.2.3(27) -Register qualification has no effect for this type of object -Register declarations for array, struct, and function types have -no effect. -3.5.1(16), 3.5.1(19) -Functions cannot be declared 'register' -The declaration of an identifier for a function that has block -scope shall have no explicit storage-class specifier other than -'extern'. -3.5.1(19) -'%s' cannot be initialized -The type of the entity to be initialized shall be an object type -or an array of unknown size. -3.5.7(32) -Cannot initialize 'extern' variable '%s' within a function -If the declaration of an identifier has block scope, and the -identifier has 'extern' or 'static' linkage, the declaration -shall have no initializer for the identifier; initialization -allowed anyway. -3.5.7(35) -initializing an 'extern' is an ANSI C extension -conflicting declarations for '%s' -'static' and 'extern' declarations conflict. Which is meant? -3.1.2.2(15), 3.1.2.2(27) -Too many initial values for '%s' -3.5.7(1) -incompatible types in initialization -3.3.16(35) -redefinition of '%s'; previous definition at line %s in file '%s' -Identifier redeclared in the same scope/block. -3.1.2.3 -bit-fields as members of a union are an ANSI C invention. -storage size for '%s' isn't known -type mismatch in initialization -Missing braces in a union initialization or illegally formed -initialization. -3.5.7(5) -union '%s' only allowed one initializer for the first member -3.5.7(5) -width of '%s' exceeds its type -the specified bitfield width is too large to be contained within a -bitfield type. -structure has no member named '%s' -This is allowed for compatibility with AT&T pcc-based compilers. -Reference of an expression of void type or an incomplete type. -3.2.2.1 -element size of an array shall not be zero -3.2.2.5(25) -invalid combination of type specifiers -Although order is unimportant, not all type specifiers can occur together. -3.5.2 -declaration must at least declare an identifier, tag, or the member of an enumeration -3.5(16) -at most one storage class may be given in the declaration -Duplicate occurrence ignored. -3.5.1(10) -size of function's return type is zero -The return type of a function must be void or an object type other than array. -3.7.1(33) -Expecting an integral return type from the main function -identifier missing from parameter declaration -Prototypes for function definitions require identifiers in parameter -declarations. -3.7.1(4) -only 'register' allowed for storage class for parameters -The declarations in the declaration list shall contain no storage class -other than 'register', and no initializations. -3.7.1(10) -parameters declarations can not have initializations -3.7.1(10) -only one instance of 'void' allowed in the parameter list -'void' must occur by itself (specifying that the function has no parameters). -3.5.4.3(1) -%s must have function type -1) An argument list must be explicitly present in the declarator; it cannot - be inherited from a typedef (3.5.4.3). -2) The declarator is not a function. -3.7.1(30) -Illegal hexadecimal constant -You have no digits after the 0x or 0X. 0x0 assumed. -3.1.3.2 -value overflows its type in this context. Value is set to be '%s'! -3.2.1.4 -value is outside range representable for type '%s' -missing member name -K&R mode permits a missing member name; otherwise, only bitfields can omit -the member name. -3.5.2.1(10) -useless keyword or type name in declaration -Type was ignored. -'%s' declared within and is limited to this function prototype -Possible program error, since parameter type checking will always fail -unless the type declaration is visible to the caller. -3.1.2.1(35) -Extra spaces within operator, %s assumed -In ANSI C, the compound assignment operator cannot have embedded -white space characters. -3.1.5 -missing size for array '%s' -Incomplete types permitted for identifiers with internal or -external linkage, but not automatic linkage. -3.1.2.5(10) -can't jump into (from outside of) the body of a 'try' or into either type of handler -'%s' missing, please #include excpt.h -excpt.h required to declare exception statements, intrinsics or compiler -runtime names. -local function declarations cannot be 'static' -A function declaration can only contain the storage-class 'static' -if it is at file scope. Declaration made 'extern'. -3.5.1(19) -static function '%s' declared and referenced, but not defined. -If an identifier declared with internal linkage is used in an -expression (other than as a part of the operand of a sizeof -operator), there shall be exactly one external definition for -the identifier in the translation unit. -3.7(12) -pragma argument '%s' must be declared prior to being used in a pragma -Pragma name ignored. -Pragma not supported -'%s' not enabled as intrinsic -It may have already appeared in a function pragma, or never occurred in -an intrinsic pragma. -'%s' is already enabled as an intrinsic -weak definition for '%s' is later redefined; pragma weak ignored. -definition of primary name '%s' not found; pragma weak ignored. -definition of secondary name '%s' not found; pragma weak ignored. -primary name '%s' is declared as a common or external, and is not defined -with initial value within this file; pragma weak ignored. -useless '%s' storage class ignored -array of functions not allowed -The element type must be an object type representing a region -of data storage which can represent values. -3.1.2.5(23) -array of voids not allowed -The element type must be an object type representing a region -of data storage which can represent values. -3.1.2.5(23) -argument for pragma pack must be an integer constant; pragma ignored -'%s' has wrong tag type. -Identifier redeclared in the same scope/block. -3.1.2.3 -missing dimension bound -For multidimensional arrays, the constant bounds of the array may be -omitted only for the first member of the sequence. -3.1.2.5(23) -Internal error in parameters to function substr; loc: '%s'; len: '%s'. -Internal error in parameters to function insertstr; indx: '%s'. -Internal error in function get_tag_name; input is a non-tagged type. -Internal error in function gen_type_str -- not a type tree '%s' -Cannot open file '%s' -Prototype should be moved after tag or a typedef declaration. -Please look for comments in the extracted header file. -The extracted header file includes prototypes for static functions, -which should be removed, if you wish to include the header in a source file -other than the originator. -ANSI C requires formal parameter before "..." -This extension is meant to be used for compatibility with varargs.h -3.5.4.3(35) -syntax error: "&..." invalid -extension used to access "..." formal arguments. -function '%s' initialized like a variable -The type of entity to be initialized shall be an object type or an -array of unknown size. -3.5.7(31) -initializer not an array aggregate -The initializer for an object that has aggregate type shall be a -brace-enclosed list of initializers for the members of the aggregate, -written in increasing subscript or member order. -3.5.7(20) -'%s' type is incomplete; cannot initialize -Was the struct ever defined? -3.5.7.(31) -'%s' is not standard ANSI. -This keyword/type is not defined in strict ANSI mode. -3.1.1 -not a legal asm string -The first operand of an asm string should be, after argument substitution, -a legal assembly string. -The -float option will be ignored in ANSI mode. -The -float option is ignored, since otherwise program semantics would -violate the ANSI standard. In particular, fp constants are always -'double' with ANSI-C, while with -float the type of fp constants will -depend on the context and may be 'float'. -ANSI C support unavailable with C compiler bundled with RISC/os -The C compiler bundled with RISC/os does not support ANSI C. ANSI -C support requires a separate license. -Ignored invalid warning number(s) in -woff option, %s%s ! -Warning numbers must be in the range %s to %s. -The set of warning numbers in cfe is disjoint from the set of warning numbers -in accom, since accom warnings cannot be mapped one-to-one to cfe warnings. -'%s' not handled as an intrinsic due to incompatible argument types . -'__unalign' only qualifies pointers -'__unalign' indicates the object pointed at by pointer is unaligned (e.g., -int * __unalign p). This is an extension to ANSI C and like 'volatile' -and 'const' can follow the '*' in pointer declarations, but unlike both -cannot qualify a base type. -index expression is an anachronism -ANSI C++ doesn't support array index expressions in delete. -5.3.4 -member cannot be of function or incomplete type. -3.5.2.1(12) -Illegal lint option, '%s', is ignored. -cannot open header message buffer file -cannot write header message buffer file -cannot read header message buffer file -cannot seek in header message buffer file -struct/union/enum '%s' is used, but not defined -static '%s' unused -nonportable character comparison (chars may be signed or unsigned) -redundant comparison of unsigned with constant expression -redundant statement, control flow cannot reach this statement -'%s' may be used before set -function parameter '%s' is not used in function '%s' -'%s' can be const qualified, since it is not set within its lifetime. -'%s' is not used in function '%s' -'%s' set but unused in function '%s' -control may fall through %s statement -function '%s' has return(e); and return; -function '%s' may return random value to place of invocation %s -label without goto: '%s' -width of %s constant is smaller than size of type (%s) -explicit conversion from '%s' to '%s' %s -implicit conversion from '%s' to '%s' %s -'%s' may be indistinguishable from '%s' due to internal name truncation -Promoted formal parameter and promoted argument have incompatible types -No prototype for the definition of '%s' %s -References to '%s' are substituted by its literal initializer - (as included in %s) -============== -unsupported language linkage -string-literal specifies an unsupported linkage -7.4(1) -No prototype for the call to %s -To achieve better type-checking, there should be a full prototype for -the function being called. -3.5.4.3 -'inline' only applies to function declarations -leave statment can occur only within try body -Microsoft extension -Use of a Microsoft extension detected without usage of the -compiler option -msft. -No parameter mentioned -A file with no declarations or definitions is accepted as an extension to ANSI C -The translation unit must contain at least one external definition. -3.7 -Incompatible signed and unsigned version of a type -Yacc initialization error -Internal error: yacc cannot initialize itself. -The cfe option %s may not be in future releases. We suggest that you not use this option! -Incompatible char and unsigned char versions of a type -Lshift with undefined behaviour. -Lshift with a negative right operand, or a right operand that is greater -than or equal to the width in bits of the promoted left operand, results -in undefined behaviour. -3.3.7(11) -useless type name in declaration, possibly a semicolon is missing. -Type was ignored. -constant initializer expression is invalid (refers to automatic variables). -All the expressions in an initializer for an object that has static storage -duration or in the initializer list for an object that has aggregate or -union type shall be constant expressions. Otherwise, unexpected results -may occur. -3.5.7(32) and 3.4 -invalid explicit or implicit conversion of an address constant to an integral value in a constant initializing expression. -An address constant in a constant initializing expression can neither -initialize a bit-field nor be directly or indirectly converted to an -integral type of size different from an address type. -6.4 diff --git a/tools/irix/root/usr/lib/libc.so.1 b/tools/irix/root/usr/lib/libc.so.1 deleted file mode 100644 index 17495ef..0000000 Binary files a/tools/irix/root/usr/lib/libc.so.1 and /dev/null differ diff --git a/tools/irix/root/usr/lib/libexc.so b/tools/irix/root/usr/lib/libexc.so deleted file mode 100644 index 209c536..0000000 Binary files a/tools/irix/root/usr/lib/libexc.so and /dev/null differ diff --git a/tools/irix/root/usr/lib/libgen.so b/tools/irix/root/usr/lib/libgen.so deleted file mode 100644 index 7b8ec7f..0000000 Binary files a/tools/irix/root/usr/lib/libgen.so and /dev/null differ diff --git a/tools/irix/root/usr/lib/libm.so b/tools/irix/root/usr/lib/libm.so deleted file mode 100644 index 05bf478..0000000 Binary files a/tools/irix/root/usr/lib/libm.so and /dev/null differ diff --git a/tools/irix/root/usr/lib/ugen b/tools/irix/root/usr/lib/ugen deleted file mode 100755 index beb81f4..0000000 Binary files a/tools/irix/root/usr/lib/ugen and /dev/null differ diff --git a/tools/irix/root/usr/lib/ujoin b/tools/irix/root/usr/lib/ujoin deleted file mode 100755 index 23a4cbb..0000000 Binary files a/tools/irix/root/usr/lib/ujoin and /dev/null differ diff --git a/tools/irix/root/usr/lib/uld b/tools/irix/root/usr/lib/uld deleted file mode 100755 index bd182fd..0000000 Binary files a/tools/irix/root/usr/lib/uld and /dev/null differ diff --git a/tools/irix/root/usr/lib/umerge b/tools/irix/root/usr/lib/umerge deleted file mode 100755 index e8e09e6..0000000 Binary files a/tools/irix/root/usr/lib/umerge and /dev/null differ diff --git a/tools/irix/root/usr/lib/uopt b/tools/irix/root/usr/lib/uopt deleted file mode 100755 index 5451428..0000000 Binary files a/tools/irix/root/usr/lib/uopt and /dev/null differ diff --git a/tools/irix/root/usr/lib/usplit b/tools/irix/root/usr/lib/usplit deleted file mode 100755 index 112abfc..0000000 Binary files a/tools/irix/root/usr/lib/usplit and /dev/null differ diff --git a/tools/makebg.sh b/tools/makebg.sh deleted file mode 100755 index a5e3284..0000000 --- a/tools/makebg.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -echo $1 -echo $2 -cp -f $1 $2 \ No newline at end of file diff --git a/tools/n64cksum b/tools/n64cksum deleted file mode 100755 index f805527..0000000 Binary files a/tools/n64cksum and /dev/null differ diff --git a/undefined_syms.txt b/undefined_syms.txt deleted file mode 100644 index 39cbcd9..0000000 --- a/undefined_syms.txt +++ /dev/null @@ -1,97 +0,0 @@ -OS_VI_NTSC_LAN1 =2; -OS_VI_PAL_LAN1 = 16; - - -SP_MEM_ADDR_REG = 0xA4040000; -SP_DRAM_ADDR_REG = 0xA4040004; -SP_RD_LEN_REG = 0xA4040008; -SP_WR_LEN_REG = 0xA404000C; -SP_STATUS_REG = 0xA4040010; -SP_PC_REG = 0xA4080000; - -DPC_REG_BASE = 0xA4100000; -DPC_START_REG = 0xA4100000; -DPC_END_REG = 0xA4100004; -DPC_CURRENT_REG = 0xA4100008; -DPC_STATUS_REG = 0xA410000C; -DPC_CLOCK_REG = 0xA4100010; -DPC_BUFBUSY_REG = 0xA4100014; -DPC_PIPEBUSY_REG = 0xA4100018; -DPC_TMEM_REG = 0xA410001C; - -MI_INIT_MODE_REG = 0xA4300000; -MI_MODE_REG = MI_INIT_MODE_REG; -MI_VERSION_REG = 0xA4300004; -MI_INTR_REG = 0xA4300008; -MI_INTR_MASK_REG = 0xA430000C; - -VI_STATUS_REG = 0xA4400000; -VI_CONTROL_REG = 0xA4400000; -VI_ORIGIN_REG = 0xA4400004; -VI_DRAM_ADDR_REG = 0xA4400004; -VI_WIDTH_REG = 0xA4400008; -VI_H_WIDTH_REG = 0xA4400008; -VI_INTR_REG = 0xA440000C; -VI_V_INTER_REG = 0xA440000C; -VI_CURRENT_REG = 0xA4400010; -VI_V_CURRENT_LINE_REG = 0xA4400010; -VI_BURST_REG = 0xA4400014; -VI_TIMING_REG = 0xA4400014; -VI_V_SYNC_REG = 0xA4400018; -VI_H_SYNC_REG = 0xA440001C; -VI_LEAP_REG = 0xA4400020; -VI_H_SYNC_LEAP_REG = 0xA4400020; -VI_H_START_REG = 0xA4400024; -VI_H_VIDEO_REG = 0xA4400024; -VI_V_START_REG = 0xA4400028; -VI_V_VIDEO_REG = 0xA4400028; -VI_V_BURST_REG = 0xA440002C; -VI_X_SCALE_REG = 0xA4400030; -VI_Y_SCALE_REG = 0xA4400034; - -AI_LEN_REG = 0xA4500004; -AI_CONTROL_REG = 0xA4500008; -AI_STATUS_REG = 0xA450000C; -AI_DACRATE_REG = 0xA4500010; -AI_BITRATE_REG = 0xA4500014; - -PI_DRAM_ADDR_REG = 0xA4600000; -PI_CART_ADDR_REG = 0xA4600004; -PI_RD_LEN_REG = 0xA4600008; -PI_WR_LEN_REG = 0xA460000C; -PI_STATUS_REG = 0xA4600010; -PI_BSD_DOM1_LAT_REG = 0xA4600014; -PI_DOMAIN1_REG = 0xA4600014; -PI_BSD_DOM1_PWD_REG = 0xA4600018; -PI_BSD_DOM1_PGS_REG = 0xA460001C; -PI_BSD_DOM1_RLS_REG = 0xA4600020; -PI_BSD_DOM2_LAT_REG = 0xA4600024; -PI_DOMAIN2_REG = 0xA4600024; -PI_BSD_DOM2_PWD_REG = 0xA4600028; -PI_BSD_DOM2_PGS_REG = 0xA460002C; -PI_BSD_DOM2_RLS_REG = 0xA4600030; - -SI_DRAM_ADDR_REG = 0xA4800000; -SI_PIF_ADDR_RD64B_REG = 0xA4800004; -SI_PIF_ADDR_WR64B_REG = 0xA4800010; -SI_STATUS_REG = 0xA4800018; - -ASIC_STATUS = 0xA5000508; -ASIC_BM_STATUS = 0xA5000510; - - - -osTvType = 0x80000300; -osRomBase = 0x80000308; -osResetType = 0x8000030C; -osAppNMIBuffer = 0x8000031c; - - - - - - - - - -